用于视频编码和解码的色度处理的制作方法

文档序号:28816650发布日期:2022-02-09 06:23阅读:331来源:国知局
用于视频编码和解码的色度处理的制作方法

1.本公开涉及视频编码和解码。


背景技术:

2.为了实现高压缩效率,图像和视频编解码方案通常采用预测和变换来利用视频内容中的空间和时间冗余。通常,帧内或帧间预测被用于利用帧内或帧间相关性,然后对原始画面块和预测画面块之间的差异(通常表示为预测误差或预测残差)进行变换、量化和熵编解码。为了重建视频,压缩的数据通过与预测、变换、量化和熵编解码对应的逆过程来解码。


技术实现要素:

3.通常,本文描述的实施例的示例涉及使用色度残差缩放的视频编码和解码。
4.通常,实施例的另一示例涉及一种用于对画面信息进行编码的方法,其中该方法包括:确定随第一粒度变化用于缩放与包括在所述画面信息中的色度信息相关联的色度预测残差的第一缩放因子;确定随比所述第一粒度更细的第二粒度变化的第二缩放因子;基于所述第一缩放因子和所述第二缩放因子的组合缩放所述色度预测残差,以提供具有所述第二粒度的缩放的色度预测残差;以及基于所述缩放的色度预测残差对所述画面信息的至少一部分进行编码。
5.通常,实施例的另一示例涉及一种用于对画面信息进行解码的方法,其中该方法包括:确定随第一粒度变化用于缩放与包括在所述画面信息中的色度信息相关联的色度预测残差的第一缩放因子;确定随比所述第一粒度更细的第二粒度变化的第二缩放因子;基于所述第一缩放因子和所述第二缩放因子的组合缩放所述色度预测残差,以提供具有所述第二粒度的缩放的色度预测残差;以及基于所述缩放的色度预测残差对所述画面信息的至少一部分进行解码。
6.通常,实施例的另一示例涉及用于对画面信息进行编码的装置,该装置包括一个或多个处理器,被配置为:确定随第一粒度变化用于缩放与包括在所述画面信息中的色度信息相关联的色度预测残差的第一缩放因子;确定随比所述第一粒度更细的第二粒度变化的第二缩放因子;基于所述第一缩放因子和所述第二缩放因子的组合缩放所述色度预测残差,以提供具有所述第二粒度的缩放的色度预测残差;以及基于所述缩放的色度预测残差对所述画面信息的至少一部分进行编码。
7.通常,实施例的另一示例涉及用于对画面信息进行解码的装置,该装置包括一个或多个处理器,被配置为:确定随第一粒度变化用于缩放与包括在所述画面信息中的色度信息相关联的色度预测残差的第一缩放因子;确定随比所述第一粒度更细的第二粒度变化的第二缩放因子;基于所述第一缩放因子和所述第二缩放因子的组合缩放所述色度预测残差,以提供具有所述第二粒度的缩放的色度预测残差;以及基于所述缩放的色度预测残差对所述画面信息的至少一部分进行解码。
8.通常,实施例的另一示例涉及一种对画面信息进行编码的方法,包括:确定随第一
粒度变化用于缩放与包括在画面信息中的色度信息相关联的色度预测残差的第一缩放因子;组合第一缩放因子与第二缩放因子,以提供具有比第一粒度更细的第二粒度的组合的缩放因子;基于组合的缩放因子缩放色度预测残差,以提供随第二粒度变化的缩放的色度预测残差;以及基于缩放的色度预测残差对画面信息的至少一部分进行编码。
9.通常,实施例的另一示例涉及一种用于对画面信息进行解码的方法,包括:确定随第一粒度变化用于缩放与包括在所述画面信息中的色度信息相关联的色度预测残差的第一缩放因子;组合所述第一缩放因子与第二缩放因子,以提供具有比所述第一粒度更细的第二粒度的组合的缩放因子;基于所述组合的缩放因子缩放所述色度预测残差,以提供随所述第二粒度变化的缩放的色度预测残差;以及基于所述缩放的色度预测残差对所述画面信息的至少一部分进行解码。
10.通常,实施例的另一示例涉及用于对画面信息进行编码的装置,包括一个或多个处理器,被配置为:确定随第一粒度变化用于缩放与包括在所述画面信息中的色度信息相关联的色度预测残差的第一缩放因子;组合所述第一缩放因子与第二缩放因子,以提供具有比所述第一粒度更细的第二粒度的组合的缩放因子;基于所述组合的缩放因子缩放所述色度预测残差,以提供随所述第二粒度变化的缩放的色度预测残差;以及基于所述缩放的色度预测残差对所述画面信息的至少一部分进行编码。
11.通常,实施例的另一示例涉及用于对画面信息进行解码的装置,包括:一个或多个处理器,被配置为:确定随第一粒度变化用于缩放与包括在所述画面信息中的色度信息相关联的色度预测残差的第一缩放因子;组合所述第一缩放因子与第二缩放因子,以提供具有比所述第一粒度更细的第二粒度的组合的缩放因子;基于所述组合的缩放因子缩放所述色度预测残差,以提供随所述第二粒度变化的缩放的色度预测残差;以及基于所述缩放的色度预测残差对所述画面信息的至少一部分进行解码。
12.如下所解释的,设想了各种修改和实施例,它们可以提供对视频编码和/或解码系统的改进,包括但不限于提高的压缩效率和/或编解码效率和/或处理效率和/或降低的复杂度中的一个或多个。
13.为了提供对本公开的一些方面的基本理解,以上呈现了主题的简化概述。本发明内容不是对主题的广泛概述。无意标识实施例的关键/关键元素或勾画主题的范围。其唯一目的是以简化形式呈现主题的一些概念,作为下面提供的更详细描述的前奏。
附图说明
14.通过结合附图考虑以下详细描述,可以更好地理解本公开,其中:
15.图1提供了描绘视频编码器的实施例的示例的框图;
16.图2提供了描绘视频解码器的实施例的示例的框图;
17.图3示出了可被用于表示压缩的画面的编解码树单元(ctu)和编解码树概念;
18.图4示出了编解码树单元(ctu)以及将ctu划分为编解码单元(cu)、预测单元(pu)和变换单元(tu);
19.图5示出了四叉树加二叉树(qtbt)表示的示例;
20.图6示出了可以在ctu的扩展qtbt表示中使用的编解码单元(cu)分割;
21.图7示出了包括图6的划分模式加上水平和垂直三叉树划分模式的cu划分模式的
扩展集合;
22.图8提供了画面和被选择以对画面进行编码的编解码结构的示例,所述画面包括四叉树分割或ctu的分解,其中嵌入有包括对称二叉树、非对称二叉树和三叉树分解的各种划分模式;
23.图9示出了色度量化参数(qp)导出过程的实施例的示例;
24.图10示出了使用缩放因子索引信令的色度解码过程的实施例的示例;
25.图11示出了使用从细粒度用信号通知的差量qp(dqp)导出的缩放因子的色度解码过程的实施例的示例;
26.图12示出了使用从细粒度用信号通知的dqp导出的缩放因子的色度解码过程的另一个实施例的示例;
27.图13示出了使用色度缩放因子索引的色度编码过程的实施例的示例;
28.图13a示出了使用色度缩放因子索引、限制索引值冗余的色度编码过程的实施例的示例;
29.图14示出了使用细粒度色度dqp的色度编码过程的实施例的示例;
30.图15提供了示出根据本文描述的各个方面和实施例的装置的实施例的示例的框图;
31.图16示出了根据本文描述的至少一个实施例的时间层的示例;
32.图17示出了用于对涉及如本文描述的色度预测残差的缩放的画面信息进行编码的至少一个实施例的示例;以及
33.图18示出了用于对涉及如本文描述的色度预测残差的缩放的画面信息进行解码的至少一个实施例的示例。
34.应当理解,附图是为了说明各个方面和实施例的示例的目的,并且不一定是唯一可能的配置。在各个附图中,相像的附图标记指相同或相似的特征。
具体实施方式
35.一般而言,本文描述的至少一个实施例涉及色度残差缩放的使用。例如,色度残差缩放涉及通过缩放因子对色度块中的色度预测残差信号进行缩放或逆缩放,该缩放因子取决于可以同位或邻近色度块的亮度采样。在解码器中,解码基于被解码的缩放因子表而发生,并且对于每个色度块,表中的索引是从与色度块同位或邻近色度块的亮度采样导出的。作为结果,存在亮度到色度的相关性,这会生成处理色度块的延迟。至少一个实施例解决了减少可能与所描述的色度块处理延迟相关联的任何不利影响。
36.现在转向附图,图1示出了诸如hevc编码器的视频编码器100的示例。hevc是由视频编解码联合协作小组(jct-vc)开发的压缩标准(参见,例如“itu-t h.265itu的电信标准化部门(10/2014),系列h:视听和多媒体系统,视听服务的基础设施-移动视频的编解码,高效视频编解码,推荐itu-t h.265”)。图1还可以示出对hevc标准进行改进的编码器或采用类似于hevc的技术的编码器,诸如基于联合视频专家组(jvet)开发的jem(联合探索模型)或在其上进行改进的编码器),例如,与指定的多功能视频编解码(vvc)的开发工作相关联的编码器。
37.在本技术中,术语“重建”和“解码”可以互换使用,术语“像素”和“采样”可以互换
使用,术语“画面”和“帧”可以互换使用。通常,但不一定,术语“重建”用在编码器侧,而“解码”用在解码器侧。
38.hevc规范区分“块”和“单元”,其中“块”寻址采样阵列中的特定区域(例如,亮度,y),并且“单元”包括与块相关联的所有编码的颜色分量(y、cb、cr或单色)、语法元素和预测数据(例如,运动矢量)的同位块。
39.对于编解码,画面被分割为具有可配置尺寸的正方形编解解码树块(ctb),并且编解码树块的连续集合被分组为条带。编解码树单元(ctu)包含编码的颜色分量的ctb。ctb是分割为编解解码块(cb)的四叉树的根,并且编解码块可以被分割为一个或多个预测块(pb)并形成分割为变换块(tb)的四叉树的根。对应于编解码块、预测块和变换块,编解码单元(cu)包括预测单元(pu)和树结构的变换单元(tu)的集合,pu包括所有颜色分量的预测信息,并且tu包括每个颜色分量的残差编解码语法结构。亮度分量的cb、pb和tb的尺寸适用于对应的cu、pu和tu。在本技术中,术语“块”可用于指ctu、cu、pu、tu、cb、pb和tb中的任一个。此外,“块”还可以用于指如h.264/avc或其他视频编解码标准中规定的宏块和分割,并且更一般地指的是各种尺寸的数据的阵列。
40.在图1中的编码器100中,画面由如下所述的编码器元件编码。要编码的画面信息在输入处提供并经过映射(101)和图像分割(102)。映射(101)通常适用于每个采样,并且可以涉及将一维(1d)函数应用于输入采样值以将它们转换为其他采样值。例如,1d函数旨在扩大采样值范围并允许在码字范围内更好地分布码字。图像分割(102)将图像划分为不同尺寸和形状的块,以便于优化速率-失真权衡。如上所述,映射和分割使得能够以cu为单位处理画面信息。每个cu是使用帧内或帧间模式来编码的。当以帧内模式编码cu时,编码器执行帧内预测(160)。在帧间模式中,执行运动估计(175)和补偿(170)。编码器决定(105)使用帧内模式或帧间模式中的哪一个来编码cu并通过预测模式标志指示帧内/帧间决定。帧内或帧间预测决定(105)随后是前向映射(191)以产生预测块。通常,前向映射(191)与映射(101)具有相同的精神并且可以与映射互补。通过从原始图像块中减去(110)预测块来计算预测残差。
41.然后对预测残差进行变换(125)和量化(130)。量化的变换系数以及运动矢量和其他语法元素被熵编解码(145)以输出比特流。编码器还可以跳过变换并在4x4 tu的基础上直接地对未变换的残差信号应用量化。编码器还可以绕过变换和量化,即,直接地对残差进行编解码,而不应用变换或量化过程。在直接pcm编解码中,不应用预测并且编解码单元采样直接被编解码到比特流中。
42.编码器对编码的块进行解码以提供用于进一步预测的参考。量化的变换系数被去量化(140)、逆变换(150)和缩放(151)以解码预测残差。缩放(151)基本上与预测残差采样乘以缩放因子对应。无论如何都可以考虑更详细的操作,诸如与缩放相结合的低通滤波。结合(155)解码的预测残差和预测块,图像块被重建。逆映射(190)和环内滤波器(165)被应用于重建的画面,例如,来执行去块/sao(采样自适应偏移)滤波以减少编码伪影。逆映射是前向映射(191)的逆。滤波的图像被存储在参考画面缓冲器(180)中。
43.图2示出了诸如hevc解码器的视频解码器200的示例的框图。在示例解码器200中,信号或比特流由解码器元件解码,如下所述。视频解码器200通常执行与如图1中描述的编码通路相反的解码通路,其执行视频解码作为编码视频数据的一部分。图2还可示出其中对
hevc标准进行改进的解码器或采用类似于hevc的技术的解码器,诸如基于jem或在jem改进的解码器。
44.特别地,解码器的输入包括可由诸如图1的视频编码器100的视频编码器生成的视频信号或比特流。信号或比特流首先被熵解码(230),随后被分割(210)以获得变换系数、运动矢量和其他编解码的信息。分割(210)基于解码的数据将图像划分为不同尺寸和形状的块。变换系数被去量化(240)、逆变换(250)和缩放(251)以产生解码的预测残差。逆缩放(251)与编码器的(190)相同,并且反转缩放过程(151)。结合(255)解码的预测残差和预测块,图像块被重建。预测块可以从帧内预测(260)或运动补偿的预测(即,帧间预测)(275)获得(270)并且在与预测残差结合(255)之前经历前向映射(295)。前向映射(295)与编码器的(191)相同。高级运动矢量预测(amvp)和合并模式技术可用于导出用于运动补偿的运动矢量,其可使用内插滤波器来计算参考块的子整数采样的内插值。逆映射(296)和环内滤波器(265)被应用于重建的图像。逆映射(296)是编码器的(190)的逆。滤波的图像被存储在参考画面缓冲器(280)中。逆映射(290)可以应用于滤波的图像(265)以产生输出画面信息。逆映射(290)是编码器的(101)的逆过程。
45.在hevc视频压缩标准中,采用运动补偿的时间预测来利用视频的连续画面之间存在的冗余。为此,运动矢量与每个预测单元(pu)相关联。每个编解码树单元(ctu)由压缩域中的编解码树(ct)表示。这是ctu的四叉树划分,其中每个叶被称为编解码单元(cu),如图3所示。
46.然后每个cu被给予一些帧内或帧间预测参数或预测信息(预测信息)。为此,它在空间上被分割为一个或多个预测单元(pu),每个pu都被分配了一些预测信息。帧内或帧间编解码模式在cu级别分配,如图4所示,图4示出了将编解码树单元划分为编解码单元、预测单元和变换单元的示例。为了对cu进行编解码,预测块或预测单元(pu)是从邻近重建的采样(帧内预测)或从存储在解码的画面缓冲器(dpb)中的先前重建的画面(帧间预测)构建的。接下来,作为原始采样和pu采样之间的差计算的残差采样被转换和量化。
47.hevc以外的编解码器和视频压缩工具,例如联合探索模型(jem)和由jvet(联合视频探索团队)小组在称为vvc测试模型(vtm)的多功能视频编解码(vvc)参考软件中开发的模型,可以提供压缩域中的ctu表示,其在压缩域中以更灵活的方式表示画面数据。与诸如hevc标准的cu/pu/tu排列的方法相比,编解码树的更灵活的表示可以提供增加的压缩效率。更灵活的表示的一个示例是四叉树加二叉树(qtbt)编解码工具。图5中示出了诸如qtbt的表示的示例,图5示出了具有可以以四叉树和二叉树方式两者划分的编解码单元的编解码树。编解码单元的划分可以在编码器侧基于优化过程(例如速率失真优化过程)来决定,该过程确定具有最小速率失真成本的ctu的qtbt表示。
48.在qtbt技术中,cu可以具有正方形或矩形形状。编解码单元的尺寸可以是2的幂,并且例如,范围从4到128。除了用于编解码单元的这种各种矩形形状之外,诸如qtbt的ctu的表示可以具有不同于诸如hevc的方法的以下特征:
49.·
ctu的qtbt分解由两个阶段组成:首先ctu以四叉树方式划分,然后每个四叉树叶子可以进一步以二元方式划分。这在图5的右侧示出,其中实线表示四叉树分解阶段,虚线表示空间上嵌入四叉树叶子中的二元分解。
50.·
在帧内条带中,亮度和色度块分割结构是分开的,并独立地决定。
51.·
不采用分割为预测单元或变换单元的cu,即每个cu系统地由单个预测单元(2nx2n预测单元分割类型)和单个变换单元(不分割为变换树)组成。
52.·
其他一些cu二叉树或三叉树分割也可以用于ctu的编解码树的表示,如图6和图7所示。
53.例如,图6和图7示出了vvc(通用视频编解码)视频压缩标准中提供的附加划分或分割模式。附加划分模式包括非对称二元和树(abt)划分模式。abt划分模式可以涉及通过非对称二元划分模式之一(诸如hor_up(水平向上))划分尺寸为(w,h)(宽度和高度)的矩形编解码单元,如图6和7所示,这将导致两个子编解码单元具有相应的矩形尺寸(w,h/4)和(w,3h/4)。此外,可以使用cu的所谓的三叉(或三元)树(tt)分割,导致图7右侧所示的可能的附加分割。三叉树涉及在所考虑的定向上将cu划分为三个子cu,所述三个子cu具有例如相对于父cu的(1/4,1/2,1/4)的尺寸。图8示出了应用各种划分模式或编解码结构来对画面的示例进行编码的示例。图8中选择和示出的结构包括ctu的四叉树分割或分解,其中嵌入了包括对称二叉树、非对称二叉树和三叉树分解的各种划分模式。
54.在划分之后,帧内或帧间预测被用于利用帧内或帧间相关性,然后对原始块和预测块之间的差异(通常表示为预测误差或预测残差)进行变换、量化和熵编解码。为了重建视频,压缩的数据通过与熵编解码、量化、变换和预测对应的逆过程进行解码。已经示出了诸如上述和图6和7中所示的编解码结构或拓扑的扩展范围的应用来提供编解码效率的改进。特别地,对于色度可以获得显着的编解码效率改进,这通常由帧内条带中的亮度和色度编解码树的分离引起的。
55.然而,这种在ctu级别上的亮度和色度编解码树的分离会在硬件实现方面产生一些问题,诸如对于大型ctu,例如尺寸为128x128或256x256的ctu。此外,将亮度和色度分量的编解码树完全分离意味着这些亮度和色度在压缩域中也完全分离,因此在编解码的比特流中也以分离的方式出现。如下文将更详细地解释,这会导致解码器实现的问题,其中可能期望确保可以在可能小于ctu尺寸的最大解码单元尺寸上实现解码流水线(pipeline)。通常,某些解码器实现期望基于64x64的解码器流水线。为此,已为诸如多功能视频编解码(vvc)测试模型的编解码器方法选择了等于64x64的最大变换块尺寸。
56.诸如亮度相关色度残差缩放的特征可用于视频编解码/解码的高级方法,诸如vvc。亮度相关色度残差缩放的方法可以涉及使用缩放或逆缩放表。该表在流中显式地用信号通知或从编解码在流中的表中推导出来。更详细地,在编码器侧,亮度相关色度残差缩放的实施例可以如下进行。在对色度块进行编码时,计算表示同位的亮度块的亮度值。这通常是与所考虑的色度块同位的亮度预测(或重建的)块中的亮度采样的平均值。根据所计算的亮度值,缩放值从缩放表中选取。在将变换然后量化应用于色度残差信号之前,将缩放值作为乘法因子应用于色度预测的残差。
57.在解码器侧,当对色度块进行解码时,计算表示同位的亮度块的亮度值。这通常是与所考虑的色度块同位的亮度预测(或重建的)块中的亮度采样的平均值。根据所计算的亮度值,从流中用信号通知的逆缩放表或从流中用信号通知的数据选取逆缩放值。在已经应用逆量化然后逆变换之后,将逆缩放值应用于色度预测的残差。
58.如本文所用,与色度块“同位”的一个或多个亮度块可定义为:
[0059]-亮度块包含与色度块中给定位置同位的像素,诸如
[0060]
o色度块的中心,例如被定义为色度块中的相对位置((x0+wc)/2,(y0+hc)/2),其中(x0,y0)与色度块的左上采样的色度画面中的相对位置块对应,并且(wc,hc)是色度块的水平/垂直维度;
[0061]
o色度块中的左上位置,被定义为色度画面中的相对位置(x0,y0);
[0062]
o色度块中的右下位置,被定义为色度画面中的相对位置(x0+wc-1,y0+hc-1);
[0063]
o色度块中的右上位置,被定义为色度画面中的相对位置(x0+wc-1,y0);
[0064]
o色度块中的左下的位置,被定义为色度画面中的相对位置(x0,y0+hc-1);
[0065]-与色度块中的几个给定位置同位的亮度块,诸如上面提到的那些;比如,考虑与左上、右上、左下、右下四个色度块位置同位的亮度块(参见图10);或者
[0066]-与所考虑的色度块的所有色度采样位置同位的亮度块。
[0067]
将单独的亮度/色度编解码树的使用与亮度相关色度残差缩放相结合可能会出现问题。实际上,为了处理色度块,需要已经处理来自同位的亮度块的其对应亮度采样。如果亮度块的尺寸很大,这可能会在能够处理色度块之前产生高的结构流水线延迟。更一般地,当将单独的亮度/色度编解码树的使用与涉及色度与其同位的亮度采样之间的相关性的编解码工具结合使用时,会出现问题。
[0068]
通常,至少一个实施例可以涉及解决解码器中用于导出色度块的色度残差缩放因子所需的亮度到色度的相关性。例如,至少一个实施例可以涉及减少或去除解码器中的相关性,从而减少或去除将块的色度残差缩放到亮度采样的延迟。
[0069]
在使用4:4:4色度格式时,诸如hevc的方法可能涉及对比特流中的色度块或色度块的集合的差量(delta)qp(dqpchr)进行编解码。dqpchr是在编码器侧基于接近色度块的亮度采样值导出的,并且导出的dqpchr的值在比特流中被编解码。基于dqpchr的解码的值,调整所考虑的色度块的色度qp。基于亮度qp的值(注意qpy)以及在pps级别编解码的qp偏移(pps_cb_qp_offset)和在条带(或并行块(tile)组)级别编解码的qp偏移(slice_cb_qp_offset),导出名为qpi的中间qp值。qpi通常按如下方式导出。
[0070]
qpi=qpy+pps_cb_qp_offset+slice_cb_qp_offset+dqpchr注意,在当前vvc规范中,没有色度差量qp被编解码(没有dqpchr)。在vvc中,qpi仅导出如下:
[0071]
qpi=qpy+pps_cb_qp_offset+slice_cb_qp_offset
[0072]
然后将qpi剪裁在预定义的最小值和最大值之间。
[0073]
然后执行映射以获得记为qpc的色度qp:
[0074]
qpc=map(qpi)
[0075]
映射可以基于诸如以下用于诸如hevc和当前vvc规范的方法的表来完成:
[0076]
表1:qpi和qpc之间的映射
[0077]
qpi《30303132333435363738 3940414243》43qpc=qpi293031323333343435 3536363737=qpi-6
[0078]
色度qp导出过程的示例在图9中示出。在图9中,过程10开始于其中亮度qp和色度qp偏移被相加的11处。结果是中间的qp,记为qpi。在12处,qpi被映射到色度qp值qpc。可以在13处向qpc添加偏移。然而,在13处添加偏移是可选的。最后,使用从qpc的值导出的量化步长(qs)对色度块的变换系数进行去量化。在诸如avc、hevc和vvc的编解码器中,qs被确定为:
[0079]
qs=k*2^(qpc/6)
[0080]
k是已知的常数值。
[0081]
所描述方法的问题可能是差量qp的粒度为1,这意味着qs只能在2^(1/6)的最小范围内变化(大约等于1.12,这意味着对于dqpchr值的1的增加或减少,增加或减少12%)。该值对于执行具有所要求的粒度的色度残差缩放来说可能太高。例如,色度残差缩放中使用的缩放因子具有可小于该值的相对变化,如下面的表2所示。表2提供了缩放因子表的示例,其示出了与中性值(缩放=1)相比的缩放因子变化,取值从0%到11%,具有最小粒度等于3.1%。
[0082]
表2:色度残差缩放表的示例
[0083][0084][0085]
至少一个实施例涉及在编码器处从接近色度块的亮度采样导出缩放因子的索引,并且在比特流中用信号通知色度块或色度块的集合的色度缩放因子索引。在至少一个变体中,可以对差量qp进行编解码而不是色度缩放因子索引,但是使用比例如hevc或vvc qp使用的粒度更细的粒度(对于qp每次增加6的值,量化步长加倍)。在该变体中,可以采用一个或多个过程,诸如qpc导出或逆量化过程。
[0086]
通常,至少一个实施例涉及色度块的色度残差缩放。对于每个给定的结构实体,可以在比特流中添加语法元素,例如,在当前文档chroma_residual_scaling_idx中命名。为便于理解,以下描述涉及作为ctu的结构实体。然而,对于本领域技术人员显而易见的是,所描述的实施例、特征、方面和变体可以应用于任何其他结构实体,例如条带、并行块、分块(brick)、vdpu、cu、tu或量化组(qg)。
[0087]
用于给定ctu的插入的语法元素chroma_residual_scaling_idx与色度缩放因子表中要被应用于属于所考虑的ctu的色度块的色度残差的缩放因子的索引对应。
[0088]
图10中描绘了根据至少一个实施例的用于ctu的解码过程的示例的框图。在图10中,在300处,色度缩放因子索引被解码。在301处,色度残差变换系数被解码。在302处,导出
预测色度采样。在301之后的303处,色度残差变换系数的逆量化和逆变换发生。这导致色度残差采样。在304处,基于从色度缩放因子索引导出的缩放因子缩放色度残差采样。在305处,残差被添加到预测信号。这导致在环内滤波的潜在应用之前重建的色度采样。
[0089]
通常,至少一个实施例涉及用于对色度残差缩放索引进行编解码的空间粒度。例如,在一个实施例中,为每个ctu编解码语法元素chroma_residual_scaling_idx。在实施例的另一示例中,为每个vdpu编解码语法元素chroma_residual_scaling_idx。在实施例的另一示例中,为尺寸为wc*hc的非重叠区域编解码语法元素chroma_residual_scaling_idx,其中wc和hc是解码器规范中指示的预定义值、或者在比特流中在更高级别用信号通知的值(例如并行块、并行块组、条带、pps、sps、aps)。
[0090]
在hevc中,可以为每个量化组(qg)指定差量qp,该量化组包括编解码块的组,其由给定的最大划分深度(在画面参数集中找到的diff_cu_qp_delta_depth语法元素)定义。由进一步划分产生的所有块都属于相同量化组并共享相同qp(更准确地说,它们共享相同qp预测并指定至多一个差量qp)。基于编解码块区域而不是分割深度,在vvc中不同地定义量化组(qg)。
[0091]
在至少一个实施例中,语法元素chroma_residual_scaling_idx在与差量qp值相同的级别(即在量化组(qg)级别)被编解码。这有利地为dqp和chroma_residual_scaling_idx语法元素的信令提供了统一的设计。
[0092]
在至少一个实施例中,语法元素chroma_residual_scaling_idx以ctu划分深度0或1被编解码,即,考虑当前vvc规范(jvet文档jvet-n1001,“多功能视频编解码(草案5)”),用于cu尺寸为128x128(深度0)或64x64(深度1)。
[0093]
通常,至少一个实施例涉及色度残差缩放索引的预测编解码。例如,在实施例中,语法元素chroma_residual_scaling_idx被添加到缩放因子索引的预测值,记为idxpred。在实施例的另一示例中,idxpred从应用于与包括当前色度块的区域(例如ctu或qg)邻近的区域(例如ctu或qg)的缩放因子索引导出。例如,当前ctu的idxpred等于用于最新处理的ctu的缩放因子索引。在变体中,当前qg的idxpred等于用于最新处理的qg的缩放因子索引。在实施例的另一示例中,当前色度块的idxpred等于用于与当前色度块邻近的顶部/左侧色度块的缩放因子索引或从那些索引导出的缩放因子的平均值。
[0094]
在实施例中,如果与当前色度块邻近的顶部和左侧色度块可用,则idxpred被计算为来自顶部和左侧色度块的chroma_residual_scaling_idx值的平均值。如果只有与当前色度块邻近的顶部色度块可用,则idxpred计算为来自顶部色度块的chroma_residual_scaling_idx值的平均值。如果只有与当前色度块邻近的左侧色度块可用,则idxpred被计算为来自左侧色度块的chroma_residual_scaling_idx值的平均值。如果与当前色度块邻近的顶部和左侧色度块均不可用,则将idxpred设置为预定义值(例如0)。
[0095]
在实施例的另一示例中,idxpred从与应用chroma_residual_scaling_idx的当前值的区域邻近的区域的亮度值导出。
[0096]
如表2所示,可能发生色度残差缩放表包括用于不同索引值的冗余缩放因子。这可能导致编解码效率的损失,因为这可能导致即使所得的缩放因子相同或接近也编码不同的索引值。在实施例中,为了提高编解码效率,在编码(并且可能地解码)索引表之前,或者在编码(并且可能地解码)索引之前,应用去除索引冗余的步骤。例如,参考图13,可以在步骤
601之前插入步骤607a,或者可以在步骤606之前插入步骤607b,如图13a所示。在实施例中,步骤607a/607b基于色度缩放值的聚类。下面的伪码示出了实施例的示例。认为最初存在n个可能的索引值的最大值(通常n=16)。色度缩放值之间的距离被定义为dist(a,b)。比如,dist(a,b)是(a-b)的绝对值。
[0097]
名为realidx的等价表被定义和计算,如下面的伪码所述。
[0098][0099]
其中thresh是预定义的阈值。
[0100]
然后,与初始缩放表相比,实际缩放表可以简化为简化表,其中仅留下非冗余缩放值。比如,表2的16个元素可以通过去除具有相同缩放值(对应于阈值=0)的所有元素来减少到下面的4个元素。当thresh设置为30时,只需要3个元素。
[0101]
初始表
[0102][0103][0104]
非冗余表(thresh=0)
[0105]
索引缩放(整数11比特)缩放(浮点)[0]20481.000
[1]18990.927[2]19850.969[3]18200.889
[0106]
非冗余表(thresh=30)
[0107]
索引缩放(整数11比特)缩放(浮点)[0]20481.000[1]18990.927[2]18200.889
[0108]
因此,不是编解码多达n个不同的值,而是编解码减少数量的可能值,这节省了编解码比特。
[0109]
索引冗余去除可以是仅编码器的,或者它可以在索引的解码之前规范地应用于解码器,以便于减小缩放因子的尺寸。
[0110]
当对序列的所有画面应用色度残差缩放索引的编解码时,编解码成本开销会变得相当大并生成高编解码损失。为了避免这个问题,在另一个实施例中,仅针对特定的时间层启用色度残差缩放。时间层的示例如图16所示。图16示出了一系列9张画面,编号从0到8。水平线描绘了时间层。第一个画面0在时间层0。第8个画面是取决于画面0编解码的并且在时间层1。其他画面是取决于时间层低于或等于所考虑的画面的两个周围画面编解码的。在一个实施例中,仅对具有等于0或1的时间层的画面启用色度残差缩放。对于具有高于这些值的时间层的画面,禁用色度残差缩放。在图16的示例中,画面0和8可以使用色度残差缩放,但其他画面不能使用。
[0111]
根据本公开的至少一个实施例可以涉及语法,例如用于产生语法或者包括语法的信号或比特流的方法或装置。涉及语法的实施例的示例在本文档的附录中示出和描述。在附录中,缩小字体的文本对与根据上述实施例中的至少一个并在诸如vtm5.0语法(在文档jvet-n1001版本9中描述)中提供的语法的大纲的上下文中的语法的示例对应。附录中包括的章节编号与jvet-n10019版本9中使用的编号对应。
[0112]
在实施例的至少一个示例中,不再有对缩放因子表的任何引用,但是缩放因子值本身在比特流中作为相对于中性值的有符号整数值被用信号通知。例如,缩放因子值可以相对于2^11的中性值(对应于1的实际缩放因子)以11比特精度被编解码。作为另一个示例,表1列出了不同缩放因子表1和将在流中编解码的缩放因子值的示例。精度可能太高,并且优选地,用于编解码缩放因子值的比特深度从11减少到6、5或4比特(导致1/64、1/32或1/16精度,而不是通过使用dqp值启用的0.12精度)。
[0113]
表3:缩放因子和对应编解码值的示例
[0114]
缩放因子缩放(浮点)编解码值20481.000019850.9696318990.92714918200.889228
[0115]
实施例的至少一个示例可以包括以差量qp的增加的粒度(即,更细粒度)对差量qp进行编解码。例如,在实施例中,缩放因子的使用被色度差量qp(dqpchresscal)的使用替
代,色度差量qp(dqpchresscal)与常规的色度差量qp(dqpchr)相比可以是不同的或修改的,例如,具有比由参数f定义的常规qp dqpchr更细的粒度。作为特定且非限制性的示例,与hevc相比,dqp粒度可以加倍。也就是说,每个f=12dqp值增加量化步长,而不是hevc中的6。换句话说,将qp增加1对应于将量化步长乘以2^(1/f)=2^(1/12)。在变体中,可以仅针对色度分量增加qp粒度。
[0116]
在至少一个实施例中,修改的色度差量qp可以被用于导出应用于色度残差采样的缩放因子。例如,图11示出了实施例的框图,其中修改后的dqp,即dqpchresscal,可以用于导出应用于色度残差值的缩放因子。在图11中,在400处,包含色度块的量化组的dqp值dqpchresscal被解码。在401处,从解码的dqp值dqpchresscal导出色度缩放因子值。其他块提供类似于图10的框图的操作或处理。在301处,色度残差变换系数被解码。在302处,预测色度采样被导出并且303跟随在301之后以执行色度残差变换系数的逆量化和逆变换。这导致色度残差采样。在304处,基于从色度dqp值dqpchresscal导出的缩放因子来缩放色度残差采样。在305处,残差被添加到预测信号。这导致在环内滤波的潜在应用之前重建的色度采样。
[0117]
下面的表4示出了当dqp粒度使得量化步长每f=12个增加量而加倍时,链接到dqp值的缩放因子值的示例。第3列中的值被计算为2^(dqpchresscal/f)。第二列中的值被计算为int(2048*2^(dqpchresscal/f)+.5),其中int(x)与x的整数(下限)值对应。表5示出了当dqp粒度使得量化步长每f=24个增加量而加倍时,链接到dqp值的缩放因子值的示例。
[0118]
表4:链接到dqp值的缩放因子值的示例(f=12)
[0119][0120]
表5:链接到dqp值的缩放因子值的示例(f=24)
[0121][0122][0123]
图12提供了实施例的另一示例的简化框图,其中修改的dqp,即dqpchresscal,可以用于执行色度变换系数的逆量化。除了常规的dqpch之外,还可以使用dqpchresscal。在500处,包含色度块的量化组的dqp值被解码。在501处,至少使用dqpchresscal,导出色度qp,qpc,并且如果适用,使用dqpch作为输入,来产生具有细粒度的qpc。在301处,色度残差变换系数被解码,接着是303a,其中使用细粒度qpc进行解码的变换系数的逆量化,以及303b,其中发生逆量化的色度残差变换系数的逆变换。这产生色度残差采样。在302处,导出预测色度采样。然后,在305处,来自303b的残差被添加到来自302的预测信号以在环内滤波的潜在应用之前产生重建的色度采样。
[0124]
在图12中的501处导出具有更高(更细)粒度的qpc的实施例的至少一个示例可以基于细粒度dqpchresscal并且进行如下。首先导出qpi。
[0125]
qpi=qpy+pps_cb_qp_offset+slice_cb_qp_offset+dqpchresscal/sc
[0126]
其中sc=(g/6)。例如,对于g=12,sc=2,对于g=24,sc=4。然后将qpi剪裁在预定义的最小值和最大值之间。然后执行映射以获得标记为qpc的色度qp:
[0127]
qpc=map(qpi)
[0128]
在hevc和当前vvc规范中,映射是基于表6完成的。
[0129]
表6:qpi和qpc之间的映射
[0130]
qpi《303031323334353637383940414243》43qpc=qpi2930313233333434353536363737=qpi-6
[0131]
最后,qpc被导出为
[0132]
qpc=sc*qpc+(dqpchresscal%sc)
[0133]
与常规的qpc粒度相比,qpc的粒度增加了因子sc。
[0134]
在当前vvc规范中(以及在hevc中),qp粒度(记为g)为6(量化步长每增加6而加倍),并且诸如在图12中的303a处的逆量化执行如下。一旦已经导出qpc参数(通过步骤501),变换系数tc[x][y]被如下逆量化为值tciq[x][y]。
[0135]
列表levelscale[]被指定为levelscale[k]={40,45,51,57,64,72},其中k=0..5.
[0136]-中间缩放因子m[x][y]被设置为等于16.
[0137]-缩放因子ls[x][y]导出如下:
[0138]-如果dep_quant_enabled_flag等于1,则以下适用:
[0139]
ls[x][y]=(m[x][y]*levelscale[(qpc+1)%6])《《((qpc+1)/6)
[0140]-否则(dep_quant_enabled_flag等于0),以下适用:
[0141]
ls[x][y]=(m[x][y]*levelscale[qpc%6])《《(qpc/6)
[0142]-值dnc[x][y]导出如下:
[0143]
dnc[x][y]=(tc[x][y]*ls[x][y]*rectnorm+bdoffset)》》bdshift
[0144]-缩放的变换系数tciq[x][y]导出如下:
[0145]
tciq[x][y]=clip3(coeffmin,coeffmax,dnc[x][y])
[0146]
其中rectnorm是归一化因子,bdshift是取决于采样的比特深度的移位参数,bdoffset=(1《《bdshift)》》1,而coeffmin、coeffmax是系数的最小和最大可能值(在当前规范中设置为-(1《《15)和(1《《15)

1)。注意,levelscale[i]被导出为int(2^((2+i)
÷
6)+0.5),其中运算符
“÷”
是浮点除法,并且int(x)是x的整数值。
[0147]
实施例的至少一个示例涉及修改上述303a处的过程。为了将量化(和qpc)的粒度g(g=12而不是6)加倍,可以如下调整该过程。与当前vvc规范相比的更改以灰色突出显示。
[0148][0149]

