本文作者:kaifamei

使用增强二次变换的编解码视频处理的制作方法

更新时间:2024-12-22 23:46:58 0条评论

使用增强二次变换的编解码视频处理的制作方法


使用增强二次变换的编解码视频处理
1.相关申请的交叉引用
2.根据适用的专利法和/或巴黎公约的规则,提出本技术旨在及时要求于2020年3月25日提交的国际专利申请第pct/cn2020/081174号的优先权和权益。出于法律规定的所有目的,上述申请的全部公开通过引用合并为本技术公开的一部分。
技术领域
3.本专利文件涉及视频编码和解码技术、设备和系统。


背景技术:



4.尽管在视频压缩方面取得了进步,但数字视频仍占互联网和其他数字通信网络上最大的带宽使用量。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。


技术实现要素:



5.本文件描述了在视频或图像的解码或编码期间使用二次变换(也称为低频不可分离变换)的各种实施例和技术。
6.在一个示例方面,公开了一种视频处理的方法。该方法包括根据规则执行视频的视频块和视频的比特流之间的转换。该规则指定是否或如何在比特流中指示视频单元内的二次变换的使用。在前向主变换和量化之间或在反量化和反向主变换之间应用二次变换。
7.在另一示例方面,公开了一种视频处理的方法。该方法包括根据规则执行视频的视频块和视频的比特流之间的转换。该规则指定基于与视频块相关联的语法元素来确定在视频块中可分离二次变换的使用。在前向主变换和量化之间或在反量化和反向主变换之间应用可分离二次变换。
8.在另一示例方面,公开了一种视频处理的方法。该方法包括根据规则执行视频的视频块和视频的比特流之间的转换。该规则指定从要应用于视频块的多个可分离二次变换中选择二次变换。二次变换应用于视频块的行或视频块的列。
9.在另一示例方面,公开了一种视频处理的方法。该方法包括基于条件确定用于视频的视频块的运动补偿的一个或多个插值滤波器,以及根据该确定执行视频的视频块和视频的比特流之间的转换。
10.在另一示例方面,公开了一种视频处理的方法。该方法包括根据规则执行视频的视频块和视频的比特流之间的转换。使用交织预测模式对视频块进行编解码,在该交织预测模式中使用第一样式和第二样式将视频块划分为子块,并且最终预测被确定为具有第一样式和第二样式的两个辅助预测的加权和。该规则指定具有第一样式和第二样式的两个辅助预测包括单预测和双预测,其中第一样式和第二样式是不同的。
11.在另一示例方面,公开了一种视频处理的方法。该方法包括确定用于在当前视频块的比特流表示和当前视频块的像素之间的转换期间选择性地应用具有缩减维度的二次
变换的约束规则并通过根据约束规则应用具有缩减维度的二次变换来执行该转换。具有缩减维度的二次变换具有从当前视频块的维度缩减的维度。在转换过程中,以特定顺序与主变换一起应用具有缩减维度的二次变换。
12.在另一示例方面,公开了视频处理的另一方法。该方法包括确定用于在当前视频块和相邻视频区域的比特流表示与当前视频块的像素和相邻区域的像素之间的转换期间选择性地应用具有缩减维度的二次变换的约束规则,以及通过根据约束规则应用具有缩减维度的二次变换来执行该变换。具有缩减维度的二次变换具有从当前视频块和相邻视频区域的维度缩减的维度。在转换过程中,以特定顺序与主变换一起应用具有缩减维度的二次变换。
13.在又一示例方面,公开了视频处理的另一方法。该方法包括确定用于在当前视频块的比特流表示和当前视频块的像素之间的转换期间选择性地应用具有缩减维度的二次变换的归零规则并通过根据归零规则应用具有缩减维度的二次变换来执行该转换。具有缩减维度的二次变换具有从当前视频块的维度缩减的维度。归零规则指定由具有缩减维度的二次变换使用的系数的最大数量。
14.在又一示例方面,公开了视频处理的另一方法。该方法包括确定用于在当前视频块的比特流表示和当前视频块的像素之间的转换期间选择性地应用具有缩减维度的二次变换的归零规则并通过根据归零规则应用具有缩减维度的二次变换来执行该转换。具有缩减维度的二次变换具有从当前视频块的维度缩减的维度。归零规则指定由具有缩减维度的二次变换使用的系数的最大数量。
15.在又一示例方面,公开了视频处理的另一方法。该方法包括确定用于在当前视频块的比特流表示和当前视频块的像素之间的转换期间选择性地应用具有缩减维度的二次变换的条件并通过根据该条件应用具有缩减维度的二次变换来执行该转换。具有缩减维度的二次变换具有从当前视频块的维度缩减的维度。在比特流表示中信令通知该条件。
16.在又一示例方面,公开了视频处理的另一方法。该方法包括在当前视频块的比特流表示和当前视频块的像素之间的转换期间选择性地应用具有缩减维度的二次变换并通过根据该条件应用具有缩减维度的二次变换来执行该转换。具有缩减维度的二次变换具有从当前视频块的维度缩减的维度。该转换包括基于共存规则选择性地应用位置相关帧内预测组合(pdpc)。
17.在又一示例方面,公开了视频处理的另一方法。该方法包括在当前视频块的比特流表示和当前视频块的像素之间的转换期间应用具有缩减维度的二次变换并通过根据该条件应用具有缩减维度的二次变换来执行该转换。具有缩减维度的二次变换具有从当前视频块的维度缩减的维度。该应用在转换期间控制用于帧内预测的相邻样点的使用。
18.在又一示例方面,公开了视频处理的另一方法。该方法包括在当前视频块的比特流表示和当前视频块的像素之间的转换期间选择性地应用具有缩减维度的二次变换并通过根据该条件应用具有缩减维度的二次变换来执行该转换。具有缩减维度的二次变换具有从当前视频块的维度缩减的维度。该选择性应用在转换期间控制量化矩阵的使用。
19.在又一示例方面,公开了视频处理的另一方法。该方法包括对于视频的当前视频块和视频的比特流表示之间的转换,基于编解码条件确定是否使用可分离二次变换(sst)进行该转换;以及根据该确定执行该转换。
20.在又一示例方面,公开了一种视频编码器。视频编码器包括被配置为实施上述方法中的一个或多个的处理器。
21.在又一示例方面,公开了一种视频解码器。视频解码器包括被配置为实施上述方法中的一个或多个的处理器。
22.在又一示例方面,公开了一种计算机可读介质。该介质包括用于实施存储在该介质上的上述方法中的一个或多个的代码。
23.本文件中描述了这些和其他方面。
附图说明
24.图1示出了编码器框图的示例。
25.图2示出了67个帧内预测模式的示例。
26.图3a示出了用于广角帧内预测的参考样点的示例。
27.图3b示出了用于广角帧内预测的参考样点的另一示例。
28.图4是在方向超过45度的情况下的不连续问题的示例说明。
29.图5a示出了应用于对角线和相邻角度帧内模式的pdpc所使用的样点的示例说明。
30.图5b示出了应用于对角线和相邻角度帧内模式的pdpc所使用的样点的另一示例说明。
31.图5c示出了应用于对角线和相邻角度帧内模式的pdpc所使用的样点的另一示例说明。
32.图5d示出了应用于对角线和相邻角度帧内模式的pdpc所使用的样点的又一示例说明。
33.图6是4
×
8和8
×
4块划分的示例。
34.图7示出了除4
×
8、8
×
4和4
×
4以外的所有块的划分示例。
35.图8将4
×
8样点的块划分为两个独立的可解码区域。
36.图9示出了像素行处理的示例顺序,以使具有垂直预测器的4
×
n块的吞吐量最大化。
37.图10示出了二次变换的示例。
38.图11示出了所提出的缩减二次变换(rst)的示例。
39.图12示出了正向和反向(或逆)缩减变换的示例。
40.图13示出了具有16
×
48矩阵的前向rst8
×
8过程的示例。
41.图14示出了针对非零元素扫描位置17至64的示例。
42.图15是子块变换模式sbt-v和sbt-h的图示。
43.图16是用于实施本文件中描述的技术的示例硬件平台的框图。
44.图17是视频处理的示例方法的流程图。
45.图18a示出了基于扫描区域的系数编解码的示例。
46.图18b示出了基于扫描区域的系数编解码的另一示例。
47.图19是其中可以实施所公开的技术的示例视频处理系统的框图。
48.图20示出了简化仿射运动模型的示例。
49.图21示出了每个子块的仿射mv的示例。
50.图22示出了用于af_inter的mvp的示例。
51.图23a示出了af_merge的候选示例。
52.图23b示出了af_merge的候选的另一示例。
53.图24a示出了被4
×
4子块划分的块的示例。
54.图24b示出了被具有偏移的4
×
4子块划分的块的示例。
55.图25示出了子块中的加权值的示例。
56.图26a示出了划分样式的示例。
57.图26b示出了划分样式的另一示例。
58.图27a示出了子块中的加权值的示例。
59.图27b示出了子块中的加权值的另一示例。
60.图27c示出了子块中的加权值的另一示例。
61.图27d示出了子块中的加权值的又一示例。
62.图28是示出了示例视频编解码系统的框图。
63.图29是示出了根据本公开的一些实施例的编码器的框图。
64.图30是示出了根据本公开的一些实施例的解码器的框图。
65.图31是根据本技术的用于视频处理的方法的流程图表示。
66.图32是根据本技术的用于视频处理的另一方法的流程图表示。
67.图33是根据本技术的用于视频处理的另一方法的流程图表示。
68.图34是根据本技术的用于视频处理的另一方法的流程图表示。
69.图35是根据本技术的用于视频处理的又一方法的流程图表示。
具体实施方式
70.在本文件中使用章节标题是为了便于理解,并且不将章节中公开的实施例仅限于该章节。此外,尽管参考多功能视频编解码或其他特定视频编解码器来描述某些实施例,但所公开的技术也适用于其他视频编解码技术。此外,虽然一些实施例详细描述了视频编解码步骤,但将理解,撤销编解码的相应步骤解码将由解码器实施。此外,术语视频处理包括视频编解码或压缩、视频解码或解压缩和视频像素从一种压缩格式表示为另一种压缩格式或以不同的压缩比特率表示的视频转码。
71.1.概述
72.本专利文件涉及视频编解码技术。具体来说,就是视频编解码中的相关变换。它可以应用于现有的视频编解码标准,如hevc,或有待最终确定的标准(多功能视频编解码)。它也可能适用于未来的视频编解码标准或视频编解码器。
73.2.初步讨论
74.视频编解码标准主要是通过众所周知的itu-t和iso/iec标准的发展而发展起来。itu-t制作了h.261和h.263,iso/iec制作了mpeg-1和mpeg-4visual,这两个组织联合制作了h.262/mpeg-2视频和h.264/mpeg-4高级视频编解码(avc)以及h.265/hevc标准。自h.262以来,视频编解码标准是基于混合视频编解码结构,其中使用时间预测加变换编解码。为了探索hevc以外的未来视频编解码技术,vceg和mpeg于2015年联合成立了联合视频探索团队(jvet)。此后,jvet采用了许多新方法,并将其应用到名为联合勘探模型(jem)的参考软件
中。2018年4月,vceg(q6/16)和iso/iec jtc1 sc29/wg11(mpeg)之间成立了联合视频专家组(jvet),以制定vvc标准,与hevc相比,以降低50%的比特率为目标。
75.2.1彩空间和度子采样
76.彩空间,也称为颜模型(或颜系统),是一个抽象的数学模型,它简单地将颜范围描述为数字元组,通常为3或4个值或颜分量(例如,rgb)。从根本上说,彩空间是坐标系和子空间的细化。
77.对于视频压缩,最常用的彩空间是ycbcr和rgb。
78.ycbcr、y'cbcr或y pb/cb pr/cr,也写作ycbcr或y'cbcr,是一系列彩空间,用作视频和数码摄影系统中彩图像管道的一部分。y'是亮度分量,cb和cr是蓝差和红差度分量。y'(带素数)与y不同,y是亮度,这意味着光强度是基于伽马校正的rgb原进行非线性编码的。
79.度子采样是通过对度信息实施比亮度信息更低的分辨率来编码图像的做法,利用人类视觉系统对差的敏锐度低于对亮度的敏锐度。
80.2.1.1格式4:4:4
81.三个y'cbcr分量中的每一个具有相同的采样率,因此不存在度子采样。该方案有时用于高端胶片扫描仪和电影后期制作。
82.2.1.2格式4:2:2
83.两个度分量以亮度采样率的一半进行采样:水平度分辨率减半。这将未压缩视频信号的带宽减少三分之一,而几乎没有视觉差异。
84.2.1.3格式4:2:0
85.在4:2:0中,水平采样是4:1:1的两倍,但在该方案中,由于cb和cr通道仅在每一条交替线上采样,因此垂直分辨率减半。因此,数据速率是相同的。cb和cr分别在水平和垂直方向上以2个因子进行子采样。4:2:0方案有三种变体,具有不同的水平和垂直选址。
86.在mpeg-2中,cb和cr水平共址。cb和cr位于垂直方向的像素之间(位于间隙)。
87.在jpeg/jfif、h.261和mpeg-1中,cb和cr位于交替亮度样点之间的间隙位置。
88.在4:2:0dv中,cb和cr在水平方向上共址。在垂直方向,它们在交替线上共址。
89.2.2典型视频编解码器的编解码流程
90.图1示出了vvc的编码器框图示例,其中包含三个环路内滤波块:去块滤波器(df)、采样自适应偏移(sao)和alf。与使用预定义滤波器的df不同,sao和alf利用当前图片的原始样点,利用信令通知偏移和滤波器系数的编解码侧信息,分别通过添加偏移和应用有限脉冲响应(fir)滤波器来减少原始样点和重构样点之间的均方误差。alf位于每张图片的最后处理阶段并且可以被视为试图捕获和修复前一阶段产生的伪像的工具。
91.2.3具有67种帧内预测模式的帧内模式编解码
92.为了捕获自然视频中呈现的任意边缘方向,定向帧内模式的数量从hevc中使用的33个扩展到65个。附加的定向模式在图2中被描绘为虚线箭头,平面模式和dc模式保持不变。这些更密集的定向帧内预测模式适用于所有块大小以及亮度和度帧内预测。
93.如图2所示,传统的角度帧内预测方向在顺时针方向上定义为45度至-135度。在vtm2中,对于非正方形块,几种传统的角度帧内预测模式被广角帧内预测模式自适应地替换。被替换的模式使用原始方法进行信令通知,并在解析后重新映射到广角模式的索引。帧
内预测模式的总数不变,例如67个,并且帧内模式编解码不变。
94.在hevc中,每个帧内编解码的块具有正方形形状,并且其每边的长度是2的幂。因此,使用dc模式生成帧内预测器不需要除法运算。在vvv2中,块可以具有矩形形状,这在一般情况下需要对每个块使用除法运算。为了避免dc预测的除法运算,只使用较长的边计算非正方形块的平均值。
95.2.4非正方形块的广角帧内预测
96.传统的角度帧内预测方向在顺时针方向上定义为45度至-135度。在vtm2中,对于非正方形块,几种传统的角度帧内预测模式被广角帧内预测模式自适应地替换。被替换的模式使用原始方法进行信令通知,并在解析后重新映射到广角模式的索引。特定块的帧内预测模式的总数不变,例如67个,并且帧内模式编解码不变。
97.为了支持这些预测方向,定义了长度为2w+1的顶部参考和长度为2h+1的左侧参考,如图3a至图3b所示。
98.在广角方向模式中,被替换模式的模式数取决于块的纵横比。被替换的帧内预测模式如表1所示。
99.表1被广角模式替换的帧内预测模式
[0100][0101]
如图4所示,在广角帧内预测的情况下,两个垂直邻近的预测样点可以使用两个非邻近的参考样点。因此,将低通参考样点滤波器和侧向平滑应用于广角预测,以减小增加的间隙δpα的负面影响。
[0102]
2.5位置相关帧内预测组合
[0103]
在vtm2中,通过位置相关帧内预测组合(pdpc)方法进一步修改平面模式的帧内预测结果。pdpc是一种帧内预测方法,其调用未滤波的边界参考样点和hevc风格的帧内预测的滤波的边界参考样点的组合。pdpc应用于以下无信令的帧内模式:平面、dc、水平、垂直、左下角模式及其八个相邻角模式,以及右上角模式及其八个相邻角模式。
[0104]
使用帧内预测模式(dc、平面、角度)和参考样点的线性组合,根据如下等式预测预测样点pred(x,y):
[0105]
pred(x,y)=(wl
×
r-1,y
+wt
×rx,-1

wtl
×
r-1,-1
+(64

wl

wt+wtl)
×
pred(x,y)+32)》》6
[0106]
其中,r
x,-1
、r-1,y
分别表示位于当前样点(x,y)的顶部和左侧的参考样点,并且r-1,-1
表示位于当前块的左上角的参考样点。
[0107]
如果pdpc应用于dc、平面、水平和垂直帧内模式,则不需要额外的边界滤波器,这在hevc dc模式边界滤波器或水平/垂直模式边缘滤波器的情况下是必需的。
[0108]
图5a至图5d示出了在各种预测模式上应用的pdpc的参考样点(r
x,-1
、r-1,y
和r-1,-1
)的定义。预测样点pred(x’,y’)位于预测块内的(x’,y’)处。参考样点r
x,-1
的坐标x由下式给出:x=x’+y’+1,参考样点r-1,y
的坐标y类似地由下式给出:y=x’+y’+1。
[0109]
图5a至图5d提供了应用于对角线和相邻角度帧内模式的pdpc所使用的样点的定义。
[0110]
pdpc权重取决于预测模式,如表2所示。
[0111]
表2根据预测模式的pdpc权重的示例
[0112]
预测模式wtwlwtl对角线右上16》》((y’《《1)》》移位)16》》((x’《《1)》》移位)0对角线左下16》》((y’《《1)》》移位)16》》((x’《《1)》》移位)0相邻对角线右上32》》((y’《《1)》》移位)00相邻对角线左下032》》((x’《《1)》》移位)0
[0113]
2.6帧内子块划分(isp)
[0114]
在一些实施例中,isp被提议根据块大小尺寸将亮度帧内预测块垂直或水平地划分为2或4个子分区,如表3所示。图6和图7示出了这两种可能性的示例。所有子分区满足至少有16个样点的条件。
[0115]
表3取决于块大小的子分区数
[0116][0117][0118]
图6示出了4
×
8和8
×
4块的划分示例。
[0119]
图7示出了除4
×
8、8
×
4和4
×
4以外的所有块的划分示例。
[0120]
对于这些子分区中的每一个,通过对编码器发送的系数进行熵解码,然后对其进行反向量化和反向变换,生成残差信号。然后对子分区进行帧内预测,最后通过将残差信号与预测信号相加得到相应的重构样点。因此,每个子分区的重构值将可用于生成下一个子分区的预测,这将重复该过程等等。所有子分区共享相同的帧内模式。
[0121]
根据所使用的帧内模式和分割,使用了两类不同的处理顺序,称为正常顺序和反向顺序。按照正常顺序,要处理的第一子分区是包含cu左上样点的子分区,然后继续向下(水平分割)或向右(垂直分割)。结果,用于生成子分区预测信号的参考样点仅位于行的左侧和上方。另一方面,反向处理顺序要么从包含cu左下样点的子分区开始并继续向上,要么从包含cu右上样点的子分区开始并继续向左。
[0122]
2.7块差分脉冲码调制编解码(bdpcm)
[0123]
由于水平(垂直)预测器的形状,其使用左侧(a)(顶部(b))像素来预测当前像素,
处理块的最有效的吞吐量的方式是并行地处理一列(行)的所有像素,并顺序地处理这些列(行)。为了提高吞吐量,我们引入了以下过程:当在该块上选择的预测器是垂直的时,宽度为4的块被划分为具有水平边界的两半;当在该块上选择的预测器是水平的时,高度为4的块被划分为具有垂直边界的两半。
[0124]
当块被划分时,来自一个区域的样点不允许使用来自另一个区域的像素来计算预测:如果出现这种情况,预测像素被预测方向上的参考像素替换。对于垂直预测的4
×
8块中的当前像素x的不同位置,这在图8中示出。
[0125]
图8示出了将4
×
8样点的块划分为两个独立的可解码区域的示例。
[0126]
由于这个特性,现在可以在2个周期内处理一个4
×
4块,在4个周期内处理一个4
×
8或8
×
4块,依此类推,如图9所示。
[0127]
图9示出了像素行的处理顺序的示例,以使具有垂直预测器的4
×
n块的吞吐量最大化。
[0128]
表4总结了处理块所需的周期数,这取决于块大小。表明具有大于或等于8的两个尺寸的任何块可以在每个周期中以8个像素或更多像素处理是不重要的。
[0129]
表4大小为4
×
n、n
×
4的块的最坏情况吞吐量
[0130][0131]
2.8量化残差域bdpcm
[0132]
在一些实施例中,提出了量化残差域bdpcm(以下称为rbdpcm)。通过在与帧内预测类似的预测方向(水平或垂直预测)上的样点复制对整个块进行帧内预测。对残差进行量化,并对量化的残差与其预测器(水平或垂直)量化值之间的差值进行编解码。
[0133]
对于大小为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时:
[0134][0135]
对于水平预测,应用类似的规则,残差量化样点由下式获得
[0136][0137]
残差量化样点被发送到解码器。
[0138]
在解码器侧,上述计算被反向以产生q(r
i,j
),0≤i≤m-1,0≤j≤n-1。对于垂直预
测情况,
[0139][0140]
对于水平情况,
[0141][0142]
逆量化残差q-1
(q(r
i,j
))被添加到块内预测值,以产生重构样点值。
[0143]
该方案的主要优点是,可以在系数解析期间即时完成反向dpcm,只需在系数解析时添加预测器,也可以在解析后执行。
[0144]
变换跳过通常用于量化残差域bdpcm。
[0145]
2.9vvc中的多重变换集(mts)
[0146]
在vtm4中,启用了最大尺寸为64
×
64的大块大小变换,这主要用于更高分辨率的视频,例如1080p和4k序列。对于大小(宽度或高度,或宽度和高度两者)等于64的变换块,高频变换系数被置零,从而仅保留低频系数。例如,对于m
×
n变换块,以m为块宽,n为块高,当m等于64时,只保留左边32列变换系数。同样地,当n等于64时,只保留前32行变换系数。当变换跳过模式用于大块时,将使用整个块而不将任何值置零。
[0147]
除了已在hevc中采用的dct-ii外,还使用多重变换选择(mts)方案对帧间和帧内编解码块进行残差编解码。它使用dct8/dst7中的多个选定变换。新引入的变换矩阵是dst-vii和dct-viii。下表显示了所选dst/dct的基函数。
[0148][0149]
为了保持变换矩阵的正交性,变换矩阵的量化比hevc中的变换矩阵更准确。为了将变换后的系数的中间值保持在16比特范围内,在水平变换和垂直变换之后,所有的系数都应该为10比特。
[0150]
为了控制mts方案,在sps级分别为帧内和帧间指定单独的启用标志。当在sps启用mts时,信令通知一个cu标志来指示是否应用mts。在这里,mts仅适用于亮度。当满足以下条件时,信令通知mts cu级标志。
[0151]-宽度和高度均小于或等于32
[0152]-cbf标志等于1
[0153]
如果mts cu标志等于零,则在两个方向上应用dct2。然而,如果mts cu标志等于1,则另外发信令通知两个标志,以分别指示水平方向和垂直方向的变换类型。变换和信令映射表如表3至10所示。在变换矩阵精度方面,使用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比特主变换核。
[0154][0155]
为了降低大尺寸dst-7和dct-8的复杂度,对于尺寸(宽度或高度,或宽度和高度两者)等于32的dst-7和dct-8块,高频变换系数被置零。仅保留16
×
16低频区域内的系数。
[0156]
与在hevc中一样,块的残差可以用变换跳过模式进行编解码。为了避免语法编解码的冗余,当cu级mts_cu_flag不等于零时,不信令通知变换跳过标志。变换跳过的块大小限制与jem4中mts的块大小限制相同,这表明变换跳过适用于块宽和块高均等于或小于32的cu。
[0157]
2.10示例缩减二次变换(rst)
[0158]
2.10.1示例不可分离二次变换(nsst)
[0159]
在一些实施例中,在前向主变换和量化(在编码器处)之间以及在反量化和反向主变换(在解码器侧)之间应用二次变换,也称为不可分离变换。如图10所示,根据块大小执行4
×
4(或8
×
8)二次变换。例如,4
×
4二次变换适用于小块(例如,min(width,height)《8),而8
×
8二次变换适用于每个8
×
8块的较大的块(例如,min(width,height)》4)。
[0160]
图10示出了jem中的二次变换的示例。
[0161]
下面以输入为例描述不可分离变换的应用。要应用不可分离变换,4
×
4输入块x
[0162][0163]
首先表示为向量
[0164][0165]
不可分离变换计算为其中表示变换系数向量,t是16
×
16变换矩阵。随后使用该块的扫描顺序(水平、垂直或对角线)将16
×
1系数向量重新组织为4
×
4块。索
引较小的系数将与较小的扫描索引一起放置在4
×
4系数块中。共有35个变换集,每个变换集使用3个不可分离的变换矩阵(核)。预定义从帧内预测模式到变换集的映射。对于每个变换集,所选择的不可分离的二次变换候选进一步由显式信令通知的二次变换索引指定。在变换系数之后,每个cu内在比特流中信令通知索引一次。
[0166]
2.10.2示例缩减二次变换(rst)/低频不可分离变换(lfnst)
[0167]
缩减二次变换(rst),也称为低频不可分离变换(lfnst),被引入为4个变换集(而不是35个变换集)映射。在一些实施例中,16
×
64(可以进一步减少到16
×
48)和16
×
16矩阵分别用于8
×
8和4
×
4块。为了方便标注,16
×
64(可进一步缩减为16
×
48)变换表示为rst8
×
8,而16
×
16变换表示为rst4
×
4。图11示出了rst的一个示例。
[0168]
图11示出了所提出的缩减二次变换(rst)的示例。
[0169]
rst计算
[0170]
缩减变换(rt)的主要思想是将n维向量映射到不同空间中的r维向量,其中r/n(r《n)是缩减因子。
[0171]
rt矩阵是如下所示的r
×
n矩阵:
[0172][0173]
其中变换的r行是n维空间的r个基。rt的反向变换矩阵是其正向变换的转置。图12中描绘了正向和反向rt的示例。
[0174]
图12示出了正向和反向缩减变换的示例。
[0175]
在一些实施例中,应用缩减因子为4(1/4大小)的rst8
×
8。因此,代替传统的8
×
8不可分离变换矩阵大小的64
×
64,使用16
×
64直接矩阵。换句话说,在解码器侧使用64
×
16反向rst矩阵在8
×
8左上角区域中产生核心(主)变换系数。前向rst8
×
8使用16
×
64(或8
×
64用于8
×
8块)矩阵,因此它只在给定的8
×
8区域内的左上角4
×
4区域中产生非零系数。换句话说,如果应用rst,那么除了左上角的4
×
4区域之外的8
×
8区域将只有零系数。对于rst4
×
4,应用16
×
16(或8
×
16用于4
×
4块)直接矩阵乘法。
[0176]
当满足以下两个条件时,有条件地应用反向rst:
[0177]
a.块大小大于或等于给定阈值(w》=4&&h》=4)
[0178]
b.变换跳过模式标志等于零
[0179]
如果变换系数块的宽度(w)和高度(h)都大于4,则将rst8
×
8应用于变换系数块的左上角8
×
8区域。否则,在变换系数块的左上角min(8,w)
×
min(8,h)区域上应用rst4
×
4。
[0180]
如果rst索引等于0,则不应用rst。否则,应用rst,其中使用rst索引选择内核。rst索引的rst选择方法和编解码将在后面解释。
[0181]
此外,rst被应用于条带内和条带间中的cu内,以及亮度和度。如果启用了双树,则分别信令通知用于亮度和度的rst索引。对于条带间(双树被禁用),单个rst索引被信令通知并用于亮度和度。
[0182]
在一些实施例中,采用了帧内子分区(isp)作为新的帧内预测模式。当选择isp模式时,禁用rst并且不信令通知rst索引,因为即使将rst应用于每个可行的分区块,性能改
善也是微乎其微的。此外,对isp预测残差禁用rst可以降低编码复杂度。
[0183]
rst选择
[0184]
从四个变换集中选择一个rst矩阵,每个变换集由两个变换组成。应用哪个变换集由帧内预测模式确定,如下所示:
[0185]
(1)如果指示了三种cclm模式中的一种,则选择变换集0。
[0186]
(2)否则,按下表执行变换集选择:
[0187]
变换集选择表
[0188][0189][0190]
访问表的索引表示为intrapredmode,其范围为[-14,83],这是用于广角帧内预测的变换模式索引。
[0191]
降维的rst矩阵
[0192]
作为进一步简化,应用16
×
48矩阵代替具有相同变换集配置的16
×
64,每个矩阵从左上角8
×
8块(不包括右下角4
×
4块)中的三个4
×
4块中获取48个输入数据(图13)。
[0193]
图13示出了具有16
×
48矩阵的前向rst8
×
8过程的示例。
[0194]
rst信令
[0195]
r=16的前向rst8
×
8使用16
×
64矩阵,因此它只在给定的8
×
8区域内的左上角4
×
4区域中产生非零系数。换句话说,如果应用rst,那么除了左上角的4
×
4区域之外的8
×
8区域只产生零系数。结果,当在除左上角4
×
4以外的8
×
8块区域(如图14所示)内检测到任何非零元素时,不对rst索引进行编解码,因为这意味着没有应用rst。在这种情况下,rst索引被推断为零。
[0196]
图14示出了针对非零元素扫描位置17至64的示例。
[0197]
归零范围
[0198]
通常,在对4
×
4子块应用反向rst之前,4
×
4子块中的任何系数都可以是非零的。然而,受限于在一些情况下,4
×
4子块中的一些系数必须为零,才能对子块应用反向rst。
[0199]
令nonzerosize为变量。要求在反向rst之前将索引不小于nonzerosize的任何系数重新排列成一维数组时必须为零。
[0200]
当nonzerosize等于16时,左上角4
×
4子块中的系数没有归零约束。
[0201]
在一些实施例中,当当前块大小为4
×
4或8
×
8时,nonzerosize被设置为等于8。对于其他块尺寸,nonzerosize被设置为等于16。
[0202]
rst的示例描述
[0203]
在下面的表和描述中,粗体斜体文本用于表示可以对当前语法进行的改变,以适应本文档中描述的某些实施例。
[0204]
序列参数集rbsp语法
[0205][0206]
残差编解码语法
[0207]
[0208][0209]
编解码单元语法
[0210]
[0211][0212]
序列参数集rbsp语义
[0213]
……
[0214][0215]
……
[0216]
编解码单元语义
[0217]
……
[0218][0219]
缩放变换系数的变换过程
[0220]
通常
[0221]
该过程的输入是:
[0222]

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

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

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

指定当前块的颜分量变量cidx,
[0226]

缩放变换系数的(ntbw)
×
(ntbh)数组d[x][y],其中x=0..ntbw-1,y=0..ntbh-1。
[0227]
该过程的输出是残差样点的(ntbw)
×
(ntbh)数组r[x][y],其中x=0..ntbw-1,y=0..ntbh-1。
[0228]
[0229]
[0230][0231][0232]
[0233][0234]
[0235]
2.11hevc中反量化的裁剪
[0236]
在hevc中,缩放变换系数d'计算为d'=clip3(coeffmin,coeffmax,d),其中d是裁剪前的缩放变换系数。
[0237]
对于亮度分量,coeffmin=coeffminy;coeffmax=coeffmaxy。对于度分量,coeffmin=coeffminc;coeffmax=coeffmaxc;其中
[0238]
coeffminy=-(1《《(extended_precision_processing_flag?max(15,bitdepthy+6):15))
[0239]
coeffminc=-(1《《(extended_precision_processing_flag?max(15,bitdepthc+6):15))
[0240]
coeffmaxy=(1《《(extended_precision_processing_flag?max(15,bitdepthy+6):15))-1
[0241]
coeffmaxc=(1《《(extended_precision_processing_flag?max(15,bitdepthc+6):15))
–1[0242]
extended_precision_processing_flag是在sps中信令通知的语法元素。
[0243]
2.12仿射线性加权帧内预测(alwip,又称基于矩阵的帧内预测,mip)
[0244]
在一些实施例中,进行两个测试。在测试1中,alwip被设计为内存限制为8k字节,每个样点最多4次乘法。测试2与测试1相似,但在内存需求和模型架构方面进一步简化了设计。
[0245]
*所有块形状的矩阵和偏移向量的单一集合。
[0246]
*所有块形状的模式数量减少到19个。
[0247]
*内存需求减少到5760个10比特值,即7.20千字节。
[0248]
*预测样点的线性插值在每个方向的单个步骤中执行,取代了第一个测试中的迭代插值。
[0249]
2.13子块变换
[0250]
对于具有cu_cbf等于1的帧间预测cu,cu_sbt_flag可被信令通知以指示是否对整个残差块或残差块的子部分进行解码。在前一种情况下,进一步解析帧间mts信息以确定cu的变换类型。在后一种情况下,利用推断的自适应变换对残差块的一部分进行编解码,并将残差块的另一部分归零。sbt不应用于组合的帧间-帧内模式。
[0251]
在子块变换中,位置相关变换应用于sbt-v和sbt-h(度tb始终使用dct-2)中的亮度变换块。sbt-h和sbt-v的两个位置与不同的核心变换相关联。更具体地说,每个sbt位置的水平和垂直变换在图15中指定。例如,sbt-v位置0的水平和垂直变换分别为dct-8和dst-7。当残差tu的一侧大于32时,将对应的变换设置为dct-2。因此,子块变换联合指定残差块的tu平铺、cbf以及水平和垂直变换,对于块的主要残差位于块的一侧的情况,这可以被认为是语法捷径。
[0252]
图15是子块变换模式sbt-v和sbt-h的图示。
[0253]
2.14avs中的可分离二次变换
[0254]
在一些实施例中,如果主变换是dct2,则在主变换之后对用帧内模式编解码的所有亮度块应用4
×
4可分离二次变换(sst)。
[0255]
当对编码器处的块应用sst时,在主变换后的变换块的左上角4
×
4子块(表示为l)
被进一步变换为l'=t'
×
l
×
t,
[0256]
其中t是二次变换矩阵。
[0257]
然后l'与变换块的其他部分一起被量化。
[0258]
当对解码器处的块应用sst时,在解量化后的变换块的左上角4
×
4子块(表示为m)被进一步逆变换为
[0259]
m'=s'
×m×
s,
[0260]
其中s是逆二次变换矩阵。具体地说,s'=t。
[0261]
然后将m'与变换块的其他部分一起作为主逆变换的输入。
[0262]
2.15基于扫描区域的系数编解码(srcc)
[0263]
srcc已被avs-3采用。利用srcc,如图18a至图18b所示的右下位置(srx,sry)被信令通知,并且仅扫描并信令通知具有四个角(0,0)、(srx,0)、(0,sry)、(srx,sry)的矩形(例如,扫描区域)内的系数。矩形外的所有系数都为零。
[0264]
2.16仿射预测
[0265]
在hevc中,仅将平移运动模型应用于运动补偿预测(mcp)。而在现实世界中,运动有很多种,例如放大/缩小、旋转、透视运动和其他不规则运动。在jem中,应用了一种简化的仿射变换运动补偿预测。如图20所示,块的仿射运动场由两个控制点运动向量描述。
[0266]
块的运动向量场(mvf)由以下等式描述:
[0267][0268]
其中(v0x,v0y)是左上角控制点的运动向量,并且(v1x,v1y)是右上角控制点的运动向量。
[0269]
为了进一步简化运动补偿预测,应用了基于子块的仿射变换预测。子块大小m
×
n如等式(2)导出,其中mvpre是运动向量分数精度(在jem中为1/16),(v2x,v2y)是左下角控制点的运动向量,根据等式1计算。
[0270][0271]
由等式(2)导出后,m和n在必要时应向下调整,使之分别成为w和h的除数。
[0272]
为了导出每个m
×
n子块的运动向量,根据等式(1)计算每个子块的中心样点的运动向量,如图21所示,,并四舍五入到1/16分数精度。然后应用运动补偿插值滤波器来生成具有导出的运动矢量的每个子块的预测。
[0273]
在mcp之后,每个子块的高精度运动向量被四舍五入并保存为与正常运动向量相同的精度。
[0274]
在jem中,有两种仿射运动模式:af_inter模式和af_merge模式。对于宽度和高度均大于8的cu,可以应用af_inter模式。在比特流中信令通知cu级的仿射标志以指示是否使用af_inter模式。在该模式下,使用相邻块构造具有运动向量对{(v0,v1)|v0={va,vb,vc},
v1={vd,ve}}的候选列表。如图22所示,从块a、b或c的运动向量中选择v0。根据参考列表和相邻块的参考的poc、当前cu的参考的poc和当前cu的poc之间的关系来缩放来自相邻块的运动向量。并且从相邻块d和e中选择v1的方法是相似的。如果候选列表的数量小于2,则由复制每个amvp候选组成的运动向量对填充该列表。当候选列表大于2时,首先根据相邻运动向量的一致性(一对候选中两个运动向量的相似性)对候选进行排序,只保留前两个候选。使用rd代价检查来确定选择哪个运动向量对候选作为当前cu的控制点运动向量预测(cpmvp)。并且在比特流中信令通知指示候选列表中cpmvp的位置的索引。在确定当前仿射cu的cpmvp后,应用仿射运动估计并到控制点运动向量(cpmv)。然后在比特流中信令通知cpmv和cpmvp的差。
[0275]
当cu以af_merge模式应用时,它从有效的相邻重构块中获得第一个以仿射模式编解码的块。候选块的选择顺序为从左、上、右上、左下到左上,如图23a所示。如果相邻的左下块a以仿射模式编解码,如图23b所示,则导出包含块a的cu的左上角、右上角和左下角的运动向量v2、v3和v4。并根据v2、v3和v4计算当前cu上左上角的运动向量v0。其次,计算当前cu的右上方的运动向量v1。
[0276]
在导出当前cu的cpmvv0和v1后,根据简化仿射运动模型等式(1),生成当前cu的mvf。为了识别当前cu是否以af_merge模式编解码,当有至少一个相邻块以仿射模式编解码时,在比特流中信令通知仿射标志。
[0277]
2.17交织预测
[0278]
为了解决仿射运动补偿(amc)的困境,提出了交织预测以在不增加太多复杂度的情况下实现更细粒度的mv。
[0279]
首先,将编码块划分为具有两种不同划分样式的子块。第一划分样式与bms-1.1中的划分样式相同,如图24a所示,而第二划分样式也将编解码块划分为4
×
4子块,但具有2
×
2偏移,如图24b所示。
[0280]
其次,amc利用这两种划分样式生成两个辅助预测。划分样式中每个子块的mv由等式(1)从mv0和mv1导出。
[0281]
最终预测被计算为两个辅助预测的加权和,公式为:
[0282][0283]
如图25所示,位于子块中心的辅助预测样点与加权值3相关联,而位于子块边界的辅助预测样点与加权值1相关联。
[0284]
在这个贡献中,所提出的交织预测仅应用于具有单预测的仿射编码块的亮度分量,因此在最坏情况下带宽不变。
[0285]
3.由实施例解决的问题的示例
[0286]
目前的设计存在以下问题:
[0287]
(1)mts/rst中的裁剪和移位/舍入操作可能不是最佳的。
[0288]
(2)应用于相邻两个4
×
4块的rst可能代价较高。
[0289]
(3)对于不同的颜分量,可以采用不同的方法进行rst。
[0290]
(4)rst可能不适用于屏幕内容编解码。
[0291]
(5)rst与其他编解码工具的交互尚不清楚。
[0292]
(6)可以更有效地存储rst变换矩阵。
[0293]
(7)如何在rst上应用量化矩阵尚不明确。
[0294]
4.示例实施例和技术
[0295]
下面列出的实施例应被视为解释一般概念的示例。不应以狭义的方式解释这些实施例。此外,这些实施例可以以任何方式组合。
[0296]
在下面的描述中,编解码信息可以包括预测模式(例如,帧内/帧间/ibc模式)、运动向量、参考图片、帧间预测方向、帧内预测模式、ciip(组合的帧内帧间预测)模式、isp模式、仿射帧内模式、采用的变换核、变换跳过标志等,例如,编码块时所需的信息。
[0297]
在下面的讨论中,satshift(x,n)被定义为
[0298][0299]
shift(x,n)被定义为shift(x,n)=(x+offset0)》》n。
[0300]
在一个示例中,offset0和/或offset1被设置为(1《《n)》》1或(1《《(n-1))。在另一示例中,offset0和/或offset1被设置为0。
[0301]
在另一示例中,offset0=offset1=((1《《n)》》1)-1或((1《《(n-1)))-1。
[0302]
clip3(min,max,x)被定义为
[0303][0304]
1.在反向rst之后,输出值应裁剪到[mincoef,maxcoef]的范围内(包括mincoef、maxcoef),其中mincoef和/或maxcoef是两个可以变化的整数值。
[0305]
a.在一个示例中,假设反量化后的系数被裁剪到[qmincoef,qmaxcoef]的范围(包括qmincoef、qmaxcoef),那么mincoef可以被设置为等于qmincoef和/或maxcoef可以被设置为等于qmaxcoef。
[0306]
b.在一个示例中,mincoef和/或maxcoef可以取决于颜分量。
[0307]
i.在一个示例中,mincoef和/或maxcoef可以取决于对应颜分量的比特深度。
[0308]
c.在一个示例中,mincoef和/或maxcoef可以取决于块形状(例如,正方形或非正方形)和/或块尺寸。
[0309]
d.在一个示例中,可以(诸如在sps、pps、条带标头/图块组标头/ctu/cu中)信令通知mincoef和/或maxcoef的值或候选值的选择。
[0310]
e.在一个示例中,对于亮度分量,mincoef和/或maxcoef可以导出为:
[0311]
mincoef=-(1《《(extended_precision_processing_flag?max(15,bitdepthy+6):15))
[0312]
maxcoef=(1《《(extended_precision_processing_flag?max(15,bitdepthy+6):15))
–1[0313]
,其中bitdepthy是亮度分量的比特深度,并且extended_precision_processing_flag可以诸如在sps中进行信令通知。
[0314]
f.在一个示例中,对于分量,mincoef和/或maxcoef可以导出为:
[0315]
mincoef=-(1《《(extended_precision_processing_flag?max(15,bitdepthc+
6):15))
[0316]
maxcoef=(1《《(extended_precision_processing_flag?max(15,bitdepthc+6):15))
–1[0317]
其中bitdepthc是度分量的比特深度,并且extended_precision_processing_flag可以诸如在sps中进行信令通知。
[0318]
g.在一些实施例中,mincoef为-(1《《15),并且maxcoef为(1《《15)-1。
[0319]
h.在一个示例中,一致性比特流应满足前向rst之后的变换系数应在给定范围内。
[0320]
2.提出在m
×
n个系数子块上应用前向rst和/或反向rst的方式可以取决于应用前向rst和/或反向rst的子块的数量,例如m=n=4。
[0321]
a.在一个示例中,归零范围可以取决于应用rst的子块索引。
[0322]
i.可选地,归零范围可以取决于应用rst的子块的数量。
[0323]
b.在一个示例中,当在整个系数块中存在应用前向rst和/或反向rst的s个子块时,在系数的第一子块和第二子块上应用前向rst和/或反向rst的方式可以不同,其中例如s》1,例如s=2。例如,第一m
×
n子块可以是左上m
×
n子块。
[0324]
i.在一个示例中,如第2.10节所描述的nonzerosize对于第一m
×
n系数子块(表示为nonzerosize0)和对于第二m
×
n系数子块(表示为nonzerosize1)可以是不同的。
[0325]
1)在一个示例中,nonzerosize0可以大于nonzerosize1。例如,nonzerosize0=16和nonzerosize1=8。
[0326]
ii.在一个示例中,当只有一个m
×
n子块要应用正向rst和/或反向rst时,或者有一个以上m
×
n子块要应用正向rst和/或反向rst时,如第2.10节中所描述的nonzerosize可以不同。
[0327]
1)在一个示例中,如果存在多于一个m
×
n子块要应用正向rst和/或反向rst,则nonzerosize可以等于8。
[0328]
3.如果当前块大小为4
×
h或w
×
4,其中h》8和w》8,则提出仅对一个m
×
n系数子块(诸如左上m
×
n子块)应用正向rst和/或反向rst,例如,m=n=4。
[0329]
a.在一个示例中,如果h》t1和/或w》t2,例如,t1=t2=16,则仅对一个m
×
n系数子块应用前向rst和/或反向rst。
[0330]
b.在一个示例中,如果h《t1和/或w《t2,例如,t1=t2=32,则仅对一个m
×
n系数子块应用前向rst和/或反向rst。
[0331]
c.在一个示例中,对于所有h》8和/或w》8,仅对一个m
×
n系数子块应用前向rst和/或反向rst。
[0332]
d.在一个示例中,如果当前块大小是m
×
h或w
×
n,其中h》=n和w》=m,例如,m=n=4,则仅对一个m
×
n子块(诸如左上m
×
n子块)应用正向rst和/或反向rst,
[0333]
4.rst可以应用于非正方形区域。假设区域大小用k
×
l表示,其中k不等于l。
[0334]
a.可选地,此外,可以在前向rst之后对变换系数应用归零,从而满足非零系数的最大数量。
[0335]
i.在一个示例中,如果变换系数位于左上m
×
m区域之外,其中
[0336]
m不大于k且m不大于l,则可以将变换系数设置为0。
[0337]
5.提出两个相邻m
×
n子块中的系数可以涉及单个前向rst和/或反向rst,例如,m
=n=4。
[0338]
a.在一个示例中,可以在编码器处进行如下一个或几个操作。操作可以按顺序进行。
[0339]
i.将两个相邻m
×
n子块中的系数重新排列为具有2
×m×
n个元素的一维向量
[0340]
ii.在一维向量上应用具有2
×m×
n列和m
×
n行(或m
×
n列和2
×m×
n行)的变换矩阵的前向rst。
[0341]
iii.将变换后的具有m
×
n个元素的一维向量重新排列为第一m
×
n子块(诸如左上子块)。
[0342]
iv.第二m
×
n子块中的所有系数可以被设置为零。
[0343]
b.在一个示例中,可以在解码器处进行如下一个或几个操作。操作可以按顺序进行。
[0344]
i.第一m
×
n子块(诸如左上子块)中的系数被重新排列为具有
[0345]m×
n个元素的一维向量
[0346]
ii.在一维向量上应用具有m
×
n列和2
×m×
n行(或2
×m×
n列和
[0347]m×
n行)的变换矩阵的反向rst。
[0348]
iii.将变换后的具有2
×m×
n个元素的一维向量重新排列为两个相邻的m
×
n子块。
[0349]
c.在一个示例中,可将块拆分为k(k》1)个子块,并且可在子块级执行主变换和二次变换。
[0350]
6.归零范围(例如,如第2.10节中所描述的nonzerosize)可以取决于颜分量。
[0351]
a.在一个示例中,对于相同的块尺寸,对于亮度和度分量,该范围可能不同。
[0352]
7.归零范围(例如,如第2.10节中所描述的nonzerosize)可以取决于编解码信息。
[0353]
a.在一个示例中,该范围可以取决于编解码模式,诸如帧内或非帧内模式。
[0354]
b.在一个示例中,该范围可以取决于编解码模式,诸如帧内或帧间或ibc模式。
[0355]
c.在一个示例中,该范围可以取决于参考图片/运动信息。
[0356]
8.提出针对特定块尺寸的归零范围(例如,如第2.10节中所描述的nonzerosize)可以取决于量化参数(qp)。
[0357]
a.在一个示例中,假设当qp等于qpa时,nonzerosize等于nonzerosizea,并且当qp等于qpb时,nonzerosize等于nonzerosizeb。如果qpa不小于qpb,那么nonzerosizea不大于nonzerosizeb。
[0358]
b.对于不同的nonzerosize,可以使用不同的变换/逆变换矩阵。
[0359]
9.提出可以诸如在sps、pps、图片标头、条带标头、图块组标头、ctu行、ctu、cu或任何视频数据单元中信令通知归零范围(例如,如第2.10节中所描述的nonzerosize)。
[0360]
a.可选地,可以定义多个范围。并且可以诸如在sps、pps、图片标头、条带标头、图块组标头、ctu行、ctu和cu中信令通知选择哪个候选nonzerosize的指示。
[0361]
10.是否和/或如何应用rst可以取决于颜格式,和/或单独的平面编解码的使用,和/或颜分量。
[0362]
a.在一个示例中,rst可以不应用于度分量(诸如cb和/或cr)。
[0363]
b.在一个示例中,如果颜格式是4:0:0,则rst可以不应用于度分量。
[0364]
c.在一个示例中,如果使用单独的平面编解码,则rst可以不应用于度分量。
[0365]
d.在一个示例中,特定块尺寸的nonzerosize可以取决于颜分量。
[0366]
i.在一个示例中,对于相同的块尺寸,度分量上的nonzerosize可以小于亮度分量上的nonzerosize。
[0367]
11.提出了当用单个编解码结构树对亮度和度分量进行编解码时,可以针对亮度和度分量分别信令通知rst控制信息(诸如是否应用rst,和/或选择哪组变换矩阵)。
[0368]
12.是否以及如何应用rst可以取决于当前块和/或相邻块的编解码信息(诸如编解码模式)。
[0369]
a.在一个示例中,rst不能用于一个或多个特定的帧内预测模式。
[0370]
i.例如,rst不能用于lm模式。
[0371]
ii.例如,rst不能用于lm-t模式。
[0372]
iii.例如,rst不能用于lm-a模式。
[0373]
iv.例如,rst不能用于广角帧内预测模式。
[0374]
v.例如,rst不能用于bdpcm模式或/和dpcm模式或/和
[0375]
rbdpcm模式。
[0376]
vi.例如,rst不能用于alwip模式。
[0377]
vii.例如,rst不能用于某些特定的角度帧内预测模式(诸如dc、平面、垂直、水平等)。
[0378]
viii.例如,rst可用于亮度分量,但不能用于lm模式或/和lm-t模式或/和lm-a模式下的度分量。
[0379]
ix.例如,当应用联合度残差编解码时,rst可以不用于度分量。
[0380]
b.如果不能应用rst,则可以不信令通知指示当前块中与rst相关的信息的语法元素。
[0381]
13.提出了rst可以应用于非帧内编解码的块。
[0382]
a.在一个示例中,rst可以应用于帧间编解码块。
[0383]
b.在一个示例中,rst可以应用于块内复制(ibc)编解码块。
[0384]
c.在一个示例中,rst可以应用于用组合的帧内帧间预测(ciip)编解码的块。
[0385]
14.提出可以在不同级别控制rst。
[0386]
a.例如,可以在pps、条带标头、图片标头、图块组标头、图块、ctu行、ctu中信令通知指示rst(诸如控制标志)是否适用的信息。
[0387]
b.rst是否适用可以取决于标准配置文件/级别/层。
[0388]
15.提出是否应用位置相关帧内预测组合(pdpc)可以取决于是否应用rst。
[0389]
a.在一个示例中,如果当前块应用rst,则可以不应用pdpc。
[0390]
b.在一个示例中,如果当前块应用rst,则可以应用pdpc。
[0391]
c.可选地,是否应用rst可以取决于是否应用pdpc。
[0392]
i.在一个示例中,当应用pdpc时不应用rst。
[0393]
ii.如果不能应用rst,则可以不信令通知指示当前块中与rst相关的信息的语法元素。
[0394]
16.提出是否对用于帧内预测的相邻样点进行滤波可以取决于是否应用rst。
[0395]
a.在一个示例中,如果当前块应用rst,则可以不对相邻样点进行滤波。
[0396]
b.在一个示例中,如果当前块应用rst,则可以对相邻样点进行滤波。
[0397]
c.可选地,是否应用rst可以取决于是否对用于帧内预测的相邻样点进行滤波。
[0398]
i.在一个示例中,当用于帧内预测的相邻样点被滤波时,不应用
[0399]
rst。
[0400]
ii.在一个示例中,当用于帧内预测的相邻样点未被滤波时,不应用rst。
[0401]
iii.如果不能应用rst,则可以不信令通知指示当前块中与rst相关的信息的语法元素。
[0402]
17.提出了当当前块用变换跳过编解码时,可以应用rst。
[0403]
a.例如,跳过主变换,但仍可以应用第二变换。
[0404]
b.变换跳过模式中使用的二次变换矩阵可能不同于无变换跳过模式中使用的二次变换矩阵。
[0405]
18.提出了用于rst的变换矩阵可以以小于8的比特宽存储。例如,用于rst的变换矩阵可以以比特宽6或4存储。
[0406]
19.提出了用于rst的变换矩阵可以以预测的方式存储。
[0407]
a.在一个示例中,用于rst的第一变换矩阵中的第一元素可以由用于rst的第一变换矩阵中的第二元素预测。
[0408]
i.例如,可以存储两个元素之间的差值。
[0409]
ii.例如,差值可以以小于8的比特宽(诸如6或4)存储。
[0410]
b.在一个示例中,用于rst的第一变换矩阵中的第一元素可以由用于rst的第二变换矩阵中的第二元素预测。
[0411]
i.例如,可以存储两个元素之间的差值。
[0412]
ii.例如,差值可以以小于8的比特宽(诸如6或4)存储。
[0413]
20.提出可以从用于rst的第二变换矩阵导出用于rst的第一变换矩阵。
[0414]
a.在一个示例中,可以拾取用于rst的第二变换矩阵的部分元素以构建用于rst的第一变换矩阵。
[0415]
b.在一个示例中,通过旋转或翻转用于rst的第二变换矩阵的全部或一部分来导出用于rst的第一变换矩阵。
[0416]
c.在一个示例中,通过对用于rst的第二变换矩阵进行下采样或上采样来导出用于rst的第一变换矩阵。
[0417]
21.提出在信令通知残差(可被变换)之前,可以信令通知指示当前块中与rst相关的信息的语法元素。
[0418]
a.在一个示例中,与rst相关的信息的信令可以不取决于在解析残差时计数的非零或零系数。
[0419]
b.在一个示例中,在解析残差时可以不计数非零或零系数。
[0420]
c.在一个示例中,可以不信令通知由rst设置为全零的子块的编解码块标志(cbf)标志并推断为0。
[0421]
d.在一个示例中,可以不信令通知由rst设置为零的系数的有效标志并推断为0。
[0422]
e.解析残差块的扫描顺序可以取决于是否以及如何应用rst。
[0423]
i.在一个示例中,可以不扫描由rst设置为零的系数。
[0424]
f.解析残差块的算术编解码上下文可以取决于是否以及如何应用rst。
[0425]
22.提出是否以及如何应用量化矩阵可以取决于是否应用rst以及如何应用rst。
[0426]
a.在一个示例中,无论是否应用rst,都可以应用不同的量化矩阵。
[0427]
b.可选地,是否以及如何应用rst可以取决于是否以及如何应用量化矩阵。
[0428]
i.在一个示例中,当在块上应用量化矩阵时,可以不应用rst。
[0429]
23.提出rst可以应用于量化系数/残差。
[0430]
a.在一个示例中,当使用变换跳过时,rst可以应用于残差。
[0431]
b.在一个示例中,rst可应用于块的量化变换系数。
[0432]
24.提出rst可以应用于子块变换块。
[0433]
a.在一个示例中,rst可以应用于由子块变换生成的左上系数。
[0434]
25.提出如何和/或是否应用rst可以取决于cu中tu的数量。
[0435]
a.例如,如何和/或是否应用rst可以取决于cu中的tu的数量是否大于1。
[0436]
i.在一个示例中,如果cu中的tu的数量大于1,则不应用rst。
[0437]
ii.在一个示例中,如果cu中的tu的数量大于1,则rst仅应用于cu中的多个tu中的一个。
[0438]
1)在一个示例中,如果cu中的tu的数量大于1,则rst仅应用于cu中的第一个tu。
[0439]
2)在一个示例中,如果cu中的tu的数量大于1,则rst仅应用于cu中的最后一个tu。
[0440]
iii.在一个示例中,如果cu中的tu的数量独立地大于1,则rst被应用于cu的每个tu。
[0441]
1)可选地,当cu中的tu的数量大于1时,可以独立于是否对cu的第二tu应用rst来确定是否对cu的第一tu应用rst。
[0442]
2)在一个示例中,是否对cu的tu应用rst可以取决于tu的非零系数(表示为nz)的数量,但当cu中的tu的数量大于1时,不取决于cu的其他tu的非零系数的数量。
[0443]
a)在一个示例中,如果nz小于阈值t(例如t=2),则不对tu应用rst。
[0444]
b)如果确定不对cu的tu应用rst,则可以针对cu的tu不信令通知指示是否应用rst的语法元素(多个)。
[0445]
b.例如,如何和/或是否应用rst可以取决于tu大小是否等于cu大小。
[0446]
i.在一个示例中,当cu大小大于tu大小时,rst被禁用。
[0447]
c.提出以cu的解码顺序使用第一个tu或最后一个tu的解码信息来决定rst的使用和/或rst相关语法元素的信令。
[0448]
i.在一个示例中,如果第一个或最后一个tu的非零系数的数量小于阈值t(例如t=2),则不对cu应用rst。
[0449]
ii.在一个示例中,如果第一个或最后一个tu内的子区域(例如,左上4x4)的非零系数的数量小于阈值t(例如t=2),则不对cu应用rst。
[0450]
26.提出为tu设置一个标志来控制是否应用rst。
[0451]
a.是否将rst应用于tu可以取决于该tu的标志。
[0452]
i.当标志没有出现或尚未被导出时,可以将其导出为false。
[0453]
ii.可选地,当标志没有出现或尚未被导出时,可以将其导出为true。
[0454]
b.当cu仅包含一个tu时,用于该tu的标志可以等于可以被动态导出的cu rst标志(例如,基于系数信息)。
[0455]
c.当cu中的tu的数量大于1时,cu中的最后一个tu的标志可以从可以被动态导出的cu rst标志中导出(例如,基于系数信息),并且所有其他tu的标志可以被设置为false。
[0456]
i.可选地,当cu中的tu的数量大于1时,cu中的最后一个tu的标志可以从cu rst标志导出,并且所有其他tu的标志可以被设置为true。
[0457]
27.提出当分量的数量大于1并且使用单个编解码树时,是否和/或如何对块的第一分量应用rst可以不同于是否和/或如何对块的第二分量应用rst。即对不同颜分量应用rst的单独控制。
[0458]
a.提出当分量的数量大于1并且使用单个编解码树时,可以独立于是否对块的第二分量应用rst来确定是否对块的第一分量应用rst。
[0459]
i.在一个示例中,是否对块的分量应用rst可以取决于块的分量的解码信息(例如,非零系数(表示为nz)的数量),但当分量的数量大于1并且使用单个编解码树时,不取决于块的任何其他分量的解码信息。
[0460]
1)在一个示例中,如果nz小于阈值t(例如t=2),则不对块的分量应用rst。
[0461]
2)如果确定不对块的分量应用rst,则可以针对块的分量不信令通知指示是否应用rst的语法元素(多个)。
[0462]
b.在一个示例中,对于单树情况,对于亮度和度分量可以独立地确定是否启用rst和/或如何应用rst。
[0463]
28.提出当分量的数量大于1并且使用单个编解码树时,是否对块的第一分量应用rst可以由块的第二分量确定。
[0464]
a.在一个示例中,当分量的数量大于1并且使用单个编解码树时,是否对块的第一分量应用rst可以由块的第二分量的非零系数的数量来确定。
[0465]
i.在一个示例中,如果nz(例如,块的第二分量或块的子区域(例如,左上4x4)的非零系数的数量)小于阈值t(例如,t=2),则不对块的第一分量上应用rst。
[0466]
ii.如果确定不对块的第一分量应用rst,则可以针对块的分量不信令通知指示是否应用rst的语法元素(多个)。
[0467]
iii.在一个示例中,第一分量是cb或cr,第二分量是y。
[0468]
iv.在一个示例中,第一分量是r或b,第二分量是g。
[0469]
29.在一个示例中,是否应用bullet 25和/或bullet 26和/或bullet 27可以取决于cu和/或tu和/或块的宽度和高度(表示为w和h)和/或最大变换块大小。
[0470]
a.在一个示例中,仅当w》t或h》t时才应用bullet 25和/或bullet 26和/或bullet 27。在一个示例中,t可以等于64。在替代示例中,t可以等于最大变换大小。
[0471]
b.在一个示例中,仅当w》t和h》t时才应用bullet 25和/或bullet 26和/或bullet 27。在一个示例中,t可以等于64。在替代示例中,t可以等于最大变换大小。
[0472]
c.在一个示例中,仅当w》t和h》t时才应用bullet 25和/或bullet 26和/或bullet 27。在一个示例中,t可以等于64。在替代示例中,t可以等于最大变换大小。
[0473]
可分离二次变换(sst)的改进
[0474]
30.在一个示例中,对于视频单元,可以确定启用或禁用sst。
[0475]
a.例如,可以基于与视频单元相关联的视频语法结构中的信令来进行该确定。
[0476]
i.在一个示例中,可以用算术编解码中的至少一个上下文对信令(诸如标志)进行编解码。
[0477]
ii.在一个示例中,可以基于编码/解码信息(诸如块尺寸、编解码块标志(cbf)和当前块的编解码模式)有条件地跳过信令。
[0478]
1)在一个示例中,当cbf等于零时可以跳过信令。
[0479]
b.例如,可以在没有与视频单元相关联的信令的情况下基于推断来进行该确定。
[0480]
i.该推断可以取决于视频单元的信息,例如,编解码模式、帧内预测模式、主变换的类型以及视频单元的尺寸或大小,
[0481]
c.例如,视频单元可以是块,诸如编解码块或变换块。视频语法结构可以是编解码单元(cu)或变换单元(tu)。
[0482]
d.例如,视频单元可以是图片。视频语法结构可以是图片标头或pps。
[0483]
e.例如,视频单元可以是条带。视频语法结构可以是条带标头。
[0484]
f.例如,视频单元可以是条带。视频语法结构可以是序列标头或sps。
[0485]
g.视频语法结构可以是vps/dps/aps/图块组/图块/ctu行/ctu。
[0486]
31.在一个示例中,是禁用还是启用sst可以基于块尺寸。
[0487]
h.例如,如果块宽度或高度中的至少一个小于(或不大于)tmin,则可以禁用sst。
[0488]
i.例如,如果块宽度和高度都小于tmin,则可以禁用sst。
[0489]
j.例如,如果块宽度或高度中的至少一个大于(或不小于)tmax,则可以禁用sst。
[0490]
k.例如,如果块宽度和高度都大于(或不小于)tmax,则可以禁用sst。
[0491]
l.例如,tmin可以是2或4。
[0492]
m.例如,tmax可以是32、64或128。
[0493]
n.在一个示例中,可以基于第一颜分量的块宽度或/和高度来禁用sst。
[0494]
i.例如,第一颜分量可以是亮度颜分量。
[0495]
ii.例如,第一颜分量可以是r颜分量。
[0496]
o.在一个示例中,可以基于所有颜分量的块宽度或/和高度来禁用sst。
[0497]
p.可选地,此外,当禁用sst时,省略sst和/或其他辅助信息的使用指示的相关信令。
[0498]
q.在一个示例中,基于块尺寸,可以在第一颜分量上启用sst并在第二颜分量上禁用sst。
[0499]
32.在一个示例中,可以利用sst集并且对块的sst矩阵的选择可以取决于诸如块尺寸的解码信息。
[0500]
r.可选地,此外,可以以不同的方式(诸如对应于不同块尺寸的不同矩阵)解释相同的解码/信令通知的sst索引或相同的开/关控制标志。
[0501]
s.例如,集合中的不同sst可能具有不同的尺寸,诸如4
×
4sst、8
×
8sst或16
×
16sst,
[0502]
t.例如,4
×
4sst可以应用于具有条件c4的块,8
×
8sst可以应用于具有条件c8的块。
[0503]
i.可选地,此外,4
×
4sst可以应用于具有条件c4的块,8
×
8sst可以应用于具有条
件c8的块,

