基于深度图的3D-HEVC鲁棒视频水印算法

2019-07-31 12:14曹海燕冯桂韩雪方定邦黄鑫达
计算机应用 2019年3期

曹海燕 冯桂 韩雪 方定邦 黄鑫达

摘 要:针对多视点加深度格式的3D视频中深度图鲁棒性不足的问题,提出了一种基于深度图的3D鲁棒视频水印算法。首先,将深度图不重叠的划分为4×4大小的块,计算每一块像素域的均方差,并设置一个阈值来区分纹理块和平坦块;其次,对纹理块计算区域块的能量值,根据计算的能量值设置一个阈值来选择性嵌入水印比特位;最后,获取每个块变换量化后的DC系数,根据获取的DC系数值构造3×3的可逆矩阵,对可逆矩阵进行QR分解,将水印嵌入在分解后的Q矩阵中。所提算法保证了平均峰值信噪比不变,且不同量化参数(QP)值(25、30、35、40)的重编码攻击下的平均误码率为14.9%。从测试的结果来看,该算法具有较好鲁棒性和嵌入容量,同时对视频的质量影响很小。

关键词:深度图;视频水印;均方差;QR分解;DC系数

中图分类号: TP309.2

文献标志码:A

文章编号:1001-9081(2019)03-0869-05

Abstract: Aiming at insufficient robustness of depth map in multi-view 3D video with depth format, a 3D robust video watermarking algorithm based on depth map was proposed. Firstly, a depth map was divided into 4×4 nonoverlapped blocks, the mean square error of each block of pixels was calculated, and a threshold was set to distinguish the texture block and the flat block. Secondly, the block energy value of the texture block was calculated, and a threshold was set according to the calculated result to selectively embed the watermark bits. Finally, the transformed and quantized DC coefficients of each block were obtained and used to construct a 3×3 invertible matrix, then QR decomposition was performed on the invertible matrix and the watermark was embedded in the decomposed Q matrix. The proposed algorithm guarantees that the average Peak Signal to Noise Ratio (PSNR) is a constant, and the average Bit Error Rate (BER) under re-encoding attack with different Quantization Parameter (QP) values (25, 30, 35, 40) is 14.9%. Experimental results show that the algorithm has good robustness and embedding capacity, and has little impact on the quality of video.

Key words: depth map; video watermarking; mean square error; QR decomposition; DC coefficient

0 引言

从传统的立体视频到多视点加深度的3D视频[1], 3D视频因能提供真实场景的立体感与视点交互而广受欢迎[2]。3D数据传输在各种各样的数字媒体中被广泛应用,为了节省传输带宽和存储空间,在高效视频编码(High Efficient Video Coding,HEVC)标准[3]的基础上进行了扩展,制定了3D-HEVC编码标准[4]。基于视频压缩信息安全保护的水印技术也得到了发展,目前更多的是基于H.264/AVC和HEVC视频压缩的视频水印技术或者是基于图像的水印技术[5]。文献[6]是基于变换域的水印算法,采用Hadamard變换,分析其系数的鲁棒性和透明性,在选择的位平面中嵌入水印,算法简单,并且鲁棒性较强。文献[7]提出的根据纹理特征将水印嵌入经过变换量化后的AC系数中,该算法具有较好强的鲁棒性,但嵌入后对视频质量有一定的影响。文献[8]提出了一种基于调制奇异值贡献率的视频内容认证水印算法,通过对视频子块进行2级的离散小波变换(Discrete Wavelet Transform, DWT)提取内容特征,基于DWT的低频域来量化调制第一奇异值贡献率来嵌入水印,该算法能有效地抵抗二次视频压缩攻击,具有较好强的鲁棒性,但算法相对较复杂。文献[9]是一种改进的伪三维离散余弦变换(Three-Dimensional Discrete Cosine Transform, 3D-DCT)的零水印算法,根据帧间的欧氏距离来选取关键帧,利用三帧差分得到关键帧的运动目标进行分块,对目标块的几何形心坐标所在块进行变换后得到的AC系数构造特征值序列,根据加密水印和特征值序列构造零水印,该算法能较好抵抗几何攻击,鲁棒性较好强,但是嵌入容量有限。文献[10]是在连续I帧中纹理相似的4×4块中嵌入水印,因为相似,它们之间的残差系数差值等于0和接近于0,利用这些进行差分统计。相似块通过不同变换系数的和来确定,和较小就定义为相似块,在相同变换系数集中修改0值来进行多层水印的嵌入,在视频解码重建之前获取修改的系数变换为原来的系数来进行误差补偿,此方法能获取较好的视频质量,但是由于太依赖于相似块,在遭受攻击后不能很好地提取水印,因此鲁棒性较差。由于深度视频具有与纹理视频不同的特征,含有大量的平坦区域和尖锐的边缘区域,深度图的编码方式也不完全相同[11]。传统的视频水印技术不能完全很好地应用到多视点加深度的3D视频中,现今,针对3D视频中深度图的视频水印技术的研究还很少。本文提出了一种针对3D视频中深度图的视频水印算法,将视频帧中的深度图划分为4×4的块,并通过均方差进行纹理复杂度的区分,区分出纹理块和平坦块,选择纹理块进行水印的嵌入。通过计算纹理块的区域能量,选择相应水印比特进行嵌入。获取纹理块变换量化后的DC系数,根据获取的DC系数值的不同特征进行不同的水印嵌入处理。从测试的结果来看,本文算法具有很强的鲁棒性,并且对视频的质量几乎没有影响。

