通过使用边界处理对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质

文档序号:621641 发布日期:2021-05-07 浏览:10次 >En<

阅读说明:本技术 通过使用边界处理对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质 (Method and apparatus for encoding/decoding image by using boundary processing and recording medium for storing bitstream ) 是由 林成昶 姜晶媛 李河贤 李镇浩 金晖容 于 2019-09-19 设计创作,主要内容包括:提供了一种对图像进行编码/解码的方法和设备。用于对图像进行解码的方法包括以下步骤:从比特流解码出关于当前画面中包括的当前块的块分区的信息;基于所述信息确定当前块的分区方法;以及通过使用确定的分区方法来对当前块进行分区,其中,所述分区方法是基于当前块是否包括预定边界被确定的。(Provided are a method and apparatus for encoding/decoding an image. The method for decoding an image includes the steps of: decoding information regarding a block partition of a current block included in a current picture from a bitstream; determining a partition method of the current block based on the information; and partitioning the current block by using the determined partitioning method, wherein the partitioning method is determined based on whether the current block includes a predetermined boundary.)

通过使用边界处理对图像进行编码/解码的方法和设备以及 用于存储比特流的记录介质

技术领域

本发明涉及一种用于对图像进行编码/解码的方法和设备,以及一种存储比特流的记录介质。更具体地,本发明涉及一种用于基于块结构对图像进行编码/解码的方法和设备,以及一种存储比特流的记录介质。

背景技术

近来,在各种应用领域中,对高分辨率和高质量视频(诸如高清(HD)和超高清(UHD)视频)的需求已经增加。由于视频数据具有更高分辨率和更高质量,因此数据量相对于现有视频数据增加得更多。因此,当使用媒介(诸如现有有线宽带线路和无线宽带线路)来传输视频数据或将视频数据存储在现有存储媒介中时,传输成本和存储成本增加。为了解决随着图像数据的分辨率和质量的提高而出现的这些问题,对于更高分辨率和更高质量的图像,需要高效的图像编码/解码技术。

图像压缩技术包括各种技术,包括:帧间预测技术,从当前画面的先前画面或后续画面来预测包括在当前画面中的像素值;帧内预测技术,通过使用当前画面中的像素信息来预测包括在当前画面中的像素值;变换和量化技术,用于压缩残差信号的能量;熵编码技术,将短码分配给具有高出现频率的值并且将长码分配给具有低出现频率的值;等等。图像数据可以通过使用这样的图像压缩技术被有效地压缩,并且可以被发送或存储。

在传统的图像编码/解码中,仅使用四叉树形式的块结构,因此在提高编码效率方面存在限制。

发明内容

技术问题

本发明的目的是提供一种用于提高图像编码/解码效率的图像编码/解码方法和设备。

另外,本发明的另一目的是提供一种使用具有各种纵横比的块形状、或者在画面/子画面/条带/并行块/分块等的边界上有效地执行块分区,以便提高图像编码/解码效率的方法和设备。

另外,本发明的另一目的是提供一种存储由本发明的图像编码/解码方法和设备产生的比特流的记录介质。

技术方案

根据本发明,提供了一种对图像进行解码的方法,所述方法包括:从比特流解码出关于当前画面中包括的当前块的块分区的信息;基于所述信息确定当前块的分区方法;以及通过使用确定的分区方法来对当前块进行分区,其中,所述分区方法是基于当前块是否包括预定边界被确定的。

根据一个实施例,关于块分区的信息包括以下信息中的至少一个信息:关于当前块的尺寸的信息、关于当前块的深度的信息和关于是否执行分区的信息。

根据一个实施例,分区方法包括以下分区中的至少一种分区:四叉树分区、水平二叉树分区、垂直二叉树分区、水平三叉树分区和垂直三叉树分区。

根据一个实施例,预定边界包括以下边界中的至少一个边界:当前块所属的画面、子画面、条带、并行块和分块中的至少一个的右侧边界、下方边界、左侧边界和上方边界。

根据一个实施例,在当前块包括当前画面的右侧边界和下方边界并且当前块的宽度大于最小四叉树块的尺寸时,分区方法被确定为四叉树分区。

根据一个实施例,在当前块包括当前画面的右侧边界并且当前块的高度大于最大变换块的尺寸时,分区方法被确定为除垂直二叉树分区之外的分区。

根据一个实施例,在当前块包括当前画面的下方边界并且当前块的宽度大于最大变换块的尺寸时,分区方法被确定为除水平二叉树分区之外的分区。

根据一个实施例,在当前块的宽度等于或小于最大变换块的尺寸并且当前块的高度大于最大变换块的尺寸时,分区方法被确定为除垂直二叉树分区之外的分区。

根据一个实施例,在当前块的高度等于或小于最大变换块的尺寸并且当前块的宽度大于最大变换块的尺寸时,分区方法被确定为除水平二叉树分区之外的分区。

根据一个实施例,最大变换块的尺寸可以是从编码器用信号发送到解码器的值。

此外,根据本发明,提供了一种对图像进行编码的方法,所述方法包括:确定当前画面中包括的当前块的分区方法;通过使用确定的分区方法来对当前块进行分区;以及对关于分区方法的块分区的信息进行编码,其中,所述分区方法是基于当前块是否包括预定边界被确定的。

根据一个实施例,关于块分区的信息包括以下信息中的至少一个信息:关于当前块的尺寸的信息、关于当前块的深度的信息和关于是否执行分区的信息。

根据一个实施例,分区方法包括以下分区中的至少一种分区:四叉树分区、水平二叉树分区、垂直二叉树分区、水平三叉树分区和垂直三叉树分区。

根据一个实施例,预定边界包括以下边界中的至少一个边界:当前块所属的画面、子画面、条带、并行块和分块中的至少一个的右侧边界、下方边界、左侧边界和上方边界。

根据一个实施例,在当前块包括当前画面的右侧边界和下方边界并且当前块的宽度大于最小四叉树块的尺寸时,分区方法被确定为四叉树分区。

根据一个实施例,在当前块包括当前画面的右侧边界并且当前块的高度大于最大变换块的尺寸时,分区方法被确定为除垂直二叉树分区之外的分区。

根据一个实施例,在当前块包括当前画面的下方边界并且当前块的宽度大于最大变换块的尺寸时,分区方法被确定为除水平二叉树分区之外的分区。

根据一个实施例,在当前块的宽度等于或小于最大变换块的尺寸并且当前块的高度大于最大变换块的尺寸时,分区方法被确定为除垂直二叉树分区之外的分区。

根据一个实施例,在当前块的高度等于或小于最大变换块的尺寸并且当前块的宽度大于最大变换块的尺寸时,分区方法被确定为除水平二叉树分区之外的分区。

根据一个实施例,最大变换块的尺寸可以是从编码器用信号发送到解码器的值。

此外,根据本发明,提供了一种存储用于图像解码方法的图像数据的计算机可读非易失性记录介质,其中,所述图像数据包括关于当前画面中包括的当前块的块分区的信息,并且在所述图像解码方法中,关于块分区的信息被用于确定当前块的分区方法,确定的分区方法被用于对当前块进行分区,并且分区方法基于当前块是否包括预定边界被确定。

有益效果

为了提高图像编码/解码效率,提供了一种执行使用具有各种宽高比的块形状和在画面/子画面/条带/并行块/分块等的边界上有效地执行块分区中的至少一个的方法和设备,以及存储比特流的记录介质。

根据本发明,提供了一种用于提高图像编码/解码效率的图像编码/解码方法和设备。

另外,根据本发明,提供了一种使用具有各种宽高比的块形状、或者在画面/子画面/条带/并行块/分块等的边界上有效地执行块分区,以便提高图像编码/解码效率的方法和设备。

另外,根据本发明,提供了一种存储由本发明的图像编码/解码方法和设备产生的比特流的记录介质。

附图说明

图1是示出应用本发明的编码设备的实施例的配置的框图。

图2是应用本发明的解码设备的实施例的框图。

图3是示意性地示出当对图像进行编码和解码时的分区结构的示图。

图4是示出帧内预测的示例的示图。

图5是示出帧间预测的示例的示图。

图6是示出变换和量化的示图。

图7是示出可用于帧内预测的参考样点的示图。

图8是示出根据本发明的实施例的画面/子画面/条带/并行块/分块等的边界的示图。

图9是示出根据本发明的块的实施例的分区方法的示图。

图10是示出根据本发明的实施例的当前块的将被编码/解码的区域的宽度和高度中的至少一个不是2的N次方(2N)的情况的示图。

图11是示出根据本发明的实施例的对图像进行解码的方法的流程图的示图。

图12是根据本发明的实施例的图像编码方法的流程图的示图。

具体实施方式

可以对本发明进行各种修改,并且存在本发明的各种实施例,其中,现在将参照附图来提供本发明的各种实施例的示例并对其进行详细描述。然而,本发明不限于此,尽管示例性实施例可被解释为包括本发明的技术构思和技术范围内的所有修改、等同或替代。在各个方面,相似的附图标号指代相同或相似的功能。在附图中,为了清楚,可夸大元件的形状和尺寸。在本发明的以下详细描述中,参照了附图,其中,附图以图示的方式示出了可实践本发明的特定实施例。足够详细地描述了这些实施例以使本领域技术人员能够实施本公开。应当理解的是,本公开的各种实施例尽管不同,但不一定是互斥的。例如,在不脱离本公开的精神和范围的情况下,结合一个实施例在此描述的特定特征、结构和特性可在其他实施例中被实现。另外,应当理解,在不脱离本公开的精神和范围的情况下,可修改每个公开的实施例内的各个元件的位置或布置。因此,以下详细描述不应被视为具有限制意义,并且本公开的范围仅由所附权利要求(在合适的解释的情况下,还连同权利要求所要求保护的等同物的全部范围)来限定。

示出书中使用的术语“第一”、“第二”等可用于描述各种组件,但是组件不应解释为限于这些术语。这些术语仅用于区分一个组件与其他组件。例如,在不脱离本发明的范围的情况下,“第一”组件可被命名为“第二”组件,并且“第二”组件也可被相似地命名为“第一”组件。术语“和/或”包括多个项的组合或多个项中的任意一项。

将理解的是,在本示出书中,当元件被简单称为“连接到”或“耦接到”另一元件而不是“直接连接到”或“直接耦接到”另一元件时,元件可“直接连接到”另一元件或“直接耦接到”另一元件,或者在元件与另一元件之间介入有其他元件的情况下连接到或耦接到另一元件。相反,应当理解,当元件被称为“直接耦接”或“直接连接”到另一元件时,不存在中间元件。

另外,本发明的实施例中所示的构成部分被独立地示出,以表示彼此不同的特征功能。因此,这并不表示每个构成部分都以单独的硬件或软件的构成单元构成。换言之,为了方便,每个构成部分包括列举的构成部分中的每个。因此,每个构成部分的至少两个构成部分可被组合以形成一个构成部分,或者一个构成部分可被分区为多个构成部分以执行每种功能。如果没有脱离本发明的实质,则将每个构成部分被组合的实施例和一个构成部分被分区的实施例也包括在本发明的范围内。

本示出书中使用的术语仅用于描述特定实施例,而不旨在限制本发明。除非在上下文中具有明显不同的含义,否则以单数形式使用的表述包括复数形式的表述。在本示出书中,将理解,诸如“包括”、“具有”等的术语旨在指示存在示出书中公开的特征、编号、步骤、动作、元件、部件或其组合,而并不旨在排除可存在或可添加一个或更多个其他特征、编号、步骤、动作、元件、部件或其组合的可能性。换言之,当特定元素被称为“被包括”时,并不排除除了相应元素之外的元素,而是可在本发明的实施例或本发明的范围中包括附加的元素。

另外,某些构成部分可能不是执行本发明的基本功能的必不可少的构成部分,而是仅提高其性能的选择性构成部分。可通过仅包括用于实现本发明的本质的必不可少的构成部分而不包括用于提高性能的构成部分来实现本发明。仅包括必不可少的构成部分而不包括仅用于提高性能的选择性构成部分的结构也包括在本发明的范围内。

在下文中,将参照附图详细描述本发明的实施例。在描述本发明的示例性实施例时,将不详细描述公知的功能或构造,因为它们可能不必要地模糊对本发明的理解。附图中相同的构成元件由相同的附图标号表示,并且对相同元件的重复描述将被省略。

在下文中,图像可指构成视频的画面,或者可指视频本身。例如,“对图像进行编码或解码或者进行编码和解码两者”可指“对运动画面进行编码或解码或者进行编码和解码两者”,并且可指“对运动画面的图像中的一个图像进行编码或解码或者进行编码和解码两者”。

在下文中,术语“运动画面”和“视频”可用作相同的含义并且可彼此替换。

在下文中,目标图像可以是作为编码目标的编码目标图像和/或作为解码目标的解码目标图像。另外,目标图像可以是输入到编码设备的输入图像、以及输入到解码设备的输入图像。这里,目标图像可与当前画面具有相同的含义。

在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用作相同的含义并且可彼此替换。

在下文中,目标块可以是作为编码目标的编码目标块和/或作为解码目标的解码目标块。另外,目标块可以是作为当前编码和/或解码的目标的当前块。例如,术语“目标块”和“当前块”可被用作相同的含义并且可彼此替换。

在下文中,术语“块”和“单元”可被用作相同的含义并且可彼此替换。或者“块”可表示特定单元。

在下文中,术语“区域”和“片段”可彼此替换。

在下文中,特定信号可以是表示特定块的信号。例如,原始信号可以是表示目标块的信号。预测信号可以是表示预测块的信号。残差信号可以是表示残差块的信号。

在实施例中,特定信息、数据、标志、索引、元素和属性等中的每个可具有值。信息、数据、标志、索引、元素和属性的值等于“0”可表示逻辑假或第一预定义值。换言之,值“0”、假、逻辑假和第一预定义值可彼此替换。信息、数据、标志、索引、元素和属性的值等于“1”可表示逻辑真或第二预定义值。换言之,值“1”、真、逻辑真和第二预定义值可彼此替换。

当变量i或j用于表示列、行或索引时,i的值可以是等于或大于0的整数、或者是等于或大于1的整数。即,列、行、索引等可从0开始计数,或者可从1开始计数。

术语描述

编码器:表示执行编码的设备。即,表示编码设备。

解码器:表示执行解码的设备。即,表示解码设备。

块:是M×N的样点阵列。这里,M和N可表示正整数,并且块可表示二维形式的样点阵列。块可指单元。当前块可表示在编码时成为目标的编码目标块,或者在解码时成为目标的解码目标块。另外,当前块可以是编码块、预测块、残差块和变换块中的至少一个。

样点:是构成块的基本单元。根据比特深度(Bd),样点可被表示为从0到2Bd-1的值。在本发明中,样点可被用作像素的含义。即,样点、pel、像素可具有彼此相同的含义。

单元:可指编码和解码单元。当对图像进行编码和解码时,单元可以是通过对单个图像进行分区而产生的区域。另外,当在编码或解码期间将单个图像分区为子分区单元时,单元可表示子分区单元。即,图像可被分区为多个单元。当对图像进行编码和解码时,可以执行针对每个单元的预定处理。单个单元可被分区为尺寸小于该单元的尺寸的子单元。依据功能,单元可表示块、宏块、编码树单元、编码树块、编码单元、编码块、预测单元、预测块、残差单元、残差块、变换单元、变换块等。另外,为了将单元与块区分开,单元可包括亮度分量块、与亮度分量块相关联的色度分量块、以及每个颜色分量块的语法元素。单元可具有各种尺寸和形状,具体地,单元的形状可以是二维几何图形,诸如正方形、矩形、梯形、三角形、五边形等。另外,单元信息可包括指示编码单元、预测单元、变换单元等的单元类型以及单元尺寸、单元深度、单元的编码和解码的顺序等中的至少一个。

编码树单元:被配置有亮度分量Y的单个编码树块以及与色度分量Cb和Cr相关的两个编码树块。另外,编码树单元可表示包括块和每个块的语法元素。可通过使用四叉树分区方法、二叉树分区方法和三叉树分区方法中的至少一个对每个编码树单元进行分区,以配置诸如编码单元、预测单元、变换单元等的更低等级的单元。编码树单元可被用作用于指定在对作为输入图像的图像进行编码/解码时成为处理单元的样点块的术语。这里,四叉树可表示四叉树。

当编码块的尺寸在预定范围内时,可以仅使用四叉树分区进行分区。这里,预定范围可被定义为能够仅使用四叉树分区进行分区的编码块的最大尺寸和最小尺寸中的至少一个。可通过比特流用信号发送指示允许四叉树分区的编码块的最大/最小尺寸的信息,并且可在序列、画面参数、并行块组或条带(片段)中的至少一个单元中用信号发送所述信息。可选地,编码块的最大/最小尺寸可以是编码器/解码器中预定的固定尺寸。例如,当编码块的尺寸与256×256至64×64相应时,仅使用四叉树分区来进行分区是可能的。可选地,当编码块的尺寸大于最大转换块的尺寸时,仅使用四叉树分区来进行分区是可能的。这里,将被分区的块可以是编码块和变换块中的至少一个。在这种情况下,指示编码块的分区的信息(例如,split_flag)可以是指示是否执行四叉树分区的标志。当编码块的尺寸落在预定范围内时,仅使用二叉树或三叉树分区来进行分区是可能的。在这种情况下,四叉树分区的以上描述可以相同方式被应用于二叉树分区或三叉树分区。

编码树块:可用作用于指定Y编码树块、Cb编码树块和Cr编码树块中的任意一个的术语。

邻近块:可表示与当前块相邻的块。与当前块相邻的块可表示与当前块的边界接触的块、或者位于距当前块预定距离内的块。邻近块可表示与当前块的顶点相邻的块。这里,与当前块的顶点相邻的块可表示与水平相邻于当前块的邻近块垂直相邻的块、或者与垂直相邻于当前块的邻近块水平相邻的块。

重建邻近块:可表示与当前块相邻并且已经在空间/时间上被编码或解码的邻近块。这里,重建邻近块可表示重建邻近单元。重建空间邻近块可以是在当前画面内并且已经通过编码或解码或者编码和解码两者而被重建块。重建时间邻近块是在参考画面内的与当前画面的当前块相应的位置处的块或所述块的邻近块。

单元深度:可表示单元的分区程度。在树结构中,最高节点(根节点)可与未被分区的第一单元相应。另外,最高节点可具有最小深度值。在这种情况下,最高节点的深度可以为等级0。深度为等级1的节点可表示通过对第一单元进行首次分区而产生的单元。深度为等级2的节点可表示通过对第一单元进行两次分区而产生的单元。深度为等级n的节点可表示通过对第一单元进行n次分区而产生的单元。叶节点可以是最低节点并且是不能被进一步分区的节点。叶节点的深度可以是最大等级。例如,最大等级的预定义值可以是3。根节点的深度可以是最低的,并且叶节点的深度可以是最深的。另外,当单元被表示为树结构时,单元所存在于的等级可表示单元深度。

比特流:可表示包括编码图像信息的比特流。

参数集:与比特流内的配置之中的头信息相应。视频参数集、序列参数集、画面参数集和自适应参数集中的至少一个可被包括在参数集中。此外,参数集可包括条带(slice)头、并行块(tile)组头和并行块头信息。术语“并行块组”表示一组并行块并且具有与条带相同的含义。

