掌桥专利:专业的专利平台
掌桥专利
首页

视频解码方法、图像编码方法以及发送比特流的方法

文献发布时间:2024-04-18 19:58:30


视频解码方法、图像编码方法以及发送比特流的方法

本专利申请是国际申请日为2017年9月26日、国家申请号为201780061397.7、发明名称为“用于对图像进行编码和解码的方法和设备以及用于存储比特流的记录介质”的专利申请的分案申请。

技术领域

本发明涉及用于对图像进行编码/解码的方法和设备以及存储比特流的记录介质。更具体地,本发明涉及基于画面间预测的高效图像编码/解码方法和设备以及存储通过图像编码/解码方法和设备产生的比特流的记录介质。

背景技术

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

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

发明内容

技术问题

因此,本发明的目的在于提供一种高效图像编码/解码方法和设备。

本发明的另一个目的在于提供一种基于画面间预测的高效图像编码/解码方法和设备。

技术方案

本发明提供一种图像解码方法,其中,所述图像解码方法包括:从当前块的同位块推导时间合并候选;基于推导出的时间合并候选产生当前块的合并候选列表;并且基于产生的合并候选列表产生当前块的预测块,其中,推导时间合并候选的步骤包括:基于当前块与当前块的参考画面之间的画面顺序计数(POC)差值以及当前块的同位块与当前块的同位块的参考画面之间的POC差值,对从当前块的同位块推导出的运动矢量进行缩放;基于当前块的邻近块与当前块的邻近块的同位块之间的运动矢量缩放信息来修改缩放后的运动矢量。

在所述图像解码方法中,推导时间合并候选的步骤可包括:基于当前块的邻近块与当前块的邻近块的参考画面之间的POC差值以及当前块的邻近块的同位块与当前块的邻近块的同位块的参考画面之间的POC差值,对从邻近块的同位块推导出的运动矢量进行缩放;基于从当前块的邻近块的同位块推导出并随后被缩放的运动矢量与当前块的邻近块的运动矢量的比率,产生当前块的邻近块与当前块的邻近块的同位块之间的运动矢量缩放信息。

在所述图像解码方法中,可通过将基于当前块的邻近块与当前块的邻近块的同位块之间的运动矢量缩放信息的加权值应用于缩放后的运动矢量,执行修改缩放后的运动矢量的操作。

在所述图像解码方法中,当当前块与当前块的参考画面之间的POC差值和当前块的邻近块与当前块的邻近块的参考画面之间的POC差值不同时,可基于当前块与当前块的参考画面之间的POC差值和当前块的邻近块与当前块的邻近块的参考画面之间的POC差值之间的差值来修改所述加权值。

在所述图像解码方法中,当前块的邻近块可以是基于邻近块位置信息在当前块的空间邻近块和当前块的时间邻近块中选择的。

在所述图像解码方法中,邻近块可以是在当前块的空间邻近块中选择的块,并且具有与当前块的参考画面相同的参考画面。

本发明提供一种图像编码方法,其中,所述图像编码方法包括:从当前块的同位块推导时间合并候选;基于推导出的时间合并候选产生当前块的合并候选列表;并且基于产生的合并候选列表产生当前块的预测块,其中,推导时间合并候选的步骤包括:基于当前块与当前块的参考画面之间的POC差值以及当前块的同位块与当前块的同位块的参考画面之间的POC差值,对从当前块的同位块推导出的运动矢量进行缩放;基于当前块的空间和时间邻近块与当前块的空间和时间邻近块的同位块之间的运动矢量缩放信息,修改缩放后的运动矢量。

本发明提供一种能够存储通过以上描述的图像编码方法和图像解码方法产生的比特流的记录介质。

根据一方面,本发明提供了一种图像解码方法,其中,所述图像解码方法包括:获取指示画面间预测方向和画面间预测模式的画面间预测指示符;并且基于画面间预测指示符产生当前块的预测块,其中,画面间预测指示符指示针对每个预测方向的画面间预测模式。

本发明提供一种图像编码方法,其中,所述图像编码方法包括:确定针对每个画面间预测方向的画面间预测模式;并且根据确定结果,对指示画面间预测方向和画面间预测模式的画面间预测指示符进行编码。

本发明提供一种能够存储通过以上描述的编码方法产生的比特流的记录介质。

本发明提供一种图像解码设备,其中,所述图像解码设备包括:运动补偿单元,从当前块的同位块推导时间合并候选,基于推导出的时间合并候选产生合并候选列表,并基于产生的合并候选列表来产生当前块的预测块,其中,运动补偿单元执行以下操作:基于当前块与当前块的参考画面之间的POC差值以及当前块的同位块与当前块的同位块的参考画面之间的POC差值,对从同位块推导出的运动矢量进行缩放;基于当前块的邻近块与当前块的邻近块的同位块之间的运动矢量缩放信息,修改缩放后的运动矢量。

本发明提供一种图像解码设备,其中,所述图像解码设备包括:熵解码单元,获取指示画面间预测方向和画面间预测模式的画面间预测指示符;以及运动补偿单元,基于画面间预测指示符产生当前块的预测块。

有益效果

如上所述,根据本发明,可提供具有高压缩效率的用于对图像进行编码/解码的方法和设备。

另外,根据本发明,可提供一种用于基于画面间预测对图像进行编码/解码的高效方法和设备。

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

附图说明

图1是示出根据本发明的一个实施例的编码设备的构造的框图;

图2是示出根据本发明的一个实施例的图像解码设备的构造的框图;

图3是示意性地示出用于编码和解码的图像的分区结构的示图;

图4是示出画面间预测处理的实施例的示图;

图5是示出根据本发明的使用合并模式的图像编码方法的流程图;

图6是示出根据本发明的使用合并模式的图像解码方法的流程图;

图7是示出根据本发明的推导当前块的空间合并候选和时间合并候选的方法的示例的示图;

图8是示出根据本发明的对当前块的同位块的运动矢量进行缩放以推导当前块的时间合并候选的方法的示例的示图;

图9是示出以子块为单位执行运动补偿的方法的实施例的示图;

图10是示出根据本发明的修改缩放后的运动矢量以推导时间合并候选的方法的示例的示图;

图11是示出根据本发明的图像解码方法的流程图;

图12是示出根据本发明的推导时间合并候选的方法的流程图;

图13是示出根据本发明的图像解码方法的流程图;

图14是示出根据本发明的图像编码方法的流程图。

具体实施方式

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

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

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

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

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

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

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

另外,在下文中,图像可指构成视频的画面,或者可指视频本身。例如,“图像的编码或解码、或者图像的编码和解码两者”可指“视频的编码或解码、或者视频的编码和解码两者”,并且可指“视频的图像中的一个图像的编码或解码、或者所述一个图像的编码和解码两者”。这里,画面和图像可具有相同的含义。

术语的描述

编码器:表示执行编码的装置。

解码器:表示执行解码的装置。

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

样本:是构成块的基本单元。根据比特深度(Bd),样本可被表示为0到2

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

编码树单元:由一个亮度分量编码树块Y和与亮度分量编码树块Y相关联的两个色度分量编码树块Cb和Cr组成。另外,编码树单元可被解释为包括块以及各个块的语法元素。可通过使用四叉树分区方法和二叉树分区方法中的至少一个来对每个编码树单元进行分区,以产生诸如编码单元、预测单元、变换单元等的下级单元。编码树单元可被用作用于指定像素块的术语,其中,该像素块变为用于当执行编码/解码时的每个处理(诸如,对输入图像进行分区)的单元。

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

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

重建的邻近块:表示在空间上或时间上与当前块相邻并且已经被编码或解码的邻近块。这里,重建的邻近块可表示重建的邻近单元。重建的空间邻近块可以是布置在当前画面内并且已经通过编码和/或解码被重建的块。重建的时间邻近块是布置在参考画面内并与当前画面的当前块位于相同位置并且已经被重建的块、或该块的邻近块。

单元深度:表示单元的分区程度。在树结构中,根节点可以是最高节点,并且叶节点可以是最低节点。另外,当单元被表示为树结构时,单元所存在的级别可表示单元深度。

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

参数集:与比特流结构内的头信息相应。参数集中可包括视频参数集、序列参数集、画面参数集和自适应参数集中的至少一个。另外,参数集可包括条带(slice)头信息和并行块(tile)头信息。

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

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

预测单元:表示在执行预测(诸如,画面间预测、画面内预测、画面间补偿、画面内补偿和运动补偿)时的基本单元。单个预测单元可被分区为具有较小尺寸的多个分区,或者可被分区为具有较小尺寸的预测子单元。

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

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

画面间预测指示符:可表示当前块的画面间预测方向(单向预测、双向预测等)。可选地,画面间预测指示符可表示用于产生当前块的预测块的参考画面的数量。进一步可选地,画面间预测指示符可表示用于针对当前块执行画面间预测或运动补偿的预测块的数量。

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

参考画面:可表示特定块所参考的用于画面间预测或运动补偿的画面。

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

运动矢量候选:可表示当对运动矢量进行预测时变为预测候选的块或该块的运动矢量。运动矢量候选可列在运动矢量候选列表中。

运动矢量候选列表:可表示运动矢量候选的列表。

运动矢量候选索引:表示指示运动矢量候选列表中的运动矢量候选的指示符。它也被称为运动矢量预测因子的索引。

运动信息:可表示包括运动矢量、参考画面索引、画面间预测指示符和以下项中的至少任意一个的信息:参考画面列表信息、参考画面、运动矢量候选、运动矢量候选索引、合并候选和合并索引。

合并候选列表:表示包括合并候选的列表。

合并候选:表示空间合并候选、时间合并候选、组合合并候选、组合双向预测合并候选、零合并候选等。合并候选可具有画面间预测指示符、用于每个列表的参考画面索引、以及诸如运动矢量的运动信息。

合并索引:表示合并候选列表内的合并候选的信息。合并索引可指示在空间上和/或时间上与当前块相邻的重建块之中的用于推导合并候选的块。合并索引可指示合并候选所拥有的运动信息中的至少一项。

变换单元:表示当对残差信号进行编码或解码时(例如,当执行变换、逆变换、量化、反量化或变换系数编码/解码时)使用的基本单元。一个变换单元可被分区为多个较小的变换单元。

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

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

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

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

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

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

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

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

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

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

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

图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中。

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

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

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

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

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

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

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

当熵编码被应用时,符号被表示,使得较少数量的比特被分配给具有较高发生概率的符号并且较大数量的比特被分配给具有较低发生概率的符号。从而可减小编码目标符号的比特流的大小。对于熵编码,熵编码单元150可使用诸如指数哥伦布、上下文自适应可变长度编码(CAVLC)或上下文自适应二进制算术编码(CABAC)的编码方法。例如,熵编码单元150可通过使用可变长度编码/码(VLC)表来执行熵编码。另外,熵编码单元150可推导目标符号的二值化方法以及目标符号/二进制位的概率模型,并且可随后通过使用推导出的二值化方法、推导出的概率模型或推导出的上下文模型来执行算术编码。

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

