一种帧间预测方法、装置及存储介质与流程

文档序号:17489643发布日期:2019-04-23 20:20阅读:131来源:国知局
一种帧间预测方法、装置及存储介质与流程

本发明涉及视频处理技术领域,具体涉及一种帧间预测方法、装置及存储介质。



背景技术:

帧间预测是利用当前编码块周边已编码重建的其他编码块确定参考帧,通过运动估计(motionestimation),利用参考帧对当前编码块进行预测编码,以消除视频的时间冗余信息的一种手段;帧间预测是视频编码的一个重要环节,尤其在h.264/avc、h.265/hevc、avs等混合编码框架的视频编码中经常应用。

对当前编码块进行帧间预测的一个重要内容是:从众多的所有参考帧中选择出最优的目标参考帧(最优的目标参考帧一般认为是所有参考帧中,编码代价最小的参考帧),从而通过运动估计,利用目标参考帧对当前编码块进行预测编码。

由于帧间预测过程中目标参考帧选择的处理复杂度,对于视频编码的效率影响极大,因此如何降低目标参考帧选择的处理复杂度,使得视频编码的复杂度降低,提高视频编码的效率,一直是本领域技术人员研究的问题。



技术实现要素:

有鉴于此,本发明实施例提供一种帧间预测方法、装置及存储介质,以降低目标参考帧选择的处理复杂度,使得视频编码的复杂度降低,提高视频编码的效率。

为实现上述目的,本发明实施例提供如下技术方案:

一种帧间预测方法,包括:

确定与当前编码块的当前预测单元空间相邻的至少一个参考已编码块;

对于预设定的各参考帧,根据各参考已编码块的参考信息,分别确定所述当前预测单元在各参考帧下相应的amvp;

从当前预测单元在各参考帧下相应的amvp中,确定目标amvp,将所述目标amvp对应的参考帧作为候选参考帧;

将所述候选参考帧与预确定的第一参考帧进行比对,若所述候选参考帧与第一参考帧不同,分别通过所述候选参考帧和第一参考帧对当前预测单元进行运动估计,根据运动估计的候选参考帧和第一参考帧相应的编码代价,从候选参考帧和第一参考帧中确定当前预测单元的目标参考帧;其中,第一参考帧为所述当前编码块的子编码块中使用最多的参考帧。

本发明实施例还提供一种帧间预测装置,包括:

参考已编码块确定模块,用于确定与当前编码块的当前预测单元空间相邻的至少一个参考已编码块;

amvp确定模块,用于对于预设定的各参考帧,根据各参考已编码块的参考信息,分别确定所述当前预测单元在各参考帧下相应的amvp;

候选参考帧确定模块,用于从当前预测单元在各参考帧下相应的amvp中,确定目标amvp,将所述目标amvp对应的参考帧作为候选参考帧;

第一比对选择模块,用于将所述候选参考帧与预确定的第一参考帧进行比对,若所述候选参考帧与第一参考帧不同,分别通过所述候选参考帧和第一参考帧对当前预测单元进行运动估计,根据运动估计的候选参考帧和第一参考帧相应的编码代价,从候选参考帧和第一参考帧中确定当前预测单元的目标参考帧;其中,第一参考帧为所述当前编码块的子编码块中使用最多的参考帧。

本发明实施例还提供一种存储介质,所述存储介质存储有适于中央处理器或图形处理器执行的程序,所述程序用于:

确定与当前编码块的当前预测单元空间相邻的至少一个参考已编码块;

对于预设定的各参考帧,根据各参考已编码块的参考信息,分别确定所述当前预测单元在各参考帧下相应的amvp;

从当前预测单元在各参考帧下相应的amvp中,确定目标amvp,将所述目标amvp对应的参考帧作为候选参考帧;

将所述候选参考帧与预确定的第一参考帧进行比对,若所述候选参考帧与第一参考帧不同,分别通过所述候选参考帧和第一参考帧对当前预测单元进行运动估计,根据运动估计的候选参考帧和第一参考帧相应的编码代价,从候选参考帧和第一参考帧中确定当前预测单元的目标参考帧;其中,第一参考帧为所述当前编码块的子编码块中使用最多的参考帧。

基于上述技术方案,本发明实施例可根据当前预测单元空间相邻的至少一个参考已编码块的参考信息,确定出当前预测单元在各参考帧下相应的amvp,并从中选取出目标amvp;将目标amvp对应的参考帧作为候选参考帧,与预确定的第一参考帧进行比对,从而根据比对结果确定当前预测单元的目标参考帧,实现帧间预测过程中,当前预测单元的目标参考帧的确定。

