视频序列中的可变形状运动估计的制作方法

文档序号:7639661阅读:179来源:国知局

专利名称::视频序列中的可变形状运动估计的制作方法
技术领域
:本发明涉及视频压縮领域。
背景技术
:视频序列的高压縮增益可通过去除图像(帧)之间的时间冗余来获得。例如,为了对图像进行编码,基于前面的已编码图像来生成待编码图像的时间预测。将时间预测与实际图像相比较以确定预测误差,并对预测误差进行编码。可以使用被广泛应用的基于区块(block)的运动估计和补偿方法(例如,MPEG标准)来做出预测。使用运动补偿和估计方法来在一个或多个参考图像中寻找参考区块以预测目标图像中相应目标区块的位置,所以只需要对目标区块的预测残差(residual)进行编码,该残差通常是预测误差和运动向量。这些方法执行区块匹配以在参考图像中识别与目标图像中相应目标区块最相似的参考像素区块。图1是示例性运动向量、参考区块和目标区块的示意图。对目标图像120的编码将使用来自参考图像110的信息。参考区块115被识别为参考图像110中与目标图像120中的目标区块125最匹配的区块。在参考区块被识别后,运动向量130(示为箭头,仅作示例目的)被生成,以识别相对于参考区块115位置的目标区块125位置。运动向量130具有两个表示参考区块115和目标区块125之间关系的元素水平位移和垂直位移。例如,作为示例性3X3像素组的参考区块115处于位置(i',j'),目标区块125处于位置(i,j)。两个区块之间的距离为运动向量(i'-i,j'-j)。运动向量的值与参考区块一起在视频压縮中使用,以生成目标区块的预测值。例如,若目标区块S与运动向量和相应的参考区块相关联,则目标区块中的每个像素被预测为<formula>formulaseeoriginaldocumentpage6</formula>其中i^cj力为目标区块中位于像素坐标(x,力处的被预测像素值,f为目标图像的时间索引,v(x+mxj;+mj^)为(被A索引的)参考区块中的像素值,且[mx,m力为表示参考区块中的像素相对于目标区块中的待预测像素位置的偏移量的运动向量。为了预测整个目标图像,一种典型方法将目标图像划分为多个不重叠目标区块。然后,为每个目标区块执行运动估计以确定其相应的参考区块和运动向量。一般地,运动估计过程创建的目标和参考区块具有同样的形状并包含同样数量的像素,所以每个目标和参考像素之间存在一对一映射。创建目标区块的方法的一个示例可在MPEG中找到,其将目标图像划分为具有固定数量像素(即,16X16个像素)的目标区块。更高级的视频编解码器允许目标区块的形状和尺寸(在某些限制下)变化。例如,MPEG/AVC允许区块尺寸在4X4个像素到16X16个像素间变化。一般地,传统的区块创建方法在创建固定尺寸的目标和参考区块的规则模式(pattern)时很有效。另一方面,运动估计方法在目标和参考区块具有可变形状和尺寸时具有更好的预测性能。但是,创建尺寸和形状变化的目标区块的有效模式不在传统的区块创建方法的能力范围之内。需要一种有效地创建将被运动估计方法使用的目标图像中的可变形状区块的方法。
发明内容一种创建目标图像中的可变形状区块的方法包括生成目标区块的初始模式,识别目标区块的允许组合(allowablecombination),计算每个允许组合的组合值,使用组合值来选择多个允许组合中的一个,以及执行所选的允许组合来创建可变形状区块。本发明通过示例的方式加以阐述,并且通过结合附图参考下面的描述将得到更好的理解,图中图l是示例性运动向量、参考区块和目标区块的示意图;图2是创建用于运动估计的可变形状区块的方法的一个示例;图3A、3B、3C和3D示出被创建用于运动估计的可变形状区块的方法使用的允许形状和形状组合的示例;图4示出被创建用于运动估计的可变形状区块的方法使用的区块的允许组合的允许位置的一个示例;图5是创建用于运动估计的可变形状区块的方法的另一个示例;图6示出使用可变形状区块创建方法的系统的一个示例;具体实施方式下面的描述中,参考形成本文一部分的附图,所述附图中通过图解的方式示出可实施本发明的具体实施例。应该理解,在不脱离本发明范围的前提下,可以使用其他实施例,并做出结构改变。例如,本领域技术人员将理解,用来描述各种实施例的术语图像在参考视频数据来使用时一般可与术语场、帧或图片互换。一种方法创建用于运动估计中的可变形状目标区块的模式。该方法接收目标图像和参考图像,将目标图像划分为各种形状和尺寸的目标区块,并为每个可变形状目标区块生成运动向量。在一个实施例中,该方法通过迭代和自适应地将较小区块组合为较大区块来创建可变形状区块。该方法可以开始于任何初始目标区块模式,例如规则目标区块模式,例如每个目标区块包含2X2个像素。该方法识别可以形成较大区块的较小区块的允许组合。对于每个允许组合,确定反映其代价(cost)和收益(benefit)的值。组合的代价是预测误差的增大,收益是针对较大区块的运动向量数目的减少。在识别了具有可接受值的允许组合之后,组合相关的较小区块以形成较大区块,并确定用于较大区块的新运动向量。该方法可一直重复直至达到期望的结束点。例如,在一个实施例中,该方法持续到目标图像中的区块数目降低到给定数目以下为止。创建可变形状区块的方法的一个示例示于图2。在210中,定义目标区块的允许形状。一般地,该方法可以从具有任何形状的区块的初始模式开始,并可以执行区块的任何组合来创建具有任意形状的区块的输出模式。该方法创建的形状越多,运动估计的性能越好。但是,执行该方法的复杂性随形状数目的增加而增大。为了以合理的复杂度来执行该方法,一些实施例使用预定数目的允许形状和预定数目的允许组合。在本例中,为了减少复杂性,在210中定义一组简单形状,例如矩形区块,这样不用执行过多计算就能将较小形状组合成较大形状。210中定义的允许形状的示例示于图3A,包括2X2的像素区块302、2X4的区块304和4X4的区块306。在215中,定义较小区块变为较大区块的允许组合。允许组合的一些示范性定义包括(1)只有相互连接的现有(较小)形状可被组合成单个较大形状,(2)较大形状是现有的预定义形状,以及(3)较大形状位于目标图像内的允许位置。这些定义大大减少了整个图片中的允许组合的数目,从而减少了创建可变形状区块的复杂性。该定义可由系统设定或由用户选择,使得允许组合的数目对于充分执行运动估计足够大,而对于将创建可变形状区块的复杂性减少到可控制的程度又足够小。较小区块变为较大区块的允许组合的示例示于图3B、3C和3D。在图3B中,允许2X2像素区块与另一个2X2像素区块组合以形成较大的2X4像素区块。在图3C中,允许四个2X2像素区块组合成较大的4X4像素区块。在图3D中,允许两个2X2的区块和一个2X4的区块组合成一个较大的4X4像素区块。允许组合的定义也可包括该组合的允许位置。例如,若2X4形状的区块中的被选像素位于y坐标为2的倍数或x坐标为4的倍数处(例如,y=0,2,4,...或f0,4,8,...),则在特定位置允许该区块。组合区块的允许和禁止位置的示例示于图4。因为较大区块410的位置具有的x坐标为2的倍数4,所以允许较小区块组合成较大区块。另一方面,因为区块420的x坐标为9,不是2的倍数,所以形成区块420的组合被禁止。作为另一个示例,若某个4X4的区块的被选像素位于x和y坐标为2的倍数处(y=0,2,4,8...ix=0,2,4,8…),则用户可以允许创建该区块。在图4中,因为被选像素具有的x坐标为2且y坐标为2,所以允许创建区块430。因为区块440的x坐标为9,所以即使其y坐标为2的倍数,也禁止创建区块440。如这些预定允许位置的示例所示,不是所有的2X2的区块都能组合以创建2X4或4X4的区块。允许位置的数目平衡了运动估计性能和计算复杂度。在220中,生成用于整个目标图像的目标区块的初始模式。在本例中,使用在210中定义的允许形状来生成初始模式。生成的初始模式可以是固定尺寸小区块(例如,2X2的区块)的规则模式。在生成初始模式后,在215中为每个目标区块确定运动向量。很多现有算法可用来寻找运动向量(例如,在MPEG中)。这一区块的初始数目7Vw。d和运动向量的初始数目W,被记录。在230中,使用运动向量为每个区块执行运动估计,生成目标区块的预测和相关的预测误差。在235中,使用预测误差来计算目标区块的运动补偿预测的失真Ds。失真是对目标区块的预测性能的衡量。可以使用不同的函数来确定失真。一个示例是像素预测误差的平方和A=2J2(2)其中xjeS代表目标区块S中的所有像素,是目标图片中的原始像素值,fw是该目标像素的预测值。通过使用运动向量识别参考图像中的像素来确定预测值。另一个失真函数的示例是预测误差的绝对值之和(3)用户可以选择这些函数中的任一个或别的函数来衡量目标区块的失真。在240中,使用允许组合的定义来识别目标图像中现有区块的允许组合。可以通过任何允许组合形成的每个较大区块的运动向量也被确定。可使用本领域技术人员公知的运动估计方法来确定运动向量。在245中,为每个允许组合确定组合值。若允许组合被执行,则结果是失真增大而运动向量数目减少。因此,虽然通过将较小区块组合成较大区块而增大了失真,但较小区块不再需要的运动向量变得可为该运动估计方法所用。这将导致被预测目标图像的失真整体减小。为了确定允许组合是否该执行,再次对比收益来权衡执行组合的代价。该代价与收益的关系可表示为增大的失真和减少的运动向量数的函数。对比收益来权衡组合代价的函数的一个示例是如下的比值M=AD|A/(4)其中M为组合值。组合值用来比较目标图像特定区域中区块的多个允许组合。通过从产生的较大区块的失真中减去该允许组合中较小区块的总失真以确定失真差AD,从而计算失真的增大。较小形状的总失真Z)。是该允许组合中较小形状的预测失真A的和。每个较小形状的失真使用诸如式(2)或式(3)之类的失真函数来计算。较小区块的总失真为A=(5)其中5^&代表允许组合中的所有较小区块。组合后的失真A是通过组合较小区块创建的较大区块的失真。一般地,较大区块的失真量大于多个较小区块的失真量。组合引起的增大的失真为△D=A—A)(6)组合产生的运动向量数目的减少A/通过从组合前存在的较小区块中的运动向量数目^中减去由组合创建的较大区块中的运动向量数目A来确定。(若使用单个参考图像,则每区块中的运动向量数目为1)。组合产生的运动向量数量的减少为M^—io(7)在计算失真AZ)的增大和运动向量的减少AW之后,使用式(4)来确定组合值。在250中,使用组合值来选择将要执行的允许组合。在一个实施例中,在目标图像的特定区域中将特定允许组合的组合值与其他允许组合的值相比较。然后,具有最小组合值的允许组合被选择。在255中,执行被选组合。被选组合的较小区块被替换为较大区块。另外,较小区块的运动向量被替换为与较大区块相关联的运动向量。在260中,该方法确定是否执行另一组合。可用来确定是否执行另一组合的函数示例包括固定终止函数和自适应终止函数。固定终止函数在目标图像中区块的数目小于或等于阈值数目T7^/。^之后终止方法。例如,对于尺寸为720X480(720个垂直线和480个水平线)的图像,用户可以将目标图像中区块的最大数目设为1350,即7^/。。t=1350。形状的阈值数目可由编码器设定或由用户指定为输入参数。或者,固定终止函数在目标图像中的运动向量数目小于或等于阈值数目W,之后终止方法。(若使用单个参考图像来预测目标图像,则目标形状的数目等于目标图像中运动向量的数目(77^/。^=77^))。每次迭代后,剩余的形状数(A^/。cP或运动向量数(A^)被记录。当编码器检测到A^。A《^W。ot(或W,《^mv)时,其终止方法。另一个终止函数在执行另一组合的收益可忽略时使用阈值来终止该方法。例如,当当前被选允许组合的组合值超过阈值7\to/7时,该方法终止。通过这种方式,目标图片中形状和运动向量的数目可与目标图像的内容相适应。这在视频流的图像含有大量时间变化时很有用。若另一组合被执行,则在265中,目标图片的形状模式被更新以反映最新的组合。另外,形状数目值和运动向量数目值A^,/。dt和A^被更新以反映组合产生的变化。然后,方法返回240。若不再执行更多组合,则方法终止于270。创建可变形状区块的方法的另一个示例示于图5,其利用简单函数替换图2方法的若干个计算。例如,在图2所示方法的每次迭代中,为所有允许组合计算组合值。但是,特定迭代中的很多允许组合在前一次迭代期间出现过,所以,它们的组合值在前一次迭代期间被计算过。为当前迭代执行的计算的数量可以通过重用先前计算过的值来减少。图5的方法在为运动估计创建可变形状时重用先前计算过的比值,并更新和存储该方法的当前迭代中出现的任何值的变化。在510中,在第一次迭代期间,该方法为允许组合计算M的值,并将该值存储在诸如电子存储设备之类的计算机可读介质中的多维数组中。在该数组中,M的值被索引为MUj。索引中使用的/,^和;;的定义在表1中给出。表lM值的索引描述<table>tableseeoriginaldocumentpage12</column></row><table>可通过将特定允许组合的组合值与阈值而不是多个其他值相比较以确定是否执行该组合来进一步减小图2的方法的复杂性。例如,在图2的方法中,具有M-ADIA/的最小值的组合被选择。但是,识别最小值需要该方法扫描所有允许组合。除了扫描所有组合,图5的方法在520中将特定允许组合的组合值与预定阈值77^^ge相比较。若M〈J7^^ge,则立即选择并执行该组合,且在本次迭代中忽略其他允许组合。若组合值不小于阈值,则将数组中的下一个组合值与阈值相比较。(阈值7\,7^^与上面讨论的阈值77^鄉不同)。在530中,该方法决定是否执行另一组合。若不执行,则过程终止于550。若执行,则受本组合影响的M^j的值在540中被更新且过程返回520。结果,在第一次迭代后,数组中只有小部分的M值被重新计算,剩余的M值保持不变。这减小了复杂性并减少了该方法的处理时间。在执行可变形状区块创建方法后,重建可变形状区块的模式的信息以及用于可变形状区块的运动向量被发送到解码器供重建。解码器使用运动向量和可变形状区块的模式来执行目标图像的运动补偿。创建可变形状区块的模式的方法可应用于任何视频压縮或执行运动估计和运动补偿的任何其他应用。该方法既可独立工作也可与视频压縮中与运动预测有关的其他方法共同工作。图6示出使用可变形状区块创建方法的系统的示例。数字摄像机610捕获电子形式的图像,并使用压縮设备620处理该图像,该压縮设备620在压縮和编码过程期间实现可变形状区块创建方法。编码的图像通过电子传输介质630发送到数字重放设备640。图像被在解码过程中使用该方法的解码设备650解码。虽然在具体系统环境中根据示例性实施例描述了本发明,但是本领域普通技术人员将理解,在所附权利要求的精神和范围内,可在其他不同硬件和软件环境中通过各种方式实施本发明。权利要求1.一种由电子数据处理器执行的方法包括生成目标区块的初始模式;识别目标区块的允许组合;计算每个允许组合的组合值;使用所述组合值来选择所述允许组合中的一个;以及执行所选的允许组合来创建可变形状区块。2.如权利要求1所述的方法,还包括使用一组组合规则来定义所述允许组合。3.如权利要求1所述的方法,其中所述组合值使用下式来计算M=AD|A/其中所述AD为源于所述组合的失真增大,所述A^为源于所述组合的运动向量减少,M为所述组合值。4.如权利要求1所述的方法,其中使用所述组合值的步骤包括识别具有最小值的允许组合。5.如权利要求1所述的方法,其中使用所述组合值的歩骤包括识别低于阈值的允许组合。6.如权利要求1所述的方法,还包括重复所述方法直到可变形状区块的数目小于阈值为止。7.如权利要求1所述的方法,还包括重复所述方法直到所选允许组合的组合值小于阈值为止。8.—种装置包括生成目标区块的初始模式的生成器;识别目标区块的允许组合的识别器;计算每个允许组合的组合值的计算器;使用所述组合值来选择所述允许组合中的一个的选择器;以及执行所选的允许组合来创建可变形状区块的区块创建器。9.如权利要求8所述的装置,还包括使用一组组合规则来定义所述允许组合的定义器。10.如权利要求8所述的装置,其中所述组合值使用下式来计算其中所述AD为源于所述组合的失真增大,所述A/为源于所述组合的运动向量减少,M为所述组合值。11.如权利要求8所述的装置,其中使用所述组合值包括用于识别具有最小值的允许组合的装置。12.如权利要求8所述的装置,其中所述选择器识别低于阈值的允许组合。13.如权利要求8所述的装置,还包括重复所述方法直到可变形状区块的数目小于阈值为止的重复器。14.如权利要求8所述的装置,还包括重复所述方法直到所选允许组合的组合值小于阈值为止的重复器。15.—种存储指令程序的计算机可读介质,所述指令被处理系统执行时令所述系统执行一种方法,所述方法包括生成目标区块的初始模式;识别目标区块的允许组合;计算每个允许组合的组合值;使用所述组合值来选择所述允许组合中的一个;以及执行所选的允许组合来创建可变形状区块。16.如权利要求15所述的计算机可读介质,还包括使用一组组合规则来定义所述允许组合。17.如权利要求15所述的计算机可读介质,其中所述组合值使用下式来计算其中所述AD为源于所述组合的失真增大,所述A/为源于所述组合的运动向量减少,M为所述组合值。18.如权利要求15所述的计算机可读介质,其中使用所述组合值的歩骤包括识别具有最小值的允许组合。19.如权利要求15所述的计算机可读介质,其中使用所述组合值的步骤包括识别低于阈值的允许组合。20.如权利要求15所述的计算机可读介质,还包括重复所述方法直到可变形状区块的数目小于阈值为止。21.如权利要求15所述的计算机可读介质,还包括重复所述方法直到所选允许组合的组合值小于阈值为止。全文摘要一种创建目标图像中的可变形状区块的方法包括生成目标区块的初始模式,识别目标区块的允许组合,计算每个允许组合的组合值,使用组合值来选择多个允许组合中的一个,以及执行所选的允许组合来创建可变形状区块。文档编号H04B1/66GK101268623SQ200680034068公开日2008年9月17日申请日期2006年9月1日优先权日2005年9月16日发明者苗周荣,詹姆斯·J·卡里格,马里奥·帕尼科尼申请人:索尼电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1