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

视频信号处理方法和装置

文献发布时间:2023-06-19 09:29:07


视频信号处理方法和装置

技术领域

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

背景技术

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

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

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

发明内容

技术问题

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

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

本发明的另一目的是提供用于在对视频信号进行编码/解码时对从合并候选获取的运动向量进行细化的方法和装置。

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

技术方案

根据本发明,提供了用于对视频信号进行解码的方法和装置,其中,得到当前块的初始运动向量,确定当前块的运动细化向量,以及基于初始运动向量和运动细化向量确定当前块的运动向量。在本文中,初始运动向量从当前块的合并候选列表中包括的合并候选中的任何一个得到。

根据本发明,提供了用于对视频信号进行编码的方法和装置,其中,得到当前块的初始运动向量,确定当前块的运动细化向量,以及基于初始运动向量和运动细化向量确定当前块的运动向量。在本文中,初始运动向量从当前块的合并候选列表中包括的合并候选中的任何一个得到。

在根据本发明的用于对视频信号进行编码/解码的方法和装置中,可以对用于确定运动细化向量的信息进行编码/解码。

在根据本发明的用于对视频信号进行编码/解码的方法和装置中,该信息可以包括运动细化向量的大小信息和运动细化向量的方向信息。

在根据本发明的用于对视频信号进行编码/解码的方法和装置中,大小信息可以指示多个候选中的任何一个,并且可以基于当前块的运动向量的分辨率来确定多个候选。

在根据本发明的用于对视频信号进行编码/解码的方法和装置中,可以基于在包括由初始运动向量指示的位置的搜索区域中搜索率失真代价值最低的区域的结果来确定合并细化向量。

在根据本发明的用于对视频信号进行编码/解码的方法和装置中,可以将从初始运动向量到率失真代价值最低的区域的位置的向量确定为合并细化向量。

在根据本发明的用于对视频信号进行编码/解码的方法和装置中,运动向量可以是初始运动向量和运动细化向量的和。

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

有利效果

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

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

根据本发明,可以通过对从合并候选获取的运动向量进行细化来改善帧间预测的效率。

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

附图说明

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

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

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

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

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

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

图7是示出了作为应用本发明的实施方式的可以应用于编码块的划分模式的图。

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

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

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

图11是示出了得到时间合并候选的运动向量的示例的图。

图12是示出了可能用作同位块(co-located block)的候选块的位置的图。

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

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

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

图19是示出了基于正方形块得到非正方形块的合并候选的示例的图。

图20是示出了对当前块的运动向量进行细化的方法的流程图。

图21是示出了在预定范围内设置运动细化向量的示例的图。

本发明的实施方式

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

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

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

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

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

图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可以使用之字形扫描方法从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。

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

可以基于垂直线或水平线中的至少一个来执行编码树单元或编码单元的划分。此外,划分编码树单元或编码单元的垂直线或水平线的数目可以是至少一个。例如,通过使用一条垂直线或一条水平线,可以将编码树单元或编码单元划分为两个划分,或者通过使用两条垂直线或两条水平线,可以将编码树单元或编码单元划分为三个划分。替选地,通过使用一条垂直线和一条水平线,可以将编码树单元或编码单元划分为长度和宽度为1/2的四个划分。

当使用至少一条垂直线或至少一条水平线将编码树单元或编码单元划分为多个划分时,这些划分可以具有一致的大小或者可以具有不同的大小。替选地,划分可以具有与另一个划分不同的大小。

在以下描述的实施方式中,假设将编码树单元或编码单元划分为四叉树、三叉树或二叉树结构。然而,可以使用更多的垂直线或更多的水平线来划分编码树单元或编码单元。

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

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

具体地,可以基于四叉树、三叉树和二叉树中的至少一个来对编码块进行分层地划分。在此,基于四叉树的划分可以对应于将2Nx2N编码块划分为四个NxN编码块的方法,基于三叉树的划分可以对应于将一个编码块划分为三个编码块的方法,并且基于二叉树的划分可以对应于将一个编码块划分为两个编码块的方法。即使当基于三叉树或基于二叉树的划分被执行时,正方形编码块也可以在较低的深度处存在。替选地,在基于三叉树或基于二叉树的划分被执行之后,可以在较低的深度处限制生成正方形编码块。

