掌桥专利:专业的专利平台
掌桥专利
首页

运动估计方法、芯片、电子设备以及存储介质

文献发布时间:2023-06-19 13:29:16


运动估计方法、芯片、电子设备以及存储介质

技术领域

本发明实施例涉及图像处理技术领域,尤其涉及一种运动估计方法、芯片、电子设备以及存储介质。

背景技术

视频帧率是一秒内显示设备播放帧数的量度,一般情况下,在每秒60帧图片的播放帧率的情况下,人眼会感觉到视频比较逼真和流畅。在实际应用中,低帧率的视频资源在显示设备上播放时,人眼能够感受到抖动和模糊。为了解决低帧率带来的视频抖动和模糊效应,可以通过提高视频帧率技术来提高视频图像的主观视觉效果。如果我们只是采用简单的帧重复或者相邻帧做平均的方法来提高帧率,但还是不能解决视频抖动和模糊的问题。

视频帧率转换的主要技术是运动估计(Motion Estimation,ME)和运动补偿(Motion Compensation,MC)。其中,运动估计的基本思想是将图像序列的每一帧分成许多互不重叠的宏块,并认为宏块内所有像素的位移量都相同,然后对每个宏块到参考帧某一给定特定搜索范围内根据一定的匹配准则找出与当前块最相似的块,即匹配块,匹配块与当前块的相对位移即为运动矢量,得到运动矢量的过程被称为运动估计。运动补偿是指利用运动估计方法计算出的运动矢量来预测和补偿当前插帧的局部图像。

目前广泛使用的一种运动估计算法是三维递归搜索算法,也就是采用三维递归搜索的块匹配方法来估计图像的运动。在三维递归搜索的块匹配方法中,当前块的运动矢量是对时间、空间预测的运动矢量的小范围的修正。当前块的运动矢量同时也是下一分块,下一行的相邻分块的空域候选矢量和时域候选矢量。

发明内容

本发明实施例解决的问题是提供一种运动估计方法、芯片、电子设备以及存储介质,提高运动估计的准确性。

为解决上述问题,本发明实施例提供一种运动估计方法,包括:提供原始帧,包括相邻的前一帧和当前帧;利用全搜索法,获得当前帧的当前块在前一帧中对应的匹配块,以及获得前一帧的当前块在当前帧中对应的匹配块;根据当前帧的当前块和对应的匹配块,获得当前帧相应块对应的第一候选矢量集,以及根据前一帧的当前块和对应的匹配块,获得前一帧相应块对应的第二候选矢量集;设置位于所述前一帧和当前帧之间的待插帧;根据所述第一候选矢量集和第二候选矢量集,获得与待插帧的当前块对应的双向运动矢量,用于作为待插帧相应块的候选运动矢量。

相应的,本发明实施例还提供一种芯片,所述芯片包括运动估计模块;所述运动估计模块包括:提供单元,用于提供原始帧,包括相邻的前一帧和当前帧;搜索单元,用于利用全搜索法,获得当前帧的当前块在前一帧中对应的匹配块,以及获得前一帧的当前块在当前帧中对应的匹配块;计算单元,计算单元,用于根据当前帧的当前块和对应的匹配块,获得当前帧相应块对应的第一候选矢量集,还用于根据前一帧的当前块和对应的匹配块,获得前一帧相应块对应的第二候选矢量集;设置单元,用于在所述前一帧和当前帧之间设置待插帧;获取单元,用于根据计算单元输出的所述第一候选矢量集和第二候选矢量集,获得与待插帧的当前块对应的双向运动矢量,输出为待插帧相应块的候选运动矢量。

相应的,本发明实施例还提供一种电子设备,包括本发明实施例提供的芯片。

相应的,本发明实施例还提供一种存储介质,所述存储介质存储有一条或多条计算机指令,所述一条或多条计算机指令用于实现本发明实施例提供的运动估计方法。

与现有技术相比,本发明实施例的技术方案具有以下优点:

本发明实施例提供的运动估计方法中,通过利用全搜索法,将当前帧的当前块与前一帧对应位置的搜索范围内的所有块进行块匹配,以及将前一帧的当前块与当前帧对应位置的搜索范围内的所有块进行块匹配,且全搜索法的搜索步长小,从而为估计待插帧的运动方向提供了更加准确的原始帧的运动方向,有利于增加运动估计的准确性,尤其是增加了小物体运动估计的准确性,而且,本发明实施例还根据利用全搜索法获得的第一候选矢量集和第二候选矢量集,获得与待插帧的当前块对应的双向运动矢量,从而有利于保证待插帧相应块与前一帧和当前帧之间的运动连续性,尤其是有利于保证小物体运动的连续性,进而提高了运动估计的精准性,还有利于降低出现“重叠”和“空洞”等问题的概率。

附图说明

图1是一种运动估计方法的示意图;

图2是本发明提供的运动估计方法一实施例的流程图;

图3是图2所示的运动估计方法中全搜索的块匹配过程示意图;

图4是图2所示的运动估计方法中获得双向运动矢量的过程示意图;

图5是图2中的步骤S5一实施例的流程图;

图6是本发明提供的芯片一实施例的功能框图;

图7是图6中的运动估计模块一实施例的功能框图;

图8是图7中的计算单元一实施例的功能框图;

图9是图7中的获取单元一实施例的功能框图。

具体实施方式

由背景技术可知,目前三维递归搜索算法在帧率转换技术中得到了广泛引用。但是,这种运动估计方法存在运动矢量估计的准确性差的问题,尤其是针对前景运动小物体的运动估计的准确性较差。

具体地,三维递归搜索算法是利用视频中物体运动的连续性,通过时间和空间递归的方法进行运动估计。时间递归是利用当前帧的块和前一帧对应位置的相邻块在运动中存在相关性,将前一帧相邻块的运动矢量传递给当前帧的块。同样地,空间递归是利用当前帧的块和当前帧的相邻块在运动中存在相关性,将当前帧的相邻块运动矢量传递给当前块。

