[发明专利]基于Slant变换的空域自适应彩色图像盲水印方法有效

专利信息
申请号: 202010772609.6 申请日: 2020-08-04
公开(公告)号: CN111882478B 公开(公告)日: 2022-04-29
发明(设计)人: 王环英;刘得成;苏庆堂;袁子涵;张雪婷;陈思宇;孙叶函 申请(专利权)人: 鲁东大学
主分类号: G06T1/00 分类号: G06T1/00
代理公司: 暂无信息 代理人: 暂无信息
地址: 264025 山东*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 slant 变换 空域 自适应 彩色 图像 水印 方法
【权利要求书】:

1.一种基于Slant变换的空域自适应彩色图像盲水印方法,其特征在于通过4个过程来实现的,具体包括预处理过程、水印嵌入过程、图像矫正过程和水印提取过程:

过程1:预处理过程,其具体步骤描述如下:

Step 1:彩色载体图像的预处理:对大小为M×M×3的三维彩色载体图像H作降维处理,得到红、绿、蓝三个二维的分层载体图像Hp,并将各层中的像素划分为2×2的非重叠像素块,p=1, 2, 3分别表示红、绿、蓝三层;

Step 2:彩色水印图像的预处理:对大小为N×N×3的三维彩色水印图像W作降维处理,得到红、绿、蓝三个二维的分层水印图像;随之,对每层水印图像进行基于密钥Kp的仿射变换得到置乱后的分层水印图像Wp;然后,将各分层水印图像Wp中的每个十进制像素值转换为一个8位的二进制序列,并依次拼接得到二进制序列wap;由前至后将二进制序列wap的每4位编码为7位的汉明纠错码,并依次拼接得到纠错码序列wbp;根据当前可嵌入的水印容量,自适应地选择水印编码方式:如果水印容量不小于(N×N×3×8×7)/(M×M×3×4)=14×N2/M2,那么水印序列whp取纠错码序列wbp,且cmk=2;否则,水印序列whp取二进制序列wap,且cmk=1,其中,编码标志cmk表示水印的编码方式,其值为1时表示二进制码,其值为2时表示汉明码,p=1, 2, 3分别表示红、绿、蓝三层;

Step 3:生成选块矩阵:利用三个选块密钥间的自定义关系和蓝层的选块密钥rky3,得到红层的选块密钥rky1和绿层的选块密钥rky2;然后再根据选块密钥rkyp、编码标志cmk、彩色载体图像的长度或宽度尺寸M和彩色水印图像的长度或宽度尺寸N,借助MATLAB函数randperm(.)伪随机生成选块矩阵BSMpp=1, 2, 3分别表示红、绿、蓝三层;

过程2:水印嵌入过程,其具体步骤描述如下:

Step 1:选择像素块:在上述预处理过程之后,利用选块矩阵BSMp从分层图像Hp中选择大小为2×2的像素块slantblockp=1, 2, 3分别表示红、绿、蓝三层;

Step 2:计算最大能量系数:利用公式(1),不需要进行真正的Slant变换,在空域中直接求出需经Slant变换后所得系数矩阵中的最大能量系数Emax

(1)

其中,slantblock(i, j)为像素块slantblocki行、第j列的像素值;

Step 3:计算边界值:依次从水印序列whp中取一位信息w,利用公式(2)求得最优增量add的下边界值chlow和上边界值chhigh

(2)

其中,为量化系数,Tp为第p层的初始量化步长,mod(.)是求余函数,p=1, 2, 3分别表示红、绿、蓝三层;

Step 4:计算最大能量系数的最优增量:利用公式(3)求得最优增量add

(3)

其中,chlowchhigh分别表示最优增量add的下边界值和上边界值,abs(.)为取绝对值函数;

Step 5:分配最优增量:利用公式(4)将最优增量add分配到各像素值中;

(4)

其中,slantblock*(i, j)为含水印像素块slantblock*i行、第j列的像素值;

Step 6:重复执行本过程中的Step 1到Step 5,直到所有的信息嵌入完成为止,此时就得到了含水印的分层载体图像Hp*,最后重组含水印的分层载体图像Hp*,并得到含水印的彩色载体图像H*

Step 7:获取最优量化步长:以初始量化步长T3为循环变量,重复执行本过程中的Step1到Step 6,当含水印载体图像的质量满足峰值信噪比PSNR值大于40dB且结构相似性SSIM值大于0.96时,即可得到蓝层的最优量化步长TT3和质量最优的彩色含水印载体图像HL*;其中,绿层的最优量化步长TT2和红层的最优量化步长TT1都是由TT3和载体图像各层步长间的关系得到的;

