用于图像编码/解码的方法和装置与流程

文档序号:15074250发布日期:2018-08-01 00:48阅读:178来源:国知局

本发明涉及一种用于编码/解码图像的方法和装置,并且更具体地,涉及一种用于通过执行帧间预测来提高编码/解码效率的方法和装置。



背景技术:

近来,具有高清晰度(hd)分辨率的广播服务已经在全国范围内和全世界范围内扩展,并且因此,许多用户习惯于高分辨率和高质量的图像。因此,许多组织都在努力开发下一代图像设备。此外,由于已经增加了对于具有高于hdtv四倍的分辨率的hdtv和超高清(uhd)的兴趣,因此需要更高分辨率和用于高清晰度图像的压缩技术。

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

在传统的视频编码/解码中,当对当前编码/解码目标块执行预测时,替代参考块的数量受到限制,使得难以提高帧间预测的编码/解码效率。



技术实现要素:

技术问题

已经提出本发明以解决相关技术中的问题本发明旨在提出一种在生成当前编码目标块的帧间预测块时,通过使用多个参考块候选中的至少一个来增强当前块的编码/解码效率的方法和装置。

此外,本发明旨在提出一种为每个子块生成帧间预测块的方法和装置。

应该理解的是,本公开要解决的技术问题不限于上述技术问题,并且从下面的描述中,没有提到的其他技术问题对于本公开内容所涉及的领域的普通技术人员将变得明显。

技术方案

为了实现上述目的,根据本发明的一个方面,提供了一种用于解码图像的方法,该方法包括:确定当前块的第一参考图片和第二参考图片;确定第一参考图片中的第一参考块和第二参考图片中的第二参考块这两者;将当前块划分为多个子块;并且基于每个子块的参考候选块索引信息来获得每个子块的预测块。

根据另一方面,提供了一种用于解码图像的装置,该装置包括:帧间预测单元,所述帧间预测单元确定当前块的第一参考图片和第二参考图片;基于运动矢量信息确定第一参考图片中的第一参考块和第二参考图片中的第二参考块这两者;将当前块划分为多个子块;并且基于每个子块的参考候选块索引信息来获得每个子块的预测块。

根据用于解码图像的方法和装置,参考候选块索引信息可以指示第一参考块、第二参考块、或基于第一参考块和第二参考块这两者生成的第三参考块中的至少一个,并且可以基于与通过参考候选块索引信息选择的参考块中的子块具有相同位置的子参考块来获得子块的预测块。

根据用于解码图像的方法和装置,可以取决于当前块的译码(coding)块的划分形状来确定当将当前块划分成子块时的划分方向。

根据用于解码图像的方法和装置,可以基于子块的数量的信息来确定当前块中的子块的数量。

根据用于解码图像的方法和装置,取决于当前块的译码块的划分形状,可以将当前块中的子块的数量确定为等于或小于由子块的数量的信息指示的数量。

根据用于解码图像的方法和装置,可以取决于当前块的译码块的划分形状来确定是否将当前块划分成多个子块。

根据用于解码图像的方法和装置,当对译码块进行非对称划分并且当前块是译码块的一个划分时,可以取决于当前块的尺寸是否大于译码块中的另一划分的尺寸来确定当前块是否被划分成多个子块。

根据用于解码图像的方法和装置,子块的预测块可以基于第一参考块、第二参考块或第三参考块中的多个参考块中的每一个的加权和来获得。

根据又一方面,提供了一种用于编码图像的方法,该方法包括:确定当前块的第一参考图片和第二参考图片;确定第一参考图片中的第一参考块和第二参考图片中的第二参考块这两者;相对于被划分成子块的当前块来确定多个子块中的每个子块的预测块;以及基于所确定的每个子块的预测块,对每个子块的参考候选块索引信息进行编码,

根据又一方面,提供了一种用于编码图像的装置,该装置包括:帧间预测单元,所述帧间预测单元确定当前块的第一参考图片和第二参考图片,确定第一参考图片中的第一参考块和第二参考图片中的第二参考块这两者;以及相对于被划分成子块的当前块来确定多个子块中的每个子块的预测块;以及熵编码单元,所述熵编码单元基于所确定的每个子块的预测块,对每个子块的参考候选块索引信息进行编码。

本文中,所述参考候选块索引信息可以指示:第一参考块、第二参考块、或基于第一参考块和第二参考块这两者生成的第三参考块中的至少一个,并且可以基于与通过参考候选块索引信息选择的参考块中的子块具有相同位置的子参考块来获得子块的预测块。

根据用于编码图像的方法和装置,所述参考候选块索引信息可以指示:第一参考块、第二参考块、或基于第一参考块和第二参考块这两者生成的第三参考块中的至少一个,并且可以基于与通过参考候选块索引信息选择的参考块中的子块具有相同位置的子参考块来确定子块的预测块。

根据用于编码图像的方法和装置,可以取决于当前块的译码块的划分形状来确定当将当前块划分成子块时的划分方向。

根据用于编码图像的方法和装置,可以取决于当前块的译码块的划分形状来确定子块的数量的信息,以便确定当前块中的子块的数量。

根据用于编码图像的方法和装置,可以基于第一参考块、第二参考块或第三参考块中的多个参考块中的每一个的加权和来确定子块的预测块。

应该理解的是,前述总结特征是本发明的以下详细描述的示例性方面,而不限制本发明的范围

有益效果

根据本发明,可以提出一种用于在生成当前编码目标块的帧间预测块时,通过使用多个参考块候选中的至少一个来增强当前块的编码/解码效率的方法和装置。

此外,根据本发明,可以提出一种为每个子块生成帧间预测块的方法和装置。

可以从本发明获得的效果将不仅限于上述效果。此外,从下面的描述中,本文未描述的其他效果对于本领域技术人员将变得显而易见。

附图说明

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

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

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

图4是示出可以被包括在译码单元(cu)中的预测单元(pu)的形式的视图。

图5是示出可以被包括在译码单元(cu)中的变换单元(tu)的形式的视图。

图6是用于解释帧内预测的过程的实施例的视图。

图7是用于解释帧间预测的过程的实施例的视图。

图8是示出帧间预测模式下的划分模式的示例的视图。

图9是用于解释通过双向预测来编码图像的概念的视图。

图10是示出根据本发明实施例的帧间预测编码过程的流程图。

图11是示出根据本发明实施例的帧间预测解码过程的流程图。

图12是示出根据本发明实施例的帧间预测编码过程的流程图。

