一种可逆视频水印无损漂移补偿方法转让专利

申请号 : CN200910077437.4

文献号 : CN101494756B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曾骁陈真勇陈明李涛范围熊璋

申请人 : 北京航空航天大学

摘要 :

一种可逆视频水印无损漂移补偿方法,无损漂移补偿的过程为:(1)图像组中的I帧在DCT变换和量化后得到嵌有水印的I帧DCT系数;(2)嵌有水印的I帧DCT系数经过逆量化和逆DCT变换后得到嵌有水印的I帧像素值,与原始帧存中的原始像素值求差形成漂移补偿量,输出到漂移补偿单元以备对下一视频帧进行漂移补偿;(3)图像组中P帧在经过运动估计和运动补偿后经过DCT变换和量化得到运动残差的DCT系数,它按上一帧求得的漂移补偿量进行补偿,经过熵编码形成嵌有水印的压缩视频流;(4)经过漂移补偿的P帧运动残差的DCT系数与运动补偿量形成完整的嵌有水印的P帧像素值,与原始帧存中的P帧原始像素值求差形成下一个P帧的漂移补偿量;无损漂移补偿去除是相应的逆操作。本发明提高了嵌水印视频在正常解码时的视觉质量,并且能精确还原视频信息。

权利要求 :

1.一种可逆视频水印无损漂移补偿方法,其特征在于:包括无损漂移补偿及对应的无损漂移补偿去除过程,两者均以图像组(Group of pictures,GOP)为单位,并只对其中的P帧进行补偿,其中无损漂移补偿的过程为:(1)图像组中的第一个视频帧,即I帧,独立编码不参考其它帧,它在DCT变换和量化后嵌入水印,得到嵌有水印的I帧DCT系数,并经过熵编码作为嵌有水印的压缩视频流输出;

(2)嵌有水印的I帧DCT系数同时也经过逆量化和逆DCT变换后得到嵌有水印的I帧像素值,存于第一水印帧存中,它与原始帧存中的原始像素值求差,差值经过DCT变换和量化后形成漂移补偿量,并输出到漂移补偿单元以备对下一视频帧进行漂移补偿;

(3)图像组中的第二个视频帧,即图像组中的第一个P帧,参考I帧进行编码,P帧在经过运动估计和运动补偿后经过DCT变换和量化得到运动残差的DCT系数,它在漂移补偿单元按上一帧求得的漂移补偿量进行补偿,然后经过熵编码形成嵌有水印的压缩视频流;

(4)同时,经过漂移补偿的P帧运动残差的DCT系数再经过逆量化、逆DCT变换和运动补偿形成完整的嵌有水印的P帧像素值,存于第一水印帧存中,它与原始帧存中的原始像素值求差,差值又经过DCT变换和量化后形成漂移补偿量,漂移补偿量再输出到漂移补偿单元以备对下一个视频帧进行漂移补偿,如此反复直到所有的P帧处理完毕;

无损漂移补偿去除是相应的逆操作,其过程如下:

(1)图像组中的第一个视频帧,即I帧,在熵解码后先通过逆量化和逆DCT变换得到嵌有水印的像素值存于第二水印帧存中,并且,熵解码后的I帧经过提取水印得到还原的I帧DCT系数,还原的I帧DCT系数再经过熵编码就能得到还原后的I帧视频流;

(2)还原的I帧DCT系数同时也经过逆量化和逆DCT变换得到还原的I帧像素值存于还原帧存中,它与第二水印帧存中的像素值求差,差值再经过DCT变换和量化得到漂移补偿量;

(3)图像组中的第二个视频帧,即图像组中的第一个P帧,参考I帧进行解码,P帧经过熵解码后在去除漂移补偿单元按上一步求得的漂移补偿量进行补偿去除,得到还原的P帧DCT系数,还原的P帧DCT系数一方面经过熵编码得到还原后的P帧视频流,另一方面再经过逆量化、逆DCT变换和运动补偿后得到完整的原始P帧像素值存于还原帧存中;

