基于区间设定的DCT域视频水印算法

2014-12-02 14:07唐向宏陈宏炳
关键词:码率鲁棒性区间

吴 昊,唐向宏,陈宏炳,王 永

(1.杭州电子科技大学通信工程学院,浙江 杭州310018;2.阿里云计算有限公司,浙江 杭州311121)

0 引 言

目前,基于新一代视频编码标准H.264/AVC的视频水印算法是在变换域中嵌入水印,可分为I帧水印和P帧水印,而I帧水印通常是在I帧DCT 变换量化系数中实现水印的嵌入。文献[1]提出了通过选择I帧宏块中的DCT 变换量化系数作为嵌入区域,将水印信息嵌入其中的算法,该算法对共谋攻击有较好的鲁棒性,然而水印信息较小,同时水印位置随机的选取会对视频码率造成较大影响;文献[2]提出在4×4DCT 量化系数的第11 15个系数中嵌入水印,提高了水印容量,但修改了较多的高频系数,对视频码率的影响较大,并且高频部分很容易被滤波器滤除;文献[3]提出对宏块中4×4 子块分类并结合编码块模式参数CBP 选出合适的子块,通过修改中低频系数的方法嵌入水印,因对系数进行变换改变了零系数个数,对视频质量的影响较大。文献[4]采用滑窗法选取合适的视频帧,将视频帧内宏块分为平滑块、边缘块和细节块,分别对不同类型的块采取不同的嵌入方法,结合Watson 人眼视觉模型HVS 将水印嵌入到DCT 低频系数中,鲁棒性好,抗攻击能力强,但是水印嵌入时的计算复杂度较高。本文将H.264/AVC 标准与编解码器相结合,将水印嵌入到I帧DCT 变换量化非零系数中,通过设定参数的方式来选取合适的非零DCT 量化系数完成水印嵌入,在解码端熵解码之后对水印进行提取。水印在编码过程中嵌入,复杂度低,满足实时性要求。

1 水印嵌入算法

本文通过大量的仿真分析,统计出相似视频DCT 系数的一个区间[th1,th2],然后采用区间选取的方法,在I帧DCT 量化系数的中低频区域选择位于[th1,th2]区间内的系数来嵌入水印;同时,在对量化系数进行修改时,采用改变系数与th1和th2的关系来实现,以达到对DCT 中低频系数修改最小为目的,实现水印的嵌入。据统计,残差经过DCT 变换、量化后,其幅值都很小,变化范围也较小,大部分系数的幅值在区间[-10,10]内[2]。为了确定[th1,th2]区间的大小,采用统计方法,以嵌入水印对区间内的DCT 量化系数修改较小为原则得出[th1,th2]区间值。

设嵌入水印的系数为coeffi,并设系数选择区间为[th1,th2],当coeffi满足下式时,对所在4×4DCT块按嵌入规则嵌入水印,每个DCT 块嵌入1 bit 水印。

式中{coeffi,i=1,2,3}为DCT 量化系数第4,5,6个系数。令{coeffi,i=1,2,3}的绝对最大值和绝对最小值分别为max_AC、min_AC:

1)当水印信息w=1时,若绝对最大值max_AC 小于th2,则将其修改为th2,否则不变;若绝对最小值min_AC 等于th1,则将其修改为th1+1,否则不变。即:

式中,max_ACw表示水印嵌入后的绝对最大值,min_ACw表示水印嵌入后的绝对最小值。

2)当水印信息w=0时,若绝对最大值max_AC 等于th2,则将其修改为th2-1,否则不变;若绝对最小值min_AC 大于th1,则将其修改为th1,否则不变。

当相应系数修改完成后,将coeffi还原为原来的符号,避免符号的改变对视频质量造成巨大影响。

2 水印提取算法

由于在水印嵌入过程中,只针对intra4×4 模式下DC 直流系数非零的4×4DCT 块嵌入水印,因此,水印的提取也只针对上述区域,设{coeffi,i =1,2,3}的绝对值最大值为max_AC,绝对值最小值为min_AC,按照规则提取水印wm:

式中,&表示“与”操作。

由于参数th1,th2的选择影响水印容量以及视频质量的客观评价PSNR(峰值信噪比),当选取的参数使得视频有较大水印容量时,视频的质量就会下降,PSNR 衰减变大;要保证视频质量与水印容量,就要选取合适的参数值th1,th2,平衡两者之间的矛盾。通过大量仿真数据经验得出,将参数th1、th2分别选为2、6 较为合适。

3 实验仿真与分析

为了验证本文算法以及讨论算法的性能,在计算机上进行仿真后,与文献[3]和文献[5]算法进行了实验仿真对比。实验采用JM8.6 编码平台及参考序列forman和container,视频长度20帧(QCIF 176×144),视频帧格式为IPPP。水印信息取值为(0,1)随机序列。