编码参数不仅可包括由编码器编码并且用信号发送给解码器的诸如上下文语法的信息(标志、索引等),而且还包括在编码处理或解码处理期间推导出的信息。编码参数还可包括在对图像进行编码或解码时所需的信息。例如,编码参数可包括以下项中的至少任何一项或以下项的至少一个组合:单元或块尺寸;单元或块深度;单元或块分区信息;单元或块分区结构;关于是否执行四叉树形式分区的信息;关于是否执行二叉树形式分区的信息;二叉树形式分区的方向(水平方向或垂直方向);二叉树形式的分区类型(对称分区或非对称分区);画面内预测的模式;画面内预测的方向;参考样本滤波方法;预测块滤波方法;预测块滤波器抽头;预测块滤波器系数;画面间预测模式;运动信息;运动矢量;参考画面索引;画面间预测的方向;画面间预测指示符;参考画面列表;参考画面;运动矢量预测候选;运动矢量候选列表;关于是否使用运动合并模式的信息;合并候选;合并候选列表;关于是否使用跳过模式的信息;插值滤波器类型;插值滤波器抽头;插值滤波器系数;运动矢量大小;运动矢量表示;运动矢量表示的精确度;变换类型;变换大小;关于是否使用主变换的信息;关于是否使用二次变换的信息;主变换索引;二次变换索引;关于是否存在残差信号的信息;编码块模式;编码块标志;量化参数;量化矩阵;关于是否应用环内滤波器的信息;环内滤波器系数;环内滤波器抽头;环内滤波器的形状/形式;关于是否应用去块滤波器的信息;去块滤波器系数;去块滤波器抽头;去块滤波器强度;去块滤波器的形状/形式;关于是否应用自适应样本偏移的信息;自适应样本偏移值;自适应样本偏移类别;自适应样本偏移类型;关于是否应用自适应环内滤波器的信息;自适应环内滤波器系数;自适应环内滤波器抽头;自适应环内滤波器的形状/形式;二值化/逆二值化方法;上下文模型确定方法;上下文模型更新方法;关于是否执行常规模式的信息;关于是否执行旁路模式的信息;上下文二进制位;旁路二进制位;变换系数;变换系数等级;变换系数等级扫描方法;图像的显示/输出顺序;条带标识信息;条带类型;条带分区信息;并行块标识信息;并行块类型;并行块分区信息;画面类型;比特深度;以及关于亮度信号或色度信号的信息。

这里,表述“用信号发送标志或索引”表示标志或索引在编码器中被执行熵编码并随后被添加到比特流的操作,或者比特流中包括的标志或索引在解码器中被执行熵解码的操作。

当编码设备100基于画面间预测执行编码时,编码的当前画面可用作用于对另一画面进行编码的参考画面。因此,编码设备100可重建编码的当前画面或对编码的当前画面进行解码,并且可将重建或解码的画面存储为参考画面。

量化等级可由反量化单元160进行反量化,并且可由逆变换单元170进行逆变换。可由加法器175将反量化和逆变换后的系数与预测块相加。可通过将反量化或逆变换后的系数与预测块相加来产生重建块。这里,反量化和/或逆变换后的系数可表示已经经过反量化、逆变换或以上两者的系数,或者可选地表示重建的残差块。

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

去块滤波器可去除在块之间的边界处发生的块失真。当确定是否应用去块滤波器时,基于当前块中的若干行或列中包括的像素来执行对是否将去块滤波器应用于当前块的确定。当应用去块滤波器时,可根据所需要的去块滤波强度来应用强滤波器或弱滤波器。

样本自适应偏移可用于将最佳偏移值与像素值相加,以便补偿编码误差。样本自适应偏移可以以像素为单位校正去块滤波后的画面与原始画面之间的偏移。为了对特定画面执行偏移校正,可使用以下方法:将图像的像素划分为预定数量的区域,确定将被偏移校正的区域,并且将偏移校正应用于确定的区域,或者可使用考虑每个像素的边缘信息来应用偏移的方法。

自适应环路滤波器可基于通过比较重建画面和原始画面而获得的值来执行滤波。可将图像的像素分区为预定数量的组,并且确定将被应用于所述预定数量的组之中的相应组的一个滤波器。以这种方式,可将不同的滤波器应用于所述预定数量的组。可针对每个编码单元(CU)用信号发送关于是否应用自适应环路滤波器的信息。应用于每个块的自适应环路滤波器的形状和滤波器系数可不同。

可将已通过滤波器单元180的重建块或重建画面存储在参考画面缓冲器190中。

图2是示出根据本发明的实施例的解码装置的构造的框图。

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

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

解码设备200可接收从编码设备100输出的比特流。解码设备200可接收从计算机可读记录介质读出的比特流、或者通过有线或无线传输介质流传输的比特流。解码设备200可使用帧内模式或帧间模式对比特流进行解码。解码设备200可通过执行解码来产生重建画面或解码画面,并且可输出重建画面或解码画面。

当用于解码的预测模式是帧内模式时,可将切换器切换到帧内。同时,当用于解码的预测模式是帧间模式时,可将切换器切换到帧间。

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

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

为了对变换系数等级进行解码,熵解码单元210可执行变换系数扫描,从而将一维矢量形式的系数改变为二维块形式的系数。

量化等级可由反量化单元220反量化,并且可由逆变换单元230进行逆变换。当量化等级被反量化和/或逆变换时,重建的残余块被产生。这里,反量化单元220可将量化矩阵应用于量化等级。

当帧内模式被使用时,帧内预测单元240可通过使用与解码目标块相邻的先前解码的块的像素值执行空间预测来产生预测块。

当帧间模式被使用时,运动补偿单元250可通过使用运动矢量和存储在参考画面缓冲器270中的参考画面两者执行运动补偿来产生预测块。当运动矢量的值不是整数时,运动补偿单元250可通过将插值滤波器应用于参考画面的部分区域来产生预测块。为了对编码单元执行运动补偿,可首先确定跳过模式、合并模式、AMVP模式和当前画面参考模式中的哪个模式将被用于包括在相应编码单元中的预测单元的运动补偿,然后可根据确定的模式执行运动补偿。

加法器255可通过将重建的残差块和预测块相加来产生重建块。滤波器单元260可将去块滤波器、样本自适应偏移和自适应环路滤波器中的至少一个应用于重建块或重建画面。滤波器单元260可输出重建画面。重建块或重建画面可被存储在参考画面缓冲器270中,并且可之后用于帧间预测。

图3是示意性地示出用于对图像进行编码或解码的图像的分区结构的示图。图3示意性地示出了一个单元被分区为多个子单元的实施例。

为了有效地对图像进行分区,可在编码和解码中使用编码单元(CU)。这里,编码单元可用作用于图像编码和图像解码的基本单元。编码单元也可以是这样的单元:在执行图像编码或解码时针对该单元确定画面内模式或画面间模式。编码单元可以是用于预测、变换、量化、逆变换、反量化或变换系数编码/解码的基本单元。

参照图3,将画面300顺序地分区为最大编码单元(LCU),并且针对每个LCU确定分区结构。这里,LCU和编码树单元(CTU)可具有相同的含义。对单元进行分区可表示对相应于该单元的块进行分区。块分区信息可包括单元深度信息。深度信息可指示单元被分区的次数、单元的分区程度或两者。一个单元可具有基于树结构的深度信息,并且可被分层地分区。每个分区出的子单元可具有深度信息。深度信息可以是关于CU的尺寸的信息,并且可针对每个CU被存储。

分区结构可表示LCU 310中的编码单元(CU)的分布。可根据一个CU是否将被分区成多个(等于或大于2的正整数,诸如,2、4、8、16等)CU来确定分布。分区出的CU(子CU)的宽度和长度可分别是原始CU的宽度的一半和原始CU的长度的一半。每个分区出的CU的宽度和长度可分别小于原始CU的宽度和长度,并且每个分区出的CU的宽度和长度取决于分区出的CU的数量。分区出的CU可被递归地分区为多个进一步分区的CU。可递归地执行分区,直到最终分区出的CU具有预定深度或预定尺寸。例如,LCU的深度可以是零。可选地,最小编码单元(SCU)的深度可以是预定的最大深度。这里,LCU可以是如上所述的具有最大编码单元尺寸的编码单元,并且SCU可以是具有最小编码单元尺寸的编码单元。分区从LCU 310开始。每当通过分区减小了CU的宽度和长度时,CU的深度增加1。

关于CU是否将被分区的信息被表示为CU的分区信息。分区信息可以是1比特信息。除SCU之外的所有CU可具有它们自己的分区信息。例如,当一个CU的分区信息的值是1时,该CU可不被分区,但是当该CU的分区信息的值是2时,该CU可被分区。

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

例如,当一个编码单元被分区为四个更小的编码单元时,分区出的四个编码单元中的每个的宽度和长度分别是原始编码单元的宽度的一半和原始编码单元的长度的一半。例如,当尺寸为32×32像素的一个编码单元被分区为四个更小的编码单元时,分区出的四个更小的编码单元中的每个的尺寸为16×16像素。当一个编码单元被分区为四个更小的编码单元时,这意味着编码单元以四叉树形式被分区。

例如,当一个编码单元被分区为两个更小的编码单元时,分区出的更小的编码单元中的每个的宽度是原始编码单元的宽度的一半,或者分区出的更小的编码单元中的每个的长度是原始编码单元的长度的一半。例如,当尺寸为32×32像素的一个编码单元被分区为两个更小的编码单元时,分区出的更小的编码单元中的每个的尺寸是16×32像素。当一个编码单元被分区为两个更小的编码单元时,这意味着编码单元以二叉树形式被分区。在图3中,LCU 320是应用了二叉树形式分区和四叉树形式分区两者的LCU的示例。

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

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

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

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

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

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

推导当前块的运动信息的方法可根据当前块的预测模式而不同。例如,作为用于画面间预测的预测模式,可以存在AMVP模式、合并模式、跳过模式、当前画面参考模式等。合并模式可被称为运动合并模式。

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

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

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

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

合并候选列表可以是存储的运动信息的列表。包括在合并候选列表中的运动信息可以是零合并候选和新的运动信息中的至少一个,其中,新的运动信息是与当前块相邻的一个邻近块的运动信息(空间合并候选)、当前块的同位块(包括在参考画面内)的运动信息(时间合并候选)和合并候选列表中现有的运动信息的组合。

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

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

当前画面参考模式可表示当前块所属的当前画面内的先前重建的区域被用于预测的预测模式。这里,矢量可用于指定先前重建的区域。可通过使用当前块的参考画面索引来对指示当前块是否将在当前画面参考模式下被编码的信息进行编码。指示当前块是否将在当前画面参考模式下被编码的块的标志或索引可被用信号发送,并且可基于当前块的参考画面索引被推断。在当前块在当前画面参考模式下被编码的情况下,可将当前画面添加到当前块的参考画面列表中,以便位于参考画面列表中的固定位置或随机位置。固定位置可以是例如由参考画面索引0指示的位置,或者列表中的最后位置。当将当前画面添加到参考画面列表以位于随机位置时,可用信号发送指示随机位置的参考画面索引。基于以上描述,下面将描述根据本发明的图像编码方法和图像解码方法。

图5是示出使用合并模式的图像编码方法的流程图。图6是示出使用合并模式的图像解码方法的流程图。

参考图5,编码设备可推导当前块的合并候选(S501)并基于推导出的合并候选产生合并候选列表。当产生了合并候选列表时,基于合并候选列表确定当前块的运动信息(S502),并且可通过使用确定的运动信息来执行对当前块的运动补偿(S503)。之后,编码设备可对“关于运动补偿的信息”(在下文中,被称为“运动补偿信息”)执行熵编码(S504)。