自适应参数集是指可由不同画面、子画面、条带、并行块组、并行块或分块共享和参考的参数集。另外,画面中的子画面、条带、并行块组、并行块或分块可指代不同的自适应参数集以使用不同的自适应参数集中的信息。

关于自适应参数集,画面中的子画面、条带、并行块组、并行块或分块可通过使用相应自适应参数集的标识符来指代不同的自适应参数集。

关于自适应参数集,子画面中的条带、并行块组、并行块或分块可通过使用相应自适应参数集的标识符来指代不同的自适应参数集。

关于自适应参数集,条带中的并行块或分块可以通过使用相应自适应参数集的标识符来指代不同的自适应参数集。

关于自适应参数集,并行块中的分块可以通过使用相应自适应参数集的标识符来指代不同的自适应参数集。

子画面的参数集或头可以包括关于自适应参数集标识符的信息。因此,可以在子画面中使用与自适应参数集标识符相应的自适应参数集。

并行块的参数集或头可以包括自适应参数集标识符,使得可以在并行块中使用与自适应参数集标识符相应的自适应参数集。

分块的头可以包括关于自适应参数集标识符的信息,使得可以在分块中使用与自适应参数集标识符相应的自适应参数集。

画面可被分区为一个或更多个并行块行以及一个或更多个并行块列。

子画面可被分区为画面内的一个或更多个并行块行以及一个或更多个并行块列。子画面可以是画面内具有矩形/正方形形式的区域,并且可包括一个或更多个CTU。另外,至少一个或更多个并行块/分块/条带可被包括在一个子画面内。

并行块可以是画面内具有矩形/正方形形式的区域,并且可包括一个或更多个CTU。另外,并行块可以被分区为一个或更多个分块。

分块可以表示并行块内的一个或更多个CTU行。并行块可以被分区为一个或更多个块,并且每个块可以具有至少一个或更多个CTU行。不能被分区为两个或更多个分块的并行块可以表示分块。

条带可包括画面内的一个或更多个并行块,并且可包括并行块内的一个或更多个分块。

解析:可表示通过执行熵解码来确定语法元素的值,或者可表示熵解码本身。

符号:可表示编码/解码目标单元的语法元素、编码参数和变换系数值中的至少一个。此外,符号可表示熵编码目标或熵解码结果。

预测模式:可以是指示利用帧内预测而被编码/解码的模式或利用帧间预测而被编码/解码的模式的信息。

预测单元:可表示当执行预测(诸如帧间预测、帧内预测、帧间补偿、帧内补偿和运动补偿)时的基本单元。单个预测单元可被分区为具有更小尺寸的多个分区,或者可被分区为多个更低等级的预测单元。多个分区可以是在执行预测或补偿时的基本单元。通过分区预测单元而产生的分区也可以是预测单元。

预测单元分区:可表示通过对预测单元进行分区而获得的形状。

参考画面列表可指包括用于帧间预测或运动补偿的一个或更多个参考画面的列表。存在若干类型的可用的参考画面列表,包括LC(列表组合)、L0(列表0)、L1(列表1)、L2(列表2)、L3(列表3)。

帧间预测指示符可以指当前块的帧间预测的方向(单向预测、双向预测等)。可选地,帧间预测指示符可指用于产生当前块的预测块的参考画面的数量。可选地,帧间预测指示符可指在对当前块进行帧间预测或运动补偿时使用的预测块的数量。

预测列表利用标志指示是否使用特定参考画面列表中的至少一个参考画面来产生预测块。可使用预测列表利用标志来推导帧间预测指示符,并且相反地,可使用帧间预测指示符来推导预测列表利用标志。例如,当预测列表利用标志具有第一值零(0)时,它表示参考画面列表中的参考画面不被用于产生预测块。另一方面,当预测列表利用标志具有第二值一(1)时,它表示参考画面列表被用于产生预测块。

参考画面索引可指指示参考画面列表中的特定参考画面的索引。

参考画面可表示由特定块参考以用于特定块的帧间预测或运动补偿的目的的参考画面。可选地,参考画面可以是包括由当前块参考以用于帧间预测或运动补偿的参考块的画面。在下文中,术语“参考画面”和“参考画面”具有相同的含义并且可以互换。

运动矢量可以是用于帧间预测或运动补偿的二维矢量。运动矢量可表示编码/解码目标块与参考块之间的偏移。例如,(mvX,mvY)可表示运动矢量。这里,mvX可以表示水平分量,并且mvY可以表示垂直分量。

搜索范围可以是在帧间预测期间被搜索以检索运动矢量的二维区域。例如,搜索范围的尺寸可以是M×N。这里,M和N都是整数。

运动矢量候选可以指在对运动矢量进行预测时的预测候选块或预测候选块的运动矢量。另外,运动矢量候选可以被包括在运动矢量候选列表中。

运动矢量候选列表可表示由一个或更多个运动矢量候选组成的列表。

运动矢量候选索引可表示指示运动矢量候选列表中的运动矢量候选的指示符。可选地,它可以是运动矢量预测因子的索引。

运动信息可表示包括包括运动矢量、参考画面索引、帧间预测指示符、预测列表利用标志、参考画面列表信息、参考画面、运动矢量候选、运动矢量候选索引、合并候选和合并索引中的至少一项的信息。

合并候选列表可表示由一或更多个合并候选组成的列表。

合并候选可表示空间合并候选、时间合并候选、组合合并候选、组合双预测合并候选或零合并候选。合并候选可以包括诸如帧间预测指示符、每个列表的参考画面索引、运动矢量、预测列表利用标志和帧间预测指示符的运动信息。

合并索引可表示指示合并候选列表中的合并候选的指示符。可选地,合并索引可指示在空间上/时间上与当前块相邻的重建块中的块,其中,已从该块推导了合并候选。可选地,合并索引可指示合并候选的至少一条运动信息。

变换单元:可表示在对残差信号执行编码/解码(诸如变换、逆变换、量化、反量化、变换系数编码/解码)时的基本单元。单个变换单元可被分区为具有更小尺寸的多个更低等级的变换单元。这里,变换/逆变换可包括第一次变换/第一次逆变换和第二次变换/第二次逆变换中的至少一个。

缩放:可表示将量化的等级乘以因子的处理。可通过对量化的等级进行缩放来产生变换系数。缩放也可被称为反量化。

量化参数:可表示当在量化期间使用变换系数来产生量化的等级时使用的值。量化参数还可表示当在反量化期间通过对量化的等级进行缩放来产生变换系数时使用的值。量化参数可以是被映射在量化步长上的值。

增量量化参数:可表示预测的量化参数与编码/解码目标单元的量化参数之间的差值。

扫描:可表示对单元、块或矩阵内的系数进行排序的方法。例如,将系数的二维矩阵改成为一维矩阵可被称为扫描,将系数的一维矩阵改成为二维矩阵可被称为扫描或逆扫描。

变换系数:可表示在编码器中执行变换之后产生的系数值。变换系数可表示在解码器中执行熵解码和反量化中的至少一个之后产生的系数值。通过对变换系数或残差信号进行量化而获得的量化的等级或者量化的变换系数等级也可落入变换系数的含义内。

量化的等级:可表示在编码器中通过对变换系数或残差信号进行量化而产生的值。可选地,量化的等级可表示作为在解码器中经历反量化的反量化目标的值。相似地,作为变换和量化的结果的量化的变换系数等级也可落入量化的等级的含义内。

非零变换系数:可表示具有除零之外的值的变换系数、或者具有除零之外的值的变换系数等级或量化的等级。

量化矩阵:可表示在为了提高主观图像质量或客观图像质量而执行的量化处理或反量化处理中使用的矩阵。量化矩阵也可被称为缩放列表。

量化矩阵系数:可表示量化矩阵内的每个元素。量化矩阵系数也可被称为矩阵系数。

默认矩阵:可表示在编码器或解码器中预先定义的预定量化矩阵。

非默认矩阵:可表示在编码器或解码器中未被预先定义而是由用户用信号发送的量化矩阵。

统计值:针对具有可计算的特定值的变量、编码参数、常量值等之中的至少一个的统计值可以是相应特定值的平均值、求和值、加权平均值、加权和值、最小值、最大值、最频繁出现的值、中值、插值之中的一个或更多个。

图1是示出根据应用了本发明的实施例的编码设备的配置的框图。

编码设备100可以是编码器、视频编码设备或图像编码设备。视频可包括至少一个图像。编码设备100可顺序地对至少一个图像进行编码。

参照图1,编码设备100可包括运动预测单元111、运动补偿单元112、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190。

编码设备100可通过使用帧内模式或帧间模式或者帧内模式和帧间模式两者来执行输入图像的编码。此外,编码设备100可通过对输入图像进行编码来产生包括编码信息的比特流,并输出产生的比特流。产生的比特流可被存储在计算机可读记录介质中,或者可通过有线/无线传输介质被流传输。当帧内模式被用作预测模式时,切换器115可切换到帧内。可选地,当帧间模式被用作预测模式时,切换器115可切换到帧间模式。这里,帧内模式可表示帧内预测模式,帧间模式可表示帧间预测模式。编码设备100可产生针对输入图像的输入块的预测块。此外,编码设备100可在产生预测块之后使用输入块和预测块的残差对残差块进行编码。输入图像可被称为作为当前编码目标的当前画面。输入块可被称为作为当前编码目标的当前块,或者被称为编码目标块。

当预测模式是帧内模式时,帧内预测单元120可使用已被编码/解码并与当前块相邻的块的样点作为参考样点。帧内预测单元120可通过使用参考样点来对当前块执行空间预测,或者通过执行空间预测来产生输入块的预测样点。这里,帧内预测可表示帧内部的预测。

当预测模式是帧间模式时,运动预测单元111可在执行运动预测时从参考画面检索与输入块最匹配的区域,并且通过使用检索到的区域来推导运动矢量。在这种情况下,搜索区域可被用作所述区域。参考画面可被存储在参考画面缓冲器190中。这里,当执行对参考画面的编码/解码时,参考画面可被存储在参考画面缓冲器190中。

运动补偿单元112可通过使用运动矢量对当前块执行运动补偿来产生预测块。这里,帧间预测可表示帧之间的预测或运动补偿。

当运动矢量的值不是整数时,运动预测单元111和运动补偿单元112可通过将插值滤波器应用于参考画面的部分区域来产生预测块。为了对编码单元执行画面间预测或运动补偿,可确定跳过模式、合并模式、高级运动矢量预测(AMVP)模式和当前画面参考模式之中的哪个模式被用于对包括在相应编码单元中的预测单元的运动预测和运动补偿。然后,依据所确定的模式,可不同地执行画面间预测或运动补偿。

减法器125可通过使用输入块和预测块的差来产生残差块。残差块可被称为残差信号。残差信号可表示原始信号和预测信号之间的差。此外,残差信号可以是通过对原始信号与预测信号之间的差进行变换或量化或者变换和量化而产生的信号。残差块可以是块单元的残差信号。

变换单元130可通过对残差块执行变换来产生变换系数,并输出产生的变换系数。这里,变换系数可以是通过对残差块执行变换而产生的系数值。当变换跳过模式被应用时,变换单元130可跳过对残差块的变换。

可通过将量化应用于变换系数或应用于残差信号来产生量化的等级。在下文中,量化的等级在实施例中也可被称为变换系数。

量化单元140可通过根据参数对变换系数或残差信号进行量化来产生量化的等级,并输出产生的量化的等级。这里,量化单元140可通过使用量化矩阵对变换系数进行量化。

熵编码单元150可通过根据概率分布对由量化单元140计算出的值或者对在执行编码时计算出的编码参数值执行熵编码来产生比特流,并输出产生的比特流。熵编码单元150可对图像的样点信息和用于对图像进行解码的信息执行熵编码。例如,用于对图像进行解码的信息可包括语法元素。

当熵编码被应用时,符号被表示使得较少数量的比特被分配给具有高产生可能性的符号,并且较多数量的比特被分配给具有低产生可能性的符号,因此,可减小用于将被编码的符号的比特流的尺寸。熵编码单元150可使用诸如指数哥伦布、上下文自适应可变长度编码(CAVLC)、上下文自适应二叉算术编码(CABAC)等的用于熵编码的编码方法。例如,熵编码单元150可通过使用变长编码/码(VLC)表来执行熵编码。此外,熵编码单元150可推导目标符号的二值化方法和目标符号/二叉位的概率模型,并且通过使用推导的二值化方法和上下文模型来执行算术编码。

为了对变换系数等级(量化的等级)进行编码,熵编码单元150可通过使用变换系数扫描方法将二维块形式的系数改成为一维矢量形式。

编码参数可包括在编码器中被编码并且被用信号发送到解码器的诸如语法元素的信息(标志、索引等)以及在执行编码或解码时推导的信息。编码参数可表示在对图像进行编码或解码时所需要的信息。例如,以下项中的至少一个值或组合形式可被包括在编码参数中:单元/块尺寸、单元/块深度、单元/块分区信息、单元/块形状、单元/块分区结构、是否进行四叉树形式的分区、是否进行二叉树形式的分区、二叉树形式的分区方向(水平方向或垂直方向)、二叉树形式的分区形式(对称分区或非对称分区)、当前编码单元是否通过三叉树分区被分区、三叉树分区的方向(水平方向或垂直方向)、三叉树分区的类型(对称类型或非对称类型)、当前编码单元是否通过多类型树分区被分区、多类型树分区的方向(水平方向或垂直方向)、多类型树分区的类型(对称类型或非对称类型)、多类型树分区的树(二叉树或三叉树)结构、预测模式(帧内预测或帧间预测)、亮度帧内预测模式/方向、色度帧内预测模式/方向、帧内分区信息、帧间分区信息、编码块分区标志、预测块分区标志、变换块分区标志、参考样点滤波方法、参考样点滤波器抽头、参考样点滤波器系数、预测块滤波方法、预测块滤波器抽头、预测块滤波器系数、预测块边界滤波方法、预测块边界滤波器抽头、预测块边界滤波器系数、帧内预测模式、帧间预测模式、运动信息、运动矢量、运动矢量差、参考画面索引、帧间预测角度、帧间预测指示符、预测列表利用标志、参考画面列表、参考画面、运动矢量预测因子索引、运动矢量预测因子候选、运动矢量候选列表、是否使用合并模式、合并索引、合并候选、合并候选列表、是否使用跳过模式、插值滤波器类型、插值滤波器抽头、插值滤波器系数、运动矢量尺寸、运动矢量的表示精度、变换类型、变换尺寸、首次(第一次)变换是否被使用的信息、二次变换是否被使用的信息、首次变换索引、二次变换索引、残差信号是否存在的信息、编码块样式、编码块标志(CBF)、量化参数、量化参数残差、量化矩阵、是否应用帧内环路滤波器、帧内环路滤波器系数、帧内环路滤波器抽头、帧内环路滤波器形状/形式、是否应用去块滤波器、去块滤波器系数、去块滤波器抽头、去块滤波器强度、去块滤波器形状/形式、是否应用自适应样点偏移、自适应样点偏移值、自适应样点偏移类别、自适应样点偏移类型、是否应用自适应环路滤波器、自适应环路滤波器系数、自适应环路滤波器抽头、自适应环路滤波器形状/形式、二值化/逆二值化方法、上下文模型确定方法、上下文模型更新方法、是否执行常规模式、是否执行旁路模式、上下文二叉位、旁路二叉位、有效系数标志、最后有效系数标志、针对系数组的单元的编码标志、最后有效系数的位置、关于系数的值是否大于1的标志、关于系数的值是否大于2的标志、关于系数的值是否大于3的标志、关于其余系数值的信息、符号信息、重建亮度样点、重建色度样点、残差亮度样点、残差色度样点、亮度变换系数、色度变换系数、量化的亮度等级、量化的色度等级、变换系数等级扫描方法、在解码器侧的运动矢量搜索区域的尺寸、在解码器侧的运动矢量搜索区域的形状、在解码器侧的运动矢量搜索的次数、关于CTU尺寸的信息、关于最小块尺寸的信息、关于最大块尺寸的信息、关于最大块深度的信息、关于最小块深度的信息、图像显示/输出顺序、条带标识信息、条带类型、条带分区信息、并行块标识信息、并行块类型、并行块分区信息、并行块组标识信息、并行块组类型、并行块组分区信息、画面类型、输入样点的比特深度、重建样点的比特深度、残差样点的比特深度、变换系数的比特深度、量化的等级的比特深度、以及关于亮度信号的信息或关于色度信号的信息。

这里,用信号发送标志或索引可表示由编码器对相应标志或索引进行熵编码并将其包括在比特流中,并且可表示由解码器从比特流对相应标志或索引进行熵解码。

当编码设备100通过帧间预测执行编码时,编码的当前画面可被用作用于随后被处理的另一图像的参考画面。因此,编码设备100可对编码的当前画面进行重建或解码,或者将重建或解码的图像作为参考画面存储在参考画面缓冲器190中。

量化的等级可在反量化单元160中被反量化,或者可在逆变换单元170中被逆变换。可由加法器175将经过反量化或逆变换的系数或者经过反量化和逆变换两者的系数与预测块相加。通过将经过反量化或逆变换的系数或者经过反量化和逆变换两者的系数与预测块相加,可产生重建块。这里,经过反量化或逆变换的系数或经过反量化和逆变换两者的系数可表示执行了反量化和逆变换中的至少一个的系数,并且可表示重建残差块。

重建块可通过滤波器单元180。滤波器单元180可将去块滤波器、样点自适应偏移(SAO)和自适应环路滤波器(ALF)中的至少一个应用于重建样点、重建块或重建图像。滤波器单元180可被称为环内滤波器。

去块滤波器可去除在块之间的边界中产生的块失真。为了确定是否应用去块滤波器,可基于块中所包括的若干行或列中包括的样点来确定是否将去块滤波器应用于当前块。当将去块滤波器应用于块时,可根据所需的去块滤波强度来应用另一滤波器。

为了补偿编码误差,可通过使用样点自适应偏移将合适的偏移值与样点值相加。样点自适应偏移可以以样点为单位对经过去块的图像与原始图像的偏移进行校正。可使用考虑关于每个样点的边缘信息来应用偏移的方法,或者可使用以下方法:将图像的样点分区为预定数量的区域,确定偏移被应用的区域,并对确定的区域应用偏移。

自适应环路滤波器可基于经滤波的重建图像和原始图像的比较结果来执行滤波。可将包括在图像中的样点分区为预定组,可确定将被应用于每个组的滤波器,并且可对每个组执行差异化滤波。是否应用ALF的信息可通过编码单元(CU)被用信号发送,并且将被应用于每个块的ALF的形式和系数可变化。

已经通过滤波器单元180的重建块或重建图像可被存储在参考画面缓冲器190中。由滤波器单元180处理的重建块可以是参考画面的一部分。也就是说,参考画面是由滤波器单元180处理的重建块组成的重建图像。存储的参考画面可稍后在帧间预测或运动补偿中被使用。

图2是示出根据实施例并且应用了本发明的解码设备的配置的框图。

解码设备200可以是解码器、视频解码设备或图像解码设备。

参照图2,解码设备200可包括熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、运动补偿单元250、加法器255、滤波器单元260和参考画面缓冲器270。