由于本发明实施例从所有参考帧中基于amvp选取候选参考帧后,仅需在候选参考帧和预确定的第一参考帧不同时,才分别通过候选参考帧和第一参考帧对当前预测单元进行运动估计,从而根据运动估计的编码代价,从候选参考帧和第一参考帧中选取出当前预测单元的目标参考帧,因此本发明实施例可极大的减少当前预测单元的目标参考帧选取过程中运动估计搜索的次数,降低目标参考帧选择的处理复杂度,使得视频编码的复杂度降低,提高视频编码的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的帧间预测方法的流程图;

图2为编码块与预测单元的关系示意图;

图3为参考已编码块的示例图;

图4为确定当前预测单元在一参考帧下相应的amvp的方法流程图;

图5为确定当前预测单元在各参考帧下相应的amvp及确定目标amvp的方法流程图;

图6为将候选参考帧与第一参考帧进行比对,确定目标参考帧的方法流程图;

图7为本发明实施例提供的帧间预测方法的另一流程图;

图8为本发明实施例提供的视频编码应用示例流程图;

图9为本发明实施例提供的帧间预测装置的结构框图;

图10为本发明实施例提供的帧间预测装置的另一结构框图;

图11为本发明实施例提供的帧间预测装置的再一结构框图;

图12为视频编码设备的硬件结构框图。

具体实施方式

本发明的发明人发现,在帧间预测过程中,降低目标参考帧选择的处理复杂度,关键在于降低目标参考帧选择过程中,运动估计的搜索次数;由于一次运动估计将带来较大的处理负担,因此如何合理的在帧间预测过程中,降低目标参考帧选择时所使用的运动估计的搜索次数,尤为关键。基于此,本发明的发明人提出一种新型的帧间预测方法,以在帧间预测过程中,降低目标参考帧选择时所使用的运动估计的搜索次数,达到降低目标参考帧选择的处理复杂度的目的。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的帧间预测方法的流程图,该帧间预测方法可应用于视频编码设备,视频编码设备可以是具有视频编码能力的cpu(中央处理器)或gpu(图形处理器);可选的,视频编码设备可选用手机、笔记本电脑等终端实现,也可选用服务器实现;

参照图1,本发明实施例提供的帧间预测方法可以包括:

步骤s100、确定与当前编码块的当前预测单元空间相邻的至少一个参考已编码块。

当前编码块可以理解为是当前需进行预测编码的编码块,当前编码块可划分出多个预测单元,如图2示例,一个编码块(cu)可划分出2个预测单元(pu),显然图2仅是示例,一个编码块并不限于划分出2个预测单元的情况;

本发明实施例可对当前编码块中的每一预测单元均使用本发明实施例提供的帧间预测方法进行处理,当前预测单元可以认为是当前编码块中当前需进行预测编码的预测单元。

已编码块可以认为是利用本发明实施例提供的帧间预测方法已进行了预测编码的编码块,已编码块已利用本发明实施例提供的帧间预测方法选择了帧间预测所用的参考帧,因此已编码块所选择的参考帧,和基于已选择的参考帧所确定的运动矢量(mv,motionvector)是已知的;在本发明实施例中,已编码块所选择的参考帧可以认为是已编码块相应的参考帧,基于已编码块相应的参考帧所确定的运动矢量可以认为是,已编码块相应的运动矢量。

可选的,所选择的与当前预测单元空间相邻的至少一个参考已编码块可以认为是:与当前预测单元空间相邻,且与当前预测单元的边点相接的至少一个已编码块;

如图3所示示例,至少一个参考已编码块可以包括:与当前预测单元右上边点相接的已编码块(b0),与当前预测单元右上边点相接,且位于当前预测单元上边的已编码块(b1),与当前预测单元左上边点相接的已编码块(b2),与当前预测单元左下边点相接的已编码块(a0),与当前预测单元左下边点相接,且位于当前预测单元左边的已编码块(a1)。显然,图3所示示例仅是一种举例示意说明,具体的至少一个参考已编码块的选取可不限于图3所示,如也可能仅选取其中的b0、b2、a0等。

步骤s110、对于预设定的各参考帧,根据各参考已编码块的参考信息,分别确定当前预测单元在各参考帧下相应的先进运动矢量预测值(amvp,advancedmotionvectorprediction)。

可选的,由于参考已编码块已利用本发明实施例提供的帧间预测方法进行了预测编码,因此参考已编码块相应的参考帧和运动矢量等参考信息均是已知的;对于预设定的所有参考帧中的各参考帧而言,本发明实施例可根据各参考已编码块的参考信息,分别确定出当前预测单元在每一参考帧下相应的amvp。