图13是示出对以2n×2n或2n×n形式划分的预测单元执行帧间预测的示例的视图。

图14是示出取决于划分形状的所划分的预测块的视图。

图15是示出根据预测单元划分的子块的划分形状的视图。

图16是示出根据本发明实施例的帧间预测解码过程的流程图。

具体实施方式

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

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

应该理解的是,在本说明书中,当元件被简单地称为“连接到”或“耦接到”另一元件而不被称为“直接连接到”或“直接耦接到”另一元件时,它可以是“直接连接到”或“直接耦接到”另一元件或者具有其他元件介于二者之间地连接到或耦接到另一元件。相反,应该理解的是,当元件被称为“直接耦接”或“直接连接”到另一个元件时,不存在中间元件。

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

说明书中使用的术语仅仅用于描述特定实施例,并且不意欲限制本发明。除非在上下文中具有清楚地不同的意义,否则单数形式使用的表达式包含复数形式的表达式。在给出的说明书中,将理解的是,诸如“包括”、“具有”等等的术语是用来指示说明书中公开的特征、数字、步骤、动作、元件、部分或其组合的存在,并且不意欲排除可以存在或可以添加一个或多个其他特征、数字、步骤、动作、元件、部分或其组合的可能性。换句话说,当特定元件被称为“被包含”时,不排除相应元件以外的元件,但是附加元件可以被包括在本发明的实施例或本发明的范围中。

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

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

此外,在下文中,图像可以意味着配置视频的图片,或者可以意味着视频本身。例如,“图像的编码和/或解码”意味着“视频的编码和/或解码”,并且可以意味着“视频的图像当中的一个图像的编码和/或解码”。本文中,图片和图像可能具有相同的含义。

为说明书中使用的特定术语提供以下定义。

编码器可以意味着执行编码的装置,并且解码器可以意味着执行解码的装置。

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

块可以意味着m×n矩阵的样本。也就是说,该块可以意味着二维形式的样本矩阵。本文中,m和n是正整数。

单元可以意味着对图像进行编码和解码的单元。在对图像进行编码和解码时,该单元可以是通过划分一个图像而生成的区域。此外,当在编码或解码期间将一个图像划分为细分单元时,该单元可以意味着细分单元。在对图像进行编码和解码时,可以执行针对每个单元的预定过程。一个单元可能被划分为具有小于单元尺寸的尺寸的子单元。取决于功能,单元可以意味着块、宏块、译码树单元、译码树块、译码单元、译码块、预测单元、预测块、变换单元、变换块等。此外,为了区分单元和块,单元可以包括亮度分量块、亮度分量块的色度分量块、以及亮度分量块和色度分量块两者中的每一个的语法元素。单元可以具有各种尺寸和形状,并且特别地,单元的形状可以是二维几何图形(诸如矩形、正方形、梯形、三角形、五边形等)。此外,单元信息可以包括指示译码单元、预测单元、变换单元等的单元类型、以及单元尺寸、单元深度、单元的编码和解码的序列等中的至少一个。

重建的相邻单元可以意味着先前被空间/时间编码或解码的重建单元,并且重建单元与编码/解码目标单元毗邻。

单元深度可以意味着单元的划分程度。在树结构中,根节点可以是最高节点,并且叶节点可以是最低节点。

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

在比特流的结构中,与报头信息有关的部分可以被称为参数集。该参数集可以包括以下各项当中的至少一个:视频参数集、序列参数集、图片参数集、和自适应参数集。此外,参数集可以包括切片(slice)报头和瓦片(tile)报头二者的信息。

比特流可以意味着包括编码图像信息的比特串。

译码参数可以意味着对图像进行编码或解码所必需的信息。译码参数可以包括由编码器编码并被发送到解码器的信息(诸如语法元素),并且可以包括可以在编码或解码过程中导出的信息。例如,译码参数可以包括以下各项当中的至少一个:帧内预测模式、帧间预测模式、帧内预测方向、运动信息、运动矢量、参考图片索引、帧间预测方向、帧间预测指示符、参考图片列表、运动矢量预测器、合并候选、变换类型、变换尺寸、关于是否使用附加变换的信息、环路内的滤波器信息、关于是否存在残差信号的信息、量化参数、上下文模型、变换系数、变换系数等级、所译码的块图案(blockpattern)、所译码的块标志、图像显示/输出顺序、切片信息、瓦片信息、图片类型、关于是否使用合并模式的信息、关于是否使用跳过模式的信息、块尺寸、块深度、块划分信息、单元尺寸、单元深度、以及单元划分信息的值等、或其统计数据或两者。

预测单元可以意味着在执行帧间预测或帧内预测时以及在对预测进行补偿时的基本单元。预测单元可以被划分成多个划分。当预测单元被划分成多个划分时,当执行预测和补偿时,多个划分中的每一个可以是基本单元。因此,从预测单元划分的每个划分可以是预测单元。此外,一个预测单元可以被划分成多个小预测单元。预测单元可以具有各种尺寸和形状,并且特别地,预测单元的形状可以是二维几何图形(诸如矩形、正方形、梯形、三角形、五边形等)。

预测单元划分可以意味着划分的预测单元的形状。

参考图片列表可以意味着包括用于帧间预测或运动补偿的至少一个参考图片的列表。参考图片列表的类型可以是组合列表(lc)、列表0(l0)、列表1(l1)、列表2(l2)、列表3(l3)等等。至少一个参考图片列表可以用于帧间预测。

帧间预测指示符可以意味着以下各项当中的至少一个:帧间预测的情况下的编码/解码目标块的帧间预测方向(单向定向预测、双向预测等)、用于由编码/解码目标块生成预测块的参考图片的数量、以及用于由编码/解码目标块执行帧间预测或运动补偿的参考块的数量。

参考图片索引可以意味着参考图片列表中的特定参考图片的索引。

参考图片可以意味着特定单元参考用于帧间预测或运动补偿的图片。参考图像可以被称为参考图片。

运动矢量是用于帧间预测或运动补偿的二维矢量,并且可以意味着编码/解码目标图片与参考图片之间的偏移。例如,(mvx,mvy)可以指示运动矢量、mvx可以指示水平分量、并且mvy可以指示垂直分量。

运动矢量候选可以意味着预测运动矢量时预测候选的单元,或者可以意味着单元的运动矢量。

运动矢量候选列表可以意味着通过使用运动矢量候选而配置的列表。

