一种抗重压缩视频水印算法

2018-03-02 12:22李聪颖王怀
数字技术与应用 2018年12期
关键词:宏块码流码字

李聪颖 王怀

摘要:随着互联网技术的发展,视频的获取变得越来越容易,视频的不正当使用也越来越广泛,视频水印技术显得尤为重要。针对当前视频水印抗重压缩能力的不足,本文提出了一种基于运动目标检测的抗重压缩视频水印算法。本算法通过对运动目标的检测,筛选出运动块,使水印嵌入载体具有良好的抗重压缩性能。通过保持格式兼容的码字替换算法嵌入水印,可以保证码流的一致性。且整个算法都是在压缩域中进行操作的,只需要部分解码视频就能完成水印的嵌入,提高了工作效率,便于实时视频应用。

关键词:视频水印;H.264;重压缩;运动目标检测

中图分类号:TP309.7 文献标识码:A 文章编号:1007-9416(2018)12-0116-02

1 算法概述

随着多媒体技术和网络技术的发展,视频越来越容易被伪造和更改,在很多安全领域,不正当使用视频可能会造成严重影响。因此,如何正确的认证视频和有效的保护视频版权成为了研究的热点,因此视频水印技术的应用也得到了广泛的关注[11]。

由于视频的数据量比较大,而为了方便传输与存储,需要对视频进行压缩编码处理。常见的视频编码方式有MPEG-2,MPEG-4和H.264/AVC等。其中,H.264/AVC的压缩率和编码效率比前两种的要有所提高,所以应用较为广泛[1]。因此,基于H.264/AVC的压缩域视频水印算法也是研究较多的一个热点[16],而本文中介绍的方法也是基于H.264/AVC编码技术的。

在H.264/AVC规则下的视频水印算法一般分为三大类,第一类就是在DCT系数中嵌入水印,如文献[4]中,通过结合H.264/AVC的帧内预测模式,在DCT系数中嵌入水印,这样一来,嵌入水印之后的作为预测块的像素是不变的,因此算法具有良好的性能。文献[5]中通过不同宏块之间DCT系数残差值和预测值之和的能量保持关系来取得特征,再通过修改DCT系数符号特征来实现水印的嵌入,实验表明此方案可以抵抗多种攻击。文献[10]中,提出一种基于I帧色度量化残差系数的视频水印算法,根据4*4子块中的非零量化DCT残差系数选择合适的子块,水印嵌入位置则是色度子块,水印嵌入的方法是结合Arnold置乱后的水印,通过调制其中一个非零量化DCT残差系数来改变相邻位置系数的大小关系来进行嵌入水印操作,具有稳定的抗重压缩能力。第二类是在运动矢量中嵌入水印,如文献[6]中,在P帧和B帧中的运动矢量残差(Motion Vector Difference, MVD)的最低有效位上,结合运动补偿技术,进行水印嵌入。第三类是在熵编码后的码字中嵌入水印,如文献[7]中,通过在宏块模式为Intra_16*16的宏块中进行水印嵌入,嵌入的方式是替换其熵编码之后码字中的亮度信息部分码字。文献[8]在此基础上,将嵌入的位置扩展到所有满足条件的宏块中,嵌入方式则是替换指数哥伦布编码的语法码字中。

本文通过对H.264/AVC编码规则的研究发现,对于运动块来说,压缩方式是帧间压缩,而帧间压缩一般是无损压缩,即压缩前后的数据一致,因此在运动块内嵌入水印会具有良好的抗重压缩能力[2]。针对视频水印的抗重压缩能力不足问题,提出了一种基于运动目标检测的抗重压缩视频水印算法[9],该算法在嵌入水印之前,先利用运动目标检测来筛选出属于运动目标的运動块,然后在运动块内进行码字替换算法嵌入水印。

2 基于运动目标检测的抗重压缩视频水印算法

在这一部分中,介绍了一种基于运动目标检测的抗重压缩水印算法,总体包含两个部分:运动块的确定和水印的嵌入与提取。首先经过运动目标检测,找到对应的运动块,然后在运动块中进行水印的嵌入和提取。

2.1 运动块的确定

