3.2.2 水印的嵌入
水印的嵌入过程如图4一1所示,首先将原始图像x(f,y)分割为互不重叠的8X8子块,然后根据公式3一5对各图像子块进行DCT变换。可将水印嵌入到8个DCT中频系数中。由与视觉特性相结合的PJEG亮度量化表可知,人眼对这8个DCT中频系数的视觉敏感性不同,因此,由JPEG亮度量化表来确定这些中频系数的不同嵌入强度,使量化步长较小的元素嵌入较大的水印能量,而量化步长较大的元素嵌入较小的水印能量。设q (u,v)为JPEG量化表中位置 (u,v)元素的量化步长,设第k个图像子块中8个DCT中频系数公共的嵌入强度参数为ak,则第k个图像子块中频率
为 (u,v)的嵌入强度为:
其中,q (u,v)已知,只要确定ak的大小即可确定8个DTC中频系数的水印嵌入强度。根据4.1.3节有关水印嵌入强度的分析来估计嵌入强度大小。设ak 的搜索区间为【a,b],则用二分法估计在一定的图像失真度约束下的图像某子块的嵌入强度参数ak的算法步骤如下:
(1)令a= (k +ab)/2,由公式4一n得到8个中频系数的嵌入强度ak (u,v) 的小,水印的位息按如下式入到图的DCT:
其中,A={(0,4),(0,5),(1,3),(1,4),(2,2),(2,3),(3,1),(4,0)}。对调整后的图像进行DCT变换,得到含水印图像。
(2)计算当前子块的图像质量Qk,若满足公式4一8,则ak即为所求,进入(5)。 (3)若Qk>To,则表明水印的嵌入强度还不够大,这时应调整ka的搜索区间,在目前ak值的右半侧进行搜索,令a=ak,返回(1)。
(4)若Qk>To,则表明水印的嵌入强度过大,造成图像较大失真,调整ak的搜索区间,在目前ak值的左半侧进行搜索,令b=ka,返回(1)。
- 21 -
(5)输出满足条件的嵌入水印的图像子块。
重复上述过程,为每个图像子块找到合适的嵌入强度参数ak,从而确定嵌入强度的大小,最后输出满足条件的含水印图像。
? 测试过程:
(1)用HVS_DWT_Recover程序中的参数hasCut置1来测试,并在程序中从大到小修改cutsize的大小。当块大小为4x4时隐藏的信息刚好完整提取出来,剪切效果及水印如以下各图表所示。
表5-1 不同剪切效果的水印图像
剪切块大小 水印图 ans 2X2 0.5052 4X4 0.9492 8X8 -0.0321
(a)原图像 (b)4X4
图3-3剪切效果
(2)另外,为了验证最佳抗剪切攻击的尺寸。做了以下实验:
用HVS_DWT_Recover程序中的参数hasCut置1,forHiding置0来测试,并在程序中从大到小每间隔一定值来修改cutsize的大小。直到找出最佳抗剪切攻击的水印。同样,根据实验得出的cutsize与相应的ans值,结果可通过matlab的plot语句表示出参数曲线图,能更加客观地说明剪切效果。
如下所示:
表5-2 最佳抗剪切攻击水印结果
Cutsize值 水印 Ans 30 0.9492 100 0.9114 200 0.7725 239 300 0.6377 0.3813 利用以上参数得出线性图: - 22 -
图5-3 线性图
可见,无论如何修改cutsize的参数,程序都能解出水印,可见鲁棒性很好。
3.3 水印的提取
这里提取水印的过程需要原始图像的参与,水印的提取过程(如图4一2)主要由以下3个步骤组成:
(1)抽取水印序列
将原始图像F (x,y)和被测图像F’ (x,y)分别进行分块DCT变换,根据水印的嵌入公式4.11抽取出数值序列:
(2)设定水印的位值 按如下方式设定水印的位值:
若抽取出的数值大于0.15,则设该二进制位为1,否则设该二进制位为0。 (3)重构水印图像
在水印的预处理阶段曾对水印信息进行了位分解,得到的二进制序列重构水
- 23 -
印图像各像素的值:
(4)Anrold变换
将得到的图像进行Arnodl变换,恢复水印图像,变换次数为:
其中,T为Arnodl变换周期,k为预处理过程中的变换次数。
3.4 水印的检测
水印的检测过程是判断被测图像F’ (x,y)中是否存在水印。相似度
式为:
若p>T,可以判定被测图像F’ (x,y)中存在水印;否则,不存在值T的选取要同时考虑虚警概率和漏警概率,通常T被设定为5。
4 仿真分析
本文实现了所提出的基于DTC域的图像隐形水印算法。该算法采用数字图像处理中的一些典型图像进行测试。基本的硬件配置为内存256M以上,硬盘200M以上,操作系统为WindowsXP,实现工具为MatLab7.0。
先把水印图像进行Arnodl变换,用含水印图像进行位分解,得到实际待嵌入的水印序列。对于图像失真阀值TQ,应使它尽量接近于不可见和可见的界限,从而在嵌入更强的水印情况下又不致于影响水印的不可见性。由实验设TQ为0.09982。在实验过程中,依据TQ用二分法不断地调整水印的嵌入强度,得到嵌入水印的图像。从主观视觉效果看,原始图像和含水印图像没有非常明显的视觉差别。通常设相似阀度值T为5。
- 24 -
4.1 水印的性能测试
Cox水印算法用固定的嵌入强度,它与本文的自适应水印算法进行比较(如表4一2)。自适应算法的嵌入强度为所有嵌入强度的平均值。表4一2中Cox算法以固定的强度2.1520将水印到8个DCT中频系数中,含水印图像
PSNR=30.6206,Q=0.09901。自适应算法根据图像特性以不同的强度嵌入水印,嵌入强度的均值为2.1520,含水印图像PSNR=37.9879,Q=0.09982,图像质量明显优于Cox算法。
为了考察算法的稳健性,对含水印图像(图4一6)进行了JPGE压缩、剪切、滤波和加噪等常见的信号处理测试。
- 25 -