运动矢量候选索引可以意味着指示运动矢量候选列表中的运动矢量候选的指示符。运动矢量候选索引可以被称为运动矢量预测器的索引。

运动信息可以意味着包括以下各项中的至少一个的信息:运动矢量、参考图片索引、帧间预测指示符、参考图片列表信息、参考图片、运动矢量候选、和运动矢量候选索引。

当执行残差信号的编码/解码时,变换单元可以意味着基本单元。例如,可以相对于变换单元执行逆变换、量化、去量化、变换系数的编码/解码等。一个变换单元可以被划分成多个小的变换单元。变换单元可以具有各种尺寸和形状。特别地,变换单元的形状可以是二维几何图形(诸如矩形、正方形、梯形、三角形、五边形等)。

缩放可以意味着将因子乘以变换系数等级的过程,并且因此,可以生成变换系数。缩放也可以称为去量化。

量化参数可以意味着在量化和去量化期间用于缩放变换系数等级的值。本文中,量化参数可以是映射到量化的步长的值。

增量量化参数可以意味着预测量化参数与编码/解码目标单元的量化参数之间的残差值。

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

变换系数可以意味着在执行变换之后生成的系数值。根据本发明的实施例,变换系数可以包括量化变换系数等级,该量化变换系数等级是对其应用了量化的变换系数。

非零变换系数可以意味着其值不等于0的变换系数,或者可以意味着其值不等于0的变换系数等级。

量化矩阵可以意味着在量化和去量化中使用的矩阵以便于增强图像的对象质量或物体质量。量化矩阵可以被称为缩放列表。

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

默认矩阵可以意味着预先在编码器和解码器中定义的预定量化矩阵。

非默认矩阵可以意味着由用户发送/接收而不在编码器和解码器中预先定义的量化矩阵。

基于上述描述,将详细公开对编码器和解码器的描述。

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

编码装置100可以是视频编码装置或图像编码装置。视频可以包含一个或多个图像。编码装置100可以以时间顺序对视频的一个或多个图像进行编码。

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

为了提供高译码效率,编码装置100执行速率-失真优化方法,该速率-失真优化方法针对编码单元的尺寸、预测模式、预测单元的尺寸、运动信息、变换单元的尺寸等的至少一个组合来计算速率-失真成本。编码装置可以基于来自至少一个组合的速率-失真成本来选择最佳组合。通常,最佳组合是具有最低速率-失真成本的组合。速率-失真成本可以通过以下公式计算。

[等式1]

d+λ*r

在等式1中,d(表示失真)意味着变换块中原始变换系数与重建变换系数之间的差值的平方的平均值(均方误差)。在等式1中,r(表示速率)意味着使用相关上下文信息的比特率。r包括在对预测模式、运动信息、所译码的块标志等、以及变换系数的译码参数进行编码时生成的比特。在等式1中,λ表示拉格朗日乘数(lagrangianmultiplier)。

编码装置100可以以帧内模式和/或帧间模式来对输入图片进行编码。此外,编码装置100可以通过对输入图片进行编码来生成比特流,并且可以输出所生成的比特流。当帧内模式被用作预测模式时,开关115可以被切换到帧内。当帧间模式被用作预测模式时,开关115可以切换到帧间。本文中,帧内模式可以被称为帧内预测模式,并且帧间模式可以被称为帧间预测模式。编码装置100可以生成输入图片的输入块的预测信号。作为块单元的预测信号可以被称为预测块。此外,在生成预测块之后,编码装置100可以对输入块和预测块之间的残差进行编码。输入图片可以被称为作为当前编码的目标的当前图片。输入块可以被称为当前块或者被称为作为当前编码的目标的编码目标块。

当预测模式是帧内模式时,帧内预测单元120可以使用与当前块毗邻的先前编码块的像素值作为参考像素。帧内预测单元120可以通过使用参考像素来执行空间预测,并且可以通过使用空间预测来生成输入块的预测样本。本文中,帧内预测可以意味着帧内的预测。

当预测模式是帧间模式时,运动预测单元111可以在运动预测过程中从参考图片搜索与输入块最佳匹配的区域,并且可以通过使用搜索到的区域来导出运动矢量。参考图片可以被存储在参考图片缓冲器190中。

运动补偿单元112可以通过使用运动矢量执行运动补偿来生成预测块。本文中,运动矢量可以是用于帧间预测的二维矢量。此外,运动矢量可以指示当前图片与参考图片之间的偏移。本文中,帧间预测可以是平均帧间的预测。

当运动矢量的值不是整数时,运动预测单元111和运动补偿单元112可通过对参考图片中的部分区域应用插值滤波器来生成预测块。为了执行帧间预测或运动补偿,基于译码单元确定在跳过模式、合并模式和amvp模式中使用哪一个帧间预测和运动补偿方法。并且取决于模式来执行帧间预测或运动补偿。

减法器125可以通过使用输入块和预测块之间的残差来生成残差块。残差块可以被称为残差信号。

变换单元130可以通过变换残差块来生成变换系数,并且可以输出变换系数。本文中,变换系数可以是通过变换残差块生成的系数值。在变换跳过模式中,变换单元130可以跳过残差块的变换。

可以通过对变换系数应用量化来生成量化变换系数等级。在下文中,在本发明的实施例中,量化变换系数等级可以被称为变换系数。

量化单元140可以通过取决于量化参数来对变换系数进行量化以生成量化变换系数等级,并且可以输出量化变换系数等级。本文中,量化单元140可以通过使用量化矩阵来对变换系数进行量化。

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

当应用熵编码时,通过向具有高出现概率的符号分配少量比特并且向具有低出现概率的符号分配大量比特来表示符号,从而减小编码目标符号的比特流的尺寸。因此,可以通过熵编码来增加图像编码的压缩性能。对于熵编码,熵编码单元150可以使用诸如指数哥伦布(golomb)、上下文自适应可变长度编码(cavlc)和上下文自适应二进制算术编码(cabac)的编码方法。例如,熵编码单元150可以通过使用可变长度编码/译码(vlc)表来执行熵编码。此外,熵编码单元150可以导出目标符号的二值化方法和目标符号/箱(bin)的概率模型,并且可以在之后使用导出的二值化方法或导出的概率模型来执行算术编码。

