基于H.264的信息隐藏技术研究
2015-04-05薛莹莹
薛莹莹
(河南博物院,河南 郑州 450002)
目前,人类社会正处于信息时代,互联网作为全球最大的信息发布系统,是人们获取信息不可或缺的途径之一,但与此同时,也面临着信息安全问题的巨大挑战。信息隐藏是集多学科理论与技术为一体的一门新兴学科,通过将秘密信息嵌入到其他载体中来实现信息的安全传递。而视频以其特有的广泛性和交互性成为互联网应用的主流,由于视频数据具有海量的特点,必须对数据进行压缩,H.264作为新一代低比特率数字视频编码标准已经在视频点播、数字电视、多媒体通讯等领域得到了广泛的应用,因此开展基于H.264的信息隐藏研究具有重要的理论价值和实践意义。
1 信息隐藏技术概述
1.1 信息隐藏的基本框架
信息隐藏也称作数据隐藏,它的基本原理是将秘密信息隐藏于公开信息中,然后通过传输公开信息来传递秘密信息,同时使得公开信息跟原来并没有明显的不同。信息隐藏的基本框图[1]如图1所示。
图1 信息隐藏基本框图
如图1所示,首先将秘密信息E通过嵌入算法I将其嵌入到原始载体D中,得到含有秘密信息的秘密载体M,M在通道中传输,接收方收到秘密载体,然后通过提取算法I 将秘密信息E从秘密载体提取出来。
1.2 信息隐藏的分类
按照密钥的使用方式,信息隐藏分为以下两类:
1.2.1 无密钥隐藏
无密钥隐藏即在数据嵌入和使用过程中不使用密钥,秘密信息嵌入的过程如下:
F:D×E→M,对所有的e∈E,m∈M有m=F(d,e,k);
其中,D是所有原始载体的集合,E是所有秘密信息的集合,M是秘密载体的集合。
1.2.2 私钥隐藏
信息的发送方和接收方使用相同的密钥,私钥隐藏系统的安全性取决于私有密钥K,秘密信息的嵌入和提取过程如下:
F:D×E×K→M,对所有的e∈E,m∈M,k∈K有m=F(d,e,k);
1.2.3 公钥隐藏
公钥隐藏即对待隐藏信息采用公钥密码进行加密,再将秘密信息嵌入到载体中。
1.3 度量指标
1.3.1 鲁棒性
鲁棒性又称健壮性,是指在载体中加入的秘密信息受到某种主动或被动的(例如:平移、旋转、重采样、信道噪声等)干扰后,秘密信息还能够保持一定的稳定性。
1.3.2 不可感知性
不可感知性即秘密载体与原始载体具有一致性,被隐藏的秘密信息不会引起观测者的注意。
1.3.3 信息嵌入量
信息嵌入量是指能够嵌入在载体中的最大二进制秘密数据的位数。对于嵌入算法而言,鲁棒性、不可感知性和信息嵌入量三个指标常常是相互制约的,并且在一定条件下可以相互转化。在实践中,各个系统可以根据具体目标和技术要求选择上述特性作为重点考虑的因素。
2 H.264编码
2.1 H.264编码的基本原理
H.264采用了分层编码结构,分为视频编码层VCL(Video Coding Layer)和网络提取层 NAL(Network Ab⁃straction Layer)两个层[2-3]。其中,VCL是整个H.264视频编码的核心,它采用混合编码的方式对视频内容进行高效的编码;NAL主要对压缩后的数据进行打包传送,其数据单元为NALU。正是由于H.264采用了这种分层编码方式,将编码与信道隔离,才使得编码后的数据能够适应不同的传输协议和传输网络。
2.2 H.264编码特点
2.2.1 帧内预测技术分析
H.264采用了基于块的编码模式,支持亮度块(包括4×4像素宏块和16×16像素宏块两种尺寸)、色度块(8×8像素宏块)以及I-PCM等类型的帧内预测编码[4]。
其中4×4像素亮度块包括9种预测方式,而16×16像素亮度块采用整体预测,包括水平、垂直、均值和平面4种预测方式。H.264帧内色度块与16×16像素亮度块采用的预测方式相似,只是顺序不同,这里不再详述。
2.2.2 帧间预测技术分析
H.264帧间预测技术把宏块分割为七种类型,这样分割的目的是为了适用不同的图像区域,对于较为平滑的图像区域采用大尺寸分割,反之采用小尺寸分割,这样编码器可以根据图像的平滑程度采用最佳的预测方式。
2.2.3 熵编码技术分析
H.264提出了三种熵编码方案:指数哥伦布编码、基于上下文的自适应可变长编码和基于上下文的自适应二进制算数编码。其中基于上下文的自适应二进制算数编码的压缩率最高,所以视频压缩编码平台采用了这种编码方法。
3 视频信息隐藏方法分析
通过上一节对H.264编码标准的分析可知,相比以往的压缩标准,H.264信息冗余度大大减小,嵌入秘密信息的难度增加。按照秘密信息隐藏域,信息隐藏算法分为以下两类。
3.1 空域信息隐藏算法
空域信息隐藏算法典型代表有LSB(Least Signifi⁃cant Bit)算法、Patchwork算法和纹理块映射编码方法。LSB算法是由Turner提出的最早空域信息隐藏算法,它使用秘钥通过m序列发生器产生随机信号,并按照一定规则排列成二进制比特流,然后将该比特流嵌入到每个像素的最低比特位,这种方法嵌入容量大,但鲁棒性较差,容易受到噪声、重采样等操作而丢失秘密信息。
Patchwork算法和纹理块映射编码方法都是由Bender等人提出的信息隐藏方法。Patchwork算法的基本思想是随机选取N对像素点(mi,ni),然后将每个mi点对应的像素亮度值加1,每个ni点对应的像素亮度值减1。因为图像亮度变化小并且随机分布于整个图像,所以该方法具有较好的鲁棒性。纹理块映射编码是将秘密信息隐藏在图像的随机纹理区域中,利用纹理的相似性掩盖秘密信息,视觉不易察觉,并且在一定程度上可以抵抗压缩、旋转、滤波等操作。
3.2 变换域信息隐藏方法
变换域信息隐藏算法相比空域信息隐藏算法计算复杂度较高,嵌入容量小,但具有更好的鲁棒性,应用也更加广泛。
Cox等人[5]提出的扩频信息隐藏算法是比较典型的变换域信息隐藏算法,秘密信息的嵌入表达式如下:
M表示嵌入秘密信息后的载体变换域系数,D表示原始载体的变换域系数,E表示待嵌入的秘密信息,α是加权系数,α值越小不可感知性越好。但当α小到一定程度时,即使秘密载体没有受到干扰,也不能保证准确地提取秘密信息。
另 外 ,ABS(Analysys-by-Synthesis)和 JCDH(Joint coding and data hiding)信息隐写方法也是比较典型的变换域信息隐藏算法。此类算法的基本思想是在编码过程中嵌入秘密信息,将编码方法和嵌入算法相结合,在这里不再详述,详见文献[6,7]。
4 结语
本文系统地归纳了信息隐藏技术的概念,介绍了典型的信息隐藏的基本框架,给出了信息隐藏的分类和度量指标,然后深入分析了H.264编码的基本原理和编码特点,包括帧内预测技术、帧间预测技术和熵编码技术。最后阐述并分析了国内外视频信息隐藏的各类算法。
[1]M.Anthony.Learning multivalued multithreshold func⁃tions[R].CDMA Report No.LSE-CDMA-2003-03,London School of Economics,2003.
[2]毕厚杰.新一代视频压缩编码标准—h.264/avc[M].北京:人民邮电出版社,2005.
[3]孙华.H.264视频编码标准的分层设计与功能[J].广播与电视技术,2004,31(4):31-33.
[4]徐睿.H.264帧内预测算法技术研究[D].沈阳理工大学,2011.
[5]I.J.Cox,J.Kilian,F.T.Leighton,et.al.Secure spread spec⁃trum watermarking for multimedia[J].IEEE Transactions on Im⁃age Processing,1997,6(12):1673-1687.
[6]Wu Z,Yang W,YangY.ABS-based speech information hiding approach[J].Electronics Letters,2003,39(22):1617-1619.
[7]Zhe-Ming L,Bin Y,Sheng-He S.Watermarking com⁃bined with CELP speech coding for authentication[J].IEICE Transactions on Information and systems,2005,88(2):330-334.