利用快速搜索块匹配的运动估计的制作方法

文档序号:6467452阅读:139来源:国知局
专利名称:利用快速搜索块匹配的运动估计的制作方法
利用快速搜索块匹配的运动估计 对相关申请的交叉引用
本申请要求2003年7月15日提交的、序列号为60/487, 458的美 国临时专利申请的利益,该临时申请的全部内容在此引入作为参考。 发明领域
本发明总地涉及视频编码器和译码器,并且具体地,是关于视频编 码器和译码器中的运动估计算法。
背景技术
视频数据通常以比特流的形式被处理和传送。典型的视频压缩编码 器和译码器("编译码器")通过形成对要编码图片的参考图片预测、 并且编码当前图片和该预测间的差异,而获得它们的较大的压缩效率。 预测与当前图片越相关,则压缩那个图片所需要的比特越少,由此提高 了处理的效率。因此,期望形成最佳可能的参考图片预测。
在包括运动图像专家组("MPEG") -1、 MPEG-2和MPEG-4的许多视 频压缩标准中,对先前参考图片和当前图片间的运动进行估计以形成先 前参考图片的运动补偿版本。先前参考图片的运动补偿版本被用作对当 前图片的预测,并且只编码当前图片和该预测间的差异。
运动估计在当前的视频编码系统中发挥重要的作用,并且通常是编 码器的在计算上最复杂的部分。当前的大多数视频编码标准采用了块匹 配算法。逐块地估计运动量的全搜索策略是流行的运动估计方法。不幸 的是,全搜索策略的复杂度非常高,尤其是对于采用多参考图片和多块 类型的高级视频编码标准,诸如H. 264。已经提出了几种快速搜索算法, 诸如三步搜索、新三步搜索、钻石搜索、带状搜索、分级搜索、或者多 分辨率(multi-resolution)搜索或者它们的组合。这些算法通过减少 搜索点的数目来降低复杂度。不幸的是,它们在误差面(error surface) 上趋于陷入局部最小。因此,它们的性能通常比全搜索策略要差。
大多数当前的视频编码标准采用块运动估计来减小比特率。用于视 频编码的块运动估计已经被很好地研究,但对于多参考图片和多块类型 选择只有很少几种算法已经被提出,诸如在H. 263++以及 JVT/H. 264/MPEG AVC中的算法。 在IT.264中,提供了各种模式用于运动补偿。每种运动补偿的宏块 模式对应于一个固定尺寸的块。块可以被分割成16 x 16、 16x8、 8x16、 以及8 x 8。 8 x 8块可以进一步,皮再分割成8 x 4、 4 x 8或4 x 4的块尺寸。 因此,总计支持7种块类型,每个预测编码的mxn块的预测信号是通过 位移相应的参考图片区域来得到的,其中所迷参考图片区域由来自运动 矢量预测器的、差分编码的平移运动矢量来指定。H.264也支持多图片 运动补偿的预测。也就是, 一个以上的先前编码的图片可被用作为参考 以便构建预测编码块的预测信号。因此,对于运动估计,编码器必须决 定应当选择哪种块类型以及哪个参考图片。这种多参考图片和多块类型 选择使得运动搜索更加复杂。
当前,已经提出了全搜索("FS")和几种快速搜索算法用于运动 搜索,诸如象三步搜索、新三步搜索、钻石搜索、带状搜索以及分级搜 索。其中,通常只有全搜索得到了最佳解决方案。因此,需要的是一种 用于减小全搜索算法的复杂度同时得到最佳解决方案的方法。
发明概述
通过在视频编码器和译码器中利用快速搜索块匹配的运动估计的装 置和方法,致力于解决现有技术的这些和其它不足和缺点。
视频编码器被提供以编码用于图像块的视频信号数据和特定参考图 片索引以预测该图像块,其中该编码器包括快速搜索块运动估计器用于 提供相应于所述至少一个特定参考图片的运动矢量,该运动估计器包括 一个快速搜索块匹配部分,用于执行快速搜索块匹配,同时根据该图像 块象素的归一化相对于该参考图片象素的归一化的比较来排除非最佳搜 索点,所述快速搜索块匹配部分具有响应于所述至少一个特定参考图片 的输出。
用于编码图像块的视频信号数据的相应的方法包括接收基本上未 压缩的图像块,与至少一个特定参考图片相对应地块匹配该图像块,同 时根据该图像块象素的归一化相对于该参考图片象素的归一化的比较来 排除非最佳搜索点,计算相应于该图像块和该至少一个特定参考图片之 间差异的运动矢量,并且与所述运动矢量相对应地对该至少一个特定参 考图片进行运动补偿。本发明的这些和其它特征、特性和优点将从以下 示范实施例的描述中变得清晰,示范实施例要结合附图来理解。
附图简述
因此通过参考本发明的实施例可以得到实现并且能够详细理解本 发明的上述特性的方式、对以上简要概迷的本发明的更具体的描述,其 中所述实施例在所附图中图示。
然而应当指出,附图仅仅图示了本发明的典型实施例并且因此不应 被看作限制它的范围,因为本发明可以承认其它同样有效的实施例。


