武汉大学学报(理学版) 2018, Vol. 64 Issue (2): 127-132
0

文章信息

李栋, 钮可, 杨晓元
LI Dong, NIU Ke, YANG Xiaoyuan
基于残差三维直方图调整的H.264可逆信息隐藏
Three-Dimensional Histogram Modification Based on Residual Block for Reversible Data Embedding into Stereo H.264 Video
武汉大学学报(理学版), 2018, 64(2): 127-132
Journal of Wuhan University(Natural Science Edition), 2018, 64(2): 127-132
http://dx.doi.org/10.14188/j.1671-8836.2018.02.005

文章历史

收稿日期:2017-08-09
基于残差三维直方图调整的H.264可逆信息隐藏
李栋, 钮可, 杨晓元    
武警工程大学 电子技术系, 陕西 西安 710086
摘要:在H.264视频的可逆信息隐藏中, 直方图调整是一种有效的嵌入算法.为了充分利用系数之间的相关关系, 提升嵌入效率, 本文在二维直方图调整算法的基础上提出了三维直方图调整的方案.该方案从经过量化离散余弦变换后的4×4块中随机选择三个交流系数作为嵌入单元, 通过对该单元的值进行调整, 实现信息的嵌入.实验结果显示, 与二维直方图调整算法相比, 本文算法在峰值信噪比(PSNR)下降不到0.1%的情况下, 将嵌入容量最多提升了11.4%.
关键词可逆信息隐藏     三维直方图调整     H.264     容量    
Three-Dimensional Histogram Modification Based on Residual Block for Reversible Data Embedding into Stereo H.264 Video
LI Dong, NIU Ke, YANG Xiaoyuan    
Department of Electronic Technology, Engineering College of Chinese Armed Police Force, Xi'an 710086, Shaanxi, China
Abstract: Among all the reversible methods of embedding data into stereo H.264 video, Histogram modification (HM) is an efficient technique. To make full use of relevance between the QDCT (Quantized Discrete Cosine Transformation) coefficients, a special algorithm based on three-dimensional histogram modification is proposed in this paper. The proposed method selects three AC coefficients as an embedding pair. By modifying the value of the pair, data can be hidden into the QDCT coefficients. Experiment proves that with decreasing less than 0.1% in PSNR, the embedding capacity could increase up to 11.4% compared with the previous algorithm.
Key words: reversible data embedding     three-dimensional histogram modification     H.264     capacity    
0 引言

可逆信息隐藏(RDE), 是指提取端在正确提取隐藏信息的同时, 能够无损地恢复原始图像[1].此类技术可广泛用于对载体质量要求较高的如医疗、法律等场合.数字视频相对于数字图像具有容量大、冗余多、通信质量高、稳健性强等优点, 因此研究基于视频的隐写方法已成为新的热点之一[2]. H.264具有很高的压缩比, 并且由于视频质量高, 适合网络传输而得到了广泛应用.H.264的技术要点在于, 采用了更多的帧内预测模式.为了提高编码效率与压缩率, H.264仍然对宏块的预测值与实际值的差值进行编码, 它提供了9种模式进行4×4块的预测.在帧间预测上, H.264支持更多的参考帧, 提高了视频质量.在运动估计上, H.264可以达到1/4或者1/8像素精度, 使得残差更小, 降低了码率.同时H.264还采用了基于整数的离散余弦变换(DCT), 进一步减小了量化误差, 提高了计算速度.

任何RDE算法都应该满足大嵌入容量和低失真的要求, 而实际上这两方面一般情况下是相互矛盾的, 往往大嵌入容量意味着较高的失真.因此需根据实际情况来进行算法的设计, 在嵌入容量和失真之间取得一个平衡.针对H.264视频的RDE, 研究人员提出了许多方法.在这些算法中, 差值扩展(DE)与直方图调整(HM)较为流行, 已经被广泛应用于可逆信息隐藏算法. Chung等人[3]利用H.264的量化离散余弦变换(QDCT,quantized discrete Cosine transformation)呈拉普拉斯分布的特点, 构造了一种帧内错误隐藏(error concealment)的方法.Coltuc [4]针对基于预测差值扩展的可逆水印设计了一个低失真的整数变换, 通过使用一个简单的线性预测器, 将扩展后的预测差值隐藏在了当前像素及其预测像素中, 这种隐写算法能将水印引入的失真降到最低. Vleeschouwer等人[5]提出了双射变换的循环解译算法, 能满足可逆水印的各种质量与功能性要求.An等人[6]提出了一种小波域统计直方图平移的算法, 能够提高水印鲁棒性, 并降低计算复杂度.