可选的,在确定当前预测单元在一参考帧下相应的amvp时,本发明实施例可在该参考帧下,确定当前预测单元相对于各参考已编码块的运动矢量,得到当前预测单元在该参考帧下相应的候选运动矢量(在一参考帧下,当前预测单元相对于各参考已编码块的运动矢量,可视为是当前预测单元在该参考帧下相应的候选运动矢量),从而从当前预测单元在该参考帧下相应的候选运动矢量中,选取amvp代价最小的运动矢量,作为当前预测单元在该参考帧下相应的amvp(当前预测单元在一参考帧下相应的amvp可视为是,当前预测单元在该参考帧下相应的候选运动矢量中,amvp代价最小的运动矢量);

从而对于当前预测单元,逐参考帧的通过上述方式进行处理,以确定出当前预测单元在各参考帧下相应的amvp。

可选的,在一参考帧下,当前预测单元相对于一候选运动矢量的amvp代价可通过如下方式确定:确定相对于该参考帧偏离了该候选运动矢量距离,且与当前预测单元相同形状的参考块,计算当前预测单元与该参考块的间的误差和,得到当前预测单元相对于该候选运动矢量的amvp代价;从而在一参考帧下,逐候选运动矢量的通过上述方式进行处理,以确定出当前预测单元在一参考帧下,相对于各候选运动矢量的amvp代价。

显然,amvp代价的确定方式并不限于此,还可选用其他方式实现。

可选的,一个参考帧可通过唯一的参考帧索引进行关联标识。

步骤s120、从当前预测单元在各参考帧下相应的amvp中,确定目标amvp,将目标amvp对应的参考帧作为候选参考帧。

可选的,本发明实施例在确定当前预测单元在各参考帧下相应的amvp后,可将当前预测单元在各参考帧下相应的amvp中,amvp代价最小的amvp作为目标amvp,从而将目标amvp对应的参考帧作为候选参考帧使用。

步骤s130、将候选参考帧与预确定的第一参考帧进行比对,若候选参考帧与第一参考帧不同,分别通过候选参考帧和第一参考帧对当前预测单元进行运动估计,根据运动估计的候选参考帧和第一参考帧相应的编码代价,从候选参考帧和第一参考帧中确定当前预测单元的目标参考帧。

可选的,预确定的第一参考帧可以是当前编码块的子编码块中使用最多的参考帧,其中,当前编码块的子编码块预先编码完成。需要说明的是,一编码块可以具有多种编码块模式编码,每种编码块模式编码模式可对应有一种预测单元的划分方式,且预测单元在编码块中具有独立的运动信息,一般一个编码块可分成2个预测单元;而子编码块则是对编码块进一步在空间上进行划分,所得到的编码块的子区域,一般而言,一个编码块可固定分成4个子编码块。

在确定候选参考帧和预确定的第一参考帧的基础上,本发明实施例可将候选参考帧与预确定的第一参考帧进行比对,如果两者相同,则可择一作为当前预测单元的目标参考帧;如果两者不同,则可通过候选参考帧和第一参考帧分别对当前预测单元进行运动估计,根据运动估计的候选参考帧和第一参考帧的编码代价,从候选参考帧和第一参考帧中选取编码代价最小的参考帧,作为当前预测单元的目标参考帧。

本发明实施例提供的帧间预测方法包括:确定与当前编码块的当前预测单元空间相邻的至少一个参考已编码块;根据各参考已编码块的参考信息,分别确定当前预测单元在各参考帧下相应的amvp;从当前预测单元在各参考帧下相应的amvp中,确定目标amvp,将目标amvp对应的参考帧作为候选参考帧;将候选参考帧与预确定的第一参考帧进行比对,若候选参考帧与第一参考帧不同,分别通过候选参考帧和第一参考帧对当前预测单元进行运动估计,根据运动估计的候选参考帧和第一参考帧相应的编码代价,从候选参考帧和第一参考帧中确定当前预测单元的目标参考帧。

可以看出,本发明实施例可根据当前预测单元空间相邻的至少一个参考已编码块的参考信息,确定出当前预测单元在各参考帧下相应的amvp,并从中选取出目标amvp;将目标amvp对应的参考帧作为候选参考帧,与预确定的第一参考帧进行比对,从而根据比对结果确定当前预测单元的目标参考帧,实现帧间预测过程中,当前预测单元的目标参考帧的确定。

由于本发明实施例从所有参考帧中基于amvp选取候选参考帧后,仅需在候选参考帧和预确定的第一参考帧不同时,才分别通过候选参考帧和第一参考帧对当前预测单元进行运动估计,从而根据运动估计的编码代价,从候选参考帧和第一参考帧中选取出当前预测单元的目标参考帧,因此本发明实施例可极大的减少当前预测单元的目标参考帧选取过程中运动估计搜索的次数,降低目标参考帧选择的处理复杂度,使得视频编码的复杂度降低,提高视频编码的效率。

