首页> 中国专利> 一种面向H.264/AVC视频码流的大容量数据隐藏方法

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

摘要

本发明公开了一种面向H.264/AVC视频码流的大容量数据隐藏方法,其包括隐秘信息嵌入和隐秘信息提取两部分,且隐秘信息嵌入和隐秘信息提取均直接在H.264/AVC码流域进行,不需要对H.264/AVC视频码流进行解码或部分解码,因此本发明方法能够很好地满足实时视频的应用需求;其根据Level码字的后缀长度进行分类,再分别采用码字配对、单码字映射、多码字映射来嵌入隐秘信息中的信息比特,因此本发明方法的数据隐藏容量要比现有的单码字映射的数据隐藏容量大很多;且利用本发明方法嵌入隐秘信息后不会改变原始的H.264/AVC视频码流的码流结构,从而有效地避免了由于隐藏操作而出现整个数字视频的编码比特率增加和文件长度改变等问题,有效地保证了隐秘数据隐藏的安全性。

著录项

  • 公开/公告号CN105141962A

    专利类型发明专利

  • 公开/公告日2015-12-09

    原文格式PDF

  • 申请/专利权人 宁波工程学院;

    申请/专利号CN201510552973.0

  • 发明设计人 徐达文;

    申请日2015-09-01

  • 分类号H04N19/467(20140101);

  • 代理机构宁波奥圣专利代理事务所(普通合伙);

  • 代理人周珏

  • 地址 315211 浙江省宁波市镇海区中官西路

  • 入库时间 2023-12-18 12:40:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-17

    授权

    授权

  • 2017-10-24

    著录事项变更 IPC(主分类):H04N19/467 变更前: 变更后: 申请日:20150901

    著录事项变更

  • 2016-01-06

    实质审查的生效 IPC(主分类):H04N19/467 申请日:20150901

    实质审查的生效

  • 2015-12-09

    公开

    公开

说明书

技术领域

本发明涉及一种视频的数据隐藏技术,尤其是涉及一种面向H.264/AVC视频码流的 大容量数据隐藏方法。

背景技术

数据隐藏是以具有明确内容的数字对象如图像、音频或视频等作为数字载体,在数 字载体中隐藏秘密信息,要求秘密信息的嵌入不改变原始的数字载体的视觉或听觉效 果,从而使秘密信息能以不引起外界注意的方式通过公开信道进行传输,因而具有更大 的隐蔽性和安全性。数据隐藏技术作为数字媒体的版权保护、内容认证以及隐秘通信的 有效手段,已经成为多媒体信息安全领域研究的热点。

目前,已有许多用于未压缩数字视频的数据隐藏方法,然而目前数字视频大都是以 压缩码流的格式出现的,如果仍使用用于未压缩数字视频的数据隐藏方法,则势必需要 先将压缩的视频码流解压到非压缩数字视频,然后才能进行隐秘信息的嵌入和提取,这 将导致计算复杂度和计算量显著增加,难以满足实时性方面的要求。

为了进一步提高数据隐藏的实用性,最有效的方法是直接在视频比特流中嵌入秘密 信息,即根据待嵌入的秘密信息,直接修改视频比特流的码字。鉴于H.264/AVC高效 的编码性能和良好的网络适应性,也是目前应用最普及的视频编码标准,H.264/AVC码 流域的数据隐藏技术无疑将成为学术界研究的热点。然而,H.264/AVC的高效压缩性能 使其对编码比特流中的微小变化非常敏感,从而使得H.264/AVC码流域的数据隐藏具有 很大的困难和挑战。目前,直接针对H.264/AVC视频码流的数据隐藏方法还相对较少, 其中有两种方法是分别通过对等长的运动矢量码字或参考帧索引码字进行映射来嵌入 秘密信息,然而由于H.264/AVC视频码流中满足映射条件的运动矢量码字或参考帧索引 码字的数量相对较少,因此使得这两种方法可隐藏的数据容量受到限制;另外一种数据 隐藏方法是通过对等长的残差系数码字进行映射来嵌入秘密信息,但是这种方法没有充 分发掘残差系数码字的特性,仅使用了H.264/AVC视频码流中很少部分的等长码字来嵌 入秘密信息,使得其隐藏容量也偏低。

发明内容

本发明所要解决的技术问题是提供一种面向H.264/AVC视频码流的大容量数据隐 藏方法,其能够很好地满足实时视频的应用需求,且数据隐藏容量大,并能够保证隐秘 信息隐藏的安全性。

本发明解决上述技术问题所采用的技术方案为:一种面向H.264/AVC视频码流的大 容量数据隐藏方法,包括隐秘信息嵌入和隐秘信息提取两部分,其特征在于:

