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

编码/解码设备以及发送图像数据的设备

文献发布时间:2024-01-17 01:20:32


编码/解码设备以及发送图像数据的设备

本申请是原案申请号为201780062877.5的发明专利申请(国际申请号:PCT/KR2017/008596,申请日:2017年8月9日,发明名称:图像编码/解码方法和设备)的分案申请。

技术领域

本发明涉及一种用于对视频进行编码/解码的方法及其设备。更具体地,本发明涉及一种通过使用合并模式来执行运动补偿的方法和设备。

背景技术

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

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

在使用传统合并模式的运动补偿中,仅将空间合并候选、时间合并候选、双向预测合并候选和零合并候选添加到将被使用的合并候选列表。因此,仅使用单向预测和双向预测,因此对提高编码效率存在限制。

在使用传统合并模式的运动补偿中,由于时间合并候选推导处理与双向预测合并候选推导处理之间的依赖性,对合并模式的吞吐量存在限制。另外,可不并行执行合并候选推导处理。

在使用传统合并模式的运动补偿中,将通过双向预测合并候选推导处理产生的双向预测合并候选用作运动信息。因此,与单向预测合并候选相比,存储器访问带宽在运动补偿期间增加。

在使用传统合并模式的运动补偿中,根据条带类型不同地执行零合并候选推导,因此硬件逻辑复杂。另外,通过双向预测零合并候选推导处理产生将在运动补偿中使用的双向预测零合并候选,因此存储器访问带宽增加。

发明内容

技术问题

本发明的目的在于提供一种通过使用组合的合并候选来执行运动补偿以提高视频的编码/解码效率的方法和设备。

本发明的另一目的在于提供一种通过使用单向预测、双向预测、三向预测和四向预测来执行运动补偿以提高视频的编码/解码效率的方法和设备。

本发明的另一目的在于提供一种通过以下操作来确定运动信息以提高合并模式的吞吐量并简化硬件逻辑的方法和设备:合并候选推导处理的并行化、合并候选推导处理之间的依赖性的去除、双向预测合并候选分区和单向预测零合并候选推导。

本发明的另一目的在于提供一种当从同位画面(col画面)中的与当前块相应的同位块推导时间合并候选时将与从同位块推导的运动矢量相关的参考画面用作时间合并候选的参考画面的方法和设备。

技术方案

根据本发明,一种用于对视频进行解码的方法包括:从当前块的空间候选块中的至少一个推导空间合并候选;从当前块的同位块推导时间合并候选;以及基于推导的空间合并候选和推导的时间合并候选中的至少一个来产生当前块的预测块,其中,基于包括当前块的当前画面的参考画面列表以及包括同位块的同位画面的参考画面列表来选择时间合并候选的参考画面。

在所述用于对视频进行解码的方法中,可基于当前画面的参考画面列表与同位画面的参考画面列表是否彼此相同来选择时间合并候选的参考画面。

在所述用于对视频进行解码的方法中,当当前画面的参考画面列表与同位画面的参考画面列表彼此相同时,可将时间合并候选的参考画面选择为由从同位块推导的运动矢量所使用的参考画面。

在所述用于对视频进行解码的方法中,当当前画面的参考画面列表的至少一个参考画面与同位画面的参考画面列表的至少一个参考画面相同时,可从相同的所述至少一个参考画面中选择时间合并候选的参考画面。

在所述用于对视频进行解码的方法中,可根据帧间预测方向来选择时间合并候选的参考画面。

在所述用于对视频进行解码的方法中,可针对当前块的每个子块推导当前块的空间合并候选和时间合并候选。

在所述用于对视频进行解码的方法中,可从包括在同位块中的与当前块的子块在相同位置的子块推导当前块的子块的时间合并候选。

在所述用于对视频进行解码的方法中,当在所述相同位置的子块不可用时,可从同位块中的中心位置的子块、在所述相同位置的子块的左侧子块和在所述相同位置的子块的上部子块中的一个推导当前块的子块的时间合并候选。

在所述用于对视频进行解码的方法中,推导时间合并候选的步骤可包括:基于当前块的参考画面列表的各个参考画面对同位块的多个运动矢量进行缩放,并推导包括缩放的所述多个运动矢量的时间合并候选。

在所述用于对视频进行解码的方法中,可通过使用基于缩放的所述多个运动矢量的加权和所产生的运动矢量来产生当前块的预测块。

在所述用于对视频进行解码的方法中,可通过分别使用缩放的所述多个运动矢量来产生多个时间预测块,并且可基于产生的所述多个时间预测块的加权和来产生当前块的预测块。

在所述用于对视频进行解码的方法中,可通过基于时间合并候选的参考画面对同位块的运动信息进行缩放来执行推导时间合并候选的步骤。

在所述用于对视频进行解码的方法中,可基于包括当前块的当前画面与当前块的参考画面之间的画面顺序计数值以及包括同位块的同位画面与同位块的参考画面之间的画面顺序计数值,选择性地执行通过对同位块的运动信息进行缩放来推导时间合并候选的步骤。

根据本发明,一种用于对视频进行编码的方法包括:从当前块的空间候选块中的至少一个推导空间合并候选;从当前块的同位块推导时间合并候选;以及基于推导的空间合并候选和推导的时间合并候选中的至少一个来产生当前块的预测块,其中,基于包括当前块的当前画面的参考画面列表以及包括同位块的同位画面的参考画面列表来选择时间合并候选的参考画面。

根据本发明,一种用于对视频进行解码的设备包括:帧间预测单元,从当前块的空间候选块中的至少一个推导空间合并候选,从当前块的同位块推导时间合并候选,并基于推导的空间合并候选和推导的时间合并候选中的至少一个来产生当前块的预测块,其中,帧间预测单元基于包括当前块的当前画面的参考画面列表以及包括同位块的同位画面的参考画面列表来选择时间合并候选的参考画面。

根据本发明,一种用于对视频进行编码的设备包括:帧间预测单元,从当前块的空间候选块中的至少一个推导空间合并候选,从当前块的同位块推导时间合并候选,并基于推导的空间合并候选和推导的时间合并候选中的至少一个来产生当前块的预测块,其中,帧间预测单元基于包括当前块的当前画面的参考画面列表以及包括同位块的同位画面的参考画面列表来选择时间合并候选的参考画面。

根据本发明,一种存储通过对视频进行编码的方法形成的比特流的可读介质,所述方法包括:从当前块的空间候选块中的至少一个推导空间合并候选;从当前块的同位块推导时间合并候选;以及基于推导的空间合并候选和推导的时间合并候选中的至少一个来产生当前块的预测块,其中,基于包括当前块的当前画面的参考画面列表以及包括同位块的同位画面的参考画面列表来选择时间合并候选的参考画面。

技术效果

在本发明中,提供了一种通过使用组合的合并候选来执行运动补偿以提高视频的编码/解码效率的方法和设备。

在本发明中,提供了一种通过使用单向预测、双向预测、三向预测和四向预测来执行运动补偿以提高视频的编码/解码效率的方法和设备。

在本发明中,提供了一种通过以下操作来执行运动补偿以提高合并模式的吞吐量并简化硬件逻辑的方法和设备:合并候选推导处理的并行化、合并候选推导处理之间的依赖性的去除、双向预测合并候选分区和单向预测零合并候选推导。

在本发明中,提供了一种当从同位画面(col画面)中的与当前块相应的同位块推导时间合并候选时将与从同位块推导的运动矢量相关的参考画面用作时间合并候选的参考画面的方法和设备。

附图说明

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

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

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

图4是示出可包括在编码单元(CU)中的预测单元(PU)的形式的示图。

图5是示出可包括在编码单元(CU)中的变换单元(TU)的形式的示图。

图6是用于解释帧内预测的处理的实施例的示图。

图7是示出根据本发明的通过使用合并模式对视频进行编码的方法的流程图。

图8是示出根据本发明的通过使用合并模式对视频进行解码的方法的流程图。

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

图10是示出根据本发明的将时间合并候选添加到合并候选列表的示例的示图。

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

图12和图13是示出根据本发明的自适应地选择时间合并候选的参考画面的方法和通过使用时间合并候选来产生预测块的方法的示例的示图。

图14和图15是示出根据本发明的在低延迟编码/解码环境(低延迟配置)下自适应地选择用于时间合并候选的参考画面的方法的示例的示图。

图16和图17是示出根据本发明的同位块的子块的示图。

图18是示出根据本发明的对每个子块执行运动补偿的示例的示图。

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

具体实施方式

发明模式

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

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

将理解的是,在本说明书中,当元件被简单称为“连接到”或“结合到”另一元件而不是“直接连接到”或“直接结合到”另一元件时,所述元件可以“直接连接到”或“直接结合到”另一元件,或者是在其间插入其它元件的情况下连接到或结合到另一元件。相反,应该理解,当元件被称为“直接结合”或“直接连接”到另一元件时,不存在中间元件。

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

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

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

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

此外,在下文中,图像可意为构成视频的画面,或者可意为视频本身。例如,“对图像进行编码或解码或者进行编码和解码”可意为“对视频进行编码或解码或者进行编码和解码”,并且可意为“对视频的多个图像之中的一个图像进行编码或解码或者进行编码和解码”。这里,画面和图像可具有相同的含义。

术语描述

编码器:可意为执行编码的设备。

解码器:可意为执行解码的设备。

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

块:可意为M×N矩阵的样点。这里,M和N是正整数,并且块可意为二维形式的样点矩阵。

样点:是块的基本单元,并且可指示依据比特深度(Bd)而范围为0至2

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

重建邻近单元:可意为在空间上/时间上被在先编码或解码的重建单元,并且重建单元与编码/解码目标单元相邻。这里,重建邻近单元可意为重建邻近块。

邻近块:可意为与编码/解码目标块相邻的块。与编码/解码目标块相邻的块可意为具有与编码/解码目标块接触的边界的块。邻近块可意为位于编码/解码目标块的相邻顶点的块。邻近块可意为重建邻近块。

单元深度:可意为单元被分区的程度。在树结构中,根节点可以是最高节点,叶节点可以是最低节点。

符号:可意为编码/解码目标单元的语法元素、编码参数、变换系数的值等。

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

比特流:可意为包括编码图像信息的比特串。

预测单元:可意为当执行帧间预测或帧内预测以及针对预测的补偿时的基本单元。一个预测单元可被分区为多个分区。在这种情况下,多个分区中的每个分区可以是在执行预测和补偿时的基本单元,并且从预测单元分区出的每个分区可以是预测单元。此外,一个预测单元可以被分区为多个小预测单元。预测单元可具有各种尺寸和形状,并且具体来说,预测单元的形状可以是二维几何图形,诸如矩形、正方形、梯形、三角形、五边形等。

预测单元分区:可意为分区出的预测单元的形状。

参考画面列表:可意为包括至少一个参考画面的列表,其中,所述至少一个参考画面被用于帧间预测或运动补偿。参考画面列表的类型可以是List Combined(LC)、List 0(L0)、List 1(L1)、List 2(L2)、List 3(L3)等。至少一个参考画面列表可被用于帧间预测。

帧间预测指示符:可意为以下之一:帧间预测情况下的编码/解码目标块的帧间预测方向(单向预测、双向预测等)、用于通过所述编码/解码目标块产生预测块的参考画面的数量、以及用于通过所述编码/解码目标块执行帧间预测或运动补偿的参考块的数量。

参考画面索引:可意为参考画面列表中的特定参考画面的索引。

参考画面:可意为特定单元为了帧间预测或运动补偿所参考的画面。参考图像可被称为参考画面。

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

运动矢量候选:可意为当预测运动矢量时成为预测候选的单元,或者可意为该单元的运动矢量。

运动矢量候选列表:可意为通过使用运动矢量候选配置的列表。

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

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