HM是一种利用直方图调整来实现信息可逆嵌入的方法.传统的基于HM的RDE算法, 在对载体进行加一减一的操作时, 最多嵌入1 bit的信息.Zhao等人[7]提出了一种二维HM可逆算法, 以较小的失真获得了较高的嵌入容量, 本文在其基础上, 将算法扩展到三维(3DHM).

1 二维直方图调整(2DHM)算法 1.1 基本原理

QDCT系数分布如表 1所示[7].从表中可以看出, 0值系数占了绝大多数, 表明QDCT系数直方图非常尖锐, 亦即如果把信息嵌入到QDCT中的0值系数中就可以获得较高的嵌入容量.

表1 不同QDCT系数所占百分比 Table 1 Percentage of different QDCT coefficients
视频序列 QDCT系数值
-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6
Akko & Kayo 0 0 0 0.01 0.07 1.53 96.86 1.41 0.10 0.01 0 0 0
Ballroom 0 0.01 0.02 0.07 0.30 2.87 93.27 2.94 0.38 0.1 0.03 0.01 0
Crowd 0 0.01 0.04 0.11 0.45 4.05 90.64 3.97 0.52 0.14 0.05 0.02 0.01
Exit 0 0 0.02 0.06 0.24 2.10 95.1 2.15 0.24 0.05 0.03 0.01 0
Flamenco 0 0 0.01 0.04 0.2 2.44 94.52 2.51 0.24 0.04 0.01 0 0
Objects 0 0.05 0.14 0.34 1.12 6.57 82.87 7.21 1.11 0.32 0.18 0.06 0.02
Race 0.01 0.02 0.05 0.11 0.5 4.25 89.62 4.76 0.52 0.11 0.04 0.02 0.01
Rena 0 0 0 0 0 0.35 99.39 0.25 0 0 0 0 0
Vassar 0 0 0.01 0.03 0.23 3.15 93.13 3.14 0.26 0.04 0.01 0 0

图 1所示[7], 4×4亮度块经过Z字形扫描, 形成的序列按照频率从低到高排列.其中, Y0称为直流(DC)系数, Y1, Y2, …, Y5为低频域交流(AC)系数, Y6, Y7, …, Y15为高频域交流系数.块的大部分能量都集中在直流分量和低频域, 高频域只含有少部分能量.把信息嵌入到高频域对视频质量影响较小, 而把信息嵌入到低频域可以获得更好的鲁棒性.实际使用中, 可根据不同要求进行嵌入域的选择.

图 1 Z字形扫描 Figure 1 Zig scan
1.2 传统HM算法

根据Ou等人[8]的HM算法, 可通过平移一维系数直方图来嵌入信息.嵌入算法如下所示

其中Ys1是4×4亮度块中第s1个QDCT系数, Ys1则是目标系数, mi∈{0, 1}是待嵌入信息, 当QDCT系数是0或-1可嵌入1 bit信息.

嵌入算法过程如图 2.

图 2 HM嵌入算法 Figure 2 HM embedding algorithm

信息的提取则是相反过程:

a) 若Ys1=0或-1, 则说明原始系数Ys1=Ys1, 且提取隐藏的信息比特为mi=0.

b) 若Ys1=1, 则说明原始系数Ys1=Ys1-1, 且提取隐藏的信息比特为mi=1.

c) 若Ys1= -2, 则说明原始系数Ys1=Ys1+1, 且提取隐藏的信息比特为mi=1.

d) 若Ys1>1, 则说明未隐藏信息, 且Ys1=Ys1-1.

e) 若Ys1 < -2, 则说明未隐藏信息, 且Ys1=Ys1+1.

由以上算法可以知道, 算法的嵌入容量取决于QDCT系数中值为0, -1的数量.

1.3 2DHM算法

Zhao等[7]提出了一种算法, 该算法能够充分利用两个QDCT系数之间的相关关系, 使得与其他基于HM的算法[9]相比, 在嵌入效率和失真表现上有了进一步提高, 其算法描述如下:

a) 从进行完量化离散余弦变换(QDCT)的视频序列中随机选择4×4亮度块;

b) 从上述4×4块中随机选择两个系数组成QDCT系数对(Ys1, Ys2);

c) 根据系数对所在的集合, 对系数对进行调整, 以嵌入信息.

详细算法可参考文献[7].

2 三维直方图调整(3DHM)算法

经过研究发现, 文献[7]中的算法(下文均简称2DHM算法)在嵌入容量上仍有提升空间.在2DHM算法中, 当(Ys1, Ys2)=0, 0时, 嵌入过程可描述如下:

