基于小波分解的灰度水印嵌入方案
文章提出了一种基于小波的多分辨率分解与重构的水印算法。结合HVS的掩蔽特性,实现了将一幅灰度水印嵌入到彩色图像中,比较实用于对彩色图像的版权保护。实验证明,水印能抵抗大多数图像处理的攻击,该方案较好地兼顾了对图像水印的不可见性要求和鲁棒性要求。
随着信息技术和计算机网络的飞速发展,数字多媒体信息的存储、复制与传播变得非常方便。在我们毫无限制地任意编辑、修改、拷贝和散布那些数字音乐和图像时,数字媒体的原创者的版权和经济利益如何得到保护已成为亟待解决的问题。
数字水印通过在受保护的数字对象(静止图像、音频和视频等)中嵌入水印来证明版权归属或跟踪侵权行为,水印可以是序列号、公司标志、文本等。它通过一定的算法将水印直接嵌入到多媒体内容中而不影响原内容的价值和使用,并且不能蝗说母兄低巢炀酢K⌒畔⒖梢圆糠只蛉看踊旌鲜葜谢指闯隼矗源锏桨嫒ū;さ淖饔谩?lt;/DIV>
目前,关于水印嵌入的文章很多,但多数嵌入的水印为二值水印。灰度水印比较二值水印,它所能表达的内容更加丰富,包含的信息量也远远大于二值水印。因此,直接嵌入灰
度水印必将严重影响原始载体图像的质量,这时可以考虑的一种方法是对原始信息进行压缩。本文采用DCT系数量化的方法,具体如下:
(1)将原始灰度水印信息的每个像素值减去128以尽可能消除直流成分,按8×8的数据块进行二文DCT变换,变换后的DCT系数用量化表(表1)进行量化。
(2)将量化后的系数按“之”字形排序,并选取前28个系数。
(3)将该28个系数分成三组:第1组 系数为前3个系数,即直流系数DC及前2个交流系数AC1、AC2;第2组系数为第4到第10个系数,即AC3~AC9;第3组系数为第11到第28的系数,即AC10~AC27。如图1-1所示。
(4)将第1、2组系数按位平面进行分解,考虑尽量减少嵌入的信息量,提取第1、2组系数的负号,并保存相应的位置,取绝对值后,按系数的大小分别用2个、4个、6个位平面分解,然后转化为一文系列并将所有的0以-1代替,最后形成对应于第1、2组系数的W1、W2待嵌入;仿效前面的方法处理第3组系数,因第3组系数所包括的交流系数过多,且大多数值较小(为0、1的占大多数),所以与前面不同的是将系数值大于7的系数置0,并按系数大小分别用1个、3个位平面分解。最后得到对应于第3组系数的一文系列W3。
通过以上处理的好处在于:
①减小嵌入的信息量,保留较多的DCT系数,从而保证原始水印的质量,文献[1]采用前5个系数用8位二进制表示,后5个系数用4位二进制表示,仅保留了前10个系数,而本文中保留了前28个系数。图2给出了原始水印图像和分别取前28个、前10个系数的比较结果。 ②由于减少嵌入的信息量,可将前10个重要系数嵌入到原始彩色图像的低频、中频小波系数中,而将后18个系数嵌入到高频小波系数中,从而在保证图像透明性的同时,增强了图像的鲁棒性。
③文献[1]中,将保留的前10个系数量化生成1文系列V后进行置乱处理,如果V中有嵌入到高频小波系数中,这样做的结果很可能将原始信息的一些重要系数嵌入到高频部分,从而降低了鲁棒性(对JPEG的压缩处理尤为明显)。本文中未对二值化后的1文系列进行置乱处理,却保留了DCT系数的负号,并且在位平面分解中,位平面个数随DCT系数值的大小而有所不同,在已知水印嵌入算法的条件下,也不可能恢复出水印,从而保证水印的安全性。
1.1 水印的嵌入
图3给出了一个基于小波变换的静态图像的金字塔式多分辨率分解示意图。图像的离散小波变换(DWT)由二文可分离的Mallat算法实现。
图像数据的每一级小波分解总是将上一级低频数据划分为更精细的高频数据。在多分辨率分解的第三层中,最低频子带LL3包含原始图像的最低分辨率信息,而HL3,LH3和HH3是LL3的精细图像信息,第三层图像的HL3,LH3和HH3包含第二层参考图像(HL2,LH2和HH2)的粗糙信息,而第二层图像(HL2,LH2和HH2)包含第一层参考图像(HL1,LH1和HH1)的粗糙信息。基于小波变换的图像多分辨率分解特点表明,它具有良好的空间方向选择性,与人的视觉特性十分吻合。 彩色图像有RGB、NTSC、HSV和YCbCr等色彩模型。最常见的是基于三基色原理的RGB模型,即自然界的任何一种颜色都可以用R、G、B三种基本颜色按不同比例混合得到,这三种颜色是相互独立的。NTSC模型特点是同一个信号可以同时表示彩色图像和灰度图像。在NTSC格式中包括Y亮度信息、I色度信息、Q饱和度信息。文中将图像转换到YIQ空间可以抵抗针对RGB空间的分色攻击,利用人类视觉系统的亮度掩蔽效应,将水印全部嵌入到Y分量中。RGB与YIQ之间的相互转换可用下列等式表示:
水印嵌入按下列步骤进行:
步骤1:图像色彩空间转换
实验用到原始载体24位真彩色图像Lena.bmp(512×512)和64×64×8bit的灰度水印头像。按(1)式将原始载体图像转换为YIQ空间。
步骤2:图像的小波变换
对原始载体图像YIQ平面的Y分量进行三级小波分解。
步骤3:嵌入策略
将前面数字水印生成(4)中的W1嵌入到图2-1 HL3、LH3、HH3中,W2嵌入到图2-1 HL2、LH2、HH2中,W3嵌入到图2-1 HL1、LH1、HH1中,W1、W2、W3分别嵌入3次。水印嵌入的位置按以下方法进行:将原始载体图像X分解后的小波系数取绝对值后排序,根据嵌入信息量的大小确定嵌入阀值k,只有绝对值大于k的小波系数嵌入信息。然后判断每一系数是否大于k,若大于k则嵌入水印,并记录其位置。水印嵌入公式为:
XW = X(1+αW)……(2)
步骤4:恢复RGB图像
将调整后的小波系数分别进行小波逆变换得到新的亮度分量Y′,再将Y′与原来的I、Q分量组合并转换为RGB颜色空间。得到含水印图像XW。
2 水印的提取过程
提取是嵌入的逆过程。分别将原始载体图像X与含水印图像XW进行RGB到YIQ的转换,然后将Y分量三级小波分解,根据嵌入水印时记录的嵌入位置,由(2)式得:
αW = XW/X-1……(3)
若αW>0,则提取的水印信息W′取1;
若αW<0,则W′取-1;
因为每组水印共嵌入3次,即分别嵌入到HL,LH和HH中各1次,根据W′的三次提取值,若有2次或3次提取值为1,则最终W′=1;否则W′=-1。将-1转换为0,按位平面分解时的逆顺序恢复数据,根据嵌入水印时保存的负号及位置,给相应的系数前加上负号。再进行DWT逆变换,恢复出水印。
3 实验结果与结论
3.1 水印的嵌入与提取
水印的嵌入根据子带所处的级数不同采用不同的加权系数。其中,对于低频部分,嵌入强度α=0.1;对于中频部分α=0.2;对于高频部分α=0.5。实验结果PSNR=51.122 dB,NC=0.9958。水印具有良好的透明性。
3.2 各种攻击实验结果
4结束语
本文根据人类视觉的掩蔽特性,针对原始载体图像小波分解后系数所处的级数不同采用不同的加权系数,并选择绝对值最大的系数嵌入水印。水印压缩后保留了较多的DCT系数,使压缩后的水印具有较好的质量。水印重复嵌入3次,若有1次提取错误,仍可正确恢复水印,因此具有一定的纠错功能。该算法简单、易于实现,具有一定的实用价值。