预测模式的解码、编码方法及装置转让专利

申请号 : CN202110680842.6

文献号 : CN113453014B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈方栋

申请人 : 杭州海康威视数字技术股份有限公司

摘要 :

本申请实施例公开了一种预测模式的解码、编码方法及装置,属于多媒体技术领域。在确定当前块启用哪个预测模式时,对于当前候选预测模式,获取待遍历预测模式的启用情况。其中,待遍历预测模式包括至少一个除当前候选预测模式之外的用于当前块预测的候选预测模式。之后根据待遍历预测模式的启用情况,即可确定是否对当前候选预测模式的指示信息进行解码。若待遍历预测模式均不能够启用,则可以跳过对指示信息进行解码的步骤,直接确定当前块启用所述当前候选预测模式。而不必像相关技术那样,必须对当前候选预测模式的指示信息进行解码才能确定当前块是否启用该当前候选预测模式,从而简化了解码预测模式的流程,提高了解码预测模式的效率。

权利要求 :

1.一种预测模式的解码方法,其特征在于,所述方法包括:当确定当前块采用融合模式且所述当前块能够启用当前候选预测模式时,执行以下步骤:

获取待遍历预测模式的启用情况,所述待遍历预测模式包括至少一个除所述当前候选预测模式之外的用于所述当前块预测的候选预测模式;其中,所述当前候选预测模式和所述待遍历预测模式中的候选预测模式均为基于所述融合模式的预测模式,基于所述融合模式的预测模式至少包括:普通融合模式、基于编码运动矢量差的融合模式、基于子块运动信息的融合模式以及基于帧内帧间联合预测的融合模式;其中,对于所述基于子块运动信息的融合模式,如果所述当前块的尺寸为4×8或8×4,则确定所述当前块不能够启用所述基于子块运动信息的融合模式;

如果所述待遍历预测模式中存在能够启用的候选预测模式,则从码流中解析出所述当前候选预测模式的指示信息,所述指示信息用于指示所述当前块是否启用所述当前候选预测模式;

如果所述待遍历预测模式均不能够启用,则不从所述码流中解析出所述当前候选预测模式的指示信息,直接确定所述当前块启用所述当前候选预测模式。

2.如权利要求1所述的方法,其特征在于,所述获取待遍历预测模式的启用情况,包括:如果所述当前块不满足所述待遍历预测模式中每个候选预测模式的模式限制条件中任一条件,则确定所述待遍历预测模式均不能够启用;其中,所述模式限制条件包括尺寸限制条件、其他模式限制条件、帧类型限制条件以及开关限制条件。

3.如权利要求1所述的方法,其特征在于,所述方法还包括:如果所述当前块不能够启用所述当前候选预测模式,确定所述当前块不启用所述当前候选预测模式;

其中,所述当前块不能够启用所述当前候选预测模式是指:所述当前块不满足所述当前候选预测模式的模式限制条件中任一条件,所述模式限制条件包括尺寸限制条件、其他模式限制条件、帧类型限制条件以及开关限制条件。

4.如权利要求1所述的方法,其特征在于,当所述当前候选预测模式为所述基于帧内帧间联合预测的融合模式时,如果所述帧内帧间联合预测的融合模式的开关为关闭状态、或所述当前块的面积小于64、或所述当前块的高或宽大于等于尺寸阈值,所述尺寸阈值为128时,则确定所述当前块不能够启用所述基于帧内帧间联合预测的融合模式。

5.一种预测模式的编码方法,其特征在于,所述方法包括:当确定当前块采用融合模式且所述当前块能够启用当前候选预测模式时,执行以下步骤:

获取待遍历预测模式的启用情况,所述待遍历预测模式包括至少一个除所述当前候选预测模式之外的用于所述当前块预测的候选预测模式;其中,所述当前候选预测模式和所述待遍历预测模式中的候选预测模式均为基于所述融合模式的预测模式,基于所述融合模式的预测模式至少包括:普通融合模式、基于编码运动矢量差的融合模式、基于子块运动信息的融合模式以及基于帧内帧间联合预测的融合模式;其中,对于所述基于子块运动信息的融合模式,如果所述当前块的尺寸为4×8或8×4,则确定所述当前块不能够启用所述基于子块运动信息的融合模式;

如果所述待遍历预测模式中存在能够启用的候选预测模式,则将所述当前候选预测模式的指示信息写入码流,所述指示信息用于指示所述当前块是否启用所述当前候选预测模式;

如果所述待遍历预测模式均不能够启用,则不将所述当前候选预测模式的指示信息写入所述码流。

6.如权利要求5所述的方法,其特征在于,所述获取待遍历预测模式的启用情况,包括:如果所述当前块不满足所述待遍历预测模式中每个候选预测模式的模式限制条件中任一条件,则确定所述待遍历预测模式均不能够启用;其中,所述模式限制条件包括尺寸限制条件、其他模式限制条件、帧类型限制条件以及开关限制条件。

7.如权利要求5所述的方法,其特征在于,所述方法还包括:如果所述当前块不能够启用所述当前候选预测模式,确定所述当前块不启用所述当前候选预测模式;

其中,所述当前块不能够启用所述当前候选预测模式是指:所述当前块不满足所述当前候选预测模式的模式限制条件中任一条件,所述模式限制条件包括尺寸限制条件、其他模式限制条件、帧类型限制条件以及开关限制条件。

8.如权利要求5所述的方法,其特征在于,当所述当前候选预测模式为所述基于帧内帧间联合预测的融合模式时,如果所述帧内帧间联合预测的融合模式的开关为关闭状态、或所述当前块的面积小于64、或所述当前块的高或宽大于等于尺寸阈值,所述尺寸阈值为128时,则确定所述当前块不能够启用所述基于帧内帧间联合预测的融合模式。

9.一种解码装置,其特征在于,所述装置包括获取模块和确定模块;

所述获取模块,用于当确定当前块采用融合模式且所述当前块能够启用当前候选预测模式时,获取待遍历预测模式的启用情况,所述待遍历预测模式包括至少一个除所述当前候选预测模式之外的用于所述当前块预测的候选预测模式;其中,所述当前候选预测模式和所述待遍历预测模式中的候选预测模式均为基于所述融合模式的预测模式,基于所述融合模式的预测模式至少包括:普通融合模式、基于编码运动矢量差的融合模式、基于子块运动信息的融合模式以及基于帧内帧间联合预测的融合模式;其中,对于所述基于子块运动信息的融合模式,如果所述当前块的尺寸为4×8或8×4,则确定所述当前块不能够启用所述基于子块运动信息的融合模式;

所述确定模块,用于如果所述待遍历预测模式中存在能够启用的候选预测模式,则从码流中解析出所述当前候选预测模式的指示信息,所述指示信息用于指示所述当前块是否启用所述当前候选预测模式;如果所述待遍历预测模式均不能够启用,则不从所述码流中解析出所述当前候选预测模式的指示信息,直接确定所述当前块启用所述当前候选预测模式。

10.一种编码装置,其特征在于,所述装置包括获取模块和确定模块;

所述获取模块,用于当确定当前块采用融合模式且所述当前块能够启用当前候选预测模式时,获取待遍历预测模式的启用情况,所述待遍历预测模式包括至少一个除所述当前候选预测模式之外的用于当前块预测的候选预测模式;其中,所述当前候选预测模式和所述待遍历预测模式中的候选预测模式均为基于所述融合模式的预测模式,基于所述融合模式的预测模式至少包括:普通融合模式、基于编码运动矢量差的融合模式、基于子块运动信息的融合模式以及基于帧内帧间联合预测的融合模式;其中,对于所述基于子块运动信息的融合模式,如果所述当前块的尺寸为4×8或8×4,则确定所述当前块不能够启用所述基于子块运动信息的融合模式;

所述确定模块,用于如果所述待遍历预测模式中存在能够启用的候选预测模式,则将所述当前候选预测模式的指示信息写入码流,所述指示信息用于指示所述当前块是否启用所述当前候选预测模式;如果所述待遍历预测模式均不能够启用,则不将所述当前候选预测模式的指示信息写入所述码流。

11.一种解码装置,其特征在于,所述装置包括处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行上述权利要求1至4中的任一项权利要求所述的方法的步骤。

12.一种编码装置,其特征在于,所述装置包括处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行上述权利要求5至8中的任一项权利要求所述的方法的步骤。

说明书 :

预测模式的解码、编码方法及装置

[0001] 本申请是申请日为2019年06月21日、申请号为201910544430.2、发明名称为“预测模式的解码、编码方法及装置”的发明专利申请的分案申请。

技术领域

[0002] 本申请实施例涉及多媒体技术领域,特别涉及一种预测模式的解码、编码方法及装置。

背景技术

[0003] 预测模式是指对视频帧中的图像块进行解码或编码的模式。由于预测模式包括多种模式,因此,针对每种预测模式配置一个指示信息,指示信息用于指示是否开启了相应预
测模式。编码端通过编码指示信息以指示该图像块启用哪种预测模式。解码端可以对编码
后的指示信息进行解码,以确定该图像块采用的预测模式。
[0004] 相关技术中,在编码当前块时,对于任一预测模式A,编码端判断该预测模式A是否启用,如果启用,则编码预测模式A的指示信息为1。如果预测模式A没有开启,则编码预测模
式A的指示信息为0。按照该方式编码各个预测模式的指示信息之后,在解码当前块时解码
端解码该预测模式的指示信息,如果解码出的指示信息为1,则确定当前块启用该预测模
式。
[0005] 在该方式中,解码端需要通过解码指示信息才能确定当前块是否启用该预测模式,导致编解码预测模式的效率较低。

发明内容

