一种面向h.264/avc视频码流的大容量数据隐藏方法

文档序号:9420679阅读:368来源:国知局
一种面向h.264/avc视频码流的大容量数据隐藏方法
【技术领域】
[0001] 本发明设及一种视频的数据隐藏技术,尤其是设及一种面向H. 264/AVC视频码流 的大容量数据隐藏方法。
【背景技术】
[0002] 数据隐藏是W具有明确内容的数字对象如图像、音频或视频等作为数字载体,在 数字载体中隐藏秘密信息,要求秘密信息的嵌入不改变原始的数字载体的视觉或听觉效 果,从而使秘密信息能W不引起外界注意的方式通过公开信道进行传输,因而具有更大的 隐蔽性和安全性。数据隐藏技术作为数字媒体的版权保护、内容认证W及隐秘通信的有效 手段,已经成为多媒体信息安全领域研究的热点。
[0003] 目前,已有许多用于未压缩数字视频的数据隐藏方法,然而目前数字视频大都是 W压缩码流的格式出现的,如果仍使用用于未压缩数字视频的数据隐藏方法,则势必需要 先将压缩的视频码流解压到非压缩数字视频,然后才能进行隐秘信息的嵌入和提取,运将 导致计算复杂度和计算量显著增加,难W满足实时性方面的要求。
[0004] 为了进一步提高数据隐藏的实用性,最有效的方法是直接在视频比特流中嵌入秘 密信息,即根据待嵌入的秘密信息,直接修改视频比特流的码字。鉴于H. 264/AVC高效的 编码性能和良好的网络适应性,也是目前应用最普及的视频编码标准,H. 264/AVC码流域的 数据隐藏技术无疑将成为学术界研究的热点。然而,H. 264/AVC的高效压缩性能使其对编 码比特流中的微小变化非常敏感,从而使得H. 264/AVC码流域的数据隐藏具有很大的困难 和挑战。目前,直接针对H. 264/AVC视频码流的数据隐藏方法还相对较少,其中有两种方 法是分别通过对等长的运动矢量码字或参考帖索引码字进行映射来嵌入秘密信息,然而由 于H. 264/AVC视频码流中满足映射条件的运动矢量码字或参考帖索引码字的数量相对较 少,因此使得运两种方法可隐藏的数据容量受到限制;另外一种数据隐藏方法是通过对等 长的残差系数码字进行映射来嵌入秘密信息,但是运种方法没有充分发掘残差系数码字的 特性,仅使用了H. 264/AVC视频码流中很少部分的等长码字来嵌入秘密信息,使得其隐藏 容量也偏低。

