掌桥专利:专业的专利平台
掌桥专利
首页

用于预测的运动候选列表构建

文献发布时间:2023-06-19 11:24:21


用于预测的运动候选列表构建

相关申请的交叉引用

根据巴黎公约的适用的专利法和/或规则,提出本申请以及时要求于2018年11月13日提交的国际专利申请号PCT/CN2018/115183的优先权和权益。通过引用将国际专利申请号PCT/CN2018/115183的全部公开内容并入作为本申请的公开内容的一部分。

技术领域

本文件涉及视频编解码技术。

背景技术

数字视频占据了互联网和其它数字通信网络上最大的带宽使用。随着能够接收和显示视频的连接的用户设备的数量增加,预计数字视频使用的带宽需求将继续增长。

发明内容

所公开的技术可以由视频解码器或编码器实施例在使用运动矢量进行视频解码或编码期间使用。

在一个示例方面中,公开了一种视频处理方法。所述方法包括使用列表推导规则将运动候选插入到视频块的视频区域的运动候选列表中,其中所述视频区域具有非正方形并且非矩形形状的几何形状;并且使用所述运动候选列表来进行所述视频块和所述视频块的比特流表示之间的转换;其中所述列表推导规则包括选自包含以下的组中的一个或多个:规则1:使用非缩放的平均从双向预测常规运动候选生成单向预测运动候选;规则2:通过扫描常规运动候选的列表至多M次来生成运动候选,其中M是小于4的整数;规则3:在所述插入期间进行修剪步骤,其中所述修剪步骤与为以非几何分割编解码的第二视频块的常规运动候选列表进行的另一修剪步骤一致;以及规则4:在所述插入期间进行部分修剪步骤,其中所述部分修剪步骤对与少于所述部分修剪步骤的所有可用运动候选的比较进行限制。

在另一个示例方面中,公开了另一种视频处理方法。所述方法包括在当前视频块和所述当前视频块的比特流表示之间的转换期间,生成merge列表,该列表包括从所述merge列表中的其它正常merge候选中推导出的至少一个虚拟merge候选;并且基于所述merge列表进行所述转换;其中所述至少一个虚拟merge候选包括从包含以下的组中选择的一个或多个:a)从两个正常单向预测merge候选推导出的虚拟双向预测merge候选;b)从一个正常双向预测merge候选推导出的虚拟单向预测merge候选。

在又一个示例方面中,公开了另一种视频处理方法。所述方法包括将当前视频块分为多个子块视频块;为所述多个子块视频块中的至少一个子块视频块生成merge候选列表;以及基于merge候选列表进行视频块和视频块的比特流表示之间的转换;其中merge候选列表包括具有多假设模式的至少一个merge候选。

在另一个示例方面中,上述方法可以由包括处理器的视频编码器装置或视频解码器装置实现。

在又一个示例方面中,这些方法可以以处理器可执行指令的形式体现并存储在计算机可读程序介质中。

这些和其他方面在本文件中进一步描述。

附图说明

图1是用于merge候选列表构建的推导过程的示例。

图2示出了空域merge候选的示例位置。

图3示出了考虑用于空域merge候选的冗余校验的候选对的示例。

图4A-4B示出了N×2N和2N×N分割的第二PU的示例位置。

图5是用于时域merge候选的运动矢量缩放的示例。

图6示出了时域merge候选C0和C1的示例候选位置。

图7示出了组合的双向预测merge候选的示例。

图8示出了运动矢量预测候选的示例性推导过程。

图9是用于空域运动矢量候选的运动矢量缩放的示例。

图10示出了对CU的可选时域运动矢量预测(ATMVP)运动预测的示例。

图11示出了具有四个子块(A-D)及其相邻块(a-d)的一个CU的示例。

图12是具有不同MV精度的编码的示例的流程图。

图13A-13B显示了135度分割类型(从左上角到右下角划分)和45度分割模式,其中示出了将CU划分为两个三角预测单元(两个划分模式)。

图14示出了相邻块的位置的示例。

图15示出了上方块和左块的示例。

图16A-16B示出了2个控制点运动矢量(CPMV)和3个CPMV的示例。

图17示出了两个CPMV的示例。

图18A-18B示出了4参数仿射模型和6参数仿射模型的示例。

图19示出了用于继承的仿射候选的AF_INTER的MVP。

图20示出了在AF_INTER中构建仿射运动预测器(predictor)的示例。

图21A-21B示出了AF_MERGE中的仿射编解码中的控制点运动矢量的示例。

图22示出了用于仿射merge模式的候选位置的示例。

图23示出了图片内块拷贝操作的示例。

图24示出了仿射merge模式的候选位置

图25示出了修改的merge列表构建过程。

图26是视频处理装置的示例的框图。

图27是视频处理方法的示例的流程图。

图28是另一视频处理方法的示例的流程图。

图29是又一视频处理方法的示例的流程图。

具体实施方式

本文提供了可以由视频比特流的解码器使用的各种技术,以改善解压缩或解码的数字视频的质量。此外,视频编码器还可以在编码过程期间实现这些技术,以便重建用于进一步编码的解码帧。

在本文中为便于理解而使用了章节小标题,但实施例和技术不限制于相应的章节。同样地,来自一个章节的实施例可以与来自其它章节的实施例组合。

1.概述

该专利文件涉及视频编解码技术。具体地说,它涉及视频编解码中的几何分割下的运动矢量编解码和信令。它可以应用于现有的视频编解码标准,例如HEVC,或者待最终确定的标准(多功能视频编解码)。它也可能适用于未来的视频编解码标准或视频编解码器。

2.介绍性评述

视频编解码标准主要通过熟知的ITU-T和ISO/IEC标准的开发进行演进。ITU-T制作了H.261和H.263标准,ISO/IEC制作了MPEG-1和MPEG-4视觉标准,这两个组织联合制作了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中利用了时域预测加变换编解码。为了探索超越HEVC的未来视频编解码技术,由VCEG和MPEG于2015年联合成立了联合视频探索小组(JVET)。自此以后,JVET采用了许多新方法,并将其放入名为联合探索模型(JEM)的参考软件中。在2018年4月,创立了VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家小组(JVET)以从事于多功能视频编解码(VVC)标准,目标为相比于HEVC缩减50%比特率。

2.1 HEVC/H.265中的帧间预测

每个帧间预测的PU具有用于一个或两个参考图片列表的运动参数。运动参数包括运动矢量和参考图片索引。使用两个参考图片列表中的一个也可以通过inter_pred_idc来发送信令。运动矢量可以被显式编解码为相对于预测器的增量。

当CU用跳过(skip)模式编解码时,一个PU与CU相关联,并且没有显著的残差系数,没有编解码的运动矢量增量或参考图片索引。Merge模式被规定为,其从相邻的(多个)PU获得当前的PU的运动参数,包括空域和时域候选。Merge模式可以应用于任何帧间预测的PU,不仅仅用于跳过模式。Merge模式的替代是运动参数的显式传输,其中运动矢量(更确切地,与运动矢量预测器比较的运动矢量差)、对于每个参考图片列表和参考图片列表使用的相应参考图片索引对每个PU被显式地用信令通知。这种模式在本公开中被称为高级运动矢量预测(AMVP)。

当信令通知指示将使用两个参考图片列表中的一个时,从样本的一个块中生成PU。这被称为‘单向预测’。单向预测可用于P-条带和B-条带两者。

当信令通知指示两个参考图片列表两者都将被使用时,从样本的两个块中生成PU。这被称为“双向预测”。双向预测仅可用于B-条。

下文提供了在HEVC中指定的帧间预测模式的详细信息。以下说明将从Merge模式开始。

2.1.1参考图片列表

在HEVC中,术语帧间预测用于表示从当前解码的图片以外的参考图片的数据元素(例如,采样值或运动矢量)得出的预测。像在H.264/AVC中一样,可以从多个参考图片来预测图片。用于帧间预测的参考图片被组织在一个或多个参考图片列表中。参考索引标识出应使用列表中的哪些参考图片来创建预测信号。

单个参考图片列表,列表0(List 0),被用于P条带,并且两个参考图片列表,列表0(List 0)和列表1(List 1),被用于B条带。应当注意,就捕获/显示顺序而言,列表0/1中包含的参考图片可以是来自过去和将来的图片。

2.1.2 Merge模式

2.1.2.1 Merge模式的候选的推导

当使用Merge模式预测PU时,从比特流中解析指向merge候选列表中的条目的索引,并将其用于检索运动信息。HEVC标准中规定了此列表的构建,并且可以根据以下步骤顺序总结为:

步骤1:初始候选推导

步骤1.1:空域候选推导

步骤1.2:对空域候选进行冗余校验

步骤1.3:时域候选推导

步骤2:额外候选插入

步骤2.1:创建双向预测候选

步骤2.2:插入零运动候选

在图1中示意性地描述了这些步骤。对于空域merge候选推导,在位于五个不同位置的候选中最多选择四个merge候选。对于时域merge候选推导,在两个候选中最多选择一个merge候选。由于在解码器处假定每个PU的候选数量恒定,因此当从步骤1获得的候选数量未达到条带报头中用信令通知的merge候选的最大数量(MaxNumMergeCand)时,会生成额外的候选。由于候选的数量是恒定的,因此最佳merge候选的索引使用截断的一元二值化(TU)进行编码。如果CU的大小等于8,则当前CU的所有PU共享单个merge候选列表,该列表与2N×2N预测单元的merge候选列表相同。

在下文中,详细描述了与前述步骤相关联的操作。

2.1.2.2空域候选推导

