摘 要: 针对新的HEVC高效视频编码标准特性,提出了一种基于版权保护的视频水印算法。分析了HEVC同上一版视频格式标准H.264/AVC之间的编码差别,在研究HEVC格式的基础上为其设计了一个独特的水印算法。该算法首先对水印图片进行置乱处理,然后将水印嵌入到亮度分量离散正弦变换(DST)分块的中频系数中。实验结果证明,该算法对HEVC视频有很好的嵌入和提取效果,并可以抵抗多种形式的视频攻击。
关键词:H.265/HEVC;版权保护;H.264/AVC;视频水印
随着硬件条件的不断改善,通过网络传输的数据量近年来有着突飞猛进的增长,尤其是数字媒体的传播数量。2013年1月,为了满足人们对高清视频的需求,视频压缩标准高性能视频编码HEVC(High Efficiency Video Coding)作为可替代H.264编码标准的新一代国际标准被正式提出使用。HEVC是ITU-T组织和ISO/IEC组织联合开发的视频编码标准,对以前的视频格式进行了多方面的改革,其仅需H.264/AVC一半带宽就可播放相同质量的视频[1],因此数字视频也将更容易被复制和修改,与此同时,数字视频的保护问题也得到了研究者们的注意。
由于版权保护的需要,过去十几年里对多媒体水印的研究如火如荼,范围触及版权控制、图像印刷、广播监控、视频授权等,这方面的应用量飞速上涨。数字水印技术是通过在原始数据中嵌入秘密信息证实该数据的所有权,这种被嵌入的水印可以是一段文字、标识、图片等,而且这种水印通常是不可见或不可察的,它与原始数据(如图像、音频、视频数据)紧密结合,并隐藏其中,成为宿主数据的一部分,并可以经历一些不破坏宿主数据使用价值或商用价值的操作而保存下来。
针对各种格式的视频水印算法国内外学者都已经研究了很多年,并且取得了丰硕的成果。HARTUNG F和KUTTER M[2]阐述了水印的现实需求和应用领域,介绍了水印系统的基本概念,并详细讨论了水印安全性和鲁棒性。PREDA R O和VIZIREANU D N[3]提出了一种多分辨率下的水印算法,以二进制图像做水印,水印的每一位都扩展进小波系数里。Zhang Jing等人[4]针对H.264/AVC提出了一个鲁棒性强的水印算法,首先生成灰度图像,然后嵌入压缩域,可以抵抗帧压缩、高斯滤波、反差增强等攻击。VERMA A K、SINGHAL M、PATVARDHAN C[5]提出了一个基于YCbCr颜色空间和小波变换的数字视频水印算法,水印被嵌入时域空间平面。国内对水印的研究也很透彻,几乎涉及水印嵌入、提取的各个领域。张江等人[6]分析了视频水印技术的特点和面临的挑战,阐述了视频水印的模型及算法分类,探讨了视频水印的发展趋势。张维纬等人[6]提出了一种基于H.264/AVC的视频可逆脆弱水印算法,能对认证通过的视频数据进行还原和对认证失败的视频I帧遭篡改区域进行有效的定位。同鸣等人[7]提出了一种部分基矩阵稀疏约束的非负矩阵分解方法,将水印嵌入在分解后的基矩阵大系数中,可以较好地抵抗强剪切攻击。李亚文[8]对压缩视频的图像帧的亮度分量进行小波提升分解,利用混沌系统对水印图像进行置乱,提升了算法的安全性和抗攻击能力。
为了保护HEVC视频编码格式的数字视频,本文以新的HEVC视频格式为研究对象,以为其设计水印算法为目的,分析了HEVC同上一版视频格式标准H.264/AVC之间的编码差别及这些差别对现有水印算法思想的影响,在仔细研究HEVC格式的基础上为其设计了一个独特的水印算法。实验结果证明,该算法对HEVC有很好的嵌入和提取效果,并可以抵抗多种形式的视频攻击。
1 HEVC概述
为了弥补H.264/AVC难以满足当前人们对高清视频需求的不足,HEVC在其基础上进行了大量变革,使得压缩率大幅提高。与H.264相似,HEVC的编码架构主要包括帧内预测、帧间预测、转换、量化、熵编码等模块,但与AVC基于宏块不同,HEVC中类似的结构为编码树单元(CTU),其尺寸由编码器进行指定,可以比传统的宏块大。一个CTU包含一个亮度CTB和多个对应的色度CTB及句法元素。一个L×L的亮度CTB,L可以设置为16、32或者64[9]。预测类型是在CU内编码,CU是HEVC中用于帧间预测和帧内预测的判决点。
H.265引入了名为合并模式的帧间预测方法,原理是PU之间的移动信息非常相似,因此可以就近采用附近PU的形式而不作运动评估等计算。H.265也提供了1/2、2/4、3/4[9]像素非整数点位置运动评估,不过有8点插值滤波,而H.264只有6点。预测动作完成后,要采用类似DCT的整数变换算法对残差进行编码来进一步降低码率。H.265在进行变换操作时会先把CU拆开成若干个TU(变换单元),这些TU并不需要和PU对齐。拆为TU的原因是CU中可能同时包含高频部分和低频部分,直接用于变换处理量太大。除此之外,HEVC的改进之处还包括熵编码处理、去块滤波处理。结合四叉树的超大去块编码方式和新增的SAO去块滤波被认为是HEVC和AVC的两个重大区别。
HEVC帧内编码方案包括分块变换编码操作,为了研究数字水印算法,必须要弄清分块变换编码操作。当压缩视频序列通过HEVC编码器时,编码单元CU是执行每个视频帧编码的基本单元,一个视频帧首先被分成64×64个非重叠的CU单元,每个CU单元按照四叉树[10]的分割方式继续分成更小的单元,如图1所示。
利用空间冗余压缩,帧内预测在HEVC编码中通过相邻块编码预测得到当前块,对一个N×N大小的编码单元CU,N∈{64,32,16},仅有一个大小为N×N的预测单元,然而当N=8时,有8×8和4×4两个预测尺寸。此外,不同的PU尺寸,HEVC支持35种[10]预测模式,如图2所示,而H.264只有9种。35种预测模式中,模式0和模式1分别是平面和直流模式,适合用在逐渐变化和小亮度变化的预测单元,除去以上两种模式,其余33种不同方向的预测模式经常用来捕捉边缘特性。
对一个N×N的预测单元PU,HEVC编码从对应相邻像素和帧内预测生成35种预测块,这些参考像素从右上方、上、左上、左、左下相邻块像素编码,如图3所示。
2 基于HEVC的水印算法设计
本文提出的算法基于HEVC高效视频编码格式,主要包括水印预处理、水印嵌入与提取模块,其中嵌入与提取算法是与HEVC的编码器紧密结合的。
2.1 水印预处理
水印预处理是视频水印算法重要的一个环节,它可以有效地去除水印信息的相关性,提高水印信息抵抗攻击的能力。水印信息可以是一幅图片或者文字等载体数据,通常根据水印算法提供的水印容量来选取嵌入何种水印。通过实验发现,本算法可嵌入的载体容量可达1 kB~10 kB,所以可以嵌入简单的单色图像。常用的水印预处理方法有置乱、扩频等,置乱的主要功能是去除水印信息本身的自相关性,即使水印被第三方破解,由于水印信息是乱序的,第三方仍然不能得知水印信息的真实来源并对其修改,因此可以起到版权保护的作用。
本算法采取对水印信息进行置乱处理,设AM×N表示大小为M×N的图像,Ax,y[x∈(0,M-1),y∈(0,N-1)]表示图像A在点(x,y)处的像素值,由于是二值图像,Ax,y只能是0或1。对水印图像的像素矩阵进行光栅扫描,得到的一维数组记为W。为了将水印信息W以置乱的方式嵌入,首先生成一个Logistic混沌序列。令μ=4,初始值设为0.9,生成的Logistic序列为伪随机序列。
2.2 水印嵌入位置选择
HEVC水印嵌入位置的选择与AVC很不相同,需要重新考虑编码单元的划分。HEVC最大编码尺寸可达64×64,按照设计初衷,HEVC应用对象主要是4 KB及以上视频,这也是编码单元变大的原因。根据人眼视觉模型,人眼对运动区域活跃的地方不敏感,水印嵌入的位置应该选择在纹理较复杂的区域。由于非运动区域的平滑性,其编码单元尺寸较大,反过来运动区域的编码尺寸一般较小,所以水印嵌入的位置选择在较深的编码单元。在H.265编码中,编码树单元中4×4子块的非零系数个数代表当前子块的运动活性,因此选择大小为4×4的编码单元进行嵌入对视频质量和码率的影响更小。
2.3 水印嵌入算法
H.265编码树单元的预测残差在经过整数DST变换和量化之后,预测残差的能量主要集中在中低频的DST系数中,大部分的高频系数都为零。HEVC在一个CU内进行变换运算时,可以将CU按照编码树层次细分,从32×32到4×4的小块。HEVC变换运算和AVC不同,变换时先进行列运算然后进行行运算,量化是与整数DST变换一并完成,是在TU中分别对亮度和色度分量进行的。本算法将水印嵌入到亮度分量4×4 DST分块的中频系数中,水印的嵌入流程图如图4所示。
为了获得关于残差信号的率失真成本,HEVC编码引出对预测残差的转换与量化编码的编码单元(TU)。在HEVC帧内编码中,决定一个PU单元的最优内模式之前,要获得相关的率失真成本,一个N×N(N∈{32,16,8,4})的PU,也存在唯一尺寸为N×N的TU,然而当N=64,将有4个32×32的TU。色度预测残差的变换编码,HEVC规定两种变换:整数DST[11]和整数DCT。整数DST用在4×4变换单元,而整数DCT用在32×32、16×16、8×8变换单元。为简便起见,本算法对4×4变换单元进行整数DST变换[10]操作。
用R表示N×N变换单元的亮度预测残差矩阵,当对R进行整数DST变换时,R的QDST系数矩阵可以表示为:
R=(SfRSfT)×X00 X01 X02 X03X10 X11 X12 X13X20 X21 X22 X23X30 X31 X32 X33(1)
其中,Q指量化步长,由量化参数QP决定。Sf为:
Sf=A B C DC C 0 -CD -A -C BB -D C -A(2)
在解码端,对R进行逆QDST(IQDST)操作,重建的残差信号表示为:
R=IQDST(R)=Sf-1(R×Q)(SfT)-1(3)
水印信息是通过修改QDST变换后的系数来嵌入的,根据奇偶性来改变原DST变换矩阵系数的值。本算法是将水印信息嵌入在4×4变换单元TU系数中,假设一个4×4变换单元TU的系数三元组为(Xij,Xmn,Xpq),嵌入水印信息以后为(X′ij,X′mn,X′pq),(X′ij,X′mn,X′pq)可由式(4)得出:
(X′ij,X′mn,X′pq)=(Xij+t,Xmn-t,Xpq+t)(4)
其中,t的值为:
t=1,if(Xij>0,w=1,and Xij is even), or(Xij>0,w=0,and Xij is odd),-1,if(Xij<0,w=1,and Xij is even), or(Xij<0,w=0,and Xij is odd),0,if(Xij≠0,w=1,and Xij is odd), or(Xij≠0,w=0,and Xij is even)(5)
2.4 水印提取算法
水印提取是嵌入的逆过程,因此实现起来简单方便,提取流程图如图5所示。
先对嵌入水印的H.265码流进行熵解码,得到每个编码树单元预测残差的量化DST系数,再统计每个编码树单元中子块DST系数的非零个数,找出非零系数个数最多的子块,对其进行水印的提取和视频还原。可以通过得出的(X′ij,X′mn,X′pq)提取水印信息:
(Xij,Xmn,Xpq)=(X′ij,X′mn,X′pq)or(X′ij-1,X′mn+1,X′pq-1),if X′ij>0(X′ij,X′mn,X′pq)or(X′ij+1,X′mn-1,X′pq+1),otherwise(6)
3 实验结果与分析
为了验证算法的性能和有效性,本实验基于H.265/HEVC参考软件模型HM10.1进行仿真,HM配置参数如表1所示。实验中对PeopleOnStreet_2560x1600_30_crop测试序列进行水印的嵌入和提取,水印图像大小为28×16,内容是“SMU”。
图6为正常编码图像,图7为嵌入水印后的编码图像,对比可见,图像主观质量并没有明显差异,失真较小。
图8为选取的前15帧嵌入水印前后图像的PSNR值对比,从图中可知嵌入水印对视频亮度平均PSNR影响很小,符合要求。
对含水印的视频进行攻击测试,表2是3种攻击下提取出来的水印图像。
从表2可以看出,椒盐噪声对水印的影响稍大,高斯噪声略有影响,视频剪切对水印几乎没影响。但不论受到何种攻击后,提取出水印,就能很容易地识别为原图的内容,所以其鲁棒性还是比较强的。
HEVC是新一代高性能视频编码标准。本文介绍了HEVC在编码和预测等方面相较于之前视频格式的区别,分析了HEVC格式的新特性对传统水印算法的影响,并据此设计了一个针对HEVC编码格式的视频水印新算法。实验证明了该算法有很好的实用性,并能有效抵抗多种视频攻击。
参考文献
[1] BROSS B, SCHWARZ H, MARPE D. The new high-efficiency video coding standard[J]. SMPTE Motion Imaging Journal,2013,122(4):25-35.
[2] HARTUNG F, KUTTER M. Multimedia watermarking techniques[J]. Proceedings of the IEEE,1999,87(7):1079-1107.
[3] PREDA R O, VIZIREANU D N. A robust digital watermarking scheme for video copyright protection in the wavelet domain[J]. Measurement, 2010,43(10):1720-1726.
[4] Zhang Jing, HO A T S, Qiu Gang, et al. Robust video watermarking of H. 264/AVC[J]. IEEE Transactions on Circuits and Systems II: Express Briefs, 2007,54(2):205-209.
[5] VERMA A K, SINGHAL M, PATVARDHAN C. Robust temporal video watermarking using YCbCr color space in Wavelet domain[C]. 2013 IEEE 3rd International Advance Computing Conference(IACC), 2013:1195-1200.
[6] 张江,赵黎,杨士强.视频水印技术综述[J].计算机应用,2005,25(4):850-852.
[7] 同鸣,张伟,张建龙,等.一种基于部分基矩阵稀疏约束非负矩阵分解的抵抗大强度剪切攻击视频水印构架[J].电子与信息学报,2012,34(8):1819-1826.
[8] 李亚文.一种基于混沌系统和提升小波的视频水印算法[J].计算机与数字工程,2012,40(4):99-101.
[9] SULLIVAN G J, OHM J R, HAN W J, et al. Overview of the high efficiency video coding(HEVC)standard[C]. IEEE Transaction on Circuits and Systems for Video Technology, 2012, 22(12):1649-1668.
[10] CHANG P C, CHUNG K L, CHEN J J, et al. A DCT/DST-based error propagation-free data hiding algorithm for HEVC intra-coded frames[J]. Journal of Visual Communication and Image Representation, 2014,25(2):239-253.
[11] MEHER P K, PARK S Y, MOHANTY B K, et al. Efficient integer DCT architectures for HEVC[C]. IEEE Transactions on Circuits and Systems for Video Technology,2014,24(1):168-178.