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

技术领域

本发明涉及用于处理视频信号的方法和设备。

背景技术

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

图像压缩技术包括各种技术,包括:根据当前图片的先前图片或后续图片来预测包括在当前图片中的像素值的帧间预测技术;通过使用当前图片中的像素信息预测包括在当前图片中的像素值的帧内预测技术;将短码分配给具有高出现频率的值并且将长码分配给具有低出现频率的值的熵编码技术等。图像数据可以通过使用这样的图像压缩技术有效地压缩,并且可以传送或存储。

同时,随着对高分辨率图像的需求,也增加了对作为新的图像服务的立体图像内容的需求。用于有效地提供具有高分辨率和超高分辨率的立体图像内容的视频压缩技术正被研讨。

发明内容

技术问题

本发明提供了一种用于在对视频信号进行编码/解码时对编码/解码目标块有效地执行帧间预测的方法和设备。

本发明提供了一种用于在对视频信号进行编码/解码时通过使用多个合并候选列表来执行运动补偿的方法和设备。

本发明提供了一种在对视频信号进行编码/解码时对合并候选进行重排的方法和设备。

能够从本发明获得的技术问题不限于以上提及的技术任务,并且本发明所属的技术领域的普通技术人员根据以下描述可以清楚地理解其他未提及的技术任务。

技术方案

根据本发明的对视频信号进行解码的方法和设备可以根据与当前块邻近的相邻块导出合并候选,生成包括合并候选的合并候选列表,对合并候选列表中包括的合并候选进行重排,对用于指定包括在合并候选列表中的合并候选中的至少一个的信息进行解码,以及根据与该信息相对应的合并候选导出当前块的运动信息。在这种情况下,合并候选列表中的合并候选的初始排列顺序可以基于初始优先级确定。

根据本发明的对视频信号进行编码的方法和设备可以根据与当前块邻近的相邻块导出合并候选,生成包括合并候选的合并候选列表,对合并候选列表中包括的合并候选进行重排,对用于指定包括在合并候选列表中的合并候选中的至少一个的信息进行编码,以及根据与该信息相对应的合并候选导出当前块的运动信息。在这种情况下,合并候选列表中的合并候选的初始排列顺序可以基于初始优先级确定。

在根据本发明的对视频信号进行编码/解码的方法和设备中,重排可以基于合并候选之间的重排优先级来执行,并且重排优先级可以基于合并候选是否具有双向信息来确定。

在根据本发明的对视频信号进行编码/解码的方法和设备中,具有双向信息的合并候选比仅具有单向信息的合并候选具有更高的重排优先级。

在根据本发明的对视频信号进行编码/解码的方法和设备中,可以根据合并候选的初始优先级来确定具有双向信息的合并候选的重排优先级。

在根据本发明的对视频信号进行编码/解码的方法和设备中,根据多个合并候选导出运动信息。

在根据本发明的对视频信号进行编码/解码的方法和设备中,可以根据多个合并候选之中的第一合并候选导出当前块的第一方向运动信息,并且可以根据多个合并候选之中的第二合并候选导出当前块的第二方向运动信息。

上面关于本发明简要概述的特征仅是稍后要描述的本发明的详细描述的示例性方面,并且不限制本发明的范围。

有利效果

根据本发明,可以通过借助使用多个合并候选列表执行运动补偿来提高帧间预测的效率。

根据本发明,可以通过基于多个合并候选获得运动信息来提高帧间预测的效率。

根据本发明,可以通过对合并候选进行重排来提供有效地对合并索引进行编码/解码的方法。

能够从本发明获得的效果可以不受以上提及的效果的限制,并且本发明所属的技术领域的普通技术人员根据以下描述可以清楚地理解其他未提及的效果。

附图说明

图1是示出了根据本发明的实施方式的用于对视频进行编码的装置的框图。

图2是示出了根据本发明的实施方式的用于对视频进行解码的装置的框图。

图3是示出了当通过帧间预测对编码块进行编码时可以应用于编码块的划分模式候选的图。

图4示出了作为应用了本发明的实施方式的基于树结构对编码块进行层次划分的示例。

图5是示出了作为应用了本发明的实施方式的允许基于二叉树的划分的划分形状的图。

图6示出了三叉树划分形状。

图7是示出了仅允许特定形状的基于二叉树的划分的示例的图。

图8是用于描述根据应用了本发明的实施方式的其中与允许二叉树划分的次数相关的信息被编码/解码的示例的图。

图9是示出了作为应用了本发明的实施方式的帧间预测方法的流程图。

图10是示出了当合并模式被应用于当前块时导出当前块的运动信息的过程的图。

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

图12是示出了导出时间合并候选的运动向量的示例的图。

图13是示出了可以用作同位块的候选块的位置的图。

图14是示出了当AMVP模式被应用于当前块时导出当前块的运动信息的处理的图。

图15是示出了当第一合并候选块不可用时从第二合并候选块导出合并候选的示例的图。

图16是示出了根据与第一合并候选块位于同一条线上的第二合并候选块导出合并候选的示例的图。

图17至图20是示出了搜索合并候选块的顺序的图。

图21是示出了基于正方形块导出非正方形块的合并候选的示例的图。

图22是示出了基于高级节点块导出合并候选的示例的图。

图23是示出了基于合并估计区域来确定空间相邻块的可用性的示例的图。

图24是示出了基于合并估计区域导出合并候选的示例的图。

图25是示出了基于相邻块的合并索引来确定当前块的合并候选列表的示例的图。

图26和图27是示出了其中合并候选被重新排序的示例的图。

图28是用于描述基于多个合并候选来获得当前块的运动信息的示例的图。

图29是示出了从多个合并候选导出当前块的运动信息的示例的图。

具体实施方式

可以对本发明进行各种修改,并且存在本发明的各种实施方式,现在将参照附图提供这些实施方式的示例,并且详细地描述这些实施方式的示例。然而,本发明不限于此,并且示例性实施方式可以被解释为包括本发明的技术构思和技术范围内的全部修改、等同物或替代方案。在描述的附图中,相似的附图标记指代相似的要素。

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

在本公开内容中,当元件被称为“连接”或“耦接”至另一元件时,应理解成不仅包括该元件直接连接或耦接至该另一元件,而且包括可以在它们之间存在另一元件。当元件被称为“直接连接”或“直接耦接”至另一元件时,应理解在它们之间不存在其他元件。

本说明书中使用的术语仅用于描述特定实施方式,而并不旨在限制本发明。以单数形式使用的表述包含复数形式的表述,除非该表述在上下文中具有明显不同的含义。在本说明书中,应当理解,诸如“包括”、“具有”等的术语旨在指示本说明书中公开的特征、数字、步骤、动作、元件、部分或其组合的存在,并且不旨在排除可以存在或可以添加一个或更多个其他特征、数字、步骤、动作、元件、部分或其组合的可能性。

在下文中,将参照附图详细地描述本发明的优选实施方式。在下文中,附图中的相同组成元件由相同的附图标记表示,并且将省略对相同元件的重复描述。

图1是示出了根据本发明的实施方式的用于对视频进行编码的装置的框图。

参照图1,用于对视频进行编码的装置100可以包括:图片划分模块110、预测模块120和125、变换模块130、量化模块135、重排模块160、熵编码模块165、逆量化模块140、逆变换模块145、滤波器模块150和存储器155。

图1中所示的组成部分被独立地示出,以表示用于对视频进行编码的装置中的彼此不同的特征功能。因此,这并不意味着每个组成部分都以单独的硬件或软件的组成单元组成。换言之,为了方便起见,每个组成部分包括列举的组成部分中的每个。因此,每个组成部分中的至少两个组成部分可以被组合以形成一个组成部分,或者一个组成部分可以被分成多个组成部分以执行每个功能。在不偏离本发明的实质内容的情况下,组合每个组成部分的实施方式和分割一个组成部分的实施方式也被包括在本发明的范围内。

此外,组成部分中的一些组成部分可以不是执行本发明的基本功能的不可缺少的组成部分,而是仅改善本发明的性能的选择性组成部分。可以通过排除用于改善性能的组成部分而仅包括用于实现本发明的实质内容的不可缺少的组成部分来实现本发明。排除仅用于改善性能的选择性组成部分而仅包括不可缺少的组成部分的结构也被包括在本发明的范围内。

图片划分模块110可以将输入图片划分为一个或更多个处理单元。在此,处理单元可以是预测单元(PU)、变换单元(TU)或编码单元(CU)。图片划分模块110可以将一个图片划分为多个编码单元、预测单元和变换单元的组合,并且可以通过使用预定标准(例如,成本函数)选择编码单元、预测单元和变换单元的一个组合来对图片进行编码。

例如,可以将一个图片划分为多个编码单元。可以使用递归树结构例如四叉树结构来将图片划分为编码单元。以一个图片或最大编码单元为根而被划分为其他编码单元的编码单元可以被划分为具有与所划分的编码单元的数目相对应的子节点。按照预定限制不能再被划分的编码单元用作叶子节点。也就是说,当假设对于一个编码单元仅正方形划分可行时,可以将一个编码单元最多划分为四个其他编码单元。

在下文中,在本发明的实施方式中,编码单元可以意指执行编码的单元或者执行解码的单元。

预测单元可以是在单个编码单元中被划分为具有相同大小的正方形形状或矩形形状的划分之一,或者预测单元可以是在单个编码单元中被划分成使得具有不同的形状/大小的划分之一。

当基于编码单元生成经受帧内预测的预测单元并且编码单元不是最小编码单元时,可以在不将编码单元划分为多个预测单元NxN的情况下执行帧内预测。

预测模块120和125可以包括执行帧间预测的帧间预测模块120和执行帧内预测的帧内预测模块125。可以确定对于预测单元执行帧间预测还是帧内预测,并且可以确定根据每个预测方法的详细信息(例如,帧内预测模式、运动向量、参考图片等)。在此,经受预测的处理单元可以与针对其确定了预测方法和详细内容的处理单元不同。例如,可以由预测单元确定预测方法、预测模式等,并且可以由变换单元执行预测。所生成的预测块与原始块之间的残差值(残差块)可以被输入至变换模块130。此外,用于预测的预测模式信息、运动向量信息等可以与残差值一起由熵编码模块165进行编码,并且可以被传送至用于对视频进行解码的装置。当使用特定编码模式时,可以通过按原样对原始块进行编码而不通过预测模块120和125生成预测块而传送至用于对视频进行解码的装置。

帧间预测模块120可以基于当前图片的先前图片或后续图片中的至少一个的信息来预测预测单元,或者在一些情况下,可以基于当前图片中的一些编码区域的信息来预测预测单元。帧间预测模块120可以包括参考图片插值模块、运动预测模块和运动补偿模块。

参考图片插值模块可以从存储器155接收参考图片信息,并且可以根据参考图片生成整像素或小于整像素的像素信息。在亮度像素的情况下,可以使用具有不同滤波器系数的基于DCT的8抽头插值滤波器以1/4像素为单位生成整像素或小于整像素的像素信息。在色度信号的情况下,可以使用具有不同滤波器系数的基于DCT的4抽头插值滤波器以1/8像素为单位生成整像素或小于整像素的像素信息。

运动预测模块可以基于被参考图片插值模块插值的参考图片来执行运动预测。可以使用诸如基于全搜索的块匹配算法(FBMA)、三步搜索(TSS)、新三步搜索算法(NTS)等的各种方法作为用于计算运动向量的方法。基于插值像素,运动向量可以具有以1/2像素或1/4像素为单位的运动向量值。运动预测模块可以通过改变运动预测方法来预测当前预测单元。可以使用诸如跳过方法、合并方法、AMVP(高级运动向量预测)方法、帧内块复制方法等的各种方法作为运动预测方法。

帧内预测模块125可以基于与当前块相邻的参考像素信息来生成预测单元,该参考像素信息是当前图片中的像素信息。在当前预测单元的相邻块是经受帧间预测的块并且因此参考像素是经受帧间预测的像素时,可以使用经受帧内预测的相邻块的参考像素信息来替换在经受帧间预测的块中包括的参考像素。也就是说,当参考像素不可用时,可以使用可用的参考像素中的至少一个参考像素代替不可用的参考像素信息。

帧内预测的预测模式可以包括根据预测方向的使用参考像素信息的方向预测模式和在执行预测时不使用方向信息的无方向预测模式。用于预测亮度信息的模式可以与用于预测色度信息的模式不同,并且为了预测色度信息,可以利用用于预测亮度信息的帧内预测模式信息或者预测的亮度信号信息。

在执行帧内预测时,当预测单元的大小与变换单元的大小相同时,可以基于位于该预测单元的左侧、左上侧和上侧的像素对预测单元执行帧内预测。然而,在执行帧内预测时,当预测单元的大小与变换单元的大小不同时,可以使用基于变换单元的参考像素来执行帧内预测。此外,使用NxN划分的帧内预测可以仅用于最小编码单元。

在帧内预测方法中,根据预测模式,可以在将AIS(自适应帧内平滑)滤波器应用于参考像素之后生成预测块。应用于参考像素的AIS滤波器的类型可以不同。为了执行帧内预测方法,可以根据与当前预测单元相邻的预测单元的帧内预测模式来预测当前预测单元的帧内预测模式。在通过使用根据相邻预测单元预测的模式信息来预测当前预测单元的预测模式时,在当前预测单元的帧内预测模式与相邻预测单元的帧内预测模式相同时,可以使用预定的标志信息来传送指示当前预测单元的预测模式与相邻预测单元的预测模式彼此相同的信息。在当前预测单元的预测模式与相邻预测单元的预测模式不同时,可以执行熵编码以对当前块的预测模式信息进行编码。

此外,可以基于由预测模块120和125生成的预测单元来生成包括关于残差值的信息的残差块,该残差值是经受预测的预测单元与预测单元的原始块之间的差。可以将所生成的残差块输入至变换模块130。

变换模块130可以通过使用诸如离散余弦变换(DCT)、离散正弦变换(DST)和KLT的变换方法来对包括关于原始块与由预测模块120和125生成的预测单元之间的残差值的信息的残差块进行变换。可以基于用于生成残差块的预测单元的帧内预测模式信息来确定是应用DCT、DST还是KLT以便对残差块进行变换。

量化模块135可以对通过变换模块130变换至频域的值进行量化。量化系数可以根据图片的块或重要性而不同。可以将由量化模块135计算的值提供至逆量化模块140和重排模块160。

