首页> 中国专利> 用于吞吐量增强的图像编码/解码方法和设备以及存储比特流的记录介质

用于吞吐量增强的图像编码/解码方法和设备以及存储比特流的记录介质

摘要

提供了一种用于图像编码/解码的方法和设备。本公开的图像解码方法包括以下步骤:从比特流对关于是否执行运动信息校正的信息进行解码,基于所述信息获得关于当前块的第一运动信息的第二运动信息,以及通过使用所述第一运动信息和所述第二运动信息中的至少一个来恢复存储所述当前块和所述当前块的至少一个邻近块。

著录项

说明书

技术领域

本发明涉及一种图像编码/解码方法和设备以及存储比特流的记录介质。更具体地,本发明涉及一种用于提高吞吐量的图像编码/解码方法和设备以及存储比特流的记录介质。

背景技术

最近,在各种应用领域中,对诸如高清晰度(HD)图像和超高清晰度(UHD)图像的高分辨率和高质量图像的需求增加。然而,与常规图像数据相比,更高分辨率和质量的图像数据具有越来越多的数据量。因此,当通过使用诸如传统有线和无线宽带网络的介质来发送图像数据时,或者当通过使用传统存储介质来存储图像数据时,发送和存储的成本增加。为了解决随着图像数据的分辨率和质量的提高而出现的这些问题,对于更高分辨率和更高质量的图像,需要高效的图像编码/解码技术。

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

在传统的图像编码/解码中,在对相邻块的编码/解码完成之后执行运动估计和细化以及对当前块的帧内预测,因此,提高吞吐量可能受到限制。

发明内容

技术问题

本发明的目的在于提供一种图像编码/解码方法和设备,其中,所述方法和设备能够提高吞吐量。

另外,本发明的另一个目的在于提供一种方法和设备,该方法和设备用于使对邻近块和当前块的依赖性最小化,使得在完成对邻近块的编码/解码之前执行对当前块的编码/解码,以便提高编码器/解码器的吞吐量。

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

技术方案

根据本发明,提供了一种图像解码方法,包括:从比特流对关于是否执行运动信息细化的信息进行解码;基于所述信息获得针对关于当前块的第一运动信息的第二运动信息;以及通过使用第一运动信息和第二运动信息中的至少一个重建当前块和当前块的邻近块中的至少一个。

根据一个实施例,关于是否执行运动信息细化的所述信息是通过参数集或视频参数集、序列参数集、子画面参数集、画面参数集、自适应参数集、条带头、并行块头和分块(brick)头中的至少一个被用信号传送。

根据一个实施例,第一运动信息是关于当前块的初始运动信息,并且第二运动信息是通过对第一运动信息执行细化而获得的信息。

根据一个实施例,在当前块等于或大于预定块尺寸时通过将当前块分区为至少一个子块并对所述至少一个子块执行运动信息细化来获得第二运动信息。

根据一个实施例,在当前块的宽度和高度中的至少一个等于或大于预定块尺寸时通过将当前块分区为至少一个子块并对所述至少一个子块执行运动信息细化来获得第二运动信息。

根据一个实施例,所述预定块尺寸为16。

根据一个实施例,关于当前块的初始运动信息被用作子块的初始运动信息。

根据一个实施例,通过使用针对当前块的LO参考画面内的区域中的候选运动矢量指示的像素值以及使用针对当前块的L1参考画面内的区域中的与所述候选运动矢量相反的矢量指示的像素值来获得第二运动矢量。

根据一个实施例,关于当前块的第一运动信息被用于执行以下操作中的至少一个操作:预测当前块的所述邻近块的空间运动矢量以及确定去块滤波的边界强度。

根据一个实施例,关于当前块的第二运动信息被用于预测关于当前块的所述邻近块的同位块的运动信息。

此外,根据本发明,提供了一种图像编码方法,包括:确定是否执行运动信息细化;以及基于所述确定对关于是否执行运动信息细化的信息进行编码。

根据一个实施例,通过参数集或视频参数集、序列参数集、子画面参数集、画面参数集、自适应参数集、条带头、并行块头和分块头中的至少一个来用信号传送关于是否执行运动信息细化的信息。

此外,根据本发明,提供了一种图像解码设备,其中,所述设备从比特流对关于是否执行运动信息细化的信息进行解码;基于所述信息获得针对关于当前块的第一运动信息的第二运动信息;以及通过使用第一运动信息和第二运动信息中的至少一个重建当前块和当前块的邻近块中的至少一个。

根据一个实施例,关于是否执行运动信息细化的所述信息是通过参数集或视频参数集、序列参数集、子画面参数集、画面参数集、自适应参数集、条带头、并行块头和分块头中的至少一个被用信号传送。

根据一个实施例,第一运动信息是关于当前块的初始运动信息,并且第二运动信息是通过对第一运动信息执行细化而获得的信息。

根据一个实施例,在当前块等于或大于预定块尺寸时通过将当前块分区为至少一个子块并对所述至少一个子块执行运动信息细化来获得第二运动信息。

根据一个实施例,在当前块的宽度和高度中的至少一个等于或大于预定块尺寸时通过将当前块分区为至少一个子块并对所述至少一个子块执行运动信息细化来获得第二运动信息。

根据一个实施例,所述预定块尺寸为16。

根据一个实施例,关于当前块的初始运动信息被用作关于所述子块的初始运动信息。

此外,根据本发明,提供了一种存储在图像解码方法中使用的视频数据的计算机可读非暂时性记录介质,其中,图像数据包括关于是否执行运动信息细化的信息,并且在所述图像解码方法中,关于是否执行运动信息细化的所述信息被用于获得针对关于当前块的第一运动信息的第二运动信息,并且第一运动信息和第二运动信息中的至少一个被用于重建当前块和当前块的邻近块中的至少一个。

有益效果

根据本发明,提供了一种图像编码/解码方法和设备,由此提高了吞吐量。

另外,根据本发明,提供了一种方法和设备,该方法和设备用于使对邻近块和当前块的依赖性最小化,使得在完成对邻近块的编码/解码之前执行对当前块的编码/解码,从而提高编码器/解码器的吞吐量。

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

附图说明

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

图2是示出应用了本发明的解码设备的配置的框图。

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

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

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

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

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

图8是示出根据本发明的实施例的图像编码/解码方法和设备以及存储比特流的记录介质的流程图。

图9a是示出根据本发明的实施例的关于当前块的运动信息的预测的示图。

图9b是示出根据本发明的另一实施例的关于当前块的运动信息的预测的示图。

图10是示出根据本发明的实施例的填充参考区域的示图。

图11是示出根据本发明的实施例的调整插值滤波器的长度的示图。

图12a是示出根据本发明的实施例的当执行运动信息细化时运动矢量候选超过最小运动矢量范围时的操作的示图。

图12b是示出根据本发明的实施例的当执行运动信息细化时运动矢量候选超过MCTS中的限制时的操作的示图。

图13a至13c是分别示出根据本发明的实施例的对当前块进行编码的示图。

图14是根据本发明的实施例的产生合并候选列表的流程图的示图。

图15a至15c是分别示出根据本发明的实施例产生的合并候选列表的示图。

图16是示出在根据本发明的实施例的当在编码器中预测关于各个块的运动信息时未使用的邻近块的位置的示图。

图17a和17b是分别示出根据本发明的实施例的指定虚拟编码区域的示图。

图18是示出根据本发明的实施例的通过使用帧内预测对包括两个子块的并行PU执行解码的示图。

图19是示出根据本发明的实施例的通过使用帧内预测对包括三个子块的并行PU执行解码的示图。

图20是示出根据本发明的另一实施例的通过使用帧内预测对包括三个子块的并行PU执行解码的示图。

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

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

具体实施方式

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

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

将理解的是,在本说明书中,当元件仅被称为“连接到”或“结合到”另一元件而不是“直接连接到”或“直接结合到”所述另一元件时,所述元件可“直接连接到”或“直接结合到”所述另一元件,或者在所述元件与所述另一元件之间具有其他元件的情况下连接到或结合到所述另一元件。相反,应该理解,当元件被称为“直接结合”或“直接连接”到另一元件时,不存在中间元件。

此外,在本发明的实施例中示出的组成部件被独立地示出,以便呈现彼此不同的特性功能。因此,这并不意味着每一个组成部件以单独的硬件或软件的组成单元被组成。换句话说,为了方便,每一个组成部件包括枚举的组成部件中的每一个。因此,每一个组成部件中的至少两个组成部件可被组合形成一个组成部件,或者一个组成部件可被划分为用于执行每一个功能的多个组成部件。在没有脱离本发明的本质的情况下,每一个组成部件被组合的实施例以及一个组成部件被划分的实施例也被包括在本发明的范围中。

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

此外,一些组成元件可能不是执行本发明的必要功能的不可缺的组成元件,而是仅提升其性能的可选组成元件。可通过仅包括用于实施本发明的实质的不可缺的组成部件而排除在提升性能时使用的组成元件来实施本发明。仅包括所述不可缺的组成元件而排除在仅提升性能时使用的可选组成元件的结构也被包括在本发明的范围中。

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

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

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

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

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

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

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

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

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

在实施例中,特定信息、数据、标志、索引、元素和属性等中的每一个可具有值。等于“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)头信息。术语“并行块组”可表示一组并行块并且具有与条带相同的含义。

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

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

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

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

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

参考画面列表可指包括用于帧间预测或运动补偿的一个或更多个参考画面的列表。存在几种类型的可用参考画面列表,所述可用参考画面列表包括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、加法器225、滤波器单元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中。单元深度表示与对单元进行分区相关的次数和/或程度。因此,更低等级的单元的分区信息可包括关于更低等级的单元的尺寸的信息。

