一种用于视频编码和压缩的运动估计的方法与流程

文档序号:18923817发布日期:2019-10-19 03:48阅读:318来源:国知局
一种用于视频编码和压缩的运动估计的方法与流程

本发明涉及多媒体技术领域中的视频编码和压缩,特别是涉及视频编码的快速运动估计。



背景技术:

运动估计的块匹配方法是视频压缩的主流技术,已经被许多视频编码标准所应用,尤其在低码率方面,H264比MPEG-4而言,可以获得很高的编码效率有明显的提高,非常适合低宽带、高质量网络视频应用的需要。但是,H264为了提高编码效率,采用了许多高计算复杂度的算法。

许多研究致力于如何在运动估计过程中利用提前终止策略加速视频编码。在块匹配过程中,当匹配代价小于事先定义好的提前终止阈值时,可认为当前搜索的块为全局最佳并终止搜索,节省了搜索点数,从而加速运动估计的进程。可见,为了保证编码性能的损失尽可能小,提前终止阈值的设定就显得至关重要。在运动估计过程中搜索范围一般都是固定的,如果能够根据视频序列的特性动态调整搜索范围,就可以更快地找到最佳运动矢量,节省搜索点数,从而降低编码的计算量。

然而现有的搜索范围的调整策略都是基于同一帧内已编码相邻块的运动矢量的大小来改变搜索范围的。然而较大的运动矢量并不意味着需要一个大的搜索范围,这是因为搜索的起点不是原点,而是相对原点位移等于预测矢量的点。这使得大量不必要的搜索点被无效搜索,复杂度仍然较高。



技术实现要素:

本发明的目的在于提出了一种用于视频编码的运动估计的方法:使用提前终止策略,结合运动矢量预测以及不同的搜索模板在自适应的搜索范围内进行块匹配,可以有效地降低运动估计的计算量。

本发明解决其技术问题采用的技术方案如下:

一种用于视频编码的运动估计的方法。首先,进行最初起始点预测:依次使用空间中值预测、上层预测、时间域邻近参考帧预测来预测当前块的运动矢量;

其次,计算提前终止阈值:设T1、T2、T3、T4、T5、T6和T7分别表示16×16、16×8、8×16、8×8、8×4、4×8和4×4块的提前终止阈值,当前帧的序号为t,提前终止阈值定义为:

Ti=min{Jt-1,Jt(a),Jt(b),Jt(c),Jt(d)},i=1,2,……,7;

其中:Jt-1表示前一帧相同位置宏的最小匹配代价Jmin;Jt(a)、Jt(b)、Jt(c)、Jt(d)分别表示当前编码块的相邻块a、b、c、d的最小匹配代价Jmin。上式的含义是取五个Jmin中的最小值作为当前编码块的提前终止阈值;

第三,定义搜索范围大小:取MVa、MVb、MVc和MVd与预测矢量坐标差值的最大值作为搜索范围search_range的大小,定义如下:

search_range=max{|MVi(x)-PMVx|,|MVi(y)-PMVy|}i∈{a,b,c,d}

MVa、MVb、MVc和MVd分别表示当前编码块的相邻块a、b、c、d的预测矢量;

其中:MVi(x)和MVi(y)表示预测矢量MVi的横坐标和纵坐标,PMVx和PMVy分别为当前编码块的预测矢量的横坐标和纵坐标。上式计算得到的当前搜索窗口为边长等于2×search_range的方形区域;

当匹配误差大于预定门限值时,采用双重搜索模板,增加搜索路径,找到全局最优点;分别以预测点集中的最优点和次优点作为精细搜索的起始点,形成两条独立的搜索路径。

最后,利用矩形模板和六边形模板进行最佳点搜索:

即首先进行边长为2的六边形模板搜索。如果当前最佳点的匹配代价小于提前终止阈值,终止搜索;如果当前最佳点为搜索中心或处于搜索范围以外,则以当前最佳点为中心进行六边形模板搜索,直到出现最佳点的匹配代价小于提前终止阈值、最佳点不在中心和最佳点在搜索范围内这三种情形之一为止。

根据本发明的用于视频编码的运动估计的方法,进一步包括,在进行运动矢量预测时:

(1)中值预测后不直接用十字模板进行搜索,而是先进行原点预测,如果最小失真率小于自适应的阈值,则结束搜索,否则,作十字模板搜索。

(2)进行上层预测和相邻参考帧预测后,不直接做十字搜索,而是先判断最小失真率与自适应阈值的大小,若最小失真率小于自适应的阈值,结束搜索。

