帧间预测方法及其装置与流程

文档序号:11292588阅读:143来源:国知局
帧间预测方法及其装置与流程

本申请是2014年5月7日提交的国际申请日为2012年9月7日、申请号为201280054717.3(pct/kr2012/007224)的,发明名称为“帧间预测方法及其装置”专利申请的分案申请。

本发明涉及图像处理,尤其是,涉及帧间预测方法和装置。



背景技术:

近来,在各种领域中存在对于具有高分辨率和高质量图像,诸如高清(hd)视频和超高清(uhd)视频的增长需求。与现有的图像数据相比,高分辨率和高质量图像数据需要相对巨大的信息量或者比特量。因此,当通过使用介质诸如现有的有线/无线宽带线路发送图像数据的时候,或者当图像数据通过使用现有的存储介质存储的时候,传输费用和存储费用升高。为了解决这些问题,可以使用高效的图像压缩技术。

作为视频压缩技术,存在各种技术,诸如帧间预测方法,其从当前图片的先前的和/或后续的图片中预测包括在当前图片中的像素值,帧内预测方法,其通过使用在当前图片中的像素信息预测包括在当前图片中的像素值,熵编码技术,其分配短的代码字给具有高出现频率的值,和分配长的代码字给具有低出现频率的值等。这样的图像压缩技术可用于通过有效地压缩图像数据发送或者存储图像数据。



技术实现要素:

技术问题

本发明提供用于能够降低复杂性和改善编码/解码效率的视频编码的方法和装置。

本发明还提供能够降低复杂性和改善编码/解码效率的视频解码方法和装置。

本发明还提供一种能够降低复杂性和改善编码/解码效率的帧间预测方法和装置。

本发明还提供能够降低复杂性和改善编码/解码效率的合并候选列表产生方法和装置。

技术解决方案

按照本发明的一个方面,提供了一种帧间预测方法,包括:产生要预测的块的合并候选列表,并且该块对应于当前的预测单元(pu);基于构成合并候选列表的多个合并候选中的一个,推导要预测的块的运动信息;以及基于推导的运动信息对要预测的块执行预测,以产生对应于当前pu的预测块,其中当前pu是属于合并候选共享单元的pu,以及其中在合并候选列表的产生中,有选择地产生由多个第一合并候选构成的第一合并候选列表,和由多个第二合并候选构成的第二合并候选列表中的一个,多个第一合并候选是基于要预测的块的位置和大小确定的多个第一块的运动信息,并且多个第二合并候选是基于与合并候选共享单元相对应的块的位置和大小确定的多个第二块的运动信息。

在本发明的前面提到的方面中,在合并候选列表的产生中,是否产生第一合并候选列表,或者是否产生第二合并候选列表可以是由合并候选共享单元确定的,并且如果其确定产生第二合并候选列表,则在合并候选共享单元中的所有pu可以共享第二合并候选列表。

此外,合并候选共享单元可以是当前pu所属的当前编译单元(cu),和多个第二合并候选可以是基于要解码的块的位置和大小确定的多个第二块的运动信息,并且该块对应于当前cu。

此外,多个第一块可以包括在要预测的块外部位置上最靠近于左下角的块,在相邻于要预测的块的左侧的块之中位于最下面部分的块,在要预测的块外部位置上最靠近于左上角的块,在相邻于要预测的块的上面部分的块之中位于最右侧的块,和位置上最靠近于要预测的块的右上角的块,和多个第二块可以包括在要解码的块外部位置上最靠近于左下角的块,在相邻于要解码的块的左侧的块之中位于最下面部分的块,在要解码的块外部位置上最靠近于左上角的块,在相邻于要解码的块的上面部分的块之中位于最右侧的块,和位置上最靠近于要解码的块的右上角的块。

此外,在合并候选列表的产生中,如果确定产生第一合并候选列表,则在多个第一块之中位于要解码的块中的块的运动信息可以不用作第一合并候选。

此外,在合并候选列表的产生中,如果确定产生第一合并候选列表,则当前pu的分割模式是2n×n、2n×nu或者2n×nd,并且当前pu是位于当前编译单元内的下面部分的pu,因而,在相邻于要预测的块的上面部分的块之中位于最右侧的块的运动信息可以不用作第一合并候选。

此外,在合并候选列表的产生中,如果确定产生第一合并候选列表,则当前pu的分割模式是n×2n、nl×2n或者nr×2n,并且当前pu是位于当前编译单元内的右侧的pu,因而,在相邻于要预测的块的左侧的块之中位于最下面部分的块的运动信息可以不用作第一合并候选。

此外,在当前pu所属的并行处理单元中对于所有pu可以并行执行合并候选列表的产生和运动信息的推导,并行处理单元可以基于指示并行处理单元大小的并行处理水平确定,并且有关并行处理水平的信息可以包括在图片参数集(pps)中,以及被从编码器发送给解码器。

此外,在合并候选列表的产生中,是产生第一合并候选列表,还是产生第二合并候选列表可以基于要解码的块的大小和并行处理水平确定。

此外,在合并候选列表的产生中,如果要解码的块的大小是8×8,并且并行处理单元的大小是4×4,则可以产生第二合并候选列表。

按照本发明的另一个方面,提供了一种视频解码方法,包括:产生要预测的块的合并候选列表,并且该块对应于当前pu;基于构成合并候选列表的多个合并候选的一个,推导要预测的块的运动信息;基于推导的运动信息对要预测的块执行预测,以产生与当前pu相对应的预测块;以及基于产生的pu产生重建的块,其中当前pu是属于合并候选共享单元的pu,和其中在合并候选列表的产生中,有选择地产生由多个第一合并候选构成的第一合并候选列表,和由多个第二合并候选构成的第二合并候选列表中的一个,多个第一合并候选是基于要预测的块的位置和大小确定的多个第一块的运动信息,并且多个第二合并候选是基于与合并候选共享单元相对应的块的位置和大小确定的多个第二块的运动信息。

在本发明的前面提到的方面中,在合并候选列表的产生中,是否产生第一合并候选列表,或者是否产生第二合并候选列表可以是由合并候选共享单元确定的,并且如果确定产生第二合并候选列表,则在合并候选共享单元中的所有pu可以共享第二合并候选列表。

此外,合并候选共享单元可以是当前pu所属的当前cu,和多个第二合并候选可以是基于要解码的块的位置和大小确定的多个第二块的运动信息,并且该块对应于当前cu。

此外,多个第一块可以包括在要预测的块外部位置上最靠近于左下角的块,在相邻于要预测的块的左侧的块之中位于最下面部分的块,在要预测的块外部位置上最靠近于左上角的块,在相邻于要预测的块的上面部分块之中位于最右侧的块,和位置上最靠近于要预测的块的右上角的块,和多个第二块可以包括在要解码的块外部位置上最靠近于左下角的块,在相邻于要解码的块的左侧的块之中位于最下面部分的块,在要解码的块外部位置上最靠近于左上角的块,在相邻于要解码的块的上面部分的块之中位于最右侧的块,和位置上最靠近于要解码的块的右上角的块。

此外,在合并候选列表的产生中,如果确定产生第一合并候选列表,则在多个第一块之中位于要解码的块中的块的运动信息可以不用作第一合并候选。

此外,在合并候选列表的产生中,如果确定产生第一合并候选列表,则当前pu的分割模式是2n×n、2n×nu或者2n×nd,并且当前pu是位于当前编译单元内的下面部分的pu,因而,在相邻于要预测的块的上面部分的块之中位于最右侧块的运动信息可以不用作第一合并候选。

此外,在合并候选列表的产生中,如果确定产生第一合并候选列表,则当前pu的分割模式是n×2n、nl×2n或者nr×2n,并且当前pu是位于当前编译单元内的右侧的pu,因而,在相邻于要预测的块的左侧的块之中位于最下面部分的块的运动信息可以不用作第一合并候选。

此外,在当前pu所属的并行处理单元中对于所有pu可以并行执行合并候选列表的产生和运动信息的推导,并行处理单元可以基于指示并行处理单元的大小的并行处理水平确定,并且有关并行处理水平的信息可以包括在图片参数集(pps)中,以及被从编码器发送给解码器。

此外,在合并候选列表的产生中,是产生第一合并候选列表,还是产生第二合并候选列表可以基于要解码的块的大小和并行处理水平确定。

此外,在合并候选列表的产生中,如果要解码的块的大小是8×8,并且并行处理单元的大小是4×4,则可以产生第二合并候选列表。

有益效果

按照本发明的视频编译方法,复杂度可以降低,并且编码/解码效率可以改善。

按照本发明的视频解码方法,复杂度可以降低,并且编码/解码效率可以改善。

按照本发明的帧间预测方法,复杂度可以降低,并且编码/解码效率可以改善。

按照本发明的合并候选列表产生方法,复杂度可以降低,并且编码/解码效率可以改善。

附图说明

图1是按照本发明的实施例的视频编码器的方框图。

图2是示出按照本发明的实施例的预测器的概念的示意图。

图3是按照本发明的实施例的视频解码器的方框图。

图4是示出按照本发明的实施例的视频解码器的预测器概念的示意图。

图5是示出在按照本发明的系统中的处理单元的四树结构的示例的概念的示意图。

图6是简要地示出在合并模式中的帧间预测方法的实施例的流程图。

图7是示出用于产生合并候选列表的合并候选的实施例的示意图。

图8是示出以合并模式和跳跃模式的并行处理单元的实施例的示意图。

图9是用于解释当以合并模式执行并行运动估算(me)的时候出现的问题的示意图。

图10是示出推导用于使能并行me的合并候选方法实施例的示意图。

图11是示出推导用于使能并行me的合并候选方法的另一个实施例的示意图。

图12是示出推导用于使能并行me的合并候选方法的另一个实施例的示意图。

图13是示出在合并候选共享单元中推导用于预测单元(pu)的通用合并候选的方法的实施例的示意图。

图14是示出在合并候选共享单元中推导用于pu的通用合并候选的方法的另一个实施例的示意图。

图15是示出推导运动估算区(mer)合并候选的方法的实施例的示意图。

图16是示出推导mer合并候选的方法的另一个实施例的示意图。

图17是示出推导mer合并候选的方法的另一个实施例的示意图。

图18是示出推导mer合并候选的方法的另一个实施例的示意图。

图19是示出推导mer合并候选的方法的另一个实施例的示意图。

图20是示出推导mer合并候选的方法的另一个实施例的示意图。

图21是示出推导mer合并候选的方法的另一个实施例的示意图。

图22是示出推导mer合并候选的方法的另一个实施例的示意图。

图23是示出推导mer合并候选的方法的另一个实施例的示意图。

图24是示出推导mer合并候选的方法的另一个实施例的示意图。

具体实施方式

由于本发明可以具有各种改进和不同的实施例,仅特定的实施例在附图中示例性地地图示,并且将进行详细描述。但是,本发明不应该被认为是局限于在此处阐述的特定的实施例。在此处使用的术语仅是为了描述特定的实施例的目的,并且不意欲限制本发明。如在此处使用的,单数形式同样意欲包括复数形式,除非上下文以其他方式清楚地指示。在本申请中,应该理解,该术语,诸如“包括”或者“具有”等意欲指示在说明书中公开的特点、数目、操作、动作、部件、部分,或者其组合的存在,并且不意欲排除一个或多个其它的特点、数目、操作、动作、部件、部分,或者其组合可以存在或者可以增加的可能性。

同时,为了关于在视频编码器/解码器中不同的特定的功能解释的方便起见,在本发明描述的附图中独立地图示相应的结构,并且其不暗指相应的结构以单独的硬件实体或者单独的软件实体实现。例如,在相应的结构之中,两个或更多个结构可以合并成一个结构,并且一个结构可以被分成多个结构。只要不脱离本发明的精神,相应的结构被集成和/或分离的实施例也包括在本发明的范围中。

此外,某些构成元件可能不是用于执行固有功能必需的构成元件,而是仅用于改善性能的选择性的构成元件。除了仅用于改善性能的构成元件之外,本发明可以通过仅包括用于实现本发明精神的必需的构成元件实现。除了仅用于改善性能的选择性的构成元件之外,仅仅包必需的构成元件的结构也包括在本发明的范围中。

在下文中将参考伴随的附图详细描述本发明的实施例。此外,贯穿附图相同的附图标记用于指示相同元件,并且对相同元件的相同的描述将被省略。

图1是按照本发明一个实施例的视频编码器的框图。参考图1,视频编码器100包括图片划分器105、预测器110、变换器115、量化器120、重新排序器125、熵编码器130、去量化器135、逆变换器140、滤波器145和存储器150。

基于至少一个处理单元图片划分器105可以划分输入图片。在这种情况下,处理单元可以是预测单元(pu)、变换单元(tu)或者编译单元(cu)。

如下所述,预测器110可以包括执行帧间预测的帧间预测器,和执行帧内预测的帧内预测器。预测器110可以通过对于在图片划分器105中的图片的处理单元执行预测产生预测块。在预测器100中图片的处理单元可以是cu、tu或者pu。此外,确定对于相对应的处理单元执行的预测是帧间预测还是帧内预测,并且可以确定每个预测方法的特定内容(例如,预测模式等)。在这种情况下,用于执行预测的处理单元可以与用于确定特定内容的处理单元不同。例如,预测方法、预测模式等可以以pu为单位确定,并且预测可以以tu为单位执行。在产生的预测块和初始块之间的残留值(即,残留块)可以被输入到变换器115。此外,用于预测的预测模式信息、运动矢量信息等可以在熵编码器130中与残留值一起被编译,并且可以被递送到解码器。

基于变换单元变换器115变换残留块,并且产生变换系数。变换器115的变换单元可以是tu,并且可以具有四树结构。在这种情况下,变换单元的大小可以在特定的最大或者最小大小的范围中确定。变换器115可以通过使用离散余弦变换(dct)和/或离散正弦变换(dst)来变换残留块。

量化器120可以通过量化在变换器115中变换的残留值产生量化系数。可以将由量化器120计算的值提供给去量化器135和重新排序器125。