分区结构可表示编码单元(CU)在LCU 310内的分布。可根据是否将单个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进行分区。

参照图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的尺寸。当一个编码单元被分区成两个子编码单元时,可称编码单元被二分区,或者根据二叉树分区结构被分区。

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

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

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

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

在二叉树分区与三叉树分区之间可没有优先级。也就是说,与四叉树的叶节点相应的编码单元可进一步被执行二叉树分区和三叉树分区中的任意分区。此外,通过二叉树分区或三叉树分区产生的编码单元可被执行进一步的二叉树分区或进一步的三叉树分区,或者可不被进一步分区。

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

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

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

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

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

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

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

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

然而,当编码单元(即,用于分区的基本单元)的尺寸大于最大变换块的尺寸时,可递归地对该编码单元进行分区,直到将该编码单元的尺寸减小到等于或小于最大变换块的尺寸为止。例如,当编码单元的尺寸为64×64时并且当最大变换块的尺寸为32×32时,可将该编码单元分区成用于变换的四个32×32的块。例如,当编码单元的尺寸为32×64并且最大变换块的尺寸为32×32时,可将该编码单元分区成用于变换的两个32×32的块。在这种情况下,不单独用信号传送编码单元的用于变换的分区,并且可通过编码单元的水平尺寸或垂直尺寸与最大变换块的水平尺寸或垂直尺寸之间的比较来确定编码单元的用于变换的分区。例如,当编码单元的水平尺寸(宽度)大于最大变换块的水平尺寸(宽度)时,可将该编码单元垂直地二等分。例如,当编码单元的垂直尺寸(长度)大于最大变换块的垂直尺寸(长度)时,可将该编码单元水平地二等分。

可在编码单元的更高等级用信号传送或确定编码单元的最大尺寸和/或最小尺寸的信息以及变换块的最大尺寸和/或最小尺寸的信息。所述更高等级可以是例如序列级、画面级、条带级、并行块组级、并行块级等。例如,可将编码单元的最小尺寸确定为4×4。例如,可将变换块的最大尺寸确定为64×64。例如,可将变换块的最小尺寸确定为4×4。

可在编码单元的更高等级用信号传送或确定与四叉树的叶节点相应的编码单元的最小尺寸(四叉树最小尺寸)的信息和/或多类型树的从根节点到叶节点的最大深度(多类型树的最大树深度)的信息。例如,所述更高等级可以是序列级、画面级、条带级、并行块组级、并行块级等。可针对画面内条带和画面间条带中的每一个用信号传送或确定四叉树的最小尺寸的信息和/或多类型树的最大深度的信息。

可在编码单元的更高等级用信号传送或确定CTU的尺寸与变换块的最大尺寸之间的差信息。例如,所述更高等级可以是序列级、画面级、条带级、并行块组级、并行块级等。可基于编码树单元的尺寸和所述差信息来确定与二叉树的各个节点相应的编码单元的最大尺寸(在下文中,称为二叉树的最大尺寸)的信息。与三叉树的各个节点相应的编码单元的最大尺寸(在下文中,称为三叉树的最大尺寸)可依据条带的类型而变化。例如,针对画面内条带,三叉树的最大尺寸可以是32×32。例如,针对画面间条带,三叉树的最大尺寸可以是128×128。例如,可将与二叉树的各个节点相应的编码单元的最小尺寸(在下文中,称为二叉树的最小尺寸)和/或与三叉树的各个节点相应的编码单元的最小尺寸(在下文中,称为三叉树的最小尺寸)设置为编码块的最小尺寸。

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

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

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

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

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

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

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

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

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

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

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

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

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

图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模式实施方案的存储器消耗和装置复杂性。

本发明涉及一种基于每个块的图像编码/解码方法和设备以及存储比特流的记录介质,并且可根据将在下文中描述的实施例中的至少一个来执行图像编码/解码。

本公开的图像编码/解码方法和设备以及存储比特流的记录介质可并行地对多个块进行编码/解码,或者在完成对邻近块的编码/解码之前对当前块进行编码/解码。

这里,编码/解码可表示帧内预测、帧间预测、运动补偿、变换、逆变换、量化、反量化、熵编码/解码、去块滤波、自适应样点偏移和滤波环内滤波中的至少一个。另外,编码/解码可表示编码/解码的处理。

另外,在稍后将描述的本发明的示例中,块或CU(编码单元)可被配置有当前画面内的M×N尺寸的亮度像素以及等于或小于M×N尺寸的相应色度像素,并且可以是编码器/解码器中的执行帧内或帧间预测方法、运动矢量预测、变换和量化以及熵编码/解码的单元。

在稍后将描述的示例中,基于亮度块描述块或CU,并且本发明可类似地被应用于色度块。

在稍后将描述的示例中,示出关于块的部分信息的实施例,但不限于此。关于块的至少一条信息的特定实施例和实施例的组合中的至少一个可被应用于对当前块的编码/解码中的至少一个。

另外,在稍后将描述的示例中,在关于块的信息中示出关于块的部分信息的各种示例,但不限于此。在关于块的信息中,关于块的至少一条信息的特定实施例以及实施例的组合可被应用于对当前块的编码/解码中的至少一个。

关于块的信息可表示关于邻近块的信息、关于参考块的信息和关于当前块的信息中的至少一个。

另外,关于块的信息可包括至少一个编码参数。另外,关于块的信息可包括用于帧间预测、帧内预测、变换、逆变换、量化、反量化、熵编码/解码和环内滤波的至少一条信息。换句话说,关于块的信息可表示以下项中的至少一个值或以下项的组合:块尺寸、块深度、块分区信息、块形状(正方形或非正方形)、是否执行四叉树形式的分区、是否执行二叉树形式的分区、二叉树形式的分区方向(水平方向或垂直方向)、二叉树形式的分区形状(对称或不对称分区)、预测模式(帧内预测或帧间预测)、帧内亮度预测模式/角度。帧内色度预测模式/角度、帧内分区信息、帧间分区信息、编码块分区标志、预测块分区标志、变换块分区标志、参考样点滤波器抽头、参考样点滤波器系数、预测块滤波器抽头、预测块滤波器系数、预测块边界滤波器抽头、预测块边界滤波器系数、运动矢量(L0、L1、L2、L3等中的至少一个的运动矢量)、运动矢量差(L0、L1、L2、L3等中的至少一个的运动矢量差)、帧间预测角度(单向预测和双向预测中的至少一个的帧间预测角度)、参考图像索引(L0、L1、L2、L3等中的至少一个的参考图像索引)、帧间预测指示符、预测标志利用标志、参考图像列表、运动矢量预测索引、运动矢量预测候选、运动矢量候选列表、是否使用合并模式、合并候选、合并候选、合并候选列表、是否使用跳过模式、插值滤波器类型、插值滤波器抽头,插值滤波器系数、运动矢量的大小、运动矢量表示准确度(运动矢量表示单元,诸如,整数样点、1/2样点、1/2样点、1/8样点、1/16样点、1/32样点等)、变换类型、变换大小、关于是否使用首次变换的信息、关于是否使用二次变换的信息、首次变换索引、二次变换索引、关于是否存在残差信号的信息、编码块模式、编码块标志、量化参数、残差量化参数、量化矩阵、是否应用环内滤波器、环内滤波器系数、环内滤波器抽头、环内滤波器图形/形状、是否应用去块滤波器、去块滤波器系数、去块滤波器抽头、去块滤波器强度、去块滤波器图形/形状、是否应用自适应样点偏移、自适应样点偏移值、自适应样点偏移类别、自适应样点偏移类型、是否应用自适应环路滤波器、自适应环路滤波器系数、自适应环路滤波器抽头、自适应环路滤波器图形/形状、二值化/去二值化方法、上下文模型确定方法、上下文模型更新方法、是否执行常规模式、是否执行b旁路模式、上下文二进制位、旁路二进制位、有效系数标志、最后有效系数标志、系数组单元编码标志、最后有效系数位置、关于系数值是否大于1的标志、关于系数值是否大于2的标志、关于系数值是否大于3的标志、关于残差系数值的信息、符号信息、重建亮度样点、重建色度样点、残差亮度样点、残差色度样点、亮度变换系数、色度变换系数、亮度量化等级、色度量化等级、变换系数扫描方法、针对运动矢量的解码器侧搜索区域的大小、针对运动矢量的解码器侧搜索区域的形状、针对运动矢量的解码器侧搜索次数、关于CTU尺寸的信息、关于最小块尺寸的信息、关于最大块尺寸的信息、关于最大块深度的信息,关于最小块深度的信息、条带标识信息、条带分区信息、并行块标识信息、并行块类型、并行块分区信息、输入样点位深度、重建样点位深度、残差样点位深度、变换系数位深度和量化等级位深度。

图8是示出根据本发明实施例的图像编码/解码方法和设备以及存储比特流的记录介质的流程图。

本公开的图像编码/解码方法和设备可执行以下步骤:加载关于邻近块的信息,对当前块进行编码/解码;存储关于当前块的运动信息;对当前块执行运动信息细化;并且/或者存储细化之后的关于当前块的运动信息。

在下文中,将描述加载关于邻近块的信息的步骤。

本公开的图像编码/解码方法和设备可加载关于邻近块的信息。加载的关于邻近块的信息可被用于对当前块进行编码/解码中的帧间预测、帧内预测、变换、运动信息预测、逆变换、量化、反量化、熵编码/解码、去块、环内滤波等。

在下文中,将描述对当前块进行编码/解码。

