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

文档序号:835755 发布日期:2021-03-30 浏览:11次 >En<

阅读说明:本技术 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质 (Method and apparatus for encoding/decoding image and recording medium for storing bitstream ) 是由 姜晶媛 李河贤 林成昶 李镇浩 金晖容 朴光勳 金太现 李大永 于 2019-08-06 设计创作,主要内容包括:在本说明书中公开了一种图像解码方法。本发明的图像解码方法包括:产生包括从与当前块相邻的时间邻近块和空间邻近块推导出的运动信息的候选列表的步骤;通过使用所述候选列表推导当前块的运动信息的步骤;通过使用推导出的所述运动信息产生当前块的预测块的步骤;以及更新运动信息列表中的推导出的所述运动信息的步骤,其中,产生所述候选列表的步骤包括产生包括运动信息中的至少一条运动信息的所述候选列表,其中,所述运动信息包括在在当前块之前被解码的块中更新的运动信息列表中。(An image decoding method is disclosed in the present specification. The image decoding method of the present invention includes: a step of generating a candidate list including motion information derived from temporally neighboring blocks and spatially neighboring blocks adjacent to the current block; a step of deriving motion information of a current block by using the candidate list; a step of generating a prediction block of the current block by using the derived motion information; and updating the derived motion information in a motion information list, wherein generating the candidate list comprises generating the candidate list including at least one piece of motion information among motion information included in a motion information list updated in a block decoded before the current block.)

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

技术领域

本发明涉及一种用于对图像进行编码/解码的方法和设备以及一种用于存储比特流的记录介质。更具体地,本发明涉及一种用于使用存储预先重建的运动信息的运动信息列表对图像进行编码/解码的方法和设备。

背景技术

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

作为图像压缩技术,存在各种技术,诸如用于从当前画面之前或之后的画面预测包括在当前画面中的像素值的帧间预测技术、用于通过使用当前画面中的像素信息预测包括在当前画面中的像素值的帧内预测技术、用于压缩残差信号的能量的变换和量化技术、以及用于将短代码分配给具有高出现频率的值并将长码分配给具有低出现频率的值的熵编码技术。这种图像压缩技术可用于有效地压缩并传输或存储图像数据。

发明内容

技术问题

本发明的目的在于提供一种用于对图像进行编码和解码的方法和设备、以及一种存储比特流的记录介质,其中,通过使用存储预先重建的运动信息的运动信息列表来提高压缩效率。

技术方案

一种根据本发明的实施例的对图像进行解码的方法,所述方法可包括:产生包括从与当前块相邻的空间邻近块和时间邻近块推导出的运动信息的候选列表,通过使用所述候选列表推导当前块的运动信息,使用推导出的所述运动信息产生当前块的预测块,更新运动信息列表中的推导出的所述运动信息,其中,以这样的方式执行产生所述候选列表的步骤:包括运动信息中的至少一个运动信息,其中,所述运动信息包括在在当前块之前被解码的块中的更新的运动信息列表中。

在根据本发明的对图像进行解码的方法中,其中,当完成预定区域的解码使得所述区域被改变时,初始化所述运动信息列表。

在根据本发明的对图像进行解码的方法中,其中,所述预定区域是由一个或更多个编码单元(CU)组成的块或者由一个或更多个编码树单元(CTU)组成的块中的任意一个块。

在根据本发明的对图像进行解码的方法中,其中,当在当前块之前被解码的块中的更新的运动信息列表中存在多个运动信息时,以这样的方式执行产生所述候选列表的步骤:将所述多个运动信息中的至少两个或更多个运动信息的平均值包括在所述候选列表中。

在根据本发明的对图像进行解码的方法中,其中,当在当前块之前被解码的块中的更新的运动信息列表的运动信息与先前包括在所述候选列表中的运动信息相同时,以这样的方式执行产生所述候选列表的步骤:不将在当前块之前被解码的块中的更新的运动信息列表的所述运动信息包括在所述候选列表中。

在根据本发明的对图像进行解码的方法中,其中,在当前块是IBC预测模式并且候选列表是共享合并列表时,省略更新所述运动信息列表中的推导出的所述运动信息的步骤。

在根据本发明的对图像进行解码的方法中,其中,所述运动信息列表具有预定大小的限制。

在根据本发明的对图像进行解码的方法中,其中,当存储在所述运动信息列表中的运动信息的数量为预定值时,更新所述运动信息列表中的推导出的所述运动信息的步骤包括删除首先被存储在所述运动信息列表中的运动信息并存储推导出的所述运动信息。

一种根据本发明的实施例的对图像进行编码的方法,所述方法可包括:产生包括从与当前块相邻的空间邻近块和时间邻近块推导出的运动信息的候选列表,通过使用所述候选列表推导当前块的运动信息,使用推导出的所述运动信息产生当前块的预测块,更新运动信息列表中的推导出的所述运动信息,其中,以这样的方式执行产生所述候选列表的步骤:包括运动信息中的至少一个运动信息,其中,所述运动信息包括在在当前块之前被编码的块中的更新的运动信息列表中。

在根据本发明的对图像进行编码的方法中,其中,当完成预定区域的编码使得所述区域改变时,初始化所述运动信息列表。

在根据本发明的对图像进行编码的方法中,其中,所述预定区域是由一个或更多个编码单元(CU)组成的块或者由一个或更多个编码树单元(CTU)组成的块中的任意一个块。

在根据本发明的对图像进行编码的方法中,其中,当在当前块之前被编码的块中的更新的运动信息列表中存在多个运动信息时,以这样的方式执行产生所述候选列表的步骤:将所述多个运动信息中的至少两个或更多个运动信息的平均值包括在所述候选列表中。

在根据本发明的对图像进行编码的方法中,其中,当在当前块之前被编码的块中的更新的运动信息列表的运动信息与先前包括在候选列表中的运动信息相同时,以这样的方式执行产生所述候选列表的步骤:不将在当前块之前被编码的块中的更新的运动信息列表的所述运动信息包括在所述候选列表中。

在根据本发明的对图像进行编码的方法中,其中,在当前块是IBC预测模式并且候选列表是共享合并列表时,省略更新所述运动信息列表中的推导出的所述运动信息的步骤。

