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

视频编解码中变换跳过模式的处理的制作方法

2022-11-19 11:36:47 来源:中国专利 TAG:

视频编解码中变换跳过模式的处理
1.相关申请的交叉参考
2.根据适用专利法和/或依据巴黎公约的规则,本技术要求于2020年3月7日提交的第pct/cn2020/078334号国际专利申请的优先权和利益。出于法律上的所有目的,上述申请的全部公开内容通过参考并入本技术公开的一部分。
技术领域
3.本专利文档涉及图像编码和解码以及视频编码和解码。


背景技术:

4.数字视频占互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的连接用户装置的数量的增加,预期数字视频使用的带宽需求将继续增长。


技术实现要素:

5.本文档公开了可由视频编码器和解码器使用的技术,视频编码器和解码器使用对编解码表示的解码有用的控制信息来处理视频的编解码表示。
6.在一个示例方面,公开了一种视频处理方法。对视频的当前视频块与视频的比特流之间的转换,根据规则确定对当前视频块的转换的恒等变换模式的使用,规则规定该使用基于视频的一个或多个代表性块的代表性系数。该方法还包括基于该确定来执行该转换。
7.在另一个示例方面,公开了一种视频处理方法。该方法包括对视频的当前视频块与视频的比特流之间的转换,根据规则确定可应用于当前视频块的默认变换,该规则规定恒等变换不用于当前视频块的转换。该方法还包括基于该确定来执行转换。
8.在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则执行视频与视频的比特流之间的转换。该规则规定在视频区域级别包括指示。该指示指示将一些残差系数设置为零的置零操作是否被应用于视频区域中的视频块的变换块。
9.在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则执行视频的当前视频块与视频的比特流之间的转换。在转换期间对当前视频块应用恒等变换模式,并且该规则规定启用置零操作,在置零操作期间非零系数被限制在当前视频块的子区域内。
10.在另一个示例方面,公开了一种视频处理方法。该方法包括:对视频的当前视频块与视频的比特流之间的转换,确定置零操作的当前视频块的置零类型。该方法还包括根据该确定来执行转换。通过对当前视频块应用恒等变换来编解码当前视频块。视频块的置零类型定义了视频块的子区域,在该子区域内非零系数被限制用于置零操作。
11.在另一个示例方面,公开了一种视频处理方法。该方法包括根据规则执行视频的当前视频块与视频的比特流之间的转换。该规则规定,在至少一个非零系数位于由恒等变换模式确定的置零区域之外的情况下,禁止使用恒等变换模式来转换当前视频块。置零区域包括非零系数被限制用于置零操作的区域。
12.在另一个示例方面,公开了一种视频处理方法。该方法包括:对视频的视频块与视频的编解码表示之间的转换,基于规则确定水平恒等变换或垂直恒等变换是否被应用于视频块;以及基于该确定来执行转换。该规则规定该确定与来自视频的一个或多个代表性块的解码系数的代表性系数之间的关系。
13.在另一个示例方面,公开了另一视频处理方法。该方法包括:对视频的视频块与视频的编解码表示之间的转换,基于规则确定水平恒等变换或垂直恒等变换是否被应用于视频块;以及基于该确定来执行转换。该规则规定该确定与视频块的解码亮度系数之间的关系。
14.在另一个示例方面,公开了另一视频处理方法。该方法包括:对视频的视频块与视频的编解码表示之间的转换,基于规则确定水平恒等变换或垂直恒等变换是否被应用于视频块;以及基于该确定来执行转换。该规则规定了该确定与值v之间的关系,该值v与解码系数或代表性块的代表性系数相关联。
15.在另一个示例方面,公开了另一视频处理方法。该方法包括确定一个或多个语法字段存在于视频的编解码表示中,其中视频包含一个或多个视频块;基于该一个或多个语法字段,确定对视频中的视频块是否启用水平恒等变换或垂直恒等变换。
16.在另一个示例方面,公开了另一视频处理方法。该方法包括作出关于是否对视频的视频块与视频的编解码表示之间的转换启用恒等变换的使用的第一确定;作出关于在转换期间是否启用置零操作的第二确定;以及基于第一确定和第二确定来执行转换。
17.在另一个示例方面,公开了另一视频处理方法。该方法包括执行视频的视频块与视频的编解码表示之间的转换;其中视频块在编解码表示中被表示为编解码块,其中编解码块的非零系数被限制在一个或多个子区域内;并且其中应用恒等变换来生成编解码块。
18.在又一示例方面,公开了一种视频编码器装置。视频编码器包括被配置为实现上述方法的处理器。
19.在又一示例方面,公开了一种视频解码器装置。视频解码器包括被配置为实现上述方法的处理器。
20.在又一示例方面,公开了一种其上存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现了这里描述的方法之一。
21.这些特征和其它特征在本文档中进行了描述。
附图说明
22.图1示出了示例视频编码器框图。
23.图2示出了67种帧内预测模式的示例。
24.图3a示出了广角帧内预测的参考样点的示例。
25.图3b示出了广角帧内预测的参考样点的另一示例。
26.图4示出了方向超过45度时的不连续性问题。
27.图5a示出了由应用于对角帧内模式和相邻角度帧内模式的pdpc使用的样点的示例定义。
28.图5b示出了由应用于对角帧内模式和相邻角度帧内模式的pdpc使用的样点的另一示例定义。
29.图5c示出了由应用于对角帧内模式和相邻角度帧内模式的pdpc使用的样点的另一示例定义。
30.图5d示出了由应用于对角帧内模式和相邻角度帧内模式的pdpc使用的样点的又一示例定义。
31.图6示出了4
×
8块和8
×
4块的划分示例。
32.图7示出了除4
×
8、8
×
4和4
×
4之外的所有块的划分示例。
33.图8示出了jem中的二次变换的示例。
34.图9示出了简化二次变换lfnst的示例。
35.图10a示出了正简化变换的示例。
36.图10b示出了逆简化变换的示例。
37.图11示出了具有16
×
48矩阵的正lfnst8
×
8过程的示例。
38.图12示出了非零元素的扫描位置17至64的示例。
39.图13示出了子块变换模式sbt-v和sbt-h的示例。
40.图14a示出了基于扫描区域的系数编解码(scan region based coefficient coding,srcc)的示例。
41.图14b示出了基于扫描区域的系数编解码(srcc)的另一示例。
42.图15a示出了根据非零系数位置的ist的示例限制。
43.图15b示出了根据非零系数位置的ist的另一示例限制。
44.图16a示出了示例置零类型的ts编解码块。
45.图16b示出了另一示例置零类型的ts编解码块。
46.图16c示出了另一示例置零类型的ts编解码块。
47.图16d示出了另一置零类型的ts编解码块。
48.图17是示例视频处理系统的框图。
49.图18是示出根据本公开的一些实施例的视频编解码系统的框图。
50.图19是示出了根据本公开的一些实施例的编码器的框图。
51.图20是示出了根据本公开的一些实施例的解码器的框图。
52.图21是视频处理装置的框图。
53.图22是视频处理的示例方法的流程图。
54.图23是根据本技术的视频处理方法的流程图表示。
55.图24是根据本技术的另一视频处理方法的流程图表示。
56.图25是根据本技术的另一视频处理方法的流程图表示。
57.图26是根据本技术的另一视频处理方法的流程图表示。
58.图27是根据本技术的另一视频处理方法的流程图表示。
59.图28是根据本技术的另一视频处理方法的流程图表示。
60.图29是根据本技术的另一视频处理方法的流程图表示。
具体实施方式
61.在本文件中使用章节标题是为了便于理解,并且不限制每个章节中公开的技术和实施例仅应用于该章节。此外,在一些说明书中使用h.266术语只是为了便于理解,而不是
为了限制所公开技术的范围。这样,本文所描述的技术也应用于其它视频编解码器协议和设计。
62.1.概述
63.本文档涉及视频编解码技术。具体地,涉及视频编解码中的变换跳过模式和变换类型(例如,包括恒等变换(identity transform))。它可以应用于现有的视频编解码标准(例如,hevc),或者即将完成的标准(通用视频编解码)。它也可以应用于未来的视频编解码标准或视频编解码器。
64.2.初步讨论
65.视频编解码标准主要是通过熟知的itu-t和iso/iec标准的发展而演变的。itu-t制定了h.261和h.263,iso/iec制定了mpeg-1和mpeg-4可视化,并且这两个组织联合制定了h.262/mpeg-2视频和h.264/mpeg-4高级视频编解码(advanced video coding,avc)和h.265/hevc标准。自h.262以来,视频编解码标准基于混合视频编解码结构,其中利用了时域预测加变换编解码。为了探索hevc以外的未来视频编解码技术,vceg和mpeg于2015年联合成立了联合视频探索组(joint video exploration team,jvet)。此后,jvet采用了许多新方法,并将其放入名为联合探索模型(joint exploration model,jem)的参考软件中。2018年4月,vceg(q6/16)和iso/iec jtc1 sc29/wg11(mpeg)之间的联合视频专家组(jvet)成立,以致力于vvc(versatile video coding,多功能视频编解码)标准,目标是与hevc相比比特率降低50%。
66.2.1.典型视频编解码器的编解码流程
67.图1示出了vvc的编码器框图的示例,其包含三个环内滤波块:去方块滤波器(df)、样点自适应偏移(sao)和alf。与使用预定义滤波器的df不同,sao和alf利用当前图片的原始样点,用信令通知偏移和滤波器系数的编解码边信息,分别通过添加偏移并且通过应用有限脉冲响应(fir)滤波器来减少原始样点和重构样点之间的均方误差。alf位于每个图片的最后一个处理阶段,并且可以被视为试图捕捉和修复先前阶段创建的伪像(artifact)的工具。
68.2.2.具有67种帧内预测模式的帧内模式编解码
69.为了捕获自然视频中呈现的任意边缘方向,方向帧内模式的数量从hevc中使用的33个扩展到65个。附加的方向模式如图2中的虚线箭头描绘,并且平面模式和dc模式保持不变。这些密集的方向帧内预测模式适用于所有块尺寸以及亮度和色度帧内预测。
70.传统的角度帧内预测方向被定义为在顺时针方向上从45度到-135度,如图2所示。在vtm2中,对于非方形块,几个传统的角度帧内预测模式被自适应地替换为宽角度帧内预测模式。替换的模式使用原始方法来信令通知,并在解析之后重新映射到宽角度模式的索引。帧内预测模式的总数不变,例如67,并且帧内模式编解码不变。
71.在hevc中,每个帧内编解码块具有正方形形状,其每边的长度为2的幂。因此,不需要除法运算来使用dc模式生成帧内预测值。在vvv2中,块可以具有矩形形状,这在一般情况下需要对每个块使用除法运算。为了避免dc预测的除法运算,仅使用较长的边来计算非方形块的平均值。
72.2.3.非方形块的广角帧内预测
73.传统的角度帧内预测方向被定义为顺时针方向从45度到-135度。在vtm2中,对于
非方形块,若干传统的角度帧内预测模式被适应性地替换为广角帧内预测模式。使用原始方法信令通知替换的模式,并在解析后重新映射到广角模式的索引。特定块的帧内预测模式的总数不变,例如67,并且帧内模式编解码不变。
74.为了支持这些预测方向,长度为2w 1的顶部参考和长度为2h 1的左侧参考被定义为如图3a至图3b所示。
75.广角方向模式下替换模式的模式数量取决于块的纵横比。表1中示出了替换的帧内预测模式。
76.表1:由广角模式替换的帧内预测模式
[0077][0078][0079]
如图4中所示,在广角帧内预测的情况下,两个垂直相邻的预测样点可以使用两个不相邻的参考样点。因此,低通参考样点滤波和侧平滑被应用于广角预测,以减少增加的间隙δp
α
的负面影响。
[0080]
2.4.位置相关的帧内预测组合
[0081]
在vtm2中,通过位置相关的帧内预测组合(position dependent intra prediction combination,pdpc)方法进一步修改平面模式的帧内预测的结果。pdpc是一种帧内预测方法,其调用未滤波的边界参考样点和具有滤波的边界参考样点的hevc风格帧内预测的组合。pdpc应用于以下帧内模式而无信令通知:平面、dc、水平、垂直、左下角角度模式及其八个相邻角度模式,以及右上角角度模式及其八个相邻角度模式。
[0082]
使用帧内预测模式(dc、平面、角度)以及参考样点的线性组合,根据如下等式来预测预测样点pred(x,y):
[0083]
pred(x,y)=(wl
×
r-1,y
wt
×rx,-1

wtl
×
r-1,-1
(64

wl

wt wtl)
×
pred(x,y) 32)》》6
[0084]
其中r
x,-1
、r-1,y
分别表示位于当前样点(x,y)顶部和左侧的参考样点,r-1,-1
表示位于当前块左上角的参考样点。
[0085]
如果pdpc应用于dc帧内模式、平面帧内模式、水平帧内模式和垂直帧内模式,则不需要附加的边界滤波,而在hevc dc模式边界滤波或水平/垂直模式边缘滤波的情况下则需要。
[0086]
图5a至图5d示出了应用于各种预测模式的pdpc的参考样点(r
x,-1
,r-1,y
和r-1,-1
)的定义。预测样点pred(x’,y’)位于预测块内的(x’,y’)处。参考样点r
x,-1
的坐标x由下式给出:x=x’ y’ 1,参考样点r-1,y
的坐标y类似地由下式给出:y=x’ y’ 1。图5a示出了对角右
上模式。图5b示出了对角左下模式。图5c示出了相邻对角右上模式。图5d示出了一个相邻对角左下模式。
[0087]
pdpc权重取决于预测模式,如表2中所示。
[0088]
表2:根据预测模式的pdpc权重的示例
[0089][0090][0091]
2.5.帧内子块分割(isp)
[0092]
在一些实施例中,提出了isp,isp根据块尺寸维度将亮度帧内预测块垂直或水平划分成2子分割或4个子分割,如表3中所示。图6和图7示出了两种可能性的示例。所有子分割满足具有至少16个样点的条件。
[0093]
表3:子分割的数量取决于块尺寸。
[0094]
块尺寸子分割的数量4
×
4未分割4
×
8和8
×
42所有其他情况4
[0095]
对于这些子分割中的每个,通过对由编码器传送的系数进行熵解码,然后对其进行逆量化和逆变换,来生成残差信号。然后,子分割被帧内预测,并且最终通过将残差信号添加到预测信号来获得对应的重构样点。因此,每个子分割的重构值将可用于生成下一个的预测,这将重复该过程等等。所有子分割共享相同的帧内模式。
[0096]
基于帧内模式和所利用的划分,使用两种不同类别的处理顺序,它们被称为正常顺序和相反顺序。按照正常顺序,要处理的第一个子分割是包含cu的左上样点的分割,然后继续向下(水平划分)或向右(垂直划分)。结果,用于生成子分割预测信号的参考样点仅位于这些线的左侧和上侧。另一方面,相反的处理顺序从包含cu的左下样点的子分割开始并继续向上,或者从包含cu的右上样点的子分割开始并继续向左。
[0097]
2.6.多变换集(multiple transform set,mts)
[0098]
除了在hevc中已经采用的dct-ii之外,多变换选择(mts)方案被用于帧间编解码块和帧内编解码块两者的残差编解码。它使用从dct8/dst7中选择的多个变换。新引入的变换矩阵是dst-vii和dct-viii。表4示出了所选dst/dct的基函数。
[0099]
表4:变换类型和基函数
[0100][0101]
启用mts有两种方式,一种是显式mts;另一种是隐式mts。
[0102]
2.6.1.隐式mts
[0103]
隐性mts是vvc中的一个新工具。变量implicitmtsenabled的推导如下:
[0104]
是否启用隐式mts取决于变量implicitmtsenabled的值。变量implicit mtsenabled的推导如下:
[0105]