需要说明的是,传统的帧间预测实现过程中,一般是先遍历所有的参考帧,估算出当前编码块的当前预测单元在各参考帧下的运动矢量预测值(mvp,motionvectorprediction),再分别在各参考帧下,根据相应的mvp对当前预测单元进行运动估计,确定出当前预测单元在各参考帧下的运动矢量(mv)和编码代价,从中选取出编码代价最小的目标参考帧;因此传统的帧间预测过程中,运动估计的搜索次数非常多,导致目标参考帧选择的处理复杂度较高。而本发明实施例可由基于候选参考帧和第一参考帧对当前预测单元的运动估计,实现当前预测单元的目标参考帧的选择,极大的减少了运动估计搜索的次数。

可选的,一参考已编码块的参考信息可以包括:该参考已编码块相应的参考帧和运动矢量;相应的,图4示出了本发明实施例提供的确定当前预测单元在一参考帧下相应的amvp的方法流程,参照图4,该方法可以包括:

步骤s200、在当前参考帧下,分别根据当前参考帧,各参考已编码块相应的参考帧和运动矢量,确定当前预测单元在当前参考帧下相对于各参考已编码块的运动矢量,得到当前预测单元在当前参考帧下相应的候选运动矢量。

可选的,当前参考帧可以是所有参考帧中当前遍历到的参考帧,即可对所有参考帧逐帧的进行遍历,当前参考帧则是当前遍历到的参考帧;本发明实施例可逐一遍历预设定的各参考帧,在遍历到当前参考帧时,执行图4所示方法,确定出当前预测单元在当前参考帧下相应的amvp。

在当前参考帧下,对于所述至少一个参考已编码块中的任一个参考已编码块,本发明实施例可根据当前参考帧,该参考已编码块相应的参考帧和运动矢量,确定当前预测单元在当前参考帧下,相对于该参考已编码块的mv;

作为一种可选示例,以参考已编码块a0为例,若设参考已编码块a0相应的参考帧为refa0,运动矢量为mva0,则在当前参考帧refidx(当前参考帧refidx可以是所有参考帧中的任一当前遍历到的参考帧)下,当前预测单元在当前参考帧refidx下,相对于参考已编码块a0的运动矢量可以是:refidx和refa0的比值,乘以mva0;

即作为一种可选示例,在当前参考帧下,对于一参考已编码块,本发明实施例可将当前参考帧与该参考已编码块相应的参考帧的比值,乘以该参考已编码块相应的运动矢量;从而对于各参考已编码块均进行此处理,可确定出当前预测单元在当前参考帧下相对于各参考已编码块的运动矢量,得到当前预测单元在当前参考帧下相应的候选运动矢量。

步骤s210、在当前参考帧下,确定当前预测单元相对于各候选运动矢量的amvp代价。

可选的,对于任一候选运动矢量,本发明实施例可确定相对于当前参考帧偏离了该候选运动矢量距离,且与当前预测单元相同形状的参考块(即一个候选运动矢量会对应出一个参考块),计算当前预测单元与该参考块的间的误差和(可选的,误差和可理解为是当前预测单元和参考块的像素差的绝对值的和),得到当前预测单元相对于该候选运动矢量的amvp代价;对于各候选运动矢量均作此处理,则可在当前参考帧下,确定出当前预测单元相对于各候选运动矢量的amvp代价。

步骤s220、将amvp代价最小的候选运动矢量,作为当前预测单元在当前参考帧下相应的amvp。

可选的,以图4所示流程对预设定的各参考帧中,当前遍历到的参考帧进行处理,从而可在遍历完预设定的各参考帧后,得到当前预测单元在各参考帧下相应的amvp。

在确定当前预测单元在各参考帧下相应的amvp后,本发明实施例可从当前预测单元在各参考帧下相应的amvp中,确定amvp代价最小的amvp作为目标amvp;

可选的,作为一种可选示例,本发明实施例可设置参考amvp代价,并设置参考amvp代价的初始值为预设最大值,从而在每确定出当前预测单元在一参考帧下相应的amvp后,将所确定的amvp的amvp代价与参考amvp代价进行比对,如果该amvp的amvp代价小于参考amvp代价,则将参考amvp代价更新为该amvp的amvp代价,直至当前预测单元在所有参考帧下相应的amvp被确定出;