(4)同时,经过熵解码的P帧DCT系数在经过逆量化、逆DCT变换和运动补偿后得到嵌有水印的P帧像素值存于第二水印帧存中,它与还原帧存中的P帧像素值求差,差值经过DCT变换和量化得到下一个视频帧的漂移补偿量,它再输出到去除漂移补偿单元以备对下一个视频帧进行漂移补偿去除,如此反复直到所有的P帧处理完毕。

2.根据权利要求1所述的一种可逆视频水印无损漂移补偿方法,其特征在于:所述的补偿中若除了I帧以外,水印也要同时在P帧中嵌入,则应先对P帧进行漂移补偿后再嵌入水印,与此对应,漂移补偿去除过程在P帧中的水印提取之后再进行。

3.根据权利要求1所述的一种可逆视频水印无损漂移补偿方法,其特征在于:对视频帧的失真补偿也以宏块为单位进行,如果P帧中的宏块经过补偿会变为全0,则不对该宏块进行补偿,以消除二义性。

4.根据权利要求1所述的一种可逆视频水印无损漂移补偿方法,其特征在于:视频中的P帧设为Fn+1,称作参考帧,前一时刻的I帧或P帧设为Fn,称作被参考帧,Fn含水印的像素宏块为PMBi’,Fn不含水印的像素宏块为PMBi,其差值DPMBi=PMBi’-PMBi为嵌入水印引入的像素失真,DPMBi经过DCT变换和量化得到补偿量DMBi,漂移补偿过程是从Fn+1的DCT量化系数中减去DMBi,去除漂移补偿过程则是在Fn+1的DCT量化系数中加上DMBi。

说明书 :

一种可逆视频水印无损漂移补偿方法

技术领域

[0001] 本发明涉及一种多媒体数字水印的改进方法,特别涉及一种可逆视频水印无损漂移补偿方法。

背景技术

[0002] 数字信息革命给人类的社会和生活带来了深刻的变化,同时也带来了新的挑战和机遇。今天,图形工作站、数码相机、数码录像机、扫描仪等设备和功能强大的软件,已被全球范围的用户用于创作、处理和共享图像、音频、视频等数字多媒体内容和作品。同时,随着网络通讯技术的蓬勃发展,多媒体数据的发布与交流空前普及,产生了大量如数字视频出版(Digital Video Publications)、视频点播(Video-On-Demand,VOD)和视频会议(Videoconferences)的视频多媒体应用。然而,数字多媒体作品易于修改、可完美复制以及世界范围内几乎不需要代价的分发的特性,使数字内容的版权保护及安全问题成为亟待解决的问题。
[0003] 数字水印是保护数字媒体内容的有效与关键方法之一。与其他技术相比,数字水印具有不可感知、与宿主数据无缝结合以及不容易被去除和篡改等优点。数字水印的上述优点使其在多媒体版权保护和认证方面的应用日益广泛,近十多年来引起了学术界的广泛关注。
[0004] 现有研究的数字水印大部分都是不可逆的,会对原始的宿主信息造成永久的改变。这在如军事、法律、医学和政府机要部门等敏感领域中,往往是不可接受的。为此,可逆水印技术随之产生。可逆水印技术又称可擦除水印技术,当把含有水印的载体信息传送给检测方之后,可首先提取出水印信息,并在确定了载体信息的完整性和可靠性之后,按照嵌入水印过程的逆操作,实现原始宿主信息的精准恢复。已有的可逆水印研究基本都基于静态图像,针对视频特别是压缩视频的研究较少。
[0005] Hartung 和 Girod 在“Watermarking of Uncompressed and Compressed Video”(见SignalProcessing,1998,vol.66(3),pp.283-301)一文中首次对普通压缩视频水印的漂移补偿问题进行了研究。把从没有加数字水印的比特流中进行重构的值与从含有数字水印的比特流中进行重构的值相减,得到一个差值,这个差值就是漂移补偿信号。但由于其方法直接修改像素,引入漂移补偿信号后需要经过有损的量化过程,并且不具备漂移补偿信号移除机制,无法获得精确的还原视频,所以该方法不能直接运用到可逆视频水印中。此外,由于可逆视频水印的运动估计与补偿必须以参考帧嵌入水印前的状态做参考,失真漂移问题比普通视频水印更加突出。因为视频压缩编码涉及帧间运动估计与运动补偿的重要环节,为满足可逆的要求,帧间编码的帧在做运动估计与补偿时,必须以参考帧嵌入水印前的状态为参考,而参考帧最终形成的码流是嵌入水印后的码流。这种差异在水印可逆提取时是可以恢复的,而在对嵌有水印的视频进行正常的视频解码时,参考帧则会出现误差。这种误差使后续以其为参考帧的帧间编码帧产生失真,而且失真具有扩散和累积效应,导致嵌有水印的视频往往不能取得令人满意的视觉效果,在水印嵌入的强度和容量大时则更是如此。

