掌桥专利:专业的专利平台
掌桥专利
首页

一种全0行和全0列编码的密文域可逆信息隐藏方法

文献发布时间:2024-04-18 19:54:45


一种全0行和全0列编码的密文域可逆信息隐藏方法

技术领域

本发明涉及图像处理和信息安全技术,具体是一种全0行和全0列编码的密文域可逆信息隐藏方法。

背景技术

随着信息技术的飞速发展,数据安全问题也变得越来越突出。物联网技术连接千家万户,带来方便的同时也带来了对个人信息泄露的担忧;移动互联网的全民普及也让每个人都有受到网络诈骗的风险。伴随着数据安全法、个人信息保护法的发布,数据安全问题更加受到重视。

保护数据安全的技术包括加密技术、信息隐藏技术等。信息隐藏技术是指将关键信息隐藏于其它的正常载体中(如图像、声音、视频或一般的文档)、或发行或通过网络传递。信息隐藏技术可以分类为隐写术、数字水印、可逆信息隐藏等等。在信息隐藏技术研究的初始阶段,隐藏秘密信息的过程通常会对载体造成永久失真,然而这在如医学图像处理、版权保护等注重载体内容精确性的领域是不可接受的。

可逆信息隐藏技术能够在正确提取出秘密信息的同时无损恢复原始载体。可逆信息隐藏技术根据载体图像的不同又分为明文域可逆信息隐藏和密文域可逆信息隐藏。密文域可逆信息隐藏技术有效结合了图像加密技术和可逆信息隐藏技术,加密技术保护图像本身的安全,而可逆信息隐藏技术能有效保护嵌入的秘密信息的安全性,同时能够无损恢复原始图像。随着信息安全和隐私保护的需求越来越大,密文域可逆信息隐藏技术将在更多的领域得到应用和推广。

发明内容

本发明的目的是针对现有技术的不足,而提供一种全0行和全0列编码的密文域可逆信息隐藏方法。这种方法具有嵌入容量大,安全性高的优点。

实现本发明目的的技术方案是:

一种全0行和全0列编码的密文域可逆信息隐藏方法,所述方法为依据全0行和全0列编码压缩图像空间并在加密图像中嵌入秘密信息,并且在提取信息后能完全恢复原始图像,包括如下步骤:

1)位平面块全0行和全0列的编码:对原始图像按中值边缘检测方式逐像素进行预测获得预测图像,将原始图像和预测图像相减得到差值图像,差值图像块中全0和多数为0的位平面块较多,根据这个特点,对差值图像进行分块,设块的大小为s×s,每个块有8个位平面,每个位平面块的大小也是s×s,首先依据位平面块中全0行和全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×s-m×n,m个全0行分布在s行中共有

当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},

设n

特征3:设n

V=V∪{(m,n

从(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列分布在s列中的第

2)全0行和全0列编码的位平面块压缩空间计算:要实现对位平面压缩,首先要确定位平面的类型,使压缩容量最大,由于V中的类型是按压缩容量S(m

根据步骤1-1)、步骤1-2)获得的数据对位平面块进行压缩,压缩后的位平面块数据包括三个部分:

(2-1)位平面块类型编码,长度为t(m

(2-2)m

(2-3)未压缩部分,长度为L,压缩后的位平面块数据长度p如下:

大小为s×s的(m

C(m

如果C(m

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

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

3-2)对每个差值图像块,从第7个位平面B

3-3)统计所有位平面类型的频数并进行哈夫曼编码,根据类型计算位平面的压缩空间C(m

3-4)根据V和其对应的类型码表D

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

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

3-7)发送方与接收方事先约定好k

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

3-8)秘密信息提取和图像恢复过程为:在图像的最高位平面左上角按光栅扫描顺序读取长度为k

这种方法具有嵌入容量大,安全性高的优点。

附图说明

图1为实施例中的类型为(4,4)的位平面块及其压缩后结果图;

图2为实施例中的类型为(3,3)的位平面块及其压缩后结果图;

图3为实施例中的类型为(3,0)的位平面块及其压缩后结果图;

图4为实施例中的类型为(0,3)的位平面块及其压缩后结果图;

图5为实施例中的类型为(2,2)的位平面块及其压缩后结果图;

图6为实施例中的类型为(2,0)的位平面块及其压缩后结果图;

图7为实施例中的类型为(0,2)的位平面块及其压缩后结果图。

具体实施方式

下面结合附图实施例对本发明的内容做进一步的阐述,但不是对本发明的限定。

实施例:

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

1)位平面块全0行和全0列的编码:对原始图像按中值边缘检测方式逐像素进行预测获得预测图像,将原始图像和预测图像相减得到差值图像,差值图像块中全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×s-m×n,m个全0行分布在s行中共有

