视频编解码的自适应环内颜色空间变换的量化特性的制作方法

文档序号:31713578发布日期:2022-10-04 20:39阅读:124来源:国知局
视频编解码的自适应环内颜色空间变换的量化特性的制作方法
视频编解码的自适应环内颜色空间变换的量化特性
1.相关申请的交叉引用
2.根据适用的《专利法》和/或《巴黎公约》的规定,本技术及时要求2019年11月7日提交的国际专利申请no.pct/cn2019/116280的优先权和权益。出于法律的所有目的,将前述申请的全部公开以参考方式并入本文,作为本技术公开的一部分。
技术领域
3.该专利文件通常针对视频编码和解码技术。


背景技术:

4.视频编解码标准主要是通过开发众所周知的itu-t和iso/iec标准而发展起来的。itu-t提出了h.261和h.263,iso/iec提出了mpeg-1和mpeg-4视觉,并且这两个组织共同提出了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 jtc1 sc29/wg11(mpeg)之间的联合视频专家团队(jvet)成立,以致力于与hevc相比降低50%比特率的vvc标准的目标。


技术实现要素:

5.使用公开的视频编码、转码或解码技术,视频编码器或解码器的实施例可以处理编解码树块的虚拟边界,以提供更好的压缩效率和编码或解码工具的更简单实现。
6.在一个示例方面,公开了一种视频处理方法。该方法包括:对于包括当前视频块的视频的视频分量和视频的比特流表示之间的转换,基于当前视频块的规则确定自适应颜色空间变换(act)工具被使用;以及根据确定执行转换,以及其中,规则指定为当前视频块的一个或多个颜色分量中的每一个使用相同的恒定量化参数(qp)偏移。
7.在另一个示例方面,公开了另一种视频处理方法。该方法包括:对于视频的视频块和视频的比特流表示之间的转换,确定是否和/或如何根据规则应用去块过程;以及基于确定执行转换,其中,规则指定去块过程取决于:i)自适应颜色空间变换(act)的启用状态,在act中,视觉信号的表示在两个颜色空间之间进行了变换,或ii)用于表示像素的样点的颜色空间。
8.在另一个示例方面,公开了另一种视频处理方法。该方法包括:对于视频的当前视频块和视频的编解码表示之间的转换,确定由于使用自适应颜色空间变换(act)编解码工具而执行颜色变换;以及根据确定执行转换。
9.在另一个示例方面,公开了另一种视频处理方法。该方法包括:根据规则执行包含一个或多个视频块的视频与视频的比特流表示之间的转换,其中,规则指定,对于使用变换
跳过模式编解码的视频块,最低允许量化参数(qp)与自适应颜色空间变换(act)工具对视频块的适用性无关。
10.在另一个示例方面,公开了另一种视频处理方法。该方法包括:根据规则执行包含一个或多个视频块的视频与视频的比特流表示之间的转换,其中,规则指定:对于使用变换跳过模式编解码的视频块,最低允许量化参数(qp)取决于颜色通道。
11.在另一个示例方面,公开了另一种视频处理方法。该方法包括:确定排除规则适用于视频的视频区域和视频的比特流表示之间的转换,其中,排除规则指定:针对视频区域,转换不允许使用编解码工具和色度残差的联合编解码(jccr)工具;以及基于确定执行转换。
12.在另一个示例方面,公开了另一种视频处理方法。该方法包括:对于视频的视频单元和视频的比特流表示之间的转换,基于用于视频单元的转换的量化参数,确定编解码工具的适用性和/或是否用信令通知编解码工具的信息和/或使用的指示;以及基于确定执行转换。
13.在又一个示例方面,公开了一种被配置为执行上述方法的视频编码装置。
14.在又一个示例方面,公开了一种被配置为执行上述方法的视频解码器。
15.在又一个示例方面,公开了一种机器可读介质。该介质存储代码,该代码在被执行时使处理器实现上述方法中的一种或多种。
16.在附图、说明书和权利要求书中更详细地描述了所公开技术的上述和其他方面以及特征。
附图说明
17.图1示出了利用自适应颜色空间变换(act)的编码流程的示例。
18.图2示出了具有act的解码流程的示例。
19.图3示出了用于导出ic参数的临近样点的示例。
20.图4示出了具有整形的解码流程的示例流程图。
21.图5是参考线示例。
22.图6示出了4
×
8和8
×
4块的拆分的示例。
23.图7示出除4
×
8、8
×
4和4
×
4以外的所有块的拆分的示例。
24.图8是针对4
×
4块的alwip的图示。
25.图9是针对8
×
8块的alwip的图示。
26.图10是针对8
×
4块的alwip的图示。
27.图11是针对16x16块的alwip的图示。
28.图12是子块变换模式sbt-v和sbt-h的图示(灰色区域是可以具有非零系数的tu;白色区域是具有全部零系数的零输出tu)。
29.图13是子块变换模式sbt-q的图示。
30.图14a和图14b是用于视频处理的示例性装置的框图。
31.图15是说明示例视频编解码系统的框图。
32.图16是说明根据所公开技术的一些实施例的编码器的框图。
33.图17是说明根据所揭示技术的一些实施例的解码器的框图。
34.图18a至图18e是基于所公开技术的一些实施方式的视频处理的示例方法的流程图。
具体实施方式
35.在本文档中使用章节标头是为了便于理解,并且不将章节中公开的实施例限制为仅该章节。此外,尽管参考多功能视频编解码或其他特定视频编解码器描述了某些实施例,但是所公开的技术也适用于其他视频编解码技术。此外,虽然一些实施例详细描述了视频编解码步骤,但是应当理解,撤销编码的相应解码步骤将由解码器实施。此外,术语视频处理包含视频编解码或压缩、视频解码或解压缩以及视频转码,其中视频像素从一种压缩格式表示为另一种压缩格式或以不同的压缩比特率表示。
36.1.概述
37.本文档与视频编解码技术相关。具体而言,其与自适应颜色空间变换与视频编解码中的其他工具的交互有关。它可以应用于现有的视频编解码标准(如hevc),或待定的标准(多功能视频编解码)。它也可能适用于未来的视频编解码标准或视频编解码器。
38.2.视频编解码介绍
39.视频编解码标准主要是通过熟知的itu-t和iso/iec标准的发展演变而来的。itu-t制作了h.261和h.263,iso/iec制作了mpeg-1和mpeg-4视觉,这两个组织联合制作了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 jtc1 sc29/wg11(mpeg)之间的联合视频专家团队(jvet)成立,以致力于与hevc相比降低50%比特率的vvc标准的目标。
40.2.1 hevc屏幕内容编解码扩展中的自适应颜色空间变换(act)
41.在hevc scc扩展中,已经提出并采用了若干工具来提高hevc框架下的scc效率。例如,为了利用sc中的重复模式,采用了帧内块复制(ibc)方案。与用于帧间图片的运动补偿方案类似,ibc模式在当前图片的已重构区域中搜索重复模式。另一个改进scc的方向是减少4:4:4色度格式中rgb/ycbcr序列的颜色间分量冗余。
42.跨分量预测(ccp,cross-component prediction)技术用信令发送变换单元的每个色度颜色分量的加权参数索引。ccp在增加了有限的复杂性的情况下提供了良好的编解码效率改进,因此它被纳入hevc范围扩展,并且是hevc第二版本的的一部分,它指定范围扩展和其他扩展的描述。
43.为了进一步利用scc的帧间颜色分量的相关性,对hevc scc扩展采用了环内自适应颜色空间变换(act)。act的基本思想是将预测残差自适应地转换为三色分量之间具有降低的冗余度的色空间。在此之前和之后,信号遵循hevc范围扩展中的现有编解码路径。为了保持尽可能低的复杂度,仅考虑一种附加的颜色空间(即rgb到ycgco-r逆变换),其可以通过移位和加法操作轻松实现。
44.2.1.1 act中使用的变换
45.对于有损编解码使用ycgco变换,而将其可逆变体即ycgco-r用于无损编解码。
46.ycgco前向变换和逆向变换过程如下:以(r,g,b)颜色格式的像素为例:
47.前向:
48.逆向:
49.与可以通过矩阵乘法实现的ycgco变换不同,act中使用的可逆颜色空间变换(即ycgco-r)只能在基于提升的操作中执行,如下所示:
50.前向:
51.逆向:
52.2.1.2 act的使用
53.对于每个tu,可以用信令发送标志以指示颜色空间变换的使用。另外,对于帧内编解码的cu,仅在色度和亮度帧内预测模式相同时,即,色度块以dm模式编解码时,才启用act。
54.图1示出了在编码器处所提出的方法的框图,其中从帧内/帧间预测导出的残差信号作为输入。提出的功能块(包括前向和逆向颜色空间变换)位于编解码循环中并突出显示。如图1所示,在帧内或帧间预测处理(包括用于ibc模式的预测处理)之后,确定是否执行前向颜色空间变换。通过引入的颜色空间变换,可以将输入信号的颜色空间变换为ycgco,而三色分量之间的相关性较小。此后,原始编码流程,如果可用,诸如ccp、整数变换(即,图1中的t)、量化(即,图1中的q)和熵编解码过程被进一步依次调用。同时,在如图2所示的重构或解码过程中,在常规逆量化(即,图2中的iq)、逆变换(即,图2中的it)和逆ccp之后,如果适用,则逆颜色变换被调用以将编解码的残差转换回原始颜色空间。应当注意,颜色空间变换处理被应用于残差信号而不是重构信号。利用这种方法,解码器仅需要执行逆颜色空间变换处理,这可以使复杂度增加尽可能地低。此外,在act中,不管输入颜色空间如何,都利用了固定的颜色空间变换,即ycgco和ycgco-r。
55.2.1.3.vvc中的act
56.act的一个版本被纳入vvc草案7和vtm-7.0。act基于cu而不是tu。用于颜色空间转换的核心变换与用于hevc的保持相同。具体地,如下所述的以下前向和逆向ycgco颜色变换矩阵被应用。
[0057][0058]
另外,为了补偿颜色变换之前和之后的残差信号的动态范围变化,将(-5,-5,-3)的qp调整应用于变换残差。
[0059]
另一方面,如上述变换所示,前向和逆向颜色变换需要访问所有三个分量的残差。相应地,在提出的实施方式中,在以下两种情况下禁用了act,在这两种情况下,三个分量的所有残差都不可用。
[0060]
分离树分割:当应用分离树时,一个ctu内的亮度和色度样点被不同的结构分割。这导致亮度树中的cu仅包含亮度分量,而色度树中的cu仅包含两个色度分量。
[0061]
帧内子分割预测(isp,intra sub-partition prediction):isp子分割仅应用于亮度,而色度信号在没有拆分的情况下被编解码。在当前的isp设计中,除了最后的isp子分割之外,其他子分割仅包含亮度分量。
[0062]
2.2.jem中的局部照明补偿
[0063]
局部照明补偿(lic)基于照明变化的线性模型,其使用比例因子a和偏移b。并且针对每个帧间模式编解码的编解码单元(cu),局部照明补偿(lic)被自适应地启用或禁用。
[0064]
当lic应用到cu时,采用最小二乘误差法,通过使用当前cu的临近样点及其对应的参考样点来推导参数a和b。更具体地,如图3所示,使用了cu的子采样(2:1子采样)的临近样点和参考图片中的相应样点(由当前cu或子cu的运动信息标识)。
[0065]
2.2.1预测块的推导
[0066]
ic参数被导出并分别应用于每个预测方向。对于每个预测方向,使用解码的运动信息生成第一预测块,然后通过应用lic模型获得临时预测块。之后,利用两个临时预测块来得出最终预测块。
[0067]
当cu以merge模式编解码时,以类似于merge模式中的运动信息类似的方式从临近块复制lic标志;否则,向cu发信令通知lic标志以指示是否应用lic。
[0068]
当为图片启用lic时,需要额外的cu级rd检查,以确定lic是否应用于cu。当对cu启用lic时,分别针对整数像素运动搜索和分数像素运动搜索,使用去除均值的绝对差和(mr-sad,mean-removed sum of absolute difference)和去除均值的绝对阿达玛变换差和(mr-satd,mean-removed sum of absolute hadamard-transformed difference),而不是sad和satd。
[0069]
为了降低编码复杂度,在jem中应用了以下编码方案。
[0070]
·
在当前图片与其参考图片之间的照明没有明显变化时,将对整个图片禁用lic。为了识别这种情况,在编码器处计算当前图片和当前图片的每个参考图片的直方图。如果当前图片和当前图片的每个参考图片之间的直方图差小于给定阈值,则对当前图片禁用lic;否则,对当前图片启用lic。
[0071]
2.3 vvc中的帧间预测方法
[0072]
存在几种新的用于帧间预测改进的编解码工具,诸如用于信令通知mvd的自适应运动矢量差分辨率(amvr)、仿射预测模式、三角预测模式(tpm)、atmvp、广义双向预测
(gbi)、双向光流(bio)。
[0073]
2.3.1 vvc中的编码块结构
[0074]
在vvc中,采用四叉树/二叉树/三叉树(qt/bt/tt)结构,以将图像拆分成正方形或矩形块。
[0075]
除qt/bt/tt外,对于i帧,vvc还采用了分离树(又称为双编解码树)。使用分离树,为亮度和色度分量分别信令通知编解码块结构。
[0076]
2.4 jvet-m0427中的环内整形(in-loop reshaping,ilr)
[0077]
环内整形(ilr)的基本思想是将原始(在第一域)信号(预测/重构信号)转换到第二域(整形域)。
[0078]
环内亮度整形器被实现为一对查找表(lut),但是两个lut中只有一个需要被信令通知,因为另一个lut可以从信令通知的lut中计算出来。每个lut是一维的、10比特的、1024个条目的映射表(1d-lut)。一个lut是前向lut(fwdlut),它将输入的亮度代码值yi映射到更改的值yr:yr=fwdlut[yi]。另一个lut是逆向lut(invlut),它将更改的代码值yr映射到(表示yi的重构值)。
[0079]
2.4.1 pwl模型
[0080]
在概念上,分段线性(pwl)的实现方式如下:
[0081]
设x1,x2为两个输入轴点,并且y1,y2为一段的对应输出轴点。在x1和x2之间的任何输入值x的输出值y可以通过以下等式进行插值:
[0082]
y=((y2-y1)/(x2-x1))*(x-x1)+y1
[0083]
在定点实现中,该等式可以重写为:
[0084]
y=((m*x+2
fp_prec-1
)》》fp_prec)+c
[0085]
其中m是标量,c是偏移,并且fp_prec是用于指定精度的常量值。
[0086]
注意,在ce-12软件中,pwl模型用于预计算1024个条目的fwdlut和invlut映射表;但是pwl模型还允许实现在不预先计算lut的情况下实时计算等同的映射值。
[0087]
2.4.2亮度整形
[0088]
环内亮度整形(即,提议中的ce12-2)的测试2提供了较低复杂度的流水线,该流水线还消除了帧间条带重构中逐块的帧内预测的解码延迟。对于帧间和帧内条带,帧内预测都在整形域中执行。
[0089]
不管条带类型如何,帧内预测总是在整形域中执行。通过这样的布置,帧内预测可以在先前的tu重构完成后立即开始。这种布置还可以为帧内模式提供统一的而不是条带相关的处理。图4示出了基于模式的ce12-2解码处理的框图。
[0090]
ce12-2也测试亮度和色度残差缩放的16段分段线性(pwl)模型,而不是ce12-1的32段分段pwl模型。
[0091]
图4示出了具有整形的解码流程的流程图。
[0092]
用ce12-2中的环内亮度整形器进行帧间条带重构(浅色阴影块指示整形域中的信号:亮度残差;帧内亮度预测的;以及帧内亮度重构的)。
[0093]
2.4.3亮度相关的色度残差缩放
[0094]
亮度相关的色度残差缩放是用定点整数运算实现的乘法处理。色度残差缩放补偿了亮度信号与色度信号的相互作用。色度残差缩放在tu级应用。
[0095]
更具体地,以下适用:
[0096]

