一种基于零量化DCT系数组的视频可逆信息隐藏方法与流程

文档序号:15701543发布日期:2018-10-19 19:55阅读:481来源:国知局

本发明涉及信息隐藏技术领域,特别是一种基于零量化DCT系数组的视频可逆信息隐藏方法。



背景技术:

传统的信息隐藏技术不同于加密技术,它能够将机密信息嵌入到图像、音频、视频等载体中,从而借助载体的内容去隐蔽真正通信内容。然而,加密技术一般通过直接加密机密信息,之后再将密文内容通过通信信道发送出去。即加密技术只是保证了信息的机密性,但是通信中信息的存在性是显而易见。因此,机密信息的通信很容易被阻止,为此,信息隐藏技术为解决这一问题应用而生。此外,信息隐藏技术也可将信息隐藏在载体中达到保护版权的目的。然而,一般的信息隐藏技术只能提取出嵌入的信息,并不能恢复原始载体。原始载体的恢复在医学诊断、法庭举证和艺术作品等保真度要求高的场合是非常重要的,而可逆信息隐藏技术能够满足这一要求。可逆信息隐藏技术在嵌入秘密信息过程中虽然会对载体造成一定程度上的破坏,但在提取秘密信息后,能够实现原始载体的精确恢复。

从文献“Reversible data hiding:advances in the past two decades”(Shi Yun-qing,Li Xiao-long,Zhang Xinpeng,Wu Hao-tian,Ma Bin,IEEE Access,vol.4,pp.3210-3237,2016)中可知,图像可逆信息隐藏技术的研究相对来说已较为成熟。随着视频压缩技术的发展,视频可逆信息隐藏技术受到越来越多的关注。文献“A novel two-dimensional histogram modification for reversible data embedding into stereo H.264video”(Zhao Juan,Li Zhi-tang,Feng Bing,Multimedia Tools and Applications,vol.75,no.10,pp.5959-5980,2016)根据直方图平移技术和映射规则提出了一个新的H.264视频可逆视频信息隐藏算法。通过选择,每两个系数作为一次操作对象,能够实现较小的失真。然而,通过此文献的方法,每两个系数最多能够嵌入3个信息比特,因此,嵌入容量受限。因此,结合H.264视频编码标准的结构特性,研究基于直方图平移技术和映射规则并具有高嵌入容量的可逆视频信息隐藏技术具有重要研究意义。



技术实现要素:

本发明的目的在于提供一种以视频为载体能够嵌入更多的信息,并且在提取完嵌入信息后该算法能够精确地恢复原始载体。本发明利用H.264压缩标准编码器中产生的零量化DCT系数组来承载信息,结合直方图平移机制设计了一种新的可逆信息隐藏算法。

实现本发明目的的技术方案如下:

一种基于零量化DCT系数组的视频可逆信息隐藏方法,包括信息嵌入和信息提取;所述信息嵌入在H.264/AVC视频压缩过程的量化和重排序之间进行,并且信息嵌入后的码流不参与逆量化;所述信息提取在H.264/AVC视频恢复过程的重排序和逆量化之间进行;

所述信息嵌入,包括:

步骤1:从I帧内具有4×4预测模式的宏块中,选择存在非零量化系数的4×4块,作为可嵌入4×4块;

步骤2:所述宏块中的可嵌入4×4块,如果其量化系数AC15不为零,则对其量化系数AC15进行一维的直方图平移,即其中,X为平移量,且X为自然数;

步骤3:按可嵌入4×4块在所述宏块中的扫描顺序,选择为零的所有量化系数AC15,将每n个量化系数AC15组合后生成一个零系数组(c1,c2,...cn),2≤n≤16,其中元素c1对应第一个可嵌入4×4块的量化系数AC15,元素c2对应第二个可嵌入4×4块的量化系数AC15,以此类推;

步骤4:依照嵌入信息与零系数组元素值的映射关系表,根据待嵌入信息进行零系数组的元素赋值,并按赋值后元素值对应修改可嵌入4×4块的量化系数AC15;

步骤5:对已修改量化系数AC15所在4×4块的其它量化系数,按倒序对第一个非零量化系数进行一维的直方图平移,平移量为X;

