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

视频编解码中缩减二次变换的矩阵的选择的制作方法

2022-03-19 18:25:05 来源:中国专利 TAG:

视频编解码中缩减二次变换的矩阵的选择
1.相关申请的交叉引用
2.根据适用的专利法和/或巴黎公约的规定,提出本技术是为了及时要求于2019年8月3日提交的国际专利申请第pct/cn2019/099158号的优先权和权益。出于法律的所有目的,上述申请的全部公开内容通过引用并入作为本技术的公开内容的一部分。
技术领域
3.本专利文档涉及视频处理技术、装置和系统。


背景技术:

4.尽管视频压缩不断发展,数字视频仍然占据因特网和其它数字通信网络上的最大的带宽使用。随着能够接收和显示视频的所连接的用户装置的数量增加,预计数字视频使用的带宽需求将继续增长。


技术实现要素:

5.装置、系统和方法涉及数字视频编解码,并且具体涉及视频编解码中残差编解码的上下文建模。描述的方法可以应用到现有的视频编解码标准(例如,高性能视频编解码(hevc))以及未来视频编解码标准或视频编解码二者。
6.在一个代表性方面,所公开的技术可以用来提供视频处理的方法。该方法包括:对于视频的视频单元的当前视频块与视频的编解码表示之间的转换,为使用一定的帧内预测模式编解码的视频单元确定默认帧内预测模式,使得在不沿着方向外推当前视频块的邻域像素的情况下生成当前视频块的预测块;以及基于该确定执行转换。
7.在另一个代表性方面,所公开的技术可以用来提供视频处理的方法。该方法包括:使用规则来确定视频的亮度块覆盖视频的色度块的预定位置;以及基于该确定执行视频与视频的编解码表示之间的转换,其中,以使用帧内预测模式的编解码表示来表示色度块。
8.在又一个代表性方面,所公开的技术可以用来提供视频处理的方法。该方法包括:使用规则来基于与色度块对应的亮度块的编解码模式导出视频的色度块的帧内预测模式;以及基于导出的帧内预测模式来执行亮度块与视频的编解码表示之间的转换,其中,规则指定使用默认帧内预测模式以防亮度块的编解码模式是一定的帧内预测模式,其中在不沿着方向外推亮度块的邻域像素的情况下生成亮度块的预测块。
9.在又一个代表性方面,所公开的技术可以用来提供视频处理的方法。该方法包括:对于视频的色度块,做出是否将非正常的色度帧内预测模式应用到视频的所述色度块的第一确定;对于对应于色度块的亮度块,做出将亮度帧内预测模式应用到亮度块的第二确定;基于亮度帧内预测模式做出将变换集或变换矩阵应用到色度块的第三确定;以及根据第三确定执行视频与视频的编解码表示之间的转换,并且其中非正常的色度帧内预测模式包括在不使用沿着色度预测方向外推的邻域像素值的情况下编解码色度块。
10.在又一个代表性方面,所公开的技术可以用来提供视频处理的方法。该方法包括:
对于视频的色度块,做出对应于色度块的亮度块是使用非正常的亮度帧内预测模式来编解码的第一确定;基于第一确定,根据规则做出色度块的变换集或变换矩阵的第二确定;以及根据第二确定执行视频与视频的编解码表示之间的转换,并且其中,该规则指定了由于亮度块是使用非正常的亮度帧内预测模式来编解码的因而与色度块相关联的一个或多个默认模式或默认变换集确定变换集或变换矩阵,以防色度块是使用非正常的色度帧内预测模式来编解码的,其中,非正常的亮度帧内预测模式包括在不使用沿着色度预测方向外推的邻域像素值的情况下编解码亮度块。
11.在又一个代表性方面,所公开的技术可以用来提供视频处理的方法。该方法包括:对于视频的当前视频块与视频的编解码表示之间的转换,基于以下中的至少一个确定向一个色彩分量的当前视频块应用第二变换工具的适用性:1)另一个色彩分量的对应块的编解码模式,或2)当前视频块的编解码模式;以及基于确定来执行转换,并且其中,使用二次变换工具:在编码期间,在量化之前将前向二次变换应用到向当前视频块的残差应用的前向一次变换的输出,或解码期间,在应用反向一次变换之前,将反向一次变换应用到当前视频块的去量化的输出。
12.在又一个代表性方面,所公开的技术可以用来提供视频处理的方法。该方法包括:对于视频的色度块,做出覆盖色度块的预定义位置的亮度块是使用非正常的亮度帧内预测模式编码的第一确定;基于第一确定,做出第二确定以由于色度块是使用非正常的亮度帧内预测模式编码的因而将预定义帧内预测模式应用到色度块;以及根据第二确定来执行视频与视频的编解码表示的转换,其中,非正常的亮度帧内预测模式包括在不使用沿着亮度预测方向外推的邻域像素值的情况下编码亮度块。
13.在又一个代表性方面,所公开的技术可以用来提供视频处理的方法。该方法包括:对于视频的色度块,做出覆盖色度块的预定义位置的亮度块是使用正常亮度帧内预测模式编码的第一确定;基于第一确定,做出第二确定以基于亮度块的正常亮度帧内预测模式导出色度帧内预测模式;以及根据第二确定来执行视频与视频的编解码表示的转换,其中,正常亮度帧内预测模式包括使用沿着亮度预测方向外推的邻域像素值编码亮度块。
14.在又一个代表性方面,上述方法以处理器可执行代码的形式实施并存储在计算机可读介质中。
15.在又一个代表性方面,公开了配置或可操作为执行上述方法的装置。装置可以包括编程以实现该方法的处理器。
16.在又一个代表性方面,视频解码器设备可以实现本文中所描述的方法。
17.公开的技术的上述或其他方面和特征将在附图、说明书和权利要求书中更为详细地描述。
附图说明
18.图1示出了示例编码器的框图。
19.图2示出了67个帧内预测模式的示例。
20.图3示出了4
×
4块的alwip的示例。
21.图4示出了8
×
8块的alwip的示例。
22.图5示出了8
×
4块的alwip的示例。
23.图6示出了16
×
16块的alwip的示例。
24.图7示出了邻域预测块的四个参考行的示例。
25.图8示出了4
×
8块和8
×
4块的划分的示例。
26.图9示出了除4
×
8、8
×
4、4
×
4以外的所有块的划分的示例。
27.图10示出了jem中二次变换的示例。
28.图11示出了提出的缩减二次变换(rst)的示例。
29.图12示出了前向和反向缩减变换的示例。
30.图13示出了使用16
×
48矩阵的前向rst 8
×
8过程的示例。
31.图14示出了8
×
8矩阵的归零区域的示例。
32.图15示出了子块变换模式sbt-v和sbt-h的示例。
33.图16示出了4
×
4编解码组的对角向右上方扫描顺序的示例。
34.图17示出了具有4
×
4尺寸编解码组的8
×
8块的对角向右上方扫描顺序的示例。
35.图18示出了用于选择概率模型的模板的示例。
36.图19示出了用于相关量化的两个标量量化器的示例。
37.图20示出了用于提出的相关量化过程的状态变换和量化器选择的示例。
38.图21是具有4编解码组的8
×
8块的示例。
39.图22a至22f示出了视频处理的示例方法的流程图。
40.图23a和23b是实现本文档描述的可视媒体解码或可视媒体编码技术的硬件平台的示例的框图。
41.图24a和24b示出了双树分割下的一个色度块和其对应的亮度块的示例。
42.图25示出了从对应亮度块的导出dm的

cr’位置的示例。
43.图26a至26c示出了视频处理的示例方法的流程图。
44.图27a至27e示出了视频处理的示例方法的流程图。
具体实施方式
45.所公开的技术的实施例可以应用到现有视频编解码标准(例如,hevc、h.265)和未来标准以改善压缩性能。章节标题用在本文档中来改善说明书的可读性,并且不以任何方式将讨论和实施例(和/或实现方式)仅限制于相应章节。
46.2视频编解码介绍
47.由于对更高分辨率视频的需求不断增长,视频编解码方法和技术普遍存在于当代技术中。视频编解码典型地包括压缩或解压缩数字视频的电子电路或软件,并且继续地改进以提供更高编解码效率。视频编解码将未压缩视频转换成压缩格式或反之亦然。在视频质量、用于表示视频的(由比特率确定的)数据量、编码和解码算法的复杂度、对数据丢失和错误的灵敏度、易于编辑、随机存取以及端到端延迟(等待时间)之间存在复杂的关系。压缩格式通常符合标准视频压缩规范,例如,高性能视频编解码(hevc)标准(还称为h.265或mpeg-h第2部分)、待制定的通用视频编解码标准、或者其他当前和/或未来视频编解码标准。
48.视频编解码标准主要是通过众所周知的itu-t和iso/iec标准的发展而得以演进。itu-t制作了h.261和h.263标准,iso/iec制作了mpeg-1和mpeg-4visual标准,并且两个组
织联合制作了h.262/mpeg-2视频标准和h.264/mpeg-4高级视频编解码(advanced video coding,avc)标准和h.265/hevc标准。从h.262开始,视频编解码标准基于混合视频编解码结构,其中利用时域预测加变换编解码。为了探索hevc之外的未来视频编解码技术,由vceg和mpeg于2015年联合成立联合视频探索团队(jvet)。从那时起,jvet采用了许多新方法并将其纳入名为联合探索模型(jem)的参考软件[3][4]。2018年4月,vceg(q6/16)和iso/iec jtc1 sc29/wg11(mpeg)之间的联合视频专家团队(jvet)成立,致力于vvc标准,目标是与hevc相比降低50%比特率。
[0049]
2.1典型视频编解码的编解码流程
[0050]
图1示出了vcc的编码器框图的示例,其包含三个环路滤波块:去块化滤波器(df)、样点自适应偏移(sao)和alf。不同于使用预定义滤波器的df,在编解码边信息信令通知偏移和滤波器系数的情况下,sao和alf分别通过添加该偏移和通过应用有限脉冲响应(fir)滤波器,利用当前图片的原始样点来降低原始样点与重构样点之间的均方差。alf被定位在每个图片的最后处理阶段并可以视为尝试捕捉和修复由先前阶段创建的伪影的工具。
[0051]
2.2 vvc中的帧内编解码
[0052]
2.2.1用67个帧内预测模式进行帧内模式编解码
[0053]
为了捕获自然视频中出现的任意边缘方向,方向性帧内模式的数目从33个(如hevc中所使用的)扩展到65个。附加的方向性模式在图2以虚线箭头来描绘,并且平面和dc模式保持相同。这些较密集的方向性帧内预测模式应用到所有块尺寸并应用到亮度和色度帧内预测。
[0054]
传统带角度的帧内预测方向在逆时针方向上从45度到-135度来定义,如图2所述。vtm中,若干传统带角度的帧内预测模式自适应地替换为用于非正方形块的宽角度的帧内预测模式。替换的模式使用原始方法进行信令通知并且在解析之后重新映射到宽角度模式的索引。帧内预测模式的总数未改变、即67个,并且帧内模式编解码未改变。
[0055]
hevc中,每个帧内编解码块具有正方形形状并且该编解码块的每条边的长度是2的幂。因此,不需要分区操作来使用dc模式生成帧内预测符。vvv2中,块可以具有矩形形状,这在一般情况下需要使用每块分区操作。为了避免dc预测的分区操作,对于非正方形块仅长边用于计算平均值。
[0056]
除67个帧内预测模式以外,对于一定的块还启用非正方形块的宽角度帧内预测(waip)和位置相关的帧内预测组合(pdpc)方法。pdpc在不进行信令通知的情况下应用到以下帧内模式:平面、dc、水平、垂直、左下方带角度模式及其8个相邻带角度模式、以及右上方带角度模式及其8个相邻带角度模式。
[0057]
2.2.2仿射线性加权的帧内预测(alwip或基于矩阵的帧内预测)
[0058]
jvet-n0217中提出仿射线性加权的帧内预测(alwip,又称为基于矩阵的帧内预测(mip))。
[0059]
2.2.2.1由矩阵矢量乘法生成缩减的预测信号
[0060]
经由平均化首先下采样邻域参考样点以生成缩减的参考信号bdry
red
。然后,缩减的预测信号pred
red
通过计算矩阵矢量乘积和添加偏移来计算。
[0061]
pred
red
=a
·
bdry
red
b
[0062]
在此,a是具有w
red
·hred
行和4列(如果w=h=4则为4列并且在所有其他情况下为8
列)的矩阵。b是尺寸为w
red
·hred
的矢量。
[0063]
2.2.2.2整个alwip过程的说明
[0064]
图3-6以不同形状图示了平均化、矩阵矢量乘法和线性插值的整个过程。注意到,剩余形状被视为所描绘情况中的一种。
[0065]
1.给定4
×
4块,alwip沿着边界的每个轴线求取两个平均值。得到的四个输入样点进入矩阵矢量乘法。矩阵取自集合s0。在添加偏移之后,这产生了16个最终预测样点。线性插值不必生成预测信号。因此,每个样点执行乘法总数为(4
·
16)/(4
·
4)=4。
[0066]
2.给定8
×
8块,alwip沿着边界的每个轴线求取四个平均值。得到的八个输入样点进入矩阵矢量乘法。矩阵取自集合s1。这在预测块的奇数位置上产生了16个样点。因此,每个样点执行乘法总数为(8
·
16)/(8
·
8)=2。在添加偏移之后,这些样点通过使用缩减的顶部边界来垂直地插值。通过使用原始左边界随后进行水平插值。
[0067]
3.给定8
×
4块,alwip沿着边界的水平轴线求取四个平均值并且在左边界求取四个原始边界值。得到的八个输入样点进入矩阵矢量乘法。矩阵取自集合s1。这在预测块的奇数个水平位置和每个垂直位置上产生了16个样点。因此,每个样点执行乘法总数为(8
·
16)/(8
·
4)=4。在添加偏移之后,这些样点通过使用原始左边界来水平地插值。
[0068]
4.给定16
×
16块,alwip沿着边界的每个轴线求取四个平均值。得到的八个输入样点进入矩阵矢量乘法。矩阵取自集合s2。这在预测块的奇数位置上产生了64个样点。因此,每个样点执行乘法总数为(8
·
64)/(16
·
16)=2。在添加偏移之后,这些样点通过使用顶部边界的八个平均值来垂直地插值。通过使用原始左边界随后进行水平插值。在这种情况下插值过程不会添加任何乘法。因此,每个样点总共需要两次乘法来计算alwip预测。
[0069]
对于较大形状,过程基本上相同并且易于检验每个样点的乘法次数小于四次。
[0070]
对于w
×
8块,其中w》8,因为样点在奇数个水平位置和每个垂直位置处给定,因此只有水平插值是必要的。
[0071]
最终,对于w
×
4块,其中w》8,令a_k为通过省去沿着下采样块的水平轴线对应于奇数条目的每一行而产生的矩阵。因此,输出尺寸是32,并且再次只有水平插值保持待执行。
[0072]
相应地处理转置的情况。
[0073]
当为帧内预测块构造mpm列表时,如果以mip模式编解码邻域块,则通过使用下表将mip模式映射到帧内预测模式。在此,假设邻域亮度块的宽度和高度分别是widthneig和heightneig,则mipsizeid导出如下:
[0074]
·
如果widthneig和heightneig二者都等于4,则mipsizeid设置为等于0。
[0075]
·
否则,如果widthneig和heightneig二者都小于或等于8,则mipsizeid设置为等于1。
[0076]
·
否则,将mipsizeid设置为等于2。
[0077]
表8-4

