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

用于基于矩阵的帧内预测技术的量化系数的方法和设备与流程

2021-11-15 15:38:00 来源:中国专利 TAG:

用于基于矩阵的帧内预测技术的量化系数的方法和设备
1.相关申请的交叉引用
2.本专利申请要求于2019年3月24日提交的美国临时专利申请第us 62/822,986号以及于2019年6月21日提交的国际专利申请pct/ru2019/000442的优先权。前述专利申请的相应公开内容通过引用整体并入本文。
技术领域
3.本公开内容的实施方式总体上涉及图片处理的领域,并且更具体地,涉及视频编码中的帧内预测的方法。换句话说,本公开内容的实施方式涉及信令帧内预测模式的机制。


背景技术:

4.视频编码(视频编码和解码)被用于广泛的数字视频应用,例如广播数字tv、互联网和移动网络上的视频传输、实时会话应用(例如视频聊天、视频会议)、dvd和蓝光光碟、视频内容采集和编辑系统以及安全应用的摄像机。
5.描绘甚至相对短的视频所需的视频数据量可能很大,这可能会导致当数据要通过带宽容量有限的通信网络进行流式传输或以其他方式进行传送时出现困难。因此,视频数据通常在通过现代电信网络传送之前被压缩。当视频存储在存储装置上时,视频的大小也可能是问题,因为储存资源可能有限。视频压缩装置通常在传输或存储之前在源位置处使用软件和/或硬件对视频数据进行编码,从而减少表示数字视频图像所需的数据量。压缩数据然后在目的地处由对视频数据进行解码的视频解压缩装置接收。随着有限的网络资源和对更高视频质量的不断增长的需求,需要提高压缩率而几乎不牺牲图片质量的改进的压缩和解压缩技术。


技术实现要素:

6.本公开内容的实施方式提供了根据独立权利要求的用于编码和解码的设备和方法。
7.前述和其他目的通过独立权利要求的主题来实现。从从属权利要求、说明书和附图中,进一步的实现形式是明显的。
8.本公开内容提供了:
9.一种帧内预测的方法,其中,帧内预测的方法是方向性帧内预测方法或alwip方法,其中,该方法包括以下步骤:
10.准备一组参考样本;
11.在针对第一块的帧内预测的方法是方向性帧内预测的情况下:
12.通过将一组参考样本与第一组系数进行卷积来获得第一图片的第一块的第一预测信号;
13.根据第一预测信号获得第一图片的第一重建块;以及
14.在第二块的帧内预测的方法是alwip的情况下:
15.通过将一组参考样本与第二组系数进行卷积来获得第二图片的第二块的第二预测信号,其中,第二组系数包括alwip的核心矩阵a的系数,并且核心矩阵a的系数和第一组系数具有相同的精度;
16.对第二预测信号进行上采样;以及
17.根据上采样的第二预测信号获得第二图片的第二重建块。
18.因此,本公开内容通过调整乘法运算的准确度提出了统一的方向性帧内预测和alwip。这种统一使得两种方法有可能具有统一的卷积步骤,并且因此消除硬件冗余。上述每个步骤都包括可以调整的参数。通过定义参数的集合,步骤的序列可以作为alwip或者作为方向性帧内预测来操作。
19.仿射线性加权帧内预测alwip也可以称为基于矩阵的帧内预测mip。
20.在如上所述的方法中,第一组系数和/或第二组系数可以分别根据预测样本的位置自适应地定义。
21.在如上所述的方法中,核心矩阵a的系数可以具有6位精度,使得对10位样本的处理适合16位运算。
22.在如上所述的方法中,可以针对方向性帧内预测跳过上采样步骤。
23.在如上所述的方法中,该方法还可以包括:
24.获得两排重建的相邻样本;
25.基于两排重建的相邻样本导出一组参考样本;
26.基于从比特流获得的帧内预测模式获得一组mip系数,
27.其中,一组mip系数中的mip系数c
mip
可以通过如下方式获得:
28.c
mip
=v
sgn
·
(q<<s),
29.其中,q是mip系数的数值;s是左移值;v
sgn
是mip系数的符号值;
30.基于一组参考样本和一组mip系数获得预测块;
31.其中,可以基于预测块获得重建的图片。
32.在如上所述的方法中,基于一组参考样本和一组mip系数获得预测块可以包括参考样本和一组mip系数的矩阵乘法,其中,可以通过在乘法之后重新定位移位操作以减小的位深度执行矩阵乘法中的乘法操作:
33.p
·
c
mip
=v
sgn
·
((p
·
q)<<s),
34.其中,q是mip系数的数值;s是左移值;v
sgn
是mip系数的符号值;p是参考样本,或者
35.在如上所述的方法中,mip系数的数值q可以是6位深度值。
36.在如上所述的方法中,左移值可以是2位深度值。
37.在如上所述的方法中,可以借助于在角度帧内预测的帧内插值处理中使用的乘法器来执行乘法。
38.本公开内容还提供了一种编码器,包括用于执行上述方法的处理电路。
39.本公开内容还提供了一种解码器,包括用于执行上述方法的处理电路。
40.本公开内容还提供了一种计算机程序产品,包括用于执行上述方法的程序代码。
41.本公开内容还提供了一种解码器,包括:一个或更多个处理器;和耦接至处理器并
存储用于由处理器执行的程序的非暂态计算机可读存储介质,其中,该程序在由处理器执行时将解码器配置成执行上述方法。
42.本公开内容还提供了一种编码器,包括:一个或更多个处理器;和耦接至处理器并存储用于由处理器执行的程序的非暂态计算机可读存储介质,其中,该程序在由处理器执行时将编码器配置成执行上述方法。
43.本公开内容还提供了一种编码器,包括:准备单元,被配置成准备一组参考样本;第一获得单元,被配置成:在通过方向性帧内预测对第一块进行帧内预测的情况下:通过将一组参考样本与第一组系数进行卷积来获得第一图片的第一块的第一预测信号,并且根据第一预测信号来获得第一图片的第一重建块;第二获得单元,被配置成:在通过alwip对第二图片的第二块进行帧内预测的情况下:通过将一组参考样本与第二组系数进行卷积来获得第二图片的第二块的第二预测信号,其中,第二组系数包括alwip的核心矩阵a的系数,并且核心矩阵a的系数和第一组系数具有相同的精度;对第二预测信号进行上采样;以及根据上采样的第二预测信号获得第二图片的第二重建块。
44.在如上所述的编码器中,第一组系数和/或第二组系数可以分别根据预测样本的位置自适应地定义。
45.在如上所述的编码器中,核心矩阵a的系数可以具有6位精度,使得对10位样本的处理适合16位运算。
46.在如上所述的编码器中,第二获得单元被配置成针对方向性帧内预测跳过上采样步骤。
47.如上所述的编码器还可以包括:第三获得单元,被配置成获得两排重建的相邻样本;导出单元,被配置成基于两排重建的相邻样本来导出一组参考样本;第四获得单元,被配置成基于从比特流获得的帧内预测模式来获得一组mip系数,其中,该一组mip系数中的mip系数c
mip
可以通过如下方式获得:
48.c
mip
=v
sgn
·
(q<<s),
49.其中,q是mip系数的数值;s是左移值;v
sgn
是mip系数的符号值;预测单元,被配置成基于一组参考样本和一组mip系数来获得预测块;其中,可以基于预测块获得重建的图片。
50.在如上所述的编码器中,预测单元可以被配置成基于参考样本和一组mip系数的矩阵乘法来获得预测块,其中,可以通过在乘法之后重新定位移位操作来以减小的位深度执行矩阵乘法中的乘法操作:
51.p
·
g
mip
=v
sgn
·
((p
·
q)<<s)
52.其中,q是mip系数的数值;s是左移值;v
sgn
是mip系数的符号值;p是参考样本,或者
53.在如上所述的编码器中,mip系数的数值q可以是6位深度值。
54.在如上所述的编码器中,左移值可以是2位深度值。
55.在如上所述的编码器中,可以借助于在角度帧内预测的帧内插值处理中使用的乘法器来执行乘法。
56.本公开内容还提供了一种解码器,包括:准备单元,被配置成准备一组参考样本;
第一获得单元,被配置成:在通过方向性帧内预测对第一块进行帧内预测的情况下:通过将一组参考样本与第一组系数进行卷积来获得第一图片的第一块的第一预测信号,以及根据第一预测信号来获得第一图片的第一重建块;第二获得单元,被配置成:在通过alwip对第二图片的第二块进行帧内预测的情况下:通过将一组参考样本与第二组系数进行卷积来获得第二图片的第二块的第二预测信号,其中,第二组系数包括alwip的核心矩阵a的系数,并且核心矩阵a的系数和第一组系数具有相同的精度;对第二预测信号进行上采样;以及根据上采样的第二预测信号获得第二图片的第二重建块。
57.在如上所述的解码器中,第一组系数和/或第二组系数可以分别根据预测样本的位置自适应地定义。
58.在如上所述的解码器中,核心矩阵a的系数可以具有6位精度,使得对10位样本的处理适合16位运算。
59.在如上所述的解码器中,第二获得单元(3005)可以被配置成针对方向性帧内预测跳过上采样步骤。
60.如上所述的解码器还可以包括:第三获得单元,被配置成获得两排重建的相邻样本;导出单元,被配置成基于两排重建的相邻样本来导出一组参考样本;第四获得单元,被配置成基于从比特流获得的帧内预测模式来获得一组mip系数,其中,该一组mip系数中的mip系数c
mip
可以通过如下方式获得:
61.c
mip
=v
sgn
·
(q<<s),
62.其中,q是mip系数的数值;s是左移值;v
sgn
是mip系数的符号值;预测单元,被配置成基于一组参考样本和一组mip系数来获得预测块;其中,可以基于预测块获得重建的图片。
63.在如上所述的解码器中,预测单元可以被配置成基于参考样本和一组mip系数的矩阵乘法来获得预测块,其中,可以通过在乘法之后重新定位移位操作来以减小的位深度执行矩阵乘法中的乘法操作:
64.p
·
c
mip
=v
sgn
·
((p
·
q)<<s),
65.其中,q是mip系数的数值;s是左移值;v
sgn
是mip系数的符号值;p是参考样本,或者
66.在如上所述的解码器中,mip系数的数值q可以是6位深度值。
67.在如上所述的解码器中,左移值可以是2位深度值。
68.在如上所述的解码器中,其中,可以借助于在角度帧内预测的帧内插值处理中使用的乘法器来执行乘法。
69.在如上所述的编码器和解码器中,第一获得单元和第二获得单元可以相同。
70.应当注意,mip可以使用专用的mpm信令机制,以及重新定义的mpm列表导出机制,当intra_lwip_flag为1时可以启用该机制。
71.本公开内容通过统一当intra_lwip_flag为0时和当intra_lwip_flag为1时的信令的情况来减少解析过程中的检查次数。
72.根据第一方面,本发明涉及一种统一mpm列表构建的方法,并且因此涉及在用信号传送的方向性帧内预测模式的数量与帧内预测块的大小之间的新的相关性。
73.根据第二方面,本发明涉及一种用于对视频流进行解码的设备,包括处理器和存储器。存储器存储使处理器执行根据第一方面的方法的指令。
74.根据第三方面,本发明涉及一种用于对视频流进行编码的设备,包括处理器和存储器。存储器存储使得处理器执行根据第二方面的方法的指令。
75.根据第四方面,提出了一种其上存储有指令的计算机可读存储介质,这些指令在被执行时使得一个或更多个处理器被配置成对视频数据进行编码。这些指令使得一个或更多个处理器执行根据第一方面或第二方面的方法或第一方面或第二方面的任何可能实施方式。
76.根据第五方面,本发明涉及一种计算机程序,其包括用于在计算机上执行时执行根据第一方面或第二方面的方法或第一方面或第二方面的任何可能实施方式的程序代码。
77.一个或更多个实施方式的细节在附图和以下描述中阐述。从描述、附图和权利要求中,其他特征、目的和优点将变得明显。
附图说明
78.在下文中,参照附图更详细地描述本发明的实施方式,其中:
79.图1a是示出被配置成实现本发明的实施方式的视频编码系统的示例的框图;
80.图1b是示出被配置成实现本发明的实施方式的视频编码系统的另一示例的框图;
81.图2是示出被配置成实现本发明的实施方式的视频编码器的示例的框图;
82.图3是示出被配置成实现本发明的实施方式的视频解码器的示例结构的框图;
83.图4是示出编码设备或解码设备的示例的框图;
84.图5是示出编码设备或解码设备的另一示例的框图;
85.图6示出了定向模式及其对应的方向。换句话说,图6是示出vtm 4.0和vvc规范草案v.4.中的角度帧内预测方向和相关联的帧内预测模式的图;
86.图7是示出基于矩阵的帧内预测(matrix

based intra prediction,mip)的方法的简化框图,该方法也被称为仿射线性加权帧内预测(affine linear weighted intra prediction,alwip);
87.图8是示出基于矩阵的帧内预测(mip)的方法的详细框图,该方法也被称为仿射线性加权帧内预测(alwip);
88.图9示出了包括9位数值和符号(1位)的长度为10位的mip系数;
89.图10示出了受非零最高有效位(most significant bit,msb)的位置的影响从9位数值中提取的mip系数的6位数值;
90.图11示出了具有6位数值的mip系数的表示;
91.图12示出了如何通过mip重用用于帧内预测插值滤波的乘法器;
92.图13示出了本公开内容的帧内预测方法的实施方式的流程图,帧内预测方法是方向性帧内预测方法或alwip方法;
93.图14示出了根据本公开内容的实施方式的编码器;
94.图15示出了根据本公开内容的实施方式的解码器。
95.在下文中,如果没有另外明确说明,则相同的附图标记表示相同或至少功能等同的特征。
具体实施方式
96.在以下描述中,参照形成本公开内容的一部分并且通过图示的方式示出本发明的实施方式的特定方面或者可以使用本发明的实施方式的特定方面的附图。应当理解,本发明的实施方式可以在其他方面中使用,并且包括附图中未描绘的结构或逻辑变化。因此,以下详细描述不被认为是限制性的,并且本发明的范围由所附权利要求限定。
97.例如,应当理解,与所描述的方法有关的公开内容还可以适用于被配置成执行该方法的相应装置或系统,反之亦然。例如,如果描述了一个或多个特定方法步骤,则对应的装置可以包括一个或多个单元例如功能单元以执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或者多个单元中的每一个执行多个步骤中的一个或更多个步骤),即使这样的一个或更多个单元未在附图中明确地描述或示出也是如此。另一方面,例如,如果基于一个或多个单元例如功能单元来描述特定设备,则对应的方法可以包括一个步骤来执行一个或多个单元的功能(例如,一个步骤执行一个或多个单元的功能,或者多个步骤中的每一个执行多个单元中的一个或更多个单元的功能),即使在这样的一个或多个步骤未在图中明确地描述或示出的情况下也是如此。此外,应当理解,除非另有特别说明,否则在本文中描述的各种示例性实施方式和/或方面的特征可以彼此组合。
98.视频编码通常是指形成视频或视频序列的图片的序列的处理。代替术语“图片”,术语“帧”或“图像”可以在视频编码的领域中用作同义词。视频编码(或一般的编码)包括视频编码和视频解码两部分。视频编码在源端处执行,通常包括处理(例如通过压缩处理)原始视频图片以减少表示视频图片所需的数据量(用于更有效的存储和/或传输)。视频解码在目的地端处执行,并且通常包括与编码器相比的逆处理以重建视频图片。涉及视频图片(或一般地图片)的“编码”的实施方式应当理解为涉及视频图片或相应视频序列的“编码”或“解码”。编码部分和解码部分的组合也被称为codec(coding and decoding,编码和解码)。
99.在无损视频编码的情况下,可以重建原始视频图片,即重建的视频图片具有与原始视频图片相同的质量(假设在存储或传输期间没有传输损失或其他数据损失)。在有损视频编码的情况下,执行进一步的压缩(例如通过量化执行)以减少表示视频图片的数据量,该视频图片在解码器处不能完全重建,即重建的视频图片的质量与原始视频图片的质量相比更低或更差。
100.若干视频编码标准属于“有损混合视频编解码器”的组(即,将样本域中的空间和时间预测与变换域中用于应用量化的2d变换编码相结合)。视频序列的每个图片通常被划分成不重叠的块的集合,并且编码通常在块级别上执行。换句话说,在编码器处,通常在块(视频块)级别上处理(即编码)视频,例如通过使用空间(帧内图片)预测和/或时间(帧间图片)预测来生成预测块,从当前块(当前处理/要处理的块)中减去预测块以获得残差块,变换残差块并在变换域中量化残差块以减少要传输的数据量(压缩),而在解码器处,与编码器相比的逆处理被应用于已编码或压缩的块,以重建当前块以用于表示。此外,编码器复制解码器处理循环,使得两者将生成相同的预测(例如,帧内预测和帧间预测)和/或重建以处理(即,编码)后续块。
101.在视频编码系统10的以下实施方式中,基于图1至图3描述视频编码器20和视频解码器30。
102.图1a是示出示例编码系统10的示意框图,例如可以利用本技术的技术的视频编码系统10(或短编码系统10)。视频编码系统10的视频编码器20(或短编码器20)和视频解码器30(或短解码器30)表示可以被配置成执行根据本技术中描述的各种示例的技术的装置的示例。
103.如图1a所示,编码系统10包括源装置12,源装置12被配置成例如向目的地装置14提供已编码图片数据21以对已编码图片数据13进行解码。
104.源装置12包括编码器20,并且可以另外地(即可选地)包括图片源16、预处理器(或预处理单元)18(例如图片预处理器18)以及通信接口或通信单元22。
105.图片源16可以包括或者可以是任何种类的图片捕获装置(例如用于捕获真实世界图片的摄像机)和/或任何种类的图片生成装置(例如用于生成计算机动画图片的计算机图形处理器)或任何种类的用于获得和/或提供真实世界图片、计算机生成的图片(例如屏幕内容、虚拟现实(virtual reality,vr)图片)和/或其任意组合(例如增强现实(augmented reality,ar)图片)的其他装置。图片源可以是存储任何前述图片的任何种类的存储器或存储装置。
106.与预处理器18和由预处理单元18执行的处理不同,图片或图片数据17也可以被称为原始图片或原始图片数据17。
107.预处理器18被配置成接收(原始)图片数据17,并且对图片数据17执行预处理以获得预处理的图片19或预处理的图片数据19。由预处理器18执行的预处理可以例如包括修整、颜色格式转换(例如从rgb到ycbcr)、颜色校正或去噪。可以理解,预处理单元18可以是可选部件。
108.视频编码器20被配置成接收预处理的图片数据19并提供已编码图片数据21(另外的细节将在下面例如基于图2描述)。源装置12的通信接口22可以被配置成接收已编码图片数据21,并且通过通信信道13将已编码图片数据21(或其任何进一步处理的版本)发送至另一装置例如目的地装置14或用于存储或直接重建的任何其他装置。
109.目的地装置14包括解码器30(例如视频解码器30),并且可以另外地(即可选地)包括通信接口或通信单元28、后处理器32(或后处理单元32)和显示装置34。
110.目的地装置14的通信接口28被配置成例如直接从源装置12或从任何其他源(例如存储装置如已编码图片数据存储装置)接收已编码图片数据21(或其任何进一步处理的版本),并且将已编码图片数据21提供给解码器30。
111.通信接口22和通信接口28可以被配置成经由源装置12与目的地装置14之间的直接通信链路(例如直接有线或无线连接)或者经由任何种类的网络(例如有线或无线网络或其任意组合,或者任何种类的私有和公共网络或其任何种类的组合)来发送或接收已编码图片数据21或已编码数据13。
112.通信接口22可以例如被配置成将已编码图片数据21打包成适当的格式(例如分组),以及/或者使用任何种类的传输编码或处理来处理已编码图片数据,以在通信链路或通信网络上进行传输。
113.形成通信接口22的对应部的通信接口28可以例如被配置成接收传输的数据,并且使用任何类型的对应传输解码或处理和/或解包来处理传输数据,以获得已编码图片数据21。
114.通信接口22和通信接口28二者可以被配置为如图1a中从源装置12指向目的地装置14的通信信道13的箭头所指示的单向通信接口或者双向通信接口,并且可以被配置成例如发送和接收消息例如以建立连接以确认和交换与通信链路和/或数据传输(例如,已编码图片数据传输)相关的任何其他信息。
115.解码器30被配置成接收已编码图片数据21并提供已解码图片数据31或已解码图片31(进一步的细节将在下面例如基于图3或图5描述)。
116.目的地装置14的后处理器32被配置成对已解码图片数据31(也称为重建的图片数据)例如已解码图片31进行后处理,以获得后处理的图片数据33(例如后处理的图片33)。由后处理单元32执行的后处理可以包括例如颜色格式转换(例如从ycbcr到rgb)、颜色校正、修整或重新采样、或者例如用于准备已解码图片数据31以例如通过显示装置34进行显示的任何其他处理。
117.目的地装置14的显示装置34被配置成接收后处理的图片数据33以用于例如向用户或观看者显示图片。显示装置34可以是或包括用于呈现重建的图片的任何种类的显示器,例如集成的或外部的显示器或监视器。显示器可以例如包括液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light emitting diode,oled)显示器、等离子显示器、投影仪、微型led显示器、硅上液晶(liquid crystal on silicon,lcos)、数字光处理器(digital light processor,dlp)或任何其他类型的显示器。
118.尽管图1a将源装置12和目的地装置14描绘为分离的装置,但是装置的实施方式也可以包括两者或两者的功能——源装置12或对应的功能以及目的地装置14或对应的功能。在这样的实施方式中,源装置12或对应的功能和目的地装置14或对应的功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任意组合来实现。
119.基于该描述,对于本领域技术人员来说明显的是,不同单元的功能或者如图1a所示的源装置12和/或目的地装置14内的功能的存在和(准确的)划分可以根据实际装置和应用而变化。
120.编码器20(例如视频编码器20)或解码器30(例如视频解码器30)或编码器20和解码器30二者可以经由如图1b所示的处理电路来实现,所述处理电路例如一个或更多个微处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application

specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)、离散逻辑、硬件、专用视频编码或其任意组合。编码器20可以经由处理电路46来实现,以体现如关于图2的编码器20和/或本文描述的任何其他编码器系统或子系统所讨论的各种模块。解码器30可以经由处理电路46来实现,以体现如关于图3的解码器30和/或本文描述的任何其他解码器系统或子系统所讨论的各种模块。处理电路可以被配置成执行稍后讨论的各种操作。如图5所示,如果这些技术部分地在软件中实现,则装置可以将针对软件的指令存储在合适的非暂态计算机可读存储介质中,并且可以使用一个或更多个处理器在硬件中执行指令以执行本公开内容的技术。视频编码器20和视频解码器30中的任一个可以集成为单个装置中的组合编码器/解码器(codec)的一部分,例如如图1b所示。
121.源装置12和目的地装置14可以包括各种设备中的任何一种,包括任何种类的手持或固定装置,例如笔记本或膝上型计算机、移动电话、智能电话、平板或平板计算机、摄像机、台式计算机、机顶盒、电视、显示装置、数字媒体播放器、视频游戏控制台、视频流装置
(例如内容服务服务器或内容传送服务器)、广播接收器装置、广播发送器装置等,并且可以不使用操作系统或使用任何种类的操作系统。在一些情况下,源装置12和目的地装置14可以被配备用于无线通信。因此,源装置12和目的地装置14可以是无线通信装置。
122.在一些情况下,图1a所示的视频编码系统10仅仅是示例,并且本技术的技术可以应用于不一定包括编码装置与解码装置之间的任何数据通信的视频编码设置(例如,视频编码或视频解码)。在其他示例中,数据从本地存储器中检索,通过网络进行流传输,等等。视频编码装置可以对数据进行编码并将数据存储至存储器,以及/或者视频解码装置可以从存储器中检索数据并对数据进行解码。在一些示例中,编码和解码由彼此不通信而是简单地将数据编码至存储器以及/或者从存储器中检索数据并对数据进行解码的装置执行。
123.为了方便描述,本文描述了本发明的实施方式,例如通过参考高效视频编码(high

efficiency video coding,hevc)或通用视频编码(versatile video coding,vvc)的参考软件、由itu