所述的隐秘信息嵌入部分的具体过程如下:

①-1、将H.264/AVC视频压缩编码标准中后缀长度为1且满足以下组合条件的每两 个Level码字组成两个码字对,其中,组合条件为两个Level码字的码字长度相差1且 两个Level码字的Level值的绝对值之差为1,在每两个Level码字组成的两个码字对中, 第一个码字对中的前一个Level码字与第二个码字对中的后一个Level码字相同,第一 个码字对中的后一个Level码字与第二个码字对中的前一个Level码字相同,每两个 Level码字组成的两个码字对的码字总长度相等;然后将所有码字对分成第一码字空间 和第二码字空间,其中,第一码字空间和第二码字空间中相对应的两个码字对中,其中 一个码字对的码字总长度与另一个码字对的码字总长度相等,对于其中一个码字对中的 第一个Level码字和另一个码字对中的第一个Level码字,两者的Level值的绝对值之 差为1且两者的Level值的符号一致,同样对于其中一个码字对中的第二个Level码字 和另一个码字对中的第二个Level码字,两者的Level值的绝对值之差为1且两者的Level 值的符号一致;

并,将H.264/AVC视频压缩编码标准中后缀长度为2的所有Level码字分成第三码 字空间和第四码字空间,其中,第三码字空间和第四码字空间中相对应的两个Level码 字的码字长度相等、两个Level码字的Level值的绝对值之差为1、两个Level码字的 Level值的符号一致;

将H.264/AVC视频压缩编码标准中后缀长度为3的所有Level码字分成第五码字空 间、第六码字空间、第七码字空间和第八码字空间,其中,第五码字空间、第六码字空 间、第七码字空间和第八码字空间中相对应的四个Level码字的码字长度相等、四个 Level码字中相邻两个Level码字的Level值的绝对值之差为1、四个Level码字的Level 值的符号一致;

①-2、对待嵌入隐秘信息的H.264/AVC视频码流中的每个尺寸大小为4×4的子块 进行解析,识别出待嵌入隐秘信息的H.264/AVC视频码流中的每个尺寸大小为4×4的 子块中的所有残差系数的Level码字;

①-3、按序处理H.264/AVC视频码流中的每个尺寸大小为4×4的子块,将 H.264/AVC视频码流中当前待处理的尺寸大小为4×4的子块定义为当前子块;并将待 嵌入的隐秘信息中当前待嵌入的第n个信息比特定义为当前信息比特,其中,n的初始 值为1,1≤n≤N,N表示待嵌入的隐秘信息中包含的信息比特的总个数;

①-4、按序处理当前子块中的每个Level码字,将当前子块中当前待处理的第m个 Level码字定义为当前Level码字,其中,m的初始值为1,1≤m≤M,M表示当前子块 中包含的Level码字的总个数;

①-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中的“=”为赋值符号;

若当前Level码字的后缀长度为1,且当前Level码字的幅度值的绝对值大于3或 当前Level码字的后一个Level码字的幅度值的绝对值大于3,则对当前Level码字不作 处理,接着令m=m+1,再执行步骤①-6,其中,m=m+1中的“=”为赋值符号;

若当前Level码字的后缀长度为2,则判断当前Level码字是否属于第三码字空间 或属于第四码字空间,如果属于第三码字空间或属于第四码字空间,则采用码字映射方 法将当前信息比特嵌入到当前Level码字中,接着令m=m+1,令n=n+1,再执行步骤①-6; 如果不属于第三码字空间且不属于第四码字空间,则当前Level码字中不嵌入信息比特, 接着令m=m+1,再执行步骤①-6;其中,m=m+1和n=n+1中的“=”为赋值符号;

若当前Level码字的后缀长度为3,则判断当前Level码字是否属于第五码字空间 或第六码字空间或第七码字空间或第八码字空间,如果属于第五码字空间或第六码字空 间或第七码字空间或第八码字空间,则采用码字映射方法将当前信息比特和当前信息比 特的后一个信息比特嵌入到当前Level码字中,接着令m=m+1,令n=n+2,再执行步骤 ①-6;如果不属于第五码字空间且不属于第六码字空间且不属于第七码字空间且不属于 第八码字空间,则当前Level码字中不嵌入信息比特,接着令m=m+1,再执行步骤①-6, 其中,m=m+1和n=n+2中的“=”为赋值符号;

①-6、将当前子块中的第m个Level码字作为当前Level码字,将待嵌入的隐秘信 息中的第n个信息比特作为当前信息比特,然后返回步骤①-5继续执行,直至隐秘信息 中的所有信息比特嵌入完毕或当前子块中的所有Level码字处理完毕,完成当前子块的 数据隐藏;

