运动估计方法和装置的制作方法

文档序号:7586941阅读:100来源:国知局
专利名称:运动估计方法和装置的制作方法
技术领域
本发明涉及图像处理领域,更具体地涉及ー种运动估计方法和装置。
背景技术
在视频压缩中,为了更好地去除视频信息的冗余,达到在保持视频质量的同时尽可能提高压缩比的目的,广泛采用了预测编码和变换编码相结合的基于块的混合编码方法。其中,通过变换编码可以将空域图像映射为频域系数从而有效地去除像素间的空间相关性,通过基于运动估计和运动补偿的预测编码可以充分利用相邻帧间的时间相关性来获得较好的压缩性能。 由于块匹配具有较低的硬件复杂度,因此几乎所有的编解码电路的物理组合都把块匹配用于运动估计。为了得到最小的预测误差,在诸如H. 264/AVC之类的标准中进行帧间预测时一般采用可变块尺寸模式对每个划分的子块进行运动估计和运动补偿,以得到最佳的匹配块,从而提高压缩效率。在H. 264/AVC的多模式运动估计中,一个16X16的宏块(MB)可以划分为若干个子块。如图I所示,宏块分割模式包括16X16、16X8、8X16、以及8X8 ;并且对于8X8子块,可以进ー步划分成8X4、4X8、4X4块模式。在目前的视频编码器中,大多使用基于菱形捜索的运动估计方法或者基于以8X8子块为基本単位的宏块搜索的运动估计方法来完成对于每个宏块的运动估计。基于菱形捜索的运动估计方法存在三个问题A)循环搜索的处理周期不固定,有可能无法在用于ー个MB的有限周期中确定该MB的宏块分割模式以及分割出的每个子块的运动矢量;B)菱形捜索可以在小区域中得到最佳结果,但是不能在整个搜索范围中得到最佳结果;C)该方法首先判断整个MB的MV,然后将MB的MV设置为搜索中心,判断每个子块的MV,这个过程比较费时。基于以8X8子块为基本単位的宏块搜索的运动估计方法存在两个问题A)由于该方法得出的运动矢量是以8X8块为基本単位的,所以精度不高;B)该方法需要存储所有的中间SAD(绝对误差和)结果,所需的硬件开销大。

发明内容
鉴于以上所述的问题,本发明提出了ー种新颖的运动估计方法和装置。根据本发明的一个实施例的运动估计方法,包括通过在參考图像中进行搜索获取当前宏块中的8X8子块B (i)的最小编码开销Cost (i)以及相应的运动矢量MV(i),其中i为整数且O彡i彡3 ;利用8X8子块B (O)至B (3)的最小编码开销Cost (O)至Cost (3)中的一个或多个以及运动矢量MV(O)至MV(3)中的ー个或多个,获取16X16、16X8、8X16、以及8X8四种宏块分割模式的编码开销;以及从所述四种宏块分割模式中选择编码开销最小的一种对当前宏块进行分割,并将8X8子块B(O)至B(3)中的一个或多个的运动矢量分别作为分割出的一个或多个子块的运动矢量。
根据本发明的一个实施例的运动估计装置,包括矢量搜索单元,用于通过在參考图像中进行搜索获取当前宏块中的8X8子块B(i)的最小编码开销Cost (i)以及相应的运动矢量MV (i),其中i为整数且O彡i彡3 ;开销获取单元,用于利用8 X 8子块B (O)至B (3)的最小编码开销Cost(O)至Cost (3)中的一个或多个以及运动矢量MV (O)至MV (3)中的ー个或多个,获取16X16、16X8、8X16、以及8X8四种宏块分割模式的编码开销;以及运动估计単元,用于从所述四种宏块分割模式中选择编码开销最小的一种对当前宏块进行分害I],并将8X8子块B (O)至B(3)中的一个或多个的运动矢量分别作为分割出的ー个或多个子块的运动矢量。根据本发明的运动估计方法和装置可以在有限的处理周期中完成宏块划分模式的选择以及对于每个分割出的子块的运动矢量的捜索。


