视频信号处理方法及装置与流程

文档序号:19735800发布日期:2020-01-18 04:26阅读:169来源:国知局
视频信号处理方法及装置与流程

本发明涉及视频信号处理方法及装置。



背景技术:

近年来,各种应用领域对hd(highdefinition)图像及uhd(ultrahighdefinition)图像之类的高分辨率、高品质的图像的需求正在增加。由于图像数据的分辨率及品质变得越高则与现有图像数据相比数据量相对增加,因此在利用现有有线/无线宽带线路之类的介质传送图像数据或利用现有存储介质存储的情况下,传送费用和存储费用会增加。为了解决伴随图像数据的高分辨率、高品质化而发生的这样的问题,可利用高效的图像压缩技术。

作为图像压缩技术,存在各种技术,如根据当前图片的上一个或下一个图片预测当前图片所包含的像素值的画面间预测技术、利用当前图片内的像素信息预测当前图片所包含的像素值的画面内预测技术、对出现频率高的值分配短码并对出现频率低的值分配长码的熵编码技术、等,能够利用这样的图像压缩技术有效地压缩图像数据来进行传送或存储。

另一方面,随着对高分辨率图像的需求增加,作为新的图像服务,对立体图像内容的需求也正在同时增加。正在讨论用于有效地提供高分辨率及超高分辨率的立体图像内容的视频压缩技术。



技术实现要素:

技术问题

本发明的目的在于提供一种在对视频信号进行编码/解码时能够对编码/解码对象块有效地执行帧间预测的方法及装置。

本发明的目的在于提供一种在对视频信号进行编码/解码时能够以规定形态或规定大小的块为基准导出合并候选的方法及装置。

本发明的目的在于提供一种在对视频信号进行编码/解码时能够以规定形态或规定大小单位并行执行合并的方法及装置。

本发明要解决的技术问题并不限定于上面的提及的技术问题,本领域技术人员能够从下面的记载明确理解未提及的技术问题或其他技术问题。

解决问题的手段

根据本发明的视频信号解码方法及装置能够可导出当前块的空间合并候选,基于所述空间合并候选,生成针对所述当前块的合并候选列表,基于所述合并候选列表,获取针对所述当前块的动作信息,利用所述动作信息,执行针对所述当前块的动作补偿。此时,所述当前块的空间合并候选能够根据与包含所述当前块的上位节点块相邻的至少一个空间相邻块来导出。

根据本发明的视频信号编码方法及装置可导出当前块的空间合并候选,基于所述空间合并候选,生成针对所述当前块的合并候选列表,基于所述合并候选列表,获取针对所述当前块的动作信息,利用所述动作信息,执行针对所述当前块的动作补偿。此时,所述当前块的空间合并候选能够根据与包含所述当前块的上位节点块相邻的至少一个空间相邻块来导出。

在根据本发明的视频信号编码/解码方法及装置中,可通过所述当前块的相邻块的合并索引来特定的空间相邻块被决定为不能利用为所述当前块的空间合并候选。

在根据本发明的视频信号编码/解码方法及装置中,所述相邻块可以是比所述当前块先被编码/解码的块。

在根据本发明的视频信号编码/解码方法及装置中,具有与所述当前块的相邻块相同的合并候选的空间合并候选可被决定为不能被利用。

在根据本发明的视频信号编码/解码方法及装置中,在所述上位节点块所包含的样本数量为规定的个数以上的情况下,可根据与所述上位节点块相邻的至少一个空间相邻块导出所述当前块的空间合并候选。

在根据本发明的视频信号编码/解码方法及装置中,在满足所述上位节点块所包含的下位节点块的个数为最小值以上或者最大以下中的至少一个的情况下,可根据与所述上位节点块相邻的至少一个空间相邻块导出所述当前块的空间合并候选。

以上对本发明简要概述的特征仅是后述的本发明的详细说明的示例性的方面,并不限制本发明的范围。

发明的效果

根据本发明,能够对编码/解码对象块有效地执行帧间预测。

根据本发明,能够以规定形态或规定大小的块为基准导出合并候选。

根据本发明,能够以规定形态或规定大小单位并行执行合并。

本发明能够得到的效果并不限定于上面的提及的效果,本领域技术人员能够从下面的记载明确理解未提及的效果或其他效果。

附图说明

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

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

图3示出了作为适用本发明的一实施例的基于树结构(treestructure)将编码块分层次分割的一例。

图4是示出了作为应用本发明的一实施例的允许基于二叉树的分割的分区形态的图。

图5是示出了作为应用本发明的一实施例的仅允许特定形态的基于二叉树的分割的例子的图。

图6是用于说明作为应用本发明的一实施例的对与二叉树分割允许次数相关的信息进行编码/解码的例子的图。

图7是例示了作为应用本发明的一实施例的能够适用于编码块的分区模式的图。

图8是示出作为应用本发明的一实施例的帧间预测方法的顺序图。

图9是示出了在当前块适用合并模式时导出当前块的动作信息的过程的图。

图10是示出了空间相邻块的一例的图。

图11是用于说明空间非相邻块的图。

图12是示出和与当前块相同的ctu不相邻的空间非相邻样本替代为与ctu相邻的样本的例子的图。

图13是用于说明导出时间合并候选的动作矢量的例子的图。

图14是示出能够利用为并置块的候选块的位置的图。

图15是示出在当前块适用amvp模式时导出当前块的动作信息的过程的图。

图16是示出以正方形块为基准导出非正方形块的合并候选的例子的图。

图17是用于说明二叉树分割的块的合并候选以上位节点块为基准导出的例子的图。

图18是示出根据合并导出区域判断空间相邻块的可用性的例子的图。

图19是示出考虑相邻块的合并索引来导出当前块的合并候选的例子的图。

具体实施方式

本发明可以实施各种变更,并且可以具有多种实施例,下面在图中例示特定实施例,进行详细说明。然而,这并非要将本发明限定在特定的实施方式,应理解本发明的思想以及技术范围所包含的所有变更、等同物乃至代替物均包含在其中。在对各附图的说明中,类似的附图标记使用在类似的结构要素上。

第一、第二等用语虽然可以使用在对各种构成要素的说明中,但上述构成要素并非限定在上述用语。使用上述用语的目的仅在于,将一个构成要素与另一结构要素进行区分。例如,在不脱离本发明权利范围的前提下,第一构成要素可以被命名为第二结构要素,类似地,第二结构要素也可以被命名为第一结构要素。”和/或”这一用语包含多个相关记载项目的组合或者多个相关记载项目中的任一项目。

在提及某一结构要素“连接于”或者“接入”另一结构要素时,虽然可以直接连接于或者接入另一结构要素,但也应该理解成中间也可以存在其他构成要素。相反,在提及某一结构要素“直接连接于”或者“直接接入”另一结构要素时,应当理解成中间不存在其他结构要素。

本申请中所使用的用语仅为了说明特定实施例而使用,并非意图限定本发明。单数表现形式包含复数表现形式,除非在文脉上存在明确的不同含义。在本申请中,“包含”或者“具有”等用语,应当理解成用于指定说明书中所记载的特征、数字、步骤、动作、结构要素、部件或他们的组合的存在,而非事先排除一个或一个以上的其他特征或数字、步骤、动作、结构要素、部件或它们的组合的存在或附加可能性。

下面,参照附图,对本发明的优选实施例进行更详细的说明。以下,对于图中的同一结构要素,使用同一附图标记,对于同一结构要素省略重复的说明。

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

参照图1,图像编码装置100可包括图片分割部110、预测部120、125、转换部130、量化部135、重新整理部160、熵编码部165、反量化部140、反转换部145、滤波部150、及存储部155。

对于图1所示出的各结构部,为了在图像编码装置中表示出相互不同的特定功能而单独地示出,并非意味着各结构部由分离的硬件或者一个软件结构单位构成。即,各结构部为了便于说明而以各个结构部的形式罗列包含进来,各结构部中至少两个结构部可以合在一起构成一个结构部、或者一个结构部分为多个结构部而执行功能,这种各结构部统合在一起的实施例以及分离的实施例,只要不脱离本发明的本质,则均包含在本发明的权利范围。

此外,一部分结构要素在本发明中可能不是执行本质功能的必要性结构要素,而只是用于提高性能的选择性结构要素。本发明可以仅包含除了用于提高性能而使用的结构要素之外的实现本发明的本质所必须的结构部来实现,仅包含除了用于提高性能而使用的选择性结构要素之外的必要结构要素的结构,也包含在本发明的权利范围。

图片分割部110可将所输入的图片分割为至少一个处理单位。此时,处理单位可以是预测单位(predictionunit:pu),也可以是转换单位(transformunit:tu),还可以是编码单位(codingunit:cu)。在图片分割部110中,可将一个图片分割为多个编码单位、预测单位及转换单位的组合,并按照规定的基准(例如,费用函数)选择一个编码单位、预测单位及转换单位组合来对图片进行编码。

