视频编解码中色度和亮度语法元素的信令
1.相关申请的交叉引用
2.根据适用专利法和/或适用于巴黎公约的规则,本技术及时要求2019年4月20日提交的国际专利申请no.pct/cn2019/083574号的优先权和权益。出于美国法律的所有目的,通过引用将上述申请的全部公开并入,作为本技术公开的一部分。
技术领域
3.本专利文档涉及视频编解码技术、设备和系统。
背景技术:
4.当前,正在努力改善当前视频编解码器技术的性能,以提供更好的压缩率或提供允许较低复杂度或并行实现的视频编解码和解码方案。行业专家最近提出了几种新的视频编解码工具,目前正在进行测试以确定其有效性。
技术实现要素:
5.描述了与数字视频编解码有关的设备、系统和方法,特别是与针对色度格式的语法标志的管理有关的设备、系统和方法。所描述的方法可以应用于现有的视频编解码标准(例如,高效视频编解码(hevc)或多功能视频编解码)和未来的视频编解码标准或视频编解码器。
6.在一个代表性方面,所公开的技术可以用于提供一种用于视频解码的方法。该方法包括基于规则,确定适用于视频区域的一个或多个语法标志是否包括在视频的编码表示的语法结构中。所述一个或多个语法标志指示用于在所述编码表示中表示所述区域的联合色度残差编码步骤。该方法还包括根据所述编码表示中所述一个或多个语法标志的存在与否,通过解析所述编码表示来生成所述区域的一个或多个解码视频块。
7.在一个代表性方面,所公开的技术可以用于提供一种用于视频编解码的方法。该方法包括基于规则,有条件地以视频的编码表示的语法结构对适用于视频区域的一个或多个语法标志进行编码。一个或多个语法标志指示用于在所述编码表示中表示所述区域的联合色度残差编码步骤。
8.在另一个代表性方面,所公开的技术可以用于提供一种用于视频解码的方法。该方法包括确定视频区域的色度格式,以及基于所述视频区域的色度格式,确定适用于所述视频区域的一个或多个语法标志是否包括在视频的编码表示的语法结构中。所述一个或多个语法标志指示用于在所述编码表示中表示所述区域的量化参数偏移的使用。该方法还包括根据所述一个或多个语法标志的存在与否,通过解析所述编码表示来生成所述视频区域的一个或多个解码视频块。
9.在另一个代表性方面,所公开的技术可以用于提供一种用于视频解码的方法。该方法包括确定视频区域的色度格式,以及基于所述色度格式,确定视频的编码表示的语法结构中不存在指示适用于视频区域的二次变换的使用的一个或多个语法标志。在去量化步
骤和反向主变换之间应用所述二次变换。该方法还包括,根据所述一个或多个语法标志的不存在,通过解析所述编码表示来生成所述视频区域的一个或多个解码视频块。
10.在另一个代表性方面,所公开的技术可以用于提供一种用于视频编解码的方法。该方法包括确定与视频区域相关联的色度格式,以及基于所述色度格式,有条件地在视频的编码表示的语法结构中对一个或多个语法标志进行编码。所述一个或多个语法标志指示用于表示所述编码表示中的区域的量化参数偏移的使用被启用。
11.在另一个代表性方面,所公开的技术可以用于提供一种用于视频编解码的方法。该方法包括确定视频区域的色度格式,以及基于所述色度格式,在不在视频的编码表示的语法结构中包括指示二次变换的使用的一个或多个语法标志的情况下,通过对区域进行编码而生成所述视频的编码表示。在前向主变换和量化步骤之间应用所述二次变换。
12.在另一个代表性方面,所公开的技术可以用于提供一种用于视频编解码的方法。该方法包括基于包括区域的视频的色度格式,确定在视频的编码表示的语法结构中是否不存在适用于视频区域的一个或多个语法标志。所述一个或多个语法标志指示用于在所述编码表示中表示区域的亮度相关的色度残差缩放编码步骤的使用。亮度相关的色度残差缩放编码步骤包括缩放处理,其中基于重构的亮度样点导出缩放系数,该缩放处理被应用于色度残差。该方法还包括,根据所述确定、通过解析所述编码表示,来生成所述视频区域的一个或多个解码视频块。
13.在另一个代表性方面,所公开的技术可以用于提供一种用于视频解码的方法。该方法包括基于包括区域的视频的色度格式,确定在视频的编码表示的语法结构中不存在适用于视频区域的一个或多个语法标志。所述一个或多个语法标志指示用于表示色度分量的每个脉冲编码调制样点值的比特数量。该方法还包括,根据所述确定、通过解析所述编码表示,来生成所述视频区域的一个或多个解码视频块。
14.在另一个代表性方面,所公开的技术可以用于提供一种用于视频解码的方法。该方法包括基于包括区域的视频的色度格式,确定在视频的编码表示的语法结构中是否包括适用于视频区域的一个或多个语法标志。所述一个或多个语法标志与用于色度分量的自适应环路滤波器(alf)时域预测步骤相关。该方法还包括,根据所述确定、通过解析所述编码表示,来生成所述视频区域的一个或多个解码视频块。
15.在另一个代表性方面,所公开的技术可以用于提供一种用于视频编解码的方法。该方法包括确定包括区域的视频的色度格式,以及基于色度格式,通过对区域进行编码以生成视频的编码表示,而不在视频的编码表示的语法结构中包括一个或多个语法标志。所述一个或多个语法标志指示用于在所述编码表示中表示所述区域的亮度相关的色度残差缩放编码步骤的使用。所述亮度相关的色度残差缩放编码步骤包括在其中基于重构的亮度样点导出缩放系数的缩放处理,所述缩放处理应用于色度残差。
16.在另一个代表性方面,所公开的技术可以用于提供一种用于视频编解码的方法。该方法包括确定包含区域的视频的色度格式,以及基于所述色度格式,通过对区域进行编码以生成视频的编码表示,而不再在视频的编码表示的语法结构中包括一个或多个语法标志。所述一个或多个语法标志指示用于表示色度分量的每个脉冲编码调制样点值的比特数量。
17.在另一个代表性方面,所公开的技术可以用于提供一种用于视频编解码的方法。
该方法包括确定包含区域的视频的色度格式,以及基于所述色度格式,有条件地对视频的编码表示的语法结构中的一个或多个语法标志进行编码。所述一个或多个语法标志与用于色度分量的自适应环路滤波器(alf)时域预测步骤有关。
18.在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括对于视频的块和视频的比特流表示之间的转换,确定与所述块的多个色度颜色分量相对应的多个简化的二次变换(rst)矩阵。所述二次变换适用于前向主变换和量化步骤之间、或去量化步骤和反向主变换之间。该方法还包括,基于所述确定执行所述转换。
19.在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括对于视频的块和视频的比特流表示之间的转换,在对所述块应用联合色度残差编码步骤的情况下,确定在所述比特流表示中不存在用于二次变换的一个或多个矩阵索引。所述二次变换在前向主变换和量化步骤之间、或去量化步骤和反向主变换之间适用于所述块。所述联合色度残差编码步骤包括确定联合残差,所述联合残差是与色度分量相关联的残差的平均值。该方法还包括,基于所述确定执行所述转换。
20.在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括对于视频的块和所述视频的比特流表示之间的转换,在前向主变换和量化步骤之间、或去量化步骤和反向主变换之间将二次变换应用于所述块的情况下,确定在所述比特流表示中不存在指示联合色度残差编码步骤的使用的语法标志。所述联合色度残差编码步骤包括确定联合残差,所述联合残差是与色度分量相关联的残差的平均值。所述方法还包括基于所述确定执行所述转换。
21.在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括对于视频的块和视频的比特流表示之间的转换,在将联合色度残差编码步骤应用于所述块的情况下,确定在所述比特流表示中不存在指示跨分量线性模型编码步骤的使用的语法标志。所述联合色度残差编码步骤包括确定联合残差,所述联合残差是与色度分量相关联的残差的平均值。该方法还包括,基于所述确定执行所述转换。
22.在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括对于视频的块和视频的比特流表示之间的转换,在将跨分量线性模型应用于所述块的情况下,确定在所述比特流表示中不存在指示联合色度残差编码步骤的使用的语法标志。所述联合色度残差编码步骤包括确定联合残差,所述联合残差是与色度分量相关联的残差的平均值。该方法还包括,基于所述确定执行所述转换。
23.在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括对于视频的块和视频的比特流表示之间的转换,基于针对所述块的跨分量线性模型编码步骤的系数,确定在联合色度残差编码步骤中使用的两个色度残差之间的相关性。所述联合色度残差编码步骤包括确定联合残差,所述联合残差是与色度分量相关联的残差的平均值。该方法还包括,基于所述确定执行所述转换。
24.在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括对于视频的块和视频的比特流表示之间的转换,在将联合色度残差编码步骤被应用于所述块的情况下,确定禁用亮度相关的色度残差缩放编码步骤。亮度相关的色度残差缩放编码步骤包括缩放处理,其中基于重构的亮度样点导出缩放系数,该缩放处理被应用于色度残差。该方法还包括,基于所述确定执行所述转换。
25.在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括在当前视频块和当前视频块的比特流表示之间执行转换,其中该转换包括:响应于检测到至少一个条件,选择性地启用或禁用与以下中的一个或多个的使用相关联的一个或多个语法标志的信令:联合色度残差编码步骤、亮度相关的色度残差缩放(ldcrs)步骤、二次变换步骤、量化步骤或自适应环路滤波器步骤。
26.在另一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括在当前视频块和当前视频块的比特流表示之间执行转换,其中该转换包括:响应于检测到至少一个条件,选择性地启用或禁用与以下中的一个或多个的使用相关联的一个或多个语法标志的信令:联合色度残差编码步骤、亮度相关的色度残差缩放(ldcrs)步骤、二次变换步骤、量化步骤或自适应环路滤波器步骤,其中当前视频块的第一色度分量与第一简化的二次变换(rst)矩阵相关联,并且当前视频块的第二色度分量与第二rst矩阵相关联。
27.在又一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括在当前视频块和当前视频块的比特流表示之间执行转换,其中该转换包括:响应于检测到至少一个条件,选择性地启用或禁用与以下中的一个或多个的使用相关联的一个或多个语法标志的信令:联合色度残差编码步骤、亮度相关的色度残差缩放(ldcrs)步骤、二次变换步骤、量化步骤或自适应环路滤波器步骤,其中当前视频块的第一色度分量与第一简化的二次变换(rst)矩阵相关联,并且当前视频块的第二色度分量与第二rst矩阵相关联;以及响应于确定针对当前视频块启用联合色度残差编码步骤,在当前视频块的一个或多个色度分量上禁用与cclm的使用有关的标志的信令,其中,一个或多个语法标志中的标志与跨分量线性模型(cclm)的使用有关。
28.在又一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括针对当前视频块做出关于在当前视频块的比特流表示中选择性包括一个或多个编码块标志的决定,并且基于该决定来执行当前视频块和当前视频块的比特流表示之间的转换,其中选择性包括基于颜色格式、当前视频块的分量编码方法或当前视频块的编码模式。
29.在又一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括基于当前视频块的一个或多个颜色分量中的非零系数的数量,针对当前视频块,做出关于将简化的二次变换(rst)选择性地应用于当前视频块的决定,以及基于该决定,在当前视频块和当前视频块的比特流表示之间执行转换。
30.在又一个代表性方面,公开了一种视频处理的方法。该方法包括在当前视频块和当前视频块的比特流表示之间执行转换,其中,所述比特流表示是基于选择性包括语法元素,该语法元素指示基于色度的特性的、关于色度编码的信息。
31.此外,在一个代表性方面,公开了一种视频系统中的装置,该装置包括处理器和其上具有指令的非暂时性存储器。该指令由处理器执行时使处理器实现所公开的方法中的任何一个或多个。
32.此外,公开了一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行所公开的方法中的任何一个或多个的程序代码。
33.在附图、说明书和权利要求书中更详细地描述了所公开技术的上述和其他方面以
及特征。
附图说明
34.图1示出了vvc的示例性编码器框图。
35.图2示出了用于亮度分量的滤波器的示例。
36.图3示出了用于基于几何变换的自适应环路滤波器(galf)的编码器决策的示例流程图。
37.图4a
‑
4d示出了子采样拉普拉斯(laplacian)计算的示例。
38.图5示出了示例解码器框图。
39.图6显示了二次变换的示例。
40.图7示出了简化的二次变换(rst)的示例。
41.图8示出了4:2:0格式的图片中的亮度和色度样点的标称位置的示例。
42.图9示出了4:2:2格式的图片中的亮度和色度样点的标称位置的示例。
43.图10示出了4:4:4格式的图片中的亮度和色度样点的标称位置的示例。
44.图11示出了亮度和色度子采样方法的示例。
45.图12示出了左上色度样点的示例相对位置。
46.图13示出了左上色度样点的另一示例相对位置。
47.图14示出了子块变换(sbt)模式、sbt
‑
v和sbt
‑
h的示例。
48.图15示出了sbt模式、sbt
‑
q的示例。
49.图16是用于实现本文档中描述的视觉媒体解码或视觉媒体编解码技术的硬件平台的示例的框图。
50.图17示出了用于视频编解码的示例方法的流程图。
51.图18是帧内块复制模式的图示。
52.图19示出了以调色板模式编码的块的示例。
53.图20示出了水平和垂直扫描的示例。
54.图21示出了调色板索引的编码的示例。
55.图22是其中可实施所公开技术的示例的视频处理系统的框图。
56.图23是根据本技术的用于视频解码的方法的流程图表示。
57.图24是表示根据本技术的用于视频编解码的方法的流程图。
58.图25是表示根据本技术的用于视频解码的另一种方法的流程图。
59.图26是表示根据本技术的用于视频解码的另一种方法的流程图。
60.图27是表示根据本技术的用于视频编解码的另一种方法的流程图。
61.图28是表示根据本技术的用于视频编解码的另一种方法的流程图。
62.图29a是表示根据本技术的用于视频解码的另一种方法的流程图。
63.图29b是表示根据本技术的用于视频编解码的另一种方法的流程图。
64.图30a是表示根据本技术的用于视频解码的另一种方法的流程图。
65.图30b是表示根据本技术的用于视频编解码的另一种方法的流程图。
66.图31a是表示根据本技术的用于视频解码的另一种方法的流程图。
67.图31b是表示根据本技术的用于视频编解码的另一种方法的流程图。
68.图32是表示根据本技术的用于视频处理的方法的流程图。
69.图33是表示根据本技术的用于视频处理的另一种方法的流程图。
70.图34是表示根据本技术的用于视频处理的另一种方法的流程图。
71.图35是表示根据本技术的用于视频处理的另一种方法的流程图。
72.图36是表示根据本技术的用于视频处理的另一种方法的流程图。
73.图37是表示根据本技术的用于视频处理的另一种方法的流程图。
74.图38是表示根据本技术的用于视频处理的又一方法的流程图。
具体实施方式
75.1.hevc/h.265中的视频编解码
76.视频编解码标准主要通过公知的itu
‑
t和iso/iec标准的发展而发展。itu
‑
t制作了h.261和h.263,iso/iec制作了mpeg
‑
1和mpeg
‑
4visual,这两个组织共同制作了h.262/mpeg
‑
2视频和h.264/mpeg
‑
4增强视频编解码(avc)和h.265/hevc标准。从h.262开始,视频编解码标准基于混合视频编解码结构,其中利用了时域预测和变换编码。为了探索hevc之外的未来视频编解码技术,vceg和mpeg于2015年联合成立了联合视频探索小组(jvet)。此后,jvet采纳了许多新方法并将其引入到名为“联合探索模型”(jem)的参考软件中。2018年4月,vceg(q6/16)和iso/iec jtc1sc29/wg11(mpeg)之间的联合视频专家团队(jvet)成立,以致力于目标是与hevc相比其降低50%比特率的多功能视频编解码(vvc)标准。
77.2.1颜色空间和色度子采样
78.颜色空间,也称为颜色模型(或颜色系统),是一种抽象数学模型,其将颜色范围简单地描述为数字元组,通常为3或4个值或颜色分量(例如rgb)。基本上,颜色空间是对坐标系和子空间的详细说明。
79.对于视频压缩,最常用的颜色空间是ycbcr和rgb。
80.ycbcr、y'cbcr或y pb/cb pr/cr,也称为ycbcr或y'cbcr,是用作视频和数字摄影系统中彩色图像管线的一部分的颜色空间家族。y'是亮度分量,cb和cr是蓝差(blue
‑
difference)和红差(red
‑
difference)色度分量。作为亮度的y
′
(具有原色(prime))与y是不同的,这意味着光强度是基于经过伽玛校正的rgb原色进行非线性编码的。
81.色度子采样是通过对色度信息实现比对亮度信息更低的分辨率来对图像进行编码的实践,利用了人类视觉系统对色差比对亮度的更低的敏锐度。
82.2.1.1 4:4:4
83.三个y'cbcr分量中的每一个具有相同的采样率,因此不存在色度子采样。该方案有时用于高端胶片扫描仪和电影后期制作。
84.2.1.2 4:2:2
85.两个色度分量以亮度的采样率的一半(水平色度分辨率减半)进行采样。这将未压缩视频信令的带宽减少了三分之一,且几乎没有视觉差异。
86.2.1.3 4:2:0
87.在4:2:0中,水平采样是4:1:1的两倍,但是由于在此方案中cb和cr通道仅在每条交替线上采样,因此垂直分辨率降低了一半。因此,数据速率相同。cb和cr分别在水平和垂直方向上以2的因子进行子采样。4:2:0方案有三种变体,其具有不同的水平和垂直定位。
88.在mpeg
‑
2中,cb和cr水平同位。cb和cr在垂直方向上位于像素之间(相间地定位(interstitially))。
89.在jpeg/jfif、h.261和mpeg
‑
1中,cb和cr相间地定位于交替亮度样点之间的中间。
90.在4:2:0dv中,cb和cr在水平方向上共位。在垂直方向上,它们定位于交替线上。
91.2.2典型视频编解码器的编解码流程
92.图1示出了vvc的编码器框图的示例,其中包含三个环路滤波块:去方块滤波器(df)、样点自适应偏移(sao)和自适应环路滤波器(alf)。与使用预定义滤波器的df不同,sao和alf利用当前图片的原始样点分别通过增加偏移量和应用有限脉冲响应(fir)滤波器来减少原始样点与重构样点之间的均方误差,其中编码的边信息信令通知偏移量和滤波器系数。alf位于每个图片的最后一个处理阶段,可以看作是试图捕获和修复由先前阶段创建的伪像的工具。
93.2.3 jem中基于几何变换的自适应环路滤波器
94.在jem中,应用了具有基于块的滤波器自适应的基于几何变换的自适应环路滤波器(galf)。对于亮度分量,基于局部梯度的方向和活动,为每个2
×
2块选择25个滤波器中的一个。
95.2.3.1滤波器形状
96.在jem中,可以为亮度分量选择多达三个菱形滤波器形状(如图2所示)。在图片级别信令通知索引,以指示用于亮度分量的滤波器形状。
97.对于图片中的色度分量,总是使用5
×
5菱形形状。
98.2.3.1.1块分类
99.将每个2
×
2块分类为25个类中的一个。分类索引c基于其方向性d和活动的量化值进行推导,如下:
[0100][0101]
为了计算d和首先使用一维拉普拉斯计算水平、垂直和两个对角线方向的梯度:
[0102][0103]
[0104][0105][0106]
索引i和j指代2
×
2块内左上样点的坐标,并且r(i,j)指示在坐标(i,j)处的重构样点。
[0107]
然后将水平和垂直方向的梯度的d个最大值和最小值设置为:
[0108][0109]
并且将两个对角线方向的梯度的最大值和最小值设置为:
[0110][0111]
为了推导方向性d的值,将这些值使用两个阈值t1和t2相互比较:
[0112]
步骤1.如果且均为真,则将d设置为0。
[0113]
步骤2.如果则从步骤3继续,否则从步骤4继续。
[0114]
步骤3.如果则将d设置为2;否则将d设=设置为1。
[0115]
步骤4.如果则将d设置为4;否则将d设置为3。
[0116]
将活动值a计算为:
[0117][0118]
将a进一步量化到0到4的范围(包括0和4),并且将量化值表示为
[0119]
对于图片中的两个色度分量,不应用分类方法,例如,对每个色度分量应用单个alf系数集。
[0120]
2.3.1.2滤波器系数的几何变换
[0121]
在对每个2
×
2块进行滤波之前,取决于为该块计算的梯度值,将诸如旋转或对角线和垂直翻转的几何变换应用于滤波器系数f(k,l)。这等效于将这些变换应用于滤波器支持区域中的样点。思想是通过对齐它们的方向性来使应用了alf的不同块更加相似。
[0122]
引入了三种几何变换,包括对角线、垂直翻转和旋转:
[0123][0124]
其中,k是滤波器的尺寸,并且0≤k,l≤k
‑
1是系数坐标,使得位置(0,0)在左上角,并且位置(k
‑
1,k
‑
1)在右下角。取决于为该块计算的梯度值,将变换应用于滤波器系数f(k,l)。表1总结了变换与四个方向的四个梯度之间的关系。
[0125]
表1
‑
为一个块计算的梯度和变换之间的映射
[0126]
梯度值变换g
d2
<g
d1 and g
h
<g
v
无变换g
d2
<g
d1 and g
v
<g
h
对角线g
d1
<g
d2 and g
h
<g
v
垂直翻转g
d1
<g
d2 and g
v
<g
h
旋转
[0127]
2.3.1.3滤波器参数信令
[0128]
在jem中,例如在第一个ctu的条带标头之后并且在sao参数之前,为第一个ctu信令通知galf滤波器参数。可以信令通知多达25组亮度滤波器系数。为了减少比特开销,可以合并不同分类的滤波器系数。另外,参考图片的galf系数被存储并且被允许重新使用作为当前图片的galf系数。当前图片可以选择使用为参考图片存储的galf系数,并绕过galf系数信令。在这种情况下,仅信令通知参考图片之一的索引,并且所存储的指示的参考图片的galf系数被继承用于当前图片。
[0129]
为了支持galf时域预测,维护galf滤波器组的候选列表。在开始解码新序列时,候选列表为空。在解码一个图片之后,可以将对应的滤波器组添加到候选列表。一旦候选列表的尺寸达到最大可允许值(例如,当前jem中为6),新的滤波器组就会以解码顺序覆盖最旧的组,即将先进先出(fifo)规则应用于更新候选列表。为避免重复,只有当相应图片不使用galf时域预测时,才可以将组添加到列表中。为了支持时域可伸缩性,存在滤波器组的多个候选列表,并且每个候选列表都与时域层相关联。更具体地,由时域层索引(tempidx)分配的每个阵列可以组成具有等于较低的tempidx的先前解码图片的滤波器组。例如,第k个阵列被分配为与等于k的tempidx相关联,并且它仅包含来自具有tempidx小于或等于k的图片的滤波器组。在对某个图片进行编码之后,与该图片相关联的滤波器组将用于更新与相等的或更高的tempidx相关联的那些阵列。
[0130]
galf系数的时域预测用于帧间编码的帧,以最小化信令开销。对于帧内帧,时域预测不可用,并且为每个类别分配了16个固定滤波器的组。为了指示固定滤波器的使用,将信令通知每个类别的标志,并在必要时信令通知所选固定滤波器的索引。即使为给定类别选择了固定滤波器,仍可以为该类别发送自适应滤波器的系数f(k,l),在这种情况下,将应用于重构图像的滤波器系数为两组系数的和。
[0131]
亮度分量的滤波处理可以控制在cu级别。信令通知标志以指示是否将galf应用于cu的亮度分量。对于色度分量,仅在图片级别指示是否应用galf。
[0132]
2.3.1.4滤波处理
[0133]
在解码器侧,当对块启用galf时,对该块内的每个样点r(i,j)进行滤波,得出样点
值r'(i,j),如下所示,其中l表示滤波器长度,f
m,n
表示滤波器系数,f(k,l)表示解码的滤波器系数。
[0134][0135]
2.3.1.5编码侧滤波器参数确定处理
[0136]
在图3中示出了用于galf的总体编码器决策处理。对于每个cu的亮度样点,编码器决定是否应用galf以及是否在条带标头中包括适当的信令标志。对于色度样点,基于图片级别而不是cu级别决定是否应用滤波器。此外,仅当为图片启用亮度galf时,才会检查图片的色度galf。
[0137]
2.4 vtm4.0中基于几何变换的自适应环路滤波器
[0138]
与jem相比,vvc中galf的当前设计具有以下主要变化:
[0139]
(1)去除了自适应滤波器形状。亮度分量仅允许7x7滤波器形状,色度分量仅允许5x5滤波器形状。
[0140]
(2)去除了alf参数的时域预测和来自固定滤波器的预测。
[0141]
(3)对于每个ctu,信令通知一个启用或禁用alf的比特标志。
[0142]
(4)类别索引的计算以4x4级别而不是2x2级别执行。另外,可以利用用于alf分类的子采样拉普拉斯计算方法。更具体地,不需要为一个块内的每个样点计算水平/垂直/45对角线/135度梯度。取而代之的是,使用了1:2子采样。
[0143]
图4a
‑
4d示出了一些示例性子采样拉普拉斯计算。
[0144]
2.4.1滤波处理
[0145]
在vtm 4.0中,自适应环路滤波器的滤波处理如下执行:
[0146]
o(x,y)=∑
(i,j)
w(i,j)
×
i(x i,y j)
ꢀꢀꢀꢀꢀꢀ
(11)
[0147]
其中样点i(x i,y j)是输入样点,o(x,y)是滤波后的输出样点(例如,滤波结果),并且w(i,j)表示滤波系数。实际上,在vtm 4.0中,它使用用于定点精度计算的整数算法来实现:
[0148][0149]
其中l表示滤波器长度,并且其中w(i,j)是定点精度的滤波器系数。
[0150]
2.5非线性alf示例
[0151]
2.5.1滤波重组(reformulation)
[0152]
可以在以下表达式中重组公式(11),而不影响编码效率:
[0153]
o(x,y)=i(x,y) ∑
{i,j}≠(0,0)
w(i,j)
×
(i(x i,y j)
‑
i(x,y))
ꢀꢀꢀ
(13)
[0154]
这里,w(i,j)是与公式(11)相同的滤波器系数[期望w(0,0)在公式(13)中等于1,而在公式(11)中等于1
‑
∑
(i,j)≠(0,0)
w(i,j)]。
[0155]
2.5.2修改后的滤波处理
[0156]
使用该上述(13)的滤波器方程,可以通过使用简单的剪切函数来引入非线性以使alf更有效率,以在邻居样点值与当前正被滤波的样点值(i(x,y))大不相同时,减少邻居样点值(i(x i,y j))的影响。
[0157]
在此提议中,alf滤波器修改如下:
[0158]
o
′
(x,y)=i(x,y) ∑
{i,j}≠(0,0)
w(i,j)
×
k(i(x i,y j)
‑
i(x,y),k(i,j))(14)
[0159]
这里,k(d,b)=min(b,max(
‑
b,d))是剪切函数,并且k(i,j)是取决于与i(x i,y j)相关联的滤波器系数的剪切参数。编码器执行优化以找到最佳k(i,j)。
[0160]
在一些实施例中,为每个alf滤波器指定剪切参数k(i,j),对每个滤波器系数信令通知一个剪切值。这意味着对每个亮度滤波器可以在比特流中信令通知最多12个剪切值,对色度滤波器可以在比特流中信令通知最多6个剪切值。
[0161]
为了限制信令成本和编码器复杂度,可以将剪切值的评估限制为可能值的小组。在一些实施例中,可以使用4个与inter和intra片组相同的固定值。
[0162]
由于亮度的局部差异的方差通常比色度的高,因此对于亮度和色度滤波器可以使用两个不同组。可以在每个组中包括最大样点值(这里对于10比特深度为1024),以便在不必要时可以禁用剪切。
[0163]
在表2中提供了在一些实施例中使用的剪切值的组。通过在对数域中将亮度的样点值的全范围(以10比特进行编码)以及色度从4到1024的范围进行大致相等地划分,选择了4个值。
[0164]
更精确地,剪切值的亮度表已通过以下公式获得:
[0165]
其中m=2
10
且n=4。
[0166]
类似地,剪切值的色度表根据以下公式获得:
[0167]
其中m=2
10
,n=4且a=4。
[0168]
表2:核准的剪切值
[0169][0170]
通过使用与上表2中的剪切值的索引相对应的golomb编码方案,在“alf_data”语法元素中对所选择的剪切值进行编码。该编码方案与滤波器索引的编码方案相同。
[0171]
2.6.基于ctb的alf示例
[0172]
在该提议中引入了三个主要变化:
[0173]
(1)从ctb级的其他alf aps(也称为时域预测)继承滤波器系数。
[0174]
(2)从固定滤波器预测地编码滤波器系数。
[0175]
(3)在ctb级别控制从固定滤波器集合的预测编码的使用、或时域预测、或从一个信令通知的滤波器集合继承(在条带标头)。
[0176]
2.6.1.条带级时域滤波器
[0177]
在vtm4中采用了自适应参数集(aps)。每个aps包含一组信令通知的alf滤波器,最多支持32个aps。在该提案中,测试了条带级时域滤波器。片组可以重新使用来自aps的alf
信息以减少开销。以先进先出(fifo)缓冲器的方式更新aps。
[0178]
2.6.2.其他基于ctb的alf示例
[0179]
对于亮度分量,当将alf应用于亮度ctb时,指示从16个固定滤波器组或5个时域滤波器组的预测中进行选择,或者从一个信令通知的滤波器组中(在条带标头中)继承。仅信令通知滤波器设置索引。对于一个条带,只能信令通知一组新的25个滤波器。如果为某个条带信令通知了新的组,则同一条带中的所有亮度ctb都共享该组。固定滤波器组可用于预测新的条带级滤波器组,也可用作亮度ctb的候选滤波器组。滤波器总数为64。
[0180]
对于色度分量,当将alf应用于色度ctb时,如果向条带信令通知了新滤波器,则ctb将使用该新滤波器,否则,将应用满足时域可伸缩性约束的最新时间色度滤波器。
[0181]
作为条带级时域滤波器,以先进先出(fifo)缓冲器的方式更新aps。
[0182]
2.6.3.修改后的规范
[0183]
以下文本用固定滤波器、时域滤波器和基于ctb的滤波器索引进行了修改。
[0184]
2.6.3.1.语法表
[0185]
7.3.3.2自适应环路滤波器数据语法
[0186]
[0187][0188]
7.3.4.2.编码树单元语法
[0189][0190]
2.6.3.2.语义
[0191]
7.4.4.2.自适应环路滤波器数据语义
[0192]
alf_signal_new_filter_luma等于1指定信令通知新的亮度滤波器组。alf_signal_new_filter_luma等于0指定不信令通知新的亮度滤波器组。当alf_signal_new_
filter_luma不存在时其为0。
[0193]
alf_luma_use_fixed_filter_flag等于1指定使用固定滤波器组来信令通知自适应环路滤波器。alf_luma_use_fixed_filter_flag等于0指定不使用固定滤波器组来信令通知自适应环路滤波器。
[0194]
alf_luma_fixed_filter_set_index指定固定的滤波器组索引。其可以是0
…
15。
[0195]
alf_luma_fixed_filter_usage_pattern等于0指定所有新滤波器都使用固定滤波器。alf_luma_fixed_filter_usage_pattern等于1指定某些新滤波器使用固定滤波器,而其他滤波器则不使用。
[0196]
alf_luma_fixed_filter_usage[i]等于1指定第i个滤波器使用固定滤波器。alf_luma_fixed_filter_usage[i]等于0指定第i个滤波器不使用固定滤波器。在alf_luma_fixed_filter_usage[i]不存在时,推断其为1。
[0197]
alf_signal_new_filter_chroma等于1指定信令通知新的色度滤波器。alf_signal_new_filter_chroma等于0指定不信令通知新的色度滤波器。
[0198]
alf_num_available_temporal_filter_sets_luma指定可用于当前条带的可用时域滤波器组的数量,它可以从0..5开始。当alf_num_available_temporal_filter_sets_luma不存在时,其为0。
[0199]
变量alf_num_available_filter_sets推导为16 alf_signal_new_filter_luma alf_num_available_temporal_filter_sets_luma。
[0200]
如果alf_signal_new_filter_luma为1,则执行以下处理:
[0201]
sigfiltidx=0..alf_luma_num_filters_signaled_minus1且j=0..11的变量filtercoefficients[sigfiltidx][j]初始化如下:
[0202]
filtercoefficients[sigfiltidx][j]=alf_luma_coeff_delta_abs[sigfiltidx][j]*(1
‑
2*alf_luma_coeff_delta_sign[sigfiltidx][j])
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7
‑
50)
[0203]
当alf_luma_coeff_delta_prediction_flag等于1时,sigfiltidx=1..alf_luma_num_filters_signaled_minus1且j=0..11的filtercoefficients[sigfiltidx][j]修改如下:
[0204]
filtercoefficients[sigfiltidx][j] =filtercoefficients[sigfiltidx
‑
1][j](7
‑
51)
[0205]
具有元素alfcoeffl[filtidx][j],且filtidx=0..numalffilters
‑
1和j=0..11的亮度滤波器系数alfcoeff
l
推导如下:
[0206]
alfcoeffl[filtidx][j]=filtercoefficients[alf_luma_coeff_delta_idx[filtidx]][j]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7
‑
52)
[0207]
如果alf_luma_use_fixed_filter_flag为1且alf_luma_fixed_filter_usage[filtidx]为1,则应用以下条件:
[0208]
alfcoeff
l
[filtidx][j]=alfcoeff
l
[filtidx][j] alffixedfiltercoeff[alfclasstofiltermapping[alf_luma_fixed_filter_index][filtidx]][j]
[0209]
对于filtidx=0..numalffilters
‑
1的最后一个滤波器系数alfcoeff
l
[filtidx][12]推导如下:
[0210]
alfcoeffl[filtidx][12]=128
‑
∑k(alfcoeffl[filtidx][k]<<1),with k=
0..11(7
‑
53)
[0211]
filtidx=0..numalffilters
‑
1,j=0..11的alfcoeff
l
[filtidx][j]的值应在
‑27
到27‑
1的范围内(包括
‑27
和27‑
1),并且alfcoeff
l
[filtidx][12]的值应在0到28–
1的范围内(包括0和28–
1)是比特流一致性的要求。
[0212]
具有元素alfcoeff
lumaall
[filtsetidx][filtidx][j],且filtsetidx=0..15,filtsetidx=0..numalffilters
–
1和j=0..12的亮度滤波器系数alfcoeff
lumaall
推导如下:
[0213]
alfcoeff
lumaall
[filtsetidx][filtidx][j]=alffixedfiltercoeff[alfclasstofiltermapping[filtsetidx][filtidx]][j]
[0214]
具有元素alfcoeff
lumaall
[filtsetidx][filtidx][j],且filtsetidx=16,filtsetidx=0..numalffilters
–
1且j=0..12的亮度滤波器系数alfcoeff
lumaall
推导如下:
[0215]
变量closed_temporal_index初始化为
‑
1。tid是当前条带的时域层索引。
[0216]
如果alf_signal_new_filter_luma为1,则:
[0217]
alfcoeff
lumaall
[16][filtidx][j]=alfcoeff
l
[filtidx][j]
[0218]
否则,将调用以下处理:
[0219][0220][0221]
具有元素alfcoeff
lumaall
[filtsetidx][filtidx][j],且filtsetidx=17..alf_num_available_filter_sets
‑
1,filtsetidx=0..numalffilters
–
1且j=0..12的亮度滤波器系数alfcoeff
lumaall
推导如下:
[0222][0223][0224]
–
如果alf_signal_new_filter_chroma为1,则执行以下处理:
[0225]
j=0..5的色度滤波器系数alfcoeffc[j]推导如下:
[0226]
alfcoeff
c
[j]=alf_chroma_coeff_abs[j]*(1
‑
2*alf_chroma_coeff_sign[j])
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7
‑
57)
[0227]
j=6的最后一个滤波器系数推导如下:
[0228]
alfcoeff
c
[6]=128
‑
∑
k
(alfcoeff
c
[k]<<1),with k=0..5
ꢀꢀꢀꢀ
(7
‑
58)
[0229]
j=0..5的alfcoeff
c
[j]的值应在
‑27
‑
1至27–
1的范围内(包括
‑27
–
1和27‑
1),并且alfcoeff
c
[6]的值应在0到28–
1的范围内(包括0和28–
1)是比特流一致性的要求。
[0230]
–
否则(alf_signal_new_filter_chroma为0),将调用以下内容:
[0231][0232]
j=0..6的色度滤波器系数alfcoeffc[j]推导如下:
[0233]
alfcoeff
c
[j]=temp
c
[closest_temporal_index][j]
[0234]
7.4.5.2编码树单元语义
[0235]
alf_luma_ctb_filter_set_index[xctb>>log2ctbsize][yctb>>log2ctbsize]指定在位置(xctb,yctb)处的亮度ctb的滤波器组索引。
[0236]
alf_use_new_filter等于1指定alf_luma_ctb_filter_set_index[xctb>>log2ctbsize][yctb>>log2ctbsize]为16。alf_use_new_filter等于0指定alf_luma_ctb_filter_set_index[xctb>>log2ctbsize][yctb>>log2ctbsize]不为16。
[0237]
alf_use_fixed_filter等于1指定使用固定滤波器组之一。alf_use_fixed_filter等于0指定当前亮度ctb不使用任何固定的滤波器组。
[0238]
alf_fixed_filter_index指定固定的滤波器组索引,范围可以从0到15。
[0239]
alf_temporal_index指定时域滤波器组索引,其范围可以从0到alf_num_available_temporal_filter_sets_luma
‑
1。
[0240]
2.6.3.3解码处理
[0241]
8.5.1总则
[0242]
1.当sps_alf_enabled_flag等于1时,以下适用:
[0243]
–
调用第8.5.4.5节中指定的时域滤波器刷新(refresh)处理。
[0244]
–
调用第8.5.4.1节中指定的自适应环路滤波器处理,将重构的图片样点阵列s
l
、s
cb
和s
cr
作为输入,并将在样点自适应偏移之后修改后的重构的图片样点阵列s
′
l
、s
′
cb
和s
′
cr
作为输出。
[0245]
–
分别将阵列s
′
l
、s
′
cb
和s
′
cr
分配给阵列s
l
、s
cb
和s
cr
(其代表解码图片)。
[0246]
–
调用第8.5.4.6节中指定的时域滤波器更新处理。
[0247]
8.5.4.2亮度样点的编码树块滤波处理
[0248]
–
对应于由filtidx[x][y]指定的滤波器的亮度滤波器系数f[j]的阵列推导如下,其中j=0..12:
[0249]
f[j]=alfcoeff
lumaall
[alf_luma_ctb_filter_set_index[xctb>>log2ctbsize][yctb>>log2ctbsize]]][filtidx[x][y]][j]
ꢀꢀꢀꢀ
(8
‑
732)
[0250]
8.5.4.5时域滤波器刷新
[0251]
如果满足以下任一条件,则将temp_size_l和temp_size_c设置为0。
[0252]
–
当前图片为idr图片
[0253]
–
当前图片为bla图片
[0254]
–
按照解码顺序,当前图片是poc大于最后解码的irap图片的poc的第一张图片,例如在领先图片(leading picture)之后并且在后续图片(trailing picture)之前。
[0255]
8.5.4.6时域滤波器更新
[0256]
如果slice_alf_enabled_flag为1且alf_signal_new_filter_luma为1,则以下适用:
[0257]
如果亮度时域滤波器缓冲区尺寸temp_size_l<5,则temp_size_l=temp_size_l 1。
[0258]
将temp
l
[i][j][k](其中i=temp_size_l
–1…
1,j=0
…
numalffilters
‑
1和k=0
…
12)更新为:
[0259]
temp
l
[i][j][k]=temp
l
[i
‑
1][j][k]
[0260]
将temp
l
[0][j][k](其中j=0
…
numalffilters
‑
1和k=0..12)更新为:
[0261]
temp
l
[0][j][k]=alfcoeff
l
[j][k]
[0262]
将temp
tid_l
[i](其中i=temp_size_l
–1…
1)更新为
[0263]
temp
tid_l
[i]=temp
tid_l
[i
‑
1]
[0264]
将temp
tid_l
[0]设置为当前条带的时域层索引tid。
[0265]
如果alf_chroma_idx不为0并且alf_signal_new_filter_chroma为1,则以下适用:
[0266]
将i=temp_size_c
–1…
1和j=0
…
6的temp
c
[i][j]更新为
[0267]
temp
c
[i][j]=temp
c
[i
‑
1][j]
[0268]
将j=0
…
6的temp
c
[0][j]更新为
[0269]
temp
c
[0][j]=alfcoeff
c
[j]
[0270]
将i=temp_size_c
–1…
1的temp
tid_c
[i]更新为
[0271]
temp
tid_c
[i]=temp
tid_c
[i
‑
1]
[0272]
将temp
tid_c
[0]设置为当前条带的tid。
[0273]
表3:语法元素和相关的二值化
[0274]
[0275]
表4:用上下文编码的二进制数(bins)将ctxinc分配给语法元素
[0276][0277]
2.7环路整形(ilr)的示例
[0278]
环路整形(ilr)的基本思想是将原始(在第一域中)信令(预测/重构信令)转换到第二域(整形域)。
[0279]
环路亮度整形器实现为一对查找表(lut),但是两个lut中只有一个需要信令通知,因为另一个可以从信令通知的lut计算出来。每个lut是一维10比特1024项映射表(1d
‑
lut)。一个lut是前向lutfwdlut,它将输入的亮度编码值y
i
映射为更改的值y
r
:y
r
=fwdlut[y
i
]。另一个lut是反向lutinvlut,它将更改的编码值y
r
映射为(表示y
i
的重构值。)。
[0280]
2.7.1示例pwl(分段线性)模型
[0281]
从概念上讲,分段线性(pwl)通过以下方式实现:
[0282]
令x1、x2为两个输入枢轴点,并且y1、y2为一段上它们对应的输出枢轴点。在x1和x2之间的任何输入值x的输出值y可以通过以下公式进行插值:
[0283]
y=((y2
‑
y1)/(x2
‑
x1))*(x
‑
x1) y1
[0284]
在定点实现中,公式可重写为:
[0285]
y=((m*x 2
fp_prec
‑1)>>fp_prec) c
[0286]
这里,m是标量,c是偏移,并且fp_prec是用于指定精度的常数。
[0287]
注意,pwl模型可以用于预计算1024项的fwdlut和invlut映射表;但是,pwl模型还允许无需预计算lut即可实时计算相同映射值的实施方式。
[0288]
2.7.2示例测试模型
[0289]
2.7.2.1亮度整形
[0290]
在一些实施例中,环路亮度整形的测试模型提供了较低复杂度的管线,该管线还消除了在帧间条带重构中逐块帧内预测的解码时延。对帧内和帧内条带均在整形域中执行帧内预测。
[0291]
无论条带类型如何,都在整形域中执行帧内预测。通过这种布置,可以在完成先前的tu重构之后立即开始帧内预测。这样的布置还可以为帧内模式提供统一的处理,而不是依赖于条带。图5示出了基于模式的示例解码处理的框图。
[0292]
在一些实施例中,可以测试亮度和色度残差缩放的16段分段线性(pwl)模型,而不是32段pwl模型。
[0293]
在一些实施例中,可以在测试模型中实现利用环路亮度整形器进行的帧间条带重构(浅绿色的阴影块指示整形域中的信号:亮度残差;预测的帧内亮度;以及重构的帧内亮度)。
[0294]
2.7.2.2亮度相关的色度残差缩放
[0295]
亮度相关的色度残差缩放是用定点整数运算实现的乘法处理。它是一个缩放处
理,其中基于重构的亮度样点得出缩放系数。然后将缩放系数应用于色度残差(即色度残差缩放)。色度残差缩放补偿亮度信号与色度信号的相互作用。在tu级别应用色度残差缩放适。更具体地,利用相应亮度预测块的平均值。
[0296]
平均值用于标识pwl模型中的索引。该索引标识缩放因子cscaleinv。将色度残差乘以该数。
[0297]
注意,根据前向映射的预测亮度值而不是重构的亮度值来计算色度缩放因子。
[0298]
2.7.3 ilr的使用
[0299]
在编码器侧,首先将每个图片(或片组)转换到整形域。并且所有编码处理都在整形域中执行。对于帧内预测,相邻块在整形域中;对于帧间预测,首先将参考块(从解码图片缓冲器的原始域生成)转换到整形域。然后生成残差并将其编码到比特流。
[0300]
在整个图片(或片组)完成编码/解码之后,将整形域中的样点转换到原始域,然后应用去方块滤波器和其他滤波器。
[0301]
在以下情况下,禁用对预测信令的前向整形:
[0302]
(1)当前块是帧内编码的;
[0303]
(2)当前块被编码为cpr(当前图片参考,也称为帧内块复制,ibc);
[0304]
(3)当前块被编码为组合帧间
‑
帧内模式(ciip),并且对帧内预测块禁用前向整形。
[0305]
2.7.4ilr边信息的示例信令
[0306]
2.7.4.1语法表
[0307]
lmcs aps:aps_params_type等于lmcs_aps的aps。
[0308]
7.3.2.3序列参数集rbsp语法
[0309][0310]
7.3.2.5自适应参数集语法
[0311]
[0312][0313]
7.3.5条带标头语法
[0314]
7.3.5.1通用条带标头语法
[0315]
[0316][0317]
7.3.5.4亮度映射与色度缩放数据语法
[0318][0319]
2.7.4.2语义
[0320]
sps_lmcs_enabled_flag等于1指定在cvs中使用亮度映射与色度缩放。sps_lmcs_
enabled_flag等于0指定在cvs中不使用亮度映射与色度缩放。
[0321]
自适应参数集语义
[0322]
adaptation_parameter_set_id提供用于aps的标识符,以供其他语法元素参考。aps可以在图片之间共享,并且在图片的不同条带中可以不同。
[0323]
aps_params_type aps中携带的aps参数的类型,如表5中指定的。
[0324]
表5:aps参数类型代码和aps参数类型
[0325][0326]
slice_lmcs_enabled_flag等于1指定为当前条带启用亮度映射与色度缩放。slice_lmcs_enabled_flag等于0指定不为当前条带启用亮度映射与色度缩放。如果不存在slice_lmcs_enabled_flag,则将其推断为等于0。
[0327]
slice_lmcs_aps_id指定条带所引用的lmcs aps的adaptation_parameter_set_id。adaptation_parameter_set_id等于slice_lmcs_aps_id的lmcs aps nal单元的temporalid应小于或等于编码后的条带nal单元的temporalid。
[0328]
当相同图片的两个或更多个条带引用具有adaptation_parameter_set_id的相同值的多个lmcs aps时,具有adaptation_parameter_set_id的相同值的多个lmcs aps应具有相同的内容。
[0329]
7.4.6.4亮度映射与色度缩放数据语义
[0330]
lmcs_min_bin_idx指定在亮度映射与色度缩放的构造处理中使用的最小二进制(bin)索引。lmcs_min_bin_idx的值应在0到15的范围内(包括0和15)。
[0331]
lmcs_delta_max_bin_idx指定在15和在亮度映射与色度缩放的构造处理中使用的最大二进制(bin)索引lmcsmaxbinidx之间的增量(delta)值。lmcs_delta_max_bin_idx的值应在0到15的范围内(包括0和15)。将lmcsmaxbinidx的值设置为等于15
‑
lmcs_delta_max_bin_idx。lmcsmaxbinidx的值应大于或等于lmcs_min_bin_idx。
[0332]
lmcs_delta_cw_prec_minus1加1指定用于表示语法lmcs_delta_abs_cw[i]的比特数。lmcs_delta_cw_prec_minus1的值应在0到bitdepthy
‑
2的范围内,包括0和bitdepthy
‑
2。
[0333]
lmcs_delta_abs_cw[i]指定第i个二进制的绝对增量码字(codeword)值。
[0334]
lmcs_delta_sign_cw_flag[i]指定变量lmcsdeltacw[i]的符号,如下所示:
[0335]
如果lmcs_delta_sign_cw_flag[i]等于0,则lmcsdeltacw[i]为正值。
[0336]
否则(lmcs_delta_sign_cw_flag[i]不等于0),lmcsdeltacw[i]为负值。
[0337]
如果不存在lmcs_delta_sign_cw_flag[i],则将其推断为等于0。
[0338]
变量orgcw的推导如下:
[0339]
orgcw=(1<<bitdepth
y
)/16
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7
‑
77)
[0340]
变量lmcsdeltacw[i](其中i=lmcs_min_bin_idx..lmcsmaxbinidx)的推导如下:
[0341]
lmcsdeltacw[i]=(1
‑
2*lmcs_delta_sign_cw_flag[i])*lmcs_delta_abs_cw[i]
ꢀꢀꢀꢀ
(7
‑
78)
[0342]
变量lmcscw[i]的推导如下:
[0343]
对于i=0..lmcs_min_bin_idx
‑
1,将lmcscw[i]设置为等于0。
[0344]
对于i=lmcs_min_bin_idx..lmcsmaxbinidx,以下适用:
[0345]
lmcscw[i]=orgcw lmcsdeltacw[i]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7
‑
79)
[0346]
lmcscw[i]的值应在(orgcw>>3)到(orgcw<<3
‑
1)的范围内,包括(orgcw>>3)和(orgcw<<3
‑
1)。
[0347]
对于i=lmcsmaxbinidx 1..15,将lmcscw[i]设置为等于0。
[0348]
满足以下条件是比特流一致性的要求:
[0349][0350]
i=0..16的变量inputpivot[i]的推导如下:
[0351]
inputpivot[i]=i*orgcw
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7
‑
81)
[0352]
i=0..16的变量lmcspivot[i],i=0..15的变量scalecoeff[i]和invscalecoeff[i]的推导如下:
[0353][0354][0355]
i=0
…
15的变量chromascalecoeff[i]的推导如下:
[0356][0357]
变量cliprange、lmcsminval和lmcsmaxval的推导如下:
[0358]
cliprange=((lmcs_min_bin_idx>0)&&(lmcsmaxbinidx<15)
ꢀꢀꢀ
(7
‑
84)
[0359]
lmcsminval=16<<(bitdepth
y
‑
8)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7
‑
85)
[0360]
lmcsmaxval=235<<(bitdepth
y
‑
8)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7
‑
86)
[0361]
注
–
仅当slice_lmcs_model_present_flag等于1时,才更新阵列inputpivot[i]和lmcspivot[i]、scalecoeff[i]和invscalecoeff[i]、chromascalecoeff[i]、cliprange、lmcsminval和lmcsmaxval。因此,例如,可以与irap图片一起发送lmcs模型,但是对于该irap图片禁用lmcs。
[0362]
2.8示例色度残差联合编码
[0363]
该测试测量示例联合cb
‑
cr编码模式的性能,其中仅对联合残差进行编码。
[0364]
如果色度整形器处于活动状态,则与在单独的编码模式中所做的相同(即,对联合残差信令进行整形),将整形应用于接收到的残差。在编码器侧,当测试此模式时,将正cb残差和负cr残差的平均用作联合残差:
[0365]
resjoint=(rescb
–
rescr)/2
[0366]
在比特流中信令通知一个二进制指示器以启用该模式。在启用模式的情况下,在比特流中对联合残差信令进行编码。在解码器侧,联合残差用于cb分量,且残差的负版本用
于cr。
[0367]
期望模式的信令遵循以下给出的语法和语义:
[0368][0369]
tu_cb_cr_joint_residual[x0][y0]指定是否使用指示的cb残差来导出cb和cr残差。阵列索引x0,y0指定所考虑的变换块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。
[0370]
7.3.2.2图片参数集rbsp语法
[0371][0372]
7.3.4.1通用片组标头语法
[0373][0374]
7.3.6.12残差编码语法
[0375]
[0376]
2.9.简化的二次变换
[0377]
在jem中,在前向主变换和量化之间(在编码器处)以及在去量化和反向主变换之间(在解码器侧)应用二次变换。如图6所示,执行4x4(或8x8)二次变换取决于块尺寸。例如,每8x8块将4x4二次变换应用于较小的块(例如,min(宽度,高度)<8),将8x8二次变换应用于较大的块(例如,min(宽度,高度)>4)。
[0378]
对于二次变换,应用了不可分离的变换,因此,它也被称为不可分离的二次变换(nsst)。每个变换集总共使用35个变换集和3个不可分离的变换矩阵(内核,每个具有16x16矩阵)。
[0379]
在一些实施例中,可以使用根据帧内预测方向的简化的二次变换(rst)和4个变换集(而不是35个变换集)映射。在某些情况下,对于8x8和4x4块分别采用16x48和16x16矩阵。为方便起见,将16x48变换表示为rst 8x8,将16x16变换表示为rst 4x4。vvc最近采用了这种方法。
[0380]
图7示出了简化的二次变换(rst)的示例。二次前向和反向变换是与主变换不同的处理步骤。
[0381]
对于编码器,首先执行主前向变换,然后执行二次前向变换和量化,以及cabac比特编码。对于解码器,执行cabac比特解码和逆量化,然后先执行二次反向变换,然后再执行主反向变换。
[0382]
rst仅适用于帧内编码的tu。
[0383]
2.9.1.语法和语义
[0384]
7.3.2.1序列参数集rbsp语法
[0385][0386]
7.3.6.11残差编码语法
[0387]
[0388]
[0389]
[0390][0391]
7.3.6.5编码单元语法
[0392]
[0393][0394]
7.4.3.1序列参数集rbsp语义
[0395]
sps_st_enabled_flag等于1指定在帧内编码单元的残差编码语法中可以存在st_idx。sps_st_enabled_flag等于0指定在帧内编码单元的残差编码语法中不存在st_idx。
[0396]
7.4.7.5编码单元语义
[0397]
st_idx[x0][y0]指定在所选变换集中的两个候选内核之间应用哪个二次变换内核。st_idx[x0][y0]等于0指定不应用二次变换。阵列索引x0,y0指定所考虑的变换块的左上样点相对于图片的左上样点的位置(x0,y0)。
[0398]
当不存在st_idx[x0][y0]时,推断st_idx[x0][y0]等于0。
[0399]
2.10.在vvc中支持各种颜色格式
[0400]
2.10.1.语法、语义和解码处理
[0401]
7.3.2.3序列参数集rbsp语法
[0402]
[0403][0404]
chroma_format_idc指定相对于第6.2节中指定的亮度样点的色度样点。chroma_format_idc的值应在0到3之间(包括0和3)。
[0405]
separate_colour_plane_flag等于1指定4:4:4色度格式的三个颜色分量被单独编解码。separate_colour_plane_flag等于0指定颜色分量未被单独编解码。当不存在separate_colour_plane_flag时,推断其等于0。当separate_colour_plane_flag等于1时,
编码图片由三个单独分量组成,每个分量由一个颜色平面(y,cb或cr)的编码样点组成,并使用单色编码语法。在这种情况下,每个颜色平面都与特定的colour_plane_id值相关联。
[0406]
在具有不同colour_plane_id值的颜色平面之间的解码处理中没有依赖性。例如,具有一个colour_plane_id的值的单色图片的解码处理不使用来自具有不同colour_plane_id的值的单色图片的任何数据进行帧间预测。
[0407]
取决于separate_colour_plane_flag的值,变量chromaarraytype的值被分配如下:
[0408]
‑
如果separate_colour_plane_flag等于0,则将chromaarraytype设置为等于chroma_format_idc。
[0409]
‑
否则(separate_colour_plane_flag等于1),将chromaarraytype设置为等于0。
[0410]
6.2源、解码和输出图片格式
[0411]
本部分指定了经由比特流给出的解码图片和源图片之间的关系。
[0412]
由比特流表示的视频源是按解码顺序的图片序列。
[0413]
源图片和解码图片分别由一个或多个样点阵列组成:
[0414]
‑
仅亮度(y)(单色)。
[0415]
‑
亮度和两种色度(ycbcr或ycgco)。
[0416]
‑
绿色、蓝色和红色(gbr,也称为rgb)。
[0417]
‑
表示其他未指定的单色或三色(tri
‑
stimulus)颜色样点的阵列(例如yzx,也称为xyz)。
[0418]
为了方便本说明书中的符号和术语,与这些阵列相关联的变量和术语被称为亮度(或l或y)和色度,其中两个色度阵列被称为cb和cr;不管使用哪种真实颜色表示方法。可以使用附件tbd中指定的语法来指示使用的真实颜色表示方法。
[0419]
取决于色度格式样点结构,在表6中指定了变量subwidthc和subheightc,该结构是通过chroma_format_idc和separate_colour_plane_flag指定的。将来itu
‑
t|iso/iec可以指定chroma_format_idc、subwidthc和subheightc的其他值。
[0420]
表6
–
从chroma_format_idc和separate_colour_plane_flag推导的subwidthc和subheightc值
[0421]
chroma_format_idcseparate_colour_plane_flag色度格式subwidthcsubheightc00单色11104:2:022204:2:221304:4:411314:4:411
[0422]
在单色采样中,仅存在一个样点阵列,其名义上被认为是亮度阵列。
[0423]
在4:2:0采样中,两个色度阵列中的每个均具有亮度阵列的一半高度和一半宽度。
[0424]
在4:2:2采样中,两个色度阵列中的每个均具有与亮度阵列相同的高度和一半的宽度。
[0425]
在4:4:4采样中,取决于separate_colour_plane_flag的值,以下适用:
[0426]
‑
如果separate_colour_plane_flag等于0,则两个色度阵列中的每个具有与亮度
阵列相同的高度和宽度。
[0427]
‑
否则,(separate_colour_plane_flag等于1),将三个颜色平面分别处理为单色采样图片。
[0428]
在视频序列中表示亮度和色度阵列中的每个样点所必需的比特数为8至16(包括8和16),并且亮度阵列中使用的比特数可能与色度阵列中使用的比特数不同。
[0429]
当chroma_format_idc的值等于1时,在图8中示出图片中的亮度和色度样点的标称垂直和水平相对位置。可以在视频可用性信息中指示替代色度样点的相对位置。
[0430]
当chroma_format_idc的值等于2时,色度样点与相应的亮度样点位于同一位置,并且图片中的标称位置如图9所示。
[0431]
当chroma_format_idc的值等于3时,对于所有图片情况,所有阵列样点都位于同一位置,并且图片中的标称位置如图10所示。
[0432]
附件e:视频可用性信息
[0433]
即使对于相同的色度子采样格式,诸如4:2:0,子采样方法也可以有多种不同的方式。在图11中标记了不同的类型。
[0434]
图12示出了当chroma_format_idc等于1(4:2:0色度格式)并且chroma_sample_loc_type等于变量chromaloctype的值时,左上色度样点的指示相对位置。相对于左上亮度样点表示的区域(描绘为黑色小方块,中间有小黑点),显示了以左上4:2:0色度样点表示的区域(描绘为红色大方块,中间有大红点)。由相邻亮度样点表示的区域被描绘为在其中心处带有小灰点的灰色小方块。
[0435]
如图13所示,色度样点的相对空间定位被表示为:可以通过将两个变量horizontaloffsetc和verticaloffsetc定义为chroma_format_idc和变量chromaloctype的函数,如表7所示,其中horizontaloffsetc是以亮度样点位单位的、左上色度样点的中心相对于左上亮度样点的中心的水平(x)位置,并且verticaloffsetc是以亮度样点位单位的、左上色度样点的中心相对于左上亮度样点的中心的垂直(y)位置。
[0436]
在典型的fir滤波器设计中,当chroma_format_idc等于1(4:2:0色度格式)或2(4:2:2色度格式)时,horizontaloffsetc和verticaloffsetc将分别用作水平和垂直滤波器操作的相位偏移,以用于从4:4:4色度格式到由chroma_format_idc指示的色度格式的分离的下采样。
[0437]
表7
–
做为chroma_format_idc和chromaloctype的函数的horizontaloffsetc和verticaloffsetc的定义
[0438]
chroma_format_idcchromaloctypehorizontaloffsetcverticaloffsetc1(4:2:0)000.51(4:2:0)10.50.51(4:2:0)2001(4:2:0)30.501(4:2:0)4011(4:2:0)50.512(4:2:2)
–
003(4:4:4)
–
00
[0439]
当chroma_format_idc等于1(4:2:0色度格式)并且解码后的视频内容打算根据rec.itu
‑
r bt.2020
‑
2或rec.itu
‑
r bt.2100
‑
1进行解释时,chroma_loc_info_present_flag应等于1,而chroma_sample_loc_type应等于2。
[0440]
2.11.示例扩展alf
[0441]
在一些实施例中,可以扩展非线性alf的概念。更准确地说,可以添加一些语法元素以启用替代的alf亮度滤波器集和替代的色度滤波器的使用,并在每个滤波器和ctu的基础上选择它们。对于每个ctu,如果在亮度分量上启用了alf滤波,则会为每个alf亮度滤波器索引信令通知附加的亮度滤波器集替代索引。类似地,对于每个ctu,对于启用了alf滤波的每个色度分量,都会信令通知替代色度滤波器索引,以选择用于色度分量的给定滤波器。
[0442]
2.12 vvc中的示例子块变换(sbt)
[0443]
对于cu_cbf等于1的帧间预测的cu,可以信令通知cu_sbt_flag以指示是对整个残差块还是残差块的子部分进行解码。在前一种情况下,进一步解析帧间mts信息以确定cu的变换类型。在后一种情况下,残差块的一部分通过推断的自适应变换进行编码,而残差块的另一部分被清零。由于几乎没有实现编码增益,因此不将sbt应用于组合的帧间
‑
帧内模式。
[0444]
2.12.1子块tu划片(tiling)
[0445]
当将sbt用于帧间cu时,进一步从比特流中解码sbt类型和sbt位置信息。如图14所示,存在两种sbt类型和两种sbt位置。对于sbt
‑
v(或sbt
‑
h),tu宽度(或高度)可以等于cu宽度(或高度)的一半,或者cu宽度(或高度)的1/4,由另一个标志信令通知,导致2:2划分或1:3/3:1划分。2:2划分就像二叉树(bt)划分,而1:3/3:1划分就像非对称二叉树(abt)划分。如果在亮度样点中cu的一侧为8,则不允许沿这一侧进行1:3/3:1划分。因此,cu最多有8种sbt模式。
[0446]
如图15所示,四叉树(qt)划分还用于将一个cu划片为4个子块,并且还有一个子块具有残差。此sbt类型表示为sbt
‑
q。这部分未被vvc采纳。
[0447]
cu允许sbt
‑
v、sbt
‑
h和sbt
‑
q的宽度和高度均不大于maxsbtsize。在sps中信令通知maxsbtsize。对于hd和4k序列,编码器将maxsbtsize设置为64;对于其他较小的分辨率序列,将maxsbtsize设置为32。
[0448]
2.1.2.2子块的变换类型
[0449]
在子块变换中,将与位置有关的变换应用于sbt
‑
v和sbt
‑
h(始终使用dct
‑
2的色度tb)中的亮度变换块。sbt
‑
h和sbt
‑
v的两个位置与不同的核心变换相关联。更具体地,在图14中指定每个sbt位置的水平和垂直变换。例如,sbt
‑
v位置0的水平和垂直变换分别是dct
‑
8和dst
‑
7。当残差tu的一侧大于32时,将相应的变换设置为dct
‑
2。因此,子块变换共同指定残差块的tu划片、cbf以及水平和垂直变换,对于块的主要残差在块的一侧的情况,可以将其视为语法快捷方式。
[0450]
2.12.3vvc中的子块变换
[0451]
对于具有cu_cbf等于1的帧间预测的cu,例如具有至少一个非零系数,可以信令通知cu_sbt_flag以指示是对整个残差块还是残差块的子部分进行解码。在前一种情况下,进一步解析帧间mts信息以确定cu的变换类型。在后一种情况下,残差块的一部分通过推断的自适应变换进行编码,而残差块的另一部分被清零。由于几乎没有实现编码增益,因此不将sbt应用于组合的帧间
‑
帧内模式。
[0452]
当sbt用于帧间cu时,进一步从比特流中解码sbt类型和sbt位置信息。对于sbt
‑
v(或sbt
‑
h),tu宽度(或高度)可以等于cu宽度(或高度)的一半,或者cu宽度(或高度)的1/4,由另一个标志信令通知,导致2:2划分或1:3/3:1划分。2:2划分就像二叉树(bt)划分,而1:3/3:1划分就像非对称二叉树(abt)划分。如果在亮度样点中cu的一侧为8,则不允许沿这一侧进行1:3/3:1划分。因此,cu最多有8种sbt模式。
[0453]
位置相关变换应用于sbt
‑
v和sbt
‑
h(始终使用dct
‑
2的色度tb)中的亮度变换块。sbt
‑
h和sbt
‑
v的两个位置与不同的核心变换相关联。更具体地,在图14中指定了每个sbt位置的水平和垂直变换。例如,sbt
‑
v位置0的水平和垂直变换分别是dct
‑
8和dst
‑
7。当残差tu的一侧大于32时,将相应的变换设置为dct
‑
2。因此,子块变换联合指定残差块的tu划片、cbf以及水平和垂直变换,对于块的主要残差在块的一侧的情况,可以将其视为语法快捷方式。
[0454]
7.3.4.6编码单元语法
[0455]
[0456][0457]
7.3.4.10变换树语法
[0458][0459]
7.3.4.11变换单元语法
[0460]
[0461][0462][0463]
2.13帧内块复制
[0464]
hevc屏幕内容编码扩展(hevc
‑
scc)和当前vvc测试模型(vtm
‑
4.0)已采用了帧内块复制(ibc),又称当前图片参考。ibc将运动补偿的概念从帧间编码扩展到了帧内编码。如图18所示,其是帧内块复制的说明,当应用ibc时,当前块由同一图片中的参考块预测。在对当前块进行编码或解码之前,必须已经重构了参考块中的样点。尽管ibc对于大多数相机捕获的序列而言效率不高,但它显示了屏幕内容的显着编码增益。原因是屏幕内容图片中有很多重复的模式,诸如图标和文本字符。ibc可以有效地消除这些重复模式之间的冗余。在hevc
‑
scc中,如果选择当前图片作为其参考图片,则帧间编码的编码单元(cu)可以应用ibc。在这种情况下,mv被重命名为块向量(bv),并且bv始终具有整数像素精度。为了与主配置文件hevc兼容,当前图片在解码图片缓冲区(decoded picture buffer,dpb)中被标志为“长期”参考图片。应当注意,类似地,在多视图/3d视频编解码标准中,视图间参考图片也被标志为“长期”参考图片。
[0465]
在bv找到其参考块之后,可以通过复制参考块来生成预测。可以通过从原始信令中减去参考像素来获得残差。然后可以像在其他编码模式中一样应用变换和量化。
[0466]
然而,当参考块在图片之外、或与当前块重叠、或在重构区域之外、或在受某些约束限制的有效区域之外时,未定义部分或全部像素值。基本上,有两种解决此问题的解决方案。一种是禁止这种情况,例如符合比特流。另一种是对那些未定义的像素值应用填充。以下子节详细描述了解决方案。
[0467]
2.13.1 vvc测试模型中的ibc
[0468]
在当前的vvc测试模型(例如vtm
‑
4.0设计)中,整个参考块应与当前的编码树单元(ctu)重叠,且不与当前块重叠。因此,不需要填充参考或预测块。ibc标志被编码为当前cu的预测模式。因此,每个cu总共存在三种预测模式:mode_intra\mode_inter和mode_ibc。
[0469]
2.13.1.1 ibc merge模式
[0470]
在ibc merge模式中,从比特流中解析指向ibc merge候选列表中的条目的索引。ibc merge列表的构造可以根据以下步骤顺序进行总结:
[0471]
·
步骤1:推导空域候选
[0472]
·
步骤2:插入hmvp候选
[0473]
·
步骤3.插入成对平均候选
[0474]
在空域merge候选的推导中,在图2描绘的a1、b1、b0、a0和b2中描绘的位置的候选当中选择最多四个merge候选。推导的顺序是a1、b1、b0、a0和b2。仅当位置a1、b1、b0、a0的任何pu不可用(例如,因为它属于另一条带或片)或者没有用ibc模式进被编码时,才考虑位置b2。在添加位置a1处的候选之后,对剩余候选的插入进行冗余校验,其确保具有相同运动信息的候选被排除在列表之外,使得编码效率提高。
[0475]
在插入空域候选之后,如果ibc merge列表尺寸仍小于最大ibc merge列表尺寸,则可以插入来自hmvp表的ibc候选。插入hmvp候选时执行冗余检查。
[0476]
最后,将成对平均候选插入ibc merge列表。
[0477]
当由merge候选标识的参考块在图片之外、或者与当前块重叠、或者在重构区域之外、或者在受某些约束限制的有效区域之外时,merge候选被称为无效merge候选。
[0478]
注意,可以将无效的merge候选插入到ibc merge列表中。
[0479]
2.13.1.2 ibc amvp模式
[0480]
在ibc amvp模式下,指向ibc amvp列表中条目的amvp索引是从比特流中解析出来的。ibc amvp列表的构造可以根据以下步骤顺序进行总结:
[0481]
·
步骤1:推导空域候选
[0482]
o检查a0、a1,直到找到可用的候选。
[0483]
o检查b0、b1、b2,直到找到可用的候选。
[0484]
·
步骤2:插入hmvp候选
[0485]
·
步骤3:插入零候选
[0486]
在插入空域候选之后,如果ibc amvp列表尺寸仍然小于最大ibc amvp列表尺寸,则可以插入来自hmvp表的ibc候选。
[0487]
最后,将零候选插入到ibc amvp列表中。
[0488]
2.13.1.3色度ibc模式
[0489]
在当前的vvc中,在子块级执行色度ibc模式下的运动补偿。色度块将被分割成几个子块。每个子块确定相应的亮度块是否具有块矢量以及有效性(如果存在)。当前vtm中存在编码器约束,如果当前色度cu中的所有子块都具有有效的亮度块矢量,则将测试色度ibc模式。例如,在yuv 420视频上,色度块为nxm,然后并置的亮度区域为2nx2m。色度块的子块尺寸为2x2。以下几个步骤可以执行色度mv推导,然后执行块复制处理。
[0490]
1)首先将色度块分割为(n>>1)*(m>>1)个子块。
[0491]
2)具有在(x,y)处协调的左上样点的每个子块获取覆盖在(2x,2y)处协调的相同左上样点的对应亮度块。
[0492]
3)编码器检查所获取的亮度块的块矢量(bv)。如果满足以下条件之一,则bv被视为无效。
[0493]
a.相应亮度块的bv不存在。
[0494]
b.由bv标识的预测块尚未重构。
[0495]
c.由bv标识的预测块与当前块部分或完全重叠。
[0496]
4)将子块的色度运动向量设置为对应的亮度子块的运动向量。
[0497]
当所有子块都找到有效的bv时,在编码器处允许ibc模式。
[0498]
2.14 hevc屏幕内容编码扩展中的调色板模式(hevc
‑
scc)
[0499]
调色板模式背后的基本思想是cu中的样点由一小组代表性颜色值表示。该组称为调色板。也可以通过信令通知后跟(可能是量化的)分量值的逸出符号(escape symbol)来指示调色板之外的样点。这在图19中示出。
[0500]
在hevc
‑
scc的调色板模式中,预测方式用于编码调色板和索引图。
[0501]
2.5.2调色板索引的编码
[0502]
如图20所示,使用水平和垂直遍历扫描来对调色板索引进行编码。使用palette_transpose_flag在比特流中显式地信令通知扫描顺序。对于本小节的其余部分,假设扫描是水平的。
[0503]
使用两个主调色板样点模式(“index”和“copy_above”)对调色板索引进行编码。如前所述,逸出符号也信令通知为“index”模式,并被分配了等于最大调色板尺寸的索引。使用除顶部行以外的标志或在前一个模式为“copy_above”时信令通知该模式。在“copy_above”模式下,将复制上一行中样点的调色板索引。在“index”模式下,显式地信令通知调
色板索引。对于“index”和“copy_above”模式两者,都会信令通知运行值,该值指定了也使用相同模式进行编码的后续样点数。当“index”或“copy_above”模式下逸出符号是运行的一部分时,将为每个逸出符号信令通知逸出分量值。调色板索引的编码在图21中示出。
[0504]
该语法顺序如下完成。首先,信令通知cu的索引值的数量。这之后是使用截断的二进制编码来信令通知整个cu的实际索引值。索引数和索引值均以旁路模式进行编码。这会将与索引相关的旁路箱组合在一起。然后以交错方式信令通知调色板样点模式(如果需要)和运行。最后,将与整个cu的逸出样点相对应的分量逸出值组合在一起,并以旁路模式进行编码。
[0505]
在信令通知索引值之后,信令通知了另外的语法元素last_run_type_flag。该语法元素与索引数量一起,消除了信令通知与块中最后一次运行相对应的运行值的需要。
[0506]
在hevc
‑
scc中,还为4:2:2、4:2:0和单色色度格式启用了调色板模式。对于所有色度格式,调色板条目和调色板索引的信令几乎相同。如果是非单色格式,则每个调色板条目均由3个分量组成。对于单色格式,每个调色板条目均由单个分量组成。对于子样点的色度方向,色度样点与可被2整除的亮度样点索引相关联。在为cu重构调色板索引之后,如果样点仅具有与其相关联的单个分量,则仅使用调色板条目的第一个分量。信令的唯一区别在于逸出分量值。对于每个逸出样点,信令通知的逸出分量值的数量可能会有所不同,具体取决于与该样点相关联的分量的数量。
[0507]
在vvc中,双树编码结构用于对帧内条带进行编码,因此亮度分量和两个色度分量可能具有不同的调色板和调色板索引。另外,两个色度分量共享相同的调色板和调色板索引。
[0508]
2.15双树的调色板模式
[0509]
当启用双树时,与亮度块的信令分开地信令通知是否对色度块使用调色板模式。
[0510]
3.现有实施方式的缺点
[0511]
当前的vvc设计具有以下问题:
[0512]
(1)色度残差的联合编码的方法具有以下问题:即使当色度分量不可用时,仍然应用启用/禁用该方法的信令以及在该方法中使用的色度增量量化参数(qp)。
[0513]
(2)启用双树时,即使序列是4:0:0,ibc和调色板模式的当前设计也需要信令通知色度编码块的ibc/调色板模式。
[0514]
(3)rst的方法具有以下问题:即使当色度分量不可用时,仍然应用启用/禁用这种方法的信令和变换矩阵索引。
[0515]
(4)无论chromaarraytype的值如何,都信令通知slice_chroma_residual_scale_flag和用于表示色度分量的每个pcm样点值的比特数(例如pcm_sample_bit_depth_chroma_minus1)。
[0516]
(5)对于每个ctu,对于在其上启用了alf滤波的每个色度分量,信令通知替代色度滤波器索引,以选择用于色度分量的给定滤波器。这种信令发送方法不会检查色度分量的可用性。
[0517]
(6)无论chromaarraytype的值如何,都进行图片参数集(pps)中pps_cb_qp_offset、pps_cr_qp_offset的信令。
[0518]
(7)两个颜色分量总是共享相同的rst矩阵。同时,rst和联合色度残差编码可以一
起应用,这是次优的。
[0519]
(8)rst中的非零系数计数阈值遵循以下规则:
[0520]
a.如果是单独的树编码,则对于亮度分量,当存在至少1个非零系数时,可以信令通知亮度分量的rst索引;
[0521]
b.如果是单独的树编码,则对于两个色度分量,当两个色度块(例如,cb和cr)中至少有一个非零系数时,可以信令通知一次两个色度分量的rst索引。
[0522]
c.如果是单个树编码,则当三个块(例如,y、cb和cr)中至少有两个非零系数时,可以信令通知一次整个编码单元(包括三个颜色分量)的rst索引。
[0523]
可能需要与颜色格式以及是否启用单独的平面编解码保持一致。
[0524]
(9)sbt标志的条件信令应该与颜色格式以及是否启用单独的平面编解码保持一致。
[0525]
(10)对于帧间编码块,可能会发生cu_cbf等于1、但是所有三个分量的编码块标志(tu_cbf_luma、tu_cbf_cb、tu_cbf_cr)都为零的情况。语法元素cu_cbf、tu_cbf_luma、tu_cbf_cb和tu_cbf_cr之间可能存在冗余。
[0526]
4.示例技术和实施例
[0527]
以下描述的详细实施例应被认为是解释一般概念的示例。这些实施例不应以狭义的方式解释。此外,这些实施例可以以任何方式组合。
[0528]
下文描述的方法还可适用于需要信令通知色度颜色分量(可称为,与颜色有关的分量,诸如rgb颜色格式的b和r颜色分量)的某些语法元素的其他编解码工具。
[0529]
1.可以有条件地信令通知与联合色度残差编码有关的语法元素。
[0530]
a.可以有条件地信令通知与在联合色度残差编码中使用的色度增量(delta)qp/色度qp偏移的信令相关的语法元素(例如,pps_joint_cbcr_qp_offset)。
[0531]
b.可以有条件地信令通知与联合色度残差编码的使用的指示有关的语法元素(例如,tu_cb_cr_joint_residual)。
[0532]
c.可以信令通知语法元素,该语法元素可以位于序列/视图/图片/条带/片组级别,以指示是否启用了联合色度残差编码。
[0533]
i.在一个示例中,可以在序列参数集(sps)/视频参数集(vps)/图片参数集(pps)/条带标头/片组标头中信令通知一个标志。
[0534]
d.对于以上示例,可以在色度格式不等于4:0:0和/或禁用单独的平面编解码的条件下信令通知与联合色度残差编码有关的语法元素。
[0535]
i.可替代地,可以在chromaarraytype不等于特定值(诸如0)的条件下,信令通知与联合色度残差编码有关的语法元素。
[0536]
ii.可替代地,可以在chromaarraytype和/或一个或多个语法元素(例如,序列级别标志)的条件下信令通知与联合色度残差编码有关的语法元素。
[0537]
e.可替代地,对于上述示例,可以在色度格式等于4:0:0和/或启用单独的平面编解码的条件下跳过与联合色度残差编码有关的语法元素的信令。
[0538]
f.可替代地,对于上述示例,可以在chromaarraytype等于特定值(诸如0)的条件下跳过与联合色度残差编码有关的语法元素的信令。
[0539]
g.上述方法也可以适用于联合色度残差编码方法的其他变化。
[0540]
2.根据颜色格式,可以跳过二次变换的使用指示的信令。
[0541]
a.在一个示例中,当色度格式不等于4:0:0和/或启用单独的平面编解码时,可以跳过二次变换的使用指示的信令(例如,st_idx)。
[0542]
b.在一个示例中,当chromaarraytype等于特定值(诸如0)时,可以跳过二次变换的使用指示的信令(例如,st_idx)。
[0543]
c.二次变换的使用指示的信令(例如st_idx)可能在chromaarraytype不等于特定值(诸如0)的条件下。
[0544]
d.二次变换的使用指示的信令(例如,st_idx)可能在色度格式不等于4:0:0和/或禁用单独的平面编解码的条件下。
[0545]
3.可以有条件地信令通知与图片级别中的色度增量qp/色度qp偏移的信令有关的语法元素(例如,pps_cb_qp_offset和/或pps_cr_qp_offset)。
[0546]
a.在一个示例中,当色度格式不等于4:0:0和/或启用单独的平面编解码时,可以跳过图片级别的色度增量qp的信令(例如,pps_cb_qp_offset和/或pps_cr_qp_offset)。
[0547]
b.在一个示例中,当chromaarraytype等于特定值(诸如0)时,可以跳过图片级别的色度增量qp的信令(例如,pps_cb_qp_offset和/或pps_cr_qp_offset)。
[0548]
c.图片级别的色度增量qp信令(例如pps_cb_qp_offset和/或pps_cr_qp_offset)可能处于chromaarraytype不等于特定值(诸如0)的条件下。
[0549]
d.图片级别的色度增量qp的信令(例如pps_cb_qp_offset和/或pps_cr_qp_offset)可能处于色度格式不等于4:0:0和/或禁用单独的平面编解码的条件下。
[0550]
4.根据颜色格式,可以跳过亮度相关的色度残差缩放(luma
‑
dependent chroma residue scaling,ldcrs)的使用指示的信令。
[0551]
a.在一个示例中,当色度格式不等于4:0:0和/或启用单独的平面编解码时,可以跳过ldcrs的使用指示的信令(例如,slice_chroma_residual_scale_flag)。
[0552]
b.在一个示例中,当chromaarraytype等于特定值(诸如0)时,可以跳过ldcrs的使用指示的信令(例如,slice_chroma_residual_scale_flag)。
[0553]
c.ldcrs的使用指示的信令(例如,slice_chroma_residual_scale_flag)可能处于chromaarraytype不等于特定值(诸如0)的条件下。
[0554]
d.ldcrs的使用指示的信令(例如slice_chroma_residual_scale_flag)可能处于色度格式不等于4:0:0和/或禁用单独的平面编解码的条件下。
[0555]
5.根据颜色格式,可以跳过对色度阵列的样点的比特深度和/或色度量化参数范围偏移的值的指示的信令。
[0556]
a.在一个示例中,当色度格式等于4:0:0和/或启用单独的平面编解码时,可以跳过对色度阵列的样点的比特深度和/或色度量化参数范围偏移的值(例如,bit_depth_chroma_minus8)的指示的信令。
[0557]
b.在一个示例中,当chromaarraytype等于诸如0的特定值时,可以跳过对色度阵列的样点的比特深度和/或色度量化参数范围偏移的值(例如,bit_depth_chroma_minus8)的指示的信令。
[0558]
c.在一个示例中,色度阵列的样点的比特深度和/或色度量化参数范围偏移的值(例如,bit_depth_chroma_minus8)的指示的信令可以处于chromaarraytype不等于特定值
(诸如0)的条件下、或处于色度格式不等于4:0:0和/或禁用单独的平面编解码的条件下。
[0559]
6.根据颜色格式,可以跳过用于表示色度分量的每个pcm样点值的比特数的指示的信令。
[0560]
a.在一个示例中,当色度格式不等于4:0:0和/或启用单独的平面编解码时,可以跳过用于表示色度分量的每个pcm样点值的比特数的指示的信令(例如pcm_sample_bit_depth_chroma_minus1)。
[0561]
b.在一个示例中,当chromaarraytype等于特定值(诸如0)时,可以跳过用于表示色度分量的每个pcm样点值的比特数的指示的信令(例如pcm_sample_bit_depth_chroma_minus1)。
[0562]
c.用于表示色度分量的每个pcm样点值的比特数的指示的信令(例如pcm_sample_bit_depth_chroma_minus1)可能处于chromaarraytype不等于特定值(诸如0)的条件下。
[0563]
d.用于表示色度分量的每个pcm样点值的比特数的指示的信令(例如pcm_sample_bit_depth_chroma_minus1)可能处于色度格式不等于4:0:0和/或禁用单独的平面编解码的条件下。
[0564]
7.可以有条件地信令通知与色度分量的alf滤波器有关的语法元素(例如,用于指示是否需要发送滤波器系数的标志、滤波器系数、aps索引)。
[0565]
a.在一个示例中,条件是chromaarraytype是否等于特定值(诸如0)。
[0566]
b.根据等于4:0:0的颜色格式和/或启用单独的平面编解码,可以跳过发送附加alf色度滤波器系数的指示(例如,alf_chroma_filter_signal_flag、slice_alf_chroma_idc、slice_alf_aps_id_chroma、slice_alf_aps_id_chroma)的信令。
[0567]
c.根据等于4:0:0的颜色格式和/或启用单独的平面编解码,可以跳过alf色度滤波器系数(例如,剪切标志/剪切参数/滤波器系数)的信令。
[0568]
d.根据某些条件,可能对色度编码的块禁用alf色度滤波器的时域预测。
[0569]
e.可替代地,可能仍会信令通知相关的语法元素,但在条件为真时其被推断为默认值,诸如alf_chroma_filter_signal_flag被推断为0。
[0570]
8.可以有条件地信令通知与色度分量的调色板模式/帧内块复制(ibc)模式相关的语法元素(例如,标志/模式索引,用于指示是否为色度块/条带/图片/片组/片/砖(brick)启用调色板/ibc)。
[0571]
a.在一个示例中,条件是chromaarraytype是否不等于特定值(诸如0)。
[0572]
b.在一个示例中,可以有条件地信令通知pred_mode_ibc_flag。
[0573]
c.可以根据等于4:0:0的颜色格式和/或启用单独的平面编解码跳过用于色度分量的调色板模式的指示的信令。
[0574]
d.可替代地,虽然可能仍会信令通知相关的语法元素,但是在条件为真时可以将相关的语法元素推断为默认值,诸如可以将色度分量的调色板模式推断为禁用。
[0575]
9.可以有条件地信令通知与色度分量的alf滤波器时域预测相关的语法元素(例如,滤波器索引/alf aps索引、开/关控制标志)。
[0576]
a.在一个示例中,条件是chromaarraytype是否不等于特定值(诸如0)。
[0577]
b.可以根据等于4:0:0的颜色格式和/或启用单独的平面编解码跳过使用二次变换的指示的信令。
[0578]
c.可以根据等于4:0:0的颜色格式和/或启用单独的平面编解码跳过针对与色度分量相关的语法元素的alf滤波器时域预测的信令。
[0579]
d.根据某些条件,可以为色度编码块禁用alf色度滤波器的时域预测。
[0580]
10.可能仅与chromaarraytype的单个条件检查一起信令通知sps中根据chromaarraytype有条件地信令通知的那些语法元素。
[0581]
a.在一个示例中,当chromaarraytype不等于特定值(诸如0)时,可以以一定顺序进一步信令通知以下语法元素的部分或全部。
[0582]
i.qtbtt_dual_tree_intra_flag
[0583]
ii.sps_cclm_enabled_flag
[0584]
iii.pcm_sample_bit_depth_chroma_minus1
[0585]
iv.bit_depth_chroma_minus8
[0586]
b.在一个示例中,可以用等于4:0:0的颜色格式和/或启用单独的平面编解码的条件检查代替chromaarraytype的条件检查。
[0587]
11.对于上述语法元素,是否调用色度块的解码处理可能取决于颜色格式和/或单独平面编解码的使用。
[0588]
a.对于上述语法元素,是否调用色度块的解码处理可能取决于chromaarraytype。
[0589]
b.在一个示例中,当chromaarraytype等于特定值(诸如0)、或颜色格式为4:0:0或启用单独的平面编解码时,则不将alf/二次变换/色度残差缩放处理/量化缩放矩阵应用于色度块。
[0590]
c.在一个示例中,当chromaarraytype不等于特定值(诸如0)时,可以将alf/二次变换/色度残差缩放处理/量化缩放矩阵应用于色度块。
[0591]
12.对于上述语法元素,即使chromaarraytype等于特定值(诸如0)、或颜色格式为4:0:0、或启用了单独的平面编解码,仍可能会信令通知上述语法元素。但是,解码处理和解码器将忽略解码值。
[0592]
a.在一个示例中,当上述条件之一为真时,在解码处理中不使用上述语法元素(诸如与联合残差色度编码有关的语法元素(例如,pps_joint_cbcr_qp_offset)),并且解码器应忽略其值。
[0593]
b.在一个示例中,当上述条件之一为真时,在解码处理中将不使用上述语法元素(诸如与色度调色板模式/色度ibc模式/色度alf相关的语法元素),并且解码器应忽略其值。
[0594]
13.对于上述语法元素,可以应用编码器约束。
[0595]
a.一致性比特流应满足:当色度格式为4:0:0和/或启用单独的平面编解码时,应禁用联合色度残差编码。
[0596]
b.一致性比特流应满足:当色度格式为4:0:0和/或启用单独的平面编解码时,应禁用色度alf。
[0597]
c.一致性比特流应满足:当色度格式为4:0:0和/或启用单独的平面编解码时,应禁用色度二次变换(也称为nsst/rst)(例如sps_st_enabled_flag)。
[0598]
d.一致性比特流应满足:当色度格式为4:0:0和/或启用单独的平面编解码时,色度二次变换矩阵(也称为nsst/rst)的索引(例如,st_idx)应等于特定值(诸如0)。
[0599]
e.一致性比特流应满足:当色度格式为4:0:0和/或启用单独的平面编解码时,联合色度残差编码中使用的色度增量qp应等于特定值(诸如0)。
[0600]
f.一致性比特流应满足:当色度格式为4:0:0和/或启用单独的平面编解码时,亮度相关的色度残差缩放(例如slice_chroma_residual_scale_flag)的使用应等于特定值(诸如0)。
[0601]
g.一致性比特流应满足:当色度格式为4:0:0和/或启用单独的平面编解码时,以图片级信令通知的色度增量qp应等于特定值(诸如0)。
[0602]
h.当chromaarraytype等于特定值(诸如0)时,上述语法元素(例如slice_chroma_residual_scale_flag)仍可被解码,但在解码处理中不使用,并且解码器应忽略其值。
[0603]
14.色度颜色分量可以使用不同的rst矩阵。
[0604]
a.在一个示例中,可以针对单个色度分量分别信令通知rst矩阵的单独指示。
[0605]
i.在一个示例中,第二色度分量的rst矩阵的指示的信令可以取决于第一色度分量的rst矩阵的指示。
[0606]
b.在一个示例中,可以信令通知第一色度分量的rst矩阵;而可以在解码器侧导出第二色度分量的矩阵。
[0607]
i.在一个示例中,可从用于一个代表性亮度块的rst矩阵中导出第二色度分量的矩阵。
[0608]
ii.在一个示例中,可以从用于第一色度分量的rst矩阵中导出第二色度分量的矩阵,该rst矩阵可以是不相等的。
[0609]
iii.在一个示例中,另一色度分量的矩阵可以从色度帧内模式导出。
[0610]
c.对于一个以上的颜色分量,需要信令通知多少索引可能取决于颜色子采样格式。
[0611]
d.对于一个以上的颜色分量,需要信令通知多少索引可能取决于是否启用了双树。
[0612]
e.对于一种以上的颜色分量,需要信令通知多少索引可能取决于是否使用联合色度残差编码。
[0613]
i.在一个示例中,可以信令通知一个索引以进行残差编码。
[0614]
15.当将联合色度残差编码应用于一个块时,可以跳过二次变换矩阵索引的信令。
[0615]
a.在一个示例中,当将联合色度残差编码应用于一个块时,对于两个色度分量两者都禁用二次变换。
[0616]
b.在一个示例中,当将联合色度残差编码应用于一个块时,利用预定义矩阵索引启用二次变换。
[0617]
i.在一个示例中,当将联合色度残差编码应用于一个块时,将二次变换应用于具有相同预定义矩阵索引的两个颜色分量。
[0618]
ii.在一个示例中,当将联合色度残差编码应用于一个块时,将二次变换应用于具有不同预定义矩阵索引的两个颜色分量。
[0619]
iii.在一个示例中,当将联合色度残差编码应用于一个块时,将二次变换应用于具有预定矩阵索引的一个颜色分量,而对另一颜色分量禁用二次变换。
[0620]
c.可替代地,当用二次变换对一个块进行编码时,可以跳过联合色度残差编码的
使用的信令。
[0621]
i.可替代地,此外,对该块禁用联合色度残差编码。
[0622]
16.当将联合色度残差编码应用于一个块时,可以跳过跨分量线性模型(cclm)方法的信令。
[0623]
a.在一个示例中,当将联合色度残差编码应用于一个块时,对两个色度分量两者均禁用cclm。
[0624]
b.可替代地,当使用cclm对一个块进行编码时,可以跳过联合色度残差编码的使用的信令。
[0625]
i.可替代地,此外,对该块禁用联合色度残差编码。
[0626]
c.在一个示例中,可以同时启用联合色度残差编码和cclm。两个色度残差之间的相关性可以从cclm系数中导出。
[0627]
i.例如,假设cb=a1*luma b1且cr=a2*luma b2,则cb和cr的残差(分别表示为resicb和resicr)之间的相关性可以假设为:resicb=a2*((resicr
–
b1)/a1) b2。
[0628]
ii.可替代地,可以假设cb和cr的残差之间的相关性为:resicb=a2*((resicr
–
b1)/a1)。
[0629]
iii.可替代地,可以假设cb和cr的残差之间的相关性为:resicb=a2*resicr/a1。
[0630]
iv.可替代地,可以允许两个色度残差之间的不同的相关性,其中,它们中的k(k>=1)个可以从cclm系数导出。
[0631]
d.在以上讨论中,cclm模式可以指代使用跨分量线性模型的任何类型的模式,诸如vvc中的lm模式、lm
‑
t模式和lm
‑
l模式。
[0632]
17.当将联合色度残差编码应用于一个块时,可禁用ldcrs。
[0633]
18.是否信令通知cu_cbf可取决于颜色格式和/或分量编码方法(诸如是否启用单独的平面编解码)。
[0634]
a.在一个示例中,如果颜色格式为4:0:0和/或应用了单独的平面编解码,则不信令通知cu_cbf。
[0635]
i.如果chromaarraytype等于特定值(诸如0),则不信令通知cu_cbf。
[0636]
ii.可替代地,如果在颜色格式为4:0:0和/或应用了单独的平面编解码时未信令通知cu_cbf,则将其推断为1。
[0637]
19.是否信令通知亮度块的编码块标志(例如,tu_cbf_luma)可以取决于颜色格式和/或分量编码方法。
[0638]
a.在一个示例中,如果颜色格式是4:0:0和/或应用了单独的平面编解码,则不信令通知亮度块的编码块标志(例如,tu_cbf_luma)。
[0639]
b.在一个示例中,如果当前块以非跳过帧间模式编码并且颜色格式是4:0:0,则不信令通知亮度块的编码块标志(例如,tu_cbf_luma)。
[0640]
c.在一个示例中,如果当前块以非跳过帧间模式编码并且应用了单独的平面编解码,则不信令通知亮度块的编码块标志(例如,tu_cbf_luma)。
[0641]
d.在一个示例中,如果当前块以非跳过帧间模式编码并且chromaarraytype等于特定值(诸如0),则不信令通知亮度块的编码块标志(例如,tu_cbf_luma)。
[0642]
20.是否信令通知tu_cbf_cb和tu_cbf_cr可以取决于颜色格式和/或分量编码方
法(诸如是否启用了单独的平面编解码)。
[0643]
a.在一个示例中,如果颜色格式是4:0:0和/或应用了单独的平面编解码,则不信令通知tu_cbf_cb和tu_cbf_cr。
[0644]
b.在一个示例中,如果chromaarraytype等于特定值(诸如0),则不信令通知tu_cbf_cb和tu_cbf_cr。
[0645]
21.是否信令通知颜色分量的编码块标志可以取决于其他颜色分量的编码块标志。
[0646]
a.是否信令通知tu_cbf_cr可以取决于tu_cbf_luma和/或tu_cbf_cb。
[0647]
i.在一个示例中,如果tu_cbf_luma和tu_cbf_cb都等于0,则不信令通知tu_cbf_cr并将其推断为1。
[0648]
b.是否信令通知tu_cbf_cb可以取决于tu_cbf_luma和/或tu_cbf_cr。
[0649]
i.在一个示例中,如果tu_cbf_luma和tu_cbf_cr都等于0,则不信令通知tu_cbf_cb并将其推断为1。
[0650]
c.是否信令通知tu_cbf_luma可以取决于tu_cbf_cb和/或tu_cbf_cr。
[0651]
i.在一个示例中,如果tu_cbf_cb和tu_cbf_cr都等于0,则不信令通知tu_cbf_luma并将其推断为1。
[0652]
d.三个颜色分量的编码块标志的编码顺序可以不同于用于luma(亮度)、cb、cr的编码标志。
[0653]
e.仅在当前cu只有一个tu并且cu_cbf等于1时,才可以应用上述方法。
[0654]
i.可替代地,此外,仅在当前cu具有多个tu但是仅一个tu具有非零系数(例如,sbt模式)并且cu_cbf等于1时,才可以应用上述方法。
[0655]
22.根据关联颜色分量的非零系数的数量(例如,第2.9.1节中的numsigcoeff)是否大于阈值,可以信令通知是否启用rst和/或如何将rst应用于块/编码单元(例如st_idx),并且阈值可以取决于颜色格式和/或分量编码方法(诸如,是否启用了单独的平面编解码)。
[0656]
a.在一个示例中,单树编码结构下的阈值可以取决于颜色格式是否为4:0:0和/或是否应用了单独的平面编解码。
[0657]
i.例如,如果颜色格式为4:0:0和/或应用了单独的平面编解码,则阈值为1;否则,阈值为2。
[0658]
b.在一个示例中,单树编码结构下的阈值可以取决于chromaarraytype是否等于特定值(诸如0)。
[0659]
i.例如,如果chromaarraytype等于0,则阈值为1;否则,阈值为2。
[0660]
23.对于在编码单元中的rst边信息的信令(例如,st_idx),它可以仅取决于亮度分量的非零系数的数量,而不是取决于所有三色分量的非零系数的数量。
[0661]
a.在一个示例中,如果亮度块的非零系数的数量大于阈值(例如1),则可以信令通知rst边信息。
[0662]
b.在一个示例中,当亮度块具有全部为零的系数(例如,tu_cbf_luma等于0)时,不需要信令通知rst边信息并且推断rst被禁用。
[0663]
c.在一个示例中,如果三色分量的编码块标志(例如,tu_cbf_luma、tu_cbf_cb和
tu_cbf_cr)之一等于0,则不需要信令通知rst边信息并且推断rst被禁用。
[0664]
d.当应用单树编码结构时,可以应用上述方法。
[0665]
i.可替代地,此外,当应用单树编码结构并且颜色格式不是4:0:0时,可以应用上述方法。
[0666]
ii.可替代地,此外,当应用单树编码结构、颜色格式不是4:0:0并且禁用单独的平面编解码时,可以应用上述方法。
[0667]
24.对于色度分量的rst边信息的信令(例如,st_idx)(诸如,在单独的树编码结构中),它可能取决于两个色度分量的编码块标志。
[0668]
a.在一个示例中,如果编码块标志之一(诸如,tu_cbf_cb或tu_cbf_cr)等于0,则可以跳过rst边信息的信令。
[0669]
25.是否和/或如何信令通知块的sbt的指示可能取决于颜色格式和/或分量编码方法(诸如是否启用单独的平面编解码)和/或tu_cbf_luma和/或tu_cbf_cb和/或tu_cbf_cr。
[0670]
a.在一个示例中,如果tu_cbf_luma,tu_cbf_cb和tu_cbf_cr都等于0,则不信令通知sbt的指示。
[0671]
b.在一个示例中,如果tu_cbf_luma等于0,则不信令通知sbt的指示。
[0672]
c.在一个示例中,如果tu_cbf_cb和tu_cbf_cr都等于0,则不信令通知sbt的指示。
[0673]
d.在一个示例中,仅当颜色格式为4:0:0和/或应用单独的平面编解码时,才可以应用以上项目符号中的条件信令。
[0674]
26.用于tu的编码块标志的信令(例如,tu_cbf_luma和/或tu_cbf_cb和/或tu_cbf_cr)可以取决于用于包含tu的cu的sbt的使用。
[0675]
a.在一个示例中,如果应用了sbt并且该tu没有被sbt清零,则不信令通知tu的tu_cbf_luma,并将其推断为1。
[0676]
b.在一个示例中,如果应用了sbt并且该tu没有被sbt清零,则不信令通知tu的tu_cbf_cb和/或tu_cbf_cr,并将其推断为1。
[0677]
c.一致性比特流应满足:当为编码单元启用sbt时,亮度块应至少具有一个非零系数(例如,tu_cbf_luma等于1)。
[0678]
i.可替代地,一致性比特流应满足:当为编码单元启用sbt时,三个颜色分量之一应具有至少一个非零系数(例如,tu_cbf_luma、tu_cbf_cb、tu_cbf_cr中的至少一个等于1)。
[0679]
27.一致性比特流应满足:当编码单元的cu_cbf(例如,对于非跳过帧间编码块)等于1时,亮度块应至少具有一个非零系数(例如,tu_cbf_luma等于1)。
[0680]
a.可替代地,一致性比特流应满足:当编码单元的cu_cbf(例如,对于非跳过帧间编码块)等于1时,三个颜色分量应至少具有一个非零系数(例如,tu_cbf_luma、tu_cbf_cb、tu_cbf_cr中的至少一个等于1)。
[0681]
28.不管chromaarraytype的值或颜色格式或单独的平面编解码如何,仍可以信令通知上述语法元素,但是,在解码处理中,可以忽略那些语法元素的解码值。即,解码处理可以在检查那些语法元素的解码值之前首先检查chromaarraytype的值或颜色格式或单独的平面编解码。
[0682]
5.附加的实施例
[0683]
5.1关于alf解码处理的实施例1
[0684]
该实施例示出了调用自适应环路滤波器处理的示例,其中考虑了色度颜色格式/单独的平面编解码标志(由chromaarraytype表示)的条件。
[0685]
建议的更改用下划线表示如下:
[0686]
8.8环路滤波处理
[0687]
8.8.1概述
[0688]
如以下顺序步骤所指定的,应用三个环路滤波器,即去方块滤波器,样点自适应偏移和自适应环路滤波器:
[0689]
对于去方块滤波器,以下适用:
[0690]
–
调用第8.8.2.1节中规定的去方块滤波器处理,将重构的图片样点阵列s
l
做为输入(并且当chromaarraytype不等于0时,将阵列s
cb
、s
cr
作为输入),并且将修改后的重构的图片样点阵列s
′
l
作为输出(并且当chromaarraytype不等于0时,将去方块后的阵列s
′
cb
和s
′
cr
作为输出)。
[0691]
–
将阵列s
′
l
分配给阵列s
l
(并且当chromaarraytype不等于0时,分别将阵列s
′
cb
和s
′
cr
分配给阵列s
cb
和s
cr
(代表解码图片))。
[0692]
当sps_sao_enabled_flag等于1时,以下适用:
[0693]
–
调用第8.8.3.1节中规定的样点自适应偏移处理,将重构的图片样点阵列s
l
做为输入(并且当chromaarraytype不等于0时,将阵列s
cb
、s
cr
作为输入),并且将修改后的重构的图片样点阵列s
′
l
作为输出(并且当chromaarraytype不等于0时,将样点自适应偏移后的阵列s
′
cb
和s
′
cr
作为输出)。
[0694]
–
将阵列s
′
l
分配给阵列s
l
(并且当chromaarraytype不等于0时,分别将阵列s
′
cb
和s
′
cr
分配给阵列s
cb
和s
cr
(代表解码图片))。
[0695]
当sps_alf_enabled_flag等于1时,以下适用:
[0696]
–
调用第8.8.4.1节中规定的自适应环路滤波器处理,将重构的图片样点阵列s
l
做为输入(并且当chromaarraytype不等于0时,将阵列s
cb
、s
cr
作为输入),并且将修改后的重构的图片样点阵列s
′
l
做为输出(并且当chromaarraytype不等于0时,将自适应环路滤波处理后的阵列s
′
cb
和s
′
cr
作为输出)。
[0697]
–
将阵列s
′
l
分配给阵列s
l
(并且当chromaarraytype不等于0时,分别将阵列s
′
cb
和s
′
cr
分配给阵列s
cb
和s
cr
(代表解码图片))。
[0698]
8.8.4自适应环路滤波处理
[0699]
8.8.4.1概述
[0700]
该处理的输入是在自适应环路滤波器之前的重构的图片样点阵列recpicture
l
,并且当chromaarraytype不等于0时,该处理的输入是阵列recpicture
cb
和recpicture
cr
。
[0701]
该处理的输出是自适应环路滤波器之后的修改后的重构的图片样点阵列alfpicture
l
,并且当chromaarraytype不等于0时,该处理的输出是阵列alfpicture
cb
和alfpicture
cr
。
[0702]
最初分别将自适应环路滤波器之后的修改后的重构的图片样点阵列alfpicture
l
、alfpicture
cb
和alfpicture
cr
中的样点值设置为等于自适应环路滤波器之前
的重构的图片样点阵列recpicture
l
、recpicture
cb
和recpicture
cr
中的样点值。
[0703]
当slice_alf_enabled_flag等于1时,对于具有亮度编码树块位置(rx,ry)(其中rx=0..picwidthinctbs
‑
1且ry=0..picheightinctbs
‑
1)的每个编码树单元以下适用:
[0704]
–
当alf_ctb_flag[0][rx][ry]等于1时,将recpicture
l
、alfpicture
l
和设置为等于(rx<<ctblog2sizey,ry<<ctblog2sizey)的亮度编码树块位置(xctb,yctb)作为输入,并且将修改后的滤波图片alfpicture
l
作为输出,来调用8.8.4.2节中规定的用于色度样点的编码树块滤波处理。
[0705]
–
当chromaarraytype不等于0且alf_ctb_flag[1][rx][ry]等于1时,将设置为等于recpicture
cb
的recpicture、设置为等于alfpicture
cb
的alfpicture、和设置为等于(rx<<(ctblog2sizey
‑
1),ry<<(ctblog2sizey
‑
1))的色度编码树块位置(xctbc,yctbc)作为输入,并且将修改后的滤波图片alfpicture
cb
作为输出,来调用8.8.4.4节中规定的用于色度样点的编码树块滤波处理。
[0706]
–
当chromaarraytype不等于0且alf_ctb_flag[2][rx][ry]等于1时,将设置为等于recpicture
cr
的recpicture、设置为等于alfpicture
cr
的alfpicture、和设置为等于(rx<<(ctblog2sizey
‑
1),ry<<(ctblog2sizey
‑
1))的色度编码树块位置(xctbc,yctbc)作为输入,并且将修改后的滤波图片alfpicture
cr
作为输出,来调用8.8.4.4节中规定的用于色度样点的编码树块滤波处理。
[0707]
–
7.3.5.1通用条带标头语法
[0708][0709]
[0710]
–
slice_alf_chroma_idc等于0表示不将自适应环路滤波器应用于cb和cr颜色分量。slice_alf_chroma_idc等于1表示将自适应环路滤波器应用于cb颜色分量。slice_alf_chroma_idc等于2表示将自适应环路滤波器应用于cr颜色分量。slice_alf_chroma_idc等于3表示将自适应环路滤波器应用于cb和cr颜色分量。当slice_alf_chroma_idc不存在时,可以将其推断为等于0。当chromaarraytype等于0时,slice_alf_chroma_idc不存在,因为在解码处理中不会使用它。
[0711]
–
将截断的一元二值化tu(v)的最大值maxval设置为等于3。
[0712]
–
slice_alf_aps_id_chroma表示条带的色度分量所参考的adaptation_parameter_set_id。当不存在slice_alf_aps_id_chroma时,则将其推断为等于slice_alf_aps_id_luma[0]。具有等于slice_alf_aps_id_chroma的adaptation_parameter_set_id的alf aps nal单元的temporalid应当小于或等于编码的条带nal单元的temporalid。
[0713]
–
对于帧内条带和irap图片中的条带,slice_alf_aps_id_chroma不得引用与其他图片(而不是包含帧内条带或irap图片的图片)相关联的alf aps。
[0714]
–
当chromaarraytype等于0时,slice_alf_aps_id_chroma不存在,因为在解码处理中不会使用它。
[0715]
5.2.色度增量qp的信令的实施例2
[0716]
添加的更改用下划线标出,并且删除的部分用[[]]标记。
[0717]
7.3.2.2.图片参数集rbsp语法
[0718][0719][0720]
pps_cb_qp_offset和pps_cr_qp_offset表示分别用于导出qp
′
cb
和qp
′
cr
的亮度量
化参数qp
′
y
的偏移。pps_cb_qp_offset和pps_cr_qp_offset的值应在
‑
12至 12的范围内,包括
‑
12和 12。当不存在时[[chromaarraytype等于0]],pps_cb_qp_offset和pps_cr_qp_offset被推断为0[[在解码处理中未使用,解码器应忽略其值]]。
[0721]
pps_slice_chroma_qp_offsets_present_flag等于1表示slice_cb_qp_offset和slice_cr_qp_offset语法元素存在于关联的条带标头中。pps_slice_chroma_qp_offsets_present_flag等于0表示这些语法元素不存在于关联的条带标头中。如果不存在[[chromaarraytype等于0]],则pps_slice_chroma_qp_offsets_present_flag应当等于0。
[0722]
7.3.5条带标头语法
[0723]
7.3.5.1通用条带标头语法
[0724][0725][0726]
5.3.联合色度残差编码的信令的实施例#3
[0727]
添加的更改用下划线标出,并且删除的部分用[[]]标记。
[0728]
7.3.2.2图片参数集rbsp语法
[0729][0730]
7.3.4.1通用片组标头语法
[0731][0732][0733]
7.3.6.12残差编码语法
[0734][0735]
7.4.3.2图片参数集rbsp语义
[0736]
pps_joint_cbcr_qp_offset表示用于导出qp
′
cbcr
的亮度量化参数qp
′
y
的偏移。pps_joint_cbcr_qp_offset的值应在
‑
12至 12的范围内,包括
‑
12和 12。当不存在[[chromaarraytype等于0]]时,则将pps_joint_cbcr_qp_offset推断为0[[在解码处理中未使用,解码器应忽略其值]]。
[0737]
5.4lmcs上的实施例#4
[0738]
是否启用亮度相关的色度残差缩放(例如,slice_chroma_residual_scale_flag)取决于chromaarraytype。添加的更改用下划线标出,并且删除的部分用[[]]标记。
[0739]
7.3.5条带标头语法
[0740]
7.3.5.1通用条带标头语法
[0741]
[0742][0743][0744]
slice_chroma_residual_scale_flag等于1表示为当前条带启用了色度残差缩
放。slice_chroma_residual_scale_flag等于0表示没有为当前条带启用色度残差缩放。当不存在slice_chroma_residual_scale_flag时,将其推断为等于0。当chromaarraytype等于0时,不存在slice_chroma_residual_scale_flag,因为在解码处理中不会使用它。
[0745]
5.5关于分组语法的实施例#5
[0746]
添加的更改用下划线标出,并且删除的部分用[[]]标记。
[0747]
7.3.2.3序列参数集rbsp语法
[0748]
[0749]
[0750]
[0751][0752]
5.6实施例#6
[0753]
添加的更改用下划线标出,并且删除的部分用[[]]标记。
[0754]
7.3.5.3自适应环路滤波器数据语法
[0755]
[0756]
[0757][0758]
alf_chroma_filter_signal_flag等于1表示信令通知色度滤波器。alf_chroma_filter_signal_flag等于0表示不信令通知色度滤波器。当chromaarraytype等于0时,alf_chroma_filter_signal_flag应等于0。
[0759]
5.7实施例#7
[0760]
添加的更改用下划线标出,并且删除的部分用[[]]标记。
[0761]
aps nal单元的temporalid应当小于或等于编码的条带nal单元的temporalid。
[0770]
对于帧内条带和irap图片中的条带,slice_alf_aps_id_chroma不得引用与其他图片(而不是包含帧内条带或irap图片的图片)相关联的alf aps。
[0771]
当chromaarraytype等于0时,不存在slice_alf_aps_id_chroma,因为在解码处理中未使用它,并且解码器将忽略其值。
[0772]
slice_chroma_residual_scale_flag等于1指定为当前条带启用色度残差缩放。slice_chroma_residual_scale_flag等于0表示不为当前条带启用色度残差缩放。当不存在slice_chroma_residual_scale_flag时,推断它等于0。当chromaarraytype等于0时,不存在slice_chroma_residual_scale_flag,因为在解码处理中不使用它。
[0773]
alf_chroma_filter_signal_flag等于1指定信令通知色度滤波器。alf_chroma_filter_signal_flag等于0表示不信令通知色度滤波器。当chromaarraytype等于0时,alf_chroma_filter_signal_flag应等于0。
[0774]
6.所公开的技术的示例实现方式
[0775]
图16是视频处理装置1600的框图。装置1600可用于实现这里描述的一个或多个方法。装置1600可以体现在智能手机、平板电脑、计算机、物联网(iot)接收器等中。装置1600可以包括一个或多个处理器1602、一个或多个存储器1604和视频处理硬件1606。处理器1602可以被配置为实现在本文中描述的一种或多种方法。可以将(一个或多个)存储器1604用于存储用于实现这里描述的方法和技术的数据和代码。视频处理硬件1606可用于在硬件电路中实现本文档中描述的一些技术,并且可以部分地或完全地是处理器1602(例如,图形处理器核心gpu或其他信令处理电路)的一部分。
[0776]
在本文档中,术语“视频处理”可以指视频编解码、视频解码、视频压缩或视频解压缩。例如,可以在从视频的像素表示到相应的比特流表示的转换期间应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可以例如对应于位在比特流内的不同位置中并置或散布的比特。例如,可以根据变换和编码的误差残差值并且还使用标头中的比特和比特流中的其他字段来对宏块进行编码。
[0777]
应当理解,所公开的方法和技术将通过允许使用本文档中公开的技术,将有益于结合在诸如智能手机、膝上型计算机、台式机和类似设备之类的视频处理设备内的视频编解码器和/或解码器实施例。
[0778]
图17是视频处理的示例方法1700的流程图。方法1700包括,在1710,在当前视频块和当前视频块的比特流表示之间执行转换,其中该转换包括:响应于检测到至少一个条件,选择性地启用或禁用与以下一个或多个的使用相关联的一个或多个语法标志的信令:联合色度残差编码步骤、亮度相关的色度残差缩放(ldcrs)步骤或自适应环路滤波器步骤。
[0779]
可以使用以下基于条款的格式来描述一些实施例。
[0780]
1.一种用于视频处理的方法,包括:
[0781]
在当前视频块和当前视频块的比特流表示之间执行转换,其中该转换包括:响应于检测到至少一个条件,选择性地启用或禁用与以下中的一个或多个的使用相关联的一个或多个语法标志的信令:联合色度残差编码步骤、亮度相关的色度残差缩放(ldcrs)步骤、二次变换步骤、量化步骤或自适应环路滤波器步骤。
[0782]
2.根据条款1所述的方法,其中所述一个或多个语法标志与以下任一项相关:色度
增量量化参数、指示是否执行联合色度残差编码的二进制值、二次变换步骤的使用、用于表示色度分量的pcm样点值的比特数、色度二次变换矩阵的索引、指示是否执行联合色度残差编码的二进制值、或指示是否执行对双数编码步骤的二进制值。
[0783]
3.根据条款1
‑
2中任一项或多项所述的方法,其中,所述一个或多个语法标志对应于以下一个或多个的值:pps_joint_cbcr_qp_offset、tu_cb_cr_joint_residual、st_idx、pps_cb_qp_offset、pps_cr_qp_offset、slice_chroma_residual_scale_flag、pcm_sample_bit_depth_chroma_minus1、qtbtt_dual_tree_intra_flag、sps_cclm_enabled_flag或sps_st_enabled_flag。
[0784]
4.根据条款1
‑
3中的一项或多项所述的方法,其中,所述一个或多个语法标志与序列、视图、图片、条带、片、片组、编码块、变换块、预测单元或其他视频数据单元相关联。
[0785]
5.根据条款1
‑
4中任一项或多项所述的方法,其中,所述至少一个条件与色度格式、单独的平面编解码步骤的存在、chromaarraytype变量的值、或一个或多个语法标志中的标志的值、或对当前视频块进行二次转换的应用相关联。
[0786]
6.根据条款1
‑
5中任一项或多项所述的方法,还包括:
[0787]
基于一个或多个语法标志,确定将解码步骤应用于当前视频块。
[0788]
7.一种用于视频处理的方法,包括:
[0789]
在当前视频块和当前视频块的比特流表示之间执行转换,其中该转换包括:响应于检测到至少一个条件,选择性地启用或禁用与以下中的一个或多个的使用相关联的一个或多个语法标志的信令:联合色度残差编码步骤、亮度相关的色度残差缩放(ldcrs)步骤、二次变换步骤、量化步骤或自适应环路滤波器步骤,其中当前视频块的第一色度分量与第一简化的二次变换(rst)矩阵相关联,且当前视频块的第二色度分量与第二rst矩阵相关联。
[0790]
8.根据条款7所述的方法,其中第一标志与所述第一rst矩阵相关联,并且第二标志与所述第二rst矩阵相关联,其中所述第一标志和所述第二标志被包括在一个或多个语法标志中。
[0791]
9.根据条款7所述的方法,其中在比特流表示中发送第一rst矩阵,并且导出第二rst矩阵。
[0792]
10.根据条款7所述的方法,其中所述第二标志至少部分地基于所述第一标志。
[0793]
11.根据条款7所述的方法,其中所述第二rst矩阵是从代表性亮度块导出的。
[0794]
12.根据条款7所述的方法,其中所述第二rst矩阵是从所述第一rst矩阵导出的,其中,所述第一rst矩阵不等于所述第二rst矩阵。
[0795]
13.根据条款7所述的方法,其中所述第二rst矩阵是从色度帧内模式导出的。
[0796]
14.根据条款8所述的方法,还包括:
[0797]
响应于确定针对当前视频块启用联合色度残差编码步骤,禁用第一rst标志和/或第二标志的信令。
[0798]
15.根据条款7
‑
14中的一项或多项所述的方法,还包括:
[0799]
响应于确定针对当前视频块启用联合色度残差编码步骤,应用第一rst矩阵和/或第二矩阵。
[0800]
16.一种用于视频处理的方法,包括:
[0801]
在当前视频块和当前视频块的比特流表示之间执行转换,其中该转换包括:响应于检测到至少一个条件,选择性地启用或禁用与以下中的一个或多个的使用相关联的一个或多个语法标志的信令:联合色度残差编码步骤、亮度相关的色度残差缩放(ldcrs)步骤、二次变换步骤、量化步骤或自适应环路滤波器步骤,其中当前视频块的第一色度分量与第一简化的二次变换(rst)矩阵相关联,并且当前视频块的第二色度分量与第二rst矩阵相关联;以及
[0802]
响应于确定针对当前视频块启用联合色度残差编码步骤,在当前视频块的一个或多个色度分量上禁用与cclm的使用有关的标志的信令,其中,一个或多个语法标志中的标志与跨分量线性模型(cclm)的使用有关。
[0803]
17.根据条款16所述的方法,还包括:
[0804]
响应于确定为当前视频块启用联合色度残差编码步骤,在当前视频块上禁用cclm的使用。
[0805]
18.根据条款16所述的方法,还包括:
[0806]
响应于确定将cclm应用于当前视频块,在当前视频块上禁用联合色度残差编码步骤。
[0807]
19.根据条款16所述的方法,还包括:
[0808]
在当前视频块上启用cclm的使用和联合色度残差编码步骤的使用。
[0809]
20.根据条款16所述的方法,其中所述联合色度残差编码步骤跨越至少两个色度残差分量,其中,所述两个色度残差分量之间的相关性至少部分地基于与cclm有关的系数。
[0810]
21.如条款16
‑
20中任一项或多项所述的方法,其中所述cllm的使用包括lm
‑
t模式或lm
‑
l模式的使用。
[0811]
22.根据条款1
‑
21中任一项或多项所述的方法,其中,所述一个或多个语法标志被单独地信令通知或组合为单个标志。
[0812]
23.根据条款1
‑
22中任一项或多项所述的方法,还包括:
[0813]
响应于确定启用了联合色度残差编码步骤,禁用亮度相关的色度残差缩放(ldcrs)步骤。
[0814]
24.根据条款1
‑
23中任一项或多项所述的方法,其中,所述一个或多个语法标志被单独地信令通知或组合为单个标志。
[0815]
25.一种用于视频处理的方法,包括针对当前视频块做出关于在当前视频块的比特流表示中选择性包括一个或多个编码块标志的决定,并且基于该决定来执行当前视频块和当前视频块的比特流表示之间的转换,其中选择性包括是基于颜色格式、当前视频块的分量编码方法或当前视频块的编码模式。
[0816]
26.根据条款25所述的方法,其中当颜色格式为4:0:0或分量编码方法是单独的平面编解码方法时,不信令通知用于编码单元的编码块标志(cu_cbf)。
[0817]
27.根据条款25所述的方法,其中当所述颜色格式为4:0:0或所述分量编码方法为单独的平面编解码方法时,不信令通知当前视频块的亮度分量的编码块标志(tu_cbf_luma)。
[0818]
28.根据条款25所述的方法,其中当所述颜色格式为4:0:0且所述当前视频块以非跳过帧间模式编码时,不信令通知当前视频块的亮度分量的编码块标志(tu_cbf_luma)。
[0819]
29.根据条款25所述的方法,其中,当颜色格式为4:0:0或分量编码方法是单独的平面编解码方法时,不信令通知当前视频块的一个或多个色度分量的编码块标志(tu_cbf_cr或tu_cbf_cb)。
[0820]
30.根据条款25所述的方法,其中当前视频块的一个或多个色度分量的编码块标志(tu_cbf_cr或tu_cbf_cb)的信令基于当前视频块的亮度分量的编码块标志(tu_cbf_luma)。
[0821]
31.一种用于视频处理的方法,包括:基于当前视频块的一个或多个颜色分量中的非零系数的数量,针对当前视频块,做出关于将简化的二次变换(rst)选择性地应用于当前视频块的决定,以及基于该决定,在当前视频块和当前视频块的比特流表示之间执行转换。
[0822]
32.根据条款31所述的方法,其中做出决定还包括:将非零系数的数量与取决于当前视频块的分量编码方法和颜色格式的阈值进行比较。
[0823]
33.根据条款32所述的方法,其中所述阈值为1,其中所述颜色格式为4:0:0或所述分量编码方法为单独的平面编解码方法。
[0824]
34.根据条款32所述的方法,其中所述阈值为2,其中所述颜色格式不同于4:0:0,且所述分量编码方法不同于单独的平面编解码方法。
[0825]
35.根据条款31所述的方法,其中所述选择性应用是基于仅在当前视频块的亮度分量中的非零系数的数量。
[0826]
36.一种视频处理的方法,包括:在当前视频块和当前视频块的比特流表示之间执行转换,其中,所述比特流表示是基于选择性包括语法元素,该语法元素指示基于色度特征的、关于色度编码的信息。
[0827]
37.根据条款36所述的方法,其中关于色度编码的信息包括用于色度阵列样点的比特深度信息和/或色度量化参数范围偏移的值,并且其中色度特征包括色度格式。
[0828]
38.根据条款36所述的方法,其中关于色度编码的信息包括关于在转换期间使用的自适应环路滤波的信息,并且其中,色度特征对应于chromaarraytype语法元素是否等于特定值。
[0829]
39.根据条款36所述的方法,其中关于色度编码的信息包括关于在转换期间使用的自适应环路滤波的信息,并且其中,色度特征对应于色度格式是否为4:0:0。
[0830]
40.根据条款36所述的方法,其中关于色度编码的信息包括关于用于色度的调色板模式或帧内块复制模式的信息,并且其中所述色度特征对应于chromaarraytype语法元素是否等于特定值。
[0831]
在前一节的项目5、7、8和12中提供了条款36至40的其他示例和实施例。
[0832]
41.一种视频系统中的装置,其包括处理器和其上具有指令的非暂时性存储器,其中,所述指令在由所述处理器执行时使所述处理器实现条款1至40中的一项或多项所述的方法。
[0833]
42.一种存储在非暂时性计算机可读介质上的计算机程序产品,所述计算机程序产品包括用于执行条款1至40中的一项或多项所述的方法的程序代码。
[0834]
图22是示出其中可实现本文中所公开的各种技术的示例视频处理系统2200的框图。各种实施方式可以包括系统2200的一些或全部组件。系统2200可以包括用于接收视频内容的输入2202。视频内容可以以原始或未压缩的格式(例如8或10位多分量像素值)接收,
或者可以以压缩或编码的格式接收。输入2202可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(pon)等)和无线接口(诸如wi
‑
fi或蜂窝接口)。
[0835]
系统2200可以包括可以实现本文中描述的各种编码或编码方法的编码组件2204。编码组件2204可以减少从编码组件2204的输入2202到输出的视频的平均比特率,以产生视频的编码表示。因此,编解码技术有时称为视频压缩或视频转码技术。如组件2206所表示的,编码组件2204的输出可以被存储或经由所连接的通信来发送。在输入2202处接收的视频的存储或传送的比特流(或编码)表示可以被组件2208使用,以生成被发送到显示接口1310的像素值或可显示视频。从比特流表示中生成用户可见视频的处理有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编码”操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由编码器执行反向编码结果的相应解码工具或操作。
[0836]
外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清多媒体接口(hdmi)或displayport等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型计算机、智能电话或其他能够执行数字数据处理和/或视频显示的设备。
[0837]
图23是表示根据本技术的用于视频解码的方法2300的流程图。方法2300包括,在操作2310,基于规则,确定适用于视频区域的一个或多个语法标志是否包括在视频的编码表示的语法结构中。所述一个或多个语法标志指示用于在所述编码表示中表示所述区域的联合色度残差编码步骤。方法2300还包括,在操作2320,根据所述编码表示中所述一个或多个语法标志的存在与否,通过解析所述编码表示来生成所述区域的一个或多个解码视频块。
[0838]
图24是表示根据本技术的用于视频编解码的方法2400的流程图。方法2400包括,在操作2410,基于规则,有条件地在视频的编码表示的语法结构中对适用于视频区域的一个或多个语法标志进行编码。所述一个或多个语法标志指示用于在所述编码表示中表示所述区域的联合色度残差编码步骤。
[0839]
在一些实施例中,基于所述视频区域的色度格式来指示所述规则。在一些实施例中,确定色度格式包括确定色度分量是否被单独编解码。在一些实施例中,在所述色度分量被单独编解码的情况下,在所述编码表示中不存在所述一个或多个语法标志。在一些实施例中,在所述色度分量未被单独编解码的情况下,在所述编码表示中存在所述一个或多个语法标志。
[0840]
在一些实施例中,在色度格式为4:0:0的情况下,所述规则指示在所述编码表示中不存在所述一个或多个语法标志。在一些实施例中,在所述色度格式不是4:0:0的情况下,所述规则指示在所述编码表示中存在所述一个或多个语法标志。在一些实施例中,所述规则指示所述色度格式由所述编码表示中的变量chromaarraytype指示。在一些实施例中,在所述变量chromaarraytype等于预定值的情况下,所述规则指示在所述编码表示中不存在所述一个或多个语法标志。在一些实施例中,在所述变量chromaarraytype不等于预定值的情况下,所述规则指示在所述编码表示中存在所述一个或多个语法标志。在一些实施例中,所述预定值为0。
[0841]
在一些实施例中,所述区域包括序列。在一些实施例中,在序列参数集中用信令通
知一个标志。在一些实施例中,所述区域包括图片。在一些实施例中,在图片参数集中用信令通知多个标志,所述多个标志与量化参数偏移有关。在一些实施例中,所述区域包括变换单元。在一些实施例中,与所述变换单元相关联的一个标志与所述联合色度残差编码步骤的使用有关。在一些实施例中,所述区域包括条带。在一些实施例中,所述区域包括视图或片组。
[0842]
图25是表示根据本技术的用于视频解码的方法2500的流程图。方法2500包括,在操作2510,确定视频区域的色度格式。方法2500包括,在操作2520,基于色度格式,确定适用于所述视频区域的一个或多个语法标志是否包括在视频的编码表示的语法结构中。所述一个或多个语法标志指示用于在所述编码表示中表示所述区域的量化参数偏移的使用。方法2500还包括,在操作2530,根据所述一个或多个语法标志的存在与否,通过解析所述编码表示来生成所述视频区域的一个或多个解码视频块。
[0843]
图26是表示根据本技术的用于视频解码的方法2600的流程图。方法2600包括,在操作2610,确定视频区域的色度格式。方法2600包括,在操作2620,基于所述色度格式,确定视频的编码表示的语法结构中不存在指示适用于视频区域的二次变换的使用的一个或多个语法标志。在去量化步骤和反向主变换之间应用所述二次变换。方法2600还包括,在操作2630,根据所述一个或多个语法标志的不存在,通过解析所述编码表示来生成所述视频区域的一个或多个解码视频块。
[0844]
在一些实施例中,生成所述一个或多个解码视频块基于所述色度格式的确定。在一些实施例中,该方法包括:在所述编码表示中存在所述一个或多个语法标志的情况下,丢弃用于生成所述一个或多个解码视频块的所述一个或多个语法标志。
[0845]
图27是表示根据本技术的用于视频编解码的方法2700的流程图。方法2700包括,在操作2710,确定与视频区域相关联的色度格式。方法2700包括,在操作2720,基于所述色度格式,有条件地在视频的编码表示的语法结构中对一个或多个语法标志进行编码。所述一个或多个语法标志指示用于表示所述编码表示中的区域的量化参数偏移的使用被启用。
[0846]
图28是表示根据本技术的用于视频编解码的方法2800的流程图。方法2800包括,在操作2810,确定视频区域的色度格式。方法2800还包括,在操作2820,基于所述色度格式,在不在视频的编码表示的语法结构中包括指示二次变换的使用的一个或多个语法标志的情况下,通过对区域进行编码而生成所述视频的编码表示。在前向主变换和量化步骤之间应用所述二次变换。
[0847]
在一些实施例中,确定所述色度格式包括:确定所述色度格式的颜色分量是否被单独编解码。在一些实施例中,所述区域包括图片。
[0848]
在一些实施例中,在以下情况下,在所述编码表示中不存在所述一个或多个语法标志:(1)所述色度格式不是4:0:0,或者(2)所述颜色格式的颜色分量被单独编解码。在一些实施例中,在以下情况下,在所述编码表示中存在所述一个或多个语法标志:(1)所述色度格式不是4:0:0,或者(2)所述颜色格式的颜色分量没有被单独编解码。
[0849]
在一些实施例中,所述色度格式由所述比特流表示中的变量chromaarraytype指示。在一些实施例中,在所述变量chromaarraytype等于预定值的情况下,所述编码表示中不存在所述一个或多个语法标志。在一些实施例中,在所述变量chromaarraytype不等于预定值的情况下,所述编码表示中存在所述一个或多个语法标志。在一些实施例中,所述预定
值为0。
[0850]
在一些实施例中,与所述区域相对应的级别包括序列级别。在一些实施例中,确定所述色度格式包括确定变量chromaarraytype的单个步骤。在一些实施例中,在所述变量chromaarraytype不等于预定值的情况下,在所述编码表示中对所述一个或多个语法标志进行排序。
[0851]
在一些实施例中,所述预定值是0。在一些实施例中,所述一个或多个语法标志包括以下至少之一:(1)qtbtt_dual_tree_intra_flag、(2)sps_cclm_enabled_flag或(3)pcm_sample_bit_depth_chroma_minus1。
[0852]
在一些实施例中,在(1)变量chromaarraytype等于预定值、(2)所述色度格式为4:0:0或(3)所述色度格式的颜色分量被单独编解码的情况下,在不将自适应环路滤波器、二次变换、色度残差缩放步骤或量化缩放矩阵应用到视频的块的情况下,生成所述一个或多个解码视频块。在一些实施例中,生成所述一个或多个解码视频块包括:在(1)变量chromaarraytype不等于预定值的情况下,将自适应环路滤波器、二次变换、色度残差缩放步骤或量化缩放矩阵应用到视频的块。
[0853]
在一些实施例中,在所述色度格式为4:0:0或所述色度格式的颜色分量被单独编解码的情况下,在所述编码表示中将联合色度残差编码步骤指示为禁用。在一些实施例中,在所述色度格式为4:0:0或所述色度格式的颜色分量被单独编解码的情况下,在所述编码表示中将色度自适应环路滤波处理指示为禁用。在一些实施例中,在所述色度格式是4:0:0或所述色度格式的颜色分量被单独编解码的情况下,在所述编码表示中将色度二次变换指示为禁用。在一些实施例中,在所述色度格式是4:0:0或所述色度格式的颜色分量被单独编解码的情况下,在所述编码表示中将色度二次变换矩阵的索引设置为预定值。在一些实施例中,在所述色度格式是4:0:0或所述色度格式的颜色分量被单独编解码的情况下,在所述编码表示中将在联合色度残差编码步骤中使用的色度量化参数偏移设置为预定值。在一些实施例中,在所述色度格式是4:0:0或所述色度格式的颜色分量被单独编解码的情况下,在所述编码表示中将亮度相关的色度残差缩放的使用设置为预定值。在一些实施例中,在所述色度格式是4:0:0或所述色度格式的颜色分量被单独编解码的情况下,在所述编码表示中将图片级的色度量化参数偏移设置为预定值。在一些实施例中,所述预定值为0。
[0854]
图29a是表示根据本技术的用于视频编解码的方法2900的流程图。方法2900包括,在操作2910,基于包括区域的视频的色度格式,确定在视频的编码表示的语法结构中是否不存在适用于视频区域的一个或多个语法标志。所述一个或多个语法标志指示用于在所述编码表示中表示所述区域的亮度相关的色度残差缩放编码步骤的使用。亮度相关的色度残差缩放编码步骤包括乘法处理,该乘法处理用视频的色度信号补偿视频的亮度信号。方法2900包括,在操作2920,根据所述确定、通过解析所述编码表示,来生成所述视频区域的一个或多个解码视频块。
[0855]
图29b是表示根据本技术的用于视频编解码的方法2950的流程图。方法2950包括,在操作2960,确定包括区域的视频的色度格式。方法2950包括,在操作2970中,基于色度格式,通过对区域进行编码而生成视频的编码表示,而不在视频的编码表示的语法结构中包括一个或多个语法标志,其中一个或多个语法标志指示用于在编码表示中的表示区域的亮度相关的色度残差缩放编码步骤的使用,其中,亮度相关的色度残差缩放编码步骤包括用
视频的色度信号来补偿视频的亮度信号的乘法处理。
[0856]
图30a是表示根据本技术的用于视频编解码的方法3000的流程图。方法3000包括,在操作3010,基于包括区域的视频的色度格式,确定在视频的编码表示的语法结构中不存在适用于视频区域的一个或多个语法标志。所述一个或多个语法标志指示用于表示色度分量的每个脉冲编码调制样点值的比特数量。方法3000包括,在操作3020,根据所述确定、通过解析所述编码表示,来生成所述视频区域的一个或多个解码视频块。
[0857]
图30b是表示根据本技术的用于视频编解码的方法3050的流程图。方法3050包括,在操作3060,确定包含区域的视频的色度格式。方法3050还包括,在操作3070,基于所述色度格式,通过对区域进行编码以生成所述视频的编码表示,而不在视频的编码表示的语法结构中包括一个或多个语法标志,其中,所述一个或多个语法标志指示用于表示色度分量的每个脉冲编码调制样点值的比特数量。
[0858]
图31a是表示根据本技术的用于视频编解码的方法3100的流程图。方法3100包括,在操作3110,基于包括区域的视频的色度格式,确定在视频的编码表示的语法结构中是否包括适用于视频区域的一个或多个语法标志。所述一个或多个语法标志与用于色度分量的自适应环路滤波器(alf)时域预测步骤相关。方法3100还包括,在操作3120,根据所述确定、通过解析所述编码表示,来生成所述视频区域的一个或多个解码视频块。
[0859]
图31b是表示根据本技术的用于视频编解码的方法3150的流程图。方法3150包括,在操作3160,确定包含区域的视频的色度格式。方法3150还包括,在操作3170,基于所述色度格式,有条件地对视频的编码表示的语法结构中的一个或多个语法标志进行编码,其中,所述一个或多个语法标志与用于色度分量的自适应环路滤波器(alf)时域预测步骤有关。
[0860]
在一些实施例中,基于所述色度格式的确定来生成所述一个或多个解码视频块。在一些实施例中,该方法包括:在所述编码表示中存在所述一个或多个语法标志的情况下,丢弃所述一个或多个语法标志以生成所述一个或多个解码视频块。
[0861]
在一些实施例中,确定所述色度格式包括:确定所述色度格式的颜色分量是否被单独编解码。在一些实施例中,所述区域包括条带。在一些实施例中,在以下情况下,在所述编码表示中不存在所述一个或多个语法标志:(1)所述色度格式不是4:0:0,或者(2)所述色度格式的颜色分量被单独编解码。在一些实施例中,在以下情况下,在所述编码表示中存在所述一个或多个语法标志:(1)所述色度格式不是4:0:0,或者(2)所述色度格式的颜色分量没有被单独编解码。在一些实施例中,所述色度格式由所述比特流表示中的变量chromaarraytype指示。在一些实施例中,在所述变量chromaarraytype等于预定值的情况下,所述编码表示中不存在所述一个或多个语法标志。在一些实施例中,在所述变量chromaarraytype不等于预定值的情况下,所述编码表示中存在所述一个或多个语法标志。在一些实施例中,所述预定值为0。
[0862]
在一些实施例中,所述一个或多个语法标志包括以下中的至少一个:(1)滤波器索引、(2)自适应环路滤波器(alf)自适应参数集(aps)索引,或(3)控制标志。在一些实施例中,与所述区域相对应的级别包括序列级别。在一些实施例中,确定所述色度格式包括确定变量chromaarraytype的单个步骤。在一些实施例中,在所述变量chromaarraytype不等于预定值的情况下,在所述编码表示中对所述一个或多个语法标志进行排序。在一些实施例中,所述预定值是0。在一些实施例中,所述一个或多个语法标志包括以下至少之一:(1)
qtbtt_dual_tree_intra_flag、(2)sps_cclm_enabled_flag或(3)pcm_sample_bit_depth_chroma_minus1。
[0863]
在一些实施例中,在(1)变量chromaarraytype等于预定值、(2)所述色度格式为4:0:0或(3)所述色度格式的颜色分量被单独编解码的情况下,在不将自适应环路滤波器、二次变换、色度残差缩放步骤或量化缩放矩阵应用到视频块的情况下生成所述一个或多个解码视频块。所述二次变换适用于前向主变换和量化步骤之间、或去量化步骤和反向主变换之间。
[0864]
在一些实施例中,生成所述一个或多个解码视频块包括:在(1)变量chromaarraytype不等于预定值的情况下,将自适应环路滤波器、二次变换、色度残差缩放步骤或量化缩放矩阵应用到视频的块。所述二次变换适用于前向主变换和量化步骤之间、或去量化步骤和反向主变换之间。
[0865]
在一些实施例中,在所述色度格式为4:0:0或所述色度格式的颜色分量被单独编解码的情况下,在所述编码表示中将联合色度残差编码步骤指示为禁用。所述联合色度残差编码步骤包括确定联合残差,所述联合残差是与色度分量相关联的残差的平均值。
[0866]
在一些实施例中,在所述色度格式为4:0:0或所述色度格式的颜色分量被单独编解码的情况下,在所述编码表示中将色度自适应环路滤波处理指示为禁用。在一些实施例中,在所述色度格式是4:0:0或所述色度格式的颜色分量被单独编解码的情况下,在所述编码表示中将色度二次变换指示为禁用。所述色度二次变换适用于前向主变换和量化步骤之间、或去量化步骤和反向主变换之间。
[0867]
在一些实施例中,在所述色度格式是4:0:0或所述色度格式的颜色分量被单独编解码的情况下,在所述编码表示中将色度二次变换矩阵的索引设置为预定值。所述色度二次变换适用于前向主变换和量化步骤之间、或去量化步骤和反向主变换之间。
[0868]
在一些实施例中,在所述色度格式是4:0:0或所述色度格式的颜色分量被单独编解码的情况下,在所述编码表示中将在联合色度残差编码步骤中使用的色度量化参数偏移设置为预定值。所述联合色度残差编码步骤包括确定联合残差,所述联合残差是与色度分量相关联的残差的平均值。在一些实施例中,在所述色度格式是4:0:0或所述色度格式的颜色分量被单独编解码的情况下,在所述编码表示中将亮度相关的色度残差缩放编码步骤的使用设置为预定值。在一些实施例中,在所述色度格式是4:0:0或所述色度格式的颜色分量被单独编解码的情况下,在所述编码表示中将图片级的色度量化参数偏移设置为预定值。在一些实施例中,所述预定值为0。
[0869]
图32是表示根据本技术的用于视频处理的方法3200的流程图。方法3200包括,在操作3210,对于视频的块和视频的比特流表示之间的转换,确定与所述块的多个色度颜色分量相对应的多个简化的二次变换(rst)矩阵。所述二次变换适用于前向主变换和量化步骤之间、或去量化步骤和反向主变换之间。方法3200还包括,在操作3220,基于所述确定执行所述转换。
[0870]
在一些实施例中,针对对应色度颜色分量,在所述比特流表示中用信令通知所述多个rst矩阵中的每一个。在一些实施例中,针对第二色度颜色分量的第二rst矩阵的信令基于针对第一色度颜色分量的第一rst矩阵的信令。
[0871]
在一些实施例中,所述多个rst矩阵包括第一rst矩阵和第二rst矩阵,在所述比特
流表示中用信令通知所述第一rst矩阵,并且在所述比特流表示中不存在所述第二rst矩阵。在一些实施例中,所述第二rst矩阵是基于用于亮度块的rst矩阵导出的。在一些实施例中,所述第二rst矩阵是基于所述第一rst矩阵导出的,所述第一rst矩阵和所述第二rst矩阵是不同的。在一些实施例中,所述第二rst矩阵是基于色度帧内模式编码步骤导出的。
[0872]
在一些实施例中,在所述比特流表示中用信令通知所述多个rst矩阵的子集。在一些实施例中,基于所述块的颜色子采样格式来确定所述多个rst矩阵的子集的数量。在一些实施例中,所述多个rst矩阵的子集的数量是基于是否针对所述块启用了双树编码步骤来确定的。在一些实施例中,基于是否使用联合色度残差编码步骤来确定所述多个rst矩阵的子集的数量。在一些实施例中,在使用联合色度残差编码步骤的情况下,在所述比特流表示中用信令通知单个rst矩阵。
[0873]
图33是表示根据本技术的用于视频处理的方法3300的流程图。方法3300包括,在操作3310,对于视频的块和视频的比特流表示之间的转换,在对所述块应用联合色度残差编码步骤的情况下,确定在所述比特流表示中不存在用于二次变换的一个或多个矩阵索引。所述二次变换在前向主变换和量化步骤之间、或去量化步骤和反向主变换之间适用于所述块。所述联合色度残差编码步骤包括确定联合残差,所述联合残差是与色度分量相关联的残差的平均值。方法3300还包括,在操作3320,基于所述确定执行所述转换。
[0874]
在一些实施例中,针对所述块的色度分量禁用所述二次变换。在一些实施例中,使用一个或多个预定矩阵索引来应用所述二次变换。在一些实施例中,将相同的预定矩阵索引用于所述块的色度分量。在一些实施例中,将不同的预定矩阵索引应用于所述块的不同色度分量。在一些实施例中,将预定矩阵索引用于所述块的第一色度分量,并且其中,为所述块的第二色度分量禁用所述二次变换。
[0875]
图34是表示根据本技术的用于视频处理的方法3400的流程图。方法3400包括,在操作3410,对于视频的块和视频的比特流表示之间的转换,在前向主变换和量化步骤之间、或去量化步骤和反向主变换之间将二次变换应用于所述块的情况下,确定在所述比特流表示中不存在指示联合色度残差编码步骤的使用的语法标志。所述联合色度残差编码步骤包括确定联合残差,所述联合残差是与色度分量相关联的残差的平均值。方法3400还包括,在操作3420,基于所述确定执行所述转换。在一些实施例中,针对所述块禁用所述联合色度残差编码步骤。
[0876]
图35是表示根据本技术的用于视频处理的方法3500的流程图。方法3500包括,在操作3510,对于视频的块和视频的比特流表示之间的转换,在将联合色度残差编码步骤应用于所述块的情况下,确定在所述比特流表示中不存在指示跨分量线性模型编码步骤的使用的语法标志。所述联合色度残差编码步骤包括确定联合残差,所述联合残差是与色度分量相关联的残差的平均值。方法3500还包括,在操作3520,基于所述确定执行所述转换。在一些实施例中,针对所述块的色度分量禁用所述跨分量线性模型编码步骤。
[0877]
图36是表示根据本技术的用于视频处理的方法3600的流程图。方法3600包括,在操作3610,对于视频的块和视频的比特流表示之间的转换,在将跨分量线性模型应用于所述块的情况下,确定在所述比特流表示中不存在指示联合色度残差编码步骤的使用的语法标志。所述联合色度残差编码步骤包括确定联合残差,所述联合残差是与色度分量相关联的残差的平均值。方法3600还包括,在操作3620,基于所述确定执行所述转换。在一些实施
例中,针对所述块禁用所述联合色度残差编码步骤。
[0878]
图37是表示根据本技术的用于视频处理的方法3700的流程图。方法3700包括,在操作3710,对于视频的块和视频的比特流表示之间的转换,基于针对所述块的跨分量线性模型编码步骤的系数,确定在联合色度残差编码步骤中使用的两个色度残差之间的相关性。所述联合色度残差编码步骤包括确定联合残差,所述联合残差是与色度分量相关联的残差的平均值。方法3700还包括,在操作3720,基于所述确定执行所述转换。
[0879]
在一些实施例中,第一色度分量是cb、第二色度分量是cr,a1、a2、b1和b2是跨分量线性模型编码步骤的系数,并且cb=a1*亮度 b1,且cr=a2*亮度 b2。在一些实施例中,所述第一色度分量的第一残差resicb与所述第二色度分量的第二残差resicr之间的相关性表示为resicb=a2*(resicr
‑
b1)/a1 b2。在一些实施例中,所述第一色度分量的第一残差resicb与所述第二色度分量的第二残差resicr之间的相关性表示为resicb=a2*(resicr
‑
b1)/a1。在一些实施例中,所述第一色度分量的第一残差resicb与所述第二色度分量的第二残差resicr之间的相关性表示为resicb=a2*resicr/a1。
[0880]
在一些实施例中,该方法包括:基于所述跨分量线性模型编码步骤的系数,确定所述两个色度残差之间的一个或多个其他相关性。在一些实施例中,所述跨分量线性模型编码步骤包括线性模型(lm)模式、lm
‑
t模式或lm
‑
l模式。
[0881]
图38是表示根据本技术的用于视频处理的方法3800的流程图。方法3800包括,在操作3810,对于视频的块和视频的比特流表示之间的转换,在将联合色度残差编码步骤被应用于所述块的情况下,确定禁用亮度相关的色度残差缩放编码步骤。亮度相关的色度残差缩放编码步骤包括乘法处理,该乘法处理用视频的色度信号补偿视频的亮度信号。方法3800还包括,在操作3820,基于所述确定执行所述转换。
[0882]
本文档中描述的公开的和其他解决方案、示例、实施例、模块和功能性操作可以在数字电子电路中实施,或者在计算机软件、固件或硬件中实施,包括本文档中公开的结构及其结构等同物,或者以他们的一个或多个的组合实施。所公开的和其他实施例可以被实施为一个或多个计算机程序产品,例如,在计算机可读介质上编码的一个或多个计算机程序指令模块,用于由数据处理装置运行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信令的物质的合成、或者它们中的一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或者多个处理器或计算机。除了硬件之外,装置可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统及其一个或多个的组合的代码。传播的信令是人工产生的信令,例如机器产生的电、光、或电磁信令,其被产生以对信息进行编码以传输到合适的接收器装置。
[0883]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件相对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标志语言文档中的一个或多个脚本)、专用于所讨论的程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计
算机上来执行,这些计算机位于一个站点或分布在多个站点并通过通信网络互连。
[0884]
本文档中描述的处理和逻辑流可以由一个或多个可编程处理器执行,该一个或多个处理器运行一个或多个计算机程序,通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流也可以由专用逻辑电路来执行,并且装置也可以实施为专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
[0885]
例如,适用于运行计算机程序的处理器包括通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或可操作地耦合到一个或多个大容量存储设备,以从其接收数据或向其传送数据,或两者兼有。然而,计算机不一定需要具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和cd rom和dvd
‑
rom磁盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
[0886]
虽然本专利文档包含许多细节,但不应将其解释为对任何主题名称或要求保护的范围的限制,而应解释为特定于特定技术的特定实施例的特征的描述。本专利文档在分离的实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独地实施,或在任何合适的子组合中实施。此外,虽然特征可以被描述为在某些组合中起作用,甚至最初这样要求保护,但在某些情况下,可以从要求保护的组合中移除组合中的一个或多个特征,并且要求保护的组合可以指向子组合或子组合的变体。
[0887]
同样,尽管在附图中以特定顺序描述了操作,但这不应理解为要获得期望的结果必须按照所示的特定顺序或次序顺序来执行这些操作,或执行所有示出的操作。此外,本专利文档所述实施例中的各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
[0888]
仅描述了一些实施方式和示例,其他实施方式、增强和变体可以基于本专利文档中描述和说明的内容做出。
再多了解一些
本文用于企业家、创业者技术爱好者查询,结果仅供参考。