本公开的图像编码/解码方法和设备可对当前块进行编码/解码。这里,可通过使用关于邻近块的信息对当前块执行编码/解码步骤中的至少一个。这里,对当前块执行编码/解码可包括当前块的帧间预测、帧内预测、变换、运动信息预测、逆变换、量化、反量化、熵编码/解码、去块和环路滤波中的至少一个。

当对当前块执行运动信息预测时,可通过将关于邻近块的运动信息视为细化之前的运动信息(未细化运动信息)、或者在编码器/解码器中预定义的固定值、或者作为由编码器/解码器以预定义方式推导出的运动信息来使用关于邻近块的运动信息。

这里,运动信息预测可表示用于通过使用关于已经完成编码/解码的空间上或时间上相邻位置的运动信息来对当前块进行编码/解码的步骤(诸如运动矢量预测、合并候选列表产生、运动矢量候选列表产生等)中的至少一个。

另外,邻近块可表示包括运动信息的块,其中,可通过使用在编码器/解码器中预定义的位置或者通过使用在编码器/解码器中预定义的方法将所述运动信息用于运动信息预测。

另外,在编码器/解码器中预定义的固定运动信息可被定义为(0,0)的矢量,或者在与时间相关联的位置处的缩放矢量,或者被定义为不可用的运动信息。

在示例中,当运动信息细化的方法被用于邻近块或当前块时,可通过使用细化之前的运动信息来将关于邻近块的运动信息用于运动信息预测。换句话说,可通过将关于邻近块的运动信息确定为细化之前的运动信息来将关于邻近块的运动信息用于当前块的运动信息预测。

执行运动信息细化的方法中的至少一种可表示以下方法:该方法通过使用已经由解码器重建的在空间上相邻的像素、在参考画面中包括的在时间上相邻的像素、或者通过使用解码的多条运动信息来推导新的运动信息,并且通过使用推导的运动信息产生重建像素。这里,可通过使用解码的运动信息执行分区为子块的操作来推导至少一条新运动信息。

图9a是示出根据本发明实施例的关于当前块的运动信息的预测的示图。

参照图9a,即使对邻近块A执行了DMVR(解码器侧运动矢量细化),也可通过使用执行DMVR之前存储的关于邻近块的运动信息(或未细化运动信息)和/或细化之后的运动信息(或细化的运动信息)来执行对当前块C的运动信息预测。DMVR是运动信息细化的示例,并且表示自主对推导的运动信息进行细化的模式。

在示例中,当邻近块的位置被包括在与当前块相同的预定单元中时,可通过将关于邻近块的运动信息视为细化之前的运动信息、在编码器/解码器中预定义的固定运动信息或不可用的运动信息来将关于邻近块的运动信息用于对当前块的运动信息预测。

这里,预定单元可以是在编码器/解码器中预定义的预定尺寸,或者可以是通过头部或参数集用信号传送的单元的尺寸的尺寸。另外,预定单元可以是画面、子画面、分块、并行块组、并行块、条带和条带片段中的至少一个。

可将画面分区为至少一行并行块和至少一列并行块。

可将画面分区为配置有至少一行并行块和至少一列并行块的至少一个子画面。子画面是画面内具有正方形或非正方形形状的区域,并且可包括至少一个CTU。另外,至少一个并行块/分块/条带可被包括在一个子画面内。

并行块是画面内具有正方形或非正方形形状的区域,并且可包括至少一个CTU。另外,并行块可被分区为至少一个分块。

分块可表示并行块内的至少一行CTU。并行块可被分区为至少一个分块,并且每一个分块可包括至少一行CTU。未被分区为至少两块的并行块可表示分块。

条带可包括画面内的至少一个并行块,并且至少一个分块可被包括在并行块内。

在另一示例中,当邻近块的位置被包括在与当前块相同的预测区域或变换区域内或相同CTU区域中时,可通过将关于邻近块的运动信息视为细化之前的运动信息、在编码器/解码器中预定义的固定运动信息或者不可用运动信息来将关于邻近块的运动信息用于对当前块的运动信息预测。

在另一示例中,当邻近块的位置被包括在与当前块相同的一行CTU中时,通过将关于邻近块的运动信息视为细化之前的运动信息、在编码器/解码器中预定义的固定运动信息或者不可用运动信息来将关于邻近块的运动信息用于对当前块的运动信息预测。

在另一示例中,当邻近块的位置相应于与当前块相邻的上侧时,可通过将关于邻近块的运动信息视为细化之前的运动信息、在编码器/解码器中预定义的固定运动信息或不可用运动信息来将关于邻近块的运动信息用于对当前块的运动信息预测。

在另一示例中,当邻近块的位置相应于与当前块相邻的左侧时,可通过将关于邻近块的运动信息视为细化之前的运动信息、在编码器/解码器中预定义的固定运动信息或不可用运动信息来将关于邻近块的运动信息用于对当前块的运动信息预测。

在另一示例中,当邻近块的位置相应于按照编码/解码顺序恰好在前并且与当前块相邻的块时,可通过将关于邻近块的运动信息视为细化之前的运动信息、在编码器/解码器中预定义的固定运动信息或不可用运动信息来将关于邻近块的运动信息用于对当前块的运动信息预测。

在另一示例中,当邻近块的位置包括在与当前块的尺寸相同的最大CU尺寸、最大预测区域、最大变换区域或编码器/解码器中相同预定义的管线缓冲器大小中时,通过将关于邻近块的运动信息视为细化之前的运动信息、编码器/解码器中预定义的固定运动信息或不可用运动信息来将关于邻近块的运动信息用于对当前块的运动信息预测。

在另一示例中,当邻近块的位置包括在块树结构内的与当前块相同的父节点中时,可通过将关于邻近块的运动信息视为细化之前的运动信息、在编码器/解码器中预定义的固定运动信息或不可用的运动信息来将关于邻近块的运动信息用于对当前块的运动信息预测。

当对当前块执行运动信息预测时,在关于邻近块的运动信息中,可根据用途选择性地将细化之前的运动信息或细化之后的运动信息用于对当前块进行编码/解码。另外,细化之前的运动信息和细化之后的运动信息都可被用于对当前块进行编码/解码,或者通过将细化之前的运动信息和细化之后的运动信息组合而获得的信息可被用于对当前块进行编码/解码。

在示例中,当通过使用关于空间上相应的基层或使用可缩放性的下层内的块的运动信息来执行关于当前块的运动信息预测时,选择性地缩放细化之前的运动信息并且将结果用于对当前块的运动信息预测,或者缩放细化之后的运动信息并且将结果用于对当前块的运动信息预测。在本文中,可通过将哪条信息将被使用包括在参数集或头信息(VPS、SPS、PPS、条带头、并行块头等)中来用信号传送哪条运动信息将被使用。

在另一示例中,当OBMC(重叠块运动补偿)被用于当前块并且关于邻近块的运动信息是否与关于当前块的运动信息相同被确定时,关于邻近块的细化之后的运动信息可被用于对当前块进行编码/解码。通过使用此操作,可确定是否对当前块执行附加运动补偿或OBMC。这里,可通过将哪条运动信息将被使用包括在参数集或头信息(VPS、SPS、PPS、条带头、并行块头等)中来用信号传送哪条运动信息将被使用。

当对当前块执行运动信息预测时,可使用关于包括在特定区域中的邻近块的在细化之前的运动信息,或者可选择性地使用关于包括在特定区域中的邻近块的在细化之后的运动信息。这里,为了确定是将细化之前的运动信息还是将细化之后的运动信息用于当前块,通过使用表示存储在内部存储器、外部存储器或线缓冲器中的信息中的哪条信息的标志,或者通过使用表示邻近块是执行运动信息细化的块的模式信息,来确定是将细化之前的运动信息还是将细化之后的运动信息用于当前块,并且将所确定的信息用于当前块的运动信息预测。

在示例中,图9b是示出本发明的另一示例并且示出对当前块的运动信息预测的示图。如在图9b的示例中所示出的,当对当前块C执行运动信息预测时,关于上方邻近块的运动信息被包括在线缓冲器中,因此可使用细化之后的运动信息,并且关于左侧块的运动信息被包括在内部存储器中,因此可选择性地使用细化之前的运动信息。

在另一示例中,可根据预定义区域来确定是使用细化之前的运动信息还是使用细化之后的运动信息。在示例中,针对关于上方邻近块的运动信息,可将细化之后的运动信息设置为用于对当前块进行编码/解码,并且针对关于左侧块的运动信息,可将细化之前的运动信息设置为用于对当前块进行编码/解码。这里,可以不用信号传送表示将使用存储在内部存储器、外部存储器或线缓冲器中的信息中的哪条信息的标志。

当对当前块执行运动信息预测并且执行空间运动信息预测时,即使当通过使用细化之前的运动信息执行运动信息预测时,当执行时间运动信息预测时也可通过使用细化之后的运动信息来推导关于当前块的时间运动信息。因此,在针对当前块预测的运动信息列表内,可存在细化之前的运动信息和细化之后的运动信息。

在示例中,当产生运动矢量候选列表或产生合并候选列表,并且运动矢量候选或合并候选的最大数量为N时,在通过经由空间运动信息预测使用细化之前的运动信息来配置列表的同时,可通过在可用运动信息的数量小于N时执行时间运动信息预测来考虑先前编码/解码画面的特定位置处的运动信息的时间差来产生时间运动信息。这里,针对关于先前画面的特定位置的运动信息,可使用细化之后的运动信息。因此,最终推导出的预测时间运动信息可表示细化之后的运动信息。这里,N可以是正整数。