为了编码变换系数等级,熵编码单元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模式和当前图片参考模式当中使用译码单元中的预测单元的哪一个运动补偿方法。此外,可以取决于模式执行运动补偿。本文中,当前图片参考模式可以意味着使用具有解码目标块的当前图片内的先前重建的区域的预测模式。先前重建的区域可以不与解码目标块毗邻。为了指定先前重建的区域,可以将固定矢量用于当前图片参考模式。此外,可以用信号发送指示解码目标块是否是在当前图片参考模式下解码的块的标志或索引,并且可以通过使用解码目标块的参考图片索引来导出该标志或索引。用于当前图片参考模式的当前图片可以存在于用于解码目标块的参考图片列表内的固定位置(例如,refidx=0的位置或最后位置)。此外,可以在参考图片列表内可变地定位,并且为此,可以用信号发送指示当前图片的位置的参考图片索引。

可以由加法器255将重建的残差块添加到预测块。通过添加重建的残差块和预测块而生成的块可以经过滤波器单元260。滤波器单元260可以将去块滤波器、采样自适应偏移和自适应环路滤波器中的至少一个应用于重建的块或应用于重建的图片。滤波器单元260可以输出重建的图片。重建的图片可以被存储在参考图片缓冲器270中,并且可以被用于帧间预测。

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

为了高效地划分图像,可以在编码和解码中使用译码单元(cu)。本文中,译码单元cu可以意味着编码单元。单元可以是以下1)和2)的组合:1)语法元素;2)包括图像样本的块。例如,“单元的划分”可以意味着“块相对于单元的划分”。块划分信息可以包括关于单元深度的信息。深度信息可以指示单元被划分的次数和/或单元的划分程度。

参照图3,为每个最大译码单元(lcu)顺序地划分图像300,并且为每个lcu确定划分结构。本文中,lcu和译码树单元(ctu)具有相同的含义。一个单元可以具有基于树结构的深度信息,并且可以被分层地划分。被划分的子单元中的每一个可以是深度信息。深度信息指示单元被划分的次数和/或单元的划分程度,并且因此,深度信息可以包括关于子单元的尺寸的信息。

划分结构可以意味着lcu310中的译码单元(cu)的分布。cu可以是用于高效编码图像的单元。可以基于一个cu是否被划分为多个(等于或大于2的正整数,包括2、4、8、16等)来确定分布。划分的cu的宽度尺寸和高度尺寸可以分别是原始cu的一半宽度尺寸和一半高度尺寸。可替换地,取决于划分的单元的数量,划分的cu的宽度尺寸和高度尺寸可以分别小于原始cu的宽度尺寸和高度尺寸。类似地,划分的cu可以被递归地划分成多个进一步划分的cu,其中进一步划分的cu具有比划分的cu的宽度尺寸和高度尺寸更小的宽度尺寸和高度尺寸。

本文中,可以递归地执行cu的划分直到预定深度。深度信息可以是指示cu的尺寸的信息。深度信息可以存储在每个cu中。例如,lcu的深度可以是0,并且最小译码单元(scu)的深度可以是预定的最大深度。本文中,lcu可以是如上所述的具有最大尺寸的译码单元,并且scu可以是具有最小尺寸的译码单元。

每当lcu310开始划分时,并且cu的宽度尺寸和高度尺寸通过划分而减小,cu的深度增加1。在不能够划分的cu的情况下,对于每个深度cu可以具有2n×2n的尺寸。在能够划分的cu的情况下,具有2n×2n尺寸的cu可以被划分成多个n×n尺寸的cu。每当深度增加1时,n的尺寸减半。

参考图3,具有最小深度0的lcu的尺寸可以是64×64像素,并且具有最大深度3的scu的尺寸可以是8×8像素。本文中,具有64×64像素的cu(其是lcu)可以由深度0表示,具有32×32像素的cu可以由深度1表示,具有16×16像素的cu可以由深度2表示,并且具有8×8像素的cu(其是scu)可以用3的深度表示。

此外,关于cu是否将被划分的信息可以通过cu的划分信息来表示。划分信息可以是1位的信息。划分信息可以被包括在除了scu之外的所有cu中。例如,当划分信息的值是0时,cu可以不被划分,并且当划分信息的值是1时,cu可以被划分。

图4是示出可以被包括在译码单元(cu)中的预测单元(pu)的形式的视图。

从lcu划分的cu当中的不再划分的cu可以被划分成至少一个预测单元(pu)。这个过程也可以被称为划分。

pu可以是预测的基本单元。pu可以以跳过模式、帧间模式和帧内模式中的任何一个模式进行编码和解码。取决于模式,pu可以以各种形式划分。

如图4所示,在跳过模式中,在cu之内可以没有划分。在跳过模式中,可以在cu内没有划分的情况下支持具有与cu相同尺寸的2n×2n模式410。

在帧间模式中,可以在cu内支持8个划分形式,例如,2n×2n模式410、2n×2n模式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。

图5是示出可以被包括在译码单元(cu)中的变换单元(tu)的形式的视图。

变换单元(tu)可以是用于cu内的变换、量化、逆变换和去量化的基本单元。tu可以具有正方形或矩形等。tu可以由cu的尺寸和/或cu的形式而依赖性地确定。

从lcu划分的cu当中的不再划分的cu可以被划分为至少一个tu。本文中,tu的划分结构可以是四叉树结构。例如,如图5所示,取决于四叉树结构,一个cu510可以被划分一次或多次。通过划分,一个cu510可以由具有各种尺寸的tu形成。此外,取决于划分cu的垂直线的数量和/或划分cu的水平线的数量,可以将一个cu划分为至少一个tu。cu可以被划分成彼此对称的tu,或者可以被划分成彼此不对称的tu。为了将cu划分为不对称的tu,可以用信号发送tu的尺寸/形状的信息,或者可以从cu的尺寸/形状的信息中导出tu的尺寸/形状的信息。

当执行变换时,可以通过使用预定变换方法中的至少一个来变换残差块。例如,预定的变换方法可以包括离散余弦变换(dct)、离散正弦变换(dst)、卡洛南-洛伊变换(karhunen-loevetransform,klt)等。可以通过使用预测单元的帧间预测模式信息、预测单元的帧内预测模式信息、以及变换块的尺寸/形状中的至少一个来确定用于变换残差块的变换方法。当确定变换方法时,可以用信号发送指示变换方法的信息。

图6是用于解释帧内预测的过程的实施例的视图。

帧内预测模式的数量可以取决于预测单元(pu)的尺寸而变化,或者可以固定为数量n而不管预测单元的尺寸如何。本文中,数量n可以是35和67,或者可以是等于或大于1的正整数。例如,如图6所示,编码器/解码器的预定帧内预测模式可以包括2个非定向模式和65个定向模式。2个非定向模式可以包括dc模式和平面模式。

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