发明内容

[0006] 本发明要解决的技术问题是:克服现有技术的不足,提供一种可逆视频水印无损漂移补偿方法,该方法不仅可以对失真漂移进行补偿,而且可以去除补偿,明显地提高嵌水印视频在正常解码时的视觉质量,使视频信息精确还原。
[0007] 本发明解决其技术问题所采用的技术方案:一种可逆视频水印无损漂移补偿方法,包括无损漂移补偿及对应的无损漂移补偿去除过程,两者均以图像组(Group of pictures,GOP)为单位,并只对其中的P帧进行补偿,其中无损漂移补偿的过程为:
[0008] (1)图像组中的第一个视频帧,即I帧,独立编码不参考其它帧,它在DCT变换和量化后再经过嵌入水印后得到嵌有水印的I帧DCT系数,并经过熵编码作为嵌水印的压缩视频流输出;
[0009] (2)嵌有水印的I帧DCT系数同时也经过逆量化和逆DCT变换后得到嵌有水印的I帧像素值,存于水印帧存中,它与原始帧存中的原始像素值求差,差值经过DCT变换和量化后形成漂移补偿量,并输出到漂移补偿单元以备对下一视频帧进行漂移补偿;
[0010] (3)图像组中的第二个视频帧,即图像组中的第一个P帧,参考I帧进行编码,P帧在经过运动估计和运动补偿后经过DCT变换和量化得到运动残差的DCT系数,它在漂移补偿单元按上一帧求得的漂移补偿量进行补偿,然后经过熵编码形成嵌水印的压缩视频流;
[0011] (4)同时,经过漂移补偿的P帧运动残差的DCT系数再经过逆量化、逆DCT变换和运动补偿形成完整的嵌有水印的P帧像素值,存于水印帧存中,它再与原始帧存中的原始像素值求差,差值又经过DCT变换和量化后形成漂移补偿量,漂移补偿量再输出到漂移补偿单元以备对下一个视频帧进行漂移补偿,如此反复直到所有的P帧处理完毕;
[0012] 无损漂移补偿去除是相应的逆操作,其过程如下:
[0013] (1)图像组中的第一个视频帧,即I帧,在熵解码后先通过逆量化和逆DCT变换得到嵌有水印的像素值存于水印帧存中,并且,熵解码后的I帧也可以经过提取水印得到还原的I帧DCT系数,还原的I帧DCT系数再经过熵编码就能得到还原后的I帧视频流;
[0014] (2)还原的I帧DCT系数同时也经过逆量化和逆DCT变换得到还原的I帧像素值存于还原帧存中,它与水印帧存中的像素值求差,差值再经过DCT变换和量化得到漂移补偿量;
[0015] (3)图像组中的第二个视频帧,即图像组中的第一个P帧,参考I帧进行解码,P帧经过熵解码后在去除漂移补偿单元按上一步求得的漂移补偿量进行补偿去除,得到还原的P帧DCT系数,还原的P帧DCT系数一方面经过熵编码得到还原后的P帧视频流,另一方面再经过逆量化、逆DCT变换和运动补偿后得到完整的还原的P帧像素值存于“还原帧存”中。
[0016] (4)同时,经过熵解码的P帧DCT系数在经过逆量化、逆DCT变换和运动补偿后得到嵌水印的P帧像素值存于水印帧存中,它与还原帧存中的P帧像素值求差,差值经过DCT变换和量化得到下一个视频帧的漂移补偿量,它再输出到去除漂移补偿单元以备对下一个视频帧进行漂移补偿去除,如此反复直到所有的P帧处理完毕。
[0017] 图像组后面的P帧(设为Fn+1,称作参考帧)参考前面的I帧和P帧(设为Fn,称作被参考帧)进行编码,用于对参考帧进行漂移补偿的补偿量是通过其被参考帧含水印的像素值与不含水印的像素值求差,然后再经过DCT变换和量化得到的。
[0018] 视频帧中的像素值以宏块为单位进行计算。Fn含水印的像素宏块为PMBi’,Fn不含水印的像素宏块为PMBi,其差值DPMBi=PMBi’-PMBi为嵌入水印引入的像素失真。DPMBi经过DCT变换和量化得到补偿量DMBi。漂移补偿过程是从Fn+1的DCT量化系数中减去DMBi,去除漂移补偿过程则是在Fn+1的DCT量化系数中加上DMBi。
[0019] 若除了I帧以外,水印也要同时在P帧中嵌入,则应先对P帧进行漂移补偿后再嵌入水印。与此对应,漂移补偿去除过程在P中的水印提取之后再进行。
[0020] 对视频帧的失真补偿也以宏块为单位进行,如果P帧中的宏块经过补偿会变为全0,则不对该宏块进行补偿以消除二义性。
[0021] 本发明与现有技术相比所具有的优点是:
[0022] 1、本发明所述的可逆视频水印无损漂移补偿方法只需对压缩视频中的P帧进行补偿就可以大幅减小I帧中水印信号对其后的P帧和B帧的失真影响,明显提高嵌水印视频在正常解码时的视觉质量;
[0023] 2、本发明所述的可逆视频水印无损漂移补偿方法在检测端提取水印后,可以从P帧中完整地移除漂移补偿信号,使视频信息精确还原;
[0024] 3、本发明所述的可逆视频水印无损漂移补偿方法并不依赖于具体的可逆水印嵌入和提取方法或具体的视频编码标准,具有良好的适应性;
[0025] 4、本发明所述的可逆视频水印无损漂移补偿方法可同时适用于既在I帧中嵌入水印又在P帧中嵌入水印的情况。