从下面结合附图对本发明的具体实施方式
的描述中可以更好地理解本发明,其 中图I示出了根据本发明一个实施例的运动估计装置的框图;图2示出了根据本发明一个实施例的运动估计方法的流程图;图3示出了利用4X4子块的运动搜索获取8X8子块的最小编码开销和相应的运动矢量的过程;图4示出了在一个时钟周期中完成的4X4子块的运动搜索;以及图5不出了四种宏块分割模式及相应的运动矢量的不意图。
具体实施例方式下面将详细描述本发明各个方面的特征和示例性实施例。下面的描述涵盖了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说显而易见的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更清楚的理解。本发明绝不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了相关元素、部件和算法的任何修改、替换和改进。本发明提出了ー种新颖的运动估计方法和装置。在本发明中,针对当前宏块中的每个8 X 8子块搜索參考图像中的所有可能的8 X 8像素区域,得到针对每个8 X 8子块的最小編码开销及相应的运动矢量,然后选择适当的宏块分割模式。本发明可以在有限的处理周期中完成宏块分割模式的选择以及对于每个分割出的子块的运动矢量的捜索,并且不需要存储所有的中间SAD结果,同时视频质量是可以接受的。为了克服基于菱形捜索的运动估计方法的缺陷,本发明在搜索范围中进行全搜索。图I示出了根据本发明一个实施例的运动估计装置的框图。如图I所示,该运动估计装置包括矢量搜索单元102、开销获取单元104、以及运动估计单元106。其中,矢量搜索单元102进ー步包括SAD获取模块1022和开销累加模块1024。矢量搜索单元102通过在參考图像中进行搜索获取当前宏块中的8X8子块B(i)的最小编码开销Cost(i)以及相应的运动矢量MV (i),其中i为整数且O彡i彡3( S卩,执行步骤S202)。开销获取单元104利用8X8子块B(O)至B (3)的最小编码开销Cost (O)至Cost (3)中的一个或多个以及运动矢量MV (O)至MV (3)中的ー个或多个,获取16X16、16X8、8X16、以及8X8四种宏块分割模式的编码开销(即,执行步骤S204)。运动估计单元106从16X 16、16X8、8X 16、以及8X8四种宏块分割模式中选择编码开销最小的ー种对当前宏块进行分割,并将8X8子块B(O)至B(3)中的一个或多个的运动矢量分别作为分割出的一个或多个子块的运动矢量。其中,当前宏块中的8X8子块B(i)的最小编码开销Cost (i)包括8X8子块B(i)中的像素相对于以8X8子块B(i)为基准根据运动矢量MV(i)在參考图像中定位的像素区域A(i)中的相同位置的像素的像素值的绝对误差和SADB(i)、以及运动矢量MV(i)的编码开销。
在本发明的一个实施例中,矢量搜索单元102可以进ー步包括SAD获取模块1022和开销累加模块1024。其中,SAD获取模块1022用于获取8X8子块B(i)中的4X4子块C(i)中的像素相对于以4X4子块C(i)为基准根据运动矢量MV(i)在參考图像中定位的像素区域D(i)中的相同位置的像素的像素值的绝对误差和SADc(i);开销累加模块用于通过累加4X4子块C(O)至C(3)中的像素相对于像素区域D(O)至D(3)中的相同位置的像素的像素值的绝对误差和SADe(O)至SAD。(3)、以及运动矢量MV(i)的编码开销,获取8X8子块B(i)的最小编码开销Cost (i)。下面描述矢量搜索单元102的具体处理过程。在通常的硬件环境下,存储參考图像的内存在一个时钟周期只能读出參考图像的ー个8X8子块,共64个像素,如果用这样的8X8子块来和当前宏块的8X8子块进行SAD值计算,就会和“基于以8X8子块为基本単元的宏块搜索的运动估计法” 一祥,只能得到精度不高的运动矢量。在本发明的一个实施例中,计算I个8X8子块在某个搜索位置的编码开销的处理(该处理可以由矢量搜索单元102完成)包括在四个时钟周期内分别计算组成这个8X8子块的4个4X4子块相对于这个捜索位置的像素区域的SAD值,然后将四个SAD值以及与这个搜索位置相对应的运动矢量的编码开销相加就可以得到这个8X8子块在这个搜索位置的编码开销。图3示出了根据本发明一个实施例的运动估计方法和装置在一个时钟周期中完成的4X4子块的运动搜索。如图4所示,在一个时钟周期中,可以以ー个4X4子块为基准根据16个运动矢量完成对參考图像中的16个搜索位置的捜索。换句话说,在一个时钟周期中,可以以4X4子块为基准根据16个运动矢量在參考图像中定位16个4X4像素区域,并且计算4X4子块相对于16个4 X 4像素区域中的每ー个像素区域的SAD值(S卩,在ー个时钟周期中可以得到分别对应于16个运动矢量的16个SAD值)。图4示出了根据本发明一个实施例的运动估计方法和装置中使用的利用4X4子块的运动搜索得到8X8子块的最小编码开销和相应的运动矢量的过程。如图4所示,当前宏块可以分割为四个8X8子块B(O)至B(3),并且8X8子块B(O)至B(3)分别可以进ー步分割为四个4X4子块C(O)至C(3)、C(4)至C(7)、C(8)至C(ll)、以及C(12)至C(15)。需要说明的是,这里的子块的编号仅是为了方便说明,不应该被理解为对本发明的限制。下面參考图4,说明矢量搜索单元102获取当前宏块中的任意ー个8X8子块B (i)的最小编码开销Cost (i)以及相应的运动矢量MV (i)的过程。
如图4中所示,在第一时钟周期中,以8X8子块B(i)中的第O个4X4子块C(j)为基准根据运动矢量mvO至mvl5在參考图像(更具体地,參考图像的捜索范围内)中搜索16个4X4像素区域(记为像素区域も(mvO)到像素区域R (mvl5)),并计算4X4子块C(j)相对于像素区域Dj(mvO)至像素区域Dj(mv15)的SAD值SADj(mvO)至SADj(mv15);在第二时钟周期中,以8X8子块B(i)中的第I个4X4子块C(j+1)为基准根据运动矢量mvO至mvl5在參考图像中捜索16个4X4像素区域(记为像素区域Dj+1 (mvO)到像素区域Dj+1(mvl5)),并计算4X4子块C(j)相对于像素区域Dj+1 (mvO)至像素区域Dj+1 (mvl5)的SAD值SADwOwO)至SADw(mvl5);在第三时钟周期中,以8X8子块B (i)中的第2个4X4子块C(j+2)为基准根据运动矢量mvO至mvl6在參考图像中捜索16个4X4像素区域(记为像素区域Dj+2(mv0)到像素区域Dj+2(mvl5),并计算4X4子块C(j)相对于像素区域Dj+2 (mvO)至 像素区域IV2(mvl5)的SAD值SAD,2 (mvO)至SAD,2(mvl5);在第四时钟周期中,以8X8子块B⑴中的第3个4X4子块C(j+3)为基准根据运动矢量mvO至mvl5在參考图像中搜索16个4X4像素区域(记为像素区域IV3OwO)到像素区域IV1OwIS)),并计算4X4子块C(j)相对于像素区域 Dj+3 (mvO)至像素区域 Dj+3 (mvl5)的 SAD 值 SADj+3 (mvO)至 SADj+3 (mvl5)。当四个时钟周期结束后,可以通过累加得到SADj (mvO)至SADj+3(mvO)、以及运动矢量mvO的编码开销,得出在基于运动矢量mvO以及以8X8子块B(i)为基准根据运动矢量mvO在參考图像中定位的像素区域A(i)对8X8子块B(i)进行编码时的编码开销Costi (mvO)。同理,通过类似的处理,可以得到8X8子块B (i)的编码开销Costi (mvl)至Costi (mvl5) ο接着,可以选取Costi (mvO)至Costi(IiivlS)中的最小编码开销和对应的运动矢量,分别记为 temp_min_cost 和 temp_mv。然后,在第五时钟周期中,以8X8子块B(i)中的第O个4X4子块C(j)为基准根据运动矢量mvl6至mv31在參考图像中捜索16个4X4像素区域(记为像素区域Dj(mvl6)到像素区域DjmWl)),并计算4X4子块C(j)相对于像素区域Dj(mvl6)至像素区域D」.(mv31)的SAD值SAD>vl6)至SAD」.(mv31);在第六时钟周期中,以8X8子块B(i)中的第I个4X4子块C(j+1)为基准根据运动矢量mvl6至mv31在參考图像中搜索16个4X4像素区域(记为像素区域IV1Owie)到像素区域IV1Oi^I)),并计算4X4子块C(j)相对于像素区域 Dj+1 (mvl6)至像素区域 Dj+1 (mv31)的 SAD 值 SADj+1 (mvl6)至 SADj+1 (mv31);在第七时钟周期中,以8X8子块B(i)中的第2个4X4子块C(j+2)为基准根据运动矢量mvl6至mv31在參考图像中搜索16个4X4像素区域(记为像素区域Dj+2(mvl6)到像素区域Dj+2(mv31),并计算4X4子块C(j)相对于像素区域Dj+2(mvl6)至像素区域Dj+2(mv31)的SAD值SAD^(mvl6)至SAD>2(mv31);在第八时钟周期中,以8X8子块B(i)中的第3个4X4子块C(j+3)为基准根据运动矢量mvl6至mv31在參考图像中搜索16个4X4像素区域(记为像素区域IV3(mvl6)到像素区域IV1 (mv31)),并计算4X4子块C(j)相对于像素区域 Dj+3 (mvl6)至像素区域 Dj+3 (mv31)的 SAD 值 SADJ+3 (mvl6)至 SADJ+3 (mv31)。自此,在第五至第八时钟周期中,可以得到8X8子块B(i)的编码开销Costi (mvl6)至 Costi (mv31)。接着,可以选取 Costi (mvl6)至 Costi(IiivSl)中的最小编码开销和对应的运动矢量,将Costi (mvl6)至Costi(Iir^l)中的最小编码开销同temp_min_cost进行比较,如果Costi(Iiivie)至Costi(Iir^l)中的最小编码开销较小,则将temp_min_cost和temp_mv替换为Costi(Iiivie)至Costi(IiivSl)中的最小编码开销和它对应的运动矢量。重复以上的过程,直至完成对搜索范围(即,參考图像)内所有捜索位置的捜索,就可以得到8 X 8子块B (i)的最小编码开销Cost (i)和它对应的运动矢量MV (i)。换句话说,可以通过4η (η =參考图像的捜索范围包含的待捜索像素数目/16)个时钟周期获取8X8子块B(i)的最小编码开销Cost (i)和它对应的运动矢量MV(i)。具体地,在第(4m-3)至4m(m取整数且I彡m彡η)时钟周期中获取8X8子块B (i)的编码开销Costi (mvl6 (m-1))至 Costi (mv (16m_l))中的最小编码开销 Mini (m),在第(4m+l)至 4(m+l)时钟周期中获取8X8子块B (i)的编码开销Costi (mvl6m)至Costi (mv (16m+15))中的最小编码开销Mini (m+1),并保存MiniOn)和Mini(I^l)中较小的一个以及它对应的运动矢量。当完成对參考图像的遍历搜索时,即可得出8X8子块B(i)的最小编码开销Cost (i)和它对应的运动矢量MV (i)。
在矢量搜索单元102获取当前宏块中的8X8子块B (O)至B (3)的最小编码开销Cost(O)至Cost (3)以及相应的运动矢量MV (O)至MV (3)之后,开销获取单元104利用8 X 8子块B (O)至B (3)的最小编码开销Cost (O)至Cost (3)中的一个或多个以及运动矢量MV (O)至MV(3)中的ー个或多个,获取16X16、16X8、8X16、以及8X8四种宏块分割模式的编码开销。具体地,开销获取単元104可以根据以下等式计算16X16、16X8、8X16、以及8X8四种宏块分割模式的编码开销(I) 16X16的宏块分割模式的的编码开销Costl6 X 16 = SADb (O) +SADb(IO) +SADb (20) +SADb (30) +mv_cost (mvO_MVP)其中,SADb(O)表示8X8子块B(O)中的像素相对于像素区域A(O)中的相同位置的像素的像素值的绝对误差和,SADb(IO)表示8X8子块B(I)相对于以8X8子块B(I)为基准根据运动矢量MV(O)在參考图像中定位的像素区域A(IO)中的相同位置的像素的像素值的绝对误差和、SADb(20)表示8X8子块B(2)中的像素相对于以8X8子块B(2)为基准根据运动矢量MV(O)在參考图像中定位的像素区域A(20)中的相同位置的像素的像素值的绝对误差和,SADb(30)表示8X8子块B(3)相对于以8X8子块B(3)为基准根据运动矢量MV(O)在參考图像中定位的像素区域A(30)中的相同位置的像素的像素值的绝对误差和,以及mv_cost (mvO_MVP)表示运动矢量MV(O)的编码开销。(2) 16X8的宏块分割模式的编码开销Costl6 X 8 = SADb (0) +SADb(IO) +SADb (2) +SADb (32) +mv_cost(mvO-MVP)+mv_cost(mv2-MVP)SADb(O)表示8X8子块B(O)中的像素相对于像素区域A(0)中的相同位置的像素的像素值的绝对误差和,SADb(IO)表示8X8子块B(I)相对于以8X8子块B(I)为基准根据运动矢量MV(O)在參考图像中定位的像素区域A(IO)中的相同位置的像素的像素值的绝对误差和,SADb(2)表示8X8子块B(2)中的像素相对于像素区域A(2)中的相同位置的像素的像素值的绝对值误差和,SADb (32) 8X8表示子块B (3)相对于以8X8子块B (3)为基准根据运动矢量MV(2)在參考图像中定位的像素区域A(32)中的相同位置的像素的像素值的绝对误差和,mv_cost (mvO-MVP)表示运动矢量MV(O)的编码开销,mv_cost (mv2_MVP)表示运动矢量MV (2)的编码开销。(3) 8X16的宏块分割模式的编码开销
Cost8 X 16 = SADb (0) +SADb (20) +SADb (I) +SADb (31) +mv_cost(mvO-MVP)+mv_cost(mvl-MVP)其中,SADb(O)表示8X8子块B(O)中的像素相对于像素区域A (O)中的相同位置的像素的像素值的绝对误差和,SADb(20)表示8X8子块B(2)相对于以8X8子块B(2)为基准根据运动矢量MV(O)在參考图像中定位的像素区域A(20)中的相同位置的像素的像素值的绝对误差和,SADb(I)表示8X8子块B(I)中的像素相对于像素区域A(I)中的相同位置的像素的像素值的绝对值误差和SADb(I), SADb(31)表示8X8子块B(3)相对于以8X8子块B(3)为基准根据运动矢量MV(I)在參考图像中定位的像素区域A(31)中的相同位置的像素的像素值的绝对误差和,mv_cost (mvO-MVP)表示运动矢量MV (O)的编码开销,mv_cost(mvl-MVP)表示运动矢量MV(I)的编码开销。(4)8X8的宏块分割模式的编码开销Cost8 X 8 = SADb (O) +SADb(I) +SADb (2) +SADb (3) +mv_cost(mvO-MVP)+mv_cost(mvl-MVP)+mv_cost(mv2_MVP)+mv_cost (mv3-MVP)其中,SADb(O)至SADb(3)表示8X8子块B(O)至B(3)中的像素相对于像素区域A(O)至A(3)中的相同位置的像素的像素值的绝对误差和,mv_cost (mvO-MVP)表示运动矢量MV(O)的编码开销,mv_cost (mvl-MVP)表示运动矢量MV(I)的编码开销,mv_cost (mv2-MVP)表示运动矢量MV (2)的编码开销,mv_cost (mv3-MVP)表示运动矢量MV (3)的编码开销。需要说明的是,SADb(IO)、SADb(20)、SADb(30)、SADb(IO)、SADb(32)、SADb (31)等可以由开销获取単元104获取,也可以由其他单元获取。图5示出了四种宏块分割模式及相应的运动矢量的示意图。如图5所示I)在选择16X16的宏块分割模式的情况下,运动估计单元将位于当前宏块的左上侧的8X8子块C(O)的运动矢量MV(O)作为当前宏块的运动矢量;2)在选择16X8的宏块分割模式的情况下,运动估计单元将位于当前宏块的左上侧的8X8子块B(O)的运动矢量MV(O)作为从当前宏块分割出的上侧16X8子块的运动矢量,并将位于当前宏块的左下侧的8 X 8子块B (2)的运动矢量MV(2)作为从当前宏块分割出的下侧16X8子块的运动矢量;3)在选择8X16的宏块分割模式的情况下,将位于当前宏块的左上侧的8X8子块B(O)的运动矢量MV(O)作为从当前宏块分割出的左侧8X16子块的运动矢量,并将位于当前宏块的右上侧的8X8子块B(I)的运动矢量MV(I)作为从当前宏块分割出的右侧8X16子块的运动矢量;4)在选择8X8的宏块分割模式下,将通过上述处理获取的每个8X8子块的运动矢量作为从当前宏块分割出的相应8X8子块的运动矢量。本发明可以在有限的处理周期中完成宏块划分模式的选择以及对于每个分割出的子块的运动矢量的捜索,并且不需要存储所有的中间SAD結果,同时视频质量是可以接受的。 以上已经參考本发明的具体实施例来描述了本发明,但是本领域技术人员均了解,可以对这些具体实施例进行各种修改、组合和变更,而不会脱离由所附权利要求或其等同物限定的本发明的精神和范围。根据需要可以用硬件或软件来执行步骤。注意,在不脱离本发明范围的前提下,可向本说明书中给出的流程图添加步骤、从中去除步骤或修改其中的步骤。一般来说,流程图只是用来指示用于实现功能的基本操作的ー种可能的序列。本发明的实施例可利用编程的通用数字计算机、利用专用集成电路、可编程逻辑器件、现场可编程门阵列、光的、化学的、生物的、量子的或纳米工程的系统、组件和机构来实现。一般来说,本发明的功能可由本领域已知的任何手段来实现。可以使用分布式或联网系统、组件和电路。数据的通信或传送可以是有线的、无线的或者通过任何其他手段。还将意识到,根据特定应用的需要,附图中示出的要素中的ー个或多个可以按更分离或更集成的方式来实现,或者甚至在某些情况下被去除或被停用。实现可存储在机器可读介质中的程序或代码以允许计算机执行上述任何方法,也在本发明的精神和范围之内。此外,附图中的任何信号箭头应当被认为仅是示例性的,而不是限制性的,除非另有具体指示。当术语被预见为使分离或组合的能力不清楚吋,组件或者步骤的组合也将被认为是已经记载了。
关于包括以上实施例的实施方式,还公开下述的附记。附记I. ー种运动估计方法,包括通过在參考图像中进行搜索获取当前宏块中的8X8子块B(i)的最小编码开销Cost(i)以及相应的运动矢量MV (i),其中i为整数且O彡i^3;利用8X8子块B (O)至B (3)的最小编码开销Cost (O)至Cost (3)中的一个或多个以及运动矢量MV(O)至MV(3)中的ー个或多个,获取16X16、16X8、8X16、以及8X8四种宏块分割模式的编码开销;以及从所述四种宏块分割模式中选择编码开销最小的一种对所述当前宏块进行分割,并将所述8X8子块B(O)至B(3)中的一个或多个的运动矢量分别作为分割出的一个或多个子块的运动矢量。附记2.根据附记I所述的运动估计方法,其特征在于,所述8X8子块B(i)的最小編码开销Cost (i)包括所述8X8子块B (i)中的像素相对于以所述8X8子块B (i)为基准根据所述运动矢量MV(i)在所述參考图像中定位的像素区域A(i)中的相同位置的像素的像素值的绝对误差和SADb (i)、以及所述运动矢量MV (i)的编码开销。附记3.根据附记I所述的运动估计方法,其特征在于,获取所述8X8子块B(i)的最小编码开销Cost (i)的处理包括获取所述8X8子块B(i)中的4X4子块C(i)中的像素相对于以所述4X4子块C⑴为基准根据所述运动矢量MV(i)在所述參考图像中定位的像素区域D(i)中的相同位置的像素的像素值的绝对误差和SADJi);通过累加4X4子块C(O)至C(3)中的像素相对于像素区域D(0)至D(3)中的相同位置的像素的像素值的绝对误差和SADc(O)至SADc(3)、以及所述运动矢量MV(i)的编码开销,获取所述8X8子块B(i)的最小编码开销Cost(i)。附记4.根据附记I所述的运动估计方法,其特征在于,通过累加8X8子块B(O)至B(3)中的像素相对于像素区域A(O)至A (3)中的相同位置的像素的像素值的绝对误差和SADb (0)至SADb (3)、以及运动矢量MV (0)至MV (3)的编码开销,获取8X8的宏块分割模式的编码开销。附记5.根据附记I所述的运动估计方法,其特征在于,通过累加8X8子块B(O)中的像素相对于像素区域A(O)中的相同位置的像素的像素值的绝对误差和SADb(O)、8X8子块B(I)相对于以8X8子块B(I)为基准根据运动矢量MV(O)在所述參考图像中定位的像素区域A(IO)中的相同位置的像素的像素值的绝对误差和SADB(10)、8X8子块B(2)中的像素相对于像素区域A(2)中的相同位置的像素的像素值的绝对值误差和SADb(2)、8X8子块B(3)相对于以8X8子块B(3)为基准根据运动矢量MV(2)在所述參考图像中定位的像素区域A(32)中的相同位置的像素的像素值的绝对误差和SADb(32)、以及运动矢量MV(O)和MV⑵的编码开销,获取16X8的宏块分割模式的编码开销。附记6.根据附记I所述的运动估计方法,其特征在于,通过累加8X8子块B(O)中的像素相对于像素区域A(O)中的相同位置的像素的像素值的绝对误差和SADb(O)、8X8子块B(2)相对于以8X8子块B(2)为基准根据运动矢量MV(O)在所述參考图像中定位的像素区域A(20)中的相同位置的像素的像素值的绝对误差和SADB(20)、8X8子块B(I)中的 像素相对于像素区域A(I)中的相同位置的像素的像素值的绝对值误差和SADb(I)、8X8子块B(3)相对于以8X8子块B(3)为基准根据运动矢量MV(I)在所述參考图像中定位的像素区域A(31)中的相同位置的像素的像素值的绝对误差和SADb(31)、以及运动矢量MV(O)和MV⑴的编码开销,获取8X16的宏块分割模式的编码开销。附记7.根据附记I所述的运动估计方法,其特征在于,通过累加8X8子块B (O)中的像素相对于像素区域A(O)中的相同位置的像素的像素值的绝对误差和SADb(O)、8X8子块B(I)相对于以8X8子块B(I)为基准根据运动矢量MV(O)在所述參考图像中定位的像素区域A(IO)中的相同位置的像素的像素值的绝对误差和SADb(IO)、8X8子块B(2)中的像素相对于以8X8子块B(2)为基准根据运动矢量MV(O)在所述參考图像中定位的像素区域A(20)中的相同位置的像素的像素值的绝对误差和SADb(20)、8X8子块B(3)相对于以8X8子块B(3)为基准根据运动矢量MV(O)在所述參考图像中定位的像素区域A(30)中的相同位置的像素的像素值的绝对误差和SADb (30)、以及运动矢量MV (O)的编码开销,获取16X16的宏块分割模式的编码开销。附记8.根据附记I所述的运动估计方法,其特征在于,在选择16X16的宏块分割模式的情况下,将位于所述当前宏块的左上侧的8X8子块C(O)的运动矢量MV(O)作为所述当前宏块的运动矢量。附记9.根据附记I所述的运动估计方法,其特征在于,在选择16X8的宏块分割模式的情况下,将位于所述当前宏块的左上侧的8X8子块B(O)的运动矢量MV(O)作为从所述当前宏块分割出的上侧16X8子块的运动矢量,并将位于所述当前宏块的左下侧的8X8子块B(2)的运动矢量MV(2)作为从所述当前宏块分割出的下侧16X8子块的运动矢量。附记10.根据附记I所述的运动估计方法,其特征在于,在选择8X16的宏块分割模式的情况下,将位于所述当前宏块的左上侧的8X8子块B(O)的运动矢量MV(O)作为从所述当前宏块分割出的左侧8X16子块的运动矢量,并将位于所述当前宏块的右上侧的8X8子块B(I)的运动矢量MV(I)作为从所述当前宏块分割出的右侧8X16子块的运动矢量。附记11. ー种运动估计装置,包括矢量搜索单元,用于通过在參考图像中进行搜索获取当前宏块中的8X8子块B(i)的最小编码开销Cost (i)以及相应的运动矢量MV (i),其中i为整数且O彡i彡3 ;开销获取单元,用于利用8X8子块B(O)至B(3)的最小编码开销Cost (O)至Cost (3)中的一个或多个以及运动矢量MV(O)至MV (3)中的ー个或多个,获取16X 16、16X8、8X16、以及8X8四种宏块分割模式的编码开销;以及运动估计单元,用于从所述四种宏块分割模式中选择编码开销最小的ー种对所述当前宏块进行分割,并将所述8X8子块B(O)至B(3)中的一个或多个的运动矢量分别作为分割出的一个或多个子块的运动矢量。附记12.根据附记11所述的运动估计装置,其特征在于,所述8X8子块B(i)的最小编码开销Cost (i)包括所述8X8子块B (i)中的像素相对于以所述8X8子块B (i)为基准根据所述运动矢量MV(i)在所述參考图像中定位的像素区域A(i)中的相同位置的像素的像素值的绝对误差和SADb (i)、以及所述运动矢量MV⑴的编码开销。
附记13.根据附记11所述的运动估计装置,其特征在于,所述矢量搜索单元包括SAD获取模块,用于获取所述8X8子块B(i)中的4X4子块C⑴中的像素相对于以所述4X4子块C(i)为基准根据所述运动矢量MV(i)在所述參考图像中定位的像素区域D⑴中的相同位置的像素的像素值的绝对误差和SADc(i);开销累加模块,用于通过累加4X4子块C(O)至C(3)中的像素相对于像素区域D(O)至D(3)中的相同位置的像素的像素值的绝对误差和SADc(O)至SADc(3)、以及所述运动矢量MV(i)的编码开销,获取所述8X8子块B(i)的最小编码开销Cost (i)。附记14.根据附记11所述的运动估计装置,其特征在于,所述开销获取单元通过累加8X8子块B(O)至B (3)中的像素相对于像素区域A(O)至A(3)中的相同位置的像素的像素值的绝对误差和SADb(O)至SADb (3)、以及运动矢量MV(O)至MV (3)的编码开销,获取8X8的宏块分割模式的编码开销。附记15.根据附记11所述的运动估计装置,其特征在于,所述开销获取单元通过累加8X8子块B(O)中的像素相对于像素区域A(O)中的相同位置的像素的像素值的绝对误差和SADb(O)、8 X 8子块B (I)相对于以8X8子块B(I)为基准根据运动矢量MV (0)在所述參考图像中定位的像素区域A(IO)中的相同位置的像素的像素值的绝对误差和SADb(IO)、8X8子块B(2)中的像素相对于像素区域A(2)中的相同位置的像素的像素值的绝对值误差和SADb⑵、8 X 8子块B (3)相对于以8 X 8子块B (3)为基准根据运动矢量MV⑵在所述參考图像中定位的像素区域A(32)中的相同位置的像素的像素值的绝对误差和SADB(32)、以及运动矢量MV(O)和MV(2)的编码开销,获取16X8的宏块分割模式的编码开销。附记16.根据附记11所述的运动估计装置,其特征在于,所述开销获取单元通过累加8X8子块B(O)中的像素相对于像素区域A(O)中的相同位置的像素的像素值的绝对误差和SADb(O)、8X8子块B (2)相对于以8X8子块B (2)为基准根据运动矢量MV(0)在所述參考图像中定位的像素区域A(20)中的相同位置的像素的像素值的绝对误差和SADb(20)、8X8子块B(I)中的像素相对于像素区域A(I)中的相同位置的像素的像素值的绝对值误差和SADb⑴、8 X 8子块B (3)相对于以8 X 8子块B (3)为基准根据运动矢量MV (I)在所述參考图像中定位的像素区域A(31)中的相同位置的像素的像素值的绝对误差和SADB(31)、以及运动矢量MV(O)和MV(I)的编码开销,获取8X 16的宏块分割模式的编码开销。
附记17.根据附记11所述的运动估计装置,其特征在于,所述开销获取单元通过累加8X8子块B(O)中的像素相对于像素区域A(O)中的相同位置的像素的像素值的绝对误差和SADb (O)、8 X 8子块B (I)相对于以8X8子块B(I)为基准根据运动矢量MV (O)在所述參考图像中定位的像素区域A(IO)中的相同位置的像素的像素值的绝对误差和SADb(IO)、8 X 8子块B (2)中的像素相对于以8 X 8子块B (2)为基准根据运动矢量MV (O)在所述參考图像中定位的像素区域A(20)中的相同位置的像素的像素值的绝对误差和SADb(20)、8X8子块B(3)相对于以8X8子块B(3)为基准根据运动矢量MV(O)在所述參考图像中定位的像素区域A(30)中的相同位置的像素的像素值的绝对误差和SADb(30)、以及运动矢量MV(O)的编码开销,获取16X16的宏块分割模式的编码开销。附记18.根据附记11所述的运动估计装置,其特征在于,在选择16X 16的宏块分割模式的情况下,所述运动估计单元将位于所述当前宏块的左上侧的8X8子块C(O)的运动矢量MV (O)作为所述当前宏块的运动矢量。附记19.根据附记11所述的运动估计装置,其特征在于,在选择16X8的宏块分 割模式的情况下,所述运动估计单元将位于所述当前宏块的左上侧的8X8子块B(O)的运动矢量MV(O)作为从所述当前宏块分割出的上侧16X8子块的运动矢量,并将位于所述当前宏块的左下侧的8X8子块B(2)的运动矢量MV(2)作为从所述当前宏块分割出的下侧16X8子块的运动矢量。附记20.根据附记11所述的运动估计装置,其特征在于,在选择8X16的宏块分割模式的情况下,所述运动估计单元将位于所述当前宏块的左上侧的8X8子块B(O)的运动矢量MV(O)作为从所述当前宏块分割出的左侧8X16子块的运动矢量,并将位于所述当前宏块的右上侧的8X8子块B(I)的运动矢量MV(I)作为从所述当前宏块分割出的右侧8X 16子块的运动矢量。
权利要求
1.ー种运动估计方法,包括 通过在參考图像中进行搜索获取当前宏块中的8X8子块B(i)的最小编码开销Cost(i)以及相应的运动矢量MV (i),其中i为整数且O彡i^3; 利用8X8子块B (O)至B (3)的最小编码开销Cost (O)至Cost (3)中的ー个或多个以及运动矢量MV(O)至MV(3)中的ー个或多个,获取16X16、16X8、8X16、以及8X8四种宏块分割模式的编码开销;以及 从所述四种宏块分割模式中选择编码开销最小的一种对所述当前宏块进行分割,并将所述8X8子块B(O)至B(3)中的一个或多个的运动矢量分别作为分割出的ー个或多个子块的运动矢量。
2.根据权利要求I所述的运动估计方法,其特征在于,所述8X8子块B(i)的最小编码开销Cost (i)包括所述8X8子块B (i)中的像素相对于以所述8X8子块B (i)为基准根据所述运动矢量MV(i)在所述參考图像中定位的像素区域A(i)中的相同位置的像素的像素值的绝对误差和SADb (i)、以及所述运动矢量MV⑴的编码开销。
3.根据权利要求I所述的运动估计方法,其特征在于,获取所述8X8子块B(i)的最小编码开销Cost (i)的处理包括 获取所述8X8子块B(i)中的4X4子块C(i)中的像素相对于以所述4X4子块C(i)为基准根据所述运动矢量MV(i)在所述參考图像中定位的像素区域D(i)中的相同位置的像素的像素值的绝对误差和SADJi); 通过累加4X4子块C(O)至C(3)中的像素相对于像素区域D(O)至D(3)中的相同位置的像素的像素值的绝对误差和SADc(O)至SAD。(3)、以及所述运动矢量MV(i)的编码开销,获取所述8 X 8子块B⑴的最小编码开销Cost⑴。
4.根据权利要求I所述的运动估计方法,其特征在于,通过累加8X8子块B(O)至B (3)中的像素相对于像素区域A(O)至A (3)中的相同位置的像素的像素值的绝对误差和SADb (0)至SADb (3)、以及运动矢量MV (0)至MV (3)的编码开销,获取8X8的宏块分割模式的编码开销。
5.根据权利要求I所述的运动估计方法,其特征在于,通过累加8X8子块B(O)中的像素相对于像素区域A(O)中的相同位置的像素的像素值的绝对误差和SADb(O)、8X8子块B(I)相对于以8X8子块B(I)为基准根据运动矢量MV(O)在所述參考图像中定位的像素区域A(IO)中的相同位置的像素的像素值的绝对误差和SADb(IO)、8X8子块B(2)中的像素相对于像素区域A(2)中的相同位置的像素的像素值的绝对值误差和SADb(2)、8X8子块B(3)相对于以8X8子块B(3)为基准根据运动矢量MV(2)在所述參考图像中定位的像素区域A(32)中的相同位置的像素的像素值的绝对误差和SADb(32)、以及运动矢量MV(O)和MV⑵的编码开销,获取16X8的宏块分割模式的编码开销。
6.根据权利要求I所述的运动估计方法,其特征在于,通过累加8X8子块B(O)中的像素相对于像素区域A(O)中的相同位置的像素的像素值的绝对误差和SADb(O)、8X8子块B(2)相对于以8X8子块B(2)为基准根据运动矢量MV(O)在所述參考图像中定位的像素区域A(20)中的相同位置的像素的像素值的绝对误差和SADb(20)、8X8子块B(I)中的像素相对于像素区域A(I)中的相同位置的像素的像素值的绝对值误差和SADb(I)、8X8子块B(3)相对于以8X8子块B(3)为基准根据运动矢量MV(I)在所述參考图像中定位的像素区域A(31)中的相同位置的像素的像素值的绝对误差和SADB(31)、以及运动矢量MV(O)和MV(I)的编码开销,获取8X16的宏块分割模式的编码开销。
7.根据权利要求I所述的运动估计方法,其特征在于,通过累加8X8子块B(O)中的像素相对于像素区域A(O)中的相同位置的像素的像素值的绝对误差和SADb(O)、8X8子块B(I)相对于以8X8子块B(I)为基准根据运动矢量MV(O)在所述參考图像中定位的像素区域A(IO)中的相同位置的像素的像素值的绝对误差和SADb(IO)、8X8子块B(2)中的像素相对于以8X8子块B(2)为基准根据运动矢量MV(O)在所述參考图像中定位的像素区域A(20)中的相同位置的像素的像素值的绝对误差和SADb(20)、8X8子块B(3)相对于以8X8子块B(3)为基准根据运动矢量MV(O)在所述參考图像中定位的像素区域A(30)中的相同位置的像素的像素值的绝对误差和SADb (30)、以及运动矢量MV (O)的编码开销,获取16X16的宏块分割模式的编码开销。
8.根据权利要求I所述的运动估计方法,其特征在于,在选择16X16的宏块分割模式的情况下,将位于所述当前宏块的左上侧的8X8子块C(O)的运动矢量MV(O)作为所述当前宏块的运动矢量。
9.根据权利要求I所述的运动估计方法,其特征在于,在选择16X8的宏块分割模式的情况下,将位于所述当前宏块的左上侧的8X8子块B(O)的运动矢量MV(O)作为从所述当前宏块分割出的上侧16X8子块的运动矢量,并将位于所述当前宏块的左下侧的8X8子块B (2)的运动矢量MV(2)作为从所述当前宏块分割出的下侧16X8子块的运动矢量。
10.根据权利要求I所述的运动估计方法,其特征在于,在选择8X16的宏块分割模式的情况下,将位于所述当前宏块的左上侧的8X8子块B(O)的运动矢量MV(O)作为从所述当前宏块分割出的左侧8X 16子块的运动矢量,并将位于所述当前宏块的右上侧的8X8子块B(I)的运动矢量MV(I)作为从所述当前宏块分割出的右侧8X16子块的运动矢量。
全文摘要
公开了一种运动估计方法和装置。该方法包括通过在参考图像中进行搜索获取当前宏块中的8×8子块B(i)的最小编码开销Cost(i)以及相应的运动矢量MV(i);利用8×8子块B(0)至B(3)的最小编码开销Cost(0)至Cost(3)中的一个或多个以及运动矢量MV(0)至MV(3)中的一个或多个,获取16×16、16×8、8×16、以及8×8四种宏块分割模式的编码开销;以及从所述四种宏块分割模式中选择编码开销最小的一种对当前宏块进行分割,并将8×8子块B(0)至B(3)中的一个或多个的运动矢量分别作为分割出的一个或多个子块的运动矢量。
文档编号H04N7/26GK102647587SQ201110039959
公开日2012年8月22日 申请日期2011年2月16日 优先权日2011年2月16日
发明者付轩 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1