估算视频序列内后向运动矢量的方法

文档序号:7854148阅读:261来源:国知局
专利名称:估算视频序列内后向运动矢量的方法
技术领域
本发明一般来讲涉及视频序列内的运动估算,更具体地讲,涉及从前向运动矢量估算后向运动矢量的方法。
背景技术
说明对视频编码和解码时可具有的效率对于许多视频系统的节省成本的实现是关键的,特别是那些要求对视频实时编码或解码的应用。

图1分割成多个宏块来举例说明视频帧图,为简单起见,作为举例,只表示了九个。各宏块包括许多像素,例如用于帧运动矢量的MPEG-2里使用的16×16像素宏块。用于视频信号的MPEG-2编码的使用一直在稳定地增长。
可以理解,估算例如编码成MPEG-2格式的视频序列内的运动是一个计算密集的过程。以CCIR 601视频为例,用于ISO MPEG-2的编码器中所需计算的大约90%是用于估算运动。将视频编码所需的时间可能是将给定视频序列解码所需时间的许多倍。具体地,作为基于测试模型5(TM5)的ISO MPEG-2技术报告编码器实现的编码器,在Ultra-SPARC 80上对具有+/-63个像素的水平搜索范围以及+/-32个像素的垂直搜索范围的视频序列编码需要的CPU执行时间为在相应解码过程中所需时间的大约100倍。结果,尽管MPEG-2视频的实时解码已经变得可行,但实时编码仍形成挑战。
为理解计算密集性,应认识到MPEG-2是利用消除包含在空间域和时域中的冗余信息以实现压缩的帧内编码和帧间编码的混合类型的有损编码方案。帧内编码是在空间域中对图像数据执行以产生I-图像、也称为帧内图像的压缩。帧间编码是在时域执行的产生预测图像、即P-图像以及双向预测图像、即B-图像的压缩。用于B-图像的运动矢量只可在计算用于在前的P-图像和I-图像的前向和后向运动矢量之后产生。I-图像编码时独立于其它相邻图像,例如帧信号或场信号,而P-图像将预测的和内插的运动进行编码来响应来自前面I-图像和P-图像的元素的运动。B-图像作为所预测或内插的运动的差异信号进行编码,其编码考虑了前面或即将到来的图像里的运动,只能在考虑前面I-图像和P-图像的运动相关性之后进行编码。在前向、反向以及前向和反向模式中选择提供最低预测差错率的编码模式用于B-图像。通常,根据MPEG-2使用的图像结构遵循模式I、B、B、P、B、B、P,其中一个例子示于图2中并参照这里宏块矢量图。
例如在MPEG-2标准内,视频序列内的帧、图像组合在一起而形成图像组(GOP)。在MPEG-2测试模型5(TM4)中说明的流行GOP结构由整数M和N指定。在TM5,数值N表示GOP中的图像数量,而M-1是两个连续I或P帧之间的B帧数量。如表示宏块1和宏块3的图2所示,M可采用的一个典型值为3,它对应于在连续I或P图像之间具有两个B图像。
在帧序列的前向或后向运动中宏块可能移位。图3说明当前帧10和后续帧12,其中,通过后向运动矢量16,从后续帧中的位置18移动当前帧10中的宏块14。在图4,相应运动矢量表示为B1、B2、B3、B4。图5说明当前帧10和前一帧20的帧图,其中,通过前向运动矢量24,当前帧10中的宏块22从前一帧20中的位置26移动。图6是与图5所示帧相关的常规单帧距离前向运动矢量的宏块矢量图。
在TM5中M=3的情况下,编码器需要计算运动矢量B1、B2。如果编码器使用H×V个像素的搜索窗口来寻找运动矢量B2,而且假定搜索窗口尺寸随两个图像之间的帧距而缩放,则利用完全搜索的运动矢量B1和B2的计算复杂度大约为H×V+4(H×V)=5(H×V),而存储复杂度大约为4(H×V)。
已经设计了许多运动估算方法来加快编码过程内的计算。通常这些方法必须结合使用来获得对于提供足够图像质量的实时编码所必要的性能增益。例如,如果方法“A”可按5倍加快计算,而方法“B”可按2倍加快计算,而计算方法是正交的,则组合方法可产生10倍的速度增加。可以理解利用非正交方法的组合将减少可达到的速度增加。
因此,需要可有益用于与其它运动估算增强组合的加快运动估算速度的方法。本发明满足这些要求以及其它要求,并克服以前开发的运动估算方法的不足。
发明简介提供一种运动估算方法,当连续场之间的前向运动矢量场可用时,该方法消除大量与后向运动估算相关的计算。
计算前向和后向矢量通常在编码过程中执行。本发明认识到在各相应的前向和后向运动矢量之间存在一般平行关系,并提供一种在前向运动矢量可用时简化后向运动矢量计算的方法,从而减少总计算开销。而且,本方法保持与当前速度增强方法一般正交,其中可获得技术的全部速度优势。
根据最接近邻域标准的使用以及一个图像中对象的相对前向运动与其在前一帧中的相对后向运动平行的事实,断定本发明中的后向运动的估算。所以通过分析前向运动矢量,常常可更容易地估算反向运动矢量。
本发明的一个目的是利用关于所计算的前向运动矢量的信息,提供快速后向运动矢量计算。
本发明的另一个目的是提供与常规矢量计算速度增强方法正交的后向运动矢量估算方法。
本发明的另一个目的是提供加快用于各种MPEG-2和其它编码和解码操作的后向运动矢量计算的速度以及使实时MPEG-2编码可行的方法。
本发明的另一个目的是为可链接到多帧视频序列内的连续帧的宏块提供估算后向运动矢量的方法。
本发明的其它目的和优点将在说明书以下部分说明,其中,详细说明是为了充分公开本发明的最佳实施例,而未在其上设置限制。
附图简介通过参照以下只用于说明的附图将更完全理解本发明图1是表示可将帧分割成多个宏块的视频帧图,在MPEG-2中,各个宏块包括16×16个像素。
图2是说明在连续I/P图像之间两个B图像的常规可用性的宏块矢量图。
图3是表示通过后向运动矢量从后续帧中的一个位置移动当前帧中的宏块的视频帧图。
图4是表示例如用于图3的后向运动矢量集的宏块矢量图。
图5是表示通过前向运动矢量从前一帧中的一个位置移动当前帧中宏块的帧图。
图6是常规单帧距离前向运动矢量的宏块矢量图。
图7是宏块矢量图,说明根据本发明的一个方面,将前向运动矢量分配给当前帧中的最接近宏块来形成相同大小、但与前向运动矢量方向相反的后向运动矢量。
图8是宏块矢量图,说明根据本发明的一个方面,基于最接近宏块标准,从单帧距离前向运动矢量导出单帧距离后向运动矢量。
图9是宏块矢量图,说明根据本发明的一个方面,链接单帧后向运动矢量以形成多帧后向运动矢量。
图10是宏块矢量图,说明根据本发明,当后向运动矢量、如b3和b4不能从前向运动矢量得出时的情况。
图11是根据本发明的一个实施例的通用后向估算方法的流程图。
发明详细说明更具体地参考附图,为说明目的,总体上在图7至图11所示的装置中实施本发明。可以理解,只要未脱离这里所公开的基本概念,装置在配置和部件细节上可变化,而方法在具体步骤和顺序上可变化。
如图6所示,当连续帧之间可获得前向运动矢量场时,通过利用本发明的方法,可大量减少产生后向运动矢量所涉及的计算。如图7和图8所示,通过从最接近邻域单帧距离前向运动矢量导出单帧距离后向运动矢量,接着如图9所示,通过链接单帧距离后向运动矢量到多帧距离后向运动矢量,来达到这种减少。
如图7所示,当前帧10的单帧距离后向运动矢量从后面部分的下一帧12的单帧距离前向运动矢量获得。令下一帧12中的宏块40的给定整数像素(pel)前向运动矢量38为两维矢量(u,v)。而且,令宏块40的左上部像素位于(x,y)。因此,宏块40按照前向运动矢量(u,v)从位于当前帧中的(x+u,y+v)处的16×16像素32移动。
因为运动是相对的,说明16×16像素32按照后向运动矢量(-u,-v)从当前帧中的位置(x+u,y+v)移到下一帧的位置(x,y)。但是,位置(x+u,y+v)不一定位于宏块的左上角。为了获得宏块的后向运动矢量,分配后向运动矢量(-u,-v)给左上角(xm,ym)最接近(x+u,y+v)的宏块。因此,xm=16*((x+u+8)/16),ym=16*((y+v+8)/16),这里“*”是整数乘法,而“/”是如C编程语言中定义的带舍位的整数除法。
分配过程的副作用是不能保证当前帧中的各宏块分配到一个且只有一个后向运动矢量。一些宏块可能被分配了多个后向运动矢量,而一些宏块可能根本未分配到任何后向运动矢量。例如在图8,帧B2的宏块1未分配到任何后向运动矢量。因此,本发明提供用于检测哪些宏块尚未分配到任何后向运动矢量的方法。通过任何便利装置,例如通过利用常规后向运动矢量计算,后向运动矢量接着可分配给这些未被分配的宏块。另外,当对相同宏块进行了多个分配时,提供用于选择后向运动矢量之一的方法。
图9表示后向运动矢量,其中,运动矢量b2实际上是b31。通过将b31和b32相加获得运动矢量b1的近似值。选择矢量b31是因为它与运动矢量b1源自相同的位置,而选择运动矢量b32是因为b32的起点在帧B2中所有单帧距离后向运动矢量之中离矢量b31的终点最近。通过选择从形成b1的矢量b31+b32起在+/-2水平时间+/-1像素之内使绝对差之和(SAD)最小的运动矢量,进一步改进b2的近似值。
如前所述,利用本方法,并非可以确定每个宏块的每个有效后向运动矢量。例如,不能确定图10中的矢量b3和b4,因为构建它们的运动矢量b23无效,因而不能利用。通过以上方法,当不能确定宏块的有效后向运动矢量时,不应使用后向运动矢量来将该宏块编码,而它们可通过任何便利装置产生。而且,要记住,帧中的各宏块可能分配有多个后向运动矢量。其中可选择后向运动矢量之一来使用,例如最接近地逼近结果位置的后向运动矢量,或者可计算和使用矢量的组合并将其分配给宏块。
一个检测未被分配的宏块的方法是通过在后面迭代过程之前,给所有宏块预分配无效运动矢量,例如指向帧外部,其中可容易检测到未被分配的宏块。接着对下一帧内的各宏块执行确定后向运动矢量的迭代过程。
对于在下一帧中(x,y)处的每个宏块,它的前向运动矢量(u,v)被转换成新的后向运动矢量(-u,-v)。接着使用新的后向运动矢量代替当前帧中(xm,ym)处的宏块的旧后向运动矢量。结果在任一时刻对于当前帧中每个宏块,只保留了一个可能有效或无效的后向运动矢量。
一旦找到后,可使用单帧距离后向运动矢量产生多帧后向运动矢量。令bim为第m帧到第(m+1)帧的第i宏块的单帧距离后向运动矢量。令bimn为第m帧到第n帧的第i宏块的后向运动矢量。因此,得到bim=bim(m+1)。
在本发明中,通过在连续帧之间链接运动矢量,可利用迭代链接过程来找到第m帧到第n帧的第i宏块的多帧后向运动矢量bimn。令第m帧的第i宏块位于(xim,yim)。
从前向运动矢量确定后向运动矢量之前,首先将迭代过程初始化。获得单帧距离运动矢量bim并标记为bim(m+1),接着k初始化为k=(m+1)。如果bim为无效运动矢量,则继续迭代过程。如果bim不是无效运动矢量,则把无效矢量分配给bimn并终止链接过程。
迭代地求出多帧距离后向运动矢量bimn。一旦求出有效bimk=(uimk,vimk),通过利用第k帧的第j宏块的单帧距离后向运动矢量bjk,从bimk构建运动矢量bim(k+1),这里第j宏块位于(xjk,yjk)以及xjk=16*((xim+uimk+8)/16),yjk=16*((yim+vimk+8)/16),而“*”是整数乘法,“/”是C编程语言中定义的带舍位的整数除法。如果bjk是无效运动矢量,则分配无效矢量给bimn并终止过程。如果bjk是有效运动矢量,则分配bim(k+1)=bimk+bjk数值k按1递增,而以上迭代过程一直重复到分配bimn。然后分配bimn后,即如果bimn为有效运动矢量,则通过从bimn起在+/-2水平时间+/-1像素之内使绝对差之和(SAD)最小的运动矢量代替它以使它进一步改进。如果bimn不是有效运动矢量,则不应使用后向运动矢量来将相应宏块编码。
图11说明根据本发明的一般步骤。为了提供在迭代过程中检测后向运动矢量是否被有效地分配的简单装置,如块100所示,预定无效运动矢量首先分配给所有宏块。例如,在用于MPEG-2的本实现中,无效运动矢量可包括指向帧外部的运动矢量。可以理解,并非对于每个应用都需要检测过程,而当使用时,它可采用对本领域的普通技术人员显而易见的许多方法来实现。
在下一帧中的(x,y)处选择前面未选定的宏块,而且按照块102获得它的两维前向运动矢量(u,v)。宏块可为任何大小,例如包括16×16像素的宏块。如块104所示,从当前帧中选择最接近位置(x+u,y+v)的宏块。接着如块106所示,最接近(x+u,y+v)的宏块的后向运动矢量可用(-u,-v)代替。可以理解,当多个相应前向运动矢量可用时,可以采用替换方法,例如选择最接近的一个,或者在计算中组合矢量以得到后向运动矢量。接着迭代执行如块102、104、106所示的以上步骤,直至已经选择下一帧中的宏块,如块108所示。如所述与多帧视频序列配合使用时,可对后向运动矢量进行链接。
因此,可以看出,用于从前向运动矢量估算后向运动矢量的本发明方法可通过对本领域的技术人员来说显而易见的许多变型来实现。可以理解,只要未脱离如权利要求所述的本发明的理论,本领域的普通技术人员通过许多替代方法可实现具体步骤和步骤次序。
尽管以上说明包含许多特征,但这些不应视为限制本发明的范围,而仅仅是提供本发明的一些当前最佳实施例的说明。因此,可以理解,本发明的范围完全包括本领域技术人员可能想到的其它实施例,因此本发明的范围仅受所附权利要求的限制,其中除非明确说明,引用单数元素不是要表示“一个且只有一个”,而是表示“一个或多个”。本领域的普通技术人员已知的上述最佳实施例的元素的所有结构的、化学的和功能的等效物通过引用明确地结合在这里,并要由本权利要求涵盖。而且,一种装置或方法不一定针对本发明设法解决的每一个问题,因为它由本权利要求涵盖。而且,本公开中没有任何元素、组件或方法步骤要对公众作出贡献,而不管该元素、组件或方法步骤是否在权利要求中明确引述。这里没有任何权利要求元素被视为符合美国法典第35章第112款第6节的规定,除非使用短语“用来…的装置”明确地引用该元素。
权利要求
1.一种在视频帧序列中估算多帧后向运动矢量的方法,包括对于任何帧,从最接近邻域前向运动矢量推导后向运动矢量;以及将所述后向运动矢量链接到视频序列内的多帧后向运动矢量。
2.如权利要求1所述的方法,其特征在于,推导所述后向运动矢量的所述步骤包括识别当向后移动时产生给定宏块的前一帧的区域;以及将所述区域的后向运动矢量分配给最接近所述区域的宏块。
3.如权利要求2所述的方法,其特征在于还包括检测与无法从前向运动矢量产生的任何后向运动矢量相关联的宏块,并以常规方式产生所述后向运动矢量。
4.如权利要求1所述的方法,其特征在于,所述链接包括迭代链接,通过链接连续帧之间的运动矢量,求出第m帧到第n帧的第i宏块的后向运动矢量bimn;bim表示第m帧到第(m+1)帧的第i宏块的后向运动矢量;以及bimn表示第m帧到第n帧的第i宏块的后向运动矢量。
5.如权利要求4所述的方法,其特征在于,所述链接包括将迭代过程初始化;将后向运动矢量bim标记为bim(m+1);如果bim不是无效的,则向bimn分配无效后向运动矢量并终止所述链接过程;把k初始化为k=(m+1);继续所述迭代过程,直至求出有效后向运动矢量bimk=(uimk,vimk);当求出有效bimk时,通过利用第k帧的第j宏块的后向运动矢量bjk,从bimk构建后向运动矢量bim(k+1),这里第j宏块位于(xjk,yjk)以及yjk=16*((yim+vimk+8)/16),xjk=16*((xim+uimk+8)/16);如果bjk为无效后向运动矢量,则给bimn分配无效后向运动矢量并终止链接过程;如果bjk为有效后向运动矢量,则分配后向运动矢量bim(k+1)=bimk+bjk;增大k值和重复以上迭代过程,直至分配后向运动矢量bimn;其中bim表示第m帧到第(m+1)帧的第i宏块的后向运动矢量;其中bimn表示第m帧到第n帧的第i宏块的后向运动矢量;其中bim=bim(m+1);其中第m帧的第i宏块位于(xim,yim)。
6.如权利要求4所述的方法,其特征在于还包括通过用使绝对差之和(SAD)最小的后向运动矢量代替有效后向运动矢量bimn来改进有效后向运动矢量bimn。
7.如权利要求6所述的方法,其特征在于还包括从bimn起在+/-2水平时间+/-1像素之内使绝对差之和(SAD)最小。
8.一种从连续帧之间的可用前向运动矢量场来估算后向运动矢量的方法,包括(a)识别当向后移动时产生给定宏块的前一帧的区域;以及(b)将所述区域的后向运动矢量分配给最接近所述区域的宏块。
9.如权利要求8所述的方法,其特征在于还包括对于下一帧中的各宏块重复步骤(a)和(b)来估算帧的后向运动矢量。
10.如权利要求9所述的方法,其特征在于还包括检测与无法从前向运动矢量产生的任何后向运动矢量相关联的宏块,并以常规方式产生所述后向运动矢量。
11.如权利要求10所述的方法,其特征在于,检测与无法从前向运动矢量产生的任何后向运动矢量相关联的宏块的所述步骤包括在确定后向运动矢量之前,将预定的非法后向运动矢量分配给当前帧中的每个宏块,其中未被分配的宏块保留所述非法后向运动矢量并可被检测到。
12.如权利要求8所述的方法,其特征在于还包括将后向运动矢量链接到多帧距离后向运动矢量。
13.如权利要求12所述的方法,其特征在于,所述链接包括迭代链接,通过在连续帧之间链接运动矢量,求出第m帧到第n帧的第i宏块的后向运动矢量bimn;bim表示第m帧到第(m+1)帧的第i宏块的后向运动矢量;bimn表示第m帧到第n帧的第i宏块的后向运动矢量。
14.如权利要求12所述的方法,其特征在于,所述链接包括将迭代过程初始化;将后向运动矢量bim标记为bim(m+1);如果bim不是无效的,则将无效后向运动矢量分配给bimn并终止所述链接过程;将k初始化为k=(m+1);继续以上迭代过程,直至求出有效后向运动矢量bimk=(uimk,vimk);当求出有效bimk时,通过利用第k帧的第j宏块的后向运动矢量bjk,从bimk构建后向运动矢量bim(k+1),这里第j宏块位于(xjk,yjk)以及yjk=16*((yim+vimk+8)/16),xjk=16*((xim+uimk+8)/16);如果bjk为无效后向运动矢量,则给bimn分配无效后向运动矢量并终止所述链接过程;如果bjk为有效后向运动矢量,则分配后向运动矢量bim(k+1)=bimk+bjk;以及递增k值并重复以上迭代过程,直至分配后向运动矢量bimn;其中bim表示第m帧到第(m+1)帧的第i宏块的后向运动矢量;其中bimn表示第m帧到第n帧的第i宏块的后向运动矢量;其中bim=bim(m+1);其中第m帧的第i宏块位于(xim,yim)。
15.一种从在连续帧之间的前向运动矢量场估算后向运动矢量的方法,包括(a)对于任何帧,选择在下一帧中的位置(x,y)处的先前未选定的宏块,并获得前向运动矢量(u,v);(b)在当前帧中选择最接近(x+u,y+v)的宏块;以及(c)为最接近(x+u,y+v)的宏块分配后向运动矢量为矢量(-u,-v)。
16.如权利要求15所述的方法,其特征在于还包括对于下一帧中的各宏块重复步骤(a)到(c)。
17.如权利要求15所述的方法,其特征在于还包括检测与无法从前向运动矢量产生的任何后向运动矢量相关联的宏块,并按常规方式产生所述后向运动矢量。
18.如权利要求17所述的方法,其特征在于,检测与无法从前向运动矢量产生的任何后向运动矢量相关联的宏块的所述步骤包括在确定后向运动矢量之前,将预定的非法后向运动矢量分配给当前帧中的每个宏块,其中未被分配的宏块保留所述非法后向运动矢量。
19.如权利要求15所述的方法,其特征在于还包括将后向运动矢量链接到多帧后向运动矢量。
20.如权利要求19所述的方法,其特征在于,所述链接包括迭代链接,通过在连续帧之间链接运动矢量,求出第m帧到第n帧的第i宏块的后向运动矢量bimn;bim表示第m帧到第(m+1)帧的第i宏块的后向运动矢量;以及bimn表示第m帧到第n帧的第i宏块的后向运动矢量。
21.如权利要求19所述的方法,其特征在于,所述链接包括将迭代过程初始化;将后向运动矢量bim标记为bim(m+1);如果bim不是无效的,则将无效后向运动矢量分配给bimn并终止所述链接过程;将k初始化为k=(m+1);继续所述迭代过程,直至求出有效后向运动矢量bimk=(uimk,vimk);当求出有效bimk时,通过利用第k帧的第j宏块的后向运动矢量bjk,从bimk构建后向运动矢量bim(k+1),这里第j宏块位于(xjk,yjk)以及yjk=16*((yim+vimk+8)/16),xjk=16*((xim+uimk+8)/16);如果bjk为无效后向运动矢量,则将无效后向运动矢量分配给bimn并终止所述链接过程;如果bjk为有效后向运动矢量,则分配后向运动矢量bim(k+1)=bimk+bjk;以及增加k值并重复以上迭代过程,直至分配后向运动矢量bimn;其中bim表示第m帧到第(m+1)帧的第i宏块的后向运动矢量;其中bimn表示第m帧到第n帧的第i宏块的后向运动矢量;其中bim=bim(m+1);其中第m帧的第i宏块位于(xim,yim)。
22.如权利要求20所述的方法,其特征在于还包括通过用使绝对差之和(SAD)最小的运动矢量代替有效运动矢量bimn以改进有效运动矢量bimn。
23.如权利要求22所述的方法,其特征在于还包括从bimn起在+/-2水平时间+/-1像素之内使绝对差之和(SAD)最小。
24.一种在视频序列中估算多帧后向运动矢量的方法,包括对于包含所述帧和前一帧的帧序列中的任何帧,识别当向后移动时产生给定宏块的前一帧的区域;以及将所述区域的后向运动矢量分配给最接近所述区域的宏块;以及将所述后向运动矢量链接到多帧后向运动矢量。
25.如权利要求24所述的方法,其特征在于,所述链接包括迭代链接,通过在连续帧之间链接运动矢量,求出第m帧到第n帧的第i宏块的后向运动矢量bimn;bim表示第m帧到第(m+1)帧的第i宏块的后向运动矢量;以及bimn表示第m帧到第n帧的第i宏块的后向运动矢量。
26.如权利要求25所述的方法,其特征在于还包括通过用使绝对差之和(SAD)最小的运动矢量代替有效后向运动矢量bimn以改进有效后向运动矢量bimn。
27.如权利要求26所述的方法,其特征在于还包括从bimn起在+/-2水平时间+/-1像素之内使绝对差之和(SAD)最小。
28.一种估算多帧后向运动矢量的方法,包括对于包含所述帧和前一帧的帧序列中的任何帧,识别当向后移动时产生给定宏块的前一帧的区域;以及将所述区域的后向运动矢量分配给最接近所述区域的宏块;通过迭代链接将所述后向运动矢量链接到多帧后向运动矢量,从而通过在连续帧之间链接后向运动矢量而求出第m帧到第n帧的第i宏块的后向运动矢量bimn;其中bim表示第m帧到第(m+1)帧的第i宏块的后向运动矢量;以及其中bimn表示第m帧到第n帧的第i宏块的后向运动矢量。
29.一种估算多帧后向运动矢量的方法,包括选择在下一帧中的位置(x,y)处未选定的宏块并获得相关的前向运动矢量(u,v);在当前帧中选择最接近(x+u,y+v)的宏块;以及为最接近(x+u,y+v)的宏块分配后向运动矢量为矢量(-u,-v);通过迭代链接将所述后向运动矢量链接到多帧后向运动矢量,从而通过在连续帧之间链接后向运动矢量而求出第m帧到第n帧的第i宏块的后向运动矢量bimn;其中bim表示第m帧到第(m+1)帧的第i宏块的后向运动矢量;以及其中bimn表示第m帧到第n帧的第i宏块的后向运动矢量。
30.一种估算多帧后向运动矢量的方法,包括选择在下一帧中的位置(x,y)处的未选定宏块并获得它的前向运动矢量(u,v);在当前帧中选择最接近(x+u,y+v)的宏块;以及为最接近(x+u,y+v)的宏块分配后向运动矢量为矢量(-u,-v);通过将迭代过程初始化,将所述后向运动矢量链接到多帧后向运动矢量;将后向运动矢量bim标记为bim(m+1);如果bim不是无效的,则将无效后向运动矢量分配给bimn并终止所述链接过程;将k初始化为k=(m+1);继续所述迭代过程,直至求出有效后向运动矢量bimk=(uimk,vimk);当求出有效bimk时,通过利用第k帧的第j宏块的后向运动矢量bjk,从bimk构建后向运动矢量bim(k+1),这里第j宏块位于(xjk,yjk)以及yjk=16*((yim+vimk+8)/16),xjk=16*((xim+uimk+8)/16);如果bjk是无效后向运动矢量,则将无效后向运动矢量分配给bimn并终止所述链接过程;如果bjk是有效后向运动矢量,则分配后向运动矢量bim(k+1)=bimk+bjk;以及增大k值并重复以上迭代过程,直至分配后向运动矢量bimn;其中bim表示第m帧到第(m+1)帧的第i宏块的后向运动矢量;其中bimn表示第m帧到第n帧的第i宏块的后向运动矢量;其中bim=bim(m+1);其中第m帧的第i宏块位于(xim,yim)。
全文摘要
一种加速后向运动矢量估算值(38)的计算的方法,该后向运动矢量估算值从基于最接近邻域标准可从前向运动矢量估算值(36)得到的场中导出。本方法允许产生多帧后向运动矢量(10和12)。用于估算后向运动矢量的本方法发明特别适合与MPEG-2视频标准(36和38)配合使用。
文档编号H04N7/32GK1656704SQ03811727
公开日2005年8月17日 申请日期2003年1月14日 优先权日2002年3月29日
发明者欧阳强 申请人:索尼电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1