例如,一个图片可被分割为多个编码单位。为了在图片分割编码单位,可使用如四叉树结构(quadtreestructure)之类的递归性的树结构,以一个图像或最大大小的编码单位(largestcodingunit)为跟被分割为其他编码单位的编码单元可以以具有与被分割的编码单位的个数相同的子节点的方式被分割。因一定的限制而不能再被分割的编码单位成为叶节点。即,在假定对一个编码单元只能进行正方形分割时,一个编码单位最多能分割成四个其他编码单位。

下面,在本发明的实施例中,编码单位既可以以执行编码的单位的含义使用,也可以以执行解码的单位的含义使用。

预测单位可以是在一个编码单位内以同一大小的至少一个正方形或长方形等的形态被分割的单位,也可以是在一个编码单位内以在被分割的预测单位中某一个预测单位与另一个预测单位具有不同的形态及/或大小的方式被分割的单位。

在基于编码单位生成执行帧内预测的预测单位时,在不是最小编码单位的情况下,可以不多个分割为预测单位nxn而执行帧内预测。

预测部120、125可包括执行帧间预测的帧间预测部120、和执行帧内预测的帧内预测部125。可决定对预测单位使用帧间预测还是执行帧内预测,并决定与各预测方法对应的具体的信息(例如,帧内预测模式、运动矢量、参照图片等)。此时,被执行预测的处理单位可以与被决定预测方法及具体的内容的处理单位不同。例如,预测方法和预测模式等可通过预测单位决定,预测的执行可通过转换单位执行。所生成的预测块与原块之间的残插值(残余块)可被输入至转换部130。另外,为了预测而使用的预测模式信息、运动矢量信息等可与残插值一起在熵编码部165被编码后传送至解码器。在使用特定的编码模式的情况下,也能够不通过预测部120、125生成预测块而将原块直接编码后传送至解码部。

帧间预测部120可基于当前图片的上一个图片或下一个图片中的至少一个图片的信息预测预测单位,也可以根据情况基于当前图片内的编码完成的一部分区域的信息进行预测单位的预测。帧间预测部120可包括参照图片插值部、运动预测部、及动作补偿部。

在参照图片插值部中,可从存储部155接收参照图片信息,并从参照图片生成整数像素以下的像素信息。在亮度像素的情况下,为了以1/4像素单位生成整数像素以下的像素信息,可使用基于使滤波系数不同的dct的8抽头插值滤波(dct-basedinterpolationfilter)。在色差信号的情况下,为了以1/8像素单位生成整数像素以下的像素信息,可使用基于使滤波系数不同的dct的4抽头插值滤波(dct-basedinterpolationfilter)。

运动预测部可基于通过参照图片插值部插值后的参照图片执行运动预测。作为用于计算运动矢量的方法,可使用fbma(fullsearch-basedblockmatchingalgorithm)、tss(threestepsearch)、nts(newthree-stepsearchalgorithm)等各种方法。运动矢量可基于插值后的像素具有1/2或1/4像素单位的运动矢量值。在运动预测部中,可使运动预测方法不同来预测当前预测单位。作为运动预测方法,可使用跳过(skip)法、合并(merge)法、amvp(advancedmotionvectorprediction)法、帧内块复制(intrablockcopy)法等各种方法。

帧内预测部125可基于当前图片内的像素信息即当前块周边的参照像素信息生成预测单位。在因当前预测单位的周边块为执行了帧间预测的块而参照像素为执行了帧间预测的像素的情况下,可将执行了帧间预测的块所包含的参照像素替代为周边的执行了帧内预测的块的参照像素信息来使用。即,在参照像素不可用的情况下,可将不可用的参照像素信息替代为可用的参照像素中的至少一个参照像素来使用。

在帧内预测中,预测模式可具有将参照像素信息沿预测方向使用的定向预测模式、和在执行预测时不使用定向信息的非定向模式。用于预测亮度信息的模式与用于预测色差信息的模式可以不同,为了预测色差信息可使用为了预测亮度信息而使用的帧内预测模式信息或预测出的亮度信号信息。

在执行帧内预测时,在预测单位的大小与转换单位的大小相同的情况下,可基于存在于预测单位的左侧的像素、存在于左侧上端的像素、及存在于上端的像素执行对预测单位的帧内预测。但是,在执行帧内预测时,在预测单位的大小与转换单位的大小不同的情况下,可利用基于转换单位的参照像素来执行帧内预测。另外,可仅对最小编码单位使用利用了nxn分割的帧内预测。

在帧内预测方法中,可按照预测模式对参照像素适用ais(adaptiveintrasmoothing)滤波之后生成预测块。适用于参照像素的ais滤波的种类可不同。为了执行帧内预测方法,当前预测单位的帧内预测模式可根据存在于当前预测单位的周边的预测单位的帧内预测模式进行预测。在利用根据周边预测单位预测出的模式信息预测当前预测单位的预测模式的情况下,若当前预测单位与周边预测单位的帧内预测模式相同,则可利用规定的标志信息传送表示当前预测单位与周边预测单位的预测模式相同的信息,若当前预测单位与周边预测单位的预测模式不同,则可执行熵编码来对当前块的预测模式信息实施编码。

另外,可基于在预测部120、125生成的预测单位,生成包含执行了预测的预测单位与预测单位的原块的差值即残插值(residual)信息的残余块。所生成的残余块可输入至转换部130。

在转换部130中,可将包含原块和通过预测部120、125生成的预测单位的残插值(residual)信息的残余块使用如dct(discretecosinetransform)、dst(discretesinetransform)、klt之类的转换方法进行转换。对于为了转换残余块而适用dct还是适用dst又或者适用klt,可基于为了生成残余块而使用的预测单位的帧内预测模式信息来决定。

量化部135可量化在转换部130转换为频率区域的值。可根据块或根据图像的重要度来改变量化系数。在量化部135计算出的值可提供至反量化部140及重新整理部160。

重新整理部160可对量化的残插值执行系数值的重新整理。

重新整理部160可通过系数扫描(coefficientscanning)方法将二维块形态系数变更为一维矢量形态。例如,在重新整理部160中,利用锯齿扫描(zig-zagscan)方法从dc系数扫描至高频区域的系数来变更为一维矢量形态。根据转换单位的大小及帧内预测模式,可代替锯齿扫描而使用将二维块形态系数沿列方向扫描的垂直扫描、将二维块形态系数沿行方向扫描的水平扫描。即,可根据转换单位的大小及帧内预测模式,决定使用锯齿扫描、垂直方向扫描、及水平方向扫描中的哪种扫描方法。

熵编码部165可基于通过重新整理部160计算出的值执行熵编码。熵编码例如可使用如指数哥伦布(exponentialgolomb)、cavlc(context-adaptivevariablelengthcoding)、cabac(context-adaptivebinaryarithmeticcoding)之类的各种编码方法。

熵编码部165可从重新整理部160及预测部120、125对编码单位的残插值系数信息及块类型信息、预测模式信息、分割单位信息、预测单位信息及传送单位信息、运动矢量信息、参照帧信息、块的插值信息,滤波信息等各种信息。

在熵编码部165中可以对从重新整理部160输入的编码单位的系数值进行熵编码。

在反量化部140及反转换部145中,将在量化部135量化的值进行反量化,并对在转换部130转换后的值进行反转换。在反量化部140及反转换部145生成的残插值(residual)可以与通过预测部120、125所包含的动作推定部、动作补偿部及帧内预测部预测出的预测单位合在一起而生成重建块(reconstructedblock)。

滤波部150可包括去块滤波、偏移补正部、alf(adaptiveloopfilter)中的至少一个。

去块滤波可除去在重建的图片中因块间的边界而产生的块失真。为了判断是否执行去块,可基于块所包含的几个列或行所包含的像素判断在当前块是否适用去块滤波。在块适用去块滤波的情况下,可根据所需的去块滤波强度适用强的滤波(strongfilter)或弱的滤波(weakfilter)。另外,在适用去块滤波时,可在执行垂直滤波及水平滤波执行时并行处理水平方向滤波及垂直方向滤波。

偏移补正部可对执行了去块的图像以像素单位补正与原图像之间的偏移。为了执行对特定图片的偏移补正,可使用将图像所包含的像素分割为一定数量的区域之后决定要执行偏移的区域并对相应区域适用偏移的方法、或者考虑各像素的边缘信息来适用偏移的方法。

alf(adaptiveloopfiltering)可基于将滤波后的重建图像和原来的图像进行比较得到的值来执行。可以将图像所包含的像素分割为规定的组之后决定适用于相应组的滤波,从而按照各组进行区别性的滤波。有关是否适用alf的信息,可以按照编码单位(codingunit,cu)传送亮度信号,按照各块所要适用的alf滤波的图案以及滤波系数可以不同。此外,可以与适用对象块的特性无关,适用同一形态(固定形态)的alf滤波。

存储部155可以存储通过滤波部150算出的重建块或者图片,所存储的重建块或者图片可以在执行帧间预测时提供给预测部120、125。

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

参照图2,图像解码器200可包括熵解码部210、重新整理部215、反量化部220、反转换部225、预测部230、235、滤波部240以及存储部245。

