小波变换在数字水印中的应用
图2 图像经离散小波变换的三层多分辨率分解示意图
(2)水印的嵌入强度
为了在宿主图像中嵌入尽可能大的水印信息量,但又不能使宿主图像产生明显的失真,必须对嵌入强度进行加权。另外考虑到人类视觉特性,嵌入水印强度因子k分别为:0.007。
(3)水印的嵌入
第1步:将原始图像I进行一级离散小波变换,选取低频部分的子带进行嵌入操作。
第二步:将水印图像在原始图像大小上进行按块排列W:
将水印信息进行延拓
第2步:将水印图像W进行一级小波变换,取LL低频子图像得W1:
第3步:在得到W1后判断W(I,j)是否为0,若为0则a=-0.1否则为a=0.1;将水印嵌入到原始图像I的一级小波变换后的低频子图像中。水印的嵌入方式为:
fi,j=fi,j+a *k if W1(I,j)=0,a=-0.1 fi,j= fi,j - a *k if W1(I,j)=1,a=0.1 第4步:对嵌入水印的图像进行逆离散小波变换,便得到
第 11 页 共 34 页
小波变换在数字水印中的应用
嵌入水印的图像 I' 。 (4)水印的提取
第1步:将加入水印的图像减去原始图像,然后对其进行二值化处理。 f(i,j) = 255; if f(i,j)>0 f (i,j) = 0; if f(i,j)<0
第2步:对得到的图像进行水印嵌入中第二步的反操作得W2,再对W2进行处理:W3=W2/8,这样就得到了水印图像W3:
叠加后求
3.3.2 实验结果及分析
实验分别采用大小为64*64画面内容MCK二值图像,宿主图像采用512*512的灰度图baboon.bmp。实验结果如下:
图像嵌入水印信息后,与原始图像比较起来,很难看出差别,没有带来明显的失真,不可感知性非常好。
此算法不具备抵抗攻击性,在受到攻击时将无法提取水印。 此算法的性能评价:信噪比为55.4015。 误码率为211
第 12 页 共 34 页
小波变换在数字水印中的应用
图4 bird.bmp加入水印前后
(1)原始图像 (2)水印 (3)加入水印后图像 (4)提取的水印图像
3.4 基于DCT变换的数字图像水印 3.4.1 DCT域图像水印
离散余弦变换(DCT)是数字信号处理技术中最常用的线性变换之一,存在快速算法。离散余弦变换是实变换,具有很好的能量压缩能力和去相关能力,在数字音频信号压缩和图像压缩等领域得到广泛应用。特别是数字图像的JPEG压缩标准就是建立数字水印的在离散余弦变换基础上的。基于JPEG压缩标准模型的水印嵌入算法可以增强水印抵抗JPEG压缩的能力,因此离散余弦变换在数字水印处理技术中受到普遍重视。
在DCT域,不同的DCT系数作为水印载体对水印的稳健性有不同的影响。为了使水印具有较好的稳健性,用来嵌入水印的DCT系数应满足如下条件:
(1)在经过常见信号处理和噪声干扰后仍能很好地保留,即这些 DCT系数不应过多地为信号处理和噪声干扰所改变。
第一个要求是为了保证水印在嵌入图像后有较好的稳健性。当加入水印的 DCT系数被改变较小时,水印便更可能被保留,这是显然的。
第 13 页 共 34 页
小波变换在数字水印中的应用
第二个要求是同时针对不可见性和稳健性而提出。较大的感觉容量意味着在主观视觉效果不变的前提下有较大的改变裕度。这也意味着可以嵌入较强的水印信号。
根据这二个要求,低频 AC 系数作为嵌入水印的位置的较好选择已被逐渐采用,并得到共识.然而被人们忽视的一个事实是,DC分量比任何 AC 分量更适合嵌入水印信号。
这个事实有二方面的理由:
(1)与AC系数相比 DC系数的振幅大得多。 图1 显示了几幅常用的图像(均为256 ×256 ×8bits)在经过分块 8 ×8DCT变换后在不同的空间频率上系数的平均值(平均振幅)。在图像中嵌入水印可视为在强背景下迭加一个弱信号。
根据 Weber定律和视觉系统的照度掩蔽(luminance masking)特性,背景亮度越亮(DC系数值越大),嵌入信号的可见性检测门限就越高,即 DC系数(代表图像块的平均亮度)的感觉容量越大。图1表明,DC系数的值通常比最大的AC系数值还要大几十倍。甚至上百倍以上。空间频率越高,系数的平均振幅越小.分析和实验结果表明,与AC系数相比,尽管 DC系数可以被改变的比例不如 AC系数大,但可改变的绝对值却比AC系数大得多。这意味着 DC系数具有比AC系数更大的感觉容量。 (2)根据信号处理理论,嵌入水印的图像最有可能遭遇到的信号处理过程,如数据压缩、低通滤波、次抽样、插值、D/A和A/D转换等,对DC分量的保护比 AC分量要好。实验结果表明,Gaussian噪声干扰对 DC分量和 AC 分量的影响程度大致
第 14 页 共 34 页
小波变换在数字水印中的应用
相同。
图2比较了嵌入 DC分量和低频 AC分量的水印在JPEG压缩和 Gaussian噪声干扰下的稳健性能。 纵轴表示从失真的水印图像中抽取的水印 W3 与原始水印:
从图2可以看出嵌入 DC分量比低频AC分量的水印在JPEG压缩和 Gaussian噪声干扰下的稳健性能更好。
水印的嵌入和提取
数字水印的嵌入:水印嵌入就是把水印信号W={w(k)}嵌入到原始图像X0(k)={x0(k)}中。水印嵌入过程如图1 所示。水印嵌入准则分为:
加法准则:x(K)=x0(K)+a*w(k) 乘法准则:x(K)=x0(K)*{1+ a*w(k)}
a 为强度因子,为了保证在水印不可见的前提下,尽可能提高嵌入水印的强度。a 的选择必须考虑图像的性质和视觉系统的特性。
基于DCT域的数字水印嵌入的具体算法:设X 是M*N 大小的原始图像,W 是水印图像,大小为P*Q,M 和N 分别是P 和Q 的偶数倍。把水印w 加载到图像X 中,算法分以下几步进行:
将X 分解为(M/8)*(N/8)个8*8 大小的方块BX(m,n),同时,将W 也分解为(M/8)*(N/8)个(8·P/M)*(8·Q/N)大小的方块BW(m,n),1= 对每一个BX(m,n)进行DCT 变换:DBX'(m,n) =DCT(BX(m,n)); 第 15 页 共 34 页