以此,在每确定出当前预测单元在一参考帧下相应的amvp后,进行所确定的amvp的amvp代价与参考amvp代价的比对,实现参考amvp代价的更新,最终在确定出当前预测单元在最后一参考帧下相应的amvp后,则可使得参考amvp代价为,当前预测单元在各参考帧下的amvp中相应的最小amvp代价;从而可将最后更新的参考amvp代价相应的amvp,作为目标amvp,实现从当前预测单元在各参考帧下相应的amvp中,确定amvp代价最小的目标amvp的目的。

相应的,图5示出了本发明实施例提供的确定当前预测单元在各参考帧下相应的amvp及确定目标amvp的方法流程图,参照图5,该流程可以包括:

步骤s300、设置参考amvp代价,并使参考amvp代价的初始值为预设最大值。

步骤s310、从所有参考帧中选取一参考帧作为当前参考帧,确定当前预测单元在当前参考帧下的amvp。

可选的,步骤s310的可选实现可参照图4所示。

步骤s320、判断当前预测单元在当前参考帧下的amvp的amvp代价,是否小于参考amvp代价,若否,执行步骤s330,若是,执行步骤s340。

步骤s330、维持参考amvp代价不变,执行步骤s350。

可选的,如果当前预测单元在当前参考帧下的amvp的amvp代价,不小于参考amvp代价,则可维持参考amvp代价不变。

步骤s340、以当前预测单元在当前参考帧下的amvp的amvp代价,更新参考amvp代价,并将目标amvp更新为当前预测单元在当前参考帧下的amvp,将候选参考帧更新为当前参考帧,执行步骤s350。

可选的,如果当前预测单元在当前参考帧下的amvp的amvp代价,小于参考amvp代价,则可通过该amvp代价更新参考amvp代价,并以当前预测单元在当前参考帧下的amvp,更新目标amvp,以当前参考帧更新候选参考帧。

步骤s350、判断是否所有的参考帧均遍历完毕,若是,执行步骤s360,若否,返回步骤s310。

步骤s360、确定最后更新的目标amvp,为所确定的目标amvp,最后更新的候选参考帧,为所确定的候选参考帧。

可以看出,通过图5所示方法逐参考的循环处理,则可使得最后更新的参考amvp代价为,当前预测单元在各参考帧下的amvp中相应的最小的amvp代价;从而可将最后更新的目标amvp(最后更新的参考amvp代价相应的amvp),作为本发明实施例需确定的目标amvp,可将最后更新的候选参考帧(最后更新的目标amvp相应的参考帧),作为本发明实施例需确定的候选参考帧。

在确定目标amvp后,本发明实施例可将目标amvp对应的参考帧作为候选参考帧,并与预确定的第一参考帧进行比对;在本发明实施例中,当前编码块的子编码块需预先编码完成,在当前编码块的子编码块编码完成后,本发明实施例可将当前编码块的子编码块中使用最多的参考帧,作为第一参考帧;可选的,对当前编码块的子编码块进行编码的方式可参照传统现有方式,本发明实施例并不限制。

可选的,在确定候选参考帧和第一参考帧后,图6示出了一种可选的将候选参考帧与第一参考帧进行比对,确定目标参考帧的方法流程,参照图6,该流程可以包括:

步骤s400、判断候选参考帧与第一参考帧是否相同,若是,执行步骤s410,若否,执行步骤s420。

步骤s410、从候选参考帧和第一参考帧中选择一参考帧,作为当前预测单元的目标参考帧。

步骤s420、通过候选参考帧对当前预测单元进行运动估计,得出候选参考帧相应的编码代价;及,通过第一参考帧对当前预测单元进行运动估计,得出第一参考帧相应的编码代价。

可选的,在通过候选参考帧对当前预测单元进行运动估计时,本发明实施例可以候选参考帧的amvp作为运动估计的搜索起始点,对当前预测单元进行运动估计,得出候选参考帧相应的码率失真代价(编码代价的一种可选形式);在通过第一参考帧对当前预测单元进行运动估计时,本发明实施例可以第一参考帧的amvp作为运动估计的搜索起始点,对当前预测单元进行运动估计,得出第一参考帧相应的码率失真代价。

步骤s430、从候选参考帧和第一参考帧中选择编码代价最小的参考帧,作为当前预测单元的目标参考帧。

可选的,进一步,在确定出当前预测单元的目标参考帧后,本发明实施例可使用目标参考帧对当前预测单元进行运动估计,确定当前预测单元相应的残差块,对残差块进行变换和量化,再对变换和量化后的残差块进行重排和熵编码,得到当前预测单元的视频编码结果,将当前编码块的各预测单元的视频编码结果相结合,则可通过帧间预测编码方式得到当前编码块的编码结果。