[0006] 本申请实施例提供了一种预测模式的解码、编码方法及装置,可以提高解码预测模式的效率。该技术方案如下:
[0007] 一方面,提供了一种预测模式的解码方法,该方法包括:获取待遍历预测模式的启用情况,所述待遍历预测模式包括至少一个除所述当前候选预测模式之外的用于当前块预
测的候选预测模式;根据所述待遍历预测模式的启用情况,确定是否对所述当前候选预测
模式的指示信息进行解码,所述指示信息用于指示所述当前块是否启用所述当前候选预测
模式;其中,若所述待遍历预测模式均不能够启用,则确定所述当前块启用所述当前候选预
测模式。
[0008] 另一方面、提供一种预测模式的编码方法,该方法包括:获取待遍历预测模式的启用情况,所述待遍历预测模式包括至少一个除所述当前候选预测模式之外的用于当前块预
测的候选预测模式;根据所述待遍历预测模式的启用情况,确定是否对所述当前候选预测
模式的指示信息进行编码,所述指示信息用于指示所述当前块是否启用所述当前候选预测
模式;其中,若所述待遍历预测模式均不能够启用,则确定所述当前块启用所述当前候选预
测模式。
[0009] 另一方面,提供了一种解码装置,该装置包括:
[0010] 获取模块,用于获取待遍历预测模式的启用情况,所述待遍历预测模式包括至少一个除所述当前候选预测模式之外的用于当前块预测的候选预测模式;
[0011] 确定模块,用于根据所述待遍历预测模式的启用情况,确定是否对所述当前候选预测模式的指示信息进行解码,所述指示信息用于指示所述当前块是否启用所述当前候选
预测模式;其中,若所述待遍历预测模式均不能够启用,则确定所述当前块启用所述当前候
选预测模式。
[0012] 另一方面,提供了一种编码装置,该装置包括:
[0013] 获取模块,用于获取待遍历预测模式的启用情况,所述待遍历预测模式包括至少一个除所述当前候选预测模式之外的用于当前块预测的候选预测模式;
[0014] 确定模块,用于根据所述待遍历预测模式的启用情况,确定是否对所述当前候选预测模式的指示信息进行编码,所述指示信息用于指示所述当前块是否启用所述当前候选
预测模式;其中,若所述待遍历预测模式均不能够启用,则确定所述当前块启用所述当前候
选预测模式。
[0015] 另一方面、提供了一种解码装置,所述装置包括处理器;
[0016] 用于存储处理器可执行指令的存储器;
[0017] 其中,所述处理器被配置为执行上述预测模式的解码方法中任一项方法的步骤。
[0018] 另一方面、提供了一种编码装置,所述装置包括处理器;
[0019] 用于存储处理器可执行指令的存储器;
[0020] 其中,所述处理器被配置为执行上述预测模式的编码方法中任一项方法的步骤。
[0021] 另一方面、提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述预测模式的解码方法中的任一所述的方法的步
骤。
[0022] 另一方面、提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述预测模式的编码方法中的任一所述的方法的步
骤。
[0023] 本申请实施例提供的技术方案带来的有益效果是:
[0024] 在确定当前块启用哪个预测模式时,对于当前候选预测模式,获取待遍历预测模式的启用情况。其中,待遍历预测模式包括至少一个除当前候选预测模式之外的用于当前
块预测的候选预测模式。之后根据待遍历预测模式的启用情况,即可确定是否对当前候选
预测模式的指示信息进行解码。若待遍历预测模式均不能够启用,则可以跳过对指示信息
进行解码的步骤,直接确定当前块启用所述当前候选预测模式。而不必像相关技术那样,必
须对当前候选预测模式的指示信息进行解码才能确定当前块是否启用该当前候选预测模
式,从而简化了解码预测模式的流程,提高了解码预测模式的效率。

附图说明

[0025] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于
本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。
[0026] 图1是本申请实施例提供的一种预测模式的解码方法流程图。
[0027] 图2是本申请实施例提供的一种预测模式的编码方法流程图。
[0028] 图3是本申请实施例提供的一种解码装置的结构示意图。
[0029] 图4是本申请实施例提供的一种编码装置的结构示意图。
[0030] 图5是本申请实施例提供的一种编解码装置的结构示意图。

具体实施方式

