计算机应用   2017, Vol. 37 Issue (10): 2806-2812  DOI: 10.11772/j.issn.1001-9081.2017.10.2806
0

引用本文 

陈甬娜, 周宇, 王晓东, 郭磊. 基于菱形编码的视频信息隐藏算法[J]. 计算机应用, 2017, 37(10): 2806-2812.DOI: 10.11772/j.issn.1001-9081.2017.10.2806.
CHEN Yongna, ZHOU Yu, WANG Xiaodong, GUO Lei. Video information hiding algorithm based on diamond coding[J]. Journal of Computer Applications, 2017, 37(10): 2806-2812. DOI: 10.11772/j.issn.1001-9081.2017.10.2806.

基金项目

国家自然科学基金资助项目(U1301257);国家科技支撑计划项目(2012BAH67F01)

通信作者

周宇,E-mail:zhouyu@nbu.edu.cn

作者简介

陈甬娜(1992-), 女, 浙江台州人, 硕士研究生, 主要研究方向:视频/图像处理、信息隐藏;
周宇(1960-), 男, 山东威海人, 教授, 硕士, 主要研究方向:网络多媒体通信、信息安全;
王晓东(1970-), 男, 浙江绍兴人, 教授, 硕士, 主要研究方向:网络通信、视频/图像处理;
郭磊(1993-), 男, 江苏赣榆人, 硕士研究生, 主要研究方向:网络通信、视频/图像处理

文章历史

收稿日期:2017-04-10
修回日期:2017-06-29
基于菱形编码的视频信息隐藏算法
陈甬娜, 周宇, 王晓东, 郭磊    
宁波大学 信息科学与工程学院, 浙江 宁波 315000
摘要: 针对基于视频帧内预测模式调制的信息隐藏算法嵌入容量较小、比特率上升较明显等问题,提出一种基于菱形编码的帧内视频信息隐藏算法。该算法基于高效视频编码(HEVC),将相邻两个4×4块预测模式组成模式对,采用改进的菱形编码算法指导模式调制和信息嵌入过程;并采取二次编码方式在保留原始平台最优编码划分下进行第二次隐秘信息嵌入编码,在保证嵌入量的同时抑制帧内失真漂移。实验结果表明:所提算法峰值信噪比(PSNR)值下降在0.03dB以内,码率增长低于0.53%,嵌入量有大幅提升,并能很好地保证视频主客观质量。
关键词: 菱形编码    信息隐藏    高效视频编码    帧内预测    失真漂移    
Video information hiding algorithm based on diamond coding
CHEN Yongna, ZHOU Yu, WANG Xiaodong, GUO Lei     
College of Information Science and Engineering, Ningbo University, Ningbo Zhejiang 315000, China
Abstract: Aiming at the problems of limited hiding capacity and obvious increasing bit rate in the existing hiding solutions, an intra-frame video information hiding algorithm based on diamond coding was proposed. Firstly, based on High Efficiency Video Coding (HEVC), two prediction models of adjacent 4×4 blocks were combined into a pattern pair, then the improved diamond coding algorithm was used to guide pattern modulation and information embedding. Next, the embedding coding for hidden informtion was done for second time with keeping the optimal coding division, thus ensuring the embedding quantity and eliminating intra frame distortion drift. The experimental results show that the Peak Signal-to-Noise Ratio (PSNR) is reduced by less than 0.03dB and the bit rate is increased by less than 0.53% by using the proposed algorithm, while the embedding capacity is greatly improved, and both the subjective and objective qualities of the video are well guaranteed.
Key words: diamond coding    information hiding    High Efficiency Video Coding (HEVC)    intra prediction    distortion drift    
0 引言

随着大数据时代的来临和“互联网+”技术的蓬勃发展, 数字化多媒体信息的应用越来越普及, 信息安全问题日益突出, 信息安全技术也迎来了更多的挑战。根据其研究的侧重不同, 信息安全技术可分为信息加密和信息隐藏两大关键技术, 其中信息加密技术由于密文和明文形式的截然不同, 极易引起攻击者注意, 并且随着现代计算机技术的发展, 暴力破解已成为可能; 而信息隐藏技术隐蔽了信息存在性, 并可在公开网络环境或其他非秘密信道中传输来达到版权保护和秘密通信的目的[1], 更有助于遏制数字化多媒体的非法使用, 因此成为了信息安全领域的研究热点。

同时, 数字化多媒体的庞大数据量以及视频占用网络带宽的巨大份额, 使得视频压缩技术不断更新, 新一代高效视频编码标准(High Efficiency Video Coding, HEVC)相对于上一标准将压缩效率提高了1倍[2], 其高效的压缩性能和并行化处理能力使其在高清、超高清等视频应用领域发挥了重要作用。因此基于压缩域视频的信息隐藏算法一度成为国内外学者的研究热点, 根据隐秘信息的嵌入位置不同可分为基于预测模式、离散余弦变换(Discrete Cosine Transform, DCT)系数、运动矢量、语法元素码字的信息隐藏方案等[3], 下面主要针对帧内信息隐藏算法进行介绍。