所述信息提取,包括:

步骤1:从I帧内具有4×4预测模式的宏块中,选择存在非零量化系数的4×4块,作为待提取4×4块;

步骤2:按待提取4×4块在所述宏块中的扫描顺序,选择绝对值不大于X的所有量化系数AC15,将每n个量化系数AC15组合后生成一个零系数组(c1,c2,...,cn),2≤n≤16,其中元素c1对应第一个待提取4×4块的量化系数AC15,元素c2对应第二个待提取4×4块的量化系数AC15,以此类推;

步骤3:依照嵌入信息与零系数组元素值的映射关系表,根据零系数组的元素值提取出嵌入信息,并将零系数组的元素所对应的待提取4×4块的量化系数AC15修改为零;

步骤4:对已修改量化系数AC15所在4×4块的其它量化系数,按倒序对第一个非零量化系数进行一维的直方图平移逆操作;

步骤5:所述宏块中的待提取4×4块,如果其量化系数AC15的绝对值大于X,则对其量化系数AC15进行一维的直方图平移逆操作。

实现本发明目的的另一种技术方案是:

一种基于零量化DCT系数组的视频可逆信息隐藏方法,包括信息嵌入和信息提取;所述信息嵌入在H.264/AVC视频压缩过程的重排序和熵编码之间进行,还包括信息嵌入之前进行逆重排序,以及信息嵌入之后进行重排序;所述信息提取在H.264/AVC视频恢复过程的熵解码和逆重排序之间进行,还包括信息提取之前进行逆重排序,以及信息提取之后进行重排序;其中,信息嵌入和信息提取的步骤与前述技术方案相同。

前述两种技术方案中:

进一步地,平移量X=1;n=2;嵌入信息与零系数组元素值的映射关系表,按照以下方法生成:零系数组的元素取值为-1、0或1,组合构成9种零系数组;从中任选8种,与3位的二进制嵌入信息生成映射关系。

进一步地,平移量X=1;n=3;嵌入信息与零系数组元素值的映射关系表,按照以下方法生成:零系数组的元素取值为-1、0或1,组合构成27种零系数组;从中任选16种,与4位的二进制嵌入信息生成映射关系。

进一步地,平移量X=2;n=2;嵌入信息与零系数组元素值的映射关系表,按照以下方法生成:零系数组的元素取值为-2、-1、0、1或2,组合构成25种零系数组;从中任选16种,与4位的二进制嵌入信息生成映射关系。

进一步地,平移量X=2;n=3;嵌入信息与零系数组元素值的映射关系表,按照以下方法生成:零系数组的元素取值为-2、-1、0、1或2,组合构成125种零系数组;从中任选64种,与6位的二进制嵌入信息生成映射关系。

本发明的有益效果在于,是一种能够解决信息隐藏永久性修改原始压缩载体问题的方法,即本发明的方法可以在提取信息后精确地恢复压缩的原始载体。与现有的可逆视频信息隐藏相比,本发明充分利用系数的修改方向与给出的映射规则相结合,在同样的系数修改量下,本方法能够获得更高的嵌入容量。

附图说明

图1为信息嵌入在H.264/AVC视频压缩过程的量化和重排序之间进行的示意图。

图2为信息提取在H.264/AVC视频恢复过程的重排序和逆量化之间进行的示意图。

图3为信息嵌入在H.264/AVC视频压缩过程的重排序和熵编码之间进行的示意图。

图4为信息提取在H.264/AVC视频恢复过程的熵解码和逆重排序之间进行的示意图。

图5为4×4块的扫描顺序示意图。

图6和图7分别为实验仿真中,4个原始视频序列的第150帧和与其对应的含密视频帧。

具体实施方式

下面结合附图对本发明的具体实施方式进行进一步说明。

本发明方法包括信息嵌入和信息提取及H.264/AVC压缩视频载体恢复两个部分。

信息嵌入部分主要步骤如下:

在编码端(信息嵌入端),将原始视频序列经过H.264/AVC压缩编码器,在压缩的过程中进行信息的嵌入。每个视频序列由多帧图像构成,每帧图像又由多个宏块构成,压缩过程以每个宏块为基本单位进行。每个宏块依次要经过帧内或帧间预测、DCT变换、量化和熵编码四个过程(压缩过程)。在对每个宏块进行量化后得到16个4×4块,每个4×4块包含16个量化系数。由于对纹理比较光滑区域的修改会导致视频较大程度的失真,在信息嵌入时只选择I帧内具有4×4预测模式的宏块来进行信息隐藏。对于每个可嵌入的4×4块,要根据非零系数的个数来进行二次选择。当一个4×4块中非零系数的个数不为零并且在一个宏块中具有零系数AC15的可嵌入4×4块的块数为偶数时,每两个块的最后一个零系数AC15配成一对,再根据要嵌入的信息和给定的映射规则对配对零系数对进行修改,从而将秘密信息嵌入零系数对中。当可嵌入4×4块的块数为奇数时,最后一个可嵌入4×4不做操作,其他操作和块数为偶数时相同。这里,秘密信息需要预先转化为二进制序列B。对于每个已修改的可嵌入4×4块,修改系数前的非零系数要做一维的直方图平移,最终进行熵编码得到嵌入信息的视频流。具体如下:

(1)嵌入块和嵌入系数的选择。通常来说帧内4×4预测模式的宏块比16×16预测模式的宏块具有更丰富的纹理,对其进行修改所带来的失真不易被视觉感知。此外,帧内4×4预测模式宏块的亮度分量由16个4×4块构成,每个4×4块又由16个系数构成。对于给定的4×4块,当其非零系数的个数不为零时,这个4×4块被选为可嵌入块。在4×4块中,高频系数的修改对视频造成的感知失真较小,因此系数AC15(如图5所示,根据zig-zag扫描顺序)为0时被用来隐藏信息。

(2)信息嵌入。如果(1)中所有被选择可嵌入块的零系数AC15的个数为偶数时,每两个系数被配对用来嵌入信息。如果(1)中所有被选择可嵌入块的零系数AC15的个数为奇数时,每两个系数被配对用来嵌入信息,剩下的一个零AC15系数不做任何操作。对于每个可嵌入4×4块,若AC15不为零,为了保证具有可逆性,AC15系数需做一维的直方图平移,平移量为1,如下:

对于配对的零系数对,需根据下式进行信息嵌入:

式(2)中C表示配对的零系数对,bi(i=1,2,3)表示要嵌入的信息比特。在式(2)中,对系数对C的每个系数进行修改有9种结果,即(-1,0)、(-1,1)、(0,-1)、(0,0)、(0,1)、(1,-1)、(1,0)、(-1,-1)。因此,随机选取8种就可以嵌入3个消息比特,在该嵌入方法中没有用(-1,-1)来承载信息。当修改AC15系数以嵌入信息时,其对应4×4块AC15系数的前一个非零系数也要利用式(1)来进行修改,从而保证信息提取后能恢复原始的压缩视频。对所有的嵌入块进行上述操作,并对所有块经过熵编码后就得到含密视频流。

信息提取及H.264压缩视频载体恢复:

在解码端(信息提取端),同编码端一样,提取信息的位置首先被定位在I帧且具有4×4预测模式的宏块中。然后,对于每个宏块要进行可嵌入4×4块选择块选择。最终选择的4×4块的块数进行与嵌入端同样的配对方法,再根据嵌入规则即可提取出秘密信息。将嵌入信息的系数全部重置为零,并且在每个嵌入信息的4×4块中,嵌入信息系数的前一个非零系数进行逆直方图平移。对所有嵌入信息块进行上述操作后,最终即可获得压缩的原始视频载体。具体如下:

(1)信息提取。在信息提取端,同编码端一样,首先必须进行嵌入块选择,随后进行嵌入系数选择,嵌入块和嵌入系数的选择方式同编码端是一样的。同嵌入端一样,当有偶数个嵌入系数时,每两个系数被配对来提取嵌入的信息。当有奇数个嵌入系数时,每两个系数被配对来提取嵌入的信息,没有配对的一个系数不做任何操作。

