基于有效区域的多参考帧快速运动估计方法

文档序号:7610973阅读:167来源:国知局
专利名称:基于有效区域的多参考帧快速运动估计方法
技术领域
本发明涉及一种信号处理中的视频编码,特别针对H.264视频编码标准中所采用的多参考帧运动估计,所提出的快速运动估计方法在保证压缩率和视频恢复质量同全搜索运动估计基本一致的前提下,大幅度降低了运动估计的搜索点数。
背景技术
随着多媒体技术的迅速发展,人们不但要求接收处理文本信息,而且对有声有色的多媒体信息的要求越来越广泛,因此视频应用越来越普及。然而,由于视频的数据量非常庞大,一般都需要对其进行编码压缩才能满足应用需要。
视频压缩是通过多种手段消除视频数据固有的各种冗余信息,典型的策略是一般都需要利用预测或变换来消除视频帧间和帧内冗余信息,其中,运动估计是一种典型的消除帧间冗余的方法,很多视频编码标准都使用该策略,如ITU-T组织制定的H.261/263/263+/264和MPEG组织制定的MPEG-1/2/4。
运动估计的全搜索过程为一般首先对视频帧进行宏块划分,对于每个宏块,在参考帧中定义一个(2w+1)2的搜索窗口,该窗口的中心像素点的坐标和当前宏块的左上角点的相同;然后将以窗口中的点为左上角点的宏块和当前宏块进行比较,获取其代价函数(比如计算两个宏块中所有像素点的绝对差值和SADSum of AbsoluteDifference);最后根据所有这些代价函数,寻找一个代价函数最小的宏块,该宏块和当前宏块的距离就认为是当前宏块的运动矢量。如果允许分数像素运动估计,还需要在所搜索的整像素点周围进行插值和比较,获取最终的最佳匹配块和运动矢量。
由此可见,全搜索运动估计的搜索点数非常庞大,达到了(2w+1)2个,从而需要计算(2w+1)2次代价函数。而以SAD代价函数为例,计算一次SAD需要作N×N次减法和N×N次加法(其中N表示块尺寸,一般宏块为N=16),所以一个宏块的全搜索估计的计算复杂度非常高。因此,一般需要快速运动估计方法,即只对搜索窗口中的部分像素点所决定的宏块进行匹配比较,获取一个近似最佳的运动矢量,以降低计算复杂度。然而和全搜索相比,正是由于快速运动估计算法减少了搜索点数,可能使得运动估计不充分,从而使得编码压缩率降低或者恢复质量下降,这些下降对于某些视频应用是不能容忍的,比如低码速率应用尤其是实时应用对压缩率要求较高;高保真的应用对恢复质量有较高的要求。
H.264标准是一种新颖的视频编解码标准,它在压缩率和视频恢复质量方面都取得很大成功,但是其计算复杂度太大,这一定程度上限制了H.264标准的实际应用,尤其是实时视频应用。单从运动估计方面来说,H.264标准允许多参考帧、多种宏块划分方式以及1/4像素精度运动矢量,这都大大提高了H.264标准运动估计的复杂度。因此,需要研究H.264标准的快速运动估计方法,而且最好这些快速运动估计方法基本不影响压缩率和恢复质量,否则就失去了H.264标准在压缩率和恢复质量上的优势。
目前有针对H.264标准的快速运动估计方法,在降低运动估计复杂度方面取得了一定成功,但是在压缩率和恢复质量方面却带来了一些性能下降,因此,如何提供有效的快速运动估计策略以更好的折中压缩率、恢复质量和计算复杂度,就变得非常关键。

