一种基于量化和关系嵌入的双重水印算法
2008-07-17
作者:刘 磊, 陈生潭
摘 要: 以自适应量化和多次关系嵌入为基础,提出了小波" title="小波">小波域的双重水印嵌入算法。该算法采用约瑟夫置乱和帐篷加密预处理水印;利用人类视觉系统(HVS)的特性确定量化间隔;采用投票表决的方法增强嵌入水印的鲁棒性" title="鲁棒性">鲁棒性;考虑了舍入误差对算法的影响,对待检测载体进行了补偿。仿真结果表明,该算法不仅具有很好的不可见性,而且对JPEG压缩、色深变换、挤压等水印攻击具有较强的鲁棒性。
关键词: 数字水印 小波变换" title="小波变换">小波变换 人眼视觉系统 投票表决
数字水印是20世纪90年代发展起来的对数字产品进行版权保护的新技术[1]。评价数字水印算法" title="水印算法">水印算法的指标主要有水印的鲁棒性、不可见性、水印容量和是否盲提取等。任何的信息隐藏方法都必需在这些相互制约的因素之间权衡[2]。本文介绍的水印算法是对上述的各个指标的折中。以彩色图像" title="彩色图像">彩色图像作为载体图像,采用两个二值图像作为水印。本文算法的主要特点是:
(1) 预处理水印采用约瑟夫置乱和帐篷加密;
(2) 嵌入双重水印;
(3) 提出小波域人类视觉系统(HVS)量化间隔模型;
(4) 水印提取采用投票表决;
(5) 补偿舍入误差。
1 水印算法系统实现的结构图
本文设计的水印算法是在载体图像的Y分量三级小波分解的低频部分自适地的嵌入水印一和在载体图像Cb分量三级小波分解的高频部分三次重复嵌入水印二的双重水印算法,系统实现的原理图如图1和图2所示。
2 水印预处理
对水印进行置乱和加密处理,可以增强抗水印攻击的能力和水印破译的难度[3]。经典的方法是Arnold置乱和的Logistic加密。本文采用比较新鲜的约瑟夫置乱和帐篷加密。实际上,帐篷加密是Logistic加密的特例。
2.1 约瑟夫置乱
经典的约瑟夫问题可参见参考文献[3]。约瑟夫置乱是针对一维序列置乱的方法,有迭带周期。例如:长度为64的序列,间隔是4,初始值为1,周期就是1482。本文采用大小为64×64的两个二值图像作为水印。先进行行内置乱,再进行列内置乱。取相同的初始值和间隔,采用迭带次数10和15作为水印一和水印二的置乱密钥。在水印逆置乱时,首先求出约瑟夫置乱的周期,再减去置乱密钥,就得到迭带次数,从而恢复水印。由于水印边框处行内或列内取值相同,因此置乱结果存在几条横线和竖线。经过加密后,横线竖线将消失。
2.2 帐篷加密
三角帐篷映射的定义和特点请参见参考文献[4]。利用三角帐篷映射,产生一个长度为64×64的一维混沌序列。初值取0.625作为加密密钥。生成的序列取值是(0,1)的实数。阈值门限法量化序列为:
式中,k=0.5。再重新排列成64×64的矩阵。与水印一置乱后的图像进行异或运算,完成加密。同理,初值取0.875,完成对水印二的加密。水印的解密与上述步骤相同,只要把水印图像换成待解密的图像就可以了。本文水印算法的应用效果如图3所示。
3 载体图像的变换与舍入误差
3.1 颜色变换
用于图像存储和传输的颜色模型RGB ,其实并不符合人眼的视觉感受。把水印信息直接加到 RGB 空间上,需要依据亮度方程调节RGB三个分量的幅度才不至于产生颜色失真。也有的方法是在人眼并不敏感的蓝色分量上嵌入水印。如果把载体图像从RGB空间转换到别的彩色空间,例如YCbCr、YUV、YIQ等,就可以避免这种颜色失真。
研究表明:不同攻击对彩色图像的亮度(Y)和色差(Cb、Cr) 的破坏力是不同的。其中,JPEG压缩、叠加噪声等处理对色差分量(Cb、Cr)的影响较大,对亮度分量(Y) 的破坏相对较小;而锐化等处理则正好相反[5]。
本文采用YCbCr颜色模型,分别在亮度分量和色差分量中嵌入水印,将使数字水印信息较强地分布于RGB三个通道,提高算法的鲁棒性。RGB 彩色空间与YCbCr 彩色空间(256级)的模型相互转换公式可参见参考文献[5]。
3.2 小波变换
比较流行的数字水印嵌入的空间有空域和变换域(包括小波域、离散余弦变换域、压缩域等)。作为JPEG2000标准的小波变换,由于充分满足渐进传输、低比特率传输、分辨率和质量的可调整性以及抗错性和特定区域(ROI)编码等新的需求,使得基于小波变换的水印方案具有优异的性能,也更有吸引力[6]。
本文设计的水印嵌入方法是依据下述原则提出的。参考文献[6]引用了黄达人的观点:水印嵌入到小波低频子带与高频子带需要不同的嵌入策略。参考文献[7]指出JPEG2000对图像压缩时采用三级小波分解,因此嵌入水印时,也应考虑到对载体图像进行的三级小波分解。参考文献[8]提出对小波变换的低频子带只嵌入一次水印,而高频子带要反复嵌入水印的策略。参考文献[9]指出三级小波变换后,应从HH2与HH3(二级小波分解的对角高频子带和三级小波分解的对角高频子带)的关系入手,嵌入水印。参考文献[2]用到了多数判决和双重水印嵌入的思想。
3.3 舍入误差
本文采用的颜色变换是数据类型为整数型到整数型的变换,而小波变换则是数据类型为实数型到实数型的变换。载体图像如果在小波域嵌入水印,则在小波逆变换后,得到的结果图像就是实数型的数据。再经过颜色变换,虽然结果依然是整数型的数据,但是这个过程已经引入了很大的舍入误差。为了解决舍入误差对水印的影响,本文对失真的部分进行补偿。
未补偿和有补偿对水印提取结果的影响如图4所示。在没有误差补偿的情况下,水印一和水印二的NC值分别为0.9588 和0.9716,而考虑了误差补偿后NC值分别为1.000 0和1.0000。说明该措施是有效的。
4 小波域的自适应量化门限
对比度函数模型的定义可参见参考文献[5]。它的取值范围是(-1,1)。对比度函数值|H(g)|越大,表示当像素值g有所变动时对人眼视觉的影响越有限;而对比度函数值|H(g)|越小,表示当像素值g 有所变动时对人眼视觉的影响越明显。
Weber定律指出人眼对于中等亮度的变化感知门限在2%以内,对于更亮或者更暗的变化感知度非线性下降,最大可以达到5%左右。
小波域的自适应量化门限的计算步骤如下:
(1) 通过对比度模型计算出载体图像亮度分量在空域的对比度函数值。再结合Weber定律,算出其在空域的自适应量化间隔:
式中,J表示空域量化的间隔,Z表示载体在对应位置的幅值,H表示取模(就是把对比度函数归一化,在(0,1)之间取值)。上面式子的含义是:空域量化的间隔由两部分组成,其一是变化不超过0.02的最小量化间隔,其二是依据像素与其周围的对比度特性自适应调整的量化间隔。并且保证量化的间隔最大值不会超过人眼视觉门限的上限。
(2) 对J进行三级小波变换,取小波域低频子带的系数再取整后作为量化间隔。
5 基于量化的水印嵌入与提取
量化嵌入的原理如图5所示[1]。将坐标轴等间隔划分成A区间集与B区间集,区间大小为Δ。规定A区间集代表0,B区间集代表1。根据水印值是0或1,调整待嵌入水印的系数值。使其等于离自己最近的对应区间内的中间值。当检测水印时,只需判断该系数落在的区间是A集还是B集,就可以得到对应的水印信息是0或1。
量化嵌入水印一的具体步骤:
(1) 计算小波域自适应量化模板hvs。
(2) 亮度分量三级haar小波分解,取低频子带Cy。
(3) 遍历Cy的每一元素,取hvs的对应元素作为量化间隔,量化嵌入水印。
(4) 小波逆变换。
(5) 与嵌入水印二的Cb分量和原始的Cr分量一起颜色反变换。
量化提取是量化嵌入的逆过程,这里不再重复。
6 基于关系的水印嵌入与提取
基于关系嵌入的水印,在提取时不需要原始图像参与,是盲提取的嵌入方法。关系嵌入的规则是:w表示水印信息,对于两个数a和b(a代表三级小波分解的系数,b代表二级小波分解的系数),如果ab且w=0,则a和b互换;其他情况下a和b不互换。因为小波变换不同级间系数幅值以近似2倍的关系递增,所以在关系嵌入前后考虑在较低级系数上进行2倍调整,这样可以减小载体失真。
关系嵌入水印二的具体步骤:
(1) 色差分量Cb三级haar小波分解,提取二级高频子带(LH2,HL2,HH2)和三级高频子带(LH3,HL3,HH3)。
(2) LH3取绝对值得到LH3new。
(3) 对LH2的奇数行和列系数取绝对值再乘以2得到LH2new。
(4) 遍历LH2new和LH3new,用上述关系嵌入规则嵌入水印二。
(5) LH2new除以2去绝对值,正负号与原始系数一致,替换LH2的奇数行和列。
(6) LH3new去绝对值,正负号与原始系数一致,替换LH3。
(7) 重复(2)~(6)的步骤,依次把水印二嵌入到HL和HH分量中去。
(8) 小波逆变换,颜色逆变换。
(9) 再进行颜色变换,计算舍入误差。
水印二的提取是关系嵌入的逆过程。三次提取完成,再投票表决。水印二取值由多数决定。
7 实验结果
评价水印算法的方法有主观评价和客观评价两种。对于有意义水印算法的评价,主观评价与客观评价有时有很大差别。客观评价标准有两个,一是峰值信噪比(PSNR)[4],用来计算水印嵌入前后载体图像改变的程度,以(db)表示。另一个是归一化相关系数(NC)[10],用于计算提取水印与初始水印的相关性。它们的公式如下:
各种水印攻击结果如表1所示。
由表1可见,对于一般的水印攻击,该算法体现了较强的鲁棒性,因为不同的水印攻击对载体亮度分量和色差分量的影响不同,使得嵌入双重水印的算法可以抵抗更多种的水印攻击。例如水印一在JPEG压缩上有较强的鲁棒性,但在缩放和色深变换中却检测不到,而水印二正好相反,它在JPEG压缩中已经检测不到了,但在缩放和色深变换中效果不错。总之,发挥各自所长,提高了水印算法整体的性能。本文提出了一种基于小波域的数字水印算法。考虑到Y分量与Cb分量的不同特性和小波低频分量和高频分量的区别,提出了适合于盲提取的基于量化和关系的嵌入策略。量化间隔考虑了反映视觉特性的对比度函数与Weber定律,增强了水印的鲁棒性。关系嵌入也把不同级间的系数关系利用起来,二倍关系的幅值调整减小了图像失真,三次嵌入投票表决也增强了水印的性能。此外,还考虑了舍入误差的补偿。这也使得水印算法成为半盲提取的水印算法。
参考文献
[1] 杜青.基于DCT和量化的彩色图像数字水印算法[J]. 苏州大学学报:工科版,2006,26(1).
[2] 于帅珍,沈建国.基于小波域的自适应彩色图像双重水印算法[J]. 微计算机信息(测控自动化),2006,22(1).
[3] 向德生,文宏,熊岳山.小波域鲁棒自适应图像水印嵌入方案[J]. 计算机工程与应用,2004,(36):81.
[4] 李淑明,覃团发,刘贤锋.DCT域自适应混沌加密的二值图像数字水印算法[J]. 通讯和计算机,2005,2(6).
[5] 王向阳,杨红颖,赵岩,等. 基于人眼视觉特性的自适应空域彩色图像数字水印算法[J]. 辽宁师范大学学报:自
然科学版,2004,27(2).
[6] 强英,王颖.基于小波域的数字图象水印算法综述[J]. 计算机工程与应用,2004,(11):46.
[7] 于景侠,王秉中.一种自适应图像小波域数字水印嵌入方案[J]. 计算机工程与应用,2003,(35):83.
[8] 赵健,齐华,田泽,等.改进的小波域混沌数字水印算法实现[J]. 光子学报,2004,33(10).
[9] 熊志勇,蒋天发. 多功能彩色图像数字水印方案[J]. 武汉大学学报:工学版,2004,37(6).
[10]王向阳,杨红颖.DCT域自适应彩色图像二维数字水印算法研究[J].计算机辅助设计与图形学学报,2004,16
(2).
[11] 郭磊,郭宝龙.小波域数字图像水印算法的研究[J]. 计算机工程与应用,2002,(13):45.