基于运动矢量的脆弱视频水印算法研究
2017-07-12杨静郑耿峰
杨静,郑耿峰
(福建省特种设备检验研究院 福建 福州350008)
基于运动矢量的脆弱视频水印算法研究
杨静,郑耿峰
(福建省特种设备检验研究院 福建 福州350008)
结合人类视觉特性(HVS)与H.264编解码原理,提出了一种基于运动矢量的脆弱视频水印算法。算法从I帧能量块中提取特征码,运用最小化拉格朗日函数搜索,在具有小分割模式的宏块中选择具有最佳率失真性能的运动矢量作为嵌入点。本算法简单,能够实现盲提取。实验结果表明,算法能够有效改善水印的不可见性,降低水印嵌入带来的码率提升以及对视频质量的影响,并对各类恶意攻击表现出较好的脆弱性。
人类视觉特性;H.264;运动矢量;不可见性;脆弱性
随着视频网站和网络电视等网络视频行业的快速兴起,视频版权纠纷问题也越来越多,作为数字权限管理的水印技术在视频领域的应用也随着成为关注热点。针对视频水印的嵌入方法有很多,其中最常用的是将水印嵌入到视频的DCT系数中,但是由于P、B帧均采用帧间预测编码,经过量化后大部分系数为零,因此可以利用的DCT系数有限,且对视频质量影响较大[1-2]。根据H.264编解码标准,运动矢量是一个非常重要的特征,它关系到视频画面的连续行和平滑性,是视频压缩的重点。运动矢量反映的是当前编码帧中被预测宏块与参考帧中最匹配宏块的运动位移信息,与宏块的内容无关,因此对于基于内容的视频水印的攻击表现出较强的鲁棒性,所以将水印信息嵌入到运动矢量成为研究热点之一[3-4]。
目前,大部分基于运动矢量的视频水印算法是在压缩码流中修改运动矢量以嵌入水印[5-7],未能充分利用编码过程产生运动信息以对水印实施动态调控。本文提出的基于运动矢量的脆弱水印视频算法,在编码过程植入水印,不仅算法简单,能够实现盲提取,且能够有效改善水印的不可见性,降低水印嵌入带来的码率提升以及对视频质量的影响,并对各类恶意攻击表现出较好的脆弱性。
1 算法描述
1.1 水印信息的构造
本算法采取在编码端嵌入水印,经编码压缩后,在解码端提取水印,因此要求特征信息对视频压缩编码表现较强的鲁棒性。编码I帧图像采用帧内编码,特征信息较P帧更稳定,同时在经过压缩后DCT块组能量的关系基本不变[8-9],因此算法采用在编码端从视频I帧数据提取特征码作为水印植入到P帧,经压缩编码在解码端提取水印,具体步骤如下:
步骤1 将原始视频的I帧图像分割成一个个16×16 的宏块,记为 I={b1,b2,…,bn},其中 bn表示每个宏块,n表示宏块总个数。每个宏块的能量表示为[10]:
其中Ci表示每个宏块中4×4的能量,可以表示为
其中Ci表示整数DCT变换后的系数。
步骤2 宏块的有规则置乱。本算法是采用块组能量关系生成水印,为提高特征码的鲁棒性以及每个特征码的相对鲁棒性,需要对宏块进行有规则的置乱,保证宏块在置乱后距离尽量和宽保持一致[11-12]。如 n=6 时,置乱后的宏块为 I={b1,b4,b2,b5,b3,b6}。
步骤3获得特征序列。块组能量关系可以表示为[13]
其中m=2,3…n(n为宏块的总个数)
Mi={M1,M2,…,Mn-1}即为特征序列。
步骤4最终水印信息的生成。生成安全性较强的水印信息,需要对特征序列进行加密处理。加密方法如公式(4)所示:
其中pi是伪随机序列,攻击者在没有密钥的前提下,无法准确得到水印信息。
1.2 水印信息的嵌入
步骤1 确定最优的运动矢量。 H.264中亮度块采用1/4像素精度的运动估计,从而获得每个子块的运动矢量。为使水印嵌入对视频影响较小,本算法利用最小化拉格朗日代价函数,通过运动搜索选择具有最佳率失真性能的运动矢量作为水印嵌入位置。
函数表示为:
其中,Distortion表示当前运动补偿块和预测块间的失真度,si表示样本值,M为所有可能的运动矢量,λ表示拉格朗日乘子,用来在编码比特率和失真度之间寻找一个最佳的平衡点,R表示比特数,m表示运动矢量,p表示运动矢量的预测值。根据不同的运动矢量所产生不同的拉格朗日代价,以确定编码比特数与失真度之间的最佳平衡点,从而确定最终运动矢量。
步骤2确定最优的嵌入区域。目前,很多研究是选择在运动矢量或者纹理大于某个阈值的块中进行嵌入[14],虽然算法也利用了人眼视觉特点,且在一定程度上也减小视频的失真,但是由于嵌入水印后,运动矢量幅度会发生变化,会导致在阈值附近的运动矢量提取错误。本算法为确定最优嵌入区域,利用人类视觉系统,避开对视频质量和输出码流影响很大的跳跃宏块,并根据视频区域特征、运动信息,选择在最佳宏块模式为8×8宏块的运动矢量中嵌入,其中包含 8×8,8×4,4×8,4×4 4 个子宏块, 避免了使用阈值选择计算带来的误差与复杂度,因此算法简单;在视频重编码或者其他恶意攻击下,小分割模式类型可以灵活改变,因此视频对恶意攻击表现较强的脆弱性。
步骤3率失真性能较好的嵌入过程。为了是视频在嵌入水印后具有较好的率失真率,选择在编编码中的亚像素搜索时嵌入。嵌入公式为[15]:
其中MVx,MVy表示原始运动矢量的水平和垂直分量,MV′x,MV′y表示嵌入水印后的水平和垂直分量。
1.3 脆弱水印信息的提取
水印的提取是在解码端进行,因为在提取时不需要了解原始的视频信息,因此实现了盲提取。首先读取P帧中具有最佳分割模式红块的运动矢量信息,针对嵌入过程对水印进行提取。提取公式表示为:
根据式(7)提取出水印的信息位,并根据嵌入规定按每3个连续的宏块确定4bit水印信息。3个宏块在同一个位置提取的信息位必须相同,否则水印为提取错误;然后按水印生成的算法和密钥,从重建的I帧图像中提取水印。
2 仿真实验结果和性能验证
本实验采用Matlab7.5作为仿真软件,H.264参考软件模型JM8.6作为测试环境,从不可见性、脆弱性对算法性能进行验证。系统选择QCIF格式的Salesman,foreman的序列,帧率为 30 帧/秒,比特率为45 kbit/s,帧数为30帧,并按IPPPP方式编码,每15帧编码一个I帧。QCIF格式序列为99个宏块/帧,按照算法,每个I帧生成98bit水印,在每个宏块潜入一个水印位以使水印尽可能分布到整个GOP。
2.1 不可见性验证
不可见性是对视频水印技术的一般要求,含有水印的载体与原始载体的差别要很小,肉眼几乎察觉不到,同时攻击者不能通过统计法判断视频是否含有水印甚至恢复水印。
图1是salesman序列在嵌入水印前后视频图象质量的对比,有图可知人眼基本察觉不到差别。
图1 salesman测试序列前后比较图
图2是salesman在第一个GOP内每个P帧亮度的PSNR在未采用拉格朗日函数、未考虑小分割模式、本文算法3种算法下嵌入水印前后变化情况(其中横坐标为帧数,纵坐标为PSNR值),可以看出采用在本文算法,运用最小化拉格朗日函数搜索,在具有小分割模式的宏块中选择嵌入水印后具有最佳率失真性能的运动矢量处嵌入水印,可以最有效的降低水印嵌入对视频的影响。
图3是salesman序列在3种算法分别嵌入水印后的率失真曲线图从中可以看出,使用本文算法嵌入水印前后平均PSNR和码率的变化同时最小,率失真曲线与原始视频的也最为接近,进一步说明了本算法可以有效改善水印的不可见性。
2.2 脆弱性验证
脆弱性是衡量视频水印性能另一指标,通常采用正确提取率CDRW来衡量,CDRW越小,代表水印的脆弱性约好。对脆弱视频水印,当视频在受到攻击时,水印信息不能够完整提取。
图2 salesman序列嵌入水印前后每一帧亮度的PSNR值的比较
图3 salesman序列在3种算法中的率失真曲线图
表1为水印对视频重编码和加噪声以及滤波的测试结果,可以看出,在无攻击QP=28时,foreman,salesman的CDRW都为1,提取出的水印与嵌入的完全一致。而在重编码和低通滤波,以及加均值为0,方差为0.001的高斯噪声,加密度为0.005的椒盐噪声后,CDRW比较低,水印大部分被破坏了,说明水印的脆弱性较好。
表1 水印对视频攻击的敏感性测试
3 结束语
论文结合人眼视觉特点与H.264视频编解码原理,提出了一种基于运动矢量的脆弱视频水印算法。本文算法简单,在视频编码端嵌入水印,无需要原始视频,实现了盲提取。实验结果表明,算法有效改善水印的不可见性,降低了水印嵌入带来的码率提升以及对视频质量的影响,并对各类恶意攻击表现出较强的脆弱性。
[1]徐甲甲,张卫明,俞能海,等.一种基于秘密共享与运动矢量的视频水印算法 [J].电子学报,2012,40(1):8-13.
[2]梅文博,张云帆.一种基于运动矢量的Mpeg2视频数字水印的改进算法 [J].北京理工大学学报,2004,24(8):723-726.
[3]郑振东,王沛,陈胜.基于运动矢量区域特征的视频水印方案 [J].中国图像图形学报,2008,13(10):1926-1929.
[4]叶惠.基于运动矢量的视频隐写分析方法研究[D].合肥,中国科技大学,2014.
[5]祁睿.H.264视频编码器运动矢量预测模块设计与实现[D].哈尔滨,哈尔滨工业大学,2014.
[6]苏育挺,张新龙,张承乾,等.基于运动矢量的H.264信息隐藏算法 [J].天津大学学报,2014,47(1):67-73.
[7]刘洋.基于脆弱水印的H.264/AVC视频认证技术研究[D].成都:西南交通大学,2014.
[8]陈宏炳.基于H.264标准的脆弱视频水印算法研究[D].杭州,杭州电子科技大学,2012.
[9]杨敏.视频版权保护和内容认证的水印技术研究[D].南京:南京邮电大学,2014.
[10]吕安强.一种新的半脆弱视频水印方案[J].中国图象图形学报,2009,14(10):1966.
[11]李俊杰.基于H.264/AVC的视频流媒体水印技术研究[D].长沙:湖南大学,2011.
[12]张宪海,杨永田.基于脆弱水印的图像认证算法研究[J].电子学报,2007,35(1):34-38.
[13]吴国祯,冯桂.一种基于H.264般脆弱视频水印方案[J].通信技术,2012,45(1):112-118.
[14]Jing Zhang,A.T.S.Efficient Video Authentication for H.264/AVC [J].IEEE ComputerSociety,2006,5(3):157-164.
[15]KUO Tien-ying,LO Yi-chung.Fragile video watermarking technique by motion field embedding withrate-distortion minimization[J].Journal of Communication and Computer, 2009,6(1):16-23.
A fragile video watermarking algorithm based on motion vectors
YANG Jing,ZHENG Geng-feng
(Fujian Special Equipment Inspection and Research Institute, Fuzhou 350008,China)
The paper proposes a fragile video watermarking algorithm based on motion vectors,combind with human visual system (HVS) and H.264 codec principle.The algorithm extracts signature code from I-frame energy block,and choose the motion vector with the best rate distortion performance by minimizing the Lagrangian function as embedded-point.The extraction of the watermark does not equire the original video and the algorithm is very simple.The experimental result shows that this algorithm can improve the imperceptibility of the watermark,reduce the rate-raising and vedio-quility caused by watermarking emmbendment,and shows strong fragility toward malicious attaacks.
human visual system;H.264;motion vector; imperceptibility;fragility
TN98
A
1674-6236(2017)12-0153-04
2016-05-26稿件编号:201605249
杨 静(1983—),女,安徽淮北人,硕士。研究方向:计算机应用、信号与处理。