重排模块160可以对经量化的残差值的系数进行重排。

重排模块160可以通过系数扫描方法将二维块形式的系数变为一维向量形式的系数。例如,重排模块160可以使用之字形(zigzag)扫描方法从DC系数扫描至高频域的系数,以便将系数变为一维向量形式。根据变换单元的大小和帧内预测模式,可以使用在列方向上扫描二维块形式的系数的垂直方向扫描或在行方向上扫描二维块形式的系数的水平方向扫描代替之字形扫描。也就是说,可以根据变换单元的大小和帧内预测模式来确定使用之字形扫描、垂直方向扫描和水平方向扫描中的哪种扫描方法。

熵编码模块165可以基于由重排模块160计算的值来执行熵编码。熵编码可以使用诸如指数哥伦布(Golomb)编码、上下文自适应可变长编码(CAVLC)和上下文自适应二进制算术编码(CABAC)的各种编码方法。

熵编码模块165可以对来自重排模块160以及预测模块120和125的各种信息例如编码单元的残差值系数信息和块类型信息、预测模式信息、划分单元信息、预测单元信息、变换单元信息、运动向量信息、参考帧信息、块插值信息、滤波信息等进行编码。

熵编码模块165可以对从重排模块160输入的编码单元的系数进行熵编码。

逆量化模块140可以对由量化模块135量化的值进行逆量化,并且逆变换模块145可以对由变换模块130变换的值进行逆变换。可以将由逆量化模块140和逆变换模块145生成的残差值与由预测模块120和125的运动估计模块、运动补偿模块和帧内预测模块预测的预测单元进行组合,使得可以生成重构块。

滤波器模块150可以包括去块滤波器、偏移校正单元和自适应环路滤波器(ALF)中的至少一个。

去块滤波器可以去除由于重构图片中的块之间的边界而出现的块失真。为了确定是否执行去块,包括在块中的若干行或列中的像素可以是确定是否将去块滤波器应用于当前块的基础。当去块滤波器被应用于块时,可以根据所需的去块滤波强度来应用强滤波器或弱滤波器。此外,在应用去块滤波器时,可以并行地处理水平方向滤波和垂直方向滤波。

偏移校正模块可以在经受去块的图片中以像素为单位校正与原始图片的偏移。为了对特定图片执行偏移校正,可以使用在考虑每个像素的边缘信息的情况下应用偏移的方法或下述方法:将图片的像素划分为预定数目的区域、确定要经受执行偏移的区域以及将偏移应用于所确定的区域。

可以基于通过将经滤波的重构图片与原始图片进行比较而获得的值来执行自适应环路滤波(ALF)。可以将图片中包括的像素分成预定的组,可以确定要应用于组中的每个组的滤波器,并且可以针对每个组来单独地执行滤波。可以通过编码单元(CU)传送关于是否应用ALF的信息和亮度信号。用于ALF的滤波器的形状和滤波器系数可以根据每个块而不同。此外,无论应用目标块的特征如何,都可以应用相同形状(固定形状)的用于ALF的滤波器。

存储器155可以存储通过滤波器模块150计算的重构块或重构图片。可以在执行帧间预测时将所存储的重构块或重构图片提供至预测模块120和125。

图2是示出了根据本发明的实施方式的用于对视频进行解码的装置的框图。

参照图2,用于对视频进行解码的装置200可以包括:熵解码模块210、重排模块215、逆量化模块220、逆变换模块225、预测模块230和235、滤波器模块240以及存储器245。

当从用于对视频进行编码的装置输入视频比特流时,可以根据用于对视频进行编码的装置的逆处理对输入的比特流进行解码。

熵解码模块210可以根据由用于对视频进行编码的装置的熵编码模块进行的熵编码的逆处理来执行熵解码。例如,对应于由用于对视频进行编码的装置执行的方法,可以应用诸如指数哥伦布编码、上下文自适应可变长编码(CAVLC)和上下文自适应二进制算术编码(CABAC)的各种方法。

熵解码模块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可以基于包括当前预测单元的当前图片的先前图片或后续图片中的至少一个的信息来对当前预测单元执行帧间预测。替选地,可以基于包括当前预测单元的当前图片中的一些预先重构区域的信息来执行帧间预测。

为了执行帧间预测,可以针对编码单元来确定将跳过模式、合并模式、AMVP模式和帧间块复制模式中的哪种模式用作包括在编码单元中的预测单元的运动预测方法。

帧内预测模块235可以基于当前图片中的像素信息来生成预测块。当预测单元是经受帧内预测的预测单元时,可以基于从用于对视频进行编码的装置接收的预测单元的帧内预测模式信息来执行帧内预测。帧内预测模块235可以包括自适应帧内平滑(AIS)滤波器、参考像素插值模块和DC滤波器。AIS滤波器对当前块的参考像素执行滤波,并且可以根据当前预测单元的预测模式来确定是否应用滤波器。可以通过使用从用于对视频进行编码的装置接收的AIS滤波器信息和预测单元的预测模式来对当前块的参考像素执行AIS滤波。在当前块的预测模式是不执行AIS滤波的模式时,可以不应用AIS滤波器。

当预测单元的预测模式是其中基于通过对参考像素进行插值而获得的像素值来执行帧内预测的预测模式时,参考像素插值模块可以对参考像素进行插值,以生成整像素或小于整像素的参考像素。在当前预测单元的预测模式是其中在没有对参考像素进行插值的情况下生成预测块的预测模式时,可以不对参考像素进行插值。在当前块的预测模式是DC模式时,DC滤波器可以通过滤波来生成预测块。

可以将重构的块或图片提供至滤波器模块240。滤波器模块240可以包括去块滤波器、偏移校正模块和ALF。

可以从用于对视频进行编码的装置接收关于是否将去块滤波器应用于相应的块或图片的信息以及关于在应用去块滤波器时应用强滤波器和弱滤波器中的哪种滤波器的信息。用于对视频进行解码的装置的去块滤波器可以从用于对视频进行编码的装置接收关于去块滤波器的信息,并且可以对相应的块执行去块滤波。

偏移校正模块可以基于在执行编码时应用于图片的偏移校正的类型和偏移值信息来对重构图片执行偏移校正。

可以基于从用于对视频进行编码的装置接收的关于是否应用ALF的信息、ALF系数信息等来将ALF应用于编码单元。ALF信息可以被提供为被包括在特定参数集中。

存储器245可以存储重构的图片或块以用作参考图片或块,并且可以将重构的图片提供至输出模块。

如上所述,在本发明的实施方式中,为了便于说明,编码单元用作表示用于编码的单元的术语,但是编码单元可以用作执行解码以及编码的单元。

另外,当前块可以表示要被编码/解码的目标块。并且,根据编码/解码步骤,当前块可以表示编码树块(或编码树单元)、编码块(或编码单元)、变换块(或变换单元)、预测块(或预测单元)等。在本说明书中,‘单元’可以表示用于执行特定的编码/解码处理的基本单元,而‘块’可以表示预定大小的样本阵列。除非另有说明,否则‘块’和‘单元’可以用作相同的含义。例如,在后面提及的示例中,可以理解,编码块和编码单元彼此具有相同的含义。

可以通过分成具有正方形形状或非正方形形状的基本块来对一个图片进行编码/解码。此时,基本块可以被称为编码树单元。编码树单元可以被定义为序列或切片(slice)内允许的最大大小的编码单元。可以通过序列参数集、图片参数集或片头(slice header)用信号发送表示编码树单元是具有正方形形状还是具有非正方形形状的信息或与编码树单元的大小有关的信息。编码树单元可以被分成更小大小的划分。此时,如果假设通过分割编码树单元生成的划分的深度是1,则通过分割深度为1的划分生成的划分的深度可以被定义为2。也就是说,通过分割编码树单元中深度为k的划分生成的划分可以被定义为深度为k+1。

通过分割编码树单元生成的任意大小的划分可以被定义为编码单元。编码单元可以被递归地分割或分成用于执行预测、量化、变换或环路滤波等的基本单元。例如,通过分割编码单元生成的任意大小的划分可以被定义为编码单元,或者可以被定义为变换单元或预测单元,该编码单元、变换单元或预测单元是用于执行预测、量化、变换或环路滤波等的基本单元。

替选地,可以通过编码块的预测划分来确定与编码块具有相同的大小或小于编码块的预测块。对于编码块的预测划分,可以指定表示编码块的划分形状的划分模式(Part_mode)候选中的任何一个。可以通过比特流用信号发送用于确定指示划分模式候选中的任何一个的划分索引的信息。替选地,可以基于编码块的大小、形状或编码模式中的至少一个来确定编码块的划分索引。可以基于由划分索引指定的划分模式来确定预测块的大小或形状。划分模式候选可以包括非对称划分形状(例如,nLx2N、nRx2N、2NxnU、2NxnD)。可以基于编码块的大小、形状或编码模式中的至少一个来确定编码块可用的非对称划分模式候选的数目或类型。

图3是示出了当通过帧间预测对编码块进行编码时可以应用于编码块的划分模式候选的图。

当通过帧间预测对编码块进行编码时,可以将图3中所示的8个划分模式候选中的任意一个应用于编码块。

另一方面,当通过帧内预测对编码块进行编码时,可以仅将正方形划分式划分应用于编码块。换言之,当通过帧内预测对编码块进行编码时,可以将划分模式,PART_2Nx2N或PART_NxN,应用于编码块。

当编码块具有最小大小时,可以应用PART_NxN。在本文中,可以在编码器和解码器中预定义编码块的最小大小。替选地,可以通过比特流用信号发送与编码块的最小大小有关的信息。在示例中,可以通过片头用信号发送编码块的最小大小。因此,可以对于每个切片不同地确定编码块的最小大小。

在另一示例中,可以根据编码块的大小或形状中的至少一个来不同地确定可用于编码块的划分模式候选。在示例中,可以根据编码块的大小或形状中的至少一个来不同地确定可用于编码块的划分模式候选的数目或类型。

替选地,可以基于编码块的大小或形状来确定可用于编码块的非对称划分模式候选的类型或数目。可以根据编码块的大小或形状中的至少一个来不同地确定可用于编码块的非对称划分模式候选的数目或类型。在示例中,当编码块具有宽度大于高度的非正方形形状时,可以不将PART_2NxN、PART_2NxnU或PART_2NxnD中的至少一个用作编码块的划分模式候选。当编码块具有高度大于宽度的非正方形形状时,可以不将PART_Nx2N、PART_nLx2N、PART_nRx2N中的至少一个用作编码块的划分模式候选。

通常,预测块可以具有4x4至64x64的大小。但是,当通过帧间预测对编码块进行编码时,可以将预测块限制为不具有4x4的大小以减小执行运动补偿时的存储带宽。

基于划分模式,可以递归地划分编码块。换言之,基于由划分索引确定的划分模式,编码块可以被划分并且可以将通过对编码块进行划分而生成的每个划分定义为编码块。

在下文中,将更详细地描述划分编码单元的方法。在后面提及的示例中,编码单元可以意指编码树单元或包括在编码树单元中的编码单元。另外,通过对编码块进行划分而生成的“划分”可以意指“编码块”。后面提及的划分方法可以在将编码块划分为多个预测块或变换块时应用。

可以通过至少一条线来对编码单元进行划分。在这种情况下,对编码单元进行划分的线的角度可以是0至360度的范围内的值。例如,水平线的角度可以是0度,垂直线的角度可以是90度,右上方向上的对角线的角度可以是45度,而左上对角线的角度可以是135度。

在通过多条线来对编码单元进行划分时,多条线中的所有线都可以具有相同的角度。替选地,多条线中的至少一条可以具有与其他线不同的角度。替选地,对编码树单元或编码单元进行划分的多条线可以具有预定义的角度差(例如,90度)。

可以通过划分模式来确定与对编码单元进行划分的线有关的信息。替选地,可以对关于线在块中的数目、方向、角度或位置中的至少一个的信息进行编码。

为了便于描述,在之后提及的示例中,假设通过使用垂直线或水平线中的至少一条将编码单元划分为多个编码单元。

对编码单元进行划分的垂直线或水平线的数目可以是至少一个或更多个。在示例中,可以通过使用一条垂直线或一条水平线来将编码单元划分为2个划分。替选地,可以通过使用两条垂直线或两条水平线来将编码单元划分为3个划分。替选地,可以通过使用一条垂直线或一条水平线将编码单元划分为4个划分,所述4个划分的宽度和高度均为编码单元的宽度和高度的一半。

当通过使用至少一条垂直线或至少一条水平线将编码单元划分为多个划分时,划分可以具有统一的大小。替选地,一个划分可以具有与其他划分不同的大小,或者每个划分可以具有不同的大小。在示例中,当通过两条水平线或两条垂直线对编码单元进行划分时,可以将编码单元划分为3个划分。在这种情况下,3个划分的宽度比或高度比可以是n:2n:n、2n:n:n或n:n:2n。

在后面提及的示例中,将编码块划分为4个划分被称为基于四叉树的划分。并且,将编码块划分为2个划分被称为基于二叉树的划分。另外,将编码块划分为3个划分被称为基于三叉树的划分。

在后面提及的附图中,将示出使用一条垂直线和/或一条水平线来对编码单元进行划分,但是将描述的是,通过使用比所示的更多垂直线和/或更多水平线将编码单元划分为比所示的更多的划分或者将编码单元划分为比所示的更少的划分也包括在本发明的范围内。

图4示出了作为应用了本发明的实施方式的基于树结构对编码块进行层次划分的示例。

以预定的块单元对输入视频信号进行解码,并且用于对输入视频信号进行解码的基本单元被称为编码块。编码块可以是执行帧内/帧间预测、变换以及量化的单元。另外,可以以编码块为单位确定预测模式(例如,帧内预测模式或帧间预测模式),并且包括在编码块中的预测块可以共享所确定的预测模式。编码块可以是在8x8至64x64的范围内的任意大小的正方形块或非正方形块,或者可以是具有128x128、256x256或更大的大小的正方形块或非正方形块。

具体地,可以基于四叉树划分方法、二叉树划分方法或三叉树划分方法中的至少一种来对编码块进行层次划分。基于四叉树的划分可以意指将2Nx2N编码块划分为四个NxN编码块的方法。基于二叉树的划分可以意指将一个编码块划分为两个编码块的方法。基于三叉树的划分可以意指将一个编码块划分为三个编码块的方法。即使当基于三叉树或基于二叉树的划分被执行时,也可以在较低的深度处存在正方形编码块。

