利索能及
我要发布
收藏
专利号: 202310412974X
申请人: 广西师范大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-09-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种全0行和全0列编码的密文域可逆信息隐藏方法,其特征在于,包括如下步骤:

1)位平面块全0行和全0列的编码:对原始图像按中值边缘检测方式逐像素进行预测获得预测图像,将原始图像和预测图像相减得到差值图像,对差值图像进行分块,设块的大小为s×s,每个块有8个位平面,每个位平面块的大小也是s×s,首先依据位平面块中全0行和全0列的个数确定位平面块的类型,得到类型编码,然后依据全0行和全0列的分布情况确定位置编码,位平面块全0行和全0列的编码为:位平面块类型编码[全0行和全0列的位置编码],

其中,[]中的部分表示可能缺省,具体为:

1-1)位平面块类型及编码:针对大小为s×s的位平面块,根据块内全0行和列的数量进行分类,共存在s×s+1种类型,设可压缩块的全0行和全0列组成的集合为V,V中的元素为(m,n),其中m表示全0行数,n为全0列数,如果(m,n)∈V,则全0的m行和全0的n列是可压缩的,显然全0的n行和全0的m列也是可压缩的,从而有如下对称特征:特征1:如果(m,n)∈V,则(n,m)∈V,令V初始状态为空集,当m=s时,该块为全0块,(s,s)∈V,因而有:V=V∪{(s,s)},

在大小为s×s位平面块中,若有m个全0行和n个全0列,这些行列中0的个数为m×s+n×m ms-m×n,m个全0行分布在s行中共有Cs种情况,若采用定长编码,Cs 种情况需要编码长度为n个全0列需要 设m个全0行n个全0列的位平面块压缩空间为S(m,n),则有:

当n=0时,由于块的大小为s×s,对非全0块,则m的最大值为s-1,最小值为0,而m=0时无法压缩,因此只限定m的最小值为1的情况,对位平面块压缩空间S(m,0)有:特征2:设s≥2,则有S(m+1,0)>S(m,0),

证明:

因为s≥2,所以有:S(m+1,0)-S(m,0)>0,显然(m+1,0)类型的位平面块一定是(m,0)类型的位平面块,反之不成立,而根据特征2有S(m+1,0)>S(m,0),因此(m+1,0)和(m,0)是两个不同类型的位平面块,因而有:V=V∪{(m,0)|m=1,2,3,...,s-1},

设n2>n1≥0,显然(m,n2)类型的位平面块一定属于(m,n1),如果(m,n2)类型压缩所得空间小于等于(m,n1)类型压缩所得空间,则把(m,n2)类型并入(m,n1),从而有:特征3:设n2>n1≥0,(m,n1)∈V,若S(m,n2)>S(m,n1),则:V=V∪{(m,n2)},否则

从(m,0)开始,根据特征3得m个全0行的所有类型,对大小为s×s的位平面块,全0块是被压缩的,因此(s,s)∈V,然后依据特征1、特征2和特征3构造集合V,过程如下:

1-1-1):V={(s,s)};

1-1-2):根据特征2,有V=V∪{(m,0)|m=1,2,3,...,s-1};

1-1-3):m=s-1,k=0;

1-1-4):n=1;

1-1-5):如果S(m,n)>S(m,k),根据特征3,则V=V∪{(m,n)},k=n;

1-1-6):如果n

1-1-7):如果m>1,则m=m-1,k=0,转到步骤1-1-4);

1-1-8):m=0;

1-1-9):n=m+1;

1-1-10):如果(n,m)∈V,根据特征1,则V=V∪{(m,n)};

1-1-11):如果n

1-1-12):如果m

1-2)全0行和全0列的位置编码:若采用定长编码,m个全0行分布在s行中的 种情况需要编码长度为 n个全0列需要 ,采用所有节点度为0或2的完全二叉树对行列位置进行编码,对m个全0行分布的 种情况,设完全二叉树的叶子节点数为 从上到下从左到右,按广度优先方式遍历完全二叉树,从1开始按遍历顺序对叶子节点进行编号,结果为1,2,3,…, 第i个叶子节点对应m个全0行分布在s行中的第i种情况,令完全二叉树左子树编码为0,右子树编码为1,从根节点开始按深度优先方式遍历叶子节点,得叶子节点编码,即得m个全0行分布在s行中的编码,总数为 同理得n个全0列分布在s行中的编码,总数为 完全二叉树的高度 当 时, 个叶子节点全部在二叉树的第h层,则对应的编码长度都为h-1;当 时,有 个叶子节点在第h-1层,对应的编码长度为h-2,而剩下的叶子结点在第h层,编码长度为h-1,设m个全0行分布在s行中的第 种情况编码长度为lm,i,则:同理,得n个全0列分布在s列中的第 种情况编码长度ln,j,从而得m个全0行和n个全0列的位置编码及对应的码长;