基于DCT系数的信息隐藏方案中, 文献[4]最早采用直方图漂移法, 指导修改每个4×4子块最后一个非零量化DCT(Quantized DCT, QDCT)系数进行水印信息嵌入, 该算法对码率影响较小, 但在解码端解码含水印视频时, 嵌入水印子块所引起的误差将会传播到邻近子块, 造成误差累积, 从而影响视觉感知质量。文献[5]深刻分析了视频编码过程, 提出了消除帧内误差传播需要满足的条件, 保证参考像素值的无失真, 从而有效抑制帧内误差传播。文献[6]针对HEVC平台提出消除帧内误差传播的水印嵌入模型, 筛选满足条件的系数块, 采用“和不变”方法[7]自适应地将水印嵌入到量化离散正弦变换(Quantized Discrete Sine Transform, QDST)系数中, 可保证较小的码率增长。但该算法为消除帧内误差传播, 不对包含后续块参考像素的预测单元(Prediction Unit, PU)进行修改, 使得符合条件的PU块数量急剧下降;同时为减小失真, 只可修改中高频系数, 从而实现嵌入1 bit水印信息, 总体嵌入量不高。

在基于帧内预测模式调制的算法中, 文献[8]采用纹理复杂度算子局部二值模式(Local Binary Patterns, LBP)对8×8亮度块进行筛选, 并通过复杂度算子阈值来选择嵌入块以及实现对嵌入容量的控制, 调制帧内4×4亮度块预测模式为与隐秘信息奇偶性相匹配的模式中率失真代价值最小的预测模式, 来实现信息隐藏。文献[9]将帧内4×4亮度块33种角度预测模式映射成角度值, 将各预测模式间的角度差值与待嵌入的隐秘信息进行分组映射, 调制该模式间角度差进行信息嵌入, 由于分组粗糙步进较大, 部分最优模式调制至非次优模式, 使得引入编码失真较大。文献[10]在此基础上进行改进, 将角度差值进行细分, 提出基于多角度预测模式差值的视频信息隐藏算法, 减小了失真并适当提升了嵌入量。为进一步提高隐秘信息的嵌入量, 文献[11]通过统计大量视频序列的特征, 指导帧内预测模式分组, 并与哥伦布算法相结合, 实现调制一个预测模式便能嵌入2 bit隐秘信息的大容量信息隐藏算法;但该算法未对待嵌入块进行筛选, 使得模式调制量较大, 重建视频整体比特率上升较明显。

针对以上基于帧内预测模式调制的信息隐藏算法存在失真漂移现象、比特率上升较明显和数据嵌入量较小等问题, 本文充分研究了HEVC帧内预测编码技术, 提出了一种基于菱形编码算法的信息隐藏算法。为提升隐秘信息嵌入量, 本文将嵌入操作放至二维空间, 将连续两个编码块的帧内预测模式组成待嵌入模式组, 采用改进的菱形编码算法, 调制纹理复杂度高的4×4亮度块预测模式, 使得最多调制一个模式可嵌入2~3 bit隐秘信息。为保证在嵌入量相同的情况下, 降低模式修改量从而减小失真, 本文采取二次编码形式, 第一次编码保留原始平台编码块划分方式, 并获取次优模式以及变换量化后各率失真代价值; 第二次对符合条件的编码块进行信息嵌入与调制重编码, 并结合快速算法思想进行快速嵌入操作, 保证无帧内失真漂移。实验结果表明, 本文算法在比特率上升不明显的情况下, 嵌入量有较大提升, 并能很好保证视频主客观质量。

1 HEVC帧内编码技术 1.1 帧内编码块划分以及预测编码机制

HEVC采用了与H.264相似的混合编码结构, 但几乎在每一编码环节都进行了改进[12]。在帧内预测编码中, 摈弃了原先固定宏块划分方式, 创新性地提出了编码单元四叉树的递归分割技术, 编码单元变化范围为8×8至64×64, 规定最大编码单元(Largest Coding Unit, LCU)规格为64×64, 深度为0, 往下逐层划分, 深度值逐层加一。同时引入预测单元(Prediction Unit, PU)和变换单元(Transform Unit, TU), 这三种单元的独立分离, 使得编码块的划分更加符合视频本身内容的纹理特征, 增强了编码的灵活性,提高了压缩编码效率。编码单元(Coding Unit, CU)、PU和TU单元的关系如图 1所示。

