帧内块复制模式的应用性的限制

文档序号:24528 发布日期:2021-09-21 浏览:12次 >En<

阅读说明:本技术 帧内块复制模式的应用性的限制 (Limitation of applicability of intra block copy mode ) 是由 刘鸿彬 张莉 张凯 许继征 王悦 于 2020-02-17 设计创作,主要内容包括:提供了一种用于视频处理的方法,包括:为视频的当前视频块和视频的编解码表示之间的转换,基于关于块大小的规则确定是否启用帧内块复制(IBC)模式,其中,在所述IBC模式下,基于包括当前视频块的图片中的块矢量来计算当前视频块的预测块;以及基于所述确定来执行所述转换。(There is provided a method for video processing, comprising: determining, for a transition between a current video block of a video and a codec representation of the video, whether an Intra Block Copy (IBC) mode is enabled based on a rule regarding block sizes, wherein in the IBC mode, a prediction block for the current video block is calculated based on a block vector in a picture including the current video block; and performing the conversion based on the determination.)

帧内块复制模式的应用性的限制

相关申请的交叉引用

根据适用的专利法和/或依据巴黎公约的规则,本申请是旨在及时要求于2019年2月17日提交的国际专利申请No.PCT/CN2019/075302的优先权和利益。出于根据美国法律的所有目的,前述申请的全部公开通过引用而并入,作为本申请的公开的一部分。

技术领域

本专利文档涉及视频处理技术、设备和系统。

背景技术

尽管视频压缩技术有所进步,但数字视频仍然占互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的联网用户设备的数量增加,预计对数字视频使用的带宽需求将继续增长。

发明内容

描述了与数字视频处理,特别是,与构建帧内块复制模式的运动候选列表相关的设备、系统和方法。所描述的方法可以应用于现有的视频处理标准(例如,高效视频编解码(High Efficiency Video Coding,HEVC))和未来的视频处理标准或诸如视频编解码器的视频处理硬件/软件。

在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:使用帧内块复制(Intra Block Copy,IBC)Merge候选列表,执行视频的当前视频块和视频的编解码表示之间的转换;以及通过基于条件添加Merge候选做出关于是否更新IBCMerge列表的决定。

在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:为视频的当前视频块和视频的编解码表示之间的转换,维护根据规则向其中添加Merge候选的帧内块复制(IBC)Merge列表;以及使用IBC Merge列表来执行该转换。

在另一个代表性方面,所公开的技术可以用于提供用于视频处理的方法。该方法包括:为视频的当前视频块和视频的编解码表示之间的转换,维护向其中添加特殊IBCMerge候选的帧内块复制(IBC)Merge列表;以及使用IBC Merge列表来执行该转换,其中,特殊IBC Merge候选由当前视频块选择,当前视频块的预测块基于一个或多个默认值,不使用运动补偿而推导。

在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:在当前视频块和当前视频块的编解码表示之间的转换期间,构建帧内块复制(IBC)运动候选列表,其中将运动候选插入到IBC运动候选列表中受尺寸的限制;以及使用IBC运动候选列表来执行该转换。

在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:为视频的当前视频块和视频的编解码表示之间的转换,根据构建规则,构建帧内块复制(IBC)运动候选列表;以及基于IBC运动候选列表来执行该转换,其中,构建规则指定为添加到IBC运动候选列表检查与为添加到常规运动候选列表而要检查的空域临近块处于不同的相对位置处的空域临近块。

在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:为视频的当前视频块和视频的编解码表示之间的转换,基于当前视频块的颜色分量标识来构建帧内块复制(IBC)运动候选列表;以及基于IBC运动候选列表来执行该转换。

在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:为视频的当前视频块和视频的编解码表示之间的转换,基于关于块大小的规则确定是否启用帧内块复制(IBC)模式,其中,在该IBC模式下,基于包括当前视频块的图片中的块矢量来计算当前视频块的预测块;以及基于该确定来执行该转换。

在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:为视频的当前视频块和视频的编解码表示之间的转换,基于当前视频块的位置确定禁止使用帧内块复制(IBC)模式,其中,在该IBC模式下,基于包括当前视频块的图片中的块矢量来计算当前视频块的预测块;以及基于该确定来执行该转换。

在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:执行视频的视频区域的当前视频块和视频的编解码表示之间的转换,其中,控制帧内块复制(IBC)模式的构建或更新的规则是否包括在编解码表示中的指示在视频区域级别,并且其中,帧内块复制模式包括至少使用指向包括当前视频块的图片的块矢量来生成预测块。

在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:为视频的当前视频块和视频的编解码表示之间的转换,构建帧内块复制(IBC)运动候选列表,该列表存储用于表示当前视频块的、指向包含当前视频块的图片的一个或多个候选;以及使用IBC运动候选列表来执行该转换,其中,编解码表示包括推导IBC运动候选列表的最大尺寸的第一字段和不同于第一字段、推导常规运动候选列表的最大尺寸的第二字段。

在又一代表性方面,上述方法以处理器可运行代码的形式体现并存储在计算机可读程序介质中。

在又一代表性方面,公开了一种被配置为或可操作来执行上述方法的设备。该设备可以包括被编程为实施该方法的处理器。

在再一代表性方面,视频解码器装置可以实施如本文所述的方法。

在附图、说明书和权利要求书中更详细地描述了所公开技术的上述和其它方面以及特征。

附图说明

图1示出了构建Merge候选列表的示例。

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

图3示出了对其进行空域Merge候选的冗余检查的候选对的示例。

图4A和图4B示出了基于当前块的尺寸和形状的第二预测单元(PU)的位置的示例。

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

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

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

图8示出了构建运动矢量预测候选的示例。

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

图10示出了基于历史的运动矢量预测(HMVP)候选的编解码流程的示例。

图11示出了在HMVP方法中更新表的示例。

图12示出了帧内块复制的示例。

图13示出了允许的参考区域的不同示例。

图14A至图14C示出了用于视频处理的示例方法的流程图。

图15A至图15C示出了用于视频处理的示例方法的流程图。

图16A至图16C示出了用于视频处理的示例方法的流程图。

图17示出了用于视频处理的示例方法的流程图。

图18A和图18B示出了用于实施在本文档中描述的可视媒体解码或可视媒体编码技术的硬件平台的示例的框图。

具体实施方式

由于对更高分辨率视频的日益增长的需求,视频处理方法和技术在现代技术中无处不在。视频编解码器通常包括压缩或解压缩数字视频的电子电路或软件,并且不断被改进以提供更高的编解码效率。视频编解码器将未压缩的视频转换为压缩格式,反之亦然。视频质量、用于表示视频的数据量(由比特率确定)、编码和解码算法的复杂性、对数据丢失和错误的敏感性、编辑的简易性、随机访问和端到端延迟(时延)之间存在复杂的关系。压缩格式通常符合标准视频压缩规范,例如,高效视频编解码(HEVC)标准(也已知为H.265或MPEG-H部分2)、即将完成的多功能视频编解码标准、或其他当前和/或未来视频编解码标准。

所公开的技术的实施例可以应用于现有视频编解码标准(例如,HEVC、H.265)和未来标准以改进压缩性能。在本文档中使用章节标题以提高描述的可读性,但是不以任何方式将讨论或实施例(和/或实施方式)限制于仅相应的章节。

1HEVC/H.265中的帧间预测的示例

多年来,视频编解码标准已经显着改进,并且现在部分地提供高编解码效率和对更高分辨率的支持。诸如HEVC和H.265的最新标准基于其中利用时域预测加变换编解码的混合视频编解码结构。

1.1预测模式的示例

每个帧间预测的PU(预测单元)具有针对一个或两个参考图片列表的运动参数。在一些实施例中,运动参数包括运动矢量和参考图片索引。在其他实施例中,也可以使用inter_pred_idc信令通知对两个参考图片列表之一的使用。在另外的其他实施例中,运动矢量可以被显式地编解码为相对于预测值的偏差(delta)。

当用跳过模式对CU进行编解码时,一个PU与该CU相关联,并且不存在显著的残差系数、没有编解码的运动矢量偏差或参考图片索引。规定Merge模式,由此从包括空域和时域候选的临近PU获得当前PU的运动参数。Merge模式可以应用于任何帧间预测的PU,而不仅仅对于跳过模式。Merge模式的可选方案是运动参数的显式传输,其中每一PU显式地信令通知运动矢量、每个参考图片列表的对应参考图片索引和参考图片列表的使用。

当信令指示要使用两个参考图片列表之一时,从一个样点块产生PU。这被称为“单向预测”。单向预测可用于P条带和B条带。

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

参考图片列表

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

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

1.1.1构建Merge模式的候选的实施例

当使用Merge模式预测PU时,从比特流中解析指向Merge候选列表中的条目的索引并将其用于检索运动信息。该列表的构建可以按照以下步骤序列进行概述:

步骤1:初始候选推导

步骤1.1:空域候选推导

步骤1.2:空域候选的冗余检查

步骤1.3:时域候选推导

步骤2:附加候选插入

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

步骤2.2:插入零运动候选

图1示出了基于上述步骤序列来构建Merge候选列表的示例。对于空域Merge候选推导,在位于五个不同位置的候选当中选择最多四个Merge候选。对于时域Merge候选推导,在两个候选当中选择最多一个Merge候选。由于在解码器处假设每个PU的恒定数量的候选,因此当候选的数量未达到在条带头中信令通知的Merge候选的最大数量(MaxNumMergeCand)时,生成附加候选。由于候选的数量是恒定的,因此使用截断一元二值化(TU)对最佳Merge候选的索引进行编码。如果CU的尺寸等于8,则当前CU的所有PU共享单个Merge候选列表,其与2N×2N预测单元的Merge候选列表相同。