在图像编码器中中输入图像比特流的情况下,所输入的比特流可以按照与图像编码器相反的步骤解码。

熵解码部210可以按照在图像编码器的熵编码部中执行熵编码的步骤相反的步骤执行熵解码。例如,与在图像编码器中所执行的方法对应地,可以适用如指数哥伦布(exponentialgolomb)、cavlc(context-adaptivevariablelengthcoding)、cabac(context-adaptivebinaryarithmeticcoding)之类的多种方法。

在熵解码部210中可以对与在编码器中所执行的帧内预测以及帧间预测有关的信息进行解码。

重新整理部215可以将在熵解码部210中进行熵解码的比特流基于编码部中重新整理的方法执行重新整理。可以将以一维矢量形态表现的系数重建成二维块形态的系数来进行重新整理。在重新整理部215,可以通过接收与在编码部执行的系数扫描有关的信息,并基于在相应编码部中执行的扫描顺序向反方向扫描的方法来执行重新整理。

反量化部220可以基于编码器中提供的量化参数和重新整理的块的系数值来执行反量化。

反转换部225可以对在图像编码器中执行的量化结果执行与在转换部中执行的转换即dct、dst、以及klt相反的转换即反dct、反dst以及反klt。反转换可以基于在图像编码器中决定的传送单位来执行。在图像解码器的反转换部225中,可以按照预测方法、当前块的大小以及预测方向等多个信息,选择性地执行转换方法(例如,dct、dst、klt)。

预测部230、235可以基于在熵解码部210中提供的预测块生成相关信息、和在存储部245中提供的之前已解码的块或者图片信息,来生成预测块。

如前所述,与图像编码器中的动作相同地,在执行帧内预测时预测单位的大小和转换单位的大小相同的情况下,基于存在于预测单位的左侧的像素、存在于左侧上端的像素、存在于上端的像素,来执行对预测单位的帧内预测,但在执行帧内预测时预测单位的大小和转换单位的大小不同的情况下,利用基于转换单位的参照像素来执行帧内预测。此外,可以只对最小编码单位使用利用nxn分割的帧内预测。

预测部230、235可以包括预测单位判别部、帧间预测部以及帧内预测部。预测单位判别部可以接收从熵解码部210输入的预测单位信息、帧内预测方法的预测模式信息、帧间预测方法的运动预测相关信息等多种信息的输入,从当前编码单位区分预测单位,判断预测单位是执行帧间预测还是执行帧内预测。帧间预测部230可以利用图像编码器中提供的当前预测单位的帧间预测所需要的信息,基于包含当前预测单位的当前图片的上一个图片或者下一个图片中的至少一个图片所包含的信息,来执行对当前预测单位的帧间预测。或者,基于包含当前预测单位的当前图片内已重建的一部分区域的信息,来执行帧间预测。

为了执行帧间预测,可以基于编码单位,判断相应编码单位所包含的预测单位的运动预测方法为跳过模式(skipmode)、合并模式(merge模式)、amvp模式(amvpmode)、帧内块复制模式中的哪一种方法。

帧内预测部235可以基于当前图片内的像素信息来生成预测块。在预测单位为执行了帧内预测的预测单位的情况下,可以基于图像编码器中提供的预测单位的帧内预测模式信息来执行帧内预测。帧内预测部235可以包含ais(adaptiveintrasmoothing)滤波器、参照像素插值部、dc滤波器。ais滤波器为对当前块的参照像素执行滤波的部分,可以根据当前预测单位的预测模式决定滤波器的适用与否来适用。可以利用图像编码器中提供的预测单位的预测模式以及ais滤波器信息,来对当前块的参照像素执行ais滤波。在当前块的预测模式为不执行ais滤波的模式的情况下,可以不适用ais滤波器。

参照像素插值部在预测单位的预测模式为基于对参照像素进行插值的像素值来执行帧内预测的预测单位的情况下,可以对参照像素进行插值而生成整数值以下的像素单位的参照像素。在当前预测单位的预测模式为不对参照像素进行插值就生成预测块的预测模式的情况下,可以不对参照像素进行插值。dc滤波器在当前块的预测模式为dc模式的情况下,可以通过滤波来生成预测块。

已重建的块或者图片可以提供给滤波部240。滤波部240可以包括去块滤波、偏移补正部、alf。

可以从图像编码器接收与是否对相应块或者图片适用去块滤波器有关的信息、以及与在适用了去块滤波器的情况下是适用了强滤波器还是适用了弱滤波器有关的信息。在图像解码器的去块滤波器中,可以接收图像编码器中提供的去块滤波器相关信息,并在图像解码器中对相应块执行去块滤波。

偏移补正部可以基于在编码时适用于图像的偏移补正的种类以及偏移值信息等,来对重建的图像执行偏移补正。

alf可以基于从编码器提供的alf适用与否信息、alf系数信息等,来适用于编码单位。这种alf信息可以包含在特定的参数集来提供。

存储部245可以存储已重建的图片或者块以使得能够作为参照图片或者参照块来适用,并且还可以将已重建的图片提供给输出部。

如前所述,以下,在本发明的实施例中,为便于说明,将编码单元(codingunit)作为编码单位这一用语使用,但也可以成为除执行编码之外还执行解码的单位。

另外,当前块表示编码/解码对象块,根据编码/解码步骤可以表示编码树块(或者编码树单元)、编码块(或者编码单元)、转换块(或者转换单元)或者预测块(或者预测单元)等。

一个图片可以被分割成正方形或者非正方形的基本块来被编码/解码。此时,基本块可以称为编码树单元(codingtreeunit)。编码树单元可以被定义为序列(sequence)或者条带(slice)中所允许的大小最大的编码单元。与编码树单元是正方形还是非正方形、或者编码树单元的大小有关的信息,可以通过序列参数集、图片参数集或者片头(sliceheader)等来用信号发出(signaling)。编码树单元可以被分割成大小更小的分区。此时,在将通过分割编码树单元而生成的分区设为深度1(depth)的情况下,通过分割设为深度1的分区而生成的分区可以被定义为深度2。即,通过分割编码树单元内设为深度k的分区而生成的分区可以被定义为具有深度k+1。

可以将随着分割编码树单元而生成的任意大小的分区定义为编码单元。编码单元可以被递归性地分割、或者被分割成用于执行预测、量化、转换或者环路滤波(in-loopfilter)等的基本单位。作为一例,随着分割编码单元而生成的任意大小的分区可以被定义为编码单元,或者被定义为用于执行预测、量化、转换或者环路滤波等的基本单位即转换单元或者预测单元。

编码树单元或者编码单元的分区可以基于垂直线(verticalline)或者水平线(horizontalline)中的至少一个来执行。此外,对编码树单元或者编码单元进行分区的垂直线或者水平线的个数可以为至少一个。作为一例,可以利用一个垂直线或者一个水平线将编码树单元或者编码单元分割为两个分区,或者利用两个垂直线或者两个水平线,将编码树单元或者编码单元分割为三个分区。或者,可以利用一个垂直线以及一个水平线,将编码树单元或者编码单元分割为长度以及宽度为1/2的四个分区。

在将编码树单元或者编码单元利用至少一个垂直线或者至少一个水平线分割为多个分区的情况下,分区可以具有均匀的大小或者不同的大小。或者,任一分区可以具有与剩余分区不同的大小。

在后述的实施例中,假定编码树单元或者编码单元被分割成四叉树、三叉树(tripletree)或者二叉树(binarytree)结构。然而,也可以利用数量更多的垂直线或者数量更多的水平线来分割编码树单元或者编码单元。

图3示出了作为适用本发明的一实施例的基于树结构(treestructure)将编码块分层次分割的一例。

输入图像信号被解码成规定的块单位,像这样用于解码输入图像信号的基本单位称为编码块。编码块可以成为执行帧内/帧间预测、转换、量化的单位。此外,按照编码块单位决定预测模式(例如,画面内预测模式或者画面间预测模式),编码块所包含的预测块可以共享所决定的预测模式。编码块可以为属于8x8乃至64x64范围的具有任意大小的正方形或者非正方形块,可以为具有128x128、256x256或者其以上大小的正方形或者非正方形块。

具体地,编码块可以基于四叉树(quadtree)、三叉树(tripletree)以及二叉树(binarytree)中的至少一个而分层次被分割。其中,基于四叉树的分割可以是指将2nx2n编码块分割成四个nxn编码块的方式,基于三叉树的分割可以是指将一个编码块分割成三个编码块的方式,基于二叉树的分割可以是指将一个编码块分割成两个编码块的方式。即便执行了基于三叉树的分割或者基于二叉树的分割,下位深度可以存在正方形编码块。或者,在执行基于三叉树的分割或者基于二叉树的分割之后,也可以在下位深度限制正方形编码块的生成。

基于二叉树的分割,既可以以对称方式执行,也可以以非对称方式执行。基于二叉树分割出的编码块,既可以是正方形块,也可以是如长方形之类的非正方形块。作为一例,允许基于二叉树的分割的分区形态,如图4所示,可以包含对称形(symmetric)的2nxn(水平方向非正方编码单元)或者nx2n(垂直方向非正方编码单元)、非对称形(asymmetric)的nlx2n、nrx2n、2nxnu或者2nxnd中的至少一个。

