检测压缩视频比特流中的水印的解码方法和设备转让专利

申请号 : CN200480017494.9

文献号 : CN1810038B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吉尔·麦克唐纳·博伊斯丹尼尔·理查德·吉雷利里尹鹏

申请人 : 汤姆森许可贸易公司

摘要 :

公开了一种为视频内容加水印的视频编码器(600)、解码器(700)和方法(200,300,400,500)。所述编码器包括:量化单元(630),用于量化视频比特流的系数;以及与量化单元信号通信的嵌入单元(635),用于作为块中已编码系数的数量的奇偶性的函数,将数字指纹的比特嵌入到视频比特流的块中;并且解码器包括:检测单元(715),用于作为块中的已编码系数的数量的奇偶性的函数,检测视频比特流的块中的数字指纹的比特;以及与检测单元(715)信号通信的反相量化单元(720),用于对视频比特流的系数进行反相量化。

权利要求 :

1.一种检测嵌入在已压缩视频比特流中的数字指纹的方法(500),所述方法包括:接收(546)数字指纹,作为以比特序列的形式表示的唯一识别码;以及通过将唯一识别码的比特值与相应编码块中非零量化系数的数量模2的值进行比较,识别(552)来自已压缩视频比特流的相应编码块的唯一识别码的每一个比特;以及如果唯一识别码的特定比特等于相应编码块中非零量化系数的数量模2的值,则确定该唯一识别码的特定比特已经被检测到。

2.根据权利要求1所述的方法,还包括:

对作为以比特序列的形式表示的唯一识别码接收到的数字指纹中的比特序列的长度进行计数(542);

针对每一个相应编码块中非零量化系数的数量模2的值,测试(548)比特序列的每一个比特直到所述长度为止,来查看嵌入的比特是否与所述数字指纹相匹配。

3.根据权利要求1所述的方法,还包括使用所述编码块中的用来选择从中找到所述唯一识别码的比特的相应编码块的所选图案,来选择要针对唯一识别码的比特进行检查的已压缩视频比特流的相应编码块。

4.根据权利要求3所述的方法,其中所述编码块中的所述所选图案包括M个连续块,其中M等于唯一识别码的比特数量。

5.根据权利要求3所述的方法,其中所述编码块中的所述所选图案包括M个具有至少一个非零量化系数的编码块,其中M等于唯一识别码的比特数量。

6.根据权利要求3所述的方法,其中所述编码块中的所述所选图案包括直到M的每第N编码块,其中M等于唯一识别码的比特数量。

7.根据权利要求3所述的方法,其中所述编码块中的所述所选图案包括直到M的具有至少一个非零量化系数的已压缩视频比特流的每第N编码块,其中M等于唯一识别码的比特数量。

8.根据权利要求3所述的方法,其中所述编码块中的所选图案包括:直到M个具有至少一个非零量化系数的已压缩视频比特流的每第N编码块,其中,M等于唯一识别码的比特数量,并且存在直到已压缩视频比特流的最后编码块的包括M比特的唯一识别码的足够编码块。

9.根据权利要求1所述的方法,还包括在已压缩视频比特流中检测数字指纹的多个拷贝。

10.根据权利要求9所述的方法,其中针对每一个图像组或独立解码器刷新周期来检测数字指纹的新拷贝。

11.根据权利要求1所述的方法,其中所述编码块包括块、片段、宏块、或图像。

12.根据权利要求3所述的方法,其中在每一个帧内编码图像中重复编码块中的用来选择从中找到所述唯一识别码的比特的相应编码块的整个所选图案。

13.一种用于检测嵌入在已压缩视频比特流中的数字指纹的视频解码器(700),所述解码器包括:检测单元(715),通过与块中非零量化系数的数量模2的值进行比较,检测已压缩视频比特流的块中的数字指纹的比特值;

反相量化单元(720),与检测单元信号通信,用于对已压缩视频比特流的系数进行反相量化。