重新排序器125可以重新排序从量化器120提供的量化系数。量化系数的重新排序可以提高在熵编码器130中的编译效率。重新排序器125可以通过使用系数扫描方法将具有2维块形式的量化系数重新排序为1维矢量形式。基于从量化器发送的系数的概率统计数值重新排序器125可以改变系数扫描的顺序,从而提高在熵编码器130中的熵编码效率。

熵编码器130可以相对于由重新排序器125重新排序的量化系数执行熵编码。熵编码器130可以编译从重新排序器125和预测器110递送的各种信息。该信息可以包括编译单元的量化系数信息和块类型信息、预测模式信息、划分单元信息、预测单元信息和传输单元信息、运动矢量信息、参考图片信息、块的内插信息、滤波信息等。

熵编码可以使用指数golomb、cavlc(上下文自适应的可变长度编码),和/或cabac(上下文自适应的二进制算术编码)。例如,用于执行熵编码的表,诸如,可变长度编码(vlc)表可以存储在熵编码器130中。熵编码器130可以通过使用存储的vlc表执行熵编码。对于另一个示例,在cabac熵编码方法中,熵编码器130可以将符号变换为二进制形式,即,bin,并且因此,可以按照比特产生概率通过对bin执行算术编码产生比特流。

当应用熵编码的时候,具有高值的索引及其相应的短代码字可以分配给具有高产生概率的符号,并且具有高值的索引及其相应的长代码字可以分配给具有低产生概率的符号。因此,可以降低用于要编译的符号的比特量,并且视频压缩性能可以通过熵编码而改善。

去量化器135可以去量化由量化器120量化的值。逆变换器140可以逆变换由去量化器135去量化的值。在去量化器135和逆变换器140中产生的残留值可以与由预测器110预测的预测块结合,并且因此,可以产生重建的块。

滤波器145可以将内环滤波器应用于重建的块和/或图片。内环滤波器可以包括去块滤波、采样自适应的偏移(sao),和/或自适应循环滤波器(alf)等。

去块滤波可以在重建的图片中除去在块之间的边界处出现的块失真。sao可以将适当的偏移值增加给像素值以补偿编译错误。alf可以基于用于将原始图像与在经由去块滤波器滤波块之后重建的图像进行比较的值执行滤波。

同时,关于在帧内预测中使用的重建的块,滤波器145可以不必应用滤波。

存储器150可以存储通过使用滤波器145计算的重建的块或者图片。可以将存储在存储器150中的重建的块或者图片提供给用于执行帧间预测的预测器110。

图2是示出按照本发明一个实施例的预测器的概念的示意图。参考图2,预测器200可以包括帧间预测器210和帧内预测器220。

帧间预测器210可以基于当前图片的先前的图片或者后续图片的信息通过执行预测产生预测块。此外,帧内预测器220可以基于在当前图片中的像素信息通过执行预测产生预测块。

关于预测单元(pu),帧间预测器210可以选择参考图片,并且可以选择具有与pu相同大小的参考块作为像素采样单元。随后,帧间预测器210可以产生预测块,该预测块是小于整数单位的采样单位(例如,1/2像素采样单位和1/4像素采样单位),并且因此,是最类似于当前的pu,并且其残留信号可以被减到最小,而且要编译的运动矢量也可以被减到最小。在这种情况下,运动矢量可以以小于整数像素的单位表示。

由帧间预测器210选择的参考图片的索引和有关运动矢量的信息可以被编码,并且传送给解码器。

图3是按照本发明一个实施例的视频解码器的方框图。参考图3,视频解码器300可以包括熵解码器310、重新排序器315、去量化器320、逆变换器325、预测器330、滤波器335和存储器340。

当视频比特流被输入到视频解码器的时候,输入的比特流可以按照在视频编码器中处理视频信息的操作被解码。

熵解码器310可以对输入的比特流执行熵解码。熵解码方法类似于前面提到的熵编码方法。当应用熵解码的时候,具有高值的索引及其相应的短代码字可以分配给具有高产生概率的符号,并且具有高值的索引及其相应的长代码字可以分配给具有低产生概率的符号。因此,用于要编译的符号的比特量可以降低,并且视频压缩性能可以通过熵编码而改善。

在由熵解码器310解码的多条信息之中,用于产生预测块的信息可以提供给预测器330,并且可以将在熵解码器中经历熵解码的残留值输入给重新排序器315。

重新排序器315可以按照在视频编码器中使用的重新排序方法重新排序在熵解码器310中经历熵解码的比特流。重新排序器315可以通过将以1维矢量格式表示的系数重建为2维块形式的系数执行重新排序。重新排序器315可以接收与在编码器中执行的系数扫描相关的信息,并且可以基于在编码器中执行的扫描顺序,通过使用反扫描方法执行重新排序。

去量化器320基于从编码器提供的量化参数和重新排序的块的系数值执行去量化。

按照由视频编码器执行的量化结果,逆变换器325可以相对于由编码器的变换器执行的dct和dst执行逆dct和/或逆dst。逆变换可以基于确定的传输单元或者图像划分单元执行。编码器的变换器可以按照多条信息,诸如预测方法、当前块大小,和/或预测方向等有选择地执行dct和/或dst。解码器的逆变换器325可以基于有关在编码器的变换器中执行的变换的信息执行逆变换。

预测器330可以基于从熵解码器310提供的预测块产生相关信息,和预先地解码的块和/或从存储器340提供的图片信息产生预测块。重建的块可以通过使用从预测器330产生的预测模块和从逆变换器325提供的残留块产生。

可以将重建的块和/或图片可以提供给滤波器335。滤波器335可以将内环滤波器应用到重建的块和/或图片。内环滤波器可以包括去块滤波器、采样自适应的偏移(sao),和/或自适应循环滤波器(alf)等。

存储器340可以存储重建的图片或者块,以便用作参考图片或者参考块,或者可以将重建的图片提供给输出元件。

图4是示出按照本发明的一个实施例的视频解码器的预测器概念的示意图。

参考图4,预测器400可以包括帧内预测器410和帧间预测器420。

当用于相应的pu的预测模式是帧内预测模式(即,在屏幕中的预测模式)的时候,帧内预测器410可以基于在当前图片中的像素信息产生预测块。

如果用于pu的预测模式是帧间预测模式(即,屏幕间预测模式),则帧间预测器420可以使用用于从视频编码器提供的当前pu的帧间预测需要的信息,例如,关于运动矢量、参考图片索引等的信息,以基于包括在当前图片(当前pu包括在其中)的先前的和后续的图片的至少一个中的信息对当前pu执行帧间预测。

在这种情况下,如果从编码器接收的编译单元(cu)的跳跃标记、合并标记等被确认,则可以根据其推导运动信息。

在下文中,如果“图像”或者“屏幕”可以按照本发明的配置或者表示用于与“图片”相同的含义,该“图片”也可以称为“图像”或者“屏幕”。此外,帧间预测和屏幕间预测具有相同的含义,并且帧内预测和屏幕内预测具有相同的含义。

图5是示出在按照本发明的系统中的处理单元的四树结构的示例的概念的示意图。

编译单元(cu)可以暗指执行图片的编码/解码的单元。在要编译的图片中的一个编译块可以基于四树结构具有深度,并且可以被重复地分割。在这种情况下,不再分割的编译块可以对应于cu,并且编码器可以对于cu执行编码处理。cu的大小可以是各种,诸如64×64、32×32、16×16、8×8等。

在此处,基于四树结构被重复地分割的编码块可以称作编译树块(ctb)。一个ctb可以不必进一步分割,并且在这种情况下,ctb本身可以对应于一个cu。因此,ctb可以对应于最大的编译单元(lcu),其是具有最大大小的cu。同时,在ctb中具有最小大小的cu可以被称作最小的编译单元(scu)。

参考图5,经由分割,ctb500可以具有由较小cu510组成的分层结构。ctb500的分层结构可以基于大小信息、深度信息、分割标记信息等指定。关于ctb大小的信息、分割深度信息、分割标记信息等可以通过包括在有关比特流的序列参数集(sps)中从编码器发送给解码器。

同时,将在帧间预测和帧内预测之间执行的预测可以以cu为单位确定。如果执行帧间预测,帧间预测模式、运动信息等可以以pu为单位确定,并且如果执行帧内预测,则帧内预测模式可以以pu为单位确定。在这种情况下,如上所述,通过其执行预测的处理单元可以与通过其确定预测方法的处理单元相同,以及确定其特定内容,或者两个单元可以是不同的。例如,预测方法、预测模式等可以以pu为单位确定,并且预测可以以变换单元(tu)为单位执行。

参考图5,一个cu510可以用作一个pu,或者可以被分割为多个pu。在帧内预测520的情况下,cu(和/或pu)的分割模式可以是2n×2n或者n×n模式(这里n是整数)。在此处,以2n×2n模式的pu可以具有2n×2n的大小,并且以n×n模式的pu可以具有n×n的大小。在帧间预测530的情况下,cu(和/或pu)的分割模式可以是2n×2n、2n×n、n×2n、n×n、2n×nu、2n×nd、nl×2n或者nr×2n模式(这里n是整数)。在此处,以2n×n模式的pu可以具有2n×n的大小,并且以n×2n模式的pu可以具有n×2n的大小。此外,在2n×nu模式中,一个cu可以被分割为具有2n×(1/2)n大小的pu,和具有2n×(3/2)n大小的pu。在这种情况下,具有2n×(1/2)n大小的pu可以位于具有2n×(3/2)n大小的pu的上面部分中。在2n×nd模式中,一个cu可以被分割为具有2n×(3/2)n大小的pu,和具有2n×(1/2)n大小的pu。在这种情况下,具有2n×(1/2)n大小的pu可以位于具有2n×(3/2)n大小的pu的下面部分中。此外,在nl×2n模式中,一个cu可以被分割为具有(1/2)n×2n大小的pu,和具有(3/2)n×2n大小的pu。在这种情况下,具有(1/2)n×2n大小的pu可以位于具有(3/2)n×2n大小的pu的左侧。在nr×2n模式中,一个cu可以被分割为具有(3/2)n×2n大小的pu,和具有(1/2)n×2n大小的pu。在这种情况下,具有(1/2)n×2n大小的pu可以位于具有(3/2)n×2n大小的pu的右侧。

前面提到的分割模式仅是一个实施例,并且因此,将cu分割为pu的方法不局限于前面提到的实施例。例如,在帧间预测530的情况下,cu(和/或pu)的分割模式可以仅使用四种类型的模式,即,2n×2n、2n×n、n×2n和n×n,并且除了前面提到的8种类型的分割模式之外,可以进一步使用其它分割模式。

应用于当前cu(和/或pu)的分割模式可以由编码器确定。关于由编码器确定的分割模式的信息可以被编译和发送给解码器。解码器可以基于发送的分割模式信息确定当前cu(和/或pu)。例如,分割模式信息可以通过使用分割_模式(part_mode)语法发送给解码器。

同时,分配给在图5的520和530中示出的每个pu的数字表示pu的分割索引。在此处,分割索引可以暗指指示在当前cu所属的pu之中当前pu对应哪个pu的索引。例如,分割索引可以由partidx表示。

参考图5,例如,在图5的520示出的n×n分割模式中,在cu中位于右上部的pu的分割索引可以对应于1。因此,如果1被分配给当前pu的分割索引,分割索引的值可以指示当前pu是在当前cu中位于右上部的pu。对于另一个示例,在图5的530示出的2n×nu分割模式中,在cu中位于左侧的pu的分割索引可以对应于0。因此,如果0被分配给当前pu的分割索引,则分割索引的值可以指示当前pu是在当前cu中位于左侧的pu。

在图5示出的每个分割模式中分配分割索引的方法仅是用于一个实施例,并且因此,确定是否去分配分割索引和分配分割索引的方法可以不同于前面提到的实施例。例如,在图5的530示出的2n×nu分割模式中,在cu中位于左侧的pu的分割索引可以对应于1。对于另一个示例,在2n×2n分割模式中,由于cu没有分割为多个pu,分割索引可以不必分配给pu。在下文中,为了解释方便起见,在如下所述本发明的实施例中假设当执行编码和解码的时候,应用在图5中示出的分割模式和分割索引。

在下文中,在本发明中,当前块是目前对其执行编码、解码和/或预测处理的块,并且可以暗指当执行编码、解码和/或预测处理的时候对应于处理单元的块。例如,如果对当前块执行预测处理,则当前块可以对应于要预测的块,该要预测的块对应于当前pu。此外,在本发明中,通过预测产生的块被称作预测块。

“单元”暗指当执行编码、解码等的时候的处理单元,并且因此,可以不同于指示一组像素和/或采样的“块”。但是,为了解释方便起见,在本发明中“单元”可以选择性地涉及对应于“单元”的“块”。例如,在下文中,在本发明中,对应于一个pu的要预测的块可以称为pu,并且要编码/解码并且对应于一个cu的块可以称为cu。这样的区别将由本领域技术人员清楚地理解。

同时,如果对当前块执行帧间预测,则基于该预测诸如高级运动矢量预测(amvp)、合并模式,和/或跳跃模式的预测模式可用于降低传输信息量。

在合并模式中的当前块可以合并为在当前图片和/或参考图片中的另一个块(例如,相邻块,在此处该相邻块包括相邻于当前块的块,和/或位置上最靠近于当前块的转角的块)。在这种情况下,所述的是当运动信息是在当前块的帧间预测中从在当前图片和/或参考图片中的另一个块的运动信息中获得的时候,该块被合并。

当前块的合并相关的信息的示例可以包括指示用于当前块的预测模式是否是合并模式的信息,指示在包括在合并候选列表的合并候选之中当前块被合并到其的合并候选的信息等。在下文中,指示用于当前块的预测模式是否是合并模式的信息被称作合并标记,并且指示在包括在合并候选列表中的合并候选之中当前块被合并到其的合并候选的信息被称作合并索引。例如,该合并标记可以由合并_标记(merge_flag)指示,并且合并索引可以由merge_idx指示。在这种情况下,只有该合并标记指示用于当前块的预测模式是合并模式(例如,merge_flag=1)时,可以获得该合并索引。

