董晓慧,林其伟――一种基于帧内预测模式的HEVC视频信息隐藏算法.doc
一种基于帧内预测模式的 HEVC 视频信息 隐藏算法 1 董晓慧 1,林其伟 2,许东旭 3 (1.华侨大学 信息科学与工程学院,福建 厦门 361021 2.华侨大学 信息科学与工程学院,福建 厦门 361021 3.华侨大学 信息科 学与工程学院,福建 厦门) 摘要:针对最新的视频编码标准 HEVC,提出了一种基于帧内模式选择的视频信息隐藏算法。算法首先对一 幅二值图像进行 Arnold 置乱和 turbo 码编码,形成待嵌入的二值信息序列,然后结合帧内模式选择过程, 调制 I 帧亮度 16×16 CU 最优预测模式的奇偶性来实现信息隐藏。由于只在 I 帧进行信息隐藏,提取时只 需部分解码即可提取隐藏信息,无需完全解码与原始视频的参与,实时性较好。实验结果表明,本算法对 视频质量和比特率的影响较小,且能保证一定的信息隐藏容量,符合视频隐藏算法的基本要求。 关键词:视频信息隐藏;帧内预测模式;模式奇偶性;HEVC 中图分类号:TP391 文献标识码:A An information hiding algorithm based on intra-prediction modes for HEVC DONG Xiao-hui1, LIN Qi-wei2, XU Dong-xu3 (1.College of Information Science and Engineering Hua Qiao University,XiaMen 361021,China) Abstract: An information hidden algorithm based on HEVC intra-prediction modes was proposed in this paper. Firstly, the Arnold Transform and Turbo Coding method were used to get a binary information sequence to be embedded. During the process of mode selection, the information can be hidden by modulating the best prediction modes’ parity of I frame luminance block’s 1616Coding Units. Since the hidden information was only embedded in I frame, the extraction of information is not in need of original video information and only needs decoding I frame, also the real-time performance is good. Experimental results show that the RD performance of the proposed algorithm is nearly the same as original HM. Besides,the considerable capacity of information hidden can be guaranteed, so this algorithm can meet the basic requirements of video hiding algorithm. Keywords: video information hiding; intra-prediction mode; mode’s parity; HEVC 1 引言 随着网络传输技术及多媒体技术的迅速发展,各种视频已经广泛存在于我们生产和生活 的方方面面,这给人们带来了方便,然而多媒体信息安全问题也日趋严重,比如多媒体作品的 版权保护问题、作品内容的完整性认证等,而信息隐藏[1]技术是解决这些难题的有效途径之 一。此外目前的视频正向着高清分辨率甚至 4K×2K 等超清分辨率发展,现有的视频编码技 术已经远远不能满足消费者的需求[2],而 HEVC(High Efficiency Video Coding)尤其适用于 处理高清视频,因此研究基于 HEVC 的视频信息隐藏技术具有非常重要的意义。 目前视频信息隐藏算法有很多,基本上都是基于 H.264 和 MPEG 编码标准的。以往最 常见的一种方法是在 DCT 系数上嵌入隐藏信息。文献[3]通过修改 I 帧 4×4 亮度子块量化 收稿日期:2014.2.25 通信作者:林其伟(1959-),男,副教授,硕士生导师,主要研究方向:视频编码与网络通信通信方式: E-mail:qwlin@hqu.edu.cn ,联系电话邮编:361021, 基金项目:福建省自然科学基金计划资助项目(No. 2012J01275) 后的 DCT 系数中非零系数个数的奇偶性来实现水印嵌入;文献[4]通过修改 DCT 系数实现 对中低频系数能量关系调制而嵌入水印;文献[5]通过有选择的舍弃视频图像中某些区域的 部分高频 DCT 系数,形成能量差异而达到隐秘信息嵌入的目的。这类方案能够充分结合编 码器的特征和人类视觉特点,有较好的实时性和不可见性[6]。还有一种比较常见的嵌入方法 是在运动矢量(MV,motion vector)上嵌入隐藏信息。文献[7]选择在原始视频码流中提取运动 矢量幅度较大的宏块上进行隐秘信息嵌入;文献[8]综合选择在运动矢量幅值大的宏块中相 位改变小的分量上嵌入信息;文献[9]在运动矢量预测编码之后选择运动矢量幅值大的宏块 进行信息嵌入。这类方案信息嵌入容量大,并且完全不会因为隐秘信息的嵌入而降低 I 帧的 视频质量[10]。 然而由于 HEVC 较之前的 H.264 编码标准在技术上进行了大量的创新与改进。如在编 码结构方面:HEVC 将宏块的大小从 H.264 的 16x16 扩展到 64x64,同时将变换单元、编码单 元和预测单元三者分离,有利于各单元更优化的完成各自的功能。在变换方面:H.264 采用 固定大小的 DCT 变换尺寸,而 HEVC 中则是以 TU 进行变换的,其 DCT 变换尺寸可以从 4x4 到 32x32 变化,此外 HEVC 还支持 4x4 离散正弦变换(DST,Discrete Sine Transform)。在帧 内预测方面,为了节省时间、降低计算复杂度,HEVC 最优模式的选取新增了粗略模式选择 过程。而在帧间预测方面,HEVC 采用可变 PU 尺寸的运动补偿,允许 CU 通过对称地或者非对 称地划分成 PU,每个 PU 各自拥有一套运动参数。上述这些特点就决定了以往两种常用的信 息隐藏方案不可直接用于 HEVC。 本文结合 HEVC 特有的帧内预测的特点,例如 HEVC 拥有更加灵活的编码结构、更多 的预测方向、HEVC 中帧内预测时最优模式选择过程中要先经过粗略模式选择(RMD,Rough Mode Decision)操作等,提出了一种基于 HEVC 帧内预测模式修改的视频信息隐藏方案。 2 HEVC 帧内预测 2.1 HEVC 帧内编码单元结构 HEVC 沿用了 H.264 的混合编码框架[11],通过帧间预测编码和帧内预测编码消除时域 空域的相关性。然而 HEVC 没有继续沿用之前的“宏块”这一概念,而是使用了“编码单 元”(CU,Coding Unit)作为基本的编码结构。CU 的尺寸可以从 8×8 到 64×64,而且 CU 的大小和图像的特性是自适应的,在图像比较平缓的区域,选择较大的 CU,而在图像边缘 或纹理复杂的区域,选择较小的 CU,这样有利于提高编码效率。一个 CU 可以包含一个或 者 多 个 PU (Prediction Unit) , PU 是 进 行 预 测 运 算 的 基 本 单 元 , 对 于 一 个 帧 内 N × N ( N {64,32,16})的 CU,PU 尺寸只能为 N×N,而对于 N=8 的 CU,PU 有两种尺寸:8×8 或 4×4。 2.2 HEVC 帧内预测 帧内预测从在 H.264 中被使用,证明可以去除相邻块之间的空间冗余,取得更为有效地 压缩,而 HEVC 的帧内预测技术[12]是 H.264 帧内预测过程的扩展和深入:HEVC 在 H.264 基础上增加了帧内预测方向的个数,相比于 H.264 的 9 种帧内预测方向,HEVC 共有 35 种预 测模式,分别是 DC 模式、planar 模式和 33 种角度预测模式,这使得预测方向更加细化, 从而使帧内预测结果更加精确,能够更有效的减少冗余。 如图 1 所示,HEVC 中每个 PU 的最优预测模式需在包括模式 2~34 之间的 33 种角度预 测模式以及 planar 和 DC 模式共 35 种预测模式之间进行拉格朗日率失真优化(RDO,Rate Distortion Optimization)计算,并在比较各个率失真代价(RDcost)后,最终选取最小代价对 应的模式作为最优的预测模式,可见其计算复杂度相当大。因此,为了降低编码器的计算复 杂度,HEVC 首先进行粗略模式选择(RMD)处理,即对 35 种预测模式分别求其对应的哈达 玛代价,从中选出 N 个代价最小的模式,并考虑了当前 CU 的最可能的模式(MPMs,Most Probable Modes), 接着对这可能的 N 到 N+3 个候选模式进行 RDO 计算,从中选出最优的预测 模式。 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 17 16 15 14 13 12 11 10 9 8 0:intra planar mode 1:intra DC mode 7 6 5 4 3 2 图 1 HEVC 帧内预测方向 Fig.1 Modes and directional orientations for intrapicture prediction 3 待嵌入信息预处理 3.1 Arnold 置乱 本文采用 32×32 的二值图像作为待嵌入信息,如图 2 所示。 Arnold 变换是俄国数学家 Vladimir I.Arnold 提出的一种变换,一幅 N×N 的数字图像的二 维 Arnold 变换定义为: x' 1 1 x (1) mod N y' 1 2 y 其中 x,y∈{0,1,2,…,N-1}表示变换前像素的位置,x′,y′表示变换之后的像素位置,mod 为 模运算。数字图像可以看为一个二维矩阵,经过 Arnold 变换之后图像的像素位置会重新排列, 降低图像的相关性[13],从而达到提高信息安全性的目的。Arnold 置乱在经过若干次迭代之 后,矩阵会回到最初的状态,从而还原出原始图,且周期的大小与 N 有关。对任意的 N(N>2),Arnold 变换的周期为 TN N 2 / 2[14] ,对待嵌入图像进行 Arnold 置乱以后的图像如图 3 所示: 图 2 待嵌入图像 Fig.2 Picture to be embedded 图 3 Arnold 置乱图像 Fig.3 Arnold transform image 3.2 turbo 码编码 turbo 码的最大特点在于它通过在编译码器中交织器和解交织器的使用,有效地实现随 机性编译码的思想,通过短码和长码的有效结合,达到距香农理论极限在 0.7dB 以内的极好 性能。一般来说,编码后的视频序列传送到解码端的过程中会遭受各种各样的干扰,如果在 视频编码端嵌入信息,那么由于干扰,在解码端很可能造成提取到的信息位产生错误,从而 影响对隐藏信息提取的正确性。为了降低这种影响,本算法还采用 turbo 码对置乱后的二值 信息序列进行编码,这主要是由于 turbo 码具有纠错功能。这样,即使提取端出现错误提取, 只要错误是在 turbo 码的纠错范围之内,还是能够恢复出正确的隐藏信息的。 虽然 turbo 编解码耗时较多,但是本文中使用的 turbo 码编码是在隐秘信息的预处理阶 段进行的,而预处理阶段的计算复杂程度并不影响嵌入算法的复杂度和实时性。同样的,在 解码端,turbo 码解码也是在全部提取出嵌入信息之后进行的,而不是在视频解码器中,因 此也不会影响算法的实时性。 4 隐秘信息的嵌入 根据人眼视觉系统的特性,人眼对视频图像中纹理较复杂和亮度较高的区域敏感性较差 [15],而 HEVC 编码标准中,图像比较平坦的区域选择较大的 CU,在图像边缘或纹理复杂 的区域选择较小的 CU。而最小的8×8 CU 对应的 PU 大小有两种可能的大小, 其他尺寸的 CU 对应的 PU 只有一种大小。为了使算法更加简化,并且保证隐藏信息的不可见性,本算法折 中选择在16×16 CU 中嵌入隐秘信息。为了操作方便,本算法以预测模式的奇偶性进行操作: 模式信息为 { 2,4,6,...,30 }对应“0”,模式信息 { 3,5,7,...,31 }对应“1”,这里不考虑模式0 和1 ,首先是因为它们都是用在纹理比较平滑的区域[16],其次统计分析表明,选中模式0和 1的概率很高,若强制改为其它模式,势必导致较大的率失真性能损失。 4.1 隐秘信息嵌入过程 二值待嵌入信息序列为 W { i |i 1,2, , M , i {0,1}},信息的嵌入是在 HEVC 的 I 帧编码过程中进行的,具体步骤如下: Step1在 I 帧中从第一个编码树单元(CTU,Coding Tree Unit)开始,找出其中尺寸为 16×16 的 CU。 Step2 利用率失真开销函数计算出当前 16×16 PU 的最优预测模式 best_pm。 Step3 如果最优预测模式 best_pm 为 0 或 1,则跳过当前 PU,不进行隐秘信息嵌入;如 果 best_pm 不为 0 或 1 ,则按照下面规则修改:如果 best_pm 的奇偶性与当前待嵌入信息位 一致,则保持 best_pm 不变;如果不一致,就用 sub_pm 代替 best_pm。由于 HEVC 模式选 择过程中是先进行 RMD 选出几种模式,再进行这几种模式的率失真计算得到最优预测模式。 为了保证模式修改前后的奇偶性一定不同,sub_pm 如下设置:如果 best_pm 奇偶性与次优 模式(即 RDcost 第二小的模式)奇偶性不同,sub_pm 就为次优模式;如果相同,sub_pm 就为 best_pm 两侧相邻的两个模式中 SATD(Sum of Absolute Transformed Difference)较小的 那个模式。对于嵌入过程,可用下式表示: sub_ pm if (best_ pmmod2 i ) wm_ pm best_ pm if (best_ pmmod2 i ) (2) 其中, wm_ pm为嵌入隐秘信息后 PU 的预测模式, i 为当前 PU 对应的待嵌入信息位。 Step4 遍历所有的 CTU,直到待隐藏信息全部嵌入完成。 4.2 隐秘信息提取过程 隐秘信息提取是嵌入的逆过程,本算法只需解码含隐秘信息的视频码流中的帧内亮度预 测模式即可,不需要提供原始视频,为盲提取,步骤如下: Step1:对含有隐秘信息的视频码流进行部分解码,得到 I 帧 16×16 CU 的所有亮度块的 预测模式信息。 Step2:判断预测模式的奇偶性进行信息提取(模式 0,1 除外,如果解码出来的模式为 0 或者 1,就跳过当前 PU),提取过程可用下式表示,其中 i ' 为提取的隐秘信息位, de_ pm 为解码得到的 16×16 CU 的预测模式: 0 if de_ pmmod2 0 1 if de_ pmmod2 0 i ' (3) Step3:重复上述步骤,直到隐秘信息提取完毕或者视频码流结束。 Step4:把提取出来的信息进行 turbo 码解码和 Arnold 反置乱,这样就可以还原出原始的 隐秘信息。 5 实验分析 为了验证该算法的有效性和性能,本文利用 HEVC 测试平台 HM12.0 进行仿真实验, 实验中使用了 5 个不同分辨率的标准测试序列:PeopleOnStreet, Traffic,ParkScene,BQTerrace 和 Vidyo3,参考软件配置参数如图表 1 所示,其余参数均采用默认配置。 表1 Table 1 HM 的主要参数配置 Configuration parameters of the HM Parameters Configuration Profile encoder_intra_main Sequence type “I PPP I ...” Frames to be encoded 40 Frame rate/fps 30 Intra period 4 QP(Quantization Parameter) 20 FrameSkip 0 RD optimization 1:on 5.1 嵌入信息对视频质量及码率的影响 图 4 为 5 个测试序列在嵌入隐秘前后的视频图像。其中图像 a 表示五个测试序列的原始 图像,图像 b 为嵌入秘密信息后重建的视频图像。 a.原始视频图像 b.含隐藏信息的视频图像 图4 信息隐藏前后视频图像质量对比 Fig.4 Comparison of the visual quality between the original and the marked frames 从上图可见,在隐秘信息嵌入前后,视频质量基本没有变化,主观上证明了该算法的隐 秘信息满足不可见性。表 2 列出了 5 个不同测试序列在信息隐藏前后的 PSNR、比特率以及 编码时间的对比情况,其中符号“+”表示嵌入隐藏信息后相对于原始是增加的,符号 “-”表示嵌入隐藏信息后相对于原始降低。从表中可以看出 PSNR 和码率仅有非常微小的 变化,从客观上证明了隐秘信息的嵌入对视频影响很小,并且编码时间的增加量也在合理范 围内,这是由于本算法中编码时间的增加量主要取决于最优预测模式和当前信息位不一致的 块的个数多少。实验结果表明本文算法对于编码视频的率失真性能损失几乎可以忽略不计。 表 2 对测试序列的实验结果 Table 2 The experimental result for test sequence 测试序列 PSNR(dB) 码率(%) 容量(bit) PeopleOnStreet +0.0002 +0.14 4385 +0.45 Traffic -0.0004 +0.15 4032 +0.73 ParkScene -0.0012 +0.07 1695 +0.92 Vidyo3 -0.0001 +0.45 1025 +0.64 BQTerrace +0.0006 +0.05 676 +1.07 编码时间(%) 6 结论 本文提出了一种基于帧内预测模式的 HEVC 视频信息隐藏算法,通过修改 16×16 PU 最优预测模式来实现信息隐藏,算法操作简单、提取方便,对于一般视频,提取时不需要对 视频码流进行完全解码,只需要解码出 I 帧 16×16 CU 亮度预测模式即可。实验结果表明, 该算法在嵌入隐秘信息之后,视频的主客观质量较原始视频基本没有变化,比特率的增加量 也很小,略有不足之处是本算法在视频选择上还有一些局限性,对于纹理复杂和分辨率较高 的视频信息隐藏容量更大,效果也更好,而对一些纹理平坦并且分辨率又低的视频容量较小, 因此下一步的工作将是研究如何进一步提高本算法的视频信息隐藏的容量。 参考文献 [1]ZHAO Y,LI Z,DONG Y.Reversible data hiding based on sorting and histogram modification[J]. Journal of Optoelectronics.Laser,2010,1:028. [2]李恒忠,崔建明,郭勇,等.基于 HEVC 视频标准的熵编码过程[J].电脑知识与技术,2013, 14: 053. [3]申金媛,胡青云,刘润杰,等.一种基于 H.264 压缩域的鲁棒性视频水印算法[J].郑州大学学报 (工学版, 2013, 34(5). [4]刘雅宁. 压缩域视频水印技术研究[D]. 西安电子科技大学, 2007. [5]张承乾. 视频信息隐藏分析研究[D]. 天津大学, 2009. [6]张维纬,张茹,刘建毅,伍淳华,钮心忻,杨义先.一种基于 H.264/AVC 的视频可逆脆弱水印算法[J]. 电子与信息学报,2013,1(35):106-112. [7]Zhuo Zhao,Nenghai Yu,Xuelong Li,A novel video watermark scheme in compressed domain based on fast motion estimation,Proceedings of ICCT2003,2003:1878-1882 [8]Jun Zhang,Maitre.H,Jiegu Li,Ling Zhang.Embedding watermark in Mpeg video sequence,Multimedia Signal Processing,2001 IEEE Fourth Workshop ,2001:535-540 [9]Yuanjun Dai,Lihe Zhang,Yixian Yang,A New Method of MPEG Video Watermarking Technology, Processings of ICCT2003,2003:1845-1847 [10]陈志玉. 压缩视频安全方法研究[D]. 南京邮电大学, 2013. [11]刘昱,胡晓爽,段继忠. 新一代视频编码技术 HEVC 算法分析及比较[J].电视技术,2012, 36(20): 45-49. [12]LAINEMA J , BOSSEN F , HAN Woojin , et al . Intra Coding of the HEVC Standard [ J ] IEEE Transaction on Circuits and Systems for Video Technology,2012,22( 12) : 1792-1801. [13] 李 丽 丽 , 孙 劲 光 .SITF 特 征 区 域 Contourlet 域 遥 感 图 像 水 印 算 法 [J]. 信 号 处 理 , 2012,9 (28):1254-1261. [14] 张 春 森 , 范 金 健 , 胡 平 波 . 小 波 变 换 和 Arnold 变 换 的 数 字 水 印 技 术 [J]. 西 安 科 技 大 学 学 报 , 2012,1(32):95-100. [15]吴国桢,冯桂.一种基于 H.264 半脆弱视频水印方案[J].通信技术 2012,1(45):112-118. [16] 朱 秀 昌 , 李 欣 , 陈 杰 . 新 一 代 视 频 编 码 标 准 ——HEVC[J]. 南 京 邮 电 大 学 学 报 ( 自 然 科 学 版 ) ISTIC,2013,33(3). 董晓慧,15880295183,825464835@qq.com