可选的,图7示出了本发明实施例提供的帧间预测方法的另一流程,参照图7,该流程可以包括:

步骤s500、确定与当前编码块的当前预测单元空间右上边点相接的已编码块,与当前预测单元右上边点相接,且位于当前预测单元上边的已编码块,与当前预测单元左上边点相接的已编码块,与当前预测单元左下边点相接的已编码块,与当前预测单元左下边点相接,且位于当前预测单元左边的已编码块,得到至少一个参考已编码块。

步骤s510、从所有参考帧逐一遍历参考帧,将当前遍历到的参考帧作为当前参考帧。

步骤s520、在当前参考帧下,对于任一参考已编码块,将当前参考帧与该参考已编码块相应的参考帧的比值,乘以该参考已编码块相应的运动矢量,得到当前预测单元在当前参考帧下相对于该参考已编码块的运动矢量,以确定出当前预测单元在当前参考帧下相对于各参考已编码块的运动矢量,得到当前预测单元在当前参考帧下相应的候选运动矢量。

步骤s530、对于任一候选运动矢量,确定相对于当前参考帧偏离了该候选运动矢量距离,且与当前预测单元相同形状的参考块,计算当前预测单元与该参考块的间的误差和,得到当前预测单元相对于该候选运动矢量的amvp代价,以在当前参考帧下,得到当前预测单元相对于各候选运动矢量的amvp代价。

步骤s540、将amvp代价最小的候选运动矢量,作为当前预测单元在当前参考帧下的amvp。

步骤s550、判断是否所有参考帧均已遍历,若否,返回步骤s510,若是,得到当前预测单元在各参考帧下相应的amvp,执行步骤s560。

步骤s560、从当前预测单元在各参考帧下相应的amvp中,确定amvp代价最小的目标amvp,将目标amvp对应的参考帧作为候选参考帧。

步骤s570、判断候选参考帧与第一参考帧是否相同,若是,执行步骤s580,若否,执行步骤s590。

步骤s580、从候选参考帧和第一参考帧中选择一参考帧,作为当前预测单元的目标参考帧。

步骤s590、通过候选参考帧对当前预测单元进行运动估计,得出候选参考帧相应的编码代价;及,通过第一参考帧对当前预测单元进行运动估计,得出第一参考帧相应的编码代价。

步骤s600、从候选参考帧和第一参考帧中选择编码代价最小的参考帧,作为当前预测单元的目标参考帧。

本发明实施例提供的帧间预测方法的一个应用示例可以是,应用于视频编码设备,在视频编码设备对视频图像进行视频编码时,利用帧间预测编码方式对视频图像的任一当前编码块进行编码,并且这个过程中,使用本发明实施例提供的帧间预测方法,实现当前编码块的当前预测单元的目标参考帧的确定;

可选的,作为一个应用示例,应用本发明实施例提供的帧间预测方法的视频编码过程可以如图8所示,包括:

步骤s700、视频编码设备获取视频采集设备传输的待编码的视频图像。

可选的,视频采集设备采集视频图像后,可将所采集的视频图像传输至视频编码设备,由视频编码设备以帧间预测编码方式进行视频编码;

可选的,视频采集设备可以是具有摄像头等图像采集装置的终端设备,如可以是视频直播场景中的视频采集终端等;显然,视频编码设备获取待编码的视频图像的来源并不限于视频采集设备,如视频编码设备也可能是对保存的视频图像进行重新编码等。

可选的,视频编码设备可以如手机、笔记本电脑等终端实现,也可如网络侧设置的服务器等。

步骤s710、对于所述视频图像中待编码的任一当前编码块的当前预测单元,确定当前预测单元的目标参考帧。

视频编码设备获取待编码的视频图像后,可以编码块为单位进行视频图像的编码,如视频编码设备获取视频图像后,可将视频图像进行图像分块,划分出多个编码块。

对于视频图像中待编码的任一当前编码块的当前预测单元,可以上文描述的本发明实施例提供的帧间预测方法,实现当前预测单元的目标参考帧的确定。

可选的,确定当前预测单元的目标参考帧的过程可以如8中对步骤s710的细化所示,包括:

步骤s711、确定当前预测单元空间相邻的至少一个参考已编码块。

步骤s712、对于预设定的各参考帧,根据各参考已编码块的参考信息,分别确定当前预测单元在各参考帧下相应的amvp。

步骤s713、从当前预测单元在各参考帧下相应的amvp中,确定目标amvp,将目标amvp对应的参考帧作为候选参考帧。

步骤s714、将候选参考帧与预确定的第一参考帧进行比对,若候选参考帧与第一参考帧不同,分别通过候选参考帧和第一参考帧对当前预测单元进行运动估计,根据运动估计得出的候选参考帧和第一参考帧相应的编码代价,从候选参考帧和第一参考帧中确定当前预测单元的目标参考帧。

