一种HEVC编码最佳参考帧的选择方法、装置及编码器转让专利

申请号 : CN201510122717.8

文献号 : CN106034236B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沈操徐浩晖周昌江文斐储开颜卢贵彬

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本发明提供一种HEVC编码最佳参考帧的选择方法、装置和编码器,该方法包括:至少针对层深度最小的预测单元进行如下处理:获取与当前预测单元空间相邻的预测单元的最佳参考帧;根据同层深度空间相邻预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。这样,至少针对最小层深度的预测单元不再进行遍历性的率失真代价计算,而是采用相关性直接确定对应的最佳参考帧,可以减少计算量,提高编码效率。

权利要求 :

1.一种HEVC编码最佳参考帧的选择方法,其特征在于,包括:至少针对层深度最小的预测单元进行如下处理:

获取与当前预测单元空间相邻的预测单元的最佳参考帧;

根据同层深度空间相邻预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。

2.根据权利要求1所述的方法,其特征在于,

针对层深度非最小层的预测单元进行如下处理:

获取与当前预测单元空间相邻预测单元的最佳参考帧;

根据同层深度空间相邻预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。

3.根据权利要求1或2所述的方法,其特征在于,所述根据同层深度空间相邻预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧,具体为:根据同层深度空间相邻预测单元的最佳参考帧相同的策略,从获取的最佳参考帧中确定当前预测单元对应的最佳参考帧。

4.根据权利要求1或2所述的方法,其特征在于,所述根据同层深度空间相邻预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧,包括:判断获取的所有最佳参考帧是否相等;

如果是,将相等的最佳参考帧确定为当前预测单元的最佳参考帧。

5.根据权利要求1所述的方法,其特征在于,

针对层深度非最小层的预测单元进行如下处理:

获取上层深度中与当前预测单元空间位置相同和相邻的预测单元的最佳参考帧;或者,获取上层深度中与当前预测单元空间位置相同和/或相邻的预测单元的最佳参考帧,并获取与当前预测单元空间相邻的预测单元的最佳参考帧;以及根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。

6.根据权利要求5所述的方法,其特征在于,所述根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧,具体为:根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧相同的策略,从获取的最佳参考帧中确定当前预测单元的最佳参考帧。

7.根据权利要求5所述的方法,其特征在于,所述根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧,包括:判断获取的所有最佳参考帧是否相等;或,判断获取的所有最佳参考帧是否相等,且判断所述获取的上层深度中与当前预测单元空间位置相同的预测单元的运动是否不剧烈;

如果是,将相等的最佳参考帧确定为当前预测单元的最佳参考帧。

8.根据权利要求1所述的方法,其特征在于,所述获取与当前预测单元空间相邻的预测单元的最佳参考帧,包括:获取与当前预测单元左相邻及上相邻的预测单元的最佳参考帧;或者,获取与当前预测单元左相邻、上相邻、以及左上相邻的预测单元的最佳参考帧;或者,获取与当前预测单元左相邻、上相邻、以及右上相邻的预测单元的最佳参考帧;或者,获取与当前预测单元左相邻、上相邻、左上相邻以及右上相邻的预测单元的最佳参考帧。

9.一种HEVC编码最佳参考帧的选择装置,其特征在于,包括:第一控制单元,用于控制第一获取单元和第一确定单元,至少针对层深度最小的预测单元进行相应处理;

第一获取单元,用于获取与当前预测单元空间相邻的预测单元的最佳参考帧;

第一确定单元,用于根据同层深度空间相邻预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。

10.根据权利要求9所述的装置,其特征在于,

所述第一控制单元,具体用于控制第一获取单元和第一确定单元,针对每个层深度的预测单元进行相应处理。

11.根据权利要求9或10所述的装置,其特征在于,所述第一确定单元具体用于根据同层深度空间相邻预测单元的最佳参考帧相同的策略,从获取的最佳参考帧中确定当前预测单元对应的最佳参考帧。

12.根据权利要求9或10所述的装置,其特征在于,所述第一确定单元包括:第一判断子单元,用于判断获取的所有最佳参考帧是否相等;如果是,触发第一确定子单元;

第一确定子单元,用于将相等的最佳参考帧确定为当前预测单元的最佳参考帧。

13.根据权利要求9所述的装置,其特征在于,