可以对称或非对称地执行基于二叉树的划分。基于二叉树划分的编码块可以是正方形块或非正方形块,例如,矩形块。例如,允许基于二叉树的划分的划分类型可以包括作为对称的示例的2NxN(水平非正方形编码单元)或Nx2N(垂直非正方形编码单元)、作为非对称的示例的nLx2N、nRx2N、2NxnU或2NxnD中的至少一个,如在图4中所示的示例中的。

基于二叉树的划分可以限制性地允许对称划分或非对称划分。在这种情况下,将编码树单元配置为正方形块可以对应于四叉树CU划分,并且将编码树单元配置为对称非正方形块可以对应于二叉树划分。将编码树单元配置成正方形块和对称非正方形块可以对应于四叉树CU划分和二叉树CU划分。

可以对不再执行基于四叉树的划分的编码块执行基于二叉树的划分。基于二叉树划分的编码块可以被配置成使得不再执行基于四叉树的划分、基于三叉树的划分或基于二叉树的划分中的至少一个。

替选地,可以允许基于三叉树的划分或基于二叉树的划分用于基于二叉树划分的编码块,并且可以限制性地允许仅水平划分或垂直划分中的一个。

例如,根据基于二叉树划分的编码块的位置、索引、形状、相邻划分的其他划分形状等,可以对基于二叉树划分的编码块限制其他划分或其他划分方向。例如,在通过基于二叉树的划分生成的两个编码块中,假设具有较早编码顺序的编码块的索引为0(在下文中,被称为编码块索引0)以及具有较晚编码顺序的编码块的索引为1(在下文中,被称为编码块索引1),当对编码块索引0和编码块索引1的两个编码块都应用基于二叉树的划分时,具有编码块索引1的编码块的基于二叉树的划分方向可以根据具有编码块索引0的编码块的基于二叉树的划分方向来确定。具体地,当具有编码块索引0的编码块的基于二叉树的划分方向将具有编码块索引0的编码块划分为正方形划分时,具有编码块索引1的编码块的基于二叉树的划分可以与具有编码块索引1的编码块的基于二叉树的划分具有不同的方向。也就是说,将具有编码块索引0和编码块索引1的两个编码块均划分为正方形划分是有限的。在这种情况下,可以省略对指示具有编码块索引1的编码块的二叉树划分方向的信息的编码/解码。将具有编码块索引0和编码块索引1的两个编码块均划分为正方形划分具有与基于四叉树划分较高深度的块相同的效果,并且因此允许将具有编码块索引0和编码块索引1的两个编码块均划分为正方形划分在编码效率方面是不期望的。

基于三叉树的划分意味着在水平方向上或垂直方向上将编码块划分为三个划分。由基于三叉树的划分生成的所有三个划分可以具有不同的大小。替选地,由基于三叉树的划分生成的划分中的两个划分可以具有相同的大小,而另一划分可以具有不同的大小。例如,取决于划分方向,可以将由对编码块进行划分生成的划分的宽度比率或高度比率设置为1:n:1、1:1:n、n:1:1或m:n:1。在此,m和n可以是1或大于1的实数例如,诸如2的整数。

可以对不再执行基于四叉树的划分的编码块执行基于三叉树的划分。对于基于三叉树划分的编码块,其可以被配置成不再执行基于四叉树的划分、基于三叉树的划分或基于二叉树的划分中的至少一个。

替选地,可以允许基于三叉树的划分或基于二叉树的划分用于基于三叉树划分的编码块,并且可以限制性地允许仅水平划分或垂直划分中的一个。

例如,根据基于三叉树划分的编码块的位置、索引、形状、相邻划分的其他划分形状等,可以对基于三叉树划分的编码块限制其他划分或其他划分方向。例如,水平划分或垂直划分中的一个可以限于由基于三叉树的划分生成的编码块之中具有最大大小的划分。具体地,对于在由基于三叉树的划分生成的编码块之中具有最大大小的划分,可以不允许具有与较高深度的划分的三叉树划分方向相同的方向的二叉树划分或三叉树划分。在这种情况下,对于在由基于三叉树的划分生成的编码块之中具有最大大小的划分,可以省略对指示二叉树划分方向或三叉树划分方向的信息的编码/解码。