在根据本发明的对图像进行编码的方法中,其中,所述运动信息列表具有预定大小的限制。

在根据本发明的对图像进行编码的方法中,其中,当存储在所述运动信息列表中的运动信息的数量是预定值时,更新所述运动信息列表中的推导出的所述运动信息的步骤包括删除首先被存储在所述运动信息列表中的运动信息并存储推导出的所述运动信息。

在包括通过根据本发明的实施例的对图像进行解码的方法解码的比特流的非暂时性计算机可读记录介质中,所述对图像进行解码的方法可包括:产生包括从与当前块相邻的空间邻近块和时间邻近块推导出的运动信息的候选列表,通过使用所述候选列表推导当前块的运动信息,使用推导出的所述运动信息产生当前块的预测块,更新运动信息列表中的推导出的所述运动信息,其中,以这样的方式执行产生所述候选列表的步骤:包括运动信息中的至少一个运动信息,其中,所述运动信息包括在在当前块之前被解码的块中的更新的运动信息列表中。

有益效果

本发明可提供一种用于对图像进行编码和解码的方法和设备、以及一种存储比特流的记录介质,其中,通过使用存储预先重建的运动信息的运动信息列表来提高压缩效率。

根据本发明,当在存储预先重建的运动信息的运动信息列表中存在很少的运动信息或没有运动信息时,预测信息可被存储在运动信息列表中并且被用于更准确地执行帧间预测。

根据本发明,可提高图像的编码和解码效率。

根据本发明,可降低图像的编码器和解码器的计算复杂性。

附图说明

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

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

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

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

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

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

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

图8和图9是示出使用运动信息列表的编码器和解码器的示图。

图10是示出根据本发明的使用运动信息列表的帧间预测方法的流程图。

图11是示出使用运动信息列表的帧间预测方法的流程图。

图12是示出在运动信息列表初始化时间点和运动信息添加时间点执行运动信息列表预测的帧间预测方法的流程图。

图13和图14是示出包括运动信息列表预测器的编码器和解码器的示图。

图15是示出执行包括指示是否将运动信息列表应用于序列参数集(SPS)语法的指示符的信号传送的实施例的示图。

图16是示出执行包括指示是否将运动信息列表应用于画面参数集(PPS)语法的指示符的信号传送的实施例的示图。

图17是示出执行包括指示是否将运动信息列表应用于条带头语法的指示符的信号传送的实施例的示图。

图18是示出从时间上与当前块相邻的区域预测当前运动信息列表的运动信息的示例的示图。

图19是示出从空间上与当前编码块相邻的区域预测当前运动信息列表的运动信息的示例的示图。

图20是示出参考预先重建的UPU的运动信息列表执行当前运动信息列表预测的方法的示例的示图。

图21是示出从存储在当前运动信息列表中的运动信息执行运动信息列表预测的方法的示图。

图22是示出通过改变现有运动信息的参考画面并相应地校正运动矢量来推导预测运动信息的处理的示例的示图。

图23是示出预测不与运动预测方法的候选重叠的运动信息列表的方法的示图。

图24是示出当运动预测方法的时间候选的位置与图23的位置C和位置H相同时在CTU单元中设置运动信息列表预测所参考的位置的实施例的示图。

图25和图26是示出分别使用预测的运动信息和一般运动信息的方法的实施例的示图。

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

具体实施方式

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在实施例中,特定信息、数据、标志、索引、元素和属性等中的每一个可具有值。等于“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。根节点的深度可以是最低的,并且叶节点的深度可以是最深的。此外,当单元被表示为树结构时,单元存在于的等级可表示单元深度。

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

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

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

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

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

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

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

参考画面列表:可指包括用于帧间预测或运动补偿的一个或更多个参考画面的列表。存在几种类型的可用参考画面列表,其中,所述可用参考画面列表包括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中,可分别用最接近片段B和片段E的样点代替从重建的相邻块进行检索来填充片段A和片段F的样点。可用信号传送指示将被用于当前块的帧内预测的参考样点线的索引信息。在当前块的上方边界是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组成的块、CTU、由一个或更多个CTU组成的块(例如,CTU行)、分块、并行块、条带、画面、帧和画面群组(GOP)中的任何一个。

与运动信息列表相关联的预定区域可被称为上预测单元(UPU)或初始化区域。

另外,根据实施例,运动信息列表可被称为自适应运动矢量出现列表(AMVOL)或基于历史的运动矢量预测因子列表(HMVP列表)。

另外,仅当编码器/解码器在帧间预测模式或IBC模式下进行操作时可使用运动信息列表。

图8和图9是示出使用运动信息列表的编码器和解码器的示图。

参照图8和图9,编码器和解码器可通过在帧间预测处理或IBC预测处理中使用存储在运动信息列表中的运动信息来提高预测效率。

另外,当新UPU的编码/解码开始时,可初始化或产生运动信息列表。因此,当新UPU的编码/解码开始时,因为在新UPU中未执行帧间预测,所以运动信息列表可能不具有运动信息。由于运动信息列表不具有运动信息,因此在帧间预测中可以不使用运动信息列表。另外,当存储在运动信息列表中的运动信息的数量小时,因为用于帧间预测的信息很少,所以难以预期有效编码。

在本发明中,当执行帧间预测(或IBC预测)时,当存在很少或不存在存储在运动信息列表中的运动信息时,建议了一种将预测的运动信息另外存储在运动信息列表中以产生运动信息列表的方法。

通过上述方法,可通过使用运动信息列表更准确地执行帧间预测来提高编码效率。

根据本发明的运动信息列表可存储在当前UPU中产生的运动信息。

图10是示出根据本发明的使用运动信息列表的帧间预测方法的流程图。

参照图10,当新UPU的编码/解码开始时,运动信息列表初始化步骤是移除运动信息列表中的所有信息或者将运动信息列表中的所有信息返回到设置的默认值的步骤。

运动信息列表预测步骤是预测将被输入到运动信息列表中的运动信息并且将其添加到运动信息列表的步骤。

这里,运动信息列表预测步骤可将多个预测的运动信息添加到运动信息列表。

帧间预测步骤包括运动信息预测步骤,并且是通过参考画面预测当前块的步骤。

运动信息添加步骤是将作为帧间预测的结果获得的运动信息添加到运动信息列表的步骤。根据实施例,可省略或改变运动信息添加步骤。例如,当执行三分区模式时,可省略运动信息添加步骤。也就是说,当在三分区模式下由沿对角线方向进行分区而产生的块共享同一运动信息列表时,可省略运动信息添加步骤。

可以以块为单位执行帧间预测步骤和运动信息添加步骤,并且可针对相应UPU中的所有块执行帧间预测步骤和运动信息添加步骤。

在检查是否完成针对UPU中的所有块的执行之后,当未完成执行时,移动到下一个块进行处理,使得帧间预测可被执行。

当对UPU中的所有块执行了帧间预测且不再使用UPU的运动信息列表时,可初始化运动信息列表。

图11是示出使用运动信息列表的帧间预测方法的流程图。在图11的流程图中所示出的每一个步骤的描述可与图10的描述相同。

然而,执行图11中的运动信息列表预测步骤的时间点可不同于图10中的运动信息列表预测步骤的时间点。

在图10中,可在执行运动信息列表初始化步骤之后执行运动信息列表预测步骤。也就是说,运动信息列表预测步骤可与运动信息列表初始化步骤一起被执行,并且因此当UPU被改变时可执行运动信息列表预测步骤。

在图11中,可在执行运动信息添加步骤之后执行运动信息列表预测步骤。也就是说,每当运动信息被添加到运动信息列表时,可执行运动信息列表预测。

图11与图10的不同之处在于,可通过使用存储在当前运动信息列表中的运动信息来预测附加运动信息。

另外,在图11的情况下,还可通过预测更有效的候选来连续地更新预测的运动信息或者将预测的运动信息添加到运动信息列表,但针对每个块执行运动信息列表预测,使得可增加系统的计算量。

在图10和图11的示例的流程图中,可改变每一个步骤的顺序。当在未完成当前UPU的编码/解码的情况下对另一UPU的块进行编码/解码时,可以以不同的顺序应用或省略图10和图11中的每一个步骤。

当UPU边界中的块之间不存在空间参考关系时(诸如当UPU是画面单元、条带单元或并行块单元时),编码/解码顺序可以不在彼此不同的UPU之间传递。在这种情况下,在未完成当前UPU的编码/解码时,即使在移动到下一块之后,也可在同一UPU中执行编码。

然而,当UPU在同一画面、条带或并行块内被划分为多个单元时,即使当根据编码/解码顺序在当前UPU中未完成编码/解码时,也可产生下一个编码/解码块属于另一UPU的情况。在这种情况下,彼此不同的UPU可具有彼此不同的运动信息列表,并且当前块的编码信息可被存储在当前块所属的UPU的运动信息列表中。在这种情况下,也可从存储在另一UPU中直到当前时间的运动信息列表预测运动信息列表。

另外,可在运动信息列表初始化时间点和运动信息添加时间点两者处执行运动信息列表预测步骤。

图12是示出在运动信息列表初始化时间点和运动信息添加时间点执行运动信息列表预测的帧间预测方法的流程图。在图12的流程图中所示出的每一个步骤的描述可与图10的描述相同。

已经在图10至图12中描述了使用运动信息列表的帧间预测方法。可将图10至图12中的帧间预测步骤改为IBC预测步骤,并且通过IBC预测步骤产生的块矢量可被包括在运动信息列表中。以下描述表示帧间预测包括IBC预测。

另外,当在IBC预测时使用共享的合并列表时,可省略运动信息添加步骤。

图13和图14是示出包括运动信息列表预测器的编码器和解码器的示图。

参照图13和图14,帧间预测模块通过参考画面对当前块执行帧间预测。这里,帧间预测模块可参考运动信息列表执行帧间预测。

运动信息列表添加模块可将作为帧间预测的结果而产生的运动信息添加到运动信息列表。

运动信息列表初始化模块可根据UPU的改变或新运动信息列表的创建来初始化存储在运动信息列表中的信息。

运动信息列表预测模块可预测运动信息并且将运动信息存储在运动信息列表中。这里,可根据由运动信息列表预测模块执行的运动信息列表预测方法参考各种类型的信息。

连接(A)示出在运动信息列表预测模块使用当前块的信息(诸如,当前块的空间位置和时间位置)的情况下模块之间的连接;连接(B)示出在运动信息列表预测模块使用在空间和时间上与当前块相邻的块的信息或者具有可由当前块参考的各种类型的信息的参考画面的信息的情况下的模块之间的连接;以及连接(C)示出在运动信息列表预测模块使用存储在当前运动信息列表中的信息的情况下模块之间的连接。因此,根据由运动信息列表预测模块执行的预测方法,可省略(A)、(B)和(C)中的至少一个的连接。

此外,如图10中所示出的,可在运动信息列表被初始化时执行运动信息列表预测模块。在此情况下,运动信息列表预测模块可通过经由连接(D)从运动信息列表初始化模块接收信号来进行操作。如在图11中所示出,当运动信息列表预测模块的操作与运动信息列表的初始化无关地进行操作时,可省略连接(D)。

另外,图13的运动信息编码模块可对作为帧间预测的结果而产生的运动信息进行编码。在图14中所示出的运动信息解码模块对由图13的运动信息编码模块编码的信号进行解码,并且使得通过解码的信号以与编码器相同的方式执行帧间预测。

可在参数集(诸如,序列参数集或画面参数集)、并行块头、条带头等中传输指示是否在帧间预测期间应用运动信息列表的指示符。

图15是示出执行包括指示是否将运动信息列表应用于序列参数集(SPS)语法的指示符的信号传送的实施例的示图。

图16是示出执行包括指示是否将运动信息列表应用于画面参数集(PPS)语法的指示符的信号传送的实施例的示图。

图17是示出执行包括指示是否将运动信息列表应用于条带头语法的指示符的信号传送的实施例的示图。

在图15至图17中,amvol_enable_flag是指示是否允许使用运动信息列表的帧间预测的信息。当amvol_enable_flag为真时,其指示允许使用运动信息列表的帧间预测,并且当其为假时,其指示不允许使用运动信息列表的帧间预测。

另外,amvol_prediction_flag是指示是否执行运动信息列表预测的信息。也就是说,amvol_prediction_flag可指示是否执行图10至图12的运动信息列表预测步骤。可仅在amvol_enable_flag为真时用信号传送amvol_prediction_flag。

另外,当如图17的示例中的在条带头中用信号传送amvol_enable_flag和amvol_prediction_flag时,当条带的类型不是I条带时执行信号传送。这是因为I条带类型条带不执行帧间预测,使得使用运动信息列表的帧间预测不被执行。然而,当在I条带类型条带中执行IBC并且运动信息列表在IBC中可用时,可用信号传送amvol_enable_flag。另外,当对I条带类型条带执行IBC并且运动信息列表预测可用时,可用信号传送amvol_prediction_flag。

在下文中,将描述根据本发明的预测运动信息列表的方法。

在本说明书中,当前UPU可表示当前块所属的UPU,并且当前运动信息列表可表示当前块的运动信息列表。

另外,运动信息列表预测表示用于被包括在初始化或新产生的运动信息列表中的目的的运动信息预测。

可使用早于当前UPU完成编码/解码的区域(也就是说,预先重建的区域)来预测当前运动信息列表的运动信息。

由于图像的运动信息具有与空间和时间上相邻的区域类似的趋势,因此当前UPU可具有与其他空间和时间上相邻的区域类似的运动信息。因此,通过参考预先重建的区域中的运动信息,可预测当前UPU的运动信息列表运动信息。

例如,可存在从当前块的空间和时间上相邻的区域预测运动信息列表的运动信息的方法以及从预先重建的UPU的运动信息列表预测当前UPU的运动信息列表的运动信息的方法。

1、从与当前块在空间和时间上相邻的区域预测运动信息列表的运动信息的方法

可从在空间和时间上相邻且属于与包括当前块的当前UPU不同的UPU的区域预测当前运动信息列表的运动信息。

图18是从时间上与当前块相邻的区域预测当前运动信息列表的运动信息的示例。

在图18中,假设UPU是画面单元。因此,当画面被改变时,也可初始化运动信息列表。

图18示出从由当前画面参考的参考画面预测运动信息列表(AMOVL)的运动信息的方法。这里,参考画面是预先重建的画面,并且可具有用于重建画面的运动信息。

参照图18,可从参考画面的相应块(下文中,称为“时间邻近块”)预测运动信息并且可将其添加到当前运动信息列表,其中,参考画面的相应块与当前画面中的将被编码/解码的当前编码块(例如,CU、PU、宏块、CTU等)在空间上相同但在时间上不同。

由于在重建当前画面的第一编码块时的时间点初始化运动信息列表,因此在运动信息列表中不应当存储有任何信息。然而,在应用本发明的图18的示例中,可看出,从参考画面的时间邻近块推导出的A’、B’和C’的运动信息被添加到运动信息列表。

图19是示出从空间上与当前编码块相邻的区域预测当前运动信息列表的运动信息的示例的示图。

在图19中,假设UPU是条带单元。因此,在一个画面中可存在多个UPU。

图19示出预测在空间上与当前编码块相邻的块(以下称为“空间邻近块”)的运动信息列表(AMOVL)的运动信息的方法。

参照图19,UPU 0由三个块组成,并且与已经重建了的预先重建的区域相应。

由于在重建UPU 1的第一编码块时的时间点初始化运动信息列表,因此在运动信息列表中不应当存储有信息。然而,在应用本发明的图18的示例中,可通过参考来自预先重建的UPU 0的与当前编码块在空间上相邻的区域的运动信息来预测运动信息列表的运动信息。因此,可看出,A和B的运动信息被添加到UPU 1的运动信息列表。

另外,基于图18和图19中的编码块进行了描述,也可基于编码树单元(CTU)、编码单元(CU)、预测单元(PU)、变换单元(TU)、宏块(宏块)或预定尺寸的块进行描述。

编码块可以以子块为单位存储运动信息。因此,可以以子块为单位提供不同的运动信息,并且可参考运动信息而不管编码块的分区类型如何。

即使在从空间和时间上相邻的区域预测运动信息列表时,也可参考在空间和时间上相邻的编码块的子块。这里,由于参考所有的子块需要大量的计算,因此可通过参考具有预定范围或位置的子块来执行运动信息列表预测。可使用n个子块的代表值而不是最小单元,使得不是所有的子块的运动信息被存储。

作为示例,当子块的尺寸为4×4时,四个子块属于8×8区域。通过从四个子块选择代表值并仅将一个运动信息存储在8×8区域中,可减少用于子块的运动信息存储的存储器使用。这里,运动信息列表预测可指被指定为8×8区域中的代表的运动信息。

可以以各种尺寸(诸如4×4、8×8、16×16等)指定用于选择子块的代表值的范围。从子块选择代表值的方法可包括使用选择代表值的范围内的固定位置的方法、考虑出现频率的方法、使用平均值的方法等。另外,除了平均值之外,还可使用加权和、加权平均值、中值、最小值和最大值中的至少一个来确定代表值。

当从时间相邻区域预测运动信息列表时,由于时间邻近块的画面不同于当前画面,并且时间邻近块的参考画面不同于当前块的参考画面,因此可改变由运动信息指示的时间距离。

例如,在当前画面为POC 4,为了预测运动信息列表而参考的时间邻近块的画面为POC 8,当前块的参考画面为POC 8并且时间邻近块的参考画面为POC 1的情况下,当前画面与当前块的参考画面之间的时间距离关于POC的差为4,并且时间邻近块的画面与时间邻近块的参考画面之间的时间距离关于POC的差为7。另外,由于当前块参考将来的画面,并且时间邻近块参考过去的画面,因此可看出,参考的时间方向也彼此相反。

因此,必需预测和校正运动信息随时间间隔的改变。这被称为运动信息缩放。

当从时间相邻的区域执行运动信息列表预测时,也可将运动信息缩放应用于运动信息列表预测所参考的运动信息。