,n
×
n sst可以应用于具有条件cn的块,其中n是整数。
[0504]
u.在一个示例中,条件c4是块宽度和高度中的至少一个等于4。
[0505]
v.在一个示例中,条件c4是块宽度和高度都等于4。
[0506]
w.在一个示例中,条件c4是块宽度和高度的较小值等于4。
[0507]
x.在一个示例中,条件c8是块宽度和高度的较小值不小于8。
[0508]
y.在一个示例中,条件c8是块宽度和高度中的至少一个等于8。
[0509]
z.在一个示例中,条件c8是块宽度和高度都等于8。
[0510]
aa.在一个示例中,条件c8是块宽度和高度中的至少一个大于或等于8。
[0511]
bb.在一个示例中,条件c8是块宽度和高度都大于或等于8。
[0512]
cc.在一个示例中,条件cn是块宽度和高度中的至少一个等于n。
[0513]
dd.在一个示例中,条件cn是块宽度和高度都等于n。
[0514]
ee.在一个示例中,条件cn是块宽度和高度中的至少一个大于或等于n。
[0515]
ff.在一个示例中,条件cn是块宽度和高度都大于或等于n。
[0516]
gg.在一个示例中,n
×
n sst可以应用于变换块的左上n
×
n子块。
[0517]
hh.在一个示例中,sst可以水平或垂直应用,或者水平和垂直应用,这取决于块尺寸。
[0518]
ii.在一个示例中,可以为不同的颜分量选择不同的sst矩阵。
[0519]
i.例如,上述规则可以独立地应用于不同的颜分量。
[0520]
jj.在一个示例中,可以为所有颜分量选择一个相同的sst矩阵。
[0521]
i.例如,上述规则可应用于第一颜分量,所选择的sst矩阵可应用于所有颜分量。
[0522]
1)在一个示例中,第一颜分量可以是亮度分量。
[0523]
2)在一个示例中,第一颜分量可以是cb或cr分量。
[0524]
3)可选地,此外,如果所选择的sst矩阵不适用于第二颜分量,则对第二颜分量禁用sst。
[0525]
kk.在一个示例中,只有当所有颜分量的所选择的sst矩阵(通过独立地将上述规则应用于不同颜分量)相同时,才可以允许sst。
[0526]
i.可选地,此外,如果不允许sst,则省略sst和/或其他辅助信息的使用指示的相关信令。
[0527]
33.在一个示例中,n
×
n sst可以应用于至少一个与左上n
×
n子块不相同的n
×
n子块。
[0528]
ll.例如,n
×
n sst可以应用于与左上n
×
n子块右相邻的n
×
n子块。
[0529]
mm.例如,n
×
n sst可以应用于与左上n
×
n子块底部相邻的的n
×
n子块。
[0530]
34.在一个示例中,第一sst可以作为水平变换应用于经变换的块,并且第二sst可以作为垂直变换应用于经变换的块,其中第一sst和第二sst可以不同。
[0531]
nn.例如,第一sst和第二sst可以具有不同的尺寸。
[0532]
oo.假设第一sst为n
×
n sst,第二个sst为m
×
m sst,变换后的块尺寸为w
×
h,则可应用以下规则:
[0533]
i.如果w等于w1,则n被设置为等于w1,其中w1是整数,诸如4或8。
[0534]
ii.如果w大于或不小于w2,则n被设置为等于w2,其中w2是整数,诸如4或8。
[0535]
iii.如果h等于h1,则m被设置为等于h1,其中h1是整数,诸如4或8。
[0536]
iv.如果h大于或不小于h2,则m被设置为等于h2,其中h2是整数,诸如4或8。
[0537]
35.在一个示例中,sst集中的一个可以用于块,其中在该集中存在多于一个具有相同尺寸的sst。
[0538]
pp.在一个示例中,消息被信令通知以指示选择哪一个来使用。
[0539]
qq.在一个示例中,在没有信令的情况下推断选择哪一个。推断可以取决于
[0540]
i.块尺寸。
[0541]
ii.帧内预测模式。
[0542]
iii.变换后的量化/非量化系数。
[0543]
iv.颜分量。
[0544]
v.主变换的类型。
[0545]
36.在一个示例中,如果主变换不同,则可以应用不同的sst。
[0546]
rr.例如,与dct2相关联使用的sst可以不同于与dst7相关联使用的sst。
[0547]
37.在一个示例中,sst可以应用于度分量。
[0548]
ss.在一个示例中,不同的sst矩阵可以应用于不同的颜分量,例如y、cb和cr。
[0549]
tt.在一个示例中,不同的颜分量可以遵循是否以及如何应用sst的不同规则。
[0550]
uu.在一个示例中,可以应用对两个颜分量的单独控制。
[0551]
i.在一个示例中,可以针对两个颜分量中的每一个信令通知sst和/或矩阵的使用指示。
[0552]
38.根据扫描区域的右下位置的条件检查,可以信令通知sst的使用指示和/或sst矩阵的指示。用(srx,sry)表示右下位置,诸如图18a-b中所描绘的。
[0553]
vv.在一个示例中,当srx大于或不小于kx和/或当sry大于或不小于ky时,可以省略sst的使用指示和/或sst矩阵的指示。
[0554]
ww.在一个示例中,当srx小于或不大于k'x和/或当sry小于或不大于k'y时,可以省略sst的使用指示和/或sst矩阵的指示。
[0555]
xx.可选地,此外,当没有信令通知指示时,可以推断sst被禁用。
[0556]
yy.可选地,此外,当没有信令通知指示时,可推断默认sst。
[0557]
i.在一个示例中,默认sst可以被设置为k*l变换。
[0558]
ii.在一个示例中,可以根据诸如块尺寸的解码信息来确定默认sst。
[0559]
zz.可选地,此外,上述方法也可应用于其他非分离的二次/主变换。
[0560]
与增强二次变换(est)有关
[0561]
39.可以在视频数据单元(例如,图片)内使用是否应用二次变换的隐式和显式信令。
[0562]
a.在一个示例中,是否使用隐式方式或显式方式取决于编解码模式信息,例如,是否应用dt(导出树)。
[0563]
i.在一个示例中,对于不包括dt(导出树)的帧内编解码块和/或不包括pcm模式的帧内编解码块,可以应用显式信令方法。
[0564]
1)在一个示例中,可以信令通知标志以指示是否应用二次变换。
[0565]
ii.在一个示例中,对于具有dt(导出树)的帧内编解码块,可以应用隐式信令方法,其中始终应用二次变换。
[0566]
iii.在一个示例中,对于具有pcm模式的帧内编解码块和/或非帧内编解码块,可以应用隐式信令方法,其中始终不应用二次变换。
[0567]
40.可以在视频数据单元(例如,图片)内使用应用或不应用二次变换的隐式信令的多种方式。
[0568]
a.在一个示例中,使用哪个隐式方法可以取决于编解码模式信息,例如,是否应用dt(导出树)。
[0569]
iv.在一个示例中,对于不包括dt(导出树)的帧内编解码块和/或不包括pcm模式的帧内编解码块,可以应用取决于变换系数的隐式方法。
[0570]
1)在一个示例中,块中奇数变换系数的数量的奇偶性和/或偶数变换系数的数量的奇偶性可用于确定是否应用二次变换。
[0571]
v.在一个示例中,对于具有dt(导出树)的帧内编解码块,可以应用隐式信令方法,其中始终应用二次变换。
[0572]
vi.在一个示例中,对于具有pcm模式的帧内编解码块和/或非帧内编解码块,可以应用隐式信令方法,其中始终不应用二次变换。
[0573]
41.根据语法元素(se)(诸如标志),可对块应用或不应用可分离二次变换。例如,如果与块相关联的se是1,则可对块应用可分离二次变换;如果与块相关联的se是1,则可以不对块应用可分离二次变换。
[0574]
a.针对块的se的信令可以以块的信息为条件。
[0575]
vii.例如,只有当块是亮度块时才信令通知se。
[0576]
viii.例如,如果使用dt,则不信令通知se。
[0577]
ix.例如,如果主变换不是dct2,则不信令通知se。
[0578]
b.当不信令通知se时,可以将其设置为等于默认值,诸如0。
[0579]
42.可以选择多个可分离二次变换中的一个用于行和/或列第二变换中的块。
[0580]
a.在一个示例中,可以信令通知该选择。
[0581]
b.在一个示例中,该选择可以不被信令通知,而是由块的信息导出。
[0582]
x.例如,如果块的宽度不大于4(或等于4,或小于8),则可将4
×
4可分离二次变换应用于块的行(例如,最顶部的四行或八行)。
[0583]
xi.例如,如果块的高度不大于4(或等于4,或小于8),则可将4
×
4可分离二次变换应用于块的列(例如,最左边的四列或八列)。
[0584]
xii.例如,如果块的宽度大于4(或不小于8),则可将8
×
8可分离二次变换应用于块的行(例如,最顶部的四行或八行)。
[0585]
xiii.例如,如果块的高度大于4(或不小于8),则可将8
×
8可分离二次变换应用于块的列(例如,最左边的四列或八列)。
[0586]
xiv.例如,如果块的高度不大于4(或等于4,或小于8),则可将4
×
4或8
×
8可分离二次变换应用于块的最顶部的四行。
[0587]
xv.例如,如果块的高度大于4(或不小于8),则可将4
×
4或8
×
8可分离二次变换应用于块的最顶部的八行。
[0588]
xvi.例如,如果块的宽度不大于4(或等于4,或小于8),则可将4
×
4或8
×
8可分离二次变换应用于块的最左边的四列。
[0589]
xvii.例如,如果块的宽度大于4(或不小于8),则可将4
×
4或8
×
8可分离二次变换应用于块的最左边的八列。
[0590]
43. 8
×
8可分离二次变换的变换核矩阵可定义为
[0591][0592]
与仿射预测和交织预测有关。
[0593]
44.用于运动补偿的插值滤波器可以根据是否满足条件a而不同。
[0594]
a.例如,条件a表示应用仿射预测。
[0595]
b.例如,条件a表示应用交织预测。
[0596]
c.例如,条件a表示应用仿射预测并使用双向预测。
[0597]
d.例如,条件a表示应用交织预测并使用双向预测。
[0598]
e.两个插值滤波器不同可以表示它们具有不同数量的滤波器系数。
[0599]
f.两个插值滤波器不同可以表示它们具有至少一个不同的滤波器系数。
[0600]
g.在一个示例中,当满足条件a时,插值滤波器被定义为
[0601]
{0,0,0,64,0,0,0,0},
[0602]
{0,1,-3,63,4,-2,1,0},
[0603]
{0,2,-5,62,8,-3,0,0},
[0604]
{0,3,-8,60,13,-4,0,0},
[0605]
{0,4,-10,58,17,-5,0,0},
[0606]
{0,3,-11,52,26,-8,2,0},
[0607]
{0,2,-9,47,31,-10,3,0},
[0608]
{0,3,-11,45,34,-10,3,0},
[0609]
{0,3,-11,40,40,-11,3,0},
[0610]
{0,3,-10,34,45,-11,3,0},
[0611]
{0,3,-10,31,47,-9,2,0},
[0612]
{0,2,-8,26,52,-11,3,0},
[0613]
{0,0,-5,17,58,-10,4,0},
[0614]
{0,0,-4,13,60,-8,3,0},
[0615]
{0,0,-3,8,62,-5,2,0},
[0616]
{0,1,-2,4,63,-3,1,0}
[0617]
h.在一个示例中,当满足条件a时,插值滤波器被定义为
[0618]
{0,0,0,64,0,0,0,0},
[0619]
{0,1,-3,63,4,-1,0,0},
[0620]
{0,2,-6,62,8,-3,1,0},
[0621]
{0,2,-8,60,13,-5,2,0},
[0622]
{0,2,-9,57,18,-6,2,0},
[0623]
{0,3,-11,53,24,-8,3,0},
[0624]
{0,3,-10,49,29,-9,2,0},
[0625]
{0,3,-11,45,34,-10,3,0},
[0626]
{0,3,-11,40,40,-11,3,0},
[0627]
{0,3,-10,34,45,-11,3,0},
[0628]
{0,2,-9,29,49,-10,3,0},
[0629]
{0,3,-8,24,53,-11,3,0},
[0630]
{0,2,-6,18,57,-9,2,0},
[0631]
{0,2,-5,13,60,-8,2,0},
[0632]
{0,1,-3,8,62,-6,2,0},
[0633]
{0,0,-1,4,63,-3,1,0}
[0634]
45.当应用交织预测时,不同的样式可以用于单预测和双预测。
[0635]
a.对于单预测,第二划分样式将块划分为4
×
4子块,偏移为2
×
2。一个示例是图26a中所示的样式4。
[0636]
b.对于单预测,第二划分样式将块划分为8
×
8子块,偏移为4
×
4。一个示例是图26b中所示的样式6。
[0637]
46.在一个实施例中,有两个可能的加权值wa和wb,满足wa+wb=2n。示例性加权值{wa,wb}是{3,1},{7,1},{5,3},{13,3}等。
[0638]
a.如果与由第一划分样式生成的预测样点p1相关联的加权值w1和与由第二划分样式生成的预测样点p2相关联的加权值w2相同(两者都等于wa或wb),则该样点的最终预测p被计算为p=(p1+p2)》》1或p=(p1+p2+1)》》1。
[0639]
b.如果与由第一划分样式生成的预测样点p1相关联的加权值w1和与由第二划分样式生成的预测样点p2相关联的加权值w2不同({w1,w2}={wa,wb}或{w1,w2}={wb,wa}),则该样点的最终预测p被计算为p=(w1
×
p1+w2
×
p2+偏移)》》n,其中偏移可以是1《《(n-1)或0。
[0640]
c.图27a至图27d中示出了当块被划分为8
×
8子块时8
×
8、8
×
4、4
×
8、4
×
4子块的示例性加权值。
[0641]
图1600是视频处理装置1600的框图。装置1600可用于实施本文所述的一个或多个方法。装置1600可以体现在智能手机、平板电脑、计算机、物联网(iot)接收器等中。装置1600可以包括一个或多个处理器1602、一个或多个存储器1604和视频处理硬件1606。处理器1602可以被配置为实施本文档中描述的一个或多个方法。存储器1604可用于存储用于实施本文所述方法和技术的数据和代码。视频处理硬件1606可用于在硬件电路中实施本文档中描述的一些技术。
[0642]
图17是视频处理的示例方法1700的流程图。方法1700包括确定(1702)用于在当前
视频块的比特流表示和当前视频块的像素之间的转换期间选择性地应用具有缩减维度的二次变换的约束规则。方法1700包括通过根据约束规则应用具有缩减维度的二次变换来执行(1704)转换。具有缩减维度的二次变换具有从当前视频块的维度缩减的维度。在转换过程中,以特定顺序与主变换一起应用具有缩减维度的二次变换。
[0643]
附加实施例和技术如以下示例中所述。
[0644]
1.一种视频处理方法,包括:确定用于在当前视频块的比特流表示与当前视频块的像素之间的转换期间选择性地应用具有缩减维度的二次变换的约束规则,以及通过根据约束规则应用具有缩减维度的二次变换来执行转换;其中具有缩减维度的二次变换具有从当前视频块的维度缩减的维度,并且其中在转换过程中,以特定顺序与主变换一起应用具有缩减维度的二次变换。
[0645]
2.根据示例1的方法,其中转换包括将当前视频块编码为比特流表示,并且其中特定顺序包括首先在正向方向上应用主变换,接着在正向方向上选择性地应用具有缩减维度的二次变换,接着在正向方向上量化具有缩减维度的二次变换的输出。
[0646]
3.根据示例1的方法,其中变换包括从比特流表示解码当前视频块,并且其中特定顺序包括首先对比特流表示应用反量化,接着在逆方向上选择性地应用具有缩减维度的二次变换,接着在逆方向上将主变换应用于在逆方向上具有缩减维度的二次变换的输出。
[0647]
4.根据示例1至3中任一示例的方法,其中约束规则指定将在逆方向上具有缩减维度的二次变换的输出的范围裁剪到[mincoef,maxcoef]的范围(包括mincoef、maxcoef),其中mincoef和/或maxcoef是当前视频块的条件的函数的两个整数值。
[0648]
5.根据示例4的方法,其中当前视频块的条件是由当前视频块表示的颜或亮度分量的类型。
[0649]
6.根据示例1的方法,其中约束规则指定将具有缩减维度的二次变换应用于当前视频块的一个或多个m
×
n子块,并将当前视频块的剩余子块归零。
[0650]
7.根据示例1的方法,其中约束规则指定将具有缩减维度的二次变换不同地应用于当前视频块的不同子块。
[0651]
8.根据示例1至5中任一示例的方法,其中,由于当前视频块的大小为4
×
h或w
×
4,其中h是以整数像素为单位的高度,w是以整数像素为单位的宽度,约束规则指定将具有缩减维度的二次变换应用于当前视频块的正好一个m
×
n子块。
[0652]
9.根据示例8的方法,其中h》8或w》8。
[0653]
10.根据示例1至9中任一示例的方法,其中当前视频块是视频的非正方形区域。
[0654]
11.根据示例2或3的方法,其中约束规则指定在正向方向上将主变换的变换系数归零,或在反向方向上将零系数填充到二次变换的输出。
[0655]
示例1-5的其它实施例在第4节第1项中描述。示例6-7的其它实施例在第4节第2项中描述。示例8-9的其它实施例在第4节第3项中描述。示例10-11的其它实施例在第4节第4项中描述。
[0656]
12.一种视频处理方法,包括:确定用于在当前视频块和相邻视频区域的比特流表示与当前视频块的像素和相邻区域的像素之间的转换期间选择性地应用具有缩减维度的二次变换的约束规则,以及通过根据约束规则应用具有缩减维度的二次变换来执行转换;其中具有缩减维度的二次变换具有从当前视频块和相邻视频区域的维度缩减的维度,并且
其中在转换过程中,以特定顺序与主变换一起应用具有缩减维度的二次变换。
[0657]
13.根据示例12的方法,其中相邻视频区域包括当前视频块的左上块。
[0658]
14.根据示例12的方法,其中当前视频块和相邻视频区域对应于父视频块的子块。
[0659]
示例12-14的其它实施例在第4节第5项中描述。
[0660]
15.一种视频处理方法,包括:确定用于在当前视频块的比特流表示与当前视频块的像素之间的转换期间选择性地应用具有缩减维度的二次变换的归零规则,以及通过根据归零规则应用具有缩减维度的二次变换来执行转换;其中具有缩减维度的二次变换具有从当前视频块的维度缩减的维度;其中归零规则指定由具有缩减维度的二次变换使用的系数的最大数量。
[0661]
16.根据示例15的方法,其中系数的最大数量是当前视频块的分量标识的函数。
[0662]
17.根据示例16的方法,其中对于亮度视频块和度视频块,系数的最大数量是不同的。
[0663]
18.根据示例15至17中任一示例的方法,其中归零规则指定归零范围是当前视频块的编解码信息的函数。
[0664]
19.根据示例15至17中任一示例的方法,其中归零规则指定归零范围是当前视频块的量化参数的函数。
[0665]
20.根据示例15至19中任一示例的方法,其中归零范围在比特流表示中由包括在序列参数集级、或图片参数集级、或图片标头、或条带标头、或图块组标头、或编解码树单元行、或编解码树单元、或编解码单元或视频数据单元级的字段来指示。
[0666]
示例15-17的其它实施例在第4节第6项中描述。示例18的其它实施例在第4节第7项中描述。示例19的其它实施例在第4节第8项中描述。示例20的其它实施例在第4节第9项中描述。
[0667]
21.一种视频处理方法,包括:确定用于在当前视频块的比特流表示和当前视频块的像素之间的转换期间选择性地应用具有缩减维度的二次变换的条件,以及通过根据该条件应用具有缩减维度的二次变换来执行转换;其中具有缩减维度的二次变换具有从当前视频块的维度缩减的维度;并且其中在比特流表示中信令通知该条件。
[0668]
22.根据示例21的方法,其中该条件是颜格式或单独的平面编解码的使用或基于当前视频块的颜标识。
[0669]
示例21-22的其它实施例在第4节第10项中描述。
[0670]
23.根据示例21至22中任一示例的方法,其中在比特流表示中针对度和亮度分量分别信令通知该条件。
[0671]
示例23的其它实施例在第4节第11项中描述。
[0672]
24.根据示例21至23中任一示例的方法,其中,该条件取决于当前视频块和相邻视频区域的编解码信息。
[0673]
25.根据示例24的方法,其中该条件排除应用于使用特定帧内预测模式编解码的当前视频块。
[0674]
示例24-25的其它实施例在第4节第12项中描述。
[0675]
26.根据示例24的方法,其中该条件指定应用于帧间编解码的当前视频块。
[0676]
27.根据示例24的方法,其中该条件指定应用于使用块内复制模式编解码的当前
视频块。
[0677]
示例25-26的其它实施例在第4节第13项中描述。
[0678]
28.根据示例21的方法,其中在比特流表示中以使得该级别内的所有块都符合该条件的级别信令通知该条件,其中该级别是序列参数集级、或图片参数集级、或图片标头、或条带标头、或图块组标头、或编解码树单元行、或编解码树单元、或编解码单元或视频数据单元级。
[0679]
示例28的其它实施例在第4节第14项中描述。
[0680]
29.根据示例21的方法,其中该条件是使用变换跳过模式对当前视频块进行编解码。
[0681]
示例29的其它实施例在第4节第17项中描述。
[0682]
30.一种视频处理方法,包括:在当前视频块的比特流表示和当前视频块的像素之间的转换期间选择性地应用具有缩减维度的二次变换,以及通过根据该条件应用具有缩减维度的二次变换来执行转换;其中具有缩减维度的二次变换具有从当前视频块的维度缩减的维度;并且其中转换包括基于共存规则选择性地应用位置相关帧内预测组合(pdpc)。
[0683]
31.根据示例30的方法,其中由于应用二次变换,共存规则排除将pdpc应用于当前视频块。
[0684]
32.根据示例30的方法,其中由于应用二次变换,共存规则指定将pdpc应用于当前视频块。
[0685]
33.根据示例30的方法,其中针对使用pdpc的当前视频块执行选择性地应用二次变换。
[0686]
示例30-33的其它实施例在第4节第15项中描述。
[0687]
34.一种视频处理方法,包括:在当前视频块的比特流表示和当前视频块的像素之间的转换期间选择性地应用具有缩减维度的二次变换,以及通过根据该条件应用具有缩减维度的二次变换来执行转换;其中具有缩减维度的二次变换具有从当前视频块的维度缩减的维度;并且其中该应用在转换期间控制用于帧内预测的相邻样点的使用。
[0688]
示例34的其它实施例在第4节第16项中描述。
[0689]
35.一种视频处理方法,包括:在当前视频块的比特流表示和当前视频块的像素之间的转换期间选择性地应用具有缩减维度的二次变换,以及通过根据该条件应用具有缩减维度的二次变换来执行转换;其中具有缩减维度的二次变换具有从当前视频块的维度缩减的维度;并且其中该选择性应用在转换期间控制量化矩阵的使用。
[0690]
36.根据示例35的方法,其中量化矩阵的使用仅由于应用二次变换而发生。
[0691]
示例35-36的其它实施例在第4节第22项中描述。
[0692]
37.根据示例1-36中任一示例的方法,其中,主变换和二次变换被存储为具有小于8的比特宽的变换矩阵。
[0693]
38.根据示例1-36中任一示例的方法,其中主变换和二次变换被存储为预测变换矩阵。
[0694]
39.根据示例1-36中任一示例的方法,其中主变换可使用第一规则从二次变换导出,或者其中二次变换可使用第二规则从主变换导出。
[0695]
40.根据示例1-36中任一示例的方法,其中,比特流表示包括关于在当前视频块的
残差信息之前的二次变换或主变换的信息。
[0696]
示例37-40的其它实施例在第4节第18、19、20、21项中描述。
[0697]
41.根据示例1的方法,其中用于选择性地应用二次变换的约束规则取决于当前视频块的编解码单元中的变换单元的数量。
[0698]
42.根据示例41的方法,其中,由于编解码单元中的变换单元的数量大于一,约束规则指定应用二次变换。
[0699]
43.根据示例1的方法,其中比特流表示中的标志指示是否将具有缩减维度的二次变换应用于转换。
[0700]
44.根据示例1的方法,其中当前视频块包括多于一个的分量视频块,并且其中约束规则针对不同分量视频块不同地指定具有缩减维度的二次变换的适用性。
[0701]
45.根据示例44所述的方法,其中约束规则基于该约束规则如何应用于第二分量视频块来指定用于第一分量视频块的具有缩减维度的二次变换的适用性。
[0702]
46.根据示例44-45中任一示例的方法,其中约束规则还取决于所述当前视频块的维度。
[0703]
示例47-53的其它实施例在例如第4节第30至38项中描述。
[0704]
47.一种视频处理方法,包括:对于视频的当前视频块和视频的比特流表示之间的转换,基于编解码条件确定是否使用可分离二次变换(sst)进行该转换;以及根据该确定执行该转换。
[0705]
48.根据示例47的方法,其中该编解码条件对应于比特流表示中的语法元素。
[0706]
49.根据示例48的方法,其中该编解码条件包括当前视频块的大小。
[0707]
50.根据示例47-49中任一示例的方法,其中,在确定使用sst时,该转换使用基于另一编解码条件从sst集中选择的所选择的sst。
[0708]
51.根据示例50的方法,其中另一编解码条件包括当前视频块的尺寸。
[0709]
52.根据示例1-51中任一示例的方法,其中该转换包括解码和解析比特流表示以生成视频。
[0710]
53.根据示例1-51中任一示例的方法,其中该转换包括将视频编码为比特流表示。
[0711]
54.一种视频处理装置,包括处理器,其被配置为实施示例1到53中的一个或多个示例。
[0712]
55.一种其上存储有代码的计算机可读介质,当由处理器执行时,该代码使处理器实施在示例1至53中的任何一个或多个中叙述的方法。
[0713]
将理解,所公开的技术可以体现在视频编码器或解码器中,以使用包括使用缩减维度的二次变换的技术来提高压缩效率。
[0714]
图19是示出了其中可以实施本文公开的各种技术的示例视频处理系统1900的框图。各种实施方式可以包括系统1900的部分或全部组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以原始或未压缩格式(例如,8或10比特多分量像素值)接收,或者可以以压缩或编码格式接收。输入1902可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口,例如以太网、无源光网络(pon)等,以及无线接口,例如wi-fi或蜂窝接口。
[0715]
系统1900可以包括编解码组件1904,其可以实施本文档中描述的各种编解码或编
码方法。编解码组件1904可以将视频的平均比特率从输入1902降低到编解码组件1904的输出,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件1904的输出可以被存储,或者经由由组件1906表示的连接的通信来发送。组件1908可以使用在输入1902处接收的视频的存储的或通信的比特流(或编解码的)表示来生成发送到显示接口1910的像素值或可显示视频。从比特流表示生成用户可视视频的过程有时称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但应理解,在编码器处使用编解码工具或操作,并且解码器将执行反转编解码的结果的相应的解码工具或操作。
[0716]
外围总线接口或显示接口的示例可包括通用串行总线(usb)或高清晰度多媒体接口(hdmi)或显示端口等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以体现在各种电子设备中,例如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。
[0717]
图28是示出了可利用本公开的技术的示例视频编解码系统100的框图。
[0718]
如图28所示,视频编解码系统100可以包括源设备110和目标设备120。源设备110生成编码视频数据,源设备110可以被称为视频编码设备。目标设备120可以对源设备110生成的编码视频数据进行解码,目标设备120可以被称为视频解码设备。
[0719]
源设备110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。
[0720]
视频源112可以包括诸如视频捕获设备的源、用于从视频内容提供商接收视频数据的接口和/或用于生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。i/o接口116可以包括调制器/解调器(调制解调器)和/或发送器。编码的视频数据可以通过网络130a经由i/o接口116直接发送到目标设备120。编码视频数据还可以存储在存储介质/服务器130b上,以供目标设备120访问。
[0721]
目标设备120可以包括i/o接口126、视频解码器124和显示设备122。
[0722]
i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取编码视频数据。视频解码器124可解码编码的视频数据。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目标设备120集成,或者可以在目标设备120外部,该目标设备120被配置为与外部显示设备接口。
[0723]
视频编码器114和视频解码器124可以根据视频压缩标准操作,例如高效视频编解码(hevc)标准、通用视频编解码(vvc)标准和其他当前和/或进一步的标准。
[0724]
图29是示出了可以是图28所示的系统100中的视频编码器114的视频编码器200的示例的框图。
[0725]
视频编码器200可被配置为执行本公开的任何或所有技术。在图29的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可被配置为执行本公开中描述的任何或所有技术。
[0726]
视频编码器200的功能组件可以包括分割单元201、预测单元202,预测单元1602可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206,残差生
成单元207、变换单元208、量化单元209,逆量化单元210、逆变换单元211、重建单元212、缓冲器213和熵编码单元214。
[0727]
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括块内复制(ibc)单元。ibc单元可以在ibc模式下执行预测,其中至少一个参考图片是当前视频块所在的图片。
[0728]
此外,一些组件,例如运动估计单元204和运动补偿单元205可以是高度集成的,但是为了解释的目的在图19的示例中分别表示。
[0729]
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块大小。
[0730]
模式选择单元203可以例如基于错误结果选择一种编解码模式(帧内或帧间),并将得到的帧内或帧间编码块提供给残差生成单元207以生成残差块数据,并提供给重建单元212以重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测的组合(ciip)模式,其中预测基于帧间预测信号和帧内预测信号。模式选择单元203还可以在帧间预测的情况下为块选择运动矢量的分辨率(例如,子像素或整数像素精度)。
[0731]
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓冲器213的图片的解码样本(与当前视频块相关联的图片除外)来确定当前视频块的预测视频块。
[0732]
例如,运动估计单元204和运动补偿单元205可以根据当前视频块是在i条带、p条带还是b条带中,对当前视频块执行不同的操作。
[0733]
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。然后,运动估计单元204可以生成参考索引,该参考索引指示包含参考视频块的列表0或列表1中的参考图片以及指示当前视频块和参考视频块之间的空间位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块生成当前块的预测视频块。
[0734]
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中的参考图片中搜索当前视频块的另一参考视频块。然后,运动估计单元204可以生成指示包含参考视频块的列表0和列表1中的参考图片的参考索引和指示参考视频块和当前视频块之间的空间位移的运动矢量。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块生成当前视频块的预测视频块。
[0735]
在一些示例中,运动估计单元204可以输出用于解码器的解码处理的运动信息的完整集合。
[0736]
在一些示例中,运动估计单元204可以不输出当前视频的运动信息的完整集合。相反,运动估计单元204可以参考另一视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
[0737]
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示向视频解码器300指示当前视频块与另一视频块具有相同的运动信息的值。
[0738]
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中识别另一视频块和运动矢量差(mvd)。运动矢量差指示当前视频块的运动矢量与所指示视频块的运动矢量之间的差。视频解码器300可以使用所指示视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
[0739]
如上所述,视频编码器200可以预测地信令通知运动矢量。可由视频编码器200实施的预测信令技术的两个示例包括高级运动矢量预测(amvp)和合并模式信令。
[0740]
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中其他视频块的解码样本生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
[0741]
残差生成单元207可以通过从当前视频块减去(例如,由减号指示)当前视频块的预测视频块(多个)来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中的样本的不同样本分量的残差视频块。
[0742]
在其他示例中,例如在跳过模式下,对于当前视频块,可以没有当前视频块的残差数据,并且残差生成单元207可以不执行减法操作。
[0743]
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来为当前视频块生成一个或多个变换系数视频块。
[0744]
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(qp)值对与当前视频块相关联的变换系数视频块进行量化。
[0745]
逆量化单元210和逆变换单元211可分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到来自预测单元202生成的一个或多个预测视频块的对应样本中,以产生与当前块相关联的重建视频块,以存储在缓冲器213中。
[0746]
在重建单元212重建视频块之后,可以执行环路滤波操作以减少视频块中的视频块伪影。
[0747]
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码数据并输出包括熵编码数据的比特流。
[0748]
图30是示出了可以是图28所示的系统100中的视频解码器114的视频解码器300的示例的框图。
[0749]
视频解码器300可被配置为执行本公开的任何或所有技术。在图30的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各个组件之间共享。在一些示例中,处理器可被配置为执行本公开中描述的任何或所有技术。
[0750]
在图30的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重建单元306和缓冲器307。在一些示例中,视频解码器300可以执行与关于视频编码器200(图29)描述的编码过程大体相反的解码过程。
[0751]
熵解码单元301可以检索编码比特流。编码比特流可包括熵编解码视频数据(例
如,视频数据的编码块)。熵解码单元301可以解码熵编解码视频数据,并且运动补偿单元302可以从熵解码视频数据确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。例如,运动补偿单元302可以通过执行amvp和合并模式来确定这样的信息。
[0752]
运动补偿单元302可以产生运动补偿块,可能基于插值滤波器执行插值。可以在语法元素中包括以子像素精度使用的插值滤波器的标识符。
[0753]
运动补偿单元302可以使用视频编码器20在视频块编码期间使用的插值滤波器来计算参考块的子整数像素的内插值。运动补偿单元302可以根据接收到的语法信息确定视频编码器200使用的插值滤波器,并使用插值滤波器来产生预测块。
[0754]
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的帧(多个)和/或条带(多个)进行编码的块的大小、描述如何对编码视频序列的图片的每个宏块进行分割的分区信息、指示如何对每个分区进行编码的模式、用于每个帧间编码块的一个或多个参考帧(和参考帧列表),以及用于解码编码视频序列的其他信息。
[0755]
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域相邻块形成预测块。逆量化单元303对在比特流中提供并由熵解码单元301解码的量化视频块系数进行逆量化(即,反量化)。逆变换单元303应用逆变换。
[0756]
重建单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的相应预测块相加,以形成解码块。如果需要,还可以应用去块滤波器对解码块进行滤波,以去除块性伪影。解码视频块随后存储在缓冲器307中,缓冲器307为后续运动补偿/帧内预测提供参考块,并且还产生解码视频以在显示设备上呈现。
[0757]
图31是根据本技术的用于视频处理的方法3100的流程图表示。方法3100包括,在操作3110,根据规则执行视频的视频块和视频的比特流之间的转换。该规则指定是否或如何在比特流中指示视频单元内的二次变换的使用。在量化之前或反量化之后应用二次变换。
[0758]
在一些实施例中,在前向主变换和量化之间或在反量化和反向主变换之间应用二次变换。在一些实施例中,视频单元包括视频的视频图片。在一些实施例中,视频单元包括视频的视频序列。在一些实施例中,二次变换包括增强的二次变换。
[0759]
在一些实施例中,二次变换的使用的隐式或显式指示基于视频块的编解码模式。在一些实施例中,以帧内编解码模式对视频块进行编解码。在不使用衍生的树块划分或脉冲编解码调制(pcm)编解码工具对视频块进行编解码的情况下,在比特流中显式地指示二次变换的使用。在一些实施例中,语法元素用于显式地指示二次变换的使用。在一些实施例中,以帧内编解码模式对视频块进行编解码。在使用衍生的树块划分对视频块进行编解码的情况下,在比特流中隐式地指示二次变换的使用。在一些实施例中,总是在视频单元内应用二次变换。在一些实施例中,以帧内编解码模式对视频块进行编解码。在使用脉冲编解码调制(pcm)编解码工具对视频块进行编解码的情况下,在比特流中隐式地指示二次变换的使用。在一些实施例中,在视频单元内总是排除二次变换。
[0760]
在一些实施例中,使用一个或多个隐式方法来隐式指示二次变换的使用。在一些实施例中,一个或多个隐式方法的确定基于视频块的编解码信息。在一些实施例中,以帧内编解码模式对视频块进行编解码。在不使用衍生的树块划分或脉冲编解码调制(pcm)编解
码工具对视频块进行编解码的情况下,基于适用的变换系数来确定一个或多个隐式方法。在一些实施例中,基于视频块中奇数变换系数的奇偶性和/或偶数系数的奇偶性来指示二次变换的使用。
[0761]
图32是根据本技术的用于视频处理的方法3200的流程图表示。方法3200包括,在操作3210,根据规则执行视频的视频块和视频的比特流之间的转换。该规则指定基于与视频块相关联的语法元素来确定在视频块中可分离二次变换的使用。在前向主变换和量化之间或在反量化和反向主变换之间应用可分离二次变换。
[0762]
在一些实施例中,在语法元素的值为1的情况下,将可分离二次变换应用于视频块。在一些实施例中,在语法元素的值为1的情况下,在视频块中禁用可分离二次变换。在一些实施例中,基于视频块的编解码信息来调节语法元素的指示。在一些实施例中,在视频块是亮度块的情况下指示语法元素。在一些实施例中,在视频块中使用衍生的树块划分的情况下,在比特流中省略语法元素。在一些实施例中,在主变换不是离散余弦变换类型-ii(dct-2)的情况下,在比特流中省略语法元素。在一些实施例中,在比特流中省略语法元素的情况下,语法元素的默认值被推断为0。
[0763]
图33是根据本技术的用于视频处理的方法3300的流程图表示。方法3300包括,在操作3310,根据规则执行视频的视频块和视频的比特流之间的转换。该规则指定从要应用于视频块的多个可分离二次变换中选择一个二次变换。二次变换应用于视频块的行或视频块的列。
[0764]
在一些实施例中,在比特流中指示二次变换的选择。在一些实施例中,基于视频块的编解码信息导出二次变换的选择。在一些实施例中,在视频块的宽度小于或等于n,n为正整数的情况下,将4
×
4可分离二次变换应用于视频块的行。在一些实施例中,在视频块的高度小于或等于n,n为正整数的情况下,将4
×
4可分离二次变换应用于视频块的列。在一些实施例中,在视频块的宽度大于n,n为正整数的情况下,将8
×
8可分离二次变换应用于视频块的行。在一些实施例中,在视频块的高度大于n,n为正整数的情况下,将8
×
8可分离二次变换应用于视频块的列。在一些实施例中,在视频块的高度小于或等于n,n为正整数的情况下,将4
×
4或8
×
8可分离二次变换应用于视频块的最顶部的四行。在一些实施例中,在视频块的高度大于n,n为正整数的情况下,将4
×
4或8
×
8可分离二次变换应用于视频块的最顶部的八行。在一些实施例中,在视频块的宽度小于或等于n,n为正整数的情况下,将4
×
4或8
×
8可分离二次变换应用于视频块的最左边的四列。在一些实施例中,在视频块的宽度大于n,n为正整数的情况下,将4
×
4或8
×
8可分离二次变换应用于视频块的最左边的八列。在一些实施例中,n是4或8。
[0765]
在一些实施例中,8
×
8可分离二次变换的核心矩阵被定义为:
[0766]
图34是根据本技术的用于视频处理的方法3400的流程图表示。方法3400包括,在操作3410,基于条件确定用于视频的视频块的运动补偿的一个或多个插值滤波器。方法3400包括,在操作3420,根据该确定执行视频的视频块与视频的比特流之间的转换。
[0767]
在一些实施例中,条件包括仿射预测是否应用于视频块。在一些实施例中,条件包括交织预测是否应用于视频块。在一些实施例中,条件包括仿射预测和双向预测是否应用于视频块。在一些实施例中,条件包括交织预测和双向预测是否应用于视频块。
[0768]
在一些实施例中,具有不同数量的滤波器系数的两个插值滤波器是不同的。在一些实施例中,具有至少一个不同滤波器系数的两个插值滤波器是不同的。在一些实施例中,在满足条件的情况下,一个或多个插值滤波器包括以下中的至少一个:{0,0,0,64,0,0,0,0},{0,1,-3,63,4,-2,1,0},{0,2,-5,62,8,-3,0,0},{0,3,-8,60,13,-4,0,0},{0,4,-10,58,17,-5,0,0},{0,3,-11,52,26,-8,2,0},{0,2,-9,47,31,-10,3,0},{0,3,-11,45,34,-10,3,0},{0,3,-11,40,40,-11,3,0},{0,3,-10,34,45,-11,3,0},{0,3,-10,31,47,-9,2,0},{0,2,-8,26,52,-11,3,0},{0,0,-5,17,58,-10,4,0},{0,0,-4,13,60,-8,3,0},{0,0,-3,8,62,-5,2,0},或{0,1,-2,4,63,-3,1,0}。
[0769]
在一些实施例中,在满足条件的情况下,一个或多个插值滤波器包括以下中的至少一个:{0,0,0,64,0,0,0,0},{0,1,-3,63,4,-1,0,0},{0,2,-6,62,8,-3,1,0},{0,2,-8,60,13,-5,2,0},{0,2,-9,57,18,-6,2,0},{0,3,-11,53,24,-8,3,0},{0,3,-10,49,29,-9,2,0},{0,3,-11,45,34,-10,3,0},{0,3,-11,40,40,-11,3,0},{0,3,-10,34,45,-11,3,0},{0,2,-9,29,49,-10,3,0},{0,3,-8,24,53,-11,3,0},{0,2,-6,18,57,-9,2,0},{0,2,-5,13,60,-8,2,0},{0,1,-3,8,62,-6,2,0}或{0,0,-1,4,63,-3,1,0}。
[0770]
图35是根据本技术的用于视频处理的方法3500的流程图表示。方法3500包括,在操作3510,根据规则执行视频的视频块和视频的比特流之间的转换。使用交织预测模式对视频块进行编解码,在该交织预测模式中使用第一样式和第二样式将视频块划分为子块,并且最终预测被确定为具有第一样式和第二样式的两个辅助预测的加权和。该规则指定具有第一样式和第二样式的两个辅助预测包括单预测和双预测,其中第一样式和第二样式是不同的。
[0771]
在一些实施例中,用于单预测模式的第一样式包括在视频块的左下角处具有2
×
2偏移的4
×
4子块。在一些实施例中,用于单预测模式的第一样式包括在视频块的左下角处具有4
×
4偏移的8
×
8子块。
[0772]
在一些实施例中,用于加权和的两个适用的加权值wa和wb满足wa+wb=2n,其中n
是大于1的正整数。在一些实施例中,第一权重w1与由第一样式生成的第一预测样点p1相关联,第二权重w2与由第二样式生成的第二预测样点p2相关联。在w1和w2相同,w1和w2为wa或wb的情况下,最终预测被计算为p=(p1+p2)》》1或(p1+p2+1)》》1。在一些实施例中,第一权重w1与由第一样式生成的第一预测样点p1相关联,第二权重w2与由第二样式生成的第二预测样点p2相关联。在w1和w2不同,其中偏移等于1《《(n-1)或0的情况下,最终预测被计算为p=(w1
×
p1+w1
×
p2+偏移)》》n。
[0773]
在一些实施例中,8
×
8子块的加权值由如下矩阵示出:
[0774]
wbwbwbwbwbwbwbwbwbwbwbwbwbwbwbwbwbwbwawawawawbwbwbwbwawawawawbwbwbwbwawawawawbwbwbwbwawawawawbwbwbwbwbwbwbwbwbwbwbwbwbwbwbwbwbwb
[0775]
在一些实施例中,8
×
4子块的加权值由如下矩阵示出:
[0776]
wbwbwawawawawbwbwbwbwawawawawbwbwbwbwawawawawbwbwbwbwawawawawbwb
[0777]
在一些实施例中,4
×
8子块的加权值由如下矩阵示出:
[0778]
wbwbwbwbwbwbwbwbwawawawawawawawawawawawawawawawawbwbwbwbwbwbwbwb
[0779]
在一些实施例中,4
×
4子块的加权值由如下矩阵示出:
[0780]
wawawawawawawawawawawawawawawawa
[0781]
在一些实施例中,转换包括将视频编码为比特流。在一些实施例中,转换包括解码比特流以生成视频。
[0782]
所公开的技术的一些实施例包括做出决定或确定以启用视频处理工具或模式。在一个示例中,当启用视频处理工具或模式时,编码器将在视频块的处理中使用或实施该工
具或模式,但可能不一定基于该工具或模式的使用来修改所得到的比特流。也就是说,当基于决定或确定启用视频处理工具或模式时,从视频块到视频的比特流表示的转换将使用视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在知道比特流已经基于视频处理工具或模式被修改的情况下处理比特流。也就是说,将使用基于决定或确定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。
[0783]
所公开的技术的一些实施例包括作出决定或确定以禁用视频处理工具或模式。在一个示例中,当禁用视频处理工具或模式时,编码器在视频块到视频的比特流表示的转换中将不使用该工具或模式。在另一示例中,当禁用视频处理工具或模式时,解码器将在知道比特流尚未使用基于决定或确定而启用的视频处理工具或模式被修改的情况下处理比特流。
[0784]
在本文档中,术语“视频处理”可指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示转换为相应的比特流表示期间应用,反之亦然。例如,当前视频块的比特流表示可以对应于如语法所定义的,在比特流内位于同一位置或分散在不同位置的比特。例如,宏块可以根据变换和编解码的错误残值进行编码,并且还可以使用报头中的比特和比特流中的其他字段。
[0785]
本文档中描述的公开和其他解决方案、示例、实施例、模块和功能操作可在数字电子电路中或在计算机软件、固件或硬件(包括本文档中公开的结构及其结构等效物,或以它们中的一种或多种的组合)中实施。所公开的实施例和其他实施例可以实施为一个或多个计算机程序产品,例如,编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制其操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质的组合物,或者它们中的一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其生成用于编码信息以传输到合适的接收器装置。
[0786]
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程,或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件相对应。程序可以存储在保存其他程序或数据(例如,标记语言文档中存储的一个或多个脚本)的文件的一部分、专用于所讨论的程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台计算机上执行或者部署在位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。
[0787]
本文档中描述的过程和逻辑流可由一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过操作输入数据和生成输出来执行功能。处理和逻辑流还可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。
[0788]
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或
两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括或操作地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或向其传输数据或两者。然而,计算机不需要具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及cd-rom及dvd-rom盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
[0789]
尽管本专利文档包含许多细节,但这些细节不应被解释为对任何主题或可能要求保护的内容的范围的限制,而是对可能特定于特定技术的特定实施例的特征的描述。本专利文档中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实施。此外,尽管上述特征可以被描述为在某些组合中起作用,甚至最初被声称为这样,但在一些情况下,可以从组合中删除来自所声称的组合的一个或多个特征,并且所声称的组合可以被定向到子组合或子组合的变体。
[0790]
类似地,虽然在附图中以特定顺序描述操作,但这不应理解为要求以所示的特定顺序或顺序执行此类操作,或要求执行所有图示操作以实现期望结果。此外,本专利文档中描述的实施例中的各种系统组件的分离不应理解为在所有实施例中都需要这种分离。
[0791]
仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和说明的内容来进行其他实施方式、增强和变化。