通过基于二叉树的划分生成的划分可以是对称的或非对称的。另外,基于二叉树划分的编码块可以是正方形块或非正方形块(例如,矩形)。

图5是示出了基于二叉树划分的编码块的划分形状的图。基于二叉树划分的编码块的划分形状可以包括诸如2NxN(水平方向上的非正方形编码单元)或Nx2N(垂直方向上的非正方形编码单元)等的对称类型,或者诸如nLx2N、nRx2N、2NxnU或2NxnD等的非对称类型。可以仅允许对称类型或非对称类型之一作为编码块的划分形状。

三叉树划分形状可以包括将编码块划分为2条垂直线的形状或将编码块划分为2条水平线的形状中的至少一种。可以通过三叉树划分生成3个非正方形划分。

图6示出了三叉树划分形状。

三叉树划分形状可以包括将编码块划分为2条水平线的形状或将编码块划分为2条垂直线的形状。通过对编码块进行划分而生成的划分的宽度比或高度比可以是n:2n:n、2n:n:n或n:n:2n。

可以在编码器和解码器中预定义在3个划分中具有最大宽度或高度的划分的位置。替选地,可以通过比特流用信号发送指示在3个划分中具有最大宽度或高度的划分的信息。

对于编码单元,可以仅允许正方形形状或非正方形对称形状的划分。在这种情况下,将编码单元划分为正方形划分可以对应于四叉树CU划分,并且将编码单元划分为对称形状的非正方形划分可以对应于二叉树划分。将编码树单元划分为正方形划分和对称形状的非正方形划分可以对应于四叉树和二叉树CU划分(QTBT)。

可以对不再执行基于四叉树的划分的编码块执行基于二叉树或基于三叉树的划分。通过基于二叉树或基于三叉树的划分生成的编码块可以被划分为更小的编码块。在这种情况下,可以将四叉树划分、三叉树划分或二叉树划分中的至少一种设置成不被应用于编码块。替选地,对于编码块,可以不允许在预定方向上的二叉树划分或在预定方向上的三叉树划分。在示例中,对于通过基于二叉树或基于三叉树的划分生成的编码块,四叉树划分和三叉树划分可以被设置成为不允许的。对于该编码块,可以允许仅二叉树划分。

替选地,可以仅将通过基于三叉树的划分生成的3个编码块中的最大编码块划分为较小的编码块。替选地,可以仅使得通过基于三叉树的划分生成的3个编码块中的最大编码块允许基于二叉树的划分或基于三叉树的划分。

可以基于较高深度的划分的划分形状来相应地确定较低深度的划分的划分形状。在示例中,当较高的划分和较低的划分基于二叉树被划分时,对于较低深度的划分,可以仅允许与较高深度的划分的二叉树划分形状相同的形状的基于二叉树的划分。例如,当较高深度的划分的二叉树划分形状是2NxN时,较低深度的划分的二叉树划分形状也可以被设置成为2NxN。替选地,当较高深度的划分的二叉树划分形状是Nx2N时,较低深度的划分的划分形状也可以被设置成为Nx2N。

替选地,对于通过基于三叉树的划分生成的划分中的最大划分,在与较高深度的划分相同的划分方向上的二叉树划分或在与较高深度的划分相同的划分方向上的三叉树划分可以被设置成为不允许的。

替选地,可以通过考虑较高深度的划分的划分形状和相邻的较低深度的划分的划分形状来确定较低深度的划分的划分形状。具体地,如果基于二叉树来对较高深度的划分进行划分,则可以确定较低深度的划分的划分形状,使得不会出现与基于四叉树对较高深度的划分进行划分的结果相同的结果。在示例中,当较高深度的划分的划分形状是2NxN并且相邻的较低深度的划分的划分形状是Nx2N时,当前较低深度的划分的划分形状可以不被设置成为Nx2N。这是因为在当前较低深度的划分的划分形状为Nx2N时,其导致与基于成NxN形状的四叉树对较高深度的划分进行划分的结果相同的结果。当较高深度的划分的划分形状是Nx2N并且相邻的较低深度的划分的划分形状是2NxN时,当前较低深度的划分的划分形状可以不被设置成为2NxN。换言之,当较高深度的划分的二叉树划分形状与相邻的较低深度的划分的二叉树划分形状不同时,当前较低深度的划分的二叉树划分形状可以被设置为与较高深度的划分的二叉树划分形状相同。

替选地,较低深度的划分的二叉树划分形状可以被设置成与较高深度的划分的二叉树划分形状不同。

可以以序列、切片或编码单元为单位来确定允许的二叉树划分形状。在示例中,可以将编码树单元允许的二叉树划分形状限制为2NxN或Nx2N形状。可以在编码器或解码器中预定义允许的划分形状。替选地,关于允许的划分形状或不允许的划分形状的信息可以被编码并且通过比特流用信号发送。

图7是示出了仅允许特定形状的基于二叉树的划分的示例的图。

图7A表示仅允许基于成Nx2N形状的二叉树的划分的示例,并且图7B表示仅允许基于成2NxN形状的二叉树的划分的示例。

为了表示各种划分形状,可以使用关于四叉树划分的信息、关于二叉树划分的信息或关于三叉树划分的信息。关于四叉树划分的信息可以包括指示是否执行基于四叉树的划分的信息或关于允许基于四叉树的划分的编码块的大小/深度的信息中的至少一个。关于二叉树划分的信息可以包括以下中的至少一个:指示是否执行基于二叉树的划分的信息、关于基于二叉树的划分是垂直方向还是水平方向的信息、关于允许基于二叉树的划分的编码块的大小/深度的信息或者关于不允许基于二叉树的划分的编码块的大小/深度的信息。关于三叉树划分的信息可以包括以下中的至少一个:指示是否执行基于三叉树的划分的信息、关于基于三叉树的划分是垂直方向还是水平方向的信息、关于允许基于三叉树的划分的编码块的大小/深度的信息或者关于不允许基于三叉树的划分的编码块的大小/深度的信息。关于编码块的大小的信息可以表示编码块的宽度、高度、宽度和高度的乘积或宽度与高度的比中的至少一个最小值或最大值。

在示例中,当编码块的宽度或高度小于允许二叉树划分的最小大小时,或者当编码块的划分深度大于允许二叉树划分的最大深度时,对于该编码块,可以不允许基于二叉树的划分。

在示例中,当编码块的宽度或高度小于允许三叉树划分的最小大小时,或者当编码块的划分深度大于允许三叉树划分的最大深度时,对于该编码块,可以不允许基于三叉树的划分。

可以通过比特流用信号发送关于允许基于二叉树或基于三叉树的划分的条件的信息。可以以序列、图片或部分图像为单位对信息进行编码。部分图像可以意指切片、图块(tile)组、图块、区块(brick)、编码块、预测块或变换块中的至少一个。

在示例中,可以通过比特流来对语法‘max_mtt_depth_idx_minus1’进行编码/解码,该语法‘max_mtt_depth_idx_minus1’表示允许二叉树/三叉树划分的最大深度。在这种情况下,max_mtt_depth_idx_minus1+1可以指示允许二叉树/三叉树划分的最大深度。

在示例中,可以在序列或切片级别用信号发送允许二叉树/三叉树划分的次数、允许二叉树/三叉树划分的最大深度或允许二叉树/三叉树划分的深度的数目中的至少一个。因此,对于第一切片和第二切片,允许二叉树/三叉树划分的次数、允许二叉树/三叉树划分的最大深度或允许二叉树/三叉树划分的深度的数目中的至少一个可以不同。在示例中,虽然对于第一切片,可以仅在一个深度上允许二叉树/三叉树划分,但是对于第二切片,可以在两个深度上允许二叉树/三叉树划分。

在图8中所示的示例中,图8示出了对深度为2的编码单元和深度为3的编码单元执行二叉树划分。因此,可以通过比特流对以下中的至少一个进行编码/解码:表示在编码树单元中执行二叉树划分的次数(2次)的信息、表示在编码树单元中通过二叉树划分而生成的划分的最大深度(深度3)的信息或表示在编码树单元中应用二叉树划分的划分深度的数目(2个深度,深度2和深度3)的信息。

替选地,可以在编码器和解码器中预定义允许二叉树/三叉树划分的次数、允许二叉树/三叉树划分的深度或允许二叉树/三叉树划分的深度的数目。替选地,可以基于序列或切片的索引或者编码单元的大小/形状中的至少一个来确定允许二叉树/三叉树划分的次数、允许二叉树/三叉树划分的深度或允许二叉树/三叉树划分的深度的数目。在示例中,对于第一切片,可以在一个深度上允许二叉树/三叉树划分,而对于第二切片,可以在两个深度上允许二叉树/三叉树划分。

在另一示例中,可以根据切片或图片的时间级别标识符(TemporalID)不同地设置允许二叉树划分的次数、允许二叉树划分的深度或允许二叉树划分的深度的数目中的至少一个。在本文中,时间级别标识符(TemporalID)用于标识图像中的具有至少一个或更多个视角、空间、时间或质量的可缩放性的多个层中的每个层。

如图4中所示,可以基于四叉树将划分深度(拆分深度)为k的第一编码块300划分为多个第二编码块。例如,第二编码块310至340可以是宽度和高度为第一编码块的宽度和高度的一半的正方形块,并且第二编码块的划分深度可以增加至k+1。

划分深度为k+1的第二编码块310可以被划分为划分深度为k+2的多个第三编码块。可以通过根据划分方法选择性地使用四叉树或二叉树之一来执行第二编码块310的划分。在这种情况下,可以基于指示基于四叉树的划分的信息或指示基于二叉树的划分的信息中的至少一个来确定划分方法。

当基于四叉树对第二编码块310进行划分时,第二编码块310可以被划分为宽度和高度为第二编码块的宽度和高度的一半的四个第三编码块310a,并且第三编码块310a的划分深度可以增加至k+2。换言之,当基于二叉树对第二编码块310进行划分时,第二编码块310可以被划分为两个第三编码块。在这种情况下,两个第三编码块中的每个可以是宽度和高度之一为第二编码块的宽度和高度的一半的非正方形块,并且划分深度可以增加至k+2。可以根据划分方向将第二编码块确定为水平方向或垂直方向上的非方形块,并且可以基于关于是在垂直方向上还是在水平方向上执行基于二叉树的划分的信息来确定划分方向。

同时,第二编码块310可以被确定为不再基于四叉树或二叉树被划分的叶子编码块,并且在这种情况下,相应的编码块可以被用作预测块或变换块。

类似于第二编码块310的划分,第三编码块310a可以被确定为叶子编码块,或者可以基于四叉树或二叉树被进一步划分。

另一方面,基于二叉树被划分的第三编码块310b可以基于二叉树被进一步划分为垂直方向上的编码块310b-2或水平方向上的编码块310b-3,并且相应的编码块的划分深度可以增加至k+3。替选地,第三编码块310b可以被确定为不再基于二叉树被划分的叶子编码块310b-1,并且在这种情况下,相应的编码块310b-1可以被用作预测块或变换块。然而,可以基于以下中的至少一个来限制性地执行以上提及的划分处理:关于允许基于四叉树的划分的编码块的大小/深度的信息、关于允许基于二叉树的划分的编码块的大小/深度的信息或关于不允许基于二叉树的划分的编码块的大小/深度的信息。

表示编码块的大小的候选的数目可以被限制为预定数目,或者预定单元中的编码块的大小可以具有固定值。在示例中,序列中或图片中的编码块的大小可以被限制为具有256x256、128x128或32x32中的任意一个。可以以序列头或图片头用信号发送表示序列中或图片中的编码块的大小的信息。

作为基于四叉树和二叉树划分的结果,编码单元可以被表示为任意大小的正方形或矩形形状。

如图4中所示,可以基于四叉树将划分深度(拆分深度)为k的第一编码块300划分为多个第二编码块。例如,第二编码块310至340可以是宽度和高度为第一编码块的宽度和高度的一半的正方形块,并且第二编码块的划分深度可以增加至k+1。

划分深度为k+1的第二编码块310可以被划分为划分深度为k+2的多个第三编码块。可以通过根据划分方法选择性地使用四叉树或二叉树之一来执行第二编码块310的划分。在这种情况下,可以基于指示基于四叉树的划分的信息或指示基于二叉树的划分的信息中的至少一个来确定划分方法。

当基于四叉树对第二编码块310进行划分时,第二编码块310可以被划分为宽度和高度为第二编码块的宽度和高度的一半的四个第三编码块310a,并且第三编码块310a的划分深度可以增加至k+2。换言之,当基于二叉树对第二编码块310进行划分时,第二编码块310可以被划分为两个第三编码块。在这种情况下,两个第三编码块中的每个可以是宽度和高度之一为第二编码块的宽度和高度的一半的非正方形块,并且划分深度可以增加至k+2。可以根据划分方向将第二编码块确定为水平方向或垂直方向上的非方形块,并且可以基于关于是在垂直方向上还是在水平方向上执行基于二叉树的划分的信息来确定划分方向。

同时,第二编码块310可以被确定为不再基于四叉树或二叉树被划分的叶子编码块,并且在这种情况下,相应的编码块可以被用作预测块或变换块。

类似于第二编码块310的划分,第三编码块310a可以被确定为叶子编码块,或者可以基于四叉树或二叉树被进一步划分。

另一方面,基于二叉树被划分的第三编码块310b可以基于二叉树被进一步划分为垂直方向上的编码块310b-2或水平方向上的编码块310b-3,并且相应的编码块的划分深度可以增加至k+3。替选地,第三编码块310b可以被确定为不再基于二叉树被划分的叶子编码块310b-1,并且在这种情况下,相应的编码块310b-1可以被用作预测块或变换块。然而,可以基于以下中的至少一个来限制性地执行以上提及的划分处理:关于允许基于四叉树的划分的编码块的大小/深度的信息、关于允许基于二叉树的划分的编码块的大小/深度的信息或关于不允许基于二叉树的划分的编码块的大小/深度的信息。

表示编码块的大小的候选的数目可以被限制为预定数目,或者预定单元中的编码块的大小可以具有固定值。在示例中,序列中或图片中的编码块的大小可以被限制为具有256x256、128x128或32x32中的任意一个。可以以序列头或图片头用信号发送表示序列中或图片中的编码块的大小的信息。

作为基于四叉树和二叉树划分的结果,编码单元可以被表示为任意大小的正方形或矩形形状。