发明内容
本发明的目的是公开一种基于有效区域的多参考帧快速运动估计方法,是以降低H.264标准的编码复杂度为出发点,探索了其多参考帧情况下运动估计和运动矢量的特性,提出和验证了运动连续性假设,并据此提出了一种基于有效区域的快速运动估计策略,该策略在一个参考帧中进行全搜索获取该帧中的运动矢量,以后续其他帧为参考时,可以以所获取的运动矢量预测一个小区域,并只在所预测的小区域内进行全搜索估计。
本发明的一种基于有效区域的多参考帧快速运动估计方法,用多参考帧运动估计的有效区域得出并验证了视频序列的运动连续性假设,并采用所述的视频序列的运动连续性对当前帧中的块B进行快速运动估计,其运动估计步骤如下(A)在第一个参考帧F-1中进行全搜索运动估计,获取1/4像素精度的运动矢量和运动估计的代价函数,分别记为MV(B,-1)和SAD(B,-1);(B)根据(A)中的运动矢量MV(B,-1),获取参考帧Fj,j≠-1的有效区域VR;(C)以帧Fj,j≠-1作为参考,在(B)获得的有效区域VR中进行全搜索运动估计得到1/4像素精度的运动矢量和相应的代价函数,分别记为MV(B,j)和SAD(B,j);(D)根据上述(A)~(C)的计算结果,获取当前帧块B的最佳参考帧和对应的运动估计结果。
所述的基于有效区域的多参考帧快速运动估计方法,其运动矢量v=(x,y)在搜索窗口中的有效区域是满足如下条件的象素集合 式中,z表示有效区域VR(v)在运动坐标系中的横坐标值,w表示有效区域VR(v)在运动坐标系中的纵坐标值,x表示运动坐标系中运动矢量v的横坐标值,y表示运动坐标系中运动矢量v的纵坐标值。
所述的基于有效区域的多参考帧快速运动估计方法,其运动连续性假设P(MV(B,j)∈VR(MVj(B,-1)))≈1式中,P(X)表示事件X的概率,MV(B,j)表示块B在帧Fj中的运动矢量,MVj(B,-1)表示帧Fj中和MV(B,-1)有相同坐标值的象素点。
本发明的优点(1)算法针对多参考帧运动估计进行速度优化,不但适合于H.264标准,其他任何涉及到多参考帧的编解码策略都可以使用;(2)跟传统很多快速运动估计方式不同,该策略的运动估计仍然在一个连续区域内搜索,但是该区域远远小于全搜索窗口,从而大大降低了复杂度;(3)正是由于该策略是基于连续区域的,因此,其搜索的运动矢量和全搜索运动矢量的匹配率就更高,从而其恢复质量和压缩效率几乎不受搜索点数减少的影响;(4)和传统三步搜索等快速算法不同,本发明提出的基于连续区域的快速运动估计算法不但可以实现对整像素精度运动估计的快速搜索,同时可以实现对分数像素精度的快速运动估计。


