1、基于DCT-SVD和标记矩阵的鲁棒可逆数字水印算法阮涛 张学波:为解决数字水印不可感知性与鲁棒性之间的矛盾,提出基于DCT-SVD变换域上的数字水印算法,充分利用图像压缩标准提升不可感知性,利用SVD变换提升鲁棒性。采用求模量化方法进行嵌入,实现数字水印信息盲提取,采用同步生成标记矩阵方式,实现可逆图像生成。仿真实验说明,算法可逆性好,抵抗几何攻击、平滑滤波等攻击能力强,算法实现了鲁棒性与可逆性的统一。关键词:数字水印;离散余弦变换;混沌加密;奇异值分解中图分类号:TP309.7 文献标识码:A 文章编号:1007-9416202307-0116-050 引言近年来,数字水印技术广泛应用于保护
2、数字产品的版权,证明产品的真实可靠性,跟踪盗版或提供产品附加信息等。数字水印算法的很多特性是相互制约的,如不可感知性和空间效率、鲁棒性之间,平安性、可逆性和时间效率、空间效率之间都是相互制约的。为了提升算法特性,变换域嵌入算法成为研究的主流方向。其中,DCT变换能量集中,实现简单,为图像压缩标准使用,利于提升不可感知性。SVD变换具有唯一确定性、改动幅度小、空间复杂度低等优势,利于提升鲁棒性。基于DCT-SVD混合域嵌入算法,受到不少研究者青睐。对当前各类数字水印算法进行了综述,概括总结了各类算法优缺点,对研究领域前景进行了展望1-3。对载体图像进行三级DWT变换,由低频子带提取特征构造图像哈
3、希水印,在DCT-SVD域最大奇异值上加性嵌入水印信息,算法不可感知性和鲁棒性性能优异,但未能实现盲提取4。对图像子块的DCT系数矩阵进行SVD分解,通过三角函数修改左正交矩阵实现数字水印嵌入,算法抵抗JPEG压缩与椒盐噪声能力更强,提取数字水印的正确率更高,但文中未对抵抗其他攻击能力进行验证5。充分利用彩色图像的冗余空间,提出一种新颖的基于三维离散余弦变换和奇异值分解的彩色图像数字水印算法,具有较好透明性的同时,能够抵抗常规信号处理和模糊、扭曲及锐化等攻击,但由于在不同区域两次嵌入了同一二值水印图像,嵌入容量事实上并未增加,算法抵抗噪声攻击能力较差6。提出基于果蝇优化算法和DWT-SVD的数
4、字水印算法,对载体图像进行二级小波变换,在直流子带中分块奇异值分解,选取最大奇异值,确定最正确适应度函数,用果蝇优化算法寻找最正确嵌入强度,算法同时满足不可见性与鲁棒性要求,但对于512512的载体图像来说,选取的水印图像为3232,嵌入容量较小7。提出基于果蝇优化与DCT的数字水印技术,生成两个八位随机矩阵嵌入中频系数中,实现了水印信息盲提取,能够有效抵抗各种类型攻击,但算法不可感知性较差8。提出基于奇异值分解的鲁棒零水印算法,利用小波变换与奇异值分解生成零水印,保存至版权保护中心CA,算法未对原始图像进行更改,平安性高,实现了广义的“可逆性,但使用过程依赖于CA,适用范围受到限制9。在DC
5、T-SVD域直接加性嵌入数字水印信息,算法不可感知性和鲁棒性好,但未能实现盲提取10。先对载体图像进行小波变换,将数字水印嵌入低频区域中,将嵌入鲁棒数字水印的图像与原载体图像的残差作为可逆数字水印嵌入高频区域,仿真实验说明,两次嵌入相互影響小,算法鲁棒性较高,并实现了可逆性,缺点是时空效率低,平安性受到一定程度影响11。综合分析上述算法,大多数在混合域上实现水印嵌入,鲁棒性较好,但未涉及可逆性研究,有的算法未能实现盲提取。零水印算法,适用性受到限制9。实现了鲁棒性与可逆性的统一,但是采用的分别嵌入鲁棒信息和可逆信息的方法,空间效率受到影响,不利于平安性11。为综合实现数字水印鲁棒性、不可感知性
6、、盲提取、可逆性,本文拟研究的重点为:提出基于标记矩阵的可逆水印算法,嵌入鲁棒信息的同时实现可逆性;使用Arnold置乱和Logistic混沌序列加密,生成多密钥,提升平安性;使用求模量化技术实现水印信息嵌入,实现盲提取。1 关键技术1.1 DCT变换离散余弦变换DCT是离散傅里叶变换DFT的一种特殊形式,二维DCT变换公式如下:通过DCT变换,图片像素矩阵被分为直流DC分量低频分量和交流AC中高频分量,直流分量集中的能量较多,多为纹理和背景局部,交流分量集中的能量较少,多为突变或者细节局部。1.2 SVD分解根据奇异值分解定理12,设给定A,令q=minm,n并假设rankA=r,那么存在酉
7、矩阵V与W,以及一个对角方阵=使得=以及U为左正交矩阵,V为右正交矩阵,S为对角矩阵,满足对角线的值从左上到右下递减的规律。对角元素称为A的奇异值,由AAx的特征值唯一确实定。S称为A的奇异值矩阵。经验证,由于所有非零元素集中于对角线上,按照递减顺序排列,因此能量大多集中于左上角区域的奇异值。通过改变奇异值矩阵来嵌入数字水印信息,具有改动幅度小,空间复杂度低等优势。2 算法步骤2.1 置乱加密预处理为提升算法平安性,在嵌入之前对数字水印图像进行置乱加密预处理,本文选用Arnold置乱和Logistic混沌加密方法。当图像置乱kk=1,2,3,4次,k不是T的倍数时,图像变成杂乱无章的,k是T的
8、倍数时,图像没有变化,即当图像做k次Arnold变换kT时,图像被置乱,当图像再做T-k次变换时,图像恢复成原图像。因此将图像做Arnold变换的次数k作为密钥key1,解密时将图像做T-key1次Arnold变换即可。置乱之后,再对载体图像进行加密处理,使用Logistic混沌序列异或的方法进行,公式如式5所示。当u位于3.5至4之间时,序列满足混沌序列条件,本文取u为3.975。初值x0理论上取0到1之间所有值即可,本文取为0.75。混沌序列往往在前面一些数中特性表现不明显,因此需要舍去最前面n个值,u,x0,n构成了混沌序列的三个密码,任何一个密码即使相差极其微小,也会造成“差之毫厘谬以千里的影响。