在压缩域中,对视频的264文件进行运动目标检测,运动目标检测的目的是将一帧图像中的运动目标筛选出来,从而得到运动块。在压缩域中,编码对象是一个个的宏块,每一个宏块又可以分为若干子宏块,每一个子宏块都有自己的运动矢量(Motion Vector,MV)[12],而运动目标的检测则是通过对每一个宏块的所有MV进行一定的操作得到一个数值,这个数值与实验确定的阈值T相比较来判断该宏块是否属于运动块。具体操作步骤如下:

(1)设当前宏块的大小为W*H,W和H分别为宏块的宽和高,这个由编码规则确定,H.264/AVC中为16*16[13];

(2)当前宏块可分为若干子宏块,每一个子宏块都可以得到一个MV。设当前宏块分为N个子宏块,则有N个MV。H.264/AVC中子宏块最小尺寸为4*4。

(3)对得到的n个MV的范数进行求和,并除以宏块的区域,且MV是二维数组则再除以2。计算得到的值为MVValue,公式如下:

(4)用得到的MVValue与实验得到的阈值T比较,大于T则表示当前块属于运动块,否则是非运动块。

(5)对下一个宏块进行步骤(1)-(4)直至编码完成。

2.2 水印嵌入

水印嵌入的环节也是在压缩域中完成,具体则是在熵编码之后的码字中进行水印的嵌入。根据H.264/AVC编码的规则,编码器会把一帧图像中的一个宏块的待编码的残差数据进行熵编码形成码流,再结合一些视频解码必要的信息,如预测模式,量化步长等,形成该宏块的264码流[3]。遍历一帧图像中的所有宏块,得到一帧图像对应的264码流。再遍历视频中的所有帧,相结合以得到完整的视频264码流。

水印的嵌入步骤如下:

步骤1:对视频进行部分解码,找到Level部分码字。

在H.264/AVC的basline profile中,熵编码选择为CAVLC编码。CAVLC编码后得到的码流具有如下的结构:

即经过CAVLC编码后的码流由以上五个部分组成[14]。

嵌入水印的位置選取的是视频的P帧每个宏块熵编码之后的码流中的Level部分。对Level部分进行码字替换的操作可以保持码流的语法一致性,且对视频质量的影响不大,能够携带的水印数量也合适,更适合进行水印嵌入。

步骤2:判断嵌入条件是否满足,找到满足嵌入条件的码字。

Level部分的码字由Level_pre和Level_suffix组成,而suffixlength用来表示Level_suffix的长度。

水印嵌入之前需要判断是否满足条件,条件为:当前宏块为运动块且suffixlength等于2或者3。选取suffixlength等于2或者3的原因是:当suffixlength为0时,没有相同长度的码字可以进行替换操作,而suffixlength等于1时,虽然有相同长度的码字可以进行替换,但是相当于对level数值上进行了取反的操作,对视频画面质量的影响较大,而当suffixlength等于2或者3时,既可以有相同长度的码字进行替换,不改变码流的长度,保持码流语法的一致性,又对level数值上仅是+1或-1的影响,对视频画面质量影响不大[15]。

步骤3:根据当前需要嵌入的水印值,查替换码表进行码字替换操作。

图1给出了码字替换码表,C0部分表示该部分码字对应水印值为0,C1部分表示该部分码字对应水印值为1。

码字替换具体操作为:如果当前要嵌入的水印值为0,且当前待嵌入水印的Level码字属于C1部分,如码字为0110,则根据进行相对应的替换,替换成C0类中的0100。如果要嵌入的水印值为1,且当前待嵌入水印的Level码字属于C1部分,则码字保持不变。

步骤4:重复步骤1-3直至水印嵌入完成。

2.3 水印提取

水印提取的步骤如下:

步骤1:对视频进行部分解码,找到Level部分码字。

步骤2:判断是否满足水印嵌入条件。

步骤3:对照表1中的码字替换码表,进行水印提取操作。

水印提取具体操作为:如果检测到当前Level部分码字属于C0部分,则此部分嵌入的水印值为0,即提取到的水印为0,若属于C1部分,则嵌入的水印值为1,即提取到的水印为1。

步骤4:重复步骤1-3直至水印提取完成。

3 结语

本文提出了一种基于运动目标检测的抗重压缩视频水印算法,通过运动目标检测来筛选出运动块,而运动块具有较好的抗重压缩性能。水印的嵌入方法选择为通过对熵编码之后的码字进行码字替换算法来嵌入水印,可以保持码流的一致性和格式兼容性,算法是在压缩域中进行,提高了水印嵌入和提取的效率,适合于实时监控视频的应用。