图1是搜索窗口中的运动坐标系示意图。
图2(a)、图2(b)和图2(c)是在搜索窗口的运动坐标系中运动矢量有效区域不同形式结构示意图。
图3是一个典型帧间预测编码流程框图。
图中1.搜索窗口2.当前块3.有效区域具体实施方式
本发明正是以降低H.264标准的编码复杂度为出发点,探索了其多参考帧情况下运动估计和运动矢量的特性,提出和验证了运动连续性假设,并据此提出了一种基于有效区域的快速运动估计策略,该策略在一个参考帧中进行全搜索获取该帧中的运动矢量,以后续其他帧为参考时,可以以所获取的运动矢量预测一个小区域,并只在所预测的小区域内进行全搜索估计。该发明的具体内容包括本发明是一种基于有效区域的多参考帧快速运动估计方法,用多参考帧运动估计的有效区域得出并验证了视频序列的运动连续性假设,并采用所述的视频序列的运动连续性对当前帧中的块B进行快速运动估计,其运动估计步骤如下(A)在第一个参考帧F-1中进行全搜索运动估计,获取1/4像素精度的运动矢量和运动估计的代价函数,分别记为MV(B,-1)和SAD(B,-1);(B)根据(A)中的运动矢量MV(B,-1),获取参考帧Fj,j≠-1的有效区域VR;(C)以帧Fj,j≠-1作为参考,在(B)获得的有效区域VR中进行全搜索运动估计得到1/4像素精度的运动矢量和相应的代价函数,分别记为MV(B,j)和SAD(B,j);(D)根据上述(A)~(C)的计算结果,获取当前帧块B的最佳参考帧和对应的运动估计结果。
在本发明中,运动矢量v=(x,y)在搜索窗口中的有效区域是满足如下条件的象素集合 式中,z表示有效区域VR(v)在运动坐标系中的横坐标值,w表示有效区域VR(v)在运动坐标系中的纵坐标值,x表示运动坐标系中运动矢量v的横坐标值,y表示运动坐标系中运动矢量v的纵坐标值。
在本发明中,运动连续性假设P(MV(B,j)∈VR(MVj(B,-1)))≈1,式中,P(X)表示事件X的概率,MV(B,j)表示块B在帧Fj中的运动矢量,MVj(B,-1)表示帧Fj中和MV(B,-1)有相同坐标值的象素点。
下面将结合附图和实施例对本发明作进一步的详细说明。
(一)运动连续性假设和有效区域模型定义1对视频序列{Fk}|k=-NM,]]>F0表示当前正要编码的视频帧(即当前帧),Fi(i>0)是将要编码的后续帧,Fi(i<0=是已经编码的帧,没有特别说明,本发明后面的说明都只允许参考Fi(i<0)帧来编码当前帧F0。
定义2对于当前帧F0中的一个块B,令MV(B,i)=(xi,yi)表示其在Fi帧中的运动矢量。在多帧参考的情况下,对于任意的Fj,j≠i,,令MVj(B,i)表示帧Fj中和MV(B,i)有相同坐标值的象素点。
一般地,视频运动序列中相邻两帧比非相邻的两帧更相似,即Fi-1比其他任意Fj,j<i-1和Fi更相似,本发明称该运动特性为视频序列的运动连续性,很多文献描述的多参考帧估计情形下的运动矢量统计特性和该运动连续性吻合。此外,在很多视频标准的实际实现过程中,为了简单和减少视频的显示延迟,一般都用F-1进行运动估计,这些视频标准的成功,从事实上证明了视频序列的运动连续性。
根据运动连续性特性,本发明提出一般地,对任意MV(B,i),i<-1,应该大都集中在点MVi(B,-1)周围,即MV(B,i)存在于MVi(B,-1)所决定的一个小区域中,我们称这个小区域为有效区域,其不同结构形式如图2(a)、图2(b)和图2(c)所示。
(二)定义了命中率并验证了有效区域模型命中率对于视频序列{Fk}k=-NM,]]>如果用Bi,k表示序列中的第K个帧中的第i个块,则如果Fj(j<k-1)是块Bi,k的一个参考帧、且MV(Bi,k,j)位于有效区域VR(MV(Bi,k,k-1))中,则称MV(Bi,k,j)为命中的;否则MV(Bi,k,j)被称为未命中的。如果定义函数fS3→{0,1}和gS3→{0,1},其中S={i|-N≤i≤M},当且仅当Fj是Bi,k的一个参考帧时,f等于1,否则等于0;当前仅当f等于1而且MV(Bi,k,j)是命中的,g等于1,否则g等于0。为此,视频序列{Fk}k=-NM]]>的命中率(hit_rate)定义为式(1),它表示了序列中每个块在不同参考中运动矢量落在其特定有效区域中的概率。
hit_rate=ΣkΣiΣj≠i-1f(i,k,j)ΣkΣiΣj≠i-1[f(i,k,j)+g(i,k,j)]---(1)]]>显然,对于当前帧F0中的任意块B,可以用视频序列的命中率hit_rate来近似P(MV(B,j)∈VR(MVj(B,-1))),其中,j≠-1并且Fj是F0的一个参考帧。
本发明通过试验验证了命中率,结果如表1,命中率平均高达97%以上。
(三)基于有效区域的快速运动估计方法本发明基于上面定义的有效区域模型,提出了一种快速运动估计方法,即MVRF方法,其步骤如下(A)在第一个参考帧F-1中进行全搜索运动估计,获取1/4像素精度的运动矢量和运动估计的代价函数,分别记为MV(B,-1)和SAD(B,-1);(B)根据(A)中的运动矢量MV(B,-1),获取参考帧Fj,j≠-1的有效区域VR;(C)以帧Fj,j≠-1作为参考,在(B)获得的有效区域VR中进行全搜索运动估计得到1/4像素精度的运动矢量和相应的代价函数,分别记为MV(B,j)和SAD(B,j);(D)根据上述(A)~(C)的计算结果,获取当前帧块B的最佳参考帧和对应的运动估计结果。
(四)分数像素运动估计的考虑与其他的三步搜索、对数搜索等快速方法不同,本发明的MVRF方法虽然没有进行全搜索估计查找整数像素精度运动矢量,但是其搜索区域仍然是一个连续的小区域,这个特殊的连续搜索区域决定了,MVRF方法可以很好的利用现有的基于全搜索整像素精度估计的分数像素精度快速估计算法。因此,如果MVRF方法需要进行分数像素精度运动搜索时,可以采用如下快速估计思想1)、如果用MVRF方法所查找的相应的整像素精度运动矢量MV在有效区域的内部,则该MV周围的整像素点的运动估计结果一定存在,因此,进行分数精度像素搜索时,可以和普通的全搜索一样,采用任何优秀的快速方法;2)、如果用MVRF方法所查找的相应的整像素精度运动矢量MV在有效区域的边界,此时不能使用全搜索时的方法,如果用其他近似估计策略,势必进一步影响压缩率和视频恢复质量,因此,为了更好的折中,可以对这种情况下的分数像素精度搜索保留传统的方法。
(五)理论上分析了该发明的效果定义3-不匹配率对于某给定的运动估计方法(比如MVRF),给定一个视频块,如果用该算法找到的其运动矢量和用在整个搜索窗口中进行全搜索找到的运动矢量相同,则称该运动矢量MV是一个匹配的MV,否则是一个不匹配的MV。不匹配率表示在一个视频序列中的所有帧中的所有块的运动矢量中,不匹配运动矢量的比率。
对于一个块,本发明所提出的MVRF方法所查找的运动矢量用MVMVRF表示,而用全搜索运动估计查找的运动矢量用MVFS表示,则运动矢量MVFS的分布有三种情况1)MVFS在F-1帧中;2)MVFS在F-i帧中且在其有效区域内;3)MVFS在Fi中但不在其有效区域内,这里i<-1。如果MVMVRF在F-1参考帧中,或者MVMVRF在Fi帧中且在其有效区域内,则MVMVRF和MVFS一致;否则,MVMVRF和MVFS不同、且MVMVRF是一个不匹配的运动矢量MV。也就是说,MVRF方法的不匹配率仅仅是MVFS在Fi(i<-1)参考帧中且在其有效区域VR之外的概率。如果用P(!F-1)来表示MVFS不在F-1参考帧中的概率,则P(mis)=P(!F-1)×(1-hit_rate)。国际上已有的研究成果表明当有5个参考帧、搜索窗口尺寸w=7时,视频块的运动矢量分布在F-1参考帧中的概率达到了48.83%,因此,P(!F-1)=1-48.83%=51.17%,从而MVRF方法的不匹配率则为P(mis)=(1-48.83%)×2.87%=1.47%。由此可见,MVRF方法的不匹配率非常低,因此,其压缩率和视频恢复质量和在整个搜索窗口中进行全搜索运动估计的相当,而其计算量却大大降低。
视频应用越来越广泛,比如视频会议、视频点播VoD、远程教学与医疗等。而无论是视频存储还是传输型的应用,都需要进行视频压缩编码。视频压缩一般分帧内编码和帧间编码,其中帧间编码一般需要运动估计来消除帧间冗余。当输入的视频经过运动估计与补偿后,采用DCT或整数变换等策略消除帧内冗余,并进行量化和熵编码,形成压缩码流,该压缩码流可以存储也可以传输到网络上。典型的帧间预测编码过程的流程框图如图3所示。
在H.264标准中,由于宏块存在多种划分方式、运动估计允许多参考帧、并支持1/4像素精度运动矢量,因此,对于一个视频宏块,其运动估计过程如下For(所有宏块划分方式){For(某宏块划分方式下的所有块){For(所有允许的参考帧){在搜索窗口中进行整像素全搜索运动估计;在所搜索的整像素点附近进行半像素运动估计;在所搜索的半像素点附近进行1/4像素运动估计;获取该块在该参考帧下的运动矢量MV;获取“某宏块划分方式下的某子块在以某帧为参考时的运动估计结果和代价函数”;}}获取某宏块划分方式下、该宏块的总体运动估计结果和代价函数;}根据宏块在所有划分方式下的运动估计代价函数,获取其最佳运动估计代价函数;为宏块找到最佳的划分方式、各子块的最佳参考帧以及相关的压缩结果;
上述是H.264标准中一个宏块的全搜索运动估计过程(伪代码)。
使用本发明的MVRF方法时,H.264标准中一个宏块的运动估计搜索过程为For(所有宏块划分方式){For(某宏块划分方式下的所有块){在第一个参考帧F-1中进行整像素精度全搜索运动估计;在所搜索的整像素点附近进行半像素精度运动估计;在所搜索的半像素点附近进行1/4像素运动估计,获取其运动矢量MV(B,-1);计算在参考帧F-1进行运动估计的代价函数;根据MV(B,-1)获取有效区域;For(所有其他的参考帧){在有效区域中进行整像素全搜索运动估计;在所搜索的整像素点附近进行半像素运动估计;在所搜索的半像素点附近进行1/4像素运动估计;获取该块在该参考帧下的运动矢量MV;获取“某宏块划分方式下的某子块在以某帧为参考时的运动估计结果和代价函数”;}}获取某宏块划分方式下、该宏块的总体运动估计代价函数;}根据宏块的所有划分方式下的运动估计代价函数,获取其最佳运动估计代价函数;为宏块找到最佳的划分方式、各子块的最佳参考帧以及相关的压缩结果;上述是采用本发明的基于有效区域的多参考帧快速运动估计(MVRF)方法后H.264标准中一个宏块运动估计过程(伪代码)。
在本发明中,是以H.264标准的参考测试平台JM7.3为基础实现验证的,不但验证了运动连续性假设模型和有效区域的命中率,而且验证和详细比较了本发明和全搜索估计策略在视频恢复质量、压缩率和运动估计搜索点数上的性能。实例选择了有代表性的7个国际标准序列作为测试序列Coast序列、Forman序列、Mother序列、Mobile序列、Tennis序列、Hall序列和Flower。本实施实例中,除了Flower序列是CIF格式以为,其他都是QCIF格式的,其他参数设置如下a)帧速率为30fps;b)每种序列包含200帧,每100帧编码一个I帧,其他都为P帧;c)允许5个参考帧(NF=5);d)允许4种宏块划分方式,即16×16,16×8,8×16和8×8;e)量化器为32;f)熵编码模式CAVLC;
g)忽略了Hadamard变换和差错恢复机制;h)搜索窗口尺寸w为7。
(1)运动连续性模型的命中率比较运动连续性模型的命中率结果如表1,显然,尽管本发明所定义的有效区域远远小于全搜索的搜索窗口,但是其运动矢量命中率平均却高达97%以上,即用全搜索运动估计所获取的运动矢量,绝大部分都会落在本发明所定义的有效区域内。
表1 运动矢量存在于VR的命中率

