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

管理编解码工具组合和限制

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


管理编解码工具组合和限制

技术领域

本实施例中的至少一个通常涉及用于视频编码或解码、压缩或解压缩的方法或装置。

背景技术

为了实现高压缩效率,图像和视频编解码方案通常采用预测(包括运动向量预测)和变换以利用(leverage)视频内容中的空间和时间冗余。通常,使用帧内或帧间预测来利用帧内或帧间相关性,然后对原始图像和预测图像之间的差异(通常表示为预测误差或预测残差)进行变换、量化、和熵编解码。为了重构视频,通过对应于熵编解码、量化、变换、和预测的逆处理,来对所压缩的数据进行解码。

发明内容

本实施例中的至少一个通常涉及一种用于视频编码或解码的方法或装置,并且更具体地,涉及一种基于依赖于相邻样本的参数模型来简化编解码模式的方法或装置。

根据第一方面,提供了一种方法。该方法包括以下步骤:将与至少一个视频编解码工具相关联的高级语法插入视频比特流中;基于所述高级语法,有条件地将对于一个或多个视频编解码工具的一个或多个低级控制插入所述比特流中;基于所述低级控制,激活对应于一个或多个视频分量的一个或多个视频编解码工具;以及使用激活的所述视频编解码工具对所述视频比特流进行编码。

根据第二方面,提供了一种方法。该方法包括以下步骤:解析视频比特流以得到与至少一个视频编解码工具相关联的高级语法;基于所述高级语法,确定对于一个或多个视频编解码工具的一个或多个低级控制;基于所述确定,激活对应于一个或多个视频分量的一个或多个视频编解码工具;以及使用激活的所述视频编解码工具来对视频比特流进行解码。

根据另一方面,提供了一种装置。该装置包括处理器。该处理器可以被配置为通过执行前述方法中的任何一种来对视频块进行编码或对比特流进行解码。

根据至少一个实施例的另一一般方面,提供了一种包括根据解码实施例中的任何一个的装置的设备;以及以下项中的至少一项:(i)天线,被配置为接收信号,该信号包括视频块;(ii)频带限制器,被配置为将接收的信号限制到包括该视频块的频带;或(iii)显示器,被配置为显示表示视频块的输出。

根据至少一个实施例的另一一般方面,提供了一种非暂时性计算机可读介质,其包含根据所述编码实施例或变体中的任何一个而生成的数据内容。

根据至少一个实施例的另一一般方面,提供了一种信号,该信号包括根据所述编码实施例或变体中的任何一个而生成的视频数据。

根据至少一个实施例的另一一般方面,比特流被格式化为包括根据所述编码实施例或变体中的任何一个而生成的数据内容。

根据至少一个实施例的另一一般方面,提供了一种包括指令的计算机程序产品,当该程序由计算机运行时,该指令使计算机执行所述解码实施例或变体中的任何一个。

各一般方面的这些和其他方面、特征和优点将从下面将结合附图被阅读的示例性实施例的详细描述而变得显而易见。

附图说明

图1示出了标准的通用视频压缩方案。

图2示出了标准的通用视频解压缩方案。

图3示出了根据一个实施例的通用解码处理。

图4示出了针对情况1的通用解码处理。

图5示出了针对情况2的第一种提出的通用解码处理。

图6示出了针对情况2的第二种提出的通用解码处理。

图7示出了针对情况3的通用解码处理。

图8示出了基于画面分区限制信令的示例解码处理。

图9示出了基于画面分区限制信令的替代解码处理。

图10示出了基于多假设预测使能标志信令的示例解码处理。

图11示出了基于MTS(多变换集)使能标志信令的示例解码处理。

图12示出了基于MTS使能标志信令的示例替代解码处理。

图13示出了针对依赖性量化和符号数据隐藏使能标志信令的示例解码处理。

图14示出了用于表示压缩的HEVC画面的编解码树单元和编解码树概念。

图15示出了编解码树单元到编解码单元、预测单元和变换单元的示例划分。

图16示出了示例四叉树加二叉树(QTBT)CTU表示。

图17示出了在描述的一般方面下的用于编码/解码的基于处理器的系统。

图18示出了根据第一实施例的解码处理的简化框图。

图19示出了在描述的一般方面下的方法的一个实施例。

图20示出了在描述的一般方面下的方法的另一实施例。

图21示出了在描述的一般方面下的示例装置。

具体实施方式

这里描述的实施例属于视频压缩领域,并且一般涉及视频压缩以及视频编码和解码。所描述的一般方面旨在提供用于操作对高级视频编解码语法或视频编解码语义的限制的机制,以约束工具组合的可能集合。

为了实现高压缩效率,图像和视频编解码方案通常采用预测(包括运动向量预测)和变换以利用视频内容中的空间和时间冗余。通常,使用帧内或帧间预测来利用帧内或帧间相关性,然后对原始图像和预测图像之间的差异(通常表示为预测误差或预测残差)进行变换、量化、和熵编解码。为了重构视频,通过对应于熵编解码、量化、变换、和预测的逆处理,来对所压缩的数据进行解码。

在HEVC(高效视频编解码,ISO/IEC 23008-2,ITU-T H.265)视频压缩标准中,采用运动补偿时间预测来利用视频的连续画面之间存在的冗余。

为此,将运动向量与每个预测单元(PU)相关联。每个编解码树单元(CTU)在压缩域中由编解码树表示。这是对CTU的四叉树划分,其中每片叶子被称为编解码单元(CU)。

然后每个CU被给与一些帧内或帧间预测参数(预测信息)。为此,其被在空间上分区为一个或多个预测单元(PU),每个PU被分配一些预测信息。帧内或帧间编解码模式被在CU级别进行分配。

在JVET(联合视频探索小组)提出的称为联合探索模型(JEM)的新视频压缩标准中,由于高压缩性能,已提出接受四叉树-二叉树(QTBT)块分区结构。二叉树(BT)中的块可以通过从中间水平或垂直对其进行划分而被划分为两个大小相等的子块。因此,BT块可以具有不相等的宽度和高度的矩形形状,而不像QT中总是具有相等的宽度和高度的正方形形状的块。在HEVC中,角度帧内预测方向被定义为从45度到-135度跨越180度角,并且其已在JEM中被维持,这使得角度方向的定义独立于目标块形状。

为了编码这些块,帧内预测被用于使用先前重构的相邻样本来提供块的估计版本。然后对源块和预测之间的差异进行编码。在上述经典编解码器中,单个参考样本线被用在当前块的左侧和顶部。

在HEVC(高效视频编解码,H.265)中,对视频序列的帧的编码是基于四叉树(QT)块分区结构的。帧被划分为正方形的编解码树单元(CTU),这些编解码树单元都基于速率失真(RD)准则经历基于四叉树被划分为多个编解码单元(CU)。每个CU是帧内预测的(即其是根据因果相邻CU而被在空间上预测的),或者是帧间预测的(即其是根据已经解码的参考帧而被在时间上预测的)。在I条带中,所有CU都是帧内预测的,而在P条带和B条带中,CU可以是帧内或帧间预测的。对于帧内预测,HEVC定义了35种预测模式,包括一种平面模式(索引为模式0)、一种DC模式(索引为模式1)和33种角度模式(索引为模式2-34)。角度模式与沿顺时针方向范围从45度到-135度的预测方向相关联。由于HEVC支持四叉树(QT)块分区结构,因此所有预测单元(PU)都具有正方形的形状。因此,从PU(预测单元)形状的角度来看,从45度到-135度的预测角度的定义是合理的。对于大小为NxN个像素的目标预测单元,顶部参考阵列和左侧参考阵列大小均为2N+1个样本,这需要覆盖所有目标像素的前述角度范围。考虑到PU的高度和宽度是等长的,两个参考阵列的长度相等也是有意义的。

本发明属于视频压缩领域。与现有的视频压缩系统相比,其旨在改进帧间编解码块中的双向预测。本发明还提出针对帧间条带分离亮度和色度编解码树。

在HEVC视频压缩标准中,画面被划分为所谓的编解码树单元(CTU),其大小通常为64x64、128x128或256x256个像素。每个CTU在压缩域中由编解码树表示。这是对CTU的四叉树划分,其中每片叶子被称为编解码单元(CU),参见图14。

然后每个CU被给与一些帧内或帧间预测参数(预测信息)。为此,其被在空间上分区为一个或多个预测单元(PU),每个PU被分配一些预测信息。帧内或帧间编解码模式被在CU级别进行分配,参见图15。

为了在压缩域中以更灵活的方式表示画面数据,提出了在压缩域中包括编解码树单元表示的新兴视频压缩工具。编解码树的这种更灵活的表示的优点在于,与HEVC标准的CU/PU/TU布置相比,其提供了增大的压缩效率。

四叉树加二叉树(QTBT)编解码工具提供了这种增强的灵活性。其由编解码树组成,其中,在该编解码树中,编码单元可以以四叉树和二叉树两种方式被划分。编解码树单元的这种编解码树表示如图16所示。

编解码单元的划分在编码器侧是通过速率失真优化过程来决定的,该速率失真优化过程包括以最小的速率失真成本来确定CTU的QTBT表示。

在QTBT技术中,CU具有正方形或矩形形状。编解码单元的大小总是2的幂,并且通常为从4到128。

除了编解码单元的矩形形状的这种多样性之外,与HEVC相比,这种新的CTU表示具有以下不同特性。

CTU的QTBT分解由两个阶段组成:首先CTU被以四叉树的方式进行划分,然后每个四叉树叶子可以被以二叉的方式进一步划分。这在图16的右侧示出,其中,在图16中,实线表示四叉树分解阶段,并且虚线表示空间上嵌入四叉树叶子中的二叉分解。

本文描述的一般方面属于视频压缩领域。视频编解码器由多种编解码工具的组合所组成。通常的做法是标准化解码器侧(语法和解码处理)。

文献JVET-L0044“AHG 15:Proposed interoperability point syntax”和JVET-L0696“Proposed starting point for interoperability point syntax”指定了大量高级语法元素(在SPS中,或在profile_tier_level部分),这些高级语法元素旨在控制VVC解码器中编解码工具的激活。该信令机制的目标是实现由不同于MPEG或ITU的其他方(诸如DVB、ATSC、3GPP)所定义的比特流互操作性点。在表1中提出了语法的示例,其中,语法被插入SPS的开头,以指示在整个比特流中不能违反的属性。JVET计划为将被添加到VVC规范中的大多数编解码工具扩展此表。原则上,JVET没有责任基于这些标志指定配置文件(profile)或子配置文件。JVET仅定义工具以及约束标志/参数与工具之间的关系。

表1、SPS的用于提供互操作性点语法的语法元素

当在SPS(或类似)语法结构中设置约束标志时,解码器可以安全地假设该工具将不会被用于比特流中。当约束标志被设置为1时,可以在相关联的比特流中激活该工具。

还提出了一些贡献以指定类似的信令机制,具体地,提供了初始高级工具信令概念的JVET-K0311、按类别对工具进行分组的JVET-L0042、提出了分层信令(被JVET认为可能太复杂而无法解析)的JVET-L0043。

由于编解码器包括多个编解码工具,这导致了大量可能的工具组合,并且在当前设计中,未考虑工具交互的影响。此外,对于一些情况,简单地使工具去激活是行不通的。一些工具需要回退(fall-back)模式。本发明旨在通过插入用于在语法或语义级别限制可能的工具激活/去激活的处理来解决这个问题。

如上所述,JVET采用用于以精细粒度在高级别控制编解码工具的方法导致大量的工具组合,其中的一些在编解码效率或可实现性方面不实用。

当前在所提出的语法中没有在高级别的工具组合限制。现有技术中提供的主要解决方案在先前段落中讨论过(文献JVET-L0042和JVET-L0043),并且尚未被JVET考虑过。

考虑到当一些工具被组合在一起而其他工具被去激活时可能出现的交互问题,所描述的方面提出插入语法改变或语义改变来指定工具组合限制。

表2给出了VTM3中包括的工具加上正在探索的一些附加工具的列表,并且其以后被添加在VTM中。这些工具按类别分类。提供了对工具的粗略估计的PSNR-YBD-率性能。负数(-x)指示平均比特率节省为x%。还指示了与其他工具的相互依赖性。

可以在比特流中用信号通知几个SPS。这些SPS可以包括用于在序列或可伸缩性级别控制工具的标志。

除了SPS,还可以指定语法中较低级别的附加参数集(诸如PPS、条带头、区块(tile)组头、区块头)。它们可以包括用于在比序列级别更低的级别控制工具的附加标志。

在下文中,在最高(SPS)级别定义的语法元素将使用“hl_”作为前缀。当使用前缀“ll_”时,这指示语法元素的级别低于SPS,以更局部地控制工具。

表2、VTM3中被考虑并且用于进一步的VTM的工具列表

根据对工具的分析,可以观察到以下特性:

-情况1-几个工具基于相同的概念设计,这导致了一起控制它们

-情况2-几个工具无论是在性能方面,还是在技术依赖性方面都受制于其他工具,这导致基于对它们所受制于的工具的控制来控制它们

-情况3-几个工具是互斥的,并且不能被一起激活

以下定义被用于本文档的剩余部分:

-考虑的工具-这与由所提出的处理控制的工具集有关

-主工具和从属工具-当所考虑的工具属于情况2类别时,它们被划分为两个集合,主工具和从属工具,从属工具的激活/去激活取决于主工具的激活/去激活

-专用工具-当所考虑的工具互斥时(情况3),它们被分组为“专用工具集1”和“专用工具集2”,其中当集合1中的工具被激活时,集合2中的工具被去激活,反之亦然

图3中提供了涵盖这3种情况的解码处理的通用框图。为了简化起见,认为正在处理两个工具。这个概念可以扩展到两个以上工具。该框图基本上由三个分支组成,这取决于在步骤901和902中检查的所考虑的工具的类型。

对应于情况1的分支由两个主要步骤组成。

-在步骤903,从比特流中解码至少一个高级语法元素HL_SE。

-在步骤904,根据HL_SE的值,控制所考虑的工具的低级语法元素被:

○推断为导致通常去激活(或者激活)所有考虑的工具的给定值,

○或者从比特流中解码(使能独立控制所考虑的工具中的每一个)。

对应于情况3的分支由四个主要步骤组成。

-在步骤905中,从比特流中解码与专用工具1和2的控制相关的至少两个高级语法元素HL_SE1和HL_SE2。

-在步骤906中,根据HL_SE1的值,控制专用工具1的至少一个低级语法元素LL_SE1被:

○从比特流中解码,

○或者推断为通常导致去激活专用工具1的给定值。

-在步骤907,根据HL_SE2和LL_SE1的值,控制专用工具2的至少一个低级语法元素LL_SE2被:

○从比特流中解码,

○或者推断为通常导致去激活专用工具2的给定值。

步骤907使得:

○ 1)如果专用工具1被启用(根据LL_SE1),LL_SE2值导致禁用专用工具2,并且

○ 2)如果专用工具1被禁用(根据LL_SE1),专用工具2可以被启用。

对应于情况2的分支由四个主要步骤组成。

-在步骤908中,从比特流中解码至少一个高级语法元素HL_SE_main。

-在步骤909中,根据HL_SE_main的值,控制从属工具的至少一个高级语法元素HL_SE_dependent被:

○从比特流中解码,

○或者推断为通常导致去激活从属工具的给定值。

步骤909使得如果HL_SE_main值导致禁用主工具,则HL_SE_dependent值导致禁用从属工具。

-在步骤910,根据HL_SE_main的值,控制主工具的至少一个低级语法元素LL_SE_main被:

○从比特流中解码,

○或者推断为通常导致去激活主工具的给定值。

-在步骤911中,根据HL_SE_dependent和LL_SE_main的值,控制从属工具的至少一个低级语法元素LL_SE_dependent被:

○从比特流中解码,

○或者推断为通常导致去激活从属工具的给定值。

步骤911使得如果HL_SE_dependent导致禁用从属工具,或者如果LL_SE_main导致禁用主工具,则LL_SE_dependent导致禁用从属工具。

最后的步骤912对应于利用由从先前步骤推导出的低级语法元素控制的对工具的激活/去激活来应用解码器处理。

以下部分对应于对于不同考虑的工具情况的实施例。

对于情况1(基于相同概念设计的工具)的一般解决方案

对于情况1的解决方案是定义控制几个工具的高级语法元素。还定义了与这些工具的激活/去激活相关的附加低级语法元素。根据高级语法元素的值,附加低级语法元素被设置为给定的预定义值,或者被从比特流中读取。然后,利用根据这些工具对应的低级语法元素的值激活或去激活这些工具来执行解码处理。

该处理总结如下(也如图4中所描绘的):

-从比特流中解码一个高级语法元素high_level_SE(1001)

-如果high_level_SE等于给定值V1(1002)

○基于high_level_SE的值,推断与工具激活/去激活相关的低级语法元素(low_level_SE)(1003)

-否则(1002)

○从比特流中解码low_level_SE(1004)

-利用根据其低级语法元素low_level_SE的值激活/去激活工具,来应用解码处理(1005)

对于情况2(工具依赖于其他工具)的一般解决方案

情况2的解决方案涉及一些工具(让我们称其为从属工具)的激活可以受其他工具(让我们称其为主工具)的激活所制约。

如情况1,这些工具可以由一个单一的高级标志来控制,该标志控制主工具和从属工具两者的激活。随后从属工具的低级语法元素受控制主工具的低级语法元素的值的制约。

该处理总结如下(也如图5中所描绘的):

-从比特流中解码一个高级语法元素high_level_SE(1101)

-如果high_level_SE等于给定值V1(1102)

○根据high_level_SE的值,推断与主工具和从属工具激活/去激活相关的低级语法元素(low_level_mainSE和low_level_dependent_SE)(1103)

-否则(1102)

○从比特流中解码与主工具激活/去激活相关的低级语法元素(low_level_main_SE)(1104)

○如果low_level_main_SE等于给定值V2(1105)

■根据与主工具激活/去激活相关的低级语法元素low_level_main_SE的值,推断与从属工具激活/去激活相关的低级语法元素(low_level_dependent_SE)(1106)

○ 否则(1105)

■从比特流中解码与从属工具激活/去激活相关的低级语法元素(low_level_dependent_SE)(1107)

-利用根据其低级语法元素(low_level_main_SE和low_level_dependent_SE)的值激活/去激活工具,来应用解码处理(1108)

可替代地,使用至少两个高级标志,一个用于控制主工具激活,一个用于控制从属工具激活,该第二个受第一个的值制约。

该处理总结如下(也如图6中所描绘的):

-从比特流中解码与主工具激活/去激活相关的一个高级语法元素(1201)

-如果与主工具激活/去激活相关的高级语法元素具有给定值V1(1202)

○根据与主工具激活/去激活相关的高级语法元素的值,推断与从属工具激活/去激活相关的高级语法元素(1203)

-否则(1202)

○从比特流中解码与从属工具激活/去激活相关的高级语法元素(1204)

-对于主工具或从属工具(1205),以下适用:

○如果高级语法元素具有给定值V3(其对于主工具和从属工具可以是不同的)(1206)

■根据高级语法元素的值推断与工具激活/去激活相关的低级语法元素(1207)

○否则(1206)

■从比特流中解码与工具激活/去激活相关的低级语法元素(1208)

-利用根据其低级语法元素的值激活/去激活工具,来应用解码处理对于情况3(工具互斥)的一般解决方案

情况3的解决方案是定义控制一个第一工具或一个第一工具集的至少一个高级语法元素、以及用于控制与该第一工具或该第一工具集互斥的一个第二工具或一个第二工具集的参数。

该处理总结如下(也如图7中所描绘的):

-从比特流中解码与一个第一工具集和一个第二工具集相关的两个高级语法元素high_level_SE1和high_level_SE2(1301)

-如果high_level_SE1等于给定值V1(1302)

○基于high_level_SE1的值,推断与第一工具集激活/去激活相关的低级语法元素(low_level_SE1)(1303)

-否则(1302)

○从比特流中解码low_level_SE1(1304)

-如果high_level_SE2等于给定值V2,并且low_level_SE1等于给定值V3(1305)

○基于highLevelParam2的值,推断与第二工具集激活/去激活相关的低级语法元素(low_level_SE2)(1306)

-否则(1305)

○从比特流中解码low_level_SE2(1307)

-利用根据其低级语法元素low_level_SE1和low_level_SE2的值激活/去激活工具,来应用解码处理(1308)

有利地,本发明使得能够通过限制工具的可能组合的数目来降低编码器和解码器的复杂性。其还允许降低由于需要支持涉及增加的复杂性问题和增加的工具不兼容情况的工具组合而导致的实现方式问题的风险。其最终减少了互操作性问题,这些互操作性问题可能由于启用太多可能的工具组合而涉及。

对于这些不同的情况,提供了针对表2中列出的工具的实施例(情况在实施例标题的括号中指示)。

实施例1-分区限制的联合控制(情况1)

主要实施例

在实施例中,与垂直或水平维度中的至少一个大于给定限制(通常为64)的CTU或CU的分区(或编解码结构)相关的多个分区限制由插入在高级参数集(例如,SPS)中的一个单一的高级语法元素(例如,hl_picture_partitioning_restrictions_flag)来控制。

此外,在比高级参数集更低级别的参数集(例如,PPS、条带头、区块组头、区块头)中,插入与特定分区限制相关的语法元素。

作为示例,特定分区限制可以是表2中描述的以下工具:C_TT64、C_QT128、C_BT,其分别由以下低级标志控制:ll_split_tt128_restriction_flag、ll_split_qt128_restriction_flag、ll_split_bt128_restriction_flag。

作为示例,在区块组头中插入了以下特定语法元素:

图8描绘了简化的解码处理框图。在步骤301中,从比特流中解码高级分区限制标志hl_picture_partitioning_restrictions_flag。其值被在步骤302中检查。如果hl_picture_partitioning_restrictions_flag为真,则与特定分区限制相关的特定低级语法元素被设置为真(步骤303)。如果标志为假,则在步骤304中解码与特定分区限制相关的特定低级语法元素。在步骤305中,利用由在步骤303中设置或在步骤304中解码的低级语法元素所控制的特定分区限制,应用对CTU或CU的解码处理。

对应的语义是一个示例:

hl_picture_partitioning_restrictions_flag等于1指定语法元素ll_split_tt128_restriction_flag、ll_split_qt128_restriction_flag和ll_split_bt128_restriction_flag不存在于CVS中画面的区块组头中。hl_picture_partitioning_restrictions_flag等于0指定语法元素ll_split_tt128_restriction_flag、ll_split_qt128_restriction_flag和ll_split_bt128_restriction_flag存在于CVS中画面的区块组头中。

ll_split_tt128_restriction_flag等于1指定当CU大小大于64x64时禁用三叉树划分。ll_split_tt128_restriction_flag等于0指定当CU大小大于64x64时启用三叉树划分。当ll_split_tt128_restriction_flag不存在时,其被设置为1。

ll_split_qt128_restriction_flag等于1指定大小为128x128的CU被强制划分为大小为64x64的四个CU。ll_split_qt128_restriction_flag等于0指定大小为128x128的CU不被强制划分为大小为64x64的四个CU。当ll_split_qt128_restriction_flag不存在时,其被设置为1。

ll_split_bt128_restriction_flag等于1指定大小为64x128的CU被强制划分为两个大小为64x64的CU。ll_split_bt128_restriction_flag等于0指定大小为64x128的CU不被强制划分为大小为64x64的两个CU。当ll_split_bt128_restriction_flag不存在时,其被设置为1。

替代方案1

在上述解决方案中,分区限制的高级控制有利于对限制的激活,因为hl_picture_partitioning_restrictions_flag等于真涉及特定分区限制标志也被设置为真。

在以下实施例中,方法是反向的。当hl_picture_partitioning_restrictions_flag等于假时,特定分区限制标志也设置为假。否则,从比特流中读取这些特定分区限制标志。这在图9中示出,其中与上述实施例相比,关于全局标志hl_picture_partitioning_restrictions_fag的值的条件是相反的。步骤302a检查hl_picture_partitioning_restrictions_flag是否等于假。如果该条件为真,则在步骤303a中,与特定分区限制相关的特定低级语法元素被设置为假。其他步骤与先前实施例中的相同。

实施例2

在实施例中,语法中存在多个高级分区限制标志(N),并且语义使得能够顺序地控制它们,如下所述。在这个示例中,标志通常被命名为“hl_picture_partitioning_restrictionk_flag”,其中k是整数值。并且在语法中的较低级别处(例如,区块组头)附加地插入低级标志,其被命名为“ll_picture_partitioning_restrictionk_kk_flag”,其中kk是整数值。对于给定的限制k,高级标志“hl_picture_partitioning_restrictionk_flag”控制Mk低级限制,该Mk低级限制限制由标志“ll_picture_partitioning_restrictionk_kk_flag”控制,kk=1至Mk。

对应的语义是示例:

hl_picture_partitioning_restrictionk_flag等于1指定语法元素ll_picture_partitioning_restrictionka_flag、ll_picture_partitioning_restrictionkb_flag不存在于CVS中画面的区块组头中。hl_picture_partitioning_restrictionl_flag等于0指定语法元素ll_picture_partitioning_restrictionla_flag、ll_picture_partitioning_restrictionlb_flag存在于CVS中画面的区块组头中。

在这个示例中,相同的语义适用于针对从1到N的任何k的hl_picture_partitioning_restrictionk_flag。

ll_picture_partitioning_restrictionkx_flag等于1指定启用画面分区限制kx。ll_picture_partitioning_restrictionkx_flag等于0指定禁用画面分区限制kx。当ll_picture_partitioning_restrictionkx_flag不存在时,其被设置为1。

在这个示例中,相同的语义适用于针对从1到Mk的任何kk的ll_picture_partitioning_restrictionkx_flag。

这可能更具体地涉及表2中标识为C_TT64、C_QT128、C_BT的分区限制。

实施例3-与分区相关的其他工具的联合控制(情况1)

同样的方法可以应用于与表2中描述的以下分区相关工具相关的工具:C_PR、C_FBP。

详细的语法&语义可以如上来完成。

实施例4-多假设预测工具的控制(情况1)

主要实施例

在实施例中,基于多假设预测的帧间预测工具由插入在高级参数集(例如,SPS)中的一个高级单一语法元素(例如,hl_multi_hypothesis_enable_flag)控制。在当前文档中,多假设预测工具涉及利用空间变化的权重对来自几个预测的样本进行加权混合。

此外,在比高级参数集更低级别的参数集(例如,PPS、条带头、区块组头、区块头)中,插入与特定多假设预测工具相关的语法元素。

作为示例,特定的多假设预测工具可以是表2中描述的以下工具:R_GBI、R_TRI、R_MH,其分别由以下低级标志控制:ll_generalized_bipred_enable_flag、ll_triangular_partition_enable_flag、ll_multi_hypothesis_intra_inter_enable_flag。此外,R_OBMC也可以被包括在此工具集中,由特定标志(例如,ll_obmc_enable_fag)控制。

作为示例,可以在区块组头中插入以下特定语法元素:

图10描绘了简化的解码处理框图。在步骤401中,从比特流中解码标志hl_multi_hypothesis_enable_flag。其值被在步骤402中检查。如果该标志为真,则与特定多假设预测工具相关的特定语法元素被设置为真(步骤403)。如果hl_multi_hypothesis_enable_flag为真,则在步骤404中解码与特定多假设预测工具相关的特定低级语法元素。在步骤405中,利用由在步骤403中设置或在步骤404中解码的低级语法元素所控制的特定多假设预测工具,应用对CTU或CU的解码处理。

对应的语义是一个示例:

hl_multi_hypothesis_enable_flag等于1指定语法元素ll_generalized_bipred_enable_flag、ll_triangular_partition_enable_flag、ll_multi_hypothesis_intra_inter_enable_flag、ll_obmc_enable_flag存在于CVS中画面的区块组头中。hl_multi_hypothesis_enableflag等于0指定语法元素ll_generalized_bipred_enable_flag、ll_triangular_partition_enable_flag、ll_multi_protection_intra_inter_enable_flag、ll_obmc_enable_flag不存在于CVS中画面的区块组头中。

ll_generalized_bipred_enable_flag等于1指定启用通用双向预测模式。ll_generalized_bipred_enable_flag等于0指定禁用通用双向预测模式。当ll_generalized_bipred_enable_flag不存在时,其被设置为0。

对语法元素ll_triangular_partition_enable_flag、ll_multi_protection_intra_inter_enable_flag、ll_obmc_enable_fag应用等效语义。

替代方案

如在先前部分中一样,在替代解决方案中,语法中存在多个高级多假设预测使能标志,并且语义使得能够一起控制它们。

详细的语法&语义可以如在先前部分一样来完成。

实施例5-MTS帧内和MTS帧间的控制(情况2)

在实施例中,在高级别处插入一个或两个标志来控制MTS(多变换集)激活。这与表2中描述的以下工具有关:T_MTS_intra、T_MTS_intra。T_ST也可能可以由同一机制控制。

解决方案1

在第一示例中,添加了一个单一高级标志hl_mts_enable_flag,如下表所示。

根据标志hl_mts_enable_flag的值,在较低级别处插入一个或两个附加标志,以控制针对帧内或帧间区域(诸如条带、区块组或区块)的MTS激活,如下表所示。

解码处理在概念上类似于针对控制多假设预测工具所描述的处理。

提出了对应的语义。

hl_mts_enable_flag等于1指定语法元素ll_mts_intra_enable_flag和ll_mts_inter_enable_flag存在于CVS中画面的区块组头中。hl_mts_enable_flag等于0指定语法元素ll_mts_intra_enable_flag和ll_mts_inter_enable_flag不存在于CVS中画面的区块组头中。

ll_mts_intra_enable_flag等于1指定对以帧内模式编解码的CU启用多变换集模式。ll_mts_intra_enable_flag等于0指定对以帧内模式编解码的CU禁用多变换集模式。当ll_mts_intra_enable_flag不存在时,其被设置为0。

ll_mts_inter_enable_flag等于1指定对以帧间模式编解码的CU启用多变换集模式。ll_mts_inter_enable_flag等于0指定对以帧间模式编解码的CU禁用多变换集模式。当ll_mts_inter_enable_flag不存在时,其被设置为0。

解决方案2

第二示例是基于第一示例的。此外,控制帧间的MTS激活的低级标志受制于帧内的MTS激活。这可以表达如下。

可替代地,类似行为可以由两个高级标志来实现,如下表所示。

对应的语义是一个示例:

hl_mts_intra_enable_flag等于1指定语法元素ll_mts_intra_enable_flag存在于CVS中画面的区块组头中。hl_mts_intra_enable_flag等于0指定语法元素ll_mts_intra_enable_flag不存在于CVS中画面的区块组头中。

hl_mts_inter_enable_flag等于1指定语法元素ll_mts_inter_enable_flag存在于CVS中画面的区块组头中。hl_mts_inter_enable_flag等于0指定语法元素ll_mts_inter_enable_flag不存在于CVS中画面的区块组头中。当hl_mts_inter_enable_flag不存在时,其被设置为0。

ll_mts_intra_enable_flag等于1指定对以帧内模式编解码的CU启用多变换集模式。ll_mts_intra_enable_flag等于0指定对以帧内模式编解码的CU禁用多变换集模式。当ll_mrs_intra_enable_flag不存在时,其被设置为0。

ll_mts_inter_enable_flag等于1指定对以帧间模式编解码的CU启用多变换集模式。ll_mrs_inter_enable_flag等于0指定对以帧间模式编解码的CU禁用多变换集模式。当ll_mts_inter_enable_flag不存在时,其被设置为0。

图12描绘了对应的解码处理框图。

依赖于MTS激活的次级变换激活

在实施例中,次级变换模式(T_ST)的激活受制于MTS模式的激活。

这可以表达如下。

类似地,递归变换树模式(T_RTT)的激活受制于MTS模式的激活。

实施例6-基于A_CCLM激活的A_MDLM控制(情况2)

在实施例中,针对MTS情况描述的机制适用于表2中描述的工具A_CCLM和A_MDLM的情况,A_MDLM的激活/去激活受制于A_CCLM的激活/去激活。

详细的语法&语义可以如上来完成。

实施例7-基于ATMVP激活的ATMVP控制(情况2)

在实施例中,针对MTS情况描述的机制适用于表2中描述的工具R_TMVP和R_ATMPV的情况,R_ATMPV的激活/去激活受制于R_TMVP的激活/去激活。详细的语法&语义可以如上来完成。

实施例8-基于高精度MV编解码激活的帧间工具控制(情况2)

在实施例中,R_AFF的激活/去激活受制于R_HPMV的激活/去激活,其实现方式类似于针对MTS情况所描述的实现方式。

详细的语法&语义可以如上来完成。

在另一实施例中,R_MMVD、R_DMVR的激活/去激活受制于R_HPMV的激活/去激活,其实现方式类似于针对MTS情况所描述的实现方式。

详细的语法&语义可以如上来完成。

在另一实施例中,R_PAMC的激活/去激活受制于R_HPMV的激活/去激活,其实现方式类似于针对MTS情况所描述的实现方式。详细的语法&语义可以如上来完成。

实施例9-调色板模式和当前画面参考对分离亮度/色度树的激活的依赖性(情况2)

观察到调色板模式高度受益于对分离亮度/色度树的使用的激活。

在实施例中,A_PM和A_CPR的激活/去激活受制于C_CST的激活/去激活,其实现方式类似于针对MTS情况所描述的实现方式。详细的语法&语义可以如上来完成。

实施例10-依赖性量化和符号数据隐藏工具的共同控制(情况3)

观察到依赖于工具的量化(Q_DQ)和符号数据隐藏(C_SDH)难以一起工作。

在实施例中,Q_DQ和C_SDH的高级语法控制被设计为避免对这两个工具的共同使用。

添加了两个高级标志hl_dependent_quant_enable_flag和hl_sign_data_hiding_flag,如下表所示。

然后,基于hl_dependent_quant_enable_flag和hl_sign_data_hiding_flag的值来设置与这两个工具相关的低级激活语法元素。但是控制一个给定工具的标志中的一个仅在另一个标志指示另一个工具被去激活时才被读取。下表对此进行了说明。

对应的语义是一个示例。

hl_dependent_quant_enable_flag等于1指定语法元素ll_dependent_quant_enable_flag存在于CVS中画面的区块组头中。hl_dependent_quant_enable_flag等于0指定语法元素ll_dependent_quant_enable_flag不存在于CVS中画面的区块组头中。

对hl_sign_data_hiding_flag也使用了类似的语义。

ll_dependent_quant_enable_flag等于1指定启用依赖性量化模式。ll_dependent_quant_enable_flag等于0指定禁用依赖性量化模式。当ll_dependent_quant_enable_flag不存在时,其被设置为0。

ll_sign_data_hiding_enable_flag等于1指定启用符号数据隐藏模式。ll_sign_data_hiding_enable_flag等于0指定禁用符号数据隐藏模式。当ll_sign_data_hiding_enable_flag不存在时,其被设置为0。

图13描绘了解码处理的简化框图。

实施例11-分离亮度/色度树和跨分量线性模型/多方向LM工具的共同控制(情况3)

在实施例中,对C_CST、A_CCLM和A_DMLM的高级语法控制使得,C_CST激活需要A_CCLM和A_DMLM的去激活,并且相反地,C_CST去激活需要A_CCLM和A_DMLM的激活。

可以使用与以上先前子部分中描述的设计相类似的设计。

详细的语法&语义可以如上来完成。

工具分类总结

本部分总结了3个考虑情况中的工具分类。

●情况1

○ C_TT64、C_QT128、C_BT可以被分组为与用于使划分VPDU友好的划分约束相关的一个单一标志

○ C_PR和C_FBP可以被分组为与分区控制相关的工具

○ R_GBI、R_TRI、R_MH可以被分组为基于与具有来自2个预测的加权样本的多假设相同的概念的工具,逻辑上应被一起激活/去激活;R_OBMC也可以被视为在概念上与具有加权样本的多假设在相同集合中

●情况2

○ A_CCLM被去激活意味着A_MDLM被去激活

○ R_TMVP被去激活意味着R_ATMVP被去激活

○ T_MTS_intra被去激活意味着T_MTS_inter被去激活

○ T_RTT性能潜在地依赖于T_MTS,因此T_MTS被去激活意味着T_RTT被去激活

○ R_HPMV禁用可能会影响R_AFF、R_MMVD、R_DMVR、R_PAMC的编解码效率,因此其去激活意味着以下工具中的部分或全部也被去激活:R_AFF、R_MMVD、R_DMVR、R_PAMC

○ C_CST可能由于调色板模式有利于分离亮度/色度树的大量使用而对用于屏幕内容的A_PM有强影响,因此C_CST的去激活意味着A_PM也被去激活

○ C_CST被去激活意味着A_CPR被去激活

●情况3

○当C_SDH被激活时,Q_DQ应被去激活,反之亦然

○当A_CCLM和A_MDLM被激活时,C_CST应被去激活,反之亦然

所描述的方面和实施例可以提供编解码增益,即,对于相同的比特率,提高质量,或者对于相同的质量,降低比特率。此外,通过限制工具组合的可能性,其可以极大地简化编解码器的实现方式。这是互操作性的关键点。

工具组合的另一方面与多分量视频的语法有关。VVC中的新工具产生的一个问题是,这些工具中的一些可能会对性能产生负面影响,或者可能仅仅未被适当地设计用于在被应用于多分量画面的各个分量时一起工作。典型示例是处理色度分离树的方式。在典型方法中,要编解码的画面可以包括亮度分量(例如,Y′)和2个色度分量(通常为Cb、Cr)或3个分量(例如,R、G、B)。在分离CU-树的情况下,亮度分量和2个色度分量是独立编解码的。在处理这种单独编解码的多个分量时,分量之间的可能关系未被定义。

表3 多分量语法的示例(新元素呈斜体)

在同一比特流中编解码独立(分离)分量的优点是所有分量的GOP结构是相同的:参考帧、IDR帧等是相同的。另一优点是并行化(分量级编码和解码管道)。

接下来描述的一般方面旨在为多通道格式设置分量之间的工具交互。

需要为VVC中提出的将引入分量之间的依赖性的候选工具创建编解码分量之间的语法和行为。

如果采用多通道格式,则这个问题在JVET中还有待解决。请注意,即使不使用多通道格式,对于RGB格式或其他图像格式(图像+深度或辅助画面...)也需要解决相同的问题。

接下来描述的一般方面提出提供指定了通道之间的工具交互的处理。这可以借助于插入语法变化和/或语义变化来执行。本发明根据分量之间的关系描述了几种变型。

考虑的工具的列表

表2给出了VTM3中包括的工具以及一些正在探索的附加工具的列表,这些附加工具可以在以后被添加在VTM中。这些工具按类别进行分类。

表2、VTM3中被考虑并且用于进一步的VTM的工具列表

可以在比特流中用信号通知几个SPS。这些SPS可以包括用于在序列级别控制工具的标志。

除了SPS,还可以指定语法中较低级别的附加参数集(诸如PPS、条带头、区块组头、区块头)。其可以包括用于在比序列级别更低的级别控制工具的附加标志。

有助于理解本发明的一些术语和概念如下:

注释1:主要分量可能具有对熵编解码(例如CABAC)的依赖性

注释2:通常,主要分量是包括亮度和2个色度通道的视频信号的亮度分量

注释3:通常,次要分量是亮度和2个色度通道的视频信号的色度通道。

注释4:分量集通常包括非独立的主要和次要分量

注释5:两个分量集的示例将会是包括Y′(主要分量)、Cb(次要分量)、Cr(次要分量)分量的第一分量集、以及包括掩膜(主要分量)和深度(次要分量)通道的第二分量集

注释6:分量可被称为“彩色平面”

实施例12:分离分量的情况下的信令和逻辑

在一个实施例中,分量被用信号通知为分离分量或非分离分量。借助于对结构sps_active_tools_set的解析,应用了用于描述与分离或非分离分量的编解码相关联的激活工具的状态的方法。

所述方法的一个优点是,一些编解码工具在其被已知对于给定的分量类型是低效的时,可能会被去激活(例如,这可能被约束在配置文件中)。下表提供了语法示例,其中语法变化以灰色突出显示。

根据设计,如果非主要分量未被标记为分离,则其是次要分量(例如,Y)。如上所述,在第一次出现sps_active_tools_set()时指示针对主要和次要分量被激活的工具集。典型示例是“Y′CbCr+depth”视频信号,其中Y′、Cb和Cr分量是非分离分量,但深度分量是分离分量。

图18描绘了根据实施例的解码处理的简化框图。在步骤1001中,解码与工具激活相关的语法元素。其至少适用于主要分量。在步骤1002中,执行对剩余分量(索引为i,i大于1,i=0对应于主要分量)的循环。在步骤1003中,解码标志separate_cmp_flag[i]。在步骤1004中检查该标志的值。如果该标志等于真,则应用步骤1005。步骤1005执行针对分量i的与工具激活相关的语法元素的解码。如果该标志等于假,则步骤1001中解码的与工具激活相关的语法元素适用于分量i。最终步骤1006对应于利用基于解码的语法元素并且可能基于在比序列级别更低的级别控制工具的附加低级语法元素来激活或去激活工具,进行解码处理。

sps_active_tools_set()的示例

sps_active_tools_set()的典型示例定义如下:

注意,上表中描述的语法元素可以由分量索引来进行索引。

存在涉及分量间依赖性的特定工具,这意味着至少一个分量的解码处理涉及访问来自另一个分量的样本。一个示例是跨分量线性模型(CCLM)工具,其被用于根据亮度样本预测色度样本。

实施例13:相关分量情况下的信令和逻辑

当一些分量是非分离的时,其对应的用于控制工具激活/去激活的高级语法元素(例如,存在于SPS、PPS...中)可以仅被分组在一个集合中。

主要和次要分量在解码处理期间存在依赖关系;例如:

-对于帧间条带或帧间CTU:所有分量都被认为是非分离的(例如,针对所有分量,运动补偿被在同一阶段期间用信号通知并完成)。

-对于帧内条带:当禁用了C_CST(色度分离树)或任何其他帧间分量间工具时,分量被认为是非分离的,或者当启用了C_CST或任何其他分量间工具时,分量被认为是分离的(从Y分量到UV分量仍存在一些关系)。这尤其适用于使用对来自同位亮度数据的色度数据的预测的工具。

为了描述这些关系,提出了以下语法:

当primary_cmp_id_plus1[i]的值等于0时,索引i的分量被认为是主要分量。默认情况下,第一个分量(索引0)是主要分量。如果该值不是0,则其指示主要分量被该次要分量使用。用信号通知针对分量的编解码工具的激活状态的语法元素被存储在sps_active_tools_set()中。如果需要,使用decode_inter_components_tools_flags(i)来解析与分量之间关系相关的工具。

典型示例是YUV格式,其中Y是主要分量,UV是次要分量。

number_of_components_group_minus[i]指定主要分量i所属的分量集中的分量数目。如果相关分量组有多于一个分量,则解码分量间工具相关的标志。

例如,在4:2:0(非分离)YUV格式的情况下,为所考虑的语法元素获得以下值:

针对包含YUV+Depth的多通道比特流的值的另一示例由下表给出:

下表给出了decode_inter_components_tools_flags语法的示例:

decode_inter_components_tools_flags中的标志启用或禁用使用来自主要分量的数据的模式。

例如,lm_chroma_mode允许使用CCLM工具根据主要分量预测分量。标志separate_chroma_tree允许在帧内条带中具有分离的树以用于编解码当前分量。当标志separate_chroma_tree为真时,假设除主要分量之外的所有分量都被分组在一起(即,共享同一树)。对于其他情况,次要分量与主要分量使用相同的信令。

附加次要分量语法

表4、附加次要分量语法

在变型中,表4中描述的语法被添加到语法。

第一个标志CABAC_dependency用信号通知主要和次要分量在CABAC熵解码处理期间是否共享一些依赖性。如果否,则意味着整个主要分量可以独立于次要分量进行解析。

标志chroma_separate_tree_inter用信号通知帧间条带/CTU是否使用了类似于当前用于帧内条带/CTU的chroma_separate_tree的分离树。如果该标志为真,则附加标志inter_direct_mode指示次要分量是否可以从主要分量推导出一些帧间数据(通常是同位运动信息)。

标志reduced_tools_set_chroma指示次要分量是否使用了缩减的工具集。例如,在当前版本中,缩减的工具集为:

-较少数目的帧内方向

-较少数目的可能变换类型(MTS)

-等等。

实施例14:次要分量工具的更精细控制

在分量集中,分量与工具状态之间的关系可能需要更准确地描述和/或可能依赖于分量。在这种情况下,读取为每个次要分量分配的附加标志separate_tools_flag。此标志指示是否为该次要分量插入了特定的工具控制语法元素。如果该标志为真,则(使用对decode_tools_flags()的调用)为该次要分量解析工具启用/禁用标志。

下面给出了相关联的语法:

在这种情况下,次要分量被分组在一起,并共享分量间工具的相同标志。

次要分量关系

更一般的方法是完整地描述工具的分量间关系。该优点是允许拥有非分离分量组,其中常规(非分量间)工具和分量间工具状态(激活/去激活)都是针对每个分量定制的。

下面给出了相关联的语法的示例:

在该变型中,为了简单起见,对分量0参数的解码已被放在分量的循环内。