t视频编码专家组(video coding experts group,vceg)和iso/iec运动图片专家组(motion picture experts group,mpeg)的视频编码联合协作小组(joint collaboration team on video coding,jct

vc)开发的下一代视频编码标准进行了描述。本领域普通技术人员将理解,本发明的实施方式不限于hevc或vvc。
124.编码器和编码方法
125.图2示出了被配置成实现本技术的技术的示例视频编码器20的示意框图。在图2的示例中,视频编码器20包括输入201(或输入接口201)、残差计算单元204、变换处理单元206、量化单元208、逆量化单元210和逆变换处理单元212、重建单元214、环路滤波器单元220、已解码图片缓冲器(decoded picture buffer,dpb)230、模式选择单元260、熵编码单元270和输出272(或输出接口272)。模式选择单元260可以包括帧间预测单元244、帧内预测单元254和分割单元262。帧间预测单元244可以包括运动估计单元和运动补偿单元(未示出)。如图2所示的视频编码器20也可以被称为混合视频编码器或根据混合视频编解码器的视频编码器。
126.残差计算单元204、变换处理单元206、量化单元208、模式选择单元260可以被称为形成编码器20的前向信号路径,而逆量化单元210、逆变换处理单元212、重建单元214、缓冲器216、环路滤波器220、已解码图片缓冲器(dpb)230、帧间预测单元244和帧内预测单元254可以被称为形成视频编码器20的后向信号路径,其中,视频编码器20的后向信号路径对应于解码器(参见图3中的视频解码器30)的信号路径。逆量化单元210、逆变换处理单元212、重建单元214、环路滤波器220、已解码图片缓冲器(dpb)230、帧间预测单元244和帧内预测单元254也被称为形成视频编码器20的“内置解码器”。
127.图片和图片分割(图片和块)
128.编码器20可以被配置成例如经由输入201接收图片17(或图片数据17),例如形成视频或视频序列的图片序列的图片。接收的图片或图片数据也可以是预处理的图片19(或预处理的图片数据19)。为了简单起见,下面的描述涉及图片17。图片17也可以被称为当前图片或要进行编码的图片(特别是在视频编码中,以将当前图片与其他图片例如相同视频序列(即也包括当前图片的视频序列)的先前已编码和/或已解码图片区分开来)。
129.(数字)图片是或可以被视为具有强度值的样本的二维阵列或矩阵。阵列中的样本也可以称为像素(图片元素的简称)或像元。阵列或图片的水平和竖直方向(或轴)上的样本
数量定义了图片的大小和/或分辨率。对于颜色的表示,通常采用三种颜色分量,即图片可以被表示为或包括三个样本阵列。在rbg格式或颜色空间中,图片包括相应的红色、绿色和蓝色样本阵列。然而,在视频编码中,每个像素通常以亮度和色度格式或颜色空间(例如ycbcr)表示,ycbcr包括由y(有时也代替地使用l)指示的亮度分量和由cb和cr指示的两个色度分量。亮度(或短亮度)分量y表示明亮度或灰度级强度(例如,如在灰度级图片中),而两个色度(或短色度)分量cb和cr表示色度或颜色信息分量。因此,ycbcr格式的图片包括亮度采样值的亮度采样阵列(y)和色度值的两个色度采样阵列(cb和cr)。rgb格式的图片可以转换或变换成ycbcr格式,反之ycbcr格式的图片可以转换或变换成rgb格式,这个过程也称为颜色变换或转换。如果图片是单色的,则图片可以仅包括亮度样本阵列。因此,图片可以是例如单色格式的亮度样本阵列或者4:2:0、4:2:2和4:4:4彩色格式的亮度样本阵列和两个相应的色度样本阵列。
130.视频编码器20的实施方式可以包括被配置成将图片17分割成多个(通常不重叠)图片块203的图片分割单元(图2中未描绘出)。这些块也可以被称为根块、宏块(h.264/avc)或编码树块(coding tree block,ctb)或编码树单元(coding tree unit,ctu)(h.265/hevc和vvc)。图片分割单元可以被配置成针对视频序列的所有图片使用相同的块大小和定义块大小的相应网格,或者在图片或图片子集或图片组之间改变块大小,并且将每个图片分割成相应的块。
131.在另外的实施方式中,视频编码器可以被配置成直接接收图片17的块203,例如形成图片17的一个块、若干块或所有块。图片块203也可以称为当前图片块或要进行编码的图片块。
132.像图片17一样,图片块203也是或者可以被视为具有强度值(样本值)的样本的二维阵列或矩阵,尽管其尺寸小于图片17。换句话说,块203可以包括例如一个样本阵列(例如,在单色图片17的情况下是亮度阵列,或者在彩色图片的情况下是亮度阵列或色度阵列)或者三个样本阵列(例如,在彩色图片17的情况下是亮度阵列和两个色度阵列)或者任何其他数量和/或种类的阵列,这取决于所应用的颜色格式。块203的水平和竖直方向(或轴)上的样本数量定义了块203的大小。因此,块可以是例如m
×
n(m列乘n行)样本阵列,或者m
×
n变换系数阵列。
133.如图2所示的视频编码器20的实施方式可以被配置成逐块地对图片17进行编码,例如,针对每个块203执行编码和预测。
134.如图2所示的视频编码器20的实施方式还可以被配置成通过使用切片(也称为视频切片)来分割图片以及/或者对图片进行编码,其中,图片可以被分割成一个或更多个切片(通常不重叠)或者使用一个或更多个切片进行编码,并且每个切片可以包括一个或更多个块(例如,ctu)。
135.如图2所示的视频编码器20的实施方式还可以被配置成通过使用瓦片组(也称为视频瓦片组)和/或瓦片(也称为视频瓦片)来分割图片以及/或者对图片进行编码,其中,图片可以被分割成一个或更多个瓦片组(通常不重叠)或者使用一个或更多个瓦片组进行编码,并且每个瓦片组可以包括例如一个或更多个块(例如ctu)或一个或更多个瓦片,其中,每个瓦片例如可以是矩形形状并且可以包括一个或更多个块(例如ctu),例如完整的或部分的块。
136.残差计算
137.残差计算单元204可以被配置成基于图片块203和预测块265(稍后提供关于预测块265的另外的细节)例如通过从图片块203的样本值中减去预测块265的样本值来逐个样本(逐个像素)地计算残差块205(也称为残差205)来获得样本域中的残差块205。
138.变换
139.变换处理单元206可以被配置成对残差块205的样本值应用变换(例如离散余弦变换(discrete cosine transform,dct)或离散正弦变换(discrete sine transform,dst))以获得变换域中的变换系数207。变换系数207也可以被称为变换残差系数,并且表示变换域中的残差块205。
140.变换处理单元206可以被配置成应用dct/dst的整数近似,例如针对h.265/hevc指定的变换。与正交dct变换相比,这样的整数近似通常按一定的因子进行缩放。为了保持由正向和反向变换处理的残差块的范数,应用附加的缩放因子作为变换处理的一部分。通常基于某些约束来选择缩放因子,如用于移位操作的是2的幂的缩放因子、变换系数的位深度、准确度和实现成本之间的折衷等。具体的缩放因子例如被指定用于如由逆变换处理单元212进行的逆变换(以及例如由视频解码器30处的逆变换处理单元312进行的相应的逆变换),并且可以相应地指定例如用于由编码器20处的变换处理单元206进行的前向变换的相应缩放因子。
141.视频编码器20(相应地变换处理单元206)的实施方式可以被配置成例如直接输出变换参数(例如一种或更多种变换)或者经由熵编码单元270进行编码或压缩,使得例如视频解码器30可以接收变换参数并使用变换参数以进行解码。
142.量化
143.量化单元208可以被配置成例如通过应用标量量化或矢量量化来量化变换系数207以获得量化的系数209。量化的系数209也可以被称为量化的变换系数209或量化的残差系数209。
144.量化处理可以减少与一些或所有变换系数207相关联的位深度。例如,在量化期间,n位变换系数可以向下舍入到m位变换系数,其中,n大于m。量化的程度可以通过调整量化参数(quantization parameter,qp)来修改。例如,对于标量量化,可以应用不同的缩放来实现更精细或更粗略的量化。较小的量化步长对应于较精细的量化,而较大的量化步长对应于较粗略的量化。适用的量化步长可以由量化参数(qp)来指示。量化参数例如可以是针对预定义的适用量化步长的集合的索引。例如,小量化参数可以对应于精细量化(小量化步长),以及大量化参数可以对应于粗略量化(大量化步长),反之亦然。量化可以包括除以量化步长,以及例如由逆量化单元210进行的相应的去量化和/或逆去量化可以包括乘以量化步长。根据一些标准(例如hevc)的实施方式可以被配置成使用量化参数来确定量化步长。一般地,可以使用包括除法的方程的定点近似基于量化参数来计算量化步长。可以针对量化和去量化引入额外的缩放因子以恢复残差块的范数,由于在针对量化步长和量化参数的方程的定点近似中使用的缩放,残差块的范数可能被修改。在一个示例实现方式中,逆变换的缩放和去量化可以被组合。可替选地,可以使用定制的量化表,并且例如以比特流的方式从编码器向解码器用信号传送。量化是有损操作,其中,损耗随着量化步长的增加而增加。
145.视频编码器20(相应地量化单元208)的实施方式可以被配置成例如直接输出量化参数(qp)或者经由熵编码单元270进行编码,使得例如视频解码器30可以接收量化参数并应用量化参数以进行解码。
146.逆量化
147.逆量化单元210被配置成例如通过基于或使用与量化单元208相同的量化步长应用由量化单元208应用的量化方案的逆操作来对量化的系数应用量化单元208的逆量化,以获得去量化的系数211。去量化的系数211也可以被称为去量化的残差系数211,并且对应于变换系数207(尽管由于量化的损失,通常与变换系数不相同)。
148.逆变换
149.逆变换处理单元212被配置成应用由变换处理单元206应用的变换的逆变换(例如逆离散余弦变换(dct)或逆离散正弦变换(dst)或其他逆变换)以获得样本域中的重建的残差块213(或对应的去量化的系数213)。重建的残差块213也可以被称为变换块213。
150.重建
151.重建单元214(例如加法器或求和器214)被配置成将变换块213(即重建的残差块213)添加至预测块265,以例如通过逐个样本地将重建的残差块213的样本值和预测块265的样本值相加来获得样本域中的重建的块215。
152.滤波
153.环路滤波器单元220(或简称“环路滤波器”220)被配置成对重建的块215进行滤波以获得经滤波的块221,或者通常对重建的样本进行滤波以获得经滤波的样本。环路滤波器单元例如被配置成使像素过渡平滑或者以其他方式提高视频质量。环路滤波器单元220可以包括一个或更多个环路滤波器(例如去块滤波器、样本自适应偏移(sample

adaptive offset,sao)滤波器)或一个或更多个其他滤波器(例如双边滤波器、自适应环路滤波器(adaptive loop filter,alf)、锐化滤波器、平滑滤波器或协作滤波器)或其任意组合。尽管环路滤波器单元220在图2中被示出为环路中滤波器,但是在其他配置中,环路滤波器单元220可以被实现为后环路滤波器。经滤波的块221也可以被称为经滤波的重建块221。
154.视频编码器20(相应地环路滤波器单元22)的实施方式可以被配置成例如直接输出环路滤波器参数(例如样本自适应偏移信息)或者经由熵编码单元270进行编码,使得例如解码器30可以接收并应用相同的环路滤波器参数或相应的环路滤波器以进行解码。
155.已解码图片缓冲器
156.已解码图片缓冲器(dpb)230可以是存储参考图片或一般参考图片数据以用于由视频编码器20对视频数据进行编码的存储器。dpb 230可以由各种存储器装置中的任何一种存储器装置形成,例如包括同步dram(synchronous dram,sdram)的动态随机存取存储器(dynamic random access memory,dram)、磁阻ram(magnetoresistive ram,mram)、电阻ram(resistive ram,rram)或其他类型的存储器装置。已解码图片缓冲器(dpb)230可以被配置成存储一个或更多个经滤波的块221。已解码图片缓冲器230还可以被配置成存储相同当前图片或不同图片(例如,先前重建的图片)的其他先前经滤波的块(例如,先前重建且经滤波的块221),并且可以提供完整的先前重建的(即已解码的)图片(和相应的参考块和样本)和/或部分重建的当前图片(和相应的参考块和样本)例如以用于帧间预测。已解码图片缓冲器(dpb)230还可以被配置成例如在重建的块215没有被环路滤波器单元220滤波的情
况下存储一个或更多个未经滤波的重建的块215,或者通常未经滤波的重建的样本,或者重建的块或样本的任何其他进一步处理的版本。
157.模式选择(分割和预测)
158.模式选择单元260包括分割单元262、帧间预测单元244和帧内预测单元254,并且被配置成接收或获得原始图片数据例如原始块203(当前图片17的当前块203)以及重建的图片数据例如相同(当前)图片的和/或来自一个或多个先前已解码图片(例如来自已解码图片缓冲器230或其他缓冲器(例如行缓冲器,未示出))的经滤波的和/或未经滤波的重建的样本或块。重建的图片数据被用作参考图片数据以进行预测(例如帧间预测或帧内预测)以获得预测块265或预测器265。
159.模式选择单元260可以被配置成确定或选择用于当前块预测模式(包括无分割)的分割和预测模式(例如,帧内或帧间预测模式),并且生成用于残差块205的计算和重建的块215的重建的相应预测块265。
160.模式选择单元260的实施方式可以被配置成(例如,从模式选择单元260支持的或可用于模式选择单元260的模式中)选择分割和预测模式,该分割和预测模式提供最佳匹配或者换言之最小残差(最小残差意味着用于传输或存储的更好的压缩),或者最小信令开销(最小信令开销意味着用于传输或存储的更好的压缩),或者其考虑或平衡两者。模式选择单元260可以被配置成基于率失真优化(rate distortion optimization,rdo)来确定分割和预测模式,即选择提供最小率失真的预测模式。如“最佳”、“最小”、“最优”等术语在本文中不一定指总体上的“最佳”、“最小”、“最优”等,而是也可以指满足终止标准或选择标准,如值超过或低于阈值或其他可能导致“次优选择”但减少复杂性和处理时间的约束。
161.换句话说,分割单元262可以被配置成例如迭代地使用四叉树分割(quad

tree

partitioning,qt)、二叉树分割(binary partitioning,bt)或三叉树分割(triple

tree

partitioning,tt)或其任意组合来将块203分割成更小的块分区或子块(其再次形成块),并且执行例如针对块分区或子块的每一个的预测,其中,模式选择包括对被分割的块203的树结构的选择,并且预测模式被应用于块分区或子块中的每一个。
162.在下文中,将更详细地说明由示例视频编码器20(例如,通过分割单元260)执行的分割和(通过帧间预测单元244和帧内预测单元254)执行的预测处理。
163.分割
164.分割单元262可以将当前块203分割(或划分)成更小的分区,例如正方形或矩形大小的更小块。这些较小的块(也可以称为子块)还可以分割成甚至更小的分区。这也称为树分割或分层树分割,其中,例如在根树级0(层级0,深度0)处的根块可以被递归地分割,例如被分割成下一个较低树级的两个或更多块,例如在树级1(层级1,深度1)处的节点,其中,这些块可以再次被分割成下一个较低级别的两个或更多块,例如树级2(层级2,深度2)等,直到例如由于满足终止标准(例如达到最大树深度或最小块大小)而分割终止。没有进一步分割的块也被称为树的叶块或叶节点。使用分割为两个分区的树称为二叉树(bt),使用分割为三个分区的树称为三叉树(tt),以及使用分割为四个分区的树称为四叉树(qt)。
165.如前所述,本文使用的术语“块”可以是图片的一部分,特别是正方形或矩形部分。例如,参考hevc和vvc,该块可以是或对应于编码树单元(ctu)、编码单元(coding unit,cu)、预测单元(prediction unit,pu)和变换单元(transform unit,tu)和/或对应的块,例
如编码树块(ctb)、编码块(coding block,cb)、变换块(a transform block,tb)或预测块(prediction block,pb)。
166.例如,编码树单元(ctu)可以是或包括具有三个样本阵列的图片的亮度样本的ctb、色度样本的两个对应的ctb或者单色图片或使用三个分离的颜色平面和用于对样本进行编码的语法结构进行编码的图片的样本的ctb。相应地,编码树块(ctb)可以是针对值为n的n
×
n个样本块,使得将部件划分为ctb为分割。编码单元(cu)可以是或包括具有三个样本阵列的图片的亮度样本的编码块、色度样本的两个对应编码块或者单色图片或使用三个单独的颜色平面和用于对样本进行编码的语法结构进行编码的图片的样本的编码块。相应地,编码块(cb)可以是针对值为m和n的m
×
n个样本块,使得将ctb划分为编码块为分割。
167.在实施方式中,例如,根据hevc,编码树单元(ctu)可以通过使用被表示为编码树的四叉树结构被划分成cu。是使用图片间(时间)预测还是图片内(空间)预测对图片区域进行编码的决定是在cu级别处做出的。根据pu划分类型,每个cu可以进一步分割成一个、两个或四个pu。在一个pu内,应用相同的预测处理,并且在pu的基础上向解码器传输相关信息。在通过基于pu划分类型应用预测处理来获得残差块之后,可以根据与用于cu的编码树相似的另一四叉树结构将cu分割成变换单元(tu)。
168.在实施方式中,例如,根据当前发展中的最新视频编码标准(其被称为通用视频编码(vvc)),组合的四叉树和二叉树(quad

tree and binary tree,qtbt)分割例如被用于分割编码块。在qtbt块结构中,cu可以具有正方形或矩形形状。例如,编码树单元(ctu)首先被四叉树结构分割。四叉树叶节点由二叉树或三元(或三叉)树结构进一步分割。分割的树叶节点被称为编码单元(cu),并且该分割用于预测和变换处理,而不需要任何进一步的分割。这意味着cu、pu和tu在qtbt编码块结构中具有相同的块大小。并行地,多个分割(例如三叉树分割)可以与qtbt块结构一起使用。
169.在一个示例中,视频编码器20的模式选择单元260可以被配置成执行本文描述的分割技术的任何组合。
170.如上所述,视频编码器20被配置成从(例如,预定的)预测模式的集合中确定或选择最佳或最优预测模式。预测模式的集合可以包括例如帧内预测模式和/或帧间预测模式。
171.帧内预测
172.帧内预测模式的集合可以包括35种不同的帧内预测模式,例如如dc(或均值)模式和平面模式这样的非定向模式,或者例如如在hevc中定义的那样的定向模式,或者可以包括67种不同的帧内预测模式,例如如dc(或均值)模式和平面模式这样的非定向模式,或者例如如针对vvc定义的那样的定向模式。
173.帧内预测单元254被配置成根据帧内预测模式的集合的帧内预测模式使用相同当前图片的相邻块的重建的样本来生成帧内预测块265。
174.帧内预测单元254(或者一般地模式选择单元260)还被配置成以语法元素266的形式向熵编码单元270输出帧内预测参数(或者一般地指示针对块的所选帧内预测模式的信息)以包括在编码图片数据21中,使得例如视频解码器30可以接收并使用预测参数以进行解码。
175.帧间预测
176.帧间预测模式(或可能的帧间预测模式)的集合取决于可用的参考图片(即,例如
存储在dbp 230中先前至少部分已解码的图片)和其他帧间预测参数,例如整个参考图片或参考图片的仅一部分(例如,当前块的区域周围的搜索窗口区域)是否用于搜索最佳匹配的参考块,以及/或者例如是否应用像素插值(例如一半像元/半像元和/或四分之一像元插值)。
177.除了上述预测模式之外,可以应用跳过模式和/或直接模式。
178.帧间预测单元244可以包括运动估计(motion estimation,me)单元和运动补偿(motion compensation,mc)单元(图2中均未示出)。运动估计单元可以被配置成接收或获得图片块203(当前图片17的当前图片块203)和已解码图片231,或者至少一个或多个先前重建的块(例如一个或多个其他/不同的先前已解码图片231的重建的块)以用于运动估计。例如,视频序列可以包括当前图片和先前已解码图片231,或者换句话说,当前图片和先前已解码图片231可以是形成视频序列的图片序列的一部分或者可以形成该图片序列。
179.编码器20可以例如被配置成从多个其他图片的相同或不同图片的多个参考块中选择参考块,并且向运动估计单元提供参考图片(或参考图片索引)和/或参考块的位置(x,y坐标)与当前块的位置之间的偏移(空间偏移)作为帧间预测参数。这种偏移也称为运动向量(motion vector,mv)。
180.运动补偿单元被配置成获得(例如,接收)帧间预测参数,并且基于或使用帧间预测参数来执行帧间预测以获得帧间预测块265。由运动补偿单元执行的运动补偿可以涉及基于由运动估计确定的运动/块向量来获得或生成预测块,可以对子像素精度执行插值。插值滤波可以根据已知的像素样本生成另外的像素样本,因此潜在地增加了可以用于对图片块进行编码的候选预测块的数量。当接收到针对当前图片块的pu的运动向量时,运动补偿单元可以在参考图片列表之一中定位运动向量指向的预测块。
181.运动补偿单元还可以生成与块相关联的语法元素和视频切片以供视频解码器30在对视频切片的图片块进行解码时使用。除了切片和相应语法元素之外或作为切片和相应语法元素的替选,可以生成或使用瓦片组和/或瓦片和相应语法元素。
182.熵编码
183.熵编码单元270被配置成对量化的系数209、帧间预测参数、帧内预测参数、环路滤波器参数和/或其他语法元素应用例如熵编码算法或方案(例如,可变长度编码(vlc)方案、上下文自适应vlc方案(cavlc)、算术编码方案、二值化、上下文自适应二进制算术编码(cabac)、基于语法的上下文自适应二进制算术编码(sbac)、概率间隔分割熵(pipe)编码或另一熵编码方法或技术)或旁路(无压缩),以获得可以经由输出272例如以已编码比特流21的形式输出的已编码图片数据21,使得例如视频解码器30可以接收并使用参数以进行解码。已编码比特流21可以被传输至视频解码器30,或者存储在存储器中以供视频解码器30稍后传输或检索。
184.视频编码器20的其他结构变化可以用于对视频流进行编码。例如,基于非变换的编码器20可以针对某些块或帧直接对残差信号进行量化,而无需变换处理单元206。在另一实现方式中,编码器20可以将量化单元208和逆量化单元210组合成单个单元。
185.解码器和解码方法
186.图3示出了被配置成实现本技术的技术的视频解码器30的示例。视频解码器30被配置成接收例如由编码器20进行编码的已编码图片数据21(例如已编码比特流21)以获得
已解码图片331。已编码图片数据或比特流包括用于对已编码图片数据(例如表示已编码视频切片(和/或瓦片组或瓦片)和相关联语法元素的图片块的数据)进行解码的信息。
187.在图3的示例中,解码器30包括熵解码单元304、逆量化单元310、逆变换处理单元312、重建单元314(例如求和器314)、环路滤波器320、已解码图片缓冲器(dbp)330、模式应用单元360、帧间预测单元344和帧内预测单元354。帧间预测单元344可以是运动补偿单元或包括运动补偿单元。在一些示例中,视频解码器30可以执行一般地与关于图2的视频编码器100描述的编码过程相反的解码过程。
188.如关于编码器20所说明的,逆量化单元210、逆变换处理单元212、重建单元214、环路滤波器220、已解码图片缓冲器(dpb)230、帧间预测单元344和帧内预测单元354也被称为形成视频编码器20的“内置解码器”。因此,逆量化单元310在功能上可以与逆量化单元110相同,逆变换处理单元312在功能上可以与逆变换处理单元212相同,重建单元314在功能上可以与重建单元214相同,环路滤波器320在功能上可以与环路滤波器220相同,并且已解码图片缓冲器330在功能上可以与已解码图片缓冲器230相同。因此,针对视频编码器20的相应单元和功能提供的说明相应地适用于视频解码器30的相应单元和功能。
189.熵解码
190.熵解码单元304被配置成解析比特流21(或者一般地已编码图片数据21)并且例如对已编码图片数据21执行熵解码,以获得例如量化的系数309和/或已解码编码参数(图3中未示出),例如帧间预测参数(例如参考图片索引和运动向量)、帧内预测参数(例如帧内预测模式或索引)、变换参数、量化参数、环路滤波器参数和/或其他语法元素中的任何或全部。熵解码单元304可以被配置成应用与关于编码器20的熵编码单元270描述的编码方案相对应的解码算法或方案。熵解码单元304还可以被配置成向模式应用单元360提供帧间预测参数、帧内预测参数和/或其他语法元素,并且向解码器30的其他单元提供其他参数。视频解码器30可以在视频切片级别和/或视频块级别接收语法元素。除了切片和相应语法元素之外或作为切片和相应语法元素的替选,可以接收和/或使用瓦片组和/或瓦片和相应语法元素。
191.逆量化
192.逆量化单元310可以被配置成(例如,例如通过由熵解码单元304进行解析和/或解码)从已编码图片数据21接收量化参数(qp)(或者一般地与逆量化相关的信息)和量化的系数,并且基于量化参数对已解码量化系数309应用逆量化来获得去量化的系数311(其也可以被称为变换系数311)。逆量化处理可以包括使用由视频编码器20针对视频切片(或瓦片或瓦片组)中的每个视频块确定的量化参数来确定量化程度,并且同样地确定应当应用的逆量化程度。
193.逆变换
194.逆变换处理单元312可以被配置成接收去量化的系数311(也称为变换系数311),并且对去量化的系数311应用变换,以便获得样本域中的重建的残差块213。重建的残差块213也可以被称为变换块313。该变换可以是逆变换,例如逆dct、逆dst、逆整数变换或概念上类似的逆变换处理。逆变换处理单元312还可以被配置成(例如,通过例如由熵解码单元304进行解析和/或解码)从已编码图片数据21接收变换参数或相应的信息,以确定要应用于去量化的系数311的变换。
195.重建
196.重建单元314(例如加法器或求和器314)可以被配置成将重建的残差块313和预测块365相加以例如通过将重建的残差块313的样本值和预测块365的样本值相加来获得样本域中的重建的块315。
197.滤波
198.环路滤波器单元320(在编码环路中或在编码环路之后)被配置成对重建的块315进行滤波以获得经滤波的块321例如以使像素过渡平滑,或者以其他方式提高视频质量。环路滤波器单元320可以包括一个或更多个环路滤波器(例如去块滤波器、样本自适应偏移(sao)滤波器)或一个或更多个其他滤波器(例如双边滤波器、自适应环路滤波器(alf)、锐化滤波器、平滑滤波器或协作滤波器)或其任意组合。尽管环路滤波器单元320在图3中被示为环路中滤波器,但是在其他配置中,环路滤波器单元320可以被实现为后环路滤波器。
199.已解码图片缓冲器
200.图片的已解码视频块321然后存储在已解码图片缓冲器330中,该已解码图片缓冲器330存储已解码图片331作为参考图片以用于针对其他图片的后续运动补偿以及/或者用于分别输出显示。
201.解码器30被配置成例如经由输出312输出已解码图片311以用于呈现或供用户观看。
202.预测
203.帧间预测单元344在功能上可以与帧间预测单元244(特别是运动补偿单元)相同,并且帧内预测单元354在功能上可以与帧间预测单元254相同,并且基于(例如,通过例如由熵解码单元304进行解析和/或解码)从已编码图片数据21接收的分割和/或预测参数或相应信息来执行划分或分割决策和预测。模式应用单元360可以被配置成基于(经滤波的或未经滤波的)重建的图片、块或相应的样本来针对每个块执行预测(帧内或帧间预测)以获得预测块365。
204.当视频切片被编码为帧内编码(i)切片时,模式应用单元360的帧内预测单元354被配置成基于用信号传送的帧内预测模式和来自当前图片的先前已解码块的数据针对当前视频切片的图片块生成预测块365。当视频图片被编码为帧间已编码(即,b或p)切片时,模式应用单元360的帧间预测单元344(例如,运动补偿单元)被配置成基于从熵解码单元304接收的运动向量和其他语法元素来针对当前视频切片的视频块产生预测块365。针对帧间预测,可以从参考图片列表之一内的参考图片之一产生预测块。视频解码器30可以使用基于存储在dpb 330中的参考图片的默认构建技术来构建参考帧列表,列表0和列表1。除了切片(例如视频切片)之外或作为切片(例如视频切片)的替选,相同或相似的技术可以应用于使用瓦片组(例如视频瓦片组)和/或瓦片(例如视频瓦片)的实施方式或者由这些实施方式应用,例如可以使用i、p或b瓦片组和/或瓦片对视频进行编码。
205.模式应用单元360被配置成通过解析运动向量或相关信息以及其他语法元素来确定针对当前视频切片的视频块的预测信息,并且使用预测信息来针对正被解码的当前视频块产生预测块。例如,模式应用单元360使用一些接收到的语法元素来确定用于对视频切片的视频块进行编码的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,b切片、p切片或gpb切片)、针对切片的一个或更多个参考图片列表的构建信息、针对切片的每个帧
间已编码视频块的运动向量、针对切片的每个帧间已编码视频块的帧间预测状态以及用于对当前视频切片中的视频块进行解码的其他信息。除了切片(例如视频切片)之外或作为切片(例如视频切片)的替选,相同或相似的技术可以应用于使用瓦片组(例如视频瓦片组)和/或切片(例如视频切片)的实施方式或者由这些实施方式使用,例如可以使用i、p或b瓦片组和/或瓦片对视频进行编码。
206.如图3所示的视频解码器30的实施方式可以被配置成通过使用切片(也称为视频切片)来分割图片以及/或者对图片进行解码,其中,图片可以被分割成一个或更多个切片(通常不重叠)或者使用一个或更多个切片进行解码,并且每个切片可以包括一个或更多个块(例如ctu)。
207.如图3所示的视频解码器30的实施方式可以被配置成通过使用瓦片组(也称为视频瓦片组)和/或瓦片(也称为视频瓦片)来分割图片以及/或者对图片进行解码,其中,图片可以被分割成一个或更多个瓦片组(通常不重叠)或者使用一个或更多个瓦片组进行解码,并且每个瓦片组可以包括例如一个或更多个块(例如ctu)或一个或更多个瓦片,其中,每个瓦片例如可以是矩形形状并且可以包括一个或更多个块(例如ctu),例如完整的或部分的块。
208.视频解码器30的其他变型可以用于对已编码图片数据21进行解码。例如,解码器30可以在没有环路滤波单元320的情况下产生输出视频流。例如,基于非变换的解码器30可以针对某些块或帧直接对残差信号进行逆量化,而无需逆变换处理单元312。在另一实现方式中,视频解码器30可以将逆量化单元310与逆变换处理单元312组合成单个单元。
209.应当理解,在编码器20和解码器30中,当前步骤的处理结果可以被进一步处理并且然后输出至下一步骤。例如,在插值滤波、运动向量导出或环路滤波之后,可以对插值滤波、运动向量导出或环路滤波的处理结果执行另外的操作,例如裁剪或移位。
210.应当注意,另外的操作可以应用于当前块的导出运动向量(包括但不限于仿射模式的控制点运动向量、仿射模式、平面模式、atmvp模式中的子块运动向量、时间运动向量等)。例如,运动向量的值根据其表示位被限制在预定义范围内。如果运动向量的表示位是bitdepth,则范围是