所述第一控制单元,用于控制第一获取单元和第一确定单元,针对层深度最小的预测单元进行相应处理;所述装置还包括:第二控制单元,用于控制第二获取单元和第二确定单元,针对层深度非最小层的预测单元进行相应处理;其中,第二获取单元,用于获取上层深度中与当前预测单元空间位置相同和相邻的预测单元的最佳参考帧;或者,用于获取上层深度中与当前预测单元空间位置相同和/或相邻的预测单元的最佳参考帧,并获取与当前预测单元空间相邻的预测单元的最佳参考帧;以及第二确定单元,用于根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。

14.根据权利要求13所述的装置,其特征在于,

所述第二确定单元具体用于根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧相同的策略,从获取的最佳参考帧中确定当前预测单元的最佳参考帧。

15.根据权利要求13所述的装置,其特征在于,所述第二确定单元包括:第二判断子单元,用于判断获取的所有最佳参考帧是否相等;或,用于判断获取的所有最佳参考帧是否相等,且判断所述获取的上层深度中与当前预测单元空间位置相同的预测单元的运动是否不剧烈;如果是,触发第二确定子单元;

第二确定子单元,用于将相等的最佳参考帧确定为当前预测单元的最佳参考帧。

16.根据权利要求9所述的装置,其特征在于,

所述第一获取单元具体用于获取与当前预测单元左相邻及上相邻的预测单元的最佳参考帧;或者,所述第一获取单元具体用于获取与当前预测单元左相邻、上相邻、以及左上相邻的预测单元的最佳参考帧;或者,所述第一获取单元具体用于获取与当前预测单元左相邻、上相邻、以及右上相邻的预测单元的最佳参考帧;或者,所述第一获取单元具体用于获取与当前预测单元左相邻、上相邻、左上相邻以及右上相邻的预测单元的最佳参考帧。

17.一种编码器,其特征在于,所述编码器包括上述权利要求9-16任一项所述的HEVC编码最佳参考帧的选择装置。

说明书 :

一种HEVC编码最佳参考帧的选择方法、装置及编码器

技术领域

[0001] 本申请涉及视频图像处理领域,特别涉及一种HEVC编码最佳参考帧的选择方法、装置及编码器。

背景技术

[0002] HEVC(High Efficiency Video Coding)是新一代视频编码标准,其采用灵活的块结构划分技术对编码图像进行编码,在HEVC中,块结构包括编码单元(CU:Coding Unit)、预测单元(PU:Prediction Unit)、变换单元(TU:Transform Unit)。HEVC在编码过程中以CU为基本的编码单元进行编码,HEVC编码器首先将视频图像划分为多个互不重叠的最大编码单元(LCU:LargestCU);再将LCU按照树结构划分成更小的CU,CU的大小从LCU到最小编码单元(SCU:SmallestCU)。每个CU包含一个或多个PU,而每个CU都需要以PU为单元进行帧间预测或帧内预测,而在帧间预测过程中存在最佳参考帧的选择问题。
[0003] 传统的PU帧间预测过程中关于最佳参考帧的选择方法是针对当前PU对所有候选参考帧逐个进行预测,分别计算每个候选参考帧对应的率失真代价,选择率失真代价最小的候选参考帧作为当前PU的最佳参考帧;这样遍历性的选择方式运算量非常大;另外,由于一个LCU会分成多个CU,而一个CU可以有多种帧间预测划分模式,每种帧间预测划分模式的CU包含一个或多个PU。对每个CU的每种帧间预测划分模式对应的每个PU都必须遍历所有的候选参考帧选择对应的最佳参考帧,这样会给编码过程带来巨大的运算量,耗时长,严重影响编码效率。

发明内容