取决于当前块的大小或形状,基于二叉树或三叉树的划分可能被限制。在此,可以基于当前块的宽度、高度、宽度/高度的最小值/最大值、宽度和高度的求和、宽度和高度的乘积或当前块中包括的样本的数目中的至少一个来表示当前块的大小。例如,在当前块的宽度或高度中的至少一个大于预定义值时,可以不允许基于二叉树或三叉树的划分。在此,预定义值可以是诸如16、32、64或128的整数。作为另一示例,在当前块的宽高比大于预定义值或小于预定义值时,可能不允许基于二叉树或三叉树的划分。当预定义值是1时,仅在当前块是具有相同宽度和高度的正方形块时,才可以允许基于二叉树或三叉树的划分。

可以基于较高深度的划分形状来独立地确定较低深度的划分。例如,当允许在两个或更多个深度中进行基于二叉树的划分时,可以允许在较低深度中进行与较高深度的二叉树划分相同形状的基于二叉树的划分。例如,当在较高深度处执行2NxN形状的基于二叉树的划分时,也可以在较低深度处执行2NxN形状的基于二叉树的划分。替选地,当在较高深度处执行Nx2N形状的基于二叉树的划分时,也可以在较低深度处执行Nx2N形状的基于二叉树的划分。

另外,可以仅在较低深度中允许形状与较高深度的二叉树划分形状不同的基于二叉树的划分。

对于序列、切片、编码树单元或编码单元,其可以被限制,使得仅将使用特定形状的基于二叉树的划分或特定形状的基于三叉树的划分。例如,其可以被限制成仅允许2NxN或Nx2N形状的基于二叉树的划分用于编码树单元。允许的划分类型可以被预定义在编码器或解码器中,或者可以通过对关于允许的划分类型或不允许的划分类型的信息进行编码通过经由比特流信号地发送。

图5是示出了仅允许特定形状的基于二叉树的划分的示例的图。在图5中,(a)示出了仅允许Nx2N形状的基于二叉树的划分的示例,并且(b)示出了仅允许2NxN形状的基于二叉树的划分的示例。为了实现基于四叉树或二叉树的自适应划分,可以使用如下信息:指示基于四叉树的划分的信息、关于允许基于四叉树的划分的编码块的大小/深度的信息、指示基于二叉树的划分的信息、关于允许基于二叉树的划分的编码块的大小/深度的信息、关于不允许基于二叉树的划分的编码块的大小/深度的信息、基于二叉树的划分是垂直还是水平的信息等。

另外,对于编码树单元或预定的编码单元,可以获得允许进行二叉树划分/三叉树划分的次数、允许进行二叉树划分/三叉树划分的深度、允许进行二叉树划分/三叉树划分的深度的数目等。这些信息可以在编码树单元或编码单元的单元中进行编码,并且可以通过比特流传送至解码器。

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

参考图6中所示的示例,在图6中,示出了针对深度为2的编码单元和深度为3的编码单元执行二叉树划分。因此,可以通过比特流对以下中的至少一个进行编码/解码:指示在编码树单元中已经执行二叉树划分的次数(2次)的信息、指示在编码树单元中允许二叉树划分的最大深度(深度3)的信息或在编码树单元中允许二叉树划分的深度的数目(2个深度,深度2和深度3)。

作为另一示例,可以针对每个序列、图片或切片获得以下中的至少一个:允许二叉树划分/三叉树划分的次数、允许二叉树划分/三叉树划分的深度或允许二叉树划分/三叉树划分的深度的数目。例如,该信息可以以序列、图片或切片为单位进行编码,并且可以通过比特流来传送。替选地,可以针对每个序列、图片或切片预定义以下项:允许二叉树划分/三叉树划分的深度、允许二叉树划分/三叉树划分的深度的数目。因此,对于第一切片和第二切片,以下中的至少一个可以不同:允许进行二叉树划分/三叉树划分的次数、允许进行二叉树划分/三叉树划分的深度或允许进行二叉树划分/三叉树划分的深度的数目。例如,在第一切片中,可以仅在一个深度处允许二叉树划分,而在第二切片中,可以在两个深度处允许二叉树划分。

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

