一种基于关系视频盲水印算法
2015-04-29鲁晓辉
摘 要: 针对视频水印的特征,提出一种利用视频帧采样点均值曲线相交性确定嵌入帧的方法:在水印信息嵌入时,利用嵌入帧三个亮度最大分块位置关系和DC值大小实现每帧2bit信息的嵌入。实验证明,该算法对常规攻击具有良好的鲁棒性。
关键词: 人类视觉系统; 离散余弦变换; 鲁棒性; 数字水印
中图分类号: TP 309.7 文献标志码: A 文章编号: 1671-2153(2015)03-0057-04
0 引 言
随着网络不断普及数字影视的传播得到了极大的发展,数字水印在数字版权保护中的应用也越来越广泛[1],但目前研究主要以图像水印为主,视频水印多是以图像水印的简单变换直接应用于视频。在实际应用中,视频水印与图像水印间存在着比较大的差异[2],视频水印研究的最重要问题之一就是水印信息嵌入帧的选择和信息提取问题。在文献[3-5]中,不同学者对视频水印算法进行了研究,试图在确保不可见性的前提下,尽可能的提升算法的鲁棒性。
离散余弦(DCT)变换以其算法相关性好,算法强度小等优点被广泛的应用于水印研究。本文主要研究如何利用视频高频AC分量通过嵌入帧确定和嵌入强度分析,实现水印嵌入的问题。
1 水印算法
1.1 嵌入帧确定
水印信息嵌入位置的选定主要需要考虑两方面因素:第一,水印信息的嵌入对视频影响较小,不易被人眼觉察;第二,信息嵌入后具有较强的抗干扰性,在受到各类攻击后,依然能够成功定位与提取。
为确定水印嵌入位置,本文做了如下实验,首先对载体视频进行连续采样,选择采样帧固定部分的8×8区域进行DCT变换,取得变换后DC系数作为采样值,记为DC(ac1,ac2,…,acn)。取正整数a,根据公式(1)计算a个采样值均值,即
a分别取值为0,10,20;曲线DC,AVE10,AVE20位置关系如图1所示。通过测试结果可以看出,随着a取值的增大,均线低通特性逐渐显著,曲线波动减小,更加平滑。由于常规的噪声均值趋近于0,所以当a取值足够大时,噪声均值可以视为0,即均值曲线的相交性不受噪声影响:在视频受到常规攻击时,其均值曲线的交点相对稳定,不会由于攻击改变位置,可以利用均值曲线交点方便的实现帧定位。所以,本算法采用两条均值曲线交点帧作为嵌入帧。
1.2 基于HVS的阀值确定
阈值是嵌入强度控制的重要指标,通过阈值的调节,确保嵌入强度在满足不可见性的基础上尽量增加。人类视觉系统(HVS)对于视频高亮部分的分辨能力小于视频低亮部分,即人类对AC系数较大部分变化的敏感性较小。
式中n为将视频帧划分的8×8分块个数。由公式(2)可知,亮度大于平均亮度的分块能嵌入阈值大于亮度低的分块。
2 水印嵌入实现
2.1 水印预处理
水印的预处理是将水印图像通过一定的数学过程打乱重新排列并可以恢复的过程。一般分为位置置乱和数值置乱两种,本算法采用位置置乱Arnold变换,即
置乱后的无规律二值图像如图2所示。
2.2 水印嵌入过程
水印嵌入过程如图3所示。
具体步骤为:
步骤1:对n×m的二值水印图像,利用公式(3)进行置乱,得到二值序列W(w1*,w2*,w3*,…,wn×m),将其三个一组组成新序列W'(w1',w2',w3',…,w'k),其中w1'=(w1*,w2*),w'k=(w*2k-1,w*2k),k∈[1,m×n/2]。
步骤2:对载体视频逐帧选定固定位置进行8×8的DCT变换,提取DC(1,1)备用。
步骤3:根据公式(1)计算a等于10和20的均值序列AVE10和AVE20,两条均值线相交的帧即为选定的嵌入帧。
步骤4:查找嵌入帧亮度最大的3个8×8分块,分别记为DCx(1,1),DCy(1,1),DCz(1,1),其中x 步骤5:对于嵌入信息w1有如下对应关系,即 11,DCx(1,1)≥DCy(1,1)…DCy(1,1)≥DCz(1,1)10,DCx(1,1)≥DCy(1,1)…DCy(1,1)≥DCz(1,1)01,DCx(1,1) 嵌入时,当w1'取值为11或10时,DCx(1,1)与MAX(DCx(1,1),DCy(1,1),DCz(1,1))进行值交换;当w1'取值为01或00时,DCx(1,1)与MIN(DCx(1,1),DCy(1,1),DCz(1,1))进行值交换。 然后再进行DCy(1,1)和DCz(1,1)的值调整,当w1'取值11或01时应满足DCy(1,1)≥DCz(1,1),否则交换两者数值; 当w1'取值10或00时应满足DCy(1,1)≤DCz(1,1),否则交换数值。 步骤6:根据公式(5)判断调整后的三个系数间最大差值与阈值T的关系。 α=DCmax(1,1)-DCmin(1,1)β=α-T。 (5) 若β>0则整个系数不做调整,若β<0则 DCmax(1,1)=DCmax(1,1)+βDCmid(1,1)=DCmid(1,1)+β/2, (6) 式中:DCmax(1,1),DCmid(1,1),DCmin(1,1)分别代表最大值、中间值和最小值;T为嵌入阀值。 2.3 水印提取 水印提取过程如图4所示,具体步骤如下: 步骤1:根据公式(1)计算a等于10和20的均值序列AVE10和AVE20,两条均值线相交的帧即为选定的嵌入帧。
步骤2:查找嵌入帧亮度最大的3个8×8分块,分别记为DCx(1,1),DCy(1,1),DCz(1,1)。
步骤3:根据公式(4)提取嵌入信息。
步骤4:对提取信息进行逆变换,得到嵌入信息。
3 实验结果
3.1 不可见性测试
实验环境为Winxp系统,Matlab7.0,视频格式MPEG-2,大小(像素)1286×504,每秒25帧,格式为4∶2∶0,时长15 min。水印为32×32二值图像(图2),格式bmp,参数a取值10和20,T取值6。学界一般采用峰值信噪比(PSNR)来判断水印的不可见性,计算方式如式(7),其中m和n为帧的长和宽,P和P*分别为嵌入前后的图像。
为验证算法的不可见性,采用两种测试方法:第一,计算水印嵌入的PSNR值,从数值上判定水印不可见性;第二,选取水印嵌入前后的相同嵌入帧进行肉眼直观对比,以确定是否能够直接看出水印嵌入对视频造成的影响。
首先进行测试,结果如表 1所示。表1中qs表示视频量化的比例因子。
一般来说,当PSNR达到30以上时,人们就无法通过肉眼直接观察到视频的差异;而本算法PSNR实测值达到58.03,从理论上分析,水印嵌入造成的画质影响无法用肉眼观察到。然后截取水印嵌入前后的同一个嵌入帧(如图5所示)进行直接观察,无法感觉到明显的差异。所以可以得出结论,本算法具有较好的不可见性,水印的嵌入对视频质量的影响很难被感觉到。
3.2 鲁棒性测试
水印算法的鲁棒性主要考察水印嵌入后通过不同的攻击后,水印信息能否保持完整的能力,一般采用提取水印与原始水印相似度(NC值)来判断。为了测试本文算法的鲁棒性,选取表2所列的各类常规攻击方式,给定不同参数进行测试,并分别计算NC值,具体数据如表2所示。
通过测试数据可以看出,通过各类攻击测试算法始终能够保持较高的NC值,尤其针对椒盐攻击、缩放攻击表现出极强的抗干扰性,NC值始终能够保持在0.9以上。可以得出结论,本文算法具有良好的鲁棒性,能够确保在各类情况下的水印正常提取。
4 结束语
本文提出了一种基于视频采样点均值曲线相交的定位方法确定水印嵌入帧,并利用嵌入帧高亮分块DC数值和位置关系实现水印信息的嵌入算法。通过实验证明,算法具有较大嵌入量的同时满足鲁棒性和不可见性的平衡,是一种较好的视频盲水印算法。
参考文献:
[1] WANG Y L, PEARMAIN A. Blind MPEG-2 video water marking robust against geometric attacks: a set of approaches in DCT domain[J]. IEEE Trans. Image Process,2006,15(6).
[2] 高琦,李人厚,刘连山. 基于帧间相关性的盲视频数字水印算法[J]. 通信学报,2006,27(6):43-48.
[3] 鲁晓辉,金渊智. 基于MPEG-2的视频水印算法[J]. 计算机应用与软件,2014(10):144-146.
[4] 杨尚跃,刘邵星,杨树国. 基于SURF视频分割的小波视频水印算法[J]. 科技信息,2014(6):70-75.
[5] 张金全,王宏霞. 基于音频内容的DCT域脆弱水印算法[J]. 西南交通大学学报,2012(3):43-48.
[6] 杨恒伏,陈孝威. 小波域鲁棒自适应公开水印技术[J]. 软件学报,2003,14(9):1652-1660.
(责任编辑:徐兴华)