中间缩放因子m[x][y]被设置为等于16。
[0150]

缩放因子ls[x][y]导出如下:
[0151]

如果dep_quant_enabled_flag等于1,则以下适用:
[0152]
ls[x][y]=(m[x][y]*levelscale[(qpc+1)%g])《《((qpc+1)/g)
[0153]

否则(dep_quant_enabled_flag等于0),以下适用:
[0154]
ls[x][y]=(m[x][y]*levelscale[qpc%g])《《(qpc/g)
[0155]

值dnc[x][y]导出如下:
[0156]
dnc[x][y]=(tc[x][y]*ls[x][y]*rectnorm+bdoffset)》》bdshift
[0157]

缩放的变换系数tciq[x][y]导出如下:
[0158]
tciq[x][y]=clip3(coeffmin,coeffmax,dnc[x][y])
[0159]
对于甚至更细的粒度(g=24而不是6),可以如下修改表levelscale。
[0160][0161]
在实施例的至少一个其他示例中,常规的色度dqp的粒度可以保持在6,并且除了色度差量qp dqpchr之外,还可以编解码另一语法元素dqp_refine,以在更精细的级别细化dqp值。dqp_refine可以取从0到(sc

1)的值,其中sc=(g/6)。例如,对于g=12,sc=2,对于g=24,sc=4。在这种情况下,在图12中501处的qpc导出没有如上所述被修改。特别是,qpc的粒度是常规的粒度。
[0162]
然而,修改图12中的303a处的操作以添加表levelscalerefine[k],对于k=0到(g-1),并进行如下操作(更改在灰色中)。
[0163]