图1示出了根据本发明原理的具有快速搜索块匹配运动估计的视频
编码器的框图2示出了根据本发明原理的用于编码处理的流程图3示出了根据本发明原理的用于译码处理的流程图;以及
图4示出了根据本发明原理的用于和快速搜索块匹配运动估计一起
使用的视频译码器的框图。 优选实施例详述
本发明通过使用快速搜索块匹配来执行运动估计。本发明的实施例 利用逐次消元法来丟弃非最佳搜索点,并且利用预先计算的数据来节省 计算量而不牺牲全搜索方法的最优性。
运动估计技术已经得到广泛研究。对于被编码图片的每个运动块, 挑选一个代表该运动块距参考图片的位移的运动矢量。在搜索区域内以 穷举搜索方法,测试在关于该运动块位置的偏移的预定范围内的每一位 移。所述测试包括计算当前图片中运动块内的每个象素与参考图片中位 移的运动块之间的绝对差("SAD")或均方误差("MSE")的和。选 择具有最低SAD或MSE的偏移作为运动矢量。已经提出了这种技术上的 多种变化,诸如象三步搜索和速率失真优化运动估计。
以下的描述仅仅说明本发明的原理。因此应当理解,本领域的技术
人员将能够设计出各种安排,它们尽管没有在这里明确地描述或示出, 但却体现本发明的原理并且4皮包括在本发明原理的精神和范围之内。此
外,这里陈述的所有例子和条件语言主要打算明确地仅仅用于示教目的, 以帮助读者理解本发明的原理和发明人为促进该技术所贡献的概念,并 且它们被解释为并不限于这样具体陈述的例子和条件。此外,在这里陈 述本发明的原理、特征和实施例及其特定例子的所有表述打算包括其结 构和功能上的等价物在内。另外,还打算使这样的等价物包括当前已知 的等价物以及将来研发的等价物,即,被研发来执行同样的功能而不考
虑结构的任何元件。
因此,例如,本领域的技术人员应当理解这里的框图代表体现本发 明原理的说明性电路的概念上的视图。同样,应当理解任何流程图、程 序框图、状态转移图、伪代码等等代表各种处理,这些处理可以基本地 在计算机可读媒体中表示并且由计算机或处理器来执行,无论这样的计 算机或处理器有没有被明确地示出。
图中示出的各种元件的功能可以通过使用专用硬件以及能够与适当 软件相联合地执行软件的硬件来提供。当由处理器提供时,所述功能可 以由单个专用处理器、单个共享处理器、或者多个个体处理器来提供, 其中所述个体处理器中的某些可被共享。此外,术语"处理器"或"控 制器"的显式使用不应当被解释为专门地指能够执行软件的硬件,还可
能隐含地包括,但不限于数字信号处理器("DSP")硬件、用于存储 软件的只读存储器("ROM")、随机存取存储器("RAM")以及非易 失性贮存器。也可能包括常规的和/或定制的其它硬件。同样地,图中示 出的任何开关只是概念性的。它们的功能可以通过程序逻辑的操作、通 过专用逻辑、通过程序控制和专用逻辑的交互作用、或者甚至手工地来 实现,随着对上下文的更具体理解,特定的技术可由实施者来选择。
在本权利要求中,被表达为用于执行特定功能的装置的任何元件打 算包括执行该功能的任何方式,包括例如a)执行该功能的电路元件的 组合,或b)任何形式的软件,因此包括与实施所述软件的适当电路相 组合来执行该功能的固件、微码等等。由这样的权利要求定义的本发明 具备这样一个事实由所陈述的各种装置提供的功能性以权利要求所要 求的方式被组合和集合。申请人因此把能够提供这些功能性的任何装置 看作是在这里示出的这些装置的等价物。
快速搜索块匹配运动估计算法可达到与全搜索块匹配相当的质量而 同时降低了复杂度。目前公开的逐次消元算法实施例采用基于三角不等 式的度量以便及早丟弃非最佳搜索点,并且重用预计算的数据以减少计 算的次数。本算法可以被应用于软件和硬件实施例。它还可以被应用于 其它启发式的快速搜索算法。
如图1中所示,总体地由参考标号100来指示具有快速搜索块匹配 运动估计的视频编码器。到编码器100的输入在信号通信中与求和接点 110的非反相输入连接。求和接点110的输出在信号通信中与块变换器
120相连接。变换器120在信号通信中与量化器130相连接。量化器13(T 的输出在信号通信中与可变长度编码器("VLC" )140相连接,其中VLC140 的输出是编码器IOO外部可得的输出。
量化器130的输出在信号通信中还被连接到逆量化器150。逆量化 器150在信号通信中与逆块变换器160相连接,逆块变换器160进而又 在信号通信中与参考图片贮存器170相连接。参考图片贮存器170的第 一输出在信号通信中与快速搜索块匹配运动估计器180的笫一输入相连 接。到编码器100的输入在信号通信中还与快速搜索块匹配运动估计器 180的第二输入相连接。
尽管这里描述的本发明是运动估计块的概念性部分,但是应当理解, 在替代实施例中独立的快速块搜索部分可向运动估计器部分馈送,所述 部分之间的信令指示哪个操作点被测试或者不被测试。快速搜索块匹配 运动估计器180的输出在信号通信中与运动补偿器190的第一输入相连 接。参考图片贮存器170的第二输出在信号通信中与运动补偿器"0的 第二输入相连接。运动补偿器190的输出在信号通信中与求和接点110
的反相输入相连接。
转向图2,总体地由参考标号200来指示对于根据快速搜索块匹配
运动估计来编码用于图像块的视频信号数据的示范处理。所述处理包括 开始框210,它把控制传递给输入框212。输入框212接收基本未压缩的 图像块数据,并且将控制传递给功能框214。功能框214执行快速搜索 块匹配同时根据当前图片象素的归一化(例如SAD、 MSE)相对于参考图 片象素的相同归一化的比较来排除非最佳搜索点。功能框214将控制传 递给功能框216,功能框216计算相应于该图像块和特定参考图片之间 差异的运动矢量,并且将控制传递给功能框218。功能框218与该运动 矢量相对应地对特定参考图片进行运动补偿,并且将控制传递给功能框 222。
功能框222从基本上未压缩的图像块中减去经运动补偿的参考图 片,并且将控制传递给功能框224。功能框224进而又编码具有基本上 未压缩的图像块和经运动补偿的参考图片之间的差异、连同特定参考图 片的相应索引的信号,并且将控制传递给结束框226。
现在转向图3,总体地由参考标号300来指示对于译码用于图像块 的视频信号数据的示范处理。所述处理包括开始框310,它把控制传递给输入框312。输入框312接收图像块压缩数据,并且,控制传递给输 入框314。输入框314接收至少一个带有用于该图像块的数据的参考图 片索引,每个参考图片索引对应于一个特定的参考图片。输入框314将 控制传递给功能框318,功能框318检索相应于每个接收的参考图片索 引的参考图片,并且将控制传递给功能框320。功能框320进而又对所 检索的参考图片进行运动补偿,并且将控制传递给结束框326。
如图4中所示,总体地由参考标号400来指示用于与快速搜索块匹 配运动估计一起使用的视频译码器。视频译码器400包括可变长度译码 器("VLD" )410,它在信号通信中与逆量化器420相连接。逆量化器 420在信号通信中与逆变换器430相连接。逆变换器430在信号通信中 与加法器或求和接点440的第一输入端子相连接,其中求和接点440的 输出提供视频译码器400的输出。求和接点440的输出在信号通信中与 参考图片贮存器450相连接。参考图片贮存器450在信号通信中与运动 补偿器460相连接,运动补偿器460在信号通信中与求和接点440的第 二输入端子相连接。
在操作中,全搜索可以首先将当前图片划分成无重叠的块,并且在 参考图片中搜索它们中的每一块。通过测试搜索中心周围的搜索区域内 的所有点来执行全搜索,并且找到具有最小成本函数的最终位置。尽管 全搜索方法达到了最优的解决方案,但是它需要较高的计算成本。在视 频编码方法中,如果搜索范围是S,参考图片的数目为RN(在HJ6L中, RN可以高达15),宏块(通常16x 16)中的块类型的数目为BN(在H. 26L 中,BN可以高达7),那么对于每个宏块,搜索点的总数目为(2S+1) *(2S+1)*BN*RN,或者多于4S2*BN*RN个搜索点。
结合本发明的实施例利用了两种技术来提高全搜索方法的计算速 度。 一种是数据重用,而另一种是逐次消元。对于数据重用,最小尺寸 块类型(4x4)的绝对差("SAD")和的结果被存储以便由更大尺寸的 块类型重用。因此,对于每个宏块,等价于搜索点的所需要的计算大约 是4S2*RN。
一种称为三角不等式的数学不等式被用来在逐次消元算法("SEA") 中加速全搜索。在块匹配中,例如,绝对差("SAD")的和或者方差("SSD") 的和,可被用作搜索准则,以测定来自参考图片的运动补偿预测c[x,y] 与当前图片中原始信号s[x,y]之间的失真。集合"包括所考虑的块的所
有采样位置。
假设"被分割成子区域A,以使得
<formula>formula see original document page 9</formula> (1)
那么
把三角不等式应用于所有的A,推出
<formula>formula see original document page 9</formula> (2)
在以上的/^式中,对于SAD有p-l而对于SSD有p-2。 可以采用SAD或SSD作为视频编译码器中的失真量度。不失一般性 地,SAD被用在以下示范讨论中并且等式(2)被明确地写成等式(3)。等 式(3)可以通过去除某些绝对值算子而被简化,因为可以假设视频象素数 据值总是正的。
<formula>formula see original document page 9</formula> (3)
SEA被描述如下
假设Dmin是在块运动搜索中先前计算出的最小失真值; 那么如果万0s,c)2Dmin (4),则丢弃块c; 否则,执行全搜索。
计算D(s,c)(等式(3)的右手侧)的开销可以被划分成两个部分。第 一部分涉及到计算和范数(sum norm )Z啦J]及5>kW。第二部分涉
及到计算等式(3)中和范数的绝对差的和,它取决于子区域的尺寸。对于 多块类型运动估计,对称分割是优选的。如果子区域是4x4的,则对于 一个宏块,开销等于大约SVOB^RN个搜索点。如果子区域是2x2的, 则开销是大约S、B^RN。存储和范数所需要的存储器是大约(RN+1^图片 尺寸。SBA的效率依赖于下界能够有多严格。为了补偿开销的影响并且 减少全搜索的点,Dmin的初始确定以及搜索顺序是重要的。
在优选实施例中,对于SEA,应用数据重用来减小计算Z)(^c)(等
式(3)的右手侧)的开销。f)O,c)的计算可以;故分割成两个部分。第一部 分涉及到计算和范数S啦,少]及S啦,少]。笫二部分涉及到计算等式(3)
中和范数的绝对差的和。
更详细地,为了计算DO,c),对经运动补偿的参考图片的和范数 Zc[xj]以及当前图片的和范数Z巾,xl进行计算。Sc[xj]的计算可以
被存储并且被重用于参考图片中不同的候选运动矢量偏移。当视频序列 中后面的图片被编码时,当前图片可以被用作后一图片的参考图片。这 里,当前图片的和范数的计算结果可以被存储,并且在当前图片被用作
参考图片来编码另一个相关的图片时重用作Sc[x,j;]。这样,在本发明
的目前的实施例中计算和范数的开销被减小RN倍。
此外,对于运动估计,用于DO,c)的和范数的绝对差的和在等式(3) 中被计算以用于不同的块类型。对于最小块尺寸的和范数的绝对差的计 算结果被存储并且被更大的块类型重用。因此,计算和范数的绝对差的 开销可以被减小BN倍。
现在提供一种被称为新SEA ( "NSEA")的新准则来在SEA中使用 以丢弃除了 (4)以外的非最佳点。在SEA中,由于三角不等式,仅有的 被丢弃的点是那些在数学上不可能具有最低SAD的点,因此当使用全搜 索方法时总是选择相同的运动矢量。在NSEA中,不再拥有这样的保证, 并且作为结果的运动矢量可不同于全搜索方法,从而增加了被压缩序列
的比特率。由于DO,c)与D0y,c)高度相关,因此比特率的增加可能是微 小的。然而,对于NSEA,在搜索中要丢弃的点的数目可以被显著地减少, 从而极大地降低了视频编码器复杂度。 NSEA^皮描述如下
假设Dmin是在块运动搜索中先前计算出的最小失真值; 那么如果5"c)2oDmin + " (5),则丢弃块c;
否则,执行全搜索。
在(5)中,因子"和〃可以被动态地调整,因此可以选择更严格的下 界,这可以进一步扔掉非最佳搜索点而不进行全搜索。在某些情况下,
速率约束的失真可以被利用来进一步提高编码效率,即,
其中R边o〃0/7和Rre/分别是用于编码运动矢量和参考图片的比特, 而义motion和;iref被用来平衡速率和失真以便可以达到全局最优。(6 ) 中的速率约束的失真是速率失真最优化的一种方式,它能够极大地提高 编码效率。
这样(5)中的SEA算法因此被改变
假设Jmin是在块运动搜索中先前计算出的最小速率约束失真值; 那么如果7(s,c)2Jmin = Dmin + / + ;im。,to"i m。,to +;iI^i^ ( 7 ),则丢弃块c;
否则,执行全搜索。
该算法可以通过利用更好的初始Dmin/Jmin以及搜索顺序来进一步 提高。这样的实施例的过程如下 对于每个预测的图片,
计算等式(3)中的用于当前图片的和范数J>[x,W; 定义预测者集合,,
在集合P中检查DCy,c)〃(s,c),找到最小值作为初始Dmin/Jmin; 调整搜索中心及搜索范围以包括达到步骤3中的初始Dmin/Jmin的 最佳预测者;
应用(5) / (7)中描述的NSEA算法,其中带有数据重用用于运动 补偿编码;
计算并存储用于重建的图片的新的和范数为!>[x,xl。
本发明不受限于所述示范快速搜索算法实施例。替代实施例可以直 接应用于本领域已知的其它启发式的快速搜索算法。因为和范数的计算
是代价较低的,并且结果可以被重用,因此i)O,c)可以被用于其它应用。 例如,在如H. 264中的运动估计中, 一种选择参考图片用于运动补偿而
不损失太多质量的快速方法是优选的。由于"O,c)与DO,c)之间高度相
关,所以D(s,c)可在这里被用作选择哪个参考图片来用于运动补偿的度
量。此外,运动搜索的速度还依赖于搜索顺序。可以基于DCy,c)的提高
的质量来定义新的搜索顺序。因此,如果在某个点50,c)〉-Ztain,则不
需要查看后续的搜索点。
本发明实施例的计算上的节省可以被应用到其它应用上,诸如象扩 展搜索范围或者为其它用途适配更好的算法。本发明的实施例可以直接 与采用运动估计的许多不同的视频压缩标准一起使用,这些视频压缩标
准诸如象H. 261、 H. 263、 H. 264、 MPEG-1、 MPEG-2以及MPEG-4。
本发明的这些和其它特性及优点可以被相关领域的普通技术人员基 于这里的教导而容易地弄清。应当理解,本发明的教导可以以硬件、软 件、固件、专用处理器或者其组合的各种形式来实现。
根据一个示范实施例,本发明可以被实现为硬件和软件的组合。此 外,软件优选地被实现为有形地具体化为在程序贮存器单元上的应用程 序。该应用程序可以被上传到包括任何适当结构的机器上并且由其执行。 优选地,该机器被实现在具有硬件的计算机平台上,所述硬件诸如是一 个或多个中央处理器单元("CPU")、随机存取存储器("RAM")以 及输入/输出("I/O")接口。该计算机平台也可以包括操作系统和微 指令代码。在这里描述的各种处理和功能可以是能由CPU执行的微指令 代码的一部分或者应用程序的一部分,或者它们的任意组合。此外,其 它各种外围单元可以被连接到该计算机平台,诸如附加的数据贮存器单 元和打印单元。
还应当理解,由于在附图中描绘的某些组成系统元件和方法优选地 以软件方式来实现,因此该系统元件或该处理功能块之间的实际连接可 能不同,这取决于本发明被规划的方式。这里给出教导,相关领域的普 通技术人员将能够设想本发明的这些和类似的实现或者配置。
尽管这里参考附图描述了说明性的实施例,但是应当理解,本发明 不限于这些精确的实施例,并且相关领域的普通技术人员可以在其中实 行各种变化和修改而不脱离本发明的范围或精神。打算将所有这样的变 化和修改包括在所附权利要求中提出的本发明的范围内。
权利要求
1. 一种相对至少一个特定参考图片来编码用于图像块的未压缩的视频信号数据的视频编码器(100),该编码器包括快速搜索块运动估计器(180),该运动估计器用于提供相应于所述至少一个特定参考图片的运动矢量,该运动估计器包括一个快速搜索块匹配部分,该快速搜索块匹配部分用于执行快速搜索块匹配,同时根据所述图像块象素的归一化相对于所述参考图片象素的归一化的比较来排除非最佳搜索点,所述快速搜索块匹配部分具有响应于所述至少一个特定参考图片的输出;和编码装置,用于编码未压缩的视频信号数据和运动估计器的输出之间的差异。
2. 如在权利要求l中定义的视频编码器(100),其中所述快速搜 索块匹配部分包括数据重用部分和逐次消元部分中的至少一个。
3. 如在权利要求l中定义的视频编码器(100),其中所述快速搜 索块匹配部分包括一个数据重用部分,该数据重用部分适于存储当前图 片的归一化、并且当所述当前图片被用作参考图片用于编码另外的图像 块时重用所存储的归一化。
4. 如在权利要求l中定义的视频编码器(100),其中所述快速搜 索块匹配部分包括一个数据重用部分,该数据重用部分适合于存储最小 块尺寸的归一化、并且对于更大的块尺寸重用所存储的归一化。
5. 如在权利要求1中定义的视频编码器(100),其中所述快速搜 索块匹配部分包括绝对差和计算器、方差和计算器、以及均方误差计算 器中的至少一个以用于执行归一化。
6. 如在权利要求l中定义的视频编码器(100),还包括一个与所 述快速搜索块运动估计器(180 )进行信号通信的参考图片贮存器(170 ), 用于提供所迷至少一个特定参考图片和相应的特定参考图片索引。
7. 如在权利要求6中定义的视频编码器(100),还包括一个与所 述参考图片贮存器(170)进行信号通信的可变长度编码器(140),用 于编码相应于该至少一个特定参考图片的特定参考图片索引。
8. 如在权利要求l中定义的视频编码器(100),还包括与所述快 速搜索块运动估计器(180)进行信号通信的运动补偿器(190),用于 响应于所述快速搜索块运动估计器而提供经运动补偿的参考图片。
全文摘要
一种相对至少一个特定参考图片来编码用于图像块的未压缩的视频信号数据的视频编码器(100),该编码器包括快速搜索块运动估计器(180),该运动估计器用于提供相应于所述至少一个特定参考图片的运动矢量,该运动估计器包括一个快速搜索块匹配部分,该快速搜索块匹配部分用于执行快速搜索块匹配,同时根据所述图像块像素的归一化相对于所述参考图片像素的归一化的比较来排除非最佳搜索点,所述快速搜索块匹配部分具有响应于所述至少一个特定参考图片的输出;和编码装置,用于编码未压缩的视频信号数据和运动估计器的输出之间的差异。
文档编号G06F13/12GK101394563SQ200810170018
公开日2009年3月25日 申请日期2004年3月2日 优先权日2003年7月15日
发明者J·M·博伊斯, P·殷 申请人:汤姆森许可公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1