合并候选列表:可意为通过使用合并候选配置的列表。

合并候选:可包括空间合并候选、时间合并候选、组合合并候选、组合双向预测合并候选、零合并候选等。合并候选可包括诸如预测类型信息、用于每个列表的参考画面索引、运动矢量等的运动信息。

合并索引:可意为指示合并候选列表中的合并候选的信息。此外,合并索引可指示与当前块在空间/时间上相邻的重建块之中的推导合并候选的块。此外,合并索引可指示合并候选的多条运动信息中的至少一条运动信息。

变换单元:可意为当对残差信号执行与变换、逆变换、量化、反量化以及变换系数编码/解码类似的编码/解码时的基本单元。一个变换单元可被分区为多个小变换单元。变换单元可具有各种尺寸和形状。具体而言,变换单元的形状可以是二维几何图形,诸如矩形、正方形、梯形、三角形、五边形等。

缩放:可意为将一因子与变换系数等级相乘的处理,其结果是,变换系数可被产生。缩放还可被称为反量化。

量化参数:可意为在量化和反量化期间在对变换系数等级进行缩放时使用的值。这里,量化参数可以是被映射到量化的步长大小的值。

增量(Delta)量化参数:可意为编码/解码目标单元的量化参数与预测出的量化参数之间的差值。

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

变换系数:可意为在执行变换之后产生的系数值。在本发明中,经过量化的变换系数等级(即被应用了量化的变换系数)可被称为变换系数。

非零变换系数:可意为值不为0的变换系数,或者可意为值不为0的变换系数等级。

量化矩阵:可意为在量化和反量化中使用以便提高图像的主体质量(subjectquality)或对象质量(object quality)的矩阵。量化矩阵可被称为缩放列表。

量化矩阵系数:可意为量化矩阵的每个元素。量化矩阵系数可被称为矩阵系数。

默认矩阵:可意为在编码器和解码器中被预先定义的预定量化矩阵。

非默认矩阵:可意为在编码器和解码器中未被预先定义的情况下由用户发送/接收的量化矩阵。

编码树单元:可由一个亮度分量(Y)编码树单元以及相关的两个色度分量(Cb,Cr)编码树单元构成。每个编码树单元可通过使用至少一种分区方法(诸如四叉树、二叉树等)被分区,以构成子单元,诸如编码单元、预测单元、变换单元等。编码树单元可被用作用于指示在图像的解码/编码处理中作为处理单元的像素块(如输入图像的分区)的术语。

编码树块:可用作用于指示Y编码树单元、Cb编码树单元和Cr编码树单元之一的术语。

图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可通过将重建残差块与预测块相加来产生作为解码目标块的重建块。解码目标块可被称为当前块。

熵解码单元210可通过根据概率分布对比特流执行熵解码来产生符号。产生的符号可包括具有量化的变换系数等级的符号。这里,熵解码的方法可与上述熵编码的方法类似。例如,熵解码的方法可以是上述熵编码的方法的逆处理。

为了对变换系数等级进行解码,熵解码单元210可执行变换系数扫描,由此,一维矢量形式的系数可被改变为二维块形式。例如,通过用右上扫描来扫描块的系数,一维矢量形式的系数可被改变为二维块形式。根据变换单元的尺寸以及帧内预测模式,可使用垂直方向扫描以及水平方向扫描,而不是使用右上扫描。也就是说,依据变换单元的尺寸以及帧内预测模式,可确定在右上扫描、垂直方向扫描和水平方向扫描之中的哪种扫描方法被使用。

经过量化的变换系数等级可通过反量化单元220被反量化,并可通过逆变换单元230被逆变换。经过量化的变换系数等级被反量化并被逆变换以便产生重建残差块。这里,反量化单元220可对经过量化的变换系数等级应用量化矩阵。

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

当帧间模式被使用时,运动补偿单元250可通过执行运动补偿来产生预测块,其中,运动补偿使用存储在参考画面缓冲器270中的参考画面以及运动矢量两者。当运动矢量的值不是整数时,运动补偿单元250可通过对参考画面中的部分区域应用插值滤波器来产生预测块。为了执行运动补偿,基于编码单元,可在跳过模式、合并模式、AMVP模式和当前画面参考模式之中确定编码单元中的预测单元的运动补偿方法使用哪种方法。此外,可依据所述模式执行运动补偿。这里,当前画面参考模式可意为使用具有解码目标块的当前画面内的先前重建区域的预测模式。先前重建区域可不与解码目标块相邻。为了指明先前重建区域,可针对当前画面参考模式使用固定矢量。此外,指示解码目标块是否是按照当前画面参考模式被解码的块的标志或索引可被用信号发送,并可通过使用解码目标块的参考画面索引而被推导出。针对当前画面参考模式的当前画面可存在于针对解码目标块的参考画面列表内的固定位置(例如,参考画面索引为0的位置或最后的位置)。此外,当前画面可以可变地位于参考画面列表内,为此,可用信号发送指示当前画面的位置的参考画面索引。这里,用信号发送标志或索引可表示编码器对相应的标志或索引进行熵编码并包括在比特流中,并且解码器从比特流对相应的标志或索引进行熵解码。

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

图3是示意性地示出当对图像进行编码和解码时的图像的分区结构的示图。图3示意性地示出将一个单元分区为多个子单元的实施例。

为了对图像进行有效分区,编码单元(CU)可在编码和解码中被使用。这里,编码单元可意为进行编码的单元。单元可以是1)语法元素和2)包括图像样点的块的组合。例如,“单元的分区”可意为“与单元相关的块的分区”。块分区信息可包括关于单元深度的信息。深度信息可指示单元被分区的次数或单元被分区的程度或两者。

参照图3,图像300针对每个最大编码单元(LCU)被顺序分区,并且分区结构针对每个LCU被确定。这里,LCU和编码树单元(CTU)具有相同的含义。一个单元可具有基于树结构的深度信息,并可被分层分区。每个分区出的子单元可具有深度信息。深度信息指示单元被分区的次数或单元被分区的程度或两者,因此,深度信息可包括关于子单元的尺寸的信息。

分区结构可意为LCU 310中的编码单元(CU)的分布。CU可以是用于对图像进行有效编码/解码的单元。所述分布可基于一个CU是否将被多次(等于或大于2的正整数,包括2、4、8、16等)分区而被确定。分区出的CU的宽度尺寸和高度尺寸可分别为原始CU的一半宽度尺寸和一半高度尺寸。可选择地,根据分区的次数,分区出的CU的宽度尺寸和高度尺寸可分别小于原始CU的宽度尺寸和高度尺寸。分区出的CU可被递归地分区为多个进一步分区出的CU,其中,按照相同的分区方法,所述进一步分区出的CU具有比所述分区出的CU的宽度尺寸和高度尺寸更小的宽度尺寸和高度尺寸。

这里,CU的分区可被递归地执行直到预定深度。深度信息可以是指示CU的尺寸的信息,并且可按照每个CU被存储。例如,LCU的深度可以是0,并且最小编码单元(SCU)的深度可以是预定最大深度。这里,LCU可以是具有如上所述的最大尺寸的编码单元,并且SCU可以是具有最小尺寸的编码单元。

每当LCU 310开始被分区,并且CU的宽度尺寸和高度尺寸通过分区操作而减小时,CU的深度增加1。在不能被分区的CU的情况下,CU针对每个深度可具有2N×2N尺寸。在能够被分区的CU的情况下,具有2N×2N尺寸的CU可被分区为多个N×N尺寸的CU。每当深度增加1时,N的大小减半。

例如,当一个编码单元被分区为四个子编码单元时,所述四个子编码单元之一的宽度尺寸和高度尺寸可分别为原始编码单元的一半宽度尺寸和一半高度尺寸。例如,当32×32尺寸的编码单元被分区为四个子编码单元时,所述四个子编码单元中的每一个可具有16×16尺寸。当一个编码单元被分区为四个子编码单元时,编码单元可按照四叉树形式被分区。

例如,当一个编码单元被分区为两个子编码单元时,所述两个子编码单元之一的宽度尺寸或高度尺寸可分别为原始编码单元的一半宽度尺寸或一半高度尺寸。例如,当32×32尺寸的编码单元被垂直分区为两个子编码单元时,所述两个子编码单元中的每一个可具有16×32尺寸。例如,当32×32尺寸的编码单元被水平分区为两个子编码单元时,所述两个子编码单元中的每一个可具有32×16尺寸。当一个编码单元被分区为两个子编码单元时,编码单元可按照二叉树形式被分区。

参照图3,具有最小深度0的LCU的尺寸可以是64×64像素,并且具有最大深度3的SCU的尺寸可以是8×8个像素。这里,可由深度0来表示具有64×64个像素的CU(即,LCU),可由深度1来表示具有32×32个像素的CU,可由深度2来表示具有16×16个像素的CU,并且可由深度3来表示具有8×8个像素的CU(即,SCU)。

此外,可通过CU的分区信息来表示关于CU是否将被分区的信息。分区信息可以是1比特信息。分区信息可被包括在除SCU之外的所有CU中。例如,当分区信息的值为0时,CU可不被分区,当分区信息的值为1时,CU可被分区。

图4是示出可被包括在编码单元(CU)中的预测单元(PU)的形式的示图。

从LCU分区出的多个CU之中的不再被分区的CU可被分区为至少一个预测单元(PU)。该处理也可被称为分区。

PU可以是用于预测的基本单元。PU可按照跳过模式、帧间模式和帧内模式中的任一模式而被编码和解码。PU可依据模式按照各种形式被分区。

此外,编码单元可不被分区为多个预测单元,并且编码单元和预测单元具有相同的尺寸。

如图4所示,在跳过模式中,CU可不被分区。在跳过模式中,可支持与不经分区的CU具有相同尺寸的2N×2N模式410。

在帧间模式中,在CU中可支持8个分区形式。例如,在帧间模式中,可支持2N×2N模式410、2N×N模式415、N×2N模式420、N×N模式425、2N×nU模式430、2N×nD模式435、nL×2N模式440以及nR×2N模式445。在帧内模式中,可支持2N×2N模式410和N×N模式425。

一个编码单元可被分区为一个或更多个预测单元。一个预测单元可被分区为一个或更多个子预测单元。

例如,当一个预测单元被分区为四个子预测单元时,所述四个子预测单元之一的宽度尺寸和高度尺寸可为原始预测单元的一半宽度尺寸和一半高度尺寸。例如,当32×32尺寸的预测单元被分区为四个子预测单元时,所述四个子预测单元中的每一个可具有16×16尺寸。当一个预测单元被分区为四个子预测单元时,预测单元可按照四叉树形式被分区。

例如,当一个预测单元被分区为两个子预测单元时,所述两个子预测单元之一的宽度尺寸或高度尺寸可为原始预测单元的一半宽度尺寸或一半高度尺寸。例如,当32×32尺寸的预测单元被垂直分区为两个子预测单元时,所述两个子预测单元中的每一个可具有16×32尺寸。例如,当32×32尺寸的预测单元被水平分区为两个子预测单元时,所述两个子预测单元中的每一个可具有32×16尺寸。当一个预测单元被分区为两个子预测单元时,预测单元可按照二叉树形式被分区。

图5是示出可被包括在编码单元(CU)中的变换单元(TU)的形式的示图。

变换单元(TU)可以是CU内的用于变换、量化、逆变换和反量化的基本单元。TU可具有正方形状或矩形形状等。TU可按照CU的尺寸或CU的形式或者以上两者而被独立确定。

