依赖形状的帧内编码

文档序号:1617299 发布日期:2020-01-10 浏览:18次 >En<

阅读说明:本技术 依赖形状的帧内编码 (Shape dependent intra coding ) 是由 刘鸿彬 张莉 张凯 王悦 于 2019-07-01 设计创作,主要内容包括:一种视频比特流处理方法,该方法包括:对于至少部分帧内编码的视频块,根据取决于视频块的形状的第一形状依赖性规则生成帧内模式候选的列表,以及使用帧内模式候选的列表重建视频块的解码表示。形状依赖性规则还可以扩展到Merge候选列表或高级运动矢量预测候选列表的帧间编码情况。(A method of video bitstream processing, the method comprising: for at least part of the intra-coded video block, a list of intra mode candidates is generated according to a first shape dependency rule that depends on the shape of the video block, and a decoded representation of the video block is reconstructed using the list of intra mode candidates. The shape dependency rule may also be extended to inter-coding cases of the Merge candidate list or the advanced motion vector prediction candidate list.)

依赖形状的帧内编码

相关申请的交叉引用

根据适用的专利法和/或依据巴黎公约的规则,本申请及时要求于2018年7月1日提交的美国临时专利申请No.62/692,805的优先权和权益。出于根据美国法律的所有目的,美国临时专利申请No.62/692,805的全部公开内容通过引用并入作为本申请的公开内容的一部分。

技术领域

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

背景技术

数字视频占因特网和其他数字通信网络上最大的带宽使用。随着能够接收和显示视频的所连接的用户装置的数量增加,预计数字视频使用的带宽需求将继续增长。

发明内容

所公开的技术可以由视频解码器或编码器实施例使用,其中使用依赖块形状的编码技术来改进视频块的帧内编码的编码的性能。

在一个示例方面,公开了一种视频比特流处理方法。该方法包括:对于至少部分帧内编码的视频块,根据取决于视频块的形状的第一形状依赖性规则生成帧内模式候选的列表,以及使用帧内模式候选的列表重建视频块的解码表示。

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

在另一示例方面,上述方法可以由视频编码器装置来实现,该视频编码器装置包括用于在视频编码过程期间解码已编码的视频的处理器。

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

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

附图说明

图1是四叉树二叉树(QTBT)结构的图示。

图2示出了用于Merge候选列表构造的示例推导过程。

图3示出了空间Merge候选的示例位置。

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

图5示出了用于N×2N和2N×N划分的第二预测单元(PU)的位置的示例。

图6是用于时域(temporal)Merge候选的运动矢量缩放的图示。

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

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

图9示出了用于运动矢量预测候选的推导过程的示例。

图10是空间运动矢量候选的运动矢量缩放的图示。

图11示出了用于编码单元(CU)的高级时域运动矢量预测(ATMVP)运动预测的示例。

图12示出了具有四个子块(A-D)的一个CU以及它的邻近块(a-d)的示例。

图13示出了在J0021中提出的非相邻Merge候选。

图14示出了在J0058中提出的非相邻Merge候选。

图15示出了在J0059中提出的非相邻Merge候选。

图16示出了提出的67帧内预测模式。

图17示出了用于最可能模式(MPM)推导的邻近块的示例。

图18示出了I条带中的色度CB的对应的子块的示例。

图19A和图19B示出了用于MPM列表的附加块的示例。

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

图21示出了视频编码器的示例实现方式的框图。

图22是视频比特流处理方法的示例的流程图。

具体实施方式

本专利文件提供了可以由视频比特流的解码器使用以改进解压缩或解码的数字视频的质量的各种技术。此外,视频编码器还可以在编码的过程期间实现这些技术,以便重建解码帧用于进一步编码。在以下描述中,术语视频块用于表示像素的逻辑分组,并且不同的实施例可以利用不同尺寸的视频块工作。此外,视频块可以对应于一个色度或亮度分量,或者可以包括另一个分量表示,诸如RGB表示。

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

1、概述

该专利文件中描述的技术涉及视频编码技术。具体地,该专利文件中描述的技术涉及视频编码中的帧内/帧间模式编码。它可以应用于像高效视频编码(HEVC)之类的现有的视频编码标准或者待最终确定的标准(通用视频编码)。它也可以适用于未来的视频编码标准或视频编解码器。

2、背景

视频编码标准主要是通过众所周知的ITU-T和ISO/IEC标准的发展而得以演进。ITU-T制作了H.261和H.263标准,ISO/IEC制作了MPEG-1和MPEG-4Visual标准,并且两个组织联合制作了H.262/MPEG-2视频标准和H.264/MPEG-4高级视频编码(Advanced VideoCoding,AVC)标准和H.265/HEVC标准。从H.262开始,视频编码标准基于混合视频编码结构,其中利用时域预测加变换编码。为了探索HEVC之外的未来视频编码技术,由VCEG和MPEG于2015年联合成立联合视频探索团队(JVET)。从那时起,JVET采用了许多新方法并将其纳入名为联合勘探模型(JEM)的参考软件。在2018年4月,VCEG(Q6/16)和ISO/IEC JTC1SC29/WG11(MPEG)之间的联合视频专家组(JVET)被创建用于VVC标准,目标是与HEVC相比降低50%的比特率。

图21示出了视频编码器的示例的实现方式的框图。

2.1具有更大编码树单元(CTU)的四叉树加二叉树(QTBT)块结构

在HEVC中,通过使用表示为编码树的四叉树结构将CTU划分成CU,以适应各种局部特性。在CU级别进行使用图片间(时域)预测还是图片内(空间)预测来对图片区域编码的决定。根据PU划分类型,每个CU可以进一步划分成一个、两个或四个预测单元(PU)。在一个PU内部,应用相同的预测过程,并且在PU的基础上将相关信息发送到解码器。在通过基于PU划分类型应用预测过程而获得了残差块之后,可以根据类似于CU的编码树的另一个四叉树结构将CU分割为变换单元(TU)。HEVC结构的关键特征之一是它具有多个分割概念,包括CU、PU和TU。

QTBT结构去除了多种分割类型的概念,即,它去除了CU、PU和TU概念的分离,并且支持CU分割形状的更大灵活性。在QTBT块结构中,CU可以具有正方形或矩形形状。如图1中所示,CTU首先被四叉树结构分割。四叉树叶节点被二叉树结构进一步分割。在二叉树划分中有两种划分类型:对称水平划分和对称垂直划分。二叉树叶节点被称为编码单元(CU),并且该划分被用于预测和变换处理而无需任何进一步的分割。这意味着CU、PU和TU在QTBT编码块结构中具有相同的块尺寸。在JEM中,CU有时由不同颜色分量的编码块(CB)组成,例如,在4:2:0色度格式的P和B条带的情况下,一个CU包含一个亮度CB和两个色度CB;并且CU有时由单个分量的CB组成,例如,在I条带的情况下,一个CU仅包含一个亮度CB或仅包含两个色度CB。

为QTBT分割方案定义以下参数:

-CTU尺寸:四叉树的根节点尺寸,与HEVC中的概念相同;

-MinQTSize:最小允许的四叉树叶节点尺寸;

-MaxBTSize:最大允许的二叉树根节点尺寸;

-MaxBTDepth:最大允许的二叉树深度;

-MinBTSize:最小允许的二叉树叶节点尺寸;

在QTBT分割结构的一个示例中,CTU尺寸被设置为具有两个对应的64×64色度样本块的128×128亮度样本,MinQTSize被设置为16×16,MaxBTSize被设置为64×64,MinBTSize(宽度和高度)被设置为4×4,并且MaxBTDepth被设置为4。首先将四叉树分割应用于CTU以生成四叉树叶节点。四叉树叶节点可以具有从16×16(即,MinQTSize)到128×128(即,CTU尺寸)的尺寸。如果叶四叉树节点是128×128,则由于该尺寸超过MaxBTSize(即,64×64),所以它不会被二叉树进一步划分。否则,叶四叉树节点可以被二叉树进一步分割。因此,四叉树叶节点也是二叉树的根节点,并且二叉树深度为0。当二叉树深度达到MaxBTDepth(即,4)时,不考虑进一步的划分。当二叉树节点的宽度等于MinBTSize(即,4)时,不考虑进一步的水平划分。类似地,当二叉树节点的高度等于MinBTSize时,不考虑进一步的垂直划分。通过预测和变换处理进一步处理二叉树的叶节点,而无需任何进一步的划分。在JEM中,最大CTU尺寸为256×256亮度样本。

图1示出了通过使用QTBT进行块分割的示例,图1(右)示出了对应的树表示。实线表示四叉树划分,虚线表示二叉树划分。在二叉树的每个划分(即,非叶)节点中,信令通知一个标志以指示使用哪种划分类型(即,水平或垂直),其中0表示水平划分并且1表示垂直划分。对于四叉树划分,不需要指示划分类型,因为四叉树划分总是水平地且垂直地划分块以产生具有相等尺寸的4个子块。

另外,QTBT方案支持使亮度和色度具有单独的QTBT结构的能力。目前,对于P和B条带,一个CTU中的亮度CTB和色度CTB共享相同的QTBT结构。然而,对于I条带,通过QTBT结构将亮度CTB分割为CU,并且通过另一QTBT结构将色度CTB分割为色度CU。这意味着I条带中的CU由亮度分量的编码块或两个色度分量的编码块组成,并且P条带或B条带中的CU由所有三个颜色分量的编码块组成。

在HEVC中,限制小块的帧间预测以减少运动补偿的存储器访问,使得对于4×8和8×4块不支持双向预测,并且对于4×4块不支持帧间预测。在JEM的QTBT中,这些限制被去除。

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

每个帧间预测的PU具有一个或两个参考图片列表的运动参数。运动参数包括运动矢量和参考图片索引。也可以使用inter_pred_idc信令通知两个参考图片列表中的一个的使用。可以将运动矢量明确地编码为相对于预测值的变化量。

当用跳过模式(skip mode)对CU进行编码时,一个PU与CU相关联,并且不存在显著的残差系数,没有编码的运动矢量变化量或参考图片索引。指定Merge模式,由此从邻近的多个PU获得当前PU的运动参数,包括空间和时域候选。Merge模式可以应用于任何帧间预测的PU,而不仅仅应用于跳过模式。Merge模式的可选模式是运动参数的显式传输,其中按照每个PU,明确地信令通知运动矢量(更准确地说,与运动矢量预测值相比的运动矢量差)、每个参考图片列表的对应的参考图片索引和参考图片列表的使用。在本公开中,这样的模式被称为高级运动矢量预测(AMVP)。

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

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

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

2.2.1Merge模式

2.2.1.1Merge模式的候选的推导

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

·步骤1:初始候选推导

ο步骤1.1:空间候选推导

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

ο步骤1.3:时域候选推导

·步骤2:附加候选***

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

ο步骤2.2:零运动候选的***

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

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

2.2.1.2空间候选推导

在空间Merge候选的推导中,在位于图3中描绘的位置中的候选中选择最多四个Merge候选。推导的顺序是A1、B1、B0、A0和B2。仅当位置A1、B1、B0、A0的任何PU不可用(例如,因为它属于另一个条带或片)或者是帧内编码时,才考虑位置B2。在添加位置A1处的候选之后,对剩余候选的添加进行冗余检查,其确保具有相同运动信息的候选被排除在列表之外,从而提高编码效率。为了降低计算复杂度,在所提到的冗余检查中并未考虑所有可能的候选对。相反,如果用于冗余检查的对应的候选具有相同的运动信息,则仅考虑与图4中的箭头链接的对,并且仅将候选添加到列表中。重复运动信息的另一个来源是与不同于2Nx2N的划分相关联的“第二PU”。作为示例,图5描绘了分别用于N×2N和2N×N的情况的第二PU。当当前PU被分割为N×2N时,位置A1处的候选不被考虑用于列表构造。实际上,通过添加该候选将导致具有相同运动信息的两个预测单元,这对于在编码单元中仅具有一个PU是多余的。类似地,当当前PU被分割为2N×N时,不考虑位置B1

2.2.1.3时域候选推导

在该步骤中,仅将一个候选添加到列表。具体地,在该时域Merge候选的导出中,基于属于与给定参考图片列表内的当前图片具有最小POC差异的图片的共位的(co-located)PU来导出缩放的运动矢量。在条带报头中明确地信令通知要用于导出共位的PU的参考图片列表。获得用于时域Merge候选的缩放的运动矢量,如图6中的虚线所示,该缩放的运动矢量是使用POC距离tb和td从共位的PU的运动矢量缩放的,其中tb被定义为当前图片的参考图片与当前图片之间的POC差异,并且td被定义为是共位的图片的参考图片与共位的图片之间的POC差异。时域Merge候选的参考图片索引被设置为等于零。HEVC规范[1]中描述了缩放过程的实际实现。对于B条带,获得两个运动矢量,一个用于参考图片列表0,另一个用于参考图片列表1,组合该两个运动矢量以得到双向预测Merge候选。

图6是用于时域Merge候选的运动矢量缩放的图示。

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

2.2.1.4附加候选***

除了空间和时域Merge候选之外,存在两种附加类型的Merge候选:组合的双向预测Merge候选和零Merge候选。通过利用空间和时域Merge候选来生成组合的双向预测Merge候选。组合的双向预测Merge候选仅用于B条带。通过将初始候选的第一参考图片列表运动参数与另一个的第二参考图片列表运动参数组合来生成组合的双向预测候选。如果这两个元组(tuple)提供不同的运动假设,则它们将形成新的双向预测候选。作为示例,图8描绘了当原始列表(左侧)中具有mvL0和refIdxL0或mvL1和refIdxL1的两个候选用于创建添加到最终列表(右侧)的组合的双向预测Merge候选时的情况。关于被认为生成这些附加的Merge候选的组合有许多规则,在[1]中定义。

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

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

为了加速编码处理,可以并行执行运动估计,由此同时推导给定区域内的所有预测单元的运动矢量。从空间邻域推导Merge候选可能干扰并行处理,因为一个预测单元不能从相邻的PU推导运动参数,直到其相关联的运动估计完成为止。为了减轻编码效率和处理等待时间之间的折衷,HEVC定义运动估计区域(MER),其尺寸在图片参数集合中使用“log2_parallel_merge_level_minus2”语法元素信令通知。当定义MER时,属于同一区域中的Merge候选被标记为不可用,因此在列表构造中不予考虑。

2.2.2AMVP

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

2.2.2.1AMVP候选的推导

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

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

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

2.2.2.2空间运动矢量候选

在空间运动矢量候选的推导中,在五个潜在候选中考虑最多两个候选,其从位于如图3中所示的位置的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候选的左侧和上方的并行推导。否则,上述运动矢量不允许空间缩放。

图10是空间运动矢量候选的运动矢量缩放的图示。

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

2.2.2.3时域运动矢量候选

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

2.3JEM中的新的帧间Merge候选

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

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

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

2.3.1.1可选时域运动矢量预测

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

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

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

在第二步骤中,通过向当前CU的坐标添加时域矢量,通过运动源图片中的时域矢量来识别子CU的对应的块。对于每个子CU,其对应的块(覆盖中心样本的最小运动网格)的运动信息用于推导子CU的运动信息。在识别出对应的N×N块的运动信息之后,以与HEVC的TMVP相同的方式将该运动信息转换为当前子CU的运动矢量和参考索引,其中运动缩放和其他过程适用。例如,解码器检查是否满足低延迟条件(即,当前图片的所有参考图片的POC小于当前图片的POC)并且可能使用运动矢量MVx(对应于参考图片列表X的运动矢量)以预测每个子CU的运动矢量MVy(其中X等于0或1并且Y等于1-X)。

2.3.1.2空时运动矢量预测

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

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

2.3.1.3子CU运动预测模式信令

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

在JEM中,Merge索引的所有二进制位通过上下文自适应二进制算术编码(CABAC)进行上下文编码。而在HEVC中,仅第一个二进制位是上下文编码的,而剩余的二进制位是上下文旁路编码的。

2.3.2非相邻的Merge候选

在J0021中,Qualcomm提出从非相邻的邻近位置推导附加的空间Merge候选,其被标记为6到49,如图13中所示。在Merge候选列表中的TMVP候选之后添加推导的候选。

在J0058中,Tencent提出从外部参考区域中的位置推导附加的空间Merge候选,该外部参考区域具有对当前块的偏移(-96,-96)。

如图14中所示,位置标记为A(i,j)、B(i,j)、C(i,j)、D(i,j)和E(i,j)。与其先前的B或C候选相比,每个候选B(i,j)或C(i,j)在垂直方向上具有16的偏移。与其先前的A或D候选相比,每个候选A(i,j)或D(i,j)在水平方向上具有16的偏移。与其先前的E候选相比,每个E(i,j)在水平方向和垂直方向上具有16的偏移。从内到外检查候选。候选的顺序是A(i,j)、B(i,j)、C(i,j)、D(i,j)和E(i,j)。进一步研究Merge候选的数量是否可以进一步减少。在Merge候选列表中的TMVP候选之后添加候选。

在J0059中,在时域候选之后根据它们的数字顺序检查如图15中的从6到27的扩展空间位置。为了节省MV行缓冲区,所有空间候选都被限制在两个CTU行内。

2.4在JEM中的帧内预测

2.4.1具有67个帧内预测模式的帧内模式编码

为了捕获在自然视频中呈现的任意边缘方向,定向帧内模式的数量从在HEVC中使用的33扩展到65。附加的定向模式在图16中被描绘为红色虚线箭头,并且平面模式和DC模式保持不变。这些更密集的定向帧内预测模式适用于所有块尺寸以及亮度和色度帧内预测。