Step 8:将密钥加密,隐写至载体文件中:使用函数encodekeys(.)将整数密钥MNTT3K3cmkrky3加密为一个大整数密钥key,然后将其转换为二进制序列keybits,最后借助函数addkeytofileend(.)将二进制序列keybits隐写到彩色含水印载体图像HL*的文件结构中,得到含有密钥信息的彩色含水印载体图像HM*;其中,整数密钥MNTT3K3cmkrky3分别表示彩色载体图像的长度或宽度尺寸,彩色水印图像的长度或宽度尺寸,蓝层的最优量化步长,蓝层的仿射变换密钥,编码标志以及蓝层的选块密钥,encodekeys(.)为自定义的整数配对函数,可将整数密钥序列加密为一个大整数密钥,addkeytofileend(.)为自定义函数,可将二进制密钥信息隐写到BMP格式的文件结构中或读取文件结构中隐藏的二进制密钥信息;

过程3:图像矫正过程,其具体步骤描述如下:

Step 1:计算几何属性:计算被攻击的含水印载体图像I*的内部有效图像的各顶点(A(x1, y1), B(x2, y2), C(x3, y3), D(x4, y4),)、各边(l1, l2, l3, l4)、各边与水平线的夹角()和四个内角的度数();

Step 2:判断攻击类型:假设已知含水印载体图像HM*的行数为MR、列数为MC,被攻击的含水印载体图像I*的行数为NR、列数为NC;根据内部有效图像的边角信息,可有如下14个条件:①,②,③,④,⑤,⑥,⑦,⑧,⑨,⑩,⑪,⑫,⑬,⑭;其中,Q为整数阈值,|.|表示取绝对值计算;被攻击的含水印载体图像I*所受攻击的类型具体分为以下8种情况:

1)若图像的几何属性满足条件:①⑥⑧⑩⑫,则含水印载体图像I*所受攻击的类型为旋转攻击;

2)若图像的几何属性满足条件:②④⑥⑧⑩⑫,则含水印载体图像I*所受攻击的类型为缩小攻击;

3)若图像的几何属性满足条件:②④⑥⑨⑩⑫,则含水印载体图像I*所受攻击的类型为放大攻击;

4)若图像的几何属性满足条件:②④⑥⑧⑪或②④⑥⑧⑬,则含水印载体图像I*所受攻击的类型为平移变换攻击;

5)若图像的几何属性满足条件:③⑤⑦,则含水印载体图像I*所受攻击的类型为仿射变换攻击;

6)若图像的几何属性满足条件:③④⑦,则含水印载体图像I*所受攻击的类型为水平剪切攻击;

7)若图像的几何属性满足条件:②⑤⑦,则含水印载体图像I*所受攻击的类型为垂直剪切攻击;

8)若图像的几何属性满足条件:②④⑥⑩⑫⑭,则含水印载体图像I*所受攻击的类型为压缩攻击、加噪攻击、滤波攻击等不改变含水印载体图像尺寸的常规攻击;

Step 3:矫正被攻击图像:根据上述判断得出的攻击类型,矫正含水印载体图像I*,具体分为以下8种情况;

1)矫正旋转攻击后的图像:根据本过程Step 2中各边长与水平线的夹角,计算图像逆时针旋转的角度angle,然后,调用旋转函数imrotate(.),逆时针旋转-angle角度,最后去除黑色边缘,并将得到的内部有效图像调整到大小为M×M×3的三维含水印彩色载体图像IM*

2)矫正缩小攻击后的图像:根据本过程Step 2中的各边长,计算图像缩小比例,调用图像尺寸调整函数imresize(.),得到已矫正的大小为M×M×3的三维含水印彩色载体图像IM*

3)矫正放大攻击后的图像:根据本过程Step 2中的各边长,计算图像放大比例,调用图像尺寸调整函数imresize(.),得到已矫正的大小为M×M×3的三维含水印彩色载体图像IM*

4)矫正平移变换攻击后的图像:根据本过程Step 2中的各顶点,计算经过各顶点的内部有效图像边界的数量,并确定平移变换的类型,最后进行相应的逆平移变换,得到已矫正的大小为M×M×3的三维含水印彩色载体图像IM*

