CN105141962B - 一种面向h.264/avc视频码流的大容量数据隐藏方法 - Google Patents
一种面向h.264/avc视频码流的大容量数据隐藏方法 Download PDFInfo
- Publication number
- CN105141962B CN105141962B CN201510552973.0A CN201510552973A CN105141962B CN 105141962 B CN105141962 B CN 105141962B CN 201510552973 A CN201510552973 A CN 201510552973A CN 105141962 B CN105141962 B CN 105141962B
- Authority
- CN
- China
- Prior art keywords
- code word
- code
- current
- level
- code words
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种面向H.264/AVC视频码流的大容量数据隐藏方法,其包括隐秘信息嵌入和隐秘信息提取两部分,且隐秘信息嵌入和隐秘信息提取均直接在H.264/AVC码流域进行,不需要对H.264/AVC视频码流进行解码或部分解码,因此本发明方法能够很好地满足实时视频的应用需求;其根据Level码字的后缀长度进行分类,再分别采用码字配对、单码字映射、多码字映射来嵌入隐秘信息中的信息比特,因此本发明方法的数据隐藏容量要比现有的单码字映射的数据隐藏容量大很多;且利用本发明方法嵌入隐秘信息后不会改变原始的H.264/AVC视频码流的码流结构,从而有效地避免了由于隐藏操作而出现整个数字视频的编码比特率增加和文件长度改变等问题,有效地保证了隐秘数据隐藏的安全性。
Description
技术领域
本发明涉及一种视频的数据隐藏技术,尤其是涉及一种面向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”,与嵌入的隐秘信息完全一致。
Claims (5)
1.一种面向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视频码流。
2.根据权利要求1所述的一种面向H.264/AVC视频码流的大容量数据隐藏方法,其特征在于:所述的步骤①-5中当当前Level码字的后缀长度为1时,采用码字映射方法将当前信息比特嵌入到当前码字对中的具体过程为:如果当前信息比特为“0”且当前码字对属于第一码字空间,则保持当前码字对不变;如果当前信息比特为“0”且当前码字对属于第二码字空间,则用属于第一码字空间且与当前码字对相对应的码字对替换当前码字对;如果当前信息比特为“1”且当前码字对属于第二码字空间,则保持当前码字对不变;如果当前信息比特为“1”且当前码字对属于第一码字空间,则用属于第二码字空间且与当前码字对相对应的码字对替换当前码字对。
3.根据权利要求1或2所述的一种面向H.264/AVC视频码流的大容量数据隐藏方法,其特征在于:所述的步骤①-5中当当前Level码字的后缀长度为2时,采用码字映射方法将当前信息比特嵌入到当前Level码字中的具体过程为:如果当前信息比特为“0”且当前Level码字属于第三码字空间,则保持当前Level码字不变;如果当前信息比特为“0”且当前Level码字属于第四码字空间,则用属于第三码字空间且与当前Level码字相对应的Level码字替换当前Level码字;如果当前信息比特为“1”且当前Level码字属于第四码字空间,则保持当前Level码字不变;如果当前信息比特为“1’且当前Level码字属于第三码字空间,则用属于第四码字空间且与当前Level码字相对应的Level码字替换当前Level码字。
4.根据权利要求3所述的一种面向H.264/AVC视频码流的大容量数据隐藏方法,其特征在于:所述的步骤①-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码字。
5.根据权利要求4所述的一种面向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的子块定义为当前子块;
②-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的子块处理完毕,提取得到隐秘信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510552973.0A CN105141962B (zh) | 2015-09-01 | 2015-09-01 | 一种面向h.264/avc视频码流的大容量数据隐藏方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510552973.0A CN105141962B (zh) | 2015-09-01 | 2015-09-01 | 一种面向h.264/avc视频码流的大容量数据隐藏方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105141962A CN105141962A (zh) | 2015-12-09 |
CN105141962B true CN105141962B (zh) | 2018-04-17 |
Family
ID=54727149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510552973.0A Active CN105141962B (zh) | 2015-09-01 | 2015-09-01 | 一种面向h.264/avc视频码流的大容量数据隐藏方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105141962B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707923A (zh) * | 2017-09-27 | 2018-02-16 | 宁波工程学院 | 一种基于mvd码字映射的加密域h.264/avc视频数据隐藏方法 |
CN109462763B (zh) * | 2018-10-25 | 2021-04-06 | 深圳北斗应用技术研究院有限公司 | 一种视频水印处理方法和*** |
CN111787332B (zh) * | 2020-07-09 | 2022-03-08 | 宁波工程学院 | 一种基于残差系数配对的hevc视频数据隐藏方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610405A (zh) * | 2008-06-20 | 2009-12-23 | 刘镔 | 一种以压缩视频为载体的信息隐写方法 |
CN101841700A (zh) * | 2010-05-18 | 2010-09-22 | 宁波大学 | 一种面向h.264压缩比特流的视频水印方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100355033B1 (ko) * | 2000-12-30 | 2002-10-19 | 주식회사 실트로닉 테크놀로지 | 선형예측 분석을 이용한 워터마크 삽입/추출 장치 및 그방법 |
US7231061B2 (en) * | 2002-01-22 | 2007-06-12 | Digimarc Corporation | Adaptive prediction filtering for digital watermarking |
-
2015
- 2015-09-01 CN CN201510552973.0A patent/CN105141962B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610405A (zh) * | 2008-06-20 | 2009-12-23 | 刘镔 | 一种以压缩视频为载体的信息隐写方法 |
CN101841700A (zh) * | 2010-05-18 | 2010-09-22 | 宁波大学 | 一种面向h.264压缩比特流的视频水印方法 |
Non-Patent Citations (1)
Title |
---|
《Data Hiding in Encrypted H.264/AVC Video Streams by Codeword Substitution》;Dawen Xu et;《IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY》;20140430;第9卷(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105141962A (zh) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hu et al. | Reversible visible watermarking and lossless recovery of original images | |
Saha et al. | Steganographic techniques of data hiding using digital images | |
CN105976303B (zh) | 一种基于矢量量化的可逆信息隐藏和提取方法 | |
CN107818266B (zh) | 基于像素置换的自适应可逆信息隐藏方法 | |
US20110142419A1 (en) | Changeable block list | |
CN105263024A (zh) | 一种抗量化转码的hevc视频流零水印的注册和检测方法 | |
CN103414840B (zh) | 一种基于图像集的数据隐藏方法 | |
US20060269096A1 (en) | Method for performing recoverable video and image watermarking which survives block-based video and image compression | |
CN108009975A (zh) | 基于二维直方图修改的jpeg图像可逆信息隐藏方法 | |
CN105141962B (zh) | 一种面向h.264/avc视频码流的大容量数据隐藏方法 | |
CN104125467A (zh) | 一种视频隐写信息的嵌入与提取方法 | |
CN103024375B (zh) | 一种基于双目恰可觉察失真的立体图像半脆弱水印方法 | |
Ahuja et al. | Copyright protection using blind video watermarking algorithm based on MPEG-2 structure | |
CN105279728B (zh) | 基于秘密信息加密预处理的智能移动终端图像隐写方法 | |
CN113132550B (zh) | 一种基于fpga的彩色图像隐秘通信*** | |
CN105208462B (zh) | 视频数字水印处理方法及执行该方法的视频数字水印*** | |
RU2288544C2 (ru) | Способ внедрения дополнительной информации в цифровые изображения | |
CN108200435B (zh) | 一种分形图像的可逆信息隐藏方法 | |
Al-Bayati et al. | DuoHide: a secure system for hiding multimedia files in dual cover images | |
KR20210149699A (ko) | 압축 체인 내부에서 이미지 또는 비디오 스트림에 데이터를 은닉하기 위한 방법 | |
CN111787332B (zh) | 一种基于残差系数配对的hevc视频数据隐藏方法 | |
Jain et al. | A JPEG compression resistant steganography scheme for raster graphics images | |
Mandal et al. | A novel invisible watermarking based on cascaded PVD integrated LSB technique | |
Romanov et al. | Implementation of steganographic software for hiding information in mpeg video files | |
CN104424617B (zh) | 一种处理图像的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 315016 Zhejiang Province, Ningbo city Haishu District cypress Road No. 89 Applicant after: Ningbo University of Technology Address before: The official road, Zhenhai District 315211 Zhejiang city of Ningbo Province Applicant before: Ningbo University of Technology |
|
GR01 | Patent grant | ||
GR01 | Patent grant |