mip与帧内预测模式之间的映射的规范
[0078]
[0079][0080]
2.2.2.3语法和语义
[0081]
7.3.6.5编解码单元语法
[0082]
[0083]
[0084][0085]
2.2.3多个参考行(mrl)
[0086]
多个参考行(mrl)帧内预测使用更多参考行以供帧内预测。在图7中,描绘了四个参考行的示例,其中段a和f的样点不能从重构邻域样点中提取而是分别用与段b和e最靠近的样点填充。hevc帧内图片预测使用最近参考行(即,参考行0)。mrl中,使用两个附加行(参考行1和参考行3)。
[0087]
选择的参考行的索引(mrl_idx)被信令通知并且用于生成帧内预测符。对于大于0的参考行索引,在mpm列表中仅包含附加的参考行模式并且在没有剩余模式的情况下只有单个mpm索引。在帧内预测模式之前信令通知参考行索引,并且从帧内预测模式中排除平面和dc模式以防非零参考行索引被信令通知。
[0088]
为ctu内的第一行块禁用mrl以防止在当前ctu行外使用扩展的参考样点。同样地,当使用附加线时禁用pdpc。
[0089]
2.2.4帧内子块分割(isp)
[0090]
jvet-m0102中,提出isp,其根据块尺寸维度将亮度帧内预测块垂直或水平地分成2或4个子分割,如表1所示。图8和图9示出了两种可能的示例。所有子分割实现具有至少16个样点的条件。对于块尺寸,可以存在4
×
n或n
×
4(其中n》8),如果允许的话,还可以存在1
×
n或n
×
1子分割。
[0091]
表1:取决于块尺寸(由maxtbsize表示最大变换尺寸)的子分割的数目
[0092][0093]
对于这些子分割的每一个,通过对由编码器发送的系数进行熵解码然后将它们反量化和反变换,来生成残差信号。然后,子分割是帧内预测的,并且最终对应重构的样点通过将残差信号添加到预测信号来获得。因此,每个子分割的重构值将是可用的,以生成下一个子分割的预测,下一个子分割将重复该过程等等。所有子分割共享相同帧内模式。
[0094]
表2:取决于predmodeintra的trtypehor和trtypever的规范
[0095][0096]
2.2.4.1语法和语义
[0097]
7.3.7.5编解码单元语法
[0098]
[0099]
[0100][0101]
intra_subpartitions_mode_flag[x0][y0]等于1指定当前帧内编解码单元被分割成numintrasubpartitions[x0][y0]矩形变换块子分割。
[0102]
intra_subpartitions_mode_flag[x0][y0]等于0指定当前帧内编解码单元未被分割成矩形变换块子分割。
[0103]
当不存在intra_subpartitions_mode_flag[x0][y0]时,则将其推断为等于0。
[0104]
intra_subpartitions_split_flag[x0][y0]指定帧内子分割划分类型是水平的还是垂直的。
[0105]
当不存在intra_subpartitions_split_flag[x0][y0时,可如下推断:
[0106]

如果cbheight大于maxtbsizey,则推断
[0107]
intra_subpartitions_split_flag[x0][y0]等于0。
[0108]

否则(cbwidth大于maxtbsizey),则推断
[0109]
intra_subpartitions_split_flag[x0][y0]等于1。
[0110]
变量intrasubpartitionssplittype指定用于当前亮度编解码块的划分类型,如表7-9中说明的。intrasubpartitionssplittype导出如下:
[0111]

如果intra_subpartitions_mode_flag[x0][y0]等于0,则推断
[0112]
intrasubpartitionssplittype等于0。
[0113]

否则,intrasubpartitionssplittype设置为等于
[0114]
1 intra_subpartitions_split_flag[x0][y0]。
[0115]
表7-9

与intrasubpartitionssplittype相关联的命名
[0116][0117]
变量numintrasubpartitions指定帧内亮度编解码块被分成变换块子分割的数目。numintrasubpartitions导出如下:
[0118]

如果intrasubpartitionssplittype等于isp_no_split,则
[0119]
numintrasubpartitions设置为等于1。
[0120]

否则,如果以下条件中的一个为真,则numintrasubpartitions设置为等于2:
[0121]

cbwidth等于4并且cbheight等于4,
[0122]

cbwidth等于8并且cbheight等于4,
[0123]

否则,numintrasubpartitions设置为等于4。
[0124]
2.3色度帧内模式编解码
[0125]
对于色度帧内模式编解码,取决于是否启用跨分量线性模型(cclm),允许总共8个或5个帧内模式用于色度帧内模式编解码。这些模式包括五个传统帧内模式和三个跨分量线性模型模式。色度dm模式使用对应亮度帧内预测模式。因为在i条带中启用亮度和色度分量的分立块分割结构,一个色度块可以对应于多个亮度块。因此,对于色度dm模式,覆盖当前色度块的中部位置的对应亮度块的帧内预测模式被直接继承。
[0126]
表8-2

当sps_cclm_enabled_flag等于0时取决于intra_chroma_pred_mode[xcb][ycb]和intrapredmodey[xcb cbwidth/2][ycb cbheight/2]的intrapredmodec[xcb][ycb]的规范
[0127][0128]
表8-3

当sps_cclm_enabled_flag等于1时取决于intra_chroma_pred_mode[xcb][ycb]和intrapredmodey[xcb cbwidth/2][ycb cbheight/2]的intrapredmodec[xcb][ycb]的规范
[0129][0130][0131]
2.4 vvc中的变换编解码
[0132]
2.4.1 vvc中的多个变换集(mts)
[0133]
2.4.1.1显式多个变换集(mts)
[0134]
vtm4中,启用大块尺寸的变换,尺寸上多达64
×
64,其主要用于较高分辨率视频,例如1080p和4k序列。对于变换块,其中尺寸(宽度或高度、或者宽度和高度二者)等于64,高频变换系数归零,使得只保留低频系数。例如,对于m
×
n变换块,其中m为块宽度和n为块高度,当m等于64时,仅保留变换系数的左边32列。类似地,当n等于64时,仅保留变换系数的顶部32行。当变换跳过模式用于大块时,使用整个块而不会归零任何值。
[0135]
除hevc中已经采用的dct-ii以外,多个变换选择(mts)方案用于对帧间和帧内编解码块二者进行残差编解码。该方案使用多个从dct8/dst7选择的变换。新引入的变化矩阵为dst-vii和dct-viii。下面表4示出了选择的dst/dct的基函数。
[0136]
表4:vvc中使用的变换矩阵的基函数
[0137][0138][0139]
为了保持变换矩阵的正交性,变换矩阵比hevc中的变换矩阵更加准确地被量化。为了保持变换系数的中间值在16比特范围内,在水平变换后和垂直变换后,所有系数要具有10比特。
[0140]
为了控制mts方案,为帧内和帧间分别在sps级处指定分立启用标志。当以sps启用mts时,信令通知cu级标志以指示是否应用mts。在此,mts仅应用到亮度。当满足以下条件时,信令通知mts cu级标志。
[0141]
ο宽度和高度二者小于或等于32
[0142]
οcbf标志等于一
[0143]
如果mts cu标志等于零,则在两个方向上应用dct2。然而,如果mts cu标志等于一,则其他两个标志被附加地信令通知以分别指示水平方向和垂直方向的变换类型。变换和信令通知映射表如表5所示。当达到变换矩阵精度时,使用8比特一次变换核心。因此,hevc中所使用的所有变换核心保持相同,包括4点dct-2和dst-7,8点、16点和32点dct-2。同样,其他变换核心(包括64点dct-2,4点dct-8,8点、16点、32点dst-7和dct-8)使用8比特一次变换核心。
[0144]
表5:tu_mts_idx的解码值与水平方向和垂直方向的对应变换矩阵的映射。
[0145]
[0146][0147]
为了降低大尺寸dst-7和dct-8的复杂度,对于尺寸(宽度或高度,或宽度和高度二者)等于32的dst-7和dct-8块,高频变换系数归零。仅保留16x16低频区域内的系数。
[0148]
除其中应用不同变换的情况以外,vvc还支持称为变换跳过(ts)的模式,该变换跳过(ts)的模式与hevc中ts的构思类似。ts被视为mts的特殊情况。
[0149]
2.4.2 jvet-n0193中提出的缩减二次变换(rst)
[0150]
2.4.2.1 jem中不可分二次变换(nsst)
[0151]
jem中,二次变换应用在前向一次变换与量化(编码器处)之间以及在去量化与反向一次变换(解码器侧处)之间。如图10所示,4x4(或8x8)二次变换的执行取决于块尺寸。例如,对于每个8x8块,4x4二次变换应用到小块(即,min(宽度,高度)《8),并且8x8二次变换应用到大块(即,min(宽度,高度)》4)。
[0152]
如下使用输入作为示例来描述不可分变换的应用。为了应用不可分变换,4x4输入块x
[0153][0154]
首先表示为矢量
[0155][0156]
将不可分变换计算为其中指示变换系数矢量,并且t是16x16变换矩阵。使用4x4块的扫描顺序(水平、垂直或对角),将16x1系数矢量随后重新组织为该4x4块。具有较小索引的系数将以较小扫描索引放置在4x4系数块中。存在总共35个变换集,并且每个变换集使用3个不可分变换矩阵(核)。预定义从帧内预测模式到变换集的映射。对于每个变换集,由显式信令通知的二次变换索引进一步指定选择的不可分二次变换(nsst)候选。在变换系数之后每个帧内cu在比特流中信令通知该索引一次。
[0157]
2.4.2 jvet-n0193中的缩减二次变换(rst)
[0158]
jvet-k0099中引入rst(又称为低频不可分变换(lfnst))并且jvet-l0133中引入4个变换集(代替35个变换集)映射。在该jvet-n0193中,采用16x64(进一步缩减至16x48)和16x16矩阵。为了便于注释,16x64(缩减至16x48)变换表示为rst 8x8并且16x16变换表示为rst 4x4。图11示出了rst的示例。
[0159]
2.4.2.2.1 rst计算
[0160]
缩减变换(rt)的主要想法是在不同空间中将n维度矢量映射到r维度矢量,其中r/n(r《n)是缩减因子。
[0161]
rt矩阵是r
×
n矩阵,如下:
[0162][0163]
其中,r行变换是n维空间的r基。rt的反向变换矩阵是前向变换的转置。图12中描绘前向和反向rt。
[0164]
在该贡献中,应用具有缩减因子为4(1/4尺寸)的rst 8x8。因此,代替64x64(其为传统8x8不可分变换矩阵尺寸),使用16x64直连矩阵(direct matrix)。换言之,解码器侧处使用64
×
16反向rst矩阵以在8
×
8左上区域中生成核心(一次)变换系数。前向rst 8x8使用16
×
64(或8x8块的8x64)矩阵,使得前向rst 8x8仅在给定8x8区域内的左上4
×
4区域中产生非零系数。换言之,如果应用rst,则除左上4
×
4区域以外的8
×
8区域仅具有零系数。对于rst 4x4,应用16x16(或4x4块的8x16)直连矩阵乘法。
[0165]
当满足以下两个条件时,有条件地应用反向rst:
[0166]
ο块尺寸大于或等于给定阈值(w》=4&&h》=4)
[0167]
ο变换跳过模式标志等于零
[0168]
如果变换系数块的宽度(w)和高度(h)二者大于4,则rst 8x8应用到变换系数块的左上8
×
8区域。否则,rst 4x4应用在变换系数块的左上min(8,w)
×
min(8,h)区域上。
[0169]
如果rst索引等于0,则不应用rst。否则,应用rst,用rst索引选择rst的核。稍后解释rst选择方法和rst索引的编解码。
[0170]
此外,rst应用到帧内和帧间条带二者中的帧内cu,并且应用到亮度和色度二者。如果启用双树,则分开地信令通知亮度和色度的rst索引。对于帧间条带(禁用双树),信令通知单个rst索引并将其用于亮度和色度二者。
[0171]
2.4.2.2.2 rst的限制
[0172]
当选择isp模式时,禁用rst,并且不信令通知rst索引,因为即使rst应用到每个可实行的分割块但是性能改进也是微不足道的。此外,为isp预测的残差禁用rst可以降低编码复杂度。
[0173]
2.4.2.2.3 rst选择
[0174]
rst矩阵选自四个变换集,其中每一个变换集包括两个变换。从帧内预测模式确定应用的变换集,如下:
[0175]
(1)如果指示三个cclm模式中的一个,则选择变换集0。
[0176]
(2)否则,根据下表执行变换集选择:
[0177]
变换集选择表
[0178][0179][0180]
存取上表的索引(表示为intrapredmode)具有[-14,83]的范围,该索引是用于宽角度帧内预测的变换模式索引。
[0181]
稍后,用于以cclm模式编解码的色度块的低频不可分变换(lfnst,又称为rst)集选择要基于变量intrapredmode_cclm进行修改,其中intrapredmode_cclm具有[-14,83]的范围。由共位亮度帧内预测模式和当前色度块的维度来确定intrapredmode_cclm。
[0182]
当启用双树时,覆盖当前色度块中左上方色度样点的对应亮度样点的块(例如pu)定义为共位亮度块。示例在图24a和24b中示出,其中由tl表示共位位置。
[0183]
2.4.2.2.4缩减维度的rst矩阵
[0184]
如进一步简化,16x48矩阵代替16x64以相同变换集配置来应用,16x48矩阵中的每一个从排除右下4x4块的左上8x8块中的三个4x4块取得48个输入数据(如图13所示)。
[0185]
2.4.2.2.5 rst信令通知
[0186]
前向rst 8x8使用16
×
48矩阵,使得前向rst 8x8仅在前三个4x4区域内的左上4
×
4区域中产生非零系数。换言之,如果应用rst 8x8,则仅左上4
×
4区域(由于rst 8x8)和右下4
×
4区域(由于一次变换)可以具有非零系数。因此,当在右上4
×
4块区域和左下4
×
4块区域(图14所示,并且称为“归零”区域)内检测到任何非零元素时不对rst索引进行编解码,因为这隐含没有应用rst。在这样的情况下,rst索引推断为零。
[0187]
2.4.2.2.6一个cg内的归零区域
[0188]
通常,在对4
×
4子块应用反向rst之前,4
×
4子块中的任何系数可以是非零的。然而,在一些情况下约束为,在对子块应用反向rst之前,4
×
4子块中的一些系数必须为零。
[0189]
令nonzerosize是变量。需要的是,当任何系数重新布置成一维阵列时,任何系数的索引不小于nonzerosize,然后反向rst必须为零。
[0190]
当nonzerosize等于16时,左上方4
×
4子块中的系数不存在归零约束。
[0191]
jvet-n0193中,当当前块尺寸为4
×
4或8
×
8时,nonzerosize设置为等于8(即,如图14所示,具有在范围[8,15]中的扫描索引的系数应为0)。对于其他块维度,nonzerosize设置为等于16。
[0192]
2.4.2.2.7工作草案的rst的描述
[0193]
7.3.2.3序列参数集rbsp语法
[0194][0195]
7.3.7.11残差编解码语法
[0196][0197][0198]
7.3.7.5编解码单元语法
[0199]
[0200][0201]
sps_st_enabled_flag等于1指定st_idx可以存在于帧内编解码单元的残差编解码语法中。sps_st_enabled_flag等于0指定st_idx不存在于帧内编解码单元的残差编解码语法中。
[0202]
st_idx[x0][y0]指定在选择的变换集中哪个二次变换核应用在两个候选核之间。st_idx[x0][y0]等于0指定不应用二次变换。阵列索引x0、y0指定所考虑的变换块的左上样
点相对于图片的左上样点的位置(x0,y0)。
[0203]
当不存在st_idx[x0][y0]时,则将st_idx[x0][y0]推断为等于0。
[0204]
注意到,是否发送st_idx取决于cu内所有tu中的非零系数的数目(例如,对于单树,3个块(即,y、cb、cr)中非零系数的数目);对于双树和对亮度编解码,亮度块中的非零系数的数目;对于双树和对色度编解码,两个色度块中的非零系数的数目)。附加的,阈值取决于分割结构,(treetype==single_tree)?2:1)。
[0205]
st_idx的二进制数是上下文编解码的。更具体地,如下适用:
[0206]
表9-9

语法元素及其相关联的二值化
[0207][0208]
表9-15

用上下文编解码的二进制向语法元素分配ctxinc
[0209][0210]
9.5.4.2.8语法元素st_idx的ctxinc的导出过程
[0211]
此过程的输入是:色彩分量索引cidx;亮度或色度位置(x0,y0),取决于cidx指定当前亮度或色度编解码块的左上样点相对于当前图片的左上样点;树类型treetype;如节8.4.2中指定的亮度帧内预测模式intrapredmodey[x0][y0];如节7.4.7.5中指定的为色度样点指定帧内预测模式的语法元素intra_chroma_pred_mode[x0][y0];以及多个变换选择索引tu_mts_idx[x0][y0]。
[0212]
此过程的输出是变量ctxinc。
[0213]
变量intramodectx导出如下:
[0214]
如果cidx等于0,则intramodectx导出如下:
[0215]
intramodectx=(intrapredmodey[x0][y0]《=1)?1:0
[0216]
否则(cidx大于0),则intramodectx导出如下:
[0217]
intramodectx=(intra_chroma_pred_mode[x0][y0]》=4)?1:0
[0218]
变量mtsctx导出如下:
[0219]
mtsctx=(tu_mts_idx[x0][y0]==0&&treetype!=single_tree)?1:0
[0220]
变量ctxinc导出如下:
[0221]
ctxinc=(binidx《《1) intramodectx (mtsctx《《2)
[0222]
2.4.2.2.8 rst使用的总结
[0223]
仅当对于单树和可分树而言一个块中的非零系数的数目分别大于2和1时,才可以启用rst。此外,当启用rst时,还需要对应用rst的编解码组(cg)的非零系数的位置进行如下限制。
[0224]
表1:rst的使用
[0225]
[0226][0227]
2.4.3子块变换
[0228]
对于具有cu_cbf等于1的帧间预测cu,可以信令通知cu_sbt_flag以指示是解码整个残差块还是残差块的子部分。在前一种情况中,帧间mts信息被进一步解析以确定cu的变换类型。在后一种情况中,用推断的自适应变换来编解码残差块的一部分并且将该残差块的其他部分归零。sbt不应用到组合的帧间帧内模式。
[0229]
在子块变换中,对sbt-v和sbt-h中的亮度变换块(色度tb总是使用dct-2)应用位置相关的变换。sbt-v和sbt-h的两个位置与不同核心变换相关联。更具体地,图3为每个sbt位置指定水平和垂直变换。例如,sbt-v位置0的水平变换和垂直变换分别是dct-8和dst-7。当残差tu的一侧大于32时,对应变换设置为dct-2。因此,子块变换联合地指定残差块的tu片化(tiling)、cbf、以及水平变换和垂直变换,对于块的主要残差是在块的一侧处的情况,可以认为是语法捷径。
[0230]
2.4.3.1语法元素
[0231]
7.3.7.5编解码单元语法
[0232]
[0233]
[0234][0235]
cu_sbt_flag等于1指定对于当前编解码单元使用子块变换。cu_sbt_flag等于0指定对于当前编解码单元不使用子块变换。
[0236]
当不存在cu_sbt_flag时,则推断其值等于0。
[0237]
注释—:当使用子块变换时,编解码单元划分成两个变换单元;一个变换单元具有残差数据,另一个变换单元不具有残差数据。
[0238]
cu_sbt_quad_flag等于1指定对于当前编解码单元,子块变换包括当前编解码单元的1/4尺寸的变换单元。cu_sbt_quad_flag等于0指定对于当前编解码单元,子块变换包括当前编解码单元的1/2尺寸的变换单元。
[0239]
当不存在cu_sbt_quad_flag时,则推断其值等于0。
[0240]
cu_sbt_horizontal_flag等于1指定当前编解码单元被水平划分成2个变换单元。cu_sbt_horizontal_flag[x0][y0]等于0指定当前编解码单元被垂直划分成2个变换单元。
[0241]
当不存在cu_sbt_horizontal_flag时,其值导出如下:
[0242]

如果cu_sbt_quad_flag等于0,则cu_sbt_horizontal_flag设置为等于allowsbthorq。
[0243]