由于QDCT系数中绝大多数为0值系数, 2DHM中以两个QDCT系数为一个单元进行嵌入, 只有在待嵌入信息为000, 001的时候可以达到最大嵌入效率, 即QDCT系数对中的系数改变1, 可以嵌入3bit信息.信息位是三比特的概率只有1/4, 而有3/4的概率仅出现两个比特.如果扩展到三维后, 即以3个QDCT系数为一个单元进行信息嵌入, 则会有3/4的概率在系数改变1时, 能够嵌入3个比特的信息, 因而可以达到更高的嵌入效率.

2.1 3DHM算法

从进行完QDCT变换的4×4块的交流系数中随机选择3个系数, 组成一个系数对(Ys1, Ys2, Ys3), 其中Ys1, Ys2, Ys3分别是选出的QDCT系数.将系数对划分成25个集合, 这些集合的划分是不重合的, 根据随机选择的系数对所在的集合进行系数调整, 就可在调整过程中嵌入信息.

集合划分如下:

根据随机选择的系数对(Ys1, Ys2, Ys3)所在的集合进行相应系数调整, 其过程中便可嵌入信息.原始系数对记为(Ys1, Ys2, Ys3), 经过调整后的目标系数对记为(Ys1, Ys2, Ys3), 待嵌入数据记为mimi+1mi+2, 代表等待嵌入的第i, i+1, i+2个比特数据.具体算法如下:

a) 若(Ys1, Ys2, Ys3)∈A1, 则

b) 若(Ys1, Ys2, Ys3)∈A2, 则

c) 若(Ys1, Ys2, Ys3)∈A3, 则

d) 若(Ys1, Ys2, Ys3)∈A4, 则

e) 若(Ys1, Ys2, Ys3)∈A5, 则

f) 若(Ys1, Ys2, Ys3)∈A10, 则

g) 若(Ys1, Ys2, Ys3)∈A11, 则

h) 若(Ys1, Ys2, Ys3)∈A16, 则

i) 若(Ys1, Ys2, Ys3)∈A17, 则

j) 当(Ys1, Ys2, Ys3)∈A6A9, A12A15, A18A25时, 不嵌入信息, 只进行系数的调整:

对算法进行分析, 嵌入容量记为EC, 经过计算, 可以得到:

嵌入引起的失真记为ED, 则有:

2.2 算法实现

嵌入过程如图 3所示.

图 3 信息嵌入流程图 Figure 3 Data embedding flow chart

a) 对明文进行加密处理, 得到待嵌入数据.

b) 对原始视频进行熵解码, 得到所有的块.

c) 使用种子S得到随机序列, 随机选择可嵌入块, 在选择可嵌入块时, 可以将每个4×4块的直流系数作为阈值来控制嵌入强度, 而种子可通过事先使用RSA等公钥加密方式传递给接收方.对于未被选择的块, 则直接进行熵编码.

d) 从块中随机选择3个QDCT系数作为嵌入单元, 根据3DHM算法进行信息嵌入.得到载密块.

e) 将载密块与未嵌入信息的块进行熵编码, 得到载密视频.

信息提取过程如图 4所示.接收方利用私钥解密得到种子S, 对载密视频进行熵解码, 并选择出嵌入了信息的块, 根据图 4所示过程进行信息的提取.由于对系数单元所属的集合的划分是不重叠的, 而且QDCT系数的调整也是单向不重叠的, 这就表明该嵌入算法是可逆的.

图 4 信息提取流程图 Figure 4 Data extracting flow chart
3 实验结果与分析 3.1 实验环境

上文提到, 可以将4×4块的直流系数作为阈值来控制嵌入强度.阈值记为U, 直流系数为Y0.实际操作中, 可以根据需要设置不同的U值.当U=0时, 表明对所有的块均进行嵌入, 这是满嵌的情况; 当所要嵌入的信息量不大时, 可以将U设置不为0, 这样仅选取部分块进行嵌入.为方便起见, U=1.通过这种方式, 就可以在保证嵌入容量的条件下最大限度提高载密视频的质量.实验环境如表 2所示.

表2 实验环境 Table 2 Experiment environment
软件环境 Matlab R2016b
CPU i5-4590 3.3 GHz
硬件环境 RAM 8 GB DDR3 1600 MHz
GPU GTX960
3.2 结果

实验中, 嵌入100帧, 计算平均嵌入容量,平均PSNR值,编码100帧P帧所用时间,2DHM与3DHM结果见表 3.

表3 实验结果对比 Table 3 Comprehensive comparison of experiment results
视频序列 3DHM 2DHM
容量
/bit
PSNR
/dB
耗时
/s
容量
/bit
PSNR
/dB
耗时
/s
bridge-far 332.7 39.51 287.6 298.7 35.92 292.6
foreman 1 120 38.62 310.2 1 033 38.63 320.3
city 895.2 38.61 296.4 807.4 38.63 306.8
bridge-close 504.7 37.69 302.3 461.7 37.71 327.5
coastguard 1 103 36.99 330.2 1 017 37.00 326.6