2^(bitdepth

1)~2^(bitdepth

1)

1,其中,“^”表示幂运算。例如,如果bitdepth被设置为等于16,则范围为

32768~32767;如果bitdepth被设置为等于18,则范围为

131072~131071。例如,导出的运动向量的值(例如,一个8
×
8块内的四个4
×
4子块的mv)被约束,使得四个4
×
4子块mv的整数部分之间的最大差值不超过n个像素,例如不超过1个像素。此处提供了用于根据bitdepth来约束运动向量的两种方法。
211.方法1:通过流动操作移除溢出msb(最高有效位)
212.ux=(mvx 2
bitdepth
)%2
bitdepth
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
213.mvx=(ux>=2
bitdepth
‑1)?(ux
‑2bitdepth
):ux
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
214.uy=(mvy 2
bitdepth
)%2
bitdepth
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
215.mvy=(uy>=2
bitdepth
‑1)?(uy
‑2bitdepth
):uy
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
216.其中,mvx是图像块或子块的运动向量的水平分量,mvy是图像块或子块的运动向量的竖直分量,以及ux和uy指示中间值;
217.例如,如果mvx的值为

32769,则在应用公式(1)和(2)后,得到的值为32767。在计算机系统中,十进制数存储为二进制补码。

32769的二进制补码是1,0111,1111,1111,1111
(17位),然后丢弃msb,因此得到的二进制补码是0111,1111,1111,1111(十进制数是32767),其与应用公式(1)和(2)的输出相同。
218.ux=(mvpx mvdx 2
bitdepth
)%2
bitdepth
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
219.mvx=(ux>=2
bitdepth
‑1)?(ux
‑2bitdepth
):ux
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
220.uy=(mvpy mvdy 2
bitdepth
)%2
bitdepth
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
221.mvy=(uy>=2
bitdepth
‑1)?(uy
‑2bitdepth
):uy
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
222.如公式(5)至(8)所示,这些操作可以在mvp和mvd求和期间应用。
223.方法2:通过裁剪值来移除溢出的msb
224.vx=clip3(
‑2bitdepth
‑1,2
bitdepth
‑1‑
1,vx)
225.vy=clip3(
‑2bitdepth
‑1,2
bitdepth
‑1‑
1,vy)
226.其中,vx是图像块或子块的运动向量的水平分量,vy是图像块或子块的运动向量的竖直分量;x、y和z分别对应于mv裁剪处理的三个输入值,以及函数clip3的定义如下:
[0227][0228]
图4是根据本公开内容的实施方式的视频编码装置400的示意图。视频编码装置400适合于实现本文描述的公开实施方式。在实施方式中,视频编码装置400可以是解码器(例如图1a的视频解码器30)或者编码器(例如图1a的视频编码器20)。
[0229]
视频编码装置400包括用于接收数据的入口端410(或输入端410)和接收器单元(receiver unit,rx)420;用于处理数据的处理器、逻辑单元或中央处理单元(central processing unit,cpu)430;用于发送数据的发送器单元(transmitterunit,tx)440和出口端口450(或输出端450);以及用于存储数据的存储器460。视频编码装置400还可以包括耦接至用于光或电信号的输出或输入的入口端口410、接收器单元420、发射器单元440和出口端口450的光电(optical

to

electrical,oe)部件和电光(electrical

to

optical,eo)部件。
[0230]
处理器430由硬件和软件实现。处理器430可以实现为一个或更多个cpu芯片、内核(例如,多核处理器)、fpga、asic和dsp。处理器430与入口端口410、接收器单元420、发射器单元440、出口端口450和存储器460进行通信。处理器430包括编码模块470。编码模块470实现上述公开的实施方式。例如,编码模块470实现、处理、准备或提供各种编码操作。因此,包含编码模块470对视频编码装置400的功能提供了实质性的改进,并且实现了视频编码装置400到不同状态的变换。可替选地,编码模块470被实现为存储在存储器460中并由处理器430执行的指令。
[0231]
存储器460可以包括一个或更多个磁盘、磁带驱动器和固态驱动器,并且可以用作溢出数据存储装置,以在选择程序进行执行时存储这样的程序,并且存储在程序执行期间读取的指令和数据。存储器460可以是例如易失性和/或非易失性的,并且可以是只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、三进制内容可寻址存储器(ternary content

addressable memory,tcam)和/或静态随机存取存储器(static random

access memory,sram)。
[0232]
图5是根据示例性实施方式的设备500的简化框图,该设备500可以用作图1中的源
装置12和目的地装置14中的任一个或两者。
[0233]
设备500中的处理器502可以是中央处理单元。可替选地,处理器502可以是能够操纵或处理现在存在的或以后开发的信息的任何其他类型的装置或多个装置。尽管所公开的实现方式可以用所示的单个处理器(例如处理器502)来实现,但是可以使用多于一个的处理器来实现速度和效率方面的优势。
[0234]
在一个实现方式中,设备500中的存储器504可以是只读存储器(rom)装置或随机存取存储器(ram)装置。任何其他合适类型的存储装置都可以用作存储器504。存储器504可以包括由处理器502使用总线512访问的代码和数据506。存储器504还可以包括操作系统508和应用程序510,应用程序510包括允许处理器502执行此处描述的方法的至少一个程序。例如,应用程序510可以包括应用1至应用n,应用1至应用n还包括执行此处描述的方法的视频编码应用。装置500还可以包括一个或更多个输出装置,例如显示器518。在一个示例中,显示器518可以是将显示器与可操作以感测触摸输入的触敏元件相结合的触敏显示器。显示器518可以经由总线512耦接至处理器502。
[0235]
尽管此处被描绘为单个总线,但是设备500的总线512可以由多个总线组成。此外,次级存储器514可以直接耦接至设备500的其他部件,或者可以经由网络被访问,并且可以包括诸如存储卡的单个集成单元或者诸如多个存储卡的多个单元。因此,设备500可以以各种各样的配置来实现。
[0236]
方向性帧内预测是包括将相邻样本的值传播到由预测方向指定的预测块中的众所周知的技术。图6示出了93个预测方向,其中,虚线方向与仅应用于非正方形块的广角模式相关联。
[0237]
方向可以通过增加预测样本与参考样本的位置之间的偏移量来指定。这种增加的较大幅度对应于预测方向的较大倾斜。表1指定了predmodelintra与角度参数intrapredangle之间的映射表。该参数实际上是1/32样本分辨率中指定的每行(或每列)偏移量的增加。
[0238]
表1