否则(cu_sbt_quad_flag等于0),则cu_sbt_horizontal_flag设置为等于allowsbthorh。
[0244]
cu_sbt_pos_flag等于1指定比特流中不存在当前编解码单元中第一变换单元的tu_cbf_luma、tu_cbf_cb和tu_cbf_cr。cu_sbt_pos_flag等于0指定比特流中不存在当前编解码单元中第二变换单元的tu_cbf_luma、tu_cbf_cb和tu_cbf_cr。
[0245]
变量sbtnumfourthstb0导出如下:
[0246]
sbtminnumfourths=cu_sbt_quad_flag?1:2
ꢀꢀ
(7-117)
[0247]
sbtnumfourthstb0=cu_sbt_pos_flag?(4-sbtminnumfourths):2(7-118)
[0248]
sps_sbt_max_size_64_flag等于0指定用于允许子块变换的最大cu宽度和高度是32个亮度样点。sps_sbt_max_size_64_flag等于1指定用于允许子块变换的最大cu宽度和高度是64个亮度样点。
[0249]
maxsbtsize=sps_sbt_max_size_64_flag?64:32
ꢀꢀ
(7-33)
[0250]
2.4.4量化的残差域块差分脉冲编解码的调制编解码(qr-bdpcm)
[0251]
jvet-n0413中,提出了量化的残差域bdpcm(在下文中表示为rbdpcm)。通过在与帧内预测相似的预测方向(水平或垂直预测)上进行样点复制,在整个块上完成帧内预测。量化残差,并且对所量化的残差与其预测符(水平或垂直)量化的值之间的增量进行编解码。
[0252]
对于尺寸为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时:
[0253][0254]
对于水平预测,相似规则应用,并且残差量化样点获得为
[0255][0256]
残差量化样点发送到编解码器。
[0257]
在编解码器侧上,相反进行上述计算以产生q(r
i,j
),0≤i≤m-1,0≤j≤n-1。对于垂直编解码情况,
[0258][0259]
对于水平情况,
[0260][0261]
将反向量化残差q-1
(q(r
i,j
))添加到帧内块预测值以产生重构样点值。
[0262]
当选择qr-bdpcm时,没有应用变换。
[0263]
2.5系数的熵编解码
[0264]
2.5.1应用变换的块的系数编解码
[0265]
hevc中,使用不重叠的系数组(或子块)对编解码块的变换系数进行编解码,并且每个cg含有编解码块的4x4块的系数。编解码块内的cg和cg内的变换系数根据预定义扫描顺序进行编解码。
[0266]
编解码块内的cg和cg内的变换系数根据预定义扫描顺序进行编解码。cg和cg内的系数二者遵循对角向右上方扫描顺序。图16和图17分别描绘4x4块和8x8扫描顺序的示例。
[0267]
注意到,编解码顺序是相反的扫描顺序(即从图17的cg3到cg0解码),当解码一个块时,首先解码最后一个非零系数的坐标。
[0268]
具有至少一个非零变换系数的cg的变换系数水平的编解码可以分开成多个扫描途径。在第一途径中,编解码第一二进制数(由bin0表示,还称为significant_coeff_flag,其指示系数的幅度大于0)。接下来,可以应用用于对第二/第三二进制数(分别由bin1和bin2表示,还称为coeff_abs_greater1_flag和coeff_abs_greater2_flag)进行上下文编解码的两个扫描途径。最终,如果必要,则多调用两个扫描途径,用于编解码符号信息和系数水平的剩余值(还称为coeff_abs_level_remaining)。注意到,只有在前三个扫描途径中的二进制数是以常规模式编解码的,并且这些二进制数被称为以下描述中的常规二进制数。
[0269]
vvc3中,对于每个cg,常规编解码二进制数和旁路编解码二进制数以编解码顺序
被分开,首先传输子块的所有常规编解码二进制数,此后传输旁路编解码二进制数。在扫描位置上以五个途径对子块的变换系数水平进行编解码,如下:
[0270]
ο途径1:以编解码顺序处理对显著性(sig_flag)、大于1标志(gt1_flag)、奇偶性(par_level_flag)和大于2标志(gt2_flag)的编解码。如果sig_flag等于1,则首先编解码gt1_flag(其指定是否绝对水平大于1)。如果gt1_flag等于1,则附加编解码par_flag(它指定绝对水平减2的奇偶性)。
[0271]
ο途径2:在gt2_flag等于1或gt1_flag等于1的情况下,为所有扫描位置处理对剩余绝对水平(剩余部分)的编解码。非二进制语法元素以哥伦布-赖斯(golomb-rice)码来二值化,并且得到的二进制数是以算术编解码引擎的旁路模式编解码的。
[0272]
ο途径3:使用哥伦布-赖斯码以算术编解码引擎的旁路模式来完整编解码系数的绝对水平(abslevel),对于该系数的绝对水平第一途径中没有编解码sig_flag(由于达到常规编解码的二进制数的限制)。
[0273]
ο途径4:在sig_coeff_flag等于1的情况下,为所有扫描位置编解码符号(sign_flag)
[0274]
保证对于4x4子块编码或解码不超过32个常规编解码的二进制数(sig_flag、par_flag、gt1_flag和gt2_flag)。对于2x2色度子块,常规编解码的二进制数的数目限制为8个。
[0275]
用于对非二进制的语法元素剩余部分进行编解码的赖斯参数(ricepar)(途径3中)类似于hevc导出。在每个子块的开始时,ricepar设置等于0。在编解码语法元素剩余部分之后,根据预定义等式修改赖斯参数。为了编解码非二进制的语法元素abslevel(途径4中),确定局部模板中的绝对值的总和sumabs。由查找表基于相关的量化和sumabs来确定变量ricepar和poszero。中间变量codevalue导出如下:
[0276]
如果abslevel[k]等于0,则codevalue设置为等于poszero;
[0277]
如果abslevel[k]小于或等于poszero,则codevalue设置为等于abslevel[k]-1;
[0278]
否则(abslevel[k]大于poszero),codevalue设置为等于abslevel[k]。
[0279]
使用哥伦布-赖斯码以赖斯参数ricepar来编解码codevalue的值。
[0280]
2.5.1.1系数编解码的上下文建模
[0281]
与变换系数水平的绝对值有关的语法元素选择概率模型取决于局部邻域中绝对水平或部分重构绝对水平的值。图18中图示了所使用的模板。
[0282]
选择的概率模型取决于局部邻域中绝对水平(或部分重构的绝对水平)的总和以及局部邻域中大于0的绝对水平的数目(由等于1的sig_coeff_flags的数目给定)。上下文建模和二值化取决于局部邻域的以下量度:
[0283]
οnumsig:局部邻域中非零水平的数目;
[0284]
οsumabs1:局部邻域中第一途径之后部分重构的绝对水平的总和(abslevel1);
[0285]
οsumabs:局部邻域中重构绝对水平的总和;
[0286]
ο对角位置(d):变换块内的当前扫描位置的水平坐标和垂直坐标的总和。
[0287]
基于numsig、sumabs1和d的值,选择用于编解码sig_flag、par_flag、gt1_flag、和gt2_flag的概率模型。基于sumabs和numsig的值,选择用于二值化abs_remainder的赖斯参数。
[0288]
2.5.1.2相关量化(dq)
[0289]
此外,以称为相关标量量化的新构思使用相同hevc标量量化。相关标量量化指代一方法,该方法中变换系数的可允许重构值的集合取决于在以重构顺序的当前变换系数水平之前的变换系数水平的值。该方法的主要效果在于,与hevc中所使用的常规无关标量量化相比较,可允许重构矢量是在n维矢量空间(n表示变换块中变换系数的数目)中更密集地分组的。这意味着,对于每个n维单元体积的可允许重构矢量的给定平均数目,输入矢量和最靠近的重构矢量之间的平均失真被降低。相关标量量化的方法由以下来实现:(a)限定两个具有不同重构级的标量量化器,并且(b)限定在两个标量量化器之间切换的过程。
[0290]
图19图示了由q0和q1表示的所使用的两个标量量化器。可用重构级的位置由量化步长δ唯一指定。比特流中不显式信令通知所使用的标量量化器(q0或q1)。代替地,用于当前变换系数的量化器是由在以编解码/重构顺序的当前变换系数之前的变换系数水平的奇偶性确定的。
[0291]
如图20所示,经由具有四个状态的状态机来实现两个标量量化器(q0和q1)之间的切换。状态可以取得四个不同值:0、1、2、3。这是由在以编解码/重构顺序的当前变换系数之前的变换系数水平的奇偶性唯一确定的。在变换块的反向量化的开始时,状态设置为等于0。以扫描顺序重构变换系数(即,以对它们进行熵解码的相同顺序)。在重构当前变换系数之后,状态如图20所示更新,其中k表示变换系数水平的值。
[0292]
2.5.1.3语法和语义
[0293]
7.3.7.11残差编解码语法
[0294]
[0295]
[0296]
[0297]
[0298]
[0299]
[0300]
[0301][0302]
2.5.2 ts编解码块和qr-bdpcm编解码块的系数编解码
[0303]
qr-bdpcm遵循用于ts编解码块的上下文建模方法。
[0304]
修改的变换系数水平用于ts残差编解码。相对于常规残差编解码情况,ts的残差编解码包括以下改变:
[0305]
(1)不信令通知最后的x/y位置
[0306]
(2)当所有前述标志等于0时,为除最后一个子块的每一个子块编解码的coded_sub_block_flag;
[0307]
(3)使用缩减模板上下文建模的sig_coeff_flag,
[0308]
(4)用于abs_level_gt1_flag和par_level_flag的单个上下文建模;
[0309]
(5)符号标志的上下文建模,附加地大于5个、7个、9个标志,
[0310]
(6)剩余部分二值化的修改的赖斯参数导出;
[0311]
(7)每个样点的上下文编解码的二进制数的数目的限制,一个块内每个样点2个二进制数。
[0312]
2.5.2.1语法和语义
[0313]
7.3.6.10变换单元语法
[0314]
[0315][0316]
[0317]
[0318][0319]
对于每个cg,上下文编解码的二进制数的数目限制于不大于每个样点2个二进制数。
[0320]
表9-15

用上下文编解码的二进制数向语法元素分配ctxinc
[0321][0322]
2.5色度直连模式(direct mode)
[0323]
在直连模式(dm)中,共位亮度块的预测模式用于导出色度帧内预测模式。
[0324]
首先,导出帧内预测模式lumaintrapredmode:
[0325]
·
如果以mip模式编解码共位亮度块,则lumaintrapredmode设置为等于平面模式。
[0326]
·
否则,如果以ibc模式或调色板模式编解码共位亮度块,则lumaintrapredmode设置为等于dc模式。
[0327]
·
否则,lumaintrapredmode设置为等于覆盖色度块的中部的对应亮度样点的共
位亮度块的帧内预测模式。图25中描绘了示例。
[0328]
其次,根据lumaintrapredmode导出帧内色度预测模式(表示为intrapredmodec),如下表以粗体和斜体突出显示的。注意到,intra_chroma_pred_mode等于4指代dm模式。
[0329]
表8-2

取决于cclm_mode_flag、cclm_mode_idx、intra_chroma_pred_mode和lumaintrapredmode的intrapredmodec[xcb][ycb]的规范
[0330][0331]
最终,如果图片的色彩格式为4:2:2,则根据下表为dm模式进一步修改intrapredmodec。
[0332]
当chroma_format_idc等于2时从色度帧内预测模式x到模式y的4:2:2映射过程的规范
[0333][0334][0335]
如下指定详细的草案。
[0336]
8.4.3色度帧内预测模式的导出过程
[0337]
此过程的输入是:
[0338]

指定当前色度编解码块的左上样点相对于当前图片的左上亮度样点的亮度位置(xcb,ycb),
[0339]

变量cbwidth,指定亮度样点中的当前编解码块的宽度,
[0340]

变量cbheight,指定亮度样点中的当前编解码块的高度。
[0341]
在此过程中,导出色度帧内预测模式intrapredmodec[xcb][ycb]。
[0342]
对应的亮度帧内预测模式lumaintrapredmode导出如下:
[0343]

如果intra_mip_flag[xcb][ycb]等于1,则lumaintrapredmode设置为等于intra_planar。
[0344]

否则,如果cupredmode[0][xcb][ycb]等于mode_ibc或mode_plt,则lumaintrapredmode设置为等于intra_dc。
[0345]

否则,lumaintrapredmode设置为等于intrapredmodey[xcb cbwidth/2][ycb cbheight/2]。
[0346]
使用cclm_mode_mode_flag、cclm_mode_idx、intra_chroma_pred_mode和lumaintrapredmode导出色度帧内预测模式intrapredmodec[xcb][ycb],如表8-2指定的。
[0347]
表8-2