但是,在一些特殊场景下,当前块的运动矢量并非完全是时间、空间相邻块的运动矢量。比如,对图像中存在小物体运动的场景,如果只利用时空递归的运动矢量作为候选运动矢量,小物体很有可能淹没在背景中,无法找到指向小物体的正确运动矢量。

如图1所示,示出了一种运动估计方法的示意图,灰色区域表示图像中的背景,块B为前景运动的小物体,小物体指的是面积大小约等于一个块的面积大小的块,P帧表示前一帧,C帧表示当前帧;图1中,每个背景的块的运动矢量比较小,大部分都是静止的,运动矢量约为零。当计算块B的运动矢量时,由于运动的前景小物体周围的块大部分是静止的,且运动矢量约为零,相邻的运动矢量传递给运动的小区域不能正确的表达小物体的运动矢量。

也就是说,在三维递归搜索算法中,将图像分成大小相同的若干个块,通过三维递归搜索算法得到当前块时间递归和空间递归的候选运动矢量,而三维递归搜索算法得到的候选运动矢量都只是来自当前帧和前一帧相邻的运动矢量,图像中的运动小物体就可能无法找到正确的运动矢量,进而容易将运动小物体的图像丢失。

为了解决所述技术问题,本发明实施例提供一种运动估计方法,包括:提供原始帧,包括相邻的前一帧和当前帧;利用全搜索法,获得当前帧的当前块在前一帧中对应的匹配块,以及获得前一帧的当前块在当前帧中对应的匹配块;根据当前帧的当前块和对应的匹配块,获得当前帧相应块对应的第一候选矢量集,以及根据前一帧的当前块和对应的匹配块,获得前一帧相应块对应的第二候选矢量集;设置位于所述前一帧和当前帧之间的待插帧;根据所述第一候选矢量集和第二候选矢量集,获得与待插帧的当前块对应的双向运动矢量,用于作为待插帧相应块的候选运动矢量。

本发明实施例提供的运动估计方法中,通过利用全搜索法,将当前帧的当前块与前一帧对应位置的搜索范围内的所有块进行块匹配,以及将前一帧的当前块与当前帧对应位置的搜索范围内的所有块进行块匹配,且全搜索法的搜索步长小,从而为估计待插帧的运动方向提供了更加准确的原始帧的运动方向,有利于增加运动估计的准确性,尤其是增加了小物体运动估计的准确性,而且,本发明实施例还根据利用全搜索法获得的第一候选矢量集和第二候选矢量集,获得与待插帧的当前块对应的双向运动矢量,从而有利于保证待插帧相应块与前一帧和当前帧之间的运动连续性,尤其是有利于保证小物体运动的连续性,进而提高了运动估计的精准性,还有利于降低出现“重叠”和“空洞”等问题的概率。

图2是本发明提供的运动估计方法一实施例的流程图。作为一种示例,本实施例所述运动估计方法包括以下基本步骤:

步骤S1:提供原始帧,包括相邻的前一帧和当前帧;

步骤S2:利用全搜索法,获得当前帧的当前块在前一帧中对应的匹配块,以及获得前一帧的当前块在当前帧中对应的匹配块;

步骤S3:根据当前帧的当前块和对应的匹配块,获得当前帧相应块对应的第一候选矢量集,以及根据前一帧的当前块和对应的匹配块,获得前一帧相应块对应的第二候选矢量集;

步骤S4:设置位于所述前一帧和当前帧之间的待插帧;

步骤S5:根据所述第一候选矢量集和第二候选矢量集,获得与待插帧的当前块对应的双向运动矢量,用于作为待插帧相应块的候选运动矢量。

为使本发明实施例的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

参考图2,执行步骤S1:提供原始帧,包括相邻的前一帧和当前帧。

原始帧为未经视频帧率转换技术处理的视频图像对应的视频帧序列。

后续对前一帧和当前帧进行运动估计,获得前一帧指向当前帧、或者当前帧指向前一帧的单向运动矢量,作为原始帧的候选运动矢量。

前一帧和当前帧可以是原始帧中的任意相邻的两个帧。

继续参考图2,本实施例中,所述运动估计方法还包括:在利用全搜索法,获得当前帧的当前块在前一帧中对应的匹配块、以及利用全搜索法,获得前一帧的当前块在当前帧中对应的匹配块之前,识别出前一帧和当前帧中与前景运动小物体对应的块。具体地,可以利用图像分割(Image Segmentation)技术,识别出前一帧和当前帧中与前景运动小物体对应的块。

本实施例中,所述小物体指的是面积大小约等于一个块的块。

在视频图像中,前景运动小物体的周围的块为背景区域,背景区域的块通常为静止的块,也就是说,背景区域的块的运动矢量约为零,而前景运动小物体的面积较小、与背景区域运动差异较大,如果直接用小物体周围的相邻块来对小物体进行运动估计,容易存在估计不准确的问题,因此,通过先将当前帧和前一帧中与运动小物体对应的块识别出来,从而后续仅针对运动小物体利用全搜索法获得对应的匹配块,有利于在提高运动估计的准确性的同时,降低运算复杂度、减少运算量,进而有利于提高响应速度、节约成本。

继续参考图2,执行步骤S2:利用全搜索(Full Search)法,获得当前帧的当前块在前一帧中对应的匹配块,以及获得前一帧的当前块在当前帧中对应的匹配块。

当前块为当前帧或前一帧中需要进行运动估计的块。

获得当前帧的当前块在前一帧中对应的匹配块,从而后续能够根据当前帧的当前块和对应的匹配块,获得当前帧中的块指向前一帧的匹配块的单向运动矢量,作为当前帧相应块的后向运动矢量。

