本发明涉及数字水印,尤其是涉及一种可抵抗视频压缩的半脆弱水印算法。
背景技术:
1、数字水印按照信息稳健性一般可以分为脆弱水印、鲁棒水印和半脆弱水印三种。脆弱水印是一种特殊类型的水印,它对宿主信号中的任何修改都具有极高的敏感度。
2、当应用于多媒体数据时,脆弱水印的主要目的是保护其完整性。通过对变化了的水印的提取和分析,可以测定和评估原始多媒体本身所经历的变化,进一步对多媒体数据的完整性、内容的真实性等进行鉴定或认证。鲁棒水印指的是加入的水印不仅能够抵抗非恶意攻击,还能在一定程度的失真内抵抗恶意攻击。即使嵌入水印的信号载体经过各种信号处理,水印依然能够保持在信号中,并且在需要时完成提取。这种水印对未经授权者难以检测出水印,而授权者则可以轻松检测。鲁棒水印的目的是确保水印在各种条件下都能稳定存在,以便于数据的追踪和验证。
3、半脆弱水印是介于脆弱水印和鲁棒水印之间的一种水印技术。它能够承受一些偶然性的非恶意修改,如jpeg或视频压缩等,但对于恶意内容级别篡改则非常敏感。这种水印主要用于多媒体数据的内容认证,可以检测甚至定位到被篡改的部分。
4、一直以来,视频半脆弱水印作为介于脆弱水印和鲁棒水印之间的一种技术,目前在其研究中仍存在一些问题亟待解决。
5、首先,如何确保水印在视频内容遭受轻微修改时保持稳定,而在遭受恶意篡改时又能敏感地触发警报,是一个关键挑战。
6、其次,视频格式的多样性和处理方法的复杂性使得水印的嵌入和提取变得困难,如何确保水印在各种视频格式和处理方式下都能有效工作也是一项技术难题。
7、此外,随着视频技术的不断发展,对于水印的安全性和隐蔽性要求也越来越高,如何在保证水印功能性的同时提高其安全性和隐蔽性,也是当前研究中的一个重要问题。因此,视频半脆弱水印的研究仍需不断探索和创新,以应对实际应用中的种种挑战。
技术实现思路
1、为了解决上述技术问题,本发明提供一种可抵抗视频压缩的半脆弱水印算法。采用如下的技术方案:
2、一种可抵抗视频压缩的半脆弱水印算法,水印嵌入包括以下步骤:
3、步骤1,获取解码的视频帧的亮度图像;
4、步骤2,对亮度图像进行高和宽均为s×s的分块操作,得到n个分块后的亮度图像分块矩阵;
5、步骤3,对每个分块矩阵进行dct变换,以将空域的像素数值转换为高和宽为s×s的dct系数矩阵;
6、步骤4,选择嵌入候选区域与嵌入位置,对于s×s维度的dct系数矩阵中选择一个嵌入系数的候选区域;
7、步骤5,对每个s×s维度的dct系数矩阵分配并嵌入脆弱水印信息;
8、步骤6,重复以上步骤4和步骤5,直至视频帧中所有的亮度图像分块矩阵块均完成对应脆弱水印信息的嵌入;
9、步骤7,对含脆弱水印信息的所有dct系数矩阵进行反dct变换,重建得到包含水印信息亮度图像。
10、通过采用上述技术方案,先对亮度图进行方块分割,然后对分割的方块进行dct变换,得到每个方块的dct系数矩阵。该转换可以将图像空域信号转换为频域信号,便于后续进行针对性的频率修改,使嵌入的水印具有一定鲁棒性的同时又不会引起图像失真。然后,为每个dct系数矩阵生成1比特的水印信息。对dct系数矩阵中候选区域中的部分dct系数作为载体嵌入该1比特水印信息。
11、将视频帧中嵌入可抵抗视频二次压缩的水印校验信息,实现了对视频或图像篡改位置定位的能力。其具备适用于各种编码格式,算法速度快,画质失真小等多个优势。
12、可选的,步骤2的具体方法是:
13、设步骤1的亮度图像为,对进行高和宽均为s×s的分块,得到n个分块后的亮度图像分块;
14、;
15、其中为下取整,h和w分别为图像的高和宽,s代表分块操作的高和宽的尺寸。
16、可选的,选取s为h和w的公约数。
17、通过采用上述技术方案,s大小的选择可以有效控制水印强度和单帧水印信息的长度。为了可以完美切割,一般选取s为h和w的公约数。
18、可选的,步骤4中,嵌入系数的候选区域包含m个dct系数,在候选区域使用伪随机数选取个系数用于修改嵌入水印,为下取整操作;m个作为载体的dct系数分别记为。
19、通过采用上述技术方案,这m个作为载体的dct系数分别记为。通过候选区域以及dct系数选择,既可以避免修改部分敏感dct系数,如dct直流系数和低频交流系数造成画面失真,又可以有效掩盖具体的水印嵌入位置,防止攻击者定位水印的嵌入位置反向提取水印或对水印进行攻击。
20、可选的,步骤5的具体方法是:
21、对每个s×s维度的dct系数矩阵分配1比特脆弱水印信息b,脆弱水印将被嵌入到中,当b=0时,嵌入后为;当b=1时嵌入后为;具体嵌入方法为:
22、;
23、;
24、其中。
25、通过采用上述技术方案,该嵌入算法可以保证m个dct系数共同作为1比特水印信息的载体,增加了信息的鲁棒性,避免视频压缩扰动误差导致水印信息丢失。此外,该嵌入方法通过控制嵌入强度,在符号相同且绝对值足够大时,保持原始dct系数不变,在符号相反或者符号相同但绝对值不够大时,将dct系数修改为同符号且绝对值为的数值。该修改策略在保证水印强度的同时,尽量降低大幅修改原始dct系数进而造成图像失真。
26、可选的,水印的提取准备过程与水印嵌入过程的步骤1到步骤4相同,水印比特提取包括以下步骤:
27、将所有水印b相关的m个载体dct系数求和,小于0时,水印信息b为0,否则b为1,提取方法表示如下:
28、;
29、其中,重复提取视频帧中所有的亮度块均完成对应水印信息比特的提取。
30、可选的,提取完水印信息后,使用一个固定尺寸的滑动窗口将t个块包含起来,如果滑动窗口内总得分达到或超过阈值t,则判定t个块都是错误块,否则判定为都是正确块;
31、若任何滑动窗口中均被判定为正确块时,分块被判定未被篡改,若至少一次分块被判定为错误块时,判定为被篡改块。
32、通过采用上述技术方案,水印的提取完整过程如下:
33、获取解码的视频帧的亮度图像,解码待校验的视频帧,得到该视频帧的亮度图像,其中h和w分别为该图像的高和宽。
34、亮度图像分块,对亮度图像进行高和宽均为s×s的分块,得到n个分块后的亮度图像分块。这里的,为下取整操作。这里的s由嵌入过程决定,水印提取时保持该数值不变。
35、亮度图像分块dct变换,对每个分块矩阵进行dct变换,以将空域的像素数值转换为s×s维度的dct系数矩阵。该转换可以将图像空域信号转换为频域信号,便于后续进行针对性的水印提取。
36、选择提取候选区域与提取位置,对于s×s维度的dct系数矩阵中选择一个嵌入系数的候选区域,在嵌入水印时需要修改的系数只在该区域内选取。该区域包含m个dct系数,在该区域使用伪随机数选取个系数用于提取嵌入水印,分别记为。其中b为的dct系数为将要提取的1比特水印信息。
37、水印比特提取
38、将所有水印b相关的m个载体dct系数求和,小于0时,水印信息b为0,否则b为1,提取方法可表示如下:
39、;
40、这里的。
41、水印比特批量提取,重复以上步骤,直至该视频帧中所有的亮度块均完成对应水印信息比特的提取。
42、滑动窗口池化水印校验,经过上面步骤后,每个分块的亮度图像的频率系数中提取了1比特的脆弱水印信息。校验该比特水印信息与嵌入的水印比特是否一致,当两者一致时该块记得分为1,否则得分为0。使用一个固定尺寸的滑动窗口,将t个块包含起来。如果该滑动窗口内总得分达到或超过阈值t,则判定t个块都是错误块,否则判定为都是正确块。随着窗口移动,每个分块会被若干次判定为错误块,也会若干次被判定为正确块。在任何滑动窗口中均被判为正确块时,该分块被判定未被篡改。只要有一次该块被判定为错误块时,该分块即判定为被篡改块。该校验方法针对视频常规压缩会对每个块的水印存在扰动且现实场景中篡改区域一般呈现非离散片状分布的特性,可以忽略因视频常规压缩带来的少量且离散的校验错误,减少了篡改定位敏感误报,也可以将密集分布的校验错误区进行融合,减少了对篡改区域的漏报。
43、综上所述,本发明包括以下至少有益技术效果:
44、本发明能提供一种可抵抗视频压缩的半脆弱水印算法,将视频帧中嵌入可抵抗视频二次压缩的水印校验信息,实现了对视频或图像篡改位置定位的能力。其具备适用于各种编码格式,算法速度快,画质失真小等多个优势。