易银城, 冯桂, 陈婧
(华侨大学 信息科学与工程学院, 福建 厦门 361021)
网络宽带、用户终端、视频编码技术的不断进步推动着视频产业的发展.诸如H.264/AVC(advanced video coding)[1]和H.265/HEVC(high efficiency video coding)[2]等视频编码标准为视频的传输、存储及发布带来了巨大的支持.3D视频的出现及其本身所带来的场景立体感[3]及视点交互,使得3D视频深受欢迎,因此,3D-HEVC[4]视频编码标准应运而生.然而,随着高速带宽的发展以及各种视频网站的出现,视频的观看及下载变得十分容易.视频的盗版行为随之出现,严重危害了视频制作者的利益,使得视频版权保护成为了一个急需解决的问题.视频水印技术利用视频的冗余信息嵌入水印,从而达到保护视频版权的目的.因此,视频水印技术成为了保护视频的一种重要方式.
现阶段,针对HEVC的视频水印技术比较成熟[5-13],而与3D-HEVC相关的视频水印技术还在研究初期,相应的技术十分缺乏.文献[14]利用单深度帧内模式(single depth intra mode)实现信息隐藏,根据单深度帧内模式的候选列表像素值是否相等来决定当前编码单元(coding unit,CU)是否直接作为嵌入单元.当候选列表像素值不相等时,则对该CU进行进一步选择,避免误差传播问题,并根据隐秘信息调制候选列表索引值.文献[15]利用显著性模型和大津阈值将图像区域划分为显著区域和非显著区域.针对不同区域,根据隐秘信息及余数相等原则对P帧或B帧的量化参数(quantization paremeter,QP)值按不同公式进行修改.文献[16]根据纹理图的纹理信息及深度图的边缘信息,将深度图的编码树单元(coding tree unit,CTU)划分成4种类型,并根据隐秘信息和划分的CTU类型对QP值进行修改.
本文在对现有算法深入研究的基础上,提出一种基于深度帧内跳过(depth intra skip,DIS)模式的3D-HEVC视频水印算法.
HEVC编码标准主要针对的是纹理图.然而,在3D视频中,除纹理图外,还需要对深度图进行压缩处理.深度图由大量像素值基本一致的平坦区域构成.针对这种特性,3D-HEVC编码标准在HEVC编码标准的基础上引入了包括深度建模模式(depth modeling modes,DMMs)[17]、分段直流残差编码(segment-wise DC coding,SDC)[18]和DIS模式等技术,以便更有效地对3D视频进行压缩.同时,新技术的引入也使得针对3D-HEVC的视频水印算法有了更多的实现方案.
DIS模式是对3D-HEVC编码标准中原有技术(单深度帧内模式)的改进.DIS模式去除了单深度帧内模式中单深度候选值的获取过程,同时引入了现有的方向预测模式(水平和垂直预测模式).与帧间跳过模式一样,DIS模式也没有预测残差传输到解码端.DIS模式中共有4种预测类型(垂直预测模式、水平预测模式、水平单深度模式和垂直单深度模式),分别对应预测类型索引值0~3,如图1所示.图1中:不同颜色方块表示不同的深度值,黑色方框内的块表示参考像素.
(a) 垂直预测模式 (b) 水平预测模式 (c) 水平单深度模式 (d) 垂直单深度模式图1 4种DIS模式预测类型Fig.1 Four types of DIS mode
当CU采用DIS模式进行编码时,CU的划分模式只能为2N×2N模式.此时,若DIS模式的预测类型索引值为0或1,当前CU的预测值则为对应的垂直或水平方向预测值;若DIS模式的预测类型索引值为2或3,当前CU的预测值则为左侧边界或上方边界的中间位置的深度值,即黄色方块代表深度值.CU利用上述4种预测类型进行编码并计算率失真代价,选择代价最小的预测类型作为当前CU的DIS模式最终的预测类型.
经过对标准序列的测试,得到了在不同量化参数值下,深度图中CU最优编码模式为DIS模式的比例,如表1所示.从表1中可知:DIS模式作为最优编码模式的平均比例达到了66.42%.表明对于绝大多数CU来说,DIS模式比起其他预测模式更适合深度图的编码.
Balloons第一帧图像的DIS模式分布,如图2所示.图2中:黄色区域表示DIS模式作为该区域CU的最优编码模式.从图2可知:利用DIS模式嵌入水印可获得大量可选择的嵌入单元.
(a) 原始图像 (b) DIS模式分布图图2 Balloons第一帧图像的DIS模式分布Fig.2 Distribution of DIS mode of Balloons in 1th frame
在文中算法中,为实现水印的嵌入,将DIS模式的预测类型分为两类,并建立水印值与类之间的映射关系.在划分类别时还需注意的是,不同的类别划分会对水印的嵌入、提取过程造成不同程度的影响.例如,将DIS模式的预测类型0,2分为一类,对应水印值0,预测类型1,3分为另一类,对应水印值1.当水印值与类之间的映射不成立时,修改DIS模式的预测类型,例如,将预测类型0修改为预测类型3.这样分类的好处在于,预测类型0,3同属于垂直模式,在修改DIS模式的预测类型时对嵌入单元的影响小;但预测类型0,3对应不同水印值,在视频遭受重编码攻击时,预测类型0,3间可能相互转换或转换为垂直方向预测模式(模式19~34)中的任意一种,两种情况都不利于水印的提取.
文中算法更加注重水印的误码率性能.因此,文中分别将DIS模式的预测类型0与3,1与2划分为一类,即垂直模式、水平模式,分别对应水印值0和1.同时,考虑修改DIS模式预测类型带来的影响,只有水印嵌入前、后的率失真代价变化满足一定阈值条件时水印才真正嵌入.
在嵌入水印的过程中,不可避免地会产生视频质量下降或比特率增长等问题.在文中算法中,通过建立DIS模式的预测类型和水印值的映射关系来实现水印的嵌入.在修改DIS模式的预测类型时,可能导致当前CU的预测值随之变化.此时,若邻块CU以当前CU的边界像素作为参考像素,嵌入水印所产生的误差将传播到邻块CU中,即误差传播问题.因此,需要对该误差进行消除.文献[5]提出了两种方法用于消除误差传播问题,即修改TU中的部分系数,以及对水印嵌入单元进行选择.由于DIS模式中没有残差传输到解码端,因此,无法通过修改TU的部分系数达到消除误差的目的,只能利用水印嵌入单元选择来消除传播误差.
邻块CU可选预测模式,如表2所示.3D-HEVC中的35种方向预测模式与HEVC中的方向预测模式一致. 因此, 当前CU作为嵌入单元时,邻块CU的可选方向预测模式和文献[5]所述一致. DIS模
表2 邻块CU可选预测模式Tab.2 Optional prediction mode of adjacent CU
式及DMMs模式仅利用CU的上方和左侧像素作为参考像素.因此可知,只有邻块CU的编码模式满足表2所列模式时才不会引起误差传播问题,当前CU才能作为嵌入单元.
通过对DIS模式及误差传播问题的分析,提出一种基于DIS模式的3D-HEVC视频水印算法,对DIS模式的预测类型进行分类,并根据水印值和预测类型的匹配情况修改其类型.由于修改DIS模式预测类型会引起深度图的变化,因此,文中还考虑了水印嵌入前、后的率失真代价变化来对嵌入单元进行进一步选择.具体有如下7个嵌入步骤.
步骤1对二值水印重新排序,得到的一维水印序列w={w1,w2,…,wn},将用于重复嵌入.
步骤2对CU进行解析,判断当前CU是否是DIS编码模式,否则,转到步骤7.
步骤4判断邻块CU是否满足表2所列模式,否则,转到步骤7.
步骤6若重新编码所计算的代价值满足abs(Do-De) 步骤7对CU重新编码,解析下一个CU直至全部CU重新编码完成. 由于视频可能遭受重编码攻击,因此,在解码过程中需考虑DIS模式向其他模式转变的情况.在文中算法中,对DIS模式转变为方向预测模式2~34的CU,根据其预测方向来决定提取的水印值.对DIS模式转变为方向预测模式0的CU,当重构CU的DC值与V2和V3的差值小于一定阈值时,根据差值来决定提取的水印值.具体有如下5个主要提取步骤. 步骤1根据嵌入过程的位置信息判断当前CU是否为水印嵌入单元,否则,转到步骤5. 步骤2判断当前CU是否是DIS模式,否则,转到步骤4. 步骤5解析下一个CU直至全部CU解码完成. 文中算法在参考软件HTM 16.0上进行验证.参考软件主要参数配置如下:QP值为25,30,35,40,采用图像组(group of picture,GOP)大小为1的全帧内(all-intra,AI)编码,共编码32帧,其他参数采用默认配置.电脑基本配置:CPU为Intel Xeon CPU E5-1630 3.7 GHz,内存为16 GB.测试了6个具有两种分辨率的序列,分别为1 024 px×768 px的Balloons,Kendo和Newspaper1及1 920 px×1 088 px的PoznanHall2,PoznanStreet和UndoDancer. 不同的测试序列在不同的QP量化参数值下,平均每帧嵌入容量(C)、水印嵌入前、后的比特率变化(ΔR=(Re-Ro)/Re),以及合成视点的平均每帧峰值信噪比(peak signal to noise ratio,PSNR)变化(ΔP=Pe-Po),如表3所示.表3中:Ro,Re分别表示水印嵌入前、后的比特率;Po,Pe则分别表示水印嵌入前、后合成视点的平均每帧PSNR;RPSNR为峰值信噪比(PSNR). 表3 嵌入容量、比特率及和视频质量变化实验结果Tab.3 Experimental results of embedding capacity, bit-rate and video quality change 续表Continue table 随着QP的增长,由于CTU中的CU趋向于大尺寸的划分,CTU中的CU数目减少.同时,修改大尺寸CU所造成的率失真代价变化也变大,使得可选择的水印嵌入单元大大减少.而随着分辨率的提高,CTU的数目增多,可选择的水印嵌入单元随之增多. 综上所述并结合表3可知:水印的嵌入容量随着QP的增长而下降,而随着分辨率的提升而提高.在不同QP值(25,30,35,40)下,所有测试序列对应的平均每帧嵌入容量分别为649.567,340.155,173.286和58.130 bit,平均比特率变化则分别为0.043%,0.046%,0.460%和0.180%.所有测试序列在水印嵌入前、后的比特率变化处于0.05%~0.105%,说明了文中所提算法在具有较大嵌入容量的同时,对比特率的影响小. 除嵌入容量和比特率外,嵌入水印对视频质量的影响也用于验证算法的性能.由于深度图不直接用于观看,因此,通过水印嵌入前、后合成视点的平均每帧PSNR及其主观性能的变化反应嵌入水印对视频质量的影响.由表3可知:测试序列合成视点的平均每帧PSNR变化程度随着嵌入容量的下降而变小.合成视点平均每帧PSNR变化为-0.530 dB,分辨率为1 920 px×1 088 px及1 024 px×768 px视频的合成视点的平均每帧PSNR变化分别为-0.466和-0.595 dB.结合嵌入容量性能可以发现,1 920 px×1 088 px分辨率视频同1 024 px×768 px分辨率视频相比,平均每帧嵌入容量更大,但合成视点的平均每帧PSNR变化却更小. 造成这种情况的原因在于,前者与后者之间的单帧像素点个数比值约为2.656倍,而平均每帧嵌入容量比值仅约为1.625倍,这意味着前者的单位像素点嵌入容量小于后者.因此,嵌入在前者中的水印对合成视点的影响反而小于后者. 测试序列Balloons及PoznanStreet在QP值等于25时,合成视点第一帧图像的主观性能对比图,如图3所示.从图3可知:合成视点的视频质量在主观感知上变化不大.由此可知,尽管文中所提算法对合成视点有所影响,但仍处在可接受范围之内. (a) 原始合成视点主观性能 (b) 解码合成视点主观性能图3 水印嵌入前、后合成视点的主观性能对比Fig.3 Comparison of subjective performance in synthetic viewpoints before and after watermark embedding 文中算法的鲁棒性将利用误码率(RBE)来进行分析,计算公式为 其中:Be表示错误比特数目;Bt为总比特数目.由此可知RBE越小,算法的鲁棒性越好. 图4 不同QP值下的误码率性能Fig.4 BER under re-encoding with different QP 图5 不同滤波攻击及QP值下的误码率性能Fig.5 BER under filtering and re-encoding attack with different QP 文中算法误码率的测试结果,分别如图4,5及表4所示.由图4可知:无攻击时,RBE为0,能完整地提取出原始水印;而在解码视频遭受重编码攻击时,解码视频与原始视频的差异使得CU的最优编码模式发生变化,从而造成误码情况.同时,随着QP的增大,CU的最优编码模式更容易发生变化.因此,误码率(RBE)随着QP的增长而增长. 表4 不同误码率下的提取水印Tab.4 Extracted watermark with different BER 文中所提算法在不同QP值(25,30,35,40)的重编码攻击下,对应的误码率(RBE)平均值分别为15.683%,20.510%,30.989%和36.055%,误码率(RBE)的最小值为10.145%,最大值为39.875%.同时,文本验证了不同滤波及重编码混合攻击下了误码率性能.从图5可知:滤波攻击使得算法鲁棒性下降,但经过重编码攻击后整体BER仍小于42%.从表4可知:随着误码率(RBE)的增长,虽然提取的水印图像在主观感知上越来越差,但仍可从中辨别出嵌入的水印. 由于文献[15-16]分配固定比特用于编码视频,其实验条件与文中有所差异.因此,只将文中算法测试结果与文献[14]所提算法进行对比用于验证算法的有效性,对比结果如表5所示.表5中:C为平均每帧嵌入容量;P为平均每帧PSNR;R为比特率. 表5 所提算法与参考文献[14]算法的性能对比Tab.5 Performance comparison between proposed algorithm and algorithm in references [14] 结合图3可知:文中所提算法在合成视点主观图像变化几乎不可感知的前提下,平均比特率变化更小、平均嵌入容量更大.文中算法的不足之处在于合成视点的客观指标PSNR变化较大.虽然文中算法在嵌入过程中根据嵌入前、后的率失真代价变化对嵌入单元进行了进一步选择,但修改DIS模式的预测类型仍对深度图造成较大影响,因此导致了合成视点的平均每帧PSNR变化较大. 文中提出了一种基于DIS模式的3D-HEVC视频水印算法.首先,对DIS模式的编码过程进行分析,同时对DIS模式预测类型进行分类并建立与水印值之间的映射关系.其次,对帧内误差传播问题进行了全面分析,根据水印值与DIS模式的预测类型的匹配情况来进一步对当前CU进行选择,选取不会造成误差传播的CU作为水印候选嵌入单元.最后,根据水印嵌入前、后的率失真代价变化来决定是否嵌入水印信息. 实验结果表明,文中算法有较高的嵌入容量且对比特率影响小,但文中算法的抗重编码攻击性能一般,且对深度图造成的影响使得合成视点的平均每帧PSNR变化较大.因此,提升算法的抗重编码攻击性能及减少对深度图的影响将作为接下来的研究方向.同时,水印嵌入过程中的阈值选择的自适应化及水印提取过程中对误码情况的判断也有待进一步优化.1.4 提取算法
2 实验结果及分析
2.1 嵌入容量、比特率及视频质量变化
2.2 鲁棒性分析
2.3 算法对比
3 结论