参照图6,解码设备可对由编码设备发送的运动补偿信息执行熵解码(S601),推导合并候选(S602),并基于推导出的合并候选产生合并候选列表。当产生了合并候选列表时,基于产生的合并候选列表确定当前块的运动信息(S603)。接下来,解码设备可使用运动信息执行运动补偿(S604)。

在下文中,将详细描述图5和图6中示出的每个处理步骤。

首先,将描述推导合并候选的处理(S501、S502)。

当前块的合并候选可包括空间合并候选、时间合并候选和其他合并候选中的至少一个。

可从与当前块相邻的重建块推导当前块的空间合并候选。例如,可将与当前块相邻的重建块的运动信息确定为当前块的空间合并候选。这里,运动信息可包括运动矢量、参考画面索引和预测列表利用标志中的至少一个。

在这种情况下,空间合并候选的运动信息不仅可包括与L0和L1相应的运动信息,而且还可包括与L0、L1、......和LX相应的运动信息。这里,X可以是零或正整数。因此,作为参考画面列表,可存在包括L0、L1、......和LX的至少一个参考画面列表。

图7是示出推导当前块的空间合并候选和时间合并候选的方法的示例的示图。

参照图7,可从与当前块X相邻的邻近块推导当前块的空间合并候选。与当前块相邻的邻近块可包括与当前块的上端相邻的块B1、与当前块的左端相邻的块A1、与当前块的右上角相邻的块B0、与当前块的左上角相邻的块B2以及与当前块的左下角相邻的块A0中的至少任意一个。

为了推导当前块的空间合并候选,可确定与当前块相邻的邻近块是否可用于推导当前块的空间合并候选。在这种情况下,可根据预定优先级确定是否可使用与当前块相邻的邻近块来推导当前块的空间合并候选。例如,可按照块A1、B1、B0、A0和B2的顺序确定从邻近块对空间合并候选的可推导性。可将基于可推导性确定顺序确定的空间合并候选顺序地添加到当前块的合并候选列表。

接下来,将描述推导当前块的时间合并候选的方法。

可从包括在当前画面的同位画面中的重建块推导当前块的时间合并候选。术语“同位画面”可以是在当前画面被编码/解码之前已经完全被编码/解码的画面,或者可以是与当前画面具有不同时间顺序(即,画面顺序计数(POC))的画面。

同时,可从同位画面内的一个或更多个块或者各个同位画面内的多个块推导当前块的时间合并候选。

关于同位画面的信息可从编码器被发送到解码器,或者可由编码器/解码器根据编码/解码顺序隐式地推导出。这里,关于同位画面的信息可以是画面间预测指示符、参考画面索引和运动矢量信息中的至少任意一个。

推导时间合并候选可表示以下处理:从同位画面内的同位块推导时间合并候选信息,并将推导出的时间合并候选信息添加到当前块的合并候选列表。时间合并候选信息可包括运动矢量、参考画面索引、以及画面间预测指示符或画面顺序计数(POC)中的至少任意一个。

参照图7,在当前画面的同位画面中,可从以下块推导当前块的时间合并候选:包括布置在空间上位于与当前块X相同的位置处的块的外部的区域的块、或包括布置在空间上位于与当前块X相同的位置处的块的内部的区域的块。这里,时间合并候选可表示同位块的运动信息。例如,当前块X的时间合并候选可从与空间上位于与当前块相同的位置处的块C的右下角相邻的块H被推导,或者从包括块C的中心点的块C3被推导。用于推导当前块的时间合并候选的块H或块C3可被称为“共位块”或“同位块”。

同时,当前块或当前块的同位块可具有正方形形式或非正方形形式。

当从包括布置在块C外部的区域的块H推导当前块的时间合并候选时,可将块H设置为当前块的同位块。在这种情况下,可基于块H的运动信息推导出当前块的时间合并候选。另一方面,当无法从块H推导出当前块的时间合并候选时,包括布置在块C内部的区域的块C3可被设置为当前块的同位块。在这种情况下,可基于块C3的运动信息推导当前块的时间合并候选。当当前块的时间合并候选既无法从块H也无法从块C3推导出时(例如,当块H和块C3两者都是帧内编码块时),当前块的时间合并候选可根本不被推导,或者可从除块H和块C3之外的位置被推导。

可选地,可从同位画面内的多个块推导当前块的时间合并候选。例如,可从块H和块C3两者推导当前块的多个时间合并候选。

进一步可选地,可从与根据当前块X的任意运动信息从当前块X的位置移动到的位置相应的同位块推导当前块的时间合并候选。可从已经被编码或解码的邻近块的运动信息推导所述任意运动信息。

同位块可表示位于用于推导当前块的运动信息的画面(同位画面)内的预定位置处的块。预定位置可以是同位画面内的与当前块相同的位置、与当前块相邻的位置以及距当前块的预定距离内的位置中的至少一个。预定距离可以是在编码器/解码器中预先设置的固定距离,或者可以是基于预定矢量分量(包括x分量和y分量中的至少一个)推导出的距离。

可将当前块的同位块分区为子块。在这种情况下,编码器/解码器可将当前块的同位块的子块中的任何一个子块的运动信息确定为当前块的时间合并候选。另外,编码器/解码器可基于当前块的同位块的子块的至少一条运动信息来确定当前块的时间合并候选。子块可表示比当前块具有更小尺寸、形状或深度的块。

例如,当将块分区为子块并且以子块为单位推导至少一个时间合并候选时,编码器/解码器可从比与图7的块H或块C3的位置相应的同位块具有更小尺寸、形状或深度的子块推导时间合并候选。

可选地,例如,编码器/解码器可从与根据任意运动信息从当前块X移动到的位置相应的同位块的每个子块的运动信息推导至少一个时间合并候选。

即使在这种情况下,编码器/解码器也可通过确定同位块的子块的运动信息是否存在或者同位块的子块的运动信息是否可被用作当前块的时间合并候选,确定当前块的时间合并候选。

例如,当将当前块分区为子块并且以同位画面内的同位子块为单位推导当前块的时间运动信息时,以及当将同位块分区为子块并且对位于同位块的中心(图7的C3)的同位子块进行帧间编码时,可以以同位子块为单位推导时间运动信息。在这种情况下,当通过画面内预测对从任意位置推导出的同位子块进行编码时,可将位于中心的同位子块的运动矢量重复用作同位子块的运动信息。

可选地,例如,当将当前块分区为子块并且以同位画面内的同位子块为单位推导时间运动信息时,以及当对位于图7的位置H处的同位子块进行帧间编码时,可以以同位子块为单位推导时间运动信息。在这种情况下,当对从任意位置推导出的同位子块进行帧内编码时,可将从图7的位置H推导出的同位子块的运动矢量重复用作同位子块的运动信息。

进一步可选地,例如,当将当前块分区为子块并且以同位画面内的同位子块为单位推导时间运动信息时,当对位于图7的位置H处的同位子块进行帧间编码时,当对位于同位块的中心(图7的C3)处的同位子块进行帧间编码时,可以以同位子块为单位推导时间运动信息。在这种情况下,当对从任意位置推导出的同位子块进行帧内编码时,可将位于中心处的同位子块的运动矢量重复用作同位子块的运动信息。

还进一步可选地,例如,当将当前块分区为子块并且以同位画面内的同位子块为单位推导时间运动信息时,当对位于图7的中心C3的同位子块进行帧内编码时,当对位于同位块内的图7的位置H处的同位子块进行帧间编码时,可以以同位子块为单位推导时间运动信息。在这种情况下,当对从任意位置推导出的同位子块进行帧内编码时,可将位于图7的位置H处的同位子块的运动矢量重复用作同位子块的运动信息。

编码器/解码器可将同位块的子块中的至少一个子块的运动信息(例如,运动矢量)的中值、平均值、最小值、最大值、加权平均值和众数值中的至少任意一个确定为当前块的时间合并候选。

图7示出从与同位块的右下角相邻的块或包括同位块的中心点的块推导当前块的时间合并候选的示例。然而,用于推导当前块的时间合并候选的块的位置不限于图7的示例。例如,可从与同位块的上边界、下边界、左边界、右边界或同位块的拐角之一相邻的块、或者包括同位块内部的特定位置的块(即,与同位块的拐角相邻的块)推导当前块的时间合并候选。

可考虑同位块的参考画面列表(或预测方向)以及当前块来确定当前块的时间合并候选。另一方面,时间合并候选的运动信息可不仅包括与L0和L1相应的运动信息,而且包括与L0、L1、......和LX相应的运动信息。这里,X可以是0或正整数。

另外,可基于当前块、邻近块或同位块的编码参数中的至少一个来推导时间合并候选、同位画面、同位块、预测列表使用标志和参考画面索引中的至少一个。

当推导出的空间合并候选的数量小于合并候选的最大数量时,可初步推导时间合并候选。因此,当推导出的空间合并候选的数量达到合并候选的最大数量时,可省略推导时间合并候选的处理。

例如,当合并候选的最大数量maxNumMergeCand是2时并且当推导出的两个空间合并候选具有不同的值时,可省略推导时间合并候选的处理。

另一方面,至少一个时间合并候选可必然包括在最大数量maxNumMergeCand的合并候选中。在这种情况下,为了合并候选之中存在至少一个时间合并候选,可消除至少一个推导出的空间合并候选,或者可将多个空间合并候选组合,以减少空间合并候选的数量。在这种情况下,可通过计算具有相同画面间预测指示符和/或相同参考画面的每个空间合并候选的运动信息的平均值、最大值、最小值、中值、加权值或众数值来组合空间合并候选。

可选地,编码器/解码器可改变合并候选的最大数量,使得至少一个时间合并候选可必然包括在最大数量的合并候选中。

可选地,例如,可基于时间合并候选的最大数量来推导当前块的时间合并候选。这里,可设置时间合并候选的最大数量,使得在编码设备中使用的时间合并候选的最大数量等于在解码设备中使用的时间合并候选的最大数量。可选地,可对指示当前块的时间合并候选的最大数量的信息进行编码以产生比特流,并且可将比特流用信号发送给解码器。例如,编码器可对指示当前块的时间合并候选的最大数量的maxNumTemporalMergeCand进行编码,并且可将编码后的maxNumTemporalMergeCand作为比特流用信号发送给解码设备。在此情况下,可将maxNumTemporalMergeCand设置为0或正整数。例如,可将maxNumTemporalMergeCand设置为1。maxNumTemporalMergeCand可以是基于用信号发送的关于时间合并候选的数量的信息而推导出的变量值,或者可以是在编码器/解码器中预先设置的固定值。

编码器/解码器可执行冗余校验以确定新推导出的合并候选是否具有与合并候选列表中列出的合并候选的运动信息不同的运动信息,并且可仅当新推导出的合并候选与先前在合并候选列表中列出的合并候选具有不同的运动信息时才将新推导出的合并候选添加到合并候选列表。

当包括当前块的当前画面与当前块的参考画面之间的距离不同于包括同位块的同位画面与同位块的参考画面之间的距离时,可通过对同位块的运动矢量进行缩放来获取当前块的时间合并候选的运动矢量。

另外,即使当用于对包括当前块的画面进行画面间预测的参考画面与用于对包括同位块的画面进行画面间预测的参考画面不同时,也可通过对同位块的运动矢量进行缩放来获取当前块的时间合并候选的运动矢量。