跳跃模式是在其中残留信号(其是在预测块和当前块之间的差值)的传输被跳跃的预测模式。在跳跃模式中,该预测块和当前块的残留信号的值可以是0。因此,在跳跃模式中,编码器可以不必将残留信号发送给解码器,并且该解码器可以通过仅使用在残留信号和运动信息之间的运动信息产生预测块。在跳跃模式中,编码器可以将运动信息发送给解码器。在这种情况下,运动信息可以指定在当前块的相邻块之中的任何一个块,使得该块的运动信息用于当前块。

在前面提到的跳跃模式中,为了获得当前块的运动信息,可以使用在合并模式中使用的相同的方法。在这种情况下,在跳跃模式和合并模式中,相同的相邻块可以用作供推导运动信息的候选块。例如,在跳跃模式中,在包括在合并候选列表中的合并候选之中由合并索引指示的合并候选块的运动信息可以直接作为当前块的运动信息使用。在这种情况下,跳跃模式也可以被称作合并跳跃模式。在下文中,跳跃模式在本发明中暗指前面提到的合并跳跃模式。在合并模式中的帧间预测方法的特定的实施例将在下面参考图6描述。

图6是简要地示出在合并模式中的帧间预测方法的实施例的流程图。图6的实施例可以应用于编码器和解码器。在下文中,为了解释方便起见,图6的实施例集中于解码器。

参考图6,解码器可以产生由多个合并候选构成的合并候选列表(步骤s610)。解码器可以通过使用特定的过程推导多个合并候选,并且可以基于推导的合并候选产生合并候选列表。在这种情况下,在当前图片中包括在块中,和/或在除当前图片以外的参考图片的col块中的运动信息可以用作合并候选,和/或可用于推导合并候选。在下文中,为了解释方便起见,在本发明中用作合并候选的运动信息被称作“合并候选块”。用于产生合并候选列表的合并候选的实施例将在下面描述。

回到参考图6,解码器可以基于产生的合并候选列表推导当前块的运动信息(步骤s620)。

更具体地说,解码器可以选择在构成合并候选列表的合并候选之中用于推导当前块的运动信息的合并候选。在一个实施例中,解码器可以选择由从编码器发送的合并索引指示的合并候选作为用于推导当前块的运动信息的合并候选。在这种情况下,解码器可以基于选择的合并候选推导当前块的运动信息。例如,解码器可以将选择的合并候选的运动信息直接作为当前块的运动信息使用。

当推导当前块的运动信息的时候,编码器可以基于推导的运动信息产生用于当前块的预测块(步骤s630)。

图7是示出用于产生合并候选列表的合并候选的实施例的示意图。

当如上所述应用合并模式的时候,当前块的运动信息可以基于在包括在合并候选列表中的合并候选之中的任何一条运动信息推导。例如,在包括在合并候选列表的合并候选之中,任何一条运动信息单元可以用作当前块的运动信息。在这种情况下,残留信号可以与运动信息一起发送,并且如果预测块的像素值被直接作为当前块的像素值使用,则残留信号可以不必发送。

用于产生合并候选列表的合并候选的实施例在图7的710中示出。参考图7的710,当前块的左侧相邻块a和/或当前块的上面相邻块b可以用作合并候选块。在这种情况下,如所图示的,当前块的左侧相邻块可以是在相邻于当前块的左侧的块之中位于最上面部分的块,并且当前块的上面相邻块可以是在相邻于当前块的上部的块之中位于最左侧的块。此外,左下角块c和/或右上角块d可以用作合并候选块。前面提到的左侧相邻块a、上面相邻块b、左下角块c,和右上角块d可以对应于位于当前图片中的当前块的相邻块。因此,从合并候选块中推导的合并候选可以称作空间合并候选。此外,以另一个视角,由于空间合并候选可用于预测当前块的运动矢量,其也可以被称作空间运动矢量预测器(smvp)。

此外,col块col可以在图7的710中作为合并候选块使用。col块可以对应于在除当前图片以外的参考图片中的块。更具体地说,编码器和解码器可以在参考图片中的特定的位置,和/或由特定过程确定的位置处选择块作为col块。在此处,col块的位置可以基于在当前块中的块,和/或与当前块共处一地的参考图片(在下文中,为了解释方便起见,称作“共处一地的块”)推导。前面提到的col块是从参考图片推导的块。因此,从col块推导的合并候选可以被称作时间合并候选。此外,从另一个视角,由于时间合并候选可用于预测当前块的运动矢量,其可以被称作时间运动矢量预测器(tmvp)。

用于产生合并候选列表的合并候选的另一个实施例在图7的720中示出。参考图7的720,合并候选列表可以包括作为合并候选的左下角块a0、右上角块b0,和/或左上角块b2的运动信息。此外,该合并候选列表可以包括作为合并候选的当前块的左相邻块a1,和/或当前块的上相邻块b1的运动信息。在这种情况下,左相邻块a1可以是在相邻于当前块的左侧块之中位于最下面部分的块,并且上相邻块b1可以是在相邻于当前块的上部块之中位于最右侧块。前面提到的左下角块a0、左相邻块a1、右上角块b0、上相邻块b1,和左上角块b2可以对应于位于当前图片中的当前块的相邻块。因此,从合并候选块中推导的合并候选可以称作空间合并候选。此外,以另一个视角,由于空间合并候选可用于预测当前块的运动矢量,其也可以被称作空间运动矢量预测器(smvp)。

此外,在图7的720中,类似于图7的710,col块的运动信息可以用作包括在合并候选列表中的合并候选。如上所述,col块可以对应于在除当前图片以外的参考图片中的块。在此处,col块的位置可以基于当前块和/或共处一地的块推导。前面提到的col块是从参考图片推导的块。因此,从col块推导的合并候选可以被称作时间合并候选。此外,从另一个视角,由于时间合并候选可用于预测当前块的运动矢量,其可以被称作时间运动矢量预测器(tmvp)。

在本发明中用于产生合并候选列表的合并候选不局限于前面提到的实施例,并且因此,该合并候选可以从前面提到的实施例中选择性地不同地推导。但是,除非在本发明中另作说明的,在下文中假设如图7的720所示的共处一地的合并候选用于按照要预测的块(和/或当前块)预测合并模式。此外,在下文中,当在本发明中描述关于要合并/跳跃的pu的合并候选的内容的时候,在pu的外部位置上最靠近于左下角的块由a0指示,在相邻于pu左侧的块之中位于最下面部分的块由a1指示,在pu的外部位置上最靠近于右上角的块由b0指示,在相邻于pu的上部块之中位于最右侧的块由b1指示,和在pu的外部位置上最靠近于左上角的块由b2指示。

参考图7的实施例,选择构成合并候选列表的合并候选的方法可以被不同地扩展。编码器和解码器可以按照前面提到的图7的实施例通过选择合并候选配置合并候选列表。在这种情况下,当选择合并候选的时候,编码器和解码器可以通过除去冗余的候选配置合并候选列表以降低冗余度。

此外,在前面提到的图7的实施例中,构成合并候选列表的合并候选的数目可以局限于特定的固定数目。例如,在图7的720的实施例中,假设合并候选的数目是5,并且该合并候选被以{a1,b1,b0,a0,b2,col}的顺序增加和/或插入到合并候选列表。在这种情况下,如果块a1、b1、b0、a0、b2和col全部是可用的,仅块a1、b1、b0、a0和col的运动信息可以被确定为是包括在合并候选列表中的合并候选。对于另一个示例,在块a1、b1、b0、a0、b2和col之中,可用的块的数目可以小于5。在这种情况下,编码器和解码器可以基于可用的合并候选,通过使用特定的过程,推导新的合并候选,使得最终推导的合并候选的数目是5。

同时,例如,当以合并模式和/或跳跃模式执行帧间预测的时候,编码器和解码器可以对于每个pu连续地执行运动估算(me)。但是,对于另一个示例,为了改善编码/解码性能,编码器和解码器可以对于多个pu同时地执行me。也就是说,可以以合并模式和/或跳跃模式对于多个pu并行执行me,并且在这种情况下,me可以被称作并行me。在下文中,在本发明中,并行me被应用于其的合并模式被称作并行合并模式和/或并行合并,并且并行me被英已经于其的跳跃模式被称作并行跳跃模式和/或并行跳跃。

为了解释方便起见,如下所述的实施例集中于并行合并模式。但是,如下所述的实施例不局限于并行合并模式,但是,相同的或者类似的方法也可以应用于并行跳跃模式。

图8是示出以合并模式和跳跃模式的并行处理单元的实施例的示意图。

在图8示出的整个块指示一个编译树块(ctb),并且ctb可以对应于最大的编译单元(lcu)。如上所述,ctb可以具有经由分割由较小编译单元构成的分层结构,并且每个编译单元可以用作一个pu,或者可以被分割为多个pu。因此,构成图8的ctb的矩形块和长方形块的每个可以对应于一个pu。

同时,由图8的810、820、830和840指示的矩形块的每个可以指示用于执行并行me的并行处理单元。也就是说,lcu可以被分割为多个非冗余的并行处理单元。在此处,例如,多个并行处理单元可以具有相同的大小。在这种情况下,编码器和解码器可以在一个并行处理单元内对于所有pu同时地执行me。例如,可以对于包括在并行处理单元810中的pua和pub并行执行me。并行处理单元对应于并行me被应用到的区域,并且因此也可以被称作运动估算区(mer)。在下文中,为了解释方便起见,在本发明中用于执行并行me的并行处理单元被称作mer。

当以合并模式和/或跳跃模式应用并行me的时候,编码器需要将与并行me相关的信息发送给解码器。如上所述,由于并行me可以应用于在mer内的所有pu,从编码器发送到解码器的信息可以对应于以合并模式和/或跳跃模式的并行处理水平。在此处,该并行处理水平可以对应于用于执行并行me的并行处理单元的大小,并且因此,也可以对应于mer的大小。例如,如果以具有32×32大小的块为单位执行并行me,也就是说,如果mer的大小对应于32×32,可以说以32×32并行处理水平执行并行me。并行处理水平指示以合并模式和/或合并跳跃模式的并行处理水平,并且因此,也可以被称作并行合并水平。

在此处,并行处理水平可以限制在特定的范围内。例如,并行处理水平可以局限于小于在4×4和lcu大小之间的大小。在这种情况下,mer可以具有小于或等于lcu大小和/或ctb大小的大小。

与前面提到的并行处理水平相关的信息可以通过包括在序列参数集(sps)或者图片参数集(pps)中在比特流上从编码器发送到解码器。与包括在pps中的并行处理水平相关的信息可以通过包括在例如以下的表1中的语法元素限定。

[表1]

在此处,log2_parallel_merge_level_minus2可以表示以合并模式和/或跳跃模式的并行处理水平。更具体地说,分配给log2_parallel_merge_level_minus2的值可以对应于通过从实际的并行处理水平的log值(也就是说,实际的mer大小的log值)中减去2获得的值。如果pu的最小大小是4×4,并行处理水平的log值的最小值可以对应于2。因此,为了降低传输信息量,通过从实际的并行处理水平的log值中减去2获得的值可以分配给log2_parallel_merge_level_minus2。

在pps中限定的并行处理水平信息不局限于前面提到的实施例。在表1的实施例中,除与并行处理水平相关的信息以外指示另一个信息的语法可以被不同地选择性地应用。

同时,在表1中,log2_parallel_merge_level_minus2可以按照分配的值具有与以下的表2的实施例相同的含义。

[表2]

参考表2,如果值0被分配给log2_parallel_merge_level_minus2,则mer大小可以对应于4×4。在这种情况下,由于最小的pu的大小是4×4,编码器和解码器可以对于在lcu中的所有pu连续地执行me。对于另一个示例,如果值2被分配给log2_parallel_merge_level_minus2,mer大小可以对应于16×16。在这种情况下,编码器和解码器可以以16×16并行处理水平执行并行me。也就是说,编码器和解码器可以对于在16×16块中的所有pu并行执行me。同样地,即使即使另一个值被分配给log2_parallel_merge_level_minus2,编码器和解码器可以按照分配的值通过使用类似的方法执行并行me。

同时,一个编译树块可以包括多个cu。在这种情况下,一个并行处理单元(也就是说,一个mer)可以包括一个pu,或者可以具有与一个cu相同的大小。此外,一个mer可以包括多个cu。

例如,参考图8,mer810可以具有与由pua和pub构成的一个cu相同的大小。此外,mer830和mer840分别地具有与cug和cuh相同的大小。因而,如果一个cu具有与mer相同的大小,可以看到,以cu为单位执行对于cu的并行me。另一方面,mer820可以包括cuc(在此处,cuc对应于puc)、cud(在此处,cud包括pud1和pud2)、cue(在此处,cue对应于pue),和cuf(在此处,cuf包括puf1和puf2)。在这种情况下,对于在mer820中的puc、d1、d2、e、f1和f2的全部可以以合并模式和/或跳跃模式并行执行me。

同时,如上参考图8的实施例所述,为了以合并模式和/或跳跃模式执行并行me,必须允许对于并行处理单元(也就是说,对于在mer中的所有pu)独立地执行帧间预测和/或me。但是,在前面提到的合并模式和/或跳跃模式中,就并行me而言可能出现问题。

图9是用于解释当以合并模式执行并行me的时候出现的问题的示意图。图9的910、920、930和940每个指示一个cu。

如上图8所述,并行处理单元(也就是说,mer)可以与当前的cu具有相同的大小,或者可以不必具有相同的大小。在图9的实施例中假设mer的大小与当前的cu相同。在这种情况下,在图9中示出的每个cu可以对应于并行处理单元,并且在这种情况下,可以以cu为单位执行并行me。但是,在mer大小大于当前的cu的情形下,也可以同样地或者类似地出现如下参考图9所述的问题。

在图9的910中,cu(和/或pu)的分割模式是2n×2n。因此,一个cu可以无需被分割用作pua,并且因此,可能不会出现由并行me所引起的问题。

在图9的920中,cu(和/或pu)的分割模式是2n×n。在这种情况下,对于并行me,对于上层pub1和下层pub2同时地执行me。但是,在用于下层pub2的合并候选之中,当完成上层pub1的编码/解码的时候,位于最左侧并且相邻于下层pub2的上部的块925的运动信息可以用作下层pub2的合并候选。因而,由于下层pub2使用属于上层pub1的运动信息,不能对于属于在图9的920中的cu的pu同时地执行me。

在图9的930中,cu(和/或pu)的分割模式是n×2n。在这种情况下,对于并行me,必须对于左侧puc1和右侧puc2同时地执行me。但是,在用于右侧puc2的合并候选之中,当完成左侧puc1的编码/解码的时候,位于最下面部分和相邻于右侧puc2的左侧的块935的运动信息可以用作右侧puc2的合并候选。因而,由于右侧puc2使用属于左侧puc1的运动信息,不能对于属于在图9的930中的cu的pu同时地执行me。

在图9的940中,cu(和/或pu)的分割模式是n×n。在这种情况下,对于并行me,必须对左上pud1、右上pud2、左下pud3和右下pud4同时地执行me。但是,例如,在用于右下pud4的合并候选之中,当完成左上pud1、右上pud2和左下pud3的编码/解码的时候,位于右下pud4的左上角的块941、位于最右侧和相邻于右下pud4的上部的块943,和位于最下面部分和相邻于右下pud4的左侧的块945的运动信息可以用作右下pud4的合并候选。此外,在图9的940中,也可能在右上pud2和左下pud3中出现与前面提到的右下pud4类似的问题。因而,除左上pud1以外的pu使用属于其它的pu的运动信息,并且因此,不能对于属于在图9的940中的cu的pu同时地执行me。

虽然在前面提到的实施例中仅描述了对于cu(和/或pu)的分割模式是2n×2n、2n×n、n×2n和n×n的情形的问题,这样的问题也可能在另一个分割模式(例如,2n×nu、2n×nd、nl×2n或者nr×2n)中同样地或者类似地出现。在下文中,将描述推导合并候选的方法和配置候选列表的方法,以解决按照本发明的实施例的如上参考图9所述的问题。

图10是示出推导用于使能并行me的合并候选方法的实施例的示意图。图10的1010至1060每个指示一个cu,并且在属于每个cu的pu上标记的数字表示分割索引。

为了解释方便起见,假设在图10的实施例中mer具有与当前的cu相同的大小。在这种情况下,在图10中示出的每个cu可以对应于并行处理单元,并且在这种情况下,可以以cu为单位执行并行me。然而,即使mer的大小(也就是说,并行处理水平)大于cu,图10的以下的实施例可以同等地应用于属于并行处理水平的每个cu。

同时,如上参考图9所述,在对于其执行并行me的mer内,可能存在使用对于其没有完成编码/解码的另一个块的pu。在这种情况下,不能对于属于mer的pu同时地执行me。因此,为了解决这个问题,编码器和解码器可以不必将运动信息不可用的块作为合并候选块使用。也就是说,编码器和解码器可以在推导合并候选的过程中将块处理为不可用的,并且可以不必将该块的运动信息增加给合并候选列表。

在图10的1010中,cu(和/或pu)的分割模式是2n×n,并且下面pu的合并候选具有分割索引1。在这种情况下,在用作合并候选块的块a0、a1、b0、b1和b2之中,块b1是在相同的cu中属于另一个pu的块。因此,由于块b1是在并行me中不能使用的块,其可以被处理为是不可用的,并且可以不必用作下面pu的合并候选块。在这种情况下,块的运动信息可以不必被增加到合并候选列表。

此外,在具有分割索引1的下面pu的me中,块a0和块b0的运动信息是不可用的。这是因为其可以是该块的编码和/或解码按照编码/解码顺序没有完成的状态。在这种情况下,由于块a0和块b0是在并行me中不能使用的块,该块可以被处理为是不可用的,并且可以不必用作下面pu的合并候选块。在这种情况下,块的运动信息可以不必被增加到合并候选列表。

如图10的1010的实施例所示,如果在并行me中不能使用的块被处理为是不可用的,对于具有分割索引1的下面pu推导的空间合并候选的数目可以是2。在这种情况下,通过考虑时间合并候选,如果将1增加到空间合并候选的数目,则对于下面pu推导的可用的合并候选的最大数可以是3。

在图10的1020中,cu(和/或pu)的分割模式是2n×nu,并且下面pu的合并候选具有分割索引1。在这种情况下,在用作合并候选块的块a0、a1、b0、b1和b2之中,块b1是在相同的cu中属于另一个pu的块。因此,由于块b1是在并行me中不能使用的块,其可以被处理为是不可用的,并且不可以用作下面pu的合并候选块。在这种情况下,该块的运动信息不可以被增加给合并候选列表。

此外,在具有分割索引1的下面pu的me中,块a0和块b0的运动信息是不可用的。这是因为其可能是块的编码和/或解码按照编码/解码顺序没有完成的状态。在这种情况下,由于块a0和块b0是在并行me中不能使用的块,所以块可以被处理为是不可用的,并且不可以用作下面pu的合并候选块。在这种情况下,该块的运动信息不可以被增加给合并候选列表。

如图10的1020的实施例所示,如果在并行me中不能使用的块被处理为是不可用的,对于具有分割索引1的下面pu推导的空间合并候选的数目可以是2。在这种情况下,通过考虑时间合并候选,如果1被增加给空间合并候选的数目,对于下面pu推导的可用的合并候选的最大数可以是3。

在图10的1030中,cu(和/或pu)的分割模式是2n×nd,并且下面pu的合并候选具有分割索引1。在这种情况下,在用作合并候选块的块a0、a1、b0、b1和b2之中,块b1是在相同的cu中属于另一个pu的块。因此,由于块b1是在并行me中不能使用的块,其可以被处理为是不可用的,并且不可以用作下面pu的合并候选块。在这种情况下,该块的运动信息不可以被增加给合并候选列表。

此外,在具有分割索引1的下面pu的me中,块a0和块b0的运动信息是不可用的。这是因为其可能是该块的编码和/或解码按照编码/解码顺序没有完成的状态。在这种情况下,由于块a0和块b0是在并行me中不能使用的块,该块可以被处理为是不可用的,并且不可以用作下面pu的合并候选块。在这种情况下,该块的运动信息不可以被增加给合并候选列表。

如图10的1030的实施例所示,如果在并行me中不能使用的块被处理为是不可用的,对于具有分割索引1的下面pu推导的空间合并候选的数目可以是2。在这种情况下,通过考虑时间合并候选,如果1被增加给空间合并候选的数目,对于下面pu推导的可用的合并候选的最大数可以是3。

在图10的1040中,cu(和/或pu)的分割模式是n×2n,并且右侧pu的合并候选具有分割索引1。在这种情况下,在用作合并候选块的块a0、a1、b0、b1和b2之中,块a1是在相同的cu中属于另一个pu的块。因此,由于块a1是在并行me中不能使用的块,其可以被处理为是不可用的,并且不可以用作下面pu的合并候选块。在这种情况下,该块的运动信息不可以被增加给合并候选列表。

此外,在具有分割索引1的右侧pu的me中,块a0的运动信息是不可用的。这是因为其可以是该块的编码和/或解码按照编码/解码顺序没有完成的状态。在这种情况下,由于块a0是在并行me中不能使用的块,其可以被处理为是不可用的,并且不可以用作右侧pu的合并候选块。在这种情况下,该块的运动信息不可以被增加给合并候选列表。

如图10的1040的实施例所示,如果在并行me中不能使用的块被处理为是不可用的,对于具有分割索引1的右侧pu推导的空间合并候选的数目可以是3。在这种情况下,通过考虑时间合并候选,如果1被增加给空间合并候选的数目,则对于右侧pu推导的可用的合并候选的最大数可以是4。

在图10的1050中,cu(和/或pu)的分割模式是nl×2n,并且右侧pu的合并候选具有分割索引1。在这种情况下,在用作合并候选块的块a0、a1、b0、b1和b2之中,块a1是在相同的cu中属于另一个pu的块。因此,由于块a1是在并行me中不能使用的块,其可以被处理为是不可用的,并且不可以用作右侧pu的合并候选块。在这种情况下,该块的运动信息不可以被增加给合并候选列表。

此外,在具有分割索引1的右侧pu的me中,块a0的运动信息是不可用的。这是因为其可以是该块的编码和/或解码按照编码/解码顺序没有完成的状态。在这种情况下,由于块a0是在并行me中不能使用的块,其可以被处理为是不可用的,并且不可以用作右侧pu的合并候选块。在这种情况下,该块的运动信息不可以被增加给合并候选列表。

如图10的1050的实施例所示,如果在并行me中不能使用的块被处理为是不可用的,对于具有分割索引1的右侧pu推导的空间合并候选的数目可以是3。在这种情况下,通过考虑时间合并候选,如果1被增加给空间合并候选的数目,对于右侧pu推导的可用的合并候选的最大数可以是4。

在图10的1060中,cu(和/或pu)的分割模式是nr×2n,并且右侧pu的合并候选具有分割索引1。在这种情况下,在用作合并候选块的块a0、a1、b0、b1和b2之中,块a1是在相同的cu中属于另一个pu的块。因此,由于块a1是在并行me中不能使用的块,其可以被处理为是不可用的,并且不可以用作右侧pu的合并候选块。在这种情况下,该块的运动信息不可以被增加给合并候选列表。

此外,在具有分割索引1的右侧pu的me中,块a0的运动信息是不可用的。这是因为其可以是该块的编码和/或解码按照编码/解码顺序没有完成的状态。在这种情况下,由于块a0是在并行me中不能使用的块,其可以被处理为是不可用的,并且不可以用作右侧pu的合并候选块。在这种情况下,该块的运动信息不可以被增加给合并候选列表。

如图10的1060的实施例所示,如果在并行me中不能使用的块被处理为是不可用的,对于具有分割索引1的右侧pu推导的空间合并候选的数目可以是3。在这种情况下,通过考虑时间合并候选,如果1被增加给空间合并候选的数目,对于右侧pu推导的可用的合并候选的最大数可以是4。

按照前面提到的实施例,在推导空间合并候选的过程中,编码器和解码器可以基于特定的条件将pu的相邻块处理为是不可用的。这可以表示如下。

如果以下条件的一个是真的,可用标记n(availableflagn)被设置等于0,两个分量mvlxn被设置等于0,覆盖亮度位置(xn,yn)的预测单元的refldxlxn和preflaglx[xn,yn]被分别地分配给mvlxn、refldxlxn和predflaglxn。

在此处,可用标记n是指示块n(这里n是a0、a1、b0、b1和b2的一个)是否是能够用作合并候选块的可用的块的标记。此外,mvl×n表示块n的运动矢量,并且refidxl×n表示块n的参考图片索引。在此处,x可以具有0或者1的值。此外,predflaglxn可以对应于指示是否在块n上执行lx预测的标记。

可能存在用于将pu的相邻块处理为是不可用的若干类型的条件。例如,如果n是块b2,并且块a0、a1、b0和b1全部是可用的,以将合并候选的数目保持为5,其可以将块b2处理为是不可用的。此外,如果相邻块的预测模式是内部模式,其可以将该块处理为是不可用的。这可以表示如下。

-n等于b2,并且可用标记a0+可用标记a1+可用标记b0+可用标记b1等于4。

-覆盖亮度位置(xn,yn)的预测单元是不可用的,或者predmode是mode_intra。

此外,如在前面提到的实施例中描述的,如果当前的cu(和/或pu)的分割模式是2n×n、2n×nu,或者2n×nd,并且当前的pu的分割索引是1,则块b1可以被处理为是不可用的。此外,如果当前的cu(和/或pu)的分割模式是n×2n、nl×2n,或者nr×2n,并且当前的pu的分割索引是1,则块a1可以被处理为是不可用的。这可以表示如下。

-当前的预测单元的partmode是part_2n×n或者part_2n×nu或者part_2n×nd,并且partidx等于1,以及n等于b1。

-当前的预测单元的partmode是part_n×2n或者part_nl×2n或者part_nr×2n,并且partidx等于1,以及n等于a1。

前面提到的最后的两个条件可以通过允许属于相同的cu的pu互相不具有相关性,来对于属于相同cu的所有pu使能并行me。此外,如果一个pu使用在相同的cu中属于另一个pu的运动信息,则在相同的cu中长方形pu具有相同的运动信息,并且因此,可以最终具有与在2n×2n分割模式中相同的运动信息。在这种情况下,前面提到的最后的两个条件可以防止长方形pu具有与在2n×2n分割模式中相同的运动信息。

图11是示出推导用于使能并行me的合并候选方法的另一个实施例的示意图。图11的1110至1130每个指示一个cu,并且在属于每个cu的pu中标记的数字表示分割索引。

为了解释方便起见,假设在图11的实施例中mer具有与当前的cu相同的大小。在这种情况下,在图11中示出的每个cu可以对应于并行处理单元,并且在这种情况下,可以以cu为单位执行并行me。即使mer的大小(也就是说,并行处理水平)大于cu,则图11的以下的实施例可以同等地应用于属于并行处理水平的cu中的每个。

同时,如上图10的实施例所述的是用于cu(和/或pu)的分割模式是2n×n、2n×nu、2n×nd、n×2n、nl×2n和nr×2n的情形。但是,即使cu(和/或pu)的分割模式是n×n,在对其执行并行me的mer内,可能存在使用编码/解码没有对其完成的另一个块(和/或pu)的pu。在这种情况下,不能对于属于mer的pu同时地执行me。因此,为了解决这个问题,编码器和解码器不可以将其运动信息不可用的块作为合并候选块使用。也就是说,编码器和解码器可以在推导合并候选的过程中处理不可用的块,并且不可以将该块的运动信息增加给合并候选列表。