从LCU分区出的CU之中的不再被分区的CU可被分区为至少一个TU。这里,TU的分区结构可以是四叉树结构。例如,如图5所示,一个CU 510可依据四叉树结构而被分区一次或更多次。一个CU被分区至少一次的情况可被称为递归分区。通过进行分区,一个CU 510可由具有各种尺寸的TU形成。可选择地,CU可依据对CU进行分区的垂直线的数量或对CU进行分区的水平线的数量或两者而被分区为至少一个TU。CU可被分区为彼此对称的TU,或者可被分区为彼此不对称的TU。为了将CU分区为彼此对称的TU,TU的尺寸/形状的信息可被用信号发送,并可从CU的尺寸/形状的信息被推导出。

此外,编码单元可不被分区为变换单元,并且编码单元和变换单元可具有相同的尺寸。

一个编码单元可被分区为至少一个变换单元,并且一个变换单元可被分区为至少一个子变换单元。

例如,当一个变换单元被分区为四个子变换单元时,所述四个子变换单元之一的宽度尺寸和高度尺寸可分别为原始变换单元的一半宽度尺寸和一半高度尺寸。例如,当32×32尺寸的变换单元被分区为四个子变换单元时,所述四个子变换单元中的每一个可具有16×16尺寸。当一个变换单元被分区为四个子变换单元时,变换单元可按照四叉树形式被分区。

例如,当一个变换单元被分区为两个子变换单元时,所述两个子变换单元之一的宽度尺寸或高度尺寸可分别为原始变换单元的一半宽度尺寸或一半高度尺寸。例如,当32×32尺寸的变换单元被垂直分区为两个子变换单元时,所述两个子变换单元中的每一个可具有16×32尺寸。例如,当32×32尺寸的变换单元被水平分区为两个子变换单元时,所述两个子变换单元中的每一个可具有32×16尺寸。当一个变换单元被分区为两个子变换单元时,变换单元可按照二叉树形式被分区。

当执行变换时,可通过使用预定变换方法中的至少一种变换方法对残差块进行变换。例如,所述预定变换方法可包括离散余弦变换(DCT)、离散正弦变换(DST)、KLT等。可通过使用以下项中的至少一个来确定哪种变换方法被应用于对残差块进行变换:预测单元的帧间预测模式信息、预测单元的帧内预测模式信息以及变换块的尺寸/形状。指示变换方法的信息可被用信号发送。

图6是用于解释帧内预测的处理的实施例的示图。

帧内预测模式可以是非方向模式或方向模式。非方向模式可以是DC模式或平面模式。方向模式可以是具有特定方向或角度的预测模式,并且方向模式的数量可以是等于或大于1的M。方向模式可被指示为模式编号、模式值和模式角度中的至少一个。

帧内预测模式的数量可以是等于或大于1的包括非方向模式和方向模式的N。

帧内预测模式的数量可依据块的尺寸而变化。例如,当块的尺寸为4×4或8×8时,帧内预测模式的数量可以是67,当块的尺寸是16×16时,帧内预测模式的数量可以是35,当块的尺寸是32×32时,帧内预测模式的数量可以是19,当块的尺寸是64×64时,帧内预测模式的数量可以是7。

帧内预测模式的数量可被固定为N,而不管块的尺寸如何。例如,帧内预测模式的数量可被固定为35或67中的至少一个,而不管块的尺寸如何。

帧内预测模式的数量可依据颜色分量的类型而变化。例如,预测模式的数量可依据颜色分量是亮度信号还是色度信号而变化。

可通过使用重建邻近块中所包括的样点值或编码参数来执行帧内编码和/或解码。

为了按照帧内预测对当前块进行编码/解码,可识别包括在重建邻近块中的样点是否可用作编码/解码目标块的参考样点。当存在不能用作编码/解码目标块的参考样点的样点时,通过使用包括在重建邻近块中的样点中的至少一个样点,样点值被复制和/或插值到不能用作参考样点的样点,由此,不能用作参考样点的样点可被用作编码/解码目标块的参考样点。

在帧内预测中,基于帧内预测模式以及编码/解码目标块的尺寸中的至少一个,滤波器可被应用于参考样点或预测样点中的至少一个。这里,编码/解码目标块可意为当前块,并且可意为编码块、预测块和变换块中的至少一个。被应用于参考样点或预测样点的滤波器的类型可依据帧内预测模式或当前块的尺寸/形状中的至少一个而变化。滤波器的类型可依据滤波器抽头的数量、滤波器系数值或滤波器强度中的至少一个而变化。

在帧内预测模式之中的非方向平面模式中,当产生编码/解码目标块的预测块时,可根据样点位置通过使用当前样点的上参考样点、当前样点的左参考样点、当前块的右上参考样点、以及当前块的左下参考样点的加权和来产生预测块中的样点值。

在帧内预测模式之中的非方向DC模式中,当产生编码/解码目标块的预测块时,可通过当前块的上参考样点和当前块的左参考样点的均值来产生预测块。此外,可通过使用参考样点值对编码/解码块中与参考样点相邻的一个或更多个上方行以及一个或更多个左侧列执行滤波。

在帧内预测模式之中的多个方向模式(角度模式)的情况下,可通过使用右上参考样点和/或左下参考样点来产生预测块,并且所述多个方向模式可具有不同的方向。为了产生预测样点值,可执行实数单位的插值。

为了执行帧内预测方法,可从与当前预测块相邻的邻近预测块的帧内预测模式预测当前预测块的帧内预测模式。在通过使用从邻近帧内预测模式预测出的模式信息来预测当前预测块的帧内预测模式的情况下,在当前预测块和邻近预测块具有相同的帧内预测模式时,当前预测块和邻近预测块具有相同的帧内预测模式的信息可通过使用预定标志信息被发送。在当前预测块的帧内预测模式不同于邻近预测块的帧内预测模式时,可通过执行熵编码来对编码/解码目标块的帧内预测模式信息进行编码。

解释帧间预测的处理的实施例。

四边形可指示图像(或画面)。此外,箭头可指示预测方向。也就是说,图像可根据预测方向被编码或解码、或者被编码和解码。根据编码类型,每个图像可被分类为I画面(帧内画面)、P画面(单向预测画面)、B画面(双向预测画面)等。每个画面可依据每个画面的编码类型而被编码和解码。

当作为编码目标的图像是I画面时,图像本身可在无需帧间预测的情况下被帧内编码。当作为编码目标的图像是P画面时,可通过使用仅在前向上的参考画面进行帧间预测或运动补偿来对图像进行编码。当作为编码目标的图像是B画面时,可通过使用在前向和逆向两者上的参考画面进行帧间预测或运动补偿来对图像进行编码。可选择地,可通过使用在前向和逆向之一上的参考画面进行帧间预测或运动补偿来对图像进行编码。这里,当帧间预测模式被使用时,编码器可执行帧间预测或运动补偿,并且解码器可响应于编码器执行运动补偿。通过使用参考画面被编码或解码或者被编码和解码的P画面和B画面的图像可被视为用于帧间预测的图像。

在下文中,将详细描述根据实施例的帧间预测。

可通过使用参考画面和运动信息两者来执行帧间预测或运动补偿。此外,帧间预测可使用上述跳过模式。

参考画面可以是当前画面的先前画面和后续画面中的至少一个。这里,帧间预测可依据参考画面来预测当前画面的块。这里,参考画面可意为在对块进行预测时使用的图像。这里,参考画面内的区域可通过使用指示参考画面的参考画面索引(refIdx)、运动矢量等来指明。

帧间预测可选择参考画面和参考画面内与当前块相关的参考块。可通过使用选择的参考块来产生当前块的预测块。当前块可以是当前画面的块之中的作为当前编码目标或当前解码目标的块。

可由编码设备100和解码设备200从帧间预测的处理推导运动信息。此外,推导出的运动信息可在执行帧间预测时被使用。这里,编码设备100和解码设备200可通过使用重建邻近块的运动信息或同位块(col块)的运动信息或以上两者来提高编码效率或解码效率或两者。col块可以是先前被重建的同位画面(col画面)内的与编码/解码目标块的空间位置相关的块。重建邻近块可以是当前画面内的块、以及通过编码或解码或者编码和解码两者先前被重建的块。此外,重建块可以是与编码/解码目标块相邻的块,或者是位于编码/解码目标块的外部拐角处的块,或者是以上两者。这里,位于编码/解码目标块的外部拐角处的块可以是与水平相邻于编码/解码目标块的邻近块垂直相邻的块。可选择地,位于编码/解码目标块的外部拐角处的块可以是与垂直相邻于编码/解码目标块的邻近块水平相邻的块。

编码设备100和解码设备200可分别确定存在于col画面内的与编码/解码目标块空间相关的位置处的块,并可基于确定的块来确定预定义的相对位置。所述预定义的相对位置可以是存在于与编码/解码目标块空间相关的位置处的块的内部位置或外部位置或者内部位置和外部位置两者。此外,编码设备100和解码设备200可基于所确定的所述预定义的相对位置来分别推导出col块。这里,col画面可以是在参考画面列表中包括的至少一个参考画面中的一个画面。

推导运动信息的方法可根据编码/解码目标块的预测模式而变化。例如,应用于帧间预测的预测模式可包括高级运动矢量预测(AMVP)、合并模式等。这里,合并模式可被称为运动合并模式。

例如,当AMVP作为预测模式被应用时,编码设备100和解码设备200可通过使用重建邻近块的运动矢量或col块的运动矢量或者以上两者来分别产生运动矢量候选列表。重建邻近块的运动矢量或col块的运动矢量或者以上两者可被用作运动矢量候选。这里,col块的运动矢量可被称为时间运动矢量候选,重建邻近块的运动矢量可被称为空间运动矢量候选。

编码设备100可产生比特流,比特流可包括运动矢量候选索引。也就是说,编码设备100可通过对运动矢量候选索引进行熵编码来产生比特流。运动矢量候选索引可指示从包括在运动矢量候选列表中的运动矢量候选中选择出的最优运动矢量候选。运动矢量候选索引可通过比特流从编码设备100被发送到解码设备200。

解码设备200可从比特流对运动矢量候选索引进行熵解码,并可通过使用经过熵解码的运动矢量候选索引在运动矢量候选列表中所包括的运动矢量候选之中选择解码目标块的运动矢量候选。

编码设备100可计算解码目标块的运动矢量和运动矢量候选之间的运动矢量差(MVD),并可对MVD进行熵编码。比特流可包括经过熵编码的MVD。MVD可通过比特流从编码设备100被发送到解码设备200。这里,解码设备200可对从比特流接收到的MVD进行熵解码。解码设备200可通过解码的MVD与运动矢量候选之和来推导出解码目标块的运动矢量。

比特流可包括指示参考画面的参考画面索引等,并且参考画面索引可被熵编码并通过比特流从编码设备100被发送到解码设备200。解码设备200可通过使用邻近块的运动信息来预测解码目标块的运动矢量,并可通过使用预测出的运动矢量以及运动矢量差来推导解码目标块的运动矢量。解码设备200可基于推导出的运动矢量和参考画面索引信息来产生解码目标块的预测块。

作为推导运动信息的另一方法,合并模式被使用。合并模式可意为多个块的运动的合并。合并模式可意为一个块的运动信息被应用于另一个块。当合并模式被应用时,编码设备100和解码设备200可通过使用重建邻近块的运动信息或col块的运动信息或者以上两者来分别产生合并候选列表。运动信息可包括以下项中的至少一个:1)运动矢量、2)参考画面索引、以及3)帧间预测指示符。预测指示符可指示单向(L0预测、L1预测)或双向。

这里,合并模式可被应用于每个CU或每个PU。当合并模式在每个CU或每个PU被执行时,编码设备100可通过对预定义的信息进行熵解码来产生比特流,并可将比特流发送到解码设备200。比特流可包括所述预定义的信息。所述预定义的信息可包括:1)作为指示合并模式是否针对每个块分区被执行的信息的合并标志、2)作为指示与编码目标块相邻的邻近块之中的哪个块被合并的信息的合并索引。例如,与编码目标块相邻的邻近块可包括编码目标块的左邻近块、编码目标块的上邻近块、编码目标块的时间邻近块等。