可以将变换跳过设置成不用于通过基于二叉树的划分或基于三叉树的划分生成的编码单元。替选地,可以将变换跳过设置成应用于非正方形编码单元中的垂直方向或水平方向中的至少一个。在示例中,当将变换跳过应用于水平方向时,其表示仅在水平方向上执行缩放而没有执行变换/逆变换,并且在垂直方向上执行使用DCT或DST的变换/逆变换。当将变换跳过应用于垂直方向时,其表示仅在垂直方向上执行缩放而没有执行变换/逆变换,并且在水平方向上执行使用DCT或DST的变换/逆变换。

可以通过比特流用信号发送关于是否跳过水平方向的逆变换的信息或关于是否跳过垂直方向的逆变换的信息。在示例中,关于是否跳过水平方向的逆变换的信息可以是1比特标志‘hor_transform_skip_flag’,并且关于是否跳过垂直方向的逆变换的信息可以是1比特标志‘ver_transform_skip_flag’。

编码器可以根据当前块的大小和/或形状确定是否对‘hor_transform_skip_flag’或‘ver_transform_skip_flag’进行编码。在示例中,在当前块具有Nx2N形状时,hor_transform_skip_flag可以被编码并且ver_transform_skip_flag的编码可以被省略。在当前块具有2NxN形状时,ver_transform_skip_flag可以被编码,并且可以省略hor_transform_skip_flag。

替选地,基于当前块的大小和/或形状,可以确定是否执行水平方向的变换跳过或是否执行垂直方向的变换跳过。在示例中,在当前块具有Nx2N形状时,可以将变换跳过应用于水平方向,并且可以对垂直方向执行变换/逆变换。在当前块具有2NxN形状时,可以将变换跳过应用于垂直方向,并且可以对水平方向执行变换/逆变换。可以基于DCT或DST中的至少一个来执行变换/逆变换。

作为基于四叉树、二叉树或三叉树划分的结果,可以将不再被划分的编码块用作预测块或变换块。换言之,通过四叉树划分或二叉树划分生成的编码块可以用作预测块或变换块。在示例中,可以以编码块为单位生成预测图像,并且可以以编码块为单位对残差信号、原始图像与预测图像之间的差进行变换。为了以编码块为单位生成预测图像,可以基于编码块确定运动信息,或者可以基于编码块确定帧内预测模式。因此,可以通过使用跳过模式、帧内预测或帧间预测中的至少一个来对编码块进行编码。

替选地,可以将通过对编码块进行划分而生成的多个编码块设置成共享运动信息、合并候选、参考样本、参考样本行或帧内预测模式中的至少一个。在示例中,当通过三叉树对编码块进行划分时,通过对编码块进行划分而生成的划分可以根据编码块的大小或形状共享运动信息、合并候选、参考样本、参考样本行或帧内预测模式中的至少一个。替选地,可以将多个编码块中的仅一部分设置成共享信息,并且可以将其余的编码块设置成不共享信息。

在另一示例中,可以通过对编码块进行划分使用小于编码块的预测块或变换块。

在下文中,将详细地描述对编码块或通过划分编码块而生成的预测块执行帧间预测的方法。

图9是示出作为应用了本发明的实施方式的帧间预测方法的流程图。

参照图9,可以确定当前块的运动信息S910。当前块的运动信息可以包括当前块的运动向量、当前块的参考图片索引、当前块的帧间预测方向或当前块的加权预测的权重指数中的至少一个。当前块的帧间预测方向指示是否执行L0方向上的预测或者是否执行L1方向上的预测中的至少一个。加权预测的权重可以表示施加至L0参考块的权重和施加至L1参考块的权重。加权预测的权重指数指示用于加权预测的多个权重候选中的任何一个。

可以基于通过比特流用信号发送的信息来确定当前块的运动向量。运动向量的精度表示用于表达当前块的运动向量的基本单位。例如,当前块的运动向量的精度可以被确定为整数像素、1/2像素、1/4像素或1/8像素之一。可以以每个图片为基础、以每个切片为基础、以每个图块组为基础、以每个图块为基础或以每个块为基础来确定运动向量的精度。块可以表示编码树单元、编码单元、预测单元或变换单元。

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

图10是示出了当合并模式被应用于当前块时导出当前块的运动信息的过程的图。

合并模式表示根据相邻块导出当前块的运动信息的方法。

当合并模式被应用于当前块时,可以根据当前块的空间相邻块导出空间合并候选S1010。空间相邻块可以包括与当前块的上侧边界、左侧边界或者角(例如,左上角、右上角或左下角中的至少一个)邻近的块中的至少一个。

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

作为图11中所示的示例,空间相邻块可以包括以下中的至少一个:与当前块的左侧邻近的相邻块A

进一步扩展图11的示例,空间合并候选可以根据与当前块的左上样本邻近的块或与当前块的上侧中心样本邻近的块导出。例如,与当前块的左上样本相邻的块可以包含包括在位置(0,-1)处的样本的块或包括在位置(-1,0)处的样本的块中的至少一个。或者,可以根据与当前块的上侧中心样本相邻的块或与当前块的左侧中心样本相邻的块中的至少一个导出空间合并候选。例如,与当前块的上侧中心样本相邻的块可以包括在位置(W/2,-1)处的样本。与当前块的左侧中心样本相邻的块可以包括在位置(-1,H/2)处的样本。

基于当前块的大小和/或形状,可以确定用于导出空间合并候选的上侧相邻块和/或左侧相邻块的位置。在示例中,在当前块的大小大于阈值时,可以根据与当前块的上侧中心样本相邻的块和与当前块的左侧中心样本相邻的块导出空间合并候选。另一方面,在当前块的大小小于阈值时,可以根据与当前块的右上样本相邻的块和与当前块的左下样本相邻的块导出空间合并候选。在本文中,可以基于宽度、高度、宽度与高度的和、宽度与高度的积或宽度与高度的比中的至少一个来表达当前块的大小。阈值可以是整数,例如2、4、8、16、32或128。

根据当前块的形状,可以确定扩展的空间相邻块的可用性。在示例中,在当前块是宽度大于高度的非正方形块时,可以确定与当前块的左上样本邻近的块、与左侧中心样本邻近的块或与当前块的左下样本邻近的块不可用。同时,在当前块是高度大于宽度的块时,可以确定与当前块的左上样本邻近的块、与上侧中心样本邻近的块或与当前块的右上样本邻近的块不可用。

可以将空间合并候选的运动信息设置成与空间相邻块的运动信息相同。

可以通过以预定顺序搜索相邻块来确定空间合并候选。在示例中,在图11中所示的示例中,可以以块A

可以在编码器/解码器中预定义用于空间合并候选的搜索的顺序。替选地,可以根据当前块的大小或形状来自适应地确定搜索空间合并候选的顺序。替选地,可以基于通过比特流用信号发送的信息来确定搜索空间合并候选的顺序。

可以根据当前块的时间相邻块导出时间合并候选S1020。时间相邻块可以意指在同位图片中包括的同位块。同位图片具有与包括当前块的当前图片不同的POC。同位图片可以被确定为参考图片列表中具有预定义索引的图片或者与当前图片的POC差最小的图片。替选地,可以由通过比特流用信号发送的信息来确定同位图片。通过比特流用信号发送的信息可以包括以下中的至少一个:指示包括同位图片的参考图片列表(例如,L0参考图片列表或L1参考图片列表)的信息和指示在该参考图片列表内的同位图片的索引。可以在图片参数集、片头和块级别中的至少一个中用信号发送用于确定同位图片的信息。

可以基于同位块的运动信息来确定关于时间合并候选的运动信息。在示例中,可以基于同位块的运动向量来确定时间合并候选的运动向量。例如,时间合并候选的运动向量可以被设置成与同位块的运动向量相同。替选地,可以通过基于在当前块的当前图片与参考图片之间的POC差和在同位的同位图片与参考图片之间的POC差中的至少一个缩放同位块的运动向量来导出时间合并候选的运动向量。

图12是示出了导出时间合并候选的运动向量的示例的图。

在图12中所示的示例中,tb表示当前图片curr_pic与当前图片的参考图片curr_ref之间的POC差,并且td表示同位块的同位图片col_pic与参考图片col_ref之间的POC差。可以通过基于tb和/或td缩放同位块col_PU的运动向量来导出时间合并候选的运动向量。

替选地,考虑到同位块是否可用,该同位块的运动向量和通过缩放同位块的运动向量获得的运动向量可以用作时间合并候选的运动向量。在示例中,同位块的运动向量被设置为第一时间合并候选的运动向量,并且通过缩放同位块的运动向量获得的值可以被设置为第二时间合并候选的运动向量。

时间合并候选的帧间预测方向可以被设置成与时间相邻块的帧间预测方向相同。然而,时间合并候选的参考图片索引可以具有固定值。在示例中,时间合并候选的参考图片索引可以被设置为“0”。替选地,可以基于空间合并候选的参考图片索引、当前图片的参考图片索引中的至少一个来自适应地确定时间合并候选的参考图片索引。

可以将同位图片内的与当前块具有相同位置和大小的特定块,或者和与具有与当前块相同位置和大小的块邻近的块邻近的块确定为同位块。

图13是示出了可以用作同位块的候选块的位置的图。

候选块可以包括以下中的至少一个:同位图片内的与当前块的左上角的位置邻近的块、同位图片内的与当前块的中心样本的位置邻近的块和同位图片内的与当前块的左下角的位置邻近的块。

在示例中,候选块可以包括以下中的至少一个:同位图片内的包括当前块的左上样本的位置的块TL、同位图片内的包括当前块的右下样本的位置的块BR、同位图片内的与当前块的右下角邻近的块H、同位图片内的包括当前块的中心样本的位置的块C3以及同位图片内的与当前块的中心样本邻近的块C0(例如,包括与当前块的中心样本相隔(-1,-1)的样本的位置的块)。

除了图13中所示的示例之外,可以选择同位图片内的包括与当前块的预定边界邻近的相邻块的位置的块作为同位块。

时间合并候选的数目可以是1或更多。在示例中,可以基于至少一个同位块来导出至少一个时间合并候选。

关于时间合并候选的最大数目的信息可以通过编码器编码并用信号发送。替选地,可以基于可能包括在合并候选列表中的合并候选的最大数目和/或空间合并候选的最大数目来导出时间合并候选的最大数目。替选地,可以基于可用的同位块的数目来确定时间合并候选的最大数目。

可以根据预定的优先级确定候选块是否可用,并且可以基于上述确定和时间合并候选的最大数目来确定至少一个同位块。在示例中,当包括当前块的中心样本的位置的块C3和与当前块的右下角邻近的块H为候选块时,块C3和块H中的任意一个可以被确定为同位块。当块H可用时,可以将块H确定为同位块。然而,当块H不可用时(例如,当通过帧内预测对块H进行编码时、当块H不可用时或者当块H位于最大编码单元(LCU)之外时等),可以将块C3确定为同位块。

在另一示例中,当在同位图片内的与当前块的右下角位置邻近的多个块中的至少一个不可用(例如,块H和/或块BR)时,该不可用块可以用另一个可用块替换。替换不可用块的另一可用块可以包括同位图片内的与当前块的中心样本位置邻近的至少一个块(例如,C0和/或C3)以及同位图片内的与当前块的左下角邻近的块(例如,TL)。

当同位图片内的与当前块的中心样本位置邻近的多个块中的至少一个不可用时,或者当同位图片内的与当前块的左上角位置邻近的多个块中的至少一个不可用时,可以用另一个可用块替换该不可用块。

随后,可以生成包括空间合并候选和时间合并候选的合并候选列表(S1030)。当配置合并候选列表时,可以从合并候选列表中去除具有与现有合并候选相同的运动信息的合并候选。

可以通过比特流用信号发送关于合并候选的最大数目的信息。在示例中,可以通过序列参数或图片参数用信号发送指示合并候选的最大数目的信息。在示例中,当合并候选的最大数目是六个时,可以从空间合并候选和时间合并候选中选择总共六个。例如,可以从五个合并候选中选择五个空间合并候选,并且可以从两个时间合并候选中选择一个时间合并候选。

替选地,可以在编码器和解码器中预定义合并候选的最大数目。例如,合并候选的最大数目可以是2、3、4、5或6。替选地,可以基于是否执行带有MVD的合并(MMVD)、是否执行组合的预测或者是否执行三角划分中的至少一个来确定合并候选的最大数目。

如果包括在合并候选列表中的合并候选的数目小于合并候选的最大数目,则可以将包括在第二合并候选列表中的合并候选添加至该合并候选列表。

第二合并候选列表可以包括基于在当前块之前的通过帧间预测编码/解码的块的运动信息而导出的合并候选。在示例中,如果执行编码模式为帧间预测的块的运动补偿,则可以将基于该块的运动信息导出的合并候选添加至第二合并候选列表。如果完成了当前块的编码/解码,则可以将当前块的运动信息添加至第二合并候选列表以用于后续块的帧间预测。

可以以CTU、图块或切片为单位来对第二合并候选列表进行初始化。可以在编码器和解码器中预定义可以包括在第二合并候选列表中的合并候选的最大数目。替选地,可以通过比特流用信号发送表示可以包括在第二合并候选列表中的合并候选的最大数目的信息。

可以基于添加至第二合并候选列表的顺序来确定第二合并候选列表中包括的合并候选的索引。在示例中,分配给添加至第二合并候选列表的第N合并候选的索引可以具有比分配给添加至第二合并候选列表的第N+1合并候选的索引更小的值。例如,第N+1合并候选的索引可以被设置成相对于第N合并候选的索引增加了1的值。替选地,第N合并候选的索引可以被设置成第N+1合并候选的索引,并且第N合并候选的索引的值可以减去1。

替选地,分配给添加至第二合并候选列表的第N合并候选的索引可以具有比分配给添加至第二合并候选列表的第N+1合并候选的索引更大的值。例如,第N合并候选的索引可以被设置成第N+1合并候选的索引,并且第N合并候选的索引的值可以增加1。

基于执行运动补偿的块的运动信息是否与第二合并候选列表中包括的合并候选的运动信息相同,可以确定是否将根据该块导出的合并候选添加至第二合并候选列表。在示例中,当具有与该块相同的运动信息的合并候选被包括在第二合并候选列表中时,基于该块的运动信息而导出的合并候选可以不被添加至第二合并候选列表。替选地,当具有与该块相同的运动信息的合并候选被包括在第二合并候选列表中时,可以从第二合并候选列表中删除该合并候选,并且可以将基于该块的运动信息导出的合并候选添加至第二合并候选列表。

