发明名称 一种数字图像的多个二值水印嵌入及提取检测方法
摘要 本发明公开了一种数字图像的多个二值水印嵌入及提取检测方法,嵌入水印时首先将待嵌入的多个二值水印图像组合成为一个三维水印,根据三维水印各水印分量对应空间像素的0/1比特取值,对原始数字图像经小波多级分解后得到的小波逼近子图的小数部分数据进行二值量化实现的,实现多水印嵌入的同时并返回一个逻辑表,提取水印时通过二值离散判别结合逻辑表实现水印的提取,本发明嵌入的K个二值水印图像中可以保证其中的K-1个二值水印图像能完全免疫于图像的任何攻击,具有理想的鲁棒性;嵌入有二值水印图像的数字图像质量与嵌入的二值水印图像的个数无关;此外,提取水印时不需要原始数字图像,保证了原始数字图像的安全。
申请公布号 CN101833745B 申请公布日期 2012.02.15
申请号 CN201010152315.X 申请日期 2010.04.15
申请人 宁波大学 发明人 周亚训;金炜;陈芬;杨高波
分类号 G06T1/00(2006.01)I 主分类号 G06T1/00(2006.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 33226 代理人 程晓明
主权项 1.一种数字图像的多个二值水印嵌入方法,其特征在于包括以下步骤:①将待嵌入水印的原始数字图像记为F,将待嵌入的K个二值水印图像分别记为W<sub>1</sub>,W<sub>2</sub>,…,W<sub>k</sub>,…,W<sub>K</sub>,其中,待嵌入水印的原始数字图像F的分辨率为X×Y,X表示待嵌入水印的原始数字图像F的竖直分辨率,Y表示待嵌入水印的原始数字图像F的横向分辨率,F={f|0≤f(x,y)≤255,1≤x≤X,1≤y≤Y},f(x,y)表示待嵌入水印的原始数字图像F的第x行第y列像素的像素值,待嵌入的K个二值水印图像的分辨率相同,均为I×J,I表示二值水印图像的竖直分辨率,J表示二值水印图像的横向分辨率,K≥2,1≤k≤K;②将待嵌入的K个二值水印图像组合成一个第一三维水印,记第一三维水印为W<sub>T</sub>,W<sub>T</sub>={w<sub>T</sub>|w<sub>T</sub>(i,j,1:K)=[w<sub>1</sub>(i,j),w<sub>2</sub>(i,j),…,w<sub>k</sub>(i,j),…,w<sub>K</sub>(i,j)],1≤i≤I,1≤j≤J},其中,w<sub>1</sub>(i,j)表示第1个二值水印图像W<sub>1</sub>的第i行第j列像素,w<sub>k</sub>(i,j)表示第k个二值水印图像W<sub>k</sub>的第i行第j列像素,w<sub>K</sub>(i,j)表示第K个二值水印图像W<sub>K</sub>的第i行第j列像素,w<sub>T</sub>(i,j,1:K)表示第一三维水印W<sub>T</sub>的第i行第j列像素的K个分量,K个分量的值均为0比特或1比特,第k个二值水印图像W<sub>k</sub>为第一三维水印W<sub>T</sub>的第k个分量;③对待嵌入水印的原始数字图像F进行归一化处理,然后对归一化处理后的数字图像进行L级二维离散小波变换处理,得到一个第一小波逼近子图和多个第一小波细节子图,将第一小波逼近子图记为F_A,其中,第一小波逼近子图F_A的分辨率为(X/2<sup>L</sup>)×(Y/2<sup>L</sup>),<img file="FSB00000688774900011.GIF" wi="563" he="158" />min()为取最小值函数,max()为取最大值函数,符号<img file="FSB00000688774900012.GIF" wi="138" he="64" />表示取小于其自身的最大整数;④将第一小波逼近子图F_A划分成多个互不重叠且大小为U×V的第一子块,并记第一子块为F_A<sub>b</sub>,然后计算每一个第一子块F_A<sub>b</sub>的不均匀度,将当前正在处理的第p个第一子块定义为当前第一子块,记当前第一子块的不均匀度为d<sub>p</sub>(F_A<sub>b</sub>),<maths num="0001"><![CDATA[<math><mrow><msub><mi>d</mi><mi>p</mi></msub><mrow><mo>(</mo><mi>F</mi><mo>_</mo><msub><mi>A</mi><mi>b</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mi>U</mi><mo>&times;</mo><mi>V</mi></mrow></mfrac><mo>&times;</mo><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow><mo>&Element;</mo><mi>F</mi><mo>_</mo><msub><mi>A</mi><mi>b</mi></msub></mrow></munder><mfrac><mrow><mo>|</mo><mi>f</mi><mo>_</mo><msub><mi>a</mi><mi>bp</mi></msub><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>m</mi><mi>p</mi></msub><mo>|</mo></mrow><msup><msub><mi>m</mi><mi>p</mi></msub><mrow><mn>1</mn><mo>+</mo><mi>&alpha;</mi></mrow></msup></mfrac><mo>,</mo></mrow></math>]]></maths>其中,p=1,2,…,((X/2<sup>L</sup>)×(Y/2<sup>L</sup>))/(U×V),f_a<sub>bp</sub>(u,v)表示第p个第一子块的第u行第v列像素的像素值,m<sub>p</sub>表示第p个第一子块的所有像素的像素值的均值,α为加权修正因子;⑤选取不均匀度最大的B个第一子块,并记录B个第一子块各自在第一小波逼近子图F_A中的位置信息,其中,<img file="FSB00000688774900022.GIF" wi="222" he="107" />⑥将选取出的B个不均匀度最大的第一子块以子块为单位排列成一个大小为I×J的第一纹理块,将该第一纹理块记为F_AB,然后分离出第一纹理块F_AB中的各个像素的像素值的小数部分数据和整数部分数据,分别将小数部分数据和整数部分数据仍按第一纹理块F_AB中的各个像素的原有位置进行放置,得到一个第一小数部分数据块和一个第一整数部分数据块,并记第一小数部分数据块为F_ABD;⑦依据第一三维水印W<sub>T</sub>的K个分量的0、1比特值组合,对第一小数部分数据块F_ABD的各个像素的像素值进行二值量化处理,实现K个二值水印图像的嵌入,并生成一个逻辑表,记为Lg,Lg={lg|0≤lg(i,j)≤2<sup>K</sup>-1},其中,lg(i,j)表示依据第一三维水印W<sub>T</sub>的第i行第j列像素的K个分量,K个分量的值均为0比特或1比特,对第一小数部分数据块F_ABD的第i行第j列像素的像素值f_abd(i,j)进行二值量化处理后生成的逻辑值;⑧将第一整数部分数据块和二值量化处理后的小数部分数据块再组合成新的第一纹理块,记为F_AB′,将新的第一纹理块F_AB′的第i行第j列像素的像素值记为f_ab′(i,j),<img file="FSB00000688774900023.GIF" wi="889" he="72" />其中,f_ab(i,j)表示第一纹理块F_AB的第i行第j列像素的像素值,符号<img file="FSB00000688774900024.GIF" wi="137" he="64" />表示取小于其自身的最大整数,1≤i≤I,1≤j≤J;⑨用新的第一纹理块F_AB′中的B个新的第一子块分别替换各自在第一小波逼近子图F_A中被选取出来的原B个第一子块,并和第一小波逼近子图F_A中未被选取的((X/2<sup>L</sup>)×(Y/2<sup>L</sup>))/(U×V)-B个第一子块恢复成嵌入有K个二值水印图像的第一小波逼近子图,记为F_A′,然后将嵌入有K个二值水印图像的第一小波逼近子图F_A′和多个第一小波细节子图进行二维离散小波逆变换处理,得到嵌入有K个二值水印图像的数字图像。
地址 315211 浙江省宁波市江北区风华路818号