这里,可基于当前画面与当前块所参考的参考画面之间的距离和同位画面与同位块所参考的参考画面之间的距离中的至少一个来执行缩放。例如,可通过根据当前画面与当前块所参考的参考画面之间的距离和同位画面与同位块所参考的参考画面之间的距离的比率对同位块的运动矢量进行缩放,推导当前块的时间合并候选的运动矢量。

图8示出对运动矢量进行缩放以推导当前块的时间合并候选的处理的示例,其中,运动矢量是同位块的运动信息内的项。

可基于同位画面的画面顺序计数(POC)与同位块的参考画面的POC之间的POC差值td和/或当前画面的POC与当前块的参考画面的POC之间的POC差值tb来对同位块的运动矢量进行缩放,其中,画面顺序计数指示画面的显示顺序。

在执行缩放之前,可调整td和tb,使得tb和td中的每一个落入预定范围内。例如,当预定范围是-128到127时,如果td或tb小于-128,则可将td或tb调整为-128。如果td或tb大于127,则可将td或tb调整为127。当td或tb在-128到127的范围内时,可不调整td或tb。

可基于td或tb来计算缩放因子DistScaleFactor。可基于等式1计算缩放因子。

[等式1]

DistScaleFactor=(tb*tx+32)>>6

tx=(16384+Abs(td/2))/td

在等式1中,Abs()表示绝对值函数,并且该函数产生绝对值作为输出值。

可将基于等式1计算出的缩放因子DistScaleFactor的值调整为落入预定范围内。例如,可将缩放因子DistScaleFactor调整为落入-1024到1023的范围内。

可通过使用缩放因子对同位块的运动矢量进行缩放来确定当前块的时间合并候选的运动矢量。例如,可通过等式2确定当前块的时间合并候选的运动矢量。

[等式2]

Sign(DistScaleFactor*mvCol)*((Abs(DistScaleFactor*mvCol)+127)>>8)

在等式2中,Sign()表示输出置于括号()中的值的符号信息的函数。例如,Sign(-1)输出符号“-”。在等式2中,mvCol可表示同位块的运动矢量。

根据上述方法,被缩放以适合于当前块的任意参考画面的运动矢量被用作当前块的时间合并候选的运动矢量。可选地,运动矢量通过使用先前编码/解码的邻近块中的至少一个块的缩放信息被缩放以适合于当前块的时间合并候选,并随后被修改至少一次,并且修改后的运动矢量可用作当前块的时间合并候选的运动矢量。

接下来,将描述推导当前块的附加合并候选的方法。

附加合并候选可表示修改的空间合并候选、修改的时间合并候选、组合的合并候选以及具有预定运动信息值的合并候选中的至少一个。这里,推导附加合并候选表示推导合并候选并将推导出的合并候选添加到合并候选列表的处理。

修改的空间合并候选可表示通过改变推导出的空间合并候选中的至少一个空间合并候选的运动信息而产生的合并候选。

修改的时间合并候选可表示通过改变推导出的时间合并候选中的至少一个时间合并候选的运动信息而产生的合并候选。

组合的合并候选可表示通过将全部列在合并候选列表中的空间合并候选、时间合并候选、修改的空间合并候选、修改的时间合并候选、组合的合并候选和具有预定运动信息值的合并候选中的至少一个的运动信息组合而推导出的合并候选。可选地,组合的合并候选可表示通过将未在合并候选列表中列出的合并候选的运动信息进行组合而推导出的合并候选,其中,未在合并候选列表中列出的合并候选可包括推导出的时间合并候选和推导出的空间合并候选,并且包括基于推导出的时间合并候选和推导出的空间合并候选产生的修改的空间合并候选、修改的时间合并候选、组合的合并候选和具有预定运动信息值的合并候选,其中,推导出的时间合并候选和推导出的空间合并候选是从可用于推导至少一个时间合并候选或空间合并候选的块推导出的。

同时,具有预定运动信息值的合并候选可表示具有运动矢量(0,0)的零合并候选。

零合并候选可表示在L0运动信息、L1运动信息、L2运动信息和L3运动信息中的至少一个运动信息类型中运动矢量为(0,0)的合并候选。

可选地,零合并候选可以是两种不同类型中的至少一种。首先,零合并候选可以是运动矢量为(0,0)并且参考画面索引的值为0或更大的合并候选。其次,零合并候选可以是运动矢量为(0,0)并且参考画面索引的值仅为0的合并候选。

接下来,将详细描述通过使用产生的合并候选列表来确定当前块的运动信息的处理(S502、S603)。

编码器可通过使用运动估计在合并候选列表内的合并候选中确定将用于当前块的运动补偿的合并候选,并且可对指示确定的合并候选的合并候选索引(merge_idx)进行编码,使得编码后的合并候选索引被包括在比特流中。

另外,编码器可基于合并候选索引从合并候选列表中选择合并候选以产生预测块,并且可确定当前块的运动信息。编码器可基于确定的运动信息执行运动补偿,并产生当前块的预测块。

例如,当合并候选索引3被选择时,存在于合并候选列表中并且索引为合并候选索引“3”的合并候选被确定为运动信息,并且确定的运动信息可用于编码目标块(即,当前块)的运动补偿。

解码器可对包括在比特流中的合并候选索引进行解码,并随后在合并候选列表中的合并候选之中确定由合并候选索引指示的合并候选。确定的合并候选可被确定为当前块的运动信息。确定的运动信息可用于当前块的运动补偿。这里,运动补偿可具有与画面间预测相同的含义。

例如,当合并候选索引是2时,存在于合并候选列表中并且索引为合并候选索引“2”的合并候选可被确定为运动信息,并且确定的运动信息可用于解码目标块的运动补偿。

另外,可修改与当前块的运动信息相应的信息中的至少一项的值,并且可将修改后的值用作用于当前块的画面间预测或运动补偿的运动信息。值被修改的信息项是运动矢量的x分量、运动矢量的y分量和参考画面索引中的至少任意一个。

接下来,将详细描述通过使用运动信息对当前块执行运动补偿的处理(S503、S604)。

编码器和解码器可通过使用确定的合并候选的运动信息来对当前块执行画面间预测或运动补偿。这里,当前块(编码或解码目标块)可具有确定的合并候选的运动信息。

当前块可根据预测方向而具有可变数量(范围从1到N)的运动信息项。因此,可通过使用运动信息项针对当前块产生1到N个预测块。随后,可在1到N个预测块中确定当前块的最终预测块。

例如,当当前块具有一个运动信息项时,可基于该运动信息项产生一个预测块,并且可将产生的预测块确定为当前块的最终预测块。

同时,当当前块具有多个运动信息项时,可基于多个运动信息项产生多个预测块,并且可基于产生的多个预测块的加权和来确定当前块的最终预测块。包括分别由多个运动信息项指示的各个预测块的参考画面可包括在不同的参考画面列表中,或者包括在一个参考画面列表中。当当前块具有多个运动信息项时,多个运动信息项内的多个参考画面可以是相同的参考画面。

例如,基于空间合并候选、时间合并候选、修改的空间合并候选、修改的时间合并候选、具有预定运动信息值的合并候选、组合的合并候选和附加合并候选中的至少一个来产生多个预测块,并且可基于产生的多个预测块的加权和来确定当前块的最终预测块。

可选地,例如,可基于由预设合并候选索引指示的合并候选来产生多个预测块,并且可基于产生的多个预测块的加权和来确定当前块的最终预测块。进一步可选地,例如,可基于由预定范围的合并候选索引指示的合并候选来产生多个预测块,并且可基于产生的多个预测块的加权和来确定当前块的最终预测块。

应用于每个预测块的加权值可以是1/N(这里,N是产生的预测块的数量)。也就是说,可将相等的加权值应用于所有预测块。例如,当两个预测块被产生时,这两个预测块的加权值可相等地均为1/2。当三个预测块被产生时,这三个预测块的加权值可相等地均为1/3。当四个预测块被产生时,这四个预测块的加权值可相等地均为1/4。可选地,可通过将不同的加权值应用于预测块来确定当前块的最终预测块。

产生的预测块的加权值可以不是固定的而是可变的。这里,应用于各个预测块的加权值可以相等或不同。例如,当两个预测块被产生时,应用于两个预测块的加权值可分别为1/2和1/2、或者1/3和2/3、或者1/4和3/4、或者2/5和3/5、或者3/8和5/8等。也就是说,应用于产生的预测块的加权值可以不同。加权值可以是正实数或负实数。应用于预测块的加权值可包括负实数。例如,应用于两个预测块的加权值可分别是-1/2和3/2、或者-1/3和4/3、或者-1/4和5/4等。

为了将非均匀加权值应用于预测块,可用信号发送一条或多条加权值信息作为比特流。可针对每个预测块或针对每个参考画面用信号发送加权值信息。可选地,多个预测块可共享一条加权值信息。

编码器和解码器可基于预测块列表使用标志来确定是否使用合并候选的运动信息。例如,对于每个参考画面列表,当其预测块列表使用标志指示第一值(例如,1)时,该标志可表示编码器和解码器可使用当前块的合并候选的运动信息来执行画面间预测或运动补偿。同时,例如,当预测块列表使用标志指示第二值(例如,0)时,该标志可表示编码器和解码器不通过使用当前块的合并候选的运动信息来执行画面间预测或运动补偿。关于预测块列表使用标志的值的设置,第一值可被设置为零0并且第二值可被设置为1。

下面描述的等式3至等式5分别指的是当前块的画面间预测指示符是PRED_BI的情况(即,两条运动信息可用于当前块的情况)、当前块的画面间预测指示符是PRED_TRI的情况(即,三条运动信息可用于当前块的情况)、以及当前块的画面间预测指示符是PRED_QUAD的情况(即,四条运动信息可用于当前块的情况)。等式3至等式5示出在每个参考画面列表的预测方向是一个方向的情况下产生当前块的最终预测块的方法的示例。

[等式3]

P_BI=(WF_L0*P_L0+OFFSET_L0+WF_L1*P_L1+OFFSET_L1+RF)>>1

[等式4]

P_TRI=(WF_L0*P_L0+OFFSET_L0+WF_L1*P_L1+OFFSET_L1+WF_L2*P_L2+OFFSET_L2+RF)/3

[等式5]

P_QUAD=(WF_L0*P_L0+OFFSET_L0+WF_L1*P_L1+OFFSET_L1+WF_L2*P_L2+OFFSET_L2+WF_L3*P_L3+OFFSET_L3+RF))>>2

在等式3至等式5中,P_BI、P_TRI和P_QUAD中的每一个指示当前块的最终预测块,并且LX(X=0、1、2、3)表示参考画面列表。WF_LX表示通过使用参考画面列表LX产生的预测块的加权值,OFFSET_LX表示通过使用LX参考画面列表产生的预测块的偏移值。P_LX表示通过使用当前块的LX参考画面列表的运动信息产生的预测块。RF表示舍入因子并且可被设置为0、正整数或负整数。LX参考画面列表可包括以下参考画面中的至少一个:长期参考画面、未应用去块滤波器的参考画面、未应用样本自适应偏移的参考画面、未应用自适应环路滤波器的参考画面、仅应用了去块滤波器和自适应偏移的参考画面、仅应用了去块滤波器和自适应环路滤波器的参考画面、仅应用了样本自适应偏移和自适应环路滤波器的参考画面、以及应用了去块滤波器、样本自适应偏移和自适应环路滤波器中的全部的参考画面。在这种情况下,LX参考画面列表可以是L0参考画面列表、L1参考画面列表、L2参考画面列表和L3参考画面列表中的至少任意一个。

