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

基于颜色格式来确定分割模式的图像编码/解码方法和装置以及发送比特流的方法与流程

2022-07-10 19:16:32 来源:中国专利 TAG:


1.本公开涉及图像编码/解码方法和设备以及发送比特流的方法,更具体地,涉及一种基于颜色格式来确定划分模式的图像编码/解码方法和设备以及发送通过本公开的图像编码方法/设备生成的比特流的方法。


背景技术:

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


技术实现要素:

4.技术问题
5.本公开的目的是提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
6.本公开的另一个目的是提供一种基于颜色格式确定划分模式的图像编码/解码方法和设备。
7.本公开的另一个目的是提供一种基于色度块的大小确定划分模式的图像编码/解码方法和设备。
8.本公开的另一个目的是提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
9.本公开的另一个目的是提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
10.本公开的另一个目的是提供一种记录介质,其存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
11.本公开所解决的技术问题不限于上述技术问题,本领域技术人员通过以下描述将清楚此处未描述的其它技术问题。
12.技术方案
13.根据本公开的一方面的由图像解码设备执行的图像解码方法可以包括以下步骤:基于当前块的颜色格式来确定预测模式特性信息;基于预测模式特性信息确定从当前块划分的下层块的预测模式类型;通过基于下层块的预测模式类型划分当前块来获得下层块;以及基于下层块的预测模式类型对下层块进行解码。下层块的预测模式类型包括指定帧内预测模式和帧间预测模式二者可用的第一预测模式类型、指定仅帧内预测模式可用的第二预测模式类型以及指定仅帧间预测模式可用的第三预测模式类型。基于满足当前块的第一
条件,预测模式特性信息具有第一值,并且第一条件包括当前块的颜色格式为单色格式或4:4:4格式的情况。基于不满足当前块的第一条件,预测模式特性信息基于当前块的颜色格式、划分模式或大小中的至少一个而具有第二值或第三值。
14.根据本公开的一方面的图像解码设备可以包括存储器和至少一个处理器。所述至少一个处理器可以基于当前块的颜色格式来确定预测模式特性信息,基于预测模式特性信息确定从当前块划分的下层块的预测模式类型,通过基于下层块的预测模式类型划分当前块来获得下层块,并且基于下层块的预测模式类型对下层块进行解码。下层块的预测模式类型包括指定帧内预测模式和帧间预测模式二者可用的第一预测模式类型、指定仅帧内预测模式可用的第二预测模式类型以及指定仅帧间预测模式可用的第三预测模式类型。基于满足当前块的第一条件,预测模式特性信息具有第一值,并且第一条件包括当前块的颜色格式为单色格式或4:4:4格式的情况。基于不满足当前块的第一条件,预测模式特性信息基于当前块的颜色格式、划分模式或大小中的至少一个而具有第二值或第三值。
15.根据本公开的一方面的由图像编码设备执行的图像编码方法可以包括以下步骤:基于当前块的颜色格式来确定预测模式特性信息;基于预测模式特性信息确定从当前块划分的下层块的预测模式类型;通过基于下层块的预测模式类型划分当前块来获得下层块;以及基于下层块的预测模式类型对下层块进行编码。下层块的预测模式类型包括指定帧内预测模式和帧间预测模式二者可用的第一预测模式类型、指定仅帧内预测模式可用的第二预测模式类型以及指定仅帧间预测模式可用的第三预测模式类型。基于满足当前块的第一条件,预测模式特性信息具有第一值,并且第一条件包括当前块的颜色格式为单色格式或4:4:4格式的情况。基于不满足当前块的第一条件,预测模式特性信息基于当前块的颜色格式、划分模式或大小中的至少一个而具有第二值或第三值。
16.此外,根据本公开的另一方面的传输方法可以发送由本公开的图像编码设备或图像编码方法生成的比特流。
17.此外,根据本公开的另一方面的计算机可读记录介质可以存储由本公开的图像编码设备或图像编码方法生成的比特流。
18.以上关于本公开的简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。
19.有益效果
20.根据本公开,能够提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
21.此外,根据本公开,能够提供一种基于颜色格式确定划分模式的图像编码/解码方法和设备。
22.此外,根据本公开,能够提供一种基于色度块的大小确定划分模式的图像编码/解码方法和设备。
23.此外,根据本公开,能够提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
24.此外,根据本公开,能够提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
25.此外,根据本公开,能够提供一种记录介质,其存储由根据本公开的图像解码设备
接收、解码并用于重构图像的比特流。
26.本领域的技术人员将理解,通过本公开可以实现的效果不限于上文已经具体描述的内容,并且将从详细描述中更清楚地理解本公开的其它优点。
附图说明
27.图1是示意性地示出本公开的实施方式适用于的视频编码系统的视图。
28.图2是示意性地示出本公开的实施方式适用于的图像编码设备的视图。
29.图3是示意性地示出本公开的实施方式适用于的图像解码设备的视图。
30.图4示出画面被分割成ctu的示例。
31.图5a至图5c是例示画面的分割示例的视图。
32.图6是示出根据多类型树结构的块的分割类型的实施方式的视图。
33.图7是示出根据本公开的具有嵌套多类型树结构的四叉树中的块划分信息的信令机制的视图。
34.图8是示出在应用四叉树之后通过应用多类型树将ctu分割成多个cu的示例的视图。
35.图9示出在二叉树划分和三叉树划分中可能出现的冗余划分图案。
36.图10是例示cu划分被限制的示例的视图。
37.图11是例示基于帧内预测的视频/图像编码方法的流程图。
38.图12是例示根据本公开的帧内预测单元的配置的视图。
39.图13是例示基于帧内预测的视频/图像解码方法的流程图。
40.图14是例示根据本公开的帧间预测单元的配置的视图。
41.图15a是例示根据本公开的实施方式的帧内预测方向的视图。
42.图15b是例示根据本公开的另一实施方式的帧内预测方向的视图。
43.图16a至图16c是例示根据色度格式的亮度分量块(亮度分量阵列)与色度分量块(色度分量阵列)之间的关系的视图。
44.图17a至图17c是例示用于将单树结构切换为双树结构的语法的示例的视图。
45.图18是例示推导预测模式特性信息的处理的示例的视图。
46.图19a和图19b是例示通过针对各个颜色格式对当前cu进行三叉划分而获得的下层cu的示例的视图。
47.图20a和图20b是例示通过针对各个颜色格式对当前cu进行垂直二叉划分而获得的下层cu的示例的视图。
48.图21是例示通过针对各个颜色格式对当前cu进行垂直三叉划分而获得的下层cu的示例的视图。
49.图22是例示根据本公开的实施方式的推导预测模式特性信息的过程的视图。
50.图23是例示根据本公开的实施方式的图像编码方法的流程图。
51.图24是例示根据本公开的实施方式的图像解码方法的流程图。
52.图25是示出本公开的实施方式适用于的内容流系统的视图。
具体实施方式
53.以下,将结合附图对本公开的实施例进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于这里描述的实施例。
54.在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
55.在本公开中,当一个组件“连接”、“联接”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括中间组件存在的间接连接关系。另外,当一个组件“包括”或“具有”其他组件时,除非另有说明,否则是指还可以包括其他组件,而不是排除其他组件。
56.在本公开中,术语第一、第二等仅用于将一个组件与其他组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施例中的第一部件在另一个实施例中可以被称为第二部件,类似地,一个实施例中的第二部件在另一个实施例中可以被称为第一部件。
57.在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成在一个硬件或软件单元中实现,或者一个组件可以在多个硬件或软件单元中分布和实现。因此,即使没有特别说明,这些组件集成或分布式的实施例也包括在本公开的范围内。
58.在本公开中,各个实施例中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施例中描述的组件的子集组成的实施例也包括在本公开的范围内。此外,除了在各种实施例中描述的组件之外还包括其他组件的实施例包括在本公开的范围内。
59.本公开涉及图像的编码(encoding)和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
60.在本公开中,“画面”一般是指表示特定时间段内的一个图像的单元,而切片(slice)/拼块(tile)是构成画面的一部分的编码(coding)单元,一个画面可以由一个或多个切片/拼块组成。此外,切片/拼块可以包括一个或多个编码树单元(ctu)。
61.在本公开中,“像素”或“像元(pel)”可以意指构成一个画面(或图像)的最小单个。此外,“样本”可以用作对应于像素的术语。一个样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
62.在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括画面的特定区域和与该区域相关的信息中的至少一个。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,m
×
n块可以包括m列n行的样本(或样本阵列)或变换系数的集合(或阵列)。
63.在本公开中,“当前块”可以意指“当前编码块”、“当前编码单元”、“编码目标块”、“解码目标块”或“处理目标块”之一。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
64.另外,在本公开中,“当前块”可以意指包括亮度分量块和色度分量块二者的块,或者除非明确表述为色度块,否则意指“当前块的亮度块”。当前块的色度分量块可以通过包
括诸如“亮度块”或“当前亮度块”的亮度分量块的明确描述来表达。另外,当前块的色度分量块可以通过包括诸如“色度块”或“当前色度块”的色度分量块的明确描述来明确表达。
65.在本公开中,斜线“/”或“、”可以解释为指示“和/或”。例如,“a/b”和“a、b”可以意指“a和/或b”。此外,“a/b/c”和“a、b、c”可以意指“a、b和/或c中的至少一个”。
66.在本公开中,术语“或”应被解释以指示“和/或”。例如,表达“a或b”可以包括1)仅“a”,2)仅“b”,或3)“a和b”两者。换言之,在本公开中,“或”应被解释以指示“附加地或可替选地”。
67.视频编码系统概述
68.图1是示意性地示出根据本公开的视频编码系统的视图。
69.根据实施例的视频编码系统可以包括编码装置10和解码装置20。编码装置10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到解码装置20。
70.根据实施例的编码装置10可以包括视频源生成器11、编码单元12和发射器13。根据实施例的解码装置20可以包括接收器21、解码单元22和渲染器23。编码单元12可以称为视频/图像编码单元,解码单元22可以称为视频/图像解码单元。发射器13可以被包括在编码单元12中。接收器21可以被包括在解码单元22中。渲染器23可以包括显示器并且显示器可以被配置为单独的设备或外部组件。
71.视频源生成器11可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源生成器11可以包括视频/图像捕获设备和/或视频/图像生成设备。视频/图像捕获设备可以包括例如一个或多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成设备可以包括例如计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以被生成相关数据的过程代替。
72.编码单元12可以对输入视频/图像进行编码。为了压缩和编码效率,编码单元12可以执行一系列过程,例如预测、变换和量化。编码单元12可以以比特流的形式输出编码数据(编码视频/图像信息)。
73.发射器13可以通过数字存储介质或网络以文件或流的形式将编码的视频/图像信息或以比特流的形式输出的数据传输到解码装置20的接收器21。数字存储介质可以包括各种存储介质,例如usb、sd、cd、dvd、蓝光、hdd、ssd等。发射器13可以包括用于通过预定文件格式生成媒体文件的元件并且可以包括用于通过广播/通信网络传输的元件。接收器21可以从存储介质或网络中提取/接收比特流并将比特流传输到解码单元22。
74.解码单元22可以通过执行与编码单元12的操作相对应的一系列过程,例如解量化、逆变换和预测来解码视频/图像。
75.渲染器23可以渲染解码的视频/图像。渲染的视频/图像可以通过显示器显示。
76.图像编码装置概要
77.图2是示意性地示出本公开的实施例可适用于的图像编码装置的视图。
78.如图2所示,图像编码装置100可以包括图像分割器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测单元180、帧内预测单元185和熵编码器190。帧间预测单元180和帧内预测单元185可以统称为“预测单元”。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。
79.在一些实施例中,配置图像编码装置100的多个组件中的全部或至少一些可以由一个硬件组件(例如,编码器或处理器)来配置。此外,存储器170可以包括解码画面缓冲器(dpb)并且可以由数字存储介质配置。
80.图像分割器110可将输入到图像编码装置100的输入图像(或画面或帧)分割成一个或多个处理单元。例如,处理单元可以称为编码单元(cu)。可以通过根据四叉树二叉树三叉树(qt/bt/tt)结构递归地分割编码树单元(ctu)或最大编码单元(lcu)来获取编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元分割为更深深度的多个编码单元。对于编码单元的分割,可以首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。可以基于不再分割的最终编码单元来执行根据本公开的编码过程。可以将最大编码单元用作最终编码单元,也可以将通过分割最大编码单元获取的更深深度的编码单元用作最终编码单元。这里,编码过程可以包括稍后将描述的预测、变换和重构的过程。作为另一个示例,编码过程的处理单元可以是预测单元(pu)或变换单元(tu)。预测单元和变换单元可以从最终编码单元划分或分割。预测单元可以是样本预测单元,变换单元可以是用于导出变换系数的单元和/或用于从变换系数导出残差信号的单元。
81.预测单元(帧间预测单元180或帧内预测单元185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测单元可以在当前块或cu的基础上确定是应用帧内预测还是帧间预测。预测单元可以生成与当前块的预测有关的各种信息,并且将生成的信息传输到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。
82.帧内预测单元185可以通过参考当前画面中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如dc模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测单元185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
83.帧间预测单元180可以基于由参考画面上的运动向量指定的参考块(参考样本阵列)来导出当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置cu(colcu)等。包括时间邻近块的参考画面可以被称为并置画面(colpic)。例如,帧间预测单元180可基于邻近块配置运动信息候选列表并生成指定使用哪个候选来导出当前块的运动向量和/或参考画面索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测单元180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动向量预测(mvp)模式的情况下,邻近
块的运动向量可以用作运动向量预测子,并且当前块的运动向量可以通过编码运动向量差和运动向量预测子的指示符来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
84.预测单元可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测单元不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(ciip)。此外,预测单元可以执行帧内块复制(ibc)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(scc)。ibc是一种在与当前块相隔预定距离的位置处使用当前画面中先前重构的参考块来预测当前画面的方法。当应用ibc时,参考块在当前画面中的位置可以被编码为对应于预定距离的向量(块向量)。ibc基本上在当前画面中执行预测,但是可以类似于帧间预测来执行,因为在当前画面内导出参考块。即,ibc可以使用本公开中描述的帧间预测技术中的至少一种。ibc基本上在当前画面中执行预测,但是可以类似于帧间预测来执行,因为在当前画面内导出参考块。即,ibc可以使用本公开中描述的帧间预测技术中的至少一种。
85.预测单元生成的预测信号可用于生成重构信号或生成残差信号。减法器115可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测单元输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被传输到变换器120。
86.变换器120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、karhunen-lo
è
ve变换(klt)、基于图的变换(gbt)或条件非线性变换(cnt)中的至少一种。这里,gbt是指当像素之间的关系信息由图形表示时从图形获得的变换。cnt是指基于使用所有先前重构的像素生成的预测信号获取的变换。此外,变换处理可以应用于具有相同大小的方形像素块或者可以应用于具有可变大小而不是方形的块。
87.量化器130可以对变换系数进行量化并且将它们传输到熵编码器190。熵编码器190可以对量化的信号(关于量化的变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器130可基于系数扫描顺序将块形式的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。
88.熵编码器190可以执行各种编码方法,例如指数哥伦布、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等。熵编码器190可以一起或单独地编码除量化变换系数之外的视频/图像重构所需的信息(例如,语法元素的值等)。编码的信息(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(nal)为单元进行传输或存储。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(aps)、画面参数集(pps)、序列参数集(sps)或视频参数集(vps)。此外,视频/图像信息还可以包括通用约束信息。本公开中描述的用信号通知的信息、传输的信息和/或语法元素可以通过上述编码过程被编码并且被包括在比特流中。
89.比特流可以通过网络传输或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括usb、sd、cd、dvd、蓝光、hdd、ssd等各种存储介质。
可以包括传输从熵编码器190输出的信号的发射器(未示出)和/或存储该信号的存储单元(未示出)作为图像编码装置100的内部/外部元件。替代地,可以提供发射器作为熵编码器190的组件。
90.从量化器130输出的量化变换系数可用于生成残差信号。例如,可以通过解量化器140和逆变换器150对量化的变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。
91.加法器155将重构残差信号与从帧间预测单元180或帧内预测单元185输出的预测信号相加,生成重构信号(重构图像、重构块、重构样本阵列)。如果要处理块没有残差,例如应用跳过模式的情况,则可以将预测块用作重构块。加法器155可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。
92.滤波器160可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器160可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器170中,具体地,存储器170的dpb中。各种滤波方法可以包括,例如,去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。滤波器160可以生成与滤波有关的各种信息并将所生成的信息传输到熵编码器190,如稍后在每种滤波方法的描述中所描述的。与滤波相关的信息可以由熵编码器190编码并以比特流的形式输出。
93.传输到存储器170的修改的重构画面可以用作帧间预测单元180中的参考画面。当通过图像编码装置100应用帧间预测时,可以避免图像编码装置100和图像解码装置之间的预测失配并且可以提高编码效率。
94.存储器170的dpb可以存储修改的重构画面以用作帧间预测单元180中的参考画面。存储器170可以存储从其中导出(或编码)当前画面中的运动信息的块的运动信息和/或画面中已重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元180并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前画面中重构块的重构样本并且可以将重构样本传送到帧内预测单元185。
95.图像解码装置概述
96.图3是示意性地示出本公开的实施例可适用的图像解码装置的视图。
97.如图3所示,图像解码装置200可以包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260和帧内预测单元265。帧间预测单元260和帧内预测单元265可以统称为“预测单元”。解量化器220和逆变换器230可以被包括在残差处理器中。
98.根据实施例,配置图像解码装置200的多个组件中的全部或至少一些可以由硬件组件(例如,解码器或处理器)来配置。此外,存储器250可以包括解码画面缓冲器(dpb)或者可以由数字存储介质配置。
99.已经接收到包括视频/图像信息的比特流的图像解码装置200可以通过执行与由图2的图像编码装置100执行的处理相对应的处理来重构图像。例如,图像解码装置200可以使用在图像编码装置中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编码单元。编码单元可以通过分割编码树单元或最大编码单元来获得。通过图像解码装置200解码和输出的重构图像信号可以通过再现装置(未示出)再现。
100.图像解码装置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的组件。
101.同时,根据本公开的图像解码装置可以被称为视频/图像/画面解码装置。图像解码装置可以分为信息解码器(视频/图像/画面信息解码器)和样本解码器(视频/图像/画面样本解码器)。信息解码器可以包括熵解码器210。样本解码器可以包括解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元160或帧内预测单元265中的至少一个。
102.解量化器220可以对量化的变换系数进行解量化并输出变换系数。解量化器220可以以二维块的形式重新排列量化的变换系数。在这种情况下,可以基于在图像编码装置中执行的系数扫描顺序来执行重新排列。解量化器220可以通过使用量化参数(例如,量化步长信息)对量化的变换系数执行解量化并获得变换系数。
103.逆变换器230可以对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
104.预测单元可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测单元可以基于关于从熵解码器210输出的预测的信息来确定是将帧内预测还是帧间预测应用于当前块,并且可以确定特定的帧内/帧间预测模式(预测技术)。
105.与在图像编码装置100的预测单元中描述的相同的是,预测单元可以基于稍后描述的各种预测方法(技术)来生成预测信号。
106.帧内预测单元265可以通过参考当前画面中的样本来预测当前块。帧内预测单元185的描述同样适用于帧内预测单元265。
107.帧间预测单元260可以基于由参考画面上的运动向量指定的参考块(参考样本阵列)来导出当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息
量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。例如,帧间预测单元260可以基于邻近块配置运动信息候选列表,并且基于接收到的候选选择信息导出当前块的运动向量和/或参考画面索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示当前块的帧间预测模式的信息。
108.加法器235可以通过将获得的残差信号与从预测单元(包括帧间预测单元260和/或内预测单元265)输出的预测信号(预测块、预测样本阵列)相加生成重构块。如果要处理的块没有残差,诸如在应用跳过模式时,则可以将预测块用作重构块。加法器155的描述同样适用于加法器235。加法器235可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。
109.滤波器240可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器240可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器250中,具体地,存储器250的dpb中。各种滤波方法可以包括,例如,去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
110.存储在存储器250的dpb中的(修改的)重构画面可以用作帧间预测单元260中的参考画面。存储器250可以存储从其中导出(或解码)当前画面中的运动信息的块的运动信息和/或画面中已重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元260,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器250可以存储当前画面中重构块的重构样本并将重构样本传送到帧内预测单元265。
111.在本公开中,在图像编码装置100的滤波器160、帧间预测单元180和帧内预测单元185中描述的实施例可以同等地或对应地应用于图像解码装置200的滤波器240、帧间预测单元260和帧内预测单元265。
112.图像分割的概述
113.可以基于图像分割结构来执行根据本公开的视频/图像编码方法如下。具体地,可以基于根据图像分割结构而推导的ctu、cu(和/或tu、pu)来执行将稍后描述的预测、残差处理((逆)变换、(解)量化等)、语法元素编码和滤波的过程。可以以块为单位对图像进行分割并且可以在编码设备的图像分割器110中执行块分割过程。分割相关信息可以由熵编码器190编码并且以比特流的形式发送到解码设备。解码设备的熵解码器210可以基于从比特流获得的分割相关信息来推导当前画面的块分割结构,并且基于此,可以执行一系列的过程(例如,预测、残差处理、块/画面重构、环路内滤波等)以进行图像解码。cu大小和tu大小可以相同,或者在cu区域中可以存在多个tu。此外,cu大小通常可以表示亮度分量(样本)cb大小。tu大小通常可以表示亮度分量(样本)tb大小。可以根据画面/图像的色度格式(颜色格式,例如4:4:4、4:2:2、4:2:0等)根据分量比基于亮度分量(样本)cb或tb大小来推导色度分量(样本)cb或tb大小。可以基于指定可用最大tb大小的maxtbsize来推导tu大小。例如,当cu大小大于maxtbsize时,可以从cu推导maxtbsize的多个tu(tb),并且可以以tu(tb)为单位执行变换/逆变换。另外,例如,当应用帧内预测时,可以以cu(或cb)为单位推导帧内预测
模式/类型,并且可以以tu(或tb)为单位执行邻近参考样本推导和预测样本生成过程。在这种情况下,在一个cu(或cb)区域中可以存在一个或多个tu(或tb),并且在这种情况下,多个tu(或tb)可以共享相同的帧内预测模式/类型。
114.另外,在根据本公开的图像编码和解码中,图像处理单元可以具有分层结构。例如,一个画面可以被分割为一个或更多个拼块或拼块组。一个拼块组可以包括一个或更多个拼块。一个拼块可以包括一个或更多个ctu。如上所述,ctu可以被分割为一个或更多个cu。拼块可以由包括画面中的特定行和特定列中组装的ctu的矩形区域组成。根据拼块光栅扫描,拼块组可以包括整数个拼块。拼块组头可以用信号通知适用于对应拼块组的信息/参数。当编码/解码设备具有多核处理器时,拼块或拼块组的编码/解码过程可以并行执行。这里,拼块组可以具有包括帧内(i)拼块组、预测(p)拼块组和双预测(b)拼块组的拼块组类型之一。对于i拼块组中的块,可以不使用帧间预测,仅帧内预测可以用于预测。当然,即使在这种情况下,原始样本值也可以被编码并用信号通知而无需预测。对于p拼块组中的块,可以使用帧内预测或帧间预测,并且在帧间预测时可以仅使用单预测。此外,对于b拼块组中的块,可以使用帧内预测或帧间预测,并且当使用帧间预测时可以使用直至双预测。
115.在编码设备中,可以根据图像的特性(例如,分辨率)并考虑编码效率或并行处理来确定拼块/拼块组、切片和最大和最小编码单元大小,并且关于其的信息或能够推导其的信息可以包括在比特流中。
116.在解码设备中,可以获得指定当前画面的切片、拼块/拼块组或拼块中的ctu被分割为多个编码单元的信息。当仅在特定条件下获得(发送)这种信息时,效率可以增加。
117.切片头或拼块组头(拼块组头语法)可以包括共同适用于切片或拼块组的信息/参数。aps(aps语法)或pps(pps语法)可以包括共同适用于一个或更多个画面的信息/参数。sps(sps语法)可以包括共同适用于一个或更多个序列的信息/参数。vps(vps语法)可以包括共同适用于整个视频的信息/参数。在本公开中,最高级别语法可以包括aps语法、pps语法、sps语法或vps语法中的至少一个。
118.另外,例如,关于拼块/拼块组的分割和构建的信息可以在编码阶段通过高级语法构建并以比特流的形式发送到解码设备。
119.分割结构
120.画面可以被分割成编码树单元(ctu)的序列。ctu可以对应于编码树块(ctb)。另选地,ctu可以包括亮度样本的编码树块和对应色度样本的两个编码树块。例如,对于包含三个样本阵列的画面,ctu可以包括亮度样本的一个n
×
n块和色度样本的两个对应块。图4示出画面被分割为ctu的示例。
121.用于编码和预测的ctu的最大允许大小可不同于用于变换的ctu。例如,即使当用于变换的ctu中的亮度块的最大大小为64
×
64时,用于编码和预测的ctu的亮度块的最大大小可为128
×
128。
122.另外,画面可以被分割为一个或更多个拼块行和一个或更多个拼块列。拼块可以是覆盖画面中的矩形区域的ctu序列。
123.拼块可以被分割为一个或更多个图块,各个图块可以由拼块中的多个ctu行组成。在本公开中,未被分割为多个图块的拼块可以被称为图块。
124.切片可以包括画面中的多个拼块或拼块中的多个图块。可以支持两个切片模式。
一个可以是光栅扫描切片模式,另一个可以是矩形切片模式。
125.在光栅切片模式下,切片可以根据光栅扫描顺序包括画面内的多个连续拼块。在本公开中,根据光栅扫描切片模式的切片可以被称为光栅扫描切片。
126.在矩形切片模式下,切片可以包括画面内构建矩形区域的多个图块。在本公开中,根据矩形切片模式的切片可以被称为矩形切片。根据切片的图块光栅扫描顺序可以存在包括在矩形切片中的多个图块。
127.图5a至图5c是例示画面的分割示例的视图。
128.首先,参照图5a,在光栅扫描切片模式下,画面可以被分割为12个拼块和三个光栅扫描切片。
129.参照图5b,在矩形切片模式下,画面可以被分割为24个拼块(即,六个拼块行和四个拼块列)和九个矩形切片。
130.参照图5c,画面可以被分割为四个拼块(即,两个拼块行和两个拼块列)、11个图块(即,一个左上图块、五个右上图块、两个左下图块和三个右下图块)和四个矩形切片。
131.ctu分割的概述
132.如上所述,可以通过根据四叉树/二叉树/三叉树(qt/bt/tt)结构递归地对编码树单元(ctu)或最大编码单元(lcu)进行分割来获取编码单元。例如,ctu可以被首先分割成四叉树结构。此后,可以通过多类型树结构对四叉树结构的叶节点进一步进行分割。
133.根据四叉树的分割意味着当前cu(或ctu)被同等地分割成四个。通过根据四叉树的分割,可以将当前cu分割成具有相同宽度和相同高度的四个cu。在当前cu不再被分割成四叉树结构时,当前cu对应于四叉树结构的叶节点。与四叉树结构的叶节点对应的cu可以不再被分割并且可以被用作上述最终编码单元。另选地,可以通过多类型树结构对与四叉树结构的叶节点对应的cu进一步进行分割。
134.图6是示出了根据多类型树结构的块的分割类型的实施例的视图。根据多类型树结构的分割可以包括根据二叉树结构的两种类型的划分和根据三叉树结构的两种类型的划分。
135.根据二叉树结构的两种类型的划分可以包括垂直二叉划分(split_bt_ver)和水平二叉划分(split_bt_hor)。垂直二叉划分(split_bt_ver)意味着当前cu被在垂直方向上同等地划分成两个。如图5所示,通过垂直二叉划分,可以生成高度与当前cu相同并且宽度为当前cu的宽度的一半的两个cu。水平二叉划分(split_bt_hor)意味着当前cu被在水平方向上同等地划分成两个。如图5所示,通过水平二叉划分,可以生成高度为当前cu的高度的一半并且宽度与当前cu相同的两个cu。
136.根据三叉数结构的两种类型的划分可以包括垂直三叉划分(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。
137.图7是示出了根据本公开的具有嵌套多类型树结构的四叉树中的块划分信息的信
令机制的视图。
138.这里,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可以被用作上述最终编码单元。
139.基于mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag,可以如下表1所示导出cu的多类型树划分模式(mttsplitmode)。在以下描述中,多类型树划分模式可以被称为多树划分类型或划分类型。
140.[表1]
[0141]
mttsplitmodemtt_split_cu_vertical_flagmtt_split_cu_binary_flagsplit_tt_hor00split_bt_hor01split_tt_ver10split_bt_ver11
[0142]
图8是示出了在应用四叉树之后通过应用多类型树来将ctu分割成多个cu的示例的视图。在图8中,粗体块边810表示四叉树分割,而剩余边820表示多类型树分割。cu可以对应于编码块(cb)。在实施例中,cu可以包括亮度样本的编码块和与亮度样本对应的色度样本的两个编码块。
[0143]
可以基于根据画面/图像的颜色格式(色度格式,例如,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的高度的一半。
[0144]
在实施例中,当ctu的大小基于亮度样本单元为128时,cu的大小可以具有从128x128至4x4的大小,其是与ctu相同的大小。在一个实施例中,在4:2:0颜色格式(或色度
格式)的情况下,色度cb大小可以具有从64x64至2x2的大小。
[0145]
同时,在实施例中,cu大小和tu大小可以是相同的。另选地,在cu区域中可以有多个tu。tu大小通常表示亮度分量(样本)变换块(tb)大小。
[0146]
可以基于作为预定值的最大允许tb大小maxtbsize来导出tu大小。例如,当cu大小大于maxtbsize时,可以从cu导出具有maxtbsize的多个tu(tb),并且可以以tu(tb)为单元执行变换/逆变换。例如,最大允许亮度tb大小可以是64x64并且最大允许色度tb大小可以是32x32。如果根据树结构分割的cb的宽度或高度大于最大变换宽度或高度,则cb可以被自动地(或隐式地)分割,直到满足水平和垂直方向上的tb大小极限为止。
[0147]
另外,例如,当应用帧内预测时,可以以cu(或cb)为单元导出帧内预测模式/类型,并且可以以tu(或tb)为单元执行邻近参考样本导出和预测样本生成过程。在这种情况下,在一个cu(或cb)区域中可以有一个或多个tu(或tb),并且在这种情况下,多个tu或(tb)可以共享相同的帧内预测模式/类型。
[0148]
同时,对于具有嵌套多类型树的四叉树编码树方案,可以将以下参数作为sps语法元素从编码装置发信号通知给解码装置。例如,作为表示四叉树的根节点大小的参数的ctu大小、作为表示最小允许四叉树叶节点大小的参数的minqtsize、作为表示最大允许二叉树根节点大小的参数的maxbtsize、作为表示最大允许三叉树根节点大小的参数的maxttsize、作为表示从四叉树叶节点起进行多类型树划分的最大允许层次深度的参数的maxmttdepth、作为表示最小允许二叉树树叶节点大小的参数的minbtsize、或作为表示最小允许三叉数叶节点大小的参数的minttsize中的至少一个被发信号通知。
[0149]
作为使用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,则可以不考虑进一步垂直分割。当不考虑分割时,编码装置可以跳过分割信息的信令。在这种情况下,解码装置可以导出具有预定值的分割信息。
[0150]
同时,一个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可以包括三个颜色分量(一个亮度分量和两个色度分量)的块。
[0151]
尽管已经描述了具有嵌套多类型树的四叉树编码树结构,但是对cu进行分割的结构不限于此。例如,可以将bt结构和tt结构解释为多分割树(mpt)结构中包括的概念,并且可以将cu解释为通过qt结构和mpt结构被分割。在通过qt结构和mpt结构对cu进行分割的示例中,可以发信号通知包括关于qt结构的叶节点被分割成多少块的信息的语法元素(例如mpt_split_type)以及包括关于qt结构的叶节点被分割成垂直方向和水平方向中的那个的信息的语法元素(例如mpt_split_mode),以确定分割结构。
[0152]
在另一示例中,可以以与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进行分割的方法不限于此。
[0153]
当树节点块的一部分超过画面的下画面边界和/或右画面边界时,可以限制对应树节点块,使得所有编码cu中的样本均位于画面边界中。在这种情况下,例如,可以应用以下划分规则。
[0154]
划分规则1:作为树节点块的一部分超过下画面边界和右画面边界二者的情况,当树节点块是大小大于最小qt大小的qt节点时,树节点块可以在qt划分模式下划分,当树节点块的大小等于或小于最小qt大小或者不是qt节点时,树节点块在水平二叉划分模式split_bt_hor模式下划分。
[0155]
划分规则2:作为不满足划分规则1并且树节点块的一部分超过下画面边界的情况,当树节点块是大小大于最小qt大小和最大bt大小的qt节点时,树节点块在qt划分模式下划分,当树节点块是大小等于或小于最小qt大小的btt节点时,树节点块在水平二叉划分模式下划分。
[0156]
划分规则3:作为不满足划分规则1和划分规则2并且树节点块的一部分超过右画面边界的情况,当树节点块是大小大于最小qt大小和最大bt大小的qt节点时,树节点块在qt划分模式下划分,当树节点块的大小大于最小qt大小并且等于或小于最大bt大小时,树节点块在qt划分模式或水平二叉划分模式下划分。另选地,当树节点块是btt节点或者大小等于或小于最小qt大小时,树节点块在水平二叉划分模式下划分。
[0157]
如上所述,具有多类型树的四叉树编码块结构可以提供非常灵活的块分割结构。由于在多类型树中支持的分割类型,在一些情况下不同的分割图案可以潜在地产生相同的编码块结构。在编码装置和解码装置中,通过限制此类冗余分割图案的出现,可以减少分割信息的数据量。
[0158]
例如,图9示出了在二叉树划分和三叉树划分中可能出现的冗余划分图案。如图9所示,针对两步级别的一个方向的连续二叉划分910和920具有与三叉划分之后针对中心分割的二叉划分相同的编码块结构。在这种情况下,可以禁止针对三叉树划分的中心块930和940的二叉树划分。此禁止适用于所有画面的cu。当这种特定划分被禁止时,可以通过反映这种被禁止情况来修改对应语法元素的信令,从而减少针对划分发信号通知的比特的数量。例如,如图9中示出的示例所示,当针对cu的中心块的二叉树划分被禁止时,不发信号通知指定划分是二叉划分还是三叉划分的语法元素mtt_split_cu_binary_flag并且其值可以由解码装置导出为0。
[0159]
虚拟管线数据单元
[0160]
可以定义虚拟管线数据单元(vpdu)以用于画面内的管线处理。vpdu可以被定义为一个画面内的非交叠单元。在硬件解码设备中,连续vpdu可以由多个管线级同时处理。在大多数管线级中,vpdu大小可以与缓冲器大小大致成比例。因此,从硬件的角度当考虑缓冲器大小时,保持vpdu大小较小很重要。在大多数硬件解码设备中,vpdu大小可以设定为等于最大变换块(tb)大小。例如,vpdu大小可以是64
×
64(64
×
64亮度样本)大小。另选地,在vvc中,可以考虑上述三叉树(tt)和/或二叉树(bt)划分改变(增大或减小)vpdu大小。
[0161]
此外,为了将vpdu大小保持在64
×
64亮度样本的样本,可以限制图23所示的cu的划分。更具体地,可以应用以下限制中的至少一个。
[0162]
限制1:不允许对宽度或高度中的至少一个为128的cu的三叉树划分。
[0163]
限制2:不允许对宽度为128并且高度为64或更小的cu(即,128
×
n cu,n≤64)的水平二叉树划分。
[0164]
限制3:不允许对宽度为64或更小或者高度为128的cu(即,n
×
128cu,n≤64)的垂直二叉树划分。
[0165]
图10中示出在上述限制下现在允许的cu的划分示例。在图10中,粗实线表示块划分,剩余实线表示cu。
[0166]
参照图10,根据限制1,不允许对128
×
128cu 1010的垂直三叉树划分。另外,根据限制1,不允许对128
×
128cu 1020的水平三叉树划分。另外,根据限制3,不允许对64
×
128cu 1030的垂直二叉树划分。另外,根据限制2,不允许对128
×
64cu1040的水平二叉树划分。另外,根据限制1,不允许对64
×
128cu 1050的垂直三叉树划分。另外,根据限制1,不允许对128
×
64cu 1060的水平三叉树划分。另外,根据限制1,不允许对64
×
128cu 1070的水平三叉划分。另外,根据限制1,不允许对128
×
64cu 1080的垂直三叉划分。
[0167]
此外,在帧内画面内的双树中,不同的分割结构可以应用于亮度编码树和色度编码树。在双树中,可以引入更长的编码管线,在色度编码树中,可以根据qtbt minqtsizec值、minbtsizey和minttsizey的范围允许大小较小(例如,2
×
2、4
×
2和2
×
4)的色度块。然而,这可能使得难以设计实际解码设备。另外,在交叉分量线性模型(cclm)模式、平面模式、角模式等下需要乘法运算。为了解决上述问题,在双树中,可以通过分割限制来限制大小较小(例如,2
×
2、4
×
2和2
×
4)的色度块。
[0168]
帧内预测的概述
[0169]
以下将描述根据本公开的帧内预测。
[0170]
帧内预测可以指示基于当前块所属的画面(以下称为当前画面)中的参考样本来
生成当前块的预测样本的预测。当帧内预测应用于当前块时,可以推导要用于当前块的帧内预测的邻近参考样本。当前块的邻近参考样本可以包括与大小为nw
×
nh的当前块的左边界相邻的样本和与左下相邻的总共2
×
nh个样本、与当前块的上边界相邻的样本以及与右上相邻的总共2
×
nw个样本以及与当前块的左上相邻的一个样本。另选地,当前块的邻近参考样本可以包括上邻近样本的多列和左邻近样本的多行。另外,当前块的邻近参考样本可以包括与大小为nw
×
nh的当前块的右边界相邻的总共nh个样本、与当前块的下边界相邻的总共nw个样本以及与当前块的右下相邻的一个样本。
[0171]
当前块的一些邻近参考样本还未被解码或者可能不可用。在这种情况下,解码器可以通过利用可用样本替换不可用样本来构建要用于预测的邻近参考样本。另选地,可以使用可用样本的插值来构建要用于预测的邻近参考样本。
[0172]
当推导邻近参考样本时,(i)可以基于当前块的邻近参考样本的平均或插值来推导预测样本,并且(ii)可以基于当前块的邻近参考样本当中相对于预测样本存在于特定(预测)方向上的参考样本来推导预测样本。(i)的情况可以被称为非定向模式或非角模式,(ii)的情况可以被称为定向模式或角模式。
[0173]
另外,可以利用邻近参考样本当中位于当前块的帧内预测模式的预测方向上的第一邻近样本和基于当前块的预测目标样本位于相反方向上的第二邻近样本通过插值来生成预测样本。上述情况可以被称为线性插值帧内预测(lip)。
[0174]
另外,可以使用线性模型基于亮度样本来生成色度预测样本。这种情况可以被称为线性模型(lm)模式。
[0175]
另外,可以基于滤波的邻近参考样本来推导当前块的临时预测样本,并且可以通过对临时预测样本与现有邻近参考样本当中根据帧内预测模式推导的至少一个参考样本(即,未滤波的邻近参考样本)进行加权求和来推导当前块的预测样本。这种情况可以被称为位置相关帧内预测(pdpc)。
[0176]
另外,可以从当前块的多个邻近参考样本行选择具有最高预测准确性的参考样本行,以使用对应行中位于预测方向上的参考样本来推导预测样本,此时,关于所使用的参考样本行的信息(例如,intra_luma_ref_idx)可以被编码并在比特流中用信号通知。这种情况可以被称为多参考行(mrl)帧内预测或基于mrl的帧内预测。
[0177]
另外,当前块可以被划分成垂直子分区或水平子分区,以基于相同的帧内预测模式针对各个子分区执行帧内预测。此时,可以以子分区为单位推导帧内预测的邻近参考样本。即,按编码/解码顺序的先前子分区的重构样本可以用作当前子分区的邻近参考样本。在这种情况下,当前块的帧内预测模式同样应用于子分区,并且以子分区为单位推导和使用邻近参考样本,从而增加帧内预测性能。这种预测方法可以被称为帧内子分区(isp)或基于isp的帧内预测。
[0178]
帧内预测技术可以被称为诸如帧内预测类型或附加帧内预测模式的各种术语,以与定向或非定向帧内预测模式相区分。例如,帧内预测技术(帧内预测类型或附加帧内预测模式)可以包括lip、lm、pdpc、mrl、isp或mip中的至少一种。此外,如果需要,可以针对推导的预测样本执行后滤波。
[0179]
具体地,帧内预测过程可以包括帧内预测模式/类型确定步骤、邻近参考样本推导步骤和基于帧内预测模式/类型的预测样本推导步骤。另外,如果需要,可以针对推导的预
测样本执行后滤波。
[0180]
图11是例示基于帧内预测的视频/图像编码方法的流程图。
[0181]
图11的编码方法可以由图2的图像编码设备执行。具体地,步骤s1110可以由帧内预测单元185执行,步骤s1120可以由残差处理器执行。具体地,步骤s1120可以由减法器115执行。步骤s1130可以由熵编码器190执行。步骤s1130的预测信息可以由帧内预测单元185推导,并且步骤s1130的残差信息可以由残差处理器推导。残差信息是关于残差样本的信息。残差信息可以包括关于残差样本的量化变换系数的信息。如上所述,可以通过图像编码设备的变换器120将残差样本推导为变换系数,并且变换系数可以被推导为通过量化器130量化的变换系数。关于量化变换系数的信息可以由熵编码器190通过残差编码过程来编码。
[0182]
图像编码设备可以针对当前块执行帧内预测(s1110)。图像编码设备可以确定当前块的帧内预测模式/类型,推导当前块的邻近参考样本,并且然后基于帧内预测模式/类型和邻近参考样本来在当前块中生成预测样本。这里,帧内预测模式/类型确定、邻近参考样本推导和预测样本生成过程可以同时执行,或者任一个过程可以在其它过程之前执行。
[0183]
图12是例示根据本公开的帧内预测单元的配置的视图。
[0184]
如图12所示,图像编码设备的帧内预测单元185可以包括帧内预测模式/类型确定单元186、参考样本推导单元187和/或预测样本推导单元188。帧内预测模式/类型确定单元186可以确定当前块的帧内预测模式/类型。参考样本推导单元187可以推导当前块的邻近参考样本。预测样本推导单元188可以推导当前块的预测样本。此外,尽管未示出,当执行下述预测样本滤波过程时,帧内预测单元185还可以包括预测样本滤波器(未示出)。
[0185]
图像编码设备可以确定多个帧内预测模式/类型当中应用于当前块的模式/类型。图像编码设备可以比较帧内预测模式/类型的率失真(rd)成本并且为当前块确定最优帧内预测模式/类型。
[0186]
此外,图像编码设备可以执行预测样本滤波过程。预测样本滤波可以被称为后滤波。通过预测样本滤波过程,一些或所有预测样本可以被滤波。在一些情况下,可以省略预测样本滤波过程。
[0187]
再参照图11,图像编码设备可以基于预测样本或滤波的预测样本来生成当前块的残差样本(s1120)。图像编码设备可以通过从当前块的原始样本减去预测样本来推导残差样本。即,图像编码设备可以通过从原始样本值减去对应预测样本值来推导残差样本值。
[0188]
图像编码设备可以对包括关于帧内预测的信息(预测信息)和残差样本的残差信息的图像信息进行编码(1130)。预测信息可以包括帧内预测模式信息和/或帧内预测技术信息。图像编码设备可以将编码的图像信息以比特流的形式输出。输出比特流可以通过存储介质或网络被传输至图像解码设备。
[0189]
残差信息可以包括残差编码语法(将稍后描述)。图像编码设备可以变换/量化残差样本并且推导量化变换系数。残差信息可以包括关于量化变换系数的信息。
[0190]
此外,如上所述,图像编码设备可以生成重构画面(包括重构样本和重构块)。为此,图像编码设备可以针对量化变换系数执行解量化/逆变换并且推导(修改的)残差样本。变换/量化残差样本然后执行解量化/逆变换的原因是为了推导与图像解码设备所推导的残差样本相同的残差样本。图像编码设备可以基于预测样本和(修改的)残差样本来生成包括当前块的重构样本的重构块。基于重构块,可以生成当前画面的重构画面。如上所述,环
路中滤波过程进一步适用于重构画面。
[0191]
图13是例示基于帧内预测的视频/图像解码方法的流程图。
[0192]
图像解码设备可以执行与图像编码设备所执行的操作对应的操作。
[0193]
图13的解码方法可以由图3的图像解码设备执行。步骤s1310至s1330可以由帧内预测单元265执行,并且步骤s1310的预测信息和步骤s1340的残差信息可以由熵解码器210从比特流获得。图像解码设备的残差处理器可以基于残差信息来推导当前块的残差样本(s1340)。具体地,残差处理器的解量化器220可以基于根据残差信息推导的解量化变换系数来执行解量化以推导变换系数,并且残差处理器的逆变换器230可以针对变换系数执行逆变换以推导当前块的残差样本。步骤s650可以由加法器235或重构器执行。
[0194]
具体地,图像解码设备可以基于所接收的预测信息(帧内预测模式/类型信息)来推导当前块的帧内预测模式/类型(s1310)。图像解码设备可以推导当前块的邻近参考样本(s1320)。图像解码设备可以基于帧内预测模式/类型和邻近参考样本来在当前块中生成预测样本(s1330)。在这种情况下,图像解码设备可以执行预测样本滤波过程。预测样本滤波可以被称为后滤波。通过预测样本滤波过程,一些或所有预测样本可以被滤波。在一些情况下,可以省略预测样本滤波过程。
[0195]
图像解码设备可以基于所接收的残差信息来生成当前块的残差样本(s1340)。图像解码设备可以基于预测样本和残差样本来生成当前块的重构样本并且推导包括重构样本的重构块(s1350)。基于重构块,可以生成当前画面的重构画面。如上所述,环路中滤波过程进一步适用于重构画面。
[0196]
图14是例示根据本公开的帧内预测单元265的配置的视图。
[0197]
如图14所示,图像解码设备的帧内预测单元265可以包括帧内预测模式/类型确定单元266、参考样本推导单元267和预测样本推导单元268。帧内预测模式/类型确定单元266可以基于由图像编码设备的帧内预测模式/类型确定单元186生成并用信号通知的帧内预测模式/类型信息来确定当前块的帧内预测模式/类型,并且参考样本推导单元267可以从当前画面中的重构参考区域推导当前块的邻近参考样本。预测样本推导单元268可以推导当前块的预测样本。此外,尽管未示出,当执行上述预测样本滤波过程时,帧内预测单元265还可以包括预测样本滤波器(未示出)。
[0198]
例如,帧内预测模式信息可以包括指示是否对当前块应用最可能模式(mpm)或剩余模式的标志信息(例如,intra_luma_mpm_flag和/或intra_chroma_mpm_flag),并且当mpm应用于当前块时,帧内预测模式信息还可以包括指示帧内预测模式候选(mpm候选)之一的索引信息(例如,intra_luma_mpm_idx和/或intra_chroma_mpm_idx)。帧内预测模式候选(mpm候选)可以由mpm候选列表或mpm列表组成。另外,当mpm不应用于当前块时,帧内预测模式信息还可以包括指示除了帧内预测模式候选(mpm候选)之外的剩余帧内预测模式之一的剩余模式信息(例如,intra_luma_mpm_remainder和/或intra_chroma_mpm_remainder)。图像解码设备可以基于帧内预测模式信息来确定当前块的帧内预测模式。mpm候选模式可以包括当前块的邻近块(例如,左邻近块和/或上邻近块)的帧内预测模式和附加候选模式。
[0199]
图15a是示出根据本公开的实施方式的帧内预测方向的视图。
[0200]
在示例中,帧内预测模式可以包括两个非定向帧内预测模式和33个定向帧内预测模式。非定向帧内预测模式可以包括平面模式和dc模式,定向帧内预测模式可以包括帧内
预测模式#2至#34。平面帧内预测模式可以被称为平面模式,dc帧内预测模式可以被称为dc模式。
[0201]
另选地,为了捕获自然视频中呈现的任何边缘方向,如图8a所示,帧内预测模式可以包括两个非定向帧内预测模式和65个扩展定向帧内预测模式。非定向帧内预测模式可以包括平面预测模式和dc预测模式,扩展定向帧内预测模式可以包括帧内预测模式#2至#66。帧内预测模式可应用于所有大小的块以及亮度分量(亮度块)和色度分量(色度块)二者。
[0202]
另选地,帧内预测模式可以包括两个非定向帧内预测模式和129个定向帧内预测模式。非定向帧内预测模式可以包括平面预测模式和dc预测模式,定向帧内预测模式可以包括帧内预测模式#2至#130。
[0203]
此外,除了上述帧内预测模式之外,帧内预测模式还可以包括用于色度样本的交叉分量线性模型(cclm)模式。cclm模式可以根据lm参数推导是考虑左样本、上样本还是这二者被划分成l_cclm、t_cclm、lt_cclm,并且可仅应用于色度分量。
[0204]
帧内预测模式可以被索引,例如,如下表2所示。
[0205]
[表2]
[0206]
帧内预测模式关联名称0intra_planar1intra_dc2..66intra_angular2..intra_angular6681..83intra_lt_cclm、intra_l_cclm、intra_t_cclm
[0207]
参考表2,作为非定向帧内预测模式,平面模式的模式编号可为0,dc模式的模式编号可为1。另外,多个定向帧内预测模式的模式编号可为2至66。另外,附加帧内预测模式,lt_cclm模式、l_cclm模式和t_cclm模式的模式编号可为81至83。
[0208]
图15b是例示根据本公开的另一实施方式的帧内预测方向的视图。在图15b中,虚线方向示出仅应用于非方形块的广角模式。如图15b所示,为了捕获自然视频中呈现的任何边缘方向,根据实施方式的帧内预测模式可以包括两个非定向帧内预测模式和93个定向帧内预测模式。非定向帧内预测模式可以包括平面预测模式和dc预测模式,定向帧内预测模式可以包括帧内预测模式#2至#80至#-1至#-14,如图15b的箭头所表示。平面模式可以由intra_planar表示,dc模式可以由intra_dc表示。另外,定向帧内预测模式可以由intra_angular-14至intra_angular-1和intra_angular2至intra_angular80表示。
[0209]
另外,帧内预测技术信息可以按各种形式实现。例如,帧内预测技术信息可以包括指定多种帧内预测技术之一的帧内预测类型索引信息。作为另一示例,帧内预测技术信息可以包括指示是否对当前块应用mrl以及如果应用则使用哪一参考样本行的参考样本行信息(例如,intra_luma_ref_idx)、指示是否对当前块应用isp的isp标志信息(例如,intra_subpartitions_mode_flag)、当应用isp时指定子分区的划分类型的isp类型信息(例如,intra_subpartitions_split_flag)、指定是否应用pdpc的标志信息或者指定是否应用lip的标志信息中的至少一个。在本公开中,isp标志信息可以被称为isp应用指示符。
[0210]
帧内预测模式信息和/或帧内预测技术信息可以通过本公开中描述的编码方法来编码/解码。例如,帧内预测模式信息和/或帧内预测技术信息可以通过基于截断(莱斯(rice))二进制码的熵编码(例如,cabac、cavlc)来编码/解码。
[0211]
在下文中,将描述色度分量块的色度格式和帧内预测。
[0212]
色度格式的概述
[0213]
图16a至图16c是例示根据色度格式的亮度分量块(亮度分量阵列)与色度分量块(色度分量阵列)之间的关系的视图。
[0214]
源或编码画面/图像可以包括亮度分量(y)块和两个色度分量(cb、cr)块。即,画面/图像的一个像素可以包括亮度样本和两个色度样本(cb、cr)。颜色格式可以表示亮度样本和色度样本(cb、cr)的配置格式,并且可以称为色度格式。色度格式可以预定义,或者可以自适应地用信号通知。例如,色度格式可以基于chroma_format_idc或separate_colour_plane_flag中的至少一个用信号通知,如表3所示。
[0215]
[表3]
[0216]
chroma_format_idcseparate_colour_plane_flagchromaarraytype色度格式subwidthcsubheightc000单色111014:2:0222024:2:2213034:4:4113104:4:411
[0217]
在上表3中,chroma_format_idc可以指定亮度样本和与其对应的色度样本的格式,separate_colour_plane_flag可以指定三个颜色分量y、cb和cr是否单独地以4:4:4色度格式编码。
[0218]
当chroma_format_idc为0时,色度格式对应于单色格式,并且当前块不包括色度分量块,并且可以仅包括亮度分量块。
[0219]
另选地,当chroma_format_idc为1时,色度格式可以对应于4:2:0色度格式,并且色度分量块的宽度和高度可以分别对应于亮度分量块的一半宽度和一半高度。图9a示出4:2:0色度格式的亮度样本和色度样本之间的位置关系。
[0220]
另选地,当chroma_format_idc为2时,色度格式可以对应于4:2:2色度格式,色度分量块的宽度可以分别对应于亮度分量块的一半宽度,色度分量块的高度可以等于亮度分量块的高度。图9b示出4:2:2色度格式的亮度样本和色度样本之间的位置关系。
[0221]
另选地,当chroma_format_idc为3时,色度格式可以对应于4:4:4色度格式,并且色度分量块的宽度和高度可以分别对应于亮度分量块的宽度和高度。图16a至图16c示出4:4:4色度格式的亮度样本和色度样本之间的位置关系。
[0222]
subwidthc和subheightc表示亮度样本和色度样本之比。例如,当亮度分量块的宽度和高度分别为cbwidth和cbheight时,色度分量块的宽度和高度可以分别被推导为(cbwidth/subwidthc)和(cbheight/subheightc)。
[0223]
色度块的最小大小限制
[0224]
在图像编码/解码处理中,色度块的大小可对吞吐量有很大影响。例如,当过度生成具有预定大小或更小的色度块时,图像编码/解码处理的吞吐量可能显著劣化。为了解决这种问题,cu划分可以被限制为不生成具有预定大小或更小的色度块。
[0225]
具体地,在双树结构中,亮度块或色度块的块划分可以被限制为不生成2
×
2、2
×
4或4
×
2色度块。例如,在双树结构中,对2
×
8、4
×
4或8
×
2色度块的四叉树划分和/或二叉划分可被限制。另外,在双树结构中,对2
×
8、2
×
16、4
×
4、4
×
8、8
×
2或8
×
4色度块的三叉划
分可被限制。
[0226]
在单树结构中,当前块的划分结构可以根据最小色度帧内预测单元(scipu)限制从单树结构切换为双树结构。例如,根据scipu限制,色度块可以被限制为包括至少16个样本。因此,由于块划分,当生成2
×
2、2
×
4或4
×
2色度块时,禁止色度块的块划分,并且可仅对亮度块执行块划分。从单树结构切换为双树结构的当前块的划分结构可以被称为局部双树结构。
[0227]
图17a至图17c是例示用于将单树结构切换为双树结构的语法的示例的视图。图17a至图17c例示了一个coding_tree的语法,为了方便分成三个图。
[0228]
参照图17a至图17c,从当前ctu生成的各个cu的预测模式类型可以基于coding_tree语法中的参数modetypecondition的值来确定。这里,modetypecondition可以指定各个cu的预测模式特性。另外,modetype可以指定各个cu的预测模式类型。在示例中,modetype可以具有指定诸如帧内预测、ibc、调色板模式、帧间预测等的所有预测模式可用的mode_type_all、指定仅帧内预测、ibc和调色板模式可用的mode_type_intra以及指定仅帧间预测模式可用的mode_type_inter中的任一个的值。
[0229]
当前cu的modetypecondition可以根据预定条件具有第一值(例如,0)至第三值(例如,2)中的任一个。另外,modetype可以基于modetypecondition的值来确定。
[0230]
具体地,参照图17a,当modetypecondition具有第二值(例如,1)(1710)时,modetype可以被确定为mode_type_intra(1720)。
[0231]
另选地,当modetypecondition具有第三值(例如,2)(1730)时,modetype可以基于mode_constraint_flag的值来确定。这里,mode_constraint_flag可以指定帧间预测模式是否应用于当前cu。例如,mode_constraint_flag的第一值(例如,0)可以指定仅帧间预测模式应用于当前cu。另外,在这种情况下,当前cu的modetype可以被确定为mode_type_inter。mode_constraint_flag的第二值(例如,1)可以指定帧间预测模式可不应用于当前cu。另外,在这种情况下,modetype可以被确定为mode_type_intra(1740)。
[0232]
另选地,当modetypecondition具有第二值(例如,1)和第三值(例如,2)以外的值时(例如,当modetypecondition具有第一值(例如,0)时),modetype可以被确定为与modetypecurr相同的值(1750)。这里,modetypecurr是coding_tree语法的调用输入值,并且可以意指当前cu的预测模式类型。在示例中,当当前cu是划分树的根节点时,modetypecurr可为mode_type_all。
[0233]
基于modetypecondition的值确定的modetype可以用作用于调用通过划分当前cu而获得的下层cu的coding_tree语法的调用输入值。
[0234]
另外,基于当前cu的modetype的值,可以确定通过划分当前cu而生成的下层cu的划分结构treetype(1760)。例如,当当前cu的modetype为mode_type_intra时,下层cu的划分结构可以被确定为双树亮度dual_tree_luma。相反,当modetype不是mode_type_intra时,下层cu的划分结构可以是当前cu的划分结构treetypecurr。
[0235]
关于下层cu的划分结构的信息可以被存储在参数treetype中。treetype和modetype可以用作通过另外划分当前cu来调用下层cu的coding_tree语法的输入值。
[0236]
当下层cu的modetype为mode_type_intra时,当前cu可以被另外划分为具有双树结构。具体地,参照图17b,当下层cu的modetype为mode_type_intra时,下层cu可以具有双
树亮度dual_tree_luma的树结构。即,当前cu的亮度分量和色度分量可以被划分为具有单独的树结构(1770)。另外,参照图17c,当当前cu的modetypecurr为mode_type_all并且下层cu的modetype为mode_type_intra时,当前cu的色度分量不被划分,并且下层cu可以具有双树色度dual_tree_chroma的树结构(1780)。
[0237]
因此,下层cu的modetype可以基于modetypecondition来确定。另外,当下层cu的modetype为mode_type_intra时,下层cu的亮度分量具有双树亮度的树结构,并且下层cu的色度分量可以具有双树色度的树结构。即,下层cu在当前ctu内部分地具有双树结构,这种划分结构可以被称为局部双树结构。
[0238]
图18是例示推导预测模式特性信息的处理的示例的视图。
[0239]
参照图18,作为预测模式特性信息的modetypecondition可以基于下面的条件1至3具有第一值(例如,0)至第三值(例如,2)。
[0240]
具体地,当满足作为条件1的子条件的条件1-1或条件1-2中的至少一个时,modetypecondition可以具有第一值(例如,0)。
[0241]
这里,条件1-1可以意指当前cu包括在i切片中,包括在对应切片中的各个ctu被隐含地四叉树划分成64
×
64亮度样本cu,并且64
×
64亮度样本cu是双树的根节点。
[0242]
条件1-2可以意指modetypecurr不是mode_type_all。
[0243]
当不满足上述条件1并且满足作为条件2的子条件的条件2-1至2-3中的至少一个时,modetypecondition可以具有第二值(例如,1)。
[0244]
这里,条件2-1可以意指当前cu的宽度和高度的乘积为64,并且当前cu的划分模式为四叉树划分模式。
[0245]
条件2-2可以意指当前cu的宽度和高度的乘积为64,并且当前cu的划分模式为水平三叉划分模式或垂直三叉划分模式。
[0246]
条件2-3可以意指当前cu的宽度和高度的乘积为32,并且当前cu的划分模式为水平二叉划分模式或垂直二叉划分模式。
[0247]
当不满足上述条件1和条件2二者并且满足作为条件3的子条件的条件3-1或条件3-2中的至少一个时,根据当前cu是否包括在i切片中,modetypecondition可以具有第二值(例如,1)或第三值(例如,2)。例如,作为满足条件3-1或条件3-2中的至少一个的情况,当当前cu包括在i切片中时,modetypecondition可以具有第二值,并且当当前cu不包括在i切片中时,modetypecondition可以具有第三值。
[0248]
这里,条件3-1可以意指当前cu的宽度和高度的乘积为64并且当前cu的划分模式为水平二叉划分模式或垂直二叉划分模式的情况。
[0249]
条件3-2可以意指当前cu的宽度和高度的乘积为128并且当前cu的划分模式为水平三叉划分模式或垂直三叉划分模式的情况。
[0250]
此外,当不满足上述所有条件1至3时,modetypecondition可以具有第一值(例如,0)。
[0251]
在条件1至3中,当前cu可以意指当前cu的亮度块。即,modetypecondition的值可以基于当前cu的亮度块的大小来确定。在这种情况下,当前cu的色度块的大小可以根据参考表3描述的当前cu的颜色格式(色度格式)和当前cu的亮度块的大小来确定。
[0252]
基于根据条件1至3确定的modetypecondition的值,可以确定通过划分当前cu而
获得的下层cu的预测模式类型。例如,当modetypecondition具有第一值(例如,0)时,下层cu的预测模式类型modetype可以被确定为当前cu的预测模式类型modetypecurr。另选地,当modetypecondition具有第二值(例如,1)时,modetype可以被确定为mode_type_intra。另选地,当modetypecondition具有第三值(例如,2)时,modetype可以基于mode_constraint_flag的值被确定为mode_type_inter或mode_type_intra。
[0253]
基于通过上述方法确定的modetypecurr和modetype中的每一个的值,可以确定是否划分当前cu的色度块。例如,当modetypecurr为mode_type_all并且modetype为mode_type_intra时,可以禁止当前cu的色度块的划分。然而,在这种情况下,由于基于当前cu的亮度块的大小来确定modetypecondition的值,所以即使不违反色度块的最小大小限制(例如,至少16个色度样本),也可以禁止当前cu的色度块的划分。这将参照图19a至图21来详细描述。
[0254]
图19a和图19b是例示通过针对各个颜色格式对当前cu进行三叉划分而获得的下层cu的示例的视图。
[0255]
图19a示出包括宽度和高度的乘积为128的4
×
32亮度块的当前cu被水平三叉划分的情况,如上述条件3-2中。
[0256]
参照图19a,在4:2:0颜色格式中,通过对当前cu进行水平三叉划分而获得的下层cu可以包括2
×
4色度块。在这种情况下,基于条件3-2和指定当前cu是否在没有附加划分的情况下被帧内编码的mode_constraint_flag的值,可以禁止当前cu的水平三叉划分。例如,如上所述,当mode_constraint_flag具有第二值(例如,1)时,下层cu的modetype可以被确定为mode_type_intra,并且可以禁止当前cu的色度块的水平三叉划分。
[0257]
相反,在4:2:2或4:4:4颜色格式中,通过对当前cu进行水平三叉划分而获得的下层cu可不包括2
×
2、2
×
4或4
×
2色度块。然而,即使在这种情况下,基于条件3-2和mode_constraint_flag的值,下层cu的modetype可以被确定为mode_type_intra,并且可以禁止当前cu的色度块的水平三叉划分。
[0258]
接下来,图19b示出包括宽度和高度的乘积为128的16
×
8亮度块的当前cu被垂直三叉划分的情况,如上述条件3-2中。
[0259]
参照图19b,在4:2:0颜色格式中,通过对当前cu进行垂直三叉划分而获得的下层cu可以包括2
×
4色度块。在这种情况下,基于条件3-2和mode_constraint_flag的值,可以禁止当前cu的色度块的垂直三叉划分。
[0260]
相反,在4:2:2或4:4:4颜色格式中,通过对当前cu进行垂直三叉划分而获得的下层cu可不包括2
×
2、2
×
4或4
×
2色度块。然而,即使在这种情况下,基于条件3-2和mode_constraint_flag的值,下层cu的modetype可以被确定为mode_type_intra,并且可以禁止当前cu的色度块的垂直三叉划分。
[0261]
图20a和图20b是例示通过针对各个颜色格式对当前cu进行垂直二叉划分而获得的下层cu的示例的视图。
[0262]
图20a示出包括宽度和高度的乘积为64的4
×
16亮度块的当前cu被垂直二叉划分的情况,如上述条件3-1中。
[0263]
参照图20a,在4:2:0颜色格式中,通过对当前cu进行垂直二叉划分而获得的下层cu可以包括4
×
2色度块。在这种情况下,基于条件3-1和指定当前cu是否在没有附加划分的
情况下被帧内编码的mode_constraint_flag的值,可以禁止当前cu的垂直二叉划分。例如,如上所述,当mode_constraint_flag具有第二值(例如,1)时,下层cu的modetype可以被确定为mode_type_intra,并且可以禁止当前cu的色度块的垂直二叉划分。
[0264]
相反,在4:2:2或4:4:4颜色格式中,通过对当前cu进行垂直二叉划分而获得的下层cu可不包括2
×
2、2
×
4或4
×
2色度块。然而,即使在这种情况下,基于条件3-1和mode_constraint_flag的值,下层cu的modetype可以被确定为mode_type_intra,并且可以禁止当前cu的色度块的垂直二叉划分。
[0265]
接下来,图20b示出包括宽度和高度的乘积为64的8
×
8亮度块的当前cu被垂直二叉划分的情况,如上述条件3-1中。
[0266]
参照图20b,在4:2:0颜色格式中,通过对当前cu进行垂直二叉划分而获得的下层cu可以包括2
×
4色度块。在这种情况下,基于条件3-2和mode_constraint_flag的值,下层cu的modetype可以被确定为mode_type_intra,并且可以禁止当前cu的色度块的垂直二叉划分。
[0267]
相反,在4:2:2或4:4:4颜色格式中,通过对当前cu进行垂直二叉划分而获得的下层cu可不包括2
×
2、2
×
4或4
×
2色度块。然而,即使在这种情况下,基于条件3-1和mode_constraint_flag的值,下层cu的modetype可以被确定为mode_type_intra,并且可以禁止当前cu的色度块的垂直二叉划分。
[0268]
图21是例示通过针对各个颜色格式对当前cu进行垂直三叉划分而获得的下层cu的示例的视图。
[0269]
图21示出包括宽度和高度的乘积为64的16
×
4亮度块的当前cu被垂直三叉划分的情况,如上述条件3-1中。
[0270]
参照图21,在4:2:0颜色格式中,通过对当前cu进行垂直三叉划分而获得的下层cu可以包括2
×
2色度块。在这种情况下,在示例中,为了限制2
×
2色度块,modetypecondition可以被推断为具有第二值(例如,1),而不管mode_constraint_flag的值如何。结果,可不用信号通知mode_constraint_flag。因此,下层cu的modetype可被确定为mode_type_intra,并且可以禁止当前cu的色度块的垂直三叉划分。
[0271]
相反,在4:2:2或4:4:4颜色格式中,通过对当前cu进行垂直三叉划分而获得的下层cu可不包括2
×
2色度块。然而,即使在这种情况下,modetypecondition可以基于上述条件3-1被推断为具有第二值(例如,1),并且可以禁止当前cu的色度块的垂直三叉划分。
[0272]
根据图18的条件1至3,在4:2:0颜色格式中,可以根据色度块的最小大小限制禁止色度块的附加划分。然而,在4:2:2或4:4:4颜色格式中,即使不违反色度块的最小大小限制,也可以禁止色度块的附加划分。
[0273]
为了解决这种问题,根据本公开的实施方式,可以基于当前cu的颜色格式和当前cu的色度块的大小来确定modetypecondition的值。
[0274]
在下文中,将参照附图详细描述本公开的实施方式。
[0275]
推导预测模式特性信息的处理
[0276]
图22是例示根据本公开的实施方式的推导预测模式特性信息的处理的视图。
[0277]
当当前cu的颜色格式为单色格式或4:4:4格式并且各个颜色分量(例如,y、cb、cr)被单独地编码时,当前cu内的亮度块和色度块可不同时存在。结果,无法基于亮度块的大小
限制色度块的划分。
[0278]
另外,如上面参照图19a至图21描述的,根据当前cu的颜色格式,即使不违反色度块的最小大小限制,也可以禁止当前块的色度块的划分。
[0279]
为了解决这种问题,与图18的示例不同,可以基于当前cu的颜色格式来执行根据本公开的实施方式的推导预测模式特性信息modetypecondition的处理。
[0280]
参照图22,modetypecondition可以基于下面的条件4至6具有第一值(例如,0)至第三值(例如,2)。
[0281]
具体地,当满足作为条件4的子条件的条件4-1至4-4中的至少一个时,modetypecondition可以具有第一值(例如,0)。
[0282]
这里,条件4-1可以意指当前cu包括在i切片中,包括在对应切片中的各个ctu被隐含地四叉树划分成64
×
64亮度样本cu,并且64
×
64亮度样本cu是双树的根节点。
[0283]
条件4-2可以意指modetypecurr不是mode_type_all。
[0284]
条件4-3可以意指当前cu的各个颜色分量被单独地编码(separate_colour_plane_flag=1)。在另一示例中,条件4-3可以意指当前cu的颜色格式为4:4:4格式(chroma_format_idc=3)。
[0285]
条件4-4可以意指当前cu的颜色格式为单色格式(chroma_format_idc=0)。
[0286]
当不满足上述条件4并且不满足作为条件5的子条件的条件5-1或5-2中的至少一个时,modetypecondition可以具有第二值(例如,1)。
[0287]
这里,条件5-1可以意指当前cu的色度块的宽度和高度的乘积为16,并且当前cu的划分模式为四叉树划分模式。当当前cu的颜色格式为4:2:0格式时,条件5-1可以意指当前cu的亮度块的宽度和高度的乘积为64并且当前cu的划分模式为四叉树划分模式。另选地,当当前cu的颜色格式为4:2:2格式时,条件5-1可以意指当前cu的亮度块的宽度和高度的乘积为32并且当前cu的划分模式为四叉树划分模式。
[0288]
条件5-2可以意指当前cu的色度块的宽度和高度的乘积为16并且当前cu的划分模式为水平三叉划分模式或垂直三叉划分模式。当当前cu的颜色格式为4:2:0格式时,条件5-2可以意指当前cu的亮度块的宽度和高度的乘积为64并且当前cu的划分模式为水平三叉划分模式或垂直三叉划分模式。另选地,当当前cu的颜色格式为4:2:2格式时,条件5-2可以意指当前cu的亮度块的宽度和高度的乘积为32并且当前cu的划分模式为水平三叉划分模式或垂直三叉划分模式。
[0289]
当不满足上述条件4和5二者并且满足作为条件6的子条件的条件6-1或6-2中的至少一个时,根据当前cu是否包括在i切片中,modetypecondition可以具有第二值(例如,1)或第三值(例如,2)。例如,作为满足条件6-1或6-2中的至少一个的情况,当当前cu包括在i切片中时,modetypecondition可以具有第二值,当当前cu不包括在i切片中时,modetypecondition可以具有第三值。
[0290]
这里,条件6-1可以意指当前cu的色度块的宽度和高度的乘积为16并且当前cu的划分模式为水平二叉划分模式或垂直二叉划分模式。当当前cu的颜色格式为4:2:0格式时,条件6-1可以意指当前cu的亮度块的宽度和高度的乘积为64并且当前cu的划分模式为水平二叉划分模式或垂直二叉划分模式。另选地,当当前cu的颜色格式为4:2:2格式时,条件6-1可以意指当前cu的亮度块的宽度和高度的乘积为32并且当前cu的划分模式为水平二叉划
分模式或垂直二叉划分模式。
[0291]
条件6-2可以意指当前cu的色度块的宽度和高度的乘积为32并且当前cu的划分模式为水平三叉划分模式或垂直三叉划分模式的情况。当当前cu的颜色格式为4:2:0格式时,条件6-2可以意指当前cu的亮度块的宽度和高度的乘积为128并且当前cu的划分模式为水平三叉划分模式或垂直三叉划分模式的情况。另选地,当当前cu的颜色格式为4:2:2格式时,条件6-2可以意指当前cu的亮度块的宽度和高度的乘积为64并且当前cu的划分模式为水平三叉划分模式或垂直三叉划分模式的情况。
[0292]
在示例中,条件6还可以包括当前cu的色度块的宽度为4并且当前cu的划分模式为垂直二叉划分模式的情况作为子条件。当当前cu的颜色格式为4:2:0格式或4:2:2格式时,子条件可以意指当前cu的亮度块的宽度为8并且当前cu的划分模式为垂直二叉划分模式的情况。另外,在示例中,条件6还可以包括当前cu的色度块的宽度为8并且当前cu的划分模式为垂直三叉划分模式的情况作为子条件。当当前cu的颜色格式为4:2:0格式或4:2:2格式时,子条件可以意指当前cu的亮度块的宽度为16并且当前cu的划分模式为垂直三叉划分模式的情况。
[0293]
此外,当不满足上述所有条件4至6时,modetypecondition可以具有第一值(例如,0)。
[0294]
在条件5和6中,可以使用根据如上面参考表3描述的当前cu的颜色格式确定的亮度块和色度块之比来推导色度块的宽度和高度。例如,在单色格式中,亮度块的宽度与色度块的宽度之比subwidthc可为1,并且亮度块的高度与色度块的高度之比可为1。另外,在4:2:0格式中,subwidthc可为2并且subheightc可为2。另外,在4:4:4格式中,subwidthc可为2并且subheightc可为1。另外,在4:4:4格式中,subwidthc可为1并且subheightc可为1。在各个颜色格式中,可以通过将亮度块的宽度cbwidth除以subwidthc来推导色度块的宽度,并且可以通过将亮度块的高度cbheight除以subwidthh来推导色度块的高度。
[0295]
基于根据条件4至6确定的modetypecondition的值,可以确定通过划分当前cu而获得的下层cu的预测模式类型modetype。例如,当modetypecondition具有第一值(例如,0)时,modetype可以被确定为当前cu的预测模式类型modetypecurr。另选地,当modetypecondition具有第二值(例如,1)时,modetype可以被确定为mode_type_intra。另选地,当modetypecondition具有第三值(例如,2)时,modetype可以基于mode_constraint_flag的值被确定为mode_type_inter或mode_type_intra。
[0296]
基于通过上述方法确定的modetypecurr和modetype中的每一个的值,可以确定是否划分当前cu的色度块。例如,当modetypecurr为mode_type_all并且modetype为mode_type_intra时,可以禁止当前cu的色度块的划分。
[0297]
根据本公开的实施方式,可以基于当前cu的颜色格式来推导预测模式特性信息modetypecondition。因此,在4:2:2格式或4:4:4格式中,即使不禁止色度格式的最小大小限制,也可防止当前cu的色度格式的附加划分被禁止。
[0298]
在下文中,将详细描述基于根据图22的实施方式推导的预测模式特性信息modetypecondition对图像进行编码/解码的方法。
[0299]
图像编码方法
[0300]
图23是例示根据本公开的实施方式的图像编码方法的流程图。图23的图像编码方
法可以由图2的图像编码设备执行。例如,步骤s2310至s2330可以由图像分割器110执行,步骤s2340可以由帧间预测单元180或帧内预测单元185执行。
[0301]
参照图23,图像编码设备可以确定预测模式特性信息modetypecondition(s2310)。在示例中,预测模式特性信息可以基于当前块的颜色格式来确定。
[0302]
具体地,图像编码设备可以确定是否满足第一条件(s2311)。在示例中,第一条件可以包括当前块的颜色格式为单色格式或4:4:4格式的情况。另外,第一条件可以包括当前块的各个颜色分量被单独地编码的情况(separate_colour_plane_flag=1)。另外,第一条件可以包括当前块包括在i切片中,包括在对应切片中的各个块被隐含地四叉树划分成64
×
64亮度样本cu,并且64
×
64亮度样本cu是双树的根节点的情况。另外,第一条件可以包括当前块的预测模式类型modetypecurr不是第一预测模式类型mode_type_all的情况。这里,第一预测模式类型mode_type_all可以指定帧内预测模式和帧间预测模式二者可用的预测模式类型。
[0303]
当满足第一条件(s2311为“是”)时,预测模式特性信息可以被确定为第一值(例如,0)(s2312)。
[0304]
相反,当不满足第一条件时(例如,当当前块的颜色格式为4:2:0或4:2:2格式时)(s2311为“否”),图像编码设备可以确定是否满足第二条件(s2313)。在示例中,第二条件可以包括当前块的色度块的宽度和高度的乘积为16并且当前块的划分模式为四叉树划分模式的情况。另外,第二条件可以包括当前块的色度块的宽度和高度的乘积为16并且当前块的划分模式为水平三叉划分模式或垂直三叉划分模式的情况。在示例中,第二条件可以基于如上面参照图22描述的当前块的颜色格式根据当前块的亮度块的大小而改变。
[0305]
当满足第二条件时(s2313为“是”),预测模式特性信息可以被确定为第二值(例如,1)(s2314)。
[0306]
相反,当不满足第二条件时(s2313为“否”),图像编码设备可以确定是否满足第三条件(s2315)。在示例中,第三条件可以包括当前块的色度块的宽度和高度的乘积为16并且当前块的划分模式为水平二叉划分模式或垂直二叉划分模式的情况。另外,第二条件可以包括当前块的色度块的宽度和高度的乘积为32并且当前块的划分模式为水平三叉划分模式或垂直三叉划分模式的情况。在示例中,第三条件可以基于如上面参照图22描述的当前块的颜色格式根据当前块的亮度块的大小而改变。
[0307]
当满足第三条件时(s2315为“是”),图像编码设备可以确定当前块是否包括在i切片中(s2316)。
[0308]
当当前块包括在i切片中时(s2316为“是”),预测模式特性信息可以被确定为第二值(例如,1)(s2314)。相反,当当前块不包括在i切片中时(s2316为“否”),预测模式特性信息可以被确定为第三值(例如,2)(s2317)。
[0309]
相反,当不满足第三条件时(s2315为“否”),预测模式特性信息可以被确定为第一值(例如,0)(s2312)。
[0310]
图像编码设备可以基于预测模式特性信息来确定通过划分当前块而获得的下层块的预测模式类型modetype(s2320)。
[0311]
例如,当预测模式特性信息具有第一值(例如,0)时,下层块的预测模式类型可以被确定为当前块的预测模式类型modetypecurr。
[0312]
另选地,当预测模式特性信息具有第二值(例如,1)时,下层块的预测模式类型可以被确定为第二预测模式类型mode_type_intra。这里,第二预测模式类型mode_type_intra可以指定仅帧内预测可用的预测模式类型。
[0313]
另选地,当预测模式特性信息具有第三值(例如,2)时,可以根据预定条件确定为第二预测模式类型mode_type_intra或第三预测模式类型mode_type_inter。例如,当仅帧间预测模式可用时,下层块的预测模式类型可以被确定为第三预测模式类型mode_type_inter。这里,第三预测模式类型mode_type_inter可以指定仅帧间预测可用的预测模式类型。相反,当帧间预测模式不可用时,下层块的预测模式类型可以被确定为第二预测模式类型mode_type_intra。在示例中,指定帧间预测模式是否可用的信息可以使用预定标志(例如,mode_constraint_flag)来编码。
[0314]
图像编码设备可以通过基于下层块的预测模式类型划分当前块来获得当前块的下层块(s2330)。例如,当下层块的预测模式类型为第二预测模式类型mode_type_intra时,图像编码设备可以通过划分当前块以具有双树结构来获得下层块。相反,当当前块的预测模式类型不是第二预测模式类型mode_type_intra时(例如,当当前块的预测模式类型为第一预测模式类型mode_type_all或第三预测模式类型mode_type_inter时),图像编码设备可以通过根据当前块的划分结构划分当前块来获得下层块。例如,当当前块的划分结构为单树结构时,图像编码设备可以通过划分当前块以具有单树结构来获得下层块。另选地,当当前块的划分结构为双树结构时,图像编码设备可以通过划分当前块以具有双树结构来获得下层块。
[0315]
下层块的划分结构被确定为双树结构,是否划分当前块的亮度块和色度块可以独立地确定。例如,是否划分亮度块可以基于亮度块的大小来确定。另外,是否划分色度块可以基于色度块的大小来确定。在示例中,是否划分色度块可以基于上面参照图22描述的当前块的颜色格式来确定。
[0316]
图像编码设备可以基于下层块的预测模式类型对下层块进行编码(s2340)。例如,当下层块的预测模式类型为第一预测模式类型mode_type_all时,图像编码设备可以基于帧内预测模式、ibc、调色板模式和帧间预测模式之一对下层块进行编码。在这种情况下,指定应用于下层块的预测模式的信息可以使用预定标志(例如,pred_mode_flag)来编码。
[0317]
另选地,当下层块的预测模式类型为第二预测模式类型mode_type_intra时,图像编码设备可以基于帧内预测模式对下层块进行编码。
[0318]
另选地,当下层块的预测模式类型为第三预测模式类型mode_type_inter时,图像编码设备可以基于帧间预测模式对下层块进行编码。
[0319]
根据依据本公开的实施方式的图像编码方法,通过基于当前块的颜色格式、划分模式或大小中的至少一个确定下层块的划分模式,可更加改进编码效率,而不违反色度块的最小大小限制。
[0320]
图像解码方法
[0321]
图24是例示根据本公开的实施方式的图像解码方法的流程图。图24的图像解码方法可以由图3的图像解码设备执行。例如,步骤s2410至s2430可以由处理器执行,步骤s2440可以由帧间预测单元260或帧内预测单元265执行。
[0322]
参照图24,图像解码设备可以确定预测模式特性信息modetypecondition
(s2410)。在示例中,预测模式特性信息可以基于当前块的颜色格式来确定。
[0323]
具体地,图像解码设备可以确定是否满足第一条件(s2411)。在示例中,第一条件可以包括当前块的颜色格式为单色格式或4:4:4格式的情况。另外,第一条件可以包括当前块的各个颜色分量被单独地编码的情况(separate_colour_plane_flag=1)。另外,第一条件可以包括当前块包括在i切片中,包括在对应切片中的各个块被隐含地四叉树划分成64
×
64亮度样本cu,并且64
×
64亮度样本cu为双树的根节点的情况。另外,第一条件可以包括当前块的预测模式类型modetypecurr不是第一预测模式类型mode_type_all的情况。
[0324]
当满足第一条件时(s2411为“是”),预测模式特性信息可以被确定为第一值(例如,0)(s2412)。
[0325]
相反,当不满足第一条件时(例如,当当前块的颜色格式为4:2:0或4:2:2格式时)(s2411为“否”),图像解码设备可以确定是否满足第二条件(s2313)。在示例中,第二条件可以包括当前块的色度块的宽度和高度的乘积为16并且当前块的划分模式为四叉树划分模式的情况。另外,第二条件可以包括当前块的色度块的宽度和高度的乘积为16并且当前块的划分模式为水平三叉划分模式或垂直三叉划分模式的情况。在示例中,第二条件可以基于如上面参照图22描述的当前块的颜色格式根据当前块的亮度块的大小而改变。
[0326]
当满足第二条件时(s2413为“是”),预测模式特性信息可以被确定为第二值(例如,1)(s2414)。
[0327]
相反,当不满足第二条件时(s2413为“否”),图像解码设备可以确定是否满足第三条件(s2415)。在示例中,第三条件可以包括当前块的色度块的宽度和高度的乘积为16并且当前块的划分模式为水平二叉划分模式或垂直二叉划分模式的情况。另外,第二条件可以包括当前块的色度块的宽度和高度的乘积为32并且当前块的划分模式为水平三叉划分模式或垂直三叉划分模式的情况。在示例中,第三条件可以基于上面参照图22描述的当前块的颜色格式根据当前块的亮度块的大小而改变。
[0328]
当满足第三条件时(s2415为“是”),图像解码设备可以确定当前块是否包括在i切片中(s2416)。
[0329]
当当前块包括在i切片中时(s2416为“是”),预测模式特性信息可以被确定为第二值(例如,1)(s2414)。相反,当当前块不包括在i切片中时(s2416为“否”),预测模式特性信息可以被确定为第三值(例如,2)(s2417)。
[0330]
相反,当不满足第三条件时(s2415为“否”),预测模式特性信息可以被确定为第一值(例如,0)(s2412)。
[0331]
图像解码设备可以基于预测模式特性信息来确定通过划分当前块而获得的下层块的预测模式类型modetype(s2420)。
[0332]
例如,当预测模式特性信息具有第一值时(例如,0),下层块的预测模式类型可以被确定为当前块的预测模式类型modetypecurr。
[0333]
另选地,当预测模式特性信息具有第二值时(例如,1),下层块的预测模式类型可以被确定为第二预测模式类型mode_type_intra。
[0334]
另选地,当预测模式特性信息具有第三值时(例如,2),可以根据预定条件确定为第二预测模式类型mode_type_intra或第三预测模式类型mode_type_inter。例如,当仅帧间预测模式可用时,预测模式特性信息可以被确定为第三预测模式类型mode_type_inter。
相反,当帧间预测模式不可用时,预测模式特性信息可以被确定为第二预测模式类型mode_type_intra。在示例中,可以通过对从比特流获得的预定标志(例如,mode_constraint_flag)进行解码来确定帧间预测模式是否可用。
[0335]
图像解码设备可以通过基于下层块的预测模式类型划分当前块来获得当前块的下层块(s2430)。例如,当下层块的预测模式类型为第二预测模式类型mode_type_intra时,图像解码设备可以通过划分当前块以具有双树结构来获得下层块。相反,当当前块的预测模式类型不是第二预测模式类型mode_type_intra时(例如,当当前块的预测模式类型为第一预测模式类型mode_type_all或第三预测模式类型mode_type_inter时),图像解码设备可以通过根据与当前块的划分结构(例如,单树结构或双树结构)相同的方法划分当前块来获得下层块。
[0336]
下层块的划分结构被确定为双树结构,是否划分当前块的亮度块和色度块可以独立地确定。例如,是否划分当前块的色度块可以基于根据如上面参照图22描述的当前块的颜色格式确定的预测模式特性信息mode_type_condition来确定。
[0337]
图像解码设备可以基于下层块的预测模式类型对下层块进行解码(s2440)。例如,当下层块的预测模式类型为第一预测模式类型mode_type_all时,图像解码设备可以基于帧内预测模式、ibc、调色板模式和帧间预测模式之一对下层块进行解码。在这种情况下,应用于下层块的预测模式可以通过对从比特流获得的预定标志(例如,pred_mode_flag)进行解码来确定。
[0338]
另选地,当下层块的预测模式类型为第二预测模式类型mode_type_intra时,图像解码设备可以基于帧内预测模式对下层块进行解码。
[0339]
另选地,当下层块的预测模式类型为第三预测模式类型mode_type_inter时,图像解码设备可以基于帧间预测模式对下层块进行解码。
[0340]
根据依据本公开的实施方式的图像解码方法,通过基于当前块的颜色格式、划分模式或大小中的至少一个确定下层块的划分模式,可进一步改进编码效率,而不会违反色度块的最小大小限制。
[0341]
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本公开的方法,所描述的步骤可以进一步包括其他步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其他附加步骤。
[0342]
在本公开中,执行预定操作(步骤)的图像编码装置或图像解码装置可以执行确认相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码装置或图像解码装置可以在确定是否满足预定条件之后执行预定操作。
[0343]
本公开的各种实施例不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施例中描述的事项可以独立地或以两个或更多个的组合应用。
[0344]
本公开的各种实施例可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、通用处理器、控制器、微控制器、微处理器等来实现。
[0345]
此外,应用本公开的实施例的图像解码装置和图像编码装置可以包括在多媒体广播传送和接收设备、移动通信终端、家庭影院视频设备、数字影院视频设备、监控摄像头、视频聊天设备、诸如视频通信的实时通信设备、移动流传输设备、存储介质、摄像机、视频点播(vod)服务提供设备、ott视频(over the top video)设备、互联网流传输服务提供设备、三维(3d)视频设备、视频电话视频设备、医疗视频设备等,并且可用于处理视频信号或数据信号。例如,ott视频设备可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能手机、平板pc、数字录像机(dvr)等。
[0346]
图25是示出可应用本公开的实施例的内容流传输系统的视图。
[0347]
如图25中所示,应用本公开的实施例的内容流传输系统可以主要包括编码服务器、流传输服务器、网络服务器、媒体存储、用户设备和多媒体输入设备。
[0348]
编码服务器将从诸如智能手机、相机、便携式摄像机等多媒体输入设备输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能手机、相机、摄像机等多媒体输入设备直接生成码流时,可以省略编码服务器。
[0349]
比特流可以由应用本公开的实施例的图像编码方法或图像编码装置产生,并且流传送服务器可以在发送或接收比特流的过程中临时存储比特流。
[0350]
流传输服务器基于用户通过网络服务器的请求将多媒体数据发送到用户设备,并且网络服务器用作向用户通知服务的媒介。当用户从网络服务器请求所需的服务时,网络服务器可以将其递送到流传输服务器,并且流传输服务器可以向用户发送多媒体数据。在这种情况下,内容流传输系统可以包括单独的控制服务器。在这种情况下,控制服务器用作控制内容流系统中设备之间的命令/响应。
[0351]
流传输服务器可以从媒体存储和/或编码服务器接收内容。例如,当从编码服务器接收到内容时,可以实时接收内容。在这种情况下,为了提供平滑的流传输服务,流传输服务器可以在预定时间内存储比特流。
[0352]
用户设备的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航设备、平板pc、平板计算机、超级本、可穿戴设备(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
[0353]
内容流传输系统中的每个服务器都可以作为分布式服务器运行,在这种情况下,从每个服务器接收的数据可以被分布。
[0354]
本公开的范围包括用于使根据各种实施例的方法的操作能够在装置或计算机上执行的软件或者可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并可在装置或计算机上执行的此类软件或命令的一种非暂时性计算机可读介质。
[0355]
工业适用性
[0356]
本公开的实施例可以被用于对图像进行编码或解码。
再多了解一些

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

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

相关文献