pu可以具有n×n或2n×2n尺寸的正方形。n×n尺寸可以包括4×4、8×8、16×16、32×32、64×64、128×128等。此外,pu可以具有m×n尺寸。本文中,m和n可以是等于或大于2的正整数,m和n可以是不同的数字。pu可具有cu、pu和tu的至少一个尺寸。

可以通过使用相邻重建单元中的采样值或使用译码参数来执行帧内编码和/或帧内解码。

在帧内预测中,在将参考采样滤波器应用于参考像素之后,可以通过使用帧内预测模式和编码/解码目标块的尺寸中的至少一个来生成预测块。应用于参考像素的参考采样滤波器的类型可以彼此不同。例如,取决于编码/解码对象块的帧内预测模式、编码/解码目标块的尺寸/形状、参考像素的位置等,参考采样滤波器的类型可以彼此不同。“参考滤波器的类型可以不同”可以意味着参考采样滤波器的滤波器系数、滤波器抽头的数量、滤波器强度、或滤波处理的数量中的至少一个不同的情况。

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

图7是用于解释帧间预测的过程的实施例的视图。

图7中所示的矩形可以指示图像(或图片)。此外,图7的箭头可以指示预测方向。也就是说,可以根据预测方向来编码和/或解码图像。根据编码类型,每个图像可以被分类为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发送例如语法元素信息的其他信息。语法元素信息可以包括以下各项当中的至少一个:运动矢量差信息、所编码的块标志、和变换系数等级。

在帧间预测中,相对于当前编码/解码目标块(2n×2n),可以支持最大数量n(n是等于或大于1的正整数)的划分形状。图8是示出帧间预测模式下的划分模式的示例的视图。如图8所示,可以在帧间预测模式中支持8个划分模式(诸如2n×2n模式、2n×n模式、n×2n模式、n×n模式、2n×nu模式、2n×nd模式、nl×2n模式、和nr×2n模式)。只有当编码器/解码器设置的译码块的最小尺寸大于8×8时,才可以支持n×n预测模式。

编码器可以对每个划分模式执行运动预测,并且可以根据速率-失真优化方法来确定当前块的最佳预测划分模式。

此外,在帧间预测中,可以支持双向预测(bi-预测)。图9是用于解释通过双向预测来编码图像的概念的视图。

如图9所示,可以基于先前参考帧的参考块和未来参考帧的参考块来确定当前块的预测块。取决于所确定的参考块,可以对参考图片列表信息、参考图片索引信息、和运动矢量进行编码。

此外,可以通过从当前块的原始块中减去预测块来获得残差块,并且可以对获得的残差块执行变换和量化,并且可以对变换和量化的残差块进行编码。

在下文中,将参照附图详细描述根据本发明实施例的帧间预测方法。

图10是示出根据本发明实施例的帧间预测编码过程的流程图。

首先,为了对当前译码块执行双向预测,可以在步骤s1001确定至少两个参考块。参考块可以通过对当前块的运动预测从参考图片列表获得。为了便于描述,在以下实施例中,假设可以通过从列表-0参考图片获得的参考块和从列表-1参考图片获得的参考块两者来执行对于当前块的双向预测。本文中,从列表-0参考图片获得的参考块被称为l0参考块,并且从列表-1参考图片获得的参考块被称为l1参考块,并且从参考图片获得的参考块的平均值(即,l0参考块和l1参考块的平均值)称为双向参考块(bi参考块)。

其次,编码器可以根据步骤s1002中的速率-失真优化方法,基于l0参考块、l1参考块、或双向参考块中的至少一个来确定当前译码块的预测块。也就是说,l0参考块、l1参考块、和双向参考块中的至少一个的参考块可以被用作用于当前块的帧间预测的候选块。

例如,可以将l0参考块、l1参考块和双向参考块中的一个确定为当前块的预测块。

然而,当通过仅使用l0参考块、l1参考块、和双向参考块中的一个来生成预测块时,增强编码/解码效率受到限制。因此,编码器可以通过使用l0参考块、l1参考块或双向参考块当中的多个参考块来确定当前块的预测块。

具体地,编码器可以通过使用l0参考块、l1参考块、和量化参考块中的至少两个参考块的加权和来确定当前译码块的预测块。

例如,可以通过使用l0参考块和双向参考块的加权和(初始双向参考块是l0参考块和l1参考块的平均值)来确定当前译码块的预测块。例如,可以通过使用l1参考块和双向参考块的加权和(初始双向参考块是l0参考块和l1参考块的平均值)来确定当前译码块的预测块。例如,可以通过使用l0参考块、l1参考块和双向参考块的加权和(初始双向参考块是l0参考块和l1参考块的平均值)来确定当前译码块的预测块。

当选择两个参考块候选时,可以通过使用以下等式2来确定预测块。

[等式2]

p[x]=(1-w)*p0[x+v0]+w*p1[x+v1]

在等式2中,p[x]意味着当前译码块的预测块,并且w指示加权值。p0[x+v0]指示候选参考块之一,p1[x+v1]指示候选参考块中的另一个,v0和v1分别指示参考图片列表l0的运动矢量和参考图片列表l1的运动矢量。

第三,在步骤s1003,编码器可以编码指示用于在候选参考块中自适应地导出当前译码块的预测块的候选块的信息(索引)。当通过对多个候选块应用加权来确定当前块的预测块时,可以对加权值的信息进行编码。此外,编码器可以取决于所确定的参考块,对列表信息、参考图片索引信息、运动矢量信息和残差信号进行编码。

可以显式地或隐式地编码关于在生成当前块的预测块中是否使用多个候选块的信息。例如,关于是否使用多个候选块的信息可以被熵编码,或者被导出到编码器/解码器处的相同集。当使用多个候选块来生成当前块的预测块时,指示候选块的信息(索引)可以被编码成与在生成当前块的预测块中使用的参考块的数量一样多。

可以由预定区域来用信号发送加权值的信息。本文中,预定区域可以意味着译码单元或比译码单元更高的等级(例如,切片)。当多个预测块被包括在包括当前块的预定区域内时,预定区域的帧间预测块的全部或一部分可以共享正被用信号发送的加权值的信息。可替换地,可以由每个预测单元用信号发送加权值的信息。