2.4.2Luma帧内模式编码

为了适应增加数量的定向帧内模式,使用具有6种最可能模式(MPM)的帧内模式编码方法。涉及两个主要技术方面:1)6个MPM的推导,以及2)6个MPM和非MPM模式的熵编码。

在JEM中,包括在MPM列表中的模式被分类为三组:

·邻域帧内模式

·推导的帧内模式

·默认帧内模式

使用五个邻近的帧内预测模式来形成MPM列表。5个邻近块的那些位置与Merge模式中使用的那些位置相同,即左侧(L)、上方(A)、左下方(BL)、右上方(AR)和左上方(AL),如图17所示。通过将5个邻域帧内模式以及平面模式和DC模式***MPM列表来形成初始MPM列表。修剪过程用于移除重复模式,以便只有唯一模式可以包含在MPM列表中。包括初始模式的顺序是:左侧、上方、平面、DC、左下方、右上方,然后左上方。

图17示出了用于MPM推导的邻近块的示例。

如果MPM列表未满(即,列表中少于6个MPM候选),则添加推导的模式;通过将-1或+1加到已包含在MPM列表中的角度模式(angular mode)来获得这些帧内模式。这样的附加的推导的模式不是从非角度模式(DC或平面)生成的。

最后,如果MPM列表仍未完成,则按以下顺序添加默认模式:垂直、水平、模式2和对角线模式。作为该过程的结果,生成6个MPM模式的唯一列表。