获得前一帧的当前块在当前帧中对应的匹配块,从而后续能够根据前一帧的当前块和对应的匹配块,获得前一帧中的块指向当前帧的匹配块的单向运动矢量,作为前一帧相应块的前向运动矢量。

全搜索算法是最简单可靠的搜索匹配方法,通过利用全搜索法,将当前帧的当前块与前一帧对应位置的搜索范围内的所有块进行块匹配,以及将前一帧的当前块与当前帧对应位置的搜索范围内的所有块进行块匹配,也就是说,全搜索算法对搜索窗口内所有可能的位置计算两个块的匹配误差,所得的最小匹配误差对应的运动矢量(Motion Vector,MV)是全局最优的运动矢量,而且全搜索法的搜索步长小,从而为估计待插帧的运动方向提供了更加准确的原始帧的运动方向,有利于增加运动估计的准确性,尤其是增加了小物体运动估计的准确性。

本实施例中,在利用全搜索法,获得当前帧的当前块在前一帧中对应的匹配块,以及获得前一帧的当前块在当前帧中对应的匹配块之前,还识别出前一帧和当前帧中与前景运动小物体对应的块,因此,利用全搜索法,获得运动小物体的相应块对应的匹配块,有利于在前一帧中搜索到与当前帧小物体的相应块最匹配的块、以及在当前帧中搜索到与前一帧小物体的相应块最匹配的块,从而有利于为运动小物体提供更加准确的原始帧运动方向,进而有利于为运动小物体找到更为准确的运动矢量,而且还有利于减小运算量、提高运算效率。

具体地,本实施例中,全搜索法对搜索范围内的所有像素点按照顺序进行搜索,作为一种示例,所述全搜索法的搜索步长为一个像素,搜素匹配的过程是按照一个像素为步长进行地毯式搜索,逐点比较块的相似性,对于视频中小物体的搜索匹配有重要的意义,有利于提高获得运动小物体的块对应匹配块的精确度。相应地,在后续根据当前块和对应的匹配块获得的后向运动矢量时,有利于增加运动小物体的运动方向估计的准确性。

需要说明的是,在其他实施例中,为了减小运算量、提高响应速度,以及根据实际的运算准确度的要求,所述全搜索法的搜索步长还能够大于一个像素,例如:全搜索法的搜索步长为一个像素的整数倍,且小于块的边长。也就是说,所述全搜索法的搜索步长大于或等于一个像素,且小于块的边长,全搜索法的搜索步长都是小于块的边长,即全搜索法的搜索步长小于运动小物体的边长,与用小物体的块的周围相邻块对小物体进行运动估计相比,本发明实施例的全搜索法的搜索步长更小,搜索的更加精细,从而有利于为运动小物体估计出更加准确的运动方向。

本实施例中,获得所述匹配块的步骤包括:利用全搜索法,基于匹配误差和与当前块之间的距离,获得当前块对应的匹配块。

具体地,利用全搜索法,基于匹配误差和与当前块之间的距离,获得当前帧的当前块在前一帧中对应的匹配块;利用全搜索法,基于匹配误差和与当前块之间的距离,获得前一帧的当前块在当前帧中对应的匹配块。

本发明实施例中,在搜索匹配块的过程中,不仅考虑到匹配误差的影响因素,还考虑到与当前块之间的距离,是由于在实际的搜索匹配过程中,在利用全搜索法直接获得与当前块的匹配误差最小(或者在预设阈值范围)的块时,受到图像中噪声、边界等干扰因素的影响,所找到的块有一定的概率不是实际上与当前块对应的块,例如:虽然所找到的块与当前块的匹配误差最小,但是与当前块的距离非常远,所找到的块为噪声的概率较高,通过在搜索匹配块的过程中将距离也作为考虑因素,有利于找到与当前块实际最匹配、最相似的块,从而在后续估计当前块的运动矢量时,有利于估计出当前块的真实运动方向,进而提高运动估计的准确性。

具体地,在实际的搜索匹配过程中,可以将匹配误差和距离分别分配对应的权重因子,从而能够根据实际情况和需求,通过调节对应的权重因子,调节匹配误差和距离的重要度与优先级,以提高匹配块的搜索准确度,进而减小图像中的噪声、边界等干扰因素对搜索匹配过程的影响。

本实施例中,获得当前帧的当前块在前一帧中对应的匹配块的步骤包括:利用全搜索法,获得前一帧中与当前帧的当前块的匹配误差在预设阈值(Threshold)范围内的多个候选块;将与当前帧的当前块之间的距离最小的一个候选块,作为所述匹配块。

本实施例中,获得前一帧的当前块在当前帧中对应的匹配块的步骤包括:利用全搜索法,获得当前帧中与前一帧的当前块的匹配误差在预设阈值范围内的多个候选块;将与前一帧的当前块之间的距离最小的一个候选块,作为所述匹配块。

结合参考图3,以利用全搜索法,获得当前帧的当前块在前一帧中对应的匹配块作为示例,示意出了本发明实施例全搜索的块匹配过程示意图。

本实施例中,基于公式(I),获得前一帧中与当前帧的当前块B

其中,B

作为一种示例,所述匹配误差error可以基于SAD(Sum of AbsoluteDifferences,绝对误差和)、MAD(Mean Absolute Differences,平均绝对误差)、MSD(MeanSquare Differences,平均误差平方和)、SSD(Sum of Squared Differences,误差平方和)、NCCF(Normalized Cross-Correlation Function,归一化互相关函数)等匹配准则来获得。

其中,w表示全搜索法在前一帧的搜索范围,也就是说,w定义了全搜索法的搜索窗口的大小。搜索窗口越大,越容易找到全局最优的匹配块,但是,也容易增加找到噪声或边界等干扰因素的块的概率,而且,搜索窗口过大容易增加运算成本和计算量;搜索窗口越小,容易导致找不到与当前块匹配误差最小的匹配块,但由于搜索窗口小,搜索范围内的块与当前块的距离比较近,找到噪声、边界等干扰因素的块的概率也较低,而且搜索窗口小有利于减小计算量。因此,在实际的搜索匹配的过程中,可以根据实际的情况和需要,合理设置w的大小。

