图像处理系统中的运动估计的制作方法

文档序号:7658875阅读:117来源:国知局
专利名称:图像处理系统中的运动估计的制作方法
技术领域
本发明涉及图像处理系统中的运动估计,并尤其涉及使用互相关。

背景技术
特别地,本发明解决了在源图片的一小部分与被取作参考图片的另一图片的对应形状和大小的部分之间搜索最佳匹配的问题。如果源图片部分的形状被限制为取自源图片的16×16像素的正方形宏块,并且参考图片取自同一视频序列中附近的另一位置,则该应用变为在视频压缩处理中通常使用的基于块的运动估计的熟悉问题。
原则上,标准的互相关数学方法可以代替更常用的绝对误差和(SAD)方法而应用于基于块的运动估计问题。
此外,文献中众所周知的是,可以通过二维傅立叶变换来高效地计算非归一化2-D互相关表面。然而,非归一化互相关不能很好地适用于运动估计。


发明内容
本发明的目的是至少改善现有技术中的上述缺点。
根据本发明的第一方面,提供了一种用于图像处理的运动估计器,其被配置成通过使用变换域找出源图片的一部分和参考图片中的搜索区域的一部分之间的二维归一化互相关系数表面的最大值,来找出从参考搜索区域的所述部分到源图片的所述部分的运动矢量。
优选地,该运动估计器还包括连接到运动估计器的第一输入端的算术平均级,其被配置成获得表示源图片的所述部分的元素的第一序列的算数平均值,并从每个元素中减去该算术平均值以形成零均值序列;连接到算术平均级的填充级,其被配置成用零将零均值序列填充到表示参考搜索区域的第二序列的长度以形成填充序列;连接到填充级的第一二维快速傅立叶变换级,其被配置成获得填充序列的傅立叶变换;复共轭级,其被连接到第一二维快速傅立叶变换级,并被配置成形成变换后的填充序列的复共轭。
优选地,该运动估计器还包括第二二维快速傅立叶变换级,其被连接到运动估计器的第二输入端,并被配置成执行第二序列的快速傅立叶变换;乘法级,其被连接到复共轭级和第二二维快速傅立叶变换级,并被配置成将变换后的填充序列的复共轭的元素乘以变换后的第二序列的元素以形成变换后的非归一化互相关;第一二维快速傅立叶逆变换级,其被连接到乘法级,并被配置成形成非归一化互相关;以及量值平方级,其被连接到第一二维快速傅立叶逆变换级,并被配置成求非归一化互相关的元素的量值的平方,以形成平方后的非归一化互相关。
优选地,该运动估计器还包括第二平方级,其被连接到运动估计器的第二输入端,并被配置成求第二序列的元素的平方以形成平方后的搜索区域;第三二维快速傅立叶变换级,其被连接到第二平方级,并被配置成形成平方后的搜索区域的变换;第三乘法级,其被连接到第三二维快速傅立叶变换级,并被配置成与归一化矩阵的傅立叶变换的复共轭相乘以形成平方后的搜索区域的变换后的本地和;以及第三二维快速傅立叶逆变换级,其被连接到第三乘法级,并被配置成形成平方后的搜索区域的本地和。
有利地,该运动估计器还包括连接到第二二维快速傅立叶变换级的第二乘法级,其被配置成将变换后的搜索区域的元素乘以傅立叶变换后的归一化矩阵的复共轭以形成变换后的本地和;第二二维快速傅立叶逆变换级,其被连接到第二乘法级,并被配置成形成每个元素的本地和;第一平方级,其被连接到第二二维快速傅立叶逆变换级,并被配置成求本地和的平方以形成平方后的本地和;除法器级,其被连接到第一平方级,并被配置成将平方后的本地和除以第一序列中的元素个数以形成成比例的平方后的本地和;减法级,其被连接到除法器级和第三二维快速傅立叶逆变换级,并被配置成从平方后的搜索区域的本地和中减去成比例的平方后的本地和,以形成归一化互相关系数的平方后的归一化因子。
便利地,该运动估计器还包括第二除法器级,其被连接到减法级和量值平方级,并被配置成将平方后的非归一化互相关因子除以平方后的归一化因子以形成归一化互相关系数的平方并将其输出到求最大值级,该求最大值级被配置成求归一化互相关系数的最大值以为源宏块找出最佳运动矢量。
有利地,该运动估计器适用于具有隔行扫描图场(interlaced field)的视频信号,在隔行扫描图场中,图场分别作为实部和虚部被并行地处理。
便利地,该运动估计器还包括连接到第一输入端的第一分割图场级,其被配置成将第一序列分割成分别表示第一和第二隔行扫描图场的两个序列和上述的并行流,用于分别计算每个图场的归一化互相关系数的分子。
根据本发明的第二方面,提供了一种用于图像处理的运动估计的方法,该方法包括如下步骤通过使用变换域找出源图片的一部分和参考图片中的搜索区域的一部分之间的二维归一化互相关系数的最大值,来找出从参考搜索区域的所述部分到源图片的所述部分的运动矢量。
优选地,该方法还包括如下步骤形成表示源图片的所述部分的元素的第一序列;获得所述元素的算数平均值,并从每个元素中减去该算术平均值以形成零均值序列;用零将零均值序列填充到表示参考搜索区域的第二序列的长度以给出填充序列;执行填充序列的二维快速傅立叶变换以形成变换后的填充序列;形成变换后的填充序列的复共轭。
有利地,该方法还包括如下步骤执行第二序列的二维快速傅立叶变换;将变换后的填充序列的复共轭的元素乘以变换后的第二序列的元素以形成变换后的非归一化互相关系数;通过变换后的非归一化互相关系数的逆变换形成非归一化互相关;求变换后的非归一化互相关的平方,以形成平方后的变换后的非归一化互相关系数。
便利地,该方法还包括如下步骤求第二序列的元素的平方以形成平方后的搜索区域;形成平方后的搜索区域的二维快速傅立叶变换以形成变换后的平方后的搜索区域;与归一化矩阵的傅立叶变换的复共轭相乘以形成平方后的搜索区域的变换后的本地和;执行平方后的搜索区域的变换后的本地和的二维傅立叶逆变换以形成平方后的搜索区域的本地和。
有利地,该方法还包括如下步骤通过将傅立叶变换后的搜索区域的元素乘以傅立叶变换后的归一化矩阵的复共轭以形成变换后的本地和,来将傅立叶变换后的搜索区域归一化;执行变换后的本地平均值的二维傅立叶逆变换以形成每个元素的本地和;求本地和的元素的平方以形成平方后的本地和;将平方后的本地和除以第一序列中的元素个数以形成成比例的平方后的本地和;从平方后的搜索区域的本地和中减去成比例的平方后的本地和,以形成归一化互相关系数的平方后的归一化因子。
便利地,该方法还包括将平方后的非归一化互相关因子除以平方后的归一化因子以形成归一化互相关系数的平方,并求归一化互相关系数的最大值以为源宏块找出最佳运动矢量。
有利地,对于具有隔行扫描图场的视频信号,图场分别作为实部和虚部被并行地处理。
根据本发明的第三方面,提供了一种包括代码装置的计算机程序,代码装置用于在程序在一个或多个计算机上运行时执行上述方法的所有步骤。