①-7、将H.264/AVC视频码流中下一个待处理的尺寸大小为4×4的子块作为当前 子块,然后返回步骤①-4继续执行,直至隐秘信息中的所有信息比特嵌入完毕或 H.264/AVC视频码流中的所有尺寸大小为4×4的子块处理完毕,完成H.264/AVC视频 码流的数据隐藏,得到含隐秘信息的H.264/AVC视频码流。

所述的步骤①-5中当当前Level码字的后缀长度为1时,采用码字映射方法将当前 信息比特嵌入到当前码字对中的具体过程为:如果当前信息比特为“0”且当前码字对属 于第一码字空间,则保持当前码字对不变;如果当前信息比特为“0”且当前码字对属于 第二码字空间,则用属于第一码字空间且与当前码字对相对应的码字对替换当前码字 对;如果当前信息比特为“1”且当前码字对属于第二码字空间,则保持当前码字对不变; 如果当前信息比特为“1”且当前码字对属于第一码字空间,则用属于第二码字空间且与 当前码字对相对应的码字对替换当前码字对。

所述的步骤①-5中当当前Level码字的后缀长度为2时,采用码字映射方法将当前 信息比特嵌入到当前Level码字中的具体过程为:如果当前信息比特为“0”且当前Level 码字属于第三码字空间,则保持当前Level码字不变;如果当前信息比特为“0”且当前 Level码字属于第四码字空间,则用属于第三码字空间且与当前Level码字相对应的 Level码字替换当前Level码字;如果当前信息比特为“1”且当前Level码字属于第四码 字空间,则保持当前Level码字不变;如果当前信息比特为“1’且当前Level码字属于第 三码字空间,则用属于第四码字空间且与当前Level码字相对应的Level码字替换当前 Level码字。

所述的步骤①-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码字;如果当前 信息比特和当前信息比特的后一个信息比特为“11”且当前Level码字属于第八码字空 间,则保持当前Level码字不变;如果当前信息比特和当前信息比特的后一个信息比特 为“11”且当前Level码字属于第五码字空间或第六码字空间或第七码字空间,则用属于 第八码字空间且与当前Level码字相对应的Level码字替换当前Level码字。

所述的隐秘信息提取部分的具体过程如下:

②-1、将H.264/AVC视频压缩编码标准中后缀长度为1且满足以下组合条件的每两 个Level码字组成两个码字对,其中,组合条件为两个Level码字的码字长度相差1且 两个Level码字的Level值的绝对值之差为1,在每两个Level码字组成的两个码字对中, 第一个码字对中的前一个Level码字与第二个码字对中的后一个Level码字相同,第一 个码字对中的后一个Level码字与第二个码字对中的前一个Level码字相同,每两个 Level码字组成的两个码字对的码字总长度相等;然后将所有码字对分成第一码字空间 和第二码字空间,其中,第一码字空间和第二码字空间中相对应的两个码字对中,其中 一个码字对的码字总长度与另一个码字对的码字总长度相等,对于其中一个码字对中的 第一个Level码字和另一个码字对中的第一个Level码字,两者的Level值的绝对值之 差为1且两者的Level值的符号一致,同样对于其中一个码字对中的第二个Level码字 和另一个码字对中的第二个Level码字,两者的Level值的绝对值之差为1且两者的Level 值的符号一致;

并,将H.264/AVC视频压缩编码标准中后缀长度为2的所有Level码字分成第三码 字空间和第四码字空间,其中,第三码字空间和第四码字空间中相对应的两个Level码 字的码字长度相等、两个Level码字的Level值的绝对值之差为1、两个Level码字的 Level值的符号一致;

将H.264/AVC视频压缩编码标准中后缀长度为3的所有Level码字分成第五码字空 间、第六码字空间、第七码字空间和第八码字空间,其中,第五码字空间、第六码字空 间、第七码字空间和第八码字空间中相对应的四个Level码字的码字长度相等、四个 Level码字中相邻两个Level码字的Level值的绝对值之差为1、四个Level码字的Level 值的符号一致;

②-2、对含隐秘信息的H.264/AVC视频码流中的每个尺寸大小为4×4的子块进行 解析,识别出含隐秘信息的H.264/AVC视频码流中的每个尺寸大小为4×4的子块中的 所有残差系数的Level码字;

②-3、按序处理含隐秘信息的H.264/AVC视频码流中的每个尺寸大小为4×4的子 块,将含隐秘信息的H.264/AVC视频码流中当前待处理的尺寸大小为4×4的子块定义 为当前子块;