合并候选列表可指示存储运动信息的列表。此外,合并候选列表可在执行合并模式之前被产生。存储在合并候选列表中的运动信息可以是以下项中的至少一个:与编码/解码目标块相邻的邻近块的运动信息、参考画面中与编码/解码目标块相关的同位块的运动信息、通过对预先存在于合并运动候选列表中的运动信息的组合而新产生的运动信息、以及零合并候选。这里,与编码/解码目标块相邻的邻近块的运动信息可被称为空间合并候选。参考画面中与编码/解码目标块相关的同位块的运动信息可被称为时间合并候选。

跳过模式可以是将邻近块本身的模式信息应用于编码/解码目标块的模式。跳过模式可以是用于帧间预测的模式之一。当跳过模式被使用时,编码设备100可对关于哪个块的运动信息被用作编码目标块的运动信息的信息进行熵编码,并可通过比特流将该信息发送到解码设备200。编码设备100可不将其它信息(例如,语法元素信息)发送到解码设备200。语法元素信息可包括运动矢量差信息、编码块标志以及变换系数等级中的至少一个。

基于上述描述,将详细描述根据本发明的对视图进行编码/解码的方法。

图7是示出根据本发明的通过使用合并模式对视频进行编码的方法的流程图。图8是示出根据本发明的通过使用合并模式对视频进行解码的方法的流程图。

参照图7,在步骤S701,编码设备可推导合并候选,并可基于推导的合并候选产生合并候选列表。当合并候选列表被产生时,在步骤S702,通过使用产生的合并候选列表确定运动信息,并在步骤S703,可通过使用确定的运动信息执行当前块的运动补偿。接下来,在步骤S704,编码设备可对关于运动补偿的信息进行熵编码。

参照图8,在步骤S801,解码设备可对从编码设备接收的关于运动补偿的信息进行熵解码,并在步骤S802,解码设备可推导合并候选,并可基于推导出的合并候选产生合并候选列表。当合并候选列表被产生时,在步骤S803,可通过使用产生的合并候选列表确定当前块的运动信息。接下来,在步骤S804,解码设备可通过使用运动信息执行运动补偿。

下面,将详细描述在图7和图8中示出的步骤。

首先,将详细描述在步骤S701和S802的合并候选的推导。

用于当前块的合并候选可包括空间合并候选、时间合并候选和附加合并候选中的至少一个。

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

在这种情况下,空间合并候选的运动信息可包括与L0和L1相应的运动信息以及与L0、L1、…、LX相应的运动信息。这里,X可以是包括0的正整数。因此,参考画面列表可包括L0、L1、…、LX中的至少一个。

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

参照图9,可从与当前块X相邻的邻近块推导当前块的空间合并候选。与当前块相邻的邻近块可包括与当前块的顶部相邻的块(B1)、与当前块的左侧相邻的块(A1)、与当前块的右上角相邻的块(B0)、与当前块的左上角相邻的块(B2)和与当前块的左下角相邻的块(A0)中的至少一个。

为了推导当前块的空间合并候选,可确定与当前块相邻的邻近块是否可被用于推导当前块的空间合并候选。这里,可根据预定优先级确定与当前块相邻的邻近块是否可被用于推导当前块的空间合并候选。例如,在图14中示出的示例中,可按照在A1、B1、B0、A0和B2位置的块的顺序来确定推导空间合并候选的可用性。可按顺序将基于用于确定可用性的顺序而确定的空间合并候选添加到当前块的合并候选列表中。

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

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

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

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

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

参考图9,在当前画面的同位画面中,可从包括与在空间上和当前块X相同的位置相应的块的外部位置的块或者从包括与在空间上和当前块X相同的位置相应的块的内部位置的块,推导当前块的时间合并候选。这里,时间合并候选可表示同位块的运动信息。例如,可从与块C(与在空间上和当前块相同的位置相应)的左下角相邻的块H或从包括块C的中心点的块C3,推导当前块X的时间合并候选。用于推导当前块的时间合并候选的块H或块C3可被称为“同位块”。

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

当当前块的时间合并候选可从包括块C的外部位置的块H被推导时,可将块H设置为当前块的同位块。在这种情况下,可基于块H的运动信息推导当前块的时间合并候选。相反,当当前块的时间合并候选不能从块H被推导时,可将包括块C的内部位置的块C3设置为当前块的同位块。在这种情况下,可基于块C3的运动信息来推导当前块的时间合并候选。当当前块的时间合并候选不能从块H和块C3被推导时(例如,当块H和块C3均被帧内编码时),当前块的时间合并候选可不被推导,或者可从在与块H和块C3不同的位置处的块被推导。

作为另一示例,可从同位画面中的多个块推导当前块的时间合并候选。例如,可从块H和块C3推导当前块的多个时间合并候选。

作为另一示例,可从在针对当前块(X)根据随机运动信息移动的位置处的同位块推导时间合并候选。这里,可从编码/解码的邻近块的运动信息推导所述随机运动信息。

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

图10是示出将时间合并候选添加到合并候选列表的示例的示图。

参照图10,当一个时间合并候选从在H1位置处的同位块被推导时,编码器/解码器可将推导的时间合并候选添加到合并候选列表。

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

例如,当至少一个时间合并候选通过被分区为子块而被推导时,编码器/解码器可从在尺寸、形状或深度上比同位块小的子块推导时间合并候选,其中,该同位块与图9中所示的块H或块C3的位置相应。

作为另一示例,编码器/解码器可从同位块的每个子块的运动信息推导至少一个时间合并候选,其中,该同位块处于针对当前块(X)根据随机运动信息移动的位置。

这里,编码器/解码器可通过确定同位块的子块的运动信息是否存在或同位块的子块的运动信息是否被用作当前块的时间合并候选来确定当前块的时间合并候选。

另外,编码器/解码器可将同位块的子块的至少一条运动信息(即,运动矢量)的中值、平均值、最小值、最大值、加权平均值或模式中的一个确定为当前块的时间合并候选。

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

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

例如,当可被当前块使用的参考画面列表是L0时(即,当帧间预测指示符指示PRED_L0时),可将同位块中的与L0相应的运动信息推导为当前块的时间合并候选。也就是说,当可被当前块使用的参考画面列表是LX时(这里,X是指示参考画面列表的索引的诸如0、1、2或3的整数),可将同位块的与LX相应的运动信息(以下,称为“LX运动信息”)推导为当前块的时间合并候选。

当当前块使用多个参考画面列表时,可通过考虑当前块和同位块的参考画面列表来确定当前块的时间合并候选。

例如,当对当前块执行双向预测(即,帧间预测指示符是PRED_BI)时,可将从由同位块的L0运动信息、L1运动信息、L2运动信息、…、和LX运动信息构成的组中选择的至少两条信息推导为时间合并候选。当对当前块执行三向预测(即,帧间预测指示符是PRED_TRI)时,可将从由同位块的L0运动信息、L1运动信息、L2运动信息、…、和LX运动信息构成的组中选择的至少三条信息推导为时间合并候选。当对当前块执行四向预测(即,帧间预测指示符是PRED_QUAD)时,可将从由同位块的L0运动信息、L1运动信息、L2运动信息、…、和LX运动信息构成的组中选择的至少四条信息推导为时间合并候选。

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

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

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

同时,在合并候选的最大数量maxNumMergeCand内,可包括至少一个时间合并候选。在这种情况下,为了包括至少一个时间合并候选,排除推导的空间合并候选中的至少一个或者合并推导的空间合并候选,从而可减小空间合并候选的数量。这里,通过使用具有相同帧间预测指示符和/或参考画面的空间合并候选之间的运动信息的平均值、最大值、最小值、中值、加权平均值和模式中的一个来合并空间合并候选。

另外,编码器/解码器可改变合并候选的最大数量以包括至少一个时间合并候选。

作为另一示例,可基于时间合并候选的最大数量来推导当前块的时间合并候选。这里,时间合并候选的最大数量针对编码设备和解码设备被预设为使用相同值。可选择地,指示当前块的时间合并候选的最大数量的信息可通过比特流被编码,并可被用信号发送到解码设备。例如,编码设备可对指示当前块的时间合并候选的最大数量的maxNumTemporalMergeCand进行编码,并且可通过比特流将maxNumTemporalMergeCand用信号发送到解码设备。这里,可将maxNumTemporalMergeCand设置为包括0的正整数。例如,可将maxNumTemporalMergeCand设置为1。可基于关于被用信号发送的时间合并候选的数量的信息不同地推导maxNumTemporalMergeCand的值,并且maxNumTemporalMergeCand的值可以是在编码器/解码器中预设的固定值。

同时,编码器/解码器执行关于推导的合并候选和添加到合并候选列表的合并候选是否具有不同运动信息的冗余检查,并可将推导的具有不同运动信息的合并候选添加到合并候选列表。

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

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

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

基于关于运动补偿的信息被熵编码/解码的块的尺寸(以下,称为“第一块尺寸”)或深度(以下,称为“第一块深度”),可在比第一块尺寸小或比第一块深度深的块中共享时间合并候选。这里,关于运动补偿的信息可以是关于跳过模式是否被使用的信息、关于合并模式是否被使用的信息和合并索引信息中的至少一个。

关于运动补偿的信息被熵编码/解码的块可以是CTU或CTU的子单元、CU或者PU。

具体地,当当前块的尺寸小于第一块尺寸时,编码器/解码器可从具有第一块尺寸的更高层块的同位块推导当前块的时间合并候选。另外,包括在更高层块中的块可共享推导的时间合并候选。

另外,当当前块的深度比第一块深度深时,编码器/解码器可从具有第一块深度的更高层块的同位块推导时间合并候选。另外,包括在更高层块中的块可共享推导的时间合并候选。

这里,时间合并候选的共享可表示可基于相同时间合并候选来产生共享块的各个合并候选列表。

另外,时间合并候选的共享可表示共享块可通过使用一个合并候选列表来执行运动补偿。这里,共享的合并候选列表可包括基于关于运动补偿的信息被熵编码/解码的更高层块推导的时间合并候选。

图11是示出对同位块的运动信息的运动矢量进行缩放以推导当前块的时间合并候选的示例的示图。

可基于指示同位画面的显示顺序的POC(画面顺序计数)与同位块的参考画面的POC之间的差值(td)以及当前画面的POC与当前块的参考画面的POC之间的差值(tb)中的至少一个对同位块的运动矢量进行缩放。

在执行缩放之前,可对td或tb进行调整使得td或tb存在于预定范围内。例如,当预定范围指示-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的合并候选。

接下来,将详细描述在步骤S702和步骤S803通过使用产生的合并候选列表对当前块的运动信息的确定。

编码器可通过运动估计在合并候选列表中的合并候选中确定在运动补偿中使用的合并候选,并可将指示确定的合并候选的合并候选索引(merge_idx)编码在比特流中。

同时,为了产生预测块,编码器可基于合并候选索引从合并候选列表中选择合并候选以确定当前块的运动信息。这里,可通过基于确定的运动信息执行运动补偿来产生当前块的预测块。

例如,当合并候选索引为3时,由合并候选索引3指示的合并候选列表可被确定为运动信息,并可被用于对编码目标块进行运动补偿。

解码器可对比特流中的合并候选索引进行解码以确定合并候选列表中的由合并候选索引指示的合并候选。可将确定的合并候选确定为当前块的运动信息。可将确定的运动信息用于当前块的运动补偿。这里,运动补偿可表示帧间预测。

例如,当合并候选索引为2时,合并候选列表中由合并候选索引2指示的合并候选可被确定为运动信息,并可被用于对解码目标块进行运动补偿。

