基于DFT变换的数字水印的嵌入与检测指导教师:付永钢报告人:林云龙研究背景随着社会信息化的发展,信息安全在社会中的地位和作用越来越重要。但随之而来的副作用是这些数字形式的数据文件或作品使有恶意的个人和团体有可能在没有得到作品所有者的许可下拷贝和传播有版权的内容。这一安全问题的日益突出,使得数字水印技术研究越来越受到重视,成为当前信息科学中的一个新颖且具有广阔应用前景的研究热点。数字水印典型算法按嵌入域的分类方法,数字水印包括空域数字水印和变换域数字水印。数字水印空域水印变换域水印变换域技术主要有DFT、DCT、DWT、Ridgelet和Contourlet。其中DFT方法把信号分解为相位信息和幅值信息,具有更丰富的细节信息,所嵌入的水印能抵抗图像的RST(旋转rotation)、比例缩放(scale)、平移(translation)操作,其在各领域得到了越来越广泛的应用。数字水印的评价标准峰值信噪比:本实验中max=255嵌入算法原理嵌入算法流程图嵌入算法步骤子块划分将原始图像分成8×8的图像子块:对每一图像块进行DFT变换8,1),,(),(1nmnmfnmfKkk8,1),,(),(nmnmfDFTvuFkk嵌入算法步骤修改相应幅度谱值由于DFT域的幅度谱具有对称性,为了水印嵌入后保持这种对称性不变,也为了确保恢复图像像素值为实数,嵌入水印时采用对称嵌入。嵌入算法步骤由于8*8分块的像素点值经过傅里叶变换后,各点之间的关系如上图所示,8*8分块的右下角7*7的二维数组呈中心对称分布,如图带小圆圈的区域,变换后的复数值的实部关于红色小圈中心对称,而虚部则关于中心对称互为相反数。嵌入算法步骤修改幅度谱值鉴于这种关系,我们嵌入信息时只对上图黑色、黄色、灰色,绿色的点进行操作,保持其他点不变,而且操作时对称位置要进行相同的处理,以确保恢复图像像素值为实数。如图3.3,为了方便,我们将红点作为原点建立直角坐标系,然后将第二象限的黑色、黄色区域设为Area1和Area2,将第一象限的绿色、灰色设为Area3和Area4,Area1到Area4的能量定义为E1,E2,E3,E4。的计算公式如下:嵌入算法步骤如上图,当嵌入水印矩阵元素为0或1,根据上面的公式修改相应的区域能量值,即修改相应的像素点幅度值。由于本文运用的二值图像的像素值是0和255,所以得先把0、255转化成0和1,得到二维的水印序列。在根据水印序列值及其位置在原始图像的相应图像分块位置进行嵌入。嵌入算法步骤对每一图像块进行DFT逆变换得到含水印图像8,1),,(8,1),,(nmnmfIDFTnmnmfkk8,1),,(),(1nmnmfnmfKkk提取算法原理提取算法流程图提取算法步骤子块划分将嵌入水印图像分成8×8的图像子块8,1),,(),(1nmnmfnmfKkk对每一图像块进行DFT变换8,1),,(),(nmnmfDFTvuFkk计算区域能量值提取算法步骤提取水印为了方便讲析,我们定义S=(E1+E3)-(E2+E4).由于嵌入水印图像可能外界的影响,各点的像素值可能会发生改变,能量差S不一定是大于TH2或小于-TH2,有可能-TH2STH2,因此提取水印时我们取TH2=0,这样就能减少S的值落在-TH2和TH2之间时提取水印的误差。当8*8分块区域能量E1,E2,E3,E4满足式S0时,嵌入位为1,也即该分块对应的水印图像的像素点的像素值为255.当8*8分块区域能量E1,E2,E3,E4满足式S0时,嵌入位为0,也即该分块对应的水印图像的像素点的像素值为0.而当S=0的特殊情况时,我们取嵌入位为0,也即该分块对应的水印图像的像素点的像素值为0.如此,就得到了提取水印图像。试验结果及分析原始宿主图像是256*256*8b的lena灰度图像试验结果及分析水印图像是一幅32*32的二值图像下面是嵌入强度k=50时,用C++软件进行试验的结果:试验结果及分析原始图像嵌入图像试验结果及分析原始水印提取水印试验结果及分析嵌入强度k=50峰值信噪比psnr=47.698277水印误差率S=0.016602不同嵌入强度下试验结果本节分别测试了嵌入强度k在50、70、90、三种不同取值时,添加噪音和剪切图片后嵌入水印图像与提取水印的效果,并分别计算了峰值信躁比(PSNR)和水印误差率。不同嵌入强度下试验结果嵌入强度K=70,PSNR=47.729583,S=0.012695嵌入图像提取水印不同嵌入强度下试验结果嵌入强度K=90,PSNR=47.668804,S=0.010742剪切图片嵌入强度K=90,PSNR=47.698277,S=0.099609添加噪音嵌入强度K=90,S=0.043945总结本文提出的算法计算简单,易于实现,满足水印的实时嵌入和提取。该算法了对一般的信号处理攻击时鲁棒的。从上面的效果图中比较可知:第一,不可见性良好,从而提高了它的隐秘性;第二,该水印算法对噪音和攻击具有一定的抵抗能力,经过攻击后提取出的水印还能够比较清晰地辨认出来,具有叫强的鲁棒性。不过任何算法都不是完美的,本文中的算法对于滤波、旋转、缩放等鲁棒性仍然不高,所以性能还需要进一步完善。