②-4、按序处理当前子块中的每个Level码字,将当前子块中当前待处理的第p个 Level码字定义为当前Level码字,其中,p的初始值为1,1≤p≤P,P表示当前子块中包 含的Level码字的总个数;

②-5、若当前Level码字的后缀长度为1,且当前Level码字和当前Level码字的后 一个Level码字的幅度值的绝对值均小于或等于3,则首先将当前Level码字和当前Level 码字的后一个Level码字按序组成当前码字对,然后判断当前码字对属于第一码字空间 还是属于第二码字空间还是既不属于第一码字空间又不属于第二码字空间,如果属于第 一码字空间,则从当前码字对中提取出信息比特“0”,接着令p=p+2,再执行步骤②-6; 如果属于第二码字空间,则从当前码字对中提取出信息比特“1”,接着令p=p+2,再执行 步骤②-6;如果既不属于第一码字空间又不属于第二码字空间,则当前码字对中不提取 信息比特,接着令p=p+2,再执行步骤②-6;其中,p=p+2中的“=”为赋值符号;

若当前Level码字的后缀长度为1,且当前Level码字的幅度值的绝对值大于3或 当前Level码字的后一个Level码字的幅度值的绝对值大于3,则对当前Level码字不作 处理,接着令p=p+1,再执行步骤②-6,其中,p=p+1中的“=”为赋值符号;

若当前Level码字的后缀长度为2,则判断当前Level码字属于第三码字空间还是 属于第四码字空间还是既不属于第三码字空间又不属于第四码字空间,如果属于第三码 字空间,则从当前Level码字中提取出信息比特“0”,接着令p=p+1,再执行步骤②-6; 如果属于第四码字空间,则从当前Level码字中提取出信息比特“1”,接着令p=p+1,再 执行步骤②-6;如果既不属于第三码字空间又不属于第四码字空间,则当前Level码字 中不提取信息比特,接着令p=p+1,再执行步骤②-6;

若当前Level码字的后缀长度为3,则判断当前Level码字属于第五码字空间还是 属于第六码字空间还是属于第七码字空间还是属于第八码字空间还是不属于第五码字 空间、第六码字空间、第七码字空间和第八码字空间中的任一个码字空间,如果属于第 五码字空间,则从当前Level码字中提取出信息比特“00”,接着令p=p+1,再执行步骤 ②-6;如果属于第六码字空间,则从当前Level码字中提取出信息比特“01”,接着令 p=p+1,再执行步骤②-6;如果属于第七码字空间,则从当前Level码字中提取出信息比 特“10”,接着令p=p+1,再执行步骤②-6;如果属于第八码字空间,则从当前Level码 字中提取出信息比特“11”,接着令p=p+1,再执行步骤②-6;如果不属于第五码字空间、 第六码字空间、第七码字空间和第八码字空间中的任一个码字空间,则当前Level码字 中不提取信息比特,接着令p=p+1,再执行步骤②-6;

②-6、将当前子块中的第p个Level码字作为当前Level码字,然后返回步骤②-5 继续执行,直至当前子块中的所有Level码字处理完毕;

②-7、将含隐秘信息的H.264/AVC视频码流中下一个待处理的尺寸大小为4×4的子 块作为当前子块,然后返回步骤②-4继续执行,直至含隐秘信息的H.264/AVC视频码流 中的所有尺寸大小为4×4的子块处理完毕,提取得到隐秘信息。

与现有技术相比,本发明的优点在于:

1)本发明方法中的隐秘信息嵌入和隐秘信息提取均直接在H.264/AVC码流域进行, 不需要对H.264/AVC视频码流进行解码或部分解码,因此本发明方法能够很好地满足实 时视频的应用需求。

2)本发明方法根据Level码字的后缀长度进行分类,再分别采用码字配对、单码字 映射、多码字映射来嵌入隐秘信息中的信息比特,因此本发明方法的数据隐藏容量要比 现有的单码字映射的数据隐藏容量大很多。

3)利用本发明方法嵌入隐秘信息中的信息比特后的Level码字(或码字对)能够保 持与原始的Level码字(或码字对)的长度和Level值的符号均不变,因此利用本发明方 法嵌入隐秘信息后不会改变原始的H.264/AVC视频码流的码流结构,从而有效地避免了 由于隐藏操作而出现整个数字视频的编码比特率增加和文件长度改变等问题,有效地保 证了隐秘数据隐藏的安全性。

附图说明

图1为本发明方法中的隐秘信息嵌入部分的总体实现框图;

图2为第一码字空间和第二码字空间中相对应的两个码字对的对应关系图;

图3为第三码字空间和第四码字空间中相对应的两个Level码字的对应关系图;