另外,通过改变与当前块的运动信息相应的信息的至少一个值,可在当前块的帧间预测或运动补偿中使用运动信息。这里,与运动信息相应的信息的改变值可以是运动矢量的x分量、运动矢量的y分量和参考画面索引中的至少一个。

接下来,将详细描述在步骤S703和S804的通过使用确定的运动信息对当前块的运动补偿的执行。

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

当前块可根据预测方向具有至少一条至至多N条运动信息。可通过使用运动信息来产生至少一个至至多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,2/3)、(-1/3,4/3)、(-1/4,5/4)等。

同时,为了应用可变的加权因子,可通过比特流用信号发送用于当前块的至少一条加权因子信息。可针对每个预测块用信号发送加权因子信息,或者可针对每个参考画面用信号发送加权因子信息。多个预测块可共享一条加权因子信息。

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

以下方程式3至方程式5示出了当每个当前块的帧间预测指示符是PRED_BI(或者当当前块可使用两条运动信息)、PRED_TRI(或者当当前块可使用三条运动信息)和PRED_TRI(或者当当前块可使用四条运动信息)并且针对每个参考画面列表的预测方向是单向时,产生当前块的最终预测块的示例。

【方程式3】

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

【方程式4】

P_TRI=(WF_L0*P_L0+OFFSFT_L0+WF_L1*P_L1+OFFSFT_L1+WF_L2*P_L2+OFFSFT_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)。可将通过使用LX产生的预测块的加权因子值指定为WF_LX。可将通过使用LX产生的预测块的偏移值指定为OFFSET_LX。可将通过使用当前块的LX的运动信息产生的预测块指定为P_LX。可将舍入因子指定为RF,并可将其设置为0、正数或负数。LX参考画面列表可包括长期参考画面、不执行去块滤波的参考画面、不执行样点自适应偏移的参考画面、不执行自适应环路滤波的参考画面、执行去块滤波和自适应偏移的参考画面、执行去块滤波和自适应环路滤波的参考画面、执行样点自适应偏移和自适应环路滤波的参考画面、以及执行去块滤波、样点自适应偏移和自适应环路滤波的参考画面中的至少一个。在这种情况下,LX参考画面列表可以是L0参考画面列表、L1参考画面列表、L2参考画面列表和L3参考画面列表中的至少一个。

当针对预定参考画面列表的预测方向是多个方向时,可基于预测块的加权和来获得当前块的最终预测块。这里,应用于从相同参考画面列表推导的预测块的加权因子可具有相同值,并可具有不同值。

针对多个预测块的加权因子(WF_LX)和偏移(OFFSET_LX)中的至少一个可以是被熵编码/解码的编码参数。

作为另一示例,可从与当前块相邻的编码/解码的邻近块推导加权因子和偏移。这里,当前块的邻近块可包括在推导当前块的空间合并候选的处理中使用的块和在推导当前块的时间合并候选的处理中使用的块中的至少一个。

作为另一示例,可基于当前画面和参考画面的显示顺序(POC)来确定加权因子和偏移。在这种情况下,当当前画面远离参考画面时,可将加权因子或偏移设置为小值。当当前画面靠近参考画面时,可将加权因子或偏移设置为大值。例如,当当前画面与L0参考画面之间的POC差为2时,可将应用于通过参考L0参考画面而被产生的预测块的加权因子值设置为1/3。相反,当当前画面与L0参考画面之间的POC差为1时,可将应用于通过参考L0参考画面而被产生的预测块的加权因子值设置为2/3。如上所述,加权因子或偏移值可反比于当前画面与参考画面之间的显示顺序差。作为另一示例,加权因子或偏移值可正比于当前画面与参考画面之间的显示顺序差。

作为另一示例,基于当前块、邻近块和同位块的编码参数中的至少一个,可对加权因子和偏移中的至少一个进行熵编码/解码。另外,基于当前块、邻近块和同位块的编码参数中的至少一个,可计算预测块的加权和。

可将多个预测块的加权和应用于仅预测块中的部分区域。这里,部分区域可以是与预测块的边界相应的区域。如上所述,为了将加权和应用于仅部分区域,可针对预测块的每个子块应用加权和。

另外,当通过使用合并模式计算预测块的加权和时,加权和可通过使用存在于合并候选列表中的至少一个合并候选而被计算,并可被用作编码/解码目标块的最终预测块。

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

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

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

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

例如,可计算通过使用存在于特定合并候选索引范围内的合并候选产生的预测块的加权和,并且计算的加权和可被用作编码/解码目标块的最终预测块。

接下来,将详细描述在步骤S704和S801的关于运动补偿的信息的熵编码/解码。

编码设备可通过比特流对关于运动补偿的信息进行熵编码,解码设备可对包括在比特流中的关于运动补偿的信息进行熵解码。这里,被熵编码/解码的关于运动补偿的信息可包括关于跳过模式是否被使用的信息(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)具有作为第二值的2时,可指示不使用跳过模式。可基于关于跳过模式是否被使用的信息通过使用跳过模式执行当前块的运动补偿。

当关于合并模式是否被使用的信息(merge_flag)具有作为第一值的1时,可指示使用合并模式。当关于合并模式是否被使用的信息(merge_flag)具有作为第二值的0时,可指示不使用合并模式。可基于关于合并模式是否被使用的信息通过使用合并模式执行当前块的运动补偿。

合并索引信息(merge_index)可表示指示合并候选列表中的合并候选的信息。

另外,合并索引信息可表示关于合并索引的信息。

另外,合并索引信息可指示与当前块空间/时间相邻的重建块中的推导了合并候选的块。

另外,合并索引信息可指示合并候选的至少一条运动信息。例如,当合并索引信息具有作为第一值的0时,可指示合并候选列表中的第一合并候选。当合并索引信息具有作为第二值的1时,可指示合并候选列表中的第二合并候选。当合并索引信息具有作为第三值的2时,可指示合并候选列表中的第三合并候选。按照相同的方式,当合并索引信息具有第四值至第N值时,可指示合并候选列表中的与根据顺序的值相应的合并候选。这里,N可表示包括0的正整数。

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

当当前块按照帧间预测被编码/解码时,帧间预测指示符可表示帧间预测方向和当前块的预测方向的数量中的至少一个。例如,帧间预测指示符可指示单向预测或多向预测(诸如,双向预测、三向预测、四向预测等)。帧间预测指示符可表示当当前块产生预测块时使用的参考画面的数量。可选择地,一个参考画面可用于多向预测。在这种情况下,M个参考画面用于执行N(N>M)向预测。帧间预测指示符可表示在执行运动补偿的处理中使用的预测块的数量或针对当前块的帧间预测。

如上所述,根据帧间预测指示符,可确定在产生当前块的预测块的处理中使用的参考画面的数量、在执行当前块的帧间预测或运动补偿的处理中使用的预测块的数量或者可用与当前块的参考画面列表的数量等。这里,参考画面列表的数量是N,其中,N为正整数,诸如,1、2、3、4或更多。例如,参考画面列表可包括L0、L1、L2、L3等。可通过使用至少一个参考画面列表对当前块执行运动补偿。

例如,当前块可通过使用至少一个参考画面列表来产生至少一个预测块以对当前块执行运动补偿。例如,可通过使用参考画面列表L0来产生一个或更多个预测块以执行运动补偿。可选择地,可通过使用参考画面列表L0和L1来产生一个或更多个预测块以执行运动补偿。可选择地,可通过使用参考画面列表L0、L1和L2来产生一个或更多个预测块或至多N(这里,N是等于或大于2或3的正整数)个预测块以执行运动补偿。可选择地,可通过使用参考画面列表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参考画面列表执行单向预测。

如上所述,帧间预测指示符可表示从至少一个参考画面列表产生至少一个至至多N(这里,N是由帧间预测指示符指示的预测方向的数量)个预测块以执行运动补偿。可选择地,帧间预测指示符可表示从N个参考画面产生至少一个至至多N个预测块,并且通过使用产生的预测块执行针对当前块的运动补偿。

例如,帧间预测指示符PRED_TRI可表示通过使用L0、L1、L2和L3参考画面列表中的至少一个产生三个预测块以执行当前块的帧间预测或运动补偿。可选择地,帧间预测指示符PRED_TRI可表示通过使用从由L0、L1、L2和L3参考画面列表构成的组中选择的至少三个产生三个预测块以执行当前块的帧间预测或运动补偿。另外,帧间预测指示符PRED_QUAD可表示通过使用L0、L1、L2和L3参考画面列表中的至少一个产生四个预测块以执行当前块的帧间预测或运动补偿。可选择地,帧间预测指示符PRED_QUAD可表示通过使用从由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。

可按照CTU和CTU的子单元(子CTU)中的至少一个来对上述关于运动补偿的信息中的至少一条进行熵编码/解码。这里,CTU的子单元可包括CU和PU中的至少一个。CTU的子单元的块可具有正方形形状或非正方形形状。为了方便,关于运动补偿的信息可表示至少一条关于运动补偿的信息。

当关于运动补偿的信息按照CTU被熵编码/解码时,可根据关于运动补偿的信息的值,通过使用关于运动补偿的信息对存在于CTU中的全部块或部分块执行运动补偿。

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

这里,可对关于预定块的尺寸或深度的信息进行熵编码/解码。可选择地,可基于编码参数以及编码器和解码器中的预设值中的至少一个,或可基于其它语法元素值中的至少一个,来确定关于预定块的尺寸或深度的信息。

可仅按照在尺寸上大于或等于预定块的块对关于运动补偿的信息进行熵编码/解码,并可不按照在尺寸上小于预定块的块对关于运动补偿的信息进行熵编码/解码。在这种情况下,可基于按照在尺寸上大于或等于预定块的块被熵编码/解码的关于运动补偿的信息对在尺寸上大于或等于预定块的块中的子块执行运动补偿。也就是说,在尺寸上大于或等于预定块的块中的子块可共享包括运动矢量候选、运动矢量候选列表、合并候选、合并候选列表等的关于运动补偿的信息。

可仅按照在深度上浅于或等于预定块的块对关于运动补偿的信息进行熵编码/解码,并可不按照在深度上深于预定块的块对关于运动补偿的信息进行熵编码/解码。在这种情况下,可基于按照在深度上浅于或等于预定块的块被熵编码/解码的关于运动补偿的信息对在深度上浅于或等于预定块的块中的子块执行运动补偿。也就是说,在深度上浅于或等于预定块的块中的子块可共享包括运动矢量候选、运动矢量候选列表、合并候选、合并候选列表等的关于运动补偿的信息。

例如,当关于运动补偿的信息按照CTU(其块尺寸为64×64)的子单元(其尺寸为32×32)被熵编码/解码时,可基于按照32×32尺寸块而被熵编码/解码的关于运动补偿的信息对包括在32×32尺寸块中的并在尺寸上小于32×32尺寸块的块执行运动补偿。

作为另一示例,当关于运动补偿的信息按照CTU(其块尺寸为128×128)的子单元(其尺寸为16×16)被熵编码/解码时,可基于按照16×16尺寸块而被熵编码/解码的关于运动补偿的信息对包括在16×16尺寸块中的并在尺寸上小于16×16尺寸块的块执行运动补偿。

作为另一示例,当关于运动补偿的信息按照CTU(其块深度为0)的子单元(其块深度为1)被熵编码/解码时,可基于按照1深度块而被熵编码/解码的关于运动补偿的信息对包括在1深度块中的并在深度上深于1深度块的块执行运动补偿。

例如,当至少一条关于运动补偿的信息按照CTU(其块深度为0)的子单元(其块深度为2)被熵编码/解码时,可基于按照2深度块而被熵编码/解码的关于运动补偿的信息对包括在2深度块中的并在深度上深于2深度块的块执行运动补偿。