对于给定的分量,当separate_tools_flag为真时,解码针对分量的分量间工具语法元素(调用decode_inter_components_tools_flags_2(i))。此外,当标志custom_decode_flag为真时,可能有控制该分量的非分量间工具的特定语法元素。

decode_inter_components_tools_flags_2标志执行如下操作:

对于分离分量,如果工具间分量被激活,则在比特流中读取要继承的分量(语法元素component_to_inherit_from)。分量的继承意味着:

-如果chroma_separate_tree为假,则分量的树被与由component_to_inherit_from指定的分量共享

-对于其他工具(CPR、LM等),如果与模式相关联的标志为真,则数据(运动向量预测器、像素样本等)是从由component_to_inherit_from指定的分量继承的

当separate_tools_flag为假时,分量间工具被设置为真,除了分离的chroma_separate_tree被设置为假。

读取用于定制非分量间工具的附加标志,以便决定分量是否可以单独地定制每个工具。如果标志为假,则使用相关联的主要分量的标志。

本发明可以提供编解码增益,即,对于相同的比特率,提高质量,或者对于相同的质量,降低比特率,这是因为其允许精确地描述相同时间数据的分量之间的关系。

图19中示出了在这里描述的一般方面下的方法1900的一个实施例。该方法开始于开始框1901,并且控制前进到框1910,以将与至少一个编解码工具相关联的语法插入视频比特流中。控制从框1910前进到框1920,以基于插入比特流中的高级语法来有条件地将对于编解码工具的一个或多个控制插入比特流中。控制从框1920前进到框1930,以基于所述一个或多个控制来激活对应于视频分量的一个或多个编解码工具。控制从框1930前进到框1940,以使用激活的编解码工具对视频比特流进行编码。

图20示出了在这里描述的一般方面下的方法2000的一个实施例。该方法开始于开始框2001,并且控制前进到框2010,以解析视频比特流得到与至少一个视频编解码工具相关联的语法。控制从框2010前进到框2020,以基于视频比特流语法来确定对于编解码工具的一个或多个控制。控制从框2020前进到框2030,以基于控制的确定来激活对应于视频分量的一个或多个编解码工具。控制从框2030前进到框2040,以使用激活的编解码工具来解码视频比特流。

图21示出了装置2100的一个实施例,该装置2100用于使用基于依赖于相邻样本的参数模型简化编解码模式来编码、解码、压缩或解压缩视频数据。该装置包括处理器2110,并且可以通过至少一个端口与存储器2120互连。处理器2110和存储器2120两者也可以具有到外部连接的一个或多个附加互连。

处理器2110还被配置为在比特流中插入或接收信息,并且使用所描述的方面中的任何一个来压缩、编码或解码。

本申请描述了各种方面,包括工具、特征、实施例、模型、方法等。这些方面中的许多方面被具体地描述,并且至少为了显示各自特性而通常被以听起来可能是限制性的方式进行描述。然而,这是出于描述清楚的目的,而并不限制那些方面的应用或范围。事实上,所有不同的方面都可以被组合和互换以提供进一步的方面。此外,这些方面也可以与更早的文件中描述的方面相结合和互换。

本申请中描述和预期的方面可以以多种不同的形式实现。图1、2和17提供了一些实施例,但是可以预期其他实施例,并且图1、2和17的讨论并不限制实现方式的广度。这些方面中的至少一个通常涉及视频编码和解码,并且至少一个其他方面通常涉及传送生成或编码的比特流。这些和其他方面可以被实现为方法、装置、其上存储有用于根据所述方法中的任何一个来对视频数据进行编码或解码的指令的计算机可读存储介质、和/或其上存储有根据所述方法中的任何一个生成的比特流的计算机可读存储介质。

在本申请中,术语“重构”和“解码”可以互换使用,术语“像素”和“样本”可以互换使用,术语“图像”、“画面”和“帧”可以互换使用。通常,但不是必须的,将术语“重构”用于编码器侧,而将“解码”用于解码器侧。

本文描述了各种方法,并且这些方法中的每一种都包括用于实现所述方法的一个或多个步骤或动作。除非该方法的正确操作需要步骤或动作的特定顺序,否则特定步骤和/或动作的顺序和/或使用可以被修改或组合。

本申请中描述的各种方法和其他方面可以用于修改模块,例如,如图1和图2所示的视频编码器100和解码器200的帧内预测、熵编解码和/或解码模块(160、360、145、330)。此外,本方面不限于VVC或HEVC,并且可以应用于例如其他标准和建议(无论是现有的还是未来开发的)、以及任何这种标准和建议(包括VVC和HEVC)的扩展。除非另有说明,或者技术上被排除,否则本申请中描述的各方面可以单独使用或者组合使用。

在本申请中使用了各种数值。特定值是为了示例的目的,并且所描述的方面不限于这些特定值。

图1示出了编码器100。预期了该编码器100的变型,但是为了清楚起见,下面描述了编码器100而未描述所有预期的变型。

在经编码之前,视频序列可以经过预编码处理(101),例如,对输入彩色画面应用颜色变换(例如,从RGB 4:4:4转换为YCbCr 4:2:0),或者执行输入画面分量的重新映射,以便获得对压缩更有弹性的信号分布(例如使用颜色分量之一的直方图均衡)。可将元数据与预处理相关联,并将元数据附加到比特流。

在编码器100中,由编码器元件对画面进行编码,如下所述。例如以CU为单位对要编码的画面进行分区(102)和处理。使用例如帧内或者帧间模式对每个单元进行编码。当以帧内模式对单元进行编码时,其执行帧内预测(160)。在帧间模式中,执行运动估计(175)和补偿(170)。编码器判断(105)使用帧内模式或帧间模式中的哪一个用于对单元进行编码,并通过例如预测模式标志来指示该帧内/帧间判断。例如,通过从原始图像块中减去(110)预测块,来计算预测残差。

然后对预测残差进行变换(125)和量化(130)。对经量化的变换系数、以及运动向量和其他语法元素进行熵编解码(145)以输出比特流。编码器可以跳过变换,并对未变换的残差信号直接应用量化。编码器可以绕过变换和量化两者,即,直接对残差进行编解码,而不应用变换或量化处理。

编码器对已编码的块进行解码,以为进一步的预测提供参考。对量化的变换系数进行逆量化(140)并进行逆变换(150)以解码预测残差。在组合(155)经解码的预测残差和预测块的情况下,重构图像块。环内滤波器(165)被应用于重构的画面,以执行例如解块/SAO(样本自适应偏移)滤波以减少编码伪像。滤波后的图像存储在参考画面缓冲器(180)中。

图2示出了视频解码器200的框图。在解码器200中,由解码器元件对比特流进行解码,如下所述。视频解码器200通常执行与图1中描述的编码过程相反(reciprocal)的解码过程。编码器100通常还执行视频解码作为对视频数据进行编码的一部分。

具体地,解码器的输入包括视频比特流,其可以由视频编码器100生成。首先对该比特流进行熵解码(230)以获得变换系数、运动向量和其他编解码信息。画面分区信息指示如何对画面进行分区。因此,解码器可以根据经解码的画面分区信息来对画面进行划分(235)。对变换系数进行逆量化(240)和逆变换(250)以解码预测残差。通过组合(255)经解码的预测残差和预测块,重构图像块。可以从帧内预测(260)或运动补偿预测(即,帧间预测)(275)中获得(270)预测块。对重构的图像应用环内滤波器(265)。将经滤波的图像存储在参考画面缓冲器(280)中。

经解码的图像可以进一步经过后解码处理(285),例如逆颜色变换(例如,从YCbCr4:2:0转换为RGB 4:4:4)、或执行在预编码处理(101)中所执行的重新映射处理的逆过程的逆重新映射。后解码处理可以使用从预编码处理中推导出并在比特流中用信号通知的元数据。

图17示出了其中实现了各个方面和实施例的系统的示例的框图。系统1000可以被实施为包括以下描述的各种组件的设备,并且被配置为执行本文档中描述的各方面中的一个或多个。这种设备的示例包括但不限于各种电子设备,诸如个人计算机、膝上型计算机、智能电话、平板计算机、数字多媒体机顶盒、数字电视接收机、个人视频记录系统、连接的家用电器、以及服务器。系统1000的元件可以单独或组合地实施在单个集成电路(IC)、多个IC、和/或分立元件中。例如,在至少一个实施例中,系统1000的处理和编码器/解码器元件被分布在多个IC和/或分立元件上。在各种实施例中,系统1000经由例如通信总线或通过专用输入和/或输出端口来通信地耦接到一个或多个其他系统或其他电子设备。在各种实施例中,系统1000被配置为实现本文档中描述的各方面中的一个或多个。

系统1000包括至少一个处理器1010,其被配置为执行加载在其中的用于实现例如本文档中描述的各个方面的指令。处理器1010可以包括嵌入式存储器、输入输出接口、和本领域已知的各种其他电路。系统1000包括至少一个存储器1020(例如,易失性存储器件和/或非易失性存储器件)。系统1000包括储存设备1040,该储存设备1040可以包括非易失性存储器和/或易失性存储器,包括但不限于电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、可编程只读存储器(PROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,储存设备1040可以包括内部储存设备、附加储存设备(包括可拆卸和不可拆卸储存设备)和/或网络可访问储存设备。

系统1000包括编码器/解码器模块1030,其被配置为例如处理数据以提供编码的视频或解码的视频,并且编码器/解码器模块1030可以包括其自己的处理器和存储器。编码器/解码器模块1030表示可以被包括在设备中以执行编码和/或解码功能的(多个)模块。如已知的,设备可以包括编码和解码模块中的一者或两者。此外,编码器/解码器模块1030可以被实现为系统1000的分离元件,或者可以作为本领域技术人员已知的硬件和软件的组合被合并在处理器1010内。

要加载到处理器1010或编码器/解码器1030上以执行本文档中描述的各个方面的程序代码可以被存储在储存设备1040中,并随后加载到存储器1020上以供处理器1010运行。根据各种实施例,处理器1010、存储器1020、储存设备1040和编码器/解码器模块1030中的一个或多个可以在执行本文档中描述的处理期间存储各种项目中的一个或多个。这种存储的项目可以包括但不限于输入视频、解码视频或解码视频中的部分、比特流、矩阵、变量、以及来自等式、公式、运算和运算逻辑的处理的中间或最终结果。

在一些实施例中,处理器1010和/或编码器/解码器模块1030内部的存储器用于存储指令,并为编码或解码期间所需的处理提供工作存储器。然而,在其他实施例中,可以使用处理设备(例如,处理设备可以是处理器1010或编码器/解码器模块1030)外部的存储器用于这些功能中的一个或多个。外部存储器可以是存储器1020和/或储存设备1040,例如动态易失性存储器和/或非易失性闪存。在几个实施例中,使用外部非易失性闪存来存储例如电视的操作系统。在至少一个实施例中,诸如RAM的快速外部动态易失性存储器被用作用于视频编码和解码操作(诸如用于MPEG-2(MPEG是指动态图像专家组,MPEG-2也被称为ISO/IEC 13818,而13818-1也被称为H.222,并且13818-2也被称为H.262)、HEVC(HEVC是指高效视频编解码,也被称为H.265和MPEG-H Part 2)、或VVC(通用视频编解码,联合视频专家小组JVET正在开发的新标准))的工作存储器。

如框1130中所示,可以通过各种输入设备提供到系统1000的元件的输入。这种输入设备包括但不限于:(i)接收例如由广播电台通过空中传送的射频(RF)信号的RF部件、(ii)组件(COMP)输入端(或COMP输入端集合)、(iii)通用串行总线(USB)输入端、和/或(iv)高清晰度多媒体接口(HDMI)输入端。图17中未示出的其他示例包括复合视频。

在各种实施例中,框1130的输入设备具有相关联的相应的本领域已知的输入处理元件。例如,RF部件可以与适用于以下操作的元件相关联:(i)选择期望的频率(也称为选择信号,或者将信号频带限制到频带),(ii)下变频所选择的信号,(iii)再次频带限制到较窄的频带,以选择(例如)信号频带(在某些实施例中可以称为信道),(iv)解调经下变频和频带限制的信号,(v)执行纠错,以及(vi)解复用以选择期望的数据分组的流。各种实施例的RF部件包括执行这些功能的一个或多个元件,例如频率选择器、信号选择器、频带限制器、信道选择器、滤波器、下变频器、解调器、误差校正器、和解复用器。RF部件可以包括执行各种各样的这些功能的调谐器,这些功能包括例如将接收信号下变频至较低频率(例如,中频或近基带频率)或基带。在一个机顶盒实施例中,RF部件及其相关联的输入处理元件接收通过有线(例如,电缆)介质传送的RF信号,并通过滤波、下变频和再次滤波至期望的频带来执行频率选择。各种实施例重新排列上述(和其他)元件的顺序,移除这些元件中的一些,和/或添加执行类似或不同的功能的其他元件。添加元件可以包括在现有元件之间插入元件,例如,插入放大器和模数转换器。在各种实施例中,RF部件包括天线。

此外,USB和/或HDMI终端可以包括相应的接口处理器,用于通过USB和/或HDMI连接将系统1000连接至其他电子设备。应当理解,可以根据需要在例如单独的输入处理IC内或处理器1010内实现输入处理的各个方面,例如里德-所罗门纠错。类似地,可以根据需要在单独的接口IC内或处理器1010内实现USB或HDMI接口处理的各方面。将经解调、纠错和解复用的流提供至各种处理元件,包括例如处理器1010、和编码器/解码器1030,其与存储器和储存元件组合操作以根据需要处理数据流用于在输出设备上呈现。

可以将系统1000的各种元件设置在集成外壳内。在集成外壳内,各种元件可以使用合适的连接布置1140(例如,本领域已知的内部总线,包括IC间(I2C)总线、布线、和印刷电路板)互连并在其间传送数据。

系统1000包括使能经由通信信道1060与其他设备通信的通信接口1050。通信接口1050可以包括但不限于被配置为通过通信信道1060传送和接收数据的收发器。通信接口1050可以包括但不限于调制解调器或网卡,并且通信信道1060可以在例如有线和/或无线介质内实现。

在各种实施例中,使用诸如Wi-Fi网络的无线网络(例如IEEE 802.11(IEEE指电气和电子工程师协会)),将数据流传输或以其他方式提供至系统1000。这些实施例的Wi-Fi信号是通过适于Wi-Fi通信的通信信道1060和通信接口1050来接收的。这些实施例的通信信道1060通常被连接至提供对包括互联网的外部网络的接入的接入点或路由器,用于允许流传输应用和其他过顶通信(over-the-top communication)。其他实施例使用机顶盒向系统1000提供流传输的数据,机顶盒通过输入框1130的HDMI连接传送数据。还有其他实施例使用输入框1130的RF连接向系统1000提供流传输的数据。如上所述,各种实施例以非传输方式提供数据。此外,各种实施例使用除Wi-Fi外的无线网络,例如蜂窝网络或蓝牙网络。

系统1000可以向各种输出设备提供输出信号,输出设备包括显示器1100、扬声器1110和其他外围设备1120。各种实施例的显示器1100包括例如触摸屏显示器、有机发光二极管(OLED)显示器、弯曲显示器、和/或可折叠显示器中的一个或多个。显示器1100可以用于电视机、平板电脑计算机、膝上型计算机、蜂窝电话(移动电话)、或其他设备。显示器1100也可以与其他组件集成(例如,如在智能电话中),或者分离(例如,膝上型计算机的外部监视器)。在实施例的各种示例中,其他外围设备1120包括独立运行的数字视频盘(或数字多功能盘)(对于两个术语均为DVR)、盘播放器、立体声系统、和/或照明系统中的一个或多个。各种实施例使用基于系统1000的输出提供功能的一个或多个外围设备1120。例如,盘播放器执行播放系统1000的输出的功能。

在各种实施例中,使用诸如AV.Link、消费电子控制(CEC)、或在有或没有用户干预的情况下使能设备到设备的控制的其他通信协议的信令来在系统1000和显示器1100、扬声器1110、或其他外围设备1120之间传送控制信号。输出设备可以通过相应的接口1070、1080和1090经由专用的连接通信地耦合至系统1000。可替代地,输出设备可以使用通信信道1060经由通信接口1050连接至系统1000。在电子设备(例如,电视机)中,显示器1100和扬声器1110可以与系统1000的其他组件集成在单一单元中。在各种实施例中,显示接口1070包括显示驱动器,诸如,例如时序控制器(T Con)芯片。

显示器1100和扬声器1110可以可替代地与其他组件中的一个或多个分离,例如如果输入1130的RF部件是单独的机顶盒的部分。在显示器1100和扬声器1110是外部组件的各种实施例中,可以经由包括例如HDMI端口、USB端口、或COMP输出的专用输出连接来提供输出信号。

这些实施例可以通过由处理器1010实现的计算机软件、或通过硬件、或通过硬件和软件的组合来实现。作为非限制性示例,实施例可以由一个或多个集成电路来实现。作为非限制性示例,存储器1020可以是适合于技术环境的任何类型,并且可以使用任何适当的数据储存技术来实现,诸如光存储设备、磁存储设备、基于半导体的存储设备、固定存储器、和可移除存储器。作为非限制性示例,处理器1010可以是适合于技术环境的任何类型,并且可以包括微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一个或多个。

各种实现方式包括解码。本申请中使用的“解码”可以包含例如对接收的编码序列执行的全部或部分处理,以产生适于显示的最终输出。在各种实施例中,这种处理包括通常由解码器执行的处理中的一个或多个,例如熵解码、逆量化、逆变换和差分解码。在各种实施例中,这种处理也包括或者可替代地包括由本申请中描述的各种实现方式的解码器执行的处理。

作为进一步的示例,在一个实施例中,“解码”仅指代熵解码,在另一实施例中,“解码”仅指代差分解码,而在另一实施例中,“解码”指代熵解码和差分解码的组合。基于具体描述的上下文,短语“解码处理”旨在具体指代操作的子集还是泛指更广泛的解码处理将会是清楚的,并且被认为是由本领域技术人员完全理解的。

各种实现方式涉及编码。以类似于上面关于“解码”的讨论的方式,本申请中使用的“编码”可以包含例如对输入视频序列执行的全部或部分处理,以产生编码比特流。在各种实施例中,这种处理包括通常由编码器执行的处理中的一个或多个,例如分区、差分编码、变换、量化和熵编码。在各种实施例中,这种处理也包括或者可替代地包括由本申请中描述的各种实现方式的编码器执行的处理。

作为进一步的示例,在一个实施例中,“编码”仅指代熵编码,在另一实施例中,“编码”仅指代差分编码,而在另一实施例中,“编码”指代差分编码和熵编码的组合。基于具体描述的上下文,短语“编码处理”旨在具体指代操作的子集还是泛指更广泛的编码处理将会是清楚的,并且被认为是由本领域技术人员完全理解的。

注意,本文使用的语法元素是描述性术语。因此,其不排除对其他语法元素名称的使用。

当图被呈现为流程图时,应当理解其也提供了相应装置的框图。类似地,当图被呈现为框图时,应当理解其也提供了对应的方法/处理的流程图。

各种实施例可以指参数模型或速率失真优化。具体地,在编码处理期间,通常在给定计算复杂性的限制的情况下,考虑速率和失真之间的平衡或权衡。其可以通过速率失真优化(RDO)、或通过最小均方(LMS)、平均绝对误差(MAE)、或其他这种测量来度量。速率失真优化通常被表述为最小化速率失真函数,其是速率和失真的加权和。存在不同的方法来解决速率失真优化问题。例如,这些方法可以基于对所有编码选项(包括所有考虑的模式或编码参数值)的广泛测试,以及对其编码成本和编码与解码后重构信号的相关失真的完整评估。还可以使用更快的方法来节省编码复杂度,具体是基于预测或预测残差信号而不是重构信号来计算近似失真。也可以使用这两种方法的混合,诸如通过仅对可能的编码选项中的一些使用近似失真,而对其他编码选项使用完全失真。其他方法仅评估可能编码选项的子集。更一般地,许多方法采用多种技术中的任何一种来执行优化,但是优化不一定是对编码成本和相关失真两者的完整评估。

本文描述的实现方式和各方面可以例如以方法或处理、设备、软件程序、数据流、或信号来实现。即使仅在单一形式的实现方式的上下文中进行讨论(例如,仅作为方法讨论),所讨论的特征的实现方式也可以以其他形式(例如,设备或程序)来实现。设备可以例如以适当的硬件、软件和固件来实现。所述方法可以在例如处理器中实现,该处理器一般指代处理设备,包括例如计算机、微处理器、集成电路、或可编程逻辑器件。处理器还包括通信设备,诸如,例如计算机、手机、便携式/个人数字助理(“PDA”)、和有助于最终用户之间的信息通信的其他设备。

对“一个实施例”或“实施例”或“一种实现方式”或“实现方式”、及其其他变体的引用意味着结合实施例所描述的特定特征、结构、特性等等被包括在至少一个实施例中。因此,在本申请的各个地方出现的短语“在一个实施例中”或“在实施例中”或“在一种实现方式中”或“在实现方式中”、以及任何其他变体的出现并不一定全都指代相同的实施例。

此外,本申请可指代“确定”各条信息。确定信息可以包括例如估计信息、计算信息、预测信息、或从存储器中检索信息中的一个或多个。

此外,本申请可指代“访问”各条信息。访问信息可以包括例如接收信息、(例如,从存储器中)检索信息、存储信息、移动信息、复制信息、计算信息、确定信息、预测信息、或估计信息中的一个或多个。

此外,本申请可指代“接收”各条信息。与“访问”一样,接收意欲为广义的术语。接收信息可以包括例如访问信息、或(例如,从存储器中)检索信息中的一个或多个。此外,通常在诸如例如存储信息、处理信息、传送信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息、或估计信息的操作期间,以一种方式或另一方式涉及“接收”。

将会理解,例如在“A/B”、“A和/或B”和“A和B中的至少一个”的情况下,对以下“/”、“和/或”和“...中的至少一个”中的任何一个的使用意欲包含仅选择第一个列出的选项(A),或仅选择第二个列出的选项(B),或选择两个选项(A和B)。作为另一示例,在“A、B、和/或C”和“A、B、和C中的至少一个”的情况下,这种措辞意欲包含仅选择第一个列出的选项(A),或仅选择第二个列出的选项(B),或仅选择第三个列出的选项(C),或仅选择第一和第二个列出的选项(A和B),或仅选择第一和第三个列出的选项(A和C),或仅选择第二和第三个列出的选项(B和C),或者选择所有三个选项(A和B和C)。正如本领域和相关领域的普通技术人员所清楚的那样,这可以扩展到所列出的多个项目。

此外,如本文所使用的,“信号(signal)”一词除了其他事物以外是指向对应解码器指示某物。例如,在某些实施例中,编码器用信号通知多个变换、编解码模式或标志中的特定一个。以这种方式,在实施例中,在编码器侧和解码器侧均使用相同的变换、参数或模式。因此,例如,编码器可以向解码器传送(显式信令)特定参数,使得解码器可以使用相同的特定参数。相反,如果解码器已经具有特定参数以及其他参数,则可以使用信令而不传送(隐式信令)来简单地允许解码器知道并选择特定参数。通过避免任何实际功能的传输,在各种实施例中实现了比特节省。将会理解,信令可以以多种方式完成。例如,在各种实施例中,一个或多个语法元素、标志等被用于向对应的解码器发信号通知信息。虽然前面提到了“信号”一词的动词形式,但是“信号”一词在本文也可以用作名词。

对于本领域普通技术人员来说将显而易见的是,各实现方式可以产生各种信号,这些信号被格式化以携带可被例如存储或传送的信息。该信息可以包括,例如用于执行方法的指令、或由所述实现方式中的一种所产生的数据。例如,信号可以被格式化以携带所述实施例的比特流。这种信号可以被格式化为,例如电磁波(例如,使用谱的射频部分)或基带信号。格式化可以包括,例如对数据流进行编码并用经编码的数据流来调制载波。信号携带的信息可以是,例如模拟或数字信息。如已知的,可以通过各种不同的有线或无线链路来传送信号。可将信号存储在处理器可读介质上。

我们描述了跨越各种权利要求类别和类型的多个实施例。这些实施例的特征可以被单独地提供或者以任何组合的方式提供。此外,实施例可以单独地或者以任何组合的方式包括跨越各种权利要求类别和类型的以下特征、设备或方面中的一个或多个:

●限制编码器或解码器中工具激活或去激活的处理或设备。

●操作编码器或解码器中对高级语法或语义的限制、约束工具组合的可能集合的处理或设备。

●包括指定工具组合限制的语法或语义的处理或设备。

●在比特流中使用或插入语法来控制编码器或解码器中的分区处理。

●在比特流中使用或插入语法来控制编码器或解码器中的分区相关的处理。

●在比特流中使用或插入语法来控制编码器或解码器中的多假设预测工具。

●在比特流中使用或插入语法来控制编码器或解码器中的MTS(多核变换)处理。

●在比特流中使用或插入语法来控制编码器或解码器中的次级变换模式。

●在比特流中使用或插入语法来控制编码器或解码器中的递归变换树模式。

●在比特流中使用或插入语法来控制编码器或解码器中的跨分量线性模型或多方向线性模型模式。

●在比特流中使用或插入语法来控制编码器或解码器中的ATMVP(交替时间运动向量预测)模式。

●在比特流中使用或插入语法来控制编码器或解码器中的高精度运动向量编码工具。

●在比特流中使用或插入语法来控制编码器或解码器中的调色板模式、当前画面参考或分离亮度/色度树。

●在比特流中使用或插入语法来控制编码器或解码器中的依赖性量化或符号数据隐藏工具。

●在比特流中使用或插入语法来共同控制编码器或解码器中的分离亮度/色度树和跨分量线性模型/多方向线性模型。

●包括所描述的语法元素或其变型中的一个或多个的比特流或信号。

●包括传达根据所描述的实施例中的任何一个所生成的信息的语法的比特流或信号。

●根据所描述的实施例中的任何一个的创建和/或传送和/或接收和/或解码。

●根据所描述的实施例中的任何一个的方法、处理、装置、存储指令的介质、存储数据的介质、或信号。

●在信令中插入语法元素,该语法元素使解码器能够以与编码器使用的方式相对应的方式确定工具。

●创建和/或传送和/或接收和/或解码包括所描述的语法元素或其变型中的一个或多个的比特流或信号。

● TV、机顶盒、手机、平板计算机或其他电子设备,其执行根据所描述的实施例中的任何一个的变换方法(一种或多种)。

● TV、机顶盒、手机、平板计算机或其他电子设备,其执行根据所描述的实施例中的任何一个的变换方法(一种或多种)确定,并显示(例如,使用监视器、屏幕或其他类型的显示器)结果图像。

● TV、机顶盒、手机、平板计算机或其他电子设备,其选择、限制或调谐(例如,使用调谐器)频道以接收包括编码图像的信号,并执行根据所描述的实施例中的任何一个的变换方法(一种或多种)。

● TV、机顶盒、手机、平板计算机或其他电子设备,其通过空口接收(例如使用天线)包括编码图像的信号,并执行变换方法(一种或多种)。

相关技术
  • 管理编解码工具组合和限制
  • 端接装置、压接工具、工具组合和用于将导线端接至通信模块的方法
技术分类

06120113142376