加权值的信息可以被定义为指定加权候选集的多个加权候选之一的索引。可以为编码器/解码器预定义加权候选集,或者可以根据在当前块之前的编码/解码块、空间相邻块、或时间相邻块中的至少一个中使用的加权值导出该加权候选集。空间相邻块在空间上与当前块毗邻,并且可以在当前块之前被编码/解码。例如,空间相邻块可以包括与当前块的顶部、左边、或拐角毗邻的块的至少一个。时间相邻块可以意味着被包括在位于与当前块不同的时区的图片中的块。例如,时间相邻块可以意味着以下各项当中的至少一个:包括当前块的中心像素的块、和包括当前块的拐角像素的块。加权候选的数量/类型可以通过对编码器/解码器预先确定来固定,或者可以基于译码参数可变地确定。例如,可以基于帧间预测模式、参考图片的类型(短期、长期)、或者当前块的尺寸/形状(正方形、长方形、非对称形等)中的至少一个来自适应地确定加权候选的数量/类型。加权候选可以具有相同的符号,并且可替换地,一些加权候选可以具有与剩余加权候选的符号不同的符号。至少一个加权候选的尺寸(绝对值)可以大于1。

将在下面描述在编码器和解码器处定义的加权候选集。

集0:(0,1/4,1/3,1/2,2/3,3/4,1)

集1:(-1/4,1/4,3/8,1/2,5/8,3/4,5/4)

在这种情况下,加权值的信息可以包括:指示加权候选集的信息、和指示加权候选集中的一个加权候选的信息这两者。

当对加权信息、和指示在自适应地导出当前块的预测块中使用的候选块的信息(索引)中的至少一个执行熵编码/解码时,可以使用以下二值化方法中的至少一个。

截断莱斯二值化(truncatedricebinarization)方法

k阶exp_golomb二值化方法

受限k阶exp_golomb二值化方法

固定长度二值化(fixed-lengthbinarization)方法

一元二值化(unarybinarization)方法

截断一元二值化方法

解码器可以通过上述描述的逆过程来获得当前解码块的预测块。将参考图11描述其描述。

图11是示出根据本发明实施例的帧间预测解码过程的流程图。

首先,在步骤s1101,解码器可以对用于解码当前解码块的预测块的信息执行熵解码。本文中,用于解码预测块的信息可以包括以下各项当中的至少一个:参考图片列表信息、参考图片索引信息、运动矢量信息、指示候选块的信息、加权值的信息、以及关于是否使用多个候选者块的信息。

用于解码当前解码块的预测块的信息可以从先前解码的块或先前解码的图片导出。例如,参考图片列表信息、参考图片索引信息、运动矢量信息、指示候选块的信息、加权值的信息、和关于是否使用多个候选块的信息中的至少一个可以从当前解码块的空间相邻块或时间相邻块中导出。

参考图片列表信息和参考图片索引信息可以用于指定当前解码块的参考图片。此外,可以将运动矢量信息用于指定参考图片中的参考块。例如,可以通过使用参考图片列表信息、参考图片索引信息、和运动矢量信息来获得l0参考块、l1参考块、或双向参考块中的至少一个。

例如,可以基于指定参考图片列表l0中的参考图片的参考图片索引和l0参考图片的运动矢量信息这两者来获得l0参考块。可以基于指定参考图片列表l1中的参考图片的参考图片索引和l1参考图片的运动矢量信息这两者来获得l1参考块。当确定l0参考块和l1参考块时,可以基于其平均值获得双向预测块。

在步骤s1102,可以基于参考图片列表信息、参考图片索引信息、和运动矢量信息来指定当前解码块的参考块。在步骤s1103,可以基于指示候选块的信息来获得当前解码块的预测块。

本文中,可以基于在生成当前块的预测块中是否使用多个候选块的信息来选择至少一个参考块。例如,当在生成当前块的预测块中使用多个候选时,可以对指示多个候选块的信息执行熵解码,并且可以基于指示多个候选的信息来选择多个参考块。

指示候选块的信息可以指示可在解码当前解码块的预测块中使用的候选块中的至少一个。例如,指示候选块的信息可以指示l0参考块、l1参考块、或双向参考块中的至少一个。

可以基于所选择的参考块来生成当前块的预测块。例如,当通过指示候选块的信息选择了一个参考块时,可以将所选的参考块导出到当前块的预测块中。

当通过向参考块分配加权来对预测块进行解码时,可以通过对候选块中的一个应用加权值来获得当前解码块的预测块。本文中,可以通过使用一部分译码参数来确定加权值。例如,可以对参考块的加权值执行熵解码。

可以由预定区域对加权值的信息执行熵解码。本文中,预定区域可以意味着译码单元或比译码单元更高的等级(例如,切片)。当多个预测块被包括在包括当前解码块的预定区域中时,预定区域的帧间预测块的全部或一部分可以共享正被用信号发送的加权值的信息。可替换地,可以由每个预测单元用信号发送加权值的信息。

加权值的信息可以被定义为指定加权候选集的多个加权候选之一的索引。参照图10描述了从加权候选集导出加权值,因此将省略详细描述。

当从候选块中选择多个参考块时,可以如通过等式2所描述的那样基于加权值来获得当前块的预测块。

解码器可以通过向在先前阶段获得的预测块添加残差信号来最终解码当前块。

如图10和图11所示,通过将至少一个参考块应用于当前块来获得当前块的预测块。根据本发明的实施例,可以通过将当前块划分成子块并且为每个子块应用至少一个参考块来获得当前块的预测块。将参照图12和图16详细描述其描述。

图12是示出根据本发明实施例的帧间预测编码过程的流程图。

首先,为了导出当前块的预测块,可以在步骤s1201获得至少一个参考块。为了便于描述,假定至少一个参考块包括l0参考块、l1参考块、和双向参考块。

在步骤s1202,编码器可以将当前解码目标块划分为随机数量m个子块。在步骤s1203,可以通过向每个子块生成最佳预测块来生成当前块的预测块。

例如,当前块被划分为数量为m的子块(m是大于1的正整数),并且可以基于与在每个子块的3个参考块(l0参考块、l1参考块、和双向参考块)处子块具有相同位置的3个子参考块(子-l0、子-l1和子-bi)来生成子块的预测块。

例如,在当前块被划分为数量为m的子块时,可以将随机子块的预测块确定为位于与随机子块相同位置的参考块中的子块(子-l0、子-l1和子-bi)之一。

图13是示出对以2n×2n或2n×n形式划分的预测单元执行帧间预测的示例的视图。如图13所示,当前译码块(即,预测块)具有m为4的划分数量,和水平类型的划分类型。

