多参考画面的快速运动估计的制作方法

文档序号:7948600阅读:128来源:国知局
专利名称:多参考画面的快速运动估计的制作方法
技术领域
本发明涉及视频编码器,具体地涉及用于视频编码器中的多参考画面的运动估计算法。
背景技术
通常以位流的形式处理和传送视频数据。典型的视频压缩解码器通过形成要编码的画面的参考画面预测并对当前画面和预测之间的区别进行编码,来获得其大部分压缩效率。预测与当前画面越紧密相关,压缩那个画面所需要的位的数目就越少,从而增加处理的效率。因此,希望形成最可能的参考画面预测。
在包括运动画面专家组(“MPEG”)-1、MPEG-2和MPEG-4的许多视频压缩标准中,估计先前参考画面和当前画面之间的运动来形成先前参考画面的运动补偿版本。将先前参考画面的运动补偿版本用作当前画面的预测,并且只对当前画面和预测之间的区别进行编码。
运动估计在当前视频编码系统中起着重要的作用,并且通常是编码器计算上最复杂的部分。大多数当前视频编码标准使用了块匹配算法。在逐块基础上估计运动量的全搜索策略是流行的运动估计方法。不幸的是,全搜索策略的复杂度相当地高,尤其对于诸如使用多参考画面和多块类型的H.264的高级视频编码标准而言更是如此。已经提出了诸如三步搜索、新三步搜索、菱形搜索、区域搜索、分层或多解析度搜索、或其组合的几种快速搜索算法。这些算法通过减少搜索点的数目来降低复杂度。不幸的是,它们趋向落入误差表面的局部极小值。因此,它们的性能通常比全搜索策略要差。
大多数当前视频编码标准使用块运动估计以降低位速率。已经很好地开发了用于视频编码的块运动估计,但是很少提出用于多参考画面和多块类型选择的算法,例如,诸如可以在H.263++和JVT/H.264/MPEG AVC标准中使用的。
在JVT/H.264标准中,为运动补偿提供了各种模式。每个运动补偿宏块模式对应于固定大小的块。可以将块分割成16×16、16×8、8×16、和8×8。可以将8×8块进一步子块分割为8×4、4×8、或4×4大小的块。因此,总共支持7种块类型。通过替代对应参考画面的区域来获得每个预测编码的m×n块的预测信号,其是由来自运动向量预测器的被差分编码的平移的(translational)运动向量所指定的。JVT/H.264还支持多画面运动补偿预测。也就是说,可以使用多于一个预先编码的画面作为用于建立预测编码的块的预测信号的参考。因此,对于运动估计而言,编码器不得不对于应该选择哪个块类型和哪个参考画面作出判断。该多参考画面和多块类型选择使得运动搜索更为复杂。
将多参考画面用于视频编码以获得更佳的压缩。例如,JVT/H.264标准允许使用多达15个参考帧。典型地,从所有参考画面中计算预测块的运动向量,并且然后为块选择最明显的预测。因此,在该示例中,运动估计处理的计算负担可能高达单个参考画面的计算负担的15倍。它将阻止使用更多的参考帧,或者增加编码器的复杂性,或者降低软件编码速度。
不幸的是,由于将预测块的运动估计应用于所有的参考画面,用于多参考画面的缓慢的和/或复杂的计算分别不利地影响系统性能和/或成本。因此,需要一种使用多参考画面增加运动估计处理的速度的方法。

发明内容
通过一种用于视频编码器中的具有多参考画面的快速运动估计的装置和方法来解决现有技术的这些和其它障碍和缺点。
提供了一种用于编码与多参考画面相关的图像块的视频信号数据的视频编码器,包括快速运动估计器,用于提供与参考画面中的一个参考画面相对应的运动向量;以及场景(scene)检测部分,用于当排除落在场景变化上的参考画面时执行快速运动估计。
提供了一种用于编码具有多参考画面的图像块的视频信号数据的对应方法,包括接收实质上未压缩的图像块;检测场景变化;排除落在场景变化上的参考画面;并计算与图像块和多个参考画面中的一个参考画面之间的区别相对应的运动向量。
本发明的这些和其它方面、特性和优点将从要结合附图阅读的示范性实施例的下面描述中变得明显。