即使在从时间邻近块预测运动信息列表的情况下,也可期望通过运动信息缩放来提高编码效率。

然而,运动信息缩放可能需要大量计算。因此,在执行运动信息列表预测时,可省略运动信息缩放,或可以不将需要运动信息缩放的运动信息用于预测。

当时间邻近块的运动很少时,可以不需要运动信息缩放。

可选地,在当前画面与当前块的参考画面之间的时间间隔等于时间邻近块的画面与时间邻近块的参考画面之间的时间间隔或者小于预定范围时,可省略运动信息缩放。

像这样,仅将不需要运动信息缩放的运动信息用于预测,因此可防止由于运动信息缩放而引起的计算量的增加。

另外,在预测时可给定需要运动信息缩放的运动信息比不需要运动信息缩放的运动信息更低的优先级。

2、从预先重建的UPU的运动信息列表预测运动信息列表的运动信息的方法

所述方法是一种使用预先重建的UPU的运动信息列表来执行当前UPU的运动信息列表预测的方法。

UPU可具有彼此不同的运动信息列表,并且在空间上和时间上相邻的UPU可具有彼此相似的运动信息列表。因此,当前UPU可通过参考预先重建的空间和时间上相邻的UPU的运动信息列表来预测当前运动信息列表的运动信息。

图20是示出参考预先重建的UPU的运动信息列表执行当前运动信息列表预测的方法的示例的示图。

参照图20,其示出在重建UPU 1的第一编码块时的时间点,并且可在所述时间点初始化运动信息列表,使得可以不添加从当前UPU(UPU 1)产生的运动信息。

在应用了本发明的图20的示例中,参考预先重建的UPU 0的运动信息列表,通过将UPU 0的运动信息列表的运动信息添加到UPU 1的运动信息列表来执行运动信息列表预测。

在完成当前画面的第一块的帧间预测之后,可将第一块的运动信息添加到运动信息列表。这里,相应的运动信息可被设置为在运动信息列表中具有最低索引值。存在于现有运动信息列表中的运动信息的索引值可逐一增加并且因此被存储。

可选地,可将第一块的运动信息设置为在运动信息列表中具有预定索引值。存在于现有运动信息列表中的运动信息的索引值可在逐一增加的同时被存储。

另外,当整个画面为UPU时,预先重建的画面的最后一个块被编码/解码,然后将存储有所述块的运动信息的最终运动信息列表用于当前画面的第一个块的运动信息列表预测。

也就是说,将在预先重建的画面的UPU的最终运动信息列表中存储的运动信息的全部或一部分用于预测或初始化作为当前画面的当前UPU的运动信息列表。这里,预先重建的画面的UPU可被称为参考UPU。

在执行当前画面的第一块的帧间预测之前,运动信息列表可以不存储来自当前画面的运动信息。这是因为在当前画面中不存在运动信息。这里,可通过将存储在参考UPU的最终运动信息列表中的运动信息中的一些或全部存储在当前运动信息列表中来预测或初始化运动信息列表。可将通过运动信息列表预测或运动信息列表初始化存储在当前运动信息列表中的运动信息用于当前画面的第一块的帧间预测。

当从预先重建的区域的运动信息列表预测当前运动信息列表时,可在预先重建的区域中参考中间配置的运动信息列表而不是最终配置的运动信息列表。

运动信息列表可累积并存储在相应UPU中产生的运动信息,并且还可删除所存储的运动信息。因此,随着编码/解码的进行,所存储的信息可改变。当预测或初始化当前运动信息列表时,在用于通过当前运动信息列表执行预测的编码块的位置远离由当前运动信息列表所参考的预先重建的区域中的运动信息列表最终存储的运动信息的产生位置的情况下,可降低运动信息列表预测效率。

例如,当UPU是画面单元时,最终存储在运动信息列表中的运动信息可以是从画面右下方的编码块产生的运动信息。这里,当存储在运动信息列表中的运动信息的数量有限时,从运动信息列表中移除来自最终存储的运动信息的作为画面的开始部分的左上端附近产生的运动信息,并且可将作为画面的结束部分的右下端附近的运动信息存储在运动信息列表中。由于当前UPU的第一编码块相应于画面的左上方区域,因此从参考画面的右下方区域产生的运动信息具有低相关性,由此预测效率不高。当预测或初始化运动信息列表时,当参考在存储靠近左上方区域的信息时的运动信息列表来代替最终构建的预先重建的运动信息列表时,与参考最终运动信息列表时相比,编码效率可更高。

然而,当所有步骤中的运动信息列表被存储时,存储器使用高得多。因此,在特定时间点复制并存储预定运动信息列表使得可减少存储器使用之后,可单独使用可用于预测或初始化运动信息列表的参考运动信息列表缓冲器。

例如,可将UPU单元的左上方区域和右下方区域的运动信息列表存储在参考运动信息列表缓冲器中。

另外,当预先重建的画面的运动信息列表被用于运动信息列表的预测时,当前画面不同于预先重建的画面,并且当前块的参考画面不同于由预先重建的画面的运动信息列表中的运动信息参考的参考画面。这里,由于预测效率可能由于预先重建的画面与由运动信息参考的参考画面之间的时间距离差而降低,因此可使用诸如运动信息缩放等的校正。

另外,上述方法可指定将被参考的UPU。作为指定将被参考的UPU的方法,存在一种允许编码器和解码器通过发送和接收编码信号来参考同一UPU的方法以及一种通过预定方法选择UPU来省略附加信号发送和接收的方法。

尽管在图20中描述了作为预测当前运动信息列表的方法的复制参考UPU的所有运动信息列表的方法,也可应用仅将运动信息列表的运动信息的一部分复制到当前运动信息列表的方法。

作为示例,可仅将来自参考UPU的运动信息列表的预定义索引以下的运动信息添加到当前运动信息列表。

3、从先前包括在当前运动信息列表中的运动信息预测当前运动信息列表的运动信息的方法

当存储在运动信息列表中的运动信息的数量不足时,可从当前运动信息列表预测并添加不足数量的运动信息列表中的运动信息。