如果sps_mts_enabled_flag等于1,并且下列一个或多个条件为真,则implicitmtsenabled设置为等于1:
[0106]

intrasubpartitionssplittype不等于isp_no_split(即,isp被启用)
[0107]

cu_sbt_flag等于1(即,isp被启用),且max(ntbw,ntbh)小于或等于32
[0108]

sps_explicit_mts_intra_enabled_flag等于0(即,显式mts被禁用),cupredmode[0][xtby][ytby]等于mode_intra,以及lfnst_idx[x0][y0]等于0,且intra_mip_flag[x0][y0]等于0
[0109]

否则,implicitmtsenabled被设置为等于0。
[0110]
规定水平变换核的变量trtypehor和规定垂直变换核的变量trtypever的推导如下:
[0111]

如果以下一个或多个条件为真,则将trtypehor和trtypever设置为等于0(例如,dct2)。
[0112]

cidx大于0(即,对于色度分量)
[0113]

intrasubpartitionssplittype不等于isp_no_split,lfnst_idx不等于0
[0114]

否则,如果implicitmtsenabled等于1,则适用以下情况:
[0115]

如果cu_sbt_flag等于1,则trtypehor和trtypever根据cu_sbt_horizontal_flag和cu_sbt_pos_flag在表40中规定。
[0116]

否则(cu_sbt_flag等于0),trtypehor和trtypever的推导如下:
[0117]
trtypehor=(ntbw》=4&&ntbw《=16)?1:0(1188)
[0118]
trtypever=(ntbh》=4&&ntbh《=16)?1:0(1189)
[0119]

否则,trtypehor和trtypever根据mts_idx在表39中规定。
[0120]
变量nonzerow和nonzeroh的推导如下:
[0121]

如果applylfnstflag等于1,ntbw大于或等于4,且ntbh大于或等于4,则适用以下条件:
[0122]
nonzerow=(ntbw==4||ntbh==4)?4:8
ꢀꢀꢀ
(1190)
[0123]
nonzeroh=(ntbw==4||ntbh==4)?4:8
ꢀꢀꢀ
(1191)
[0124]

