运动估计器及其运动估计方法

文档序号:7964877阅读:247来源:国知局
专利名称:运动估计器及其运动估计方法
技术领域
本发明涉及一种运动估计器及其运动估计方法。更具体地讲,本发明涉及一种用于搜索正确的运动矢量的运动估计器及其运动估计方法。
背景技术
一般来讲,通过改进定时、灰度级表示等使用显示装置中的帧率转换器来转换帧率可使显示面板具有极好的效果。为此,使用块单元运动矢量的运动估计和补偿技术被应用到帧率转换器和解交织器,从而可显示自然的运动图像。然而,因为正确的运动矢量不能被搜索到,所以传统的运动估计和补偿技术在其实际应用中受到限制。
搜索正确的运动矢量不同于由运动图像专家组(MPEG)发布的标准中使用的运动估计技术。因为在MPEG标准下搜索具有最小的绝对差值和(SAD)的块有利于压缩,所以在MPEG中搜索与正确的运动矢量不同的运动矢量。也就是说,如果在MPEG中使用简单地最小化SAD的运动估计方法,尽管它在视觉上显示了具有特定方向的运动矢量,但是由于摄相机聚焦的对象的亮度的微小变化、外部照明、旋转、缩放/移动镜头等,运动矢量不同于正确的运动矢量,从而在普通的运动图像以及文本中很多运动矢量在视觉上被不正确地显示。
具体地讲,移动背景上的文本滚动可作为对其难以搜索正确的运动矢量的对象的一个示例。由于文本具有很多相似的边,因此,仅用SAD值难于识别正确的运动矢量。特别地,如果文本也在移动背景上移动,搜索正确的运动会更困难。
将参照图1来描述传统的运动估计器。图1显示在De Haan等人的名称为“Motion Estimation and Motion-Compensated Interpolation”的第6,385,245号美国专利中公开的技术内容,因此其全部内容包含于此以资参考。
图1显示用于产生n(n≥2)个运动对象的n个PE块和选择块UC2,指示运动变量(比如关于运动矢量的信息)和运动误差的SAD值从每个PE块输入到所述选择块UC2,并且所述选择块UC2选择它们中的任何一个作为运动矢量。
所述n个PE从当前帧和先前帧针对于现有块来计算运动对象的运动矢量和SAD值。这里,运动对象指可被选择为最终的运动矢量的对象,在全搜索方法的情况下,搜索区域中的全部像素的数量是运动对象的数量。为减少硬件单元的数量和搜索正确的运动矢量,不使用全部运动对象而仅使用当前块预计将移动到的几个点处的运动矢量和SAD值来选择运动对象。然后,上转换器块UC2在从PE输入的SAD值之中选择具有最小值的运动矢量作为最终的运动矢量。
这一相关技术是一种通过使用少量的运动对象来选择最终运动矢量的方法,其中,假定运动对象矢量应该指示当前块预计将移动的方向,其中正确的运动具有最小的SAD值。然而,传统方法的缺点在于如果对象移动或者如果在运动的背景上产生文本滚动,则难于搜索正确的运动矢量。