对于帧内,平均重构亮度。
[0097]

对于帧间,平均预测亮度。
[0098]
平均被用于标识pwl模型中的索引。该索引标识缩放因子cscaleinv。色度残差乘以该数字。
[0099]
应当注意的是,色度缩放因子是从前向映射的预测亮度值而不是重构亮度值计算出的。
[0100]
2.4.3.1 ilr侧信息的信令
[0101]
在片组标头(类似于alf)中发送参数(当前)。这些据说需要40-100比特。
[0102]
2.4.3.2.ilr的使用
[0103]
在编码器侧,首先将每个图片(或片组)转换到整形域。并且所有编码处理都在整形域中执行。对于帧内预测,相邻块在整形域中;对于帧间预测,首先将参考块(从解码图片缓冲器的原始域生成)转换到整形域。然后生成残差并将其编码到比特流。
[0104]
在整个图片(或片组)完成编码/解码之后,将整形域中的样点转换到原始域,然后应用去块滤波器和其他滤波器。
[0105]
在以下情况下,禁用对预测信令的前向整形:
[0106]
(1)当前块是帧内编码的
[0107]
(2)当前块被编码为cpr(当前图片参考,也称为帧内块复制,ibc)
[0108]
(3)当前块被编码为组合帧间-帧内模式(ciip),并且对帧内预测块禁用前向整形
[0109]
2.5虚拟流水线数据单元(vpdu,virtual pipelining data units)
[0110]
虚拟流水线数据单元(vpdu)被定义为图片中不重叠的mxm-亮度(l)/nxn-色度(c)单元。在硬件解码器中,连续的vpdu由多个流水线阶段同时处理。不同阶段同时处理不同的vpdu。在大多数流水线阶段,vpdu的尺寸大致与缓冲区的尺寸成正比,因此,保持vpdu的尺寸很小非常重要。在hevc硬件解码器中,vpdu尺寸被设置为最大变换块(tb)尺寸。将最大tb尺寸从32x32-l/16x16-c(如在hevc)扩大到64x64-l/32x32-c(如在当前vvc)可以带来编解码增益,与hevc相比,这预期使vpdu尺寸(64x64-l/32x32-c)增加4倍。但是,除了四叉树(qt)编解码单元(cu)分割之外,vvc中还采用了三叉树(tt)和二叉树(bt)来实现额外的编解码增益,并且tt和bt拆分可以递归地应用于128x128-l/64x64-c编解码树块(ctu),据说与hevc相比,其vpdu尺寸(128x128-l/64x64-c)增加16倍。
[0111]
在vvc的当前设计中,vpdu的尺寸被定义为64x64-l/32x32-c。
[0112]
2.6多参考线(mrl)
[0113]
多参考线(mrl)帧内预测为帧内预测使用较多参考线。图5中,描绘4条参考线的示例,其中段a和f的样点不是从重构的临近样点中获取的,而是分别填充有来自段b和e的最接近的样点。hevc图片内的预测使用最近的参考线(即,参考线0)。mrl中,使用2条附加线(参考线1和参考线3)。
[0114]
信令通知已选择的参考线的索引(mrl_idx),且将其用于生成帧内预测符。对于大于0的参考线索引,仅包括mpm列表中的附加参考线模式,并且仅信令通知mpm索引而没有其余模式。在帧内预测模式之前信令通知参考线索引,并且在信令通知非零参考线索引的情况下,将平面模式和dc模式从帧内预测模式中排除。
[0115]
图5是与预测块临近的四个参考线的示例。
[0116]
对于ctu内的块的第一行,禁用mrl,以防止在当前ctu线外使用扩展的参考样点。同样,当使用附加行时,pdpc被禁用。
[0117]
2.7.帧内子块分割(isp)
[0118]
在jvet-m0102中,提出了isp,如表1所示,将亮度帧内预测的块根据块尺寸维度垂直或水平地拆分为2或4个子分割。图6和图7示出了两种可能性的示例。所有子分割均满足具有至少16个样点的条件。对于块尺寸,如果允许4n或n4(其中n》8),则可能存在1
×
n或n
×
1子分割。
[0119]
表1:取决于块尺寸的子分割数(以maxtbsize表示最大变换尺寸)
[0120][0121][0122]
对于这些子分割中的每个,通过对由编码器发送的系数进行熵解码,然后对它们进行逆量化和逆变换来生成残差信号。然后,对该子分割进行帧内预测,最后通过将残差信号与预测信号相加来获得相应的重构样点。因此,每个子分割的重构值将可用于生成下一子分割的预测,将重复该过程,以此类推。所有子分割共享相同的帧内模式。
[0123]
此后,帧内子分割用于表示除第一子分割以外的子分割。如果将isp块沿水平(垂直)方向拆分,则第一子分割表示上(左)子分割。
[0124]
表2:取决于predmodeintra的trtypehor和trtypever的规范
[0125]
[0126]
2.8仿射线性加权帧内预测(alwip,又名基于矩阵的帧内预测)
[0127]
在jvet-n0217中提出了仿射线性加权帧内预测(alwip,又称基于矩阵的帧内预测(mip))。
[0128]
2.8.1通过矩阵矢量乘法生成缩减的预测信号
[0129]
首先,经由取平均对临近的参考样点进行下采样,以生成缩减的参考信号bdry
red
。然后,通过计算矩阵矢量乘积并加上偏移来计算出缩减的预测信号pred
red