另外,可在以下时间点中的至少一个时执行从先前包括在当前运动信息列表中的运动信息预测当前运动信息列表的运动信息:运动信息被添加到运动信息列表之后的时间点、添加的时间点以及在运动信息被添加到运动信息列表之前在编码块中产生运动信息的时间点。

图21是示出从存储在当前运动信息列表中的运动信息执行运动信息列表预测的方法的示图。

参照图21,可看出,将通过第一编码块的帧间预测产生的运动信息A添加到运动信息列表(AMVOL更新)。这表示在运动信息列表中仅存储一个运动信息的状态。因此,当通过运动信息列表执行帧间预测时,编码效率可能劣化。

在图21中,可看出,在执行下一个编码块的帧间预测之前(或在更新运动信息列表之后)执行运动信息列表预测。可通过从存储在当前运动信息列表中的运动信息A预测运动信息A’和运动信息A”并将运动信息A’和运动信息A”存储在运动信息列表中来增加存储在运动信息列表中的运动信息的数量。通过增加当前运动信息列表中的运动信息的数量,可改进使用运动信息列表的帧间预测的效率。

在下文中,存在于当前运动信息列表中的运动信息被称为现有运动信息,并且新预测的运动信息被称为预测的运动信息。

以下方法1)至3)是使用现有运动信息推导预测运动信息的方法的示例。

1)转换现有运动信息的运动矢量并推导预测运动信息的方法

运动矢量将使用相应运动信息的块与将被参考的区域之间的空间距离表示为运动。因此,当运动矢量被转换时,将被参考的区域被改变。

例如,存在一种使用预定方法修改现有运动信息的运动矢量的方法。

修改运动矢量的方法可以是添加位移、缩放和镜像中的至少一个。

位移的添加是通过将预定位移与运动矢量相加来修改运动矢量的方法。

作为示例,运动矢量可被表示为具有x轴位移和y轴位移的MV(x,y),并且通过将预定位移dx、预定位移dy添加到MV(x,y),可产生修改的运动矢量MV’(x+dx,y+dy)。这里,dx和dy可以是整数,并且dx和dy可以是彼此不同的值。

缩放是一种通过将预定放大倍数sx和预定放大倍数sy乘以运动矢量MV(x,y)来修改运动矢量的方法。可产生经由缩放修改的运动矢量MV’(sx*x,sy*y)。通过使用不同的放大倍数,可产生各种修改的运动矢量。这里,sx和sy可以是整数,并且sx和sy可以是彼此不同的值。

镜像是通过保持运动矢量的大小的同时反转方向来修改运动矢量的方法。例如,当将x轴和y轴镜像应用于运动矢量MV(x,y)时,可产生修改的运动矢量M’(-x,-y)。通过定义将被应用的轴,可产生各种修改的运动矢量。

2)转换现有运动信息的参考信息并推导预测运动信息的方法

参考信息是关于包括在帧间预测中被参考的区域的参考画面的信息。通过改变包括在运动信息中的参考信息,参考画面被改变,使得所参考的区域可被改变。即使在相同运动矢量的情况下,当参考画面改变时,所参考的像素的信息也可改变,因此帧间预测的结果可改变。这里,通过使用当前画面与现有运动信息的参考画面之间的时间轴上的距离以及当前画面与改变的参考画面之间的时间轴上的距离来校正运动矢量,从而提高运动信息预测的精度。

图22是示出通过改变现有运动信息的参考画面并相应地校正运动矢量来推导预测的运动信息的处理的示例。

参照图22,当前画面位于时间轴上的点t处,并且当前画面可参考的参考画面位于时间轴上的点t-k、点t-m和点t+n处。当前运动信息列表具有参考L0参考画面0的运动矢量A,其中,L0参考画面0是在索引0处的时间点t-m处的参考画面。

可考虑当前画面与每一个参考画面之间的时间轴上的距离(画面的计数器,POC)来校正运动信息A,从而预测对象的移动在短时间变化内接近线性。

当参考信息被改变为作为时间点t-k处的参考画面的L0参考画面1和作为时间点t+n处的参考画面的L1参考画面0时,考虑到画面与参考画面之间在时间轴上的距离,可将运动信息A分别校正为A’和A”。可将以上述方式推导的预测的运动信息添加到运动信息列表。

3)使用多个现有运动信息推导预测运动信息的方法

当在运动信息列表中存在两个或更多个运动信息时,可通过部分地使用现有运动信息中的每一个或者使用两个或更多个运动信息的平均值来推导预测的运动信息。

此外,除了平均值之外,还可使用诸如加权和、加权平均值、中值、最小值、最大值等统计值中的至少一个。

另外,可将现有运动信息中的任何一个的参考信息用作预测运动信息的参考信息。

可选地,可推导具有与现有运动信息的参考信息不同的参考信息的预测的运动信息。

作为示例,可在上面的参数集、条带头等中用信号传送参考信息,并且可将由参考画面列表的第一索引指示的画面用作预测的运动信息的参考信息。

4、将预定义运动信息预测为当前运动信息列表的运动信息的方法

所述方法是将预定义运动信息预测为当前运动信息列表的运动信息的方法。具体地,可将在编码器和解码器中类似地定义的运动信息添加到当前运动信息列表中。

预定义运动信息可包括在x方向和y方向上具有特定运动值的运动矢量信息,诸如,(0,0)、(0,1)、(0,-1)、(1,0)、(-1,0)等。

另外,可预先定义预定义运动信息的参考信息,诸如参考画面列表L0的第“0”画面或参考画面列表L1的第“0”画面。

另一方面,编码器可产生指示是否使用预定义运动信息的标志,并且将其传送到解码器。

当存在多个预定义运动信息时,编码器可产生指示应用哪个运动信息的标识符(或索引等),并且将其发送到解码器。

解码器可基于所发送的信息来确定是否应用预定义的运动信息以及应用哪个运动信息。

可存在没有当前UPU可参考的预先重建的区域的情况,或者可从所参考的预先重建的区域预测的运动信息的数量不足的情况。在此类情况下,可将上文所描述的方法3和方法4用于运动信息列表预测。

5、排除与其他运动预测重叠的候选的方法