解码设备200可接收从编码设备100输出的比特流。解码设备200可接收存储在计算机可读记录介质中的比特流,或者可接收通过有线/无线传输介质被流传输的比特流。解码设备200可通过使用帧内模式或帧间模式对比特流进行解码。此外,解码设备200可产生通过解码而产生的重建图像或解码图像,并输出重建图像或解码图像。

当在解码时使用的预测模式是帧内模式时,切换器可被切换到帧内。可选地,当在解码时使用的预测模式是帧间模式时,切换器可被切换到帧间模式。

解码设备200可通过对输入比特流进行解码来获得重建残差块,并产生预测块。当重建残差块和预测块被获得时,解码设备200可通过将重建残差块与预测块相加来产生为解码目标的重建块。解码目标块可被称为当前块。

熵解码单元210可通过根据概率分布对比特流进行熵解码来产生符号。产生的符号可包括量化的等级形式的符号。这里,熵解码方法可以是上述熵编码方法的逆过程。

为了对变换系数等级(量化的等级)进行解码,熵解码单元210可通过使用变换系数扫描方法将单向矢量形式的系数改变为二维块形式。

可在反量化单元220中对量化的等级进行反量化,或者可在逆变换单元230中对量化的等级进行逆变换。量化的等级可以是进行反量化或逆变换或者进行反量化和逆变换两者的结果,并且可被产生为重建残差块。这里,反量化单元220可将量化矩阵应用于量化的等级。

当使用帧内模式时,帧内预测单元240可通过对当前块执行空间预测来产生预测块,其中,空间预测使用与解码目标块相邻并且已经被解码的块的样点值。

当使用帧间模式时,运动补偿单元250可通过对当前块执行运动补偿来产生预测块,其中,运动补偿使用运动矢量以及存储在参考画面缓冲器270中的参考画面。

加法器225可通过将重建残差块与预测块相加来产生重建块。滤波器单元260可将去块滤波器、样点自适应偏移和自适应环路滤波器中的至少一个应用于重建块或重建图像。滤波器单元260可输出重建图像。重建块或重建图像可被存储在参考画面缓冲器270中并且在执行帧间预测时被使用。由滤波器单元260处理的重建块可以是参考画面的一部分。也就是说,参考画面是由滤波器单元260处理的重建块组成的重建图像。存储的参考画面可稍后在帧间预测或运动补偿中被使用。

图3是示意性地示出当对图像进行编码和解码时图像的分区结构的示图。图3示意性地示出将单个单元分区为多个更低等级的单元的示例。

为了有效地对图像进行分区,当进行编码和解码时,可使用编码单元(CU)。编码单元可被用作当对图像进行编码/解码时的基本单元。此外,编码单元可被用作用于在对图像进行编码/解码时区分帧内预测模式与帧间预测模式的单元。编码单元可以是用于预测、变换、量化、逆变换、反量化、或对变换系数的编码/解码处理的基本单元。

参照图3,图像300按照最大编码单元(LCU)被顺序地分区,并且LCU单元被确定为分区结构。这里,LCU可以以与编码树单元(CTU)相同的含义被使用。单元分区可表示对与该单元相关联的块进行分区。在块分区信息中,可包括单元深度的信息。深度信息可表示单元被分区的次数或程度或者单元被分区的次数和程度两者。可基于树结构将单个单元分区为与深度信息分层地相关联的多个更低等级的单元。换言之,单元和通过对该单元进行分区而产生的更低等级的单元可分别与节点和该节点的子节点相应。分区出的更低等级的单元中的每个可具有深度信息。深度信息可以是表示CU的尺寸的信息,并且可被存储在每个CU中。单元深度表示与对单元进行分区相关的次数和/或程度。因此,更低等级的单元的分区信息可包括关于更低等级的单元的尺寸的信息。

分区结构可表示LCU 310内的编码单元(CU)的分布。可根据是否将单个CU分区为多个(等于或大于2的包括2、4、8、16等的正整数)CU来确定这样的分布。通过分区产生的CU的水平尺寸和垂直尺寸可分别是分区之前的CU的水平尺寸和垂直尺寸的一半,或者可分别具有小于根据分区的次数而进行分区之前的水平尺寸和垂直尺寸的尺寸。CU可以被递归地分区为多个CU。通过递归分区,与分区之前的CU的高度和宽度之中的至少一个相比,分区之后的CU的高度和宽度之中的至少一个可减小。可递归地执行CU的分区,直到预定义的深度或预定义的尺寸为止。例如,LCU的深度可以是0,最小编码单元(SCU)的深度可以是预定义的最大深度。这里,如上所述,LCU可以是具有最大编码单元尺寸的编码单元,并且SCU可以是具有最小编码单元尺寸的编码单元。分区从LCU 310开始,当CU的水平尺寸或垂直尺寸或者水平尺寸和垂直尺寸两者通过分区而减小时,CU深度增加1。例如,对于每个深度,未被分区的CU的尺寸可以为2N×2N。此外,在被分区的CU的情况下,可将尺寸为2N×2N的CU分区为尺寸为N×N的四个CU。随着深度增加1,N的尺寸可减半。

另外,可通过使用CU的分区信息来表示CU是否被分区的信息。分区信息可以是1比特信息。除SCU之外的所有CU可包括分区信息。例如,当分区信息的值为第一值时,可不对CU进行分区,当分区信息的值为第二值时,可对CU进行分区。

例如,CTU可具有高度与宽度相同的尺寸(诸如64×64、128×128、256×256、512×512等)。这里,CTU的高度或宽度可以是2、4或8的倍数的正整数中的至少一个。另外,例如,CTU可具有高度与宽度彼此不同的尺寸(诸如128×64、64×128、256×64、64×256、512×64、64×512、256×128、128×256等)。类似地,这里,CTU的高度或宽度可以是2、4或8的倍数的正整数中的至少一个。

例如,CU可以是高度与宽度相同的尺寸(诸如4×4、8×8、16×16、32×32、64×64、128×128、256×256、512×512等)。这里,CU的高度或宽度可以是2、4或8的倍数的正整数中的至少一个。另外,例如,CU可具有高度与宽度彼此不同的尺寸,(诸如4×8、8×4、4×16、16×4、4×32、32×4、4×64、64×4、8×16、16×8、8×32、32×8、8×64、64×8、16×32、32×16、16×64、64×16、16×128、128×16、32×64、64×32、32×128、128×32、128×64、64×128、256×64、64×256、512×64、64×512、256×128、128×256等)。类似地,这里,CU的高度或宽度可以是2、4或8的倍数的正整数中的至少一个。

例如,SCU可以具有高度与宽度相同的尺寸(诸如2×2、4×4、8×8、16×16、32×32、64×64、64×64、128×128、256×256、512×512等)。这里,CTU的高度或宽度可以是2、4或8的倍数的正整数中的至少一个。另外,例如,CTU可具有高度与宽度彼此不同的尺寸(诸如2×4、4×2、2×8、8×2、2×16、16×2、2×32、32×2、4×8、8×4、4×16、16×4、4×32、32×4、4×64、64×4、8×16、16×8、8×32、32×8、8×64、64×8、16×32、32×16、16×64、64×16、16×128、128×16、32×64、64×32、32×128、128×32、128×64、64×128、256×64、64×256、512×64、64×512、256×128、128×256等)。类似地,这里,CTU的高度或宽度可以是2、4或8的倍数的正整数中的至少一个。

CTU、CU、SCU和子CU中的至少一个可具有以下至少一项的宽度与高度的比率或高度与宽度的比率:N:N、1.5×N:N、2×N:N、2.5×N:N、3×N:N、3.5×N:N、4×N:N、4.5×N:N、5×N:N、5.5×N:N、6×N:N、N:1.5×N、N:2×N、N:2.5×N、N:3×N、N:3.5×N、N:4×N、N:4.5×N、N:5×N、N:5.5×N和N:6×N。这里,N可以是2、4、6、8等的正整数。另外,这里,子CU可以表示通过在对CU进行编码/解码时对CU进行至少首次分区而获得的单元,而不是从块分区结构获得的单元。

参照图3,具有深度0的LCU可以是64×64的块。0可以是最小深度。具有深度3的SCU可以是8×8的块。3可以是最大深度。32×32的块和16×16的块的CU可分别被表示为深度1和深度2。

例如,当单个编码单元被分区为四个编码单元时,分区出的四个编码单元的水平尺寸和垂直尺寸可以是CU在被分区之前的水平尺寸和垂直尺寸的一半大小。在一个实施例中,当尺寸为32×32的编码单元被分区为四个编码单元时,分区出的四个编码单元中的每个可具有16×16的尺寸。当单个编码单元被分区为四个编码单元时,可称编码单元可被分区为四叉树形式。

例如,当一个编码单元被分区为两个子编码单元时,两个子编码单元中的每个子编码单元的水平尺寸或垂直尺寸(宽度或高度)可以是原始编码单元的水平尺寸或垂直尺寸的一半。例如,当具有32×32的尺寸的编码单元被垂直分区为两个子编码单元时,该两个子编码单元中的每个可具有16×32的尺寸。例如,当具有8×32的尺寸的编码单元被水平分区为两个子编码单元时,该两个子编码单元中的每个可具有8×16的尺寸。当一个编码单元被分区为两个子编码单元时,可称编码单元被二分区或者通过二叉树分区结构被分区。

例如,当一个编码单元(CU)被分区为两个子CU时,两个子CU可分别具有与CU的宽度或高度相比具有1/K:(K-1)/K或(K-1)/K:1/K的比率的宽度或高度。这里,K可以是2、3、4、5、6、7、8、16、32等的正整数。

在示例中,当将具有32×32的尺寸的CU垂直分区为具有1:3的比率的两个子CU时,所述两个子CU可分别具有8×32和24×32的尺寸。

在另一示例中,当将具有8×32的尺寸的CU水平分区为具有1:3的比率的两个子CU时,所述两个子CU可分别具有8×8和8×24的尺寸。

例如,当一个编码单元被分区为三个子编码单元时,可以以1:2:1的比例对编码单元的水平尺寸或垂直尺寸进行分区,从而产生水平尺寸或垂直尺寸的比例为1:2:1的三个子编码单元。例如,当尺寸为16×32的编码单元被水平分区为三个子编码单元时,该三个子编码单元以从最上方子编码单元到最下方子编码单元的顺序可分别具有16×8、16×16和16×8的尺寸。例如,当尺寸为32×32的编码单元被垂直分区为三个子编码单元时,该三个子编码单元以从左侧子编码单元到右侧子编码单元的顺序可分别具有8×32、16×32和8×32的尺寸。当一个编码单元被分区为三个子编码单元时,可称编码单元被三分区或者根据三叉树分区结构被分区。

例如,当将一个CU分区为三个子CU时,可通过根据K:L:M的比率(诸如1:2:1、2:1:1、1:1:2、1:4:1、4:1:1、1:1:4、1:3:2、2:3:1、1:6:1、6:1:1、1:1:6、1:5:2、2:5:1等)对CU的宽度或高度进行分区来获得所述三个子CU。

在示例中,当将具有16×32尺寸的CU水平分区为具有1:6:1的比率的三个子CU时,所述三个子CU可从上方分别具有16×4、16×24和16×4的尺寸。

在另一示例中,将具有32×32的尺寸的CU垂直分区为具有6:1:1的比率的三个子CU,所述三个子CU可从左侧分别具有24×32、4×32和4×32的尺寸。

例如,当CU的尺寸不是K、L和M的总和(即,K+L+M)的倍数时,可根据预设规则对CU进行分区。在示例中,当M具有K:L:M中的最大值时,可以将正整数n与M相加,使得CU的尺寸变为(K+1+M+n)的倍数。换言之,可根据K:L:(M+n)的比率对CU进行分区。

在图3中,编码树单元(CTU)320是四叉树分区结构、二叉树分区结构和三叉树分区结构全部应用于其的CTU的示例。

如上所述,为了对CTU进行分区,可应用四叉树分区结构、二叉树分区结构和三叉树分区结构中的至少一个。可根据预定的优先级顺序将各种树分区结构顺序地应用于CTU。例如,可将四叉树分区结构优先应用于CTU。不能再使用四叉树分区结构进行分区的编码单元可与四叉树的叶节点相应。与四叉树的叶节点相应的编码单元可用作二叉树和/或三叉树分区结构的根节点。也就是说,与四叉树的叶节点相应的编码单元可根据二叉树分区结构或三叉树分区结构被进一步分区,或者可不被进一步分区。因此,通过防止从与四叉树的叶节点相应的编码单元的二叉树分区或三叉树分区得到的编码块经历进一步的四叉树分区,块分区操作和/或用信号发送分区信息的操作可被有效执行。

例如,二叉树分区可优先被应用于CTU。无法被执行二叉树分区的CU还可与二叉树的叶节点相应。与二叉树的叶节点相应的CU可以变成四叉树和/或三叉树的根节点。换言之,可根据四叉树或三叉树对与二叉树的叶节点相应的CU进行分区,或者可不进一步对与二叉树的叶节点相应的CU进行分区。这里,不对通过对与二叉树的叶节点相应的CU执行四叉树分区或三叉树分区而产生的CU进一步执行二叉树分区,并且因此可有效地执行用信号发送块分区和/或分区信息。

例如,三叉树分区可优先应用于CTU。无法执行三叉树分区的CU还可与三叉树的叶节点相应。与三叉树的叶节点相应的CU可以变成四叉树和/或二叉树的根节点。换言之,可根据四叉树或二叉树对与三叉树的叶节点相应的CU进行分区,或可不进一步对与三叉树的叶节点相应的CU进行分区。这里,不对通过对与三叉树的叶节点相应的CU执行四叉树分区或二叉树分区而产生的CU进一步执行三叉树分区,并且因此可有效地执行用信号发送块分区和/或分区信息。

例如,对于CTU,可顺序地应用四叉树分区、三叉树分区、二叉树分区。

例如,对于CTU,可顺序地应用三叉树分区、二叉树分区、四叉树分区。

例如,对于CTU,在四叉树分区、二叉树分区和三叉树分区中,可执行根据对称比率对高度或宽度进行分区的分区,并且接着可执行根据非对称比率的分区。

例如,当对CTU执行二叉树分区时,分区优先级可根据将对称比率还是非对称比率被应用于高度或宽度而变化。

例如,当对CTU执行三叉树分区时,分区优先级可根据对称比率还是非对称比率被应用于高度或宽度,或者根据对称比率还是非对称比率被应用于三个子CTU中的至少两个子CTU而变化。

可使用四叉树分区信息用信号发送与四叉树的节点相应的编码单元被分区的事实。具有第一值(例如,“1”)的四叉树分区信息可指示当前编码单元按照四叉树分区结构被分区。具有第二值(例如,“0”)的四叉树分区信息可指示当前编码单元未按照四叉树分区结构被分区。四叉树分区信息可以是具有预定长度(例如,一个比特)的标志。

在二叉树分区与三叉树分区之间可能没有优先级。即,与四叉树的叶节点相应的编码单元可进一步经历二叉树分区和三叉树分区中的任意分区。另外,通过二叉树分区或三叉树分区产生的编码单元可经历进一步的二叉树分区或进一步的三叉树分区,或者可不被进一步分区。

在四叉树分区与三叉树分区之间可能不存在分区优先级。换言之,可对与二叉树的叶节点相应的CU执行四叉树分区或三叉树分区。另外,通过四叉树分区或三叉树分区产生的CU可基于四叉树或三叉树再次被分区,或可不进一步被分区。

在四叉树分区与二叉树分区之间可能不存在分区优先级。换言之,可对与三叉树的叶节点相应的CU执行四叉树分区或二叉树分区。另外,通过四叉树分区或二叉树分区产生的CU可基于四叉树或二叉树再次被分区,或可不进一步被分区。

在二叉树分区或三叉树分区的情况下,根据对称比率还是非对称比率被应用于高度或宽度,在分区树之间可能不存在分区优先级。

在二叉树分区和三叉树分区之间不存在优先级的树结构被称为多类型树结构。与四叉树的叶节点相应的编码单元可用作多类型树的根节点。可使用多类型树分区指示信息、分区方向信息和分区树信息中的至少一个来用信号发送是否对与多类型树的节点相应的编码单元进行分区。为了对与多类型树的节点相应的编码单元进行分区,可顺序地用信号发送多类型树分区指示信息、分区方向信息和分区树信息。

用信号发送的顺序可以是在编码器/解码器中预设的值,或者可以是从编码器用信号发送到解码器的值。

具有第一值(例如,“1”)的多类型树分区指示信息可指示当前编码单元将经历多类型树分区。具有第二值(例如,“0”)的多类型树分区指示信息可指示当前编码单元将不经历多类型树分区。

当与多类型树的节点相应的编码单元按照多类型树分区结构被进一步分区时,所述编码单元可包括分区方向信息。分区方向信息可指示当前编码单元将在哪个方向上针对多类型树分区被分区。具有第一值(例如,“1”)的分区方向信息可指示当前编码单元将被垂直分区。具有第二值(例如,“0”)的分区方向信息可指示当前编码单元将被水平分区。

当与多类型树的节点相应的编码单元按照多类型树分区结构被进一步分区时,当前编码单元可包括分区树信息。分区树信息可指示将被用于对多类型树的节点进行分区的树分区结构。具有第一值(例如,“1”)的分区树信息可指示当前编码单元将按照二叉树分区结构被分区。具有第二值(例如,“0”)的分区树信息可指示当前编码单元将按照三叉树分区结构被分区。

分区指示信息、分区树信息和分区方向信息均可以是具有预定长度(例如,一个比特)的标志。

可通过使用关于是否执行多类型树分区的信息、关于分区方向的信息、关于分区比率的信息和关于分区树的信息中的至少一个来用信号发送对与多类型树的每个节点相应的CU的分区。为了对与多类型树的每个节点相应的CU执行分区,可顺序地用信号发送关于是否执行分区的信息、关于分区方向的信息、关于分区比率的信息和关于分区树的信息。

另外,为了对与多类型树的每个节点相应的CU执行分区,可以顺序地用信号发送关于是否执行分区的信息、关于分区方向的信息、关于分区树的信息和关于分区比率的信息。

另外,为了对与多类型树的每个节点相应的CU执行分区,可以顺序地用信号发送关于是否执行分区的信息、关于分区比率的信息、关于分区方向的信息和关于分区树的信息。

当对与多类型树的每个节点相应的CU执行分区时,CU还可包括关于分区比率的信息。关于分区的信息可指示用于执行多类型树分区的比率。

在下文中,示出了分区比率指示关于在执行二叉树分区时的分区比率的信息的示例。

在示例中,关于具有第一值的分区比率的信息可指示根据1:1的比率基于二叉树对相应CU的宽度或高度进行分区。

在另一示例中,关于具有第二值的分区比率的信息可指示根据1:3的比率基于二叉树对相应CU的宽度或高度进行分区。

在另一示例中,关于具有第三值的分区比率的信息可指示根据1:7的比率基于二叉树对相应CU的宽度或高度进行分区。

在另一示例中,关于具有第四值的分区比率的信息可指示根据1:15的比率基于二叉树对相应CU的宽度或高度进行分区。

在下文中,示出了分区比率指示关于在执行二叉树分区时的分区比率的信息的示例。

