1. 引言
随着数字时代的来临,多媒体信息传播在技术驱动下实现了跨越式发展。在数字经济蓬勃发展的大环境下,数字内容的大规模复制与传播,引发了一系列安全隐患,版权归属纠纷亦呈现高发态势。数字水印技术通过在数字作品中巧妙嵌入版权信息,并适时精准提取,为有效应对数字版权保护难题提供了切实有效的解决方案。在数字版权保护日渐兴起的背景下,设计出具有高效处理能力、强大鲁棒性,以及良好透明性的数字水印算法,已然成为学术界与工程界共同关注的前沿课题。
奇异值分解(SVD)在图像处理领域潜力斐然。张志明等[1]首先分析了奇异值分解的图像矩阵特征,然后基于混沌加密实现了SVD变换域内的数字水印算法,实验结果表明该算法具有较强的稳健性。汪茂森等[2]提出一种基于DWT-DCT-SVD数字水印混合算法,对水印图像实施Arnold变换和Logistic混沌映射双重加密,并融合小波变换(DWT)、离散余弦变换(DCT)和SVD的优势,极大提升了水印图像的透明性和鲁棒性,实验结果证明该算法在各方面性能表现出色。于帅珍等[3]提出DCT-SVD联合水印算法,与单变换水印算法相比,该算法在应对常规图像攻击与旋转、剪切等几何攻击时,鲁棒性显著提升,并且通过水印嵌入前的置乱处理,进一步增强了算法安全性。谢国波等[4]融合Kent映射、Logistic混沌映射和广义Gray码设计的水印算法,置乱效果和安全性俱佳,但算法相对复杂。黄根岭等[5]提出的最优块DWT-DCT-SVD数字水印算法,依据小波系数块信息熵相关原则确定最优水印嵌入位置,并结合DCT和SVD技术嵌入水印,实验表明,在小波系数中频或高频位置嵌入水印时,算法对高斯噪声、低通滤波和JPEG压缩攻击等多数攻击具有较好的鲁棒性。
尽管现有水印算法在抵抗常规攻击上效果显著,但在应对剪切、旋转等几何攻击时,水印信息嵌入位置容易受到破坏,算法鲁棒性仍待提升。于帅珍等[6]设计了一种基于Arnold置乱变换、DCT变换、SVD变换相融合的抗剪切水印算法,该算法不仅能抵御单一的剪切、压缩和旋转攻击,对压缩、剪切、旋转的联合攻击,也展现较强的鲁棒性。然而,该算法计算过程复杂,计算量和时间成本大幅增加,难以应用于实时性要求较高的场景,并且在面对多种复杂组合攻击时,提取水印的归一化相关系数仍有提升空间,水印准确性和完整性有待优化。
本文提出一种基于广义Gray码和DCT-SVD的数字水印算法。该算法通过构建广义Gray码的离散化特征空间,结合DCT和SVD变换,对压缩、噪声、旋转及剪切具有显著抗干扰能力,同时其归一化相关系数值较传统算法有所提升,为数字版权保护提供了兼具理论严谨性与工程实用性的技术实现路径。
2. 理论基础
2.1. 离散余弦变换
离散余弦变换的基础是傅里叶变换,在图像处理领域有广泛应用。对于图像信号而言,需要通过二维数组的变换来实现DCT [7]。其变换公式为
.(1)
其中,
表示原始图像
处的像素值,
是变换后的系数,
是图像分块的尺寸,
和
是与坐标位置相关的系数,具体取值为
(2)
通过DCT变换,图像的能量会集中到少数低频系数上,这为后续的处理如压缩、水印嵌入等提供了便利。在水印技术中,DCT变换常用于将图像从空间域转到频域,从而可以在频域的特定系数上嵌入水印信息,以实现水印的透明性和鲁棒性。不过,基于DCT变换的水印算法虽然对一些常见的攻击处理有一定抵抗能力,但对旋转、剪切等几何攻击的鲁棒性较差。
离散余弦逆变换是DCT的逆过程,它能够将经过处理的频域系数还原到空间域,其坐标公式为
(3)
2.2. 奇异值分解
灰度图像本质上可被视为一个二维矩阵结构。该矩阵的行数与列数共同决定了图像的尺寸大小,矩阵中的每一个元素对应图像中的一个像素点,而这些元素的数值则代表了相应像素的灰度值。在常见的表示方式中,灰度值的取值范围被限定在0到255之间,对于灰度图像
来说,矩阵的奇异值分解可以描述为
,(4)
其中上标T代表矩阵的转置。U是
的正交矩阵,它的所有列是
的特征向量;V是
的正交矩阵,它的所有列是
的特征向量;D是非负的实对角阵,对角线上的值即奇异值,可表示为
,且对角线上的元素呈非递增趋势。若
,
,那么可将上述公式写成向量的形式
。(5)
奇异值分解后的奇异值具有稳定性,这一特性使其在抵抗外部攻击时有优异的表现,为水印技术的鲁棒性奠定了坚实的理论基础。因此,基于SVD变换的水印算法对几何攻击具有一定抵抗能力,但抗噪声、压缩、滤波等能力较弱[8]。
2.3. 广义Gray码
1) 数学定义
广义Gray码是传统二进制反射Gray码的扩展,其核心是通过构建邻位差一映射,实现编码序列中相邻元素仅存在单个比特位差异。对于广义Gray码序列
,应满足以下数学特性:
唯一性:对任意
,有
,即集合中无重复编码。
邻位差一性:对任意
,有
,其中
为汉明距离函数,定义为两编码对应比特位不同的数量。
循环性:序列首尾元素同样满足邻位差一性,形成闭合循环,即满足
。
2) 算法流程
以n位二进制码转广义Gray码为例,设输入二进制码
。首先进行初始化,令广义Gray码最高位
。
然后对
至0,按公式
迭代计算,其中
为异或运算,
为映射函数,本文选取
,即传统反射Gray码映射。
最后输出广义Gray码
。
3) 实现原理
广义Gray码是一种特殊的编码方式,在数字水印领域有着独特的应用价值。通过对水印信息的广义Gray码转换,可以将载体图像受到微小扰动可能引发的二进制下多比特错误转变为广义Gray码下的单比特错误。并且,基于邻位特性的置乱,可以将载体图像上的局部损伤转化为水印序列域上的分散错误。这种编码模式极大地降低了比特错误率,从而大幅提高了水印系统抵抗加性噪声、有损压缩、局部剪切等常见攻击的能力。在数字水印算法中引入广义Gray码,一方面通过编码转换增强水印在复杂环境下的鲁棒性,使其在噪声干扰、几何变换等攻击时仍能保持较高的可提取性和准确性;另一方面,广义Gray码的置乱特性可对水印信息的原始结构进行重新排列,使得未授权者即使提取到水印数据,也只能获得无序的乱码,无法直接识别原始内容,只有通过对应的逆转换才能恢复水印原貌,从而提升水印的安全性与保密性。
因此,在水印嵌入和提取过程中,利用广义Gray码对水印信息进行处理,能够更好地适应图像的各种变换和攻击,为数字版权保护提供更可靠的支持。
3. 水印算法
3.1. 算法概述
广义Gray码、DCT变换与SVD分解相结合,用于数字水印的嵌入与提取。整体流程为:先对水印图像和原始载体图像进行预处理,然后对载体图像进行DCT变换和分块处理,再对分块矩阵进行SVD分解;对水印信息进行广义Gray码转换,并将其嵌入到各分块载体图像中频段的奇异值里,经逆变换生成含水印图像。水印提取时,对含水印图像进行类似的变换操作,提取水印信息并经广义Gray码逆转换后重构水印图像,最后计算NC来评估水印提取效果。通过调整嵌入强度和选择合适嵌入频段对算法进行优化,以提升水印算法在归一化相关系数和鲁棒性等方面的表现。
3.2. 图像预处理
载体图像:选取512 × 512的Lena作为载体图像
,若
是彩色图像,用加权平均法转成灰度图像,再将灰度值归一化到[0, 1]区间。
水印图像:选取64 × 64的含特定标识意义的图像
,对
进行二值化处理,转换为黑白图像
,完成基础预处理流程。
3.3. 水印嵌入
1) DCT变换和分块处理
对于归一化处理后的原始图像
进行二维离散余弦变换,得到变换后的矩阵
。DCT变换能够将图像从空间域转换到频率域,突出图像的频率特征。将
划分成互不重叠的8 × 8分块矩阵
,其中
和
分别是图像分块后的行数和列数。
2) SVD分解和频段选择
对每个分块矩阵
进行奇异值分解,即
,其中
和
是正交矩阵,
是对角矩阵,对角线上的元素为奇异值,记为
。
按照频率特性,将奇异值分为低频、中频和高频段。选择中频段的奇异值进行水印嵌入,因为中频段既包含了图像的重要结构信息,又相对稳定,不易受常见图像处理操作的影响。设选择嵌入水印的中频段奇异值为
,
,
和
为中频段的起始和结束索引,实验中取
和
。
3) 广义Gray码转换和水印嵌入
将二值化后的水印图像
按行扫描转换为一维序列
,
为水印序列长度。对水印序列
进行广义Gray码转换,利用其邻位编码特性对序列进行置乱,得到转换后的水印序列
。这一置乱过程会打破水印原始的结构顺序,一方面使得载体图像受到微小扰动可能引发的二进制下多比特错误转变为Gray码下的单比特错误,提高水印算法的鲁棒性另一方面使得转换后的序列呈现无序性——即使被未授权提取,也无法直接解读水印信息。设广义Gray码的转换函数为
,得到转换后的水印序列为
。通过公式
将转换后的水印信息嵌入到中频段的奇异值
中,得到嵌入水印后的奇异值
[9],其中
为当前嵌入水印的索引,按顺序依次对应中频段奇异值。嵌入强度
,该取值通过实验验证可突出使用广义Gray码与不使用广义Gray码的抗攻击性能差异。
4) SVD重构和DCT变换生成含水印的图像
用嵌入水印后的奇异值
替换原中频段奇异值
,重新构建对角矩阵
,进而得到嵌入水印后的小块
,将所有嵌入水印后的小块
合并成完整的图像
。对
进行二维离散余弦逆变换,得到含水印的图像
。
3.4. 水印提取
首先对含水印载体图像
进行二维DCT变换,得到变换后的矩阵
。将
划分成与嵌入时相同大小的8 × 8小块
。然后对每个小块
进行奇异值分解,即
,得到奇异值
。提取对应的中频段奇异值
。按公式
提取水印信息,得到提取的水印序列
。然后对提取的水印序列
进行广义Gray码逆转换,假设逆转换函数为
,则
,得到重构的水印序列
。最后将重构的水印序列
按原顺序重新排列成二维图像形式,得到重构的水印图像
。计算重构水印图像
与原始水印图像
的归一化相关系数NC,NC的计算公式为
(7)
其中
和
分别是水印图像的行数和列数。NC值越接1,表示提取的水印与原始水印越相似,水印提取效果越好。
3.5. 算法优化
1) 调整嵌入强度
嵌入强度
对水印的鲁棒性和透明性有重要影响。若
过大,水印鲁棒性增强,但可能导致载体图像出现明显失真,影响视觉效果;若
过小,水印透明性好,但鲁棒性会降低。
为找到合适的
,选取不同的
值,计算对应含水印载体图像的峰值信噪比PSNR以及图像遭受攻击后提取水印的NC值,生成PSNR-
、NC-
曲线。如图1,通常情况下,
大PSNR值越小图像质量下降,上升。因此,综合上述因素,可以得到兼顾鲁棒性和透明性的较优
值。
2) 选择嵌入频段
除了选择中频段嵌入水印外,进一步研究不同频段(如低频段、高频段)对水印性能的影响。低频段包含图像的主要能量信息,但对几何攻击较为敏感;高频段对噪声等干扰较为敏感。通过对比在不同频段嵌入水印后的算法性能,包括抗压缩、抗噪声、抗旋转、抗裁剪等能力,以及含水印图像的视觉质量,确定最适合水印嵌入的频段或频段组合。例如,分别在低频段、中频段、高频段以及不同频段组合下进行水印嵌入实验,对含水印图像进行相同的鲁棒性测试和视觉质量评估,根据实验结果分析不同频段嵌入水印的优缺点,从而选择出最优的嵌入频段策略。
Figure 1. Variation of PSNR and NC with parameter α
图1. PSNR与NC随α的变化曲线
4. 实验与结论
本实验旨在对比传统算法与本文算法在不同攻击类型下的水印提取性能,依次对水印图像进行无攻击情形、JPEG压缩攻击、中心剪切攻击、0.5˚旋转攻击、高斯噪声攻击、椒盐噪声攻击,实验结果如图2~8所示。
在无任何攻击的理想条件下,传统算法与本文算法均能成功提取完整清晰水印(见图3),表明初始状态下二者都具备基本水印提取能力。当载体图像遭受各类攻击时,差异尽显。JPEG压缩攻击后,传统算法因JPEG有损压缩致水印信息丢失,提取水印边缘模糊,而本文算法提取的水印轮廓依旧清晰(见图4),应对信息损失时更有效保留关键特征,对该攻击鲁棒性更强;中心剪切攻击下,传统算法因剪切直接破坏水印数据出现字符缺失,本文算法却能实现残缺水印恢复(见图5),体现自修复机制,保障水印完整性优势明显;0.5˚旋转攻击时,传统算法因对几何变换适应性不足,提取水印出现水平断裂,本文算法提取的水印则保持连续完整(见图6),处理几何变换攻击时更能维持结构连贯性,抗旋转攻击能力更佳;
Figure 2. Cover image and watermark image
图2. 载体图像和水印图像
Figure 3. Comparison of gray code watermark embedding performance
图3. Gray码水印嵌入效果对比示意图
Figure 4. Comparison of watermark extraction using gray code vs non-gray code after compression
图4. 压缩后Gray码与非Gray码水印提取对比
Figure 5. Comparison of watermark extraction using gray code vs non-gray code after cropping
图5. 剪切后Gray码与非Gray码水印提取对比
Figure 6. Comparison of watermark extraction using gray code vs non-gray code after rotation
图6. 旋转后Gray码与非Gray码水印提取对比
高斯噪声干扰下,传统算法因噪声破坏像素结构,提取水印轮廓模糊,本文算法提取的水印仍保留主体特征(见图7),在噪声干扰下保留关键信息性能更优;椒盐噪声攻击场景中,传统算法因椒盐噪声脉冲特性破坏水印结构,本文算法提取的水印边缘依旧平滑(见图8),应对椒盐噪声攻击时维持结构稳定性更强,抗干扰能力更突出。
综合实验结果,可见在多种常见攻击下,本文算法提取水印在清晰度、完整性及抗干扰性能等方面显著优于传统算法。
Figure 7. Comparison of watermark extraction using gray code vs non-gray code under gaussian noise
图7. 高斯噪声后Gray码与非Gray码水印提取对比
Figure 8. Comparison of watermark extraction using gray code vs non-gray code under salt-and-pepper noise
图8. 椒盐噪声后Gray码与非Gray码水印提取对比
另一方面,广义Gray码的置乱机制有效保护了水印内容的机密性。从图9可见,未经过逆转换的提取序列与原始水印的NC值显著降低,几乎无法识别特征;而经授权逆转换后的序列NC值可达到1,进一步证明了其加密——解密机制的有效性。
为进一步对比算法性能,表1给出了传统数字水印算法与本文提出的基于广义Gray码、DCT和SVD的算法在各类攻击下的NC值。结果表明本文算法在JPEG压缩、噪声干扰、旋转、剪切等攻击下鲁棒性更高,水印提取效果更优。如JPEG压缩和高斯噪声攻击时,本文算法NC值分别达0.856和0.913,相较于传统算法显著提升。
Figure 9. Comparison of unauthorized vs authorized watermark extraction performance
图9. 未授权与授权提取水印效果对比
Table 1. Comparison of NC values between the proposed algorithm and traditional algorithms under attacks
表1. 抗攻击下本文算法与传统算法NC值对比表
攻击类型 |
传统算法NC值 |
本文算法NC值 |
JPEG压缩 |
0.8433 |
0.85612 |
中心剪切 |
0.9102 |
0.99327 |
0.5˚旋转 |
0.9404 |
0.98169 |
高斯噪声 |
0.3997 |
0.91380 |
椒盐噪声 |
0.5597 |
0.78000 |
5. 结论
本文提出的基于广义Gray码、DCT和SVD的数字水印算法,凭借广义Gray变换在编码层的抗误码设计和DCT和SVD的频域能量保护,能够有效提高水印的鲁棒性和透明性。实验结果表明,本文算法在多种常见攻击下具有较强的鲁棒性,适用于数字版权保护的实际应用,具有广阔的应用前景。
但是,本文算法对全局缩放(>20%)攻击的鲁棒性有待提高,未来可结合同步标记(如网格)增强算法鲁棒性。为应对更复杂的联合攻击,可以引入深度学习进一步提升水印提取精度与抗攻击能力。
基金项目
乐山师范学院 2024 年省级大学生创新创业训练计划资助项目(S202410649090).
NOTES
*通讯作者。