5)矫正仿射变换攻击后的图像:确定仿射矩阵AF=[a, b, 0; c, d, 0; 0, 0, 0],其中,a=y2/MCd=x4/MRc=(NC-MCa/MCb=((NR-MRd/MR);计算仿射矩阵的逆矩阵AF-1并调用图像变换函数imtransform(.),得到已矫正的大小为M×M×3的三维含水印彩色载体图像IM*

6)矫正水平剪切攻击后的图像:水平剪切攻击是仿射变换攻击的一个特例,该攻击没有缩放因子,因此,仿射变换矩阵AF中的元素a=1,d=1;水平剪切攻击时的元素c=0,b=(NR-MR)/MR;然后,计算仿射变换矩阵AF的逆矩阵AF-1,最后调用图像变换函数imtransform(.),得到已矫正的大小为M×M×3的三维含水印彩色载体图像IM*

7)矫正垂直剪切攻击后的图像:垂直剪切攻击是仿射变换攻击的另一个特例,该攻击也没有缩放因子,因此,仿射变换矩阵AF中的元素a=1,d=1;垂直剪切攻击时的元素b=0,c=(NC-MC)/MC;然后,计算仿射变换矩阵AF的逆矩阵AF-1,最后调用图像变换函数imtransform(.),得到已矫正的大小为M×M×3的三维含水印彩色载体图像IM*

8)矫正常规攻击后的图像:由于压缩攻击、加噪攻击、滤波攻击等常规攻击不改变含水印彩色载体图像的尺寸,因此,彩色含水印载体图像HL*即为已矫正的大小为M×M×3的三维含水印彩色载体图像IM*

过程4:水印提取过程,其具体步骤描述如下:

Step 1:获取密钥信息并解密:针对上述图像矫正过程获得的大小为M×M×3的三维含水印彩色载体图像IM*,使用函数addkeytofileend(.)从载体文件中获取密钥的二进制序列keybits,然后将二进制序列keybits转换为一个大整数密钥key;最后借助函数decodekeys(.)将大整数密钥key解密为整数密钥序列keys={M, N, TT3, K3, cmk, rky3};其中,整数密钥MNTT3K3cmkrky3分别表示彩色载体图像的长度或宽度尺寸,彩色水印图像的长度或宽度尺寸,蓝层的最优量化步长,蓝层的仿射变换密钥,编码标志以及蓝层的选块密钥,decodekeys(.)为自定义的整数配对函数,可将大整数密钥解密为整数密钥序列,addkeytofileend(.)为自定义函数,可将二进制密钥信息隐写到BMP格式的文件结构中或读取文件结构中隐藏的二进制密钥信息;

Step 2:利用三个选块密钥间的自定义关系和蓝层的选块密钥rky3,分别得到红层、绿层的选块密钥rky1rky2;然后再根据选块密钥rkyp、编码标志cmk、彩色载体图像的长度或宽度尺寸M和彩色水印图像的长度或宽度尺寸N,借助MATLAB函数randperm(.)伪随机生成选块矩阵BSMp;利用载体图像各层间的相关关系和蓝层的最优量化步长TT3,分别得到红层、绿层的最优量化步长TT1TT2;利用三个仿射变换密钥间的自定义关系和蓝层的仿射变换密钥K3,分别得出红层、绿层的仿射变换密钥K1K2,其中,p=1, 2, 3分别表示红、绿、蓝三层;

Step 3:针对上述图像矫正过程获得的大小为M×M×3的三维含水印彩色载体图像IM*,执行本方法预处理过程中的Step 1,得到分层的含水印载体图像IMp*和2×2的非重叠像素块,其中,p=1, 2, 3分别表示红、绿、蓝三层;

Step 4:选择含水印像素块:利用选块矩阵BSMp从分层载体图像IMp*中选择含水印像素块slantblock*,其中,p=1, 2, 3分别表示红、绿、蓝三层;

Step 5:计算最大能量系数:利用公式(5),在空域中直接求出经Slant变换后所得系数矩阵中的最大能量系数Emax*,而不需要进行真正的Slant变换;

(5)

其中,slantblock*(i, j)为像素块slantblock*i行、第j列的像素值;

Step 6:提取水印信息:利用公式(6)提取水印信息w*

(6)

其中,mod(.)为取余函数,TTp为第p层的最优量化步长,p=1, 2, 3分别表示红、绿、蓝三层;

Step 7:重复执行本过程中的Step 4到Step 6,直到所有的水印信息均被提取为止,此时,得到了含水印序列whp*p=1, 2, 3分别表示红、绿、蓝三层;

Step 8:针对含水印序列whp*、仿射变换密钥Kp、编码标志cmk、彩色载体图像的长度或宽度尺寸M和彩色水印图像的长度或宽度尺寸N,执行本方法预处理过程中Step 2的逆处理,得到最终的提取水印W*

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于鲁东大学,未经鲁东大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010772609.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top