一种帧间编码的运动预测方法和系统的制作方法

文档序号:7897502阅读:244来源:国知局
专利名称:一种帧间编码的运动预测方法和系统的制作方法
技术领域
本发明涉及视频编码领域,尤其涉及一种帧间编码的运动预测方法和系统。
背景技术
视频编码中视频源的帧间信息冗余度极大,从而使得帧间编码方法在视频编码中显得尤为重要。目前主流的基于宏块、子块的运动补偿方法,在常规运动时,可以达到较好的效果,但当出现全局运动时,相应的压缩难度提升,这个问题在低码率压缩时更为严重。 出现此问题,固然是由于编码源本身的复杂度引起的,但另一方面却也是现有基于宏块、子块的运动补偿的方法存在缺陷的原因。基于宏块、子块的运动补偿的方法割裂了区域及全局相关性,从而当存在全局运动时,仅使用该方法不能很好的消除帧间信息的冗余度,从而使得低码率下的压缩质与量的矛盾尤为突出。此外,逐个判定的模式也浪费了计算资源。

发明内容
本发明实施例的目的在于提出一种帧间编码的运动预测方法,旨在解决现有技术基于宏块、子块的运动补偿的方法割裂了区域及全局相关性,从而当存在全局运动时,不能很好的消除帧间信息的冗余度,从而使得低码率下的压缩质与量的矛盾尤为突出的问题。本发明实施例方法是这样实现的,一种帧间编码的运动预测方法,所述方法包括根据当前帧的相对变化复杂度信息所在的阈值范围,判断是否进入全局运动预测,如果是,则判断选定的判定区域是否为强一致性水平运动趋势,如果是,则获取当前帧为水平全局运动,获取相应的方向判定,结束。优选地,所述步骤“判断选定的判定区域是否为强一致性水平运动趋势”还包括如果选定的区域不是强一致水平运动趋势,则选取垂直运动判定区域,判断所述垂直运动判定区域是否为强一致性垂直运动趋势,如果是,则获取当前帧为垂直全局运动, 获取相应的方向判定,结束。优选地,所述步骤“判断所述垂直运动判定区域是否为强一致性垂直运动趋势”还包括如果选定的区域不是强一致垂直运动趋势,则进行水平、垂直运动全局运动判定。本发明实施例的另一目的在于提出一种帧间编码的运动预测系统,所述系统包括进入全局运动预测判断模块用于根据当前帧的相对变化复杂度信息所在的阈值范围,判断是否进入全局运动预测;强一致性水平运动趋势判断模块判断选定的判定区域是否为强一致性水平运动趋势,如果是则获取当前帧为水平全局运动,获取相应的方向判定,结束;如果否则进入强一致性垂直运动趋势判断模块;
强一致性垂直运动趋势判断模块,选取垂直运动判定区域,判断所述垂直运动判定区域是否为强一致性垂直运动趋势,如果是则获取当前帧为垂直全局运动,获取相应的方向判定,结束,如果否则进入水平、垂直运动全局运动判定模块。水平、垂直运动全局运动判定模块,用于根据水平、垂直区域的运动,进行全局运动方向的判定。本发明的有益效果本发明提出一种帧间编码的运动预测方法,先根据当前帧的相对变化复杂度信息所在的阈值范围,判断是否进入全局运动预测;如果是进入全局运动预测,判断选定的判定区域是否为强一致性水平运动趋势,如果是强一致水平运动趋势,则获取当前帧为水平全局运动,获取相应的方向判定,结束;如果不是强一致水平运动趋势,则选取垂直运动判定区域,判断所述垂直运动判定区域是否为强一致性垂直运动趋势,如果是强一致性垂直运动趋势,则获取当前帧为垂直全局运动,获取相应的方向判定,结束;如果不是强一致性垂直运动趋势,则进行水平、垂直运动全局运动判定。利用本发明方法,一方面可以提升压缩率,另一方面可以提升压缩速度,即对存在全局运动的视频源进行压缩时,可通过统一判断的方式确定运动预测,而无需像仅依赖基于宏块、子块的运动预测方法对每个宏块子块依次作判断。