表 3中可以看出, 3DHM算法相比2DHM算法在嵌入容量上有明显提升.两种嵌入算法的PSNR相近, 说明3DHM在提升嵌入容量的同时并没有牺牲失真表现, 同时嵌入更多信息所花费的时间代价也与2DHM相当.

图 5~7是利用2DHM, 3DHM算法进行的仿真实验, 从视频中选取了阈值U=1时的原始帧, 使用2DHM, 3DHM嵌入信息后的帧.

图 5 bridge-close Figure 5 bridge-close
图 6 coastguard Figure 6 coastguard
图 7 bridge-far Figure 7 bridge-far

各组中图像从左至右依次为, 原始帧、2DHM帧、3DHM帧.可以看出, 嵌入信息后, 相对于原始帧, 并未产生明显的失真, 嵌入效果符合不可见性的要求, 同时, 3DHM算法相比于2DHM, 在嵌入容量上有了较大提升, 而对视频质量并无明显影响, 说明3DHM算法具有一定的实用性, 并且在嵌入效率上优于2DHM算法.

经过计算, 3DHM算法相比2DHM, 在平均PSNR下降不到0.1%的情况下, 将嵌入容量最多提升了11.4%(bridge-far), 同时耗时并没有显著增加.而且从仿真结果来看, 3DHM算法对视频质量影响较小, 证明3DHM相比2DHM有一定的改进.

4 结论

本论文在传统HM算法和改进的2DHM算法基础上, 提出了3DHM可逆隐藏方案并实现, 通过实验证明, 新方案计算速度快, 在保持视频较低失真的情况下大幅提升了嵌入容量.

该算法理论上仍可以向多维扩展, 使得嵌入容量进一步扩大,如Tian [10]提出的差值扩展算法也可以利用本文所提出的原理进行多维扩展.

参考文献
[1]
熊志勇, 王江晴. 基于差值直方图平移的彩色图像可逆信息隐藏[J]. 四川大学学报(工程科学版), 2011, 43(3).
XIONG Z Y, WANG J Q. Reversible information hiding for color images based on difference histogram shifting[J]. Journal of Sichuan University (Engineering Science Edition), 2011, 43(3). DOI:10.15916/j.jsuese.2011.03.020
[2]
张英男, 张敏情, 钮可. 基于灰色关联分析的H.264/AVC视频隐写算法[J]. 武汉大学学报(理学版), 2014, 60(6): 524-530.
ZHAN Y N, ZHAN M Q, NIU K. A novel information hiding algorithm based on grey relational analysis for H.264/AVC[J]. Journal of Wuhan University (Natural Science Edition), 2014, 60(6): 524-530.
[3]
CHUNG K L, HUANG Y H, CHANG P C, et al. Reversible data hiding-based approach for intra-frame error concealment in H.264/AVC[J]. IEEE Trans Circuits Syst Video Technol, 2010, 20(11): 1643-1647. DOI:10.1109/TCSVT.2010.2077577
[4]
COLTUC D. Low distortion transform for reversiblewatermarking[J]. IEEE Trans Image Process, 2012, 21(1): 412-417. DOI:10.1109/TIP.2011.2162424
[5]
de VLEESCHOUWER C, DELAIGLE JF, MACQ B. Circular interpretation of bijective transformations in lossless watermarking for media asset management[J]. IEEE Trans Multimedia, 2003, 5(1): 97-105. DOI:10.1109/TMM.2003.809729
[6]
AN L L, GAO X B, LI X L, et al. Robust reversible watermarking via clustering and enhanced pixel-wise masking[J]. IEEE Trans Image Process, 2012, 21(8): 3598-3611. DOI:10.1109/TIP.2012.2191564
[7]
ZHAO J, LI Z T, FENG B. A novel two-dimensional histogram modification for reversible data embedding into stereo H.264 video[J]. Multimed Tools Appl, 2016, 75: 59559-5980.
[8]
OU B, LI X L, ZHAO Y, et al. Pairwise prediction-error expansion for efficient reversible data hiding[J]. IEEE Trans Image Process, 2013, 22(12): 5010-5021. DOI:10.1109/TIP.2013.2281422
[9]
MA X J, LI Z T, TU H, et al. A data hiding algorithm for H.264/AVC video streams without intra frame distortion drift[J]. IEEE Trans Circuits Syst Video Technol, 2010, 20(10): 1320-1330. DOI:10.1109/TCSVT.2010.2070950
[10]
TIAN J. Reversible data embedding using a difference expansion[J]. IEEE Trans Circuits Syst Video Technol, 2003, 13(8): 890-896. DOI:10.1109/TCSVT.2003.815962