[0130]
pred
red
=a
·
bdry
red
+b
[0131]
这里,矩阵a具有w
red
·hred
行和4列(如果w=h=4),且在所有其他情况下矩阵a具有8列。b是尺寸w
red
·hred
的矢量。
[0132]
2.8.2整个alwip过程的说明
[0133]
图8、图9、图10和图11图示了对不同形状求平均值、矩阵矢量乘法和线性插值的整个过程。注意到,其余形状按所描绘的情况之一处理。
[0134]
1、给定4
×
4块,alwip沿着边界的每个轴取两个平均值。得到的四个输入样点进入矩阵矢量乘法。从集合s0中获取矩阵。在加上偏移之后,这产生了16个最终预测样点。线性插值对生成预测信令通知不是必要的。因此,每个样点总共执行了(4
·
16)/(4
·
4)=4个乘法。
[0135]
2、给定8
×
8块,alwip沿着边界的每个轴线取四个平均值。得到的八个输入样点进入矩阵矢量乘积。从集合s1中获取矩阵。这在预测块的奇数位置上产生16个样点。因此,每个样点总共执行了(8
·
16)/(8
·
8)=2个乘法。在加上偏移之后,这些样点通过采用减少的顶边界被垂直地插值。水平插值随后采用原始左边界。
[0136]
3、给定8
×
4块,alwip沿边界的水平轴线取四个平均值,并且在左边界取四个原始边界值。得到的八个输入样点进入矩阵矢量乘法。从集合s1中获取矩阵。这在预测块的奇数水平和每个垂直位置上产生16个样点。因此,每个样点总共执行了(8
·
16)/(8
·
4)=4个乘法。在加上偏移之后,这些样点通过采用原始左边界被水平地插值。
[0137]
相应地处理转置的情况。
[0138]
4、给定16
×
16块,alwip沿着边界的每个轴线取四个平均值。得到的八个输入样点进入矩阵矢量乘法。从集合s2中获取矩阵。这在预测块的奇数位置上产生64个样点。因此,每个样点总共执行了(8
·
64)/(16
·
16)=2个乘法。在加上偏移之后,这些样点通过采用顶边界的八个平均值被垂直地插值。随后采用原始左边界水平插值。在这种情况下,插值过程不会添加任何乘法。因此,每个样点总共需要两个乘法来计算alwip预测。
[0139]
对于较大的形状,该过程基本上相同,并且容易检验每个样点的乘法数目少于四个。
[0140]
对于w》8的w
×
8块,只有水平插值是必要的,因为在奇数水平位置和每个垂直位置给定样点。
[0141]
最后,对于w》8的w
×
4块,通过略去对应于沿着下采样的块的水平轴的奇数条目的每行而使a_kbe为产生的矩阵。因此,输出尺寸为32,而且仅保留要执行水平插值。
[0142]
相应地处理转置的情况。
[0143]
2.8.3常规亮度和色度帧内预测模式的适应性mpm列表推导
[0144]
如下将提出的alwip模式与常规帧内预测模式的基于mpm的编码协调。常规帧内预
测模式的亮度和色度mpm列表推导过程使用固定表map_alwip_to_angular
idx
,idx∈{0,1,2},将给定pu上的alwip模式predmode
alwip
映射到传统帧内预测模式中的一个
[0145]
predmode
angular
=map_alwip_to_angular
idx(pu)
[predmode
alwip
]
[0146]
对于亮度mpm列表推导,每当遇到使用alwip模式predmode
alwip
的临近亮度块,就如采用常规帧内预测模式predmode
angular
一样处理该块。对于色度mpm列表推导,每当当前亮度块使用lwip模式,相同的映射将alwip模式转换为常规的帧内预测模式。
[0147]
2.9量化残差块差分脉冲码调制(qr-bdpcm)
[0148]
在jvet-m0413中,提出了一种量化残差块差分脉冲码调制(qr-bdpcm)来有效地对屏幕内容进行编码。
[0149]
qr-bdpcm中使用的预测方向可以是垂直和水平预测模式。通过在类似于帧内预测的预测方向(水平或垂直预测)上进行样点复制来对整个块进行帧内预测。对残差进行量化,并对量化后的残差及其预测器(水平或垂直)量化值之间的增量(delta)进行编码。这可以由以下进行描述:对于尺寸为m(行)
×
n(列)的块,令r
i,j
,0≤i≤m-1,0≤j≤n-1是使用来自上方或左侧块边界样点的未经滤波的样点水平地(逐行复制整个预测块的左侧相邻像素值)或垂直地(将顶部邻居行复制到预测块中的每一行)进行帧内预测之后的预测残差。令q(r
i,j
),0≤i≤m-1,0≤j≤n-1表示残差r
i,j
的量化版本,其中残差是原始块与预测块值之间的差。然后,将块dpcm应用于量化后的残差样点,得到具有元素的修改后的m
×
n阵列当用信令通知垂直bdpcm时:
[0150][0151]
对于水平预测,适用类似的规则,并且通过以下操作获得残差量化样点
[0152][0153]
将残差量化样点发送到解码器。
[0154]
在解码器侧,将上述计算取反以产生q(r
i,j
),0≤i≤m-1,0≤j≤n-1。对于垂直预测的情况,
[0155][0156]
对于水平情况,
[0157][0158]
将逆量化残差q-1
(q(r
i,j
))添加到块内预测值以产生重构样点值。
[0159]
该方案的主要好处在于,逆dpcm可以在系数解析期间动态完成,只需在解析系数时添加预测器即可,或者可以在解析之后执行。
[0160]
2.10.帧内色度编解码
[0161]
除了帧内色度预测模式之外,在vvc中还引入了cclm和联合色度残差编解码。
[0162]
2.10.1交叉分量线性模型(cclm)
[0163]
为了降低交叉分量冗余,在vtm4中使用交叉分量线性模型(cclm)预测模式,其中,
使用如下线性模型基于相同cu的重构亮度样点预测色度样点:
[0164]
predc(i,j)=α
·
rec
l
'(i,j)+β
[0165]
其中,predc(i,j)表示cu中的预测色度样点,并且rec
l
(i,j)表示同一cu的下采样的重构亮度样点。线性模型参数α和β是从特定位置的四个样点的亮度值和色度值之间的关系导出的。在这四个样点中,将两个较大的值平均,然后将两个较小的值平均。然后,将平均后的值用于导出线性模型参数。
[0166]
2.10.2联合色度残差编解码
[0167]
如果色度整形器处于活动状态,则将整形应用于接收的残差,其方式与在单独的编解码模式下所做的相同(即,联合残差信号被整形)。在编码器端,在测试此模式时,将正cb残差和负cr残差的平均用作联合残差:
[0168]
resjoint=(rescb

rescr)/2
[0169]
在比特流中用信令通知一个二进制位指示符以启用该模式。在启用该模式的情况下,联合残差信号被编解码在比特流中。在解码器侧,联合残差被用于cb分量,残差的负版本被用于cr。
[0170]
2.11 vvc中的子块变换(sbt,sub-block transform)
[0171]
对于cu_cbf等于1的帧间预测的cu,可以用信令发送cu_sbt_flag以指示整个残差块还是残差块的子部分被解码。在前一种情况下,帧间mts信息被进一步解析以确定cu的变换类型。在后一种情况下,残差块的一部分通过推断的自适应变换被编解码,而残差块的其他部分被清零。由于几乎没有实现编解码增益,因此sbt不适用于组合的帧间帧内模式。
[0172]
2.11.1子块tu平铺
[0173]
当sbt被用于帧间cu时,sbt类型和sbt位置信息被进一步从比特流中解码。如图12所示,存在两种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模式。
[0174]
如图13所示,四叉树(qt)拆分还用于将一个cu平铺(title)为4个子块,并且仍然有一个子块具有残差。此sbt类型被表示为sbt-q。这部分未被vvc采纳。
[0175]
允许宽度和高度均不大于maxsbtsize的cu使用sbt-v、sbt-h和sbt-q。在sps中用信令通知maxsbtsize。对于hd和4k序列,maxsbtsize被编码器设置为64;对于其他较小的分辨率序列,maxsbtsize被设置为32。
[0176]
2.11.2子块的变换类型
[0177]
位置相关的变换被应用于sbt-v和sbt-h(始终使用dct-2的色度tb)中的亮度变换块。sbt-h和sbt-v的两个位置与不同的核心变换相关联。更具体地,在图12中指定了每个sbt位置的水平和垂直变换。例如,sbt-v位置0的水平和垂直变换分别是dct-8和dst-7。当残差tu的一侧大于32时,相应的变换被设置为dct-2。因此,子块变换共同指定残差块的tu片、cbf以及水平和垂直变换,对于块的主要残差在该块的一侧的情况,可以将其视为语法快捷方式。
[0178]
图12是子块变换模式sbt-v和sbt-h的图示(灰色区域是可以具有非零系数的tu;
白色区域是具有全部零系数的零输出tu)。
[0179]
图13是子块变换模式sbt-q的图示。
[0180]
2.12分割树
[0181]
在vtm5中,编码树方案支持亮度和色度具有单独的块树结构的能力。当前,对于p和b条带,一个ctu中的亮度ctb和色度ctb必须共享相同的编解码树结构。但是,对于i条带,亮度和色度可以具有单独的块树结构。当应用单独的块树模式时,亮度ctb通过一种编解码树结构被拆分为cu,并且色度ctb通过另一编解码树结构被拆分为色度cu。这意味着i条带中的cu可能由亮度分量的编解码块或两个色度分量的编解码块组成,而p或b条带中的cu总是由所有三种颜色分量的编解码块组成,除非视频是单色。
[0182]
3.本文档中描述的解决方案解决的技术问题的示例
[0183]
需要研究如何将act应用于vvc设计,尤其需要解决act与其他工具之间的交互:
[0184]
1.ilr将整个图片/条带/片的亮度分量从原始域转换为整形后的域,并对整形后的域中的所有内容进行编解码。但是,对于色度分量,它是在原始域中进行编解码的。act要求获取三色分量的像素的残差信号。
[0185]
2.在双树被启用时如何处理act。
[0186]
3.vvc7中的当前act设计不支持无损编解码。
[0187]
4.act的qp调整不考虑原始颜色空间中的qp偏移。
[0188]
4.解决方案和实施例的示例
[0189]
以下列表应被视为示例以解释一般概念。这些发明不应狭义地解释。此外,可以以任何方式组合这些技术。
[0190]
在以下讨论中,cu可以包括与具有单树编解码结构的所有三色分量相关联的信息。或者,cu可以包括仅与具有单色编解码的亮度颜色分量相关联的信息。或者,cu可以包括仅与双树编解码结构的亮度颜色分量(例如,ycbcr格式的y分量或gbr格式的g分量)相关联的信息。或者,cu可包含仅与具有双树编解码结构的两个色度分量(例如,ycbcr格式的cb和cr分量或gbr格式的b和r分量)相关联的信息。
[0191]
在以下描述中,“块”可指代视频数据的编解码单元(cu)或变换单元(tu)或任何矩形或多边形区域。“当前块”可以指当前正在被解码/编码的编解码单元(cu)或正在被解码/编码的变换单元(tu)或视频数据的任何正在被解码/编码的编解码矩形区域。“cu”或“tu”也可以被称为“编解码块”和“变换块”。
[0192]
在以下讨论中,术语“act”可以表示可以将三色分量的原始信号/预测信号/重构信号/残差信号从一个域转换为另一域的任何技术,而不必如在hevc scc中的设计相同的设计。
[0193]
1.在为视频单元(例如,条带/片/砖块/图片/覆盖一个或多个ctu的区域)启用双树分割结构时,将对视频单元中所有块禁用act。
[0194]
a.act的使用指示可以基于双树分割结构的使用而有条件地发信令通知。
[0195]
i.在一个示例中,当应用双树分割结构时,可以跳过act的使用指示的信令。
[0196]
2.当对视频单元(例如,条带/片/砖块/图片/覆盖一个或多个ctu的区域)启用ilr时,将对视频单元中所有块禁用act。
[0197]
a.act的使用指示可能会根据ilr的使用有条件地发信令通知。
[0198]
i.在一个示例中,当应用ilr时,可以跳过act的使用指示的信令。
[0199]
3.act和编解码工具x专用于视频块(例如cu/tu)。
[0200]
a.在一个示例中,x是cclm。如果为视频块的色度分量启用了cclm,则将禁用act;否则,将禁用act。反之亦然。
[0201]
b.在一个示例中,x是联合色度残差编解码。如果为视频块的色度分量启用了联合色度残差编解码,则将禁用act;否则,将禁用act。反之亦然。
[0202]
c.在一个示例中,x是基于矩阵的帧内预测方法。如果针对视频块的亮度分量启用了基于矩阵的帧内预测方法,则将禁用act;否则,将禁用act。反之亦然。
[0203]
d.在一个示例中,x是qr-bdpcm。如果为视频块的亮度分量启用了qr-bdpcm,则将禁用act;否则,将禁用act。反之亦然。
[0204]
e.在一个示例中,x是子块变换(sbt)。如果为视频块的亮度分量启用了sbt,则将禁用act;否则,将禁用act。反之亦然。
[0205]
f.在一个示例中,x是多重变换选择(mts)。如果为视频块的亮度分量启用了mts,则将禁用act;否则,将禁用act。反之亦然。
[0206]
g.在一个示例中,x是低频不可分变换(lfnst)。如果启用lfnst,则将禁用act;否则,将禁用act。反之亦然。
[0207]
h.在一个示例中,x是脉冲编解码调制(pcm)。如果启用了pcm,则将禁用act。反之亦然。
[0208]
i.在一个示例中,x是变换跳过(ts)。如果启用了ts,则将禁用act;否则,将禁用act。反之亦然。
[0209]
j.在一个示例中,x是帧内子块分割(isp)。如果启用了isp,则将禁用act。反之亦然。
[0210]
k.此外,可替代地,可以基于编解码工具x的使用来有条件地发信令通知act的使用的指示。
[0211]
i.在一个示例中,当启用编解码工具x时,可以跳过act的使用指示的信令。
[0212]
l.此外,可替代地,可以基于act的使用来有条件地发信令通知工具x的使用指示。
[0213]
i.在一个示例中,当启用act时,可以跳过编解码工具x的使用指示的信令。
[0214]
m.可替代地,可以针对一个视频块启用上述工具和act。
[0215]
4.act和双树分割结构都可以为一个视频单元启用(例如,图片/条带/片/砖块)
[0216]
a.此外,可替代地,双树分割结构的使用的信令从视频单元级移动到视频块(例如,ctu/ctb或vpdu)级。
[0217]
b.act和双树分割结构可能都针对一个视频块启用
[0218]
i.在一个示例中,在编码器侧,可以在对ctu/ctb进行分割之前首先将act应用于ctu/ctb。
[0219]
ii.在一个示例中,在解码器侧,可以首先对ctu/ctb进行解码,然后进行逆颜色空间变换。
[0220]
5.act和ilr可能都针对一个视频单元(例如,图片/条带/片/砖块)启用
[0221]
a.此外,可替代地,ilr使用的信令从视频单元级移动到视频块(例如,cu/tu)级。
[0222]
b.act和ilr可能针对一个视频块(例如cu/tu)启用。
[0223]
i.在一个示例中,在编码器侧,可以首先应用act,然后是ilr。也就是说,首先在原始域中生成预测信号和残差信号,act被应用以将残差信号从原始域转换到不同的颜色空间域;且ilr还用于将残差信号转换到整形域。
[0224]
ii.在一个示例中,在解码器侧,可以首先应用ilr,然后进行逆颜色空间变换。也就是说,首先应用ilr以将解码后的残差信号从整形域转换到颜色空间域;然后应用act以从颜色空间域转换到原始域。
[0225]
6.act和sbt可能针对一个视频块(例如cu/tu)启用。
[0226]
a.在一个示例中,转换后的颜色空间域(例如,原始域是rgb,转换后的域是具有act的ycocg)中的预测器错误用两个tu编解码。其中一个为全零系数,另一个为非零系数。
[0227]
i.此外,可替代地,可经由变换或变换跳跃获得具有非零系数的一个tu。
[0228]
ii.在一个示例中,例如,可以用与sbt类似的方式来发信令通知:如何将其拆分为2个tu;和/或可以将哪种类型的变换应用于两个tu之一。
[0229]
7.对于视频单元(例如,条带/片/砖块/图片),可以在不同级别启用act,诸如cu级和tu级。
[0230]
a.在一个示例中,对于视频单元中的不同视频块,act的使用的信令可以处于不同的级别,诸如cu级和tu级。
[0231]
b.可以基于编码特性确定是否以cu或tu级启用/发信令通知act、和/或是否发信令通知act的使用。
[0232]
i.在一个示例中,可以基于当前cu的维度来确定是否以cu或tu级启用/发信令通知。假设当前cu的宽度和高度分别表示为w和h。
[0233]
1.例如,可以基于当前cu的尺寸是否大于vpdu尺寸来确定是否以cu或tu级启用/发信令通知act。
[0234]
a.在一个示例中,如果当前cu的尺寸大于vpdu尺寸,则可以应用act的cu级信令通知/使用(即,所有tu共享相同的act的开启/关闭控制)。否则,可以应用tu级的act的信令通知/使用。
[0235]
b.可替代地,如果当前cu的尺寸大于vpdu尺寸,则可以应用act的tu级信令通知/使用(即,所有tu共享相同的act的开启/关闭控制。否则,可以应用cu级的act的信令通知/使用。
[0236]
c.在一个示例中,如果当前cu的尺寸大于vpdu尺寸,则将禁用act而不被信令通知。
[0237]
2.在一个示例中,可以基于当前cu具有大于最大tu尺寸的尺寸来确定是否以cu或tu级启用/发信令通知act。
[0238]
3.在一个示例中,当w》=t1且h》=t2时,将禁用act。例如,t1=t2=32。
[0239]
a.可替代地,当w》=t1或h》=t2时,将禁用act。例如,t1=t2=32。
[0240]
b.可替代地,当w《=t1且h《=t2时,将禁用act。例如,t1=t2=8。
[0241]
c.可替代地,当w《=t1或h《=t2时,将禁用act。例如,t1=t2=8。
[0242]
d.可替代地,当w*h》=t时,将禁用act。例如,t=1024。
[0243]
e.可替代地,当w*h《=t时,将禁用act。例如,t=64。
[0244]
ii.在一个示例中,可以基于当前cu是否是使用诸如isp的子块分割工具进行编解
码的来确定是否以cu或tu级启用/信令通知act。
[0245]
在下面的讨论中,可以通过act在序列/图片/条带/片/块级别确定是否应用特定的颜色空间(诸如,ycocg-r)。
[0246]
8.颜色通道(例如,y、cg、co)的qp调整(可能是不同颜色分量的qp之间的差异)对于act编解码块可能是常数。
[0247]
a.在一个示例中,对于ycocg颜色空间,y和cg通道的qp调整可以等于给定值k1。
[0248]
i.在一个示例中,k1可以是-5。
[0249]
ii.可替代地,co通道的qp调整可以等于另一个值k2。
[0250]
1.在一个示例中,k2可以是-1。
[0251]
b.在一个示例中,对于ycocg颜色空间,y的qp调整可以是k1,且cg的qp调整可以是(k1+o)。
[0252]
i.在一个示例中,k1可以是-5。
[0253]
ii.在一个示例中,o可以为6。
[0254]
c.在一个示例中,对于ycocg-r颜色空间,y的qp调整可以是k1,且cg的qp调整可以是(k1+o)。
[0255]
i.在一个示例中,k1可以是-5。
[0256]
ii.在一个示例中,o可以为6。
[0257]
d.在一个示例中,对于ycocg-r颜色空间,y和/或cg通道的qp调整可以是k1,co的qp调整可以是(k1+o)。
[0258]
i.在一个示例中,k1可以是-5。
[0259]
ii.可替代地,co通道的qp调整可以等于另一值k2。
[0260]
1.在一个示例中,k2可以是-1。
[0261]
e.在一个示例中,可以预先定义k1/o/k2。
[0262]
f.在一个示例中,k1/o/k2可以在视频单元(例如,序列/图片/条带/片/砖块/子图片)级中指示,诸如,在vps和/或dps和/或sps和/或pps和/或图片标头和/或条带标头。
[0263]
i.k1、k2和o中的至少两个可以被联合编解码或预测地编解码。
[0264]
9.y、co和cg颜色通道的qp调整可以由高级语法元素指示。
[0265]
a.在一个示例中,可以通过高级语法元素独立地指示针对y通道的qp调整、针对co通道的qp调整和针对cg通道的qp调整。
[0266]
b.在一个实例中,可在视频单元(例如,序列/图片/条带/片/砖块/子图片)级中指示针对y通道的qp调整、针对co通道的qp调整和针对cg通道的qp调整,诸如,在vps和/或dps和/或sps和/或pps和/或图片标头和/或条带标头。
[0267]
10.去块过程可能取决于颜色空间。
[0268]
a.在一个示例中,对于一种颜色空间的去块可以在对4:2:0颜色格式的去块之后,而对于另一种颜色空间的去块可以在对亮度分量的去块之后。
[0269]
i.在一个示例中,针对ycocg/ycocg-r颜色空间的去块可以在当前针对4:2:0颜色格式的去块之后。
[0270]
ii.在一个示例中,对gbr/rgb颜色空间中的所有分量的去块可以在当前对亮度分量的去块之后。
[0271]
b.是否和/或如何应用去块过程可能取决于是否应用了act。
[0272]
11.在针对块,act被启用时,可能ycocg-r变换始终被应用。
[0273]
a.在一个示例中,当ycocg-r被应用时,对于(y,co,cg)颜色通道,qp调整可能是(-5、3、1)。
[0274]
b.在一个示例中,当ycocg-r被应用时,变换跳过块的最低允许qp可以相同。
[0275]
i.在一个示例中,用于变换跳过块的最低允许qp可以是qpprimetsmin。
[0276]
12.变换跳过块的最低允许qp可能与是否应用act无关。
[0277]
a.在一个示例中,可以在将act编解码的块的qp调整剪切到给定范围之前,诸如max(qpprimetsmin,考虑了qp调整的导出qp),首先添加该qp调整。
[0278]
b.在一个示例中,变换跳过块的最低qp可以总是qpprimetsmin。
[0279]
13.在act被应用时,变换跳过块的最低允许qp可能取决于颜色通道。
[0280]
a.在一个示例中,不同的颜色通道可能对变换跳过块具有不同的最低允许qp。
[0281]
b.在一个示例中,y和cg通道可能对变换跳过块具有相同的最低允许qp。
[0282]
i.可替代地,co通道可能对变换跳过块具有另一最低允许qp。
[0283]
14.上述方法还可以应用于其他颜色空间,而不仅限于ycocg或ycocg-r颜色空间。
[0284]
15.建议仅启用jccr和工具x。
[0285]
a.工具x可以是变换跳过模式(例如,块的transform_skip_flag等于1)。
[0286]
b.工具x可以是基于块的增量脉冲编解码调制(bdpcm)模式(例如,块的intra_bdpcm_luma_flag等于1)。
[0287]
c.工具x可能是act。
[0288]
d.在工具x被启用时,在比特流中将省略jccr的使用的指示,并将其推断为禁用,反之亦然。
[0289]
16.是否启用编解码x和/或是否用信令发送x的辅助信息和/或使用的指示可能取决于与视频单元关联的量化参数(例如,条带/图片/子图片/片/砖块/块)。
[0290]
a.在一个示例中,如果量化参数大于(或不小于)阈值,则编解码工具x可以被禁用。
[0291]
b.在一个示例中,如果量化参数小于(或不大于)阈值,则编解码工具x可以被禁用。
[0292]
c.当编解码工具x被禁用时,可以省略x的辅助信息和/或使用的指示的信令。
[0293]
d.在一个示例中,编解码工具x可以是jccr、lmcs、act。
[0294]
5.其他实施方式
[0295]
5.1.实施例#1
[0296]
下面的更改以jvet-p2001-vb.docx为基础,以演示在act被使用时变换跳过块的最低qp(以粗体和斜体表示)。删除的文本用双括号标记(例如[[a]]表示字符“a”的删除)。
[0297]
8.7.3变换系数的缩放过程
[0298]
此过程的输入是:
[0299]

亮度位置(xtby,ytby),指定当前亮度转换块的左上样点相对于当前图片的左上亮度样点,
[0300]

变量ntbw,指定变换块的宽度,
[0301]

变量ntbh,指定变换块的高度,
[0302]

变量predmode,指定编解码单元的预测模式,
[0303]

变量cidx,指定当前块的颜色分量。
[0304]
此过程的输出是具有d[x][y]的缩放的变换系数的(ntbw)x(ntbh)数组d。
[0305]
量化参数qp的导出如下:
[0306]

如果cidx等于0,则以下条件适用:
[0307]
qp=qp
′yꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-936)
[0308]