1.1.2构建空域Merge候选

在空域Merge候选的推导中,在位于图2中描绘的位置的候选当中选择最多四个Merge候选。推导的顺序是A1、B1、B0、A0和B2。仅当位置A1、B1、B0、A0的任何PU不可用(例如,因为它属于另一条带或片)或者是帧内编解码的时,才考虑位置B2。在添加位置A1处的候选之后,对剩余候选的添加进行冗余检查,其确保具有相同运动信息的候选被排除在列表之外,从而改进编解码效率。

为了降低计算复杂度,不是所有可能的候选对都在所提到的冗余检查中被考虑。相反,只考虑图3中用箭头链接的对,并且仅当用于冗余检查的对应候选没有相同的运动信息时,候选才被添加到列表中。重复运动信息的另一源是与不同于2N×2N的分割相关联的“第二PU”。作为示例,图4A和图4B分别描绘了N×2N和2N×N的情况下的第二PU。当当前PU被分割为N×2N时,位置A1处的候选不被考虑用于列表构建。在一些实施例中,通过添加该候选可能导致两个预测单元具有相同的运动信息,这对于在编解码单元中只具有一个PU是冗余的。类似地,当当前PU被分割为2N×N时,不考虑位置B1

1.1.3构建时域Merge候选

在该步骤中,仅一个候选被添加到列表。具体地,在该时域Merge候选的推导中,基于属于给定参考图片列表内与当前图片具有最小POC(Picture Order Count,图片顺序计数)差的图片的并置(co-located)PU来推导缩放运动矢量。在条带头中显式地信令通知要用于推导并置PU的参考图片列表。

图5示出了推导时域Merge候选的缩放运动矢量的示例(如虚线),该缩放运动矢量是使用POC距离tb和td从并置PU的运动矢量缩放的,其中tb被定义为当前图片的参考图片与当前图片之间的POC差,td被定义为并置图片的参考图片与并置图片之间的POC差。时域Merge候选的参考图片索引被设置为等于零。对于B条带,两个运动矢量(一个针对参考图片列表0,另一个针对参考图片列表1)被获得并组合,以生成双向预测Merge候选。

在属于参考帧的并置PU(Y)中,在候选C0和C1之间选择时域候选的位置,如图6所描绘的。如果位置C0处的PU不可用、是帧内编解码的、或者在当前CTU的外部,则使用位置C1。否则,在时域Merge候选的推导中使用位置C0

1.1.4构建附加类型的Merge候选

除了空时Merge候选之外,存在两种附加类型的Merge候选:组合的双向预测Merge候选和零Merge候选。通过利用空时Merge候选来生成组合的双向预测Merge候选。组合的双向预测Merge候选仅用于B条带。通过将初始候选的第一参考图片列表运动参数与另一初始候选的第二参考图片列表运动参数组合来生成组合的双向预测候选。如果这两个元组提供不同的运动假设,则它们将形成新的双向预测候选。

图7示出了该过程的示例,其中原始列表(710,在左边)中的两个候选(其具有mvL0和refIdxL0或mvL1和refIdxL1)用于创建被添加到最终列表(720,在右边)的组合的双向预测Merge候选。

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

1.2高级运动矢量预测(AMVP)的实施例

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

1.2.1推导AMVP候选的示例

图8概述了运动矢量预测候选的推导过程,并且可以用refidx作为输入针对每个参考图片列表来实施。

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

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

1.2.2构建空域运动矢量候选

在空域运动矢量候选的推导中,在从位于如先前在图2中示出的位置的PU中推导的五个可能候选当中考虑最多两个候选,那些位置与运动Merge的位置相同。当前PU的左侧的推导顺序被定义为A0、A1、以及缩放的A0、缩放的A1。当前PU的上侧的推导顺序被定义为B0、B1、B2、缩放的B0、缩放的B1、缩放的B2。因此对于每一侧,存在可以用作运动矢量候选的四种情况,其中两种情况不需要使用空域缩放,两种情况使用空域缩放。四种不同的情况概述如下:

--没有空域缩放

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

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

--空域缩放

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

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

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

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

1.2.3构建时域运动矢量候选

除了参考图片索引推导之外,用于推导时域Merge候选的所有过程与用于推导空域运动矢量候选的过程相同(如图6中的示例所示)。在一些实施例中,参考图片索引被信令通知给解码器。

2.VVC中的帧间预测方法的示例

有几种用于帧间预测改进的新的编解码工具,诸如用于信令通知MVD的自适应运动矢量差分辨率(Adaptive Motion Vector Difference Resolution,AMVR)、仿射预测模式、三角形预测模式(TPM)、高级TMVP(ATMVP,又称SbTMVP)、广义双向预测(GBI)、双向光流(BIO)。

在VVC中,采用四叉树/二叉树/多叉树(QT/BT/TT)结构将图片划分为正方形或矩形块。

除了QT/BT/TT,在VVC中对于I-帧还采用了独立树(separate tree)(又称双重编解码树)。利用独立树,针对亮度和色度分量分别信令通知编解码块结构。

2.1成对平均候选

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

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

表1:成对平均候选的运算分析

2.2基于历史的运动矢量预测(HMVP)

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

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

(1)在一个实施例中,如果有来自先前编解码块的L个以上HMVP候选,则应用先进先出(First-In-First-Out,FIFO)规则,使得该表总是包含最新的先前编解码的L个运动候选。图11描绘了应用FIFO规则来移除HMVP候选,并且向所提出的方法中使用的表添加新的候选的示例。

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

3.帧内块复制

HEVC屏幕内容编解码扩展(HEVC Screen Content Coding extension,HEVC-SCC)和当前VVC测试模型(VTM-3.0)中已经采用了帧内块复制(IBC),又称当前图片参考。IBC将运动补偿的概念从帧间编解码扩展到了帧内编解码。如图12所表示的,当应用IBC时,当前块由同一图片中的参考块预测。在当前块被编解码或解码之前,必须已经重构了参考块中的样点。尽管IBC对于大多数相机捕获的序列而言效率不高,但它表明屏幕内容的显着编解码增益。原因是屏幕内容图片中有很多重复的模式,诸如图标和文本字符。IBC可以有效地去除这些重复模式之间的冗余。在HEVC-SCC中,如果帧间编解码单元(CU)选择当前图片作为其参考图片,则可以应用IBC。在这种情况下,MV被重命名为块矢量(Block Vector,BV),并且BV始终具有整数像素精度。为了与主配置文件HEVC兼容,当前图片在解码图片缓冲区(DPB)中被标记为“长期”参考图片。应当注意,类似地,在多视图/3D视频编解码标准中,视图间参考图片也被标记为“长期”参考图片。

随BV找到其参考块之后,可以通过复制参考块来生成预测。可以通过从原始信号中减去参考像素来获得残差。然后可以像在其他编解码模式下一样应用变换和量化。

然而,当参考块在图片之外、或与当前块重叠、或在重构区域之外、或在受某些约束条件限制的有效区域之外时,部分或全部像素值未被定义。基本上,有两种处理此问题的解决方案。一种是禁止这种情形,例如,比特流一致性(conformance)。另一种是对那些未定义的像素值应用填充。以下子章节详细描述了这些解决方案。

4.HEVC屏幕内容编解码扩展中的IBC

在HEVC的屏幕内容编解码扩展中,当块将当前图片用作参考时,应确保整个参考块在可用的重构区域内,如以下规范文本所示:

变量offsetX和offsetY如下推导:

offsetX=(ChromaArrayType==0)?0:(mvCLX[0]&0x7?2:0) (8-104)

offsetY=(ChromaArrayType==0)?0:(mvCLX[1]&0x7?2:0) (8-105)比特流一致性的要求是:当参考图片是当前图片时,亮度运动矢量mvLX应遵守以下约束条件:

-当用设置为等于(xCb,yCb)的(xCurr,yCurr)以及设置为等于(xPb+(mvLX[0]>>2)-offsetX,yPb+(mvLX[1]>>2)-offsetY)的临近亮度位置(xNbY,yNbY)作为输入来调用如条款6.4.1中规定的z-扫描顺序块可用性的推导过程时,输出应该等于真(TRUE)。

-当用设置为等于(xCb,yCb)的(xCurr,yCurr)以及设置为等于(xPb+(mvLX[0]>>2)+nPbW-1+offsetX,yPb+(mvLX[1]>>2)+nPbH-1+offsetY)的临近亮度位置(xNbY,yNbY)作为输入来调用如条款6.4.1中规定的z-扫描顺序块可用性的推导过程时,输出应该等于真。

-以下条件中的一个或两个应为真:

-(mvLX[0]>>2)+nPbW+xB1+offsetX的值小于或等于0。

-(mvLX[1]>>2)+nPbH+yB1+offsetY的值小于或等于0。

-以下条件应为真:

(xPb+(mvLX[0]>>2)+nPbSw–1+offsetX)/CtbSizeY-xCb/CtbSizeY<=yCb/CtbSizeY-(yPb+(mvLX[1]>>2)+nPbSh–1+offsetY)/CtbSizeY (8-106)

因此,将不会发生参考块与当前块重叠或参考块在图片之外的情况。不需要填充参考或预测块。

5.VVC测试模型中的IBC