缩放因子ls[x][y]导出如下:
[0164]

如果dep_quant_enabled_flag等于1,则以下适用:
[0165][0166]

否则(dep_quant_enabled_flag等于0),以下适用:
[0167][0168][0169]

值dnc[x][y]导出如下:
[0170]
dnc[x][y]=(tc[x][y]*ls[x][y]*rectnorm+bdoffset)》》bdshift
[0171]

缩放的变换系数tciq[x][y]导出如下:
[0172]
tciq[x][y]=clip3(coeffmin,coeffmax,dnc[x][y])
[0173]
在至少一个实施例中,对于g=12,levelscalerefine[k],对于k=0至(g-1)定义如下。
[0174]
levelscalerefine[k]={0,3,0,3,0,3,0,3,0,4,0,4}
[0175]
在至少一个其他实施例中,对于g=24,levelscalerefine[k],对于k=0至(g-1)定义如下。
[0176]
levelscalerefine[k]={0,1,3,4,0,2,3,4,0,1,3,4,0,2,3,5,0,2,4,6,0,2,4,6}
[0177]
所描述的方法有利地避免了解码器中指定的所有其他过程的改变,这些过程使用
用于对色度信号进行去量化的色度qp值(诸如去块滤波器)。
[0178]
通常,至少一个实施例涉及在编码器处导出缩放因子或差量qp。色度残差缩放因子索引或色度dqp值是在编码器侧基于与色度块同位的或与位于色度残差缩放因子索引或色度dqp值所适用的色度区域(例如ctu或量化群组)的邻域中的色度采样同位的亮度采样来计算的。在至少一个实施例中,色度残差缩放因子索引或色度dqp是从与色度区域同位的预测或重建的亮度采样的平均值导出的。在变体中,色度残差缩放因子索引或色度dqp是从与色度区域同位的预测或重建的亮度采样的中值导出的。在变体中,色度残差缩放因子索引或色度dqp是从与色度区域同位的预测或重建的亮度采样的x%最大值导出的。x例如为10。在变体中,色度残差缩放因子索引或色度dqp是从与色度区域同位的预测或重建的亮度采样的x%最低值导出的。x例如为10。
[0179]
至少一个实施例的示例在图13中示出,图13示出了在色度缩放索引被编解码的情况下的编码器或编码器过程的框图。在图13中,在600处计算所考虑的色度块的色度预测采样。在602处,从原始色度采样中减去预测采样,并且这生成色度预测残差。在601处,色度缩放因子的索引是从与色度块的色度采样同位的或靠近色度块的色度采样的原始或亮度采样导出的。在603处,基于通过色度缩放索引标识的缩放因子缩放色度残差。然后,通过变换(604)处理残差,然后进行量化(605)。然后,对色度块的量化的变换系数进行熵编解码(606)。熵编解码器还对色度缩放因子索引进行编码。
[0180]
实施例的另一示例在图14中示出,图14示出了针对具有细粒度的色度差量qp被编解码并且影响量化过程的情况的编码器或编码器过程的框图。在图14中,在600处计算所考虑的色度块的色度预测采样。在602处,从原始色度采样中减去预测采样,并且这生成色度预测残差。在701处,具有细粒度的色度差量qp从与色度块的色度采样同位的或靠近色度块的色度采样的原始或亮度采样导出。然后,通过变换(604)处理残差,然后进行量化(705)。然后,对色度块的量化的变换系数进行熵编解码(706)。
[0181]
实施例的另一个示例在图17中示出。在图17中,输入包括画面信息。在1710处,确定第一缩放因子。第一缩放因子随第一粒度变化用于缩放与包括在画面信息中的色度信息相关联的色度预测残差。例如,第一粒度可以通过如上所述的诸如g或sc的参数确定并且可以具有诸如6的值。在1720处,确定随比第一粒度更细的第二粒度变化的第二缩放因子。在1730处,基于第一缩放因子和第二缩放因子的组合缩放色度预测残差,以提供具有第二粒度的缩放的色度预测残差。在1740处,基于缩放的色度预测残差对画面信息的至少一部分进行编码。输出包括编码的画面信息。
[0182]
实施例的另一个示例在图18中示出。在图18中,输入包括编码的画面信息。在1810处,确定第一缩放因子。第一缩放因子随第一粒度变化用于缩放与包括在画面信息中的色度信息相关联的色度预测残差。例如,第一粒度可以通过如上所述的诸如g或sc的参数确定并且可以具有诸如6的值。在1820处,确定随比第一粒度更细的第二粒度变化的第二缩放因子,例如,更细的粒度可以具有如上所述的诸如12或24的值。在1830处,基于第一缩放因子和第二缩放因子的组合缩放色度预测残差,以提供具有第二粒度的缩放的色度预测残差。在1840处,基于缩放的色度预测残差对画面信息的至少一部分进行解码。输出包括解码的画面信息。
[0183]
本文档描述了实施例、特征、模型、方法等的各种示例。许多这样的示例被具体描
述并且至少为了示出各个特征,通常以可能看起来具有限制性的方式描述。然而,这是为了描述清楚的目的,并不限制应用或范围。实际上,这里描述的实施例、特征等的各种示例可以以各种方式组合和互换,以提供实施例的进一步示例。
[0184]
通常,本文档中描述和预期的实施例的示例可以以许多不同的形式实现。上面描述的图1和2以及下面描述的图15提供了一些实施例,但是可以预期其他实施例并且图1、2和15的讨论不限制实现的广度。至少一个实施例总体上提供了与视频编码和/或解码相关的示例,并且至少一个其他实施例总体上涉及发送生成的或编码的比特流或信号。这些和其他实施例可以被实现为方法、装置、其上存储有用于根据所描述的任何方法对视频数据进行编码或解码的指令的计算机可读存储介质和/或其上存储有根据所描述的任何方法生成的比特流或信号的计算机可读存储介质。
[0185]
在本技术中,术语“重建”和“解码”可以互换使用,术语“像素”和“采样”可以互换使用,术语“图像”、“画面”和“帧”可以互换使用。通常,但不一定,术语“重建”用在编码器侧,而“解码”用在解码器侧。
[0186]
在本公开中使用术语hdr(高动态范围)和sdr(标准动态范围)。这些术语通常向本领域普通技术人员传达动态范围的特定值。然而,附加的实施例也意在其中对hdr的引用被理解为意味着“更高的动态范围”并且对sdr的引用被理解为意味着“更低的动态范围”。这样的附加实施例不受可能经常与术语“高动态范围”和“标准动态范围”相关联的动态范围的任何特定值的限制。
[0187]
在本文描述了各种方法,并且每个方法包括用于实现所描述的方法的一个或多个步骤或动作。除非该方法的正确操作需要步骤或动作的特定顺序,否则可以修改或组合特定步骤和/或动作的顺序和/或使用。
[0188]
本文档中描述的各种方法和其他方面可用于修改视频编码器和/或解码器的模块,诸如图1所示的编码器100的缩放模块151和图2所示的解码器200的逆缩放模块251。此外,本方面不限于vvc或hevc,并且可以应用于例如其他标准和推荐(无论是预先存在的还是未来开发的)以及任何此类标准和推荐(包括vvc和hevc)的扩展。除非另有说明或技术上排除,否则本文档中描述的方面可以单独使用或组合使用。
[0189]
例如,在本文档中使用了各种数值。特定值用于示例目的并且所描述的方面不限于这些特定值。
[0190]
图15示出了其中可以实现各个方面和实施例的系统的示例的框图。系统1000可以体现为包括以下描述的各种组件的设备并且被配置为执行本文档中描述的一个或多个方面。此类设备的示例包括但不限于各种电子设备,诸如个人电脑、膝上型计算机、智能手机、平板计算机、数字多媒体机顶盒、数字电视接收器、个人视频录制系统、连接的家用电器和服务器。系统1000的元件可以单独地或组合地体现在单个集成电路、多个ic和/或分立组件中。例如,在至少一个实施例中,系统1000的处理和编码器/解码器元件分布在多个ic和/或分立组件上。在各种实施例中,系统1000经由例如通信总线或通过专用输入和/或输出端口通信地耦接到其他类似系统或其他电子设备。在各种实施例中,系统1000被配置为实现本文档中描述的一个或多个方面。
[0191]
系统1000包括至少一个处理器1010,该至少一个处理器1010被配置为执行加载在其中的指令以实现例如本文档中描述的各个方面。处理器1010可以包括嵌入式存储器、输
入输出接口和本领域已知的各种其他电路。系统1000包括至少一个存储器1020(例如,易失性存储设备和/或非易失性存储设备)。系统1000包括存储设备1040,其可以包括非易失性存储器和/或易失性存储器,包括但不限于eeprom、rom、prom、ram、dram、sram、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备1040可以包括内部存储设备、附接存储设备和/或网络可访问存储设备。
[0192]
系统1000包括编码器/解码器模块1030,其被配置为例如处理数据以提供编码的视频或解码的视频,并且编码器/解码器模块1030可以包括其自己的处理器和存储器。编码器/解码器模块1030表示可以被包括在设备中以执行编码和/或解码功能的模块。众所周知,设备可以包括编码和解码模块中的一个或两个。此外,编码器/解码器模块1030可以实现为系统1000的单独元件或者可以作为本领域技术人员已知的硬件和软件的组合并入处理器1010内。
[0193]
要加载到处理器1010或编码器/解码器1030以执行本文档中描述的各个方面的程序代码可以存储在存储设备1040中并随后加载到存储器1020以供处理器1010执行。根据各种实施例,处理器1010、存储器1020、存储设备1040和编码器/解码器模块1030中的一个或多个可以在本文档中描述的过程的执行期间存储各种项目中的一个或多个。此类存储的项目可包括但不限于输入视频、解码的视频或解码的视频的一部分、比特流或信号、矩阵、变量以及来自等式、公式、运算和运算逻辑的处理的中间或最终结果。
[0194]
在几个实施例中,处理器1010和/或编码器/解码器模块1030内部的存储器用于存储指令并为在编码或解码期间需要的处理提供工作存储器。然而,在其他实施例中,处理设备外部的存储器(例如,处理设备可以是处理器1010或编码器/解码器模块1030)用于这些功能中的一个或多个。外部存储器可以是存储器1020和/或存储设备1040,例如动态易失性存储器和/或非易失性闪存。在几个实施例中,外部非易失性闪存用于存储电视的操作系统。在至少一个实施例中,诸如ram的快速外部动态易失性存储器被用作用于视频编解码和解码操作的工作存储器,诸如用于mpeg-2、hevc或vvc(通用视频编解码)的工作存储器。
[0195]
系统1000的元件的输入可以通过各种输入设备提供,如块1130所示。这样的输入设备包括但不限于(i)接收例如由广播者通过空中发送的rf信号的rf部分,(ii)复合输入终端,(iii)usb输入终端,和/或(iv)hdmi输入终端。
[0196]
在各种实施例中,块1130的输入设备具有本领域已知的相关联的相应输入处理元件。例如,rf部分可以与用于以下操作的元件相关联:(i)选择期望的频率(也称为选择信号,或将信号频带限制到频带),(ii)对所选择的信号进行下变换,(iii)再次将频带限制到更窄的频带以选择(例如)在某些实施例中可以称为信道的信号频带,(iv)对下变换的和频带限制的信号进行解调,(v)执行纠错,以及(vi)解复用以选择期望的数据分组的流。各种实施例的rf部分包括用于执行这些功能的一个或多个元件,例如频率选择器、信号选择器、频带限制器、信道选择器、滤波器、下变换器、解调器、纠错器和解复用器。rf部分可以包括执行这些功能中的各种功能的调谐器,包括例如将接收到的信号下变换到较低频率(例如,中频或近基带频率)或基带。在一个机顶盒实施例中,rf部分及其相关联的输入处理元件接收通过有线(例如,电缆)介质发送的rf信号,并通过滤波、下变换和再次滤波到期望的频带来执行频率选择。各种实施例重新排列上述(和其他)元件的顺序,移除这些元件中的一些,和/或添加执行类似或不同功能的其他元件。添加元件可以包括在现有元件之间插入元件,
例如,插入放大器和模数转换器。在各种实施例中,rf部分包括天线。
[0197]
此外,usb和/或hdmi终端可以包括用于通过usb和/或hdmi连接将系统1000连接到其他电子设备的相应接口处理器。应当理解,输入处理的各个方面,例如里德-所罗门(reed-solomon)纠错,可以在例如单独的输入处理ic内或处理器1010内实现。类似地,usb或hdmi接口处理的方面可以是在单独的接口ic或处理器1010内实现。解调的、纠错的和解复用的流被提供给各种处理元件,包括例如与存储器和存储元件结合操作的处理器1010和编码器/解码器1030,以处理数据流,以在输出设备上呈现。
[0198]
系统1000的各种元件可设置在集成壳体内。在集成壳体内,各种元件可使用合适的连接装置1140(例如本领域已知的内部总线,包括i2c总线、布线和印刷电路板)互连并在其间传输数据。
[0199]
系统1000包括能够经由通信信道1060与其他设备进行通信的通信接口1050。通信接口1050可以包括但不限于被配置为通过通信信道1060发送和接收数据的收发器。通信接口1050可以包括但不限于调制解调器或网卡,并且可以在例如有线和/或无线介质内实现通信信道1060。
[0200]
在各种实施例中,使用诸如ieee 802.11的wi-fi网络将数据流式传输到系统1000。这些实施例的wi-fi信号通过适用于wi-fi通信的通信信道1060和通信接口1050接收。这些实施例的通信信道1060通常连接到接入点或路由器,该接入点或路由器提供对包括互联网在内的外部网络的访问,以允许流式传输的应用和其他过顶(over-the-top)通信。其他实施例使用通过输入块1130的hdmi连接传送数据的机顶盒向系统1000提供流式传输的数据。其他实施例使用输入块1130的rf连接向系统1000提供流式传输的数据。
[0201]
系统1000可以向各种输出设备提供输出信号,包括显示器1100、扬声器1110和其他外围设备1120。在实施例的各种示例中,其他外围设备1120包括独立dvr、盘播放器、立体声系统、照明系统和基于系统1000的输出提供功能的其他设备。在各种实施例中,使用诸如av.link、cec或者在有或没有用户干预的情况下实现设备到设备控制的其他通信协议的信令,在系统1000与显示器1100、扬声器1110或其他外围设备1120之间通信控制信号。。输出设备可以通过各自的接口1070、1080和1090经由专用连接通信地耦接到系统1000。或者,输出设备可以经由通信接口1050使用通信信道1060连接到系统1000。显示器1100和扬声器1110可以与电子设备(例如,电视机)中的系统1000的其他组件一起集成在单个单元中。在各种实施例中,显示接口1070包括显示驱动器,例如时序控制器(t con)芯片。
[0202]
显示器1100和扬声器1110可替代地与一个或多个其他组件分开,例如,如果输入1130的rf部分是单独机顶盒的一部分。在显示器1100和扬声器1110是外部组件的各种实施例中,可以经由专用输出连接(包括例如hdmi端口、usb端口或comp输出)提供输出信号。
[0203]
实施例可以通过由处理器1010实现的计算机软件、通过硬件、或者通过硬件和软件的结合来执行。作为非限制性示例,实施例可以通过一个或多个集成电路来实现。作为非限制性的示例,存储器1020可以是适合技术环境的任何类型并且可以使用任何适当的数据存储技术来实现,诸如光学存储设备、磁存储设备、基于半导体的存储设备、固定存储器和可移动存储器。作为非限制性的示例,处理器1010可以是适合于技术环境的任何类型,并且可以包括微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一个或多个。
[0204]
贯穿本公开,各种实现方式涉及解码。在本技术中使用的“解码”可以包括例如对
接收的编码的序列执行的全部或部分过程,以便产生适合于显示的最终输出。在各种实施例中,这样的过程包括通常由解码器执行的过程中的一个或多个,例如熵解码、逆量化、逆变换和差分解码。在各种实施例中,这样的过程还或可选地包括由本技术中描述的各种实现方式的解码器执行的过程,例如,从并行块的(打包的)画面中提取画面,确定要使用的上采样滤波器,然后对画面进行上采样,并将画面翻转回其预期朝向。
[0205]
作为进一步的例子,在一个实施例中,“解码”仅指熵解码,在另一实施例中,“解码”仅指差分解码,而在另一实施例中,“解码”指熵解码和差分解码的组合。基于具体描述的上下文,短语“解码过程”旨在具体地指操作的子集还是一般地指更广泛的解码过程将是清楚的,并且被认为是本领域技术人员很好理解的。
[0206]
此外,各种实现方式都涉及编码。以与上述关于“解码”的讨论类似的方式,本技术中使用的“编码”可以包括例如对输入视频序列执行的全部或部分过程,以便产生编码的比特流或信号。在各种实施例中,此类过程包括通常由编码器执行的过程中的一个或多个,例如分割、差分编码、变换、量化和熵编码。在各种实施例中,这样的过程还或可选地包括由本技术中描述的各种实现的编码器执行的过程。
[0207]
作为进一步的示例,在一个实施例中,“编码”仅指熵编码,在另一实施例中,“编码”仅指差分编码,而在另一实施例中,“编码”指差分编码和熵编码的组合。基于具体描述的上下文,短语“编码过程”旨在具体指操作的子集还是一般指更广泛的编码过程将是清楚的,并且被认为是本领域技术人员很好理解的。
[0208]
注意,如本文使用的语法元素是描述性术语。因此,它们不排除使用其他语法元素名称。
[0209]
当附图被呈现为流程图时,应当理解,它还提供了对应装置的框图。类似地,当附图被呈现为框图时,应当理解,它还提供了对应方法/过程的流程图。
[0210]
各种实施例涉及速率失真优化。特别是,在编码过程期间,通常考虑速率和失真之间的平衡或权衡,通常会受到计算复杂度的限制。速率失真优化通常被公式化为最小化速率失真函数,它是速率和失真的加权和。存在不同的方法来解决速率失真优化问题。例如,这些方法可以基于对所有编码选项的广泛测试,包括所有考虑的模式或编解码参数值,在编解码和解码之后对其编解码成本和重建的信号的相关失真进行完整评估。还可以使用更快的方法来节省编码复杂度,特别是基于预测或预测残差信号而不是重建的预测或预测残差信号的近似失真的计算。也可以混合使用这两种方法,诸如仅对一些可能的编码选项使用近似失真,而对其他编码选项使用完全失真。其他方法仅评估可能的编码选项的子集。更一般地,许多方法采用多种技术中的任何一种来执行优化,但是优化不一定是对编解码成本和相关失真两者的完整评估。
[0211]
本文描述的实现方式和方面可以在例如方法或过程、装置、软件程序、数据流或信号中实现。即使仅在实现方式的单一形式的上下文中讨论(例如,仅作为方法讨论),所讨论的特征的实现方式也可以以其他形式(例如,装置或程序)来实现。装置可以在例如适当的硬件、软件和固件中实现。该方法可以在例如处理器中实现,处理器通常指的是处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,诸如计算机、蜂窝电话、便携式/个人数字助理(“pda”)和促进终端用户之间的信息的通信的其他设备。
[0212]
对“一个实施例”或“实施例”或“一个实现方式”或“实现方式”及其其他变体的引用意味着结合实施例描述的特定特征、结构、特性等被包括在至少一个实施例中。因此,贯穿本文档出现在各个地方的短语“一个实施例”或“实施例”或“一个实现方式”或“实现方式”,以及任何其他变体的出现不一定都是指相同的实施例。
[0213]
此外,本文档可能涉及“获得”各种信息。获得信息可以包括例如确定信息、估计信息、计算信息、预测信息或从存储器中检索信息中的一种或多种。
[0214]
另外,本文档可能涉及“访问”各种信息。访问信息可以包括例如接收信息、检索信息(例如从存储器)、存储信息、移动信息、复制信息、计算信息、确定信息、预测信息或估计信息中的一种或多种。
[0215]
此外,本文档可能涉及“接收”各种信息。接收与“访问”一样,旨在为广义的术语。接收信息可包括例如访问信息或检索信息(例如,从存储器)中的一种或多种。此外,在诸如例如存储信息、处理信息、发送信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息的操作期间,通常以一种方式或另一种方式涉及“接收”。
[0216]
应当理解,使用以下“/”、“和/或”、“一个或多个”和“至少一个”中的任何一个,例如在“a/b”、“a和/或b”、“a或b中的一个或多个”以及“a和b中的至少一个”的情况下,旨在包括仅选择第一个列出的选项(a),或仅选择第二个列出的选项(b),或选择两个选项(a和b)。作为进一步的例子,在“a、b和/或c”、“a、b或c中的一个或多个”以及“a、b和c中的至少一个”的情况下,这样的措辞旨在包括仅选择第一个列出的选项(a),或仅选择第二个列出的选项(b),或仅选择第三个列出的选项(c),或仅选择第一个和第二个列出的选项(a和b),或仅选择第一和第三个列出的选项(a和c),或仅选择第二和第三个列出的选项(b和c),或选择所有三个选项(a和b和c)。如本领域和相关领域的普通技术人员所清楚的,这可以扩展到所列出的尽可能多的项目。
[0217]
此外,如本文所使用的,词语“信号”尤其是指向对应的解码器指示某物。例如,在某些实施例中,编码器用信号通知用于细化的多个参数中的特定参数。以这种方式,在实施例中,在编码器侧和解码器侧都使用相同的参数。因此,例如,编码器可以向解码器发送(显式信令)特定参数,使得解码器可以使用相同的特定参数。相反,如果解码器已经具有特定参数以及其他参数,则可以在不发送(隐式信令)的情况下使用信令以简单地允许解码器知道和选择特定参数。通过避免任何实际功能的传输,在各种实施例中实现了比特节省。应当理解,可以以多种方式实现信令。例如,在各种实施例中,一个或多个语法元素、标志等被用于向对应的解码器用信号通知信息。虽然前面涉及词语“信号”的动词形式,但词语“信号”在本文也可用作名词。
[0218]
对于本领域普通技术人员显而易见的是,实现方式可以产生被格式化以携带例如可以被存储或发送的信息的各种信号。该信息可以包括例如用于执行方法的指令或由所描述的实现方式之一产生的数据。例如,信号可以被格式化以携带所描述的实施例的比特流或信号。这样的信号可以被格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括例如对数据流进行编码和用编码的数据流调制载波。信号携带的信息可以是例如模拟或数字信息。如所知的,信号可以通过各种不同的有线或无线链路发送。该信号可以存储在处理器可读介质上。
[0219]
贯穿本公开还支持和预期了各种一般化的以及特定化的实施例。根据本公开的实
施例的示例包括但不限于以下。
[0220]
通常,实施例的至少一个示例可以涉及一种用于对画面信息进行编码的方法,其中该方法包括:确定随第一粒度变化用于缩放与包括在所述画面信息中的色度信息相关联的色度预测残差的第一缩放因子;确定随比所述第一粒度更细的第二粒度变化的第二缩放因子;基于所述第一缩放因子和所述第二缩放因子的组合缩放所述色度预测残差,以提供具有所述第二粒度的缩放的色度预测残差;以及基于所述缩放的色度预测残差对所述画面信息的至少一部分进行编码。
[0221]
通常,实施例的至少一个示例可以涉及一种用于对画面信息进行解码的方法,其中该方法包括:确定随第一粒度变化用于缩放与包括在所述画面信息中的色度信息相关联的色度预测残差的第一缩放因子;确定随比所述第一粒度更细的第二粒度变化的第二缩放因子;基于所述第一缩放因子和所述第二缩放因子的组合缩放所述色度预测残差,以提供具有所述第二粒度的缩放的色度预测残差;以及基于所述缩放的色度预测残差对所述画面信息的至少一部分进行解码。
[0222]
通常,实施例的至少一个示例可以涉及用于对画面信息进行编码的装置,该装置包括一个或多个处理器,被配置为:确定随第一粒度变化用于缩放与包括在所述画面信息中的色度信息相关联的色度预测残差的第一缩放因子;确定随比所述第一粒度更细的第二粒度变化的第二缩放因子;基于所述第一缩放因子和所述第二缩放因子的组合缩放所述色度预测残差,以提供具有所述第二粒度的缩放的色度预测残差;以及基于所述缩放的色度预测残差对所述画面信息的至少一部分进行编码。
[0223]
通常,实施例的至少一个示例可以涉及用于对画面信息进行解码的装置,该装置包括一个或多个处理器,被配置为:确定随第一粒度变化用于缩放与包括在所述画面信息中的色度信息相关联的色度预测残差的第一缩放因子;确定随比所述第一粒度更细的第二粒度变化的第二缩放因子;基于所述第一缩放因子和所述第二缩放因子的组合缩放所述色度预测残差,以提供具有所述第二粒度的缩放的色度预测残差;以及基于所述缩放的色度预测残差对所述画面信息的至少一部分进行解码。
[0224]
通常,实施例的至少一个示例可以涉及一种用于对画面信息进行编码的方法,包括:确定随第一粒度变化用于缩放与包括在所述画面信息中的色度信息相关联的色度预测残差的第一缩放因子;组合所述第一缩放因子与第二缩放因子,以提供具有比所述第一粒度更细的第二粒度的组合的缩放因子;基于所述组合的缩放因子缩放所述色度预测残差,以提供随所述第二粒度变化的缩放的色度预测残差;以及基于所述缩放的色度预测残差对所述画面信息的至少一部分进行编码。
[0225]
通常,实施例的至少一个示例可以涉及一种用于对画面信息进行解码的方法,包括:确定随第一粒度变化用于缩放与包括在所述画面信息中的色度信息相关联的色度预测残差的第一缩放因子;组合所述第一缩放因子与第二缩放因子,以提供具有比所述第一粒度更细的第二粒度的组合的缩放因子;基于所述组合的缩放因子缩放所述色度预测残差,以提供随所述第二粒度变化的缩放的色度预测残差;以及基于所述缩放的色度预测残差对所述画面信息的至少一部分进行解码。
[0226]
通常,实施例的至少一个示例可以涉及用于对画面信息进行编码的装置,包括一个或多个处理器,被配置为:确定随第一粒度变化用于缩放与包括在所述画面信息中的色
度信息相关联的色度预测残差的第一缩放因子;组合所述第一缩放因子与第二缩放因子,以提供具有比所述第一粒度更细的第二粒度的组合的缩放因子;基于所述组合的缩放因子缩放所述色度预测残差,以提供随所述第二粒度变化的缩放的色度预测残差;以及基于所述缩放的色度预测残差对所述画面信息的至少一部分进行编码。
[0227]
通常,实施例的至少一个示例可以涉及用于对画面信息进行解码的装置,包括一个或多个处理器,被配置为:确定随第一粒度变化用于缩放与包括在所述画面信息中的色度信息相关联的色度预测残差的第一缩放因子;组合所述第一缩放因子与第二缩放因子,以提供具有比所述第一粒度更细的第二粒度的组合的缩放因子;基于所述组合的缩放因子缩放所述色度预测残差,以提供随所述第二粒度变化的缩放的色度预测残差;以及基于所述缩放的色度预测残差对所述画面信息的至少一部分进行解码。
[0228]
通常,实施例的至少一个示例可涉及如本文所述的方法或装置,其中第二缩放因子是基于包括在所述画面信息中并且位于所述色度信息附近的亮度信息确定的。
[0229]
通常,实施例的至少一个示例可涉及如本文所述的方法,其中确定第一缩放因子包括确定意指在多个缩放因子的表中的条目的缩放索引;以及对所述画面信息的至少一部分进行编码包括对所述缩放索引进行编码。
[0230]
通常,实施例的至少一个示例可涉及如本文所述的方法,其中对缩放索引进行编码包括将所述缩放索引包括为通过所述编码产生的编码的比特流的语法元素。
[0231]
通常,实施例的至少一个示例可涉及如本文所述的方法,其中对缩放索引进行编码包括:对至少一个结构实体的所述缩放索引进行编码。
[0232]
通常,实施例的至少一个示例可涉及如本文所述的方法,其中确定第一缩放因子包括确定意指在多个缩放因子的表中的条目的缩放索引;以及对画面信息的至少一部分进行解码是基于所述缩放索引。
[0233]
通常,实施例的至少一个示例可以涉及如本文所述的方法,其中确定缩放索引包括:根据包括所述画面信息的编码的比特流的语法元素确定所述缩放索引。
[0234]
通常,实施例的至少一个示例可涉及如本文所述的方法,其中确定缩放索引包括:确定至少一个结构实体的所述缩放索引。
[0235]
通常,实施例的至少一个示例可涉及如本文所述的方法,其中至少一个结构实体包括ctu、或vdpu、或cu、或tu、或条带、或并行块、或分块、或量化组、或尺寸为wc*hc的多个非重叠区域中的至少一种,其中wc和hc是预定义值或所述比特流中用信号通知的值。
[0236]
通常,实施例的至少一个示例可涉及如本文所述的装置,其中一个或多个处理器被配置为确定所述第一缩放因子包括:所述一个或多个处理器还被配置为确定意指在多个缩放因子的表中的条目的缩放索引;并且其中所述一个或多个处理器被配置为对所述画面信息的至少一部分进行编码包括:所述一个或多个处理器还被配置为对所述缩放索引进行编码。
[0237]
通常,实施例的至少一个示例可涉及如本文所述的装置,其中所述一个或多个处理器被配置为对缩放索引进行编码包括:所述一个或多个处理器还被配置为将所述缩放索引包括为通过所述编码产生的编码的比特流的语法元素。
[0238]
通常,实施例的至少一个示例可以涉及如本文所述的装置,其中一个或多个处理器被配置为对缩放索引进行编码包括:所述一个或多个处理器还被配置为对至少一个结构
实体的所述缩放索引进行编码。
[0239]
通常,实施例的至少一个示例可涉及如本文所述的装置,其中一个或多个处理器被配置为确定第一缩放因子包括:所述一个或多个处理器还被配置为确定意指在多个缩放因子的表中的条目的缩放索引;并且其中所述一个或多个处理器还被配置为基于所述缩放索引对所述画面信息的至少一部分进行解码。
[0240]
通常,实施例的至少一个示例可涉及如本文所述的装置,其中一个或多个处理器还被配置为:根据包括所述画面信息的编码的比特流的语法元素确定缩放索引。
[0241]
通常,实施例的至少一个示例可涉及如本文所述的装置,其中一个或多个处理器被配置为确定缩放索引包括:所述一个或多个处理器被配置为确定至少一个结构实体的所述缩放索引。
[0242]
通常,实施例的至少一个示例可涉及如本文所述的装置,其中至少一个结构实体包括ctu、或vdpu、或cu、或tu、或条带、或并行块、或分块、或量化组、或尺寸为wc*hc的多个非重叠区域中的至少一种,其中wc和hc是预定义值或所述比特流中用信号通知的值。
[0243]
通常,实施例的至少一个示例可涉及如本文所述的装置,其中第二缩放因子是基于位于色度信息附近的包括以下之一的亮度信息确定的:与色度区域同位的预测或重建的亮度采样的平均值,或与色度区域同位的预测或重建的亮度采样的中值,或与色度区域同位的预测或重建的亮度采样的最大值的百分比,或与色度区域同位的预测或重建的亮度采样的最低值的百分比。
[0244]
通常,实施例的至少一个示例可以涉及包括指令的计算机程序产品,该指令在由计算机执行时使计算机执行根据本文描述的实施例的一个或多个示例的方法。
[0245]
通常,实施例的至少一个示例可以涉及非暂时性计算机可读介质,其存储可执行程序指令以使执行指令的计算机执行根据本文描述的实施例的一个或多个示例的方法。
[0246]
通常,实施例的至少一个示例可以涉及一种信号,包括根据本文描述的实施例的任何一个或多个示例生成的数据。
[0247]
通常,实施例的至少一个示例可以涉及一种比特流,其被格式化以包括根据本文描述的实施例的示例中的任何一个或多个生成的语法元素和编码的图像信息。
[0248]
通常,实施例的至少一个示例可以涉及一种设备,包括:根据本文描述的实施例的任何一个或多个示例的装置;以及以下项中的至少一项:(i)天线,被配置为接收信号,所述信号包括表示图像信息的数据,(ii)频带限制器,被配置为将接收到的信号限制为包括表示所述图像信息的数据的频带,以及(iii)显示器,被配置为显示来自所述图像信息的图像。
[0249]
通常,实施例的至少一个示例可以涉及如本文所述的设备,其中该设备包括电视机、电视信号接收器、机顶盒、网关设备、移动设备、手机、平板计算机或其他电子设备中的一个。
[0250]
已经描述了各种实施例。根据本公开的这些和其他实施例可以包括跨各种不同的权利要求类别和类型的以下特征或实体中的任何特征或实体(单独地或以任何组合):
[0251]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素。
[0252]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引
的语法元素,其中该语法元素可以与结构实体相关联。
[0253]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中该语法元素可以与结构实体相关联,并且其中该结构实体可以是ctu、条带、并行块、分块、vdpu、cu、tu或量化组中的任何一种。
[0254]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中该语法元素可以与结构实体相关联,并且其中该语法元素与色度缩放因子表中指示要应用于结构实体中包括的一个或多个色度块的色度残差的缩放因子的索引对应。
[0255]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中对每个结构实体编码该语法元素,并且其中该结构实体是ctu或vdpu。
[0256]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中语法元素针对尺寸为wc*hc的非重叠区域被编解码,其中wc和hc是解码器规范中指示的预定义值,或在比特流中在更高级别用信号通知的值(例如并行块、并行块组、条带、pps、sps、aps)。
[0257]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中该语法元素在与差量qp值相同的级别(诸如在量化组(qg)级)被编解码。
[0258]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中该语法元素以ctu划分深度0或1被编解码。
[0259]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中如果与当前色度块邻近的顶部和左侧色度块可用,则该索引可被确定为分别与顶部和左侧色度块相关联的第一和第二索引值的平均值。
[0260]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中如果只有与当前色度块邻近的顶部色度块可用,则该索引可以被确定为与顶部色度块相关联的索引值的平均值。
[0261]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中如果只有与当前色度块邻近的左侧色度块可用,则该索引被计算为与左侧色度块相关联的索引值的平均值。
[0262]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中如果与当前色度块邻近的顶部和左侧色度块均不可用,则该索引被设置为预定义值(例如0)。
[0263]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中确定索引可以基于色度残差缩放表并且该表中包括的一个或多个冗余值在对表进行编码或解码之前或者在对索引值进行编码或解码之前被去除。
[0264]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中色度残差缩放可以基于时间层。
[0265]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中语法元素被添加到缩放因子索引的预测值。
[0266]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中该语法元素被添加到缩放因子索引的预测值,并且其中从应用于与包括
当前色度块的第二区域邻近的第一区域的缩放因子索引导出预测值。
[0267]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中该语法元素被添加到缩放因子索引的预测值,并且其中从应用于与第二区域邻近的第一区域的缩放因子索引导出预测值,其中第二区域包括当前色度块,并且其中第一和第二区域包括ctu或qg。
[0268]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中该语法元素被添加到缩放因子索引的预测值,并且其中从应用于与第二区域邻近的第一区域的缩放因子索引导出预测值,其中第二区域包括当前色度块,并且其中第一和第二区域包括ctu或qg,并且其中当前ctu或qg的预测值分别等于用于最近处理的ctu或qg的缩放因子索引。
[0269]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中该语法元素被添加到缩放因子索引的预测值,并且其中用于当前色度块的预测值等于用于与当前色度块邻近的顶部和左侧色度块的缩放因子索引或从这些索引导出的缩放因子的平均值。
[0270]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放索引的语法元素,其中该语法元素被添加到缩放因子索引的预测值,并且其中预测值是基于与应用色度残差缩放索引的当前值的区域邻近的区域的亮度值导出或获得的。
[0271]
·
在编码器和/或解码器中提供用于导出或应用指示色度块的色度残差缩放因子的语法元素,其中色度残差缩放因子的值等于相对于中性值的有符号整数值。
[0272]
·
在编码器和/或解码器中提供用于导出或应用指示具有基于参数变化的粒度的差量qp的语法元素。
[0273]
·
在编码器和/或解码器中提供用于导出或应用指示具有基于参数变化的粒度的差量qp的语法元素,其中参数值被选择以提供比中性值的12%更细的粒度。
[0274]
·
在编码器和/或解码器中提供用于导出或应用指示具有基于参数变化的粒度的差量qp的语法元素,其中修改粒度以仅针对色度分量产生更精细的粒度,从而提供修改的色度差量qp。
[0275]
·
在编码器和/或解码器中提供用于导出或应用指示具有基于参数变化的粒度的差量qp的语法元素,其中修改粒度以仅针对色度分量产生更精细的粒度,从而提供修改的色度差量qp,并且其中修改的色度差量qp用于导出出应用于一个或多个色度残差采样的缩放因子。
[0276]
·
在编码器和/或解码器中提供用于导出或应用指示具有基于参数变化的粒度的差量qp的语法元素,其中修改粒度以产生针对色度分量的更细粒度,从而提供修改的色度差量qp,并且其中修改的色度差量qp用于执行色度残差变换系数的逆量化,从而提供具有更细粒度的色度量化参数。
[0277]
·
在编码器和/或解码器中提供用于导出或应用的第一和第二语法元素,其中第一语法元素指示色度差量qp,第二语法元素指示细化值,并且细化值提供用于修改色度差量qp的粒度。
[0278]
·
在编码器中提供用于基于与色度块同位的或与位于色度残差缩放因子索引或色度差量dqp值所适用的色度结构实体的邻域中的色度采样同位的亮度采样来导出色度残
差缩放因子索引或色度块的差量qp值。
[0279]
·
在编码器中提供用于基于与色度块同位的或与位于色度残差缩放因子索引或色度差量dqp值所适用的色度结构实体的邻域中的色度采样同位的亮度采样来导出色度残差缩放因子索引或色度块的差量qp值,其中色度结构实体包括ctu或量化组(qg)。
[0280]
·
在编码器中提供用于导出或获得色度残差缩放因子索引或色度dqp,该色度残差缩放因子索引或色度dqp从与色度区域同位的预测或重建的亮度采样的平均值导出或基于与色度区域同位的预测或重建的亮度采样的平均值。
[0281]
·
在编码器中提供用于导出或获得色度残差缩放因子索引或色度dqp,该色度残差缩放因子索引或色度dqp从与色度区域同位的预测或重建的亮度采样的中值导出或基于与色度区域同位的预测或重建的亮度采样的中值。
[0282]
·
在编码器中提供用于导出或获得色度残差缩放因子索引或色度dqp,该色度残差缩放因子索引或色度dqp从与色度区域同位的预测或重建的亮度采样的最大值的百分比导出或基于与色度区域同位的预测或重建的亮度采样的最大值的百分比。
[0283]
·
在编码器中提供用于导出或获得色度残差缩放因子索引或色度dqp,该色度残差缩放因子索引或色度dqp从与色度区域同位的预测或重建的亮度采样的最大值的百分比导出或基于与色度区域同位的预测或重建的亮度采样的最大值的百分比,其中该百分比为10。
[0284]
·
在编码器中提供用于导出或获得色度残差缩放因子索引或色度dqp,该色度残差缩放因子索引或色度dqp从与色度区域同位的预测或重建的亮度采样的最低值的百分比导出或基于与色度区域同位的预测或重建的亮度采样的最低值的百分比。
[0285]
·
在编码器中提供用于导出或获得色度残差缩放因子索引或色度dqp,该色度残差缩放因子索引或色度dqp从与色度区域同位的预测或重建的亮度采样的最低值的百分比导出或基于与色度区域同位的预测或重建的亮度采样的最低值的百分比,其中该百分比为10。
[0286]
·
基于提供降低的复杂度和/或提高的压缩效率,提供根据如本文所述的单独或以任何组合的实施例、特征或实体中的任一个的用于处理视频的编码器和/或解码器。
[0287]
·
在信令中插入语法元素,该语法元素使得所述编码器和/或解码器能够单独或以任何组合提供根据如本文所述的实施例、特征或实体中的任一个的编码和/或解码。
[0288]
·
基于这些语法元素,单独或以任何组合选择特征或实体,如本文所述,以在解码器处应用。
[0289]
·
包括一个或多个所描述的语法元素或其变体的比特流或信号。
[0290]
·
在信令中插入语法元素,该语法元素使得所述解码器能够以与由编码器使用的编码方式对应的方式提供解码。
[0291]
·
创建和/或发送和/或接收和/或解码包括一个或多个所描述的语法元素或其变体的比特流或信号。
[0292]
·
电视、机顶盒、手机、平板计算机或其他电子设备,其提供单独地或以任何组合应用根据如本文所述的实施例、特征或实体中的任一个的编码和/或解码。
[0293]
·
电视、机顶盒、手机、平板计算机或其他电子设备,其单独地或以任何组合根据如本文所述的实施例、特征或实体中的任一个的编码和/或解码,并且显示(例如,使用监视
器、屏幕或其他类型的显示器)所得图像。
[0294]
·
电视、机顶盒、手机、平板计算机或其他电子设备,其调谐(例如,使用调谐器)信道以接收包括编码的图像的信号,并执行单独地或以任何组合根据如本文所述的实施例、特征或实体中的任一个的编码和/或解码。
[0295]
·
电视、机顶盒、手机、平板计算机或其它电子设备,其通过空中接收(例如使用天线)包括编码的图像的信号,并执行单独地或以任何组合根据如本文所述的实施例、特征或实体中的任一个的编码和/或解码。
[0296]
·
一种存储程序代码的计算机程序产品,所述程序代码在由计算机执行时单独地或以任何组合根据如本文所述的实施例、特征或实体中的任一个的编码和/或解码。
[0297]
·
一种非暂时性计算机可读介质,包括可执行程序指令,该指令使计算机执行该指令以单独地或以任何组合根据如本文所述的实施例、特征或实体中的任一个的编码和/或解码。
[0298]
贯穿本公开还支持和预期了各种其他一般化以及特定化的实施例。
[0299]
附录