在示例中,关于具有第一值的分区比率的信息可指示根据1:1的比率基于二叉树对相应CU的宽度或高度进行分区。

在另一示例中,关于具有第二值的分区比率的信息可指示根据3:1的比率基于二叉树对相应CU的宽度或高度进行分区。

在另一示例中,关于具有第三值的分区比率的信息可指示根据1:3的比率基于二叉树对相应CU的宽度或高度进行分区。

在下文中,示出了分区比率指示关于在执行三叉树分区时的分区比率的信息的示例。

在示例中,关于具有第一值的分区比率的信息可指示根据1:2:1的比率基于三叉树对相应CU的宽度或高度进行分区。

在另一示例中,关于具有第二值的分区比率的信息可指示根据1:4:1的比率基于三叉树对相应CU的宽度或高度进行分区。

在示例中,关于具有第三值的分区比率的信息可指示根据1:6:1的比率基于三叉树对相应CU的宽度或高度进行分区。

在另一示例中,关于具有第三值的分区比率的信息可指示根据1:8:1的比率基于三叉树对相应CU的宽度或高度进行分区。

在下文中,示出了分区比率指示关于在执行三叉树分区时的分区比率的信息的示例。

在示例中,关于具有第一值的分区比率的信息可指示根据1:2:1的比率基于三叉树对相应CU的宽度或高度进行分区。

在另一示例中,关于具有第二值的分区比率的信息可指示根据2:1:1的比率基于三叉树对相应CU的宽度或高度进行分区。

在示例中,关于具有第三值的分区比率的信息可指示根据1:1:2的比率基于三叉树对相应CU的宽度或高度进行分区。

在另一示例中,关于具有第四值的分区比率的信息可指示根据1:3的比率基于二叉树对相应CU的宽度或高度进行分区。换言之,可通过使用关于三叉树分区的分区比率的信息来指示关于二叉树分区的分区比率的信息。

关于分区比率的信息可以是具有预定长度(例如,1比特)的标志或索引,或者可以是具有可变长度的索引。

关于分区比率的信息的值和与分区比率的关系在每种情况下不限于以上示例。当关于分区的信息具有特定值时,其可以指示以n:m或n:m:r的分区比率执行二叉树分区或三叉树分区,并且可以可变地设置与每个值相关联的比率的关系。这里,n、m和r可以均为大于零的整数。

用于四叉树分区与三叉树分区之间的优先级不存在的情况的分区可被称作多类型树分区。换言之,与二叉树的叶节点相应的CU可变为多类型树的根节点。可通过使用关于是否执行多类型树分区的信息、关于分区方向的信息、关于分区比率的信息和关于分区树的信息中的至少一个来用信号发送对与多类型树的每个节点相应的CU的分区。

用于四叉树分区与二叉树分区之间的优先级不存在的情况的分区可被称作多类型树分区。换言之,与二叉树的叶节点相应的CU可变为多类型树的根节点。可通过使用关于是否执行多类型树分区的信息、关于分区方向的信息、关于分区比率的信息和关于分区树的信息中的至少一个来用信号发送对与多类型树的每个节点相应的CU的分区。

四叉树分区指示信息、多类型树分区指示信息、分区方向信息和分区树信息中的至少任意一个可被熵编码/熵解码。为了对那些类型的信息进行熵编码/熵解码,可使用关于与当前编码单元相邻的邻近编码单元的信息。例如,当前编码单元的左侧邻近编码单元和/或上方邻近编码单元的分区类型(被分区或不被分区、分区树、分区比率和/或分区方向)与当前编码单元的分区类型相似的可能性很高。因此,可从关于邻近编码单元的信息推导用于对关于当前编码单元的信息进行熵编码/熵解码的上下文信息。关于邻近编码单元的信息可包括四叉树分区信息、二叉树分区信息、三叉树分区信息、多类型树分区指示信息、分区方向信息、分区比率信息和分区树信息中的至少任意一个。

作为另一示例,在二叉树分区和三叉树分区中,可优先执行二叉树分区。即,当前编码单元可首先经历二叉树分区,并且随后可将与二叉树的叶节点相应的编码单元设置为用于三叉树分区的根节点。在这种情况下,对于与三叉树的节点相应的编码单元,可既不执行四叉树分区也不执行二叉树分区。

不能按照四叉树分区结构、二叉树分区结构和/或三叉树分区结构被分区的编码单元成为用于编码、预测和/或变换的基本单元。即,所述编码单元不能被进一步分区以用于预测和/或变换。因此,在比特流中可能不存在用于将编码单元分区为预测单元和/或变换单元的分区结构信息和分区信息。

在CU中,根据四叉树分区、二叉树分区和/或三叉树分区另外被分区M次的CU可以成为编码、预测和/或变换的单元。换言之,CU可另外被分区M次以用于预测和/或变换。这里,当对图像执行编码/解码时,可以以得到的单元的形式使用另外被分区M次的CU,并且可以不以块结构对结果单元进行分区。因此,用于另外执行将CU分区为预测单元和/或变换单元的分区结构、分区信息等可不存在于比特流中。这里,M可以是例如1或正整数。

例如,CU还可分别被分区M次和N次以便执行预测和/或变换。M和N可以是彼此不同的正整数。

然而,当编码单元(即,用于分区的基本单元)的尺寸大于最大变换块的尺寸时,可递归地对编码单元进行分区,直到将编码单元的尺寸减小到等于或小于最大变换块的尺寸为止。CU的尺寸和最大变换的尺寸中的至少一个可表示宽度、高度和面积中的至少一个。可选地,CU的尺寸和最大变换块的尺寸中的至少一个可表示指定CU或块的尺寸的深度信息。可选地,尺寸可以表示宽度与高度之间的比率。例如,当编码单元的尺寸为64×64时并且当最大变换块的尺寸为32×32时,可将编码单元分区为用于变换的四个32×32的块。例如,当编码单元的尺寸为32×64并且最大变换块的尺寸为32×32时,可将编码单元分区为用于变换的两个32×32的块。在这种情况下,不单独用信号发送编码单元的用于变换的分区,并且可通过编码单元的水平尺寸或垂直尺寸与最大变换块的水平尺寸或垂直尺寸之间的比较来确定编码单元的用于变换的分区。例如,当编码单元的水平尺寸(宽度)大于最大变换块的水平尺寸(宽度)时,可将编码单元垂直地二等分。例如,当编码单元的垂直尺寸(高度)大于最大变换块的垂直尺寸(高度)时,可将编码单元水平地二等分。

另外,当CU的尺寸大于最大变换块的尺寸时,可根据条带类型和分区信息中的至少一个将关于相应CU的编码块标志(CBF)确定为第一值。这里,第一值可表示0,其中,0指示变换系数或量化等级不存在于相应CU内。这里,条带类型可为P条带或B条带。这里,分区信息可表示0,其中,0是指示CU未被分区的第一值。

在示例中,在当前条带为B条带、CU的尺寸为128×128、最大变换块的尺寸为64×64、并且分区信息为0时,CU的编码块标志的值可被确定为0。

在另一示例中,在当前条带为I条带、CU的尺寸为128×128、最大变换块的尺寸为64×64、并且分区信息为0时,CU的编码块标志的值可被确定为0。

在另一示例中,在当前条带为P条带、CU的尺寸为64×128、最大变换块的尺寸为64×64、并且分区信息为0时,CU的编码块标志的值可被确定为0。

在另一示例中,在当前条带为P条带、CU的尺寸为64×32、最大变换块的尺寸为32×16、并且分区信息为0时,CU的编码块标志的值可被确定为0。

在另一示例中,在当前条带为B条带、CU的尺寸为128×128、最大变换块的尺寸为32×32、并且分区信息为0时,可另外对关于CU的尺寸/分区信息进行熵编码/解码。当关于CU的尺寸/分区信息为0(其中,0为第一值)时,CU的尺寸可被确定为128×128并且CU的编码块标志的值可被确定为0。另外,当关于CU的尺寸/分区信息为1(其中,1为第二值)时,基于四叉树将具有128×128尺寸的CU分区为64×64尺寸的四个CU,并且可将CU的编码块标志的值确定为0。换言之,当CU的宽度或高度比最大变换块的宽度或高度大四倍时,可另外对关于CU的尺寸/分区信息进行熵编码/解码,并且可确定编码块标志的值为0的CU的尺寸。

在另一示例中,在当前条带为B条带、CU的尺寸为128×64、最大变换块的尺寸为32×16、并且分区信息为0时,可另外对关于CU的尺寸/分区信息进行熵编码/解码。当关于CU的尺寸/分区信息为0(其中,0为第一值)时,CU的尺寸可被确定为128×64并且CU的编码块标志的值可被确定为0。另外,当关于CU的尺寸/分区信息为1(其中,1为第二值)时,基于四叉树将具有128×64的尺寸的CU分区为64×32尺寸的四个CU,并且可将CU的编码块标志的值确定为0。

另外,当CU的尺寸大于最大变换块的尺寸时,相应CU的模式可根据条带类型被确定为跳过模式或者被确定为AMVP模式,其中,在AMVP模式中,编码块标志具有第一值并且用信号发送表示运动矢量的差值。这里,条带类型可以是P条带或B条带。

在示例中,在当前条带为B条带、CU的尺寸为128×128、最大变换块的尺寸为64×64、并且分区信息为0时,CU的模式可被确定为跳过模式。

在另一示例中,在当前条带为P条带、CU的尺寸为64×128、最大变换块的尺寸为64×64,并且分区信息为0时,CU的模式可被确定为AMVP模式,其中,在AMVP模式中,编码块标志的值为0。

在另一示例中,在当前条带为B条带、CU的尺寸为128×128、最大变换块的尺寸为32×32、并且分区信息为0时,可另外对关于CU的尺寸/分区信息进行熵编码/解码。当关于CU的尺寸/分区信息为0(其中,0为第一值)时,CU的尺寸可被确定为128×128并且CU的模式可被确定为跳过模式。另外,当关于CU的尺寸/分区信息为1(其中,1为第二值)时,基于四叉树将具有128×128尺寸的CU分区为64×64尺寸的四个CU,并且可将CU的模式确定为跳过模式。

在另一示例中,在当前条带为P条带、CU的尺寸为128×64、最大变换块的尺寸为32×16、并且分区信息为0时,可另外对关于CU的尺寸/分区信息进行熵编码/解码。当关于CU的尺寸/分区信息为0(其中,0为第一值)时,CU的尺寸可被确定为128×64并且CU的模式可被确定为AMVP模式,其中,在AMVP模式中,编码块标志的值为0。另外,当关于CU的尺寸/分区信息为1(其中,1为第二值)时,基于四叉树将具有128×64的尺寸的CU分区为64×32尺寸的四个CU,并且可将CU的模式确定为AMVP模式,其中,在AMVP模式中,编码块标志的值为0。

在以上示例中,CU的尺寸和最大变换块的尺寸中的至少一个可表示宽度、高度和面积中的至少一个。

CU的尺寸和最大变换块的尺寸中的至少一个可以是编码器/解码器中预设的值,或可以是从编码器用信号发送到解码器的值。

另外,当CU的深度为0并且分区信息为0时,可将相应CU的编码块标志(CBF)的值确定为第一值。

另外,当CU的深度为0并且分区信息为0时,可将相应CU的模式确定为跳过模式或AMVP模式,其中,编码块标志具有第一值并且用信号发送运动矢量的差值。

在以上示例中,编码块标志可包括亮度信号的编码块标志和色度信号的编码块标志中的至少一个。

编码单元的最大和/或最小尺寸的信息以及变换块的最大和/或最小尺寸的信息可以在编码单元的更高等级被用信号发送或确定。更高等级可以是例如序列级、子画面级、画面级、并行块级、并行块组级、条带级、分块级等。例如,编码单元的最小尺寸可以被确定为4×4。例如,变换块的最大尺寸可以被确定为64×64。例如,变换块的最小尺寸可以被确定为4×4。这里,关于CU的最小和/或最大尺寸的信息以及关于变换块的最小和/或最大尺寸的信息可针对每个条带内和每个条带间被用信号发送,或可被确定为从编码器用信号发送到解码器的值,而不管条带类型如何。

关于CU的最小和/或最大尺寸的信息可针对当前块的分区类型被用信号发送。例如,在当前CU的分区类型为四叉树、二叉树和三叉树中的一个时,可用信号发送关于相应类型的CU可能具有的最小和/或最大尺寸的信息。

另外,关于特定分区类型的CU的最小和/或最大尺寸的信息可根据关于一般CU的最小和/或最大尺寸的信息被用信号发送。

另外,关于特定类型的CU的最小和/或最大尺寸的信息可根据关于特定分区类型的CU的最小和/或最大尺寸的信息被用信号发送。

另外,关于特定分区类型的CU的最小和/或最大尺寸的信息可以以对数值的形式被用信号发送。在示例中,这里,对数的指数可以是2。

另外,关于每个分区类型的CU的最小和/或最大尺寸的信息可基于亮度信号或色度信号被用信号发送。在下文中,由Y或亮度表示的值和由C或色度表示的信息可以分别表示关于亮度单位和色度单位的信息。