1 算法提出

1.1 理论分析

深度图是通过采集场景实物到摄像机成像平面距离构成的灰度图像,不同于纹理视频,它并不用于视觉观看,而是在解码端结合纹理视频利用深度图渲染(Depth Image Based Rendering, DIBR)技术[1]制出多个视点,以此来体现多视点[1]的立体效果。深度图大部分区域是很平滑的,小部分有着较复杂的纹理,如图1(a)是深度图进行编码后分割信息,块越大说明越平坦,越小说明纹理越复杂。在进行水印的嵌入时,为了保证水印的不可见性,要选择纹理相对复杂的块来进行处理,这是由于复杂度越大,纹理越复杂,则隐藏效果越好。现阶段区分区域纹理复杂程度的常用方法有灰度共生矩阵法[12]、大津算法[13]和Weber定律法[7]。纹理越复杂,块的划分深度越大,最小的预测单元(Prediction Unit,PU)的分割深度为4×4[14],根据4×4大小进行划分的块数多,能保证嵌入容量,并且纹理区分和计算简单。 因此本文是要将视频帧中的深度图不重叠的划分为4×4的块,进而进行纹理和非纹理的判断,相比于上述方法,均方差能更简单、准确地区分纹理与非纹理的块,且计算复杂度低,因此,本文选择均方差来区分纹理块。

3D-HEVC中深度图在帧内预测编码得到残差块后要进行变换量化等操作,而由QDCT/QDST量化离散余弦变换(Quantized Discrete Cosine Transform, QDCT)/量化离散正弦变换(Quantized Discrete Sine Transform, QDST)变换的性质可知,DC系数仅能反映当前块像素值的平均大小,相比于其他的系数,DC系数更稳定。为了保证嵌入的容量和鲁棒性,本文选择在DC系数进行水印的嵌入,为了保证水印的不可见性和鲁棒性,本文采用了QR分解中正交矩阵Q的一些特性[15],即第一列中的3个元素数值很相近,它们之间的差别很小,对其进行很小的修改时,对整个矩阵影响很小。故而在分解后的Q矩阵中的第一列、第二行嵌入微量的水印,则对原始的视频影响很小,几乎可以忽略不计。另外,为了进一步减少此算法对深度图的影响,本文对水印嵌入块进行了误差消除处理。以QDST为例其证明如下。

让CQDST4×4代表亮度塊预测残差变换量化后的4×4的系数块,Qstep是量化步长的大小。

由上面的证明可知,在QDST上嵌入水印后,经过反变换反量化后最后一行和最后一列的系数为0,可以消除嵌入的水印对后续块的影响。