在帧内编码中, 首先将视频帧划分为不重合的LCU块, 各LCU之间按光栅扫描顺序逐个编码, 在LCU内部则按Z扫描顺序对各个深度的CU以及对应PU块进行遍历预测:在非最大深度CU中, PU尺寸与CU相同, 即按2N×2N方式划分; 当完成最大深度CU的预测后, PU按2N×2NN×N两种方式分别进行预测编码。

帧内预测编码旨在压缩视频空域上的冗余, 根据视频帧中相邻像素具有很强的空间相关性, HEVC在编码当前块时, 通过相邻已编码像素点进行预测编码, 其中根据预测模式不同, 分别选取待编码块相邻已编码的左侧边界、上侧边界、左下方边界和右上方边界的像素值作为参考。因此, 当边界参考像素值存在误差时, 则会通过该预测编码过程使得误差在帧内进行漂移传播, 从而影响整体视频帧质量。同时HEVC的帧内预测模式增加至35种, 其中包括33种角度预测模式(编号2到34) 和两种非角度预测模式(编号0的Planar和编号1的DC模式), 使得预测更加精确。在每个独立的LCU中, 当遍历完最大深度的CU和对应的35种预测模式后, 将采用1.2节的模式选择机制, 将当前预测最优结果与上一深度划分方式进行率失真代价比较, 从而确定最终的CU块划分方案以及对应的PU预测模式。

图 1 CU、PU、TU的关系 Figure 1 Relationship among CU, TU and PU
1.2 帧内预测模式选择机制

预测模式的扩展提高了HEVC帧内预测编码的效率, 同时也使得编码复杂度急剧上升。为降低计算复杂度, HEVC测试软件采用一种较为简便的帧内模式快速选择算法[13], 以亮度为例, 首先进行模式粗选粗略模式决策(Rough Mode Decision, RMD), 对每块PU遍历所有预测模式, 并对预测块与原始块的残差使用哈达玛变换, 计算其绝对差值求和(Sum of Absolute Transformed Difference, SATD)值, 如下所示:

$STAD = \frac{1}{2}(\sum\limits_{i,j} {\left| {DiffT(i,j)} \right|} )$ (1)
$T(\mathit{\boldsymbol{D}}) = \mathit{\boldsymbol{HDH}}$ (2)

其中:H为哈达玛变换矩阵, 在HEVC中一般采用4阶矩阵和8阶矩阵来计算残差值; D为输入矩阵。此时定义每个模式RMD预测的总代价HC为:

$HC = SATDpre + \lambda \times R$ (3)

其中:STADpre是预测块与原始块的SATD值; λ是拉格朗日乘子; R是使用该模式编码的比特率, 通过RMD降低最优模式搜索范围[14]。遍历35种预测模式后, 根据PU的尺寸选择其HC最小的N个模式作为候选模式集MC, 随后进行第一次率失真优化和TU变换(先不进行下层TU划分)。其中TU是对预测残差进行变换和量化操作的基本单元, 并且编码失真也主要集中于该变换量化阶段, 定义其率失真代价码率控制(Rate Control, RC)为:

$RC = SSDrec + \lambda \times R$ (4)

其中:SSDrec是使用该对应最有可能模式(Most Probable Mode, MPM)编码的重建块与原始块的残差值, 最小RC对应的模式即为帧内预测最佳模式。最后对该最佳模式进行第二次率失真优化, 该过程对TU进行下层递归划分, 同时根据两者RC值的比较, 以确定率失真代价最小的划分方式。因此最优TU划分方式下的变换量化第二次率失真优化结果更加精确, 对于本文算法中的二次编码嵌入过程更具指导意义。

2 本文的信息隐藏算法 2.1 预测模式相关性探究

文献[15]在分析H.264的9种帧内预测模式方向特性时曾指出, 相邻预测模式间具有相近预测方向, 模式相关性较强。而HEVC将预测模式细分为35种, 相邻两个角度模式之间角度差值仅为π/32。文献[16-17]将候选模式进行分组, 通过实验测试得出, 同组候选预测模式具有彼此方向相邻的特点, 对于planar模式和DC模式, 在当前预测块没有明显纹理方向特征, 而具有均匀平滑的图像特性时, 此两种非角度模式的选择概率较高。本文采用统计分析思想, 选取HEVC标准库中BasketballDrive、vidyo1和PeopleOnStreet等6个高分辨率视频序列, 统计96帧内各最优预测模式所对应的次优预测模式平均分布情况如表 1所示。

表 1 局部次优模式分布情况 Table 1 Local sub-optinal distribution

统计其对应各次优模式的概率分布情况, 选择概率最大的四个模式分别为SM1~ SM4(其中模式SM1选中的概率最大)。由以上统计规律可知, 相邻方向的预测模式成为次优预测模式的概率很高, 因此采用相邻预测模式来替代当前最优预测模式只会产生较小失真和比特率上升。

2.2 嵌入区域的选择