在空域merge候选的推导中,在位于图2中描绘的位置中的候选中选择最多四个merge候选。推导的顺序是A

2.1.2.3时域候选推导

在此步骤中,只有一个候选被添加到列表中。特别地,在该时域merge候选的推导中,基于共位(co-located)的PU来推导缩放后的运动矢量,该共位的PU属于相对于给定参考图片列表内的当前图片具有最小图片顺序计数(POC)差的图片。在条带报头中明确地信令通知用于共位的PU的导出的参考图片列表。如图5中用虚线示出获得用于时域merge候选的缩放后的运动矢量,该用于时域merge候选的缩放的运动矢量使用POC距离tb和td而从共位的PU的运动矢量被缩放,其中tb被定义为当前图片的参考图片与该当前图片之间的POC差异,并且td被定义为共位图片的参考图片与该共位图片之间的POC差异。时域merge候选的参考图片索引被设置为等于零。该缩放过程的实际实现在HEVC说明书中描述。对于B条带,获得两个运动矢量并将其组合以产生双向预测merge候选,该两个运动矢量中的一个用于参考图片列表0(list 0)而另一个用于参考图片列表1(list 1)。

如图6所示,在属于参考帧的共位的PU(Y)中,在候选C

2.1.2.4附加候选插入

除了空域和时域merge候选之外,还有两种额外类型的merge候选:组合的双向预测merge候选和零merge候选。组合的双向预测merge候选是利用空域和时域merge候选生成的。组合的双向预测merge候选仅用于B条带。组合的双向预测候选是通过将初始候选的第一参考图片列表运动参数与另一候选的第二参考图片列表运动参数进行组合而生成的。如果这两个元组(tuple)提供不同的运动假设,则它们将形成新的双向预测候选。例如,图7示出了原始列表中的具有mvL0和refIdxL0或mvL1和refIdxL1的两个候选(左边),用于创建添加到最终列表的组合的双向预测merge候选(右边)的情况。有许多关于组合的规则,可以考虑用这些规来生成这些额外的merge候选。

零运动候选被插入以填充merge候选列表中的剩余条目,并且因此达到MaxNumMergeCand容量。这些候选具有零空域位移和参考图片索引,该参考图片索引从零开始并且每当新的零运动候选被添加到列表时则增加。这些候选使用的参考帧的数量是分别用于单向和双向预测的1和2。最后,不对这些候选执行冗余校验。

2.1.3 AMVP

AMVP利用运动矢量与相邻PU的空域-时域相关性,该空域-时域相关性用于运动参数的显式传输。对于每个参考图片列表,通过下述操作来构建运动矢量候选列表:首先校验左方、上方在时域上相邻PU位置的可用性,移除冗余候选,并添加零矢量,以使候选列表为恒定长度。然后,编码器可以从候选列表中选择最佳预测器,并传输指示所选候选的对应索引。与Merge索引信令类似,使用一元截断来编码最佳运动矢量候选的索引。在这种情况下要编码的最大值是2(参见图8)。在以下的章节中,提供了关于运动矢量预测候选的推导过程的细节。

2.1.3.1 AMVP候选的推导

图8总结了用于运动矢量预测候选的推导过程。

在运动矢量预测中,考虑两种类型的运动矢量候选:空域运动矢量候选和时域运动矢量候选。如图2示出的,对于空域运动矢量候选推导,最终基于五个不同位置上的每个PU的运动矢量来推导出两个运动矢量候选。

对于时域运动矢量候选推导,从基于两个不同的共位位置推导出的两个候选中选择一个运动矢量候选。在空域-时域候选的第一列表生成之后,移除列表中的重复的运动矢量候选。如果潜在候选的数量大于2,则从列表中移除其在相关联的参考图片列表内的参考图片索引大于1的那些运动矢量候选。如果空域-时域运动矢量候选的数量小于2,则将附加的零运动矢量候选添加到列表中。

2.1.3.2空域运动矢量候选

在空域运动矢量候选的推导中,在五个潜在候选中考虑最多两个候选,该五个潜在候选来自位于如图2示出的位置的PU,这些位置与运动Merge的那些位置相同。当前PU的左侧的推导顺序被定义为A

无空域缩放

–(1)相同的参考图片列表,以及相同的参考图片索引(相同的POC)

–(2)不同的参考图片列表,但是相同的参考图片索引(相同的POC)

空域缩放

–(3)相同的参考图片列表,但是不同的参考图片索引(不同的POC)

–(4)不同的参考图片列表,以及不同的参考图片索引(不同的POC)

首先校验无空域缩放情况,接下来校验空域缩放。不管参考图片列表如何,当相邻PU的参考图片的POC与当前PU的参考图片的POC不同时,考虑空域缩放。如果左方候选的所有PU都不可用或者是被帧内编解码的,则允许对上方运动矢量进行缩放,以帮助左方和上方MV候选的并行推导。否则,对上侧运动矢量不允许空域缩放。

如图9所示,在空域缩放过程中,以与时域缩放类似的方式缩放相邻PU的运动矢量。主要的差异在于当前PU的参考图片列表和索引被给定作为输入;实际缩放过程与时域缩放过程相同。

2.1.3.3时域运动矢量候选

除了参考图片索引推导之外,用于时域merge候选推导的所有过程与用于空域运动矢量候选推导的过程相同(见图6)。参考图片索引被信令通知解码器。

2.2基于子CU的运动矢量预测

在具有四叉树加二叉树(QTBT)的JEM中,每个CU可以具有针对每个预测方向的至多一个运动参数集合。通过将大CU划分为子CU并且推导出大CU的所有子CU的运动信息,在编码器中考虑两个子CU级别运动矢量预测方法。可选时域运动矢量预测(ATMVP)方法允许每个CU从比共位参考图片中的当前CU小的多个块中获取运动信息的多个集合。在空域-时域运动矢量预测(STMVP)方法中,通过使用时域运动矢量预测器(predictor)和空域相邻运动矢量来递归地推导出子CU的运动矢量。

为了保留用于子CU运动预测的更准确的运动场,当前禁用参考帧的运动压缩。

2.2.1可选时域运动矢量预测

参考图10,在可选时域运动矢量预测(ATMVP)方法中,通过从小于当前CU的块中取回运动信息(包括运动矢量和参考索引)的多个集合来修改运动矢量时域运动矢量预测(TMVP)。子CU为N×N块的方块(N被默认设置为4)。

ATMVP以两个步骤预测CU内的子CU的运动矢量。第一步骤是使用所谓的时域矢量识别参考图片中的对应块。参考图片被称为运动源图片。第二步骤是将当前CU划分为子CU,并从对应于每个子CU的块中获得运动矢量以及每个子CU的参考索引。

在第一步骤中,参考图片和对应块由当前CU的空域相邻块的运动信息确定。为了避免相邻块的重复扫描过程,使用当前CU的merge候选列表中的第一merge候选。第一可用运动矢量及其相关联的参考索引被设置为时域矢量和运动源图片的索引。这样,在ATMVP中,与TMVP相比,可以更准确地识别对应块,其中对应块(有时称为共位块)总是相对于当前CU处于右下或中心位置。

在第二步骤中,通过向当前CU的坐标添加时域矢量,由运动源图片中的时域矢量识别子CU的对应块。对于每个子CU,其对应块的运动信息(例如,覆盖中心样本的最小运动网格)用于导出子CU的运动信息。在识别出对应的N×N块的运动信息之后,以与HEVC的TMVP相同的方式将其转换为当前子CU的运动矢量和参考索引,在该方式中应用运动缩放和其它处理。例如,解码器校验是否满足低延迟条件(即,当前图片的所有参考图片的POC小于当前图片的POC)并且可能使用运动矢量MV

2.2.2空域-时域运动矢量预测(STMVP)

在该方法中,按照光栅扫描顺序递归地导出子CU的运动矢量。图11示出了此概念。考虑包括四个4×4子CU,A、B、C和D,的8×8CU。当前帧中的相邻4×4块标记为a、b、c和d。

子CU A的运动推导通过识别其两个空域邻域(neighbour)开始。第一邻域是子CUA上方的N×N块(块c)。如果该块c不可用或者是帧内编解码,则检查(从左到右,从块c开始)子CU A上方的其它N×N块。第二邻域是子CU A左侧的块(块b)。如果块b不可用或者是帧内编解码,则检查子CU A左侧的其它块(从上到下,从块b开始)。对每个列表从相邻块获得的运动信息被缩放到给定列表的第一参考帧。接下来,通过遵循与HEVC中指定的TMVP推导相同的过程来导出子块A的时域运动矢量预测器(TMVP)。在位置D处的共位块的运动信息被相应地取回和缩放。最后,在提取和缩放运动信息之后,对每个参考列表分开平均所有可用运动矢量(多达3个)。平均运动矢量被指定为当前子CU的运动矢量。

2.2.3子CU运动预测模式信令通知

子CU模式被启用作为附加的merge候选,并且不需要附加的语法元素来信令通知模式。添加两个附加的merge候选到每个CU的merge候选列表以表示ATMVP模式和STMVP模式。如果序列参数集指示启用了ATMVP和STMVP,则使用多达七个merge候选。附加merge候选的编码逻辑与HM中的merge候选的编码逻辑相同,这意味着,对于P或B条带中的每个CU,两个附加merge候选需要再进行两次RD校验。

在JEM中,merge索引的所有二进制数(bin)由CABAC上下文编解码。而在HEVC中,只有第一个二进制数是上下文编解码的,并且其余二进制数是上下文旁路编解码的。

2.3 VVC中的帧间预测方法

