一种H.264/AVC视频可逆数据隐藏方法技术

技术编号:15625200 阅读:109 留言:0更新日期:2017-06-14 06:17
本发明专利技术公开了一种H.264/AVC视频可逆数据隐藏方法,其包括H.264/AVC视频可逆数据隐藏、隐秘信息提取和原始视频恢复两部分;其在与H.264/AVC视频压缩编码标准相兼容的前提下选择4×4子块中的残差系数进行扩展或者移位实现可逆数据隐藏,不仅计算复杂度低,能够满足实时视频的应用需求,而且数据隐藏对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视频码流的码率影响很小、嵌入容量高,其能够保证隐秘信息有效地被提取出,并且在提取隐秘信息后可以完全恢复原始视频。本专利技术解决上述技术问题所采用的技术方案为:一种H.264/AVC视频可逆数据隐藏方法,其特征在于包括H.264/AVC视频可逆数据隐藏、隐秘信息提取和原始视频恢复两部分;所述的H.264/AVC视频可逆数据隐藏的具体过程为:①_1、对H.264/AVC视频的码流进行熵解码,解码得到H.264/AVC视频中预测模式为Intra_4×4预测模式的每个宏块中的每个4×4子块中的所有的残差系数;①_2、将H.264/AVC视频中预测模式为Intra_4×4预测模式的第m个宏块定义为当前宏块,其中,1≤m≤M,M表示H.264/AVC视频中包含的预测模式为Intra_4×4预测模式的宏块的总个数;①_3、将当前宏块中的第n个4×4子块定义为当前子块,其中,1≤n≤N,N表示当前宏块中包含的4×4子块的总个数;①_4、按照Zig-Zag顺序扫描当前子块中的所有的残差系数,同时按0,1,…,15的顺序对当前子块中的所有的残差系数进行编号;然后确定当前子块对应的隐秘信息嵌入区域,记为Rm,n,Rm,n=[Tm,n,1,Tm,n,2],其中,符号“[]”为区间表示符号,Tm,n,1和Tm,n,2均表示当前子块中的残差系数的编号,Tm,n,1和Tm,n,2的取值范围3≤Tm,n,1<Tm,n,2≤15;①_5、从当前子块中的所有的残差系数中提取出编号属于Rm,n的所有的残差系数,并构成一个残差系数子集;然后对当前子块对应的残差系数子集中的残差系数进行两两组合配对,具体为:当该残差系数子集中非零的残差系数的总个数为偶数时,按序将该残差系数子集中非零的残差系数两两组合配对;当该残差系数子集中非零的残差系数的总个数为奇数时,除该残差系数子集中的第1个非零的残差系数外按序将剩余的非零的残差系数两两组合配对;并将任一个配对记为其中,表示中的前一个残差系数,表示中的后一个残差系数;①_6、对当前子块对应的残差系数子集中前后两个残差系数均大于或等于2的每个配对进行移位以空出隐秘信息嵌入空间,对于如果且则对和均进行加1移位;然后在移位的基础上在当前子块对应的残差系数子集中的每个配对中嵌入隐秘信息,对于如果且或且则在中嵌入2个比特隐秘信息00或01或10或11;如果且或且则在中嵌入1个比特隐秘信息0或1,将嵌入隐秘信息后的配对记为对当前子块对应的残差系数子集中前一个残差系数小于或等于-2且后一个残差系数大于或等于2的每个配对进行移位以空出隐秘信息嵌入空间,对于如果且则对进行减1移位,对进行加1移位;然后在移位的基础上在当前子块对应的残差系数子集中的每个配对中嵌入隐秘信息,对于如果且或且则在中嵌入2个比特隐秘信息00或01或10或11;如果且或且则在中嵌入1个比特隐秘信息0或1,将嵌入隐秘信息后的配对记为对当前子块对应的残差系数子集中前一个残差系数大于或等于2且后一个残差系数小于或等于-2的每个配对进行移位以空出隐秘信息嵌入空间,对于如果且则对进行加1移位,对均进行减1移位;然后在移位的基础上在当前子块对应的残差系数子集中的每个配对中嵌入隐秘信息,对于如果且或且则在中嵌入2个比特隐秘信息00或01或10或11;如果且或且则在中嵌入1个比特隐秘信息0或1,将嵌入隐秘信息后的配对记为对当前子块对应的残差系数子集中前后两个残差系数均小于或等于-2的每个配对进行移位以空出隐秘信息嵌入空间,对于如果且则对和均进行减1移位;然后在移位的基础上在当前子块对应的残差系数子集中的每个配对中嵌入隐秘信息,对于如果且或且则在中嵌入2个比特隐秘信息00或01或10或11;如果且或且则在中嵌入1个比特隐秘信息0或1,将嵌入隐秘信息后的配对记为①_7、令n=n+1,将当前宏块中的下一个4×4子块作为当前子块,然后返回步骤①_4继续执行,直至当前宏块中的所有4×4子块处理完毕;其中,n=n+1中的“=”为赋值符号;①_8、令m=m+1,将H.264/AVC视频中预测模式为Intra_4×4预测模式的下一个宏块作为当前宏块,然后返回步骤①_3继续执行,直至H.264/AVC视频中预测模式为Intra_4×4预测模式的所有宏块处理完毕;其中,m=m+1中的“=”为赋值符号;①_9、将H.264/AVC视频中预测模式为Intra_4×4预测模式的每个宏块中的每个4×4子块对应的隐秘信息嵌入区域的两个端点,发送到隐秘信息提取和原始视频恢复端;所述的隐秘信息提取和原始视频恢复的具体过程为:②_1、对含隐秘信息的H.264/AVC视频的码流进行熵解码,解码得到含隐秘信息的H.264/AVC视频中预测模式为Intra_4×4预测模式的每个宏块中的每个4×4子块中的所有的残差系数;②_2、将含隐秘信息的H.264/AVC视频中预测模式为Intra_4×4预测模式的第m个宏块定义为当前宏块,其中,1≤m≤M,M亦表示含隐秘信息的H.264/AVC视频中包含的预测模式为Intra_4×4预测模式的宏块的总个数;②_3、将当前宏块中的第n个4×4子块定义为当前子块,其中,1≤n≤N,N亦表示当前宏块中包含的4×4子块的总个数;②_4、按照Zig-Zag顺序扫描当前子块中的所有的残差系数,同时按0,1,…,15的顺序对当前子块中的所有的残差系数进行编号;然后确定当前子块对应的隐秘信息提取区域,记为R'm,n,R'm,本文档来自技高网...
一种H.264/AVC视频可逆数据隐藏方法

