[发明专利]一种基于双层嵌入的高嵌入率的可逆数据隐藏方法有效
申请号: | 202210449286.6 | 申请日: | 2022-04-24 |
公开(公告)号: | CN114760391B | 公开(公告)日: | 2023-07-25 |
发明(设计)人: | 张顺;孙健;吴福虎;崔小娟;乔哲雨;李佳豪 | 申请(专利权)人: | 安徽大学绿色产业创新研究院 |
主分类号: | H04N1/32 | 分类号: | H04N1/32 |
代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 陆丽莉;何梅生 |
地址: | 230000 安徽省合肥*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 双层 嵌入 可逆 数据 隐藏 方法 | ||
1.一种基于双层嵌入的高嵌入率的可逆数据隐藏方法,其特征是按如下步骤进行:
步骤1、分解图像位平面:
获取一张长×宽为h×w的灰度图像I,并利用式(1)计算灰度图像I中的第i行第j列的像素点的位面值Pi,j:
Pi,j=Hi,j+li,j (1)
式(1)中,Hi,j表示像素点的位面值Pi,j的第i行第j列的高位面像素点,并由式(2)得到,li,j表示像素点的位面值Pi,j中第i行第j列的像素点的低位面值,并由式(3)得到,由所有像素点的低位面值构成灰度图像I中的ILSB平面,i∈[1,h],j∈[1,w];
式(2)和式(3)中,ci,j,k表示第i行第j列的像素点转换为八位二进制后的第k个二进制的值,n表示二进制的分割位置;
利用式(4)计算得到灰度图像I中第i行第j列的高位面像素点的高位面值hi,j,并由所有像素点的高位面值构成灰度图像I中的IHSB平面;
hi,j=Hi,j/2n (4)
步骤2、溢出像素处理并建立位置图:
设置两个最大阈值tmax1,tmax2和两个最小阈值tmin1,tmin2,且tmax1tmax2,tmin1tmin2;
若hi,j等于tmax1或tmin1,则对高位面值hi,j所对应的像素点进行标记,并设定标记值为“2”,再将hi,j减2,得到处理后的高位面值h′i,j;
若hi,j等于tmax2或tmin2,则对高位面值hi,j所对应的像素点进行标记,并设定标记值为“1”,再将hi,j减1,得到处理后的高位面值h′i,j;
若hi,j大于tmin2或小于tmax2,则对高位面值hi,j所对应的像素点进行标记,并设定标记值为“0”,令h′i,j=hi,j;
由所有处理后的高位面值构成I′HSB平面,由所有标记值构成位置图序列记为LM;
步骤3、图像中可逆数据隐藏:
步骤3.1、将灰度图像I的I′HSB平面除第一行像素点r1、第一列像素点c1以及最后一行rh、最后一列cw以外的其余像素点划分为棋盘格;
步骤3.2、将所述位置图序列LM进行无损压缩,得到压缩后的位置图CLM,将所述压缩后的位置图CLM的长度记为LCLM;
步骤3.3、随机生成取值为“0”或“1”的伪随机序列并作为秘密数据S,令所述秘密数据S的长度为s;
步骤3.4、预提取出I′HSB平面中第一行像素点r1中每个像素点的六位二进制值的最后一位进行保存,得到长度为l的序列并将所述序列与压缩后的位置图CLM添加到秘密数据S的尾端,从而得到新秘密数据S′;
步骤3.5、按照从左到右,从上到下的顺序读取棋盘格中的各个像素点:
步骤3.5.1、初始化i=2;j=2;取所述秘密数据S′中部分数据作为部分秘密数据So,o∈[1,s+CLM+l];
步骤3.5.2、将处理后的高位面值h′i,j周围的8个像素值升序排列,并计算排序后的像素值中前六个像素值的均值的取整记为预测值p1;计算排序后的像素值中后六个像素值的均值的取整记为预测值p2;
步骤3.5.3、将h′i,j和p1做差值后得到预测误差e1;当预测误差e1=1或0时,将部分秘密数据So嵌入处理后的高位面值h′i,j中得到新的高位面值h″i,j;
步骤3.5.4、将h″i,j和p2值作差,得到新的预测误差值e2;当预测误差e2=1或0时,将部分秘密数据So嵌入新的高位面值h″i,j中得到最终的高位面值h″i,j;
步骤3.5.5、令j+2赋值给j,并重复步骤3.5.2到步骤3.5.4,且当j递增为w-2时,令i+2赋值i,j=2后,返回步骤3.5.2顺序执行,直到i=h-2,j=w-2;
步骤3.5.6、令i=3,j=3,按照步骤3.5.2到3.5.4的过程进行处理后,令j+2赋值给j,且当j递增为w-1时,令i+2赋值i,j=3后,返回步骤3.5.2顺序执行,直到i=h-1且j=w-1为止,从而完成第一轮高位面值处理;
步骤3.5.7、令i=2,j=3,按照步骤3.5.2到3.5.4的过程进行处理后,令j+2赋值给j,且当j递增为w-1时,令i+2赋值i,j=3后,返回步骤3.5.2顺序执行,直到i=h-2且j=w-1;
步骤3.5.8、令i=3,j=2,按照步骤3.5.2到3.5.4的过程进行处理后,令j+2赋值给j,且当j递增为w-2时,令i+2赋值i,j=2后,返回步骤3.5.2顺序执行,直到i=h-1且j=w-2,为止,从而完成第二轮高位面值处理;并得到处理完的高位面记为I″HSB;
步骤3.6、将处理完的高位面记为I″HSB中携带部分秘密数据So的最后一位的高位面值所对应的像素点位置记为
步骤3.7、将由十进制转换为二进制序列,并与LCLM所转换的二进制序列一起替换第一行像素点r1中所提取的序列所在位置的每个像素点所对应的六位二进制的最后一位;
步骤3.8、利用式(5)得到第i行第j列的新像素点P′i,j,从而由所有新像素点得到含有秘密数据的隐写图像Iem;
P′i,j=h″′i,j×2n+li,j (5)
步骤4、数据提取与图像恢复:
步骤4.1、将隐写图像Iem分解后,由所有分解后的像素点的高位面值构成平面,所有分解后的像素点的低位面值构成平面;
步骤4.2、提取出平面中第一行像素点r1em中每个像素点的六位二进制值的最后一位进行保存,得到长度为l的序列并将所述序列由二进制序列值分别转换为十进制值,得到最后携带秘密数据的像素点位置和压缩后的位置图的长度
步骤4.3、将平面中除第一行像素点r1em、第一列像素点以及最后一行最后一列以外的其余像素点划分为新棋盘格,按照从右到左,从下到上的顺序读取新棋盘格中的各个像素点:
步骤4.3.1、令i和j等于中的坐标值;
步骤4.3.2、将周围8个像素值升序排列,并计算排序后的像素值中前六个像素值的均值的取整记为预测值计算排序后的像素值中后六个像素值的均值的取整记为预测值
步骤4.3.3、将和作差值后得到预测误差值当预测误差或2或者或-1时,提取出秘密数据并从得到新高位面值
步骤4.3.4、将和作差值后得到预测误差值当预测误差或2或者或-1时,提取出秘密数据并从得到新高位面值
步骤4.3.5、令j-2赋值给j,重复步骤4.3.2到步骤4.3.4,且当j递减为2时,令i-2赋值i,j=w-2,返回步骤4.3.2顺序执行,直到i=3,j=2;
步骤4.3.6、令i=h-2,j=w-1,重复步骤4.3.2到步骤4.3.4,令j-2赋值给j,当j递减为3时,令i-2赋值i,j=w-1;返回步骤4.3.2顺序执行,直到i=2,j=3,从而完成第一轮高位面像素值处理;
步骤4.3.7、令i=h-1,j=w-1,重复步骤4.3.2到步骤4.3.4,令j-2赋值给j,当j递减为3时,令i-2赋值i,j=w-1;返回步骤4.3.2顺序执行,直到i=3,j=3;
步骤4.3.8、令i=h-2,j=h-2,重复步骤4.3.2到步骤4.3.4,令j-2赋值给j,当j递减为2时,令i-2赋值i,j=w-2;返回步骤4.3.2顺序执行,直到x=2,y=2,从而完成第二轮高位面像素值处理;并得到处理后的高位面记为
步骤4.3.9、由所有提取出的秘密数据组成秘密提取数据Sex;
步骤4.4、从秘密提取数据Sex中分别分离出高位面第一行像素点r1em中每个像素点被替换的六位二进制值的最后一位的长度为l的序列和长度为的压缩后的位置图
步骤4.5、用序列替换高位面第一行像素点r1em像素的六位二进制的最后一位值的所在位置,得到最终高位面
步骤4.6、解压压缩位置图得到完整的位置图序列LMex;
步骤4.7、根据位置图序列LMex对最终高位面平面除r1em,以及和像素作还原操作,得到原始的高位面记为
步骤4.8、将原始的高位面中的每个像素点分别乘以2n再与平面中对应的像素点相加,从而得到恢复后的原始图像IR。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽大学绿色产业创新研究院,未经安徽大学绿色产业创新研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210449286.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于纱管纸生产的纸浆杂质分离机
- 下一篇:共享存储空间的方法及装置