当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},

设n

特征3:设n

V=V∪{(m,n

从(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列分布在s列中的第

2)全0行和全0列编码的位平面块压缩空间计算:要实现对位平面压缩,首先要确定位平面的类型,使压缩容量最大,由于V中的类型是按压缩容量S(m

根据步骤1-1)、步骤1-2)获得的数据对位平面块进行压缩,压缩后的位平面块数据包括三个部分:

(2-1)位平面块类型编码,长度为t(m

(2-2)m

(2-3)未压缩部分,长度为L,压缩后的位平面块数据长度p如下:

大小为s×s的(m

C(m

如果C(m

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

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

3-2)对每个差值图像块,从第7个位平面B

3-3)统计所有位平面类型的频数并进行哈夫曼编码,根据类型计算位平面的压缩空间C(m

3-4)根据V和其对应的类型码表D

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

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

3-7)发送方与接收方事先约定好k

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

3-8)秘密信息提取和图像恢复过程为:在图像的最高位平面左上角按光栅扫描顺序读取长度为k

实验例:

本例以Lena图中大小为4×4的可压缩位平面块为例:

位平面块图1左图中有4个全0行,4个全0列,其位平面块类型为(4,4),对应的哈夫曼编码为[00111],编码压缩后的结果如图1中右图所示,压缩数据以外的11个0可以用于嵌入秘密信息;

位平面块图2左图中有3个全0行,3个全0列,其位平面块类型为(3,3),对应的哈夫曼编码为[10],全0行为第1、2、4行,全0列为第1、2、4列,对应的位置编码分别为[10]和[10],编码压缩后的结果如图2中右图所示,压缩数据以外的10个0可以用于嵌入秘密信息;

位平面块图3左图中有3个全0行,1个全0列,其位平面块类型为(3,0),对应的哈夫曼编码为[00110],全0行为第1、3、4行,对应的位置编码为[01],全0行以外部分保持顺序不变,编码压缩后的结果如图3中右图所示,压缩数据以外的5个0可以用于嵌入秘密信息;

位平面块图4左图中有2个全0行,3个全0列,其位平面块类型为(0,3),对应的哈夫曼编码为[0010],全0列为第1、2、3列,对应的位置编码为[11],全0列以外部分保持顺序不变,编码压缩后的结果如图4中右图所示,压缩数据以外的6个0可以用于嵌入秘密信息;

位平面块图5左图中有2个全0行,2个全0列,其位平面块类型为(2,2),对应的类型编码为[01],全0行为第3、4行,全0列为第2、3列,对应的位置编码分别为[011]和[001],全0行和全0列以外部分保持顺序不变,编码压缩后的结果如图5中右图所示,压缩数据以外的4个0可以用于嵌入秘密信息;

位平面块图6左图中有2个全0行,1个全0列,其位平面块类型为(2,0),对应的哈夫曼编码为[000],全0行为第3、4行,对应的位置编码为[011],全0行以外部分保持顺序不变,编码压缩后的结果如图6中右图所示,压缩数据以外的2个0可以用于嵌入秘密信息;

位平面块图7左图中有0个全0行,2个全0列,其位平面块类型为(0,2),对应的哈夫曼编码为[11],全0列为第2、3列,对应的位置编码为[001],全0列以外部分保持顺序不变,编码压缩后的结果如图7中右图所示,压缩数据以外的3个0可以用于嵌入秘密信息。

相关技术
  • 一种可逆可分离的密文域信息隐藏方法及系统
  • 一种基于纠错冗余的密文域可逆信息隐藏方法
技术分类

06120116381332