1.2 水印的嵌入

步骤2 将视频帧中的深度图不重叠地划分为4×4的块单元,计算每个4×4块单元像素域的均方差,对均方差值多次遍历确定一个最佳的阈值来区分出纹理块和平坦块。

步骤3 获取纹理块进行变换量化后的非零DC系数E1作为水印的嵌入位置,其他的E2,E3,E4,E9,E11,E12,E13,E15,E16作为误差消除的块,根据DC系数E1的值构建一个对角线上元素依次递增α(0<α≤1),其他元素和DC系数相等的3×3的可逆矩阵A。对A矩阵进行QR分解,得到的Q矩阵中第一列的三个元素的具有较强的相似性,增强了嵌入水印的不可见性。

步骤4 将水印嵌入在Q矩阵的第二行第一列中,根据当前块的量化步长Qstep来调整嵌入量。H.265/HEVC中规定了52个量化步长,对应于52个量化参数(Quantization Parameter, QP)[1],二者的关系如下:

当嵌入水印w=1时,在Q矩阵中的嵌入量为1/Qstep,当水印为w=-1时,在Q矩阵中的嵌入量为-1/Qstep。由于Q矩阵的一些特性,水印嵌入后对DC系数几乎没有影响。

纹理块经过变换量化后的总能量为:

根据设定的阈值ξ和计算的总能量进行比较的结果来进行水印比特的嵌入:

1.3 水印的提取

本文中水印的提取算法相比于嵌入算法更简单,不用进行QR矩阵分解,其算法如下:

步骤1 根据嵌入时产生密钥K1相同的算法得到密钥K1。

步骤2 按照与嵌入算法相同的方法得到纹理块,计算4×4纹理块的总能量,根据与嵌入算法相同的阈值ξ直接提取加密后的水印序列;

2 实验结果及分析

算法测试是基于H.265/HEVC参考软件HTM16.0,参考软件的主要配置参数如下:测试的视频序列的量化QP(Quantization Parameter)值有25、30、35、40,图像组(Group Of Pictures, GOP)为1的全帧内编码,其余参数都采用平台默认的配置,原始视频数据和嵌入水印后的视频数据都是编码32帧。电脑的基本配置:Intel Core 2 Quad CPU Q9400 @2.66GHz的64位操作系统下,测试的序列共5个:其中2个是分辨率为1024×768的Balloons和Kendo,3个是分辨率为1920×1088的PoznanHall2、PoznanStreet和UndoDancer。

2.1 视频质量和比特率分析

视频质量可通过主观和客观两种方法进行分析,本文采用峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)对视频质量进行客观分析。峰值信噪比越大,视频质量越好。本文分析了在不同QP(25,30,35,40)下,有、无水印深度图的PSNR值的变化,表1中列出了5个测试序列嵌入水印前后深度图在不同QP编码32帧后的PSNR平均值。其中:Po表示原始序列深度图的平均PSNR值,Pe表示水印嵌入后深度图的平均PSNR值,PSNR的变化用ΔP=Pe-Po表示。本文还对嵌入水

印前后测试序列的比特率(R)进行了实验分析,如表1所示。其中Re表示原始测试序列的码率,Ro表示水印嵌入后的码率,码率增长用ΔR=(Re-R0)/Ro表示。本文中水印比特不是直接嵌入在变换量化后的DC系数上,而是利用QR分解中Q矩阵的一些特性,将其进行处理后嵌入在Q矩阵中具有较强相似性的第二行第一列元素上,对深度图的DC系数几乎没有影响,同时对后续块也进行了误差消除,因此,本文算法中的PSNR和码率都没有变化。

本文還测试了用深度图绘制出来的6个合成视点的PSNR的变化情况,如表2所示。嵌入水印前后6个合成视点的PSNR的变化ΔSyn都为0,说明嵌入水印对合成视点也没有影响。

