[0088] 若bi′=1且p‑q>‑T,则
[0089] 其中:avg=(p+q)/2;
[0090] S52:计算p和q的改变量分别为Δp=p'‑p和Δq=q'‑q,然后对时间因子矩阵Wi第一列的四个元素值进行修改,使第一行和第二行两个元素值的改变量之和为Δp但两个元素值的改变量绝对值之和最小,第三行和第四行两个元素值的改变量之和为Δq但两个元素值的改变量绝对值之和最小,由此得到修改后的时间因子矩阵Wi′。
[0091] 假定时间因子矩阵Wi第一列中第一行、第二行、第三行、第四行元素值的改变量分别为Δp1、Δp2、Δq1、Δq2,则通过求解如下优化问题可确定时间因子矩阵第一列中各个值的具体改变量:
[0092]
[0093] 该步骤是为了降低水印的嵌入对视频质量造成的影响,将p、q的改变量分配到时间因子矩阵第一列的各个值上,并使每个值的变化幅度最小化。
[0094] S6:利用修改后的时间因子矩阵Wi′重构出嵌入水印后的视频张量 生成水印视频:
[0095]
[0096] 经过上述S1~S6步骤,即可将水印图像嵌入视频中。在实际应用过程中,还需要进行水印提取,水印的提取是其嵌入的逆过程。从嵌入水印后的视频中提取原始水印B的方法,提取过程如下:
[0097] S7:将水印视频根据场景相似性分割成多段,每段场景中的所有视频帧属于同一场景,从每段场景中提取4张连续的灰度视频帧构成三阶视频张量 该步骤中,对目标视频进行场景相似性分割的方法如S21和S22所示。
[0098] S8:将S7中每段场景下的水印视频张量 沿时间轴方向展开成矩阵 并对矩阵进行奇异值分解,得到的左奇异矩阵 即为嵌入水印信息的时间因子矩阵Wi′:
[0099]
[0100] 其中, 分别为左奇异矩阵和右奇异矩阵, 为奇异值。
[0101] S9:计算每个场景下的视频张量对应的时间因子矩阵Wi是否满足|p′‑q′|≤T,若满足则保留该场景作为水印提取场景,若不满足则将该场景不作为水印提取场景;其中p'为Wi′的第一列中第一行和第二行两个元素值之和,q'为Wi′的第一列中第三行和第四行两2
个元素值之和,T为预设的阈值。当所有场景均计算完毕后,顺次提取m 个水印提取场景,构成提取场景集合。
[0102] 这些提取的m2个水印提取场景中,含有嵌入的水印信息,因为虽然在S5步骤中时间因子矩阵Wi的第一列被修改了,但是其采用的修改规则保证了原本|p‑q|>T的时间因子2 2
矩阵依然是|p‑q|>T的。因此,提取的m个水印提取场景依然是原本用于嵌入水印的m个水印提取场景。
[0103] S10:对于m2个水印提取场景对应的每个时间因子矩阵Wi′,1≤i≤m2,根据Wi′对应的p′和q′的大小来提取水印图像B′中第i位水印信息bi′:
[0104]
[0105] 对于m2个时间因子矩阵Wi′中提取到的m2位水印信息bi′,按照视频顺序顺次拼接,得到水印图像B′。
[0106] S11:根据密钥t,对水印图像B′进行t次Arnold逆变换反置乱,还原得到原始水印B。
[0107] 其中,Arnold逆变换反置乱方法为:
[0108]
[0109] 其中(x,y)为原始水印像素的坐标,(x′,′)为(x,y)经Arnold变换后的坐标,m为水印图像的高或宽,a、b、m均为正整数。
[0110] 由此,完成本发明的视频水印的提取过程。
[0111] 为了验证本发明所提出的视频水印算法的性能,采用以下指标来衡量算法的鲁棒性和不可感知性:
[0112] 水印的不可感知性的客观评价采用峰值信噪比(Peak Signal to Noise Ration,PSNR)和平均误差均值(Mean Square Error,MSE)。MSE的计算公式:
[0113]
[0114] 式中M和N分别为单帧图像的高和宽,I和I′分别为原始视频帧和水印视频帧。MSE的值越小,说明单帧水印图像的质量与原始图像的差距越小。利用MSE值能方便计算出PSNR值,如下公式所示:
[0115]
[0116] 对嵌入水印后的视频帧与原始视频帧计算得到的PSNR值越小说明单帧图像在嵌水印后的失真度越大。另外,本发明采用比特错误率(BER)和归一化相关系数(NC)对水印的鲁棒性进行评价,公式如下:
[0117]
[0118]
[0119] 式中m为水印的大小,B和B′分别为原始水印和提取的水印。NC值越大,说明水印算法的鲁棒性越强。
[0120] 测试视频的大小为480×640,水印大小为16×16。图2为使用本发明提出的水印算法的示例,图3为原始水印图和置乱后水印图像的对比。
[0121] 图4为阈值T与水印NC的关系图,图5为阈值T与视频平均PSNR的关系。在算法不被攻击的情况下,阈值T分别与水印的NC值,视频的平均PSNR值的关系。从中可以看出水印的NC值随着阈值T的增大而增大,视频的平均PSNR值则随着阈值T的增大而减小。当T≥0.008时,提取的水印的NC值为1,且视频的平均PSNR值也整体在40dB以上。在同时考虑算法的鲁棒性和透明性的情况下,本发明优选取T=0.01。图6为水印视频示例的截图和平均PSNR,其列举了使用本发明水印算法的一些示例。显然,原始视频和水印视频之间的差异对观察者而言并不明显。
[0122] 本发明还通过实验来验证本发明算法对于常见视频攻击的鲁棒性。图7为帧删除攻击结果图,展示了对于每个大小为480×640×4的张量,分别删除其中的25%至50%帧后所提取的水印图像及其NC值。从中可以看出,即使删除50%的视频帧,所提取的水印的NC值依然很高。
[0123] 图8为缩放比例与水印NC值的关系,从中可以看出使用本算法时,不管是对水印视频进行放大还是缩小,所提取的水印的NC值都为1。这是由于在对水印视频进行缩放攻击时,视频相邻帧之间的相关系数只发生非常微小的变化,即视频的缩放攻击操作对视频张量的时间因子矩阵造成的影响微乎其微。本发明的效果明显优于对比算法,对比算法具体参见CN201910375565.0。
[0124] 图9为几何形变以及裁剪攻击后的时间因子矩阵,给出了同一段视频分别受到缩放、旋转和裁剪攻击后所提取的时间因子矩阵,其第一列的值与该视频在没有受到任何攻击的情况下所提取的时间因子矩阵第一列的值几乎一致。
[0125] 图10为旋转攻击结果表,图11为裁剪攻击结果表,结果表明随着水印视频裁剪比例的不同,视频相邻帧之间的相关系数也会发生相应的变化,因此在不同的裁剪比例下所提取的水印的NC值也不尽相同,但是不管对水印视频裁剪10%,30%甚至是50%,本算法都能较为完整地提取出水印图像。
[0126] 图12为压缩攻击结果表,本实验采用H.264压缩标准对水印视频进行压缩,结果表明,本算法对于压缩攻击具有较强的鲁棒性,即使压缩比为20%时也能较为完整地提取出水印图像。
[0127] 图13为不同攻击下的水印提取结果展示,表明不管是对水印视频进行噪声攻击还是滤波攻击,本算法都能完全正确地提取出水印图像。从上述的实验结果可以看出,本章算法对于常见的视频攻击都具有较强的鲁棒性。
[0128] 以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。