发明内容
因此,本发明的一个目的是提供一种对于移动对象或者在移动背景上滚动的文本来搜索正确的运动矢量的运动估计方法和设备。
根据本发明的一方面,通过提供一种用于将当前帧划分为多个块并通过将当前块与先前帧相比较来估计运动的运动估计器,可获得上述和其他目的。所述运动估计器包括平均运动计算单元,基于与当前块相邻的周围块的运动矢量来计算平均运动矢量;行运动产生单元,基于当前块的水平块的运动矢量来在搜索区域中产生行运动矢量;和运动矢量选择单元,基于根据平均运动矢量的平均运动预测误差值和根据行运动矢量的行运动预测误差值来选择并输出平均运动矢量和行运动矢量之一为当前块的最终运动矢量。
根据本发明的另一方面,所述运动矢量选择单元选择并输出与平均运预测误差值和行运动预测误差值中的较小值相应的运动矢量为当前块的最终运动矢量。
根据本发明的另一方面,所述运动估计器还包括运动校正单元,校正当前块的最终运动矢量。
根据本发明的另一方面,所述运动估计器还包括零运动产生单元,在当前块的运动是零的位置计算零运动矢量;其中,运动矢量选择单元基于平均运动预测误差值、行运动预测误差值和根据零运动矢量的零运动预测误差值来选择并输出平均运动矢量、行运动矢量和零运动矢量之一为当前块的最终运动矢量。
根据本发明的另一方面,所述运动矢量选择单元选择并输出与平均运动预测误差值、行运动预测误差值和零运动预测误差值中的最小值相应的运动矢量为当前块的最终运动矢量。
根据本发明的另一方面,所述运动估计器还包括任意运动估计单元,通过将当前块与对先前帧设置的全搜索区域相比较来估计当前块的任意运动矢量;其中,运动矢量选择单元基于平均运动预测误差值、行运动预测误差值、零运动预测误差值和根据任意运动矢量的任意运动预测误差值来选择并输出平均运动矢量、行运动矢量、零运动矢量和任意运动矢量之一为当前块的最终运动矢量。
根据本发明的另一方面,所述运动估计器还包括运动校正单元,校正当前块的最终运动矢量。
根据本发明的另一方面,所述运动矢量选择单元选择并输出与平均运动预测误差值、行运动预测误差值、零运动预测误差值和任意运动预测误差值中的最小值相应的运动矢量为最终运动矢量。
根据本发明的另一方面,如果零运动预测误差值小于或等于第一参考值并且行运动预测误差值乘以第三权重所得的第三误差值小于或等于第一最小值,则所述运动矢量选择单元选择并输出零运动矢量为当前块的最终运动矢量,其中所述第一最小值是零运动预测误差值乘以第一权重所得的第一误差值、平均运动预测误差值乘以第二权重所得的第二误差值和任意运动预测误差值乘以第四权重所得的第四误差值中的最小值的。
根据本发明的另一方面,如果零运动矢量不被选择为最终运动矢量,那么如果行运动预测误差值小于或等于第二参考值并且行运动预测误差值乘以第五权重所得的第五误差值小于或等于第二最小值,则所述运动矢量选择单元选择并输出行运动矢量为当前块的最终运动矢量,其中,第二最小值是平均运动预测误差值乘以第六权重所得的第六误差值、零运动预测误差值乘以第七权重所得的第七误差值、和任意运动预测误差值乘以第八权重所得的第八误差值中的最小值。
根据本发明的另一方面,如果零运动矢量和行运动矢量不被选择为并输出为最终运动矢量,那么如果平均运动预测误差值小于或等于第三参考值,并且平均运动预测误差值乘以第九权重所得的第九误差值小于或等于第三最小值,则所述运动矢量选择单元选择并输出平均运动矢量为当前块的最终运动矢量,其中,所述第三最小值是行运动预测误差值乘以第十权重所得的第十误差值、零运动预测误差值乘以第十一权重所得的第十一误差值和任意运动预测误差值乘以第十二权重所得的第十二误差值中的最小值。
根据本发明的另一方面,如果零运动矢量、行运动矢量和平均运动矢量不被选择为最终运动矢量,则运动矢量选择单元选择并输出任意运动矢量为当前块的最终运动矢量。
根据本发明的另一方面,所述运动估计器还包括运动校正单元,校正当前块的最终运动矢量。
根据本发明的另一方面,通过绝对差值和(SAD)以及平均绝对差(MAD)之一来计算运动预测误差值。
根据本发明的另一方面,基于平均运动预测误差值乘以第一权重所得的第一误差值、行运动预测误差值乘以第二权重所得的第二误差值、零运动预测误差值乘以第三权重所得的第三误差值和任意运动预测误差值乘以第四权重所得的第四误差值,所述运动矢量选择单元选择并输出最终运动矢量。
根据本发明的另一方面,所述运动矢量选择单元根据优先顺序来选择并输出最终运动矢量。
根据本发明的另一方面,所述优先顺序按零运动矢量、行运动矢量、平均运动矢量和任意运动矢量的顺序来设置。
根据本发明的另一方面,所述任意运动估计单元包括用于计算任意运动矢量的运算器;其中,平均运动计算单元、行运动产生单元和零运动产生单元中的至少一个通过共享该运算器产生运动矢量。
根据本发明的另一方面,所述运动矢量选择单元选择并输出与平均运动预测误差值乘以第一权重所得的值、行运动预测误差值乘以第二权重所得的值和零运动预测误差值乘以第三权重所得的值中的最小值相应的运动矢量为最终运动矢量。
根据本发明的另一方面,所述运动矢量选择单元选择并输出与平均运动预测误差值乘以第一权重所得的值和行运动预测误差值乘以第二权重所得的值的较小值相应的运动矢量为当前块的最终运动矢量。
通过提供一种用于将当前帧划分为多个块并通过将当前块与先前帧相比较来估计运动的运动估计方法,可获得本发明的上述和其他方面。所述运动估计方法包括基于与当前块相邻的块的运动矢量来计算平均运动矢量;基于当前块的水平块的运动矢量来在搜索区域中产生行运动矢量;和基于根据平均运动矢量的平均运动预测误差值和根据行运动矢量的行运动预测误差值来选择并输出平均运动矢量和行运动矢量中的任何一个为当前块的最终运动矢量。
根据本发明的另一方面,最终运动矢量的输出包括选择并输出与平均运预测误差值和行运动预测误差值中的较小值相应的运动矢量为当前块的最终运动矢量。
根据本发明的另一方面,所述方法还包括在当前块的运动是零的位置产生零运动矢量;其中,输出所述最终运动矢量包括基于平均运动预测误差值、行运动预测误差值和根据零运动矢量的零运动预测误差值来选择并输出平均运动矢量、行运动矢量和零运动矢量中的任何一个为当前块的最终运动矢量。
根据本发明的另一方面,所述方法还包括通过将当前块与对先前帧设置的全搜索区域相比较来估计当前块的任意运动矢量;其中,输出最终运动矢量包括基于平均运动预测误差值、行运动预测误差值、零运动预测误差值和根据任意运动矢量的任意运动预测误差值来选择并输出平均运动矢量、行运动矢量、零运动矢量和任意运动矢量中的任何一个为当前块的最终运动矢量。
根据本发明的另一方面,平均运动矢量的产生、行运动矢量的产生和零运动矢量的产生中的至少一个基于当前帧之前的运动矢量来产生运动矢量。
根据本发明的另一方面,最终运动矢量的输出包括根据优先顺序来选择并输出最终运动矢量。
根据本发明的另一方面,所述优先顺序按零运动矢量、行运动矢量、平均运动矢量和任意运动矢量的顺序来设置。
根据本发明的另一方面,最终运动矢量的输出包括如果零运动预测误差值小于或等于第一参考值并且零运动预测误差值乘以第三权重所得的第三误差值小于或等于第一最小值,则选择并输出零运动矢量为当前块的最终运动矢量,所述第一最小值是平均运动误差值乘以第一权重所得的第一误差值、行平均运动误差值乘以第二权重所得的第二误差值和任意运动误差值乘以第四权重所得的第四误差值中的最小值。
根据本发明的另一方面,最终运动矢量的输出包括如果零运动矢量不被选择为最终运动矢量,那么如果行运动预测误差值小于或等于第二参考值并且行运动预测误差值乘以第五权重所得的第五误差值小于或等于第二最小值,则选择并输出行运动矢量为当前块的最终运动矢量,其中,第二最小值是平均运动预测误差值乘以第六权重所得的第六误差值、零运动预测误差值乘以第七权重所得的第七误差值、和任意运动预测误差值乘以第八权重所得的第八误差值中的最小值。
根据本发明的另一方面,最终运动矢量的输出包括如果零运动矢量和行运动矢量不被选择为并输出为最终运动矢量,那么如果平均运动预测误差值小于或等于第三参考值,并且平均运动预测误差值乘以第九权重所得的第九误差值小于或等于第三最小值,则选择并输出平均运动矢量为当前块的最终运动矢量,其中,所述第三最小值是行运动预测误差值乘以第十权重所得的第十误差值、零运动预测误差值乘以第十一权重所得的第十一误差值和任意运动预测误差值乘以第十二权重所得的第十二误差值中的最小值。
根据本发明的另一方面,最终运动矢量的输出包括如果零运动矢量、行运动矢量和平均运动矢量不被选择为最终运动矢量,则选择并输出任意运动矢量为当前块的最终运动矢量。


