CN101888546A - 一种运动估计的方法及装置 - Google Patents

一种运动估计的方法及装置 Download PDF

Info

Publication number
CN101888546A
CN101888546A CN2010102032136A CN201010203213A CN101888546A CN 101888546 A CN101888546 A CN 101888546A CN 2010102032136 A CN2010102032136 A CN 2010102032136A CN 201010203213 A CN201010203213 A CN 201010203213A CN 101888546 A CN101888546 A CN 101888546A
Authority
CN
China
Prior art keywords
macro block
search algorithm
adjacent
algorithm
carry out
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010102032136A
Other languages
English (en)
Other versions
CN101888546B (zh
Inventor
季鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Vimicro Corp
Original Assignee
Vimicro Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vimicro Corp filed Critical Vimicro Corp
Priority to CN201010203213.6A priority Critical patent/CN101888546B/zh
Publication of CN101888546A publication Critical patent/CN101888546A/zh
Application granted granted Critical
Publication of CN101888546B publication Critical patent/CN101888546B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供了一种运动估计的方法,包括:编码当前帧图像时,若获得参考帧为I帧,则调用复杂搜索算法进行运动估计;若获得参考帧为P帧,则按照预置规则选用简单搜索算法或复杂搜索算法进行运动估计;其中,所述简单搜索算法为采用单一搜索模板和单一结束条件的运动估计算法;所述复杂搜索算法为采用多种搜索模板和多种结束条件的运动估计算法。本发明可以兼顾运动估计的搜索效率和搜索效果,在保证搜索精度的基础上,降低搜索复杂度。

Description

一种运动估计的方法及装置
技术领域
本发明涉及视频编码的技术领域,特别是涉及一种运动估计的方法及一种运动估计的装置。
背景技术
运动估计算法是视频压缩编码的核心算法之一。高质量的运动估计算法是高效视频编码的前提和基础。运动估计的基本思想是将图像序列的每一帧分成许多互不重叠的宏块,并认为宏块内所有象素的位移量都相同,然后对每个宏块到参考帧某一给定特定搜索范围内根据一定的匹配准则找出与当前块最相似的块,即匹配块,匹配块与当前块的相对位移即为运动矢量。视频压缩的时候,只需保存运动矢量和残差数据就可以完全恢复出当前块。
目前,常用的运动估计算法可以分为两类,一类是简单搜索算法,这类算法主要是利用相邻宏块运动向量的相似性,预测出当前的初始运动向量,然后采用一个较小的模板进行细化搜索,如三步搜索算法、四步搜索算法等,简而言之,即简单搜索算法是指采用单一搜索模板和单一结束条件的运动估计算法。这类算法比较简单、快速,但在运动比较剧烈的场景下,邻近宏块间运动向量的相似性就会变差,经常会使运动搜索被中止在局部最优的位置上,从而影响最终的图像质量。
另一类是复杂搜索算法,这类算法在简单预测点的方法的基础上,增加许多不同的搜索模板,如菱形、十字形、多边形等,用以减少因为视频中运动不规则时,搜索中止在局部最优的可能性,如UMHexagons算法,EPZS算法等,简而言之,即复杂搜索算法是指采用多种搜索模板和多种结束条件的运动估计算法。这类算法搜索点相对较多,主要通过复杂的计算来保证运动矢量的准确性,即使在视频运动剧烈、图像细节信息比较多的场景下,仍能获得较好的搜索效果,但其搜索点数较多,直接减缓了搜索速度,降低了搜索效率。
因而,目前需要本领域技术人员迫切解决的一个技术问题就是:如何能够兼顾运动估计的搜索效率和搜索效果,提供一种在保证搜索精度的基础上,降低搜索复杂度的运动估计方法和装置。
发明内容
本发明所要解决的技术问题是提供一种运动估计的方法及装置,用以兼顾运动估计的搜索效率和搜索效果,在保证搜索精度的基础上,降低搜索复杂度。
为了解决上述问题,本发明公开了一种运动估计的方法,包括:
编码当前帧图像时,若获得参考帧为I帧,则调用复杂搜索算法进行运动估计;
若获得参考帧为P帧,则按照预置规则选用简单搜索算法或复杂搜索算法进行运动估计;
其中,所述简单搜索算法为采用单一搜索模板和单一结束条件的运动估计算法;所述复杂搜索算法为采用多种搜索模板和多种结束条件的运动估计算法。
优选的,所述预置规则包括:
在当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块可用时,依据所述相邻上宏块、相邻左宏块和左上宏块的运动向量,预测当前待编码宏块的运动级别;
若所述运动级别高于第一阈值,则调用复杂搜索算法进行运动估计;若所述运动级别低于第一阈值,则调用简单搜索算法进行运动估计。
优选的,所述预置规则还包括:
在当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块可用时,依据所述相邻上宏块、相邻左宏块和左上宏块的运动向量,预测当前待编码宏块的运动像素数量;
依据所述运动像素数量确定当前调用的简单搜索算法或复杂搜索算法的搜索步数。
优选的,所述相邻上宏块、相邻左宏块和左上宏块可用是指,所述相邻上宏块、相邻左宏块和左上宏块存在,并且具有帧间编码的编码属性。
优选的,所述预置规则还包括:
统计参考帧中采用帧内编码的宏块个数,若所述宏块个数高于第二阈值,则调用复杂搜索算法进行运动估计;若所述宏块个数低于第二阈值,则调用简单搜索算法进行运动估计;
和/或,所述预置规则还包括:
获取当前帧图像的编码压缩率,若所述压缩率高于第三阈值,则调用简单搜索算法进行运动估计;若所述压缩率低于第三阈值,则调用复杂搜索算法进行运动估计;
和/或,所述预置规则还包括:
计算所述参考帧的总运动向量,所述总运动向量为以最小运动估计块为单位的水平方向与垂直方向上运动向量绝对值的总和;若所述总运动向量高于第四阈值,则调用复杂搜索算法进行运动估计;若所述总运动向量低于第四阈值,则调用简单搜索算法进行运动估计。
优选的,所述预置规则在在当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块不可用时采用。
本发明实施例还公开了一种运动估计的装置,包括:
参考帧分析模块,用于编码当前帧图像时,判断获得的参考帧为I帧或为P帧,若为I帧,则调用复杂算法估计模块;若为P帧,则调用预置规则判断模块;
复杂算法估计模块,用于调用复杂搜索算法进行运动估计;
预置规则判断模块,用于按照预置规则选用简单搜索算法或复杂搜索算法进行运动估计;
其中,所述简单搜索算法为采用单一搜索模板和单一结束条件的运动估计算法;所述复杂搜索算法为采用多种搜索模板和多种结束条件的运动估计算法。
优选的,所述预置规则包括:
在当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块可用时,依据所述相邻上宏块、相邻左宏块和左上宏块的运动向量,预测当前待编码宏块的运动级别;
若所述运动级别高于第一阈值,则调用复杂搜索算法进行运动估计;若所述运动级别低于第一阈值,则调用简单搜索算法进行运动估计。
优选的,所述预置规则还包括:
在当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块可用时,依据所述相邻上宏块、相邻左宏块和左上宏块的运动向量,预测当前待编码宏块的运动像素数量;
依据所述运动像素数量确定当前调用的简单搜索算法或复杂搜索算法的搜索步数。
优选的,所述相邻上宏块、相邻左宏块和左上宏块可用是指,所述相邻上宏块、相邻左宏块和左上宏块存在,并且具有帧间编码的编码属性。
优选的,所述预置规则还包括:
统计参考帧中采用帧内编码的宏块个数,若所述宏块个数高于第二阈值,则调用复杂搜索算法进行运动估计;若所述宏块个数低于第二阈值,则调用简单搜索算法进行运动估计;
和/或,所述预置规则还包括:
获取当前帧图像的编码压缩率,若所述压缩率高于第三阈值,则调用简单搜索算法进行运动估计;若所述压缩率低于第三阈值,则调用复杂搜索算法进行运动估计;
和/或,所述预置规则还包括:
计算所述参考帧的总运动向量,所述总运动向量为以最小运动估计块为单位的水平方向与垂直方向上运动向量绝对值的总和;若所述总运动向量高于第四阈值,则调用复杂搜索算法进行运动估计;若所述总运动向量低于第四阈值,则调用简单搜索算法进行运动估计。
优选的,所述预置规则在在当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块不可用时采用。
与现有技术相比,本发明具有以下优点:
本发明在编码当前帧图像时,若获得参考帧为I帧,则直接调用复杂搜索算法进行运动估计;若获得参考帧为P帧,则针对不同情形按照预置规则调用简单搜索算法或复杂搜索算法进行运动估计,即根据当前帧、参考帧或这些帧中宏块的某些特性,选用适合的快速运动估计算法,以兼顾运动估计的搜索效率和搜索效果,从而在保证搜索精度的基础上,降低搜索复杂度。
附图说明
图1是本发明的一种运动估计的方法实施例的步骤流程图;
图2是本发明的一种运动估计的装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例可以适用于最新的H.264数字视频编码标准。H.264是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图象编码专家组)的联合视频组(JVT:joint videoteam)开发的一个新的数字视频编码标准,它既是ITU-T的H.264,又是1SO/IEC的MPEG-4的第10部分。新一代标准H.264可以得到更好的压缩图像效果、拥有更多的功能和更大的灵活性。
与早期的视频编码标准(H.261,MPEG-1,MPEG-2,H.263,MPEG-4)类似,H.264/AVC也是建立在块匹配的混合编码框架上。基本算法依然是通过帧间预测和运动补偿来消除视频序列中的时域冗余,经过变换编码消除频域冗余。因此基本的功能模块:例如预测、变换、量化、编码都没有发生根本的变化。
针对视频压缩中运动估计的原理而言,视频压缩后的数据流大小的关键因素在于能否较好的去除其时间相关性,寻找到最佳的匹配块。在基于块匹配的混合视频编码体系中,运动搜索是其中计算复杂性最高的模块。H.264/AVC为了获得更精确的预测和更高的压缩比,采用了多种块模板的运动估计,多参考帧和更高分辨率的运动矢量。虽然这样可以增加预测的精度,提高压缩比,但H.264/AVC中运动估计的计算复杂性却因此急剧增加。
最佳匹配块的确定是通过运动搜索来实现的,运动搜索包含整数运动搜索和小数运动搜索,主要包括参考帧的选取、预测运动向量的获取和搜索范围的确定三个步骤。
1、参考帧的选取:
在H.264协议中,定义了三种基本的帧类型,即I、P、B帧类型,其中I帧只能作为其它帧的参考帧,它本身在编码的时候,帧内宏块根据已经编码的相邻块的数据来编码,不参考其它帧;P帧在编码的时候,只能参考在时间轴上靠前的帧,包括之前已经编码的I帧以及P帧,即前向预测;B帧则可以双向预测,它的参考帧可以是时间上“过去”的帧。也可以是时间上“将来”的帧,它的参考帧也可以是I帧以及P帧,B帧只能参考其它帧,其本身不能作为其它帧的参考帧,所以它不会引起预测误差扩散。在具体的编码中,当遇到B型帧时,先把它读到缓存中,编码后面的P帧,当前后的参考帧都被编码以后,再编码B帧。在解码端,当解码解到B帧时,则先将它读入缓存,待到解码完它后面的P帧,再解码B帧。
2、预测运动向量的获取:
如果对每个块的运动矢量进行编码,那么将花费相当数目的比特数,特别是在选择小尺寸的块的情况下。由于一个运动物体会覆盖多个分块,所以空间域相邻块的运动矢量具有很强的相关性。因此,每个运动矢量可以根据临近先前已编码的块进行预测,预测得到运动矢量以及当前矢量和预测矢量之间的差值。同时由于物体运动具有连续性,运动矢量在时间域也存在一定的相关性,因此也可以用临近参考帧的运动矢量来进行预测。
3、搜索范围的确定:
当获取了预测运动向量以后,在参考帧中找到当前块的对应块,此点即对应运动向量(0,0),并以此为基点,向其上下左右扩出运动搜索范围大小,此即我们需要的运动搜索范围。搜索区域的选择一般是相对于当前块对称得,左边和右边各有d个像素,上边和下边各有d个像素。
需要说明的是,在本说明书,所述“块”,如当前块、相邻块、对应块等均指“宏块”,所谓宏块,是指视频帧内的16X16像素采样区域的数据,根据数据类型(亮度、色度)的不同,可以分为Y宏块、Cb宏块、Cr宏块(亦称Y宏块、U宏块和V宏块,其中Y代表亮度,UV代表色度,色度定义了颜色的两个方面-饱和度与色调)一般来说,亮度宏块为16x16大小的像素块,而两个色度图像像素宏块的大小依据其图像的采样格式而定,如:对于YUV420采样图像,色度块为8x8大小的像素块。每个图像中,若干宏块被排列成片的形式,视频编码算法以宏块为单位,逐个宏块进行编码,组织成连续的视频码流。
针对H.264/AVC中运动估计的计算复杂性,现有技术中,本领域技术人员长期以来希望研究和探讨出某种运动搜索快速算法,其可以基于某种策略在减少搜索点数提高搜索效率的同时,尽可能保持编码图像质量不变。然而,所设计出的简单的减少搜索点数的算法(例如TTS,2-D对数等快速算法)通常都假设匹配误差曲面是单峰的,而实际的视频图像是非常复杂的,常常不能满足这样的假设,因此容易在搜索起始阶段落入局部最小点。为解决局部最小点的问题,通常可以采用相邻块预测的方法获得更好的搜索起点。但有些情况下特别是在运动复杂度高的序列中,相邻块会包含与当前块不同的运动对象,因此也会产生错误的运动矢量。在这种情况下,本领域技术人员又提出一种更好的策略,即采用覆盖整个搜索区域的全局搜索(Global Search)的概念,即搜索点在整个搜索区域的稀疏网格上选择。虽然这种策略可以有效的避免在搜索起始阶段落入局部最小点以及可能的错误起始点预测,但增加了搜索点数。也就是说,现有技术中,本领域技术人员往往希望能够通过单一算法来兼顾运动估计的搜索效率和搜索效果,而不去考虑其它实现方案的可能性。
正是由于本专利发明人注意到,在采用单一算法的情况下,要么无法兼顾搜索效率,要么无法兼顾搜索效果,因而提出本发明实施例的核心构思之一在于,在编码当前帧图像时,针对参考帧为I帧或为P帧的不同情形,按照预置规则调用简单搜索算法或复杂搜索算法进行运动估计。
参考图1,示出了本发明的一种运动估计的方法实施例的步骤流程图,具体可以包括以下步骤:
步骤101、编码当前帧图像时,判断当前采用的参考帧类型,若为I帧,则执行步骤102;若为P帧,则执行步骤103;
步骤102、调用复杂搜索算法进行运动估计;
步骤103、按照预置规则选用简单搜索算法或复杂搜索算法进行运动估计。
依据本说明书前述部分对I、P、B帧的特性说明可以得知,对于编码的当前帧图像,通常为P帧或B帧图像,参考帧只能为I帧或P帧(B帧只能参考其它帧,其本身不能作为其它帧的参考帧)。在当前采用的参考帧为I帧时,由于它本身在编码的时候,帧内宏块是根据已经编码的相邻块的数据来编码的,不参考其它帧,即把帧图像压缩到I帧时,仅仅考虑了帧内的图像,不能除去帧间冗余度,所以在这种情况下,直接调用复杂搜索算法进行运动估计。
在当前采用的参考帧为P帧时,由于P帧采用预测编码,利用相邻帧的一般统计信息进行预测。也就是说,它考虑运动特性,提供帧间编码,预测当前帧与前面最近的I帧或P帧的差别,在这种情况下,则需要进一步分析当前帧或参考P帧中的特征,以确定当前选用简单搜索算法还是复杂搜索算法进行运动估计。
需要说明的是,在本发明实施例中,所述简单搜索算法是指采用单一搜索模板和单一结束条件的运动估计算法;所述复杂搜索算法是指采用多种搜索模板和多种结束条件的运动估计算法。
在具体实现中,在所述参考帧为P帧时,选用简单搜索算法或复杂搜索算法的预置规则可以有多种设置方法,以下提供几种示例进行说明:
示例1:
在本发明的一种优选实施例中,在所述参考帧为P帧时,选用简单搜索算法或复杂搜索算法的预置规则可以为:
判断当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块是否可用;
若为可用,则依据所述相邻上宏块、相邻左宏块和左上宏块的运动向量,预测当前待编码宏块的运动级别;
判断所述运动级别是否高于第一阈值,若是,则调用复杂搜索算法进行运动估计;若否,则调用简单搜索算法进行运动估计。
在本发明实施例中,所述“可用”是指,相应的宏块存在并且这些宏块是采用帧间(Inter)编码的。公知的是,由于许多视频或动画的连续前后两帧具有很大的相关性,或者说前后两帧信息变化很小,也即连续的视频其相邻帧之间具有冗余信息,帧间编码就是根据这一特性,利用视频图像帧间的相关性(时间相关性),来达到图像压缩的目的,利用帧所具有的相关性的特点进行帧间编码,可获得比帧内编码高得多的压缩比。在具体应用中,对于宏块是否采用帧间编码生成,可以直接依据宏块的编码属性(编码信息)获得。
作为一种具体应用的示例,所述当前待编码宏块的运动级别可以为所述相邻上宏块、相邻左宏块和左上宏块分别在水平方向(X方向)和与垂直方向上(Y方向)运动向量的绝对值的总和。如可以通过以下公式表示:
x=abs(mvxa)+abs(mvxb)+abs(mvxc)+abs(mvya)+abs(mvyb)+abs(mvyc);
其中,mvxa表示相邻上宏块在X方向的运动向量,mvya表示相邻上宏块在Y方向的运动向量;mvxb表示相邻左宏块在X方向的运动向量,mvyb表示相邻左宏块在Y方向的运动向量;mvxc表示相邻左上宏块在X方向的运动向量,mvyc表示相邻左上宏块在Y方向的运动向量。
当然,依据实际中的不同情况,本领域技术人员可以对所述运动级别的计算方式进行相应调整,如当运动向量是1/4级别时,则当前待编码宏块的运动级别可以右移2位,即x>>2;所述第一阈值也可由本领域技术人中依据实际情况具体设置,如设置为6,本发明对此均不作限制。
示例2:
作为本发明的另一种优选实施例,在所述参考帧为P帧时,选用简单搜索算法或复杂搜索算法的预置规则可以为:
判断当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块是否可用;
若为可用,则依据所述相邻上宏块、相邻左宏块和左上宏块的运动向量,预测当前待编码宏块的运动级别和运动像素数量;
判断所述运动级别是否高于第一阈值,若是,则调用复杂搜索算法进行运动估计,并依据所述运动像素数量确定当前调用的复杂搜索算法搜索步数;若否,则调用简单搜索算法进行运动估计,并依据所述运动像素数量确定当前调用的简单搜索算法的搜索步数。公知的是,无论采用何种运动估计搜索算法,都会涉及一定的搜索步数。如对于三步搜索算法、四步搜索算法而言,其搜索步数即分别为三步、四步;对于复杂搜索算法而言,其搜索步数往往较多,但会设置一些提前结束搜索的条件,搜索步数的限定即可用作一种提前结束搜索的条件,以在保证搜索效果的前提下提高搜索效率。
具体而言,所述当前待编码宏块的运动像素数量是通过统计每个运动分量中分像素的运动情况获得的,作为一种示例,所述运动像素数量可以通过以下公式计算获得:
motion_pixel=(mvxa&3)+(mvya&3)+(mvxb&3)+(mvyb&3)+(mvxc&3)+(mvyc&3);
其中,mvxa表示相邻上宏块在X方向的运动向量,mvya表示相邻上宏块在Y方向的运动向量;mvxb表示相邻左宏块在X方向的运动向量,mvyb表示相邻左宏块在Y方向的运动向量;mvxc表示相邻左上宏块在X方向的运动向量,mvyc表示相邻左上宏块在Y方向的运动向量。motion_pixel用于确定搜索步数,在大于或等于3时取motion_pixel的值,小于3时取motion_pixel+1的值。
在实际中,如果当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块中有一个或两个不可用,也可以在计算运动级别或运动像素数量时,将该宏块的运动向量直接赋值为零矢量,则同样可以获得相应的运动级别或运动像素数量。
在本发明实施例中,更为优选的是,还可以采用其它判断方法选用运动估计搜索算法,具体可以参考如下示例:
示例3:
作为本发明的另一种优选实施例,在所述参考帧为P帧时,选用简单搜索算法或复杂搜索算法的预置规则可以为:
统计参考帧中采用帧内编码的宏块个数;
判断所述宏块个数是否高于第二阈值,若是,则调用复杂搜索算法进行运动估计;若否,则调用简单搜索算法进行运动估计。
公知的是,帧内编码仅考虑本帧内的数据,而不考虑相邻帧之间的冗余信息,所以在实际中,当帧内编码的宏块个数较多时,则表示运动估计的效果不好,所以需要选用复杂搜索算法进行运动估计。
在实际中,所述第二阈值可以按照参考帧中宏块总数的一定比例确定,例如,对于一个QCIF(176x144)大小的图像帧序列编码,其中宏块总数SMB为99个,设置第二阈值T2=1/4*SMB。
示例4:
作为本发明的另一种优选实施例,在所述参考帧为P帧时,选用简单搜索算法或复杂搜索算法的预置规则可以为:
获取当前帧图像的编码压缩率;
判断所述压缩率是否高于第三阈值,若是,则调用简单搜索算法进行运动估计;若否,则调用复杂搜索算法进行运动估计。
公知的是,编码压缩率越大,则表示图像信息丢失较多,获得的图像质量较低;,编码压缩率越小,则表示图像信息丢失较少,获得的图像质量较高。因而,如果当前帧的压缩率较大,则表示对搜索效果要求相对较低,此时,为提高搜索效果,选用简单搜索算法进行运动估计;如果当前帧的压缩率较小,则表示对搜索效果的要求相对较高,于是选用复杂搜索算法进行运动估计。
在实际中,对于第三阈值而言,在不同的视频压缩编码标准下有不同的取值范围,以H.264编码标准为例,QP(量化参数)是调节编码压缩率主要参数,它的范围是0~51,,则第三阈值T3可以设置为32,也可以取中间值。本领域技术人员也可以依据其它因素设置第三阈值,如码率等,本发明对此不作限制。
在具体应用中,对于当前帧的压缩率,可以直接依据当前帧的编码属性(编码信息)获得。
示例5:
作为本发明的另一种优选实施例,在所述参考帧为P帧时,选用简单搜索算法或复杂搜索算法的预置规则可以为:
计算所述参考帧的总运动向量,所述总运动向量为以最小运动估计块为单位的水平方向与垂直方向上运动向量绝对值的总和;
判断所述总运动向量是否高于第四阈值,若是,则调用复杂搜索算法进行运动估计;若否,则调用简单搜索算法进行运动估计。
在H.264编码标准中,最小的分块单位可以将一个宏块(16x16)分成4x4的子块做运动估计,即作为一种示例,所述最小运动估计块可以为一个4x4的子块。由于总运动向量TMV的取值与参考帧中帧间编码块的总数SMB0有关,因此,第四阈值T4可以设置成2*MBT*SMB0,即所有帧间编码块x方向和y方向分别移动一个像素。MBT表示一个宏块中包含多少个最小运动估计块,在H.264编码标准中,MBT等于16。
当然,在本发明实施例中,所述第一阈值、第二阈值、第三阈值和第四阈值的设置仅仅用作示例,本领域技术人员依据实际情况任意设置均可,本发明对此无需加以限制。
为使本领域技术人员更好地理解本发明,以下通过一个具体示例说明本发明自适应地选择运动估计搜索算法进行运动估计的过程。
步骤A1、编码当前帧图像,判断当前参考帧类型,若为I帧,则调用复杂搜索算法进行运动估计,若为P帧,则执行步骤A2、A3、A4和A5;
步骤A2、统计参考帧中采用帧内编码的宏块个数,若所述宏块个数高于第二阈值,则调用复杂搜索算法进行运动估计;若所述宏块个数低于第二阈值,则调用简单搜索算法进行运动估计;
步骤A3、获取当前帧图像的编码压缩率,若所述压缩率高于第三阈值,则调用简单搜索算法进行运动估计;若所述压缩率低于第三阈值,则调用复杂搜索算法进行运动估计;
步骤A4、计算所述参考帧的总运动向量,所述总运动向量为以最小运动估计块为单位的水平方向与垂直方向上运动向量绝对值的总和;若所述总运动向量高于第四阈值,则调用复杂搜索算法进行运动估计;若所述总运动向量低于第四阈值,则调用简单搜索算法进行运动估计;
步骤A5、判断当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块是否可用,若是,则按照步骤A6确定当前选用的运动估计搜索算法;否则,按照步骤A2、A3或A4确定当前选用的运动估计搜索算法;
步骤A6、依据所述相邻上宏块、相邻左宏块和左上宏块的运动向量,预测当前待编码宏块的运动级别和运动像素数量;若所述运动级别高于第一阈值,则调用复杂搜索算法进行运动估计;若所述运动级别低于第一阈值,则调用简单搜索算法进行运动估计;并依据所述运动像素数量确定当前选用的简单搜索算法或复杂搜索算法的搜索步数。
本领域技术人员易于想到的是,上述示例1或示例2与示例3至示例5的任意组合也构成本发明的优选实施例,为节省篇幅,本说明书在此就不赘述了。
一般而言,本发明实施例中所述复杂搜索算法具有以下特点:
1)需要对搜索起始点进行预测;
2)搜索时使用多种模板,例如菱形,十字形,多边形配合使用在不同搜索步骤中;
3)设置有较多提前结束条件,保证并非所有情况都需要搜索既定最多的搜多点;
4)搜索点相对较多,范围相对较大,效果好。
在具体实现中,所述复杂搜索算法可以为UMHexagons算法、EPZS算法等。
为使本领域技术人员更好地理解本发明,以下以为UMHexagons算法例简单介绍复杂搜索算法的典型处理过程,一般而言,UMHexagons算法的主要实现步骤包括:
步骤S11、初始点预测。主要利用中值预测和上层预测得到运动矢量点,并从得到这些矢量点得到搜索的起始点0。
步骤S12、非对称十字形搜索。以预测得到的初始点0为中心沿横向搜索W/2个,纵向W/4个搜索点(其中W代表搜索范围)。找到这些点中代价函数最小的点,作为本步骤的搜索结果A。
步骤S13、多层次六边形搜索。首先以A为中心,以搜索半径为2进行全搜索共计25个点,接着以A为中心进行多层次六边形搜索。搜索层数为W/4。搜索点数为16xW/4=4W,本步骤共搜索25+4W个点,从中找出代价函数最小的点B。
步骤S14、以B为中心进行扩展六边形搜索,若代价最小点在模板中央,则进行下一步,否则继续进行扩展六边形搜索。直到代价函数最小点在模板中央为止,最后得到代价函数最小点C。以C为中心进行小菱形搜索,若代价最小点在模板中央,则搜索结束。否则继续进行小菱形搜索,直到代价函数最小点在模板中央为止,最终得到的点D就是要得到的最优点。
一般而言,本发明实施例中所述简单搜索算法具有以下特点:
1)结束条件单一;
2)步骤简单,实现容易,适合运动比较平缓的区域;
3)搜索点相对较少,范围相对较小。
在具体实现中,所述复杂搜索算法可以为三步搜索算法、四步搜索算法等。
为使本领域技术人员更好地理解本发明,以下以三步搜索算法为例简单介绍简单搜索算法的典型处理过程,三步搜索算法的基本思路是采用一种由粗到细的搜索模板,从原点开始,按一定步长,取周围8个点构成每次搜索的点群,然后进行匹配运算,跟踪最小误差MBD点。其主要实现步骤包括:
步骤S21、从原点开始,选取最大搜索长度的一半为步长,在周围距离步长的8个点处进行块匹配计算并比较.找到MBD点;
步骤S22、将步长减半,中心点移到上一步的MBD点,重新在周围距离步长的8个点处进行块匹配计算并比较;
步骤S23、在中心及周围8个点处找出MBD点,若步长为1,则该点所在位置即对应最佳运动矢量,算法结束;否则,重复步骤S22。
需要说明的是,对于本发明的方法实施例而言,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参考图2,示出了本发明的一种运动估计的装置实施例的结构图,具体可以包括以下模块:
参考帧分析模块201,用于编码当前帧图像时,判断获得的参考帧为I帧或为P帧,若为I帧,则调用复杂算法估计模块202;若为P帧,则调用预置规则判断模块203;
复杂算法估计模块202,用于调用复杂搜索算法进行运动估计;
预置规则判断模块203,用于按照预置规则选用简单搜索算法或复杂搜索算法进行运动估计。
在本发明的一种优选实施例中,所述预置规则可以包括:
在当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块可用时,依据所述相邻上宏块、相邻左宏块和左上宏块的运动向量,预测当前待编码宏块的运动级别;
若所述运动级别高于第一阈值,则调用复杂搜索算法进行运动估计;若所述运动级别低于第一阈值,则调用简单搜索算法进行运动估计。
作为本发明的另一种优选实施例,所述预置规则还可以包括:
在当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块可用时,依据所述相邻上宏块、相邻左宏块和左上宏块的运动向量,预测当前待编码宏块的运动像素数量;
依据所述运动像素数量确定当前调用的简单搜索算法或复杂搜索算法的搜索步数。
在具体实现中,所述相邻上宏块、相邻左宏块和左上宏块可用是指,所述相邻上宏块、相邻左宏块和左上宏块存在,并且具有帧间编码的编码属性。
作为本发明的另一种优选实施例,所述预置规则还可以包括:
统计参考帧中采用帧内编码的宏块个数,若所述宏块个数高于第二阈值,则调用复杂搜索算法进行运动估计;若所述宏块个数低于第二阈值,则调用简单搜索算法进行运动估计。
作为本发明的另一种优选实施例,所述预置规则还可以包括:
获取当前帧图像的编码压缩率,若所述压缩率高于第三阈值,则调用简单搜索算法进行运动估计;若所述压缩率低于第三阈值,则调用复杂搜索算法进行运动估计。
作为本发明的另一种优选实施例,所述预置规则还可以包括:
计算所述参考帧的总运动向量,所述总运动向量为以最小运动估计块为单位的水平方向与垂直方向上运动向量绝对值的总和;若所述总运动向量高于第四阈值,则调用复杂搜索算法进行运动估计;若所述总运动向量低于第四阈值,则调用简单搜索算法进行运动估计。
优选的,所述涉及当前帧或参考帧判断的预置规则在当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块不可用时采用。
在本发明实施例中,所述复杂搜索算法为需要对搜索起始点进行预测,在不同搜索步骤中使用不同搜索模板,具有多种提前结束条件且具有较多搜索点的搜索算法,如UMHexagons算法、EPZS算法等;所述简单搜索算法为只有一种结束条件且具有较少搜索点的搜索算法,如三步搜索算法、四步搜索算法等。
对于装置实施例而言,由于其与前述的方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:多处理器系统、服务器、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上对本发明所提供的一种运动估计的方法及一种运动估计的装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种运动估计的方法,其特征在于,包括:
编码当前帧图像时,若获得参考帧为I帧,则调用复杂搜索算法进行运动估计;
若获得参考帧为P帧,则按照预置规则选用简单搜索算法或复杂搜索算法进行运动估计;
其中,所述简单搜索算法为采用单一搜索模板和单一结束条件的运动估计算法;所述复杂搜索算法为采用多种搜索模板和多种结束条件的运动估计算法。
2.如权利要求1所述的方法,其特征在于,所述预置规则包括:
在当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块可用时,依据所述相邻上宏块、相邻左宏块和左上宏块的运动向量,预测当前待编码宏块的运动级别;
若所述运动级别高于第一阈值,则调用复杂搜索算法进行运动估计;若所述运动级别低于第一阈值,则调用简单搜索算法进行运动估计。
3.如权利要求2所述的方法,其特征在于,所述预置规则还包括:
在当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块可用时,依据所述相邻上宏块、相邻左宏块和左上宏块的运动向量,预测当前待编码宏块的运动像素数量;
依据所述运动像素数量确定当前调用的简单搜索算法或复杂搜索算法的搜索步数。
4.如权利要求2或3所述的方法,其特征在于,所述相邻上宏块、相邻左宏块和左上宏块可用是指,所述相邻上宏块、相邻左宏块和左上宏块存在,并且具有帧间编码的编码属性。
5.如权利要求1所述的方法,其特征在于,所述预置规则还包括:
统计参考帧中采用帧内编码的宏块个数,若所述宏块个数高于第二阈值,则调用复杂搜索算法进行运动估计;若所述宏块个数低于第二阈值,则调用简单搜索算法进行运动估计;
和/或,所述预置规则还包括:
获取当前帧图像的编码压缩率,若所述压缩率高于第三阈值,则调用简单搜索算法进行运动估计;若所述压缩率低于第三阈值,则调用复杂搜索算法进行运动估计;
和/或,所述预置规则还包括:
计算所述参考帧的总运动向量,所述总运动向量为以最小运动估计块为单位的水平方向与垂直方向上运动向量绝对值的总和;若所述总运动向量高于第四阈值,则调用复杂搜索算法进行运动估计;若所述总运动向量低于第四阈值,则调用简单搜索算法进行运动估计。
6.如权利要求5所述的方法,其特征在于,所述预置规则在在当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块不可用时采用。
7.一种运动估计的装置,其特征在于,包括:
参考帧分析模块,用于编码当前帧图像时,判断获得的参考帧为I帧或为P帧,若为I帧,则调用复杂算法估计模块;若为P帧,则调用预置规则判断模块;
复杂算法估计模块,用于调用复杂搜索算法进行运动估计;
预置规则判断模块,用于按照预置规则选用简单搜索算法或复杂搜索算法进行运动估计;
其中,所述简单搜索算法为采用单一搜索模板和单一结束条件的运动估计算法;所述复杂搜索算法为采用多种搜索模板和多种结束条件的运动估计算法。
8.如权利要求7所述的装置,其特征在于,所述预置规则包括:
在当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块可用时,依据所述相邻上宏块、相邻左宏块和左上宏块的运动向量,预测当前待编码宏块的运动级别;
若所述运动级别高于第一阈值,则调用复杂搜索算法进行运动估计;若所述运动级别低于第一阈值,则调用简单搜索算法进行运动估计。
9.如权利要求8所述的装置,其特征在于,所述预置规则还包括:
在当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块可用时,依据所述相邻上宏块、相邻左宏块和左上宏块的运动向量,预测当前待编码宏块的运动像素数量;
依据所述运动像素数量确定当前调用的简单搜索算法或复杂搜索算法的搜索步数。
10.如权利要求9所述的装置,其特征在于,所述相邻上宏块、相邻左宏块和左上宏块可用是指,所述相邻上宏块、相邻左宏块和左上宏块存在,并且具有帧间编码的编码属性。
11.如权利要求10所述的装置,其特征在于,所述预置规则还包括:
统计参考帧中采用帧内编码的宏块个数,若所述宏块个数高于第二阈值,则调用复杂搜索算法进行运动估计;若所述宏块个数低于第二阈值,则调用简单搜索算法进行运动估计;
和/或,所述预置规则还包括:
获取当前帧图像的编码压缩率,若所述压缩率高于第三阈值,则调用简单搜索算法进行运动估计;若所述压缩率低于第三阈值,则调用复杂搜索算法进行运动估计;
和/或,所述预置规则还包括:
计算所述参考帧的总运动向量,所述总运动向量为以最小运动估计块为单位的水平方向与垂直方向上运动向量绝对值的总和;若所述总运动向量高于第四阈值,则调用复杂搜索算法进行运动估计;若所述总运动向量低于第四阈值,则调用简单搜索算法进行运动估计。
12.如权利要求11所述的装置,其特征在于,所述预置规则在在当前待编码宏块的相邻上宏块、相邻左宏块和左上宏块不可用时采用。
CN201010203213.6A 2010-06-10 2010-06-10 一种运动估计的方法及装置 Active CN101888546B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010203213.6A CN101888546B (zh) 2010-06-10 2010-06-10 一种运动估计的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010203213.6A CN101888546B (zh) 2010-06-10 2010-06-10 一种运动估计的方法及装置