在当前VVC测试模型(即VTM-3.0设计)中,整个参考块应当具有当前编解码树单元(Current Coding Tree Unit,CTU),并且不与当前块重叠。因此,不需要填充参考或预测块。

5.1IBC Merge模式

在IBC Merge模式下,从比特流中解析指向IBC Merge候选列表中的条目的索引。IBC Merge列表的构建可以根据以下步骤序列进行总结:

ο步骤1:空域候选的推导

ο步骤2:HMVP候选的插入

ο步骤3:成对平均候选的插入

在空域Merge候选的推导中,在位于图2中描绘的位置的候选当中选择最多四个Merge候选。推导的顺序是A1、B1、B0、A0和B2。仅当位置A1、B1、B0、A0的任何PU不可用(例如,因为它属于另一条带或片)或者是用IBC编解码的时,才考虑位置B2。在添加位置A1处的候选之后,对剩余候选的插入进行冗余检查,其确保具有相同运动信息的候选被排除在列表之外,从而提高编解码效率。为了降低计算复杂度,不是所有可能的候选对都在所提到的冗余检查中被考虑。相反,只考虑图3中用箭头链接的对,并且仅当用于冗余检查的对应候选没有相同的运动信息时,候选才被添加到列表中。

在空域候选的插入之后,如果IBC Merge列表尺寸仍然小于最大IBC Merge列表尺寸,则可以插入来自HMVP表的IBC候选。当插入HMVP候选时执行冗余检查。

最后,将成对平均候选插入到IBC Merge列表中。

当由Merge候选标识的参考块在图片之外、或者与当前块重叠、或者在重构区域之外、或者在受某些约束条件限制的有效区域之外时,Merge候选被称为无效Merge候选。

注意,无效Merge候选可以被插入到IBC Merge列表中。

5.2IBC AMVP模式

在IBC AMVP模式下,从比特流中解析指向IBC AMVP列表中的条目的AMVP索引。IBCAMVP列表的构建可以根据以下步骤序列进行总结:

ο步骤1:空域候选的推导

·检查A0、A1,直到找到可用的候选。

·检查B0、B1、B2,直到找到可用的候选。

ο步骤2:HMVP候选的插入

ο步骤3:零候选的插入

在空域候选的插入之后,如果IBC AMVP列表尺寸仍小于最大IBC AMVP列表尺寸,则可以插入来自HMVP表的IBC候选。

最后,将零候选插入到IBC AMVP列表中。

6.现有实施方式的缺点

假设最大IBC Merge列表尺寸为MaxMrgListSizeIbc,最大IBC AMVP列表尺寸为MaxAmvpListSizeIbc,并且常规Merge模式的最大Merge列表尺寸为MaxMrgListSize。

当前IBC Merge模式可能存在以下问题:

ο即使永远不会选择无效的Merge候选,也可以将其插入到IBC Merge列表中。这是低效率的,因为可能需要更多比特来信令通知Merge索引。

οIBC Merge列表中可用的IBC Merge候选的数量可能小于MaxMrgListSizeIbc。这是低效率的,因为,IBC Merge索引是在假定码的最大长度为MaxMrgListSizeIbc–1的情况下用截断一元码进行编解码的。

7.用于构建帧内块复制的运动候选列表的示例方法

目前公开的技术的实施例克服了现有实施方式的缺点,从而提供了编解码效率更高的视频编解码。基于所公开的技术,构建帧内块复制的运动候选列表可以增强现有视频编解码标准和未来视频编解码标准,在针对各种实施方式描述的以下示例中被阐述。下面提供的所公开技术的示例解释了一般概念,并且不意味着被解释为限制。在示例中,除非明确地相反指示,否则在这些示例中描述的各种特征可以被组合。

假设视频块具有高度H和宽度W。

1.某些IBC Merge候选可能被认为“不可用”,并且可能不被插入到IBC Merge列表中。

a.在一个示例中,如果由Merge候选标识的参考块与当前块重叠,则Merge候选可以被认为“不可用”。

b.在一个示例中,如果由Merge候选标识的参考块的部分样点在图片之外,则Merge候选可以被认为“不可用”。

c.在一个示例中,如果由Merge候选标识的参考块的所有样点都在图片之外,则Merge候选可以被认为“不可用”。

d.在一个示例中,如果由Merge候选标识的参考块的部分样点在重构区域之外,则Merge候选可以被认为“不可用”。

e.在一个示例中,如果由Merge候选标识的参考块的所有样点都在重构区域之外,则Merge候选可以被认为“不可用”。

f.在一个示例中,如果由Merge候选标识的参考块的部分样点在受某些约束条件限制的有效区域之外,则Merge候选可以被认为“不可用”。

g.在一个示例中,如果由Merge候选标识的参考块的所有样点都在受某些约束条件限制的有效区域之外,则Merge候选可以被认为“不可用”。

h.在一个示例中,约束条件可以是参考样点不能来自上方CTU行或上方CTU行上方的区域。

i.在一示例中,约束条件可以是参考块中的参考样点不能在当前块内。

j.在一个示例中,约束条件可以是参考样点只能来自当前CTU行。

k.在一示例中,约束条件可以是参考样点不能来自左边CTU。

l.在一个示例中,约束条件可以是参考样点只能来自当前CTU。

m.在一个示例中,约束条件可以是参考样点只能来自预定的区域。

i.区域可以取决于当前块的位置。

ii.区域可以取决于当前块的大小。

iii.区域可以取决于包含当前块的M×N的块的位置。例如M=N=128或M=N=64。

iv.区域可以取决于图片的分辨率。

v.区域可以取决于CTU或M×N的矩形内的块的编码/解码顺序。

vi.在一示例中,区域可以包括左边CTU中的样点和当前CTU中的样点。

vii.在一个示例中,区域可以包括左边CTU中的样点或/和上方CTU中的样点以及当前CTU中的样点。

viii.在一个示例中,片/条带/图片可被划分成N×M(N>0且M>0,例如,N=M=128)的矩形,并且对于N×M的矩形中的块,区域可以包括左边N×M的矩形中的样点和当前N×M的矩形中的样点。

1.可替代地,区域可以包括在左边N×M的矩形中的样点或/和上方N×M的矩形中的样点以及当前N×M的矩形中的样点。

ix.在一个示例中,CTU或/和N×M的矩形可以被划分成K(K>=1,例如,K=4)个子区域(例如,子区域尺寸是64×64),并且区域可以取决于子区域的位置或/和编码/解码顺序。示例在图13中示出。

1.在一个示例中,子区域可以具有相同的大小。

2.在一个示例中,不同的子区域可以具有不同的大小。

n.在一个示例中,来自某些空域临近/非相邻块的空域候选可以被认为“不可用”。

i.可替代地,可以将空域候选总是插入到IBC Merge列表中。

o.在一个示例中,某些HMVP候选可以被认为“不可用”。

i.可替代地,HMVP候选可以总是被插入到IBC Merge列表中。

p.在一个示例中,某些成对候选可以被认为“不可用”。

i.可替代地,成对候选可以总是被插入到IBC Merge列表中。

q.在一个示例中,如果候选被确定为“不可用”,则不将其放入IBC Merge列表中。

i.在可替代示例中,如果候选被确定为“不可用”,则仍将其放入IBC Merge列表中,但是不能在一致性比特流中选择这样的候选。

r.在一示例中,如果所有候选均被确定为“不可用”,则IBC Merge模式不被信令通知。

s.在可替代示例中,如果所有候选均被确定为“不可用”,则IBC Merge模式仍可以被信令通知,但是不能在一致性比特流中选择IBC Merge模式。

2.可以将附加的IBC Merge候选插入到IBC Merge列表中。

a.在一个示例中,可以将(诸如从块大小推导出的)默认Merge候选插入到IBCMerge列表中。

i.例如,可以插入(-W,-H)。

ii.例如,可以插入(-W,-3*H/2)。

iii.例如,可以插入(-3*W/2,-H)。

iv.例如,可以插入(-3*W/2,-3*H/2)。

v.例如,可以插入(-2*W,0)。

vi.例如,可以插入(0,-2*H)。

vii.例如,可以插入(-W,0)。

viii.例如,可以插入(0,-H)。

ix.默认Merge候选可以取决于块的位置或/和大小。

x.插入默认Merge候选的顺序可以取决于块的位置或/和大小。

xi.可以从编码器向解码器(诸如以VPS/SPS/PPS/图片头/条带头/片组头等)信令通知默认Merge候选。

b.可以(诸如通过将一些偏移添加到运动矢量)从选择的可用的IBC Merge候选推导一个或多个偏移候选。

i.在一个示例中,所选择的可用的IBC Merge候选可以包括从某些空域临近/非相邻块(诸如仅从A1;或者图2-2中的A1和B1)推导出的一个或多个IBC Merge候选。

ii.可替代地,所选择的可用的IBC Merge候选可以包括从HMVP表推导出的一个或多个HMVP候选。

iii.可替代地,所选择的可用的IBC Merge候选可以包括一个或多个成对Merge候选。

iv.可替代地,此外,“不可用”的Merge候选(例如,在项目符号1中定义的那些候选)可以用于生成新的Merge候选。

1.可替代地,“不可用”的附加的IBC Merge候选可能不被允许。

v.可替代地,在添加这些偏移候选之前,可以将所选择的可用的IBC Merge候选定义为所有可用的IBC候选。

1.可替代地,在添加这些偏移候选之前,可以将所选择的可用的IBC Merge候选定义为前K个(K>=0)IBC候选。变量K不大于可用的IBC候选的数量。