具体地,在实际的搜索匹配过程中,可能有多个候选块与当前块的匹配误差都为最小值,或者,也可能有多个候选块与当前块的匹配误差都在预设阈值范围内。

其中,预设阈值范围用于保证搜索到的候选块与当前块的匹配误差不至于过大,从而保证候选块与当前块具有较高的相似度和匹配度。而且,在实际的搜索匹配过程中,当前块和前一帧中对应的块之间的匹配误差可能不是零,而是接近于零,通过设置一个预设阈值范围,有利于提高搜索匹配的合理性。

在具体实施中,预设阈值可以预先给定一个值,比如最小可能的SAD值上浮一定范围,这个范围可以是经验设置,也可以根据当前图像块的复杂性分析给出一个自适应值。

当候选块的数量为多个时,将与当前块之间的距离最小的一个候选块,作为所述匹配块。在视频中,相邻两个视频帧之间的时间间隔较短,在运动估计的过程中,通常认为运动物体在相邻两帧的时间间隔内近似做直线运动,且由于相邻两帧之间的时间间隔短,运动物体在相邻两帧之间的位移量通常较小,也就是说,当前帧的当前块与前一帧中对应的块的距离相对较近,或者,前一帧的当前块与当前帧中对应的块的距离相对较近,通过将与当前块之间的距离最小的一个候选块作为匹配块,不仅有利于将候选块中噪声、边界等干扰因素对应的块排除,还有利于在前一帧中搜索到与当前帧的当前块实际对应的匹配块、以及在当前帧中搜索到与前一帧的当前块实际对应的匹配块,从而提高搜索匹配的准确度。

继续参考图2,执行步骤S3:根据当前帧的当前块和对应的匹配块,获得当前帧相应块对应的第一候选矢量集,以及根据前一帧的当前块和对应的匹配块,获得前一帧相应块对应的第二候选矢量集。

通过利用全搜索法,获得当前帧的当前块在前一帧中对应的匹配块,有利于在前一帧中搜索到与当前块最匹配的块,尤其是针对运动小物体搜索到与小物体的块最为匹配的块,从而有利于为运动小物体提供更加准确的原始帧运动方向,进而有利于为运动小物体找到更为准确的运动矢量。

第一候选矢量集用于为获得与待插帧的相应块对应的双向运动矢量提供候选矢量集,有利于保证待插帧相应块与前一帧和当前帧之间的运动连续性,尤其是有利于保证小物体运动的连续性,进而提高了运动估计的精准性。

通过利用全搜索法,获得前一帧的当前块在当前帧中对应的匹配块,有利于在当前帧中搜索到与前一帧的当前块最匹配的块,尤其是针对运动小物体搜索到与小物体的相应块最为匹配的块,从而有利于为运动小物体提供更加准确的原始帧运动方向,进而有利于为运动小物体找到更为准确的运动矢量。

第二候选矢量集用于为获得与待插帧的相应块对应的双向运动矢量提供候选矢量集,有利于保证待插帧相应块与前一帧和当前帧之间的运动连续性,尤其是有利于保证小物体运动的连续性,进而提高了运动估计的精准性。

本实施例中,获得所述第一候选矢量集和第二候选矢量集的步骤包括:根据当前帧的当前块和对应的匹配块,获得当前帧相应块的后向运动矢量,当前帧的多个块对应的后向运动矢量构成所述第一候选矢量集;根据前一帧的当前块和对应的匹配块,获得前一帧相应块的前向运动矢量,前一帧的多个块对应的前向运动矢量构成所述第二候选矢量集。

具体地,在获得当前帧的当前块在前一帧中对应的匹配块之后,根据当前帧的当前块和对应的匹配块之间的相对位置关系,获得当前帧的当前块相对于匹配块的位置偏移量,用于作为所述后向运动矢量。

具体地,在获得前一帧的当前块在当前帧中对应的匹配块之后,根据前一帧的当前块和对应的匹配块之间的相对位置关系,获得前一帧的当前块相对于匹配块的位置偏移量,用于作为所述前向运动矢量。

结合参考图2和图4,执行步骤S4:设置位于所述前一帧(如图4中P帧所示)和当前帧(如图4中C帧所示)之间的待插帧。其中,图4示意出了本发明实施例运动估计方法中获得双向运动矢量的过程示意图。

通过设置位于前一帧和当前帧之间的待插帧,从而提高视频帧率,有利于提高视频的流畅度和平滑度,进而提高用户感受度。

具体地,在沿时间序列上,在所述前一帧和当前帧之间设置待插帧。

在沿时间序列上,待插帧能够位于前一帧和当前帧之间的任意一个位置处。

待插帧中具有多个依次排列好的待插块。

待插帧设置于所述前一帧和当前帧之间,后续根据当前帧对应的第一候选矢量集、以及前一帧对应的第二候选矢量集,获得待插帧的块对应的双向运动矢量。

继续参考图2和图4,执行步骤S5:根据所述第一候选矢量集和第二候选矢量集,获得与待插帧的当前块对应的双向运动矢量,用于作为待插帧相应块的候选运动矢量。

本发明实施例中通过利用全搜索法,将当前帧的当前块与前一帧对应位置的搜索范围内的所有块进行块匹配,以及将前一帧的当前块与当前帧对应位置的搜索范围内的所有块进行块匹配,且全搜索法的搜索步长小,从而为估计待插帧的运动方向提供了更加准确的原始帧的运动方向,有利于增加运动估计的准确性,尤其是增加了小物体运动估计的准确性,而且,还根据利用全搜索法获得的第一候选矢量集和第二候选矢量集,获得与待插帧的当前块对应的双向运动矢量,从而有利于保证待插帧相应块与前一帧和当前帧之间的运动连续性,尤其是有利于保证小物体运动的连续性,进而提高了运动估计的精准性,还有利于降低出现“重叠”和“空洞”等问题的概率。