和全搜索运动估计策略(FS)相比,用本发明的方法(MVRF)实现的实例在运动估计搜索点数、压缩率和恢复质量上的对比结果如下(2)运动估计搜索点数比较表2 MVRF算法的运动矢量分布特性

TFS=NF[(2w+1)2+16]=1141
=15×15+4(81×0.40+64×0.27+120×0.33)+5×16]]>=662.12]]>TFS-TMVRFTFS=1141-662.121141=41.97%]]>式中,TFS,TMVRF分别表示全搜索运动估计的搜索点数和本发明的MVRF方法的运动估计搜索点数。由此计算结果可见,和全搜索运动估计相比,本发明的运动估计搜索点数大大下降。
(3)视频恢复质量客观质量比较视频恢复质量的客观对比如表3,可见,尽管搜索点数大大下降,但是本发明得到的视频恢复质量和全搜索的基本相当表3 MVRF算法和全搜索算法的PSNR-Y对比(dB) (4)压缩率比较压缩率对比如表4,可见,尽管搜索点数大大下降,但是本发明得到的视频码流压缩率和全搜索的基本一致表4 MVRF算法和全搜索算法的码速率对比(Kbps) 通过对表1、表2、表3和表4的对比,验证了本发明基于有效区域的多参考帧快速运动估计方法,在基于H.264视频编码标准、在有5个参考帧、允许4种宏块(16×16、16×8、8×16、8×8)划分模式下,和在所有参考帧的整个搜索窗口中进行全搜索运动估计相比,该方法的运动估计搜索点数平均下降了41%,码速率平均增加了0.007分贝,视频恢复质量平均只下降了0.18%。
权利要求
1.一种基于有效区域的多参考帧快速运动估计方法,其特征在于用多参考帧运动估计的有效区域得出并验证了视频序列的运动连续性假设,并采用所述的视频序列的运动连续性对当前帧中的块B进行快速运动估计,其运动估计步骤如下(A)在第一个参考帧F-1中进行全搜索运动估计,获取1/4像素精度的运动矢量和运动估计的代价函数,分别记为MV(B,-1)和SAD(B,-1);(B)根据(A)中的运动矢量MV(B,-1),获取参考帧Fj,j≠-1的有效区域VR;(C)以帧Fj,j≠-1作为参考,在(B)获得的有效区域VR中进行全搜索运动估计得到1/4像素精度的运动矢量和相应的代价函数,分别记为MV(B,j)和SAD(B,j);(D)根据上述(A)~(C)的计算结果,获取当前帧块B的最佳参考帧和对应的运动估计结果。
2.根据权利要求1所述的基于有效区域的多参考帧快速运动估计方法,其特征在于运动矢量v=(x,y)在搜索窗口中的有效区域是满足如下条件的象素集合 式中,z表示有效区域VR(v)在运动坐标系中的横坐标值,w表示有效区域VR(v)在运动坐标系中的纵坐标值,x表示运动坐标系中运动矢量v的横坐标值,y表示运动坐标系中运动矢量v的纵坐标值。
3.根据权利要求1所述的基于有效区域的多参考帧快速运动估计方法,其特征在于运动连续性假设P(MV(B,j)∈VR(MVj(B,-1)))≈1式中,P(X)表示事件X的概率,MV(B,j)表示块B在帧Fj中的运动矢量,MVj(B,-1)表示帧Fj中和MV(B,-1)有相同坐标值的象素点。
4.根据权利要求1所述的基于有效区域的多参考帧快速运动估计方法,其特征在于基于H.264视频编码标准、在有5个参考帧、允许4种宏块(16×16、16×8、8×16、8×8)划分模式下,和在所有参考帧的整个搜索窗口中进行全搜索运动估计相比,该方法的运动估计搜索点数平均下降了41%,码速率平均增加了0.007分贝,视频恢复质量平均只下降了0.18%。
全文摘要
本发明公开了一种基于有效区域的多参考帧快速运动估计方法,其适用于视频编码的整像素精度的快速运动估计。本发明的快速运动估计通过研究多参考帧运动估计的特性,提出和验证了运动连续性假设,并在此基础上提出了不同参考帧中的运动有效区域。该有效区域的搜索点远远小于全搜索运动估计的搜索点,从而大大降低了运动估计的时间复杂度。本方法主要对整像素精度运动估计提出了快速搜索策略,其独特的区域预测策略使得所预测的搜索区域是一个连续的区域,因此本方法可以和其他快速的分数像素精度运动估计方法相结合,以进一步降低运动估计的运算复杂度。
文档编号H04N7/32GK1633184SQ20051000206
公开日2005年6月29日 申请日期2005年1月14日 优先权日2005年1月14日
发明者熊璋, 蒲菊华 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1