现在将参考附图,以举例的方式对本发明进行描述。在附图中 图1是源图片和参考图片的块匹配的示意图,该示意图有助于理解本发明; 图2是相同长度序列的匹配的图示,该图示有助于理解本发明; 图3是不同长度序列的匹配的图示,该图示有助于理解本发明; 图4是如本发明中使用的用于匹配不同长度序列的归一化的使用的图示; 图5是根据本发明的运动估计器的第一实施例的示意图; 图6是比参考图片的搜索区域小的源图片的部分之间的简化的傅立叶变换的示意图,该示意图有助于理解本发明的实施例;并且 图7是根据本发明的运动估计器的第二实施例的示意图,该第二实施例适合于隔行扫描视频信号。
在附图中,相同的附图标记表示相同的部分。

具体实施例方式 在本发明中,描述了一种基于本地归一化互相关系数的匹配标准。公开了一种用于计算该标准的变换域方法和通过归一化二维互相关系数在运动估计过程中执行该计算的设备,以及变换序列中的一些优化,这些优化减小了计算负担。
对于本文中提供的方法,源图片的所选部分的形状是任意的。即,本发明可以适用于任意形状的部分,但是将用正方形宏块来描述本发明,而并不失其一般性。
图1显示出这样的方案。源图像10中的源宏块11(其是16×16像素的阵列),将从参考图像14的搜索窗口15中的最佳匹配区域13通过运动矢量12而被预测出来。
匹配标准 在文献中,归一化互相关系数被通常使用以描述两个数列的相关程度。图2通过图显示出两个这样的数列21、22以及它们的平均值,这些平均值分别用虚线23、24示出。出于简化该描述的目的,该实例是一维的,并且可以在不失一般性的情况下扩展到二维或更多维。
两个1维L元素的实数离散时间序列P={p1,p2,...,p15}和Q={q1,q2,...,q15}之间的归一化互相关系数被定义为 等式1 其中

是P的平均值,其由等式2给出 等式2 并且类似地,

是Q的平均值,其由等式3给出 等式3 从每个元素中减去各自数列的平均值的效果是使合成数列的平均值为0。那么,两个零均值数列之间的互相关系数被描述为数列的元素乘积的和除以每个数列的元素平方的和的乘积的平方根。
归一化互相关系数具有一个有意思的性质如果一个零均值数列是另一个零均值数列的正的成比例的版本时,其值为1;如果一个零均值数列是另一个零均值数列的负的成比例的版本时,其值为-1;否则其位于-1和1之间,其中0指示完全不相关。
数列的匹配部分 上述实例示出了两个序列长度相同的情况。在用于图像压缩的块匹配情形下,情况通常不是如此,所以现在考虑P具有M个元素并且长度比Q长的匹配问题。序列Q可能用零填充到与P相同的长度,并如前所述计算互相关。通过移动填充的位置,可以考虑可选的匹配位置。
对于匹配位置i∈{0,1,2,...,M-L},这在数学上被描述为 等式4 其中

是P的平均值,其由等式5给出 等式5 并且类似地,