图4为第五码字空间、第六码字空间、第七码字空间和第八码字空间中相对应的四 个Level码字的对应关系图;

图5a为实验过程中利用本发明方法在后缀长度为1的Level码字中嵌入隐秘信息 “101”的过程示意图;

图5b为实验过程中利用本发明方法在后缀长度为1的Level码字中提取隐秘信息 “101”的过程示意图。

具体实施方式

以下结合附图实施例对本发明作进一步详细描述。

本发明提出的一种面向H.264/AVC视频码流的大容量数据隐藏方法,其包括隐秘信 息嵌入和隐秘信息提取两部分。

其中,隐秘信息嵌入部分的总体实现框图如图1所示,隐秘信息嵌入部分的具体过 程如下:

①-1、将H.264/AVC视频压缩编码标准中后缀长度为1且满足以下组合条件的每两 个Level码字组成两个码字对,其中,组合条件为两个Level码字的码字长度相差1且 两个Level码字的Level值的绝对值之差为1,在每两个Level码字组成的两个码字对中, 第一个码字对中的前一个Level码字与第二个码字对中的后一个Level码字相同,第一 个码字对中的后一个Level码字与第二个码字对中的前一个Level码字相同,每两个 Level码字组成的两个码字对的码字总长度相等;然后将所有码字对分成第一码字空间 和第二码字空间,其中,第一码字空间和第二码字空间中相对应的两个码字对中,其中 一个码字对的码字总长度与另一个码字对的码字总长度相等,对于其中一个码字对中的 第一个Level码字和另一个码字对中的第一个Level码字,两者的Level值的绝对值之 差为1且两者的Level值的符号一致,同样对于其中一个码字对中的第二个Level码字 和另一个码字对中的第二个Level码字,两者的Level值的绝对值之差为1且两者的Level 值的符号一致。

将H.264/AVC视频压缩编码标准中后缀长度为2的所有Level码字分成第三码字 空间和第四码字空间,其中,第三码字空间和第四码字空间中相对应的两个Level码字 的码字长度相等、两个Level码字的Level值的绝对值之差为1、两个Level码字的Level 值的符号一致(即第三码字空间和第四码字空间中相对应的两个Level码字各自对应的 Level值均大于0或均小于0)。

将H.264/AVC视频压缩编码标准中后缀长度为3的所有Level码字分成第五码字空 间、第六码字空间、第七码字空间和第八码字空间,其中,第五码字空间、第六码字空 间、第七码字空间和第八码字空间中相对应的四个Level码字的码字长度相等、四个 Level码字中相邻两个Level码字的Level值的绝对值之差为1、四个Level码字的Level 值的符号一致(即第五码字空间、第六码字空间、第七码字空间和第八码字空间中相对 应的四个Level码字各自对应的Level值均大于0或均小于0)。

表1给出了H.264/AVC视频压缩编码标准中的部分Level码字及Level码字的后缀 长度、Level值和Level值的符号。隐秘信息是通过映射表1中的Level码字进行嵌入的, 用于嵌入隐秘信息的Level码字需满足两条限制:1)嵌入隐秘信息后的视频码流必须保 持格式兼容,因此替代的Level码字应该与原Level码字具有相同的码字长度;2)嵌入 隐秘信息对视频的视觉质量影响应该尽可能小,因此替换的Level码字与原Level码字 对应的Level值应该尽量接近。

表1H.264/AVC视频压缩编码标准中的部分Level码字及Level码字的后缀长度、 Level值和Level值的符号

由于H.264/AVC视频压缩编码标准中后缀长度为1的Level码字不满足等长码字映 射条件,因此本发明方法进行相邻Level码字配对,即相邻两个Level码字对应的后缀 长度均为1、码字长度相差1,则组成一个码字对。表2给出了表1中后缀长度为1且 Level值为1、2、-1、-2的所有Level码字的配对情况,从表2中可以看出(10,010) 与(010,10)为Level码字10与Level码字010组成的两个码字对,(10,011)与(011, 10)为Level码字10与Level码字011组成的两个码字对,(11,010)与(010,11) 为Level码字11与Level码字010组成的两个码字对,(11,011)与(011,11)为Level 码字11与Level码字011组成的两个码字对;同时,在表2中示出了嵌入隐秘信息时可 映射的码字对,见虚线框所示,即(10,010)与(010,10)可映射,(10,011)与(010, 11)可映射,(11,010)与(011,10)可映射,(11,011)与(011,11)可映射。将 表2所列的所有可映射的码字对分成的第一码字空间和第二码字空间如图2所示,图2 中箭头所对应的两个码字对为隐秘信息嵌入时可映射的两个码字对。