这里,块深度的值可以是包括0的正整数。当块深度的值大时,可表示深度深。当块深度的值小时,可表示深度浅。因此,当块深度的值大时,块尺寸可以小。当块深度的值小时,块尺寸可以大。另外,预定块的子块在深度上可深于预定块,并且在与预定块相应的块内,预定块的子块在深度上可深于预定块。

关于运动补偿的信息可针对每个块而被熵编码/解码,并可在更高级别被熵编码/解码。例如,关于运动补偿的信息可针对每个块(诸如,CTU、CU或PU等)而被熵编码/解码,或可在更高级别(诸如,视频参数集、序列参数集、画面参数集、自适应参数集或条带头等)被熵编码/解码。

可基于指示关于运动补偿的信息与关于运动补偿的信息预测值之间的差值的关于运动补偿的信息差值,对关于运动补偿的信息进行熵编码/解码。考虑帧间预测指示符(其为一条关于运动补偿的信息)作为示例,可对帧间预测指示符预测值和帧间预测指示符差值进行熵编码/解码。这里,可针对每个块对帧间预测指示符差值进行熵编码/解码,可在更高级别对帧间预测指示符预测值进行熵编码/解码。针对每个画面或条带对关于运动补偿的信息预测值(诸如,帧间预测指示符预测值等)进行熵编码/解码,画面或条带中的块可使用关于运动补偿的通用信息预测值。

可通过图像、条带或并行块内的特定区域或者通过CTU或CU内的特定区域来推导关于运动补偿的信息预测值。例如,可将图像、条带、并行块、CTU或CU中的特定区域的帧间预测指示符用作帧间预测指示符预测值。在这种情况下,可省略关于运动补偿的信息预测值的熵编码/解码,并且可仅对关于运动补偿的信息差值进行熵编码/解码。

可选择地,可从与当前块相邻的编码/解码邻近块推导关于运动补偿的信息预测值。例如,可将与当前块相邻的编码/解码邻近块的帧间预测指示符设置为当前块的帧间预测指示符预测值。这里,当前块的邻近块可包括在推导空间合并候选的操作中使用的块和在推导时间合并候选的操作中使用的块中的至少一个。另外,邻近块可具有与当前块的深度相同的深度或比当前块的深度更小的深度。当存在多个邻近块时,可根据预定优先级选择性地使用一个邻近块。用于预测关于运动补偿的信息的邻近块可具有基于当前块的固定位置,并可具有根据当前块的位置的可变位置。这里,当前块的位置可以是基于包括当前块的画面或条带的位置,或者可以是基于包括当前块的CTU、CU或PU的位置的位置。

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

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

可基于当前块、邻近块和同位块的编码参数对关于运动补偿的信息或关于运动补偿的信息差值进行熵编码/解码。

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

取代于对当前块的关于运动补偿的信息进行熵编码/解码,可将与当前块相邻的编码/解码块的关于运动补偿的信息用作当前块的关于运动补偿的信息。例如,可将当前块的帧间预测指示符设置为和与当前块相邻的编码/解码的邻近块的帧间预测指示符相同的值。

另外,至少一条关于运动补偿的信息可具有在编码器和解码器中预设的固定值。可将预设的固定值确定为至少一条关于运动补偿的信息的值。特定块内的在尺寸上小于特定块的块可共享具有预设固定值的至少一条关于运动补偿的信息。按照相同的方式,在深度上深于特定块并且是特定块的子块的块可共享具有预设固定值的至少一条关于运动补偿的信息。这里,固定值可以是包括0的正整数,或可以是包括(0,0)的正矢量值。

这里,共享至少一条关于运动补偿的信息可表示块针对至少一条关于运动补偿的信息具有相同值,或者通过使用相同值的至少一条关于运动补偿的信息对块进行运动补偿。

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

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

重叠块运动补偿信息可以是指示在当前块的运动补偿期间是否通过使用与当前块空间相邻的邻近块的运动矢量来计算当前块的预测块的加权和的信息。

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

仿射运动补偿信息可以是指示是否在当前块的运动补偿期间使用仿射运动模型的信息。这里,仿射运动模型可以是用于通过使用多个参数将一个块分区为几个子块并通过使用代表运动矢量来计算分区的子块的运动矢量的模型。

解码器端运动矢量推导信息可以是指示运动补偿所需的运动矢量是否通过由解码器推导而被使用的信息。可基于解码器端运动矢量推导信息不对关于运动矢量的信息进行熵编码/解码。另外,当解码器端运动矢量推导信息指示解码器推导并使用运动矢量时,可对关于合并模式的信息进行熵编码/解码。也就是说,解码器端运动矢量推导信息可指示合并模式是否在解码器中被使用。

双向光流信息可以是指示是否通过对针对每个像素或子块的运动矢量进行校正来执行运动补偿。基于双向光流信息,可不对针对每个像素或子块的运动矢量进行熵编码/解码。这里,运动矢量校正可以将运动矢量值从针对每个块的运动矢量修改为针对每个像素或子块的运动矢量。

通过使用至少一条关于运动补偿的信息来对当前块执行运动补偿,并且可对至少一条关于运动补偿的信息进行熵编码/解码。

当对关于运动补偿的信息进行熵编码/解码时,可使用二值化方法,诸如,截断莱斯二值化方法、K阶指数哥伦布二值化方法、有限K阶指数哥伦布二值化方法、固定长度二值化方法、一元二值化方法或截断一元二值化方法等。

当对关于运动补偿的信息进行熵编码/解码时,可通过使用与当前块相邻的邻近块的关于运动补偿的信息或邻近块的区域信息、关于先前编码/解码的运动补偿的信息或先前编码/解码的区域信息、关于当前块的深度的信息以及关于当前块的尺寸的信息中的至少一条信息来确定上下文模型。

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

已经参照图7至图11描述了通过使用合并模式来对视频进行编码/解码的方法。以下,将参照图12至图15详细描述推导时间合并候选的方法。

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

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

另外,可由编码器/解码器通过使用根据编码/解码顺序的层、编码/解码的时间候选块/空间候选块的运动信息、针对更高级别的画面(诸如,序列、画面、条带、并行块等)的帧间预测指示符和参考画面索引信息中的至少一个来推导关于同位画面的信息。

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

同位块的位置可与当前块在同位画面中的位置相同。另外,同位块的位置可以是通过使用编码/解码的时间/空间候选块的运动矢量中的至少一个,针对当前块的位置移动的位置。

例如,假设将包括当前块的画面(或条带)级别的同位画面设置为L1方向的第一参考画面,根据随机顺序扫描空间候选块以寻找L1方向的运动信息。当存在L1方向的运动信息时,使用运动信息以推导当前块的同位块。这里,空间候选块可以是图9中的当前块的用于推导空间合并候选的邻近块。

作为另一示例,假设将包括当前块的画面(或条带)级别的同位画面设置为L1方向的第一参考画面,根据随机顺序扫描空间候选块以寻找L1方向的运动信息。当不存在L1方向的运动信息时,可扫描L0方向的运动信息。这里,当存在L1方向的运动信息时,可通过使用运动信息来推导当前块的同位块。

在推导当前块的时间合并候选的操作中,如图11所示,可根据当前块的随机参考画面对每个参考画面列表的从同位块开始的运动矢量进行缩放。

另外,将从同位块获得的运动矢量进行缩放以与所有参考画面中的可在当前块中参考的至少一个参考画面相应,从而推导多个缩放的运动矢量。与各个参考画面相应的缩放的运动矢量可被用于产生多个预测块。这里,可通过使用产生的多个预测块的加权和来产生当前块的最终预测块。

同时,通过使用上述方法,可推导当前块的子块的时间合并候选,并且可产生当前块的子块的最终预测块。

针对每个参考画面列表,包括当前块(或当前块的子块)的画面与当前块(或当前块的子块)的参考画面之间的距离(POC的差值)不同于同位画面与同位块(或同位块的子块)的参考画面之间的距离(POC的差值),可对从同位块(或同位块的子块)推导的运动矢量进行缩放以推导时间合并候选。

另外,针对每个参考画面列表,当当前块(或当前块的子块)的参考画面不同于同位块(或同位块的子块)的参考画面时,可对从同位块(或同位块的子块)推导的运动矢量进行缩放以推导时间合并候选。

另外,针对每个参考画面列表,当包括当前块(或当前块的子块)的画面(当前画面)与当前块(或当前块的子块)的参考画面之间的距离(POC的差值)不同于同位画面与同位块(或同位块的子块)的参考画面之间的距离(POC的差值)时,并且针对每个参考画面列表,当当前块(或当前块的子块)的参考画面不同于同位块(或同位块的子块)的参考画面时,可对从同位块(或同位块的子块)推导的运动矢量进行缩放以推导时间合并候选。这里,参考画面列表根据帧间预测指示符可以是至少一个参考画面列表,诸如,L0、L1、…、LX等(X是正整数)。

这里,在对从同位块(或同位块的子块)推导的运动矢量进行缩放的操作中,可针对每个参考画面列表确定当前块(或当前块的子块)的参考画面,并且可根据确定的参考画面对运动矢量进行缩放。

这里,为了确定在使用时间合并候选执行运动补偿的操作中使用的参考画面(以下称为“时间合并候选的参考画面”)或用于对运动矢量进行缩放所需的参考画面,存在以下方法:1)选择参考画面列表的第N参考画面的方法,2)选择从编码/解码的空间/时间候选块最经常选择作为参考画面的参考画面的方法,3)选择当前块的空间/时间合并候选中的RD代价函数最小化的合并候选的参考画面的方法,4)在执行当前块的运动预测之后选择RD代价函数最小化的参考画面的方法。

1)选择参考画面列表的第N参考画面的方法

可将当前画面的参考画面列表的第N参考画面确定为当前块的时间合并候选的参考画面或对运动矢量进行缩放所需的参考画面。

在这种情况下,N是大于0的正整数,并可从编码器被用信号发送到解码器,或可以是在编码器/解码器中预设的固定值。另外,N可以从时间/空间邻近块的N被推导。N的最大值可表示包括在参考画面列表中的参考画面的最大数量。

例如,当N=1时,基于从当前块、当前块的子块和编码/解码的空间/时间块中的至少一个获得的编码参数,可根据当前块的参考画面列表的第一参考画面来对从同位块(或同位块的子块)推导的运动信息进行缩放。这里,编码参数可包括运动矢量、参考画面索引、帧间预测指示符和画面序列计数中的至少一个。

2)选择从编码/解码的空间/时间候选块最经常选择作为参考画面的参考画面的方法

可将从编码/解码的空间/时间候选块最经常选择作为参考画面的参考画面确定为当前块的时间合并候选的参考画面或确定为对运动矢量进行缩放所需的参考画面。

例如,基于从当前块、当前块的子块和编码/解码的空间/时间块中的至少一个获得的编码参数,可根据从编码/解码的空间/时间候选块最经常选择作为参考画面的参考画面来对从同位块(或同位块的子块)推导的运动信息进行缩放。

3)选择当前块的空间/时间合并候选中的RD代价函数最小化的合并候选的参考画面的方法

可将当前块的空间/时间合并候选中的RD代价函数最小化的合并候选的参考画面确定为当前块的时间合并候选的参考画面或对运动矢量进行缩放所需的参考画面。

在这种情况下,当前块的空间/时间合并候选中的RD代价函数最小化的合并候选的索引信息可从编码器被用信号发送到解码器,或可以是在编码器/解码器中预设的固定值。另外,索引信息可以从时间/空间邻近块的索引信息被推导。

例如,基于从当前块、当前块的子块和编码/解码的空间/时间块中的至少一个获得的编码参数,可根据当前块的空间/时间合并候选中的RD代价函数最小化的合并候选的参考画面来对从同位块(或同位块的子块)推导的运动信息进行缩放。

