欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 201710892764X
申请人: 广西师范大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-05-10
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于编码压缩的加密图像可逆信息隐藏方法,其特征在于,具体步骤如下:(1)确定载体数据设原始未压缩的灰度图像I的大小为H×W,I(i ,j)表示图像的像素值,0≤I(i ,j)≤255,1≤i≤H,1≤j≤W,图像像素预测区域为Ω={(i,j):3≤i≤H,3≤j≤W-1};对于像素I(i,j),若则不对I(i,j)进行预测;

若(i,j)∈Ω,则采用AGSP预测算子对像素进行预测,设当前像素I(i,j)的预测值为I'(i,j),原始像素与预测值的差值为D(i,j),则D(i,j)=I'(i,j)-I(i,j),F为非预测像素与预测差值数据组成大小为H×W的矩阵,则有:

F中非预测像素为原始图像的前两行、前两列和最后一列,设非预测像素二进制串为E0,大小为l0,则有:l0=(2×W+3×(H-2))×8=16×W+24×H-48利用Huffman编码对F中预测差值数据进行压缩,设压缩后的二进制串为E1,其长度为l1,由于原载体图像的大小为H×W×8,令:R=H×W×8-l1-l0随机生成大小为R的二进制串,将E0、E1和大小为R的二进制串重构得到图像数据G,通过秘钥seed生成大小为H×W×8伪随机二进制串C,将C中的二进制串与G中的二进制串进行异或运算得到加密图像,随机生成大小为R的二进制串加密后成为载体数据;(2)确定码表隐藏信息由于对图像进行Huffman压缩,因此需要压缩的码表才能正确恢复图像,码表由编码和其对应值两部分组成,设c={c1,c2,…,cn}为编码,编码对应值为e={e1,e2,…,en},通过对码表进行隐藏,在恢复图像时提取码表对原始图像进行恢复;由于每个编码的长度不相同,提取时需要知道每个编码的长度,因此需要隐藏每个编码的长度信息,并将这些信息转换成二进制数据进行信息隐藏;(2.1)计算编码长度隐藏信息为了能正确提取编码长度,隐藏每个编码的长度信息位数都要相同,设bi为编码ci的长度,bi的隐藏二进制串为ri,1≤i≤n,令:M1=max{b1,b2,…,bn}设M1的二进制位数为k1,则有:将bi转换为二进制串,若这些二进制串长度不足k1位,则对高位补0,使bi的二进制位长度都为k1,这样可得编码长度bi的k1位二进制隐藏信息ri;(2.2)计算编码对应值隐藏信息每个编码对应值是图像的预测差值,由于预测差值有正有负,有大有小,需确定最长的位数及正负情况,令:M2=max{|e1|,|e2|,…,|en|}将M2转化成二进制串,则该二进制串的位数为为了能正确提取编码对应值,隐藏编码二进制串的位数都要相同,且需要1位符号位,设编码对应值隐藏信息的二进制数长度为k2,则:

设pi为ei的二进制串,1≤i≤n;pi(j)为ei的第j位二进制数,1≤j≤k2,其中pi(1)为符号位,则:将|ei|转换成位二进制串,若长度不足位,则对高位补0,可得到|ei

|的二进制串{pi(2) ,pi(3) ,…,pi(k2)},通过上述方法可确定ei的k2位二进制隐藏信息pi;由编码长度、编码和对应值的二进制串可得一组编码数据{ri,ci,pi},1≤i≤n;根据上述方法可确定huffman码表中n组编码数据,设由n组编码数据得到码表隐藏信息为E2,则:E2={r1,c1,p1,r2,c2,p2,….,rn,cn,pn}令:由上可得l2位码表隐藏信息E2;(3)编码压缩的加密图像可逆信息隐藏在加密图像的载体数据中,先隐藏码表信息,然后隐藏秘密信息;在码表隐藏过程中,首先隐藏编码长度r1,然后隐藏编码c1,最后隐藏对应值p1,完成码表第1组的隐藏,这样依次隐藏n组码表数据,实现码表E2的l2位信息隐藏;码表隐藏后,剩下R-l2位空间可隐藏秘密信息,设隐藏秘密信息E3有l3位,若l3≤R-l2,则可在剩余的R-l2位中将秘密信息替换载体数据,实现对E3的隐藏,得到载密图像,最后将加密秘钥seed、k1、k2、n、l1、l2和l3作为秘钥;(4)秘密信息提取及图像恢复将载密图像转换成大小为H×W×8的二进制串,由隐藏过程可知,在二进制串中从第1位到第l0位为非预测数据E0;根据秘钥li,i=1,2,3的值,第l0+1位到l0+l1位为压缩数据E1,第l0+l1+1位到l0+l1+l2位为码表隐藏信息E2,第l0+l1+l2+1位到l0+l1+l2+l3位为隐藏的二进制秘密信息E3;在载密图像二进制串中根据li,i=1,2,3的值可分别提取E1、E2和E3;在E2中根据秘钥k1、k2、n的值依次提取n组码表数据,在码表数据的提取过程中,首先提取k1位二进制串得到r1,将其转换成十进制数得到编码长度b1,再根据编码长度提取b1位二进制串得到编码c1,最后提取k2位二进制数据可得p1,将{p1(2) ,p1(3) ,…,p1(k2)}组成的二进制串转换成十进制数|e1|,根据符号位pi(1)可得e1,由此可得到第1组码表数据c1和e1;根据上述方法可依次确定剩余n-1组码表数据{c2 ,… ,cn}和{e1 ,e2 ,… ,en},最终得到Huffman码表;通过秘钥seed对数据E0和E1解密,根据Huffman码表,对压缩数据E1解压,将E1中的二进制串转化为十进制数,得到的预测差值;根据E0确定非预测区域像素,这些像素为原始图像前两行、前两列和最后一列像素,应用AGSP算子,在预测区域按从左到右,从上到下顺序计算当前像素的预测值;通过预测差值和预测值得到原始像素值,无损恢复图像。