在图11的1110中,cu(和/或pu)的分割模式是n×n,并且右上pu的合并候选具有分割索引1。在这种情况下,在用作合并候选块的块a0、a1、b0、b1和b2之中,块a0和块a1是在相同的cu中属于另一个pu的块。在这种情况下,右上pu与在相同的cu中的另一个pu具有相关性。因此,由于块a0和块a1是在并行me中不能使用的块,其可以被处理为是不可用的,并且不可以用作右上pu的合并候选块。在这种情况下,该块的运动信息不可以被增加给合并候选列表。

如图11的1110的实施例所示,如果在并行me中不能使用的块被处理为是不可用的,对于具有分割索引1的右上pu推导的空间合并候选的数目可以是3。在这种情况下,通过考虑时间合并候选,如果1被增加给空间合并候选的数目,则对于右上pu推导的可用的合并候选的最大数可以是4。

在图11的1120中,cu(和/或pu)的分割模式是n×n,并且左下pu的合并候选具有分割索引2。在这种情况下,在用作合并候选块的块a0、a1、b0、b1和b2之中,块b0和块b1是在相同的cu中属于另一个pu的块。在这种情况下,左下pu与在相同的cu中的另一个pu具有相关性。因此,由于块b0和块b1是在并行me中不能使用的块,其可以被处理为是不可用的,并且不可以用作左下pu的合并候选块。在这种情况下,该块的运动信息不可以被增加给合并候选列表。

此外,在具有分割索引2的左下pu的me中,块a0的运动信息是不可用的。这是因为其可以是该块的编码和/或解码按照编码/解码顺序没有完成的状态。在这种情况下,由于块a0是在并行me中不能使用的块,其可以被处理为是不可用的,并且不可以用作左下pu的合并候选块。在这种情况下,该块的运动信息不可以被增加给合并候选列表。

如图11的1120的实施例所示,如果在并行me中不能使用的块被处理为是不可用的,对于具有分割索引2的左下pu推导的空间合并候选的数目可以是2。在这种情况下,通过考虑时间合并候选,如果1被增加给空间合并候选的数目,对于左下pu推导的可用的合并候选的最大数可以是3。

在图11的1130中,cu(和/或pu)的分割模式是n×n,并且右下pu的合并候选具有分割索引3。在这种情况下,在用作合并候选块的块a0、a1、b0、b1和b2之中,块a1、块b1,和块b2是在相同的cu中属于另一个pu的块。在这种情况下,右下pu与在相同的cu中的另一个pu具有相关性。因此,由于块a1、块b1和块b2是在并行me中不能使用的块,其可以被处理为是不可用的,并且不可以用作右下pu的合并候选块。在这种情况下,该块的运动信息不可以被增加给合并候选列表。

此外,在具有分割索引3的右下pu的me中,块a0和块b0的运动信息是不可用的。这是因为其可以是该块的编码和/或解码按照编码/解码顺序没有完成的状态。在这种情况下,由于块a0和块b0是在并行me中不能使用的块,该块可以被处理为是不可用的,并且不可以用作右下pu的合并候选块。在这种情况下,该块的运动信息不可以被增加给合并候选列表。

如图11的1130的实施例所示,如果在并行me中不能使用的块被处理为是不可用的,则对于具有分割索引3的右下pu推导的空间合并候选的数目可以是0。在这种情况下,通过考虑时间合并候选,如果1被增加给空间合并候选的数目,对于右下pu推导的可用的合并候选的最大数可以是1。

按照前面提到的实施例,在推导空间合并候选的过程中,编码器和解码器可以基于特定的条件将pu的相邻块处理为是不可用的。如上参考图10所述,可能存在用于将pu的相邻块处理为是不可用的若干类型的条件。

按照图11的实施例,如果当前的cu(和/或pu)的分割模式是n×n,并且当前的pu的分割索引是1,则块a0和块a1可以被处理为是不可用的。此外,如果当前的cu(和/或pu)的分割模式是n×n,并且当前的pu的分割索引是2,则块b0和块b1可以被处理为是不可用的。此外,如果当前的cu(和/或pu)的分割模式是n×n,并且当前的pu的分割索引是3,则块a1、块b1和块b2可以被处理为是不可用的。前面提到的三个条件可以如下在图10描述的实施例中那样增加。

如果以下条件的一个是真的,可用标记n被设置等于0,两个分量mvlxn被设置等于0,覆盖亮度位置(xn,yn)的预测单元的refldxlxn和preflaglx[xn,yn]被分别地分配给mvlxn、refldxlxn和predflaglxn。

-n等于b2,并且可用标记a0+可用标记a1+可用标记b0+可用标记b1等于4。

-覆盖亮度位置(xn,yn)的预测单元是不可用的,或者predmode是mode_intra。

-当前的预测单元的partmode是part_2n×n或者part_2n×nu或者part_2n×nd,并且partidx等于1,以及n等于b1。

-当前的预测单元的partmode是part_n×2n或者part_nl×2n或者part_nr×2n,并且partidx等于1,以及n等于a1。

-当前的预测单元的partmode是part_n×n,并且partidx等于1,以及n等于a0或者a1。

-当前的预测单元的partmode是part_n×n,并且partidx等于2,以及n等于b0或者b1。

-当前的预测单元的partmode是part_n×n,并且partidx等于3,以及n等于a1或者b1或者b2。

在前面提到的实施例中增加的三个条件可以防止属于cu的一个pu避免引用属于相同的cu的另一个pu的运动信息。因此,按照前面提到的实施例,对于属于相同的cu的所有pu可以并行推导空间合并候选。

同时,如果前面提到的图10和图11的实施例以并行合并模式和/或并行跳跃模式应用,则对于每个pu能够推导的可用合并候选的最大数可以按照分割模式和分割索引估算。对于每个pu可用的合并候选的最大数可以通过将时间候选的数目(例如,1)增加给能够在并行me中使用的可用的空间合并候选的数目估算。例如,在图10和图11的每个分割模式中,对于具有分割索引值0的pu可以推导高达5个可用的合并候选。对于另一个示例,在如图10的1010所示的2n×n的分割模式中,对于具有分割索引1的pu可以推导高达3个可用的合并候选。对于每个pu推导的可用的合并候选的最大数可以按照分割模式和分割索引由以下的表3表示。

[表3]

在此处,partmode表示cu(或者pu)的分割模式,并且partidx表示pu的分割索引。此外,maxnummergecand表示对于相应的pu推导的可用的合并候选的最大数。

但是,如果如上参考图7所述合并候选的数目限于5,则合并索引指示5个合并候选的一个。在这种情况下,对应于5个合并候选的比特量可用于发送合并索引。但是,如上所述,从pu推导的可用的合并候选的最大数可以小于5,并且在这种情况下,发送合并索引需要的比特量可以小于对应于5个合并候选的比特量。也就是说,用于合并索引传输需要的实际比特量可以与处理为不可用的块的数目成比例地减少。在这种情况下,当使用的比特超出用于合并索引传输需要的实际的比特量的时候,该比特可以认为相对于合并索引被浪费。

为了解决前面提到的问题,编码器和解码器可以通过应用按照分割模式和分割索引优化的合并候选的数目对合并索引执行编码/解码,从而能够减少或者节省可以用于合并索引传输的比特量。

在一个实施例中,诸如表3的表可以存储在编码器和解码器中。在这种情况下,编码器可以基于前面提到的表按照分割模式和分割索引确定对于任何pu推导的可用的合并候选的最大数。此外,编码器可以基于最大数编码用于pu的合并索引,并且可以将编码的合并索引发送给解码器。在这种情况下,仅对应于最大数的比特量在合并索引的传输中使用,并且因此,可以减少在合并索引的传输中使用的比特量。由于表被同等地存储在解码器中,对于任何pu推导的可用的合并候选的最大数可以以与在编码器中使用的相同的方法确定。在这种情况下,基于最大数,解码器可以解码从编码器发送的合并索引。

同时,参考图11的1130和表2,如果cu(和/或pu)的分割模式是n×n,并且属于cu的pu的分割索引值是3,仅一个时间合并候选可以对应于属于pu的可用的合并候选。在这种情况下,对于pu推导的可用的合并候选的最大数可以是1。如果可用的合并候选的最大数是1,则解码器可以知道哪个合并候选用于推导pu的运动信息,而无需必须使用合并索引。因此,如果cu(和/或pu)的分割模式是n×n,并且属于cu的pu的分割索引是3,则编码器可以不将用于pu的合并索引发送给解码器。

图12是示出推导用于使能并行me的合并候选方法的另一个实施例的示意图。图12的1210指示表示一个cu,并且在属于每个cu的pu上标记的数字表示分割索引。

为了解释方便起见,假设在图12的实施例中mer具有与当前的cu相同的大小。在这种情况下,在图12中示出的每个cu可以对应于并行处理单元,并且在这种情况下,可以以cu为单位执行并行me。然而,即使mer的大小(也就是说,并行处理水平)大于cu,图12的以下的实施例可以同等地应用于属于并行处理水平的cu中的每个。

在图10和图11前面提到的实施例中,对应于当执行并行me的时候运动信息是不可用的块的合并候选可以处理为是不可用的,并且因此,不可以被增加给合并候选列表。在这种情况下,当当前的cu(和/或pu)的分割模式是2n×2n的时候,处理为是不可用的合并候选可以以使用的合并候选替换。

在图12的1210中,当前的cu(和/或pu)的分割模式是2n×n,并且目前对其执行me的pu是具有分割索引1的下面pu。在这种情况下,如上参考图10所述,在用作合并候选块的块a0、a1、b0、b1和b2之中,块a0、块b0,和块b1是在并行me中不能使用的块,并且因此,可以处理为是不可用的。

但是,如果当前的cu(和/或pu)的分割模式是2n×2n,当执行并行me的时候,块b0’(即,在当前的cu外部位置上最靠近于右上角的块)和块b1’(即,在相邻于当前的cu的上部的块之中位置上最靠近于最右侧的块)可以具有可用的运动信息。因此,编码器和解码器可以将块b0’而不是块b0作为下面pu的合并候选块使用,并且可以将块b1’而不是块b1作为下面pu的合并候选块使用。

虽然前面提到的实施例局限于当前的cu(和/或pu)的分割模式是2n×n的情形,但本发明不受限于此。也就是说,推导合并候选的前面提到的方法可以类似地应用于当前的cu的分割模式是n×2n、n×n、2n×nu、2n×nd、nl×2n或者nr×2n的情形。

同时,就对其执行并行me的多个pu而论,编码器和解码器可以推导和使用通用的合并候选和/或通用的合并候选列表,从而使能并行me。基于通用的合并候选和/或通用的合并列表的并行me方法可以相对于图10和/或图11的前面提到的实施例独立地应用,或者也可以与图10和/或图11的实施例相关联地应用于编码器/解码器。在下文中,在本发明中,通常供多个pu使用的合并候选被称作“通用的合并候选”,并且供多个pu通常使用的合并候选列表被称作“单个合并候选列表”。

在这种情况下,通过其推导通用的合并候选和/或单个合并候选列表的单元可以是预先确定的特定的单元。在此处,特定的单元可以通过数字确定,并且可以是cu、mer和/或lcu。此外,通过其推导通用的合并候选和/或单个合并候选列表的单元可以在编码器中确定。在这种情况下,编码器可以编码有关单元的信息,并且将其发送给解码器。在这种情况下,解码器可以基于发送的信息确定通过其推导通用的合并候选和/或单个合并候选列表的单元。在下文中,在本发明中,通过其推导通用的合并候选和/或单个合并候选列表的前面提到的单元被称作“合并候选共享单元”。

例如,如果合并候选共享单元是cu,则在一个cu中的所有pu(即,具有合并模式和/或跳跃模式的pu)可以共享用于cu的通用的合并候选,和/或用于cu的单个合并共享列表。在这种情况下,如果cu(和/或属于cu的pu)的分割模式是2n×2n,则单个合并候选列表可以与属于cu的pu的合并候选列表相同。对于另一个示例,如果合并候选共享单元是lcu,则在一个lcu中的所有pu(即,具有合并模式和/或跳跃模式的pu)可以共享用于lcu的通用的合并候选和/或用于lcu的单个合并候选列表。对于另一个示例,如果合并候选共享单元是mer,则在一个mer中的所有pu(即,具有合并模式和/或跳跃模式的pu)可以共享用于mer的通用的合并候选和/或用于mer的单个合并候选列表。

如果在一个合并候选共享单元中的所有pu共享通用的合并候选和/或单个合并候选列表,则在某种程度上可能出现编译损耗。因此,编码器和解码器可以基于合并候选共享标记有选择地确定合并候选推导方法和/或合并候选列表推导方法。在此处,合并候选共享标记可以对应于用于指示是否推导单个合并候选列表,和用于在合并候选共享单元中的所有pu,或者是否推导各自的合并候选列表和用于每个pu的标记。合并候选共享标记可以例如由parallel_merge_cand_flag、parallel_merge_derivation_flag或者singlemclflag表示。

例如,如果合并候选共享标记的值是1,则该标记可以指示在合并候选共享单元中的所有pu共享通用的合并候选和/或单个合并候选列表。也就是说,在这种情况下,该标记可以指示合并候选的位置(即,空间合并候选和/或时间合并候选)对于在合并候选共享单元中的所有pu是相同的。此外,如果该合并候选共享标记是0,则该标记可以指示各自的合并候选列表被推导和用于每个pu。

例如,前面提到的合并候选共享标记可以是由编码器编码的标记,并且被发送给解码器。在这种情况下,该合并候选共享标记可以在sps、pps、适配参数集(aps)或者片段报头中限定。也就是说,该合并候选共享标记可以包括在前面提到的sps、pps、aps或者片段报头中,并且可以从编码器发送到解码器。在这种情况下,该解码器可以基于发送的标记确定合并候选推导方法和/或合并候选列表推导方法。