4)选择在执行当前块的运动预测之后RD代价函数最小化的参考画面的方法

可将在执行当前块的运动预测之后RD代价函数最小化的参考画面确定为当前块的时间合并候选的参考画面或对运动矢量进行缩放所需的参考画面。

在这种情况下,在执行当前块的运动预测之后RD代价函数最小化的参考画面的索引信息可从编码器被用信号发送到解码器,或可以是在编码器/解码器中预设的固定值。另外,索引信息可以从时间/空间邻近块的索引信息被推导。

例如,基于从当前块、当前块的子块和编码/解码的空间/时间块中的至少一个获得的编码参数,可根据在执行当前块的运动预测之后RD代价函数最小化的参考画面来对从同位块(或同位块的子块)推导的运动信息进行缩放。

当包括当前块(或当前块的子块)的画面(当前画面)与当前块(或当前块的子块)的参考画面之间的距离(POC的差值)不同于同位画面与同位块(或同位块的子块)的参考画面之间的距离(POC的差值),但是针对每个参考画面列表,当前块(或当前块的子块)的至少一个参考画面与同位块(或同位块的子块)的至少一个参考画面相同时,可自适应地选择当前块的时间合并候选的参考画面。这里,根据选择的参考画面,从同位块(或当前块的子块)推导的运动矢量可被缩放并用作时间合并候选。

图12和图13是示出根据本发明的自适应地选择时间合并候选的参考画面的方法和通过使用时间合并候选来产生预测块的方法的示例的示图。

在图12和图13中,假设在GOP(画面组)大小为16的随机访问编码/解码环境(随机访问配置),随机正方形框可指示一个画面,框中的数字可指示画面的画面顺序计数(POC)。当各个画面的帧间预测指示符是L0和L1时,可根据各个帧间预测指示符构造参考画面。在图12和图13的编码/解码环境中,可根据基于POC的0、16、8、4、2、1、3、6、5、7、12、10、9、11、14、13、15、32、24、20、18、17、19、22、21、23、28、26、25、27、30、29和31来执行编码/解码。

在图12中,当正被编码/解码的当前画面/条带的POC为20时,在POC 20中,将POC16和POC 8的参考画面构造为L0方向,并将POC 24和POC 32的参考画面构造为L1方向。在这种情况下,可指示为“L0:16,8”和“L1:24,32”。这里,POC 16可指示L0参考画面列表中的第一参考画面,POC 8可指示L0参考画面列表中的第二参考画面,POC 24可指示L1参考画面列表中的第一参考画面,POC 32可指示L1参考画面列表中的第二参考画面。

在图13中,当正被编码/解码的当前画面/条带的POC为22时,在POC 22中,可将POC20和POC 16的参考画面构造为L0方向,并可将POC 24和POC 32的参考画面构造为L1方向。在这种情况下,可指示为“L0:20,16”和“L1:24,32”。这里,POC 20可指示L0参考画面列表中的第一参考画面,POC 16可指示L0参考画面列表中的第二参考画面,POC 24可指示L1参考画面列表中的第一参考画面,POC 32可指示L1参考画面列表中的第二参考画面。

当包括当前块的画面(当前画面)的LX参考画面列表与包括同位块的同位画面的LX参考画面列表相同时,可将当前块的时间合并候选的LX方向的参考画面选择为以下之一:1)由从同位块推导的LX方向的运动矢量使用的参考画面,2)由从同位块推导的LX方向的运动矢量不使用的参考画面。这里,X是包括0的整数,LX可被表示为L0、L1、L2等。

如图12所示,假设当前画面是POC 20并且同位画面是POC 24,当当前画面POC 20和同位画面POC 24具有相同的L0方向的参考画面列表(L0:16,8)时,可将当前块的时间合并候选的L0方向的参考画面选择为以下之一:1)由从同位块推导的L0方向的运动矢量使用的参考画面,2)由从同位块推导的L0方向的运动矢量不使用的参考画面。

例如,在图12中,当从同位块推导的L0方向的运动矢量使用POC 16作为同位块的L0参考画面时,可将POC 16用作当前块的时间合并候选的L0参考画面,并可根据POC 16的画面对相应的L0运动矢量进行缩放。

作为另一示例,在图12中,当从同位块推导的L0方向的运动矢量使用POC 16作为同位块的L0参考画面时,可将POC 8用作当前块的时间合并候选的L0参考画面,并可根据POC 8的画面对相应的L0运动矢量进行缩放。

如图13所示,假设当前画面是POC 22并且同位画面是POC 20,当当前画面POC 22和同位画面POC 20具有相同的L1方向的参考画面列表(L1:24,32)时,可将当前块的时间合并候选的L1方向的参考画面选择为以下之一:1)由从同位块推导的L1方向的运动矢量使用的参考画面,2)由从同位块推导的L1方向的运动矢量不使用的参考画面。

例如,在图13中,当从同位块推导的L1方向的运动矢量使用POC 24作为同位块的L1参考画面时,可将POC 24用作当前块的时间合并候选的L1参考画面,并可根据POC 24的画面对相应的L0运动矢量进行缩放。

作为另一示例,在图13中,当从同位块推导的L1方向的运动矢量使用POC 24作为同位块的L1参考画面时,可将POC 32用作当前块的时间合并候选的L1参考画面,并可根据POC 32的画面对相应的L1运动矢量进行缩放。

相反,当包括当前块的画面(当前画面)的LX参考画面列表与包括同位块的同位画面的LX参考画面列表不同并且仅一些参考画面相同时,可将当前块的时间合并候选的LX方向的参考画面选择为相同参考画面中的由从同位块推导的LX方向的运动矢量使用的参考画面。

这里,当由从同位块推导的LX方向的运动矢量使用的参考画面不包括在当前画面的LX参考画面列表中时,可从当前块的LX参考画面将当前块的时间合并候选的LX方向的参考画面选择为与当前画面最接近的参考画面。

在图12的环境中,当从同位块推导的L1方向的运动矢量使用POC 32作为同位块的L1参考画面时,可将POC 32用作当前块的时间合并候选的L1参考画面,并且可根据POC 32的画面对相应的L1运动矢量进行缩放。

相反,在图12的环境中,当从同位块推导的L1方向的运动矢量使用POC 16作为同位块的L1参考画面时,可将POC 24用作当前块的时间合并候选的L1参考画面,并且可根据选择的参考画面对相应的L1运动矢量进行缩放。

在图13的环境中,当从同位块推导的L0方向的运动矢量使用POC 16作为同位块的L0参考画面时,可将POC 16用作当前块的时间合并候选的L0参考画面,并且可根据POC 16的画面对相应的L0运动矢量进行缩放。

相反,在图13的环境中,当从同位块推导的L0方向的运动矢量使用POC 8作为同位块的L0参考画面时,可将POC 20用作当前块的时间合并候选的L0参考画面,并且可根据选择的参考画面对相应的L0运动矢量进行缩放。

同时,在通过使用时间合并候选产生LX方向的帧间预测块的操作中,基于当前块的LX参考画面列表的参考画面对从同位块推导的LX运动矢量进行缩放,并且可通过使用至少一个缩放的LX运动矢量来产生帧间预测块。这里,可将基于当前块的LX参考画面列表的参考画面的至少一个缩放的LX运动矢量推导为与当前块的LX参考画面列表的LX参考画面的数量一样多。

因此,当存在当前块的LX参考画面列表的多个LX参考画面时,可推导多个缩放的LX运动矢量。

如上所述,当多个缩放的LX运动矢量被推导时,可通过使用多个缩放的LX运动矢量之间的中值、平均值、最小值、最大值、加权平均值和模式中的一个来推导一个时间合并候选的LX运动矢量。

可选择地,当多个缩放的LX运动矢量被推导时,可通过使用与不同LX参考画面相应的多个缩放的LX运动矢量来产生多个预测块,并可通过使用产生的多个预测块之间的中值、平均值、最小值、最大值、加权平均值和模式中的一个来推导一个当前块的预测块。这里,可与当前画面和参考画面之间的POC差值成比例地计算加权平均值。

例如,在图12的环境中,当从同位块推导的L0方向的运动矢量使用POC 16作为同位块的L0参考画面时,可基于当前块的L0参考画面列表的参考画面(POC 16和POC 18)推导两个缩放的L0运动矢量,并且可基于两个推导的L0运动矢量产生使用时间合并候选的L0方向的帧间预测块。

这里,可通过使用两个推导的L0运动矢量之间的平均值来推导一个时间合并候选的L0运动矢量,并可将一个时间合并候选的L0运动矢量应用于当前块的L0参考画面(POC16和POC 8)之一,从而可产生预测块。这里,可通过使用上述方法(例如,可将时间合并候选的L0参考画面确定为由从同位块推导的L0运动矢量使用的L0参考画面)来确定被应用以产生预测块的当前块的L0参考画面。

可选择地,可通过使用与不同L0参考画面(POC 16和POC 8)相应的两个L0运动矢量来产生两个预测块,并可通过使用两个预测块之间的加权平均值(或加权和)来推导一个当前块的预测块。具体地,在图12中,针对当前画面(POC 20),POC 16的参考画面和POC 8的参考画面分别具有4和12的POC差。因此,针对与POC 16的参考画面相应的预测块和与POC 8的参考画面相应的预测块计算应用3:1的比例的加权和,从而产生预测块。

可按照与图12中产生L0方向的帧间预测块的方法相同的方式执行图13中使用时间合并候选产生L1方向的帧间预测块的方法。

作为另一示例,在图12中,当从同位块推导的L1方向的运动矢量使用POC 32作为同位块的L1参考画面时,可基于当前块的L1参考画面列表的参考画面(POC 24和POC 32)推导两个缩放的L1运动矢量,并且可基于两个推导的L1运动矢量产生使用时间合并候选的L0方向的帧间预测块。

这里,可通过使用两个推导的L1运动矢量之间的平均值来推导一个时间合并候选的L1运动矢量,并可将一个时间合并候选的L1运动矢量应用于当前块的L1参考画面(POC24和POC 32)之一,以产生预测块。这里,可通过使用上述方法来确定被应用以产生预测块的当前块的L1参考画面。

可选择地,可通过使用与不同L1参考画面(POC 24和POC 32)相应的两个L1运动矢量来产生两个预测块,并可通过使用两个预测块之间的加权平均值(或加权和)来推导一个当前块的预测块。具体地,在图12中,针对当前画面(POC 20),POC 24的参考画面和POC 32的参考画面分别具有4和12的POC差。因此,针对与POC 24的参考画面相应的预测块和与POC32的参考画面相应的预测块计算应用3:1的比例的加权和,从而产生预测块。

可按照与图12中产生L1方向的帧间预测块的方法相同的方式执行图13中使用时间合并候选产生L0方向的帧间预测块的方法。

图14和图15是示出在低延迟编码/解码环境(低延迟配置)下自适应地选择时间合并候选的参考画面的方法的示例的示图。在图14中,假设仅L0参考画面列表被使用的单向预测编码/解码环境,在图15中,假设L0参考画面列表和L1参考画面列表被使用的双向预测编码/解码环境。

与上述随机访问编码/解码环境相似,在低延迟编码/解码环境中,当包括当前块的画面(当前画面)的LX参考画面列表不同于包括同位块的同位画面的LX参考画面列表并且仅一些参考画面相同时,在相同参考画面中可将当前块的时间合并候选的LX方向的参考画面选择为由从同位块推导的LX方向的运动矢量使用的参考画面。也就是说,当由从同位块推导的LX方向的运动矢量使用的参考画面包括在当前画面的LX参考画面列表中时,可将参考画面选择为当前块的时间合并候选的参考画面。