Publications (2)

Publication Number Publication Date
CN101888546A true CN101888546A (zh) 2010-11-17
CN101888546B CN101888546B (zh) 2016-03-30

Family

ID=43074227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010203213.6A Active CN101888546B (zh) 2010-06-10 2010-06-10 一种运动估计的方法及装置

Country Status (1)

Country Link
CN (1) CN101888546B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103024390A (zh) * 2012-12-21 2013-04-03 天津大学 用于视频编码中的运动估计的自适应搜索方法
CN104469380A (zh) * 2014-12-25 2015-03-25 中国电子科技集团公司第四十一研究所 基于h.264/avc标准的视频图像预测搜索方法
CN104519364A (zh) * 2014-12-10 2015-04-15 北京中星微电子有限公司 一种视频编码方法及装置
CN104995917A (zh) * 2015-05-07 2015-10-21 北京大学深圳研究生院 一种自适应运动估计方法和模块
CN106131572A (zh) * 2011-07-06 2016-11-16 Sk 普兰尼特有限公司 高速地估算运动的图像编码装置、运动估算设备和方法
CN109040756A (zh) * 2018-07-02 2018-12-18 广东工业大学 一种基于hevc图像内容复杂度的快速运动估计方法
WO2020038232A1 (zh) * 2018-08-21 2020-02-27 华为技术有限公司 一种图像块的运动信息的预测方法及装置
CN111292357A (zh) * 2020-03-02 2020-06-16 西安交通大学 一种基于相关滤波的视频帧间快速运动估计方法
WO2020182043A1 (en) * 2019-03-08 2020-09-17 Huawei Technologies Co., Ltd. Search region for motion vector refinement

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1333634A (zh) * 2001-01-12 2002-01-30 北京航空航天大学 快速视频运动估计方法
CN101010962A (zh) * 2004-08-31 2007-08-01 皇家飞利浦电子股份有限公司 一种运动估计的方法和装置
CN101031081A (zh) * 2006-03-03 2007-09-05 凌阳科技股份有限公司 影像编码装置及其方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1333634A (zh) * 2001-01-12 2002-01-30 北京航空航天大学 快速视频运动估计方法
CN101010962A (zh) * 2004-08-31 2007-08-01 皇家飞利浦电子股份有限公司 一种运动估计的方法和装置
CN101031081A (zh) * 2006-03-03 2007-09-05 凌阳科技股份有限公司 影像编码装置及其方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106131572A (zh) * 2011-07-06 2016-11-16 Sk 普兰尼特有限公司 高速地估算运动的图像编码装置、运动估算设备和方法
CN106131572B (zh) * 2011-07-06 2019-04-16 Sk 普兰尼特有限公司 高速地估算运动的图像编码装置、运动估算设备和方法
CN103024390A (zh) * 2012-12-21 2013-04-03 天津大学 用于视频编码中的运动估计的自适应搜索方法
CN103024390B (zh) * 2012-12-21 2015-09-09 天津大学 用于视频编码中的运动估计的自适应搜索方法
CN104519364A (zh) * 2014-12-10 2015-04-15 北京中星微电子有限公司 一种视频编码方法及装置
CN104469380B (zh) * 2014-12-25 2019-05-03 中国电子科技集团公司第四十一研究所 基于h.264/avc标准的视频图像预测搜索方法
CN104469380A (zh) * 2014-12-25 2015-03-25 中国电子科技集团公司第四十一研究所 基于h.264/avc标准的视频图像预测搜索方法
CN104995917B (zh) * 2015-05-07 2019-03-15 北京大学深圳研究生院 一种自适应运动估计方法和模块
CN104995917A (zh) * 2015-05-07 2015-10-21 北京大学深圳研究生院 一种自适应运动估计方法和模块
CN109040756A (zh) * 2018-07-02 2018-12-18 广东工业大学 一种基于hevc图像内容复杂度的快速运动估计方法
WO2020038232A1 (zh) * 2018-08-21 2020-02-27 华为技术有限公司 一种图像块的运动信息的预测方法及装置
WO2020182043A1 (en) * 2019-03-08 2020-09-17 Huawei Technologies Co., Ltd. Search region for motion vector refinement
CN111292357A (zh) * 2020-03-02 2020-06-16 西安交通大学 一种基于相关滤波的视频帧间快速运动估计方法
CN111292357B (zh) * 2020-03-02 2023-04-14 西安交通大学 一种基于相关滤波的视频帧间快速运动估计方法