取决于cclm_mode_flag、cclm_mode_idx、intra_chroma_pred_mode和lumaintrapredmode的intrapredmodec[xcb][ycb]的规范
[0348][0349][0350]
当chroma_format_idc等于2时,色度帧内预测模式y是使用表8-2中色度帧内预测模式x导出的,如表8-3指定的,并且然后色度帧内预测模式x设置等于色度帧内预测模式y。
[0351]
表8-3-当chroma_format_idc等于2时从色度帧内预测模式x到模式y的4:2:2映射过程的规范
[0352][0353]
3现有实现方式的缺点
[0354]
当前设计具有以下问题:
[0355]
(1)色度分量的四个预定义变换集与亮度分量的四个预定义变换集相同。附加地,具有相同帧内预测模式的亮度和色度块使用相同变换集。然而,色度信号典型地比亮度分量更平滑。使用相同集可能是次优的。
[0356]
(2)rst仅应用到一定的cg以而不是所有cg。然而,信令通知rst索引的决定是取决于整个块中非零系数的数目。当应用rst的cg中所有系数为零时,不需要信令通知rst索引。然而,当前设计仍可能仍信令通知索引,这浪费不必要的比特。
[0357]
(3)rst索引是在残差编解码后信令通知的,因为这需要记录非零系数的个数、在一定的位置中是否存在非零系数(例如,章节2.3.2.2.7中的numzerooutsigcoeff、numsigcoeff)。这样的设计使得解析过程更加复杂。
[0358]
(4)rst索引是上下文编解码的,并且上下文建模是取决于编解码亮度/色度帧内预测模式、以及mts索引。这样的设计在帧内预测模式的重构方面引入解析延迟。并且引入8个上下文,其可能是硬件实现方式的负担。
[0359]
(a)dm和cclm共享相同上下文索引偏移,这是没有意义的,因为它们是两种不同的色度帧内预测模式。
[0360]
(5)非ts残差编解码的当前设计首先编解码系数信息,接下来rst的索引(即,是否使用rst,如果使用的话,则选择哪一个矩阵)。在这样的设计的情况下,在残差的熵编解码中不考虑rst开/关的信息。
[0361]
(6)rst总是以应用的一次变换应用到变换块的左上区域。然而,对于不同的一次变换基,能量并不总是集中在变换块的左上区域中。
[0362]
(7)对于双树和单树编解码结构以不同方式引导确定是否信令通知rst相关的信息。
[0363]
(8)当cu中(例如cu尺寸为128
×
128)存在多于一个tu时,在解码所有tu之后仅可以确定是否解析rst相关的信息。例如,对于128x128cu,在不等待最后一个pb之后的lfnst索引的情况下,不能处理第一pb。尽管这不一定打断整个基于64x64的解码器管线(如果可以解耦cabac的话),但是对于一定数目的解码器管线阶段,数据缓冲增加了4倍。这是高代价的。
[0364]
(9)jvet-o0219中,共位亮度块的帧内预测模式用于确定以cclm模式编解码的色度块的lfnst变换集。然而,共位亮度块可以是以非帧内预测模式(即,不是传统帧内预测方法,诸如使用dc/平面/带角度的预测方向)编解码的。例如,在双树情况中,共位亮度块可以是以调色板模式、ibc模式等编解码的。在这种情况下,未定义共位亮度块的帧内预测模式。因此,如何为色度块导出二次变换集是未知的。
[0365]
(10)子章节8.4.4中定义的色度帧内预测块的导出检验覆盖对应左上亮度样点的亮度块是否以mip/ibc/调色板模式编解码。如果为真,则给定默认模式。否则,使用中部亮度样点的帧内预测模式。这将引发两个问题:
[0366]
a.当覆盖左上亮度样点(例如图24(a)和24(b)中的tl,当前色度块中的左上色度样点的对应亮度样点)的编解码块是以mip模式编解码的,并且覆盖中部亮度样点(例如图25中cr)的编解码块是以正常帧内模式编解码的时,在这种情况下,使用默认模式并且将其设置为打断当前色度块与覆盖cr的亮度块之间的关联的色度帧内预测模式。将造成更低的编解码性能。
[0367]
b.当覆盖左上亮度样点(例如图24(a)和24(b)中的tl,当前色度块中的左上色度样点的对应亮度样点)的编解码块是以帧内模式编解码的,并且覆盖中部亮度样点(例如图25中cr)的编解码块是以ibc/调色板/mip模式编解码的时,在这种情况下,来自覆盖cr的编解码块的帧内预测模式用于导出色度dm模式。然而,没有定义这样的与mip/ibc/调色板模式相关联的帧内预测模式。
[0368]
4用于残差编解码的上下文建模的示例方法
[0369]
本公开的技术的实施例克服现有实现方式的缺点,从而提供具有更高编解码效率的视频编解码。基于公开的技术的用于残差编解码的上下文建模的方法可以提高现有和未来视频编解码标准两者,并且在下文中被阐明为各种实现方式所描述的示例。下文提供的本公开技术的示例解释了总体构思,并且不意味着解释为限制。在示例中,除非明显相反地指示,否则可以组合这些示例中描述的各种特征。
[0370]
在以下描述中,“块”可以是指编解码单元(cu)或变换单元(tu)或视频数据的任何矩形区域。“当前块”可以是指当前正在解码/编解码的编解码单元(cu)或当前正在解码/编解码的变换单元(tu)或视频数据的正在解码/编解码的编解码矩形区域。“cu”或“tu”还可以被称为“编解码块”和“变换块”。
[0371]
在这些示例中,rst可以是jvet-n0193中设计的任何变化。rst可以是可将二次变化应用到一个块或将变换应用到变换跳过(ts)编解码的块(例如jvet-n0193中提出的rst应用到ts编解码块)的任何技术。
[0372]
在下文中,“正常帧内预测模式”用于指代传统帧内预测方法,其中,预测信号由从某一方向外推邻域像素来生成预测信号,诸如dc模式、平面模式和带角度帧内预测模式(例如还可以包括宽角度帧内预测模式)。对于不使用正常帧内预测模式编解码的块,块可以是以以下编解码方法中的至少一个编解码的,例如ibc、mip、调色板、bdpcm帧内预测模式。
[0373]
此外,“归零区域”或“归零cg”可以指示这些区域/cg总是具有零系数,由于在二次变换过程中所使用的缩减变换尺寸。例如,如果二次变换尺寸为16x32且cg尺寸为4x4,则它将应用到前两个cg,但是只有第一cg可以具有非零系数,而第二4x4 cg也称为归零cg。
[0374]
rst中选择变换矩阵
[0375]
1.应用rst的子区域可以是不作为块的左上部分的子区域。
[0376]
a.在一个示例中,rst可以应用到块的右上或右下或左下或中部子区域。
[0377]
b.哪个子区域应用rst可以取决于帧内预测模式和/或一次变换矩阵(例如,dct-ii、dst-vii、标识变换)。
[0378]
2.选择rst中所使用的变换集和/或变换矩阵可以取决于色彩分量。
[0379]
a.在一个示例中,变换矩阵的一个集可以用于亮度(或g)分量,并且一个集用于色度分量(或b/r)。
[0380]
b.在一个示例中,每个色彩分量可以对应于一个集。
[0381]
c.在一个示例中,对于不同色彩分量,至少一个矩阵在两个或多个集中的任意个集中是不同的。
[0382]
3.选择rst中所使用的变换集和/或变换矩阵可以取决于帧内预测方法(例如,cclm、基于多个参考行的帧内预测方法、基于矩阵的帧内预测方法)。
[0383]
a.在一个示例中,变换矩阵的一个集可以用于cclm编解码块,并且另一个集可以用于非cclm编解码块。
[0384]
b.在一个示例中,变换矩阵的一个集可以用于正常帧内预测编解码块,并且另一个集可以用于启用多个参考行的块(即,其不使用相邻行进行帧内预测)。
[0385]
c.在一个示例中,变换矩阵的一个集可以用于以联合色度残差编解码的块,并且另一个集可以用于不应用联合色度残差编解码的块。
[0386]
d.在一个示例中,对于不同帧内预测方法,至少一个矩阵在两个或多个集中的任意个集中是不同的。
[0387]
e.替代地,可以为以一定的帧内预测方向和/或一定的编解码工具(例如cclm、和/或联合色度残差编解码、和/或某一色彩分量(例如色度))编解码的块,禁用rst。
[0388]
4.可以将默认帧内预测模式分配给不是以正常帧内预测模式(诸如mip、ibc、调色板)编解码的块(例如,cu/pu/cb/pb)。
[0389]
a.默认模式可以取决于编解码方法(mip/ibc/调色板)。
[0390]
b.可以及时信令通知或导出默认模式。
[0391]
c.默认模式可以用于导出色度导出模式(dm)。
[0392]
d.默认模式可以用于预测其他块的帧内预测模式。例如,默认模式可以用于导出对当前块的后续块进行编解码的最可能模式(mpm)列表。
[0393]
e.向一个色彩分量(例如亮度)的块分配的默认模式可以用于导出另一个色彩分量(例如色度)的变换集或变换索引。
[0394]
f.替代地,此外,默认模式可以与预测模式(例如,帧内/帧间/ibc)一起存储。
[0395]
g.默认模式不可以分配到帧间编解码块。
[0396]
5.提出在色度帧内预测模式导出过程的所有操作中使用覆盖色度编解码块的相同预定义位置的一个亮度编解码块(其还可以称为对应亮度块)的信息。例如,覆盖色度编解码块的相同预定义位置的相同亮度编解码块用于检验亮度编解码块的预测模式(或编解码方法,像是ibc/mip/调色板)并且用于提取亮度编解码块的帧内预测模式。
[0397]
a.在一个示例中,相同预定义位置定义为与当前色度块的中部色度样点的对应亮度样点(例如,图25的cr)相关联。
[0398]
b.在一个示例中,相同预定义位置定义为与当前色度块的左上色度样点的对应亮度样点(例如,图24b的tl)相关联。
[0399]
c.替代地,此外,如果覆盖相同预定义位置的编解码块是以ibc/调色板/mip模式/其他任何非正常帧内预测模式编解码的,则默认帧内预测模式可以用于导出色度帧内预测模式。否则,覆盖相同预定义位置的编解码块的解码的帧内预测模式可以用于导出色度帧内预测模式。
[0400]
6.对于以非正常帧内预测模式(例如cclm)编解码的色度块,当对应亮度块是以非正常帧内预测模式(例如ibc/调色板/mip)编解码的时,可以从一个或多个默认模式或默认变换集中导出rst中所使用的变换集/变换矩阵或者其他编解码工具。
[0401]
a.是使用默认变换集/变换矩阵还是从对应亮度块的帧内亮度预测模式中导出变换集/变换矩阵可以取决于对应亮度块的编解码模式。
[0402]
i.在一个示例中,如果对应亮度块是以正常帧内预测模式和/或bdpcm编解码的,则可以根据与对应亮度块(例如共位亮度块或本发明项目符号5中限定的亮度块)相关联的亮度帧内预测模式来导出变换集/变换矩阵。
[0403]
ii.在一个示例中,如果对应亮度块是以非正常帧内预测模式(例如ibc/调色板和/或bdpcm)编解码的,则可以使用默认变换集(例如其中集索引等于k(例如,k=0))。
[0404]
b.是否为一个色彩分量的块启用rst可以取决于另一个色彩分量中的一个或多个对应的块的编解码方法和/或当前块的编解码方法。
[0405]
i.是否为色度块启用rst可以取决于一个或多个对应亮度块的编解码方法和/或当前色度块的编解码方法。
[0406]
ii.在一个示例中,如果对应亮度块是以正常帧内预测模式和/或bdpcm编解码的,则可以为色度块启用rst。
[0407]
iii.在一个示例中,如果对应亮度块是以非正常帧内预测模式(例如ibc/调色板和/或bdpcm)编解码的,则可以为色度块禁用rst。
[0408]
1)替代地,此外,如果对应亮度块是以非正常帧内预测模式(例如ibc/调色板和/或bdpcm)编解码的,则可以为以非正常帧内预测模式编解码的色度块禁用rst。
[0409]
c.当共位亮度块不以正常帧内预测模式编解码时,可以分配预定义帧内预测模式,其然后用于选择rst中所使用的变换集和/或变换矩阵(例如,根据章节2.4.2.2.3中所示的变换集选择表)。
[0410]
i.在一个示例中,如果共位亮度块是以ibc(帧内块复制)模式编解码的,则可以分配第一预定义帧内预测模式(例如dc或平面模式)。
[0411]
ii.在一个示例中,如果共位亮度块是以调色板模式编解码的,则可以分配第二预定义帧内预测模式(例如dc或平面模式)。
[0412]
iii.在一个示例中,如果共位亮度块是以mip模式编解码的,则可以分配第三预定义帧内预测模式(例如平面或dc模式)。
[0413]
iv.在一个示例中,如果共位亮度块是以bdpcm(基于块增量脉冲编解码调制)模式编解码的,则可以分配第四预定义帧内预测模式(例如平面或dc模式)。
[0414]
v.在一个示例中,对于预定义帧内预测模式中的每一个,可以是dc模式或平面模式或垂直模式或水平模式或45度模式或135度模式。
[0415]
vi.替代地,如果共位亮度块是以mip模式编解码的,则可以根据mip模式和共位亮度块的维度(例如通过使用章节2.2.2.2中的表“在mip与帧内预测模式之间映射的规范”)将mip模式映射到帧内预测模式。
[0416]
vii.可以从若干候选(诸如dc模式和平面模式)中自适应地选择预定义模式。
[0417]
1)可以将预定义模式从编码器信令通知到解码器。
[0418]
2)可以将预定义模式从编码器导出到解码器。
[0419]
a.例如,如果解码器确定当前图片是屏幕内容图片,则预定义模式可以是dc模式,否则,预定义模式是平面模式。
[0420]
viii.可以以与用于色度dm导出过程所利用的方式(例如子节8.4.3中的lumaintrapredmode)相同的式,来定义预定义模式。
[0421]
d.当共位亮度块以正常帧内预测模式和/或bdpcm模式编解码时,可以取决于共位亮度块的帧内预测模式,以与dm模式(诸如章节2.7指定的)相同的式来导出色度帧内预测模式。导出的色度帧内预测模式然后用于选择rst中所使用的变换集和/或变换矩阵(例如根据章节2.6中所示的变换集选择表)。
[0422]
e.在以上项目符号中,共位亮度块可以是覆盖指定亮度位置的编解码块,诸如图24b的tl或图25的cr。
[0423]
7.选择rst中所使用的变换集和/或变换矩阵可以取决于一次变换。
[0424]
a.在一个示例中,如果应用到一个块的一次变换是标识变换(例如,将ts模式应用到一个块),则rst中所使用的变换集和/或变换矩阵可以与其他类型的一次变换不同。
[0425]
b.在一个示例中,如果应用到一个块的水平和垂直一维一次变换是相同的基(例如,dct-ii二者),则rst中所使用的变换集和/或变换矩阵可以与来自不同方向(垂直或水平)的不同基的一次变换不同。
[0426]
信令通知rst边信息和残差编解码
[0427]
8.是否和/或如何信令通知rst的边信息(例如)可以取决于块中的最后一个非零系数(以扫描顺序)。
[0428]
a.在一个示例中,仅当最后一个非零系数位于应用rst的cg中,才可以启用rst,并且可以信令通知rst的索引。
[0429]
b.在一个示例中,当最后一个非零系数不是位于应用rst的cg中,则禁用rst并且跳过信令通知rst。
[0430]
9.是否和/或如何信令通知rst的边信息(例如)可以取决于某一色彩分量的系数,而不是cu中所有可用的色彩分量的系数。
[0431]
a.在一个示例中,只有亮度信息可以用于确定是否和/或如何信令通知rst的边信息。
[0432]
i.替代地,此外,仅当块的维度满足一定的条件时才应用上述方法。
[0433]
1)条件是w《t1或h《t2。
[0434]
2)例如,t1=t2=4。因此,对于4x4cu,亮度块尺寸为4x4,以4:2:0格式的两个色度块为2x2,在这种情况下,仅可以利用亮度信息。
[0435]
ii.替代地,此外,仅当当前分割类型树是单树时才应用上述方法。
[0436]
b.是使用一个色彩分量信息还是全部色彩分量信息可以取决于块维度/编解码信
息。
[0437]
10.是否和/或如何信令通知rst的边信息(例如)可以取决于一个块的部分区域内的系数而不是整个块内的系数。
[0438]
a.在一个示例中,部分区域可以限定为应用rst的cg。
[0439]
b.在一个示例中,部分区域可以限定为在块的扫描顺序或反向扫描顺序中的前m个或后m个(例如m=1或2)cg。
[0440]
i.在一个示例中,m可以取决于块维度。
[0441]
ii.在一个示例中,如果块尺寸为4xn和/或nx4(n》8),则m设置为2。
[0442]
iii.在一个示例中,如果块尺寸为4x8和/或8x4和/或wxh(w》=8,h》=8),则m设置为1。
[0443]
c.在一个示例中,具有维度w
×
h的块的信息(例如,块的非零系数的数目)可能不被允许考虑来确定使用rst和/或信令通知rst相关的信息。
[0444]
i.例如,如果w《t1或h《t2,则块的非零系数的数目不被计数。例如,t1=t2=4。
[0445]
d.在一个示例中,部分区域可以限定为具有维度w
×
h的当前块的左上m
×
n区域。
[0446]
i.在一个示例中,m可以小于w和/或n可以小于h。
[0447]
ii.在一个示例中,m和n可以固定的数目。例如,m=n=4。
[0448]
iii.在一个示例中,m和/或n可以取决于w和/或h。
[0449]
iv.在一个示例中,m和/或n可以取决于最大允许的变换尺寸。
[0450]
1)例如,如果w大于8和h等于4,则m=8和n=4。
[0451]
2)例如,如果h大于8和w等于4,则m=4和n=8。
[0452]
3)例如,如果不满足上述两个条件中的任一个,则m=4和n=4。
[0453]
v.替代地,此外,这些方法仅可以应用到一定的块维度,诸如不满足7.c中条件。
[0454]
e.在一个示例中,部分区域对于所有块可以是相同的。
[0455]
i.替代地,部分区域可以基于块维度和/或编解码信息来改变。
[0456]
f.在一个示例中,部分区域可以取决于扫描顺序索引的给定范围。
[0457]
i.在一个示例中,部分区域可以是覆盖位于指定范围内的系数的区域,其中,基于维度为w
×
h的当前块的系数扫描顺序(例如,反向解码顺序),该指定范围内的系数的扫描顺序索引在[dxs,idxe](含端值)内。
[0458]
1)在一个示例中,idxs等于0。
[0459]
2)在一个示例中,idxe可以小于w
×
h-1。
[0460]
3)在一个示例中,idxe可以固定数目。例如,idxe=15。
[0461]
4)在一个示例中,idxe可以取决于w和/或h。
[0462]
a.例如,如果w大于8和h等于4,则idxe=31。
[0463]
b.例如,如果h大于8和w等于4,则idxe=31。
[0464]
c.例如,如果w等于8和h等于8,则idxe=7。
[0465]
d.例如,如果w等于4和h等于4,则idxe=7。
[0466]
e.例如,如果不满足上述两个条件a)和b)中的任一个,则idxe=15。
[0467]
f.例如,如果不满足上述四个条件a)、b)、c)和d)中的任一个,则idxe=15。
[0468]
g.例如,如果不满足上述两个条件c)和d)中的任一个,则idxe=15。
[0469]
ii.替代地,此外,这些方法仅可以应用到一定的块维度,诸如不满足7.c中条件。
[0470]
g.在一个示例中,方法可以取决于部分区域内非零系数的位置。
[0471]
h.在一个示例中,方法可以取决于部分区域内非零系数的能量(诸如平方的总和或绝对值的总和)。
[0472]
i.在一个示例中,方法可以取决于一个块的部分区域内而不是整个块内非零系数的数目。
[0473]
i.在一个示例中,方法可以取决于cu中一个或多个块的部分区域内非零系数的数目。
[0474]
ii.当一个块的部分区域内的非零系数的数目小于阈值时,可以跳过信令通知rst的边信息。
[0475]
iii.在一个示例中,将阈值固定为n(例如,n=1或2)。
[0476]
iv.在一个示例中,阈值可以取决于条带类型/图片类型/分割树类型(双树或单树)/视频内容(屏幕内容或相机捕获的内容)。
[0477]
v.在一个示例中,阈值可以取决于色彩格式,诸如4:2:0或4:4:4,和/或色彩分量,诸如y或cb/cr。
[0478]
11.当在可以应用rst的cg中没有非零系数时,应该禁用rst。
[0479]
a.在一个示例中,当将rst应用到一个块时,应用rst的至少一个cg必须含有至少一个非零系数。
[0480]
b.在一个示例中,对于4xn和/或nx4(n》8),如果应用rst,则前两个4x4 cg必须含有至少一个非零系数。
[0481]
c.在一个示例中,对于4x8和/或8x4,如果应用rst,则左上4x4必须含有至少一个非零系数。
[0482]
d.在一个示例中,对于wxh(w》=8和h》=8),如果应用rst,则左上4x4必须含有至少一个非零系数。
[0483]
e.一致性比特流必须满足上述条件的一个或多个。
[0484]
12.可以在编解码残差(例如变换系数/直接量化)之前信令通知rst有关的语法元素。
[0485]
a.在一个示例中,在系数的解析过程中移除对归零区域中非零系数的数目(例如)和整个块中非零系数的数目(例如)的计数。
[0486]
b.在一个示例中,rst有关的语法元素(例如st_idx)可以是在之前编解码的。
[0487]
c.可以有条件地信令通知rst有关的语法元素(例如根据编解码块标志、ts模式使用)。
[0488]
vi.在一个示例中,rst有关的语法元素(例如st_idx)可以是在信令通知编解码块标志之后或在信令通知ts/mts有关的语法元素之后编解码的。
[0489]
vii.在一个示例中,当启用ts模式(例如,解码的等于1)时,跳过信令通知rst有关的语法元素。
[0490]
d.不可以为归零cg信令通知残差有关的语法。
[0491]
e.如何编解码残差(例如,扫描顺序、二值化、要解码的语法、上下文建模)可以取决于rst。
[0492]
i.在一个示例中,可以应用栅格扫描顺序而不是对角向右上方扫描顺序。
[0493]
1)格栅格扫描顺序是从左到右和从上到下,或者相反顺序。
[0494]
2)替代地,可以应用垂直扫描顺序(从上到下和从左到右或相反顺序)而不是对角向右上方扫描顺序。
[0495]
3)替代地,此外,可以修改上下文建模。
[0496]
a.在一个示例中,上下文建模可以取决于模板中先前编解码的信息,该先前编解码信息是以该扫描顺序的最近扫描的n个邻域,而不是使用右方、下方、右下方邻域。
[0497]
b.在一个示例中,上下文建模可以取决于模板中根据扫描索引(例如-1,-2,..假设当前索引等于0)的先前编解码的信息。
[0498]
ii.在一个示例中,可以应用不同二值化方法(例如,赖斯参数导出)对与rst编解码和非rst编解码块相关联的残差进行编解码。
[0499]
iii.在一个示例中,对于rst编解码块,可以跳过信令通知一定的语法元素。
[0500]
1)对于应用rst的cg,可以跳过信令通知cg编解码块标志()。
[0501]
a.在一个示例中,当以对角扫描顺序将rst 8x8应用到前三个cg时,对于第二和第三cg(例如,在块的左上8x8区域中的左上4x4 cg和左下4x4 cg)跳过信令通知cg编解码块标志。
[0502]
i.替代地,此外,将对应的cg编解码块标志推断为0,即所有系数为零。
[0503]
b.在一个示例中,当将rst应用到一个块时,对于扫描顺序中的第一cg(或者相反扫描顺序中的最后一个cg)跳过信令通知cg编解码块标志。
[0504]
ii.替代地,此外,将块中左上cg的cg编解码块标志推断为1,即它含有至少一个非零系数。
[0505]
c.图21描绘了8x8块的示例。当将rst 8x8或rst 4x4应用到8x8块时,cg0的推断为1,cg1和cg2的推断为0。
[0506]
2)可以跳过信令通知一定的坐标的系数幅度和/或符号标志。
[0507]
a.在一个示例中,如果在扫描顺序中相对于一个cg的索引不小于可以存在非零系数的最大允许的索引(例如,区段0中的nonzerosize),则可以跳过信令通知系数。
[0508]
b.在一个示例中,可以跳过信令通知语法元素,诸如b.在一个示例中,可以跳过信令通知语法元素,诸如b.在一个示例中,可以跳过信令通知语法元素,诸如
[0509]
3)替代地,可以持续信令通知残差(例如,cg编解码的块标志、一定的坐标的系数幅度和/或符号标志),但是上下文建模可以修改为不同于其他cg。
[0510]
iv.在一个示例中,在应用rst的cg和其他cg中对残差的编解码可以不同。
[0511]
1)对于上述子项目符号,仅可以将它们应用到应用rst的cg。
[0512]
13.可以在其他变换指示(诸如变换跳过和/或mts索引)之前信令通知rst有关的语法元素。
[0513]
a.在一个示例中,信令通知变换跳过可以取决于rst信息。
[0514]
i.在一个示例中,如果将rst应用到块中,则对于该块不信令通知变换跳过指示并且将其推断为0。
[0515]
b.在一个示例中,信令通知mts索引可以取决于rst信息。
[0516]
i.在一个示例中,如果将rst应用到块中,则不信令通知一个或多个mts变换指示并且将其推断为不用于该块。
[0517]
14.提出将不同的上下文建模方法用在一个块内不同部分的算术编解码中。
[0518]
a.在一个示例中,块被处理成两个部分,扫描顺序中的前m个cg和剩余cg。
[0519]
i.在一个示例中,m设置为1。
[0520]
ii.在一个示例中,对于4xn和nx4(n》8)块,m设置为2;并且对于所有其他情况,m设置为1。
[0521]
b.在一个示例中,块被处理成两个部分,应用rst的子区域和不应用rst的子区域。
[0522]
i.如果应用rst 4x4,则应用rst的子区域是当前块的前一个或两个cg。
[0523]
ii.如果应用rst 4x4,则应用rst的子区域是当前块的前三个cg。
[0524]
c.在一个示例中,提出对于一个块内第一部分禁用上下文建模中的先前编解码的信息的使用,但是对于第二部分启用上下文建模中的先前编解码的信息的使用。
[0525]
d.在一个示例中,当解码第一cg时,可以不允许使用剩余一个或多个cg的信息。
[0526]
i.在一个示例中,当对第一cg的cg编解码块标志进行编解码时,不考虑第二cg(例如,右方或下方)的值。
[0527]
ii.在一个示例中,当对第一cg的cg编解码块标志进行编解码时,不考虑第二cg和第三cg(例如,wxh(w》=8和h》=8)的右方或下方cg)的值。
[0528]
iii.在一个示例中,当对当前系数进行编解码时,如果它在上下文模板中的邻域是在不同cg中,则不允许使用来自该邻域的信息。
[0529]
e.在一个示例中,当对应用rst的区域中的系数进行解码时,可以不允许使用不应用rst的剩余区域的信息。
[0530]
f.替代地,此外,在一定的条件下可以应用上述方法。
[0531]
i.条件可以包括是否启用rst。
[0532]
ii.条件可以包括块维度。
[0533]
rst边信息的算术编解码中的上下文建模
[0534]
15.当对rst索引进行编解码时,上下文建模可以取决于是启用显式还是隐式多个变换选择(mts)。
[0535]
a.在一个示例中,当启用隐式mts时,可以为以相同帧内预测模式编解码的块选择不同上下文。
[0536]
i.在一个示例中,诸如形状(正方形或非正方形)的块维度用于选择上下文。
[0537]
b.在一个示例中,代替检验显式mts编解码的变换索引(例如),可以替代地使用变换矩阵基。
[0538]
i.在一个示例中,对于具有水平和垂直一维变换二者的dct-ii的变换矩阵基,对应的上下文可以不同于其他类型的变换矩阵。
[0539]
16.当对rst索引进行编解码时,上下文建模可以取决于是否启用cclm(例如,
)。
[0540]
a.替代地,是否启用或如何选择用于rst索引编解码的上下文可以取决于是否将cclm应用到一个块。
[0541]
b.在一个示例中,上下文建模可以取决于是否为当前块启用cclm。
[0542]
i.在一个示例中,intramodectx=
[0543]
(intra_chroma_pred_mode[x0][y0]is cclm:intra_chroma_pred_mode[x0][y0]is dm)?1:0。
[0544]
c.替代地,是否启用或如何选择用于rst索引编解码的上下文可以取决于是否以dm模式编解码当前色度块。
[0545]
i.在一个示例中,the intramodectx=(intra_chroma_pred_mode[x0][y0]==(?7:4))?1:0。
[0546]
17.当对rst索引进行编解码时,上下文建模可以取决于块维度/划分深度(例如,四叉树深度和/或bt/tt深度)。
[0547]
18.当对rst索引进行编解码时,上下文建模可以取决于色彩格式和/或色彩分量。
[0548]
19.当对rst索引进行编解码时,上下文建模可以与帧内预测模式和/或mts索引无关。
[0549]
20.当对rst索引进行编解码时,第一和/或第二二进制树可以是以唯一上下文来上下文编解码的;或是旁路编解码的。
[0550]
条件下调用rst过程
[0551]
21.是否调用反向rst过程可以取决于cg编解码块标志。
[0552]
a.在一个示例中,如果左上cg编解码块标志是零,则不需要调用该过程。
[0553]
i.在一个示例中,如果左上cg编解码块标志是零且块尺寸不等于4xn/nx4(n》8),则不需要调用该过程。
[0554]
b.在一个示例中,如果扫描顺序中前两个cg编解码块标志二者都等于零,则不需要调用该过程。
[0555]
i.在一个示例中,如果扫描顺序中前两个cg编解码块标志二者都等于零且块尺寸等于4xn/nx4(n》8),则不需要调用该过程。
[0556]
22.是否调用反向rst过程可以取决于块维度。
[0557]
a.在一个示例中,对于一定的块维度(诸如4x8/8x4),可以禁用rst。替代地,此外,可以跳过信令通知rst有关的语法元素。
[0558]
双树和单树编解码的统一
[0559]
23.在双树和单树编解码中,可以以相同方式确定rst的使用和/或rst有关的信息的信令通知。
[0560]
a.例如,当计数的非零系数的数目(例如jvet-n0193中指定的numsigcoeff)的数目在双树编解码情况下不大于t1或者在单树编解码情况下不大于t2时,不应应用rst,并且不信令通知有关的信息,其中t1等于t2。
[0561]
b.在一个示例中,t1和t2二者都设置为n,例如n=1或2。
[0562]
考虑cu中的多个tu
[0563]
24.是否和/或如何应用rst可以取决于块维度w
×
h。
[0564]
a.在一个示例中,如果w》t1或h》t2,则可以不应用rst。
[0565]
b.在一个示例中,如果w》t1和h》t2,则可以不应用rst。
[0566]
c.在一个示例中,如果w*h》=t,则可以不应用rst。
[0567]
d.对于上述示例,如下适用:
[0568]
i.在一个示例中,块为cu。
[0569]
ii.在一个示例中,t1=t2=64。
[0570]
iii.在一个示例中,t1和/或t2可以取决于允许的最大变换尺寸。例如,t1=t2=允许的最大变换尺寸。
[0571]
iv.在一个示例中,t设置为4096。
[0572]
e.替代地,此外,如果确定不应用rst,则可以不信令通知有关的信息。
[0573]
25.当cu中存在n(n》1)个tu时,n个tu的唯一一个tu的编解码信息用于确定rst的使用和/或rst有关的信息的信令通知。
[0574]
a.在一个示例中,解码顺序中cu的第一tu可以用于做出确定。
[0575]
b.在一个示例中,解码顺序中cu的左上tu可以用于做出确定。
[0576]
c.在一个示例中,对于在cu中存在唯一一个tu时的情况,可以以相同方法做出指定tu的确定。
[0577]
26.可以以tu级或pu级而不是cu级来执行rst的使用和/或rst的有关信息的信令通知。
[0578]
a.替代地,此外,cu内不同tu/pu可以选择不同二次变换矩阵或启用/禁用控制标志。
[0579]
b.替代地,此外,对于双树情况并且编解码色度块,不同色彩分量可以选择不同二次变换矩阵或启用/禁用控制标志。
[0580]
c.替代地,是否以视频单元级信令通知rst有关的信息可以取决于分割树类型(双树或单数)。
[0581]
d.替代地,是否以视频单元级信令通知rst有关的信息可以取决于cu/pu/tu之间关系和最大允许的变换块尺寸,诸如更大或更小。
[0582]
5本公开的技术的示例实现方式
[0583]
在以下示例性实施例中,jvet-n0193之上的改变以粗体和斜体突出显示。用双括号标记删除的文本(例如,[[a]]表示删除字符“a”)。
[0584]
5.1实施例#1
[0585]
rst索引的信令通知是取决于块的子区域内而不是整个块内的非零系数的数目。
[0586]
7.3.6.11残差编解码语法
[0587][0588]
[0589]
[0590]
[0591][0592]
替代地,条件可以替换为:
[0593][0594]
5.2实施例#2
[0595]
rst可以不根据一定的cg的编解码块标志来调用。
[0596]
8.7.4.缩放变换系数的变换过程
[0597]
8.7.4.1一般性
[0598]
此过程的输入是:
[0599]

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

