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

组合帧间帧内预测的扩展应用

文献发布时间:2023-06-19 12:19:35


组合帧间帧内预测的扩展应用

技术领域

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

背景技术

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

发明内容

所公开的技术可由视频、其中使用了组合帧间帧内预测的图像解码器或编码器实施例使用。

在一个示例方面,公开了一种处理视频的方法。所述方法包括:确定第一视频块的编解码模式,基于第一视频块的编解码模式的确定,将一个或多个标志约束到操作状态,所述操作状态为假或真;以及根据一个或多个标志的操作状态执行第二视频块的进一步处理,其中第一视频块是与第二视频块相关的临近视频块或参考视频块。

在另一示例方面,公开了一种处理视频的方法。所述方法包括:确定针对第一视频块使用成对预测或组合双向预测;基于使用成对预测或组合双向预测的确定,来确定组合帧间帧内预测(CIIP)的操作状态,其中操作状态为启用或禁用;以及根据CIIP的操作状态执行第一视频块的进一步处理。

在另一示例方面,公开了另一种视频处理的方法。所述方法包括:使用组合帧间帧内预测模式执行视频的视频块和视频块的编解码表示之间的转换,其中编解码表示对应于使用来自权重对的集合的权重对的视频块的帧内和帧间预测结果的加权平均,所述权重对的集合包含少于三对。

在另一示例方面,公开了另一种视频处理的方法。所述方法包括:使用组合帧间帧内预测模式执行视频的视频块和视频块的编解码表示之间的转换,其中编解码表示对应于使用来自权重对的集合的权重对的视频块的帧内和帧间预测结果的加权平均,所述权重对的集合是由一个或多个临近块的编解码信息确定的。

在另一示例方面,公开了另一种视频处理的方法。所述方法包括:在视频数据中的第一块和第一块的比特流表示之间的转换期间,确定一个或多个第二块的一个或多个编解码模式;基于一个或多个第二块的一个或多个编解码模式,确定第一块的编解码模式约束;以及至少通过应用第一块的编解码模式约束来执行转换;其中一个或多个第二块包括第一块的相邻块、非相邻块和参考块中的至少一个。

在另一示例方面,公开了另一种视频处理的方法。所述方法包括:通过使用组合帧间帧内预测(CIIP)、扩散滤波、双边滤波、变换域滤波、或不同于扩散滤波、双边滤波和变换域滤波的另一类型的重构后滤波中的至少一个,执行视频数据中的当前块和当前块的比特流表示之间的转换,其中,用从一个或多个参考图片中的重构临近样点的对应样点生成的近似样点来替换在组合帧间帧内预测(CIIP)、扩散滤波、双边滤波、变换域滤波、或另一类型的重构后滤波中的至少一个中使用的当前块的重构临近样点。

在另一示例方面,公开了另一种视频处理的方法。所述方法包括:在基于历史的运动矢量预测(HMVP)表中与运动信息一起存储组合帧间帧内预测(CIIP)模式的CIIP标志和/或帧内模式;以及至少基于HMVP表执行视频数据中的当前块和当前块的比特流表示之间的转换。

在另一示例方面,公开了另一种视频处理的方法。所述方法包括:在视频数据中的当前块与当前块的比特流表示之间的转换期间,确定当前块的预测模式;确定组合帧间帧内预测(CIIP)模式的适用性,所述适用性指示响应于确定当前块使用高级运动矢量预测(AMVP)模式或Merge模式编码而对当前块启用CIIP模式;以及基于CIIP模式的适用性执行转换。

在另一示例方面,公开了另一种视频处理的方法。所述方法包括:在视频数据中的当前块和当前块的比特流表示之间的转换期间,确定当前块的选定Merge候选的类型;根据选定Merge候选的类型为当前块确定组合帧间帧内预测(CIIP)的适用性,其中当前块以Merge模式编码。

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

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

本文进一步描述了这些方面和其他方面。

附图说明

图1示出了Merge候选列表构造的推导处理的示例。

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

图3示出了考虑用于空域Merge候选的冗余检查的候选对的示例。

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

图5示出了时域Merge候选的运动矢量缩放的示例。

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

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

图8示出了运动矢量预测候选的推导处理的示例。

图9示出了空域运动矢量候选的运动矢量缩放的示例。

图10示出了编解码单元(CU)的可选时域运动矢量预测(ATMVP)的示例。

图11示出了用于导出IC参数的临近样点的示例。

图12示出了最终运动矢量表达(UMVE)搜索处理的示例。

图13示出了UMVE搜索点的示例。

图14示出了使用所提出的HMVP方法的解码流程图的示例。

图15示出了在所提出的HMVP方法中更新表的示例。

图16示出了对称模式的示例。

图17示出了参考图片中当前块的临近样点及其对应样点的示例。

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

图19示出了视频编码器的示例实现的框图。

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

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

图22示出了在CIIP权重评估中使用的上方和左侧临近块的示例。

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

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

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

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

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

具体实施方式

本文提供了可由图像或视频比特流的解码器用于提高解压缩或解码数字视频或图像的质量的各种技术。为简洁起见,本文使用术语“视频”来包括图片序列(常规上称为视频)和单个图像。此外,视频编码器也可以在编码处理期间实现这些技术,以重构用于进一步编码的解码帧。

为了便于理解,在本文中使用章节标题,并且不将实施例和技术限制在对应的章节中。因此,来自一个章节的实施例可以与来自其他章节的实施例组合。

1.综述

本文涉及视频编解码技术。具体地,它涉及视频编码或解码中的组合帧间帧内预测(CIIP)。它可以应用于如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[1]标准。自H.262开始,视频编解码标准基于混合视频编解码结构,其中利用了时域预测加变换编解码。为探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年共同成立了联合视频探索团队(JVET)。从那时起,JVET采用了许多新的方法,并将其应用到了名为联合探索模型(JEM)的参考软件中。2018年4月,VCEG(Q6/16)和ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家团队(JVET)成立,以致力于目标是与HEVC相比其降低50%比特率的VVC标准。

图19是视频编码器的示例性实现的框图。图19示出了编码器实现具有内置的反馈路径,其中视频编码器还执行视频解码功能(重构视频数据的压缩表示,以用于下一视频数据的编码)。

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

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

当CU采用跳过模式编解码时,一个PU与CU相关联,并且没有显著的残差系数,没有编解码运动矢量增量或参考图片索引。指定了一种Merge模式,通过该模式,可以从临近的PU(包括空域和时域候选)中获取当前PU的运动参数。Merge模式可以应用于任何帧间预测的PU,而不仅仅是跳过模式。Merge模式的另一种选择是运动参数的显式传输,其中运动矢量(更精确地,与运动矢量预测器相比的运动矢量差)、每个参考图片列表的对应的参考图片索引、以及参考图片列表的使用都会根据每个PU显式地信令通知。在本公开中,这样的模式被命名为高级运动矢量预测(AMVP)。

当信令指示要使用两个参考图片列表中的一个时,从样点的一个样点中生成PU。这被称为“单向预测”。单向预测对P条带(slice)和B条带都可用。

当信令指示要使用两个参考图片列表时,从样点的两个样点块中生成PU。这被称为“双向预测”。双向预测仅对B条带可用。

下文提供了在HEVC中规定的关于帧间预测模式的细节。描述将从Merge模式开始。

2.1.1Merge模式

2.1.1.1Merge模式的候选的推导

当使用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.1.2空域候选推导

在空域Merge候选的推导中,在位于图22所示位置的候选中最多选择四个Merge候选。推导顺序为A

2.1.1.3时域候选推导

在此步骤中,只有一个候选添加到列表中。特别地,在这个时域Merge候选的推导中,基于属于与给定参考图片列表中当前图片具有最小POC差的图片的并置PU导出了缩放运动矢量。用于推导并置PU的参考图片列表在条带标头中显式地信令通知。获取时域Merge候选的缩放运动矢量(如图5中虚线所示),其使用POC距离tb和td从并置PU的运动矢量进行缩放,其中tb定义为当前图片的参考图片和当前图片之间的POC差,并且td定义为并置图片的参考图片与并置图片之间的POC差。时域Merge候选的参考图片索引设置为零。HEVC规范中描述了缩放处理的实际实现。对于B条带,得到两个运动矢量(一个是对于参考图片列表0,另一个是对于参考图片列表1)并将其组合使其成为双向预测Merge候选。

在属于参考帧的并置PU(Y)中,在候选C

2.1.1.4附加候选插入

除了空域和时域Merge候选,还有两种附加类型的Merge候选:组合双向预测Merge候选和零Merge候选。组合双向预测Merge候选是利用空域和时域Merge候选生成的。组合双向预测Merge候选仅用于B条带。通过将初始候选的第一参考图片列表运动参数与另一候选的第二参考图片列表运动参数相结合,生成组合双向预测候选。如果这两个元组提供不同的运动假设,它们将形成新的双向预测候选。作为示例,图7示出了该情形,其中原始列表(在左侧)中具有MVL0和refIdxL0或MVL1和refIdxL1的两个候选被用于创建添加到最终列表(在右侧)中的组合双向预测Merge候选。定义了许多关于被认为生成这些附加Merge候选的组合的规则。

插入零运动候选以填充Merge候选列表中的其余条目,从而达到MaxNumMergeCand的容量。这些候选具有零空域位移和从零开始并且每次将新的零运动候选添加到列表中时都会增加的参考图片索引。这些候选使用的参考帧的数量分别是用于单向和双向预测的1和2。最后,对这些候选不执行冗余检查。

2.1.1.5用于并行处理的运动估计区域

为了加快编码处理,可以并行地执行运动估计,从而同时导出给定区域内所有预测单元的运动矢量。从空域邻居导出Merge候选可能会干扰并行处理,因为一个预测单元在其相关联的运动估计完成之前无法从相邻PU导出运动参数。为了缓解编解码效率和处理延迟之间的权衡,HEVC使用“log2_parallel_merge_level_minus2”语法元素在图片参数集中定义其尺寸被信令通知的运动估计区域(MER)。定义MER时,将落入同一区域的Merge候选标记为不可用,因此在列表构造中不予考虑。

2.1.2AMVP

AMVP利用运动矢量与临近的PU的空时相关性,其用于运动参数的显式传输。对于每个参考图片列表,首先通过检查左上方的时域临近的PU位置的可用性、去掉冗余的候选并且加上零矢量以使候选列表长度恒定来构建运动矢量候选列表。然后,编码器可以从候选列表中选择最佳的预测器,并发送指示所选候选的对应索引。与Merge索引信令类似,最佳运动矢量候选的索引使用截断的一元进行编码。在这种情况下,要编码的最大值是2(参见图8)。在以下各章节中,提供了关于运动矢量预测候选的推导处理的细节。

2.1.2.1AMVP候选的推导

图8概括了运动矢量预测候选的推导处理。

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

对于时域运动矢量候选的推导,从两个候选中选择一个运动矢量候选,这两个候选是基于两个不同的并置位置推导出的。在做出第一个空时候选列表后,移除列表中重复的运动矢量候选。如果潜在候选的数量大于二,则从列表中移除相关联的参考图片列表中参考图片索引大于1的运动矢量候选。如果空时运动矢量候选数小于二,则会在列表中添加附加的零运动矢量候选。

2.1.2.2空域运动矢量候选

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

--无空域缩放

(1)相同的参考图片列表,并且相同的参考图片索引(相同的POC)

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

--空域缩放

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

(4)不同的参考图片列表,并且不同的参考图片(不同的POC)

首先检查无空域缩放的情况,然后检查允许空域缩放的情况。当POC在临近PU的参考图片与当前PU的参考图片之间不同时,都会考虑空域缩放,而不管参考图片列表如何。如果左侧候选的所有PU都不可用或是帧内编解码,则允许对上述运动矢量进行缩放,以帮助左侧和上方MV候选的平行推导。否则,不允许对上述运动矢量进行空域缩放。

在空域缩放处理中,以与时域缩放类似的方式缩放临近PU的运动矢量,如图9所示。主要区别是,给出当前PU的参考图片列表和索引作为输入;实际的缩放处理与时域缩放处理相同。

2.1.2.3时域运动矢量候选

