基于离散余弦变换的数字水印算法研究与实现
2013-07-29池越周亚同
池越 周亚同
【摘要】讨论了基于离散余弦变换的数字水印算法原理及其具体步骤,并通过仿真实验实现了数字水印的嵌入和提取,验证了算法的可行性。
【关键词】数字水印小波变换离散余弦变换
一、前言
数字水印作为信息隐藏的一项重要技术,已广泛应用于信息安全的多个領域之中。离散余弦变换(DCT)作为一种传统的算法,是数字图像处理和信号处理的一种正交变换,具有压缩比高、误码率等优点,将其应用于数字水印算法实现水印的前如何提取十分有效。
二、基于离散余弦变换的数字水印算法
从数字水印的不可见性出发,基于DCT域数字水印算法应将水印信息嵌入到原始图像的低频部分,但这样得到的水印图像无法抵御如JPGE压缩等有损压缩的攻击;如果从数字水印的鲁棒性角度出发,应将水印嵌入到原始图像的高频部分,但这样得到的水印图像与原始图像在视觉上会有明显的差别[2]。这里提出的基于离散余弦变换的数字水印算法,主要是将水印嵌入到图像DCT频域的DC分量上,因为这是对人类视觉感受比较重要的部分。算法在保证数字水印鲁棒性的前提下,考虑图像的HVS特性和自身特点,使数字水印的强度自适应于原始图像,进而保证了数字水印的不可见性。
基于DCT的数字水印算法是先将原始图像分割成8x8的块,依据HVS特性对块进行分类后,再对所有的块进行DCT变换。在DCT域中,根据各块的分类结果,将不同强度的水印分量嵌入到相应块的DCT系数当中。原始图像的分块示意图如图1所示,每个8x8块的DCT系数都按照的顺序进行排列。图像左上角的第一个系数为直流系数用DC表示,接下来排列的是低频系数,并且随着排列序号的越大对应的频率越高,图像右下角对应的是最高频率的系数。因此不难看出,DCT变换可以按照能量的大小将图像的频谱系数进行区分,这更有利于进行相应的频谱操作[3]。
三、基于离散余弦变换的数字水印算法的实现步骤
采用的水印信息是一幅64×64的二值图像,原始图像是512×512的lena图像。基于离散余弦变换的数字水印的嵌入算法具体步骤如下:Step1:读入并显示原始图像和水印图像;Step2:将原始图像分割成8×8的块,用坐标将需要隐藏的图像表示出来,并对每一块图像进行DCT变换;Step3:嵌入水印图像,如果水印图像值为1,则取,如果水印图像值为0,则取(其中为随机矩阵);Step4:将水印信息嵌入原始图像的所有块中,并对嵌入后的图像进行IDCT变换;tep5;显示嵌入水印后的图像。
基于离散余弦变换的数字水印提取算法是水印嵌入算法的逆过程,具体步骤如下:Step1:读出嵌入水印后的图像。Step2:将读入的图像分成8×8的块,并对每一块图像进行DCT变换;Step3:读出嵌入水印图像时和的信息,即嵌入的水印图像信息;Step4:读出并显示提取出的水印图像。
四、水印嵌入提取实验结果
采用的原始图像是256×256的lena图像如图2,水印信息是一幅32×32的二值图像如图3。
经DCT变换后生成嵌入水印图像,图4为嵌入水印后的图像,根据人的视觉特性,可以观察出水印嵌入之后对原始图像在视觉上变化甚微。具有良好的透明性。水印的提取和嵌入是相反的过程。图5为提取后的水印图像与原水印图像的比较。
五、结论
数字图像水印技术的核心是将数字水印信息嵌入到图像中,同时保证所加水印的不可见性。通过对基于DCT变换数字水印算法的研究实验发现,算法嵌入后的水印图像具有很好隐蔽性,并可以顺利的提取水印,提取出的水印与原水印相似度很高。
参考文献
[1]刘为超.基于小波的数字图像认证水印研究:[学位论文],西安:西安电子科技大学,2005
[2]孙圣和,陆哲明.数字水印处理技术.电子学报,2000(8):85~90
[3] CT Hsu,JL Wu. Hidden Digital Watermarks in Images[J] .IEEE Transactions on Image Processing, 1999,8(1):58~68