即使当预定参考画面列表的预测方向的数量是多个时,也可基于预测块的加权和来获取当前块的最终预测块。在这种情况下,应用于从一个参考画面列表推导出的预测块的加权值可彼此相同或者可彼此不同。

用于多个预测块中的每个预测块的加权值WF_LX和偏移值OFFSET_LX中的至少一个可以是将被熵编码或熵解码的编码参数。

可选地,例如,可从与当前块相邻的先前编码/解码的邻近块推导每个预测单元的加权值和偏移值。这里,当前块的邻近块可包括在用于推导当前块的空间合并候选的块和用于推导当前块的时间合并候选的块中选择的至少一个块。

进一步可选地,例如,可基于当前画面的显示顺序(即,画面顺序计数(POC))和每个参考画面的显示顺序(POC)来确定加权值和偏移值。在这种情况下,随着当前画面与参考画面之间的距离越大,加权值或偏移值越小。相反地,当前画面与参考画面之间的距离越小,加权值或偏移值越大。例如,当当前画面与L0参考画面之间的POC差为2时,应用于参考L0参考画面而产生的预测块的加权值被设置为1/3。同时,当当前画面与L0参考画面之间的POC差为1时,应用于参考L0参考画面而产生的预测块的加权值可被设置为2/3。如上所述,加权值或偏移值可与当前画面和参考画面之间的POC差成反比例。可选地,加权值或偏移值可被设置为与当前画面和参考画面之间的POC差成正比例。

又进一步可选地,例如,可基于当前块、邻近块或同位块的编码参数中的至少一个来对加权值和偏移值中的至少一个进行熵编码或熵解码。可基于当前块、邻近块或同位块的编码参数中的至少一个来计算预测块的加权和。

多个预测块的加权和可仅应用于每个预测块的至少部分区域。这里,部分区域可以是预测块的边界区域。为了将加权和仅应用于部分区域,可以以预测块的子块为单位计算加权和。

当使用合并模式计算预测块的加权和时,可使用合并候选列表内的合并候选中的至少一个来计算加权和,并且可将加权和用作编码/解码目标块的最终预测块。

例如,可通过仅使用空间合并候选来产生预测块,可计算预测块的加权和,并且可将计算出的加权和用作编码/解码目标块的最终预测块。

例如,可通过使用空间合并候选和时间合并候选两者来产生预测块,可计算预测块的加权和,并且可将计算出的加权和用作编码/解码目标块的最终预测块。

例如,可通过仅使用组合的合并候选来产生预测块,可计算预测块的加权和,并且可将计算出的加权和用作编码/解码目标块的最终预测块。

例如,可通过仅使用具有特定合并候选索引的合并候选来产生预测块,可计算预测块的加权和,并且可将计算出的加权和用作编码/解码目标块的最终预测块。

例如,可通过仅使用由预定范围的合并候选索引指示的合并候选来产生预测块,可计算预测块的加权和,并且可将计算出的加权和用作编码/解码目标块的最终预测块。

图9是示出以子块为单位执行运动补偿的方法的实施例的示图。

参照图9,可将当前块划分为四个子块A、B、C和D,并且可通过使用空间邻近块中的至少一个(或者,空间邻近块的子块中的至少一个)的运动信息或者同位块中的至少一个(或者同位块的子块中的至少一个)的运动信息,以子块为单位执行运动补偿。这里,运动信息可包括运动矢量、画面间预测指示符、参考画面索引和画面顺序计数(POC)中的至少一个。

接下来,将描述对“关于运动补偿的信息”(下文中,也称为运动补偿信息)执行熵编码/解码的处理(S504、S601)。

编码设备可对运动补偿信息执行熵编码,从而产生比特流,并且解码设备可对包括在比特流中的运动补偿信息执行熵解码。这里,已被熵编码/解码的运动补偿信息可包括跳过模式使用/不使用信息(cu_skip_flag)、合并模式使用/不使用信息(merge_flag)、合并索引信息(merge_index)、画面间预测指示符(inter_pred_idc)、加权值(wf_l0、wf_l1、wf_l2和wf_l3)以及偏移值(offset_l0、offset_l1、offset_l2和offset_l3)中的至少一个。可以以CTU、编码块和预测块中的至少一个为单位对运动补偿信息进行熵编码或熵解码。

跳过模式使用/不使用信息(cu_skip_flag)可在该信息具有设置为1的第一值时指示使用跳过模式。同时,跳过模式使用/不使用信息(cu_skip_flag)可在该信息具有设置为0的第二值时指示不使用跳过模式。可基于跳过模式使用/不使用信息,使用跳过模式执行当前块的运动补偿。

合并模式使用/不使用信息(merge_flag)可在该信息具有设置为1的第一值时指示使用合并模式,而在该信息具有设置为0的第二值时指示不使用合并模式。可基于合并模式使用/不使用信息来执行使用合并模式的当前块的运动补偿。

合并索引信息(merge_index)可表示指示合并候选列表内包括的特定合并候选的信息。

可选地,合并索引信息可表示关于合并索引的信息。

进一步可选地,合并索引信息可指示在空间上或时间上与当前块相邻并且用于推导合并候选的重建的邻近块。

进一步可选地,合并索引信息可指示至少一个合并候选的运动信息。例如,当合并索引信息具有设置为0的第一值时,它可指示被列为合并候选列表中的第一条目的第一合并候选。当合并索引信息具有设置为1的第二值时,它可指示被列为合并候选列表中的第二条目的第二合并候选。当合并索引信息具有设置为2的第三值时,它可指示被列为合并候选列表中的第三条目的第三合并候选。类似地,当合并索引信息具有第四值、第五值、......或第N值时,它可指示被列为合并候选列表中列出的对应条目的合并候选。这里,N可以是零(0)或正整数。

可基于合并索引信息通过使用合并模式来执行当前块的运动补偿。

当通过画面间预测对当前块进行编码或解码时,画面间预测指示符可表示以下项中的至少任意一个:当前块的画面间预测的方向、和当前块的画面间预测的预测方向的数量。例如,画面间预测指示符可指示单向预测、双向预测、三向预测、四向预测或多向预测。画面间预测指示符可表示用于产生当前块的预测块的参考画面的数量。可选地,一个参考画面可用于多个预测方向。在这种情况下,可使用M个参考画面来执行N方向预测(其中,N和M是正整数(N>M))。画面间预测指示符可表示用于当前块的画面间预测或运动补偿的预测块的数量。

如上所述,根据画面间预测指示符,可确定用于产生针对当前块的预测方向的参考画面的数量、用于执行当前块的画面间预测或运动补偿的预测块的数量、或可被当前块使用的参考画面列表的数量。这里,作为参考画面列表的数量的N是正整数,诸如,1、2、3、4或更大。例如,参考画面列表可包括L0、L1、L2和L3。针对当前块,可通过使用一个或更多个参考画面列表来执行运动补偿。

例如,针对当前块,可首先通过使用至少一个参考画面列表来产生至少一个预测块,并随后可通过使用产生的至少一个预测块来执行运动补偿。例如,可在通过使用L0参考画面列表产生一个或更多个预测块之后执行当前块的运动补偿。可选地,例如,可在通过使用L0和L1参考画面列表产生一个或更多个预测块之后执行当前块的运动补偿。进一步可选地,例如,可在通过使用L0、L1和L2参考画面列表产生一个预测块、或多于一个预测块、或最大数量N(这里,N是3,或者等于或大于2的整数)个预测块之后执行运动补偿。还进一步可选地,例如,可在通过使用L0、L1、L2和L3参考画面列表产生一个预测块、或多于一个预测块、或最大数量N(这里,N是4,或者等于或大于2的整数)个预测块之后执行当前块的运动补偿。

参考画面指示符可根据产生的当前块的预测块的数量指示一个方向(PRED_LX)、两个方向(PRED_BI)、三个方向(PRED_TRI)、四个方向(PRED_QUAD)或更多个方向。

例如,当假设对每个参考画面列表执行单向预测时,画面间预测指示符PRED_LX表示:通过使用LX参考画面列表(X是诸如0、1、2、3或更大值的整数)产生一个预测块,并通过使用产生的一个预测块执行画面间预测或运动补偿。画面间预测指示符PRED_BI表示:通过使用L0、L1、L2和L3参考画面列表中的至少一个参考画面列表产生两个预测块,并通过使用产生的两个预测块执行画面间预测或运动补偿。画面间预测指示符PRED_TRI表示:通过使用L0、L1、L2和L3参考画面列表中的至少一个参考画面列表产生三个预测块,并通过使用产生的三个预测块来执行画面间预测或运动补偿。画面间预测指示符PRED_QUAD表示:通过使用L0、L1、L2和L3参考画面列表中的至少一个参考画面产生四个预测块,并通过使用产生的四个预测块来执行画面间预测或运动补偿。也就是说,可将用于当前块的画面间预测的预测块的数量设置为画面间预测指示符。

当针对参考画面列表执行多方向预测时,画面间预测指示符PRED_BI可指示针对L0参考画面列表执行双向预测。同时,画面间预测指示符PRED_TRI可指示针对L0参考画面列表执行三向预测,或者指示针对L0参考画面列表执行单向预测并且针对L1参考画面列表执行双向预测,或者指示针对L0参考画面列表执行双向预测并且针对L1参考画面列表执行单向预测。

如上所述,画面间预测指示符可表示通过使用至少一个参考画面列表产生1到N(N是由画面间预测指示符指示的预测方向的数量)个预测块并且通过使用产生的预测块来执行运动补偿,或者可表示通过使用N个参考画面列表产生1到N个预测块并且通过使用产生的预测块来执行当前块的运动补偿。

例如,画面间预测指示符PRED_TRI可表示通过使用L0、L1、L2和L3参考画面列表中的至少一个参考画面列表产生三个预测块并且通过使用产生的三个预测块来执行当前块的画面间预测或运动补偿,或者可表示通过使用L0、L1、L2和L3参考画面列表中的至少三个参考画面列表产生三个预测块并且通过使用产生的三个预测块来执行当前块的画面间预测或运动补偿。画面间预测指示符PRED_QUAD可表示通过使用L0、L1、L2和L3参考画面列表中的至少一个参考画面列表产生四个预测块并且通过使用产生的预测块执行当前块的画面间预测或运动补偿,或者可表示通过使用L0、L1、L2和L3参考画面列表中的至少四个参考画面列表产生四个预测块并且通过使用产生的预测块执行当前块的画面间预测或运动补偿。

可根据画面间预测指示符来确定用于画面间预测的可用预测方向,并且可根据当前块的尺寸和/或形状仅使用可用画面间预测方向中的一部分或使用可用画面间预测方向的全部。

预测列表使用标志指示感兴趣参考画面列表是否用于预测块的产生。

例如,当预测列表使用标志具有设置为1的第一值时,感兴趣参考画面列表用于预测块的产生。同时,当预测列表使用标志具有设置为0的第二值时,感兴趣参考画面列表不用于预测块的产生。预测列表使用标志的第一值和第二值可被分别设置为0和1。

也就是说,当预测列表使用标志具有第一值时,可使用与由预测列表使用标志指示的参考画面列表相应的运动信息来产生当前块的预测块。