vi.在一个示例中,可以将由(OffsetXi,OffsetYi)(1<=i<=N1)表示的N1(N1>=0)个MV偏移添加到空域IBC Merge候选以生成新的Merge候选。

1.在一个示例中,对于不同的空域Merge候选,N1可以不同。

vii.在一示例中,可以将N2(N2>=0)个MV偏移添加到HMVPMerge候选以生成新的Merge候选。

1.在一个示例中,对于不同的HMVP Merge候选,N2可以不同。

viii.在一个示例中,可以将N3(N3>=0)个MV偏移添加到成对Merge候选以生成新的Merge候选。

1.在一个示例中,对于不同的成对Merge候选,N 3可以不同。

ix.在一个示例中,可以将N4(N4>=0)个MV偏移添加到当前可用的Merge候选以生成新的Merge候选。

1.在一个示例中,对于不同的Merge候选,N4可以不同。

2.例如,N4可以仅对于第一个可用的Merge候选大于0。

x.MV偏移可以取决于Merge候选或/和CTU或M×N的矩形中的块的位置或/和大小或/和块的编码/解码顺序。

c.可以在某些成对Merge候选或所有成对Merge候选之后插入附加的IBC Merge候选。

i.可替代地,附加的IBC Merge候选可以与某些成对Merge候选或/和默认Merge候选交错(interleave)。

d.可以在某些或所有默认Merge候选之后插入附加的IBC Merge候选。

i.可替代地,可以在某些或所有默认Merge候选之前插入附加的IBC Merge候选。

ii.可替代地,附加的IBC Merge候选可以与默认Merge候选交错。

e.可以在检查某个空域临近块(例如,B0)之后插入附加的IBC Merge候选。

i.可替代地,另外,可以将附加的IBC Merge候选与剩余的空域临近候选交错。

f.可以在某些空域Merge候选或所有空域Merge候选之后插入附加的IBC Merge候选。

i.可替代地,此外,在HMVP Merge候选之前插入附加的IBCMerge候选。

ii.可替代地,可以在空域Merge候选之后插入附加的IBC Merge候选,并且与HMVPMerge候选和/或成对Merge候选交错。

iii.可替代地,附加的IBC Merge候选可以与某些空域Merge候选或/和HMVPMerge候选或/和成对Merge候选或/和默认Merge候选交错。

g.可以在某些HMVP Merge候选或所有HMVP Merge候选之后插入附加的IBC Merge候选。

i.可替代地,另外,在成对Merge候选之前插入附加的IBC Merge候选。

ii.可替代地,可以在HMVP Merge候选之后插入附加的IBCMerge候选,并且与成对Merge候选交错。

iii.可替代地,附加的IBC Merge候选可以与某些HMVP Merge候选或/和成对Merge候选或/和默认Merge候选交错。

3.可以将特殊IBC Merge候选插入到IBC Merge列表中。当通过块选择特殊IBCMerge候选时,一些默认值可以用于推导预测块,并且不执行运动补偿。

a.在一个示例中,如果特殊IBC Merge候选被选择,则可以使用一个默认值来预测整个块。

b.在一个示例中,如果特殊IBC Merge候选被选择,则可以将该块划分成N(N>=1)个子块,并且可以使用不同的默认值来预测不同的子块。

c.在一个示例中,可以将N(N>=0)个特殊IBC Merge候选插入到IBC Merge列表中。

d.在一个示例中,可以将一些特殊IBC Merge候选多次插入到IBC Merge列表中。

e.在一示例中,不同的特殊IBC Merge候选可以对应于用于预测块的不同默认值。

f.在一个示例中,仅当“可用的”候选的数量小于MaxMrgListSizeIbc时,才可以将特殊IBC Merge候选插入到IBC Merge列表中。

i.可替代地,此外,可以将特殊IBC Merge候选插入到IBC Merge列表中,直到列表尺寸等于MaxMrgListSizeIbc。

g.在一个示例中,可以在某些类型的Merge候选之后插入特殊IBC Merge候选。

i.例如,可以在继承的Merge候选之后插入特殊IBC Merge候选。

1.可替代地,此外,在HMVP Merge候选之前插入特殊IBCMerge候选。

ii.例如,可以在HMVP Merge候选之后插入特殊IBC Merge候选。

1.可替代地,此外,在成对Merge候选之前插入特殊IBCMerge候选。

iii.例如,可以在成对Merge候选之后插入特殊IBC Merge候选。

iv.例如,可以在示例2中所述的附加的Merge候选之后插入特殊IBC Merge候选。

v.例如,可以在所有其他Merge候选之后插入特殊IBC Merge候选。

h.在一个示例中,特殊IBC Merge候选可以与其他Merge候选交错。

i.可以以SPS/VPS/PPS/片组头/条带头来信令通知默认值。

j.默认值可以在解码器处隐式地推导。

i.例如,1<<(bitDepth–1)可以用作默认值,其中bitDepth是样点的比特深度。

ii.例如,1<<bitDepth可以用作默认值。

iii.例如,0可以用作默认值。

k.默认值可以取决于样点的比特深度。

l.对于不同的颜色分量,默认值可以不同。

m.可以基于先前解码的图片/条带/片来推导默认值。

n.可替代地,此外,将残差块设置为全零系数,即使用默认值来推导当前块的重构块。

4.用于构建IBC Merge列表的空域临近块可以与用于常规Merge列表的空域临近块不同。

a.在一个示例中,当空域临近块的运动信息产生不可用的IBC Merge候选时,可以进一步检查空域临近块的相邻块。

b.在一个示例中,可以在从空域临近块(例如,图2-2中的A1、B1、A0、B0、B2)推导出的所有候选之后添加从空域临近块的相邻块推导出的运动信息。

c.可替代地,当空域临近块的运动信息产生不可用的IBC Merge候选时,可以添加空域临近块的相邻块的运动信息(如果其不是不可用的)。

5.可以将最多K1(K1>=1)个空域Merge候选插入到IBC Merge列表中。

a.K1可以取决于MaxMrgListSizeIbc。

6.可以将最多K2(K2>=0)个HMVP Merge候选插入到IBC Merge列表中。

a.K2可以取决于MaxMrgListSizeIbc。

b.K2可以与用于常规Merge模式的K2不同,诸如,N不等于5。

7.可以将最多K3(K3>=0)个成对Merge候选插入到IBC Merge列表中。

a.K3可以取决于MaxMrgListSizeIbc。

b.K3可以与用于常规Merge模式的K3不同。

c.K3可以等于零,即成对Merge候选可能永远不会插入到IBC Merge列表中。

8.可以根据关于块大小的规则启用/禁用IBC模式。

a.在一个示例中,当块尺寸包含少于M*H个样点,例如,16或32或64个亮度样点时,IBC Merge或/和IBC AMVP模式不被允许。

b.在一个示例中,当块尺寸包含多于M*H个样点,例如,16或32或64个亮度样点时,IBC Merge或/和IBC AMVP模式不被允许。

c.可替代地,当块的宽度或/和高度的最小尺寸小于或不大于X时,IBC Merge或/和IBC AMVP模式不被允许。在一个示例中,X被设置为8。

d.可替代地,当块的宽度>th1或>=th1和/或块的高度>th2或>=th2时,IBCMerge或/和IBC AMVP模式不被允许。在一个示例中,X被设置为64。

i.例如,对M×M(例如128×128)的块禁用IBC Merge或/和IBCAMVP模式。

ii.例如,对N×M/M×N的块禁用IBC Merge或/和IBC AMVP模式,例如,其中N>=64,M=128。

iii.例如,对N×M/M×N的块禁用IBC Merge或/和IBC AMVP模式,例如,其中N>=4,M=128。

e.可替代地,当块的宽度<th1或<=th1和/或块的高度<th2或<=th2时,IBCMerge或/和IBC AMVP模式不被允许。在一个示例中,th1和/或th2被设置为8。

9.可以根据块位置不允许IBC模式。

a.在一个示例中,CTU行中的第一个CU不能使用IBC模式。

b.在一个示例中,CTU中的第一个CU不能使用IBC模式。

c.在一个示例中,位于CTU行左边界的CU不能使用IBC模式。

d.在一个示例中,位于CTU左边界的CU不能使用IBC模式。

10.当不允许IBC模式时,不需要发送指示IBC模式的标志,并且推断IBC模式为假。

11.可以以PPS/VPS/图片头/条带头/片组头/CTU组来信令通知用于告知所提出的方法是否被启用的指示。

a.在一个示例中,如果独立树分割结构(例如,双树)被应用,则可以针对一个图片/条带/片组/CTU,信令通知该指示一次以上。

b.在一个示例中,如果独立树分割结构(例如,双树)被应用,则可以针对不同的颜色分量单独地信令通知该指示。

i.可替代地,可以仅针对一种颜色分量信令通知该指示,并且该指示可以应用于所有其他颜色分量。

12.提出了MaxMrgListSizeIbc可以不同于MaxMrgListSize。

a.在一个示例中,可以以SPS/VPS/PPS/片组头/条带头来信令通知IBC Merge模式中的最大Merge候选列表尺寸。

b.在一个示例中,MaxMrgListSizeIbc小于MaxMrgListSize,并且可以以SPS/VPS/PPS/片组头/条带头来信令通知MaxMrgListSize–MaxMrgListSizeIbc。

