使用参考样本滤波的图像编码/解码方法和装置及发送比特流的方法与流程

文档序号:30498490发布日期:2022-06-22 13:53阅读:259来源:国知局
使用参考样本滤波的图像编码/解码方法和装置及发送比特流的方法与流程

1.本公开涉及图像编码/解码方法和设备,并且更具体地,涉及使用参考样本滤波对图像进行编码/解码的方法和设备以及发送由本公开的图像编码方法/设备生成的比特流的方法。


背景技术:

2.最近,各个领域对高分辨率和高质量图像,例如高清(hd)图像和超高清(uhd)图像的需求正在增加。随着图像数据的分辨率和质量的提高,与现有图像数据相比,传输的信息量或比特量相对增加。传输信息或比特量的增加导致传输成本和存储成本的增加。
3.因此,需要高效的图像压缩技术来有效地传输、存储和再现关于高分辨率和高质量图像的信息。


技术实现要素:

4.技术问题
5.本公开的目的是提供一种具有提高的编码/解码效率的图像编码/解码方法和设备。
6.本公开的另一目的是提供一种能够通过改进参考样本滤波条件来提高编码/解码效率的图像编码/解码方法和设备。
7.本公开的另一目的是提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
8.本公开的另一目的是提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
9.本公开的另一目的是提供一种存储由根据本公开的图像解码设备接收、解码并用于重构图片的比特流的记录介质。
10.本公开解决的技术问题不限于上述技术问题,并且根据以下描述,本文未描述的其它技术问题对于本领域技术人员将变得显而易见。
11.技术方案
12.根据本公开的一个方面的由图像解码设备执行的图像解码方法可以包括以下步骤:确定当前块的帧内预测模式,基于当前块的帧内预测模式和邻近样本来确定参考样本,基于参考样本来生成预测块,以及基于预测块来对当前块进行解码。可以通过基于帧内预测模式将第一滤波或第二滤波中的至少一者应用于邻近样本值来确定参考样本。
13.根据本公开的一个方面的图像解码设备可以包括存储器和至少一个处理器。该至少一个处理器可以执行以下操作:确定当前块的帧内预测模式,基于当前块的帧内预测模式和邻近样本来确定参考样本,基于参考样本来生成预测块,以及基于预测块来对当前块进行解码。可以通过基于帧内预测模式将第一滤波或第二滤波中的至少一者应用于邻近样
本值来确定参考样本。
14.由根据本公开的一个方面的由图像编码设备执行的图像编码方法可以包括以下步骤:确定当前块的帧内预测模式,基于当前块的帧内预测模式和邻近样本来确定参考样本,基于参考样本来生成预测块,以及基于预测块来对当前块进行编码。可以通过基于帧内预测模式将第一滤波或第二滤波中的至少一者应用于邻近样本值来确定参考样本。
15.另外,根据本公开的另一方面的发送方法可以发送由本公开的图像编码设备或图像编码方法生成的比特流。
16.另外,根据本公开的另一方面的计算机可读记录介质可以存储由本公开的图像编码设备或图像编码方法生成的比特流。
17.上文关于本公开简要概述的特征仅为本公开的以下详细描述的示例性方面,且并不限制本公开的范围。
18.有利效果
19.根据本公开,可以提供具有提高的编码/解码效率的图像编码/解码方法和设备。
20.此外,根据本公开,可以提供能够通过改进参考样本滤波条件来提高编码/解码效率的图像编码/解码方法和设备。
21.此外,根据本公开,可以提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
22.此外,根据本公开,可以提供存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
23.此外,根据本公开,可以提供存储由根据本公开的图像解码设备接收、解码并用于重构图片的比特流的记录介质。
24.本领域技术人员将理解,通过本公开可以实现的效果不限于上文具体描述的内容,并且根据详细描述将更清楚地理解本公开的其它优点。
附图说明
25.图1是示意性地示出本公开的实施方式适用的视频编码系统的图。
26.图2是示意性地示出本公开的实施方式适用的图像编码设备的图。
27.图3是示意性地示出本公开的实施方式适用的图像解码设备的图。
28.图4是示出根据实施方式的图像的分区结构的图。
29.图5是示出根据多类型树结构的块的分割类型的实施方式的图。
30.图6是示出根据本公开的具有嵌套多类型树结构的四叉树中的块分割信息的信令机制的图。
31.图7是示出ctu被分区成多个cu的实施方式的图。
32.图8是根据用于对一个语法元素进行编码的实施方式的cabac的框图。
33.图9至图12是例示根据实施方式的熵编码和解码的图。
34.图13和图14是例示根据实施方式的图片解码和编码过程的示例的图。
35.图15是例示根据实施方式的编码图像的分层结构的图。
36.图16是例示根据实施方式的邻近参考样本的图。
37.图17至图18是例示根据实施方式的帧内预测的图。
38.图19至图20是例示根据实施方式的帧内预测方向的图。
39.图21是根据实施方式的帧内预测过程的图。
40.图22是例示根据实施方式的平面模式中的邻近参考样本的图。
41.图23和图24是例示根据实施方式的编码设备和解码设备的操作的图。
42.图25是示出本公开的实施方式适用的内容流传输系统的图。
具体实施方式
43.以下,将结合附图对本公开的实施方式进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于这里描述的实施方式。
44.在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
45.在本公开中,当一个组件“连接”、“耦合”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括中间组件存在的间接连接关系。另外,当一个组件“包括”或“具有”其他组件时,除非另有说明,否则是指还可以包括其他组件,而不是排除其他组件。
46.在本公开中,术语第一、第二等仅用于将一个组件与其他组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施方式中的第一部件在另一个实施方式中可以被称为第二部件,类似地,一个实施方式中的第二部件在另一个实施方式中可以被称为第一部件。
47.在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成在一个硬件或软件单元中实现,或者一个组件可以在多个硬件或软件单元中分布和实现。因此,即使没有特别说明,这些组件集成或分布式的实施方式也包括在本公开的范围内。
48.在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本公开的范围内。此外,除了在各种实施方式中描述的组件之外还包括其他组件的实施方式包括在本公开的范围内。
49.本公开涉及图像的编码(encoding)和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
50.在本公开中,“图片”通常是指表示特定时间段中的一个图像的单元,并且切片/拼块是构成图片的一部分的编码单元,并且一个图片可以由一个或更多个切片/拼块组成。另外,切片/拼块可以包括一个或更多个编码树单元(ctu)。此外,一个拼块可以包括一个或更多个图块。图块可以表示拼块中的ctu行的矩形区域。一个拼块可以被分割成多个图块,并且每个图块可以包括属于拼块的一个或更多个ctu行。
51.在本公开中,“像素”或“像元(pel)”可以意指构成一个图片(或图像)的最小单个。此外,“样本”可以用作对应于像素的术语。一个样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
52.在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括图片的特定区域和与该区域相关的信息中的至少一个。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,m
×
n块可以包括m列n行的样本(或样本阵列)或变换系数的集合(或阵列)。
53.在本公开中,“当前块”可以意指“当前编码块”、“当前编码单元”、“编码目标块”、“解码目标块”或“处理目标块”之一。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
54.此外,在本公开中,除非明确声明为色度块,否则“当前块”可以意指“当前块的亮度块”。“当前块的色度块”可以通过包括对诸如“色度块”或“当前色度块”的色度块的显式描述来表达。
55.在本公开中,斜线“/”或“,”可以解释为指示“和/或”。例如,“a/b”和“a,b”可以意指“a和/或b”。此外,“a/b/c”和“a/b/c”可以意指“a、b和/或c中的至少一个”。
56.在本公开中,术语“或”应被解释以指示“和/或”。例如,表达“a或b”可以包括1)仅“a”,2)仅“b”,或3)“a和b”两者。换言之,在本公开中,“或”应被解释以指示“附加地或可替选地”。
57.视频编码系统概述
58.图1是示意性地示出根据本公开的视频编码系统的图。
59.根据实施方式的视频编码系统可以包括编码设备10和解码设备20。图像编码设备10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到图像解码设备20。
60.根据实施方式的图像编码设备10可以包括视频源生成器11、编码单元12和发送器13。根据实施方式的图像解码设备20可以包括接收器21、解码单元22和渲染器23。编码单元12可以称为视频/图像编码单元,解码单元22可以称为视频/图像解码单元。发送器13可以被包括在编码单元12中。接收器21可以被包括在解码单元22中。渲染器23可以包括显示器并且显示器可以被配置为单独的设备或外部组件。
61.视频源生成器11可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源生成器11可以包括视频/图像捕获设备和/或视频/图像生成设备。视频/图像捕获设备可以包括例如一个或多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成设备可以包括例如计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以被生成相关数据的过程代替。
62.编码单元12可以对输入视频/图像进行编码。为了压缩和编码效率,编码单元12可以执行一系列过程,例如预测、变换和量化。编码单元12可以以比特流的形式输出编码数据(编码视频/图像信息)。
63.发送器13可以通过数字存储介质或网络以文件或流的形式将编码的视频/图像信息或以比特流的形式输出的数据传输到图像解码设备20的接收器21。数字存储介质可以包括各种存储介质,例如usb、sd、cd、dvd、蓝光、hdd、ssd等。发送器13可以包括用于通过预定文件格式生成媒体文件的元件并且可以包括用于通过广播/通信网络传输的元件。接收器21可以从存储介质或网络中提取/接收比特流并将比特流传输到解码单元22。
64.解码单元22可以通过执行与编码单元12的操作相对应的一系列过程,例如解量
化、逆变换和预测来解码视频/图像。
65.渲染器23可以渲染解码的视频/图像。渲染的视频/图像可以通过显示器显示。
66.图像编码设备概要
67.图2是示意性地示出本公开的实施方式适用的图像编码设备的图。
68.如图2所示,图像编码设备100可以包括图像分区器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测单元180、帧内预测单元185和熵编码器190。帧间预测单元180和帧内预测单元185可以统称为“预测单元”。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。
69.在一些实施方式中,配置图像编码设备100的多个组件中的全部或至少一些可以由一个硬件组件(例如,编码器或处理器)来配置。此外,存储器170可以包括解码图片缓冲器(dpb)并且可以由数字存储介质配置。
70.图像分区器110可将输入到图像编码设备100的输入图像(或图片或帧)分区成一个或多个处理单元。例如,处理单元可以称为编码单元(cu)。可以通过根据四叉树二叉树三叉树(qt/bt/tt)结构递归地分区编码树单元(ctu)或最大编码单元(lcu)来获取编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元分区为更深深度的多个编码单元。对于编码单元的分区,可以首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。可以基于不再分区的最终编码单元来执行根据本公开的编码过程。可以将最大编码单元用作最终编码单元,也可以将通过分区最大编码单元获取的更深深度的编码单元用作最终编码单元。这里,编码过程可以包括稍后将描述的预测、变换和重构的过程。作为另一个示例,编码过程的处理单元可以是预测单元(pu)或变换单元(tu)。预测单元和变换单元可以从最终编码单元分割或分区。预测单元可以是样本预测单元,变换单元可以是用于导出变换系数的单元和/或用于从变换系数导出残差信号的单元。
71.预测单元(帧间预测单元180或帧内预测单元185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测单元可以在当前块或cu的基础上确定是应用帧内预测还是帧间预测。预测单元可以生成与当前块的预测有关的各种信息,并且将生成的信息传输到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。
72.帧内预测单元185可以通过参考当前图片中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如dc模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测单元185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
73.帧间预测单元180可以基于由参考图片上的运动向量指定的参考块(参考样本阵列)来导出当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在
的空间邻近块和参考图片中存在的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可以相同或不同。时间邻近块可以被称为并置参考块、并置cu(colcu)等。包括时间邻近块的参考图片可以被称为并置图片(colpic)。例如,帧间预测单元180可基于邻近块配置运动信息候选列表并生成指示使用哪个候选来导出当前块的运动向量和/或参考图片索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测单元180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动向量预测(mvp)模式的情况下,邻近块的运动向量可以用作运动向量预测子,并且当前块的运动向量可以通过编码运动向量差和运动向量预测子的指示符来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
74.预测单元可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测单元不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(ciip)。此外,预测单元可以执行帧内块复制(ibc)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(scc)。ibc是一种在与当前块相隔预定距离的位置处使用当前图片中先前重构的参考块来预测当前图片的方法。当应用ibc时,参考块在当前图片中的位置可以被编码为对应于预定距离的向量(块向量)。ibc基本上在当前图片中执行预测,但是可以类似于帧间预测来执行,因为在当前图片内导出参考块。即,ibc可以使用本公开中描述的帧间预测技术中的至少一种。ibc基本上在当前图片中执行预测,但是可以类似于帧间预测来执行,因为在当前图片内导出参考块。即,ibc可以使用本公开中描述的帧间预测技术中的至少一种。
75.预测单元生成的预测信号可用于生成重构信号或生成残差信号。减法器115可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测单元输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被传输到变换器120。
76.变换器120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、karhunen-lo
è
ve变换(klt)、基于图的变换(gbt)或条件非线性变换(cnt)中的至少一种。这里,gbt是指当像素之间的关系信息由图形表示时从图形获得的变换。cnt是指基于使用所有先前重构的像素生成的预测信号获取的变换。此外,变换处理可以应用于具有相同大小的方形像素块或者可以应用于具有可变大小而不是方形的块。
77.量化器130可以对变换系数进行量化并且将它们传输到熵编码器190。熵编码器190可以对量化的信号(关于量化的变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器130可基于系数扫描顺序将块形式的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。
78.熵编码器190可以执行各种编码方法,例如指数哥伦布、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等。熵编码器190可以一起或单独地编码除量化变换系数之外的视频/图像重构所需的信息(例如,语法元素的值等)。编码的信息
(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(nal)为单元进行传输或存储。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(aps)、图片参数集(pps)、序列参数集(sps)或视频参数集(vps)。此外,视频/图像信息还可以包括通用约束信息。本公开中描述的用信号通知的信息、传输的信息和/或语法元素可以通过上述编码过程被编码并且被包括在比特流中。
79.比特流可以通过网络传输或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括usb、sd、cd、dvd、蓝光、hdd、ssd等各种存储介质。可以包括传输从熵编码器190输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)作为图像编码设备100的内部/外部元件。替代地,可以提供发送器作为熵编码器190的组件。
80.从量化器130输出的量化变换系数可用于生成残差信号。例如,可以通过解量化器140和逆变换器150对量化的变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。
81.加法器155将重构残差信号与从帧间预测单元180或帧内预测单元185输出的预测信号相加,生成重构信号(重构图像、重构块、重构样本阵列)。如果要处理块没有残差,例如应用跳过模式的情况,则可以将预测块用作重构块。加法器155可以称为重构器或重构块生成器。生成的重构信号可以用于当前图片中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个图片进行帧间预测。
82.滤波器160可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器160可以通过对重构图片应用各种滤波方法来生成修改的重构图片,并将修改的重构图片存储在存储器170中,具体地,存储器170的dpb中。各种滤波方法可以包括,例如,去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。滤波器160可以生成与滤波有关的各种信息并将所生成的信息传输到熵编码器190,如稍后在每种滤波方法的描述中所描述的。与滤波相关的信息可以由熵编码器190编码并以比特流的形式输出。
83.传输到存储器170的修改的重构图片可以用作帧间预测单元180中的参考图片。当通过图像编码设备100应用帧间预测时,可以避免图像编码设备100和图像解码设备之间的预测失配并且可以提高编码效率。
84.存储器170的dpb可以存储修改的重构图片以用作帧间预测单元180中的参考图片。存储器170可以存储从其中导出(或编码)当前图片中的运动信息的块的运动信息和/或图片中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元180并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前图片中重构块的重构样本并且可以将重构样本传送到帧内预测单元185。
85.图像解码设备概述
86.图3是示意性地示出本公开的实施方式适用的图像解码设备的图。
87.如图3所示,图像解码设备200可以包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260和帧内预测单元265。帧间预测单元260和帧内预测单元265可以统称为“预测单元”。解量化器220和逆变换器230可以被包括在残差处理器中。
88.根据实施方式,配置图像解码设备200的多个组件中的全部或至少一些可以由硬
件组件(例如,解码器或处理器)来配置。此外,存储器250可以包括解码图片缓冲器(dpb)或者可以由数字存储介质配置。
89.已经接收到包括视频/图像信息的比特流的图像解码设备200可以通过执行与由图2的图像编码设备100执行的处理相对应的处理来重构图像。例如,图像解码设备200可以使用在图像编码设备中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编码单元。编码单元可以通过分区编码树单元或最大编码单元来获得。通过图像解码设备200解码和输出的重构图像信号可以通过再现装置(未示出)再现。
90.图像解码设备200可以接收以比特流的形式从图2的图像编码设备输出的信号。接收到的信号可以通过熵解码器210进行解码。例如,熵解码器210可以解析比特流以导出图像重构(或图片重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(aps)、图片参数集(pps)、序列参数集(sps)或视频参数集(vps)。此外,视频/图像信息还可以包括通用约束信息。图像解码设备还可以基于参数集信息和/或通用约束信息对图片进行解码。本公开中描述的用信号通知/接收的信息和/或语法元素可以通过解码过程被解码并从比特流中获得。例如,熵解码器210基于诸如指数哥伦布编码、cavlc或cabac的编码方法对比特流中的信息进行解码,并输出图像重构所需的语法元素的值和残差的变换系数的量化值。更具体地,cabac熵解码方法可以接收与比特流中每个语法元素对应的bin,使用解码目标语法元素信息、邻近块和解码目标块的解码信息或前一阶段解码的符号/bin的信息来确定上下文模型,根据确定的上下文模型通过预测bin的出现概率,对bin进行算术解码,生成与每个语法元素的值对应的符号。在这种情况下,cabac熵解码方法可以在确定上下文模型后,通过将解码的符号/bin的信息用于下一个符号/bin的上下文模型来更新上下文模型。由熵解码器210解码的信息中与预测相关的信息可以被提供给预测单元(帧间预测单元260和帧内预测单元265),以及在熵解码器210中对其执行熵解码的残差值,即,量化的变换系数和相关的参数信息可以被输入到解量化器220。另外,可以将关于熵解码器210解码的信息当中的滤波的信息提供给滤波器240。同时,用于接收从图像编码设备输出的信号的接收器(未示出)可以进一步被配置为图像解码设备200的内部/外部元件,或者接收器可以是熵解码器210的组件。
91.同时,根据本公开的图像解码设备可以被称为视频/图像/图片解码设备。图像解码设备可以分为信息解码器(视频/图像/图片信息解码器)和样本解码器(视频/图像/图片样本解码器)。信息解码器可以包括熵解码器210。样本解码器可以包括解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元160或帧内预测单元265中的至少一个。
92.解量化器220可以对量化的变换系数进行解量化并输出变换系数。解量化器220可以以二维块的形式重新排列量化的变换系数。在这种情况下,可以基于在图像编码设备中执行的系数扫描顺序来执行重新排列。解量化器220可以通过使用量化参数(例如,量化步长信息)对量化的变换系数执行解量化并获得变换系数。
93.逆变换器230可以对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
94.预测单元可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测单元可以基于关于从熵解码器210输出的预测的信息来确定是将帧内预测还是帧间预测应用
于当前块,并且可以确定特定的帧内/帧间预测模式(预测技术)。
95.与在图像编码设备100的预测单元中描述的相同的是,预测单元可以基于稍后描述的各种预测方法(技术)来生成预测信号。
96.帧内预测单元265可以通过参考当前图片中的样本来预测当前块。帧内预测单元185的描述同样适用于帧内预测单元265。
97.帧间预测单元260可以基于由参考图片上的运动向量指定的参考块(参考样本阵列)来导出当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。例如,帧间预测单元260可以基于邻近块配置运动信息候选列表,并且基于接收到的候选选择信息导出当前块的运动向量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示当前块的帧间预测模式的信息。
98.加法器235可以通过将获得的残差信号与从预测单元(包括帧间预测单元260和/或内预测单元265)输出的预测信号(预测块、预测样本阵列)相加生成重构块。如果要处理的块没有残差,诸如在应用跳过模式时,则可以将预测块用作重构块。加法器155的描述同样适用于加法器235。加法器235可以称为重构器或重构块生成器。生成的重构信号可以用于当前图片中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个图片进行帧间预测。
99.滤波器240可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器240可以通过对重构图片应用各种滤波方法来生成修改的重构图片,并将修改的重构图片存储在存储器250中,具体地,存储器250的dpb中。各种滤波方法可以包括,例如,去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
100.存储在存储器250的dpb中的(修改的)重构图片可以用作帧间预测单元260中的参考图片。存储器250可以存储从其中导出(或解码)当前图片中的运动信息的块的运动信息和/或图片中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元260,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器250可以存储当前图片中重构块的重构样本并将重构样本传送到帧内预测单元265。
101.在本公开中,在图像编码设备100的滤波器160、帧间预测单元180和帧内预测单元185中描述的实施方式可以同等地或对应地应用于图像解码设备200的滤波器240、帧间预测单元260和帧内预测单元265。
102.图像分区的概述
103.可以基于图像分区结构来执行根据本公开的视频/图像编码方法如下。具体地,可以基于根据图像分区结构而导出的ctu、cu(和/或tu、pu)来执行将稍后描述的预测、残差处理((逆)变换、(解)量化等)、语法元素编码和滤波的过程。可以按块单元对图像进行分区并且可以在编码设备的图像分区器110中执行块分区过程。分区相关信息可以由熵编码器190编码并且以比特流的形式发送到图像解码设备。图像解码设备的熵解码器210可以基于从比特流获得的分区相关信息来导出当前图片的块分区结构,并且基于此,可以执行一系列
的过程(例如,预测、残差处理、块/图片重构、环路内滤波等)以进行图像解码。
104.图片可以被分区成编码树单元(ctu)的序列。图4示出了图片被分区成ctu的示例。ctu可以对应于编码树块(ctb)。另选地,ctu可以包括亮度样本的编码树块和对应的色度样本的两个编码树块。例如,对于包含三个样本阵列的图片,ctu可以包括亮度样本的一个n
×
n块和色度样本的两个对应块。
105.ctu分区的概述
106.如上所述,可以通过根据四叉树/二叉树/三叉树(qt/bt/tt)结构递归地对编码树单元(ctu)或最大编码单元(lcu)进行分区来获取编码单元。例如,ctu可以被首先分区成四叉树结构。此后,可以通过多类型树结构对四叉树结构的叶节点进一步进行分区。
107.根据四叉树的分区意味着当前cu(或ctu)被同等地分区成四个。通过根据四叉树的分区,可以将当前cu分区成具有相同宽度和相同高度的四个cu。在当前cu不再被分区成四叉树结构时,当前cu对应于四叉树结构的叶节点。与四叉树结构的叶节点对应的cu可以不再被分区并且可以被用作上述最终编码单元。另选地,可以通过多类型树结构对与四叉树结构的叶节点对应的cu进一步进行分区。
108.图5是示出了根据多类型树结构的块的分割类型的实施方式的图。根据多类型树结构的分割可以包括根据二叉树结构的两种类型的分割和根据三叉树结构的两种类型的分割。
109.根据二叉树结构的两种类型的分割可以包括垂直二叉分割(split_bt_ver)和水平二叉分割(split_bt_hor)。垂直二叉分割(split_bt_ver)意味着当前cu被在垂直方向上同等地分割成两个。如图4所示,通过垂直二叉分割,可以生成高度与当前cu相同并且宽度为当前cu的宽度的一半的两个cu。水平二叉分割(split_bt_hor)意味着当前cu被在水平方向上同等地分割成两个。如图5所示,通过水平二叉分割,可以生成高度为当前cu的高度的一半并且宽度与当前cu相同的两个cu。
110.根据三叉数结构的两种类型的分割可以包括垂直三叉分割(split_tt_ver)和水平三叉分割(split_tt_hor)。在垂直三叉分割(split_tt_ver)中,当前cu被以1:2:1的比率在垂直方向上分割。如图5所示,通过垂直三叉分割,可以生成高度与当前cu相同并且宽度为当前cu的宽度的1/4的两个cu,以及高度与当前cu相同并且宽度为当前cu的宽度的一半的cu。在水平三叉分割(split_tt_hor)中,当前cu被以1:2:1的比率在水平方向上分割。如图5所示,通过水平三叉分割,可以生成高度为当前cu的高度的1/4并且宽度与当前cu相同的两个cu,以及高度为当前cu的高度的一半并且宽度与当前cu相同的cu。
111.图6是示出了根据本公开的具有嵌套多类型树结构的四叉树中的块分割信息的信令机制的图。
112.这里,ctu被视为四叉树的根节点,并且被首次分区成四叉树结构。指示是否相对于当前cu(四叉树的ctu或节点(qt_node))执行四叉树分割的信息(例如,qt_split_flag)被发信号通知。例如,当qt_split_flag具有第一值(例如,“1”)时,当前cu可以被四叉树分区。另外,当qt_split_flag具有第二值(例如,“0”)时,当前cu不四叉树分区,而是变成四叉树的叶节点(qt_leaf_node)。然后可以将每个四叉树叶节点进一步分区成多类型树结构。也就是说,四叉树的叶节点可以变成多类型树的节点(mtt_node)。在多类型树结构中,第一标志(例如,mtt_split_cu_flag)被发信号通知以指示当前节点是否被附加地分区。如果对
应节点被附加地分区(例如,如果第一标志为1),则可以发信号通知第二标志(例如,mtt_split_cu_vertical_flag)以指示分割方向。例如,分割方向在第二标志为1的情况下可以是垂直方向,而在第二标志为0的情况下可以是水平方向。然后,可以发信号通知第三标志(例如,mtt_split_cu_binary_flag)以指示分割类型是二叉分割类型还是三叉分割类型。例如,分割类型在第三标志为1时可以是二叉分割类型,而在第三标志为0时可以是三叉分割类型。通过二叉分割或三叉分割获取的多类型树的节点可以被进一步分区成多类型树结构。然而,可以不将多类型树的节点分区成四叉树结构。如果第一标志为0,则多类型树的对应节点不再被分割,而是变成多类型树的叶节点(mtt_leaf_node)。与多类型树的叶节点对应的cu可以被用作上述最终编码单元。
113.基于mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag,可如以下表1中所示推导cu的多类型树分割模式(mttsplitmode)。在以下描述中,多类型树分割模式可以被称作多树分割类型或分割类型。在以下描述中,多树分割模式可以被称作多树分割类型或分割类型。
114.[表1]
[0115]
mttsplitmodemtt_split_cu_vertical_flagmtt_split_cu_binary_flagsplit_tt_hor00split_bt_hor01split_tt_ver10split_bt_ver11
[0116]
图7是示出了在应用四叉树之后通过应用多类型树来将ctu分区成多个cu的示例的图。在图7中,粗体块边710表示四叉树分区,而剩余边720表示多类型树分区。
[0117]
cu可以对应于编码块(cb)。在实施方式中,cu可以包括亮度样本的编码块和与亮度样本对应的色度样本的两个编码块。
[0118]
可以基于根据图片/图像的颜色格式(色度格式,例如,4:4:4、4:2:2、4:2:0等)的分量比率基于亮度分量(样本)cb或tb大小来导出色度分量(样本)cb或tb大小。在4:4:4颜色格式的情况下,可以将色度分量cb/tb大小设置为等于亮度分量cb/tb大小。在4:2:2颜色格式的情况下,可以将色度分量cb/tb的宽度设置为亮度分量cb/tb的宽度的一半并且可以将色度分量cb/tb的高度设置为亮度分量cb/tb的高度。在4:2:0颜色格式的情况下,可以将色度分量cb/tb的宽度设置为亮度分量cb/tb的宽度的一半并且可以将色度分量cb/tb的高度设置为亮度分量cb/tb的高度的一半。
[0119]
在实施方式中,当ctu的大小基于亮度样本单元为128时,cu的大小可以具有从128x128至4x4的大小,其是与ctu相同的大小。在一个实施方式中,在4:2:0颜色格式(或色度格式)的情况下,色度cb大小可以具有从64x64至2x2的大小。
[0120]
同时,在实施方式中,cu大小和tu大小可以是相同的。另选地,在cu区域中可以有多个tu。tu大小通常表示亮度分量(样本)变换块(tb)大小。
[0121]
可以基于作为预定值的最大允许tb大小maxtbsize来导出tu大小。例如,当cu大小大于maxtbsize时,可以从cu导出具有maxtbsize的多个tu(tb),并且可以以tu(tb)为单元执行变换/逆变换。例如,最大允许亮度tb大小可以是64x64并且最大允许色度tb大小可以是32x32。如果根据树结构分区的cb的宽度或高度大于最大变换宽度或高度,则cb可以被自
动地(或隐式地)分区,直到满足水平和垂直方向上的tb大小极限为止。
[0122]
另外,例如,当应用帧内预测时,可以以cu(或cb)为单元导出帧内预测模式/类型,并且可以以tu(或tb)为单元执行邻近参考样本导出和预测样本生成过程。在这种情况下,在一个cu(或cb)区域中可以有一个或多个tu(或tb),并且在这种情况下,多个tu或(tb)可以共享相同的帧内预测模式/类型。
[0123]
同时,对于具有嵌套多类型树的四叉树编码树方案,可以将以下参数作为sps语法元素从图像编码设备发信号通知给解码设备。例如,作为表示四叉树的根节点大小的参数的ctu大小、作为表示最小允许四叉树叶节点大小的参数的minqtsize、作为表示最大允许二叉树根节点大小的参数的maxbtsize、作为表示最大允许三叉树根节点大小的参数的maxttsize、作为表示从四叉树叶节点起进行多类型树分割的最大允许层次深度的参数的maxmttdepth、作为表示最小允许二叉树树叶节点大小的参数的minbtsize、或作为表示最小允许三叉数叶节点大小的参数的minttsize中的至少一个被发信号通知。
[0124]
作为使用4:2:0色度格式的实施方式,可以将ctu大小设置为128x128亮度块和与这些亮度块对应的两个64x64色度块。在这种情况下,可以将minotsize设置为16x16,可以将maxbtsize设置为128x128,可以将maxttszie设置为64x64,可以将minbtsize和minttsize设置为4x4,并且可以将maxmttdepth设置为4。四叉树分区可以被应用于ctu以生成四叉树叶节点。四叉树叶节点可以被称作叶qt节点。四叉树叶节点的大小可以从16x16大小(例如,minotsize)至128x128大小(例如,ctu大小)。如果叶qt节点是128x128,则它可能未被附加地分区成二叉树/三叉树。这是因为,在这种情况下,即使被分区,它也超过maxbtsize和maxttszie(例如,64x64)。在其它情况下,叶qt节点可以被进一步分区成多类型树。因此,叶qt节点是多类型树的根节点,并且叶qt节点可以具有多类型树深度(mttdepth)0值。如果多类型树深度达到maxmttdepth(例如4),则可以不考虑进一步分区。如果多类型树节点的宽度等于minbtsize并且小于或等于2xminttsize,则可以不考虑进一步水平分区。如果多类型树节点的高度等于minbtsize并且小于或等于2xminttsize,则可以不考虑进一步垂直分区。当不考虑分区时,图像编码设备可以跳过分区信息的信令。在这种情况下,图像解码设备可以导出具有预定值的分区信息。
[0125]
同时,一个ctu可以包括亮度样本的编码块(在下文中称为“亮度块”)和与其对应的色度样本的两个编码块(在下文中称为“色度块”)。上述编码树方案可以被同等地或单独地应用于当前cu的亮度块和色度块。具体地,可以将一个ctu中的亮度块和色度块分区成相同的块树结构,并且在这种情况下,树结构被表示为single_tree。另选地,可以将一个ctu中的亮度块和色度块分区成单独的块树结构,并且在这种情况下,可以将树结构表示为dual_tree。也就是说,当ctu被分割成双树时,用于亮度块的块树结构和用于色度块的块树结构可以分别存在。在这种情况下,可以将用于亮度块的块树结构称作dual_tree_luma,并且可以将用于色度分量的块树结构称dual_tree_chroma。对于p和b切片/拼块组,可以将一个ctu中的亮度块和色度块限制为具有相同的编码树结构。然而,对于i切片/拼块组,亮度块和色度块可以具有彼此分开的块树结构。如果应用单独的块树结构,则可以基于特定编码树结构来将亮度ctb分割成cu,并且可以基于另一编码树结构来将色度ctb分区成色度cu。也就是说,这意味着应用单独的块树结构的i切片/拼块组中的cu可以包括亮度分量的编码块或两个色度分量的编码块并且p或b切片/拼块组的cu可以包括三个颜色分量(一个
亮度分量和两个色度分量)的块。
[0126]
尽管已经描述了具有嵌套多类型树的四叉树编码树结构,但是对cu进行分区的结构不限于此。例如,可以将bt结构和tt结构解释为多分区树(mpt)结构中包括的概念,并且可以将cu解释为通过qt结构和mpt结构被分区。在通过qt结构和mpt结构对cu进行分区的示例中,可以发信号通知包括关于qt结构的叶节点被分区成多少块的信息的语法元素(例如mpt_split_type)以及包括关于qt结构的叶节点被分区成垂直方向和水平方向中的那个的信息的语法元素(例如mpt_split_mode),以确定分区结构。
[0127]
在另一示例中,可以以与qt结构、bt结构或tt结构不同的方式对cu进行分区。也就是说,不同于根据qt结构将较低深度的cu分区成较高深度的cu的1/4,根据bt结构将较低深度的cu分区成较高深度的cu的1/2,或者根据tt结构将较低深度的cu分区成较高深度的cu的1/4或1/2,在一些情况下可以将较低深度的cu分区成较高深度的cu的1/5、1/3、3/8、3/5、2/3或5/8,并且对cu进行分区的方法不限于此。
[0128]
具有多类型树的四叉树编码块结构可以提供非常灵活的块分区结构。由于多类型树中支持的分区类型,不同分区模式在一些情况下可能潜在地导致相同编码块结构。在图像编码设备和解码设备中,通过限制这种冗余分区模式的出现,可以减少分区信息的数据量。
[0129]
另外,在根据本公开的视频/图像的编码和解码中,图像处理单元可以具有分层结构。可以将一个图片分类成一个或更多个拼块、图块、切片和/或拼块组。一个切片可以包括一个或更多个图块。一个图块可以包括拼块中的一个或更多个ctu行。切片可以包括图片的整数个图块。一个拼块组可以包括一个或更多个拼块。一个拼块可以包括一个或更多个ctu。ctu可以被分割成一个或更多个cu。拼块可以是由图片内的多个ctu组成的特定拼块行和特定拼块列组成的矩形区域。根据图片内的拼块栅格扫描,拼块组可以包括整数个拼块。切片报头可以承载可以应用于对应切片(切片中的块)的信息/参数。当编码设备或解码设备具有多核处理器时,可以并行执行针对拼块、切片、图块和/或拼块组的编码/解码处理。
[0130]
在本公开中,切片或拼块组的名称或概念可以可互换地使用。也就是说,拼块组报头可以称为切片报头。这里,切片可以具有包括帧内(i)切片、预测(p)切片和双预测(b)切片的切片类型中的一个。对于i切片中的块,帧间预测不用于预测,而可以仅使用帧内预测。当然,即使在这种情况下,也可以在不进行预测的情况下对原始样本值进行编码和发信号通知。对于p切片中的块,可以使用帧内预测或帧间预测,并且当使用帧间预测时,可以仅使用单向预测。此外,对于b切片中的块,可以使用帧内预测或帧间预测,并且当使用帧间预测时,可以使用最多双预测。
[0131]
编码设备可以根据视频图像的特性(例如,分辨率)或考虑编码效率或并行处理来确定拼块/拼块组、图块、切片以及最大和最小编码单元大小。另外,关于它们的信息或能够推导它们的信息可以被包括在比特流中。
[0132]
解码设备可以获得指定当前图片的拼块/拼块组、图块、切片以及拼块中的ctu是否已被分割成多个编码单元的信息。通过仅在特定条件下发信号通知这样的信息,编码设备和解码设备可以增加编码效率。
[0133]
切片报头(切片报头语法)可以包括可以共同应用于切片的信息/参数。aps(aps语法)或pps(pps语法)可以包括可以共同应用于一个或更多个图片的信息/参数。sps(sps语
法)可以包括可以共同应用于一个或更多个序列的信息/参数。vps(vps语法)可以包括可以共同应用于多个层的信息/参数。dps(dps语法)可以包括可以共同应用于整个视频的信息/参数。dps可以包括与编码视频序列(cvs)的组合相关的信息/参数。
[0134]
另外,例如,关于拼块/拼块组/图块/切片的分割和配置的信息可以在编码阶段中通过较高级别语法来构造,并且可以以比特流的形式发送到解码设备。
[0135]
量化/解量化
[0136]
如上所述,编码设备的量化单元可以通过将量化应用于变换系数来推导经量化的变换系数,并且编码设备的解量化单元或解码设备的解量化单元可以通过将解量化应用于经量化的变换系数来推导变换系数。
[0137]
通常,在视频/图像编码和解码中,可以改变量化率,并且可以使用经改变的量化率来调整压缩率。从实现的角度来看,考虑到复杂性,可以使用量化参数(qp)而不是直接使用量化率。例如,可以使用从0至63的整数值的量化参数,并且每个量化参数的值可以与实际量化率相对应。可以不同地设置针对亮度分量(亮度样本)的量化参数qpy和针对色度分量(色度样本)的量化参数qpc。
[0138]
在量化处理中,变换系数c可以作为输入接收并且除以量化率qstep,由此推导经量化的变换系数c’。在这种情况下,考虑到计算复杂性,将量化率乘以标度(scale)以形成整数,并且可以通过与标度值相对应的值来执行移位运算。基于量化率与标度值的乘积,可以推导量化标度。也就是说,可以根据qp来推导量化标度。通过将量化标度应用于变换系数c,可以基于此来推导经量化的变换系数c’。
[0139]
解量化过程是量化过程的逆过程,并且经量化的变换系数c’可以乘以量化率qstep,从而获得重构变换系数c”。在这种情况下,可以根据量化参数来推导级别标度,并且可以将级别标度应用于经量化的变换系数c’,由此推导重构变换系数c”。由于变换和/或量化处理的损失,重构变换系数c”可能稍微不同于原始变换系数c。因此,甚至编码设备可以以与解码设备相同的方式执行解量化。
[0140]
此外,可以应用根据频率调整量化强度的自适应频率加权量化技术。自适应频率加权量化技术是根据频率不同地应用量化强度的方法。在自适应频率加权量化中,可以使用预定义的量化缩放矩阵根据频率来不同地应用量化强度。也就是说,还可以基于量化缩放矩阵来执行上述量化/解量化处理。例如,可以根据当前块的大小和/或为了生成当前块的残差信号而应用于当前块的预测模式是帧间预测还是帧内预测来使用不同的量化缩放矩阵。量化缩放矩阵也可以被称为量化矩阵或缩放矩阵。量化缩放矩阵可以预定义。另外,量化缩放矩阵的用于频率自适应缩放的频率量化标度信息可以由编码设备构造/编码并发信号通知给解码设备。频率量化标度信息可以被称为量化缩放信息。频率量化标度信息可以包括缩放列表数据scaling_list_data。基于缩放列表数据,可以推导(经修改的)量化缩放矩阵。另外,频率量化标度信息可以包括指定是否存在缩放列表数据的存在标志信息。另选地,当在较高级别(例如,sps)发信号通知缩放列表数据时,还可以包括指定是否在较低级别(例如,pps或拼块组报头等)修改缩放列表数据的信息。
[0141]
熵编码
[0142]
视频/图像信息中的全部或一些可以由熵编码器190进行熵编码,如上面参照图2所述,并且参照图3所述的视频/图像信息中的全部或一些可以由熵解码器310进行熵解码。
在这种情况下,可以以语法元素为单位来对视频/图像信息进行编码/解码。在本公开中,编码/解码信息可以包括通过本段中描述的方法进行编码/解码。
[0143]
图8是用于对一个语法元素进行编码的cabac的框图。在cabac的编码处理中,首先,当输入信号为语法元素而不是二进制值时,可以通过二值化将输入信号变换成二进制值。当输入信号已经具有二进制值时,可以绕过二值化。这里,配置二进制值的二进制数0或1可以被称作信元。例如,当二值化之后的二进制串(信元串)为110时,1、1和0中的每一者可以被称作一个信元。针对一个语法元素的信元可以表示对应语法元素的值。
[0144]
经二值化的信元可以被输入到常规编码引擎或旁路编码引擎。常规编码引擎可以将反映概率值的上下文模型分配给对应信元,并且基于所分配的上下文模型对对应比特进行编码。常规编码引擎可以对每个信元进行编码,并且然后更新针对对应信元的概率模型。以此方式编码的信元可以被称作上下文编码信元。旁路编码引擎可以绕过用于相对于输入信元估计概率的过程和用于在编码之后更新应用于对应信元的概率模式的过程。旁路编码引擎可以通过应用均匀概率分布(例如,50:50)而不是分配上下文来对输入信元进行编码,由此提高编码速度。以此方式编码的信元可以被称为旁路信元。可以针对每个上下文编码(常规编码)的信元分配和更新上下文模型,并且可以基于ctxidx或ctxinc来指示上下文模型。可以基于ctxinc来推导ctxidx。具体地,例如,指示每个常规编码的信元的上下文模型的上下文索引ctxidx可以被推导为上下文索引增量(ctxinc)与上下文索引偏移(ctxidxoffset)之和。这里,可以针对每个信元不同地推导ctxinc。ctxidxoffset可以由ctxidx的最小值表示。ctxidx的最小值可以被称为ctxidx的初始值initvalue。ctxidxoffset是通常用于与其它句法元素的上下文模型区分开的值,并且可以基于ctxinc来区分/推导一个语法元素的上下文模型。
[0145]
在熵编码过程中,可以确定是通过常规编码引擎还是通过旁路编码引擎执行编码,并且可以切换编码路径。熵解码可按相反的顺序执行与熵编码相同的处理。
[0146]
例如,如图9和图10所示,可以执行上述熵编码。参照图9和图10,编码设备(熵编码器)可以对图像/视频信息执行熵编码过程。图像/视频信息可以包括分区相关信息、预测相关信息(例如,帧间/帧内预测区别信息、帧内预测模式信息、帧间预测模式信息等)、残差信息、环内滤波相关信息等,或者可以包括与其相关的各种语法元素。可以以语法元素为单位执行熵编码。图9的步骤s910至s920可以由图2的编码设备的熵编码器190执行。
[0147]
编码设备可以相对于目标语法元素执行二值化(s910)。这里,二值化可以是基于诸如截断莱斯二值化处理、固定长度二值化处理等的各种二值化方法,并且可以预定义针对目标语法元素的二值化方法。二值化过程可以由熵编码器190中的二值化单元191执行。
[0148]
编码设备可以相对于目标语法元素进行熵编码(s920)。编码设备可以基于诸如cabac(上下文自适应算术编码)或cavlc(上下文自适应可变长度编码)的熵编码技术相对于目标语法元素的信元串执行基于常规编码(基于上下文)或基于旁路编码的编码,并且其输出可以被包括在比特流中。熵编码过程可以由熵编码器190中的熵编码处理器192执行。如上所述,可以通过(数字)存储介质或网络将比特流发送到解码设备。
[0149]
参照图11和图12,解码设备(熵解码器)可以对经编码的图像/视频信息进行解码。图像/视频信息可以包括分区相关信息、预测相关信息(例如,帧间/帧内预测区别信息、帧内预测模式信息、帧间预测模式信息等)、残差信息、环内滤波相关信息等,或者可以包括与
其相关的各种语法元素。可以以语法元素为单位执行熵编码。步骤s1110至s1120可以由图3的解码设备的熵解码器210执行。
[0150]
解码设备可以相对于目标语法元素执行二值化(s1110)。这里,二值化可以是基于诸如截断莱斯二值化处理、固定长度二值化处理等的各种二值化方法,并且可以预定义针对目标语法元素的二值化方法。解码设备可以通过二值化过程来推导针对目标语法元素的可用值的可用信元串(信元串候选)。二值化过程可以由熵解码器210中的二值化单元211执行。
[0151]
解码设备可以相对于目标语法元素执行熵解码(s1120)。解码设备可以将所推导的信元串与对应语法元素的可用信元串进行比较,同时从比特流中的输入比特依次解码和解析针对目标语法元素的信元。如果所推导的信元串等于可用信元串中的一者,则可以将与对应信元串相对应的值推导为对应语法元素的值。如果不是,则可以在进一步解析比特流中的下一比特之后再次执行上述过程。通过这种处理,可以使用可变长度比特来发信号通知对应信息,而不使用比特流中的特定信息(特定语法元素)的开始比特或结束比特。通过此,可以将相对较少的比特分配为低值并且可以提高整体编码效率。
[0152]
解码设备可以基于诸如cabac或cavlc的熵编码技术相对于来自比特流的信元串中的信元执行基于上下文或基于旁路的解码。熵解码过程可以由熵解码器210中的熵解码处理器212执行。比特流可以包括用于如上所述的图像/视频解码的各种信息。如上所述,可以通过(数字)存储介质或网络将比特流发送到解码设备。
[0153]
在本公开中,包括语法元素的表(语法表)可以用于指示从编码设备到解码设备的信息的信令。包括本公开中所使用的语法元素的表的语法元素的次序可以指示来自比特流的语法元素的解析次序。编码设备可以构造语法元素并对语法元素进行编码,使得解码设备按照解析次序来解析语法元素,并且解码设备可以根据解析次序来解析和解码来自比特流的对应语法表的语法元素并且获得语法元素的值。
[0154]
一般图像/视频编码过程
[0155]
在图像/视频编码中,可以根据解码次序对配置图像/视频的图片进行编码/解码。可以与解码次序不同地设置与经解码的图片的输出次序相对应的图片次序,并且基于此,在帧间预测期间不仅可以执行前向预测而且可以执行后向预测。
[0156]
图13示出了本公开的实施方式适用的示意性图片解码过程的示例。在图13中,s1310可以在解码设备的熵解码器210中执行,s1320可以在包括帧内预测单元265和帧间预测单元260的预测单元中执行,s1330可以在包括解量化器220和逆变换器230的残差处理器中执行,s1340可以在加法器235中执行,并且s1350可以在滤波器240中执行。s1310可以包括本公开中描述的信息解码过程,s1320可以包括本公开中描述的帧间/帧内预测过程,s1330可以包括本公开中描述的残差处理程序,s1340可以包括本公开中描述的块/图片重构过程,并且s1350可以包括本公开中描述的环路内滤波过程。
[0157]
参照图13,图像解码过程可以示意性地包括用于从比特流获得图像/视频信息(通过解码)的过程(s1310)、用于重构图片的图片重构过程(s1320至s1340)和环内滤波过程(s1350)。可以基于通过本公开中描述的帧间/帧内预测(s1320)和残差处理(s1330)(经量化的变换系数的解量化和逆变换)获得的预测样本和残差样本来执行图片重构过程。可以通过环内滤波过程针对通过图片重构过程生成的重构图片生成经修改的重构图片,经修改
的重构图片可以作为解码图片输出,存储在解码设备的解码图片缓冲器或存储器250中,并在稍后解码图片时用作帧间预测过程中的参考图片。在一些情况下,可以省略环内滤波过程。在这种情况下,重构图片可以作为解码图片输出,存储在解码设备的解码图片缓冲器或存储器250中,并在稍后解码图片时用作帧间预测过程中的参考图片。环路内滤波过程(s1350)可以包括解块滤波过程、样本自适应偏移(sao)过程、自适应环路滤波(alf)过程和/或双边滤波过程,如上所述,可省略其中的一些或全部。另外,可以依次应用解块滤波过程、样本自适应偏移(sao)过程、自适应环路滤波(alf)过程和/或双边滤波过程中的一者或一些,或者可以依次应用其全部。例如,在将解块滤波过程应用于重构图片之后,可以执行sao过程。另选地,例如,在将解块滤波过程应用于重构图片之后,可以执行alf过程。这可以甚至在编码设备中类似地执行。
[0158]
图14示出了本公开的实施方式适用的示意性图像编码过程的示例。在图14中,s1410可以在包括上文参照图2所描述的编码设备的帧内预测单元185或帧间预测单元180的预测单元中执行,s1420可以在包括变换器120和/或量化器130的残差处理器中执行,并且s1430可以在熵编码器190中执行。s1410可以包括本公开中描述的帧间/帧内预测过程,s1420可以包括本公开中描述的残差处理过程,并且s1430可以包括本公开中描述的信息编码过程。
[0159]
参照图14,图像编码过程可以示意性地不仅包括用于以比特流形式编码和输出用于图片重构的信息(例如,预测信息、残差信息、分区信息等)的过程,而且还包括用于生成针对当前图片的重构图片的过程和用于对重构图片应用环内滤波的过程(可选),如参照图2所述。编码设备可以通过解量化器140和逆变换器150从经量化的变换系数推导(经修改的)残差样本,并且基于作为s1410的输出的预测样本和(经修改的)残差样本来生成重构图片。以此方式生成的重构图片可以等于在解码设备中生成的重构图片。经修改的重构图片可以通过针对重构图片的环内滤波过程生成,可以存储在解码图像缓冲器或存储器170中,并且可以在稍后编码图片时用作帧间预测过程中的参考图片,与解码设备类似。如上所述,在一些情况下,可以省略环内滤波过程中的一些或全部。当执行环内滤波过程时,可以在熵编码器190中对(环内)滤波相关信息(参数)进行编码并以比特流的形式输出,并且解码设备可以基于滤波相关信息使用与编码设备相同的方法执行环内滤波过程。
[0160]
通过这种环内滤波过程,可以减少在图像/视频编码期间发生的诸如块效应和振铃效应的噪声,并且可以提高主观/客观视觉质量。另外,通过在编码设备和解码设备二者中执行环内滤波过程,编码设备和解码设备可以推导相同的预测结果,可以增加图片编码可靠性,并且可以减少图片编码要发送的数据量。
[0161]
如上所述,图片重构过程不仅可以在解码设备中执行,而且可以在编码设备中执行。可以以块为单位基于帧内预测/帧间预测来生成重构块,并且可以生成包括重构块的重构图片。在当前图片/切片/拼块组为i图片/切片/拼块组时,可以仅基于帧内预测来重构包括在当前图片/切片/拼块组中的块。此外,在当前图片/切片/拼块组为p或b图片/切片/拼块组时,可以基于帧内预测或帧间预测来重构包括在当前图片/切片/拼块组中的块。在这种情况下,帧间预测可以应用于当前图片/切片/拼块组中的一些块,并且帧内预测可以应用于剩余块。图片的颜色分量可以包括亮度分量和色度分量,并且除非在本公开中明确地限制,否则本公开的方法和实施方式适用于亮度分量和色度分量。
[0162]
编码层和结构的示例
[0163]
例如,可以根据下面将描述的编码层和结构来处理根据本公开的编码视频/图像。
[0164]
图15是示出针对编码图像的分层结构的图。编码图像可以被分类成用于图像解码过程和处置自身的视频编码层(vcl)、用于发送和存储编码信息的下层系统以及存在于vcl与下层系统之间并且负责网络适配功能的网络抽象层(nal)。
[0165]
在vcl中,可以生成包括经压缩的图像数据(切片数据)的vcl数据,或者可以生成图像的解码处理另外所需的补充增强信息(sei)消息或者包括诸如图片参数集(pps)、序列参数集(sps)和视频参数集(vps)的信息的参数集。
[0166]
在nal中,报头信息(nal单元报头)可以被添加到在vcl中生成的原始字节序列有效负载(rbsp)以生成nal单元。在这种情况下,rbsp指在vcl中生成的切片数据、参数集、sei消息。nal单元报头可以包括根据包括在对应nal单元中的rbsp数据而指定的nal单元类型信息。
[0167]
如图所示,可以根据vcl中生成的rbsp将nal单元分类成vcl nal单元和非vcl nal单元。vcl nal单元可以意指包括关于图像的信息(切片数据)的nal单元,并且非vcl nal单元可以意指包括对图像进行解码所需的信息(参数集或sei消息)的nal单元。
[0168]
vcl nal单元和非vcl nal单元可以附接有报头信息,并且根据下层系统的数据标准通过网络发送。例如,nal单元可以被修改成诸如h.266/vvc文件格式、rtp(实时传输协议)或ts(传输流)的预定标准的数据格式,并且通过各种网络发送。
[0169]
如上所述,在nal单元中,可以根据包括在对应nal单元中的rbsp数据结构来指定nal单元类型,并且关于nal单元类型的信息可以存储在nal单元报头中并且发信号通知。
[0170]
例如,根据nal单元是否包括关于图像的信息(切片数据),这可以大致分类成vcl nal单元类型和非vcl nal单元类型。vcl nal单元类型可以根据包括在vcl nal单元中的图片的性质和类型来分类,并且非vcl nal单元类型可以根据参数集的类型来分类。
[0171]
下文将列出根据包括在非vcl nal单元类型中的参数集的类型而指定的nal单元类型的示例。
[0172]-aps(适配参数集)nal单元:包括aps的nal单元的类型
[0173]-dps(解码参数集)nal单元:包括dps的nal单元的类型
[0174]-vps(视频参数集)nal单元:包括vps的nal单元的类型
[0175]-sps(序列参数集)nal单元:包括sps的nal单元的类型
[0176]-pps(图片参数集)nal单元:包括pps的nal单元的类型
[0177]
上述nal单元类型可以具有针对nal单元类型的语法信息,并且语法信息可以存储在nal单元报头中并且发信号通知。例如,语法信息可以为nal_unit_type,并且nal单元类型可指定为nal_unit_type值。
[0178]
切片报头(切片报头语法)可以包括通常适用于切片的信息/参数。aps(aps语法)或pps(pps语法)可以包括通常适用于一个或更多个切片或图片的信息/参数。sps(sps语法)可以包括通常适用于一个或更多个序列的信息/参数。vps(vps语法)可以包括通常适用于多个层的信息/参数。dps(dps语法)可以包括通常适用于整个视频的信息/参数。dps可以包括与编码视频序列(cvs)的级联相关的信息/参数。在本公开中,高级语法(hls)可以包括aps语法、pps语法、sps语法、vps语法、dps语法或切片报头语法中的至少一者。
[0179]
在本公开中,以比特流的形式在编码设备中编码并且发信号通知给解码设备的图像/视频信息可以不仅包含图片内分区相关信息、帧内/帧间预测信息、残差信息、环路内滤波信息,而且还包含包括在切片报头中的信息、包括在aps中的信息、包括在pps中的信息、包括在sps中的信息和/或包括在vps中的信息。
[0180]
帧内预测的概述
[0181]
在下文中,将更详细地描述由上述编码和解码设备执行的帧内预测。帧内预测可以表示用于基于当前块所属的图片(下文称为当前图片)中的参考样本来生成当前块的预测样本的预测。
[0182]
将参照图16给出描述。当帧内预测应用于当前块1601时,可以推导将用于当前块1601的帧内预测的邻近参考样本。当前块的邻近参考样本可以包括:包括与具有nwxnh大小的当前块的左边界相邻的样本1611和与左底部相邻的样本1612的总共2xnh个样本、包括与当前块的顶部边界相邻的1621和与右顶部相邻的样本1622的总共2xnw个样本以及与当前块的左顶部相邻的一个样本1631。另选地,当前块的邻近参考样本可以包括顶部邻近样本的多个列和左边邻近样本的多个行。
[0183]
另外,当前块的邻近参考样本可以包括与具有nwxnh大小的当前块的右边界相邻的总共nh个样本1641、与当前块的底部边界相邻的总共nw个样本1651以及与当前块的右底部相邻的一个样本1642。
[0184]
然而,当前块的邻近参考样本中的一些尚未经解码或可能不可用。在这种情况下,解码设备可以通过用可用样本取代不可用样本来构建将用于预测的邻近参考样本。另选地,可以通过可用样本的插值来构建将用于预测的邻近参考样本。
[0185]
当推导邻近参考样本时,(i)可以基于当前块的邻近参考样本的均值或插值来推导预测样本,并且(ii)可以基于当前块的邻近参考样本当中相对于预测样本存在于特定(预测)方向上的参考样本来推导预测样本。可以将(i)的情况称为非定向模式或非角度模式,并且可以将(ii)的情况称为定向模式或角度模式。另外,可以通过邻近参考样本当中基于当前块的预测样本位于当前块的帧内预测模式的预测方向的相反方向上的第一邻近样本与第二邻近样本之间的插值来生成预测样本。可以将上述情况称为线性插值帧内预测(lip)。另外,可以使用线性模型来基于亮度样本来生成色度预测样本。可以将这种情况称作lm模式。另外,可以基于经滤波的邻近参考样本来推导当前块的时间预测样本,并且可以通过将该时间预测样本和现有邻近参考样本当中根据帧内预测模式推导的至少一个参考样本(也就是说,未滤波的邻近参考样本)进行加权求和来推导当前块的预测样本。可以将上述情况称为位置相关帧内预测(pdpc)。另外,可以从当前块的多条邻近参考样本线当中选择具有最高预测准确度的参考样本线,并且可以使用对应线中位于预测方向上的参考样本来推导预测样本。此时,可以通过将所使用的参考样本线指示(发信号通知)给解码设备来执行帧内预测编码。可以将上述情况称为多参考线(mrl)帧内预测或基于mrl的帧内预测。另外,可以将当前块分区成垂直子分区或水平子分区,可以基于相同的帧内预测模式来执行帧内预测,并且可以以子分区为单位来推导和使用邻近参考样本。也就是说,在这种情况下,针对当前块的帧内预测模式被同等地应用于子分区并且以子分区为单位推导和使用邻近参考样本,由此在一些情况下提高帧内预测性能。可以将这样的预测方法称为帧内子分区(isp)或基于isp的帧内预测。可以将上述帧内预测方法称为帧内预测类型,以便于与
帧内预测模式(例如,dc模式、平面模式或定向模式)区分开。可以将帧内预测类型称为诸如帧内预测技术或附加帧内预测模式的各种术语。例如,帧内预测类型(或附加帧内预测模式等)可以包括上述lip、pdpc、mrl和isp中的至少一种。除了诸如lip、pdpc、mrl和isp之类的特定帧内预测类型之外的正常帧内预测方法可以被称为正常帧内预测类型。正常帧内预测类型可以指不应用特定帧内预测类型的情况,并且可以基于上述帧内预测模式执行预测。此外,必要时,可以相对于所推导的预测样本执行后滤波。
[0186]
具体地,帧内预测过程可以包括帧内预测模式/类型确定步骤、邻近参考样本推导步骤和基于帧内预测模式/类型的预测样本推导步骤。另外,必要时,可以相对于所推导的预测样本执行后滤波。
[0187]
此外,除上述帧内预测类型之外,还可以使用仿射线性加权帧内预测(alwip)。alwip可以被称为线性加权帧内预测(lwip)、矩阵加权帧内预测(mip)或基于矩阵的帧内预测。当mip应用于当前块时,i)使用经过求平均过程的邻近参考样本,ii)可以执行矩阵向量乘法过程,并且iii)根据需要还可以执行水平/垂直插值过程,从而推导针对当前块的预测样本。针对mip的帧内预测模式可以与用于上述lip、pdpc、mrl、isp帧内预测或正常帧内预测中的帧内预测模式不同地构造。针对mip的帧内预测模式可以被称为mip帧内预测模式、mip预测模式或mip模式。例如,可以根据针对mip的帧内预测模式来不同地设置在矩阵向量乘法中使用的矩阵和偏移。这里,矩阵可以被称为(mip)权重矩阵,并且偏移可以被称为(mip)偏移向量或(mip)偏置向量。下面将描述详细的mip方法。
[0188]
基于帧内预测的块重构过程和编码设备中的帧内预测单元可以示意性地包括例如以下内容。s1710可以由编码设备的帧内预测单元185执行,并且s1720可以由包括编码设备的减法器115、变换器120、量化器130、解量化器140和逆变换器150中的至少一者的残差处理器执行。具体地,s1720可以由编码设备的减法器115执行。在s1730中,预测信息可以由帧内预测单元185推导,并且可以由熵编码器190编码。在s1730中,残差信息可以由残差处理器推导,并且可以由熵编码器190编码。残差信息是关于残差样本的信息。残差信息可以包括关于针对残差样本的经量化的变换系数的信息。如上所述,残差样本可以通过编码设备的变换器120推导为变换系数,并且变换系数可以通过量化器130推导为经量化的变换系数。关于经量化的变换系数的信息可以由熵编码器190通过残差编码过程来编码。
[0189]
编码设备可以相对于当前块执行帧内预测(s1710)。编码设备可以推导针对当前块的帧内预测模式/类型,推导当前块的邻近参考样本,并且基于帧内预测模式/类型和邻近参考样本来生成当前块中的预测样本。这里,可以同时执行用于确定帧内预测模式/类型的过程、用于推导邻近参考样本的过程以及用于生成预测样本的过程,或者可以在另一过程之前执行任何一个过程。例如,尽管未示出,但是编码设备的帧内预测单元185可以包括帧内预测模式/类型确定单元、参考样本推导单元、预测样本推导单元。帧内预测模式/类型确定单元可以确定针对当前块的帧内预测模式/类型,参考样本推导单元可以推导当前块的邻近参考样本,并且预测样本推导单元可以推导当前块的预测样本。此外,当执行以下描述的预测样本滤波过程时,帧内预测单元185还可以包括预测样本滤波器。编码设备可以从多个帧内预测模式/类型当中确定应用于当前块的模式/类型。编码设备可以比较帧内预测模式/类型的rd成本,并确定针对当前块的最优帧内预测模式/类型。
[0190]
此外,编码设备可以执行预测样本滤波过程。预测样本滤波可以被称为后滤波。预
测样本中的一些或全部可以由预测样本滤波过程滤波。在一些情况下,可省略预测样本滤波过程。
[0191]
编码设备可以基于(经滤波的)预测样本来生成针对当前块的残差样本(s1720)。编码设备可以基于相位来对来自当前块的原始样本的预测样本进行比较并且推导残差样本。
[0192]
编码设备可以对包括关于帧内预测的信息(预测信息)和残差样本的残差信息的图像信息进行编码(s1730)。预测信息可以包括帧内预测模式信息和帧内预测类型信息。编码设备可以比特流的形式输出编码图像信息。可以通过存储介质或网络将输出比特流发送到解码设备。
[0193]
残差信息可以包括下文所描述的残差编码语法。编码设备可以变换/量化残差样本以推导经量化的变换系数。残差信息可以包括关于经量化的变换系数的信息。
[0194]
此外,如上所述,编码设备可以生成重构图片(包括重构样本和重构块)。为此,编码设备可以再次相对于经量化的变换系数执行解量化/逆变换以推导(经修改的)残差样本。残差样本被变换/量化并然后被解量化/逆变换以便推导与如上所述的解码设备中推导的残差样本相同的残差样本。编码设备可以基于预测样本和(经修改的)残差样本来生成包括针对当前块的重构样本的重构块。可以基于重构块来生成针对当前图片的重构图片。如上所述,环内滤波过程还适用于重构图片。
[0195]
例如,基于解码设备中的帧内预测单元和帧内预测的视频/图像解码过程可以示意性地包括以下内容。解码设备可以执行与在编码设备中执行的操作相对应的操作。
[0196]
s1810至s1830可以由解码设备的帧内预测单元265执行,并且s1810的预测信息和s1840的残差信息可以由解码设备的熵解码器210从比特流获得。包括解码设备的解量化器220和逆变换器230中的至少一个的残差处理器可以基于残差信息来推导针对当前块的残差样本。具体地,残差处理器的解量化器220可以基于根据残差信息推导的经量化的变换系数来执行解量化,以推导变换系数,并且残差处理器的逆变换器230可以相对于变换系数执行逆变换以推导当前块的残差样本。s1850可以由解码设备的加法器235或重构器执行。
[0197]
具体地,解码设备可以基于接收到的预测信息(帧内预测模式/类型信息)来推导针对当前块的帧内预测模式/类型(s1810)。解码设备可以推导当前块的邻近参考样本(s1820)。解码设备可以基于帧内预测模式/类型和邻近参考样本来生成当前块中的预测样本(s1830)。在这种情况下,解码设备可以执行预测样本滤波过程。预测样本滤波可以被称为后滤波。预测样本中的一些或全部可以由预测样本滤波过程滤波。在一些情况下,可以省略预测样本滤波过程。
[0198]
解码设备可以基于所接收的残差信息来生成针对当前块的残差样本。解码设备可以基于预测样本和残差样本来生成针对当前块的重构样本,并且推导包括重构样本的重构块(s1840)。可以基于重构块生成针对当前图片的重构图片。如上所述,环内滤波过程还适用于重构图片。
[0199]
这里,尽管未示出,但解码设备的帧内预测单元265可以包括帧内预测模式/类型确定单元、参考样本推导单元和预测样本推导单元,帧内预测模式/类型确定单元可以基于由熵解码器210获取的帧内预测模式/类型信息来确定针对当前块的帧内预测模式/类型,参考样本推导单元可以推导当前块的邻近参考样本,并且预测样本推导单元可以推导当前
块的预测样本。此外,当执行上述预测样本滤波过程时,帧内预测单元265还可以包括预测样本滤波器。
[0200]
帧内预测模式信息可以包括指示将最可能模式(mpm)还是剩余模式应用于当前块的标志信息(例如,intra_luma_mpm_flag),并且当将mpm应用于当前块时,预测模式信息还可以包括指示帧内预测模式候选(mpm候选)中的一者的索引信息(例如,intra_luma_mpm_idx)。帧内预测模式候选(mpm候选)可以被配置为mpm候选列表或mpm列表。另外,当mpm不应用于当前块时,帧内预测模式信息还可以包括指示除了帧内预测模式候选(mpm候选)的剩余帧内预测模式中的一者的剩余模式信息(例如,intra_luma_mpm_remainder)。解码设备可以基于帧内预测模式信息来确定当前块的帧内预测模式。可以针对上述mip配置单独的mpm列表。
[0201]
另外,帧内预测类型信息可以以各种形式实现。例如,帧内预测类型信息可以包括指示帧内预测类型中的一者的帧内预测类型索引信息。作为另一示例,帧内预测类型信息可以包括以下项中的至少一者:指示mrl是否应用于当前块并且在应用的情况下使用哪个参考样本线的参考样本线信息(例如,intra_luma_ref_idx)、指示isp是否应用于当前块的isp标志信息(例如,intra_subpartitions_mode_flag)、指示在应用isp时子分区的分割类型的isp类型信息(例如,intra_subpartitions_split_flag)、指示是否应用pdcp的标志信息或指示是否应用lip的标志信息。另外,帧内预测类型信息可以包括指示mip是否应用于当前块的mip标志。
[0202]
帧内预测模式信息和/或帧内预测类型信息可以通过本公开中描述的编码方法来编码/解码。例如,帧内预测模式信息和/或帧内预测类型信息可以通过基于截断(莱斯)二进制码的熵编码(例如,cabac或cavlc)来编码/解码。
[0203]
帧内预测模式/类型确定
[0204]
当应用帧内预测时,可以使用邻近块的帧内预测模式来确定应用于当前块的帧内预测模式。例如,解码设备可以基于所接收的mpm索引来选择基于当前块的邻近块(例如,左部和/或顶部邻近块)的帧内预测模式和附加候选模式所推导的最可能模式(mpm)中的mpm候选中的一者,或者基于剩余帧内预测模式信息选择未包括在mpm候选中的剩余帧内预测模式(和平面模式)中的一者。
[0205]
mpm列表可以被构造成包括或不包括平面模式作为候选。例如,当mpm列表包括平面模式作为候选时,mpm列表可以具有六个候选,并且当mpm列表不包括平面模式作为候选时,mpm列表可以具有三个候选。当mpm列表不包括平面模式作为候选时,可以发信号通知指定当前块的帧内预测模式是否不是平面模式的非平面标志(例如,intra_luma_not_planar_flag)。例如,当mpm标志的值为1时,可以首先发信号通知mpm标志并且可以发信号通知mpm索引和非平面标志。另外,当非平面标志的值为1时,可以发信号通知mpm索引。这里,因为平面模式始终被认为是mpm,mpm列表被构造成不包括平面模式,以便于首先通过首先发信号通知标志(非平面标志)来确定其是否为平面模式,而不是认为平面模式不是mpm。
[0206]
例如,可以基于mpm标志(例如,intra_luma_mpm_flag)指定应用于当前块的帧内预测模式是在mpm候选(和平面模式)中还是在剩余模式中。mpm标志的值可以指定针对当前块的帧内预测模式在mpm候选(和平面模式)中,并且mpm标志的值0可以指定针对当前块的帧内预测模式不在mpm候选(和平面模式)中。非平面标志(例如,intra_luma_not_planar_
flag)的值0可以指定针对当前块的帧内预测模式是平面模式,并且非平面标志的值1可以指定针对当前块的帧内预测模式不是平面模式。
[0207]
mpm索引可以以mpm_idx或intra_luma_mpm_idx语法元素的形式发信号通知,并且剩余帧内预测模式信息可以以rem_intra_luma_pred_mode或intra_luma_mpm_remainder语法元素的形式发信号通知。例如,剩余帧内预测模式信息可以指定以预测模式编号的次序索引的所有帧内预测模式当中未包括在mpm候选(和平面模式)中的剩余帧内预测模式中的一者。帧内预测模式可以是针对亮度分量(样本)的帧内预测模式。
[0208]
在下文中,帧内预测模式信息可以包括mpm标志(例如,intra_luma_mpm_flag)、非平面标志(例如,intra_luma_not_planar_flag)、mpm索引(例如,mpm_idx或intra_luma_mpm_idx)或剩余帧内预测模式信息(rem_intra_luma_pred_mode或intra_luma_mpm_remainder)中的至少一者。在本公开中,mpm列表可以被称为诸如mpm候选列表、candmodelist等的各种术语。当mip应用于当前块时,可以发信号通知针对mip的单独mpm标志(例如,intra_mip_mpm_flag)、mpm索引(例如,intra_mip_mpm_idx)和剩余帧内预测模式信息(例如,intra_mip_mpm_remainder),并且可以不发信号通知非平面标志。
[0209]
此外,帧内预测模式可以包括图19中所示的两个非定向帧内预测模式和65个定向预测模式。非定向帧内预测模式可以包括平面帧内预测模式和dc帧内预测模式,并且定向帧内预测模式可以包括帧内预测模式#2至#66。扩展定向帧内预测适用于具有所有大小的块并且适用于亮度分量和色度分量两者。
[0210]
针对非正方形块的广角帧内预测
[0211]
如上文参照图19所描述,帧内预测的预测方向可以被定义为顺时针方向上的45度至-135度。然而,根据实施方式,如图20所示,可以使用更多的预测方向。图20示出了非正方形块的广角帧内预测方向并且示出了93个预测方向。在图20中,由虚线指示的预测方向指示针对非正方形块的广角帧内预测的预测方向。
[0212]
在实施方式中,在当前块为非正方形块时,一些现有定向帧内预测模式可以用广角帧内预测模式自适应地替换。当应用替换的广角帧内预测时,可以发信号通知关于现有帧内预测的信息,并且在解析信息之后,可以将信息重新映射到广角帧内预测模式的索引。因此,针对特定块(例如,具有特定大小的非正方形块)的帧内预测模式的总数量可以不改变,也就是说,帧内预测模式的总数量为67,并且针对特定块的帧内预测模式编码可以不改变。
[0213]
帧内预测中的参考样本滤波和插值滤波
[0214]
图21是示意性地例示帧内预测方法的实施方式的图。根据实施方式的编码设备和/或解码设备可以确定当前块的帧内预测模式(s2110)。接下来,编码设备和/或解码设备可以推导当前块的邻近参考样本(s2120)。接下来,编码设备和/或解码设备可以将滤波应用于邻近参考样本(s2130)。例如,编码设备和/或解码设备可以如下文所描述确定是否将滤波应用于邻近参考样本并且相应地应用滤波。因此,步骤s2130可以选择性地应用。接下来,编码设备和/或解码设备可以基于帧内预测模式和(经滤波的)邻近参考样本来执行帧内预测(s2140)。例如,当应用定向帧内预测模式并且帧内预测方向指定分数参考样本位置时,编码设备和/或解码设备可以执行插值滤波并且推导预测样本值。如下文所描述,编码设备和/或解码设备可以确定插值滤波类型。
[0215]
如上所述,编码设备可以通过帧内预测来推导当前块的预测样本并且基于预测样本来推导残差样本。关于残差样本的信息还可以被包括在图像/视频信息中并且被编码。另外,解码设备可以推导当前块的预测样本并且基于所推导的预测样本来生成重构样本。基于此,可以生成重构图片。
[0216]
邻近参考样本推导
[0217]
当帧内预测应用于当前块时,可以推导将用于当前块的帧内预测的邻近参考样本。可以如参照图16所描述推导当前块的邻近参考样本。此外,当应用mrl时,参考样本可以位于在左侧/上侧上与当前块相邻的线1至3处而不是线0处,并且在这种情况下,邻近参考样本的数量可以进一步增加。另外,当应用isp时,可以以子分区为单位来推导邻近参考样本。
[0218]
此外,当前块的邻近参考样本中的一些可能尚未经解码或可能不可用。在这种情况下,解码设备可以通过可用样本的插值来构造将用于预测的邻近参考样本。另选地,解码设备可以通过可用样本的外推来构造将用于预测的邻近参考样本。虽然利用从左下参考样本到右上参考样本的最新样本(最后可用样本)更新可参考样本,但是可以通过用最后可用样本替换或填充尚未解码或不可用的像素来构造可参考样本。
[0219]
此外,滤波适用于当前块的邻近参考样本。因为其不同于在帧内预测之后应用于预测样本的滤波的后滤波,这可以被称为在帧内预测之前应用于邻近参考样本的预滤波。邻近参考样本的滤波可以使用1-2-1滤波器执行并且因此可以被称为平滑滤波。
[0220]
当1-2-1滤波器应用于邻近参考样本时,可以如下推导针对未应用滤波的邻近参考样本refunfilt[][]的滤波器应用于的邻近参考样本p[x][y]的值。这里,在当前块的左上方样本位置为(0,0)时,[x][y]可以指定(x,y)坐标。这里,x=-1,y=-1..refh

