董晓慧, 林其伟, 许东旭
(华侨大学 信息科学与工程学院, 福建 厦门 361021)
采用可逆水印的HEVC视频完整性认证方案
董晓慧, 林其伟, 许东旭
(华侨大学 信息科学与工程学院, 福建 厦门 361021)
摘要:针对最新的视频编码标准HEVC/H.265,提出一种基于可逆水印的视频完整性认证方案.首先,算法根据第一个I帧中相邻块的直流系数 (DC)系数之间的大小关系提取特征码;然后,从第二个图像组(GOP)的P帧开始,通过修改运动矢量某一分量的幅值嵌入水印,并且把修改前幅值的最低有效位信息嵌入到该块最后一个离散余弦转换(DCT)系数上以实现视频还原.实验结果表明:算法简单有效,具有较好的脆弱性,同时能够对视频进行无失真还原.
关键词:运动矢量; 离散余弦转换; HEVC/H.265; 完整性认证; 可逆水印
数字化和互联网技术正在以令人震惊的速度和规模发展,使得数字多媒体产业的面貌发生翻天覆地的变化.然而在享受它们带来的便利的同时,也常常不得不接受盗版侵权和内容恶意篡改现象所带来的困扰.因此,数字多媒体产品的版权保护和内容认证成为急需解决的重要问题[1],而视频水印技术是一种非常有效的解决方案.目前的视频正向着高清分辨率甚至超清分辨率发展,而现有的视频编码技术已经远远不能满足消费者的需求[2].完整性认证是一种发现信息篡改,验证信息完整性、真实性的技术.可实现完整性认证的技术有数字签名和数字水印技术.用于认证的数字水印技术可分为脆弱水印和半脆弱水印两种[3].国内外尚未见关于HEVC可逆视频水印方案,文献[4-6]也只涉及信息隐藏,现有的可逆水印方案大多是基于H.264的.文献[7-10]在一个宏块中嵌入多比特的其他宏块信息,以在解码时对受损数据进行恢复或估计.Huo等[11]提出在H.264中,根据4×4块的预测模式分布,采用“和不变”的方法嵌入可逆水印.Lin等[12]提出在H.264/AVC基础上,利用相邻宏块的残差量化后的(discrete cosine transformation,DCT)系数值预测当前块的值,并利用预测差值的直方图平移嵌入水印.Liu等[13]在一个量化后的离散余弦转换DCT系数上嵌入水印,使用耦合系数进行补偿,从而消除误差漂移.张维纬等[14]将当前宏块DCT系数的哈希值作为水印嵌入到下一个相邻宏块中,水印提取的同时对当前块进行数据还原.本文结合HEVC/H.265的新特点,创新性地提出一种基于HEVC/H.265的可逆视频水印方案.
1HEVC/H.265变换、量化和帧间预测
1.1HEVC/H.265中的变换和量化
HEVC/H.265和H.264类似,对预测残差也进行DCT整数变换.不同的是H.264只固定采用了4×4块DCT变换尺寸,而HEVC/H.265中则以变换单元(TU)进行变换和量化,DCT变换的尺寸可以更加灵活地在32×32块到4×4块之间取值.此外,HEVC/H.265还创新性采用4×4块离散正弦变换(discrete sine transform,DST),不过仅将它用于4×4块的帧内预测残差的编码.HEVC/H.265与H.264的量化过程一样,都是在整数DCT变换时一并完成的,并且量化步长有52个等级(0~51).此外,HEVC/H.265也使用了率失真优化的量化(rate distortion optimized quantization,RDOQ)技术,从而在给定码率的情况下选择最优的Quantitative parameters(QP)使重建图像失真最小.
与H.264不同的是,HEVC/H.265在TU中分别对亮度和色度分量进行量化操作.在TU中,所有变换系数都按照一个特定的QP统一进行量化和反量化.这使得HEVC/H.265的RDOQ比H.264提高约5%的编码效率(亮度),但会增加计算复杂度.与H.264采用的Zig-Zag 扫描方法不同,HEVC/H.265将一个大的TU分成若干个4×4块系数组,如果TU采用帧内预测模式,则根据帧内预测方向自适应选择水平、垂直和对角3种方式中的一种,如果TU采用的是帧间预测模式,则只能使用对角扫描方式.
1.2HEVC/H.265帧间预测
HEVC/H.265在H.264基础上主要进行了以下2点改进.
1) 帧间预测时,允许CU对称或非对称地划分为更小的PU,PU可以为方形,也可以是矩形.这使得PU在运动估计和运动补偿中更精确地符合图像中运动目标的形状,而不需要进一步细分来解决.
2) HEVC/H.265对运动参数的编码有Inter、改进的Skip和Merge 3种模式.前两种与H.264类似,Merge模式是HEVC/H.265新引入的一种运动合并技术,对邻近的PU进行合并处理,从而传输一次运动参数即可.对HEVC/H.265中的Skip模式,编码器只需编码运动合并候选者的索引信息,以保证解码时Skip PU可以拷贝中选者的运动参数作为自己的参数.
2水印信息生成
对于生成水印信息的特征码,要求其具有稳定性[15],特征码的生成和嵌入不应该选在同一帧.这样能够避免因为选择区域相同,给特征码生成及水印提取带来不稳定因素.因此,文中选择在第一个I帧提取特征码并且通过密钥加密,进而生成水印信息,因为I帧采用帧内编码,是视频编码中最重要的环节,比P帧更具有稳定性.此外,由于算法是在编码端嵌入水印的方案,经过编码压缩形成码流,在解码端通过解码器提取水印信息,因而要求特征码对视频压缩具有鲁棒.统计表明:图像的直流系数 (dc coefficients,DC)系数对于不同的压缩情况,相邻两位仍然基本保持大小不变,因此,文中充分利用这一特点来构造特征码.具体有如下3个生成过程.
1) 将第一个I帧的视频图像分一个个DCT变换块.
2) 找出每个块的DC系数,比较相邻两个DC系数DCj和 DCj+1的大小,即
(1)
产生的特征码序列为M={M1,M2,…,Mn-1}.
3) 对特征码加密生成水印信息,有
(2)
式(2)中: ⊕为异或操作;pj是伪随机序列;最终生成待嵌入水印序列为w={w1,w2,…,wn-1}.
3可逆水印的嵌入过程
3.1水印嵌入位置选择
由于在P帧的运动矢量上嵌入水印有利于保证水印的脆弱性,并且P帧的编码要参考I帧,因此,在P帧嵌入认证水印也能认证I帧的完整性.文中选择从第二个图像组(GOP)的第一个P帧开始,在它之后每个P帧都嵌入水印信息,通过修改P帧运动矢量某一分量的幅值进行水印嵌入.为了实现视频无失真还原,将修改前分量幅值的最低有效位信息(LSB)嵌入到DCT量化后的最后一个系数(LN)上.
3.2水印嵌入算法
具体嵌入步骤有如下3个步骤.
步骤1在P帧视频码流中,对于运动参数编码方式为Skip/Merge的块进行跳过处理,同时全零块也跳过,不进行水印嵌入.这是因为Skip编码的块没有运动矢量和残差信息,而Merge编码的块不进行运动估计,若修改会造成较大的率失真性能损失.然后,对剩下的每个非Skip/Merge编码的块嵌入1 bit水印信息.
步骤2选择P帧运动矢量中x方向运动分量幅值Vx,修改该分量以实现水印嵌入的公式为
(3)
步骤3将修改前分量幅值的最低有效位信息嵌入到该块量化后的最后一个DCT系数上,即
(4)
式(4)中:LN′和LN分别为修改前后DCT变换块的最后一位系数;LSB(Vx)表示修改前运动矢量分量幅值的最低有效位信息.
4水印的提取
水印提取即水印嵌入的逆过程为盲提取,提取方法简单,不需要原始视频.算法水印的提取位置在解码端熵解码之后进行.由系数值提取运动矢量分量幅值的最低有效位信息,再根据提取到的LSB信息和运动矢量分量的幅值信息一起进一步提取出水印.水印提取有如下3个规则.
1) 对HEVC/H.265压缩码流进行解码,得到每个DCT块反量化前的系数和运动矢量信息.
2) 由嵌入公式可知,Vx的奇偶性和LN′是一致的,因此,提取出水印嵌入之前运动矢量分量幅值的最低有效位信息的公式为
(8)
3) 同样地,由于在水印嵌入时,嵌入公式是将Vx的奇偶性改成与当前水印位一致,因此,提取水印信息的公式为
(9)
5视频还原
视频还原可按照水印嵌入公式的逆变换进行.具体有如下2个步骤.
步骤1根据解码端的DCT系数最后一位数值和提取出来的Vx最低有效位信息,还原出原始的DCT最后一位系数值,即
(10)
步骤2无失真地恢复出原始的运动矢量的分量信息,即
(11)
6实验结果与分析
为了验证算法的有效性和性能,利用HEVC/H.265测试平台HM12.0进行仿真实验.实验中使用了5个不同的典型标准测试序列:PeopleOnStreet,Traffic,ParkScene,BQTerrace和Vidyo3.参考软件配置参数如表1所示.
表1 HM的主要参数配置
6.1水印嵌入的影响
3个测试序列在嵌入水印和进行视频还原前后的视频图像,如图1所示.由图1可知:在水印嵌入前后,人眼几乎察觉不出视频质量的变化,从主观上证明了算法满足水印的不可见性.
(a) ParkScene原始视频图像 (b) BQTerrace原始视频图像 (c) Vidyo3原始视频图像
(d) ParkScene含水印的视频图像 (e) BQTerrace含水印的视频图像 (f) Vidyo3含水印的视频图像
(g) ParkScene还原后视频图像 (h) BQTerrace还原后视频图像 (i) Vidyo3还原后视频图像图1 水印嵌入前后和视频还原前后视频图像质量对比Fig.1 Comparison of the visual quality between the original and the marked frames
5个不同的测试序列在水印嵌入前后(未经过还原模块)的RSN,2、经过还原模块的RSN,2、比特率(η)、水印容量(C)以及编码时间(t)的对比情况,如表2所示.表2中:符号“+”表示嵌入水印之后相对于原始是增加的;符号“-”表示嵌入水印之后相对于原始是降低的.
表2 对测试序列的实验结果
由表2可知:编码时间的增加量都在1%以内,说明水印的嵌入对编码时间影响很小;而RSN和码率也仅有微小的变化,从客观上证明了算法水印嵌入对视频质量影响很小.这是因为HEVC/H.265含有很多Skip/Merge编码的块,越是运动平缓的视频,其中含有的Skip/Merge编码的块越多.
统计数据如表3所示.而算法对这类块没有作任何修改,即使在修改的块中,对运动矢量分量的幅值修改量也不会超过1.因此,对视频本身的影响也较小,这也正是在运动剧烈且分辨率较高的视频序列中水印嵌入容量较大,而在运动平缓和分辨率较低的的视频中容量较小的原因.经过还原的视频RSN和原始完全一样,证明了算法的可逆性.
表3 Skip和Merge编码块所占比重
6.2完整性认证
当正确提取率(δ)小于某个阈值时,可认为完整性认证结果为“不完整”.实验中阈值设为0.999,分别使用了运动剧烈序列PeopleOnStreet、运动平缓序列Vidyo3和中等剧烈视频ParkScene 3个典型测试序列.在不同QP下含水印视频遭受攻击后的完整性认证情况,如表4所示.表4中:“True”表示认证结果为“完整”;“False”表示认证结果为“不完整”.实验验证了第2个GOP的完整性.
表4 完整性认证实验结果
由表4可知:在未遭到攻击时,算法能正确提取出水印,在遭受攻击时,水印不能被正确提取,而且正确提取率较低说明了算法在认证视频完整性方面灵敏有效.
7结论
提出了一种基于HEVC/H.265的视频可逆脆弱水印算法,算法通过从I帧提取特征码作为水印嵌入到P帧运动矢量的某个分量当中,对该分量的修改量很小,保证了视频即使通过普通解码器解码,人眼也很难察觉水印嵌入前后视频图像的差异.
利用高频DCT系数来记录修改前的信息以实现视频无失真还原.因此,通过含有还原模块的解码器,可以做到对视频质量完全无影响,在一些特定场合依然不影响视频使用.算法在RSN、比特率、编码时间及水印嵌入容量上能取得较好的折中,并且水印的脆弱性是由P帧运动矢量的脆弱性保证的,具有较高的敏感度.
参考文献:
[1]孙圣和,陆哲明.数字水印处理技术[J].电子学报,2000,8(8):85-90.
[2]李恒忠,崔建明,郭勇,等.基于HEVC/H.265视频标准的熵编码过程[J].电脑知识与技术,2013,9(14):3356-3359.
[3]COX I J,MILLER M L.The first 50 years of electronic watermarking[J].EURASIP Journal on Applied Signal Processing,2002,2002(1):126-132.
[4]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.
[5]WANG Jiaji,WANG Rangding,LI Wei.A Large-capacity information hiding method for HEVC video[C]∥3rd International Conference on Computer Science and Service System.Atlantis:Bangkok Press,2014:934-937.
[6]WANG Jing,YU Xiang.DAKE H E D,et al.Multiple sign bits hiding for high efficiency video coding[C]∥Visual Communications and Image Processing[C]∥Sandiego:IEEE Press,2012:1-6.
[7]PROFROCK D,RICHTER H,SCHLAUWEG M,et al.H.264/AVC video authentication using skipped macroblocks for an erasable watermark[J].Proceeding of SPIE Visual Communications and Image Processing.Beijing:IEEE Press,2005:1480-1489.
[8]CHUNG Kuoliang,HUANG Yonghuai,CHANG Pochun,et al.Reversible data hiding-based approach for intra-frame error concealment in H.264/AVC[J].IEEE Transactions on Circuits and System for Video Technology,2010,20(11):1643-1647.
[9]LIE W N,LIN T C,TSAI D C,et al.Error resilient coding based on reversible data embedding technique for H.264/AVC video[C]∥Proceedings of IEEE International Conference on Multimedia and Expo.Amsterdam:IEEE Press,2005:1174-1177.
[10]LIN S D,MENG H C,SU Y L.A novel error resilience using reversible data embedding in H.264/AV C[C]∥International Conference on Information, Communications and Signal Processing.Singapore:IEEE Press,2007:1-5.
[11]HUO Weijing,ZHU Yuesheng.A reversible watermarking algorithm with error-drift elimination in H.264/AVC stream[C]∥Proceedings of International Conference on Consumer Electronics,Communications and Networks.Xianning:IEEE Press,2011:2893-2896.
[12]LIN Y C,LI J H.Reversible watermarking for H.264/AVC videos[J].World Academic of Science,Engineering and Technology,2011,78:828-831.
[13]LIU Yunxia,LI Zhitang,MA Xiaojing.Reversible data hiding scheme based on H.264/AVC without distortion drift[J].Journal of Software,2012,7(5):1059-1065.
[14]ZHANG Weiwei,ZHANG Ru,LIU Jianyi,et al.A reversible fragile video watermarking for H.264/AVC[J].Journal of Electronics and Information Technology,2013,35(1):106-112.
[15]吴国桢,冯桂.一种基于H.264半脆弱视频水印方案[J].通信技术,2012,1(45):112-118.
(责任编辑: 陈志贤 英文审校: 吴逢铁)
Scheme of Video Integrity Authentication Based on Reversible Watermarking for HEVC
DONG Xiaohui, LIN Qiwei, XU Dongxu
(College of Information Science and Engineering, Huaqiao University, Xiamen 361021, China)
Abstract:An algorithm of reversible watermarking based on new video coding standard HEVC/H.265 is proposed in this paper. The proposed algorithm firstly compares the DC coefficients coefficient of contiguous two blocks in the first I frame to create an authentication code. Secondly, embed the code as watermark into P frames from the second group of pictures by modifying one motion vector component amplitude, then embed the least significant bit of the original MV amplitude into the last coefficient of the discrete cosine transformation block to restore original video. Experimental results show that the proposed algorithm has good fragility and is easily to be extracted from the video, what′s more, it can restore the video exactly.
Keywords:motion vector; discrete cosine transformation; HEVC/H.265; integrity authentication; reversible watermarking
中图分类号:TP 391
文献标志码:A
基金项目:福建省自然科学基金资助项目(2012J01275)
通信作者:林其伟(1959-),男,副教授,博士,主要从事视频编码与网络通信方式的研究.E-mail:qwlin@hqu.edu.cn.
收稿日期:2014-07-31
doi:10.11830/ISSN.1000-5013.2016.02.0190
文章编号:1000-5013(2016)02-0190-06