另一方面,可基于画面间预测指示符来设置预测列表使用标志。例如,当画面间预测指示符是PRED_LX、PRED_BI、PRED_TRI或PRED_QUAD时,预测列表使用标志predFlagLX可被设置为第一值(例如,1)。当画面间预测指示符是PRED_LN(N是除X之外的正整数)时,预测列表使用标志predFlagLX可被设置为第二值(例如,0)。

相反地,可基于预测列表使用标志来设置画面间预测指示符。例如,当预测列表使用标志predFlagL0和predFlagL1具有设置为1的第一值时,画面间预测指示符可被设置为PRED_BI。例如,当仅预测列表使用标志predFlagL0具有设置为1的第一值时,画面间预测指示符可被设置为PRED_L0。

可以以CUT或子CTU为单位对至少一条运动补偿信息进行熵编码或熵解码。子CTU可以是包括CU和PU中的至少一个的单元。作为CTU的下级单元的子CTU可具有正方形形式或非正方形形式。将在下面描述的运动补偿信息可表示关于运动补偿的至少一条信息。

当以CTU为单位对运动补偿信息进行熵编码或熵解码时,根据运动补偿信息,可通过使用运动补偿信息对存在于一个CTU中的多个块中的一部分块或全部块执行运动补偿。

当以CTU或子CTU为单位对运动补偿信息进行熵编码或熵解码时,可基于预定块尺寸和预定块深度中的至少一个对运动补偿信息进行熵编码或熵解码。

运动补偿信息可以以块为单位被熵编码或熵解码,或者可以以比块更高的级别被熵编码或熵解码。例如,运动补偿信息可以以块(即,CTU、CU或PU)为单位被熵编码或熵解码,或者可以以上级单元(诸如,视频参数集、序列参数集、画面参数集、适配参数集和条带头)为单位被熵编码或熵解码。

可基于运动补偿信息差值对运动补偿信息进行熵编码或熵解码,其中,运动补偿信息差值是运动补偿信息的值与运动补偿信息的预测值之间的差。例如,关于运动补偿信息(即,关于运动补偿的信息)中的一个信息项的画面间预测指示符,画面间预测指示符预测值(即,画面间预测指示符的预测值)和画面间预测指示符差值(即,画面间预测指示符的值与画面间预测指示符的预测值之间的差)可被熵编码或熵解码。在这种情况下,可以以块为单位对画面间预测指示符差值进行熵编码或熵解码,并且可以以更高级别对画面间预测指示符预测值进行熵编码或熵解码。当以画面或条带为单位对运动补偿信息预测值(诸如,画面间预测指示符预测值)进行熵编码或熵解码时,可将相同的运动补偿信息预测值用于包括在一个画面或一个条带中的所有块。

可从画面、条带或并行块内的特定区域、或者CTU或CU内的特定区域推导运动补偿信息预测值。例如,画面、条带、并行块、CTU或CU内的特定区域的画面间预测指示符可用作其画面间预测指示符预测值。在这种情况下,可不执行运动补偿信息预测值的熵编码/熵解码,而是可仅对运动补偿信息差值进行熵编码或熵解码。

可选地,可从当前块的经过编码/解码的邻近块推导运动补偿信息预测值。例如,当前块的一个经过编码/解码的邻近块的画面间预测指示符可用作当前块的画面间预测指示符预测值。这里,当前块的邻近块可表示用于推导空间合并候选和时间合并候选的块中的至少一个块。邻近块可具有与当前块的深度相同的深度或比当前块的深度更浅的深度。当存在多个邻近块时,根据预定的选择顺序选择性地使用一个邻近块。当前块的用于预测运动补偿信息的邻近块可以是位于固定位置的块或位于根据当前块的位置而变化的可变位置的块。这里,当前块的位置可以是当前块所属的画面或条带内的位置,或者是当前块所属的CTU、CU或PU内的位置。

可通过使用在编码器和解码器中预定的预定信息集内的索引信息来计算合并索引信息。

当运动补偿信息预测值和运动补偿信息差值被使用时,解码设备可通过将运动补偿信息预测值和运动补偿信息差值相加来计算预测块的运动补偿信息的值。

可基于当前块、邻近块或同位块的编码参数中的至少一个来对运动补偿信息或运动补偿信息差值进行熵编码或熵解码。

可将基于当前块、邻近块或同位块的编码参数中的至少一个获得的运动补偿信息、运动补偿信息预测值或运动补偿信息差值推导为当前块的运动补偿信息、运动补偿信息预测值或运动补偿信息差值。

不是对当前块的运动补偿信息执行熵编码/熵解码,而是可将当前块的一个经过编码/解码的邻近块的运动补偿信息用作当前块的运动补偿信息。例如,可将当前块的画面间预测指示符设置为具有与当前块的一个经过编码/解码的邻近块的画面间预测指示符的值相同的值。

运动补偿信息中的至少一个信息项可具有在编码器和解码器中预设的固定值。可将预设的固定值确定为运动补偿信息中的至少一个信息项的值。在包括多个较小块的块中,较小块可共享运动补偿信息中的具有预设的固定值的至少一个信息项。类似地,块包括多个较小块,并且每个较小块包括具有较深深度的多个更小的块,具有较深深度的更小的块可共享运动补偿信息中的具有预设的固定值的至少一个信息项。这里,固定值可以是0、正整数、矢量值(0,0)或整数的矢量值。

共享运动补偿信息中的至少一个信息项的概念是指:一个块内的多个较小块可针对运动补偿信息的至少一个信息项具有相等的值,或者可使用针对运动补偿信息中的所述至少一个信息项的相等的值执行运动补偿。

运动补偿信息(即,关于运动补偿的信息)可包括运动矢量、运动矢量候选、运动矢量候选索引、运动矢量差值、运动矢量预测值、跳过模式使用/不使用信息(skip_flag)、合并模式使用/不使用信息(merge_flag)、合并索引信息(merge_index)、运动矢量分辨率信息、重叠块运动补偿信息、局部照度补偿信息、仿射运动补偿信息、解码器运动矢量推导信息和双向光流信息中的至少一个。

运动矢量分辨率信息可以是指示特定分辨率是否用于运动矢量和运动矢量差值中的至少一个的信息。这里,分辨率可表示精度。另外,可以以整数像素(整数-pel)、半像素(1/2-pel)、四分之一像素(1/4-pel)、八分之一像素(1/8-pel)、十六分之一像素(1/16-pel)、三十二分之一像素(1/32-pel)和六十四分之一像素(1/64-pel)中的至少一个为单位来确定特定分辨率。

重叠块运动补偿信息可表示这样的信息,其中,该信息指示当对当前块执行运动补偿时是否通过另外使用在空间上与当前块相邻的邻近块的运动矢量来计算当前块的预测块的加权和。

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

仿射运动补偿信息可以是指示在对当前块执行运动补偿时是否使用仿射运动模型的信息。这里,仿射运动模型可以是通过使用多个参数将一个块划分为子块并且通过使用代表性运动矢量计算每个子块的运动矢量的模型。

解码器运动矢量推导信息可以是指示运动补偿所需的运动矢量是否由解码器推导并使用的信息。根据解码器运动矢量推导信息,可不对关于运动矢量的信息执行熵编码/熵解码。当解码器运动矢量推导信息指示运动矢量由解码器推导并使用时,关于合并模式的信息可被熵编码或熵解码。也就是说,解码器运动矢量推导信息可指示在解码器中是否使用合并模式。

双向光流信息可以是指示在以像素或子块为单位修改运动矢量的同时是否执行运动补偿的信息。根据双向光流信息,可不对以像素或子块为单位的运动矢量进行熵编码或熵解码。这里,运动矢量的修改可表示将以块为单位的运动矢量的值改变为以像素或子块为单位的运动矢量的值的处理。

可通过使用运动补偿信息中的至少一个信息项来执行当前块的运动补偿,并且可对运动补偿信息中的至少一项进行熵编码或熵解码。

当对运动补偿信息进行熵编码或熵解码时,可使用在截断的莱斯二值化方法、K阶指数哥伦布二值化方法、有限K阶指数哥伦布二值化方法、固定长度二值化方法、一元二值化方法和截断的一元二值化方法之中选择的任何二值化方法。

当对运动补偿信息进行熵编码或熵解码时,可通过使用在以下项中选择的至少一个来确定上下文模型:当前块的邻近块的运动补偿信息或区域信息、先前编码/解码的运动补偿信息或先前编码/解码的区域信息、当前块的深度信息、和当前块的尺寸信息。

当对运动补偿信息进行熵编码或熵解码时,可通过将邻近块的运动补偿信息、先前编码/解码的运动补偿信息、当前块的深度信息和当前块的尺寸信息中的至少一个用作当前块的运动补偿信息的预测值来执行熵编码或熵解码。

在上文中,已经参考图4和图5描述了使用合并模式的图像编码和解码方法。在下文中,将参考图10描述推导时间合并候选的方法。

编码器/解码器可从通过使用在时间上与当前块相邻的参考画面重建的至少一个块推导时间合并候选。这里,在时间上与当前块相邻的参考画面可以是同位画面。

可以以序列、画面、条带、并行块、CTU、CUT或PU为单位将关于同位画面的信息从编码器发送到解码器,其中,关于同位画面的信息是画面间预测指示符、参考画面索引、运动矢量信息和画面顺序计数(POC)中的至少一个。

另外,可由编码器/解码器通过使用以下项中的至少一个隐式地推导关于同位画面的信息:(1)根据编码/解码顺序的层级、(2)先前编码/解码的时间/空间邻近块的运动信息、(3)相应画面的处于诸如序列、画面、条带或并行块的更高级别的画面间预测指示符、以及(4)参考画面索引信息。

这里,时间合并候选的推导可表示从同位画面内的同位块推导时间合并候选信息(例如,运动矢量、参考画面、画面间预测指示符和画面顺序计数中的至少一个)并将推导出的时间合并候选添加到当前块的合并候选列表的处理。

同位块的位置表示与当前块的位置相同并且布置在同位画面内的位置。同位块的位置可以是基于当前块的先前编码/解码的时间/空间邻近块的运动矢量中的至少一个从当前块的位置移动的位置。

例如,当假设将包括当前块的画面级或条带级同位画面设置为L1方向上的第一参考画面时,按照任意顺序扫描空间邻近块以确定是否存在L1方向运动信息。当确定存在L1方向运动信息时,可通过使用L1方向运动信息推导当前块的同位块。这里,空间邻近块可以是图7中示出的用于推导当前块的空间合并候选的邻近块。

可选地,例如,当假设将包括当前块的画面级(或条带级)同位画面设置为L1方向上的第一参考画面时,按照任意顺序扫描空间邻近块以确定是否存在L1方向运动信息。当确定不存在L1方向运动信息时,针对L0方向运动信息而以相同的方式扫描空间邻近块。这里,当存在L0方向运动信息时,可通过使用L0方向运动信息来推导当前块的同位块。

进一步可选地,例如,当假设将包括当前块的画面级(条带级)同位画面设置为L1方向上的参考画面时,按照推导空间合并候选的顺序扫描空间邻近块。当在首先被发现具有运动信息的块中存在L0方向运动信息时,运动信息被镜像为L1方向运动信息,使得当前块的同位画面和同位块被重新定义。在这种情况下,通过对L0方向运动矢量执行定向缩放来获得L1方向运动矢量,并且可将相同的参考画面索引或者可将不同的参考画面索引用于L1方向。当不将与L0方向的参考画面索引相同的参考画面索引用于L1方向时,可应用根据时间轴距离的运动矢量缩放。