结合参考图5,示意出了图2中的步骤S5一实施例的流程图。本实施例中,根据所述第一候选矢量集和第二候选矢量集,获得与待插帧的当前块对应的双向运动矢量的步骤包括:

执行步骤S51,以待插帧的当前块为基准,基于第一候选矢量集,获取在当前帧中对应位置的预设搜索范围内的所有块对应的后向运动矢量,作为第一运动矢量。

作为一种示例,如图4所示,以待插帧中的当前块M为基准,基于第一候选矢量集,获取了在当前帧(如图4中C帧所示)中对应位置的搜索范围内的块D、块E和块F对应的后向运动矢量,作为第一运动矢量,分别对应为V

执行步骤S52,以待插帧的当前块为基准,基于第二候选矢量集,获取在前一帧中对应位置的预设搜索范围内所有块对应的前向运动矢量,作为第二运动矢量。

作为一种示例,如图4所示,以待插帧中的当前块M为基准,基于第二候选矢量集,获取了在前一帧(如图4中P帧所示)中对应位置的搜索范围内的块A、块B和块C对应的后向运动矢量,作为第二运动矢量,分别对应为V

执行步骤S53,获得经过所述当前块且方向一致的第一运动矢量和第二运动矢量,作为所述双向运动矢量。

双向运动矢量对应的第一运动矢量和第二运动矢量运动方向一致,且经过待插帧的当前块,也就是说,双向运动矢量映射到前一帧和当前帧的两个块的运动方向一致,说明双向运动矢量在前一帧和当前帧中对应的块的运动轨迹经过所述待插帧的当前块,且与待插帧的当前块的运动一致,从而有利于使获得的候选运动矢量能够准确地反映运动物体的运动状态,尤其是反映运动小物体的真实运动状态。

当获得的双向运动矢量仅有一个对应的第一运动矢量和第二运动矢量时,将所述双向运动矢量作为待插帧相应块的候选运动矢量。

需要说明的是,在实际的运动估计过程中,运动物体在相邻帧之间不一定做严格标准的直线运动,因此,在实际的运动估计过程中,可以获得经过当前块且运动方向之间的夹角约等于180°的第一运动矢量和第二运动矢量,作为双向运动矢量。第一运动矢量和第二运动矢量之间的夹角约等于180°,可以认为运动物体沿着第一运动矢量和第二运动矢量的运动方向上的连续性较高。

在具体实施例中,可以设置一个方向参考值,将经过待插帧的当前块的第一运动矢量和第二运动矢量之间的夹角与180°之间差值的绝对值,与所述方向参考值进行比较,如果所述差值的绝对值小于所述方向参考值,则将对应的第一运动矢量和第二运动矢量作为双向运动矢量。其中,参考值可以设置为一个接近于零的值。

还需要说明的是,当双向运动矢量为多对时,获得待插帧相应块的候选运动矢量的步骤还包括:比较双向运动矢量在前一帧和当前帧中对应的块的匹配误差;获得与最小匹配误差对应的双向运动矢量,作为所述待插帧相应块的候选运动矢量。

比较双向运动矢量在前一帧和当前帧中对应的块的匹配误差,匹配误差越小,双向运动矢量在前一帧和当前帧中对应的块的相似度、匹配度越高,从而通过将与最小匹配误差对应的双向运动矢量,作为待插帧相应快的候选运动矢量,有利于进一步提高运动估计的准确性。

作为一种示例,图4中示出的经过待插帧的当前块M且方向一致的第一运动矢量和第二运动矢量有两对,即:V

接着,分别计算块A和块F的匹配误差、以及块C和块E的匹配误差,将与匹配误差更小的两个块对应的双向运动矢量作为待插帧的块M的候选运动矢量。

在其他实施例中,还可能没有经过待插帧的当前块且方向一致的第一运动矢量和第二运动矢量。在该实施例中,可以利用与待插帧的块的周围相邻块的运动矢量,作为待插帧相应块的候选运动矢量。或者,还能够利用其他的方式,获得待插帧相应块的候选运动矢量。

相应的,本发明还提供一种芯片,所述芯片包括运动估计模块。参考图6,示出了本发明芯片一实施例的功能框图,以及结合参考图7,示出了图6中的运动模块一实施例的功能框图。

所述运动估计模块100用于为待插帧的块估计出对应的运动矢量。

本实施例中,所述运动估计模块100包括:提供单元10,用于提供原始帧,包括相邻的前一帧和当前帧;搜索单元30,用于利用全搜索法,获得当前帧的当前块在前一帧中对应的匹配块,以及获得前一帧的当前块在当前帧中对应的匹配块;计算单元40,用于根据当前帧的当前块和对应的匹配块,获得当前帧相应块对应的第一候选矢量集,还用于根据前一帧的当前块和对应的匹配块,获得前一帧相应块对应的第二候选矢量集;设置单元50,用于在所述前一帧和当前帧之间设置待插帧;获取单元60,用于根据计算单元40输出的所述第一候选矢量集和第二候选矢量集,获得与待插帧的当前块对应的双向运动矢量,输出为待插帧相应块的候选运动矢量。

本发明实施例提供的芯片300包括运动估计模块100,运动估计模块100包括搜索单元30,搜索单元30利用全搜索法,将当前帧的当前块与前一帧对应位置的搜索范围内的所有块进行块匹配,以及将前一帧的当前块与当前帧对应位置的搜索范围内的所有块进行块匹配,且全搜索法的搜索步长小,从而为估计待插帧的运动方向提供了更加准确的原始帧的运动方向,有利于增加运动估计的准确性,尤其是增加了小物体运动估计的准确性,而且,获取单元60还基于利用全搜索法获得的第一候选矢量集和第二候选矢量集,获得与待插帧的当前块对应的双向运动矢量,从而有利于保证待插帧相应块与前一帧和当前帧的运动连续性,尤其是有利于保证小物体运动的连续性,进而提高了运动估计的准确性,相应提高了芯片300的性能,例如:提高芯片300的音视频处理能力。