表2后缀长度为1且Level值为1、2、-1、-2的所有Level码字的配对情况

将表1所列的后缀长度为2的所有Level码字分成的第三码字空间和第四码字空间 如图3所示,图3中箭头所对应的两个Level码字为隐秘信息嵌入时可替换的两个Level 码字。

将表1所列的后缀长度为3的部分Level码字分成的第五码字空间、第六码字空间、 第七码字空间和第八码字空间如图4所示,图4中箭头所对应的四个Level码字为隐秘 信息嵌入时可替换的四个Level码字。

①-2、对待嵌入隐秘信息的H.264/AVC视频码流中的每个尺寸大小为4×4的子块 进行解析,识别出待嵌入隐秘信息的H.264/AVC视频码流中的每个尺寸大小为4×4的 子块中的所有残差系数的Level码字。

①-3、按序处理H.264/AVC视频码流中的每个尺寸大小为4×4的子块,将 H.264/AVC视频码流中当前待处理的尺寸大小为4×4的子块定义为当前子块;并将待 嵌入的隐秘信息中当前待嵌入的第n个信息比特定义为当前信息比特,其中,n的初始 值为1,1≤n≤N,N表示待嵌入的隐秘信息中包含的信息比特的总个数。

①-4、按序处理当前子块中的每个Level码字,将当前子块中当前待处理的第m个 Level码字定义为当前Level码字,其中,m的初始值为1,1≤m≤M,M表示当前子块 中包含的Level码字的总个数。

①-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中的“=”为赋值符号。

若当前Level码字的后缀长度为1,且当前Level码字的幅度值的绝对值大于3或 当前Level码字的后一个Level码字的幅度值的绝对值大于3,则对当前Level码字不作 处理,接着令m=m+1,再执行步骤①-6,其中,m=m+1中的“=”为赋值符号。

若当前Level码字的后缀长度为2,则判断当前Level码字是否属于第三码字空间 或属于第四码字空间,如果属于第三码字空间或属于第四码字空间,则采用码字映射方 法将当前信息比特嵌入到当前Level码字中,接着令m=m+1,令n=n+1,再执行步骤①-6; 如果不属于第三码字空间且不属于第四码字空间,则当前Level码字中不嵌入信息比特, 接着令m=m+1,再执行步骤①-6;其中,m=m+1和n=n+1中的“=”为赋值符号。

若当前Level码字的后缀长度为3,则判断当前Level码字是否属于第五码字空间 或第六码字空间或第七码字空间或第八码字空间,如果属于第五码字空间或第六码字空 间或第七码字空间或第八码字空间,则采用码字映射方法将当前信息比特和当前信息比 特的后一个信息比特嵌入到当前Level码字中,接着令m=m+1,令n=n+2,再执行步骤 ①-6;如果不属于第五码字空间且不属于第六码字空间且不属于第七码字空间且不属于 第八码字空间,则当前Level码字中不嵌入信息比特,接着令m=m+1,再执行步骤①-6, 其中,m=m+1和n=n+2中的“=”为赋值符号。

在此具体实施例中,步骤①-5中当当前Level码字的后缀长度为1时,采用码字映 射方法将当前信息比特嵌入到当前码字对中的具体过程为:如果当前信息比特为“0”且 当前码字对属于第一码字空间,则保持当前码字对不变;如果当前信息比特为“0”且当 前码字对属于第二码字空间,则用属于第一码字空间且与当前码字对相对应的码字对替 换当前码字对;如果当前信息比特为“1”且当前码字对属于第二码字空间,则保持当前 码字对不变;如果当前信息比特为“1”且当前码字对属于第一码字空间,则用属于第二 码字空间且与当前码字对相对应的码字对替换当前码字对。

在此具体实施例中,步骤①-5中当当前Level码字的后缀长度为2时,采用码字映 射方法将当前信息比特嵌入到当前Level码字中的具体过程为:如果当前信息比特为“0” 且当前Level码字属于第三码字空间,则保持当前Level码字不变;如果当前信息比特 为“0”且当前Level码字属于第四码字空间,则用属于第三码字空间且与当前Level码字 相对应的Level码字替换当前Level码字;如果当前信息比特为“1”且当前Level码字属 于第四码字空间,则保持当前Level码字不变;如果当前信息比特为“1’且当前Level码 字属于第三码字空间,则用属于第四码字空间且与当前Level码字相对应的Level码字 替换当前Level码字。