14.一种用于检测嵌入在已压缩视频比特流中的数字指纹的视频解码器,所述解码器包括:接收装置,用于接收数字指纹,作为以比特序列形式表示的唯一识别码;以及识别装置,用于通过将唯一识别码的比特值与相应块中非零量化系数的数量模2的值进行比较,识别来自已压缩视频比特流的相应编码块的唯一识别码的每一个比特。

说明书 :

技术领域

本发明涉及视频编码器和解码器,更具体地,涉及水印插入和/或检测的设备和方法。

背景技术

经常地,需要能够识别压缩视频比特流的源,例如,识别有版权的材料的未授权发布者。用来创建比特流的编码器能够唯一地通过在编码过程期间通过插入指纹(或水印)来识别。理想地,水印插入过程应该具有低附加计算复杂度,且水印应该是不能够可视地检测的,且对编码效率具有非常低的影响。
已经提出了大量的计算来将不可见的耐用和/或脆弱的水印插入到已压缩图像和视频中。一类技术根据人类视觉系统(HVS)对频率响应较为敏感,在离散余弦变换(DCT)、小波或其他变换域中产生了水印信号。
一些系统对JPEG或MPEG压缩图像/视频的量化DCT变换系数进行操作,其中对特定变换系数的最低有效位(LSB)进行调整以便与水印信号比特的奇偶性匹配。
因此,需要具有的附加计算复杂度的编码器和解码器来插入和检测实质上不能可视地检测的水印。

发明内容

通过插入和检测实质上不能可视地检测的水印的设备和方法来解决现有技术中的这些和其他缺陷和缺点。
根据本发明的原理,公开了一种用于检测水印视频内容的解码器;解码器包括:检测单元,作为块中的编码系数的数量的奇偶性的函数,检测在视频流的块中的数字指纹的比特,;以及反相量化单元,与检测单元进行信号通信,用于对视频比特流的系数进行反相量化。
通过结合附图阅读的典型实施例的以下描述,本发明的这些和其他方案、特征和优点将变得明显。

附图说明

根据以下典型附图,本发明将得到更好地理解,其中:
图1示出了块编码器的流程图;
图2示出了根据本发明原理的具有指纹插入的块编码器的流程图;
图3示出了根据本发明的原理的具有强制指纹插入的块编码器的流程图;
图4示出了根据本发明的原理的具有所需的指纹插入的块编码器的流程图;
图5示出了根据本发明原理的具有指纹检测的块解码器的流程图;
图6示出了根据本发明原理的具有进行指纹插入的块编码器的视频编码器的方框图;以及
图7示出了根据本发明原理的具有进行指纹检测的块解码器的视频解码器的方框图。

具体实施方式