变量ntbw,指定当前变换块的宽度,
[0601]

变量ntbh,指定当前变换块的高度,
[0602]

变量cidx,指定当前块的色彩分量,
[0603]

缩放变换系数的(ntbw)x(ntbh)阵列d[x][y],其中x=0..ntbw

1,y=0..ntbh-1。
[0604]
此过程的输出是残差样点的(ntbw)x(ntbh)阵列r[x][y],其中x=0..ntbw

1,y=0..ntbh-1。
[0605][0606]
如果st_idx[xtby][ytby]不等于0,则以下适用:
[0607]
1.变量nstsize、log2stsize、numstx、numsty和nonzerosize导出如下:
[0608]

如果ntbw和ntbh二者都大于或等于8,则log2stsize设置为3并且nstoutsize设置为48。
[0609]

否则,log2stsize设置为2并且nstoutsize设置为16。
[0610]

nstsize设置为(1《《log2stsize)。
[0611]

如果ntbh等于4并且ntbw大于8,则numstx设置为等于2。
[0612]

否则,numstx设置为等于1。
[0613]

如果ntbw等于4并且ntbh大于8,则numsty设置为等于2。
[0614]

否则,numsty设置为等于1。
[0615]

如果ntbw和ntbh二者都等于4或ntbw和ntbh二者都等于8,则nonzerosize设置为等于8。
[0616]

否则,nonzerosize设置为等于16。
[0617]
2.对于xsbidx=0..numstx

1和ysbidx=0..numsty

1,以下适用:
[0618]

变量array u[x],其中x=0..nonzerosize

1,导出如下:
[0619]
xc=(xsbidx《《log2stsize)
[0620]
diagscanorder[log2stsize][log2stsize][x][0]
[0621]
yc=(ysbidx《《log2stsize)
[0622]
diagscanorder[log2stsize][log2stsize][x][1]
[0623]
u[x]=d[xc][yc]
[0624]

通过使用以下调用节8.7.4.4中指定的一维变换过程,将u[x](其中x=0..nonzerosize

1)变换为变量阵列v[x](其中x=0..nstoutsize

1):缩放变换系数变换输入长度nonzerosize、变换输出长度nstoutsize、列表u[x](其中x=0..nonzerosize

1)、变换集选择的索引stpredmodeintra、以及变换集中变换选择的索引st_idx[xtby][ytby]作为输入,并且输出是列表v[x](其中x=0..nstoutsize

1)。变量stpredmodeintra设置为节8.4.4.2.1指定的predmodeintra。
[0625]

阵列d[(xsbidx《《log2stsize) x][(ysbidx《《log2stsize) y],其中x=0..nstsize

1,y=0..nstsize

1,导出如下:
[0626]

如果stpredmodeintra小于或等于34、或等于intra_lt_cclm、intra_t_cclm或intra_l_cclm,则如下适用:
[0627]
d[(xsbidx《《log2stsize) x][(ysbidx《《log2stsize) y]=(y《4)?v[x (y《《log2stsize)]:((x《4)?v[32 x ((y

4)《《2)]:d[(xsbidx《《log2stsize) x][(ysbidx《《log2stsize) y])
[0628]

否则,如下适用:
[0629]
d[(xsbidx《《log2stsize) x][(ysbidx《《log2stsize) y]=(y《4)?v[y (x《《log2stsize)]:((x《4)?v[32 (y

4) (x《《2)]:d[(xsbidx《《log2stsize) x][(ysbidx《《log2stsize) y])
[0630]
变量implicitmtsenabled导出如下:
[0631]

如果sps_mts_enabled_flag等于1并且以下条件中的一个为真,则implicitmtsenabled设置为等于1:
[0632]

intrasubpartitionssplittype不等于isp_no_split
[0633]

cu_sbt_flag等于1并且max(ntbw,ntbh)小于或等于32
[0634]

sps_explicit_mts_intra_enabled_flag和sps_explicit_mts_inter_enabled_flag都等于0并且cupredmode[xtby][ytby]等于mode_intra。
[0635]

否则,implicitmtsenabled设置为等于0。
[0636]
指定水平变换核的变量trtypehor和指定垂直变换核的变量trtypever导出如下:
[0637]

如果cidx大于0,则trtypehor和trtypever设置为等于0。
[0638]

否则,如果implicitmtsenabled等于1,则如下适用:
[0639]

如果intrasubpartitionssplittype不等于isp_no_split,则trtypehor和trtypever被指定在表8-15中,取决于intrapredmode。
[0640]

否则,如果cu_sbt_flag等于1,则trtypehor和trtypever被指定在表8-14中,取决于cu_sbt_horizontal_flag和cu_sbt_pos_flag。
[0641]

否则(sps_explicit_mts_intra_enabled_flag和sps_explicit_mts_inter_enabled_flag等于0),trtypehor和trtypever导出如下:
[0642]
trtypehor=(ntbw》=4&&ntbw《=16&&ntbw《=ntbh)?1:0(8-1029)
[0643]
trtypever=(ntbh》=4&&ntbh《=16&&ntbh《=ntbw)?1:0(8-1030)
[0644]

否则,trtypehor和trtypever被指定在表8-13,取决于
[0645]
tu_mts_idx[xtby][ytby]。
[0646]
变量nonzerow和nonzeroh导出如下:
[0647]
nonzerow=min(ntbw,(trtypehor》0)?16:32)
ꢀꢀ
(8-1031)
[0648]
nonzeroh=min(ntbh,(trtypever》0)?16:32)
ꢀꢀ
(8-1032)
[0649]
残差样点的(ntbw)x(ntbh)阵列导出如下:
[0650]
1.当ntbh大于1时,通过使用以下调用节8.7.4.2指定的一维变换过程将每个(垂直)列缩放变换系数d[x][y](其中x=0..nonzerow

1,y=0..nonzeroh

1)变换为e[x][y](其中x=0..nonzerow

1,y=0..ntbh

1):对于每个列x=0..nonzerow-1,变换块的高度ntbh、缩放变换系数的非零高度nonzeroh、列表d[x][y](其中y=0..nonzeroh

1)以及设置为等于trtypever的变换类型变量trtype作为输入,并且输出是列表e[x][y],其中y=0..ntbh-1。
[0651]
2.当ntbh和ntbw都大于1时,中间样点值g[x][y],其中
[0652]
x=0..nonzerow

1,y=0..ntbh

1,导出如下:
[0653]
g[x][y]=clip3(coeffmin,coeffmax,(e[x][y] 64)》》7)(8-1033)
[0654]
当ntbw大于1时,通过使用以下调用节8.7.4.2指定的一维变换过程将每个(水平)行得到的阵列g[x][y](其中x=0..nonzerow

1,y=0...ntbh

1)变换为r[x][y](其中x=0...ntbw

1,y=0..ntbh

1):对于每个行y=0...ntbh-1,变换块的宽度ntbw、得到的阵列g[x][y]的非零宽度nonzerow、列表g[x][y](其中x=0..nonzerow

1)以及设置为等于trtypehor的变换类型变量trtype作为输入,并且输出是列表r[x][y],其中y=0..ntbw-1。
[0655]
5.3实施例#3
[0656]
修订rst索引的上下文建模。
[0657]
5.3.1替代例#1
[0658]
9.5.4.2.8语法元素st_idx的ctxinc的导出过程
[0659]
此过程的输入是:色彩分量索引cidx;亮度或色度位置(x0,y0),取决于cidx指定相对于当前图片的左上样点的当前亮度或色度编解码块的左上样点;树类型treetype;如节8.4.2中指定的亮度帧内预测模式intrapredmodey[x0][y0];如节7.4.7.5中指定的为色度样点指定帧内预测模式的语法元素intra_chroma_pred_mode[x0][y0];以及多个变换选择索引tu_mts_idx[x0][y0]。
[0660]
此过程的输出是变量ctxinc。
[0661]
变量intramodectx导出如下:
[0662]
如果cidx等于0,则intramodectx导出如下:
[0663]
intramodectx=(intrapredmodey[x0][y0]《=1)?1:0
[0664]
否则(cidx大于0),则intramodectx导出如下:
[0665]
intramodectx=(intra_chroma_pred_mode[x0][y0]》=4)?1:0
[0666]
变量mtsctx导出如下:
[0667][0668]
变量ctxinc导出如下:
[0669]
ctxinc=(binidx《《1) intramodectx (mtsctx《《2)
[0670]
5.3.2替代例#2
[0671][0672]
表9-15