在示例中,四叉树分区之后的CU的最小尺寸与一般CU的最小尺寸之间的差可被用信号发送。例如,可以通过slice_log2_diff_min_qt_min_cb_luma或slice_log2_diff_min_qt_min_cb_chroma来用信号发送四叉树分区之后的CU的最小尺寸与一般CU的最小尺寸之间的差。解码器可以通过使用slice_log2_diff_min_qt_min_cb_luma或slice_log2_diff_min_qt_min_cb_chroma)以及一般CU的最小尺寸(MinCbLog2SizeY)来推导在四叉树分区之后的CU的最小尺寸(MinQtSizeY或MinQtSizeC。在下文中,当四叉树分区之后的CU具有最小尺寸时,其可与四叉树分区之后的CU与四叉树分区的叶节点相应的情况相应。

在另一示例中,可用信号发送在二叉树分区之后的CU的最大尺寸与在四叉树分区之后的CU的最小尺寸之间的差。例如,可以通过slice_log2_diff_max_bt_min_qt_luma或slice_log2_diff_max_bt_min_qt_chroma用信号发送在二叉树分区之后的CU的最大尺寸与在四叉树分区之后的CU的最小尺寸之间的差。解码器可通过使用slice_log2_diff_max_bt_min_qt_luma或slice_log2_diff_max_bt_min_qt_chromal以及在四叉树分区之后CU的最小尺寸(MinQtLog2SizeY或MinQtLog2SizeC)来推导在二叉树分区之后CU的最大尺寸(MaxBtSizeY或MaxBtSizeC)。另外,解码器可通过使用一般CU的最小尺寸(MinCbLog2SizeY)推导在二叉树分区之后的CU的最小尺寸(MinBtSizeY或MinBtSizeC)。

在另一示例中,可用信号发送在三叉树分区之后的CU的最大尺寸与在四叉树分区之后的CU的最小尺寸之间的差。例如,可以通过slice_log2_diff_max_tt_min_qt_luma或slice_log2_diff_max_tt_min_qt_chroma来用信号发送在三叉树分区之后的CU的最大尺寸与在四叉树分区之后的CU的最小尺寸之间的差。解码器可以通过使用slice_log2_diff_max_tt_min_qt_luma或slice_log2_diff_max_tt_min_qt_chroma以及在四叉树分区之后的CU的最小尺寸(MinQtLog2SizeY或MinQtLog2SizeC)来推导在三叉树分区之后的CU的最大尺寸(MaxTtSizeY或MaxTtSizeC)。另外,解码器可在三叉树分区之后通过使用一般CU的最小尺寸(MinCbLog2SizeY)来推导CU的最小尺寸(MinTtSizeY或MinTtSizeC)。

与四叉树的叶节点相应的编码单元的最小尺寸(四叉树最小尺寸)的信息和/或从多类型树的根节点到叶节点的最大深度(多类型树的最大树深度)的信息可在编码单元的更高等级被用信号发送或确定。例如,更高等级可以是序列级、画面级、子画面级、条带级、并行块组级、并行块级、分块级等。四叉树的最小尺寸的信息和/或多类型树的最大深度的信息可针对画面内条带和画面间条带中的每个被用信号发送,或者可被确定为从编码器用信号发送到解码器的值而不管条带类型如何。这里,可通过将关于多类型树的最大深度的信息分区成关于二叉树的最大深度的信息和关于三叉树的最大深度的信息来在CU的父级中用信号发送或确定关于多类型树的最大深度的信息。

可根据关于一般CU的最小尺寸和/或最大尺寸的信息用信号发送关于多类型树的最大深度的信息。

另外,可以以对数值的形式用信号发送关于多类型树的最大深度的信息。在示例中,这里,对数的指数可以是2。

另外,可基于亮度或色度信号用信号发送关于多类型树的最大深度的信息。在下文中,由Y或亮度表示的值和由C或色度表示的信息可以分别表示关于亮度单位和色度单位的信息。

例如,可用信号发送关于多类型树的最大深度的信息。例如,可通过slice_max_mtt_hierarchy_depth_luma或slice_max_mtt_hierarchy_depth_chroma用信号发送关于多类型树的最大深度的信息。在示例中,slice_max_mtt_hierarchy_depth_luma或slice_max_mtt_hierarchy_depth_chroma可以具有从0到CtbLog2SizeY-MinCbLog2SizeY的值。解码器可通过使用slice_max_mtt_hierarchy_depth_luma或slice_max_mtt_hierarchy_depth_chroma来推导多类型树的最大深度(MaxMttDepthY或MaxMttDepthC)。

可在编码单元的更高等级用信号发送或确定CTU的尺寸与变换块的最大尺寸之间的差信息。例如,所述更高等级可以是序列级、画面级、子画面级、条带级、并行块组级、并行块级、分块级等。可基于编码树单元的尺寸和所述差信息来确定与二叉树的各个节点相应的编码单元的最大尺寸(在下文中,称为二叉树的最大尺寸)的信息。与三叉树的各个节点相应的编码单元的最大尺寸(在下文中,称为三叉树的最大尺寸)可依据条带的类型而变化。例如,针对画面内条带,三叉树的最大尺寸可以是32×32。例如,针对画面间条带,三叉树的最大尺寸可以是128×128。类似地,与二叉树的每个节点相应的CU的最大尺寸(二叉树的最大尺寸)可根据条带类型具有不同值。例如,在条带内的情况下,二叉树的最大尺寸可以是32×32。另外,例如,在条带间的情况下,二叉树的最大尺寸可以是128×128。可基于编码树单元的尺寸和上述差信息来确定关于与三叉树的每个节点相应的CU的最大尺寸(三叉树的最大尺寸)的信息。例如,与二叉树的各个节点相应的编码单元的最小尺寸(在下文中,称为二叉树的最小尺寸)和/或与三叉树的各个节点相应的编码单元的最小尺寸(在下文中,称为三叉树的最小尺寸)可被设置为编码块的最小尺寸。

作为另一示例,可在条带级用信号发送或确定二叉树的最大尺寸和/或三叉树的最大尺寸。可选地,可在条带级用信号发送或确定二叉树的最小尺寸和/或三叉树的最小尺寸。

在另一示例中,可在序列级、画面级、子画面级、条带级、并行块组级、并行块级、分块级等中用信号发送或确定二叉树的最大尺寸和/或三叉树的最大尺寸。另外,可在序列级、画面级、子画面级、条带级、并行块组级、并行块级、块级等中用信号发送或确定二叉树的最小尺寸和/或三叉树的最小尺寸。

在另一示例中,可在序列级、画面级、子画面级、条带级、并行块组级、并行块级、分块级等中用信号发送或确定二叉树的最大深度和/或三叉树的最大深度。另外,可在序列级、画面级、子画面级、条带级、并行块组级、并行块级、分块级等中用信号发送或确定二叉树的最小深度和/或三叉树的最小深度。

依据上述各种块的尺寸和深度信息,四叉树分区信息、多类型树分区指示信息、分区树信息、分区比率等级和/或分区方向信息可被包括或可不被包括在比特流中。

例如,当编码单元的尺寸不大于四叉树的最小尺寸时,编码单元不包括四叉树分区信息。因此,可从第二值推导四叉树分区信息。

例如,当与多类型树的节点相应的编码单元的尺寸(水平尺寸和垂直尺寸)大于二叉树的最大尺寸(水平尺寸和垂直尺寸)和/或三叉树的最大尺寸(水平尺寸和垂直尺寸)时,编码单元可不被二叉树分区或三叉树分区。因此,可不用信号发送多类型树分区指示信息,但可从第二值推断多类型树分区指示信息。

可选地,当与多类型树的节点相应的编码单元的尺寸(水平尺寸和垂直尺寸)与二叉树的最大尺寸(水平尺寸和垂直尺寸)相同和/或是三叉树的最大尺寸(水平尺寸和垂直尺寸)的两倍大时,编码单元可不被进一步二叉树分区或三叉树分区。因此,可不用信号发送多类型树分区指示信息,而是可从第二值推导多类型树分区指示信息。这是因为当通过二叉树分区结构和/或三叉树分区结构分区编码单元时,产生小于二叉树的最小尺寸和/或三叉树的最小尺寸的编码单元。

可选地,可以基于虚拟流水线数据单元的尺寸(在下文中,流水线缓冲器尺寸)来限制二叉树分区或三叉树分区。例如,当通过二叉树分区或三叉树分区将编码单元分区为不适合流水线缓冲器尺寸的子编码单元时,相应的二叉树分区或三叉树分区可能受到限制。流水线缓冲器尺寸可以是最大变换块的尺寸(例如,64×64)。例如,当流水线缓冲器尺寸是64×64时,可以限制下面的分区。

-用于编码单元的N×M(N和/或M是128)三叉树分区

-用于编码单元的水平方向的128×N(N<=64)二叉树分区

-用于编码单元的垂直方向的N×128(N<=64)二叉树分区

可选地,当与多类型树的节点相应的编码单元的深度等于多类型树的最大深度时,编码单元可不被进一步二叉树分区和/或三叉树分区。因此,可不用信号发送多类型树分区指示信息,但可从第二值推断多类型树分区指示信息。

可选地,仅当垂直方向二叉树分区、水平方向二叉树分区、垂直方向三叉树分区和水平方向三叉树分区中的至少一个对于与多类型树的节点相应的编码单元是可能的时,可用信号发送多类型树分区指示信息。否则,编码单元可以不被二叉树分区和/或三叉树分区。因此,可不用信号发送多类型树分区指示信息,但可从第二值推导多类型树分区指示信息。

可选地,仅当垂直方向二叉树分区和水平方向二叉树分区两者或垂直方向三叉树分区和水平方向三叉树分区两者对于与多类型树的节点相应的编码单元是可能的时,才可用信号发送分区方向信息。否则,可不用信号发送分区方向信息,但是可从指示可能的分区方向的值推导分区方向信息。

可选地,仅当垂直方向二叉树分区和垂直方向三叉树分区两者或水平方向二叉树分区和水平方向三叉树分区两者对于与多类型树的节点相应的编码树是可能的时,才可用信号发送分区树信息。否则,可以不用信号发送分区树信息,而是从指示可能的分区树结构的值推导分区树信息。

当单元或块的宽度和高度中的至少一个不是2的n次幂(2N)时,可以以不存在残差信号的形式对相应的块进行编码/解码。

在示例中,单元或块的编码块标志(CBF)可以不被熵编码/解码,或者可以被估计(推断)为0。

在另一示例中,用于单元或块的编码模式的跳过模式标志可不被熵编码/解码,并且被估计为跳过模式。

因此,对于宽度和高度中的至少一个不是2的n次幂(2N)的块,可以不执行变换/逆变换。换言之,不具有2的n次幂形式的变换矩阵和逆变换矩阵中的至少一个可能不是必需的。

图4是示出帧内预测处理的示图。

图4中从中心到外部的箭头可表示帧内预测模式的预测方向。

可通过使用当前块的邻近块的参考样点来执行帧内编码和/或解码。邻近块可以是重建邻近块。例如,可通过使用包括在重建邻近块中的参考样点的编码参数或值来执行帧内编码和/或解码。

预测块可表示通过执行帧内预测而产生的块。预测块可与CU、PU和TU中的至少一个相应。预测块的单元可具有CU、PU和TU中的一个的尺寸。预测块可以是尺寸为2×2、4×4、16×16、32×32或64×64等的正方形块,或者可以是尺寸为2×8、4×8、2×16、4×16和8×16等的矩形块。

可根据针对当前块的帧内预测模式来执行帧内预测。当前块可具有的帧内预测模式的数量可以是固定值,并且可以是根据预测块的属性不同地确定的值。例如,预测块的属性可包括预测块的尺寸和预测块的形状等。

不管块尺寸为多少,可将帧内预测模式的数量固定为N。或者,帧内预测模式的数量可以是3、5、9、17、34、35、36、65或67等。可选地,帧内预测模式的数量可根据块尺寸或颜色分量类型或者块尺寸和颜色分量类型两者而变化。例如,帧内预测模式的数量可根据颜色分量是亮度信号还是色度信号而变化。例如,随着块尺寸变大,帧内预测模式的数量可增加。可选地,亮度分量块的帧内预测模式的数量可大于色度分量块的帧内预测模式的数量。

帧内预测模式可以是非角度模式或角度模式。非角度模式可以是DC模式或平面模式,并且角度模式可以是具有特定方向或角度的预测模式。帧内预测模式可由模式编号、模式值、模式编号、模式角度和模式方向中的至少一个来表示。帧内预测模式的数量可以是大于1的M,包括非角度模式和角度模式。为了对当前块进行帧内预测,可执行确定是否可将包括在重建邻近块中的样点用作当前块的参考样点的步骤。当存在不能用作当前块的参考样点的样点时,通过对包括在重建邻近块中的样点中的至少一个样点值进行复制或执行插值或者执行复制和插值两者而获得的值可被用于替换样点的不可用样点值,因此替换后的样点值被用作当前块的参考样点。

图7是示出能够用于帧内预测的参考样点的示图。

如图7所示,参考样点线0至参考样点线3中的至少一个可以用于当前块的帧内预测。在图7中,片段A和片段F的样点可以分别利用最接近片段B和片段E的样点被填充,而不是从重建邻近块进行检索。可以用信号发送指示将被用于当前块的帧内预测的参考样点线的索引信息。在当前块的上方边界是CTU的边界时,仅参考样点线0可以是可用的。因此,在这种情况下,可以不用信号发送索引信息。当使用除了参考样点线0之外的参考样点线时,可以不执行稍后将描述的针对预测块的滤波。

当进行帧内预测时,可基于帧内预测模式和当前块尺寸/形状将滤波器应用于参考样点和预测样点中的至少一个。

在平面模式的情况下,当产生当前块的预测块时,根据预测目标样点在预测块内的位置,可通过使用当前样点的上方参考样点与左侧参考样点以及当前块的右上方参考样点与左下方参考样点的加权和来产生预测目标样点的样点值。另外,在DC模式的情况下,当产生当前块的预测块时,可使用当前块的上方参考样点与左侧参考样点的平均值。另外,在角度模式的情况下,可通过使用当前块的上方参考样点、左侧参考样点、右上方参考样点和/或左下方参考样点来产生预测块。为了产生预测样点值,可执行实数单元的插值。

在颜色分量之间的帧内预测的情况下,可以基于第一颜色分量的相应重建块来产生第二颜色分量的当前块的预测块。例如,第一颜色分量可以是亮度分量,并且第二颜色分量可以是色度分量。对于颜色分量之间的帧内预测,可基于模板推导第一颜色分量与第二颜色分量之间的线性模型的参数。模板可包括当前块的上方和/或左侧邻近样点以及与其相应的第一颜色分量的重建块的上方和/或左侧邻近样点。例如,可使用模板中的样点中具有最大值的第一颜色分量的样点值及与其相应的第二颜色分量的样点值,以及模板中的样点中具有最小值的第一颜色分量的样点值及与其相应的第二颜色分量的样点值推导线性模型的参数。当推导线性模型的参数时,可将相应重建块应用于线性模型以产生当前块的预测块。根据视频格式,可对第一颜色分量的重建块和相应重建块的邻近样点执行二次采样。例如,当第二颜色分量的一个样点与第一颜色分量的四个样点相应时,可对第一颜色分量的四个样点进行二次采样以计算一个相应样点。在这种情况下,可基于相应二次采样的样点执行线性模型的参数推导和颜色分量之间的帧内预测。是否执行颜色分量之间的帧内预测和/或模板的范围可作为帧内预测模式被用信号发送。

当前块可在水平方向或垂直方向上被分区为两个子块或四个子块。可顺序地重建分区的子块。也就是说,可以对子块执行帧内预测以产生子预测块。另外,可以对子块执行反量化和/或逆变换以产生子残差块。可通过将子预测块添加到子残差块来产生重建子块。重建子块可以用作子块的帧内预测的参考样点。子块可以是包括预定数量(例如,16)或更多个样点的块。因此,例如,在当前块是8×4块或4×8块时,当前块可被分区为两个子块。此外,在当前块是4×4块时,当前块可不被分区为子块。在当前块具有其它尺寸时,当前块可被分区为四个子块。可以用信号发送关于是否基于子块和/或分区方向(水平或垂直)执行帧内预测的信息。可以限于仅在使用参考样点线0时执行基于子块的帧内预测。当执行基于子块的帧内预测时,可以不执行稍后将描述的针对预测块的滤波。

可以通过对被帧内预测的预测块执行滤波来产生最终预测块。可以通过将预定权重应用于滤波目标样点、左侧参考样点、上方参考样点和/或左上方参考样点来执行滤波。可以基于块尺寸、帧内预测模式和预测块中的滤波目标样点的位置中的至少一个来确定用于滤波的权重和/或参考样点(范围、位置等)。可以仅在预定帧内预测模式(例如,DC、平面、垂直、水平、对角线和/或相邻对角线模式)的情况下执行滤波。相邻对角线模式可以是给对角线模式加上k或从对角线模式减去k的模式。例如,k可以是8或更小的正整数。

可通过预测与当前块相邻存在的块的帧内预测模式来对当前块的帧内预测模式进行熵编码/熵解码。在当前块与邻近块的帧内预测模式相同时,可通过使用预定标志信息来用信号发送当前块与邻近块的帧内预测模式相同的信息。另外,可用信号发送多个邻近块的帧内预测模式之中的与当前块的帧内预测模式相同的帧内预测模式的指示符信息。在当前块与邻近块的帧内预测模式不同时,可通过基于邻近块的帧内预测模式执行熵编码/熵解码来对当前块的帧内预测模式信息进行熵编码/熵解码。

图5是示出画面间预测处理的实施例的示图。

在图5中,矩形可以表示画面。在图5中,箭头表示预测方向。根据画面的编码类型,可将画面分类为帧内画面(I画面)、预测画面(P画面)和双预测画面(B画面)。

可在不需要画面间预测的情况下通过帧内预测对I画面进行编码。可通过使用在相对于当前块的一个方向(即,前向或后向)上存在的参考画面,通过画面间预测来对P画面进行编码。可通过使用在相对于当前块的两个方向(即,前向和后向)上存在的参考画面,通过画面间预测来对B画面进行编码。当使用画面间预测时,编码器可执行画面间预测或运动补偿,并且解码器可执行相应运动补偿。

在下文中,将详细描述画面间预测的实施例。

可使用参考画面和运动信息来执行画面间预测或运动补偿。

可通过编码设备100和解码设备200中的每个在画面间预测期间推导当前块的运动信息。可通过使用重建的邻近块的运动信息、同位块(也称为col块或同位置块)的运动信息和/或与同位块相邻的块的运动信息来推导当前块的运动信息。同位块可表示先前重建的同位画面(也称为col画面或同位置画面)内的在空间上与当前块位于相同位置的块。同位画面可以是包括在参考画面列表中的一个或更多个参考画面中的一个画面。

运动信息的推导方法可依据当前块的预测模式而不同。例如,应用于帧间预测的预测模式包括AMVP模式、合并模式、跳过模式、具有运动矢量差的合并模式、子块合并模式、三角形分区模式、帧间-帧内组合预测模式、仿射模式等。这里,合并模式可以被称为运动合并模式。

例如,当AMVP被用作预测模式时,可将重建的邻近块的运动矢量、同位块的运动矢量、与同位块相邻的块的运动矢量和(0,0)运动矢量中的至少一个确定为针对当前块的运动矢量候选,并且通过使用运动矢量候选产生运动矢量候选列表。可通过使用产生的运动矢量候选列表来推导当前块的运动矢量候选。可基于推导的运动矢量候选来确定当前块的运动信息。同位块的运动矢量或与同位块相邻的块的运动矢量可被称为时间运动矢量候选,并且重建的邻近块的运动矢量可被称为空间运动矢量候选。

编码设备100可计算当前块的运动矢量与运动矢量候选之间的运动矢量差(MVD),并且可对运动矢量差(MVD)执行熵编码。另外,编码设备100可对运动矢量候选索引执行熵编码并产生比特流。运动矢量候选索引可指示包括在运动矢量候选列表中的运动矢量候选之中的最佳运动矢量候选。解码设备可对包括在比特流中的运动矢量候选索引执行熵解码,并且可通过使用经过熵解码的运动矢量候选索引从包括在运动矢量候选列表中的运动矢量候选中选择解码目标块的运动矢量候选。另外,解码设备200可将经过熵解码的MVD与通过熵解码而提取的运动矢量候选相加,从而推导解码目标块的运动矢量。

另外,编码设备100可对计算出的MVD的分辨率信息执行熵编码。解码设备200可使用MVD分辨率信息来调整被熵解码的MVD的分辨率。

另外,编码设备100基于仿射模型计算当前块中的运动矢量和运动矢量候选之间的运动矢量差(MVD),并对MVD执行熵编码。解码设备200通过被熵解码的MVD和仿射控制运动矢量候选的总和推导解码的目标块的仿射控制运动矢量来基于每个子块推导运动矢量。

比特流可包括指示参考画面的参考画面索引。参考画面索引可通过编码设备100被熵编码,并且随后作为比特流被用信号发送到解码设备200。解码设备200可基于推导的运动矢量和参考画面索引信息来产生解码目标块的预测块。

推导当前块的运动信息的方法的另一示例可以是合并模式。合并模式可表示合并多个块的运动的方法。合并模式可表示从邻近块的运动信息推导当前块的运动信息的模式。当应用合并模式时,可使用重建的邻近块的运动信息和/或同位块的运动信息来产生合并候选列表。运动信息可包括运动矢量、参考画面索引和画面间预测指示符中的至少一个。预测指示符可指示单向预测(L0预测或L1预测)或双向预测(L0预测和L1预测)。

合并候选列表可以是存储的运动信息的列表。包括在合并候选列表中的运动信息可以是以下至少一个:与当前块相邻的邻近块的运动信息(空间合并候选)、参考画面中的当前块的同位块的运动信息(时间合并候选)、通过合并候选列表中存在的运动信息的组合产生的新运动信息、在当前块之前被编码/解码的块的运动信息(基于历史的合并候选)和零合并候选。

编码设备100可通过对合并标志和合并索引中的至少一个执行熵编码来产生比特流,并且可将比特流用信号发送到解码设备200。合并标志可以是指示是否针对每个块执行合并模式的信息,并且合并索引可以是指示当前块的邻近块中的哪个邻近块是合并目标块的信息。例如,当前块的邻近块可包括位于当前块的左侧的左侧邻近块、被布置在当前块上方的上方邻近块和在时间上与当前块相邻的时间邻近块。

另外,编码设备100对合并候选的运动信息中的用于校正运动矢量的校正信息执行熵编码,并将其用信号发送到解码设备200。解码设备200可以基于校正信息校正根据合并索引选择的合并候选的运动矢量。这里,校正信息可以包括关于是否执行校正的信息、校正方向信息和校正尺寸信息中的至少一个。如上所述,基于用信号发送的校正信息对合并候选的运动矢量进行校正的预测模式可以被称为具有运动矢量差的合并模式。

跳过模式可以是将邻近块的运动信息照原样应用于当前块的模式。当应用跳过模式时,编码设备100可对哪个块的运动信息将被用作当前块的运动信息的事实的信息执行熵编码,以产生比特流,并且可将比特流用信号发送到解码设备200。编码设备100可不将关于运动矢量差信息、编码块标志和变换系数等级中的至少任意一个的语法元素用信号发送到解码设备200。

子块合并模式可以表示以编码块(CU)的子块为单位推导运动信息的模式。当应用子块合并模式时,可使用与参考画面中的当前子块同位的子块的运动信息(基于子块的时间合并候选)和/或仿射控制点运动矢量合并候选来产生子块合并候选列表。

三角分区模式可以表示通过将当前块分区为对角线方向来推导运动信息,使用推导的运动信息中的每个来推导每个预测样点,并且通过对推导的预测样点中的每个进行加权来推导当前块的预测样点的模式。

帧间-帧内组合预测模式可以表示通过对由帧间预测产生的预测样点和由帧内预测产生的预测样点进行加权来推导当前块的预测样点的模式。

解码设备200可自行校正推导的运动信息。解码设备200可基于由推导的运动信息指示的参考块搜索预定区域,并推导具有最小SAD的运动信息作为校正的运动信息。

解码设备200可使用光流对经由帧间预测推导的预测样点进行补偿。

图6是示出变换和量化处理的示图。

如图6中所示,对残差信号执行变换处理和/或量化处理,以产生量化的等级信号。残差信号是原始块与预测块(即,帧内预测块或帧间预测块)之间的差。预测块是通过帧内预测或帧间预测产生的块。所述变换可以是首次变换、二次变换或者首次变换和二次变换两者。对残差信号的首次变换产生变换系数,并且对变换系数的二次变换产生二次变换系数。

从预先定义的各种变换方案中选择的至少一种方案被用于执行首次变换。例如,所述预定义的变换方案的示例包括离散余弦变换(DCT)、离散正弦变换(DST)和Karhunen-Loève变换(KLT)。通过首次变换产生的变换系数可经历二次变换。可根据当前块和/或当前块的邻近块的编码参数来确定用于首次变换和/或二次变换的变换方案。可选地,可用信号发送指示变换方案的变换信息。基于DCT的变换可以包括例如DCT-2、DCT-8等。基于DST的变换可包括例如DST-7。

可以通过对残差信号或执行首次变换和/或二次变换的结果执行量化来产生量化的等级信号(量化系数)。依据块的帧内预测模式或块尺寸/形状,可以根据对角线右上方扫描、垂直扫描和水平扫描中的至少一个来扫描量化的等级信号。例如,当在对角线右上方扫描中扫描系数时,块形式的系数改变为一维矢量形式。除了对角线右上方扫描之外,依据帧内预测模式和/或变换块的尺寸,可以使用水平地扫描二维块形式的系数的水平扫描或垂直地扫描二维块形式的系数的垂直扫描。扫描的量化的等级系数可以被熵编码以插入比特流中。

解码器对比特流进行熵解码以获得量化的等级系数。量化的等级系数可以通过反向扫描以二维块形式被布置。对于反向扫描,可以使用对角线右上方扫描、垂直扫描和水平扫描中的至少一个。

然后可以对量化的等级系数进行反量化,然后根据需要进行二次逆变换,最后根据需要进行首次逆变换,以产生重建残差信号。

可在环内滤波之前针对通过帧内预测或帧间预测重建的亮度分量执行动态范围中的逆映射。动态范围可以被划分为16个相等的片段,并且可以用信号发送每个片段的映射函数。可在条带级或并行块组级用信号发送映射函数。可以基于映射函数推导用于执行逆映射的逆映射函数。在逆映射区域中执行环内滤波、参考画面存储和运动补偿,并且经由使用映射函数的映射将通过帧间预测产生的预测块被转换到映射区域,然后被用于产生重建块。然而,由于在映射区域中执行帧内预测,因此经由帧内预测产生的预测块可以被用于产生重建块而无需映射/逆映射。

在当前块是色度分量的残差块时,可以通过对映射区域的色度分量执行缩放来将残差块转换到逆映射区域。可在条带级或并行块组级用信号发送缩放的可用性。只有当亮度分量的映射可用并且亮度分量的分区和色度分量的分区遵循相同的树结构时,才可以应用缩放。可基于与色差块相应的亮度预测块的样点值的平均值来执行缩放。在这种情况下,在当前块使用帧间预测时,亮度预测块可表示映射的亮度预测块。可通过使用亮度预测块的样点值的平均值所属的片段的索引参考查找表来推导缩放所需的值。最后,通过使用推导的值对残差块进行缩放,可以将残差块转换到逆映射区域。然后,可以在逆映射区域中执行色度分量块恢复、帧内预测、帧间预测、环内滤波和参考画面存储。

可以通过序列参数集用信号发送指示亮度分量和色度分量的映射/逆映射是否可用的信息。

可以基于指示当前画面中的当前块与参考块之间的位移的块矢量来产生当前块的预测块。以这种方式,用于参考当前画面产生预测块的预测模式被称为帧内块复制(IBC)模式。IBC模式可被应用于M×N(M<=64,N<=64)编码单元。IBC模式可包括跳过模式、合并模式、AMVP模式等。在跳过模式或合并模式的情况下,构建合并候选列表,并且用信号发送合并索引,使得可以指定一个合并候选。指定的合并候选的块矢量可以用作当前块的块矢量。合并候选列表可包括空间候选、基于历史的候选、基于两个候选的平均值的候选和零合并候选中的至少一个。在AMVP模式的情况下,可用信号发送差块矢量。另外,可从当前块的左侧邻近块和上方邻近块推导预测块矢量。可以用信号发送将使用的邻近块的索引。IBC模式中的预测块被包括在当前CTU或左侧CTU中并且被限于已经重建的区域中的块。例如,可以限制块矢量的值,使得当前块的预测块按照编码/解码顺序位于当前块所属的64×64块之前的三个64×64块的区域中。通过以这种方式限制块矢量的值,可减少根据IBC模式实施方案的存储器消耗和装置复杂度。

图8是示出根据本发明的实施例的画面/子画面/条带/并行块/分块等的边界的示图。

图8的(a)是示出当前块包括右侧边界和下方边界两者的示例的示图。

图8的(b)是示出当前块包括下方边界的示例的示图。图8的(c)是示出当前块包括右侧边界的示例的示图。

在当前块包括右侧边界时,可表示包括在当前块中的至少一个样点的水平坐标大于与画面/子画面/条带/并行块/分块相邻并且包括在画面/子画面/条带/并行块/分块等中的样点的水平坐标。

例如,在当前块包括右侧边界时,可表示通过将当前块在水平方向上的宽度和与当前块的(0,0)位置(当前块的左上方位置)相应的坐标(x,y)相加而获得的水平坐标位置大于画面/子画面/条带/并行块/分块的边界的水平坐标。

另外,在当前块包括下方边界时,可表示包括在当前块中的至少一个样点的垂直坐标大于与画面/子画面/条带/并行块/分块相邻并且包括在画面/子画面/条带/并行块/分块等中的样点的垂直坐标。

例如,在当前块包括下方边界时,可表示通过将当前块在垂直方向上的高度和与当前块的(0,0)位置(当前块的左上方位置)相应的坐标(x,y)相加而获得的垂直坐标位置大于画面/子画面/条带/并行块/分块的边界的垂直坐标。

图9是示出根据本发明的块的实施例的分区方法的示图。

图9的(a)是示出垂直二叉树分区的示例的示图。图9的(b)是示出水平二叉树分区的示例的示图。图9的(c)是示出垂直三叉树分区的示例的示图。图9的(d)是示出水平三叉树分区的示例的示图。

在当前块包括画面/子画面/条带/并行块/分块等的边界时,可隐式地执行对当前块的分区。在下文中,边界可以表示画面/子画面/条带/并行块/分块等的至少一个边界。这里,画面/子画面/条带/并行块/分块的每个边界可以表示右侧边界、下方边界、左侧边界和上方边界中的至少一个。这里,隐式分区可以表示通过使用特定分区方法而不使用另外用信号发送的编码参数来对相应块进行分区的情况。可选地,隐式分区可以表示当满足预定条件时通过使用特定分区方法而不管是否存在另外用信号发送的编码参数来对相应块进行分区的情况。

右侧边界和左侧边界中的至少一个可以表示垂直边界。上方边界和下方边界中的至少一个可以表示水平边界。

当边界是垂直边界或水平边界时,垂直分区或水平分区在当前块上可以是可用的。另外,可根据当前块的尺寸来对当前块隐式地执行分区。

另外,当对当前块进行分区时,可以执行特定分区方法,并且可以对关于特定分区方法的信息进行编码/解码。这里,特定分区方法可以根据边界是垂直边界还是水平边界被确定,并且可以是四叉树分区、垂直二叉树分区、水平二叉树分区、垂直三叉树分区和水平三叉树分区中的至少一种。

在示例中,在当前块包括垂直边界时,可以执行四叉树分区、垂直二叉树分区和垂直三叉树分区中的至少一个,使得通过对当前块进行分区获得的块不超过垂直边界。

在另一示例中,在当前块包括水平边界时,可以执行四叉树分区、水平二叉树分区、水平三叉树分区中的至少一个,使得通过对当前块进行分区获得的块不超过水平边界。

在另一示例中,在当前块包括右侧边界时,可限制对当前块的分区,使得仅对当前块执行垂直二叉树分区。可以对当前块隐式地执行垂直二叉树分区。另外,可以对关于当前块的垂直二叉树分区的信息进行熵编码/解码。这里,关于除垂直二叉树分区之外的分区的信息可以不被熵编码/解码。

详细地,在当前块包括右侧边界并且当前块的高度超过最大变换块的尺寸时,可限制当前块使得对当前块执行垂直二叉树分区不可用。

例如,在当前块包括右侧边界并且当前块的高度超过最大变换块的尺寸64时,可限制当前块使得对当前块执行垂直二叉树分区不可用。

另外,在当前块包括右侧边界但当前块不包括下方边界时,可限制当前块使得对当前块执行水平二叉树分区不可用。

在另一示例中,在当前块包括下方边界时,可限制对当前块的分区,使得仅对当前块执行水平二叉树分区。可对当前块隐式地执行水平二叉树分区。另外,可对关于当前块的水平二叉树分区的信息进行熵编码/解码。这里,关于除水平二叉树分区之外的分区的信息可以不被熵编码/解码。

详细地,在当前块包括下方边界时,可限制当前块使得对当前块执行垂直二叉树分区不可用。

另外,在当前块包括下方边界并且当前块的宽度超过最大变换块的尺寸时,可限制当前块使得对当前块执行水平二叉树分区不可用。

在另一示例中,在当前块包括右侧边界时,可以限制对当前块的分区,使得仅对当前块执行垂直三叉树分区。可以对当前块隐式地执行垂直三叉树分区。另外,可对关于当前块的垂直三叉树分区的信息进行熵编码/解码。这里,关于除垂直三叉树分区之外的分区的信息可以不被熵编码/解码。

在另一示例中,在当前块包括右侧边界时,可限制对当前块的分区,使得仅对当前块执行垂直二叉树分区。可以对当前块隐式地执行垂直二叉树分区。另外,可以对关于当前块的垂直二叉树分区的信息进行熵编码/解码。这里,关于除垂直二叉树分区之外的分区的信息可以不被熵编码/解码。

在另一示例中,在当前块包括下方边界时,可限制对当前块的分区,使得仅对当前块执行水平二叉树分区。可对当前块隐式地执行水平二叉树分区。另外,可对关于当前块的水平二叉树分区的信息进行熵编码/解码。这里,关于除水平二叉树分区之外的分区的信息可以不被熵编码/解码。

在另一示例中,在当前块包括下方边界时,可限制对当前块的分区,使得仅对当前块执行水平三叉树分区。可以对当前块隐式地执行水平三叉树分区。另外,可对关于当前块的水平三叉树分区的信息进行熵编码/解码。这里,关于除水平三叉树分区之外的分区的信息可以不被熵编码/解码。

在另一示例中,在当前块包括右侧边界和上方边界中的至少一个时,可以限制当前块使得对当前块执行三叉树分区不可用。

在另一示例中,在当前块包括右侧边界和下方边界两者时,可限制对当前块的分区,使得仅对当前块执行四叉树分区。可对当前块隐式地执行四叉树分区。另外,可对关于当前块的四叉树分区的信息进行熵编码/解码。在本文中,关于除四叉树分区之外的分区的信息可不被熵编码/解码。

在另一示例中,在当前块包括右侧边界并且当前块的高度大于最大变换块的尺寸时,可限制当前块使得对当前块执行垂直二叉树分区不可用。这里,可对当前块执行四叉树分区。可以对当前块隐式地执行四叉树分区,而不对关于分区的信息执行熵编码/解码。

在另一示例中,在当前块包括下方边界并且当前块的宽度大于最大变换块的尺寸时,可限制当前块使得对当前块执行水平二叉树分区不可用。这里,可对当前块执行四叉树分区。可以对当前块隐式地执行四叉树分区,而不对关于分区的信息执行熵编码/解码。

在另一示例中,在当前块包括右侧边界,当前块的高度大于最大变换块的尺寸并且对当前块的分区是垂直二叉树分区时,可限制当前块使得对当前块执行二叉树分区不可用。这里,可对当前块执行四叉树分区。可以对当前块隐式地执行四叉树分区,而不对关于分区的信息执行熵编码/解码。

在另一示例中,在当前块包括下方边界,当前块的宽度大于最大变换块的尺寸并且对当前块的分区是水平二叉树分区时,可限制当前块使得对当前块执行二叉树分区不可用。这里,可对当前块执行四叉树分区。可以对当前块隐式地执行四叉树分区,而不对关于分区的信息执行熵编码/解码。

为了确定当前块的分区结构,可以定义以下语法。

在示例中,qtbtt_dual_tree_intra_flag可表示对于I条带,基于64×64的编码单元对每个CTU进行分区,并且64×64编码单元被用作亮度分量和色度分量的根节点。

例如,当qtbtt_dual_tree_intra_flag具有第一值(例如:0)时,其可以指示可以基于64×64的编码单元来对每个CTU进行分区,并且64×64编码单元不被用作亮度分量和色度分量的根节点,并且当qtbtt_dual_tree_intra_flag具有第二值(例如:1)时,其可以指示可以基于64×64的编码单元来对每个CTU进行分区,并且64×64编码单元被用作亮度分量和色度分量的根节点。

当qtbtt_dual_tree_intra_flag具有第一值(例如:0)时,亮度分量的分区结构可与色度分量的分区结构相同。然而,亮度分量的块尺寸和色度分量的块尺寸可根据色度分量的类型而彼此不同。在以上情况下,可以参考使用单个树结构。单个树类型可以被标识为SINGLE_TREE。

当条带类型为I条带并且qtbtt_dual_tree_intra_flag具有第二值(例如:1)时,来自64×64编码单元的亮度分量的块分区结构和色度分量的块分区结构可彼此不同。在上述情况下,可以参考使用双树结构。双树结构中的亮度分量的树类型可被识别为DUAL_TREE_LUMA,并且双树结构中的色度分量的树类型可被识别为DUAL_TREE_CHROMA。

在单个树结构的情况下,色度分量的最小块可以被设置为2×2块。这里,小于2×2块的块可不被用于色度分量。换言之,来自等于或大于2×2块的块尺寸的块,基于2×2块的块尺寸的分区可能不可用。

另外,在单个树结构的情况下,色度分量的最小块可以被设置为4×4块。这里,2×2块、2×4块和4×2块可不用于色度分量。换言之,来自块尺寸等于或大于2×2块、2×4块和4×2块中的至少一个的块,基于2×2块、2×4块和4×2块中的至少一个的分区可能不可用。

另外,在双树结构的情况下,色度分量的最小块可以被设置为4×4块。这里,2×2块、2×4块和4×2块可不被用于色度分量。换言之,来自块尺寸等于或大于2×2块、2×4块和4×2块中的至少一个的块,基于2×2块、2×4块和4×2块中的至少一个的分区可能不可用。

在当前块满足以下条件中的至少一个时,可限制当前块使得对当前块执行四叉树分区不可用。

-当前块所属的树类型为SINGLE_TREE或DUAL_TREE_LUMA,并且当前块的宽度或高度等于或小于表示亮度分量的最小四叉树尺寸的MinQtSizeY的情况。

-当前块所属的树类型为DUAL_TREE_CHROMA,并且通过将当前块的宽度或高度除以作为水平方向上的色度信号的子采样因子的SubWidthC获得的值等于或小于表示亮度分量的最小四叉树尺寸的MinQtSizeC的情况(这里,作为水平方向上的色度信号的子采样因子的SubWidthC值可被用作当前块的宽度,并且作为垂直方向上的色度信号的子采样因子的SubHeightC值可被用作当前块的高度。另外,作为水平方向上的色度信号的子采样因子的SubWidthC值与作为垂直方向上的色度信号的子采样因子的SubHeightC值之间的较大值可被用作当前块的宽度或高度。)

-当前块的二叉树分区和三叉树分区的深度(多类型树的深度)不为0的情况。

-当前块所属的树类型是DUAL_TREE_CHROMA,并且通过将当前块的宽度或高度除以作为水平方向上的色度信号的子采样因子的SubWidthC而获得的值等于或小于4的情况(这里,作为水平方向上的色度信号的子采样因子的SubWidthC值可以被用于当前块的宽度,并且作为垂直方向上的色度信号的子采样因子的SubHeightC值可被用于当前块的高度。另外,作为水平方向上的色度信号的子采样因子的SubWidthC值与作为垂直方向上的色度信号的子采样因子的SubHeightC值之间的较大值可被用作当前块的宽度或高度。)

-当前块所属的树类型是DUAL_TREE_CHROMA,并且当前块的模式类型是帧内预测模式、帧内块复制(IBC)模式和调色板编码模式中的至少一个的情况。

另外,根据当前块(CU)的宽度和/或高度,可以限制执行二叉树分区和/或三叉树分区不可用。

在示例中,在当前块的宽度和/或高度为L时,可以限制执行三叉树分区不可用。这里,L可以是128。

在另一示例中,当在M×N(M为宽度,并且N为高度)尺寸的当前块内N小于64时,可限制执行水平二叉树分区不可用。这里,M可以是128。

在另一示例中,当在M×N(M为宽度,并且N为高度)尺寸的当前块内M小于64时,可限制执行垂直二叉树分区不可用。这里,N可以是128。

在另一示例中,在当前块的宽度等于或小于最大变换块的尺寸并且当前块的高度大于最大变换块的尺寸时,可限制当前块使得对当前块执行垂直二叉树分区不可用。例如,在当前块的宽度等于或小于作为最大变换块尺寸的64或32并且当前块的高度大于作为最大变换块尺寸的64或32时,可限制当前块使得对当前块执行垂直二叉树分区不可用。

在另一示例中,在当前块的高度等于或小于最大变换块的尺寸并且当前块的宽度大于最大变换块的尺寸时,可限制当前块使得对当前块执行水平二叉树分区不可用。例如,在当前块的宽度大于作为最大变换块尺寸的64或32并且当前块的高度等于或小于作为最大变换块尺寸的64或32时,可限制当前块使得对当前块执行水平二叉树分区不可用。

在另一示例中,在当前块的宽度或高度等于或小于亮度分量的最小二叉树尺寸时,可限制当前块使得对当前块执行二叉树分区不可用。

在另一示例中,在当前块的宽度大于最大二叉树的尺寸时,可限制当前块使得对当前块执行二叉树分区不可用。

在另一示例中,在当前块的高度大于最大二叉树的尺寸时,可限制当前块使得对当前块执行二叉树分区不可用。

在另一示例中,在当前块的二叉树分区和三叉树分区的深度(多类型树的深度)等于或大于二叉树分区和三叉树分区的最大深度(多类型树的最大深度)时,可限制当前块使得对当前块执行二叉树分区不可用。

在另一示例中,在当前块所属的树类型为DUAL_TREE_CHROMA,并且通过将当前块的宽度除以作为水平方向上的色度信号的子采样因子的SubWidthC值而获得的值与通过将当前块的高度除以作为垂直方向上的色度信号的子采样因子的SubHeightC值而获得的值的乘积等于或小于16时,可以限制当前块使得对当前块执行二叉树分区不可用。

在另一示例中,在当前块所属的树类型为DUAL_TREE_CHROMA,并且当前块的模式类型为帧内预测模式、帧内块复制(IBC)模式和调色板编码模式中的至少一个时,可限制当前块使得对当前块执行二叉树分区不可用。

在另一示例中,在当前块的宽度或高度大于最大变换块的尺寸时,可限制当前块使得对当前块执行三叉树分区不可用。

在另一示例中,在当前块的宽度或高度大于最大变换块的尺寸并且大于最大三叉树尺寸的最小值时,可限制当前块使得对当前块执行三叉树分区不可用。

在另一示例中,在当前块的宽度或高度等于或小于最小三叉树尺寸的两倍时,可限制当前块使得对当前块执行三叉树分区不可用。

在另一示例中,在当前块的二叉树分区和三叉树分区的深度(多类型树的深度)等于或大于二叉树分区和三叉树分区的最大深度(多类型树的最大深度)时,可限制当前块使得对当前块执行三叉树分区不可用。

在另一示例中,在当前块所属的树类型为DUAL_TREE_CHROMA,并且通过将当前块的宽度除以作为水平方向上的色度信号的子采样因子的SubWidthC值而获得的值与通过将当前块的高度除以作为垂直方向上的色度信号的子采样因子的SubHeightC值而获得的值的乘积等于或小于32时,可以限制当前块使得对当前块执行三叉树分区不可用。

在另一示例中,在当前块所属的树类型为DUAL_TREE_CHROMA,并且当前块的模式类型为帧内预测模式、帧内块复制(IBC)模式和调色板编码模式中的至少一个时,可限制当前块使得对当前块执行三叉树分区不可用。

这里,最大变换块的尺寸可以是64或32,并且由从编码器用信号发送到解码器的标志被指示。例如,当用信号发送的标志具有第一值时,最大变换块的尺寸可以是64。另外,当用信号发送的标志具有第二值时,最大变换块的尺寸可以是32。

在另一示例中,可限制当前块使得在128×128尺寸的当前块中允许三叉树分区,在128×64尺寸的当前块中允许垂直二叉树分区,并且在64×128尺寸的当前块中允许水平二叉树分区。另外,可以限制当前块使得在128×64尺寸和64×128尺寸的当前块中不允许三叉树分区。

当对当前块进行分区时,可限制得到的子块,使得其(宽度:高度)的比率不变为特定比率。换言之,可限制当前块使得当前块被分区为具有等于或小于(宽度:高度)的特定比率的子块。例如,(宽度:高度)的比率可以是1:N,并且(高度:宽度)的比率可以是N:1。这里,N可以是2、3、4、5、6、7、8等的正整数。另外,N可以基于当前块的编码参数和候选块的编码参数中的至少一个被确定。另外,N可以是在编码器/解码器中预设的值,或者可以是从编码器向解码器用信号发送的值。

当通过对当前块进行分区获得的结果子块的比率变得大于以上比率时,可不对结果子块的信息分区进行熵编码/解码。

作为对当前块进行分区的第一示例,在当前块包括画面/子画面/条带/并行块/分块等的边界时,可执行以下处理。

1)当前块包括右侧边界和下方边界两者的情况

