用于h.264编码的块匹配运动估计方法

文档序号:7651540阅读:388来源:国知局
专利名称:用于h.264编码的块匹配运动估计方法
技术领域
本发明涉及一种计算机领域中视频图像编码,特别涉及一种基于 H. 264编码的自适应块匹配运动估计方法。
背景技术
H. 264是由ITU-T和IS0两个组织的专家为实现视频的更高压縮比,更好 的图像质量和良好的网络适应性而提出的视频编码标准。事实证明,H. 264 编码具有比其他视频压縮标准更节省码流,并且比MPEG-4算法简单的特点。
为了提高编码效率,H.264 /AVC采用了许多新的技术,其中一个新技 术就是帧间编码采用了基于块匹配的运动估计(B固E, Block—Matching Motion Estimation)技术。基于块匹配的运动估计的准确性和时间性是影 响编码器整体性能的主要因素之一,对图像块进行匹配搜索的计算量很大, 它和运动补偿块模式选择部分的处理共占整个编码器运算量的60%左右。 所以如何在保证一定图像质量条件下,尽量减少块运动估计的计算量,成 为当今研究的一个热点。
H. 264视频编码标准的性能很大程度上取决于运动估计,而影响运动估 计的主要因素是匹配准则和搜索算法。而搜索中心和搜索范围的确定能够 大大提高搜索的效率。因此,很多针对块匹配的快速搜索算法被相继提出 来。块匹配运动估计的基本原理是将当前帧分割成互不重叠的小块(如大小 为16X16像素等),然后在参考帧中进行运动搜索,寻找最佳匹配位置作为
预测,编码时只编码运动向量与块残差信息,以消除帧间冗余度,降低码 率。在块匹配运动估计中,运动估计的精度会对码率产生很大的影响。块
匹配法中,最简单、最可靠的方法是全搜索法(FS, Full Search)即穷尽搜 索方法,但由于其要求对搜索窗内所有点进行匹配,所需运算量十分巨大, 很难适应实际应用,特别是实时应用的要求。于是出现了许多快速搜索算 法,最典型的有三步法TSS(Three—st印Search)、新三步法NTSS (New Three-step Search) 、 二维对数法、菱形搜索法DS (Diamond Search)等。
运动估计算法中常用的匹配准则有以下几种最小绝对差(MAD)、最小 均方差(MSE)和最小绝对误差(SAD)等,由于SAD准则不需要作乘法运算,实 现简单、方便、所以使用最多,通常使用SAD准则。
对于硬件设计来说,快速搜索方法需要根据每一步搜索的结果动态调 整对存储单元数据的访问区域,硬件开销较大。

发明内容
本发明要解决的技术问题是提供一种用于H. 264编码的块匹配运动 估计方法,其具有高度的灵活性,可减少运动估计的范围和时间。
为解决上述技术问题,本发明的用于H. 264编码的块匹配运动估计方 法,包括以下步骤获取视频图像中与当前宏块相邻的左边、上边、左上 和右上四个宏块的运动矢量,若其中某个宏块不存在,则相应的运动矢量
赋值为0;根据所述四个宏块的运动矢量确定搜索中心;根据所述运动矢
量的平均值调整搜索范围;在上述搜索范围内进行运动搜索,并利用最小 绝对误差SAD准则进行匹配和提前中止判定。
与现有技术相比,本发明的运动估计方法,利用了视频图像中当前宏
块与相邻宏块间的很强的空间相关性,特别是运动矢量间的强相关性,同 时利用大部分相邻宏块的运动矢量代表了当前宏块基本的运动方向的特 点,自适应地确定搜索中心,动态调整搜索范围的形状,能在基本不损失 信噪比的前提下,大大提高搜索准确度,降低运算复杂度。与以往固定搜 索区域的方法相比,它具有更高的灵活性,还可以与其他任何一种快速运 动估计方法相结合。试验结果表明,在基本不影响重构图像质量的前提下, 本方法平均搜索次数比全搜索方法有很大程度縮小,运算速度大大提高。