如图13所示,对于每个子块,可以自适应地从l0参考块、l1参考块和双向参考块中选择与每个子块非常相似的参考块。也就是说,可通过作为l0参考块、l1参考块、和双向参考块中的一个来自适应地使用每个子块的预测块。

尽管附图中未示出,但是可以通过对位于子块的相同位置处的参考块的子块之一应用加权来生成子块的预测块,或者可以基于位于子块的相同位置处的参考块的至少两个子块的加权和来生成子块的预测块。

对于每个子块,编码器可以基于当前块的子块从位于l0参考块、l1参考块和双向参考块的相同位置的子块中选择具有最小sad(绝对差之和)或satd(绝对变换差之和)的块。可以以与用于计算当前hevc的失真的方法相同的方式来计算sad和satd。

在步骤s1203,编码器可以对用于生成每个子块的预测块的信息进行编码。在另一个示例中,用于生成每个子块的预测块的信息可以被隐式地发送到解码器。

本文中,用于生成每个子块的预测块的信息可以包括用于将当前块划分成子块的信息、和用作每个子块的预测块的参考块的信息两者。

用于将当前块划分成子块的信息可以包括划分数量m的信息、关于是在水平方向还是垂直方向上执行划分的信息(subpart_type)等。此外,用作每个子块的预测块的参考块的信息可以包括:指示l0参考块、l1参考块和双向参考块中的至少一个的信息(索引),并且还可以包括当在生成每个子块的预测块期间使用加权和时的加权值的信息。

用于将当前块划分为子块的信息和用作每个子块的预测块的参考块的信息中的至少一个可以在视频参数集、序列参数集、图片参数集、自适应参数集、切片、译码单元、预测单元和变换单元中的至少一个处被熵编码。

当对至少一个上述信息执行熵编码/解码时,可以使用以下二值化方法中的至少一个。

截断莱斯二值化方法

k阶exp_golomb二值化方法

受限k阶exp_golomb二值化方法

固定长度二值化方法

一元二值化方法

截断一元二值化方法

在另一示例中,用于将当前块划分成子块的信息、和用作每个子块的预测块的参考块的信息中的至少一个可以以与上述在编码器/解码器处描述的相同的方式隐式设置。

在下文中,将详细公开用于将当前块划分成子块的信息、和用作每个子块的预测块的参考块的信息这两者。

可以显式地或隐式地发送划分数量m的信息。m可以是指数为2的整数,但不限于此。

可以根据垂直线或水平线中的至少一个将预测块划分成其的预定数量,并且每个子块可以相等或不相等地划分。为了不相等地划分预测块,可以通过例如序列等级、图片等级、切片等级和块等级中的至少一个来用信号发送关于子块的尺寸/形状的信息。

取决于划分为预测块(即,预测单元划分)的译码块的形状,可以确定预测块是否被划分成子块、子块的数量、或者预测块的划分形状等。

例如,仅在2n×2n的情况下,相关预测块被划分为数量为m的子块,而在不是2n×2n的情况下,预测模式被划分为小于数量m的子块的数量。具体地,在2n×n和n×2n的情况下,每个预测块的划分数量可以是m/2。

当划分形状是2n×nu、2n×nd、nl×2n、和nr×2n时,可以将子块的划分仅应用于在2个划分之间具有大区域的划分。本文中,可以将相关划分划分为数量m-1的子块。

图14是示出取决于划分形状的所划分的预测块的视图。

子块的数量m可以是根据通过当前预测块的尺寸、形状、或译码参数获得的信息而预先定义的数量。例如,在当预测块的宽度和高度分别为w(宽度)和h(高度)时并且假设w和h之间的较大值为s=max(w,h)的情况下,当s等于或大于32时,m为8,当s小于32时,m为4。

也可以在编码器/解码器处显式地发送或隐式地导出子块的划分类型。例如,可以由使用通过译码参数获得的信息或者使用当前块的宽度(w)和高度(h)隐式地导出子块的划分类型。

例如,当被划分成预测单元的译码块的形状(即,预测单元划分)不是2n×2n或n×n时,可以取决于预测块的水平/垂直尺寸来确定划分类型。

图15是示出根据预测单元划分的子块的划分形状的视图。

表示为图15的虚线的划分指示子块被划分的区域。具体地,在当前块的宽度(w)大于其高度(h)时,可以以水平方向划分当前块,并且在相反的情况下,可以以垂直方向划分当前块。因此,当预测单元划分是2n×n、2n×nu、和2n×nd时,可以以水平方向划分当前块,并且当预测单元划分为n×2n、nl×2n、nr×2n时,可以以垂直方向划分当前块。

此外,当预测单元划分是2n×2n时,当前块可以默认为被水平或垂直划分。当预测单元划分是n×n时,当前块可以不被划分。

图15示出了在当前块的预测单元划分是2n×n时,两个划分中的每一个被划分成等于或小于数量m的数量的子块。与所示出的示例不同,在当前块的预测单元划分是2n×n时,两个划分之间只有一个划分(例如,第一划分或第二划分)可以被划分成等于或小于数量m的数量的子块。

与所示出的示例不同,在当前块的预测单元划分是n×2n时,两个划分之间只有一个划分(例如,第一划分或第二划分)可以被划分成等于或小于数量m的数量的子块。

此外,当划分形状是2n×nu、2n×nd、nl×2n和nr×2n时,在两个划分之间具有小区域的划分可以被划分为子块。

根据本发明,m不固定到预定数量,或者划分类型不限于水平划分或垂直划分。根据本发明,编码器可以随机地设置数量m,并且可以在编码器/解码器处显式地发送或者隐式地导出数量m。取决于水平或垂直方向以四边形形状确定子块的划分类型,但是可以以随机形状确定划分类型,并且根据本发明可以显式地发送或隐式地导出划分类型。

指示l0参考块、l1参考块和双向参考块中的至少一个的信息(索引)指示在生成每个子块的预测块中使用的参考块。例如,在当前编码目标块被划分成4个子块时,可以选择每个子块的最佳预测块,并且可以对其信息进行编码。

虽然在图12中未示出,但是可以通过使用多个参考块的加权和来确定一个子块的最佳预测块。例如,一个子块的最佳预测块可以通过使用2个参考块的加权和来确定。

例如,可以基于2个参考块、l0参考块和双向参考块的加权和、l1参考块和双向参考块的加权和、或l0参考块和l1参考块的加权和来确定子块的预测块。