1并且x=0..refw-1,y=-1。
[0221]
[式1]
[0222]
p[-1][-1]=(refunfilt[-1][0]+2*refunfilt[-1][-1]+refunfilt[0][-1]+2)》》2
[0223]
对于y=0...refh-2,p[-1][y]=(refunfilt[-1][y+1]+2*refunfilt[-1][y]+refunfilt[-1][y-1]+2)》》2
[0224]
p[-1][refh-1]=refunfilt[-1][refh-1]
[0225]
对于x=0

refw

2,p[x][-1]=(refunfilt[x-1][-1]+2*refunfilt[x][-1]+refunfilt[x+1][-1]+2)》》2
[0226]
p[refw-1][-1]=refunfilt[refw-1][-1]
[0227]
当滤波应用于邻近参考样本时,经滤波的邻近参考样本可以在预测样本推导步骤中用作参考样本,并且当滤波不应用于邻近参考样本时,未经滤波的邻近参考样本可以在预测样本推导步骤中用作参考样本。
[0228]
例如,当满足以下特定条件中的一些或全部时,可以应用邻近参考样本的滤波。
[0229]
例如,当满足以下特定条件中的一些或全部时,可以应用邻近参考样本的滤波。
[0230]
(条件1)ntbw*ntbh大于32。这里,ntbw表示tb的宽度,也就是说,变换块(当前块)的宽度,并且ntbh表示tb的高度,也就是说,变换块(当前块)的高度。
[0231]
(条件2)cidx的值为0。cidx表示当前块的颜色分量,并且值为0表示亮度分量。
[0232]
(条件3)intrasubpartitionssplittype表示非分割(isp_no_split)。这里,intrasubpartitionssplittype是指定当前亮度编码块的分割类型的参数。
[0233]
(条件4)以下条件4-1至4-4中的至少一项为真。
[0234]
(条件4-1)指定帧内预测模式的predmodeintra的值指定平面预测模式(intra_planar)。
[0235]
(条件4-2)predmodeintra的值指定定向帧内预测模式#34(intra_angular34)。
[0236]
(条件4-3)predmodeintra的值指定定向帧内预测模式#2(intra_angular2),并且ntbh的值大于或等于ntbw的值。
[0237]
(条件4-4)predmodeintra的值指定定向帧内预测模式#66(intra_angular66),并且ntbw的值大于或等于ntbh。
[0238]
基于帧内预测模式/类型的预测样本推导
[0239]
如上所述,编码/解码设备的预测单元可以根据当前块的邻近参考样本当中的当前块的帧内预测模式来推导参考样本,并且基于参考样本来生成当前块的预测样本。例如,在非定向模式(非角度模式)的情况下,可以基于当前块的邻近参考样本的均值或插值来推导预测样本。另选地,在定向模式(角度模式)的情况下,可以基于当前块的邻近参考样本当中的针对预测样本的特定(预测)方向上的参考样本来推导预测样本。
[0240]
用于生成预测样本的插值滤波器的应用
[0241]
此外,当通过参考样本的插值来生成当前块的预测样本时,可以通过各种方法推导针对插值的插值滤波器。例如,可以基于预定条件来确定插值滤波器。例如,可以基于针对当前块的帧内预测模式和/或当前块的大小来确定插值滤波器。插值滤波器可以包括(例如)高斯滤波器和立方滤波器。例如,当针对当前块的帧内预测模式为左下方对角线帧内预测模式(#2)、左上方对角线帧内预测模式(#34)或右上方对角线帧内预测模式(#66)时,可以确定不应用插值滤波器或应用高斯滤波器而不是立方滤波器。另外,例如,当mrl的参考线索引为0时,应用立方滤波器,并且当参考线索引大于0时,可以确定不应用插值滤波器或应用高斯滤波器。另外,在帧内预测模式中,当根据帧内预测模式的预测方向基于当前预测样本的位置指定邻近参考样本的分数样本点而不是整数样本点时,插值滤波器可以应用于生成与分数样本点相对应的参考样本值。
[0242]
mdis(模式相关帧内平滑)
[0243]
此外,当根据帧内预测模式的预测方向基于当前块中的当前预测样本(目标预测样本)的位置来指定邻近参考样本的分数样本点而不是整数样本点时,插值滤波器可应用于生成与分数样本点相对应的参考样本值。例如,4抽头(4-tap)帧内插值滤波器可以用于增加定向帧内预测准确度。
[0244]
例如,可以根据应用定向帧内预测模式的方面来确定4抽头滤波器的类型。定向帧内预测模式可以被分类成以下三个组。
[0245]-组a:垂直预测模式(hor_idx)或水平预测模式(ver_idx)
[0246]-组b:具有被确定为45度的倍数的定向角度的对角线预测模式(2,dia_idx,vdia_idx)
[0247]-组c:其它定向预测模式
[0248]
对于针对组a的定向帧内预测模式,在使用参考样本生成预测样本的过程中,可以
不应用滤波。对于针对组b的定向帧内预测模式,[1,2,1]参考样本滤波可以应用于参考样本自身的值。此后,可以通过将滤波所应用于的参考样本值复制到帧内预测样本值而不应用插值滤波器来执行帧内预测。对于针对组c的定向帧内预测模式,可以不应用使用针对参考样本的[1,2,1]滤波器的参考样本滤波。然而,插值滤波器可以应用于基于参考样本值推导帧内预测样本值的过程中。
[0249]
用于执行参考样本滤波和插值滤波的条件
[0250]
在下文中,将描述由编码设备和/或解码设备在帧内预测中执行参考样本滤波的条件以及确定插值滤波器类型的方法。在以下描述中,可以简化确定是否执行参考样本滤波的过程和确定插值滤波器的类型的过程。因此,通过降低用于确定是否执行参考样本滤波或确定插值滤波器的类型的算法复杂性,有可能降低编码设备和解码设备的性能要求并且增大编码和解码吞吐量。
[0251]
当帧内预测模式是定向预测模式时,编码设备和/或解码设备可以使用位于帧内预测方向上的邻近参考样本从当前块中的目标样本位置来推导目标样本的预测样本值。在这种情况下,如上所述,当帧内预测方向指定整数参考样本位置时,编码设备和/或解码设备可以通过外推整数参考样本值来推导目标样本的预测样本值,并且当帧内预测方向指定分数参考样本位置时,通过使用分数参考样本位置周围的整数参考样本进行插值来推导目标样本的预测样本值。
[0252]
如上所述,可以考虑当前帧内预测类型、当前帧内模式和块的大小而可变地确定用于执行参考样本滤波的条件和用于确定插值滤波器类型的条件。下表示出了确定用于执行参考样本滤波和插值滤波器类型的条件的实施方式。
[0253]
[表2]
[0254][0255]
如上表所示,在当前帧内预测类型为色度分量帧内预测(chroma)、子分区帧内预测(isp)、多参考线帧内预测(mrl)、基于矩阵的帧内预测(mip)或dc模式时,不执行参考样本滤波,并且在生成预测块时可以使用dct-if滤波器(也被称为立方滤波器)来执行插值。另选地,在当前块类型为bdpcm时,不执行参考样本滤波,并且可以在生成预测块时使用dct-if滤波器来执行插值。另选地,在当前帧内预测模式为平面模式时,编码设备和/或解
码设备可以根据块的宽度与高度的乘积来确定参考样本滤波条件。例如,编码设备和/或解码设备可以在块的宽度与高度的乘积大于32时执行参考样本滤波,并且否则可以不执行参考样本滤波。
[0256]
最后,在相对于当前块执行现有帧内预测并且帧内预测模式为定向(角度)模式时,编码设备和/或解码设备可以根据滤波器条件来确定参考样本滤波条件和插值滤波器类型。如上表中所描述的,可以基于当前帧内预测模式和块的大小来可变地确定滤波器条件。例如,可以根据以下条件来确定滤波器条件。
[0257]
[式2]
[0258]
diff=min(abs(predmode

hdr_idx),abs(predmode

ver_idx))
[0259]
log2size=((g_auclog2[pusize.width]+g_auclog2[pusize.height])》》1)
[0260]
filterflag=(diff》m_aucintrafilter[log2size])
[0261]
在上式中,min(a,b)表示用于返回a和b的较小值的函数,abs(a)是用于返回a的绝对值的函数,predmode表示当前定向帧内预测模式的索引,hdr_idx表示水平帧内预测模式的索引,ver_idx表示垂直帧内预测模式的索引,g_auclog2[pusize.width]表示以2为底的对数的情况下的当前预测块的宽度,g_auclog2[pusize.height]表示在以2为底的对数的情况下的当前预测块的高度,并且m_aucintrafilter[log2size]表示针对块大小log2size的帧内滤波阈值。
[0262]
编码设备和/或解码设备可以根据所确定的滤波器条件使用不同方法来确定参考样本滤波条件和插值滤波器类型。例如,如上表中所示,当执行帧内预测时,帧内预测模式为定向模式并且满足上表中所示的滤波器条件,可以根据当前帧内预测模式的定向是否为整数像素的定向isintergerslop来确定参考样本滤波条件和插值滤波器类型。例如,在当前帧内预测模式的定向为整数像素的定向时,编码设备和/或解码设备可以执行参考样本滤波并且使用dct-if滤波器作为插值滤波器。否则,编码设备和/或解码设备可以使用高斯滤波器作为插值滤波器而不执行参考样本滤波。此外,当执行现有帧内预测时,帧内预测模式为定向模式并且不满足上表的滤波器条件,编码设备和/或解码设备可以使用dct-if滤波器作为插值滤波器而不执行参考样本滤波。
[0263]
考虑帧内预测类型、帧内预测模式和块的大小而分别确定上表中所示的用于执行参考样本滤波的条件和用于确定插值滤波器类型的条件并且因此具有高复杂度。例如,在确定是否执行帧内预测并且确定帧内预测模式是否为定向预测模式之后,编码设备和/或解码设备通过再次在内部考虑滤波器条件而使用不同方法确定用于执行参考样本滤波的条件和用于确定插值滤波器类型的条件,定向预测模式与除定向预测模式以外的其它帧内预测模式相比并不统一,并且算法复杂度也较高。
[0264]
在下文所公开的实施方式中,当如上所述执行帧内预测并且帧内预测为定向模式时,使用简单且统一的方法来设置用于执行参考样本滤波的条件和用于确定插值滤波器类型的条件。在以下实施方式中,通过使用用于执行更简单并且统一的参考样本滤波的条件和用于确定插值滤波器类型的条件,可以降低编码/解码处理中的帧内预测复杂度。
[0265]
实施方式1
[0266]
下面公开的实施方式改进了根据上面的表2的实施方式中在定向模式中确定参考样本滤波和插值滤波器类型的方法。因此,与上面的表2的实施方式相比,通过使用更简单
并且统一的用于执行参考样本滤波的条件和用于确定插值滤波器类型的条件,可以降低编码/解码过程中的帧内预测复杂度。
[0267]
[表3]
[0268][0269]
如上表中所公开,当应用定向帧内预测模式时,编码设备和/或解码设备可以不执行参考样本滤波而不管滤波条件如何。这是基于推导与[1,2,1]滤波器相同的滤波效应的level-0高斯滤波器。也就是说,当应用高斯滤波器时,可以不应用基于[1,2,1]滤波器的参考样本滤波。因此,编码设备和/或解码设备可以不确定用于在定向模式中执行参考样本滤波的条件。例如,编码设备可以不使用指定是否在定向模式中执行参考样本滤波的标志信息reffilterflag,并且因此可以不将关于其的信息发信号通知给解码设备。因此,在执行帧内预测的过程中,参考样本滤波可以仅在平面模式中应用。在这方面,可以仅基于平面模式中的块的大小来简单地确定是否在执行帧内预测的过程中应用参考样本滤波。
[0270]
此外,当满足滤波器条件时,编码设备和/或解码设备可以使用高斯滤波器作为插值滤波器。高斯滤波器具有平滑特性。当不满足滤波器条件时,编码设备和/或解码设备可以使用dct-if滤波器作为插值滤波器。因此,编码设备和/或解码设备可以在不如表2所示使用isintergerslop来确定条件的情况下确定插值滤波器。
[0271]
实施方式2
[0272]
下面公开的实施方式改进了根据上面的表2的实施方式中在定向模式中确定参考样本滤波和插值滤波器类型的方法。因此,与上面的表2的实施方式相比,通过使用更简单并且统一的用于执行参考样本滤波的条件和用于确定插值滤波器类型的条件,可以降低编码/解码处理中的帧内预测复杂度。
[0273]
[表4]
[0274][0275][0276]
如上表中所公开,当应用定向帧内预测模式时,编码设备和/或解码设备可以与当前块的大小无关地确定值为isintergerslop的参考样本滤波条件。另外,当应用定向帧内预测模式时,如果当前块的宽度与高度的乘积大于256(例如,ntbs》3),则编码设备和/或解码设备可以根据isintegerslop的值来确定插值滤波器类型。例如,在当前帧内预测模式的定向具有整数像素的定向(例如,isintegerslop==1)时,编码设备和/或解码设备可以执行参考样本滤波并且使用dct-if滤波器作为插值滤波器。否则,编码设备和/或解码设备可以使用高斯滤波器作为插值而不执行参考样本滤波。此外,在当前块的宽度与高度的乘积不大于256(例如,ntbs≤3)时,可以将插值滤波器确定为dct-if。此外,可以根据需要将用于确定插值滤波器的当前块的大小阈值(例如,当前块的宽度与高度的乘积的阈值或ntbs)确定为预定值。因此,编码设备和/或解码设备可以在考虑当前块的模式信息和大小信息的同时使用简单方法来设置用于执行参考样本滤波的条件和用于确定插值滤波器类型的条件。
[0277]
实施方式3
[0278]
下面公开的实施方式改进了在上述实施方式中确定是否以平面模式执行参考样本滤波的方法。因此,与上述实施方式相比,通过使用用于执行更简单的参考样本滤波的条件,可以降低编码/解码处理中的帧内预测复杂度。
[0279]
在上述实施方式中,如下式中所示,确定是否针对平面模式执行参考样本滤波。
[0280]
[式3]
[0281]
reffilterflag=亮度cb大小》32?真:假
[0282]
在上式中,reffilterflag为指定是否执行参考样本滤波的参数,第一值(例如,0)指定不执行参考样本滤波,并且第二值(例如,1)可以指定执行参考样本滤波。亮度cb大小可以指定当前亮度分量编码块(cb)的大小,并且可以通过cb的宽度与高度的乘积来计算。
[0283]
为了根据上式计算针对平面模式的参考样本滤波,由于确定当前块的大小信息和大小是否大于预定值(例如,32),因此发生复杂性。
[0284]
通过去除对当前块的大小的依赖性,可以统一并且简化用于针对平面模式执行参考样本滤波的条件。例如,可以如下式中所示确定reffilterflag。
[0285]
[式4]
[0286]
reffilterflag=真
[0287]
另选地,可以如下式中所示来确定reffilterflag。
[0288]
[式5]
[0289]
reffilterflag=假
[0290]
根据实施方式的编码设备和/或解码设备可以通过执行简化以无条件地应用或不应用是否将参考样本应用于平面模式来降低算法复杂度。
[0291]
实施方式4
[0292]
下面公开的实施方式改进了根据上面的表2的实施方式中在定向模式中确定参考样本滤波和插值滤波器类型的方法。因此,与上面的表2的实施方式相比,通过使用更简单并且统一的用于执行参考样本滤波的条件和用于确定插值滤波器类型的条件,可以降低编码/解码处理中的帧内预测复杂度。
[0293]
[表5]
[0294]
[0295][0296]
如上表中所公开,编码设备和/或解码设备可以去除基于定向模式的帧内滤波器选择条件filterflag并且设置用于执行参考样本滤波的条件reffilterflag和用于根据当前块的大小log2size确定插值滤波器类型的条件interpolationflag。如上表中所示,在当前帧内预测模式为定向模式时,可以仅考虑当前块的大小来确定用于执行参考样本滤波的条件和用于确定插值滤波器类型的条件。例如,在当前块的大小大于预定大小(例如,3)时,可以基于当前帧内预测模式的定向来确定用于执行参考样本滤波的条件reffilterflag和用于确定插值滤波器类型的条件interpolationflag。例如,它们可以基于isintergerslop的值来确定。可以根据需要任意地确定预定大小。因此,编码设备和/或解码设备可以在考虑当前块的模式信息和大小信息的同时使用简单方法来设置用于执行参考样本滤波的条件和用于确定插值滤波器类型的条件。
[0297]
实施方式5
[0298]
下面公开的实施方式改进了当帧内预测模式是平面模式或定向模式时确定参考样本滤波和插值滤波器类型的方法。因此,与上面的表2的实施方式相比,通过使用更简单并且统一的用于执行参考样本滤波的条件和用于确定插值滤波器类型的条件,可以降低编码/解码处理中的帧内预测复杂度。
[0299]
[表6]
[0300][0301][0302]
如上表中所示,可以去除用于在帧内预测中执行参考样本滤波的条件。例如,在所有情况下可以不在帧内预测中执行参考样本滤波。因此,如上表所述,可以跳过作为用于执
行参考样本滤波的条件的reffilterflag的使用。因此,编码设备和解码设备可以在不改变的情况下使用重构参考样本执行帧内预测。另外,可以根据基于模式的帧内滤波条件将插值滤波器选择为高斯滤波器(例如,4抽头高斯滤波器)和dct-if滤波器(例如,4抽头dct-if滤波器)中的一者。例如,当满足基于模式的帧内滤波条件时,可以使用4抽头高斯滤波器,并且否则,可以使用4抽头dct-if滤波器。因此,由于在帧内预测处理中未执行参考样本滤波,因此可以去除用于执行参考样本滤波的条件。此外,可以去除参考样本滤波过程,从而使用更简化的方法执行帧内预测。另外,由于插值滤波器是根据基于模式的帧内滤波器条件直接确定的,因此可以使用简化的方法来选择帧内参考样本滤波器。
[0303]
实施方式6
[0304]
下面公开的实施方式改进了上述实施方式5中的提高平面模式的预测准确度的方法。在以上实施方式5中,去除用于在帧内预测中执行参考样本滤波的条件。因此,在所有帧内预测类型中,不存在作为用于执行参考样本滤波的条件的reffilterflag。如上所述,在待当前编码的块的帧内模式为定向模式时,即使不执行参考样本滤波,仍可以通过有效地选择插值滤波器的类型来获得参考样本滤波效应。例如,在当前帧内预测的定向模式为整数定向模式时,即使不执行参考样本滤波,也选择高斯滤波器作为插值滤波器,并且与整数定向模式相对应的高斯滤波器系数为1:2:1:0并且等于参考样本滤波系数1:2:1。因此,使用高斯滤波器的插值滤波可以获得与使用[1,2,1]滤波器的参考样本滤波相同的效应。
[0305]
然而,在平面模式的情况下,由于使用线性插值方法而不使用4抽头插值滤波器(dct-if滤波器或高斯滤波器)来生成预测块,因此当去除参考样本滤波过程时,可能发生编码损失。因此,需要补偿由在平面模式中不执行参考样本滤波引起的损失。
[0306]
图22是例示在平面模式中使用的邻近参考样本的图。将参照图2对其进行描述。在图22中,样本b至样本l指定在当前块为平面模式时用于生成预测块的参考样本。
[0307]
在实施方式中,可以通过将滤波应用于在平面模式中使用的所有参考样本b至l来执行针对平面模式的邻近参考样本的滤波。编码设备和/或解码设备可以使用相应地滤波的参考样本来执行平面预测。
[0308]
另选地,在另一实施方式中,针对平面模式的邻近参考样本的滤波可以通过将滤波仅应用于左下样本b和右上样本l来执行。因此,仅对针对平面预测的参考样本当中的左上样本b和右上样本l执行滤波,并且滤波可以不应用于剩余参考样本c至k。编码设备和/或解码设备可以使用经滤波的参考样本来执行平面预测。通过限制性地应用滤波,可以减少由不执行参考样本滤波引起的平面模式的编码损失。另外,通过减少待滤波的样本的数量,可以降低编码/解码复杂度。
[0309]
编码和解码方法
[0310]
在下文中,将参照图23和图24描述由图像编码设备和图像解码设备执行的图像编码和解码方法。例如,如图23所示,根据实施方式的图像编码设备可以包括存储器和处理器,并且编码设备可以通过处理器来执行编码。例如,编码设备可以确定当前块的帧内预测模式(s2310)。接下来,编码设备可以基于当前块的帧内预测模式和邻近样本来确定参考样本(s2320)。接下来,编码设备可以基于参考样本来生成预测块(s2330)。接下来,编码设备可以基于预测块来对当前块进行编码(s2340)。
[0311]
另外,如图24所示,根据实施方式的图像解码设备可以包括存储器和处理器,并且
解码设备可以由处理器执行解码。例如,解码设备可以确定当前块的帧内预测模式(s2410)。接下来,解码设备可以基于当前块的帧内预测模式和邻近样本来确定参考样本(s2420)。接下来,解码设备可以基于参考样本来生成预测块(s2430)。接下来,解码设备可以基于预测块来对当前块进行解码(s2440)。
[0312]
在编码设备和解码设备的操作中,可以通过基于帧内预测模式将第一滤波或第二滤波中的至少一者应用于邻近样本值来确定参考样本。例如,当帧内预测模式为定向预测模式时,可以通过不将第一滤波应用于邻近样本值来确定参考样本。另外,可以通过将第二滤波应用于参考样本来确定预测样本,并且可以基于预测块的大小来确定用于第二滤波的插值滤波器。在这种情况下,还可以通过考虑由定向预测模式指定的预测方向来确定用于第二滤波的插值滤波器。例如,可以根据最小差值是否大于用于确定插值滤波器的阈值来确定用于第二滤波的插值滤波器,并且可以将最小差值确定为由定向预测模式与水平预测模式指定的定向索引值之间的差以及由定向预测模式与垂直预测模式指定的定向索引值之间的差中的较小值。例如,当最小差值大于阈值时,用于第二滤波的插值滤波器可以被确定为高斯滤波器。另选地,当最小差值不大于阈值时,用于第二滤波的插值滤波器可以被确定为dct-if滤波器。
[0313]
此外,当帧内预测模式为定向预测模式时,可以通过基于定向预测模式是否指定指定整数单位像素的帧内预测方向而将第一滤波应用于邻近样本值来确定参考样本。
[0314]
另外,当帧内预测模式为定向预测模式时,可以通过基于当前块的大小是否大于预定大小而将第一滤波应用于邻近样本值来确定参考样本。在这种情况下,在当前块的大小大于预定大小时,可以基于定向预测模式是否指定指定整数单位像素的帧内预测方向来确定用于第二滤波的插值滤波器。
[0315]
另外,当帧内预测模式为定向预测模式时,可以通过将第二滤波应用于参考样本来确定预测样本,并且可以基于当前块的大小来确定用于第二滤波的插值滤波器。在这种情况下,在当前块的宽度与高度的乘积大于预定值时,可以基于定向预测模式是否指定具有整数单位角度的帧内预测方向来确定用于第二滤波的插值滤波器。这里,可以基于编码块、预测块或与当前块相对应的变换块的大小中的任一者来确定当前块的大小。这里,预定值可以是256。
[0316]
另外,当帧内预测模式为平面预测模式时,可以通过将第一滤波应用于邻近样本值来确定参考样本。在这种情况下,可以基于预测样本的大小来确定是否应用第一滤波。
[0317]
另外,当帧内预测模式为平面预测模式时,基于多个参考样本来生成预测块,并且多个参考样本可以包括通过将第一滤波应用于当前块的左下样本而生成的第一参考样本、通过将第一滤波应用于当前块的右上样本而生成的第二参考样本以及通过不将第一滤波应用于当前块的顶部或左部样本而生成的第三参考样本。
[0318]
应用实施方式
[0319]
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本发明的方法,所描述的步骤可以进一步包括其他步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其他附加步骤。
[0320]
在本公开中,执行预定操作(步骤)的图像编码设备或图像解码设备可以执行确认
相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码设备或图像解码设备可以在确定是否满足预定条件之后执行预定操作。
[0321]
本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。
[0322]
本公开的各种实施方式可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、通用处理器、控制器、微控制器、微处理器等来实现。
[0323]
此外,应用本公开的实施方式的图像解码设备和图像编码设备可以包括在多媒体广播传送和接收设备、移动通信终端、家庭影院视频设备、数字影院视频设备、监控摄像头、视频聊天设备、诸如视频通信的实时通信设备、移动流传输设备、存储介质、摄像机、视频点播(vod)服务提供设备、ott视频(over the top video)设备、互联网流传输服务提供设备、三维(3d)视频设备、视频电话视频设备、医疗视频设备等,并且可用于处理视频信号或数据信号。例如,ott视频设备可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能手机、平板pc、数字录像机(dvr)等。
[0324]
图25是示出可应用本公开的实施方式的内容流传输系统的图。
[0325]
如图25中所示,应用本公开的实施方式的内容流传输系统可以主要包括编码服务器、流传输服务器、网络服务器、媒体存储、用户设备和多媒体输入设备。
[0326]
编码服务器将从诸如智能手机、相机、便携式摄像机等多媒体输入设备输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能手机、相机、摄像机等多媒体输入设备直接生成码流时,可以省略编码服务器。
[0327]
比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备产生,并且流传输服务器可以在发送或接收比特流的过程中临时存储比特流。
[0328]
流传输服务器基于用户通过网络服务器的请求将多媒体数据发送到用户设备,并且网络服务器用作向用户通知服务的媒介。当用户从网络服务器请求所需的服务时,网络服务器可以将其递送到流传输服务器,并且流传输服务器可以向用户发送多媒体数据。在这种情况下,内容流传输系统可以包括单独的控制服务器。在这种情况下,控制服务器用作控制内容流系统中设备之间的命令/响应。
[0329]
流传输服务器可以从媒体存储和/或编码服务器接收内容。例如,当从编码服务器接收到内容时,可以实时接收内容。在这种情况下,为了提供平滑的流传输服务,流传输服务器可以在预定时间内存储比特流。
[0330]
用户设备的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航设备、平板pc、平板计算机、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
[0331]
内容流传输系统中的每个服务器都可以作为分布式服务器运行,在这种情况下,从每个服务器接收的数据可以被分布。
[0332]
本公开的范围包括用于使根据各种实施方式的方法的操作能够在装置或计算机上执行的软件或者可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并可
在装置或计算机上执行的此类软件或命令的一种非暂时性计算机可读介质。
[0333]
工业适用性
[0334]
本公开的实施方式可以被用于对图像进行编码或解码。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1