除了参考图片索引的推导外,时域Merge候选的所有推导处理与空域运动矢量候选的推导处理相同(参见图6)。将参考图片索引信令通知给解码器。

2.2新帧间预测方法

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

在具有QTBT的JEM中,每个CU对于每个预测方向最多可以具有一组运动参数。通过将大的CU划分成子CU并推导该大CU的所有子CU的运动信息,编码器中考虑了两种子CU级的运动矢量预测方法。可选时域运动矢量预测(ATMVP)方法允许每个CU从并置参考图片中的多个小于当前CU的块中提取多组运动信息。在空时运动矢量预测(STMVP)方法中,通过使用时域运动矢量预测器和空域临近运动矢量递归地推导子CU的运动矢量。

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

2.2.1.1可选时域运动矢量预测

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

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

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

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

2.2.2成对平均候选

通过对当前Merge候选列表中预定义的候选对进行平均,生成成对平均候选,并且将预定义对定义为{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)},其中数字表示到Merge候选列表的Merge索引。分别计算每个参考列表的平均运动矢量。如果在一个列表中两个运动矢量都可用,则即使这两个运动矢量指向不同的参考图片,也会对它们进行平均;如果只有一个运动矢量可用,则直接使用该运动矢量;如果没有运动矢量可用,则保持此列表无效。成对平均候选替换HEVC标准中的组合候选。

将成对平均候选的复杂性分析总结在表1中。对于用于平均的附加计算的最坏情况(表1的最后一列),每对(L0和L1中的MVx和MVy)需要4个加法和4个移位,并且每对需要4个参考索引比较(在L0和L1中refIdx0有效,refIdx1有效)。有6对,总共导致24个加法、24个移位和24个参考索引比较。HEVC标准中的组合候选对每对使用2个参考索引比较(L0中的refIdx0有效,L1中的refIdx1有效),并且有12对,总共导致24个参考索引比较。

表1:成对平均候选的操作分析

2.2.3局部照明补偿

局部照明补偿(LIC)基于用于照明变化的线性模型,使用比例因子a和偏移b。并且其对每个帧间模式编解码的编解码单元(CU)自适应地启用或禁用。

当LIC应用于CU时,采用最小二乘误差法,通过使用当前CU的临近样点及其对应的参考样点导出参数a和b。更具体地,如图11所示,使用参考图片中CU的子采样(2:1子采样)临近样点和对应的样点(由当前CU或子CU的运动信息识别)。推导出IC参数并将其分别应用于每个预测方向。

当使用Merge模式对CU进行编解码时,LIC标志以类似于Merge模式下运动信息复制的方式从临近块复制;否则,将为CU信令通知LIC标志,以指示LIC是否适用。

当为图片启用LIC时,需要附加的CU级RD检查来确定是否为CU应用LIC。当对CU启用LIC时,对于整数像素运动搜索和分数像素运动搜索,分别使用均值去除的绝对差之和(mean-removed sum of absolute difference,MR-SAD)和均值去除的绝对Hadamard变换差之和(mean-removed sum of absolute Hadamard-transformed difference,MR-SATD),而不使用SAD和SATD。

为了降低编码复杂度,在JEM中应用以下编码方案:

在当前图片与其参考图片之间没有明显的照度变化时,对整个图片禁用LIC。为了识别这种情况,在编码器处计算当前图片的直方图和当前图片的每个参考图片的直方图。如果当前图片和当前图片的每个参考图片之间的直方图差小于给定阈值,则对当前图片禁用LIC;否则,对当前图片启用LIC。

2.2.4组合帧间帧内预测

在一些实施例中,提出了多重假设预测,其中组合帧内和帧间预测是产生多重假设的一种方式。

当将多重假设预测应用于改进帧内模式时,多重假设预测将一个帧内预测和一个Merge索引预测组合。在Merge CU中,当标志为真时,为Merge模式信令通知一个标志,以从帧内候选列表中选择帧内模式。对于亮度分量,从包括DC、平面、水平和垂直模式的4种帧内预测模式导出帧内候选列表,并且帧内候选列表的尺寸可以是3或4,具体取决于块形状。当CU宽度大于CU高度的两倍时,帧内模式列表不包括水平模式,并且当CU高度大于CU宽度的两倍时,从帧内模式列表中移除垂直模式。使用加权平均将由帧内模式索引选择的一个帧内预测模式和由Merge索引选择的一个Merge索引预测组合。对于色度分量,总是在没有额外信令的情况下应用DM。用于组合预测的权重描述如下。当选择DC或平面模式、或CB宽度或高度小于4时,应用相等的权重。对于CB宽度和高度大于或等于4的CB,当选择水平/垂直模式时,首先将一个CB垂直/水平划分为四个相等的区域。将表示为(w_intrai,w_interi)的每个权重集应用于对应区域,其中i从1到4,并且(w_intra1,w_inter1)=(6,2),(w_intra2,w_inter2)=(5,3),(w_intra3,w_inter3)=(3,5),且(w_intra4,w_inter4)=(2,6)。将(w_intra1,w_inter1)用于最接近参考样点的区域,并且将(w_intra4,w_inter4)用于最远离参考样点的区域。然后,可以通过将两个加权预测相加并右移3位来计算组合预测。此外,可以保存预测器的帧内假设的帧内预测模式,以供后续临近CU参考。

广义双向预测

在传统的双向预测中,使用相等的权重0.5对来自L0和L1的预测器进行平均以生成最终预测器。预测器生成公式如等式(4)所示:

P

在等式(1)中,P

提出广义的双向预测(GBI)以允许对来自L0和L1的预测器应用不同的权重。预测器生成如等式(2)所示。

P

在等式(2)中,P

支持的w

对于高级运动矢量预测(AMVP)模式,如果用双向预测对该CU进行编解码,则GBI中的权重选择会在CU级显式地信令通知。对于Merge模式,权重选择是从Merge候选继承的。在这个提出中,GBI支持DMVR以生成模板的加权平均以及BMS-1.0的最终预测器。

2.2.6最终运动矢量表达

在一些实施例中,提出了最终运动矢量表达(UMVE)。UMVE与提出的运动矢量表达方法被用于跳过或Merge模式。

UMVE像在VVC中使用一样重用Merge候选。在Merge候选中,可以选择候选,并通过所提出的运动矢量表达方法进一步扩展。

UMVE提供了具有简化的信令的新的运动矢量表达。表达方法包括起点、运动幅度和运动方向。

这个提出的技术按原样使用Merge候选列表。但是只有默认Merge类型(MRG_TYPE_DEFAULT_N)的候选才被考虑用于UMVE的扩展。

基础候选索引定义了起点。基础候选索引指示列表中候选的最佳候选,如下所示。

表1基础候选索引IDX

如果基础候选的数量等于1,则不信令通知基础候选IDX。

距离索引是运动幅度信息。距离索引指示距离起点信息的预定义的距离。预定义的距离如下所示:

表2距离索引IDX

方向索引表示MVD相对于起点的方向。方向索引可以表示如下所示的四个方向。

表3方向索引IDX

在发送跳过标志和Merge标志之后立即信令通知UMVE标志。如果跳过和Merge标志为真,则解析UMVE标志。如果UMVE标志等于1,则解析UMVE语法。但是,如果不是1,则解析仿射标志。如果仿射标志等于1,则是仿射模式,但是,如果不是1,则解析VTM的跳过/Merge模式的跳过/Merge索引。

由于UMVE候选而导致的附加行缓冲区是不需要的。因为软件的跳过/Merge候选被直接用作基础候选。通过使用输入UMVE索引,在运动补偿前直接判定MV的补充。不需要为此保留长的行缓冲区。

2.2.7基于历史的运动矢量预测

在我们先前的发明P180502841H中,存储有至少一个运动候选的一个或多个查找表来预测块的运动信息。

提出了一种基于历史的MVP(history-based MVP,HMVP)方法,其中将HMVP候选定义为先前编解码块的运动信息。在编码/解码处理期间维护具有多个HMVP候选的表。当遇到新的条带时,将表清空。每当存在帧间编解码块时,将相关联的运动信息作为新的HMVP候选添加到表的最后一个条目中。整个编解码流程如图13所示。

在一个示例中,表尺寸被设置为L(例如,L=16或6,或44),这指示可以向表中添加至多L个HMVP候选。

在一个实施例中,如果来自先前编解码块的HMVP候选多于L个,则应用先进先出(FIFO)规则,使得该表始终包含最新的先前编解码的L个运动候选。图14描述了一个示例,其中应于FIFO规则来移除HMVP候选、并将新的HMVP候选添加到所提出方法使用的表中。

在另一实施例中,每当添加新的运动候选(诸如当前块是帧间编解码和非仿射模式)时,首先应用冗余检查处理来识别LUT中是否存在相同或相似的运动候选。

2.2.8对称运动矢量差

在一些实施例中,提出对称运动矢量差(SMVD)来更有效地编码MVD。

首先,在条带级别,变量BiDirPredFlag、RefIdxSymL0和RefIdxSymL1导出如下:

搜索参考图片列表0中最接近当前图片的前向参考图片。如果找到,则将RefIdxSymL0设置为等于前向图片的参考索引。

搜索参考图片列表1中最接近当前图片的后向参考图片。如果找到,则将RefIdxSymL1设置为等于后向图片的参考索引。

如果找到前向和后向图片二者,则将BiDirPredFlag设置为1。

否则,以下适用:

搜索参考图片列表0中最接近当前参考图片的后向参考图片。如果找到,则将RefIdxSymL0设置为等于后向图片的参考索引。

搜索参考图片列表1中最接近当前参考图片的前向参考图片。如果找到,则将RefIdxSymL1设置为等于前向图片的参考索引。

如果找到后向和向前图片二者,则将BiDirPredFlag设置为1。否则,将BiDirPredFlag设置为0。

其次,在CU级别,如果CU的预测方向为双向预测且BiDirPredFlag等于1,则显式地信令通知指示是否使用对称模式的对称模式标志。

当标志为真时,仅显式地信令通知mvp_l0_flag、mvp_l1_flag和MVD0。将列表0和列表1的参考索引分别设置为等于RefIdxSymL0、RefIdxSymL1。将MVD1仅设置为等于MVD0。最终运动矢量如下面的公式所示。

编解码单元语法中的修改如表2所示。

表2:编解码单元语法中的修改

2.2.9 VTM4中的CIIP

在VTM4中,当CU以Merge模式编解码时,并且如果CU包含至少64个亮度样点(即,CU宽度乘以CU高度等于或大于64),则会信令通知附加标志以指示是否将组合帧间/帧内预测(CIIP)模式应用于当前CU。

为了形成CIIP预测,首先从两个附加的语法元素导出帧内预测模式。最多可以使用四种可能的帧内预测模式:DC、平面、水平或垂直。然后,使用常规的帧内和帧间解码处理导出帧间预测和帧内预测信号。最后,对帧间和帧内预测信号进行加权平均以获得CIIP预测。

1.帧内预测模式推导

多达4种帧内预测模式(包括DC模式、平面(PLANAR)模式、水平(HORIZONTAL)模式和垂直(VERTICAL)模式)可用于在CIIP模式中预测亮度分量。如果CU形状非常宽(即宽度大于高度的两倍),则不允许水平模式。如果CU形状非常窄(即高度大于宽度的两倍),则不允许垂直模式。在这些情况下,仅允许3种帧内预测模式。

CIIP模式使用3个最可能模式(MPM)进行帧内预测。CIIP MPM候选列表形成如下:

-将左侧和顶部临近块分别设置为A和B。

-块A和块B的帧内预测模式(分别表示为intraModeA和intraModeB)导出如下:

ο让X为A或B;

ο如果1)块X不可用;或者2)块X不是使用CIIP模式或帧内模式预测的;3)块B在当前CTU之外,则将intraModeX设置为DC;

ο否则,1)如果块X的帧内预测模式是DC或平面,则将intraModeX设置为DC或平面;或者,2)如果块X的帧内预测模式是“垂直状”角模式(大于34),则将intraModeX设置为垂直;或者,3)如果块X的帧内预测模式是“水平状”角模式(小于或等于34),则将intraModeX设置为水平;