在另一示例中,当产生运动矢量候选列表或产生合并候选列表时,即使当推导缩放时间运动信息或附加合并候选时,也可使用细化之后的运动信息。

当对一个画面进行熵编码/解码并且通过使用诸如运动信息或运动矢量差的运动信息从先前编码/解码的信息推导统计信息时,可选择性地使用细化之后的运动信息或细化之前的运动信息,或者可使用这两种信息。这里,可通过将哪种方法将被使用包括在参数集或头信息(VPS、SPS、PPS、条带头、并行块头等)中来用信号传送哪种方法将被使用。可选地,可使用通过将细化之后的运动信息和细化之前的运动信息组合而获得的信息。

在示例中,在细化之前的运动信息中包括的运动矢量和细化之后的运动信息中包括的运动矢量的绝对值的大小可被视为运动矢量残差值,并且其可被用于计算统计信息。推导出的统计信息可被用于对当前画面进行熵编码/解码、推导全局运动信息、推导对象内的运动等。

在另一示例中,可通过仅使用细化之前的运动信息或细化之后的运动信息来计算关于运动矢量的统计信息。推导出的统计信息可被用于对当前画面进行熵编码/解码、推导全局运动信息、推导对象内的运动等。

在另一示例中,细化之前的运动信息或细化之后的运动信息可被用于转码。

在对当前块进行编码/解码时,可使用关于与当前块相邻的邻近块的细化之前和/或细化之后的运动信息。

在示例中,在当前块的帧间预测、运动补偿、变换、逆变换、量化、反量化、熵编码/解码、去块滤波、自适应样点偏移和自适应环路滤波中的至少一个中,可使用关于与当前块相邻的邻近块的细化之前的运动信息。

例如,可通过使用关于与当前块相邻的邻近块的细化之前的运动信息来预测空间运动矢量。可选地,可通过使用关于与当前块相邻的邻近块的细化之前的运动信息来确定去块滤波中的边界强度。

在另一示例中,在当前块的帧间预测、运动补偿、变换、逆变换、量化、反量化、熵编码/解码、去块滤波、自适应样点偏移和自适应环路滤波中的至少一个中,可使用关于与当前块相邻的邻近块的细化之后的运动信息。

例如,可通过使用关于在时间上与当前块相邻的邻近块的细化之后的运动信息来确定关于当前块的运动信息。这里,关于在时间上与当前块相邻的邻近块的细化之后的运动信息可表示关于当前块的col块的运动信息。

可选地,可通过使用关于与当前块相邻的邻近块的细化之后的运动信息来确定去块滤波中的边界强度。

在另一示例中,在产生当前块的运动矢量候选列表和产生当前块的合并候选列表的过程中的至少一个中,可使用关于与当前块相邻的邻近块的细化之前的运动信息。这里,可通过使用细化之前的运动信息来确定时间运动矢量或基于每一个子块的时间运动矢量。

在另一示例中,在产生当前块的运动矢量候选列表和产生当前块的合并候选列表过程中的至少一个中,可使用关于与当前块相邻的邻近块的细化之后的运动信息。这里,可通过使用细化之前的运动信息来确定空间运动矢量。

在另一示例中,可通过仅使用关于与当前块相邻的邻近块的细化之前的运动信息来配置当前块的运动矢量候选列表和合并候选列表中的至少一个。

在另一示例中,当关于与当前块相邻的邻近块的运动信息是细化之后的运动信息时,当配置当前块的运动矢量候选列表和合并候选列表中的至少一个时,可将关于邻近块的细化之后的运动信息确定为不可用。

另外,可将当前块的细化之前的运动矢量和细化之后的运动矢量存储在存储器或缓冲器中,并且可在对与当前块相邻的邻近块的运动矢量候选列表和合并候选列表中的至少一个进行配置时使用当前块的细化之前的运动矢量和细化之后的运动矢量。

另外,在执行运动信息细化之后,可通过利用细化之后的运动矢量替换针对当前块存储的细化之前的运动矢量来存储针对当前块存储的细化之前的运动矢量。

另外,可通过利用细化之前的运动矢量替换针对当前块的运动信息细化之后存储的细化之后的运动矢量来存储针对当前块的运动信息细化之后存储的细化之后的运动矢量。

在另一示例中,当对当前块执行空间运动信息预测时,可使用关于邻近块的细化之前的运动信息,并且当执行时间运动信息预测、基于每一个子块的时间运动矢量预测以及去块滤波时,可使用细化之后的运动信息。

在另一示例中,当对当前块执行空间运动信息预测和去块滤波时,可使用关于邻近块的细化之前的运动信息,并且当基于每一个子块执行时间运动信息预测以及时间运动矢量预测时,可使用细化之后的运动信息。

在另一示例中,当对当前块执行空间运动信息预测时,可使用关于邻近块的细化之前的运动信息,并且当基于每一个子块执行去块滤波、时间运动信息预测以及时间运动矢量预测时,可使用细化之后的运动信息。

在另一示例中,在当前块和邻近块被包括在同一CTU中时,可在对当前块的运动矢量候选列表和合并候选列表中的至少一个进行配置时使用关于邻近块的细化之前的运动信息。

在另一示例中,在当前块和邻近块不被包括在同一CTU中时,可在对当前块的运动矢量候选列表和合并候选列表中的至少一个进行配置时使用关于邻近块的细化之后的运动信息。

在另一示例中,在当前块和邻近块被包括在同一行CTU中时,可在对当前块的运动矢量候选列表和合并候选列表中的至少一个进行配置时使用关于邻近块的细化之前的运动信息。

在另一示例中,在当前块和邻近块不被包括在同一行CTU中时,可在对当前块的运动矢量候选列表和合并候选列表中的至少一个进行配置时使用关于邻近块的细化之后的运动信息。

当对当前块执行运动信息预测,并且邻近块的位置被包括在按编码/解码顺序恰好在前的任意区域内时,可通过将关于邻近块的运动信息视为细化之前的运动信息或在编码器/解码器中预定义的固定运动信息来使用关于邻近块的运动信息。可选地,当邻近块的位置被包括在按编码/解码顺序恰好在前的任意区域内时,可通过将关于邻近块的运动信息视为细化之后的运动信息或在编码器/解码器中预定义的固定运动信息来使用关于邻近块的运动信息。

这里,在编码器/解码器中预定义的固定运动信息可被定义为(0,0)的矢量、在与时间相关联的位置处的缩放矢量、或不可用运动信息。

在以上示例中,运动信息可包括运动矢量、参考图像索引、帧间预测指示和参考图像利用标志中的至少一个。

在上述示例中,当确定去块滤波中的边界强度时,可使用细化之前的运动矢量或细化之后的运动矢量,并且可根据所确定的边界强度来确定是否对块边界执行滤波。当确定应用滤波时,可执行强滤波和弱滤波中的至少一个。

在上述示例中,当跳过模式或合并模式被用于特定块,执行双向预测,并且当前图像和L0角度的参考图像之间的POC差与当前图像和L1角度的参考图像之间的POC差的乘积小于0时,可确定执行了关于特定块的运动信息细化。当当前图像和L0角度的参考图像之间的POC差与当前图像和L1角度的参考图像之间的POC差的乘积小于0时,这可表示当前图像位于L0方向上的参考图像和L1方向上的参考图像之间。

在下文中,将描述存储关于当前块的运动信息的步骤。

本公开的图像编码/解码方法和设备可存储关于当前块的运动信息。

在示例中,在当前块是被执行运动信息细化的块时,可将细化之前的运动信息存储在线缓冲器、内部存储器或外部存储器中,并且在当前块是不被执行运动信息细化的块时,可将解码的运动信息存储在线缓冲器、内部存储器或外部存储器中。

这里,当针对当前块存储细化之前的运动信息时,可在执行对在当前块之后被编码/解码的邻近块进行编码/解码的至少一个处理时使用存储的细化之前的运动信息。

另外,当特定块不与CTU、画面、子画面、条带、并行块、分块等的边界相邻时,可存储关于特定块的细化之前的运动信息,并且当执行对在当前块之后被编码/解码的邻近块进行编码/解码的至少一个处理时,可使用存储的细化之前的运动信息。

在另一示例中,当存储关于当前块的信息并且当前块是被执行运动信息细化的块时,可将表示细化之前的运动信息的标志或模式信息或细化之前的运动信息以及在编码器/解码器中预定义的固定值中的至少一个存储在线缓冲器、内部存储器和外部存储器中。

这里,预定义值可以是(0,0)的矢量或在与编码/解码已经完成的先前时间画面相关联的位置处的矢量。

另外,在线缓冲器和外部存储器中的存储导致存储器带宽的消耗,并且因此可执行在内部存储器中的存储以便减少存储器带宽。

在另一示例中,当存储关于当前块的信息时,在用于对包括在预定单元中的块进行运动信息预测的内部存储器中,可存储细化之前的运动信息或在编码器/解码器中预定义的固定值。

这里,运动信息预测可表示当通过使用关于已经完成编码/解码的在空间或时间上相邻位置的运动信息来对当前块进行编码/解码时使用的步骤,诸如运动矢量预测、合并候选列表产生、运动矢量候选列表产生等。

这里,预定单元可以是在编码器/解码器中预定义的固定尺寸,例如,CTU、最大CU尺寸和块树结构中的父节点的块尺寸。可选地,可通过SPS、PPS、并行块组、并行块、条带或条带片段的头或参数集用信号传送块尺寸。

