论文链接:https://arxiv.org/abs/2209.13206
1 背景介绍
数字水印是一种将信息隐藏到多媒体载体中的技术,人们难以感知水印嵌入后载体的变化,也无法直接获取水印信息,只有生产方通过专门的检测工具才能正确提取水印信息。相比于传统明水印方案,数字水印的隐蔽性更好、安全性更强,广泛应用于盗版侵权确认、泄密溯源等领域。
以往数字水印技术对于一般的信号处理攻击(压缩、滤波和噪声)有比较好的解决方案,但是随着智能手机性能的提升,手机拍照录屏越来越方便,利用手机拍照录屏泄密的事件时有发生。屏摄引入的失真极其复杂,包括伽马变换、JPEG 压缩和透视失真等一系列复杂失真,很大程度地抹除了水印信息,所以如何提升抗屏摄能力是当前数字水印关键难题。
本文设计了一种利用纹理信息和 ORB 特征自适应选择嵌入区域的抗屏摄视频盲水印算法,实验表明本算法在保证高画质前提下实现了很强的鲁棒性——可抵抗编码压缩、几何攻击和屏摄攻击。
本文创新和贡献:
设计了一种基于纹理信息和特征点的自适应区域选择方法,减少了对图像质量的影响,保证了水印检出率;
考虑到人类对特定颜色分量的不敏感,提出了一种基于通道参考的水印嵌入策略,通过修改中低频来确保更高的鲁棒性和更少的图像质量损失。
2 方法介绍
本文水印算法嵌入和检出的整体架构如下图 1 所示:
图 1 水印嵌入检出架构图
2.1 区域选择策略
图像内容主要集中在低频区域,细节集中在高频区域。在视频编码过程中,高频系数容易被量化,水印嵌在高频区域容易被抹除;而水印嵌入在低频系数中又对画质会产生可感知影响。根据以上分析,本文基于纹理信息和 ORB 特征点来选择适合嵌水印的区域,不仅减少对画质的影响,而且增加了水印的稳定性。
2.1.1 根据纹理因子选取
纹理因子是使用图像内容信息去挑选合适的区域嵌水印,其思路与 H264 编码规则相一致,即将图像分成 4x4 或 8x8 的宏块,宏块系数会根据运动信息进行量化和压缩,根据纹理因子可以尽可能地避免挑选到被大幅度压缩的宏块,从而更稳定的保留水印信息。纹理因子的计算公式为:
通常,复杂纹理区域的 Rf 和 Ef 的值大于其他区域,在不同程度的压缩量化之后能保留更多信息。
2.1.2 根据 ORB 特征点选取
尽管纹理因子能够帮助挑选一些稳定的宏块嵌入水印信息抵抗编码压缩攻击,然而对于几何攻击和录屏等攻击,水印信息还很难完整地保留下来。ORB 特征值越大的区域对几何攻击更鲁棒,在此区域嵌入的水印信息更容易保留。因此,在利用纹理因子挑选稳定宏块的基础上,根据 ORB 特征点挑选更稳定的区域。
直接选取特征值大的宏块,会导致可选宏块聚集在一个很小的区域,当遭遇到裁剪或马赛克等攻击时,水印信息可能损失过多无法检出,所以有必要尽量分散地选取满足要求的 ORB 特征点。
直接计算 ORB 特征点
本文提出特征点局部聚类方法对特征点进行筛选,以每个特征点为中心,作 R 为半径的圆,只有该区域特征值最大的特征点被保留,其他特征点全部被丢弃(对于 8x8 的宏块,半径 R 设定为 4 可确保每个圆形区域能够容纳下 8x8 的宏块)。
局部聚类后 ORB 特征点
纹理因子倾向于选择对压缩量化更稳定的宏块,而 ORB 特征点倾向于选择几何攻击更稳定的宏块,选择能够同时满足以上两个要求的宏块,即取两者选取宏块的交集作为最终嵌水印的区域。
2.2 水印嵌入
水印信息嵌在了中低频系数,增强了水印的鲁棒性,将系数修改幅度平摊到多个系数上,减少了对画质的影响,并且考虑到视频编码压缩的影响,利用连续的 K 帧嵌入相同的比特信息。本文水印嵌入方式的优点:
通常方法为了保证鲁棒性,会在低频区域修改某个系数嵌入水印。而本方法是同时修改多个中低频系数,因为常见攻击只会影响部分系数,这样即使部分系数发生变化依然可以检出水印;
由于同时修改多个系数嵌入水印,可以选择修改不同中低频位置的系数,有效降低对画质的影响,并且在鲁棒性和图像画质之间有一个很好的平衡。
水印嵌入步骤:
1)利用 Arnold 算法对水印序列进行置乱;
3)根据 2.1 中所述方式选取宏块作为嵌入候选区域;
4)选取蓝色通道嵌入水印,绿色通道作为参考通道。分别对蓝色通道和绿色通道进行 DWT 和 DCT 变换得到一对系数矩阵,分别记作 f_B 和 f_G;
5)分别选取系数矩阵 f_B 和 f_G 的一段中频系数求和,记作和,求差值 delta;
6)根据差值 delta 和嵌入比特信息确定修改 的修改值;
7)计算每个中频系数的修改量,并修改对应系数;
8)对修改后的系数矩阵进行进行 IDCT 和 IDWT 变换得到嵌水印图像块。
2.3 检出流程
水印提取是水印嵌入的逆过程:先找到嵌入水印的块,然后进行 DWT 和 DCT 变换,再根据频率系数修改规则判断嵌入信息是 + 1 还是 - 1。由于嵌入水印的区域对于编码压缩、几何攻击和录屏具有一定的鲁棒性,所以对于待检测视频,依然按照嵌入时的策略选取 block 块进行检测。
水印提取步骤:
2)按照 2.1 中所述方式选取 block 块作为待检块;
3)对 2)中选取的每个 block 块的蓝 / 绿通道进行 DWT 和 DCT 得到系数矩阵 f_B 和 f_G,对嵌入时对应的中频系数求和得到和;
4)根据系数和与的关系确定水印信息为 1 或 - 1;
5)重复步骤 3 和 4,直至所有选取的 block 块检测完毕。
3 实验
本文选取了 5 个视频,其中 3 个视频 (News、Foreman 和 Mobile) 被用于很多水印方法的测评中,但视频分辨率较低,所以另外从腾讯视频库中选取了 2 个高质量视频,视频详细信息如下所示:
采取 PSNR 作为画质评测指标,位错误率(bit error rate, BER)作为鲁棒性评测指标,攻击分为常规信号处理攻击和屏摄攻击。
3.1 画质
本文与其他方法进行了画质对比,由于其他方法都是将水印嵌入了 YUV 空间的 Y 通道,而 Y 通道包含了所有亮度信息,修改 Y 通道会同时影响 RGB 三个通道,因此对画质影响更严重。
另外,我们没有大幅度修改单个低频系数,而是对多个中低频系数进行小幅度修改,对画质影响更小。如下表所示,我们的方法取得了更好的画质。
3.2 鲁棒性
除了针对常见的编码压缩、旋转、缩放、裁剪等信号处理攻击,本文还测试了帧率变换和屏摄等复杂攻击。
iPhone 13 屏摄示例
对于旋转、裁剪、缩放和投影变换等几何攻击,本方法提取水印 BER 在 1% 左右,对于时序滤波、帧率变化等时序攻击也均优于其他方法。
对于屏摄攻击,无论对于低画质视频 (b) 和高画质视频,本文方法均具有比较好的鲁棒性,BER 为 1.3%~2.2%,远低于其他方法。
消融实验
为了进一步证明本文方法的有效性,本文对比了分别使用纹理因子和 ORB 特征挑选嵌入区域对水印鲁棒性的影响。
无论是鲁棒性和画质,同时使用两种策略选择嵌入区域都要好于单独使用任一策略。主要是由于单独使用一种策略选择的嵌入区域较多,则修改的区域更多,画质影响更严重。
3.3 性能
AMD EPYC 7K62 8G 下测试,1080P 单帧耗时 50ms,通过控制选择宏块数量最低可实现 28ms / 帧,60s 视频检出耗时 50s。
4 总结
本文提出了一种基于自适应区域选择和通道参考的强鲁棒水印算法,通过分析视频的纹理和特征点等内容信息,选择不易被干扰的区域添加水印。在水印嵌入过程中,根据 HVS 视觉原理,选择修改蓝色通道频域系数而不是亮度分量,有效降低了水印对图像质量的影响。
实验表明,本方法不仅对几何攻击具有很强的鲁棒性,而且对帧率变换等时序攻击和屏摄攻击也有很好的抵抗能力。