在另一个实施例中,对应于合并候选共享标记的值可以通过使用与在编码器和解码器中使用的相同的方法推导。在这种情况下,该编码器可以不将与合并候选共享标记相关的信息发送给解码器。

例如,假设该合并候选共享单元是cu。在这种情况下,分配给合并候选共享标记的值可以基于mer的大小和/或当前的cu的大小确定。例如,只有当mer的大小(也就是说,并行处理水平)大于4×4,并且当前的cu的大小是8×8时,编码器和解码器可以将值1分配给合并候选共享标记。在此处,如果该合并候选共享标记的值是1,则该标记可以指示在合并候选共享单元中的所有pu共享通用的合并候选和/或单个合并候选列表。也就是说,只有当并行处理水平大于4×4,并且当前的cu的大小是8×8时,编码器和解码器可以允许在当前的cu中的所有pu能够共享通用的合并候选和/或单个合并候选列表。在这种情况下,如果并行处理水平是4×4,或者当前的cu的大小不是8×8,则值0可以分配给合并候选共享标记。在此处,如果合并候选共享标记的值是0,则该标记可以指示推导各自的合并候选列表,并且用于每个pu。

在下文中,将描述按照本发明的实施例推导在合并候选共享单元中用于pu的通用的合并候选的方法。

图13是示出推导在合并候选共享单元中用于pu的通用的合并候选的方法实施例的示意图。

图13的1310至1330的每个指示一个相同的cu,并且cu(和/或pu)的分割模式对应于n×2n。此外,partidx表示分割索引,pu0表示其中分割索引值是0的pu,并且pu1表示其中分割索引值是1的pu。

同时,为了解释方便起见,在图13的实施例中假设合并候选共享单元是cu。在这种情况下,图13的每个cu可以对应于合并候选共享单元。该合并候选共享单元的大小可以与mer,即,并行处理单元的大小相同或者不同。

图13的1310指示具有分割索引0的左侧pu的合并候选。此外,图13的1320指示具有分割索引1的左侧pu的合并候选。参考图13的1310和1320,在cu(即,合并候选共享单元)中的每个pu可以具有单独的合并候选列表。

在这种情况下,在图13的1320中的块a1可以是属于右侧pu的块。因此,由于右侧pu使用属于左侧pu的运动信息,可以对于左侧pu和右侧pu同时地执行me。在这种情况下,编码器和解码器可以通过将块a1处理为是不可用的来使能并行me,并且也可以通过将具有可用的运动信息的块的运动信息用作通用的合并候选来使能并行me。

参考图13的1330,在cu(即,合并候选共享单元)中的pu可以具有通用的合并候选(和/或通用的合并候选列表)。也就是说,在图13的1330中,在cu中的所有pu可以具有通用的合并候选(和/或单个合并候选列表)。

在此处,例如,通用的合并候选可以与当当前的cu1330的分割模式是2n×2n的时候推导的合并候选相同。更具体地说,编码器和解码器可以将在cu1330外部位置上最靠近于左下角的块a0、在相邻于cu1330左侧的块之中位于最下面部分的块a1、在cu1330外部位置上最靠近于右上角的块b0、在相邻于cu1330的上部的块之中位于最右侧的块b1,和在cu1330外部位置上最靠近于左上角的块b2的运动信息作为用于左侧pu,即,pu0,和用于右侧pu,即,pu1的通用的合并候选使用。

在前面提到的图13的1330的实施例中,在一个cu(即,合并候选共享单元)中的所有pu可以共享通用的合并候选(即,当当前的cu1330的分割模式是2n×2n的时候推导的合并候选),和/或单个合并候选列表。也就是说,在cu(即,合并候选共享单元)中的所有pu可以使用共处一地的合并候选。因此,前面提到的推导通用的合并候选的方法可以降低编码复杂度,并且可以便于并行me。

前面提到的通用的合并候选推导方法仅是一个实施例,并且因此,对其应用通用的合并候选推导方法的分割模式不局限于n×2n。前面提到的通用的合并候选推导方法也可以以相同或者类似的方式应用于当前的cu(和/或pu)的分割模式是2n×2n模式、2n×n模式、n×n模式、2n×nu模式、2n×nd模式、nl×2n模式,或者nr×2n模式的情形。也就是说,不管cu(和/或pu)的分割模式,在一个cu中的所有pu可以共享通用的合并候选和/或单个合并候选列表。在这种情况下,编码器和解码器可以将存在于与当cu(和/或pu)的分割模式是2n×2n的时候使用的合并候选相同位置的块作为通用的合并候选使用。

例如,即使当前的cu(和/或pu)的分割模式是n×n模式,在当前的cu中的所有pu(即,具有分割索引0的pu、具有分割索引1的pu、具有分割索引2的pu,和具有分割索引3的pu)可以共享通用的合并候选,和/或单个合并候选列表。此外,存在于与当当前的cu(和/或pu)的分割模式是2n×2n的时候使用的合并候选块相同位置的块的运动信息可以作为通用的合并候选推导。

通常,合并候选块和/或pu的合并候选可以由相对于pu的相对位置指定。因此,一个pu的合并候选可以基于在pu中位于最左上部的坐标(例如,(xp,yp)),pu的宽度(例如,npbw),和pu的高度(例如,npbh)确定。

但是,如果使用通用的合并候选和/或单个合并候选列表,则通用的合并候选与当cu(和/或pu)的分割模式是2n×2n的时候推导的合并候选相同,并且因此,可以由相对于cu的相对位置指定。因此,如果使用通用的合并候选和/或单个合并候选列表,则编码器和解码器可以将在pu中位于最左上部的像素的坐标重新配置为在pu所属的cu中位于最左上部的像素的坐标(例如,(xc,yc))。此外,编码器和解码器可以将pu的宽度和pu的高度重新配置为cu的宽度(例如,ncs)和cu的高度(例如,ncs)。在这种情况下,解码器和编码器可以基于重新配置的值确定pu的合并候选,使得pu在并行me中使用通用的合并候选。

同时,如上所述,如果在一个合并候选共享单元中的所有pu共享通用的合并候选和/或单个合并候选列表,在某种程度上可能出现编译损耗。因此,编码器和解码器可以基于合并候选共享标记有选择地确定合并候选推导方法和/或合并候选列表推导方法。

例如,如果合并候选共享标记的值是1,则该标记可以指示在合并候选共享单元中的所有pu共享通用的合并候选和/或单个合并候选列表。这可以对应于在图13的1330中示出的通用的合并候选推导方法。此外,如果合并候选共享标记是0,则该标记可以指示推导各自的合并候选列表和用于每个pu。这可以对应于在图13的1310和1320中示出的合并候选推导方法。

由于合并候选共享标记如上详细地所述,在此处省略其详细说明。

图14是示出在合并候选共享单元中推导用于pu的通用合并候选的方法的另一个实施例的示意图。

在图14中1410和1430每个指示一个lcu(和/或编译树块)。图14的1430示出lcu,其与在图14的1410中示出的lcu相同,并且因此,在图14的1410和1430中相同的构成元件可以由相同的参考数字表示。

同时,在图14的实施例中,为了解释方便起见,假设一个lcu由具有相同大小的四个矩形mer组成,并且在lcu中用于pu的合并候选共享单元与mer单元相同。在这种情况下,按照构成编译树块的每个cu的大小,mer可以具有与cu相同的大小,或者可以具有不同于cu的大小。在图14的实施例中,由于mer对应于合并候选共享单元,如果cu具有与mer相同的大小,则cu可以对应于合并候选共享单元。例如,在mer大小是8×8的情形下,如果当前的cu的大小是8×8,当前的cu可以对应于合并候选共享单元。虽然图14的实施例按照合并候选共享单元是mer单元的情形描述,相同或者类似的方法也可以应用于合并候选共享单元是cu的情形。

参考图14的1410,对其执行me的当前的pu1415可以包括在一个mer1413中。在下文中,当前的pu1415所属的mer在图14的实施例中称作mer1413。在图14的1410中,示出了当前的pu1415的合并候选1421、1423、1425、1427和1429。

在用作合并候选块的块1421、1423、1425、1427和1429之中,块1423、1425和1427是属于当前的mer1413的块,并且可以是属于与当前的pu1415相同的mer的块。因此,块1423、1425和1427对应于对其没有以并行me完成编码/解码的块,并且因此,不能在当前的pu1415的并行me中使用。此外,块1421和1429的运动信息在当前的pu1415的me中可能是不可用的。这是因为其可以是该块的编码和/或解码按照编码/解码顺序完成的状态。因此,如果对当前的pu执行合并模式(和/或跳跃模式)me,则前面提到的合并候选块(即,属于与当前的pu1415相同的mer的块,和/或没有以并行me对其完成编码/解码的块)可以被处理为是不可用的。

此外,如上所述,编码器和解码器可以通过相对于在合并候选共享单元中的多个pu使用通用的合并候选和/或单个合并候选列表使能并行me。

参考图14的1430,在mer(即,合并候选共享单元)中的pu可以具有通用的合并候选(和/或单个合并候选列表)。也就是说,在图14的1430中,在mer中的所有pu可以共享通用的合并候选(例如,块1441、1443、1445、1447和1449)。在这种情况下,当前的pu1415可以使用通用的合并候选,而不是合并候选1421、1423、1425、1427和1429。

在此处,例如,通用的合并候选可以与当具有与当前的mer1413相同大小的cu(和/或属于cu的pu)具有2n×2n的分割模式的时候推导的合并候选相同。也就是说,编码器和解码器可以将位于当前的mer1413外部的块作为通用的合并候选使用,并且通用的合并候选可以通过相对于当前的mer1413的相对位置指定。

在一个实施例中,编码器和解码器可以将在当前的mer1413外部位置上最靠近于左下角的块1441、在相邻于当前的mer1413左侧的块之中位于最下面部分的块1443、在当前的mer1413外部位置上最靠近于右上角的块1449、在相邻于当前的mer1413的上部的块之中位于最右侧的块1447,和在当前的mer1413外部位置上最靠近于左上角的块1445的运动信息作为当前的pu1415的合并候选(即,通用的合并候选)使用。在这种情况下,如果在块之中存在不具有可用的运动信息的块(例如,在当前的mer1413外部位置上最靠近于右上角的块1449),则编码器和解码器可以将相应的块处理为是不可用的,或者不可以将其作为当前的pu1415的合并候选块使用。在另一个实施例中,编码器和解码器可以将相邻于当前的mer1413的左侧的块1444,而不是在当前的mer1413外部位置上最靠近于左上角的块1445作为当前的pu1415的合并候选块使用。在这种情况下,块1444可以是在相邻于当前的mer1413左侧的块之中位于中心的块,或者如果位于中心的块的数目是2,则可以是在两个块之中位于上部的块。

如图14的1430的实施例所示,如果通用的合并候选(和/或单个合并候选列表)用于在一个合并候选共享单元中的所有pu,则包括可用的运动信息的块可以用作合并候选块,而不是被处理为不可用的块。因此,在这种情况下,与不使用通用的合并候选(和/或单个合并候选列表)的情形相比,可以改善编码/解码性能。

如上所述,编码器和解码器可以将相邻于pu的块,例如,在pu外部位置上最靠近于左下角的块、在相邻于pu左侧的块之中位于最下面部分的块、在pu外部位置上最靠近于右上角的块、在相邻于pu的上部的块之中位于最右侧的块,和位于pu所属的mer外部的块作为pu的合并候选块使用。在下文中,在本发明中,为了替换从相邻于pu的块中推导的合并候选,从位于pu所属的mer外部的块中推导的合并候选被称作mer合并候选。

图14的实施例可以被认为是mer合并候选推导方法的实施例。在图14的实施例中,在一个合并候选共享单元中的所有pu可以共享通用的合并候选(和/或单个合并候选列表)。因此,在图14中,在一个mer(即,合并候选共享单元)中的所有pu可以具有相同的mer合并候选。mer合并候选可以如图14的实施例所示作为用于在一个mer中的所有pu的通用的合并候选推导,并且可以分别地对于包括在一个mer中pu的每个推导。与之相关联地,mer合并候选推导方法的实施例将在下文中另外描述。

图15是示出推导mer合并候选的方法实施例的示意图。图15的1510和1520每个表示一个mer。

参考图15的1510,包括在当前的mer1510中的当前的pu1515可以具有5个空间合并候选a0、a1、b0、b1和b2。但是,如在图14中图示的,对应于空间合并候选的块不可以包括在并行me中可用的运动信息,并且因此,可以被处理为是不可用的。在这种情况下,空间合并候选a0、a1、b0、b1和b2可以分别地由在图15的1510中示出的mer合并候选a0’、a1’、b0’、b1’和b2’替换。也就是说,编码器和解码器可以将mer合并候选a0’、a1’、b0’、b1’和b2’作为当前的pu1515的合并候选使用。由于在图15的1510中示出的mer合并候选的位置实际上与在图14的实施例中相同,将省略其详细说明。

参考图15的1520,包括在当前的mer1520中的当前的pu1525可以类似于图15的1510具有5个空间合并候选a0、a1、b0、b1和b2。在这种情况下,合并候选a0、a1、b0和b1的位置可以由以下的坐标指定或者表示。

a0:(x-1,y+npsh-1)

a1:(x-1,y+npsh)

b0:(x+npsw-1,y-1)

b1:(x+npsw,y-1)

在此处,(x,y)表示在当前的pu1525中位于最左上部的像素的坐标,并且该坐标可以按照当前的pu1525所属的图片的最左上部位置确定。此外,npsh表示当前的pu1525的高度,并且npsw表示当前的pu1525的宽度。

同时,类似于图15的1510,与空间合并候选相对应的块不可以包括在并行me中可用的运动信息,并且因此,可以被处理为是不可用的。在这种情况下,空间合并候选a0、a1、b0、b1和b2可以以在图15的1510中示出的mer合并候选a0’、a1’、b0’、b1’和b2’替换。也就是说,编码器和解码器可以将mer合并候选a0’、a1’、b0’、b1’和b2’作为当前的pu1515的合并候选使用。

在此处,mer合并候选a0’可以基于具有与在相邻于当前的mer1520左侧的块之中的块a0相同水平位置的块a0’推导,并且mer合并候选a1’可以基于具有与在相邻于当前的mer1520左侧的块之中的块a1相同水平位置的块a1’推导。此外,mer合并候选b1’可以基于具有与在相邻于当前的mer1520上部的块之中的块b0相同垂直位置的块b1’推导,并且mer合并候选b0’可以基于相邻于块b1’右侧的块b0’推导。在这种情况下,合并候选a0’、a1’、b0’和b1’的位置可以由以下的坐标指定或者表示。

a0’:(((x>>nmer)<<nmer)-1,y+npsh-1)

a1’:(((x>>nmer)<<nmer)-1,y+npsh)

b0’:(x+npsw-1,((y>>nmer)<<nmer)-1)

b1’:(x+npsw,((y>>nmer)<<nmer)-1)

在此处,nmer可以表示mer的大小(即,宽度/高度)的log值。

此外,在图15的1520中,编码器和解码器可以通过将其处理为是不可用的而不使用合并候选b2,并且可以将其替换为mer合并候选b2’。如果mer合并候选b2’用作当前的pu1525的合并候选,则mer合并候选b2’可以基于在相邻于当前的mer1520的左侧块之中具有与块b2相同水平位置的左侧块1531,或者在相邻于当前的mer1520的上部块之中具有与块b2相同垂直位置的上部块1533推导。例如,编码器和解码器可以检查左侧块1531是否是可用的。在这种情况下,如果左侧块1531是可用的,则编码器和解码器可以基于左侧块1531推导mer合并候选b2’,并且如果左侧块1531是不可用的,可以基于上部块1533推导mer合并候选b2’。

在图15的1520的实施例中,位于靠近于当前的pu1520的块可以用作合并候选块。因此,与图15的1510的实施例相比,可以改善编码效率。

同时,如果推导当前的pu1525的mer合并候选,则编码器和解码器可以基于推导的mer合并候选产生合并候选列表。在这种情况下,多个mer合并候选可以以特定的顺序被增加和/或插入到合并候选列表中。由于较小的合并索引被分配给首先增加给合并候选列表的mer合并候选,具有当推导当前的pu的运动的时候要使用的高可能性的mer合并候选可以优先地增加给合并候选列表,从而能够降低从编码器发送到解码器的信息量。为此,该编码器和解码器可以优先地将对应于位于靠近于当前的pu1520的块的mer合并候选增加给合并候选列表。

从当前的pu1520到mer的水平距离可以由在当前的pu1520中从位于最左上部的像素到mer的左边界的距离指示。此外,从当前的pu1520到mer的垂直距离可以由在当前的pu1520中从位于最左上部的像素到mer的上边界的距离表示。因此,从当前的pu1520到mer的水平距离和垂直距离可以例如由以下的公式1表示。

[公式1]

distx=x%nmer

disty=y%nmer

在此处,distx表示从当前的pu1520到mer的水平距离,并且disty表示从当前的pu1520到mer的垂直距离。(x,y)表示在当前的pu1520中位于最左上部的像素的坐标,并且nmer表示mer的大小。

例如,如果disx的值小于disty的值,与相邻于mer上部的块相比,由于相邻于mer左侧的块靠近于当前的pu1520,所以编码器和解码器可以在增加mer合并候选b1’和b0’之前首先将mer合并候选a1’和a0’增加给合并候选列表。例如,如果distx的值小于disty的值,则mer合并候选可以以a1’、a0’、b1’和b0’的顺序被增加给合并候选列表。换句话说,(即,如果distx的值大于或等于disty的值),则mer合并候选可以以b1’、b0’、a1’和a0’的顺序被增加给合并候选列表。对于另一个示例,如果distx的值小于disty的值,则mer合并候选可以以a1’、b1’、a0’和b0’的顺序被增加给合并候选列表。换句话说,(即,如果distx的值大于或等于disty的值),则mer合并候选可以以b1’、a1’、b0’和a0’的顺序被增加给合并候选列表。

图16是示出推导mer合并候选的方法的另一个实施例的示意图。图16的1610表示一个mer。

参考图16,单个mer1610可以包括多个pu。在下文中,仅对于图16的实施例,在pu中位于最左上部的像素被称作左上像素,位于pu的最右上部的像素被称作右上像素,并且在pu中位于最左下部的像素被称作左下像素。在图16的实施例中,可以对于属于mer1610的多个pu的每个推导四个mer合并候选。

在图16中,相邻于mer上部的两个块的运动信息,和相邻于mer左侧的两个块的运动信息可以用作用于一个pu的mer合并候选。在此处,相邻于mer上部的两个块可以分别地是包括位于与pu的左上像素相同垂直线的像素的块,和包括位于与pu的右上像素相同垂直线的像素的块。此外,相邻于mer左侧的两个块可以分别地是包括位于与pu的左上像素相同水平线的像素的块,和位于与pu的左下像素相同水平线的像素的块。

参考图16,pu,即,pu0可以将相邻于mer的上部的两个块t0和t1的运动信息,和相邻于mer的左侧的两个块l0和l1的运动信息作为mer合并候选使用。在此处,块t0可以是包括位于与pu0的左上像素相同垂直线的像素的块,并且块t1可以是包括位于与pu0的右上像素相同垂直线的像素的块。此外,块l0可以是包括位于与pu0的左上像素相同水平线的像素的块,并且块l1可以是包括位于与pu0的左下像素相同水平线的像素的块。

再次参考图16,pu,即,pu1可以将相邻于mer的上部的两个块t2和t3的运动信息,和相邻于mer的左侧的两个块l2和l3的运动信息作为mer合并候选使用。在此处,块t2可以是包括位于与pu1的左上像素相同垂直线的像素的块,并且块t3可以是包括位于与pu1的右上像素相同垂直线的像素的块。此外,块l2可以是包括位于与pu1的左上像素相同水平线的像素的块,并且块l3可以是包括位于与pu1的左下像素相同水平线的像素的块。

图17是示出推导mer合并候选的方法的另一个实施例的示意图。图17的1710表示一个mer。

参考图17,单个mer1710可以包括多个pu。在下文中,仅对于图17的实施例,在pu中位于最左上部的像素被称作左上像素,位于pu的最右上部的像素被称作右上像素,并且在pu中位于最左下部的像素被称作左下像素。在图17的实施例中,类似于图16的实施例,可以对于属于mer1710的多个pu的每个推导四个mer合并候选。

在图17中,相邻于mer上部的两个块(在此处,两个块可以是在每个mer外部位置上最靠近于左上角的块,或者在mer外部位置上最靠近于右上角的块,并且在下文中,也同样适用)的运动信息,和相邻于mer左侧的两个块(在此处,两个块可以是在每个mer外部位置上最靠近于左上角的块,或者在mer外部位置上最靠近于左上角的块,并且在下文中,也同样适用)的运动信息可以用作mer合并候选。在此处,相邻于mer上部的两个块可以分别地是包括位于与相邻于左上像素(即,在pu中的像素)左侧的像素相同垂直线的像素的块,和包括位于与相邻于右上像素(即,在pu中的像素)右侧的像素相同垂直线的像素的块。此外,相邻于mer左侧的两个块可以分别地是包括位于与相邻于左上像素(即,在pu中的像素)上部的像素相同垂直线的像素的块,和包括位于与相邻于左下像素(即,在pu中的像素)下部的像素相同垂直线的像素的块。

参考图17,pu,即,pu0可以将相邻于mer的上部的两个块t0和t1的运动信息,和相邻于mer的左侧的两个块l0和l1的运动信息作为mer合并候选使用。在此处,块t0可以是包括位于与相邻于左上像素(即,在pu0中的像素)的左侧的像素相同垂直线的像素的块。块t1可以是包括位于与相邻于右上像素(即,在pu0中的像素)的右侧的像素相同垂直线的像素的块。此外,块l0可以是包括位于与相邻于左上像素(即,在pu0中的像素)的上部的像素相同水平线的像素的块。块l1可以是包括位于与相邻于左下像素(即,在pu0中的像素)的下部的像素相同水平线的像素的块。

图18是示出推导mer合并候选的方法的另一个实施例的示意图。图18的1810指示一个mer。

参考图18,单个mer1810可以包括多个pu。在下文中,仅对于图18的实施例,在pu中位于最左上部的像素被称作左上像素。在图18的实施例中,可以对于属于mer1810的多个pu的每个推导两个mer合并候选。

在图18的实施例中,相邻于mer上部的一个块的运动信息和相邻于mer左侧的一个块的运动信息可以用作用于一个pu的mer合并候选。在此处,相邻于mer上部的块可以是包括位于与pu的左上像素相同垂直线的像素的块。此外,相邻于mer左侧的块可以是包括位于与pu的左上像素相同水平线的像素的块。

参考图18,pu,即,pu0可以将相邻于mer上部的一个块t的运动信息,和相邻于mer左侧的一个块l的运动信息作为mer合并候选使用。在此处,块t可以是包括位于与pu0的左上像素相同垂直线的像素的块。此外,块l可以是包括位于与pu0的左上像素相同水平线的像素的块。

图19是示出推导mer合并候选的方法的另一个实施例的示意图。图19的1910指示一个mer。

参考图19,单个mer1910可以包括多个pu。在下文中,仅对于图19的实施例,位于pu的最右上部的像素被称作右上像素,和位于pu的最左下部的像素被称作左下像素。在图19的实施例中,类似于图18的实施例,可以对于属于mer1910的多个pu的每个推导两个mer合并候选。

在图19的实施例中,相邻于mer上部的一个块的运动信息和相邻于mer左侧的一个块的运动信息可以用作用于一个pu的mer合并候选。在此处,相邻于mer上部的块可以是包括位于与pu的右上像素相同垂直线的像素的块。此外,相邻于mer左侧的块可以是包括位于与pu的左下像素相同水平线的像素的块。

参考图19,pu,即,pu0可以将相邻于mer上部的一个块t的运动信息,和相邻于mer左侧的一个块l的运动信息作为mer合并候选使用。在此处,块t可以是包括位于与pu0的右上像素相同垂直线的像素的块。此外,块l可以是包括位于与pu0的左下像素相同水平线的像素的块。

图20是示出推导mer合并候选的方法的另一个实施例的示意图。图20的2010指示一个mer。

参考图20,单个mer2010可以包括多个pu。在下文中,仅对于图20的实施例,在pu中位于最左上部的像素被称作左上像素,位于pu的最右上部的像素被称作右上像素,并且在pu中位于最左下部的像素被称作左下像素。在图20的实施例中,可以对于属于mer2010的多个pu的每个推导四个mer合并候选。

在图20中,可以基于在mer中pu的位置推导pu的mer合并候选。也就是说,可以基于从pu到mer的水平距离和垂直距离推导pu的mer合并候选。在此处,从pu到mer的水平距离可以暗指从pu的左上像素到mer的左边界的距离。此外,从pu到mer的垂直距离可以暗指从pu的左上像素到mer的上边界的距离。

例如,如果从pu到mer的水平距离比垂直距离更近,则相邻于mer(在此处,在四个块之中,两个块可以分别地是在mer外部位置上最靠近于左上角的块,和在mer外部位置上最靠近于左下角的块,并且,在下文中,也同样适用)左侧的四个块的运动信息可以用作pu的mer合并候选。相邻于mer左侧的四个块可以分别地是包括位于与相邻于左上像素(即,在pu中的像素)上部的像素相同水平线的像素的块、包括位于与左上像素(即,在pu中的像素)相同水平线的像素的块、包括位于与左下像素(即,在pu中的像素)相同水平线的像素的块,和包括位于与相邻于左下像素(即,在pu中的像素)下部的像素相同水平线的像素的块。

在其他方面,相邻于mer(在此处,在四个块之中,两个块可以分别地是在mer外部位置上最靠近于左上角的块,和在mer外部位置上最靠近于右上角的块)上部的四个块的运动信息可以用作pu的mer合并候选。在此处,相邻于mer上部的四个块可以分别地是包括位于与相邻于左上像素(即,在pu中的像素)左侧的像素相同垂直线的像素的块、包括位于与左上像素(即,在pu中的像素)相同垂直线的像素的块、位于与右上像素(即,在pu中的像素)相同垂直线的块,和包括位于与相邻于右上像素(即,在pu中的像素)右侧的像素相同垂直线的像素的块。

参考图20,关于pu0,到mer的垂直距离可能比水平距离更近。因此,pu0可以将相邻于mer上部的四个块t0、t1、t2和t3的运动信息作为mer合并候选使用。在此处,块t0可以是包括位于与相邻于左上像素(即,在pu0中的像素)的左侧的像素相同垂直线的像素的块。块t1可以是包括位于与左上像素(即,在pu0中的像素)相同垂直线的像素的块。此外,块t2可以是包括位于与右上像素(即,在pu0中的像素)相同垂直线的像素的块。块t3可以是包括位于与相邻于右上像素(即,在pu0中的像素)的右侧的像素相同垂直线的像素的块。

再次参考图20,关于pu1,到mer的水平距离可能比垂直距离更近。因此,pu1可以将相邻于mer左侧的四个块l0、l1、l2和l3的运动信息作为mer合并候选使用。在此处,块l0可以是包括位于与相邻于左上像素(即,在pu1中的像素)的上部的像素相同垂直线的像素的块。块l1可以是包括位于与左上像素(即,在pu1中的像素)相同垂直线的像素的块。此外,块l2可以是包括位于与左下像素(即,在pu1中的像素)相同垂直线的像素的块。块l3可以是包括位于与相邻于左下像素(即,在pu1中的像素)的下部的像素相同垂直线的像素的块。

图21是示出推导mer合并候选的方法的另一个实施例的示意图。图21的2110表示一个mer。