图1是本发明实施例的一种帧间编码的运动预测方法流程图;图2是本发明实施例的一种帧间编码的运动预测系统结构示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。本发明提出一种帧间编码的运动预测方法,先根据当前帧的相对变化复杂度信息所在的阈值范围,判断是否进入全局运动预测;如果是进入全局运动预测,判断选定的判定区域是否为强一致性水平运动趋势,如果是强一致水平运动趋势,则获取当前帧为水平全局运动,获取相应的方向判定,结束;如果不是强一致水平运动趋势,则选取垂直运动判定区域,判断所述垂直运动判定区域是否为强一致性垂直运动趋势,如果是强一致性垂直运动趋势,则获取当前帧为垂直全局运动,获取相应的方向判定,结束;如果不是强一致性垂直运动趋势,则进行水平、垂直运动全局运动判定。图1所示为本发明实施例一种帧间编码的运动预测方法流程图,所述方法包括以下步骤S11,根据当前帧的相对变化复杂度信息所在的阈值范围,判断是否进入全局运动预测;具体为如果当前帧的相对变化复杂度信息大于第一阈值,则认为当前帧与前一帧极度近似,判定当前帧为Skip帧(前后两帧近乎无运动,可直接复制前一帧图像);如果当前帧它的相对变化复杂度信息在第一阈值和第二阈值之间,则不进入全局运动预测;如
8果当前帧的相对变化复杂度信息小于第二阈值,则进入全局运动预测,即进入步骤S12。其中第一阈值大于第二阈值。所述是否进入全局运动预测方法的程序描述如下if (tis_framest > Thresi)则第t帧与第t-1帧极度近似,判定第t帧为Skip帧if (tis_framest < Thres2)则运用全局运动预测方法进行预测if (Thres2 彡 tis_framest 彡 Thresl)则无全局运动趋势,进入基于宏块、块的运动预测其中Thresl、Thres2为相应的第一阈值和第二阈值判定阈值tis_framest表示 第t帧的相对变化复杂度信息;所述当前帧的相对变化复杂度信息求取方法如下A)根据宏块运动信息、宏块纹理信息提取各宏块相对变化复杂度信息;a)宏块运动信息当前宏块内像素与前一帧相应宏块内的像素值差值的均方差。ti_Mbt,m,n = std[ft(i, j| (i,j) e Mb^J-fHa,j| (i,j) e Mb^mJ]b)宏块纹理信息当前宏块内像素值的均方差。si_Mbt,m,n = std[ft(i,j|(i,j) eMbt,m,n)],if(si_Mbt,m,n = 0)则,判定当前宏块为单点宏块,即整个宏块所有像素值即为相同的一个像素值;c)宏块相对变化复杂度信息
\ti Mb,mn Isi Mb,mn , si Mbtmn ^O [_ - —/。- — :=0其中Mbt,m,n表示第t帧第m行η列的宏块;Mbt-^n表示;第t-Ι帧第m行η列的宏块;ft(i, j)表示第t帧第i行j列的像素值;ft(i, j I (i,j) e Mbt,m,n)表示;表示第t帧中属于Mbt,m,n的第i行j列的像素值;^(i, j I (i,j) e Mbt-^n)表示;表示第t-Ι帧中属于Mbt-^n的第i行j列的像素值;Std表示均方差;ti_Mbt,m,n表示Mbt,m,n的宏块运动信息;si_Mbt,m,n表示Mbt,m,n的宏块纹理信息;B)基于宏块相对变化复杂度信息,获取当前帧的相对变化复杂度信息;
权利要求
1.一种帧间编码的运动预测方法,其特征在于,所述方法包括根据当前帧的相对变化复杂度信息所在的阈值范围,判断是否进入全局运动预测,如果是,则判断选定的判定区域是否为强一致性水平运动趋势,如果是,则获取当前帧为水平全局运动,获取相应的方向判定,结束。
2.如权利要求1所述的帧间编码的运动预测方法,其特征在于,所述步骤“判断选定的判定区域是否为强一致性水平运动趋势”还包括如果选定的判定区域不是强一致水平运动趋势,则选取垂直运动判定区域,判断所述垂直运动判定区域是否为强一致性垂直运动趋势,如果是,则获取当前帧为垂直全局运动, 获取相应的方向判定,结束。
3.如权利要求1所述的帧间编码的运动预测方法,其特征在于,所述步骤“判断所述垂直运动判定区域是否为强一致性垂直运动趋势”还包括如果选定的区域不是强一致垂直运动趋势,则进行水平、垂直运动全局运动判定。
4.如权利要求1所述的帧间编码的运动预测方法,其特征在于,所述“根据当前帧的相对变化复杂度信息所在的阈值范围,判断是否进入全局运动预测。”具体为如果当前帧的相对变化复杂度信息大于第一阈值,则认为当前帧与前一帧极度近似, 判定当前帧为Skip帧;如果当前帧它的相对变化复杂度信息在第一阈值和第二阈值之间, 则不进入全局运动预测;如果当前帧的相对变化复杂度信息小于第二阈值,则进入全局运动预测,即进入权利要求1所述的步骤“判断选定的判定区域是否为强一致性水平运动趋势”,其中第一阈值大于第二阈值。
5.如权利要求1所述的帧间编码的运动预测方法,其特征在于,所述的当前帧的相对变化复杂度信息求取方法如下根据宏块运动信息、宏块纹理信息提取各宏块相对变化复杂度信息; 基于宏块相对变化复杂度信息,获取当前帧的相对变化复杂度信息。
6.如权利要求5所述的帧间编码的运动预测方法,其特征在于,所述“根据宏块运动信息、宏块纹理信息提取各宏块相对变化复杂度信息”具体为求取宏块运动信息即当前宏块内像素与前一帧相应宏块内的像素值差值的均方差; ti_Mbt,m,n = std[ft(i, j| (i,j) e MbuJ-f^a,j| (i,j) e Mb^mJ] 求取宏块纹理信息即当前宏块内像素值的均方差; si_Mbt,m,n = std[ft(i, j| (i,j) e Mbt,m,n)], if(si_Mbt,m,n = 0)则判定当前宏块为单点宏块,即整个宏块所有像素值即为相同的一个像素值; 求取宏块相对变化复杂度信息
7.如权利要求5所述的帧间编码的运动预测方法,其特征在于,所述“基于宏块相对变化复杂度信息,获取当前帧的相对变化复杂度信息”具体为
8.如权利要求1所述的帧间编码的运动预测方法,其特征在于, 所述判定区域需同时满足以下条件条件1 判定区域为背景区域;条件2 选取两类判定区域即水平区域和垂直区域,每类区域至少选取两个区域; 条件3 水平区域只作两个方向检测、垂直区域只作两个方向检测; 设选定的两个水平区域,在其中只作水平运动判定; 设选定的两个垂直区域,在其中只作垂直运动判定。
9.如权利要求1所述的帧间编码的运动预测方法,其特征在于,所述“判断选定的判定区域是否为强一致性水平运动趋势”具体包括以下步骤 以宏块为单位,求取判定区域内的宏块水平预测方向; 统计各水平区域中相应方向的运动宏块数;基于各水平区域中相应方向的运动宏块数的统计信息,判定该区域的信息是否可用; 针对选定的水平区域的运动趋势作水平运动的判定,即一个水平区域内宏块数最多的运动方向,则判定为该区域的运动方向;根据水平区域的运动,进行全局运动方向判定; 其中所述水平区域中相应方向包括左侧运动、右侧运动、静止。
10.如权利要求9所述的帧间编码的运动预测方法,其特征在于,所述“以宏块为单位, 求取判定区域内的宏块水平预测方向”具体为对所述选定的两个水平区域内的宏块,分别具体做如下计算 计算左侧运动预测值和当前编码值差值的均方差,获取左侧运动预测残差; 计算右侧运动预测值和当前编码值差值的均方差,获取右侧运动预测残差; 计算静止预测值和当前编码值差值的均方差,获取静止运动预测残差。
11.如权利要求9所述的帧间编码的运动预测方法,其特征在于,所述“统计各水平区域中相应方向的运动宏块数”具体为在水平区域内,宏块预测残差最小的方向上运动宏块数加一。
12.如权利要求9所述的帧间编码的运动预测方法,其特征在于,所述“基于各水平区域中相应方向的运动宏块数的统计信息,判定该区域的信息是否可用”具体为一个水平区域内如果相反运动方向的宏块数的差值小于第一水平判定阈值或者该水平区域内三个运动方向(左侧运动、右侧运动、静止)宏块数的最大值与次大值的差值小于第二水平判定阈值,则认为该区域的信息不可用。
13.如权利要求9所述的帧间编码的运动预测方法,其特征在于,所述“根据水平区域的运动,进行全局运动方向判定”具体为两个水平区域的运动方向一致且都不属于静止方向,并且每个区域相应运动方向上的宏块数大于相应第三判定阈值;或者两个水平区域的运动方向不一致但其中一个区域运动方向为静止并且另一非静止方向的区域其相应运动方向的宏块数大于相应第四判定阈值;那么即可获取全局运动方向,结束全局运动预测判断,否则,进入权利要求2中的“选取垂直运动判定区域,判断所述垂直运动判定区域是否为强一致性垂直运动趋势”。
14.如权利要求2所述的帧间编码的运动预测方法,其特征在于,所述“判断所述垂直运动判定区域是否为强一致性垂直运动趋势”具体包括以下步骤对所述选定的垂直区域作垂直运动预测; 统计各垂直区域中相应方向的运动宏块数;基于各垂直区域中相应方向的运动宏块数的统计信息,判定该区域的信息是否可用; 针对所述选定的垂直区域的运动趋势作垂直运动的判定,即一个垂直区域内宏块数最多的运动方向,则判定为该区域的运动方向;根据垂直区域的运动,进行全局运动方向判定;其中,所述垂直区域中相应方向包括上侧运动、下侧运动、静止方向。
15.如权利要求14所述的帧间编码的运动预测方法,其特征在于,所述“对所述选定的垂直区域作垂直运动预测”具体为在所述选定的两个垂直区域内的宏块,分别具体做如下计算 计算上侧运动预测值和当前编码值差值的均方差,获取上侧运动预测残差; 计算下侧运动预测值和当前编码值差值的均方差,获取下侧运动预测残差; 计算静止预测值和当前编码值差值的均方差,获取静止运动预测残差。
16.如权利要求14所述的帧间编码的运动预测方法,其特征在于,所述“统计各垂直区域中相应方向的运动宏块数”具体为在垂直区域内,宏块预测残差最小的方向上运动宏块数加一。
17.如权利要求14所述的帧间编码的运动预测方法,其特征在于,所述“基于各垂直区域中相应方向的运动宏块数的统计信息,判定该区域的信息是否可用”具体为一个垂直区域内如果相反运动方向的宏块数的差值小于第一垂直判定阈值或者该区域内三个运动方向宏块数的最大值与次大值的差值小于第二垂直判定阈值,则认为该区域的信息不可用。
18.如权利要求14所述的帧间编码的运动预测方法,其特征在于,所述“根据垂直区域的运动,进行全局运动方向判定”具体为两个垂直区域的运动方向一致且都不属于静止方向,并且每个区域相应运动方向上的宏块数大于相应的第三判定阈值,或者两个垂直区域的运动方向不一致但其中一个区域运动方向为静止并且另一非静止方向的区域其相应运动方向的宏块数大于相应的第四判定阈值,那么即可获取全局运动方向,结束全局运动预测判断,否则,进入权利要求3中的步骤“进行水平、垂直运动全局运动判定”。
19.如权利要求3所述的帧间编码的运动预测方法,其特征在于,所述“进行水平、垂直运动全局运动判定”具体包括以下步骤计算水平区域的方向差值和垂直区域的方向差值,即计算水平、垂直区域最大运动方向宏块数与次大运动方向宏块数的差值,同类区域的最小值即为该类区域的方向差值; 根据水平区域、垂直区域的各类情况择优选取,确定全局运动方向。
20.如权利要求19所述的帧间编码的运动预测方法,其特征在于,所述“根据水平区域、垂直区域的各类情况择优选取,确定全局运动方向”具体为情况1 当两个同类区域的运动方向都一致时,如果满足一类区域运动方向差值与另一类运动方向差值大于相应的第九判定阈值或者一类区域运动方向差值大于相应的第五判定阈值,则运动方向差值大的区域类的运动方向即为全局运动方向;所述第九判断阈值为mbheight/mbwidth,mbheight表示一帧图像的宏块行数,mbwidth表示一帧图像的宏块列数;情况2 当两个水平区域的运动方向一致而两个垂直区域的运动方向不一致时 情况21 如果两个垂直区域信息均判定为有效或者一个垂直区域有效,而且该垂直区域运动方向的宏块数小于相应的第六判定阈值,则当水平区域的方向差值满足相应的第五判定阈值,全局运动方向即为水平区域的运动方向; 情况22 如果只有一个垂直区域有效,如果垂直区域的方向差值大于相应的第五判定阈值并且垂直区域的方向差值与水平区域的方向差值的比值大于相应的第七判定阈值并且水平区域的运动方向为静止,则有效垂直区域的运动方向即为全局运动方向;如果水平区域的方向差值大于相应的第五判定阈值并且水平区域的方向差值与垂直区域的方向差值的比值大于相应的第七判定阈值,则,全局运动方向即为水平区域的运动方向;情况3 当两个垂直区域的运动方向一致而两个水平区域的运动方向不一致时 情况31 如果两个水平区域信息均判定为有效或者一个水平区域有效而且该水平区域运动方向的宏块数小于相应的第六判定阈值,则当垂直区域的方向差值满足相应的第五判定阈值,全局运动方向即为垂直区域的运动方向; 情况32 如果只有一个水平区域有效、如果水平区域的方向差值大于相应的第五判定阈值并且水平区域的方向差值与垂直区域的方向差值的比值大于相应的第八判定阈值并且垂直区域的运动方向为静止,则,有效水平区域的运动方向即为全局运动方向;如果垂直区域的方向差值大于相应的第五判定阈值并且垂直区域的方向差值与水平区域的方向差值的比值大于相应的第八判定阈值,则,全局运动方向即为垂直区域的运动方向;情况4:当两个水平区域的运动方向不一致、两个垂直区域的运动方向也不一致时, 贝U,不存在全局运动。
21.—种帧间编码的运动预测系统,其特征在于,所述系统包括进入全局运动预测判断模块用于根据当前帧的相对变化复杂度信息所在的阈值范围,判断是否进入全局运动预测;强一致性水平运动趋势判断模块判断选定的判定区域是否为强一致性水平运动趋势,如果是则获取当前帧为水平全局运动,获取相应的方向判定,结束;如果否则进入强一致性垂直运动趋势判断模块;强一致性垂直运动趋势判断模块,选取垂直运动判定区域,判断所述垂直运动判定区域是否为强一致性垂直运动趋势,如果是则获取当前帧为垂直全局运动,获取相应的方向判定,结束,如果否则进入水平、垂直运动全局运动判定模块;水平、垂直运动全局运动判定模块,用于根据水平、垂直区域的运动,进行全局运动方向的判定。
全文摘要
本发明提出一种帧间编码的运动预测方法,先根据当前帧的相对变化复杂度信息所在的阈值范围,判断是否进入全局运动预测;如果是进入全局运动预测,判断选定的判定区域是否为强一致性水平运动趋势,如果是强一致水平运动趋势,则获取当前帧为水平全局运动,获取相应的方向判定,结束;如果不是强一致水平运动趋势,则选取垂直运动判定区域,判断所述垂直运动判定区域是否为强一致性垂直运动趋势,如果是强一致性垂直运动趋势,则获取当前帧为垂直全局运动,获取相应的方向判定,结束;如果不是强一致性垂直运动趋势,则进行水平、垂直运动全局运动判定。利用本发明方法,一方面可以提升压缩率,另一方面可以提升压缩速度。
文档编号H04N7/32GK102547264SQ20101061000
公开日2012年7月4日 申请日期2010年12月28日 优先权日2010年12月28日
发明者舒倩 申请人:深圳市融创天下科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1