可选的,步骤s711至步骤s714的细化说明可参照上文相应部分描述。

步骤s720、使用目标参考帧对当前预测单元进行运动估计,确定当前预测单元相应的残差块,对残差块进行变换和量化,再对变换和量化后的残差块进行重排和熵编码,得到当前预测单元的视频编码结果。

步骤s730、将当前编码块的各预测单元的视频编码结果相结合,得到当前编码块的编码结果。

本发明实施例提供的帧间预测方法,可在确定当前预测单元的目标参考帧的过程中,减少了运动估计搜索的次数,降低目标参考帧选择的处理复杂度,使得视频编码的复杂度降低,提高视频编码的效率。

下面对本发明实施例提供的帧间预测装置进行介绍,下文描述的帧间预测装置可以认为是视频编码设备,为实现本发明实施例提供的帧间预测方法所设置的程序模块。下文描述的帧间预测装置的内容,可与上文描述的帧间预测方法的内容相互对应参照。

图9为本发明实施例提供的帧间预测装置的结构框图,该帧间预测装置可应用于视频编码设备,参照图9,该帧间预测装置可以包括:

参考已编码块确定模块100,用于确定与当前编码块的当前预测单元空间相邻的至少一个参考已编码块;

amvp确定模块200,用于对于预设定的各参考帧,根据各参考已编码块的参考信息,分别确定所述当前预测单元在各参考帧下相应的amvp;

候选参考帧确定模块300,用于从当前预测单元在各参考帧下相应的amvp中,确定目标amvp,将所述目标amvp对应的参考帧作为候选参考帧;

第一比对选择模块400,用于将所述候选参考帧与预确定的第一参考帧进行比对,若所述候选参考帧与第一参考帧不同,分别通过所述候选参考帧和第一参考帧对当前预测单元进行运动估计,根据运动估计的候选参考帧和第一参考帧相应的编码代价,从候选参考帧和第一参考帧中确定当前预测单元的目标参考帧;其中,第一参考帧为所述当前编码块的子编码块中使用最多的参考帧。

可选的,amvp确定模块200,用于根据各参考已编码块的参考信息,分别确定所述当前预测单元在各参考帧下相应的amvp,具体包括:

逐一遍历预设定的各参考帧,在遍历到当前参考帧时,在当前参考帧下,分别根据当前参考帧,各参考已编码块相应的参考帧和运动矢量,确定当前预测单元在当前参考帧下相对于各参考已编码块的运动矢量,得到当前预测单元在当前参考帧下相应的候选运动矢量;

在当前参考帧下,确定当前预测单元相对于各候选运动矢量的amvp代价,将amvp代价最小的候选运动矢量,作为当前预测单元在当前参考帧下相应的amvp,以在遍历完预设定的各参考帧后,得到当前预测单元在各参考帧下相应的amvp。

可选的,amvp确定模块200,用于在当前参考帧下,分别根据当前参考帧,各参考已编码块相应的参考帧和运动矢量,确定当前预测单元在当前参考帧下相对于各参考已编码块的运动矢量,具体包括:

在当前参考帧下,对于任一参考已编码块,将当前参考帧与该参考已编码块相应的参考帧的比值,乘以该参考已编码块相应的运动矢量,得到当前预测单元在当前参考帧下相对于该参考已编码块的运动矢量,以确定出当前预测单元在当前参考帧下相对于各参考已编码块的运动矢量。

可选的,amvp确定模块200,用于在当前参考帧下,确定当前预测单元相对于各候选运动矢量的amvp代价,具体包括:

在当前参考帧下,对于任一候选运动矢量,确定相对于当前参考帧偏离了该候选运动矢量距离,且与当前预测单元相同形状的参考块,计算当前预测单元与该参考块的间的误差和,得到当前预测单元相对于该候选运动矢量的amvp代价,以确定出当前预测单元相对于各候选运动矢量的amvp代价。

可选的,候选参考帧确定模块300,用于从当前预测单元在各参考帧下相应的amvp中,确定目标amvp,具体包括:

从当前预测单元在各参考帧下相应的amvp中,选取amvp代价最小的amvp作为目标amvp。

可选的,候选参考帧确定模块300,用于从当前预测单元在各参考帧下相应的amvp中,选取amvp代价最小的amvp作为目标amvp,具体包括:

每确定出当前预测单元在一参考帧下相应的amvp,则将所确定的amvp的amvp代价与参考amvp代价进行比对,若所确定的amvp的amvp代价小于参考amvp代价,将参考amvp代价更新为所确定的amvp的amvp代价,直至当前预测单元在所有参考帧下相应的amvp被确定出;