-如果intraModeA和intraModeB相同,则:

ο如果intraModeA是平面或DC,则将三个MPM按该顺序设置为{平面,DC,垂直};

ο否则,将三个MPM按顺序设置为{intraModeA,平面,DC};

-否则(intraModeA和intraModeB不同):

ο将前两个MPM按顺序设置为{intraModeA,intraModeB};

ο按顺序检查前两个MPM候选模式中平面、DC和垂直的唯一性;一旦找到唯一模式,就将其作为第三个MPM添加。

如果CU形状如上文所定义的非常宽或非常窄,则在没有信令通知的情况下,将MPM标志推断为1。否则,信令通知MPM标志以指示CIIP帧内预测模式是否是CIIP MPM候选模式中的一个。

如果MPM标志为1,则进一步信令通知MPM索引,以指示在CIIP帧内预测中使用哪个MPM候选模式。否则,如果MPM标志为0,则将帧内预测模式设置为MPM候选列表中的“丢失”模式。例如,如果平面模式不在MPM候选列表中,则平面是丢失模式,并且将帧内预测模式设置为平面。由于CIIP中允许4种可能的帧内预测模式,并且MPM候选列表仅包含3种帧内预测模式,因此4种可能模式中的一种一定是丢失模式。

对于色度分量,总是在没有附加信令的情况下应用DM模式;也就是说,色度使用与亮度相同的预测模式。

CIIP编解码的CU的帧内预测模式将被保存并用于未来临近CU的帧内模式编解码。

2.2.9.2组合帧间和帧内预测信号

使用应用于常规Merge模式的相同帧间预测处理导出CIIP模式下的帧间预测信号P

-如果帧内预测模式是DC模式或平面模式,或者如果块宽度或高度小于4,则对帧内预测和帧间预测信号应用相等的权重。

-否则,基于帧内预测模式(在这种情况下为水平模式或垂直模式)和块中的样点位置来确定权重。以水平预测模式为例(类似地导出垂直模式的权重,但在正交方向上):将W表示为块的宽度,并且H为块的高度。编解码块首先被划分成四个面积相等的部分,每个部分的维度为(W/4)xH。从最接近帧内预测参考样点的部分开始,到最远离帧内预测参考样点的部分结束,将4个区域中的每个区域的权重wt分别设置为6、5、3和2。使用以下导出最终的CIIP预测信号:

P

2.VTM5中的CIIP

在VTM5中,当CU在Merge模式下编解码时,如果CU包含至少64个亮度样点(即,CU宽度乘以CU高度等于或大于64),并且如果CU宽度和CU高度二者都小于128个亮度样点,则会信令通知附加标志以指示是否将组合帧间/帧内预测(CIIP)模式应用于当前CU。顾名思义,CIIP预测将帧间预测信号与帧内预测信号结合。使用与应用于常规Merge模式的相同帧间预测处理导出CIIP模式下的帧间预测信号P

-如果顶部邻居可用且是帧内编解码的,则将isIntraTop设置为1,否则将isIntraTop设置为0;

-如果左侧邻居可用且是帧内编解码的,则将isIntraLeft设置为1,否则将isIntraLeft设置为0;

-如果(isIntraLeft+isIntraTop)等于2,则将wt设置为3;

-否则,如果(isIntraLeft+isIntraTop)等于1,则将wt设置为2;

-否则,将wt设置为1。

CIIP预测形成如下:

P

图16示出了用于CIIP权重推导的顶部和左侧临近块。

2.3帧内模式推导处理

在当前的VTM-4.0中,当对一个帧内编解码块进行编解码时,首先信令通知一个最可能模式(MPM)标志。如果MPM标志为真,则进一步通知MPM列表的索引。否则,信令通知非MPM模式的索引。

最新VVC规范(JVET-M1001_v7)中的相关语法元素、对称性和解码处理如下:

相关语法

编解码单元语法

语义

语法元素intra_luma_mpm_flag[x0][y0]、intra_luma_mpm_idx[x0][y0]和intra_luma_mpm_remainder[x0][y0]指定亮度样点的帧内预测模式。阵列索引x0、y0指定所考虑的编解码块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。当intra_luma_mpm_flag[x0][y0]等于1时,根据第8.4.2条从临近帧内预测编解码单元推断帧内预测模式。

如果intra_luma_mpm_flag[x0][y0]不存在,则推断它等于1。

解码处理

亮度帧内预测模式的推导处理

该处理的输入是:

亮度位置(xCb,yCb),其指定当前亮度编解码块相对于当前图片的左上亮度样点的左上样点,

变量cbWidth,其指定亮度样点中当前编解码块的宽度,

变量cbHeight,其指定亮度样点中当前编解码块的高度。

在该处理中,导出亮度帧内预测模式IntraPredModeY[xCb][yCb]。

表8-1指定了帧内预测模式IntraPredModeY[xCb][yCb]的值以及相关名称。

表8-1帧内预测模式和相关名称的规范

注释:帧内预测模式INTRA_LT_CCLM,INTRA_L_CCLM和INTRA_T_CCLM仅适用于色度分量。

由以下顺序步骤导出IntraPredModeY[xCb][yCb]:

1.将临近位置(xNbA,yNbA)和(xNbB,yNbB)分别设置为等于(xCb-1,yCb+cbHeight-1)和(xCb+cbWidth-1,yCb-1)。

2.对于由A或B替换X的情况,变量candIntraPredModeX导出如下:

将位置(xCurr,yCurr)设置为等于(xCb,yCb)、并且将临近位置(xNbY,yNbY)设置为等于(xNbX,yNbX)作为输入,调用章节6.4.X[Ed.(BB):待定的临近块可用性检查处理]中规定的块的可用性推导处理,并且将输出分配给availableX。

候选帧内预测模式candIntraPredModeX推导如下:

如果以下条件中的一个或多个为真,则将candIntraPredModeX设置为等于INTRA_PLANAR。

变量availableX等于FALSE。

CuPredMode[xNbX][yNbX]不等于MODE_INTRA且ciip_flag[xNbX][yNbX]不等于1。

pcm_flag[xNbX][yNbX]等于1。