附图说明

[0026] 图1为本发明的无损漂移补偿和漂移补偿去除的总体框架图;
[0027] 图2为本发明结合视频编码和可逆水印嵌入的漂移补偿框架图;
[0028] 图3为本发明无损漂移补偿的流程图;
[0029] 图4为本发明结合视频解码和可逆水印提取的漂移补偿消除框架图;
[0030] 图5为本发明无损漂移补偿去除的流程图;
[0031] 图6为本发明同时在I帧和P帧嵌入水印时的示意图。

具体实施方式

[0032] 本发明的无损漂移补偿和漂移补偿去除的总体框架图如图1所示。图1主要分为无损漂移补偿(左)和漂移补偿去除(右)两大部分。
[0033] 本发明结合视频编码和水印嵌入的漂移补偿过程如图2所示,I帧数据在输出到“熵编码”单元之前进行水印嵌入,嵌入水印后的I帧数据再经过逆量化和逆DCT变换形成“水印帧存”,“水印帧存”与“原始帧存”的差值经过DCT变换和量化形成漂移补偿量,该漂移补偿量在“漂移补偿”单元作用于下一个输出到“熵编码”单元的P帧数据。
[0034] 本发明进行无损漂移补偿的流程如图3所示,I帧采用的是帧内编码,它在分块、DCT变换和量化处理后,得到不交迭的16×16 DCT量化系数宏块MBi。该DCT量化系数一方面用于重构原始的参考帧存Rorig_I,另一方面用于嵌入可逆水印,得到嵌入后的DCT量化系数宏块MBi’,再通过熵编码输出携带水印数据的I帧码流。MBi’同时用于重构带有水印的参考帧存Rwm_I。Rwm_I和Rorig_I之间存在的像素值差异就是水印信号导致的失真。
[0035] 对于I帧后的第一个P帧,采用帧间编码,每个宏块按照如下步骤进行处理:
[0036] 步骤1:首先利用Rorig_I实施运动估计和运动补偿,获得像素残差数据,并经过DCT变换和量化,得到残差的DCT量化系数宏块MBi;
[0037] 步骤2:MBi经过逆量化、逆DCT变换及运动补偿后,输出到参考帧存Rorig_P,用于其它P帧和B帧的运动估计和运动补偿;
[0038] 步骤3:然后对MBi进行漂移补偿。根据运动估计获得的运动向量,在Rorig_I和Rwm_I中分别找出参考宏块的像素值PMBi和PMBi’;
[0039] 步骤4:计算出两种参考宏块的像素差值,DPMBi=PMBi’-PMBi,这就是I帧嵌入水印后引入的像素失真;
[0040] 步骤5:将DPMBi进行DCT变化和量化,得到漂移补偿数据的DCT量化系数宏块DMBi;
[0041] 步骤6:从P帧的MBi中减去漂移补偿数据DMBi,即可得到P帧经过漂移补偿后的DCT量化系数宏块MBi’;
[0042] 步骤7:MBi’熵编码后输出到实际的P帧码流中;
[0043] 步骤8:MBi’逆量化、逆DCT变换及运动补偿后,输出到下一个漂移补偿计算的参考帧存Rc_P。
[0044] 对于其它的P帧,漂移补偿流程和I帧后的第一个P帧的漂移补偿流程大致相同,只是在步骤3中不再利用I帧的重构帧存Rorig_I和Rwm_I计算漂移补偿数据,而是利用前一个P帧的重构帧存Rorig_P和Rc_P实施漂移补偿计算。这是一个迭代过程,每个漂移补偿后的P帧又将成为下一个P帧漂移补偿计算的基础。
[0045] 在进行无损漂移补偿和视频编码的过程中,由于运动估计和补偿技术的存在,P帧有些的8×8的残差块经过DCT变换和量化后,所有系数都会变成零。在这种情况下,编码器以SKIP模式编码,不传输实际的零系数,以减小输出码流的比特率。如果对这些块进行漂移补偿,则会使本来不需要传输的块系数不全为零,导致码流的比特率迅速增大。因此,为了避免这种情况,不对P帧中DCT量化系数全为零的块进行漂移补偿处理。此外,还存在一种影响检测端还原P帧的歧义状态。有少数不全为零的DCT量化系数块经过漂移补偿后,反而会成为全零的系数块。如果出现这种情况,在检测端,将无法判断这是未经漂移补偿计算的全零系数块(不需要还原),还是经过漂移补偿计算后才成为全零的系数块(需要还原),从而无法准确的还原P帧。所以,在所提出的算法中,将判断每个被漂移补偿的块是否会变成全零,如果是,则不对它进行漂移补偿,从而避免上述歧义状态的形成。
[0046] 上述过程并不对B帧进行漂移补偿,这是因为B帧不作为其它帧的参考帧,且大量的B帧在解码时都是参考前后的P帧进行重构,而P帧数据已经通过漂移补偿,很大程度上已能够降低嵌水印视频B帧的失真。如果进一步对B帧进行漂移补偿运算,会加大视频编码器的运算量,而获得的视觉质量提高并不明显。
[0047] 通过以上过程嵌入水印数据,并进行漂移补偿后,在用标准解码器对带有水印的视频流解码时,每一个P帧都会用补偿过的残差和参考帧进行重构运算,所得到的画面将较补偿前更接近标准压缩编码的P帧图像,从而使最终得到的压缩视频流保持较好的视觉质量。
[0048] 本发明结合视频解码和可逆水印提取的无损漂移补偿消除过程如图4所示,I帧数据在熵解码后进行水印提取,还原后的I帧数据在经过逆量化和逆DCT变换后形成“还原帧存”,“还原帧存”与“帧存”的差值经过DCT变换和量化形成漂移补偿,该漂移补偿在“去除失真补偿”单元作用于由熵解码输出的P帧数据。
[0049] 本发明进行无损漂移补偿去除的流程如图5所示,对于I帧,在经过熵解码后,得到16×16的DCT量化系数宏块MBi’,再经过逆量化和逆DCT变换后生成带有水印的重构帧存Rwm_I,用于之后补偿信号的计算;然后从MBi’中提取水印信号并还原为原始值MBi,经过逆量化和逆DCT变换后得到还原帧存Rorig_I;此外,把MBi熵编码后输出到还原后的I帧码流。由于熵解码过程以及水印的提取过程都是无损的,因此可以证明此处的Rwm_I以及Rorig_I与嵌入水印时获得的数据是完全一致的,这就使得我们能够获取与嵌入时相同的漂移补偿信号,并从P帧中移除,使P帧还原为未添加补偿信号时的状态。
[0050] 对于I帧后的第一个P帧,每个宏块按照如下步骤进行处理:
[0051] 步骤1:熵解码后,得到带有漂移补偿信号的DCT量化宏块MBi’;
[0052] 步骤2:MBi’逆量化、逆DCT变换及运动补偿后,输出到参考帧存Rc_P,用于之后其它P帧的漂移补偿信号的计算;
[0053] 步骤3:根据解码获得的运动矢量,在Rorig_I和Rwm_I中分别找出参考宏块的像素值PMBi和PMBi’;
[0054] 步骤4:计算出两种参考宏块的像素差值,DPMBi=PMBi’-PMBi,这就是嵌入水印的I帧引入的像素失真;
[0055] 步骤5:将DPMBi进行DCT变化和量化,得到漂移补偿数据的DCT量化系数宏块DMBi;
[0056] 步骤6:在MBi’中加上漂移补偿数据的DCT量化系数宏块DMBi,即可得到P帧未经过漂移补偿的DCT量化系数MBi;
[0057] 步骤7:MBi熵编码后输出到还原后的P帧码流;
[0058] 步骤8:MBi逆量化、逆DCT变换及运动补偿后,输出到还原后的参考帧存Rorig_P,用于之后其它P帧的补偿信号的计算。
[0059] 对于其它P帧,移除补偿信号的流程和I帧后的第一个P帧大致相同,只是步骤3中不再利用I帧的重构帧存Rorig_I和Rwm_I进行补偿数据计算,而是利用前一个P帧的重构帧存Rorig_P和Rc_P实施补偿数据的计算。这仍然是一个迭代过程,每个P帧移除漂移补偿后又将成为下一个P帧移除漂移补偿计算的基础。
[0060] 和嵌入时的漂移补偿过程相对应,检测端移除漂移补偿数据的操作也仅针对那些不为全零的DCT量化系数块。另外,在移除漂移补偿信号之前,还要判断该系数块是否真的含有漂移补偿信号。具体方法是,先假设该系数块不含有漂移补偿信号,那么它减去漂移补偿信号应该会成为全零的系数块,如果经过计算后仍然不为全零系数块,则表明该系数块含有漂移补偿信号,应该进行漂移补偿信号移除的操作。
[0061] 本发明在水印嵌入过程中,并没有修改B帧;而且在B帧解码时,已经获得前后两个参考帧(I或P)的精确还原数据,无论残差或参考帧图像都没发生任何比特的变化。所以按照标准流程解码可以得到真实的B帧重构图像,将B帧码流直接输出到还原视频流中。
[0062] 本发明当同时在I帧和P帧嵌入水印时的漂移补偿框架图如图6如示。除了需要在I帧中嵌入可逆水印外,许多应用还需要在P帧中嵌入可逆水印。如在内容完整性验证应用中,将水印数据嵌入P帧,可以判断某些非关键帧被删除或者调换了顺序,对基于时域的恶意篡改更具有敏感性。而通常说来,在P帧中嵌入可逆水印后,会导致视频视觉质量的急剧下降,这是由于前面的P帧嵌入水印后,引入的失真会传播到其后的P帧和B帧中。而后面的P帧在已失真的基础上,继续嵌入水印,会进一步增加失真,并将这些失真继续传播下去。如此迭代,像素误差产生累积,视觉失真将逐渐扩大。而每个P帧经过漂移补偿后,能尽可能的避免受到前面的I帧或P帧嵌入水印所引起的失真影响,提高自己的保真度。漂移补偿可以很大程度地避免在P帧中嵌入水印而引起的失真扩散和累积的现象。
[0063] 在I帧和P帧中同时嵌入可逆水印的情况下,如果先在P帧中嵌入水印,再对其进行漂移补偿,那么移除漂移补偿信号就成为正确提取水印的必要条件。假设某P帧R之前的参考帧R-1遭到恶意篡改,在检测端将无法还原R-1;缺少了还原参考帧的信息,则不可能精确的移除R中的漂移补偿信号,从而导致无法正确提取R中的水印信号。在这种情况下,就算P帧自身未受到篡改,却因为受到其它帧的影响而无法提取正确的水印,这是不合理的。如果先进行无损漂移补偿,再嵌入水印,则可以避免上述情况,也就是说,即使参考帧R-1遭到恶意篡改,只要R未被改动,都可以正确提取R中的水印信号,从而保证水印的提取过程不受到其它帧的影响。所以,选择第二种方式,即先实施无损的漂移补偿,再把水印嵌入到具有更小失真的图像中。
[0064] 在I帧和P帧中同时嵌入可逆水印并引入无损漂移补偿的具体方法如下:
[0065] 1)编码过程中,I帧的编码和嵌入方法不变;
[0066] 2)对于P帧,先进行漂移补偿计算,即执行漂移补偿的步骤1至步骤6;
[0067] 3)采用与I帧可逆水印嵌入同样的方法进行P帧的水印嵌入;
[0068] 4)然后再执行漂移补偿的步骤7和步骤8,漂移补偿并嵌入水印后的DCT量化系数输出到压缩视频流以及参考帧Rc_P。
[0069] 这将形成一个递归过程,能保证后面的所有P帧都是在之前的漂移补偿结果上进行水印嵌入和熵编码输出的。另外,为了和前面的漂移补偿策略相一致,P帧中实际嵌入水印的块即为那些进行了漂移补偿的块,而不在全零的系数块以及可能产生歧义状态的系数块中嵌入水印。
[0070] 提取还原过程是嵌入过程的逆过程,相应的方法如下:
[0071] 1)I帧的提取和还原方法不变;
[0072] 2)解码P帧时,先执行漂移补偿消除的步骤1和步骤2;
[0073] 3)提取P帧中嵌入的水印;
[0074] 4)再执行漂移补偿消除的其它步骤,移除漂移补偿信号,将其还原成未嵌入水印的状态。
[0075] 按照上述方法提取I帧和P帧的水印,并还原压缩视频,能够得到标准的MPEG-4压缩视频。