否则,以下情况适用:
[0125]
nonzerow=min(ntbw,(trtypehor》0)?16:32)
ꢀꢀꢀ
(1192)
[0126]
nonzeroh=min(ntbh,(trtypever》0)?16:32)
ꢀꢀꢀ
(1193)
[0127]
2.6.2.显式mts
[0128]
为了控制mts方案,使用一个标志来规定比特流中是否存在用于帧内/帧间的显式mts。此外,在sps级别为帧内和帧间分别规定了两个单独的启用标志,以指示是否启用显式mts。当在sps启用mts时,可以信令通知cu级别变换索引,以指示是否应用mts。这里,mts仅适用于亮度。当满足以下条件时,mtscu级别索引(由mts_idx表示)被信令通知。
[0129]-宽度和高度均小于或等于32
[0130]-cbf亮度标志等于一
[0131]-非ts
[0132]-非isp
[0133]-非sbt
[0134]-lfnst被禁用
[0135]-存在不在dc位置(块的左上位置)的非零系数
[0136]-左上方16
×
16区域之外没有非零系数
[0137]
如果mts_idx的第一个二进制位等于零,则dct2在两个方向上都适用。然而,如果mts_idx的第一个二进制位等于一,则另外信令通知另外两个二进制位,以分别指示水平方向和垂直方向的变换类型。变换和信令映射表如表5中所示。对于变换矩阵精度,使用8位主变换内核。因此,hevc中使用的所有变换内核保持不变,包括4点dct-2和dst-7、8点dct-2、16点dct-2以及32点dct-2。此外,包括64点dct-2、4点dct-8、8点、16点、32点dst-7和dct-8在内的其他变换内核使用8位主变换内核。
[0138]
表5:mts的信令通知
[0139][0140]
为了降低大尺寸dst-7和dct-8的复杂度,对于尺寸(宽度或高度,或者宽度和高度
两者)等于32的dst-7块和dct-8块,高频变换系数被置零。仅保留16
×
16低频区域内的系数。
[0141]
如在hevc中,块的残差可以用变换跳过模式来编解码。为了避免语法编解码的冗余,当cu级别mts_cu_flag不等于零时,不信令通知变换跳过标志。变换跳过的块尺寸限制与jem4中的mts的块尺寸限制相同,这指示当块宽度和块高度都等于或小于32时,变换跳过适用于cu。
[0142]
2.6.3.mts中的置零
[0143]
在vtm8中,启用尺寸最高达64
×
64的大块尺寸变换,这主要适用于较高分辨率的视频,例如,1080p和4k序列。对于尺寸(宽度或高度,或者宽度和高度两者)不小于64的变换块,应用了dct2变换的块的高频变换系数被置零,从而仅保留低频系数,所有其他系数被强制为零而不被信令通知。例如,对于一个m
×
n的变换块,m为块宽度,n为块高度,当m不小于64时,只保留变换系数的左32列。类似地,当n不小于64时,只保留前32行变换系数。
[0144]
对于尺寸(宽度或高度,或者宽度和高度二者)不小于32的变换块,应用了dct8或dst7变换的块的高频变换系数被置零,从而仅保留低频系数,所有其他系数被强制为零而不被通知。例如,对于一个m
×
n的变换块,m为块宽度,n为块高度,当m不小于32时,只保留变换系数的左16列。类似地,当n不小于32时,仅保留前16行变换系数。
[0145]
2.7.低频不可分离二次变换(low frequency non-separable secondary transform,lfnst)
[0146]
2.7.1.jem不可分离二次变换(non-separable secondary transform,nsst)
[0147]
在jem中,在正向主变换和量化之间(在编码器处)以及在反量化和逆向主变换之间(在解码器侧)应用二次变换。如图8中所示,根据块尺寸执行4
×
4(或8
×
8)二次变换。例如,对于每个8
×
8块,4
×
4二次变换被应用于小块(例如,min(width,height)《8),并且8
×
8二次变换被应用于较大块(例如,min(width,height)》4)。
[0148]
下面使用输入作为示例描述不可分离变换的应用。为了应用不可分变换,4
×
4输入块x
[0149][0150]
被首先表示为矢量
[0151][0152]
不可分离变换被计算为其中指示变换系数矢量,并且t是16x16变换矩阵。随后使用该块的扫描顺序(水平、垂直或对角)将16x1系数矢量重新组织为4x4块。具有较小索引的系数将与较小扫描索引一起放置在4x4系数块中。总共有35个变换集,并且每个变换集使用3个不可分离变换矩阵(核)。从帧内预测模式到变换集的映射是预定义的。对于每个变换集,所选择的不可分离二次变换候选进一步由显式信令通知的二次变换索引来指定。在变换系数之后,该索引在比特流中每帧内cu一次进行信令通知。
[0153]
2.7.2.缩减的二次变换(reduced secondary transform,lfnst)
[0154]
在一些实施例中,引入了lfnst,并且使用了4个变换集(替代35个变换集)映射。在一些实现中,16
×
64(可以进一步缩减为16
×
48)矩阵和16
×
16矩阵分别用于8
×
8块和4
×
4块。为了便于标注,16
×
64(可以进一步缩减为16
×
48)变换表示为lfnst8
×
8,16
×
16变换表示为lfnst4
×
4。图9示出了lfnst的示例。
[0155]
lfnst计算
[0156]
缩减变换(rt)的主要思想是将n维矢量映射到不同空间中的r维矢量,其中r/n(r《n)是缩减因子。
[0157]
rt矩阵是r
×
n矩阵,如下:
[0158][0159]
其中,变换的r行是n维空间的r个基。rt的逆变换矩阵是其正变换的转置。正rt和逆rt如图10a和图10b所描绘。
[0160]
在本提议中,应用缩减因子为4(1/4尺寸)的lfnst 8
×
8。因此,代替64
×
64,使用16
×
64直接矩阵,其是传统的8
×
8不可分变换矩阵尺寸。换句话说,在解码器侧使用64
×
16逆lfnst矩阵来生成8
×
8左上区域中的核心(一次)变换系数。正lfnst 8
×
8使用16
×
64(或8
×
64,对于8
×
8块)矩阵,使得它仅在给定8
×
8区域内的左上4
×
4区域中产生非零系数。换句话说,如果应用lfnst,则除了左上4
×
4区域之外的8
×
8区域将仅具有零系数。对于lfnst 4
×
4,应用16
×
16(或8
×
16,对于4
×
4块)直接矩阵乘法。
[0161]
当满足以下两个条件时,有条件地应用逆lfnst:
[0162]
a.块尺寸大于或等于给定阈值(w》=4&&h》=4)
[0163]
b.变换跳过模式标志等于零
[0164]
如果变换系数块的宽度(w)和高度(h)都大于4,则lfnst 8x8被应用于变换系数块的左上8
×
8区域。否则,将lfnst 4x4应用于变换系数块的左上min(8,w)
×
min(8,h)区域。
[0165]
如果lfnst索引等于0,则不应用lfnst。否则,应用lfnst,其核与lfnst索引一起选择。lfnst选择方法和lfnst索引的编解码将在后面解释。
[0166]
此外,lfnst被应用于帧内和帧间条带中的帧内cu,以及亮度和色度。如果启用了双树,亮度和色度的lfnst索引被单独信令通知。对于帧间条带(双树被禁用),单个lfnst索引被信令通知并用于亮度和色度。
[0167]
在第13届jvet会议上,帧内子分割(isp)作为一种新的帧内预测模式被采用。当选择isp模式时,lfnst被禁用,并且lfnst索引不被信令通知,因为即使lfnst被应用于每个可行的分割块,性能改善也是有限的。此外,对isp预测的残差禁用lfnst可以降低编码复杂度。
[0168]
lfnst选择
[0169]
lfnst矩阵选自四个变换集,每个变换集由两个变换组成。应用哪个变换集由帧内预测模式确定,如下:
[0170]
1)如果指示了三种cclm模式中的一种,则选择变换集0。
[0171]
2)否则,根据表6执行变换集选择。
[0172]
表6:变换集选择表
[0173]
intrapredmodetr.集索引intrapredmode《010《=intrapredmode《=102《=intrapredmode《=12113《=intrapredmode《=23224《=intrapredmode《=44345《=intrapredmode《=55256《=intrapredmode1
[0174]
访问表的索引,表示为intrapredmode,范围为[-14,83],这是用于宽角度帧内预测的变换模式索引。
[0175]
缩减维度的lfnst矩阵
[0176]
作为进一步简略化,应用16
×
48矩阵代替具有相同变换集配置的16
×
64,每个矩阵从左顶部8
×
8块中排除右底部4
×
4块的三个4
×
4块中获取48个输入数据(图11)。
[0177]
lfnst信令
[0178]
r=16的正lfnst8
×
8使用16
×
64矩阵,因此它仅在给定的8
×
8区域内的左上4
×
4区域中产生非零系数。换句话说,如果应用lfnst,则除左上方的4
×
4区域外,8
×
8区域仅产生零系数。因此,当在除左上4
×
4(如图12中所示)之外的8
×
8块区域中检测到任何非零元素时,lfnst索引不被编解码,因为这意味着没有应用lfnst。在这种情况下,lfnst索引被推断为零。
[0179]
置零范围
[0180]
通常,在对4
×
4子块应用逆lfnst之前,4
×
4子块中的任何系数都可以为非零。然而,在一些情况下受到约束,在将逆lfnst应用于子块之前,4
×
4子块中的一些系数必须为零。
[0181]
设nonzerosize为变量。要求在逆lfnst之前将具有不小于nonzerosize的索引的任何系数重新排列到1-d阵列中时,该任何系数必须为零。
[0182]
当nonzerosize等于16时,左顶部4
×
4子块中的系数没有归零约束。
[0183]
在一些示例中,当当前块尺寸为4
×
4或8
×
8时,nonzerosize被设置为等于8。对于其他块大小,nonzerosize被设置为等于16。
[0184]
2.8.仿射线性加权帧内预测(affine linear weighted intra prediction,alwip,也称为基于矩阵的帧内预测)
[0185]
在一些实施例中使用仿射线性加权帧内预测(alwip,也称为基于矩阵的帧内预测(matrix based intra prediction,mip))。
[0186]
在一些实施例中,进行两个测试。在测试1中,alwip被设计为具有8k字节的内存限制,并且每个样点最多4次乘法。测试2与测试1相似,但在内存要求和模型架构方面进一步简化了设计。
[0187]
·
所有块形状的单组矩阵和偏移向量。
[0188]
·
所有块形状的模式数量减少到19。
[0189]
·
将内存需求减少到5760个10位值,即7.20千字节。
[0190]
·
预测样点的线性插值在每个方向的单个步骤中执行,代替第一测试中的迭代插值。
[0191]
2.9.子块变换
[0192]
对于具有等于1的cu_cbf的帧间预测cu,可以信令通知cu_sbt_flag以指示解码整个残差块还是残差块的子部分。在前一种情况下,进一步解析帧间mts信息以确定cu的变换类型。在后一种情况下,残差块的一部分用推断的自适应变换进行编解码,并且残差块的另一部分置零。sbt不应用于组合帧间-帧内模式。
[0193]
在子块变换中,位置依赖变换被应用于sbt-v和sbt-h中的亮度变换块(色度tb总是使用dct-2)。sbt-h和sbt-v的两个位置与不同的核变换相关联。更具体地,每个sbt位置的水平和垂直变换在图13中规定。例如,sbt-v位置0的水平和垂直变换分别是dct-8和dst-7。当残差tu的一侧大于32时,对应的变换被设置为dct-2。因此,子块变换联合规定tu平铺(tiling)、cbf以及残差块的水平和垂直变换,这可以被认为是块的主要残差在块的一侧的情况的语法快捷方式。
[0194]
2.10.基于扫描区域的系数编解码(srcc)
[0195]
srcc已经被avs-3采纳。对于srcc,如图14a至图14b中所示的右下位置(srx,sry)被信令通知,并且只有具有四个角(0,0)、(srx,0)、(0,sry)、(srx,sry)的矩形内的系数被扫描和信令通知。矩形之外的所有系数都为零。
[0196]
2.11.变换的隐式选择(implicit selection of transform,ist)
[0197]
如pct/cn2019/090261(通过引用包含于此)中所公开的,给出了变换解决方案的隐式选择,其中变换矩阵的选择(用于水平变换和垂直变换的dct2,或者用于两者的dst7)由变换块中非零系数的奇偶性来确定。
[0198]
所提出的方法应用于帧内编解码块的亮度分量,不包括用dt编解码的那些块,并且允许的块尺寸从4
×
4到32
×
32。变换类型隐藏在变换系数中。具体地,一个块中有效系数(例如,非零系数)的数量的奇偶性被用来表示变换类型。奇数表示应用dst-vii,偶数表示应用dct-ii。
[0199]
为了去除ist引入的32点dst-7,提出在使用srcc时,根据剩余扫描区域的范围来限制ist的使用。如图15a至图15b中所示,当剩余扫描区域中右下位置的x坐标或y坐标不小于16时,ist是不允许的。也就是说,对于这种情况,直接应用dct-ii。
[0200]
对于另一种情况,当使用游程长度系数编解码时,需要检查每个非零系数。当一个非零系数位置的x坐标或y坐标不小于16时,不允许ist。
[0201]
相应的语法改变用粗体斜体和下划线文本表示,如下所示:
[0202]
[0203]
[0204]
[0205][0206]
3.由公开的技术解决方案解决的技术问题的示例
[0207]
ist和mts的当前设计具有以下问题:
[0208]
1.vvc中的ts模式是在块级别中被信令通知的。然而,dct2和dst7对于相机捕捉的序列中的残差块工作良好,而对于具有屏幕内容的视频,与dst7相比,转换跳过(ts)模式使用得更频繁。需要研究如何以更有效的方式确定ts模式的使用。
[0209]
2.在vvc中,最大允许ts块尺寸被设置为32
×
32。如何支持大块的ts,还需要进一步研究。
[0210]
4.示例技术和实施例
[0211]
下面列出的项目应被视为解释一般概念的示例。这些项目不应以狭隘的方式解释。此外,这些项目可以以任何方式组合。
[0212]
min(x,y)得出x和y中较小的一个。
[0213]
变换跳过模式/恒等变换的隐式确定
[0214]
提出了根据一个或多个代表性块的解码系数来确定是否将水平和/或垂直恒等变换(identity transform,it)(例如,变换跳过模式)应用于当前第一块。这种方法被称为“it的隐式确定”。当水平变换和垂直变换都是it的时候,变换跳过(ts)模式被用于当前的第一块。
[0215]“块”可以是变换单元(tu)/预测单元(pu)/编解码单元(cu)/变换块(tb)/预测块(pb)/编解码块(cb)。tu/pu/cu可以包括一个或多个颜色分量,诸如对于双树分割的仅亮度分量,并且当前编解码的颜色分量是亮度;并且对于双树分割的两个色度分量,当前编解码的颜色分量是色度;或者对于单树情况的三个颜色分量。
[0216]
1.解码系数可与当前块的相同颜色分量或不同颜色分量中的一个或多个代表性
块相关联。
[0217]
a.在一个示例中,代表性块是第一块,并且与第一块相关联的解码系数用于确定it在第一块上的使用。
[0218]
b.在一个示例中,对将it用于第一块的确定可取决于多个块的解码系数,该多个块包括至少一个不同于第一块的块。
[0219]
i.在一个示例中,多个块可以包括第一块。
[0220]
ii.在一个示例中,多个块可以包括与第一块相邻的一个块或多个块。
[0221]
iii.在一个示例中,多个块可以包括具有与第一块相同的块维度一个块或多个块。
[0222]
iv.在一个示例中,多个块可以包括按照解码顺序在第一块之前的,满足特定条件(诸如,具有与当前块相同的预测模式,例如,全部为帧内编解码或ibc编解码,或具有与当前块相同的维度)的最后n个解码的块。n是大于1的整数。
[0223]
v.在一个示例中,多个块可以包括与第一块的颜色分量不同的一个块或多个块。
[0224]
1)在一个示例中,第一块可以在亮度分量中。多个块可以包括色度分量中的块(例如,cb/b分量中的第二个块,以及cr/r分量中的第三个块)。
[0225]
a)在一个示例中,三个块在相同的编解码单元中。
[0226]
b)此外,可选择地,隐式mts仅应用于亮度块,而不应用于色度块。
[0227]
2)在一个示例中,第一颜色分量中的第一块和包括在多个块中的不在第一分量颜色分量中的多个块可以在图片的对应位置或并置位置。
[0228]
2.用于确定it的使用的解码系数被称为代表性系数。
[0229]
a.在一个示例中,代表性系数仅包括不等于零的系数(表示为有效系数)。
[0230]
b.在一个示例中,代表性系数可以在用于确定it的使用之前被修改。
[0231]
i.例如,代表性系数可以在用于导出变换之前被限幅。
[0232]
ii.例如,代表性系数可以在用于导出变换之前被缩放。
[0233]
iii.例如,代表性系数可以在用于导出变换之前加上偏移量。
[0234]
iv.例如,代表性系数可以在用于导出变换之前滤波。
[0235]
v.例如,在用于导出变换之前,系数或代表性系数可以被映射到其他值(例如,通过查找表或去量化)。
[0236]
c.在一个示例中,代表性系数是代表性块中的所有有效系数(significant coefficients)。
[0237]
d.可选择地,代表性系数是代表性块中有效系数的部分。
[0238]
i.在一个示例中,代表性系数是那些奇数的解码有效系数。
[0239]
1)可选择地,代表性系数是那些偶数的解码有效系数。
[0240]
ii.在一个示例中,代表性系数是大于或不小于阈值的那些解码有效系数。
[0241]
1)可选择地,代表性系数是其幅值大于或不小于阈值的那些解码有效系数。
[0242]
iii.在一个示例中,代表性系数是小于或不大于阈值的那些解码有效系数。
[0243]
1)可选择地,代表性系数是其幅值小于或不大于阈值的那些解码有效系数。
[0244]
iv.在一个示例中,代表性系数是按照解码顺序的前k(k》=1)个解码有效系数。
[0245]
v.在一个示例中,代表性系数是按照解码顺序的最后k(k》=1)个解码有效系数。
[0246]
vi.在一个示例中,代表性系数可以是块中预定义位置处的系数。
[0247]
1)在一个示例中,代表性系数可以包括相对于代表性块位于(xpos,ypos)坐标处的仅一个系数。例如xpos=ypos=0。
[0248]
2)在一个示例中,代表性系数可以包括相对于代表性块位于(xpos,ypos)坐标处的仅一个系数。并且xpo和/或ypo满足以下条件:
[0249]
a)在一个示例中,xpos不大于阈值tx(例如,31)和/或ypos不大于阈值ty(例如,31)。
[0250]
b)在一个示例中,xpos不小于阈值tx(例如,32)和/或ypos不小于阈值ty(例如,32)。
[0251]
3)例如,位置可以取决于块的维度。
[0252]
vii.在一个示例中,代表性系数可以是按照系数扫描顺序的预定义位置处的那些系数。
[0253]
e.可选择地,代表性系数也可以包括那些零系数。
[0254]
f.可选择地,代表性系数可以是从解码系数中导出的系数,诸如,通过限幅到一个范围,通过量化。
[0255]
g.在一个示例中,代表性系数可以是最后有效系数之前的系数(可以包括最后有效系数)。
[0256]
3.对将it用于第一块的确定可以取决于第一块的解码亮度系数。
[0257]
a.此外,可选择地,确定的it的使用仅应用于第一块的亮度分量,而dct2总是用于第一块的色度分量。
[0258]
b.此外,可选择地,确定的it的使用被应用于第一块的所有颜色分量。也就是说,相同的变换矩阵被应用于第一块的所有颜色分量。
[0259]
4.it的使用的确定可以取决于代表性系数的函数,诸如,使用代表性系数作为输入,值v作为输出的函数。
[0260]
a.在一个示例中,v是作为代表性系数的数量导出的。
[0261]
i.可选择地,v被导出为代表性系数之和。
[0262]
1)可选择地,v被导出为代表性系数的级别(或它们的绝对值)之和。
[0263]
2)可选择地,v可以被导出为一个代表性系数(诸如,最后一个)的级别(或其绝对值)。
[0264]
3)可选择地,v可以被导出为级别为偶数的代表性系数的数量。
[0265]
4)可选择地,v可以被导出为级别为奇数的代表性系数的数量。
[0266]
5)此外,可选择地,可以对总和进行限幅,以导出v。
[0267]
ii.可选择地,v被导出为函数的输出,其中函数定义残差能量分布。
[0268]
1)在一个示例中,函数返回部分代表性系数的绝对值之和与所有代表性系数的绝对值之比。
[0269]
2)在一个示例中,函数返回部分代表性系数的绝对值的平方和与所有代表性系数的绝对值的平方和之比。
[0270]
iii.可选择地,v被导出为是否至少一个代表性系数位于代表性块的子区域之外。
[0271]
1)在一个示例中,子区域被定义为代表性块的左上子区域,例如,代表性块的左上
四分之一。
[0272]
b.在一个示例中,对it的使用的确定可以取决于v的奇偶性。
[0273]
i.例如,如果v是偶数,则使用it;而如果v是奇数,则不使用it。
[0274]
1)可选择地,如果v是偶数,则使用it;而如果v是奇数,则不使用it。
[0275]
ii.在一个示例中,如果v小于阈值t1,则使用it;而如果v大于阈值t2,则不使用it。
[0276]
1)可选择地,如果v大于阈值t1,则使用it;如果v小于阈值t2,则不使用it。
[0277]
iii.例如,阈值可以取决于编解码信息,诸如块维度、预测模式。
[0278]
iv.例如,阈值可以取决于qp。
[0279]
c.在一个示例中,对it的使用的确定可以取决于v和其它编解码信息(例如,预测模式、条带类型/图片类型、块维度)的组合。
[0280]
5.对it的使用的确定可以进一步取决于当前块的编解码信息。
[0281]
a.在一个示例中,该确定还可以取决于模式信息(例如,帧间、帧内或ibc)。
[0282]
b.在一个示例中,变换确定可以取决于作为覆盖所有有效系数的最小矩形的扫描区域(例如,如图14所描绘)。
[0283]
i.在一个示例中,如果与当前块相关联的扫描区域的尺寸(例如,宽度乘以高度)大于给定阈值,则可以利用默认变换(诸如dct-2),包括水平变换和垂直变换。否则,可以利用诸如项目符号3中定义的规则(例如,当v是偶数时是it,当v是奇数时是dct-2)。
[0284]
ii.在一个示例中,如果与当前块相关联的扫描区域的宽度大于(或小于)给定的最大宽度(例如,16),那么可利用默认的水平变换(诸如dct-2)。否则,可以使用诸如项目符号3中定义的规则。
[0285]
iii.在一个示例中,如果与当前块相关联的扫描区域的高度大于(或小于)给定的最大高度(例如,16),则可以利用默认的垂直变换(诸如dct-2)。否则,可以使用诸如项目符号3中定义的规则。
[0286]
iv.在一个示例中,给定的尺寸是l
×
k,其中,l和k是整数,诸如16。
[0287]
v.在一个示例中,默认变换矩阵可以是dct-2或dst-7。
[0288]
6.项目符号1至项目符号5中公开的方法中的一种或多种只能应用于特定的块。
[0289]
a.例如,在项目符号1至项目符号5中公开的方法中的一种或多种只能应用于除dt之外的ibc编解码的块和/或帧内编解码的块。
[0290]
b.例如,项目符号1至项目符号5中公开的方法中的一种或多种只能应用于对系数有特定约束的块。
[0291]
i.具有四个角(0,0)、(crx,0)、(0,cry)、(crx,cry)的矩形被定义为受约束矩形,例如在srcc方法中。在一个示例中,仅当受约束矩形之外的所有系数都为零时,才可以应用项目符号1至项目符号5中公开的方法中的一种或多种。例如crx=cry=16。
[0292]
1)例如,crx=srx和cry=sry,其中(srx,sry)在srcc中的定义如2.14节所述。
[0293]
2)此外,可选择地,上述方法仅在块宽度或块高度大于k时应用。
[0294]
a)在一个示例中,k等于16。
[0295]
b)在一个示例中,上述方法仅在块宽度大于k1并且k1等于crx时应用;或者当块高度大于k2且k2等于cry时应用。
[0296]
ii.仅当最后的非零系数(按照正向扫描顺序)满足某些条件时,例如,当水平坐标/垂直坐标不大于阈值(例如,16/32)时,可以应用方法中的一种或多种。
[0297]
7.当确定不使用it时,可以改为使用诸如dct-2或dst-7的默认变换。
[0298]
a.可选择地,当确定不使用it时,可以从诸如dct-2或dst-7的多个默认变换中选择。
[0299]
8.是否和/或如何应用以上所公开的方法可以在视频区域级别(诸如序列级别/图片级别/条带级别/片组级别/片级别)信令通知。
[0300]
a.在一个示例中,可以在序列标头/图片标头/sps/vps/dci/dps/pps/aps/条带标头/片组标头中信令通知(例如,标志)。
[0301]
i.此外,可选择地,可以信令通知一个或多个语法元素(例如,一个或多个标志)来规定是否启用it的隐式确定的方法。
[0302]
1)在一个示例中,可以信令通知第一标志来控制对视频区域级别中的ibc编解码块的it的隐式确定的方法的使用。
[0303]
a)此外,可选择地,可以在检查ibc是否被启用的条件下信令通知标志。
[0304]
2)在一个示例中,可以信令通知第二标志以控制视频区域级别中的帧内编解码块(例如,可以排除具有dt模式的块)的it的隐式确定的方法的使用。
[0305]
3)在一个示例中,可以信令通知第二标志来控制视频区域级别中的帧间编解码块(例如,可以排除具有dt模式的块)的it的隐式确定的方法的使用。
[0306]
4)在一个示例中,可以信令通知第二标志以控制视频区域级别中的帧内编解码块和帧间编解码块(例如,可以排除具有dt模式的块)的it的隐式确定的方法的使用。
[0307]
5)在一个示例中,可以信令通知第二标志以控制视频区域级别中的ibc编解码块和帧间编解码块(例如,可以排除具有dt模式的块)的it的隐式确定的方法的使用。
[0308]
ii.此外,可选择地,当对视频区域启用it的隐式确定的方法时,可以进一步应用以下:
[0309]
1)在一个示例中,对于ibc编解码的块,如果it用于块,则应用ts模式;否则,使用dct2。
[0310]
2)在一个示例中,对于帧内编解码的块(例如,可以排除具有dt模式的块),如果it用于块,则应用ts模式;否则,使用dct2。
[0311]
iii.此外,可选择地,当对视频区域禁用it的隐式确定的方法时,可以进一步应用以下;
[0312]
1)在一个示例中,对于ibc编解码的块,使用dct-2。
[0313]
2)在一个示例中,对于帧内编解码的块(例如,排除具有dt模式的块),可以即时确定dct-2或dst-7,诸如由ist确定。
[0314]
9.在视频区域级别,诸如序列级别/图片级别/条带级别/片组级别/片级别,信令通知是否对变换块(包括恒等变换)应用置零的指示。
[0315]
a.在一个示例中,可以在序列标头/图片标头/sps/vps/dci/dps/pps/aps/条带标头/片组标头中信令通知该指示(例如,标志)。
[0316]
b.在一个示例中,当该指示规定启用置零时,则仅允许it变换。
[0317]
c.在一个示例中,当该指示规定禁用置零时,则仅允许非it变换。
[0318]
d.此外,可选择地,srcc中的二进制化/上下文建模/最后有效系数的允许范围/右下位置(例如,相对于块的左上位置的最大x/y坐标)可以取决于该指示。
[0319]
10.第一规则(例如,在以上项目符号1至7中)可以用于确定it对第一块的使用,并且第二规则可以用于确定不包括it的变换类型。
[0320]
a.在一个示例中,第一规则可以被定义为残差能量分布。
[0321]
b.在一个示例中,第二规则可以被定义为代表性系数的奇偶性。
[0322]
变换跳过
[0323]
11.对it(例如,ts)编解码块应用置零,其中非零系数被限制在块的特定子区域内。
[0324]
a.在一个示例中,将it(例如ts)编解码块的置零范围设置为块的右上k*l子区域,其中k设置为min(t1,w),l设置为min(t2,h),其中w和h分别是块宽度/块高度,t1/t2是两个阈值。
[0325]
i.在一个示例中,t1和/或t2可以被设置为32或16。
[0326]
ii.此外,可选择地,最后非零系数应该位于k*l子区域内。
[0327]
iii.此外,可选择地,srcc方法中的右下位置(srx,sry)应位于k*l子区域内。
[0328]
12.定义了it(例如,ts)编解码块的多个置零类型,其中每个类型对应于块的一个子区域,其中非零系数仅存在于该子区域中。
[0329]
a.在一个示例中,非零系数仅存在于块的左上k0*l0子区域中。
[0330]
b.在一个示例中,非零系数仅存在于块的右上k1*l1子区域中。
[0331]
i.此外,可选择地,可以信令通知具有非零系数的子区域的左下位置的指示。
[0332]
c.在一个示例中,非零系数仅存在于块的左下k2*l2子区域中。
[0333]
i.此外,可选择地,可以信令通知具有非零系数的子区域的右上位置的指示。
[0334]
d.在一个示例中,非零系数只存在于块的右下k3*l3子区域中。
[0335]
i.此外,可选择地,可以信令通知具有非零系数的子区域的左上位置的指示。
[0336]
e.此外,可选择地,可以进一步显式信令通知或者即时导出it的置零类型的指示。
[0337]
13.当至少一个有效系数在it(例如,ts)定义的置零区域之外,例如在块的左上k0*l0子区域之外时,在该块中不使用it(例如,ts)。
[0338]
a.此外,可选择地,对于这种情况,使用默认的变换。
[0339]
14.当存在至少有一个有效系数在由另一变换矩阵(例如,dst7/dct2/dct8)定义的置零区域之外,例如在块的左上k0*l0子区域之外时,在块中使用it(例如,ts)。
[0340]
a.此外,可选择地,对于这种情况,推断使用ts模式。
[0341]
图16a至图16d示出了ts编解码块的多种置零类型。图16a示出了左上k0*l0子区域。图16b示出了右上k1*l1子区域。图16c示出了左下k2*l2子区域。图16d示出了右下k3*l3子区域。
[0342]
通用
[0343]
15.变换矩阵的决定可以在cu/cb级别或tu级别完成。
[0344]
a.在一个示例中,在cu级别做出决定,其中所有tu共享相同的变换矩阵。
[0345]
i.此外,可选择地,当一个cu被划分成多个tu时,一个tu(例如,第一个tu或最后一个tu)或者部分tu或所有tu中的系数可以用于确定变换矩阵。
[0346]
b.是否使用cu级别解决方案或tu级别解决方案可以取决于一个块的块尺寸和/或vpdu尺寸和/或最大ctu尺寸和/或编解码信息。
[0347]
i.在一个示例中,当块尺寸大于vpdu尺寸时,可以应用cu级别确定方法。
[0348]
16.是否和/或如何应用上述公开的方法可以取决于编解码信息,该编解码信息可以包括:
[0349]
a.块维度。
[0350]
i.在一个示例中,对于宽度和高度都不大于阈值(例如,32)的块,可以应用上述隐式mts方法。
[0351]
b.qp
[0352]
c.图片或条带类型(诸如i帧或p/b帧、i条带或p/b条带)
[0353]
i.在一个示例中,所提出的方法可以对i帧启用,但是对p/b帧禁用。
[0354]
d.结构分割方法(单树或双树)
[0355]
i.在一个示例中,对于应用单树分割的条带/图片/图块/片,可以应用上述隐式mts方法。
[0356]
e.编解码模式(诸如帧间模式/帧内模式/ibc模式等)。
[0357]
i.在一个示例中,对于帧内编解码的块,可以应用上述隐式mts方法。
[0358]
f.编解码方法(诸如,帧内子块分割、派生树(derived tree,dt)方法等)。
[0359]
i.在一个示例中,对于应用了dt的帧内编解码块,可以禁用上述隐式mts方法。
[0360]
ii.在一个示例中,对于应用了isp的帧内编解码块,可以禁用上述隐式mts方法。
[0361]
g.颜色分量
[0362]
i.在一个示例中,对于亮度块,可以应用上述隐式mts方法,而对于色度块,不应用该方法。
[0363]
h.帧内预测模式(诸如dc、垂直、水平等)。
[0364]
i.运动信息(诸如mv和参考索引)。
[0365]
j.标准档次/级别/层次
[0366]
图17是示出示例视频处理系统1700的框图,其中,可以实现本文公开的各种技术。各种实现可以包括系统1700的部分或全部组件。系统1700可以包括用于接收视频内容的输入1702。视频内容可以以原始或未压缩格式(例如,8位或10位多分量像素值)接收,或者可以以压缩或编码格式接收。输入1702可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(例如,以太网、无源光学网络(pon)等),以及无线接口(例如,wi-fi或蜂窝接口)。
[0367]
系统1700可以包括编解码组件1704,其可以实现本文档中描述的各种编解码或编码方法。编解码组件1704可以将视频的平均比特率从输入1702降低到编解码组件1704的输出,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件1704的输出可以被存储,或者经由由组件1706表示的连接的通信来传输。在输入1702处接收的视频的存储的或传送的比特流(或编解码的)表示可以由组件1708用于生成发送到显示接口1710的像素值或可显示视频。根据比特流生成用户可观看视频的过程有时被称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但将理解的是,在编码器处使用编解码工具或操作,并且反转编解码结果的对应的解码工具或操作将
由解码器执行。
[0368]
外围总线接口或显示接口的示例可能包括通用串行总线(usb)或高清多媒体接口(hdmi)或displayport等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以体现在各种电子设备中,例如移动电话、膝上型计算机、智能手机或能够执行数字数据处理和/或视频显示的其它设备。
[0369]
图21是视频处理装置2100的框图。装置2100可以用于实现本文所描述的一种或多种方法。装置2100可以体现在智能手机、平板电脑、计算机、物联网(iot)接收器等中。装置2100可以包括一个或多个处理器2102、一个或多个存储器2104和视频处理硬件2106。(多个)处理器2102可以被配置为实现本文档中描述的一个或多个方法。一个或多个存储器2104可以用于存储用于实现本文所描述的方法和技术的数据和代码。视频处理硬件2106可以用于在硬件电路中实现本文档中描述的一些技术。
[0370]
图18是示出可以利用本公开技术的示例视频编解码系统100的框图。
[0371]
如图18所示,视频编解码系统100可以包括源设备110和目的地设备120。源设备110生成可以被称为视频编码设备的编码视频数据。目的地设备120可以对源设备110生成的编码视频数据进行解码,源设备110可以被称为视频解码设备。
[0372]
源设备110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。
[0373]
视频源112可以包括诸如视频捕获设备之类的源、从视频内容提供商接收视频数据的接口和/或用于生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其它语法结构。i/o接口116可以包括调制器/解调器(调制解调器)和/或发射器。编码的视频数据可以通过网络130a经由i/o接口116直接发送到目的地设备120。编码的视频数据还可以存储在存储介质/服务器130b上,以供目的地设备120访问。
[0374]
目的地设备120可以包括i/o接口126、视频解码器124和显示设备122。
[0375]
i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以对编码的视频数据进行解码。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目的地设备120集合,或者可以位于目的地设备120的外部,目的地设备120被配置为与外部显示设备接合。
[0376]
视频编码器114和视频解码器124可以根据视频压缩标准(例如高效视频编解码(hevc)标准、通用视频编解码(vvm)标准和其它当前和/或进一步的标准)操作。
[0377]
图19是示出视频编码器200的示例的框图,视频编码器200可以是图18所示的系统100中的视频编码器114。
[0378]
视频编码器200可以被配置为执行本公开的任何或所有技术。在图19的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[0379]
视频编码器200的功能组件可以包括分割单元201、可以包括模式选择单元203的预测单元202、运动估计单元204、运动补偿单元205和帧内预测单元206、残差生成单元207、变换单元208、量化单元209、反量化单元210、反变换单元211,重建单元212、缓冲器213和熵
编码单元214。
[0380]
在其它示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(ibc)单元。ibc单元可以在ibc模式下执行预测,其中至少一个参考图片是当前视频块所在的图片。
[0381]
此外,一些组件(例如运动估计单元204和运动补偿单元205)可以是高度集合的,但是出于解释的目的,在图11的示例中分别表示。
[0382]
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
[0383]
模式选择单元203可以例如基于错误结果选择编解码模式中的一种(帧内或帧间),并将得到的帧内或帧间编解码块提供给残差生成单元207以生成残差块数据,以及提供给重建单元212以重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内预测和帧间预测(ciip)模式的组合,其中预测基于帧间预测信号和帧内预测信号。模式选择单元203还可以在帧间预测的情况下为块选择运动向量的分辨率(例如,子像素精度或整数像素精度)。
[0384]
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的、与当前视频块相关联的图片以外的图片的运动信息和解码样点来确定当前视频块的预测视频块。
[0385]
例如,运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,这取决于当前视频块是在i条带、p条带还是b条带中。
[0386]
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。然后,运动估计单元204可以生成参考索引,该索引指示包含参考视频块的列表0或列表1中的参考图片,以及指示当前视频块和参考视频块之间的空域位移的运动向量。运动估计单元204可以输出参考索引、预测方向指示符和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
[0387]
在其它示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,还可以在列表1中的参考图片中搜索当前视频块的另一个参考视频块。然后,运动估计单元204可以生成指示包含参考视频块的列表0和列表1中的参考图片的参考索引,以及指示参考视频块和当前视频块之间的空域位移的运动向量。运动估计单元204可以输出当前视频块的参考索引和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
[0388]
在一些示例中,运动估计单元204可以输出用于解码器的解码处理的完整运动信息集合。
[0389]
在一些示例中,运动估计单元204可能不输出当前视频的完整运动信息集合。相反,运动估计单元204可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻近视频块的运动信息足够相似。
[0390]
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中,指示向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息的值。
[0391]
在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中识别另一个视频块和运动向量差(mvd)。运动向量差指示当前视频块的运动向量与所指示视频块的运动向量之间的差。视频解码器300可以使用所指示视频块的运动向量和运动向量差来确定当前视频块的运动向量。
[0392]
如上所讨论的,视频编码器200可以预测地信令通知运动向量。可以由视频编码器200实现的预测信令技术的两个示例包括高级运动矢量预测(amvp)和merge模式信令。
[0393]
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中的其它视频块的解码样点生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
[0394]
残差生成单元207可以通过从当前视频块减去(例如,用减号表示)当前视频块的预测视频块来生成当前视频块的残差数据。当前视频块的残余数据可以包括对应于当前视频块中的样点的不同样点分量的残余视频块。
[0395]
在其它示例中,对于当前视频块,可能没有当前视频块的残差数据,例如在跳过模式下,残差生成单元207可能不执行减法操作。
[0396]
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块,来为当前视频块生成一个或多个变换系数视频块。
[0397]
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(qp)值,来对与当前视频块相关联的变换系数视频块进行量化。
[0398]
反量化单元210和反变换单元211可以分别对变换系数视频块应用反量化和反变换,以根据变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到来自预测单元202生成的一个或多个预测视频块的对应样点中,以产生与当前块相关联的重建视频块,以存储在缓冲器213中。
[0399]
在重建单元212重建视频块之后,可以执行环路滤波操作以减少视频块中的视频块伪像。
[0400]
熵编码单元214可以从视频编码器200的其它功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码数据,并输出包括熵编码数据的比特流。
[0401]
图20是示出视频解码器300的示例的框图,视频解码器300可以是图18所示的系统100中的视频解码器114。
[0402]
视频解码器300可以被配置为执行本公开的任何或所有技术。在图20的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[0403]
在图20的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、反量化单元304、反变换单元305、重建单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200描述的编码遍次(图19)相反的解码遍次。
[0404]
熵解码单元301可以取回编码比特流。编码比特流可以包括熵编码的视频数据(例
如,视频数据的编码块)。熵解码单元301可以对熵编码的视频数据进行解码,并且运动补偿单元302可以根据熵解码的视频数据确定运动信息,该运动信息包括运动向量、运动向量精度、参考图片列表索引以及其它运动信息。例如,运动补偿单元302可以通过执行amvp和merge模式来确定这种信息。
[0405]
运动补偿单元302可以产生运动补偿块,可能基于插值滤波器执行插值。语法元素中可以包括用于以子像素精度使用的插值滤波器的标识符。
[0406]
运动补偿单元302可以使用视频编码器200在视频块编码期间使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元302可以根据接收到的语法信息确定视频编码器200使用的插值滤波器,并使用插值滤波器来产生预测块。
[0407]
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,描述如何对编码视频序列的图片的每个宏块进行分割的分割信息,指示如何对每个分区进行编码的模式,用于每个帧间编码块的一个或多个参考帧(和参考帧列表),以及用于对编码视频序列进行解码的其它信息。
[0408]
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来根据空域上邻近的块形成预测块。反量化单元303对比特流中提供并由熵解码单元301解码的量化视频块系数进行反量化(例如,去量化)。反变换单元303应用反变换。
[0409]
重建单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块相加,以形成解码块。如果需要,还可以应用去方块滤波器来对解码块进行滤波,以便移除块性伪像。解码视频块然后被存储在缓冲器307中,缓冲器307为后续运动补偿/帧内预测提供参考块,并且还产生解码视频以在显示设备上呈现。
[0410]
下面提供一些实施例优选的解决方案的列表。
[0411]
以下解决方案示出了上一节中讨论的技术的示例实施例(例如,项目1)。
[0412]
1.一种视频处理方法(例如,图22中描述的方法2200)包括:对视频的视频块与视频的编解码表示之间的转换,基于规则确定是否对视频块应用水平恒等变换或垂直恒等变换(2202);以及基于该确定来执行转换(2204),其中,该规则规定了该确定与来自视频的一个或多个代表性块的解码系数的代表性系数之间的关系。
[0413]
2.解决方案1的方法,其中,一个或多个代表性块属于视频块所属的颜色分量。
[0414]
3.解决方案1的方法,其中,一个或多个代表性块属于与视频块的颜色分量不同的颜色分量。
[0415]
4.解决方案1-3中任一个的方法,其中,所述一个或多个代表性块对应于视频块。
[0416]
5.解决方案1-3中任一个的方法,其中,所述一个或多个代表性块不包括视频块。
[0417]
以下解决方案示出了在前一部分(例如,项目符号1和2)中讨论的技术的示例实施例。
[0418]
6.解决方案1-5中任一个的方法,其中,代表性系数包括具有非零值的解码系数。
[0419]
7.解决方案1-6中任一个的方法,其中,所述关系规定基于通过修改代表性系数而确定的修改系数来使用代表性系数。
[0420]
8.解决方案1-7中任一个的方法,其中,代表性系数对应于解码系数的有效系数。
[0421]
以下解决方案示出了在前一部分(例如,项目3)中讨论的技术的示例实施例。
[0422]
9.一种视频处理方法,包括:对视频的视频块与视频的编解码表示之间的转换,基
于规则确定是否将水平恒等变换或垂直恒等变换应用于视频块;以及基于该确定来执行转换,其中,该规则规定该确定与视频块的解码亮度系数之间的关系。
[0423]
10.解决方案1的方法,其中,执行转换包括将视频块的水平恒等变换亮度分量或垂直恒等变换亮度分量以及dct2应用于视频块的色度分量。
[0424]
以下解决方案示出了在前一部分(例如,项目1和项目4)中讨论的技术的示例实施例。
[0425]
11.一种视频处理方法,包括:对视频的视频块与视频的编解码表示之间的转换,基于规则确定是否将水平恒等变换或垂直恒等变换应用于视频块;以及基于该确定来执行转换,其中,该规则规定了该确定和与解码系数或代表性块的代表性系数相关联的值v之间的关系。
[0426]
12.解决方案11的方法,其中,v等于代表性系数的数量。
[0427]
13.解决方案11的方法,其中,v等于代表性系数的值的总和。
[0428]
14.解决方案11的方法,其中,v是代表性系数的残差能量分布的函数。
[0429]
15.解决方案11-14中任一个的方法,其中,相对于值v的奇偶性来定义所述关系
[0430]
以下解决方案示出了在前一部分(例如,项目5)中讨论的技术的示例实施例。
[0431]
16.上述解决方案中任一个的方法,其中,所述规则规定所述关系进一步依赖于视频块的编解码信息。
[0432]
17.解决方案16的方法,其中,编解码信息是视频块的编解码模式。
[0433]
18.解决方案16的方法,其中,编解码信息包括覆盖视频块的所有有效系数的最小矩形区域。
[0434]
以下解决方案示出了在前一部分(例如,项目6)中讨论的技术的示例实施例。
[0435]
19.上述解决方案中任一个的方法,其中,所述确定由于视频块具有模式或对系数的约束而被执行。
[0436]
20.解决方案19的方法,其中,类型对应于帧内块复制(ibc)模式。
[0437]
21.解决方案19的方法,其中,对系数的约束使得当前块的矩形内部之外的系数为零。
[0438]
以下解决方案示出了在前一部分(例如,项目第7)中讨论的技术的示例实施例。
[0439]
22.解决方案1-21中任一个的方法,其中,在所述确定不使用水平恒等变换和垂直恒等变换的情况下,使用dct-2变换或dst-7变换来执行转换。
[0440]
以下解决方案示出了在前一部分(例如,项目9)中讨论的技术的示例实施例。
[0441]
23.解决方案1-22中任一个的方法,其中,编解码表示中的一个或多个语法字段指示所述方法是否对视频块启用。
[0442]
24.解决方案23的方法,其中,所述一个或多个语法字段被包括在序列级别或图片级别或条带级被或片组级别或片级别或子图片级别。
[0443]
25.解决方案23-24中任一个的方法,其中,所述一个或多个语法字段被包括在条带标头或图片标头中。
[0444]
以下解决方案示出了在前一部分(例如,项目1和8)中讨论的技术的示例实施例。
[0445]
26.一种视频处理方法,包括:确定一个或多个语法字段存在于视频的编解码表示中,其中,视频包含一个或多个视频块;基于所述一个或多个语法字段,确定是否对视频中
的视频块启用水平恒等变换或垂直恒等变换。
[0446]
27.解决方案1的方法,其中,响应于所述一个或多个语法字段指示变换跳过模式的隐式确定被启用,对视频的第一视频块与视频的编解码表示之间的转换,基于规则确定是否将水平恒等变换或垂直恒等变换应用于视频块;以及基于该确定来执行转换,其中,该规则规定所述确定与来自视频的一个或多个代表性块的解码系数的代表性系数之间的关系。
[0447]
28.解决方案27的方法,第一视频块以帧内块复制模式编解码。
[0448]
29.解决方案27的方法,第一视频块以帧内模式编解码。
[0449]
30.解决方案27的方法,第一视频块用帧内模式而不是派生树(dt)模式来编解码。
[0450]
31.解决方案27的方法,所述确定基于第一视频块中非零系数的数量的奇偶性。
[0451]
32.解决方案27的方法,当第一视频块中非零系数的数量的奇偶性为偶数时,将水平恒等变换和垂直恒等变换应用于第一视频块。
[0452]
33.解决方案27的方法,当第一视频块中非零系数的数量的奇偶性是偶数时,水平恒等变换和垂直恒等变换不应用于第一视频块。
[0453]
34.解决方案33的方法,将dct-2应用于第一视频块。
[0454]
35.解决方案32的方法,还包括:响应于一个或多个语法字段指示变换跳过模式的隐式确定被禁用,水平恒等变换和垂直恒等变换不被应用于第一视频块。
[0455]
36.解决方案32的方法,其中,dct-2被应用于第一视频块。
[0456]
以下解决方案示出了在前一部分(例如,项目9、10)中讨论的技术的示例实施例。
[0457]
37.一种视频处理方法,包括:作出关于是否对视频的视频块与视频的编解码表示之间的转换启用恒等变换的使用的第一确定;做出关于在该转换期间是否启用置零操作的第二确定;以及基于第一确定和第二确定来执行转换。
[0458]
38.解决方案37所述的方法,其中,所述编解码表示中的第一级别的一个或多个语法字段指示第一确定。
[0459]
39.解决方案37-38中任一个的方法,其中,编解码表示中的第二级别的一个或多个语法字段指示第二确定。
[0460]
40.解决方案38-39中任一个的方法,其中,第一级别和第二级别对应于序列或图片级别的标头字段或者序列级别或图片级别的参数集或者自适应参数集。
[0461]
41.解决方案37-40中任一个的方法,其中,所述转换使用恒等变换或置零操作,但不两者都使用。
[0462]
以下解决方案示出了在前一部分(例如,项目12和13)中讨论的技术的示例实施例。
[0463]
42.一种视频处理方法,包括:执行视频的视频块与视频的编解码表示之间的转换;其中视频块在编解码表示中被表示为编解码块,其中编解码块的非零系数被限制在一个或多个子区域内;并且其中应用恒等变换来生成编解码块。
[0464]
43.解决方案1的方法,其中,所述一个或多个子区域包括具有k
×
l维度的视频块的右上子区域,其中k和l是整数,k是min(t1,w),l是min(t2,h),其中w和h分别是视频块的宽度和高度,t1和t2是阈值。
[0465]
44.解决方案42-43中任一个的方法,其中,编解码表示指示所述一个或多个子区
域。
[0466]
以下解决方案示出了前一部分(项目16和17)中讨论的技术的示例实施例。
[0467]
45.解决方案1-44中任一个的方法,其中,视频区域包括视频编解码单元。
[0468]
46.解决方案1-45的方法,其中,视频区域是预测单元或变换单元。
[0469]
47.解决方案1-46中任一个的方法,其中,视频块满足特定维度条件。
[0470]
48.解决方案1-47中任一个的方法,其中,使用预先规定的量化参数范围对视频块进行编解码。
[0471]
49.解决方案1-48中任一个的方法,其中,视频区域包括视频图片。
[0472]
50.解决方案1至49中任一个的方法,其中,所述转换包括将视频编码成编解码表示。
[0473]
51.解决方案1至49中任一个的方法,其中,所述转换包括解码编解码表示以生成视频的像素值。
[0474]
52.一种视频解码装置,包括被配置为实现解决方案1至51中的一个或多个中所述的方法的处理器。
[0475]
53.一种视频编解码装置,包括被配置为实现解决方案1至51中的一个或多个中所述的方法的处理器。
[0476]
54.一种其上存储有计算机代码的计算机程序产品,当由处理器执行时,该代码使得处理器实现解决方案1至51中任一个所述的方法。
[0477]
55.本文档中描述的方法、装置或系统。
[0478]
图23是根据本技术的视频处理方法的流程图表示。方法2300包括,在操作2310,对视频的当前视频块与视频的比特流之间的转换,根据规则确定对当前视频块的转换使用恒等变换模式。该规则规定该使用基于视频的一个或多个代表性块的代表性系数。方法2300还包括,在操作2320,基于该确定执行转换。
[0479]
在一些实施例中,恒等变换模式包括变换跳过模式。在变换跳过模式中,在不应用变换的情况下,在比特流中表示当前视频块与参考视频块之间的预测误差的残差。在一些实施例中,响应于变换跳过模式被应用于当前视频块的转换,变换跳过模式包括水平变换模式和/或垂直变换模式。
[0480]
在一些实施例中,确定恒等变换模式的使用包括恒等变换的隐式确定。在一些实施例中,一个或多个代表性块属于相同的颜色分量。在一些实施例中,颜色分量包括亮度分量。在一些实施例中,一个或多个代表性块属于不同的颜色分量。在一些实施例中,视频块属于视频的亮度分量,并且一个或多个代表性块属于视频的色度分量。在一些实施例中,一个或多个代表性块和视频块在同一编解码单元中。在一些实施例中,一个或多个代表性块位于视频块的图片的并置位置。
[0481]
在一些实施例中,一个或多个代表性块包括当前视频块,并且对当前视频块的恒等变换模式的使用基于与当前视频块相关联的代表性系数。在一些实施例中,对当前视频块使用恒等变换模式是基于一个或多个代表性块的代表性系数,其中,至少一个代表性块与视频块不相同。在一些实施例中,一个或多个代表性块包括当前视频块。在一些实施例中,一个或多个代表性块包括当前视频块的相邻块。在一些实施例中,一个或多个代表性块包括满足关于视频块的条件的至少n个块,其中n是大于1的整数。在一些实施例中,在使用
与视频块相同的预测模式对至少n个块进行编解码的情况下满足条件。在一些实施例中,在至少n个块具有与视频块相同的维度的情况下满足条件。在一些实施例中,用于确定对当前视频块使用恒等变换模式的代表性系数包括解码系数。
[0482]
在一些实施例中,代表性系数仅包括非零系数。在一些实施例中,非零系数被表示为有效系数。在一些实施例中,代表性系数在用于确定对当前视频块的恒等变换模式的使用之前被修改。在一些实施例中,基于以下来修改代表性系数中的至少一个:(1)对代表性系数中的至少一个进行限幅,(2)对代表性系数中的至少一个进行缩放,(3)将偏移添加到代表性系数中的至少一个,(4)对代表性系数中的至少一个进行滤波,或者(5)将代表性系数中的至少一个映射到另一个值。
[0483]
在一些实施例中,代表性系数包括一个或多个代表性块中的所有非零系数。在一些实施例中,代表性系数包括一个或多个代表性块中的非零系数的一部分。在一些实施例中,代表性系数包括在一个或多个代表性块中的偶数非零系数。在一些实施例中,代表性系数包括一个或多个代表性块中的奇数非零系数。在一些实施例中,代表性系数包括非零系数的绝对值大于或等于阈值的部分。在一些实施例中,代表性系数包括非零系数的绝对值小于或等于阈值的部分。在一些实施例中,代表性系数包括解码顺序中的第一个或最后k个非零系数,其中k大于或等于1。在一些实施例中,代表性系数包括一个或多个代表性块中的预定义位置处的系数。在一些实施例中,代表性系数仅包括位于相对于代表性块的位置(xpos,ypos)的一个系数,其中xpos和ypos满足条件。在一些实施例中,条件规定xpos小于或等于第一阈值。在一些实施例中,条件规定ypos大于第二阈值。在一些实施例中,xpos=0并且ypos=0。在一些实施例中,位置(xpos,ypos)基于视频块的维度。在一些实施例中,代表性系数包括最后非零系数之前的系数。在一些实施例中,代表性系数包括最后非零系数之前的系数和最后非零系数。
[0484]
在一些实施例中,代表性系数包括零系数和非零系数。在一些实施例中,基于修改解码系数来导出代表性系数。在一些实施例中,代表性系数包括与当前视频块的亮度分量相关联的代表性系数。在一些实施例中,对当前视频块的恒等变换模式的使用仅应用于当前视频块的亮度分量。在一些实施例中,离散余弦变换2(dct-2)被应用于当前视频块的一个或多个色度分量。在一些实施例中,对当前视频块的恒等变换模式的使用被应用于当前视频块的所有颜色分量。
[0485]
在一些实施例中,基于输出值v的代表性系数的函数来确定对当前视频块的恒等变换模式的使用。在一些实施例中,基于代表性系数的数量来导出值v。在一些实施例中,值v是基于其级别是偶数的代表性系数的数量来导出的。在一些实施例中,基于以下导出值v:(1)代表性系数的级别之和,(2)代表性系数的一个级别,或者(3)级别为奇数的代表性系数的数量。在一些实施例中,代表性系数的函数定义了残差能量分布。在一些实施例中,该函数返回(1)部分代表性系数的绝对值之和与(2)所有代表性系数的绝对值之比。在一些实施例中,该函数返回(1)部分代表性系数的绝对值的平方和与(2)所有代表性系数的绝对值的平方和之比。在一些实施例中,基于至少一个代表性系数是否位于代表性块的子区域之外来确定值v。在一些实施例中,对当前视频块使用恒等变换模式是基于值v的奇偶性。在一些实施例中,在值v是偶数值的情况下使用恒等变换模式,而在值v是奇数值的情况下不使用恒等变换模式。在一些实施例中,在值v小于第一阈值的情况下使用恒等变换模式,并且在
值v大于第二阈值的情况下不使用恒等变换模式。在一些实施例中,在值v小于第三阈值的情况下使用恒等变换模式,并且在值v大于第四阈值的情况下不使用恒等变换模式。
[0486]
在一些实施例中,恒等变换模式的使用还基于当前视频块的编解码信息。在一些实施例中,编解码信息包括预测模式、条带类型、图片类型、块维度、在序列级别指示恒等变换模式是否被启用的标志、或者在图片标头指示恒等变换模式是否被启用的标志中的至少一个。在一些实施例中,编解码信息包括关于当前视频块的编解码模式的信息。在一些实施例中,编解码信息包括扫描区域的信息,该扫描区域是覆盖所有代表性系数的最小矩形区域。在一些实施例中,在扫描区域的维度大于阈值的情况下,使用默认变换。在一些实施例中,维度包括宽度、高度或等于宽度乘以高度的尺寸。
[0487]
在一些实施例中,规则是否适用于当前视频块是基于当前视频块的编解码特性。在一些实施例中,当前视频块的编解码特性包括块的编解码模式,编解码模式至少包括帧内块复制编解码模式或帧内编解码模式。在一些实施例中,当前视频块的编解码特性包括对块的系数的约束。在一些实施例中,在当前视频块的矩形区域的所有系数都为零的情况下,满足约束。在一些实施例中,在最后非零系数小于或等于阈值的情况下,满足约束。在一些实施例中,当前视频块的编解码特性包括编解码块的维度。
[0488]
图24是根据本技术的视频处理方法的流程图表示。方法2400包括,在操作2410,对视频的当前视频块与视频的比特流之间的转换,根据规则将默认变换应用于当前视频块。该规则规定不将恒等变换用于当前视频块的转换。方法2400包括,在操作2420,基于该确定执行转换。
[0489]
在一些实施例中,恒等变换模式包括变换跳过模式。在变换跳过模式中,在不应用变换的情况下在比特流中表示当前视频块与参考视频块之间的预测误差的残差。在一些实施例中,默认变换包括离散余弦变换2(dct-2)或离散正弦变换7(dst-7)。在一些实施例中,从多个默认变换候选中选择默认变换。在一些实施例中,在视频区域级别指示确定是否适用。在一些实施例中,视频区域包括序列、图片、条带、片组或片。在一些实施例中,在序列标头、图片标头、序列参数集、视频参数集、解码器参数集、图片参数集、自适应参数集、条带标头或片组标头中指示确定是否适用于视频块。
[0490]
在一些实施例中,一个或多个语法元素用于指示该确定是否适用于视频块。在一些实施例中,对于以帧内块复制编解码模式编解码的块,在视频区域级别中使用第一语法元素。在一些实施例中,对于以帧内编解码模式编解码的块,在视频区域级别中使用第二语法元素。在一些实施例中,对于以帧间编解码模式编解码的块,在视频区域级别中使用第二语法元素。在一些实施例中,对于以帧内编解码模式编解码的块和以帧间编解码模式编解码的块,在视频区域级别中使用第二语法元素。在一些实施例中,对于以帧内块复制编解码模式编解码的块和以帧间编解码模式编解码的块,在视频区域级别中使用第二语法元素。
[0491]
在一些实施例中,在对使用帧内块复制编解码模式或帧内编解码模式编解码的块使用恒等变换的情况下,对该块应用变换跳过模式。在一些实施例中,在对块禁用恒等变换的情况下,确定dct-2或dst-7用于转换。
[0492]
图25是根据本技术的视频处理方法的流程图表示。方法2500包括,在操作2510,根据规则执行视频与视频的比特流之间的转换。该规则规定在视频区域级别包括指示。该指示指示将一些残差系数设置为零的置零操作是否被应用于视频区域中的视频块的变换块。
[0493]
在一些实施例中,视频区域包括序列、图片、条带、片组或片。在一些实施例中,视频区域级别包括序列标头、图片标头、序列参数集、视频参数集、解码器参数集、图片参数集、自适应参数集、条带标头或片组标头。在一些实施例中,在置零操作被启用的情况下仅允许恒等变换,而在置零操作被禁用的情况下仅允许非恒等变换。在一些实施例中,基于扫描区域的系数编解码工具的信息基于指示。
[0494]
在一些实施例中,根据规定视频块的变换类型的第二规则来执行转换,其中变换类型不包括恒等变换。在一些实施例中,该规则被定义为残差能量分布规则,第二规则被定义为代表性系数的奇偶性。
[0495]
在一些实施例中,在编解码单元级别、编解码块级别或变换单元级别确定变换矩阵。在一些实施例中,在所有变换单元共享同一变换矩阵的情况下,在编解码单元级别进行确定。在一些实施例中,是否在编解码单元级别或在变换单元级别进行确定是基于视频块的编解码信息。
[0496]
在一些实施例中,上述方法之一的适用性基于当前视频块的编解码信息。在一些实施例中,编解码信息包括视频块的维度。在一些实施例中,该方法适用于当前视频块的宽度和/或高度小于或等于阈值的情况。在一些实施例中,该方法适用于当前视频块的宽度和/或高度小于阈值的情况。在一些实施例中,阈值等于32。在一些实施例中,编解码信息包括应用于当前视频块的分割方法。在一些实施例中,分割方法包括单树和/或双树。在一些实施例中,编解码信息包括视频块的编解码模式。在一些实施例中,编解码模式包括帧间预测模式、帧内预测模式或帧内块复制预测模式。在一些实施例中,编解码信息包括与视频块相关联的量化参数、图片或条带类型、编解码方法、颜色分量、帧内预测模式或者运动信息。在一些实施例中,编解码信息包括视频编解码标准的档次、级别或层次。
[0497]
图26是根据本技术的视频处理方法2600的流程图表示。方法2600包括,在操作2610,根据规则执行视频的当前视频块与视频的比特流之间的转换。在转换期间对当前视频块应用恒等变换模式,并且该规则规定启用置零操作,在置零操作期间非零系数被限制在当前视频块的子区域内。
[0498]
在一些实施例中,恒等变换模式包括变换跳过模式。在变换跳过模式中,在不应用变换的情况下在比特流中表示当前视频块与参考视频块之间的预测误差的残差。在一些实施例中,当前视频块是预测残差块。
[0499]
在一些实施例中,在置零操作期间,子区域被设置为尺寸为k
×
l的右上区域。k等于min(t1,2),l等于min(t2,h),w表示视频块的宽度,h表示视频块的高度,t1和t2表示两个阈值。在一些实施例中,t1等于16或32,t2等于16或32。
[0500]
在一些实施例中,当前视频块的最后非零系数位于子区域内。在一些实施例中,在基于扫描区域的系数编解码工具中使用的表示为(srx,sry)的右下位置位于子区域内。
[0501]
图27是根据本技术的视频处理方法2700的流程图表示。方法2700包括,在操作2710,对视频的当前视频块与视频的比特流之间的转换,确定置零操作的当前视频块的置零类型。方法2700还包括,在操作2720,根据确定来执行转换。通过对当前视频块应用恒等变换来编解码当前视频块。视频块的置零类型定义了视频块的子区域,在该子区域内非零系数被限制用于置零操作。
[0502]
在一些实施例中,置零类型包括第一类型的视频块,其包括尺寸为k0
×
l0的左上
子区域。在一些实施例中,置零类型包括第二类型的视频块,其包括尺寸为k1
×
l1的右上子区域。在一些实施例中,置零类型包括第三类型的视频块,其包括尺寸为k2
×
l2的左下子区域。在一些实施例中,置零类型包括第四类型的视频块,其包括尺寸为k3
×
l3的右下子区域。在一些实施例中,在比特流中指示子区域的位置。在一些实施例中,在转换期间确定视频块的置零类型。
[0503]
图28是根据本技术的视频处理方法2800的流程图表示。方法2800包括,在操作2810,根据规则执行视频的当前视频块与视频的比特流之间的转换。该规则规定,在至少一个非零系数位于由恒等变换模式确定的置零区域之外的情况下,禁止使用恒等变换模式来转换当前视频块。置零区域包括非零系数被限制用于置零操作的区域。在一些实施例中,在视频块中使用默认变换。
[0504]
图29是根据本技术的视频处理方法2900的流程图表示。方法2900包括,在操作2910,根据规则执行视频的视频块与视频的比特流之间的转换。该规则规定,在至少一个非零系数位于由不是恒等变换的变换矩阵确定的置零区域之外的情况下,在视频块的转换期间启用恒等变换模式的使用。置零区域包括非零系数被限制用于置零操作的区域。
[0505]
在一些实施例中,变换矩阵包括离散正弦变换7(dst7)、离散余弦变换2(dct2)或离散余弦变换8(dct8)。在一些实施例中,在视频块中使用变换跳过模式。
[0506]
在一些实施例中,转换包括将视频编码成比特流。在一些实施例中,转换包括解码比特流以生成视频。
[0507]
在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流可例如对应于并置或散布在比特流内不同位置的位。例如,可以根据经变换和编解码的误差残余值,并且还使用比特流中的标头和其他字段中的位,对宏块进行编码。此外,在转换期间,解码器可以基于如以上解决方案中所述的确定,在知道一些字段可能存在或不存在的情况下解析比特流。类似地,编码器可确定包括或不包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
[0508]
本文档中描述的所公开的解决方案和其它解决方案、示例、实施例、模块和功能操作可以在以下各项中实现:数字电子电路,或计算机软件、固件或硬件,包括本文档中公开的结构及其结构等同物,或上述各项的一个或多个的组合。所公开的实施例和其它实施例可以被实现为一个或多个计算机程序产品,例如,编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制其操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组合物,或者一个或多个它们的组合。术语“数据处理装置”包含用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其中一个或多个的组合的代码。传播信号是人为生成的信号,例如,机器生成的电气、光学或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置。
[0509]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语
言编写,包括编译或解释语言,并且其也可以以任何形式部署,包括作为独立程序或模块、组件、子例程或其它适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件相对应。程序可以被存储在保存其它程序或数据的文件部分(例如,标记语言文档中存储的一个或多个脚本)、专用于相关程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署以在一台计算机上执行,或在位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。
[0510]
本文档中描述的过程和逻辑流可以由一个或多个可编程处理器执行,这些计算机程序执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流还可以由专用逻辑电路执行,并且装置还可以实现为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。
[0511]
例如,适合执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者中接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或被操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或向其传输数据。然而,计算机不需要这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪速存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom光盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
[0512]
尽管本专利文档包含许多细节,但这些细节不应当被解释为对任何主题或要求保护的内容的范围的限制,而应当被解释为对特定的技术的特定的实施例所特有的特征的描述。本专利文档中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或在任何合适的子组合中实现。此外,尽管上述特征可以被描述为以特定组合起作用,甚至最初被声称为这样,但在一些情况下,可以从所要求保护的组合中删除一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。
[0513]
类似地,尽管在附图中以特定的顺序描述这些操作,但这不应当被理解为要求按照所示的特定的顺序或序列顺序执行这样的操作,或要求所有示出的操作被执行,以获得理想的结果。此外,本专利文档中描述的实施例中的各种系统组件的分离不应当理解为在所有实施例中都要求这种分离。
[0514]
仅描述了一些实现和示例,并且其它实现、增强和变体可以基于本专利文档中描述和说明的内容进行。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献