X等于B和yCb-1小于((yCb>>CtbLog2SizeY)<

否则,将candIntraPredModeX设置为等于IntraPredModeY[xNbX][yNbX]。

3.变量ispDefaultMode1和ispDefaultMode2定义如下:

如果IntraSubPartitionsSplitType等于ISP_HOR_SPLIT,则将ispDefaultMode1设置为等于INTRA_ANGULAR18并且将ispDefaultMode2设置为等于INTRA_ANGULAR5。

否则,将ispDefaultMode1设置为等于INTRA_ANGULAR50且将ispDefaultMode2设置为等于INTRA_ANGULAR63。

4.candModeList[x](x=0…5)导出如下:

如果candIntraPredModeB等于candIntraPredModeA并且candIntraPredModeA大于INTRA_DC,则candModeList[x](x=0…5)导出如下:

如果IntraLumaRefLineIdx[xCb][yCb]等于0并且IntraSubPartitionsSplitType等于ISP_NO_SPLIT,则以下适用:

candModeList[0]=candIntraPredModeA (8-9)

candModeList[1]=INTRA_PLANAR (8-10)

candModeList[2]=INTRA_DC (8-11)

candModeList[3]=2+((candIntraPredModeA+61)%64) (8-12)

candModeList[4]=2+((candIntraPredModeA-1)%64) (8-13)

candModeList[5]=2+((candIntraPredModeA+60)%64) (8-14)

否则(IntraLumaRefLineIdx[xCb][yCb]不等于0或者IntraSubPartitionsSplitType不等于ISP_NO_SPLIT),则以下适用:

candModeList[0]=candIntraPredModeA (8-15)

candModeList[1]=2+((candIntraPredModeA+61)%64) (8-16)

candModeList[2]=2+((candIntraPredModeA-1)%64) (8-17)

如果以下条件中的一个为真,

IntraSubPartitionsSplitType等于ISP_HOR_SPLIT并且candIntraPredModeA小于INTRA_ANGULAR34,

IntraSubPartitionsSplitType等于ISP_VER_SPLIT和candIntraPredModeA大于or equal to INTRA_ANGULAR34,

IntraLumaRefLineIdx[xCb][yCb]不等于0,

则以下适用:

candModeList[3]=2+((candIntraPredModeA+60)%64) (8-18)

candModeList[4]=2+(candIntraPredModeA%64) (8-19)

candModeList[5]=2+((candIntraPredModeA+59)%64) (8-20)

否则,以下适用:

candModeList[3]=ispDefaultMode1 (8-21)

candModeList[4]=ispDefaultMode2 (8-22)

candModeList[5]=INTRA_PLANAR (8-23)

否则,如果candIntraPredModeB不等于candIntraPredModeA并且candIntraPredModeA或candIntraPredModeB大于INTRA_DC,则以下适用:

变量minAB和maxAB导出如下:

minAB=Min(candIntraPredModeA,candIntraPredModeB) (8-24)

maxAB=Max(candIntraPredModeA,candIntraPredModeB) (8-25)

如果candIntraPredModeA和candIntraPredModeB都大于INTRA_DC,则candModeList[x](x=0…5)导出如下:

candModeList[0]=candIntraPredModeA (8-26)

candModeList[1]=candIntraPredModeB (8-27)

如果IntraLumaRefLineIdx[xCb][yCb]等于0并且IntraSubPartitionsSplitType等于ISP_NO_SPLIT,则以下适用:

candModeList[2]=INTRA_PLANAR (8-28)

candModeList[3]=INTRA_DC (8-29)

如果maxAB-minAB在2到62的范围内(包括2和62),则以下适用:

candModeList[4]=2+((maxAB+61)%64) (8-30)

candModeList[5]=2+((maxAB-1)%64) (8-31)

否则,以下适用:

candModeList[4]=2+((maxAB+60)%64) (8-32)

candModeList[5]=2+((maxAB)%64) (8-33)

否则(IntraLumaRefLineIdx[xCb][yCb]不等于0或者IntraSubPartitionsSplitType不等于ISP_NO_SPLIT),则以下适用:

如果IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,并且abs(candIntraPredModeB-ispDefaultMode1)小于abs(candIntraPredModeA-ispDefaultMode1),则以下适用:

candModeList[0]=candIntraPredModeB (8-34)

candModeList[1]=candIntraPredModeA (8-35)

如果maxAB-minAB等于1,则以下适用:

candModeList[2]=2+((minAB+61)%64) (8-36)

candModeList[3]=2+((maxAB-1)%64) (8-37)

candModeList[4]=2+((minAB+60)%64) (8-38)

candModeList[5]=2+(maxAB%64) (8-39)

否则如果maxAB-minAB等于2,则以下适用:

candModeList[2]=2+((minAB-1)%64) (8-40)

candModeList[3]=2+((minAB+61)%64) (8-41)

candModeList[4]=2+((maxAB-1)%64) (8-42)

candModeList[5]=2+((minAB+60)%64) (8-43)

否则如果maxAB-minAB大于61,则以下适用:

candModeList[2]=2+((minAB-1)%64) (8-44)

candModeList[3]=2+((maxAB+61)%64) (8-45)

candModeList[4]=2+(minAB%64) (8-46)

candModeList[5]=2+((maxAB+60)%64) (8-47)

否则,以下适用:

candModeList[2]=2+((minAB+61)%64) (8-48)

candModeList[3]=2+((minAB-1)%64) (8-49)

candModeList[4]=2+((maxAB+61)%64) (8-50)

candModeList[5]=2+((maxAB-1)%64) (8-51)

否则(candIntraPredModeA或candIntraPredModeB大于INTRA_DC),candModeList[x](x=0…5)导出如下:

如果IntraLumaRefLineIdx[xCb][yCb]等于0并且IntraSubPartitionsSplitType等于ISP_NO_SPLIT,则以下适用:

candModeList[0]=candIntraPredModeA (8-52)

candModeList[1]=candIntraPredModeB (8-53)

candModeList[2]=1-minAB (8-54)

candModeList[3]=2+((maxAB+61)%64) (8-55)

candModeList[4]=2+((maxAB-1)%64) (8-56)

candModeList[5]=2+((maxAB+60)%64) (8-57)

否则,如果IntraLumaRefLineIdx[xCb][yCb]不等于0,则以下适用:

candModeList[0]=maxAB (8-58)

candModeList[1]=2+((maxAB+61)%64) (8-59)

candModeList[2]=2+((maxAB-1)%64) (8-60)

candModeList[3]=2+((maxAB+60)%64) (8-61)

candModeList[4]=2+(maxAB%64) (8-62)

candModeList[5]=2+((maxAB+59)%64) (8-63)

否则(IntraSubPartitionsSplitType不等于ISP_NO_SPLIT),则以下适用:

candModeList[0]=INTRA_PLANAR (8-64)

candModeList[1]=maxAB (8-65)

candModeList[2]=2+((maxAB+61)%64) (8-66)

candModeList[3]=2+((maxAB-1)%64) (8-67)

candModeList[4]=2+((maxAB+60)%64) (8-68)

candModeList[5]=2+(maxAB%64) (8-69)

否则,以下适用:

如果IntraLumaRefLineIdx[xCb][yCb]等于0并且IntraSubPartitionsSplitType等于ISP_NO_SPLIT,则以下适用:

candModeList[0]=candIntraPredModeA (8-70)

candModeList[1]=(candModeList[0]==INTRA_PLANAR)?INTRA_DC:INTRA_PLANAR (8-71)

candModeList[2]=INTRA_ANGULAR50 (8-72)

candModeList[3]=INTRA_ANGULAR18 (8-73)

candModeList[4]=INTRA_ANGULAR46 (8-74)

candModeList[5]=INTRA_ANGULAR54 (8-75)

否则,如果IntraLumaRefLineIdx[xCb][yCb]不等于0,则以下适用:

candModeList[0]=INTRA_ANGULAR50 (8-76)

candModeList[1]=INTRA_ANGULAR18 (8-77)

candModeList[2]=INTRA_ANGULAR2 (8-78)

candModeList[3]=INTRA_ANGULAR34 (8-79)

candModeList[4]=INTRA_ANGULAR66 (8-80)

candModeList[5]=INTRA_ANGULAR26 (8-81)

否则,如果IntraSubPartitionsSplitType等于ISP_HOR_SPLIT,则以下适用:

candModeList[0]=INTRA_PLANAR (8-82)

candModeList[1]=INTRA_ANGULAR18 (8-83)

candModeList[2]=INTRA_ANGULAR25 (8-84)

candModeList[3]=INTRA_ANGULAR10 (8-85)

candModeList[4]=INTRA_ANGULAR65 (8-86)

candModeList[5]=INTRA_ANGULAR50 (8-87)

否则,如果IntraSubPartitionsSplitType等于ISP_VER_SPLIT,则以下适用:

candModeList[0]=INTRA_PLANAR (8-88)

candModeList[1]=INTRA_ANGULAR50 (8-89)

candModeList[2]=INTRA_ANGULAR43 (8-90)

candModeList[3]=INTRA_ANGULAR60 (8-91)

candModeList[4]=INTRA_ANGULAR3 (8-92)

candModeList[5]=INTRA_ANGULAR18 (8-93)

5.通过应用以下流程导出IntraPredModeY[xCb][yCb]:

如果intra_luma_mpm_flag[xCb][yCb]等于1,则将IntraPredModeY[xCb][yCb]设置为等于candModeList[intra_luma_mpm_idx[xCb][yCb]]。

否则,通过应用以下顺序步骤导出IntraPredModeY[xCb][yCb]:

1.如果对于i=0…4并且对于每个i,j=(i+1)…5,candModeList[i]

大于candModeList[j],如下交换(Swap)两个值:

(candModeList[i],candModeList[j])=Swap(candModeList[i],candModeList[j]) (8-94)

2.通过应用以下顺序步骤导出IntraPredModeY[xCb][yCb]:

i.将IntraPredModeY[xCb][yCb]设置为等于intra_luma_mpm_remainder[xCb][yCb]。

ii.对于i等于0到5(包括0和5),如果IntraPredModeY[xCb][yCb]大于或等于candModeList[i],则将IntraPredModeY[xCb][yCb]的值增加一。

将变量IntraPredModeY[x][y](x=xCb…xCb+cbWidth-1并且y=yCb…yCb+cbHeight-1)设置为等于IntraPredModeY[xCb][yCb]。

3.通过实施例解决的问题的示例

在LIC中,需要通过使用临近重构样点来导出两个参数,包括缩放参数和偏移b,这可能会引起延迟问题。

GBI中使用的允许权重因子的集合是固定的,这可能效率较低。

CIIP模式仅适用于非跳过Merge模式,这可能效率较低。

在当前设计中,应存储CIIP模式标志,因为对于帧内编解码块的帧内模式推导处理和CIIP编解码块的帧内模式推导处理,使用临近块的CIIP模式标志。

在当前设计中,可以进一步改进CIIP权重推导,例如,可以简化对两个临近块和三个不同权重对的检查。

在当前设计中,在CIIP权重推导处理期间,如果临近块使用BDPCM模式编码,则将其视为帧内模式。然而,将其视为非帧内模式可能更合理,因为BDPCM是为屏幕内容编码而设计的。

4.实施例的示例

在下文中,用块来表示变换单元(TU)/预测单元(PU)/编解码单元(CU)等内的变换单元(TU)/预测单元(PU)/编解码单元(CU)/子块。

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

假设(xCb,yCb)是当前块的左上样点相对于当前图片的左上样点的位置,cbWidth和cbHeight指定当前块的宽度和高度。

1.CIIP标志或/和LIC标志或/和扩散滤波标志或/和双边滤波标志或/和变换域滤波标志或/和其他类型重构后滤波器的使能标志可以被约束为假(CIIP或/和LIC或/和扩散滤波器或/和双边滤波器或/和变换域滤波器可以隐式地被禁用),这取决于其他块(诸如相邻或非相邻临近块和/或参考块)的编解码模式。

a.当一个标志被导出为假时,可以不应用对应的方法。

b.当一个标志被导出为假时,跳过此类模式的使用指示的信令通知。

c.当一个标志被导出为假时,可以仍然信令通知此类模式的使用指示,但在一致性比特流中被约束为假,并且不应用此类模式。

d.在一个示例中,是否应用一个或多个提出的约束(诸如1.a、1.b和1.c)可取决于所有或一些相邻和/或非相邻临近行或列的编解码模式。

i.可替代地,是否应用这种约束可以取决于未使用特定模式编解码的相邻或非相邻临近行或列中的至少N(N>=1)个样点。

e.在一个示例中,相邻和/或非相邻临近行可以包括上方行和/或右上方行。

f.在一个示例中,相邻和/或非相邻相邻列可以包括左侧列和/或左下角和/或左上角。

g.在一个示例中,不是当前块的块的特定模式可以包括帧内模式和/或CIIP模式和/或CPR模式。

h.在一个示例中,如果临近和/或非相邻行或列中的临近/非相邻块中的任何一个用特定模式(例如,帧内和/或CIIP模式和/或CPR模式)编解码,则应用一个或多个提出的约束(诸如1.a、1.b和1.c)。

i.在一个示例中,如果相邻和/或非相邻临近行或列中的所有临近/非相邻块使用特定模式(例如,帧内和/或CIIP和/或CPR模式)编解码,则应用一个或多个提出的约束。

j.在一个示例中,如果临近或非相邻行或列中的至少N个临近/非相邻块未使用特定模式(例如,帧内和/或CIIP模式和/或CPR模式)编解码,则不应用一个或多个提出的约束(诸如1.a、1.b和1.c)。

k.在一个示例中,是否应用一个或多个提出的约束(诸如1.a、1.b和1.c)可取决于当前块的位置。

i.在一个示例中,如果当前块位于当前CTU的顶部(当前块及其上方临近块属于不同的CTU),则不应用所提出的约束。

ii.在一个示例中,如果当前块位于当前CTU的左侧(当前块及其左侧临近块属于不同的CTU),则不应用所提出的约束。

2.CIIP模式的CIIP标志和/或帧内模式可以与运动信息一起存储在基于历史的运动矢量预测(HMVP)表中。

a.在一个示例中,当比较两个候选的运动信息(诸如修剪处理)时,在比较中不考虑CIIP模式中的CIIP标志或/和帧内模式。

b.在一个示例中,当比较两个候选的运动信息时,在比较中考虑CIIP模式中的CIIP标志或/和帧内模式。

c.在一个示例中,当Merge候选来自HMVP表中的条目时,该条目的CIIP标志也被复制到Merge候选。

d.在一个示例中,当Merge候选来自HMVP表中的条目时,该条目的CIIP标志和帧内模式也被复制到Merge候选。

3.可为AMVP模式(AMVP模式或/和具有SMVD模式的AMVP)执行CIIP

a.在当前块的Merge模式或/和UMVE(也称为具有运动矢量差的Merge,简称MMVD)模式中,临近/非相邻块的CIIP模式中的CIIP标志和/或帧内模式可以是继承的。

b.可以为非跳过Merge模式或/和非跳过UMVE模式信令通知CIIP模式中的CIIP标志和/或帧内模式,并且在跳过Merge模式或/和跳过UMVE模式中,临近/非相邻块的CIIP模式中的CIIP标志和/或帧内模式可以是继承的。

c.可以为跳过Merge模式或/和跳过UMVE模式信令通知CIIP模式中的CIIP标志和/或帧内模式,并且在非跳过Merge模式或/和非跳过UMVE模式中,临近/非相邻块的CIIP模式中的CIIP标志和/或帧内模式可以是继承的。

d.在一个示例中,可以为AMVP模式信令通知CIIP标志和帧内模式。

e.在一个示例中,在Merge模式或/和UMVE模式中,CIIP标志可以是继承的,并且如果CIIP标志为真,则如果CIIP中允许多个帧内模式,则可以进一步信令通知帧内模式。

f.在一个示例中,可以由当前块继承在Merge模式或/和UMVE模式中的临近/非相邻块的CIIP标志和帧内模式。

g.在一个示例中,可以为跳过模式禁用CIIP。

h.在一个示例中,当比较两个Merge候选时,在比较中可不考虑CIIP中的CIIP标志或/和帧内模式。

i.在一个示例中,当比较两个Merge候选时,在比较中可以考虑CIIP中的CIIP标志或/和帧内模式。

4.可以为成对预测或组合双向预测或其他种类的虚拟/人工候选(例如,零运动矢量候选)禁用CIIP。

a.可替代地,如果成对预测或组合双向预测中包含的两个候选中的一个采用CIIP预测,则可以为成对或组合双向Merge候选启用CIIP。

ii.在一个示例中,CIIP模式候选的帧内模式可以是继承的。

iii.在一个示例中,可以显式地信令通知帧内模式。

b.可替代地,如果成对预测或组合双向预测中包含的两个候选都采用CIIP预测,则可以为成对或组合双向Merge候选启用CIIP。

i.在一个示例中,两个候选中的一个的帧内模式可以是继承的。

ii.在一个示例中,可以从两个候选的帧内模式导出帧内模式,并且用于成对或组合双向Merge候选。

iii.在一个示例中,可以显式地信令通知帧内模式。

5.CIIP模式或/和扩散滤波器或/和双边滤波器或/和变换域滤波器或/和其他类型的重构后滤波器所需的临近和/或非相邻空域重构样点可替换为参考图片中的对应样点(诸如参考块的临近和/或非相邻空域样点,如图17所示)。

a.在一个示例中,如果当前块是双向预测的,则可以对两个参考块的临近样点进行平均以生成最终的临近样点。

b.在一个示例中,如果当前块是双向预测的,则可以使用两个参考块中的一个的临近样点作为最终临近样点。

c.在一个示例中,如果当前块是双向预测的,则如果对当前块应用不等权重GBI或加权预测或LIC,则可以对两个参考块的临近样点进行加权平均以生成最终临近样点。

d.在一个示例中,可以通过当前块的运动信息来识别参考图片中的对应样点(例如,参考块的临近样点)。

e.在一个示例中,可以通过当前块的修改的运动信息来识别参考图片中的对应样点(例如,参考块的临近样点)。例如,在用于识别临近样点之前,可以将运动矢量取整到整数精度。

f.在一个示例中,经由整数像素精度的运动矢量来识别参考图片中的对应样点(例如,参考块的临近样点)。

i.在一个示例中,首先将参考参考块的MV取整到整数像素。利用取整的MV来识别参考块的临近样点。

ii.在一个示例中,当当前块是以整数像素运动信息编解码时,应用所提出的替换。因此,不需要取整。

g.在一个示例中,可将所提出的替换仅应用于诸如亮度分量的特定颜色分量。

i.可替代地,可将所提出的替换应用于所有颜色分量。

6.提出禁止将先前编解码的CIIP标志用于编解码后续块。

a.在一个示例中,跳过对来自先前编解码块的CIIP标志的检查处理以提高吞吐量。

b.在一个示例中,跳过帧内模式推导处理中对来自临近块的CIIP标志的检查处理。

i.在一个示例中,对于一个临近块,如果它是用CIIP模式编解码的,则可将相关联的帧内模式设置为给定模式(诸如平面模式)。可替代地,此外,可将相关联的帧内模式用于MPM列表推导处理。

ii.在一个示例中,对于一个临近块,如果它是用CIIP模式或常规帧间模式编解码的,则可将相关联的帧内模式设置为给定模式(诸如平面模式)。可替代地,可将相关联的帧内模式用于MPM列表推导处理。

iii.在一个示例中,可以不存储CIIP编解码块的帧内模式,并且可以认为CIIP编解码块在解码处理中不可用。可替代地,可以用与常规帧间模式相同的方式来对待CIIP编解码块。

c.可替代地,此外,还提出从存储器中移除CIIP标志以节省存储模式信息所需的存储器大小。

7.提出了用旁路编解码对CIIP模式标志进行编解码。

a.可替代地,CIIP模式标志可以是上下文编解码的,但不参考临近块的CIIP模式标志。

8.提出了在CIIP中进行加权和的方法可取决于颜色分量。

a.例如,对于主颜色分量(例如,G分量)和其他颜色分量(例如,B和R分量),CIIP中的加权值是不同的。

b.例如,对于亮度分量和色度分量,CIIP中的加权值是不同的。

c.例如,对于帧间预测和帧内预测,加权值在色度分量上相等。

9.提出当加权因子选择是根据临近块进行时,对于临近块,如果以CIIP模式编解码,则可以将其视为帧间编解码块。

a.可替代地,当加权因子选择是根据临近块进行时,对于临近块,如果以CIIP模式编解码,则可以将其视为帧内编解码块。

10.可在特定条件下应用上面提出的方法,特定条件诸如块尺寸、条带/图片/片类型或运动信息。

a.在一个示例中,当块尺寸包含小于M×H个样点时(例如16、32或64个亮度样点),提出的方法不被允许。

b.可替代地,当块的宽度或/和高度的最小尺寸小于或不大于X时,提出的方法不被允许。在一个示例中,X被设置为8。

c.可替代地,当块的宽度或/和高度的最小尺寸不小于X时,提出的方法不被允许。在一个示例中,X被设置为8。

d.可替代地,当块的宽度>th1或>=th1和/或块的高度>th2或>=th2时,提出的方法不被允许。在一个示例中,th1和/或th2被设置为8。

e.可替代地,当块的宽度

11.CIIP中使用的允许权重对(wIntra,wInter)的数量可以从3减少到2,表示为(a,b)和(c,d)。

a.在一个示例中,两个对被定义为{(1,3)和(3,1)};或{(1,3)和(2,2)};或{(3,1)和(2,2)};或{(3,5)和(4,4)}或{(5,3)和(4,4)},或{(1,7)和(4,4)}或{(7,1)和(4,4)}。

b.在一个示例中,仅基于一个临近块A来确定权重对。

i.在一个示例中,如果一个临近块A可用并且是帧内编解码的,则将(wIntra,wInter)设置为等于(a,b);否则,将(wIntra,wInter)设置为等于(c,d)。

ii.在一个示例中,块A是左侧临近块。

iii.在一个示例中,块A是上方临近块。

c.在一个示例中,基于两个或多个临近块来确定权重对,并且临近块中的至少一个满足某些条件。

i.在一个示例中,如果临近块A和B中的至少一个可用并且是帧内编解码的,则将(wIntra,wInter)设置为等于(A,B);否则,将(wIntra,wInter)设置为等于(c,d)。

1.在一个示例中,块A是左侧临近块,B是上方临近块。

d.在一个示例中,基于两个或多个临近块来确定权重对,并且每个临近块满足相同的条件。

i.在一个示例中,如果临近块A和B都可用并且都是帧内编解码的,则将(wIntra,wInter)设置为等于(A,B);否则,将(wIntra,wInter)设置为等于(c,d)。

1.在一个示例中,块A是左侧临近块,B是上方临近块。

e.在一个示例中,(a,b)和(c,d)的设置可以如下:

1.在一个示例中,将(a,b)设置为(2,2)或(3,1)。

2.在一个示例中,将(c,d)设置为等于(1,3)。

3.在一个示例中,以下两个条件中至少有一个为真:a不等于c,或b不等于d。

4.(a,b)不等于(c,d)。

f.在一个示例中,上述临近块(例如,A或B)是相邻的或非相邻的空域临近块或时域临近块。

i.在一个示例中,临近块A或B是左侧(或顶部)临近块。

ii.在一个示例中,临近块A和B分别是左临近块和顶部临近块。

iii.在一个示例中,左侧临近块覆盖位置(xCb-1,yCb+cbHeight-1)。

iv.在一个示例中,顶部临近块覆盖位置(xCb+cbWidth-1,yCb-1)。

v.在一个示例中,左侧临近块覆盖位置(xCb-1,yCb)。

vi.在一个示例中,顶部临近块覆盖位置(xCb,yCb-1)。

g.对于上述示例,CIIP预测形成如下:

P

其中将offset设置为(1<<(N-1))或0,并且可将N设置为log2(wIntra+wInter)。

12.CIIP中使用的允许权重对(wIntra,wInter)的数量可以从3个减少到1个。

a.在一个示例中,将一个权重对定义为(1,3)或(2,2)或(1,7)或(2,6)或(3,5)或(4,4)。

b.在一个示例中,将(wIntra,wInter)设置为等于(2,2)。

c.在一个示例中,将(wIntra,wInter)设置为等于(1,3)。

d.对于上述示例,CIIP预测形成如下:

P

其中将offset设置为(1<<(N-1))或0,并且可将N设置为log2(wIntra+wInter)。

13.可以基于一个或多个临近块是否是使用CIIP模式编解码的而导出(wIntra,wInter)权重对。

a.可以从用于先前编解码块的权重对导出用于当前块的权重对。

b.在一个示例中,仅基于一个临近块A来确定权重对。

i.在一个示例中,如果一个临近块A是用CIIP模式编解码的,则将当前块的(wIntra,wInter)设置为等于临近块A的(wIntra,wInter);否则,如果临近块A可用并且是帧内编解码的,则将(wIntra,wInter)设置为等于(a,b);否则,将(wIntra,wInter)设置为等于(c,d)。

ii.在一个示例中,如果一个临近块A是用CIIP模式编解码的,则将当前块的(wIntra,wInter)设置为等于临近块的(wIntra,wInter);否则,将(wIntra,wInter)设置为等于(a,b)。

iii.对于上述示例,以下可适用:

1.在一个示例中,将(a,b)设为等于(2,2)或(3,1)。

2.在一个示例中,将(c,d)设为等于(1,3)。

3.在一个示例中,以下两个条件中至少有一个为真:a不等于c;b不等于d。

c.在一个示例中,基于两个或多个临近块来确定权重对,并且临近块中的至少一个满足特定条件。

i.可以以给定的检查顺序检查多个临近块(例如,首先检查左侧块,然后检查顶部块),以识别CIIP模式的使用。

ii.在一个示例中,如果临近块A和B中的至少一个是用CIIP模式编解码的,则将当前块的(wIntra,wInter)设置为等于在给定的检查顺序中的第一个CIIP编解码的临近块的(wIntra,wInter);否则,如果A和B中的至少一个临近块可用并且是帧内编解码的,则将(wIntra,wInter)设置为等于(a,b);否则,将(wIntra,wInter)设置为等于(c,d)。

iii.对于上述示例,以下可适用:

1.在一个示例中,将(a,b)设置为等于(2,2)或(3,1)。

2.在一个示例中,将(c,d)设置为等于(1,3)。

3.在一个示例中,以下两个条件中至少有一个为真:a不等于c;b不等于d。

iv.在一个示例中,如果临近块A和B中的至少一个是用CIIP模式编解码的,则将当前块的(wIntra,wInter)设置为等于在给定的检查顺序中的第一个CIIP编解码的临近块的(wIntra,wInter);否则,如果临近块A和B都可用并且是帧内编解码的,则将(wIntra,wInter)设置为等于(a,b);否则,将(wIntra,wInter)设置为等于(c,d)。

v.在一个示例中,如果临近块A和B中的至少一个是用CIIP模式编解码的,则将当前块的(wIntra,wInter)设置为等于在给定的检查顺序中的第一个CIIP编解码的临近块的(wIntra,wInter);否则,将(wIntra,wInter)设置为等于(c,d)。

vi.对于上述示例,以下可适用:

1.在一个示例中,将(c,d)设置为等于(2,2)或(1,3)。

d.在一个示例中,上述临近块A或B是相邻的或非相邻的空域临近块或时域临近块。

i.在一个示例中,临近块A或B是左侧(或顶部)临近块。

ii.在一个示例中,临近块A和B分别是左侧临近块和顶部临近块。

iii.在一个示例中,左侧临近块覆盖位置(xCb-1,yCb+cbHeight-1)。

iv.在一个示例中,顶部临近块覆盖位置(xCb+cbWidth-1,yCb-1)。

v.在一个示例中,左侧临近块覆盖位置(xCb-1,yCb)。

vi.在一个示例中,顶部临近块覆盖位置(xCb,yCb-1)。

e.对于上述示例,CIIP预测形成如下:

P

其中将offset设置为(1<<(N-1))或0,并且可将N设置为log2(wIntra+wInter)。

14.CIIP中使用的临近块的选择可以取决于编解码信息,诸如块维度/块形状/低延迟检查标志/参考图片信息/当前块和临近块的运动信息/临近块的帧内预测模式。

15.CIIP中使用的权重对可以取决于编解码信息,诸如块维度/块形状/低延迟检查标志/参考图片信息/当前块和临近块的运动信息/临近块的帧内预测模式。

a.在一个示例中,进一步信令通知权重对的集合。

b.在一个示例中,权重对的选择可以取决于临近块是否是帧间编解码的而不是帧内编解码的。

16.在确定CIIP信息时(例如,对于先前设计和上述项目,在确定应用于帧内预测信号或帧间预测信号的权重时),如果临近块不是用MODE_INTRA(即,帧内模式)编解码的,则可以将其视为帧内编解码的。

a.在一个示例中,如果临近块是IBC编解码的。

b.在一个示例中,如果临近块是CIIP编解码的。

c.在一个示例中,如果临近块是TPM编解码的。

d.在一个示例中,如果临近块是调色板(Palette)编解码的。

e.在一个示例中,如果临近块是RDPCM编解码的。

f.在一个示例中,如果临近块是在没有应用变换(例如,变换跳过模式)和/或量化(例如,变换旁路量化模式)的情况下编解码的。

g.可替代地,如果临近块是用上述子项目(例如,IBC、RDPCM、调色板)中提及的模式编解码的,则临近块可被视为是非帧内编解码(例如,帧间编码)的。

h.在一个示例中,如果临近块是帧内编解码的,但没有用特定的预测模式(例如,平面)编解码,则临近块可以被视为是非帧内编解码(例如,帧间编码)的。

i.可替代地,如果临近块是用基于矩阵的帧内预测方法和/或多参考行帧内预测方法(其中参考行索引不等于K,例如K=0)和/或BDPCM编解码的,则可以将临近块视为是非帧内编解码(例如,帧间编解码)的。

j.所提出的方法可应用于其它编解码工具,其取决于临近块是否以帧内模式编解码。

k.所提出的方法可应用于其它编解码工具,其取决于临近块是否以帧间模式编解码。

17.可以在SPS/PPS/VPS/序列标头/图片标头/条带标头/片组片头/CTU组等中信令通知是启用还是禁用上述方法。

a.可替代地,可以在SPS/PPS/VPS/序列标头/图片标头/条带标头/片组标头/CTU组等中信令通知要使用哪种方法。

b.可替代地,是启用还是禁用上述方法和/或要应用哪种方法可以取决于块维度、视频处理数据单元(VPDU)、图片类型、低延迟检查标志、当前块或先前编解码块的编解码信息(例如参考图片、单向或双向预测)。

5.实施例

5.1实施例1

下面给出了跳过检查先前编解码块的CIIP标志的示例。

8.4.2亮度帧内预测模式的推导处理

该处理的输入是:

亮度位置(xCb,yCb),其指定当前亮度编解码块相对于当前图片的左上亮度样点的左上样点,

变量cbWidth,其指定亮度样点中当前编解码块的宽度,

变量cbHeight,其指定亮度样点中当前编解码块的高度。

在该处理中,导出亮度帧内预测模式IntraPredModeY[xCb][yCb]。

表8-1指定了帧内预测模式IntraPredModeY[xCb][yCb]的值以及相关名称。

表8-1帧内预测模式和相关名称的规范

注释:帧内预测模式INTRA_LT_CCLM,INTRA_L_CCLM和INTRA_T_CCLM仅适用于色度分量。

由以下顺序步骤导出IntraPredModeY[xCb][yCb]:

1.将临近位置(xNbA,yNbA)和(xNbB,yNbB)分别设置为等于(xCb-1,yCb+cbHeight-1)和(xCb+cbWidth-1,yCb-1)。

2.对于由A或B替换X的情况,变量candIntraPredModeX导出如下:

将位置(xCurr,yCurr)设置为等于(xCb,yCb)、并且将临近位置(xNbY,yNbY)设置为等于(xNbX,yNbX)作为输入,调用章节6.4.X[Ed.(BB):待定的临近块可用性检查处理]中规定的块的可用性推导处理,并且将输出分配给availableX。

候选帧内预测模式candIntraPredModeX推导如下:

如果以下条件中的一个或多个为真,则将candIntraPredModeX设置为等于INTRA_PLANAR。

变量availableX等于FALSE。

CuPredMode[xNbX][yNbX]不等于MODE_INTRA。

pcm_flag[xNbX][yNbX]等于1。

X等于B和yCb-1小于((yCb>>CtbLog2SizeY)<

否则,将candIntraPredModeX设置为等于IntraPredModeY[xNbX][yNbX]。

3.变量ispDefaultMode1和ispDefaultMode2定义如下:

如果IntraSubPartitionsSplitType等于ISP_HOR_SPLIT,则将ispDefaultMode1设置为等于INTRA_ANGULAR18并且将ispDefaultMode2设置为等于INTRA_ANGULAR5。

否则,将ispDefaultMode1设置为等于INTRA_ANGULAR50且将ispDefaultMode2设置为等于INTRA_ANGULAR63。

4.candModeList[x](x=0…5)导出如下:

实施例2

如果左侧邻居可用且是帧内编解码的,则将(wIntra,wInter)设置为等于(2,2);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例3

如果左侧邻居可用且是帧内编解码的,则将(wIntra,wInter)设置为等于(3,1);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例4

如果顶部邻居可用且是帧内编解码的,则将(wIntra,wInter)设置为等于(2,2);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例5

如果顶部邻居可用且是帧内编解码的,则将(wIntra,wInter)设置为等于(3,1);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例6

如果左侧邻居和顶部邻居可用且是帧内编解码的,则将(wIntra,wInter)设置为等于(2,2);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例7

如果左侧邻居和顶部邻居可用且是帧内编解码的,则将(wIntra,wInter)设置为等于(3,1);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例8

如果左侧或顶部邻居可用且是帧内编解码的,则将(wIntra,wInter)设置为等于(2,2);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例9

如果左侧或顶部邻居可用且是帧内编解码的,则将(wIntra,wInter)设置为等于(3,1);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例10

将(wIntra,wInter)设置为等于(2,2)。

CIIP预测形成如下:

P

实施例11

将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例12

如果左侧邻居是CIIP编解码的,则将当前块的(wIntra,wInter)设置为等于左侧邻居的(wIntra,wInter);否则,如果左侧邻居可用且是帧内编码的,则将(wIntra,wInter)设置为等于(3,1);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例13

如果左侧邻居是CIIP编解码的,则将当前块的(wIntra,wInter)设置为等于左侧邻居的(wIntra,wInter);否则,如果左侧邻居可用且是帧内编解码的,则将(wIntra,wInter)设置为等于(2,2);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例14

如果顶部邻居是CIIP编解码的,则将当前块的(wIntra,wInter)设置为等于顶部邻居的(wIntra,wInter);否则,如果顶部邻居可用且是帧内编解码的,则将(wIntra,wInter)设置为等于(3,1);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例15

如果顶部邻居是CIIP编解码的,则将当前块的(wIntra,wInter)设置为等于顶部邻居的(wIntra,wInter);否则,如果顶部邻居可用且是帧内编解码的,则将(wIntra,wInter)设置为等于(2,2);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例16

如果左侧或/和顶部邻居是CIIP编解码的,则将当前块的(wIntra,wInter)设置为等于第一个CIIP编解码的邻居(从左侧到顶部)的(wIntra,wInter);否则,如果左侧或/和顶部邻居可用并且是帧内编解码的,则将(wIntra,wInter)设置为等于(3,1);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例17

如果左侧或/和顶部邻居是CIIP编解码的,则将当前块的(wIntra,wInter)设置为等于第一个CIIP编码的邻居(从左侧到顶部)的(wIntra,wInter);否则,如果左侧或/和顶部邻居可用并且是帧内编解码的的,则将(wIntra,wInter)设置为等于(2,2);否则,则将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例18

如果左侧邻居是CIIP编解码的,则将当前块的(wIntra,wInter)设置为等于左侧邻居的(wIntra,wInter);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例19

如果左侧邻居是CIIP编解码的,则将当前块的(wIntra,wInter)设置为等于左侧邻居的(wIntra,wInter);否则,将(wIntra,wInter)设置为等于(2,2)。

CIIP预测形成如下:

P

实施例20

如果顶部邻居是CIIP编解码的,则将当前块的(wIntra,wInter)设置为等于顶部邻居的(wIntra,wInter);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例21

如果顶部邻居是CIIP编解码的,则将当前块的(wIntra,wInter)设置为等于顶部邻居的(wIntra,wInter);否则,将(wIntra,wInter)设置为等于(2,2)。

CIIP预测形成如下:

P

实施例22

如果左侧或/和顶部邻居是CIIP编解码的,则将当前块的(wIntra,wInter)设置为等于第一个CIIP编解码的邻居(从左侧到顶部)的(wIntra,wInter);否则,将(wIntra,wInter)设置为等于(1,3)。

CIIP预测形成如下:

P

实施例23

如果左侧或/和顶部邻居是/是CIIP编解码的,则将当前块的(wIntra,wInter)设置为等于第一个CIIP编解码的邻居(从左侧到顶部)的(wIntra,wInter);否则,将(wIntra,wInter)设置为等于(2,2)。

CIIP预测形成如下:

P

实施例24

8.5.6帧间块的解码处理

8.5.6.1概述

当解码以帧间预测模式编解码的编解码单元时,调用此处理。

当ciip_flag[xCb][yCb]等于1时,预测样点的阵列predSamples修改如下:

如果cIdx等于0,则以下适用:

将位置(xTbCmp,yTbCmp)设置为等于(xCb,yCb)、帧内预测模式predModeIntra设置为等于IntraPredModeY[xCb][yCb]、变换块宽度nTbW和高度nTbH设置为等于cbWidth和cbHeight、编解码块宽度nCbW和高度nCbH设置为等于cbWidth和cbHeight、变量cIdx作为输入,调用第8.4.5.2.5条中规定的常规帧内样点预测处理,并且将输出分配给(cbWidth)x(cbHeight)阵列predSamplesIntra

将位置(xTbCmp,yTbCmp)设置为等于(xCb,yCb)、编解码块宽度cbWidth、编解码块高度cbHeight、将样点阵列predSamplesInter和predSamplesIntra分别设置为等于predSamples和predSamplesIntra

8.5.6.7组合Merge和帧内预测的加权样点预测处理

该处理的输入是:

亮度位置(xCb,yCb),其指定当前亮度编解码块相对于当前图片的左上亮度样点的左上样点,

当前编解码块的宽度cbWidth,

当前编解码块的高度cbHeight,

两个(cbWidth)x(cbHeight)阵列predSamplesInter和predSamplesIntra,

变量cIdx,其指定颜色分量索引。

此处理的输出是预测样点值的(cbWidth)x(cbHeight)阵列predSamplesComb。

变量bitDepth的推导如下:

如果cIdx等于0,则将bitDepth设置为BitDepth

否则,将bitDepth设置为BitDepth

变量callFact导出如下:

scallFact=(cIdx==0)?0:1. (8-838)

将临近亮度位置(xNbA,yNbA)和(xNbB,yNbB)分别设置为等于(xCb-1,yCb-1+(cbHeight<

对于X被A或B替换的情况,变量availableX和isIntraCodedNeighbourX导出如下:

将位置(xCurr,yCurr)设置为等于(xCb,yCb)、临近位置(xNbY,yNbY)设置为等于(xNbX,yNbX)、checkPredModeY设置为假(FALSE)、并且将cIdx设置为等于0作为输入,调用第6.4.4条中规定的临近块可用性的推导处理,并且将输出分配给availableX。

变量isIntraCodedNeighbourX的推导如下:

如果availableX等于真(TRUE),并且CuPredMode[0][xNbX][yNbX]等于MODE_INTRA,并且BdpcmFlag[xNbX][yNbX]等于0,则将isIntraCodedNeighbourX设置为等于真。

否则,将isIntraCodedNeighbourX设置为等于假。

权重w推导如下:

如果isIntracodedNeighbourA和isIntraCodedNeighbourB都等于真,则将w设置为等于3。

否则,如果isIntracodedNeighbourA和isIntraCodedNeighbourB都等于假,则将w设置为等于1。

否则,将w设置为等于2。

当cIdx等于0且slice_lmcs_enabled_flag等于1时,predSamplesInter[x][y](x=0..cbWidth-1并且y=0..cbHeight-1)修改如下:

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

图20是处理视频的方法2000的流程图。方法2000包括:确定(2005)第一视频块的编解码模式,基于第一视频块的编解码模式的确定,将一个或多个标志约束(2110)到操作状态,所述操作状态为假或真,以及根据一个或多个标志的操作状态执行(2015)第二视频块的进一步处理,其中第一视频块是与第二视频块相关的临近视频块或参考视频块。

图21是处理视频的方法2100的流程图。方法2100包括:确定(2105)针对第一视频块使用成对预测或组合双向预测,基于使用成对预测或组合双向预测的确定,来确定(2110)组合帧间帧内预测(CIIP)的操作状态,其中操作状态为启用或禁用,以及根据CIIP的操作状态执行(2115)第一视频块的进一步处理。

图23是处理视频的方法2300的流程图。方法2300包括:在视频数据中的第一块和第一块的比特流表示之间的转换期间,确定(2305)一个或多个第二块的一个或多个编解码模式;基于一个或多个第二块的一个或多个编解码模式,确定(2310)第一块的编解码模式约束;至少通过应用第一块的编解码模式约束来执行(2315)转换;其中一个或多个第二块包括第一块的相邻块、非相邻块和参考块中的至少一个。

图24是处理视频的方法2400的流程图。方法2400包括:通过使用组合帧间帧内预测(CIIP)、扩散滤波、双边滤波、变换域滤波、或不同于扩散滤波、双边滤波和变换域滤波的另一类型的重构后滤波中的至少一个,执行(2405)视频数据中的当前块和当前块的比特流表示之间的转换,其中,用从一个或多个参考图片中的重构临近样点的对应样点生成的近似样点来替换在组合帧间帧内预测(CIIP)、扩散滤波、双边滤波、变换域滤波、或另一类型的重构后滤波中的至少一个中使用的当前块的重构临近样点。

图25是处理视频的方法2500的流程图。方法2500包括:在基于历史的运动矢量预测(HMVP)表中与运动信息一起存储(2505)组合帧间帧内预测(CIIP)模式的CIIP标志和/或帧内模式;以及至少基于HMVP表执行(2510)视频数据中的当前块和当前块的比特流表示之间的转换。

图26是处理视频的方法2600的流程图。方法2600包括:在视频数据中的当前块与当前块的比特流表示之间的转换期间,确定(2605)当前块的预测模式;确定(2610)组合帧间帧内预测(CIIP)模式的适用性,所述适用性指示响应于确定当前块使用高级运动矢量预测(AMVP)模式或Merge模式编解码而对当前块启用CIIP模式;以及基于CIIP模式的适用性执行(2615)转换。

图27是处理视频的方法2700的流程图。方法2700包括:在视频数据中的当前块和当前块的比特流表示之间的转换期间,确定(2705)当前块的选定Merge候选的类型;根据选定Merge候选的类型为当前块确定(2710)组合帧间帧内预测(CIIP)的适用性,其中当前块以Merge模式编解码。

参考方法2000和2100,本文第4节描述了用于编码的组合帧间帧内预测的一些示例及其使用。例如,如第4节所述,可以根据组合帧内帧间预测使用来处理视频块。

参考方法2000和2100,可以在视频比特流中对视频块进行编码,其中,可以通过使用与组合帧间帧内预测相关的比特流生成规则来实现比特效率。

所述方法可以包括:其中,一个或多个标志包括组合帧间帧内预测(CIIP)标志、局部照明补偿(LIC)标志、扩散滤波标志、双边滤波标志、变换域滤波标志或另一种类型的重构后滤波标志。

所述方法可以包括:其中,一个或多个标志包括与第一操作相关的第一标志,第一标志被导出为假,并且不应用第一操作。

所述方法可以包括:其中,第一操作的使用被信令通知为跳过。

所述方法可以包括:其中,在一致性比特流中,第一操作的使用被信令通知为约束为假。

所述方法可以包括:其中,第一视频块在相对于第二视频块的临近行或列内。

所述方法可以包括:其中,临近行包括上方行或右上行。

所述方法可以包括:其中,临近列包括左侧列、左下列或左上角列。

所述方法可以包括:其中,编解码模式包括帧内模式、CIIP模式或CPR模式。

所述方法可以包括:确定第二视频块的位置,并且其中,将一个或多个标志约束到假状态也基于第二视频块的位置的确定。

所述方法可以包括:其中,所述位置位于当前编解码树单元(CTU)的顶部,并且第二视频块的上方临近块位于不同的CTU内。

所述方法可以包括:其中,所述位置位于当前编解码树单元(CTU)的左侧,并且第二视频块的左侧临近块位于不同的CTU内。

所述方法可以包括:其中,一个或多个标志包括CIIP标志或CIIP模式标志的帧内模式,并且与所述一个或多个标志相关的数据与运动信息一起存储在基于历史的运动矢量预测(HMVP)表中。

所述方法可以包括:比较两个候选的运动信息,其中在运动信息的比较中不使用CIIP标志或帧内模式CIIP模式标志。

所述方法可以包括比较两个候选的运动信息,其中在运动信息的比较中使用CIIP标志或帧内模式CIIP模式标志。

所述方法可以包括:确定Merge候选来自HMVP表中的条目;以及将所述条目的CIIP标志复制到Merge候选。

所述方法可以包括:确定Merge候选来自HMVP表中的条目;以及将该条目的CIIP标志和帧内模式复制到Merge候选。

所述方法可以包括:其中,一个或多个标志中的标志与CIIP相关,并且为高级运动矢量预测(AMVP)执行CIIP。

所述方法可以包括:其中,为AMVP模式信令通知CIIP标志和帧内模式标志。

所述方法可以包括:其中,在Merge模式或UMVE模式中继承CIIP标志,CIIP标志包括操作状态为真,CIIP中允许多个帧内模式,并且基于CIIP中允许的多个帧内模式来信令通知帧内模式。

所述方法可以包括:其中,由第二视频块继承Merge模式或UMVE模式下临近或非相邻视频块的CIIP标志和帧内模式。

所述方法可以包括:其中,为跳过模式禁用CIIP。

所述方法可以包括:比较与两个候选相关的信息,并且其中,在信息的比较中不使用CIIP标志或帧内模式CIIP模式标志。

所述方法可以包括:比较与两个候选相关的信息,并且其中,在信息的比较中使用CIIP标志或帧内模式CIIP模式标志。

所述方法可以包括:其中,成对预测或组合双向预测中涉及的一个或多个候选采用CIIP预测,并且其中,操作状态为启用。

所述方法可以包括:其中,两个候选中一个的帧内模式是继承的。

所述方法可以包括:其中,信令通知帧内模式。

所述方法可以包括:其中,成对预测或组合双向预测涉及两个候选。

所述方法可以包括:其中,将在CIIP模式、扩散滤波器、双边滤波器、变换域滤波器或其他类型的重构后滤波器中使用的重构样点替换为参考图片中的样点。

所述方法可以包括:其中,第二视频块是双向预测的,并且两个参考块的临近样点被平均以生成最终临近样点。

所述方法可以包括:其中,第二视频块是双向预测的,并且将两个参考块的临近样点用作最终临近样点。

所述方法可以包括:其中,第二视频块是双向预测的,并且基于不等权重广义双向预测(GBI)对两个参考块的临近样点进行加权平均以生成最终临近样点,或者对第二视频块应用加权预测LIC。

所述方法可以包括:其中,用第二视频块的运动信息来识别参考图片中的样点。

所述方法可以包括:其中,用第二视频块的运动信息来识别参考图片中的样点。

所述方法可以包括:其中,将运动矢量取整到整数精度并用于识别样点。

所述方法可以包括:其中,所述样点在用整数像素精度的运动矢量识别的参考图片中。

所述方法可以包括:确定第二视频块的特性,所述特性包括块尺寸、条带类型、图片类型、片类型或运动信息中的一个或多个,并且其中,基于所述特性的确定来约束操作状态。

所述方法可以包括:其中,在序列参数集(SPS)、视图参数集(VPS)、图片参数集(PPS)、序列标头、图片标头、条带标头、片组标头、片或CTU组中信令通知所述方法。

下面的解决方案列表进一步提供了先前章节中所列项目(例如,项目11至16)的实施例和变体。

40.一种视频处理方法,包括:使用组合帧间帧内预测模式执行视频的视频块和所述视频块的编解码表示之间的转换,其中所述编解码表示对应于使用来自权重对的集合的权重对的所述视频块的帧内和帧间预测结果的加权平均,所述权重对的集合包含少于三对。

41.根据权利要求40所述的方法,其中所述权重对的集合对应于两对。

42.根据解决方案40至41中任一项所述的方法,其中基于单个临近块确定所述权重对。

43.根据解决方案40至41中任一项所述的方法,其中基于多个临近块确定所述权重对。

44.根据解决方案40所述的方法,其中所述权重对的集合包括恰好一对。

45.根据解决方案44所述的方法,其中所述一对是(1,3)或(2,2)或(1,7)或(2,6)或(3,5)或(4,4)中的一个。

46.一种视频处理方法,包括:使用组合帧间帧内预测模式执行视频的视频块和所述视频块的编解码表示之间的转换,其中所述编解码表示对应于使用来自权重对的集合的权重对的所述视频块的帧内和帧间预测结果的加权平均,所述权重对的集合是由一个或多个临近块的编解码信息确定的。

47.根据解决方案46所述的方法,其中由恰好一个临近块确定所述权重对的集合。

48.根据解决方案46所述的方法,其中由两个或多个临近块确定所述权重对的集合。

49.根据解决方案40至48中任一项所述的方法,其中所述转换包括对所述视频进行编码以生成所述编解码表示。

50.根据解决方案40至48中任一项所述的方法,其中所述转换包括解码所述编解码表示以生成所述视频。

可以使用以下基于条款的叙述来描述这些方法的各种其它实施例和附加特征。

1.一种视频处理方法,包括:

在视频数据中的第一块和所述第一块的比特流表示之间的转换期间,确定一个或多个第二块的一个或多个编解码模式;

基于所述一个或多个第二块的所述一个或多个编解码模式,确定所述第一块的编解码模式约束;以及

至少通过应用所述第一块的所述编解码模式约束来执行所述转换;

其中所述一个或多个第二块包括所述第一块的相邻块、非相邻块和参考块中的至少一个。

2.根据条款1所述的方法,其中确定所述第一块的编解码模式约束包括:

基于所述一个或多个第二块的所述一个或多个编解码模式,确定分别对应于所述第一块的一个或多个编解码模式的一个或多个标志。

3.根据条款2所述的方法,其中所述一个或多个编解码模式包括:

组合帧间帧内预测(CIIP)模式、局部照明补偿(LIC)模式、扩散滤波模式、双边滤波模式、变换域滤波模式、或不同于所述扩散滤波模式、所述双边滤波模式和所述变换域滤波模式的重构后滤波模式。

4.根据条款2至3中任一项所述的方法,其中所述第一块的所述编解码模式约束包括:

当对应于第一编解码模式的第一标志被导出为假时,所述第一块的所述一个或多个编解码模式中的所述第一编解码模式被禁用。

5.根据条款2至4中任一项所述的方法,其中所述第一块的所述编解码模式约束包括:

当对应于第二编解码模式的第二标志被导出为假时,不信令通知指示是否启用所述第一块的所述一个或多个编解码模式中的所述第二编解码模式的信息。

6.根据条款2至5中任一项所述的方法,其中所述第一块的所述编解码模式约束包括:

当对应于第三编解码模式的第三标志被导出为假时,信令通知指示是否启用所述第一块的所述一个或多个编解码模式中的所述第三编解码模式的信息并将其约束为假。

7.根据条款1至6中任一项所述的方法,还包括:

确定是否应用所述第一块的所述编解码模式约束。

8.根据条款7所述的方法,其中确定是否应用所述第一块的所述编解码模式约束包括:

根据所述第一块的临近行或列的编解码模式来确定是否应用所述第一块的所述编解码模式约束。

9.根据条款7所述的方法,其中确定是否应用所述第一块的所述编解码模式约束包括:

根据所述第一块的临近行或临近列中不是用第四模式编码的至少N个样点来确定是否应用所述第一块的所述编解码模式约束,并且N≥1。

10.根据条款8或9所述的方法,其中所述临近行包括所述第一块的上方行和右上方行。

11.根据条款8至10中任一项所述的方法,其中所述临近列包括所述第一块的左侧列、左下列和左上角列。

12.根据条款7至11中任一项所述的方法,其中确定是否应用所述第一块的所述编解码模式约束包括:

当任何临近的非相邻块是用第四模式编解码时,确定应用所述第一块的所述编解码模式约束。

13.根据条款7至11中任一项所述的方法,其中确定是否应用所述第一块的所述编解码模式约束包括:

当所有临近的非相邻块都是用第四模式编解码时,确定应用所述第一块的所述编解码模式约束。

14.根据条款7至11中任一项所述的方法,其中确定是否应用所述第一块的所述编解码模式约束包括:

当至少M个临近的非相邻块不是用第四模式编解码时,确定不应用所述第一块的所述编解码模式约束,并且M是预定义的第一阈值。

15.根据条款9至14中任一项所述的方法,其中所述第四编解码模式包括帧内预测模式、组合帧间帧内预测(CIIP)模式和当前图片参考(CPR)模式中的至少一种。

16.根据条款7至14中任一项所述的方法,其中确定是否应用所述第一块的所述编解码模式约束包括:

根据所述第一块的位置确定是否应用所述第一块的所述编解码模式约束。

17.根据条款16所述的方法,其中根据所述第一块的位置确定是否应用所述第一块的所述编解码模式约束包括:

当所述位置在当前编解码树单元(CTU)的顶部、并且上方临近块和所述第一块属于不同的CTU时,确定不应用所述第一块的所述编解码模式约束。

18.根据条款16所述的方法,其中根据所述第一块的位置确定是否应用所述第一块的所述编解码模式约束包括:

当所述位置在当前编解码树单元(CTU)的左侧、并且左侧临近块和所述第一块属于不同的CTU时,确定不应用所述第一块的所述编解码模式约束。

19.根据条款1至18中任一项所述的方法,还包括:

确定所述当前块的特性;以及

当所述当前块的所述特性满足预定义的条件时,确定应用所述当前块的所述编解码模式约束。

20.根据条款1至18中任一项所述的方法,还包括:

确定所述当前块和/或先前编解码块的特性;以及

根据所述当前块和/或先前编解码块的所述特性来确定是否应用所述当前块的所述编解码模式约束。

21.一种视频处理方法,包括:

通过使用组合帧间帧内预测(CIIP)、扩散滤波、双边滤波、变换域滤波、或不同于所述扩散滤波、所述双边滤波和所述变换域滤波的另一类型的重构后滤波中的至少一个,执行视频数据中的当前块和所述当前块的比特流表示之间的转换,

其中,使用从一个或多个参考图片中的重构临近样点的对应样点生成的近似样点来替换在所述组合帧间帧内预测(CIIP)、所述扩散滤波、所述双边滤波、所述变换域滤波、或所述另一类型的重构后滤波中的至少一个中使用的所述当前块的所述重构临近样点。

22.根据条款21所述的方法,其中当所述当前块是双向预测时,将所述当前块的两个参考块的临近样点进行平均,以生成所述近似样点。

23.根据条款21所述的方法,其中当所述当前块是双向预测或单向预测时,将所述当前块的一个参考块的临近样点用作所述近似样点。

24.根据条款21所述的方法,其中当所述当前块是双向预测的,并且对所述当前块应用了不等权重广义双向预测(GBI)、加权预测和局部照明补偿(LIC)中的至少一个时,对所述当前块的两个参考块的临近样点进行加权平均以生成所述近似样点。

25.根据条款22至24所述的方法,其中由所述当前块的运动信息识别所述当前块的所述参考块的所述临近样点。

26.根据条款22至24所述的方法,其中由所述当前块的修改的运动信息识别所述当前块的所述参考块的所述临近样点。

27.根据条款24所述的方法,其中所述当前块的所述修改的运动信息是取整到整数精度的修改的运动矢量。

28.根据条款21所述的方法,其中用整数像素精度的运动矢量识别所述当前块的所述参考块的所述临近样点。

29.根据条款28所述的方法,其中将所述重构的临近样点的运动矢量取整到整数精度,以识别所述对应样点。

30.根据条款21至29中任一项所述的方法,其中仅当所述当前块是以整数像素精度进行编解码时,才将所述当前块的重构临近样点替换为所述近似样点。

31.根据条款21至30中任一项所述的方法,其中仅针对亮度分量或色度分量,将所述当前块的重构临近样点替换为所述近似样点。

32.根据条款19至31中任一项所述的方法,还包括:

确定所述当前块的特性;以及

当所述当前块的所述特性满足预定义的条件时,确定用所述近似样点替换所述重构临近样点。

33.根据条款19或32所述的方法,其中所述当前块的所述特性包括块尺寸、条带类型、图片类型、片类型和运动信息中的至少一个。

34.根据条款33所述的方法,其中所述预定义的条件是:所述当前块包含不小于预定义的第二阈值的样点。

35.根据条款33所述的方法,其中所述预定义的条件是:所述当前块的宽度和高度大于预定义的第三阈值。

36.根据条款33所述的方法,其中所述预定义的条件是:所述当前块的宽度和高度小于预定义的第四阈值。

37.根据条款33所述的方法,其中所述预定义的条件是:所述当前块的宽度小于预定义的第五阈值和/或所述当前块的高度小于预定义的第六阈值。

38.根据条款33所述的方法,其中所述预定义的条件是:所述当前块的宽度大于预定义的第七阈值和/或所述当前块的高度大于预定义的第八阈值。

39.根据条款38所述的方法,其中在序列参数集(SPS)、视图参数集(VPS)、图片参数集(PPS)、序列标头、图片标头、条带标头、片组标头、片或CTU组中信令通知指示是否应用所述当前块的所述编解码模式约束和/或是否用所述近似样点替换所述重构临近样点的信息。

40.根据条款21至39中任一项所述的方法,还包括:

确定所述当前块和/或先前编解码块的特性;以及

根据所述当前块和/或先前编解码块的所述特性来确定是否用所述近似样点替换所述重构临近样点。

41.根据条款20或40所述的方法,其中所述当前块和/或先前编解码块的所述特性包括所述当前块和/或先前编解码块的块维度、视频处理数据单元(VPDU)、图片类型、低延迟检查标志、编解码信息中的至少一个。

42.根据条款41所述的方法,其中所述当前块和/或先前编解码块的所述编解码信息指示参考图片、单向预测或双向预测。

43.一种视频处理装置,其包括处理器,所述处理器被配置为实现条款1至42中任一项所述的方法。

44.根据条款43所述的装置,其中所述装置是视频编码器。

45.根据条款43所述的装置,其中所述装置是视频解码器。

46.一种计算机可读记录介质,其中记录有包括代码的程序,所述程序使处理器执行条款1至42中任一项所述的方法。

可以使用以下基于条款的叙述来描述这些方法的各种其它实施例和附加特征。

1.一种视频处理方法,包括:

在基于历史的运动矢量预测(HMVP)表中与运动信息一起存储组合帧间帧内预测(CIIP)模式的CIIP标志和/或帧内模式;以及

至少基于所述HMVP表执行视频数据中的当前块和所述当前块的比特流表示之间的转换。

2.根据条款1所述的方法,还包括:

比较两个候选的运动信息,

其中,在所述两个候选的运动信息的所述比较中不使用所述CIIP模式的所述CIIP标志和/或所述帧内模式。

3.根据条款1所述的方法,还包括:

比较两个候选的运动信息,

其中,在所述两个候选的运动信息的所述比较中使用所述CIIP模式的所述CIIP标志和/或所述帧内模式。

4.根据条款1至3中任一项所述的方法,其中所述执行包括:

当Merge候选来自所述HMVP表中的条目时,将所述条目的所述CIIP标志复制到所述Merge候选。

5.根据条款1至3中任一项所述的方法,其中所述执行包括:

当Merge候选来自所述HMVP表中的条目时,将所述条目的所述CIIP标志和所述帧内模式复制到所述Merge候选。

6.一种视频处理方法,包括:

在视频数据中的当前块与所述当前块的比特流表示之间的转换期间,确定所述当前块的预测模式;

确定组合帧间帧内预测(CIIP)模式的适用性,所述适用性指示响应于确定所述当前块以高级运动矢量预测(AMVP)模式或Merge模式编解码而对所述当前块启用所述CIIP模式;以及

基于所述CIIP模式的所述适用性执行所述转换。

7.根据条款6所述的方法,其中当所述当前块以所述AMVP模式编解码时,信令通知所述CIIP模式的CIIP标志和/或帧内模式。

8.根据条款6条或7所述的方法,其中在所述当前块的Merge模式和/或具有运动矢量差的Merge(MMVD)模式中,相邻的临近块和/或非相邻的临近块的所述CIIP模式的CIIP标志和/或帧内模式是继承的。

9.根据条款6至8中任一项所述的方法,其中为非跳过Merge模式和/或非跳过MMVD模式信令通知所述CIIP模式的CIIP标志和/或帧内模式,并且在跳过Merge模式和/或跳过MMVD模式中,相邻的临近块和/或非相邻的临近块的所述CIIP模式的CIIP标志和/或帧内模式是继承的。

10.根据条款6至8中任一项所述的方法,其中为跳过Merge模式和/或跳过MMVD模式信令通知所述CIIP模式的CIIP标志和/或帧内模式,并且在非跳过Merge模式和/或非跳过MMVD模式中,相邻的临近块和/或非相邻的临近块的所述CIIP模式的CIIP标志和/或帧内模式是继承的。

11.根据条款6至10中任一项所述的方法,其中在Merge模式和/或跳过MMVD模式下,所述CIIP标志是继承的。

12.根据条款11所述的方法,其中当所述CIIP标志为真且所述CIIP模式中允许多个帧内模式时,信令通知所述帧内模式。

13.根据条款6至12中任一项所述的方法,其中在Merge模式和/或MMVD模式中编解码的相邻的临近块和/或非相邻的临近块的所述CIIP模式的CIIP标志和/或帧内模式被所述当前块继承。

14.根据条款6至13中任一项所述的方法,还包括:

为跳过模式禁用所述CIIP模式。

15.根据条款6至13中任一项所述的方法,还包括:

比较两个Merge候选的信息,

其中,在所述两个Merge候选的信息的所述比较中不使用所述CIIP模式的所述CIIP标志和/或所述帧内模式。

16.根据条款6至13中任一项所述的方法,还包括:

比较两个Merge候选的信息,

其中,在所述两个Merge候选的信息的所述比较中使用所述CIIP模式的所述CIIP标志和/或所述帧内模式。

17.一种视频处理方法,包括:

在视频数据中的当前块和所述当前块的比特流表示之间的转换期间,确定所述当前块的选定Merge候选的类型;以及

根据所述选定Merge候选的所述类型为所述当前块确定组合帧间帧内预测(CIIP)的适用性,

其中所述当前块以Merge模式编解码。

18.根据条款17所述的方法,其中当所述当前块的所述选定Merge候选是成对Merge候选、组合双向Merge候选、零运动Merge候选、或虚拟或人工Merge候选中的至少一个时,禁用所述CIIP。

19.根据条款17或18所述的方法,其中当成对Merge候选或所述组合双向Merge候选中涉及的一个候选采用所述CIIP模式时,为所述成对Merge候选或所述组合双向Merge候选启用所述CIIP模式。

20.根据条款19所述的方法,其中所述涉及的CIIP模式候选的帧内模式是继承的。

21.根据条款19所述的方法,其中为所述成对Merge候选或组合双向Merge候选信令通知所述涉及的CIIP模式的帧内模式。

22.根据条款17或18所述的方法,其中当成对Merge候选或组合双向Merge候选中涉及的两个候选都采用所述CIIP模式时,为所述成对Merge候选或所述组合双向Merge候选启用所述CIIP模式。

23.根据条款22所述的方法,其中所述两个涉及的候选中的一个的帧内模式是继承的。

24.根据条款22所述的方法,其中所述涉及的CIIP模式的帧内模式是从所述两个涉及的候选的帧内模式导出的,并被用于所述成对Merge候选或所述组合双向Merge候选。

25.根据条款22所述的方法,其中为所述成对Merge候选或所述组合双向Merge候选信令通知所述涉及的CIIP模式的帧内模式。

26.一种视频处理装置,其包括处理器,所述处理器被配置为实现条款1至25中任一项所述的方法。

27.根据条款26所述的装置,其中所述装置是视频编码器。

28.根据条款26所述的装置,其中所述装置是视频解码器。

29.一种计算机可读记录介质,其中记录有包括代码的程序,所述程序使处理器执行条款1至25中任一项所述的方法。

应当理解的是,所公开的技术可以实施在视频编码器或解码器中,以使用基于散列的运动估计来提高压缩效率。

本文中描述的所公开的和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路或计算机软件、固件或硬件中实现,包括本文中公开的结构及其结构等效物,或者一个或多个的组合。所公开的实施例和其他实施例可以实现为一个或多个计算机程序产品,即在计算机可读介质上编码以供数据处理设备执行或控制其操作的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质的组合,或者一个或多个它们的组合。术语“数据处理设备”包括用于处理数据的所有设备、装置和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除硬件外,设备还可以包括为所述计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其中一个或多个的组合的代码。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编解码信息以传输到合适的接收器设备。

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

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

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

虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求范围的限制,而应解释为对特定技术的特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。

同样,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文件所述实施例中各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。

仅描述了一些实现和示例,其他实现、增强和变体可以基于本专利文件中描述和说明的内容做出。

相关技术
  • 组合帧间帧内预测的扩展应用
  • 组合帧间和帧内预测模式的受约束和调节的应用
技术分类

06120113250080