根据人类视觉系统(Human Visual System, HVS)的特性, 即人眼对于视频图像和灰度的敏感特性, 人的视觉系统对图像平滑区域的改变非常敏感, 视觉阈值较低; 而对图像纹理较复杂区域的改变不是很敏感, 视觉阈值较高, 称为纹理掩蔽效应[18], 因此可将隐秘信息嵌入图像高纹理区域而不引起较大的视觉失真感知。在HEVC帧内编码中, 预测编码单元大小变化范围为4×4至64×64, 大尺寸的分块方式适合于视频图像中较平滑、纹理复杂度相对较低的区域, 而小尺寸分块通常包含边缘纹理信息, 图像细节较丰富, 纹理复杂度高。因此,本文参照文献[11]的嵌入块选择方法,选取纹理复杂度较高的帧内4×4块进行隐秘信息的嵌入。

2.3 消除帧内失真漂移

HEVC视频编码标准采用预测编码方式, 即当前块的像素值先通过相邻已编码重建像素值进行预测, 并将预测残差值进行编码传输, 以达到编码压缩的目的。而基于帧内编码的信息隐藏算法通过调制预测模式或修改DCT系数进行隐秘信息的嵌入, 若不进行特殊处理, 将会使得帧内编码块在后阶段的预测编码过程中发生误差累计和扩散, 形成失真漂移, 从而导致严重的视频帧失真。

文献[19]选用无失真传递的DCT/DST模板, 即对于参加后续相邻块预测的参考像素值不进行变换, 无需对后续块进行重编码从而阻断误差传播。文献[10]等算法采用部分重编码, 将4个4×4 PU块的率失真代价值和上层分块方式进行比较来指导隐秘信息的嵌入, 确定模式调整后进行4×4 PU块模式的重编码。但此时需注意, HEVC编码需递归回至深度为0的CU块时才能确定最终划分方式, 当一个LCU内含边缘以及纹理区域时, 往往包含多个可划分为4×4的预测块, 此时针对单一块的率失真比较, 需确定其他块的划分以及模式选择情况, 并且确定模式调制后可能影响后续块的划分, 因此难以动态进行部分重编码来彻底消除帧内误差漂移现象。基于该问题, 本文采用二次编码方式, 针对每个LCU均连续进行两次编码:第一次编码直接采用平台的最优编码划分方式, 获取各CU最优划分深度以及对应PU块最优和次优预测模式的率失真代价值, 该值为遍历各划分方式后递归至最小深度时所得, 指导二次编码以及隐秘信息的嵌入更加精确。第二次编码采用快速编码算法思想, 读取当前编码像素范围对应的最优划分深度, 在进行LCU四叉树划分的过程中, 直接跳过其他深度CU的预测编码和率失真优化过程, 选择对应当前块的划分深度进行全LCU重编码, 同时对满足要求的4×4块进行模式调制和重编码, 保证了无帧内失真漂移。实验结果表明, 在确定深度划分方式下进行二次重编码可消除帧内失真漂移, 使得编码重建视频具良好主客观质量。

2.4 菱形编码算法

菱形编码(Diamond Encoding)是Chao等[20]在2009年提出的一种基于灰度图像的隐写算法, 并将隐秘信息值嵌入原始图像像素空域中, 之后经Hong等[21]改进可实现任意进制隐秘信息的嵌入, 但在一定程度上加大了失真。本文基于以上菱形编码原理, 将其改进应用于指导预测模式调制过程, 组成嵌入模式对, 并将嵌入操作放至二维空间, 使得修改一个预测模式可嵌入2~3 bit隐秘信息, 具体算法介绍如下。

记连续的两个4×4块的帧内预测模式为pq, 菱形编码参数为一正整数k, 通过k值可选择嵌入深度以及进行失真控制, Sk(p, q)代表了距离预测模式对(p, q)不大于k值的二维区域, 具体表示如下:

${S_k}(p,q) = \{ (a,b)||p - a| + |q - b| \le k\} $ (5)

图 2所示:图(a)和(c)分别为菱形编码参数k=1, 2情况下的区域示意图; 图(b)和(d)为相应的距离差模型示意图。

图 2 菱形编码区域以及距离差模型示意图 Figure 2 Schematic diagram of diamond coding region and distance difference model

用|Sk|或l表征Sk区域内元素个数, 即预测模式对(p, q)所能嵌入的最大进制数为:

$\begin{array}{l} l = |{S_k}| = \left( {\sum\limits_{i = 0}^k {(2i + 1)} } \right) + \left( {\sum\limits_{i = 1}^k {(2i - 1)} } \right) = \\ 2{k^2} + 2k + 1 \end{array}$ (6)

通过菱形函数来计算菱形特征值(Diamond Characteristic Value, DCV):

$f(p,q) = ((2k + 1) \times p + q)\bmod l$ (7)