本文还测试了Balloons、Kendo、PoznanStreet、UndoDancer和PoznanHall2这5个视频序列根据原始编码的3个视点利用深度图绘制(Depth-Image-Based-Rendering, DIBR)技术合成的6个中间虚拟视点PSNR的变化情况。实验结果发现,嵌入水印前后6个合成视点PSNR的变化都为0,说明嵌入水印对合成视点也没有影响。

除了上述的客观分析外,本文还进行了主观分析:水印嵌入前后第一帧视频质量的主观视觉效果对比情况,其效果如图2(a)(b)(c)(d)(e)所示。

图2(a)(b)为Balloons序列在水印嵌入前后的视点1的深度图,图2(c)(d)为Balloons序列水印嵌入前后的彩色图像,图2(e)为Balloons序列嵌入水印后的深度图结合纹理图合成的虚拟视点1。经过主观对比可知,本文算法对深度图、彩色图和虚拟视点几乎没有影响。

2.2 视频的鲁棒性分析

本文参考误码率(Bit Error Rate, BER)这一指标来进行相关的鲁棒性分析,它的计算公式如下所示:

其中:error_bits是最后提取出来错误的比特数, total_bits是嵌入的总的比特数,BER越小时算法的鲁棒性越好强,在视频遭受不同QP值的重编码攻击时,提取出来的误码率情况如表2所示。本文算法是根据相对稳定的纹理块的总能量特征来进行水印的提取,计算复杂度低,能保证较好强的鲁棒性。

2.3 视频质量和嵌入容量的对比

为了验证本文算法,将本文算法与文献[16]算法的结果进行对比,该算法采用的是3D-HEVC标准的编码平台HTM13.0,采用的也是全帧内配置,其对比结果如表3所示。

其中:Δp表示的是水印嵌入前后本算法峰值信噪比的变化量,Δp[16]是水印嵌入前后文献[16]算法峰值信噪比的变化量,C是本算法的嵌入容量,C[16]是文献[16]的嵌入容量。

本文算法是根据4×4纹理复杂度来进行块嵌入块的选择,相比于文献[16]中的单深度帧内模式块,能获得更多满足条件的块,保证了嵌入容量。同时,由于QR矩阵分解的特性和误差消除,本算法对视频质量几乎没有影响,而文献[16]通过调制候选列表索引值,会影响当前块的重建,从而影响视频质量。由表4可知水印嵌入前后本文算法每一帧的嵌入容量要比文献[16]算法的嵌入容量要大,并且本文算法峰值信噪比的变化量小于文献[16]的变化量。

2.4 时间复杂度的分析

为了进一步测试算法的性能,本文还进行了算法时间复杂度的分析,它的计算公式为:

其中:ΔT表示的是加入算法后的时间复杂度,To是原始视频的编码时间,Te表示加入水印算法的编码时间。ΔT越大表示时间复杂度越高,反之则越低。本文中用了均方差和QR分解两种较简单的算法。由表4可知,实现本文算法的时间复杂度很低。

3 结语

目前针对现有的3D-HEVC视频中深度图的视频水印算法研究还很少,本文提出了一种基于全帧内对深度图进行鲁棒性水印嵌入的算法。首先,获取视频帧中的深度图,将变换量化后的深度图不重叠地划分为4×4大小的块;其次,计算每个4×4块的像素域均方差,区分出是纹理块还是平坦块;最后,通过计算4×4纹理块的总能量和阈值比较大小,选出满足水印嵌入条件的块,在DC系数上嵌入水印,并和其他的8个系数构成矩阵进行误差消除,避免误差向后续块传播。与文献[16]相比,本文在保证较好的鲁棒性和不可见性的同时,也有较好的水印嵌入容量。

参考文献 (References)

[1] MULLER K, SCHWARZ H, MARPE D, et al. 3D high-efficiency video coding for multi-view video and depth data [J]. IEEE Transactions on Image Processing, 2013, 22(9): 3366-3378.

[2] ZHU C, LI S, ZHENG J, et al. Texture-aware depth prediction in 3D video coding [J]. IEEE Transactions on Broadcasting, 2016, 62(2): 482-486.