有几种新的编解码工具用于改善帧间预测,例如用于信令通知MVD的自适应运动矢量差分辨率(AMVR)、仿射预测模式、三角预测模式(TPM)、ATMVP、广义双向预测(GBI)、双向光流(BIO)。

2.3.1自适应运动矢量差分辨率

在HEVC中,当条带报头中的use_integer_mv_flag等于0时,以四分之一亮度样本为单位,信令通知(PU的运动矢量与预测的运动矢量之间的)运动矢量差异(MVD)。在JEM中,引入了局部自适应运动矢量分辨率(LAMVR)。在JEM中,MVD可以以四分之一亮度样本、整数亮度样本或四个亮度样本为单位进行编解码。在编解码单元(CU)级别控制MVD分辨率,并且向具有至少一个非零MVD分量的每个CU,有条件地信令通知MVD分辨率标志。

对于具有至少一个非零MVD分量的CU,信令通知第一标记,以指示是否在CU中使用四分之一亮度样本MV精度。当第一标志(等于1)指示未使用四分之一亮度样本MV精度时,信令通知另一个标志,以指示是否使用整数亮度样本MV精度或四个亮度样本MV精度。

当CU的第一MVD分辨率标志为零,或未针对CU编解码(意味着CU中的所有MVD均为零)时,四分之一亮度样本MV分辨率被用于该CU。当CU使用整数亮度样本MV精度或四个亮度样本MV精度时,该CU的AMVP候选列表中的MVP被取整到对应的精度。

在编码器中,使用CU级别RD校验来确定将哪个MVD分辨率将用于CU。换言之,对于每个MVD分辨率,执行CU级RD校验三次。为了加快编码器速度,在JEM中应用以下编码方案。

·在具有正常四分之一亮度样本MVD分辨率的CU的RD校验期间,存储该当前CU的运动信息(整数亮度样本精度)。对于具有整数亮度样本和4个亮度样本MVD分辨率的相同CU,存储的运动信息(取整后)被用作RD校验期间进一步小范围运动矢量细化的起点,使得耗时的运动估计过程不重复三次。

·有条件地调用具有4个亮度样本MVD分辨率的CU的RD校验。对于CU,当整数亮度样本MVD分辨率的RD成本远大于四分之一亮度样本MVD分辨率的RD成本时,跳过该CU的4个亮度样本MVD分辨率的RD校验。

编码过程在图12中示出。首先,测试1/4像素MV并计算RD成本,并将RD成本表示为RDCost0,然后测试整数MV并将RD成本表示为RDCost1。如果RDCost1

2.3.2三角预测模式

三角预测模式(TPM)的概念是引入用于运动补偿预测的新三角分割。如图13A和13B所示,其沿对角线方向或对角线反向方向将CU划分成两个三角预测单元。CU中的每个三角预测单元使用其自己的单向预测运动矢量和从一个单一的单向预测候选列表导出的参考帧索引来帧间预测。在预测三角预测单元之后,对于对角线边缘进行自适应加权处理。然后,将变换和量化过程应用于整个CU。注意,该模式仅应用于Merge模式(包括跳过模式,其中跳过模式被视为特殊的Merge模式)。

2.3.2.1 TPM的单向预测候选列表

被称为TPM运动候选列表的单向预测候选列表包括五个单向预测运动矢量候选。如图14所示,它是从CU的七个相邻块导出的,该七个相邻块包括五个空域相邻块(1至5)和两个时域上共位的块(6至7)。收集七个相邻块的运动矢量,并按照单向预测运动矢量、双向预测运动矢量的L0运动矢量、双向预测运动矢量的L1运动矢量的顺序、以及双向预测运动矢量的L0和L1运动矢量的平均运动矢量的顺序,将其放入单向预测候选列表中。如果候选数量少于五个,则将零运动矢量添加到列表中。在此列表中为TPM添加的运动候选被称为TPM候选,从空域/时域块导出的运动信息被称为常规运动候选。

更具体地,涉及以下步骤:

1)从A

2)设置变量numCurrMergeCand=0

3)对于从A

应用

4)对于从A

应用

5)对于从A

应用

6)对于从A

–如果列表0参考图片的条带QP小于列表1参考图片的条带QP,则列表1的运动信息首先缩放到列表0参考图片,并且将两个MV的平均值(一个来自原始列表0,另一个是来自列表1的缩放的MV)添加到TPM merge列表中,这样的候选被称为来自列表0运动候选的平均的单向预测,并将numCurrMergeCand增加1。

–否则,首先将列表0的运动信息缩放到列表1参考图片,然后将两个MV的平均值(一个来自原始列表1,另一个是来自列表0的缩放的MV)添加到TPM merge列表中,这样的TPM候选被称为来自列表1运动候选的平均的单向预测,并将numCurrMergeCand增加1。

进行

7)如果numCurrMergeCand小于5,则添加零运动矢量候选。

当将候选插入列表时,如果必须将其与所有先前添加的候选进行比较以查看其是否与其中一个相同,则此过程称为完全修剪。

2.3.2.2自适应加权过程

在预测每个三角预测单元之后,将自适应加权过程应用于两个三角预测单元之间的对角边缘,以推导出整个CU的最终预测。如下定义两个加权因子组:

·第一加权因子组:{7/8、6/8、4/8、2/8、1/8}和{7/8、4/8、1/8}分别用于亮度和色度样本;

·第二加权因子组:{7/8、6/8、5/8、4/8、3/8、2/8、1/8}和{6/8、4/8、2/8}分别用于亮度和色度样本。

基于两个三角预测单元的运动矢量的比较来选择加权因子组。当两个三角预测单元的参考图片彼此不同或者它们的运动矢量差大于16个像素时,使用第二加权因子组。否则,使用第一加权因子组。在图15A-15B中示出了例子。

2.3.2.3三角预测模式(TPM)的信令通知

可以首先信令通知指示是否使用TPM的一比特标志。之后,进一步信令通知两个划分模式的指示(如图13A-13B所示),以及为两个分割中的每一个选择的merge索引。

2.3.2.3.1 TPM标志的信令通知

分别用W和H表示一个亮度块的宽度和高度。如果W*H<64,则禁用三角预测模式。

当以仿射模式对一个块进行编解码时,三角预测模式也被禁用。

当以Merge模式对一个块进行编解码时,可以信令通知一比特标志以指示是否对该块是否启用或禁用三角预测模式。

基于以下等式,用3个文本对标志进行编解码(见图15)

Ctx index=((left block L available&&L is coded with TPM?)1:0)+((Above block A available&&A is coded with TPM?)1:0);

2.3.2.3.2两个划分模式(如图13A-13B所示)以及两个分割中的每一个的选择的merge索引的指示的信令通知

注意,划分模式、两个分割的merge索引被联合编解码。限制了两个分割不能使用相同的参考索引。因此,存在2个(划分模式)*N个(merge候选的最大数量)*(N-1)个可能性,其中N被设置为5。一个指示被编解码,并且划分模式、两个merge索引和编解码指示之间的映射从下面定义的阵列推导:

const uint8_t g_TriangleCombination[TRIANGLE_MAX_NUM_CANDS][3]={{0,1,0},{1,0,1},{1,0,2},{0,0,1},{0,2,0},{1,0,3},{1,0,4},{1,1,0},{0,3,0},{0,4,0},{0,0,2},{0,1,2},{1,1,2},{0,0,4},{0,0,3},{0,1,3},{0,1,4},{1,1,4},{1,1,3},{1,2,1},{1,2,0},{0,2,1},{0,4,3},{1,3,0},{1,3,2},{1,3,4},{1,4,0},{1,3,1},{1,2,3},{1,4,1},{0,4,1},{0,2,3},{1,4,2},{0,3,2},{1,4,3},{0,3,1},{0,2,4},{1,2,4},{0,4,2},{0,3,4}};

划分模式(45度或135度)=g_TriangleCombination[signaled indication][0];

候选A的merge索引=g_TriangleCombination[signaled indication][1];

候选B的merge索引=g_TriangleCombination[signaled indication][2];

一旦推导出了两个运动候选A和B,就可以从A或B中设置两个分割(PU1和PU2)的运动信息。PU1是否使用merge候选A或B的运动信息取决于两个运动候选的预测方向。表1示出了具有两个分割的两个导出的运动候选A和B之间的关系。

表1:从导出的两个merge候选(A,B)推导分割的运动信息

2.3.2.3.3指示的熵编解码(用merge_triangle_idx表示)

merge_triangle_idx在[0,39]范围内,包括端点。K阶指数哥伦布(EG)码用于merge_triangle_idx的二值化,其中K设置为1。

要用较少的比特来编码较大的数字(以使用更多的位来编码较小的数字为代价),可以使用非负整数参数k进行概括。要以k阶指数哥伦布码来编码非负整数x:

1.使用上述的0阶指数哥伦布码对

2.将x mod 2

表2:Exp-Golomb-k编解码示例

2.3.3仿射运动补偿预测

在HEVC中,对于运动补偿预测(MCP)仅应用平移运动模型。而在现实世界中,存在许多种运动,例如放大/缩小、旋转、透视运动和其它不规则的运动。在JEM中,应用简化的仿射变换运动补偿预测。如图16A-16B所示,块的仿射运动场由两个控制点运动矢量描述。

块的运动矢量场(MVF)由以下等式描述:

对于6-参数仿射,