[0004] 本申请所要解决的技术问题是提供一种HEVC编码最佳参考帧的选择方法,用以解决现有技术遍历性地对候选参考帧逐个测试,运算量大,耗时长,影响编码效率的技术问题。
[0005] 本申请还提供了一种HEVC编码最佳参考帧的选择装置和编码器,用以保证上述方法在实际中的实现及应用。
[0006] 根据本申请的一个方面,提供一种HEVC编码最佳参考帧的选择方法,包括:
[0007] 至少针对层深度最小的预测单元进行如下处理:
[0008] 获取与当前预测单元空间相邻的预测单元的最佳参考帧;
[0009] 根据同层深度空间相邻预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。
[0010] 优选的,针对层深度非最小层的预测单元进行如下处理:
[0011] 获取与当前预测单元空间相邻预测单元的最佳参考帧;
[0012] 根据同层深度空间相邻预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。
[0013] 优选的,所述根据同层深度空间相邻预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧,具体为:
[0014] 根据同层深度空间相邻预测单元的最佳参考帧相同的策略,从获取的最佳参考帧中确定当前预测单元对应的最佳参考帧。
[0015] 优选的,所述根据同层深度空间相邻预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧,包括:
[0016] 判断获取的所有最佳参考帧是否相等;
[0017] 如果是,将相等的最佳参考帧确定为当前预测单元的最佳参考帧。
[0018] 优选的,针对层深度非最小层的预测单元进行如下处理:
[0019] 获取上层深度中与当前预测单元空间位置相同和相邻的预测单元的最佳参考帧;或者,获取上层深度中与当前预测单元空间位置相同和/或相邻的预测单元的最佳参考帧,并获取与当前预测单元空间相邻的预测单元的最佳参考帧;以及
[0020] 根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。
[0021] 优选的,所述根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧,具体为:
[0022] 根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧相同的策略,从获取的最佳参考帧中确定当前预测单元的最佳参考帧。
[0023] 优选的,所述根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧,包括:
[0024] 判断获取的所有最佳参考帧是否相等;或,判断获取的所有最佳参考帧是否相等,且判断所述获取的上层深度中与当前预测单元空间位置相同的预测单元的运动是否不剧烈;
[0025] 如果是,将相等的最佳参考帧确定为当前预测单元的最佳参考帧。
[0026] 优选的,所述获取与当前预测单元空间相邻的预测单元的最佳参考帧,包括:
[0027] 获取与当前预测单元左相邻及上相邻的预测单元的最佳参考帧;或者,[0028] 获取与当前预测单元左相邻、上相邻、以及左上相邻的预测单元的最佳参考帧;或者,
[0029] 获取与当前预测单元左相邻、上相邻、以及右上相邻的预测单元的最佳参考帧;或者,
[0030] 获取与当前预测单元左相邻、上相邻、左上相邻以及右上相邻的预测单元的最佳参考帧。
[0031] 根据本申请的另一个方面,提供一种HEVC编码最佳参考帧的选择装置,包括:
[0032] 第一控制单元,用于控制第一获取单元和第一确定单元,至少针对层深度最小的预测单元进行相应处理;
[0033] 第一获取单元,用于获取与当前预测单元空间相邻的预测单元的最佳参考帧;
[0034] 第一确定单元,用于根据同层深度空间相邻预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。
[0035] 优选的,所述第一控制单元,具体用于控制第一获取单元和第一确定单元,针对每个层深度的预测单元进行相应处理。
[0036] 优选的,
[0037] 所述第一确定单元具体用于根据同层深度空间相邻预测单元的最佳参考帧相同的策略,从获取的最佳参考帧中确定当前预测单元对应的最佳参考帧。
[0038] 优选的,所述第一确定单元包括:
[0039] 第一判断子单元,用于判断获取的所有最佳参考帧是否相等;如果是,触发第一确定子单元;
[0040] 第一确定子单元,用于将相等的最佳参考帧确定为当前预测单元的最佳参考帧。
[0041] 优选的,所述第一控制单元,用于控制第一获取单元和第一确定单元,针对层深度最小的预测单元进行相应处理;所述装置还包括:
[0042] 第二控制单元,用于控制第二获取单元和第二确定单元,针对层深度非最小层的预测单元进行相应处理;其中,
[0043] 第二获取单元,用于获取上层深度中与当前预测单元空间位置相同和相邻的预测单元的最佳参考帧;或者,用于获取上层深度中与当前预测单元空间位置相同和/或相邻的预测单元的最佳参考帧,并获取与当前预测单元空间相邻的预测单元的最佳参考帧;以及[0044] 第二确定单元,用于根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。
[0045] 优选的,所述第二确定单元具体用于根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧相同的策略,从获取的最佳参考帧中确定当前预测单元的最佳参考帧。
[0046] 优选的,所述第二确定单元包括:
[0047] 第二判断子单元,用于判断获取的所有最佳参考帧是否相等;或,用于判断获取的所有最佳参考帧是否相等,且判断所述获取的上层深度中与当前预测单元空间位置相同的预测单元的运动是否不剧烈;如果是,触发第二确定子单元;
[0048] 第二确定子单元,用于将相等的最佳参考帧确定为当前预测单元的最佳参考帧。
[0049] 优选的,所述第一获取单元具体用于获取与当前预测单元左相邻及上相邻的预测单元的最佳参考帧;或者,
[0050] 所述第一获取单元具体用于获取与当前预测单元左相邻、上相邻、以及左上相邻的预测单元的最佳参考帧;或者,
[0051] 所述第一获取单元具体用于获取与当前预测单元左相邻、上相邻、以及右上相邻的预测单元的最佳参考帧;或者,
[0052] 所述第一获取单元具体用于获取与当前预测单元左相邻、上相邻、左上相邻以及右上相邻的预测单元的最佳参考帧。
[0053] 根据本申请的另一方面,本申请提供一种编码器,所述编码器包括上述HEVC编码最佳参考帧的选择装置。
[0054] 与现有技术相比,本申请具有以下有益效果:
[0055] 本申请至少针对编码层深度最小的那一层中的预测单元,依据同层深度空间相邻的预测单元的最佳参考帧之间相关性的特性,可以直接确定出至少一层中预测单元的最佳参考帧,因此,至少针对层深度最小的这一层层中预测单元,无需对其对应的所有候选参考帧作遍历性的率失真代价计算,节省了至少一半的预测单元的相关计算量,能够提高编码效率。而且随着对编码图像质量的越高要求,所有候选参考帧的个数会越多,则,节省的计算量会越大。