在此具体实施例中,步骤①-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码 字;如果当前信息比特和当前信息比特的后一个信息比特为“11”且当前Level码字属于 第八码字空间,则保持当前Level码字不变;如果当前信息比特和当前信息比特的后一 个信息比特为“11”且当前Level码字属于第五码字空间或第六码字空间或第七码字空 间,则用属于第八码字空间且与当前Level码字相对应的Level码字替换当前Level码 字。

①-6、将当前子块中的第m个Level码字作为当前Level码字,将待嵌入的隐秘信 息中的第n个信息比特作为当前信息比特,然后返回步骤①-5继续执行,直至隐秘信息 中的所有信息比特嵌入完毕或当前子块中的所有Level码字处理完毕,完成当前子块的 数据隐藏。

①-7、将H.264/AVC视频码流中下一个待处理的尺寸大小为4×4的子块作为当前 子块,然后返回步骤①-4继续执行,直至隐秘信息中的所有信息比特嵌入完毕或 H.264/AVC视频码流中的所有尺寸大小为4×4的子块处理完毕,完成H.264/AVC视频 码流的数据隐藏,得到含隐秘信息的H.264/AVC视频码流。

其中,隐秘信息提取部分的具体过程如下:

②-1、将H.264/AVC视频压缩编码标准中后缀长度为1且满足以下组合条件的每两 个Level码字组成两个码字对,其中,组合条件为两个Level码字的码字长度相差1且 两个Level码字的Level值的绝对值之差为1,在每两个Level码字组成的两个码字对中, 第一个码字对中的前一个Level码字与第二个码字对中的后一个Level码字相同,第一 个码字对中的后一个Level码字与第二个码字对中的前一个Level码字相同,每两个 Level码字组成的两个码字对的码字总长度相等;然后将所有码字对分成第一码字空间 和第二码字空间,其中,第一码字空间和第二码字空间中相对应的两个码字对中,其中 一个码字对的码字总长度与另一个码字对的码字总长度相等,对于其中一个码字对中的 第一个Level码字和另一个码字对中的第一个Level码字,两者的Level值的绝对值之 差为1且两者的Level值的符号一致,同样对于其中一个码字对中的第二个Level码字 和另一个码字对中的第二个Level码字,两者的Level值的绝对值之差为1且两者的Level 值的符号一致。

并,将H.264/AVC视频压缩编码标准中后缀长度为2的所有Level码字分成第三码 字空间和第四码字空间,其中,第三码字空间和第四码字空间中相对应的两个Level码 字的码字长度相等、两个Level码字的Level值的绝对值之差为1、两个Level码字的 Level值的符号一致(即第三码字空间和第四码字空间中相对应的两个Level码字各自 对应的Level值均大于0或均小于0)。

将H.264/AVC视频压缩编码标准中后缀长度为3的所有Level码字分成第五码字空 间、第六码字空间、第七码字空间和第八码字空间,其中,第五码字空间、第六码字空 间、第七码字空间和第八码字空间中相对应的四个Level码字的码字长度相等、四个 Level码字中相邻两个Level码字的Level值的绝对值之差为1、四个Level码字的Level 值的符号一致(即第五码字空间、第六码字空间、第七码字空间和第八码字空间中相对 应的四个Level码字各自对应的Level值均大于0或均小于0)。

②-2、对含隐秘信息的H.264/AVC视频码流中的每个尺寸大小为4×4的子块进行 解析,识别出含隐秘信息的H.264/AVC视频码流中的每个尺寸大小为4×4的子块中的 所有残差系数的Level码字。

②-3、按序处理含隐秘信息的H.264/AVC视频码流中的每个尺寸大小为4×4的子 块,将含隐秘信息的H.264/AVC视频码流中当前待处理的尺寸大小为4×4的子块定义 为当前子块。

②-4、按序处理当前子块中的每个Level码字,将当前子块中当前待处理的第p个 Level码字定义为当前Level码字,其中,p的初始值为1,1≤p≤P,P表示当前子块中包 含的Level码字的总个数。

②-5、若当前Level码字的后缀长度为1,且当前Level码字和当前Level码字的后 一个Level码字的幅度值的绝对值均小于或等于3,则首先将当前Level码字和当前Level 码字的后一个Level码字按序组成当前码字对,然后判断当前码字对属于第一码字空间 还是属于第二码字空间还是既不属于第一码字空间又不属于第二码字空间,如果属于第 一码字空间,则从当前码字对中提取出信息比特“0”,接着令p=p+2,再执行步骤②-6; 如果属于第二码字空间,则从当前码字对中提取出信息比特“1”,接着令p=p+2,再执行 步骤②-6;如果既不属于第一码字空间又不属于第二码字空间,则当前码字对中不提取 信息比特,接着令p=p+2,再执行步骤②-6;其中,p=p+2中的“=”为赋值符号。