技术特征:


1.一种视频处理方法,包括:根据规则执行视频的视频块和所述视频的比特流之间的转换,其中所述规则指定是否或如何在所述比特流中指示视频单元内的二次变换的使用,其中在量化之前或在反量化之后应用所述二次变换。2.根据权利要求1所述的方法,其中在前向主变换和量化之间或在反量化和反向主变换之间应用所述二次变换。3.根据权利要求1所述的方法,其中所述视频单元包括所述视频的视频图片。4.根据权利要求1所述的方法,其中所述视频单元包括所述视频的视频序列。5.根据权利要求1所述的方法,其中所述二次变换包括增强的二次变换。6.根据权利要求1至5中任一项所述的方法,其中所述二次变换的所述使用的隐式或显式指示基于所述视频块的编解码模式。7.根据权利要求6所述的方法,其中以帧内编解码模式对所述视频块进行编解码,并且其中在不使用衍生的树块划分或脉冲编解码调制(pcm)编解码工具对所述视频块进行编解码的情况下,在所述比特流中显式地指示所述二次变换的所述使用。8.根据权利要求7所述的方法,其中语法元素用于显式地指示所述二次变换的所述使用。9.根据权利要求6所述的方法,其中以帧内编解码模式对所述视频块进行编解码,并且其中在使用衍生的树块划分对所述视频块进行编解码的情况下,在所述比特流中隐式地指示所述二次变换的所述使用。10.根据权利要求9所述的方法,其中总是在所述视频单元内应用所述二次变换。11.根据权利要求6所述的方法,其中以帧内编解码模式对所述视频块进行编解码,并且其中在使用脉冲编解码调制(pcm)编解码工具对所述视频块进行编解码的情况下,在所述比特流中隐式地指示所述二次变换的所述使用。12.根据权利要求11所述的方法,其中在所述视频单元内总是排除所述二次变换。13.根据权利要求1至12中任一项所述的方法,其中使用一个或多个隐式方法来隐式指示所述二次变换的所述使用。14.根据权利要求13所述的方法,其中所述一个或多个隐式方法的确定基于所述视频块的编解码信息。15.根据权利要求14所述的方法,其中以帧内编解码模式对所述视频块进行编解码,并且其中在不使用衍生的树块划分或脉冲编解码调制(pcm)编解码工具对所述视频块进行编解码的情况下,基于适用的变换系数来确定所述一个或多个隐式方法。16.根据权利要求15所述的方法,其中基于所述视频块中奇数变换系数的奇偶性和/或偶数系数的奇偶性来指示所述二次变换的所述使用。17.一种视频处理方法,包括:根据规则执行视频的视频块和所述视频的比特流之间的转换,其中所述规则指定基于与所述视频块相关联的语法元素来确定所述视频块中的可分离二次变换的使用,其中在前向主变换和量化之间或在反量化和反向主变换之间应用所述可分离二次变换。18.根据权利要求17所述的方法,其中在所述语法元素的值为1的情况下,将所述可分
离二次变换应用于所述视频块。19.根据权利要求17所述的方法,其中在所述语法元素的值为1的情况下,在所述视频块中禁用所述可分离二次变换。20.根据权利要求17至19中任一项所述的方法,其中基于所述视频块的编解码信息来调节所述语法元素的指示。21.根据权利要求20所述的方法,其中在所述视频块是亮度块的情况下指示所述语法元素。22.根据权利要求20所述的方法,其中在所述视频块中使用衍生的树块划分的情况下,在所述比特流中省略所述语法元素。23.根据权利要求20所述的方法,其中在主变换不是离散余弦变换类型-ii(dct-2)的情况下,在所述比特流中省略所述语法元素。24.根据权利要求17至23中任一项所述的方法,其中在所述比特流中省略所述语法元素的情况下,所述语法元素的默认值被推断为0。25.一种视频处理方法,包括:根据规则执行视频的视频块和所述视频的比特流之间的转换,其中所述规则指定从要应用于所述视频块的多个可分离二次变换中选择二次变换,其中所述二次变换应用于所述视频块的行或所述视频块的列。26.根据权利要求25所述的方法,其中在所述比特流中指示所述二次变换的选择。27.根据权利要求25所述的方法,其中基于所述视频块的编解码信息导出所述二次变换的选择。28.根据权利要求27所述的方法,其中在所述视频块的宽度小于或等于n,n为正整数的情况下,将4
×
4可分离二次变换应用于所述视频块的行。29.根据权利要求27所述的方法,其中在所述视频块的高度小于或等于n,n为正整数的情况下,将4
×
4可分离二次变换应用于所述视频块的列。30.根据权利要求27所述的方法,其中在所述视频块的宽度大于n,n为正整数的情况下,将8
×
8可分离二次变换应用于所述视频块的行。31.根据权利要求27所述的方法,其中在所述视频块的高度大于n,n为正整数的情况下,将8
×
8可分离二次变换应用于所述视频块的列。32.根据权利要求27所述的方法,其中在所述视频块的高度小于或等于n,n为正整数的情况下,将4
×
4或8
×
8可分离二次变换应用于所述视频块的最顶部的四行。33.根据权利要求27所述的方法,其中在所述视频块的高度大于n,n为正整数的情况下,将4
×
4或8
×
8可分离二次变换应用于所述视频块的最顶部的八行。34.根据权利要求27所述的方法,其中在所述视频块的宽度小于或等于n,n为正整数的情况下,将4
×
4或8
×
8可分离二次变换应用于所述视频块的最左边的四列。35.根据权利要求27所述的方法,其中在所述视频块的宽度大于n,n为正整数的情况下,将4
×
4或8
×
8可分离二次变换应用于所述视频块的最左边的八列。36.根据权利要求25至32中任一项所述的方法,其中n为4或8。37.根据权利要求17至36中任一项所述的方法,其中8
×
8可分离二次变换的核心矩阵被定义为:
38.一种视频处理方法,包括:基于条件确定用于视频的视频块的运动补偿的一个或多个插值滤波器;以及根据所述确定执行所述视频的所述视频块和所述视频的比特流之间的转换。39.根据权利要求38所述的方法,其中所述条件包括仿射预测是否应用于所述视频块。40.根据权利要求38所述的方法,其中所述条件包括交织预测是否应用于所述视频块。41.根据权利要求38所述的方法,其中所述条件包括仿射预测和双向预测是否应用于所述视频块。42.根据权利要求38所述的方法,其中所述条件包括交织预测和双向预测是否应用于所述视频块。43.根据权利要求38至42中任一项所述的方法,其中具有不同数量的滤波器系数的两个插值滤波器是不同的。44.根据权利要求38至42中任一项所述的方法,其中具有至少一个不同滤波器系数的两个插值滤波器是不同的。45.根据权利要求38至44中任一项所述的方法,其中,在满足所述条件的情况下,所述一个或多个插值滤波器包括以下中的至少一个:{0,0,0,64,0,0,0,0},{0,1,-3,63,4,-2,1,0},{0,2,-5,62,8,-3,0,0},{0,3,-8,60,13,-4,0,0},{0,4,-10,58,17,-5,0,0},{0,3,-11,52,26,-8,2,0},{0,2,-9,47,31,-10,3,0},{0,3,-11,45,34,-10,3,0},{0,3,-11,40,40,-11,3,0},{0,3,-10,34,45,-11,3,0},{0,3,-10,31,47,-9,2,0},{0,2,-8,26,52,-11,3,0},{0,0,-5,17,58,-10,4,0},{0,0,-4,13,60,-8,3,0},{0,0,-3,8,62,-5,2,0},或
{0,1,-2,4,63,-3,1,0}。46.根据权利要求38至45中任一项所述的方法,其中,在满足所述条件的情况下,所述一个或多个插值滤波器包括以下中的至少一个:{0,0,0,64,0,0,0,0},{0,1,-3,63,4,-1,0,0},{0,2,-6,62,8,-3,1,0},{0,2,-8,60,13,-5,2,0},{0,2,-9,57,18,-6,2,0},{0,3,-11,53,24,-8,3,0},{0,3,-10,49,29,-9,2,0},{0,3,-11,45,34,-10,3,0},{0,3,-11,40,40,-11,3,0},{0,3,-10,34,45,-11,3,0},{0,2,-9,29,49,-10,3,0},{0,3,-8,24,53,-11,3,0},{0,2,-6,18,57,-9,2,0},{0,2,-5,13,60,-8,2,0},{0,1,-3,8,62,-6,2,0},或{0,0,-1,4,63,-3,1,0}。47.一种视频处理方法,包括:根据规则执行视频的视频块和所述视频的比特流之间的转换,其中使用交织预测模式对所述视频块进行编解码,在所述交织预测模式中使用第一样式和第二样式将所述视频块划分为子块,并且最终预测被确定为具有所述第一样式和所述第二样式的两个辅助预测的加权和,并且其中所述规则规定具有所述第一样式和所述第二样式的所述两个辅助预测包括单预测和双预测,其中所述第一样式和所述第二样式是不同的。48.根据权利要求47所述的方法,其中用于所述单预测模式的所述第一样式包括在所述视频块的左下角处具有2
×
2偏移的4
×
4子块。49.根据权利要求47所述的方法,其中用于所述单预测模式的所述第一样式包括在所述视频块的左下角处具有4
×
4偏移的8
×
8子块。50.根据权利要求47至49中任一项所述的方法,其中用于所述加权和的两个适用的加权值wa和wb满足wa+wb=2n,其中n是大于1的正整数。51.根据权利要求50所述的方法,其中第一权重w1与由所述第一样式生成的第一预测样点p1相关联,第二权重w2与由所述第二样式生成的第二预测样点p2相关联,并且其中在w1和w2相同,w1和w2是wa或wb的情况下,所述最终预测被计算为p=(p1+p2)>>1或(p1+p2+1)>>1。52.根据权利要求50所述的方法,其中第一权重w1与由所述第一样式生成的第一预测样点p1相关联,第二权重w2与由所述第二样式生成的第二预测样点p2相关联,并且其中在w1和w2不同的情况下,所述最终预测被计算为(w1
×
p1+w1
×
p2+偏移)>>n,其中偏移等于1<
<(n-1)或0。53.根据权利要求50至52中任一项所述的方法,其中8
×
8子块的加权值由如下矩阵示出:wbwbwbwbwbwbwbwbwbwbwbwbwbwbwbwbwbwbwawa|wawawbwbwbwbwawawawawbwbwbwbwawawawawbwbwbwbwawawawawbwbwbwbwbwbwbwbwbwbwbwbwbwbwbwbwbwb。54.根据权利要求50至52中任一项所述的方法,其中8
×
4子块的加权值由如下矩阵示出:wbwbwawawawawbwbwbwbwawawawawbwbwbwbwawawawawbwbwbwbwawawawawbwb。55.根据权利要求50至52中任一项所述的方法,其中4
×
8子块的加权值由如下矩阵示出:wbwbwbwbwbwbwbwbwawawawawawawawawawawawawawawawawbwbwbwbwbwbwbwb。56.根据权利要求50至52中任一项所述的方法,其中4
×
4子块的加权值由如下矩阵示出:wawawawawawawawawawawawawawawawa。57.根据权利要求1至56中任一项所述的方法,其中所述转换包括将所述视频编码为所述比特流。
58.根据权利要求1至56中任一项所述的方法,其中所述转换包括解码所述比特流以生成所述视频。59.一种用于存储视频的比特流的方法,包括:根据规则从所述视频的视频块生成所述视频的比特流,其中所述规则指定是否或如何在所述比特流中指示视频单元内的二次变换的使用,其中在量化之前或在反量化之后应用所述二次变换。60.一种用于存储视频的比特流的方法,包括:根据规则从所述视频的视频块生成所述视频的比特流,其中所述规则指定基于与所述视频块相关联的语法元素来确定所述视频块中的可分离二次变换的使用,其中在前向主变换和量化之间或在反量化和反向主变换之间应用所述可分离二次变换。61.一种用于存储视频的比特流的方法,包括:根据规则从所述视频的视频块生成所述视频的比特流,其中所述规则指定从要应用于所述视频块的多个可分离二次变换中选择二次变换,其中所述二次变换应用于所述视频块的行或所述视频块的列。62.一种用于存储视频的比特流的方法,包括:根据规则从所述视频的视频块生成所述视频的比特流,其中所述规则指定基于条件确定用于所述视频块的运动补偿的一个或多个插值滤波器。63.一种用于存储视频的比特流的方法,包括:根据规则从所述视频的视频块生成所述视频的比特流,其中使用交织预测模式对所述视频块进行编解码,在所述交织预测模式中使用第一样式和第二样式将所述视频块划分为子块,并且最终预测被确定为具有所述第一样式和所述第二样式的两个辅助预测的加权和,并且其中所述规则规定具有所述第一样式和所述第二样式的所述两个辅助预测包括单预测和双预测,其中所述第一样式和所述第二样式是不同的。64.一种视频解码装置,包括处理器,所述处理器被配置为实施权利要求1到63中任一项所述的方法。65.一种视频编码装置,包括处理器,所述处理器被配置为实施权利要求1到63中任一项所述的方法。66.一种计算机程序产品,其上存储有计算机代码,所述代码在由处理器执行时,使得所述处理器实施权利要求1至63中任一项所述的方法。67.一种非暂时性计算机可读记录介质,存储由视频处理装置执行的方法生成的视频的比特流,其中所述方法包括:根据规则从所述视频的视频块生成所述视频的比特流,其中所述规则指定是否或如何在所述比特流中指示视频单元内的二次变换的使用,其中在前向主变换和量化之间或在反量化和反向主变换之间应用所述二次变换。68.一种非暂时性计算机可读记录介质,存储由视频处理装置执行的方法生成的视频的比特流,其中所述方法包括:
根据规则从所述视频的视频块生成所述视频的比特流,其中所述规则指定基于与所述视频块相关联的语法元素来确定所述视频块中的可分离二次变换的使用,其中在前向主变换和量化之间或在反量化和反向主变换之间应用所述可分离二次变换。69.一种非暂时性计算机可读记录介质,存储由视频处理装置执行的方法生成的视频的比特流,其中所述方法包括:根据规则从所述视频的视频块生成所述视频的比特流,其中所述规则指定从要应用于所述视频块的多个可分离二次变换中选择二次变换,其中所述二次变换应用于所述视频块的行或所述视频块的列。70.一种非暂时性计算机可读记录介质,存储由视频处理装置执行的方法生成的视频的比特流,其中所述方法包括:根据规则从所述视频的视频块生成所述视频的比特流,其中所述规则指定基于条件确定用于所述视频块的运动补偿的一个或多个插值滤波器。71.一种非暂时性计算机可读记录介质,存储由视频处理装置执行的方法生成的视频的比特流,其中所述方法包括:根据规则从所述视频的视频块生成所述视频的比特流,其中使用交织预测模式对所述视频块进行编解码,在所述交织预测模式中使用第一样式和第二样式将所述视频块划分为子块,并且最终预测被确定为具有所述第一样式和所述第二样式的两个辅助预测的加权和,并且其中所述规则规定具有所述第一样式和所述第二样式的所述两个辅助预测包括单预测和双预测,其中所述第一样式和所述第二样式是不同的。

技术总结


一种视频处理方法,包括根据规则执行视频的视频块和视频的比特流之间的转换。该规则指定是否或如何在比特流中指示视频单元内的二次变换的使用。在量化之前或反量化之后应用二次变换。次变换。次变换。


技术研发人员:

张凯 张莉 傅天亮 王悦 马思伟

受保护的技术使用者:

字节跳动有限公司

技术研发日:

2021.03.25

技术公布日:

2023/1/13


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-76837-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2023-01-25 09:11:04

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论