运动补偿方法及可执行运动补偿的集成电路的制作方法

文档序号:7918678
专利名称:运动补偿方法及可执行运动补偿的集成电路的制作方法
技术领域
本发明是关于视频编码,特别是关于一种运动补偿(motion compensation)方 法及可执行运动补偿的集成电路。
背景技术
基于块的碎见频编码标准,如运动图4象专家组(Motion Picture Experts Group, MPEG) 1/2/4与H.26x标准,通过减少一见频帧之间的时间冗余(temporal redundancy)及减少视频帧内的空间冗余来达到lt据压缩的目的。符合上述标准
每一视频帧包含一个像素阵列(pixel array)。 一个宏块(macro block)是 一组《象素,通常为16x16的4象素阵列。16x16的宏块可进一步分割(partition) 为符合某些视频编码标准的16x8、 8x16、 8x8、 8x4、 4x8或4x4的块。基于宏 块来估计视频帧之间的图像移动是常用的手段,即所谓运动估计, 一般包括比 较当前帧的宏块与其它参照帧的多个宏块的相似性。当前视频帧的宏块与最相 似的参照帧的宏块之间的空间位移(displacement)即为运动向量(Motion Vector, MV)。通过插入参照帧的像素,运动向量的估计值可控制在一个像素片段 (fraction)内。
运动补偿涉及视频帧重建(reconstruction)的相反过程,视频帧重建是依据 视频解码器中的参照帧与运动向量来进行。RV9 (Real Video 9)实际视频规格 包括用于运动补偿的运动向量裁剪(clipping)方案。图la与图lb是在实际视 频规格RV9格式下的运动向量裁剪方案的实施例的示意图,分别显示宏块中一 个4x4色度分量(chrominance component)的视J贞块的运动向量在右边界(图la 的10a)及下边界(图lb的10b)裁剪的情况。RV9规格提供两种运动向量裁剪方 案,包含无限制运动向量(Unrestricted Motion Vector, UMV)裁剪方案及4x4的视 频块运动向量裁剪方案。UMV裁剪方案将边界^f象素(border pixel)向四个方向无 限延伸,而4x4的视频块运动向量裁剪方案仅将像素在视频帧的帧边界周围有限延伸。在4x4的视频块运动向量裁剪方案中,当色度分量的子块位于帧边界 之外时,RV9规格会调整运动向量,使子块位于右边界(图la)与下边界(图lb) 之外小于一个像素的位置,导致重建的图像不够准确。
因此,需要一种用于运动解码器的运动补偿方法来确定准确的运动向量, 以用于在实际视频应用中执行帧边界附近的运动补偿。

发明内容
本发明提供了运动(motion)补偿方法及可执行运动补偿的集成电路,用于帧 边界附近的运动补偿,解决了现有技术中重建(reconstruction)图像不准确的技 术问题。
依据本发明的实施例,提供一种运动补偿方法,包含有接收具有预设块 尺寸(block dimension)的视频块;当一见频块位于一见频帧的帧边界时,将一见频块分 割(partition)为多个子块,子块具有小于预设块尺寸的子块尺寸;以及对子块执 行运动补偿。
依据本发明的另一实施例,揭露一种运动补偿方法,包含有接收控制信 号,以选择无限制运动向量(Unrestricted Motion Vector, UMV)模式与分离受限运 动向量裁剪模式(split restricted MV clipping mode)其中之一;接收一见频块;在 UMV模式下基于视频块执行运动补偿;以及将视频块划分(split)为两个运动向 量(MotionVector,MV)裁剪子块,当视频块位于^L频帧的帧边界时,将其中一个 运动向量裁剪子块向帧边界的左方或上方移位,并且在分离受限运动向量裁剪 模式下对移位后的运动向量裁剪子块及另一运动向量裁剪子块执行运动补偿。
依据本发明的另一实施例,提供一种可执行运动补偿的集成电路,包含有 分割单元,用于接收具有预设块尺寸的视频块,并在视频块位于视频帧的帧边 界时,将视频块分割为具有小于预设块尺寸的子块尺寸的多个子块;以及运动 补偿单元,耦合至分割单元,用于对子块执行运动补偿。
依据本发明的另一实施例,提供一种可执行运动补偿的集成电路,包含有 控制器,用于产生控制信号,以选择UMV模式与分离受限运动向量裁剪模式其 中之一;无限制运动向量单元,耦合至控制器,用于接收视频块,在选择了 UMV 模式时对视频块执行运动补偿;以及运动向量裁剪单元,耦合至控制器,当选 择分离受限运动向量裁剪模式时,运动向量裁剪单元将视频块划分为两个运动 向量裁剪子块,当视频块位于视频帧的帧边界时,运动向量裁剪单元将其中一个运动向量裁剪子块向帧边界的左方或上方移位,并对移位后的运动向量裁剪 子块及另一运动向量裁剪子块执行运动补偿。
本发明的运动补偿方法及可执行运动补偿的集成电路与现有技术相比较,
其有益效果包括通过将视频块分割为多个子块,提高了用于运动估计与补偿 的边界块的编码效率,从而改善了图像质量。