当第二合并候选列表中包括的合并候选的数目与合并候选的最大数目相同时,可以从第二合并候选列表中删除具有最低索引的合并候选或具有最高索引的合并候选,并且可以将基于该块的运动信息导出的合并候选添加至第二合并候选列表。换言之,在删除第二合并候选列表中包括的合并候选之中的最旧的合并候选之后,可以将基于该块的运动信息导出的合并候选添加至第二合并候选列表。

当包括在合并候选列表中的合并候选的数目尚未达到合并候选的最大数目时,通过组合两个或更多个合并候选获得的组合的合并候选或者具有(0,0)运动向量(零运动向量)的合并候选可以被包括在合并候选列表中。

替选地,可以将找到两个或更多个合并候选的运动向量的平均值的平均合并候选添加至合并候选列表。可以通过找到包括在合并候选列表中的两个或更多个合并候选的运动向量的平均值来导出平均合并候选。在示例中,当第一合并候选和第二合并候选被添加至合并候选列表时,可以计算第一合并候选的运动向量和第二合并候选的运动向量的平均值,以便获得平均合并候选。详细地,可以通过计算第一合并候选的L0运动向量和第二合并候选的L0运动向量的平均值来导出平均合并候选的L0运动向量,并且可以通过计算第一合并候选的L1运动向量和第二合并候选的L1运动向量的平均值来导出平均合并候选的L1运动向量。当对第一合并候选和第二合并候选中的任意一个应用双向预测,并且对另一个合并候选执行单向预测时,可以将双向合并候选的运动向量按原样设置为平均合并候选的L0运动向量或L1运动向量。在示例中,当对第一合并候选执行LO方向预测和L1方向预测,但是对第二合并候选执行LO方向预测时,可以通过计算第一合并候选的L0运动向量和第二合并候选的L0运动向量的平均值来导出平均合并候选的L0运动向量。同时,可以将平均合并候选的L1运动向量导出为第一合并候选的L1运动向量。

当第一合并候选的参考图片与第二合并候选不同时,可以根据各个合并候选的参考图片与当前图片之间的距离(即,POC差)来缩放第一合并候选或第二合并候选的运动向量。例如,在缩放第二合并候选的运动向量之后,可以通过计算第一合并候选的运动向量和第二合并候选的缩放的运动向量的平均值来导出平均合并候选。在本文中,可以基于每个合并候选的参考图片索引的值、每个合并候选的参考图片与当前块之间的距离、或者是否应用双向预测来设置优先级,并且可以对具有高(或低)优先级的合并候选的运动向量应用缩放。

平均合并候选的参考图片索引可以被设置成指示参考图片列表内的特定位置处的参考图片。在示例中,平均合并候选的参考图片索引可以指示参考图片列表内的第一参考图片或最后参考图片。替选地,平均合并候选的参考图片索引可以被设置成与第一合并候选或第二合并候选的参考图片索引相同。在示例中,当第一合并候选的参考图片索引与第二合并候选相同时,平均合并候选的参考图片索引可以被设置成与第一合并候选和第二合并候选的参考图片索引相同。当第一合并候选的参考图片索引与第二合并候选不同时,可以基于每个合并候选的参考图片索引的值、每个合并候选的参考图片与当前块之间的距离、或者是否应用双向预测来设置优先级,并且可以将具有高(或低)优先级的合并候选的参考图片索引设置为平均合并候选的参考图片索引。在示例中,当双向预测被应用于第一合并候选,并且单向预测被应用于第二合并候选时,可以将应用双向预测的第一合并候选的参考图片索引确定为平均合并候选的参考图片索引。

基于合并候选的组合之间的优先级,可以确定用于生成平均合并候选的组合的序列。可以在编码器和解码器中预定义优先级。替选地,可以基于是否执行合并候选的双向预测来确定组合的序列。例如,使用双向预测编码的合并候选的组合可以被设置成比使用单向预测编码的合并候选的组合具有更高的优先级。替选地,可以基于合并候选的参考图片来确定组合的序列。例如,具有相同参考图片的合并候选的组合可以比具有不同参考图片的合并候选的组合具有更高的优先级。

可以根据预定义的优先级将合并候选包括在合并候选列表中。具有高优先级的合并候选可以被分配为具有小的索引值。在示例中,空间合并候选可以先于时间合并候选被添加至合并候选列表。另外,可以按左侧相邻块的空间合并候选,上侧相邻块的空间合并候选、与右上角邻近的块的空间合并候选、与左下角邻近的块的空间合并候选以及与左上角邻近的块的空间合并候选的顺序将空间合并候选添加至合并候选列表。替选地,可以设置成使得根据与当前块的左上角邻近的相邻块(图11的B2)导出的空间合并候选迟于时间合并候选被添加至合并候选列表。

在另一示例中,可以根据当前块的大小或形状来确定合并候选之间的优先级。在示例中,在当前块具有宽度大于高度的矩形形状时,左侧相邻块的空间合并候选可以先与上侧相邻块的空间合并候选被添加至合并候选列表。换言之,在当前块具有高度大于宽度的矩形形状时,上侧相邻块的空间合并候选可以先于左侧相邻块的空间合并候选被添加至合并候选列表。

在另一示例中,可以根据各个合并候选的运动信息来确定合并候选之间的优先级。在示例中,具有双向运动信息的合并候选可以比具有单向运动信息的合并候选具有更高的优先级。因此,具有双向运动信息的合并候选可以先于具有单向运动信息的合并候选被添加至合并候选列表。

在另一示例中,可以根据预定义的优先级生成合并候选列表,并且然后可以对合并候选进行重排。可以基于合并候选的运动信息来执行重排。在示例中,可以基于合并候选是否具有双向运动信息、运动向量的大小、运动向量的精度或者合并候选的参考图片与当前图片之间的POC差来执行重排。详细地,具有双向运动信息的合并候选可以被重排成比具有单向运动信息的合并候选具有更高的优先级。替选地,具有精度值为分数像素的运动向量的合并候选可以重排成比具有精度为整数像素的运动向量的合并候选具有更高的优先级。

当生成合并候选列表时,可以基于合并候选索引来指定在合并候选列表中包括的合并候选中的至少一个(S1040)。

可以将当前块的运动信息设置成与由合并候选索引指定的合并候选的运动信息相同(S1050)。在示例中,在通过合并候选索引选择空间合并候选时,可以将当前块的运动信息设置成与空间相邻块的运动信息相同。替选地,在通过合并候选索引选择时间合并候选时,可以将当前块的运动信息设置成与时间相邻块的运动信息相同。

当编码单元被分割时,在一个编码单元中可能存在多个划分。该划分可以是编码单元、预测单元或变换单元。可以通过将四叉树划分、二叉树划分、三叉树划分或三角形划分应用于编码单元来生成多个划分。划分可以是正方形、非正方形或三角形。多个划分之间的合并候选的导出顺序可以遵循划分之间的优先级或预定顺序。可以基于划分的编码/解码顺序、块扫描顺序、光栅扫描顺序、大小、形状、划分索引或位置中的至少一个来确定优先级或预定顺序。例如,可以基于编码/解码顺序来确定合并候选的导出顺序。作为示例,具有较早的编码/解码顺序的划分可以在具有较晚的编码/解码顺序的划分之前导出合并候选。在下面描述的示例性实施方式中,合并候选的具有较早的导出顺序的划分被称为第一划分,并且合并候选的具有较晚的导出顺序的划分被称为第二划分。

多个划分可以顺序地导出合并候选。在这种情况下,可以考虑第一划分的运动信息、合并候选或合并索引来确定第二划分的合并候选。作为示例,可以将用于导出第一划分的运动信息的合并候选(即,由第一划分的合并索引指示的合并候选)设置为不用作第二划分的合并候选。具体地,可以将用于导出第一划分的运动信息的合并候选确定为不可用作第二划分的合并候选。

替选地,可以将第二编码单元的合并候选中的与第一划分的运动信息具有相同的运动信息的合并候选设置为不用作第二编码单元的合并候选。具体地,可以将与第一划分的运动信息具有相同的运动信息的合并候选确定为不可用作第二划分的合并候选。

图14是示出了当AMVP模式被应用于当前块时导出当前块的运动信息的处理的图。

当AMVP模式被应用于当前块时,可以从比特流解码当前块的帧间预测方向和参考图片索引中的至少一个S1410。换言之,当应用AMVP模式时,可以基于通过比特流编码的信息来确定当前块的帧间预测方向和参考图片索引中的至少一个。

可以基于当前块的空间相邻块的运动向量来确定空间运动向量候选S1420。空间运动向量候选可以包括以下中的至少一个:根据当前块的上侧相邻块导出的第一空间运动向量候选和根据当前块的左侧相邻块导出的第二空间运动向量候选。在本文中,上侧相邻块可以包括与当前块的上侧和右上角邻近的块中的至少一个,并且当前块的左侧相邻块包括与当前块的左侧和左下角邻近的块中的至少一个。与当前块的左上角邻近的块可以用作上侧相邻块或者可以用作左侧相邻块。

替选地,可以根据不与当前块邻近的空间非相邻块来导出空间运动向量候选。在示例中,可以通过使用以下中的至少一个来导出当前块的空间运动向量候选:与邻近当前块的上侧、右上角或左上角的块位于同一垂直线的块;与邻近当前块的左侧、左下角或左上角的块位于同一水平线的块;以及,与邻近当前块的角的块位于同一对角线的块。当空间相邻块不可用时,可以通过使用空间非相邻块来导出空间运动向量候选。

在另一示例中,可以通过使用空间相邻块和空间非相邻块来导出至少两个空间运动向量候选。在示例中,可以通过使用与当前块邻近的相邻块来导出第一空间运动向量候选和第二空间运动向量候选。同时,可以基于不与当前块邻近但与以上相邻块邻近的块来导出第三空间运动向量候选和/或第四空间运动向量候选。

在当前块在参考图片上与空间相邻块不同时,可以通过对空间相邻块的运动向量执行缩放来获得空间运动向量。可以基于当前块的时间相邻块的运动向量来确定时间运动向量候选S1430。在当前块在参考图片上与时间相邻块不同时,可以通过对时间相邻块的运动向量执行缩放来获得时间运动向量。在本文中,当空间运动向量候选的数目等于或小于预定数目时,可以导出时间运动向量候选。

可以生成包括空间运动向量候选和时间运动向量候选的运动向量候选列表S1440。

当生成运动向量候选列表时,可以基于指定运动向量候选列表中的至少一个的信息来指定包括在运动向量候选列表中的运动向量候选中的至少一个S1450。

由该信息指定的运动向量候选可以被设置为当前块的运动向量的预测值,并且可以通过将运动向量的残差值和运动向量的预测值相加来获得当前块的运动向量S1460。在本文中,可以通过比特流来解析运动向量的残差值。

当获得当前块的运动信息时,可以基于所获得的运动信息来执行当前块的运动补偿S920。详细地,可以基于帧间预测方向、参考图片索引和当前块的运动向量来执行当前块的运动补偿。帧间预测方向表示是否执行L0预测、L1预测或双预测。当通过双预测对当前块进行编码时,可以基于L0参考块和L1参考块的加权和运算或平均运算来获得当前块的预测块。

当通过执行运动补偿获得预测样本时,可以基于所生成的预测样本来重构当前块。详细地,可以通过将当前块的预测样本与残差样本相加来获得重构样本。

如在上述示例中的,基于在当前块之前的使用帧间预测来编码/解码的块的运动信息,可以导出当前块的合并候选。例如,基于在与当前块邻近的预定义位置处的相邻块的运动信息,可以导出当前块的合并候选。相邻块的示例可以包括以下之中的至少一个:与当前块的左侧邻近的块、与当前块的上侧邻近的块、与当前块的左上角邻近的块、与当前块的右上角邻近的块以及与当前块的左下角邻近的块。

可以基于除了相邻块之外的块的运动信息来导出当前块的合并候选。为了便于描述,在与当前块邻近的预定义位置处的相邻块被称为第一合并候选块,并且在与第一合并候选块不同的位置处的块被称为第二合并候选块。

第二合并候选块可以包括以下中的至少一个:在当前块之前的使用帧间预测编码/解码的块、与第一合并候选块邻近的块或者与第一合并候选块位于同一条线上的块。图15示出了与第一合并候选块邻近的第二合并候选块,并且图16示出了与第一合并候选块位于同一条线上的第二合并候选块。

当第一合并候选块不可用时,基于第二合并候选块的运动信息导出的合并候选被添加至合并候选列表。替选地,即使空间合并候选和时间合并候选之中的至少一个被添加至合并候选列表,当合并候选列表中包括的合并候选的数目小于合并候选的最大数目时,将基于第二合并候选块的运动信息导出的合并候选添加至合并候选列表。

图15是示出了当第一合并候选块不可用时从第二合并候选块导出合并候选的示例的图。

当第一合并候选块AN(在本文中,N的范围从0到4)不可用时,基于第二合并候选块BM(在本文中,M的范围从0到6)的运动信息导出当前块的合并候选。也就是说,可以通过用第二合并候选块替换不可用的第一合并候选块来导出当前块的合并候选。

在与第一合并候选块邻近的块之中,从第一合并候选块在预定义方向上放置的块可以被设置为第二合并候选块。预定义方向可以是向左方向、向右方向、向上方向、向下方向或对角线方向。可以为每个第一合并候选块设置预定义方向。例如,与当前块的左侧邻近的第一合并候选块的预定义方向可以是向左方向。与当前块的上侧邻近的第一合并候选块的预定义方向可以是向上方向。与当前块的角邻近的第一合并候选块的预定义方向可以包括向左方向、向上方向或对角线方向中的至少一个。

例如,当与当前块的左侧邻近的A0不可用时,基于与A1邻近的B0导出当前块的合并候选。当与当前块的上侧邻近的A1不可用时,基于与A1邻近的B1导出当前块的合并候选。当与当前块的右上角邻近的A2不可用时,基于与A2邻近的B2导出当前块的合并候选。当与当前块的左下角邻近的A3不可用时,基于与A3邻近的B3导出当前块的合并候选。当与当前块的左上角邻近的A4不可用时,基于与A4邻近的B4至B6之中的至少一个来导出当前块的合并候选。

