APP下载

基于H.264抗重压缩的视频水印算法

2018-12-13田丽华张玉龙

计算机应用与软件 2018年12期
关键词:色度鲁棒性个数

刘 凯 李 晨 田丽华* 张玉龙 宋 慧

1(西安交通大学软件学院 陕西 西安 710049)2(武警工程大学信息工程学院 陕西 西安 710086)

0 引 言

随着互联网以及影视行业的发展,视频的传播越来越普遍,人们可以利用互联网传播可以更加方便地获取视频资源。视频的版权保护也逐渐成为现阶段研究的热点问题,视频水印技术已经成为版权保护的不二选择[1-2]。H.264比其他的压缩编码标准具有更好的压缩效率,因此研究基于H.264/AVC视频编解码的视频水印算法变得更具有现实意义[3-4]。用于版权保护的视频水印算法大都具有鲁棒性,能抵抗各种攻击。在H.264/AVC中,视频都是以压缩的形式进行存储和传输的,所以视频水印必须要能够抵抗H.264/AVC的重压缩攻击。

为了满足视频版权保护的要求,许多基于H.264/AVC的鲁棒性视频水印算法被提出。文献[5]提出的鲁棒性视频水印算法将水印图像压缩之后的二值序列进行扩频处理,然后通过修改某个对角线DCT系数中来进行水印的嵌入,该算法鲁棒性较好,但算法较复杂。文献[6]提出的算法中通过调整纹理复杂的两相邻子块的能量来嵌入水印,该算法水印鲁棒性较好,但对视频质量影响较大。文献[7]提出的算法是一种盲水印算法,该算法在DCT子块中嵌入水印,具有较好的水印鲁棒性与不可见性,但水印容量较小。文献[8]提出一种鲁棒水印算法,该算法结合BCH码,具有较好的抗重压缩性,但不能抵抗重量化转码攻击。文献[9]提出在量化后对每个DCT系数进行即时解码刷新,在运动矢量中嵌入水印,但鲁棒性差。文献[10]通过调制载体图像来进行奇异值分解,根据得到的奇异值的大小关系来嵌入水印,该算法简单,但抗重压缩能力差。

针对上述算法抗重压缩性能不足、算法复杂等问题,本文提出一种在色度上修改非零系数符号的算法。该算法选择通过改变非零系数较多的DCT色度子块中正负数个数的大小关系来嵌入水印,以达到抗重压缩的目的。

1 预测模式与CBP分析

基于H.264/AVC对鲁棒性视频水印的嵌入最常见的是选择在DCT变换和量化之后,因为之后的熵编码的过程是无损的,所以在无攻击的过程中能完全提取出水印。这类的算法都是根据对应的水印序列值来对量化后的DCT系数进行修改来嵌入水印,并且根据H.264/AVC编码的特性,一般会选择在I帧嵌入,使其对视觉影响尽可能小。

通过对DCT块的量化系数的研究分析,发现量化后的系数正负符号比较稳定并且其正负符号的比例也比较稳定[11]。因此可以考虑通过修改DCT系数正负符号来嵌入水印信息,以此提高水印的鲁棒性。另外通过分析重压缩前后的DCT系数,发现非零系数越多即视频的纹理复杂度越高,DCT系数越稳定,水印的鲁棒性也越好。同时根据HVS的特点,人眼对于纹理复杂度高的视频变化并不敏感,在纹理复杂度越高的视频嵌入水印,人眼越难识别[12],因此可以选择在非零系数较多的子块中嵌入水印来提高水印的鲁棒性和不可见性。