对于每个配对系数,根据式(3)提取秘密信息:

所有配对的系数都用式(3)进行操作,最终提取出所有的秘密信息比特。

(2)压缩视频载体恢复。在提取完嵌入的信息之后,每个系数对均设置为C=(c1,c2)=(0,0)。此外,在可嵌入块中,当AC15系数的绝对值大于1时,进行一维的直方图平移的逆操作,如下:

每个嵌入信息系数AC15前的非零系数也要进行如式(4)的操作。对每个可嵌入块都进行上述操作,并对每个块都进行逆量化、逆变换,最终得到原始的压缩视频序列。

上述实施例中,每两个零系数被配对,即构成零系数对C用来嵌入信息。当然,也可以在可嵌入4×4块选择更多的零系数构成零系数组,用来嵌入信息。例如,每三个零系数构成零系数组C=(c1,c2,c3),或者每四个零系数构成零系数组C=(c1,c2,c3,c4),用来嵌入信息。

由于一维的直方图平移的平移量为1,所以零系数对C中(c1,c2)的取值只能为-1、0或1。事实上,在进行一维的直方图平移时,设置平移量为2,零系数对C中(c1,c2)的取值就可以为-2、-1、0、1或2,这样,对系数对C的每个系数进行修改就有25种结果,随机选取16种就可以嵌入4个消息比特。

同理,当一维的直方图平移的平移量为1时,零系数组C=(c1,c2,c3),那么(c1,c2,c3)的取值为-1、0或1,对系数组C的每个系数进行修改就有27种结果,随机选取16种就可以嵌入4个消息比特。当一维的直方图平移的平移量为2时,零系数组C=(c1,c2,c3),那么(c1,c2,c3)的取值为-2、-1、0、1或2,对系数组C的每个系数进行修改就有125种结果,随机选取64种就可以嵌入6个消息比特。

上述的设置,可以进一步提高嵌入容量。

如图1和图2所示,信息嵌入可以在H.264/AVC视频压缩过程的量化和重排序之间进行,并且信息嵌入后的码流不参与逆量化;与之对应的,信息提取在H.264/AVC视频恢复过程的重排序和逆量化之间进行。

如图3和图4所示,信息嵌入也可以在H.264/AVC视频压缩过程的重排序和熵编码之间进行,那么信息嵌入之前还要进行逆重排序,信息嵌入之后还要进行重排序;与之对应的,信息提取在H.264/AVC视频恢复过程的熵解码和逆重排序之间进行,那么信息提取之前还要进行逆重排序,信息提取之后还要进行重排序。

本发明方法的效果可以通过以下的性能分析验证:

1、嵌入容量

为了测试本方法的性能,本方法被成功应用于H.264/AVC测试平台JM12.0(http://iphome.hhi.de/suehring/tml/download/old_jm/)。主要的参数设置如表1,除提到的参数外,其他参数保持默认值。在实验仿真中,“Akiyo”、“Foreman”、“Mobile”和“Container”作为测试序列,对应于每个视频测试序列的嵌入容量如表2所示。由表2可看出,4个视频测试序列的嵌入容量都在9500bits以上,因此,该可逆信息隐藏算法具有较高的嵌入容量。

2、不可感知性

图6为4个原始视频序列的第150帧,图7为其对应的含密视频帧。显然,含密视频帧与原始视频帧从视觉上难以觉察到差异性。含密视频的峰值信噪比PSNR值的测试结果如表3所示,可见每个视频序列的PSNR值均在32dB以上,因此本视频可逆信息隐藏算法具有良好的视觉不可感知性。

3、比特率变化

在H.264/AVC编码器中,比特率是用来衡量编码器编码效率的标准之一,因此可以用其变化来衡量嵌入信息对编码器编码效率的影响。表4和表5是嵌入信息前后编码器编码比特率的变化,从表中数据可见比特率变化低于3.62kbps,因此嵌入信息对编码器的影响是非常小的。

表1 JM12.0参数配置

表2嵌入容量测试结果

表3不可感知性测试结果

表4嵌入信息前视频序列经过编码器的比特率

表5嵌入信息后视频序列经过编码器的比特率

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1