为了选择当前块的同位画面,作为第一种方法,将当前块在L0方向和/或L1方向上的所有参考画面视为同位画面,然后从所有参考画面推导时间合并候选,最后选择具有最小RD成本的参考画面作为同位画面。作为第二种方法,可选择被时间邻近块最频繁选择的参考图像作为同位图像。

当选择当前块的同位画面时,可将一个或更多个同位画面用于每个画面间预测指示符。

例如,可选择被时间/空间邻近块中的至少一个最频繁地选择用于L0和L1画面间预测指示符中的每一个的参考画面,作为当前块的L0方向和L1方向的同位画面。在这种情况下,针对每个画面间预测指示符推导时间合并候选以产生针对L0方向和L1方向的预测块,并且通过使用预测块的加权和(即,通过使用在L0方向和L1方向上的时间合并候选而产生的预测块的平均值)来确定当前块的最终预测块。当选择L0方向和/或L1方向上的同位画面时,通过使用任意代表值(即,最小值、最大值、平均值、中值和加权值中的至少一个)来获得从至少一个或更多个时间/空间邻近块推导出的至少一个或更多个运动矢量,并且可将获得的运动矢量用于推导同位块的位置。

可选地,例如,针对L0和L1画面间预测指示符中的每一个,扫描至少一个或更多个时间/空间邻近块以寻找运动信息,并且可将首先选择的L0和L1参考画面确定为L0方向和L1方向的同位画面。在这种情况下,可推导针对每个画面间预测指示符的时间合并候选,并随后可产生当前块在L0方向和L1方向上的预测块。随后,可通过使用加权和(例如,通过使用在L0方向和L1方向上的时间合并候选而产生的预测块的平均值)来产生当前块的预测块。

关于在推导时间合并候选的处理中执行的缩放运动矢量,如图8所示,可根据同位块的POC与同位块的参考画面的POC之间的POC差值td和当前块的POC与当前块的参考画面的POC之间的POC差值tb的比率,执行对从同位块推导出的运动矢量的缩放。

根据缩放方法的一个实施例,可基于运动矢量缩放信息,通过将加权值应用于根据以上描述的且在图8中示出的缩放方法被缩放的运动矢量来执行缩放,其中,运动矢量缩放信息是经过编码/解码的时间/空间邻近块与其同位块之间的关系。

由于经过编码/解码的时间/空间邻近块与其同位块之间的运动矢量缩放信息被反映在缩放处理上,因此可提高在合并候选推导处理期间执行的运动矢量缩放的准确性。

在下文中,将参考图10描述经过编码/解码的时间/空间邻近块与对应于经过编码/解码的时间/空间邻近块的同位块之间的运动矢量缩放信息。

在图10中,假设当前块是块N,邻近块是块C,当前块和邻近块的同位块分别是块N'和块C',通过对块N进行编码/解码而获得的运动矢量是MVN,并且从块N'推导出的运动矢量是MVCol

[等式6]

通过等式6推导出的加权值WF可应用于通过使用图8的缩放方法而缩放的缩放后的运动矢量。等式7中示出了使用加权值WF的运动矢量缩放方法的一个实施例。这里,

[等式7]

同时,当根据当前块的运动矢量的缩放的POC差值td不同于根据时间/空间邻近区块的运动矢量的缩放的POC差值td时,可修改加权值WF。

例如,可通过反映POC差值td来修改加权值WF。

可选地,例如,当根据当前块的运动矢量的POC差值tb不同于根据时间/空间邻近块的运动矢量的POC差值tb时,可修改加权值WF。

例如,可通过反映POC差值tb来修改加权值WF。

可使用多个加权值来提高在推导时间合并候选的处理中执行的运动矢量缩放的准确性。

例如,可将从当前块的经过编码/解码的时间/空间邻近块推导出的多个加权值中的至少一个加权值应用于运动矢量缩放。这里,如图10所示,可从各个时间/空间邻近块推导所述多个加权值。

可选地,例如,可将从当前块的经过编码/解码的时间/空间邻近块推导出的多个加权值中的任意代表值(例如,平均值、中值、最大值、最小值、众数值和加权平均值)应用于运动矢量缩放。

在以上描述的且在图10中示出的运动矢量缩放方法中,用于推导加权值的邻近块的位置信息可从编码器被显式地发送到解码器,或者可在编码器/解码器中根据相同的过程被隐式地推导出。用于推导加权值的邻近块的位置信息可以是指示哪些邻近块用于推导加权值的信息。

可基于当前块、当前块的同位块、时间和空间邻近块、以及时间和空间邻近块的同位块中的至少一个的运动信息来隐式地推导用于推导加权值的邻近块的位置信息。这里,用于推导加权值的运动信息可包括以下项中的至少一项:画面间预测指示符、运动矢量、运动矢量差值、参考画面索引、运动矢量预测值候选索引、以及图8中定义的td和tb。

例如,当在按照推导空间合并候选的顺序扫描邻近块的情况下首先找到满足下面描述的条件中的至少一个条件的邻近块时,可从邻近块推导加权值。在下面的描述中,块C、块C'、块N和块N'与图10中示出的块C、块C'、块N和块N'相同,tb和td与图8中定义的tb和td相同。

1)当块C和块N具有相等的tb时。

2)当同位画面内的块C'和块N'具有相等的td时。

3)当块C和块N的td以及同位画面内的块C'和块N'的td相等时。

4)当块C和块N的运动矢量使用相同的参考画面时。

5)当同位画面内的块C'和块N'的运动矢量使用相同的参考画面时。

6)当同位画面中的块N'的运动矢量和块C的运动矢量使用相同的参考画面时。

7)当同位画面中的块C'的运动矢量和块N的运动矢量使用相同的参考画面时。

8)当块C和块N的运动矢量使用相同的参考画面时,并且当块C和块N的时间合并候选的参考画面相同时。

9)当同位画面内的块C'和块N'的运动矢量使用相同的参考画面时,并且当块C和块N的时间候选的参考画面相同时。

可选地,例如,当按照推导空间合并候选的顺序扫描邻近块并且首先找到已经经过帧间预测的邻近块时,可从首先找到的邻近块推导加权值。

在上文中,已经描述了在时间合并候选推导处理期间对运动矢量进行缩放的方法。在以上描述中,当前块、时间和空间邻近块以及同位块可被解释为包括当前块的子块、时间和空间邻近块的子块、以及同位块的子块。图10中示出的运动矢量缩放方法除了可用于推导时间合并候选的处理中之外,还可用于在AMVP模式下推导时间运动矢量候选的处理中。这里,在AMVP模式下推导时间运动矢量候选的方法可以是推导时间运动矢量预测值以产生当前块的运动矢量预测值的处理。

例如,当推导在当前块的运动预测之后产生的运动矢量的时间运动矢量预测值以产生运动矢量候选列表(该运动矢量候选列表是使用包括在L0和L1参考画面列表中的每个参考画面的运动矢量预测值构建的候选列表)时,可通过使用经过编码/解码的邻近块的运动矢量信息与通过使用像以上描述且在图10中示出的方法对运动矢量进行缩放而获得的时间运动矢量预测值之间的关系来提高当前块的时间运动矢量预测值的准确性,其中,运动矢量是根据当前块的参考画面从邻近块的同位块推导出的。

以下,将描述减小运动信息的传输量的方法。

当在编码器中通过运动预测方法产生的运动信息被发送到解码器时,发送到解码器的运动信息的量可根据画面间预测的模式而变化。

例如,编码器可将运动信息(即,运动矢量、运动矢量差值、参考画面索引、运动矢量预测值候选索引和画面间预测指示符中的至少一个)发送到解码器以执行画面间预测,或者可将合并索引信息(merge_idx)发送到解码器。这里,如上所述,合并索引信息可表示:指示在合并候选列表中列出的合并候选之中的合并候选的信息。

编码器可基于RD成本函数确定是否发送合并索引信息(merge_idx)(即,执行合并模式),或者是否直接发送整个运动信息(即,执行跳过模式),或者是否发送运动信息(运动矢量差值、参考画面索引、运动矢量预测值候选索引和画面间预测指示符中的至少一个)的一部分(即,执行AMVP模式)。

编码器可基于RD成本函数,确定针对L0、L1、......和Ln方向(其中,n是2或更大的整数)中的每个预测方向的将被发送到解码器的运动信息。

例如,编码器可发送针对当前块的L0方向的运动信息,并且可发送针对当前块的L1方向的合并索引信息。这里,当获得针对L1方向的最佳时间和空间合并候选列表时,可通过使用L0方向运动信息来产生预测块,并且可针对L1方向的每个合并候选列表产生预测块。之后,通过使用L0和L1方向上的预测块的加权和(例如,平均值)来产生双向预测块,并且可确定合并索引信息,其中,合并索引信息选择具有最小RD成本的合并候选作为针对L1方向的最佳合并候选。

可选地,例如,编码器可针对当前块的L0方向和L1方向将不同的合并索引信息发送到解码器。在这种情况下,在L0方向的合并候选列表被固定的状态下产生L0方向预测块,然后针对L1方向的每个合并候选列表产生L1方向预测块。接下来,通过使用产生的L0预测块和L1预测块的加权和(例如,平均值)来产生双向预测块,并且可确定合并索引信息,其中,合并索引信息选择具有最小RD成本的合并候选作为针对L0方向和L1方向的合并候选。

编码器可将LX(X是零或正整数)方向的运动信息和合并索引信息两者发送到解码器。在这种情况下,可通过使用经由使用LX方向的运动信息和合并索引信息分别推导出的预测块的代表值(例如,中值、平均值、最小值、最大值、加权值和众数值中的一个)来产生当前块的在LX方向上的预测块。

编码器可将当前块的L0方向和L1方向中的每一个的运动信息和合并索引信息两者发送到解码器。在这种情况下,可通过使用经由使用L0方向的运动信息和合并索引信息分别推导出的预测块的代表值(例如,中值、平均值、最小值、最大值、加权值和众数值中的一个)来产生当前块的在L0方向上的预测块,并且可通过使用经由使用L1方向的运动信息和合并索引信息分别推导出的预测块的代表值(例如,中值、平均值、最小值、最大值、加权值和众数值中的一个)来产生当前块的在L1方向上的预测块。可通过使用L0方向的预测块和L1方向的预测块的代表值(例如,中值、平均值、最小值、最大值、加权值和众数值中的一个)来产生当前块的最终预测块。

在上述实施例中,编码器可将合并模式使用/不使用信息(merge_flag)与合并索引信息一起发送到解码器。

另一方面,根据本发明的一个实施例的编码器可定义指示是否使用合并模式的画面间预测指示符,并且可发送画面间预测指示符而不是发送合并模式使用/不使用信息。

当对当前块执行画面间预测(双向预测)时,编码器/解码器可确定合并索引信息是否用于L0和L1方向中的每一个或者L0和L1方向两者,并且可以具有对于每个画面间预测指示符所特有的二值化符号值(二进制位串)。

这里,PRED_L0可被定义为指示以下内容的画面间预测指示符:在执行L0方向运动预测之后推导出的运动信息被发送到解码器。

PRED_L1可被定义为指示以下内容的画面间预测指示符:在执行L1方向运动预测之后推导出的运动信息被发送到解码器。