本发明的实施例提出了具有低附加计算复杂度的方法和设备,用于插入和检测实质上不能可视地检测的水印。在以下描述中,为了简化,编码器和解码器可以统称为编解码器,尽管方法和设备实施例可以仅能够编码、仅能够解码、或同时能够编码和解码。在各个附图中的几百个位置处,类似元件可以有具有附图专用数字的类似参考数字来表示。这里,术语“水印”和“指纹”可以互换地使用。
诸如MPEG-2、MPEG-4和JVT的通用视频压缩标准包含帧内编码I帧和帧间编码P和B帧。通过将图像组合为MPEG-2中的图像组(GOP)或独立解码器刷新周期(IDR),能够实现压缩视频比特流中的随机访问点。在这些标准中,将已编码的图像划分为非重叠块。利用离散余弦变换(DCT)对每一个块进行变换,或对其进行类似变换、量化和运行长度(run length)编码,从而仅对非零量化系数进行编码。量化过程可以是均匀的或非均匀的,并且可以采用不工作区(dead zone)和/或阈值设定。例如,JVT JM参考软件采用一个阈值,通过其,如果在量化过程的第一级之后的非零系数的数量小于阈值T,则应用量化过程的第二级来强制将块中的所有系数量化为零。
本描述示出了本发明的原理。因此,将会意识到,本领域的技术人员将能够设计各种配置,尽管这里未明确描述和示出,这些各种配置将具体实现本发明的原理且包括在本发明的精神和范围内。
这里所述的所有示例和条件语言用于教导的目的以帮助读者理解本发明的原理和由发明人对本领域作出贡献的理念,并且应理解为并不局限于这样的特别陈述的示例和条件。
而且,这里陈述本发明的原理、方案和实施例的所有语句以及其特定示例应包括其结构上和功能上的等价物。另外,应该注意,这样的等价物包括当前已知的等价物以及未来开发的等价物,即,所开发的执行相同功能的任意元件,而与结构无关。
因此,例如,本领域的技术人员将会意识到:这里所呈现的方框图示出了具体实现了本发明原理的说明性电路的概念图。类似地,将会意识到,任何流程图、流图、状态转换图、微代码等表示可以在计算机可读介质上实质上进行表示的各种过程,并且由计算机或处理器执行,不管是否清楚地示出了这样的计算机或处理器。
附图中所示的各种元件的功能可以通过使用专用硬件、以及能够执行与适当软件相关的软件的硬件来提供。当由处理器提供时,这些功能可以由单个专用处理器、单个共享处理器或多个单独处理器来提供,其中一些可以是共享的。而且,明确使用术语“处理器”或“控制器”不应理解为专指能够执行软件的硬件,而可以隐含地包括而局限于数字信号处理器(“DSP”)硬件、用于存储软件的只读存储器(“ROM”)、随机存取存储器(“RAM”)、以及非易失性存储器。
也可以包括其他硬件,传统的和/或客户定制的。类似地,在图中所示的任何开关仅是概念性的。其功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的相互作用、或者甚至是相互地来实现,特定技术可以由实现者根据从环境中更具体地理解来选择。
在其权利要求中,表达为执行特定功能的任何元件用于执行该功能的任何方式,包括例如a)执行该功能的电路元件的组合,或b)任何形式的软件,因而包括固件、微代码等,与适当的电路组合来执行实现该功能的软件。由这样的权利要求所限定的本发明在于以下事实:由各种陈述的装置所提供的功能按照权利要求所要求的方式组合并结合在一起。因此,申请人考虑了能够提供与这里所示等价的那些功能的任何装置。
如图1所示,块编码器通常由参考数字100来表示。块编码器100包括开始块110,将控制传递给功能块114。功能块114使用帧内或帧间预测对块进行预测,形成残余块,并将控制传递给功能块116。结果,功能块116对残余块进行变换,形成变换系数,并将控制传递给功能块118。功能块118对变换系数进行量化,形成量化系数,并将控制传递给功能块120。结果,功能块120将变量N量化为块中的非零量化系数的数量,并将控制传递给判定块122。判定块122检查N是否为零,如果N不为零,则将控制传递给功能块136,功能块136对该块进行熵编码,然后将控制传递给结束块139。然而,如果N等于零,则判定块122将控制传递给功能块137,功能块137并不对该块进行编码,或者利用已编码块图案(CBP)来指示未编码块或跳过宏块。结果,功能块137将控制传递给结束块139。
因此,图1示出了基于块的视频编码器的块编码过程的流程图。针对块形成帧内或帧间预测,并且从块中减去该预测以形成残余块。对于帧间预测,通常使用运动补偿。针对不同的编码标准进行不同的帧内预测,而总是使用来自相同已编码图像中的相邻块或宏块的信息。然后,利用块变换对残余块进行变换以形成变换系数。对变换系数进行量化以形成量化系数。对其值非零的量化系数的数量N进行计数。如果N等于零,则不对块进行编码。如果对相同宏块中的其他块进行编码,则利用已编码块图案(CBP)来指示未编码的块。如果相同宏块中的所有块均未编码,则跳过该宏块。如果要对块进行编码,则利用运行长度编码对非零系数进行熵编码。
本发明的实施例提出了一种将唯一指纹插入到已压缩视频比特流中并检测其的低复杂度方法。描述了用于插入并检测已压缩视频比特流中的脆弱数字指纹(或水印)的方法,以便能够识别用来创建压缩的视频比特流的编码器。特别地,该方法非常适合于包括在MPEGAVC/ITU H.264比特流中。通过将块中的已编码系数的数量的奇偶性与所述码的比特值相匹配,将唯一识别码(指纹)的一个比特嵌入到比特流中的已编码块中。
该实施例允许在编码过程期间,通过视频压缩编码器将唯一指纹嵌入到已压缩视频比特流中。创建长度为L比特的唯一指纹序列FSEQ以唯一地识别该视频编码器。
在视频压缩编码过程期间,通过强制将针对该块的已编码(非零)系数的总数的奇偶性与指纹序列的比特相匹配,将来自指纹序列的一个比特嵌入到已编码块中。该系数的总数可以仅是指AC系数,也可以是指AC和DC系数。对于0比特,必须对偶数个非零系数进行编码,而对于1比特,则必须对奇数个非零系数进行编码。
转到图2,具有指纹插入的块编码器通常由参考数字200表示。块编码器200包括开始块210,将控制传递给功能块214。功能块214利用帧内或帧间预测对块进行预测,形成残余块,并将控制传递给功能块216。结果,功能块216变换该残余块,形成变换系数,并将控制传递给功能块218。功能块218对变换系数进行量化,形成量化系数,并且将控制传递给功能块220。
结果,功能块220将变量N量化为块中非零量化系数的数量,并将控制传递给判定块222。判定块222检查N是否为零,如果N等于零,则将控制传递给功能块237,功能块237并未对该块进行编码,或者已编码块图案(CBP)来指示未编码块或跳过宏块。结果,功能块237将控制传递给结束块239。然而,如果N不等于零,则判定块222将控制传递给功能块230,功能块230获取指纹序列F的下一比特,并将控制传递给判定块232。判定块232检查指纹序列F是否等于N模2,如果F等于N模2,则将控制传递给功能块236,功能块236对该块进行熵编码,然后将控制传递给结束块239。然而,如果F并不等于N模2,则判定块232将控制传递给功能块234,功能块234对该块重新量化以强制其为新值N,其中F等于N模2且N大于零。结果,功能块234将控制传递给功能块236,如上所述。
因此,图2示出了具有指纹插入的基于块的视频编码器的块编码过程。针对该块形成帧间或帧内预测,并且将其从块中减去以形成残余块。然后,利用块变换变换残余块以形成变换系数。对变换系数进行量化以形成量化系数。对其值非零的量化系数的数量N进行计数。如果N等于零,则不对块进行编码,且并不将指纹序列比特嵌入到该块中。如果N不等于零,则对块进行编码,并且将指纹序列的比特F嵌入到块中。如果N%2(其中%是模运算符)等于F,则不需要动作将比特F嵌入到块中,且对其进行熵编码。如果N%2并不等于F,则对该块重新量化来使其强制成为新值N,从而N%2=F且N>0。
如果对相同宏块中的其他块进行编码,则利用已编码块图案(CBP)指示未编码块。如果未对相同宏块中的所有块进行编码,则跳过该宏块。如果要对该块进行编码,则利用运行长度编码对非零系数进行熵编码。
当需要对块进行重新量化时,编码器可以选择对块进行重新量化的任意方法,从而使新值N满足条件N%2=F且N>0。可以按1来增加或减少块中的非零系数的数量,以便通过对块重新量化来匹配指纹信号比特。需要的是,重新量化过程不会创建没有非零系数的块,由于不将对这些块进行编码,因此,水印检测器将不能够确定该块已经将指纹比特嵌入到其中。由此,如果块中的非零系数的数量为1,则必须增加而非减少该数量。
可以通过将原来对应于非零量化系数的变换系数重新量化为零,以1来减少值N。编码器可以选择最低值的变换系数或最高频率位置的非零系数以将其重新量化为零,例如,使其对已压缩视频质量的影响最小。
可以通过将零值量化系数重新量化为诸如设置为1的非零值,来增加值N。编码器可以选择将在扫描次序上比第一量化级的最后非零量化系数高一个频率位置的位置上的变换系数重新量化为1。在JVT压缩标准中,当使用CAVLC熵编码时,对尾部进行有效编码,从而添加非零系数,按照该方式,将对编码该块所需的比特数量产生极其小的影响。可以使用与诸如CABAC等其他熵编码方法相同的策略。
用于选择哪些已编码块来嵌入指纹比特的图案是预定的,且由编码器和指纹解码器使用。可以使用第一L编码块,以编码L比特序列。可选地,对于任意预定的值M,可以使用每一个第M编码块来编码L*M已编码块中的L比特序列。还可以使用其他图案。
可以在视频序列中将L比特指纹序列重复许多次,或仅插入一次。一旦已经嵌入了整个L比特序列,则可以停止指纹嵌入过程,直到达到指定的重启点为止。在优选实施例中,针对每一个图像组或IDR,重复L比特指纹序列。
编码器可以选择需要将整个L比特序列嵌入到某个数量的视频图像、片段或宏块,对应于某个数量的块B。在优选实施例中,编码器需要在每一个I图像中对整个L比特序列进行编码。
在对视频图像进行编码之前,尽管已知视频图像被分为多少个块,但是并不知道多少块将被分类为未编码。仅分类为已解码的块用于嵌入指纹比特。为了满足将整个L比特指纹序列嵌入到所需数量的块B的约束,编码器可以强制对原来并未编码的块进行编码,从而可以将指纹比特嵌入到该块中。这通过对该块重复量化从而使非零系数N的新数量大于零来实现。
现在转到图3,具有强制指纹插入的块编码器通常由参考数字300来指示。块编码器300包括开始块310,将控制传递给功能块314。功能块314利用帧内或帧间预测对块进行预测,形成残余块,并将控制传递给功能块316。结果,功能块316变换该残余块,形成变换系数,并将控制传递给功能块318。功能块318对变换系数进行量化,形成量化系数,并且将控制传递给功能块320。
结果,功能块320将变量N量化为块中非零量化系数的数量,并将控制传递给功能块330,功能块330获取指纹序列F的下一比特,并将控制传递给判定块333。判定块333检查指纹序列F是否等于N模2以及N是否大于零,如果两个条件均为真,则将控制传递给功能块336,功能块336对该块进行熵编码,然后将控制传递给结束块339。然而,如果F并不等于N模2或N并不大于零,则判定块333将控制传递给功能块334,功能块334对该块重新量化以强制其为新值N,其中F等于N模2且N大于零。结果,功能块334将控制传递给功能块336,如上所述。
因此,图3示出了具有强制指纹插入的块编码器。即,不对该块进行编码是不允许的,从而确保了将指纹比特嵌入到该块中。前几个步骤与图2完全相同。针对该块形成帧间或帧内预测,并且将其从块中减去以形成残余块。然后,利用块变换变换残余块以形成变换系数。对变换系数进行量化以形成量化系数。对其值非零的量化系数的数量N进行计数。以下步骤不同于图2。如果N>0且F=N%2,则对该块进行熵编码。但是,如果这些条件未满足,则必须对该块重新量化来改变值N以满足这些条件。不同于图2,如果N=0,即,如果初始量化之后,块还未编码,则需要该重新量化步骤。
需要将整个L比特的指纹序列嵌入到B个块内的编码器能够跟踪块计数、以及已编码块计数cbc。然后,当剩下的要编码的块数不再大于剩下要嵌入的指纹比特的数量,则编码器能够强制对剩余块进行编码,即,不允许将其分类为未编码。
如图4所示,具有所需指纹插入的块编码器通常由参考数字400表示。块编码器400包括开始块410,将控制传递给开始循环块412,开始循环块412初始化并之后在零和最大值B之间递增循环计数器bc。开始循环块将控制传递给功能块414。功能块414利用帧内或帧间预测对块进行预测,形成残余块,并将控制传递给功能块416。结果,功能块416变换该残余块,形成变换系数,并将控制传递给功能块418。功能块418对变换系数进行量化,形成量化系数,并且将控制传递给功能块420。
功能块420将变量N初始化为块中非零量化系数的数量,并将控制传递给功能块430。功能块430获得指纹序列F=FSEQ[cbc]的下一个比特,并且将控制传递给判定块422。判定块422检查N是否为零,如果N等于零,则将控制传递给判定块424,判定块424检查B减去bc是否大于指纹序列比特数量(L)减去已编码块计数(cbc)。如果比较为真,则判定块424将控制传递给功能块437,功能块437并未对该块进行编码,或者利用已编码块图案(CBP)来指示未编码块或跳过宏块。结果,功能块437将控制传递给结束循环块438,如果循环计数器bc还未达到最大值B,结束循环块438将控制传递回开始循环块412;或者如果循环计数器bc已经达到最大值B,则将控制传递给结束块439。如果B减去bc并不大于L小于cbc,则判定块424将控制传递给功能块426,功能块426对该块重新量化以强制其为新值N,其中F等于N模2且N大于零。结果,功能块426将控制传递给功能块428。功能块428递增已编码块计数(cbc),并且将控制传递给功能块436,功能块436对该块进行熵编码,然后将控制传递给结束循环块438。
然而,如果N并不等于零,则判定块422将控制传递给判定块432。判定块432检查指纹序列F是否等于N模2,如果F等于N模2,则将控制传递给上述的功能块428。然而,如果F并不等于N模2,则判定块432将控制传递给功能块426,如先前所述。
因此,图4示出了具有所需指纹插入的编码器,其在其上需要嵌入L比特序列的片段或帧的B个块上循环。循环计数器bc用于块计数。对于每一个块,初始步骤与图2和3相同。针对该块形成帧间或帧内预测,并从块中减去其以形成残余块。然后,利用块变换来变换残余块以形成变换系数。对变换系数进行量化以形成量化系数。对非零量化系数的数量N进行计数。如果N=0,则进行进一步的检查,检查作为要处理的剩余块的数量的B-bc是否大于作为要嵌入的剩余指纹序列比特的数量的L-cbc,在这种情况下,并未对该块进行编码。即,如果B-bc>L-cbc,则该块并未编码。然而,如果B-bc不大于L-cbc,则必须对当前块进行编码,从而可以嵌入指纹比特以便满足将所有L个比特嵌入到B个块中的约束。变量cbc是已编码块计数,其对已经编码了多少块进行跟踪,即,没有被分类为未编码的那些块。
转到图5,指纹检测器通常由参考数字500表示。指纹检测器500包括开始块540,将控制传递给将控制传递给开始循环块542,开始循环块542将循环变量cbc初始化为零并在后续迭代中对循环变量cbc进行递增,直到最大值L为止。开始循环块542将控制传递给功能块544,功能块544将计数N设置为等于块中的非零量化系数的数量,并且将控制传递给功能块546。结果,功能块546获得指纹序列F=FSEQ[cbc]的下一个比特,并且将控制传递给判定块548。判定块548检查F是否等于N模2。如果F并不等于N模2,则判定块548将控制传递给功能块556,功能块556确定是否已经检测到指纹并将控制传递给结束块558。然而,如果N等于N模2,则判定块548将控制传递给结束循环块550,如果循环变量cbc还未等于L,则结束循环块550将控制传递回开始循环块542,或者否则,将控制传递给功能块552。功能块552确定已经检测到指纹,并将控制传递给结束块554。
因此,为了检测已压缩视频比特流中的指纹,对第一L个已编码块进行测试以查看嵌入的水印比特是否与L比特指纹序列FSEQ相匹配。如果使用了在第一L个已编码块中并未嵌入比特的图案,例如对每一个第M块进行操作的图案,则可以对该过程进行调节以遵循相同的图案。
在图5的指纹检测器实施例中,利用cbc作为循环指标对第一L个已编码块进行循环。对于每一个块,对非零量化系数的数量N进行计数。然后,将指纹序列F=FSEQ[cbc]的下一比特与N%2进行比较。如果F=N%2,则循环继续。如果在循环中的任意点处,F≠N%2,则将该过程结束,并且不检测指纹。如果循环以针对L个已编码块总是满足F=N%2的条件完成,则该过程结束并检测该指纹。
如果L足够大,则在指纹序列的图案之后的已编码系数数量的未加指纹的已压缩比特流的图案为奇数是非常不可能在2^L中近似为1。如果该比特流已经以任意方式从原来创建其的方法发生改变,即,如果出现了信道差错,则L个已编码块的单个组的指纹检测可能会失败。为了提供更大程度的可靠度,指纹检测器可以针对指纹检测已编码比特流的每一个GOP或IDR。
转到图6,用于指纹插入的典型视频编码器通常由参考数字600来表示。编码器600的输入端与求和点610的同相输入端相连以信号通信。求和点610的输出端与块变换器620相连以信号通信。变换器620与量化器630相连以信号通信,该量化器630可选地具体实现了用于指纹插入的块编码器,该量化器630与水印嵌入器635相连以信号通信。如相关领域的普通技术人员根据这里的教导所意识到的,编码器600仅需要包括水印编码器635和量化器630的指纹插入部分之一。嵌入器635的输出端与VLC(可变长度编码器)640相连以信号通信,VLC 640的输出端为编码器600的外部可用输出端。
量化器630的输出端还与反相量化器650相连以信号通信。反相量化器650与反相块变换器660相连以信号通信,结果,反相块变换器660与参考图像存储器670相连以信号通信。参考图像存储器670的第一输出端与运动估计器680的第一输入端相连以信号通信。编码器600的输入端还与运动估计器680的第二输入端相连以信号通信。指示运动矢量的运动估计器680的输出端还与运动补偿器690的第一输入端相连以信号通信。参考图像存储器670的第二输出端与运动补偿器690的第二输入端相连以信号通信。指示运动补偿后的参考图像的运动补偿器690的输出端与求和点610的反相输入相连以信号通信。
如图7所示,用于指纹检测的典型视频解码器通常由参考数字700表示。视频解码器700包括VLD(可变长度解码器710),与指纹检测器715相连以信号通信,指纹检测器715与反相量化器720相连以信号通信,所述反相量化器720可选地具体实现了指纹检测的块解码器。如相关领域的普通技术人员根据这里的教导将会意识到的,解码器700仅需要包括指纹检测器715和反相量化器720的指纹检测部分之一。反相量化器720与反相变换器730相连以信号通信。反相变换器730与求和点740的第一输入端相连以信号通信,求和点740的输出端提供视频解码器700的输出。求和点740的输出端与参考图像存储器750相连以信号通信。参考图像存储器750与运动补偿器760相连以信号通信,运动补偿器760与求和点740的第二输入端相连以信号通信。
相关领域的普通技术人员根据这里的教导任意确定本发明的这些和其他特征和优点。应该理解,本发明的原理能够以硬件、软件、固件、专用处理器或其组合等各种形式来实现。
更具体地,本发明的原理实现为硬件和软件的组合。而且优选地,软件实现为在程序存储单元具体实现的应用程序。可以将该应用程序上载到包括任何适当结构的机器上并由该机器来执行。优选地,在具有诸如一个或多个中央处理单元(“CPU”)、随机存取存储器(“RAM”)和输入/输出(“I/O”)接口的硬件的计算机平台上实现该机器。该计算机平台还可以包括操作系统和微指令代码。这里所述的各种过程和功能可以是微指令代码的一部分或应用程序的一部分或其组合,其可以由CPU来执行。另外,各种其他外围单元可以与计算机平台相连,例如附加数据存储单元和打印单元。
还应该理解,由于在附图中所示的构成系统的组件和方法的一部分最好以软件来实现,因此根据对本发明进行编程的方式,系统组件或处理功能块之间的实际连接可以是不同的。给定了这里的教导,相关领域的普通技术人员之一将能够设想本发明的这些和类似实现或配置。
尽管已经参考附图描述了说明性实施例,但是应该理解,本发明并不局限于这些精确的实施例,而可以由本领域的技术人员来实现各种改变和修改,而不脱离本发明的范围或精神。所有这样的改变和修改应包括在所附权利要求所限定的本发明的范围内。
相关申请的交叉引用
本申请要求在2003年6月25日提交的题为“METHOD AND APPARATUSFOR INSERTION AND DETECTION OF FINGERPRINTS IN A COMPRESSEDVIDEO BITSTREAM”的美国临时专利申请No.60/482,302(代理编号No.PU030163)的权益,其全文包括在此作为参考。