下面结合附图与具体实施方式
对本发明作进一步详细的说明 图1本发明中当前宏块与相邻宏块位置示意图; 图2本发明的运动估计方法的流程图。
具体实施例方式
本发明的方法主要依据是视频图像运动的连续性以及图像中运动物 体的整体性,从而导致了同一帧图像中相邻宏块的运动矢量具有高时空相 关性,可以根据已编码块的运动矢量来预测当前块的运动矢量。通过相邻 块的运动矢量预测搜索中心,使中心进一步偏向全局最优点,在全局最优 点附近的小范围内,找到全局最优点的概率将大大提高,从而可以大大提 高编码效率。
本发明的方法其流程包括自适应搜索中心的确定、动态调整搜索区域 的大小、根据搜索匹配阈值提前中止等步骤,见图2所示。本发明的运动估 计方法主要包含以下步骤
1.获取与当前宏块相邻的四个宏块的运动矢量信息。
在4:2:0的视频编码中,编码以宏块为单位, 一个宏块包含1个16X 16 的亮度块和2个8X8色度块。编码时,按照从左到右,从上到下的顺序一个 宏块接着一个宏块进行。假设A,B,C,D为与当前宏块的相邻的左边、上边、 左上和右上的四个宏块(见图l),获取这四个宏块相对应的x方向和y方向 运动矢量,分别为mvx和mvy。若当前宏块四个相邻宏块中某个宏块不存在, 则相应的mvx和mvy设为O。从而得到与当前宏块的左边、上边、左上和右上 四个宏块相对应的4组值mvx和mvy 。
2.根据上述四个宏块的运动矢量确定搜索中心的x坐标和y坐标,以 search—center—x禾口search—center—y表示。自适应搜索中心的确定是根据 图像相邻宏块之间的空间相关性,当前宏块与相邻宏块的运动矢量(motion vector)代表了图像整体的运动方向这一原理进行预测的。
具体可分以下几种情况处理
(1) 四个宏块的mvx或mvy,若0的个数大于2,贝ljsearch—center—x=0, search—cent er—y=0 j
(2) 若四个宏块的mvx或mvy符号均相同,取上述四个块运动矢量的平
均值作为搜索中心坐标,即
search—center_x = average (mvx—A+ mvx—B+ mvx一C十mvx—D), search—center_y= average (mvy—A+ mvy_B+ mvy一C十mvy一D);
(3) 若四个宏块的运动矢量中,有3个宏块的mvx (或mvy)符号相 同,取这三个符号相同的mvx (或mvy)的中间值(即数值大小在三个数 中排在中间的那个数)作为搜索中心坐标;
(4) 若四个宏块的运动矢量中,X轴运动矢量mvx或Y轴运动矢量mvy
符号为2正2负,则搜索中心坐标为(0, 0), <formula>formula see original document page 8</formula>
3.搜索范围(search—mnge_x, search—range—y)的确定。 为适应不同运动程度的视频图像序列、提高运动估计的性能,采用自 适应搜索窗。扩大的搜索窗对于大运动序列,无疑可以进一步提高运动估 计的精度,但对于较小运动序列,却是不必要的浪费。显然,如果能够根 据序列本身的运动特性,自适应地确定一个搜索范围,使绝大部分最佳匹 配点都落于该范围内,则可在保证PSNR方面性能的同时,降低运算量,提 高效率。
根据运动区域的特征,特别是对同一物体,由于构成它的宏块具有高 度相关的运动矢量,因此如果利用相邻宏块的运动矢量来预测当前宏块的 初始运动矢量,那么找到初始搜索中心位置后,就可以使最终得到的运动 矢量更接近于全局最优值,甚至优于用全搜索算法找到的运动矢量。
自适应搜索范围的确定是根据图像当前宏块的相邻宏块运动矢量的 大小代表了图像整体运动的剧烈程度。在H.264中,宏块的分块方式有 16X16, 16X8, 8X16, 8X8, 8X4, 4X8禾口 4X4等7禾中方式,运动搜 索对每种分块方式独立进行,最终选取其中最佳分块方式下的最佳匹配位 置。以下以16X16分块方式为例,设搜索点数为4iV2 (根据用户输入确 定),具体实施步骤为-
1)首先计算上述四个宏块运动矢量的平均值avg—mvx, avg—mvy,即 avg_mvx= average (mvx—A+ mvx—B+ mvx_C+ mvx一D), avg—mvy= average (mvy—A+ mvy—B+ mvy—C+ mvy一D);
2)根据步骤l)中四个宏块运动矢量平均值avg—mvx, avg—mvy的大 小动态确定搜索范围的形状。搜索点数根据用户输入确定需搜索的像素 点,假设为4iV2点,设x方向搜索范围为search—range_x (其含义为搜索 分布在搜索中心左边和右边各search—range—x个像素点),而y方向搜索 范围为search_range_y (其含义为搜索分布在搜索中心上边和下边各 search—range—y个像素点),则相应的搜索范围与搜索点数的关系应满 足2xsearch—range—xx2xsearch—rangej = 4N2 。搜索时,仍按照行扫描的顺 序,即从左到右,从上到下, 一个像素点位置接着下一像素点位置进行。
分以下几种情况分别处理<formula>formula see original document page 9</formula>4.在步骤3中所述的搜索范围内进行运动搜索,并利用SAD准则进行匹 配和提前中止判定。
本发明方法的匹配采用SAD匹配准则,其数学表达式如下
<formula>formula see original document page 9</formula> 其中,(i, j)为位移矢量分别在水平、垂直坐标上的分量,厶,力分别为当前帧和参考帧的像素值,MxN为宏块的分块大小。SAD的计算区域根 据搜索分块大小确定,在H. 264中,每个宏块可分为16X16, 16X8, 8X16, 8X8, 8X4, 4X8和4X4等7种分块方式,M, N值根据分块方式确定,如16 X8分块方式下,M=16, N=8。根据全搜索在小区域内取得的SAD值来判定 该块的时空相关性.这个SAD值也决定了编码所能接受的搜索精度与编码图 像质量即给定一个值T (可根据该码流的场景复杂度和运动快慢确定), 当SAD《T则认为该块的时空相关性高;SAD〉T则认为该块的时空相关性较 弱。因此,按照这一方式,对于当前块与相邻块的时空相关性高的搜索, 通过SAD《T判定有效之后直接结束本次搜索;而对于时空相关性比较弱的 情况,以少量的计算复杂度为代价,提高该块的搜索精度。
与现有技术相比,本发明提出了 一种用于H. 264自适应搜索中心和自 适应搜索范围的快速运动估计方法,充分利用了图像当前宏块与相邻宏块 间的很强的空间相关性,特别是运动矢量间的强相关性,同时充分利用大 部分相邻宏块的运动矢量代表了当前宏块基本的运动方向的特点,自适应 地确定搜索中心,动态调整搜索范围的形状,能在基本不损失信噪比的前 提下,大大提高搜索准确度,降低运算复杂度。试验结果表明,在基本不 影响重构图像质量的前提下,本方法平均搜索次数比全搜索方法有很大程 度縮小,运算速度大大提高。
权利要求
1、一种用于H. 264编码的块匹配运动估计方法,其特征在于,包括以下步骤(1)获取视频图像中与当前宏块相邻的左边、上边、左上和右上四个宏块的运动矢量,若其中某个宏块不存在,则相应的运动矢量赋值为0;(2)根据所述运动矢量确定搜索中心;(3)根据所述运动矢量的平均值调整搜索范围;(4)在步骤(3)中所述的搜索范围内进行运动搜索,并利用最小绝对误差SAD准则进行匹配和提前中止判定。
2、 按照权利要求l所述的块匹配运动估计方法,其特征在于,所述步骤(2)中搜索中心的确定方法为(1) 对于四个宏块的x轴运动矢量mvx或y轴运动矢量mvy,若0 的个数大于2,则搜索中心坐标为(0, 0);(2) 若四个宏块的x轴运动矢量mvx或y轴运动矢量mvy符号均相 同,取各自的平均值作为搜索中心坐标;(3) 若四个宏块的x轴运动矢量mvx或y轴运动矢量mvy中,有三 个宏块的x轴运动矢量mvx或y轴运动矢量mvy符号相同取所述三个符 号相同的宏块中,x轴运动矢量mvx或y轴运动矢量mvy的数值大小排在 中间的宏块的x轴运动矢量mvx或y轴运动矢量mvy的数值作为搜索中心 坐标;(4) 若四个宏块的x轴运动矢量mvx或y轴运动矢量mvy中,其符号为2正2负,则搜索中心坐标为(0, 0)。
3、按照权利要求1或2所述的块匹配运动估计方法,其特征在于,所述 步骤(3)中调整搜索范围的方法为(1) 计算所述四个宏块运动矢量的平均值avg一mvx, avg—mvy;(2) 根据上述四个宏块运动矢量平均值的大小确定搜索范围,分以 下情况处理(其中4^为需搜索像素点数)a) 若avg—mvx二0, avg—mvy不为0,则x方向搜索范围为l, y方向搜索范围为NXN;b) 若avg—mvy=0, avg一mvx不为0,则y方向搜索范围为1, x方向搜索范围为NXN;c) 若avg—mvx =0, avg—mvy = 0,则y方向搜索范围为N, x方向搜索范围为N;d) 若lavg—mvx|/|avg—mvy|=m/n,则y方向搜索范围为mXa, x方向搜索范围为nXa,其中mXnXaXa二NXN。
全文摘要
本发明公开了一种用于H.264编码的块匹配运动估计方法,其包括以下步骤获取视频图像中与当前宏块相邻的左边、上边、左上和右上这四个宏块的运动矢量;根据所得运动矢量确定搜索中心;根据所述运动矢量的平均值调整搜索范围;及在上述所述的搜索范围内进行运动搜索,并利用最小绝对误差SAD准则进行匹配和提前中止判定。本运动估计方法利用了图像当前宏块与相邻宏块间的运动矢量间的强相关性,能在基本不损失信噪比的前提下,大大提高搜索准确度,降低运算复杂度及提高运算速度。
文档编号H04N7/26GK101378504SQ20071009405
公开日2009年3月4日 申请日期2007年8月31日 优先权日2007年8月31日
发明者巡 仲, 林晓芸, 欧阳合, 葛志荣, 黄小振 申请人:上海杰得微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1