图15中所示的示例仅用于描述本发明的实施方式,而并不限制本发明。第二合并候选块的位置可以被设置为与图15中所示的样本不同。例如,与第一合并候选块邻近的第二合并候选块可以在第一合并候选块的向上方向或向下方向上定位,该第一合并候选块与当前块的左侧邻近。替选地,与第一合并候选块邻近的第二合并候选块可以在第一合并候选块的向左方向或向右方向上定位,该第一合并候选块与当前块的上侧邻近。

图16是示出了根据与第一合并候选块位于同一条线上的第二合并候选块导出合并候选的示例的图。

与第一合并候选块位于同一条线上的块可以包括以下中的至少一个:与第一合并候选块位于同一水平线上的块、与第一合并候选块位于同一垂直线上的块或者与第一合并候选块位于同一对角线上的块。位于同一水平线上的块的y坐标位置相同。位于同一垂直线上的块的x坐标位置相同。位于同一对角线上的块的x坐标位置之间的差值与y坐标位置之间的差值相同。

假设当前块的左上样本位于(0,0)处,并且当前块的宽度和高度分别为W和H。在图18中,示出了基于在编码块的上侧的最右侧块(例如,包括坐标(W-1,-1)的块A1)来确定与第一合并候选块位于同一垂直线上的第二合并候选块(例如,B4、C6)的位置。另外,在图18中,示出了基于在编码块的左侧的最低块(例如,包括坐标(-1,H-1)的块A0)来确定与第一合并候选块位于同一水平线上的第二合并候选块(例如,B1、C1)的位置。

在另一示例中,可以基于在编码块的上侧的最左侧块(例如,包括坐标(0,-1)的块)或位于编码块的上侧中心的块(例如,包括坐标(W/2,-1)的块)来确定第二合并候选块的位置。另外,可以基于在编码块的左侧的最上侧块(例如,包括坐标(-1,0)的块)或位于编码块的左侧中心的块(例如,包括坐标(-1,H/2)的块)来确定第二合并候选块的位置。

在另一示例中,当存在与当前块的上侧邻近的多个上侧相邻块时,可以通过使用多个上侧相邻块中的全部或部分来确定第二合并候选块。在示例中,可以通过使用在多个上侧相邻块之中的特定位置处的块(例如,位于最左侧的上侧相邻块、位于最右侧的上侧相邻块或位于中心的上侧相邻块中的至少一个)来确定第二合并候选块。多个上侧相邻块之中的用于确定第二合并候选块的上侧相邻块的数目可以是1、2、3或更多。另外,当存在与当前块的左侧邻近的多个左侧相邻块时,可以通过使用多个左侧相邻块中的全部或部分来确定第二合并候选块。在示例中,可以通过使用多个左侧相邻块之中的特定位置处的块(例如,位于最下侧的左侧相邻块、位于最上侧的左侧相邻块或位于中心的左侧相邻块中的至少一个)来确定第二合并候选块。多个左侧相邻块之中的用于确定第二合并候选块的左侧相邻块的数目可以是1、2、3或更多。

根据当前块的大小和/或形状,可以不同地确定用于确定第二合并候选块的上侧相邻块和/或左侧相邻块的位置和/或数目。在示例中,在当前块的大小大于阈值时,可以基于上侧中心块和/或左侧中心块来确定第二合并候选块。另一方面,在当前块的大小小于阈值时,可以基于最右上块和/或最左下块来确定第二合并候选块。阈值可以是整数,例如8、16、32、64或128。

可以构造第一合并候选列表和第二合并候选列表,并且可以基于第一合并候选列表或第二合并候选列表中的至少一个来执行当前块的运动补偿。

第一合并候选列表可以包括以下中的至少一个:基于与当前块邻近的在预定义位置处的相邻块的运动信息导出的空间合并候选,或者基于同位块的运动信息导出的时间合并候选。

第二合并候选列表可以包括基于第二合并候选块的运动信息导出的合并候选。

作为本发明的实施方式,第一合并候选列表可以被构造为包括根据第一合并候选块导出的合并候选,并且第二合并候选列表可以被构造为包括根据第二合并候选块导出的合并候选。在示例中,在图15中所示的示例中,可以将从块A0至A4导出的合并候选添加至第一合并候选列表,并且可以将根据块B0至B6导出的合并候选添加至第二合并候选列表。在示例中,在图16中所示的示例中,可以将根据块A0至A4导出的合并候选添加至第一合并候选列表,并且可以将根据块B0至B5、C0至C7导出的合并候选添加至第二合并候选列表。

替选地,第二合并候选列表可以包括基于在当前块之前的使用帧间预测编码/解码的块的运动信息导出的合并候选。例如,当执行编码模式为帧间预测的块的运动补偿时,基于该块的运动信息导出的合并候选被添加至第二合并候选列表。在当前块的编码/解码完成时,当前块的运动信息被添加至第二合并候选列表以用于后续块的帧间预测。

可以基于向第二合并候选列表添加合并候选的顺序来确定第二合并候选列表中包括的合并候选的索引。例如,分配给添加至第二合并候选列表的第N合并候选的索引可以具有比分配给添加至第二合并候选列表的第N+1合并候选的索引更低的值。例如,第N+1合并候选的索引可以被设置成具有比第N合并候选的索引高1的值。替选地,第N合并候选的索引可以被设置为第N+1合并候选的索引,并且第N合并候选的索引的值减小1。

替选地,分配给添加至第二合并候选列表的第N合并候选的索引可以具有比分配给添加至第二合并候选列表的第N+1合并候选的索引更高的值。例如,第N合并候选的索引可以被设置为第N+1合并候选的索引,并且第N合并候选的索引的值增加1。

基于经受运动补偿的块的运动信息是否与第二合并候选列表中包括的合并候选的运动信息相同,可以确定是否将根据该块导出的合并候选添加至第二合并候选列表。例如,当具有与该块相同的运动信息的合并候选被包括在第二合并候选列表中时,基于该块的运动信息导出的合并候选不被添加至第二合并候选列表。替选地,当具有与该块相同的运动信息的合并候选被包括在第二合并候选列表中时,从第二合并候选列表中删除该合并候选,并且基于该块的运动信息导出的合并候选被添加至第二合并候选列表。

当第二合并候选列表中包括的合并候选的数目与合并候选的最大数目相同时,从第二合并候选列表中检测具有最低索引的合并候选或具有最高索引的合并候选,并且基于该块的运动信息导出的合并候选被添加至第二合并候选列表。也就是说,在删除第二合并候选列表中包括的合并候选之中的最旧的合并候选之后,可以将基于该块的运动信息导出的合并候选添加至第二合并候选列表。

可以以CTU、图块或切片为单位来对第二合并候选列表进行初始化。换言之,包括在CTU、图块或切片中的不同于当前块的块可以被设置成不可用作为第二合并候选块。可以在编码器和解码器中预定义可以包括在第二合并候选列表中的合并候选的最大数目。替选地,可以通过比特流用信号发送表示可以包括在第二合并候选列表中的合并候选的最大数目的信息。

可以选择第一合并候选列表或第二合并候选列表,并且可以使用所选择的合并候选列表来执行当前块的帧间预测。具体地,基于索引信息,可以选择包括在合并候选列表中的合并候选中的任何一个,并且可以从合并候选获取当前块的运动信息。

可以通过比特流用信号发送指定第一合并候选列表或第二合并候选列表的信息。解码器可以基于该信息选择第一合并候选列表或第二合并候选列表。

替选地,在第一合并候选列表和第二合并候选列表之中,可以选择包括较大量的可用合并候选的合并候选列表。

替选地,可以基于当前块的大小、形状和划分深度中的至少一个来选择第一合并候选列表或第二合并候选列表。

替选地,合并候选列表通过向第一合并候选列表和第二合并候选列表中的任意一个添加(或附加)第一合并候选列表和第二合并候选列表中的另一个至来配置。

例如,可以基于具有在第一合并候选列表中包括的至少一个合并候选和在第二合并候选列表中包括的至少一个合并候选的合并候选列表来执行帧间预测。

例如,可以将包括在第二合并候选列表中的合并候选添加至第一合并候选列表。替选地,可以将包括在第一合并候选列表中的合并候选添加至第二合并候选。

当第一合并候选列表中包括的合并候选的数目小于最大数目时,或者当第一合并候选块不可用时,第二合并候选列表中包括的合并候选被添加至第一合并候选列表。

替选地,当第一合并候选块不可用时,将第二合并候选列表中包括的合并候选之中的根据与第一合并候选块邻近的块导出的合并候选添加至第一合并候选列表。参照图15,当A0不可用时,将第二合并候选列表中包括的合并候选之中的基于B0的运动信息导出的合并候选添加至第一合并候选列表。当A1不可用时,将第二合并候选列表中包括的合并候选之中的基于B1的运动信息导出的合并候选添加至第一合并候选列表。当A2不可用时,将第二合并候选列表中包括的合并候选之中的基于B2的运动信息导出的合并候选添加至第一合并候选列表。当A3不可用时,将第二合并候选列表中包括的合并候选之中的基于B3的运动信息导出的合并候选添加至第一合并候选列表。当A4不可用时,将第二合并候选列表中包括的合并候选之中的基于B4、B5或B6的运动信息导出的合并候选添加至第一合并候选列表。

替选地,可以根据第二合并候选列表中包括的合并候选的优先级来确定要被添加至第一合并候选列表的合并候选。可以基于分配给每个合并候选的索引值来确定优先级。例如,当第一合并候选列表中包括的合并候选的数目小于最大数目时,或者当第一合并候选块不可用时,第二合并候选列表中包括的合并候选之中的具有最小索引值的合并候选或具有最大索引值的合并候选被添加至第一合并候选列表。

当在第一合并候选列表中包括与在第二合并候选列表中包括的合并候选中的具有最高优先级的合并候选具有相同的运动信息的合并候选时,可以不将具有最高优先级的合并候选添加至第一合并候选列表。另外,可以确定是否可以将具有下一个优先级的合并候选(例如,给其分配比分配给具有最高优先级的合并候选的索引值大1的索引值的合并候选或者给其分配比分配给具有最高优先级的合并候选的索引值小1的索引值的合并候选)添加至第一合并候选列表。

替选地,可以生成包括基于第一合并候选块的运动信息导出的合并候选和基于第二合并候选块的运动信息导出的合并候选的合并候选列表。合并候选列表可以是第一合并候选列表和第二合并候选列表的组合。

例如,根据预定的搜索顺序,可以通过搜索第一合并候选块和第二合并候选块来生成合并候选列表。

图17至图20是示出了搜索合并候选块的顺序的图。

图17至图20将搜索合并候选的顺序示出为如下。

A0→A1→A2→A3→A4→B0→B1→B2→B3→B4→(B5)→(B6)。

仅当块B4不可用时或者当合并候选列表中包括的合并候选的数目等于或小于预设数目时,才进行块B5和B6的搜索。

可以设置与图17至图20中所示的示例不同的搜索顺序。

可以生成合并候选列表,其包括第一合并候选列表中包括的至少一个合并候选和第二合并候选列表中包括的至少一个合并候选的组合。例如,组合的合并候选列表可以包括第一合并候选列表中包括的合并候选中的N个合并候选和第二合并候选列表中包括的合并候选中的M个合并候选。字母N和M可以表示相同的数字或不同的数字。替选地,可以基于包括在第一合并候选列表中的合并候选的数目和包括在第二合并候选列表中的合并候选的数目之中的至少一个来确定N和M之中的至少一个。替选地,可以通过比特流用信号发送用于确定N和M之中的至少一个的信息。N和M之中的任意一个可以通过组合的合并候选列表中的合并候选的最大数目减去N和M之中的另一个来导出。

可以根据预定义的优先级来确定要被添加至组合的合并候选列表的合并候选。可以基于分配给合并候选的索引来确定预定义的优先级。

替选地,可以基于合并候选之间的关联来确定要被添加至组合的合并候选列表的合并候选。例如,当包括在第一合并候选列表中的A0被添加至组合的合并候选列表时,在与A0邻近的位置处的合并候选(例如,B0)不被添加至组合的合并列表。

当第一合并候选列表中包括的合并候选的数目小于N时,第二合并候选列表中包括的合并候选中的大于M个的合并候选被添加至组合的合并候选列表。例如,当N为4且M为2时,将第一合并候选列表中包括的合并候选中的4个合并候选添加至组合的合并候选列表,并且将第二合并候选列表中包括的合并候选中的2个合并候选添加至组合的合并候选列表。当第一合并候选列表中包括的合并候选的数目小于4时,第二合并候选列表中包括的合并候选之中的两个或更多个合并候选被添加至组合的合并候选列表。当第二合并候选列表中包括的合并候选的数目小于2时,第一合并候选列表中包括的合并候选中的四个或更多个合并候选被添加至组合的合并候选列表。

也就是说,可以根据每个合并候选列表中包括的合并候选的数目来调整N或M的值。通过调整N或M的值,包括在组合的合并候选列表中的合并候选的总数可以被固定。当包括在组合的合并候选列表中的合并候选的总数小于合并候选的最大数目时,添加组合的合并候选、平均合并候选或零运动向量候选。

可以将矩形块划分为多个三角形块。可以基于包括三角形块的矩形块来导出三角形块的合并候选。三角形块可以共享相同的合并候选。

可以为每个三角形块用信号发送合并索引。在这种情况下,可以将三角形块设置成不使用相同的合并候选。在示例中,用于第一三角形块的合并候选可以不用作第二三角形块的合并候选。因此,第二三角形块的合并索引可以指定除了为第一三角形块选择的合并候选之外的其余合并候选中的任何一个。

可以基于具有预定形状或预定大小或更大的块来导出合并候选。在当前块不处于预定形状时,或者在当前块的大小小于预定大小时,基于包括当前块并且处于预定形状或处于预定大小或更大的块来导出当前块的合并候选。预定形状可以是正方形形状或非正方形形状。

当预定形状是正方形形状时,基于包括非正方形形状的编码单元的正方形形状的编码单元导出非正方形形状的编码单元的合并候选。

图21是示出了基于正方形块导出非正方形块的合并候选的示例的图。

可以基于包括非正方形块的正方形块来导出非正方形块的合并候选。例如,可以基于包括编码块0和编码块1的正方形形状的块来导出非正方形形状的编码块0和非正方形形状的编码块1的合并候选。也就是说,可以基于正方形形状的块的位置、宽度/高度或大小来确定空间相邻块的位置。可以基于与正方形形状的块邻近的空间相邻块A0、A1、A2、A3和A4之中的至少一个来导出编码块0和编码块1的合并候选。

可以基于正方形形状的块来确定时间合并候选。也就是说,可以基于正方形形状的块的位置、宽度/高度或大小来确定时间相邻块。例如,可以基于依据正方形形状的块确定的时间相邻块来导出编码块0和编码块1的合并候选。

替选地,可以基于正方形块来导出空间合并候选和时间合并候选之中的任意一个,并且可以基于非正方形块来导出另一合并候选。例如,可以基于正方形块来导出编码块0的空间合并候选,而可以基于编码块0来导出编码块0的时间合并候选。

预定形状或预定大小或更大的块中包括的多个块可以共享合并候选。例如,在图21中所示的示例中,编码块0和编码块1的空间合并候选和时间合并候选之中的至少一个可以相同。

预定形状可以是非正方形形状,例如2NxN、Nx2N等。当预定形状是非正方形形状时,可以基于包括当前块的非正方形块来导出当前块的合并候选。例如,在当前块处于2Nxn形状(在本文中,n为1/2N)时,基于2NxN形状的非正方形块来导出当前块的合并候选。替选地,在当前块处于nx2N形状时,基于Nx2N形状的非正方形块来导出当前块的合并候选。

可以通过比特流用信号发送指示预定形状或预定大小的信息。例如,可以通过比特流用信号发送指示非正方形形状或正方形形状之中的任意一个的信息。

替选地,可以根据在编码器和解码器中预定义的规则来确定预定形状或预定大小。

当子节点不满足预定条件时,基于满足预定条件的亲体节点来导出子节点的合并候选。在本文中,预定条件可以包括以下之中的至少一个:该块是否是由于四叉树划分而生成的块、是否发生超过了该块的大小、该块的形状和图片边界、以及子节点与亲体节点之间的深度的差是否等于或大于预定值。

例如,预定条件可以包括该块是否是由于四叉树划分而生成的块,以及该块是否是预定大小或更大的正方形形状的编码块。当通过二叉树划分或三叉树划分来生成当前块时,基于包括当前块并且满足预定条件的高级节点块来导出当前块的合并候选。当不存在满足预定条件的高级节点块时,基于当前块、包括当前块并且处于预定大小或更大的块、或者包括当前块并且与当前块的深度差为一的高级节点块来导出当前块的合并候选。

图22是示出了基于高级节点块导出合并候选的示例的图。

通过基于二叉树对正方形块进行划分来生成块0和块1。可以基于依据包括块0和块1的高级节点块确定的相邻块(即,A0、A1、A2、A3和A4之中的至少一个)来导出块0和块1的合并候选。因此,块0和块1可以使用相同的空间合并候选。

可以通过基于二叉树对正方形块进行划分来生成包括块2和块3以及块4的高级节点块。另外,可以通过基于二叉树对非正方形形状的块进行划分来生成块2和块3。可以基于包括非正方形形状的块2、块3和块4的高级节点块来导出非正方形形状的块2、块3和块4的合并候选。也就是说,可以基于依据包括块2、块3和块4的正方形块的位置、宽度/高度或大小确定的相邻块(例如,B0、B1、B2、B3和B4之中的至少一个)来导出合并候选。因此,块2、块3和块4可以使用相同的空间合并候选。

可以基于高级节点块来导出非正方形形状的块的时间合并候选。例如,可以基于包括块0和块1的正方形块来导出块0和块1的时间合并候选。可以基于包括块2、块3和块4的正方形块来导出块2、块3和块4的时间合并候选。另外,可以使用从基于每个四叉树块确定的时间相邻块导出的相同的时间合并候选。

包括在高级节点块中的低级节点块可以共享空间合并候选和时间合并候选之中的至少一个。例如,包括在高级节点块中的低级节点块可以使用相同的合并候选列表。

替选地,可以基于低级节点块来导出空间合并候选和时间合并候选之中的至少一个,并且可以基于高级节点块来导出另一个。例如,可以基于高级节点块来导出块0和块1的空间合并候选。然而,可以基于块0来导出块0的时间合并候选,并且可以基于块1来导出块1的时间合并候选。

替选地,当低级节点块包括的样本的数目小于预定义数目时,基于包括预定义数目或更多的样本的高级节点块来导出合并候选。例如,当满足以下条件中的至少一个时:基于四叉树划分、二叉树划分和三叉树划分之中的至少一个生成的低级节点块中的至少一个小于预设大小的情况;低级节点块中的至少一个是非正方形块的情况;高级节点块不超过图片边界的情况;以及高级节点块的宽度或高度等于或大于预定义值的情况,基于包括预定义数目或更多的样本(例如,64、128或256个样本)的正方形或非正方形形状的高级节点块来导出合并候选。包括在高级节点块中的低级节点块可以共享基于高级节点块导出的合并候选。

可以基于低级节点块中的任何一个来导出合并候选,并且其他低级节点块可以被设置成使用该合并候选。低级节点块可以包括在预定形状或预定大小或更大的块中。例如,低级节点块可以共享基于低级节点块中的任何一个导出的合并候选列表。可以通过比特流用信号发送作为合并候选的导出的基础的低级节点块的信息。该信息可以是指示低级节点块中的任何一个的索引信息。替选地,可以基于低级节点块的位置、大小、形状和扫描顺序之中的至少一个来确定作为合并候选的导出的基础的低级节点块。

可以通过比特流用信号发送指示低级节点块是否共享基于高级节点块导出的合并候选列表的信息。基于该信息,可以确定不处于预定形状的块或大小小于预定大小的的块的合并候选是否基于包括块的高级节点块来导出。替选地,根据在编码器和解码器中预定义的规则,可以确定是否基于高级节点块来导出合并候选。

当在预定义区域内存在与当前块邻近的相邻块时,确定该相邻块不可用作为空间合并候选。预定义区域可以是被定义用于块之间的并行处理的并行处理区域。并行处理区域可以被称为合并估计区域(MER)。例如,当与当前块邻近的相邻块被包括在与当前块相同的合并估计区域中时,确定该相邻块不可用。可以执行移位操作以便确定当前块和相邻块是否包括在同一合并估计区域中。具体地,基于通过移位当前块的左上参考样本的位置获得的值是否与通过移位相邻块的左上参考样本的位置获得的值相同,可以确定当前块和相邻块是否包括在同一合并估计区域中。

图23是示出了基于合并估计区域来确定空间相邻块的可用性的示例的图。

在图23中,示出了合并估计区域处于Nx2N形状。

可以基于与块1邻近的空间相邻块来导出块1的合并候选。空间相邻块可以包括B0、B1、B2、B3和B4。在本文中,可以确定与块1包括在相同的合并估计区域中的空间相邻块B0和B3不可用作合并候选。因此,可以从除了空间相邻块B0和B3之外的空间相邻块B1、B2和B4中的至少一个来导出块1的合并候选。

可以基于与块3邻近的空间相邻块来导出块3的合并候选。空间相邻块可以包括C0、C1、C2、C3和C4。在本文中,可以确定与块3包括在相同的合并估计区域中的空间相邻块C0不可用作为合并候选。因此,可以从除了空间相邻块C0之外的空间相邻块C1、C2、C3和C4中的至少一个来导出块3的合并候选。

基于合并估计区域的位置、大小、宽度和高度之中的至少一个,可以导出合并估计区域中包括的块的合并候选。例如,可以从基于合并估计区域的位置、大小、宽度和高度之中的至少一个确定的空间相邻块和时间相邻块之中的至少一个来导出包括在合并估计区域中的多个块的合并候选。合并估计区域中包括的块可以共享相同的合并候选。

图24是示出了基于合并估计区域导出合并候选的示例的图。

当在合并估计区域中包括多个编码单元时,可以基于合并估计区域来导出多个编码单元的合并候选。也就是说,通过将合并估计区域用作编码单元,可以基于合并估计区域的位置、大小或宽度/高度来导出合并候选。

例如,可以基于合并估计区域来导出均处于(n/2)xN(在本文中,n是N/2)大小并且包括在处于(N/2)xN大小的合并估计区域中的编码单元0(CU0)和编码单元1(CU1)两者的合并候选。也就是说,可以根据与合并估计区域邻近的相邻块C0、C1、C2、C3和C4中的至少一个导出编码单元0和编码单元1的合并候选。

例如,可以基于合并估计区域来导出包括在处于NxN大小的合并估计区域中的处于nxn大小的编码单元2(CU2)、编码单元3(CU3)、编码单元4(CU4)和编码单元5(CU5)的合并候选。也就是说,可以根据与合并估计区域邻近的相邻块C0、C1、C2、C3和C4中的至少一个来导出编码单元2、编码单元3、编码单元4和编码单元5的合并候选。

合并估计区域的形状可以是正方形形状或非正方形形状。例如,可以确定正方形形状的编码单元(或预测单元)或非正方形形状的编码单元(或预测单元)是合并估计区域。合并估计区域的宽度和高度之间的比可以被限制为不超过预定范围。例如,合并估计区域不能具有宽度和高度之间的比超过2的非正方形形状,或者宽度和高度之间的比小于1/2的非正方形形状。也就是说,非正方形合并估计区域可以处于2NxN或Nx2N的形状。可以通过比特流用信号发送关于对宽度和高度之间的比的限制的信息。替选地,可以在编码器和解码器中预定义对宽度和高度之间的比的限制。

可以通过比特流用信号发送指示合并估计区域的形状的信息以及指示合并估计区域的大小的信息之中的至少一个。例如,可以通过片头、图块组头、图片参数或序列参数用信号发送指示合并估计区域的形状的信息和指示合并估计区域的大小的信息之中的至少一个。

可以以每个序列为基础、以每个图片为基础、以每个切片为基础、以每个图块组为基础、以每个图块或每个块(CTU)为基础来更新合并估计区域的形状或合并估计区域的大小。当合并估计区域的形状或合并估计区域的大小与先前单元的形状或大小不同时,通过比特流用信号发送指示合并估计区域的新形状或合并估计区域的新大小的信息。

在合并估计区域中可以包括至少一个块。合并估计区域中包括的块可以处于正方形形状或非正方形形状。可以确定合并估计区域能够包括的块的最大数目或最小数目。例如,可以在合并估计区域中包括两个、三个、四个或更多个CU。该确定可以基于通过比特流用信号发送的信息。替选地,可以在编码器和解码器中预定义合并估计区域能够包括的块的最大数目或最小数目。

在合并估计区域中包括的块的数目小于最大数目的情况以及该数目大于最小数目的情况之中的至少一种情况下,可以允许块的并行处理。例如,当在合并估计区域中包括的块的数目等于或小于最大数目时,或者当在合并估计区域中包括的块的数目等于或大于最小数目时,基于合并估计区域来导出块的合并候选。当合并估计区域中包括的块的数目大于最大数目时,或者当合并估计区域中包括的块的数目小于最小数目时,基于块中的每个块的大小、位置、宽度或高度导出块中的每个块的合并候选。

指示合并估计区域的形状的信息可以包括1比特标志。例如,语法“isrectagular_mer_flag”可以指示正方形形状或非正方形形状的合并候选区域。isrectagular_mer_flag值为1可以指示非正方形形状的合并估计区域,而isrectagular_mer_flag值为0可以指示正方形形状的合并估计区域。

当该信息指示非正方形形状的合并估计区域时,通过比特流用信号发送指示合并估计区域的宽度、高度以及宽度与高度之间的比率之中的至少一个的信息。基于此,可以确定合并估计区域的大小和/或形状。在序列中可能存在具有不同大小的多个合并确定区域。

如在上面示例中的,要经受帧间预测的块和要作为导出合并候选的标准(criterion)的块可以不同。当要经受帧间预测的块和要作为导出合并候选的标准的块彼此不同时,可以考虑相邻块的运动信息或相邻块的合并索引中的至少一个来构造当前块的合并候选列表。

作为示例,当基于包括当前块的上节点块导出当前块的合并候选时,与上节点块中包括的相邻块具有相同的运动信息的合并候选或与由相邻块的合并索引指示的合并候选相同的合并候选可以被确定为不可用作当前块的合并候选。

图25是示出基于相邻块的合并索引确定当前块的合并候选列表的示例的图。

块0和块1可以是在一个并行导出区域中包括的块。替选地,块0和块1可以被包括在作为用于导出合并候选的标准的上节点块中。在图25中,块0和块1被示出为非正方形块。然而,即使当块0和块1是三角形块或正方形块时,也可以应用下面描述的实施方式。

可以基于包括块0的正方形块来导出块0的合并候选。作为示例,可以基于与包括块0的正方形块邻近的A0、A1、A2、A3或A4中的至少一个来导出块0的合并候选。可以对块0的合并索引进行编码,并且由合并索引指示的合并候选的运动信息可以被设置为块0的运动信息。

可以基于包括块1的正方形块来导出块1的合并候选。作为示例,可以基于与包括块1的正方形块邻近的A0、A1、A2、A3或A4中的至少一个来导出块1的合并候选。在这种情况下,可以将与块0的运动信息具有相同的运动信息的合并候选或由块0的合并索引指示的合并候选确定为不可用作块1的合并候选。例如,当块0的合并索引指示A1时,A1可以不包括在块1的合并候选列表中。也就是说,可以将除了由块0的合并索引指示的合并候选之外的块0的合并候选列表设置为块1的合并候选列表。

例如,当块1的合并索引小于块0的合并索引时,可以根据由块1的合并索引指示的合并候选导出块1的运动信息。另一方面,当块1的合并索引等于或大于块0的合并索引时,可以根据与通过将块1的合并索引加1而获得的值相对应的合并候选导出块1的运动信息。

即使块0未以合并模式编码,也可以将与块0具有相同的运动信息的合并候选设置为不可用作块1的合并候选。

可以基于包括块2、块3和块4的上节点块来导出块2、块3和块4的合并候选。在这种情况下,与块2具有相同的运动信息的合并候选或由块2的合并索引指示的合并候选可以被设置成不可用作块3的合并候选。另外,与块3具有相同的运动信息的合并候选或由块3的合并索引指示的合并候选可以被设置成不可用作块4的合并候选。也就是说,块3和块4的合并候选列表可以不包括与邻近每个块的相邻块的运动信息相同的合并候选。