1-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

1-2)另外,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。可选地,可限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。因此,可限制对当前块的分区,使得仅二叉树分区对于当前块可用。可以对当前块隐式地执行二叉树分区。

2)当前块包括下方边界的情况

2-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且大于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

2-2)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且等于或小于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区或水平二叉树分区对于当前块可用。关于是否对当前块执行四叉树分区或水平二叉树分区的信息可以被熵编码/解码。

2-3)另外(在当前块是二叉树块或三叉树块时,或者在当前块的尺寸小于最小四叉树块的尺寸时),可以限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可以对当前块隐式地执行水平二叉树分区。

3)当前块包括右侧边界的情况

3-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且大于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,可以不对当前块执行二叉树分区和三叉树分区中的至少一个。

3-2)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且等于或小于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区或垂直二叉树分区对于当前块可用。关于是否对当前块执行四叉树分区或垂直二叉树分区的信息可以被熵编码/解码。

3-3)另外(在当前块是二叉树块或三叉树块时,或者在当前块的尺寸小于最小四叉树块的尺寸时),可以限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。

作为对当前块进行分区的第二示例,在当前块包括画面/子画面/条带/并行块/分块等的边界时,为了在画面/子画面/条带/并行块/分块等的边界中高效地执行块分区,可执行以下处理。