多种帧间预测方法可被用于编码和解码,并且包括在运动信息列表中的运动信息可被用于各种帧间预测方法中的运动信息预测。这里,由帧间预测方法使用的运动预测候选可能与运动信息列表的预测的运动信息重叠。

作为示例,合并模式下的时间合并候选的运动信息与针对运动信息列表预测的运动信息相同并因此彼此重叠。

在上述情况下,当使用相同的运动信息进行帧间预测时,预测效率可能劣化。因此,考虑到用于帧间预测的运动预测方法(例如,合并模式下的合并候选、AMVP模式下的运动矢量候选等),可将运动信息设置为具有更多个各种预测的信息而不重叠。

当运动预测方法的候选与运动信息列表的预测的运动信息彼此重叠时,可根据优先级确定是否使用运动信息列表的预测的运动信息。

当运动预测方法的候选的优先级高时,可以不使用运动信息列表的预测的运动信息。也就是说,预测的运动信息可以不被包括在运动信息列表中。

相反,当运动预测方法的候选的优先级低时,可使用运动信息列表的预测的运动信息。也就是说,预测的运动信息可被包括在运动信息列表中。运动预测方法的候选可以不被包括在运动信息列表中。

另外,当运动预测方法的候选的优先级与运动信息列表的预测的运动信息的优先级相同时,可使用运动信息列表的预测的运动信息或可将其改变为预定运动信息。

为了防止运动预测列表的预测的运动信息与运动预测方法的候选的重叠,可将运动信息列表的预测的运动信息列表设置为在编码/解码开始的时间点的与运动预测方法的候选的块位置不重叠的预定义位置处被推导。

例如,可指定同位CTU单元,并且可从CTU中的预定义位置推导运动信息。

图23是示出预测不与运动预测方法的候选重叠的运动信息列表的方法的示图。在图23中,由对角线图案(从右上端到左下端的对角线图案)指示的位置C和位置H可指可用于当前编码块的帧间预测的时间候选的位置。

参照图23,可将用于运动信息列表预测的预先重建的区域设置为与位置C和位置H不同的位置处的区域。

如在图23中所示出的,可将运动信息列表的运动信息设置为在除位置C和位置H之外的位置a、位置b、位置c、位置d和位置e处被推导。

另外,当将运动信息添加到运动信息列表时,可以不将与位置C或位置H的运动信息相同的运动信息添加到运动信息列表。

图24是示出当运动预测方法的时间候选的位置与图23的位置C和位置H相同时以CTU为单位设置运动信息列表预测所参考的位置的实施例的示图。

当以与图24中相同的方式以CTU为单位配置参考位置时,可通过使用固定位置来简化运动信息列表预测结构,同时通过参考未由现有运动预测方法预测的区域来提高编码效率。

在图24中,对角线图案块(从右上方到左下方的对角线图案块)和反向对角线图案块(从左上方到右下方的对角线图案块)可表示用于预测同位CTU中的当前运动信息列表的运动信息的位置。对角线图案块是指具有比反向对角线图案块更高的优先级的参考区域。

另外,当由帧间预测方法使用的运动预测候选与运动信息列表的预测的运动信息重叠时,可以不将重叠的预测的运动信息用于帧间预测。

6、将预测的运动信息与一般运动信息单独使用的方法

在本说明书中,一般运动信息可表示作为通过帧间预测产生的运动信息而被添加到运动信息列表的运动信息以及在图10和图11的运动信息添加步骤中被添加到运动信息列表的运动信息。预测的运动信息可表示通过如上文所描述的运动信息列表预测产生的运动信息,并且可以是在图10和图11的运动信息列表预测步骤中被添加到运动信息列表的运动信息。

预测的运动信息可具有比一般运动信息低的运动信息预测效率。因此,当预测的运动信息具有比一般运动信息高的优先级时,编码效率可能降低。因此,可单独产生预测的运动信息和一般运动信息,使得可降低或校正预测的运动信息的优先级。

另外,在添加一般运动信息的情况下,当运动信息列表已经具有有限最大数量的运动信息时,可首先移除预测的运动信息。

图25和图26是示出单独使用预测运动信息和一般运动信息的方法的实施例的示图。可以以先进先出(FIFO)方式将运动信息添加到图25和图26中的运动信息列表,并且运动信息列表的大小被限制为5。此处,运动信息列表的大小还包括子运动列表的大小。

参照图25,可存在存储一般运动信息的运动信息列表(AMVOL)和存储预测的运动信息列表的子运动信息列表(子AMVOL)。

在执行第一编码块的帧间预测之前,没有信息被存储在运动信息列表中,并且可将从参考画面预测的运动信息A’、B’和C’存储在子运动信息列表中。

然后,可在执行每一个编码块的帧间预测时将运动信息添加到运动信息列表。

这里,当达到运动信息列表的最大大小时,首先从存储预测的运动信息的子运动信息列表删除运动信息,并且可将新运动信息添加到运动信息列表。

另外,指示是否使用子运动信息列表的信息、运动信息列表的大小信息或子运动信息列表的大小信息可以是在编码器/解码器中预设的信息。

可选地,指示是否使用子运动信息列表的信息、运动信息列表的大小信息或子运动信息列表的大小信息可以是从编码器用信号传送到解码器的信息。

这里,运动信息列表的大小可受预设范围限制。例如,预设范围可以是从0到5。

另外,运动信息列表的大小可受从编码器用信号传送到解码器的信息限制。可在较高级别的比特流(例如序列参数集、画面参数集、条带头、并行块头、并行块群组头等)处用信号传送指示运动信息列表的大小的信息。

图26是示出与图25不同的使用单个运动信息列表而不使用子运动信息列表的实施例的示图。

在图26的示例中,可以以FIFO方式管理运动信息列表。也就是说,运动信息列表具有将所产生的运动信息添加到运动信息列表的最后一部分,并且当超过运动信息列表的最大大小时首先移除首先被输入的先前运动信息的方法。

换句话说,当存储在运动信息列表中的运动信息的数量达到最大值时,移除运动信息列表的最后一个索引中指示的运动信息,并且将新推导出的运动信息添加到运动信息列表。这里,包括在运动信息列表中的运动信息的索引可增加1。可按照由索引0指示的方式将新添加的运动信息添加到运动信息列表。