是填充数列Q的平均值,其由等式6给出 等式6 从图3与图2的比较可以看出,在Q上填充零以及在较小程度上用更多的数据扩展P的效果,会移动每个数列的各自的平均值23’、24’。这改变了零均值数列(用垂直箭头表示),使得两个数列不再看起来相似,并且其效果是减小互相关系数从而使该方法不能非常好地适用。下部的两个图31、32显示出数列Q的移动以便有差别地与数列P对齐。
本地归一化互相关 不是计算填充零后的序列的平均值,而是计算原始的非归一化序列Q的平均值,并在填充零之前从每个元素中减去该平均值。在每个点处,仅对与Q的非填充元素相关的元素计算P的平均值。这意味着

现在对于i的每个值是不同的,用

表示,由如下等式给出 等式7 这允许将一维匹配标准定义为由下面的等式给出的本地归一化互相关系数在i∈{0,1,2,...,M-L}范围内的最大值。
等式8 图4通过图显示出了这种情况。本地平均值

在匹配位置之间改变,但是最佳匹配不再被弱化。
扩展到多于一维 扩展到二维是直接了当的。设R={rx,y}为参考图像,并且S={sx,y}为16×16像素大小的源宏块。二维归一化互相关系数可以计算如下 等式9 其中 等式10 即源宏块的均值,并且 等式11 即在该位置上与源宏块比较的参考图像的区域的平均值。
由于S表示我们正在为其寻找匹配的源宏块,并且R表示(较大的)参考搜索区域,那么,显然的是,如果可以计算出归一化互相关表面C,则在该表面内对最大的ci,j的(无遗漏的)搜索,将用运动矢量[i,j]提供根据该标准的最接近匹配的位置。不幸的是,直接进行计算的代价昂贵得令人却步。
可以计算二维零均值宏块。这只需被计算一次,而不管搜索窗口15的大小如何,并且不会对整个负担做出显著贡献,需要255次加法来计算平均值,256次减法来形成零均值源宏块。然后需要256次乘法和255次加法来形成分母中的项。
考虑搜索窗口15为256×128,并且宏块13为16×16的情况,则必需对0≤i≤240并且0≤j≤112计算ci,j的值。那将是27,233个元素。
每个元素需要255次加法来计算

256次减法来计算

256次乘法和255次加法来获得等式9的分子,还需要256次乘法和255次加法来形成项。
所以总的计算负担是 255+256+255+27233*(255+256+255+255)=27,805,659次加法,256+27233*(256+256+1)=13,970,785次乘法和27,233次平方根。在实践中,可能会选择按照平方后的归一化互相关来匹配,这意味着在顶行上使用额外的27,233次乘法来求它的平方,来代替底行上的平方根。
在需要该处理的典型应用中,在下一个宏块到达前,仅有24微秒可用来处理每个宏块,这意味着必需每秒钟执行1.123E12次加法和6.125E11次乘法,这在经济上是不可行的并且在实践上有挑战性。实用的解决方案需要不同的方法。
用于在变换域中计算匹配标准的方法 以下描述的方法和设备实现了完成上述分析所需的计算。优于现有技术的优点在于它减小了已发展的匹配标准的计算负担,使得它可以实用地和高效地被实现。
二维循环卷积 考虑两个长度相等的一维离散时间数列P={P0,p1,…,PL-1}和Q={q0,q1,…,qL-1}。这两个数列是循环的,即,p-1≡PL-1,p2≡PL-2等,同样,Q的元素也是如此。
循环卷积 A={a0,a1,…,aL-1}=PQ由下式给出 等式12 由于该数列在L个样本上是循环的,所以 等式13 现在考虑P和时间反转数列Q′,其中Q′={q0,q-1,q-2,...,q1-L}={q0,qL-1,qL-2,...,q1}={q0′,q1′,...,qL-1′}。
B={b0,b1,…,bL-1}=PQ′由下式给出 等式14 在该结果和计算归一化互相关系数所需的等式8的分子之间有着显著的相似性。
时域中的卷积可以通过诸如由离散傅立叶变换提供的变换域中的乘法来执行,这是教科书上的结论。应用卷积定理

等式15 其中

是P的离散傅立叶变换,并且

是P的离散傅立叶逆变换。
由于Q’是Q的时间反转版本,所以它们通过傅立叶变换的复共轭而相关,所以

等式16 因此,

等式17 等式17的结果对于二维数列也同样成立。
由于这些是离散时间数列,所以可以采用快速傅立叶变换(FFT)算法。对于大小为2的幂值的L,基2FFT可以通过使用log2L趟(pass)计算来执行,每趟计算包括L/2次复数乘法,其中每次复数乘法需要4次实数乘法和加法,这是已知的结论。
通过使用二维离散傅立叶变换和二维循环卷积,等式15扩展到二维。KxL(二者都是2的幂值)像素的图像的二维DFT,可以通过在执行L次长度为K的FFT后执行K次长度为L的FFT来实现。
因此,256*128的区域的2-D DFT需要(256*64*7+128*128*8)*4=983,040次加法和乘法。
根据循环卷积的归一化本地互相关 至此,已经基于由等式8给出的最大互相关系数定义了一维的匹配标准,并基于由等式9给出的最大互相关系数定义了二维的匹配标准,显示出在二维情况下,为了有用搜索区域的实时运动估计器的目的,通过直接方式来进行计算是不实际的。
在等式8的分子和两个数列的卷积之间也显示出了相似性,并且已被声称的是这可以通过快速傅立叶变换来高效地计算,其证明是众所周知的并且可以从文献中找到。对分子进行计算的理论基础 考虑等式8的分子 等式18 这是一个重要的结果。如果