将最后更新的参考amvp代价相应的amvp,作为目标amvp。

可选的,第一比对选择模块400,用于分别通过所述候选参考帧和第一参考帧对当前预测单元进行运动估计,根据运动估计的候选参考帧和第一参考帧相应的编码代价,从候选参考帧和第一参考帧中确定当前预测单元的目标参考帧,具体包括:

通过候选参考帧对当前预测单元进行运动估计,得出候选参考帧相应的编码代价;及,通过第一参考帧对当前预测单元进行运动估计,得出第一参考帧相应的编码代价;

从候选参考帧和第一参考帧中选择编码代价最小的参考帧,作为当前预测单元的目标参考帧。

可选的,图10示出了本发明实施例提供的帧间预测装置的另一结构框图,结合图9和图10所示,该装置还可以包括:

第二比对选择模块500,用于若所述候选参考帧与第一参考帧相同,从候选参考帧和第一参考帧中选择一参考帧,作为当前预测单元的目标参考帧。

可选的,参考已编码块确定模块100,用于确定与当前编码块的当前预测单元空间相邻的至少一个参考已编码块,具体包括:

确定与当前预测单元空间相邻,且与当前预测单元的边点相接的至少一个已编码块。

可选的,作为一种可选示例,所述至少一个参考已编码块可以包括:与当前预测单元右上边点相接的已编码块,与当前预测单元右上边点相接,且位于当前预测单元上边的已编码块,与当前预测单元左上边点相接的已编码块,与当前预测单元左下边点相接的已编码块,与当前预测单元左下边点相接,且位于当前预测单元左边的已编码块。

可选的,图11示出了本发明实施例提供的帧间预测装置的再一结构框图,结合图9和图11所示,该装置还可以包括:

编码结果确定模块600,用于使用目标参考帧对当前预测单元进行运动估计,确定当前预测单元相应的残差块,对残差块进行变换和量化,再对变换和量化后的残差块进行重排和熵编码,得到当前预测单元的视频编码结果。

本发明实施例提供的帧间预测装置可降低目标参考帧选择的处理复杂度,使得视频编码的复杂度降低,提高视频编码的效率。

上文描述的帧间预测装置可以程序模块的形式装载于视频编码设备中,可选的,图12示出了视频编码设备的硬件结构框图,参照图12,该视频编码设备可以包括:至少一个中央处理器1,至少一个通信接口2,至少一个存储器3,至少一个通信总线4和至少一个图形处理器5;

在本发明实施例中,处理器1、通信接口2、存储器3、通信总线4、图形处理器5的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;

其中,存储器存储有可适于中央处理器或图形处理器执行的程序,所述程序用于:

确定与当前编码块的当前预测单元空间相邻的至少一个参考已编码块;

对于预设定的各参考帧,根据各参考已编码块的参考信息,分别确定所述当前预测单元在各参考帧下相应的amvp;

从当前预测单元在各参考帧下相应的amvp中,确定目标amvp,将所述目标amvp对应的参考帧作为候选参考帧;

将所述候选参考帧与预确定的第一参考帧进行比对,若所述候选参考帧与第一参考帧不同,分别通过所述候选参考帧和第一参考帧对当前预测单元进行运动估计,根据运动估计的候选参考帧和第一参考帧相应的编码代价,从候选参考帧和第一参考帧中确定当前预测单元的目标参考帧;其中,第一参考帧为所述当前编码块的子编码块中使用最多的参考帧。

可选的,所述程序的细化功能和扩展功能可参照上文相应部分描述。

进一步,本发明实施例还提供一种存储介质,该存储介质存储有适于中央处理器或图形处理器执行的程序,所述程序用于:

确定与当前编码块的当前预测单元空间相邻的至少一个参考已编码块;

对于预设定的各参考帧,根据各参考已编码块的参考信息,分别确定所述当前预测单元在各参考帧下相应的amvp;

从当前预测单元在各参考帧下相应的amvp中,确定目标amvp,将所述目标amvp对应的参考帧作为候选参考帧;

将所述候选参考帧与预确定的第一参考帧进行比对,若所述候选参考帧与第一参考帧不同,分别通过所述候选参考帧和第一参考帧对当前预测单元进行运动估计,根据运动估计的候选参考帧和第一参考帧相应的编码代价,从候选参考帧和第一参考帧中确定当前预测单元的目标参考帧;其中,第一参考帧为所述当前编码块的子编码块中使用最多的参考帧。

可选的,所述程序的细化功能和扩展功能可参照上文相应部分描述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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