intrapredangle的规格
[0239]
predmodeintra

14

13

12

11

10
‑9‑8‑7‑6‑5‑4‑3‑2‑
1234intrapredangle5123412561711281028673645751453935322926predmodeintra56789101112131415161718192021intrapredangle232018161412108643210
‑1‑2‑
3predmodeintra2223242526272829303132333435363738intrapredangle
‑4‑6‑8‑
10

12

14

16

18

20

23

26

29

32

29

26

23

20predmodeintra3940414243444546474849505152535455intrapredangle

18

16

14

12

10
‑8‑6‑4‑3‑2‑
1012346predmodeintra5657585960616263646566676869707172intrapredangle810121416182023262932353945515764predmodelntra7374757677787980
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
intrapredangle7386102128171256341512
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
[0240]
广角模式可以通过大于32(1个样本)的intrapredangle的绝对值——其对应于大于45度的预测方向的斜率——来识别。
[0241]
预测样本(“presamples”)可以如下所述从相邻样本“p”中获得:预测样本的值presamples[x][y](其中,x=0..ntbw

1,y=0..ntbh

1)推导如下:
[0242]

如果predmodelintra大于或等于34,则适用以下有序步骤:
[0243]
1.参考样本阵列ref[x]指定如下:
[0244]

以下适用:
[0245]
ref[x]=p[
‑1‑
refidx x][
‑1‑
refidx],其中,x=0..ntbw refidx
[0246]

如果intrapredangle小于0,则主参考样本阵列扩展如下:
[0247]

