【计算机科学与应用】基于多域变换的视频水印嵌入算法研究

发布于:2025-07-29 ⋅ 阅读:(20) ⋅ 点赞:(0)

导读:

为提升视频水印在版权保护中的实际应用效果,本文提出一种基于多域变换的视频水印嵌入算法。该算法结合离散小波变换(Discrete Wavelet Transform, DWT)与离散余弦变换(Discrete Cosine Transformation, DCT),利用其在时频域分析与能量集中特性上的优势,实现水印信息在频域中的鲁棒嵌入。水印嵌入前通过Arnold置乱增强安全性,在帧图像中选取HL子带进行DWT分解,再对其进行DCT处理,将水印嵌入中频系数区域。实验分别在高斯噪声、椒盐噪声、剪切攻击、滤波攻击等场景下对算法的鲁棒性进行评估。结果表明,该算法在保证水印不可见性的同时,具备较强的抗攻击能力,适用于数字视频的版权保护场景。

作者信息:

胡泽宁王金戈:北京印刷学院信息工程学院,北京;田益民*:北京印刷学院基础部,北京

正文

尽管现有视频水印算法在特定攻击场景下表现良好,但大多数方案仅能针对某一类或少数几类攻击手段,对复杂环境的适应性仍有待提高。因此,本文旨在设计一种融合多域变换、具备良好不可见性与鲁棒性的数字视频水印嵌入算法,以实现对多种常见攻击的有效抵抗,提升数字视频版权保护的实用性和安全性。

本文总体的技术路线图如图1所示。

本文使用Arnold变换完成水印的置乱。改变水印图像每个像素点的位置,得到置乱后的水印矩阵,以置乱次数作为密钥保存。

取a = 1、b = 1时,代码实现如下:

本文结合DCT变换域DWT变换,采用灰度图像作为水印信息,提出了一种基于DCT变换和DWT变换的数字视频水印算法。

1、视频水印嵌入步骤

Step 1:利用线性编辑软件Adobe Premiere对原视频进行解码,获得帧图像序列。

Step 2:对视频的每一帧嵌入水印,具体流程如下:

1) 对原始视频剪切分帧获得帧图像序列,对每一帧进行离散小波变换,得到4个子带:LL、LH、HL、HH,综合考虑不可见性和鲁棒性后,选择在HL子带中进行下一步变换。

2) 在HL系数组成的矩阵中进行分块,每个分块是8 × 8个像素点大小,即每个块包含64个像素点,随后对分块后的矩阵计算离散余弦变换。

3) 在经DCT变换后的每个图像子块中,选取一个中频系数,再随机选择该点周围的6个系数。在第K块中选取一个中频系数,设为y (ij),选取其周围的6个系数,分别为y(i + 3, j − 3)、y(i + 2, j − 2)、y(i + 1, j − 1)、y(i − 1, j + 1)、y(i − 2, j + 2)、y(i − 3, j + 3),计算其平均值aver。设watermarkImage(i, j)为经过Arnold置乱变换后的水印图像,strength为嵌入强度。然后对每一个y(ij)做嵌入运算:

4) 将DCT域嵌入水印后的每一个子块进行DCT变换的逆变换,然后进行DWT变换的逆变换,得到嵌入水印的帧图像。

5) 将嵌入水印的帧图像序列导入pr软件进行重新编码,进一步得到嵌入水印的视频。

2、水印提取步骤

Step 1:用pr软件将嵌入水印的视频解码,导出嵌入水印的帧图像序列,对嵌入水印的每一帧图像进行DWT变换,选取HL子带,将其分为8 × 8个像素点大小的块,并依次对嵌入水印的块进行DCT变换。

Step 2:在DCT变换后的系数中,找出嵌入水印信息的中频系数的位置y(ij),计算其周围6个系数的平均值aver′ 。

Step 3:按照运算(12)提取水印:

Step 4:对提取出来的水印图像进行解密,得到水印图像。

本文选取了常见的噪声、滤波、剪切、缩放等攻击,来检验嵌入水印的载体视频遭受攻击后的视频质量以及水印的鲁棒性。将攻击后的帧图像序列与原图像进行比对计算峰值信噪比,从攻击后的帧图像中提取水印,并计算其与原始水印图像的相关性系数,来检验算法的鲁棒性。

结论

实验结果表明,该算法不仅能够抵抗常见的噪声、滤波、剪切、缩放等攻击,而且能够抵抗部分针对帧攻击以及视频在传输过程中可能遭受的帧率变化、分辨率变化、运动模糊、压缩等攻击,在各种攻击下具有较好的鲁棒性。通过对视频进行多种攻击,发现对视频的视觉效果影响较小,仍然具有较强的不可见性,也印证了算法的有效性。

基金项目:

北京市教育委员会科技一般项目(KM202110015001);

北京印刷学院重点教学改革项目——工程认证背景下的工科数学教学改革对大学生创新思维与创业能力培养的研究与实践。

更多内容请点击原文链接:https://doi.org/10.12677/csa.2025.157186


网站公告

今日签到

点亮在社区的每一天
去签到