提供单元10提供的原始帧为未经视频帧率转换技术处理的视频图像对应的视频帧序列,提供单元10将原始帧中的前一帧和当前帧输出至搜索单元30。

前一帧和当前帧可以是原始帧中的任意相邻的两个帧。

本实施例中,所述运动模块100还包括:识别单元20,用于识别出前一帧和当前帧中与运动小物体对应的块。具体地,识别单元20用于利用图像分割技术,识别出前一帧和当前帧中与运动小物体对应的块。

本实施例中,所述小物体指的是面积大小约等于一个块的大小的块。

在视频图像中,前景运动小物体的周围的块为背景区域,背景区域的块通常为静止的块,也就是说,背景区域的块的运动矢量约为零,而前景运动小物体的面积较小、与背景区域运动差异较大,如果直接用小物体周围的相邻块来对小物体进行运动估计,容易存在估计不准确的问题,因此,通过所述识别单元20,识别出前一帧和当前帧中与运动小物体对应的块,从而搜索单元30仅针对运动小物体利用全搜索法搜索对应的匹配块,有利于降低运算复杂度、减少运算量,进而提高响应速度、节约成本。

搜索单元30用于利用全搜索法,获得当前帧的当前块在前一帧中对应的匹配块,以及获得前一帧的当前块在当前帧中对应的匹配块。

搜索单元30获得当前帧的当前块在前一帧中对应的匹配块,从而使计算单元40根据当前帧的当前块和对应的匹配块,获得当前帧中的块指向前一帧的匹配块的单向运动矢量,作为当前帧相应块的后向运动矢量。

搜索单元30获得前一帧的当前块在当前帧中对应的匹配块,从而使计算单元40根据前一帧的当前块和对应的匹配块,获得前一帧中的块指向当前帧的匹配块的单向运动矢量,作为前一帧相应块的前向运动矢量。

全搜索算法是最简单可靠的搜索匹配方法,通过利用全搜索法,将当前帧的块与前一帧对应位置的搜索范围内的所有块进行块匹配,以及将前一帧的块与当前帧对应位置的搜索范围内的所有块进行块匹配,也就是说,全搜索算法对搜索窗口内所有可能的位置计算两个块的匹配误差,所得的最小匹配误差对应的运动矢量是全局最优的运动矢量,而且全搜索法的搜索步长小,从而为估计待插帧的运动方向提供了更加准确的原始帧的运动方向,有利于增加运动估计的准确性,尤其是增加了小物体运动估计的准确性。

本实施例中,运动模块100还包括识别单元20,用于识别出当前块是否为运动小物体,因此,搜索单元30用于利用全搜索法,获得当前帧中运动小物体的块在前一帧中对应的匹配块,以及获得前一帧小物体的块在当前帧中对应的匹配块,通过获得运动小物体的相应块对应的匹配块,有利于为当前帧在前一帧中搜索到与小物体的相应块最为匹配的块,以及为前一帧在当前帧中搜索到与小物体的相应块最为匹配的块,从而有利于在为运动小物体提供更加准确的原始帧运动方向,为运动小物体找到更为准确的运动矢量的同时,减少运算量、提高芯片300的响应速度。

具体地,本实施例中,全搜索法对搜索范围内的所有点按照顺序进行搜索,作为一种示例,所述全搜索法的搜索步长为一个像素,搜素匹配的过程是按照一个像素为步长进行地毯式搜索,逐点比较块的相似性,对于视频中小物体的搜索匹配有重要的意义,有利于提高获得小物体的块对应匹配块的精确度。相应地,在计算单元40根据当前帧的当前块和对应的匹配块获得后向运动矢量、以及根据前一帧的当前块和对应的匹配块获得前向运动矢量时,有利于增加运动小物体的运动方向估计的准确性。

需要说明的是,在其他实施例中,为了减小运算量、提高响应速度,以及根据实际的运算准确度的要求,所述全搜索法的搜索步长还能够大于一个像素,例如:全搜索法的搜索步长为一个像素的整数倍,且小于块的边长。也就是说,所述全搜索法的搜索步长大于或等于一个像素,且小于块的边长,全搜索法的搜索步长都是小于块的边长,即全搜索法的搜索步长小于小物体的边长,与用小物体的块的周围相邻块对小物体进行运动估计相比,本发明实施例的全搜索法的搜索步长更小,搜索的更加精细,从而有利于为运动小物体估计出更加准确的运动方向。

作为一种示例,全搜索法可以基于SAD(Sum of Absolute Differences,绝对误差和)、MAD(Mean Absolute Differences,平均绝对误差)、MSD(Mean Square Differences,平均误差平方和)、SSD(Sum of Squared Differences,误差平方和)、NCCF(NormalizedCross-Correlation Function,归一化互相关函数)等匹配准则来比较块之间的相似度和匹配度。

本实施例中,搜索单元30利用全搜索法,基于匹配误差以及与当前块之间的距离,获得当前块对应的匹配块。

本实施例中,搜索单元30不仅考虑到匹配误差的影响因素,还考虑到与当前块之间的距离,是由于在实际的搜索匹配过程中,在利用全搜索法直接获得与当前块的匹配误差最小(或者在预设阈值范围)的块时,受到图像中噪声、边界等干扰因素的影响,所找到的块有一定的概率不是实际上与当前块对应的块,例如:所找到的块虽然与当前块的匹配误差最小,但是与当前块的距离非常远,所找到的块为噪声的几率高,通过在搜索匹配块的过程中将距离也作为考虑因素,有利于找到实际与当前块最为匹配的块,从而在估计当前块的运动矢量时,有利于估计出当前块的真实运动方向,进而提高运动估计的准确性。