c.在一个示例中,MaxMrgListSizeIbc大于MaxMrgListSize,并且可以以SPS/VPS/PPS/片组头/条带头来信令通知MaxMrgListSizeIbc–MaxMrgListSize。

13.如何构建IBC Merge列表可以取决于颜色分量。

a.例如,当双树用于亮度和色度分量时,对于亮度和色度分量,IBCMerge列表可以不同。

14.以上方法也可以应用于IBC AMVP模式。

上面描述的示例可以结合在下面描述的方法(例如,方法1400)的上下文中,该方法可以在视频解码器或视频编码器处实施。

图14A示出了用于视频处理的示例性方法的流程图。方法1410包括,在步骤1412处,使用帧内块复制(IBC)Merge候选列表,执行视频的当前视频块和视频的编解码表示之间的转换。方法1410还包括,在步骤1414处,通过基于条件添加Merge候选做出关于是否更新IBC Merge列表的决定。

图14B示出了用于视频处理的示例性方法的流程图。方法1420包括,在步骤1422处,为视频的当前视频块和视频的编解码表示之间的转换,维护根据规则向其中添加Merge候选的帧内块复制(IBC)Merge列表。方法1420还包括,在步骤1424处,使用IBC Merge列表来执行该转换。

图14C示出了用于视频处理的示例性方法的流程图。方法1430包括,在步骤1432处,为视频的当前视频块和视频的编解码表示之间的转换,维护向其中添加特殊IBC Merge候选的帧内块复制(IBC)Merge列表。方法1430还包括,在步骤1434处,使用IBC Merge列表来执行该转换。在一些实施方式中,特殊IBC Merge候选由当前视频块选择,当前视频块的预测块基于一个或多个默认值,不使用运动补偿而推导。

图15A示出了用于视频处理的示例性方法的流程图。方法1510包括,在步骤1512处,在当前视频块和当前视频块的编解码表示之间的转换期间,构建帧内块复制(IBC)运动候选列表,其中将运动候选插入到IBC运动候选列表中受尺寸的限制。方法1510还包括,在步骤1514处,使用IBC运动候选列表来执行该转换。

图15B示出了用于视频处理的示例性方法的流程图。方法1520包括,在步骤1522处,为视频的当前视频块和视频的编解码表示之间的转换,根据构建规则,构建帧内块复制(IBC)运动候选列表。方法1520还包括,在步骤1524处,基于IBC运动候选列表来执行该转换。在一些实施方式中,构建规则指定为添加到IBC运动候选列表检查与为添加到常规运动候选列表(regular motion candidate list)而要检查的空域临近块处于不同的相对位置处的空域临近块。

图15C示出了用于视频处理的示例性方法的流程图。方法1530包括,在步骤1532处,为视频的当前视频块和视频的编解码表示之间的转换,基于当前视频块的颜色分量标识来构建帧内块复制(IBC)运动候选列表。方法1530还包括,在步骤1534处,基于IBC运动候选列表来执行该转换。

图16A示出了用于视频处理的示例性方法的流程图。方法1610包括,在步骤1612处,为视频的当前视频块和视频的编解码表示之间的转换,基于关于块大小的规则确定是否启用帧内块复制(IBC)模式,其中,在该IBC模式下,基于包括当前视频块的图片中的块矢量来计算当前视频块的预测块。方法1610还包括,在步骤1614处,基于该确定来执行该转换。

图16B示出了用于视频处理的示例性方法的流程图。方法1620包括,在步骤1622处,为视频的当前视频块和视频的编解码表示之间的转换,基于当前视频块的位置确定禁止使用帧内块复制(IBC)模式,其中,在该IBC模式下,基于包括当前视频块的图片中的块矢量来计算当前视频块的预测块。方法1620还包括,在步骤1624处,基于该确定来执行该转换。

图16C示出了用于视频处理的示例性方法的流程图。方法1630包括,在步骤1632处,执行视频的视频区域的当前视频块和视频的编解码表示之间的转换,其中,控制帧内块复制(IBC)模式的构建或更新的规则是否包括在编解码表示中的指示在视频区域级别,并且其中,帧内块复制模式包括至少使用指向包括当前视频块的图片的块矢量来生成预测块。

图17示出了用于视频处理的示例性方法的流程图。方法1700包括,在步骤1702处,为视频的当前视频块和视频的编解码表示之间的转换,构建帧内块复制(IBC)运动候选列表,该列表存储用于表示当前视频块的、指向包含当前视频块的图片的一个或多个候选。方法1700还包括,在步骤1704处,使用IBC运动候选列表来执行该转换。在一些实施方式中,编解码表示包括推导IBC运动候选列表的最大尺寸的第一字段和不同于第一字段的推导常规运动候选列表的最大尺寸的第二字段。

8.所公开技术的示例实施方式

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

图18B是示出可以在其中实施所公开的技术的视频处理系统的框图的另一个示例。图18B是示出可以在其中实施本文公开的各种技术的示例视频处理系统4100的框图。各种实施方式可以包括系统4100的一些或所有组件。系统4100可以包括用于接收视频内容的输入4102。视频内容可以以原始或未压缩格式接收,例如,8或10比特多分量像素值,或者可以是压缩或编码格式。输入4102可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(Passive Optical Network,PON)等)和无线接口(诸如Wi-Fi或蜂窝接口)。

系统4100可以包括可以实施本文档中描述的各种编解码或编码方法的编解码组件4104。编解码组件4104可以将来自输入4102的视频的平均比特率减小到编解码组件4104的输出,以产生视频的编解码表示。编解码技术因此有时被称为视频压缩或视频转码技术。编解码组件4104的输出可以被存储,或者经由如由组件4106表示的连接的通信而发送。在输入4102处接收的视频的存储或通信传送的比特流(或编解码)表示可以由组件4108用于生成像素值或要被发送到显示接口4110的可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是应当理解,编解码工具或操作在编码器处使用,并且反转编解码结果的、对应的解码工具或操作将由解码器执行。

外围总线接口或显示接口的示例可以包括通用串行总线(Universal SerialBus,USB)或高清多媒体接口(High Definition Multimedia Interface,HDMI)或显示端口等。存储接口的示例包括SATA(Serial Advanced Technology Attachmen,串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。

在一些实施例中,如关于图14A至图17中的任何一个所描述的视频处理方法可以使用在硬件平台上实施的装置来实施。

可以使用以下基于条款的格式来描述各种技术和实施例。

第一组条款描述了在先前章节中,包括例如示例1-3,列出的所公开技术的某些特征和方面。

1.一种用于视频处理的方法,包括:使用帧内块复制(IBC)运动候选列表,执行视频的当前视频块和视频的编解码表示之间的转换;以及通过基于条件添加运动候选做出关于是否更新IBC运动候选列表的决定。

2.根据条款1所述的方法,其中,运动候选不被添加到IBC运动候选列表,并且其中,该条件是由运动候选标识的参考块与当前视频块重叠。

3.根据条款1所述的方法,其中,运动候选不被添加到IBC运动候选列表,并且其中,该条件是由运动候选标识的参考块的至少一个样点位于包括当前视频块的图片之外。

4.根据条款1所述的方法,其中,运动候选不被添加到IBC运动候选列表,并且其中,该条件是由运动候选标识的参考块的每个样点位于包括当前视频块的图片之外。

5.根据条款1所述的方法,其中,运动候选不被添加到IBC运动候选列表,并且其中,该条件是由运动候选标识的参考块的至少一个样点位于与当前视频块相对应的重构区域之外。

6.根据条款1所述的方法,其中,运动候选不被添加到IBC运动候选列表,并且其中,该条件是由运动候选标识的参考块的每个样点位于与当前视频块相对应的重构区域之外。

7.根据条款1所述的方法,其中,运动候选不被添加到IBC运动候选列表,并且其中,该条件是由运动候选标识的参考块的至少一个样点位于受约束条件限制的有效区域之外。

8.根据条款1所述的方法,其中,运动候选不被添加到IBC运动候选列表,并且其中,该条件是由运动候选标识的参考块的每个样点位于受约束条件限制的有效区域之外。

9.根据条款7或8所述的方法,其中,该约束条件不允许参考块中的样点位于包括当前视频块的编解码树单元(CTU)行上方的CTU行中。

10.根据条款7或8所述的方法,其中,该约束条件不允许参考块中的样点位于当前视频块内。

11.根据条款7或8所述的方法,其中,该约束条件允许参考块中的样点位于包括当前视频块的当前编解码树单元(CTU)行中。

12.根据条款7或8所述的方法,其中,该约束条件不允许参考块中的样点位于包括当前视频块的编解码树单元(CTU)左边的CTU中。

13.根据条款7或8所述的方法,其中,该约束条件允许参考块中的样点位于包括当前视频块的当前编解码树单元(CTU)中。

14.根据条款7或8所述的方法,其中,该约束条件允许参考块中的样点位于预定的区域中。

15.根据条款14所述的方法,其中,预定的区域取决于以下至少一项:i)当前视频块的位置,ii)当前视频块的大小,iii)包括当前视频块的M×N的块的位置,iv)包括当前视频块的图片的分辨率,或v)编解码树单元(CTU)或M×N的矩形内的块的编码或解码顺序。

16.根据条款14所述的方法,其中,预定的区域包括以下至少一项:i)包括当前视频块的编解码树单元(CTU)左边的CTU中的样点;ii)当前视频块中的样点;iii)包括当前视频块的CTU上方的CTU中的样点。