而H.264中DCT系数又具体可分为亮度分量的DCT系数和色度分量DCT系数。多数视频水印算法都是选择在亮度分量的DCT系数中嵌入水印,但是这类算法重压缩后水印提取大都会有明显的偏移现象,并不具有良好的抗重压性。而参考H.264/AVC编码框架,帧内预测分为3类模式,如图1、图2所示,一共包括:9种亮度Intra_4×4预测模式,4种亮度Intra_16×16预测模式和4种色度Intra_8×8预测模式。亮度Intra_16×16预测模式和色度Intra_8×8预测模式大同小异。H.264/AVC通过对各个模式的代价的计算,选择代价最小的预测模式来实现对当前块的预测[13]。

图1 9种亮度Intra_4×4预测模式

图2 4种亮度Intra_16×16预测模式

视频经过H.264/AVC压缩编解码后,视频序列由于DCT变换和量化过程而出现失真。所以根据预测模式选择的原则,视频在进行重压缩的过程中会发生预测模式的转移。其中预测模式转移包括亮度预测模式和色度预测模式的内部转移,以及两类亮度预测模式之间的转移。而两类亮度预测模式之间的转移会引起水印提取不同步,对水印的结果造成严重失真。本文选取了mobile_cif、flower_cif、tempete_cif、waterfall_cif四个视频序列的前20帧进行重压缩实验,对四种转移发生的概率进行统计,结果如表1所示。发现色度仅有一类预测模式,不会发生不同类预测模式之间的转移,且色度较之于亮度变化率更小。

表1 重压缩预测模式转移概率统计

在H.264中,当前块编码模式CBP(co-ded block pattern)代表了亮度分量和色度分量子块残差的编码方案。CBP共有6 bit,高2 bit和低4 bit分别代表了色度分量子块和亮度分量8×8子块是否存在非零系数。而H.264是根据CBP的值对宏块进行编码的,CBP的值决定了当前块的编码模式,因为重压缩的过程是有损的,DCT系数会发生改变,所以CBP值也可能会发生改变。CBP值的改变会影响当前块的编码,如果CBP突变为0,会导致某些子块不再编码,因而导致水印提取不同步[14]。据实验统计,色度CBP值突变为0的概率很小,远小于亮度。因此为解决水印提取不同步的问题,可以考虑不选择在亮度分量上嵌入水印,而是选择在色度分量嵌入水印,这样就能很有效地解决水印提取不同步的问题。

综上所述,由于DCT系数正负符号有一定的稳定性,同时DCT系数中非零系数越多视频水印的鲁棒性越好,另外在色度分量上嵌入水印比亮度分量更能抗重压缩,故本文算法将基于色度分量的非零系数上进行水印的嵌入。

2 水印嵌入和提取的算法

2.1 水印的预处理

为了提高水印的安全性,需要对有意义的水印信息进行置乱。本文选择使用Arnold置乱预处理来消除图像像素之间的关联性,Arnold置乱的计算过程简单,置乱效果好,同时也可以快速恢复置乱图像。置乱公式:

(1)

式中:(x,y)是水印原始图像的像素值,(x′,y′)是水印置乱后的像素值,N是图像阶数。

2.2 水印的嵌入

根据第2小节的分析,本文选择在色度分量且纹理比较复杂的位置上嵌入水印,且为了兼顾视觉影响和鲁棒性的要求,本算法选择改变中频位置的非零系数的正负号来完成水印信息嵌入。具体步骤如下:

第1步对水印信息预处理后得到序列M={wm1,wm2,…,wm1024},水印值wm的值为0和1。

第2步在每个16×16的宏块中,选择非零系数个数NNZ大于设定的阈值K的色度子块,如果NNZ大于K,则进行水印的嵌入,反之跳过不执行。此处K值的选择主要是根据视频纹理复杂度来决定,对于纹理复杂度高的视频序列可以适当提高K值,对于纹理复杂度低的视频序列可以适当减小K值,以此来平衡鲁棒性、不可见性和水印容量三者的关系。

第3步对符合第2步要求的色度子块进行嵌入水印,分别计算出该色度块中正数个数NP和负数个数NN,然后比较正负数个数的大小关系。