图la与图lb是在实际视频规格RV9格式下的运动向量裁剪操作的实施例 的示意图。
图2是依据本发明实施例的视频解码器的方框图。
图3是结合于图2的视频解码器的无限制运动向量方案的实施例的示意图。 图4a至图4c是结合于图2的视频解码器的运动向量裁剪方案的实施例的示 意图。
图5是图2中的运动向量裁剪单元的实施例的方框图。 图6是依据本发明实施例的运动补偿方案的示意图。
具体实施例方式
在本说明书以及权利要求当中使用了某些词汇来指称特定的元件,本领域 的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件,本 说明书及权利要求并不以名称的差异作为区分元件的方式,而是以元件在功能 上的差异作为区分的准则,在通篇说明书及权利要求书当中所提及的"包含有" 是开放式的用语,故应解释成"包含有但不限定于",此外,"耦合,, 一词在此 包含任何直接及间接的电气连接手段,因此,若文中描述第一装置耦合于第二 装置,则代表第一装置可以直接电气连接于第二装置,或通过其它装置或连接 手段间接地电气连接至第二装置。
下文描述了实现本发明的实施例,仅用于阐释基本原理,并非用于限定本 发明。阅读了下文对于附图所示实施例的详细描述之后,本发明对所属技术领 域的技术人员而言将显而易见。
图2是依据本发明实施例的视频解码器的方框图。视频解码器2包含控制 器20、无限制运动向量(Unrestricted Motion Vector, UMV)单元22以及运动 向量裁剪(Motion Vector clipping)单元24。控制器20耦合于无限制运动向量单元22及运动向量裁剪单元24。
视频解码器2可在正常UMV模式下以及分离受限运动向量裁剪模式(split restricted MV clipping mode)下执行运动补偿。控制器20接收视频块Db以产生控 制信号Dc,以在UMV模式与分离受限运动向量裁剪模式中选择一个。接着, 无限制运动向量单元22与运动向量裁剪单元24获取控制信号Dc,使得根据运 动向量模式只能激活其中的一个。当选择UMV模式时,无限制运动向量单元 22接收视频块Db并对其进行运动补偿以产生重建(reconstruction)的视频块 Dc。mpl。运动向量裁剪单元24将视频块Db划分为两个运动向量裁剪子块,当视 频块位于视频帧的帧边界时,将其中一个运动向量裁剪子块向帧边界的左方或 上方移位,并对移位后的运动向量裁剪子块及其它运动向量裁剪子块执行运动 补偿以产生重建的视频块De。mp2。
控制器20基于视频块Db的数据类型确定控制信号De。举例来说,当视频 块Db为MPEG数据时,控制器20产生控制信号Dc以启动UMV模式;当视频 块Db为RV9(Real Video 9)数据时,控制器20则启动分离受限运动向量裁剪模 式。视频块Db为通常包含两个宏块分割(macro block partition)的宏块(macro block),宏块分割包括亮度(luminance)与色度(chrominance)分量。某些实施例中, 亮度分量的块大小为色度分量块大小的两倍。举例来说, 一个16x16的宏块包 含两个16x8或8x16的宏块分割,每一宏块分割包含8x8亮度分量与4x4色度 分量。
图3是结合于图2的视频解码器的无限制运动向量方案的实施例的示意图。 无限制运动向量单元22执行图3所示的普通UMV方案。其中,视频解码器2 接收多个运动向量,对每一宏块分割执行运动补偿,以获得当前块分割。图3 显示在上、下、左、右四个方向上进行延伸的参照帧320的示意图,其中延伸 是通过重复或填充(padding)边界像素至延伸区域322来实现。视频编码器(未 显示于图中)估计当前块32与参照块30之间的位移,以作为运动向量,其中, 当前块32部分位于参照帧320的帧边R外。举例来说,视频编码器计算当前 块32与搜寻窗324中候选的每一参照块之间的误差,确定最小误差作为匹配最 佳的块(如参照块30),并估计当前块32与参照块之间的位移,作为传送给视 频解码器2的运动向量。当前块32与每一候选参照块之间的误差可通过当前块 32的每一像素与每一候选参照块之间的绝对差值的和(Sum of Absolute Difference, SAD)计算出来。无限制运动向量单元22 4妄收运动向量,将指向帧边界之外的运动向量加到参照块,以重建近似的当前块。举例来说,运动向量
(MVx,MVy)可为(3, -3),指示当前块32与参照块30的水平位移为3像素, 垂直位移为-3像素。UMV预测技术提高了用于运动估计与补偿的边界块的编码 效率,从而改善了图像质量。
当接收到帧边界上的色度分量时,运动向量裁剪单元24执行符合实际视频 规格RV9的运动向量裁剪方案,如图4a至图4c所示。图4a至图4c是结合于 图2的视频解码器的运动向量裁剪方案的实施例的示意图。运动向量裁剪单元 24接收8x4色度分量的视频块42 (图4a所示),将其划分为两个4x4运动向 量裁剪子块42a与42b (图4b所示),将位于帧边界之外的4x4运动向量裁剪 子块42b向左或向上移位预设距离(图4c所示),并对运动向量裁剪子块42a 与42b执行运动补偿。帧边界上的运动向量裁剪子块可向上与向左移位至不超 出视频帧之外三个像素的位置。本实施例中,运动向量裁剪方案实施于色度分 量,方案执行以下步骤
对每一视频块,计算视频块的多个运动向量;
对每一运动向量裁剪子块,计算其移位后的边界(如向左移位后的右边界或 向上移位后的下边界)与视频块的宽度或高度的差值,并将差值与反向运动向 量作比较,依据其中的较小者对运动向量裁剪子块进行运动补偿,其中运动向 量裁剪子块为运动向量裁剪单元。
对运动向量裁剪子块的操作可表示为下列函it:
TRUNCATE—LO(mvxF, (crWi她-xRefPos - 3) * INTERP—FACTOR - 1, lo); TRUNCATE—LO(mvyF, (crHeight - yRefPos - 3) * INTERP FACTOR - 1, lo);
}
TRUNCATE一LO(val, lim, tmp) (tmp) = (lim); if((tmp)<(val)) (val)=(加p); 其中,mvxF为沿水平方向的反向运动向量; mvyF为沿垂直方向的反向运动向量; crWidth为^L频块的宽度; crHeight为岸见频块的高度;xRefPos为运动向量裁剪子块的最左端; yRefPos为运动向量裁剪子块的最上端; INTERP—FACTOR为内插分数因子;以及 lo为临时变量。
图5是图2中的运动向量裁剪单元的实施例的方框图。运动向量裁剪单元5 包含分割(partition)单元50与耦合于分割单元50的运动补偿单元52。分割单 元50接收具有预设块尺寸(block dimension)的视频块Db,当视频块Db位于视 频帧的帧边界时,将其分割为多个子块Dsub,这些子块具有小于预,没块尺寸的子 块尺寸。举例来说,预设块尺寸为8x4像素,则子块尺寸可为4x4、 2x2、 2x4 或4x2像素。运动补偿单元52接着对子块Dsub执行运动补偿以产生重建的视频 块De。mp。再如,视频块Db为具有预设块尺寸8x4的色度分量,当色度分量覆盖 到视频帧边界时,分割单元50分割色度分量以提供两个4x4的子块,运动补偿 单元52对所纟是供的子块4丸行运动补偿,因而其运动向量不发生改变。
图6是依据本发明实施例的运动补偿方案的示意图,请一并参照图5的运 动向量裁剪单元5。
当视频块Db位于视频帧66内部时,如图6所示视频块60,块分割尚未分 离,仍保持完整。当视频块Db(如视频块62)靠近视频帧边界时,分割单元50将 视频块62的位置与预设边界阈值TH作比较,若视频块62的位置超出预设边界 阈值TH,将视频块62分为子块620与622。运动补偿单元52则对子块620与 622执行运动补偿以产生重建的当前块。当视频块Db(如视频块64)位于右边界 或下边界上时,分割单元50将其分为子块640与642,从而使两个子块的运动 向量保持相同。运动补偿单元52对子块640与642执行运动补偿以产生重建的 当前块。分割单元50将视频块Db分为两个运动向量裁剪子块(未显示于图中), 当运动向量裁剪子块位于视频帧的右边界或下边界时,调整运动向量使其向左 或向上移位,并在运动向量调整之后对其进行分割,从而可确定浮见频块Db位于 右边界还是下边界。
所属技术领域的技术人员可轻易完成的均等改变或润饰均属于本发明所主 张的范围,本发明的权利范围应以权利要求书所限定的范围为准。
权利要求
1. 一种运动补偿方法,包含有接收具有预设的块尺寸的视频块;当所述视频块位于视频帧的帧边界时,将所述视频块分割为多个子块,所述子块具有小于所述预设的块尺寸的子块尺寸;以及对所述子块执行运动补偿。
2. 如权利要求1所述的运动补偿方法,其特征在于,所述分割步骤包含有 当所述视频块位于所述视频帧的右边界或下边界时,将所述视频块分割为所述 子块。
3. 如权利要求1所述的运动补偿方法,其特征在于,更包含 将所述^L频块划分为两个运动向量裁剪子块;当所述视频块位于所述视频帧的所述帧边界时,将其中的一个运动向量裁 剪子块移位至不超出视频帧之外三个像素的位置;以及对所述移位后的运动向量裁剪子块与另一运动向量裁剪子块执行运动补 偿,以产生两个运动向量;其中,所述分割步骤包括当由所述运动向量裁剪子块产生的所述运动向 量不同时,分割所述视频块。
4. 如权利要求1所述的运动补偿方法,其特征在于,所述分割步骤包含 当所述视频块的位置超出所述^L频帧的预设边界阈值时,分割所述视频块。
5.如权利要求1所述的运动补偿方法,其特征在于,所述视频块为色度视 频块。
6. —种运动补偿方法,包含有接收控制信号,以选择无限制运动向量模式与分离受限运动向量裁剪模式 其中之一;接收纟见频块;在所述无限制运动向量模式下对所述视频块执行运动补偿;以及 将所述视频块划分为两个运动向量裁剪子块,当所述视频块位于视频帧的 帧边界时,将其中一个运动向量裁剪子块向所述帧边界的左方或上方移位,并 且在所述分离受限运动向量裁剪模式下对所述移位后的运动向量裁剪子块及另一运动向量裁剪子块执行运动补偿。
7. 如权利要求6所述的运动补偿方法,其特征在于,在所述分离受限运动 向量裁剪模式下的所述划分操作、所述移位操作以及所述执行运动补偿的操作 包含对每一视频块,计算所述视频块的多个运动向量;对每一运动向量裁剪子块,计算其移位后的边界与所述视频块的宽度或高 度的差值,并将所述差值与反向运动向量作比较,依据其中的较小者对所述运 动向量裁剪子块进行运动补偿,其中所述运动向量裁剪子块为运动向量裁剪单元。
8. 如权利要求6所述的运动补偿方法,其特征在于,更包含基于所述视 频块的lt据类型确定所述控制信号。
9. 如权利要求6所述的运动补偿方法,其特征在于,所述视频块具有预设 块尺寸,所述运动补偿方法更包含当所述视频块位于所述视频帧的所述帧边 界时,将所述视频块分割为多个子块,所述子块具有小于所述预设块尺寸的子 块尺寸,并在所述分离受限运动向量裁剪模式下对所述子块执行运动补偿。
10. 如权利要求9所述的运动补偿方法,其特征在于,所述分割步骤包含 当所述视频块位于所述视频帧的右边界或下边界时,将所述视频块分割为所述 子块。
11. 如权利要求9所述的运动补偿方法,其特征在于,其中 对所述移位后的运动向量裁剪子块及另一运动向量裁剪子块执行运动补偿的步骤包含对所述移位后的运动向量裁剪子块与另 一运动向量裁剪子块执行 运动补偿,以产生两个运动向量;以及所述分割步骤包含当由所述运动向量裁剪子块产生的所述运动向量不同 时,分割所述视频块。
12. 如权利要求9所述的运动补偿方法,其特征在于,所述分割步骤包含 当所述视频块的位置超出所述视频帧的预设边界阈值时,分割所述视频块。
13. —种可执行运动补偿的集成电路,包含有分割单元,用于接收具有预设块尺寸的视频块,并在所述视频块位于视频 帧的帧边界时,将所述视频块分割为多个子块,所述子块具有小于所述预设块 尺寸的子块尺寸;以及运动补偿单元,耦合至所述分割单元,用于对所述子块执行运动补偿。
14. 如权利要求13所述的可执行运动补偿的集成电路,其特征在于,当所 述视频块位于所述视频帧的右边界或下边界时,所述分割单元将所述视频块分 割为所述子块。
15. 如权利要求13所述的可执行运动补偿的集成电^各,其特征在于,更包含运动向量裁剪单元,用于将所述视频块划分为两个运动向量裁剪子块,当 所述视频块位于所述视频帧的所述帧边界时,将其中的一个运动向量裁剪子块 移位至不超出视频帧之外三个像素的位置,并且对所述移位后的运动向量裁剪 子块及另一运动向量裁剪子块才丸行运动补偿,以产生两个运动向量,其中当由所述运动向量裁剪子块产生的所述运动向量不同时,所述分割单 元分割所述^L频块。
16. 如权利要求13所述的可执行运动补偿的集成电路,其特征在于,当所 述视频块的位置超出所述视频帧的预设边界阈值时,所述分割单元分割所述视 频块。
17. 如权利要求13所述的可执行运动补偿的集成电路,其特征在于,所述 ^见频块为色度视频块。
18. —种可执行运动补偿的集成电路,包含有控制器,用于产生控制信号,以选择无限制运动向量模式与分离受限运动向量裁剪模式其中之一;无限制运动向量单元,耦合至所述控制器,用于接收视频块,在选择所述无限制运动向量模式时对所述一见频块执行运动补偿;以及运动向量裁剪单元,耦合至所述控制器,在所述分离受限运动向量裁剪模 式下,所述运动向量裁剪单元将所述视频块划分为两个运动向量裁剪子块,当 所述视频块位于视频帧的帧边界时,所述运动向量裁剪单元将其中一个运动向 量裁剪子块向所述帧边界的左方或上方移位,并对所述移位后的运动向量裁剪 子块及另 一运动向量裁剪子块执行运动补偿。
19. 如权利要求18所述的可执行运动补偿的集成电路,其特征在于,所述 运动向量裁剪单元依据如下步骤运作对每一视频块,计算所述一见频块的多个运动向量;对每一运动向量裁剪子块,计算其移位后的边界与所述视频块的宽度或高 度的差值,并将所述差值与反向运动向量作比较,依据其中的较小者对所述运动向量裁剪子块进行运动补偿,其中所述运动向量裁剪子块为所述运动向量裁剪单元。
20. 如权利要求18所述的可执行运动补偿的集成电路,其特征在于,所述 控制器更基于所述视频块的数据类型确定所述控制信号。
21. 如权利要求18所述的可执行运动补偿的集成电路,其特征在于,所述 视频块具有预设块尺寸,所述集成电路更包含耦合至所述控制器的分割单元, 在所述视频块位于所述视频帧的所述帧边界时,将所述视频块分割为多个子块, 所述子块具有小于所述预设块尺寸的子块尺寸,并在所述分离受限运动向量裁 剪模式下对所述子块执行运动补偿。
22. 如权利要求21所述的可执行运动补偿的集成电路,其特征在于,当所 述视频块位于所述视频帧的右边界或下边界时,所述分割单元将所述-见频块分 割为所述子块。
23. 如权利要求21所述的可执行运动补偿的集成电路,其特征在于,其中 所述运动向量裁剪单元对所述移位后的运动向量裁剪子块与另一运动向量裁剪子块执行运动补偿的步骤包含对所述移位后的运动向量裁剪子块与另一 运动向量裁剪子块执行运动补偿,以产生两个运动向量;以及当由所述运动向量裁剪子块产生的所述运动向量不同时,所述分割单元分 割所述^L频块。
24. 如权利要求21所述的可执行运动补偿的集成电路,其特征在于,当所 述视频块的位置超出所述视频帧的预设边界阈值时,所述分割单元分割所述视 频块。
全文摘要
本发明揭露一种运动补偿方法及可执行运动补偿的集成电路。可执行运动补偿的集成电路包含有分割单元,用于接收具有预设块尺寸的视频块,并在视频块位于视频帧的帧边界时,将视频块分割为多个子块,子块的尺寸小于预设块尺寸;以及运动补偿单元,耦合至分割单元,用于对多个子块执行运动补偿。本发明的运动补偿方法及可执行运动补偿的集成电路,通过将视频块分割为多个子块,提高了用于运动估计与补偿的边界块的编码效率,从而改善了图像质量。
文档编号H04N7/26GK101448154SQ20081014660
公开日2009年6月3日 申请日期2008年9月2日 优先权日2007年11月27日
发明者朱启诚, 王智鸣, 陈俊嘉 申请人:联发科技股份有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1