基于二叉树的分割,可以限制性地允许对称形或者非对称形态分区中的任意一个。该情况下,将编码树单元构成为正方形块可以相当于四叉树cu分区,将编码树单元构成为对称形非正方形块可以相当于二叉树分区。将编码树单元构成为正方形块和对称形非正方形块可以相当于四叉树以及二叉树cu分区。

基于二叉树的分割,可以对不再执行基于四叉树的分割的编码块执行。对于基于二叉树分割出来的编码块,可以设定成不再执行基于四叉树的分割、基于三叉树的分割或者基于二叉树的分割中的至少一个。

或者,对于基于二叉树分割出来的编码块,可以在允许基于三叉树的分割或者基于二叉树的分割的同时,限制性地仅允许水平方向或者垂直方向的分割中的任意一个。

例如,可以按照基于二叉树分割出来的编码块的位置、索引(index)、形态、相邻分区的追加分割形态等,来对基于二叉树分割出来的编码块限制追加分割或者追加分割方向。作为一例,在将通过基于二叉树的分割而生成的两个编码块中编码顺序处于前面的编码块的索引设为0(下称编码块索引0,并且将编码顺序处于后面的编码块的索引设为1(下称编码块索引1)时,在对编码块索引0或者编码块索引1的编码块均适用基于二叉树的分割的情况下,编码块索引为1的编码块的基于二叉树的分割方向,可以根据编码块索引为0的编码块的基于二叉树的分割方向来决定。具体而言,在编码块索引为0的编码块的基于二叉树的分割方向为将编码块索引为0的编码块分割成正方形分区的情况下,编码块索引为1的编码块的基于二叉树的分割可以被限制成具有与编码块索引为1的编码块的基于二叉树的分割不同的方向。即,可以限制编码块索引0以及编码块索引1的编码块均分割成正方形分区。该情况下,可以省略表示编码块索引为1的编码块的二叉树分割方向的信息的编码/解码。这是因为,编码块索引0以及编码块索引1的编码块均分割成正方形分区,呈现与将上位深度块基于四叉树进行分割相同的效果,允许将编码块索引0以及编码块索引1均分割成正方形分区在编码效率方面并不优选。

基于三叉树的分割表示沿水平或者垂直方向将编码块分割为三个分区。通过基于三叉树的分割而生成的三个分区可以均具有不同的大小。或者,通过基于三叉树的分割而生成的分区中,可以是两个具有相同的大小,剩余一个具有不同的大小。作为一例,随着编码块的分割而生成的分区的宽度比或者高度比,可以沿着分割方向设定为1:n:1,1:1:n,n:1:1或者m:n:1。其中,m和n为1或者大于1的实数,例如可以是2之类的整数。

基于三叉树的分割可以对不再执行基于四叉树的分割的编码块执行。对于基于三叉树而分割出来的编码块,可以被设定为不再执行基于四叉树的分割、基于三叉树的分割或者基于二叉树的分割中的至少一个。

或者,对基于三叉树分割出来的编码块允许基于三叉树的分割或者基于二叉树的分割的同时,限制性地仅允许水平方向或者垂直方向的分割中的任意一个。

例如,可以根据基于三叉树分割出来的编码块的位置、索引、形态、大小、相邻分区的追加分割形态等,来对基于三叉树分割出来的编码块限制追加分割或者追加分割方向。作为一例,对于因基于三叉树的分割而生成的编码块中大小最大的分区,可以限制水平方向分割或者垂直方向分割中的任意一个。具体而言,对于因基于三叉树的分割而生成的编码块中大小最大的分区,可以不允许与上位深度分区的三叉树分割方向相同的方向的二叉树分割或者相同的方向的三叉树分割方向。该情况下,可以对基于三叉树分割出来的编码块中最大的分区,省略表示二叉树分割方向或者三叉树分割方向的信息的编码/解码。

可以根据当前块的大小或者形态,限制基于二叉树或者基于三叉树的分割。其中,当前块的大小可以基于当前块的宽度、高度、宽度/高度中最小值/最大值、宽度与高度之和、宽度与高度之积或者当前块所包含的样品数量中的至少一个来表现。作为一例,在当前块的宽度或者高度中的至少一个大于已定义的值的情况下,可以不允许基于二叉树或者基于三叉树的分割。其中,已定义的值可以为16、32、64或者128等整数。作为另一例,在当前块的宽度与高度之比大于已定义的值的情况下或者小于已定义的值的情况下,可以不允许基于二叉树或者基于三叉树的分割。在已定义的值为1的情况下,可以仅针对当前块为宽度和高度相同的正方形块的情况允许基于二叉树或者基于三叉树的分割。

下位深度的分割可以依赖于上位深度的分割形态而决定。作为一例,在两个以上的深度允许基于二叉树的分割的情况下,可以在下位深度仅允许形态与上位深度的二叉树分割形态相同的基于二叉树的分割。例如,在上位深度按照2nxn形态执行了基于二叉树的分割的情况下,可以在下位深度也执行2nxn形态的基于二叉树的分割。或者,在上位深度按照nx2n形态执行了基于二叉树的分割的情况下,可以在下位深度也允许nx2n形态的基于二叉树的分割。

相反,在下位深度,可以仅允许形态与上位深度的二叉树分割形态不同的基于二叉树的分割。

针对序列、条带、编码树单元或者编码单元,可以限制它们仅使用特定形态的基于二叉树的分割或者特定形态的基于三叉树的分割。作为一例,可以对编码树单元进行限制而仅允许2nxn或者nx2n形态的基于二叉树的分割。所允许的分区形态,既可以是事先定义在编码器或者解码器,也可以对与所允许的分区形态或者不允许的分区形态相关的信息进行编码并通过比特流用信号发出(signaling)。

图5为表示仅允许特定形态的基于二叉树的分割得例子的图。图5的(a)表示限制成仅允许nx2n形态的基于二叉树的分割的例子,图5的(b)表示限制成仅允许2nxn形态的基于二叉树的分割例子。为了实现基于上述四叉树或者二叉树的适应性分割,可以利用指示基于四叉树的分割的信息、与允许基于四叉树的分割的编码块的大小/深度有关的信息、指示基于二叉树的分割的信息、与允许基于二叉树的分割的编码块的大小/深度有关的信息、与不允许基于二叉树的分割的编码块的大小/深度有关的信息或者与基于二叉树的分割为纵向还是横向有关的信息等。

另外,针对编码树单元或者规定的编码单元,可以获取允许二叉树分割/三叉树分割的次数、允许二叉树分割/三叉树分割的深度或者允许二叉树分割/三叉树分割的深度的个数等。上述信息可以编码成编码树单元或者编码单元单位,并通过比特流传送给解码器。

作为一例,通过比特流,表示允许二叉树分割的最大深度的语法‘max_binary_depth_idx_minus1’可以通过比特流编码/解码。该情况下,max_binary_depth_idx_minus1+1可以指代允许二叉树分割的最大深度。

观察图6所示出的例子可以发现,在图6中,针对深度2的编码单元以及深度3的编码单元执行了二叉树分割。由此,表示编码树单元内执行了二叉树分割的次数(两次)的信息、表示编码树单元内允许二叉树分割的最大深度(深度3)的信息或者表示编码树单元内允许二叉树分割的深度的个数(两个,深度2以及深度3)的信息中的至少一个,可以通过比特流编码/解码。

作为另一例子,允许二叉树分割/三叉树分割的次数、允许二叉树分割/三叉树分割的深度或者允许二叉树分割/三叉树分割的深度的个数中的至少一个,可以按照序列、图片或者条带获取。作为一例,上述信息可以被编码成序列、图片或者条带单位后通过比特流传送。或者,按照序列、图片或者条带事先定义允许二叉树分割/三叉树分割的深度或者允许二叉树分割/三叉树分割的深度的个数。由此,第一条带以及第二条带的二叉树/三叉树分割次数、允许二叉树/三叉树分割的最大深度或者允许二叉树/三叉树分割的深度的个数中的至少一个可以不同。作为一例,在第一条带,仅在一个深度允许二叉树分割,相反在第二条带,在两个深度允许二叉树分割。

作为另一其他例子,可以根据条带或者图片的时间级别标识符(temporalid)将允许二叉树/三叉树分割的次数、允许二叉树/三叉树分割的深度或者允许二叉树/三叉树分割的深度的个数中的至少一个设定为不同。其中,时间级别标识符(temporalid)是用于识别在视点(view)、空间(spatial)、时间(temporal)、或者画质(quality)中具有至少一个的可扩展性(scalability)的图像的多个层中的每一个。

如图3所示,分割深度(splitdepth)为k的第一编码块300可以基于四叉树(quadtree)而分割成多个第二编码块。例如,第二编码块310乃至340可以为具有第一编码块的宽度和高度的一半大小的正方形块,第二编码块的分割深度增加为k+1。

分割深度为k+1的第二编码块310可被分割为分割深度为k+2的多个第三编码块。第二编码块310的分割可以根据分割方式选择性地利用四叉树或者二叉树中的任意一个来执行。其中,分割方式可以基于指示基于四叉树的分割的信息或者指示基于二叉树的分割的信息中的至少一个来决定。

在将第二编码块310基于四叉树分割的情况下,第二编码块310可以被分割成具有第二编码块的宽度和高度的一半大小的四个第三编码块310a,并且第三编码块310a的分割深度增加为k+2。相反,在将第二编码块310基于二叉树分割的情况下,第二编码块310可以被分割成两个第三编码块。此时,两个第三编码块分别为第二编码块的宽度和高度中任意一个为一半大小的非正方形块,并且分割深度增加为k+2。第二编码块可以根据分割方向决定成横向或者纵向的非正方形块,分割方向则可基于与基于二叉树的分割为纵向还是横向有关的信息来决定。

另一方面,第二编码块310可以被决定成不能再基于四叉树或者二叉树分割的末端编码块,该情况下,相应编码块可以作为预测块或者转换块使用。

第三编码块310a可以与第二编码块310的分割相同地决定成末端编码块,或者基于四叉树或者二叉树被进一步分割。

另一方面,基于二叉树分割出来的第三编码块310b还可以基于二叉树进一步分割成纵向的编码块310b-2或者横向的编码块310b-3,并且相应编码块的分割深度增加为k+3。或者,第三编码块310b可以被决定成不再基于二叉树分割的末端编码块310b-1,该情况下,相应编码块310b-1可以作为预测块或者转换块使用。上述的分割过程可以基于与允许基于四叉树的分割的编码块的大小/深度有关的信息、与允许基于二叉树的分割的编码块的大小/深度有关的信息或者与不允许基于二叉树的分割的编码块的大小/深度有关的信息中的至少一个来限制性地执行。

编码块所能具有的大小可以被限制为规定个数,或者规定单位内编码块的大小可以具有固定的值。作为一例,序列内编码块的大小或者图片内编码块的大小可以被限制成256x256、128x128或者32x32。表示序列或者图片内编码块的大小的信息,可以通过序列报头或者图片报头用信号发出。

基于四叉树、二叉树以及三叉树分割的结果,编码单元可以呈正方形或者任意大小的长方形。

可以利用跳过模式、画面内预测、画面间预测或者跳过方法中的至少一种来对编码块进行编码/解码。

作为另一例子,可以通过编码块的分割,而以与编码块相同的大小或者小于编码块的单位执行帧内预测或者帧间预测。为此,当编码块被决定时,可以通过编码块的预测分割来决定预测块(predictionblock)。编码块的预测分割可以通过表示编码块的分割形态的分区模式(part_mode)来执行。预测块的大小或者形态可以根据编码块的分区模式来决定。作为一例,根据分区模式而决定的预测块的大小可以具有与编码块的大小相同或小的值。

图7为表示通过画面间预测对编码块进行编码时可适用于编码块的分区模式的图。

在通过画面间预测对编码块进行编码的情况下,如图7的示例所示,可以将8个分区模式中的任意一个适用于编码块。

在通过画面内预测对编码块进行编码的情况下,可以将分区模式part_2nx2n或者part_nxn适用于编码块。

part_nxn可以在编码块具有最小大小的情况下予以适用。其中,编码块的最小大小可以在编码器以及解码器中事先定义。或者,与编码块的最小大小有关的信息可以通过比特流用信号发出。作为一例,编码块的最小大小可以通过片头用信号发出,因此,可以按照每个条带定义编码块的最小大小。

一般而言,预测块的大小可以具有从64x64到4x4的大小。然而,在通过画面间预测对编码块进行编码的情况下,当执行动作补偿时,为了减小存储部带宽(memorybandwidth),可以使预测块不具有4x4大小。

图8是示出作为应用本发明的一实施例的帧间预测方法的顺序图。

参照图8,决定当前块的动作信息(s810)。当前块的动作信息可包括关于当前块的动作矢量、当前块的参照图片索引、或当前块的帧间预测方向中的至少一个。

当前块的动作信息可基于与通过比特流用信号发出的信息或当前块相邻的相邻块的动作信息中的至少一个来获取。

图9是示出了在当前块适用合并模式时导出当前块的动作信息的过程的图。

合并模式是指将当前块的动作信息根据周边块导出的方法。

在当前块适用合并模式的情况下,可根据当前块的空间相邻块导出空间合并候选(s910)。空间相邻块可包括与当前块的上端、左侧、或当前块的角(例如,上端左侧角、右侧上端角、或左侧下端角中的至少一个)相邻的块中的至少一个。

图10是示出了空间相邻块的一例的图。

如图10示出的例子所示,空间相邻块可包括与当前块的左侧相邻的相邻块a1、与当前块的上端相邻的相邻块b1、与当前块的左侧下端角相邻的相邻块a0、与当前块的右侧上端角相邻的相邻块b0、及与当前块的左侧上端角相邻的相邻块b2中的至少一个。

进一步扩展图10的实施例,可从与当前块的左侧上端样本相邻的块、与上端中央样本相邻的块、或与当前块的右侧上端样本相邻的块中的至少一个导出空间合并候选,或者可从与当前块的左侧上端样本相邻的块、与左侧中央样本相邻的块、或与当前块的左侧下端样本相邻的块中的至少一个导出空间合并候选。可根据当前块的形态,决定扩展的空间相邻块的利用可能性。作为一例,在当前块是宽度比高度大的非正方形态的块的情况下,可决定为与当前块的左侧上端样本相邻的块、与左侧中央样本相邻的块、或与当前块的左侧下端样本相邻的块不能利用。相反,在当前块是高度比宽度大的块情况下,可决定为与当前块的左侧上端样本相邻的块、与上端中央样本相邻的块、或与当前块的右侧上端样本相邻的块不能利用。

还可从与当前块不相邻的空间非相邻块导出空间合并候选。空间非相邻块可以是包含和与当前块相邻的空间相邻块位于相同的垂直线上、相同的水平线上、或对角线上的样本的块。由此,空间非相邻块可包括:和与当前块的上端、右侧上端角、或左侧上端角相邻的块位于相同的垂直线上的块、和与当前块的左侧、左侧下端角、或左侧上端角相邻的块位于相同的水平线上的块、或和与当前块的角相邻的块位于相同的对角线上的块中的至少一个。

图11是用于说明空间非相邻块的图。

空间非相邻块的位置可以是x坐标及y坐标从相邻的块增加/减少单位块(在图11中标记为“grid”)的宽度/高度的位置。即,空间非相邻样本的位置可以是x坐标及y坐标从位于相同的水平线上、垂直线上、或对角线上的空间相邻样本或空间非相邻样本增加/减少单位宽度/单位高度的位置。例如,空间非相邻块a1可包括x坐标从与相邻的空间相邻块a0减少-4的空间非相邻样本,空间非相邻块a2可包括x坐标从空间非相邻块a1减少-4的空间非相邻样本。

单位块可具有4x4的大小,还可具有8x8或其以上的大小。或者,还可根据当前块的形态将单位块设定为非正方形态。作为一例,在当前块是非正方形的情况下,单位块可具有2x4、2x8、4x2、或8x2等的形态。

或者,还可根据当前块的宽度或高度决定单位块的大小。例如,单位块的宽度/高度可设定为当前块的宽度/高度的1/2倍。作为一例,在当前块的宽度是8的情况下,单位块的宽度设定为4,在当前块的宽度是16的情况下,单位块的宽度设定为8。同样地,在当前块的高度为8的情况下,单位块的高度设定为4,在当前块的高度是16的情况下,单位块的高度设定为8。

在当前块与空间非相邻样本不包含在相同的ctu的情况下,可利用与ctu边界相邻的样本导出空间合并候选。在此,与ctu边界相邻的样本可指包含在与当前块包含在不同的ctu的样本,还可指与当前块包含在相同的ctu的样本。

图12是示出和与当前块相同的ctu不相邻的空间非相邻样本替代为与ctu相邻的样本的例子的图。

如图12所示的例子,在空间非相邻样本不包含在与当前块相同的ctu的情况下,可利用与ctu相邻的样本中的至少一个导出当前块的合并候选。此时,在空间非相邻样本位于当前块的上端部的情况下(即,在空间相邻块的y坐标比当前块的左侧上端样本的y坐标小的情况下),可利用和与ctu相邻的样本中的空间非相邻样本位于相同的垂直线上的样本。或者,可利用对与ctu相邻的样本中的空间非相邻样本的x坐标加或减偏移的样本。

相反,在空间非相邻样本位于当前块的左侧部的情况下(即,空间相邻样本的x坐标比当前块的左侧上端样本的x坐标小的情况下),可利用和与ctu相邻的样本中的空间非相邻样本位于相同的水平线上的样本。或者,可利用对与ctu相邻的样本中的空间非相邻样本的y坐标加或减偏移的样本。

与图12示出的例子不同地,在相对于当前块的角位于对角线上的空间非相邻样本不包含在与当前块相同的ctu的情况下,可利用和与ctu相邻的样本中的空间非相邻样本位于对角线上的样本来导出当前块的合并候选。

合并候选的搜索可以以从空间相邻块至空间非相邻块的顺序执行。或者,在与当前块相邻的相邻块不能利用为合并候选的情况下,可将与当前块不相邻的块使用为当前块的合并候选。

空间合并候选的动作信息可与空间相邻块/空间非相邻块的动作信息相同地设定。

可以以规定的顺序搜索相邻块来决定空间合并候选。作为一例,在图10示出的例子中,可以以a1、b1、b0、a0、b2块的顺序执行用于决定空间合并候选的搜索。此时,b2块可使用于剩余块(即,a1、b1、b0、及a0)中的至少一个不存在或者至少一个以帧内预测模式被编码的情况。

空间合并候选的搜索顺序可以是在编码器/解码器中已定义的。或者,可根据当前块的大小或形态,适应性地决定空间合并候选的搜索顺序。或者,还可基于通过比特流发的信息决定空间合并候选的搜索顺序。

可从当前块的时间相邻块导出时间合并候选(s920)。时间相邻块可以为并置图片所包含的同一位置块(co-locatedblock,并置块)。并置图片具有与包含当前块的当前图片不同的时间顺序(pictureordercount,poc)。并置图片可决定为在参照图片列表内具有已定义的索引的图片、或与当前图片的输出顺序(poc)的差异最小的图片。或者,还可通过从比特流用信号发出的信息决定并置图片。从比特流用信号发出的信息可包含表示包含并置图片的参照图片列表(例如,l0参照图片列表或l1参照图片列表)的信息及/或表示参照图片列表内并置图片的索引中的至少一个。用于决定并置图片的信息可通过图片参数集、片头、或块级别中的至少一个用信号发出。

时间合并候选的动作信息可基于并置块的动作信息来决定。作为一例,时间合并候选的动作矢量可基于并置块的动作矢量来决定。例如,时间合并候选的动作矢量可与并置块的动作矢量相同地设定。或者,时间合并候选的动作矢量可通过基于当前图片与当前块的参照图片之间的输出顺序(poc)差异及/或并置图片与并置图片的参照图片之间的输出顺序(poc)差异并置块的动作缩放矢量来导出。

图13是用于说明导出时间合并候选的动作矢量的例子的图。

在图13示出的例子中,tb表示当前图片curr_pic与当前图片的参照图片curr_ref之间的poc差异,td表示并置图片col_pic与并置块的参照图片之间col_ref的poc差异。时间合并候选的动作矢量可将并置块col_pu的动作矢量基于tb及/或td进行缩放来导出。

或者,可通过考虑并置块的利用可能性,可将并置块的动作矢量及将其缩放的动作矢量全部利用为时间合并候选的动作矢量。作为一例,可将并置块的动作矢量设定为第一时间合并候选的动作矢量,并将缩放了并置块的动作矢量的值设定为第二时间合并候选的动作矢量。

时间合并候选的帧间预测方向可与时间相邻块的帧间预测方向相同地设定。但是,时间合并候选的参照图片索引可具有固定的值。作为一例,时间合并候选的参照图片索引可设定为“0”。或者,还可基于空间合并候选的参照图片索引以及当前图片的参照图片索引中的至少一个,适应性地决定时间合并候选的参照图片索引。

并置块可决定为并置图片内与当前块具有相同的位置及大小的块内的任意的块、或和与当前块具有相同的位置及大小的块相邻的块。

图14是示出能够利用为并置块的候选块的位置的图。

候选块可包含在并置图片内与当前块的左侧上端角位置相邻的块、与当前块的中央样本位置相邻的块、或与当前块的左侧下端角位置相邻的块中的至少一个。

作为一例,候选块可包括并置图片内包含当前块的左上端样本位置的块tl、包含当前块的右下端样本位置的块br、与当前块的右下端角相邻的块h、包含当前块的中央样本位置的块c3、或与当前块的中央样本相邻的块(例如,包含从当前块的中央样本隔开(-1,-1)的样本位置的块)c0中的至少一个。

并不局限于图14示出的例子,还可将并置图片内包含与当前块的规定边界相邻的相邻块的位置的块选择为并置块。

时间合并候选的个数可以是一个或一个以上。作为一例,可基于一个以上的并置块,导出一个以上的时间合并候选。

有关时间合并候选的最大个数的信息可在编码器被编码而用信号发出。或者,还可基于合并候选列表可包含的合并候选的最大个数及/或空间合并候选的最大个数导出时间合并候选的最大个数。或者,可基于能够利用的并置块的个数决定时间合并候选的最大个数。

可按照规定的优先顺序决定候选块的利用可能性,基于所述决定及时间合并候选的最大个数,决定至少一个并置块。作为一例,在包含当前块的中央样本位置的块c3、及与当前块的右下端角相邻的块h是候选块的情况下,可将c3块及h块中的某一个决定为并置块。在h块为可用的情况下,可将h块决定为并置块。相反,在h块为不可用的情况下(例如,h块通过画面内预测被编码的情况、h块为不能使用的情况、或h块位于最大的编码单元(largestcodingunit,lcu)的外侧的情况等),可将c3块决定为并置块。

作为另一例子,在并置图片内与当前块的右下端角位置相邻的多个块中的至少一个是不可用的情况下(例如,h块及/或br块),可将不可用块替代为可用的其他块。替代不可用块的其他块可包括并置图片内与当前块的中央样本位置相邻的块(例如,c0及/或c3),或与当前块的左侧上端角位置相邻的块(例如,tl)中的至少一个。

在并置图片内与当前块的中央样本位置相邻的多个块中的至少一个是不可用的情况、或在并置图片内与当前块的左侧上端角位置相邻的多个块中的至少一个是不可用的情况下,也可将不可用的块替代为可用的其他块来使用。

此后,可生成包含空间合并候选及时间合并候选的合并候选列表(s930)。在构成合并候选列表时,可从合并候选列表删除具有与已追加的合并候选相同的动作信息的合并候选。

有关合并候选的最大个数的信息可通过比特流用信号发出。作为一例,可通过序列参数或图片参数将宝石合并候选的最大个数的信用信号发出。作为一例,在合并候选的最大个数是五个的情况下,可将空间合并候选及时间合并候选合计选择五个。例如,可选择五个空间合并候选中的四个,并选择二个的时间合并候选中的一个。如果,在合并候选列表所包含的合并候选的个数比最大合并候选个数小的情况下,组合了二个以上的合并候选的被组合的合并候选、或具有(0,0)动作矢量(zeromotionvector)的合并候选可被包含于合并候选列表。

或者,还可将二个以上的合并候选的动作矢量平均的平均合并候选包含于合并候选列表。可将合并候选列表所包含的二个以上的合并候选的动作矢量平均来导出平均合并候选。作为一例,在合并候选列表追加了第一合并候选及第二合并候选的情况下,可将第一合并候选的动作矢量与第二合并候选的动作矢量平均来获取平均合并候选。具体地,可将第一合并候选的l0动作矢量与第二合并候选的l0动作矢量平均来导出平均合并候选的l0动作矢量,可将第一合并候选的l1动作矢量与第二合并候选的l1动作矢量平均来导出平均合并候选的l1动作矢量。在第一合并候选及第二合并候选中某一个适用双向预测,另一个适用单向预测的情况下,可将双向合并候选的动作矢量直接设定为平均合并候选的l0动作矢量、或l1动作矢量。作为一例,在对第一合并候选执行l0方向及l1方向预测,而对第二合并候选执行l0方向预测的情况下,可将第一合并候选的l0动作矢量及第二合并候选的l0动作矢量平均来导出平均合并候选的l0动作矢量,而可通过第一合并候选的l1动作矢量导出平均合并候选的l1动作矢量。

在第一合并候选与第二合并候选的参照图片不同的情况下,可通过考虑当前图片与各合并候选的参照图片之间的距离(即,poc差),缩放第一合并候选或第二合并候选的动作矢量。例如,在缩放第二合并候选的动作矢量之后,可将第一合并候选的动作矢量与缩放后的第二合并候选的动作矢量平均来导出平均合并候选。此时,可基于各合并候选的参照图片索引的大小、当前块与各合并候选的参照图片之间的距离、或是否适用双向预测等来设定优先顺序,并对优先顺序高的(或低的)合并候选的动作矢量适用缩放。

平均可以以使合并候选的参照图片索引指示参照图片列表中特定位置的参照图片的方式进行设定。作为一例,平均合并候选的参照图片索引可指示参照图片列表的第一个或最后一个参照图片。或者,可将平均合并候选的参照图片索引与第一合并候选、或第二合并候选的参照图片索引相同地进行设定。作为一例,在第一合并候选与第二合并候选的参照图片索引相同的情况下,可将合并候选的参照图片索引与第一合并候选及第二合并候选的参照图片索引相同地进行设定。在第一合并候选与第二合并候选的参照图片索引不同的情况下,可基于各合并候选的参照图片索引的大小、当前块与各合并候选的参照图片之间的距离、或是否适用双向预测等来设定优先顺序,并将优先顺序高的(或低的)合并候选的参照图片索引设定为平均合并候选的参照图片索引。作为一例,在第一合并候选适用双向预测,第二合并候选适用单向预测的情况下,可将适用双向预测的第一合并候选的参照图片索引决定为平均合并候选的参照图片索引。

合并候选可按照已定义的优先顺序包含于合并候选列表。优先顺序越高则分配于合并候选的索引可具有越小的值。作为一例,空间合并候选可比时间合并候选先追加到合并候选列表。另外,空间合并候选可按照左侧相邻块的空间合并候选、上端相邻块的空间合并候选、与右侧上端角相邻的块的空间合并候选、与左侧下端角相邻的块的空间合并候选、及与上端左侧角相邻的块的空间合并候选的顺序追加到合并候选列表。或者,还能够以使从与当前块的左侧上端角相邻的相邻块(图10的b2)导出的空间合并候选在时间合并候选之后追加到合并候选列表的方式进行设定。

作为另一例子,还可根据当前块的大小或形态决定合并候选之间的优先顺序。作为一例,在当前块是宽度比高度大的长方形形态的情况下,左侧相邻块的空间合并候选可在上端相邻块的空间合并候选之前追加到合并候选列表。相反,在当前块是高度比宽度大的长方形形态的情况下,上端相邻块的空间合并候选可在左侧相邻块的空间合并候选之前追加到合并候选列表。

作为另一例子,还可根据合并候选各自的动作信息,决定合并候选之间的优先顺序。作为一例,具有双向动作信息的合并候选可具有比具有单向动作信息的合并候选高的优先顺序。由此,具有双向动作信息的合并候选可在具有单向动作信息的合并候选之前追加到合并候选列表。

作为另一例子,在按照已定义的优先顺序生成合并候选列表之后,还可重新排列合并候选。重新排列可基于合并候选的动作信息执行。作为一例,可基于合并候选是否具有双向动作信息、动作矢量的大小、动作矢量精确度、或当前图片与合并候选的参照图片之间的时间顺序(poc)中的至少一个来执行重新排列。具体地,可以以使具有双向动作信息的合并候选比具有单向合并候选的合并候选具有更高的优先顺序的方式执行重新排列。或者,可以以使动作矢量精确度为小数的合并候选比动作矢量精确度为整数的合并候选具有更高的优先顺序的方式执行重新排列。

若生成了合并候选列表,可基于合并候选索引,特定合并候选列表所包含的合并候选中的至少一个(s940)。

当前块的动作信息可与通过合并候选索引特定的合并候选的动作信息相同地设定(s950)。作为一例,在通过合并候选索引选择了空间合并候选的情况下,当前块的动作信息可与空间相邻块的动作信息相同地设定。或者,在通过合并候选索引选择了时间合并候选的情况下,当前块的动作信息可与时间相邻块的动作信息相同地设定。

图15是示出在当前块适用amvp模式时导出当前块的动作信息的过程的图。

在当前块适用amvp模式的情况下,可从比特流解码当前块的帧间预测方向或参照图片索引中的至少一个(s1510)。即,在适用amvp模式的情况下,当前块的帧间预测方向或参照图片索引中的至少一个可基于通过比特流编码的信息来决定。

可基于当前块的空间相邻块的动作矢量决定空间动作矢量候选(s1520)。空间动作矢量候选可包括从当前块的上端相邻块导出的第一空间动作矢量候选或从当前块的左侧相邻块导出的第二空间动作矢量候选中的至少一个。在此,上端相邻块可包括与当前块的上端或上端右侧角相邻的块中的至少一个,当前块的左侧相邻块可包括与当前块的左侧或左侧下端角相邻的块中的至少一个。与当前块的左侧上端角相邻的块可被视为上端相邻块,或还可被视为左侧相邻块。

或者,可从与当前块不相邻的空间非相邻块导出空间动作矢量候选。作为一例,可利用和与当前块的上端、右侧上端角、或左侧上端角相邻的块位于相同的垂直线上的块、和与当前块的左侧、左侧下端角、或左侧上端角相邻的块位于相同的水平线上的块、或和与当前块的角相邻的块位于相同的对角线上的块中的至少一个,导出当前块的空间动作矢量候选。在空间相邻块不可用的情况下,可利用空间非相邻块导出空间动作矢量候选。

作为另一例子,还可利用空间相邻块及空间非相邻块导出二个以上的空间动作矢量候选。作为一例,可基于与当前块相邻的相邻块导出第一空间动作矢量候选及第二空间动作矢量候选,另一方面,还可基于不与当前块相邻但与所述相邻块相邻的相邻块导出第三空间动作矢量候选及/或第四空间动作矢量候选。

在当前块与空间相邻块之间的参照图片不同的情况下,还可通过缩放空间相邻块的动作矢量来获取空间动作矢量。可基于当前块的时间相邻块的动作矢量决定时间动作矢量候选(s1530)。在当前块与时间相邻块之间的参照图片不同的情况下,还可通过缩放时间相邻块的动作矢量获取时间动作矢量。此时,可限于空间动作矢量候选的个数为规定个数以下的情况来导出时间动作矢量候选。

可生成包含空间动作矢量候选及时间动作矢量候选的动作矢量候选列表(s1540)。

若生成出动作矢量候选列表,可基于特定动作矢量候选列表中的至少一个的信息,特定动作矢量候选列表所包含的动作矢量候选中的至少一个(s1550)。

可将通过所述信息特定的动作矢量候选设定为当前块的动作矢量预测值,并对动作矢量预测值加上动作矢量差分值来获取当前块的动作矢量(s1560)。此时,可通过比特流解析动作矢量差分值。

若获取到当前块的动作信息,可基于所获取的动作信息,执行对当前块的动作补偿(s820)。具体地,可基于当前块的帧间预测方向、参照图片索引、及动作矢量,执行对当前块的动作补偿。

若作为动作补偿执行结果获取到预测样本,可基于所生成的预测样本重建当前块。具体地,可对当前块的预测样本加上残余样本来获取重建样本。

可以以规定形态的块或规定大小以上的块为基准导出合并候选。由此,在当前块不具有规定形态的情况、或在当前块的大小比规定大小小的情况下,可基于包含当前块的规定形态或规定大小以上的块导出当前块的合并候选。作为一例,可基于包含非正方形态的编码单元的正方形态的编码单元导出针对非正方形态的编码单元的合并候选。

图16是示出以正方形块为基准导出非正方形块的合并候选的例子的图。

可以以包含非正方形块的正方形块为基准导出针对非正方形块的合并候选。作为一例,在图16示出的例子中,可以以正方形态的块为基准导出非正方形态的编码块0及编码块1的合并候选。由此,针对编码块0及编码块1,可从与正方形态的块相邻的空间相邻块a0、a1、a2、a3、及a4中的至少一个导出合并候选。

虽未图示,针对非正方形块的时间合并候选也可以以正方形态的块为基准导出。作为一例,针对编码块0及编码块1,可使用从以正方形态的块为基准决定的时间相邻块导出的时间合并候选。由此,属于正方形块的编码块0及编码块1可共享相同的合并候选。

或者,可将空间合并候选及时间合并候选中的至少一个以正方形块为基准导出,将另一个非以正方形块为基准导出。作为一例,编码块0及编码块1使用以正方形块为基准导出的相同的空间合并候选,相反,编码块0及编码块1可使用以各块的位置为基准导出的不同的时间合并候选。

在上述的例子中,例示了以正方形块为基准导出合并候选的情况,但还能够规定形态的非以正方形块为基准导出合并候选。作为一例,在当前块是2nxn形态(在此,n是1/2n)的非正方形块的情况下,可将对当前块的合并候选以2nxn形态的非正方形块为基准导出,在当前块是nx2n形态的非正方形块的情况下,可将对当前块的合并候选以nx2n形态的非正方形块为基准导出。

表示成为合并候选的导出基准的块的形态或块的大小的信息可通过比特流用信号发出。作为一例,与表示非正方形或正方形的块形态相关的信息可通过比特流用信号发出。或者,编码器/解码器可按照已定义的规则,以已定义的形态或已定义的大小以上的块为基准导出合并候选。

作为另一例子,可基于满足规定条件的父节点导出合并候选。在此,规定条件可包括是否为四叉树分割单位、块的大小、块的形态、或是否脱离图片边界等。在此,四叉树分割单位可表示适用四叉树分割生成的块、或可适用四叉树分割的块(例如,规定大小以上的正方形块)。作为一例,在设定为以四叉树分割单位导出合并候选的情况下,若当前块是通过二叉树分割或三叉树分割生成的,则当前块的合并候选可以以作为四叉树分割单位的上位节点块为基准导出。如果,若针对当前块不存在四叉树分割的上位节点块,则对当前块的合并候选还可以以包含当前块的lcu或特定大小的块为基准导出。

图17是用于说明二叉树分割的块的合并候选以上位节点块为基准导出的例子的图。

一二叉树形态分割的非正方形态的块0及块1可使用四叉树单位的以上位节点块为基准导出的空间合并候选a0、a、a2、a3、及a4中的至少一个。由此,块0及块1可使用相同的空间合并候选。

另外,二叉树分割的非正方形态的块2、块3及块4可使用四叉树单位的以上位节点块为基准导出的空间合并候选b0、b1、b2、b3、及b4中的至少一个。由此,块2、块3及块4可使用相同的空间合并候选。

虽未图示,针对二叉树分割的块的时间合并候选也可以以上位节点块为基准导出。由此,块0及块1可使用从以四叉树块单位为基准决定的时间相邻块导出的相同的时间合并候选。另外,块2、块3及块4也可以使用从以四叉树块单位为基准决定的时间相邻块导出的相同的时间合并候选。由此,上位节点块所包含的下位节点块可共享相同的合并候选列表。

或者,空间合并候选及时间合并候选中的至少一个可以以下位节点块为基准导出,另一个也能够以上位节点块为基准导出。作为一例,块0及块1可使用以上位节点块为基准导出的相同的空间合并候选,相反,块0及块1可使用以各块的位置为基准导出的不同的时间合并候选。

作为另一例子,在编码块适用四叉树分割、二叉树分割、或三叉树分割,并且下位节点块中包括比已设定的大小小的大小的块或非正方形块,并且并且上位节点块不脱离图片边界的情况下,可以以宽度或高度为已定义的值以上或者样本数量为64、128或256的正方或非正方形态的上位节点块为基准导出合并候选。上位节点块所包含的下位节点块可共享以上位节点块为基准导出的合并候选列表。

或者,还可设定为基于上位节点块所包含的下位节点块中某一个导出合并候选,且下位节点块共享基于下位节点块中某一个导出的合并候选列表。

表示下位节点块是否共享以上位节点块为基准导出的合并候选列表的信息可通过比特流用信号发出。可根据所述信息决定是否将比已定义的大小的小的块或非正方形块的合并候选以上位节点块为基准导出。或者,可由编码器/解码器按照已定义的规则决定是否以上位节点块为基准导出合并候选。

如上所述,可通过块单位(例如,编码块或预测块)或已定义的单位导出针对当前块的合并候选。此时,当前块的空间合并候选中存在于已定义的区域内的可被判断为不能利用,并从空间合并候选中除去。作为一例,若为了块间并行处理而定义了并行处理区域,可将当前块的空间合并候选中并行处理区域所包含的合并候选判断为不能利用。并行处理区域可称为合并导出区域(mergeestimationregion,mer)。并行处理区域内的块具有能够并行地执行合并的优点。为了判断当前块及空间相邻块是否包含于相同的合并导出区域,可执行移位运算。具体地,通过将当前块的左侧参照样本位置与空间相邻块位置进行移位运算来将00进行00。

合并导出区域既可以是正方形态,也可以是非正方形态。例如,可将正方形或非正方形的预测单元或编码单元定义为合并导出区域。非正方形态的合并导出区域可限定为规定形态。作为一例,非正方形态的合并导出区域可呈2nxn或nx2n的形态。

表示合并导出区域的形态的信息或表示合并导出区域的大小的信息中的至少一个可通过比特流用信号发出。作为一例,可通过片头、图片参数、或序列参数将与合并导出区域的形态或大小相关的信息用信号发出。或者,序列或图片内的合并导出区域的大小或形态中的至少一个可变化。例如,可通过条带或图片单位更新合并导出区域的大小或形态。在合并导出区域的大小或形态与以前单位区域不同的情况下,更新的合并导出区域的信息可用信号发出。

可定义合并导出区域所包含的块的最小值或最大值。作为一例,可限于合并导出区域所包含的块的个数比最大值小的情况、合并导出区域所包含的块的个数比最小值大的情况、或合并导出区域所包含的块的个数为最小值或最大值的范围的情况,来允许合并导出区域所包含的块间并行处理。

表示合并导出区域的形态的信息可以是1比特的标志。作为一例,表示合并导出区域是正方形还是非正方形的语法'isrectagular_mer_flag'可通过比特流用信号发出。isrectagular_mer_flag的值为1可表示合并导出区域为非正方形,isrectagular_mer_flag的值为0可表示合并导出区域为正方形。

在合并导出区域是非正方形的情况下,与宽度(width)、高度(height)、或宽度及高度比(ratio)相关的信息中的至少一个可通过比特流用信号发出。基于此,可导出非正方形态的合并导出区域的大小及/或形态。

图18是示出根据合并导出区域判断空间相邻块的可用性的例子的图。

在合并导出区域呈nx2n形态,并且所述合并导出区域为具有规定大小的情况下,与所述合并导出区域所包含的块1相同的合并导出区域所包含的空间相邻块b0及b3不能利用于针对块1的空间合并候选。由此,块1的空间合并候选可从除了空间相邻块b0及b3之外的空间相邻块b1、b2及b4中的至少一个导出。

与此同样地,与块3相同的合并导出区域所包含的空间相邻块c0不能利用于针对块3的空间合并候选。由此,块3的空间合并候选可从除了空间相邻块c0之外的空间相邻块c1、c2、c3及c4中的至少一个导出。

块间合并候选导出顺序可按照块间优先顺序或已定义的顺序执行。在此,优先顺序或已定义的顺序可基于块间编码/解码顺序、块扫描顺序、光栅扫描顺序、块的大小/形态、块的位置、块间相对位置、分区索引、或是否包含于相同的合并导出区域等来决定。作为一例,在正方形块分割为多个非正方形态的块时,多个非正方形态块可按照编码/解码顺序执行动作补偿。由此,多个非正方形态块可按照编码/解码顺序依次导出合并候选。

在构成当前块的合并候选列表时,可考虑相邻块的动作信息或相邻块的合并候选。作为一例,在以包含当前块的上位节点块为基准导出当前块的合并候选的情况下,可设定为具有与相邻块相同的动作信息的合并候选或相邻块的合并索引所表示的合并候选不能利用为当前块的合并候选。

图19是示出考虑相邻块的合并索引来导出当前块的合并候选的例子的图。

为了方便说明,在图19示出的非正方块中,将编码/解码顺序快的块定义为第一块,将编码/解码顺序慢的块定义为第二块。同时,假设第一块是位于左侧的非正方块,第二块是位于右侧的非正方块。另外,假设第一块及第二块的合并候选基于正方形态的上位节点块导出。

首先,可以以上位节点块为基准导出针对第一块的合并候选。作为一例,如图19示出的例子,第一块可从与上位节点块相邻的空间相邻块a0、a1、a2、a3、及a4导出合并候选。

第一块的动作信息可基于通过合并索引特定的合并候选来导出。作为一例,在第一块的合并索引表示从a0导出的合并候选的情况下,第一块的动作信息可以与a0相同地设定。

其次,可基于上位节点块导出第二块的合并候选,并且将通过第一块的合并索引特定的合并候选决定为不能作为第二块的合并候选利用。作为一例,与上位节点块相邻的空间相邻块a0是通过第一块的合并索引特定的,可决定为不能作为第二块的合并候选利用。由此,第二块可从与上位节点块相邻的空间相邻块a1,a2、a3及a4导出合并候选。

或者,可将第二块的合并候选中的具有与第一块的动作信息相同的动作信息的合并候选决定为不能作为第二块的合并候选利用。作为一例,与上位节点块相邻的空间相邻块a0、a1、a2、a3、及a4中a0的动作信息与第一块的动作信息相同,a0可决定为不能作为第二块的合并候选利用。

除了图示的例子之外,在利用空间非相邻块导出合并候选的情况下,也可将在前面从编码/解码的块选择的空间非相邻块决定为不能作为当前块的合并候选利用。

在第一块未编码未合并模式的情况下,也可将与第一块的动作信息相同的合并候选决定为不能作为第二块的合并候选利用。

上述实施例以解码过程为中心进行了说明,但可以以与所说明的顺序相同的顺序或相反顺序执行编码过程。

上述的实施例基于一系列步骤或者顺序图来进行说明,但这并非限定发明的时间序列,可以根据需要同时执行或者按照其他顺序执行。此外,在上述的实施例中构成框图的构成要素(例如,单元、模块等)每一个既可以由硬件装置或者软件来实现,也可以通过多个构成要素的结合而由一个硬件装置或者软件来实现。上述的实施例可由能够通过多种计算机构成要素来执行的程序指令形态来实现并存储于计算机可读取存储介质中。上述计算机可读取存储介质可以以单独方式或者组合方式包含程序指令、数据文件、数据结构等。作为计算机可读取存储介质的示例,包括硬盘、软盘以及磁带之类的磁介质、cd-rom、dvd之类的光存储介质、光磁盘(flopticaldisk)之类的光磁介质(magneto-opticalmedia)、以及rom、ram、闪存等之类的以存储程序指令并予以执行的方式特别构成的硬件装置。上述硬件装置为了执行本发明所涉及的处理而可以构成为作为一个以上的软件模块运转,反之也一样。

工业可利用性

本发明可适用于能够对图像进行编码/解码的电子装置。

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