其中(v

为了进一步简化运动补偿预测,应用基于子块的仿射变换预测。子块尺寸M×N如等式(2)中推导出,其中MvPre是运动矢量分数精度(在JEM中为1/16),(v

在由等式2导出之后,如果需要,应该向下调整M和N,以使其分别为w和h的除数。

如图17所示,为了导出每个M×N子块的运动矢量,根据等式1计算每个子块的中心样本的运动矢量并将其取整至1/16分数精度。然后,应用在2.2.3节中提到的运动补偿插值滤波器,以利用导出的运动矢量生成每个子块的预测。

图21A-21B示出了每个子块的仿射运动矢量场MVF的示例。

在MCP之后,每个子块的高精度运动矢量以与正常运动矢量相同的精度被取整并保存。

2.3.3.1仿射预测的信令通知

与平移运动模型相似,由于仿射预测,也存在用于信令通知辅助信息的两种模式。它们是AFFINE_INTER和AFFINE_MERGE模式。

2.3.3.2 AF_INTER模式

对于宽度和高度均大于8的CU,可以应用AF_INTER模式。在比特流中信令通知CU级别的仿射标志,以指示是否使用AF_INTER模式。

在此模式下,对于每个参考图片列表(列表0或列表1),仿射AMVP候选列表按以下顺序由三种类型的仿射运动预测器构建,其中每个候选包括当前块的估计的CPMV。在编码器侧(诸如在图20中的mv

1)继承的仿射运动预测器

检查顺序类似于HEVC AMVP列表构建中的空域MVP的检查顺序。首先,从进行了仿射编解码,并且具有与当前块相同的参考图片的{A1,A0}中的第一个块推导左继承的仿射运动预测器。其次,从以仿射编解码并且具有与当前块中相同的参考图片的{B1,B0,B2}中的第一块导出上述继承的仿射运动预测器。在图19中示出了五个块A1,A0,B1,B0,B2。

一旦发现相邻块以仿射模式编解码,则覆盖该相邻块的编解码单元的CPMV被用于导出当前块的CPMV的预测器。例如,如果A1以非仿射模式编解码,并且A0以4-参数仿射模式编解码,则左继承的仿射MV预测器将从A0推导。在这种情况下,覆盖A0的CU的CPMV,如图21B中的左上CPMV的

2)构建的仿射运动预测器

构建的仿射运动预测器包括控制点运动矢量(CPMV),该控制点运动矢量是从具有相同参考图片的相邻帧间编解码块推导出的,如图20所示。如果当前仿射运动模型为4-参数仿射,则CPMV的数量为2,否则,如果当前仿射运动模型为6-参数仿射,则CPMV的数量为3。左上CPMV

–如果当前的仿射运动模型是4-参数仿射,则只有找到

–如果当前的仿射运动模型是6-参数仿射,则只有找到所有

当将构建的仿射运动预测器插入候选列表时,不应用修剪过程。

3)正常AMVP运动预测器

以下情况适用直到仿射运动预测器的数量达到最大。

1)通过将所有CPMV设置为等于

2)通过将所有CPMV设置为等于

3)通过将所有CPMV设置为等于

4)通过将所有CPMV设置为等于HEVC TMVP(如果可用)来推导仿射运动预测器。

5)通过将所有CPMV设置为零MV来推导仿射运动预测器。

注意,在构建仿射运动预测器中已经导出了

在AF_INTER模式中,当使用4/6-参数仿射模式时,需要2/3个控制点,因此,需要为这些控制点编解码2/3MVD,如图18A-18B所示。提出如下推导MV,即,从mvd

其中,

2.3.3.3 AF_MERGE模式

当以AF_MERGE模式应用CU时,它从有效的相邻重建块中得到以仿射模式编解码的第一块。并且,如图21A所示,候选块的选择顺序是从左、上、右上、左下到左上(依次由A,B,C,D,E表示)。例如,如果如图21B中的A0所示以仿射模式对相邻的左下块进行编解码,则取回包含块A的相邻CU/PU的左上角和右上角的左下角的控制点(CP)运动矢量mv

在导出当前CU的CPMV mv

仿射merge候选列表通过以下步骤构建:

1)插入继承的仿射候选

继承的仿射候选是指候选是从其有效领域仿射编解码的块的仿射运动模型导出的。从相邻块的仿射运动模型中推导出最多两个继承的仿射候选,并将其插入到候选列表中。对于左预测器,扫描顺序为{A0,A1};对于上预测器,扫描顺序为{B0,B1,B2}。

2)插入构建的仿射候选

如果仿射merge候选列表中的候选数量小于MaxNumAffineCand(设置为5),则将构建的仿射候选插入到候选列表中。构建的仿射候选是指通过组合每个控制点的相邻运动信息来构建候选。

首先,从图22所示的指定的空域领域和时域领域导出控制点的运动信息。CPk(k=1、2、3、4)表示第k个控制点。A0,A1,A2,B0,B1,B2和B3是用于预测CPk的空域位置(k=1、2、3);T是用于预测CP4的时域位置。

CP1,CP2,CP3和CP4的坐标分别是(0,0),(W,0),(H,0)和(W,H),其中W和H是当前块的宽度和高度。

图22示出了仿射Merge模式的候选位置。

根据以下优先级顺序获得每个控制点的运动信息:

对于CP1,检查优先级为B2->B3->A2。如果B2可用,则使用B2。否则,如果B2不可用,则使用B3。如果B2和B3都不可用,则使用A2。如果三个候选都不可用,则无法获得CP1的运动信息。

对于CP2,检查优先级为B1->B0。

对于CP3,检查优先级为A1->A0。

对于CP4,使用T。

其次,使用控制点的组合来构建仿射merge候选。

需要三个控制点的运动信息来构建6-参数仿射候选。可以从以下四个组合中的一个选择三个控制点:({CP1,CP2,CP4},{CP1,CP2,CP3},{CP2,CP3,CP4},{CP1,CP3,CP4})。{CP1,CP2,CP3},{CP2,CP3,CP4},{CP1,CP3,CP4}的组合将转换为由左上、右上和左下控制点表示的6-参数运动模型。

需要两个控制点的运动信息来构建4-参数仿射候选。可以从以下两个组合中的一个选择两个控制点:({CP1,CP2},{CP1,CP3})。这两个组合将转换为由左上和右上控制点表示的4-参数运动模型。

按照以下顺序将构建的仿射候选的组合插入到候选列表中:

{CP1,CP2,CP3},{CP1,CP2,CP4},{CP1,CP3,CP4},{CP2,CP3,CP4},{CP1,CP2},{CP1,CP3}

仅当CP具有相同的参考索引时,将CP的运动信息的可用组合添加到仿射merge列表中。

用零运动矢量填充

如果仿射merge候选列表中的候选数量小于5,则将具有零参考索引的零运动矢量插入到候选列表中,直到列表满为止。

2.3.4当前图片参考

在HEVC屏幕内容编解码扩展(SCC)中采用了块内拷贝(IBC或图片块内补偿),也称为当前图片参考(CPR)。该工具对于屏幕内容视频的编解码非常有效,因为在相同的图片中重复的样式经常出现在文本和图形丰富的内容中。将具有相同或相似样式的先前重构的块用作预测器可以有效地减少预测误差并因此提高编解码效率。块内补偿的示例在图23中示出,其示出了图片内块拷贝的示例。

类似于HEVC SCC中的CRP的设计,在VVC中,在序列和图片级别信令通知IBC模式的使用。在序列参数集(SPS)处启用IBC模式时,可以在图片级别启用它。当在图片级别处启用IBC模式时,当前重建的图片将被视为参考图片。因此,在现有的VVC帧间模式之上无需在块级别上进行语法更改以信令通知IBC模式的信号的使用。

主要特征:

–将其视为正常帧间模式。因此,merge模式和跳过模式也可用于IBC模式。merge候选列表构建是统一的,包含来自相邻位置的merge候选,这些候选以IBC模式或HEVC帧间模式编解码。取决于所选的merge索引,处于merge或跳过模式的当前块可以合并(merge)到IBC模式编解码的邻域中或合并到具有以不同图片作为参考图片的正常帧间模式编解码的邻域中。

–IBC模式的块向量预测和编解码方案重用了HEVC帧间模式下用于运动矢量预测和编解码的方案(AMVP和MVD编解码)。

–IBC模式的运动矢量(也称为块向量)以整数像素精度进行编解码,但由于在插值和去方块(deblocking)阶段需要四分之一像素精度,因此在解码后以1/16像素精度存储在存储器中。当用于IBC模式的运动矢量预测时,存储的向量预测器将右移4。

–搜索范围:限制在当前CTU之内。

–当启用仿射模式/三角模式/GBI/加权预测时,不允许进行CPR。

2.3.5 VVC中的merge列表设计

VVC中支持三种不同的merge列表构建过程:

1)子块merge候选列表:它包括ATMVP和仿射merge候选。仿射模式和ATMVP模式两者共享一个merge列表构建过程。在此,可以按顺序添加ATMVP和仿射merge候选。子块merge列表的大小在条带头中信令通知,最大值为5。

2)单向预测TPM merge列表:对于三角预测模式,即使两个分割可以选择自己的merge候选索引,也共享两个分割的一个merge列表构建过程。当构建该merge列表时,检查该块的空域相邻块和两个时域块。从空域领域和时域块导出的运动信息在我们的IDF中称为常规运动候选。这些常规运动候选被进一步用于导出多个TPM候选。请注意,变换是在整个块级别进行的,即使两个分割可以使用不同的运动矢量来生成自己的预测块。单向预测TPM merge列表大小固定为5。

3)常规merge列表:对于剩余的编解码块,共享一个merge列表的构建过程。在此,可以按顺序插入空域/时域/HMVP、成对组合的双向预测merge候选和零运动候选。在条带头中信令通知常规merge列表的大小,并且最大值为6。