[3] SULLIVAN G J, OHM J-R, HAN W-J, et al. Overview of the High Efficiency Video Coding (HEVC) standard [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2012, 22(12): 1649-1668.

[4] TECH G, CHEN Y, MULLER K, et al. Overview of the multiview and 3D extensions of high efficiency video coding [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2016, 26(1): 35-49.

[5] ZHANG J, HO A T S, QIU G, et al. Robust video watermarking of H.264/AVC [J]. IEEE Transactions on Circuits and Systems Ⅱ: Express Briefs, 2007, 54(2): 205-209.

[6] ETEMAD E, SAMAVI S, SOROUSHMEHR S M R, et al. Robust image watermarking scheme using bit-plane of Hadamard coefficients [J]. Multimedia Tools and Applications, 2018, 77(2): 2033-2055.

[7] 张维纬,张茹,刘建毅,等.基于纹理特征的H.264/AVC顽健视频水印算法[J].通信学报,2012(3):82-89.(ZHANG W W, ZHANG R, LIU J Y, et al. Robust video watermarking algorithm for H.264/AVC based on texture feature [J]. Journal on Communications, 2012, 33(3): 82-89.)

[8] 付剑晶,陈德人.用于视频内容认证的抗二次压缩水印算法[J].计算机学报,2018,41(3):558-573.(FU J J, CHEN D R, Watermarking algorithm of tolerating the second compression for video content authentication [J]. Chinese Journal of Computers, 2018,41(3):558-573.)

[9] 江烨倩,宋春霖.一种改进的伪3D-DCT域的视频零水印算法[J].计算机工程与科学,2017,39(9):1721-1728.(JANG Y Q, SONG C L. An improved video zero-watermarking algorithm in pseudo 3D-DCT domain [J]. Computer Engineering and Science, 2017, 39(9): 1721-1728.)

[10] GAJ S, RANA S, SUR A, et al. A drift compensated reversible watermarking scheme for H.265/HEVC [C]// Proceedings of the 2016 IEEE 18th International Workshop on Multimedia Signal Processing. Piscataway, NJ: IEEE, 2017: 1-6.

[11] MULLER K, SCHWARZ H, MARPE D, et al. 3D high-efficiency video coding for multi-view video and depth data [J]. IEEE Transactions on Image Processing, 2013, 22(9): 3366-3378.

[12] 李淑芝,胡琴,邓小鸿.灰度共生矩阵纹理特征选块的可逆图像水印[J].光电子·激光,2017,28(4):411-418.(LI S Z, HU Q, DENG X H. Reversible image watermarking based on texture feature selection of gray level co-occurrence matrix [J]. Journal of Optoelectronics·Laser, 2017, 28(4): 411-418.)

[13] 韩雪,冯桂,曹海燕.3D-HEVC深度图帧内编码快速算法[J].信号处理,2018,34(6):680-687. (HAN X, FENG G, CAO H Y. Efficient fast algorithm for depth map in 3D-HEVC [J]. Journal of Signal Processing, 2018, 34(6): 680-687.)

[14] 蔡春亭,冯桂,王驰,等.基于帧内预测模式多划分的HEVC鲁棒视频水印算法[J].计算机应用,2017,37(6):1772-1776.(CAI C T, FENG G, WANG C, et al, Robust video watermarking algorithm for HEVC based on intra-frame prediction modes of multi-partitioning [J]. Journal of Computer Applications, 2017, 37(6): 1772-1776.)

[15] SU Q, WANG G, ZHANG X, et al. An improved color image watermarking algorithm based on QR decomposition [J]. Multimedia Tools and Applications, 2017, 76(1): 707-729.

[16] 王靜,郁梅,蒋刚毅,等.基于单深度帧内模式的3D-HEVC深度视频信息隐藏算法[J].光电子·激光,2017,28(8):893-901.(WANG J, YU M, JIANG G Y, et al. An information hiding algorithm of depth video in 3D-HEVC based on single depth intra mode [J]. Journal of Optoelectronics·Laser, 2017,28(8): 893-901.)