【发明内容】
阳0化]本发明所要解决的技术问题是提供一种面向H. 264/AVC视频码流的大容量数据 隐藏方法,其能够很好地满足实时视频的应用需求,且数据隐藏容量大,并能够保证隐秘信 息隐藏的安全性。
[0006] 本发明解决上述技术问题所采用的技术方案为:一种面向比264/AVC视频码流的 大容量数据隐藏方法,包括隐秘信息嵌入和隐秘信息提取两部分,其特征在于:
[0007] 所述的隐秘信息嵌入部分的具体过程如下:
[000引①-1、将H. 264/AVC视频压缩编码标准中后缀长度为1且满足W下组合条件的每 两个Level码字组成两个码字对,其中,组合条件为两个Level码字的码字长度相差1且两 个Level码字的Level值的绝对值之差为I,在每两个Level码字组成的两个码字对中,第 一个码字对中的前一个Level码字与第二个码字对中的后一个Level码字相同,第一个码 字对中的后一个Level码字与第二个码字对中的前一个Level码字相同,每两个Level码 字组成的两个码字对的码字总长度相等;然后将所有码字对分成第一码字空间和第二码字 空间,其中,第一码字空间和第二码字空间中相对应的两个码字对中,其中一个码字对的码 字总长度与另一个码字对的码字总长度相等,对于其中一个码字对中的第一个Level码字 和另一个码字对中的第一个Level码字,两者的Level值的绝对值之差为1且两者的Level 值的符号一致,同样对于其中一个码字对中的第二个Level码字和另一个码字对中的第二 个Level码字,两者的Level值的绝对值之差为1且两者的Level值的符号一致;
[0009] 并,将H. 264/AVC视频压缩编码标准中后缀长度为2的所有Level码字分成第= 码字空间和第四码字空间,其中,第=码字空间和第四码字空间中相对应的两个Level码 字的码字长度相等、两个Level码字的Level值的绝对值之差为1、两个Level码字的Level 值的符号一致;
[0010] 将H. 264/AVC视频压缩编码标准中后缀长度为3的所有Level码字分成第五码字 空间、第六码字空间、第屯码字空间和第八码字空间,其中,第五码字空间、第六码字空间、 第屯码字空间和第八码字空间中相对应的四个Level码字的码字长度相等、四个Level码 字中相邻两个Level码字的Level值的绝对值之差为1、四个Level码字的Level值的符号 一致; W11] ①-2、对待嵌入隐秘信息的H. 264/AVC视频码流中的每个尺寸大小为4X4的子块 进行解析,识别出待嵌入隐秘信息的H. 264/AVC视频码流中的每个尺寸大小为4X4的子块 中的所有残差系数的Level码字;
[0012] ①-3、按序处理H. 264/AVC视频码流中的每个尺寸大小为4X4的子块,将H. 264/ AVC视频码流中当前待处理的尺寸大小为4X4的子块定义为当前子块;并将待嵌入的 隐秘信息中当前待嵌入的第n个信息比特定义为当前信息比特,其中,n的初始值为1, 1《n《N,N表示待嵌入的隐秘信息中包含的信息比特的总个数;
[0013] ①-4、按序处理当前子块中的每个Level码字,将当前子块中当前待处理的第m个 Level码字定义为当前Level码字,其中,m的初始值为1,1《m《M,M表示当前子块中包 含的Level码字的总个数;
[0014] ①-5、若当前Level码字的后缀长度为1,且当前Level码字和当前Level码字 的后一个Level码字的幅度值的绝对值均小于或等于3,则首先将当前Level码字和当前 Level码字的后一个Level码字按序组成当前码字对,然后判断当前码字对是否属于第一 码字空间或属于第二码字空间,如果属于第一码字空间或属于第二码字空间,则采用码字 映射方法将当前信息比特嵌入到当前码字对中,接着令m=m+2,令n=n+1,再执行步骤 ①-6;如果不属于第一码字空间且不属于第二码字空间,则当前码字对中不嵌入信息比 特,接着令m=m+2,再执行步骤①-6 ;其中,m=m+2和n=n+1中的"="为赋值符号;
[0015] 若当前Level码字的后缀长度为1,且当前Level码字的幅度值的绝对值大于3或 当前Level码字的后一个Level码字的幅度值的绝对值大于3,则对当前Level码字不作处 理,接着令m = m+1,再执行步骤①-6,其中,m = m+1中的"="为赋值符号;
[0016] 若当前Level码字的后缀长度为2,则判断当前Level码字是否属于第S码字空间 或属于第四码字空间,如果属于第S码字空间或属于第四码字空间,则采用码字映射方法 将当前信息比特嵌入到当前Level码字中,接着令m=m+1,令n=n+1,再执行步骤①-6 ; 如果不属于第S码字空间且不属于第四码字空间,则当前Level码字中不嵌入信息比特, 接着令m=m+1,再执行步骤①-6 ;其中,m=m+1和n=n+1中的"="为赋值符号;
[0017] 若当前Level码字的后缀长度为3,则判断当前Level码字是否属于第五码字空间 或第六码字空间或第屯码字空间或第八码字空间,如果属于第五码字空间或第六码字空间 或第屯码字空间或第八码字空间,则采用码字映射方法将当前信息比特和当前信息比特的 后一个信息比特嵌入到当前Level码字中,接着令m=m+1,令n=n+2,再执行步骤①-6 ; 如果不属于第五码字空间且不属于第六码字空间且不属于第屯码字空间且不属于第八码 字空间,则当前Level码字中不嵌入信息比特,接着令m=m+1,再执行步骤①-6,其中,m= m+1和n=n巧中的"="为赋值符号;
[001引①-6、将当前子块中的第m个Level码字作为当前Level码字,将待嵌入的隐秘信 息中的第n个信息比特作为当前信息比特,然后返回步骤①-5继续执行,直至隐秘信息中 的所有信息比特嵌入完毕或当前子块中的所有Level码字处理完毕,完成当前子块的数据 隐藏;
[0019] ①-7、将H. 264/AVC视频码流中下一个待处理的尺寸大小为4X4的子块作为当 前子块,然后返回步骤①-4继续执行,直至隐秘信息中的所有信息比特嵌入完毕或H. 264/ AVC视频码流中的所有尺寸大小为4X4的子块处理完毕,完成H. 264/AVC视频码流的数据 隐藏,得到含隐秘信息的H. 264/AVC视频码流。
[0020] 所述的步骤①-5中当当前Level码字的后缀长度为1时,采用码字映射方法将当 前信息比特嵌入到当前码字对中的具体过程为:如果当前信息比特为"0"且当前码字对属 于第一码字空间,则保持当前码字对不变;如果当前信息比特为"0"且当前码字对属于第 二码字空间,则用属于第一码字空间且与当前码字对相对应的码字对替换当前码字对;如 果当前信息比特为"1"且当前码字对属于第二码字空间,则保持当前码字对不变;如果当 前信息比特为"1"且当前码字对属于第一码字空间,则用属于第二码字空间且与当前码字 对相对应的码字对替换当前码字对。
[0021] 所述的步骤①-5中当当前Level码字的后缀长度为2时,采用码字映射方法将 当前信息比特嵌入到当前Level码字中的具体过程为:如果当前信息比特为"0"且当前 Level码字属于第S码字空间,则保持当前Level码字不变;如果当前信息比特为"0"且 当前Level码字属于第四码字空间,则用属于第S码字空间且与当前Level码字相对应的 Level码字替换当前Level码字;如果当前信息比特为"1"且当前Level码字属于第四码 字空间,则保持当前Level码字不变;如果当前信息比特为"r且当前Level码字属于第S 码字空间,则用属于第四码字空间且与当前Level码字相对应的Level码字替换当前Level 码字。
[0022] 所述的步骤①-5中当当前Level码字的后缀长度为3时,采用码字映射方法将当 前信息比特和当前信息比特的后一个信息比特嵌入到当前Level码字中的具体过程为:如 果当前信息比特和当前信息比特的后一个信息比特为"00"且当前Level码字属于第五码 字空间,则保持当前Level码字不变;如果当前信息比特和当前信息比特的后一个信息比 特为"00"且当前Level码字属于第六码字空间或第屯码字空间或第八码字空间,则用属于 第五码字空间且与当前Level码字相对应的Level码字替换当前Level码字;如果当前信 息比特和当前信息比特的后一个信息比特为"01"且当前Level码字属于第六码字空间, 则保持当前Level码字不变;如果当前信息比特和当前信息比特的后一个信息比特为"01" 且当前Level码字属于第五码字空间或第屯码字空间或第八码字空间,则用属于第六码字 空间且与当前Level码字相对应的Level码字替换当前Level码字;如果当前信息比特和 当前信息比特的后一个信息比特为"10"且当前Level码字属于第屯码字空间,则保持当 前Level码字不变;如果当前信息比特和当前信息比特的后一个信息比特为"10"且当前 Level码字属于第五码字空间或第六码字空间或第八码字空间,则用属于第屯码字空间且 与当前Level码字相对应的Level码字替换当前Level码字;如果当前信息比特和当前信 息比特的后
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1