1)当前块包括右侧边界和下方边界两者的情况

1-1)在当前块是四叉树块并且当前块的尺寸大于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

1-2)另外,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。可选地,可限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。因此,可限制对当前块的分区,使得仅二叉树分区对于当前块可用。可以对当前块隐式地执行二叉树分区。

2)当前块包括下方边界的情况

2-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且大于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

2-2)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且等于或小于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区或水平二叉树分区对于当前块可用。关于是否对当前块执行四叉树分区或水平二叉树分区的信息可以被熵编码/解码。

2-3)另外(在当前块是二叉树块或三叉树块时,或者在当前块的尺寸小于最小四叉树块的尺寸时),可以限制对当前块的分区,使得仅水平二叉树分区对当前块可用。可以对当前块隐式地执行水平二叉树分区。

3)当前块包括右侧边界的情况

3-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且大于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

3-2)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且等于或小于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区或垂直二叉树分区对于当前块可用。关于是否对当前块执行四叉树分区或垂直二叉树分区的信息可以被熵编码/解码。

3-3)另外(在当前块是二叉树块或三叉树块时,或者在当前块的尺寸小于最小四叉树块的尺寸时),可以限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。

作为对当前块进行分区的第三示例,在当前块包括画面/子画面/条带/并行块/分块等的边界时,为了在画面/子画面/条带/并行块/分块等的边界中高效地执行块分区,可执行以下处理。

1)当前块包括右侧边界和下方边界两者的情况

1-1)在当前块的尺寸大于最大四叉树块的尺寸时,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。可选地,可限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。因此,可限制对当前块的分区,使得仅二叉树分区对于当前块可用。可以对当前块隐式地执行二叉树分区。

1-2)另外,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

2)当前块包括下方边界的情况

2-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且大于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

2-2)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且等于或小于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区或水平二叉树分区对于当前块可用。关于是否对当前块执行四叉树分区或水平二叉树分区的信息可以被熵编码/解码。

2-3)另外(在当前块是二叉树块或三叉树块时,或者在当前块的尺寸小于最小四叉树块的尺寸时),可以限制对当前块的分区,使得在当前块上仅水平二叉树分区可用。可以对当前块隐式地执行水平二叉树分区。

3)当前块包括右侧边界的情况

3-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且大于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

3-2)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且等于或小于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区或垂直二叉树分区对于当前块可用。关于是否对当前块执行四叉树分区或垂直二叉树分区的信息可以被熵编码/解码。

3-3)另外(在当前块是二叉树块或三叉树块时,或者在当前块的尺寸小于最小四叉树块的尺寸时),可以限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。

作为对当前块进行分区的第四示例,在当前块包括画面/子画面/条带/并行块/分块等的边界时,为了在画面/子画面/条带/并行块/分块等的边界中高效地执行块分区,可执行以下处理。

1)当前块包括右侧边界和下方边界两者的情况

1-1)在当前块的尺寸大于最小二叉树块的尺寸时,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。可选地,可限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。因此,可限制对当前块的分区,使得仅二叉树分区在当前块上可用。可以对当前块隐式地执行二叉树分区。

1-2)另外,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

2)当前块包括下方边界的情况

2-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且大于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

2-2)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且等于或小于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区或水平二叉树分区对于当前块可用。关于是否对当前块执行四叉树分区或水平二叉树分区的信息可以被熵编码/解码。

2-3)另外(在当前块是二叉树块或三叉树块时,或者在当前块的尺寸小于最小四叉树块的尺寸时),可以限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可以对当前块隐式地执行水平二叉树分区。

3)当前块包括右侧边界的情况

3-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且大于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

3-2)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且等于或小于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区或垂直二叉树分区对于当前块可用。关于是否对当前块执行四叉树分区或垂直二叉树分区的信息可以被熵编码/解码。

3-3)另外(在当前块是二叉树块或三叉树块时,或者在当前块的尺寸小于最小四叉树块的尺寸时),可以限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。

作为对当前块进行分区的第五示例,在当前块包括画面/子画面/条带/并行块/分块等的边界时,为了在画面/子画面/条带/并行块/分块等的边界中高效地执行块分区,可执行以下处理。

1)当前块包括右侧边界和下方边界两者的情况

1-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

1-2)另外,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。可选地,可限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。因此,可限制对当前块的分区,使得仅二叉树分区对于当前块可用。换言之,可对当前块隐式地执行二叉树分区。

2)当前块包括下方边界的情况

2-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

2-2)另外(在当前块是二叉树块或三叉树块时,或者在当前块的尺寸小于最小四叉树块的尺寸时),可以限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可以对当前块隐式地执行水平二叉树分区。

3)当前块包括右侧边界的情况

3-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

3-2)另外(在当前块是二叉树块或三叉树块时,或者在当前块的尺寸等于或小于最小四叉树块的尺寸时),可以限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。

作为对当前块进行分区的第六示例,在当前块包括画面/子画面/条带/并行块/分块等的边界时,为了在画面/子画面/条带/并行块/分块等的边界中高效地执行块分区,可执行以下处理。

1)当前块包括右侧边界和下方边界两者的情况

1-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

1-2)另外,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。可选地,可限制对当前块的分区,使得仅垂直二叉树分区对当前块可用。可以对当前块隐式地执行垂直二叉树分区。因此,可限制对当前块的分区,使得仅二叉树分区对于当前块可用。换言之,可对当前块隐式地执行二叉树分区。

2)当前块包括下方边界的情况

2-1)在当前块的尺寸大于最小四叉树块的尺寸时,可以限制仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

2-2)另外,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。

3)当前块包括右侧边界的情况

3-1)在当前块的尺寸大于最小四叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

3-2)另外,可以限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。

作为对当前块进行分区的第七示例,在当前块包括画面/子画面/条带/并行块/分块等的边界时,为了在画面/子画面/条带/并行块/分块等的边界中高效地执行块分区,可执行以下处理。

1)当前块包括右侧边界和下方边界两者的情况

1-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

1-2)另外,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。可选地,可限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。因此,可限制对当前块的分区,使得仅二叉树分区对于当前块可用。换言之,可对当前块隐式地执行二叉树分区。

2)当前块包括下方边界的情况

2-1)在当前块的尺寸大于最小二叉树块的尺寸时,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。

2-2)另外,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

3)当前块包括右侧边界的情况

3-1)在当前块的尺寸大于最小二叉树块的尺寸时,可以限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。

3-2)另外,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

作为对当前块进行分区的第八示例,在当前块包括画面/子画面/条带/并行块/分块等的边界时,为了在画面/子画面/条带/并行块/分块等的边界中高效地执行块分区,可执行以下处理。

1)当前块包括右侧边界和下方边界两者的情况

1-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

1-2)另外,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。可选地,可限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。因此,可限制对当前块的分区,使得仅二叉树分区对于当前块可用。换言之,可对当前块隐式地执行二叉树分区。

2)当前块包括下方边界的情况

2-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且大于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

2-2)另外(在当前块是二叉树块或三叉树块时,或者在当前块的尺寸等于或小于最小四叉树块的尺寸或者等于或小于最大二叉树块的尺寸时),可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。

3)当前块包括右侧边界的情况

3-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸并且大于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

3-2)另外(在当前块是二叉树块或三叉树块时,或者在当前块的尺寸等于或小于最小四叉树块的尺寸或者等于或小于最大二叉树块的尺寸时),可以限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。

作为对当前块进行分区的第九示例,在当前块包括画面/子画面/条带/并行块/分块等的边界时,为了在画面/子画面/条带/并行块/分块等的边界中高效地执行块分区,可执行以下处理。

1)当前块包括右侧边界和下方边界两者的情况

1-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

1-2)另外,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。可选地,可限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。因此,可限制对当前块的分区,使得仅二叉树分区对于当前块可用。换言之,可对当前块隐式地执行二叉树分区。

2)当前块包括下方边界的情况

2-1)在当前块的尺寸大于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

2-2)另外,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。

3)当前块包括右侧边界的情况

3-1)在当前块的尺寸大于最大二叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对对当前块执行二叉树分区和三叉树分区中的至少一个。

3-2)另外,可以限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。

作为对当前块进行分区的第十示例,在当前块包括画面/子画面/条带/并行块/分块等的边界时,为了在画面/子画面/条带/并行块/分块等的边界中高效地执行块分区,可执行以下处理。

1)当前块包括右侧边界和下方边界两者的情况

1-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

1-2)另外,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。可选地,可限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。因此,可限制对当前块的分区,使得仅二叉树分区对于当前块可用。换言之,可对当前块隐式地执行二叉树分区。

2)当前块包括下方边界的情况

2-1)在当前块的尺寸大于最大四叉树块的尺寸时,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。

2-2)另外,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,可以不对当前块执行二叉树分区和三叉树分区中的至少一个。

3)当前块包括右侧边界的情况

3-1)在当前块的尺寸大于最大四叉树块的尺寸时,可限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可对当前块隐式地执行垂直二叉树分区。

3-2)另外,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

作为对当前块进行分区的第十一示例,在当前块包括画面/子画面/条带/并行块/分块等的边界时,为了在画面/子画面/条带/并行块/分块等的边界中高效地执行块分区,可执行以下处理。

1)当前块包括右侧边界和下方边界两者的情况

1-1)在当前块是四叉树块并且当前块的尺寸大于最小四叉树块的尺寸时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

1-2)另外,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。可选地,可限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。因此,可限制对当前块的分区,使得仅二叉树分区对于当前块可用。换言之,可对当前块隐式地执行二叉树分区。

2)在当前块包括下方边界时,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。

3)在当前块包括右侧边界时,可以限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。

作为对当前块进行分区的第十二示例,在当前块包括画面/子画面/条带/并行块/分块等的边界时,为了在画面/子画面/条带/并行块/分块等的边界中高效地执行块分区,可执行以下处理。

1)在当前块包括右侧边界和下方边界两者时,可以限制对当前块的分区,使得仅四叉树分区对于当前块可用。可以对当前块隐式地执行四叉树分区。因此,不可以对当前块执行二叉树分区和三叉树分区中的至少一个。

2)在当前块包括下方边界时,可限制对当前块的分区,使得仅水平二叉树分区对于当前块可用。可对当前块隐式地执行水平二叉树分区。

3)在当前块包括右侧边界时,可以限制对当前块的分区,使得仅垂直二叉树分区对于当前块可用。可以对当前块隐式地执行垂直二叉树分区。

在当前块包括画面/子画面/条带/并行块/分块等的边界时,可不对当前块内超过画面/子画面/条带/并行块/分块等的边界的区域执行编码/解码,并且因此当前块内将被编码/解码的区域的宽度和高度中的至少一个可以不是2的N次方(2N)。

对于将被编码/解码的区域的宽度和高度中的至少一个不是2的N次方(2N)的当前块的情况,可以以不存在将被编码/解码的区域的残差信号的形式执行编码/解码。

在当前块包括右侧边界和下方边界中的至少一个时、当前块包括右侧边界时和当前块包括下方边界时中的至少一个时,可以对关于将被编码/解码的区域的宽度和高度中的至少一个不是2的N次方(2N)的块的信息进行熵编码/解码。

图10是示出根据本发明的实施例的当前块的将被编码/解码的区域的宽度和高度中的至少一个不是2的N次方(2N)的情况的示图。图10的(a)是示出当前块包括右侧边界和下方边界两者的示例的示图。图10的(b)是示出当前块包括下方边界的示例的示图。图10的(c)是示出当前块包括右侧边界的示例的示图。

对于当前块包括右侧边界和下方边界中的至少一个时、当前块包括右侧边界时和当前块包括下方边界时中的至少一个的情况,如图10所示,关于是否以当前块的将被编码/解码的区域的宽度和高度中的至少一个不是2的N次方(2N)的形式执行编码/解码、或者是否执行第一示例至第十二示例中的至少一个中的编码/解码的边界处理信息可以被编码/解码。

换言之,边界处理信息可以以标志形式被熵编码/解码。另外,边界处理信息可以指示以下两种情况。

当边界处理信息具有第一值时,使用当前块的将被编码/解码的区域的宽度和高度中的至少一个不是2的N次方(2N)的形式。

当边界处理信息具有第二值时,第一示例至第十二示例中的至少一个被使用。

当边界处理信息具有第一值时,可以对当前块内超出边界的区域之外的剩余区域执行编码/解码。

另外,当边界处理信息具有第二值时,可通过使用第一示例至第十二示例中的至少一个来隐式地对当前块进行分区,或者可通过关于分区的熵编码/解码信息来执行对当前块的编码/解码。

换言之,边界处理信息可以以索引形式被熵编码/解码。另外,边界处理信息可以指示下面的N种情况。这里,可以基于当前块的至少一个编码参数来确定N。另外,N可以是在编码器/解码器中预设的值,或者可以是从编码器用信号发送到解码器的值。

当边界处理信息具有第一值时,使用当前块的将被编码/解码的区域的宽度和高度中的至少一个不是2的N次方(2N)的形式。

当边界处理信息具有第二值时,第一示例至第十二示例中的至少一个被使用。

当边界处理信息具有第三值时,除用于边界处理信息具有第二值的情况的示例之外的第一示例至第十二示例中的至少一个被使用。

当边界处理信息具有第N值时,除了用于边界处理信息具有第二值到第N-1值的情况的示例之外的第一示例至第十二示例中的至少一个被使用。

当边界处理信息具有第M值时,组合第一示例至第十二示例中的至少两个的示例被使用。

当边界处理信息具有第一值时,可以对当前块内超出边界的区域之外的剩余区域执行编码/解码。

另外,当边界处理信息不具有第一值时,可通过使用第一示例至第十二示例中的至少一个来隐式地对当前块进行分区,或者可通过对关于分区的信息进行熵编码/解码来执行对当前块的编码/解码。

通过使用在画面/子画面/条带/并行块/分块等的边界上执行块分区的以上示例中的至少一个,以最小化对各种复杂条件的确定的形式有效地执行块分区,可以降低执行块分区时的复杂度。

另外,最小四叉树块的尺寸可表示四叉树的最小尺寸。另外,最大四叉树块的尺寸可表示四叉树的最大尺寸。另外,最小二叉树块的尺寸可以表示二叉树的最小尺寸。另外,最大二叉树块的尺寸可表示二叉树的最大尺寸。

可以基于当前块的至少一个编码参数来确定四叉树块的最小尺寸、四叉树块的最大尺寸、二叉树块的最小尺寸和二叉树块的最大尺寸中的至少一个。另外,四叉树块的最小尺寸、四叉树块的最大尺寸、二叉树块的最小尺寸和二叉树块的最大尺寸中的至少一个可以是在编码器/解码器中预设的值,或者是从编码器用信号发送到解码器的值。

块分区结构中的邻近块的至少一个编码参数可以用作当前块的至少一个编码参数。

例如,邻近块的关于单元分区、是否以四叉树形式执行分区、是否以二叉树形式执行分区、二叉树形式的分区方向(水平方向或垂直方向)、二叉树形式的分区形式(对称分区或非对称分区)、二叉树形式的分区比率、是否以三叉树形式执行分区、三叉树形式的分区方向(水平方向或垂直方向)、三叉树形式的分区形式(对称分区或非对称分区)的信息和三叉树形式的分区比率的信息中的至少一个可被用作当前块的关于单元分区、是否以四叉树形式执行分区、是否以二叉树形式执行分区、二叉树形式的分区方向、二叉树形式的分区形式、二叉树形式的分区比率、是否以三叉树形式执行分区、三叉树形式的分区方向、三叉树形式的分区形式以及三叉树形式的分区比率的信息中的至少一个。

块分区结构中的邻近块的至少一个编码参数可用于推导当前块的至少一个编码参数。

例如,邻近块的关于单元分区、是否执行四叉树形式的分区、是否执行二叉树形式的分区、二叉树形式的分区方向、二叉树形式的分区形式、二叉树形式的分区比率、是否执行三叉树形式的分区、三叉树形式的分区方向、三叉树形式的分区形式的信息和三叉树形式的分区比率的信息中的至少一个可用于推导当前块的关于单元分区、是否执行四叉树形式的分区、是否执行二叉树形式的分区、二叉树形式的分区方向、二叉树形式的分区形式、二叉树形式的分区比率、是否执行三叉树形式的分区、三叉树形式的分区方向、三叉树形式的分区形式和三叉树形式的分区比率的信息中的至少一个。