附图说明

[0056] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0057] 图1是现有技术HEVC编码中CU递归划分方式以及各种帧间预测划分模式及所对应PU的示意图;
[0058] 图2是本申请的HEVC编码最佳参考帧的选择方法的第一流程示意图;
[0059] 图3是本申请的PU空间相邻关系的示意图;
[0060] 图4是本申请的HEVC编码最佳参考帧的选择方法的第二流程示意图;
[0061] 图5是本申请的预测单元所属层深度相邻层关系的示意图;
[0062] 图6是本申请的HEVC编码最佳参考帧的选择装置的第一结构示意图;
[0063] 图7是本申请的HEVC编码最佳参考帧的选择装置的第二结构示意图;
[0064] 图8是本申请的编码器的结构示意图。

具体实施方式

[0065] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0066] 本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、包括以上任何系统或设备的分布式计算环境等等。
[0067] 本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0068] 为了便于对本发明的技术方案的解释说明,这里先对HEVC编码的一些基本技术知识进行简单解释。
[0069] 一般情况下,在HEVC编码过程中,首先将视频图像划分为多个互不重叠的最大编码单元(LCU:Largest Coding Unit);再将LCU按照树结构划分成更小的CU,CU的大小从LCU到最小编码单元(SCU:Smallest CU)。每个编码单元有多个帧间预测划分模式,每种帧间预测划分模式包含一个或多个预测单元,每个预测单元对应多个候选参考帧。通过遍历每个预测单元对应的多个候选参考帧,遍历每种帧间预测划分模式,根据率失真代价最小的原则,确定出每个预测单元对应的最佳参考帧,以及最优的帧间预测划分模式,得到最优的预测。原始信号和预测信号相减,得到残差信号。对残差信号进行变换、量化、熵编码,然后附加上其它的预测信息及附加码流信息,形成最终的编码流。在确定CU对应的最优帧间预测划分模式的过程中,最重要的一个环节就是确定CU在每种帧间预测划分模式下的每个PU对应的最佳参考帧。
[0070] 以图1示出的HEVC编码中CU递归划分方式以及各种帧间预测划分模式及所对应PU的示意图为例,对CU和其帧间预测划分模式及所对应PU之间的关系进行解释说明。
[0071] 在图1中,最大编码单元LCU为64×64,最小编码单元SCU为8×8;首先,一个64×64的LCU可以划分为4个32×32的CU,而每个32×32的CU可以继续划分为4个16×16的CU,接着每个16×16的CU可以进一步划分成4个8×8的SCU。在实现过程中,CU的大小用2的幂次方表示即图中的N值,也可以采用层深度Depth来描述,其中,最大编码单元LCU的层深度为0,以此为基础,每进行一次划分,层深度增加1。
[0072] 各个层深度对应的CU帧间预测划分模式不同,如图1最右边的图框所示:
[0073] 当层深度小于3(0,1,2)时,每个CU有七种帧间预测划分方式:inter2N×2N、inter2N×N、interN×2N、inter2N×nU、inter2N×nD、internL×2N、internR×2N,其中,inter2N×2N包含一个PU,其余六种划分方式都包含两个PU,那么一个深度小于3的CU共有13个PU。
[0074] 当层深度等于3时,每个CU有三种帧间预测划分方式:inter2N×2N、inter2N×N、interN×2N,其中,inter2N×2N包含一个PU,其余两种划分方式包含两个PU,那么一个深度等于3的CU包含5个PU。
[0075] 需要说明的是,在实际应用场景中,有的CU只需划分一次就满足编码需求,因此层深度也就只有最小层;有的根据编码需求,可能需要划分两次或者多次。针对每个CU均按照层深度由小到大的顺序依次确定每层中的每个PU的最佳参考帧,即按照层深度为“0”、层深度为“1”、层深度为“2”以及层深度更高顺序,确定各层深度下各个PU对应的最佳参考帧。
[0076] 现有技术的方案需要针对每个层深度的每个预测单元都需要遍历性地计算每个候选参考帧的率失真代价,从中选择率失真代价最小的候选参考帧作为预测单元的最佳参考帧,这种选择方法的计算复杂度高,计算量较大,会对编码效率造成影响。
[0077] 本发明实施例一的技术方案是从层深度角度考虑,至少对层深度最小的那一层中预测单元,不再遍历性的计算每个候选参考帧(一般,候选参考帧的个数大于1)的率失真代价,而是利用同层空间相邻的预测单元的最佳参考帧之间的相关性来直接确定预测单元的最佳参考帧,进而节省了至少近一半的预测单元对应的计算量,可以提高编码效率。而且随着对编码图像质量的越高要求,候选参考帧的个数会越多,则,节省的计算量会越大。
[0078] 实施例一
[0079] 参见图2,图2是本发明提供的HEVC编码最佳参考帧的选择方法实施例1的流程图,该方法可以包括:
[0080] S101,至少针对层深度最小的预测单元进行如下处理:
[0081] 先获取与当前预测单元空间相邻的预测单元的最佳参考帧。
[0082] 为了确定当前PU的最佳参考帧,需要先获取与其空间相邻的PU的最佳参考帧。在这里,与当前PU空间相邻的PU,至少包括与当前PU左相邻和上相邻的PU,还可以包括:与当前PU左上相邻的PU和/或右上相邻的PU。由于PU的最佳参考帧的确定过程是按照从左至右,从上至下的顺序进行处理的,上述与当前PU相邻的这些PU的最佳参考帧均已被确定了,因此,这些相邻PU的最佳参考帧可以作为确定当前PU的最佳参考帧的数据依据。
[0083] 下面以图3为例,对与当前PU空间相邻的PU进行更直观地说明;图3是PU空间相邻关系的示意图,在图3中,a1表示左相邻的预测单元;b2表示左上相邻的预测单元,b1表示上相邻的预测单元;b0表示右上相邻的预测单元。
[0084] 在具体实现时,S101可以有以下四种实现方式,分别为:
[0085] 第一种方式:获取与所述当前预测单元左相邻及上相邻的预测单元的最佳参考帧。
[0086] 第二种方式:获取与所述当前预测单元左相邻、上相邻、以及左上相邻的预测单元的最佳参考帧。
[0087] 第三种方式:获取与所述当前预测单元左相邻、上相邻、以及右上相邻的预测单元的最佳参考帧。
[0088] 第四种方式:获取与所述当前预测单元左相邻、上相邻、左上相邻以及右上相邻的预测单元的最佳参考帧。
[0089] S102,再根据同层深度空间相邻预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。
[0090] 在具体实现时,需要按照层深度由小到大的顺序依次确定每层的每个PU的最佳参考帧,而本实施例强调的是,至少针对层深度最小的预测单元,按照上述步骤进行处理,也就是说,当处理的是最小层深度的PU时,就直接按照S101和S102进行处理,确定出PU的最佳参考帧,其本质是根据相邻PU的最佳参考帧的相关性来确定当前PU的最佳参考帧。当处理的是非最小层深度的PU可以按照上述步骤进行处理,也可以按照其他方法进行处理。
[0091] 在具体实现时,S102具体为:根据同层深度空间相邻预测单元的最佳参考帧相同的策略,从获取的最佳参考帧中确定当前预测单元的最佳参考帧。
[0092] 在具体实现时,S102可以包括:判断获取的所有最佳参考帧是否相等;如果是,将相等的最佳参考帧确定为当前预测单元的最佳参考帧。
[0093] 如果获取的所有最佳参考帧不相等,还可以根据获取的所有最佳参考帧或者根据所有的候选参考帧,采用传统的遍历性率失真代价的计算方式,确定率失真代价最小的参考帧作为当前PU的最佳参考帧。
[0094] 本实施例是至少针对层深度最小的预测单元,以当前PU的相邻PU的最佳参考帧为数据依据,根据彼此最佳参考帧的相关性,可以直接确定当前PU的最佳参考帧,这样就无需再对当前PU作遍历性的率失真代价计算处理了,节省了大量的数据计算量。
[0095] 关于非最小层深度的PU,可以有多种方式来确定最佳参考帧,例如可以采用传统的遍历性的率失真代价计算方式,也可以采用采用上述对最小层深度的PU的处理方式确定PU的最佳参考帧。
[0096] 为了进一步提高编码效率,本申请还提供了另一种技术方案。
[0097] 实施例二
[0098] 参见图4,示出的本申请HEVC编码最佳参考帧的选择方法第二流程示意图,该方法针对层深度最小层和非最小层进行区别处理,可以包括以下步骤:
[0099] 针对层深度最小的预测单元按照S101和S102进行如下处理:
[0100] S201,获取与当前预测单元空间相邻的预测单元的最佳参考帧;以及[0101] S202,根据同层深度空间相邻预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。
[0102] 对层深度最小的预测单元的处理可以参照第一流程示意图的相关描述,此处不再赘述。
[0103] 针对层深度非最小层的预测单元按照S203和S204进行如下处理:
[0104] S203,获取上层深度中与当前预测单元空间位置相同和相邻的预测单元的最佳参考帧;或者,获取上层深度中与当前预测单元空间位置相同和/或相邻的预测单元的最佳参考帧,并获取与当前预测单元空间相邻的预测单元的最佳参考帧;以及
[0105] S204,根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。
[0106] 对于层深度非最小层的PU,可以根据当前PU与上层深度中与当前PU空间位置相同和/或相邻的PU的最佳参考帧的相关性来直接确定当前PU的最佳参考帧,这样就不需要再对当前PU进行遍历性的率失真代价的计算。
[0107] 对于层深度非最小层的PU,必然存在与其相邻或者间隔的上层深度。在这里,上层深度可以是与当前预测单元所属层深度相邻的上一层深度,也可以是与当前预测单元所属层深度相间隔的上两层或者更高层深度。 参见图5,示出的预测单元所属层深度相邻层关系的示意图;其中,当前层深度为d,上层深度可以是d-1层深度,也可以是d-2层深度;获取的在上层深度中与当前PU空间位置相同的PU的最佳参考帧,为灰色标记的PU的最佳参考帧。获取的上层深度中与所述当前PU空间位置相邻的PU的最佳参考帧,为灰色标记的PU的相邻PU的最佳参考帧。由于上层深度中所有PU都已被确定出对应的最佳参考帧,因此,这里的上层深度中的相邻PU可以包括任何一个相邻方位的PU,如包括左上相邻、左相邻、上相邻、右上相邻等。在具体实现时,可以获取一个相邻PU的最佳参考帧,也可以获取多个相邻PU的最佳参考帧。
[0108] 例如:当前PU所属的层深度为2时,表明其相邻的上层深度1以及间隔的上层深度0的PU均已经确定了对应的最佳参考帧。当前PU所属的层深度为1时,表明其上层深度0的PU均已经确定了对应的最佳参考帧。本实施例正是利用相邻层深度或相间隔层深度的PU之间的最佳参考帧的相关性,为当前PU确定对应的最佳参考帧,从而节省了大量的运算量。
[0109] 在具体实现时,上述步骤S204具体为根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧相同的策略,从获取的最佳参考帧中确定当前预测单元的最佳参考帧。
[0110] 在具体实现时,上述步骤S204可以包括:判断获取的所有最佳参考帧是否相等;如果是,将相等的最佳参考帧确定为当前预测单元的最佳参考帧。如果判断为否时,可以对获取的所有最佳参考帧或者对所有的候选参考帧分别进行率失真代价计算,将率失真代价最小的参考帧确定为当前预测单元的最佳参考帧。
[0111] 在具体实现时,上述步骤S204还可以包括:判断获取的所有最佳参考帧是否相等,且判断所述获取的上层深度中与当前预测单元空间位置相同的预测单元的运动是否不剧烈;如果是,将相等的最佳参考帧确定为当前预测单元的最佳参考帧。如果判断为否时,可以对获取的所有最佳参考帧或者对所有的候选参考帧分别进行率失真代价计算,将率失真代价最小的参考帧确定为当前预测单元的最佳参考帧。
[0112] 关于上述判断所述获取的上层深度中与当前预测单元空间位置相同的预测单元的运动是否不剧烈的具体方式,可以包括以下两个步骤:
[0113] 计算上层深度中与所述当前预测单元空间位置相同的预测单元的运动剧烈程度,所述运动剧烈程度等于运动向量的模值;以及
[0114] 判断所述运动剧烈程度是否小于预设阈值,如果是,表明运动不剧烈,否则,表明运动剧烈。
[0115] 例如:上层深度中与当前预测单元空间位置相同的预测单元的运动向量为mv,其包括X方向的mv_x和Y方向的mv_y,则运动剧烈程度mv_dist可以按照公式mv_dist=abs(mv_x)+abs(mv_y)计算得到,其中abs表示求绝对值。在计算出mv_dist之后,将其与预设阈值进行大小比较,如果小于预设阈值,表明运动不剧烈,否则,表明运动剧烈。
[0116] 由上述流程可以发现,该实施例方案对层深度最小的预测单元和层深度非最小层的预测单元,分别按照不同的相关性来确定对应的最佳参考帧,对不同层深度的预测单元按照不同的相关性进行处理,这种依赖相关性的方式主要是以同层深度相邻预测单元的最佳参考帧为数据依据,或者是以相邻层或相间隔层深度的相同位置或者相邻位置的预测单元的最佳参考帧为数据依据,直接确定当前预测单元的最佳参考帧,无需再作遍历性的率失真代价的计算,进一步提高了最佳参考帧的确定效率,进而提高编码效率。
[0117] 上述详细介绍了本申请的方法流程,相应的,本申请提供一种HEVC编码最佳参考帧的选择装置。
[0118] 实施例三
[0119] 参见图6,图6是本申请的HEVC编码最佳参考帧的选择装置的第一结构示意图;如图6所示,该HEVC编码最佳参考帧的选择装置600可以包括:
[0120] 第一控制单元301,用于控制第一获取单元和第一确定单元,至少针对层深度最小的预测单元进行相应处理;
[0121] 第一获取单元302,用于获取与当前预测单元空间相邻的预测单元的最佳参考帧;
[0122] 第一确定单元303,用于根据同层深度空间相邻预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。
[0123] 在具体实现时,第一控制单元可以用于控制第一获取单元和第一确定单元,针对层深度最小的预测单元进行相应处理。
[0124] 在具体实现时,第一控制单元还可以用于控制第一获取单元和第一确定单元,针对每个层深度的预测单元进行相应处理。即,第一控制单元用于控制第一获取单元和第一确定单元,即针对层深度最小层的预测单元,又针对层深度非最小层的预测单元作相应处理。
[0125] 在具体实现时,所述第一确定单元具体用于根据同层深度空间相邻预测单元的最佳参考帧相同的策略,从获取的最佳参考帧中确定当前预测单元对应的最佳参考帧。
[0126] 在具体实现时,所述第一确定单元包括:
[0127] 第一判断子单元,用于判断获取的所有最佳参考帧是否相等;如果是,触发第一确定子单元;以及
[0128] 第一确定子单元,用于将相等的最佳参考帧确定为当前预测单元的最佳参考帧。
[0129] 另外,如果第一判断子单元判断为否时,还可以触发率失真代价计算子单元,用于如果第二判断子单元判断为否时,可以触发率失真代价计算子单元,用于对获取的所有最佳参考帧或者对所有的候选参考帧分别进行率失真代价计算,将率失真代价最小的参考帧确定为当前预测单元的最佳参考帧。
[0130] 在具体实现时,所述第一获取单元具体用于获取与当前预测单元左相邻及上相邻的预测单元的最佳参考帧;或者,
[0131] 所述第一获取单元具体用于获取与当前预测单元左相邻、上相邻、以及左上相邻的预测单元的最佳参考帧;或者,
[0132] 所述第一获取单元具体用于获取与当前预测单元左相邻、上相邻、以及右上相邻的预测单元的最佳参考帧;或者,
[0133] 所述第一获取单元具体用于获取与当前预测单元左相邻、上相邻、左上相邻以及右上相邻的预测单元的最佳参考帧。
[0134] 实施例四
[0135] 参见图7,图7是本申请的HEVC编码最佳参考帧的选择装置的第二结构示意图;如图7所示,该HEVC编码最佳参考帧的选择装置700可以包括:
[0136] 第一控制单元401,用于控制第一获取单元和第一确定单元,针对层深度最小的预测单元进行相应处理;
[0137] 第一获取单元402,用于获取与当前预测单元空间相邻的预测单元的最佳参考帧;
[0138] 第一确定单元403,用于根据同层深度空间相邻预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。
[0139] 第二控制单元404,用于控制第二获取单元和第二确定单元,针对层深度非最小层的预测单元进行相应处理;其中,
[0140] 第二获取单元405,用于获取上层深度中与当前预测单元空间位置相同和相邻的预测单元的最佳参考帧;或者,用于获取上层深度中与当前预测单元空间位置相同和/或相邻的预测单元的最佳参考帧,并获取与当前预测单元空间相邻的预测单元的最佳参考帧;以及
[0141] 第二确定单元406,用于根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧的相关性,确定当前预测单元的最佳参考帧。
[0142] 在具体实现时,所述第二确定单元可以具体用于根据不同层深度空间位置相同和/或相邻的预测单元的最佳参考帧相同的策略,从获取的最佳参考帧中确定当前预测单元的最佳参考帧。
[0143] 在具体实现时,所述第二确定单元可以包括:
[0144] 第二判断子单元,用于判断获取的所有最佳参考帧是否相等;或,用于判断获取的所有最佳参考帧是否相等,且判断所述获取的上层深度中与当前预测单元空间位置相同的预测单元的运动是否不剧烈;如果是,触发第二确定子单元;
[0145] 第二确定子单元,用于将相等的最佳参考帧确定为当前预测单元的最佳参考帧。
[0146] 如果第二判断子单元判断为否时,还可以触发率失真代价计算子单元,用于对获取的所有最佳参考帧或者对所有的候选参考帧分别进行率失真代价计算,将率失真代价最小的参考帧确定为当前预测单元的最佳参考帧。
[0147] 上述各单元之间的交互关系,可以参见前面方法流程图的描述,此处不再赘述。
[0148] 图8是本申请的编码器的结构示意图。如图8所示,一种编码器,包括设置在内部的HEVC编码最佳参考帧的选择装置,该HEVC编码最佳参考帧的选择装置的结构,具体参见图6和图7中的结构及描述,此处不再赘述。
[0149] 综上所述,因为本申请是根据同层深度的相邻预测单元的最佳参考帧的相关性,至少为层深度最小的预测单元确定对应的最佳参考帧,那么当处理层深度最小层的预测单元时,可以直接根据与其相邻的预测单元的最佳参考帧来确定当前预测单元的最佳参考帧,这样就不用作率失真代价的计算,简化了处理过程,节约了处理时间;另外,本申请还可以再根据不同层深度的空间位置相同或相邻的预测单元的最佳参考帧的相关性,为非最小层深度的预测单元确定对应的最佳参考帧,这样能够进一步减少计算量,节约处理时间,以提高编码效率。
[0150] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0151] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0152] 以上对本申请所提供的一种HEVC编码最佳参考帧的选择方法、装置及编码器进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。