此时该菱形特征值具备两个重要性质:

1) 预测模式对菱形特征值取值范围为0~l-1;

2) Sk区域内任意两个像素对的菱形特征值互不相同。

上述性质保证了菱形特征值映射以及译码的唯一性。将待嵌入的信息根据l进制长度进行划分后, 用Ek∈{0, 1, …, l-1}表示, 此时建立预测像素的菱形特征值f(p, q)与待嵌入信息Ek之间的距离差模型Dk, 并且每个距离模型均包含了互不重叠的模距离dk:

${d_k} = (f(p,q) - {E_k})\bmod l$ (8)

通过搜寻相应的距离差模型, 查找与当前模距离dk对应的预测模式对(p′, q′), 使得其菱形特征值f(p′, q′)与待嵌信息Ek相等, 并替换(p, q)。而此时隐秘信息的提取即可直接通过变换后的相邻预测模式值(p′, q′)进行无失真提取:

$f(p′,q′) = [(2k + 1) \times p′ + q′]\bmod l$ (9)

本文为了保证视觉失真的不可感知性以及重建视频质量, 选用失真深度k=1, 此时预测模式对(p, q)最多可一次嵌入5进制(0~4) 隐秘信息。若每次嵌入2 bit信息, 则该菱形算法的距离差模型冗余1, 因此考虑每两个预测模式嵌入3 bit信息, 其中0~4可直接采用3 bit嵌入;而如遇101、110、111则选择对其前2 bit进行嵌入, 为防止解码端误解, 传送比特标志位flag, 0代表嵌入2 bit, 1代表嵌入3 bit。其中位置指示信息与标志位一同编码组成公共密钥, 嵌入修改规则如下:

${d_1} = \left\{ {\begin{array}{*{20}{l}} {0,\quad (p{\rm{'}},q{\rm{'}}) = (p,q)}\\ {1,\quad (p{\rm{'}},q{\rm{'}}) = (p,q + 1)}\\ {2,\quad (p{\rm{'}},q{\rm{'}}) = (p - 1,{\rm{q}})}\\ {3,\quad (p{\rm{'}},q{\rm{'}}) = (p + 1,q)}\\ {4,\quad (p{\rm{'}},q{\rm{'}}) = (p,q - 1)} \end{array}} \right.$ (10)

译码端隐秘信息的提取可采用调制后的预测模式对(p′, q′)进行直接解码, 当解码十进制值为0、1、4时可直接进行3 bit隐秘信息映射提取; 当解码十进制值为2或3时, 读取比特标志位flag进行映射提取。

以上改进的菱形算法可以保证一个预测模式对, 在最大模式改变量为“±1”的情况下嵌入2~3 bit隐秘信息, 但存在调制后预测模式上溢以及下溢问题, 即对于模式34, 若嵌入操作为“+1”则会出现模式上溢; 对于模式0, 若嵌入操作为“-1”则会出现模式下溢, 该种情况下取其次优预测模式进行替换并调制。经大量实验测得, 若不控制模式修改数量可实现超大容量的信息嵌入, 但将导致比特率增长过快, 较易引起隐写分析算法的注意以及带宽损耗, 因此本文对预测模式修改量进行限制, 对于连续的4个4×4块仅允许修改一个模式进行隐秘信息的嵌入。具体示例如下:

假设读取连续4个4×4块最优预测模式为{12, 6, 8, 0}, 对应次优模式分别为{0, 7, 9, 1}, 按序读入对应隐秘信息为10000, 先计算得E1=2(10), E2=0(000)。针对第一个预测模式对{12, 6}计算其菱形特征值DCV1=2=E1, flag写入0, 无需进行模式调制便可直接进行嵌入; 针对第二个预测模式对{8, 0}, 计算得DCV2=4, 对应模距离dk=4, 需将模式{8, 0}调制至{8, -1}, 此时出现模式下溢情况, 选用次优模式进行替代计算{8, 1}, 更新菱形特征值DCV2=0=E2, 则最终模式为{8, 1}。考究其总修改量为1则保留调制操作, 按序写入位置信息1以及标志位0作为公共密钥。

同理解码端隐秘信息提取操作, 当解码4×4 PU块时, 读取密钥中位置信息1, 则进行信息提取, 此时预测模式为{12, 6, 8, 1}。针对第一个预测模式对{12, 6}, DCV1=2, 读取密钥中flag=0, 映射得隐秘信息为10;针对第一个预测模式对{8, 1}, DCV2=0, 直接解码得隐秘信息为000。

2.5 隐秘算法的实现

本文算法在保留一次编码CU块划分方式的前提下, 进行相应预测模式调制和隐秘信息嵌入。同时为了控制比特率增长, 本文将连续4个4×4 PU块模式的总改变量限制为2以内, 即只可将其中一个预测模式进行“±1”调制, 或者只可将其中一个预测模式采用次优模式进行替代。

2.5.1 嵌入算法

Step1 获取隐秘信息集DATA

Step2 读取LCU块并进行原始平台第一次编码, 获取该LCU内各CU分块最终的划分深度映射表Depth

Setp3 进行二次编码, 读取当前CU块, 根据当前CU编码像素范围获取映射划分深度Depth, 采用编码快速算法跳过其他深度划分, 直接进行映射深度的预测编码。若当前PU块为4×4块, 则执行Step4;否则执行Setp7。

Step4 读取连续4个4×4预测块的最优和次优预测模式Mode1~Mode4SM1~SM4, 从DATA中获取待嵌入信息分组E1E2。对于最优预测模式对(Mode1, Mode2)以及待嵌入信息分组E1, 采用菱形编码算法计算模式对集合{(Mode1, Mode2), (Mode1, SM1), (Mode1, SM2)}中各元素对应的距离d。若存在元素的d=0, 则采用次优模式替代法, 根据以上集合元素调制预测模式, 执行Step6;否则转到Step5。同理处理E2

Step5 采用菱形算法获取距离d, 并根据式(10) 确定调制后模式, 每个模式改变量最多为1。

Step6 检验预测模式改变量, 若总模式改变量为0~1, 则进行隐秘信息的嵌入并重编码, 保存位置信息与标志信息作为公共密钥; 否则不进行隐秘信息的嵌入。

Step7 移至下一CU, 若当前CU属于下一LCU, 则执行Step2;否则移至下一CU执行Setp3, 重复以上过程直至嵌入所有信息或视频结束。

2.5.2 提取算法

本文算法对隐秘信息提取复杂度低, 只需对I帧进行部分解码, 根据预测模式与公共密钥即可提取隐秘信息, 具体步骤如下:

Step1 读取编码块信息, 若当前为帧内编码4×4预测块, 读取公共密钥位置信息, 若为1则跳转至Step2进行隐秘信息提取; 如果不是, 则不进行隐秘信息的提取, 密钥移至下一位。

Step2 根据译码预测模式对直接计算其菱形特征值, 若菱形特征值为0、1、4,则直接解码为对应3 bit隐秘信息; 若菱形特征值为2和3, 则读取公共密钥中标志信息, 若flag=1, 则解码为3 bit隐秘信息;若flag=0, 则解码为2 bit隐秘信息。

Step3 重复以上过程, 直到视频解码完毕或密钥结束。

3 实验与分析

本文基于HM12.0参考软件对所提出的基于菱形编码的HEVC视频信息隐藏算法的性能进行了评估, 实验选取了不同内容和分辨率的视频测试序列(BlowingBubbles、Flowervase、BasketballDrive、Vidyo1、PeopleOnStreet等)进行了对比分析。参考软件的主要编码配置参数见表 2, 其余参数均采用默认配置。

表 2 参考软件HM的主要参数配置 Table 2 Configuration parameters of HM
图 3 嵌入隐秘信息前后重建图像质量比较 Figure 3 Comparison of the visual quality between the original reconstructed video and after embedding the hidden information
图 4 PSNR随比特率变化曲线 Figure 4 PSNR curves before and after information hiding
3.1 视频主观质量分析

图 3给出了本文算法在各分辨率测试视频下嵌入隐秘信息前后第30帧重建视频图像, 从主观上观察, 信息隐藏前后重建视频图像间差别很小, 具有较好视觉不可感知性, 嵌入隐秘信息后无明显视觉失真。这是因为本文算法通过二次编码方式消除了帧内失真漂移, 同时调制帧内预测模式到次优或者相邻预测模式, 并控制连续4个4×4的PU总改变量在1以内, 根据相邻帧内预测模式的相关性, 本文算法不会对视频质量产生较明显的影响。

3.2 视频客观质量分析

除了保证视频图像的主观感知质量外, 为进一步评价嵌入隐秘信息后视频的质量, 本文还采用编码视频的客观质量:峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)、编码比特率变化(Bit Rate Iterval, BRI)、结构相似度(Structural Similarity, SSIM)和嵌入容量(Capacity, C)对所提算法进行评价。其中, PSNR是当前评价图像视频的重要客观标准之一, 定义DPSNR为重建视频减小量, 即:

$DPSNR = PSNR - PSN{R^′}$ (11)

其中:PSNRPSNR′分别表示隐秘信息嵌入前后视频的平均峰值信噪比。定义BRI为隐秘信息嵌入前后编码比特变化率, ΔC为相对于对比算法嵌入容量的增长百分率:

$BRI = (R′ - R)/R \times 100\% $ (12)
$\Delta C = (C′ - C)/C \times 100\% $ (13)

其中:RR′分别是信息嵌入前后的比特率;C′为本文算法的嵌入量;C为对比算法的嵌入量。

