张 源
[摘要]介绍数字水印的基本特征、一般水印系统的框架,列出空域算法、变换域算法等典型的数字水印算法,并分析数字水印嵌入的代表技术扩展频谱法。最后,对数字水印的应用进行总结展望。
[关键词]数字水印 算法 扩展频谱法
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0510105-02
一、数字水印的基本原理
数字水印技术被广泛应用于版权保护、文档的真伪认证、信息的安全通信以及多媒体数据的访问控制和复制控制等方面,并且其应用领域还在不断扩大。
(一)数字水印的基本特征
对现实世界中健壮的水印系统而言,一般应具有如下特性:
1.不可感知性:对于数字水印来说,是指视觉上的不可见性,即因嵌入水印而引起的图像的变化对观察者的视觉系统来讲应该是不可察觉的,最理想的情况是水印图像与原始图像在视觉上一模一样,这是绝大多数水印算法所应达到的要求。对于音频信号来说是指嵌入水印后引起的变化应低于人耳的听觉感知门限。因此用来嵌入水印的每个样本值(或像素、音素、特征等)只能做微小的修改。
2.稳健性:稳健性问题对水印而言极为重要。一个数字水印应该能够承受大量的、不同的物理和几何失真包括有意的(如恶意攻击)或无意的(如图像压缩、滤波、扫描与复印、噪声污染、尺寸变化等等)。显然在经过这些操作后稳健的水印算法应仍能从水印图像中提取出嵌入的水印或证明水印的存在。
(二)一般水印系统的框架
通用的数字水印算法包括水印嵌入、水印检测或提取两方面。水印可以由多种数据类型组成,如随机数字序列、数字标识、文本以及图像等。设I为载体数据(数字图像),W为水印信号,K为密钥(通常为生成随机序列的种子数),则水印的嵌入过程定义为:IW=G(I,W,K)。G为算法,IW为嵌入后生成对象,如图1.1所示。
水印检测或提取是水印算法中最重要的步骤。一般水印提取方案如图1.2所示。
一般水印检测方案如图1.3所示。
二、典型数字水印算法
由于水印应用范围及目的不同,产生了不同的水印方案。除了水印的不可感知性是必须满足的,不同的水印方案还会考虑假设检验(Hypothesi
s Testing)、稳健性(鲁棒性)、安全问题和密钥的使用等方面。
典型的数字水印算法有空域算法、变换域算法、压缩域算法、NEC算法、生理模型算法等。
(一)空域算法
该类算法中典型的水印算法是将信息嵌入到随机选择的图像点中最不重要的像素位上,这可保证嵌入的水印是不可见的。但是由于使用了图像不重要的像素位 ,算法的鲁棒性差,水印信息很容易为滤波、图像量化、几何变形的操作破坏。另外一个常用方法是利用像素的统计特征将信息嵌入像素的亮度值中。
(二)变换域算法
该类算法中,大部分水印算法采用了扩展频谱通信技术。算法实现过程为:先计算图像的离散余弦变换(DCT),然后将水印叠加到DCT域中幅值最大的前k系数上(不包括直流分量),通常为图像的低频分量。若DCT系数的前k个最大分量表示为D={di},i=1,…k,水印是服从高斯分布的随机实数序列W={wi},i=1,…k,那么水印的嵌入算法为di=di(1+awi),其中常数a为尺度因子,控制水印添加的强度。然后用新的系数做反变换得到水印图像I。解码函数则分别计算原始图像I和水印图像I*的离散余弦变换 ,并提取嵌入的水印W*,再做相关检验以确定水印的存在与否。该方法即使当水印图像经过一些通用的几何变形和信号处理操作而产生比较明显的变形后仍然能够提取出一个可信赖的水印拷贝。一个简单改进是不将水印嵌入到DCT域的低频分量上,而是嵌入到中频分量上以调节水印的顽健性与不可见性之间的矛盾。另外,还可以将数字图像的空间域数据通过离散傅里叶变换(DFT)或离散小波变换(DWT)转化为相应的频域系数;其次,根据待隐藏的信息类型,对其进行适当编码或变形;再次,根据隐藏信息量的大小和其相应的安全目标,选择某些类型的频域系数序列(如高频或中频或低频);最后,将数字图像的频域系数经相应的反变换转化为空间域数据。该类算法的隐藏和提取信息操作复杂,隐藏信息量不能很大,但抗攻击能力强,很适合于数字作品版权保护的数字水印技术中。
(三)NEC算法
NEC算法在数字水印算法中占有重要地位,其实现方法是,首先以密钥为种子来产生伪随机序列,该序列具有高斯N(0,1)分布,密钥一般由作者的标识码和图像的哈希值组成,其次对图像做DCT变换,最后用伪随机高斯序列来调制(叠加)该图像除直流(DC)分量外的1000个最大的DCT系数。该算法具有较强的鲁棒性、安全性、透明性等。该实数序列应该具有高斯分布N(0,1)的特征。
(四)生理模型算法
人的生理模型包括人类视觉系统HVS和人类听觉系统HAS。利用视觉模型的基本思想均是利用从视觉模型导出的JND(Just Noticeable Difference)描述来确定在图像的各个部分所能容忍的数字水印信号的最大强度,从而能避免破坏视觉质量。也就是说,利用视觉模型来确定与图像相关的调制掩模,然后再利用其来插入水印。这一方法同时具有好的透明性和强健性。
三、扩展频谱法的介绍
数字水印技术的一项重要成果是由Cox等人提出的扩展频谱法。传统水印嵌入技术一般都是将水印嵌入到图像中的最不容易感知的区域,但这样区域常常会受普通的图像处理操作的影响,因此水印较易丧失。如果将水印叠加到较容易感知的区域,就可以避开常规图像处理操作的破坏。对于那些试图通过直接修改这些单元的值来消除水印的攻击者,在他们达到目的前,图像早已失真。这样,水印的鲁棒性大大增强,但如何维持不可见性呢?扩展频谱法巧妙地解决了这对矛盾。
扩展频谱水印嵌入技术是受扩展频谱通信理论的启发而产生的。根据扩展频谱通信理论,如果把一个窄带信号放在大得多的带宽中传送,那么在任何单一频率上的信号能量都会小到测不出来。扩展频谱水印嵌入在频率域上进行,流程图如图3.1所示。
水印嵌入的主要处理步骤有:
1.将要嵌入的信息位用伪随机信号调制成M个实数组成的伪随机序列,呈平均值为0、方差为1的正态分布。这样就将水印能量分散到一个很大的频率范围,而在每个频率上值很小。如要在一张256×256的图像上嵌入80位的版权声明,水印长度M可以达到16000。
2.对图像做离散余弦变换(DCT),得到图像的频率域形式。兼顾不可见性和鲁棒性,选取中频区域放置水印,因此跳过前L个系数,对从L+1至L+M的系数进行修改。沿用上面的例子,L可以取25000。
3.系数修改采用公式:Dw(L+i)=D(L+i)+kD(L+i)W(i)。其中,D为图像的DCT系数序列;i=1…k;k为尺度因子(比如0.2),控制水印嵌入强度。
4.最后,对频率域系数做逆转换IDCT,得到空间域的水印图像。
要检测一张可能受损的图像是否含有水印,先分别计算这张图像和原始图像的DCT,两者相减得到水印:W*(i)=(D*W(L+i)-D(L+i)/k。再计算这个提取出来的水印和原始水印的相关性:z=(1)/(M)∑Mi=1W*(i)W(i)。因为水印服从平均值为0,方差为1的正态分布,理论上,两个不同的水印计算出来的相关性为0,而相同的水印则能得出高的相关性值。在实际应用中,如果提取出来的水印和某个水印的相关性大于阈值,就证明图像中嵌入了这个水印。
实验表明,即使水印图像经过一些通用的几何变形和信号处理而产生比较明显的画质下降后,该方法仍能提取出一个可依赖的水印拷贝。例如,即使对水印图像做10%质量的JPEG压缩,检测器对原先嵌入的那个水印的反应(也就是相关性)仍达到0.016,而对其他水印的反应则小得多。又比如,将水印图像的尺寸缩小一半,检测时先将水印图像恢复成原来的大小,这样一缩一放后图像的精度显然要遭受损失,但检测器反应还是达到0.017,高于
检测阈值,水印检测的有效性得到了保证。
四、总结与展望
数字水印技术的提出就是为了解决信息化道路上障碍问题,是多媒体信息安全保障的有力技术手段。目前为止,虽然鲁棒性问题没有得到完美的解答,但是,具有相当鲁棒的算法大量存在,已经能够达到相当的保护能力。但是,数字水印技术仍然存在很多问题,对其应用也有多个方面可以加强研究。以前的水印算法几乎全是独立的,没有根据具体的应用要求设计,因此可根据现有的应用制定相应的具体要求,并据此选择、设计水印算法。另外,可以加强实时性水印以及基于网络特性的水印的研究。将网络与水印算法结合起来,在网络环境中解决多媒体信息安全问题,是数字水印技术的一个巨大挑战,也是数字水印技术的重要应用方面。
参考文献:
[1]王颖、肖俊、王蕴红,《数字水印原理与技术》,科学出版社,2007.
[2]Ingemar J.Cox,Matthew L.Miller,Jeffrey A.Bloom,《数字水印》,
电子工业出版社,2003.
[3]钟桦、张小华、焦李成,《数字水印与图像认证--算法及应用》,电子科技大学出版社,2006.
[4]黄继武,《一种自适应图像水印算法》,自动化学报,2000.
作者简介:
张源,男,河北深州人,西南大学荣昌校区信息管理系,助教,研究方向:信息管理。