2)全0行和全0列编码的位平面块压缩空间计算:要实现对位平面压缩,首先要确定位平面的类型,由于V中的类型是按压缩容量S(mv,nv)从大到小进行排序,按顺序找到第1个满足条件的类型即可,统计位平面块全0行数m和全0列数n,若V中存在类型(mv,nv)使则位平面的类型为(mv,nv),其中v取最小值,若不存在v使 则该位平面块不可压缩,获得位平面的类型(mv,nv)及其类型编码后,依据位平面中从上到下前mv个全0行的分布情况获得全0行的位置编码,依据从左到右前nv个全0列的分布情况获得全0列的位置编码,剩余行、列视作未压缩部分,按照光栅扫描的顺序记录mv个全0行,nv个全0列以外的未压缩部分,设未压缩部分的长度为L,根据全0行列的数量mv和nv,当 时,块内只有一个1、其位置已由全0行和全0列的位置编码确定,因此:根据步骤1-1)、步骤1-2)获得的数据对位平面块进行压缩,压缩后的位平面块数据包括三个部分:(2-1)位平面块类型编码,长度为t(mv,nv);

(2-2)mv个全0行第i种情况的位置编码,长度为 以及nv个全0列第j种情况的位置编码,长度为(2-3)未压缩部分,长度为L,压缩后的位平面块数据长度p如下:

大小为s×s的(mv,nv)类型位平面块能压缩出的空间C(mv,nv)如下:C(mv,nv)=s×s-p,

如果C(mv,nv)>0,则该位平面块可以压缩,若C(mv,nv)≤0则该位平面块不可压缩,若某位平面块类型所有的块都不能压缩,则将该类型从V中删除,完成基于全0行和全0列编码的位平面块压缩;

3)全0行和全0列编码的可逆信息隐藏:差值图像最高位平面作为符号位平面不进行压缩,对剩下的7个位平面进行压缩实现可逆信息隐藏,具体步骤如下:

3-1)将差值图像分为大小为s×s的不重叠块,依据步骤1)中的特征1、特征2和特征3得类型集合V;

3-2)对每个差值图像块,从第7个位平面B7开始,从高到低统计位平面内全0行数m与全0列数n,结合集合V中确定的对应类型,若该位平面不属于V中的类型,则从该位平面起到最低位平面B1均不进行压缩;

3-3)统计所有位平面类型的频数并进行哈夫曼编码,根据类型计算位平面的压缩空间C(mv,nv),若某类型所有的位平面都不能压缩,则将该类型从V中删去,得到最终的V和其对应的类型码表D1;

3-4)根据V和其对应的类型码表D1,从B7开始计算每个差值图像块连续可压缩的位平面数h和压缩容量,统计所有块h的分布,进行哈夫曼编码得到码表D2,按照光栅扫描顺序记录所有块h的编码,得到seq;

3-5)对每个差值图像块的连续可压缩位平面进行压缩,得到压缩空间,这些空间用于嵌入秘密信息,依据步骤2)记录压缩数据和压缩空间的位置;

3-6)对差值图像进行加密即采用图像加密密钥生成一个与差值图像尺寸相同的伪随机图像,将差值图像与伪随机图像所有位置对应的像素按位异或完成加密;

3-7)发送方与接收方事先约定好k1,k2,k3的值即分别用长度为k1,k2,k3的二进制序列L1,L2,L3记录D1,D2,seq的长度,从加密图像最高位平面的左上角开始按照光栅扫描顺序用L1,L2,L3,D1,D2,seq替换,替换下来的序列记录为aux,长度为k1+k2+k3+L1+L2+L3;

3-7)按顺序将aux和待嵌入的秘密信息嵌入步骤3-5)记录的压缩空间中;

3-8)秘密信息提取和图像恢复过程为:在图像的最高位平面左上角按光栅扫描顺序读取长度为k1,k2,k3的序列L1,L2,L3,获得D1,D2,seq的长度,然后按光栅扫描顺序继续读取长度为L1,L2的序列D1,D2获得类型编码的码表和可压缩位平面高度h的码表,继续读取长度为的L3序列seq获得每个块可压缩位平面高度h,获得以上信息后,根据图像加密密钥生成的伪随机图像与原始图像按位异或解密图像,其中,对每个块,从第7位平面的左上角开始,首先根据D1读取原始第7位平面的类型编码获得其类型(mv,nv),然后根据事先约定的码表读取原始第7位平面全0行和全0列的位置编码,从而计算出原始第7位平面未压缩部分的长度,然后计算出压缩出的空间C(mv,nv),则位平面末尾长度为C(mv,nv)是嵌入的秘密信息,同理,对块内h个位平面组合后获得每个块嵌入的秘密信息,按照光栅扫描顺序组合所有块中提取的秘密信息,其中开头部分长度为k1+k2+k3+L1+L2+L3的序列是替换下来的最高位平面原始序列aux,将其还原到最高位平面,剩余部分的信息先用图像加密密钥解密,然后用信息隐藏密钥解密,从而获得原始秘密信息。