基于DCT变换域的数字水印算法研究 下载本文

基于DCT变换域的数字水印算法研究

摘要:针对数字产品的版权保护问题已变得尤为迫切。数字水印技术对原始文件的保护是不可见的,即插入水印后的文件并不会引起人们对水印的注意。仅当该作品因版权产生纠纷时,可以通过用特定的方法将插入的水印提取出来,以达到保护所有者权益的目的。常用的基于变换域的数字水印算法有基于傅立叶变换的算法(DFT)、基于离散小波变换的算法(DWT)、基于离散余弦变换的算法(DCT),这些算法是研究变换域其它算法的基础。对基于DCT变换域的数字水印算法的一般方法进行了研究,包括DCT域的数字水印原理、水印控制量分析、水印嵌入算法与水印信息提取方法实现等。

关键词:数字水印;DCT变换域;离散余弦变换算法;鲁棒性

DOIDOI:10.11907/rjdk.161066 中图分类号:TP312

文献标识码:A 文章编号:1672-7800(2016)005-0055-03 0 引言

数字水印技术是利用一些手段把用来说明该数据所有权的水印信息嵌入到原始数据中。被嵌入的水印信息可以是

序列号、标识、文字等一些可以说明该作品所有者的信息。通常添加的水印是不可见,水印信息隐藏在被嵌入的媒体中并与之紧密结合,不可分离,甚至在历经一些非破坏性的数据操作后,依然会被保存下来,只有通过相应的方法才能将水印提出[1-3]。

针对数字水印鲁棒性的研究已成为近几年的研究热点。其中,Brani提出通过对图像作全局DCT变换,然后将一个随机序列嵌入到中频系数的方法;HSU等提出了一种8×8的DCT变换算法;Swason提出了利用空间掩蔽特性来实现水印的嵌入。随后,基于DWT的数字水印算法也相继提出,Kundur等提出基于小波变换的公开和私有水印算法;Ruanaidh提出DFT域相位水印;黄继武等提出的基于图像DCT系数的振幅定量分析中,首次提出DC分量也可以用来嵌入水印;刘九芬等提出双正交小波中的9/7、7/9、5/7、7/5小波适用于作为数字水印中的小波基[4-6]。另外,还有部分学者对易损水印技术进行了研究,如Walton提出基于内容的方法等。

如何更有效地将水印技术进行应用与推广,是目前研究的重要方向。在数字水印算法中,基于变换域的嵌入水印信息比基于空域的嵌入信息具有更强的鲁棒性。将一幅图像从空域转换到变换域的方法很多,最常用的有离散余弦变换、离散小波变换、离散傅立叶变换等方法。本章以离散余弦变

换为例,对变换域下的数字水印算法和仿真方法进行了研究。 1 基于DCT变换域的数字水印原理 1.1 DCT变换域算法

DCT变换算法是一种常用的数码率压缩编码方法。其基本思想是先将原图分成N×N的子块,然后逐个对各个子块作DCT变换,将水印信息嵌入,再把嵌有水印信息的DCT系数子块进行逆向DCT变换,即合成了嵌入水印的图像。而水印的提取与嵌入算法类似。 对N×N像素矩阵px(a,b)的二维DCT变换定义为:

其中,N为每个图像块的垂直与水平像素数,通常情况下设N=8,当N值大于8时会大大增加算法的复杂性。8×8的二维数据块经过DCT变换会产生8×8个有明确物理意义的变换系数。当a=0,b=0时,DCT(0,0)是原来64个样值的平均值;假设一个由64个像素值组成的基本图像,该图像任何一块在作了离散余弦变换后都可用64个不同大小的系数组合起来表示。但如果把该图像看成变换域中的单一系数,则任何像元都可被看成是由64个不同幅度的基本图像的组合。因此,使用DCT算法嵌入水印过程如下:首先将载体划分为8×8块,然后将二维水印图像作降维处理,可得到一串二进制数Wi;

经过调整,再对该块进行离散余弦逆变换。当64块处理完后,即得到嵌入水印的图像。