本发明属于可逆数据隐藏方法,具体涉及基于位面自适应分块和预测误差图的可逆数据隐藏方法。
背景技术:
1、随着科技和互联网的不断发展,数字图像作为互联网传播信息的一种重要载体,在互联网信息的互动中起到了至关重要的作用。人们依赖于互联网的同时,也面临着网络信息被截获盗取的问题。出于对传输过程中信息准确性和安全性的考虑,提出数据隐藏技术。
2、利用人类感官器官对数字信号以及图像影音中数字冗余的不敏感性,通过把附加信息嵌入其中进行传输,使得观察者无法察觉出有效信息,以解决版权保护、隐蔽通信等安全性问题。在实际应用中,有些领域例如医学、军事等对载体图像的恢复提出更高的要求,因此可逆数据隐藏技术被提出。
3、然而现有技术存在数据的嵌入率低,数据隐藏后图像不够隐蔽,算法混沌特性不够好,图像无法无损恢复的问题。因此,综合改进并有所创新的提出一套更为完善且安全性更强的可逆数据隐藏方法,是非常有必要的。
技术实现思路
1、本发明的目的是提供基于位面自适应分块和预测误差图的可逆数据隐藏方法,解决了现有可逆数据隐藏方法中存在的嵌入率较低、无法无损恢复图像的问题。
2、本发明所采用的技术方案是,基于位面自适应分块和预测误差图的可逆数据隐藏方法,用误差位置图替换原始图像进行空间压缩,将其分为k*k像素的基本块,基本块包括可嵌入块和不可嵌入块,对于图像中位置相邻近的同类型块进行组合,并将组合块分类,在误差位置图中通过加密密钥ke进行加密并嵌入辅助数据后得到加密图像ie,并对图像ie中的每个像素通过数据隐藏密钥kd进行隐藏,通过数据隐藏密钥kd无损提取秘密数据,通过加密密钥ke恢复图像。
3、本发明所采用的技术方案的特点还在于:
4、进一步的,基于位面自适应分块和预测误差图的可逆数据隐藏方法,具体按照以下步骤实施:
5、步骤1、用误差位置图替换原始图像进行空间压缩;对于一个m*n的原始灰度图像,依据中值边缘预测器med求出其预测值;对于每个像素,med预测器使用左侧像素,上侧像素,右侧像素计算预测值,用预测值减去原始值得到对应误差位置图中的误差值,生成误差位置图并进行位平面分解,进行位平面分解生成8个位平面;
6、步骤2、将步骤1得到的误差位置图分为k*k像素的基本块,这些块可以分为可嵌入块和不可嵌入块;
7、步骤3、通过对于误差位置图中位置相邻近的同类型块进行组合,节省一个基本块识别编码,自适应的将块组合为2u*2v个像素大小的组合块,并将组合块分类,识别可以进行数据嵌入的自适应块;
8、步骤4、在误差图中嵌入自适应块位置以及大小信息等辅助数据后得到图像ie,并对图像中的每个像素通过加密密钥ke进行异或xor加密;首先加密密钥ke生成与图像ie大小相同的伪随机矩阵,将随机矩阵和嵌入后的图像ie异或计算对图像进行加密;
9、步骤5、对加密图像的8个位平面中的最低有效位平面嵌入辅助数据,辅助数据包括自适应块位置以及大小信息,并将步骤1中的最低有效位平面的原始像素信息保留并和需要隐藏的秘密数据一同嵌入最高有效位平面空余空间中;从加密图ie的最高位面开始,用步骤3识别的可嵌入块,通过位替换的方式将加密后的秘密信息以及辅助数据替换掉的最低有效位平面加密原始数据直接嵌入至图像的最高有效位平面可嵌入块腾出的空余空间中;
10、步骤6、通过数据隐藏密钥kd无损提取秘密数据而不需要知道原始图像内容;识别最高有效位平面中的可嵌入块,提取最低有效位平面的图像位置信息,分离嵌入最低有效位平面原始像素信息,剩下的秘密数据与已知数据隐藏密钥kd进行异或xor就可得到完整的秘密信息;通过加密密钥ke,则可以近似或完全地恢复原始图像。
11、进一步的,步骤1中计算像素的预测值的公式如(1)所示:
12、
13、其中,x为原始像素,是第i行j列像素的预测值;
14、特别地,保留原始图像的第一个像素作为参考像素,减少图像的辅助信息和恢复错误,并且针对第一行其他像素,将其预测值记为其左侧像素的像素值;对于第一列像素,将其预测值记为其上方像素的像素值,依据公式(2)计算像素的预测误差值;
15、
16、其中,e为预测误差值;
17、对于一个像素来说,它的误差值存在三种情况,即小于0,大于0,等于0;其中误差值大于等于0时,符号位为0,反之符号位为1,对于m*n大小的灰度图像来说,它的像素取值范围为[0,255],每一个像素值都需要8个比特位进行存储,因此对于一个误差值来说,当它大于等于“128”,或者小于等于“-128”时,若保留符号位,像素值就会溢出,根据公式(3)解决溢出像素问题;
18、
19、其中,e为预测误差值。
20、进一步的,步骤2中所述基本块中可嵌入块分为连续的黑色块,连续的白色块,大部分黑色块,大部分白色块,含黑色序列块和含白色序列块;其余为不可嵌入块;
21、对分块设置一个阈值条件:只有当一个块的块内空间不足以容纳其标记码和结构信息时,它将被识别为不可嵌入块,而结构信息则是由少数像素的数量及其位置组成;为了正确识别所有基本块,设n0,n1为块中像素值为0和1的像素个数,记它们之间的最小值为m=min{n0,n1},并定义阈值na的计算公式如(4)所示:
22、
23、其中,是x个像素需要的存储比特位,是n个像素需要的存储比特位,阈值na是区分好块和坏块的一个重要参数,其表示基本块中可以由块本身k*k比特位记录的少数像素的最大数量,定义阈值nb表示块内像素的改变次数,当且仅当时nb≤2时,块内存在唯一连续并且值为1或0的连续像素序列;nb的计算公式如(5)所示:
24、
25、其中,b1b2…bn是块内像素值;
26、计算基本块的结构信息,统计可得到如下表的分类,其中块类型标记eb-i,eb-ii,eb-iii,eb-iv,eb-v,eb-vi为可嵌入块,neb为不可嵌入块;
27、 参数条件 块类型标记 块类型描述 <![cdata[m=n<sub>0</sub>=0]]> eb-i 块中所有像素均为1 <![cdata[m=n<sub>1</sub>=0]]> eb-ii 块中所有像素均为0 <![cdata[1≤m≤n<sub>a</sub>,n<sub>0</sub><n<sub>1</sub>]]> eb-iii 大部分白块 <![cdata[1≤m≤n<sub>a</sub>,n<sub>0</sub>>n<sub>1</sub>]]> eb-iv 大部分黑块 <![cdata[m>n<sub>a</sub>,n<sub>b</sub><2,b<sub>1</sub>=1]]> eb-v 含黑色序列块 <![cdata[m>n<sub>a</sub>,n<sub>b</sub><2,b<sub>1</sub>=0]]> eb-vi 含白色序列块 <![cdata[m>n<sub>a</sub>,n<sub>b</sub>>2]]> neb 不可嵌入块
28、其中n0,n1为块中像素值为0和1的像素个数,记它们之间的最小值为m=min{n0,n1}。
29、进一步的,步骤3具体为:使用gu压缩矩阵将可以组合的块自适应组合为2u*2v大小的组合块,辅助矩阵g(u,v)如公式(6)所示:
30、
31、其中,u为自适应块像素长度倍数且1≤u≤6,v为自适应块像素宽度倍数且1≤v≤6,所有自适应可以分为大小固定的块,大小不定的的块以及含有纯色序列的块,大小固定的的块只需对每种类型的块进行编码就可以唯一识别;大小不定的块除了块位置信息外,还应包含该块中少数像素数量m和位置qi的结构信息,分别占用p和比特,其计算公式如(7)和(8)所示:
32、
33、na是基本块中可以由块本身k*k个像素比特位记录的少数像素的最大数量,z是像素在块中的位置数,qi表示位置结构信息的大小;
34、纯色序列块除了块位置信息外,还需要记录该块中唯一连续序列的起始位置ss和长度ls的结构信息,其计算公式如(9)和(10)所示:
35、
36、所述n是块中像素数量。
37、进一步的,步骤4中异或加密的公式如(11)所示:
38、
39、其中,i′是图像中一个像素值,s是随机矩阵中与图像位置相同的值。
40、进一步的,步骤5中统计每个比特平面有效载荷以获得对应的嵌入量的公式如(12)所示:
41、
42、其中,c是总有有效嵌入量,ci是平面i的有效嵌入量,参数n表示可以用于数据嵌入的msb比特平面数量,其计算公式如(13)所示:
43、
44、其中argmaxt是嵌入量大的位平面数,m×n是加密图像大小。
45、本发明的有益效果是:使用med误差图技术作为秘密数据的嵌入载体扩展图片的可嵌入空间,解决了数据隐藏后图像不够隐蔽的问题;对误差图进行位平面分块,采用自适应组合技术腾出空间,以此来提升方法的嵌入率,解决了嵌入率较低的问题;使用位平面分解技术,腾出空余位置隐藏数据,解决了无法无损恢复图像的问题。