如图3中所示,可以基于四叉树将划分深度(拆分深度)为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。可以经由序列头或图片头来信号地发送指示序列中或图片中的编码块的大小的信息。

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

可以使用跳过模式、帧内预测、帧间预测或跳过方法中的至少一个来对编码块进行编码/解码。

作为另一示例,可以通过对编码块进行划分,以具有等于或小于编码块的大小的单位来执行帧内预测或帧间预测。为此,当编码块被确定时,可以通过对编码块进行预测划分来确定预测块。可以通过指示编码块的划分类型的划分模式(Part_mode)来执行对编码块的预测划分。可以根据编码块的划分模式来确定预测块的大小或形状。例如,根据划分模式确定的预测块的大小可以具有等于或小于编码块的大小的值。

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

当通过帧间预测对编码块进行编码时,可以将八种划分模式中的任何一种应用于编码块,如在图7中所示的示例中的。

当通过帧内预测对编码块进行编码时,可以将划分模式PART_2Nx2N或PART_NxN应用于编码块。

当编码块具有最小大小时,可以应用PART_NxN。在此,可以在编码器和解码器中预定义编码块的最小大小。替选地,可以经由比特流信号地发送关于编码块的最小大小的信息。例如,可以经由片头信号地发送编码块的最小大小,并且因此可以为每个切片定义编码块的最小大小。

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

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

参照图8,可以确定当前块的运动信息S810。当前块的运动信息可以包括当前块的运动向量、当前块的参考图片索引或者当前块的帧间预测方向或加权预测的权重中的至少一个。加权预测的权重可以表示施加至L0参考块的权重和施加至L1参考块的权重。

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

可以基于经由比特流信号地发送的信息或邻近当前块的相邻块的运动信息中的至少一个来获得当前块的运动信息。

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

合并模式表示从相邻块得到当前块的运动信息的方法。

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

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

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

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

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

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

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

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

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

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

图11是示出了得到时间合并候选的运动向量的示例的图。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

替选地,可以在编码器和解码器中预定义合并候选的最大数目。例如,合并候选的最大数目可以是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差)来缩放第一合并候选或第二合并候选的运动向量。例如,在缩放第二合并候选的运动向量之后,可以通过计算第一合并候选的运动向量和第二合并候选的缩放的运动向量的平均值来得到平均合并候选。在本文中,可以基于每个合并候选的参考图片索引的值、每个合并候选的参考图片与当前块之间的距离、或者是否应用双向预测来设置优先级,并且缩放可以应用于具有高(或低)优先级的合并候选的运动向量。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

第二合并候选块的示例可以包括以下之中的至少一个:在当前块之前使用帧间预测编码/解码的块、与第一合并候选块相邻的块或与第一合并候选块位于同一线上的块。与第一合并候选块位于同一线上的块可以包括以下之中的至少一个:与第一合并候选块位于同一水平线上的块、与第一合并候选块位于同一垂直线上的块或与第一合并候选块位于同一对角线上的块。位于同一水平线上的各个块的y坐标位置相同。位于同一垂直线上的各个块的x坐标位置相同。位于同一对角线上的各个块的x坐标位置之间的差值与y坐标位置之间的差值相同。

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

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

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

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

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

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

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

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

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

作为本发明的实施方式,第一合并候选列表可以被构造为包括从第一合并候选块得到的合并候选,并且第二合并候选列表可以被构造为包括从第二合并候选块得到的合并候选。例如,在图14中所示的示例中,可以将从块A0至A4得到的合并候选添加至第一合并候选列表,并且可以将从块B0至B6得到的合并候选添加至第二合并候选列表。

替选地,第二合并候选列表可以包括基于在当前块之前使用帧间预测编码/解码的块的运动信息得到的合并候选。

可以基于每个CTU、每个图块或每个切片来初始化第二合并候选列表。可以在编码器和解码器中预定义第二合并候选列表能够包括的合并候选的最大数目。替选地,可以经由比特流信号地发送指示第二合并候选列表能够包括的合并候选的最大数目的信息。

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

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

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

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

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

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

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

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

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

替选地,可以向第一合并候选列表和第二合并候选列表之中的任何一个添加(或附加)另一个。

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

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

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

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

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