1)视频质量对比(水印嵌入前后)。水印嵌入前后视觉效果对比如图1所示。图1(a)、(c)为测试序列forman、container 第12帧的原始效果图,其PSNR值分别为37.28 dB、35.80 dB,图1(b)、(d)为嵌入水印后,视频序列forman、container 效果图,其PSNR值分别为35.01 dB、32.84 dB。从图1中可以看出,嵌入的水印视频具有较好的视觉效果,水印满足不可见性原则。

图1 嵌入水印前后视频质量对比图

2)不同算法水印信息嵌入前与嵌入后水印容量与平均PSNR值的结果对比,如表1所示。在表1中,与文献[3]和文献[5]相比,本算法在水印容量保持相当或略有增加的情况下,对视频PSNR 影响较小,嵌入有水印的视频质量较好。这是因为本算法选出intra4×4 模式下DC 系数非零的4×4DCT 子块作为水印嵌入块,再利用区间设定的方法,选取位于区间内的系数值,通过修改区间内的系数与区间端点的大小关系来达到嵌入水印的目的,并且选择合适的区间,使得对区间内系数的修改较小,从而减少由于嵌入水印而造成的视频PSNR的衰减。

表1 不同算法水印容量和PSNR 情况对比表

3)码率变化情况。I帧水印嵌入前后,测试序列码率变化对比情况,如表2所示。对比文献[3]算法,本算法通过区间设定的方式选取位于区间内的非零系数进行修改,而且不改变零系数个数,对系数修改较小,所以水印嵌入前后对视频码率的影响也较小;文献[5]将系数对进行加减参数k 操作,可能会带入零值,将某些非零系数修改为零系数,较大地影响视频码率。从表2中看出,本算法将码率变化范围控制在1%以内。

表2 不同算法码率变化情况对比表

4)鲁棒性测试。表3中利用比特正确率(Bit Correct Rate,BCR)来量化水印算法的鲁棒性,其值为解码端水印提取信息与编码端水印生成信息的对比[5]。高斯噪声攻击的方差为0.08,椒盐噪声密度为0.03,随机噪声强度0.02。

表3 不同算法在不同攻击下BCR 对比

根据表3中给出的数据可知,在没有攻击时,生成的水印信息与解码端获取到的水印信息完全一致,正确率为1。实验对比不同攻击下的BCR值可知,本文算法在纹理平缓的视频序列上与对比文献的BCR值差别不大,而在纹理复杂的视频序列上可以获得较高BCR值。在受到攻击后,本算法检测水印的正确率在90%左右,具有较好的鲁棒性。

4 结束语

本文提出了一种利用参数选取适当的DCT 量化系数区间,并将水印嵌入到I帧4×4DCT 量化系数中的方法。该方法设定两个参数对4×4DCT 块进行筛选,选取满足要求的DCT 块中经过zig-zag 扫描后的第4,5,6个系数,通过改变其绝对最大值、最小值的方法来嵌入水印,每个4×4DCT 块嵌入1 bit 水印信息。在解码端,通过相应系数的绝对最大值、最小值与先前设定的两个参数的关系,来提取水印。本文算法复杂度低,能满足实时性的要求。实验表明,水印满足不可见性,对视频质量影响少,具有较好的鲁棒性。

[1]Noorkami M,Mersereau R M.Compressed-domain video watermarking for H.264[C].Atlanta:IEEE,Center for Signal and Image Processing,2005:890-893.

[2]王美华,裴峰祺,范科峰.基于脆弱水印的H.264 视频完整性认证方案[J].西安电子科技大学学报(自然科学版),2007,34(5):823-827.

[3]李钢,杨嘉斌,张仁斌,等.一种基于H.264的视频水印算法[J].仪器仪表学报.2010,31(8):135-138.

[4]Jiang Xuemei,Liu Quan,Wu Qiaoyan.A new video watermarking algorithm based on shot segmentation and block classification[J].Multimedia Tools and Applications,2013,62:545-560.

[5]Chen T Y,Wang D J,Chen T H,et al.High-accuracy watermarking scheme on H.264 based on majority voting[C].Taiwan:Department of Electronic Engineering,2009:338-341.

猜你喜欢
码率鲁棒性区间
你学会“区间测速”了吗
一种基于HEVC 和AVC 改进的码率控制算法
基于FPGA的多码率卷积编码器设计与实现
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
全球经济将继续处于低速增长区间
基于确定性指标的弦支结构鲁棒性评价
基于状态机的视频码率自适应算法
基于非支配解集的多模式装备项目群调度鲁棒性优化
非接触移动供电系统不同补偿拓扑下的鲁棒性分析
区间对象族的可镇定性分析