发明名称 一种HEVC视频的信息隐藏方法
摘要 本发明公开了一种HEVC视频的信息隐藏方法,其包括隐秘信息嵌入和隐秘信息提取两部分,在隐秘信息嵌入部分中通过分析HEVC编解码结构,针对尺寸大小为4×4的预测单元,在帧内预测编码过程中调制预测模式,利用拉格朗日率失真模型自适应的选取帧内编码模式以决定是否嵌入隐秘信息;并通过建立待嵌入的两比特信息与预测模式的角度差区间的对应关系,根据待嵌入的两比特信息修改预测模式完成信息嵌入,连续的两个尺寸大小为4×4的预测单元大部分情况下只需修改一个预测单元的预测模式,在隐藏容量相同的情况下减少了修改位数,降低了因嵌入隐秘信息造成视频质量下降的影响,很好地保证了视频的主客观质量,大大降低了嵌入隐秘信息对视频码流的影响。
申请公布号 CN104159117B 申请公布日期 2017.05.03
申请号 CN201410349875.2 申请日期 2014.07.22
申请人 宁波大学 发明人 王让定;王家骥;徐达文;李倩;李伟;徐健;黄美玲
分类号 H04N19/467(2014.01)I;H04N19/147(2014.01)I;H04N19/105(2014.01)I;H04N19/11(2014.01)I 主分类号 H04N19/467(2014.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 33226 代理人 周珏
主权项 一种HEVC视频的信息隐藏方法,包括隐秘信息嵌入和隐秘信息提取两部分,其特征在于所述的隐秘信息嵌入部分具体包括以下步骤:①‑1、在隐秘信息嵌入端,将待嵌入隐秘信息的原始的HEVC视频中当前待编码的帧定义为当前编码帧;①‑2、判断当前编码帧是否为I帧,如果是,则将当前编码帧中当前正在处理的第i个预测单元定义为当前预测单元,然后执行步骤①‑3;否则,对当前编码帧不处理,然后执行步骤①‑11;其中,1≤i≤I,i的初始值为1,I表示当前编码帧中包含的预测单元的总个数;①‑3、判断当前预测单元的尺寸大小是否为4×4,如果是,则执行步骤①‑4;否则,对当前预测单元不处理,然后令i=i+1,再执行步骤①‑10;其中,i=i+1中的“=”为赋值符号;①‑4、将以当前预测单元为开始的四个连续的尺寸大小为4×4的预测单元作为一个预测单元组合,然后按序将预测单元组合中的前两个预测单元分为第一组,将预测单元组合中的后两个预测单元分为第二组;接着将预测单元组合中的第一组定义为当前组;①‑5、取出待嵌入的隐秘信息中的第p比特信息和第p+1比特信息作为当前待嵌入的两比特信息,其中,1≤p≤P‑1,p的初始值为1,P表示隐秘信息的总长度;对当前组中的两个预测单元进行帧内预测编码,在帧内预测编码过程中确定当前组中的每个预测单元的预测模式,如果当前组中的两个预测单元各自的预测模式的数字标识在区间[2,34]内,则将当前组中的两个预测单元各自的预测模式映射成角度值,对应记为D<sub>1</sub>和D<sub>2</sub>,<img file="FDA0001169458330000011.GIF" wi="949" he="104" />然后计算D<sub>1</sub>和D<sub>2</sub>的角度值绝对差值,记为D,D=|D<sub>1</sub>‑D<sub>2</sub>|,再执行步骤①‑6,其中,k<sub>1</sub>表示当前组中的第一个预测单元的预测模式的数字标识,k<sub>2</sub>表示当前组中的第二个预测单元的预测模式的数字标识,k<sub>1</sub>∈[2,34],k<sub>2</sub>∈[2,34],符号“||”为取绝对值符号;如果当前组中的一个预测单元的预测模式的数字标识在区间[2,34]内,而另一个预测单元的预测模式的数字标识为0或1,则对当前组中的两个预测单元各自的预测模式不进行修改,当前组中的两个预测单元没有嵌入隐秘信息,然后执行步骤①‑8;如果当前组中的两个预测单元各自的预测模式的数字标识为0或1,则直接执行步骤①‑7;①‑6、建立当前待嵌入的两比特信息与角度差区间的对应关系,然后根据当前待嵌入的两比特信息与角度差区间的对应关系,确定是否修改当前组中的两个预测单元的预测模式,具体过程为:如果D属于当前待嵌入的两比特信息对应的任一个角度差区间,则对当前组中的两个预测单元各自的预测模式不进行修改,当前组中的两个预测单元已嵌入隐秘信息,然后令p=p+2,再执行步骤①‑8,其中,p=p+2中的“=”为赋值符号;如果D不属于当前待嵌入的两比特信息对应的任一个角度差区间,则保持当前组中的其中一个预测单元的预测模式不变,修改当前组中的另一个预测单元的预测模式,假设保持不变的预测模式映射成的角度值为D<sub>x</sub>,则搜索所有满足以下条件的角度值:假设搜索得到的角度值为D<sub>y</sub>,则要求|D<sub>x</sub>‑D<sub>y</sub>|属于当前待嵌入的两比特信息对应的任一个角度差区间,然后将搜索得到的所有角度值分别映射成预测模式,接着计算采用这些映射成的预测模式时当前组中的另一个预测单元的率失真代价,再将率失真代价最小的预测模式作为当前组中的另一个预测单元的预测模式,完成了预测模式的修改,当前组中的两个预测单元已嵌入隐秘信息,最后对当前组中的另一个预测单元用修改的预测模式重新进行帧内预测编码,再令p=p+2,之后执行步骤①‑8,其中,p=p+2中的“=”为赋值符号;所述的步骤①‑6中当前待嵌入的两比特信息与角度差区间的对应关系为:假设当前待嵌入的两比特信息为00,则对应的角度差区间为<img file="FDA0001169458330000021.GIF" wi="161" he="139" />或<img file="FDA0001169458330000022.GIF" wi="181" he="141" />或<img file="FDA0001169458330000023.GIF" wi="197" he="141" />或<img file="FDA0001169458330000024.GIF" wi="260" he="135" />假设当前待嵌入的两比特信息为01,则对应的角度差区间为<img file="FDA0001169458330000025.GIF" wi="165" he="133" />或<img file="FDA0001169458330000026.GIF" wi="218" he="134" />或<img file="FDA0001169458330000027.GIF" wi="206" he="134" />或<img file="FDA0001169458330000028.GIF" wi="256" he="134" />假设当前待嵌入的两比特信息为10,则对应的角度差区间为<img file="FDA0001169458330000029.GIF" wi="182" he="139" />或<img file="FDA00011694583300000210.GIF" wi="212" he="137" />或<img file="FDA00011694583300000211.GIF" wi="227" he="135" />或<img file="FDA00011694583300000212.GIF" wi="261" he="140" />假设当前待嵌入的两比特信息为11,则对应的角度差区间为<img file="FDA00011694583300000213.GIF" wi="182" he="134" />或<img file="FDA00011694583300000214.GIF" wi="182" he="134" />或<img file="FDA00011694583300000215.GIF" wi="222" he="134" />或<img file="FDA00011694583300000216.GIF" wi="220" he="133" />①‑7、根据当前待嵌入的两比特信息,修改当前组中的两个预测单元各自的预测模式,对于当前组中的第1个预测单元,如果当前待嵌入的两比特信息的第一位信息为0,则当当前组中的第1个预测单元的预测模式的数字标识为0时,对当前组中的第1个预测单元的预测模式不进行修改,当当前组中的第1个预测单元的预测模式的数字标识为1时,对当前组中的第1个预测单元的预测模式进行修改,使其数字标识为0,然后采用修改后的预测模式对当前组中的第1个预测单元重新进行帧内预测编码;如果当前待嵌入的两比特信息的第一位信息为1,则当当前组中的第1个预测单元的预测模式的数字标识为0时,对当前组中的第1个预测单元的预测模式进行修改,使其数字标识为1,然后采用修改后的预测模式对当前组中的第1个预测单元重新进行帧内预测编码,当当前组中的第1个预测单元的预测模式的数字标识为1时,对当前组中的第1个预测单元的预测模式不进行修改;对于当前组中的第2个预测单元,如果当前待嵌入的两比特信息的第二位信息为0,则当当前组中的第2个预测单元的预测模式的数字标识为0时,对当前组中的第2个预测单元的预测模式不进行修改,当当前组中的第2个预测单元的预测模式的数字标识为1时,对当前组中的第2个预测单元的预测模式进行修改,使其数字标识为0,然后采用修改后的预测模式对当前组中的第2个预测单元重新进行帧内预测编码;如果当前待嵌入的两比特信息的第二位信息为1,则当当前组中的第2个预测单元的预测模式的数字标识为0时,对当前组中的第2个预测单元的预测模式进行修改,使其数字标识为1,然后采用修改后的预测模式对当前组中的第2个预测单元重新进行帧内预测编码,当当前组中的第2个预测单元的预测模式的数字标识为1时,对当前组中的第2个预测单元的预测模式不进行修改;在当前组中的两个预测单元各自的预测模式处理完毕后,当前组中的两个预测单元已嵌入隐秘信息,然后令p=p+2,再执行步骤①‑8,其中,p=p+2中的“=”为赋值符号;①‑8、将预测单元组合中的第二组作为当前组,然后返回步骤①‑5继续执行,当预测单元组合中的二组处理完毕后,执行步骤①‑9;①‑9、如果预测单元组合中的每组中的两个预测单元满足:其中一个预测单元的预测模式的数字标识在区间[2,34]内,另一个预测单元的预测模式的数字标识为0或1,则确定预测单元组合中的所有预测单元均没有嵌入隐秘信息,然后令i=i+4,再执行步骤①‑10,其中,i=i+4中的“=”为赋值符号;如果预测单元组合中只有一组中的两个预测单元满足:两个预测单元各自的预测模式的数字标识在区间[2,34]内,或者两个预测单元各自的预测模式的数字标识为0或1,则在预测模式修改后的前提下,比较预测单元组合中的所有预测单元的率失真代价之和与这四个尺寸大小为4×4的预测单元的上一级尺寸大小为8×8的预测单元的率失真代价,当前者小于后者时,选择尺寸大小为4×4的预测单元作为对应的尺寸大小为8×8的编码单元的预测单元类型;当前者大于或等于后者时,选择尺寸大小为8×8的预测单元作为对应的尺寸大小为8×8的编码单元的预测单元类型,然后令i=i+4,并令p=p‑2,再执行步骤①‑10,其中,i=i+4和p=p‑2中的“=”为赋值符号;如果预测单元组合中的两组满足:两组中共四个预测单元各自的预测模式的数字标识在区间[2,34]内,或者两组中共四个预测单元各自的预测模式的数字标识为0或1,或者其中一组中的两个预测单元各自的预测模式的数字标识在区间[2,34]内,而另一组中的两个预测单元各自的预测模式的数字标识为0或1,则在预测模式修改后的前提下,比较预测单元组合中的所有预测单元的率失真代价之和与这四个尺寸大小为4×4的预测单元的上一级尺寸大小为8×8的预测单元的率失真代价,当前者小于后者时,选择尺寸大小为4×4的预测单元作为对应的尺寸大小为8×8的编码单元的预测单元类型;当前者大于或等于后者时,选择尺寸大小为8×8的预测单元作为对应的尺寸大小为8×8的编码单元的预测单元类型,然后令i=i+4,并令p=p‑4,再执行步骤①‑10,其中,i=i+4和p=p‑4中的“=”为赋值符号;①‑10、将当前编码帧中待处理的第i个预测单元作为当前预测单元,然后返回步骤①‑3继续执行,直至当前编码帧中的所有预测单元处理完毕;①‑11、将原始的HEVC视频中的下一帧待编码的帧作为当前编码帧,然后返回步骤①‑2继续执行,直至隐秘信息全部嵌入完毕或原始的HEVC视频中的所有帧处理完毕;所述的隐秘信息提取部分具体包括以下步骤:②‑1、在隐秘信息提取端,利用HEVC标准解码器对其接收到的含隐秘信息的HEVC视频码流进行解码;②‑2、将含隐秘信息的HEVC视频码流中解码得到的第i'个预测单元定义为当前预测单元,其中,1≤i'≤I',i'的初始值为1,I'表示含隐秘信息的HEVC视频码流中包含的预测单元的总个数;②‑3、判断当前预测单元是否属于I帧,如果是,则执行步骤②‑4;否则,不对当前预测单元进行隐秘信息提取,然后令i'=i'+1,再执行步骤②‑6;其中,i'=i'+1中的“=”为赋值符号;②‑4、判断当前预测单元的尺寸大小是否为4×4,如果是,则将当前预测单元及已解码的下一个尺寸大小为4×4的预测单元作为一个组合,然后执行步骤②‑5;否则,不对当前预测单元进行隐秘信息提取,然后令i'=i'+1,再执行步骤②‑6;其中,i'=i'+1中的“=”为赋值符号;②‑5、如果组合中的两个预测单元各自的预测模式的数字标识在区间[2,34]内,则将组合中的两个预测单元各自的预测模式映射成角度值,对应记为D<sub>1</sub>'和D<sub>2</sub>',<img file="FDA0001169458330000051.GIF" wi="989" he="111" />然后计算D<sub>1</sub>'和D<sub>2</sub>'的角度值绝对差值,记为D',D'=|D<sub>1</sub>'‑D<sub>2</sub>'|,再建立待提取的两比特信息与D'所属的角度差区间的对应关系,接着根据待提取的两比特信息与D'所属的角度差区间的对应关系,提取得到两比特信息,之后令i'=i'+2,执行步骤②‑6;其中,k<sub>1</sub>'表示组合中的第一个预测单元的预测模式的数字标识,k<sub>2</sub>'表示组合中的第二个预测单元的预测模式的数字标识,k<sub>1</sub>'∈[2,34],k<sub>2</sub>'∈[2,34],符号“||”为取绝对值符号,i'=i'+2中的“=”为赋值符号;如果组合中的一个预测单元的预测模式的数字标识在区间[2,34]内,而另一个预测单元的预测模式的数字标识为0或1,则不对组合中的两个预测单元进行隐秘信息提取,然后令i'=i'+2,再执行步骤②‑6,其中,i'=i'+2中的“=”为赋值符号;如果组合中的两个预测单元各自的预测模式的数字标识为0或1,则根据预测模式的数字标识提取隐秘信息,如果预测模式的数字标识为0,则提取得到一比特信息为0,如果预测模式的数字标识为1,则提取得到一比特信息为1;然后令i'=i'+2,再执行步骤②‑6,其中,i'=i'+2中的“=”为赋值符号;所述的步骤②‑5中待提取的两比特信息与D'所属的角度差区间的对应关系为:假设D'所属的角度差区间为<img file="FDA0001169458330000052.GIF" wi="150" he="139" />或<img file="FDA0001169458330000053.GIF" wi="182" he="140" />或<img file="FDA0001169458330000054.GIF" wi="182" he="140" />或<img file="FDA0001169458330000055.GIF" wi="254" he="141" />则对应的待提取的两比特信息为00;假设D'所属的角度差区间为<img file="FDA0001169458330000056.GIF" wi="166" he="134" />或<img file="FDA0001169458330000057.GIF" wi="213" he="135" />或<img file="FDA0001169458330000058.GIF" wi="205" he="143" />或<img file="FDA0001169458330000059.GIF" wi="261" he="134" />则对应的待提取的两比特信息为01;假设D'所属的角度差区间为<img file="FDA00011694583300000510.GIF" wi="180" he="135" />或<img file="FDA00011694583300000511.GIF" wi="212" he="134" />或<img file="FDA00011694583300000512.GIF" wi="222" he="134" />或<img file="FDA00011694583300000513.GIF" wi="260" he="134" />则对应的待提取的两比特信息为10;假设D'所属的角度差区间为<img file="FDA0001169458330000061.GIF" wi="183" he="135" />或<img file="FDA0001169458330000062.GIF" wi="182" he="135" />或<img file="FDA0001169458330000063.GIF" wi="222" he="135" />或<img file="FDA0001169458330000064.GIF" wi="219" he="134" />则对应的待提取的两比特信息为11;②‑6、将含隐秘信息的HEVC视频码流中解码得到的第i'个预测单元作为当前预测单元,然后返回步骤②‑3继续执行,直至提取出含隐秘信息的HEVC视频码流中的隐秘信息或含隐秘信息的HEVC视频码流解码完毕。
地址 315211 浙江省宁波市江北区风华路818号