参考文献

[1]Lu W, Varna A, Wu M. Secure video processing: Problems and challenges[C]// IEEE International Conference on Acoustics, Speech and Signal Processing.IEEE,2011:5856-5859.

[2]Bitar A W,Darazi R, Couchot J F, et al. Blind digital watermarking in PDF documents using Spread Transform Dither Modulation[J]. Multimedia Tools & Applications,2017:1-19.

[3]Alam M J, Alam M J, Lambert A J, et al. Robust DT CWT-Based DIBR 3D Video Watermarking Using Chrominance Embedding[J].IEEE Transactions on Multimedia,2016,18(9):1733-1748.

[4]Chen W, Shahid Z, Autrusseau F, et al. Robust drift-free bit-rate preserving H.264 watermarking[J].Multimedia Systems,2014,20(2):179-193.

[5]Xu D, Wang R, Wang J. A novel watermarking scheme for H.264/AVC video authentication[J]. Signal Processing Image Communication,2011,26(6):267-279.

[6]Li Q, Wang R D, Xu D W. Fragile video watermarking algorithm based on H.264/AVC[J]. Materials Research Innovations,2013,17(sup1):94-100.

[7]Zou D, Bloom J A. H.264/AVC stream replacement technique for video watermarking[C]// IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE,2008:1749-1752.

[8]Xu D, Wang R, Shi Y Q. Data Hiding in Encrypted H.264/AVC Video Streams by Codeword Substitution[J]. IEEE Transactions on Information Forensics & Security,2014,9(4):596-606.

[9]Praeter J D, Vyver J V D, Kets N V, et al. Moving object detection in the HEVC compressed domain for ultra-high-resolution interactive video[C]// IEEE International Conference on Consumer Electronics. IEEE,2017:135-136.

[10]李淑芝,张翔,邓小鸿,等.一种抗重压缩的H.264/AVC视频水印算法[J].计算机应用研究,2016,33(2):521-525.

[11]Zarmehi N, Akhaee M A. Digital video steganalysis toward spread spectrum data hiding[J].Iet Image Processing,2016,10(1):1-8.

[12]付剑晶,陈德人.用于视频内容认证的抗二次压缩水印算法[J].計算机学报,2018(3):558-573.

[13]史国川,李江卫.基于秘密共享与盗版追踪的视频水印算法[J].计算机仿真,2014,31(12):256-260.

[14]Zarmehi N, Barikbin M J. Robust Video Watermarking against H.264 and H.265 Compression Attacks[J].Frontiers in Signal Processing,2017.

[15]Li X, Wang X, Yang W, et al. A robust video watermarking scheme to scalable recompression and transcoding[C]// International Conference on Electronics Information and Emergency Communication. IEEE,2016:257-260.

[16]Jiang G Y, Wen-Feng L I, Mei Y U, et al. Robust video watermarking in H.264/AVC compressed domain[J].Optics & Precision Engineering,2015,23(1):260-270.

An Anti-recompression Video Watermarking Algorithm

LI Cong-ying,WANG Huai

(Hubei Key Laboratory of Intelligent Wireless Communication, College of Electronic Information Engineering, South-Central University for Nationalities, Wuhan  Hubei 430074)

Abstract:With the development of the Internet, the acquisition of video has become more and more easy, and improper use of video becomes more and more extensive. So the video watermarking technology is particularly important. Aiming at the shortcomings of video watermarking anti-recompression capability, this paper proposes that an anti-recompression video watermarking algorithm based on moving target detection. In the algorithm, the moving macroblocks are chosen as carriers to improve better performance in anting recompression, and substituting the coded codeword with format compliance ensure the consistency of the bitstream. The whole algorithm is carry out in compressed domain that we only need to decode partly the bitstream for embedding watermarking so as to improve the efficiency and convenient to apply to real time applications.

Key words:video watermarking;H.264;recompression;moving target detection

猜你喜欢
宏块码流码字
分布式码流实时监控与录制系统的设计与实现
数字电视TS码流协议简要分析
放 下
数据链系统中软扩频码的优选及应用
基于选择特征宏块的快速视频稳像
基于梯度的CCSDS压缩码流控制算法研究
长为{4,5,6}的完备删位纠错码的存在性*
基于宏块合并的H.264模式选择算法
一种适合硬件实现的低复杂度MAD预测算法
一种支持H.264与AVS的高效环路滤波器设计