具体地,在实际的搜索匹配过程中,可以将匹配误差和距离分别分配对应的权重因子,从而根据实际情况和需求,通过调节匹配误差和距离对应的权重因子,调节匹配误差和距离的重要度与优先级,以提高匹配块的搜索准确度,进而减小图像中的噪声、边界等干扰因素对搜索匹配过程的影响。

具体地,搜索单元30利用全搜索法,基于匹配误差以及与当前块之间的距离,获得当前帧的当前块在前一帧中对应的匹配块,以及获得前一帧的当前块在当前帧中对应的匹配块。

本实施例中,搜索单元30利用全搜索法,获得前一帧中与当前帧的当前块的匹配误差在预设阈值范围内的多个候选块;将与当前块之间的距离最小的一个候选块,作为当前帧的当前块对应的匹配块。

本实施例中,搜索单元30利用全搜索法,获得当前帧中与前一帧的当前块的匹配误差在预设阈值范围内的多个候选块;将与当前块之间的距离最小的一个候选块,作为前一帧的当前块对应的匹配块。

具体地,在实际的搜索匹配过程中,可能有多个候选块与当前块的匹配误差都为最小值,或者,也可能有多个候选块与当前块的匹配误差都在预设阈值范围内。

其中,预设阈值范围用于保证搜索到的候选块与当前块的匹配误差不至于过大,从而保证候选块与当前块具有较高的相似度和匹配度。而且,在实际的搜索匹配过程中,当前帧的当前块和前一帧中对应的块之间的匹配误差、以及前一帧的当前块和当前帧中对应的块之间的匹配误差可能不是零,而是接近于零,通过设置一个预设阈值范围,有利于提高搜索匹配的合理性。

具体地,在具体实施中,预设阈值可以预先给定一个值,比如最小可能的SAD值上浮一定范围,这个范围可以是经验设置,也可以根据当前图像块的复杂性分析给出一个自适应值。

当候选块的数量为多个时,将与当前块之间的距离最小的一个候选块,作为所述匹配块。在视频中,相邻两帧之间的时间间隔较短,在运动估计的过程中,通常认为运动物体在相邻两帧的时间间隔内近似做直线运动,且由于相邻两帧之间的时间间隔短,运动物体在相邻两帧之间的运动量通常较小,也就是说,当前块与前一帧中对应的块的距离较小,通过将与当前块之间的距离最小的一个候选块作为匹配块,不仅有利于将候选块中为噪声、边界等干扰因素的块排除,还有利于在前一帧中搜索到实际与当前帧的当前块对应的匹配块、以及在当前帧中搜索到实际与前一帧的当前块对应的匹配块,从而提高搜索匹配的准确性。

搜索单元30利用全搜索法,有利于在前一帧中搜索到与当前帧的当前块最匹配的块、以及在当前帧中搜索到与前一帧的当前块最匹配的块,尤其是针对运动小物体搜索到与小物体的相应块最为匹配的块,从而有利于使计算单元40为原始帧中相邻两帧之间估计出更加准确的单向运动矢量,尤其是为运动小物体找到更为准确的运动矢量,进而为运动小物体提供更加准确的原始帧运动方向。

结合参考图8,是图7中的计算单元一实施例的功能框图,本实施例中,所述计算单元包括40:第一子计算单元401,用于根据当前帧的当前块和对应的匹配块,获得当前帧相应块的后向运动矢量,并输出当前帧的多个块对应的后向运动矢量作为所述第一候选矢量集;第二子计算单元402,用于根据前一帧的当前块和对应的匹配块,获得前一帧相应块的前向运动矢量,并输出前一帧的多个块对应的前向运动矢量作为所述第二候选矢量集。

第一候选矢量集用于为获得与待插帧的相应块对应的双向运动矢量提供候选矢量集,有利于保证待插帧相应块与前一帧和当前帧之间的运动连续性,尤其是有利于保证小物体运动的连续性,进而提高了运动估计的精准度。

具体地,计算单元40根据当前帧的当前块和对应的匹配块之间的相对位置关系,获得当前帧的当前块相对于匹配块的位置偏移量,用于作为所述后向运动矢量。

第二候选矢量集用于为获得与待插帧的相应块对应的双向运动矢量提供候选矢量集,有利于保证待插帧相应块与前一帧和当前帧之间的运动连续性,尤其是有利于保证小物体运动的连续性,进而提高了运动估计的精准性。

具体地,计算单元40根据前一帧的当前块和对应的匹配块之间的相对位置关系,获得前一帧的当前块相对于匹配块的位置偏移量,用于作为所述前向运动矢量。

设置单元50用于设置位于前一帧和当前帧之间的待插帧,从而提高视频帧率,有利于提高视频的流畅度和平滑度。具体地,设置单元50用于在沿时间序列上,在所述前一帧和当前帧之间设置待插帧。在沿时间序列上,待插帧能够设置于前一帧和当前帧之间的任意一个位置处。

待插帧中具有多个依次排列好的待插块。

设置单元50将待插帧设置于所述前一帧和当前帧之间,从而使获取单元60根据当前帧对应的第一候选矢量集、以及前一帧对应的第二候选矢量集,获得待插帧的块对应的双向运动矢量。

获取单元60用于根据搜索单元30利用全搜索法获得的第一候选矢量集和第二候选矢量集,获得与待插帧的当前块对应的双向运动矢量,从而有利于保证待插帧相应块与前一帧和当前帧之间的运动连续性,尤其是有利于保证小物体运动的连续性,进而提高了运动估计的准确度,还有利于降低出现“重叠”和“空洞”等问题的概率。