PRED_BI可被定义为指示以下内容的画面间预测指示符:在针对L0方向和L1方向中的每一个执行运动预测之后推导出的运动信息被发送到解码器。

PRED_BI_MERGE_L0可被定义为指示以下内容的画面间预测指示符:针对L0方向,合并索引信息被发送到解码器,并且针对L1方向,执行运动预测之后推导出的运动信息被发送到解码器。

PRED_BI_MERGE_L1可被定义为指示以下内容的画面间预测指示符:针对L1方向,合并索引信息被发送到解码器,并且针对L0方向,执行运动预测之后推导出的运动信息被发送到解码器。

PRED_BI_MERGE_BI可被定义为指示以下内容的画面间预测指示符:针对L0方向和L1方向分别将不同的合并索引信息发送到解码器。

PRED_BI_MERGE_L0、PRED_BI_MERGE_L1和PRED_BI_MERGE_BI可如下所述被不同地定义。

PRED_BI_MERGE_L0可被定义为指示以下内容的画面间预测指示符:合并索引信息和在执行L0方向运动预测之后推导出的运动信息被发送到解码器;并且针对L1方向,执行运动预测之后推导出的运动信息被发送到解码器。在这种情况下,可通过使用分别经由使用在执行运动预测之后推导出的运动信息以及经由使用合并索引信息而获得的预测块的代表值(例如,中值、平均值、最小值、最大值、加权值和众数值中的一个),产生L0方向的预测块。

PRED_BI_MERGE_L1可被定义为指示以下内容的画面间预测指示符:合并索引信息和在执行L1方向运动预测之后推导出的运动信息被发送到解码器;并且针对L0方向,执行运动预测之后推导出的运动信息被发送到解码器。在这种情况下,可通过使用分别经由使用在执行运动预测之后推导出的运动信息以及经由使用合并索引信息而获得的预测块的代表值(例如,中值、平均值、最小值、最大值、加权值和众数值中的一个),产生L1方向的预测块。

PRED_BI_MERGE_BI可被定义为指示以下内容的画面间预测指示符:针对L0方向和L1方向中的每个,合并索引信息和在执行运动预测之后推导出的运动信息被发送到解码器。在这种情况下,可通过使用分别经由使用运动信息以及经由使用合并索引信息而获得的预测块的代表值(例如,中值、平均值、最小值、最大值、加权值和众数值中的一个),产生当前块的在L0方向和L1方向中的每个方向上的预测块。

另外,编码器/解码器可定义下面描述的其他画面间预测指示符。

例如,PRED_L0_MERGE可被定义为指示以下内容的画面间预测指示符:针对L1方向的合并索引信息被发送到解码器。

另一方面,PRED_L0_MERGE可被定义为指示以下内容的画面间预测指示符:合并索引信息和在执行L0方向运动预测之后推导出的运动信息被发送到解码器。可从通过使用合并索引信息和在执行运动预测之后推导出的运动信息分别获得的预测块的代表值(例如,中值、平均值、最小值、最大值、加权平均值和众数中的至少任意一个)产生L0方向上的预测块。

作为另一实施例,PRED_L1_MERGE可被定义为指示以下内容的画面间预测指示符:针对L1方向的合并索引信息被发送到解码器。

同时,PRED_L1_MERGE可被定义为指示以下内容的画面间预测指示符:合并索引信息和在执行L1方向运动预测之后推导出的运动信息被发送到解码器。这里,可通过使用经由使用合并索引信息和在执行运动预测之后推导出的运动信息分别获得的预测块的代表值(中值、平均值、最小值、最大值、加权平均值和众数中的至少任意一个),产生L1方向上的预测块。

在上文中,已经描述了减小运动信息的传输量的方法。在下文中,将参考图11至图14描述根据本发明的一个实施例的图像编码方法和图像解码方法。

图11是示出根据本发明的一个实施例的图像解码方法的示图。

参考图11,解码器可从当前块的同位块推导时间合并候选(S1101)。下面将参考图12描述推导时间合并候选的方法。

解码器可基于推导出的时间合并候选来产生当前块的合并候选列表(S1102)。

解码器可基于产生的合并候选列表来产生当前块的预测块(S1103)。

图12示出根据本发明一个实施例的推导时间合并候选的方法。

参照图12,解码器可基于当前块与当前块的参考画面之间的POC差值tb以及同位块与同位块的参考画面之间的POC差值td来对从同位块推导出的运动矢量进行缩放(S1201)。由于上面已经参照图8描述了缩放方法,因此这里将省略对其的进一步描述。

解码器可基于当前块的邻近块与邻近块的同位块之间的运动矢量缩放信息来修改缩放后的运动矢量(S1203)。

这里,可以以下面描述的方式产生当前块的邻近块与邻近块的同位块之间的运动矢量缩放信息。也就是说,产生运动矢量缩放信息的方法包括以下处理:基于邻近块与邻近块的参考画面之间的POC差值以及邻近块的同位块与邻近块的同位块的参考画面之间的POC差值来对从邻近块的同位块推导出的运动矢量进行缩放的处理;基于通过对从邻近块的同位块推导出的运动矢量进行缩放而获得的运动矢量与邻近块的运动矢量的比率来产生邻近块与邻近块的同位块之间的运动矢量缩放信息的处理。

同时,可通过将基于邻近块和邻近块的同位块之间的运动矢量缩放信息的加权值应用于缩放后的运动矢量来执行对缩放后的运动矢量的修改。

当当前块与当前块的参考画面之间的POC差值和邻近块与邻近块的参考画面之间的POC差值不同时,解码器可基于上述POC差值之间的差值来修改加权值。

另外,解码器可基于邻近块的位置信息,在当前块的空间邻近块和当前块的时间邻近块中选择将用于修改缩放后的运动矢量的邻近块。

另外,解码器可选择当前块的空间邻近块之中的具有与当前块的的参考画面相同的参考画面的块,作为将用于修改缩放后的运动矢量的邻近块。

由于以上参考图10提供了关于修改缩放后的运动矢量的方法的详细描述。因此,这里将不再进行重复描述。

即使在编码器中,也可以以相同的方式执行图11和图12中示出的推导时间合并候选的方法。

图13是示出根据本发明的一个实施例的图像解码方法的示图。

参照图13,解码器可获取指示画面间预测方向和画面间预测模式的画面间预测指示符(S1301)。这里,画面间预测指示符可指示针对每个预测方向的画面间预测模式。

解码器可基于画面间预测指示符产生当前块的预测块(S1302)。

图14是示出根据本发明的一个实施例的图像编码方法的示图。

参考图14,编码器可确定针对每个画面间预测方向的画面间预测模式(S1401)。

另外,编码器可根据S1401的确定方法对指示画面间预测方向和画面间预测模式的画面间预测指示符进行编码(S1402)。

由于上面已经描述了图13和图14的画面间预测指示符,因此这里将不再进行重复描述。

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

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

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

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

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

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

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

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

可定义本发明的以上实施例被应用于的条带类型,并且可根据相应的条带类型应用以上实施例。

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

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

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

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

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

工业适用性

本发明可用于图像编码/解码设备。

本发明提供了以下发明构思:

1、一种用于对图像进行解码的方法,所述方法包括:

从当前块的同位块推导时间合并候选;

基于推导出的时间合并候选产生当前块的合并候选列表;并且

基于产生的合并候选列表产生当前块的预测块,

其中,推导时间合并候选的步骤包括:

基于当前块与当前块的参考画面之间的画面顺序计数差值以及当前块的同位块与当前块的同位块的参考画面之间的画面顺序计数差值,对从当前块的同位块推导出的运动矢量进行缩放;

基于当前块的邻近块与当前块的邻近块的同位块之间的运动矢量缩放信息来修改缩放后的运动矢量。

2、根据发明构思1所述的图像解码方法,其中,推导时间合并候选的步骤还包括:

基于当前块的邻近块与当前块的邻近块的参考画面之间的画面顺序计数差值以及当前块的邻近块的同位块与当前块的邻近块的同位块的参考画面之间的画面顺序计数差值,对从当前块的邻近块的同位块推导出的运动矢量进行缩放;

基于从当前块的邻近块的同位块推导出并随后被缩放的运动矢量与当前块的邻近块的运动矢量的比率,产生当前块的邻近块与当前块的邻近块的同位块之间的运动矢量缩放信息。

3、根据发明构思1所述的图像解码方法,其中,通过将基于当前块的邻近块与当前块的邻近块的同位块之间的运动矢量缩放信息的加权值应用于缩放后的运动矢量,执行修改缩放后的运动矢量的操作。

4、根据发明构思3所述的图像解码方法,

其中,当当前块与当前块的参考画面之间的画面顺序计数差值和当前块的邻近块与当前块的邻近块的参考画面之间的画面顺序计数差值不同时,基于当前块与当前块的参考画面之间的画面顺序计数差值和当前块的邻近块与当前块的邻近块的参考画面之间的画面顺序计数差值之间的差值来修改所述加权值。

5、根据发明构思1所述的图像解码方法,其中,当前块的邻近块是基于邻近块位置信息在当前块的空间邻近块和当前块的时间邻近块中选择的。

6、根据发明构思1所述的图像解码方法,其中,当前块的邻近块是在当前块的空间邻近块中选择的块,并且具有与当前块的参考画面相同的参考画面。

7、一种图像编码方法,包括:

从当前块的同位块推导时间合并候选;

基于推导出的时间合并候选产生当前块的合并候选列表;并且

基于产生的合并候选列表产生当前块的预测块,

其中,推导时间合并候选的步骤包括:

基于当前块与当前块的参考画面之间的画面顺序计数差值以及当前块的同位块与当前块的同位块的参考画面之间的画面顺序计数差值,对从当前块的同位块推导出的运动矢量进行缩放;

基于当前块的空间和时间邻近块与当前块的空间和时间邻近块的同位块之间的运动矢量缩放信息,修改缩放后的运动矢量。

8、一种存储通过发明构思7的图像编码方法产生的比特流的记录介质。

9、一种图像解码方法,包括:

获取指示画面间预测方向和画面间预测模式的画面间预测指示符;并且

基于画面间预测指示符产生当前块的预测块,

其中,画面间预测指示符指示针对每个预测方向的画面间预测模式。

10、一种图像编码方法,包括:

确定针对每个画面间预测方向的画面间预测模式;并且

根据确定结果,对指示画面间预测方向和画面间预测模式的画面间预测指示符进行编码。

11、一种存储通过发明构思11的编码方法产生的比特流的记录介质。

12、一种图像解码设备,包括:

运动补偿单元,从当前块的同位块推导时间合并候选,基于推导出的时间合并候选产生合并候选列表,并基于产生的合并候选列表来产生当前块的预测块,

其中,运动补偿单元执行以下操作:

基于当前块与当前块的参考画面之间的画面顺序计数差值以及当前块的同位块与当前块的同位块的参考画面之间的画面顺序计数差值,对从当前块的同位块推导出的运动矢量进行缩放;

基于当前块的邻近块与当前块的邻近块的同位块之间的运动矢量缩放信息,修改缩放后的运动矢量。

13、一种图像解码设备,包括:

熵解码单元,获取指示画面间预测方向和画面间预测模式的画面间预测指示符;以及

运动补偿单元,基于画面间预测指示符产生当前块的预测块,

其中,画面间预测指示符指示针对每个预测方向的画面间预测模式。

技术分类

06120116501552