图16是示出根据本发明实施例的帧间预测解码过程的流程图。

在步骤s1601,解码器可以对用于解码当前解码块的预测块的信息执行熵解码。这里,用于解码预测块的信息可以包括以下各项当中的至少一个:参考图片列表信息、参考图片索引信息、运动矢量信息、用于将当前块划分为子块的信息、用作每个子块的预测块的参考块的信息、以及加权值的信息。

用于解码当前解码块的预测块的信息可以从先前解码的块或先前解码的图片导出。例如,参考图片列表信息、参考图片索引信息、运动矢量信息、用于将当前块划分为子块的信息、以及用作每个子块的预测块的参考块的信息中的至少一个可以从当前解码块的空间相邻块或时间相邻块导出。

可以在指定当前解码块的参考图片中使用参考图片列表信息和参考图片索引信息。此外,可以在指定参考图片中的参考块中使用运动矢量信息。例如,可以通过使用参考图片列表信息、参考图片索引信息、和运动矢量信息来获得l0参考块、l1参考块、或双向参考块中的至少一个。

例如,可以基于指定参考图片列表l0中的参考图片的参考图片索引和l0参考图片的运动矢量信息这两者来获得l0参考块。可以基于指定参考图片列表l1中的参考图片的参考图片索引和l1参考图片的运动矢量信息这两者来获得l1参考块。当确定l0参考块和l1参考块时,可以基于其平均值获得双向预测块。

在步骤s1602,可以基于子划分数量的信息和划分类型的信息这两者将当前块划分为子块。在本文中,如以上参考图13所描述的,子划分数量m和划分类型可以被熵解码,或者可以在编码器处导出。例如,如图14和图15所示,当根据编码器的相同集合在解码器处将当前块划分为多个子块时,可以取决于当前块的预测单元划分来确定子块的数量和划分形状。因此,在当前块的预测单元划分是2n×2n时,当前块可以被划分成4个划分。在当前块的预测单元划分是2n×n时,当前块可以被划分成2个划分。另外,当预测单元划分为2n×n、2n×nu、和2n×nd时,可以以水平方向划分当前块。当预测单元划分是n×2n、nl×2n、和nr×2n时,可以以垂直方向划分当前块。

在步骤s1603,可以基于参考图片列表信息、参考图片索引信息、和运动矢量信息来指定当前解码块的参考块。在步骤s1604,可以基于指示子块的候选块的信息来获得每个子块的预测块。

指示候选块的信息可以指示l0参考块、l1参考块、或双向参考块中的至少一个。例如,当指示候选块的信息指示l0参考块、l1参考块和双向参考块中的一个时,可以将与通过该信息指示的块中的子块具有相同位置的子参考块确定为子块的预测块。

可以基于至少两个参考块的加权和来获得子参考块。在这种情况下,可以对子块的加权值的信息执行熵解码。

如图15的示例所示,假设基于预测单元划分将当前块划分为子块,则将公开对每个子块的预测块进行解码的示例。

在当前解码块处于2n×2n模式时

解码器可以解码划分数量和划分类型2n×2n,以及指示每个子块的最佳参考块的索引信息(例如,‘subpart_idx’)。解码器可以在基于索引信息选择的参考块的基础上获得子块的预测块。当生成子块的预测块并且使用加权和时,对加权值进行解码,并且可以基于加权值生成子块的预测块。

在当前解码块处于n×2n或2n×n模式时

解码器被设置为具有作为n×2n类型划分的垂直划分,并且具有作为2n×n类型划分的水平划分。此外,可以在n×2n和2n×n划分处执行划分成小于随机数m的数量。

可以解码指示用于每个划分的子块的最佳参考块的索引信息(例如,“subpart_idx”),并且可以在基于索引信息选择的参考块的基础上获得子块的预测块。当生成子块的预测块并且使用加权和时,对加权值进行解码,并且可以基于加权值生成子块的预测块。

在当前解码块处于2n×nu、2n×nd、nl×2n、或nr×2n模式时

解码器可以在2个划分之间的具有大区域的划分上执行将子块划分成小于数量m的数量。

接下来,可以解码指示用于每个划分的子块的最佳参考块的索引信息(例如,“subpart_idx”),并且可以在基于索引信息选择的参考块的基础上获得子块的预测块。当生成子块的预测块并且使用加权和时,对加权值进行解码,并且可以基于加权值生成子块的预测块。

参考图10和图11,公开了在不将当前块划分为子块的情况下获得预测块。参考图12和图16,公开了在将当前块划分为子块之后获得每个子块的预测块。

根据本发明,编码器可以显示地或隐式地将关于当前块是否被划分成子块的信息发送到解码器。例如,可以对关于当前块是否被划分成子块的信息执行熵编码/解码,或者可以在编码器/解码器处导出该信息。

在当前块未被划分为子块时,可以通过图10和图11的上述实施例获得当前块的预测块。在当前块被划分为子块时,可以通过图12和图16的上述实施例获得当前块的预测块。

例如,在当前块未被划分为子块时,可以通过解码应用于每个候选参考块的加权值的信息和用于自适应地生成当前块的预测块的候选参考块的信息,来生成当前块的预测块。

在当前块被划分为子块时,可以在对用于生成子块的预测块的信息进行解码之后生成子块的预测块。

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

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

在本发明的示例性实施例中描述的组件可以通过以下各项中的至少一个来实现:数字信号处理器(dsp)、处理器、控制器、专用集成电路(asic)、诸如现场可编程门阵列(fpga)的可编程逻辑元件、其它电子设备及其组合。本发明的示例性实施例中描述的功能或处理中的至少一个可以通过软件来实现,并且该软件可以被记录在记录介质上。计算机可读存储介质的示例包括:诸如硬盘、软盘和磁带的磁记录介质;诸如cd-rom或dvd-rom的光学数据存储介质;诸如光磁软盘的磁光介质;和诸如只读存储器(rom)、随机存取存储器(ram)和闪存的硬件装置,其特别构造成存储和实现程序指令。程序指令的示例不仅包括由编译器格式化的机械语言代码,而且还包括可以由使用解释器的计算机实现的高级语言代码。硬件设备可以被配置为由一个或多个软件模块操作,反之亦然,以执行根据本发明的处理。根据本发明的实施例的组件、功能、处理等可以以硬件和软件的组合的形式来实现。

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

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

工业实用性

本发明在工业上适用于对视频信号进行编码/解码的工业领域。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1