另外,存储在运动信息列表中的运动信息由于索引较低可具有较高优先级。

这里,可与被产生并被存储在当前UPU中的一般运动信息列表运动信息分开处理由运动信息列表预测存储的运动信息。

由于预测的运动信息具有低优先级,因此当新添加一般运动信息时,可分配低于预测的运动信息列表中的运动信息的索引。

另外,当达到运动信息列表的最大大小时,可优先删除预测的运动信息并且可将新运动信息添加到运动信息列表。

另外,如上所述,索引越低,优先级越高。反之,索引越高,优先级越高。

因此,也可如下执行运动信息列表的FIFO方式。也就是说,当存储在运动信息列表中的运动信息的数量达到最大值时,可移除由运动信息列表的索引0指示的运动信息,并且可将新推导出的运动信息添加到运动信息列表。这里,包括在运动信息列表中的运动信息的索引可减少1。可按照由包括在运动信息列表中的运动信息中的最大索引指示的方式将新添加的运动信息添加到运动信息列表。

另外,当新添加的运动信息被存储在运动信息列表中时,从运动信息列表中移除先前存储的重叠的运动信息,并且可将新推导出的运动信息包括在运动信息列表中。这里,具有大于移除的运动信息的索引值的运动信息列表的运动信息的索引可减少1。可按照由包括在运动信息列表中的运动信息中的最大索引指示的方式将新添加的运动信息添加到运动列表。

包括在运动信息列表中的运动信息可在被用于运动信息预测时具有优先级。可根据运动信息被存储在运动信息列表中的顺序隐式地表达运动信息,当使用运动信息列表执行帧间预测时将优先级显式地设置为候选,或者可选择性使用优先级。

另外,由于运动信息列表可具有有限大小,因此当达到有限大小时,可移除存储在运动信息列表中的运动信息并且可根据优先级添加新运动信息。

另外,预测的运动信息可具有比正常运动信息的预测效率低的预测效率。然而,由于并非在所有情况下都可以,因此可重新校准预测的运动信息的优先级。

可使用附加信息来重新校准预测的运动信息的优先级。

运动信息列表可包括除运动信息之外的附加信息。此处,附加信息可表示指示包括在运动信息列表中的运动信息的帧间预测效率的信息,并且还可被称为预测潜力信息。例如,附加信息可以是基于UPU中的同一运动信息的出现次数而推导的信息。

当将运动信息列表用于帧间预测时,附加信息可表示编码效率的相对上升和下降。

作为用于确定附加信息的方法,可存在基于运动信息的出现频率的确定方法、基于使用运动信息的预测效率的确定方法、基于推导出运动信息的位置的确定方法、以及基于是否使用运动信息的确定方法。

基于运动信息的出现频率的确定方法是基于在UPU中产生与存储在运动信息列表中的运动信息相同的运动信息的次数来确定附加信息的方法。

基于使用运动信息的预测效率的确定方法是基于使用在运动信息列表中存储的运动信息的编码块中的残差信号的能量分布或残差信号的能量平均值来确定附加信息的方法。

基于推导出运动信息的位置的确定方法是基于当前编码块与推导出存储在运动信息列表中的运动信息的编码块之间的空间和时间距离来确定附加信息的方法。

另外,可基于预测的运动信息是否被用于帧间预测而重新校准预测的运动信息的优先级。这是因为当相应的预测的运动信息用于帧间预测时,其可能在将来使用。

重新校准预测的运动信息的优先级所需的信息可以是在编码器/解码器中预设的或从编码器用信号传送到解码器的信息。

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

参照图27,图像解码设备可产生包括从与当前块相邻的空间邻近块和时间邻近块推导出的运动信息的候选列表(S2710)。

此处,候选列表可以是合并模式下的合并候选列表、AMVP模式下的运动矢量候选列表、IBC模式下的合并候选列表、IBC模式下的块矢量候选列表和IBC模式下的共享合并列表中的任何一个。

另外,图像解码设备可通过使用候选列表推导当前块的运动信息(S2720)。

图像解码设备可使用推导出的运动信息产生当前块的预测块(S2730)。具体地,图像解码设备可通过执行帧间预测或IBC预测来产生当前块的预测块。

另外,图像解码设备可更新运动信息列表中的推导出的运动信息(S2740)。步骤S2740可与上述的图10和图11的运动信息添加步骤相同。

另外,可产生包括运动信息中的至少一个运动信息的候选列表,其中,所述运动信息包括在在当前块之前被解码的块中更新的运动信息列表中。这里,运动信息列表可以是上述AMVOL或HMVP列表。

另外,当在运动信息列表中完成预定区域的解码使得所述区域被改变时,图像解码设备可初始化运动信息列表。此处,预定区域可以是由一个或更多个CU组成的块或者由一个或更多个CTU组成的块中的任何一个。上述初始化可与图10和图11的运动信息初始化步骤相同。

另外,运动信息列表可具有预定大小的限制。这里,预定大小可以是6。

另外,当在当前块之前被解码的块中更新的运动信息列表中存在多个运动信息时,图像解码设备可将所述多个运动信息中的至少两个或更多个运动信息的平均值包括在候选列表中。

另外,当在当前块之前被解码的块中更新的运动信息列表的运动信息与先前包括在候选列表中的运动信息相同时,图像解码设备可使得运动信息列表的运动信息不被包括在候选列表中。

另外,在当前块为IBC预测模式并且候选列表为共享合并列表时,可省略更新运动信息列表中的推导出的运动信息的方法。

另外,当存储在运动信息列表中的运动信息的数量是预设值时,图像解码设备可删除首先被存储在运动信息列表中的运动信息,并且存储在步骤S2720中推导出的运动信息。

上面已经参照图27描述了图像解码方法。由于本发明的图像编码方法可类似于参照图27描述的图像解码方法来描述,因此省略了冗余的描述。

通过本发明的图像编码方法产生的比特流可被临时存储在计算机可读非暂时性记录介质中,并且可通过上述图像解码方法被解码。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

工业适用性

本发明可被用于对图像进行编码/解码的设备。

62页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:内容发布服务器、内容发布系统、内容发布方法及程序

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类