结合参考图9,是图7中的获取单元一实施例的功能框图,本实施例中,所述获取单元60包括:提取单元601,用于以待插帧的当前块为基准,基于第一候选矢量集,获取在当前帧中对应位置的预设搜索范围内的所有块对应的后向运动矢量,作为第一运动矢量,并以待插帧的当前块为基准,基于第二候选矢量集,获取在前一帧中对应位置的预设搜索范围内所有块对应的前向运动矢量,作为第二运动矢量;筛选单元602,用于获得经过所述当前块且方向一致的第一运动矢量和第二运动矢量,作为所述双向运动矢量。

双向运动矢量对应的第一运动矢量和第二运动矢量运动方向一致,且经过待插帧的当前块,也就是说,双向运动矢量映射到前一帧和当前帧的两个块的运动方向一致,说明双向运动矢量在前一帧和当前帧中对应的块的运动轨迹经过所述待插帧的当前块,且与待插帧的当前块的运动一致,从而有利于使获得的候选运动矢量能够准确地反映运动物体的运动状态,尤其是反映运动小物体的真实运动状态。

当获得的双向运动矢量仅有一个对应的第一运动矢量和第二运动矢量时,将所述双向运动矢量作为待插帧相应块的候选运动矢量。

需要说明的是,在实际的运动估计过程中,运动物体在相邻帧之间不一定做严格标准的直线运动,因此,在实际的运动估计过程中,可以获得经过当前块且运动方向之间的夹角约等于180°的第一运动矢量和第二运动矢量,作为双向运动矢量。第一运动矢量和第二运动矢量之间的夹角约等于180°,可以认为运动物体沿着第一运动矢量和第二运动矢量的运动方向上的连续性较高。

在具体实施中,可以设置一个方向参考值,将经过待插帧的当前块的第一运动矢量和第二运动矢量之间的夹角与180°之间差值的绝对值,与所述方向参考值进行比较,如果所述差值的绝对值小于所述方向参考值,则将对应的第一运动矢量和第二运动矢量作为双向运动矢量。其中,参考值可以设置为一个接近于零的值。

本实施例中,所述获取单元60还包括:比较单元603,用于在当筛选单元602输出的双向运动矢量为多对时,比较双向运动矢量在前一帧和当前帧中对应的块的匹配误差,将与最小匹配误差对应的双向运动矢量输出为待插帧相应块的候选运动矢量。

比较单元603用于比较双向运动矢量在前一帧和当前帧中对应的块的匹配误差,匹配误差越小,双向运动矢量在前一帧和当前帧中对应的块的相似度、匹配度越高,从而通过将与最小匹配误差对应的双向运动矢量,作为待插帧响应快的候选运动矢量,有利于进一步提高运动估计的准确性。

在其他实施例中,还可能没有经过待插帧的当前块且方向一致的第一运动矢量和第二运动矢量。在该实施例中,可以利用与待插帧的当前块的周围相邻块的运动矢量,作为待插帧相应快的候选运动矢量。或者,还能够利用其他的方式,获得待插帧相应块的候选运动矢量。

本实施例中,所述芯片300还包括:运动补偿模块200,用于根据所述运动估计模块100输出的候选运动矢量,对待插帧的块进行运动补偿。

本实施例中,所述芯片300可以为多媒体芯片、音视频芯片、视频处理芯片、MEMC(Motion Estimation and Motion Compensation)芯片等。

本发明实施例中的芯片300包括所述运动估计模块,有利于提高芯片的音视频处理能力,进而有利于优化用户的视觉体验、提高用户感受度。

本发明实施例中的芯片300可以通过数字逻辑电路来实现,每个数字逻辑电路通过逻辑运算用来执行之前对应实施例所提到的方法。或者芯片300可通过通用处理器实现,所述通用处理器通过执行计算机软件程序运行相关处理方法。

相应的,本发明实施例还提供一种电子设备,包括本发明实施例提供的芯片300。

本实施例中,所述电子设备为能够进行视频图像处理的设备,例如:机顶盒或显示装置。其中显示装置可以为电视、投影仪或手机等。

由前述实施例可知,本发明实施例提供的芯片具有较高的音视频处理能力,因此,有利于提高电子设备的视频流畅度和平滑度,从而有利于提高用户感受度,使用户具有较高的视觉体验。

相应的,本发明实施例还提供一种存储介质,所述存储介质存储有一条或多条计算机指令,所述一条或多条计算机指令用于实现本发明实施例提供的运动估计方法。

所述存储介质为计算机可读存储介质,存储介质可以为只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、U盘、移动硬盘、磁盘或光盘等各种可以存储程序代码的介质。

上述本发明的实施方式是本发明的元件和特征的组合。除非另外提及,否则所述元件或特征可被视为选择性的。各个元件或特征可在不与其它元件或特征组合的情况下实践。另外,本发明的实施方式可通过组合部分元件和/或特征来构造。本发明的实施方式中所描述的操作顺序可重新排列。任一实施方式的一些构造可被包括在另一实施方式中,并且可用另一实施方式的对应构造代替。对于本领域技术人员而言明显的是,所附权利要求中彼此没有明确引用关系的权利要求可组合成本发明的实施方式,或者可在提交本申请之后的修改中作为新的权利要求包括。

本发明的实施方式可通过例如硬件、固件、软件或其组合的各种手段来实现。在硬件配置方式中,根据本发明示例性实施方式的方法可通过一个或更多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器等来实现。

在固件或软件配置方式中,本发明的实施方式可以模块、过程、功能等形式实现。软件代码可存储在存储器单元中并由处理器执行。存储器单元位于处理器的内部或外部,并可经由各种己知手段向处理器发送数据以及从处理器接收数据。

虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

相关技术
  • 运动估计方法、芯片、电子设备以及存储介质
  • 运动估计方法、运动估计装置、存储介质与电子设备
技术分类

06120113691530