基于H.264比特流运动矢量的水印算法研究
2019-08-23马利民张伟宋莹
马利民 张伟 宋莹
摘 要: 针对水印质量和比特率增加的问题,该文设计两种直接在H.264比特流运动矢量中进行水印嵌入的脆弱性视频水印算法。算法I通过引入运动矢量误差补偿模块和优化水印嵌入位置选择方法提高重建视频质量;算法Ⅱ在其基础上,引入帧内?帧间误差补偿模块来消除由于帧内?帧间误差累积现象带来的重建视频失真,进一步提高了重建视频质量。实验结果表明,算法I可以取得较好的重建视频质量,且重建视频流的比特率增加比较小;算法Ⅱ保证重建视频质量的同时带来一定比特率增加。两种算法为H.264压缩视频的内容完整性认证提供了有效的解决方案。
关键词: 数据隐藏; 误差累积; 误差补偿; 水印嵌入; 算法设计; 视频质量
中图分类号: TN941.2?34; TP301.6 文献标识码: A 文章编号: 1004?373X(2019)16?0088?06
0 引 言
信息隐藏技术是将数据嵌入到其他数字媒体资源中,已经广泛应用于版权保护、完整性验证和保密通信等领域。目前,视频文件成为重要的多媒体资源,其中H.264[1]憑借较高的压缩效率力压其他视频压缩标准,在互联网上得到广泛应用,因此其安全性需要重视[2]。一般水印算法分为鲁棒性水印算法和脆弱性水印算法两种。其中:鲁棒性水印将水印信息嵌入在I帧量化后的整数变换系数中,用来实现视频的版权保护[3? 5];脆弱性水印算法则将水印信息隐藏在运动矢量中,主要用于视频内容的完整性认证[6?11]。本文重点对用于实现完整性认证的H.264压缩域水印算法进行了研究。在设计用于完整性保护的视频水印算法时,除了认证功能,还需要注意重建视频的质量和嵌入后压缩视频的比特率增加。为了减小嵌入失真,文献[6]在具有小分割模式的宏块中选择具有最佳率失真性能的运动矢量作为嵌入点以降低对重建视频质量的影响。文献[7]通过修改宏块中每个分割块的最佳匹配位置,利用分割块匹配位置与待嵌二进制信息之间的映射规则,将信息隐藏到分割块的匹配位置中。文献[8?9]则对运动估计算法做出一定改进,以提高编码效率。文献[10]根据编码过程中嵌入水印信息所引入预测误差的大小来选择待嵌入运动矢量,以减小嵌入失真。上述算法的计算复杂度较大,实时性较差。直接在H.264比特流运动矢量中进行水印信息的嵌入会引入帧内?帧间误差累积现象和运动矢量误差累积现象,导致重建视频质量的严重下降。文献[11]提出了一种基于H.264比特流的脆弱性水印算法,实现了H.264压缩视频的完整性认证,但没有很好地解决误差累积现象且引入了较大的嵌入失真。本文提出一种直接在H.264比特流运动矢量中进行水印嵌入的脆弱性水印算法。该算法通过解决运动矢量误差累积现象及选择合适的嵌入位置和嵌入方式,生成的水印视频质量较好且比特率增加较小。此外,本文还设计了该算法的一个改进版本来提高算法的不可见性,解决帧内?帧间误差累积现象。
3 实验结果及分析
本文提出的算法是基于JM 12.2 解码器实现的。实验中采用6个标准的YUV 4∶2∶0, QCIF格式的视频序列,如图3所示,其中编码器参数设置如表1所示。
本节用Alg?Ⅰ和Alg?Ⅱ来分别代指算法Ⅰ和算法Ⅱ。图4给出在相同实验条件下,Foreman视频在Alg?Ⅰ和Alg?Ⅱ以及未作任何补偿的情况下, 嵌入1 552 B的水印信息后,得到的视频质量的比较结果,在这里仅给出第80帧图像嵌入水印后效果图。从图4b)中可以看出,误差累积现象会造成视频质量的严重降级。通过Alg?Ⅰ处理后,视频质量提高了近6.5 dB;而经过Alg?Ⅱ处理后,视频质量提高近12 dB。
另外,本节将提出算法的结果与文献[11]中结果进行比较,重点比较了嵌入相同水印信息下重建视频的最低PSNR、平均PSNR及嵌入过程带来的比特率的增加。实验环境配置相同,区别在于本算法采用的是JM 12.2, 文献[11]中采用的是JM 9.6。比较结果如表2所示,可以看出,算法Ⅰ和Ⅱ所得嵌入水印后视频质量均高于文献[11]算法。原因在于文献[11]所采用的水印嵌入算法引入的误差较大,而算法Ⅰ通过采用嵌入位置合理的选择提高了算法的不可见性,而算法Ⅱ通过解决帧内?帧间误差累积现象进一步提高了算法的不可见性,例如对于Container视频序列来说,相比较文献[11], 本文实现Alg?Ⅰ和Alg?Ⅱ算法在平均PSNR方面分别提高25 dB和27 dB,在最低PSNR方面分别可以提高13 dB和14 dB;在比特率增加方面,Alg?Ⅰ和文献[11]引入的比特率增加都比较小,但对于Alg?Ⅱ算法带来的比特率增加比较高,原因在于在进行帧内?帧间误差补偿时,由于补偿信号的引入使得量化后IT系数本身为0的一些位置变为非零值,因此在进行熵编码时会增大编码后比特数。因此,对于Alg?Ⅱ而言,该算法是以比特率的增加为代价来提高重建视频质量的。
算法Ⅰ和算法Ⅱ各有优点,可根据实际场景需要进行选择,如果对重建视频质量要求较高,则选择算法Ⅰ,反之可以选择算法Ⅱ。
4 结 论
本文利用H.264宏块分割特点,引入一种有效的嵌入位置选择方法,并通过比较引入的预测误差合理地选择一种最优的嵌入方式进一步减少嵌入误差。实验结果表明,所提算法可以取得较好的重建视频质量且重建视频流的比特率增加比较小。算法Ⅱ通过引入帧内?帧间误差补偿模块进一步提高了重建视频质量,但该算法带来的比特率增加比较严重。这两个算法可以很容易地集成到一个系统中,根据实际的应用需求进行具体选择,灵活性较好。
参考文献
[1] 刘凯,李晨田,丽华,等.基于H.264抗重压缩的视频水印算法[J].计算机应用与软件,2018,35(12):163?168.
LIU Kai, LI Chentian, LI Hua, et al. A video watermarking algorithm against re?compression based on H.264 [J]. Computer applications and software, 2018, 35(12): 163?168.
[2] 葛莉.H.264和AVS编码在数字电视系统中性能对比及应用分析[J].通信电源技术,2016,33(1):128?129.
GE Li. Performance comparison and application analysis of H.264 and AVS coding in digital television system [J]. Telecom power technology, 2016, 33(1): 128?129.
[3] 谢斌,彭林.基于H.264误差漂移补偿的鲁棒性视频水印算法[J].电视技术,2016,40(10):15?21.
XIE Bin, PENG Lin. Robust video watermarking algorithm based on H.264 error drift compensation [J]. Video engineering, 2016, 40(10): 15?21.
[4] 蒋刚毅,李文锋,郁梅,等.H.264/AVC压缩域鲁棒视频水印[J].光学精密工程,2015(21):260?270.
JIANG Gangyi, LI Wenfeng, YU Mei, et al. Robust video watermarking in H.264/AVC compressed domain [J]. Optics and precision engineering, 2015(21): 260?270.
[5] 李淑芝,唐银,邓小鸿,等.H.264压缩域安全型视频水印算法[J].电视技术,2015,39(21):5?9.
LI Shuzhi, TANG Yin, DENG Xiaohong, et al. Security of video watermarking algorithm in H.264 compressed domain [J]. Video engineering, 2015, 39(21): 5?9.
[6] 杨静,郑耿峰.基于运动矢量的脆弱视频水印算法研究[J].电子设计工程,2017(12):153?156.
YANG Jing, ZHENG Gengfeng. A fragile video watermarking algorithm based on motion vectors [J]. Electronic design engineering, 2017(12): 153?156.
[7] 王炜,林夕杰,李孝琴.一种改进的H.264运动估计信息隐藏算法[J].计算机科学,2015,42(6):151?157.
WANG Wei, LIN Xijie, LI Xiaoqin. Improved information hiding algorithm based on motion estimation of H.264 [J]. Computer science, 2015, 42(6): 151?157.
[8] 郭继昌,邱琳耀,张雪.一种利用预测运动矢量改进的H.264快速运动估计算法[J].数据采集与处理,2017,32(2):278?285.
GUO Jichang, QIU Linyao, ZHANG Xue. Improved method of H.264 fast motion estimation using predictive motion vector [J]. Journal of data acquisition and processing, 2017, 32(2): 278?285.
[9] 刘艳.引入搜索预测与阈值决策的改进菱形运动估计算法[J].图学学报,2015,36(4):576?580.
LIU Yan. Improved diamond motion estimation algorithm based on search prediction and threshold decision [J]. Journal of graphics, 2015, 36(4): 576?580.
[10] ALY H A. Data hiding in motion vectors of compressed video based on their associated prediction error [J]. IEEE transactions on information forensics and security, 2011, 6(1): 14?18.
[11] NGUYEN C V, TAY D B H, DENG G. A fast watermarking system for H.264/AVC video [C]// IEEE Asia Pacific Conference on Circuits & Systems. Singapore: IEEE, 2006: 81?84.