图 4为不同分辨率的测试序列分别在QP=22, 26, 30, 34时, 隐秘信息嵌入前后的PSNR随比特率的变化曲线。从图 4可看出, 本文算法嵌入前后PSNR值变化微小, 与原始视频曲线基本重合, 对视频质量影响较小。其中BQMall和PeopleOnStreet序列PSNR的下降相对较多, 观察视频特征可得, 该序列包含大量人物和边缘, 纹理细节极为丰富, 因此符合嵌入条件的PU块数目较多, 在保证良好嵌入量的情况下引起PSNR下降相对较多, 但最大下降量也在0.03 dB以内, 对视觉质量几乎无影响。而对于运动相对平缓、纹理细节较少的序列如Vidyo1, 其DPSNR值几乎为零。

文献[10]针对文献[9]算法对视频码率和重建视频质量影响较大的问题, 将预测角度差值进行细分, 缩小候选预测模式的搜索范围来提升算法质量; 文献[11]算法通过视频数据统计分析, 建立预测模式和隐秘信息的分组映射关系, 实现了较大容量的信息隐藏。为了更深层次地评价算法性能, 本文从重建视频质量和隐藏容量入手, 选择文献[10]和文献[11]作为对比实验进行进一步结果分析。本文从平均PSNR、平均SSIM和嵌入容量与文献[10]进行对比, 实验环境均在QP=26下, 其中SSIM是基于人眼视觉模型的视频客观评价标准, 取值为0~1, 越接近1原图像失真越小。本文主要采用Matlab官方自带SSIM算法进行原始重建视频、文献[10]重建视频和本文算法重建视频比较, 由表 3可得, 本文算法可较好保持原始视频特性, 并且在PSNRSSIM上均优于文献[10]。其中平均比特率上升均在0.53%之内, 这是因为本文将预测模式改变量限制在1以内, 仅选择最多一个次优模式或邻近模式进行替换, 根据模式间相关性, 比特率上升不明显。对于BaskedballDrive等运动剧烈视频, 对比算法嵌入量小, 甚至低于低分辨率视频的嵌入量, 因此比特率上升较低, 相比而言, 本文算法在嵌入容量上提升了近7倍, 比特率仅上升了0.33%。

表 3 本文算法与文献[10]算法的性能比较 Table 3 Comparison between the proposed algorithm and reference [10] algorithm
表 4 本文算法与文献[11]的性能对比 Table 4 Comparison between the proposed algorithm and reference [11] algorithm

文献[11]为一种基于帧内预测模式分组调制的大容量信息隐藏算法, 本文选取高清以及超高清视频序列进行测试, 统计如表 4, 本文算法在嵌入量上提高了近1~2倍, 且比特率上升最多仅为其的0.2。原因是该对比算法针对连续4个4×4块的模式修改量较多, 没有进行总修改量的控制, 失真较大, 比特率上升较明显;同时为了减少帧内失真漂移的影响, 通过预调制后模式的率失真代价与其他划分情况下的率失真值进行比较从而确定是否嵌入, 导致可供选择的块大幅减少, 引起嵌入率降低。而本文在不改变一次编码划分的情况下, 限制模式改变量, 可在保证比特率上升很小的同时大幅增加信息隐藏容量。

4 结语

针对高清视频序列, 本文提出了一种基于菱形编码的HEVC视频信息隐藏算法, 调制预测模式至次优或相邻预测模式进行隐秘信息的嵌入。本文嵌入算法造成平均SSIM下降0.000 3以内,PSNR下降不超过0.03 dB,编码比特率平均增长不超过0.53%;但嵌入容量较文献[11]算法增加了近1倍及以上。经对比实验证实, 该信息隐藏算法嵌入量很大提升, 并且提取过程简单, 对视频的主客观质量几乎没有影响。但本文算法也存在不足, 编码端的计算复杂度较高, 二次编码过程使得编码时间上升了近1/3, 且对于细节丰富程度不一的视频无法进行自适应容量嵌入。因此, 下一步工作将继续探寻防帧内失真漂移方法, 并研究视频内容自适应容量嵌入算法, 以取得更好的视频质量和更大的嵌入容量。