【技术保护点】
一种H.264/AVC视频可逆数据隐藏方法,其特征在于包括H.264/AVC视频可逆数据隐藏、隐秘信息提取和原始视频恢复两部分;所述的H.264/AVC视频可逆数据隐藏的具体过程为:①_1、对H.264/AVC视频的码流进行熵解码,解码得到H.264/AVC视频中预测模式为Intra_4×4预测模式的每个宏块中的每个4×4子块中的所有的残差系数;①_2、将H.264/AVC视频中预测模式为Intra_4×4预测模式的第m个宏块定义为当前宏块,其中,1≤m≤M,M表示H.264/AVC视频中包含的预测模式为Intra_4×4预测模式的宏块的总个数;①_3、将当前宏块中的第n个4×4子块定义为当前子块,其中,1≤n≤N,N表示当前宏块中包含的4×4子块的总个数;①_4、按照Zig‑Zag顺序扫描当前子块中的所有的残差系数,同时按0,1,…,15的顺序对当前子块中的所有的残差系数进行编号;然后确定当前子块对应的隐秘信息嵌入区域,记为R

【技术特征摘要】
1.一种H.264/AVC视频可逆数据隐藏方法,其特征在于包括H.264/AVC视频可逆数据隐藏、隐秘信息提取和原始视频恢复两部分;所述的H.264/AVC视频可逆数据隐藏的具体过程为:①_1、对H.264/AVC视频的码流进行熵解码,解码得到H.264/AVC视频中预测模式为Intra_4×4预测模式的每个宏块中的每个4×4子块中的所有的残差系数;①_2、将H.264/AVC视频中预测模式为Intra_4×4预测模式的第m个宏块定义为当前宏块,其中,1≤m≤M,M表示H.264/AVC视频中包含的预测模式为Intra_4×4预测模式的宏块的总个数;①_3、将当前宏块中的第n个4×4子块定义为当前子块,其中,1≤n≤N,N表示当前宏块中包含的4×4子块的总个数;①_4、按照Zig-Zag顺序扫描当前子块中的所有的残差系数,同时按0,1,…,15的顺序对当前子块中的所有的残差系数进行编号;然后确定当前子块对应的隐秘信息嵌入区域,记为Rm,n,Rm,n=[Tm,n,1,Tm,n,2],其中,符号“[]”为区间表示符号,Tm,n,1和Tm,n,2均表示当前子块中的残差系数的编号,Tm,n,1和Tm,n,2的取值范围3≤Tm,n,1<Tm,n,2≤15;①_5、从当前子块中的所有的残差系数中提取出编号属于Rm,n的所有的残差系数,并构成一个残差系数子集;然后对当前子块对应的残差系数子集中的残差系数进行两两组合配对,具体为:当该残差系数子集中非零的残差系数的总个数为偶数时,按序将该残差系数子集中非零的残差系数两两组合配对;当该残差系数子集中非零的残差系数的总个数为奇数时,除该残差系数子集中的第1个非零的残差系数外按序将剩余的非零的残差系数两两组合配对;并将任一个配对记为其中,表示中的前一个残差系数,表示中的后一个残差系数;①_6、对当前子块对应的残差系数子集中前后两个残差系数均大于或等于2的每个配对进行移位以空出隐秘信息嵌入空间,对于如果且则对和均进行加1移位;然后在移位的基础上在当前子块对应的残差系数子集中的每个配对中嵌入隐秘信息,对于如果且或且则在中嵌入2个比特隐秘信息00或01或10或11;如果且或且则在中嵌入1个比特隐秘信息0或1,将嵌入隐秘信息后的配对记为对当前子块对应的残差系数子集中前一个残差系数小于或等于-2且后一个残差系数大于或等于2的每个配对进行移位以空出隐秘信息嵌入空间,对于如果且则对进行减1移位,对进行加1移位;然后在移位的基础上在当前子块对应的残差系数子集中的每个配对中嵌入隐秘信息,对于如果且或且则在中嵌入2个比特隐秘信息00或01或10或11;如果且或且则在中嵌入1个比特隐秘信息0或1,将嵌入隐秘信息后的配对记为对当前子块对应的残差系数子集中前一个残差系数大于或等于2且后一个残差系数小于或等于-2的每个配对进行移位以空出隐秘信息嵌入空间,对于如果且则对进行加1移位,对均进行减1移位;然后在移位的基础上在当前子块对应的残差系数子集中的每个配对中嵌入隐秘信息,对于如果且或且则在中嵌入2个比特隐秘信息00或01或10或11;如果且或且则在中嵌入1个比特隐秘信息0或1,将嵌入隐秘信息后的配对记为对当前子块对应的残差系数子集中前后两个残差系数均小于或等于-2的每个配对进行移位以空出隐秘信息嵌入空间,对于如果且则对和均进行减1移位;然后在移位的基础上在当前子块对应的残差系数子集中的每个配对中嵌入隐秘信息,对于如果且或且则在中嵌入2个比特隐秘信息00或01或10或11;如果且或且则在中嵌入1个比特隐秘信息0或1,将嵌入隐秘信息后的配对记为①_7、令n=n+1,将当前宏块中的下一个4×4子块作为当前子块,然后返回步骤①_4继续执行,直至当前宏块中的所有4×4子块处理完毕;其中,n=n+1中的“=”为赋值符号;①_8、令m=m+1,将H.264/AVC视频中预测模式为Intra_4×4预测模式的下一个宏块作为当前宏块,然后返回步骤①_3继续执行,直至H.264/AVC视频中预测模式为Intra_4×4预测模式的所有宏块处理完毕;其中,m=m+1中的“=”为赋值符号;①_9、将H.264/AVC视频中预测模式为Intra_4×4预测模式的每个宏块中的每个4×4子块对应的隐秘信息嵌入区域的两个端点,发送到隐秘信息提取和原始视频恢复端;所述的隐秘信息提取和原始视频恢复的具体过程为:②_1、对含隐秘信息的H.264/AVC视频的码流进行熵解码,解码得到含隐秘信息的H.264/AVC视频中预测模式为Intra_4×4预测模式的每个宏块中的每个4×4子块中的所有的残差系数;②_2、将含隐秘信息的H.264/AVC视频中预测模式为Intra_4×4预测模式的第m个宏块定义为当前宏块,其中,1≤m≤M,M亦表示含隐秘信息的H.264/AVC视频中包含的预测模式为Intra_4×4预测模式的宏块的总个数;②_3、将当前宏块中的第n个4×4子块定义为当前子块,其中,1≤n≤N,N亦表示当前宏块中包含的4×4子块的总个数;②_4、按照Zig-Zag顺序扫描当前子块中的所有的残差系数,同时按0,1,…,15的顺序对当前子块中的所有的残差系数进行编号;然后确定当前子块对应的隐秘信息提取区域,记为R'm,n,R'm,n=[T'm,n,1,T'm,n,2],其中,T'm,n,1和T'm,n,2均表示当前子块中的残差系数的编号,T'm,n,1=Tm,n,1,T'm,n,2=Tm,n,2;②_5、从当前子块中的所有的残差系数中提取出编号属于R'm,n的所有的残差系数,并构成一个残差系数子集;然后对当前子块对应的残差系数子集中的残差系数进行两两组合配对,具体为:当该残差系数子集中非零的残差系数的总个数为偶数时,按序将该残差系数子集中非零的残差系数两两组合配对;当该残差系数子集中非零的残差系数的总个数为奇数时,除该残差系数子集中的第1个非零的残差系数外按序将剩余的非零的残差系数两两组合配对;并将任一个配对记为其中,表示中的前一个残差系数,表示中的后一个残差系数;②_6、在当前子块对应的残差系数子集中的每个配对中提取出隐秘信息,对于若或或则从中提取出2个比特隐秘信息00;若或或则从中提取出2个比特隐秘信息01;若或或则从中提取出2个比特隐秘信息10;若或或则从中提取出2个比特隐秘信息11;若或或或则从中提取出1个比特隐秘信息0;若或或或则从中提取出1个比特隐秘信息1;其中,符号“||”为取绝对值符号,为大于2的整数,为大于2的整数,为小于-2的整数,为大于2的整数;②_7、对当前子块对应的残差系数子集中的每个配对进行原始数据恢复,对于将经原始数据恢复后得到的配对记为若或或或则令且若或或或则令且若或或或则令且若或则令且若或则令且若或则令且若或则令且若且则令且其中,sign()为取符号函数,②_8、令n=n+1,将当前宏块中的下一个4×4子块作为当前子块,然后返回步骤②_4继续执行,直至当前宏块中的所有4×4子块处理完毕;其中,n=n+1中的“=”为赋值符号;②_9...

【专利技术属性】
技术研发人员:徐达文
申请(专利权)人:宁波工程学院
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1