第4步通过修改DCT色度非零系数的正负号来满足该子块非零系数的正负数个数关系和水印信息相对应,本文算法的修改顺序是从zig-zag扫描后的最后一个中频系数开始从后向前进行修改。如果水印值为1,则应满足负数的个数大于等于正数的个数,若不满足,则需改变n个正数的符号;如果水印值为0,则应满足负数的个数小于正数的个数,若不满足,则需改变n个负数的符号。定义diff为正负数个数差值的绝对值如下:

diff=|NP-NN|

(2)

本文中n值的取值如下:

n=diff/2+1

(3)

通过以上的方法,能使得每个宏块中非零系数个数大于一定阈值的色度子块中,如果对应的水印值是1,那么非零系数中负数的个数就大于等于正数,如果对应的水印值是0,那么负数的个数就小于正数。具体的水印嵌入的流程如图3所示。

图3 水印的嵌入流程图

2.3 水印的提取

水印的提取过程相当于水印嵌入的逆过程,在H.264/AVC的解码端完成,由于本文算法中水印的嵌入是在量化之后进行的,所以水印的提取是在熵解码之后反量化之前进行的。结合水印的嵌入过程和H.264的编解码原理,可利用如下步骤来提取水印。

第1步在解码端的每个16×16的宏块中,并将其每个色度块的非零系数个数NNZ与设定的阈值K进行比较,如果NNZ大于K,则意味着该子块有水印的嵌入,需要进行水印的提取,反之跳过不执行。

第2步计算符合第1步要求的色度子块计算其正数个数NP和负数个数NN,根据式(4)比较二者的关系来求得水印值。

(4)

第3步将提取出的水印进行Arnold反置乱,最后得到原始的水印。

3 实验结果与分析

本文算法通过在VS2012上运行H.264/AVC测试模型JM8.6来进行仿真实验,运行服务器参数为:Intel(R) Core(TM) i5-3470M 3.20 GHz,内存:4 GB。具体的实验参数设置如表2所示。

表2 JM实验参数配置

本文选择tempete_cif、mobile_cif、flower_cif、waterfall_cif、akiyo_cif、news_cif等视频作为被测视频,对其进行水印的嵌入。

3.1 不可见性测试

不可见性是视频水印最基本的要求,水印的嵌入应该以不影响视频质量为前提。图4、图5显示了mobile_cif、news_cif、water-fall_cif、tempete_cif、flower_cif五个视频序列嵌入水印前后的第30帧的重构图像对比。通过对比可以发现,水印的嵌入前后的同一视频的同一帧几乎没有差别,因此本文算法主观上具有良好的不可见性。

图4 嵌入水印前的重构图像

图5 嵌入水印后的重构图像

为了从客观上分析算法的不可见性,本文引入了峰值信噪比PSNR(Peak Signal Noise Ratio)和结构相似性SSIM(Structural Similarity)这两个视频质量评价指标。PSNR和SSIM是通过对嵌入水印前后的视频同一帧进行比较的结果,二者能较好地评价嵌入水印前后的视频质量。图6、图7分别给出了本文算法的第30帧重建图像的PSNR值和SSIM值。通常认为,当PSNR值在30之上,SSIM值在0.90之上就说明视频质量很好。由图中数据可得,每个视频序列的PSNR值均在36以上,每个视频序列的SSIM值都在0.93以上。因此本文算法在客观上具有良好的不可见性。

图6 本文算法PSNR值统计图

3.2 比特增加率测试

比特增加率BIR(BitIncrease Rate)是衡量视频网络亲和力的一个指标。视频嵌入的前后比特率的稳定有利于视频的传输,因此视频水印算法要求尽量降低比特增加率。本文选择对数量较少的色度非零值进行改变来嵌入水印,因此本文算法对比特率的影响并不大。比特增加率BIR的计算公式如下:

BIR=(Bw-Bo)/Bo×100%

(5)

