预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN112508765A(43)申请公布日2021.03.16(21)申请号202110059407.1(22)申请日2021.01.18(71)申请人鲁东大学地址264025山东省烟台市芝罘区红旗中路186号(72)发明人苏庆堂陈思宇张雪婷王环英(51)Int.Cl.G06T1/00(2006.01)权利要求书2页说明书6页附图2页(54)发明名称一种基于沃尔什-哈达玛变换的频域彩色数字图像盲水印方法(57)摘要本发明利用频域数字水印算法鲁棒性强的优点,公开了一种基于沃尔什‑哈达玛变换的频域彩色数字图像盲水印方法。本发明利用沃尔什‑哈达玛变换(WHT)后矩阵系数间的高度相似性,通过微调矩阵第一行系数间的大小关系来完成数字水印的嵌入与盲提取。该发明将彩色图像数字水印嵌入到彩色宿主图像中,不但具有较好的水印隐蔽性和较强的鲁棒性,而且具有较好的实时性,解决了大容量彩色图像数字水印运行速度慢的难题,适用于快速、高效进行数字媒体版权保护的场合。CN112508765ACN112508765A权利要求书1/2页1.一种基于沃尔什‑哈达玛变换的频域彩色数字图像盲水印方法,其特征在于通过具体的水印嵌入过程和提取过程来实现的,其水印嵌入过程描述如下:第一步:彩色图像数字水印的预处理:为方便水印信息的嵌入并提高其安全性和鲁棒性,首先,将一幅大小为N×N的彩色图像数字水印W依照红、绿、蓝三基色的顺序分成3个分层水印图像Wi;然后,将每个分层水印图像Wi进行基于密钥Kai的Arnold置乱变换;最后,将置乱后的分层水印图像中每个十进制数表示的像素用8位二进制数表示,并依次连接形成2长度为8N的分层水印位序列SWi,其中i=1,2,3,分别表示红、绿、蓝三层;第二步:获取宿主图像的嵌入块:将一幅大小为M×M的原始彩色宿主图像H分成3个分层宿主图像Hi;同时,把每一个分层宿主图像Hi分成大小为m×m的图像块;然后,根据分层水2印信息长度8N,利用基于密钥Kbi的Hash伪随机置乱算法生成的选块序列,从分层宿主图像2Hi中选择合适位置的图像块,以提高水印抗剪切攻击的鲁棒性,其中8N<=(M×M)/(m×m),i=1,2,3,分别表示红、绿、蓝三层;第三步:选取一个图像块A,并按照公式(1)对其进行沃尔什‑哈达玛变换;(1)其中,HA表示图像块A经过沃尔什‑哈达玛变换后得到的矩阵,N是图像块的尺寸大小,HN是N×N阶哈达玛矩阵且由数值1和‑1组成,可由公式(2)生成;HN=hadamard(N)(2)其中,hadamard(.)为生成哈达玛矩阵的函数,N为生成哈达玛矩阵的阶数;第四步:从分层水印序列SWi中按先后顺序取出两位待嵌入水印信息w1、w2,利用变换后矩阵第一行系数的大小关系,依据该嵌入水印信息及公式(3)、(4)、(5)、(6),将两位水印信息嵌入到变换后矩阵;(3)(4)(5)(6)其中,sign(.)为取符号函数,avg1,2为第1行第1、2列元素的平均值,avg3,4为第1行第3、4列元素的平均值,d为误差参数,T是量化步长,HAm,n表示HA中的第m行第n列元素;第五步:依据公式(7)的逆沃尔什‑哈达玛变换,得到其含水印的图像块A*;**A=HN×HA(7)*其中,HA为嵌入水印后的矩阵;第六步:重复执行上述第三步到第五步,直到所有的水印信息都被嵌入完成为止,由此2CN112508765A权利要求书2/2页**得到含水印的分层宿主图像Hi;最后,组合含水印的分层宿主图像Hi得到含水印宿主图像H*;其水印提取过程描述如下:**第一步:将含水印的宿主图像H分成3个分层含水印图像Hi,同时将每个分层含水印图*像Hi进一步分成m×m大小的非重叠图像块,其中i=1,2,3,分别表示红、绿、蓝三层;*第二步:在分层含水印图像Hi中,利用上述水印嵌入过程中所提到的基于密钥Kbi的哈希伪随机置乱算法选择图像块;第三步:选取一个图像块A*,利用公式(8)对其进行沃尔什‑哈达玛变换;(8)**其中,HA表示图像块A经过沃尔什‑哈达玛变换后得到的矩阵,N是图像块的尺寸大小,HN是N×N阶哈达玛矩阵;***第四步:利用公式(9)、(10),提取图像块,HA中所含有的水印w1、w2;(9)(10)****其中,wi表示从HA中提取出的第i位水印,HAm,n表示HA中的第m行第n列元素;*第五步:重复执行第三步、第四步,提取每层二进制水印序列SWi,然后将每8位二进制信息为一组转换成十进制的像素值,其中i=1,2,3,分别表示红、绿、蓝三层;第六步:对转化后的每层十进制像素执行基于密钥Kai的逆Arnold变换并获得分层水印*Wi,其中i=1,2,3,分别表示红、绿、蓝三层;**第七步:组合分