当(ntbh*intrapredangle)>>5小于

1时,
[0248]
ref[x]=p[
‑1‑
refidx][
‑1‑
refidx ((x*invangle 128)>>8)],
[0249]
其中,x=

1..(ntbh*intrapredangle)>>5
[0250]
ref[((ntbh*intrapredangle)>>5)

1]=ref[(ntbh*intrapredangle)>>5]
[0251]
ref[ntbw 1 refidx]=ref[ntbw refidx]
[0252]

否则,
[0253]
ref[x]=p[
‑1‑
refidx x][
‑1‑
refidx],其中,x=ntbw 1 refidx..refw refidx
[0254]
ref[

1]=ref[0]
[0255]

附加样本ref[refw refidx x],其中,x=1..(max(1,ntbw/ntbh)*refidx 1)推导如下:
[0256]
ref[refw refidx x]=p[

1 refw][
‑1‑
refidx]
[0257]
2.预测样本的值predsamples[x][y](其中,x=0..ntbw

1,y=0..ntbh

1)推导如下:
[0258]

索引变量iidx和乘法因子ifact推导如下:
[0259]
iidx=((y 1 refidx)*intrapredangle)>>5 refidx
[0260]
ifact=((y 1 refidx)*intrapredangle)&31
[0261]

如果cldx等于0,则适用以下情况:
[0262]

插值滤波器系数ft[j](其中,j=0..3)推导如下:
[0263]
ft[j]=filterflag?fg[ifact][j]:fc[ifact][j]
[0264]

预测样本的值predsamples[x][y]推导如下:
[0265][0266]

否则(cldx不等于0),根据ifact的值,适用以下情况:
[0267]