这里,使用邻近块的至少一个编码参数来推导当前块的至少一个编码参数可以表示通过使用邻近块的至少一个编码参数来确定当前块的至少一个编码参数。

块分区结构中的邻近块的至少一个编码参数可用于推导另一块的至少一个编码参数。

例如,邻近块的关于单元分区、是否执行四叉树形式的分区、是否执行二叉树形式的分区、二叉树形式的分区方向、二叉树形式的分区形式、二叉树形式的分区比率、是否执行三叉树形式的分区、三叉树形式的分区方向、三叉树形式的分区形式的信息和三叉树形式的分区比率的信息中的至少一个可用于推导另一块的关于单元分区、是否执行四叉树形式的分区、是否执行二叉树形式的分区、二叉树形式的分区方向、二叉树形式的分区形式、二叉树形式的分区比率、是否执行三叉树形式的分区、三叉树形式的分区方向、三叉树形式的分区形式和三叉树形式的分区比率的信息中的至少一个。

这里,使用邻近块的至少一个编码参数来推导另一块的至少一个编码参数可以表示通过使用邻近块的至少一个编码参数来确定另一块的至少一个编码参数。

块分区结构中的邻近块的至少一个编码参数可以用于当前块的帧内预测。

例如,邻近块的帧内预测模式、帧内预测方向、参考样点滤波方法、预测块滤波方法、预测块滤波器抽头和预测块滤波系数中的至少一个可以用于当前块的帧内预测。

块分区结构中的邻近块的至少一个编码参数可用于当前块的帧间预测或运动补偿。

例如,帧间预测模式、运动信息、运动矢量、参考图像索引、帧间预测方向、帧间预测指示符、参考图像列表、运动矢量预测符、运动矢量候选列表、是否使用合并模式、合并候选、合并候选列表、是否使用跳过模式、插值滤波器类型、插值滤波器抽头、插值滤波器系数中的至少一个,邻近块的运动矢量的大小和运动矢量表示的准确度可用于当前块的帧间预测或运动补偿。

块分区结构中的邻近块的至少一个编码参数可用于当前块的变换、逆变换、量化或反量化。这里,变换和逆变换可以包括首次变换、二次变换、首次逆变换和二次逆变换中的至少一个。

例如,邻近块的变换类型、变换尺寸、关于是否使用首次变换的信息、关于是否使用二次变换的信息、首次变换索引、二次变换索引、关于是否存在残差信号的信息、编码块模式、编码块标志、量化参数、量化矩阵中的至少一个可以用于当前块的变换、逆变换、量化或反量化。

块分区结构中的邻近块的至少一个编码参数可用于当前块的熵编码/解码。

例如,邻近块的关于单元分区、是否执行四叉树形式的分区、是否执行二叉树形式的分区、二叉树形式的分区方向、二叉树形式的分区形式、二叉树形式的分区比率、是否执行三叉树形式的分区、三叉树形式的分区方向、三叉树形式的分区形式的信息和三叉树形式的分区比率的信息中的至少一个可用于对当前块的关于单元分区、是否执行四叉树形式的分区、是否执行二叉树形式的分区、二叉树形式的分区方向、二叉树形式的分区形式、二叉树形式的分区比率、是否执行三叉树形式的分区、三叉树形式的分区方向、三叉树形式的分区形式和三叉树形式的分区比率的信息中的至少一个进行熵编码/解码。这里,熵编码/解码可以包括确定二值化/去二值化方法、确定上下文模型、更新上下文模型、执行常规模式、执行旁路模式等。

块分区结构中的邻近块的至少一个编码参数可以用于对当前块执行滤波的方法(诸如环内滤波器、去块滤波器、自适应样点偏移、自适应环内滤波器等)。

例如,邻近块的是否应用环内滤波器、环内滤波器系数、环内滤波器抽头、环内滤波器形状、环内滤波器形式、是否应用去块滤波器、去块滤波器系数、去块滤波器抽头、去块滤波器强度、去块滤波器形状、去块滤波器形式、是否应用自适应样点偏移、自适应样点偏移值、自适应样点偏移类别、自适应样点偏移类型、是否应用自适应环内滤波器、自适应环内滤波器系数、自适应环内滤波器抽头、自适应环内滤波器形状和自适应环内滤波器形式中的至少一个可以用于对当前块执行滤波的方法(诸如去块滤波器、自适应样点偏移、自适应环内滤波器等)。

块分区结构中的邻近块的至少一个编码参数可以用于另一邻近块的帧内预测、帧间预测或运动补偿、熵编码/解码以及滤波方法(诸如环内滤波器、去块滤波器、自适应样点偏移、自适应环内滤波器等)。

块分区结构中的亮度信号块的至少一个编码参数可用作色度信号块的至少一个编码参数。另外,块分区结构中的亮度信号块的至少一个编码参数可用于推导色度信号块的至少一个编码参数。另外,块分区结构中的亮度信号块的至少一个编码参数可用于色度信号块的帧内预测、帧间预测、运动补偿、变换、逆变换、量化、反量化、熵编码/解码、环内滤波器、去块滤波器、自适应样点偏移、自适应环内滤波器中的至少一个。

块分区结构中的Cb/Cr信号块的至少一个编码参数可用作Cb/Cr信号块的至少一个编码参数。另外,块分区结构中的Cb/Cr信号块的至少一个编码参数可用于推导Cb/Cr块信号的至少一个编码参数。另外,块分区结构中的Cb/Cr信号块的至少一个编码参数可用于Cr/Cb信号块的帧内预测、帧间预测、运动补偿、变换、逆变换、量化、反量化、熵编码/解码、环内滤波器、去块滤波器、自适应样点偏移、自适应环内滤波器中的至少一个。

对于通过使用以上块分区结构获得的每个结果块,可以对下面描述的至少一个编码参数和信息进行熵编码/解码。另外,可基于至少一条熵编码/解码信息的块尺寸和块形状中的至少一个来执行由以下信息指示的方法。

运动信息可以包括以下至少一项:运动矢量、参考图像索引、帧间预测指示符、关于是否使用跳过模式的信息(skip_flag)、关于是否使用合并模式的信息(merge_flag)、合并索引信息(merge_index)、关于运动矢量分辨率的信息、关于重叠块运动补偿的信息、关于局部照度补偿的信息、关于仿射运动补偿的信息、关于解码器侧运动矢量推导的信息和关于双向光流的信息。

关于运动矢量分辨率的信息可以是表示运动矢量和运动矢量之间的差中的至少一个是否使用特定分辨率的信息。这里,分辨率可以表示精度。另外,可以以整数像素(整数pel)单位、1/2像素(1/2pel)单位、1/4像素(1/4pel)单位、1/8像素(1/8pel)单位、1/16像素(1/16pel)单位、1/32像素(1/32pel)单位和1/64像素(1/64pel)单位中的至少一个来设置特定分辨率。

关于重叠块运动补偿的信息可以表示是否另外使用与当前块在空间上相邻的邻近块的运动矢量,以便在对当前块执行运动补偿时计算当前块的预测块的加权和。

关于局部照度补偿的信息可以是表示在产生当前块的预测块时是否应用加权因子和偏移值中的至少一个的信息。这里,加权因子和偏移值可以是基于参考块计算的值。

关于仿射运动补偿的信息可以是表示在对当前块执行运动补偿时是否使用仿射运动模型的信息。在本文中,仿射运动模型可以是通过使用多个参数将一个块分区为子块并且通过使用代表性运动矢量来计算子块的运动矢量而计算的模型。

关于解码器侧运动矢量推导的信息可以是表示运动补偿所需的运动矢量是否在解码器中被推导并被使用的信息。可以不基于关于解码器侧运动矢量推导的信息对关于运动矢量的信息进行熵编码/解码。另外,当关于解码器侧运动矢量推导的信息指示运动矢量在解码器中被推导并被使用时,可对关于合并模式的信息进行熵编码/解码。换言之,关于解码器侧运动矢量推导的信息可表示在解码器中是否使用合并模式。

关于双向光流的信息可以是表示是否通过基于像素或子块校正运动矢量来执行运动补偿的信息。可以不基于关于双向光流的信息对基于像素或子块的运动矢量进行熵编码/解码。这里,校正运动矢量可以是利用基于像素或子块的运动矢量值替换基于块的运动矢量。

图11是示出根据本发明的实施例的对图像进行解码的方法的流程图的示图。

在S1101,可从比特流解码出关于当前画面中包括的当前块的块分区的信息。

这里,关于块分区的信息可包括关于当前块尺寸的信息、关于当前块深度的信息和关于是否执行分区的信息中的至少一个。

在S1102,可以基于关于块分区的信息来确定当前块的分区方法。

这里,分区方法可以包括四叉树分区、水平二叉树分区、垂直二叉树分区、水平三叉树分区和垂直三叉树分区中的至少一个。

在S1103,可通过使用确定的分区方法来对当前块进行分区。

这里,可以基于当前块是否包括预定边界来确定分区方法。

这里,预定边界可以包括当前块所属的画面、子画面、条带、并行块和分块的右侧边界、下方边界、左侧边界和上方边界中的至少一个。

另外,在当前块包括当前画面的右侧边界和下方边界并且当前块的宽度大于最小四叉树块的尺寸时,可以将分区方法确定为四叉树分区。

另外,在当前块包括当前画面的右侧边界并且当前块的高度大于最大变换块的尺寸时,可以将分区方法确定为除垂直二叉树分区之外的分区。

另外,在当前块包括当前画面的下方边界并且当前块的宽度大于最大变换块的尺寸时,可将分区方法确定为除水平二叉树分区之外的分区。

另外,在当前块的宽度等于或小于最大变换块的尺寸并且当前块的高度大于最大变换块的尺寸时,可以将分区方法确定为除垂直二叉树分区之外的分区。

另外,在当前块的高度等于或小于最大变换块的尺寸并且当前块的宽度大于最大变换块的尺寸时,可将分区方法确定为除水平二叉树分区之外的分区。

这里,最大变换块的尺寸可以是从编码器用信号发送到解码器的值。

图12是根据本发明的实施例的图像编码方法的流程图的示图。

在S1201,可确定当前画面中包括的当前块的分区方法。

在S1202,可以通过使用确定的分区方法来对当前块进行分区。

这里,分区方法可以包括四叉树分区、水平二叉树分区、垂直二叉树分区、水平三叉树分区和垂直三叉树分区中的至少一个。

这里,可以基于当前块是否包括预定边界来确定分区方法。

这里,预定边界可以包括当前块所属的画面、子画面、条带、并行块和分块的右侧边界、下方边界、左侧边界和上方边界中的至少一个。

另外,在当前块包括当前画面的右侧边界和下方边界并且当前块的宽度大于最小四叉树块的尺寸时,可以将分区方法确定为四叉树分区。

另外,在当前块包括当前画面的右侧边界并且当前块的高度大于最大变换块的尺寸时,可以将分区方法确定为除垂直二叉树分区之外的分区。

另外,在当前块包括当前画面的下方边界并且当前块的宽度大于最大变换块的尺寸时,可将分区方法确定为除水平二叉树分区之外的分区。

另外,在当前块的宽度等于或小于最大变换块的尺寸并且当前块的高度大于最大变换块的尺寸时,可将分区方法确定为除垂直二叉树分区之外的分区。

另外,在当前块的高度等于或小于最大变换块的尺寸并且当前块的宽度大于最大变换块的尺寸时,可将分区方法确定为除水平二叉树分区之外的分区。

这里,最大变换块的尺寸可以是从编码器用信号发送到解码器的值。

在S1203,可对关于以上分区方法的块分区的信息进行编码。

这里,关于块分区的信息可包括关于当前块尺寸的信息、关于当前块深度的信息和关于是否执行分区的信息中的至少一个。

当基于预测单元(PU)、变换单元(TU)、预测块(PB)和变换块(TB)中的至少一个对图像进行分区时,编码单元的以上示例中的至少一个可被使用。

可以根据编码块、预测块、块和单元的至少一个尺寸来应用本发明的以上示例。这里,尺寸可以被定义为最小尺寸和/或最大尺寸,使得应用以上示例,或者被定义为应用以上示例的固定尺寸。另外,在以上示例中,第一示例可被应用于第一尺寸,并且第二示例可被应用于第二尺寸。换言之,可以根据尺寸组合以上示例。另外,当尺寸等于或大于最小尺寸并且等于或小于最大尺寸时,可以应用本发明的以上示例。换言之,当块尺寸包括在特定范围内时,可以应用以上示例。

另外,当尺寸等于或大于最小尺寸并且等于或小于最大尺寸时,可以应用本发明的以上示例。这里,最小尺寸和最大尺寸可以分别是编码块、预测块、块和单元中的一个尺寸。换言之,最小尺寸的块和最大尺寸的块可以彼此不同。例如,在当前块的尺寸等于或大于预测块的最小尺寸并且等于或小于编码块的最大尺寸时,可以应用本发明的以上示例。

例如,在当前块的尺寸等于或大于8×8时,可以应用本发明的以上示例。例如,在当前块的尺寸等于或大于16×16时,可以应用本发明的以上示例。例如,在当前块的尺寸等于或大于32×32时,可以应用本发明的以上示例。例如,在当前块的尺寸等于或大于64×64时,可以应用本发明的以上示例。例如,在当前块的尺寸等于或大于128×128时,可以应用本发明的以上示例。例如,在当前块的尺寸为4×4时,可以应用本发明的以上示例。例如,在当前块的尺寸等于或小于8×8时,可以应用本发明的以上示例。例如,在当前块的尺寸等于或小于16×16时,可以应用本发明的以上示例。例如,在当前块的尺寸等于或大于8×8并且等于或小于16×16时,可以应用本发明的以上示例。例如,在当前块的尺寸等于或大于16×16并且等于或小于64×64时,可以应用本发明的以上示例。

可以根据时间层来应用本发明的以上示例。可用信号发送用于识别可能应用以上示例的时间层的另外标识符,并且可将以上示例应用于由相应标识符指定的时间层。这里,标识符可以被定义为可能应用以上示例的最小层和/或最大层,或者被定义为指示可能应用以上示例的特定时间层。

例如,仅在当前画面的时间层为最低层时,可应用以上示例。例如,仅在当前画面的时间层的标识符为零时,可应用以上示例。例如,仅在当前画面的时间层的标识符为1时,可应用以上示例。例如,仅在当前画面的时间层为最高层时,可应用以上示例。

如本发明的以上示例中所述,当产生参考画面列表(参考画面列表构建)并且修改参考画面列表时使用的参考画面集可以使用参考画面列表L0、L1、L2和L3中的至少一个。

根据本发明的以上示例,当在去块滤波器中计算边界强度时,可以使用当前块的至少1个到至多N个运动矢量。这里,N可以表示等于或大于1的正整数(诸如2、3、4等)。

当运动矢量具有16像素(16pel)单位、8像素(8pel)单位、4像素(4pel)单位、整数像素(整数pel)单位、1/2像素(1/2pel)单位、1/4像素(1/4pel)单位、1/8像素(1/8pel)单位、1/16像素(1/16pel)单位、1/32像素(1/32pel)单位和1/64像素(1/64pel)单位中的至少一个时,可以应用本发明的以上示例。另外,当对当前块进行编码/解码时,可以针对每个像素单位选择性地使用运动矢量。

可以定义可能应用本发明的以上示例的条带类型,并且可以根据条带类型应用本发明的以上示例。

可能应用本发明的以上示例的块形状可以是正方形或非正方形。

以上示例可以以相同方式在编码器及解码器中被执行。

可以通过使用以上示例中的至少一个或通过组合以上示例中的至少两个来对图像进行编码/解码。

在编码器和解码器中应用以上示例的顺序可以是不同的,或者在编码器和解码器中应用示例的顺序可以是相同的。

可针对亮度信号和色度信号中的每个执行以上示例,或可针对亮度信号和色度信号以相同方式执行以上示例。

在编码器中被熵编码和在解码器中被熵解码的语法元素(诸如标志、索引等)中的至少一个可以使用以下至少一项:二值化、去二值化和熵编码/解码方法。这里,二值化、去二值化和熵编码/解码方法可以包括以下至少一项:有符号的0阶exp_Golomb的二值化/去二值化方法(se(v))、有符号的k阶exp_Golomb的二值化/去二值化方法(sek(v))、用于无符号正整数的0阶exp_Golomb的二值化/去二值化方法(ue(v))、用于无符号正整数的k阶exp_Golomb的二值化/去二值化方法(uek(v))、固定长度二值化/去二值化方法(f(n))、截断莱斯二值化/去二值化方法或截断一元二值化/去二值化方法(tu(v))、截断二元二值化/去二值化方法(tb(v))、基于上下文的自适应算术编码/解码方法(ae(v))、逐字节位串(b(8))、有符号的整数二值化/去二值化方法(i(n))、无符号的整数二值化/去二值化方法(u(n))、以及一元二值化/去二值化方法。

对当前块的编码/解码不限于以上示例中的任意一个,并且可以将以上示例的特定示例或其组合应用于当前块的编码/解码。

在上述实施例中,基于具有一系列步骤或单元的流程图来对方法进行描述,但是本发明不限于步骤的顺序,而是某些步骤可以与其他步骤同时执行或以不同的顺序执行。另外,本领域普通技术人员应当理解,流程图中的步骤并不相互排斥,在不影响本发明的范围的情况下,可以向流程图中添加其他步骤,或者可以从流程图中删除某些步骤。

实施例包括示例的各个方面。可以不对用于各个方面的所有可能的组合进行描述,但是本领域技术人员将能够认识到不同的组合。因此,本发明可以包括在权利要求的范围内的所有替换、修改和改变。

可以以可由各种计算机组件执行的并且被记录在计算机可读记录介质中的程序指令的形式实现本发明的实施例。计算机可读记录介质可以包括独立的程序指令、数据文件、数据结构等或者程序指令、数据文件、数据结构等的组合。记录在计算机可读记录介质中的程序指令可以是为本发明特别设计和构造的,或者是计算机软件技术领域的普通技术人员公知的。计算机可读记录介质的示例包括:磁性记录介质(诸如硬盘、软盘和磁带);光学数据存储介质(诸如CD-ROM或DVD-ROM);磁优化介质(诸如光软盘);以及被特别地构造成存储和实现程序指令的硬件装置(诸如只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。程序指令的示例不仅包括被编译器格式化的机械语言代码,而且包括可以由计算机使用解释器实现的高级语言代码。硬件装置可以被配置为由一个或更多个软件模块操作以执行根据本发明的处理,或者反之亦然。

尽管已经根据诸如详细元件的特定项目以及有限的实施例和附图描述了本发明,但是它们仅被提供以帮助更综合地理解本发明,并且本发明不限于上述实施例。本发明所属领域的技术人员应当理解,可以根据上面的描述进行各种修改和改变。

因此,本发明的精神不应被限于上述实施例,并且所附权利要求及其等同物的整个范围将落入本发明的范围和精神内。

工业适用性

本发明可用于对图像进行编码或解码。

59页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:图像处理装置、方法和程序

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类