在另一示例中,当存储关于当前块的信息,并且当前块的模式是执行运动信息细化的模式时,细化之前的运动信息可被存储,以便用于对当前块之后的块进行空间运动信息预测或用于对当前块的边界进行去块。换句话说,细化之前的运动信息可被存储在内部存储器或线缓冲器中,并且可在对当前块之后被编码/解码的块执行空间运动信息预测时被用作至少一条候选运动信息。另外,当通过在内部存储器或线缓冲器中存储了细化之前的运动信息对当前块执行去块时,可使用细化之前的运动信息。

在另一示例中,当存储关于当前块的信息,并且当前块的模式是执行运动信息细化的模式时,细化之前的运动信息可被存储,以便被用于对当前块之后的块进行空间运动信息预测。换句话说,细化之前的运动信息可被存储在内部存储器或线缓冲器中,并且可在对当前块之后被编码/解码的块执行空间运动信息预测时被用作至少一条候选运动信息。

在另一示例中,当存储关于当前块的信息,并且当前块的模式是执行运动信息细化的模式时,细化之后的运动信息可被存储,以便被用于对当前块之后的块的与当前块的边界执行去块。可通过在内部存储器或线缓冲器中存储细化之后的运动信息来将细化之后的运动信息用于对当前块的边界执行去块。

在下文中,将描述对当前块执行运动信息细化的步骤。

本公开的图像编码/解码方法和设备可对当前块执行运动信息细化。当对当前块执行运动信息细化时,可通过使用通过以下方式推导的运动信息对在空间或时间上相邻的位置执行运动估计和细化来推导使图像劣化最小化的细化之后的运动信息:加载关于邻近块的信息,对当前块进行编码/解码,以及/或者存储关于当前块的运动信息。随后,可通过使用细化之后的运动信息来产生或预测当前块的重建像素。

对当前块的运动信息细化可能需要以小尺寸基于每个块执行运动估计或推导运动信息的附加步骤。因此,处理附加步骤导致耗时。另外,由于还产生了用于对后续块进行编码/解码的等待时间,因此吞吐量可能会降低。

参照图8,本公开的编码/解码方法和设备可在完成对邻近块的编码/解码之前开始对当前块的编码/解码。因此,可解决由于运动信息引起的延迟或吞吐量的降低。

执行运动信息细化的模式可以是通过使用解码的信息和像素执行诸如运动估计的预定处理来更新运动信息的模式。换句话说,所述模式是通过对熵解码和/或运动信息预测计算的运动信息再次执行细化来推导新运动信息的模式。例如,执行运动信息细化的模式可包括DMVR、光流(BIO、BDOF)、FRUC、双边匹配等。

当对当前块执行运动信息细化并且当前块大于预定运动信息细化执行块的尺寸时,可通过将当前块分区为子块来执行运动信息细化。

在示例中,可将当前块分区为至少一个子块,并且可对每一个子块执行运动信息细化。

在另一示例中,当子块被定义为W×H的形状(这里,W和H分别是除0之外的正整数,其中,W表示宽度,H表示高度)时,可通过在当前块大于W×H的形状时将当前块分区为至少一个子块来执行运动信息细化。这里,W和H可以是16。

在另一示例中,子块可被定义为固定数量的像素而不是形状,并且可通过将当前块分区为具有固定数量的像素的子块来执行运动信息细化。

在另一示例中,可通过根据形状和像素的数量的组合将当前块分区为子块来执行运动信息细化。

这里,每一个子块可共享关于当前块(CU)的运动信息。另外,每一个子块可将关于当前块的运动信息用作用于运动信息细化的开始运动矢量。可选地,关于当前块的运动信息可被用作关于每一个子块的初始运动信息。另外,关于当前块的预测列表利用标志信息可被用作关于每一个子块的预测列表利用标志信息。这里,在对每一个子块执行运动信息细化之前,可在对当前块执行运动信息细化之前将初始运动信息设置为运动信息。

因此,可对每一个子块独立地执行运动补偿而不依赖于彼此,并且本公开的图像编码/解码方法和设备可执行并行处理。

在另一示例中,在当前块的宽度和/或高度大于16时,可将当前块分区为宽度和/或高度为16的子块。这里,可基于每一个子块执行运动信息细化。

这里,预定义的运动信息细化执行块的最大尺寸可以是16×16。

这里,水平方向上的子块的数量可以是通过将当前块的宽度除以16而获得的整数值。另外,垂直方向上的子块的数量可以是通过将当前块的高度除以16而获得的整数值。

当对当前块执行运动信息细化并且当前块大于预定运动信息细化执行块的尺寸时,可通过将当前块分区为子块来执行运动信息细化。这里,可包括至少一个不完整子块。