当具有与第二合并候选列表中包括的合并候选相同的运动信息的合并候选被包括在第一合并候选列表中时,给分配了比索引值高一的索引值的合并候选或者给分配了比索引值低一的索引值的合并候选被添加至第一合并候选列表。

可以生成包括基于第一合并候选块的运动信息得到的合并候选和基于第二合并候选块的运动信息得到的合并候选的合并候选列表。合并候选列表可以是第一合并候选列表和第二合并候选列表的组合。

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

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

图15至图18示出了如下搜索合并候选的顺序。

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

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

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

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

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

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

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

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

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

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

图19是示出了基于正方形块得到非正方形块的合并候选的示例的图。

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

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

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

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

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

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

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

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

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

图20是示出了基于高级节点块得到合并候选的示例的图。

通过基于二叉树对正方形块进行划分来生成块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)。例如,当与当前块相邻的相邻块被包括在与当前块相同的合并估计区域中时,确定该相邻块不可用。可以执行移位操作以便确定当前块和相邻块是否被包括在同一合并估计区域中。具体地,基于通过移位当前块的左上参考样本的位置获得的值是否与通过移位相邻块的左上参考样本的位置获得的值相同,可以确定当前块和相邻块是否包括在同一合并估计区域中。

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

在图21中,示出了合并估计区域是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的合并候选。

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

图22是示出了基于合并估计区域得到合并候选的示例的图。

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