否则,如果tucresmode

[xtby]][ytby]等于2,则以下条件适用:
[0309]
qp=qp

cbcr
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-937)
[0310]

否则,如果cidx等于1,则以下条件适用:
[0311]
qp=qp

cb
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-938)
[0312]

否则(cidx等于2),则以下条件适用:
[0313]
qp=qp

cr
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-939)
[0314]
量化参数qp被修改,且变量rectnontsflag和bdshift被导出如下:
[0315]

如果transform_skip_flag[xtby][ytby][cidx]等于0,则以下条件适用:
[0316]
qp=qp-(cu_act_enabled_flag[xtby][ytby]?5:0)
ꢀꢀꢀ
(8-940)
[0317]
rectnontsflag=(((log2(ntbw)+log2(ntbh))&1)==1
[0318]
(8-941)
[0319]
bdshift=bitdepth+(rectnontsflag?1:0)+((log2(ntbw)+log2(ntbh))/2)-5+pic_dep_quant_enabled_flag
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-942)
[0320]

否则,如果transform_skip_flag[xtby][ytby][cidx]等于1,则以下条件适用:
[0321][0322]
rectnontsflag=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-944)
[0323]
bdshift=10
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-945)
[0324]
变量bdoffset的导出如下:
[0325]
bdoffset=(1《《bdshift)》》1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-946)
[0326]
图14a是视频处理装置1400的框图。装置1400可用于实施本文描述的一种或多种方法。装置1400可以具体体现在智能手机、平板电脑、计算机、物联网(iot)接收器等中。装置1400可以包括一个或多个处理器1402、一个或多个存储器1404和视频处理硬件1406。一个或多个处理器1402可以被配置成实施本文档中描述的一种或多种方法。一个或多个存储器1404可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件1406可以用于在硬件电路中实施本文档中描述的一些技术。
[0327]
图14b是其中可以实施所公开的技术的视频处理系统的框图的另一个示例。图14b是示出示例视频处理系统1400的框图,其中可以实施本文公开的各种技术。各种实施可以包括系统1400的一些或全部组件。系统1400可以包括用于接收视频内容的输入1402。视频内容可以以原始或未压缩格式接收,例如8或10比特多分量像素值,或者可以以压缩或编码格式接收。输入1402可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(pon)等的有线接口,和诸如wi-fi或蜂窝接口的无线接口。
[0328]
系统1400可以包括编解码组件1414,其可以实施本文档中描述的各种解码或编码方法。编解码组件1414可以降低从输入1412到编解码组件1414的输出的视频的平均比特率,以生成视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件1414的输出可以被存储,或者通过连接的通信(如组件1416所示)被传输。组件1418可以使用在输入端1412接收的视频的存储的或传达的比特流(或编码的)表示,以用于生成发送到显示接口1420的像素值或可显示的视频。从比特流表示生成用户可观看的视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是应当理解,编解码工具或操作在编码器处使用,并且将由解码器来执行与编解码的的结果相反的相对应的解码工具或操作。
[0329]
外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清晰度多媒体接口(hdmi)或显示端口等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以具体体现在各种电子设备中,诸如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。
[0330]
在一些实施例中,视频编解码方法可使用在如关于图14a或14b所描述的硬件平台上实现的装置来实现。
[0331]
所公开的技术的一些实施例包括做出启用视频处理工具或模式的决定或确定。在一个示例中,当启用视频处理工具或模式时,编码器将在视频块的处理中使用或实施该工具或模式,但是不一定基于该工具或模式的使用来修改得到的比特流。也就是说,当视频处理工具或模式基于决定或确定而启用时,从视频块到视频的比特流表示的转换将使用该视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在知道比特流已经基于视频处理工具或模式被修改的情况下处理比特流。也就是说,将使用基于决定或确定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。
[0332]
所公开的技术的一些实施例包括做出禁用视频处理工具或模式的决定或确定。在一个示例中,当禁用视频处理工具或模式时,编码器将不会在视频块到视频的比特流表示的转换中使用该工具或模式。在另一个示例中,当禁用视频处理工具或模式时,解码器将在知道比特流没有被使用基于决定或确定而启用的视频处理工具或模式修改的情况下处理比特流。
[0333]
本文中描述的所公开的和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路或计算机软件、固件或硬件中实现,包括本文中公开的结构及其结构等效物、或者其一个或多个的组合。公开的实施例和其他实施例可以实现为一个或多个计算机程序产品,即一个或多个编码在计算机可读介质上的计算机程序指令的模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机组。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或其中一个或多个的组合。传播信号是人为产生的信号,例如机器产生的电信号、光学信号或电磁信号,生成这些信号以对信息进行编码,以便传输到适当的接收装置。
[0334]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
[0335]
本文中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
[0336]
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光磁盘;以及cdrom和dvd-rom光盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
[0337]
图15是图示可以利用本公开的技术的示例视频编码系统100的框图。
[0338]
如图15所示,视频编码系统100可包含源装置110和目的地装置120。源装置110生成编码视频数据,其可以被称为视频编码装置。目的地装置120可以将由源装置110生成的编码视频数据解码,该目的地装置120可以被称为视频解码设备。
[0339]
源装置110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。
[0340]
视频源112可以包括源,诸如视频捕获装置、从视频内容提供商接收视频数据的接口、和/或生成视频数据的计算机图形系统、或诸如此类源的组合。视频数据可以包括一个
或多个图片。视频编码器114编码来自视频源112的视频数据,以生成比特流。比特流可以包括形成视频数据的编码表示的比特的序列。比特流可以包括编码的图片和相关联的数据。编码图片是图片的编码表示。相关联的数据可以包括序列参数集合、图片参数集合和其他语法结构。i/o接口116可以包括调制器/解调器(调制解调器)和/或发送器。编码的视频数据可以通过网络130a经由i/o接口116直接发送到目的地装置120。编码的视频数据还可以存储到存储介质/服务器130b上,以供目的地装置120存取。
[0341]
目的地装置120可以包括i/o接口126、视频解码器124和显示装置122。
[0342]
i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源装置110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以解码该编码的视频数据。显示装置122可以向用户显示解码的视频数据。显示装置122可以与目的地装置120集成,或者可以在目的地装置120外部,该目的地装置120配置为与外部显示装置连接。
[0343]
视频编码器114和视频解码器124可以根据视频压缩标准来操作,诸如高效视频编码(hevc)标准、多功能视频编码(vvc)标准、以及其他当前和/或其他标准。
[0344]
图16是图示视频编码器200的示例的框图,其可以是图15所图示的系统100中的视频编码器114。
[0345]
视频编码器200可以配置为执行本公开的任何或全部技术。在图16的示例中,视频编码器200包括多个功能组件。本公开中所描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可经配置以执行本发明中所描述的任何或所有技术。
[0346]
视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203)、运动估计单元204、运动补偿单元205和帧内预测单元206、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲器213和熵编解码单元214。
[0347]
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在示例中,预测单元202可以包括帧内块复制(ibc)单元。ibc单元可以在ibc模式下执行预测,其中至少一个参考图片是当前视频块所在的图片。
[0348]
此外,诸如运动估计单元204和运动补偿单元205之类的一些组件可以被高度地集成,但是出于解释目的在图16的示例中分别呈现。
[0349]
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
[0350]
模式选择单元203可以例如基于错误结果选择帧内或帧间的编码模式中的一个,并且将得到的帧内或帧间编解码块提供给残差生成单元207以生成残差块数据且提供给重构单元212以重构编解码块来用作参考图片。在一些示例中,模式选择单元203可以选择组合帧内和帧间预测(ciip)模式,在该模式中,该预测是基于帧间预测信令通知和帧内预测信令通知。模式选择单元203还可以在帧间预测的情况下为块选择运动矢量的分辨率(例如,子像素或整数个像素精度)。
[0351]
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213中除与当前视频块相关联的图片以外的图片的运动信息和解码样点,来确定当前视频块的预测的视频块。
[0352]
运动估计单元204和运动补偿单元205可以例如取决于当前视频块是在i条带、p条带还是b条带中,来为当前视频块执行不同的操作。
[0353]
在一些示例中,运动估计单元204可以为当前视频块执行单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。然后,运动估计单元204可以生成参考索引和运动矢量,该参考索引指示包含参考视频块的列表0和列表1中的参考图片,且该运动矢量指示当前视频块与参考视频块之间的空域位移。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于当前视频的运动信息所指示的参考视频块来生成当前块的预测的视频块。
[0354]
在其他示例中,运动估计单元204可以为当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中的参考图片中搜索当前视频块的另一参考视频块。然后,运动估计单元204可以生成参考索引和运动矢量,该参考索引指示包含参考视频块的列表0和列表1中的参考图片,且该运动矢量指示参考视频块与当前视频块之间的空域位移。运动估计单元204可以输出参考索引和当前视频块的运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息所指示的参考视频块来生成当前视频块的预测的视频块。
[0355]
在一些示例中,运动估计单元204可以输出运动信息的完整集合,以用于解码器的解码处理。
[0356]
在一些示例中,运动估计单元204可以不输出当前视频的运动信息的完整集合。相反,运动估计单元204可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与临近视频块的运动信息充分相似。
[0357]
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示一个值,该值向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息。
[0358]
在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中识别另一个视频块和运动矢量差(mvd)。运动矢量差指示当前视频块的运动矢量与指示的视频块的运动矢量之间的差异。视频解码器300可以使用指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
[0359]
如上所讨论,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实现的预测性信令通知技术的两个示例包括高级运动矢量预测(amvp)和merge模式信令通知。
[0360]
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于相同图片中的其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测的视频块和各种语法元素。
[0361]
残差生成单元207可以通过从当前视频块中减去(例如,用负号表示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括与当前视频块中的样点的不同样点分量相对应的残差视频块。
[0362]
在其他示例中,对于当前视频块可以没有当前视频块的残差数据,例如在跳过模
式下,并且残差生成单元207可以不执行减法运算。
[0363]
变换处理单元208可通过将一或多个变换应用到与当前视频块相关联的残差视频块,来生成当前视频块的一个或多个变换系数视频块。
[0364]
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(qp)值来量化与当前视频块相关联的变换系数视频块。
[0365]
逆量化单元210和逆变换单元211可分别将逆量化和逆变换应用到变换系数视频块,来从变换系数视频块重构残差视频块。重构单元212可以将重构的残差视频块添加到由预测单元202生成的一个或多个预测的视频块的对应样点,以产生与当前块相关联的重构视频块,以存储在缓冲器213中。
[0366]
在重构单元212重构视频块之后,可以执行环路滤波操作以减少视频块中的视频块效应(blocking artifact)。
[0367]
熵编解码单元214可从视频编码器200的其他功能组件接收数据。当熵编解码单元214接收数据时,熵编解码单元214可以执行一个或多个熵编码操作,以生成熵编码数据并且输出包括熵编码数据的比特流。
[0368]
图17是图示视频解码器300的示例的框图,该视频解码器300可以是图15所图示的系统100中的视频解码器114。
[0369]
视频解码器300可以配置为执行本公开的任何或全部技术。图17的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些实例中,处理器可以配置为执行本发明中所描述的任何或所有技术。
[0370]
在图17的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、以及重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行解码处理(pass),其总体上与关于视频编码器200(例如,图16)所描述的编码处理互逆。
[0371]
熵解码单元301可以取回编码的比特流。编码的比特流可以包括熵编码的视频数据(例如,视频数据的编解码块)。熵解码单元301可以解码该熵编码的视频数据,并且由熵解码的视频数据,运动补偿单元302可以确定运动信息,包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息。运动补偿单元302可以例如通过执行amvp和merge模式来确定这样的信息。
[0372]
运动补偿单元302可产生运动补偿的块,可能基于插值滤波器执行插值。以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
[0373]
运动补偿单元302可以在视频块的编码期间使用如视频编码器20所使用的插值滤波器,以计算参考块的子整数个像素的插值的值。运动补偿单元302可以根据接收的语法信息来确定视频编码器200所使用的插值滤波器,并且使用该插值滤波器来生成预测块。
[0374]
运动补偿单元302可以使用一些语法信息来确定:用于对编码的视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,描述编码的视频序列的图片的每个宏块如何被分割的分割信息,指示如何编码每个分割的模式、每个帧间编码的块的一个或多个参考帧(和参考帧列表)、以及解码编码视频序列的其他信息。
[0375]
帧内预测单元303可以使用例如在比特流中所接收的帧内预测模式,以由空域相
邻块形成预测块。逆量化单元303逆量化(即,反量化(de-quantize))该量化的视频块系数,其在比特流中提供且由熵解码单元301解码。逆变换单元303应用逆变换。
[0376]
重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应的预测块相加,以形成解码块。如果需要,去方块滤波器还可以应用于滤波解码的块,以便移除块效应。然后,将解码的视频块存储在缓冲器307中,该缓冲器为随后的运动补偿提供参考块。
[0377]
在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,可以在从视频的像素表示到相应的比特流表示的转换期间应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可以例如对应于在比特流内共位或在比特流中不同位置扩展的比特。例如,可以根据变换的和编解码的误差残差值并且还使用头部中的比特和比特流中的其他字段来对宏块进行编码。
[0378]
使用条款列表进一步描述了本文档中描述的各种解决方案和实施例。第一组条款显示了前面各节中讨论的技术的示例实施例。
[0379]
前面各节中的项目1提供了以下条款的其他示例。
[0380]
1.一种视频处理的方法,包括:由于双树分割结构被用于在视频单元和视频单元的比特流表示之间的转换,确定对视频单元禁用自适应颜色空间变换(act)的使用;以及基于该确定,通过对视频单元禁用act来执行转换。
[0381]
2.根据条款1的方法,其中,比特流表示排除用于提供关于act的使用的信息的比特。
[0382]
前面各节中的项目2提供了以下条款的其他示例。
[0383]
1.一种视频处理的方法,包括:由于环内整形器被启用以用于视频单元和视频单元的比特流表示之间的转换,确定针对转换禁用自适应颜色空间变换(act);以及基于确定,通过对视频单元禁用act来执行转换。
[0384]
2.根据条款1的方法,其中,比特流表示包括用于提供关于ilr的使用的信息的比特。
[0385]
前面各节中的项目3提供了以下条款的其他示例。
[0386]
3.一种视频处理方法。包括:由于编解码工具被用于视频单元和视频单元的比特流表示之间的转换,确定针对转换,自适应颜色空间变换工具被禁用;以及基于确定,通过对视频单元禁用act来执行转换。
[0387]
4.根据条款3的方法,其中,编解码工具对应于交叉分量线性模型工具。
[0388]
5.根据条款3的方法,其中,编解码工具对应于联合色度残差编解码。
[0389]
6.根据条款3的方法,其中,编解码工具对应于多变换选择(mts)编解码工具。
[0390]
前面各节中的项目4提供了以下条款的其他示例。
[0391]
7.一种视频处理方法,包括:确定双重树分割结构和自适应颜色空间变换(act)编解码工具都被用于视频单元和视频单元的比特流表示之间的转换;以及根据确定,通过针对视频单元启用act来执行转换。
[0392]
8.根据条款7的方法,其中,比特流表示包括在视频块级的双分割树结构的信令,视频块级是比视频单元级更细的级别。
[0393]
前面各节中的项目5提供了以下条款的其他示例。
[0394]
9.一种视频处理方法,包括:确定环内重整(ilr)和自适应颜色空间变换(act)编解码工具都被用于视频单元和视频单元的比特流表示之间的转换;以及基于确定使用ilr和act编解码工具执行转换。
[0395]
10.根据条款9的方法,其中,执行转换包括:在编码期间,首先应用act编解码工具,然后在应用act的情况下应用ilr。
[0396]
11.根据条款9的方法,其中,执行转换包括:首先应用ilr,然后将逆颜色空间变换应用于ilr的结果。
[0397]
前面各节中的项目6提供了以下条款的其他示例。
[0398]
12.一种视频处理方法,包括:确定(sbt)和自适应颜色空间变换(act)编解码工具都用于视频单元和视频单元的比特流表示之间的转换;以及基于确定,使用sbt和act编解码工具执行转换。
[0399]
13.根据条款12的方法,其中,转换期间的预测误差被从rgb颜色空间变换为ycocg颜色空间。
[0400]
14.根据条款13的方法,其中,在变换之后,使用至少两个变换单元(tu)分割对预测误差进行编解码。
[0401]
前面各节中的项目7提供了以下条款的其他示例。
[0402]
15.根据以上条款中任一项的方法,其中,视频单元包括条带或片或砖块或图片。
[0403]
16.根据条款15的方法,其中,确定是在子视频单元级执行的,其中,子单元级对应于编解码单元(cu)或变换单元(tu)。
[0404]
17.根据条款16的方法,其中,在子视频单元级的确定是基于子单元级的编码特性的。
[0405]
18.根据条款17的方法,其中,编码特性包括cu的尺寸和/或tu的尺寸和/或cu的尺寸与tu的尺寸之间的关系。
[0406]
19.根据以上条款中任一项的方法,其中,转换包括解码比特流表示以生成视频单元。
[0407]
20.根据以上条款中任一项的方法,其中,转换包括将视频单元编码为比特流表示。
[0408]
21.一种视频编码器装置,包括处理器,该处理器被配置为实现以上条款中的任何一个或多个的方法。
[0409]
22.一种视频解码器装置,包括处理器,该处理器被配置为实现以上条款中的任何一个或多个的方法。
[0410]
23.一种计算机可读介质,其具有用于实现存储在其上的以上任何一个或多个条款中描述的方法的代码。
[0411]
第二组条款描述了前面各节中公开的技术的某些特征和方面(例如,项目8至15)。
[0412]
1.一种视频处理方法(例如,图18a所示的方法1810),包括:对于包括当前视频块的视频的视频分量和视频的比特流表示之间的转换,基于当前视频块的规则确定(1812)自适应颜色空间变换(act)工具被使用;以及根据确定执行(1814)转换,以及其中,规则指定为当前视频块的一个或多个颜色分量中的每一个使用相同的恒定量化参数(qp)偏移。
[0413]
2.根据条款1的方法,其中,act工具包括在两个颜色空间之间变换视觉信号的表
示。
[0414]
3.根据条款1的方法,其中,规则指定对于第一颜色空间,用于亮度和第一色度通道的qp偏移等于k1,其中,k1是整数。
[0415]
4.根据条款3的方法,其中,规则指定用于第二通道的qp偏移等于k2,其中,k2是整数。
[0416]
5.根据条款3或4的方法,其中,k1为-5并且k2为-1。
[0417]
6.根据条款4或5的方法,其中,第一颜色空间是ycgco颜色空间,第一色度通道是cg通道,并且第二色度通道是co通道。
[0418]
7.根据条款1的方法,其中,规则指定对于第一颜色空间,用于亮度通道的qp偏移等于k1,并且用于第一色度通道的qp偏移为k1+o,其中,k1和o为整数。
[0419]
8.根据条款7的方法,其中,k1是-5并且o是6。
[0420]
9.根据条款1的方法,其中,规则指定对于第一颜色空间,用于亮度通道的qp偏移等于k1,而用于第二通道的qp偏移等于k1+o,其中,k1和o是整数。
[0421]
10.根据条款7-9中的任一项的方法,其中,规则指定用于第二通道的qp偏移等于k2,其中,k2是不同于k1的整数。
[0422]
11.根据条款10的方法,其中,k2为3。
[0423]
12.根据条款7至11中的任一项的方法,其中,第一颜色空间是ycgco或ycgco-r颜色空间,第一色度通道是cg通道,并且第二色度通道是co通道。
[0424]
13.根据条款7至11中的任一项的方法,其中,第一颜色空间是ycbcr颜色空间,第一色度通道是cr通道,并且第二色度通道是cb通道。
[0425]
14.根据条款3至13中的任一项的方法,其中,预先定义了k1、k2或o中的至少一个。
[0426]
15.根据条款3至13中的任一项的方法,其中,在视频单元级的比特流表示中指示k1、k2或o中的至少一个。
[0427]
16.根据条款3至13中的任一项的方法,其中,k1、k2和o中的至少两个被联合编解码或预测地编解码。
[0428]
17.根据条款1的方法,其中,用于y颜色通道的qp偏移、用于co颜色通道的qp偏移和用于cg颜色通道的qp偏移由高级语法元素独立地指示在比特流表示中。
[0429]
18.根据条款1的方法,其中,用于y颜色通道的qp偏移、用于co颜色通道的qp偏移和用于cg颜色通道的qp偏移被以视频单元级指示在比特流表示中。
[0430]
19.根据条款1的方法,其中,由于使用了act工具,将颜色变换应用于当前视频块。
[0431]
20.根据条款1的方法,还包括:
[0432]
确定变换跳过过程被用于当前视频块;
[0433]
基于确定将qp偏移添加到原始qp,以导出每个颜色通道的更新的qp;以及
[0434]
将所更新的qp剪切到预定范围内。
[0435]
21.根据条款20的方法,其中,相同的最低允许qp被用于导出颜色通道的所更新的qp。
[0436]
22.根据条款21的方法,其中,将相同的最低允许qp设置为qpprimetsmin。
[0437]
23.根据条款20的方法,其中,最低允许qp独立于act工具的适用性。
[0438]
24.根据条款23的方法,其中,最低允许qp始终被设置为qpprimetsmin。
[0439]
25.一种视频处理方法(例如,如图18b所示的方法1820),包括:对于视频的视频块和视频的比特流表示之间的转换,确定(1822)是否和/或如何根据规则应用去块过程;以及基于确定执行(1824)转换,其中,规则指定去块过程取决于:i)自适应颜色空间变换(act)的启用状态,在act中,视觉信号的表示在两个颜色空间之间进行了变换,或ii)用于表示像素的样点的颜色空间。
[0440]
26.根据条款25的方法,其中,规则还指定:对于第一颜色空间的去块在对于4:2:0颜色格式的去块之后,且对于第二颜色空间的去块在对于亮度分量的去块之后。
[0441]
27.根据条款26的方法,其中,第一颜色空间对应于ycocg颜色空间或ycocg-r颜色空间,并且第二颜色空间对应于gbr或rgb颜色空间。
[0442]
28.一种视频处理方法(例如,如图18c所示的方法1830),包括:对于视频的当前视频块和视频的编解码表示之间的转换,确定(1832)由于使用自适应颜色空间变换(act)编解码工具而执行颜色变换;以及根据确定执行(1834)转换。
[0443]
29.根据条款28的方法,其中,颜色变换包括应用ycocg_r变换。
[0444]
30.根据条款28的方法,其中,由于act编解码工具的所用,用于y、co、cg颜色通道的量化参数(qp)偏移为(-5、3、1)。
[0445]
31.根据条款28的方法,其中,规则还指定对使用变换跳过模式编解码的另一视频块使用相同的最低允许qp。
[0446]
32.根据条款31的方法,其中,最低允许qp是qpprimetsmin。
[0447]
33.一种视频处理方法(例如,如图18d所示的方法1840),包括:根据规则执行(1842)包含一个或多个视频块的视频与视频的比特流表示之间的转换,其中,规则指定,对于使用变换跳过模式编解码的视频块,最低允许量化参数(qp)与自适应颜色空间变换(act)工具对视频块的适用性无关。
[0448]
34.根据条款33的方法,其中,规则还指定针对视频块的量化参数(qp)调整在被剪切到给定范围之前被添加。
[0449]
35.根据条款33的方法,其中,规则还指定最低允许qp始终为qpprimetsmin。
[0450]
36.一种视频处理方法,包括:根据规则执行包含一个或多个视频块的视频与视频的比特流表示之间的转换,其中,规则指定:对于使用变换跳过模式编解码的视频块,最低允许量化参数(qp)取决于颜色通道。
[0451]
37.根据条款36的方法,其中,规则指定针对不同的颜色通道使用不同的最低允许qp。
[0452]
38.根据条款36的方法,其中,规则指定针对y通道和cg通道使用相同的最低允许qp。
[0453]
39.根据前述条款中的任一项的方法,其中,规则被应用于包括ycocg颜色空间、ycbcr颜色空间或ycocg-r颜色空间的任何颜色空间。
[0454]
40.一种视频处理方法(例如,如图18e所示的方法1850),包括:确定(1852)排除规则适用于视频的视频区域和视频的比特流表示之间的转换,其中,排除规则指定:针对视频区域,转换不允许使用编解码工具和色度残差的联合编解码(jccr)工具;以及基于确定执行(1854)转换。
[0455]
41.根据条款40的方法,其中,编解码工具是变换跳过模式,变换跳过模式包括:在
编码期间对视频块的残差进行编码而无需应用非标识变换,或者在解码期间,确定解码后的视频块而无需将非标识逆变换应用到在比特流表示中编解码的残差。
[0456]
42.根据条款40的方法,其中,编解码工具是基于块的增量脉冲编解码调制(bdpcm)模式,其对应于在块级使用差分脉冲编解码调制(dpcm)的帧内编解码工具。
[0457]
43.根据条款40的方法,其中,编解码工具是自适应颜色空间变换(act)工具,在act中,在两个颜色空间之间变换视觉信号的表示。
[0458]
44.根据条款40的方法,其中,比特流表示省略了对jccr工具的使用的指示,并且在编解码工具被启用的情况下,推断jccr工具被禁用。
[0459]
45.根据条款40的方法,其中,在启用jccr工具的情况下,比特流表示省略了对编解码工具的使用的指示并且被推断为被禁用。
[0460]
46.一种视频处理方法(例如,如图18d所示的方法1840),包括:对于视频的视频单元和视频的比特流表示之间的转换,基于用于视频单元的转换的量化参数,确定(1852)编解码工具的适用性和/或是否用信令通知编解码工具的信息和/或使用的指示;以及基于确定执行(1854)转换。
[0461]
47.根据条款46的方法,其中,在量化参数大于或不小于阈值的情况下,禁用编解码工具。
[0462]
48.根据条款46的方法,其中,在量化参数小于或不大于阈值的情况下,禁用编解码工具。
[0463]
49.根据条款46的方法,其中,在编解码工具被禁用的情况下,比特流表示省略了编解码工具的信息和/或使用的指示。
[0464]
50.根据条款46的方法,其中,编解码工具对应于色度残差的联合编解码(jccr)工具、具有色度缩放的亮度映射(lmcs)或自适应颜色空间变换(act)工具。
[0465]
51.根据条款1至50中的任一项的方法,其中,转换包括将视频编码为比特流表示。
[0466]
52.根据条款1至50中的任一项的方法,其中,转换包括从比特流表示中解码视频。
[0467]
53.一种视频处理装置,包括:处理器,其被配置为实现条款1至52中的任一项或多项的方法。
[0468]
54.一种存储程序代码的计算机可读介质,程序代码在被执行时使处理器实现根据条款1至52中的任一项或多项的方法。
[0469]
55.一种计算机可读介质,其存储根据上述方法中的任何一种方法生成的编解码表示或比特流表示。
[0470]
从前述内容,将会理解,为了说明的目的,这里已经描述了当前公开的技术的具体实施例,但是在不脱离本发明的范围的情况下,可以进行各种修改。因此,除了所附权利要求之外,当前公开的技术不受限制。
[0471]
本专利文件中描述的主题和功能操作的实施可以在各种系统、数字电子电路或计算机软件、固件或硬件中实施,包括本说明书中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本说明书中描述的主题的实施可以被实施为一个或多个计算机程序产品,即,编码在有形和非暂时性计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储器设备、实施机器可读传播信号的物质组合、或者它们中的
一个或多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
[0472]
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中、专用于所讨论的程序的单个文件中、或在多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以被部署为在一台计算机上、或者位于一个站点或跨多个站点分布并通过通信网络互连的多台计算机上执行。
[0473]
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器来执行,该可编程处理器执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路来执行,例如,现场可编程门阵列或专用集成电路,并且装置也可以被实施为该专用逻辑电路。
[0474]
举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本要素是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),以从其接收数据或向其传送数据、或两者兼有。然而,计算机不需要这样的设备。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如,eprom、eeprom和闪速存储器设备。处理器和存储器可以由专用逻辑电路来补充或并入专用逻辑电路。
[0475]
意图说明书以及附图仅被认为是示例性的,其中示例性意味着示例。如这里所使用的,“或”的使用意图包括“和/或”,除非上下文清楚地另外指明。
[0476]
尽管本专利文件包含许多细节,但这些不应被解释为对任何发明或所要求保护的范围的限制,而是对特定发明的特定实施例的特定特征的描述。本专利文件中在单独实施例的上下文中描述的一些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独实施或者在任何合适的子组合中实施。此外,尽管特征可以在上文中被描述为在一些组合中起作用,并且甚至最初被如此要求保护,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变型。
[0477]
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该理解为要求以所示的特定顺序或序列顺序执行这些操作,或者要求执行所有示出的操作,以获得期望的结果。此外,本专利文件中描述的实施例中的各种系统组件的分离不应理解为在所有实施例中都需要这种分离。
[0478]
仅描述了几个实施和示例,并且可以基于本专利文件中描述和示出的内容做出其
他实施、增强和变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1