相反,当由从同位块推导的LX方向的运动矢量使用的参考画面不包括在当前画面的LX参考画面列表中时,可从当前块的LX参考画面将当前块的时间合并候选的LX方向的参考画面选择为与当前画面最接近的参考画面。

例如,在图14的环境中,当从同位块推导的L0方向的运动矢量使用POC 8作为同位块的L0参考画面时,可将POC 8用作当前块的时间合并候选的L0参考画面,并且可根据POC8的画面对相应的L0运动矢量进行缩放。

相反,在图14的环境中,当从同位块推导的L0方向的运动矢量使用POC 9作为同位块的L0参考画面时,可将POC 11用作当前块的时间合并候选的L0参考画面,并且可根据选择的参考画面对相应的L0运动矢量进行缩放。

可按照与图14中产生L0方向的帧间预测块的方法相同的方式执行图15中使用时间合并候选产生L0和L1方向的帧间预测块的方法。

以下,将描述将当前块分区为子块并推导每个子块的时间合并候选的方法。

可从同位块的子块(称为“同位子块”)的运动信息推导当前块的子块的时间合并候选。这里,同位子块是同位块中在特定位置的子块,可以是在编码器/解码器中预设的固定位置的子块(例如,中心块、拐角处块)。可选择地,可与当前编码/解码目标的子块(称为“当前子块”)的位置不同地确定同位子块。例如,同位子块可以是与当前子块在相同位置的子块,或者可以是相应于与当前子块相邻的位置的子块。同位子块可以是同位块中按照与当前子块相同的尺寸被划分的子块。

同时,当同位子块的运动信息不可用时(例如,当帧内编码时或当同位子块的使用在推导当前子块的运动信息的操作中受限时),可按照以下方法推导当前块的子块的时间合并候选。

1)通过使用编码/解码的当前块的空间候选块的运动信息,可推导当前块的子块的时间合并候选。这里,可根据空间合并候选搜索顺序来选择第一空间候选块,或者可基于预定优先级来选择空间候选块。

可选择地,通过使用当前块的多个空间候选块的运动信息的中值、平均值、最小值、最大值、加权平均值和模式中的一个,可推导当前块的子块的时间合并候选。

2)通过使用同位块的空间候选块的运动信息,可推导当前块的子块的时间合并候选。这里,可根据空间合并候选搜索顺序来选择第一空间候选块,或者可基于预定优先级来选择空间候选块。

可选择地,通过使用同位块的多个空间候选块的运动信息的中值、平均值、最小值、最大值、加权平均值和模式中的一个,可推导当前块的子块的时间合并候选。

3)可通过使用具有预定固定值的运动信息来推导当前子块的时间合并候选。例如,可将针对水平方向和垂直方向具有大小0的零运动矢量用作当前子块的时间合并候选。

4)通过使用另一同位子块(左侧、上部、右侧、下部、对角线、中心)的运动信息,可推导当前子块的时间合并候选。

例如,如图16所示,当当前同位子块的运动信息可用时,可将同位块中的中心位置的子块的运动信息推导为当前子块的时间合并候选。

作为另一示例,如图17所示,当当前同位子块的运动信息不可用时,可通过使用同位块中的当前同位子块的左下块和/或当前同位子块的上部子块的运动信息来推导当前子块的时间合并候选。

图18是示出对每个子块执行运动补偿的示例的示图。

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

将详细描述执行当前块的子块A的运动补偿的处理。

1)获得空间候选块和/或同位块的运动信息

首先,可通过根据预定顺序扫描当前块的子块A的空间合并候选来获得多条运动信息。这里,预定顺序可以是在编码器/解码器中预定义的顺序,或可以是由从编码器被用信号发送到解码器的信息定义的顺序。

例如,可通过基于子块A的上部子块a从左到右执行扫描来获得运动信息。当上部子块a不可用时,可通过扫描上部子块b来获得运动信息。也就是说,可执行扫描直到具有可用运动信息的上部子块被找到为止。

在从上部子块获得运动信息之后,可通过基于子块A的左侧的子块c从上到下执行扫描来获得运动信息。当左侧子块c不可用时,可通过扫描左侧子块d来获得运动信息。

在从上部子块和/或左侧子块获得运动信息之后,可从子块A的同位块获得运动信息。这里,子块A的同位块可以是包括子块A的当前块的同位块,或可以是与子块A直接相应的同位块的子块。可如上选择与子块A直接相应的同位块的子块。可选择地,可从在由当前块的空间候选块的运动矢量补偿的位置处的同位块(或同位块的子块)获得运动信息。

按照相同的方式,可从上部子块、左侧子块和同位块获得至多三条运动信息。根据实施例,可获得至多N条运动信息。这里,N是等于或大于2的正整数。

2-1)选择用于运动补偿的参考画面并产生子块的运动矢量

当以下三种参考画面中的至少一个相同于从同位块获得的运动矢量的参考画面时,可将用于子块A的运动补偿的参考画面选择为参考画面:所述三种参考画面为a)参考画面列表的第一参考画面,b)在获得的三条运动信息中,从空间邻近子块获得的运动矢量具有相同参考画面的情况下的参考画面,以及c)在获得的三条运动信息中从空间邻近子块获得的运动矢量的参考画面。

接下来,基于选择的参考画面分别对至多三个运动矢量进行缩放,并通过使用缩放的至多三个运动矢量的中值、平均值、最小值、最大值、加权平均值和模式中的一个来产生子块A的运动矢量。

如上产生的子块A的运动矢量和选择的参考画面被用于产生子块A的预测块。

2-2)产生多个预测块和最终预测块

在从上部子块、左侧子块和同位块获得至多三条运动信息之后,可通过运动补偿从获得的运动信息的各个运动矢量以及与运动矢量相应的参考画面获得至多三个预测块,并可基于至多三个预测块的加权和来产生子块A的预测块。

这里,可基于在2-1)选择的参考画面来对子块A的同位块的运动矢量进行缩放。在这种情况下,可通过基于缩放的运动矢量和选择的参考画面的运动补偿来获得预测块。

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

参照图19,在步骤S1901,可从当前块的空间候选块中的至少一个推导空间合并候选。

另外,在步骤S1902,可从当前块的同位块推导时间合并候选。

这里,已参照图9至图11详细描述了空间候选块和时间合并候选的推导,因此将省略其描述。

另外,在步骤S1903,可基于推导的空间合并候选和推导的时间合并候选中的至少一个来产生当前块的预测块。

在这种情况下,可基于包括当前块的当前画面的参考画面列表和包括同位块的同位画面的参考画面列表来选择时间合并候选的参考画面。这里,时间合并候选的参考画面可以是在使用时间合并候选执行运动补偿的操作中使用的参考画面或者在对同位块的运动矢量进行缩放的操作中使用的参考画面。

同时,可基于当前画面的参考画面列表与同位画面的参考画面列表是否彼此相同来选择时间合并候选的参考画面。

例如,当当前画面的参考画面列表与同位画面的参考画面列表彼此相同时,可将时间合并候选的参考画面选择为由从同位块推导的运动矢量使用的参考画面。

作为另一示例,当当前画面的参考画面列表的至少一个参考画面与同位画面的参考画面列表的至少一个参考画面相同时,可从相同的至少一个参考画面中选择时间合并候选的参考画面。

同时,可根据帧间预测方向来选择时间合并候选的参考画面。这里,帧间预测方向可以是L0、L1、…、LX(X是正整数)。

同时,可针对当前块的每个子块推导当前块的空间合并候选和时间合并候选。

在这种情况下,可从包括在同位块中的与当前块的子块在相同位置的子块推导当前块的子块的时间合并候选。

然而,当在相同位置的子块不可用时,可从同位块中的中心位置的子块、在相同位置的子块的左侧子块和在相同位置的子块的上部子块中的一个推导当前块的子块的时间合并候选。

同时,在步骤S1902的时间合并候选的推导可包括:基于当前块的参考画面列表的各个参考画面对同位块的多个运动矢量进行缩放,并推导包括缩放的多个运动矢量的时间合并候选。

例如,可通过使用基于缩放的多个运动矢量的加权和产生的运动矢量来产生当前块的预测块。

作为另一示例,通过分别使用缩放的多个运动矢量产生多个时间预测块,并可基于产生的多个时间预测块的加权和来产生当前块的预测块。

同时,可通过基于时间合并候选的参考画面对同位块的运动信息进行缩放来执行在步骤S1902的时间合并候选的推导。

在这种情况下,可基于包括当前块的当前画面与当前块的参考画面之间的画面顺序计数值以及包括同位块的同位画面与同位块的参考画面之间的画面顺序计数值,选择性地执行通过对同位块的运动信息进行缩放的时间合并候选的推导。

可针对亮度信号和色度信号中的每一个执行帧内编码/解码。例如,帧内预测模式的推导、块分区、参考样点的构建和帧内预测中的至少一个可在帧内解码处理中被不同地应用于亮度信号和色度信号。

可针对亮度信号和色度信号按照相同方式执行帧内编码/解码。例如,帧内预测模式的推导、块分区、参考样点的构建和帧内预测中的至少一个可在帧内解码处理中被相同地应用于亮度信号和色度信号。

可按照相同方法在编码器和解码器中执行以上方法。例如,帧内预测模式的推导、块分区、参考样点的构建和帧内预测中的至少一个可在帧内编码/解码处理中被应用于编码器和解码器。另外,应用以上方法的顺序可在编码器和解码器中不同。例如,在执行对当前块的帧内编码/解码中,编码器可构建参考样点并随后执行一个或更多个帧内预测以对确定的帧内预测模式进行编码。

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

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

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

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

如在本发明的实施例中,在参考画面列表构造和参考画面列表修改处理中使用的参考画面集是至少一个参考视频列表可使用的L0、L1、L2、L3。

根据本发明的实施例,在去块滤波器中计算边界强度中,可使用将被编码/解码的当前块的至少一个运动矢量和最多N个运动矢量。这里,N表示1或更大的正整数,并可以是2、3、4等。

当在运动矢量预测时运动矢量被划分为16-像素(16-pel)单位、8-像素(8-pel)单位、4-像素(4-pel)单位、整数-像素(整数-pel)单位、1/2-像素(1/2-pel)单位、1/4-像素(1/4-pel)单位、1/8-像素(1/8-pel)单位、1/32-像素(1/32-pel)单位以及1/64-像素(1/64-pel)单位时,可应用本发明的以上实施例。此外,当执行运动矢量预测时,可针对每个像素单位选择性地使用运动矢量。

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

定义本发明的实施例被应用于的条带类型,并且可根据条带类型应用本发明的实施例。例如,当条带类型是T(三向预测)-条带时,使用至少三个运动矢量来产生预测块,并计算至少三个预测块的加权和。例如,当条带类型是Q(四向预测)-条带时,使用至少四个运动矢量来产生预测块,并计算至少四个预测块的加权和。

本发明的实施例不仅可被应用于使用运动矢量预测的帧间预测和运动补偿方法,还可被应用于使用跳过模式和合并模式的帧间预测和运动补偿。

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

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

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

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

虽然已根据特定术语(诸如详细元件)以及有限实施例和附图描述了本发明,但它们仅被提供用于帮助更通俗地理解本发明,本发明不限于以上实施例。本发明所属领域的技术人员将理解,可从以上描述做出各种修改和改变。

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

工业可用性

本发明可用于对视频进行编码/解码的设备。

相关技术
  • 根据运动信息压缩方案通过层间运动信息预测对图像进行编码或解码的方法和设备
  • 视频图像编码和解码的方法、装置及设备
  • 极化码编码和译码的方法、发送设备和接收设备
  • 图像解码装置、图像解码方法以及图像编码装置
  • 图像解码装置、图像解码方法以及图像编码装置
  • 图像编码/解码设备和图像数据的发送设备
  • 图像编码/解码设备和图像数据的发送设备
技术分类

06120116148690