用上下文编解码的二进制数向语法元素分配ctxinc
[0673][0674]
[[9.5.4.2.8语法元素st_idx的ctxinc的导出过程
[0675]
此过程的输入是:色彩分量索引cidx;亮度或色度位置(x0,y0),取决于cidx指定相对于当前图片的左上样点的当前亮度或色度编解码块的左上样点;树类型treetype;如节8.4.2中指定的亮度帧内预测模式intrapredmodey[x0][y0];如节7.4.7.5中指定的为色度样点指定帧内预测模式的语法元素intra_chroma_pred_mode[x0][y0];以及多个变换选择索引tu_mts_idx[x0][y0]。
[0676]
此过程的输出是变量ctxinc。
[0677]
变量intramodectx导出如下:
[0678]
如果cidx等于0,则intramodectx导出如下:
[0679]
intramodectx=(intrapredmodey[x0][y0]《=1)?1:0
[0680]
否则(cidx大于0),则intramodectx导出如下:
[0681]
intramodectx=(intra_chroma_pred_mode[x0][y0]》=4)?1:0
[0682]
变量mtsctx导出如下:
[0683]
mtsctx=(tu_mts_idx[x0][y0]==0&&treetype!=single_tree)?1:0
[0684]
变量ctxinc导出如下:
[0685]
ctxinc=(binidx《《1) intramodectx (mtsctx《《2)]]
[0686]
5.4实施例#4
[0687]
对应于项目符号7.c和7.d。
[0688]
7.3.7.11残差编解码语法
[0689][0690][0691]
在替代的示例中,如下可以适用:
[0692][0693][0694]
在一个示例中,如下可以适用:
[0695]
如果log2tbwidth》3&&log2tbheight==2,则sigrangex等于8。否则,sigrangex等于4。如果log2tbheight》3&&log2tbwidth==2,则sigrangey等于8。否则,sigrangey等于4。
[0696]
5.5实施例#5
[0697]
对应于项目条目19
[0698]
7.3.6.5编解码单元语法
[0699]
[0700][0701]
5.6实施例#6
[0702]
对应于项目条目20
[0703]
7.3.6.5编解码单元语法
[0704]
[0705][0706]
5.7实施例#7
[0707]
对应于项目条目21
[0708]
7.3.7.11残差编解码语法
[0709]
[0710][0711][0712]
5.8实施例#8
[0713]
从分配到非正常帧内预测模式的默认模式中导出rst变换集索引。新添加的部分以粗体和斜体突出显示并且用双括号标记删除的部分(例如,[[a]]表示删除字符“a”)。
[0714]
8.7.4.1一般性
[0715]
此过程的输入是:
[0716]

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

变量ntbw,指定当前变换块的宽度,
[0718]

变量ntbh,指定当前变换块的高度,
[0719]

变量cidx,指定当前块的色彩分量,
[0720]

缩放变换系数的(ntbw)x(ntbh)阵列d[x][y],其中x=0..ntbw

1,y=0..ntbh-1。
[0721]
此过程的输出是残差样点的(ntbw)x(ntbh)阵列r[x][y],其中x=0..ntbw

1,y=0..ntbh-1。
[0722]
当lfnst_idx[xtby][ytby]不等于0并且ntbw和ntbh二者都大于或等于4时,如下适用:
[0723]

变量predmodeintra、nlfnstoutsize、log2lfnstsize、nlfnstsize、和
nonzerosize导出如下:
[0724]
predmodeintra=
[0725]
(cidx==0)?intrapredmodey[xtby][ytby]:intrapredmodec[xtby][ytby]
ꢀꢀ
(8-965)
[0726]
nlfnstoutsize=(ntbw》=8&&ntbh》=8)?48:16
ꢀꢀ
(8-966)
[0727]
log2lfnstsize=(ntbw》=8&&ntbh》=8)?3:2
ꢀꢀ
(8-967)
[0728]
nlfnstsize=1《《log2lfnstsize
ꢀꢀ
(8-968)
[0729]
nonzerosize=((ntbw==4&&ntbh==4)||(ntbw==8&&ntbh==8))?8:16
ꢀꢀ
(8-969)
[0730]

当intra_mip_flag[xtbcomp][ytbcomp]等于1并且cidx等于0时,predmodeintra设置为等于intra_planar。
[0731]

当predmodeintra等于intra_lt_cclm、intra_l_cclm或intra_t_cclm时,predmodeintra导出如下:
[0732][0733]

使用以下调用节8.4.5.2.6中指定的宽角度帧内预测模式映射过程:predmodeintra、ntbw、ntbh和cidx作为输入,并且修改的predmodeintra作为输出。
[0734]
替代地,如下可以适用:
[0735]

当predmodeintra等于intra_lt_cclm、intra_l_cclm或intra_t_cclm时,predmodeintrapredmodeintra
[0736][0737]
5.9实施例#9
[0738]
rst变换集索引是从分配到非正常帧内预测模式的默认模式中导出的,并且取决于色彩格式。新添加的部分以粗体和斜体突出显示并且用双括号标记删除的部分(例如,[[a]]表示删除字符“a”)。
[0739]
8.7.4.2一般性
[0740]
此过程的输入是:
[0741]

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

变量ntbw,指定当前变换块的宽度,
[0743]

变量ntbh,指定当前变换块的高度,
[0744]

变量cidx,指定当前块的色彩分量,
[0745]

缩放变换系数的(ntbw)x(ntbh)阵列d[x][y],其中x=0..ntbw

1,y=0..ntbh-1。
[0746]
此过程的输出是残差样点的(ntbw)x(ntbh)阵列r[x][y],其中x=0..ntbw

1,y=0..ntbh-1。
[0747]
当lfnst_idx[xtby][ytby]不等于0并且ntbw和ntbh二者都大于或等于4,如下适用:
[0748]

变量predmodeintra、nlfnstoutsize、log2lfnstsize、nlfnstsize、和nonzerosize导出如下:
[0749]
predmodeintra=
[0750]
(cidx==0)?intrapredmodey[xtby][ytby]:intrapredmodec[xtby][ytby](8-965)
[0751]
nlfnstoutsize=(ntbw》=8&&ntbh》=8)?48:16
ꢀꢀ
(8-966)
[0752]
log2lfnstsize=(ntbw》=8&&ntbh》=8)?3:2
ꢀꢀ
(8-967)
[0753]
nlfnstsize=1《《log2lfnstsize
ꢀꢀ
(8-968)
[0754]
nonzerosize=((ntbw==4&&ntbh==4)||(ntbw==8&&ntbh==8))?8:16
ꢀꢀ
(8-969)
[0755]

当intra_mip_flag[xtbcomp][ytbcomp]等于1并且cidx等于0时,predmodeintra设置为等于intra_planar。
[0756]

当predmodeintra等于intra_lt_cclm、intra_l_cclm或intra_t_cclm时,predmodeintra
[0757][0758]

使用以下调用节8.4.5.2.6中指定的宽角度帧内预测模式映射过程:predmodeintra、ntbw、ntbh和cidx作为输入,并且修改的predmodeintra作为输出。
[0759]
表8-3-当chroma_format_idc等于2时从色度帧内预测模式x到模式y的4:2:2映射
过程的规范
[0760][0761][0762]
替代地,如下可以适用:
[0763]

当predmodeintra等于intra_lt_cclm、intra_l_cclm或intra_t_cclm时,predmodeintra
[0764][0765]
5.10实施例#10
[0766]
在该实施例中,检验当前色度块的对应亮度区域的中部亮度样点是否以mip或ibc或调色板模式编解码;并且dm的设置也是基于中部亮度样点。
[0767]
新添加的部分以粗体和斜体突出显示并且用双括号标记删除的部分(例如,[[a]]表示删除字符“a”)。
[0768]
8.4.3色度帧内预测模式的导出过程
[0769]
此过程的输入是:
[0770]

指定当前色度编解码块的左上样点相对于当前图片的左上亮度样点的亮度位置(xcb,ycb),
[0771]

变量cbwidth,指定亮度样点中的当前编解码块的宽度,
[0772]

变量cbheight,指定亮度样点中的当前编解码块的高度。
[0773]
在此过程中,导出色度帧内预测模式intrapredmodec[xcb][ycb]。
[0774]
对应的亮度帧内预测模式lumaintrapredmode导出如下:
[0775]

如果intra_mip_flag[xcb ][ycb ]等于1,则lumaintrapredmode设置为等于intra_planar。
[0776]-否则,如果cupredmode[0][xcb ][ycb ]等于mode_ibc或mode_plt,则lumaintrapredmode设置为等于intra_dc。
[0777]

否则,lumaintrapredmode设置为等于
[0778]
intrapredmodey[xcb cbwidth/2][ycb cbheight/2]。
[0779]
使用cclm_mode_mode_flag、cclm_mode_idx、intra_chroma_pred_mode和lumaintrapredmode导出色度帧内预测模式intrapredmodec[xcb][ycb],如表8-2指定的。
[0780]
表8-2

取决于cclm_mode_flag、cclm_mode_idx、intra_chroma_pred_mode和lumaintrapredmode的intrapredmodec[xcb][ycb]的规范
[0781][0782]
当chroma_format_idc等于2时,色度帧内预测模式y是使用表8-2中色度帧内预测模式x导出的,如表8-3指定的,并且然后色度帧内预测模式x设置等于色度帧内预测模式y。
[0783]
5.11实施例#11
[0784]
在该实施例中,检验当前色度块的对应亮度区域的左上亮度样点是否以mip或ibc或调色板模式编解码;以及dm的设置也是基于中部亮度样点。
[0785]
新添加的部分以粗体和斜体突出显示并且用双括号标记删除的部分(例如,[[a]]表示删除字符“a”)。
[0786]
8.4.3色度帧内预测模式的导出过程
[0787]
此过程的输入是:
[0788]

指定当前色度编解码块的左上样点相对于当前图片的左上亮度样点的亮度位置
(xcb,ycb),
[0789]

变量cbwidth,指定亮度样点中的当前编解码块的宽度,
[0790]

变量cbheight,指定亮度样点中的当前编解码块的高度。
[0791]
在此过程中,导出色度帧内预测模式intrapredmodec[xcb][ycb]。
[0792]
对应的亮度帧内预测模式lumaintrapredmode导出如下:
[0793]

如果intra_mip_flag[xcb][ycb]等于1,则lumaintrapredmode设置为等于intra_planar。
[0794]

否则,如果cupredmode[0][xcb][ycb]等于mode_ibc或mode_plt,则lumaintrapredmode设置为等于intra_dc。
[0795]

否则,lumaintrapredmode设置为等于intrapredmodey[xcb cbwidth/2][ycb cbheight/2]。
[0796]
使用cclm_mode_mode_flag、cclm_mode_idx、intra_chroma_pred_mode和lumaintrapredmode导出色度帧内预测模式intrapredmodec[xcb][ycb],如表8-2指定的。
[0797]
表8-2