结合附图,从下面对特定示例性实施例的描述中,本发明的上述和其他示例性的方面和优点将会更清楚,其中图1是传统的运动估计器的控制框图;图2是根据本发明第一示例性实施例的运动估计器的控制框图;图3是示出根据本发明第一示例性实施例的行运动矢量的提取方法的示图;图4是根据本发明第二示例性实施例的运动估计器的控制框图;
图5是表示根据本发明第二示例性实施例的运动矢量的提取方法的示图;图6是根据本发明第三示例性实施例的运动估计器的控制框图;图7是根据本发明第三示例性实施例的选择运动矢量的控制框图;图8是根据本发明第三示例性实施例的优先顺序和选择的表;和贯穿附图,相同的标号指相同的部件、特性和结构。
具体实施例方式
提供本描述中作为示例的内容以有助于对参考附图公开的本发明示例性实施例的全面理解。从而,本领域的普通技术人员应该认识到在不脱离要求权利的本发明的精神和范围的情况下,可对在此描述的示例性实施例进行各种改变和修改。为清楚简明起见,省略已知功能和构造的描述。
现在,将参照图2和图3来描述根据本发明第一示例性实施例的运动估计器和运动估计方法。
图2是根据本发明第一示例性实施例的运动估计器的控制框图。如图2所示,所述运动估计器包括任意运动估计单元10、平均运动计算单元20、行运动产生单元30、运动矢量选择单元40。此外,运动估计器可包括运动校正单元50。
任意运动估计单元10将当前帧划分为大量的具有预定尺寸的块,并通过将需要估计其运动的块(以下,称作“当前块”)与先前帧的预定的搜索区域相比较来估计任意运动矢量。
任意估计单元10使用全搜索块匹配算法来计算大量的运动预测误差值。此外,任意运动估计单元10从具有最小运动预测误差值的位置估计每个块的运动矢量(MV)。运动预测误差值可根据各种方法,比如绝对差值和(SAD)或者平均绝对差(MAD)来计算。
平均运动计算单元20基于从任意运动估计单元10估计的运动矢量来计算与当前块临近的周围块的运动矢量的平均矢量。即,形成包括当前块的M×N尺寸的窗,然后估计出该窗内的运动矢量的平均值。
例如,窗尺寸可为3×3,随着窗尺寸变大,运动的整个范围可被更好地反映。
平均运动计算单元20通过累加当前帧之前的块的运动矢量来获得平均运动矢量(mean motion vector),以减少硬件和计算时间的量。也就是说,因为应该知道与当前块邻接的运动矢量,所以为获得全运动矢量(full motion vector)需要更多的延迟时间,因而,使用当前帧之前的块的运动矢量来获得平均运动矢量。
行运动产生单元30通过使用水平连续的块的运动矢量来产生表示当前块水平运动的程度的行运动矢量。
行平均运动矢量(MV_Avg(n))和所述行运动矢量(LineMV(n))通过下面的两个表达式来获得。
MV_Avg(n)=Σi=0NMotionVector(i,n)]]>[表达式2]LineMV(n)=LocalMin(MV_Avg(n),Search_Range)(其中,“n”是相应块的垂直标号,“i”是水平标号。)如表达式1所示,行运动产生单元30基于当前块所属的行中的块的运动矢量来计算行平均运动矢量MV_Avg(n)。
表达式1假定属于相同对象的几个块一起移动的全运动中的运动误差具有高斯分布。从而,如果属于全运动的几个块的运动矢量被平均,则可获得与实际的全运动几乎相同的结果,并且随着用于获得平均值的块的数量增加精确度也增加。
例如,由于新闻广播等中的滚动文本占据了大部分的下部屏幕,所以在具有480像素的标准清晰度(SD)等级的情况下,尺寸为8×8的块的数量是480/8为60。从而,当在出现文本滚动时对这样的块的运动矢量求平均时,可获得几乎与正确的运动相应的运动矢量。
此外,行运动产生单元30以在表达式1中获得的平均点为中心来在预定搜索区域内搜索局部最小值,然后计算局部最小值为行运动矢量。
这是假定正确的运动矢量存在于搜索区域内的SAD值之中的局部最小值周围,而在实际的SDA值之中,所述局部最小值存在于在一定程度上匹配的块的位置。
这里,如果N×M尺寸的搜索区域被用于全搜索方法来计算任意运动矢量,则具有较小尺寸N/2×M/2等的搜索区域被用于获得行运动矢量。
行运动产生单元的矢量提取方法现在将参考图3来描述。图5(A)、图5(B)和图5(C)分别表示每个块的运动矢量、行平均运动矢量和根据其的行运动矢量。
如图3中所示,行运动产生单元30基于每个块的运动矢量按行来计算行平均运动矢量,并通过在M×M的搜索区域中搜索局部最小值来提取行运动矢量。
这里,当计算水平块的平均运动矢量时,行运动产生单元30可使用当前帧之前的运动矢量以便于解决帧延迟。在按行移动的滚动文本的情况下,相同的运动被连续保持,从而即使使用关于先前帧的运动信息也没有误差。另外,在平均运动矢量的情况下,当前帧之前的运动矢量可被用于最小化帧延迟。
以这种方式获得的平均运动矢量和行运动矢量被输入到运动矢量选择单元40,由运动矢量选择单元40来选择最终的运动矢量。如图2中所述,运动矢量选择单元40包括用于比较SAD值的SAD比较单元41、和用于根据比较结果选择并输出平均运动矢量和行运动矢量中的任何一个的复用器(MUX)43。
MUX43选择并输出与根据平均运动矢量的平均SAD值和根据行运动矢量的行SAD值中的较小值相应的运动矢量为当前块的最终的运动矢量。
从而,选择了平均运动矢量和行运动矢量之间的正确的运动矢量,并确定了行运动矢量所应用的区域,也就是说,其中产生滚动文本的区域。
然而,根据本发明第一示例性实施例的运动估计器不使用单独的算法来确定文本滚动区域,而只简单地使用SAD值来选择正确的运动矢量。
搜索区域内的特定位置(m,n)中的SAD(m,n)值由下面的表达式3来表示。
SAD(m,n)=Σi=0N-1Σi=0M-1|pixel_cur(m+i,n+j)-pixel_prev(m,n)|]]>假定平均运动矢量的SAD值和行运动矢量的SAD值中的较小值反映了较精确的运动。
可使用下面的表达式在简单硬件中实现合适的运动矢量的选择[表达式4] 其中,“w1”和“w2”表示可调整的加权参数。
例如,如果强调滚动文本的校正,w1应该被调整为小于w2,以便可选择行运动矢量,其中,w1和w2是针对于行运动矢量的SAD值的加权参数。
此外,如图2中所示,通过运动矢量选择单元40输出的最终的运动矢量可经过运动校正单元50的运动校正(平滑)处理。
所述运动校正处理通常被应用不止一次,这是由于随着重复执行校正处理,最终运动矢量经过平滑处理而相似于周围运动矢量,从而减小误差。然而,如果最终运动矢量被过分平滑,则跟不上快速运动。在本发明第一示例性实施例中,所述运动校正处理执行两次校正,比如,在平均运动计算单元中于针对周围块计算平均运动矢量的处理中执行的第一次校正,和用于最后校正从运动矢量选择单元40输出的最终的运动矢量的第二次校正。
下面,将参照图4来描述根据本发明的第二示例性实施例的运动估计器。在前面的示例性实施例中表示的描述将不再重复。
如图4中所示,运动估计器包括平均运动计算单元20、行运动产生单元30、运动矢量选择单元40和零运动产生单元60。此外,所述运动估计器还可包括任意运动估计单元10和运动校正单元50。
根据本发明第二示例性实施例的运动估计器还包括零运动产生单元60。对平均运动计算单元20和行运动产生单元30的描述与针对上述第一示例性实施例表示的描述相似,这里将不再重复。
零运动产生单元60在运动矢量是零的位置搜索存在于小搜索区域中的局部最小值,然后产生零运动矢量。这里,以与行运动矢量相同的方式,零运动产生单元60以特定位置(因为零运动矢量,(0,0))为中心在M×M搜索区域内获得局部最小值。
也就是说,在最小化噪声等的影响方面,搜索周围的局部最小值的SAD值比简单地针对为“(0,0)”的运动矢量来获得SAD值更有效。
设置零运动产生单元60以解决不连续的静止图像的问题。因为当静止图像,比如静止logo内的块中的行SAD值比平均SAD值小时,行运动矢量被选择为最终运动矢量,所以在文本滚动时所述静止图像的相应块向文本的方向移动,从而导致静止图像看起来是碎裂的或者是不连续的。这主要在下面的情形下产生存在于静止图像两边的块包括一部分滚动文本区域。为解决这个问题,根据上述示例性实施例,调整加权参数从而运动矢量选择单元40选择平均运动矢量。因而可能会在滚动文本区域中降低矢量选择性能。因此,添加零运动产生单元60以确定是否存在静止图像,以便可搜索正确的运动矢量。
根据本发明第二示例性实施例的运动矢量选择单元40选择并输出输入的平均运动矢量、输入的行运动矢量和输入的零运动矢量中的任何一个为最终运动矢量。
以与上面的第一示例性实施例相同的方式,SAD比较单元41将平均SAD、行SAD和零SAD值相互比较,基于SAD比较结果,MUX43选择并输出与最小的SAD值相应的运动矢量为最终运动矢量。可通过调整与各个SAD值相乘的加权参数来安排优先顺序。
为了以这种方式来提取各个运动矢量,硬件量最好被最小化。为此,最好能共享运动估计,并且最好也能共享在运动估计器中通过全搜索从平均运动计算单元20、行运动产生单元30和零运动产生单元60搜索每个局部最小值的处理。
由于平均运动计算单元20、行运动产生单元30和零运动产生单元60在具有预定尺寸,比如3×3的区域中围绕平均矢量、行平均矢量和零矢量搜索局部最小值,所以当在全搜索运动估计器中设置相应的搜索区域的每一个时通过全搜索来计算出相应的搜索区域内的SAD值时,存储SAD值。
从而,平均运动矢量、零运动矢量和行运动矢量可在仅具有一个全搜索运动估计器的硬件中实现。在本发明示例性实施例中,由于任意运动估计单元10通过全搜索来执行运动估计,所以可通过共享任意运动估计单元10的硬件来提取各个运动矢量。
现在将参照图5来描述提取行运动产生单元30、任意运动估计单元和零运动产生单元60的运动矢量的方法。
图5(A)、图5(B)和图5(C)分别显示产生行运动矢量、通过全搜索产生的任意运动矢量、和零运动矢量的方法。
如图5(A)所示,行运动产生单元30对当前块所属的行中的运动矢量(D)求平均以计算行平均矢量(E),在当前块的预定的搜索区域M×M中搜索局部最小值以提取行运动矢量(F)。
此外,如图5(B)所示,任意运动估计单元10经全搜索通过将当前块和全搜索区域,即先前帧的N×N区域相比较来估计任意运动矢量。任意运动估计单元10的搜索区域被设置为包括行运动产生单元30、平均运动计算单元20和零运动产生单元60的搜索区域的大尺寸,从而可共享硬件。
图5(C)中的零运动产生单元60以当前块中当前运动矢量是零的位置为中心在预定的小搜索区域内搜索局部最小值。
下面将参照图3和图6来描述根据本发明第三示例性实施例的运动估计器。在前述示例性实施例中提供的描述将不再重复。
如图3所示,在根据本发明第三示例性实施例的运动估计器中,添加了运动矢量选择单元40的输入以选择通过全搜索获得的任意运动矢量为最终运动矢量。
所述任意运动矢量包括通过全搜索获得的没有经过预先处理的原始运动矢量。如上所述,任意运动估计单元的硬件可被平均运动计算单元20、行运动产生单元30和零运动产生单元60共享以在当前帧的固定的搜索区域中搜索每个局部最小值。
运动矢量选择单元40选择并输出平均运动矢量、行运动矢量、零运动矢量和任意运动矢量中的任何一个作为最终运动矢量。具体地讲,在本发明第三示例性实施例中,为了增加向实际的正确的运动的收敛速度,任意运动矢量可选择为最终运动矢量。
如在前述示例性实施例中所描述的,运动产生单元的每一个可使用先前帧的运动矢量以最小化帧延迟并减少硬件负荷。
如图6所示,对于平均运动计算单元20在例如3×3的区域中通过使用当前块的运动矢量产生平均运动矢量的情况,平均运动计算单元20应该等待其余周围块的运动矢量被计算出,并且当前帧之前的运动矢量(过去的矢量)被使用。另外,在行运动产生单元30中这是相同的。然而,向实际的正确的运动的收敛速度可能被延迟。如果在由于使用先前帧的运动矢量而使平均运动矢量、行运动矢量和零运动矢量没有适当地跟随屏幕上的运动的情况下,选择任意运动矢量,则收敛速率可被增加。
下面将参照图7和图8来描述在根据本发明第三示例性实施例的运动矢量选择单元40中选择最终运动矢量的方法。
如果运动矢量选择单元40仅用SAD值选择最终运动矢量则几个运动矢量可能同时具有相似的值,因此应该对每个运动矢量来设置优先顺序。在本发明的第三示例性实施例中,由于最好使静止图像不碎裂,所以第一优先顺序分给零运动矢量。接下来,考虑到滚动文本的重要性,第二优先顺序分给行运动矢量。接着,为了在其他运动矢量不精确的情况下应用通过全搜索而获得的任意运动矢量,第三和第四优先顺序分别分给平均运动矢量和任意矢量。
如图7中所示,在操作S10,运动矢量选择单元40内的SAD比较单元41确定零SAD值是否小于第一参考值,以及零SAD值乘以第一加权参数所得的值是否小于平均SAD值乘以第二加权参数所得的值、行SAD值乘以第三加权参数所得的值和全搜索SAD值乘以第四加权参数所得的值之中的最小值。
如果确定的结果满足操作S10的条件,则SAD比较单元41将相应的数据输出到MUX43,MUX43在操作S20选择并输出零运动矢量为最终运动矢量。
另外,如果确定的结果不满足操作S10的条件,则SAD比较单元41在操作S30确定行SAD值是否小于第二参考值,以及行SAD值乘以第五加权参数所得的值是否小于平均SAD值乘以第六加权参数所得的值、零SAD值乘以第七加权参数所得的值和全搜索SAD值乘以第八加权参数所得的值之中的最小值。
如果确定的结果满足操作S30的条件,则MUX43在操作S40选择并输出行运动矢量为最终运动矢量。
另外,如果确定的结果不满足操作S30的条件,则SAD比较单元41在操作S50确定平均SAD值是否小于第三参考值,以及平均SAD值乘以第九加权参数所得的值是否小于行SAD值乘以第十加权参数所得的值、零SAD值乘以第十一加权参数所得的值和全搜索SAD值乘以第十二加权参数所得的值之中的最小值。
如果确定的结果满足操作S50的条件,则MUX43在操作S60选择并输出平均运动矢量为最终运动矢量,否则MUX43在操作S70选择并输出任意运动矢量为最终运动矢量。
图8是根据本发明第三示例性实施例的优先顺序和选择的表。在图8中,“L”、“H”和“HH”分别表示低、高和很高。如图7中所示,由于优先顺序按零运动矢量、行运动矢量、平均运动矢量和任意运动矢量的顺序排列,所以根据每一运动矢量是否大于每个参考值来选择最终运动矢量。
如果所有的SAD值都小,则确定静止图像的可能性高,优先顺序分给零运动矢量。此外,由于如果零SAD值相当大而平均SAD和行SAD值小,则确定权重被分给行运动矢量,所以行运动矢量被选择。此外,由于如果全搜索SAD值小于其他SAD值,则确定正确的运动没有被搜索,所以任意运动矢量被选择。因此,可根据SAD值和优先顺序来获得正确的运动矢量。
如上所述,根据本发明实施例,提供了一种在运动对象或者运动背景上出现滚动文本等期间估计正确的运动矢量的运动估计器及其运动估计方法。
尽管参照特定示例性实施例已经具体显示并描述了本发明,本领域的普通技术人员应该理解,在不脱离由权利要求及其等同物所限定的本发明的范围和精神的情况下,可以在形式和细节上做各种改变。
权利要求
1.一种用于将当前帧划分成多个块并通过将当前块与先前帧相比较来估计运动的运动估计器,所述运动估计器包括平均运动计算单元,基于与当前块相邻的块的运动矢量来计算平均运动矢量;行运动产生单元,基于当前块的水平块的运动矢量来在搜索区域中产生行运动矢量;和运动矢量选择单元,基于根据平均运动矢量的平均运动预测误差值和根据行运动矢量的行运动预测误差值来选择并输出平均运动矢量和行运动矢量之一为当前块的最终运动矢量。
2.如权利要求1所述的运动估计器,其中,所述运动矢量选择单元选择并输出与平均运预测误差值和行运动预测误差值中的较小值相应的运动矢量为当前块的最终运动矢量。
3.如权利要求2所述的运动估计器,还包括运动校正单元,校正当前块的最终运动矢量。
4.如权利要求1所述的运动估计器,还包括零运动产生单元,在当前块的运动是零的位置计算零运动矢量;其中,运动矢量选择单元基于平均运动预测误差值、行运动预测误差值和根据零运动矢量的零运动预测误差值来选择并输出平均运动矢量、行运动矢量和零运动矢量之一为当前块的最终运动矢量。
5.如权利要求4所述的运动估计器,其中,所述运动矢量选择单元选择并输出与平均运动预测误差值、行运动预测误差值和零运动预测误差值中的最小值相应的运动矢量为当前块的最终运动矢量。
6.如权利要求4所述的运动估计器,还包括任意运动估计单元,通过将当前块与对先前帧设置的全搜索区域相比较来估计当前块的任意运动矢量;其中,运动矢量选择单元基于平均运动预测误差值、行运动预测误差值、零运动预测误差值和根据任意运动矢量的任意运动预测误差值来选择并输出平均运动矢量、行运动矢量、零运动矢量和任意运动矢量之一为当前块的最终运动矢量。
7.如权利要求6所述的运动估计器,还包括运动校正单元,校正当前块的最终运动矢量。
8.如权利要求7所述的运动估计器,其中,所述运动矢量选择单元选择并输出与平均运动预测误差值、行运动预测误差值、零运动预测误差值和任意运动预测误差值中的最小值相应的运动矢量为最终运动矢量。
9.如权利要求8所述的运动估计器,其中,如果零运动预测误差值小于或等于第一参考值并且行运动预测误差值乘以第三权重所得的第三误差值小于或等于第一最小值,则所述运动矢量选择单元选择并输出零运动矢量为当前块的最终运动矢量,其中所述第一最小值是零运动预测误差值乘以第一权重所得的第一误差值、平均运动预测误差值乘以第二权重所得的第二误差值和任意运动预测误差值乘以第四权重所得的第四误差值中的最小值的。
10.如权利要求9所述的运动估计器,其中,如果零运动矢量不被选择为最终运动矢量,那么如果行运动预测误差值小于或等于第二参考值并且行运动预测误差值乘以第五权重所得的第五误差值小于或等于第二最小值,则所述运动矢量选择单元选择并输出行运动矢量为当前块的最终运动矢量,其中,第二最小值是平均运动预测误差值乘以第六权重所得的第六误差值、零运动预测误差值乘以第七权重所得的第七误差值、和任意运动预测误差值乘以第八权重所得的第八误差值中的最小值。
11.如权利要求10所述的运动估计器,其中,如果零运动矢量和行运动矢量不被选择并输出为最终运动矢量,那么如果平均运动预测误差值小于或等于第三参考值,并且平均运动预测误差值乘以第九权重所得的第九误差值小于或等于第三最小值,则所述运动矢量选择单元选择并输出平均运动矢量为当前块的最终运动矢量,其中,所述第三最小值是行运动预测误差值乘以第十权重所得的第十误差值、零运动预测误差值乘以第十一权重所得的第十一误差值和任意运动预测误差值乘以第十二权重所得的第十二误差值中的最小值。
12.如权利要求11所述的运动估计器,其中,如果零运动矢量、行运动矢量和平均运动矢量不被选择为最终运动矢量,则运动矢量选择单元选择并输出任意运动矢量为当前块的最终运动矢量。
13.如权利要求12所述的运动估计器,还包括运动校正单元,校正当前块的最终运动矢量。
14.如权利要求11所述的运动估计器,其中,通过绝对差值和以及平均绝对差之一来计算运动预测误差值。
15.如权利要求6所述的运动估计器,其中,基于平均运动预测误差值乘以第一权重所得的第一误差值、行运动预测误差值乘以第二权重所得的第二误差值、零运动预测误差值乘以第三权重所得的第三误差值和任意运动预测误差值乘以第四权重所得的第四误差值,所述运动矢量选择单元选择并输出最终运动矢量。
16.如权利要求15所述的运动估计器,其中,所述运动矢量选择单元根据优先顺序来选择并输出最终运动矢量。
17.如权利要求16所述的运动估计器,其中,所述优先顺序按零运动矢量、行运动矢量、平均运动矢量和任意运动矢量的顺序来设置。
18.如权利要求6所述的运动估计器,其中,所述任意运动估计单元包括用于计算任意运动矢量的运算器;并且其中,平均运动计算单元、行运动产生单元和零运动产生单元中的至少一个通过共享该运算器产生运动矢量。
19.如权利要求4所述的运动估计器,其中,所述运动矢量选择单元选择并输出与平均运动预测误差值乘以第一权重所得的值、行运动预测误差值乘以第二权重所得的值和零运动预测误差值乘以第三权重所得的值中的最小值相应的运动矢量为最终运动矢量。
20.如权利要求1所述的运动估计器,其中,所述运动矢量选择单元选择并输出与平均运动预测误差值乘以第一权重所得的值和行运动预测误差值乘以第二权重所得的值中的较小值相应的运动矢量为当前块的最终运动矢量。
21.一种用于将当前帧划分成多个块并通过将当前块与先前帧相比较来估计运动的运动估计方法,所述运动估计方法包括基于与当前块相邻的块的运动矢量来计算平均运动矢量;基于当前块的水平块的运动矢量来在搜索区域中产生行运动矢量;和基于根据平均运动矢量的平均运动预测误差值和根据行运动矢量的行运动预测误差值来选择并输出平均运动矢量和行运动矢量中的任何一个为当前块的最终运动矢量。
22.如权利要求21所述的运动估计方法,其中,最终运动矢量的输出包括选择并输出与平均运动预测误差值和行运动预测误差值中的较小值相应的运动矢量为当前块的最终运动矢量。
23.如权利要求21所述的运动估计方法,还包括在当前块的运动是零的位置产生零运动矢量;其中,输出所述最终运动矢量包括基于平均运动预测误差值、行运动预测误差值和根据零运动矢量的零运动预测误差值来选择并输出平均运动矢量、行运动矢量和零运动矢量中的任何一个为当前块的最终运动矢量。
24.如权利要求23所述的运动估计方法,还包括通过将当前块与对先前帧设置的全搜索区域相比较来估计当前块的任意运动矢量;其中,输出最终运动矢量包括基于平均运动预测误差值、行运动预测误差值、零运动预测误差值和根据任意运动矢量的任意运动预测误差值来选择并输出平均运动矢量、行运动矢量、零运动矢量和任意运动矢量中的任何一个为当前块的最终运动矢量。
25.如权利要求24所述的运动估计方法,其中,平均运动矢量的产生、行运动矢量的产生和零运动矢量的产生中的至少一个基于当前帧之前的运动矢量来产生运动矢量。
26.如权利要求25所述的运动估计方法,其中,最终运动矢量的输出包括根据优先顺序来选择并输出最终运动矢量。
27.如权利要求26所述的运动估计方法,其中,所述优先顺序按零运动矢量、行运动矢量、平均运动矢量和任意运动矢量的顺序来设置。
28.如权利要求25所述的运动估计方法,其中,最终运动矢量的输出包括如果零运动预测误差值小于或等于第一参考值并且零运动预测误差值乘以第三权重所得的第三误差值小于或等于第一最小值,则选择并输出零运动矢量为当前块的最终运动矢量,所述第一最小值是平均运动误差值乘以第一权重所得的第一误差值、行运动误差值乘以第二权重所得的第二误差值和任意运动误差值乘以第四权重所得的第四误差值中的最小值。
29.如权利要求28所述的运动估计方法,其中,最终运动矢量的输出包括如果零运动矢量不被选择为最终运动矢量,那么如果行运动预测误差值小于或等于第二参考值并且行运动预测误差值乘以第五权重所得的第五误差值小于或等于第二最小值,则选择并输出行运动矢量为当前块的最终运动矢量,其中,第二最小值是平均运动预测误差值乘以第六权重所得的第六误差值、零运动预测误差值乘以第七权重所得的第七误差值、和任意运动预测误差值乘以第八权重所得的第八误差值中的最小值。
30.如权利要求29所述的运动估计方法,其中,最终运动矢量的输出包括如果零运动矢量和行运动矢量不被选择并输出为最终运动矢量,那么如果平均运动预测误差值小于或等于第三参考值,并且平均运动预测误差值乘以第九权重所得的第九误差值小于或等于第三最小值,则选择并输出平均运动矢量为当前块的最终运动矢量,其中,所述第三最小值是行运动预测误差值乘以第十权重所得的第十误差值、零运动预测误差值乘以第十一权重所得的第十一误差值和任意运动预测误差值乘以第十二权重所得的第十二误差值中的最小值。
31.如权利要求30所述的运动估计方法,其中,最终运动矢量的输出包括如果零运动矢量、行运动矢量和平均运动矢量不被选择为最终运动矢量,则选择并输出任意运动矢量为当前块的最终运动矢量。
全文摘要
提供了一种用于将当前帧划分为多个块并通过将当前块和先前帧相比较来估计运动的运动估计器和运动提取方法。所述运动估计器包括平均运动计算单元,基于与当前块相邻的周围块的运动矢量来计算平均运动矢量;行运动产生单元,基于当前块的水平块的运动矢量来在搜索区域中产生行运动矢量;和运动矢量选择单元,基于根据平均运动矢量的平均运动预测误差值和根据行运动矢量的行运动预测误差值来选择并输出平均运动矢量和行运动矢量之一为当前块的最终运动矢量。本发明的各方面提供了一种在移动对象或者出现在移动背景上的滚动文本的情况下用于搜索正确的运动矢量的运动估计器。
文档编号H04N7/26GK1893658SQ20061010175
公开日2007年1月10日 申请日期2006年7月7日 优先权日2005年7月7日
发明者金命哉, 孙永旭, 成和锡, 闵钟述, 姜政佑 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1