若当前Level码字的后缀长度为1,且当前Level码字的幅度值的绝对值大于3或 当前Level码字的后一个Level码字的幅度值的绝对值大于3,则对当前Level码字不作 处理,接着令p=p+1,再执行步骤②-6,其中,p=p+1中的“=”为赋值符号。

若当前Level码字的后缀长度为2,则判断当前Level码字属于第三码字空间还是 属于第四码字空间还是既不属于第三码字空间又不属于第四码字空间,如果属于第三码 字空间,则从当前Level码字中提取出信息比特“0”,接着令p=p+1,再执行步骤②-6; 如果属于第四码字空间,则从当前Level码字中提取出信息比特“1”,接着令p=p+1,再 执行步骤②-6;如果既不属于第三码字空间又不属于第四码字空间,则当前Level码字 中不提取信息比特,接着令p=p+1,再执行步骤②-6。

若当前Level码字的后缀长度为3,则判断当前Level码字属于第五码字空间还是 属于第六码字空间还是属于第七码字空间还是属于第八码字空间还是不属于第五码字 空间、第六码字空间、第七码字空间和第八码字空间中的任一个码字空间,如果属于第 五码字空间,则从当前Level码字中提取出信息比特“00”,接着令p=p+1,再执行步骤 ②-6;如果属于第六码字空间,则从当前Level码字中提取出信息比特“01”,接着令 p=p+1,再执行步骤②-6;如果属于第七码字空间,则从当前Level码字中提取出信息比 特“10”,接着令p=p+1,再执行步骤②-6;如果属于第八码字空间,则从当前Level码 字中提取出信息比特“11”,接着令p=p+1,再执行步骤②-6;如果不属于第五码字空间、 第六码字空间、第七码字空间和第八码字空间中的任一个码字空间,则当前Level码字 中不提取信息比特,接着令p=p+1,再执行步骤②-6。

②-6、将当前子块中的第p个Level码字作为当前Level码字,然后返回步骤②-5 继续执行,直至当前子块中的所有Level码字处理完毕。

②-7、将含隐秘信息的H.264/AVC视频码流中下一个待处理的尺寸大小为4×4的 子块作为当前子块,然后返回步骤②-4继续执行,直至含隐秘信息的H.264/AVC视频 码流中的所有尺寸大小为4×4的子块处理完毕,提取得到隐秘信息。

为进一步验证本发明方法的可行性和有效性,对本发明方法进行试验。

假定待嵌入的隐秘信息为“101”,从H.264/AVC视频码流中解析出的后缀长度为1 的Level码字为“0101001111101111010”。

则隐秘信息嵌入的过程如图5a所示,首先根据步骤①-5中后缀长度为1的Level 码字组成码字对的原则,将“0101001111101111010”组成多个码字对,如图5a所示, (010,10)码字对属于第二码字空间C2,(011,11)码字对属于第二码字空间C2,由于(10, 11)码字对既不属于第一码字空间C1又不属于第二码字空间C2,不嵌入信息比特,所 以跳过“10”和“11”,后续的(11,010)码字对属于第一码字空间C1。其次,进行隐秘信息 中的信息比特嵌入,例如,当需要嵌入的信息比特为“1”,而此时码字对(010,10)属于第 二码字空间C2,根据嵌入规则,此时码字对(010,10)保持不变;同理,下一位需要嵌入 的信息比特为“0”,下一个码字对(011,11)属于第二码字空间C2,根据嵌入规则,需将码 字对(011,11)映射到对应的第一码字空间C1,即用第一码字空间C1中的码字对(11,011) 替换码字对(011,11),就完成了信息比特“0”的嵌入;下一位需要嵌入的信息比特为“1”, 下一个码字对(11,010)属于第一码字空间C1,根据嵌入规则,需将码字对(11,010)映射到 对应的第二码字空间C2,即用第二码字空间C2中的码字对(011,10)替换码字对 (11,010),就完成了信息比特“1”的嵌入。

隐秘信息提取的过程如图5b所示,根据步骤②-5中后缀长度为1的Level码字组 成码字对的原则,将“0101011011101101110”组成多个码字对,如图5b所示,(010,10) 码字对属于第二码字空间C2,则提取信息比特“1”;(11,011)码字对属于第一码字空间 C1,则提取信息比特“0”;由于(10,11)既不属于第一码字空间C1又不属于第二码 字空间C2,不提取信息比特,所以在隐秘信息提取过程中会跳过这两个Level码字,下 一个码字对(011,10)属于第二码字空间C2,所以提取信息比特“1”;最后提取的隐秘信息 为“101”,与嵌入的隐秘信息完全一致。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号