已根据等式3计算出,那么所有的

项都被抵消,所以根本不需要全部计算它们。通过根据频域乘法来考虑时域卷积(如果一个DC项为0,则不管其它DC项是什么,它们的乘积必定是0),这也是显而易见的。
现在将P的长度增加到L个样本,并在首先除去前16个元素的平均值后将Q填充到L个样本。因此 P={p0,p1,…,pL-1}并且 考虑等式14的循环卷积的结果,由于Q被填充上0,所以我们获得 等式19 因此,在0≤i≤L-16的情况下,卷积是循环的事实并不影响卷积结果的有效性。在这些限制以外是一边界条件,卷积结果对于该边界条件是无效的。
分母计算的理论基础 直接计算等式8的分母中找到的项

是非常昂贵的,因为并且在每个点上都不相同。然而, 等式20 这是序列的统计方差的熟悉结果。
我们定义数列并观察出 等式21 和 等式22 其中 这提供了高效计算等式8中的所有互相关系数的基础。


等式23 在二维情况下,我们获得

等式24 其中

是常数矩阵,所以计算等式24需要三次正向变换和三次逆向傅立叶变换。对于256×128的搜索区域,这些变换中的每个可以通过使用983,040次加法和乘法来执行。总的计算负担大约是每个宏块需要6E6次加法和乘法,与需要2.7E7次加法和1.35E7次乘法的直接计算相比,这是相当大的节省。
用于计算的设备 上述数学考虑已经显示出,归一化互相关系数是一个有用的标准,根据该标准,图像的一个区域可能与另一个区域相匹配。此外,我们已经显示出,互相关系数可以通过三次二维正向和逆向傅立叶变换而被更高效地计算。
图5显示出根据本发明的一个实施例的运动估计器50。
均值扣除级112具有输入111和提供给零填充级113的输出。零填充级的输出被输入给第一2D快速傅立叶变换级114,该第一2D快速傅立叶变换级114向复共轭级115提供输出,复共轭级115具有提供给第一元素对元素乘法级123的第一输入的输出。
运动估计器50的第二输入121被提供给第二2D快速傅立叶变换级122,该第二2D快速傅立叶变换级122具有提供给第一元素对元素乘法级123的第二输入的输出。第一元素对元素乘法级123具有提供给第一2D快速傅立叶逆变换级124的输出,第一2D快速傅立叶逆变换级124向第一逐元素平方级125提供输出,第一逐元素平方级125具有提供给元素对元素相除级147的第一输入的输出。
运动估计器50的第三输入131被提供给第二元素对元素相乘级132的第一输入,第二元素对元素相乘级132具有来自第二2D快速傅立叶变换级122的输出的第二输入。第二元素对元素相乘级132的输出被提供给第二2D快速傅立叶逆变换级133,该第二2D快速傅立叶逆变换级133具有提供给第二逐元素平方级134的输出。除以256级135具有来自第二逐元素平方级134的输入,以及提供给元素对元素相减级146的第二输入的输出。
与第二2D快速傅立叶变换级122并行,第二输入121也被提供给第三逐元素平方级142,该第三逐元素平方级142具有提供给第三2D快速傅立叶变换级143的输出。第三元素对元素乘法级144具有来自第三2D快速傅立叶变换级143的输入,运动估计器50的第四输入141,以及提供给第三2D快速傅立叶逆变换级145的输出。第三2D快速傅立叶逆变换级145具有提供给元素对元素相减级146的第二输入的输出。元素对元素相除级147具有来自元素对元素相减级146的第二输入,以及提供给求最大值引擎148的输出,求最大值引擎148具有运动估计器50的输出248。
在使用中,在运动估计器50的第一输入111处引入源宏块sx,y,并且源宏块sx,y经过均值扣除级112以给出零均值宏块

然后将其填充上零以给出与在运动估计器50的第二输入121处引入的参考搜索区域R具有相同大小的填充后的宏块213。填充后的宏块213和参考搜索区域R这二者然后分别经历各自的二维(快速)离散傅立叶变换以给出变换后的宏块

和变换后的搜索区域

变换后的宏块214经历复共轭运算,然后将结果

与变换后的参考搜索区域

元素对元素地相乘以给出变换后的非归一化互相关
变换后的参考搜索区域

也经历与在运动估计器50的第三输入131处输入的变换后的归一化矩阵的共轭

进行的元素对元素相乘,并且对所产生的变换后的本地和

进行逆变换以给出每个点处的本地和

将其逐元素平方以给出平方后的本地和

然后将其除以162以给出成比例的平方后的本地和
在运动估计器50的第二输入121处输入的参考搜索区域R也被逐元素平方以产生平方后的参考搜索区域R2242,并且对其进行快速傅立叶变换以给出变换后的平方后的参考搜索区域