[0031] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0032] 为了后续便于说明,将本申请实施例涉及的术语先在此进行解释说明。
[0033] 标记位编码(flag coding):在视频编码中,存在很多预测模式。对于某个块,其可能采用其中的一种模式。为了表示采用何种预测模式,每个块需通过编码对应的标记位进
行标记。也即是,在编码端,通过编码端决策,确定该预测模式的标记位的值,然后编码传递
到解码端。而解码端通过解析标记位,确定对应预测模式是否启用。
[0034] 融合模式(merge mode):其中融合模式包括5种预测模式,即普通融合(normal merge)模式、基于三角预测(triangular prediction mode)的融合模式、基于编码运动矢
量差的融合(merge motion vector difference)模式、基于子块运动信息的融合(sub‑
block merge)模式、以及基于帧内帧间联合预测(combine intra inter prediciton 
mode)的融合模式。若当前块采用融合模式,则预测模式只能采用上述5种预测模式中的一
种。另外,对于融合模式,通过具体预测模式获得预测值后,需要再加上重建残差值来获取
重建值。
[0035] 跳过模式(skip mode):跳过模式是一种特殊的融合模式。该模式下,编码时不需要编码残差。因此,若当前块采用跳过模式,即不需要编码残差时,则基于帧内帧间联合预
测的融合模式默认关闭。因此,跳过模式仅包括4种预测模式,即普通融合模式、基于三角预
测的融合模式、基于编码运动矢量差的融合模式、基于子块运动信息的融合模式。另外,由
于跳过模式不存在残差,重建值直接等于预测值。
[0036] 下面对上述各种预测模式进行简单说明。
[0037] 普通融合模式,即传统的融合模式。该方法中从候选运动信息列表中选择一个运动信息,基于该运动信息生成当前块的预测值。该候选运动信息列表包括:空域相邻块候选
运动信息、时域相邻块候选运动信息、空域非相邻块候选运动信息、基于已有运动信息进行
组合获取的运动信息、默认运动信息等等。
[0038] 基于编码运动矢量差的融合模式。该方法选普通融合模式中的候选运动信息列表中的某一个运动信息作为基准运动信息,再通过查表方法获取运动信息差。基于基准运动
信息和运动信息差获取最终的运动信息。基于该最终的运动信息生成当前块的预测值。
[0039] 基于子块运动信息的融合模式包括仿射(affine)融合模式和SBTMVP(subblock‑based temporal motion vector prediction,基于子块的时间运动矢量预测)模式:
[0040] 仿射融合模式,类似于普通融合模式,该方法也是从候选运动信息列表中选择一个运动信息,基于该运动信息生成当前块的预测值。不同的是普通融合模式候选运动信息
列表中的运动信息都是2参数的平移运动矢量,而仿射融合模式的候选运动信息列表中的
运动信息为4参数或6参数的仿射运动信息。
[0041] SBTMVP模式。该方法在时域参考帧中,直接复用某块运动信息用于生成当前块的预测值。该块内的各个子块的运动信息可不相同。
[0042] 基于帧内帧间联合预测的融合模式,该方法通过结合帧内预测值和帧间预测值获取当前块新的预测值。
[0043] 基于三角预测的融合模式。该方法将一个块分成两个三角子块(存在45度和135度两种三角子块)。这两个三角子块拥有不同的单向运动信息。该模式仅用于融合/跳过模式,
且仅用于预测过程,不影响后续的变换、量化过程。这里的单向运动信息也是直接从候选运
动信息列表中获取。
[0044] 从上述内容可以看出,本申请实施所指的融合/跳过模式是指直接从候选运动信息列表中选择一个运动信息,生成当前块的预测值的一类预测模式。这些预测模式在编码
端不需要进行运动搜索过程,除了基于编码运动矢量差的融合模式外,其他预测模式都不
需要编码运动信息差,即直接复用候选运动信息列表中的某个运动信息。
[0045] 帧类型(frame type):若当前图像帧不可参考其他帧的信息进行编码,则当前图像帧为I帧。若当前图像帧允许参考其他某1帧(但不能超过1帧)的信息进行编码,则当前图
像帧为P帧。也即是,P帧是指当前帧只存在1个参考帧列表,且当前帧的每个块只允许根据
最多一帧参考图像帧进行解码的图像。若当前图像帧存在2个参考帧列表,且当前帧的每个
块允许参考其他某1帧或某2帧的信息进行编码,则当前图像帧为B帧。
[0046] 序列参数集(sequence parameter set):由于视频编码和解码是按照视频序列的方式进行的,每个视频序列包括多个视频帧。针对视频序列配置有序列参数集,序列参数集
包括用于指示对视频序列中的各个视频帧进行编解码时所需的参数。其中,序列参数集中
的针对某个预测模式的序列级开关用于指示开启或关闭该预测模式。比如,针对某个预测
模式的序列级开关为1,则用于指示该序列级开关处于开启状态。如果序列级开关为0,则用
于指示该序列级开关处于关闭状态。
[0047] 图1是本申请实施例提供的一种预测模式的解码方法流程图。如图1所示,该方法包括如下步骤:
[0048] 步骤101:获取待遍历预测模式的启用情况,待遍历预测模式包括至少一个除当前候选预测模式之外的用于当前块预测的候选预测模式。
[0049] 在本申请实施例中,为了避免必须通过解码预测模式的指示信息才能确定当前快是否启用了该预测模式,在解码该预测模式之前,可以先通过步骤101来判断待遍历预测模
式的启用情况,以便于后续可以不用解码该预测模式,即可确定当前块是否启用了该预测
模式。待遍历预测模式的启用情况是指当前块是否能够启用待遍历预测模式中的候选预测
模式。
[0050] 当前候选预测模式是指当前时间需要确定是否启用的一个预测模式。当前块是指当前待解码的图像块。待遍历预测模式是指除了当前候选预测模式之外还未确定出当前块
是否启用的预测模式。
[0051] 另外,预测模式的指示信息可以为预测模式的标记位。比如,当预测模式的标记位为1时,用于指示当前块启用该预测模式。当预测模式的标记为0时,用于指示当前块不启用
该预测模式。
[0052] 在一些实施例中,由于在解码各个预测模式时是按照指定模式解码顺序解码的,如此可以避免对已经解码的预测模式的重复解码,因此,步骤101中可以按照该指定模式解
码顺序来获取待遍历预测模式的启用情况。这种情况下,作为一种示例,步骤101的实现方
式以为:根据待遍历预测模式的遍历顺序,获取待遍历预测模式中每个候选预测模式的启
用情况,遍历顺序是指依次判断待遍历预测模式中各个候选预测模式是否能够启用的判断
顺序,且当前候选预测模式位于待遍历预测模式之前;如果遍历至遍历顺序中的最后一个
候选预测模式时,最后一个候选预测模式不能够启用,则确定待遍历预测模式均不能够启
用。
[0053] 作为一种示例,如果在遍历至任一候选预测模式时,任一候选预测模式能够开启,则确定待遍历预测模式中存在能够启用的候选预测模式。
[0054] 作为一种示例,上述待遍历预测模式的遍历顺序是指待遍历预测模式在预先设置的指定模式解码顺序中的排序。比如,预先设置的指定模式解码顺序为预测模式1、预测模
式2、预测模式3、…、预测模式n。如果当前候选预测模式为模式i,则待遍历预测模式的遍历
顺序为:预测模式i+1、预测模式i+2、…、预测模式n。n为正整数,i为大于等于1且小于n的正
整数。
[0055] 作为一种示例,获取待遍历预测模式的启用情况的实现方式可以为:依次遍历预测模式i+1、预测模式i+2、…、预测模式n,在遍历的过程中,只要确定出一个预测模式能够
启用,则确定待遍历预测模式中存在能够启用的候选预测模式。如果在遍历至最后一个预
测模式n时,都没有能够启用的预测模式,则确定待遍历预测模式均不能够启用。
[0056] 作为一种示例,上述当前候选预测模式为预测模式集合中任一预测模式,预测模式集合至少包括普通融合模式、基于三角预测的融合模式、基于编码运动矢量差的融合模
式、基于子块运动信息的融合模式、以及基于帧内帧间联合预测的融合模式中的一个或多
个。待遍历预测模式为预测模式集合中除当前候选预测模式之外的其他预测模式中的一个
或多个。
[0057] 比如,预测模式集合可以包括普通融合模式、基于三角预测的融合模式、基于编码运动矢量差的融合模式、基于子块运动信息的融合模式、以及基于帧内帧间联合预测的融
合模式。这种情况下,预测模式集合还可以称为融合模式集合。另外,预先设置的指定模式
解码顺序可以为普通融合模式、基于编码运动矢量差的融合模式、基于子块运动信息的融
合模式、基于帧内帧间联合预测的融合模式、基于三角预测的融合模式。当然,预先设置的
指定模式解码顺序也可以为其他的顺序,本申请实施例对此不做限定。
[0058] 又比如,预测模式集合可以包括普通融合模式、基于三角预测的融合模式、基于编码运动矢量差的融合模式、基于子块运动信息的融合模式。这种情况下,预测模式集合还可
以称为跳过模式集合。另外,预先设置的指定模式解码顺序可以为普通融合模式、基于编码
运动矢量差的融合模式、基于子块运动信息的融合模式、基于三角预测的融合模式。当然,
预先设置的指定模式解码顺序也可以为其他的顺序,本申请实施例对此同样不做限定。
[0059] 上述预测模式集合仅仅是本申请实施例提供的两种可能的预测模式集合,本申请实施例同样不限定预测模式集合包括的预测模式的类型。也即是,无论预测模式集合中包
括什么类型的预测模式,对于当前候选预测模式均可以通过步骤101来确定待遍历预测模
式的启用情况。
[0060] 在一种可能的实现方式中,对于任一预测模式,预先设置有针对该预测模式的模式限制条件,模式限制条件为在启用该预测模式时需要满足的一些条件。也即是,只有在当
前块满足该预测模式的模式限制条件中全部条件时,当前块才具有启用该预测模式的权
限。如果当前块不满足该预测模式的模式限制条件中任一条件,当前块则不具有启用该预
测模式的权限。正是基于这个前提,在编码当前候选预测模式时,即可判断当前块是否满足
待遍历预测模式中各个候选预测模式的模式限制条件,进而得到待遍历预测模式的启用情
况。
[0061] 作为一种示例,步骤101中获取待遍历预测模式的启用情况的实现方式可以为:如果当前块不满足待遍历预测模式中每个候选预测模式的模式限制条件中任一条件,则确定
待遍历预测模式均不能够启用。其中,模式限制条件包括尺寸限制条件、其他模式限制条
件、帧类型限制条件以及序列级开关限制条件。
[0062] 为了后续便于说明,下面举例对模式限制条件进行解释说明。表1是本申请实施例提供的一种模式限制条件的示意说明。
[0063] 表1
[0064]
[0065]
[0066] 表1中的尺寸限制条件均是指当前块需要满足的尺寸条件,尺寸阈值CTU_SIZE为128,也可以是其他值。
[0067] 下面结合具体情况和上述表1对步骤101进一步详细说明。
[0068] 示例一:当前候选预测模式为普通融合模式,待遍历预测模式包括基于三角预测的融合模式、基于编码运动矢量差的融合模式、基于子块运动信息的融合模式、以及基于帧
内帧间联合预测的融合模式。
[0069] 在示例一中,步骤101中如果当前块不满足待遍历预测模式中每个候选预测模式的模式限制条件中任一条件,则确定待遍历预测模式均不能够启用的实现方式可以为:如
果当前块中针对待遍历预测模式中每个候选预测模式的序列级开关为关闭状态,则确定待
遍历预测模式均不能够启用;或者,如果当前块中针对基于编码运动矢量差的融合模式的
序列级开关为关闭状态,且当前块的尺寸不满足待遍历预测模式中其他每个候选预测模式
的尺寸限制条件,则确定待遍历预测模式均不能够启用。
[0070] 由表1可知,当当前候选预测模式为普通融合模式时,待遍历预测模式中每个候选预测模式的序列级开关限制条件中都要求开启相应的候选预测模式。因此,如果当前块中
针对待遍历预测模式中每个候选预测模式的序列级开关为0时,则表明当前块不满足待遍
历预测模式中每个候选预测模式的序列级开关限制条件,如此,当前块是不能够启用待遍
历预测模式中每个候选预测模式的。
[0071] 如果当前块中针对基于编码运动矢量差的融合模式的序列级开关为0,根据表1可知,当前块不满足基于编码运动矢量差的融合模式这个预测模式的序列级开关限制条件,
因此,当前块是不能够启用基于编码运动矢量差的融合模式这个预测模式。基于这个条件,
如果当前块的尺寸为4×8或8×4,根据表1可知,当前块不满足待遍历预测模式中其他三个
候选预测模式的尺寸限制条件,因此,当前块是不能够启用其他三个候选预测模式。这样,
当前块也就不能够启用待遍历预测模式中每个候选预测模式。
[0072] 作为一种示例,上述当前块的尺寸不满足待遍历预测模式中其他每个候选预测模式的尺寸限制条件还可以是指:当前块的面积小于面积阈值S。该面积阈值S是根据待遍历
预测模式中其他每个候选预测模式的尺寸限制条件确定的。为了后续便于说明,将此处的
面积阈值标记为面积阈值S。
[0073] 比如,根据表1可知,如果当前块的面积小于64,那么表1中后面三个预测模式均无法启用。因此,可以将该面积阈值S设置为64。
[0074] 上述针对示例一实现方式仅仅是列举了其中的两种判断待遍历预测模式均不能够启用的方式,并不构成对本申请实施例的限定。在示例一中任何能够确定当前块不满足
待遍历预测模式中每个候选预测模式的模式限制条件中任一条件的方式均可以用于应用
于步骤101中,在此不再一一列举。
[0075] 示例二:当前候选预测模式为基于编码运动矢量差的融合模式,待遍历预测模式包括基于子块运动信息的融合模式、基于帧内帧间联合预测的融合模式、以及基于三角预
测的融合模式。
[0076] 在示例二中,步骤101中如果当前块不满足待遍历预测模式中每个候选预测模式的模式限制条件中任一条件,则确定待遍历预测模式均不能够启用的实现方式可以为:如
果当前块的面积小于面积阈值S,则确定待遍历预测模式均不能够启用,面积阈值S是根据
待遍历预测模式中每个候选预测模式的尺寸限制条件确定的。
[0077] 由示例一可知,如果当前块的面积小于64,那么表1中后面三个预测模式均无法启用。因此,可以将该面积阈值S设置为64。此时,便可根据当前块的面积和面积阈值S,直接确
定待遍历预测模式是否均不能够启用。
[0078] 同样地,上述针对示例二实现方式仅仅是列举了其中的一种判断待遍历预测模式均不能够启用的方式,并不构成对本申请实施例的限定。在示例二中任何能够确定当前块
不满足待遍历预测模式中每个候选预测模式的模式限制条件中任一条件的方式均可以用
于应用于步骤101中,在此同样不再一一列举。
[0079] 示例三:当前候选预测模式为基于子块运动信息的融合模式,待遍历预测模式包括基于帧内帧间联合预测的融合模式以及基于三角预测的融合模式。
[0080] 在示例三中,步骤101中如果当前块不满足待遍历预测模式中每个候选预测模式的模式限制条件中任一条件,则确定待遍历预测模式均不能够启用的实现方式可以为:当
当前块不满足基于三角预测的融合模式的模式限制条件中任一条件时,如果当前块满足指
定条件,则确定待遍历预测模式均不能够启用。指定条件包括以下条件中的一个或多个:当
前块中针对基于帧内帧间联合预测的融合模式的序列级开关为关闭状态;当前块的预测模
式属于跳过模式;当前块的面积小于针对基于帧内帧间联合预测的融合模式设置的面积阈
值,和/或,当前块的高和/或宽大于针对基于帧内帧间联合预测的融合模式设置的尺寸阈
值。
[0081] 如表1所示,如果当前块中针对基于帧内帧间联合预测的融合模式的序列级开关为0,或者,如果当前块的预测模式属于跳过模式,或者,当前块的面积小于S,或者,当前块
的高或宽大于等于CTU_SIZE,无论上述哪个条件满足,则表明当前块无法启用基于帧内帧
间联合预测的融合模式。此时,如果当前块不满足基于三角预测的融合模式的模式限制条
件中任一条件时,那么可以确定待遍历预测模式均不能够启用。
[0082] 示例三中,当前块不满足基于三角预测的融合模式的模式限制条件中任一条件,可以包括以下几种情况:当前块中针对基于三角预测的融合模式的序列级开关为关闭状
态,和/或,当前块所在的图像帧为P帧。
[0083] 比如,当前块中针对基于三角预测的融合模式的序列级开关为0,则可以确定当前块不满足基于三角预测的融合模式的模式限制条件。
[0084] 同样地,上述针对示例三实现方式仅仅是列举了其中的一种判断待遍历预测模式均不能够启用的方式,并不构成对本申请实施例的限定。在示例三中任何能够确定当前块
不满足待遍历预测模式中每个候选预测模式的模式限制条件中任一条件的方式均可以用
于应用于步骤101中,在此同样不再一一列举。
[0085] 示例四:当前候选预测模式为基于帧内帧间联合预测的融合模式,待遍历预测模式包括基于三角预测的融合模式。
[0086] 在示例三中,步骤101中如果当前块不满足待遍历预测模式中每个候选预测模式的模式限制条件中任一条件,则确定待遍历预测模式均不能够启用的实现方式可以为:如
果当前块不满足基于三角预测的融合模式的模式限制条件中任一条件,则确定待遍历预测
模式均不能够启用。
[0087] 当前块不满足基于三角预测的融合模式的模式限制条件中任一条件的实现方式可以参考示例三,在此不再赘述。
[0088] 上述示例一至示例四仅仅用于举例说明,并不构成对本申请实施例的具体限定。当当前候选预测模式和待遍历预测模式为其他类型的模式时,均可以参考上述实现方式来
确定待遍历预测模式的启用情况。
[0089] 步骤102:根据待遍历预测模式的启用情况,确定是否对当前候选预测模式的指示信息进行解码,指示信息用于指示当前块是否启用当前候选预测模式;其中,若待遍历预测
模式均不能够启用,确定当前块启用当前候选预测模式。
[0090] 由于解码预测模式的指示信息是按照指定模式解码顺序进行解码的,如果解码至当前候选预测模式,则表明指定模式解码顺序中位于当前候选预测模式之前的预测模式均
是无法启用的。此时,如果确定出指定模式解码顺序中位于当前候选预测模式之后的预测
模式也都无法启用,那么当前块必定是启用当前候选预测模式了。因此,这种情况下,可以
跳过对指示信息进行解码的步骤,直接确定当前块启用当前候选预测模式。比如,可以直接
将当前候选预测模式的模式标志位设置为1。
[0091] 在一种可能的实现方式中为了更直观表述待遍历预测模式的启用情况,可以引入一个变量:待遍历预测模式中能够开启的预测模式的数量。此时,待遍历预测模式的启用情
况可以用该变量对应的数值来指示。如果该变量为0,则表明待遍历预测模式均无法启用。
如果该变量不为0,则表明待遍历预测模式中存在能够启用的候选预测模式。
[0092] 步骤103:如果待遍历预测模式中存在能够启用的候选预测模式,则对指示信息进行解码。
[0093] 如果待遍历预测模式中存在能够启用的候选预测模式,那么基于当前条件是无法确定当前块是否开启了当前候选预测模式,因此需要通过对指示信息进行解码来确定当前
块是否开启了当前候选预测模式。
[0094] 比如,在步骤103中,对当前候选预测模式的模式标记位进行解码,如果解码得到的值为1,则确定当前块启用当前候选预测模式。如果解码得到的值为0,则确定当前块不启
用当前候选预测模式。
[0095] 在步骤101之前,对于当前候选预测模式,如果当前无法启用当前候选预测模式,此时,也就没有必要通过步骤101和步骤103来判断是否启用当前候选预测模式了。因此,作
为一种示例,在获取待遍历预测模式的启用情况之前,还可以判断当前块是否能够启用当
前候选预测模式。如果当前块能够启用当前候选预测模式,则通过步骤101和步骤103来判
断是否启用当前候选预测模式。
[0096] 作为一种示例,如果当前块不能够启用当前候选预测模式,此时,可以直接确定当前块不启用当前候选预测模式。比如,可以直接将当前候选预测模式的模式标记位设置为
0,跳过对当前候选预测模式的模式标志位的解码过程。
[0097] 上述判断当前块是否能够启用当前候选预测模式,也可以通过当前块是否满足当前候选预测模式的模式限制条件来判断。如果当前块满足当前候选预测模式的模式限制条
件中的所有条件,则确定当前块能够启用当前候选预测模式。如果当前块不满足当前候选
预测模式的模式限制条件中的任一条件,则确定当前块不能够启用当前候选预测模式。
[0098] 比如,如果当前块针对当前候选预测模式的序列级开关为关闭状态,此时则无需执行步骤101至步骤102,直接将当前候选预测模式的标记位设置为0。
[0099] 解码端和编码端一致,在编码当前块的过程中,如果需要确定当前块启用哪个预测模式,对于当前候选预测模式,获取待遍历预测模式的启用情况。其中,待遍历预测模式
包括至少一个除当前候选预测模式之外的用于当前块预测的候选预测模式。之后根据待遍
历预测模式的启用情况,即可确定是否对当前候选预测模式的指示信息进行编码。若待遍
历预测模式均不能够启用,则可以跳过对指示信息进行编码的步骤,直接确定当前块启用
所述当前候选预测模式。
[0100] 但是相关技术中针对预测模式的编码方法,编码端是按照指定顺序来依次编码各个预测模式的指示信息的。为了后续便于说明,将普通融合模式称为预测模式1、将基于编
码运动矢量差的融合模式称为预测模式2、将基于子块运动信息的融合模式称为预测模式
3、将基于帧内帧间联合预测的融合模式称为预测模式4、将基于三角预测的融合模式称为
预测模式5。表2用于指示相关技术中针对融合模式的编码预测模式的顺序。表3用于指示相
关技术中针对融合模式的编码预测模式的顺序。如表2所示。在编码预测模式1的指示信息
时,先判断预测模式1是否开启,如果开启,则编码预测模式1的指示信息为1。如果预测模式
1没有开启,则编码预测模式1的指示信息为0,并判断预测模式2是否开启,如果开启,则编
码预测模式2的指示信息为1。如果预测模式2没有开启,则编码预测模式2的指示信息为0,
并判断预测模式3是否开启,如果开启,则编码预测模式3的指示信息为1。如果预测模式3没
有开启,则编码预测模式3的指示信息为0。表3的编码过程和表2的编码过程基本相同,在此
就不再赘述。
[0101] 表2
[0102]
[0103] 表3
[0104]预测模式 预测模式1的标记位 预测模式2的标记位 预测模式3的标记位
预测模式1 1 ‑ ‑
预测模式2 0 1 ‑
预测模式3 0 0 1
预测模式5 0 0 0
[0105] 通过表2或表3对预测模式进行编码之后,在解码当前块时,相关技术中必须对当前候选预测模式的标志位进行解码才能确定当前块是否启用该当前候选预测模式。但是,
本申请实施例中若待遍历预测模式均不能够启用,则可以跳过对指示信息进行解码的步
骤,直接确定当前块启用所述当前候选预测模式。从而简化了解码预测模式的流程,提高了
解码预测模式的效率。
[0106] 下面通过不同的实施例对图1所示的实施例做进一步阐述。
[0107] 本申请实施例还提供了另一种预测模式的解码方法。在该方法中:对于融合中的普通融合模式、基于编码运动矢量差的融合模式、基于子块运动信息的融合模式、基于帧内
帧间联合预测的融合模式、基于三角预测的融合模式这五个预测模式,针对当前块的指定
模式解码顺序也可以为基于这五个预测模式的任一排序。
[0108] 对于跳过模式中的普通融合模式、基于编码运动矢量差的融合模式、基于子块运动信息的融合模式、基于三角预测的融合模式这四个预测模式,针对当前块的指定模式解
码顺序也可以为基于这四个预测模式的任一排序。
[0109] 示例地,指定模式解码顺序包括预测模式1、预测模式2、预测模式3、预测模式4以及预测模式5。当需要解码预测模式1时,可判断剩余的预测模式2、预测模式3、预测模式4、
预测模式5是否可用。统计四个预测模式可用的数量。若该数量为0,则不需要解码预测模式
1的标记位,直接将该标记位设为1。当然,当融合/跳过模式包括的各个预测模式的数量不
为5个时,同样可以参考上述解码过程。
[0110] 本申请实施例还提供了另一种预测模式的解码方法。在该方法中:若存在n个预测模式,其指定模式解码顺序为预测模式1、预测模式2、…、预测模式n。在解码预测模式i时,
依次判断剩余的预测模式i+1、预测模式i+2、到预测模式N是否可用,若可用预测模式的数
量为0,则不需要解码预测模式i的标记位,直接将该标记位设为1。
[0111] 本申请实施例还提供了另一种预测模式的解码方法。在该方法中:在上述实施例中,在判断预测模式i+1、预测模式i+2、到预测模式n是否可用时,并不需要遍历完所有预测
模式,只要有1个预测模式可用,则可用预测模式数量大于0,因而无需再检测后续预测模式
是否可用。因此,在解码预测模式i时,依次判断剩余的预测模式i+1、预测模式i+2、到预测
模式n是否可用。当预测模式i+1到预测模式n的某个预测模式j可用时,则无需再检验预测
模式j+1到预测模式n是否可用,则直接进行预测模式i的标记位的解码过程。若一直到预测
模式n,都没有可用的预测模式,则不需要解码预测模式i的标记位,直接将该标记位设为1。
[0112] 本申请实施例还提供了另一种预测模式的解码方法。在该方法中:针对预测模式设置的指定模式解码顺序为:普通融合模式,基于编码运动矢量差的融合模式、基于子块运
动信息的融合模式、基于帧内帧间联合预测的融合模式、基于三角预测的融合模式。如果当
前候选预测模式为普通融合模式,待遍历预测模式包括基于编码运动矢量差的融合模式、
基于子块运动信息的融合模式、以及基于帧内帧间联合预测的融合模式、基于三角预测的
融合模式。
[0113] 此时,对普通融合模式的解码过程可以如下:如果当前块中针对基于编码运动矢量差的融合模式、基于子块运动信息的融合模式、以及基于帧内帧间联合预测的融合模式、
基于三角预测的融合模式这四个预测模式中每个预测模式的序列级开关为0,则不需要解
码普通融合模式的标记位,直接将普通融合模式的标记位设置为1。
[0114] 或者,对普通融合模式的解码过程还可以如下:如果当前块中针对基于编码运动矢量差的融合模式的序列级开关为0,且当前块的尺寸为4x8或者8x4(这种情况下剩下三种
预测模式均不能够启用),则不需要解码普通融合模式的标记位,直接将该标记位设置为1。
[0115] 或者,对普通融合模式的解码过程还可以如下:依次遍历基于编码运动矢量差的融合模式、基于子块运动信息的融合模式、以及基于帧内帧间联合预测的融合模式、基于三
角预测的融合模式这四个预测模式在尺寸、其他模式、帧类型、序列级开关的条件。依次确
定这四个预测模式是否能够启用。统计这四个预测模式能够启用的数量。若该数量为0,则
不需要解码普通融合模式的标记位,直接将该标记位设置为1。
[0116] 或者,对普通融合模式的解码过程还可以如下:若当前块中针对基于编码运动矢量差的融合模式的序列级开关为0,且当前块的面积小于面积阈值S,则不需要解码普通融
合模式的标记位,直接将该标记位设置为1。上述面积阈值S可为64。
[0117] 或者,对普通融合模式的解码过程还可以如下:对于4x8和8x4的块,由于只允许使用基于编码运动矢量差的融合模式和普通融合模式,且4x4的块不能采用基于编码运动矢
量差的融合模式和普通融合模式。因此,若当前块基于编码运动矢量差的融合模式的序列
级开关为0,且当前块的面积(宽x高)等于面积阈值SE,则不需要解码普通融合模式的标记
位,直接将该标记位设置为1。面积阈值SE可以为32。
[0118] 或者,对普通融合模式的解码过程还可以如下:若当前块的预测模式属于跳过模式(该情况下基于帧内帧间联合预测的融合模式不可用),如果当前块不允许启用基于编码
运动矢量差的融合模式(比如,当前块针对基于编码运动矢量差的融合模式序列级开关为
0),且基于三角预测的融合模式也不能启用(比如,当前块所在的图像帧为P帧或当前块针
对基于三角预测的融合模式的序列级开关为0),且当前块的宽为4高大于等于16或高为4宽
大于等于16(这种情况下基于子块运动信息的融合模式也不能启用),则不需要解码普通融
合模式的标记位,直接将该标记位设为1。
[0119] 或者,对普通融合模式的解码过程还可以如下:若当前块的预测模式属于融合模式,如果当前块不允许启用基于编码运动矢量差的融合模式(比如,当前块针对基于编码运
动矢量差的融合模式序列级开关为0),且基于三角预测的融合模式也不能启用(比如,当前
块所在的图像帧为P帧或当前块针对基于三角预测的融合模式的序列级开关为0),且当前
块的宽为4高大于等于尺寸阈值CTU_SIZE,或高为4宽大于等于尺寸阈值CTU_SIZE(这种情
况下基于子块运动信息的融合模式和基于帧内帧间联合预测的融合模式均不能启用),则
不需要解码普通融合模式的标记位,直接将该标记位设为1。尺寸阈值CTU_SIZE为128,也可
以是其他值。
[0120] 或者,对普通融合模式的解码过程还可以如下:若当前块的预测模式属于跳过模式(该情况下基于帧内帧间联合预测的融合模式不可用),如果当前块满足下述两个条件中
任一条件,则不需要解码普通融合模式的标记位,直接将该标记位设为1:
[0121] 条件1:当前块不能启用基于编码运动矢量差的融合模式(比如,当前块针对基于编码运动矢量差的融合模式序列级开关为0),且当前块的面积(宽x高)等于面积阈值SE(此
时基于子块运动信息的融合模式和基于三角预测的融合模式均无法启用)。面积阈值SE可
以为32。
[0122] 条件2:当前块不能启用基于编码运动矢量差的融合模式(比如,当前块针对基于编码运动矢量差的融合模式序列级开关为0),且同时满足基于子块运动信息的融合模式和
基于三角预测的融合模式均无法启用。其中,基于子块运动信息的融合模式无法启用包括:
当前块针对仿射模式和SBTMVP模式的序列级开关均为0,或者,当前块的宽等于4或高等于
4。基于三角预测的融合模式无法启用包括:当前块所在的图像帧为P帧或当前块针对基于
三角预测的融合模式的序列级开关为0。
[0123] 或者,对普通融合模式的解码过程还可以如下:若当前块的预测模式属于融合模式,如果当前块满足下述两个条件中任一条件,则不需要解码普通融合模式的标记位,直接
将该标记位设为1:
[0124] 条件1:如果当前块不允许启用基于编码运动矢量差的融合模式(比如,当前块针对基于编码运动矢量差的融合模式序列级开关为0),且当前块的面积(宽x高)等于面积阈
值SE(此时基于子块运动信息的融合模式、基于帧内帧间联合预测的融合模式以及基于三
角预测的融合模式均无法启用均不启用),则不需要解码普通融合模式的标记位,直接将该
标记位设为1。面积阈值SE可以为32。
[0125] 条件2:如果当前块不允许启用基于编码运动矢量差的融合模式(比如,当前块针对基于编码运动矢量差的融合模式序列级开关为0),且同时满足基于子块运动信息的融合
模式、基于帧内帧间联合预测的融合模式以及基于三角预测的融合模式均无法启用。其中,
基于子块运动信息的融合模式无法启用包括:当前块针对仿射模式和SBTMVP模式的序列级
开关均为0,或者,当前块的宽等于4或高等于4。基于帧内帧间联合预测的融合模式无法启
用包括:当前块针对基于帧内帧间联合预测的融合模式的序列级开关为0,或者,当前块的
宽等于尺寸阈值CTU_SIZE或高等于尺寸阈值CTU_SIZE。基于三角预测的融合模式无法启用
包括:当前块所在的图像帧为P帧或当前块针对基于三角预测的融合模式的序列级开关为
0。尺寸阈值CTU_SIZE为128,也可以是其他值。
[0126] 另外,如果当前块满足普通融合模式的模式限制条件中的所有条件,则执行上述解码过程。如果当前块不满足普通融合模式的模式限制条件中的任一条件,则直接将该标
记位设为0,也无需进行上述解码过程。
[0127] 本申请实施例还提供了另一种预测模式的解码方法。在该方法中:针对预测模式设置的指定模式解码顺序为:普通融合模式,基于编码运动矢量差的融合模式、基于子块运
动信息的融合模式、基于帧内帧间联合预测的融合模式、基于三角预测的融合模式。如果当
前候选预测模式是基于编码运动矢量差的融合模式,待遍历预测模式包括基于子块运动信
息的融合模式、以及基于帧内帧间联合预测的融合模式、基于三角预测的融合模式。
[0128] 此时,对基于编码运动矢量差的融合模式的解码过程可以如下:若当前块的面积小于面积阈值S(这种情况下,基于子块运动信息的融合模式、以及基于帧内帧间联合预测
的融合模式、基于三角预测的融合模式均不可用),则不需要解码基于编码运动矢量差的融
合模式的标记位。此时,基于编码运动矢量差的融合模式的标记位为普通融合模式的标记
位取反。也即是,普通融合模式的标记位为1,则基于编码运动矢量差的融合模式的标记位
为0;普通融合模式的标记位为0,则基于编码运动矢量差的融合模式标记位为1。上述面积
阈值S可为64。
[0129] 或者,对基于编码运动矢量差的融合模式的解码过程还可以如下:若当前块的面积等于面积阈值SE,则不需要解码基于编码运动矢量差的融合模式的标记位。此时,基于编
码运动矢量差的融合模式的标记位为普通融合模式的标记位取反。面积阈值SE可以为32。
[0130] 或者,对基于编码运动矢量差的融合模式的解码过程还可以如下:若当前块的预测模式属于跳过模式(该情况下基于帧内帧间联合预测的融合模式不可用),如果基于三角
预测的融合模式也不能启用(比如,当前块所在的图像帧为P帧或当前块针对基于三角预测
的融合模式的序列级开关为0),且当前块的宽为4高大于等于16或高为4宽大于等于16(这
种情况下基于子块运动信息的融合模式也不能启用),则不需要解码基于编码运动矢量差
的融合模式的标记位。此时,基于编码运动矢量差的融合模式的标记位为普通融合模式的
标记位取反。
[0131] 或者,对基于编码运动矢量差的融合模式的解码过程还可以如下:若当前块的预测模式属于融合模式,如果基于三角预测的融合模式也不能启用(比如,当前块所在的图像
帧为P帧或当前块针对基于三角预测的融合模式的序列级开关为0),且当前块的宽为4高大
于等于尺寸阈值CTU_SIZE,或高为4宽大于等于尺寸阈值CTU_SIZE(这种情况下基于子块运
动信息的融合模式和基于帧内帧间联合预测的融合模式均不能启用),则不需要解码基于
编码运动矢量差的融合模式的标记位。此时,基于编码运动矢量差的融合模式的标记位为
普通融合模式的标记位取反。尺寸阈值CTU_SIZE为128,也可以是其他值。
[0132] 或者,对基于编码运动矢量差的融合模式的解码过程还可以如下:若当前块的预测模式属于跳过模式(该情况下基于帧内帧间联合预测的融合模式不可用),如果当前块满
足下述两个条件中任一条件,则不需要解码基于编码运动矢量差的融合模式的标记位,直
接将该标记位设为1:
[0133] 条件1:当前块的面积(宽x高)等于面积阈值SE(此时基于子块运动信息的融合模式和基于三角预测的融合模式均无法启用)。面积阈值SE可以为32。
[0134] 条件2:当前块同时满足基于子块运动信息的融合模式和基于三角预测的融合模式均无法启用。其中,基于子块运动信息的融合模式无法启用包括:当前块针对仿射模式和
SBTMVP模式的序列级开关均为0,或者,当前块的宽等于4或高等于4。基于三角预测的融合
模式无法启用包括:当前块所在的图像帧为P帧或当前块针对基于三角预测的融合模式的
序列级开关为0。
[0135] 或者,对基于编码运动矢量差的融合模式的解码过程还可以如下:若当前块的预测模式属于融合模式,如果当前块满足下述两个条件中任一条件,则不需要解码基于编码
运动矢量差的融合模式的标记位,直接将该标记位设为1:
[0136] 条件1:如果当当前块的面积(宽x高)等于面积阈值SE(此时基于子块运动信息的融合模式、基于帧内帧间联合预测的融合模式以及基于三角预测的融合模式均无法启用均
不启用)。面积阈值SE可以为32。
[0137] 条件2:如果当前块同时满足基于子块运动信息的融合模式、基于帧内帧间联合预测的融合模式以及基于三角预测的融合模式均无法启用。其中,基于子块运动信息的融合
模式无法启用包括:当前块针对仿射模式和SBTMVP模式的序列级开关均为0,或者,当前块
的宽等于4或高等于4。基于帧内帧间联合预测的融合模式无法启用包括:当前块针对基于
帧内帧间联合预测的融合模式的序列级开关为0,或者,当前块的宽等于尺寸阈值CTU_SIZE
或高等于尺寸阈值CTU_SIZE。基于三角预测的融合模式无法启用包括:当前块所在的图像
帧为P帧或当前块针对基于三角预测的融合模式的序列级开关为0。尺寸阈值CTU_SIZE为
128,也可以是其他值。
[0138] 另外,如果当前块满足基于编码运动矢量差的融合模式的模式限制条件中的所有条件,则执行上述解码过程。如果当前块不满足基于编码运动矢量差的融合模式的模式限
制条件中的任一条件,则直接将该标记位设为0,也无需进行上述解码过程。
[0139] 本申请实施例还提供了另一种预测模式的解码方法。在该方法中:针对预测模式设置的指定模式解码顺序为:普通融合模式,基于编码运动矢量差的融合模式、基于子块运
动信息的融合模式、基于帧内帧间联合预测的融合模式、基于三角预测的融合模式。当前候
选预测模式为基于子块运动信息的融合模式,待遍历预测模式包括基于帧内帧间联合预测
的融合模式以及基于三角预测的融合模式。
[0140] 此时,对基于子块运动信息的融合模式的解码过程可以如下:若当前块针对基于三角预测的融合模式的序列级开关为0,或者当前块所在的图像帧为P帧,则:
[0141] (1)若当前块针对基于帧内帧间联合预测的融合模式的序列级开关为0,则不需要解码基于子块运动信息的融合模式的标记位,直接将该标记位设为1。
[0142] (2)若当前块的预测模式属于融合模式,则不需要解码基于子块运动信息的融合模式的标记位,直接将该标记位设为1。
[0143] (3)若当前块的面积小于面积阈值S,或者当前块的宽或高大于等于尺寸阈值CTU_SIZE,则不需要解码基于子块运动信息的融合模式的标记位,直接将该标记位设为1。面积
阈值S可为64,尺寸阈值CTU_SIZE可为128。
[0144] 或者,对基于子块运动信息的融合模式的解码过程还可以如下:若当前块的预测模式属于跳过模式(该情况下基于帧内帧间联合预测的融合模式不可用),如果基于三角预
测的融合模式也不能启用(比如,当前块所在的图像帧为P帧或当前块针对基于三角预测的
融合模式的序列级开关为0),则不需要解码基于子块运动信息的融合模式的标记位,直接
将该标记位设为1。
[0145] 或者,对基于子块运动信息的融合模式的解码过程可以如下:若当前块的预测模式属于融合模式,若同时满足下述条件(a)和条件(b),则不需要解码基于子块运动信息的
融合模式的标记位,直接将该标记位设为1:
[0146] 条件(a):基于帧内帧间联合预测的融合模式不可用。比如,当前块针对基于帧内帧间联合预测的融合模式的序列级开关为0,或者,当前块的宽等于尺寸阈值CTU_SIZE或高
等于尺寸阈值CTU_SIZE。尺寸阈值CTU_SIZE为128,也可以是其他值。
[0147] 条件(b):基于三角预测的融合模式不可用。比如,当前块所在的图像帧为P帧或当前块针对基于三角预测的融合模式的序列级开关为0。
[0148] 另外,如果当前块满足基于子块运动信息的融合模式的模式限制条件中的所有条件,则执行上述解码过程。如果当前块不满足基于子块运动信息的融合模式的模式限制条
件中的任一条件,则直接将该标记位设为0,也无需进行上述解码过程。
[0149] 本申请实施例还提供了另一种预测模式的解码方法。在该方法中:针对预测模式设置的指定模式解码顺序为:普通融合模式,基于编码运动矢量差的融合模式、基于子块运
动信息的融合模式、基于帧内帧间联合预测的融合模式、基于三角预测的融合模式。当前候
选预测模式为基于帧内帧间联合预测的融合模式,待遍历预测模式包括基于三角预测的融
合模式。
[0150] 此时,对基于帧内帧间联合预测的融合模式的解码过程可以如下:若基于三角预测的融合模式不可用。比如当前块针对基于三角预测的融合模式的序列级开关为0,或者当
前块所在的图像帧为P帧。则不需要解码基于帧内帧间联合预测的融合模式的标记位,直接
将该标记位设为1。
[0151] 另外,如果当前块满足基于帧内帧间联合预测的融合模式的模式限制条件中的所有条件,则执行上述解码过程。如果当前块不满足基于帧内帧间联合预测的融合模式的模
式限制条件中的任一条件,则直接将该标记位设为0,也无需进行上述解码过程。
[0152] 本申请实施例还提供了另一种预测模式的解码方法。在该方法中:针对预测模式设置的指定模式解码顺序为:普通融合模式,基于编码运动矢量差的融合模式、基于子块运
动信息的融合模式、基于帧内帧间联合预测的融合模式、基于三角预测的融合模式。当前候
选预测模式为基于三角预测的融合模式。此时,对基于三角预测的融合模式的解码过程可
以如下:
[0153] 此时不需要解码基于三角预测的融合模式的标记位,如果当前块满足基于三角预测的融合模式的模式限制条件中的所有条件,则直接将基于三角预测的融合模式的标记位
设为1;否则为0。
[0154] 在上述几个实施例中,对于任一预测模式,如果将该预测模式的标记位设置为1,用于指示当前块启用该当前候选预测模式。如果将该预测模式的标记位设置为0,用于指示
当前块不启用该当前候选预测模式。
[0155] 另外,上述几个实施例中,均针对IBC(intra block copy merge,帧内块拷贝融合)模式不启用的情况,即当前块针对IBC模式的序列级开关为关为0,或者,当前块为帧间
预测块(一种非IBC模式的预测块)。其中,在IBC模式下,从BV(block vector,候选块矢量)
列表中选择一个块矢量,基于该块矢量生成当前块的预测值。这里的块矢量是指参考块在
当前帧中与当前块的偏移矢量。
[0156] 图1所示的实施例用于解释说明对预测模式进行解码的过程。在本申请实施例中,在对当前块的各个预测模式进行编码时,可以按照相关技术那样一一对各个预测模式进行
编码。但是,基于图1所示的实施例可知,在某些示例中,无需对预测模式进行解码,即可确
定当前块是否启用该预测模式。在这种情况下,也就没有必要对该预测模式进行编码了,因
此,本申请实施例还提供了一种预测模式的编码方法,以节省码率开销。
[0157] 图2是本申请实施例提供的一种预测模式的编码方法流程图。如图2所示,该方法包括如下步骤:
[0158] 步骤201:获取待遍历预测模式的启用情况,待遍历预测模式包括至少一个除当前候选预测模式之外的用于当前块预测的候选预测模式。
[0159] 在一种可能的实现方式中,获取待遍历预测模式的启用情况,包括:根据待遍历预测模式的遍历顺序,获取待遍历预测模式中每个候选预测模式的启用情况,遍历顺序是指
依次判断待遍历预测模式中各个候选预测模式是否能够启用的判断顺序,且当前候选预测
模式位于待遍历预测模式之前;如果遍历至遍历顺序中的最后一个候选预测模式时,最后
一个候选预测模式不能够启用,则确定待遍历预测模式均不能够启用。
[0160] 在一种可能的实现方式中,根据待遍历预测模式的遍历顺序,获取待遍历预测模式中每个候选预测模式的启用情况之后,还包括:如果在遍历至任一候选预测模式时,任一
候选预测模式能够开启,则确定待遍历预测模式中存在能够启用的候选预测模式。
[0161] 在一种可能的实现方式中,当前候选预测模式为预测模式集合中任一预测模式,预测模式集合至少包括普通融合模式、基于三角预测的融合模式、基于编码运动矢量差的
融合模式、基于子块运动信息的融合模式、以及基于帧内帧间联合预测的融合模式中的一
个或多个;待遍历预测模式为预测模式集合中除当前候选预测模式之外的其他预测模式中
的一个或多个。
[0162] 在一种可能的实现方式中,获取待遍历预测模式的启用情况,包括:如果当前块不满足待遍历预测模式中每个候选预测模式的模式限制条件中任一条件,则确定待遍历预测
模式均不能够启用;其中,模式限制条件包括尺寸限制条件、其他模式限制条件、帧类型限
制条件以及序列级开关限制条件。
[0163] 在一种可能的实现方式中,当前候选预测模式为普通融合模式,待遍历预测模式包括基于三角预测的融合模式、基于编码运动矢量差的融合模式、基于子块运动信息的融
合模式、以及基于帧内帧间联合预测的融合模式;如果当前块不满足待遍历预测模式中每
个候选预测模式的模式限制条件中任一条件,则确定待遍历预测模式均不能够启用,包括:
如果当前块中针对待遍历预测模式中每个候选预测模式的序列级开关为关闭状态,则确定
待遍历预测模式均不能够启用;或者,如果当前块中针对基于编码运动矢量差的融合模式
的序列级开关为关闭状态,且当前块的尺寸不满足待遍历预测模式中其他每个候选预测模
式的尺寸限制条件,则确定待遍历预测模式均不能够启用。
[0164] 在一种可能的实现方式中,当前块的尺寸不满足待遍历预测模式中其他每个候选预测模式的尺寸限制条件,包括:当前块的面积小于面积阈值,面积阈值是根据待遍历预测
模式中其他每个候选预测模式的尺寸限制条件确定的。
[0165] 在一种可能的实现方式中,当前候选预测模式为基于编码运动矢量差的融合模式,待遍历预测模式包括基于子块运动信息的融合模式、基于帧内帧间联合预测的融合模
式、以及基于三角预测的融合模式;如果当前块不满足待遍历预测模式中每个候选预测模
式的模式限制条件中任一条件,则确定待遍历预测模式均不能够启用,包括:如果当前块的
面积小于面积阈值,则确定待遍历预测模式均不能够启用,面积阈值是根据待遍历预测模
式中每个候选预测模式的尺寸限制条件确定的。
[0166] 在一种可能的实现方式中,当前候选预测模式为基于子块运动信息的融合模式,待遍历预测模式包括基于帧内帧间联合预测的融合模式以及基于三角预测的融合模式;如
果当前块不满足待遍历预测模式中每个候选预测模式的模式限制条件中任一条件,则确定
待遍历预测模式均不能够启用,包括:当当前块不满足基于三角预测的融合模式的模式限
制条件中任一条件时,如果当前块满足指定条件,则确定待遍历预测模式均不能够启用;指
定条件包括以下条件中的一个或多个:当前块中针对基于帧内帧间联合预测的融合模式的
序列级开关为关闭状态;当前块的预测模式属于跳过模式;当前块的面积小于针对基于帧
内帧间联合预测的融合模式设置的面积阈值,和/或,当前块的高和/或宽大于针对基于帧
内帧间联合预测的融合模式设置的尺寸阈值。
[0167] 在一种可能的实现方式中,当前候选预测模式为基于帧内帧间联合预测的融合模式,待遍历预测模式包括基于三角预测的融合模式;如果当前块不满足待遍历预测模式中
每个预测模式的模式限制条件中任一条件,则确定待遍历预测模式均不能够启用,包括:如
果当前块不满足基于三角预测的融合模式的模式限制条件中任一条件,则确定待遍历预测
模式均不能够启用。
[0168] 在一种可能的实现方式中,当前块不满足基于三角预测的融合模式的模式限制条件中任一条件,包括:
[0169] 当前块中针对基于三角预测的融合模式的序列级开关为关闭状态,和/或,当前块所在的图像帧为P帧。
[0170] 上述步骤201中的各种实现方式的详细说明均可参考图1所示的实施例中步骤101的解释说明,在此不再赘述。
[0171] 步骤202:根据待遍历预测模式的启用情况,确定是否对当前候选预测模式的指示信息进行编码,指示信息用于指示当前块是否启用当前候选预测模式;其中,若待遍历预测
模式均不能够启用,则确定当前块启用当前候选预测模式。
[0172] 步骤203:如果待遍历预测模式中存在能够启用的候选预测模式,则对指示信息进行编码。
[0173] 在一种可能的实现方式中,获取待遍历预测模式的启用情况之前,还包括:如果当前块能够启用当前候选预测模式,则执行获取待遍历预测模式的启用情况的步骤。
[0174] 在一种可能的实现方式中,如果当前块不能够启用当前候选预测模式,确定当前块不启用当前候选预测模式。其中,当前块不能够启用当前候选预测模式指,当前块不满足
当前候选预测模式的模式限制条件中任一条件,则确定待遍历预测模式均不能够启用;其
中,模式限制条件包括尺寸限制条件、其他模式限制条件、帧类型限制条件以及序列级开关
限制条件。
[0175] 在一种可能的实现方式中,根据待遍历预测模式的启用情况,确定是否对当前候选预测模式的指示信息进行编码,包括:如果待遍历预测模式中能够开启的预测模式的数
量为0,则直接确定当前块启用当前候选预测模式。
[0176] 上述步骤202至步骤203中的各种实现方式的详细说明均可参考图1所示的实施例中步骤102至步骤103的解释说明,在此同样不再赘述。也即是,本申请实施例提供的预测模
式的编码过程和预测模式的解码完全一样,只是将解码改成编码,并且对于编码端,各个预
测模式的标记位已知,不需要再设置。
[0177] 在编码当前块的过程中,如果需要确定当前块启用哪个预测模式,对于当前候选预测模式,获取待遍历预测模式的启用情况。其中,待遍历预测模式包括至少一个除当前候
选预测模式之外的用于当前块预测的候选预测模式。之后根据待遍历预测模式的启用情
况,即可确定是否对当前候选预测模式的指示信息进行编码。若待遍历预测模式均不能够
启用,则可以跳过对指示信息进行编码的步骤,直接确定当前块启用当前候选预测模式。而
不必像相关技术那样,必须对当前候选预测模式的指示信息进行编码,从而简化了编码预
测模式的流程,提高了编码预测模式的效率,同时还节省了码率开销。
[0178] 图3是本申请实施例提供的一种解码装置示意图,如图3所示,该装置300包括:
[0179] 获取模块301,用于获取待遍历预测模式的启用情况,待遍历预测模式包括至少一个除当前候选预测模式之外的用于当前块预测的候选预测模式;
[0180] 确定模块302,用于根据待遍历预测模式的启用情况,确定是否对当前候选预测模式的指示信息进行解码,指示信息用于指示当前块是否启用当前候选预测模式;其中,若待
遍历预测模式均不能够启用确定当前块启用当前候选预测模式。
[0181] 在一种可能的实现方式中,确定模块,具体用于:如果待遍历预测模式中存在能够启用的候选预测模式,则对指示信息进行解码。
[0182] 在一种可能的实现方式中,获取模块,具体用于:根据待遍历预测模式的遍历顺序,获取待遍历预测模式中每个候选预测模式的启用情况,遍历顺序是指依次判断待遍历
预测模式中各个候选预测模式是否能够启用的判断顺序,且当前候选预测模式位于待遍历
预测模式之前;如果遍历至遍历顺序中的最后一个候选预测模式时,最后一个候选预测模
式不能够启用,则确定待遍历预测模式均不能够启用。
[0183] 在一种可能的实现方式中,获取模块,还具体用于:如果在遍历至任一候选预测模式时,任一候选预测模式能够开启,则确定待遍历预测模式中存在能够启用的候选预测模
式。
[0184] 在一种可能的实现方式中,当前候选预测模式为预测模式集合中任一预测模式,预测模式集合至少包括普通融合模式、基于三角预测的融合模式、基于编码运动矢量差的
融合模式、基于子块运动信息的融合模式、以及基于帧内帧间联合预测的融合模式中的一
个或多个;待遍历预测模式为预测模式集合中除当前候选预测模式之外的其他预测模式中
的一个或多个。
[0185] 在一种可能的实现方式中,获取模块,具体用于:如果当前块不满足待遍历预测模式中每个候选预测模式的模式限制条件中任一条件,则确定待遍历预测模式均不能够启
用;其中,模式限制条件包括尺寸限制条件、其他模式限制条件、帧类型限制条件以及序列
级开关限制条件。
[0186] 在一种可能的实现方式中,当前候选预测模式为普通融合模式,待遍历预测模式包括基于三角预测的融合模式、基于编码运动矢量差的融合模式、基于子块运动信息的融
合模式、以及基于帧内帧间联合预测的融合模式;获取模块,具体用于:如果当前块中针对
待遍历预测模式中每个候选预测模式的序列级开关为关闭状态,则确定待遍历预测模式均
不能够启用;或者,如果当前块中针对基于编码运动矢量差的融合模式的序列级开关为关
闭状态,且当前块的尺寸不满足待遍历预测模式中其他每个候选预测模式的尺寸限制条
件,则确定待遍历预测模式均不能够启用。
[0187] 在一种可能的实现方式中,当前块的尺寸不满足待遍历预测模式中其他每个候选预测模式的尺寸限制条件,包括:当前块的面积小于面积阈值,面积阈值是根据待遍历预测
模式中其他每个候选预测模式的尺寸限制条件确定的。
[0188] 在一种可能的实现方式中,当前候选预测模式为基于编码运动矢量差的融合模式,待遍历预测模式包括基于子块运动信息的融合模式、基于帧内帧间联合预测的融合模
式、以及基于三角预测的融合模式;获取模块,具体用于,包括:如果当前块的面积小于面积
阈值,则确定待遍历预测模式均不能够启用,面积阈值是根据待遍历预测模式中每个候选
预测模式的尺寸限制条件确定的。
[0189] 在一种可能的实现方式中,当前候选预测模式为基于子块运动信息的融合模式,待遍历预测模式包括基于帧内帧间联合预测的融合模式以及基于三角预测的融合模式;获
取模块,具体用于:当当前块不满足基于三角预测的融合模式的模式限制条件中任一条件
时,如果当前块满足指定条件,则确定待遍历预测模式均不能够启用;指定条件包括以下条
件中的一个或多个:当前块中针对基于帧内帧间联合预测的融合模式的序列级开关为关闭
状态;当前块的预测模式属于跳过模式;当前块的面积小于针对基于帧内帧间联合预测的
融合模式设置的面积阈值,和/或,当前块的高和/或宽大于针对基于帧内帧间联合预测的
融合模式设置的尺寸阈值。
[0190] 在一种可能的实现方式中,当前候选预测模式为基于帧内帧间联合预测的融合模式,待遍历预测模式包括基于三角预测的融合模式;获取模块,具体用于,包括:如果当前块
不满足基于三角预测的融合模式的模式限制条件中任一条件,则确定待遍历预测模式均不
能够启用。
[0191] 在一种可能的实现方式中,当前块不满足基于三角预测的融合模式的模式限制条件中任一条件,包括:当前块中针对基于三角预测的融合模式的序列级开关为关闭状态,
和/或,当前块所在的图像帧为P帧。
[0192] 在一种可能的实现方式中,获取模块,还用于如果当前块能够启用当前候选预测模式,则执行获取待遍历预测模式的启用情况的步骤。
[0193] 在一种可能的实现方式中,确定模块,还用于如果当前块不能够启用当前候选预测模式,确定当前块不启用当前候选预测模式。其中,当前块不能够启用当前候选预测模式
指,当前块不满足当前候选预测模式的模式限制条件中任一条件,则确定待遍历预测模式
均不能够启用;其中,模式限制条件包括尺寸限制条件、其他模式限制条件、帧类型限制条
件以及序列级开关限制条件。
[0194] 在一种可能的实现方式中,确定模块,具体用于:
[0195] 如果待遍历预测模式中能够开启的预测模式的数量为0,则确定当前块启用当前候选预测模式。
[0196] 在编码当前块的过程中,如果需要确定当前块启用哪个预测模式,对于当前候选预测模式,获取待遍历预测模式的启用情况。其中,待遍历预测模式包括至少一个除当前候
选预测模式之外的用于当前块预测的候选预测模式。之后根据待遍历预测模式的启用情
况,即可确定是否对当前候选预测模式的指示信息进行解码。若待遍历预测模式均不能够
启用,则可以跳过对指示信息进行解码的步骤,直接确定当前块启用当前候选预测模式。而
不必像相关技术那样,必须对当前候选预测模式的指示信息进行解码才能确定当前块是否
启用该当前候选预测模式,从而简化了解码预测模式的流程,提高了解码预测模式的效率。
[0197] 需要说明的是:上述实施例提供的解码装置在解码预测模式时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模
块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功
能。另外,上述实施例提供的解码装置与预测模式的解码方法实施例属于同一构思,其具体
实现过程详见方法实施例,这里不再赘述。
[0198] 图4是本申请实施例提供的一种编码装置示意图,如图4所示,该装置400包括:
[0199] 获取模块401,用于获取待遍历预测模式的启用情况,待遍历预测模式包括至少一个除当前候选预测模式之外的用于当前块预测的候选预测模式;
[0200] 确定模块402,用于根据待遍历预测模式的启用情况,确定是否对当前候选预测模式的指示信息进行编码,指示信息用于指示当前块是否启用当前候选预测模式;其中,若待
遍历预测模式均不能够启用,确定当前块启用当前候选预测模式。
[0201] 在一种可能的实现方式中,确定模块,具体用于:如果待遍历预测模式中存在能够启用的候选预测模式,则对指示信息进行编码。
[0202] 在一种可能的实现方式中,获取模块,具体用于:根据待遍历预测模式的遍历顺序,获取待遍历预测模式中每个候选预测模式的启用情况,遍历顺序是指依次判断待遍历
预测模式中各个候选预测模式是否能够启用的判断顺序,且当前候选预测模式位于待遍历
预测模式之前;如果遍历至遍历顺序中的最后一个候选预测模式时,最后一个候选预测模
式不能够启用,则确定待遍历预测模式均不能够启用。
[0203] 在一种可能的实现方式中,获取模块,还具体用于:如果在遍历至任一候选预测模式时,任一候选预测模式能够开启,则确定待遍历预测模式中存在能够启用的候选预测模
式。
[0204] 在一种可能的实现方式中,当前候选预测模式为预测模式集合中任一预测模式,预测模式集合至少包括普通融合模式、基于三角预测的融合模式、基于编码运动矢量差的
融合模式、基于子块运动信息的融合模式、以及基于帧内帧间联合预测的融合模式中的一
个或多个;待遍历预测模式为预测模式集合中除当前候选预测模式之外的其他预测模式中
的一个或多个。
[0205] 在一种可能的实现方式中,获取模块,具体用于:如果当前块不满足待遍历预测模式中每个候选预测模式的模式限制条件中任一条件,则确定待遍历预测模式均不能够启
用;其中,模式限制条件包括尺寸限制条件、其他模式限制条件、帧类型限制条件以及序列
级开关限制条件。
[0206] 在一种可能的实现方式中,当前候选预测模式为普通融合模式,待遍历预测模式包括基于三角预测的融合模式、基于编码运动矢量差的融合模式、基于子块运动信息的融
合模式、以及基于帧内帧间联合预测的融合模式;获取模块,具体用于:如果当前块中针对
待遍历预测模式中每个候选预测模式的序列级开关为关闭状态,则确定待遍历预测模式均
不能够启用;或者,如果当前块中针对基于编码运动矢量差的融合模式的序列级开关为关
闭状态,且当前块的尺寸不满足待遍历预测模式中其他每个候选预测模式的尺寸限制条
件,则确定待遍历预测模式均不能够启用。
[0207] 在一种可能的实现方式中,当前块的尺寸不满足待遍历预测模式中其他每个候选预测模式的尺寸限制条件,包括:当前块的面积小于面积阈值,面积阈值是根据待遍历预测
模式中其他每个候选预测模式的尺寸限制条件确定的。
[0208] 在一种可能的实现方式中,当前候选预测模式为基于编码运动矢量差的融合模式,待遍历预测模式包括基于子块运动信息的融合模式、基于帧内帧间联合预测的融合模
式、以及基于三角预测的融合模式;获取模块,具体用于,包括:如果当前块的面积小于面积
阈值,则确定待遍历预测模式均不能够启用,面积阈值是根据待遍历预测模式中每个候选
预测模式的尺寸限制条件确定的。
[0209] 在一种可能的实现方式中,当前候选预测模式为基于子块运动信息的融合模式,待遍历预测模式包括基于帧内帧间联合预测的融合模式以及基于三角预测的融合模式;获
取模块,具体用于:当当前块不满足基于三角预测的融合模式的模式限制条件中任一条件
时,如果当前块满足指定条件,则确定待遍历预测模式均不能够启用;指定条件包括以下条
件中的一个或多个:当前块中针对基于帧内帧间联合预测的融合模式的序列级开关为关闭
状态;当前块的预测模式属于跳过模式;当前块的面积小于针对基于帧内帧间联合预测的
融合模式设置的面积阈值,和/或,当前块的高和/或宽大于针对基于帧内帧间联合预测的
融合模式设置的尺寸阈值。
[0210] 在一种可能的实现方式中,当前候选预测模式为基于帧内帧间联合预测的融合模式,待遍历预测模式包括基于三角预测的融合模式;获取模块,具体用于,包括:如果当前块
不满足基于三角预测的融合模式的模式限制条件中任一条件,则确定待遍历预测模式均不
能够启用。
[0211] 在一种可能的实现方式中,当前块不满足基于三角预测的融合模式的模式限制条件中任一条件,包括:当前块中针对基于三角预测的融合模式的序列级开关为关闭状态,
和/或,当前块所在的图像帧为P帧。
[0212] 在一种可能的实现方式中,获取模块,还用于如果当前块能够启用当前候选预测模式,则执行获取待遍历预测模式的启用情况的步骤。
[0213] 在一种可能的实现方式中,确定模块,还用于如果当前块不能够启用当前候选预测模式,确定当前块不启用当前候选预测模式。其中,当前块不能够启用当前候选预测模式
指,当前块不满足当前候选预测模式的模式限制条件中任一条件,则确定待遍历预测模式
均不能够启用;其中,模式限制条件包括尺寸限制条件、其他模式限制条件、帧类型限制条
件以及序列级开关限制条件。
[0214] 在一种可能的实现方式中,确定模块,具体用于:
[0215] 如果待遍历预测模式中能够开启的预测模式的数量为0,则确定当前块启用当前候选预测模式。
[0216] 在编码当前块的过程中,如果需要确定当前块启用哪个预测模式,对于当前候选预测模式,获取待遍历预测模式的启用情况。其中,待遍历预测模式包括至少一个除当前候
选预测模式之外的用于当前块预测的候选预测模式。之后根据待遍历预测模式的启用情
况,即可确定是否对当前候选预测模式的指示信息进行编码。若待遍历预测模式均不能够
启用,则可以跳过对指示信息进行编码的步骤,直接确定当前块启用当前候选预测模式。而
不必像相关技术那样,必须对当前候选预测模式的指示信息进行编码,从而简化了编码预
测模式的流程,提高了编码预测模式的效率,同时还节省了码率开销。
[0217] 需要说明的是:上述实施例提供的编码装置在编码预测模式时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模
块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功
能。另外,上述实施例提供的编码装置与预测模式的编码方法实施例属于同一构思,其具体
实现过程详见方法实施例,这里不再赘述。
[0218] 图5是本申请实施例提供的一种电子设备500的结构框图。该电子设备500可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态
影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动
态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备500还可能被称
为用户设备、便携式电子设备、膝上型电子设备、台式电子设备等其他名称。本申请实施例
中涉及的解码装置或编码装置均可以通过图5所示的电子设备来实现。
[0219] 通常,电子设备500包括有:处理器501和存储器502。
[0220] 处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-
Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程
逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主
处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing 
Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在
一些实施例中,处理器501可以在集成有GPU(Graphics Processing Unit,图像处理器),
GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包
括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的
计算操作。
[0221] 存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个
或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可
读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申
请中方法实施例提供的预测模式的解码方法或预测模式的编码方法。
[0222] 在一些实施例中,电子设备500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外
围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射
频电路504、触摸显示屏505、摄像头506、音频电路507、定位组件508和电源509中的至少一
种。
[0223] 外围设备接口503可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备
接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外
围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不
加以限定。
[0224] 射频电路504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转
换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包
括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片
组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它电子设备
进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无
线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路504
还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请实施例
对此不加以限定。
[0225] 显示屏505用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示
屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器
501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或
软键盘。在一些实施例中,显示屏505可以为一个,设置电子设备500的前面板;在另一些实
施例中,显示屏505可以为至少两个,分别设置在电子设备500的不同表面或呈折叠设计;在
再一些实施例中,显示屏505可以是柔性显示屏,设置在电子设备500的弯曲表面上或折叠
面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采
用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light‑Emitting Diode,有
机发光二极管)等材质制备。
[0226] 摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在电子设备的前面板,后置摄像头设置在电子设备的背
面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、
长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像
头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其
它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色
温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可
以用于不同色温下的光线补偿。
[0227] 音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。
出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备500的不同部位。
麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频
电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声
器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将
电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以
包括耳机插孔。
[0228] 定位组件508用于定位电子设备500的当前地理位置,以实现导航或LBS(Location Based  Service,基于位置的服务)。定位组件508可以是基于美国的GPS(Global 
Positioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的
伽利略系统的定位组件。
[0229] 电源509用于为电子设备500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以支持有线
充电或无线充电。该可充电电池还可以用于支持快充技术。
[0230] 在一些实施例中,电子设备500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器
514、光学传感器515以及接近传感器516。
[0231] 加速度传感器511可以检测以电子设备500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器
501可以根据加速度传感器511采集的重力加速度信号,控制触摸显示屏505以横向视图或
纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的
采集。
[0232] 陀螺仪传感器512可以检测电子设备500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对电子设备500的3D动作。处理器501根据陀螺仪
传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变
UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0233] 压力传感器513可以设置在电子设备500的侧边框和/或触摸显示屏505的下层。当压力传感器513设置在电子设备500的侧边框时,可以检测用户对电子设备500的握持信号,
由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感
器513设置在触摸显示屏505的下层时,由处理器501根据用户对触摸显示屏505的压力操
作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、
图标控件、菜单控件中的至少一种。
[0234] 指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别
出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包
括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置电子
设备500的正面、背面或侧面。当电子设备500上设置有物理按键或厂商Logo时,指纹传感器
514可以与物理按键或厂商Logo集成在一起。
[0235] 光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制触摸显示屏505的显示亮度。具体地,当环境光强度较高
时,调高触摸显示屏505的显示亮度;当环境光强度较低时,调低触摸显示屏505的显示亮
度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整
摄像头组件506的拍摄参数。
[0236] 接近传感器516,也称距离传感器,通常设置在电子设备500的前面板。接近传感器516用于采集用户与电子设备500的正面之间的距离。在一个实施例中,当接近传感器516检
测到用户与电子设备500的正面之间的距离逐渐变小时,由处理器501控制触摸显示屏505
从亮屏状态切换为息屏状态;当接近传感器516检测到用户与电子设备500的正面之间的距
离逐渐变大时,由处理器501控制触摸显示屏505从息屏状态切换为亮屏状态。
[0237] 本领域技术人员可以理解,图5中示出的结构并不构成对电子设备500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0238] 本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上实施例提供的预测模式的解码
方法或预测模式的编码方法。
[0239] 本申请实施例还提供了一种包含指令的计算机程序产品,当其在电子设备上运行时,使得电子设备执行上述实施例提供的预测模式的解码方法或预测模式的编码方法。
[0240] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读
存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0241] 以上所述仅为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。