可以通过比特流用信号发送指示与当前块的运动信息相同的合并候选的信息。该信息可以是指示包括在合并候选列表中的多个合并候选中的至少一个的索引信息。索引信息可以指示合并候选列表中包括的多个合并候选之中的至少一个索引(或合并索引)。当前块的运动信息可以被设置为与由索引信息指示的合并候选的运动信息相等。

可以基于预定顺序来确定要包括在合并候选列表中的合并候选。预定顺序可以表示空间相邻块之间的优先级或者空间合并候选与时间合并候选之间的优先级中的至少一个。例如,空间合并候选可以比时间合并候选具有更高的优先级。另外,可以基于空间相邻块的搜索顺序来确定空间相邻块之间的优先级。可以给具有更快的搜索顺序的空间相邻块更高的优先级。可以通过应用优先级的降序来顺序地分配被分配给合并候选列表中包括的合并候选的合并索引。也就是说,最小的合并索引可以被分配给具有最高优先级的合并候选。

合并候选列表中包括的合并候选可以被重新排序(或重排)。作为重新排序的结果,可以改变分配给合并候选的合并索引。可以基于是否执行双预测、预测方向、运动向量的大小或当前图片与参考图片之间的输出顺序(例如,POC)差中的至少一个来执行重新排序。例如,执行双预测的合并候选可以比执行单预测(uni-prediction)的合并候选具有更高的优先级。因此,分配给执行双预测的合并候选的索引可以比分配给执行单预测的合并候选的索引具有更小的值。

图26和图27是示出了其中合并候选被重新排序的示例的图。

在图26和图27中,假设在初始合并候选列表中合并候选以A0、A1、A2、A3、A4的顺序排列。在图26中,假设存在表示双预测的多个合并候选,并且在图27中,假设存在表示单预测的多个合并候选。

在图26的示例中,当A2指示单预测并且A0、A1、A3和A4指示双预测时,指示单预测的A2可以放置在合并候选列表的末尾。

当存在指示双预测的多个合并候选时,多个合并候选之间的优先级可以遵循初始合并候选列表内的优先级。因此,可以按照A0、A1、A3、A4、A2的顺序来改变初始合并候选列表中的合并候选的排列。

替选地,当存在指示双预测的多个合并候选时,可以基于运动向量的大小或者当前图片与参考图片之间的输出顺序差中的至少一个来确定多个合并候选之间的优先级。

在图27的示例中,当A2和A3指示单预测并且A0、A1和A4指示双预测时,指示单预测的A2和A3可以放置在合并候选列表的末尾。

当存在指示单预测的多个合并候选时,多个合并候选之间的优先级可以遵循初始合并候选列表中的优先级。因此,可以按照A0、A1、A4、A2、A3的顺序来改变初始合并候选列表中的合并候选的排列。

替选地,当存在指示单预测的多个合并候选时,可以基于运动向量的大小或者当前图片与参考图片之间的输出顺序差中的至少一个来确定多个合并候选之间的优先级顺序。

可以通过比特流用信号发送指示是否对合并候选执行重新排序的信息。该信息可以是1比特标志。替选地,可以基于当前块的帧间预测模式来确定是否对合并候选执行重新排序。替选地,可以基于是否使用稍后要描述的多个合并候选来确定是否执行重新排序。

可以根据多个合并候选导出当前块的运动信息。也就是说,可以通过选择当前块的合并候选列表中包括的合并候选中的两个或更多个来导出当前块的运动信息。

图28是用于描述基于多个合并候选来获得当前块的运动信息的示例的图。

编码单元0的合并候选列表可以包括根据与编码单元0邻近的相邻块导出的合并候选。作为示例,编码单元0的合并候选列表可以包括C0、C1、C2、C3或C4中的至少一个。

为了获得编码单元0的运动信息,可以选择多个合并候选。作为示例,可以在合并候选列表中包括的合并候选中选择C0和C2,并且可以基于所选择的合并候选来确定编码单元0的运动信息。

编码单元1的合并候选列表可以包括根据与编码单元0邻近的相邻块导出的合并候选。例如,编码单元1的合并候选列表可以包括B0、B1、B2、B3或B4中的至少一个。

为了获得编码单元1的运动信息,可以选择多个合并候选。例如,可以在合并候选列表中包括的合并候选中选择B1和B3,并且可以基于所选择的合并候选来确定编码单元1的运动信息。

在下面描述的实施方式中,在合并候选列表中包括的多个合并候选中被选择成确定当前块的运动向量的N个合并候选分别被称为第一合并候选、第二合并候选、……、第N合并候选。可以通过合并候选的合并索引来确定参考顺序。例如,第一合并候选表示在N个合并候选中的具有最小合并索引的合并候选,并且第N合并候选表示在N个合并候选中的具有最大合并索引的合并候选。

可以基于通过将多个合并候选的运动向量相加而获得的值或者通过缩放至少一个运动向量而获得的值来确定当前块的运动向量。替选地,可以基于多个合并候选的运动向量的加权和运算或平均运算来确定当前块的运动向量。

公式1示出了通过将第一合并候选和第二合并候选的运动向量相加来导出当前块的运动向量的示例。

[公式1]

mvL0=mvL0_l+mvL0_2

mvL1=mvL1_1+mvL1_2

在公式1中,mvL0表示当前块的L0运动向量,而mvL1表示当前块的L1运动向量。mvL0_N(N为1或2)表示第N合并候选的L0运动向量,而mvL1_N表示第N合并候选的L1运动向量。

可以通过将通过缩放第二运动向量而获得的值与第一运动向量相加来导出当前块的运动向量。公式2示出了通过将第一合并候选的运动向量与第二合并候选的缩放的运动向量相加来导出当前块的运动向量的示例。

[公式2]

mvL0=mvL0_1+(mvL0_2>>M)

mvL1=mvL1_1+(mvL1_2>>M)

在公式2中,M表示缩放参数。可以通过比特流用信号发送用于确定缩放参数的信息。可以以切片或块为单位来确定缩放参数。替选地,可以基于第一合并候选的参考图片与第二合并候选的参考图片之间的输出顺序(例如,POC)差来确定缩放参数。替选地,可以基于第一合并候选与第二合并候选之间的合并索引的差来确定缩放参数。例如,当第一合并候选的合并索引是n并且第二合并候选的合并索引是m时,缩放参数M可以被确定为(m-n)。

多个合并候选的运动向量的平均值可以被确定为当前块的运动向量。公式3示出了将第一合并候选和第二合并候选的运动向量的平均值确定为当前块的运动向量的示例。示出了通过将第一合并候选的运动向量和第二合并候选的缩放的运动向量相加来导出当前块的运动向量的示例。

[公式3]

mvL0=(mvL0_1+mvL0_2)>>1

mvL1=(mvL1_1+mvL1_2)>>1

可以将当前块的参考图片索引、双预测标志或双预测权重中的至少一个设置为等于多个合并候选中的任何一个。例如,可以将当前块的参考图片索引、双预测标志或双预测权重中的至少一个设置成与在多个合并候选之中具有最小合并索引的合并候选或具有最大索引的合并候选相同。替选地,可以根据由多个索引信息之中的第一索引信息或最后索引信息选择的合并候选导出当前块的参考图片索引、双预测标志或双预测权重中的至少一个。替选地,可以根据多个合并候选之中的由首先从比特流中解析的索引信息所指定的合并候选来导出当前块的参考图片索引、双预测标志或双预测权重中的至少一个。替选地,可以根据多个合并候选之中的预定义的合并候选导出当前块的参考图片索引、双预测标志或双预测权重中的至少一个。

可以通过比特流用信号发送指示是否基于多个合并候选确定当前块的运动信息的信息。该信息可以是1比特标志。替选地,该信息可以指示用于确定当前块的运动信息的合并候选的数目。例如,等于1的信息可以指示基于一个合并候选确定当前块的运动信息。等于01的信息可以指示基于两个合并候选确定当前块的运动信息。等于11的信息可以指示基于三个合并候选确定当前块的运动信息。可以使用大于三个的合并候选。

替选地,当通过单预测对由当前块的索引信息指示的合并候选进行编码(即,合并候选仅具有单向运动信息)时,可以选择另外的合并候选。在这种情况下,可以根据第二合并候选导出与从第一合并候选导出的单向运动信息不同方向的运动信息。

图29是示出了根据多个合并候选导出当前块的运动信息的示例的图。

当第一合并候选的运动信息指示使用单预测(L0)和L0参考图片列表时,可以根据第一合并候选导出当前块的L0方向上的运动信息。

另外,通过指定包括L1方向的预测信息的第二合并候选,可以根据第二合并候选获得当前块的L1方向上的运动信息。具体地,当第二合并候选指示双预测时,可以将第二合并候选的L1参考图片列表设置为当前块的L1参考图片列表。替选地,当第二合并候选指示单预测和使用L参考图片列表时,可以将第二合并候选的L1参考图片列表设置为当前块的L1参考图片列表。

可以将第二合并候选的单向信息应用于当前块的双向。作为示例,可以根据第二合并候选的单向预测信息导出当前块的L0参考图片列表和L1参考图片列表。假设基于公式2导出当前块的运动向量,则可以将mvLX0_1和mvLX0_2的值设置成相同。当将第二合并候选的单向预测信息应用于当前块的双向时,用于L0方向的缩放参数和用于L1方向的缩放参数可以被不同地设置。

[公式4]

mvLX0=mvLX0_1+(mvLX0_2>>M)

mvLX1=mvLX1_1+(mvLX1_2>>N)

作为示例,当第二合并候选是单预测并且使用L0参考图片列表时,公式4中所示的缩放参数M可以具有小于N的值。当第二合并候选是单预测并且使用L1参考图片列表时,公式4中所示的缩放参数M可以具有大于N的值。

可以通过比特流用信号发送标识多个合并候选中的每个的索引信息。作为示例,可以基于第一索引信息来选择第一合并候选,并且可以基于第二索引信息来选择第二合并候选。在这种情况下,第二索引信息可以指示除了第一合并候选之外的其余合并候选中的任何一个。也就是说,当第二索引信息小于第一索引信息时,可以将与第二索引信息相对应的合并候选确定为第二合并候选。当第二索引信息等于或大于第一索引信息时,可以将与通过将第二索引信息加1而获得的值相对应的合并候选确定为第二合并候选。

替选地,可以从与第一参考图片具有相同的参考图片索引或双预测标志中的至少一个的合并候选之中选择第二合并候选。在这种情况下,第二索引信息可以指定与第一参考图片具有相同的参考图片索引或双预测标志中的至少一个的合并候选中的任何一个。

替选地,可以基于索引信息来确定第一合并候选,并且可以通过将第一合并候选的合并索引加上/减去偏移来确定第二合并候选。偏移可以是自然数,例如1、2、3或4。可以在编码器和解码器中预定义偏移值。替选地,可以通过比特流用信号发送用于确定偏移值的信息。

替选地,可以基于索引信息来确定第一合并候选,并且可以将空间上与第一合并候选邻近的合并候选确定为第二合并候选。作为示例,当第一合并候选对应于与当前块的左侧邻近的相邻块时,根据与当前块的左下角邻近的块导出的合并候选,或者可以将根据与当前块的左上角邻近的块导出的合并候选确定为第二合并候选。

替选地,可以基于索引信息来确定第一合并候选,并且可以将由编码器和解码器预先承诺的合并候选确定为第二合并候选。预先承诺的合并候选可以是在合并候选列表中包括的合并候选之中具有最小合并索引的合并候选或具有最大合并索引的合并候选。

替选地,可以基于索引信息来确定第一合并候选,并且可以将与第一合并候选具有相同的参考图片索引或双预测标志至少之一的合并候选确定为第二合并候选。当存在与第一合并候选具有相同的参考图片索引或双预测标志的多个合并候选时,可以选择具有最小索引值的合并候选、与第一合并候选具有最小索引值差的合并候选或通过双预测编码的合并候选。

替选地,当通过第一方向预测对基于索引信息确定的第一合并候选进行编码时,可以将具有第二方向运动信息的合并候选选择作为第二合并候选。当存在具有第二方向运动信息的多个合并候选时,可以选择具有最小索引值的合并候选、与第一合并候选具有最小索引值差的合并候选或通过双预测编码的合并候选。

代替选择多个合并候选,可以将通过组合多个合并候选而生成的合并候选添加至合并候选列表。例如,当合并候选列表中包括的合并候选的数目小于合并候选的最大数目时,可以将具有多个合并候选的运动向量的平均值作为运动向量的平均合并候选添加至合并候选列表。

可以将当前块分成多个划分,可以从第一合并候选导出多个划分之中的第一划分的运动信息,并且可以根据第二合并候选导出第二划分的运动信息。基于从第一合并候选导出的运动信息来执行第一划分的运动补偿,并且基于根据第二候选导出的运动信息来执行第二划分的运动补偿。在这种情况下,可以将插值滤波器应用于位于第一划分与第二划分之间的边界处的样本和/或与边界邻近的样本。可以基于当前块的大小、当前块的形状或样本的位置中的至少一个来确定插值滤波器的系数。

将着重于解码处理或编码处理描述的实施方式应用于编码处理或解码处理包括在本发明的范围内。将以预定顺序描述的实施方式改变为不同顺序也包括在本发明的范围内。

尽管已经基于一系列步骤或流程图描述了上述实施方式,但是上述实施方式并不旨在限制本发明的时间序列顺序,并且可以同时或以不同的顺序执行。另外,组成上述实施方式中的框图的部件(例如,单元、模块等)中的每个可以被实现为硬件装置或软件,并且多个部件可以组合成一个硬件装置或软件。上述实施方式可以以程序指令的形式实现,所述程序指令可以通过各种计算机部件执行并且被记录在计算机可读记录介质中。计算机可读存储介质可以单独地或以其组合包括程序指令、数据文件、数据结构等。计算机可读存储介质的示例包括:磁记录介质例如硬盘、软盘和磁带;光学数据存储介质例如CD-ROM或DVD-ROM;磁光介质例如光盘;以及硬件装置例如只读存储器(ROM)、随机存取存储器(RAM)和闪存,这些计算机可读存储介质被特别地结构化以存储和实现程序指令。硬件装置可以被配置成由一个或更多个软件模块操作或者软件模块可以被配置成由一个或更多个硬件装置操作,以进行根据本发明的处理。

工业实用性

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

相关技术
  • 视频信号处理设备和视频信号处理方法、视频信号编码设备和视频信号编码方法、及程序
  • 视频信号处理设备和视频信号处理方法、视频信号编码设备和视频信号编码方法、及程序
技术分类

06120112146331