1.基于像素预测的多策略组合的可逆数据隐藏方法,其特征在于,具体按照以下步骤实施:步骤1,将灰度图像,使用MED方法预测,得到原始像素的预测误差值,并进行溢出判断,将经溢出判断的像素预测误差值转成八位二进制,得到八个位面;
步骤2,将步骤1得到的位面每个位面均分成k*k的基本块,将基本块分为全白块white_B、全黑块black_B和混色块hybrid_B三种类型;
步骤3,从高位面往低位面处理,对每个位面中由步骤2得到的单色块,使用自适应分块策略,将连续相邻的同色单色块合并为更大的长方形单色块;
步骤3的具体过程为:
步骤3.1,设定识别矩阵,将经步骤2处理的位面,位面按照从高位面至低位面,每个位面再按照从上至下,从左至右的顺序扫描k*k的基本块并对照识别矩阵,看是否可以形成与识别矩阵元组所表示大小相同的同色块区域,若形成,则对该基本块进行记录,形成组合块,若未形成,则不进行标记;
识别矩阵具体为:
;
步骤3.2,将步骤3.1得到的组合块,在左上角嵌入标签码,其他组合块内的像素均为可嵌入位;
步骤3.2中,标签码共八位,具体为:1+1/0+___+___;
其中,第一位1表示当前块为组合块的起始块,第二位1/0表示组合块颜色,“1”表示黑色,“0”表示白色,第三至第五位表示x的二进制,第六位至第八位表示y的二进制;
步骤4,将经步骤3处理时位面出现的混色块,纵向使用MED方法对当前混色块所在位置的每个像素计算预测误差值,并使用哈夫曼编码标记直到对每个位面的混色块中的每个块都处理标记完成;
步骤4的具体过程为:
步骤4.1,对位面中出现的混色块使用MED中间边缘预测方法采用公式(2)计算混色块像素p的预测误差值p^;
步骤4.2,将混色块像素p和预测误差值p^分别采用公式(4)转换为八位二进制串,得到混色块像素p的二进制串、预测误差值p^的二进制串,将混色块像素p的二进制串和预测误差值p^的二进制串从MSB到LSB开始逐位比较,设混色块像素p的二进制串及预测误差值p^的二进制串的前ε位相同,ε∈{0,1,2,3,4,5,6,7,8},则第ε+1位相反,那么当前混色块像素可以嵌入ε+1位秘密信息;
步骤5,生成八个随机矩阵,将每个随机矩阵分别与其相同大小的经步骤4中处理后的八个位面异或,得到加密后的八个位面;
步骤6,将步骤5加密后的八个位面合并为一张加密后的灰度图像发送给数据隐藏者,数据隐藏着对接收的加密后的灰度图像进行处理后发送给图像接收者,图像接收者对接收的图像进行还原,得到原始图像。
2.根据权利要求1所述的基于像素预测的多策略组合的可逆数据隐藏方法,其特征在于,步骤1的具体过程为:步骤1.1,将大小为M×N的灰度图像的第一行第一列像素作为参考像素,计算除参考像素之外的其他像素的预测值,表达式为:式(1)中,px表示像素x的像素预测值;x1表示像素x的左上方像素;x2表示像素x的上侧像素;x3表示像素x的左侧像素;
步骤1.2,根据步骤1.1得到的像素预测值,计算每个像素的预测误差值,表达式为:式(2)中,x(i,j)表示灰度图像的原始像素;i、j分别表示原始像素的横坐标和纵坐标;
e(i,j)表示原始像素的预测误差值;px(i,j)表示像素的像素预测值;
步骤1.3,对步骤1.2得到的预测误差值根据公式(3)进行溢出判断,如果像素的预测误差值大于64,或者小于‑64,则将该像素视为溢出像素,否则该像素为未溢出像素,对于溢出像素来说,将原始像素的像素值作为预测误差值进行判断,表达式为:e(i,j)=x(i,j),e(i,j)<‑64或e(i,j)>64 (3)步骤1.4,将经步骤1.3处理的溢出像素的预测误差值转成对应的八位二进制,表达式为:式(4)中,k表示位面编号,k取值从1到8,表示对应的8个位面;e(i,j)表示预测误差值;
步骤1.5,根据步骤1.3的溢出判断,对于未溢出像素来说,将单个未溢出像素转成对应的七位二进制,最高位为符号位,其余为数值位,表达式为:式(5)和(6)中,k表示位面编号;e(i,j)表示预测误差;
k i
步骤1.6,步骤1.4得到的e (i,j)和步骤1.5得到的e ,i=1,2,……,8,即为平行的八个位面,记为Bit_Plane1,Bit_Plane2,...,Bit_Plane8。
3.根据权利要求2所述的基于像素预测的多策略组合的可逆数据隐藏方法,其特征在于,步骤5的具体过程为:步骤5.1,使用matlab的随机种子产生一串大小在0到255之间的随机数,将产生的随机数转成对应的八位二进制,即由0和1组成的随机数列,产生八个M*N的随机矩阵,八个M*N的随机矩阵分别与八个位面大小相同,表达式为:式(7)中,H(i,j)表示随机矩阵;
步骤5.2,将步骤5.1产生的每个随机矩阵分别与其相同大小的经步骤4中处理后的八个位面异或,得到加密后的八个位面Encypted_Bitpane1,Encypted_Bitpane2...Encypted_Bitpane8,表达式为:k
式(8)中, 表示加密后的位面;e (i,j)表示预测误差值p^的二进制串;H(i,j)表示随机矩阵;i、j表示像素的横坐标和纵坐标。
4.根据权利要求3所述的基于像素预测的多策略组合的可逆数据隐藏方法,其特征在于,步骤6中,合成加密后的M*N灰度图像Encypted_I的表达式为:式(9)中,p(i,j)表示加密后灰度图像Encypted_I。
5.根据权利要求4所述的基于像素预测的多策略组合的可逆数据隐藏方法,其特征在于,步骤6中,对于数据隐藏者其处理过程如下:步骤I,将接收到的加密后灰度图像Encypted_I采用公式(4)转成平行的八个位面Encypted_B1,Encypted_B2...Encypted_B8;
步骤II,根据加密后灰度图像Encypted_I中标记的可嵌入秘密数据的位置,使用位置换的方式,将步骤I得到的八个位面Encypted_B1,Encypted_B2...Encypted_B8的二进制位替换为秘密数据的二进制位,得到嵌入秘密数据的八个位面Embed_Bitplane1,Embed_Bitplane2...Embed_Bitplane8;
步骤III,将步骤II得到的嵌入秘密数据的八个位面采用公式(9)合并为一张加密嵌入秘密数据处理后的M*N灰度图像Processed_I发送给图像接收者。
6.根据权利要求5所述的基于像素预测的多策略组合的可逆数据隐藏方法,其特征在于,步骤6中,对于图像接收者其处理过程如下:步骤A,将接收到的加密嵌入秘密数据处理后的灰度图像Processed_I采用公式(4)分割成平行的八个位面Processed_Bitplane1,Processed_Bitplane2...Processed_Bitplane8;
步骤B,对步骤A中分割好的八个位面从高位面往低位面扫描,根据加密嵌入秘密数据处理后的灰度图像Processed_I的嵌入秘钥,找到秘密数据所在的位置,该嵌入秘钥记录了基本块的类型,对于单色块,左上角八位为标记数据,其余位置即为秘密数据,因而便可按需提取出嵌入所有秘密数据;
步骤C,对步骤A中分割好的八个位面采用公式(8)与步骤5.1产生的八个M*N的随机矩阵分别做异或运算,得到解密后的八个位面Decrypted_Bitplane1,Decrypted_Bitplane2...Decrypted_Bitplane8,根据不同的标记识别出混色块,并分别进行还原,得到原始图像。