17.根据条款14所述的方法,其中,将包括当前视频块的视频区域划分成N×M的矩形,并且对于当前N×M的矩形中的块,预定的区域包括以下至少一项:i)当前N×M的矩形左边的N×M的矩形中的样点;ii)当前N×M的矩形上方的N×M的矩形中的样点;或iii)当前N×M的矩形中的样点。

18.根据条款14所述的方法,其中,将编解码树单元(CTU)或N×M的矩形中的至少一个划分成K个子区域,K是等于或大于1的整数,并且其中,预定的区域取决于子区域的位置或/和子区域的编码或解码顺序。

19.根据条款1所述的方法,其中,运动候选不被添加到IBC运动候选列表,并且其中,该条件是运动候选是来自特定的空域临近或不相邻块的空域候选。

20.根据条款1所述的方法,其中,运动候选被添加到IBC运动候选列表,并且其中,该条件是运动候选是来自空域临近或非相邻块的空域候选。

21.根据条款1所述的方法,其中,运动候选不被添加到IBC运动候选列表,并且其中,该条件是运动候选是特定的基于历史的运动矢量预测(HMVP)候选。

22.根据条款1所述的方法,其中,运动候选被添加到IBC运动候选列表,并且其中,该条件是运动候选是基于历史的运动矢量预测(HMVP)候选。

23.根据条款1所述的方法,其中,运动候选不被添加到IBC运动候选列表,并且其中,该条件是运动候选是特定的成对候选。

24.根据条款1所述的方法,其中,运动候选被添加到IBC运动候选列表,并且其中,该条件是运动候选是成对候选。

25.根据条款2至19、21和23中任一项所述的方法,其中,基于条件而不被添加到IBC运动候选列表的运动候选被指定为不可用。

26.根据条款1所述的方法,其中,在一致性比特流中不选择运动候选,并且其中,该条件是运动候选被指定为不可用且被添加到IBC运动候选列表。

27.根据条款1所述的方法,其中,在IBC运动候选列表中的所有运动候选都被指定为不可用的情况下,不信令通知IBC模式。

28.根据条款1所述的方法,其中,在IBC运动列表中的所有运动候选被指定为不可用的情况下,信令通知IBC模式,但不在一致性比特流中选择IBC模式。

29.根据条款1所述的方法,其中,不被添加到IBC运动候选列表中的运动候选被用于生成新的运动候选。

30.一种用于视频处理的方法,包括:为视频的当前视频块和视频的编解码表示之间的转换,维护根据规则向其中添加运动候选的帧内块复制(IBC)运动候选列表;以及使用IBC运动候选列表来执行该转换。

31.根据条款30所述的方法,其中,运动候选包括一个或多个默认运动候选。

32.根据条款31所述的方法,其中,运动候选包括以下坐标中的至少一个:(-W,H)、(-W,3*H/2)、(-3*W/2,-H)、(-3*W/2,-3*H/2)、(-2*W,0)、(0,-2*H)或(-W,0)、(0,-H),W和H表示当前视频块的宽度和高度。

33.根据条款31所述的方法,其中,一个或多个默认运动候选是基于当前视频块的位置和/或当前视频块的大小而确定的。

34.根据条款31所述的方法,其中,插入一个或多个默认运动候选的顺序是基于当前视频块的位置和/或当前视频块的大小的。

35.根据条款31所述的方法,其中,一个或多个默认运动候选是以视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、图片头、条带头或片组头来信令通知的。

36.根据条款30所述的方法,其中,运动候选包括通过将偏移添加到IBC运动候选列表中的一个或多个选择的运动候选的运动矢量而推导出的一个或多个偏移候选。

37.根据条款36所述的方法,其中,一个或多个选择的运动候选包括从特定的空域临近或非相邻块推导出的一个或多个运动候选。

38.根据条款36所述的方法,其中,一个或多个选择的运动候选包括从IBC基于历史的运动矢量预测(HMVP)表推导出的一个或多个IBC HMVP候选。

39.根据条款36所述的方法,其中,一个或多个选择的运动候选包括一个或多个成对运动候选。

40.根据条款36所述的方法,其中,一个或多个选择的运动候选被定义为在添加运动候选之前包括在IBC运动候选列表中的运动候选。

41.根据条款36所述的方法,其中,一个或多个偏移候选是通过以下至少一项获得的:i)将N1个运动矢量偏移添加到空域运动候选;ii)将N2个运动矢量偏移添加到HMVP运动候选;iii)将N3个运动矢量偏移添加到成对运动候选;或iv)将N4个运动矢量偏移添加到当前可用的运动候选,并且其中,N1、N2、N3和N4等于或大于0。

42.根据条款36所述的方法,其中,偏移的值取决于以下至少一项:i)运动候选,ii)当前视频块的位置,iii)块的大小,或iv)编解码树单元或M×N的矩形中的块的编码或解码顺序。

43.根据条款30所述的方法,其中,运动候选插入到在特定的成对运动候选、特定的默认运动候选、特定的空域运动候选或特定的基于历史的运动矢量预测(HMVP)运动候选之后。

44.根据条款30所述的方法,其中,运动候选插入到IBC运动候选列表中的所有成对运动候选、所有默认运动候选、所有空域运动候选或所有基于历史的运动矢量预测(HMVP)运动候选之后。

45.一种用于视频处理的方法,包括:为视频的当前视频块和视频的编解码表示之间的转换,维护向其中添加特殊帧内块复制IBC运动候选的IBC运动候选列表;以及使用IBC运动候选列表来执行该转换,其中,特殊IBC运动候选由当前视频块选择,当前视频块的预测块基于一个或多个默认值,不使用运动补偿而推导。

46.根据条款45所述的方法,其中,一个默认值被用于预测整个块。

47.根据条款45所述的方法,其中,将当前视频块划分为一个或多个子块,并且其中,一个或多个默认值的不同默认值被用于预测一个或多个子块中的每一个。

48.根据条款45所述的方法,其中,特殊IBC运动候选被多次添加到IBC运动候选列表。

49.根据条款45所述的方法,其中,一个以上附加的特殊IBC运动候选被添加到IBC运动候选列表。

50.根据条款49所述的方法,其中,多个特殊IBC运动候选对应于用于预测当前视频块的不同默认值。

51.根据条款45所述的方法,其中,仅当可用候选的数量小于预定值时,特殊IBC运动候选才被添加到IBC运动候选列表。

52.根据条款45所述的方法,其中,特殊IBC运动候选被添加到IBC运动候选列表,直到IBC运动候选列表的尺寸等于预定值为止。

53.根据条款45所述的方法,其中,特殊IBC运动候选被添加到IBC运动候选列表中的i)至少一个继承的运动候选之后;ii)HMVP运动候选之后;iii)成对运动候选之后;或v)所有其他运动候选之后。

54.根据条款45所述的方法,其中,附加的运动候选被添加到IBC运动候选列表,并且特殊IBC运动候选被添加到IBC运动候选列表中的附加的运动候选之后。

55.根据条款45所述的方法,其中,特殊IBC运动候选与其他运动候选交错。

56.根据条款45所述的方法,其中,一个或多个默认值是以视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、条带头或片组头来信令通知的。

57.根据条款45所述的方法,其中,一个或多个默认值在解码器处隐式地推导。

58.根据条款57所述的方法,其中,一个或多个默认值包括1<<(bitDepth

1)、1<<bitDepth和0中的至少一个,其中bitDepth是当前视频块的样点的比特深度。

59.根据条款45所述的方法,其中,一个或多个默认值是基于当前视频块的样点的比特深度的。

60.根据条款45所述的方法,其中,一个或多个默认值的不同默认值被用于当前视频块的不同颜色分量。

61.根据条款45所述的方法,其中,一个或多个默认值是基于视频的先前处理的视频区域推导的,该视频区域是图片、条带或片。

62.根据条款45所述的方法,其中,一个或多个默认值被用于推导当前视频块的重构块。

63.根据条款1至62中任一项所述的方法,其中,IBC运动候选列表是IBC Merge候选列表。

64.根据条款1至62中任一项所述的方法,其中,IBC运动候选列表是IBC AMVP候选列表。

65.根据条款1-64中任一项所述的方法,其中,执行转换包括从当前块生成编解码表示。

66.根据条款1-64中任一项所述的方法,其中,执行转换包括从编解码表示生成当前块。

67.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器运行时,使处理器实施根据条款1至66中任一项所述的方法。

68.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行根据条款1至66中任一项所述的方法的程序代码。

第二组条款描述了在先前章节中,包括例如示例4-7、13和14,列出的公开技术的某些特征和方面。

1.一种视频处理方法,包括:在当前视频块和当前视频块的编解码表示之间的转换期间,构建帧内块复制(IBC)运动候选列表,其中将运动候选插入到IBC运动候选列表受尺寸的限制;以及使用IBC运动候选列表来执行该转换。

2.根据条款1所述的方法,其中,运动候选是空域运动候选,并且其中,最多K1个空域运动候选被插入到IBC运动候选列表中,K1等于或大于1。

3.根据条款2所述的方法,其中,K1是基于MaxMrgListSizeIbc的。

4.根据条款1所述的方法,其中,运动候选是基于历史的运动矢量预测(HMVP)运动候选,并且其中,最多K2个HMVP运动候选被插入到IBC运动候选列表中,K2等于或大于0。

5.根据条款4所述的方法,其中,K2是基于MaxMrgListSizeIbc的。

6.根据条款4所述的方法,其中,K2与用于不同于IBC运动候选列表的常规运动候选列表的运动候选的最大数量不同。