Also Published As

Publication number Publication date
CN101888546B (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
US9699458B2 (en) Image encoding apparatus, image encoding method, image decoding apparatus, and image decoding method
CN101888546B (zh) 一种运动估计的方法及装置
CN110809887A (zh) 用于多参考预测的运动矢量修正
TW201742465A (zh) 用於視訊寫碼之仿射運動預測
TWI722842B (zh) 影像預測解碼方法
CN102833532B (zh) 用于对数字视频数据进行编码的方法和数字视频编码器系统
CN103096080A (zh) 用于估计当前块的运动矢量的设备
JP2008035134A (ja) 画像符号化装置
EP2382786A1 (en) Multiple-candidate motion estimation with advanced spatial filtering of differential motion vectors
TW201320765A (zh) 視頻資料的解碼方法
CN102598670A (zh) 参考多个帧对图像进行编码/解码的方法和设备
CN103188496A (zh) 基于运动矢量分布预测的快速运动估计视频编码方法
CN102187668A (zh) 消除一个或多个预定预测器的编码和解码
CN100401779C (zh) 用于分级运动估计的方法
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
CN108401185B (zh) 参考帧选择方法、视频转码方法、电子设备和存储介质
CN1457196A (zh) 基于时空域相关性运动矢量预测的视频编码方法
CN113422959A (zh) 视频编解码的方法、装置、电子设备及存储介质
KR20080064011A (ko) 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법,장치, 인코더, 디코더 및 복호화 방법
JP2005348008A (ja) 動画像符号化方法、動画像符号化装置、動画像符号化プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体
CN101977317B (zh) 帧内预测方法及装置
JP2009212667A (ja) 動画像符号化装置および復号装置
US10148954B2 (en) Method and system for determining intra mode decision in H.264 video coding
KR20110134404A (ko) 화상 데이터의 블록을 예측하는 방법, 이 방법을 실행하는 복호 장치 및 부호화 장치
JP2008301270A (ja) 動画像符号化装置及び動画像符号化方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: WUXI VIMICRO ELECTRONICS CO., LTD.

Free format text: FORMER OWNER: BEIJING ZHONGXING MICROELECTRONICS CO., LTD.

Effective date: 20110617

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100083 16/F, SHINING BUILDING, NO. 35, XUEYUAN ROAD, HAIDIAN DISTRICT, BEIJING TO: 214028 610, NATIONAL INTEGRATED CIRCUIT DESIGN PARK (CHUANGYUAN BUILDING), NO. 21-1, CHANGJIANG ROAD, WUXI NEW DISTRICT, JIANGSU PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20110617

Address after: 214028 national integrated circuit design (21-1), Changjiang Road, New District, Jiangsu, Wuxi, China, China (610)

Applicant after: Wuxi Vimicro Co., Ltd.

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Applicant before: Beijing Vimicro Corporation

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 214000 Jiangsu province Wuxi District Qingyuan Road No. 18 Taihu International Science Park sensor network university science and Technology Park 530 building A1001

Applicant after: WUXI ZHONGGAN MICROELECTRONIC CO., LTD.

Address before: 214028 national integrated circuit design (21-1), Changjiang Road, New District, Jiangsu, Wuxi, China, China (610)

Applicant before: Wuxi Vimicro Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant