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

基于颜色分量的语法信令通知和解析的制作方法

2022-06-18 11:31:35 来源:中国专利 TAG:

基于颜色分量的语法信令通知和解析
1.相关申请的交叉引用
2.根据适用的《专利法》和/或《巴黎公约》的规定,本技术及时要求于2019年10月28日提交的国际专利申请号pct/cn2019/113646的优先权和利益。根据法律规定的目的,将上述申请的全部公开以参考方式并入本文,作为本技术公开的一部分。
技术领域
3.本专利文件涉及视频编解码技术、设备和系统。


背景技术:

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


技术实现要素:

5.描述了与数字视频编解码相关的设备、系统和方法,特别是用于视频编解码的基于矩阵的帧内预测方法。所述方法可应用于现有视频编解码标准(例如,高效视频编解码(hevc))和未来视频编解码标准(例如,多功能视频编解码(vvc))或编解码器。
6.在一个代表性方面,所公开的技术可用于提供一种用于视频处理的方法。该示例性方法包括:对于包括多个视频块的视频的当前视频块和所述视频的比特流表示之间的转换,基于规则为基于矩阵的帧内预测(mip)工具生成最可能模式(mpm)列表,其中,所述mip工具包括在所述转换期间,通过对所述视频的先前编解码的样点执行边界下采样操作,随后进行矩阵矢量乘法运算,随后有选择地进行上采样操作,来确定所述当前视频块的预测块,以及其中,所述规则指定多个mip模式与所述多个视频块的维度之间的映射;以及基于所述生成执行所述转换。
7.在另一个代表性方面,所公开的技术可用于提供一种用于视频处理的方法。该示例性方法包括:基于规则,使用的二次变换工具的边信息,执行视频的色度视频块和视频的比特流表示之间的转换,所述二次变换工具的边信息被应用于所述色度视频块,其中,二次变换工具在基于规则被应用时,包括在编码期间将前向二次变换应用于在量化之前应用于所述色度视频块的残差的前向初级变换的输出,或者在解码期间在解码期间,在应用逆初级变换之前,将逆二次变换应用于所述色度视频块的去量化的输出;以及其中,在比特流表示中对所述边信息进行编解码的方式不取决于相应的亮度视频块的所述模式。
8.在另一代表性方面,所公开的技术可用于提供一种用于视频处理的方法。该示例性方法包括:确定当前视频块是使用仿射线性加权帧内预测(alwip)模式编解码的;基于所述确定,基于非alwip帧内模式的mpm列表的至少一部分来构造alwip模式的最可能模式(mpm)列表的至少一部分;以及基于alwip模式的mpm列表执行当前视频块和当前视频块的比特流表示之间的转换。
9.在另一代表性方面,所公开的技术可用于提供一种用于视频处理的方法。该示例性方法包括:确定当前视频块的亮度分量是使用仿射线性加权帧内预测(alwip)模式编解码的;基于确定推断色度帧内模式;以及基于色度帧内模式执行当前视频块和当前视频块的比特流表示之间的转换。
10.在又一代表性方面,所公开的技术可用于提供一种用于视频处理的方法。该示例性方法包括:确定当前视频块是使用仿射线性加权帧内预测(alwip)模式编解码的;以及基于确定执行当前视频块和当前视频块的比特流表示之间的转换。
11.在又一代表性方面,所公开的技术可用于提供一种用于视频处理的方法。该示例性方法包括:确定当前视频块是使用不同于仿射线性加权帧内预测(alwip)模式的编解码模式编解码的;以及基于确定执行当前视频块和当前视频块的比特流表示之间的转换。
12.在又一代表性方面,所公开的技术可用于提供一种用于视频处理的方法。该示例性方法包括:使用仿射线性加权帧内预测(alwip)模式为当前视频块生成第一预测,基于第一预测使用位置相关帧内预测组合(pdpc)生成第二预测,以及基于第二预测,执行当前视频块和当前视频块的比特流表示之间的转换。
13.在又一个代表性方面,所公开的技术可用于提供一种用于视频处理的方法。该示例性方法包括确定当前视频块是使用仿射线性加权帧内预测(alwip)模式编解码的,基于alwip模式预测当前视频块的多个子块,以及基于预测,执行当前视频块和当前视频块的比特流表示之间的转换。
14.在又一个代表性方面,公开了一种视频处理方法。该方法包括:在当前视频块和当前视频块的比特流表示之间的转换期间,基于规则为当前视频块确定指示仿射线性加权帧内预测(alwip)模式的使用的标志的上下文,基于alwip模式预测当前视频块的多个子块,以及基于预测执行当前视频块和当前视频块的比特流表示之间的转换。
15.在又一代表性方面,公开了一种视频处理方法。该方法包括:确定使用仿射线性加权帧内预测(alwip)模式对当前视频块进行编解码,以及在当前视频块与该视频块的比特流表示之间的转换期间,对在与alwip模式相关联的上采样处理中的当前视频块的样点执行至少两个滤波阶段,其中,至少两个滤波阶段的第一滤波阶段中的样点的第一精度不同于至少两个滤波阶段的第二滤波阶段中的样点的第二精度。
16.在又一方面,公开了一种视频处理方法。该方法包括:确定是否使用仿射线性加权帧内预测(alwip)模式对当前视频块进行编解码,并在当前视频块和当前视频块的比特流表示的转换期间,对在与alwip模式相关联的上采样处理中的当前视频块的样点治执行至少两个滤波阶段,其中,对于同时进行垂直和水平上采样的情况,以固定顺序执行上采样处理。
17.在又一方面,公开了一种视频处理方法。该方法包括:确定使用仿射线性加权帧内预测(alwip)模式对当前视频块进行编解码,并在当前视频块和当前视频块的比特流表示的转换期间,对在与alwip模式相关联的上采样处理中的当前视频块的样点治执行至少两个滤波阶段,其中转换包括在上采样处理之前执行转置操作。
18.在又一方面,公开了一种视频处理方法。该方法包括:对于视频的当前视频块和视频的比特流表示之间的转换,由于当前视频块满足条件,确定与在该转换的二次变换的使用的信令与基于亮度矩阵的帧内预测(mip)工具的信令分离,以及基于该确定执行转换。
19.在又一方面,公开了一种视频处理方法。该方法包括:基于与视频的当前视频块相关联的编解码条件,确定与二次变换相关联的边信息是否被包括在视频的比特流表示中,并基于该确定在当前视频块和比特流表示之间执行转换。
20.在又一代表性方面,上述方法以处理器可执行代码的形式实施,并且存储在计算机可读的程序介质中。
21.在又一代表性方面,公开了一种设备,其被配置为或可操作以执行上述方法。该设备可以包括被编程以实现该方法的处理器。
22.在又一代表性方面,一种视频解码器装置,其可以实现如本文所述的方法。
23.在附图、说明书和权利要求书中更详细地描述了所公开技术的上述方面、以及其他方面和特征。
附图说明
24.图1示出了33种帧内预测方向的示例。
25.图2示出了67种帧内预测模式的示例。
26.图3示出了用于推导线性模型的权重的样点的位置的示例。
27.图4示出了与预测块临近的四条参考行的示例。
28.图5a和图5b示出了取决于块尺寸的子分割的示例。
29.图6示出了4
×
4块的alwip的示例。
30.图7示出了8
×
8块的alwip的示例。
31.图8示出了8
×
4块的alwip的示例。
32.图9示出了16
×
16块的alwip的示例。
33.图10示出了在mpm列表构造中使用的临近块的示例。
34.图11示出了根据所公开的技术的基于矩阵的帧内预测的示例方法的流程图。
35.图12示出了根据所公开的技术的基于矩阵的帧内预测的另一示例方法的流程图。
36.图13示出了根据所公开的技术的基于矩阵的帧内预测的又一示例方法的流程图。
37.图14示出了根据所公开的技术的基于矩阵的帧内预测的又一示例方法的流程图。
38.图15是用于实现本文中描述的视觉媒体解码或视觉媒体编码技术的硬件平台的示例的框图。
39.图16示出了临近块的示例。
40.图17是所提出的减少的边界样点生成的示例。
41.图18示出了利用原始的重构的邻居样点提出的上采样的示例。
42.图19是说明视频解码器的示例的框图。
43.图20是示出了其中可以实现本文公开的各种技术的示例视频处理系统的框图。
44.图21是示出了可利用本公开的技术的示例性视频编解码系统的框图。
45.图22是说明视频编码器的示例的框图。
46.图23-24示出了根据所公开的技术的、用于基于矩阵的帧内预测的又一示例方法的两个示例流程图。
47.图25-26示出了更新的表,其中包括将ctxinc分配给具有上下文编解码的二进制位的语法元素。
48.图27示出了用于帧内预测和mip模式之间的映射规范的更新表。
49.图28示出了用于mip和帧内预测模式之间的映射规范的更新表。
具体实施方式
50.由于对高分辨率视频的需求持续增长,视频编解码方法和技术在现代技术中无处不在。视频编解码器通常包括压缩或解压缩数字视频的电子电路或软件,并且正在不断改进以提供更高的编解码效率。视频编解码器将未压缩的视频转换为压缩格式,反之亦然。视频质量、用于表示视频的数据量(由比特率决定)、编码和解码算法的复杂度、对数据丢失和错误的敏感度、易于编辑、随机访问和端到端延迟(时延)之间存在复杂的关系。压缩格式通常符合标准视频压缩规范,例如,高效视频编解码(hevc)标准(也称为h.265或mpeg-h第2部分)、待定的多功能视频编解码(vvc)标准,或其他当前和/或未来的视频编解码标准。
51.所公开技术的实施例可以应用于现有的视频编解码标准(例如,hevc,h.265)和未来的标准,以改进运行时间性能。为了提高描述的可读性,在本文中使用了章节标题,并且不以任何方式将讨论或实施例(和/或实现)仅限于各个章节。
52.1.hevc简介
53.1.1 hevc/h.265中的帧内预测
54.帧内预测涉及使用先前在所考虑的颜色通道中重构的样点为给定tb(变换块)生成样点。为亮度和色度通道单独地信令通知帧内预测模式,其中色度通道帧内预测模式可替代地经由“dm_chroma”模式取决于亮度通道帧内预测模式。尽管在pb(预测块)级信令通知帧内预测模式,但是根据cu的残差四叉树层次结构在tb级应用帧内预测处理,从而允许一个tb的编解码对cu内的下一个tb的编解码产生影响,因此减少了与用作参考值的样点之间的距离。
55.hevc包括35种帧内预测模式:dc模式、平面(planar)模式和33方向、或“角度”帧内预测模式。图1示出了33种角度帧内预测模式。
56.对于与色度通道相关联的pb,将帧内预测模式指定为平面(planar)、dc、水平、垂直、“dm_chroma”模式(或有时为对角模式“34”)。
57.注意,对于色度格式4:2:2和4:2:0,色度pb可以重叠两个或四个(分别)亮度pb;在这种情况下,dm_chroma的亮度方向取自这些亮度pb的左上角。
58.dm_chroma模式指示将亮度颜色通道pb的帧内预测模式应用于色度通道pb。由于这是相对常见的,所以intra_chroma_pred_mode的最可能模式编解码方案偏向于选择这种模式。
59.2.vvc中帧内预测的示例
60.2.1采用67种帧内预测模式的帧内模式编解码
61.为了捕获自然视频中呈现的任意边缘方向,将方向帧内模式的数量从hevc中使用的33个扩展到65个。在图2中,附加的方向模式被描绘为红色虚线箭头,并且平面(planar)模式和dc模式保持相同。这些更密集的方向帧内预测模式适用于所有块尺寸以及亮度和色度帧内预测。
62.2.2交叉分量线性模型(cclm)的示例
63.在一些实施例中,为了减少交叉分量冗余,在jem中使用交叉分量线性模型(cclm)
预测模式(也称为lm),对于该模式,通过使用如下所示的线性模型、基于相同cu的重构亮度样点来预测色度样点:
64.predc(i,j)=α
·
rec
l

(i,j) β
ꢀꢀ
(1)
65.这里,predc(i,j)表示cu中的预测色度样点,并且rec
l

(i,j)表示同一cu的下采样重构亮度样点。线性模型参数α和β是从两个样点的亮度值和色度值之间的关系推导的,这两个样点是下采样临近亮度样点的集合中具有最小样点值的亮度样点和具有最大样点值的亮度样点,以及它们对应的色度样点。图3示出了cclm模式中所涉及的左侧和上方样点以及当前块的样点的位置的示例。
66.该参数计算是作为解码处理的一部分执行的,而不仅仅是作为编码器搜索操作。因此,不使用语法将α和β值传递给解码器。
67.对于色度帧内模式编解码,色度帧内模式编解码总共允许8个帧内模式。这些模式包括五种传统的帧内模式和三种交叉分量线性模型模式(cclm、lm_a和lm_l)。色度模式编解码直接取决于对应亮度块的帧内预测模式。由于在i条带中启用了亮度和色度分量的单独块分割结构,因此一个色度块可以对应于多个亮度块。因此,对于色度dm模式,直接继承覆盖当前色度块中心位置的对应亮度块的帧内预测模式。
68.2.3多参考行(mrl)帧内预测
69.多参考行(mrl)帧内预测使用更多参考行进行帧内预测。在图4中,描绘了4个参考行的示例,其中段a和f的样点不是从重构的临近样点中取得的,而是分别用段b和段e的最近样点填充的。hevc帧内预测使用最近的参考行(即,参考行0)。在mrl中,使用了附加的两个参考行(参考行1和参考行3)。所选参考行的索引(mrl_idx)被信令通知并用于生成帧内预测器。对于大于0的参考行idx,在mpm列表中只包括附加的参考行模式,并且只信令通知没有其余模式的mpm索引。
70.2.4帧内子分割(isp)
71.帧内子分割(isp)工具根据块尺寸将亮度帧内预测块垂直或水平地划分为2或4个子分割。例如,isp的最小块尺寸为4x8(或8x4)。如果块尺寸大于4x8(或8x4),则将相应的块划分4个子分割。图5示出了两种可能性的示例。所有子分割分满足具有至少16个样点的条件。
72.对于每个子分割,通过将残差信号加到预测信号中来获得重构样点。这里,通过诸如熵解码、逆量化和逆变换等处理产生残差信号。因此,每个子分割的重构样点值可用于生成下一个子分割的预测,并且每个子分割被重复处理。此外,要处理的第一个子分割是包含cu左上角样点的分割,然后继续向下(水平划分)或向右(垂直划分)。结果,用于生成子分割预测信号的参考样点仅位于线(line)的左侧和上方。所有子分割分共享相同的帧内模式。
73.2.5仿射线性加权帧内预测(alwip或基于矩阵的帧内预测)
74.在jvet-n0217提出了仿射线性加权帧内预测(alwip,又称基于矩阵的帧内预测(mip))。
75.在jvet-n0217中,进行了两次测试。在测试1中,将alwip设计为8k字节的内存限制,并且每个样点最多4次乘法。测试2与测试1类似,但在内存需求和模型架构方面进一步缩减了设计。
76.ο所有块形状的单个矩阵集合和偏移矢量。
77.ο所有块形状的模式数量减少至19个。
78.ο将内存需求减少到5760个10比特值,即7.20个千字节。
79.ο在每个方向的单个步骤中执行预测样点的线性插值,替代第一测试中的迭代插值。
80.2.5.1 jvet-n0217的测试1
81.对于宽度w和高度h的矩形块的样点预测,仿射线性加权帧内预测(alwip)以块左侧的一行h个重构的临近边界样点和块上方的一行w个重构的临近边界样点作为输入。如果重构的样点不可用,则像在传统帧内预测中那样将其生成。
82.预测信号的生成基于以下三个步骤:
83.在w=h=4的情况下,通过平均从边界样点中提取四个样点,并且在其它情况下,通过平均从边界样点中提取八个样点。
84.以平均的样点为输入执行矩阵矢量乘法,然后加上偏移。结果是在原始块中的子采样集上的缩减的预测信号。
85.通过线性插值从子采样集合上的预测信号生成其余位置处的预测信号,所述线性插值是每个方向中的单步线性插值。
86.生成预测信号所需的矩阵和偏移矢量取自三个矩阵集合s0,s1,s2。集合s0由18个矩阵组成,其中每个矩阵有16行4列、以及18个每个尺寸为16的偏移矢量该集合的矩阵和偏移矢量用于尺寸为4
×
4的块。集合s1由10个矩阵组成,其中每个矩阵有16行8列、以及10个每个尺寸为16的偏移矢量该集合的矩阵和偏移矢量用于尺寸为4
×
8、8
×
4和8
×
8的块。最后,集合s2由6个矩阵组成,其中每个矩阵有64行8列、以及尺寸为64的6个偏移矢量该集合的矩阵和偏移矢量或这些矩阵和偏移矢量的一部分用于所有其他块形状。
87.计算矩阵矢量积所需的乘法总数总是小于或等于4
×w×
h。换句话说,对于alwip模式,每个样点最多需要四个乘法。
88.2.5.2边界的平均
89.在第一步中,将输入边界bdry
top
和bdry
left
降为更小的边界和这里,在4
×
4块的情况下,和都由两个样点组成,并且在所有其他情况下,和都由4个样点组成。
90.在4
×
4块的情况下,对于0≤i<2,定义
[0091][0092]
并且类似地定义
[0093]
否则,如果快宽度w为w=4
·2k
,0≤i<4,那么定义:
[0094][0095]
将两个缩减的边界和级联成缩减的边界矢量bdry
red
,因此,对于形状为4
×
4的块,bdry
red
的尺寸为4,并且对于所有其他形状的块,bdry
red
的尺寸为8。如果模式指的是alwip模式,则级联定义如下:
[0096][0097]
最后,对于子采样预测信号的插值,在大的块上需要平均边界的第二版本。即,如果min(w,h)>8并且w≥h,则写为w=8*2
l
,并且对于0≤i<8,定义
[0098][0099]
如果min(w,h)>8并且h>w,则类似地定义
[0100]
2.5.3通过矩阵矢量乘法生成缩减的预测信号
[0101]
从缩减的输入矢量bdry
red
生成缩减的预测信号pred
red
。后一个信号是宽度为w
red
和高度为h
red
的下采样块上的信号。这里,w
red
和h
red
定义为:
[0102][0103][0104]
通过计算矩阵矢量积并加上偏移来计算缩减的预测信号:
[0105]
pred
red
=a
·
bdry
red
b
[0106]
这里,如果w=h=4,则a是具有w
red
·hred
行和4列的矩阵,并且在所有其他情况下,a是具有w
red
·hred
行和8列的矩阵。b是尺寸为w
red
·hred
的矢量。
[0107]
矩阵a和矢量b取自集合s0,s1,s2中的一个,如下所示。如下定义索引idx=idx(w,h):
[0108][0109]
此外,如下设置m:
[0110][0111]
然后,如果idx≤1或idx=2且min(w,h)>4,则设置并且在idx=2并且min(w,h)=4的情况下,将a设置为:在w=4的情况下去掉对应于下采样块中的奇数x坐标的的每个行而生成的矩阵,或者在h=4的情况下去掉对应于下采样块中的奇数y坐标的的每个行而生成的矩阵。
[0112]
最后,在以下情况下,用其转置来替换缩减的预测信号:
[0113]
οw=h=4并且mode≥18
[0114]
οmax(w,h)=8并且mode≥10
[0115]
οmax(w,h)》8并且mode≥6
[0116]
在w=h=4的情况下,计算pred
red
所需的乘法数为4,因为在这种情况下,a具有4列16行。在所有其他情况下,a具有8列和w
red
·hred
行,并且立即确认在这些情况下需要8
·wred
·hred
≤4
·w·
h个乘法,也就是说,在这些情况下,每个样点最多需要4个乘法来计算pred
red

[0117]
2.5.4整个alwip处理的说明
[0118]
图6至9中示出了不同形状的平均、矩阵矢量乘法和线性插值的整个处理。注意,其余的形状被视为所描述的情况之一。
[0119]
1.给定4
×
4的块,alwip沿边界的每个轴取两次平均。得到的四个输入样点进入矩阵矢量乘法。矩阵取自集合s0。在加上偏移之后,生成16个最终预测样点。生成预测信号不需要线性插值。因此,对每个样点总共执行(4
·
16)/(4
·
4)=4次乘法。
[0120]
2.给定8
×
8的块,alwip沿着边界的每个轴取四次平均。得到的八个输入样点进入矩阵矢量乘法。矩阵取自集合s1。这在预测块的奇数位置产生16个样点。因此,每个样点总共执行(8
·
16)/(8
·
8)=2次乘法。添加偏移后,通过使用缩减的顶部边界对这些样点进行垂直插值。接着通过使用原始左侧边界进行水平插值。
[0121]
3.给定8
×
4的块,alwip沿边界的水平轴取四次平均、并在左边界上取四个原始边界值。得到的八个输入样点进入矩阵矢量乘法。矩阵取自集合s1。这在预测块的奇数水平位置和每个垂直位置产生16个样点。因此,每个样点总共执行(8
·
16)/(8
·
4)=4次乘法。添
加偏移后,通过使用原始左边界对这些样点进行水平插值。
[0122]
4.给定16
×
16的块,alwip沿着边界的每个轴取四次平均。得到的八个输入样点进入矩阵矢量乘法。矩阵取自集合s2。这在预测块的奇数位置产生64个样点。因此,每个样点总共执行(8
·
64)/(16
·
16)=2次乘法。添加偏移后,通过使用顶部边界的八个平均值垂直插值这些样点。接着通过使用原始左边界进行水平插值。在这种情况下,插值处理不增加任何乘法。因此,每个样点总共需要两次乘法来计算alwip预测。
[0123]
对于更大的形状,流程基本相同,并且很容易检查每个样点的乘法数小于4。
[0124]
对于w》8的w
×
8块,由于在奇数水平和每个垂直位置处给出了样点,因此只需要水平插值。
[0125]
最后,对于w》8的w
×
4块,设a_k为通过沿下采样块的水平轴去掉对应于奇数项的每一行而产生的矩阵。因此,输出尺寸是32并且再次,只剩下水平插值需要执行。
[0126]
对转置的情况进行对应的处理。
[0127]
2.5.5单步线性插值
[0128]
对于max(w,h)≥8的w
×
h块,通过线性插值从w
red
×hred
的缩减的预测信号pred
red
生成预测信号。取决于块形状,在垂直、水平或两个方向上进行线性插值。如果要在两个方向上应用线性插值,如果w<h,则首先在水平方向应用线性插值,否则首先在垂直方向应用线性插值。
[0129]
在不丧失通用性的情况下,考虑max(w,h)≥8且w≥h的w
×
h块。然后,按如下方式执行一维线性插值。在不丧失通用性的情况下,描述垂直方向上的线性插值就足够了。首先,通过边界信号将缩减的预测信号扩展到顶部。定义垂直上采样因子u
ver
=h/h
red
并且写入然后,如下定义扩展的缩减预测信号:
[0130][0131]
然后,从这个扩展的缩减预测信号中,如下生成垂直线性插值预测信号:
[0132][0133]
其中0≤x<w
red
,0≤y<h
red
并且0≤k<u
ver

[0134]
2.5.6提议的帧内预测模式的信令
[0135]
对于帧内模式中的每个编解码单元(cu),在比特流中发送指示是否要在对应的预测单元(pu)上应用alwip模式的标志。后一索引的信令与与在jvet-m0043中一样的方式和mrl保持一致。如果要应用alwip模式,则将使用具有3个mpm的mpm列表信令通知alwip模式的索引predmode。
[0136]
这里,如下使用上方和左侧pu的帧内模式执行mpm的推导。有三个固定的表map_angular_to_alwip
idx
,idx∈{0,1,2,其分配给每个传统的帧内预测模式predmode
angular

alwip模式。
[0137]
predmode
alwip
=map_angular_to_alwip
idx
[predmode
angular
].
[0138]
对于每个宽度为w且高度为h的pu,定义索引:
[0139]
idx(pu)=idx(w,h)∈{0,1,2}
[0140]
该索引指示将从三个集合中的哪个中取得alwip参数,如在2.5.3节中所述。
[0141]
如果上方预测单元pu
above
可用、与当前pu属于相同的ctu并且处于帧内模式,如果idx(pu)=idx(pu
above
),并且如果将alwip应用于alwip模式的pu
above
,则令
[0142][0143]
如果上方pu可用、与当前pu属于相同的ctu并且处于帧内模式,并且如果对上方pu应用传统帧内预测模式则令
[0144][0145]
在所有其他情况下,令
[0146][0147]
这意味着该模式不可用。以同样的方式,但不受左pu必须与当前pu属于相同的ctu的限制,导出了模式
[0148]
最后,给出三个固定的默认列表list
idx
,idx∈{0,1,2},每个列表包含三个不同的alwip模式。从默认列表list
idx(pu)
和模式中,通过用默认值替换-1并消除重复,构造出三个不同的mpm。
[0149]
在alwip mpm列表构造中使用的左侧临近块和上方临近块a1和b1,如图10所示。
[0150]
2.5.7传统亮度和色度帧内预测模式的自适应mpm列表推导
[0151]
所提出的alwip模式与传统帧内预测模式的基于mpm的编解码一致,如下所述。传统帧内预测模式的亮度和色度mpm列表推导处理使用固定表map_alwip_to_angular
idx
,idx∈{0,1,2},将给定pu上的alwip模式predmode
alwip
映射到传统帧内预测模式
[0152]
predmode
angular
=map_alwip_to_angular
idx(pu)
[predmode
alwip
]
[0153]
对于亮度mpm列表推导,每当遇到使用alwip模式predmode
alwip
的临近亮度块时,该块被视为使用传统帧内预测模式predmode
angular
。对于色度mpm列表推导,每当当前亮度块使用lwip模式时,使用相同的映射将alwip模式转换为传统的帧内预测模式。
[0154]
2.5.8对应的修改工作草案
[0155]
在一些实施例中,如本节所述,基于所公开技术的实施例,已将与intra_lwip_flag、intra_lwip_mpm_flag、intra_lwip_mpm_idx和intra_lwip_mpm_remainder相关的部分添加到了工作草案中。
[0156]
在一些实施例中,如本节所述,《开始》和《结束》标记用于表示基于所公开技术的实施例对工作草案的添加和修改。
[0157]
语法表
[0158]
编解码单元语法
[0159][0160][0161]
语义
[0162]
《开始》intra_lwip_flag[x0][y0]等于1指定亮度样点的帧内预测类型是仿射线性加权帧内预测。intra_lwip_flag[x0][y0]等于0指定亮度样点的帧内预测类型不是仿射线性加权帧内预测。
[0163]
当intra_lwip_flag[x0][y0]不存在时,推断它等于0。
[0164]
语法元素intra_lwip_mpm_flag[x0][y0],intra_lwip_mpm_idx[x0][y0]和intra_lwip_mpm_remainder[x0][y0]指定亮度样点的仿射线性加权帧内预测模式。阵列索引x0,y0指定所考虑的编解码块的左上亮度样点相对于图片的左上亮度样点的位置(x0,y0)。当intra_lwip_mpm_flag[x0][y0]等于1时,根据第8.4.x条从临近的帧内预测编解码单元推断仿射线性加权帧内预测模式。
[0165]
当intra_lwip_mpm_flag[x0][y0]不存在时,推断它等于1。《结束》
[0166]
intra_subpartitions_split_flag[x0][y0]指定帧内子分割划分类型是水平还是垂直。当intra_subpartitions_split_flag[x0][y0]不存在时,将其推断如下:
[0167]

如果intra_lwip_flag[x0][y0]等于1,则推断intra_subpartitions_split_flag[x0][y0]等于0。
[0168]

否则,适用以下情况:
[0169]

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

否则(cbwidth大于maxtbsizey),推断intra_subpartitions_split_flag[x0][y0]等于1。
[0171]
解码处理
[0172]
8.4.1用于以帧内预测模式编解码的编解码单元的通用解码处理
[0173]
该处理的输入是:
[0174]

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

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

变量cbheight,其指定亮度样点中当前编解码块的高度,
[0177]

变量treetype,其指定是使用单树还是双树,并且如果使用双树,则指定当前树是否对应于亮度或色度分量。
[0178]
该处理的输出是在环内滤波之前的修改的重构图像。
[0179]
以亮度位置(xcb,ycb)、亮度样点中当前编解码块的宽度cbwidth和亮度样点中当前编解码块的高度cbheight、以及变量treetype作为输入,调用第8.7.1条中指定的量化参数的推导处理。
[0180]
当treetype等于single_tree或treetype等于dual_tree_luma时,亮度样点的解码处理指定如下:
[0181]

如果pcm_flag[xcb][ycb]等于1,则对重构图片进行如下修改:
[0182]sl
[xcb i][ycb j]=
[0183]
pcm_sample_luma[(cbheight*j) i]《《(bitdepth
y-pcmbitdepthy),(8-6)
[0184]
其中i=0..cbwidth-1,j=0..cbheight-1
[0185]

否则,适用以下情况:
[0186]
1.亮度帧内预测模式推导如下:
[0187]

如果intra_lwip_flag[xcb][ycb]等于1,则以亮度位置(xcb,ycb)、亮度样点中当前编解码块的宽度cbwidth和亮度样点中当前编解码块的高度cbheight作为输入,调用
第8.4.x条中指定的仿射线性加权帧内预测模式的推导处理。
[0188]

否则,以亮度位置(xcb,ycb)、亮度样点中当前编解码块的宽度cbwidth和亮度样点中当前编解码块的高度cbheight作为输入,调用第8.4.2条中指定的亮度帧内预测模式的推导处理。
[0189]
2.以亮度位置(xcb,ycb)、树类型treetype、设置为等于cbwidth的变量ntbw、设置为等于cbheight的变量ntbh、设置为等于intrapredmodey[xcb][ycb]的变量predmodeintra、以及设置为等于0的变量cidx作为输入,调用第8.4.4.1条中指定的帧内块的通用解码处理,并且输出是在环内滤波之前的修改的重构图像。
[0190]

[0191]
《开始》
[0192]
8.4.x仿射线性加权帧内预测模式的推导处理
[0193]
该处理的输入是:
[0194]

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

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

变量cbheight,其指定亮度样点中当前编解码块的高度,
[0197]
在该处理中,导出了仿射线性加权帧内预测模式intrapredmodey[xcb][ycb]。
[0198]
由以下顺序步骤导出intrapredmodey[xcb][ycb]:
[0199]
1.将临近位置(xnba,ynba)和(xnbb,ynbb)分别设置为等于(xcb-1,ycb)和(xcb,ycb-1)。
[0200]
2.对于被a或b替换的x,变量candlwipmodex推导如下:
[0201]

将设置为等于(xcb,ycb)的位置(xcurr,ycurr)、以及设置为等于(xnbx,ynbx)的临近位置(xnby,ynby)作为输入,调用第6.4.x条[ed.(bb):临近块可用性检查处理(待定)]中指定的块的可用性推导处理,并将输出分配给availablex。
[0202]

候选仿射线性加权帧内预测模式candlwipmodex推导如下:
[0203]

如果满足以下一个或多个条件,则将candlwipmodex设置为等于-1。
[0204]

变量availablex等于假(false)。
[0205]

cupredmode[xnbx][ynbx]不等于mode_intra,并且mh_intra_flag[xnbx][ynbx]不等于1。
[0206]

pcm_flag[xnbx][ynbx]等于1。
[0207]

x等于b,并且ycb-1小于((ycb》》ctblog2sizey)《《ctblog2sizey)。
[0208]

否则,适用以下情况:
[0209]

以亮度样点中当前编解码块的宽度cbwidth和亮度样点中当前编解码块的高度cbheight作为输入,调用第8.4.x.1条中指定的块的尺寸类型推导处理,并将输出分配给变量sizeid。
[0210]

如果intra_lwip_flag[xnbx][ynbx]等于1,则以亮度样点中临近编解码块的宽度nbwidthx和亮度样点中临近编解码块的高度nbheightx作为输入,调用第8.4.x.1条中指定的块的尺寸类型推导处理,并将输出分配给变量sizeidx。
[0211]

如果sizeid等于sizeidx,则将candlwipmodex设置为等于intrapredmodey
[xnbx][ynbx]。
[0212]

否则,将candlwipmodex设置为等于-1。
[0213]

否则,使用表8-x1中指定的intrapredmodey[xnbx][ynbx]和sizeid来导出candlwipmodex。
[0214]
3.通过使用如表8-x2中指定的lwipmpmcand[sizeid],则candlwipmodelist[x](x=0..2)推导如下:
[0215]

如果candlwipmodea和candlwipmodeb都等于-1,则适用以下情况:
[0216]
candlwipmodelist[0]=lwipmpmcand[sizeid][0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x1)
[0217]
candlwipmodelist[1]=lwipmpmcand[sizeid][1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x2)
[0218]
candlwipmodelist[2]=lwipmpmcand[sizeid][2]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x3)
[0219]

否则,适用以下情况:
[0220]

如果candlwipmodea等于candlwipmodeb,
ꢀꢀꢀꢀ
或如果candlwipmodea或candlwipmodeb中任一个等于-1,则适用以下情况:
[0221]
candlwipmodelist[0]=(candlwipmodea!=-1)?candlwipmodea:candlwipmodeb
ꢀꢀꢀ
(8-x4)
[0222]

如果candlwipmodelist[0]等于lwipmpmcand[sizeid][0],
[0223]
则适用以下情况:
[0224]
candlwipmodelist[1]=lwipmpmcand[sizeid][1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x5)
[0225]
candlwipmodelist[2]=lwipmpmcand[sizeid][2]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x6)
[0226]

否则,则适用以下情况:
[0227]
candlwipmodelist[1]=lwipmpmcand[sizeid][0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x7)
[0228]
candlwipmodelist[2]=(candlwipmodelist[0]!=lwipmpmcand[sizeid][1])?
[0229]
lwipmpmcand[sizeid][1]:lwipmpmcand[sizeid][2]
ꢀꢀꢀꢀꢀꢀꢀ
(8-x8)
[0230]

否则,适用以下情况:
[0231]
candlwipmodelist[0]=candlwipmodea
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x9)
[0232]
candlwipmodelist[1]=candlwipmodeb
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x10)
[0233]

如果candlwipmodea和candlwipmodeb都不等于lwipmpmcand[sizeid][0],则适用以下情况:
[0234]
candlwipmodelist[2]=lwipmpmcand[sizeid][0]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x11)
[0235]

否则,适用以下情况:
[0236]

如果candlwipmodea和candlwipmodeb都不等于lwipmpmcand[sizeid][1],则适用以下情况:
[0237]
candlwipmodelist[2]=lwipmpmcand[sizeid][1]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x12)
[0238]

否则,适用以下情况:
[0239]
candlwipmodelist[2]=lwipmpmcand[sizeid][2]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x13)
[0240]
4.通过应用以下步骤来导出intrapredmodey[xcb][ycb]:
[0241]

如果intra_lwip_mpm_flag[xcb][ycb]等于1,则将intrapredmodey[xcb][ycb]设置为等于candlwipmodelist[intra_lwip_mpm_idx[xcb][ycb]]。
[0242]

否则,通过应用以下顺序步骤来导出intrapredmodey[xcb][ycb]:
[0243]
1.如果candlwipmodelist[i]大于candlwipmodelist[j](i=0..1并且对于每个i,j=(i 1)..2),则如下交换两个值:
[0244]
(candlwipmodelist[i],candlwipmodelist[j])=swap(candlwipmodelist[i],candlwipmodelist[j])
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x14)
[0245]
2.通过以下顺序步骤来导出intrapredmodey[xcb][ycb:
[0246]
i.将intrapredmodey[xcb][ycb]设置为等于intra_lwip_mpm_remainder[xcb][ycb].
[0247]
ii.对于i等于0至2(包括0和2),如果intrapredmodey[xcb][ycb]大于或等于candlwipmodelist[i],则intrapredmodey[xcb][ycb]的值增加1。
[0248]
将变量intrapredmodey[x][y](x=xcb..xcb cbwidth-1并且y=ycb..ycb cbheight-1)设置为等于intrapredmodey[xcb][ycb]。
[0249]
8.4.x.1用于预测块尺寸类型的推导处理
[0250]
该处理的输入是:
[0251]-变量cbheight,指定亮度样点中当前编解码块的高度。
[0252]-变量cbwidth,指定亮度样点中当前编解码块的宽度,
[0253]
该处理的输出是变量sizeid。
[0254]
变量sizeid推导如下:
[0255]

如果cbwidth和cbheight都等于4,则将sizeid设置为等于0。
[0256]

否则,如果cbwidth和cbheight小于或等于8,则将sizeid设置为等于1。
[0257]

否则,将sizeid设置为等于2。
[0258]
表8-x1帧内预测和仿射线性加权帧内预测模式之间的映射规范
[0259][0260]
表8-x2仿射线性加权帧内预测候选模式的规范
[0261][0262]
《结束》
[0263]
8.4.2亮度帧内预测模式的推导处理
[0264]
该处理的输入是:
[0265]

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

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

变量cbheight,指定亮度样点中当前编解码块的高度,
[0268]
在该处理中,导出了亮度帧内预测模式intrapredmodey[xcb][ycb]。
[0269]
表8-1指定了帧内预测模式intrapredmodey[xcb][ycb]的值和相关名称。
[0270]
表8-1帧内预测模式和相关名称的规范
[0271]
帧内预测模式相关名称0intra_planar1intra_dc2..66intra_angular2..intra_angular6681..83intra_lt_cclm,intra_l_cclm,intra_t_cclm
[0272]
注意:帧内预测模式intra_lt_cclm,intra_l_cclm和intra_t_cclm仅适用于色度分量。
[0273]
通过如下顺序步骤导出intrapredmodey[xcb][ycb]:
[0274]
1.将临近位置(xnba,ynba)和(xnbb,ynbb)分别设置为(xcb-1,ycb cbheight-1)和(xcb cbwidth-1,ycb-1)。
[0275]
2.对于被a或b替换的x,变量candintrapredmodex推导如下:
[0276]

将设置为等于(xcb,ycb)的位置(xcurr,ycurr)、以及设置为等于(xnbx,ynbx)的临近位置(xnby,ynby)作为输入,调用《开始》第6.4.x条[ed.(bb):临近块可用性检查处理(待定)]《结束》中指定的块的可用性推导处理,并将输出分配给availablex。
[0277]

候选帧内预测模式candintrapredmodex推导如下:
[0278]

如果满足以下一个或多个条件,则将candintrapredmodex设置为等于intra_planar。
[0279]

变量availablex等于假(false)。
[0280]

cupredmode[xnbx][ynbx]不等于mode_intra,并且ciip_flag[xnbx][ynbx]不等于1。
[0281]

pcm_flag[xnbx][ynbx]等于1。
[0282]

x等于b,并且ycb-1小于((ycb》》ctblog2sizey)《《ctblog2sizey)。
[0283]

否则,candintrapredmodex推导如下:
[0284]

如果intra_lwip_flag[xcb][ycb]等于1,则通过以下顺序步骤推导candintrapredmodex:
[0285]
i.以亮度样点中当前编解码块的宽度cbwidth和亮度样点中当前编解码块的高度cbheight作为输入,调用第8.4.x.1条中指定的块的尺寸类型推导处理,并将输出分配给变量sizeid。
[0286]
ii.使用表8-x3中指定的intrapredmodey[xnbx][ynbx]和sizeid推导candintrapredmodex。
[0287]

否则,将candintrapredmodex设置为等于intrapredmodey[xnbx][ynbx]。
[0288]
3.变量ispdefaultmode1和ispdefaultmode2定义如下:
[0289]

如果intrasubpartitionssplittype等于isp_hor_split,则将ispdefaultmode1设置为等于intra_angular18,并将ispdefaultmode2设置为等于intra_angular5。
[0290]

否则,将ispdefaultmode1设置为等于intra_angular50,并将ispdefaultmode2
设置为等于intra_angular63。
[0291]

[0292]
表8-x3仿射线性加权帧内预测和帧内预测模式之间的映射规范
[0293][0294][0295]
8.4.3色度帧内预测模式的推导处理
[0296]
该处理的输入是:
[0297]

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

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

变量cbheight,指定亮度样点中当前编解码块的高度,
[0300]
在该处理中,导出了色度帧内预测模式intrapredmodec[xcb][ycb]。
[0301]
相应的亮度帧内预测模式lumaintrapredmode推导如下:
[0302]

如果intra_lwip_flag[xcb][ycb]等于1,则通过以下顺序步骤导出lumaintrapredmode:
[0303]
i.以亮度样点中当前编解码块的宽度cbwidth和亮度样点中当前编解码块的高度cbheight作为输入,调用第8.4.x.1条中指定的块的尺寸类型推导处理,并将输出分配给变量sizeid。
[0304]
ii.使用表8-x3中指定的intrapredmodey[xcb cbwidth/2][ycb cbheight/2]和sizeid推导亮度帧内预测模式,并将candintrapredmodex的值分配给lumaintrapredmode。
[0305]

否则,将lumaintrapredmode设置为等于intrapredmodey[xcb cbwidth/2][ycb cbheight/2]。
[0306]
使用表8-2和表8-3中指定的intra_chroma_pred_mode[xcb][ycb]和lumaintrapredmode导出色度帧内预测模式intrapredmodec[xcb][ycb]。
[0307]

[0308]
xxx.帧内样点预测
[0309]
《开始》
[0310]
该处理的输入是:
[0311]

指定当前变换块的左上样点相对于当前图片的左上样点的样点位置(xtbcmp,ytbcmp),
[0312]

变量predmodeintra,指定帧内预测模式,
[0313]

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

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

变量ncbw,指定编解码块宽度,
[0316]

变量ncbh,指定编解码块高度,
[0317]

变量cidx,指定当前块的颜色分量。
[0318]
该处理的输出是预测样点predsamples[x][y](x=0..ntbw-1,y=0..ntbh

1)。
[0319]
预测样点predsamples[x][y]推导如下:
[0320]

如果intra_lwip_flag[xtbcmp][ytbcmp]等于1且cidx等于0,则以位置(xtbcmp,ytbcmp)、帧内预测模式predmodeintra、变换块宽度ntbw和高度ntbh作为输入,调用第8.4.4.2.x1条中指定的仿射线性加权帧内样点预测处理,并且输出为predsamples。
[0321]

否则,以位置(xtbcmp,ytbcmp)、帧内预测模式predmodeintra、变换块宽度ntbw和高度ntbh、编解码块宽度ncbw和高度ncbh以及变量cidx作为输入,调用第8.4.4.2.x1条中指定的通用帧内样点预测处理,并且输出为predsamples。
[0322]
8.4.4.2.x1仿射线性加权帧内样点预测
[0323]
该处理的输入是:
[0324]

指定当前变换块的左上样点相对于当前图片的左上样点的样点位置(xtbcmp,ytbcmp),
[0325]

变量predmodeintra,指定帧内预测模式,
[0326]

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

变量ntbh,指定变换块高度。
[0328]
该处理的输出是预测样点predsamples[x][y](x=0..ntbw-1,y=0..ntbh

1)。
[0329]
以变换块宽度ntbw和变换块高度ntbh作为输入,调用第8.4.x.1条中指定的块的尺寸类型推导处理,并将输出分配给变量sizeid。
[0330]
如表8-x4中规定的,使用sizeid导出变量nummodes、boundarysize、predw、predh和predc。
[0331]
表8-x4取决于sizeid的模式数量、边界样点尺寸和预测尺寸的规范
[0332][0333]
标志istransposed推导如下:
[0334]
istransposed=(predmodeintra》(nummodes/2))?1:0
ꢀꢀ
(8-x15)
[0335]
标志needupsbdryhor和needupsbdryver推导如下:
[0336]
needupsbdryhor=(ntbw》predw)?true:false
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x16)
[0337]
needupsbdryver=(ntbh》predh)?true:false
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x17)
[0338]
变量upsbdryw和upsbdryh推导如下:
[0339]
upsbdryw=(ntbh》ntbw)?ntbw:predw
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x18)
[0340]
upsbdryh=(ntbh》ntbw)?predh:ntbh
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x19)
[0341]
变量lwipw和lwiph推导如下:
[0342]
lwipw=(istransposed==1)?predh:predw
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x20)
[0343]
lwiph=(istransposed==1)?predw:predh
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x21)
[0344]
对于参考样点reft[x](x=0..ntbw

1)和refl[y](y=0..ntbh

1)的生成,以样点位置(xtbcmp,ytbcmp)、变换块宽度ntbw、变换块高度ntbh作为输入,调用第8.4.4.2.x2条中规定的参考样点推导处理,并且分别以顶部和左侧参考样点reft[x](x=0..ntbw-1)和refl[y](y=0..ntbh

1)作为输出。
[0345]
对于边界样点p[x](x=0..2*boundarysize

1)的生成,适用以下情况:
[0346]

以块尺寸ntbw、参考样点reft、边界尺寸boundarysize、上采样边界标志needupsbdryver和上采样边界尺寸upsbdryw作为输入,为顶部参考样点调用第8.4.4.2.x3条中规定的边界缩减处理,并且以缩减的边界样点redt[x](x=0..boundarysize

1)和上采样边界样点upsbdryt[x](x=0..upsbdryw

1)作为输出。
[0347]

以块尺寸ntbh、参考样点refl、边界尺寸boundarysize、上采样边界标志needupsbdryhor和上采样边界尺寸upsbdryh作为输入,为左侧参考样点调用第8.4.4.2.x3条中规定的边界缩减处理,并且以缩减的边界样点redl[x](x=0..boundarysize-1)和上采样边界样点upsbdryl[x](x=0..upsbdryh-1)作为输出。
[0348]

将缩减的顶部和左侧边界样点redt和redl分配给边界样点阵列p,如下所示:
[0349]

如果istransported等于1,则将p[x]设置为等于redl[x](x=0..boundarysize

1),并将p[x boundarysize]设置为等于redt[x](x=0..boundarysize

1)。
[0350]

否则,将p[x]设置为等于redt[x](x=0..boundarysize

1),并将p[x boundarysize]设置为等于redl[x](x=0..boundarysize

1)。
[0351]
对于根据predmodeintra的帧内样点预测处理,以下顺序步骤适用:
[0352]
1.仿射线性加权样点predlwip[x][y](x=0..lwipw-1,y=0..lwiph

1)推导如下:
[0353]

变量modeid推导如下:
[0354]
modeid=predmodeintra-(istransposed==1)?(nummodes/2):0
[0355]
(8-x22)
[0356]

使用如表8-xx[待定:添加权重矩阵]中指定的sizeid和modeid导出权重矩阵mweight[x][y](x=0..2*boundarysize-1,y=0..predc*predc

1)。
[0357]

使用如表8-xx[待定:添加偏差矢量]中规定的sizeid和modeid导出偏差矢量vbias[y](y=0..predc*predc

1)。
[0358]

使用如表8-x5中规定的sizeid和modeid导出变量sw。
[0359]

仿射线性加权样点predlwip[x][y](x=0..lwipw-1,y=0..lwiph

1)推导如下:
[0360]
ow=1《《(sw

1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x23)
[0361]
sb=bitdepthy–1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x24)
[0362]
incw=(predc》lwipw)?2:1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x25)
[0363]
inch=(predc》lwiph)?2:1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x26)
[0364][0365]
2.预测样点predsamples[x][y](x=0..ntbw-1,y=0..ntbh

1)推导如下:
[0366]

如果istransposed等于1,则将predlwip[x][y](x=0..predw-1,y=0..predh-1)设置为等于predlwip[y][x]。
[0367]

如果needupsbdryver等于真(true)、或needupsbdryhor等于真(true),则以输入块宽度predw、输入块高度predh、仿射线性加权样点predlwip、变换块宽度ntbw、变换块高度ntbh、上采样边界宽度upsbdryw、上采样边界高度upsbdryh、顶部上采样边界样点upsbdryt、以及左侧上采样边界样点upsbdryl作为输入,调用第8.4.4.2.x4条中指定的预测上采样处理,并且输出是预测样点阵列predsamples。
[0368]

否则,将predsamples[x][y](x=0..ntbw-1,y=0..ntbh

1)设置为等于predlwip[x][y]。
[0369]
表8-x5取决于sizeid和modeid的权重移位sw的规范
[0370][0371]
8.4.4.2.x2参考样点推导处理
[0372]
该处理的输入是:
[0373]-指定当前变换块的左上亮度样点相对于当前图片的左上亮度样点的样点位置(xtby,ytby),
[0374]-变量ntbw,指定变换块宽度,
[0375]-变量ntbh,指定变换块高度。
[0376]
该处理的输出分别是顶部和左侧参考样点reft[x](x=0..ntbw-1)和refl[y](y=0..ntbh

1)。
[0377]
临近样点reft[x](x=0..ntbw-1)和refl[y](y=0..ntbh

1)是在环内滤波处理之前的重构样点,并且推导如下:
[0378]

顶部和左侧临近亮度位置(xnbt,ynbt)和(xnbl,ynbl)指定为:
[0379]
(xnbt,ynbt)=(xtby x,ytby-1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x28)
[0380]
(xnbl,ynbl)=(xtby-1,ytby y)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x29)
[0381]

以设置为等于(xtby,ytby)的当前亮度位置(xcurr,ycurr)和顶部临近亮度位置(xnbt,ynbt)作为输入,调用第6.4.x条[ed.(bb):临近块可用性检查处理(待定)]中指定的块的可用性推导处理,并且将输出分配给availtop[x](x=0..ntbw-1)。
[0382]

以设置为等于(xtby,ytby)的当前亮度位置(xcurr,ycurr)和左侧临近亮度位置(xnbl,ynbl)作为输入,调用第6.4.x条[ed.(bb):临近块可用性检查处理(待定)]中指定的块的可用性推导处理,并且将输出分配给availleft[y](y=0..ntbh-1)。
[0383]

顶部参考样点reft[x](x=0..ntbw

1)推导如下:
[0384]

如果所有availtop[x](x=0..ntbw

1)都等于真(true),则将位置(xnbt,ynbt)处的样点分配给reft[x](x=0..ntbw

1)。
[0385]

否则,如果availtop[0]等于假(false),则将所有reft[x](x=0..ntbw

1)都设置为等于1《《(bitdepthy–
1)。
[0386]

否则,通过以下顺序步骤导出参考样点reft[x](x=0..ntbw

1):
[0387]
1.将变量lastt设置为等于序列availtop[x](x=0..ntbw

1)中等于假(false)的第一个元素的位置x。
[0388]
2.对于每个x=0..lastt

1,将位置(xnbt,ynbt)处的样点分配给reft[x]。
[0389]
3.对于每个x=lastt..ntbw

1,将reft[x]设置为等于reft[lastt

1]。
[0390]

左侧参考样点refl[y](y=0..ntbh

1)推导如下:
[0391]

如果所有availleft[y](y=0..ntbh

1)都等于真(true),则将位置(xnbl,ynbl)处的样点分配给refl[y](y=0..ntbh

1)。
[0392]

否则,如果availleft[0]等于假(false),则将所有refl[y](y=0..ntbh

1)都设置为等于1《《(bitdepthy–
1)。
[0393]

否则,通过以下顺序步骤导出参考样点refl[y](y=0..ntbh

1):
[0394]
1.将变量lastl设置为等于序列availleft[y](y=1..ntbh

1)中等于假(false)的第一个元素的位置y。
[0395]
2.对于每个y=0..lastl

1,将位置(xnbl,ynbl)处的样点分配给refl[y]。
[0396]
3.对于每个y=lastl..ntbh

1,将refl[y]设置为等于refl[lastl

1]。
[0397]
边界缩减处理的规范
[0398]
该处理的输入是:
[0399]

变量ntbx,指定变换块尺寸,
[0400]

参考样点refx[x](x=0..ntbx-1),
[0401]

变量boundarysize,指定下采样边界尺寸,
[0402]

标志needupsbdryx,指定上采样是否需要中间边界样点,
[0403]

变量upsbdrysize,指定用于上采样的边界尺寸。
[0404]
该处理的输出是缩减的边界样点redx[x](x=0..boundarysize

1)和上采样边界样点upsbdryx[x](x=0..upsbdrysize

1)。
[0405]
上采样边界样点upsbdryx[x](x=0..upsbdrysize

1)推导如下:
[0406]

如果needupsbdryx等于真(true)且upsbdrysize小于ntbx,则适用以下情况:
[0407]
udwn=ntbx/upsbdrysize
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x30)
[0408][0409]

否则(upsbdrysize等于ntbx),将upsbdryx[x]设置为等于refx[x]。
[0410]
缩减的边界样点redx[x](x=0..boundarysize

1)推导如下:
[0411]

如果boundarysize小于upsbdrysize,则适用以下情况:
[0412]
bdwn=upsbdrysize/boundarysize
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x32)
[0413][0414]

否则(boundarysize等于upsbdrysize),将redx[x]设置为等于upsbdryx[x]。
[0415]
8.4.4.2.x4预测上采样处理的规范
[0416]
该处理的输入是:
[0417]

变量predw,指定输入块宽度,
[0418]

变量predh,指定输入块高度,
[0419]

仿射线性加权样点predlwip[x][y](x=0..predw-1,y=0..predh-1),
[0420]

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

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

变量upsbdryw,指定上采样边界宽度,
[0423]

变量upsbdryh,指定上采样边界高度,
[0424]

顶部上采样边界样点upsbdryt[x](x=0..upsbdryw

1),
[0425]

左侧上采样边界样点upsbdryl[x](x=0..upsbdryh

1)。
[0426]
该处理的输出是预测样点predsamples[x][y](x=0..ntbw-1,y=0..ntbh

1)。
[0427]
如下从predlwip[x][y](x=0..predw-1,y=0..predh

1)导出稀疏预测样点predsamples[m][n]:
[0428]
uphor=ntbw/predw
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x34)
[0429]
upver=ntbh/predh
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x35)
[0430]
predsamples[(x 1)*uphor-1][(y 1)*upver-1]=predlwip[x][y]
ꢀꢀꢀꢀꢀ
(8-x36)
[0431]
如下将顶部边界样点upsbdryt[x](x=0..upsbdryw

1)分配给predsamples[m][-1]:
[0432]
predsamples[(x 1)*(ntbw/upsbdryw)-1][-1]=upsbdryt[x]
[0433]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x37)
[0434]
如下将左侧边界样点upsbdryl[y](y=0..upsbdryh

1)分配给predsamples[-1][n]:
[0435]
predsamples[-1][(y 1)*(ntbh/upsbdryh)-1]=upsbdryl[y]
[0436]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x38)
[0437]
预测样点predsamples[x][y](x=0..ntbw-1,y=0..ntbh-1)推导如下:
[0438]

如果ntbh大于ntbw,则以下顺序步骤适用:
[0439]
1.当uphor大于1时,以dx=1..uphor-1应用所有稀疏位置(xhor,yhor)=(m*uphor-1,n*upver-1)(m=0..predw-1,n=1..predh)处的水平上采样,如下所示:
[0440]
predsamples[xhor dx][yhor]=((uphor-dx)*predsamples[xhor][yhor] dx*predsamples[xhor uphor][yhor])/uphor
ꢀꢀꢀꢀ
(8-x39)
[0441]
2.以dy=1..upver

1应用所有稀疏位置(xver,yver)=(m,n*upver

1)(m=0..ntbw

1,n=0..predh

1)处的垂直上采样,如下所示:
[0442]
predsamples[xver][yver dy]=((upver-dy)*predsamples[xver][yver] dy*predsamples[xver][yver upver])/upver
ꢀꢀꢀꢀꢀ
(8-x40)
[0443]

否则,以下顺序步骤适用:
[0444]
1.当upver大于1时,以dy=1..upver-1应用所有稀疏位置(xver,yver)=(m*uphor

1,n*upver

1)(m=1..predw,n=0..predh

1)处的垂直上采样,如(8-x40)所规定。
[0445]
2.以dx=1..uphor-1应用所有稀疏位置(xhor,yhor)=(m*uphor-1,n)(m=1..predw,n=0..predh-1)处的水平上采样,如(8-x39)中所规定。
[0446]
《结束》
[0447]
表9-9语法元素和相关联的二值化
[0448][0449]
表9-15将ctxinc分配给具有上下文编解码的二进制数的语法元素
[0450][0451]
表9-16使用左侧和上方语法元素的ctxinc的规范
[0452][0453]
《结束》
[0454]
alwip的概述
[0455]
对于宽度为w且高度为h的矩形块的样点预测,仿射线性加权帧内预测(alwip)以块左侧具有h个重构的临近边界样点的一行和块上方具有w个重构的临近边界样点的一行作为输入。如果重构的样点不可用,则像在传统帧内预测中那样将其生成。alwip仅适用于亮度帧内块。对于色度帧内块,应用传统的帧内编解码模式。
[0456]
预测信号的生成基于以下三个步骤:
[0457]
1.在w=h=4的情况下,通过平均从边界样点中提取四个样点,并且在其它情况下,通过平均从边界样点中提取八个样点。
[0458]
2.以平均的样点为输入执行矩阵矢量乘法,然后加上偏移。结果是在原始块中的子采样集上的缩减的预测信号。
[0459]
3.通过线性插值从子采样集合上的预测信号生成其余位置处的预测信号,所述线性插值是每个方向中的单步线性插值。
[0460]
如果要应用alwip模式,则将使用具有3个mpm的mpm列表信令通知alwip模式的索引predmode。这里,如下使用上方和左侧pu的帧内模式执行mpm的推导。有三个固定的表map_angular_to_alwip
idx
,idx∈{0,1,2},其分配给每个传统的帧内预测模式predmode
angular
和alwip模式。
[0461]
predmode
alwip
=map_angular_to_alwip
idx
[predmode
angular
].
[0462]
对于每个宽度为w且高度为h的pu,定义索引:
[0463]
idx(pu)=idx(w,h)∈{0,1,2}
[0464]
该索引指示将从三个集合中的哪个中取得alwip参数。
[0465]
如果上方预测单元pu
above
可用、与当前pu属于相同的ctu并且处于帧内模式,如果
idx(pu)=idx(pu
above
),并且如果将alwip应用于alwip模式的pu
above
,则令
[0466][0467]
如果上方pu可用、与当前pu属于相同的ctu并且处于帧内模式,并且如果对上方pu应用传统帧内预测模式则令
[0468][0469]
在所有其他情况下,令
[0470][0471]
这意味着该模式不可用。以同样的方式,但不受左侧pu必须与当前pu属于相同的ctu的限制,导出了模式
[0472]
最后,给出三个固定的默认列表list
idx
,idx∈{0,1,2},每个列表包含三个不同的alwip模式。从默认列表list
idx(pu)
和模式中,通过用默认值替换-1并消除重复,构造出三个不同的mpm。
[0473]
对于亮度mpm列表推导,每当遇到使用alwip模式predmode
alwip
的临近亮度块时,将该块视为犹如使用传统帧内预测模式predmode
angular

[0474]
predmode
angular
=map_alwip_to_angular
idx(pu)
[predmode
alwip
]
[0475]
3.vvc中的变换
[0476]
3.1多变换选择(mts)
[0477]
除了在hevc中使用的dct-ii外,还使用了一种多变换选择(mts)方案来对帧间和帧内编解码块进行残差编码。它使用来自dct8/dst7的多个选定变换。新引入的变换矩阵有dst-vii和dct-viii。
[0478]
3.2 jvet-n0193中提出的缩减的二次变换(rst)
[0479]
缩减的二次变换(rst)分别对4x4和8x8块应用16x16和16x64不可分离变换。初级正变换和逆变换的执行方式仍与两个一维水平/垂直变换处理相同。二次正变换和逆变换是与初级变换分离的处理步骤。对于编码器,首先执行初级正向变换,然后执行二次正向变换和量化,以及cabac比特编码。对于解码器,首先进行cabac比特解码和逆量化,然后进行二次逆变换,然后进行初级逆变换。rst仅适用于帧内条带和帧间条带中的帧内编码tu。
[0480]
3.3 jvet-n0185中用于帧内模式编解码的统一mpm列表
[0481]
提出了将统一的6-mpm列表用于帧内块,而与是否应用多参考行(mrl)和帧内子分割(isp)编解码工具无关。mpm列表是基于如vtm4.0中的左侧和上方临近块的帧内模式构造的。假设左侧的模式表示为“左(left)”,并且上方块的模式表示为“上(above)”,则统一mpm列表构造如下:
[0482]
·
当临近块不可用时,将其帧内模式默认设置为平面(planar)。
[0483]
·
如果左(left)模式和上(above)模式都是非角度模式,则:
[0484]
a.mpm列表

{平面(planar),dc,v,h,v-4,v 4}
[0485]
·
如果左模式和上模式中的一个为角度模式,并且另一个为非角度模式,则:
[0486]
a.将模式max设置为左模式和上模式中的较大模式,
[0487]
b.mpm列表

{平面,max,dc,max-1,max 1,max-2}
[0488]
·
如果左模式和上模式都是角度模式并且不同,则:
[0489]
a.将模式max设置为左模式和上模式中的较大模式,
[0490]
b.如果左模式和上模式的差在2到62之间(包括2到62),则:
[0491]
i.mpm列表

{平面,左,上,dc,max-1,max 1}
[0492]
c.否则
[0493]
i.mpm列表

{平面,左,上,dc,max-2,max 2}
[0494]
·
如果左模式和上模式都是角度模式并且相同,则:
[0495]
a.mpm列表

{平面,左,左-1,左 1,dc,左-2}
[0496]
此外,mpm索引码字的第一个二进制数(bin)是cabac上下文编解码的。总共使用三个上下文,对应于当前帧内块是启用了mrl、启用了isp还是常规的帧内块。
[0497]
在统一mpm列表构造中使用的左侧临近块和上方临近块是如图10所示的a2和b2。
[0498]
首先编码一个mpm标志。如果用mpm列表中的模式中的一个对块进行编码,则进一步对mpm索引进行编码。否则,对其余模式(不包括mpm)的索引进行编码。
[0499]
在vvc中lfnst的信令
[0500]
如在jvet-p2001-v9中指定的lfnst的信令如下。
[0501]
7.3.9.5编解码单元语法
[0502][0503]
4.现有实现中缺陷的示例
[0504]
jvet-n0217中的alwip设计存在以下问题:
[0505]
1)在2019年3月的jvet会议上,mrl模式、isp模式和常规帧内模式采用了统一的6-mpm列表生成。但仿射线性加权预测模型采用了不同的3-mpm列表构造,这使得mpm列表构造复杂。复杂的mpm列表构造可能会影响解码器的吞吐量,特别是对于诸如4x4个样点的小块。
[0506]
2)alwip仅适用于块的亮度分量。对于alwp编解码块的色度分量,对色度模式索引进行编码并将其发送到解码器,这会导致不必要的信令。
[0507]
3)应当考虑alwip与其他编解码工具的交互。
[0508]
4)当在4)当在中计算upsbdryx时,log2(udwn)-1可能等于-1,而左移位-1是未定义的。
[0509]
5)当上采样预测样点时,未应用取整。
[0510]
6)在去方块处理中,alwip编解码块被视为常规帧内块。
[0511]
7)在对alwip标志(例如,intra_lwip_flag)进行编码中使用了太多上下文(例如,4个)。
[0512]
8)当同时需要垂直上采样和水平上采样时,上采样的顺序取决于块形状。这对硬件不是很友好。
[0513]
9)将线性插值滤波器用于上采样可能是低效率的。
[0514]
在alwip中使用的两阶段下采样方法可能会导致不必要的计算复杂性。另外,使用下采样的参考样点来生成上采样的预测块可能是不准确的。
[0515]
mip仅应用于亮度分量,而lfnst可以应用于亮度和色度分量,并且在双树情况下具有变换矩阵索引的单独信号。但是,在双树色度的情况下解析色度分量的语法元素时,其可能取决于是否将mip应用于亮度块(即intra_mip_flag[x0][y0]是否等于0)。不同颜色分量之间的这种依赖性是不希望的。
[0516]
5.基于矩阵的帧内编解码的示例方法
[0517]
本公开技术的实施例克服了现有实现的缺陷,从而提供具有更高编解码效率但更低计算复杂度的视频编解码。在以下针对各种实现描述的示例中说明了如本文所述可以增强现有和未来的视频编解码标准的用于视频编解码的基于矩阵的帧内预测方法。下面提供的公开技术的示例解释了通用概念,并不意味着被解释为限制性的。在示例中,除非明确表示相反,否则可以组合这些示例中描述的各种特征。
[0518]
在下面的讨论中,帧内预测模式是指角度帧内预测模式(包括dc、平面(planar)、cclm和其他可能的帧内预测模式);而帧内模式是指常规帧内模式、或mrl、isp或alwip。
[0519]
在下面的讨论中,“其他帧内模式”可以指除alwip之外的一个或多个帧内模式,诸如常规帧内模式、mrl或isp。
[0520]
在下面的讨论中,将satshift(x,n)定义为:
[0521][0522]
将shift(x,n)定义为shift(x,n)=(x offset0)》》n。
[0523]
在一个示例中,将offset0和/或offset1设置为(1《《n)》》1或(1《《(n-1))。在另一个示例中,将offset0和/或offset1设置为0。
[0524]
在另一个示例中,offset0=offset1=((1《《n)》》1)-1或((1《《n-1))-1。
[0525]
将clip3(min,max,x)定义为:
[0526][0527]
alwip的mpm列表构造
[0528]
1.提出了可以根据构造非alwip帧内模式(诸如常规帧内模式、mrl或isp)的mpm列表的全部或部分流程来构造alwip的mpm列表的全部或部分。
[0529]
a.在一个示例中,alwip的mpm列表的尺寸可以与非alwip帧内模式的mpm列表的尺寸相同。
[0530]
i.例如,对于alwip和非alwip帧内模式,mpm列表的尺寸都是6。
[0531]
b.在一个示例中,可以从非alwip帧内模式的mpm列表导出alwip的mpm列表。
[0532]
i.在一个示例中,可以首先构造非alwip帧内模式的mpm列表。之后,可以将它们的部分或全部转换为mpm,进而可以进一步将mpm添加到alwip编解码块的mpm列表中。
[0533]
1)另外,可替代地,当将转换后的mpm添加到alwip编解码块的mpm列表时,可以应用修剪。
[0534]
2)可以将默认模式添加到alwip编解码块的mpm列表中。
[0535]
a.在一个示例中,可以在从非alwip帧内模式的mpm列表转换之前添加默认模式。
[0536]
b.可替代地,可以在从非alwip帧内模式的mpm列表转换之后添加默认模式。
[0537]
c.可替代地,可以将默认模式与在从非alwip帧内模式的mpm列表转换的模式交叉地添加。
[0538]
d.在一个示例中,可以将所有类型的块的默认模式固定为相同。
[0539]
e.可替代地,可以根据编解码信息(诸如临近块的可用性、临近块的模式信息、块维度)来确定默认模式。
[0540]
ii.在一个示例中,当将非alwip帧内模式的mpm列表中的一个帧内预测模式放入alwip的mpm列表中时,可以将其转换为相应的alwip帧内预测模式。
[0541]
1)可替代地,非alwip帧内模式的mpm列表中的所有帧内预测模式可在用于构造alwip的mpm列表之前转换为相应的alwip帧内预测模式。
[0542]
2)可替代地,如果非alwip的mpm列表将进一步用于导出alwip的mpm列表,则可将所有候选帧内预测模式(可包括来自临近块的帧内预测模式、以及诸如平面(planar)和dc的默认帧内预测模式)在用于构造非alwip帧内模式的mpm列表之前转换为相应的alwip帧内预测模式。
[0543]
3)在一个示例中,可以比较两个转换的alwip帧内预测模式。
[0544]
a.在一个示例中,如果它们相同,则只能将其中一个放入alwip的mpm列表中。
[0545]
b.在一个示例中,如果它们相同,则只能将其中一个放入非alwip的mpm列表中。
[0546]
iii.在一个示例中,可将非alwip帧内模式的mpm列表中的s个帧内预测模式中的k个选作alwip模式的mpm列表,例如,k等于3且s等于6。
[0547]
1)在一个示例中,可将非alwip帧内模式的mpm列表中的前k个帧内预测模式选作alwip模式的mpm列表。
[0548]
2.提出用于导出alwip的mpm列表的一个或多个临近块也可用于导出非alwip帧内
模式(诸如常规帧内模式、mrl或isp)的mpm列表。
[0549]
a.在一个示例中,当前块左侧的、用于推导alwip的mpm列表的临近块应与用于推导非alwip帧内模式的mpm列表的临近块相同。
[0550]
i.假设当前块的左上角是(xcb,ycb),当前块的宽度和高度是w和h,那么在一个示例中,用于导出alwip和非alwip帧内模式两者的mpm列表的左侧临近块可以覆盖位置(xcb-1,ycb)。在另一个示例中,用于导出alwip和非alwip帧内模式两者的mpm列表的左侧临近块可以覆盖位置(xcb-1,ycb h-1)。
[0551]
ii.例如,在统一mpm列表构造中使用的左侧临近块和上方临近块是如图10所示的a2和b2。
[0552]
b.在一个示例中,当前块上方的、用于导出alwip的mpm列表的临近块应与用于导出非alwip帧内模式的mpm列表的临近块相同。
[0553]
i.假设当前块的左上角为(xcb,ycb),当前块的宽度和高度为w和h,则在一个示例中,用于导出alwip和非alwip帧内模式两者的mpm列表的上方临近块可以覆盖位置(xcb,ycb-1)。在另一个示例中,用于导出alwip和非alwip帧内模式两者的mpm列表的上方临近块可以覆盖位置(xcb w-1,ycb-1)。
[0554]
ii.例如,在统一mpm列表构造中使用的左侧临近块和上方临近块是如图10所示的a1和b1。
[0555]
3.提出可根据当前块的宽度和/或高度,以不同方式构造alwip的mpm列表。
[0556]
a.在一个示例中,可以针对不同的块维度访问不同的临近块。
[0557]
4.提出可以使用相同的流程但使用不同的参数构造alwip的mpm列表和非alwip帧内模式的mpm列表。
[0558]
a.在一个示例中,可以为alwip模式中使用的mpm列表导出非alwip帧内模式的mpm列表构造流程中的s个帧内预测模式中的k个。例如,k等于3且s定于6。
[0559]
i.在一个示例中,可以为在alwip模式中使用的mpm列表导出mpm列表构造流程中的前k个帧内预测模式。
[0560]
b.在一个示例中,mpm列表中的第一个模式可以不同。
[0561]
i.例如,非alwip帧内模式的mpm列表中的第一个模式可以是平面(planar),但是在alwip的mpm列表中它可以是模式x0。
[0562]
1)在一个示例中,x0可以是从平面(planar)转换的alwip帧内预测模式。
[0563]
c.在一个示例中,mpm列表中的填充模式可以不同。
[0564]
i.例如,非alwip帧内模式的mpm列表中的前三个填充模式可以是dc、垂直和水平,但在alwip的mpm列表中它们可以是的模式x1、x2、x3。
[0565]
1)在一个示例中,对于不同的sizeid,x1、x2、x3可以不同。
[0566]
ii.在一个示例中,填充模式的数量可以不同。
[0567]
d.在一个示例中,mpm列表中的临近模式可以不同。
[0568]
i.例如,使用临近块的常规帧内预测模式来构造非alwip帧内模式的mpm列表。并将它们转换为alwip帧内预测模式以构造alwip模式的mpm列表。
[0569]
e.在一个示例中,mpm列表中的移位模式可以不同。
[0570]
i.例如,可将x k0(其中x是常规帧内预测模式,并且k0是整数)放入非alwip帧内
模式的mpm列表中。并且可将y k1(其中y是alwip帧内预测模式,并且k1是整数)放入alwip的mpm列表中,其中k0可以与k1不同。
[0571]
1)在一个示例中,k1可以取决于宽度和高度。
[0572]
5.提出在用非alwip帧内模式构造当前块的mpm列表时,如果临近块用alwip编解码,则将该临近块视为不可用。
[0573]
a.可替代地,在用非alwip帧内模式构造当前块的mpm列表时,如果临近块用alwip编解码,则将该临近块视为用预定义的帧内预测模式(诸如平面(planar))编解码。
[0574]
6.提出在用alwip模式构造当前块的mpm列表时,如果临近块使用非alwip帧内模式编解码,则将该临近块视为不可用。
[0575]
a.可替代地,在用alwip模式构造当前块的mpm列表时,如果临近块使用非alwip帧内模式编解码,则将该临近块视为用预定义的alwip帧内预测模式x编解码。
[0576]
i.在一个示例中,x可以取决于块维度,诸如宽度和/或高度。
[0577]
7.提出从行缓冲中移除alwip标志的存储。
[0578]
a.在一个示例中,当要访问的第二个块与当前块相比位于不同的lcu/ctu行/区域时,跳过对第二个块是否使用alwip编解码的条件检查。
[0579]
b.在一个示例中,当要访问的第二块与当前块相比位于不同的lcu/ctu行/区域时,以与非alwip模式相同的方式处理第二块,诸如作为常规帧内编解码块处理。
[0580]
8.当编解码alwip标志时,最多可使用k(k》=0)个上下文。
[0581]
a.在一个示例中,k=1。
[0582]
9.提出存储alwip编解码块的转换后的帧内预测模式,而不是直接存储与alwip模式相关联的模式索引。
[0583]
a.在一个示例中,将与一个alwip编解码块相关联的解码模式索引映射到常规帧内模式,例如根据第2.5.7节所述的map_alwip_to_angular。
[0584]
b.此外,可替代地,完全移除alwip标志的存储。
[0585]
c.此外,可替代地,完全移除alwip模式的存储。
[0586]
d.此外,可替代地,可以跳过对一个临近/当前块是否使用alwip标志编解码的条件检查。
[0587]
e.此外,可替代地,可以跳过分配给alwip编解码块的模式的转换和与一个访问块相关联的常规帧内预测。
[0588]
不同颜色分量上的alwip
[0589]
10.提出如果相应的亮度块用alwip模式编解码,则可以始终应用推断的色度帧内模式(例如,dm模式)。
[0590]
a.在一个示例中,如果相应的亮度块用alwip模式编解码,则色度帧内模式被推断为没有信令的dm模式。
[0591]
b.在一个示例中,相应的亮度块可以是覆盖位于给定位置的色度样点的对应样点的块(例如,当前色度块的左上角、当前色度块的中心)。
[0592]
c.在一个示例中,可以根据对应亮度块的帧内预测模式导出dm模式,诸如通过将(alwip)模式映射到常规帧内模式中的一个。
[0593]
11.当色度块的对应亮度块用alwip模式编解码时,可以导出几个dm模式。
[0594]
12.在色度模式决策处理(例如,直接模式/推导模式)中,可以根据左上位置以及(一个或多个)编解码色度块的尺寸和/或颜色格式一起决策用于确定其是否为alwip编解码的和/或其alwip模式的相应亮度块。
[0595]
a.假设(一个或多个)编解码色度块的左上位置是(xcb,ycb),(一个或多个)编解码色度块的宽度和高度分别是cbwidth和cbheight,其中所有位置和长度都在亮度样点单元内。
[0596]
b.在一个示例中,可以选择相应的亮度块作为覆盖位置(xcb offsety,ycb offsety)的亮度块(例如,编解码块),其中不允许offsetx和offsety都等于0。
[0597]
i.在一个示例中,offsetx=(cbwidth/2)或(cbwidth/2-1)或(cbwidth/2 1)
[0598]
ii.在一个示例中,offsety=(cbheight/2)或(cbheight/2-1)或(cbheight/2 1)。
[0599]
13.提出如果相应的亮度块用alwip模式编解码,则为色度块分配特殊模式。
[0600]
a.在一个示例中,特殊模式被定义为给定的常规帧内预测模式,而不考虑与alwip编解码块相关联的帧内预测模式。
[0601]
b.在一个示例中,可以将不同的帧内预测方式分配给该特殊模式。
[0602]
c.可替代地,如果用alwip模式对亮度块进行编解码,则可以总是将与色度dm模式相关联的常规帧内模式推断为所识别的特殊模式。
[0603]
d.可替代地,此外,还可以跳过色度模式的信令。
[0604]
e.可替代地,当用alwip模式对(一个或多个)色度块的对应亮度块进行编解码,并且对(一个或多个)色度块信令通知dm模式时,将预定的帧内预测模式应用于(一个或多个)色度块。
[0605]
i.例如,预定的帧内预测模式可以是平面模式。
[0606]
ii.例如,预定的帧内预测模式可以取决于诸如屏幕内容的指示之类的编解码信息。
[0607]
1)在一个示例中,如果屏幕内容的指示表示该内容是相机捕获的内容,则可以将预定的帧内预测模式设置为平面模式。
[0608]
2)在一个示例中,如果屏幕内容的指示表示该内容是屏幕内容,则可以将预定的帧内预测模式设置为水平预测模式。
[0609]
f.在一个示例中,当用alwip模式对(一个或多个)色度块的相应亮度块进行编解码时,dm模式可能永远不会用于(一个或多个)色度块。
[0610]
i.例如,可以不信令通知与dm模式有关的语法。
[0611]
1)在一个示例中,如果相应的亮度块是alwip模式并且sps_cclm_enabled_flag等于假(false),则可以允许针对该色度块信令通知四种色度模式。
[0612]
a.例如,在这种情况下,帧内色度模式的二值化可能最多需要两个二进制位。
[0613]
2)在一个示例中,如果相应的亮度块是alwip模式并且sps_cclm_enabled_flag等于真(true),则可以允许针对该色度块信令通知七种色度模式。
[0614]
a.例如,在这种情况下,帧内色度模式的二值化可能最多需要四个二进制位。
[0615]
14.提出alwip也可应用于色度分量。
[0616]
a.在一个示例中,对于不同的颜色分量,矩阵和/或偏移矢量可以不同。
[0617]
b.在一个示例中,可以为cb和cr联合预定义矩阵和/或偏移矢量。
[0618]
i.在一个示例中,cb和cr分量可以是级联的。
[0619]
ii.在一个示例中,cb和cr分量可以是交错的。
[0620]
c.在一个示例中,色度分量可以与相应的亮度块共享相同的alwip预测内模式。
[0621]
i.在一个示例中,如果相应的亮度块应用alwip模式并且色度块使用
[0622]
dm模式编解码,则将相同的alwip帧内预测模式应用于色度分量。ii.在一个示例中,将相同的alwip帧内预测模式应用于色度分量,并且可以跳过此后的线性插值。
[0623]
iii.在一个示例中,使用子采样矩阵和/或偏移矢量将相同的alwip帧内预测模式应用于色度分量。
[0624]
d.在一个示例中,不同分量的alwip帧内预测模式的数量可以不同。
[0625]
i.例如,对于相同的块宽度和高度,色度分量的alwip帧内预测模式的数量可以小于亮度分量的数量。
[0626]
alwip的适用性
[0627]
15.提出可以信令通知是否可以应用alwip。
[0628]
a.例如,可以在序列级(例如,在sps中)、在图片级(例如,在pps或图片标头中)、在条带级(例如,在条带标头中)、在片组级(例如,在片组标头中)、在片级、在ctu行级或在ctu级中将其信令通知。
[0629]
b.例如,如果不能应用alwip,则可不信令通知intra_lwip_flag并将其推断为0。
[0630]
16.提出是否可以应用alwip可以取决于块宽度(w)和/或高度(h)。
[0631]
c.例如,如果w》=t1(或w》t1)且h》=t2(或h》t2),则可不应用alwip。例如,t1=t2=32;
[0632]
i.例如,如果w《=t1(或w《t1)且h《=t2(或h《t2)。则可不应用alwip。例如,t1=t2=32;
[0633]
d.例如,如果w》=t1(或w》t1)或h》=t2(或h》t2),则可不应用alwip。例如,t1=t2=32;
[0634]
i.例如,如果w《=t1(或w《t1)或h《=t2(或h《t2),则可不应用alwip。例如,t1=t2=32,或t1=t2=8;
[0635]
e.例如,如果w h》=t(或w*h》t),则可不应用alwip。例如,t=256;
[0636]
i.例如,如果w h《=t(或w h《t),则可不应用alwip。例如,t=256;
[0637]
f.例如,如果w*h》=t(或w*h》t),则可不应用alwip。例如,t=256;
[0638]
i.例如,如果w*h《=t(或w*h《t),则可不应用alwip。例如,t=256;
[0639]
g.例如,如果不能应用alwip,则可以不信令通知intra_lwip_flag并将其推断为0。
[0640]
alwip中的计算问题
[0641]
17.提出alwip中涉及的任何移位操作都只能左移位或右移位s数量,其中s必须大于或等于0。
[0642]
a.在一个示例中,当s等于0或大于0时,右移位操作可以不同。
[0643]
i.在一个示例中,upsbdryx[x]应该计算为:
[0644]
当udwn》1时,当udwn》1时,并且
[0645]
当udwn等于1时,
[0646]
b.在一个示例中,upsbdryx[x]应该计算为:
[0647][0648]
18.提出在alwip的上采样处理中,应将结果取整到零或远离零。
[0649]
a.在一个示例中,
[0650]
predsamples[xhor dx][yhor]=((uphor-dx)*predsamples[xhor][yhor] dx*predsamples[xhor uphor][yhor] offsethor)/uphor(8-x39)
[0651]
并且
[0652]
predsamples[xver][yver dy]=((upver-dy)*predsamples[xver][yver] dy*predsamples[xver][yver upver] offsetver)/upver(8-x40)
[0653]
其中offsethor和offsetver是整数。例如,offsethor=uphor/2并且offsetver=upver/2。
[0654]
与其他编解码工具的交互
[0655]
19.提出alwip可用于ciip编解码块。
[0656]
a.在一个示例中,在ciip编解码块中,可以显式地信令通知是使用alwip帧内预测模式还是诸如平面(planar)的常规帧内预测模式来生成帧内预测信号。
[0657]
b.在一个示例中,可以隐式地推断是使用alwip帧内预测模式还是诸如平面(planar)的常规帧内预测模式来生成帧内预测信号。
[0658]
i.在一个示例中,在ciip编解码块中决不能使用alwip帧内预测模式。
[0659]
1)可替代地,在ciip编解码块中决不能使用常规帧内预测。
[0660]
ii.在一个示例中,可以从临近块的信息推断是使用alwip帧内预测模式还是诸如平面(planar)的常规帧内预测模式来生成帧内预测信号。
[0661]
20.提出可将在cclm模式下用于对临近亮度样点进行下采样的全部或部分流程用于在alwip模式下对临近样点进行下采样。
[0662]
a.可替代地,可将在alwip模式下用于对临近亮度样点进行下采样的全部或部分流程用于在cclm模式下对临近样点进行下采样。
[0663]
b.当在cclm处理和alwip处理中使用下采样流程时,可以用不同的参数/自变量调用它。
[0664]
c.在一个示例中,cclm处理中的下采样方法(诸如选择临近亮度位置、下采样滤波器)可用于alwip处理。
[0665]
d.用于对临近亮度样点进行下采样的流程至少包括对下采样位置、下采样滤波器的选择、取整和剪切操作。
[0666]
21.提出用alwip模式编解码的块不能应用rst或/和二次变换或/和旋转变换或/
和不可分离二次变换(nsst)。
[0667]
a.在一个示例中,是否可以应用这种约束可以取决于块的维度信息,例如,与(15)中描述的条件相同。
[0668]
b.可替代地,当应用rst或/和二次变换或/和旋转变换或/和nsst时,可以不允许使用alwip模式。
[0669]
c.可替代地,用alwip模式编解码的块可以应用rst或/和二次变换或/和旋转变换或/和不可分离二次变换(nsst)。
[0670]
i.在一个示例中,变换矩阵的选择可以取决于alwip帧内预测模式。
[0671]
ii.在一个示例中,变换矩阵的选择可以取决于从alwip帧内预测模式转换而来的常规帧内预测模式。
[0672]
iii.在一个示例中,变换矩阵的选择可取决于从alwip帧内预测模式转换而来的常规帧内预测模式的分类。
[0673]
22.提出了用alwip模式编解码的块不能应用基于块的dpcm(bdpcm)或残差rdpcm。
[0674]
a.可替代地,当应用bdpcm或rdpcm时,可以不允许使用alwip模式。
[0675]
23.提出了用alwip方式编解码的块只能用dct-ii作为变换。
[0676]
a.在一个示例中,变换矩阵索引的信令总是被跳过。
[0677]
b.可替代地,提出用于alwip模式编解码的块的变换可以隐式地导出,而不是显式地信令通知。例如,可以按照jvet-m0303中提出的方式来选择变换。
[0678]
c.可替代地,提出用alwip模式编解码的块只能使用变换跳过。
[0679]
i.另外,可替代地,当使用alwip时,跳过对使用变换跳过的指示的信令通知。
[0680]
d.在一个示例中,可以在变换矩阵的指示之后有条件地信令通知alwip模式信息(诸如启用/禁用、预测模式索引)。
[0681]
i.在一个示例中,对于给定的变换矩阵(诸如变换跳过或dct-ii),可以信令通知alwip模式信息的指示。
[0682]
ii.另外,可替代地,对于一些预定义的变换矩阵,可以跳过alwip模式信息的指示。
[0683]
24.当选择的变换是模式相关的时,将用alwip模式编解码的块视为是用从alwip帧内预测模式转换的常规帧内预测编解码的。
[0684]
25.alwip模式不能使用变换跳过。
[0685]
a.例如,在这种情况下,不需要进一步信令通知变换跳过的使用的指示。
[0686]
b.可替代地,当应用变换跳过时,可以不允许alwip模式。
[0687]
i.例如,在这种情况下,当应用变换跳过时,不需要信令通知alwip模式信息。
[0688]
26.在滤波处理中(诸如去方块滤波器、采样自适应偏移(sao)、自适应环路滤波器(alf)),如何选择滤波器和/或是否对样点进行滤波可以由alwip的使用来决定。
[0689]
27.未滤波的临近样点可用于alwip模式。
[0690]
a.可替代地,滤波后的临近样点可以在alwip模式中使用。
[0691]
b.在一个示例中,滤波后的临近样点可用于下采样,并且未滤波的临近样点可用于上采样。
[0692]
c.在一个示例中,未滤波的临近样点可用于下采样,并且滤波后的临近样点可用
于上采样。
[0693]
d.在一个示例中,滤波后的左侧临近样点可用于上采样,并且未滤波的上方临近样点可用于上采样。
[0694]
e.在一个示例中,未滤波的左侧临近样点可用于上采样,并且滤波后的上方临近样点可用于上采样。
[0695]
f.在一个示例中,是使用滤波后的还是未滤波的临近样点可以取决于alwip模式。
[0696]
i.在一个示例中,alwip模式可以转换为传统的帧内预测模式,并且是使用滤波后的还是未滤波的临近样点可以取决于转换后的传统帧内预测模式。例如,这种决定与传统的帧内预测模式相同。
[0697]
ii.可替代地,可以信令通知alwip模式是使用滤波后的还是未滤波的临近样点。
[0698]
g.在一个示例中,滤波后的样点可以与传统帧内预测模式相同地生成。
[0699]
28.使用哪些矩阵或/和偏移矢量可以取决于整形(reshaping)(又称为lmcs,亮度映射和色度缩放)信息。
[0700]
a.在一个示例中,当整形打开和关闭时,可以使用不同的矩阵或/和偏移矢量。
[0701]
b.在一个示例中,可以针对不同的整形参数使用不同的矩阵或/和偏移矢量。
[0702]
c.在一个示例中,可以始终在原始域中执行alwip。
[0703]
i.例如,在用于alwip之前将临近样点映射到原始域(如果应用了整形)。
[0704]
29.当应用整形时,可以禁用alwip。
[0705]
a.可替代地,当启用alwip时可以禁用整形。
[0706]
b.在一个示例中,当应用整形时,可以对hdr(高动态范围)内容禁用alwip。
[0707]
30.alwip中使用的矩阵可以取决于样点比特深度。
[0708]
a.可替代地,此外,alwip中使用的偏移值可能取决于样点比特深度。
[0709]
b.可替代地,矩阵参数和偏移值可以以m比特精度存储n比特样点(m《=n),例如,矩阵参数和偏移值可以以8比特精度存储10比特样点。
[0710]
c.样点比特深度可以是颜色分量(例如亮度)的输入阵列的比特深度。
[0711]
d.样点比特深度可以是颜色分量(例如亮度)的内部阵列/重构样点的比特深度。
[0712]
31.用于指定块尺寸的矩阵参数和/或偏移值可以从其他块尺寸的矩阵参数和/或偏移值导出。
[0713]
32.在一个示例中,可以从4x4块的16x4矩阵中导出8x8块的16x8矩阵。
[0714]
33.提出将由alwip生成的预测视为中间信号,该中间信号将被处理以获得要进一步使用的预测信号。
[0715]
a.在一个示例中,位置相关帧内预测组合(pdpc)可应用于由alwip生成的预测,以生成要进一步使用的预测信号。
[0716]
i.在一个示例中,以与使用特定的常规帧内预测模式(诸如,平面或dc)对块进行编解码相同的方式,在alwip编解码的块上完成pdpc。
[0717]
ii.在一个示例中,以与从alwip帧内预测模式转换的常规帧内预测模式编解码的块相同的方式,在alwip编解码的块上完成pdpc。
[0718]
iii.在一个示例中,有条件地将pdpc应用于alwip编解码块。
[0719]
1)例如,仅当pdpc应用于从alwip帧内预测模式转换的常规帧内预测模式时,才将
pdpc应用于alwip编解码块。
[0720]
b.在一个示例中,由alwip生成的边界样点预测可与临近样点一起滤波,以生成要进一步使用的预测信号。
[0721]
i.在一个示例中,对边界样点的滤波是在alwip编解码的块上完成的,其方式与使用特定的常规帧内预测模式(诸如,平面或dc)对块进行编解码的方式相同。
[0722]
ii.在一个示例中,对边界样点的滤波是在alwip编解码的块上完成的,其方式与从alwip帧内预测模式转换的常规帧内预测模式编解码的块的方式相同。
[0723]
iii.在一个示例中,对边界样点的滤波被有条件地应用于alwip编解码块。
[0724]
1)例如,仅当在从alwip帧内预测模式转换的常规帧内预测模式上应用边界样点的滤波时,才对alwip编解码块应用边界样点的滤波。
[0725]
34.提出在alwip的上采样处理中可以使用双线性插值滤波器以外的插值滤波器。
[0726]
a.在一个示例中,可在alwip的上采样处理中使用4抽头插值滤波器。
[0727]
i.例如,可在alwip的上采样处理中使用用于对色度分量进行运动补偿的vvc中的4抽头插值滤波器。
[0728]
ii.例如,可在alwip的上采样处理中使用用于进行角度帧内预测的vvc中的4抽头插值滤波器。
[0729]
iii.例如,可在alwip的上采样处理中使用用于对亮度分量进行运动补偿的vvc中的8抽头插值滤波器。
[0730]
35.以alwip模式编解码的块内的样点可能以不同的方式进行预测。
[0731]
a.在一个示例中,对于w*h块,可以通过对其应用sw*sh alwip来生成对其中的sw*sh子块的预测。
[0732]
i.在一个示例中,对于w*h块,可以通过对其应用w/2*h/2alwip来生成其左上w/2*h/2块的预测。
[0733]
ii.在一个示例中,对于w*h块,可以通过对其应用w/2*h alwip来生成对其左侧w/2*h块的预测。
[0734]
iii.在一个示例中,对于w*h块,可以通过对其应用w*h/2alwip来生成对其顶部w*h/2块的预测。
[0735]
iv.在一个示例中,sw*sh子块可以具有可用的左或/和上方临近样点。
[0736]
b.在一个示例中,如何确定子块的位置可以取决于块的尺寸。
[0737]
i.例如,当w》=h时,可以通过对其应用w/2*h alwip来生成对其左侧w/2*h块的预测。
[0738]
ii.例如,当h>=w时,可以通过对其应用w*h/2alwip来生成其顶部w*h/2块的预测。
[0739]
iii.例如,当w等于h时,可以通过对其应用w/2*h/2alwip来生成其左上w/2*h/2块的预测。
[0740]
c.此外,在一个示例中,可以通过应用w*h alwip来生成剩余样点(例如,不属于sw*sh子块的样点)的预测。
[0741]
i.可替代地,可以通过应用常规帧内预测(例如,使用转换后的帧内预测模式作为帧内模式)来生成剩余样点的预测。
[0742]
ii.此外,可以针对sw*sh子块中的样点跳过计算。
[0743]
36.可以以子块(例如,具有尺寸sw*sh)级别来预测以alwip模式编解码的块内的样点。
[0744]
a.在一个示例中,可以使用临近的重构样点(例如,对于边界子块)或/和临近的预测样点(例如,对于内部子块)来将sw*sh alwip应用于每个子块。
[0745]
b.在一个示例中,可以按照光栅扫描顺序来预测子块。
[0746]
c.在一个示例中,可以以之字形(zigzag)顺序预测子块。
[0747]
d.在一个示例中,子块的宽度(高度)可以不大于swmax(shmax)。
[0748]
e.在一个示例中,当具有宽度或高度或者宽度和高度二者都大于(或等于)阈值l的块时,该块可以被拆分成多个子块。
[0749]
f.阈值l可以是预定义的,或者以sps/pps/图片/条带/片组/片级别信令通知。
[0750]
i.可替代地,阈值可以取决于某些编解码信息,诸如块尺寸、图片类型、时间层索引等。
[0751]
37.提出在alwip中使用临近样点(相邻或不相邻)之前对临近样点(相邻或不相邻)进行滤波。
[0752]
a.可替代地,在alwip中使用之前,不对临近样点进行滤波。
[0753]
b.可替代地,在alwip中使用之前,对临近样点进行条件滤波。
[0754]
i.例如,仅当alwip帧内预测模式等于一个或多个特定值时,才在将临近样点用于alwip之前对其进行滤波。
[0755]
38.提出在对alwip标志进行编解码时,在算术编解码中用于导出alwip标志的上下文的方法对于当前块的所有尺寸都是相同的。
[0756]
a.在一个示例中,当(abs(log2(cbwidth)

log2(cbheight))大于或不大于1时,在算术编解码中用于导出alwip标志的上下文的方法相同,其中cbwidth和cbheight分别是当前块的宽度和高度。
[0757]
b.在一个示例中,在算术编解码中对alwip标志的上下文的推导仅取决于临近块的alwip信息和/或临近块的可用性。
[0758]
i.在一个示例中,直接使用多个临近块的alwip信息(例如,intra_lwip_flag)和/或临近块的可用性。例如,在算术编解码中,使用左侧和上方临近块的alwip标志和/或左侧和上方临近块的可用性来导出alwip标志的上下文。表5中示出了示例。可替代地,此外,上下文索引偏移ctxinc=(condl&&availablel) (conda&&availablea) ctxsetidx*3。
[0759]
表5

使用左侧和上方语法元素的ctxinc规范
[0760][0761]
ii.在一个示例中,在算术编解码中,临近块的alwip信息之一(例如,intra_lwip_flag)用于导出alwip标志的上下文,并且临近块可以是左侧临近块。表6中示出示例。可替代地,此外,上下文索引偏移ctxinc=(condl&&availablel) ctxsetidx*3。
[0762]
表6

使用左侧和上方语法元素的ctxinc规范
[0763][0764]
iii.在一个示例中,在算术编解码中,使用临近块的alwip标志信息之一(例如,intra_lwip_flag)来导出alwip标志的上下文,并且该临近块可以是上方的临近块。表7中示出示例。可替代地,此外,上下文索引偏移ctxinc=(conda&&availablea) ctxsetidx*3。
[0765]
表7

使用左侧和上方语法元素的ctxinc规范
[0766][0767]
c.在一个示例中,一个固定上下文用于在算术编解码中对alwip标志进行编解码。
[0768]
d.在一个示例中,在算术编解码中对alwip标志进行旁路编解码。
[0769]
e.可替代地,可以在算术编解码中将k个上下文用于对alwip标志进行编解码。要使用的上下文可以取决于块的尺寸(例如,以w表示的宽度和以h表示的高度)。
[0770]
i.在一个示例中,k等于2。当w》n*h或h》n*w(例如,n=2)时,使用第一上下文,否则,使用第二上下文。
[0771]
39.提出在算术编解码中可以使用n(n》=0)个上下文来对alwip标志(例如intra_lwip_flag)进行编解码。
[0772]
a.在一个示例中,n等于3。alwip标志和/或两个临近或/和非相邻块的可用性可用于在算术编解码中导出针对alwip标志使用的上下文。
[0773]
i.在一个示例中,两个临近块可以包括上方块(例如,图10中的b1)和左侧的块(例如,图10中的a1)。
[0774]
ii.在一个示例中,两个临近块可以包括上方块和左下(例如,图10中的a2)块。
[0775]
iii.在一个示例中,两个临近块可以包括上方块和右上(例如,图10中的b2)块。
[0776]
iv.在一个示例中,两个临近块可以包括右上块(例如,图10中的b2)和左侧(例如,图10中的a1)块。
[0777]
v.在一个示例中,两个临近块可以包括右上(例如,图10中的b2)块和左下(例如,图10中的a2)块。
[0778]
vi.在一个示例中,两个临近块可以包括左侧(例如,图10中的a1)块和左下(例如,图10中的a2)块。
[0779]
vii.在一个示例中,可以与图10不同地定义临近块。图16描述了示例。两个临近块可以包括{右上、上方、左上、左侧、左下}块中的任意两个。例如,两个临近块可以包括{b0、b1、b2、a0、a1}中的任何两个块。
[0780]
b.在一个示例中,n等于2。alwip标志和/或一个临近或/和非相邻块的可用性可用
于在算术编解码中推导针对alwip标志的使用的上下文。
[0781]
i.在一个示例中,临近块可以是{右上、上方、左上、左侧、左下}中的任何一个。在图10中描述了临近块的示例。
[0782]
ii.在一个示例中,临近块可以是{右上、上方、左上、左上、左下}块中的任何一个。在图16中描述了临近块的示例。
[0783]
c.在一个示例中,一个固定的上下文可以用于在算术编解码中对alwip标记进行编解码。
[0784]
d.在一个示例中,可以在算术编解码中对alwip标志进行旁路编解码。图16示出了临近块的示例。
[0785]
40.提出在不计算上采样边界样点的情况下生成缩减的边界样点。
[0786]
a.在一个示例中,位于上采样边界样点位置处的参考样点被直接用于预测上采样处理。
[0787]
i.在一个示例中,可以不通过对多个相邻参考样点求平均来计算上采样边界样点。
[0788]
b.在一个示例中,可以从参考样点和缩小的比例因子(downscaling factor)直接计算缩减的边界样点。
[0789]
i.在一个示例中,可以通过变换块尺寸和下采样的边界尺寸来计算缩小的比例因子。
[0790]
41.提出可以一步生成用于矩阵乘法的缩减的边界样点。
[0791]
a.在一个示例中,它们可以直接从原始重构的临近样点中一步生成(请注意,如第2.2.1.5.4.4节中所述,vvc wd5使用两步下采样来生成alwip缩减的边界样点),其中,原始重构的临近样点可以在无需进一步处理的情况下被解码为临近样点。例如,原始重构的临近样点可以用于生成角度帧间预测样点。
[0792]
b.在一个示例中,可以从位于当前块的顶部临近行和/或左侧临近列的原始重构的样点生成缩减的边界样点。
[0793]
i.例如,假设需要从与当前块临近(以给定顺序)的m个原始重构的样点中生成n个缩减的边界样点,则每k个连续的原始重构的临近样点可用于获得一个输出的缩减的边界样点。
[0794]
1)在一个示例中,k=m/n。
[0795]
a.可替代地,k=(m n/2)/n。
[0796]
2)在一个示例中,可以导出输出的缩减的边界样点作为k个连续的原始重构的临近样点的平均。
[0797]
3)在一个示例中,可以导出输出的缩减的边界样点作为k个连续的原始重构的临近样点的加权平均。
[0798]
c.在一个示例中,可以从位于当前块的左侧临近列处的原始重构的样点生成左侧缩减的边界样点,而可以从位于当前块的顶部临近行处的原始重构的样点生成顶部缩减的边界样点。
[0799]
i.例如,如图17所示,通过当前的16x16 alwip块的左侧/顶部原始临近重构的样点(在图中标记为与16
×
16块临近的灰色网格)生成在左侧边界和顶部边界上的四个缩减
的边界样点,分别表示为boundary
left
和boundary
top

[0800]
d.如何生成缩减的边界样点可能取决于块尺寸/编解码信息(例如,帧内预测模式、变换类型等)。
[0801]
e.在一个示例中,上述方法可以应用于需要生成缩减的边界样点的所有尺寸的alwip块(例如,从4
×
4alwip块到64
×
64alwip块)。
[0802]
f.在一个示例中,可以以不同的方式进行针对当前块的左侧临近列和当前块的顶部临近行的缩减的边界样点的生成处理。
[0803]
i.例如,对于8x4 alwip块,预定义的缩减的边界样点的数量在顶部为4,在左侧为4,然后使用位于8x4 alwip块的顶行的8个临近样点来生成顶部的4个缩减的边界样点,而位于8x4 alwip块的左列处的4个临近样点直接被复制为左侧的4个缩减的边界样点。
[0804]
42.提出在上采样处理中使用全部或部分原始重构的临近样点(与当前块相邻或不与当前块相邻),以根据缩减的预测块生成最终预测块。
[0805]
a.在一个示例中,原始重构的临近样点可以位于当前块的顶部临近行和/或左侧临近列。在图18中示出了示例,其中通过对8
×
8缩减的预测块加上64
×
64块的原始重构的临近样点进行上采样来生成64
×
64的最终预测块。
[0806]
i.可替代地,此外,缩减的边界样点可以仅用于矩阵乘法以获得缩减的预测块,而不能在上采样处理中用于生成最终预测块。例如,可以将k个缩减的边界样点输入到alwip的矩阵乘法中,以生成mxn缩减的预测块,但可以不用于在上采样处理中生成最终的预测块。例如。k=8,且mxn为8x8。
[0807]
b.在一个示例中,可以在上采样处理中使用选择的原始重构的临近样点,以从缩减的预测块生成最终预测块。
[0808]
i.例如,可以选择当前块左侧的所有原始重构的临近样点。
[0809]
ii.例如,可以选择当前块上方的所有原始重构的临近样点。
[0810]
iii.例如,可以选择当前块左侧的每m个连续的原始重构的临近样点中的k个。例如k=1,m=2/4/8。
[0811]
1)例如,可以选择每m个连续邻居的后k个原始重构的临近样点。
[0812]
2)例如,可以选择每个m个连续邻居的前k个原始重构的临近样点。
[0813]
iv.例如,可以选择在当前块上方的每m个连续的原始重构的临近样点中的k个。例如k=1,m=2/4/8。
[0814]
1)例如,可以选择每m个连续邻居的后k个原始重构的临近样点。
[0815]
2)例如,可以选择每m个连续邻居的前k个原始重构的临近样点。v.例如,选择可能取决于块的宽度和高度。假设blkw和blkh分别表示alwip块的宽度和高度。并且(blkx,blky)表示块的左上位置。
[0816]
1)例如,如果blkw大于或等于blkh,则可以选择当前块左侧的所有原始重构的临近样点,和/或当前块上方的所选原始重构的临近样点的数量(表示为m)可能取决于blkw。
[0817]
a.在一个示例中,当前块上方的第k个所选样点可以位于位置(blkx (k 1)*blkw/m-1,blky-1),其中k为0至m-1。
[0818]
b.例如,如果blkw《=8,则m=4。
[0819]
c.例如,如果blkw》8,则m=8。
[0820]
d.可替代地,无论blkw和blkh之间的关系如何,都可以选择当前块左侧的所有原始重构的临近样点,和/或可以选择当前块上方的m个原始重构的临近样点,其中,m由以上规则确定。
[0821]
2)例如,如果b1kw小于blkh,则可以选择当前块上方的所有原始重构的临近样点,和/或当前块左侧的所选原始重构的临近样点的数量(表示为m)可能取决于blkh。
[0822]
a.在一个示例中,当前块左侧的第k个所选样点可以位于位置(blkx-1,blky (k 1)*blkh/m-1),其中k为0至m-1。
[0823]
b.例如,如果blkh《=8,则m=4。
[0824]
c.例如,如果blkh》8,则m=8。
[0825]
d.可替代地,无论blkw和blkh之间的关系如何,可以选择当前块上方的所有原始重构的临近样点,和/或可以选择当前块左侧的m个原始重构的临近样点,其中,m由以上规则确定。
[0826]
c.在一个示例中,用于alwip上采样的临近样点可以在用于生成最终预测块之前被进一步修改(例如,进行滤波,其中滤波器可以是n抽头滤波器,诸如n=2或3)。
[0827]
i.在一个示例中,可以根据alwip模式来自适应地应用临近样点滤波处理。
[0828]
d.如何生成最终预测块(例如,线性插值)可能取决于块尺寸/编解码信息(例如,帧内预测方向、变换类型等)。
[0829]
43.在一个示例中,在alwip的上采样处理中,在不同的滤波阶段中,样点可以具有不同的精度。“样点”可以指在上采样处理之前或之后的预测样点或任何中间样点。
[0830]
a.在一个示例中,在第一滤波阶段中,沿着第一维度水平地对样点进行上采样;然后在alwip的上采样处理中,在第二滤波阶段中,沿着第二维垂直地对样点进行上采样。
[0831]
i.可替代地,在第一滤波阶段中,沿着第一维度垂直地对样点进行上采样;然后在alwip的上采样处理中,在第二滤波阶段中,沿着第二维度水平地对样点进行上采样。
[0832]
b.在一个示例中,在第一滤波阶段中没有右移或除法的情况下的输出上采样结果可以用作第二滤波阶段的输入样点。
[0833]
i.在一个示例中,可以将第二滤波阶段中的输出上采样滤波结果右移shift1或除以dem1以导出最终的上采样结果。
[0834]
ii.在一个示例中,可以将第一滤波阶段中的输出上采样滤波结果右移shift2或除以dem2以导出最终的上采样结果。
[0835]
1)在一个示例中,shift1=2
×
shift2;dem1=dem2
×
dem2。
[0836]
iii.在一个示例中,输入到第二滤波阶段但不是第一滤波阶段的输出上采样结果的样点可以在输入到第二滤波阶段之前左移shift3或乘以dem3。
[0837]
1)在一个示例中,shift3=shift1;dem3=dem2。
[0838]
c.在一个示例中,在被用作第二滤波阶段的输入采样之前,第一滤波阶段的输出上采样结果可以右移shift1或除以dem1。
[0839]
i.在一个示例中,可以将第二滤波阶段中的输出上采样滤波结果可以右移shift2或除以dem2以导出最终的上采样结果,其中shift2可能不等于shift1,例如,shift2》shift1;dem2可能不等于dem1,例如dem2》dem1。ii.在一个示例中,可以将第一滤波阶段中的输出上采样滤波结果右移shift3或除以dem3以导出最终的上采样结果,其中shift3可以
等于shift1;dem3可能不等于dem1。
[0840]
1)在一个示例中,shift3=shift1 shift2。
[0841]
iii.在一个示例中,输入到第二滤波阶段但不是第一滤波阶段的输出上采样结果的样点可以在输入到第二滤波阶段之前左移或乘以因子。
[0842]
d.在一个示例中,在被用作第二滤波阶段的输入样点之前,可以将第一滤波阶段的输出上采样结果左移shift1或与乘以dem1。
[0843]
i.在一个示例中,可以将第二滤波阶段中的输出上采样滤波结果右移或除以因子,以导出最终的上采样结果。
[0844]
ii.在一个示例中,可以将第一滤波阶段中的输出上采样滤波结果右移或除以因子,以导出最终的上采样结果。
[0845]
iii.在一个示例中,输入到第二滤波阶段但不是第一滤波阶段的输出上采样结果的样点可以在输入到第二滤波阶段之前左移shift2或乘以dem2,其中shift2可能不等于shift1,例如shift2》shift1;dem1可能不等于dem2,例如dem2》dem1。
[0846]
e.在一个示例中,在被用作第一滤波阶段的输入样点之前,可以将输入到第一滤波阶段的样点左移shift1或乘以dem1。
[0847]
i.在一个示例中,可以将第二滤波阶段中的输出上采样滤波结果右移或除以因子,以导出最终的上采样结果。
[0848]
ii.在一个示例中,可以将第一滤波阶段中的输出上采样滤波结果右移或除以因子,以导出最终的上采样结果。
[0849]
iii.在一个示例中,输入到第二滤波阶段但不是第一滤波阶段的输出上采样结果的样点可以在输入第二滤波阶段之前左移shift2或乘以dem2,其中shift2可能不等于shift1,例如shift2》shift1;dem2可能不等于dem1,例如dem2》dem1。
[0850]
44.提出当同时需要垂直上采样和水平上采样时,可以以固定顺序执行alwip中的上采样。
[0851]
a.在一个示例中,可以首先执行水平上采样,然后可以执行垂直上采样。
[0852]
b.在一个示例中,可以首先执行垂直上采样,然后可以执行水平上采样。
[0853]
45.在一个示例中,可以根据块尺寸来转置上采样之前的alwip中的预测样点。
[0854]
a.在一个示例中,可以首先将w*h块转置为h*w块,然后可以应用上采样。
[0855]
b.可替代地,此外,在上采样处理之后,可以以相反的方式对上采样的样点进行转置。
[0856]
46.提出在alwip中使用替代插值滤波器代替双线性滤波器进行上采样。
[0857]
a.在一个示例中,可以使用(4抽头、6抽头、8抽头等)高斯滤波器。
[0858]
b.在一个示例中,可以使用(4抽头、6抽头、8抽头等)立方滤波器。
[0859]
c.在一个示例中,可以使用在色度样点的运动补偿中使用的插值滤波器。
[0860]
d.在一个示例中,可以使用在亮度样点的运动补偿中使用的插值滤波器(6抽头、8抽头等)。
[0861]
e.使用哪种插值滤波器可能取决于块尺寸。
[0862]
f.使用哪种插值滤波器可能取决于上采样率。
[0863]
g.使用哪种插值滤波器可能取决于alwip的预测模式。
[0864]
h.使用哪个插值滤波器可能取决于有多少样点可用于上采样。
[0865]
i.例如,当一行(或一列)中有4个可用样点(不包括临近参考样点)时,可以使用4抽头插值滤波器。
[0866]
ii.例如,当一行(或一列)中有8个可用样点(不包括临近参考样点)时,可以使用4抽头或8抽头插值滤波器。
[0867]
47.提出可以独立于临近块构造用alwip模式编解码的块的mpm。
[0868]
a.在一个示例中,预定义了使用alwip模式编解码的块的mpm。
[0869]
i.例如,对于所有块尺寸,预定义的mpm为{m0,m1,m2}。例如。m0=0,m1=1且m2=2。
[0870]
ii.例如,用alwip模式编解码的块的预定义mpm可以取决于块尺寸。例如。用alwip模式编解码的块的预定义mpm可能取决于2.2.1.5节中定义的sizeid。
[0871]
1)例如,当sizeid等于0时,mpm的顺序为{17,34,5}。
[0872]
2)例如,当sizeid等于1时,mpm的顺序为{0,7,16}。
[0873]
3)例如,当sizeid等于2时,mpm的顺序为{1,4,6}。
[0874]
iii.例如,对于用alwip模式编解码的块的预定义mpm被固定为与前k个矩阵相关联。
[0875]
1)在一个示例中,k=3。
[0876]
2)在一个示例中,k可以取决于块尺寸。
[0877]
b.在一个示例中,对于具有各种宽度和高度的块,存在固定数量(例如11)的mip模式,但是对于具有不同sizeid的块,mpm可能不同。
[0878]
i.例如,当sizeid等于0时,mpm的顺序为{10,5,1}。
[0879]
ii.例如,当sizeid等于1时,mpm的顺序为{9,7,1}。
[0880]
iii.例如,当sizeid等于2时,mpm的顺序为{6,1,8}。
[0881]
c.在一个示例中,对于具有各种宽度和高度的块,存在固定数量(例如11)的mip模式,并且具有各种宽度和高度的块的mpm相同
[0882]
48.提出统一用于alwip的矩阵数量,而与块尺寸无关。
[0883]
a.在一个示例中,可以为所有块尺寸存储s个矩阵。例如,s=11,或s=19,或s=35。
[0884]
b.在一个示例中,对于所有块尺寸,以相同方式完成alwip模式信令。
[0885]
c.可替代地,此外,对于不同的块尺寸,矩阵可以不同。
[0886]
49.提出可以将色度块的二次变换(例如,lfnst)的编解码/解析边信息与相应的亮度mip信息解耦。即,即使相应的亮度块被用mip模式编解码,边信息也可以被用信令通知/解析。
[0887]
a.可替代地,此外,可以将是否对色度块应用二次变换与相应的亮度mip信息解耦。
[0888]
i.在一个示例中,即使相应的亮度块以mip模式编解码,也可以应用二次变换。
[0889]
b.在一个示例中,色度块可以在双树或局部双树结构内。
[0890]
c.在一个示例中,在双树色度的情况下,是否应用lfnst可以与相应的亮度块是否由mip编解码解耦。
[0891]
i.可替代地,此外,在双树色度的情况下,是否应用lfnst可以与该块是否不小于m
×
n(诸如m=n=16)解耦。
[0892]
d.在一个示例中,在双树色度的情况下,是否应用lfnst可以与当前色度块是否由mip编解码解耦。
[0893]
i.可替代地,此外,对于色度块,可能始终禁用mip。
[0894]
ii.可替代地,在双树色度的情况下,是否应用lfnst可以与当前色度块是否由mip编解码解耦。
[0895]
e.在一个示例中,在双树色度的情况下,lfnst索引的信令(诸如lfnst_idx)可以与mip标志(例如intra_mip_flag)解耦。可替代地,在单树或双树亮度的情况下,是否应用lfnst可以取决于相应的亮度块是否由mip编解码。
[0896]
i.在一个示例中,在单树或双树亮度的情况下(例如,treetype不等于dual_tree_chroma),lfnst索引(例如lfnst_idx)的信令可以取决于相应的mip编解码的亮度块的尺寸。
[0897]
1)例如,仅当treetype不等于dual_tree_chroma,并且相应的亮度块由mip(intra_mip_flag为真(true))模式编解码,并且相应亮度块的min(宽度,高度)大于或等于16时,可以用信令通知lfnst索引(例如lfnst_idx)。
[0898]
50.提出在树型条件检查中用信令通知二次变换的边信息(例如lfnst_idx)。
[0899]
a.在一个示例中,是否用信令通知边信息可以取决于树类型是否为色度双树(例如,treetype==dual_tree_chroma),色度双树可以包括色度局部双树情况。
[0900]
i.可替代地,是否用信令通知边信息可以取决于树类型是否是不包括色度局部双树情况的色度双树。
[0901]
b.条件a定义为“未应用mip,并且lfnst考虑的块宽度和块高度均不小于整数n,诸如16”。例如,条件a在jvet-p2001-v9中可以描述为(!intra_mip_flag[x0][y0]||min(lfnstwidth,lfnstheight)》=16)。条件b定义为“当前块是双树(或局部双树)结构内的色度块。”例如,条件b可以描述为(treetype==dual_tree_chroma)。条件c定义为“当前块是双树(或局部双树)结构内的亮度块。”例如,条件c可以描述为(treetype==dual_tree_luma)。
[0902]
i.提出是否使用条件a来确定是否可以使用lfnst取决于条件b。
[0903]
1)例如,当条件b为真(true)时,条件a被忽略。否则(条件b为假(false)),如果条件a为假(false),则不使用lfnst。
[0904]
ii.提出是否使用条件a来确定是否可以用信令通知有关lfnst的全部或部分信息可能取决于条件b。
[0905]
1)例如,当条件b为真(true)时,条件a被忽略。否则(条件b为假(false)),如果条件a为假(false),则不会用信令通知有关lfnst的全部或部分信息。
[0906]
iii.提出是否使用条件a来确定是否可以使用lfnst取决于条件c。
[0907]
1)例如,当条件c为假(false)时,条件a被忽略。否则(条件b为假(false)),如果条件a为假(false),则不使用lfnst。
[0908]
iv.提出是否使用条件a来确定是否可以用信令通知有关lfnst的全部或部分信息可能取决于条件c。
[0909]
1)例如,当条件c为假(false)时,条件a被忽略。否则(条件b为假(false)),如果条件a为假(false),则不会用信令通知有关lfnst的全部或部分信息。
[0910]
v.在一个示例中,在单树情况下,条件a可以仅控制是否在亮度分量上应用lfnst。
[0911]
1)在一个示例中,如果满足了将lfnst应用于色度分量的条件,但条件a为假(false),则lfnst不会应用于亮度分量,而可能会应用于色度分量。
[0912]
a.在这种情况下,将用信令通知有关lfnst的全部或部分信息,以控制是否和/或如何在(一个或多个)色度分量上应用lfnst。
[0913]
51.可以根据颜色分量对二次变换的边信息(例如,lfnst_idx)的信令/解析进行分类。
[0914]
a.在一个示例中,可以为每个颜色分量(诸如,y、cb、cr)用信令通知/解析二次变换的单个边信息(例如,lfnst_idx)。例如,对于不同的cidx,lfnst_idx[cidx]可能不同,其中对于颜色分量y、cb和cr,cidx分别为0、1和2。
[0915]
i.在一个示例中,色度分量(诸如cb和cr)可以共享二次变换的相同边信息。
[0916]
b.在一个示例中,可以用信令通知/解析针对亮度和色度分量的二次变换的单个边信息(例如,lfnst_idx)。例如,对于不同的cidx,lfnst_idx[cidx]可能不同,其中对于亮度和色度分量,cidx分别为0和1。
[0917]
52.可以根据颜色分量对mip的边信息(例如,intra_mip_flag)的信令/解析进行分类。
[0918]
a.在一个示例中,可以针对每种颜色分量(诸如,y、cb、cr)用信令通知/解析mip的单个边信息(例如,intra_mip_flag)。例如,对于不同的cidx,intra_mip_flag[cidx]可能不同,其中对于颜色分量y、cb和cr,cidx分别为0、1和2。
[0919]
i.在一个示例中,色度分量(诸如cb和cr)可以共享mip的相同边信息。
[0920]
b.在一个示例中,可以针对亮度和色度分量用信令通知/解析mip的单个边信息(例如,intra_mip_flag)。例如,intra_mip_flag[cidx]对于不同的cidx可能不同,其中对于亮度和色度分量,cidx分别为0和1。
[0921]
5.实施例
[0922]
在本专利文件中,新添加的部分以粗体斜体突出显示,删除的部分在图中以删除线突出显示或以粗体下划线文本突出显示。
[0923]
5.1一个示例
[0924]
三个上下文用于编解码alwip标志。图25示出了包括将ctxinc分配给具有上下文编解码的二进制数的语法元素的更新的表。
[0925]
5.2一个示例
[0926]
一个固定的上下文用于编解码alwip标志。图26示出了包括将ctxinc分配给具有上下文编解码的二进制数的语法元素的另一个更新的表。
[0927]
5.3一个示例
[0928]
在第一步执行边界缩减处理。
[0929]
以下实施例基于所采用的jvet-n0220-proposal-test-ce3-4.1_v2。
[0930]
8.4.4.2.x1仿射线性加权帧内样点预测
[0931]
8.4.4.2.x3边界缩减处理的规范
[0932]
此处理的输入是:
[0933]

变量ntbx,指定变换块尺寸,
[0934]

参考样点refx[x],其中x=0..ntbx-1,
[0935]

变量boundarysize,指定下采样边界尺寸,
[0936]

标志needupsbdryx,指定是否需要中间边界样点来进行上采样,
[0937]

变量upsbdrysize,指定上采样的边界尺寸。
[0938]
此处理的输出是缩减的边界样点redx[x](x=0..boundarysize-1)和上采样边界样点upsbdryx[x](x=0..upsbdrysize-1)。
[0939]
上采样边界样点upsbdryx[x](x=0..upsbdrysize-1)的计算方法如下:
[0940]

如果needupsbdryx等于真(true)并且upsbdrysize小于ntbx,则适用以下情况:
[0941]
udwn=ntbx/upsbdrysize
ꢀꢀ
(8-x30)
[0942]
upsbdryx[x]=refx[x*udwn]
[0943][0944]

否则(upsbdrysize等于ntbx),将upsbdryx[x]设置为等于refx[x]。
[0945]
缩减的边界样点redx[x](x=0..boundarysize-1)的推导如下:
[0946]

如果boundarysize小于upsbdrysize ntbx,则适用以下情况:
[0947]
bdwn=upsbdrysize ntbx/boundarysize
ꢀꢀ
(8-x32)
[0948][0949]
删除了公式8-x33中双括号中指示的术语“upsbdryx”[0950]

否则(boundarysize等于upsbdrysize ntbx),将redx[x]设置为等于upsbdryx[x]refx[x。
[0951]
5.4一个示例
[0952]
在alwip的上采样处理中,在不同的滤波阶段中以不同的精度导出预测样点。
[0953]
以下实施例基于所采用的jvet-n0217-proposal-test-ce3-4.1_v2。
[0954]
8.4.4.2.x4预测上采样处理的规范
[0955]
此处理的输入是:
[0956]

变量predw,指定输入块宽度,
[0957]

变量predh,指定输入块高度,
[0958]-仿射线性加权样点predlwip[x][y],其中x=0..predw-1,y=0..predh-1,
[0959]

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

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

变量upsbdryw,指定上采样边界宽度,
[0962]

变量upsbdryh,指定上采样边界高度,
[0963]

顶上采样边界样点upsbdryt[x],其中x=0..upsbdryw

1,
[0964]

左上采样边界样点x=0..upsbdryh

1的upsbdryl[x]。
[0965]
此处理的输出是预测的样点predsamples[x][y],其中x=0..ntbw-1,y=
0..ntbh-1。
[0966]
稀疏预测样点predsamples[m][n]导出自predlwip[x][y],其中x=0..predw-1,y=0..predh-1,如下:
[0967]
uphor=ntbw/predw
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x34)
[0968]
upver=ntbh/predh
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x35)
[0969]
predsamples[(x 1)*uphor-1][(y 1)*upver-1]=predlwip[x][y]
ꢀꢀꢀꢀꢀꢀꢀ
(8-x36)
[0970]
顶边界样点upsbdryt[x](其中x=0..upsbdryw

1)被分配给predsamples[m][-1],如下:
[0971]
predsamples[(x 1)*(ntbw/upsbdryw)-1][-1]=upsbdryt[x]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8-x37)
[0972]
左边界样点upsbdryl[y](其中y=0..upsbdryh

1)被分配给predsamples[-1][n],如下:
[0973]
predsamples[-1][(y 1)*(ntbh/upsbdryh)-1]=upsbdryl[y]
[0974]
(8-x38)
[0975]
预测样点predsamples[x][y](其中x=0..ntbw-1,y=0..ntbh

1)的推导如下:
[0976]

如果ntbh大于ntbw,则适用以下有序步骤:
[0977]
1.当uphor大于1时,对所有稀疏位置(xhor,yhor)=(m*uphor-1,n*upver-1)(其中m=0..predw-1,n=1...predh)应用水平上采样(其中dx=1..uphor-1),如下:
[0978]
predsamples[xhor dx][yhor]=(uphor-dx)*predsamples[xhor][yhor] dx*predsamples[xhor uphor][yhor])/uphor
ꢀꢀ
(8-x39)
[0979]
2.对所有稀疏位置(xver,yver)=(m,n*upver-1)(其中m=0..ntbw-1,n=0..predh-1)应用垂直上采样(其中dy=1..upver

1),如下:
[0980]
如果yver等于-1,则predsamples[xver][yver]=predsamples[xver][yver]《《log2(uphor)
[0981]
predsamples[xver][yver dy]=((upver-dy)*predsamples[xver][yver] dy*predsamples[xver][yver upver])/upver (1《《(log2(uphor) log2(upver)-1)))》》(log2(uphor) log2(upver))
ꢀꢀ
(8-x40)
[0982]

否则,适用以下有序步骤:
[0983]
1.当upver大于1时,如(8-x40)(8-x41)中指定的那样,对所有稀疏位置(xver,yver)=(m*uphor-1,n*upver-1)(其中m=1..predw,n=0.predh-1)应用垂直上采样,其中dy=1..upver-1。
[0984]
predsamples[xver][yver dy]=((upver-dy)*predsamples[xver][yver] dy*predsamples[xver][yver upver])
ꢀꢀ
(8-x41)
[0985]
2.如(8-x39)中指定的那样,对所有稀疏位置(xhor,yhor)=(m*uphor

1,n)(其中m=0..predw-1,n=0..ntbh-1)应用水平上采样,其中dx=1..uphor-1,如下:
[0986]
如果xhor等于-1,则predsamples[xhor][yhor]=predsamples[xhor][yhor]《《log2(upver)
[0987]
predsamples[xhor dx][yhor]=((uphor-dx)*predsamples[xhor][yhor] dx*
[1019]

否则(boundarysize等于upsbdrysize ntbx),redx[x]设置为等于upsbdryx refx[x]。
[1020]
5.7一个示例
[1021]
此处提供了alwip(也称为基于矩阵的帧内预测或mip)中的固定顺序上采样的示例。该文本基于jvet-n1001-v6。
[1022]
5.7.1首先进行水平上采样,然后进行垂直上采样
[1023]
8.4.5.2.1基于矩阵的帧内样点预测
[1024]
此处理的输入是:
[1025]

指定相对于当前图片的左上样点的当前变换块的左上样点的样点位置(xtbcmp,ytbcmp),
[1026]

变量predmodeintra,指定帧内预测模式,
[1027]

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

变量ntbh,指定变换块高度。
[1029]
此处理的输出是预测的样点predsamples[x][y],其中x=0..ntbw-1,y=0..ntbh-1。
[1030]
变量nummodes、boundarysize、predw、predh和predc是使用mipsizeid[xtbcmp]][ytbcmp]推导的,如表8-7中所指定。
[1031]
表8-7-使用mipsizeid的预测模式数量nummodes、边界尺寸boundarysize和预测尺寸predw、predh和predc的规范
[1032][1033]
标志istransposed的推导如下:
[1034]
istransposed=(predmodeintra》(nummodes/2))?true:false
ꢀꢀ
(8-56)
[1035]
标志needupsbdryhor和needupsbdryver的推导如下:
[1036]
needupsbdryhor=(ntbw》predw)?true:false
ꢀꢀ
(8-57)
[1037]
needupsbdryver=(ntbh》predh)?true:false
ꢀꢀ
(8-58)变量upsbdryw和upsbdryh的推导如下:
[1038]
upsbdryw=(ntbh》ntbw)?ntbw:predw
ꢀꢀ
(8-59)
[1039]
upsbdryh=(ntbh》ntbw)?predh:ntbh
ꢀꢀ
(8-60)
[1040]
upsbdryw=ntbw
ꢀꢀ
(8-59)
[1041]
upsbdryh=predh
ꢀꢀ
(8-60)
[1042]
变量mipw和miph的推导如下:
[1043]
mipw=istransposed?predh:predw
ꢀꢀ
(8-61)
[1044]
miph=istransposed?predw:predh
ꢀꢀ
(8-62)
[1045]
对于参考样点reft[x](其中x==0..ntbw-1)以及refl[y](其中y=0..ntbh-1)的生成的情况,调用第8.4.5.2.2.2节所指定的mip参考样点导出处理,其中以样点位置(xtbcmp,ytbcmp)、变换块宽度ntbw、变换块高度ntbh作为输入,并且分别以顶参考样点reft[x](其中x=0..ntbw

1)和左参考样点refl[y](其中y=0..ntbh-1)作为输出。
[1046]
对于边界样点p[x](其中x=0..2*boundarysize-1)的生成,适用以下情况:
[1047]

对于块尺寸为ntbw的顶参考样点,调用8.4.5.2.3节中指定的mip边界下采样处理,以参考样点reft[x](其中x=0..ntbw-1)、边界尺寸boundarysize、上采样边界标志needupsbdryhor和上采样边界尺寸upsbdryw作为输入,并以缩减的边界样点redt[x](其中x=0..boundarysize-1)和上采样边界样点upsbdryt[x](其中x=0..upsbdryw-1)作为输出。
[1048]

对于块尺寸为ntbh的左参考样点,调用8.4.5.2.3节中指定的mip边界下采样处理,以参考样点refl[y](其中y=0..ntbh-1)、边界尺寸boundarysize、上采样边界标志needupsbdryver和上采样边界尺寸upsbdryh作为输入,并以缩减的边界样点redl[x](其中x=0..boundarysize-1)和上采样边界样点upsbdryl[x](其中x=0..upsbdryh-1)作为输出。
[1049]

将缩减的顶边界样点redt和左边界样点redl分配给边界样点阵列p,如下所示:
[1050]

如果istransposed等于1,则将p[x]设置为等于redl[x],其中x=0..boundarysize-1,并且将p[x boundarysize]设置为等于redt[x],其中x=0..boundarysize-1。
[1051]

否则,将p[x]设置为等于redt[x],其中x=0..boundarysize-1,并且将p[x boundarysize]设置为等于redl[x],其中x=0..boundarysize-1。
[1052]
对于根据predmodeintra进行的帧内样点预测处理,适用以下有序步骤:
[1053]
3.基于矩阵的帧内预测样点predmip[x][y](其中x=0..mipw-1,y=0..miph-1)的推导如下:
[1054]

变量modeid的推导如下:
[1055]
modeid=predmodeintra-(istransposed?nummodes/2:0)
ꢀꢀ
(8-63)
[1056]

权重矩阵mweight[x][y](其中x=0..2*boundarysize-1,y=0..predc*predc-1)是使用mipsizeid[xtbcmp][ytbcmp]和modeid推导的,如表8-xx中所指定的[ed.(bb):一旦采用非10位权重解决方案,就添加权重矩阵]。
[1057]

偏差矢量vbias[y]是使用sizeid和modeid(其中y=0..predc*predc-1)推导的,如表8-xx中所指定的[ed.(bb):一旦采用非10位权重解决方案,就添加偏差矩阵]。
[1058]

变量sw是使用mipsizeid[xtbcmp]][ytbcmp]和modeid推导的,如表8-8中所指定的。
[1059]

基于矩阵的帧内预测样点predmip[x][y](其中x=0..mipw-1,y=0..miph-1)的推导如下:
[1060]
ow=1《《(sw-1)
ꢀꢀ
(8-64)
[1061]
sb=bitdepth
y-1
ꢀꢀ
(8-65)
[1062]
incw=(predc》mipw)?2:1
ꢀꢀ
(8-66)
[1063]
inch=(predc》miph)?2:1
ꢀꢀ
(8-67)
[1064][1065]
4.当istransposed等于真(true)时,predh x predw阵列predmip[x][y](其中x=0..predh-1,y=0..predw

1)的转换如下:
[1066]
predtemp[y][x]=predmip[x][y]
ꢀꢀ
(8-69)predmip=predtemp
ꢀꢀ
(8-70)
[1067]
5.预测样点predsamples[x][y]的x=0..ntbw-1,y=0..ntbh-1的推导如下:
[1068]

如果needupsbdryver等于真(true)或needupsbdryhor等于真(true),则调用第8.4.5.2.4节中指定的mip预测上采样处理,其中以输入块宽度predw、输入块高度predh、基于矩阵的帧内预测样点predmip[x][y](其中x=0..predw-1,y=0..predh-1)、变换块宽度ntbw、变换块高度ntbh、上采样边界宽度upsbdryw、上采样边界高度upsbdryh、顶上采样边界样点upsbdryt、左上采样边界样点upsbdryl作为输入,且输出是预测样点阵列predsamples。
[1069]

否则,将predsamples[x][y](其中x=0..ntbw-1,y=0..ntbh-1)设置为等于predmip[x][y]。
[1070]
6.预测样点predsamples[x][y](其中x=0..ntbw-1,y=0..ntbh-1)被剪切如下:
[1071]
predsamples[x][y]=clip1y(predsamples[x][y])
ꢀꢀ
(8-71)
[1072]
表格8-8

取决于mipsizeid和modeid的权重偏移sw规范
[1073]
8.4.5.2.4 mip预测上采样处理
[1074]
此处理的输入是:
[1075]

变量predw,指定输入块的宽度,
[1076]

变量predh,指定输入块的高度,
[1077]

基于矩阵的帧内预测样点predmip[x][y],其中x=0..predw-1,y=0..predh-1,
[1078]

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

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

变量upsbdryw,指定上采样边界宽度,
[1081]

变量upsbdryh,指定上采样边界高度,
[1082]

顶上采样边界样点upsbdryt[x],其中x=0..upsbdryw-1,
[1083]

左上采样边界样点upsbdryl[x],其中x=0..upsbdryh-1。
[1084]
此处理的输出是预测的样点predsamples[x][y],其中x=0..ntbw-1,y=0..ntbh-1。
[1085]
稀疏预测样点predsamples[m][n]推导自predmip[x][y],其中x=0..predw-1,y=0..predh-1,如下所示:
[1086]
uphor=ntbw/predw
ꢀꢀ
(8-78)
[1087]
upver=ntbh/predh
ꢀꢀ
(8-79)
[1088]
predsamples[(x 1)*uphor-1][(y 1)*upver-1]=predmip[x][y]
ꢀꢀ
(8-80)
[1089]
最大边界样点upsbdryt[x](其中x=0..upsbdryw-1)被分配给predsamples[m][-1],如下所示:
[1090]
predsamples[(x 1)*(ntbw/upsbdryw)-1][-1]=upsbdryt[x]
ꢀꢀ
(8-81)
[1091]
左边界样点upsbdryl[y](其中y=0..upsbdryh-1)被分配给predsamples[-1][n],如下所示:
[1092]
predsamples[-1][(y 1)*(ntbh/upsbdryh)-1]=upsbdryl[y]
ꢀꢀ
(8-82)
[1093]
预测样点predsamples[x][y](其中x=0..ntbw-1,y=0..ntbh-1)被推导如下:
[1094]

如果ntbh大于ntbw,则应用以下有序步骤:
[1095]
1.当uphor大于1时,以dx=1..uphor-1应用所有稀疏位置(xhor,yhor)=(m*uphor-1,n*upver-1)的水平上采样(其中m=0..predw-1,n=1..predh),如下所示:
[1096]
sum=(uphor-dx)*predsamples[xhor][yhor] dx*predsamples[xhor uphor][yhor]
ꢀꢀ
(8-83)
[1097]
predsamples[xhor dx][yhor]=(sum uphor/2-(sum《0?1:0))/uphor
ꢀꢀ
(8-84)
[1098]
2.以dy=1..upver

1应用所有稀疏位置(xver,yver)=(m,n*upver-1)的垂直上采样(其中m=0..ntbw-1,n=0..predh

1),如下所示:
[1099]
sum=(upver-dy)*predsamples[xver][yver] dy*predsamples[xver][yver upver]
ꢀꢀ
(8-85)
[1100]
predsamples[xver][yver dy]=(sum upver/2-(sum《0?1:0))/upver
ꢀꢀ
(8-86)
[1101]

否则,适用以下有序步骤:
[1102]
1.当upver大于1时,以dy=1..upver

1应用所有稀疏位置(xver,yver)=(m*uphor-1,n*upver-1)的垂直上采样(其中m=1..predw,n=0..predh

1)如下所示:
[1103]
sum=(upver-dy)*predsamples[xver][yver] dy*predsamples[xver][yver upver]
ꢀꢀ
(8-87)
[1104]
predsamples[xver][yver dy]=(sum upver/2-(sum《0?1:0))/upver
ꢀꢀ
(8-88)
[1105]
2.以dx=1..uphor

1应用所有稀疏位置(xhor,yhor)=(m*uphor-1,n)的水平上采样(其中m=0..predw-1,n=0..ntbh

1),如下所示:
[1106]
sum=(uphor-dx)*predsamples[xhor][yhor] dx*predsamples[xhor uphor][yhor]
ꢀꢀ
(8-89)
[1107]
predsamples[xhor dx][yhor]=(sum uphor/2-(sum《0?1:0))/uphor
ꢀꢀ
(8-90)
[1108]
5.7.2首先进行垂直上采样,然后再进行水平上采样
[1109]
8.4.5.2.1基于矩阵的帧内样点预测
[1110]
此处理的输入是:
[1111]

指定当前变换块的左上样点相对于当前图片的左上样点的样点位置(xtbcmp,ytbcmp),
[1112]

变量predmodeintra,指定帧内预测模式,
[1113]

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

变量ntbh,指定变换块的高度。
[1115]
此处理的输出是预测的样点predsamples[x][y],其中x=0..ntbw-1,y=0..ntbh-1。
[1116]
变量nummodes、boundarysize、predw、predh和predc使用表8-7中指定的mipsizeid[xtbcmp]][ytbcmp]导出。
[1117]
表8-7-使用mipsizeid的预测模式数量nummodes、边界尺寸boundarysize和预测尺寸predw、predh和predc的规范
[1118]
mipsizeidnummodesboundarysizepredwpredhpredc035244411944442114min(ntbw,8)min(ntbh,8)8
[1119]
标志istransposed的推导如下:
[1120]
istransposed=(predmodeintra》(nummodes/2))?true:false
ꢀꢀ
(8-56)
[1121]
标志needupsbdryhor和needupsbdryver的推导如下:
[1122]
needupsbdryhor=(ntbw》predw)?true:false
ꢀꢀ
(8-57)
[1123]
needupsbdryver=(ntbh》predh)?true:false
ꢀꢀ
(8-58)
[1124]
变量upsbdryw和upsbdryh的推导如下:
[1125]
upsbdryw=(ntbh》ntbw)?ntbw:predw
ꢀꢀ
(8-59)
[1126]
upsbdryh=(ntbh》ntbw)?predh:ntbh
ꢀꢀ
(8-60)
[1127]
upsbdryw=predw
ꢀꢀ
(8-59)
[1128]
upsbdryh=ntbh
ꢀꢀ
(8-60)
[1129]
变量mipw和miph的推导如下:
[1130]
mipw=istransposed?predh:predw
ꢀꢀ
(8-61)
[1131]
miph=istransposed?predw:predh
ꢀꢀ
(8-62)
[1132]
对于参考样点reft[x](其中x==0..ntbw-1)以及refl[y](其中y=0..ntbh-1)的生成,调用第8.4.5.2.2.2节中指定的mip参考样点导出处理,以样点位置(xtbcmp,ytbcmp)、变换块宽度ntbw、变换块高度ntbh作为输入,并且以顶参考样点reft[x](其中x=0..ntbw

1)和左参考样点refl[y](其中y=0..ntbh-1)作为输出。
[1133]
对于边界样点p[x](其中x=0..2*boundarysize-1)的生成,适用以下情况:
[1134]

对于块尺寸为ntbw的顶参考样点,调用8.4.5.2.3节中指定的mip边界下采样处理,以参考样点reft[x](其中x=0..ntbw-1)、边界尺寸boundarysize、上采样边界标志needupsbdryhor和上采样边界尺寸upsbdryw作为输入,并以缩减的边界样点redt[x](其中x=0..boundarysize-1)和上采样边界样点upsbdryt[x](其中x=0..upsbdryw-1)作为输出。
[1135]

对于块尺寸为ntbh的左参考样点,调用8.4.5.2.3节中指定的mip边界下采样处理,以参考样点refl[y](其中y=0..ntbh-1)、边界尺寸boundarysize、上采样边界标志needupsbdryver和上采样边界尺寸upsbdryh作为输入,并以缩减的边界样点redl[x](其中x=0..boundarysize-1)和上采样边界样点upsbdryl[x](其中x=0..upsbdryh-1)作为输出。
[1136]

将缩减的顶边界样点redt和左边界样点redl分配给边界样点阵列p,如下所示:
[1137]

如果istransposed等于1,则将p[x]设置为等于redl[x],其中x=0..boundarysize-1,并且将p[x boundarysize]设置为等于redt[x],其中x=0..boundarysize-1。
[1138]

否则,将p[x]设置为等于redt[x],其中x=0..boundarysize-1,并且将p[x boundarysize]设置为等于redl[x],其中x=0..boundarysize-1。
[1139]
对于根据predmodeintra进行的帧内样点预测处理,适用以下有序步骤:
[1140]
7.基于矩阵的帧内预测样点predmip[x][y](其中x=0..mipw-1,y=0..miph-1)的推导如下:
[1141]

变量modeid的推导如下:
[1142]
modeid=predmodeintra-(istransposed?nummodes/2:0)
ꢀꢀ
(8-63)
[1143]

权重矩阵mweight[x][y](其中x=0..2*boundarysize-1,y=0..predc*predc-1)是使用mipsizeid[xtbcmp][ytbcmp]和modeid推导的,如表8-xx中所指定的[ed.(bb):一旦采用非10位权重解决方案,就添加权重矩阵]。
[1144]

偏差矢量vbias[y]是使用sizeid和modeid(其中y=0..predc*predc-1)推导的,如表8-xx中所指定的[ed.(bb):一旦采用非10位权重解决方案,就添加偏差矩阵]。
[1145]

变量sw是使用mipsizeid[xtbcmp]][ytbcmp]和modeid推导的,如表8-8中所指定的。
[1146]

基于矩阵的帧内预测样点predmip[x][y](其中x=0..mipw-1,y=0..miph-1)的推导如下:
[1147]
ow=1《《(sw-1)
ꢀꢀ
(8-64)
[1148]
sb=bitdepth
y-1
ꢀꢀ
(8-65)
[1149]
incw=(predc》mipw)?2:1
ꢀꢀ
(8-66)
[1150]
inch=(predc》miph)?2:1
ꢀꢀ
(8-67)
[1151][1152]
8.当istransposed等于真(true)时,predh x predw阵列predmip[x][y](其中x=0..predh-1,y=0..predw

1)的转换如下:
[1153]
predtemp[y][x]=predmip[x][y]
ꢀꢀ
(8-69)
[1154]
predmip=predtemp
ꢀꢀ
(8-70)
[1155]
9.预测样点predsamples[x][y]的x=0..ntbw-1,y=0..ntbh-1的推导如下:
[1156]

如果needupsbdryver等于真(true)或needupsbdryhor等于真(true),则调用第8.4.5.2.4节中指定的mip预测上采样处理,其中以输入块宽度predw、输入块高度predh、基于矩阵的帧内预测样点predmip[x][y](其中x=0..predw-1,y=0..predh-1)、变换块宽度ntbw、变换块高度ntbh、上采样边界宽度upsbdryw、上采样边界高度upsbdryh、顶上采样边界样点upsbdryt、左上采样边界样点upsbdryl作为输入,且输出是预测样点阵列predsamples。
[1157]

否则,将predsamples[x][y](其中x=0..ntbw-1,y=0..ntbh-1)设置为等于
predmip[x][y]。
[1158]
10.预测样点predsamples[x][y](其中x=0..ntbw-1,y=0..ntbh-1)被剪切如下:
[1159]
predsamples[x][y]=clip1y(predsamples[x][y])
ꢀꢀ
(8-71)
[1160]
表格8-8

取决于mipsizeid和modeid的权重偏移sw规范
[1161]
8.4.5.2.4 mip预测上采样处理
[1162]
此处理的输入是:
[1163]

变量predw,指定输入块的宽度,
[1164]

变量predh,指定输入块的高度,
[1165]

基于矩阵的帧内预测样点predmip[x][y],其中x=0..predw-1,y=0..predh-1,
[1166]

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

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

变量upsbdryw,指定上采样边界宽度,
[1169]

变量upsbdryh,指定上采样边界高度,
[1170]

顶上采样边界样点upsbdryt[x],其中x=0..upsbdryw-1,
[1171]

左上采样边界样点upsbdryl[x],其中x=0..upsbdryh-1。
[1172]
此处理的输出是预测的样点predsamples[x][y],其中x=0..ntbw-1,y=0..ntbh-1。
[1173]
稀疏预测样点predsamples[m][n]推导自predmip[x][y],其中x=0..predw-1,y=0..predh-1,如下所示:
[1174]
uphor=ntbw/predw
ꢀꢀ
(8-78)
[1175]
upver=ntbh/predh
ꢀꢀ
(8-79)
[1176]
predsamples[(x 1)*uphor-1][(y 1)*upver-1]=predmip[x][y]
ꢀꢀ
(8-80)
[1177]
最大边界样点upsbdryt[x](其中x=0..upsbdryw-1)被分配给predsamples[m][-1],如下所示:
[1178]
predsamples[(x 1)*(ntbw/upsbdryw)-1][-1]=upsbdryt[x]
ꢀꢀ
(8-81)
[1179]
左边界样点upsbdryl[y](其中y=0..upsbdryh-1)被分配给predsamples[-1][n],如下所示:
[1180]
predsamples[-1][(y 1)*(ntbh/upsbdryh)-1]=upsbdryl[y]
ꢀꢀ
(8-82)
[1181]
预测样点predsamples[x][y](其中x=0..ntbw-1,y=0..ntbh-1)被推导如下:
[1182]

如果ntbh大于ntbw,则应用以下有序步骤:
[1183]
1.当uphor大于1时,以dx=1..uphor-1应用所有稀疏位置(xhor,yhor)=(m*uphor-1,n*upver-1)的水平上采样(其中m=0..predw-1,n=1..predh),如下所示:
[1184]
sum=(uphor-dx)*predsamples[xhor][yhor] dx*predsamples[xhor uphor][yhor]
ꢀꢀ
(8-83)
[1185]
predsamples[xhor dx][yhor]=(sum uphor/2-(sum<0?1:0))/uphor
ꢀꢀ
(8-84)
[1186]
2.以dy=1..upver

1应用所有稀疏位置(xver,yver)=(m,n*upver-1)的垂直上采样(其中m=0..ntbw-1,n=0..predh

1),如下所示:
[1187]
sum=(upver-dy)*predsamples[xver][yver] dy*predsamples[xver][yver upver]
ꢀꢀ
(8-85)
[1188]
predsamples[xver][yver dy]=(sum upver/2-(sum<0?1:0))/upver
ꢀꢀ
(8-86)
[1189]

否则,适用以下有序步骤:
[1190]
1.当upver大于1时,以dy=1..upver

1应用所有稀疏位置(xver,yver)=(m*uphor-1,n*upver-1)的垂直上采样(其中m=1..predw,n=0..predh

1)如下所示:
[1191]
sum=(upver-dy)*predsamples[xver][yver] dy*predsamples[xver][yver upver]
ꢀꢀ
(8-87)
[1192]
predsamples[xver][yver dy]=(sum upver/2-(sum<0?1:0))/upver
ꢀꢀ
(8-88)
[1193]
2.以dx=1..uphor-1应用所有稀疏位置(xhor,yhor)=(m*uphor-1,n)的水平上采样(其中m=0..predw-1,n=0..ntbh

1),如下所示:
[1194]
sum=(uphor-dx)*predsamples[xhor][yhor] dx*predsamples[xhor uphor][yhor]
ꢀꢀ
(8-89)
[1195]
predsamples[xhor dx][yhor]=(sum uphor/2-(sum《0?1:0))/uphor
ꢀꢀ
(8-90)
[1196]
5.8.基于jvet-n1001-v7的用于mpm编解码的示例性工作草案
[1197]
8.4.2 mip模式的推导处理
[1198]
此处理的输入是:
[1199]

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

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

变量cbheight,指定亮度样点中当前编解码块的高度。
[1202]
在此处理中,导出基于矩阵的帧内预测模式intrapredmodey[xcb][ycb]。
[1203]
intrapredmodey[xcb][ycb]通过以下有序步骤推导出:
[1204]
5.临近位置(xnba,ynba)和(xnbb,ynbb)分别被设置为等于(xcb-1,ycb)和(xcb,ycb-1)。
[1205]
6.对于被a或b替换的x,变量candmipmodex的推导如下:
[1206]

调用第6.4.x节[ed.(bb):临近块可用性检查处理tbd]中指定的用于块的可用性推导处理,以将设置为等于(xcb,ycb)的位置(xcurr,ycurr)和设置为等于(xnbx,ynbx)的临近位置(xnby,ynby)作为,并且将输出分配给availablex。
[1207]

候选mip模式candmipmodex的推导如下:
[1208]

如果满足以下一个或多个条件,则将candmipmodex设置为等于-1。
[1209]

变量availablex等于假(false)。
[1210]

cupredmode[xnbx][ynbx]不等于mode_intra,并且ciip_flag[xnbx][ynbx]不等于1。
[1211]

pcm_flag[xnbx][ynbx]等于1。
[1212]

x等于b并且ycb-1小于(((ycb》》》》ctblog2sizey))《《ctblog2sizey)。
[1213]

否则,适用以下情况:
[1214]

如果intra_mip_flag[xnbx][ynbx]等于1,则适用以下情况:
[1215]

如果mipsizeid[xcb][ycb]等于mipsizeid[xnbx][ynbx],则candmipmodex设置为等于intrapredmodey[xnbx][ynbx]。
[1216]

否则,将candmipmodex设置为等于-1。
[1217]

否则,使用表8-4中指定的intrapredmodey[xnbx][ynbx]和mipsizeid[xcb][ycb]来推导candmipmodex。
[1218]
7.使用表8-2中指定的mipmpmcand[sizeid]如下导出candmipmodelist[x](其中x=0..2):
[1219]

如果candmipmodea和candmipmodeb都等于-1,则适用以下情况:
[1220]
candmipmodelist[0]=mipmpmcand[sizeid][0]
ꢀꢀ
(8-10)
[1221]
candmipmodelist[1]=mipmpmcand[sizeid][1]
ꢀꢀ
(8-11)
[1222]
candmipmodelist[2]=mipmpmcand[sizeid][2]
ꢀꢀ
(8-12)
[1223]

否则,适用以下情况:
[1224]

如果candmipmodea等于candmipmodeb,或者如果candmipmodea或candmipmodeb等于-1,则适用以下情况:
[1225]
candmipmodelist[0]=
[1226]
(candmipmodea!=-1)?candmipmodea:candmipmodeb
ꢀꢀ
(8-13)
[1227]

如果candmipmodelist[0]等于mipmpmcand[sizeid][0],则适用以下情况:
[1228]
candmipmodelist[1]=mipmpmcand[sizeid][1]
ꢀꢀ
(8-14)
[1229]
candmipmodelist[2]=mipmpmcand[sizeid][2]
ꢀꢀ
(8-15)
[1230]

否则,适用以下情况:
[1231]
candmipmodelist[1]=mipmpmcand[sizeid][0]
ꢀꢀ
(8-16)
[1232]
candmipmodelist[2]=
[1233]
(candmipmodelist[0]!=mipmpmcand[sizeid][1])?mipmpmcand[sizeid][1]:mipmpmcand[sizeid][2]
ꢀꢀ
(8-17)
[1234]

否则,适用以下情况:
[1235]
candmipmodelist[0]=candmipmodea
ꢀꢀ
(8-18)
[1236]
candmipmodelist[1]=candmipmodeb
ꢀꢀ
(8-19)
[1237]

如果candmipmodea和candmipmodeb都不等于mipmpmcand[sizeid][0],则适用以下情况:
[1238]
candmipmodelist[2]=mipmpmcand[sizeid][0]
ꢀꢀ
(8-20)
[1239]

否则,适用以下情况:
[1240]

如果candmipmodea和candmipmodeb都不等于mipmpmcand[sizeid][1],则适用以下情况:
[1241]
candmipmodelist[2]=mipmpmcand[sizeid][1]
ꢀꢀ
(8-21)
[1242]

否则,适用以下情况:
[1243]
candmipmodelist[2]=mipmpmcand[sizeid][2]
ꢀꢀ
(8-22)
[1244]
8.intrapredmodey[xcb][ycb]是通过以下过程推导的:
[1245]

如果intra_mip_mpm_flag[xcb][ycb]等于1,则将intrapredmodey[xcb][ycb]设置为等于candmipmodelist[intra_mip_mpm_idx[xcb][ycb]]。
[1246]

否则,intrapredmodey[xcb][ycb]是通过应用以下有序步骤推导的:
[1247]
3.对于i=0..1且对于每个i,j=(i 1)..2,当candmipmodelist[i]大于candmipmodelist[j]时,两个值交换如下:
[1248]
(candmipmodelist[i],candmipmodelist[j])=swap(candmipmodelist[i],candmipmodelist[j])(8-23)
[1249]
4.intrapredmodey[xcb][ycb]通过以下有序步骤推导出:
[1250]
i.intrapredmodey[xcb][ycb]设置为等于intra_mip_mpm_remainder[xcb][ycb]。
[1251]
ii.对于等于0到2的i(包括0和2),当intrapredmodey[xcb][ycb]大于或等于candmipmodelist[i]时,intrapredmodey[xcb][ycb]的值将增加1。
[1252]
变量intrapredmodey[x][y](其中x=xcb..xcb cbwidth-1且y=ycb..ycb cbheight

1)设置为等于intrapredmodey[xcb][ycb]。
[1253]
图27示出了用于帧内预测和mip模式之间的映射的规范的更新表。
[1254]
表8-2

mip候选模式mipmpmcand[sizeid][x]的规范
[1255][1256]
i.亮度帧内预测模式的推导处理
[1257]
该处理的输入是:
[1258]

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

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

变量cbheight,指定亮度样点中当前编解码块的高度。
[1261]
在此处理中,推导出亮度帧内预测模式intrapredmodey[xcb][ycb]。
[1262]
表8-3指定帧内预测模式intrapredmodey[xcb][ycb]的值以及相关联的名称。
[1263][1264]
注意

:帧内预测模式intra_lt_cclm、intra_l_cclm和intra_t_cclm仅适用于色度分量。
[1265]
intrapredmodey[xcb][ycb]的推导如下:
[1266]

如果bdpcmflag[xcb][ycb]等于1或intra_luma_not_planar_flag[xcb][ycb]等于0,则将intrapredmodey[xcb][ycb]设置为等于intra_planar。
[1267]

否则(intra_luma_not_planar_flag[xcb][ycb]等于1),适用以下有序步骤:
[1268]
9.临近位置(xnba,ynba)和(xnbb,ynbb)分别设置为(xcb-1,ycb cbheight-1)和(xcb cbwidth-1,ycb-1)。
[1269]
10.对于用a或b替换x的情况,变量candintrapredmodex的推导如下:
[1270]

调用6.4.x节[ed.(bb):临近块可用性检查处理tbd]中指定的针对块的可用性推导处理,以设置为等于(xcb,ycb)的位置(xcurr,ycurr)和设置为等于(xnbx,ynbx)的临近位置(xnby,ynby)作为输入,并且输出被分配给availablex。
[1271]

候选帧内预测模式candintrapredmodex的推导如下:
[1272]

如果满足以下一个或多个条件,则将candintrapredmodex设置为等于intra_planar。
[1273]

变量availablex等于假(false)。
[1274]

cupredmode[xnbx][ynbx]不等于mode_intra,并且ciip_flag[xnbx][ynbx]不等于1。
[1275]

pcm_flag[xnbx][ynbx]等于1。
[1276]-x等于b并且ycb-1小于((ycb》》ctblog2sizey)《《ctblog2sizey)。
[1277]

intra_mip_flag[xcb][ycb]等于1
[1278]

否则,candintrapredmodex的推导如下:
[1279]

如果intra_mip_flag[xcb][ycb]等于1,则使用intrapredmodey[xnbx][ynbx]和mipsizeid[xcb][ycb]导出candintrapredmodex,如表8-4所示。
[1280]

否则,将candintrapredmodex设置为等于intrapredmodey[xnbx][ynbx]。
[1281]
11.candmodelist[x](其中x=0..4)的推导如下:
[1282]

如果candintrapredmodeb等于candintrapredmodea,并且candintrapredmodea大于intra_dc,则candmodelist[x](其中x=0..4)的推导如下:
[1283]
candmodelist[0]=candintrapredmodea
ꢀꢀ
(8-24)
[1284]
candmodelist[1]=2 ((candintrapredmodea 61)%64)
ꢀꢀ
(8-25)
[1285]
candmodelist[2]=2 ((candintrapredmodea-1)%64)
ꢀꢀ
(8-26)
[1286]
candmodelist[3]=intra_dc
ꢀꢀ
(8-27)
[1287]
candmodelist[4]=2 ((candintrapredmodea 60)%64)
ꢀꢀ
(8-28)
[1288]

否则,如果candintrapredmodeb不等于candintrapredmodea并且candintrapredmodea或candintrapredmodeb大于intra_dc,则适用以下情况:
[1289]

变量minab和maxab的推导如下:
[1290]
minab=min(candintrapredmodea,candintrapredmodeb)
ꢀꢀ
(8-29)
[1291]
maxab=max(candintrapredmodea,candintrapredmodeb)
ꢀꢀ
(8-30)
[1292]

如果candintrapredmodea和candintrapredmodeb都大于intra_dc,则candmodelist[x](其中x=0..4)的推导如下:
[1293]
candmodelist[0]=candintrapredmodea
ꢀꢀ
(8-31)
[1294]
candmodelist[1]=candintrapredmodeb
ꢀꢀ
(8-32)
[1295]
candmodelist[2]=intra_dc
ꢀꢀ
(8-33)
[1296]

如果maxab-minab在2到62之间(包括2和62),则适用以下情况:
[1297]
candmodelist[3]=2 ((maxab 61)%64)
ꢀꢀ
(8-34)
[1298]
candmodelist[4]=2 ((maxab-1)%64)
ꢀꢀ
(8-35)
[1299]

否则,适用以下情况:
[1300]
candmodelist[3]=2 ((maxab 60)%64)
ꢀꢀ
(8-36)
[1301]
candmodelist[4]=2 ((maxab)%64)
ꢀꢀ
(8-37)
[1302]

否则(candintrapredmodea或candintrapredmodeb大于intra_dc),则candmodelist[x](其中x=0..4)的推导如下:
[1303]
candmodelist[0]=maxab
ꢀꢀ
(8-38)
[1304]
candmodelist[1]=intra_dc
ꢀꢀ
(8-39)
[1305]
candmodelist[2]=2 ((maxab 61)%64)
ꢀꢀ
(8-40)
[1306]
candmodelist[3]=2 ((maxab-1)%64)
ꢀꢀ
(8-41)
[1307]
candmodelist[4]=2 ((maxab 60)%64)
ꢀꢀ
(8-42)
[1308]

否则,适用以下情况:
[1309]
candmodelist[0]=intra_dc
ꢀꢀ
(8-43)
[1310]
candmodelist[1]=intra_angular50
ꢀꢀ
(8-44)
[1311]
candmodelist[2]=intra_angular18
ꢀꢀ
(8-45)
[1312]
candmodelist[3]=intra_angular46
ꢀꢀ
(8-46)
[1313]
candmodelist[4]=intra_angular54
ꢀꢀ
(8-47)
[1314]
12.intrapredmodey[xcb][ycb]是通过以下过程推导的:
[1315]

如果intra_luma_mpm_flag[xcb][ycb]等于1,则将intrapredmodey[xcb][ycb]设置为等于candmodelist[intra_luma_mpm_idx[xcb][ycb]]。
[1316]

否则,intrapredmodey[xcb][ycb]是通过应用以下有序步骤推导的:
[1317]
5.对于i=0..3且对于每个i,j=(i 1)..4,当candmodelist[i]大于candmodelist[j]时,两个值交换如下:
[1318]
(candmodelist[i],candmodelist[j])=swap(candmodelist[i],candmodelist[j])
ꢀꢀ
(8-48)
[1319]
6.intrapredmodey[xcb][ycb]通过以下有序步骤推导出:
[1320]
i.intrapredmodey[xcb][ycb]设置为等于intra_luma_mpm_remainder[xcb][ycb]。
[1321]
ii.intrapredmodey[xcb][ycb]的值增加一。
[1322]
iii.对于i等于0到4(含0和4),当intrapredmodey[xcb][ycb]大于或等于candmodelist[i]时,intrapredmodey[xcb][ycb]的值将增加1。
[1323]
变量intrapredmodey[x][y](其中x=xcb..xcb cbwidth-1和y=ycb..ycb cbheight-1)被设置为等于intrapredmodey[xcb][ycb]。
[1324]
图28示出用于指定mip和帧内预测模式之间的映射的规范的更新表。
[1325]
8.4.4色度帧内预测模式的推导处理
[1326]
此处理的输入是:
[1327]

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

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

变量cbheight,指定亮度样点中当前编解码块的高度。
[1330]
在此处理中,推导出色度帧内预测模式intrapredmodec[xcb][ycb]。
[1331]
相应的亮度帧内预测模式lumaintrapredmode推导如下:
[1332]

如果intra_mip_flag[xcb cbwidth/2][ycb cbheight/2]等于1,则将lumaintrapredmode设置为等于intra_planar,intra_planar是使用intrapredmodey[xcb cbwidth/2][ycb cbheight/2]和sizeid推导出(如表8-4所指定的),并将candintrapredmodex的值分配给lumaintrapredmode。
[1333]

否则,将lumaintrapredmode设置为等于intrapredmodey[xcb cbwidth/2][ycb cbheight/2]。
[1334]
色度帧内预测模式intrapredmodec[xcb][ycb]是使用intra_chroma_pred_mode[xcb][ycb]和lumaintrapredmode推导的,如表8-5和表8-6中所指定。
[1335]
5.9在双树色度时用信令通知lfnst_idx的实施例
[1336]
以下修改是基于jvet_p2001_v9的。修改通过使用黑体斜体突出显示文本来显示。
[1337]
7.3.9.5编解码单元语法
[1338]
[1339]
[1340][1341]
7.4.10.5编解码单元语义
[1342]

[1343]
intra_mip_flag[x0][y0]等于1指定亮度样点的帧内预测类型是基于矩阵的帧内预测。intra_mip_flag[x0][y0]等于0指定亮度样点的帧内预测类型不是基于矩阵的帧内预测。
[1344]
当在single_tree或dual_tree_luma情况下不存在intra_mip_flag[x0][y0]时,则推断它等于0。
[1345]
可将上面描述的示例合并到下面描述的方法的上下文,例如方法1100、1200、1300、1400、2300和/或2400,这些方法可以在视频编码器和/或解码器处实现。
[1346]
图11示出了用于视频处理的示例性方法的流程图。方法1100包括:在步骤1110处,确定当前视频块是使用仿射线性加权帧内预测(alwip)模式编解码的。
[1347]
方法1100包括:在步骤1120处,基于所述确定,基于非alwip帧内模式的mpm列表的至少一部分来构造alwip模式的最可能模式(mpm)列表的至少一部分。
[1348]
方法1100包括:在步骤1130处,基于alwip模式的mpm列表执行当前视频块和当前视频块的比特流表示之间的转换。
[1349]
在一些实施例中,alwip模式的mpm列表的尺寸与非alwip帧内模式的mpm列表的尺寸相同。在一个示例中,alwip模式的mpm列表的尺寸是6。
[1350]
在一些实施例中,方法1100还包括:将默认模式插入到alwip模式的mpm列表的步骤。在一个示例中,在基于非alwip帧内模式的mpm列表的alwip模式的mpm列表的部分之前插入默认模式。在另一个示例中,在基于非alwip帧内模式的mpm列表的alwip模式的mpm列表的部分之后插入默认模式。在又一个示例中,以与基于非alwip帧内模式的mpm列表的alwip模式的mpm列表的部分交叉的方式插入默认模式。
[1351]
在一些实施例中,构造alwip模式的mpm列表和非alwip帧内模式的mpm列表是基于
一个或多个临近块。
[1352]
在一些实施例中,构造alwip模式的mpm列表和非alwip帧内模式的mpm列表基于当前视频块的高度或宽度。
[1353]
在一些实施例中,构造alwip模式的mpm列表是基于第一组参数,该第一组参数不同于用于构造非alwip帧内模式的mpm列表的第二组参数。
[1354]
在一些实施例中,方法1100还包括:确定当前视频块的临近块已用alwip模式编解码的步骤,并且在构造非alwip帧内模式的mpm列表时,指定临近块不可用。
[1355]
在一些实施例中,方法1100还包括:确定当前视频块的临近块已用非alwip帧内模式编解码的步骤,并且在构造alwip模式的mpm列表时,指定临近块不可用。
[1356]
在一些实施例中,非alwip帧内模式基于常规帧内模式、多参考行(mrl)帧内预测模式或帧内子分割(isp)工具。
[1357]
图12示出了用于视频处理的示例性方法的流程图。方法1200包括:在步骤1210处,确定当前视频块的亮度分量是使用仿射线性加权帧内预测(alwip)模式编解码的。
[1358]
方法1200包括:在步骤1220处,基于所述确定来推断色度帧内模式。
[1359]
方法1200包括:在步骤1230处,基于色度帧内模式执行当前视频块和当前视频块的比特流表示之间的转换。
[1360]
在一些实施例中,亮度分量覆盖色度分量的预定色度样点。在一个示例中,预定色度样点是色度分量的左上样点或中心样点。
[1361]
在一些实施例中,推断出的色度帧内模式是dm模式。
[1362]
在一些实施例中,推断出的色度帧内模式是alwip模式。
[1363]
在一些实施例中,将alwip模式应用于当前视频块的一个或多个色度分量。
[1364]
在一些实施例中,将alwip模式的不同矩阵或偏移矢量应用于当前视频块的不同颜色分量。在一个示例中,不同的矩阵或偏移矢量是为cb和cr分量联合预定义的。在另一个示例中,cb和cr分量是级联的。在另一个示例中,cb和cr分量是交错的。
[1365]
图13示出了用于视频处理的示例性方法的流程图。方法1300包括:在步骤1310处,确定当前视频块是使用仿射线性加权帧内预测(alwip)模式编解码的。
[1366]
方法1300包括:在步骤1320处,基于所述确定执行当前视频块和当前视频块的比特流表示之间的转换。
[1367]
在一些实施例中,所述确定基于在序列参数集(sps)、图片参数集(pps)、条带标头、片组标头、片标头、编解码树单元(ctu)行或ctu区域中的信令。
[1368]
在一些实施例中,所述确定基于当前视频块的高度(h)或宽度(w)。在一个示例中,w》t1或h》t2。在另一个示例中,w≥t1或h≥t2。在另一个示例中,w《t1或h《t2。在另一个示例中,w≤t1或h≤t2。在另一个示例中,t1=32并且t2=32。
[1369]
在一些实施例中,所述确定基于当前视频块的高度(h)或宽度(w)。在一个示例中,w h≤t。在另一个示例中,w h≥t。在另一个示例中,w
×
h≤t。在又一个示例中,w
×
h≥t。在另一个示例中,t=256。
[1370]
图14示出了用于视频处理的示例性方法的流程图。方法1400包括:在步骤1410处,确定当前视频块是使用不同于仿射线性加权帧内预测(alwip)模式的编解码模式编解码的。
[1371]
方法1400包括:在步骤1420处,基于所述确定执行当前视频块和当前视频块的比特流表示之间的转换。
[1372]
在一些实施例中,编解码模式是组合帧内帧间预测(ciip)模式,并且方法1400还包括:在alwip模式和常规帧内预测模式之间进行选择的步骤。在一个示例中,执行选择是基于当前视频块的比特流表示中的显式信令。在另一示例中,执行选择是基于预定规则。在又一示例中,当当前视频块是使用ciip模式编解码的时,预定规则总是选择alwip模式。在又一示例中,当当前视频块是使用ciip模式编解码的时,预定规则总是选择常规帧内预测模式。
[1373]
在一些实施例中,编解码模式是交叉分量线性模型(cclm)预测模式。在一个示例中,alwip模式的下采样流程基于cclm预测模式的下采样流程。在另一示例中,alwip模式的下采样流程基于第一组参数,并且其中cclm预测模式的下采样流程基于不同于第一组参数的第二组参数。在又一示例中,alwip模式或cclm预测模式的下采样流程包括下采样位置的选择、下采样滤波器的选择、取整操作或剪切操作中的至少一个。
[1374]
在一些实施例中,方法1400还包括:应用缩减的二次变换(rst)、二次变换、旋转变换或不可分离二次变换(nsst)中的一个或多个的步骤。
[1375]
在一些实施例中,方法1400还包括:应用基于块的差分脉冲编解码调制(dpcm)或残差dpcm的步骤。
[1376]
在一些实施例中,视频处理方法包括:基于当前视频块的规则,在当前视频块和当前视频块的比特流表示的转换期间,确定指示仿射线性加权帧内预测(alwip)模式的使用的标志的上下文;基于alwip模式,预测当前视频块的多个子块;以及基于该预测,执行当前视频块与当前视频块的比特流表示之间的转换。该规则可以使用先验技术隐式地指定,或者可以在编解码比特流中用信令通知。此方法的其他示例和方面在第4部分的项目37和38中进一步描述。
[1377]
在一些实施例中,用于视频处理的方法包括:确定使用仿射线性加权帧内预测(alwip)模式对当前视频块进行编解码,以及在当前视频块与该视频块的比特流表示之间的转换期间,对在与alwip模式相关联的上采样处理中的当前视频块的样点执行至少两个滤波阶段,其中,至少两个滤波阶段的第一滤波阶段中的样点的第一精度不同于至少两个滤波阶段的第二滤波阶段中的样点的第二精度。
[1378]
在示例中,当前视频块的样点是预测样点、上采样处理之前的中间样点或上采样处理之后的中间样点。在另一个示例中,在第一滤波阶段中,在第一维度上水平地对样点进行上采样,并且在第二滤波阶段中,在第二维度上垂直地对样点进行上采样。在又一个示例中,在第一滤波阶段中,在第一维度上垂直地对样点进行上采样,并且其中,在第二滤波阶段中,在第二维度上水平地对样点进行上采样。
[1379]
在示例中,第一滤波阶段的输出被右移或划分以生成处理后的输出,并且其中,处理后的输出是第二滤波阶段的输入。在另一个示例中,第一滤波阶段的输出被左移或相乘以生成处理后的输出,并且其中处理后的输出是第二滤波阶段的输入。该方法的其他示例和方面在第4部分的项目40中进一步描述。
[1380]
如在第4部分的项目41至43中进一步描述的,视频处理方法包括:确定是否使用仿射线性加权帧内预测(alwip)模式对当前视频块进行编解码,并在当前视频块和当前视频
块的比特流表示的转换期间,对在与alwip模式相关联的上采样处理中的当前视频块的样点治执行至少两个滤波阶段,其中,对于同时进行垂直和水平上采样的情况,以固定顺序执行上采样处理。如在第4部分的项目41至43中进一步描述的,另一种方法包括:确定使用仿射线性加权帧内预测(alwip)模式对当前视频块进行编解码,并在当前视频块和当前视频块的比特流表示的转换期间,对在与alwip模式相关联的上采样处理中的当前视频块的样点治执行至少两个滤波阶段,其中转换包括在上采样处理之前执行转置操作。
[1381]
在第4部分的项目41至43中描述了上述方法的其他特征。
[1382]
在一些实施例中,视频处理的方法包括:对于视频的当前视频块和视频的比特流表示之间的转换,由于当前视频块满足条件,确定与在该转换的二次变换的使用的信令与基于亮度矩阵的帧内预测(mip)工具的信令分离,以及基于该确定执行转换。前一部分的项目49中介绍了其他示例和功能。
[1383]
在一些实施例中,视频处理方法包括:基于与视频的当前视频块相关联的编解码条件,确定与二次变换相关联的边信息是否被包括在视频的比特流表示中,并基于该确定在当前视频块和比特流表示之间执行转换。前一部分的项目50和51中描述了其他功能和示例。
[1384]
6.所公开技术的示例实现
[1385]
图15是视频处理装置1500的框图。装置1500可用于实现本文所述的一种或多种方法。装置1500可以被实现在智能手机、平板电脑、计算机、物联网(iot)接收器等中。装置1500可以包括一个或多个处理器1502、一个或多个存储器1504和视频处理硬件1506。处理器1502可以被配置成实现本文档中描述的一个或多个方法(包括但不限于方法1100、1200、1300、1400、2300和/或2400)。存储器1504可用于存储用于实现本文所述的方法和技术的数据和代码。视频处理硬件1506可用于在硬件电路中实现本文中描述的一些技术。
[1386]
在一些实施例中,可以使用如关于图15所述的在硬件平台上实现的装置来实现视频编解码方法。
[1387]
所公开技术的一些实施例包括:作出启用视频处理工具或模式的决策或确定。在一个示例中,当视频处理工具或模式被启用时,编码器将在视频块的处理中使用或实现该工具或模式,但不一定基于该工具或模式的使用来修改产生的比特流。也就是说,当基于决策或确定启用视频处理工具或模式时,从视频块到视频的比特流表示的转换将使用该视频处理工具或模式。在另一示例中,当视频处理工具或模式被启用时,解码器将在知晓已经基于视频处理工具或模式修改了比特流的情况下处理比特流。也就是说,将使用基于决策或确定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。
[1388]
所公开技术的一些实施例包括:作出禁用视频处理工具或模式的决策或确定。在一个示例中,当视频处理工具或模式被禁用时,编码器将不在将视频块转换到视频的比特流表示的转换中使用该工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将在知晓未使用基于所述决策或确定而启用的视频处理工具或模式修改比特流的情况下来处理比特流。
[1389]
图21是示出可利用本发明的技术的示例性视频编解码系统100的框图。如图21所示,视频编解码系统100可以包括源设备110和目的地设备120。源设备110生成可称为视频编码设备的编码视频数据。目的地设备120可以对源设备110生成的编码视频数据进行解
码,源设备110可以被称为视频解码设备。源设备110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。
[1390]
视频源112可以包括诸如视频捕获设备、从视频内容提供商接收视频数据的接口和/或用于生成视频数据的计算机图形系统等源,或者这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编码图片和相关数据。编码图片是图片的编解码表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。i/o接口116可以包括调制器/解调器(调制解调器)和/或发射机。编码后的视频数据可以通过网络130a经由i/o接口116直接发送到目的地设备120。编码后的视频数据还可以存储到存储介质/服务器130b上以供目的地设备120访问。
[1391]
目的地设备120可以包括i/o接口126、视频解码器124和显示设备122。
[1392]
i/o接口126可以包括接收器和/或调制解调器。i/o接口126可从源设备110或存储介质/服务器130b获取经编码的视频数据。视频解码器124可对经编码的视频数据进行解码。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目的地设备120集成,或者可以是被配置成在与外部显示设备接口的目的地设备120的外部。
[1393]
视频编码器114和视频解码器124可以根据视频压缩标准操作,诸如高效视频编码(hevc)标准、多功能视频编码(vvm)标准和其他当前和/或进一步的标准。
[1394]
图22是示出视频编码器200的示例的框图,视频编码器200可以是图21所示的系统100中的视频编码器114。
[1395]
视频编码器200可以被配置成执行本公开的任何或所有技术。在图22的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[1396]
视频编码器200的功能组件可以包括分割单元201、可包括模式选择单元203的预测单元202、运动估计单元204、运动补偿单元205和帧内预测单元206、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲器213和熵编解码单元214。
[1397]
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在示例中,预测单元202可以包括帧内块复制(ibc)单元。ibc单元可以在ibc模式下执行预测,其中至少一个参考图片是当前视频块所在的图片。
[1398]
此外,一些组件(诸如运动估计单元204和运动补偿单元205)可以高度集成,但是为了解释的目的,在图22的示例中是分开表示的。
[1399]
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
[1400]
模式选择单元203可以例如基于错误结果选择编解码模式(帧内或帧间)中的一个,并将得到的帧内或帧间编解码块提供给残差生成单元207,以生成残差块数据,并且提供给重构单元212以重构编解码块以用作参考图片。在一些示例中,模式选择单元203可以选择其中预测基于帧间预测信号和帧内预测信号的组合帧内帧间(ciip)模式。在帧间预测的情况下,模式选择单元203还可以为块的运动矢量(例如,子像素或整数像素精度)选择分辨率。
[1401]
为了对当前视频块执行帧间预测,运动估计单元204可以通过将缓冲器213中的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的图片(不同于与当前视频块相关联的图片)的运动信息和解码样点来确定当前视频块的预测视频块。
[1402]
例如,取决于当前视频块是在i条带、p条带还是b条带中,运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作。
[1403]
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。然后,运动估计单元204可以生成指示包含参考视频块和指示当前视频块和参考视频块之间的空间位移的运动矢量的列表0或列表1中的参考图片的参考索引。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
[1404]
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0的参考图片中搜索当前视频块的参考视频块,并且也可以在列表1的参考图片中搜索当前视频的另一参考视频块。然后,运动估计单元204可以生成指示包含参考视频块和指示参考视频块和当前视频块之间的空间位移的运动矢量的列表0或列表1中的参考图片的参考索引。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
[1405]
在一些示例中,运动估计单元204可以输出用于解码器的解码处理的全套运动信息。
[1406]
在一些示例中,运动估计单元204可以不输出当前视频的全套运动信息。相反,运动估计单元204可以参考另一视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与临近视频块的运动信息足够相似。
[1407]
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示值,该值向视频解码器300指示当前视频块与另一视频块具有相同的运动信息。
[1408]
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一个视频块和运动矢量差(mvd)。运动矢量差指示当前视频块的运动矢量与指示视频块的运动矢量之间的差。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
[1409]
如上所述,视频编码器200可以预测地信令通知运动矢量。可由视频编码器200实现的预测信令技术的两个示例包括高级运动矢量预测(amvp)和merge模式信令。
[1410]
帧内预测单元206可以对当前视频块进行帧内预测。当帧内预测单元206对当前视频块进行帧内预测时,帧内预测单元206可以基于相同图片中的其他视频块的解码样点生成当前视频块的预测数据。当前视频块的预测数据可以包括预测的视频块和各种语法元素。
[1411]
残差生成单元207可以通过从当前视频块减去(例如,由减号指示)当前视频块的预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中的样点的不同样点分量的残差视频块。
[1412]
在其他示例中,例如在跳过模式下,当前视频块当前视频块可以没有残差数据,并且残差生成单元207可以不执行减法操作。
[1413]
变换处理单元208可以通过对与当前视频块相关联的残差视频块应用一个或多个变换来为当前视频块生成一个或多个变换系数视频块。
[1414]
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(qp)值来量化与当前视频块相关联的变换系数视频块。
[1415]
逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元212可以将重构的残差视频块添加到由预测单元202生成的一个或多个预测视频块的对应样点中,以产生与当前块相关联的重构视频块以存储在缓冲器213中。
[1416]
在重构单元212重构视频块之后,可以执行环路滤波操作以减少视频块中的视频块伪影。
[1417]
熵编解码单元214可以从视频编码器200的其它功能组件接收数据。当熵编解码单元214接收数据时,熵编解码单元214可以执行一个或多个熵编码操作以生成熵编码数据并输出包括熵编码数据的比特流。
[1418]
图19是示出可以是图21所示的系统100中的视频解码器114的视频解码器300的示例的框图。
[1419]
视频解码器300可以被配置成执行本公开的任何或所有技术。在图19的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[1420]
在图19的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、以及重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200描述的编码处理(图22)相反的解码处理。
[1421]
熵解码单元301可以检索编码的比特流。编码的比特流可以包括熵编码的视频数据(例如,视频数据的编解码块)。熵解码单元301可以解码熵编码的视频数据,并且运动补偿单元302可以从熵解码的视频数据中确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。例如,运动补偿单元302可以通过执行amvp和merge模式来确定这些信息。
[1422]
运动补偿单元302可以通过基于插值滤波器进行插值来产生运动补偿块。语法元素中可以包括以子像素精度使用的插值滤波器的标识符。
[1423]
运动补偿单元302可以使用视频编码器20在视频块编码期间使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元302可以根据接收到的语法信息来确定视频编码器200使用的插值滤波器,并且使用插值滤波器来产生预测块。
[1424]
运动补偿单元302可以使用一些语法信息来确定用于对编码的视频序列的帧和/或条带进行编码的块的尺寸、描述如何对编码的视频序列的图片的每个宏块进行分割的分割信息、指示如何对每个分割进行编码的模式、每个帧间编解码块的一个或多个参考帧(和参考帧列表)、以及用于解码编码的视频序列的其他信息。
[1425]
帧内预测单元303可以使用例如在比特流中接收到的帧内预测模式来从空域临近块形成预测块。逆量化单元303对在比特流中提供并由熵解码单元301解码的量化视频块系数进行逆量化(即去量化)。逆变换单元303应用逆变换。
[1426]
重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的相应预测块相加以形成解码块。如果需要,还可以应用去方块滤波器来滤波解码块以去除块性伪影。解码的视频块随后被存储在缓冲器307中,其提供用于后续运动补偿/帧内预测的参考块,并且还产生解码的视频以在显示设备上呈现。
[1427]
图20是示出其中可实现本文中所公开的各种技术的示例视频处理系统2000的框图。各种实现可以包括系统2000的一些或所有组件。系统2000可以包括用于接收视频内容的输入2002。视频内容可以原始或未压缩格式(例如,8或10比特多分量像素值)接收,或者可以压缩或编码格式接收。输入2002可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(pon)等有线接口和诸如wi-fi或蜂窝接口的无线接口。
[1428]
系统2000可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件2004。编解码组件2004可以将视频的平均比特率从输入组件2002减少到编解码组件2004的输出,以产生视频的编解码表示。因此,编码技术有时称为视频压缩或视频转码技术。编解码组件2004的输出可以存储或经由连接的通信进行传输,如组件2006所示。在输入端2002接收的视频的存储或传送的比特流(或编码)表示可以由组件2008使用,用于生成像素值或可显示视频,该像素值或可显示视频被发送到显示界面2010。从比特流表示生成用户可见视频的处理有时称为视频解压缩。此外,虽然某些视频处理操作被称为“编码”操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由解码器执行相应的解码工具或反转编码结果的操作。
[1429]
外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清晰度多媒体接口(hdmi)或显示端口等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文中描述的技术可以实施在各种电子设备中,例如能够执行数字数据处理和/或视频显示的移动电话、膝上型计算机、智能手机或其他设备。
[1430]
在一些实施例中,通过对视频的先前编解码的样点执行边界下采样操作(或平均操作),随后进行矩阵矢量乘法运算,随后有选择地(或可选地)进行上采样操作(或线性插值运算),来将alwip模式或mip模式用于计算当前视频块的预测块。在一些实施例中,通过对视频的先前编解码的样点执行边界下采样操作(或平均操作),随后进行矩阵矢量乘法运算来将alwip模式或mip模式用于计算当前视频块的预测块。在一些实施例中,alwip模式或mip模式还可以在执行矩阵矢量乘法运算之后执行上采样操作(或线性插值运算)。
[1431]
图23示出了根据所公开技术的用于基于矩阵的帧内预测的又一示例方法2300的示例流程图。操作2302包括对于包括多个视频块的视频的当前视频块和视频的比特流表示之间的转换,基于规则为基于矩阵的帧内预测(mip)工具生成最可能模式(mpm)列表,其中,mip工具包括在转换期间,通过对视频的先前编解码的样点执行边界下采样操作,随后进行矩阵矢量乘法运算,随后有选择地进行上采样操作,来确定当前视频块的预测块,以及其中,规则指定多个mip模式与多个视频块的维度之间的映射。操作2304包括基于生成执行转换。
[1432]
在方法2300的一些实施例中,规则指定对于不同维度的块,mip模式的数量相同。在方法2300的一些实施例中,mip模式的数量等于11。在方法2300的一些实施例中,响应于当前视频块的维度的标识符等于零,规则指定mpm列表包括{10、5、1}。在方法2300的一些实施例中,响应于当前视频块的维度的标识符等于一,规则指定mpm列表包括{9、7、1}。在方法2300的一些实施例中,响应于当前视频块的维度的标识符等于二,规则指定mpm列表包括{6、1、8}。在方法2300的一些实施例中,规则指定用于当前视频块的mpm列表与用于临近视频块的另一mpm列表相同。
[1433]
图24示出了根据所公开技术的用于基于矩阵的帧内预测的又一示例方法2400的示例流程图。操作2402包括基于规则,使用的二次变换工具的边信息,执行视频的色度视频块和视频的比特流表示之间的转换,二次变换工具的边信息被应用于色度视频块,其中,二次变换工具在基于规则被应用时,包括在编码期间将前向二次变换应用于在量化之前应用于色度视频块的残差的前向初级变换的输出,或者在解码期间在解码期间,在应用逆初级变换之前,将逆二次变换应用于色度视频块的去量化的输出;以及其中,在比特流表示中对边信息进行编解码的方式不取决于相应的亮度视频块的模式。
[1434]
在方法2400的一些实施例中,编解码模式包括基于矩阵的帧内预测模式(mip),其中,通过对视频的先前编解码的样点执行边界下采样操作,随后进行矩阵矢量乘法运算,随后有选择地进行上采样操作,来确定相应的亮度视频块的预测块。在方法2400的一些实施例中,二次变换工具包括低频不可分变换(lfnst)工具。在方法2400的一些实施例中,规则指定是否将二次变换工具应用于色度视频块不取决于相应的亮度视频块的编解码模式。在方法2400的一些实施例中,当相应的亮度视频块以编解码模式被编解码时,规则指定将二次变换工具应用于色度视频块。在方法2400的一些实施例中,色度视频块在双树结构或局部双树结构内。
[1435]
在方法2400的一些实施例中,其中,在色度视频块在双树结构内的情况下,规则指定是否将lfnst工具应用于色度视频块不取决于相应的亮度视频块是否使用基于矩阵的帧内预测(mip)编解码模式被编解码。在方法2400的一些实施例中,规则指定是否将lfnst工具应用于色度视频块不取决于色度视频块是否具有不小于m
×
n的尺寸,其中,m和n是整数。在方法2400的一些实施例中,其中,m=16且n=16。在方法2400的一些实施例中,其中,色度视频块在双树结构内,以及其中,规则指定是否将lfnst工具应用于色度视频块不取决于是否色度视频块以编解码模式被编解码。在方法2400的一些实施例中,针对色度视频块禁用编解码模式。
[1436]
在方法2400的一些实施例中,其中,色度视频块在双树结构内,以及其中,在比特流表示中的lfnst工具的索引的信令不取决于语法元素的信令,语法元素的信令指示相应的亮度视频块是否以编解码模式被编解码。在方法2400的一些实施例中,其中,相应的亮度视频块在单树结构或双树结构内,以及其中,规则指定是否将lfnst工具应用于色度视频块取决于相应的亮度视频块是否以编解码模式被编解码。在方法2400的一些实施例中,比特流表示中的lfnst工具的索引的信令取决于以编解码模式编解码的相应亮度视频块的维度。
[1437]
在方法2400的一些实施例中,响应于以下条件,在比特流表示中用信令通知lfnst工具的索引:色度视频块不在双树结构中,用编解码模式对相应的亮度视频块进行编解码,
以及相应的亮度视频块的最小宽度或最小高度大于或等于16个像素。在方法2400的一些实施例中,比特流表示是否包括边信息是基于与色度视频块相关联的树类型。在方法2400的一些实施例中,比特流表示是否包括边信息是基于在双树结构内的色度视频块。在方法2400的一些实施例中,双树结构包括局部双树结构。在方法2400的一些实施例中,双树结构不包括局部双树结构。
[1438]
在方法2400的一些实施例中,其中,条件a为真被定义为编解码模式不应用于相应的亮度视频块,且lfnst工具考虑的色度视频块的宽度和高度大于或等于整数n,其中,条件b为真被定义为当前视频块为色度视频块,且色度视频块在双树结构或局部双树结构内;并且其中,条件a是否用于确定是否将lfnst工具应用于色度视频块取决于条件b。在方法2400的一些实施例中,当条件b为真时,那么不使用条件a来确定是否将lfnst工具应用于色度视频块。在方法2400的一些实施例中,当条件b不为真时,那么响应于条件a不为真,lfnst工具不被应用于色度视频块。在方法2400的一些实施例中,其中,条件a为真被定义为编解码模式不应用于相应的亮度视频块,且lfnst工具考虑的色度视频块的宽度和高度大于或等于整数n,其中,条件b为真被定义为当前视频块为色度视频块,且色度视频块在双树结构或局部双树结构内;并且其中,条件a是否用于确定是否在比特流表示中用信号通知有关lfnst工具的全部或部分信息取决于条件b。
[1439]
在方法2400的一些实施例中,当条件b为真时,那么不使用条件a来确定是否在比特流表示中用信号通知有关lfnst工具的全部或部分信息。在方法2400的一些实施例中,当条件b不为真时,那么响应于条件a不为真,在比特流表示中用信号通知有关lfnst工具的全部或部分信息。在方法2400的一些实施例中,其中,条件a为真被定义为编解码模式不应用于相应的亮度视频块,且lfnst工具考虑的色度视频块的宽度和高度大于或等于整数n,其中,条件b为真被定义为当前视频块为色度视频块,且色度视频块在双树结构或局部双树结构内;并且其中,条件c为真被定义为当前视频块为亮度视频块,且相应的亮度视频块在双树结构或局部双树结构内;其中,条件a是否用于确定是否将lfnst工具应用于色度视频块取决于条件c。
[1440]
在方法2400的一些实施例中,当条件c不为真时,那么不使用条件a来确定是否将lfnst工具应用于色度视频块。在方法2400的一些实施例中,当条件b不成立时,响应于条件a不为真,不将lfnst工具应用于色度视频块。在方法2400的一些实施例中,其中,条件a为真被定义为编解码模式不应用于相应的亮度视频块,且lfnst工具考虑的色度视频块的宽度和高度大于或等于整数n,其中,条件b为真被定义为当前视频块为色度视频块,且色度视频块在双树结构或局部双树结构内;并且其中,条件c为真被定义为当前视频块为亮度视频块,且相应的亮度视频块在双树结构或局部双树结构内;其中,条件a是否用于确定是否在比特流表示中用信号通知有关lfnst工具的全部或部分信息取决于条件c。
[1441]
在方法2400的一些实施例中,当条件c不为真时,那么不使用条件a来确定是否在比特流表示中用信号通知有关lfnst工具的全部或部分信息。在方法2400的一些实施例中,当条件b不为真时,响应于条件a不为真,不在比特流表示中用信号通知有关lfnst工具的全部或部分信息。在方法2400的一些实施例中,其中,条件a为真被定义为编解码模式不应用于相应的亮度视频块,且lfnst工具考虑的色度视频块的宽度和高度大于或等于整数n,其中,对于单树结构,条件a仅用于确定lfnst工具是否应用于相应的亮度视频块。
[1442]
在方法2400的一些实施例中,响应于条件a不为真并且lfnst工具适用于色度视频块,lfnst工具不应用于相应的亮度视频块,并且lfnst工具被应用于色度视频块。在方法2400的一些实施例中,在比特流表示中用信令通知关于lfnst工具的全部或部分信息,以控制是否和/或如何将lfnst工具应用于色度视频块。在方法2400的一些实施例中,二次变换工具的边信息的编码或解码是基于颜色分量被分类的。在方法2400的一些实施例中,针对每个颜色分量对单独的边信息进行编码或解码。在方法2400的一些实施例中,颜色分量包括亮度分量、蓝差色度分量和红差色度分量。在方法2400的一些实施例中,针对一个颜色分量的单独的边信息不同于另一颜色分量的单独的边信息。
[1443]
在方法2400的一些实施例中,蓝差色度分量和红差色度分量共享编解码模式的相同的另一边信息。在方法2400的一些实施例中,针对亮度分量对第一单独的边信息进行编码或解码,并且针对多个色度分量对第二边信息进行编码或解码。在方法2400的一些实施例中,用于亮度分量的第一单独的边信息不同于多个色度分量的第二单独的边信息。在方法2400的一些实施例中,执行转换还包括对编解码模式的另一边信息进行编码或解码,编解码模式是基于颜色分量进行分类的。在方法2400的一些实施例中,针对每个颜色分量对另一边信息的单独的边信息进行编码或解码。在方法2400的一些实施例中,颜色分量包括亮度分量、蓝差色度分量和红差色度分量。在方法2400的一些实施例中,针对一个颜色分量的另一边信息的单独的边信息与另一颜色分量的不同。在方法2400的一些实施例中,蓝差色度分量和红差色度分量共享编解码模式的相同的另一边信息。
[1444]
在方法2400的一些实施例中,针对亮度分量对另一边信息的第一单独的边信息进行编码或解码,并且针对多个色度分量对另一边信息的第二单独的边信息进行编码或解码。在方法2400的一些实施例中,用于亮度分量的第一单独的边信息不同于用于多个色度分量的第二单独的边信息。在方法2300和/或2400的一些实施例中,转换包括解码比特流表示以生成色度视频块或当前视频块。在方法2300和/或2400的一些实施例中,转换包括对视频进行编码以生成比特流表示。
[1445]
综上所述,应当理解的是,为了说明的目的,本文描述了本公开技术的具体实施例,但是可以在不偏离本公开的范围的情况下进行各种修改。因此,除了受所附权利要求限制外,本公开的技术不受限制。
[1446]
本专利文件中描述的主题的实现和功能操作可以在各种系统、数字电子电路、或计算机软件、固件或硬件中实现,包括本说明书中所公开的结构及其结构等效体,或其中一个或多个的组合。本说明说中描述的主题的实现可以实现为一个或多个计算机程序产品,即一个或多个编码在有形的且非易失的计算机可读介质上的计算机程序指令的模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或其中多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机组。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或其中一个或多个的组合。
[1447]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为
模块、组件、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
[1448]
本说明书中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
[1449]
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
[1450]
本说明书和附图仅被视为示例性的,其中示例性是指示例。如本文所用,“或”的使用意欲包括“和/或”,除非上下文另有明确指示。
[1451]
虽然本专利文件包含许多细节,但不应将其解释为对任何发明或权利要求范围的限制,而应解释为对特定发明的特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
[1452]
同样,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文件所述实施例中各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
[1453]
仅描述了一些实现和示例,其他实现、增强和变体可以基于本专利文件中描述和说明的内容做出。
再多了解一些

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

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

相关文献