根据本发明的用于视频编码的运动估计的方法,在利用矩形模板和六边形模板进行搜索之后,如果当前最佳点的匹配代价小于预定最小绝对差值和,则以当前最佳点为中心进行一次九点均布的矩形模板搜索,得到优化的最佳点。

本发明与背景技术相比,具有的以下有益效果:解决了运动估计的高计算复杂度问题,在运动估计过程中使用自适应的搜索范围和提前终止策略以节省不必要的搜索点,并且引入前一帧相同位置的块及其上下左右四个相邻块的运动矢量以提高预测矢量的准确性,同时基于预测矢量的大小采用不同模板进行搜索。本文采用的技术方案在保证编码质量的情况下,有效地降低了运动估计的复杂度。

附图说明

图1是根据本发明运动估计方法的流程图。

具体实施方式

下面参照附图进一步描述本发明的优选实施例。

如图1所示,在视频编码过程对任一宏块利用H.264标准的参考实现软件JM中定义的全搜索方法,得到在参考帧上的运动矢量MV,其中N为参考帧的数目。

首先,进行最初起始点预测:依次使用空间中值预测、上层预测、时间域邻近参考帧预测来预测当前块的运动矢量。其中在进行运动矢量预测时:

(1)中值预测后不直接用十字模板进行搜索,而是先进行原点预测,如果最小率失真min_mcost小于自适应的阈值ET,则结束搜索,否则,作十字模板搜索。

(2)进行上层预测和相邻参考帧预测后,不直接做十字搜索,而是先判断min_mcost与ET的大小,若min_mcost<ET,结束搜索。

为了进一步减少预测点数,在经过此阈值判断之后,再增加一个内容自适应的新阈值来判断是否可提前结束搜索。

其次,计算提前终止阈值:

设T1、T2、T3、T4、T5、T6和T7分别表示16×16、16×8、8×16、8×8、8×4、4×8和4×4块的提前终止阈值,当前帧的序号为t,提前终止阈值定义为:

Ti=min{Jt-1,Jt(a),Jt(b),Jt(c),Jt(d)},i=1,2,……,7;

其中:Jt-1表示前一帧相同位置块的最小匹配代价Jmin;Jt(a)、Jt(b)、Jt(c)、Jt(d)分别表示当前编码块的相邻块a、b、c、d的最小匹配代价Jmin。上式的含义是取T1-T7的五个Jmin中的最小值作为当前编码块的提前终止阈值。

第三,定义搜索范围大小:

取MVa、MVb、MVc和MVd与预测矢量坐标差值的最大值作为搜索范围search_range的大小,定义如下:

search_range=max{|MVi(x)-PMVx|,|MVi(y)-PMVy|}

i∈{a,b,c,d}

MVa、MVb、MVc和MVd分别表示当前编码块的相邻块a、b、c、d的预测矢量;

其中:MVi(x)和MVi(y)表示预测矢量MVi的横坐标和纵坐标,PMVx和PMVy分别为当前编码块的预测矢量的横坐标和纵坐标。上式计算得到的当前搜索窗口为边长等于2×search_range的方形区域。

当匹配误差大于预定门限值时,采用双重搜索模板,增加搜索路径,找到全局最优点;分别以预测点集中的最优点和次优点作为精细搜索的起始点,形成两条独立的搜索路径。

最后,利用矩形模板和六边形模板进行最佳点搜索。

首先进行一次边长为2的六边形模板搜索。如果当前最佳点的匹配代价小于提前终止阈值,终止搜索;如果当前最佳点为搜索中心或处于搜索范围以外,则当前最佳点为中心进行六边形模板搜索,直到出现最佳点的匹配代价小于提前终止阈值、最佳点不在中心和最佳点在搜索范围内这三种情形之一为止。

如果当前最佳点的匹配代价小于预定最小绝对差值和,则以当前最佳点为中心进行一次九点均布的矩形模板搜索,得到优化的最佳点。

本文上述算法在保持与MPEG算法接近的编码性能的同时,计算复杂度大幅降低。与传统算法相比,在重建图像质量和码率接近的情况下,最多可减少45.39%的运动估计时间,平均节省32.76%。

本领域技术人员显而易见的是,本文采用的技术方案,基于预测矢量的大小采用不同模板进行搜索。在保证编码质量的情况下,有效地降低了运动估计的复杂度。

应该理解,上述实施例是针对特定情况下进行描述的,但是本发明并不局限于该实施例,在不脱离本发明精神和范围的情况下,可以对本发明做出各种各样的改进和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1