这里,在当前块的宽度或高度分别不是预定义的运动信息细化执行块的宽度(W)或高度(H)的倍数时,不完整子块的形状可以是SW×SH(这里,SW

在示例中,对于不完整的子块可省略运动信息细化。换句话说,可通过使用关于当前块的运动信息来执行对不完整子块的运动补偿。

在另一示例中,可以不对不完整子块执行运动信息细化,并且可通过在具有W×H形状的空间相邻完整子块的细化之后共享运动信息来对不完整子块执行运动补偿。这里,针对位于当前块内的右侧角处的不完整子块,可使用恰好位于左侧处的完整子块的运动信息。可选地,针对位于当前块内的最低侧角处的不完整子块,可使用关于位于恰好上侧处的完整子块的运动信息。可选地,针对位于当前块内右下方角处的不完整子块,可使用关于恰好位于左上侧处的完整子块的运动信息。换句话说,可从关于在空间上相邻的完整子块的细化之前的运动信息推导不完整子块的细化之前的运动信息。另外,关于不完整子块的细化之后的运动信息可从关于在空间上相邻的完整子块的细化之后的运动信息推导。

另外,当推导关于不完整子块的运动信息时使用的空间上相邻的完整子块在推导细化之前的运动信息和细化之后的运动信息时可以彼此不同。

当对当前块执行运动信息细化时,填充或低复杂度插值滤波器可被用于参考区域。可通过使用填充或低复杂度插值滤波器来降低存储器带宽或使用复杂度。

当运动信息细化基于每一个整数像素在至少一个方向(上、下、左或右)上的最大范围是S(S是除0之外的正整数)时,用于运动补偿或运动估计的最大参考区域的范围可比运动信息细化之前的最大参考区域的范围扩展S。因此,存储器带宽增加或高速缓冲存储器的大小增加。因此,本公开的图像编码/解码方法和设备通过使用填充或低复杂度插值滤波器来解决上述问题。

在示例中,可对插值滤波器所需的参考范围内的最外侧像素的值执行填充。

图10是示出根据本发明的实施例的填充参考区域的示图。

参照图10,编码器/解码器可通过对插值滤波器所需的参考范围内的最外侧像素的值执行填充来执行运动估计或运动补偿,使得当执行运动信息细化时不使用插值滤波器所需的参考范围的外部区域。作为结果,存储器带宽和高速缓冲存储器的大小可以与不执行运动信息细化的情况相同。

在另一示例中,可在执行运动信息细化时调整插值滤波器的长度。换句话说,为了执行运动估计或运动补偿,编码器/解码器可使用具有相对较短长度的插值滤波器,以便减小运动插值所需的参考区域的范围。例如,插值滤波器可表示双线性插值滤波器。

图11是示出根据本发明的实施例的调整插值滤波器的长度的示图。

参照图11,即使当8抽头插值滤波器被用于一般运动补偿时,低复杂度4抽头或2抽头插值滤波器也可被用于执行运动信息细化的模式下的运动补偿或运动估计。这里,4抽头插值滤波器可表示具有+2、-2的搜索区域的插值滤波器。

因此,插值所需的参考区域的范围可在垂直方向上减小四行或五条像素线,或者在水平方向上减小四行或五条像素线。结果,存储器带宽和高速缓冲存储器的大小可以与不执行运动信息细化的情况相同。这里,低复杂度插值滤波器可仅被用于执行运动信息细化的模式下的运动估计,并且当执行运动补偿时,可使用与另一模式的插值滤波器相同的插值滤波器。

当对当前块执行运动信息细化,并且确定细化之后的运动矢量或细化期间的候选运动矢量超过在编码器和/或解码器中预定义的最小运动矢量或最大运动矢量的范围时,编码器和/或解码器可执行下面描述的操作。

在示例中,编码器/解码器可以不隐式地执行运动信息细化。

在另一示例中,编码器/解码器可使用搜索区域内的候选搜索点或运动矢量,其中,在该搜索区域中,将不超过最小运动矢量或最大运动矢量的运动矢量推导为细化之后的运动信息的候选。

在另一示例中,编码器/解码器可使用裁剪,使得细化之后的运动矢量被包括在预定范围内。

在另一示例中,编码器/解码器可使用缩放,使得细化之后的运动矢量被包括在预定范围内。

在另一示例中,编码器/解码器可通过设置超过最大运动矢量的搜索点的最大成本值来执行运动信息细化。

换句话说,编码器/解码器可通过针对候选运动矢量使用相同的搜索方法和相同的运动矢量推导方法来推导新的运动矢量,并且可将具有最小搜索成本的运动矢量确定为细化之后的运动矢量。

例如,对于L0和L1,可通过在使用不同方向的候选运动矢量的同时使用相同的搜索方法和相同的运动推导方法来推导新的运动矢量。

这里,当候选运动矢量超过最大运动矢量或最小运动矢量时,可针对候选运动矢量的搜索成本设置预定义的最大值(例如,232-1、264-1等)。另外,对于搜索成本,可使用诸如SAD(绝对差之和)、SSD(平方差之和)等的成本评估方法。

例如,通过使用SAD,可推导候选运动矢量,其中,使在LO参考画面内的区域内的候选运动矢量指示的位置处的像素值与在L1参考画面内的区域内的与候选运动矢量相反的矢量指示的位置处的像素值之间的差最小化。这里,候选运动矢量可以是细化后的运动矢量。

另外,候选运动矢量超过最小运动矢量的情况包括候选运动矢量的x和y值中的至少一个小于相应的最小运动矢量的x和y值的情况。

另外,候选运动矢量超过最大运动矢量的情况包括候选运动矢量的x和y值中的至少一个超过相应的最大运动矢量的x和y值的情况。

这里,可通过头部或参数集(SPS VUI的log2_max_mv_length_horizontal、log2_max_mv_length_vertical)用信号传送最大运动矢量或最小运动矢量,或者可通过使用在编码器/解码器中的相同范围内预定义的值来推导最大运动矢量或最小运动矢量。

图12a是示出根据本发明实施例的当执行运动信息细化时运动矢量候选超过最小运动矢量范围时的操作的示图。

参照图12a,当在编码器/解码器中定义了最小运动矢量的x或y值是-32768并且细化之前的运动矢量是(5,-32768)时,可通过使用运动信息的细化候选A至H来执行运动信息细化。这里,在位置A、位置B和位置C的情况下,运动信息细化之后的运动矢量的y值变为-32769,因此变得小于最小运动矢量的y值。因此,如上所述,位置A、位置B和位置C可以不被用作运动补偿候选,或者位置A、位置B和位置C处的搜索成本可被设置为预定义的最大值。

当对当前块执行运动信息细化,并且确定细化之后的运动矢量或细化期间的运动矢量候选(或运动信息的细化候选)超过MCTS(运动约束并行块集)或并行块边界,或者存在于该边界内但考虑插值滤波器的参考区域超过MCTS或并行块边界时,编码器和/或解码器可执行以下操作。

在示例中,编码器/解码器可以不隐式地执行运动信息细化。

在另一示例中,编码器/解码器可以不将相应的候选搜索点或相应的候选运动矢量用作候选运动矢量。

在另一示例中,编码器/解码器可通过将相应候选搜索点或相应候选运动矢量的成本设置为最大值来执行运动信息细化。

在另一示例中,编码器/解码器可将MCTS或并行块边界确定为画面边界,并且通过对位于边界处的像素进行填充来执行运动信息细化。这里,编码器/解码器可将MCTS或并行块边界确定为画面边界,并且通过对位于边界处的像素进行填充来执行运动信息细化。

图12b是示出根据本发明实施例的当执行运动信息细化时运动矢量候选超过MCTS中的限制时的操作的示图。

编码器/解码器可使用6抽头插值滤波器。MCTS中的限制可表示应用限制以便在执行编码/解码时使用在时间上相应于当前MCTS的区域。

参照图12b,在细化之前的运动信息的运动矢量X的情况下,子像素(

在下文中,将描述存储关于当前块的细化之后的运动信息的步骤。

本公开的图像编码/解码方法和设备可存储关于当前块的运动信息。

在对当前块执行运动信息细化的模式的情况下,可存储关于当前块的细化之前的运动信息和/或关于当前块的细化之后的运动信息。

在示例中,可存储细化之前的运动信息、细化之后的运动信息和/或细化之后的运动信息的标志中的至少一个。例如,细化之前的运动信息、细化之后的运动信息和/或细化之后的运动信息的标志中的至少一个可被存储在线缓冲器、内部存储器和/或外部存储器中。

在另一示例中,可存储表示细化之前的运动信息和细化运动之后的运动信息的标志或模式信息。

另外,在线缓冲器和/或外部存储器中进行存储导致存储器带宽的消耗,并且因此仅将细化之后的运动信息存储在线缓冲器和/或外部存储器中,以便减少带宽消耗。

在另一示例中,可存储关于当前块和/或邻近块的细化之前的运动信息的信息、以及关于细化之前的运动信息与细化之后的运动信息之间的差的信息。

在另一示例中,可存储关于当前块和/或邻近块的细化之后的运动信息的信息、以及关于细化之前的运动信息与细化之后的运动信息之间的差的信息。

在另一示例中,当存储关于当前块的细化之后的运动信息时,对在当前块之后编码/解码的邻近块执行编码/解码,可使用存储的细化之后的运动信息。

在对当前块执行运动信息细化的模式的情况下,可根据使用目的将细化之前的运动信息和细化之后的运动信息存储在不同的存储器或参数中。

在示例中,关于当前块的细化之前的运动信息可被用于对当前块之后的块进行空间运动信息预测并且/或者用于对当前块进行去块。

在另一示例中,当对当前块执行运动补偿和/或对在当前图像之后编码/解码的画面的任意块执行时间运动信息预测时,可将关于当前块的细化之后的运动信息用于推导至少一个运动信息候选。

在示例中,可将关于当前块的细化之前的运动信息用于对当前块之后的块进行空间运动信息预测。

在另一示例中,当对当前块执行去块、对当前块执行运动补偿并且/或者对在当前画面之后编码/解码的画面的任意块执行时间运动信息预测时,可使用关于当前块的细化之后的运动信息来推导至少一个运动信息候选。

在另一示例中,可通过在内部存储器中存储细化之前的运动信息来使用细化之前的运动信息。然而,可通过在外部存储器和/或线缓冲器中存储细化之后的运动信息来使用细化之后的运动信息。

在另一示例中,当存储关于当前块的细化之后的运动信息,并且对包括在预定单元中的所有块进行编码/解码时,细化之后的运动信息可被存储在线缓冲器或内部存储器中、以及外部存储器中。

这里,当在对包括在预定单元中的块执行运动信息预测时使用的细化之前的运动信息被存储在内部存储器中时,可将其更新为细化之后的运动信息。另外,根据预定条件,细化之前的运动信息可不被更新为细化之后的运动信息。例如,当细化之后的运动信息等于或大于预定义阈值范围时,可以不执行更新。

在对当前块执行运动信息细化的模式的情况下,在当前块大于预定义的运动信息细化执行块的尺寸时,可通过将当前块划分为子块来执行运动信息细化。

在示例中,可针对一个当前块推导至少一条细化之后的运动信息。所述至少一条细化之后的运动信息可被存储在时间运动矢量存储器中。另外,当对当前画面之后编码/解码的画面的任意块执行时间运动信息预测时,当推导至少一个运动信息候选时,可使用存储的细化之后的运动信息。

在示例中,可针对一个当前块推导关于子块的至少一条细化之后的运动信息。关于子块的至少一条细化之后的运动信息可被存储在时间运动矢量存储器中。另外,当对当前画面之后编码/解码的画面的任意块执行时间运动信息预测时,当推导至少一个运动信息候选时,可使用存储的细化之后的运动信息。

在对当前块执行运动信息细化的模式的情况下,使用的运动信息可根据邻近块的位置而变化。

在示例中,细化之前的运动信息可被存储在内部存储器中。另外,细化之后的运动信息可被存储在外部存储器和/或线缓冲器中。

在另一示例中,在图9b的示例中,当对当前块C执行运动估计时,对于关于上方邻近块的运动信息,可使用细化之后的运动信息,并且对于关于左侧邻近块的运动信息,可使用细化之前的运动信息。

在另一示例中,在图9b的示例中,当对当前块C执行运动估计时,对于关于上方邻近块的运动信息,可使用细化之前的运动信息,并且对于关于左侧邻近块的运动信息,可使用细化之后的运动信息。

在另一示例中,当对当前块执行运动估计并且细化之前/之后的运动信息被用于关于一些邻近块的运动信息时,对于关于其余邻近块的运动信息,可分别使用细化之后/之前的运动信息。在示例中,在图9b的示例中,当对当前块C执行运动估计并且细化之后的运动信息被用于关于上方邻近块的运动信息时,与上方块不同的是,细化之前的运动信息可被用于关于左侧邻近块的运动信息。

另外,当特定块与CTU、画面、子画面、条带、并行块、分块等的边界相邻时,可存储关于特定块的细化之后的运动信息。另外,当对在当前块之后编码/解码的邻近块进行编码/解码时,可使用存储的细化之后的运动信息。

对于各种CU尺寸,本公开的编码器可确定在率失真方面最佳的CU尺寸。另外,本公开的编码器可确定各种预测模式(帧内预测、帧间预测、合并/跳过等)中的在率失真方面最佳的用于每一个CU的模式。

一般,编码器的硬件可通过分别负责CU尺寸的独立硬件块使用。为了增加吞吐量,可以以管线形式采用模式确定处理和编码处理。这里,在帧间预测中,即使未完成对邻近块的模式确定处理和编码处理,也可执行运动估计和运动补偿。然而,在合并模式中,可按原样使用关于邻近块的运动信息,因此,当已经完成对邻近块的模式确定处理时,可执行对当前块的合并模式中的编码和运动补偿。因此,通过等待直到完成对邻近块的模式确定处理,针对当前块可能发生延迟,并且因此吞吐量减小。

根据本发明,在正在进行模式确定处理的邻近块的情况下,可以不使用关于邻近块的运动信息,或者可使用在编码器/解码器中预定义的固定运动信息,以便解决延迟发生和吞吐量降低的问题。

本公开的图像编码/解码方法可被用于合并模式、以及用于使用关于邻近块的运动信息的帧间预测、仿射模式、OBMC。另外,图像编码/解码方法可被用在基于每一个子块使用运动信息的方法中。

图13a至图13c是分别示出根据本发明实施例的对当前块进行编码的示图。

在图13a至图13c中所示出的示例中,假设CTU的尺寸为128×128,对于CU尺寸,可能存在三个候选(CU 64×64、CU 32×32、CU 16×16),并且对当前块C2执行编码。

参照图13a和图13b,将被编码的当前块C2位于第二CTU内的第一64×64区域内。

参照图13c,示出CU尺寸的候选的处理顺序和编码进行状态。可在按照编码/解码顺序已经完成对先前块的编码时开始对当前块的模式确定处理。这里,完成了编码可表示已经针对各种模式完成了模式确定处理,推导出关于最终运动矢量和关于重建像素的信息,并且将相应的信息存储在内部存储器中。另外,为了增加吞吐量,对于本公开的编码器,可以以管线形式采用模式确定处理和编码处理。另外,为了增加吞吐量,必须在完成对任意块的编码/解码之前执行按照编码/解码顺序对后续块的模式确定处理。这里,对于使用邻近块的像素的帧内预测模式,必须完成邻近块的编码。然而,对于帧间预测模式、合并/跳过模式、仿射模式、OBMC模式等,可通过使用关于已完成编码的邻近块的运动信息来执行编码。

在示例中,在开始对当前块C2的编码时,可通过使用关于已完成编码的邻近块A和/或邻近块D的运动信息来执行运动信息预测,并且因此可进行针对帧间预测模式、合并/跳过模式、仿射模式、OBMC模式等的编码。因此,这里,可确定是否已完成在用于运动信息预测的模式中使用的邻近块的编码。

参照图13c,示出CU尺寸的候选的处理顺序和编码进行状态。

参照图13c,作为C0的CU 64×64硬件块、作为C1的CU 32×32硬件块和作为C2的CU16×16硬件块是当前编码目标块,并且可执行对上述块的运动信息预测。

这里,当对块C0执行运动信息预测时,可能不能使用关于作为按照编码/解码顺序的先前块的块E的运动信息。另外,当对块C1执行运动信息预测时,可能不能使用关于块F的运动信息。另外,当对块C2执行运动信息预测时,可能不能使用块B的运动信息。

另外,每一个硬件块(CU 64×64、CU 32×32、CU 16×16)可同时执行编码,因此对于块C2,使用关于另外包括块E和块FDP的区域的运动信息可能是不可能的。另外,对于块C1,可能不能使用关于另外包括块E的区域的运动信息。总之,当对块C2执行运动信息预测时,可能不能使用关于邻近块B、邻近块E和邻近块F的运动信息。

因此,就编码器而言,通过排除当前块的参考区域中正在进行编码的区域,并且通过使用关于包括在已经完成编码的其余区域中的邻近块的运动信息,执行运动信息预测在压缩效率方面可以是有效的。然而,作为产生合并候选列表的示例,当包括确定关于预定义位置处的邻近块的运动信息是否有效(即,是否不是帧内预测)或确定是否与添加到列表的运动信息相同的步骤时,可向编码器/解码器提供关于邻近块的预测模式和/或运动信息,以便产生相同的合并候选列表。

本公开的编码器/解码器可通过在完成对邻近块的编码之前对当前块进行编码/解码来提高吞吐量并使压缩效率的损失最小化。在一个示例中,就编码器而言,确定正在进行编码的邻近块的方法以及/或者排除产生针对相应邻近块的合并候选列表的处理可被相同地应用于本公开的解码器。在另一示例中,本公开的编码器/解码器可使用关于另一邻近块的运动信息或通过使用在编码器/解码器中预定义的方法产生的运动信息来代替排除的候选运动信息。

图14是根据本发明的实施例的产生合并候选列表的流程图的示图。

在推导空间合并候选时,编码器/解码器可确定预定义邻近块的位置是否被包括在编码/解码区域中。另外,可确定虚拟编码区域,并且可从产生合并候选列表的过程中排除相应的区域和/或块。这里,虚拟编码区域可表示邻近块和正在进行编码的区域。

图15a至图15c是分别示出根据本发明实施例产生的合并候选列表的示图。

在图15a至图15c中所示出的示例中,当前块C2的合并候选列表可包括多达五个合并候选。另外,当产生合并候选列表时,可使用邻近块A、邻近块B、邻近块D和邻近块E,并且可按照邻近块A、邻近块B、邻近块D和邻近块E的顺序将邻近块A、邻近块B、邻近块D和邻近块E添加到合并候选列表。

图15a示出在不确定邻近块是否被包括在虚拟编码区域中并且假设已经完成对邻近块的编码/解码的情况下产生合并候选列表的示例。

图15b示出通过确定邻近块是否被包括在虚拟编码区域中并根据确定排除包括在虚拟编码区域中的块来产生合并候选列表的示例。这里,对邻近块B和邻近块E的编码可如图13a至图13c中所示出正在进行中,其中,邻近块B和邻近块E从合并候选列表中被排除,并且可按照合并候选索引3和4来添加附加运动信息。

图15c示出通过确定邻近块是否被包括在虚拟编码区域中并根据确定排除被包括在虚拟编码区域中的块来产生合并候选列表的另一示例。与图15b相比,作为从合并候选列表中排除的邻近块B和邻近块E的代替,可将关于在与B和E各自相邻的位置处完成编码/解码的B’和E’的运动信息添加到合并候选列表。

另外,将附加运动信息和/或已完成编码/解码的位置处的运动信息添加到合并候选列表的顺序可不同于在图15b或图15c中所示出的示例。

当执行运动信息预测,并且将被使用的邻近块的位置被包括在按照编码/解码顺序恰好在前的区域(即,虚拟编码区域)中时,可以不将关于相应邻近块的运动信息用于关于当前块的运动信息预测,或者可将预定义的固定运动信息用于当前块的运动信息预测。这里,虚拟编码区域可以是估计的在编码器中使用的块尺寸中具有等于或大于当前块的尺寸的尺寸的块。可选地,虚拟编码区域可表示在编码器/解码器中预定义的管线缓冲器的大小。

当执行运动信息预测,并且将被使用的邻近块的位置被包括在当前块所在的虚拟编码区域中时(即,当将被使用的邻近块的位置存在于相同虚拟编码区域的网格内时),可以不将关于相应邻近块的运动信息用于对当前块的运动信息预测,或者可将预定义的固定运动信息用于对当前块的运动信息预测。

即使没有提供在编码器中实际使用的所有候选块的准确尺寸,解码器也可通过假设编码器已经使用在编码器/解码器中预定义的最小块尺寸和最大块尺寸(或最大变换尺寸)以及包括在最小块尺寸和最大块尺寸中的所有块尺寸来推导虚拟编码区域。可选地,编码器可通过头部(SPS、PPS、条带头、并行块头等)或参数集用信号传送最小块尺寸、最大块尺寸或所有块的尺寸,并且解码器可通过使用用信号传送的信息推导在编码器中使用的最小块尺寸、最大块尺寸或所有块的尺寸。

图16是示出在根据本发明实施例的编码器中预测关于各种块的运动信息时未使用的邻近块的位置的示图。

在图16的示例中,CTU的尺寸为128×128,并且编码候选块可包括64×64块、32×32块、通过将32×32区域分区为四个16×16块而获得的QU AD 32块、通过将32×32区域分区为两个16×32块而获得的VERT_BI 32块、通过将32×32区域分区为两个32×16块而获得的HOR_BI 32块、通过将32×32区域分区为两个8×32块和一个16×32块而获得的TRI_VERT32块以及通过将32×32区域分区为两个32×8块和一个32×16块而获得的T RI_HOR 32块。

当执行运动信息预测时,通过排除关于包括在虚拟编码区域中的邻近块的运动信息,或者通过使用另一信息代替所述运动信息,可提高吞吐量。

在图16的示例中,当对块或区域执行运动信息预测时,可通过使用箭头表示未使用的块或区域。

在示例中,当对第三64×64块执行运动信息预测时,可以不使用按编码/解码顺序包括在恰好在前的64×64区域(也就是说,第二64×64区域)中的运动信息。

在另一示例中,当对作为第三64×64区域内的第四32×32区域的候选块的SINGLE32执行运动信息预测时,可以不使用包括在按编码/解码顺序恰好在前的32×32区域(也就是说,第三64×64区域内的第三32×32区域)中的运动信息。另外,可以不使用包括在按照编码/解码顺序恰好在前的64×64区域(也就是说,第二64×64区域)中的运动信息。

在另一示例中,当对作为第四64×64区域内的第二32×32区域的候选块的VERT_BI 32的块1(16×32)执行运动信息预测时,可以不使用包括在按编码/解码顺序恰好在前的16×32区域(也就是说,恰好在前的块0)中的运动信息。另外,可以不使用包括在按照编码/解码顺序恰好在前的32×32区域(也就是说,第四64×64区域内的第一32×32区域)中的运动信息。另外,可以不使用包括在按编码/解码顺序恰好在前的64×64区域(也就是说,第三64×64区域)中的运动信息。

当任意区域被分区为多个块时,通过假设同时执行对任意区域内的所有块的编码,可以不使用存在任意区域内的运动信息,或者可使用在编码器/解码器中预定义的固定运动信息。

在示例中,在TRI_VERT 32分区的情况下,对于32×32区域内的块2,可使用关于块1的运动信息或关于块0的运动信息。

在另一示例中,在TRI_HOR 32分区的情况下,对于32×32区域内的块2,可使用关于块1的运动信息或关于块0的运动信息。

本公开的编码器可以不针对至少一个块尺寸指定虚拟编码区域,或者可针对至少一个块尺寸指定虚拟编码区域。这里,编码器可通过头部(SPS、PPS、条带头、并行块头等)或参数集用信号传送关于指定或未指定虚拟编码区域的块尺寸的信息,并且解码器可通过使用用信号传送的信息推导指定的虚拟编码区域。

图17a和图17b是分别示出根据本发明实施例的指定虚拟编码区域的示图。

在示例中,在图17a中所示出的示例中,对于16×16尺寸的当前块C,可以不使用关于包括在按照编码/解码顺序的先前区域(16×16、32×32、64×64)中的邻近块B、邻近块F和邻近块E的运动信息。

这里,当64×64块尺寸未被指定为虚拟编码区域时,作为在图17b中所示出的示例,可使用包括在邻近块E中的运动信息。

在另一示例中,在图17a中,当16×16和64×64的块尺寸未被指定为虚拟编码区域时,对于16×16尺寸的当前块C,可使用包括在邻近块B和邻近块E中的运动信息。

当执行图像编码/解码时,在帧内预测中,可通过使用已经完成编码/解码的邻近块的像素来预测当前块的像素。因此,不能同时对多个块进行编码/解码,并且在采用管线形式的情况下难以提高吞吐量。

当以帧内预测模式进行编码/解码时,本公开的图像编码/解码方法和设备通过产生虚拟参考像素来代替已经完成编码/解码的邻近块像素,使得能够同时对任意单元内的多个块进行编码/解码。

图18是示出根据本发明的实施例的通过使用帧内预测对包括两个子块的并行PU执行编码/解码的示图。这里,子块可表示子块。

在帧内预测中,通常,当已经完成对子块1的编码/解码时,则可执行对子块2的编码/解码。然而,根据本发明,当执行熵编码/解码(执行熵编码/解码的步骤)时,可开始同时对两个子块进行编码/解码。这里,可对关于并行PU内的至少一个子块的预测模式和/或变换系数信息执行编码/解码,并且可同时对至少一个子块执行编码/解码。

在产生参考像素时,可通过加载已经完成编码/解码并且用于帧内预测的参考像素并对其执行滤波来产生最终参考像素。这里,当邻近块存在相同并行PU上时,可产生虚拟参考像素来代替重建的参考像素。可选地,可在并行PU中产生参考像素,并且可在并行PU内的子块之间共享产生的参考像素。

在帧内预测时,可通过使用重建的参考像素或虚拟参考像素来执行对当前块的帧内预测。

在反量化和逆变换时,可同时执行产生参考像素的步骤和执行帧内预测的步骤。

在产生重建块时,可通过将重建残差信号与帧内预测信号相加来产生重建块。随后,可结束对块1/2的编码/解码。

图19是示出根据本发明的实施例的通过使用帧内预测对包括三个子块的并行PU执行解码的示图。

在图19中所示出的示例中,在对每一个子块进行帧内预测时,可使用重建的参考像素和/或虚拟参考像素。虚线区域表示并行PU。可通过使用箭头来表示在帧内预测中使用的预测方向。

在子块1的情况下,已经完成对邻近块的编码/解码,因此可通过使用重建的参考像素来执行帧内预测。块1的帧内预测模式是对角线模式。

在子块2的情况下,可同时利用左侧子块1执行对子块2的编码/解码,并且可通过使用子块1的帧内预测模式来产生子块1内的虚拟参考像素。因此,可通过使用上方重建参考像素和/或左侧虚拟参考像素来执行对子块2的帧内预测。

在子块3的情况下,可同时利用子块1和/或子块2执行对子块3的编码/解码,可通过使用作为子块2的帧内预测模式的水平模式来产生子块2内的虚拟参考像素。因此,可通过使用上方重建参考像素和/或左侧虚拟参考像素来执行对子块3的帧内预测。

图20是示出根据本发明的另一实施例的通过使用帧内预测对包括三个子块的并行PU执行解码的示图。

在图20中所示出的示例中,可通过使用重建参考像素和/或虚拟参考像素来执行对每一个子块的帧内预测。虚线区域表示并行PU。可通过使用箭头来表示在帧内预测中使用的预测方向。

对子块1和子块3执行帧间预测,并且对子块2执行帧内预测。

在子块1的情况下,使用帧间预测模式,因此可以在不使用邻近块的像素的情况下对子块1执行编码/解码。

在子块2的情况下,可同时利用左侧子块1执行对子块2的编码/解码,并且可通过使用子块1的帧间预测模式来产生子块1内的虚拟参考像素。因此,可通过使用上方重建参考像素和/或左侧虚拟参考像素来执行对子块2的帧内预测。

在子块3的情况下,可同时利用子块1和/或子块2执行对子块3的编码/解码,并且使用帧间预测模式,因此可以在不使用邻近块的像素的情况下执行对子块3的编码/解码。

对于任意并行PU,可使用在编码器/解码器中预定义的单元,或者可执行通过头部(SPS、PPS等)或参数集用信号传送的步骤,并且因此在编码器/解码器中使用相同的并行PU。可选地,在编码器/解码器中预定义或通过头部或参数集用信号传送的最小正方形块尺寸可被用作并行PU。可选地,当使用四叉树、二叉树和三叉树的块分区方法时,在二叉树和三叉树分区的情况下,可将父节点的块尺寸用作并行PU。

可在配置文件中定义是否使用本公开的并行预测方法或可通过头部(SPS、PPS等)或参数集用信号传送是否使用本公开的并行预测方法。

当产生虚拟参考像素时,可通过在预测信号和重建参考像素之间执行滤波(低通滤波等)来代替通过仅使用邻近块的预测信号来产生准确的参考像素。

当使用并行预测方法并且通过使用虚拟参考像素执行帧内预测时,即使使用多个帧内预测,在预测精度方面也没有显著差异,因此可通过限制帧内预测模式的数量来减少表示帧内预测模式所需的比特量。

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

在S2101,解码器可从比特流对关于是否执行运动信息细化的信息进行解码。

这里,可通过参数集或视频参数集、序列参数集、子画面参数集、画面参数集、自适应参数集、条带头、并行块头和分块头中的至少一个来用信号传送关于是否执行运动信息细化的信息。

在S2102,解码器可基于关于是否执行运动信息细化的信息来获得针对关于当前块的第一运动信息的第二运动信息。

这里,第一运动信息可以是关于当前块的初始运动信息。另外,第二运动信息可以是通过对第一运动信息执行细化而获得的信息。

另外,在当前块等于或大于预定块尺寸时,可通过将当前块分区为至少一个子块,并且对所述至少一个子块执行运动信息细化来获得第二运动信息。

另外,在当前块的宽度和高度中的至少一个等于或大于预定块尺寸时,可通过将当前块分区为至少一个子块并对所述至少一个子块执行运动信息细化来获得第二运动信息。

这里,预定块尺寸可以是16。

另外,关于当前块的初始运动信息可被用作关于子块的初始运动信息。

另外,可通过使用针对当前块的LO参考画面内的区域中的候选运动矢量指示的像素值和针对当前块的L1参考画面内的区域中的与候选运动矢量相反的矢量指示的像素值来获得第二运动信息。

另外,关于当前块的第一运动信息可被用于对当前块的邻近块的空间运动矢量预测和确定去块滤波的边界强度中的至少一个。

另外,关于当前块的第二运动信息可被用于预测针对关于当前块的邻近块的col块的运动信息。

在S2103,解码器可通过使用第一运动信息和第二运动信息中的至少一个来重建当前块和当前块的邻近块中的至少一个。

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

在S2201,编码器可确定是否执行运动信息细化。

在S2202,编码器可基于所述确定对关于是否执行运动信息细化的信息进行编码。

这里,可通过参数集或视频参数集(视频参数集)、序列参数集、子画面参数集、画面参数集、自适应参数集、条带头、并行块头和分块头中的至少一个来用信号传送关于是否执行运动信息细化的信息。

另外,根据本发明,在存储在图像解码方法中使用的视频数据的计算机可读非暂时性记录介质中,图像数据可包括关于是否执行运动信息细化的信息。另外,在图像解码方法中,关于是否执行运动信息细化的信息可被用于获得针对关于当前块的第一运动信息的第二运动信息,并且第一运动信息和第二运动信息中的至少一个可被用于重建当前块和当前块的邻近块中的至少一个。

可在编码器和解码器中以相同的方法执行上述实施例。

上述实施例中的至少一个或组合可被用于对视频进行编码/解码。

应用于上述实施例的顺序在编码器和解码器之间可以不同,或者应用于上述实施例的顺序在编码器和解码器中可以相同。

可以对每一个亮度信号和色度信号执行上述实施例,或者可对亮度信号和色度信号相同地执行上述实施例。

应用了本发明的上述实施例的块形状可具有正方形形状或非正方形形状。

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

例如,在当前块的尺寸为8×8或更大时,可应用上述实施例。例如,在当前块的尺寸为4×4或更大时,可应用上述实施例。例如,在当前块的尺寸为16×16或更大时,可应用上述实施例。例如,在当前块的尺寸等于或大于16×16并且等于或小于64×64时,可应用上述实施例。

可根据时间层来应用本发明的上述实施例。为了识别可应用上述实施例的时间层,可用信号传送相应标识符,并且可将上述实施例应用于由相应标识符识别的指定时间层。这里,标识符可被定义为可应用上述实施例的最低层或最高层或最低层和最高层两者,或者可被定义为指示应用所述实施例的特定层。另外,可对应用所述实施例的固定时间层进行定义。

例如,在当前图像的时间层是最低层时,可应用上述实施例。例如,在当前图像的时间层标识符是1时,可应用上述实施例。例如,在当前图像的时间层是最高层时,可应用上述实施例。

可对应用本发明的上述实施例的条带类型或并行块组类型进行定义,并且可根据相应的条带类型或并行块组类型来应用上述实施例。

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

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

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

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

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

工业实用性

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号