2.3.5.1子块merge候选列表

建议将所有子块相关运动候选放入除了非子块merge候选的常规merge列表之外,还放入单独的merge列表中。

将与子块相关的运动候选放入称为“子块merge候选列表”的单独的merge列表中。

在一个示例中,子块merge候选列表包括仿射merge候选,和ATMVP候选,和/或基于子块的STMVP候选。

在一些实施例中,将正常merge列表中的ATMVP merge候选移至仿射merge列表的第一位置。这样,新列表中的所有merge候选(即,基于子块的merge候选列表)都是基于子块编解码工具的。

2.3.5.2常规merge列表

与merge列表设计不同,在VVC中,采用了基于历史的运动矢量预测(HMVP)方法。

在HMVP中,存储了先前编解码的运动信息。将先前编解码的块的运动信息定义为HMVP候选。多个HMVP候选存储在一个名为HMVP表的表中,并且在编码/解码处理期间在运行中(on-the-fly)维持该表。当开始对新的条带进行编码/解码时,HMVP表被清空。每当存在帧间编解码块时,相关联的运动信息就会作为新的HMVP候选添加到表的最后一个条目。整个编解码流程如图23所示。

HMVP候选可以在AMVP和merge候选列表两者的构建过程中使用。图24示出了修改的merge候选列表构建过程(在表中高亮显示)。当在TMVP候选插入之后,merge候选列表未满时,可以利用存储在HMVP表中的HMVP候选来填充merge候选列表。考虑到一个块通常就运动信息而言与最近的相邻块具有更高的相关性,因此以索引的降序插入表中的HMVP候选。最先将表中的最后一个条目添加到列表中,而最后添加第一个条目。类似地,冗余移除被应用于HMVP候选。一旦可用merge候选的总数达到允许被信令通知的merge候选的最大数量,则merge候选列表构建过程终止。

图24示出了仿射Merge模式的候选位置。

图25示出了修改的merge列表构建过程。

3.实施例克服的问题的示例

1)在当前的VVC设计中,使用了具有不同的规程的三个不同的merge列表,这增加了硬件实现成本。

2)对于所有三个merge列表,它们需要访问空域块和时域块两者,即,从空域块和时域块加载运动信息。然而,从时域块加载运动信息通常需要更长的时间,这增加了关键路径。

3)单向预测TPM merge列表要求多次遍历可用的常规运动候选,以识别原始的单向预测候选、截断的列表0预测候选、截断的列表1预测候选、列表0运动候选的平均单向预测,以及列表1运动候选的平均单向预测。

4)对于仿射merge候选的推导过程,仿射模型(4-参数或6-参数)类型直接从相邻块继承,这需要额外的行缓冲大小来存储仿射模型类型。

4.示例实施例

所提出的方法可以应用于任何非正方形/非矩形分割,例如几何分割。在下面的描述中,以“三角划分模式”表示一个作为非正方形/非矩形划分模式(TPM)的示例,并且将插入到TPM候选列表中的运动矢量预测候选命名为“TPM候选”。这些分割也被称为几何分割,并且矩形或方形的其它分割因此可以被称为“非几何”分割。与任何先前编解码的块相关联的运动信息被称为“常规运动候选”。应当注意,其它种类的分割也可以适用。

常规运动候选被定义为运动候选,其运动信息从先前编解码的块(例如,相邻或不相邻的空域/时域块)推导。HMVP候选也可以视为常规运动候选。

以下技术的详细列表应被视为示例来解释一般概念。这些技术不应狭义地解释。此外,这些技术可以以任何方式组合。

单向预测TPM merge列表

1.本申请提出从常规双向预测运动候选的列表0/1运动候选推导过程中移除平均单向预测中的缩放过程。

a.在一个示例中,两个运动矢量的平均直接用作TPM候选的运动矢量,而无需任何缩放操作。

b.或者,此外移除了参考图片的条带QP的状态检查。

2.提出移除常规运动候选的多次扫描(在当前设计中为4次)。或者,仅对候选进行M次扫描(M小于4),并用于推导TPM候选列表。

a.在一个示例中,M设置为1或2。

b.一个示例中,从空域和/或时域块推导出的常规运动候选以给定顺序插入到TPM候选列表中。

i.在一个示例中,从空域块(即,空域merge候选)推导出的常规运动候选的检查顺序与用于常规merge列表构建过程的检查顺序不同。例如,B1,A1,A0,B0,B2。或者,利用用于插入空域merge候选的相同顺序,例如,A1,B1,B0,A0,B2。

ii.在一个示例中,从空域块(即,空域merge候选)和时域块推导出的常规运动候选的检查顺序与用于常规merge列表构建过程的检查顺序不同。例如,B1,A1,C1,C0,A0,B0,B2。

iii.在一个示例中,从空域和/或时域块和/或HMVP候选推导出的常规运动候选的检查顺序与应用常规merge列表构建过程相同。

c.在一个示例中,当找到常规运动候选时,如果它是单向预测,则将其直接添加到TPM候选列表中。

d.在一个示例中,当找到常规运动候选时,如果它是双向预测,则不将其添加到TPM候选列表中。

i.或者,其用于推导出一个单向预测TPM候选,并且所推导出的TPM候选可以被添加到TPM候选列表。在一个示例中,可以推导并添加截断的列表0或列表1-预测的候选。或者,此外,是否从列表0或列表1推导出具有预测的TPM候选可以取决于先前添加的TPM候选。

ii.或者,其用于导出多个单向预测TPM候选,并且所有这些都可以添加到TPM候选列表。在一个示例中,可以推导并添加截断的列表0-预测的候选和截断的列表1-预测的候选。或者,此外,添加从一个双向预测常规运动候选中推导出的多个TPM候选的顺序可以取决于先前添加的TPM候选,或者可以是固定的。

iii.或者,可以通过以下方式将其用于推导出一个或多个TPM候选:使用两个参考图片列表的两个运动矢量的平均或加权平均,并使用列表0或列表1作为推导出的TPM候选的预测方向。

e.当M设置为2时,第一次扫描是识别所有单向预测常规候选,并使用它们来推导TPM候选(例如,直接拷贝)。对于第二次扫描,所有双向预测常规候选都用于推导TPM候选。

i.或者,第一扫描是识别所有双向预测常规候选,使用它们来推导TPM候选(例如,截断的列表0或列表1-预测的候选)。对于第二次扫描,利用所有的单向预测常规候选来导出TPM候选(例如,直接拷贝)。

f.除了从与空域/时域块相关联的常规运动候选推导出的那些TPM候选之外,还可以将其它种类的TPM候选添加到TPM候选列表。

i.可以添加从可用的TPM候选推导出的新的候选(例如,通过平均两个TPM候选的两个MV、通过向TPM候选的MV添加一些偏移、通过将TPM候选的MV缩放到不同的参考图片)。

3.本申请提出将TPM merge列表推导过程中的修剪过程和常规merge列表中使用的修剪过程保持一致。

a.在一个示例中,当对两个列表应用修剪过程时,将两个候选的MV和参考图片索引进行比较(即,与常规merge列表中使用的相同)。

b.在一个示例中,当对两个列表应用修剪过程时,将两个候选的MV和参考图片的POC值进行比较(即,与TPM merge列表中使用的相同)。

4.在将新的TPM候选插入TPM候选列表时,将其与可用TPM候选的一部分进行比较,而不是使用完全修剪。

a.应将哪些可用TPM候选与要添加的新的TPM候选进行比较的选择,可以取决于导出TPM候选的位置,即,常规运动候选(用于生成该TPM候选)与其相关联的位置。

b.应将哪些可用TPM候选与要添加的新的TPM候选进行比较的选择,可以取决于TPM候选的索引。

c.应将哪些可用TPM候选与要添加的新的TPM候选进行比较的选择,可以取决于TPM候选类型。

i.例如,如果两个TPM候选都是截断的列表0/1预测的候选,则不将它们进行比较。

ii.例如,如果两个TPM候选都是原始的单向预测的候选,则将它们进行比较。

d.或者,可以首先调用常规merge候选之间的修剪。而当添加从常规merge候选推导出的TPM候选时,不会应用额外的修剪。

5.多个假设也可以应用于子块编解码块(例如,仿射或ATMVP)。

a.即使指示使用了子块merge候选列表,也可能会信令通知一个比特的标志。

b.在一个示例中,对于子块merge候选列表,可以将两个单向预测merge候选联合用于对块进行编解码。

c.在一个示例中,可以将两个单向预测merge候选定义为:一个是ATMVP,另一个是仿射merge候选。

d.或者,可以将两个单向预测merge候选定义为两个仿射merge候选。

e.在一个示例中,启用此模式后,将选择头两个单向预测merge候选。因此,不需要信令通知选择的merge索引。

f.或者,可以进一步信令通知选择的merge索引。

g.可以为某些块尺寸启用这种模式,而为其它种类的尺寸禁用这种模式。

h.是否信令通知模式标志取决于当前块的宽度(w)和高度(h)。

i.如果w>Tw且h>Th,例如Tw=Th=32,则不信令通知标志;

ii.如果w>Tw或h>Th,例如Tw=Th=32,则不信令通知标志;

iii.如果w*h>Ts,例如Ts=1024,则不信令通知标志;

iv.如果w

v.如果w

vi.如果w*h

6.本申请提出可以从两个正常单向预测仿射merge候选中推导出虚拟双向预测仿射merge候选,并将其添加到仿射merge候选列表/子块merge候选列表。

a.在一个示例中,虚拟双向预测仿射merge候选可以定义为直接拷贝两个正常单向预测仿射merge候选的运动信息。

b.两个正常单向预测仿射merge候选可以定义为两个继承的仿射候选、或者两个构建的仿射候选、或者一个继承的和一个构建的仿射候选。

c.或者,两个正常单向预测仿射merge候选可以是在添加虚拟双向预测仿射merge候选之前,列表中任何可用的仿射merge候选。

d.或者,此外,两个正常单向预测仿射merge候选可以与不同的参考图片列表相关联。

e.可以定义多个merge候选的可能组合的给定顺序。对于每个组合,将检查具有给定merge索引的两个merge候选是否两者均为单向预测。如果是,则可以利用两个单向预测候选来生成虚拟双向预测候选。

i.在一个示例中,可能的组合为{(0,1),(0,2),(1,2)(0,3),(1,3),(2,3)}。每一对表示待检查的两个merge候选的merge索引。

ii.在一个示例中,可能的组合为{(0,1),(1,0),(0,2)(2,0)(1,2)(2,1)(0,3)(3,0)(1,3)(3,1)(2,3),(3,2)};

f.可以推导出多达N个虚拟双向预测仿射merge候选。N可以是预定义的(例如,N是5或6)或者可以逐块而改变。

i.在一个示例中,N可以取决于继承的仿射merge候选的可用性。

g.在将新的虚拟双向预测仿射merge候选插入候选列表时,可以应用修剪。

i.在一个示例中,将虚拟双向预测仿射merge候选与所有或选择性的正常仿射merge候选进行比较,而不与另一虚拟双向预测的仿射merge候选进行比较。

ii.或者,将虚拟双向预测仿射merge候选与另一个虚拟双向预测仿射merge候选进行比较,而不与正常仿射merge候选进行比较。

7.提出可以从一个正常双向预测仿射merge候选推导出虚拟单向预测仿射merge候选,并将其添加到仿射merge候选列表/子块merge候选列表中。

a.在一个示例中,虚拟单向预测仿射merge候选可以定义为直接拷贝正常双向预测仿射merge候选的列表0或列表1的运动信息。

b.正常双向预测仿射merge候选可以定义为继承的仿射候选或构建的仿射候选。

c.或者,正常双向预测仿射merge候选可以是在添加虚拟单向预测仿射merge候选之前列表中的任何可用仿射merge候选。

d.在一个示例中,正常双向预测仿射merge候选的参考图片列表0的运动信息被继承为虚拟单向预测仿射merge候选。

e.在一个示例中,正常双向预测仿射merge候选的参考图片列表1的运动信息被继承为虚拟单向预测仿射merge候选。

f.在一个示例中,正常双向预测仿射merge候选的两个参考图片列表的两个MV的平均值可以被平均或加权平均,并且用作虚拟单向预测仿射merge候选。

i.或者,此外,虚拟单向预测仿射merge候选的预测方向被设置为列表0或列表1。

ii.或者,首先将正常双向预测仿射merge候选的参考图片列表X的运动矢量缩放到与列表Y(Y=1-X)相关联的参考图片。对缩放后的MV和参考图片列表Y的MV进行平均或加权平均,并将其用作虚拟单向预测仿射merge候选。将虚拟单向预测仿射merge候选的预测方向设置为列表Y。

g.可以从一个正常双向预测仿射merge候选中推导出多于一个的虚拟单向预测仿射merge候选。

i.在一个示例中,可以将使用上述方法生成的虚拟单向预测仿射merge候选添加到列表中。

h.可以推导出多达N个虚拟单向预测仿射merge候选。N可以是预定义的(例如,N是5或6)或者可以逐块而改变。

i.在一个示例中,N可以取决于继承的仿射merge候选的可用性。

i.当将新的虚拟单向预测仿射merge候选插入到候选列表时,可以应用修剪。

i.在一个示例中,将虚拟单向预测仿射merge候选与所有或选择性的正常仿射merge候选进行比较,而不与另一虚拟单向预测仿射merge候选进行比较。

ii.或者,将虚拟的单向预测仿射merge候选与另一虚拟的单向预测仿射merge候选进行比较,而不与正常仿射merge候选进行比较。

常规merge候选列表

8.提出可以从两个正常单向预测merge候选中推导出虚拟双向预测merge候选,并将其添加到常规merge候选列表。

a.在一个示例中,推导方法可以类似于第6.x项中描述的方法(例如,将“仿射merge候选”替换为“merge候选”)。

b.正常单向预测merge候选可以定义为从空域和/或时域块推导出的那些merge候选。

c.正常单向预测merge候选可以定义为在添加这些虚拟双向预测merge候选之前添加到merge候选列表的那些merge候选。

d.虚拟双向预测merge候选可以在任何位置添加到常规merge候选列表。在一个示例中,可以在组合的双向预测merge候选、或成对的双向预测merge候选、或零运动矢量merge候选之前添加虚拟双向预测merge候选。或者,此外,可以在HMVP候选之前添加虚拟双向预测merge候选。

9.本申请提出可以从一个正常双向预测merge候选中推导出虚拟的单向预测merge候选,并将其添加到常规merge候选列表。

a.在一个示例中,推导方法可能类似于第7.x项中描述的方法(例如,将“仿射merge候选”替换为“merge候选”)。

b.正常单向预测merge候选可以定义为从空域和/或时域块推导出的那些merge候选。

c.正常单向预测merge候选可以定义为在添加这些虚拟双向预测merge候选之前添加到merge候选列表的那些merge候选。

d.虚拟双向预测merge候选可以添加到常规merge候选列表的任何位置。在一个示例中,可以在组合的双向预测merge候选、或成对的双向预测merge候选、或零运动矢量merge候选之前添加虚拟单向预测merge候选。

e.或者,此外,可以在HMVP候选之前添加虚拟单向预测merge候选。

5.实施例

5.1第一实施例:TPM的单向预测候选列表

单向预测候选列表,称为TPM运动候选列表,包括五个单向预测运动矢量候选。如图14所示,它是从包括五个空域相邻块(1至5)和两个时域上处于相同位置的块(6至7)的七个相邻块中推导出的。收集七个相邻块的运动矢量,并根据这七个块的检查顺序将其放入单向预测候选列表中。如果候选数量少于五,则将零运动矢量添加到列表中。在此列表中为TPM添加的运动候选称为TPM候选,从空域/时域块导出的运动信息称为常规运动候选(包括HMVP候选)。

更具体地说,包括以下步骤:

1)从A

2)设置变量numCurrMergeCand=0

3)对于每个常规运动候选且numCurrMergeCand小于5,进行以下步骤以将TPM候选添加到列表中:

–如果常规运动候选是单向预测(或者来自列表0,或者来自列表1),则将其作为TPM候选直接添加到merge列表中,并将numCurrMergeCand增加1。

–如果常规运动候选是双向预测,前进到下一个常规运动候选。或者,可以利用以下方法中的一个或多个。

i.将来自列表0的运动信息添加到TPM merge列表中(即修改为来自列表0的单向预测),作为新的TPM候选,并且将numCurrMergeCand增加1。

ii.将来自列表1中的运动信息添加到TPM merge列表中(即,修改为来自列表1中的单向预测),并将numCurrMergeCand增加1。

iii.首先将列表1的运动信息缩放到列表0参考图片,并将两个MV(一个来自原始列表0,另一个是来自列表1的缩放的MV)的平均添加到TPM merge列表中,并且将numCurrMergeCand增加1。

iv.首先将列表0的运动信息缩放到列表1参考图片,并将两个MV(一个来自原始列表1,另一个是来自列表0的缩放的MV)的平均添加到TPM merge列表中,并且将numCurrMergeCand增加1。

4)如果numCurrMergeCand小于5,则添加零运动矢量候选。

应当注意的是,可以使用不同的空域/时域块和/或不同的检查顺序来推导常规运动候选。

还应当注意的是,当添加新的TPM候选时,可以调用对先前添加的TPM候选的部分/完全修剪。

图26是视频处理装置2600的框图。装置2600可用于实现本文描述的一个或多个方法。装置2600可以实施在智能手机、平板计算机、计算机、物联网(IoT)接收器等中。装置2600可以包括一个或多个处理器2602、一个或多个存储器2604和视频处理硬件2606。(一个或多个)处理器2602可以被配置为实现本文件中描述的一个或多个方法。存储器(多个存储器)2604可以用于存储用于实现本文描述的方法和技术的数据和代码。视频处理硬件2606可以用于在硬件电路中实现本文件中描述的一些技术。

图27是视频处理的示例方法2700的流程图。所述方法包括使用列表推导规则将运动候选插入到视频块的视频区域的运动候选列表中(2702),其中所述视频区域具有非正方形并且非矩形形状的几何形状,并且使用运动候选列表来进行所述视频块和所述视频块的比特流表示之间的转换(2704)。

列表推导规则可以包括以下子规则的一个或多个:规则1,使用非缩放的平均从双向预测常规运动候选生成单向预测运动候选,规则2,通过扫描常规运动候选的列表至多M次来生成运动候选,其中M是小于4的整数;规则3,在所述插入期间进行修剪步骤,其中所述修剪步骤与为使用非几何分割编解码的第二视频块进行的另一修剪步骤一致;规则4,在所述插入期间进行部分修剪步骤,其中所述部分修剪步骤对与少于所述部分修剪步骤的所有可用运动候选的比较进行限制。

图28是视频处理的另一示例方法2800的流程图。所述方法包括在当前视频块和所述当前视频块的比特流表示之间的转换期间,生成包括从所述merge列表中的其它正常merge候选中推导出的至少一个虚拟merge候选的merge列表(2802);以及基于该merge列表进行所述转换(2804)。

至少一个虚拟merge候选包括从包含以下的组中选择的一个或多个:a)从两个正常单向预测merge候选推导出的虚拟双向预测merge候选;b)从一个正常双向预测merge候选推导出的虚拟单向预测merge候选。

图29是视频处理的又一示例方法2900的流程图。所述方法包括将当前视频块分为多个子块视频块(2902);为所述多个子块视频块中的至少一个子块视频块生成merge候选列表(2904);以及基于该merge候选列表进行视频块和视频块的比特流表示之间的转换(2906)。

在本文件中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,可以在从视频的像素表示到相应的比特流表示的转换期间应用视频压缩算法,或反之亦然。如语法所定义的,当前视频块的比特流表示可以例如对应于在比特流内共位或散布在不同地方的比特。例如,可以根据变换和编解码的误差残差值并且还使用头中的比特和比特流中的其它字段来对宏块进行编码。

应当理解,已经公开了几种技术,其通过允许使用基于本文件中公开的各种规则而构建的虚拟运动候选来,而有益于包含在诸如智能手机、膝上型计算机、桌上型计算机和类似设备的视频处理设备内的视频编码器和解码器实施例。

可以使用以下基于条款的格式来描述一些实施例。

条款1.一种视频处理方法,包括:使用列表推导规则将运动候选插入到视频块的视频区域的运动候选列表中,其中所述视频区域具有非正方形并且非矩形形状的几何形状;并且使用所述运动候选列表来进行所述视频块和所述视频块的比特流表示之间的转换;其中所述列表推导规则包括选自包含以下的组中的一个或多个:规则1:使用非缩放的平均从双向预测常规运动候选生成单向预测运动候选;规则2:通过扫描常规运动候选的列表至多M次来生成运动候选,其中M是小于4的整数;规则3:在所述插入期间进行修剪步骤,其中所述修剪步骤与为以非几何分割编解码的第二视频块的常规运动候选列表进行的另一修剪步骤一致;规则4:在所述插入期间进行部分修剪步骤,其中所述部分修剪步骤对与少于所述部分修剪步骤的所有可用运动候选的比较进行限制。

条款2.如条款1所述的方法,其中所述转换包括从所述比特流表示生成所述视频块的像素值。

条款3.如条款1所述的方法,其中所述转换包括从所述视频块的像素值生成所述比特流表示。

条款4.如条款1所述的方法,其中生成相应的单向预测运动候选而不将列表0的参考图片的条带量化参数与列表1的条带量化参数相比较。

条款5.如条款1-3中任一项所述的方法,其中在规则2中,M=1或M=2。

条款6.如条款1-3或5中任一项所述的方法,其中所述列表推导规则还规定运动候选在所述运动候选列表中的顺序,其中所述顺序包括:a)用于检查所述视频区域的所述运动候选列表的空域常规运动候选与以非几何分割编解码的第二视频块的merge列表的空域常规运动候选不同的第一顺序,或者b)用于检查视频区域的运动候选列表的空域常规运动候选和时域常规运动候选与以非几何分割编解码的第二视频块的merge列表的空域常规运动候选和时域常规运动候选不同的第二顺序,或者c)用于检查所述视频区域的时域、空域和基于历史的运动矢量预测(HMVP)常规运动候选与以非几何分割编解码的第二视频块的merge列表的时域、空域和基于历史的运动矢量预测(HMVP)常规运动候选相同的第三顺序。

条款7.如条款1-3或5-6中任一项所述的方法,其中所述列表推导规则还规定将单向预测常规运动候选直接插入所述运动候选列表。

条款8.如条款1-3或5-7中任一项所述的方法,其中所述列表推导规则还规定不将双向预测常规运动候选插入所述运动候选列表。

条款9.如条款1-3或5-8中任一项所述的方法,其中所述列表推导规则还包括:从双向预测常规运动候选推导一个单向预测候选,并且将所述推导出的一个单向预测候选插入所述运动候选列表。

条款10.如条款1-3或5-8中任一项所述的方法,其中所述列表推导规则还包括:从双向预测常规运动候选推导多个单向预测候选,并且将所述推导出的多个单向预测候选插入所述运动候选列表。

条款11.如条款9或10中任一项所述的方法,其中所述单向预测候选中的一个或多个基于两个参考图片列表的两个运动矢量的平均或加权平均从所述双向预测常规运动候选推导,并且所述两个参考图片列表的任一个被用作用于推导所述单向预测候选中的一个或多个的预测方向。

条款12.如条款5所述的方法,其中M=2,并且其中第一扫描用于所有单向预测常规运动候选并且第二扫描用于所有双向预测常规运动候选,或者,所述第一扫描用于所有双向预测常规运动候选,并且所述第二扫描用于所有单向预测常规运动候选。

条款13.如条款1至12中任一项所述的方法,其中所述列表推导规则还包括:除了从与空域或时域块相关联的常规运动候选推导出的候选之外,将其它种类的候选添加到所述运动候选列表。

条款14.如条款13所述的方法,其中所述其它种类的候选包括从所述运动候选列表中的可用候选推导出的候选。

条款15.如条款1-3中任一项所述的方法,其中所述规则对应于所述规则3,其中所述修剪步骤和所述另一修剪步骤均包括比较运动矢量和参考图片索引。

条款16.如条款1-3中任一项所述的方法,其中所述规则对应于所述规则3,其中所述修剪步骤和所述另一修剪步骤均包括比较运动矢量和候选运动矢量的图片顺序计数。

条款17.如条款1-3中任一项所述的方法,其中所述规则对应于所述规则4,并且其中所述修剪步骤包括基于所述候选运动矢量从其导出的位置而在所述候选运动列表中选择已有的条目,所述已有的条目用于与将被添加的候选运动矢量进行比较。

条款18.如条款1-3中任一项所述的方法,其中所述规则对应于所述规则4,并且其中所述修剪步骤包括基于所述已有的条目的索引而在所述候选运动列表中选择已有的条目,所述已有的条目用于与将被添加的候选运动矢量进行比较。

条款19.如条款1-3中任一项所述的方法,其中所述规则对应于所述规则4,并且其中所述修剪步骤包括基于所述候选运动矢量和所述已有的条目的类型而选择性地比较候选运动矢量和所述候选运动列表中的已有的条目。

条款20.如条款19所述的方法,其中在所述候选运动列表中的所述已有的条目和所述候选运动矢量的类型均是截断的单向预测的候选的情况下,所述候选运动矢量不与所述候选运动列表中的已有的条目进行比较。

条款21.如条款19或20所述的方法,其中在所述候选运动列表中的所述已有的条目和所述候选运动矢量的类型均是原始的单向预测的候选的情况下,将所述候选运动矢量与所述候选运动列表中的已有的条目进行比较。

条款22.如条款1-3中任一项所述的方法,其中在常规merge候选之间提前调用修剪步骤,并且当添加从所述常规merge候选推导出的候选运动矢量时不进行所述修剪步骤。

条款23.一种视频处理的方法,包括:在当前视频块和所述当前视频块的比特流表示之间的转换期间,生成merge列表,该列表包括从所述merge列表中的其它正常merge候选中推导出的至少一个虚拟merge候选;并且基于所述merge列表进行所述转换;其中所述至少一个虚拟merge候选包括从包含以下的组中选择的一个或多个:a)从两个正常单向预测merge候选推导出的虚拟双向预测merge候选;b)从一个正常双向预测merge候选推导出的虚拟单向预测merge候选。

条款24.如条款23所述的方法,其中所述转换包括从所述比特流表示生成所述视频块的像素值。

条款25.如条款24所述的方法,其中所述转换包括从所述视频块的像素值生成所述比特流表示。

条款26.如条款23-25中任一项所述的方法,其中从两个正常单向预测merge候选推导出的所述虚拟双向预测merge候选,通过直接拷贝所述两个正常单向预测merge候选的运动信息而推导。

条款27.如条款23-25中任一项所述的方法,其中两个正常单向预测merge候选包括两个继承的候选,或两个构建的候选,或一个继承的以及一个构建的候选。

条款28.如条款23-25中任一项所述的方法,其中所述两个正常单向预测merge候选包括在所述merge列表中已经可用的任何merge候选。

条款29.如条款23-25中任一项所述的方法,其中所述两个正常单向预测merge候选与不同的参考图片列表相关联。

条款30.如条款23-25中任一项所述的方法,其中使用几个正常merge候选的可能组合的给定顺序来生成所述虚拟双向预测merge候选。

条款31.如条款30所述的方法,还包括:检查具有对于每个组合的给定merge索引的两个merge候选是否都是单向预测候选,如果是,则基于所述两个单向预测候选生成所述虚拟双向预测候选。

条款32.如条款30或31所述的方法,其中所述给定顺序为:待检查的所述两个merge候选的merge索引对的顺序:{(0,1),(0,2),(1,2)(0,3),(1,3),(2,3)};或者待检查的所述两个merge候选的merge索引对的顺序:{(0,1),(1,0),(0,2)(2,0)(1,2)(2,1)(0,3)(3,0)(1,3)(3,1)(2,3),(3,2)}.

条款33.如条款23-25中任一项所述的方法,其中所述至少一个merge候选包括多达N个虚拟双向预测merge候选,其中N是整数,并且N是预定的或者特定于块的。

条款34.如条款33所述的方法,其中N是预定的并且为5或6;或者N是特定于块的并且取决于继承的merge候选的可用性。

条款35.如条款23-25中任一项所述的方法,其中所述虚拟双向预测merge候选使用修剪步骤推导。

条款36.如条款35所述的方法,其中所述修剪包括将所述虚拟双向预测merge候选与所选择集合的正常merge候选或与所有正常merge候选比较,其中所述虚拟双向预测merge候选与另一虚拟双向预测merge候选之间不进行比较。

条款37.如条款35所述的方法,其中所述修剪包括将所述虚拟双向预测merge候选与另一虚拟双向预测merge候选比较,其中所述虚拟双向预测merge候选与正常merge候选之间不进行比较。

条款38.如条款23-25中任一项所述的方法,其中从一个正常双向预测merge候选推导出的虚拟单向预测merge候选,是通过直接拷贝所述一个正常双向预测merge候选的运动信息而推导出的。

条款39.如条款23-25中任一项所述的方法,其中所述一个正常双向预测merge候选是继承的候选或构建的候选。

条款40.如条款23-25中任一项所述的方法,其中所述一个正常双向预测merge候选是在所述merge列表中已经可用的任何可用的merge候选。

条款41.如条款23-25中任一项所述的方法,其中所述一个正常双向预测merge候选从两个参考图片列表中的任一个继承。

条款42.如条款23-25中任一项所述的方法,其中从一个正常双向预测merge候选推导出的虚拟单向预测merge候选基于两个参考图片列表的两个运动矢量的平均或加权平均。

条款43.如条款42所述的方法,其中所述虚拟单向预测merge候选的预测方向被设置为所述两个参考图片列表中的任一个。

条款44.如条款23-25和42中任一项所述的方法,还包括:将正常双向预测merge候选的两个参考图片列表中的一个的运动矢量缩放到与两个参考图片列表中的另一个相关联的参考图片;平均或加权平均所述缩放的运动矢量以及所述两个参考图片列表中的另一个的缩放的运动矢量,并且所述产生的运动矢量被用作所述虚拟单向预测merge候选,其中所述虚拟单向预测merge候选的预测方向被设置为两个参考图片列表中的另一个。

条款45.如条款23-25中任一项所述的方法,其中所述至少一些merge候选包括从一个正常双向预测merge候选推导出的多于一个的虚拟单向预测候选,并且将所述推导出的多个单向预测候选插入所述运动候选列表。

条款46.如条款23-25中任一项所述的方法,其中所述至少一些merge候选包括多达N个虚拟单向预测merge候选,其中N是整数,并且N是预定的或是特定于块的。

条款47.如条款46所述的方法,其中并且N是预定的并且N是5或6;或者N是特定于块的并且N取决于继承的merge候选的可用性。

条款48.如条款23-25中任一项所述的方法,其中所述虚拟单向预测merge候选使用修剪步骤推导。

条款49.如条款48所述的方法,其中所述修剪包括将所述虚拟单向预测merge候选与所选择集合的正常merge候选或者所有正常merge候选比较,其中所述虚拟单向预测merge候选与另一虚拟单向预测merge候选之间不进行比较。

条款50.如条款48所述的方法,其中所述修剪包括将所述虚拟单向预测merge候选与另一虚拟单向预测merge候选比较,其中所述虚拟单向预测merge候选与正常merge候选之间不进行比较。

条款51.如条款23-25中任一项所述的方法,其中所述正常单向预测merge候选从空域或时域块推导。

条款52.如条款23-25中任一项所述的方法,其中所述正常单向预测merge候选是在添加所述虚拟双向预测merge候选之前添加到所述merge候选列表的那些merge候选。

条款53.如条款52所述的方法,其中所述生成所述merge列表包括:在组合的双向预测merge候选之前;或在成对的双向预测merge候选之前;或在零运动矢量merge候选之前;或在基于历史的运动矢量预测(HMVP)候选之前,添加所述虚拟双向预测merge候选。

条款54.如条款23-25中任一项所述的方法,其中所述正常双向预测merge候选从空域或时域块推导。

条款55.如条款23-25中任一项所述的方法,其中所述正常双向预测merge候选是在添加所述虚拟单向预测merge候选之前添加到所述merge候选列表的那些merge候选。

条款56.如条款55所述的方法,其中所述生成所述merge列表包括:在组合的双向预测merge候选之前;或在成对的双向预测merge候选之前;或在零运动矢量merge候选之前;或在基于历史的运动矢量预测(HMVP)候选之前,添加所述虚拟单向预测merge候选。

条款57.如条款23-50中任一项所述的方法,其中所述merge列表是仿射merge列表并且所述merge候选是仿射merge候选.

条款58.如条款23-57中任一项所述的方法,其中所述merge列表是常规merge列表并且所述merge候选是常规merge候选。

条款59.一种视频解码装置,包括处理器,其被配置为实现如条款1至58中的一个或多个所述的方法。

条款60.一种视频编码装置,包括处理器,其被配置为实现如条款1至58中的一个或多个所述的方法。

条款61.一种计算机程序产品,其上存储有计算机代码,所述代码当由处理器执行时,使得所述处理器实现如条款1至58中任一项所述的方法。

条款62.本文件中描述的一种方法、装置或系统。

条款2-1.一种视频处理的方法,包括:将当前视频块分为多个子块视频块;为所述多个子块视频块中的至少一个子块视频块生成merge候选列表;以及基于merge候选列表进行视频块和视频块的比特流表示之间的转换;其中所述merge候选列表包括具有多假设模式的至少一个merge候选。

条款2-2.如条款2-1所述的方法,其中所述转换包括从所述比特流表示生成所述视频块的像素值。

条款2-3.如条款2-1所述的方法,其中所述转换包括从所述视频块的像素值生成所述比特流表示。

条款2-4.如条款2-1至2-3中任一项所述的方法,其中比特流表示包括多假设模式被用于至少一个子块的指示。

条款2-5.如条款2-1至2-3中任一项所述的方法,其中具有多假设模式的至少一个merge候选包括通过联合利用两个单向预测merge候选的块的编解码而计算的merge候选。

条款2-6.如条款2-5所述的方法,其中两个单向预测merge候选的一个是可选时域运动矢量预测(ATMVP)候选,并且另一个是仿射merge候选。

条款2-7.如条款2-5所述的方法,其中所述两个单向预测merge候选均是仿射merge候选。

条款2-8.如条款2-5所述的方法,其中头两个单向预测merge候选在多假设模式启用时被选择,并且选择的merge索引不在比特流表示中信令通知。

条款2-9.如条款2-5所述的方法,其中选择的merge索引在比特流表示中信令通知。

条款2-10.如条款2-5所述的方法,其中对于某些块尺寸启用多假设模式,并且对于其它种类的尺寸禁用多假设模式。

条款2-11.如条款2-4所述的方法,其中所述指示基于包含的标志,其取决于如以下的一个的视频块的高度和宽度:

i.如果w>Tw且h>Th,例如Tw=Th=32,则不信令通知标志;

ii.如果w>Tw或h>Th,例如Tw=Th=32,则不信令通知标志;

iii.如果w*h>Ts,例如Ts=1024,则不信令通知标志;

iv.如果w

v.如果w

vi.如果w*h

其中w、h、Tw、Th、Ts为整数。

条款2-12.一种视频解码装置,包括处理器,其被配置为实现如条款2-1至2-11中的一个或多个所述的方法。

条款2-13.一种视频编码装置,包括处理器,其被配置为实现如条款2-1至2-11中的一个或多个所述的方法。

条款2-14.一种计算机程序产品,其上存储有计算机代码,所述代码当由处理器执行时,使得所述处理器实现如条款2-1至2-11中任一项所述的方法。

条款2-15.本文件中描述的一种方法、装置或系统。

本专利文件描述的公开以及其它的技术方案、示例、实施例、模块和功能性操作可以以数字电子电路实现,或者以计算机软件、固件或硬件实现,包括本说明书中公开的结构及其结构等同物,或者以它们中的一个或多个的组合实现。本说明书所描述的主题的实现方式可以实现为一个或多个计算机程序产品,即,在有形和非暂时性计算机可读介质上编码的一个或多个计算机程序指令模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组合、或者它们中的一个或多个的组合。术语“数据处理单元”或“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码以便传输到合适的接收器设备。

计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式来部署计算机程序,包括作为独立程序或作为适合在计算环境中使用的模块、组件、子例程或其它单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其它程序或数据的文件的一部分中(例如,存储在标记语言文件中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以部署计算机程序以在一个计算机上或在位于一个站点上或分布在多个站点上并由通信网络互连的多个计算机上执行。

本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。

举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器、以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,以从该一个或多个大容量存储设备接收数据,或将数据传递到该一个或多个大容量存储设备,或者既接收又传递数据。然而,计算机不需要具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,举例来说,包括半导体存储器设备,例如EPROM、EEPROM和闪存设备。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。

旨在将说明书与附图一起仅视为示例性的,其中示例性意味着示例。此外,除非上下文另有明确指示,否则“或”的使用旨在包括“和/或”。

虽然本专利文件包含许多细节,但这些细节不应被解释为对任何主题或可要求保护的范围的限制,而是作为特定于特定技术的特定实施例的特征的描述。在本专利文件中,在分开的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分开地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下,可以从所要求保护的组合中移除来自该组合的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变型。

类似地,虽然在附图中以特定顺序示出了操作,但是这不应该被理解为要求以所示的特定顺序或按顺序执行这样的操作,或者执行所有示出的操作,以实现期望的结果。此外,在本专利文件中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都要求这样的分离。

仅描述了几个实现方式和示例,并且可以基于本专利文件中描述和示出的内容来做出其它实现方式、增强和变型。

相关技术
  • 用于预测的运动候选列表构建
  • 候选运动信息列表的构建方法、帧间预测方法及装置
技术分类

06120112918987