发明名称 一种基于自适应差值扩展的可逆图像水印方法
摘要 一种基于自适应差值扩展的可逆图像水印方法,包含水印嵌入过程、水印提取过程和图像恢复过程;在水印嵌入之前,先需要对原图像进行预处理,包括交替划分、差值计算,计算图像复杂度并设置参数;在嵌入过程中,使用自适应扩展进行相应的水印嵌入;接着将嵌入附加信息,在特定情况下水印数据会和附加信息混合嵌入;在提取过程中,首先进行附加信息提取,差值计算;接着进行自适应差值扩展的逆操作,进行水印数据提取并还原原始的差值;最后通过还原后的差值进行图像的还原;本发明具有可逆性,并能提供更大的嵌入容量和更好的图像质量,特别是在嵌入水印数据较多的情况下。
申请公布号 CN102147912A 申请公布日期 2011.08.10
申请号 CN201110078970.X 申请日期 2011.03.30
申请人 北京航空航天大学 发明人 王卓;陈真勇;范围;罗立新;熊璋
分类号 G06T1/00(2006.01)I 主分类号 G06T1/00(2006.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 成金玉
主权项 1.一种基于自适应差值扩展的可逆图像水印方法,其特征在于:包括水印嵌入部分和水印提取部分两大部分,水印嵌入部分包括预处理过程和水印嵌入过程;水印提取部分包括提取预处理过程和水印提取过程;所述预处理过程为:(1.1)交替划分,构建出像素的上下文关系,将原始图像划分为不相交的像素集S<sub>1</sub>和S<sub>2</sub>,用于图像复杂度的计算和像素估计的实现;(1.2)差值计算,使用预处理过程步骤(1)中构建出的上下文,计算图像中每个像素的估计值,然后通过与原始像素的比较求差值,该步骤可分为先后两部分:首先第一部分,利用S<sub>1</sub>中的像素来估计S<sub>2</sub>中的像素,此时S<sub>1</sub>为原始的像素值;然后第二部分,利用S<sub>2</sub>中的像素来估计S<sub>1</sub>中的像素,此时S<sub>2</sub>为嵌入水印后的像素值;(1.3)参数设置,包括两个方面的参数设置,首先针对原始图像,利用小波域内的广义高斯分布(GGD)的密度函数的形状参数α作为图像复杂度的衡量参数,并通过曲线拟合方法对参数α进行估计,将参数α定义为图像复杂度;然后,根据嵌入水印数据的多少,确定自适应差值扩展的两参数c和T,c和T是与一般性扩展中使用的参数相似,用来控制图像的水印的嵌入容量;所述水印嵌入过程:(2.1)确定自适应扩展基数b<sub>ij</sub>,通过预处理过程步骤(1.3)得到的参数α,即图像复杂度,及自适应扩展参数c和T,通过公式计算<img file="FDA0000052990420000011.GIF" wi="494" he="158" />确定自适应扩展基数b<sub>ij</sub>,i,j为坐标,σ<sup>2</sup>为方差,用于衡量区域的平稳程度;(2.2)假设w表示长度为l的待嵌的二进制水印数据,将w分为n个8位的块,令w=w<sub>1</sub>,w<sub>2</sub>,...,w<sub>n</sub>,其中n=l/8并且w<sub>t</sub>,t=1,2,...n包含8位二进制数据;(2.3)读取水印数据w<sub>t</sub>,并将其转换为十进制w<sub>d,t</sub>,为了判断w<sub>d,t</sub>是否嵌入完毕,给出变量u进行标识,初始化u为1;(2.4)扫描载体图像,针对具体像素x<sub>ij</sub>,已知估计值x<sub>ij</sub>′、自适应扩展基数b<sub>ij</sub>、估计差值e<sub>ij</sub>,通过r<sub>i,j</sub>=w<sub>d,t</sub> mod b<sub>ij</sub>得到此处的最终嵌入内容r<sub>i,j</sub>然后利用公式<maths num="0001"><![CDATA[<math><mrow><msup><mi>e</mi><mo>&prime;</mo></msup><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>e</mi><mo>&times;</mo><mi>b</mi><mo>+</mo><mi>r</mi><mo>,</mo></mtd><mtd><mi>b</mi><mo>=</mo><mn>1</mn></mtd></mtr><mtr><mtd><mi>e</mi><mo>,</mo></mtd><mtd><mi>b</mi><mo>=</mo><mn>1</mn></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>进行自适应嵌入,从而得到嵌入后像素值x<sub>ij</sub>″;在(2.4)中的自适应嵌入过程中,若x″>255或者x″<0,则跳过该像素的水印嵌入,并利用位置表记录该像素的位置和像素溢出信息;(2.5)步骤(2.4)嵌入完成后,更新<img file="FDA0000052990420000022.GIF" wi="418" he="77" />u=u×b<sub>ij</sub>,若u>255,读入下一个水印数据w<sub>t+1</sub>并置u=1,转入步骤(2.3)嵌入下一位水印;否则转入步骤(2.4)继续w<sub>d,t</sub>的嵌入;(2.6)进行附加信息嵌入,所述附加信息包括参数c、T,参数α即图像复杂度和嵌入过程(2.5)中记录像素溢出信息的位置表;至此水印嵌入过程结束,得到嵌入后图像;所述提取预处理过程:(3.1)首先进行附加信息提取过程,这一过程为附加信息嵌入的逆过程,得到自适应差值扩展的两参数c和T,图像复杂度参数α和位置表;(3.2)然后通过预处理过程(1.1)中相同的划分进行差值计算,这一过程与预处理过程(2.1)中的差值计算相同,并且要做到与嵌入时的差值计算做到完全匹配,即像素的划分保持一致,因为水印嵌入时差值计算是先S<sub>2</sub>后S<sub>1</sub>,所以提取时是先S<sub>1</sub>后S<sub>2</sub>;所述水印提取过程,为嵌入过程的逆过程,具体步骤如下:(4.1)初始化标识变量u为1,因为图像边缘区域并没有进行水印的嵌入,所以,对i=1或j=1的区域,图像像素保持不变,直接还原;(4.2)扫描嵌入图像,针对具体像素x″,已知估计值x′,自适应扩展基数b<sub>ij</sub>,估计差值e′<sub>ij</sub>,通过公式r<sub>ij</sub>=e<sub>ij</sub>′%b<sub>ij</sub>,b<sub>ij</sub>≠1得到此处的嵌入水印r<sub>ij</sub>,然后利用公式<img file="FDA0000052990420000023.GIF" wi="496" he="241" />恢复原始差值e<sub>ij</sub>,进而得到图像原始像素;在(4.2)中的提取过程中,若位置表中记录了该位置,则跳过该位置的水印提取,同时保持像素不变。(4.3)步骤(4.2)提取完成后,将r<sub>i,j</sub>,b<sub>ij</sub>分别放入集合R<sub>t</sub>,B<sub>t</sub>中,r<sub>i,j</sub> b<sub>ij</sub>中的i,j为坐标,其在R<sub>t</sub>,B<sub>t</sub>中的位置为放入的顺序,并更新u=u×b<sub>ij</sub>;若u>255,记此时集合R的大小为m,通过公式<maths num="0002"><![CDATA[<math><mrow><msub><mi>w</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>w</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>&times;</mo><mi>B</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>+</mo><mi>R</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo></mtd><mtd><mn>2</mn><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><mi>m</mi></mtd></mtr><mtr><mtd><mn>1</mn><mo>,</mo></mtd><mtd><mi>i</mi><mo>=</mo><mi>m</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>则完整水印w<sub>t</sub>=w<sub>t</sub>(1),重新置u=1,进行步骤(4.2)提取下一位水印w<sub>t+1</sub>,若u≤255则继续进行步骤(4.2)。
地址 100191 北京市海淀区学院路37号