例如,可以基于合并估计区域来得到(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的合并候选。

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

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

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

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

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

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

当该信息指示非正方形形状的合并估计区域时,经由比特流信号地发送指示合并估计区域的宽度、高度以及宽度与高度之间的比率之中的至少一个的信息。基于此,可以确定合并估计区域的大小和/或形状。

四边形形状的块可以被划分为多个三角形块。可以基于包括三角形块的四边形块来得到三角形块的合并候选。三角形块可以共享相同的合并候选。

如在上述示例中的,要经受帧间预测的块和作为得到合并候选的基础的块被设置为不同。当要经受帧间预测的块与作为得到合并候选的的基础的块不同时,考虑相邻块的运动信息或相邻块的合并索引来构造当前块的合并候选列表。

例如,当基于包括当前块的高级节点块得到当前块的合并候选时,确定具有与包括在高级节点块中的相邻块相同的运动信息的合并候选或与由相邻块的合并索引指示的合并候选相同的合并候选不可用作当前块的合并候选。

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

块0和块1可以是一个并行得到区域中包括的块。替选地,块0和块1可以被包括在作为得到合并候选的基础的高级节点块中。在图23中,示出了块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的合并候选列表。

即使当不使用合并模式对块0进行编码时,具有与块0相同的运动信息的合并候选也被设置成不可用作块1的合并候选。

可以基于包括块2、块3和块4的高级节点块来得到块2、块3和块4的合并候选。在本文中,具有与块2相同的运动信息的合并候选,或由块2的合并索引指示的合并候选可以被设置成不可用作块3的合并候选。另外,具有与块3相同的运动信息的合并候选,或由块3的合并索引指示的合并候选可以被设置成不可用作块4的合并候选。也就是说,块3和块4的合并候选列表可以不包括具有与和每个块相邻的相邻块相同的运动信息的合并候选。

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

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

图24是示出了基于多个合并候选获取当前块的运动信息的示例的图。

编码单元0的合并候选列表可以包括从与编码单元0相邻的相邻块得到的合并候选。在示例中,编码单元0的合并候选列表可以包括A0、A1、A2、A3或A4中的至少一个。

可以选择多个合并候选,以便获取编码单元0的运动信息。在示例中,在合并候选列表中包括的合并候选之中选择A0和A2,并且基于所选择的合并候选来确定编码单元0的运动信息。

编码单元1的合并候选列表可以包括从与编码单元0相邻的相邻块得到的合并候选。例如,编码单元1的合并候选列表可以包括B0、B1、B2、B3和B4之中的至少一个。

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

在以下描述的实施方式中,假设从合并候选列表中包括的多个合并候选中选择两个合并候选来确定当前块的运动向量。并且,两个选择的合并候选将分别被称为第一合并候选和第二合并候选。将假设第一合并候选具有比第二合并候选更小的合并索引。

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

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

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

[等式1]

mvL0=mvL0_1+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的信息可以指示基于三个合并候选确定当前块的运动信息。可以使用三个以上的合并候选。

替选地,其可以在使用单向预测对由当前块的索引信息所指示的合并候选进行编码(即,仅具有单向运动信息)时进行设置,选择另外的合并候选。

可以经由比特流信号地发送标识多个合并候选中的每个的索引信息。例如,可以基于第一索引信息来选择第一合并候选,并且可以基于第二索引信息来选择第二合并候选。在本文中,第二索引信息可以指示除了第一合并候选之外的合并候选中的任何一个。

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

替选地,可以基于索引信息来确定第一合并候选,并且可以将在空间上与第一合并候选相邻的合并候选确定为第二合并候选。例如,当第一合并候选对应于与当前块的左侧相邻的相邻块时,从与当前块的左下角邻近的块得到的合并候选,或从与当前块的左上角相邻的块得到的合并候选被确定为第二合并候选。

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

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

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

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

可以通过初始向量确定步骤(第一步骤)和/或初始向量细化步骤(第二步骤)得到当前块的运动向量。第一步骤可以包括通过合并模式或AMVP模式得到当前块的运动向量。第二步骤可以包括通过对初始运动向量进行细化来确定当前块的运动向量。

可以经由比特流信号地发送指示是否执行初始向量细化步骤的信息。该信息可以是1比特的标志。当初始向量细化步骤不被执行时,基于在第一步骤获得的当前块的运动向量(即,初始运动向量)来执行运动补偿。当初始向量细化步骤被执行时,基于细化的初始运动向量来执行运动补偿。替选地,可以基于当前块的大小、当前块的形状、当前块的帧间预测模式、当前块的位置或当前块的运动信息的精度来确定是否执行初始向量细化步骤。例如,仅当使用合并模式对当前块的帧间预测模式进行编码时,才对指示是否执行初始向量细化步骤的信息进行编码。

在下文中,将详细地描述获得细化的初始运动向量的处理。

图20是示出了对当前块的运动向量进行细化的方法的流程图。

可以得到当前块的初始运动向量S2010。在当前块的帧间预测模式是合并模式时,将由当前块的索引信息指示的合并候选的运动向量确定为当前块的初始运动向量。在当前块的帧间预测模式是AMVP模式时,将由当前块的索引信息指示的运动向量候选与运动向量差的和确定为初始运动向量。

当使用合并模式对当前块进行编码时,合并候选的最大数目被改变为预定义数目。例如,将N个合并候选中的一个确定为当前块的初始运动向量。在本文中,N可以是2、3等的自然数。也就是说,当初始运动向量被细化时,合并候选列表能够包括的合并候选的最大数目减少。

可以对当前块的初始运动向量进行细化S2020。作为初始运动向量的细化的结果,可以确定当前块的运动向量S2030。

可以基于初始运动向量和运动细化向量来执行初始运动向量的细化。可以通过将初始运动向量和运动细化向量相加来得到当前块的运动向量。替选地,可以通过调整初始运动向量的分辨率来执行初始运动向量的细化。

可以经由比特流信号地发送指示两种方法中的至少一种的信息。根据信息的值,可以使用两种方法中的任意一种或组合两种方法来对初始运动向量进行细化。替选地,可以基于当前块的初始运动向量的大小、是否执行当前块的双向预测或者当前块的位置中的至少一个来确定对初始运动向量进行细化的方法。

首先,将描述基于运动细化向量获得当前块的运动向量的方法。

可以经由比特流信号地发送用于确定运动细化向量的信息。该信息可以包括指示运动细化向量的大小的信息或指示运动细化向量的方向的信息中的至少一个。替选地,可以基于初始运动向量,通过搜索预定区域来得到运动细化向量。替选地,可以基于空间相邻块或时间相邻块的运动信息来确定运动细化向量。

替选地,可以基于当前块的初始运动向量,通过搜索预定搜索区域来确定运动细化向量。搜索区域可以是参考图片内的包括由初始运动向量所指示的位置的矩形形状的区域。可以在编码器和解码器中预定义搜索区域的大小。替选地,可以经由比特流信号地发送指示搜索区域的大小的信息。替选地,可以基于初始运动向量的大小、当前块的运动向量的分辨率、当前图片与参考图片之间的输出顺序的差(POC)或者是否执行当前块的双向预测中的至少一个来确定搜索区域的大小。

可以在预定区域中搜索率失真代价(RD代价)最低的位置。例如,可以计算在L0参考图片的预定区域中包括的参考块与在L1参考图片的预定区域中包括的参考块之间的率失真代价,并且可以确定具有最低率失真代价的L0参考块和L1参考块的组合。另外,可以将从由L0初始运动向量指示的L0参考块到具有最低率失真代价的L0参考块的向量设置为L0运动细化向量。可以将从由L1初始运动向量指示的L1参考块到具有最低率失真代价的L1参考块的距离设置为L1运动细化向量。

替选地,可以计算与当前块相邻的相邻模板区域和与参考块邻近的参考模板区域之间的率失真代价。与当前块相邻的相邻模板区域可以包括与当前块的上侧相邻的区域或与当前块的左侧相邻的区域中的至少一个。可以确定与相邻模板区域具有最低率失真代价的参考模板区域,并且可以将从由初始运动向量指示的参考块到与参考模板区域相邻的参考块的向量设置为运动细化向量。

通过使用相同的规则,编码器和解码器可以计算预定区域内的率失真代价,并且可以确定运动细化向量。上述得到运动细化向量的方法可以被定义为解码器侧合并细化方法。

可以经由比特流信号地发送指示是否执行解码器侧合并细化方法的信息。该信息可以是1比特的标志。

可以基于每个子块执行解码器侧合并细化方法。例如,可以将编码块划分为多个子块,并且可以基于每个子块确定运动细化向量。虽然可以基于每个编码单元确定初始运动向量,但是也可以基于每个子块确定运动细化向量。替选地,可以基于每个子块确定初始运动向量,并且可以基于子块中的每个的初始运动向量确定子块中的每个的运动细化向量。

替选地,可以经由比特流信号地发送用于确定运动细化向量的信息。该信息可以包括指示运动细化向量的幅度的信息或指示运动细化向量的方向的信息中的至少一个。指示运动细化向量的幅度的信息可以是指示多个候选中的任何一个的索引信息。例如,索引信息可以指示{1/4、1/2、1、2、4}中的任意一个。可以基于当前块的运动向量的精度(或分辨率)来确定幅度的候选。例如,在当前块的运动向量的精度为1/4像素时,幅度的候选为{1/4、1/2、1、2、4}。在当前块的运动向量的精度是1像素时,运动细化向量的幅度的候选为{1、2、4、8、16}。也就是说,对于当前块的运动向量的精度中的每个,针对大小的候选的最小值、针对大小的候选的最大值或针对大小的候选的数目中的至少一个可以不同。

指示运动细化向量的方向的信息可以是指示多个候选中的任何一个的索引信息。例如,索引信息可以指示{(+,0)、(-,0)、(0,+)、(0,-)}中的任意一个。符号+表示相对于x轴或y轴的正方向,并且符号-表示相对于x轴或y轴的负方向。数字0指示x轴或y轴位移为零。可以使用x轴位移和y轴位移两者均不为零的方向的组合。例如,可以使用{(+,+)、(+,-)、(-,+)、(-,-)}的候选。

基于从编码器传送的与运动细化向量相关的信息来确定运动细化向量可以被定义为编码器侧合并细化方法。可以经由比特流信号地发送指示是否执行编码器侧合并细化方法的信息。该信息可以是1比特的标志。解码器可以对来自比特流的与运动细化向量相关的信息进行解码,并且可以使用解码的信息来确定运动细化向量。

可以将运动细化向量的幅度设置成不大于初始运动向量的幅度。替选地,可以将运动细化向量的幅度设置成不大于初始运动向量的幅度的1/(2n)。替选地,可以将运动细化向量的幅度设置成不大于预定值。取决于设置,可以确定搜索区域的大小或运动细化向量的幅度的候选。

如上所述,可以在预定范围内确定运动细化向量值。

图21是示出了在预定范围内设置运动细化向量的示例的图。

如在图21(a)中所示的示例中,可以将运动细化向量的x轴或y轴绝对值设置成不超过N。字母N可以表示1、2、4、8等的自然数,或者可以表示1/2、1/4、1/8、1/16等的小数。可以基于当前块的大小、初始运动向量的大小、当前块的形状、当前块的运动向量的分辨率或当前图片与参考图片之间的输出顺序的差中的至少一个来确定N。替选地,可以经由比特流信号地发送用于确定N的信息。例如,图21(b)是示出了将N设置为1的情况的图。

可以将运动细化向量值设置成不超过初始运动向量的整数像素。例如,在当前块的运动向量的精度为1/4像素时,运动细化向量值不超过4。替选地,在当前块的运动向量的精度为1/8像素时,运动细化向量值不超过8。

可以得到当前块的多个细化向量。当存在多个细化向量时,通过将多个细化向量和初始运动向量相加来确定当前块的运动向量。

例如,可以将通过当前块的步骤S1710确定的当前块的运动向量确定为第一初始运动向量。可以基于经由比特流信号地发送的信息来确定第一运动细化向量。替选地,可以基于第一初始运动向量,通过搜索预定搜索区域来确定第一运动细化向量。

通过将第一初始运动向量和第一运动细化向量相加,可以确定第二初始运动向量。可以基于经由比特流信号地发送的信息来确定第二运动细化向量。替选地,可以基于第二初始运动向量,通过搜索预定搜索区域来确定第二运动细化向量。

通过将第二初始运动向量和第二运动细化向量相加,可以获得当前块的运动向量。

得到多个运动细化向量的方法可以相同。例如,可以使用解码器侧合并细化方法来确定第一运动细化向量和第二运动细化向量。替选地,可以使用编码器侧合并细化方法来确定第一运动细化向量和第二运动细化向量。

替选地,可以通过组合解码器侧合并细化方法和编码器侧合并细化方法来确定多个运动细化向量。例如,可以使用解码器侧合并细化方法来确定第一运动细化向量和第二运动细化向量中的任意一个,并且可以使用编码器侧合并细化方法来确定另一个。可以将组合解码器侧合并细化方法和编码器侧合并细化方法的运动向量细化方法定义为编码器-解码器侧合并细化方法。

可以在编码器和解码器中预定义应用编码器侧合并细化方法和解码器侧合并细化方法的顺序。例如,可以通过解码器侧合并细化方法来确定第一运动细化向量,并且可以通过编码器侧合并细化方法来确定第二运动细化向量。替选地,可以通过编码器侧合并细化方法来确定第一运动细化向量,并且可以通过解码器侧合并细化方法来确定第二运动细化向量。替选地,可以经由比特流信号地发送关于应用的顺序的信息。

接下来,将描述通过调整运动向量的分辨率来获得当前块的运动向量的方法。

可以通过改变当前块的初始运动向量的分辨率来确定当前块的运动向量。可以基于经由比特流信号地发送的信息来确定初始运动向量的分辨率。替选地,可以基于当前块或相邻块的大小、形状、划分相关的信息或帧间预测方法中的至少一个来确定初始运动向量的分辨率。

分辨率的改变可以包括从高分辨率改变为低分辨率的分辨率的降低,或者从低分辨率改变为高分辨率的分辨率的增加。例如,将基于整数像素的初始运动向量改变为小数像素对应于分辨率的降低,并且将基于小数像素的初始运动向量改变为整数像素对应于分辨率的降低。可以基于下舍入运算、上舍入运算或四舍五入运算来执行分辨率的改变。替选地,可以通过加上/减去经由比特流信号地发送的运动细化向量来执行分辨率的改变。

可以经由比特流信号地发送指示是否改变分辨率的信息。该信息可以是1比特的标志。可以经由比特流信号地发送指示单位的信息。该单位可以是分辨率候选中的任何一个。例如,该信息可以指示整数像素、1/2像素、1/4像素、1/8像素或1/16像素中的任意一个。初始运动向量的分辨率可以改变为由该信息指示的分辨率。

替选地,可以基于当前块或相邻块的大小、形状、划分相关的信息或帧间预测方法中的至少一个来确定是否改变分辨率或分辨率改变的单位。

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

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

工业应用性

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

相关技术
  • 视频信号处理器、视频信号记录器、视频信号再现器、视频信号处理器处理方法、视频信号记录器处理方法、视频信号再现器处理方法、记录介质
  • 视频信号处理装置、视频信号处理方法和视频信号处理程序
技术分类

06120112180748