7.根据条款1所述的方法,其中,运动候选是成对Merge候选,并且其中,最多K3个成对运动候选被插入到IBC运动候选列表中,K3等于或大于0。

8.根据条款7所述的方法,其中,K3是基于MaxMrgListSizeIbc的。

9.根据条款4所述的方法,其中,K3与用于不同于IBC运动候选列表的常规运动候选列表的运动候选的最大数量不同。

10.根据条款6或9所述的方法,其中,常规运动候选列表是非IBC模式的Merge列表。

11.一种用于视频处理的方法,包括:为视频的当前视频块和视频的编解码表示之间的转换,根据构建规则,构建帧内块复制(IBC)运动候选列表;以及基于IBC运动候选列表来执行该转换,其中,构建规则指定为添加到IBC运动候选列表检查与为添加到常规运动候选列表而要检查的空域临近块处于不同的相对位置处的空域临近块。

12.根据条款11所述的方法,其中,针对常规运动候选列表的构建,检查位于相对于帧间Merge编解码块的第一相对位置处的第一块,并且针对IBC运动候选列表的构建,不检查位于相对于当前视频块的第一相对位置处的第三块。

13.根据条款11所述的方法,其中,针对IBC运动候选列表的构建,检查位于相对于当前视频块的第二相对位置处的第二块,并且针对常规运动候选列表的构建,不检查位于相对于帧间Merge编解码块的第二相对位置处的第四块。

14.根据条款11所述的方法,其中,维护IBC运动候选列表包括:在空域临近块的运动信息产生不插入到IBC运动候选列表中的运动候选的情况下,检查空域临近块的相邻块。

15.根据条款14所述的方法,其中,维护IBC运动候选列表还包括:在从空域临近块推导出的所有运动候选之后,添加从相邻块推导出的运动信息。

16.根据条款11所述的方法,其中,维护IBC运动候选列表包括:在空域临近块的运动信息产生不插入到IBC运动候选列表中的运动候选的情况下,添加空域临近块的相邻块的运动信息。

17.一种用于视频处理的方法,包括:为视频的当前视频块和视频的编解码表示之间的转换,基于当前视频块的颜色分量标识来构建帧内块复制(IBC)运动候选列表;以及基于IBC运动候选列表来执行该转换。

18.根据条款17所述的方法,其中,对亮度和色度分量使用双树,并且对于亮度和色度分量,IBC运动候选列表不同。

19.根据条款1至18中任一项所述的方法,其中,当前视频块以IBC(帧内块复制)AMVP(高级运动矢量预测)模式编解码,其中,在该模式下,从编解码表示中解析指向IBCAMVP列表中条目的AMVP索引。

20.根据条款1至18中任一项所述的方法,其中,IBC运动候选列表是IBC Merge候选列表。

21.根据条款1至20中任一项所述的方法,其中,执行转换包括从当前块生成编解码表示。

22.根据条款1至20中任一项所述的方法,其中,执行转换包括从编解码表示生成当前块。

23.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器运行时,使处理器实施根据条款1至22中任一项所述的方法。

24.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行根据条款1至22中任一项所述的方法的程序代码。

第三组条款描述了在先前章节中,包括例如示例8-11,列出的所公开技术的某些特征和方面。

1.一种用于视频处理的方法,包括:为视频的当前视频块和视频的编解码表示之间的转换,基于关于块大小的规则确定是否启用帧内块复制(IBC)模式,其中,在该IBC模式下,基于包括当前视频块的图片中的块矢量来计算当前视频块的预测块,以及基于该确定来执行该转换。

2.根据条款1所述的方法,其中,IBC模式是IBC Merge模式,其中,在该IBC Merge模式下,从编解码表示中解析指向IBC Merge列表中条目的索引;或者IBC模式是IBC AMVP(高级运动矢量预测)模式,其中,在该IBC AMVP模式下,从编解码表示中解析指向IBC AMVP列表中条目的AMVP索引。

3.根据条款1所述的方法,其中,该确定确定对于块尺寸包含少于M*H个样点的当前视频块,不启用IBC模式。

4.根据条款1所述的方法,其中,该确定确定对于块尺寸包含多于M*H个样点的当前视频块,不启用IBC模式。

5.根据条款1所述的方法,其中,该确定确定对于宽度和/或高度的最小尺寸小于或不大于预定值的当前视频块,不启用IBC模式。

6.根据条款1所述的方法,其中,该确定确定对于宽度等于或大于第一预定值和/或高度等于或大于第二预定值的当前视频块,不启用IBC模式。

7.根据条款1所述的方法,其中,该确定确定对于宽度大于第一预定值且高度大于第二预定值的当前视频块,不启用IBC模式。

8.根据条款6或7所述的方法,其中,对于为M×M的块、N×M的块或M×N的块的当前视频块,不启用IBC模式,其中,M是128,并且N是等于或大于4的整数或者是等于或大于64的整数。

9.根据条款7所述的方法,其中,第一预定值和第二预定值都等于64。

10.根据条款1所述的方法,其中,该确定确定对于宽度等于或小于第一预定值和/或高度等于或小于第二预定值的当前视频块,不启用IBC模式。

11.根据条款10所述的方法,其中,第一预定值和第二预定值是8。

12.根据条款10所述的方法,其中,该确定确定禁用当前视频块的IBC模式,并且当前视频块的IBC模式的指示不存在于编解码表示中。

13.根据条款10所述的方法,其中,该确定确定禁用当前视频块的IBC模式,并且跳过对当前视频块的IBC模式的指示的解析。

14.一种用于视频处理的方法,包括:为视频的当前视频块和视频的编解码表示之间的转换,基于当前视频块的位置确定禁止使用帧内块复制(IBC)模式,其中,在该IBC模式下,基于包括当前视频块的图片中的块矢量来计算当前视频块的预测块;以及基于该确定来执行该转换。

15.根据条款14所述的方法,其中,该确定确定对于编解码树单元(CTU)行中或编解码树单元中的第一编解码单元(CU)禁止使用IBC模式。

16.根据条款14所述的方法,其中,该确定确定对于位于编解码树单元(CTU)行或编解码树单元的左边界处的编解码单元(CU)禁止使用IBC模式。

17.根据条款14至16中任一项所述的方法,其中,该确定确定禁止使用IBC模式,并且其中,不发送IBC模式的指示,且IBC模式被推断为假。

18.一种用于视频处理的方法,包括:执行视频的视频区域的当前视频块和视频的编解码表示之间的转换,其中,控制帧内块复制(IBC)模式的构建或更新的规则是否包括在编解码表示中的指示在视频区域级别,并且其中,帧内块复制模式包括至少使用指向包括当前视频块的图片的块矢量来生成预测块。

19.根据条款18所述的方法,其中,视频区域包括图片参数集(PPS)、视频参数集(VPS)、图片头、片组头、序列参数集(SPS)。

20.根据条款18所述的方法,其中,独立树分割结构被应用于当前视频块,并且针对视频区域多次信令通知该指示。

21.根据条款18所述的方法,其中,独立树分割结构被应用于当前视频块,并且针对当前视频块的不同颜色分量单独地信令通知该指示。

22.根据条款18所述的方法,其中,独立树分割结构被应用于当前视频块,并且仅针对当前视频块的一个颜色分量信令通知该指示。

23.根据条款1至22中任一项所述的方法,其中,执行转换包括从当前块生成编解码表示。

24.根据条款1至22中任一项所述的方法,其中,执行转换包括从编解码表示生成当前块。

25.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器运行时,使处理器实施根据条款1至24中任一项所述的方法。

26.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行根据条款1至24中任一项所述的方法的程序代码。

第四组条款描述了在先前章节中,包括例如示例12,列出的所公开技术的某些特征和方面。

1.一种用于视频处理的方法,包括:为视频的当前视频块和视频的编解码表示之间的转换,构建帧内块复制(IBC)运动候选列表,该列表存储用于表示当前视频块的、指向包含当前视频块的图片的一个或多个候选;以及使用IBC运动候选列表来执行该转换,其中,编解码表示包括推导IBC运动候选列表的最大尺寸的第一字段和不同于第一字段的推导常规运动候选列表的最大尺寸的第二字段。

2.根据条款1所述的方法,其中,IBC运动候选列表的最大尺寸不同于常规运动候选列表的最大尺寸。

3.根据条款1所述的方法,其中,IBC运动候选列表的最大尺寸在1和6之间的范围中。

4.根据条款1所述的方法,其中,常规运动候选列表的最大尺寸在1和6之间的范围中。

5.根据条款1所述的方法,其中,IBC运动候选列表的最大尺寸是以序列参数集(SPS)、视频参数集(VPS)、或图片参数集(PPS)、图片头、片组头或条带头来信令通知的。

6.根据条款1所述的方法,其中,IBC运动候选列表的最大尺寸小于常规运动候选列表的最大尺寸,并且IBC运动候选列表的最大尺寸与常规运动候选列表的最大尺寸之间的差值是以序列参数集(SPS)、视频参数集(VPS)、图片参数集(PPS)、图片头、片组头或条带头来信令通知的。

7.根据条款1所述的方法,其中,IBC运动候选列表的最大尺寸大于常规运动候选列表的最大尺寸,并且IBC运动候选列表的最大尺寸与常规运动候选列表的最大尺寸之间的差值是以序列参数集(SPS)、视频参数集(VPS)、图片参数集(PPS)、图片头、片组头或条带头来信令通知的。