式中:Bw为视频嵌入水印后的比特率,Bo为视频嵌入水印前的比特率。如图8所示,对比文献[14]的BIR值,可以发现本文算法具有更低的BIR值,因此本文算法具有较好的网络亲和力。

图8 比特增加率对比图

3.3 鲁棒性测试

为了对水印算法的抗重压缩能力进行测试,对上文中的6个已经嵌入过水印的视频进行等量化值重压缩(QP=28),重压缩后提取的水印结果如表3所示。从主观上看,仍然可以清晰地识别出“交大”的字样,能够达到版权保护的作用。同时对比不同视频的水印图像,发现纹理复杂度越高的视频,提取出来的水印结果也越好。

表3 重压缩后水印的提取效果图

为了更客观地对水印的鲁棒性进行分析,本文引入了归一化互相关系数NC(Nor-malized Correlation)和误比特率BER(BitError Rate)这两个视频水印鲁棒性评价指标[15]。表4所示为各个视频序列嵌入水印并重压缩后提取的水印与原始水印对比计算得到的NC值和BER值,通常认为,当NC值大于0.8,BER值小于0.35就说明水印信息可以被正确识别出来。由表中数据可得,每个视频序列对应的水印的NC值均在0.92以上,每个视频的BER值都在0.14以下,因此本文算法在客观上具有良好的鲁棒性。通过对比文献[14]算法中相同序列重压缩后提取的水印的BER值,对比结果如图9所示,发现本文算法具有比文献[14]更低的BER值,说明本文算法具有更好的抗重压缩性。

表4 重压缩后水印的NC值和BER值

图9 本文与文献[14]算法的BER值对比

为了进一步验证本文算法的鲁棒性,实验对各视频序列进行了不同量化值情况下的水印提取,并测量了其BER值。本文将QP值由24变为22,表5是其中若干视频的水印效果图。观察可得,重量化步长攻击会使水印的辨识度降低,但主观上仍然能够比较清晰地识别出“交大”的字样。图10所示为各个视频序列改变量化参数后提取的水印的BER值。发现除了akiyo的BER为0.19外,其他的视频均在0.13以下。说明改变量化值的情况下水印的鲁棒性依然良好。同时对比文献[14],对比结果如图11所示,发现本文算法具有比文献[14]更低的BER值。文献[14]是在色度上修改相邻的两个非零系数的大小关系,本文是在色度上修改非零系数的正负数个数的大小关系,因为DCT系数的符号要比它的数值大小更加稳定,所以本算法具有更好的鲁棒性。

表5 不同量化值的水印提取结果

图10 QP(24->22)的BER值

图11 QP(24->22)的BER值

4 结 语

本文提出一种抗重压缩的鲁棒性算法。通过对H.264/AVC帧内预测模式的转移以及CBP值突变的规律进行分析,发现了在色度分量上嵌入水印要比亮度更加抗重压缩攻击。同时通过大量实验分析发现,纹理复杂度越高其DCT系数值越稳定视频质量越不受影响和DCT系数的正负号具有一定的稳定性,由此提出一种基于色度上通过改变非零系数较多的非零系数的正负号来进行水印的嵌入。实验结果表明该算法在具有良好的水印不可见性的前提下具有较好的抗重压缩和抗重量化攻击的特性,并且和已有的算法相比,本文算法具有更好的效果。本算法虽然比在亮度上更具有较好的抗重压缩和抗重量化攻击的特性,但无法抵抗其他的恶意的攻击,如恶意篡改、帧删除等,这也是今后需要更进一步深入研究的工作。

猜你喜欢

色度鲁棒性个数
唐古特大黄有效成分与色度相关性分析
怎样数出小正方体的个数
保质期内莲藕色度值统计分析
武汉轨道交通重点车站识别及网络鲁棒性研究
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
怎样数出小木块的个数
最强大脑
怎样数出小正方体的个数
谈“理想声音的概念”在演唱中的应用
一种基于三维小波变换的鲁棒视频水印方案