本发明提出了依据下面的示范图产生用于视频编码器的多参考画面的快速运动估计,在附图中图1示出了依据本发明原理的用于多参考画面的具有快速运动估计的视频编码器的方框图;图2示出了依据本发明原理的用于编码处理的方框图;图3示出了依据本发明原理的用于多参考画面的数据图表;以及图4示出了依据本发明原理的用于多参考画面的另一数据图表。
具体实施例方式
本发明是用于具有多参考画面的快速运动估计的一种装置和方法。将本发明实施例用于多参考画面的快速运动估计以实现视频压缩。当从多参考画面中预测块时,从这些参考画面中执行运动估计。因此,在本发明的目前实施例中,可以降低运动搜索的计算负担。
在优选实施例中,使用场景检测,从而没有参考帧落在场景变化上。计算来自最近的参考帧的预测。由缓存器大小来决定最远的参考帧。使用阈值来确定当前预测是否充分。
下面的描述仅仅举例说明本发明的原理。因此,本领域技术人员应该懂得,尽管没有在此明确描述或示出,可以设计出实施本发明原理并包括在本发明精神和范围之内的各种配置。此外,原理上,在此引用的所有示例和条件语言意欲确切地只用于教学目的以便帮助读者理解本发明原理和由发明者作出的用以推进本技术的构思,并且应解释为不局限于具体引用的示例和情形。此外,在此引用本发明的原理、方面、和实施例、以及其具体示例的所有陈述都意欲涵盖其结构和功能的等效物。另外,意欲使这些等效物包括当前已知的等效物以及将来开发的等效物,即不考虑结构、所开发的执行相同功能的任何元件。
因此,例如,本领域技术人员应该懂得,这里的方块图表表示实施本发明原理的例示性电路的概念视图。相似地,应该理解,任何流程图、流程图表、状态转变图表、伪码等表示各种处理,这些处理实质上可以在计算机可读介质中表示,因此可以被计算机或处理器执行,而无论是否明确地示出了这种计算机或处理器。
可以通过使用专用硬件以及能够执行与适当软件相关联的软件的硬件,来提供在图中示出的各种元件的功能。当由处理器提供时,该功能可以由单个专用处理器、由单个共享处理器、或由多个独立处理器来提供,其中多个处理器中的一些可以是共享的。此外,术语“处理器”或“控制器”的清楚使用不应该被解释为专指能够执行软件的硬件,并且可以隐含地包括,并非限制,数字信号处理器(“DSP”)硬件、用于存储软件的只读存储器(“ROM”)、随机存取存储器(“RAM”)和非易失性存储器。也可以包括传统的和/或习惯的其它硬件。相似地,在图中示出的任何开关只是概念性的。可以通过程序逻辑的执行、通过专用逻辑、通过程序控制和专用逻辑的相互作用、或甚至手动地来执行它们的功能,作为对该上下文的更具体的理解,可以由实施者选择具体技术。
在这里的权利要求中被表示为用于执行特定功能的部件意欲涵盖执行那个功能的任何方式,所述功能包括例如a)执行那个功能的电路元件的组合,或b)与适当电路结合的以任何形式,因此包括固件、微码等的软件,其中适当电路用于执行那个软件以执行所述功能。由这些权利要求限定的本发明在于如下事实,即以权利要求所要求的方式将由各种引用装置提供的功能组合并集合到一起。因此,申请人将可以提供那些功能的任何装置视为在此示出的那些装置的等效物。
如图1所示,总体上用标号100指示用于多参考画面的具有快速运动估计的视频编码器。到编码器100的输入与加连接110的同相输入端信号连通地连接。加连接110的输出端与块变换器120信号连通地连接。变换器120与量化器130信号连通地连接。量化器130的输出端与可变长度编码元件(“VLC”)140信号连通地连接,其中VLC 140的输出端是外部可用的编码器100的输出端。
量化器130的输出端还与逆量化器150信号连通地连接。逆量化器150与逆块变换器160信号连通地连接,逆块变换器160依次与参考画面存储器170信号连通地连接。参考画面存储器170的第一输出端与用于多参考画面的快速运动估计器180的第一输入端信号连通地连接。到编码器100的输入还与快速运动估计器180的第二输入端信号连通地连接。
尽管这里描述的本发明是运动估计块的概念性部分,应该理解,用于多参考画面的独立的快速运动估计部分可以给替代实施例中的运动估计器部分供应指示要测试或不测试哪个操作点的部分之间的信令。快速搜索块匹配运动估计器180的输出端与运动补偿器190的第一输入端信号连通地连接。参考画面存储器170的第二输出端与运动补偿器190的第二输入端信号连通地连接。运动补偿器190的输出端与加连接110的反相输入端信号连通地连接。
转到图2,总体上用标号200指示依据本发明的用于多参考画面的具有快速运动估计的示范性编码处理。在此使用的词“块”具有一般含义,并且可以代表例如宏块、块、子块、或子块分割。处理200包括输入步骤210,其将下一画面读入编码器未压缩缓存器,并将控制转到功能步骤215。步骤215检测是否发生场景变化,并将控制转到功能步骤220。
步骤220检查是否应该将画面编码为帧内画面或帧间画面。这取决于编码器设置。如果强制画面为帧内编码,则不使用参考画面并且将控制转到步骤230。否则,将控制转到步骤225,其检查在该画面之前紧接着的参考画面是否与该画面处于同一场景。如果不是,则取决于它是否位于P或B画面位置,该图像可能被帧内编码,如果将编码器设置为在场景变化处创建帧内画面,则控制转到对画面进行帧内编码的步骤230。否则,控制转到步骤235,对于每个帧间编码的块而言,计算来自该画面之前紧接着的参考画面的运动向量。如果其是双向编码的块,则也计算来自下一参考画面的运动向量。如果使用了加权功能,则也计算来自该画面之前紧接着的第二参考画面的运动向量,该参考画面应该与要被编码的画面处于同一场景。
接下来,控制转到步骤240,其检查是否满足运动向量精度,或者误差信号是否足够小。如果满足,则对于该块而言不再需要运动估计,并且将控制转到步骤245。否则,将控制转到步骤250。在步骤245,如果可用的话,则对块进行帧间编码或甚至跳过。步骤250在缓存器中找到最远可用的参考画面,其属于与要被编码的画面相同的场景。一般地,该参考画面是短期的,但是在替代实施例中并不排除长期参考画面。接下来,步骤255确定这种参考画面是否不存在,并且如果不存在,则将控制转到步骤260。否则,将控制转到步骤265。使用步骤260确定是否对该块进行帧内编码、帧间编码、或跳过。计算并比较每个的成本。
在步骤265,计算来自该参考画面的运动向量,并且取决于它是否是例如双向预测或加权的,也可以计算来自其它参考画面的运动向量。在步骤270,如果满足运动向量精度,则执行帧间编码。仍然可以在一些情况下作出帧内编码或帧间编码的判断。在步骤275,如果不满足运动向量精度,则为了与那些来自其它参考画面的运动向量进行比较而保持误差信号。然后,选择下一参考画面。选择参考画面的方式可以是不同的。在目前的描述中描述了一个示范性实施例,但是本领域普通技术人员可以替换其它比较方式。在步骤280,对块进行帧间编码,并且将控制转到步骤285。如果在画面中存在更多的块,则步骤285编码下一块,并且否则编码下一画面。
现在转到图3,一般通过附图标记300指示依据本发明原理的用于多参考画面的数据图表。数据图表300对应场景,并且包括当前画面302、非参考画面304、参考画面310、311、312、313、314、315、316、317、318和319、和场景变化320。
如图4所示,总体上用标号400指示依据本发明原理的用于多参考画面的另一数据图表。数据图表400对应场景,并且包括当前画面402、非参考画面404、参考画面410、411、412、414和418、和场景变化420。
使用多参考画面用于视频编码以实现更佳压缩,诸如在JVT标准的情况下高达15个参考帧。可以计算来自所有参考画面的预测块的运动向量,并且然后可以为那个块选择最佳预测。因此,运动估计的计算负担可以是一个参考画面的计算负担的15倍。
在操作中,本发明实施例实现多参考画面的压缩优点以及快速运动估计两者。优选实施例利用场景检测和明智选择的参考画面,并且一旦运动估计处理足够了,就终止该运动估计处理。
利用场景检测以检测场景变化。例如,绝对差分阈值场景检测的平均值(“AADTSD”)工作如下AAD=1NΣiN|Pi-Pri|]]>式1其中AAD是绝对差的平均值;N是画面中的像素数;Pi是当前画面中的像素i的分量的值,以及Pri是参考画面的值。可以使用所有分量AAD=1NΣjMΣiN|Pji-Prji|]]>式2其中M是分量数,从1至4。
如将由相关领域普通技术人员所认识的,这里可以将各种其它形式的场景检测代入示范性AADTSD方法。
如果绝对差的平均值大于阈值,则当前画面和参考画面属于不同场景。否则,它们属于同一场景。如果当前画面和参考画面是临近的并属于不同场景,则在它们之间存在场景变化。阈值可以是预定的或可以是自适应地改变的。
示范性实施例使用下面的标准来选择参考画面。参考画面总是与预测画面属于同一场景。如果没有这种参考画面,则将预测画面编码为帧内画面。如果最接近的参考画面存在,则总是计算该最接近参考画面的运动。
通过编码缓存器大小或者可以存储在缓存器中的画面数,来确定最远的参考画面。例如,如果缓存器可以保持5个参考画面,则可以存储最接近的5个参考画面。在图3中示出了另一示例,其中存储了场景320的最远的画面或第一画面319、和最接近的参考画面310至318。在图4中图解了又一示例,其中可以使用距离第一参考画面2n(n=0、1、2、...)的参考画面用于运动估计,诸如ref0、ref1、ref2、ref4,如图4所示。
运动估计搜索以最接近的参考画面ref0开始。对于给定块,如果预测误差(“PE”)在限制之内,则不再需要或执行运动估计。可以利用例如绝对差分的和(“SAD”)、或均方预测误差(“MSPE”)来计算PE,但是相关领域普通技术人员可以使用代替的计算。如果PE在阈值之上,则有两种选择。一种选择是使用最远的参考画面来计算预测,并且如果必要的话,然后朝着最接近的参考画面工作。另一选择是使用最接近的参考画面,并且如果必要的话,然后朝着最远的参考画面工作。
本发明实施例的计算节省可以应用于其它用途,诸如,例如扩展搜索范围或采用用于其它用途的更好的算法。本发明实施例可以直接与许多不同视频压缩标准一起使用,这些标准利用诸如,例如H.261、H.263、H.264、MPEG-1、MPEG-2和MPEG-4的运动估计。
基于这里的记载,相关领域普通技术人员可以容易地确定本发明的这些和其它的特性和优点。应该懂得,本发明原理可以以各种形式的硬件、软件、固件、专用目的处理器、或其组合来实现。
最优选地,将本发明原理实现为硬件和软件的组合。而且,优选地,将软件实现为确实地包含在程序存储单元上的应用程序。应用程序可以上载到包括任何适当结构的机器上,并由该机器执行。优选地,在具有诸如一个或多个中央处理单元(“CPU”)、随机存取存储器(“RAM”)、和输入/输出(“I/O”)接口的硬件的计算机平台上实现该机器。计算机平台还可以包括操作系统和微指令代码。在此描述的各种处理和功能可以是可以由CPU执行的微指令代码的一部分或是应用程序的一部分,或其任何组合。另外,诸如附加的数据存储单元和打印单元的各种其它外设单元可以连接到计算机平台。
还应该懂得,由于在附图中图示的一些系统组成部件和方法优选地用软件实现,所以取决于本发明被编程的方式,系统部件或处理功能块之间的实际连接可能不同。通过在此给出记载,一个相关领域的普通技术人员将能够预见本发明的这些和相似的实现或配置。
尽管在此已经参考附图描述了例示性实施例,但是应该理解,本发明并不仅限于那些确切的实施例,并且在不偏离本发明的范围或精神的情况下,一个相关领域的普通技术人可以在那里实现各种变化和修改。意欲将所有这些变化和修改包括在如所附权利要求中提出的本发明的范围之内。
权利要求
1.一种用于编码与多个参考画面相关的图像块的视频数据的视频编码器(100),该编码器包括用于提供与多个参考画面中的一个参考画面相对应的运动向量的快速运动估计器(180),该运动估计器包括用于在排除落在场景变化上的参考画面时执行快速运动估计的场景检测部分。
2.如权利要求1所述的视频编码器,还包括用于判断与所述多个参考画面中的一个参考画面相关的所述运动预测是否充分的阈值部分。
3.如权利要求1所述的视频编码器,其中计算来自最近的参考画面的预测。
4.如权利要求1所述的视频编码器,其中计算来自最远的参考画面的预测。
5.如权利要求4所述的视频编码器,其中最远的参考画面是由缓存器大小决定的。
6.如权利要求1所述的视频编码器,其中所述快速运动估计器包括绝对差分计算器的和、方差计算器的和、和均方误差计算器中的至少一个。
7.如权利要求1所述的视频编码器,还包括用于提供所述多个参考画面中的一个参考画面的与快速运动估计器信号连通的参考画面存储器(170)。
8.如权利要求1所述的视频编码器,还包括用于响应所述快速运动估计器而提供运动补偿参考画面的与所述快速运动估计器信号连通的运动补偿器(190)。
9.一种用于编码具有多个参考画面的图像块的视频数据的方法(200),该方法包括下列步骤接收(210)实质上未压缩的图像块;检测(215)场景变化;排除(225)落在所述场景变化上的参考画面;以及计算(235)与所述图像块和所述多个参考画面中的一个参考画面之间的区别相对应的运动向量。
10.如权利要求9所述的方法,还包括下列步骤为所述多个参考画面中的一个参考画面计算预测误差;比较(240)所计算的预测误差与阈值;以及如果所述预测误差超过所述阈值,则选择所述多个参考画面中的另一个参考画面。
11.如权利要求9所述的方法,适用于对与多个参考画面相关的图像块的视频信号数据进行编码,该方法还包括下列步骤根据当前场景,选择所述多个参考画面中的另一个参考画面;计算(265)与所述多个参考画面中的所述另一个参考画面相对应的运动向量;以及为所述多个参考画面中的所述另一个参考画面计算预测误差。
12.如权利要求11所述的方法,还包括下列步骤比较(240、270)所计算的预测误差与阈值;以及如果所述预测误差超过所述阈值,则对所述当前画面进行帧内编码(230、260)。
13.如权利要求11所述的方法,还包括下列步骤比较用于所述多个参考画面中的一个参考画面的所述计算的预测误差与用于所述多个参考画面中的另一个参考画面的所述计算的预测误差;以及选择(275)具有较低计算的预测误差的所述参考画面。
14.如权利要求9所述的方法,其中选择所述多个参考画面中的一个参考画面作为与当前场景中的所述当前画面最近的参考画面。
15.如权利要求9所述的方法,其中选择所述多个参考画面中的一个参考画面作为离当前场景中的所述当前画面最远的参考画面。
16.如权利要求10所述的方法,其中所选择的所述多个参考画面中的另一个参考画面是下一个与当前场景中的所述当前画面最近的参考画面。
17.如权利要求10所述的方法,其中所选择的所述多个参考画面中的另一个参考画面是偏离第一参考画面一个位置的下一个参考画面,其中所述位置对应于X的N次幂。
18.如权利要求17所述的方法,其中X是2以及N是整数。
19.如权利要求9所述的方法,其中所述多个参考画面的数目是15。
20.如权利要求9所述的方法,其中所述预测误差响应于绝对差分的和与均方预测误差中的至少一个。
21.如权利要求9所述的方法,还包括下列步骤块匹配与所述当前场景中的所述多个参考画面相对应的所述图像块;以及运动补偿与所述运动向量相对应的所述多个参考画面中的一个参考画面。
22.一种用于编码具有多个参考画面的图像块的视频数据的设备,该设备包括用于接收实质上未压缩的图像块的装置;用于检测场景变化的装置;用于排除落在所述场景变化上的参考画面的装置;以及用于计算与所述图像块和所述多个参考画面中的一个参考画面之间的区别相对应的运动向量的装置。
全文摘要
提供一种多参考画面的快速运动估计的装置和对应方法,其中用于编码与多参考画面相关的图像块的视频信号数据的示范性视频编码器(100)包括用于提供与参考画面中的一个参考画面相对应的运动向量的快速运动估计器(180),其包括用于在排除落在场景变化上的参考画面时执行快速运动估计的场景检测部分;并且其中用于编码具有多参考画面的图像块的视频信号数据的对应方法(200)包括下列步骤接收(210)实质上未压缩的图像块,检测(215)场景变化,排除(225)落在场景变化上的参考画面,并计算(235)与图像块和多个参考画面中的一个参考画面之间的区别相对应的运动向量。
文档编号H04N7/26GK101010963SQ200580029155
公开日2007年8月1日 申请日期2005年6月7日 优先权日2004年8月31日
发明者林书 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1