178 东南大学学报(自然科学版) 第37卷 从整体上保持不变,其隐藏容量是每2块1比特 .上述算法多利用了Ac系数来进行隐藏,另外还有文 献[10—13]利用了Dc系数和运动矢量来进行隐写,这类方法除了要控制码长变化外还需要进行误差补 偿. 本文设计了一种大容量不变码长隐写算法HCIS(high capacity and invariable size steganographv algo— rithm).算法以MPEG2压缩视频为载体,充分利用帧内和非帧内宏块中的AC系数以及非帧内宏块中的 DC系数进行隐写,有效提高了隐藏容量;使用“存在例外的动态±1”嵌人、“舍弃高频系数”和“0比特填 充”等三级机制保证隐写前后压缩视频的总码长不变. 1 HCIS算法框架 1.1基本思想 MPEG2是得到广泛应用的视频压缩编码标准,数字电视、DVD都采用了MPEG2标准,宏块是MPEG2 基本编码单元,分为帧内宏块和非帧内宏块两类,经过的编码过程如图1所示.从图中可见,根据是否采用 过差分编码可以将宏块中的数据分为两种类型:采用过差分编码的系数,如运动矢量、帧内宏块中的DC 系数;没有经过差分编码的系数,如帧内宏块中的AC系数以及非帧内宏块中的DC系数和AC系数. 帧内宏块 非帧内宏块 图1宏块编码 由于视频以每秒25帧(PAL制式)的速度进行回放,即使经过了MPEG2压缩,仍然存在冗余.对于采 用过差分编码的系数,隐写时往往需要采用补偿技术以避免误差的积累¨ ;而没有经过差分编码的系数 在压缩视频中大量存在,这些系数在进行变长解码后,均以(vein,leve1)对的形式出现,level是量化后的 DCT系数,可直接用于嵌人信息,充分利用这些系数进行信息嵌人可以有效地提高隐藏容量.但在以往算 法[卜9_中,为了达到隐写后码长不变的目的,使用特殊的系数进行隐写,导致了隐藏容量较小.HCIS算法 利用了所有的由密钥选定的没有经过差分编码的系数进行信息嵌人,同时采用三级码长控制机制来保证 隐写后的视频码长不变,最终有效地提高了隐藏容量(每个块都隐藏多个比特). 1.2算法框架 HCIS包括信息嵌入和信息提取2个过程,首先来看嵌人算法,其基本框架如图2所示,由二维混沌映 射G、秘密信息预处理E、MPEG2码流解析、块隐写 和0比特填充等模块组成.其中,二维混沌映射G在 密钥K的作用下产生2个二进制的伪随机序列P和Q.预处理模块E使用P对秘密信息 进行预处理 (如进行异或运算),得到序列S.MPEG2码流解析模块寻找8×8的块block ,调用块隐写模块 (block , △)对块block 进行隐写,使块中每个由Q(如根据其0或1取值)选定的没有差分编码系数都嵌入5中的 1比特信息s,当一个片的所有块都隐写完后,MPEG2码流解析模块将在片结尾处调用0比特填充模块填 充厶个减少的0比特,从而完成一个片的不变码长隐写.最终,MPEG2码流解析模块重复上述过程直至视 频码流结束.在嵌人算法中,G和£可以根据实际情况灵活选择,本文不再具体讨论;而MPEG2码流解析 模块、块隐写 模块和0比特填充模块实现了大容量不变码长隐写,是算法的关键. HICS的提取算法比较简单,只需使用相同的密钥K产生相同的伪随机序列P和Q,由Q确定MPEG2 视频码流中哪些是嵌人了秘密信息的没有差分编码的系数,顺次取出这些系数level值的LSB,组成5.然 后使用P对5进行反预处理 ~,得到 ,如图3所示. 2关键模块的实现 2.1 MPEG2码流解析模块 MPEG2码流解析模块在嵌人算法中起到总体调度作用,块隐写模块 和0比特填充模块在它的调度 维普资讯 http://www.cqvip.com 增刊(I) 孙怡峰,等:一种基于MPEG2视频编码的隐写算法 陋G2观频码流 MPEa2视频码流 179 密钝£ I一一一一一一一一一一一一一 lH 一一一一一一一一●S L一一一一一一一一 — ]一一一一一 竺::l .‘一一一一一一一一 秘硅 急M 秘密信息 图2嵌入算法框架 图3提取算法框架 下完成MPEG2视频中每个片的大容量不变码长隐写.MPEG2码流解析模块的具体步骤如下: ①设置全局变量△用于记录隐写对压缩视频的码长改变量,以比特为单位. ②在MPEG2视频流中找到片(slice),置A=0. ③在片中找到一个8 X 8块,记为block ,调用块隐写算法 (block ,A)对块内系数进行信息嵌入. ④将嵌入了秘密信息的block 和未作修改码流合并成载密MPEG2码流. ⑤重复步骤③,④直至本片结束,然后调用0比特填充模块填充△个0比特. ⑥重复②一⑤,直至码流中的所有片都隐写完毕,即序列S在视频流中反复嵌人. 在每次开始一个片隐写时,都需要将△重新置为0,这是因为算法使每个片的码长在隐写前后都保持 不变,所以每新开始一个片隐写时,码长改变量应为0. 2.2块隐写模块 块隐写模块进行块单元的隐写和码长控制,它充分利用8 X 8块中存在的多个没有差分编码的系数进 行隐写,使一个块隐藏多个比特.它需要解决的问题是如何使每个由伪随机序列Q选定的系数都嵌入‘s 中的1比特信息s,且使码长改变尽可能的小.一般来说,在没有经过差分编码的单个系数上嵌入信息将造 成码长变换,例如图4中(0,2)使用LSB替换算法嵌入了比特1后变为(0,3),码长增加了1比特. 图4隐写前后VLC的变换 给出如下符号规定和定义.块隐写算法记为 (block ,A),△为本块隐写前已经造成的码长改变量, block 代表当前要隐写的块,这2个参数值均由MPEG2码流解析模块在调用时确定.定义8 X 8块的原块 长为该块在隐写前从第一个系数到块结束符前的编码长度,而在隐写过程中,每遇到一个系数,都可计算 块第一个系数到该系数的编码长度,该长度定义为块在隐写过程中的临时长度,记为 .设block 的原块 长为 ,原块有 个没有经过差分编码的系数,变长解码后按码流顺序记为(run ,level ),k=1,2,…, ,其 中系数(run ,level )在嵌人信息前VLC码长为d ,在嵌入信息后变为(run ,level ),VLC码长为d ,均以 比特为单位. 块隐写算法 流程如图5所示,算法依次对 个系数进行处理,当秘密信息比特s与Q选定的level 的LSB相等时,嵌入信息不用修改level ,码长也不变;当s与level 的LSB不等时,level 加1或减1都能 使其LSB等于s.通过观察MPEG2变长编码表,对大多数的(run,leve1)而言(1c.VLC 除外),当其run保 持不变而level加1时,对应VLC码长将增加,当run保持不变而level减1时,对应VLC码长将减小.因 此,若△<0,选择加1操作来增加总码长;若△i>0,则选择减1操作来减少总码长,把这种方法称为动态± 1嵌入法.显然动态±1嵌入法会使隐写后视频的总码长变化减小.但MPEG2视频中存在许多level 等于 1的情况.此时,无论△取值如何都不能采用level 减1,而只能采用level 加1,因为level 减1将导致出 现(run,0),无对应的VLC编码.把存在上述情况的动态±1嵌入法称为存在例外的动态±1嵌入法.容易 看出该嵌入法仍然存在隐写后码长增长的可能.为此,本文采用了舍弃高频系数策略:若从某个系数开始 L >L,就舍去从该系数开始的后续系数,使隐写后的块编码长度小于或等于原编码长度,若有减少,数值 为△个比特.由于这些系数处于高频位置,因此不会造成明显的图像质量下降. 维普资讯 http://www.cqvip.com
180 东南大学学报(自然科学版) 第37卷 ( 开始) k=1。L =A 一I L—L.1 l I L—L.1 l 一I ::: 一二-J—=.一 l::::: l一 否 _< 三 一 否 是 — ’否 f 1 『 作修改 芦 是。 leve ̄=r■●、、evel,+1 l ‘ / I如懈 =l● evelk一1 I ! ・是 童 否否 将(将此v凡口 并置 = +, Lc’ )码并入载密码绩码成V Lc流,码, 的 舍并置△ 上 一上 所有高频弃从j咖 系数,开始 I ll 并置L = + ,L穗 c码并入载密码流,A=A+( 一 】 l 否— 一一_ 足 ~l I是— — ■ 否 图5块隐写算法 流程图 2.3填充0比特与片不变码长 在使用了块隐写算法 后,视频的码长仅减少了△个比特,为补齐这个△比特,可以在视频码流的合 适位置填充对应个数的0比特.在MPEG2压缩视频中,为了标识和区分各个编码单元,如图像组、帧、片 等,采用了整字节对齐的32比特的开始码.当视频数据不能整字节对齐时,采用填充0比特来达到此目 的,本文可以采用类似的方法补齐减少的△个比特.由于片是MPEG2标准中具有32比特开始码的最小 单元,MPEG2码流解析模块就在解析到本片结束时(即下一个片开始码前),调用0比特填充模块填充减 少的0比特,即根据△数值在载密视频码流的片尾处补相应个数的0比特,片成为不变码长的基本单元. 总之,HClS算法采用了三级码长控制机制.首先“存在例外的动态±1”嵌入完成了单个系数级的隐 写码长控制,而“舍弃高频系数”策略完成了8×8块一级的隐写码长控制,而“0比特填充”实现了以片为 单元的隐写前后码长不变. 3 实验结果 利用Mobile(32帧)和Football(99帧)等标准视频测试序列来进行实验,图像大小为720×486,色度 格式为YCrCb 4:2:2.采用TM5将上述序列压缩为每秒25帧、10Mbps码率的MPEG2视频文件,以这些 MPEG2视频为载体进行隐写实验.嵌入的信息为任意格式的数据,在隐秘MPEG2视频未受攻击的情况下 嵌入信息可以被完整提取.在实验中重点测试了算法的隐藏容量以及隐写前后MPEG2视频的峰值信噪 比(PSNR). 表1比较了HCIS算法、VLC Map算法、A/S算法的隐藏容量,HCIS算法的隐藏容量约是VLC Map隐 写法 。 的7倍,约是A/S隐写法 的15倍,算法在隐藏容量上有了显著提高.从表2可以看出隐写前后 视频文件尺寸没有任何改变.图6给出了MPEG2视频隐写前后各帧的PSNR,PSNR在隐写后比隐写前平 均下降了4.21dB,这说明较大的隐藏容量也导致了对视频数据的较大修改,表现在纹理细密区域有一些 细微差别,但这种差别在视频播放时并不易被人眼所觉察. 表1 HICS算法隐藏容量与VLC Map隐写法、A/S隐写法的比较 维普资讯 http://www.cqvip.com 增刊(I) 孙怡峰,等:一种基于MPEG2视频编码的隐写算法 表2隐写前后MPEG2文件大小比较 181 l+一stem MPEG2‘ t—e-OngI怕IMPEG2 I l. l 獭 一 堂 ‘ — 蹴 嘲 、 — +— 、 +一 :t: , 。 . 一 — \} H} 脚 曲 柏 _ H 札 ^ 帧编号 (a)Mobile 帧编号 (b)Football 图6 MPEG2视频隐写前后的PSNR对比 4 结语 本文通过充分利用MPEG2码流中没有差分编码的系数进行隐写,达到了提高隐藏容量的目的,并采 用“存在例外的动态4-1”嵌入、舍去高频系数、0比特填充等三级机制保证了隐写后码长的不变.算法对隐 蔽通信比较实用,若还需要增大隐藏容量,可以进一步使用经过差分编码的DC系数和运动矢量进行隐 写,并可使用自适应嵌入技术在纹理丰富的区域中减少嵌入量,从而提高纹理细密区的图像质量. 参考文献(References) [1]Brown A.S-Tools 4.0[EB/OL].[2007—11—20].http://soft.sofloogle.com/ap/s tools—download一126.shtm1. [2]Upham D.jpeg-jsteg—v4[EB/OL].[2007—11—20].ftp://ftp.funet.fi/pub/crypt/steganography/. [3]Machado R.EZStego[EB/OL].[2007—11-20].http://w ̄.jjtc.com/Security/stegtoos1.htm. [4]Hartung F,Girod B.Watermarking of uncompressed and compressed video[J].Signal Processing,1998,66(3):283—301. [5]Chen Tianhang,Liu Shaohui,Yao Hongxun,et a1.Spatial video watermarking based on stability of DC coeficifents[C]//Lee— ture Notes in Computer Science,3930.Heidlberg,Germany:Springer—Verlag2006:l033一l042. .[6]Hsu C T,Wu J L.DCT—based watermarking for video[J].IEEE Transaction on Consumer Electronics,1998.44(1):206— 216. [7]Langelaar G C,Lagendijk R L,Biemond J.Real—time labelling of MPEG一2 compressed video[J].Journal of V ̄nal Commu— nication and Image Representation,1998,9(4):256—270. [8]Mobasseri B G,Marcinak M P.Watermarking of MPEG-2 video in compressed domain using VLC mapping[C]//ACM Multi— edima and Security Workshop 05.New YorkNY,USA,2006:91—94. ,19]Liu B,Liu F L,Luo X Y.Real—time steganography in compressed video[C]//Lecture Notes in Computer Science.4105.Hei— dlberg,Germany:Springer—Verlag,2006:43—48. [10]Liu H M,Shao F L,Huang J W.A MPEG一2 video watermarking algorithm with compensation in bit stream f C]// ct Notes in Computer Science,3919.HeidlbergGerntany:Springer—Verlag,2006:123—134. ,[1 1] Zhang J,Li J G,Zhang L. Video watermarking technique in motion vector[C]//XIV Brazili0 5mp0si ,n 0 c0,np £er Graphics and Image Processing.Brazic,2001:179—1 82. [12]Dai Yunjun,Zhang Lihe,Yang Yixian.A new method of MPEG video watermarking technology[C]// 0cee , of Inter- national Conference on Communication Technology.Beijing,China,2003:1845—1847. [13]Zhu Zhongjie,Jiang Gangyi,Yu Mei,et a1.New adaptive algorithm for video watemarrking[C]//IEEE Region 10 Co r- ence on Computers,Communications,Control and Power Engineering.Beijing,China.2002:152—155.
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务