取决于cclm_mode_flag、cclm_mode_idx、intra_chroma_pred_mode和lumaintrapredmode的intrapredmodec[xcb][ycb]的规范
[0798][0799][0800]
当chroma_format_idc等于2时,色度帧内预测模式y是使用表8-2中色度帧内预测模式x导出的,如表8-3指定的,并且然后色度帧内预测模式x设置等于色度帧内预测模式y。
[0801]
上文描述的示例可以并入下面描述的方法的上下文中,例如方法2200、2210、2220、2230、2240和2250,该方法可以在视频解码器或视频编码器处实现。
[0802]
图22a示出了视频处理的示例性方法的流程图。方法2200包括,步骤2202处,基于当前视频块的特性选择变换集或变换矩阵,以将缩减二次变换应用到当前视频块。
[0803]
方法2200包括,步骤2204处,作为当前视频块与包括当前视频块的视频的比特流
表示之间的转换的部分,将选择的变换集或变换矩阵应用到当前视频块的一部分。
[0804]
在一些实施例中,当前视频块的该部分是当前视频块的右上子区域、右下子区域、左下子区域或中部子区域。
[0805]
在一些实施例中,当前视频块的特性是当前视频块的帧内预测模式或一次变换矩阵。
[0806]
在一些实施例中,特性是当前视频块的色彩分量。在示例中,为当前视频块的亮度分量选择第一变换集,并且其中,为当前视频块的一个或多个色度分量选择与第一变换集不同的第二变换集。
[0807]
在一些实施例中,特性是当前视频块的帧内预测模式或帧内编解码方法。在示例中,帧内预测方法包括基于多个参考行(mrl)的预测方法或基于矩阵的帧内预测方法。在另一个示例中,当当前视频块是跨分量线性模型(cclm)编解码的块时,选择第一变换集,并且其中,当当前视频块是非cclm编解码的块时,选择与第一变换集不同的第二变换集。在另一个示例中,当当前视频块是以联合色度残差编解码方法编解码的时,选择第一变换集,并且其中,当当前视频块不是以联合色度残差编解码方法编解码的时,选择与第一变换集不同的第二变换集。
[0808]
在一些实施例中,特性是当前视频块的一次变换。
[0809]
图22b示出了视频处理的示例性方法的流程图。方法2210包括,步骤2212处,基于与当前视频块相关联的一个或多个系数做出决定,该决定关于选择性包括信令通知边信息,以将缩减二次变换(rst)应用在当前视频块的比特流表示中。
[0810]
方法2210包括,步骤2214处,基于该决定执行当前视频块与包括当前视频块的比特流表示的视频之间的转换。
[0811]
在一些实施例中,一个或多个系数包括当前视频块的扫描顺序中最后一个非零系数。
[0812]
在一些实施例中,一个或多个系数包括当前视频块的部分区域内的多个系数。在示例中,部分区域包括可应用rst的一个或多个编解码组。在另一个示例中,部分区域包括当前视频块的扫描顺序中前m个或后m个编解码组。在又一个示例中,部分区域包括当前视频块的反向扫描顺序中前m个或后m个编解码组。在又一个示例中,基于多个系数中的一个或多个非零系数的能量进一步作出决定。
[0813]
图22c示出了视频处理的示例性方法的流程图。方法2220包括,步骤2222处,配置当前视频块的比特流表示以将缩减二次变换(rst)应用到当前视频块,其中,在编解码残差信息之前在比特流表示中信令通知rst有关的语法元素。
[0814]
方法2220包括,步骤2224处,基于该配置执行当前视频块与当前视频块的比特流表示之间的转换。
[0815]
在一些实施例中,信令通知rst有关的语法元素是基于至少一个编解码块标志或变换选择模式的使用。
[0816]
在一些实施例中,比特流表示排除对应于具有所有零系数的编解码组的编解码残差信息。
[0817]
在一些实施例中,编解码残差信息是基于rst的应用。
[0818]
图22d示出了视频处理的示例性方法的流程图。方法2230,步骤2232处,配置当前
视频块的比特流表示以将缩减二次变换(rst)应用到当前视频块,其中,在变换跳过指示或是多个变换集(mts)索引之前在比特流表示中信令通知rst有关的语法元素。
[0819]
方法2230包括,步骤2234处,基于该配置执行当前视频块与当前视频块的比特流表示之间的转换。
[0820]
在一些实施例中,变换跳过指示或mts索引基于rst有关的语法元素。
[0821]
图22e示出了视频处理的示例性方法的流程图。方法2240包括,步骤2242处,基于当前视频块的特性来配置上下文模型以编解码缩减二次变换(rst)的索引。
[0822]
方法2240包括,步骤2244处,基于该配置执行当前视频块与包括当前视频块的视频的比特流表示之间的转换。
[0823]
在一些实施例中,特性是显式或隐式启用多个变换选择(mts)过程。
[0824]
在一些实施例中,特性是在当前视频块中启用跨分量线性模型(cclm)编解码模式。
[0825]
在一些实施例中,特性是当前视频块的尺寸。
[0826]
在一些实施例中,特性是应用到当前视频块的分割过程的划分深度。在示例中,分割过程是四叉树(qt)分割过程、二叉树(bt)分割过程或三叉树(tt)分割过程。
[0827]
在一些实施例中,特性是当前视频块的色彩格式或色彩分量。
[0828]
在一些实施例中,特性排除当前视频块的帧内预测模式和多个变换选择(mts)过程的索引。
[0829]
图22f示出了视频处理的示例性方法的流程图。方法2250包括,步骤2252处,基于当前视频块的特性做出决定,该决定关于将反向缩减二次变换(rst)过程选择性应用在当前视频块上。
[0830]
方法2250包括,步骤2254处,基于该决定执行当前视频块与包括当前视频块的视频的比特流表示之间的转换。
[0831]
在一些实施例中,特性是当前视频块的编解码组的编解码块标志。在示例中,不应用反向rst过程,并且其中,左上编解码组的编解码块标志为零。在另一个示例中,不应用反向rst过程,并且其中,当前视频块的扫描顺序中第一和第二编解码组的编解码块标志为零。
[0832]
在一些实施例中,特性是当前视频块的高度(m)或宽度(n)。在示例中,不应用反向rst过程,并且其中,(i)m=8和n=4,或者(ii)m=4和n=8。
[0833]
图26a示出了视频处理的示例性方法的流程图。方法2610包括,步骤2612处,对于视频的视频单元的当前视频块与视频的编解码表示之间的转换,为使用一定的帧内预测模式编解码的视频单元确定默认帧内预测模式,使得生成当前视频块的预测块,而无需沿着方向外推当前视频块的邻域像素。方法2610还包括,步骤2614处,基于该确定执行转换。
[0834]
图26b示出了视频处理的示例性方法的流程图。方法2620包括,步骤2622处,使用规则来确定视频的亮度块覆盖所述视频的色度块的预定位置。方法2620还包括,步骤2624处,基于该确定执行视频与视频的编解码表示之间的转换。在一些实现方式中,其中,以使用帧内预测模式的编解码表示来表示色度块。
[0835]
图26c示出了视频处理的示例性方法的流程图。方法2630包括,步骤2632处,使用规则来基于对应于色度块的亮度块的编解码模式导出视频的色度块的帧内预测模式。方法
2630还包括,步骤2634处,基于导出的帧内预测模式执行色度块与视频的编解码表示之间的转换。在一些实现方式中,该规则指定使用默认帧内预测模式以防亮度块的编解码模式是一定的帧内预测模式,其中,在不沿着方向外推所述亮度块的领域像素的情况下生成所述亮度块的预测块。
[0836]
图27a示出了视频处理的示例性方法的流程图。方法2710包括,步骤2712处,对于视频的色度块,做出是否将非正常的色度帧内预测模式应用到视频的色度块的第一确定。方法2710还包括,步骤2714处,对于对应于色度块的亮度块,做出将亮度帧内预测模式应用到亮度块的第二确定。方法2710还包括,步骤2716处,基于亮度帧内预测模式做出将变换集或变换矩阵应用到色度块的第三确定。方法2710还包括,步骤2718处,根据第三确定执行视频与视频的编解码表示之间的转换。在一些实现方式中,非正常的色度帧内预测模式包括在不使用沿着色度预测方向外推的邻域像素值的情况下编解码色度块。
[0837]
图27b示出了视频处理的示例性方法的流程图。方法2720包括,步骤2722处,对于视频的色度块,做出对应于色度块的亮度块是使用非正常的亮度帧内预测模式编解码的第一确定。方法2720还包括,步骤2724处,基于第一确定,根据规则做出色度块的变换集或变换矩阵的第二确定。方法2720还包括,步骤2726处,根据第二确定执行视频与视频的编解码表示之间的转换。在一些实现方式中,规则指定由于亮度块是使用非正常的亮度帧内预测模式编解码的,因而与色度块相关联的一个或多个默认模式或默认变换集确定变换集或变换矩阵以防色度块是使用非正常的色度帧内预测模式编解码的,其中,非正常的亮度帧内预测模式包括在不使用沿着亮度预测方向外推的邻域像素值的情况下编解码亮度块,并且其中,非正常的色度帧内预测模式包括在不使用沿着色度预测方向外推的邻域像素的情况下编解码色度块。
[0838]
图27c示出了视频处理的示例性方法的流程图。方法2730包括,步骤2732处,对于视频的当前视频块与视频的编解码表示之间的转换,基于以下的至少一个确定向一个色彩分量的当前视频块应用的第二变换工具的适用性:1)另一个色彩分量的对应块的编解码模式,或2)当前视频块的编解码模式。方法2730还包括,步骤2734处,基于该确定执行转换。在一些实现方式中,使用第二变换工具:编码期间,在量化之前将前向二次变换应用到向当前视频块的残差应用的前向一次变换的输出,或者解码期间,在应用反向一次变换之前将反向二次变换应用到当前视频块的去量化的输出。
[0839]
图27d示出了视频处理的示例性方法的流程图。方法2740包括,步骤2742处,对于视频的色度块,做出覆盖色度块的预定义位置的亮度块是使用非正常的亮度帧内预测模式编码的第一确定。方法2740还包括,步骤2744处,基于第一确定,做出第二确定以由于色度块是使用非正常的亮度帧内预测模式编码的因而将预定义帧内预测模式应用到色度块。方法2740还包括,步骤2746处,根据第二确定执行视频与视频的编解码表示之间的转换。在一些实现方式中,非正常的亮度帧内预测模式包括在不使用沿着亮度预测方向外推的邻域像素值的情况下编码亮度块。
[0840]
图27e示出了视频处理的示例性方法的流程图。方法2750包括,步骤2752处,对于视频的色度块,做出覆盖色度块的预定义位置的亮度块是使用正常亮度帧内预测模式编码的第一确定。方法2750还包括,步骤2754处,基于第一确定,做出第二确定以基于亮度块的正常亮度帧内预测模式导出色度帧内预测模式。方法2750还包括,步骤2756处,根据第二确
定执行视频与视频的编解码表示之间的转换,其中正常亮度帧内预测模式包括使用沿着亮度预测方向外推的邻域像素值编码亮度块。
[0841]
图23a是视频处理设备2300的框图。设备2300可以用于实现文中所述的方法中的一个或多个。设备2300可以实施为智能电话、平板计算机、物联网(iot)接收器等。设备2300可以包括一个或多个处理器2302、一个或多个存储器2304和视频处理硬件2306。(一个或多个)处理器2302可以配置为实现本文档中所述的一个或多个方法(包括但不限于方法2200至2750)。(一个或多个)存储器2304可以用于存储数据和代码,该代码用于实现本文所描述的的方法和技术。视频处理硬件2306可以用于在硬件电路中实现本文档中所描述的一些技术。在一些实施例中,硬件2306可以至少部分位于处理器2302,例如图形联合处理器中。
[0842]
图23b是其中可以实现所公开的技术的视频处理系统的框图的另一个示例。图23b是其中可以实现本文中所公开的各种技术的示例视频处理系统2400的框图。各种实现方式可以包括系统2400中的一些或全部组件。系统2400可以包括接收视频内容的输入2402。视频内容可以以原始或未压缩的格式(例如8或10比特多分量像素值)接收,或者可以以压缩或编码的格式接收。输入2402可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(pon)等)和无线接口(诸如wi-fi或蜂窝接口)。
[0843]
系统2400可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件2404。编解码组件2404可以减少从输入2402到编解码组件2404的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。编解码组件2404的输出可以被存储或经由所连接的通信来发送,如组件2406所表示的。在输入2402处接收的视频的存储或通信的比特流(或编解码)表示可以由组件2408使用,以生成被发送到显示接口2410的像素值或可显示视频。从比特流表示中生成用户可见的视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由解码器执行反向编解码结果的对应解码工具或操作。
[0844]
外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清晰度多媒体接口(hdmi)或displayport等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以实施在各种电子装置中,诸如移动电话、膝上型计算机、智能电话或其它能够执行数字数据处理和/或视频显示的装置。
[0845]
在一些实施例中,本专利文档中讨论的视频处理方法可以使用如关于图23a或23b所描述的硬件平台上实现的设备来实现。
[0846]
本公开的技术的一些实施例包括决定或确定启用视频处理工具或模式。在示例中,当启用视频处理工具或模式时,编码器将使用或实现在视频块的处理过程中的工具或模式,但是不必基于工具或模式的使用来修改得到的比特流。换言之,当基于决定或确定启用视频处理工具或模式时,从视频块到视频的比特流的转换将使用视频处理工具或模式。在另一个示例中,当启用视频处理工具或模式时,解码器将利用已经基于视频处理工具或模式修改比特流的知识来处理比特流。换言之,将使用基于决定或确定启用的视频处理工具或模式,执行从视频的比特流到视频块的转换。
[0847]
本公开的技术的一些实施例包括决定或确定禁用视频处理工具或模式。在示例中,当禁用视频处理工具或模式时,编码器在视频块到视频的比特流表示的转换中将不会
使用的工具或模式。在另一个示例中,当禁用视频处理工具或模式时,解码器将利用尚未使用基于决定或确定禁用的视频处理工具或模式修改比特流的知识来处理比特流。
[0848]
在本文档中,术语“视频处理”可以指代视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应比特流表示的转换期间可以应用视频压缩算法,反之亦然。当前视频块的比特流表示或编解码表示例如可以对应于比特流内不同位置中共位或扩展的比特,如语法所定义。例如,可以根据变换的和编解码的误差残差值并且还使用头中的比特和比特流中的其他字段来对宏块进行编码。
[0849]
使用以下基于条款的格式可以描述各种技术和实施例。第一组条款描述先前章节中所公开的技术的某些特征和方面。
[0850]
1.一种视频处理的方法,包括:基于当前视频块的特性,选择变换集或变换矩阵以将缩减二次变换应用到当前视频块;以及作为当前视频块与包括当前视频块的视频的比特流表示之间的转换的部分,将所选择的变换集或变换矩阵应用到当前视频块的一部分。
[0851]
2.如条款1所述的方法,其中,当前视频块的该部分是当前视频块的右上子区域、右下子区域、左下子区域或中部子区域。
[0852]
3.如条款1或2所述的方法,其中,当前视频块的特性是当前视频块的帧内预测模式或一次变换矩阵。
[0853]
4.如条款1所述的方法,其中,特性是当前视频块的色彩分量。
[0854]
5.如条款4所述的方法,其中,为当前视频块的亮度分量选择第一变换集,并且其中,为当前视频块的一个或多个色度分量选择与第一变换集不同的第二变换集。
[0855]
6.如条款1所述的方法,其中,特性是当前视频块的帧内预测模式或帧内编解码方法。
[0856]
7.如条款6所述的方法,其中,帧内预测方法包括基于多个参考行(mrl)的预测方法或基于矩阵的帧内预测方法。
[0857]
8.如条款6所述的方法,其中,当当前视频块是跨分量线性模型(cclm)编解码的块时,选择第一变换集,并且其中,当当前视频块是非cclm编解码的块时,选择与第一变换集不同的第二变换集。
[0858]
9.如条款6所述的方法,其中,当当前视频块是以联合色度残差编解码方法编解码的时,选择第一变换集,并且其中,当当前视频块不是以联合色度残差编解码方法编解码的时,选择与第一变换集不同的第二变换集。
[0859]
10.如条款1所述的方法,其中,特性是当前视频块的一次变换。
[0860]
11.一种视频处理的方法,包括:基于与当前视频块相关联的一个或多个系数,做出决定,该决定关于选择性包括信令通知边信息以将缩减二次变换(rst)应用到当前视频块的比特流表示中;以及基于该决定执行当前视频块与包括当前视频块的比特流表示的视频之间的转换。
[0861]
12.如条款11所述的方法,其中,一个或多个系数包括当前视频块的扫描顺序中最后一个非零系数。
[0862]
13.如条款11所述的方法,其中,一个或多个系数包括当前视频块的部分区域内的多个系数。
[0863]
14.如条款13所述的方法,其中,部分区域包括可应用rst的一个或多个编解码组。
[0864]
15.如条款13所述的方法,其中,部分区域包括当前视频块的扫描顺序中前m个编解码组或后m个编解码组。
[0865]
16.如条款13所述的方法,其中,部分区域包括当前视频块的相反扫描顺序中前m个编解码组或后m个编解码组。
[0866]
17.如条款13所述的方法,其中,基于多个系数中的一个或多个非零系数的能量进一步作出决定。
[0867]
18.一种视频处理的方法,包括:配置当前视频块的比特流表示以将缩减二次变换(rst)应用到当前视频块,其中,在编解码残差信息之前在比特流表示中信令通知与rst有关的语法元素;以及基于该配置执行当前视频块与当前视频块的比特流表示之间的转换。
[0868]
19.如条款18所述的方法,其中,信令通知rst有关的语法元素是基于至少一个编解码块标志或变换选择模式的使用。
[0869]
20.如条款18所述的方法,其中,比特流表示排除对应于具有所有零系数的编解码组的编解码残差信息。
[0870]
21.如条款18所述的方法,其中,编解码残差信息基于rst的应用。
[0871]
22.一种视频处理的方法,包括:配置当前视频块的比特流表示以将缩减二次变换(rst)应用到当前视频块,其中,在变换跳过指示或多个变换集(mts)索引之前在比特流表示中信令通知与rst有关的语法元素;以及基于该配置执行当前视频块与当前视频块的比特流表示之间的转换。
[0872]
23.如条款22所述的方法,其中,变换跳过指示或mts索引基于rst有关的语法元素。
[0873]
24.一种视频处理的方法,包括:基于当前视频块的特性来配置上下文模型以对缩减二次变换(rst)的索引进行编解码;以及基于该配置执行当前视频块与包括当前视频块的视频的比特流表示之间的转换。
[0874]
25.如条款24所述的方法,其中,特性是显式或隐式启用多个变换选择(mts)过程。
[0875]
26.如条款24所述的方法,其中,特性是在当前视频块中启用跨分量线性模型(cclm)编解码模式。
[0876]
27.如条款24所述的方法,其中,特性是当前视频块的尺寸。
[0877]
28.如条款24所述的方法,其中,特性是应用到当前视频块的分割过程的划分深度。
[0878]
29.如条款28所述的方法,其中,分割过程是四叉树(qt)分割过程、二叉树(bt)分割过程或三叉树(tt)分割过程。
[0879]
30.如条款24所述的方法,其中,特性是当前视频块的色彩格式或色彩分量。
[0880]
31.如条款24所述的方法,其中,特性排除当前视频块的帧内预测模式和多个变换选择(mts)过程的索引。
[0881]
32.一种视频处理的方法,包括:基于当前视频块的特性做出决定,该决定关于将反向缩减二次变换(rst)选择性应用在当前视频块上;以及基于该决定执行当前视频块与包括当前视频块的视频的比特流表示之间的转换。
[0882]
33.如条款32所述的方法,其中,特性是当前视频块的编解码组的编解码块标志。
[0883]
34.如条款33所述的方法,其中,不应用反向rst过程,并且其中,左上编解码组的
编解码块标志为零。
[0884]
35.如条款33所述的方法,其中,不应用反向rst过程,并且其中,当前视频块的扫描顺序中第一和第二编解码组的编解码块标志为零。
[0885]
36.如条款32所述的方法,其中,特性是当前视频块的高度(m)或宽度(n)。
[0886]
37.如条款36所述的方法,其中,不应用反向rst过程,并且其中,(i)m=8和n=4,或者(ii)m=4和n=8。
[0887]
38.一种视频处理的方法,包括:基于当前视频块的特性做出决定,该决定关于将反向缩减二次变换(rst)选择性应用在当前视频块上;以及基于该决定执行当前视频块与包括当前视频块的视频的比特流表示之间的转换;其中,比特流表示包括关于rst的边信息,其中,基于当前视频块的单个色彩分量或亮度分量而包括边信息。
[0888]
39.如条款38所述的方法,其中,进一步基于当前视频块的维度包括边信息。
[0889]
40.如条款38或39中任一项所述的方法,其中,在不考虑当前视频块的块信息的情况下包括边信息。
[0890]
41.如条款1至40中任一项所述的方法,其中,转换包括从当前视频块生成比特流表示。
[0891]
42.如条款1至40中任一项所述的方法,其中,转换包括从比特流表示生成当前视频块。
[0892]
43.一种视频系统中的设备,包括处理器和其上具有指令的非暂时性存储器,其中,指令在由处理器执行时使得处理器实现条款1至42中任一项所述的方法。
[0893]
44.一种非暂时性计算机可读介质上存储的计算机程序产品,该计算机程序产品包括用于实行条款1至42中任一项所述的方法的程序代码。
[0894]
第二组条款描述先前章节中所公开的技术的某些特征和方面,例如示例项目4和5。
[0895]
1.一种视频处理的方法,包括:对于视频的视频单元的当前视频块与视频的编解码表示之间的转换,为使用一定的帧内预测模式编解码的视频单元确定默认帧内预测模式,使得在不沿着方向外推当前视频块的邻域像素的情况下生成当前视频块的预测块;并且基于该确定执行转换。
[0896]
2.如条款1所述的方法,其中,所述视频单元对应于编解码单元、预测单元、编解码块或预测块。
[0897]
3.如条款1所述的方法,其中,所述视频单元是使用基于矩阵的帧内预测(mip)来编解码的,所述基于矩阵的帧内预测使用矩阵矢量乘法生成所述预测块。
[0898]
4.如条款1所述的方法,其中,所述视频单元是使用帧内块复制(ibc)模式来编解码的,所述帧内块复制模式至少使用指向含有所述当前视频块的视频帧的块矢量来生成所述预测块。
[0899]
5.如条款1所述的方法,其中,所述视频单元是使用调色板模式来编解码的,所述调色板模式允许使用代表性样点值的调色板来表示或重构所述当前视频块。
[0900]
6.如条款1所述的方法,其中,所述默认帧内预测模式是基于所述当前视频块的编解码模式确定的。
[0901]
7.如条款1所述的方法,其中,关于所述默认帧内预测模式的信息被包括在所述编
解码表示中。
[0902]
8.如条款1所述的方法,其中,导出而不是信令通知关于所述默认帧内预测模式的信息。
[0903]
9.如条款1所述的方法,其中,所述确定默认帧内预测模式还用在色度导出模式(dm)的导出中。
[0904]
10.如条款1所述的方法,其中,所述确定默认帧内预测模式还用于预测所述视频的其他块的帧内预测模式。
[0905]
11.如条款1所述的方法,其中,所述确定向一个色彩分量的所述当前视频块分配的默认帧内预测模式用在另一个色彩分量的变换集或变换索引的导出中。
[0906]
12.如条款1所述的方法,其中,所述默认帧内预测模式与所述视频的块的预测模式一起存储。
[0907]
13.如条款1所述的方法,其中,不将所述默认帧内预测模式分配给帧间编解码块。
[0908]
14.如条款1所述的方法,其中,所述默认帧内预测模式是平面帧内预测模式。
[0909]
15.一种视频处理的方法,包括:使用规则来确定视频的亮度块覆盖所述视频的色度块的预定位置;以及基于所述确定执行所述视频与所述视频的编解码表示之间的转换,其中,以使用帧内预测模式的所述编解码表示来表示色度块。
[0910]
16.如条款15所述的方法,其中,所述执行所述转换包括检验所述亮度块的预测模式或编解码模式并提取所述亮度块的帧内预测模式。
[0911]
17.如条款15所述的方法,其中,所述亮度块包括以与所述色度块的中部处的色度样点对应定位的亮度样点。
[0912]
18.如条款15所述的方法,其中,所述亮度块包括以与所述色度块的左上方处的色度样点对应定位的亮度样点。
[0913]
19.一种视频处理的方法,包括:使用规则来基于与色度块对应的亮度块的编解码模式导出视频的所述色度块的帧内预测模式;以及基于所导出的帧内预测模式来执行所述亮度块与所述视频的编解码表示之间的转换,并且其中,所述规则指定使用默认帧内预测模式以防所述亮度块的编解码模式是一定的帧内预测模式,其中,在不沿着方向外推所述亮度块的邻域像素的情况下生成所述亮度块的预测块。
[0914]
20.如条款19所述的方法,其中,所述规则指定使用解码的帧内预测模式,以防所述亮度块的编解码模式不是所述一定的帧内预测模式。
[0915]
21.如条款19所述的方法,其中,所述亮度块的编解码模式对应于基于矩阵的帧内预测(mip),所述基于矩阵的帧内预测使用矩阵矢量乘法生成所述预测块。
[0916]
22.如条款21所述的方法,其中,所述解码的帧内预测模式是平面帧内预测模式。
[0917]
23.如条款19所述的方法,其中,所述亮度块的编解码模式对应于帧内块复制(ibc)模式,所述帧内块复制模式至少使用指向含有当前视频块的视频帧的块矢量来生成所述预测块。
[0918]
24.如条款19所述的方法,其中,所述亮度块的编解码模式对应于调色板模式,所述调色板模式允许使用代表性样点值的调色板来表示或重构当前视频块。
[0919]
25.如条款23或24所述的方法,其中,所述解码的帧内预测模式是dc帧内预测模式。
[0920]
26.如条款1至25中任一项所述的方法,其中,所述执行所述转换包括向所述当前视频块应用二次变换工具,并且其中,使用所述二次变换工具:编码期间,在量化之前将前向二次变换应用到向所述当前视频块的残差应用的前向一次变换的输出,或者解码期间,在应用反向一次变换之前将反向二次变换应用到所述当前视频块的去量化的输出。
[0921]
27.如条款1至26中任一项所述的方法,其中,所述执行所述转换包括从所述视频生成所述编解码表示。
[0922]
28.如条款1至26中任一项所述的方法,其中,所述执行所述转换包括从所述编解码表示生成所述视频。
[0923]
29.一种视频处理设备,包括处理器,配置为实现条款1至28中任一项或多项所述的方法。
[0924]
30.一种存储程序代码的计算机可读介质,所述程序代码在执行时使得处理器实现条款1至28中任一项或多项所述的方法。
[0925]
第三组条款描述先前章节中所公开的技术的某些特征和方面,例如示例项目5和6。
[0926]
1.一种视频处理的方法,包括:对于视频的色度块,做出是否将非正常的色度帧内预测模式应用到视频的所述色度块的第一确定;对于对应于色度块的亮度块,做出将亮度帧内预测模式应用到亮度块的第二确定;基于亮度帧内预测模式做出将变换集或变换矩阵应用到色度块的第三确定;以及根据第三确定执行视频与视频的编解码表示之间的转换,并且其中,非正常的色度帧内预测模式包括在不使用沿着色度预测方向外推的邻域像素值的情况下编解码色度块。
[0927]
2.如条款1所述的方法,其中,变换集或变换矩阵用在应用到色度块的二次变换工具中。
[0928]
3.如条款2所述的方法,其中,二次变换工具对应于低频不可分变换(lfnst)工具,并且其中,使用二次变换工具:编码期间,在量化之前将前向二次变换应用到向色度块的残差应用的前向一次变换的输出,或者解码期间,在应用反向一次变换之前将反向二次变换应用到色度块的去量化的输出。
[0929]
4.如条款1所述的方法,其中,非正常的色度帧内预测模式对应于跨分量线性模型(cclm)预测模式,该模式使用线性模式来从另一个分量导出色度分量的预测值。
[0930]
5.如条款1所述的方法,其中,亮度块覆盖与定位在色度块的预定义位置处的色度样点对应的亮度样点。
[0931]
6.如条款1所述的方法,其中,亮度块覆盖与色度块的中部色度样点对应的亮度样点。
[0932]
7.如条款1所述的方法,其中,亮度块覆盖与当前视频块的左上色度样点对应的亮度样点。
[0933]
8.如条款1所述的方法,其中,亮度帧内预测是非正常的亮度帧内预测模式,并且其中,非正常的亮度帧内预测模式包括在不使用沿着亮度预测方向外推的邻域像素值的情况下编解码亮度块。
[0934]
9.如条款8所述的方法,其中,非正常的亮度帧内预测模式对应于基于矩阵的帧内预测(mip),该基于矩阵的帧内预测使用矩阵矢量乘法生成预测值。
[0935]
10.如条款8所述的方法,其中,非正常的亮度帧内预测模式对应于帧内块复制(ibc)模式,该帧内块复制模式至少使用指向含有亮度块的视频帧的块矢量来生成预测值。
[0936]
11.如条款8所述的方法,其中,非正常的亮度帧内预测模式对应于调色板模式,该调色板模式允许使用代表性样点值的调色板来表示或重构亮度块。
[0937]
12.如条款8至11中任一项所述的方法,其中,响应于亮度帧内预测模式是非正常的亮度帧内预测模式,将预定义帧内预测模式分配到色度块,并且其中,代替非正常的色度帧内预测模式,预定义帧内预测模式还用于导出应用到色度块的变换集或变换矩阵。
[0938]
13.如条款12所述的方法,其中,基于亮度块的非正常的亮度帧内预测模式,确定预定义帧内预测模式。
[0939]
14.如条款13所述的方法,其中,响应于非正常的亮度帧内预测模式是ibc模式或调色板模式,预定义帧内预测模式确定为dc模式。
[0940]
15.如条款13所述的方法,其中,响应于非正常的亮度帧内预测模式是mip模式,预定义帧内预测模式确定为平面模式。
[0941]
16.如条款1所述的方法,其中,亮度帧内预测是正常亮度帧内预测模式,并且其中,正常亮度帧内预测模式包括使用沿着亮度预测方向外推的邻域像素值编解码亮度块。
[0942]
17.如条款8所述的方法,其中,响应于亮度帧内预测模式是正常亮度帧内预测模式,将亮度帧内预测分配到色度块,并且其中,代替非正常的色度帧内预测模式,亮度帧内预测模式还用于导出应用到色度块的变换集或变换矩阵。
[0943]
18.一种视频处理的方法,包括:对于视频的色度块,做出对应于色度块的亮度块是使用非正常的亮度帧内预测模式来编解码的第一确定;基于第一确定,根据规则做出色度块的变换集或变换矩阵的第二确定;以及根据第二确定执行视频与视频的编解码表示之间的转换,并且其中,该规则指定了由于亮度块是使用非正常的亮度帧内预测模式来编解码的因而与色度块相关联的一个或多个默认模式或默认变换集确定变换集或变换矩阵,以防色度块是使用非正常的色度帧内预测模式来编解码的,其中,非正常的亮度帧内预测模式包括在不使用沿着色度预测方向外推的邻域像素值的情况下编解码亮度块。
[0944]
19.如条款18所述的方法,其中,非正常的色度帧内预测模式对应于跨分量线性模型(cclm)预测模式,该模式使用线性模式来从另一个分量导出色度分量的预测值。
[0945]
20.如条款18所述的方法,其中,非正常的亮度帧内预测模式对应于基于矩阵的帧内预测(mip),该基于矩阵的帧内预测使用矩阵矢量乘法生成预测值。
[0946]
21.如条款18所述的方法,其中,非正常的亮度帧内预测模式对应于帧内块复制(ibc)模式,该帧内块复制模式至少使用指向含有亮度块的视频帧的块矢量来生成预测值。
[0947]
22.如条款18所述的方法,其中,非正常的亮度帧内预测模式对应于调色板模式,该调色板模式允许使用代表性样点值的调色板来表示或重构亮度块。
[0948]
23.如条款18所述的方法,其中,亮度块覆盖与定位在色度块的预定义位置处的色度样点对应的亮度样点。
[0949]
24.如条款18所述的方法,其中,亮度块覆盖与色度块的中部色度样点对应的亮度样点。
[0950]
25.如条款18所述的方法,其中,亮度块覆盖与当前视频块的左上色度样点对应的亮度样点。
[0951]
26.如条款18所述的方法,其中,规则指定是使用默认变换集或默认变换矩阵中的至少一个还是基于亮度块的编解码模式从亮度块的帧内亮度预测模式导出变换集或变换矩阵。
[0952]
27.如条款18所述的方法,其中,规则指定根据亮度块的帧内亮度预测模式导出变换集或变换矩阵,因为亮度块是使用正常帧内预测模式编码的,该正常帧内预测模式通过外推亮度块的邻域像素生成亮度块的预测块。
[0953]
28.如条款18所述的方法,其中,规则指定根据亮度块的帧内亮度预测模式导出变换集或变换矩阵,因为亮度块是使用基于块增量脉冲编解码调制(bdpcm)模式编码的。
[0954]
29.如条款26所述的方法,其中,规则指定使用默认变换集或默认变换矩阵中的至少一个,因为亮度块是使用非正常的亮度帧内预测模式编码的。
[0955]
30.一种视频处理的方法,包括:对于视频的当前视频块与视频的编解码表示之间的转换,基于以下中的至少一个确定向一个色彩分量的当前视频块应用的第二变换工具的适用性:1)另一个色彩分量的对应块的编解码模式,或2)当前视频块的编解码模式;以及基于确定执行转换,并且其中,使用二次变换工具:编码期间,在量化之前将前向二次变换应用到向当前视频块的残差应用的前向一次变换的输出,或者解码期间,在应用反向一次变换之前将反向二次变换应用到当前视频块的去量化的输出。
[0956]
31.如条款30所述的方法,其中,二次变换工具对应于低频不可分变换(lfnst)工具。
[0957]
32.如条款30所述的方法,其中,当前视频块对应于色度块,并且对应块与对应于色度块的亮度块相对应。
[0958]
33.如条款31所述的方法,其中,确定确定了将第二变换工具应用到当前视频块,因为对应块的编解码模式是i)正常帧内预测模式,该正常帧内预测模式包括使用沿着预测方向外推的邻域像素值编码对应块,和/或ii)基于块的增量脉冲编解码调制(bdpcm)模式。
[0959]
34.如条款31所述的方法,其中,确定确定了对当前视频块禁用第二变换工具,因为对应块的编解码模式是非正常的帧内预测模式,该非正常的帧内预测模式包括在不使用沿着预测方向外推的邻域像素值的情况下编码对应块。
[0960]
35.如条款30所述的方法,其中,当前视频块的编解码模式对应于跨分量线性模型(cclm)预测模式,该预测模式使用线性模式来从另一个分量导出色度分量的预测值。
[0961]
36.一种视频处理的方法,包括:对于视频的色度块,做出使用非正常的亮度帧内预测模式对覆盖色度块的预定义位置的亮度块进行编码的第一确定;基于第一确定,由于亮度块是使用非正常的亮度帧内预测模式编码的而做出将预定义帧内预测模式应用到亮度块的第二确定;以及根据第二确定来执行视频与视频的编解码表示的转换,其中,非正常的亮度帧内预测模式包括在不是使用沿着亮度预测方向外推的邻域像素值的情况下编码亮度块。
[0962]
37.如条款36所述的方法,其中,在应用到色度块的二次变换工具中所使用的变换集或变换矩阵是基于预定义帧内预测模式选择的。
[0963]
38.如条款36所述的方法,其中,二次变换工具对应于低频不可分变换(lfnst)工具,并且其中,使用二次变换工具:编码期间,在量化之前将前向二次变换应用到向色度块的残差应用的前向一次变换的输出,或者解码期间,在应用反向一次变换之前将反向二次
变换应用到色度块的去量化的输出。
[0964]
39.如条款36至38中任一项所述的方法,其中,应用到色度块的预定义帧内预测模式取决于亮度块的非正常的亮度帧内预测模式。
[0965]
40.如条款36至38中任一项所述的方法,其中,预定义帧内预测模式对应于以下模式中的至少一个:dc模式、平面模式、垂直模式、水平模式、45度模式或135度模式。
[0966]
41.如条款36至38中任一项所述的方法,其中,非正常的亮度帧内预测模式对应于以下模式中的至少一个:帧内块复制(ibc)模式、调色板模式、基于矩阵的帧内预测(mip)、或基于块的增量脉冲编解码调制(bdpcm)模式。
[0967]
42.如条款36至38中任一项所述的方法,其中,以防非正常的亮度帧内预测模式对应于基于矩阵的帧内预测(mip)模式,基于mip模式和亮度块的维度将mip模式映射到指定的帧内预测模式。
[0968]
43.如条款36至38中任一项所述的方法,其中,在候选之中选择预定义帧内预测模式。
[0969]
44.如条款36至38中任一项所述的方法,其中,信令通知预定义帧内预测模式。
[0970]
45.如条款36至38中任一项所述的方法,其中,导出预定义帧内预测模式。
[0971]
46.一种视频处理的方法,包括:对于视频的色度块,做出使用正常亮度帧内预测模式对覆盖色度块的预定义位置的亮度块进行编码的第一确定;基于第一确定,做出第二确定以基于亮度块的正常亮度帧内预测模式导出色度帧内预测模式;以及根据第二确定来执行视频与视频的编解码表示的转换,其中,正常亮度帧内预测模式包括使用沿着亮度预测方向外推的邻域像素值编码亮度块。
[0972]
47.如条款46所述的方法,其中,在应用到色度块的二次变换工具中所使用的变换集或变换矩阵是基于色度帧内预测模式选择的。
[0973]
48.如条款46所述的方法,其中,二次变换工具对应于低频不可分变换(lfnst)工具,并且其中,使用二次变换工具:编码期间,在量化之前将前向二次变换应用到向当前视频块的残差应用的前向一次变换的输出,或者解码期间,在应用反向一次变换之前将反向二次变换应用到当前视频块的去量化的输出。
[0974]
49.如条款46至48中任一项所述的方法,其中,亮度块包括以与色度块的中部处的色度样点对应定位的亮度样点。
[0975]
50.如条款46至48中任一项所述的方法,其中,亮度块包括以与所述色度块的左上方处的色度样点对应定位的亮度样点。
[0976]
51.如条款1至50中任一项所述的方法,其中,执行转换包括从视频生成编解码表示或者从编解码表示生成视频。
[0977]
52.一种视频处理设备,包括处理器,配置为实现条款1至51中任一项或多项所述的方法。
[0978]
53.一种存储程序代码的计算机可读介质,所述程序代码在执行时使得处理器实现条款1至51中任一项或多项所述的方法。
[0979]
根据前述,将理解出于图示的目的已经描述本公开的技术的指定实施例,但是可以做出各种修改而不会偏离本发明的范围。相应地,本公开的技术不限于如所附权利要求所主张的。
[0980]
本专利文档中所描述的主题的实现方式和功能性操作可以被实现在各种系统、数字电子电路中或者在计算机软件、固件或硬件中,包含本说明书中所公开的结构以及其结构的等同物,或者它们中的一个或多个的组合。本说明书中所描述的主题的实现方式可以被实现为一个或多个计算机程序产品,即在有形且非易失性计算机可读介质上所编码的计算机程序指令的一个或多个模块,用于由数据处理设备执行或者控制数据处理设备的操作。该计算机可读介质可以是机器可读存储装置、机器可读存储基板、存储器装置、影响机器可读可传播信号的复合物、或其一个或多个的组合。术语“数据处理单元”或“数据处理设备”涵盖用于处理数据的所有设备、装置和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。
[0981]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式来部署计算机程序,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其它单元。计算机程序不必须对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的部分中(例如,在标记语言文档中存储的一个或多个脚本)、在专用于所讨论的程序的单个文件中、或在多个协同文件中(例如存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以部署为在一个计算机上或者在多个计算机上执行,该多个计算机位于一个站点处或者分布跨越多个站点并由通信网络互连。
[0982]
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能的一个或多个可编程处理器来执行。过程和逻辑流也可以由专用逻辑电路(例如fpga(现场可编程门阵列)或asic(专用集成电路))执行,并且设备可以实现为专用逻辑电路(例如fpga(现场可编程门阵列)或asic(专用集成电路))。
[0983]
适合于计算机程序的执行的处理器包括例如通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或者该两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器装置。通常,计算机还将包括用于存储数据的一个或多个海量存储装置(例如磁、磁光盘或光盘),或者可操作地耦合以从海量存储装置(例如磁、磁光盘或光盘)接收数据或者将数据传输到海量存储装置(例如磁、磁光盘或光盘),或者以上两者。但是,计算机不必具有这样的装置。适用于存储计算机程序指令和数据的计算机可读介质包含所有形式的非易失性存储器、介质和存储器装置,包含例如半导体存储器装置(例如eprom、eeprom和闪速存储器装置)。处理器和存储器可以由专用逻辑电路补充,或者合并在专用逻辑电路中。
[0984]
旨在说明书与附图一起仅被示例性地考虑,其中示例性意味着示例。如本文所使用的,除非上下文明确指示,否则“或”的使用旨在包括“和/或”。
[0985]
虽然本专利文档包含许多细节,但这些细节不应被解释为对任何发明或可要求保护的范围的限制,而是作为指定于特定发明的特定实施例的特征的描述。在本专利文档中,在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中所描述的各种特征还可以分别在多个实施例中来实现或者以各种
合适的子组合来实现。此外,尽管特征可以如上文描述为以某些组合起作用并且甚至最初同样地要求,但是在某些情况下来自所要求保护的组合的一个或多个特征可以从组合中去除,并且所要求保护的组合可以针对子组合或子组合的变化。
[0986]
类似地,尽管在附图中以特定次序描绘了操作,但这不应当理解为要求按所示的特定次序或顺序次序进行这样的操作或者进行所有示出的操作,以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分开不应被理解为在所有实施例中都要求这种分开。
[0987]
仅描述了几个实现方式和示例,并且可以基于本专利文档中描述和示出的内容来做出其它实现方式、增强和变型。
再多了解一些

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

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

相关文献