参考文献(References)
[1] 王家骥. 基于帧内预测模式的HEVC视频信息隐藏方法研究[D]. 宁波: 宁波大学, 2015: 2-84. (WANG J J. Study on information hiding algorithm based on intra prediction modes for HEVC video[D]. Ningbo: Ningbo University, 2015: 2-84.) http://d.wanfangdata.com.cn/Thesis/D779479
[2] HAN G J, OHM J R, HAN W J. Overview of the High Efficiency Video Coding (HEVC) standard[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2012, 22(12): 1649-1668. DOI:10.1109/TCSVT.2012.2221191
[3] 张明辉. 基于HEVC的视频水印算法研究[D]. 厦门: 华侨大学, 2016: 9-16. (ZHANG M H. A video watermarking algorithm research based on HEVC[D]. Xiamen: Huaqiao University, 2016: 9-16.) http://cdmd.cnki.com.cn/Article/CDMD-10385-1016919175.htm
[4] LIN Y C, LI J H. Reversible watermarking for H.264/AVC videos[J]. International Journal of Computer, Electrical, Automation, Control and Information Engineering, 2011, 5(6): 828.
[5] LIU Y, JU L, HU M, et al. A robust reversible data hiding scheme for H.264 without distortion drift[J]. Neurocomputing, 2015, 151(3): 1053-1062.
[6] 张明辉, 冯桂. 消除帧内误差传播的HEVC可逆水印算法[J]. 信号处理, 2016, 32(2): 220-226. (ZHANG M H, FENG G. A reversible watermarking algorithm for HEVC intra-coded frames without error propagation[J]. Journal of Signal Processing, 2016, 32(2): 220-226.)
[7] WENG S, ZHAO Y, PAN J, et al. Reversible watermarking based on invariability and adjustment on pixel pairs[J]. IEEE Signal Processing Letters, 2008, 15(20): 721-724.
[8] 王家骥, 王让定, 李伟, 等. 一种基于帧内预测模式的HEVC视频信息隐藏算法[J]. 光电子·激光, 2014, 25(8): 1578-1585. (WANG J J, WANG R D, LI W, et al. An information hiding algorithm for HEVC based on intra prediction[J]. Journal of Optoelectronics·Laser, 2014, 25(8): 1578-1585.)
[9] WANG J J, WANG R D, XU D W, et al. An information hiding algorithm for HEVC based on angle differences of intra prediction mode[J]. Journal of Software, 2015, 10(2): 213-221. DOI:10.17706/jsw.10.2.213-221
[10] 徐健, 王让定, 黄美玲, 等. 一种基于预测模式差值的HEVC信息隐藏算法[J]. 光电子·激光, 2015, 26(9): 1753-1760. (XU J, WANG R D, HUANG M L, et al. A data hiding algorithm for HEVC based on the differences of intra prediction modes[J]. Journal of Optoelectronics·Laser, 2015, 26(9): 1753-1760.)
[11] WANG J J, WANG R D, LI W, et al. A large-capacity information hiding method for HEVC video[C]//Proceedings of the 3rd International Conference on Computer Science and Service System. Amsterdam: Atlantis Press, 2014: 139-142.
[12] BOSSEN F, BROSS B, FLYNN D, et al. HEVC Complexity and implementation analysis[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2012, 22(12): 1685-1696. DOI:10.1109/TCSVT.2012.2221255
[13] ZHANG H, MA Z. Fast intra mode decision for High Efficiency Video Coding (HEVC)[J]. IEEE Transactions on Circuits & Systems for Video Technology, 2014, 24(4): 660-668.
[14] 伍冠健, 宋立锋. HEVC快速帧内模式和深度决策算法[J]. 广东工业大学学报, 2015, 32(4): 132-137. (WU G J, SONG L F. Fast intra mode and depth decision algorithm for HEVC[J]. Journal of Guangdong University of Technology, 2015, 32(4): 132-137.)
[15] MENG B, AU B. Fast intra-prediction mode selection for 4A blocks in H.264[C]//Proceedings of the 2003 IEEE International Conference on Acoustics, Speech, and Signal Processing. Piscataway, NJ: IEEE, 2003: 389-392.
[16] YAN S, HONG L, HE W, et al. Group based fast mode decision algorithm for intra prediction in HEVC[C]//Proceedings of the 2012 IEEE International Conference on Signal Image Technology and Internet Based Systems. Piscataway, NJ: IEEE, 2012: 225-229.
[17] 徐辉, 王晓东, 王让定, 等. 基于帧内预测模式的HEVC音视频同步算法[J]. 计算机工程, 2015, 41(12): 241-248. (XU H, WANG X D, WANG R D, et al. Audio-video synchronization algorithm for HEVC Based on intra prediction mode[J]. Computer Engineering, 2015, 41(12): 241-248. DOI:10.3778/j.issn.1002-8331.1307-0170)
[18] QI H, ZHENG D, ZHAO J. Human visual system based adaptive digital image watermarking[J]. Signal Processing, 2008, 88(1): 174-188. DOI:10.1016/j.sigpro.2007.07.020
[19] 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, 2013, 25(2): 239-253.
[20] CHAO R M, WU H C, LEE C C, et al. A novel image data hiding scheme with diamond encoding[J]. EURASIP Journal on Information Security, 2009, 2009.
[21] HONG W, CHEN T S. A novel data embedding method using adaptive pixel pair matching[J]. IEEE Transactions on Information Forensics & Security, 2012, 7(1): 176-184.