对于使用6个MPM的所选择的模式的熵编码,使用截断一元码二值化。前三个二进制位(bin)使用上下文编码,该上下文取决于与当前信令通知的二进制位相关的MPM模式。MPM模式分类为三类:(a)主要为水平的模式(即,MPM模式数量小于或等于对角线方向的模式数量),(b)主要为垂直的模式(即,MPM模式大于对角线方向的模式数量,以及(c)非角度(DC和平面)类。因此,基于该分类,使用三个上下文来信令通知MPM索引。

用于选择剩余的61个非MPM的编码如下完成。61个非MPM首先划分为两个集合:所选择的模式集合和未选择的模式集合。所选择的模式集合含有16个模式,其余模式(45个模式)分配给未选择的模式集合。当前模式所属的模式集合在具有标志的比特流中指示。如果要指示的模式在所选择的模式集合内,则使用4位固定长度代码信令通知所选择的模式,并且如果要指示的模式来自未选择的集合,则使用截断二进制码(truncated binary code)信令通知。所选择的模式集合是通过对61个非MPM模式进行子采样生成的,如下所示:

所选择的模式集合={0,4,8,12,16,20...60}

未选择的模式集合={1,2,3,5,6,7,9,10...59}

在编码器侧,使用HM的类似的两阶段帧内模式决定过程。在第一阶段,即帧内模式预选阶段,使用较低复杂度的绝对变换差和(SATD)成本来从所有可用的帧内模式中预选N个帧内预测模式。在第二阶段,进一步应用更高复杂度的R-D成本选择以从N个候选中选择一个帧内预测模式。然而,当应用67个帧内预测模式时,由于可用的模式的总数大致加倍,如果直接使用HM的相同编码器模式决定过程,则帧内模式预选阶段的复杂度也将增加。为了最小化编码器复杂度增加,执行两步骤帧内模式预选过程。在第一步骤,基于绝对变换差和(SATD)测量,从原始的35个帧内预测模式(在图16中用黑色实线箭头表示)中选择N个(N取决于帧内预测块尺寸)模式;在第二步骤,通过SATD进一步检查所选择的N个模式的直接邻域(如图16中的虚线箭头所示的附加帧内预测方向),并且更新所选择的N个模式的列表。最后,如果尚未包括,则将前M个MPM添加到N个模式,并且为第二阶段R-D成本检验生成候选帧内预测模式的最终列表,其以与HM相同的方式完成。基于HM中的原始设置,M的值增加1,并且如表1中所示,N略微减小。

表1:帧内模式预选步骤中的模式候选的数量

Figure BDA0002114564930000141

2.4.3色度帧内模式编码

在JEM中,允许总共11个帧内模式用于色度CB编码。这些模式包括5个传统的帧内模式和6个跨组件线性模型模式。色度模式候选的列表包括以下三个部分:

·CCLM模式

·DM模式,从覆盖当前色度块的并置的五个位置的亮度CB推导的帧内预测模式

ο要按顺序检查的五个位置是:在用于I条带的当前色度块的对应的亮度块内的中心(CR)、左上方(TL)、右上方(TR)、左下方(BL)和右下方(BR)4×4块。对于P和B条带,仅检查这五个子块中的一个,因为它们具有相同的模式索引。图18中示出了五个并置的亮度位置的示例。

·来自空间邻近的块的色度预测模式:

ο5个色度预测模式:来自左侧、上方、左下方、右上方、和左上方空间邻近的块

ο平面和DC模式

ο添加推导的模式,通过将-1或+1添加到已包含在列表中的角度模式来获得这些帧内模式

ο垂直、水平、模式2

每当将新的色度帧内模式添加到候选列表时,就应用修剪过程。然后将非CCLM色度帧内模式候选列表尺寸修整为5。对于模式信令,首先用信令通知标志以指示是使用CCLM模式中的一个还是使用传统色度帧内预测模式中的一个。然后可以跟随再多几个标志以指定用于当前色度CB的精确色度预测模式。

3.由实施例解决的问题的示例

使用QTBT,存在完全不同的CU形状,例如4×32和32×4等。对于不同的CU形状,它们可以与邻近的块具有不同的相关性。然而,在帧内模式和帧间模式编码中,Merge列表、AMVP列表或MPM列表以相同的方式用于所有CU形状的构造,这是不合理的。

同时,用于MPM列表构造的默认帧内模式总是垂直(VER)、水平(HOR)、模式2以及对角线模式(DIG),这是不合理的。

4.实施例的示例

为了解决本专利文件中描述的技术问题,并提供其他益处,提出了依赖形状的帧内/帧间模式编码,其中可以构造不同的Merge列表、AMVP列表或MPM列表。

以下详细示例应被视为解释一般概念的示例。不应以狭义的方式解释这些示例性特征。此外,这些示例性特征可以以任何方式组合。

1.提出了MPM列表中的帧内模式候选的***取决于当前的编码块形状(例如,编码块是CU)。

a.在一个示例中,对于具有宽度>N*高度的CU形状,在从左侧邻近的块提取的帧内预测模式之前,***从上方邻近的块提取的帧内预测模式,其中N等于1、2、3或其他值。

i.可选地,另外,在从左下方邻近的块提取的帧内预测模式之前,***从右上方邻近的块提取的帧内预测模式。

ii.可选地,另外,在从左下方邻近的块提取的帧内预测模式之前,***从左上方邻近的块提取的帧内预测模式。

iii.可选地,另外,在从当前块的左侧的邻近的块提取的帧内预测模式之前,***从当前块上方的邻近的块提取的所有帧内预测模式。

b.在一个示例中,对于具有宽度>N*高度的CU形状,提出***从上方的块提取的更多帧内预测模式,如图19A所示的上中的块。

c.在一个示例中,对于具有高度>N*宽度的CU形状,提出***从左侧的块提取的更多帧内预测模式,如图19B中所示的左中的块。

d.可选地,此外,MPM列表之外的剩余帧内预测模式可以基于块形状被重新排序。也就是说,用于编码剩余帧内预测模式的码字长度或编码上下文可以取决于块形状。

2.提出了用于构造MPM列表的默认帧内模式取决于当前的CU形状。

a.在一个示例中,对于宽度>M*高度的CU形状,垂直对角线(VDIG)模式用于替代模式2(水平对角线),其中M等于1、2或其他值。

b.在一个示例中,对于宽度>N*高度的CU形状,***模式HOR–/+k替代模式2或/和对角线模式,其中k等于1、2、3、...、8。

c.在一个示例中,对于宽度>N*高度的CU形状,在VER模式之前***HOR模式。

d.在一个示例中,对于高度>N*高度的CU形状,***模式VER–/+k替代模式2或/和对角线模式。

3.替代地,另外,提出了在构造MPM列表之后,MPM列表还取决于当前的CU形状被重新排序。

a.在一个示例中,对于具有宽度>N*高度的CU形状,与靠近垂直方向的其他模式相比,优选更靠近水平方向的帧内预测模式。

i.从开始部分扫描MPM列表,当遇到更靠近垂直方向的帧内预测模式时,检查其随后的模式,如果发现更靠近水平方向的模式,则将上述两个模式交换。重复这样的过程直到处理了整个列表。

ii.可选地,这样的交换不应用于模式VER-/+k,即使它们更靠近垂直方向,其中k等于1、2、3或其他值。

b.在一个示例中,对于具有高度>N*高度的CU,与更靠近水平方向的其他模式相比,优选更靠近垂直方向的帧内预测模式。

i.从开始部分扫描MPM列表,当遇到更靠近水平方向的帧内预测模式时,检查其随后的模式,如果发现更靠近垂直方向的模式,则将上述两个模式交换。重复这样的过程直到处理了整个列表。

ii.可选地,这样的交换不应用于模式HOR-/+k,即使它们更靠近水平方向。

4.上述项目符号(bullet)中的术语“块形状”可以表示:

a.正方形的块或非正方形的块

b.当前编码块的宽度和高度的比率

c.由块的宽度和高度定义。

5.所提出的方法可以应用于某些模式、块尺寸/形状和/或某些子块尺寸。

a.所提出的方法可以应用于某些模式,例如传统的平移运动(即,禁用仿射模式)。

b.所提出的方法可以应用于某些块尺寸。

i.在一个示例中,所提出的方法仅应用于具有w×h>=T的块,其中w和h是当前块的宽度和高度。

ii.在另一个示例中,所提出的方法仅应用于具有w>=T&&h>=T的块。

6.所提出的方法可以应用在所有颜色组件上。替代地,所提出的方法可以仅应用于一些颜色组件。例如,所提出的方法可能仅应用在亮度组件上。

图20是视频处理装置2000的框图。装置2000可以用于实现本文描述的一个或多个方法。装置2000可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置2000可以包括一个或多个处理器2002、一个或多个存储器2004和视频处理硬件2006。(多个)处理器2002可以被配置为实现本专利文件中描述的一个或多个方法,诸如参照方法2200描述的方法。存储器(多个存储器)2004可以用于存储用于实现本文描述的方法和技术的数据和代码,诸如参照方法2200描述的方法。视频处理硬件2006可以是用于以硬件电路实现在本专利文件中描述的一些方法。在各种实现方式中,存储器2004和/或视频处理硬件2006可以部分地或全部地并入到处理器2002本身。

图22是视频比特流处理的方法2200的流程图。方法2200包括:对于至少部分帧内编码的视频块,根据取决于视频块的形状的第一形状依赖性规则生成(2202)帧内模式候选的列表,并且使用帧内模式候选的列表重建(2204)视频块的解码表示。

参照方法2200,在一些实施例中,帧内模式候选的列表是最可能模式(MPM)候选列表的列表。参照方法2200,在一些实施例中,第一形状依赖性规则指定顺序,以该顺序检查邻近的块以用于***帧内模式候选的列表中。参照方法2200,在一些实施例中,第一形状依赖性规则指定在视频块的宽度大于视频块的高度的N倍的情况下,其中N是大于或等于1的整数,在来自相对于视频块的左侧邻近的块的帧内预测模式之前,首先通过使用来自相对于视频块的上方邻近的块的帧内预测模式来生成帧内模式候选的列表。

参照方法2200,在一些实施例中,在来自相对于视频块的左下方邻近的块的帧内预测模式之前,将来自相对于视频块的右上方邻近的块的帧内预测模式添加到帧内模式候选的列表,或者在来自相对于视频块的左下方邻近的块的帧内预测模式之前,将来自相对于视频块的左上方邻近的块的帧内预测模式添加到帧内模式候选的列表。

参照方法2200,在一些实施例中,第一形状依赖性规则指定在视频块的宽度大于视频块的高度的N倍的情况下,其中N是大于或等于1的整数,帧内模式候选的列表包括来自相对于视频块的上方邻近的块的帧内预测模式。参照方法2200,在一些实施例中,上方邻近的块是中间块。

参照方法2200,在一些实施例中,第一形状依赖性规则指定在视频块的高度大于视频块的宽度的N倍的情况下,其中N是大于或等于1的整数,帧内模式候选的列表包括来自相对于视频块的左侧邻近的块的帧内预测模式。参照方法2200,在一些实施例中,左侧邻近的块是中间块。参照方法2200,在一些实施例中,视频比特流处理包括使用码字编码的视频块的压缩表示,使用第二形状依赖性规则分配该码字。

参照方法2200,在一些实施例中,第一形状依赖性规则指定用于构造帧内模式候选的列表的默认帧内模式。参照方法2200,在一些实施例中,第一形状依赖性规则指定在视频块的宽度大于视频块的高度的M倍的情况下,其中M是大于或等于1的整数,默认帧内模式对应于垂直对角线模式。参照方法2200,在一些实施例中,第一形状依赖性规则指定在视频块的宽度大于视频块的高度的M倍的情况下,其中M是大于或等于1的整数,将模式HOR-/+k用作默认帧内模式,其中k=1、2、3、...、或8。参照方法2200,在一些实施例中,第一形状依赖性规则指定在视频块的高度大于视频块宽度的N倍的情况下,其中N是大于或等于1的整数,将模式VER-/+k***帧内模式候选的列表中,其中k=1、2、3、...、或8。参照方法2200,在一些实施例中,第一形状依赖性规则指定在视频块的高度大于视频块的宽度的N倍的情况下,其中N是大于或等于1的整数,帧内模式候选的列表包括VER模式之前的HOR模式。

参照方法2200,在一些实施例中,第一形状依赖性规则指定取决于视频块的形状的帧内模式候选的列表的顺序。参照方法2200,在一些实施例中,第一依赖性规则指定在视频块的宽度大于视频块的高度的N倍的情况下,其中N是大于或等于1的整数,使用更接近水平方向的帧内预测模式而不是更接近垂直方向的其他模式。参照方法2200,在一些实施例中,该方法还包括通过以下步骤重新排序帧内模式候选的列表:从帧内模式候选的列表的开始部分扫描帧内模式候选的列表;以及在发现更接近垂直方向的帧内预测模式条目的情况下,将该条码与更接近水平方向的后续条目的条目交换。

参照方法2200,在一些实施例中,第一依赖性规则指定在视频块的高度大于视频块的宽度的N倍的情况下,其中N是大于或等于1的整数,使用更接近垂直方向的帧内预测模式而不是更接近水平方向的其他模式。参照方法2200,在一些实施例中,该方法还包括通过以下步骤重新排序帧内模式候选的列表:从帧内模式候选列表的开始部分扫描帧内模式候选列表;以及在发现更接近水平方向的帧内预测模式条目的情况下,将该条码与更接近垂直方向的后续条目的条目交换。

参照方法2200,在一些实施例中,视频块包括编码单元(CU)。参照方法2200,在一些实施例中,视频块的形状是正方形或矩形中的一个。参照方法2200,在一些实施例中,视频块的形状对应于宽度和高度的比率。参照方法2200,在一些实施例中,第一形状依赖性规则基于视频块的编码条件选择性地应用两个不同的依赖性规则。参照方法2200,在一些实施例中,编码条件包括视频块中的多个像素或视频块的高度或视频块的宽度是否大于或等于阈值。参照方法2200,在一些实施例中,该方法应用于视频块的亮度分量或色度分量中的一个或多个。

视频解码装置包括处理器,该处理器可以被配置为实现参照方法2200所述的方法。视频编码装置包括处理器,该处理器可以被配置为实现参照方法2200所述的方法。其上储存有计算机代码的计算机程序产品,该代码在由处理器执行时使处理器实现参照方法2200描述的方法。

参照方法2200,视频块可以表示压缩视频比特流的CU。视频块的形状可以取决于高宽比、或高度和宽度的实际值、或高度和宽度的相对值。在各种实施例中,可以隐式地或显式地生成各种候选的列表(例如,通过将列表储存在存储器中)。

参照方法2200,邻近的块的一些示例及其使用在本文件的第4章中描述。例如,如第4章中所述,在视频块的不同形状下,可以优选顶部邻近的块或左侧邻近的块。在一些实施例中,顶部或左侧的中心或中间块(或子块)可以是优选的块,使用来自该优选的块的候选添加到列表。

参照方法2200,可以使用基于码字的技术(例如,上下文自适应二进制算术编码或可变长度编码)在视频比特流中对视频块进行编码,在该技术中可以通过使用还取决于视频块的形状的比特流生成规则来实现比特效率。

参照方法2200,编码视频块的形状可以用于决定哪些块用于候选,或者决定将候选放置在候选的列表中的顺序,或者两者。

应当理解,所公开的技术可以体现在视频编码器或解码器中,以在被压缩的编码单元具有与传统正方形形状的块或矩形块显著不同的形状时提高压缩效率。例如,使用诸如4×32或32×4尺寸的单元的长的或高的编码单元的新编码工具可得益于所公开的技术。

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

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

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

举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器、以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,以从该一个或多个大容量存储设备接收数据,或将数据传输到该一个或多个大容量存储设备,或者既接收又传递数据。然而,计算机不需要具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。虽然本文件包含许多细节,但这些细节不应被解释为对任何发明或可要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。

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

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

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

38页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于解码器错误检测的主备信源切换方法

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类