8.根据条款1至7中任一项所述的方法,其中,常规运动候选列表是非IBC模式的Merge列表。

9.根据条款1至7中任一项所述的方法,其中,常规运动候选列表是非IBC和非子块帧间模式的Merge列表。

10.根据条款1至9中任一项所述的方法,其中,IBC运动候选列表是IBC Merge候选列表。

11.根据条款1至9中任一项所述的方法,其中,IBC运动候选列表是IBC AMVP候选列表。

12.根据条款1-11中任一项所述的方法,其中,执行转换包括从当前块生成编解码表示。

13.根据条款1-11中任一项所述的方法,其中,执行转换包括从编解码表示生成当前块。

14.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器运行时,使处理器实施根据条款1至14中任一项所述的方法。

15.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行根据条款1至14中任一项所述的方法的程序代码。

第五组条款描述了在先前章节中列出的公开技术的某些特征和方面。

1.一种用于视频处理的方法,包括:在当前视频块和当前视频块的比特流表示之间的转换期间,基于条件做出关于将Merge候选插入到IBC Merge列表中的决定;以及基于该决定使用IBC Merge列表来执行该转换。

2.根据条款1所述的方法,其中,Merge候选不被插入到IBC Merge列表中,并且其中,该条件是由Merge候选标识的参考块与当前视频块重叠。

3.根据条款1所述的方法,其中,Merge候选不被插入到IBC Merge列表中,并且其中,该条件是由Merge候选标识的参考块的至少一个样点位于包括当前视频块的图片之外。

4.根据条款1所述的方法,其中,Merge候选不被插入到IBC Merge列表中,并且其中,该条件是由Merge候选标识的参考块的每个样点位于包括当前视频块的图片之外。

5.根据条款1所述的方法,其中,Merge候选不被插入到IBC Merge列表中,并且其中,该条件是由Merge候选标识的参考块的至少一个样点位于与当前视频块相对应的重构区域之外。

6.根据条款1所述的方法,其中,Merge候选不被插入到IBC Merge列表中,并且其中,该条件是由Merge候选标识的参考块的每个样点位于与当前视频块相对应的重构区域之外。

7.根据条款1所述的方法,其中,Merge候选不被插入到IBC Merge列表中,并且其中,该条件是由Merge候选标识的参考块的至少一个样点位于受约束条件限制的有效区域之外。

8.根据条款1所述的方法,其中,Merge候选不被插入到IBC Merge列表中,并且其中,该条件是由Merge候选标识的参考块的每个样点位于由约束条件限制的有效区域之外。

9.根据条款7或8所述的方法,其中,该约束条件包括参考样点不位于包括当前视频块的编解码树单元(CTU)行上方的CTU行中。

10.根据条款7或8所述的方法,其中,该约束条件包括参考样点不位于当前视频块内。

11.根据条款7或8所述的方法,其中,该约束条件包括参考样点位于包括当前视频块的当前编解码树单元(CTU)行中。

12.根据条款7或8所述的方法,其中,该约束条件包括参考样点不位于包括当前视频块的编解码树单元(CTU)左边的CTU中。

13.根据条款7或8所述的方法,其中,有效区域基于当前视频块的位置。

14.根据条款7或8所述的方法,其中,有效区域基于当前视频块的宽度或高度。

15.根据条款7或8所述的方法,其中,有效区域基于包括当前视频块的图片的分辨率。

16.根据条款1所述的方法,其中,Merge候选不被插入到IBC Merge列表中,并且其中,该条件是Merge候选是来自非相邻块的空域候选。

17.根据条款2至16中任一项所述的方法,其中,Merge候选被指定为不可用。

18.根据条款1所述的方法,其中,Merge候选被插入到IBC Merge列表中,并且其中,该条件是Merge候选是来自非相邻块的空域候选。

19.根据条款1所述的方法,其中,Merge候选被插入到IBC Merge列表中,并且其中,该条件是Merge候选是基于历史的运动矢量预测(HMVP)候选。

20.根据条款1所述的方法,其中,在一致性比特流中不选择Merge候选,并且其中,该条件是Merge候选被指定为不可用且被插入到IBC Merge列表中。

21.根据条款1所述的方法,其中,Merge候选被插入到IBC Merge列表中,并且其中,该条件是Merge候选是默认Merge候选。

22.根据条款21所述的方法,其中,默认Merge候选是以视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、条带头或片组头来信令通知的。

23.根据条款1所述的方法,其中,通过将偏移添加到IBC Merge列表中的选择的Merge候选的运动矢量来推导Merge候选。

24.根据条款23所述的方法,其中,选择的Merge候选包括从HMVP表推导出的一个或多个基于历史的运动矢量预测(HMVP)候选。

25.根据条款23所述的方法,其中,选择的Merge候选包括一个或多个成对Merge候选。

26.根据条款1所述的方法,其中,Merge候选被插入到IBC Merge列表中的特定的成对Merge候选、特定的默认Merge候选、特定的空域Merge候选或特定的基于历史的运动矢量预测(HMVP)Merge候选之后。

27.根据条款1所述的方法,其中,Merge候选被插入到IBC Merge列表中的所有成对Merge候选、所有默认Merge候选、所有空域Merge候选或所有基于历史的运动矢量预测(HMVP)Merge候选之后。

28.根据条款1所述的方法,其中,Merge候选是插入到IBC Merge列表中的特殊IBCMerge候选,其中一个或多个默认值被用于推导预测块,并且其中,不执行运动补偿。

29.根据条款28所述的方法,其中,将当前视频块划分为一个或多个子块,并且其中,一个或多个默认值的不同默认值被用于预测一个或多个子块中的每一个。

30.根据条款28所述的方法,其中,特殊IBC Merge候选被多次插入到IBC Merge列表中。

31.根据条款28所述的方法,其中,特殊IBC Merge候选被插入到IBC Merge列表中的至少一个继承的Merge候选之后。

32.根据条款28所述的方法,其中,特殊IBC Merge候选被插入到IBC Merge列表中的HMVP Merge候选之前。

33.根据条款28所述的方法,其中,特殊IBC Merge候选被插入到IBC Merge列表中的成对Merge候选之前。

34.根据条款28所述的方法,其中,一个或多个默认值是以视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、条带头或片组头来信令通知的。

35.根据条款28所述的方法,其中,一个或多个默认值是基于当前视频块的样点的比特深度的。

36.根据条款28所述的方法,其中,一个或多个默认值的不同默认值被用于当前视频块的每个颜色分量。

37.根据条款1所述的方法,其中,Merge候选是空域Merge候选,并且其中,最多K1≥1个空域Merge候选被插入到IBC Merge列表中。

38.根据条款37所述的方法,其中,K1基于MaxMrgListSizeIbc。

39.根据条款1所述的方法,其中,Merge候选是基于历史的运动矢量预测(HMVP)Merge候选的,并且其中,最多K2≥0个HMVP Merge候选被插入到IBC Merge列表中。

40.根据条款39所述的方法,其中,K2基于MaxMrgListSizeIbc。

41.根据条款1所述的方法,其中,IBC Merge列表的最大尺寸是与MaxMrgListSize不同的MaxMrgListSizeIbc。

42.根据条款41所述的方法,其中,MaxMrgListSizeIbc是以视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、条带头或片组头来信令通知的。

43.根据条款41所述的方法,其中,MaxMrgListSizeIbc<MaxMrgListSize,并且其中,(MaxMrgListSize-MaxMrgListSizeIbc)是以条带头、片组头、视频参数集(VPS)、序列参数集(SPS)或图片参数集(PPS)来信令通知的。

44.根据条款41所述的方法,其中,MaxMrgListSizeIbc>MaxMrgListSize,并且其中,(MaxMrgListSizeIbc-MaxMrgListSize)是以条带头、片组头、视频参数集(VPS)、序列参数集(SPS)或图片参数集(PPS)来信令通知的。

45.根据条款1所述的方法,其中,构建IBC Merge列表基于当前视频块的一个或多个颜色分量。

46.根据条款1至45中任一项所述的方法,其中,该转换包括从比特流表示生成当前视频块的像素值。

47.根据条款1至45中任一项所述的方法,其中,该转换包括从当前视频块生成比特流表示。

48.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器运行时,使处理器实施根据条款1至47中任一项所述的方法。

49.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行根据条款1至47中任一项所述的方法的程序代码。

根据前述内容可以理解,本文已经出于说明的目的描述了本公开技术的具体实施例,但是在不脱离本发明范围的情况下可以进行各种修改。因此,本公开技术不受除了所附权利要求之外的限制。

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

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

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

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

旨在将说明书与附图一起视为是示例性的,其中示例性意味着示例。如本文所使用的,使用“或”旨在包括“和/或”,除非上下文另有清楚指示。

虽然本专利文档包含许多细节,但这些不应被解释为对任何发明或所要求保护的范围的限制,而是对特定的发明的特定的实施例所特有的特征的描述。本专利文档中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实施。此外,尽管上述特征可以被描述为以某些组合起作用,甚至最初被要求这样来保护,但是在某些情况下,可以从所要求保护的组合中删除该组合中的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。

类似地,尽管在附图中以特定的顺序描述了操作,但这不应理解为要求以所示的特定的顺序或顺序地执行这些操作,或者要求执行所有所示的操作,以获得期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应该理解为在所有实施例中都需要这种分离。

仅描述了几个实施方式和示例,并且可以基于本专利文档中描述和图示的内容进行其它实施、增强和变化。

56页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:图像处理装置和图像处理方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类