语法的示例
[0300]
7.3.5条带报头语法
[0301]
7.3.5.1一般条带报头语法
[0302][0303]
7.3.7.2编解码树单元语法
[0304][0305]
在vtm5.0中规定了分块的概念。画面可以被划分为非重叠的矩形分块,它们本身由ctu制成。原则上,预期邻近分块之间不会有的依赖关系。根据上表的以下条件
[0306]
if(((xctb》》log2ctbsize)%chresscalgrain==0&&
[0307]
(yctb》》log2ctbsize)%chresscalgrain==0)||
[0308]
(ctbaddrinbs 5==ctbaddrinrs)){
[0309]
语法元素cu_crs_delta_abs和cu_crs_delta_sign_flag仅在ctu是nxn个ctu的非重叠区域中的第一个时被用信号通知,n等于chresscalgrain,或者当ctu是分块的第一个时被用信号通知。这最后一次测试可以通过以下条件完成:
[0310]
ctbaddrinbs==ctbaddrinrs
[0311]
其中ctbaddrinbs可以是当前分块的第一个ctu的画面中的地址,并且ctbaddrinrs可以是当前ctu的画面中的地址。
[0312]
7.4.6.1一般条带报头语义
[0313]
当存在时,条带报头语法元素slice_pic_parameter_set_id、slice_pic_order_cnt_lsb和slice_temporal_mvp_enabled_flag中的每一个的值在编码的画面的所有条带报头中都应相同。
[0314]

[0315]
slice_chroma_residual_scale_flag等于1指定为当前条带启用色度残差缩放。slice_chroma_residual_scale_flag等于0指定不为当前条带启用色度残差缩放。当slice_chroma_residual_scale_flag不存在时,它被推断为等于0。
[0316]
slice_chroma_residual_scale_grain_minus1指定用于用信号通知色度残差缩放索引的ctu尺寸中的粒度。当_slice_chroma_residual_scale_grain_minus1不存在时,它被推断为等于1。
[0317]
当slice_chroma_residual_scale_grain_minus1不存在时,它被推断为等于0,并且变量chresscalgrain被设置为等于1。
[0318]
当slice_chroma_residual_scale_grain_minus1存在时,变量cucrsdeltaval导出如下:
[0319]
chresscalgrain=slice_chroma_residual_scale_grain_minus1+1num_entry_point_offsets用于指定变量numentrypoints,该变量指定当前条带的条目点的数量,如下:
[0320]

[0321]
7.4.6.4具有色度缩放数据语义的亮度映射
[0322]
lmcs_min_bin_idx指定在具有色度缩放构建过程的亮度映射中使用的最小二进制(bin)
[0323]
索引。lmcs_min_bin_idx的值应在0到15(包括0和15)的范围内。
[0324]

[0325]
变量chromascalecoeff[i],i=0

15,导出如下:
[0326]

如果(lmcscw[i]==0)chromascalecoeff[i]被设置等于(1《《11)
[0327]

否则以下适用。
[0328][0329]
7.4.8.2编解码树单元语义
[0330]
ctu是编解码树结构的根节点。
[0331]
阵列isinsmr[x][y]指定(x,y)处的采样是否位于共享的合并候选列表区域内,针对x=0..ctbsizey-1和y=0..ctbsizey

1,该阵列被初始化如下:
[0332]
isinsmr[x][y]=false
ꢀꢀꢀꢀꢀꢀꢀ
(7-125)
[0333]
alf_ctb_flag[cidx][xctb》》log2ctbsize][yctb》》log2ctbsize]等于1指定自适应环内滤波器应用于亮度位置(xctb,yctb)处的编解码树单元的cidx指示的颜色分量的编解码树块。alf_ctb_flag[cidx][xctb》》log2ctbsize][yctb》》log2ctbsize]等于0指定自适应环内滤波器应不用于亮度位置(xctb,yctb)处的编解码树单元的cidx指示的颜色分量的编解码树块。当alf_ctb_flag[cidx][xctb》》log2ctbsize][yctb》》log2ctbsize]不存在时,它被推断为等于0。
[0334]
cu_crs_delta_abs指定当前编解码单元的色度残差缩放索引与其预测之间的差cucrsdeltaval的绝对值。
[0335]
cu_crs_delta_sign_flag指定cucrsdeltaval的符号,如下:
[0336]

如果cu_crs_delta_sign_flag等于0,则对应的cucrsdeltaval具有正值。
[0337]

否则(cu_crs_delta_sign_flag等于1),对应的cucrsdeltaval具有负值。
[0338]
当cu_crs_delta_sign_flag不存在时,它被推断为等于0。
[0339]
当cu_crs_delta_abs存在时,变量cucrsdeltaval的导出如下:
[0340]
cucrsdeltaval = cu_crs_delta_abs * ( 1
ꢀ‑ꢀ
2 * cu_crs_delta_sign_flag ) (7-159)

[0341]
8.7.5.3针对色度采样利用亮度相关色度残差缩放过程的画面重建
[0342]
该过程的输入是:
[0343]

当前变换块的左上采样相对于当前画面的左上采样的位置(xcurr,ycurr),
[0344]

指定变换块宽度的变量ncurrsw,
[0345]

指定变换块高度的变量ncurrsh,
[0346]

指定当前色度变换块的编解码块标志的变量tucbfchroma,
[0347]

指定当前块的色度预测采样的(ncurrsw)x(ncurrsh)阵列predsamples,
[0348]

指定当前块的色度残差采样的(ncurrsw)x(ncurrsh)阵列ressamples。
[0349]
该过程的输出是重建的色度画面采样阵列recsamples。对于i=0..ncurrsw-1,j=0..ncurrsh-1,重建的色度画面采样recsamples的导出如下:
[0350]

如果以下条件之一为真,则recsamples[xcurr+i][ycurr+j]被设置为等于clip1c(predsamples[i][j]+ressamples[i][j]):
[0351]

slice_chroma_residual_scale_flag等于0
[0352]

ncurrsw*ncurrsh小于或等于4
[0353]

tu_cbf_cb[xcurr][ycurr]等于0并且tu_cbf_cr[xcurr][ycurr]等于0
[0354]

否则,以下适用:
[0355]

变量varscale是通过调用如条款8.8.2.4中指定的色度残差缩放因子的导出过程导出的。
[0356]

recsamples的导出如下:
[0357]

如果tucbfchroma等于1,则以下适用:
[0358]
ressamples[i][j]=clip3(-(1《《bitdepthc),(1《《bitdepthc)-1,ressamples[i][j])
[0359]
(8-1013)
[0360]
recsamples[xcurr+i][ycurr+j]=clip1c(predsamples[i][j]+sign(ressamples[i][j])
[0361]
*((abs(ressamples[i][j])*varscale+(1《《10))》》11))
ꢀꢀꢀꢀꢀ
(8-1014)
[0362]

否则(tu_cbf等于0),以下适用:
[0363]
recsamples[xcurr+i][ycurr+j]=clip1c(predsamples[i][j])
ꢀꢀꢀ
(8-1015)
[0364]
8.8.2.4色度残差缩放因子的导出过程
[0365]
该过程的输入是:
[0366]

以ctu尺寸指定当前画面的当前ctu的位置的位置(xctu,yctu)。
[0367]
在这个过程中,导出当前ctu的色度残差缩放因子chrresscalfactor[xctu][yctu]。预测的参数crsf_pred导出如下:
[0368]

如果以下一项或多项条件为真,则crsf_pred被设置为等于0:
[0369]

当前ctu是条带中的第一个ctu。
[0370]

当前ctu是分块中的第一个ctu。
[0371]

否则,crsf_pred导出如下:
[0372]

nbpred被设置为0。
[0373]

如果(xctu,yctu

1)在当前条带内和当前分块内,则以下适用
[0374]
crsf_pred=chrresscalfactor[xctu][yctu

1]
[0375]
nbpred=nbpred+1
[0376]

如果(xctu

1,yctu)在当前条带内和当前分块内,则以下适用
[0377]
crsf_pred=crsf_pred+chrresscalfactor[xctu

1][yctu]
[0378]
nbpred=nbpred+1
[0379]

crsf_pred被设置为等于(crsf_pred+(nbpred》》1))》》nbpred。
[0380]
chrresscalfactor[xctu][yctu]导出如下:
[0381]

如果(xctu%chresscalgrain)==0且(yctu%chresscalgrain)==0,则
[0382]
chrresscalfactor[xctu][yctu]导出如下:
[0383]

chrresscalfactor[xctu][yctu]=crsf_pred+cucrsdeltaval
[0384]

否则,chrresscalfactor[xctu][yctu]导出如下:
[0385]

xcturef被设置为等于(chresscalgrain*(xctu/chresscalgrain))
[0386]

ycturef被设置为等于(chresscalgrain*(yctu/chresscalgrain))
[0387]

chrresscalfactor[xctu][yctu]被设置为等于
[0388]
chrresscalfactor[xcturef][ycturef]。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1