参考图21,单个mer2110可以包括多个pu。在下文中,仅对于图21的实施例,在pu中位于最左上部的像素被称作左上像素,位于pu的最右上部的像素被称作右上像素,并且在pu中位于最左下部的像素被称作左下像素。在图21的实施例中,可以对于属于mer2110的多个pu的每个推导两个mer合并候选。

在图21中,可以基于在mer中pu的位置推导pu的mer合并候选。也就是说,可以基于从pu到mer的水平距离和垂直距离推导pu的mer合并候选。在此处,从pu到mer的水平距离可以暗指从pu的左上像素到mer的左边界的距离。此外,从pu到mer的垂直距离可以暗指从pu的左上像素到mer的上边界的距离。

例如,如果从pu到mer的水平距离比垂直距离更近,则相邻于mer(在此处,两个块可以分别地是在mer外部位置上最靠近于左上角的块,和在mer外部位置上最靠近于左下角的块,并且,在下文中,也同样适用)左侧的两个块的运动信息可以用作pu的mer合并候选。相邻于mer左侧的两个块可以分别地是包括位于与左上像素(即,在pu中的像素)相同水平线的像素的块,和位于与pu的左下像素相同水平线的像素的块。

另一方面,相邻于mer(在此处,两个块可以分别地是在mer外部位置上最靠近于左上角的块,和在mer外部位置上最靠近于右上角的块)上部的两个块的运动信息可以用作pu的mer合并候选。在此处,相邻于mer上部的两个块可以分别地是包括位于与pu的左上像素相同垂线的像素的块,和位于与pu的右上像素相同垂线的像素的块。

参考图21,关于pu0,到mer的垂直距离可能比水平距离更近。因此,pu0可以将相邻于mer上部的两个块t0和t1的运动信息作为mer合并候选使用。在此处,块t0可以是包括位于与pu0的左上像素相同垂直线的像素的块。此外,块t1可以是包括位于与pu0的右上像素相同垂直线的像素的块。

再次参考图21,关于pu1,到mer的水平距离可能比垂直距离更近。因此,pu1可以将相邻于mer左侧的两个块l0和l1的运动信息作为mer合并候选使用。在此处,块l0可以是包括位于与pu1的左上像素相同垂直线的像素的块。此外,块l1可以是包括位于与pu1的左下像素相同垂直线的像素的块。

图22是示出推导mer合并候选的方法的另一个实施例的示意图。图22的2210指示一个mer。

参考图22,单个mer2210可以包括多个pu。在下文中,仅对于图22的实施例,位于pu的最右上部的像素被称作右上像素,和位于pu的最左下部的像素被称作左下像素。

再次参考图22,pu0可以具有五个空间合并候选a0、a1、b0、b1和b2。但是,如上所述,该空间合并候选在以合并模式和/或跳跃模式的并行me中是不可用的。例如,如果用作合并候选的块包括在与pu0相同的mer中,由于该块对应于在me中没有对其完成编码/解码的块,则该块不能在并行me中使用。此外,用作合并候选的块可以处于在pu0的并行me中按照编码/解码顺序没有完成编码和/或解码的状态之中。

同时,在图22的实施例中,关于属于mer2210的pu0,可以推导高达四个mer合并候选。四个mer合并候选可以是相邻于mer(在此处,两个块的一个可以是在mer外部位置上最靠近于右上角的块,并且在下文中,也同样适用)上部的两个块t0和t1的运动信息,和相邻于mer(在此处,两个块的一个可以是在mer外部位置上最靠近于左下角的块,并且在下文中,也同样适用)左侧的两个块l0和l1的运动信息。在此处,相邻于mer上部的两个块可以分别地是位于与右上像素(即,在pu0中的像素)相同垂直线的块t0,和包括位于与相邻于右上像素(即,在pu0中的像素)右侧的像素相同垂直线的像素的块t1。此外,相邻于mer左侧的两个块可以分别地是位于与左下像素(即,在pu0中的像素)相同垂直线的块l0,和包括位于与相邻于左下像素(即,在pu0中的像素)下部的像素相同垂直线的像素的块l1。

在这种情况下,仅对于在pu0的合并候选a0、a1、b0和b1之中不可用的合并候选,编码器和解码器可以推导与其对应的mer合并候选。在mer中pu的每个空间合并候选在并行me中是否是可用的按照pu的位置确定,并且因此,在这种情况下,可以认为对于pu0推导的mer合并候选基于pu的位置确定。

参考图22,如果pu0的合并候选a1在并行合并模式/并行跳跃模式me中是不可用的,则块l0的运动信息可以用作pu0的mer合并候选。此外,如果pu0的合并候选a0在并行合并模式/并行跳跃模式me中是不可用的,则块l1的运动信息可以用作pu0的mer合并候选。此外,如果pu0的合并候选b1在并行合并模式/并行跳跃模式me中是不可用的,则块t0的运动信息可以用作pu0的mer合并候选,并且如果pu0的合并候选b0在并行合并模式/并行跳跃模式me中是不可用的,则块t1的运动信息可以用作pu0的mer合并候选。

图23是示出推导mer合并候选的方法的另一个实施例的示意图。图23的2310指示一个mer。

参考图23,包括在mer2310中的pu02320可以具有五个空间合并候选a0、a1、b0、b1和b2。此外,虽然在图23中未示出,如上参考图7所述,pu02320可以具有时间合并候选。

如上参考图22所述,在mer中的任何pu的空间合并候选在以合并模式和/或跳跃模式的并行me中是不可用的。在图23的实施例中,由于用于推导pu02320的空间合并候选的所有块包括在与pu02320相同的mer中,pu02320的空间合并候选被处理为是不可用的,并且因此,不可以包括在合并候选列表中。

同时,如上所述构成合并候选列表的合并候选的数目可以局限于特定的固定数目。在图23的实施例中,为了解释方便起见,假设构成合并候选列表的合并候选的数目限于5。在这种情况下,对于pu推导的可用的合并候选(即,空间合并候选和时间合并候选)的数目由于前面提到的原因可能少于5,并且即使可用的空间合并和时间合并候选被增加给合并候选列表,该合并候选列表可能没有被完全地填充。在这种情况下,在时间合并候选被增加给合并候选列表之后,编码器和解码器可以推导mer合并候选,以另外将其以特定的顺序增加给合并候选列表,从而允许构成合并候选列表的合并候选的数目是5个。也就是说,编码器和解码器可以将mer合并候选增加或者插入合并候选列表,直到构成合并候选列表的合并候选的数目是5。

参考图23,块l0、l1、t0和t1的运动信息可以用作另外插入pu02320的合并候选列表的mer合并候选。在此处,块l0可以是在相邻于mer左侧的块之中位于最上部的块,并且块l1可以是在相邻于mer左侧的块之中位于最下部的块。此外,块t0可以是在相邻于mer上部的块之中位于最左部分的块,并且块t1可以是在相邻于mer上部的块之中位于最右部分的块。

为了允许构成合并候选列表的合并候选的数目是5,另外插入合并候选列表中的mer合并候选的数目按照pu的位置等是可变的。因此,可以预先确定将前面提到的mer合并候选插入合并候选列表的顺序。例如,编码器和解码器可以另外以对应于块l1的mer合并候选、对应于块t1的mer合并候选、对应于块l0的mer合并候选,和对应于块t0的mer合并候选的顺序将mer合并候选增加给合并候选列表。

图24是示出推导mer合并候选的方法的另一个实施例的示意图。图24的2410指示一个mer。

参考图24,包括在mer2410中的pu02420可以具有五个空间合并候选a0、a1、b0、b1和b2。此外,虽然在图24中未示出,如上参考图7所述,pu02420可以具有时间合并候选。但是,如上参考图23所述,在mer中的任何pu的空间合并候选可以在以合并模式和/或跳跃模式的并行me中被处理为是不可用的,并且因此,不可以包括在合并候选列表中。

在这种情况下,编码器和解码器可以另外以与图23的实施例相同的方式将mer合并候选增加给合并候选列表。例如,如果构成合并候选列表的合并候选的数目局限于5,则编码器和解码器可以将mer合并候选增加或者插入合并候选列表,直到合并候选的数目是5。

参考图24,块l1和t1的运动信息可以用作另外插入pu02420的合并候选列表的mer合并候选。在此处,块l1可以是在相邻于mer左侧的块之中位于最下部的块。此外,块t1可以是在相邻于mer上部的块之中位于最右部分的块。

此外,如上参考图23所述,另外插入合并候选列表的mer合并候选的数目按照pu的位置等是可变的。因此,在图24的实施例中,可以预先确定将前面提到的mer合并候选插入合并候选列表的顺序。例如,编码器和解码器可以另外以对应于块l1的mer合并候选,和对应于块t1的mer合并候选的顺序将mer合并候选插入合并候选列表。

同时,如在前面提到的图13至图24的实施例中,如果对于一个pu推导通用的合并候选和/或mer合并候选,推导的通用的合并候选和/或mer合并候选可以增加或者插入pu的合并候选列表。在下文中,在以下的实施例中,为了解释方便起见,通用的合并候选和mer合并候选共同地称作并行合并候选。

如果没有应用并行合并候选,如上参考图7所述,该pu的空间合并候选可以从相邻于pu的块,和位置最靠近于当前块的转角的块推导。此外,pu的时间合并候选可以从包括在参考图片中的col块推导。在下文中,当并行合并候选没有如在图7的实施例中应用的时候用于pu的合并候选被称作pu合并候选。

如上所述,包括在与pu相同的mer中的合并候选可以在对应于一个pu的pu合并候选的空间候选之中存在。在这种情况下,包括在与pu相同的mer中的合并候选不可以在并行me中包括可用的运动信息。因此,对于pu推导的可用的pu合并候选的数目可以小于构成合并候选列表需要的合并候选的数目。在此处,构成合并候选列表需要的合并候选的数目可以是预先确定的值。例如,构成合并候选列表的合并候选的数目可以是5。

在这种情况下,编码器和解码器可以另外以特定的顺序将并行合并候选插入合并候选列表。在这种情况下,另外插入合并候选列表的并行合并候选可以在合并候选列表中位于可用的pu合并候选之后。也就是说,合并候选可以以并行合并候选的顺序插入合并候选列表。

例如,假设如图7的720所示的pu合并候选应用于当前的pu。在这种情况下,编码器和解码器可以将在当前的pu外部位置上最靠近于左下角的块a0、在相邻于当前的pu左侧的块之中位于最下部的块a1、在当前的pu外部位置上最靠近于右上角的块b0、在相邻于当前的pu的上部的块之中位于最右部分的块b1、在当前的pu外部位置上最靠近于左上角的块b2,和块col的运动信息作为当前的pu的pu合并候选使用。在这种情况下,例如,pu合并候选可以以a1、b1、b0、a0、b2和col的顺序增加和/或插入合并候选列表。

但是,如果当前的pu在mer内部存在,则当执行合并模式和/或跳跃模式并行me的时候,对应于pu合并候选的空间合并候选a1、b1、b0、a0和b2是不可用的。在这种情况下,仅对应于pu合并候选的时间合并候选col可以被增加给合并候选列表。

在这种情况下,在pu合并候选被增加给合并候选列表之后,编码器和解码器可以插入并行合并候选。例如,对于当前的pu推导的并行合并候选分别地称作a1’、b1’、b0’、a0’和b2’。在这种情况下,对应于pu合并候选和并行合并候选的时间合并候选可以以col、a1’、b1’、b0’、a0’和b2’的顺序增加和/或插入合并候选列表。在这种情况下,编码器和解码器可以增加并行合并候选,直到构成合并候选列表的合并候选的数目是最大数(例如,5)。

同时,即使可用的pu合并候选和可用的并行合并候选被增加给合并候选列表,可能存在合并候选列表没有完全地填充的情形。在这种情况下,编码器和解码器可以基于已经增加给合并候选列表的合并候选推导新的合并候选,并且可以将其增加给合并候选列表。在这种情况下,编码器不仅可以使用pu合并候选,而且可以使用并行合并候选去推导新的合并候选。

基于已经增加给合并候选列表的合并候选推导的新的合并候选的示例可以包括合并的双预测候选(cb)、非标度的双预测候选,和/或零运动候选(零)等。在此处,cb可以基于在已经增加给合并候选列表的合并候选之中的两个合并候选推导。例如,cb的l0运动信息可以基于两个合并候选的一个推导,并且cb的l1运动信息可以基于两个合并候选的另一个推导。也就是说,cb可以通过合并两个合并候选每个的运动信息推导。此外,nb的l0运动信息和l1运动信息可以基于在已经增加给合并候选列表的合并候选之中的一个合并候选,经由特定的条件和操作推导。此外,零可以暗指包括零失量(0,0)的运动信息。

新近推导和另外插入合并候选列表的合并候选cb、nb和零可以在合并候选列表中位于可用的pu合并候选和可用的并行合并候选之后。也就是说,该合并候选可以以pu合并候选、并行合并候选,和基于pu合并候选和并行合并候选推导的cb、nb和零的顺序插入合并候选列表。例如,如果假设对于一个pu推导三个cb,即,cb0、cb1和cb2,一个nb,即,nb0,和一个零,合并候选可以以col、a1’、b1’、b0’、a0’、b2’、cb0、cb1、cb2、nb0和零的顺序增加和/或插入合并候选列表。在这种情况下,编码器和解码器可以增加并行合并候选,直到构成合并候选列表的合并候选的数目是最大数(例如,5)。

虽然前面提到的示例性系统已经基于在其中依次列出步骤或者模块的流程图描述,但本发明的步骤不局限于某个顺序。因此,某个步骤可以在不同的步骤中,或者以不同的顺序或者相对于如上所述的同时执行。此外,本领域技术人员应该明白,该流程图的步骤不是排它的。而是,在其中可以包括另外的步骤,或者可以在本发明的范围内删除一个或多个步骤。

前面提到的实施例包括各种示例性方面。虽然不能描述用于表示各种方面的所有可能的组合,但本领域技术人员应该理解,其它的组合也是可能的。因此,所有替换、修改和变化将落在本发明的权利要求书的精神和范围内。

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