如果ifact不等于0,则预测样本的值predsamples[x][y]推导如下:
[0268]
predsamples[x][[y]=
[0269]
((32ifact)*ref[x iidx 1] ifact*ref[x iidx 2] 16)>>5
[0270]

否则,预测样本的值predsamples[x][y]推导如下:
[0271]
predsamples[x][y]=ref[x iidx 1]
[0272]

否则(predmodeintra小于34),适用以下有序步骤:
[0273]
1.参考样本阵列ref[x]指定如下:
[0274]

以下适用:
[0275]
ref[x]=p[
‑1‑
refidx][
‑1‑
refidx x],其中,x=0..ntbh refidx
[0276]

如果intrapredangle小于0,则主参考样本阵列扩展如下:
[0277]

当(ntbw*intrapredangle)>>5小于

1时,
[0278]
ref[x]=p[
‑1‑
refidx ((x*invangle 128)>>8)][
‑1‑
refidx],
[0279]
其中,x=

1..(ntbw*intrapredangle)>>5
[0280]
ref[((ntbw*intrapredangle)>>5)

1]=
[0281]
ref[(ntbw*intrapredangle)>>5](8

145)
[0282]
ref[ntbg 1 refidx]=ref[ntbh refidx]
[0283]

否则,
[0284]
ref[x]=p[
‑1‑
refidx][
‑1‑
refidx x],其中,x=ntbh 1 refidx..refh refidx
[0285]
ref[

1]=ref[0]
[0286]

附加样本ref[refw refidx x](其中,x=1..(max(1,ntbw/ntbh)*refidx 1))推导如下:
[0287]
ref[refh refidx x]=p[

1 refh][
‑1‑
refidx]
[0288]
2.预测样本的值predsamples[x][y](其中,x=0..ntbw

1,y=0..ntbh

1)推导如下:
[0289]

索引变量iidx和乘法因子ifact推导如下:
[0290]
iidx=((x 1 refidx)*intrapredangle)>>5
[0291]
ifact=((x 1 refidx)*intrapredangle)&31
[0292]

如果cldx等于0,则适用以下情况:
[0293]

插值滤波器系数ft[j](其中,j=0..3)推导如下:
[0294]
ft[j]=filterflag?fg[ifact][j]:fc[ifact][j]
[0295]

预测样本的值predsamples[x][y]推导如下:
[0296][0297]

否则(cldx不等于0),根据ifact的值,适用以下情况:
[0298]

如果ifact不等于0,则预测样本的值predsamples[x][y]推导如下:
[0299]
predsamples[x][y]=
[0300]
((32

ifact)*ref[y iidx 1] ifact*ref[y iidx 2] 16)>>5
[0301]

否则,预测样本的值predsamples[x][y]推导如下:
[0302]
predsamples[x][y]=ref[y iidx 1]
[0303]
表2中指定了在定向预测中使用的插值滤波器系数fc[phase][j]和fg[phase][j],其中,phase=0..31和j=0..3。
[0304]
表2

插值滤波器系数fc和fg的规格
[0305][0306]
如图7和图8所示,一种称为仿射线性加权预测的方法使用参考样本来推导预测样本的值。为了预测宽度为w和高度为h的矩形块的样本,仿射线性加权帧内预测(alwip)将块左侧的一排h个重建的相邻边界样本和块上方的一排w个重建的相邻边界样本作为输入。如果重建的样本不可用,则按照常规帧内预测中进行的那样生成它们。
[0307]
预测信号的生成基于以下三个步骤:
[0308]
1.在边界样本中,通过平均提取w=h=4情况下的4个样本和所有其他情况下的8个样本。
[0309]
2.以平均的样本作为输入来执行矩阵向量乘法,之后是偏移量的加法。结果是原始块中的样本的子采样集合的减小的预测信号。
[0310]
3.剩余位置处的预测信号是由子采样集合的预测信号通过线性插值生成的,该线性插值是在每个方向上的单步线性插值。
[0311]
生成预测信号所需的矩阵和偏移向量取自矩阵的三个集合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列的矩阵
和6个大小为64的偏移向量组成。该集合的矩阵和偏移向量或这些矩阵和偏移向量的一部分用于所有其他块形状。
[0312]
计算矩阵向量乘积所需的乘法总次数始终小于或等于4
·
w
·
h。换句话说,对于alwip模式,每个样本最多需要四次乘法。
[0313]
边界的平均
[0314]
在第一步中,输入边界bdry
top
和bdry
left
减小为更小的边界和此处,在4
×
4块的情况下,和都由2个样本组成,以及在所有其他情况下,和都由4个样本组成。
[0315]
在4
×
4块的情况下,对于0≤i<2,定义
[0316][0317]
并且类似地定义了
[0318]
否则,如果块宽度w被给定为w=4
·2k
,则对于0≤i<4,定义
[0319][0320]
并且类似地定义了
[0321]
两个减小的边界和连接至减小的边界向量bdry
red
,因此,对于4
×
4形状的块,其大小为4,而对于所有其他形状的块,其大小为8。如果mode指的是alwip模式,则这种连接定义如下:
[0322][0323]
最后,对于二次采样预测信号的内插,对于大的块,需要平均边界的第二版本。即,如果min(w,h)>8且w≥h,则写入w=8*2
l
,并且对于0≤i<8,定义
[0324][0325]
如果min(w,h)>8,且h>w,则类似地定义
[0326]
通过矩阵向量乘法生成减小的预测信号
[0327]
在减小的输入向量bdry
red
中,生成减小的预测信号pred
red

[0328]
后一个信号是宽度w
red
和高度h
red
的下采样块上的信号。此处,w
red
和h
red
定义为:
[0329][0330][0331]
通过计算矩阵向量乘积并添加偏移量来计算减小的预测信号pred
red

[0332]
pred
red
=a
·
bdry
red
b。
[0333]
此处,在w=h=4的情况下a是具有w
red
·
h
red
行和4列的矩阵,并且在所有其他情况下a是具有w
red
·
h
red
行和8列的矩阵。b是w
red
·
h
red
大小的向量。
[0334]
矩阵a和向量b取自集合s0、s1、s2之一,如下所示。定义索引(还称为块大小类型)idx=idx(w,h)如下:
[0335][0336]
此外,将m表述如下:
[0337][0338]
然后,如果idx≤1或idx=2且min(w,h)>4,则代入和在idx=2且min(w,h)=4的情况下,假设a是通过省略的每一行而产生的矩阵,在w=4的情况下,其对应于下采样块中的奇数x坐标,或者在h=4的情况下,其对应于下采样块中的奇数y坐标。
[0339]
最后,在以下情况下,减小的预测信号被其转置所代替:
[0340]
·
w=h=4并且mode≥18
[0341]
·
max(w,h)=8并且mode≥10
[0342]
·
max(w,h)>8并且mode≥6
[0343]
要解决的技术问题:
[0344]
在alwip中,预测样本是使用系数的集合的卷积获得的。
[0345]
值得注意的是,通过计算矩阵向量乘积并添加偏移量来计算减小的预测信号pred
red

[0346]
pred
red
=a
·
bdry
red
b。
[0347]
如果将该步骤与倾斜方向性帧内预测中使用的插值步骤并置,可以注意到一些相似之处。
[0348]
第一,使用参考样本滤波对从相邻样本获得的一组参考样本执行乘法。第二,使用卷积运算从参考样本中获得预测样本。这两种方法的区别在于卷积核(a和ft[])不同。因此,尽管有相似之处,但是这两种方法的步骤是不同的,并且需要具有相似模块的单独硬件设计。
[0349]
解决方案和优点:本公开内容通过调整乘法运算的准确度提出了统一的方向性帧内预测和alwip。这种统一使得两种方法有可能具有统一的卷积步骤,并且因此消除硬件冗余。
[0350]
本公开内容的核心可以被表述为包括以下步骤的帧内预测方法:
[0351]

准备一组参考样本;
[0352]

通过将参考样本与系数的集合进行卷积来获得预测信号,该系数的集合可以根据预测样本的位置自适应地定义,
[0353]

对预测信号进行上采样。
[0354]
这些步骤的每一个都具有可以调整的参数。通过定义参数的集合,步骤的序列可以作为alwip或者作为方向性帧内预测来操作。
[0355]
图7示出了适用于以下两种方法的流程图:alwip和方向性帧内预测。图7所示的所有步骤具有相同的输入和输出数据,但是每个步骤内的处理根据所选择的帧内预测方法而变化。
[0356]
参考样本生成的第一步执行如下:
[0357]

在alwip情况下为边界平均
[0358]

在方向性帧内预测情况下为样本选择和条件滤波
[0359]
将参考样本与卷积核进行卷积的第二步要求两种方法使用相同精度的滤波器核,并且期望使用相同数量的系数。
[0360]
对于方向性帧内预测的情况,可以跳过上采样的最后一步。该设计暗示了对两种方法所使用的参数的某些限制。
[0361]
特别地,系数的集合应当包括给定精度(即位深度)的系数。
[0362]
在一个实施方式中,定向插值滤波器的系数被定义为与属于矩阵“a”的系数具有相同的精度。例如,该集合可以如表1中给出的那样定义。
[0363]
表1.帧内预测插值滤波器系数
[0364][0365]
在另一实施方式中,矩阵a的系数具有6位精度,以便对10位样本的处理适合16位运算。换句话说,矩阵a的系数具有6位精度,使得对10位样本的处理适合16位运算。
[0366]
alwip方法也可以称为基于矩阵的帧内预测(mip)。存在mip时帧内预测模式的信令可以如表1所示进行表述。
[0367]
表1.启用mip的情况下帧内预测模式的信令。
[0368][0369]
mpm列表推导的过程需要相邻块的帧内预测模式。然而,即使mip没有用于当前块,相邻块也可以使用mip来预测,并且因此将具有与常规的非mip帧内预测模式不一致的帧内预测模式。出于该目的,引入了查找表(表2

4),其将输入的mip模式索引映射到常规的帧内预测模式。
[0370]
表2.针对4
×
4块的模式映射查找表
[0371][0372]
表3.针对8
×
8块的模式映射查找表
[0373]
mip索引0123456789101112131415161718intrapredmode010102218181010104405010
[0374]
表4.针对16
×
16块的模式映射查找表
[0375]
mip索引012345678910intrapredmode1111180101500
[0376]
当预测mip块时,在考虑相邻的非mip模式的情况下构建其mpm列表。这些模式使用两个步骤映射到mip模式:
[0377]

在第一步处,方向性帧内预测模式被映射到定向模式的减小集合(见表5)
[0378]

第二步是基于定向模式的减小集合的确定的定向模式来确定mip模式。
[0379]
表5.将方向性帧内预测模式映射到定向模式的减小集合
[0380]
intrapredmode01234567891011121314151617intrapredmode33012233445566778899
[0381]
intrapredmode181920212223242526272829303132333435intrapredmode33101011111212131314141515161617171818
[0382]
intrapredmode363738394041424344454647484950515253intrapredmode33191920202121222223232424252526262727
[0383]
intrapredmode5455565758596061626364656667intrapredmode3328282929303031313232333334dm_chroma_idx
[0384]
如图9所示,mip系数(矩阵和的元素)具有10位的长度,包括9位的数值(magnitude)和符号(1位)。参考软件vtm

5.0和h.266/vvc规范草案中使用的mip系数值的统计数据如表6所示。
[0385]
表6.mip系数的统计数据
[0386]
块大小值范围4
×4‑
222...4356578
×8‑
207...47668316
×
16

170...314484
[0387]
在所提出的发明中,mip系数的数值与帧内预测中用于插值滤波的滤波器系数的数值一致。这种一致使得能够通过mip在矩阵乘法中重用用于帧内预测插值滤波的乘法器。为了实现这一点,mip系数的数值不应当超过6位。如图10所示,从9位数值1001中提取mip系数的6位数值,其受非零最高有效位(msb)的位置的影响。1002

1005表示的4种情况可用。要恢复mip系数的9位数值c
mip
和符号,可以使用以下公式:
[0388]
c
mip
=v
sgn
·
(q<<s),
[0389]
其中,q是mip系数的6位数值;s是左移值;v
sgn
是mip系数的符号值。受最高有效位位置影响的左移值如表7所示。
[0390]
表7.受最高有效位位置影响的左移值
[0391]
图10中的情况索引左移值10020100311004210053
[0392]
图11中示出了具有6位数值1102的mip系数的表示。在最左边的位置处,放置了mip系数符号1101。左移的2位值被附加至mip系数数值。在图12中,示出了如何通过mip重用用于帧内预测插值滤波的乘法器。mip系数的6位数值1202和(例如,具有10位的位深度的)像素值1203是乘法器1204的输入,乘法器1204提供具有数值1205的结果,该结果前置有符号1206,符号1206具有与mip系数的符号1201相同的值。
[0393]
矩阵乘法中的乘法操作是通过在乘法后重新定位移位操作以减小的位深度来执
行的:
[0394]
p
·
c
mip
=v
sgn
·
((p
·
q)<<s),
[0395]
其中,q是mip系数的数值;s是左移值;v
sgn
是mip系数的符号值;p是参考样本,或者
[0396]
阵列7.根据所提出的方法选择的mip系数的示例性值
[0397]
[0398]
[0399]
[0400]
[0401]
[0402]
[0403]
[0404]
[0405]
[0406][0407]
阵列8.根据所提出的方法选择的、用c/c 编程语言定义的mir系数的示例性值。
[0408]
[0409]
[0410]
[0411]
[0412]
[0413][0414]
阵列9.根据所提出的方法选择的、用c/c 编程语言定义的mip系数的示例性值。
[0415]
[0416]
[0417]
[0418]
[0419]
[0420]
[0421]
[0422]
[0423]
[0424]
[0425]
[0426][0427]
修改后的信令如表9所示。
[0428]
表9.针对定向模式和mip模式的统一信令
[0429][0430]
如果intra_lwip_flag未用信号传送,则推断其为0。
[0431]
联合信令情况下mpm列表的推导表示如下:
[0432]
不修改mpm编码(intra_luma_mpm_idx),即调用针对方向性帧内预测模式的处理。
[0433]
调用非mpm编码(intra_luma_mpm_remainder)。对于intra_lwip_flag为1的情况,根据intra_lwip_mpm_flag的值,使用截断的一元代码或固定长度的代码对该符号进行编码。当该标志被设置为等于0时,由该固定长度的代码进行编码的模式的数量设置如下:
[0434]
cmax=(cbwidth==4&&cbheight==4)?
[0435]
31:((cbwidth<=8&&cbheight<=8)?15:7)
[0436]
当intra_lwip_mpm_flag等于1时,可以使用截断的一元代码进行编码的模式的数量是固定的,并且不依赖于当前块的尺寸。本发明的另一实施方式便于使用用于mpm编码的特殊标志。该标志可以被称为intra_luma_planar_flag或intra_luma_not_planar_flag,分别指示帧内预测模式是平面还是非平面。当mpm_flag等于0时,不用信号传送intra_luma_planar_flag。根据该实施方式,统一信令机制可以定义如下(见表10)。在该实施方式中,仅在intra_luma_not_planar_flag被设置为等于0从而指示帧内预测模式是非平面的情况下,才启用mip mpm信令。否则,当intra_luma_not_planar_flag设置为等于1时,指示帧内预测模式是平面的。在这种情况下,不需要额外的mip相关信令,因为已知平面模式不属于mip模式的集合。
[0437]
表10.有助于intra_luma_non_planar_flag的针对定向模式和mip模式的统一信令
[0438][0439]
在另一实施方式中,使用更一般的intra_luma_head_mpm_flag来代替intra_luma_non_planar_flag。如在前面的实施方式中,假设在临时帧内预测模式的集合中,最可
能的模式是平面模式。因此,当intra_lwip_flag被设置为零时,intra_luma_head_mpm_flag被设置为1,指示帧内预测模式是平面的。当intra_lwip_flag设置为1时,intra_luma_head_mpm_flag被设置为1,指示帧内预测模式是最有可能的mip模式。表11给出了mip的语法,其中的mpm列表部分基于intra_luma_head_mpm_flag信令。
[0440]
表11.有助于intra_luma_head_mpm_flag的针对定向模式和mip模式的统一信令
[0441]
[0442][0443]
对于mip块大小类型0、1和2的值,最可能的mip模式的数量分别是17、0和1。
[0444]
mip模式由乘法矩阵a和偏移矩阵b来定义,乘法矩阵a和偏移矩阵b用于从减小的边界bdry
red
获得减小的预测样本pred
red

[0445]
pred
red
=a
·
bdry
red
b。
[0446]
表12给出了针对mip块大小类型0的最可能模式17的乘法矩阵a和偏移值b。针对mip块大小类型1和2的偏移值b等于0。表13给出了针对最佳模式0和mip块大小类型1的乘法矩阵a。表14给出了针对最佳模式1和mip块大小类型2的乘法矩阵a。
[0447]
表12.针对块大小类型0的最可能mip模式17的乘法矩阵a和偏移值b。(在表12中,乘法矩阵a以8位精度给出,即乘法结果a
·
bdry
red
应当右移8。表13和表14中乘法矩阵a的精度为9位。)
[0448]
表12
[0449]
[0450][0451]
表13.针对块大小类型1的最可能mip模式0的乘法矩阵a。
[0452]
[0453]
表14.针对块大小类型2的最可能mip模式1的乘法矩阵a。
[0454]
[0455][0456]
当针对mip模式用信号传送intra_luma_head_mpm_flag时,最可能的mip模式被指示。这要求以下述方式构建用于mip的mpm列表:mpm列表的第一个元素总是被分配给相同的
最可能的mip模式(例如,分别针对mip块大小类型0、1和2的17、0或1)。
[0457]
用信号传送mrlp索引(intra_luma_ref_idx)、isp标志(intra_subpartitions_split_flag)和mip标志(intra_lwip_flag)的顺序可能不同。表15示出了表10的实施方式,其中,mrlp索引(intra_luma_ref_idx)和isp标志(intra_subpartitions_split_flag)跟随mip标志(intra_lwip_flag)。
[0458]
表15.有助于具有替选标志编码顺序的intra_luma_non_planar_flag的针对定向模式和mip模式的统一信令。
[0459][0460]
图13示出了根据本公开内容的帧内预测的方法,其中,帧内预测的方法是方向性帧内预测方法或alwip方法,其中,该方法包括以下步骤:准备一组参考样本(步骤1601);在针对第一块的帧内预测的方法是方向性帧内预测的情况下(步骤1603:是):通过将一组参考样本与第一组系数进行卷积来获得(步骤1605)第一图片的第一块的第一预测信号;根据
第一预测信号获得(步骤1607)第一图片的第一重建块;并且在第二块的帧内预测的方法是alwip的情况下(步骤1603:否):通过将一组参考样本与第二组系数进行卷积来获得(步骤1609)第二图片的第二块的第二预测信号,其中,第二组系数包括alwip的核心矩阵a的系数,并且核心矩阵a的系数和第一组系数具有相同的精度;对第二预测信号进行上采样(1611);以及根据上采样的第二预测信号获得(1613)第二图片的第二重建块。
[0461]
图14示出了根据本公开内容的编码器20。图14的编码器20包括:准备单元2001,被配置成准备一组参考样本;第一获得单元2003,被配置成:在通过方向性帧内预测对第一块进行帧内预测的情况下:通过将一组参考样本与第一组系数进行卷积来获得第一图片的第一块的第一预测信号,并且根据该第一预测信号获得第一图片的第一重建块;第二获得单元2005,被配置成:在通过alwip对第二图片的第二块进行帧内预测的情况下:通过将一组参考样本与第二组系数进行卷积来获得第二图片的第二块的第二预测信号,其中,第二组系数包括alwip的核心矩阵a的系数,以及核心矩阵a的系数与第一组系数具有相同的精度;对第二预测信号进行上采样;以及根据上采样的第二预测信号获得第二图片的第二重建块。
[0462]
图15示出了根据本公开内容的解码器30。图15的解码器30包括:准备单元3001,被配置成准备一组参考样本;第一获得单元3003,被配置成:在通过方向性帧内预测对第一块进行帧内预测的情况下:通过将一组参考样本与第一组系数进行卷积来获得第一图片的第一块的第一预测信号,并且根据该第一预测信号获得第一图片的第一重建块;第二获得单元(3005),被配置成:在通过alwip对第二图片的第二块进行帧内预测的情况下:通过将一组参考样本与第二组系数进行卷积来获得第二图片的第二块的第二预测信号,其中,第二组系数包括alwip的核心矩阵a的系数,并且核心矩阵a的系数和第一组系数具有相同的精度;对第二预测信号进行上采样;以及根据上采样的第二预测信号获得第二图片的第二重建块。
[0463]
在根据图14的编码器20中,以及/或者在根据图15的解码器30中,第一获得单元和第二获得单元可以是相同的。
[0464]
数学运算符
[0465]
本技术中使用的数学运算符类似于c编程语言中使用的数学运算符。然而,整数除法和算术移位运算的结果被更精确地定义,并且附加的运算被定义,例如幂运算和实值除法。编号和计数惯例通常从0开始,例如,“第一”相当于第0个,“第二”相当于第1个,等等。
[0466]
算术运算符
[0467]
以下算术运算符定义如下:
[0468]
加法
[0469]
‑ꢀ
减法(作为双参数运算符)或否定(作为一元前缀运算符)
[0470]
* 乘法,包括矩阵乘法
[0471]
x
y 幂运算。指定x的y次幂。在其他上下文中,这样的符号用于上标,而不是用于解释为指数运算。
[0472]
/ 整数除法,其中,结果朝向零截断。例如,7/4和

7/

4被截断为1,而

7/4和7/

4被截断为

1。
[0473]
÷ꢀ
用于表示数学方程中不需要截断或舍入的除法。
[0474]
用于表示数学方程中不需要截断或舍入的除法。
[0475] f(i)的和,其中,i取从x到y并且并且包括y的所有整数值。
[0476]
x%y 模数。x除以y的余数,仅针对x>=0且y>0的整数x和y定义。
[0477]
逻辑运算符
[0478]
以下逻辑运算符定义如下:
[0479]
x&&y x和y的布尔逻辑“与”[0480]
x||y x和y的布尔逻辑“或”[0481]
! 布尔逻辑“非”[0482]
x?y:z 如果x为真或不等于0,则取y的值;否则,取z的值。
[0483]
关系运算符
[0484]
以下关系运算符定义如下:
[0485]
>
ꢀꢀꢀꢀ
大于
[0486]
>=
ꢀꢀ
大于或等于
[0487]
<
ꢀꢀꢀꢀ
小于
[0488]
<=
ꢀꢀ
小于或等于
[0489]
== 等于
[0490]
!= 不等于
[0491]
当关系运算符应用于已赋值为“na”(不适用)的语法元素或变量时,值“na”被视为针对语法元素或变量的不同值。值“na”被认为不等于任何其他值。
[0492]
逐位运算符
[0493]
以下逐位操作符定义如下:
[0494]
& 逐位“与”。在对整数参数进行运算时,对整数值的二进制补码表示进行运算。当对包含比另一个参数少的位的二进制参数进行运算时,通过添加等于0的更多有效位来扩展较短的参数。
[0495]
| 逐位“或”。在对整数参数进行运算时,对整数值的二进制补码表示进行运算。当对包含比另一个参数少的位的二进制参数进行运算时,通过添加等于0的更多有效位来扩展较短的参数。
[0496]
^ 逐位“异或”。在对整数参数进行运算时,对整数值的二进制补码表示进行运算。当对包含比另一个参数少的位的二进制参数进行运算时,通过添加等于0的更多有效位来扩展较短的参数。
[0497]
x>>y 对x的二进制补码整数表示算术右移y个二进制位。该函数仅针对y的非负整数值定义。在移位操作之前,由于右移而移入最高有效位(msb)的位的值等于x的msb。
[0498]
x<<y 对x的二进制补码整数表示算术左移y个二进制位。该函数仅针对y的非负整数值定义。由于左移而移入最低有效位(lsb)的位的值等于0。
[0499]
赋值运算符
[0500]
以下算术运算符定义如下:
[0501]
= 赋值运算符
[0502]
递增,即x 相当于x=x 1;当在队列索引中使用时,在增量操作之前取变量的值。
[0503]
‑‑ꢀ
递减,即x
‑‑
相当于x=x

1;当在队列索引中使用时,在减量操作之前取变量的值。
[0504]
= 按指定量递增,即x =3相当于x=x 3,以及x =(

3)相当于x=x (

3)。
[0505]

= 按指定量递减,即x

=3相当于x=x

3,以及x

=(

3)相当于x=x

(

3)。
[0506]
范围符号
[0507]
以下符号用于指定值的范围:
[0508]
x=y..zx取从y到z(包括y和z)的整数值,其中,x、y和z是整数,并且z大于y。
[0509]
数学函数
[0510]
定义了以下数学函数:
[0511][0512]
asin(x) 三角反正弦函数,对

1.0到1.0(包含

1.0和1.0)范围内的参数x进行运算,其中,输出值范围为以弧度为单位的

π
÷
2至π
÷
2(包含

π
÷
2和π
÷
2)
[0513]
atan(x) 三角反正切函数,对参数x进行运算,其中,输出值范围为以弧度为单位的

π
÷
2至π
÷
2(包含

π
÷
2和π
÷
2)
[0514][0515]
ceil(x) 大于或等于x的最小整数。
[0516]
clipl
y
(x)=clip3(0,(1<<bitdepth
y
)

1,x)
[0517]
clipl
c
(x)=clip3(0,(1<<bitdepth
c
)

1,x)
[0518][0519]
cos(x) 对以弧度为单位的参数x进行运算的三角余弦函数。
[0520]
floor(x) 小于或等于x的最大整数
[0521][0522]
ln(x) x的自然对数(以e为底的对数,其中,e是自然对数的底常数2.718281828...)。
[0523]
log2(x) x的以2为底的对数。
[0524]
log10(x) x的以10为底的对数。
[0525]
[0526][0527]
round(x)=sign(x)*floor(abs(x) 0.5)
[0528][0529]
sin(x) 对以弧度为单位的参数x进行运算的三角正弦函数
[0530][0531]
swap(x,y)=(y,x)
[0532]
tan(x) 对以弧度为单位的参数x进行运算的三角正切函数
[0533]
操作优先级的顺序
[0534]
当表达式中的优先级顺序没有用括号明确指示时,下列规则适用:
[0535]

优先级较高的操作在优先级较低的任何操作之前执行。
[0536]

从左到右依次执行相同优先级的操作。
[0537]
下表指定了从最高到最低的操作优先级;表格中较高的位置指示较高的优先级。
[0538]
对于那些也在c编程语言中使用的运算符,本说明书中使用的优先级顺序与c编程语言中使用的优先级顺序相同。
[0539]
表:从最高(表格的顶部处)到最低(表格的底部处)的操作优先级
[0540][0541]
逻辑运算的文本描述
[0542]
在文本中,如将以下述形式数学地描述的逻辑运算的陈述:
[0543][0544]
可以以下述方式描述:
[0545]
……
如下/
……
以下适用:
[0546]

如果condition 0,statement 0
[0547]

否则,如果condition 1,statement 1
[0548]

...
[0549]

否则(关于剩余条件的信息标记),statement n
[0550]
文本中的每个“如果
……
否则,如果
……
否则
……”
语句都以
“……
如下”或
“……
以下适用”开头,紧接着是“如果
……”
。“如果
……
否则,如果
……
否则
……”
的最后一个条件总是“否则
……”
。夹于之间的“如果
……
否则,如果
……
否则
……”
语句可以通过匹配
“……
如下”或
“……
以下适用”与结尾“否则
……”
来标识。
[0551]
在文本中,如将以下述形式数学地描述的逻辑运算的陈述:
[0552][0553]
可以以下述方式描述:
[0554]
……
如下/
……
以下适用:
[0555]

如果所有以下条件为真,statement 0:
[0556]

condition 0a
[0557]

condition 0b
[0558]

否则,如果以下条件中的一个或更多个为真,statement 1:
[0559]

condition 1a
[0560]

condition 1b
[0561]
……
[0562]

否则,statement n
[0563]
在文本中,如将以下述形式数学地描述的逻辑运算的陈述:
[0564]
if(condition 0)
[0565]
statement 0
[0566]
if(condition 1)
[0567]
statement 1
[0568]
可以以下述方式描述:
[0569]
当condition 0,statement 0
[0570]
当condition 1,statement 1
[0571]
尽管已经主要基于视频编码描述了本发明的实施方式,但是应当注意,编码系统10、编码器20和解码器30(以及相应的系统10)的实施方式和本文描述的其他实施方式也可以被配置用于静止图片处理或编码,即独立于如视频编码中的任何先前或连续图片的单独图片的处理或编码。一般来说,在图片处理编码限于单个图片17的情况下,仅帧间预测单元244(编码器)和344(解码器)可能不可用。视频编码器20和视频解码器30的所有其他功能(也称为工具或技术)同样可以用于静止图片处理,例如残差计算204/304、变换206、量化208、逆量化210/310、(逆)变换212/312、分割262/362、帧内预测254/354和/或环路滤波220、320以及熵编码270和熵解码304。
[0572]
例如编码器20和解码器30的实施方式和本文例如参考编码器20和解码器30描述的功能可以用硬件、软件、固件或其任意组合来实现。如果以软件实现,这些功能可以存储在计算机可读介质上,或者作为一个或更多个指令或代码通过通信介质传输,并且由基于硬件的处理单元执行。计算机可读介质可以包括:计算机可读存储介质,其对应于有形介质例如数据存储介质;或者通信介质,其包括有助于例如根据通信协议将计算机程序从一个地方传输至另一地方的任何介质。以这种方式,计算机可读介质通常可以对应于(1)非暂态有形计算机可读存储介质,或(2)通信介质例如信号或载波。数据存储介质可以是可以由一个或更多个计算机或者一个或更多个处理器访问以检索用于实现本公开内容中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
[0573]
作为示例而非限制,这样的计算机可读存储介质可以包括ram、rom、eeprom、cd

rom或其他光盘存储装置、磁盘存储装置或其他磁存储装置、闪存或者可以用于以指令或数据结构的形式存储所需的程序代码并且可以由计算机访问的任何其他介质。另外,任何连接被适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线(digital subscriber line,dsl)或诸如红外、无线电和微波的无线技术从网站、服务器或其他远程源发送指令,则同轴线缆、光纤线缆、双绞线、dsl或诸如红外、无线电和微波的无线技术包括在介质的定义内。然而,应当理解的是,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂态介质,而是替代地针对非暂态有形存储介质。本文中使用的盘和碟包括致密碟(compact disc,cd)、激光碟、光碟、数字通用光碟(digital versatile disc,dvd)、软盘和蓝光光碟,其中,盘通常以磁性方式再现数据,而碟通过激光以光学方式再现数据。上述介质的组合也应当包括在计算机可读介质的范围内。
[0574]
指令可以由一个或更多个处理器(诸如一个或更多个数字信号处理器(digital signal processor,dsp)、通用微处理器、专用集成电路(application specific integrated circuit,asic)、现场可编程逻辑阵列(field programmable logic array,fpga)或者其他等效集成或分立逻辑电路系统)来执行。因此,如本文中所使用的术语“处理器”可以指任何前述结构或适合于实现本文所描述的技术的任何其他结构。另外,在某些方面,本文描述的功能可以在被配置为用于编码和解码的专用硬件和/或软件模块内提供,或
者并入在组合编解码器中。同样,该技术可以完全在一个或更多个电路或逻辑元件中实现。
[0575]
本公开内容的技术可以在包括无线手持机、集成电路(integrated circuit,ic)或一组ic(例如芯片组)的各种装置或设备中实现。在本公开内容中描述各种部件、模块或单元以强调被配置成执行所公开的技术的装置的功能方面,但是各种部件、模块或单元不一定需要由不同的硬件单元来实现。确切地说,如上所述,各种单元可以组合在编解码器硬件单元中,或者通过(包括如上所述的一个或更多个处理器的)互操作硬件单元的集合结合适当的软件和/或固件来提供。
[0576]
本公开内容还公开了以下七个方面:
[0577]
帧内预测方法的第一方面包括以下步骤:
[0578]
准备一组参考样本;对参考样本进行卷积,并且对预测信号进行上采样。
[0579]
对于这一方面,可以根据预测样本的位置自适应地定义系数的集合。
[0580]
根据第一方面的方法的第二方面,其中,用于方向性帧内预测的系数的集合具有与alwif的核心a系数相同的精度。
[0581]
根据第一方面的方法的第三方面,其中,针对方向性帧内预测跳过上采样。
[0582]
解码器的第四方面包括用于执行根据第一方面至第三方面中任一方面的方法的处理电路。
[0583]
计算机程序产品的第五方面包括用于执行根据第一方面至第三方面中任一方面的方法的程序代码。
[0584]
解码器的第六方面,包括:一个或更多个处理器;和
[0585]
耦接至处理器并存储用于由处理器执行的程序的非暂态计算机可读存储介质,其中,该程序在由处理器执行时将解码器配置成执行根据第一方面至第三方面中任一方面的方法。
[0586]
编码器的第七方面,包括:一个或更多个处理器;和
[0587]
耦接至处理器并存储用于由处理器执行的程序的非暂态计算机可读存储介质,其中,该程序在由处理器执行时将编码器配置成执行根据第一方面至第三方面中任一方面的方法。
[0588]
另外,本公开内容公开了以下十三个方面。
[0589]
块的帧内预测方法的第一方面,包括:
[0590]

获得两排重建的相邻样本;
[0591]

基于两排重建的相邻样本导出一组参考样本;
[0592]

基于从比特流获得的帧内预测模式获得一组mip系数,
[0593]
其中,一组mip系数中的mip系数c
mip
通过如下方式获得(恢复):
[0594]
c
mip
=v
sgn
·
(q<<s),
[0595]
其中,q是mip系数的数值;s是左移值;v
sgn
是mip系数的符号值;
[0596]

基于一组参考样本和一组mip系数获得预测块;
[0597]

其中,基于预测块获得重建图片。
[0598]
根据第一方面的方法的第二方面,其中,基于一组参考样本和一组mip系数获得预测块包括参考样本和一组mip系数的矩阵乘法,其中,通过在乘法之后重新定位移位操作来以减小的位深度执行矩阵乘法中的乘法操作:
[0599]
p
·
c
mip
=v
sgn
·
((p
·
q)<<s),
[0600]
其中,q是mip系数的数值;s是左移值;v
sgn
是mip系数的符号值;p是参考样本,或者
[0601]
根据第一方面或第二方面中任一方面的方法的第三方面,其中,mip系数的数值q是6位深度值。
[0602]
根据前述任一方面的方法的第四方面,其中,左移值是2位深度值。
[0603]
根据前述任一方面的方法的第五方面,其中,借助于在角度帧内预测的帧内插值处理中使用的乘法器来执行乘法。
[0604]
根据前述任一方面的方法的第六方面,其中,mip系数是以下阵列中的任一个:
[0605]
[0606]
[0607]
[0608]
[0609]
[0610]
[0611]
[0612]
[0613]
[0614][0615]
根据前述任一方面的方法的第七方面,其中,mip系数是以下阵列中的任一个:
[0616]
[0617]
[0618]
[0619]
[0620]
[0621][0622]
根据前述任一方面的方法的第八方面,其中,mip系数是以下阵列中的任一个:
[0623]
[0624]
[0625]
[0626]
[0627]
[0628]
[0629]
[0630]
[0631]
[0632]
[0633]
[0634][0635]
编码器的第九方面包括用于执行根据第一方面至第八方面中任一方面的方法的处理电路。
[0636]
解码器的第十方面包括用于执行根据第一方面至第八方面中任一方面的方法的处理电路。
[0637]
计算机程序产品的第十一方面包括用于执行根据第一方面至第八方面中任一方面的方法的程序代码。
[0638]
解码器的第十二方面,包括:一个或更多个处理器;和耦接至处理器并存储由处理器执行的程序的非暂态计算机可读存储介质,其中,该程序在由处理器执行时将解码器配置成执行根据第一方面至第八方面中任一方面的方法。
[0639]
编码器的第十三方面,包括:一个或更多个处理器;和耦接至处理器并存储由处理器执行的程序的非暂态计算机可读存储介质,其中,该程序在由处理器执行时将编码器配置成执行根据第一方面至第八方面中任一方面的方法。
再多了解一些

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

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

相关文献