一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

解码器、编码器和包括对帧内子分区进行编码的方法与流程

2022-02-25 18:07:49 来源:中国专利 TAG:


1.本技术涉及图片编码/解码或视频编码/解码。
2.介绍性说明
3.接下来,将描述不同的发明实施例和方面。
4.此外,其他的实施例将由所附权利要求限定。
5.应注意,由权利要求限定的任何实施例可以由以下实施例中描述的任何细节(特征和功能)来补充。
6.此外,实施例可以被单独使用,并且也可以由另一实施例中的任何特征或权利要求中包括的任何特征来补充。
7.此外,应注意,本文描述的各个方面可以单独使用或组合使用。因此,可以将细节添加到每个所述单个方面,而无需将细节添加到所述方面中的另一个。
8.还应注意,本公开明确或隐含地描述了可用于编码器(用于提供输入信号(例如图片或视频)的编码表示的装置)和解码器(用于基于编码表示提供信号的解码表示的装置)中的特征。因此,本文描述的任何特征可以在编码器的上下文和解码器的上下文中使用。
9.此外,本文公开的与方法相关的特征和功能也可以用于装置(被配置为执行这样的功能)。此外,本文公开的关于装置的任何特征和功能也可以用于相应的方法。换言之,本文公开的方法可以由关于设备描述的任何特征和功能来补充。
10.此外,如将在“实施备选方案”部分中描述的,本文描述的任何特征和功能可以以硬件或软件、或使用硬件和软件的组合来实现。


背景技术:

11.目前,为了对图片或视频进行编码或解码,存在对使用帧内子分区的块的编码限制。
12.本技术的主旨的目的是提供一种使用基于块的预测编码的视频编解码器,其具有改进的编码效率。期望得到用于使用帧内子分区的块的更灵活的编码构思或得到用于使用帧内子分区的块的备选编码构思。
13.这通过本技术的独立权利要求的主旨来实现。
14.根据本发明的其他实施例由本技术的从属权利要求的主旨限定。


技术实现要素:

15.根据第一方面,本技术的发明人意识到,当对使用帧内子分区(isp)的块进行编码或解码时遇到的一个问题源于当前在vtm-5.0帧内子分区中不能使用低频不可分离变换(lfnst)(即,次级变换)的事实。根据本技术的第一方面,通过使得能够在使用isp的块上使用次级变换,即通过允许在变换单元级别使用两级变换,来克服该困难。在帧内子分区上使用第一变换、以及主变换与次级变换的级联引入了附加语法元素,但发现这种附加信号通知开销由于主变换之后的次级变换能够更好地压缩非零系数的事实而被过度补偿,从而产
生减少的用于表示分区特定残差块的数据量。已经发现,通过对帧内子分区也使用次级变换,可以实现更高的编码效率和降低的比特率。在下文中,第二变换可以等于主变换与应用到第一变换的系数子集上的次级变换的级联。主变换可以是第一变换。实现针对帧内分区的第二变换可以与某些条件相关。在以下情况下,例如针对分区启用第二变换:没有非零变换系数(即,主变换的非零系数)在预定区域之外、和/或非零变换系数的数量等于或低于预定限制、和/或沿着从dc系数位置到最高频率系数位置的扫描路径的最后一个非零系数位置(由数据流中的最后位置语法元素指示)等于或低于另一预定阈值。
16.因此,根据本技术的第一方面,提出了一种用于对图片进行编码的编码器以及一种用于对图片进行解码的解码器。解码器/编码器被配置为:从/向图片被编码到其中的数据流中导出/编码图片以图片被细分成的块为粒度的到包括帧内预测和帧间预测的预测类型的集合的分配,使得每个块被分配给预测类型的集合中的相关联的预测类型。因此,图片的每个块例如被分配给帧内预测或帧间预测。该分配可以针对每个块定义预测类型。此外,解码器/编码器被配置为:针对分配了帧内预测的每个帧内预测块,从/向数据流中导出/编码帧内预测模式的集合中的相关联的帧内预测模式。
17.针对其相关联的帧内预测模式被包含在预定帧内预测模式的预定子集内的每个预定帧内预测块,所述解码器/编码器被配置为:从/向数据流中导出/编码关于该相应预定帧内预测块到分区的分割的信息。关于分割的信息可以指示水平拆分、竖直拆分或四拆分。此外,针对每个预定帧内预测块,编码器/解码器被配置为以取决于分配给该相应预定帧内预测块的预定帧内预测模式的方式,对该相应预定帧内预测块的每个分区进行帧内预测。该相应预定帧内预测块的预定帧内预测模式可以由预定帧内预测块的帧内预测模式的集合中的帧内预测模式表示。针对该相应预定帧内预测块的每个分区,可以使用相同的帧内预测模式(即,预定帧内预测模式)进行帧内预测。预定帧内预测模式的预定子集是例如帧内预测模式的集合的子集。针对每个预定帧内预测块,预定帧内预测模式的预定子集定义了例如该相应预定帧内预测块的帧内预测模式的集合中最可能的帧内预测模式的列表。
18.解码器/编码器被配置为:针对每个块,通过导出/编码每个预定帧内预测块的预测残差,从/向数据流中导出/编码关于该相应块的预测残差的信息,其中通过以下方式导出/编码每个预定帧内预测块的预测残差:针对该相应预定帧内预测块的每个分区,经由预定变换从/向数据流中导出/编码与该相应预定帧内预测块的该相应分区的空域预测残差信号相关的分区特定预测残差信号。针对该相应预定帧内预测块的每个分区,分区特定预测残差信号可以在变换域中。此外,解码器/编码器被配置为:针对每个块,通过导出/编码每个预定帧内预测块的预测残差,从/向数据流中导出/编码关于该相应块的预测残差的信息,通过以下方式导出/编码每个预定帧内预测块的预测残差:从/向数据流中导出/编码标识变换的集合中的预定变换的信息,该变换的集合包括第一变换和第二变换,该第二变换等于主变换与应用到主变换的系数子集上的次级变换的级联。主变换可以是第一变换。在这种情况下,第二变换可以等于第一变换与应用到第一变换的系数子集上的次级变换的级联。在预定变换是第二变换的情况下,解码器/编码器可以被配置为单独使用主变换和次级变换、或使用将主变换和次级变换组合的一个变换,这导致相同的结果。备选地,预定变换是第一变换,并且该相应分区的预定变换不包括次级变换。解码器/编码器可以被配置为:通过读取/传输在数据流中传输的针对该相应预定帧内预测块的变换语法元素,从/向数据
流中导出/编码标识变换的集合中的预定变换的信息。标识变换的集合中的预定变换的信息可以是指向变换的列表的索引,其中,变换的列表可以等于变换的集合或包括变换的集合的子集。解码器变换集合中包括的变换可以是编码器变换集合中包括的变换的逆变换。
19.此外,解码器被配置为使用关于该相应块的预测残差的信息和使用分配给该相应块的预测类型而获得的预测信号来重构每个块。针对由编码器编码的每个块,该相应块是可使用关于该相应块的预测残差的信息和使用分配给该相应块的预测类型而获得的预测信号进行重构的。
20.可以针对该相应预定帧内预测块或针对该相应预定帧内预测块的每个分区单独地导出/编码标识变换的集合中的预定变换的信息。换言之,解码器/编码器可以被配置为逐分区地或块全局地执行从/向数据流中导出/编码标识变换的集合中的预定变换的信息。如果该信息是块全局地导出/编码的,则针对该相应预定帧内预测块的每个分区,预定变换是相同的。
21.根据实施例,可以通过以下方式,导出/编码标识变换的集合中的预定变换的信息:从/向数据流中读取/传输在数据流中(传输)的针对该数据流中的该相应预定帧内预测块的次级变换标志,该次级变换标志指示预定变换是第一变换还是第二变换。该次级变换标志可以块全局地指示是否使用第二变换。在指示使用第二变换的情况下,解码器/编码器可以被配置为通过针对每个分区导出/编码针对该相应分区的标识第二变换的信息来导出/编码标识预定变换的信息。标识第二变换的信息可以指示主变换和/或次级变换。如果不能默认地或基于相关联的帧内预测模式、块维度尺寸(block dimensions)、分区维度尺寸(partition dimensions)、分区处理排序和/或分割来设置或选择主变换和/或次级变换,则标识第二变换的信息可以从数据流中导出/用信号通知到数据流中。根据实施例,基于标识第二变换的信息来设置主变换并选择次级变换,或基于标识第二变换的信息来设置次级变换并选择主变换。
22.根据第二方面,本技术的发明人意识到,当对块进行分割时遇到的一个问题源于帧内子分区(isp)的当前设计仅允许使用导致分区具有不同的水平和竖直维度尺寸的水平拆分或竖直拆分的事实。根据本技术的第二方面,通过引入在水平和竖直维度尺寸二者上对块进行四拆分来克服该困难。这种四拆分可以产生具有相同的水平维度尺寸和竖直维度尺寸的分区。因此可以实现相同大小的分区。与仅在水平和竖直拆分之中进行选择相比,通过必须区分水平拆分、竖直拆分和四拆分,引入可以被称为四拆分的第三分割需要增加的信号通知开销,因而可能需要附加语法元素或具有增加的状态数量的语法元素,但已发现可以实现更高的编码效率和降低的比特率。
23.因此,根据本技术的第二方面,提出了一种用于对图片进行编码的编码器以及一种用于对图片进行解码的解码器。解码器/编码器被配置为:从/向图片被编码到其中的数据流中导出/编码图片以图片被细分成的块为粒度的到包括帧内预测和帧间预测的预测类型的集合的分配,使得每个块被分配给预测类型的集合中的相关联的预测类型。因此,图片的每个块例如被分配给帧内预测或帧间预测。该分配可以针对每个块定义预测类型。此外,解码器/编码器被配置为:针对分配了帧内预测的每个帧内预测块,从/向数据流中导出/编码帧内预测模式的集合中的相关联的帧内预测模式。
24.针对其相关联的帧内预测模式被包含在预定帧内预测模式的预定子集中的每个
预定帧内预测块,解码器/编码器被配置为:从/向数据流中导出/编码标识分割模式的集合中的该相应预定帧内预测块到分区的分割的信息,所述分割模式的集合包括:第一分割、第二分割、以及第三分割,其中根据该第一分割,该相应预定帧内预测块被水平拆分,使得该相应预定帧内预测块的分区成为与该相应预定帧内预测块一样宽;根据该第二分割,该相应预定帧内预测块被竖直拆分,使得该相应预定帧内预测块的分区成为与该相应预定帧内预测块一样高;以及根据该第三分割,该相应预定帧内预测块被水平以及竖直拆分,使得该相应预定帧内预测块的分区以分区行和分区列布置。在水平拆分下,该相应预定帧内预测块沿着竖直维度(vertical dimension)被分割,产生n个分区,该n个分区具有与该相应预定帧内预测块相同的水平大小、和等于该相应预定帧内预测块的竖直大小的1/n的减小的竖直大小。在竖直拆分下,该相应预定帧内预测块沿着水平维度(horizontal dimension)被分割,产生n个分区,该n个分区具有与该相应预定帧内预测块相同的竖直大小、和等于该相应预定帧内预测块的水平大小的1/n的减小的水平大小。在第三分割下,该相应预定帧内预测块可以沿着水平维度被分割成n个部分、以及沿着竖直维度被分割成n个部分,产生n2个分区,该n2个分区具有等于该相应预定帧内预测块的水平大小的1/n的减小的水平大小、以及等于该相应预定帧内预测块的竖直大小的1/n的减小的竖直大小。
25.此外,解码器/编码器被配置为:针对其相关联的帧内预测模式被包含在预定帧内预测模式的预定子集中的每个预定帧内预测块,以取决于分配给该相应预定帧内预测块的预定帧内预测模式的方式,对该相应预定帧内预测块的每个分区进行帧内预测。
26.此外,解码器/编码器被配置为:针对每个块,通过导出/编码每个预定帧内预测块的预测残差,从/向数据流中导出/编码关于该相应块的预测残差的信息,其中通过以下方式导出/编码每个预定帧内预测块的预测残差:针对该相应预定帧内预测块的每个分区,经由预定变换从/向数据流中导出/编码与该相应预定帧内预测块的该相应分区的空域预测残差信号相关的分区特定预测残差信号。
27.此外,解码器被配置为使用关于该相应块的预测残差的信息和使用分配给该相应块的预测类型而获得的预测信号来重构每个块。针对由编码器编码的每个块,该相应块是可使用关于该相应块的预测残差的信息和使用分配给该相应块的预测类型而获得的预测信号进行重构的。
28.根据第三方面,本技术的发明人意识到,当使用帧内子分区(isp)对块进行编码或解码时遇到的一个问题源于帧内子分区(isp)的当前设计仅允许针对块的所有分区使用相同的帧内预测模式的事实。根据本技术的第三方面,通过针对预定帧内预测块的每个分区使用预定规则确定分区特定帧内预测模式来克服该困难。根据预定规则,基于块全局帧内预测模式来确定分区特定帧内预测模式。利用该特征,可以在对块进行帧内预测时考虑块的分区之间的局部变化。针对每个分区进行单独帧内预测的确定由数据流中的信息指导,该信息例如是指示使用单独帧内预测模式的附加语法元素和/或指示规则的集合中的预定规则的附加语法元素,尽管有与其相关联的附加信号通知开销,但已发现可以实现更高的编码效率和编码质量。
29.因此,根据本技术的第三方面,提出了一种用于对图片进行编码的编码器以及一种用于对图片进行解码的解码器。解码器/编码器被配置为:从/向图片被编码到其中的数据流中导出/编码图片以图片被细分成的块为粒度的到包括帧内预测和帧间预测的预测类
型的集合的分配,使得每个块被分配给预测类型的集合中的相关联的预测类型。因此,图片的每个块例如被分配给帧内预测或帧间预测。该分配可以针对每个块定义预测类型。此外,解码器/编码器被配置为:针对分配了帧内预测的每个帧内预测块,从/向数据流中导出/编码帧内预测模式的集合中的相关联的帧内预测模式。
30.针对其相关联的帧内预测模式被包含在预定帧内预测模式的预定子集中的每个预定帧内预测块,解码器/编码器被配置为:从/向数据流中导出/编码关于该相应预定帧内预测块到分区的分割的信息,以及从/向数据流中导出/编码标识规则的集合中的预定规则的信息,使用该预定规则,针对该相应预定帧内预测块的每个分区,基于该相应预定帧内预测块的相关联的帧内预测模式,从预定帧内预测模式的预定子集中确定分区特定帧内预测模式。预定帧内预测模式的预定子集中的预定帧内预测模式可以例如在列表中被排序。有可能将相似的帧内预测模式组成一组。使用预定规则,针对每个分区,可以确定列表中接近块全局预定帧内预测模式的预定帧内预测模式。因此,可以针对每个分区考虑帧内预测模式的局部变化。此外,解码器/编码器被配置为:针对其相关联的帧内预测模式被包含在预定帧内预测模式的预定子集中的每个预定帧内预测块,使用针对该相应预定帧内预测块的每个分区确定的分区特定帧内预测模式来对该相应分区进行帧内预测。
31.此外,解码器/编码器被配置为:针对每个块,通过导出/编码每个预定帧内预测块的预测残差,从/向数据流中导出/编码关于该相应块的预测残差的信息,其中通过以下方式导出/编码每个预定帧内预测块的预测残差:针对该相应预定帧内预测块的每个分区,经由预定变换从数据流中导出/编码与该相应预定帧内预测块的该相应分区的空域预测残差信号相关的分区特定预测残差信号。
32.此外,解码器被配置为使用关于该相应块的预测残差的信息和使用分配给该相应块的预测类型而获得的预测信号来重构每个块。针对由编码器编码的每个块,该相应块是可使用关于该相应块的预测残差的信息和使用分配给该相应块的预测类型而获得的预测信号进行重构的。
附图说明
33.附图不一定按照比例绘制,相反重点通常在于示出本发明的原理。在以下描述中,参考以下附图描述本发明的各种实施例,其中:
34.图1示出了编码器的示意图;
35.图2示出了解码器的示意图;
36.图3示出了由解码器基于块来重构图片的示意图;
37.图4示出了根据实施例的针对要进行解码的图片的块的每个分区的次级变换的使用的示意图;
38.图5示出了根据实施例的位于图片的块的分区中的非零变换域区域的示意图;
39.图6示出了根据实施例的对图片的块的第三分割的使用的示意图;
40.图7示出了根据实施例的分区特定帧内预测模式的使用的示意图;
41.图8示出了根据实施例的分区特定角度帧内预测模式的使用的示意图;
42.图9示出了根据实施例的针对要进行解码的图片的块的每个分区使用次级变换来对图片进行解码的方法的框图;
43.图10示出了根据实施例的针对要进行编码的图片的块的每个分区使用次级变换来对图片进行编码的方法的框图;
44.图11示出了根据实施例的针对图片的块使用第三分割来对图片进行解码的方法的框图;
45.图12示出了根据实施例的针对图片的块使用第三分割来对图片进行编码的方法的框图;
46.图13示出了根据实施例的针对图片的块使用分区特定帧内预测模式来对图片进行解码的方法的框图;
47.图14示出了根据实施例的针对图片的块使用分区特定帧内预测模式来对图片进行编码的方法的框图;以及
48.图15示出了根据实施例的编码单元语法。
具体实施方式
49.即使附图标记出现在不同的图中,在以下描述中,通过相同或等同附图标记来表示相同或等同元件或具有相同或等同功能的元件。
50.在以下描述中,阐述了多个细节以提供对本发明的实施例的更透彻的解释。然而,本领域技术人员将清楚的是,可以在没有这些具体细节的情况下实践本发明的实施例。在其他实例中,以框图形式而不是具体地示出了公知的结构和设备,以避免对本发明的实施例造成混淆。此外,除非另外具体指示,否则下文所述的不同实施例的特征可以彼此组合。
51.附图的以下描述开始于对基于块的预测编解码的编码器和解码器的描述的呈现,基于块的预测编解码用于对视频的图片进行编码以形成本发明的实施例可以在其中内置的编码框架的示例。图1至图3描述了相应的编码器和解码器。在下文中,关于图4至图8,本发明的构思的实施例的描述连同如何将这些构思分别构建到图1和图2的编码器和解码器中的描述一起呈现,尽管使用随后的图4及其后的附图描述的实施例也可以用于形成不根据图1和图2的编码器和解码器底层的编码框架进行操作的编码器和解码器。
52.图1示出了示例性地使用基于变换的残差编码将图片12预测编码到数据流14中的装置(例如,视频编码器)。该装置或编码器使用附图标记10指示。图2示出了相应的解码器20,即,被配置为也使用基于变换的残差解码从数据流14中预测解码图片12

的装置20,其中,在由预测残差信号的量化引入的编码损失方面,撇号已用于指示由解码器20重构的图片12

与初始由装置10编码的图片12存在偏差。图1和图2示例性地使用基于变换的预测残差编码,但是本技术的实施例不限于这种种类的预测残差编码。如下文将概述的,针对图1和图2描述的其他细节也是如此。
53.编码器10被配置为对预测残差信号进行空间到频谱的变换,并将由此获得的预测残差信号编码到数据流14中。同样地,解码器20被配置为从数据流14中解码预测残差信号,并对由此获得的预测残差信号进行频谱到空间的变换。
54.在内部,编码器10可以包括预测残差信号形成器22,其生成预测残差24以测量预测信号26与原始信号(即,与图片12)的偏差,其中预测信号26可以被解释为根据本发明的实施例的一个或多个预测器块的集合的线性组合。预测残差信号形成器22可以是例如从原始信号(即,从图片12)中减去预测信号的减法器。编码器10然后还包括变换器28,该变换器
28使预测残差信号24进行空间到频谱变换以获得频谱域预测残差信号24

,该频谱域预测残差信号然后由量化器32进行量化,该量化器32也被包括在编码器10中。如此量化的预测残差信号24

被编码到比特流14中。为此,编码器10可以可选地包括熵编码器34,该熵编码器34对被变换并量化到数据流14中的预测残差信号进行熵编码。
55.预测信号26由编码器10的预测级36基于被编码到数据流14中并可从数据流14解码的预测残差信号24

生成。为此,如图1所示,预测级36可以在内部包括去量化器38,该去量化器38对预测残差信号24

进行去量化以获得与除量化损失之外的信号24

相对应的频谱域预测残差信号24
″′
,接着包括逆变换器40,该逆变换器40使后面的预测残差信号24
″′
进行逆变换(即频谱到空间变换),以获得与除量化损失之外的原始预测残差信号24相对应的预测残差信号24
″′′
。预测级36的组合器42然后例如通过加法重新组合预测信号26和预测残差信号24
″′′
以获得重构信号46,即原始信号12的重构。重构信号46可以对应于信号12

。预测级36的预测模块44然后通过使用例如空间预测(即,图片内预测)和/或时间预测(即,图片间预测),基于信号46产生预测信号26。
56.同样地,如图2所示,解码器20可以在内部包括与预测级36相对应并且按照与预测级36相对应的方式互连的组件。具体地,解码器20的熵解码器50可以从数据流中熵解码出量化后的频谱域预测残差信号24

,于是按照以上关于预测级36的模块描述的方式互连和协作的去量化器52、逆变换器54、组合器56和预测模块58基于预测残差信号24

来恢复重构信号,从而如图2所示,组合器56的输出产生重构信号(即,图片12

)。
57.尽管上面没有具体描述,但是容易显而易见的是,编码器10可以根据一些优化方案(例如,按照优化某速率和失真相关标准(即,编码成本)的方式)设置一些包括例如预测模式、运动参数等的编码参数。例如,编码器10和解码器20以及相应的模块44、58分别可以支持诸如帧内编码模式和帧间编码模式的不同预测模式。编码器和解码器在这些预测模式类型之间切换的粒度可以分别对应于图片12和12

到编码段或编码块的细分。例如,以这些编码段为单位,可以将图片细分成被帧内编码的块和被帧间编码的块。
58.如下面关于图4至图8更详细地概述的,帧内编码块基于相应块(例如,当前块)的空间、已经编码/解码的邻域(例如,当前模板)来预测。若干帧内编码模式可以存在,并且被选择用于包括方向性或角度帧内编码模式的相应帧内编码段,根据这些模式通过将邻域的样本值沿特定于相应方向性帧内编码模式的某个方向外插到相应帧内编码段,来填充相应段。例如,帧内编码模式还可以包括一个或多个其他模式,例如:dc编码模式,根据该模式,对相应帧内编码块的预测将dc值分配给相应帧内编码段内的所有样本;和/或平面帧内编码模式,根据该模式,相应块的预测被近似为或确定为由二维线性函数描述的样本值在该相应帧内编码块的样本位置上的空间分布,驱动由二维线性函数基于相邻样本定义的平面的倾斜和偏移。
59.与之相比,可以例如在时间上预测帧间编码块。针对帧间编码块,可以在数据流14内用信号通知运动矢量,该运动矢量指示图片12所属的视频的先前编码的图片(例如,参考图片)的部分的空间偏移,在该空间偏移处先前编码/解码的图片被采样以获得相应帧间编码块的预测信号。这意味着,除了数据流14包括的残差信号编码(例如表示量化后的频谱域预测残差信号24

的熵编码变换系数级别)之外,数据流14可能已经在其中编码了用于将编码模式分配给各种块的编码模式参数、一些块的预测参数(例如,帧间编码段的运动参数)、
以及可选的其他参数(例如用于控制和用信号通知图片12和图片12

到段的细分的参数)。解码器20使用这些参数以与编码器相同的方式细分图片,将相同的预测模式分配给段,以及执行相同的预测以产生相同的预测信号。
60.图3示出了(一方面)重构信号(即重构图片12

)与(另一方面)数据流14中用信号通知的预测残差信号24
″′′
与预测信号26的组合之间的关系。如上面已经描述的,该组合可以是加法。预测信号26在图3中被示为图片区域到使用阴影线说明性地指示的帧内编码块和不带阴影线说明性地指示的帧间编码块的细分。该细分可以是任意细分,例如图片区域到正方形块或非正方形块的行和列的规则细分,或图片12从树根块到大小可变的多个叶块的多树细分,例如四叉树细分等,其中图3示出了其混合,在该混合中首先将图片区域细分成树根块的行和列,然后根据递归多树细分将树根块进一步细分成一个或多个叶块。
61.同样,数据流14可以具有编码到其中的用于帧内编码块80的帧内编码模式,其将若干支持的帧内编码模式之一分配给相应的帧内编码块80。针对帧间编码块82,数据流14可以具有编码到其中的一个或多个运动参数。一般而言,帧间编码块82不限于时间上被编码。备选地,帧间编码块82可以是根据当前图片12自身之外的先前编码的部分预测的任何块,例如图片12所属的视频的先前编码图片、或另一视图的图片、或在编码器和解码器分别是可伸缩编码器和解码器的情况下的层级较低的层。
62.图3中的预测残差信号24
″′′
也被示出为图片区域到块84的细分。这些块可以被称为变换块,以便将它们与编码块80和82区分开来。实际上,图3示出了编码器10和解码器20可以使用图片12和图片12

分别到块的两种不同细分,即,一种细分分别细分成编码块80和82,而另一种细分细分成变换块84。两种细分可以相同,即每个编码块80和82可以同时形成变换块84,但是图3示出了这样的情况,例如,到变换块84的细分形成了到编码块80和82的细分的扩展,使得块80和82中的两个块之间的任何边界覆盖两个块84之间的边界,或备选地说,每个块80、82要么与变换块84之一重合要么与一组变换块84重合。然而,也可以彼此独立地确定或选择细分,使得变换块84可以备选地跨块80、82之间的块边界。就到变换块84的细分而言,与关于到块80、82的细分的那些陈述类似的陈述因此是真实的,即,块84可以是图片区域到块的规则细分(布置或不布置成行和列)的结果、对图片区域的递归多树细分的结果、或其组合或任何其他类型的分块方法。顺便说一句,要注意的是,块残差信号82和84不限于方形、矩形或任何其他形状。
63.图3还示出了预测信号26和预测残差信号24
″′′
的组合直接产生重构信号12

。然而,应注意,根据备选实施例,可以将多于一个的预测信号26与预测残差信号24
″′′
组合以产生图片12


64.在图3中,变换块84应具有以下意义。变换器28和逆变换器54以这些变换块84为单位执行它们的变换。例如,许多编解码器对所有变换块84使用某种dst(离散正弦变换)或dct(离散余弦变换)。一些编解码器允许跳过变换,使得针对变换块84中的一些,预测残差信号直接在空域中进行编码。然而,根据以下关于图4至图8描述的实施例,编码器10和解码器20以它们支持若干变换的方式配置。例如,编码器10和解码器20支持的变换可以包括:
65.·
dct-ii(或dct-iii),其中dct表示离散余弦变换
66.·
dst-iv,其中dst表示离散正弦变换
67.·
dct-iv
68.·
dst-vii
69.·
恒等变换(it)
70.当然,虽然变换器28将支持这些变换的所有前向变换版本,但是解码器20或逆变换器54将支持其对应后向或逆向版本:
71.·
逆dct-ii(或逆dct-iii)
72.·
逆dst-iv
73.·
逆dct-iv
74.·
逆dst-vii
75.·
恒等变换(it)
76.随后的描述提供了关于编码器10和解码器20可以支持的变换的更多细节。在任何情况下,应注意,支持的变换的集合可以仅包括一个变换,例如一个频谱到空间或空间到频谱的变换,但也有可能编码器或解码器根本不使用变换全部或针对单个块80、82、84不使用变换。
77.如上面已经概述的,图1到图3已经被呈现为示例,其中可以实现下面关于图4至图8描述的发明构思以便形成根据本技术的编码器和解码器的特定示例。就此而言,图1和图2的编码器和解码器分别可以表示本文描述的编码器和解码器的可能实现。然而,图1和图2仅是示例。然而,根据本技术的实施例的编码器可以使用关于图4至图8更详细地概述并且不同于图1的编码器的构思来对图片12执行基于块的编码,其构思的不同之处在于例如帧内编码块80被进一步细分成分区、和/或通过针对单个帧内编码块80的水平拆分和竖直拆分来执行到分区的细分、和/或第一变换和次级变换用于单个帧内编码块80的分区、和/或各个帧内预测模式用于单个帧内编码块80的分区。同样地,根据本技术的实施例的解码器可以使用关于图4至图8进一步概述的编码构思对数据流14中的图片12

执行基于块的解码,但是可以不同于例如图2的解码器20,不同之处在于帧内编码块80被进一步细分成分区、和/或通过针对单个帧内编码块80的水平拆分和竖直拆分来执行到分区的细分、和/或第一变换和次级变换用于单个帧内编码块80的分区、和/或各个帧内预测模式用于单个帧内编码块80的分区。
78.根据一个方面,如图4所示,图像110被编码到其中的数据流112可以传送由编码器插入到数据流112中的信息112a,并且基于该信息112a,解码器导出图片110以图片被细分成的块为粒度的到预测类型的集合114的的分配。即,信息112a会将图片110的每个块分配给预测类型的集合114中的一个。如上所述,预测类型的集合114包括帧内预测116和帧间预测118,使得每个块被分配给集合114中的相关联的预测类型。针对每个帧内预测块120,即,针对分配给帧内预测116的每个块,数据流112包括由编码器插入的信息112c,并且根据该信息112c,解码器针对该相应帧内预测块120导出帧内预测模式的集合122中与该相应帧内预测块120相关联的帧内预测模式。针对每个预定帧内预测块120,即,针对其相关联的帧内预测模式被包含在预定帧内预测模式的子集124内的那些预定帧内预测块120,数据流112还包括信息112d,该信息112d由编码器插入到数据流112中以使解码器能够从中导出该相应预定帧内预测块120到分区130的分割128。注意,并非每个帧内预测块都需要是预定帧内预测块。相反,如上文和下文进一步描述的,在数据流中传送的针对帧内预测块的信息112b可以决定某个帧内预测块是否是预定帧内预测块,即isp块。类似地,帧内预测模式的子集
不需要是适合的子集,而是,集合122的所有帧内预测模式也可以是子集124的成员。集合122可以包括角度帧内预测模式123a、平面帧内预测模式123b、dc帧内预测模式123c和/或基于块的帧内预测模式123d。子集124包括例如角度帧内预测模式123a、平面帧内预测模式123b和/或dc帧内预测模式123c。
79.图4中示出了分割的不同可能性。基于该相应预定帧内预测块120的分割128,以取决于分配给该相应预定帧内预测块的预定帧内预测模式的方式,对该相应预定帧内预测块120的每个分区130进行帧内预测,以获得分区特定预测信号。上面呈现了帧内预测模式的一些示例,并且在下文中简要阐述进一步的细节。
80.针对每个块,数据流112还包括关于相应块的预测残差的信息112e。针对每个预定帧内预测块120,该信息按照以下方式在数据流中传送。具体地,针对相应预定帧内预测块120的每个分区130,数据流112包括分区特定预测残差信号132,其经由预定变换t与该相应分区130的空域预测残差信号134相关。针对该相应预定帧内预测块,数据流112内的信息136由编码器插入到数据流中,并从解码器中从数据流中导出该信息136,并且或信息136标识变换的集合138中的预定变换t。信息136是例如通过读取在数据流112中传输的针对该相应预定帧内预测块120的变换语法元素112f来导出的。变换语法元素112f可以在数据流112中块全局地或针对该相应预定帧内预测块120的每个分区130用信号通知。标识变换的集合138中的预定变换t的信息136可以逐分区130地导出或块120全局地导出。变换的集合138至少包括第一变换t1和第二变换t2,其中第二变换t2与主变换t1/tp和应用到主变换t1/tp的变换系数子集140上的次级变换ts的级联相对应。主变换tp可以是第一变换t1。第一变换t1和/或主变换tp可以是诸如dct或dst之类的可分离变换,而次级变换可以是不可分离变换。基于关于预测残差和预测信号的信息,然后可通过解码器使用分配给相应块的预测类型来重构每个块。即,帧间预测块通过帧间预测导出预测信号,并且针对帧内预测块,预测信号通过帧内预测来获得。
81.变换语法元素112f可以由次级变换标志和/或次级变换指示语法元素表示。次级变换标志可以指示预定变换是第一变换t1还是第二变换t2,以及次级变换指示语法元素可以指示在预定变换是第二变换t2的情况下要使用次级变换ts。
82.根据实施例,解码器/编码器被配置为在块级别和分区级别中的不同级别上,决定预定变换t是第一变换t1还是第二变换t2、以及在不同的次级变换候选之间做出决定。因此,预定变换t可以是第一变换t1或第二变换t2,其中可以从不同的次级变换候选中选择用于第二变换t2的次级变换ts,以在块级别和分区级别中的不同级别上确定次级变换ts。
83.在继续描述用信号通知用于isp块的变换信息136的各种可能性之前,一些其他节点将举例说明上面阐述的可能实现。例如,上面的描述简要地忽略了帧内预测块不一定必须是isp块。即,坦率地说,并非每个帧内预测块都需要是预定帧内预测块。从下面的简要讨论中,这个和其他实现细节将变得显而易见。
84.具体地,解码器和编码器可以支持不同的帧内预测模式,其被总结在图4中的集合122中。可能存在角度帧内预测模式123a,根据该角度帧内预测模式123a,与要进行帧内预测的区域(例如,非isp帧内预测块的整个帧内预测块和isp块的每个单独分区130的区域)相邻的参考样本被用于填充预定块120,以获得该块的帧内预测信号。具体地,可以沿着该区域的边界(例如沿着该区域的上边缘和左边缘)布置的参考样本表示沿着预定方向外插
或复制到该区域内部的图片内容。在外插或复制之前,由相邻样本表示的图片内容可以经过内插滤波,或换言之,可以通过内插滤波的方式根据相邻样本导出。角度帧内预测模式123a在帧内预测方向上相互不同。每个角度帧内预测模式123a可以具有与之相关联的索引,其中索引与角度帧内预测模式123a的关联可以使得:当根据相关联的模式索引对角度帧内预测模式123a进行排序时,方向单调地顺时针或逆时针旋转。
85.也可以存在非角度帧内预测模式,例如平面帧内预测模式123b,根据该平面帧内预测模式123b,基于与要进行帧内预测的区域相邻的前述相邻样本,导出由水平斜率、竖直斜率和偏移定义的二维线性函数,该线性函数定义了要进行帧内预测的区域(即,整个块120或某个分区130的区域)的内部中的预测样本值。水平斜率、竖直斜率和偏移基于相邻样本来导出。
86.特定非角度帧内预测模式123c(即dc模式)可以被包含在集合122中。这里,基于相邻样本导出一个值(即,准dc值),并且这一个dc值归于要进行帧内预测的区域(即,整个块120或某个分区130的区域)的内部中的所有样本,以获得帧内预测信号。尽管示出了非帧内预测模式的两个示例,但在集合122中可以不存在非帧内预测模式的示例、存在一个或多于两个的非帧内预测模式的示例。
87.帧内预测模式123a-c形成由编码器和解码器支持的帧内预测模式的子集124。如图4中的123d所示,它们可以可选地在速率/失真优化意义上与使用参考符号123d指示的基于块的帧内预测模式竞争。根据这些基于块的帧内预测模式123d,可以使用(一方面)根据相邻样本导出的矢量与(另一方面)预定预测矩阵之间的矩阵矢量乘积,以产生用于预测要进行帧内预测的区域内的样本的预测矢量。这种基于块的帧内预测模式123d(如果存在)在与相应模式相关联的预测矩阵中可以相互不同。因此,简要概括,根据本文描述的实施例的编码器和解码器可以包括帧内预测模式123a至123d的集合124。
88.可以按照以下方式使用帧内预测对帧内预测块120进行编码/解码。例如,模式指示112c可以按照以下方式实现。具体地,在支持基于块的预测模式123d的情况下,集合选择语法元素或信息112b(它可以被命名为intra_mip_flag)可以在数据流120中被传送,以指示是否要使用帧内预测模式的子集124中的任一个、或模式123d中的任一个来预测块120。信息112b在图4中相对于信息112c被额外地指示。应注意,从一个角度来看,信息112b和信息112c共同作用以指示集合122中针对块120的帧内预测模式,但由于图4中的块120被假设为isp块,因此已知该块的模式在集合124中,信息112c足以指示块的120的模式。
89.如果信息112b指示将使用子集124的任何模式来预测块120,则可以按照以下方式用信号通知信息112c。可以在解码器和编码器处基于已经使用其进行了预测的相邻块(它们与块120相邻)的帧内预测模式,来构造/形成集合124中的最可能候选的列表。相邻块可以以预定方式相对于块120的位置来确定,例如通过确定覆盖块120的某些相邻样本(例如,块120的左上样本之上的样本)的那些相邻块、以及包含刚刚提到的顶角样本的左侧的样本的块。当然,这仅是示例。这同样适用于用于模式预测的相邻块的数量,该数量针对所有实施例不限于两个。可以使用多于两个或仅一个。如果这些相邻块中的任何一个丢失,则可以默认使用集合124中的默认帧内预测模式作为该丢失相邻块的帧内预测模式的替代。如果已经使用帧间预测模式(例如通过运动补偿预测)对相邻块中的任何一个进行了编码/解码,则同样可以适用。集合122中的最可能模式的列表的构造可以使得列表长度(即,其中最
可能模式的数量)默认可以是固定的。数据流中的索引可以指示该列表中的要用于块120的一种模式。沿着具有例如被可变长度编码的列表索引的列表顺序或排序执行编索引,使得索引的长度沿着顺序530单调递增。列表索引将形成信息112c的一部分。首先,值得仅用集合124中的最可能模式填充最可能模式列表,并沿着列表顺序将模式放置在相对于具有适合于帧内预测块120的较低概率的模式的更可能的上游。当基于用于相邻块的模式导出列表的模式时,相邻块中的任何一个可能已经使用基于块的模式123d进行了帧内预测。在那种情况下,从基于块的模式123d到集合124内的模式的映射可以用于列表构建。如果集合选择性语法元素112b指示预定块120将通过集合124中的任何模式进行编码,则可选地,mpm语法元素(它可以被称为intra_luma_mpm_flag)可以是信息112c的一部分,指示要用于预定块18的帧内预测模式是否在mpm列表内,并且如果是,则数据流112将刚刚提到的列表索引(它可以被称为intra_luma_mpm_idx)包括到mpm列表中,其通过沿列表顺序编索引来指示mpm列表中的要用于预定块的模式。然而,如果集合124中的模式不在mpm列表内,则数据流112包括针对块120的作为信息112c的一部分的另一语法元素(它可以被称为intra_luma_mpm_remainder),指示集合124中的哪个模式要用于块120。该语法元素可以按照仅区分集合124中的那些未包含在mpm列表中的模式的方式来指示该模式。
90.在另一情况下,即,在信息112b指示将使用基于块的帧内预测模式123d中的任一种模式来预测预定块120的情况下,可以将块120编码到数据流中并从中进行解码。为此,可以使用编索引以对基于块的帧内预测模式123d中的所选择的模式进行索引,或指示要使用基于块的帧内预测模式123d中的哪一种模式。为此可以连同指示模式123d中的所选择的模式是否在该mpm列表内(如果是,则其中的模式是所选择的模式,而如果不是,则模式123d中的模式是块120的模式)的信息使用另一种mpm列表构造。
91.在块120使用子集124中的任何模式来进行编码的情况下,即,块120可能是预定帧内预测块的情况下,其他语法元素或其他信息可以被包括在数据流中,该其他语法元素以某种方式参数化集合124内的帧内预测模式。可选地,语法元素(它可以被称为intra luma ref idx)可以参数化或改变块120周围的上述参考样本所在的区域,基于此,集合124中的模式用于例如在与块120的外周的距离方面对块120的内部进行帧内预测。可以作为信息112b的一部分或可以使用该参考符号在图4中示出、以及可以被称为intra_subpartitions_mode_flag的语法元素可以指示块120是否是isp块,即,它参数化上述参考样本是否被集合124中的所选择的模式使用以全局或整块地对块120的内部进行帧内预测,或是否以块120被细分成的分区130为单位进行帧内预测,并且依次对这些分区130进行帧内预测,使得针对一个分区130编码到数据流中的预测残差可以用于组建/重构新的参考样本以对后续分区130进行帧内预测。根据可选实施例,仅在控制参考样本的位置的可选地存在的语法元素具有与例如参考样本所在的紧邻块120的区域相对应的预定状态的情况下,由刚刚提到的isp语法元素112b控制的isp编码选项可以是可用的(以及相应语法元素可以存在于数据流中)。
92.分区130可以通过沿着预定方向细分块120来定义,该预定方向例如是水平的,从而导致分区130与块120一样高,如127b所指示;或竖直的,从而导致分区130与块120一样宽,如127a所指示。可选地,指示一个或多个其他分区127c以及例如拆分成nxn个分区130也是可行的。如果用信号通知:针对块120,分割是激活的,即,如果块120是所说明的isp块,则
作为信息112d的一部分的语法元素可以存在于数据流中,该语法元素112d可以控制所使用的拆分方向。
93.根据实施例,块120的分割128可以如关于图6所描述的那样执行。
94.现在先对isp块120的残差编码进行描述。即,用信号通知块120以根据所选择的分割126被分割成分区130,并且针对每个分区130,数据流112已经将分区特定残差信号112e编码到其中,解码器针对分区130从数据流中解码该残差信号。如所描述的,解码器使用从信号132导出的空域残差信号134,以便使用针对isp块120用信号通知的帧内预测模式来校正针对该相应分区130导出的预测信号,因此下一个分区可以使用与该下一个分区相邻并且部分驻留在例如前一个分区中的参考样本进行帧内预测。变换域中的分区特定残差信号132在数据流中传送。在数据流中使用信息112f以本文描述的任何方式(例如,逐分区地)用信号通知哪个变换t是分区特定信号132的基础,使得在一个isp块120的分区130之间变换t可以不同。然而,在描述这方面的不同实施例之前,简要描述分区特定残差信号132如何被编码到数据流112中,即,数据流112中的信息112e如何看起来像指示分区特定残差信号132的信息。
95.具体地,针对每个分区130,信息112e可以包括编码块标志(cbf)、最后位置(lp)语法元素、以及形成该相应分区130的变换域信号132的变换系数的变换系数级别的编码。因此,针对具有k个分区130的isp块120,针对具有非零cbf的每个分区130可以具有k个cbf和一个lp。用于对每个cbf进行编码的上下文可以取决于同一块120内沿着对分区进行预测的顺序的先前编码的分区130的cbf的值。作为某个分区130的变换t,可以使用2-d变换(除了该分区130的维度尺寸之一是1(样本宽度)的情况,在这种情况下将应用1-d变换)。解码器因此能够获得每个分区130的变换t的变换系数级别,同样进行逆变换以获得如134所示的空域中的每个分区130的预测残差样本。
96.根据isp方案,即,分割成分区130,该方案可能仅在满足某一个或多个条件的情况下可用于当前帧内编码块。一个或多个条件可以包括例如:帧内编码块需要在例如块的样本的数量方面大于某个最小大小,和/或可能不允许帧内编码块超过某个维度尺寸(至少在水平和竖直方向二者上),以便例如不导致过大的变换大小。更准确地说,可能仅在帧内编码块在至少一个方向(即,水平方向或竖直方向)上小于或等于刚刚提到的最大变换相关大小的情况下,isp模式才可用。因此,作为帧内编码块的信息112b的一部分的用信号通知isp模式的intra_subpartitions_mode_flag可以仅在块满足刚刚提到的条件的情况下才存在于数据流中。否则,解码器可以推断帧内编码块是未分区帧内编码的。在intra_subpartitions_mode_flag指示帧内编码块80是isp编码块的情况下,还可以针对帧内编码块80用信号通知作为信息112d的一部分的分区维度标志(它可以被称为intra_subpartitions_split_flag)。然而,该intra_subpartitions_mode_flag可能不是不可避免地显式地用信号通知的,而是在某些情况下被推断为指示某个分区维度(partitiondimension)。例如,在帧内编码块的宽度超过前述最大变换大小(但高度不超过前述最大变换大小)的情况下,分区维度可能必须是水平的,以及在块的高度超过刚刚提到的最大变换大小(但宽度不超过该最大变换大小)的情况下,分区维度可能必须是竖直的。在这两种情况下,intra_subpartitions_split_flag将不在数据流中显式地用信号通知,而是由解码器相应地推断出来。此外,编码器和解码器可以取决于块120的大小来确定块
120被分成的分区130的数量。这样就不必在数据流中花费任何信号。针对小的块大小,该数量可以是2,而分区130的数量可以是4。执行对分区130进行帧内预测以及对数据流中的预测残差进行编码的分区顺序在水平方向的情况下(如127b所示)可以沿着从最左边分区到最远分区的分区方向;在竖直分割的情况下(如127a所示)可以沿着从最上分区到最远分区的分区方向。也不会为此花费任何信号通知。
97.如上所述,可以逐分区130地进行残差变换112e。即,每个分区130可以使用某个变换t进行单独变换。作为中间说明,应注意的是,在非isp帧内编码块的情况下,变换的数量也可以取决于块的大小:如果非isp帧内编码块在水平和竖直方向上小于前述最大变换大小,则使用一个变换对帧内编码块的残差进行编码,即该块的残差完全经历一个变换。由于isp块是逐分区地进行变换的,因此,在isp块的情况下,这可能不发生。在水平方向上超过最大变换大小的情况下,将非isp帧内编码块水平地分成两半或相应数量的变换块,使得这两半或变换块满足最大变换大小,并且针对每半/变换块,块的残差经历一个变换。这同样适用于在竖直方向上块超过最大变换大小的情况。如果水平方向上和竖直方向上都超过最大变换大小,则使用四个或相应数量的变换,以将该块的四个象限或块的规则二维细分中的块的残差变换为相应数量的变换块。当然,对非isp帧内编码块的处理以其他方式偏离对isp帧内编码块120的处理。例如,在非isp帧内编码块的情况下,不使用诸如拆分标志的显式信号化。根据实施例,非isp帧内编码块按照块进行帧内预测,而isp块顺序地逐分区地进行帧内编码。其他差异可以与用于对预测残差进行编码的变换的编码有关。针对isp块情况下的每个变换(即针对每个分区130)以及非isp帧内编码块的情况下的每个变换,诸如tu_cbf_luma的编码块标志cbf被传输,但是针对非isp帧内编码块,该标志针对每个变换可能不可避免地被编码,在针对先前变换/分区的所有先前cbf为零的情况下,针对该块120的最后分区130的变换,该标志可以被推断为1。
98.针对上述描述的变化,应作出一些说明。例如,尽管已经描述了包括对当前分区进行帧内编码时考虑先前分区的预测残差的分区的顺序帧内编码,但是以上实施例可以变型为对基于位于isp块(准块)之外的参考样本,针对分区的全部或子组进行帧内预测,而isp块的基于分区的处理仅与基于分区的变换编码相关。注意,刚刚提到的变化可以进行混合,以产生如下实施例,其中编码器和解码器针对不同块大小使用上述变化中的不同变化,使得例如,存在如下大小的块:当进行isp编码时将逐分区帧内预测用于所述块,以及存在如下不同大小的块:当进行isp编码时将逐块或逐分区组的帧内预测用于所述块。此外,如上面经常提到的,上面呈现的信号通知仅仅是说明性的,并且可以不同地实现。经由使用mpm列表的信号通知例如仅仅是说明性的,并且可以在没有这样的mpm列表的情况下实现。此外,上面呈现的语法元素之间的信号通知顺序和相互调节可以改变。
99.下面使用低频不可分离变换(lfnst)作为次级变换ts。但显而易见的是,也可以使用其他次级变换。
100.低频不可分离变换是次级变换,其仅应用于主变换系数的左上角,例如,应用于主变换tp/t1的系数子集140。在vtm-6.0中有各种lfnst集合,它们根据当前块的帧内模式进行选择。每个lfnst集合包括两个不同的变换。因此,解码器具有根据显式地用信号通知的元素进行选择的3个选项(0->不使用lfnst,1->使用第一lfnst,2->使用第二lfnst)。在某些情况下,取决于下面某些条件,lfnst不可应用于块:
101.·
示例1:在块120的某个区域160中,主变换系数不为零。
102.·
示例2:在应用次级变换之后得到的变换系数违反某些条件,例如有效系数的数量大于某个阈值或作为结果的最后位置语法元素大于某个阈值。
103.在前述示例和相关情况中,解码器没有解析出信号通知,并且推断没有应用次级变换。
104.当前在vtm-6.0(帧内子分区)中,isp不能使用lfnst。提出在变换单元(tu)级别在使用isp的块上启用该算法。这意味着,如果使用isp的块被拆分成n个子分区,则每个产生的子分区将例如以与不使用isp的普通块相同的方式使用lfnst算法。在随后的实施例中,分别描述了关于lfnst使用和次级变换候选之间的可选选择的隐式信号化和显式信号化、以及关于在块级别和分区级别执行任何刚刚提到的决定/信号通知的不同可能性。
105.次级变化ts应用于子分区级别。因此,例如存在针对每个子分区130而解析出来的语法元素,即,变换语法元素112f,以决定次级变换ts是否将被计算,并且在肯定的情况下计算哪一个次级变换。当然,如果满足次级变换条件,例如有效系数的数量大于某个阈值和/或在预定区域之外没有非零系数,则可以(例如,仅)解析该语法元素。
106.如上所概述,当前在vtm-6.0(帧内子分区)中,isp不能使用lfnst。本文中提出在使用isp的块上启用该算法。这意味着,使用isp的块120的每个子分区130将有可能应用次级变换ts。这可以通过具有语法元素的信息112f显式地指示给解码器,但是也可以通过使用已经存在于解码器处的参数或通过隐式元素和显式元素的组合来隐式地指示。除了上述示例之外,以下还提供了各种示例。
107.换言之,示出了isp与lfnst组合的以上不同可能性。下面,在下文中概述了用于对分区130的预测残差进行变换编码的信号通知或改变变换t的变型。
108.在子分区级别显式地
109.针对每个子分区130,次级变换ts可以被显式地用信号通知给解码器。该版本简单地将lfnst的正常使用外插到由isp创建的每个子分区130。
110.即,继续关于逐分区130地对预测残差132进行变换编码的描述。如所描述的,预测残差132可以在变换域编码到数据流112中。该变换域经由变换t与空域相关。根据刚刚呈现的变型,信息112f可以针对每个分区130指示该变换t是第一变换t1还是主变换tp/t1,该主变换tp/t1之后是次级变换ts。换言之,针对每个分区,读取变换语法元素112f,其指示第一变换t1还是第二变换t2用于该相应分区。次级变换ts默认地针对块120可以是固定的,或针对isp块120,用信号通知一次。取决于集合124中的针对块120的帧内预测模式,两个ts可以形成针对块120的次级变换候选集合,并且针对块120选择其中一个。例如,主变换t1针对isp块120默认将是固定的。注意,在那种情况下,当发送决定以便针对整个块120应用次级变换ts时,该决定仅影响其残差信息112e不立即指示由于上面指示的原因可能不应用次级变换的分区,所述原因例如:如果以下条件之一应用于某个分区的由信息112e编码的残差变换,则lfnst针对该分区不可用(否则可用):1)非零变换系数位于预定区域140之外(如图5所示);2)非零系数的数量超过某个限制;3)沿着从dc系数位置到相反的或最高频率系数位置的扫描路径的最后非零系数位置(如用于该相应分区的残差变换的一个或多个语法元素(本文中被称为lp语法元素)所指示,准(quasi)用作变换内的非零系数的预期计数的度量)超过某个阈值;或4)如果满足条件1到条件3中的两个或更多个条件之一,则lfnst不可
用;或5)如果满足条件1到条件3中的条件的子集中的每一个条件,则lfnst不可用。
111.在这方面,应该回顾上面已经描述的内容。具体地,针对块120的分区130,基于每个分区在数据流中传输cbf。cbf可以指示分区(例如变换单元)是否包括残差信息,例如通过预测产生的信息。如果cbf指示残差为零,则针对相应分区130不需要存在次级变换标志112f。此外,如上所述,次级变换选项的可用性可以取决于某些情况:例如,上述lp语法元素充当非零区域指示。它针对相应分区130用信号通知非零变换域区域160,如图5所示,在非零变换域区域160中仅放置分区特定预测残差信号132的所有非零系数,相应地,仅零系数位于该区域中。取决于该非零变换域区域160的扩展和/或位置,预定变换t必须仅等于主变换t1,或次级变换t2可用(在这种情况下次级变换标志112f由编码器传输或由解码器读取)。例如,仅当非零变换域区域160不超过应用了次级变换ts的变换t1的变换系数部分(即图4或图5中的部分140)时,次级变换ts才可用。因此,针对某个分区130是否存在次级变换标志112f是分区特定的问题,并且虽然针对块120的一个变换130可以存在次级变换标志,但是针对该块120的另一分区130,次级变换标志可能不存在或缺省。
112.取决于该非零变换域区域160的扩展和/或位置,解码器可以被配置为在以下之间做出决定:从数据流112中读取在数据流112中传输的针对该相应分区130的次级变换标志112f,其指示预定变换t是第一变换t1还是第二变换t2;或推断预定变换t是第一变换t1。如果非零变换域区域160完全位于由应用了次级变换ts的变换t1的变换系数的部分140定义的区域内,则读取次级变换标志112f。否则,推断预定变换t是第一变换t1。次级变换标志112f指示第一变换t1还是第二变换t2作为预定变换可以取决于上述条件1至5中的一个或多个。
113.备选地或另外地,读取次级变换标志112f与推断预定变换t是第一变换t1之间的决定可以取决于非零变换域区域160是否仅覆盖通过主变换tp/t1与次级变换ts的级联应用了次级变换ts的主变换tp/t1的系数140,和/或取决于非零变换域区域160内的非零系数的数量。
114.根据实施例,解码器/编码器被配置为:如果分区130的维度尺寸低于预定阈值,则推断预定变换t是第一变换t1。
115.此外,针对块120的每个分区130的某个标志(即次级变换指示语法元素)可以存在于数据流中,针对该标志,次级变换选项可用并且用信号通知将被应用,即,从次级变换的相应集合(即,包括两个可能的次级变换的集合)中选择次级变换ts的标志。代替针对这样的分区130发送两个标志,可以使用三阵列语法元素来指示用于该相应分区的变换,即,作为用于该分区130的信息112f。
116.在继续用于指示用于块120的分区130的变换t的下一选项之前,另外注意以下内容。具体地,用于某个分区130的变换系数级别的编码仅限于非零部分160。当从最高频谱频率位置到dc频率位置(例如,变换t1的左/上角)一维扫描变换t1的变换系数时,lp语法元素可以通过指示第一非零系数位置来指示一部分。在二维t1变换的情况下,该位置可以由x和y坐标指示,或该位置可以用索引指示,该索引利用以系数为单位沿着刚刚提到的一维扫描顺序距dc变换位置的距离来度量刚刚提到的非零位置。还要注意,取决于变换信号将是组合的变换t2还是单个变换t1,在数据流112中传输的针对分区130的变换系数级别可以是第一变换t1的变换系数或第二变换t2的系数。还要注意,如果用信号通知变换t为两级变换,
即t1之后是ts的第二变换t2,则解码器可以通过依次执行第二变换的反变换然后执行变换t1的反变换、或执行组合在一个反变换中的t2的反变换来执行反变换,以获得相应分区130的空域残差信号134。换言之,分区特定预测残差信号132可以经历形成预定变换t的反的返变换t-1,以获得空域残差信号134。
117.在块级别显式地
118.次级变换ts可以针对整个块120仅显式地用信号通知解码器一次。这意味着,块120内的所有子分区130将应用相同的次级变换ts。如果次级变换标志112f指示预定变换t是第二变换t2,则解码器/编码器可以被配置为对所有分区130使用第二变换t2。
119.这可以暗示,可以不同地应用次级变换的应用的某些限制。例如,在这种情况下,前述示例2将不是绝对必要的,即使它仍然可以被应用。备选地,它们也可以作为整组来应用,或可以需要不同的阈值等。
120.换言之,它可以在数据流112中包含一次针对整个块120的信号112f,其用信号通知是否应用了ts,即,t是t1、还是t1之后跟随了ts(即t2),并且如果后者为真,则用信号通知在次级变换的候选集合中的哪个ts。可以针对每个分区130测试lfnst的可用性限制,即应用ts,其中块120全局信号通知仅适用于lfnst可用的那些分区130。在针对所有分区130lfnst不可用的情况下,针对块120可以省略信号通知112f,即编码器不针对块120对这样的lfnst激活标志进行编码并且解码器推断该标志被设置为lfnst是去激活的。甚至备选地,仅在针对所有分区130可用的情况下,信号通知112f可以针对块120存在,否则推断不使用lfnst。在后一种情况下,如果针对所有分区130的lfnst可用性应用,并且块级别lfnst激活信号通知指示针对块120的lfnst激活,则ts选择性信号通知将因此仅针对块120被编码。仅在针对块120的所有分区130lfnst可用的情况下,可以在信号通知lfnst的块级别激活的变型中使用与上面在1到5中讨论的相同或其他标准或其他阈值。
121.根据实施例,解码器可以被配置为在以下之间做出决定:从数据流112中读取在数据流112中传输的针对该相应预定帧内预测块120的次级变换标志112f,其指示预定变换t是第一变换t1还是第二变换t2;或推断预定变换t是第一变换t1。该决定可以取决于如图5所示的非零变换域区域160的相对于通过主变换tp/t1与次级变换ts的级联应用了次级变换的主变换tp/t1的系数140的相对位置。如果非零变换域区域160完全位于由应用了次级变换ts的主变换tp/t1的变换系数140定义的区域内,则读取次级变换标志112f。否则,推断预定变换t是第一变换t1。备选地或另外地,该决定可以取决于非零变换域区域160是否仅覆盖通过主变换tp/t1与次级变换ts的级联应用了次级变换ts的主变换tp/t1的系数140,和/或取决于非零变换域区域160内的非零系数的数量。次级变换标志112f指示第一变换t1还是第二变换t2作为预定变换可以取决于上述条件1至5中的一个或多个。除了次级变换标志112f之外,可以针对相应预定帧内预测块120块全局地用信号通知次级变换指示语法元素,用于指示所有分区130的精确次级变换。
122.解码器可以被配置为针对预定帧内预测块120的所有分区130执行一次决定,其中可以针对预定帧内预测块120的所有分区130检查该决定可以取决于的上述条件。根据实施例,通过针对预定帧内预测块120的所有分区130检查以下标准中的一个或多个标准,并且如果针对所有分区130满足以下标准中的所述一个或多个标准,则决定要读取所述次级变换标志(112f),由此针对预定帧内预测块120的所有分区130执行一次决定:
[0123]-没有非零变换系数位于预定区域140之外;和/或
[0124]-非零系数的数量超过预定限制;和/或
[0125]-由数据流中的最后位置语法元素所指示的沿着从dc系数位置到最高频率系数位置的扫描路径的最后一个非零系数位置超过另一预定阈值。
[0126]
如将在下面的附加说明中更详细地描述的,可能针对预定帧内预测块120的所有分区130仅需要满足上述标准中的一些,并且针对预定帧内预测块120的至少一个分区130必须满足一些标准,以便将读取次级变换标志112f。
[0127]
根据实施例,解码器/编码器被配置为:如果分区130的维度尺寸低于预定阈值,则推断预定变换t是第一变换t1。
[0128]
在组合块级别和子分区级别显式地
[0129]
在块级别和子分区级别都可以存在显式语法元素。例如,可以在块级用信号通知(例如由次级变换标志112f用信号通知)所有子分区130将使用或不使用次级变换ts。然后,如果将使用次级变换ts,则每个子分区130将例如通过次级变化指示语法元素显式地用信号通知将(彼此独立地)应用哪个次级变换。当然,lfnst的全局激活可以仅影响块120的如下分区130,所述分区130的残差信息112e满足lfnst可用性的条件。如果针对至少一个分区满足lfnst可用性的条件,则可以将仅针对块120的相应的激活编码到数据流中。并且仅针对那些分区,将对显式地选择ts的语法元素进行编码。备选地,仅在针对所有分区130可用的情况下,可以存在针对块120的信号通知112f,否则推断不使用lfnst。即,仅当lfnst可用性应用于所有分区时,才将用信号通知块级别lfnst激活信号通知,因此,针对每个分区,ts选择信号通知将包含在块120的数据流中。
[0130]
即,作为以下方案的替代:针对其lfnst可用的每个分区130用信号通知是否应用ts,并且如果是,则用信号通知针对isp块确定的ts候选集合中的哪一个应用作ts,备选地,可以是:主变换t1针对块120的所有分区130是固定的,并且信息112f仅一次块全局地用信号通知lfnst是否应用于块120的如下分区130的决定,针对所述分区130,从上述其他因素(非零部分的位置和/或非零系数的数量和/或最后一个非零系数的位置)的角度来看lfsnt将是可用的,同时如果用信号通知lfnst应用于块120的分区130,则通过针对每个这样的分区编码相应的ts选择语法元素,来针对lfsnt可用的每个分区130改变次级变换ts。
[0131]
在所有显式信号通知的情况下(例如,在子分区级别显式地和/或在块级别显式地和/或在组合块级别和子分区级别显式地),解码器/编码器可以被配置为:以取决于相关联的帧内预测模式(即,针对块120从集合122或子集124中选择的帧内预测模式)的方式,从候选次级变换ts集合中选择一个或多个候选次级变换ts的子集。如果一个或多个候选次级变换ts的子集包含多于一个候选次级变换ts,则取决于在数据流112中传输的针对相应预定帧内预测块120的次级变换指示语法元素,从一个或多个候选次级变换ts的子集中选择次级变换ts。
[0132]
根据实施例,候选次级变换的集合与由解码器/编码器用于未分割地进行了帧内预测的其他帧内预测块的次级变换ts不相交。
[0133]
隐式地
[0134]
当系数被解码时,解码器可以使用现有元素来获得关于将被使用的变换的信息136,即决定次级变换是否应用于每个子分区130。这些参数的示例是子分区索引、子分区大
小、块大小、帧内模式等。
[0135]
解码器/编码器可以被配置为:针对每个分区130,取决于该相应分区130的沿着分区130进行帧内预测116的顺序的排序、该相应分区130的大小、预定帧内预测块120的大小和/或相关联的帧内预测模式122,决定预定变换t是第一变换t1还是第二变换t2。可以由前述显式信号通知中的次级变换标志112f用信号通知该决定的结果。可以取决于相关联的帧内预测模式122、分区大小、块120大小、分区130处理顺序和/或分割128来选择精确的次级变换ts。可以针对预定帧内预测块120的所有分区130或预定帧内预测块120的每个分区130执行该选择一次。
[0136]
隐式地/显式地混合
[0137]
任何上述示例或它们的相关版本都可以与隐式规则相结合。例如,可以显式地决定是否使用次级变换,但是可以通过使用帧内模式、子分区大小、块大小、子分区索引、isp拆分类型(水平或竖直)等隐式地导出关于必须使用哪个次级变换的决定。
[0138]
附加注释
[0139]
下面的细节和示例被添加到上面的描述中。例如,添加了关于lfnst的可用性的条件的另一示例。更准确地说,在块级别显式地用信号通知次级变换使用/激活的情况下,可能是lfnst的可用性(或更准确地说,用于块120的次级变换标志112f的传输以便块全局地激活次级变换ts)可以由多于一个条件a)、b)、c)等定义。这已经被描述。例如,针对块的所有分区130,可能需要满足多于一个的条件,例如上面列出的条件1至5中的多于一个条件。备选地,可能需要在分区中的至少一个中多于一个的条件为真或被满足。然而,也可能一个或多个条件(例如,a)和b))在所有分区中都应为真,而一个或多个其他条件(例如,c))仅需要在至少一个分区中为真。
[0140]
针对某个条件仅在至少一个分区130中必须为真或被满足的情况,针对整个块120用信号通知的lfnst(如果用信号通知被激活)可以应用于块120内的所有分区130,而不管每个分区130的单独可用性条件。另一种可能性是它可以仅应用于满足该条件的那些分区130。如果没有分区130满足该可用性条件,则不用信号通知(或解析)lfnst,并且假定lfnst未被使用。
[0141]
解码器/编码器可以被配置为:例如通过以下方式,针对预定帧内预测块120的所有分区130,在读取次级变换标志112f与推断预定变换t是第一变换t1之间块全局地执行一次上述决定,所述方式为:针对所有分区130检查以下标准a至c中的一个或多个,并且如果针对所有分区130满足以下标准a至c中的一个或多个第一标准,同时针对至少一个分区满足以下标准a至c中的一个或多个第二标准,则决定要读取次级变换标志112f:
[0142]
a)没有非零变换系数位于预定区域140之外;和/或
[0143]
b)由数据流中的最后位置语法元素所指示的沿着从dc系数位置到最高频率系数位置的扫描路径的最后一个非零系数位置超过另一预定阈值;和/或
[0144]
c)非零系数的数量超过预定限制
[0145]
根据实施例,解码器/编码器被配置为:如果针对所有分区130满足标准a至c中的一个或多个第一标准,和/或如果针对至少一个分区130满足标准a至c中的一个或多个第二标准,则决定要读取次级变换标志112f。因此,可能的是:如果所有分区130满足条件a至c中的一个或多个,则读取次级变换标志112f,而不必分区130中的至少一个必须满足另外的一
个或多个第二标准。备选地,也可能的是:如果至少一个分区130满足第二标准中的一个或多个,则读取针对整个块120的次级变换标志112f,而不必所有分区130必须满足第一标准中的至少一个。
[0146]
如果次级变换标志112f指示预定变换t是第二变换t2,则针对满足一个或多个第二标准的分区130使用第二变换t2,而针对不满足一个或多个第二标准中的至少一个第二标准的分区130使用第一变换t1。
[0147]
示例1:
[0148]
假设具有n个分区130的块120,并且lfnst的可用性由以下条件定义
[0149]
a)在所有分区130中,预定区域140之外的所有系数必须为零
[0150]
b)至少一个分区130必须具有大于某个阈值的最后有效位置(按照扫描顺序)。
[0151]
在该示例中,条件a)必须在所有分区130中都为真以使lfnst可用,但条件b)仅在至少一个分区中是必要的。
[0152]
根据实施例,一个或多个第一标准是没有非零变换系数位于预定区域140之外,而一个或多个第二标准是沿着从dc系数位置到最高频率系数位置的扫描路径的最后非零系数位置(由数据流112中的最后位置语法元素指示)超过另一预定阈值。
[0153]
示例2:
[0154]
假设具有n个分区130的块120,并且lfnst的可用性由以下条件定义
[0155]
a)在所有分区130中,预定区域140之外的所有系数必须为零
[0156]
b)在所有分区中,最后有效位置(按照扫描顺序)必须大于某个阈值。
[0157]
在该示例中,a)和b)在所有分区130中都必须为真
[0158]
示例3:
[0159]
假设具有n个分区130的块120,并且lfnst的可用性由以下条件定义
[0160]
a)在所有分区130中,预定区域140之外的所有系数必须为零
[0161]
在该示例中,仅有a)条件,并且针对所有分区130必须为真以使lfnst可用。
[0162]
关于使用新内核或使用现有内核
[0163]
应用次级变换ts的子分区130可以共享与非isp块相同的次级变换,或它们可以具有仅用于isp子分区130的专用次级变换表。这可以应用于所有情况,或可能仅应用于它们的子集。例如,用于1xn、2xn、nx2和nx1的子分区(或针对该问题的取决于子分区的维度尺寸的任何子集),或可能取决于帧内模式或子分区索引或isp拆分类型(水平的或竖直的),或在解码器侧可用的其他参数。即,与被编码为具有与其相关联的相同帧内编码模式的非isp块相比,在某个块被编码/解码为isp(预定)块的情况下,相互不相交的ts候选可以用于该块。
[0164]
针对lfnst的使用,非isp块和isp块之间存在差异。
[0165]
从编码器的角度来看,lfnst是“次级”变换应用于“主”变换系数的应用。这受制于lfnst索引,即变换语法元素112f,其可以取3个不同的值(0->不应用lfnst,1->应用lfnst1,2->应用lfnst2)。换言之,变换语法元素112f可以指示第二变换t2是否用于该块。如果变换语法元素112f处于第一状态(例如,0),则它指示第一变换t1的使用,而如果变换语法元素112f处于第二状态(例如,1)或第三状态(例如,2),则它指示第二变换t2的使用。lfnst1和lfnst2取决于帧内模式。即,用于变换的基函数相对于帧内模式而变化。
[0166]
此外,如果不满足某些可用性条件,则可以隐式地执行lfnst索引的值为0。换言之,如果不满足以下可用性条件,解码器/编码器可以推断针对非isp块使用第一变换t1:
[0167]
·
条件1:在预定范围(该范围取决于块大小)之外必须不存在非零系数
[0168]
·
条件2:必须至少有一个不是dc系数(0,0)的非零系数。
[0169]
lfnst在isp块中的使用与在非isp块中相同,但有以下差异:
[0170]
1)lfnst针对整个块仅全局用信号通知一次。换言之,变换语法元素112f是块全局地导出/用信号通知的。
[0171]
2)lfnst索引(即,变换语法元素112f)的可用性可以取决于以下条件。使得lfnst索引可以被解析(否则,其被假定为0)必须发生的条件如下:
[0172]
a.子分区的大小必须至少为4
×4[0173]
b.针对所有子分区都必须满足条件1(如上所述)。因此,如果至少一个子分区违反它,则lfnst0(无lfnst)将用于所有子分区。
[0174]
c.针对isp情况,忽略条件2(如上所述)。换言之,针对变换语法元素112f的可用性,不必每个分区均包括不是dc系数(0,0)的非零系数。
[0175]
3)如果解析了lfnst索引,则以下会发生:
[0176]
a.该索引为0
[0177]
i.没有lfnst用于任何子分区
[0178]
b.该索引为1
[0179]
i.针对每个子分区,如果子分区的cbf(编码块标志)
[0180]
不为零,则应用lfnst1,例如第二变换t2的第一变型
[0181]
c.该索引为2
[0182]
i.针对每个子分区,如果子分区的cbf不为零,则应用lfnst2,例如第二变换t2的第二变型
[0183]
如果lfnst索引为1或2,则用于每个子分区的主变换将是dct2。
[0184]
根据实施例,根据图15所示的编码单元语法来解析变换语法元素112f,即lfnst_idx。
[0185]
根据实施例,上面讨论的lfnst_idx 112f的值可以例如使用一个或两个二进制值(bin)的截断一元码字来二值化,其中第一个二进制值可以指示预定变换是第一变换t1还是第二变换t2,而第二个二进制值可以指示哪个第二变换t2要用于块120或分区130。第一个二进制值可以表示次级变换标志,而第二个二进制值可以表示次级变换指示标志,即次级变换指示语法元素。二值化的lfnst_idx 112f(例如第一个二进制值和/或第二个二进制值)可以使用上下文自适应二进制算术编码(cabac)被熵编码到数据流中。很明显,这仅是示例,并且lfnst-idx112f可以在数据流中以不同的方式用信号通知。
[0186]
图15所示的函数transform_tree113是递归的并且在所有子分区130上循环。因此,lfnst_idx 112f仅在块120结束时用信号通知一次。可以检查213变换块120的子分区130的宽度和高度是否都至少为4。如果变换块120的每个子分区130的宽度和高度都至少为4,则lfnst_idx 112f可以仅在数据流中用信号通知或由解码器从数据流导出。如果预定块是isp块,即使用分割128将帧内预测块120分割成分区130,则可以仅在亮度分量中违反该条件。在isp的情况下,即针对被分割128的预定块120,忽略条件2(参见lfnstdconly 313)。
换言之,针对被分割128的预定块120,可以从/向数据流中导出/用信号通知标识预定变换t的信息136,而无需控制是否在每个分区130中存在至少一个不是dc系数(0,0)的非零系数。然而,针对每个分区,检查该相应分区的cbf(编码块标志)是否不为零。可以仅针对包括至少一个非零变换系数的分区,从/向数据流中导出/用信号通知标识预定变换t的信息136。注意,在vvc中,使用isp的块总是至少有一个具有非零cbf的分区。
[0187]
下面描述伸缩变换系数的变换过程。针对isp的主变换选择可能受lfnst_idx语法元素112f的影响。针对块120或每个分区130的水平和竖直方向,主变换由trtypehor和trtypever指定。主变换是可分离变换。
[0188]
指定水平变换内核的变量trtypehor和指定竖直变换内核的变量trtypever如下导出:
[0189]-如果以下条件中一个或多个为真,则trtypehor和trtypever设置为等于0。
[0190]-cidx大于0
[0191]-intrasubpartitionssplittype不等于isp_no_split,并且lfnst_idx不等于0
[0192]-否则,如果implicitmtsenabled等于1,则应用以下:
[0193]-如果cu_sbt_flag等于1,则取决于cu_sbt_horizontal_flag和cu_sbt_pos_flag,在表40中指定trtypehor和trtypever。
[0194]-否则(cu_sbt_flag等于0),trtypehor和trtypever如下导出:
[0195]
trtypehor=(ntbw>=4&&ntbw<=16)?1:0
[0196]
trtypever=(ntbh>=4&&ntbh<=16)?1:0
[0197]-否则,取决于mts_idx在vvc标准的表39中指定trtypehor和trtypever。
[0198]
针对isp情况,如果lfnst_idx>0,则trtypehor和trtypever设置为0(0代表dct-ii)。因此,帧内预测和分区后的预定块120将作为主变换的dct-ii用作水平变换以及用作竖直变换。主变换与第一变换将会是的变换相同。
[0199]
使(dct-ii,dct-ii)作为主变换的标志被称为spsmts_enabled_flag(mts的意思是“多变换选择”)。如果sps_mts_enabled_flag为0,则在所有情况下主变换都是(dct-ii,dct-ii,而这与是否使用lfnst的事实完全无关。换言之,主变换tp等于第一变换t1。因此,解码器/编码器被配置为:从/向数据流中导出/编码标识包括第一变换t1和第二变换t2的变换的集合138中的预定变换t的信息136,其中第二变换t2等于第一变换t1与应用到第一变换t1的系数子集140上的次级变换ts的级联。因此,在这种情况下,针对1fnst_idx=0和lfnst_idx>0情况,将dct-ii作为主变换。
[0200]
sps_mts_enabled_flag等于1指定sps_explicit_mts_intra_enabled_flag和sps_explicit_mts_inter_enabled_flag存在于sps中。sps_mts_enabled_flag等于0指定sps_explicit_mts_intra_enabled_flag和sps_explicit_mts_inter_enabled_flag不存于sps中。
[0201]
在伸缩变换系数的变换过程中,hls标志设置为0防止设置trtypehor和trtypever的值:
[0202]
变量implicitmtsenabled如下导出:
[0203]-如果sps_mts_enabled_flag等于1并且以下条件中的一个或多个为真,则implicitmtsenabled设置为等于1:
[0204]-intrasubpartitionssplittype不等于isp_no_split
[0205]-cu_sbt_flag等于1且max(ntbw,ntbh)小于或等于32
[0206]-sps_explicit_mts_intra_enabled_flag等于0并且cupredmode[0][xtby][ytby]等于mode_intra,以及
[0207]
lfnst_idx[x0][y0]等于0并且intra_mip_flag[x0][y0]等于0
[0208]-否则,implicitmtsenabled设置为等于0。变量implicitmtsenabled保持为0值,这防止主变换可以是除了dct-ii之外的任何内容。
[0209]
指定水平变换内核的变量trtypehor和指定竖直变换内核的变量trtypever如下导出:
[0210]-如果以下条件中一个或多个为真,则trtypehor和trtypever设置为等于0。
[0211]-cidx大于0
[0212]-intrasubpartitionssplittype不等于isp_no_split并且lfnst_idx不等于0(如果lfnst_idx不为0,这使主变换为dct-ii。这独立于implicitmtsenabled。主变换是第一变换)
[0213]-否则,如果implicitmtsenabled等于1,则应用以下:
[0214]-如果cu_sbt_flag等于1,则取决于cu_sbt_horizontal_flag和cu_sbt_pos_flag,在表40中指定trtypehor和trtypever。
[0215]-否则(cu_sbt_flag等于0),trtypehor和trtypever如下导出:
[0216]
trtypehor=(ntbw>=4&&ntbw<=16)?1:0
[0217]
trtypever=(ntbh>=4&&ntbh<=16)?1:0
[0218]-否则,取决于mts_idx在vvc标准的表39中指定trtypehor和trtypever。预定块120的变换(即trtypehor和trtypever)设置为其默认值(针对isp,mts_idx总是0)。因此trtypehor和trtypever设置为0,即dct-ii。
[0219]
因此显而易见,第一变换和第二变换的主变换可以是相同的变换。解码器/编码器被配置为使用第一变换作为主变换。
[0220]
可以独立于块120是否被分割128(即是否是isp块),根据以下特征来应用第二变换:
[0221]
具体地,利用1fnst_idx 112f,变量applylfnstflag如下导出:
[0222]-如果treetype等于single_tree,则应用下式:
[0223]
applylfnstflag=(lfnst_idx>0&&cidx==0)?1:0
[0224]-否则,应用下式:
[0225]
applylfnstflag=(lfnst_idx>0)?1:0
[0226]
在伸缩变换系数的变换过程中,applylfhstflag为变换过程准备变量,并且applylfnstflag调用它:
[0227]
当applylfhstflag等于1,transform_skip_flag[xtby][ytby][cidx]等于0,以及ntbw和ntbh都大于或等于4时,应用以下:
[0228]-变量predmodeintra、nlfnstoutsize、log2lfnstsize、nlfnstsize和nonzerosize如下导出:
[0229]
predmodeintra=(cidx==0)?
[0230]
intrapredmodey[xtby][ytby]:intrapredmodec[xtby][ytby]
[0231]
(1178)
[0232]
nlfnstoutsize=(ntbw>=8&&ntbh>=8)?48:16
[0233]
log2lfnstsize=(ntbw>=8&&ntbh>=8)?3:2
[0234]
nlfnstsize=1<<log2lfhstsize
[0235]
nonzerosize=((ntbw==4&&ntbh==4)||
[0236]
(ntbw==8&&ntbh==8))?8:16
[0237]-当intra_mip_flag[xtby][ytby]等于1且cidx等于0时,predmodeintra设置为等于intra_planar。
[0238]-当predmodeintra等于intra_lt_cclm、intra_l_cclm或intra_t_cclm时,predmodeintra如下导出:
[0239]-如果
[0240]
intra_mip_flag[xtby ntbw*subwidthc/2][ytby ntbh*
[0241]
subheightc/2]等于1,则predmodeintra设置为等于
[0242]
intra_planar。
[0243]-否则,如果
[0244]-cupredmode[0][xtby ntbw*subwidthc/2][ytby ntbh*subheightc/2]等于mode_ibc或mode_plt,则predmodeintra设置为等于intra_dc。
[0245]-否则,predmodeintra设置为等于
[0246]-intrapredmodey[xtby ntbw*subwidthc/2][ytby ntbh*subheightc/2]。
[0247]-以predmodeintra、ntbw、ntbh和cidx作为输入,并以修改后的predmodeintra作为输出,调用第8.4.5.2.6节中所指定的广角帧内预测模式映射过程。
[0248]-列表u[x]的值如下导出,其中x=0..nonzerosize-1:
[0249]
xc=diagscanorder[2][2][x][0]
[0250]
yc=diagscanorder[2][2][x][1]
[0251]
u[x]=d[xc][yc]
[0252]-以伸缩变换系数nonzerosize的输入长度、设置为等于nlfnstoutsize的变换输出长度ntrs、伸缩非零变换系数u[x]的列表(其中x=0..nonzerosize-1)、以及用于lfnst集合选择的帧内预测模式predmodeintra的作为输入,并以列表v[x](其中x=0..nlfnstoutsize-1)作为输出,调用第8.7.4.2节中所指定的一维低频不可分变换过程。(这调用实际执行lfnst变换过程的过程。)
[0253]-阵列d[x][y]如下导出,其中x=0..nlfnstsize-1,y=0..nlfnstsize-1:
[0254]-如果predmodeintra小于或等于34,则应用下式:
[0255]
d[x][y]=(y<4)?v[x (y<<log2lfnstsize)]:
[0256]
((x<4)?v[32 x ((y-4)<<2)]:d[x][y])
[0257]-否则,应用下式:
[0258]
d[x][y]=(x<4)?v[y (x<<log2lfnstsize)]:
[0259]
((y<4)?v[32 y ((x-4)<<2)]:d[x][y])
[0260]
根据实施例,关于图4和/或图5描述的编码器/解码器可以包括关于图6至图8描述
的特征和/或功能。
[0261]
四拆分的使用(实施例)
[0262]
isp的当前设计允许使用两种不同的拆分类型:
[0263]
·
水平拆分:块沿竖直维度划分成n个部分
[0264]
·
竖直拆分:块沿水平维度划分成n个部分
[0265]
在vtm-5.0中,取决于块大小,n可以是2或4。
[0266]
在图6所示的实施例中,引入了第三拆分类型。图片110被编码到数据流112中。根据图6,解码器/编码器被配置为:从/向数据流112中导出/编码图片110以图片110被细分成的块120为粒度的到包括帧内预测116和帧间预测118的预测类型的集合114的分配112a,使得每个块120被分配给预测类型的集合114中的相关联的预测类型。此外,解码器/编码器被配置为:针对分配了帧内预测116的每个帧内预测块120,从/向数据流112中导出/编码帧内预测模式的集合122中相关联的帧内预测模式125。
[0267]
针对其相关联的帧内预测模式125被包含在预定帧内预测模式的预定子集124中的每个预定帧内预测块120,解码器/编码器被配置为:从/向数据流112中导出/编码标识分割模式的集合127中的该相应预定帧内预测块120到分区130的分割128的信息126,所述分割模式的集合127包括:第一分割127a、第二分割127b、以及第三分割127c,其中根据该第一分割127a,该相应预定帧内预测块120被水平拆分,使得该相应预定帧内预测块120的分区130成为与该相应预定帧内预测块120一样宽;根据该第二分割127b,该相应预定帧内预测块120被竖直拆分,使得该相应预定帧内预测块120的分区130成为与该相应预定帧内预测块120一样高;以及根据该第三分割127c,该相应预定帧内预测块120被水平以及竖直拆分,使得该相应预定帧内预测块120的分区130以分区行和分区列布置。此外,针对其相关联的帧内预测模式125被包含在预定帧内预测模式的预定子集124内的每个预定帧内预测块120,解码器/编码器被配置为:以取决于分配给该相应预定帧内预测块120的预定帧内预测模式125的方式,对该相应预定帧内预测块120的每个分区130进行帧内预测。
[0268]
解码器/编码器被配置为:针对每个块120,通过导出/编码每个预定帧内预测块的预测残差132,从/向数据流112中导出/编码关于该相应块120的预测残差132的信息112e,其中通过以下方式导出/编码每个预定帧内预测块120的预测残差:针对该相应预定帧内预测块120的每个分区130,经由预定变换t从/向数据流112中导出/编码与该相应预定帧内预测块120的该相应分区130的空域预测残差信号相关的分区特定预测残差信号。
[0269]
此外,解码器/编码器被配置为使用关于该相应块120的预测残差132的信息和使用分配给该相应块120的预测类型125而获得的预测信号来重构每个块120。
[0270]
根据实施例,该相应预定帧内预测块120以第三分割127c被水平和竖直拆分,使得分区行的数量等于分区列的数量。
[0271]
根据实施例,解码器被配置为通过读取在数据流112中传输的针对该相应预定帧内预测块120的分割指示符112d,以及使用该分割指示符112d(即,分割索引),从数据流112中导出标识分割模式的集合127中的该相应预定帧内预测块120到分区130的分割128的信息126,以从分割模式的集合127中标识出该相应预定帧内预测块120到分区130的分割128。编码器可以包括与解码器并行的特征,其中编码器被配置为通过在数据流112中传输该分割指示符112d来将信息126编码到数据流112中。
[0272]
根据实施例,解码器被配置为通过以下方式,读取在数据流112中针对预定帧内预测块120传输的分割指示符112d:读取分割指示符112d所包含的第一标志,所述第一标准指示该相应预定帧内预测块120的分割128是否是第三分割127c。编码器可以包括与解码器并行的特征,其中编码器被配置为通过传输第一标志来传输分割指示符112d。如果该相应预定帧内预测块120的分割128不是第三分割127c,则解码器/编码器被配置为读取/传输分割指示符112d所包含的第二标志,所述第二标志指示该相应预定帧内预测块120的分割128是第一分割127a还是第二分割127b。
[0273]
根据实施例,关于图6描述的编码器/解码器可以包括关于图4、图5、图7和图8中的实施例之一描述的特征和/或功能。
[0274]
优选版本示例:
[0275]
每个分区的大小相同,而n的优选值可以是2或4。因此,在相同维度尺寸的情况下将有4个或16个分区。
[0276]
算法提议:
[0277]
提出包括另一拆分类型,即第三分割127c,即四拆分,其将块在水平和竖直维度上各自划分成n个部分。因此,子分区的总数将为n2。例如,针对n=2,将一共有4个子分区。这种拆分类型将需要新的语法元素来指示它被使用,或它可以由解码器侧的现有块参数(例如块维度尺寸或帧内模式)隐式地决定。该拆分将与现有的拆分类型相同的方式起作用。
[0278]
局部帧内模式的使用(实施例)
[0279]
在vtm-5.0的isp设计中,帧内模式在所有子分区之间共享。因此,例如,仅需针对整个块用信号通知一次。将该模式定义为全局块模式。
[0280]
在图7所示的实施例中,引入了局部帧内模式。每个分区130(例如,1300至1303)可以被分配给它自己的帧内模式。预定帧内预测块120的一些分区130可以被分配给与预定帧内预测块120的其他分区130相同的帧内模式。备选地,预定帧内预测块120的每个分区130被分配给与预定帧内预测块120的其他分区130不同的帧内模式。
[0281]
图7示出了用于从数据流112中对图像进行解码的解码器以及用于将图像编码到数据流112中的编码器的细节。同样未在图7中示出,解码器/编码器被配置为:从/向数据流112中导出/编码图片以图片被细分成的块为粒度的到包括帧内预测116和帧间预测118的预测类型的集合114的分配,使得每个块120被分配给预测类型的集合114中的相关联的预测类型。这可以由类似于关于图4到6描述的解码器/编码器的解码器/编码器执行。
[0282]
此外,解码器/编码器被配置为:针对分配了帧内预测的每个帧内预测块120,从/向数据流112导出/编码帧内预测模式的集合中的相关联的帧内预测模式125。帧内预测模式的集合可以等于或类似于关于图4或图6描述的集合122,并且在下面提到的预定帧内预测模式的子集中可以等于或类似于关于图4或图6描述的预定帧内预测模式的子集124。
[0283]
针对其相关联的帧内预测模式125被包含在预定帧内预测模式的预定子集124内的每个预定帧内预测块120,解码器/编码器被配置为:从/向数据流112中导出/编码关于该相应预定帧内预测块128到分区130的分割128的信息126。分割128的导出或编码可以如关于图4和/或图6所描述的那样执行。此外,针对其相关联的帧内预测模式125被包括在预定帧内预测模式的预定子集124中的每个预定帧内预测块120,解码器/编码器被配置为:从/向数据流112导出/编码标识规则的集合154中的预定规则156的信息150,使用该预定规则
156,针对该相应预定帧内预测块120的每个分区130,基于该相应预定帧内预测块120的相关联的帧内预测模式125,从预定帧内预测模式的预定子集124中确定分区特定帧内预测模式152。使用针对该相应预定帧内预测块120的每个分区130确定的分区特定帧内预测模式152来对该相应分区进行帧内预测。第一分割特定帧内预测模式1520可以分配给第一分割1300,第二分割特定帧内预测模式1521可以分配给第二分割1301,第三分割特定帧内预测模式1522可以分配给第三分割1302,以及第四分区特定帧内预测模式1523可以分配给第四分区1303。针对分区130确定哪个分区特定帧内预测模式152取决于预定规则156和该相应预定帧内预测块120的相关联的帧内预测模式125。
[0284]
此外,解码器/编码器被配置为:针对每个块120,通过导出每个预定帧内预测块的预测残差,从/自数据流112中导出/编码关于该相应块120的预测残差的信息,其中通过以下方式导出每个预定帧内预测块120的预测残差:针对该相应预定帧内预测块的每个分区130,经由预定变换t从数据流112中导出与该相应预定帧内预测块120的该相应分区130的空域预测残差信号134相关的分区特定预测残差信号132。预测残差的导出可以如图4或图6中描述的那样执行。
[0285]
解码器/编码器被配置为使用关于该相应块120的预测残差的信息和使用分配给该相应块120的预测类型而获得的预测信号来重构每个块120。可以通过使用针对该相应分区130确定的分区特定帧内预测模式152针对每个分区130而获得分区特定预测信号来重构块120。可以对分区130依次进行帧内预测。块120可以通过使用该相应分区130的分区特定预测信号和分区特定预测残差依次重构块120的每个分区130来重构。
[0286]
根据实施例,解码器/编码器被配置为:以取决于分配给该相应预定帧内预测块120的预定帧内预测模式125的方式,使用由先前分区的分区特定预测残差信号132对先前分区的帧内预测信号的校正,依次执行对该相应预定帧内预测块120的分区130的帧内预测。
[0287]
根据实施例,解码器/编码器被配置为:通过读取在数据流112中传输的针对该相应预定帧内预测块120的规则索引112g,或通过基于相邻块的特征来预测该规则索引,从/向数据流112中导出/编码标识规则的集合154中的预定规则156的信息150,针对该相应预定帧内预测块120的每个分区130,使用该预定规则156,基于该相应预定帧内预测块的相关联的帧内预测模式125,从预定帧内预测模式的预定子集124中确定分区特定帧内预测模式152。因此,标识规则的集合154中的预定规则156的信息150可以用在数据流112中传输的规则索引112g显式地用信号通知,或可以通过基于与预定区块120相邻的相邻块的特征对规则索引的预测来隐式地获得。可以使用规则索引以标识规则的集合154中的预定规则156。
[0288]
根据实施例,解码器/编码器被配置为使得:规则的集合154的每个规则确定该相应预定帧内预测块120的分区130的分区特定帧内预测模式152,使得如果该相应预定帧内预测块120的相关联的帧内预测模式125是角度模式123a,则该相应预定帧内预测块120的分区130的分区特定帧内预测模式152也是角度模式123a。此外,如图8所示,该相应预定帧内预测块120的分区130的分区特定帧内预测模式152的帧内预测方向170的平均值等于该相应预定帧内预测块120的相关联的帧内预测模式125的帧内预测方向172。在角度帧内预测模式123a根据它们的相关联的帧内预测方向的顺时针旋转排序的情况下,图8在左侧示出了根据规则的集合154中的第一规则1551的分区特定帧内预测模式152的帧内预测方向
170,而图8在右侧示出了根据规则的集合154中的第二规则1552的分区特定帧内预测模式152的帧内预测方向170。
[0289]
如上面已经概述,角度帧内预测模式123a在帧内预测方向170/172上相互不同。每个角度帧内预测模式123a可以具有与之相关联的索引,其中索引与角度帧内预测模式123a的关联可以使得:当根据相关联的模式索引对角度帧内预测模式123a进行排序时,方向单调地顺时针或逆时针旋转。
[0290]
根据实施例,解码器/编码器被配置为使得规则的集合154包括一对或多对的第一变型规则(例如1551)和第二变型规则(例如1552)。第一变型规则(例如第一规则1551),其以如下方式确定该相应预定帧内预测块120的分区130的分区特定帧内预测模式152:当沿着预定方向174在空间上遍历分区130时,该相应预定帧内预测块120的分区130的分区特定帧内预测模式152的帧内预测方向170以一角度偏离幅度和相反的角度偏移符号偏离该相应预定帧内预测块120的相关联的帧内预测模式125的帧内预测方向172,所述角度偏离幅度随着沿预定方向174到该相应预定帧内预测块120的中间的距离而单调递增,并且所述中间的上游与所述中间的下游相比具有相反的角度偏离符号。第二变型规则(例如第二规则1552),其以如下方式确定该相应预定帧内预测块120的分区130的分区特定帧内预测模式152:针对该相应预定帧内预测块120的每个分区130,该相应分区130的分区特定帧内预测模式152的帧内预测方向170以一角度偏离幅度和一角度偏离符号偏离该相应预定帧内预测块120的相关联的帧内预测模式125的帧内预测方向172,所述角度偏离幅度等于该相应分区130的分区特定帧内预测模式152的帧内预测方向170根据第一变型规则(例如第一规则1551)相对于该相应预定帧内预测块120的相关联的帧内预测模式125的偏离的角度偏离幅度,而所述角度偏离符号与该相应分区130的分区特定帧内预测模式152的帧内预测方向170根据第一变型规则相对于该相应预定帧内预测块120的相关联的帧内预测模式125的偏离的角度偏离符号相反。第一变型规则1551和第二变型规则1552通过相同的角度偏离幅度但相反的角度偏离符号来定义每个分区的分区特定帧内预测模式152。
[0291]
在分割128的上述导出或编码中,信息126可以标识分割模式的集合127中的分割128。如图4或图6所示,分割模式的集合127可以包括:第一分割127a、以及第二分割127b,其中根据第一分割127a,该相应预定帧内预测块120被水平拆分,使得该相应预定帧内预测块120的分区130成为与该相应预定帧内预测块120一样宽;以及根据第二分割127b,该相应预定帧内预测块120被竖直拆分,使得该相应预定帧内预测块120的分区130成为与该相应预定帧内预测块120一样高。可选地,分割模式的集合127包括第三分割127c,根据第三分割127c,该相应预定帧内预测块120被水平和竖直拆分,使得该相应预定帧内预测块120的分区130以分区行和分区列布置。预定方向174在该相应预定帧内预测块120的分割128是第一分割127a的情况下是竖直的,而在该相应预定帧内预测块120的分割128是第二分割127b的情况下是水平的。图7和图8所示的分割根据第一分割127a执行。
[0292]
根据实施例,解码器/编码器被配置为基于该相应预定帧内预测块120的维度尺寸,按照分区130的数量来确定分割128。分割128取决于例如该相应预定帧内预测块120的高度和宽度。分割128可以导致分区130的数量超过两个。该相应预定帧内预测块120可以通过分割128被分割成至少三个分区130。
[0293]
根据实施例,关于图7和/或图8描述的编码器/解码器可以包括关于图1至6描述的
特征和/或功能。
[0294]
算法提议:
[0295]
提出允许每个子分区130具有其自己的帧内模式,即分区特定帧内预测模式152,其不一定必须等于全局块模式,即相关联的帧内预测模式125。在这种新方法中,全局块模式125将例如仍然由解码器解析,但然后每个子分区130将具有其自己的局部模式152。该局部模式152可以取决于全局块模式125、子分区索引、显式发送的语法元素、相邻的帧内模式等。例如,有具有4个子分区(例如分区1300至1303)且具有从0至3的索引和全局帧内模式i的块120。然后,子分区130的局部帧内模式152可以如下:
[0296]
·
局部模式0=i-2
[0297]
·
局部模式1=i-1
[0298]
·
局部模式2=i 1
[0299]
·
局部模式3=i 2
[0300]
优选版本示例:
[0301]
·
如果使用isp,则解码器解析标志(即,局部帧内预测指示112h),以决定是否存在帧内模式125的局部变化。解码器/编码器可以被配置为读取/传输局部帧内预测指示112h,其指示分区特定帧内预测模式152是否用于每个分区130的预测。
[0302]
·
如果将存在局部变化,则将发送第二标志(即,规则索引112g)以指示将采用哪种变化模型,即规则156。在局部帧内预测指示112h指示使用分区特定帧内预测模式152的情况下,解码器/编码器可以被配置为:读取/传输规则索引112g或基于相邻块的特征来预测规则索引,并使用该规则索引以从规则的集合154中标识出预定规则156。存在例如两种可能性:
[0303]
子分区索引模型1模型20i-3i 31i-1i 12i 1i-13i 3i-3
[0304]
附加注释:
[0305]
图4或图6中所示的图片110可以与关于图1至图3描述的图片12或12

相关联。图4、图6和图7中所示的数据流112可以与关于图1和图2描述的数据流14相关联。图4、图6、图7和图8中所示的帧内预测块120可以与关于图3描述的帧内预测块80相关联。
[0306]
图9示出了用于对图片进行解码的方法1000,其包括从图片被编码到其中的数据流中导出1100图片以图片被细分成的块为粒度的到包括帧内预测和帧间预测的预测类型的集合的分配,使得每个块被分配给预测类型的集合中的相关联的预测类型。方法1000包括:针对分配了帧内预测的每个帧内预测块,从数据流中导出帧内预测模式的集合中的相关联的帧内预测模式。针对其相关联的帧内预测模式被包含在预定帧内预测模式的预定子集内的每个预定帧内预测块,方法1000包括:从数据流中导出1300关于该相应预定帧内预测块到分区的分割的信息;以及以取决于分配给该相应预定帧内预测块的预定帧内预测模式的方式,对该相应预定帧内预测块的每个分区进行帧内预测1400。另外,方法1000包括:针对每个块,通过导出每个预定帧内预测块的预测残差,从数据流中导出1500关于该相应
块的预测残差的信息,其中通过以下方式导出每个预定帧内预测块的预测残差:针对该相应预定帧内预测块的每个分区,经由预定变换从数据流中导出1510与该相应预定帧内预测块的该相应分区的空域预测残差信号相关的分区特定预测残差信号。另外,方法1000包括:针对每个块,通过导出每个预定帧内预测块的预测残差,从数据流中导出1500关于该相应块的预测残差的信息,其中通过以下方式导出每个预定帧内预测块的预测残差:从数据流中导出1520标识变换的集合中的预定变换的信息,该变换的集合包括第一变换和第二变换,该第二变换等于主变换与应用到主变换的系数子集上的次级变换的级联。使用关于该相应块的预测残差的信息和使用分配给该相应块的预测类型而获得的预测信号来重构1600每个块。
[0307]
如图10所示,与用于解码的方法1000并行的用于对图片进行编码的方法2000包括:将图片以图片被细分成的块为粒度的到包括帧内预测和帧间预测的预测类型的集合的分配编码2100到图片被编码到其中的数据流中,使得每个块被分配给预测类型的集合中的相关联的预测类型。方法2000包括:针对分配了帧内预测的每个帧内预测块,将帧内预测模式的集合中的相关联的帧内预测模式编码2200到数据流中。针对其相关联的帧内预测模式包括在预定帧内预测模式的预定子集中的每个预定帧内预测块,方法2000包括:将关于该相应预定帧内预测块到分区的分割的信息编码1300到数据流中;以及以取决于分配给该相应预定帧内预测块的预定帧内预测模式的方式,对该相应预定帧内预测块的每个分区进行帧内预测2400。另外,方法2000包括:针对每个块,通过编码每个预定帧内预测块的预测残差编码,将关于该相应块的预测残差的信息编码到数据流中,其中通过以下方式编码每个预定帧内预测块的预测残差编码:针对该相应预定帧内预测块的每个分区,经由预定变换将与该相应预定帧内预测块的该相应分区的空域预测残差信号相关的分区特定预测残差信号编码2510到数据流中。另外,方法2000包括:针对每个块,通过对每个预定帧内预测块的预测残差进行编码,将相应块的预测残差的信息编码2500到数据流中,其中通过以下方式对每个预定帧内预测块的预测残差进行编码:将标识变换的集合中的预定变换的信息编码2520到数据流中,该变换的集合包括第一变换和第二变换,该第二变换等于主变换与应用到主变换的系数子集上的次级变换的级联。针对每个块,该相应块是能够使用关于该相应块的预测残差的信息和使用分配给该相应块的预测类型而获得的预测信号进行重构的。
[0308]
图11出了用于对图片进行解码的方法3000,其包括从图片被编码到其中的数据流中导出1100图片以图片被细分成的块为粒度的到包括帧内预测和帧间预测的预测类型的集合的分配,使得每个块被分配给预测类型的集合中的相关联的预测类型。方法3000包括:针对分配了帧内预测的每个帧内预测块,从数据流中导出帧内预测模式的集合中的相关联的帧内预测模式。针对其相关联的帧内预测模式被包含在预定帧内预测模式的预定子集中的每个预定帧内预测块,方法3000包括:从数据流导出1300标识分割模式的集合中的该相应预定帧内预测块到分区的分割的信息,所述分割模式的集合包括:第一分割、第二分割、以及第三分割,其中根据该第一分割,该相应预定帧内预测块被水平拆分,使得该相应预定帧内预测块的分区成为与该相应预定帧内预测块一样宽;根据该第二分割,该相应预定帧内预测块被竖直拆分,使得该相应预定帧内预测块的分区成为与该相应预定帧内预测块一样高;以及根据该第三分割,该相应预定帧内预测块被水平以及竖直拆分,使得该相应预定帧内预测块的分区以分区行和分区列布置。此外,针对其相关联的帧内预测模式被包含在
预定帧内预测模式的预定子集内的每个预定帧内预测块,方法3000包括:以取决于分配给该相应预定帧内预测块的预定帧内预测模式的方式,对该相应预定帧内预测块的每个分区进行帧内预测1400。另外,方法3000包括:针对每个块,通过导出每个预定帧内预测块的预测残差,从数据流中导出1500关于该相应块的预测残差的信息,其中通过以下方式导出每个预定帧内预测块的预测残差:针对该相应预定帧内预测块的每个分区,经由预定变换从数据流中导出与该相应预定帧内预测块的该相应分区的空域预测残差信号相关的分区特定预测残差信号。方法3000包括使用关于该相应块的预测残差的信息和使用分配给该相应块的预测类型而获得的预测信号来重构1600每个块。
[0309]
如图12所示,与用于解码的方法3000并行的用于对图片进行编码的方法4000包括:将图片以图片被细分成的块为粒度的到包括帧内预测和帧间预测的预测类型的集合的分配编码2100到图片被编码到其中的数据流中,使得每个块被分配给预测类型的集合中的相关联的预测类型。方法4000包括:针对分配了帧内预测的每个帧内预测块,将帧内预测模式的集合中的相关联的帧内预测模式编码2200到数据流中。针对其相关联的帧内预测模式被包含在预定帧内预测模式的预定子集中的每个预定帧内预测块,方法4000包括:将标识分割模式的集合中的该相应预定帧内预测块到分区的分割的信息编码2300到数据流中,所述分割模式的集合包括:第一分割、第二分割、以及第三分割,其中根据该第一分割,该相应预定帧内预测块被水平拆分,使得该相应预定帧内预测块的分区成为与该相应预定帧内预测块一样宽;根据该第二分割,该相应预定帧内预测块被竖直拆分,使得该相应预定帧内预测块的分区成为与该相应预定帧内预测块一样高;以及根据该第三分割,该相应预定帧内预测块被水平以及竖直拆分,使得该相应预定帧内预测块的分区以分区行和分区列布置。此外,针对其相关联的帧内预测模式被包含在预定帧内预测模式的预定子集内的每个预定帧内预测块,方法4000包括:以取决于分配给该相应预定帧内预测块的预定帧内预测模式的方式,对该相应预定帧内预测块的每个分区进行帧内预测2400。另外,方法4000包括:针对每个块,通过编码每个预定帧内预测块的预测残差编码,将关于该相应块的预测残差的信息编码2500到数据流中,其中通过以下方式编码每个预定帧内预测块的预测残差编码:针对该相应预定帧内预测块的每个分区,经由预定变换将与该相应预定帧内预测块的该相应分区的空域预测残差信号相关的分区特定预测残差信号编码到数据流中。针对每个块,该相应块是可使用关于该相应块的预测残差的信息和使用分配给该相应块的预测类型而获得的预测信号进行重构的。
[0310]
图13出了用于对图片进行解码的方法5000,其包括从图片被编码到其中的数据流中导出1100图片以图片被细分成的块为粒度的到包括帧内预测和帧间预测的预测类型的集合的分配,使得每个块被分配给预测类型的集合中的相关联的预测类型。方法5000包括:针对分配了帧内预测的每个帧内预测块,从数据流中导出1200帧内预测模式的集合中的相关联的帧内预测模式。针对其相关联的帧内预测模式被包含在预定帧内预测模式的预定子集中的每个预定帧内预测块,方法5000包括:从数据流中导出1300关于该相应预定帧内预测块到分区的分割的信息;从数据流中导出1350标识规则的集合中的预定规则的信息,使用该预定规则,针对该相应预定帧内预测块的每个分区,基于该相应预定帧内预测块的相关联的帧内预测模式,从预定帧内预测模式的预定子集中确定分区特定帧内预测模式;以及使用针对相应预定帧内预测块的每个分区确定的分区特定帧内预测模式,对相应分区进
行帧内预测1400。另外,方法5000包括:针对每个块,通过导出每个预定帧内预测块的预测残差,从数据流中导出1500关于该相应块的预测残差的信息,其中通过以下方式导出每个预定帧内预测块的预测残差:针对该相应预定帧内预测块的每个分区,经由预定变换从数据流中导出与该相应预定帧内预测块的该相应分区的空域预测残差信号相关的分区特定预测残差信号。方法5000包括使用关于该相应块的预测残差的信息和使用分配给该相应块的预测类型而获得的预测信号来重构1600每个块。
[0311]
如图14所示,与用于解码的方法5000并行的用于对图片进行编码的方法6000包括:将图片以图片被细分成的块为粒度的到包括帧内预测和帧间预测的预测类型的集合的分配编码2100到图片被编码到其中的数据流中,使得每个块被分配给预测类型的集合中的相关联的预测类型。方法6000包括:针对分配了帧内预测的每个帧内预测块,将帧内预测模式的集合中的相关联的帧内预测模式编码2200到数据流中。针对其相关联的帧内预测模式被包含在预定帧内预测模式的预定子集中的每个预定帧内预测块,方法6000包括:将关于该相应预定帧内预测块到分区的分割的信息编码2300到数据流中;将标识规则的集合中的预定规则的信息编码2350到数据流中,使用该预定规则,针对该相应预定帧内预测块的每个分区,基于该相应预定帧内预测块的相关联的帧内预测模式,从预定帧内预测模式的预定子集中确定分区特定帧内预测模式;以及使用针对该相应分区确定的分区特定帧内预测模式,对该相应预定帧内预测块的每个分区进行帧内预测2400。另外,方法6000包括:针对每个块,通过编码每个预定帧内预测块的预测残差编码,将关于该相应块的预测残差的信息编码2500到数据流中,其中通过以下方式编码每个预定帧内预测块的预测残差编码:针对该相应预定帧内预测块的每个分区,经由预定变换将与该相应预定帧内预测块的该相应分区的空域预测残差信号相关的分区特定预测残差信号编码到数据流中。针对每个块,该相应块是可使用关于该相应块的预测残差的信息和使用分配给该相应块的预测类型而获得的预测信号进行重构的。
[0312]
其他实施例:
[0313]
虽然已经在装置的上下文中描述了一些方面,但是将清楚的是,这些方面还表示对应方法的描述,其中,块或设备对应于方法步骤或方法步骤的特征。类似地,在方法步骤上下文中描述的方面也表示对相应块或项或各个装置的特征的描述。可以由(或使用)硬件设备(诸如,微处理器、可编程计算机或电子电路)来执行一些或全部方法步骤。在一些实施例中,可以由这种装置来执行最重要方法步骤中的一个或多个方法步骤。
[0314]
取决于某些实现要求,可以在硬件中或在软件中实现本发明的实施例。可以使用其上存储有电子可读控制信号的数字存储介质(例如,软盘、dvd、蓝光、cd、rom、prom、eprom、eeprom或闪存)来执行实现,该电子可读控制信号与可编程计算机系统协作(或能够与之协作)从而执行各个方法。因此,数字存储介质可以是计算机可读的。
[0315]
根据本发明的一些实施例包括具有电子可读控制信号的数据载体,其能够与可编程计算机系统协作以便执行本文所述的方法之一。
[0316]
通常,本发明的实施例可以实现为具有程序代码的计算机程序产品,程序代码可操作以在计算机程序产品在计算机上运行时执行方法之一。程序代码可以例如存储在机器可读载体上。
[0317]
其他实施例包括存储在机器可读载体上的计算机程序,该计算机程序用于执行本
文所述的方法之一。
[0318]
换言之,本发明方法的实施例因此是具有程序代码的计算机程序,该程序代码用于在计算机程序在计算机上运行时执行本文所述的方法之一。
[0319]
因此,本发明方法的另一实施例是其上记录有计算机程序的数据载体(或数字存储介质或计算机可读介质),该计算机程序用于执行本文所述的方法之一。数据载体、数字存储介质或记录介质通常是有形的和/或非瞬时性的。
[0320]
因此,本发明方法的另一实施例是表示计算机程序的数据流或信号序列,所述计算机程序用于执行本文所述的方法之一。数据流或信号序列可以例如被配置为经由数据通信连接(例如,经由互联网)传送。
[0321]
另一实施例包括处理装置,例如,计算机或可编程逻辑器件,所述处理装置被配置为或适于执行本文所述的方法之一。
[0322]
另一实施例包括其上安装有计算机程序的计算机,该计算机程序用于执行本文所述的方法之一。
[0323]
根据本发明的另一实施例包括被配置为向接收机(例如,以电子方式或以光学方式)传送计算机程序的装置或系统,该计算机程序用于执行本文所述的方法之一。接收机可以是例如计算机、移动设备、存储设备等。装置或系统可以例如包括用于向接收机传送计算机程序的文件服务器。
[0324]
在一些实施例中,可编程逻辑器件(例如,现场可编程门阵列)可以用于执行本文所述的方法的功能中的一些或全部。在一些实施例中,现场可编程门阵列可以与微处理器协作以执行本文所述的方法之一。通常,方法优选地由任意硬件装置来执行。
[0325]
本文描述的装置可以使用硬件装置、或使用计算机、或使用硬件装置和计算机的组合来实现。
[0326]
本文描述的装置或本文描述的装置的任何组件可以至少部分地在硬件和/或软件中实现。
[0327]
本文描述的方法可以使用硬件装置、或使用计算机、或使用硬件装置和计算机的组合来执行。
[0328]
本文描述的方法或本文描述的装置的任何组件可以至少部分地由硬件和/或由软件执行。
[0329]
上述实施例针对本发明的原理仅是说明性的。应理解的是,本文所述的布置和细节的修改和变形针对本领域其他技术人员将是显而易见的。因此,旨在仅由所附专利权利要求的范围来限制而不是由借助对本文的实施例的描述和解释所给出的具体细节来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献