然后将其乘以在运动估计器50的第四输入141处输入的变换后的归一化矩阵

以给出平方后的参考搜索区域R2的变换后的本地和

然后对这些进行逆变换以给出平方后的参考搜索区域R2的本地和

从其中减去成比例的平方后的本地和

以给出平方后的归一化因子
对变换后的非归一化互相关

进行逆变换以给出非归一化互相关

将其逐元素平方以给出平方后的非归一化互相关

并且将其除以平方后的归一化因子

以给出平方后的归一化互相关

需要注意的是,这与等式24的归一化互相关因子的(量值)平方由于因子

(该因子是与搜索区域无关的给定源宏块的常量)而不同,并且该表达式因此可以用于找出最大值以获得最佳匹配运动矢量。该表达式被输入到求最大值引擎148,并且作为结果而产生的最佳评分及相应的运动矢量在输出248处被产生。
扩展和优化 上述方法和设备可以进一步如下所述得到改进以提供计算负担的进一步减小。
高效的宏块变换 填充后的宏块仅在前几个行和列中具有非零项。因此,如果二维FFT按照在水平变换后进行垂直变换的方式执行,则实际上仅需进行少数水平变换,因为剩余的行都是零。此外,在垂直变换中,并非所有FFT的趟都需要完全执行,尤其是在较早的级中,因为许多元素是零。
图6示出了简化变换的概念。左侧61显示了参考区域R(16×8像素的区域)的二维快速傅立叶变换。这需要执行八次水平变换62,在八行的每一行上执行一次,每次水平变换包括四趟八个蝶形,其后进行十六次垂直变换63,每次垂直变换包括三趟四个蝶形。右侧65显示了从源宏块S(大小为2×2像素)成为与R具有相同大小的区域的简化变换。该变换现在仅需要2次水平变换67,每次水平变换包括1趟2个蝶形、1趟4个蝶形和2趟8个蝶形,其后进行16次垂直变换68,每次垂直变换包括1趟2个蝶形和2趟4个蝶形。用蝶形计算的R变换的总负担为8*4*8+16*3*4=448个蝶形。S变换的总负担为2*(2+4+8+8)+16*(2+4+4)=204个蝶形。
将这种情况按比例扩大到实际情况,如果R在水平方向上是256像素并且在垂直方向上是128像素,S是16×16像素,那么用蝶形计算的R变换的总负担为(128行)*(8趟)*(128个蝶形)+(256列)*(7趟)*(64个蝶形)=245,760个蝶形。S变换需要(16行)*(16+32+64+128*5个蝶形)+(256行)*(16+32+5*64个蝶形)=106,240个蝶形。
通过实部和虚部的图场分离 由于隔行扫描视频的普遍使用,通常期望找出宏块的图场和图像中的图场之间的匹配的评分、然后将这些评分结合起来以提供整个宏块的评分。存在着一种高效的用于计算的方法,其也减轻了整个引擎的计算负担。
将傅立叶变换应用于复数数列。所以,在该实施例中,搜索区域中的偶图场线被编码为实部,并且奇图场线被编码为虚部。将R的第一图场线编码为实部并将第二图场编码为虚部,减小了R变换的负担,这是因为提供给变换的行的数目减半。现在需要(64行)*(8趟)*(128个蝶形)+(256列)*(6趟)*(32个蝶形)=114,688个蝶形。
源宏块的两个图场被分别变换。使用上述的高效变换,每一个变换现在需要(8行)*(16+32+64+128*5个蝶形)+(256行)*(8+16+4*32个蝶形)=44,928个蝶形。这样2个S变换的总负担为89,856个蝶形。
图7显示出包括该扩展的运动估计器的实施例70。
第一分割图场级710具有运动估计器70的第一输入311,以及提供给并行的均值扣除级312、512的两个输出,均值扣除级312、512具有提供给并行的零填充级313、513的输出。零填充级313、513的输出被输入到并行的第一2D快速傅立叶变换级314、514,第一2D快速傅立叶变换级314、514向并行的复共轭级315、515提供输出,复共轭级315、515分别向并行的第一元素对元素乘法级323、523的第一输入提供输出。
运动估计器70的第二输入321被提供给第二分割图场级720,第二分割图场级720具有提供给第一级740的两个输出,其中第一级740用于在将第一输入加到第二输入中之前将第一输入乘以(如图所示),然而在实践中顶部和底部的搜索图场分别被输入到第二快速傅立叶变换级322的实部和虚部输入,第二快速傅立叶变换级322具有提供给第一对并行的元素对元素乘法级323、523的第二输入的输出。元素对元素乘法级323、523的第一并行对具有提供给2D快速傅立叶逆变换级324、524的第一并行对的输出,2D快速傅立叶逆变换级324、524向逐元素平方级325、525的第一并行对提供输出,逐元素平方级325、525具有提供给并行的元素对元素相除级347、357的第一输入的输出。
运动估计器70的第三输入331被提供给第二对并行的元素对元素相乘级332、532的第一输入,元素对元素相乘级332、532具有来自第二对并行的2D快速傅立叶变换级322、522的输出的第二输入。第二对并行的元素对元素相乘级332、532的输出被提供给2D快速傅立叶逆变换级333、533的第二并行对,2D快速傅立叶逆变换级333、533具有分别提供给第二逐元素平方级334和元素对元素相减级346的第二输入的输出。除以128级335分别具有来自第二逐元素平方级334的输入,和提供给元素对元素相减级346的第一输入的输出。
与第二分割图场级720并行,运动估计器70的第二输入321也被提供给第三逐元素平方级342,其具有提供给第三分割图场级730的输出,第三分割图场级730具有提供给第二级750的两个输出,其中第二级750用于在将第一输入加到第二输入中之前将第一输入乘以(如图所示),然而在实践中平方后的顶部和底部搜索图场被分别输入到第二对并行的2D快速傅立叶变换级522之一的实部和虚部输入。并行的元素对元素相除级347、547具有来自元素对元素相减级346的第一输入,和提供给并行的求最大值引擎348、548的输出,求最大值引擎348、548具有运动估计器70的并行输出448、648。
来自元素对元素相减级346的输出还被输入到将实部加到虚部级760,其输出被输入到第二元素对元素相除级747的一个输入。来自并行的逐元素平方级325、525的输出被提供给第二实部与虚部相加级770。第二将实部加到虚部级770的输出被输入到元素对元素除法器747的第二输入。元素对元素除法器747的输出被提供给第三求最大值引擎748,第三求最大值引擎748具有作为如下所述的整体匹配标准的近似的运动估计器70的输出848。
在使用中,在运动估计器70的第一输入311处输入的16×16像素源宏块,被分割成两个16×8的图场,即宏块的顶部图场810和宏块的底部图场811。它们分别经历均值扣除以给出宏块的零均值顶部图场412和宏块的零均值底部图场612。然后它们经历填充到大小X×Y/2(其中X是搜索区域的水平尺寸,Y是垂直尺寸)以给出填充后的宏块顶部图场413和填充后的宏块底部图场613。它们经历2D FFT以给出变换后的宏块顶部图场414和变换后的宏块底部图场614,然后经历复共轭运算以给出变换后的宏块顶部图场的共轭415和变换后的宏块底部图场的共轭615。
在运动估计器70的第二输入321处输入的参考搜索区域(大小为X×Y像素),被分割成顶部搜索图场820和底部搜索图场821,每一个的大小为X×Y/2像素。底部搜索图场821被示出为乘以然后被加到顶部搜索图场820以给出大小为X×Y/2像素的复数搜索图片840。在实践中,顶部和底部搜索图场分别被输入到2D FFT级的实部和虚部输入以给出变换后的复数搜索图片422,它被逐元素与宏块的变换后的图场的共轭415、615相乘,以给出变换后的非归一化复数顶部图场相关423和变换后的非归一化复数底部图场相关623。它们经历2-D逆FFT以给出非归一化复数顶部图场相关424和非归一化复数底部图场相关624。
非归一化复数顶部图场相关424的实部表示宏块的顶部图场810和搜索区域的顶部图场820之间的匹配。非归一化复数顶部图场相关624的底部部分表示宏块的顶部图场810和搜索区域的底部图场821之间的匹配。相似地,非归一化复数底部图场相关624的实部表示宏块的底部图场811和搜索区域的顶部图场820之间的匹配。非归一化复数底部图场相关624的底部部分表示宏块的底部图场811和搜索区域的底部图场821之间的匹配。非归一化复数图场相关424、624分别经历实系数和虚系数的逐元素的平方,从而给出平方后的非归一化复数顶部图场相关425和平方后的非归一化复数底部图场相关625。
在第二输入321处输入的(实)搜索区域经历逐元素的平方以给出平方后的搜索区域442。然后将其分割成顶部平方后的搜索顶部图场830和平方后的搜索底部图场831。平方后的搜索底部图场831然后被示出为乘以并被加到平方后的搜索顶部图场830,以给出复平方搜索区域850。在实践中,平方后的顶部搜索图场和平方后的底部搜索图场分别被输入到2-D FFT级的实部和虚部输入,以给出变换后的复平方搜索区域622。变换后的复数搜索区域422和变换后的复平方搜索区域622都逐元素与在第三输入331处输入的变换后的归一化矩阵相乘。变换后的归一化矩阵是一个图像(该图像在宏块的填充后的顶部图场的非填充区域具有1、并在其它区域具有0)的2-D FFT,即,变换后的归一化矩阵是一个阵列(该阵列的大小为X×Y/2像素,在左上部的16×8的矩形中为1、并在其它区域中为0)的2-D FFT。未变换的归一化矩阵的虚部全部为零。在该相乘之后,通过2-D IFFT对复数搜索区域的变换后的本地和432和复平方搜索区域的变换后的本地和632进行逆变换,以给出复数搜索区域的本地和433和平方后的复数搜索区域的本地和633。复数搜索区域的本地和433然后经历实系数和虚系数的平方,以给出复数搜索区域434的平方后的本地和。然后将其除以128以给出复数搜索区域的成比例的平方后的本地和435。将其从复平方搜索区域的本地和633中减去以给出平方后的复数归一化矩阵446。平方后的非归一化复数顶部图场相关425和平方后的非归一化复数底部图场相关625的实部,逐元素除以平方后的复数归一化矩阵446的实部,并且相似地,虚部也进行相除,从而给出平方后的复数顶部图场相关447和平方后的复数底部图场相关647。
平方后的顶部图场相关447的实部是宏块的顶部图场810与搜索区域的顶部图场820的本地归一化互相关。平方后的顶部图场相关447的虚部是宏块的顶部图场810与搜索区域的底部图场821的本地归一化互相关。平方后的底部图场相关647的实部是宏块的底部图场811与搜索区域的顶部图场820的本地归一化互相关。平方后的顶部图场相关447的虚部是宏块的底部图场811与搜索区域的底部图场821的本地归一化互相关。求出这些结果的最大值以返回宏块的顶部图场的最佳匹配448和宏块的底部图场的最佳匹配648。
此外,可以将非归一化结果加起来,取来自平方后的非归一化顶部图场相关425的实部加上平方后的非归一化复数底部图场相关625的相应的虚部而得到的返回值作为实部,并且还取来自平方后的非归一化顶部图场相关425的虚部加上平方后的非归一化复数底部图场相关625的相应的实部而得到的返回值作为虚部,来给出非归一化的整体宏块相关的复数近似值870。注意,其中的“相应的”并不一定是指“位于同一地点”,这是因为在这些加法运算的后者中,由于空间的考虑必须允许顶部图场的偏移。
复平方归一化矩阵446也可以将其实部和虚部加起来(把返回值作为实部),从而给出整体归一化的近似值860。然后可以将非归一化整体宏块相关的近似值870除以整体归一化的近似值860,以给出整体的本地归一化的平方后的互相关的复数近似值847,可以求其最大值来产生整个宏块的最佳匹配848。
还有若干种获得整体相关结果的近似值的相似但不同的方式。例如,我们可以在2-D IFFT运算后立即将结果424、624、433、633结合起来,但是这将需要更多的加法单元来计算结合的归一化。
在本应用中,我们公开了 ■基于归一化互相关系数的用于最佳匹配区域的匹配标准, ■用于计算匹配标准的高效的变换域方法,以及 ■通过变换域方法(该方法可以以计算机程序或专用逻辑的形式实施)找出根据匹配标准的最佳匹配的设备。
与使用所述的归一化相关系数的匹配相关的关键优点包括,优于更常用的绝对误差和方法的改善的性能。该方法对于图像的亮度级的线性变换也是不变的,并因此在处理发生衰退成黑色和从黑色衰退的图像时,或者在图像受到瞬时闪现效应影响时,该方法特别有用。这两种情况在派生运动矢量的现有方法中都是难以解决的。
权利要求
1.一种用于图像处理的运动估计器,其被配置成通过使用变换域找出源图片的一部分和参考图片中的搜索区域的一部分之间的二维归一化互相关表面的最大值,来找出从参考搜索区域的所述部分到源图片的所述部分的运动矢量。
2.如权利要求1所述的运动估计器,包括
a.连接到所述运动估计器的第一输入端的算术平均级,其被配置成获得表示所述源图片的所述部分的元素的第一序列的算数平均值,并从每个元素中减去所述算术平均值以形成零均值序列;
b.连接到所述算术平均级的填充级,其被配置成用零将所述零均值序列填充到表示所述参考搜索区域的第二序列的长度以形成填充序列;
c.连接到所述填充级的第一二维快速傅立叶变换级,其被配置成获得所述填充序列的傅立叶变换;以及
d.复共轭级,其被连接到所述第一二维快速傅立叶变换级,并被配置成形成变换后的填充序列的复共轭。
3.如权利要求2所述的运动估计器,进一步包括
a.第二二维快速傅立叶变换级,其被连接到所述运动估计器的第二输入端,并被配置成执行所述第二序列的快速傅立叶变换;
b.乘法级,其被连接到所述复共轭级和所述第二二维快速傅立叶变换级,并被配置成将所述变换后的填充序列的复共轭的元素乘以变换后的第二序列的元素以形成变换后的非归一化互相关;
c.第一二维快速傅立叶逆变换级,其被连接到所述乘法级,并被配置成形成非归一化互相关;以及
d.量值平方级,其被连接到所述第一二维快速傅立叶逆变换级,并被配置成求所述非归一化互相关的元素的量值的平方,以形成量值平方后的非归一化互相关表面。
4.如权利要求1所述的运动估计器,进一步包括
a.第二平方级,其被连接到所述运动估计器的第二输入端,并被配置成求所述第二序列的元素的平方以形成平方后的搜索区域;
b.第三二维快速傅立叶变换级,其被连接到所述第二平方级,并被配置成形成所述平方后的搜索区域的变换;
c.第三乘法级,其被连接到所述第三二维快速傅立叶变换级,并被配置成与归一化矩阵的傅立叶变换的复共轭相乘以形成所述平方后的搜索区域的变换后的本地和;以及
d.第三二维快速傅立叶逆变换级,其被连接到所述第三乘法级,并被配置成形成所述平方后的搜索区域的本地和。
5.如权利要求3所述的运动估计器,进一步包括
a.连接到所述第二二维快速傅立叶变换级的第二乘法级,其被配置成将所述变换后的搜索区域的元素乘以傅立叶变换后的归一化矩阵的复共轭以形成变换后的本地和;
b.第二二维快速傅立叶逆变换级,其被连接到所述第二乘法级,并被配置成形成每个元素的本地和;
c.第一平方级,其被连接到所述第二二维快速傅立叶逆变换级,并被配置成求所述本地和的平方以形成平方后的本地和;
d.除法器级,其被连接到所述第一平方级,并被配置成将所述平方后的本地和除以所述第一序列中的元素个数以形成成比例的平方后的本地和;
e.减法级,其被连接到所述除法器级和第三二维快速傅立叶逆变换级,并被配置成从所述平方后的搜索区域的本地和中减去所述成比例的平方后的本地和,以形成归一化互相关系数的平方后的归一化因子。
6.如权利要求5所述的运动估计器,进一步包括第二除法器级,所述第二除法器级被连接到所述减法级和所述量值平方级,并被配置成将平方后的非归一化相关因子除以平方后的归一化因子以形成归一化互相关系数的平方并将其输出到求最大值级,所述求最大值级被配置成求所述归一化互相关系数的最大值以为源宏块找出最佳运动矢量。
7.如权利要求1所述的运动估计器,其适用于具有隔行扫描图场的视频信号,在所述隔行扫描图场中,图场分别作为实部和虚部被并行地处理。
8.如权利要求7所述的运动估计器,包括第一分割图场级,所述第一分割图场级被连接到所述第一输入端,并被配置成将所述第一序列分割成分别表示第一和第二隔行扫描图场的两个序列和如权利要求1至3中所述的并行流,用于分别计算每个图场的归一化互相关系数的分子。
9.一种用于图像处理的运动估计的方法,包括以下步骤通过使用变换域找出源图片的一部分和参考图片中的搜索区域的一部分之间的二维归一化互相关系数的最大值,来找出从参考搜索区域的所述部分到源图片的所述部分的运动矢量。
10.如权利要求9所述的方法,包括以下步骤
a.形成表示所述源图片的所述部分的元素的第一序列;
b.获得所述元素的算数平均值,并从每个元素中减去所述算术平均值以形成零均值序列;
c.用零将所述零均值序列填充到表示所述参考搜索区域的第二序列的长度以给出填充序列;
d.执行所述填充序列的二维快速傅立叶变换以形成变换后的填充序列;
e.形成所述变换后的填充序列的复共轭。
11.如权利要求10所述的方法,进一步包括以下步骤
a.执行所述第二序列的二维快速傅立叶变换;
b.将所述变换后的填充序列的复共轭的元素乘以变换后的第二序列的元素以形成变换后的非归一化互相关系数;
c.通过所述变换后的非归一化互相关系数的逆变换形成非归一化互相关;
d.求所述变换后的非归一化互相关的平方,以形成平方后的变换后的非归一化互相关系数。
12.如权利要求9所述的方法,进一步包括以下步骤
a.求所述第二序列的元素的平方以形成平方后的搜索区域;
b.形成所述平方后的搜索区域的二维快速傅立叶变换以形成变换后的平方后的搜索区域;
c.与归一化矩阵的傅立叶变换的复共轭相乘以形成所述平方后的搜索区域的变换后的本地和;
d.执行所述平方后的搜索区域的变换后的本地和的二维傅立叶逆变换以形成所述平方后的搜索区域的本地和。
13.如权利要求11所述的方法,进一步包括以下步骤
a.通过将傅立叶变换后的搜索区域的元素乘以傅立叶变换后的归一化矩阵的复共轭以形成变换后的本地和,来将傅立叶变换后的搜索区域归一化;
b.执行变换后的本地平均值的二维傅立叶逆变换以形成每个元素的本地和;
c.求所述本地和的元素的平方以形成平方后的本地和;
d.将所述平方后的本地和除以所述第一序列中的元素个数以形成成比例的平方后的本地和;
e.从所述平方后的搜索区域的本地和中减去所述成比例的平方后的本地和,以形成归一化互相关系数的平方后的归一化因子。
14.如权利要求13所述的方法,包括将平方后的非归一化相关因子除以平方后的归一化因子以形成归一化互相关系数的平方,并求所述归一化互相关系数的最大值以为源宏块找出最佳运动矢量。
15.如权利要求9所述的方法,用于具有隔行扫描图场的视频信号,在所述隔行扫描图场中,图场分别作为实部和虚部被并行地处理。
16.一种包括代码装置的计算机程序,所述代码装置用于在所述程序在一个或多个计算机上运行时执行如权利要求9至15中的任一项所述的方法的所有步骤。
全文摘要
本发明公开了一种用于图像处理的运动估计器50,其通过使用变换域找出源图片中的源宏块和参考图片中的搜索区域的一部分之间的二维归一化互相关表面的最大值,来找出从参考搜索区域到源宏块的运动矢量。
文档编号H04N7/26GK101106720SQ20071013622
公开日2008年1月16日 申请日期2007年7月11日 优先权日2006年7月11日
发明者A·博克, A·R·哈盖特 申请人:泰德广播电视公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1