基于DCT-SVD和标记矩阵的鲁棒可逆数字水印算法

2020-08-21 09:09阮涛张学波
数字技术与应用 2020年7期
关键词:奇异值分解数字水印

阮涛 张学波

摘要:为解决数字水印不可感知性与鲁棒性之间的矛盾,提出基于DCT-SVD变换域上的数字水印算法,充分利用图像压缩标准提升不可感知性,利用SVD变换提升鲁棒性。采用求模量化方法进行嵌入,实现数字水印信息盲提取,采用同步生成标记矩阵方式,实现可逆图像生成。仿真实验表明,算法可逆性好,抵抗几何攻击、平滑滤波等攻击能力强,算法实现了鲁棒性与可逆性的统一。

关键词:数字水印;离散余弦变换;混沌加密;奇异值分解

中图分类号:TP309.7 文献标识码:A 文章编号:1007-9416(2020)07-0116-05

0 引言

近年来,数字水印技术广泛应用于保护数字产品的版权,证明产品的真实可靠性,跟踪盗版或提供产品附加信息等。数字水印算法的很多特性是相互制约的,如不可感知性和空间效率、鲁棒性之间,安全性、可逆性和时间效率、空间效率之间都是相互制约的。为了提升算法特性,变换域嵌入算法成为研究的主流方向。其中,DCT变换能量集中,实现简单,为图像压缩标准使用,利于提升不可感知性。SVD变换具有唯一确定性、改动幅度小、空间复杂度低等优势,利于提升鲁棒性。基于DCT-SVD混合域嵌入算法,受到不少研究者青睐。

对当前各类数字水印算法进行了综述,概括总结了各类算法优缺点,对研究领域前景进行了展望[1-3]。对载体图像进行三级DWT变换,由低频子带提取特征构造图像哈希水印,在DCT-SVD域最大奇异值上加性嵌入水印信息,算法不可感知性和鲁棒性性能优异,但未能实现盲提取[4]。对图像子块的DCT系数矩阵进行SVD分解,通过三角函数修改左正交矩阵实现数字水印嵌入,算法抵抗JPEG压缩与椒盐噪声能力更强,提取数字水印的正确率更高,但文中未对抵抗其他攻击能力进行验证[5]。充分利用彩色图像的冗余空间,提出一种新颖的基于三维离散余弦变换和奇异值分解的彩色图像数字水印算法,具有较好透明性的同时,能够抵抗常规信号处理和模糊、扭曲及锐化等攻击,但由于在不同区域两次嵌入了同一二值水印图像,嵌入容量事实上并未增加,算法抵抗噪声攻击能力较差[6]。提出基于果蝇优化算法和DWT-SVD的数字水印算法,对载体图像进行二级小波变换,在直流子带中分块奇异值分解,选取最大奇异值,确定最佳适应度函数,用果蝇优化算法寻找最佳嵌入强度,算法同时满足不可见性与鲁棒性要求,但对于512×512的载体图像来说,选取的水印图像为32×32,嵌入容量较小[7]。提出基于果蝇优化与DCT的数字水印技术,生成两个八位随机矩阵嵌入中频系数中,实现了水印信息盲提取,能够有效抵抗各种类型攻击,但算法不可感知性较差[8]。提出基于奇异值分解的鲁棒零水印算法,利用小波变换与奇异值分解生成零水印,保存至版权保护中心(CA),算法未对原始图像进行更改,安全性高,实现了广义的“可逆性”,但使用过程依赖于CA,适用范围受到限制[9]。在DCT-SVD域直接加性嵌入数字水印信息,算法不可感知性和鲁棒性好,但未能实现盲提取[10]。先对载体图像进行小波变换,将数字水印嵌入低频区域中,将嵌入鲁棒数字水印的图像与原载体图像的残差作为可逆数字水印嵌入高频区域,仿真实验表明,两次嵌入相互影響小,算法鲁棒性较高,并实现了可逆性,缺点是时空效率低,安全性受到一定程度影响[11]。

综合分析上述算法,大多数在混合域上实现水印嵌入,鲁棒性较好,但未涉及可逆性研究,有的算法未能实现盲提取。零水印算法,适用性受到限制[9]。实现了鲁棒性与可逆性的统一,但是采用的分别嵌入鲁棒信息和可逆信息的方法,空间效率受到影响,不利于安全性[11]。为综合实现数字水印鲁棒性、不可感知性、盲提取、可逆性,本文拟研究的重点为:提出基于标记矩阵的可逆水印算法,嵌入鲁棒信息的同时实现可逆性;使用Arnold置乱和Logistic混沌序列加密,生成多密钥,提升安全性;使用求模量化技术实现水印信息嵌入,实现盲提取。

1 关键技术

1.1 DCT变换

离散余弦变换(DCT)是离散傅里叶变换(DFT)的一种特殊形式,二维DCT变换公式如下:

通过DCT变换,图片像素矩阵被分为直流DC分量(低频分量)和交流AC(中高频)分量,直流分量集中的能量较多,多为纹理和背景部分,交流分量集中的能量较少,多为突变或者细节部分。

1.2 SVD分解

根据奇异值分解定理[12],设给定A,令q=min(m,n)并假设rank(A)=r,则存在酉矩阵V与W,以及一个对角方阵=[]使得……=以及

U为左正交矩阵,V为右正交矩阵,S为对角矩阵,满足对角线的值从左上到右下递减的规律。对角元素称为A的奇异值,由AA*的特征值唯一的确定。S称为A的奇异值矩阵。

经验证,由于所有非零元素集中于对角线上,按照递减顺序排列,因此能量大多集中于左上角区域的奇异值。通过改变奇异值矩阵来嵌入数字水印信息,具有改动幅度小,空间复杂度低等优势。

2 算法步骤

2.1 置乱加密预处理

为提升算法安全性,在嵌入之前对数字水印图像进行置乱加密预处理,本文选用Arnold置乱和Logistic混沌加密方法。

当图像置乱k(k=1,2,3,4……)次,k不是T的倍数时,图像变成杂乱无章的,k是T的倍数时,图像没有变化,即当图像做k次Arnold变换(k

置乱之后,再对载体图像进行加密处理,使用Logistic混沌序列异或的方法进行,公式如式(5)所示。

当u位于3.5至4之间时,序列满足混沌序列条件,本文取u为3.975。初值x(0)理论上取0到1之间所有值即可,本文取为0.75。混沌序列往往在前面一些数中特性表现不明显,因此需要舍去最前面n个值,u,x(0),n构成了混沌序列的三个密码,任何一个密码即使相差极其微小,也会造成“差之毫厘谬以千里”的影响。

猜你喜欢
奇异值分解数字水印
基于网屏编码的数字水印技术
结合PCA及字典学习的高光谱图像自适应去噪方法
基于数字水印的人脸与声纹融合识别算法
一种多传感器图像融合与数字水印技术
基于图像纹理复杂度的小波域数字水印算法
基于矩阵分解和混沌置乱的数字水印算法