欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 用于使用时间运动信息的图像编码和图像解码的方法和设备独创技术191017字

用于使用时间运动信息的图像编码和图像解码的方法和设备

2021-02-01 09:40:24

用于使用时间运动信息的图像编码和图像解码的方法和设备

  技术领域

  以下实施例总体上涉及一种视频解码方法和设备以及视频编码方法和设备,并且更具体地,涉及一种使用时间运动信息的图像解码方法和设备以及图像编码方法和设备。

  背景技术

  随着信息与通信行业的持续发展,支持高清晰度(HD)分辨率的广播服务已经在全世界普及。通过这种普及,大量用户已经习惯了高分辨率和高清晰度图像和/或视频。

  为了满足用户对高清晰度的需求,大量机构已加速了对下一代成像装置的开发。除了高清TV(HDTV)和全高清(FHD)TV之外,用户对UHD TV的兴趣也已增加,其中,UHD TV的分辨率是全高清(FHD)TV的分辨率的四倍以上。随着其兴趣的增加,不断地需要针对具有更高分辨率和更高清晰度的图像的图像编码/解码技术。

  图像编码/解码设备和方法可使用帧间预测技术、帧内预测技术、熵编码技术等,以便对高分辨率和高清晰度图像执行编码/解码。帧间预测技术可以是一种用于使用时间上在前的画面和/或时间上在后的画面对目标画面中包括的像素的值进行预测的技术。帧内预测技术可以是一种用于使用关于目标画面中的像素的信息对目标画面中包括的像素的值进行预测的技术。熵编码技术可以是一种用于将短码字分配给频繁出现的符号并且将长码字分配给很少出现的符号的技术。

  为了更准确的预测,已经开发了各种帧间预测技术和帧内预测技术。

  发明内容

  技术问题

  实施例旨在提供一种使用目标块的运动矢量预测因子来执行帧间预测的编码设备和方法以及解码设备和方法。

  实施例旨在提供一种使用同位画面(col画面)中的候选块的运动矢量来生成目标块的运动矢量预测因子的编码设备和方法以及解码设备和方法。

  技术方案

  根据一方面,提供了一种解码方法,包括:基于针对目标块的同位画面(col画面)中的候选块的运动矢量来生成所述目标块的运动矢量预测因子;并且基于所述运动矢量预测因子执行针对所述目标块的帧间预测。

  可基于所述目标块的帧间预测信息的帧间预测模式来确定所述运动矢量预测因子是否将被生成。

  当所述帧间预测模式是高级运动矢量预测(AMVP)模式、合并模式或跳过模式时,可生成所述运动矢量预测因子。

  所述运动矢量预测因子可作为候选被添加到针对所述目标块的列表。

  生成所述运动矢量预测因子的步骤可包括:确定所述候选块的运动信息是否将被用于生成所述目标块的所述运动矢量预测因子;并且基于所述候选块的运动信息生成所述目标块的所述运动矢量预测因子。

  可通过将第一缩放应用于所述候选块的运动矢量来生成第一缩放运动矢量。

  当第一缩放运动矢量指示所述目标块时,所述候选块的运动信息可被用于生成所述目标块的所述运动矢量预测因子。

  可通过将第一缩放系数乘以所述候选块的运动矢量来生成第一缩放运动矢量。

  第一缩放系数可以是通过将第一时间距离除以第二时间距离而获得的值。

  第一时间距离可以是从所述col画面到目标画面的时间距离。

  第二时间距离可以是从所述col画面到针对所述候选块的参考画面的时间距离。

  所述目标画面可以是包括所述目标块的画面。

  第一缩放系数可以是用于根据目标画面与针对所述目标块的参考画面之间的时间方向来对所述候选块的运动矢量进行缩放的系数。

  所述目标画面可以是包括所述目标块的画面。

  可通过将第二缩放应用于所述候选块的运动矢量来生成所述运动矢量预测因子。

  可通过将第二缩放系数乘以所述候选块的运动矢量来生成所述运动矢量预测因子。

  第二缩放系数是通过将第三时间距离除以第二时间距离而获得的值。

  第三时间距离可以是从目标画面到针对所述目标块的参考画面的时间距离。

  第二时间距离可以是从所述col画面到针对所述候选块的参考画面的时间距离。

  所述目标画面可以是包括所述目标块的画面。

  所述候选块可包括多个候选块。

  所述多个候选块的多个运动矢量的平均值可被用于生成所述运动矢量预测因子。

  可基于所述多个候选块的帧间预测指示符或所述目标块的帧间预测指示符从所述多个候选块的多个运动矢量中选择一个或更多个运动矢量。

  所选的一个或更多个运动矢量可被用于生成所述运动矢量预测因子。

  可基于所述多个候选块的参考画面索引或所述目标块的参考画面索引从所述多个候选块的多个运动矢量中选择一个或更多个运动矢量。

  所选的一个或更多个运动矢量可被用于生成所述运动矢量预测因子。

  可基于所述目标块的编码参数中的至少一个从所述多个候选块的多个运动矢量中选择一个或更多个运动矢量。

  所选的一个或更多个运动矢量可被用于生成所述运动矢量预测因子。

  可基于与所述候选块相关的运动矢量的大小来确定所述候选块的运动矢量是否将被用于生成所述运动矢量预测因子。

  可基于所述目标块的尺寸来确定所述候选块的运动矢量是否将被用于生成所述运动矢量预测因子。

  根据另一方面,提供了一种编码方法,包括:基于针对目标块的同位画面(col画面)中的候选块的运动矢量来生成目标块的运动矢量预测因子;并且基于所述运动矢量预测因子执行针对所述目标块的帧间预测。

  根据另一方面,提供了一种用于生成运动矢量预测因子的方法,包括:确定候选块的运动信息是否将被用于生成目标块的运动矢量预测因子;并且基于所述候选块的运动信息生成所述目标块的运动矢量预测因子。

  有益效果

  提供了一种使用目标块的运动矢量预测因子来执行帧间预测的编码设备和方法以及解码设备和方法。

  提供了一种使用col画面中的候选块的运动矢量来生成目标块的运动矢量预测因子的编码设备和方法以及解码设备和方法。

  附图说明

  图1是示出被应用了本公开的编码设备的实施例的配置的框图;

  图2是示出被应用了本公开的解码设备的实施例的配置的框图;

  图3是示意性地示出当图像被编码和解码时图像的分区结构的示图;

  图4是示出编码单元(CU)能够包括的预测单元(PU)的形式的示图;

  图5是示出能够被包括在CU中的变换单元(TU)的形式的示图;

  图6示出根据示例的块的划分;

  图7是用于解释帧内预测过程的实施例的示图;

  图8是用于解释帧内预测过程中使用的参考样点的位置的示图;

  图9是用于解释帧间预测过程的实施例的示图;

  图10示出根据实施例的空间候选;

  图11示出根据实施例的将空间候选的运动信息添加到合并列表的顺序;

  图12示出根据示例的变换和量化处理;

  图13示出根据示例的对角线扫描;

  图14示出根据示例的水平扫描;

  图15示出根据示例的垂直扫描;

  图16是根据实施例的编码设备的配置图;

  图17是根据实施例的解码设备的配置图;

  图18示出根据示例的col画面中的col块;

  图19示出根据示例的TMVP获取处理;

  图20示出根据示例的TMVP获取处理和UTMVP获取处理;

  图21示出根据示例的UTMVP生成处理;

  图22示出根据示例的UTMVP生成处理;

  图23是由根据实施例的解码设备执行的帧间预测方法的流程图;

  图24是由根据实施例的编码设备执行的帧间预测方法的流程图;

  图25是根据实施例的用于生成目标块的运动矢量预测因子的方法的流程图;

  图26是根据实施例的用于确定候选块的运动信息是否将被用于生成运动矢量预测因子的方法的流程图;

  图27是根据实施例的用于基于候选块的运动信息生成目标块的运动矢量预测因子的方法的流程图;

  图28是根据实施例的用于生成目的块的运动矢量预测因子的方法的流程图;以及

  图29是根据实施例的用于使用指定条件来生成目标块的运动矢量预测因子的方法的流程图。

  具体实施方式

  本发明可被各种改变,并且可具有各种实施例,下面将参照附图详细地描述特定实施例。然而,应理解,这些实施例不意图将本发明限制为特定的公开形式,它们包括本发明的精神和范围内所包括的所有变化、等同形式或修改形式。

  将参照示出特定实施例的附图对以下示例性实施例进行详细描述。描述这些实施例,使得本公开所属技术领域的普通技术人员能够容易地实践这些实施例。应注意,各种实施例彼此不同,但不需要彼此互斥。例如,在此描述的特定形状、结构和特性可在不脱离与一个实施例相关的其它实施例的精神和范围的情况下被实现为所述其它实施例。此外,应理解,在不脱离实施例的精神和范围的情况下,能够改变在每个公开的实施例中的各个组件的位置或布置。因此,所附的详细描述并非旨在限制本公开的范围,并且示例性实施例的范围仅由所附的权利要求及其等同物(只要它们被适当地描述)限定。

  在附图中,相似的参考标号被用于在各个方面指定相同或相似的功能。附图中的组件的形状、尺寸等可被夸大以使得描述清楚。

  诸如“第一”和“第二”的术语可用于描述各种组件,但是组件不受所述术语限制。所述术语仅用于将一个组件与另一个组件区分开。例如,在不脱离本说明书的范围的情况下,第一组件可被称为第二组件。类似地,第二组件可被称为第一组件。术语“和/或”可包括多个相关描述项的组合或者多个相关描述项中的任意一个。

  将理解的是,当组件被称为“连接”或“结合”到另一组件时,所述两个组件可彼此直接连接或结合,或者在所述两个组件之间可存在中间组件。将理解的是,当组件被称为“直接连接或结合”时,在所述两个组件之间不存在中间组件。

  此外,在实施例中描述的组件被独立地示出以指示不同的特征功能,但是这并不意味着每个组件由单独的一个硬件或软件形成。也就是说,为了方便描述,多个组件被单独地布置和包括。例如,多个组件中的至少两个组件可被集成为单个组件。相反,一个组件可被划分为多个组件。只要不脱离本说明书的本质,多个组件被集成的实施例或一些组件被分离的实施例被包括在本说明书的范围中。

  此外,应注意,在示例性实施例中,描述组件“包括”特定组件的表述意指另外的组件可被包括在示例性实施例的实践或技术精神的范围内,但是不排除存在除了所述特定组件之外的组件。

  在本说明书中使用的术语仅用于描述特定实施例,并不意图限制本发明。单数表述包括复数表述,除非在上下文中具体指出相反的描述。在本说明书中,应理解,诸如“包括”或“具有”的术语仅意图指示存在特征、数字、步骤、操作、组件、部件或它们的组合,而不意图排除将存在或添加一个或更多个其它特征、数字、步骤、操作、组件、部件或它们的组合的可能。

  下面将参照附图来详细描述实施例,使得实施例所属技术领域的普通技术人员能够容易地实践实施例。在实施例的以下描述中,被视为使本说明书的要点模糊的公知功能或配置的详细描述将被省略。此外,相同的参考标号在整个附图中用于指定相同的组件,并且将省略对相同组件的重复描述。

  在下文中,“图像”可表示构成视频的单个画面,或者可表示视频本身。例如,“对图像的编码和/或解码”可表示“对视频的编码和/或解码”,并且也可表示“对构成视频的多个图像中的任意一个图像的编码和/或解码”。

  在下文中,术语“视频”和“运动画面”可被用于具有相同的含义,并且可彼此互换使用。

  在下文中,目标图像可以是作为将被编码的目标的编码目标图像和/或作为将被解码的目标的解码目标图像。此外,目标图像可以是被输入到编码设备的输入图像或者被输入到解码设备的输入图像。

  在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用于具有相同的含义,并且可彼此互换使用。

  在下文中,目标块可以是编码目标块(即,将被编码的目标)和/或解码目标块(即,将被解码的目标)。此外,目标块可以是当前块,即,当前将被编码和/或解码的目标。这里,术语“目标块”和“当前块”可被用于具有相同的含义,并且可彼此互换使用。

  在下文中,术语“块”和“单元”可被用于具有相同的含义,并且可彼此互换使用。可选地,“块”可表示特定单元。

  在下文中,术语“区域”和“片段”可彼此互换使用。

  在下文中,特定信号可以是指示特定块的信号。例如,原始信号可以是指示目标块的信号。预测信号可以是指示预测块的信号。残差信号可以是指示残差块的信号。

  在以下的实施例中,特定的信息、数据、标志、元素和属性可具有它们各自的值。与所述信息、数据、标志、元素和属性中的每一个对应的值“0”可指示逻辑假或第一预定义值。换句话说,值“0”、假、逻辑假和第一预定义值可彼此互换使用。与所述信息、数据、标志、元素和属性中的每一个对应的值“1”可指示逻辑真或第二预定义值。换句话说,值“1”、真、逻辑真和第二预定义值可彼此互换使用。

  当诸如i或j的变量被用于指示行、列或索引时,值i可以是整数0或大于0的整数,或者可以是整数1或大于1的整数。换句话说,在实施例中,行、列和索引中的每一个可从0开始计数,或者可以从1开始计数。

  下面,将描述将在实施例中使用的术语。

  编码器:编码器表示用于执行编码的装置。

  解码器:解码器表示用于执行解码的装置。

  单元:“单元”可表示图像编码和解码的单元。术语“单元”和“块”可被用于具有相同的含义,并且可彼此互换使用。

  –“单元”可以是M×N样点阵列。M和N可分别是正整数。术语“单元”通常可表示二维(2D)样点阵列。

  –在图像的编码和解码过程中,“单元”可以是通过对一个图像进行分区而生成的区域。换句话说,“单元”可以是在一个图像中指定的区域。单个图像可被分区为多个单元。可选地,一个图像可被分区为子部分,并且单元可表示在对分区出的子部分执行编码或解码时每个分区出的子部分。

  –在图像的编码和解码过程中,可根据单元的类型对每个单元执行预定义的处理。

  –根据功能,单元类型可被分类为宏单元、编码单元(CU)、预测单元(PU)、残差单元、变换单元(TU)等。可选地,根据功能,单元可表示块、宏块、编码树单元、编码树块、编码单元、编码块、预测单元、预测块、残差单元、残差块、变换单元、变换块等。

  –术语“单元”可表示包括亮度(luma)分量块、与亮度分量块对应的色度(chroma)分量块、以及用于各个块的语法元素的信息,使得单元被指定为与块区分开。

  –单元的尺寸和形状可被不同地实现。此外,单元可具有各种尺寸和形状中的任意一种。具体地,单元的形状不仅可包括正方形,还可以包括可以以二维(2D)表示的几何形状(诸如,矩形、梯形、三角形和五边形)。

  此外,单元信息可包括单元的类型、单元的尺寸、单元的深度、单元的编码顺序和单元的解码顺序等中的一个或更多个。例如,单元的类型可指示CU、PU、残差单元和TU中的一个。

  –一个单元可被分区为子单元,每个子单元具有比相关单元的尺寸更小的尺寸。

  –深度:深度可表示单元被分区的程度。此外,单元深度可指示当以树结构表示单元时对应单元存在的等级。

  –单元分区信息可包括指示单元的深度的深度。深度可指示单元被分区的次数和/或单元被分区的程度。

  –在树结构中,可认为根节点的深度最小并且叶节点的深度最大。

  –单个单元可被分层分区为多个子单元,同时所述单个单元具有基于树结构的深度信息。换句话说,单元和通过对该单元进行分区而生成的子单元可分别对应于节点和该节点的子节点。每个被分区出的子单元可具有单元深度。由于深度指示单元被分区的次数和/或单元被分区的程度,因此子单元的分区信息可包括关于所述子单元的尺寸的信息。

  –在树结构中,顶部节点可对应于进行分区之前的初始节点。顶部节点可被称为“根节点”。此外,根节点可具有最小深度值。这里,顶部节点的深度可为等级“0”。

  –深度为等级“1”的节点可表示在初始单元被分区一次时所生成的单元。深度为等级“2”的节点可表示在初始单元被分区两次时所生成的单元。

  –深度为等级“n”的叶节点可表示在初始单元被分区n次时所生成的单元。

  –叶节点可以是不能被进一步分区的底部节点。叶节点的深度可以是最大等级。例如,针对最大等级的预定义值可以是3。

  –QT深度可表示针对四分区的深度。BT深度可表示针对二分区的深度。TT深度可表示针对三分区的深度。

  –样点:样点可以是构成块的基本单元。可用从根据比特深度(Bd)的0到2Bd-1的值来表示样点。

  –样点可以是像素或像素值。

  –在下文中,术语“像素”和“样点”可被用于具有相同含义,并且可彼此互换使用。

  编码树单元(CTU):CTU可由单个亮度分量(Y)编码树块和与亮度分量编码树块相关的两个色度分量(Cb,Cr)编码树块构成。此外,CTU可表示包括上述块以及用于每个块的语法元素的信息。

  –可使用一个或更多个分区方法(诸如四叉树(QT)、二叉树(BT)和三叉树(TT))对每个编码树单元(CTU)进行分区,以便配置子单元,诸如编码单元、预测单元和变换单元。此外,可使用一个或更多个分区方法,利用多类型树(MTT)对每个编码树单元进行分区。

  –“CTU”可被用作指定在图像解码和编码处理中(如在对输入图像进行分区的情况下)作为处理单元的像素块的术语。

  编码树块(CTB):“CTB”可被用作指定Y编码树块、Cb编码树块和Cr编码树块中的任意一个的术语。

  邻近块:邻近块(或邻近的块)可表示与目标块相邻的块。邻近块可表示重建邻近块。

  在下文中,术语“邻近块”和“相邻块”可被用于具有相同的含义,并且可彼此互换地使用。

  空间邻近块:空间邻近块可以是在空间上与目标块相邻的块。邻近块可包括空间邻近块。

  –目标块和空间邻近块可被包括在目标画面中。

  –空间邻近块可表示边界与目标块接触的块或者位于距目标块预定距离内的块。

  –空间邻近块可表示与目标块的顶点相邻的块。这里,与目标块的顶点相邻的块可表示与水平相邻于目标块的邻近块垂直相邻的块或者与垂直相邻于目标块的邻近块水平相邻的块。

  时间邻近块:时间邻近块可以是在时间上与目标块相邻的块。邻近块可包括时间邻近块。

  –时间邻近块可包括同位块(col块)。

  –col块可以是先前重建的同位画面(col画面)中的块。col块在col画面中的位置可与目标块在目标画面中的位置对应。可选地,col块在col画面中的位置可等于目标块在目标画面中的位置。col画面可以是参考画面列表中包括的画面。

  –时间邻近块可以是在时间上与目标块的空间邻近块相邻的块。

  预测单元:预测单元可以是用于预测(诸如帧间预测、帧内预测、帧间补偿、帧内补偿和运动补偿)的基本单元。

  –单个预测单元可被划分为具有更小尺寸的多个分区或者子预测单元。所述多个分区也可以是在执行预测或补偿时的基本单元。通过对预测单元进行划分所生成的分区也可以是预测单元。

  预测单元分区:预测单元分区可以是预测单元被划分为的形状。

  重建的邻近单元:重建的邻近单元可以是在目标单元周围已经被解码和重建的单元。

  –重建的邻近单元可以是在空间上与目标单元相邻或者在时间上与目标单元相邻的单元。

  –重建的空间邻近单元可以是目标画面中所包括的已经通过编码和/或解码被重建的单元。

  –重建的时间邻近单元可以是参考图像中所包括的已经通过编码和/或解码被重建的单元。重建的时间邻近单元在参考图像中的位置可以与目标单元在目标画面中的位置相同,或者可以与目标单元在目标画面中的位置对应。

  参数集:参数集可以是比特流的结构中的头信息。例如,参数集可包括视频参数集(VPS)、序列参数集(SPS)、画面参数集(PPS)、自适应参数集(APS)等。

  此外,参数集可包括条带头信息和并行块头信息。

  率失真优化:编码设备可使用率失真优化以便通过利用以下项的组合来提供高编码效率:编码单元(CU)的尺寸、预测模式、预测单元(PU)的尺寸、运动信息和变换单元(TU)的尺寸。

  –率失真优化方案可计算各个组合的率失真代价以从这些组合中选择最优组合。可使用以下方程式1来计算率失真代价。通常,可将使率失真代价最小化的组合选为在率失真优化方案下的最优组合。

  [方程式1]

  D+λ*R

  –D可表示失真。D可以是变换单元中的原始变换系数与重建的变换系数之间的差值的平方的平均值(即,均方误差)。

  –R可表示所述率,其可使用相关上下文信息来表示比特率。

  –λ表示拉格朗日乘数。R不仅可包括编码参数信息(诸如预测模式、运动信息和编码块标志),还可包括由于对变换系数进行编码而生成的比特。

  –编码设备可执行诸如帧间预测和/或帧内预测、变换、量化、熵编码、逆量化(反量化)和逆变换的过程,以便计算精确的D和R。这些过程会大大增加编码设备的复杂度。

  –比特流:比特流可表示包括编码图像信息的比特的流。

  –参数集:参数集可以是比特流的结构中的头信息。

  参数集可包括视频参数集、序列参数集、画面参数集和自适应参数集中的至少一个。此外,参数集可包括关于条带头的信息和关于并行块头的信息。

  解析:解析可以是通过对比特流执行熵解码而做出的对语法元素的值的判定。可选地,术语“解析”可表示这种熵解码本身。

  符号:符号可以是编码目标单元和/或解码目标单元的语法元素、编码参数和变换系数中的至少一个。此外,符号可以是熵编码的目标或熵解码的结果。

  参考画面:参考画面可以是被单元参考以便执行帧间预测或运动补偿的图像。可选地,参考画面可以是包括被目标单元参考以便执行帧间预测或运动补偿的参考单元的图像。

  在下文中,术语“参考画面”和“参考图像”可被用于具有相同的含义,并且可彼此互换使用。

  参考画面列表:参考画面列表可以是包括被用于帧间预测或运动补偿的一个或更多个参考图像的列表。

  –参考画面列表的类型可包括合并的列表(LC)、列表0(L0)、列表1(L1)、列表2(L3)、列表3(L3)等。

  –对于帧间预测,可使用一个或更多个参考画面列表。

  帧间预测指示符:帧间预测指示符可指示针对目标单元的帧间预测方向。帧间预测可以是单向预测和双向预测之一。可选地,帧间预测指示符可表示用于生成目标单元的预测单元的参考图像的数量。可选地,帧间预测指示符可表示用于目标单元的帧间预测或运动补偿的预测块的数量。

  参考画面索引:参考画面索引可以是指示参考画面列表中的特定参考图像的索引。

  运动矢量(MV):运动矢量可以是用于帧间预测或运动补偿的2D矢量。运动矢量可表示目标图像与参考图像之间的偏移。

  –例如,可以以诸如(mvx,mvy)的形式来表示MV。mvx可指示水平分量,mvy可指示垂直分量。

  –搜索范围:搜索范围可以是在帧间预测期间执行针对MV的搜索的2D区域。例如,搜索范围的尺寸可以是M×N。M和N可分别是正整数。

  运动矢量候选:运动矢量候选可以是在运动矢量被预测时作为预测候选的块或者作为预测候选的块的运动矢量。

  –运动矢量候选可被包括在运动矢量候选列表中。

  运动矢量候选列表:运动矢量候选列表可以是使用一个或更多个运动矢量候选配置的列表。

  运动矢量候选索引:运动矢量候选索引可以是用于指示运动矢量候选列表中的运动矢量候选的指示符。可选地,运动矢量候选索引可以是运动矢量预测因子的索引。

  运动信息:运动信息可以是包括参考画面列表、参考图像、运动矢量候选、运动矢量候选索引、合并候选和合并索引中的至少一个以及运动矢量、参考画面索引和帧间预测指示符的信息。

  合并候选列表:合并候选列表可以是使用合并候选配置的列表。

  合并候选:合并候选可以是空间合并候选、时间合并候选、组合合并候选、组合双预测合并候选、零合并候选等。合并候选可包括运动信息,诸如预测类型信息、用于每个列表的参考画面索引以及运动矢量。

  合并索引:合并索引可以是用于指示合并候选列表中的合并候选的指示符。

  –合并索引可指示在空间上与目标单元相邻的重建单元和在时间上与目标单元相邻的重建单元之中的用于推导合并候选的重建单元。

  –合并索引可指示合并候选的多条运动信息中的至少一条。

  变换单元:变换单元可以是残差信号编码和/或残差信号解码(诸如变换、逆变换、量化、反量化、变换系数编码和变换系数解码)的基本单元。单个变换单元可被分区为具有更小尺寸的多个变换单元。

  缩放:缩放可表示将因子乘以变换系数等级的过程。

  –作为对变换系数等级进行缩放的结果,可生成变换系数。缩放也可被称为“反量化”。

  量化参数(QP):量化参数可以是用于在量化中生成用于变换系数的变换系数等级的值。可选地,量化参数也可以是用于在反量化中通过对变换系数等级进行缩放来生成变换系数的值。可选地,量化参数可以是被映射到量化步长的值。

  变量增量(Delta)量化参数:变量增量量化参数是目标单元的量化参数与预测出的量化参数之间的差值。

  扫描:扫描可表示对单元、块或矩阵中的系数顺序进行排列的方法。例如,用于按照一维(1D)阵列的形式对2D阵列进行排列的方法可被称为“扫描”。可选地,用于按照2D阵列的形式对1D阵列进行排列的方法也可被称为“扫描”或“逆扫描”。

  变换系数:变换系数可以是在编码设备执行变换时生成的系数值。可选地,变换系数可以是在解码设备执行熵解码和反量化中的至少一个时生成的系数值。

  –通过将量化应用于变换系数或残差信号而生成的量化的等级或量化的变换系数等级也可被包括在术语“变换系数”的含义中。

  量化的等级:量化的等级可以是在编码设备对变换系数或残差信号执行量化时生成的值。可选地,量化的等级可以是在解码设备执行反量化时作为反量化的目标的值。

  –作为变换和量化的结果的量化的变换系数等级也可被包括在量化的等级的含义中。

  非零变换系数:非零变换系数可以是具有除了0之外的值的变换系数,或者可以是具有除了0之外的值的变换系数等级。可选地,非零变换系数可以是值的幅度不为0的变换系数,或者可以是值的幅度不为0的变换系数等级。

  量化矩阵:量化矩阵可以是在量化过程或反量化过程中使用以便提高图像的主观图像质量或客观图像质量的矩阵。量化矩阵也可被称为“缩放列表”。

  量化矩阵系数:量化矩阵系数可以是量化矩阵中的每个元素。量化矩阵系数也可被称为“矩阵系数”。

  默认矩阵:默认矩阵可以是被编码设备和解码设备预先定义的量化矩阵。

  非默认矩阵:非默认矩阵可以是未被编码设备和解码设备预先定义的量化矩阵。非默认矩阵可以由编码设备用信号传送给解码设备。

  最可能模式(MPM):MPM可表示高概率被用于针对目标块的帧内预测的帧内预测模式。

  编码设备和解码设备可基于与目标块相关的编码参数以及与目标块相关的实体的属性来确定一个或更多个MPM。

  编码设备和解码设备可基于参考块的帧内预测模式来确定一个或更多个MPM。参考块可包括多个参考块。多个参考块可包括与目标块的左侧相邻的空间邻近块和与目标块的上方相邻的空间邻近块。换句话说,根据哪些帧内预测模式已经被用于参考块,可确定一个或更多个不同的MPM。

  可在编码设备和解码设备两者中以相同的方式确定一个或更多个MPM。也就是说,编码设备和解码设备可共享包括一个或更多个MPM的相同的MPM列表。

  MPM列表:MPM列表可以是包括一个或更多个MPM的列表。可预先定义MPM列表中的一个或更多个MPM的数量。

  MPM指示符:MPM指示符可指示MPM列表中的一个或更多个MPM之中的将被用于针对目标块的帧内预测的MPM。例如,MPM指示符可以是用于MPM列表的索引。

  由于在编码设备和解码设备两者中以相同的方式确定MPM列表,因此可不需要将MPM列表本身从编码设备发送到解码设备。

  MPM指示符可从编码设备被用信号发送到解码设备。由于MPM指示符被用信号发送,解码设备可确定MPM列表中的MPM之中的将被用于针对目标块的帧内预测的MPM。

  MPM使用指示符:MPM使用指示符可指示MPM使用模式是否将被用于针对目标块的预测。MPM使用模式可以是使用MPM列表来确定将被用于针对目标块的帧内预测的MPM的模式。

  MPM使用指示符可从编码设备被用信号发送到解码设备。

  信令:“信令”可表示信息从编码设备被发送到解码设备。可选地,“信令”可表示信息被包括在比特流或记录介质中。由编码设备用信号发送的信息可被解码设备使用。

  图1是示出被应用了本公开的编码设备的实施例的配置的框图。

  编码设备100可以是编码器、视频编码设备或图像编码设备。视频可包括一个或更多个图像(画面)。编码设备100可顺序地对视频的一个或更多个图像进行编码。

  参照图1,编码设备100包括帧间预测单元110、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化(逆量化)单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190。

  编码设备100可使用帧内模式和/或帧间模式对目标图像执行编码。

  此外,编码设备100可通过对目标图像进行编码来生成包括关于编码的信息的比特流,并且可输出生成的比特流。生成的比特流可被存储在计算机可读存储介质中,并且可通过有线/无线传输介质被流传输。

  当帧内模式被用作预测模式时,切换器115可切换到帧内模式。当帧间模式被用作预测模式时,切换器115可切换到帧间模式。

  编码设备100可生成目标块的预测块。此外,在已生成了预测块之后,编码设备100可对目标块与预测块之间的残差进行编码。

  当预测模式是帧内模式时,帧内预测单元120可将在目标块周围的先前被编码/解码的邻近块的像素用作参考样点。帧内预测单元120可使用所述参考样点对目标块执行空间预测,并且可经由空间预测针对目标块生成预测样点。

  帧间预测单元110可包括运动预测单元和运动补偿单元。

  当预测模式是帧间模式时,运动预测单元可在运动预测过程中在参考图像中搜索与目标块最匹配的区域,并且可基于找到的区域针对目标块和找到的区域推导运动矢量。

  参考图像可被存储在参考画面缓冲器190中。更具体地讲,当参考图像的编码和/或解码已被处理时,参考图像可被存储在参考画面缓冲器190中。

  运动补偿单元可通过使用运动矢量执行运动补偿来生成针对目标块的预测块。这里,运动矢量可以是用于帧间预测的二维(2D)矢量。此外,运动矢量可指示目标图像与参考图像之间的偏移。

  当运动矢量具有除了整数之外的值时,运动预测单元和运动补偿单元可通过将插值滤波器应用于参考图像的部分区域来生成预测块。为了执行帧间预测或运动补偿,可确定跳过模式、合并模式、高级运动矢量预测(AMVP)模式和当前画面参考模式中的哪一种模式对应于用于基于CU对CU中包括的PU的运动进行预测并对该运动进行补偿的方法,并且可根据该模式执行帧间预测或运动补偿。

  减法器125可生成残差块,其中,残差块是目标块与预测块之间的差。残差块也可被称为“残差信号”。

  残差信号可以是原始信号与预测信号之间的差。可选地,残差信号可以是通过对原始信号与预测信号之间的差进行变换或量化而生成的信号或者通过对该差进行变换和量化而生成的信号。残差块可以是针对块单元的残差信号。

  变换单元130可通过对残差块进行变换来生成变换系数,并且可输出生成的变换系数。这里,变换系数可以是通过对残差块进行变换而生成的系数值。

  变换单元130可在执行变换时使用多个预定义的变换方法中的一个。

  所述多个预定义的变换方法可包括离散余弦变换(DCT)、离散正弦变换(DST)、Karhunen-Loeve变换(KLT)等。

  可根据针对目标块和/或邻近块的编码参数中的至少一个来确定用于对残差块进行变换的变换方法。例如,可基于针对PU的帧间预测模式、针对PU的帧内预测模式、TU的尺寸以及TU的形状中的至少一个来确定变换方法。可选地,指示变换方法的变换信息可从编码设备100被用信号发送到解码设备200。

  当使用变换跳过模式时,变换单元130可省略对残差块进行变换的操作。

  通过对变换系数实施量化,可生成量化的变换系数等级或者量化的等级。在下文中,在实施例中,量化的变换系数等级和量化的等级中的每一个也可被称为“变换系数”。

  量化单元140可通过根据量化参数对变换系数进行量化来生成量化的变换系数等级(即,量化的等级或量化的系数)。量化单元140可输出生成的量化的变换系数等级。在这种情况下,量化单元140可使用量化矩阵对变换系数进行量化。

  熵编码单元150可通过基于由量化单元140计算出的值和/或在编码过程中计算出的编码参数值执行基于概率分布的熵编码来生成比特流。熵编码单元150可输出生成的比特流。

  熵编码单元150可对关于图像的像素的信息以及对图像进行解码所需的信息执行熵编码。例如,对图像进行解码所需的信息可包括语法元素等。

  当应用熵编码时,可将更少的比特分配给更频繁出现的符号,并且可将更多的比特分配给很少出现的符号。由于通过该分配来表示符号,因此可减少用于将被编码的目标符号的比特串的大小。因此,通过熵编码可提高视频编码的压缩性能。

  此外,为了进行熵编码,熵编码单元150可使用诸如指数哥伦布、上下文自适应可变长度编码(CAVLC)或上下文自适应二进制算术编码(CABAC)的编码方法。例如,熵编码单元150可使用可变长度编码/码(VLC)表来执行熵编码。例如,熵编码单元150可推导用于目标符号的二值化方法。此外,熵编码单元150可推导用于目标符号/二进制位的概率模型。熵编码单元150可使用推导出的二值化方法、概率模型和上下文模型来执行算术编码。

  熵编码单元150可通过变换系数扫描方法将2D块形式的系数变换为1D矢量形式,以便对量化的变换系数等级进行编码。

  编码参数可以是编码和/或解码所需的信息。编码参数可包括由编码设备100编码且从编码设备100发送到解码设备的信息,并且还可包括可在编码或解码过程中推导的信息。例如,发送到解码设备的信息可包括语法元素。

  编码参数不仅可包括由编码设备编码并由编码设备用信号传送到解码设备的诸如语法元素的信息(或标志或索引),还可包括在编码或解码处理中推导出的信息。此外,编码参数可包括对图像进行编码或解码所需的信息。例如,编码参数可包括以下项中的至少一个值、以下项的组合或统计:单元/块的尺寸、单元/块的深度、单元/块的分区信息、单元/块的分区结构、指示单元/块是否以四叉树结构被分区的信息、指示单元/块是否以二叉树结构被分区的信息、二叉树结构的分区方向(水平方向或垂直方向)、二叉树结构的分区形式(对称分区或非对称分区)、指示单元/块是否以三叉树结构被分区的信息、三叉树结构的分区方向(水平方向或垂直方向)、三叉树结构的分区形式(对称分区或非对称分区等)、指示单元/块是否以复合树结构被分区的信息、复合树结构的分区的组合和方向(水平方向或垂直方向等)、预测方案(帧内预测或帧间预测)、帧内预测模式/方向、参考样点滤波方法、预测块滤波方法、预测块边界滤波方法、用于滤波的滤波器抽头、用于滤波的滤波器系数、帧间预测模式、运动信息、运动矢量、参考画面索引、帧间预测方向、帧间预测指示符、参考画面列表、参考图像、运动矢量预测因子、运动矢量预测候选、运动矢量候选列表、指示合并模式是否被使用的信息、合并候选、合并候选列表、指示跳过模式是否被使用的信息、插值滤波器的类型、插值滤波器的抽头、插值滤波器的滤波器系数、运动矢量的大小、运动矢量表示的精确度、变换类型、变换大小、指示首次变换是否被使用的信息、指示附加(二次)变换是否被使用的信息、首次变换选择信息(或首次变换索引)、二次变换选择信息(或二次变换索引)、指示残差信号存在或不存在的信息、编码块样式、编码块标志、量化参数、量化矩阵、关于环内滤波器的信息、指示环内滤波器是否被应用的信息、环内滤波器的系数、环内滤波器的抽头、环内滤波器的形状/形式、指示去块滤波器是否被应用的信息、去块滤波器的系数、去块滤波器的抽头、去块滤波器强度、去块滤波器的形状/形式、指示自适应样点偏移是否被应用的信息、自适应样点偏移的值、自适应样点偏移的类别、自适应样点偏移的类型、指示自适应环路滤波器是否被应用的信息、自适应环路滤波器的系数、自适应环路滤波器的抽头、自适应环路滤波器的形状/形式、二值化/反二值化方法、上下文模型、上下文模型决定方法、上下文模型更新方法、指示常规模式是否被执行的信息、指示旁路(bypass)模式是否被执行的信息、上下文二进制位、旁路二进制位、变换系数、变换系数等级、变换系数等级扫描方法、图像显示/输出顺序、条带识别信息、条带类型、条带分区信息、并行块识别信息、并行块类型、并行块分区信息、画面类型、比特深度、关于亮度信号的信息和关于色度信号的信息。预测方案可表示帧内预测模式和帧间预测模式中的一个预测模式。

  首次变换选择信息可指示应用于目标块的首次变换。

  二次变换选择信息可指示应用于目标块的二次变换。

  残差信号可表示原始信号与预测信号之间的差。可选地,残差信号可以是对原始信号与预测信号之间的差进行变换而生成的信号。可选地,残差信号可以是对原始信号与预测信号之间的差进行变换和量化而生成的信号。残差块可以是针对块的残差信号。

  这里,用信号传送标志或索引可表示编码设备100将通过对标志或索引执行熵编码而生成的熵编码的标志或熵编码的索引包括在比特流中,并且可表示解码设备200通过对从比特流提取的熵编码的标志或熵编码的索引执行熵解码来获取标志或索引。

  由于编码设备100经由帧间预测执行编码,因此编码的目标图像可被用作用于将被后续处理的另外的图像的参考图像。因此,编码设备100可对编码的目标图像进行重建或解码,并将重建或解码的图像作为参考图像存储在参考画面缓冲器190中。对于解码,可进行对编码的目标图像的反量化和逆变换。

  量化的等级可由反量化单元160进行反量化,并且可由逆变换单元170进行逆变换。反量化单元160可通过针对量化的等级执行逆变换来生成反量化的系数。逆变换单元170可通过针对反量化的系数执行逆变换来生成重建的残差块。换句话说,重建的残差块是已被反量化和逆变换的系数。可由加法器175将已被反量化和逆变换的系数与预测块相加。将反量化和/或逆变换的系数和预测块相加,然后可生成重建块。这里,反量化和/或逆变换的系数可表示被执行了反量化和逆变换中的一个或更多个的系数,并且也可表示重建的残差块。

  重建块可通过滤波器单元180进行滤波。滤波器单元180可将去块滤波器、样点自适应偏移(SAO)滤波器、自适应环路滤波器(ALF)和非局部滤波器(NLF)中的一个或更多个滤波器应用于重建块或重建画面。滤波器单元180也可被称为“环路滤波器”。

  去块滤波器可消除在块之间的边界处出现的块失真。为了确定是否应用去块滤波器,可决定被包括在块中并且包括确定是否对目标块应用去块滤波器所基于的像素的列或行的数量。

  当去块滤波器被应用于目标块时,所应用的滤波器可根据所需要的去块滤波的强度而不同。换句话说,在不同的滤波器中,可将考虑去块滤波的强度而决定的滤波器应用于目标块。当去块滤波器被应用于目标块时,可根据所需的去块滤波的强度将与强滤波器和弱滤波器中的任意一个对应的滤波器应用于目标块。

  此外,当对目标块执行垂直滤波和水平滤波时,可并行地进行水平滤波和垂直滤波。

  SAO可将适当的偏移与像素值相加以便对编码误差进行补偿。SAO可基于像素对被应用去块的图像执行校正,其中,该校正使用原始图像与被应用去块的图像之间的差的偏移。为了执行针对图像的偏移校正,可使用用于将图像中包括的像素划分为特定数量的区域、在划分出的区域之中确定将被应用偏移的区域并将偏移应用于所确定的区域的方法,并且也可使用用于考虑每个像素的边缘信息来应用偏移的方法。

  ALF可基于通过将重建图像与原始图像进行比较而获得的值来执行滤波。在图像中包括的像素已被划分为预定数量的群组之后,可确定将被应用于每个群组的滤波器,并且可针对各个群组不同地执行滤波。对于亮度信号,可针对每个CU用信号发送与是否应用自适应环路滤波器相关的信息。将被应用于各个块的ALF的形状和滤波器系数可针对各个块而不同。可选地,不管块的特征如何,具有固定形式的ALF可被应用于所述块。

  非局部滤波器可基于与目标块相似的重建块执行滤波。可从重建画面选择与目标块相似的区域,并且可使用所选择的相似区域的统计属性来执行目标块的滤波。可针对编码单元(CU)用信号发送关于是否应用非局部滤波器的信息。此外,将应用于块的非局部滤波器的形状和滤波器系数可根据该块而不同。

  通过滤波器单元180滤波的重建块或重建图像可被存储在参考画面缓冲器190中。通过滤波器单元180滤波的重建块可以是参考画面的一部分。换句话说,参考画面可以是由通过滤波器单元180滤波的重建块构成的重建画面。存储的参考画面随后可被用于帧间预测。

  图2是示出被应用了本公开的解码设备的实施例的配置的框图。

  解码设备200可以是解码器、视频解码设备或图像解码设备。

  参照图2,解码设备200可包括熵解码单元210、反量化(逆量化)单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、切换器245、加法器255、滤波器单元260和参考画面缓冲器270。

  解码设备200可接收从编码设备100输出的比特流。解码设备200可接收存储在计算机可读存储介质中的比特流,并且可接收通过有线/无线传输介质流传输的比特流。

  解码设备200可在帧内模式和/或帧间模式下对比特流执行解码。此外,解码设备200可经由解码来生成重建图像或解码图像,并且可输出重建图像或解码图像。

  例如,可通过切换器245来执行基于用于进行解码的预测模式而切换到帧内模式或帧间模式的操作。当用于解码的预测模式是帧内模式时,切换器245可被操作以切换到帧内模式。当用于解码的预测模式是帧间模式时,切换器245可被操作以切换到帧间模式。

  解码设备200可通过对输入的比特流进行解码来获取重建的残差块,并且可生成预测块。当重建的残差块和预测块被获取时,解码设备200可通过将重建的残差块与预测块相加来生成作为被解码的目标的重建块。

  熵解码单元210可通过基于比特流的概率分布对比特流执行熵解码来生成符号。生成的符号可包括以量化的变换系数等级的形式的符号(即,量化的等级或量化的系数)。这里,熵解码方法可与以上描述的熵编码方法相似。也就是说,熵解码方法可以是以上描述的熵编码方法的逆过程。

  熵解码单元210可通过变换系数扫描方法将具有一维(1D)矢量形式的系数改变为2D块形状,以便对量化的变换系数等级进行解码。

  例如,可通过使用右上对角线扫描对块系数进行扫描来将块的系数改变为2D块形状。可选地,可根据对应块的尺寸和/或帧内预测模式来确定右上对角线扫描、垂直扫描和水平扫描中的哪一个将被使用。

  量化的系数可由反量化单元220进行反量化。反量化单元220可通过对量化的系数执行反量化来生成反量化的系数。此外,反量化的系数可由逆变换单元230进行逆变换。逆变换单元230可通过对反量化的系数执行逆变换来生成重建的残差块。作为对量化的系数执行反量化和逆变换的结果,可生成重建的残差块。这里,当生成重建的残差块时,反量化单元220可将量化矩阵应用于量化的系数。

  当使用帧内模式时,帧内预测单元240可通过执行空间预测来生成预测块,其中,所述空间预测使用在目标块周围的先前被解码的邻近块的像素值。

  帧间预测单元250可包括运动补偿单元。可选地,帧间预测单元250可被指定为“运动补偿单元”。

  当使用帧间模式时,运动补偿单元250可通过执行运动补偿来生成预测块,其中,所述运动补偿使用运动矢量和被存储在参考画面缓冲器270中的参考图像。

  运动补偿单元可在运动矢量具有除了整数之外的值时将插值滤波器应用于参考图像的部分区域,并且可使用被应用了插值滤波器的参考图像来生成预测块。为了执行运动补偿,运动补偿单元可基于CU确定跳过模式、合并模式、高级运动矢量预测(AMVP)模式和当前画面参考模式中的哪一种模式对应于用于CU中包括的PU的运动补偿方法,并且可根据所确定的模式来执行运动补偿。

  重建的残差块和预测块可由加法器255彼此相加。加法器255可通过将重建的残差块和预测块相加来生成重建块。

  重建块可通过滤波器单元260进行滤波。滤波器单元260可将去块滤波器、SAO滤波器、ALF和NLF中的至少一个应用于重建块或重建图像。重建图像可以是包括重建块的画面。

  经过滤波的重建图像可被编码设备100输出,并且可被编码设备使用。

  通过滤波器单元260滤波的重建图像可作为参考画面被存储在参考画面缓冲器270中。通过滤波器单元260滤波的重建块可以是参考画面的一部分。换句话说,参考画面可以是由通过滤波器单元260滤波的重建块构成的图像。存储的参考画面随后可被用于帧间预测。

  图3是示意性地示出当图像被编码和解码时图像的分区结构的示图。

  图3可示意性地示出单个单元被分区为多个子单元的示例。

  为了有效地对图像进行分区,可在编码和解码中使用编码单元(CU)。术语“单元”可被用于共同地指定1)包括图像样点的块和2)语法元素。例如,“单元的分区”可表示“与单元对应的块的分区”。

  CU可被用作用于图像编码/解码的基本单元。CU可被用作在图像编码/解码中从帧内模式和帧间模式选择的一个模式被应用到的单元。换句话说,在图像编码/解码中,可确定帧内模式和帧间模式中的哪一个模式将被应用于每个CU。

  此外,CU可以是对变换系数进行预测、变换、量化、逆变换、反量化和编码/解码的基本单元。

  参照图3,图像300可被顺序地分区为与最大编码单元(LCU)对应的单元,并且分区结构可针对每个LCU被确定。这里,LCU可被用于具有与编码树单元(CTU)相同的含义。

  对单元进行分区可表示对与单元对应的块进行分区。块分区信息可包括关于单元的深度的深度信息。深度信息可指示单元被分区的次数和/或单元被分区的程度。单个单元可被分层分区为子单元,同时所述单个单元具有基于树结构的深度信息。每个被分区出的子单元可具有深度信息。深度信息可以是指示CU的尺寸的信息。可针对每个CU存储深度信息。

  每个CU可具有深度信息。当CU被分区时,从分区生成的CU的深度可从被分区的CU的深度增加1。

  分区结构可表示LCU 310中的用于对图像进行有效编码的编码单元(CU)的分布。可根据单个CU是否将被分区为多个CU来确定这种分布。通过进行分区而生成的CU的数量可以是正整数2或更大,包括2、3、4、8、16等。根据通过进行分区而生成的CU的数量,通过进行分区而生成的每个CU的水平尺寸和垂直尺寸可小于被分区之前的CU的水平尺寸和垂直尺寸。

  每个分区出的CU可按照相同的方式被递归地分区为四个CU。与被分区之前的CU的水平尺寸和垂直尺寸中的至少一个相比,经由递归分区,每个被分区出的CU的水平尺寸和垂直尺寸中的至少一个可被减小。

  CU的分区可被递归地执行直到预定义的深度或预定义的尺寸为止。例如,CU的深度可具有范围从0到3的值。CU的尺寸范围依据CU的深度而可以是从64×64的尺寸到8×8的尺寸。

  例如,LCU的深度可以是0,最小编码单元(SCU)的深度可以是预定义的最大深度。这里,如上所述,LCU可以是具有最大编码单元尺寸的CU,并且SCU可以是具有最小编码单元尺寸的CU。

  可在LCU 310处开始进行分区,并且每当CU的水平尺寸和/或垂直尺寸通过进行分区而减小时,CU的深度可增加1。

  例如,对于各个深度,未被分区的CU可具有2N×2N的尺寸。此外,在CU被分区的情况下,尺寸为2N×2N的CU可被分区为尺寸均为N×N的四个CU。每当深度增加1时,N的值可减半。

  参照图3,深度为0的LCU可具有64×64个像素或64×64的块。0可以是最小深度。深度为3的SCU可具有8×8个像素或8×8的块。3可以是最大深度。这里,作为LCU的具有64×64的块的CU可用深度0来表示。具有32×32的块的CU可用深度1来表示。具有16×16的块的CU可用深度2来表示。作为SCU的具有8×8的块的CU可用深度3来表示。

  关于对应CU是否被分区的信息可以用CU的分区信息来表示。分区信息可以是1比特信息。除了SCU之外的所有CU可包括分区信息。例如,未被分区的CU的分区信息的值可以是0。被分区的CU的分区信息的值可以是1。

  例如,当单个CU被分区为四个CU时,通过进行分区而生成的四个CU中的每个CU的水平尺寸和垂直尺寸可以是在被分区之前的CU的水平尺寸和垂直尺寸的一半。当尺寸为32×32的CU被分区为四个CU时,被分区出的四个CU中的每个CU的尺寸可以是16×16。当单个CU被分区为四个CU时,可认为CU已经以四叉树结构被分区。

  例如,当单个CU被分区成两个CU时,通过进行分区而生成的两个CU中的每个CU的水平尺寸或垂直尺寸可以是在被分区之前的CU的水平尺寸或垂直尺寸的一半。当尺寸为32×32的CU被垂直分区为两个CU时,被分区出的两个CU中的每个CU的尺寸可以是16×32。当尺寸为32×32的CU被水平分区为两个CU时,被分区出的两个CU中的每个CU的尺寸可以是32×16。当单个CU被分区为两个CU时,可认为CU已经以二叉树结构被分区。

  四叉树分区和二叉树分区两者被应用于图3的LCU310。

  在编码设备100中,可通过递归四叉树结构将尺寸为64×64的编码树单元(CTU)分区为多个更小的CU。单个CU可被分区为具有相同尺寸的四个CU。每个CU可被递归地分区并且可具有四叉树结构。

  通过CU的递归分区,可选择引起最小率失真代价的最优分区方法。

  图4是示出编码单元(CU)能够包括的预测单元(PU)的形式的示图。

  在从LCU分区出的CU中,可将不再被分区的CU划分为一个或更多个预测单元(PU)。这种划分也被称为“分区”。

  PU可以是用于预测的基本单元。PU可在跳过模式、帧间模式和帧内模式中的任意一个模式下被编码和解码。可根据各个模式将PU分区为各种形状。例如,以上参照图1描述的目标块和以上参照图2描述的目标块可以均是PU。

  CU可不被划分为PU。当CU不被划分为PU时,CU的尺寸和PU的尺寸可彼此相等。

  在跳过模式下,在CU中可不存在分区。在跳过模式下,可支持2N×2N模式410,而不进行分区,其中,在2N×2N模式410中,PU的尺寸和CU的尺寸彼此相同。

  在帧间模式下,在CU中可存在8种类型的分区形状。例如,在帧间模式下,可支持2N×2N模式410、2N×N模式415、N×2N模式420、N×N模式425、2N×nU模式430、2N×nD模式435、nL×2N模式440和nR×2N模式445。

  在帧内模式下,可支持2N×2N模式410和N×N模式425。

  在2N×2N模式410下,可对尺寸为2N×2N的PU进行编码。尺寸为2N×2N的PU可表示尺寸与CU的尺寸相同的PU。例如,尺寸为2N×2N的PU可具有尺寸64×64、32×32、16×16或8×8。

  在N×N模式425下,可对尺寸为N×N的PU进行编码。

  例如,在帧内预测中,当PU的尺寸是8×8时,可对四个分区出的PU进行编码。每个分区出的PU的尺寸可以是4×4。

  当在帧内模式下对PU进行编码时,可使用多个帧内预测模式中的任意一个对PU进行编码。例如,HEVC技术可提供35个帧内预测模式,PU可在所述35个帧内预测模式中的任意一个下被编码。

  可基于率失真代价来确定2N×2N模式410和N×N模式425中的哪一个模式将被用于对PU进行编码。

  编码设备100可对尺寸为2N×2N的PU执行编码操作。这里,该编码操作可以是在能够被编码设备100使用的多个帧内预测模式中的每个模式下对PU进行编码的操作。通过编码操作,可推导出用于尺寸为2N×2N的PU的最佳帧内预测模式。该最佳帧内预测模式可以是能够被编码设备100使用的多个帧内预测模式之中的在对尺寸为2N×2N的PU进行编码时出现最小率失真代价的帧内预测模式。

  此外,编码设备100可顺序地对通过进行N×N分区而获得的各个PU执行编码操作。这里,该编码操作可以是在能够被编码设备100使用的多个帧内预测模式中的每个模式下对PU进行编码的操作。通过编码操作,可推导出用于尺寸为N×N的PU的最佳帧内预测模式。该最佳帧内预测模式可以是能够被编码设备100使用的多个帧内预测模式之中的在对尺寸为N×N的PU进行编码时出现最小率失真代价的帧内预测模式。

  编码设备100可基于尺寸为2N×2N的PU的率失真代价与尺寸为N×N的PU的率失真代价之间的比较来确定尺寸为2N×2N的PU和尺寸为N×N的PU中的哪一个将被编码。

  单个CU可被分区为一个或更多个PU,并且PU可被分区多个PU。

  例如,当单个PU被分区为四个PU时,通过分区生成的四个PU中的每一个的水平尺寸和垂直尺寸可以是被分区之前的PU的水平尺寸和垂直尺寸的一半。当尺寸为32×32的PU被分区为四个PU时,四个被分区出的PU中的每一个的尺寸可以是16×16。当单个PU被分区为四个PU时,可认为PU已经以四叉树结构被分区。

  例如,当单个PU被分区为两个PU时,通过分区生成的两个PU中的每一个的水平尺寸或垂直尺寸可以是被分区之前的PU的水平尺寸或垂直尺寸的一半。当尺寸为32×32的PU被垂直分区为两个PU时,两个被分区出的PU中的每一个的尺寸可以是16×32。当尺寸为32×32的PU被水平分区为两个PU时,两个被分区出的PU中的每一个的尺寸可以是32×16。当单个PU被分区为两个PU时,可认为PU已经以二叉树结构被分区。

  图5是示出能够被包括在CU中的变换单元(TU)的形式的示图。

  变换单元(TU)可以是CU中被用于诸如变换、量化、逆变换、反量化、熵编码和熵解码的过程的基本单元。

  TU可具有正方形形状或矩形形状。可基于CU的尺寸和/或形状来确定TU的形状。

  在从LCU分区出的CU中,可将不再被分区为CU的CU分区为一个或更多个TU。这里,TU的分区结构可以是四叉树结构。例如,如图5中所示,可根据四叉树结构将单个CU 510分区一次或更多次。通过这种分区,单个CU 510可由具有各种尺寸的TU组成。

  可认为当单个CU被划分两次或更多次时CU被递归地划分。通过划分,单个CU可由具有各种尺寸的变换单元(TU)组成。

  可选地,可基于划分CU的垂直线和/或水平线的数量将单个CU划分为一个或更多个TU。

  CU可被划分为对称TU或非对称TU。为了划分为非对称TU,可将关于每个TU的尺寸和/或形状的信息从编码设备100用信号发送到解码设备200。可选地,可从关于CU的尺寸和/或形状的信息推导每个TU的尺寸和/或形状。

  CU可不被划分为TU。当CU不被划分为TU时,CU的尺寸和TU的尺寸可彼此相等。

  单个CU可被分区为一个或更多个TU,并且TU可被分区为多个TU。

  例如,当单个TU被分区为四个TU时,通过分区生成的四个TU中的每一个的水平尺寸和垂直尺寸可以是被分区之前的TU的水平尺寸和垂直尺寸的一半。当尺寸为32×32的TU被分区为四个TU时,四个被分区出的TU中的每一个的尺寸可以是16×16。当单个TU被分区为四个TU时,可认为TU已经以四叉树结构被分区。

  例如,当单个TU被分区为两个TU时,通过分区生成的两个TU中的每一个的水平尺寸或垂直尺寸可以是被分区之前的TU的水平尺寸或垂直尺寸的一半。当尺寸为32×32的TU被垂直分区为两个TU时,两个被分区出的TU中的每一个的尺寸可以是16×32。当尺寸为32×32的TU被水平分区为两个TU时,两个被分区出的TU中的每一个的尺寸可以是32×16。当单个TU被分区为两个TU时,可认为TU已经以二叉树结构被分区。

  可以以与图5中所示的方式不同的方式对CU进行划分。

  例如,可将单个CU划分为三个CU。通过划分生成的三个CU的水平尺寸或垂直尺寸可分别是被划分之前的原始CU的水平尺寸或垂直尺寸的1/4、1/2和1/4。

  例如,当尺寸为32×32的CU被垂直划分为三个CU时,通过划分生成的三个CU的尺寸可分别是8×32、16×32和8×32。以这种方式,当单个CU被划分为三个CU时,可认为该CU以三叉树的形式被划分。

  可将示例性划分形式(即,四叉树划分、二叉树划分和三叉树划分)中的一个应用于CU的划分,并且可将多种划分方案组合并一起用于CU的划分。这里,将多种划分方案组合并一起使用的情况可被称为“复合树形式划分”。

  图6示出根据示例的块的划分。

  在视频编码和/或解码处理中,如图6中所示,目标块可被划分。

  对于目标块的划分,指示划分信息的指示符可从编码设备100被用信号发送到解码设备200。划分信息可以是指示目标块如何被划分的信息。

  划分信息可以是划分标志(以下称为“split_flag”)、四-二进制标志(以下称为“QB_flag”)、四叉树标志(以下称为“quadtree_flag”)、二叉树标志(以下称为“binarytree_flag”)和二进制类型标志(以下称为“Btype_flag”)中的一个或更多个。

  “split_flag”可以是指示块是否被划分的标志。例如,split_flag值为1可指示对应块被划分。split_flag值为0可指示对应块不被划分。

  “QB_flag”可以是指示四叉树形式和二叉树形式中的哪一个与块被划分的形状对应的标志。例如,QB_flag值为0可指示块以四叉树形式被划分。QB_flag值为1可指示块以二叉树形式被划分。可选地,QB_flag值为0可指示块以二叉树形式被划分。QB_flag值为1可指示块以四叉树形式被划分。

  “quadtree_flag”可以是指示块是否以四叉树形式被划分的标志。例如,quadtree_flag值为1可指示块以四叉树形式被划分。quadtree_flag值为0可指示块不以四叉树形式被划分。

  “binarytree_flag”可以是指示块是否以二叉树形式被划分的标志。例如,binarytree_flag值为1可指示块以二叉树形式被划分。binarytree_flag值为0可指示块不以二叉树形式被划分。

  “Btype_flag”可以是指示当块以二叉树形式被划分时垂直划分和水平划分中的哪一个与划分方向对应的标志。例如,Btype_flag值为0可指示块在水平方向上被划分。Btype_flag值为1可指示块在垂直方向上被划分。可选地,Btype_flag值为0可指示块在垂直方向上被划分。Btype_flag值为1可指示块在水平方向上被划分。

  例如,可通过用信号发送quadtree_flag、binarytree_flag和Btype_flag中的至少一个来推导图6中的块的划分信息,如下表1中所示。

  表1

  

  例如,可通过用信号发送split_flag、QB_flag和Btype_flag中的至少一个来推导图6中的块的划分信息,如下表2中所示。

  表2

  

  划分方法可根据块的尺寸和/或形状而仅限于四叉树或二叉树。当这个限制被应用时,split_flag可以是指示块是否以四叉树形式被划分的标志或者指示块是否以二叉树形式被划分的标志。可根据块的深度信息来推导块的尺寸和形状,并且深度信息可从编码设备100被用信号发送到解码设备200。

  当块的尺寸落在特定范围内时,仅以四叉树形式进行划分是可能的。例如,可由能够仅以四叉树形式进行划分的最大块尺寸和最小块尺寸中的至少一个来定义所述特定范围。

  可通过比特流将指示能够仅以四叉树形式进行划分的最大块尺寸和最小块尺寸的信息从编码设备100用信号发送到解码设备200。此外,可针对诸如视频、序列、画面和条带(或片段)的单元中的至少一个用信号发送这个信息。

  可选地,最大块尺寸和/或最小块尺寸可以是由编码设备100和解码设备200预先定义的固定尺寸。例如,当块的尺寸大于64×64且小于256×256时,仅以四叉树形式进行划分是可能的。在这种情况下,split_flag可以是指示是否执行以四叉树形式的划分的标志。

  当块的尺寸落入特定范围内时,仅以二叉树形式进行划分是可能的。例如,可由能够仅以二叉树形式进行划分的最大块尺寸和最小块尺寸中的至少一个来定义所述特定范围。

  可通过比特流将指示能够仅以二叉树形式进行划分的最大块尺寸和/或最小块尺寸的信息从编码设备100用信号发送到解码设备200。此外,可针对诸如序列、画面和条带(或片段)的单元中的至少一个用信号发送这个信息。

  可选地,最大块尺寸和/或最小块尺寸可以是由编码设备100和解码设备200预先定义的固定尺寸。例如,当块的尺寸大于8×8且小于16×16时,仅以二叉树形式进行划分是可能的。在这种情况下,split_flag可以是指示是否执行以二叉树形式的划分的标志。

  块的划分可受到先前划分的限制。例如,当块以二叉树形式被划分并生成了多个分区块时,可仅以二叉树形式另外划分每个分区块。

  当分区块的水平尺寸或垂直尺寸是不能被进一步划分的尺寸时,可不用信号发送上述指示符。

  图7是用于解释帧内预测处理的实施例的示图。

  从图7中的图的中心径向延伸的箭头表示帧内预测模式的预测方向。此外,出现在箭头附近的数字指示被分配给帧内预测模式或被分配给帧内预测模式的预测方向的模式值的示例。

  可使用与目标块邻近的块的参考样点来执行帧内编码和/或解码。邻近块可以是邻近的重建块。例如,可使用在每个邻近的重建块中包括的参考样点的值或者邻近的重建块的编码参数来执行帧内编码和/或解码。

  编码设备100和/或解码设备200可通过基于关于目标图像中的样点的信息对目标块执行帧内预测来生成预测块。当帧内预测被执行时,编码设备100和/或解码设备200可通过基于关于目标图像中的样点的信息执行帧内预测来生成针对目标块的预测块。当帧内预测被执行时,编码设备100和/或解码设备200可基于至少一个重建的参考样点来执行方向预测和/或非方向预测。

  预测块可以是作为执行帧内预测的结果而生成的块。预测块可对应于CU、PU和TU中的至少一个。

  预测块的单元可具有与CU、PU和TU中的至少一个对应的尺寸。预测块可具有尺寸为2N×2N或N×N的正方形形状。尺寸N×N可包括尺寸4×4、8×8、16×16、32×32、64×64等。

  可选地,预测块可以是尺寸为2×2、4×4、8×8、16×16、32×32、64×64等的正方形块或者尺寸为2×8、4×8、2×16、4×16、8×16等的矩形块。

  可考虑用于目标块的帧内预测模式执行帧内预测。目标块可具有的帧内预测模式的数量可以是预定义的固定值,并且可以是根据预测块的属性不同地确定的值。例如,预测块的属性可包括预测块的尺寸、预测块的类型等。

  例如,不论预测块的尺寸如何,帧内预测模式的数量都可被固定为35。可选地,帧内预测模式的数量可以是例如3、5、9、17、34、35或36。

  帧内预测模式可以是非方向模式或方向模式。例如,如图7中所示,帧内预测模式可包括两种非方向模式和33种方向模式。

  所述两种非方向模式可包括DC模式和平面模式。

  所述方向模式可以是具有特定方向或特定角度的模式。

  帧内预测模式皆可用模式编号、模式值和模式角度中的至少一个来表示。帧内预测模式的数量可以是M。M的值可以是1或更大。换句话说,帧内预测模式的数量可以是M,其中,M包括非方向模式的数量和方向模式的数量。

  帧内预测模式的数量可被固定为M,而不管块的尺寸和/或颜色分量如何。例如,帧内预测模式的数量可被固定为35和67中的任意一个,而不管块的尺寸如何。

  可选地,帧内预测模式的数量可根据块的尺寸和/或颜色分量的类型而不同。

  例如,块的尺寸越大,帧内预测模式的数量越多。可选地,块的尺寸越大,帧内预测模式的数量越少。当块的尺寸是4×4或8×8时,帧内预测模式的数量可以是67。当块的尺寸是16×16时,帧内预测模式的数量可以是35。当块的尺寸是32×32时,帧内预测模式的数量可以是19。当块的尺寸是64×64时,帧内预测模式的数量可以是7。

  例如,帧内预测模式的数量可根据颜色分量是亮度信号还是色度信号而不同。可选地,与亮度分量块对应的帧内预测模式的数量可大于与色度分量块对应的帧内预测模式的数量。

  例如,在模式值为26的垂直模式中,可基于参考样点的像素值沿垂直方向执行预测。例如,在模式值为10的水平模式中,可基于参考样点的像素值沿水平方向执行预测。

  即使在除了上述模式之外的方向模式中,编码设备100和解码设备200仍可使用依据与方向模式对应的角度的参考样点对目标单元执行帧内预测。

  位于相对于垂直模式的右侧的帧内预测模式可被称为“垂直-右侧模式”。位于水平模式下方的帧内预测模式可被称为“水平-下方模式”。例如,在图7中,模式值是27、28、29、30、31、32、33和34之一的帧内预测模式可以是垂直-右侧模式613。模式值是2、3、4、5、6、7、8和9之一的帧内预测模式可以是水平-下方模式616。

  非方向模式可包括DC模式和平面模式。例如,DC模式的值可以是1。平面模式的值可以是0。

  方向模式可包括角度模式。在多个帧内预测模式中,除了DC模式和平面模式之外的其余模式可以是方向模式。

  当帧内预测模式是DC模式时,可基于多个参考像素的像素值的平均值生成预测块。例如,可基于多个参考像素的像素值的平均值确定预测块的像素的值。

  以上描述的帧内预测模式的数量以及各个帧内预测模式的模式值仅是示例性的。可根据实施例、实现方式和/或要求来不同地定义以上描述的帧内预测模式的数量以及各个帧内预测模式的模式值。

  为了对目标块执行帧内预测,可执行检查在重建的邻近块中包括的样点是否可被用作目标块的参考样点的步骤。当在邻近块中的样点之中存在不能被用作目标块的参考样点的样点时,经由使用重建的邻近块中包括的样点之中的至少一个样点值的插值和/或复制而生成的值可替换不能被用作参考样点的样点的样点值。当经由复制和/或插值而生成的值替换现有样点的样点值时,该样点可被用作目标块的参考样点。

  在帧内预测中,可基于帧内预测模式和目标块的尺寸中的至少一个将滤波器应用于参考样点和预测样点中的至少一个。

  将被应用于参考样点和预测样点中的至少一个的滤波器的类型可根据目标块的帧内预测模式、目标块的尺寸和目标块的形状中的至少一个而不同。滤波器的类型可根据滤波器抽头的数量、滤波器系数的值和滤波器强度中的一个或更多个来分类。

  当帧内预测模式是平面模式时,可在生成目标块的预测块时根据预测目标样点在预测块中的位置使用目标块的上参考样点、目标块的左参考样点、目标块的右上参考样点和目标块的左下参考样点的加权和来生成预测目标块的样点值。

  当帧内预测模式是DC模式时,可在生成目标块的预测块时使用目标块上方的参考样点和目标块左侧的参考样点的平均值。此外,可对目标块中的特定行或特定列执行使用参考样点的值的滤波。所述特定行可以是与参考样点相邻的一个或更多个上方行。所述特定列可以是与参考样点相邻的一个或更多个左侧列。

  当帧内预测模式是方向模式时,可使用目标块的上参考样点、左参考样点、右上参考样点和/或左下参考样点来生成预测块。

  为了生成上述预测样点,可执行基于实数的插值。

  可从与目标块相邻的邻近块的帧内预测模式预测目标块的帧内预测模式,并且用于预测的信息可被熵编码/熵解码。

  例如,当目标块和邻近块的帧内预测模式彼此相同时,可使用预定义的标志来用信号传送目标块和邻近块的帧内预测模式是相同的。

  例如,可用信号传送用于指示多个邻近块的帧内预测模式之中的与目标块的帧内预测模式相同的帧内预测模式的指示符。

  当目标块和邻近块的帧内预测模式彼此不同时,可使用熵编码和/或熵解码对关于目标块的帧内预测模式的信息进行编码和/或解码。

  图8是用于解释在帧内预测过程中使用的参考样点的位置的示图。

  图8示出了用于对目标块进行帧内预测的参考样点的位置。参照图8,用于对目标块进行帧内预测的重建参考样点可包括左下参考样点831、左参考样点833、左上角参考样点835、上参考样点837和右上参考样点839。

  例如,左参考样点833可表示与目标块的左侧相邻的重建参考像素。上参考样点837可表示与目标块的顶部相邻的重建参考像素。左上角参考样点835可表示位于目标块的左上角处的重建参考像素。左下参考样点831可表示在位于与由左参考样点833组成的左侧样点线相同的线上的样点之中的位于所述左侧样点线下方的参考样点。右上参考样点839可表示在位于与由上参考样点837组成的上方样点线相同的线上的样点之中的位于所述上方样点线右侧的参考样点。

  当目标块的尺寸是N×N时,左下参考样点831、左参考样点833、上参考样点837和右上参考样点839的数量可以均是N。

  通过对目标块执行帧内预测,可生成预测块。生成预测块的过程可包括确定预测块中的像素的值。目标块和预测块的尺寸可以相同。

  用于对目标块进行帧内预测的参考样点可根据目标块的帧内预测模式而改变。帧内预测模式的方向可表示参考样点与预测块的像素之间的依赖关系。例如,指定参考样点的值可被用作预测块中的一个或更多个指定像素的值。在这种情况下,所述指定参考样点和预测块中的所述一个或更多个指定像素可以是位于沿帧内预测模式的方向的直线上的样点和像素。换句话说,所述指定参考样点的值可被复制作为位于与帧内预测模式的方向相反的方向上的像素的值。可选地,预测块中的像素的值可以是相对于该像素的位置位于帧内预测模式的方向上的参考样点的值。

  在示例中,当目标块的帧内预测模式是模式值为26的垂直模式时,上参考样点837可被用于帧内预测。当帧内预测模式是垂直模式时,预测块中的像素的值可以是垂直地位于该像素的位置上方的参考样点的值。因此,与目标块的顶部相邻的上参考样点837可被用于帧内预测。此外,在预测块的一行中的像素的值可与上参考样点837的像素的值相同。

  在示例中,当目标块的帧内预测模式是模式值为10的水平模式时,左参考样点833可被用于帧内预测。当帧内预测模式是水平模式时,预测块中的像素的值可以是水平地位于该像素的位置左侧的参考样点的值。因此,与目标块的左侧相邻的左参考样点833可被用于帧内预测。此外,在预测块的一列中的像素的值可与左参考样点833的像素的值相同。

  在示例中,当当前块的帧内预测模式的模式值是18时,左参考样点833中的至少一些、左上角参考样点835、以及上参考样点837中的至少一些可被用于帧内预测。当帧内预测模式的模式值是18时,预测块中的像素的值可以是对角地位于该像素的左上角处的参考样点的值。

  此外,在模式值为27、28、29、30、31、32、33或34的帧内预测模式被使用的情况下,右上参考样点839中的至少一部分可被用于帧内预测。

  此外,在模式值为2、3、4、5、6、7、8或9的帧内预测模式被使用的情况下,左下参考样点831中的至少一部分可被用于帧内预测。

  此外,在模式值是范围从11至25的值的帧内预测模式的情况下,左上角参考样点835可被用于帧内预测。

  用于确定预测块中的一个像素的像素值的参考样点的数量可以是1或者2或者更多。

  如上所述,可根据像素的位置和由帧内预测模式的方向所指示的参考样点的位置来确定预测块中的像素的像素值。当像素的位置以及由帧内预测模式的方向所指示的参考样点的位置是整数位置时,由整数位置所指示的一个参考样点的值可被用于确定预测块中的像素的像素值。

  当像素的位置以及由帧内预测模式的方向所指示的参考样点的位置不是整数位置时,可生成基于与该参考样点的位置最接近的两个参考样点的插值参考样点。插值参考样点的值可被用于确定预测块中的像素的像素值。换句话说,当预测块中的像素的位置以及由帧内预测模式的方向所指示的参考样点的位置指示两个参考样点之间的位置时,可生成基于这两个样点的值的插值。

  经由预测而生成的预测块可以与原始目标块不同。换句话说,可能存在预测误差,该预测误差是目标块与预测块之间的差,并且也可能存在在目标块的像素与预测块的像素之间的预测误差。

  在下文中,术语“差”、“误差”和“残差”可被用于具有相同的含义,并且可彼此互换使用。

  例如,在方向帧内预测的情况下,预测块的像素与参考样点之间的距离越长,则可能发生的预测误差越大。这种预测误差可导致生成的预测块与邻近块之间的不连续性。

  为了减少预测误差,可使用针对预测块的滤波操作。滤波操作可被配置为自适应地将滤波器应用于预测块中的被认为具有较大预测误差的区域。例如,被认为具有较大预测误差的区域可以是预测块的边界。此外,在预测块中被认为具有较大预测误差的区域可根据帧内预测模式而不同,并且滤波器的特性也可根据帧内预测模式而不同。

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

  图9中示出的矩形可表示图像(或画面)。此外,在图9中,箭头可表示预测方向。也就是说,可根据预测方向对每个图像进行编码和/或解码。

  图像可根据编码类型被分类为帧内画面(I画面)、单预测画面或预测编码画面(P画面)、以及双预测画面或双预测编码画面(B画面)。可根据每个画面的编码类型对每个画面进行编码和/或解码。

  当作为将被编码的目标的目标图像是I画面时,目标图像可在不进行参照其它图像的帧间预测的情况下使用图像本身包含的数据被编码。例如,I画面可仅经由帧内预测被编码。

  当目标图像是P画面时,可经由使用存在于一个方向上的参考画面的帧间预测对目标图像进行编码。这里,所述一个方向可以是前向方向或后向方向。

  当目标图像是B画面时,可经由使用存在于两个方向上的参考画面的帧间预测对图像进行编码,或者可以经由使用存在于前向方向和后向方向之一上的参考画面的帧间预测对图像进行编码。这里,所述两个方向可以是前向方向和后向方向。

  使用参考画面进行编码和/或解码的P画面和B画面可被视为使用帧间预测的图像。

  下面,将详细地描述根据实施例的在帧间模式下的帧间预测。

  可使用运动信息来执行帧间预测。

  在帧间模式下,编码设备100可对目标块执行帧间预测和/或运动补偿。解码设备200可对目标块执行与由编码设备100执行的帧间预测和/或运动补偿对应的帧间预测和/或运动补偿。

  可由编码设备100和解码设备200在帧间预测期间单独地推导目标块的运动信息。可使用重建的邻近块的运动信息、col块的运动信息和/或与col块相邻的块的运动信息来推导运动信息。

  例如,编码设备100或解码设备200可通过将空间候选和/或时间候选的运动信息用作目标块的运动信息来执行预测和/或运动补偿。目标块可表示PU和/或PU分区。

  空间候选可以是在空间上与目标块相邻的重建块。

  时间候选可以是在先前重建的同位画面(col画面)中的与目标块对应的重建块。

  在帧间预测中,编码设备100和解码设备200可通过利用空间候选和/或时间候选的运动信息来提高编码效率和解码效率。空间候选的运动信息可被称为“空间运动信息”。时间候选的运动信息可被称为“时间运动信息”。

  下面,空间候选的运动信息可以是包括空间候选的PU的运动信息。时间候选的运动信息可以是包括时间候选的PU的运动信息。候选块的运动信息可以是包括候选块的PU的运动信息。

  可使用参考画面执行帧间预测。

  参考画面可以是在目标画面之前的画面和在目标画面之后的画面中的至少一个。参考画面可以是用于目标块的预测的图像。

  在帧间预测中,可利用用于指示参考画面的参考画面索引(或refIdx)、随后将被描述的运动矢量等来指定参考画面中的区域。这里,在参考画面中指定的区域可指示参考块。

  帧间预测可选择参考画面,并且还可以从参考画面选择与目标块对应的参考块。此外,帧间预测可使用所选择的参考块来生成针对目标块的预测块。

  可由编码设备100和解码设备200中的每一个在帧间预测期间推导运动信息。

  空间候选可以是1)存在于目标画面中的2)已经在先前经由编码和/或解码而重建并且3)与目标块相邻或位于目标块的拐角处的块。这里,“位于目标块的拐角处的块”可以是与水平相邻于目标块的邻近块垂直相邻的块,或者是与垂直相邻于目标块的邻近块水平相邻的块。此外,“位于目标块的拐角处的块”可具有与“与目标块的拐角相邻的块”相同的含义。“位于目标块的拐角处的块”的含义可被包括在“与目标块相邻的块”的含义中。

  例如,空间候选可以是位于目标块左侧的重建块、位于目标块上方的重建块、位于目标块左下角的重建块、位于目标块右上角的重建块或位于目标块左上角的目标块。

  编码设备100和解码设备200中的每一个可识别存在于col画面中的在空间上与目标块对应的位置的块。目标块在目标画面中的位置和所识别的块在col画面中的位置可彼此对应。

  编码设备100和解码设备200中的每一个可将存在于针对所识别的块的预定义相关位置处的col块确定为时间候选。所述预定义相关位置可以是存在于所识别的块内部和/或外部的位置。

  例如,col块可包括第一col块和第二col块。当所识别的块的坐标是(xP,yP)并且所识别的块的尺寸用(nPSW,nPSH)表示时,第一col块可以是位于坐标(xP+nPSW,yP+nPSH)处的块。第二col块可以是位于坐标(xP+(nPSW>>1),yP+(nPSH>>1))处的块。当第一col块不可用时,可选择性地使用第二col块。

  可基于col块的运动矢量确定目标块的运动矢量。编码设备100和解码设备200中的每一个可对col块的运动矢量进行缩放。col块的经缩放的运动矢量可被用作目标块的运动矢量。此外,存储在列表中的时间候选的运行信息的运动矢量可以是经缩放的运动矢量。

  目标块的运动矢量相对于col块的运动矢量的比率可与第一时间距离相对于第二时间距离的比率相同。第一时间距离可以是参考画面与目标块的目标画面之间的距离。第二时间距离可以是参考画面与col块的col画面之间的距离。

  用于推导运动信息的方案可根据目标块的帧间预测模式而改变。例如,作为被应用于帧间预测的帧间预测模式,可存在高级运动矢量预测因子(AMVP)模式、合并模式、跳过模式、当前画面参考模式等。合并模式也可被称为“运动合并模式”。下面将详细描述各个模式。

  1)AMVP模式

  当使用AMVP模式时,编码设备100可在目标块的邻近区域中搜索相似块。编码设备100可通过使用找到的相似块的运动信息对目标块执行预测来获取预测块。编码设备100可对作为目标块与预测块之间的差的残差块进行编码。

  1-1)创建预测运动矢量候选的列表

  当AMVP模式被用作预测模式时,编码设备100和解码设备200中的每一个可使用空间候选的运动矢量、时间候选的运动矢量和零矢量来创建预测运动矢量候选的列表。预测运动矢量候选列表可包括一个或更多个预测运动矢量候选。空间候选的运动矢量、时间候选的运动矢量和零矢量中的至少一个可被确定并被用作预测运动矢量候选。

  在下文中,术语“预测运动矢量(候选)”和“运动矢量(候选)”可被用于具有相同的含义,并且可彼此互换使用。

  在下文中,术语“预测运动矢量候选”和“AMVP候选”可被用于具有相同的含义,并且可彼此互换地使用。

  在下文中,术语“预测运动矢量候选列表”和“AMVP候选列表”可被用于具有相同的含义,并且可彼此互换使用。

  空间候选可包括重建的空间邻近块。换句话说,重建的邻近块的运动矢量可被称为“空间预测运动矢量候选”。

  时间候选可包括col块和与col块相邻的块。换句话说,col块的运动矢量或与col块相邻的块的运动矢量可被称为“时间预测运动矢量候选”。

  零矢量可以是(0,0)运动矢量。

  预测运动矢量候选可以是用于对运动矢量进行预测的运动矢量预测因子。此外,在编码设备100中,每个预测运动矢量候选可以是用于运动矢量的初始搜索位置。

  1-2)使用预测运动矢量候选的列表搜索运动矢量

  编码设备100可使用预测运动矢量候选的列表在搜索范围内确定将被用于对目标块进行编码的运动矢量。此外,编码设备100可在存在于预测运动矢量候选列表中的预测运动矢量候选之中确定将被用作目标块的预测运动矢量的预测运动矢量候选。

  将被用于对目标块进行编码的运动矢量可以是可按最小代价编码的运动矢量。

  此外,编码设备100可确定是否使用AMVP模式对目标块进行编码。

  1-3)对帧间预测信息的传输

  编码设备100可生成包括帧间预测所需的帧间预测信息的比特流。解码设备200可使用比特流的帧间预测信息对目标块执行帧间预测。

  帧间预测信息可包含1)指示AMVP模式是否被使用的模式信息、2)预测运动矢量索引、3)运动矢量差(MVD)、4)参考方向和5)参考画面索引。

  在下文中,术语“预测运动矢量索引”和“AMVP索引”可被用于具有相同的含义,并且可彼此互换使用。

  此外,帧间预测信息可包含残差信号。

  当模式信息指示AMVP模式被使用时,解码设备200可通过熵解码从比特流获取预测运动矢量索引、MVD、参考方向和参考画面索引。

  预测运动矢量索引可指示在预测运动矢量候选列表中包括的预测运动矢量候选之中的将被用于对目标块进行预测的预测运动矢量候选。

  1-4)使用帧间预测信息的AMVP模式下的帧间预测

  解码设备200可使用预测运动矢量候选列表来推导预测运动矢量候选,并且可基于推导的预测运动矢量候选来确定目标块的运动信息。

  解码设备200可使用预测运动矢量索引在预测运动矢量候选列表中包括的预测运动矢量候选之中确定用于目标块的运动矢量候选。解码设备200可从预测运动矢量候选列表中包括的预测运动矢量候选之中选择由预测运动矢量索引所指示的预测运动矢量候选作为目标块的预测运动矢量。

  实际将被用于对目标块进行帧间预测的运动矢量可能与预测运动矢量不匹配。为了指示实际将被用于对目标块进行帧间预测的运动矢量与预测运动矢量之间的差,可使用MVD。编码设备100可推导与实际将被用于对目标块进行帧间预测的运动矢量相似的预测运动矢量,以便使用尽可能小的MVD。

  MVD可以是目标块的运动矢量与预测运动矢量之间的差。编码设备100可计算MVD,并可对MVD进行熵编码。

  可通过比特流将MVD从编码设备100发送到解码设备200。解码设备200可对接收的MVD进行解码。解码设备200可通过对解码的MVD和预测运动矢量进行求和来推导目标块的运动矢量。换句话说,由解码设备200推导出的目标块的运动矢量可以是熵解码的MVD和运动矢量候选之和。

  参考方向可指示将被用于对目标块进行预测的参考画面的列表。例如,参考方向可指示参考画面列表L0和参考画面列表L1中的一个。

  参考方向仅指示将被用于对目标块进行预测的参考画面列表,并且可不意味着参考画面的方向被限制为前向方向或后向方向。换句话说,参考画面列表L0和参考画面列表L1中的每一个可包括前向方向和/或后向方向上的画面。

  参考方向是单向的可意味着使用单个参考画面列表。参考方向是双向的可意味着使用两个参考画面列表。换句话说,参考方向可指示以下情况之一:仅使用参考画面列表L0的情况、仅使用参考画面列表L1的情况、以及使用两个参考画面列表的情况。

  参考画面索引可指示参考画面列表中的参考画面之中的将被用于对目标块进行预测的参考画面。可由编码设备100对参考画面索引进行熵编码。经熵编码的参考画面索引可通过比特流由编码设备100用信号传送到解码设备200。

  当两个参考画面列表被用于对目标块进行预测时,单个参考画面索引和单个运动矢量可被用于参考画面列表中的每一个。此外,当两个参考画面列表被用于对目标块进行预测时,可为目标块指定两个预测块。例如,可使用针对目标块的两个预测块的平均值或加权和来生成目标块的(最终)预测块。

  可通过预测运动矢量索引、MVD、参考方向和参考画面索引来推导目标块的运动矢量。

  解码设备200可基于推导出的运动矢量和参考画面索引来生成针对目标块的预测块。例如,预测块可以是在由参考画面索引所指示的参考画面中的由推导出的运动矢量所指示的参考块。

  由于预测运动矢量索引和MVD被编码,而目标块的运动矢量自身不被编码,因此从编码设备100发送到解码设备200的比特的数量可减少,并且编码效率可提高。

  对于目标块,可使用重建的邻近块的运动信息。在特定的帧间预测模式下,编码设备100可不单独对目标块的实际运动信息进行编码。目标块的运动信息不被编码,而是可对额外信息进行编码,其中,所述额外信息使得能够使用重建的邻近块的运动信息来推导目标块的运动信息。由于所述额外信息被编码,因此被发送到解码设备200的比特的数量可减少,并且编码效率可提高。

  例如,作为目标块的运动信息不被直接编码的帧间预测模式,可存在跳过模式和/或合并模式。这里,编码设备100和解码设备200中的每一个可使用指示重建的邻近单元之中的其运动信息将被用作目标单元的运动信息的单元的标识符和/或索引。

  2)合并模式

  作为用于推导目标块的运动信息的方案,存在合并。术语“合并”可意味着对多个块的运动进行合并。“合并”可意味着一个块的运动信息也被应用于其它块。换句话说,合并模式可以是从邻近块的运动信息推导目标块的运动信息的模式。

  当使用合并模式时,编码设备100可使用空间候选的运动信息和/或时间候选的运动信息来预测目标块的运动信息。空间候选可包括在空间上与目标块相邻的重建的空间邻近块。空间邻近块可包括左侧邻近块和上方邻近块。时间候选可包括col块。术语“空间候选”和“空间合并候选”可被用于具有相同的含义,并且可彼此互换使用。术语“时间候选”和“时间合并候选”可被用于具有相同的含义,并且可彼此互换使用。

  编码设备100可经由预测来获取预测块。编码设备100可对作为目标块与预测块之间的差的残差块进行编码。

  2-1)创建合并候选列表

  当使用合并模式时,编码设备100和解码设备200中的每一个可使用空间候选的运动信息和/或时间候选的运动信息来创建合并候选列表。运动信息可包括1)运动矢量、2)参考画面索引和3)参考方向。参考方向可以是单向或双向。

  合并候选列表可包括合并候选。合并候选可以是运动信息。换句话说,合并候选列表可以是存储多条运动信息的列表。

  合并候选可以是多条时间候选和/或空间候选的运动信息。此外,合并候选列表可包括通过对已存在于合并候选列表中的合并候选进行组合而生成的新的合并候选。换句话说,合并候选列表可包括通过对先前存在于合并候选列表中的多条运动信息进行组合而生成的新的运动信息。

  合并候选可以是推导帧间预测信息的特定模式。合并候选可以是指示推导帧间预测信息的特定模式的信息。可根据合并候选所指示的特定模式来推导目标块的帧间预测信息。此外,所述特定模式可包括推导一系列帧间预测信息的处理。这种特定模式可以是帧间预测信息推导模式或运动信息推导模式。

  可根据通过合并索引在合并候选列表中的合并候选中选择的合并候选所指示的模式来推导目标块的帧间预测信息。

  例如,合并候选列表中的运动信息推导模式可以是以下模式中的至少一个:1)针对子块单元的运动信息推导模式;2)仿射运动信息推导模式。

  此外,合并候选列表可包括零矢量的运动信息。零矢量也可被称为“零合并候选”。

  换句话说,合并候选列表中的多条运动信息可以是以下信息中的至少一个:1)空间候选的运动信息、2)时间候选的运动信息、3)通过对先前存在于合并候选列表中的多条运动信息进行组合而生成的运动信息、以及4)零矢量。

  运动信息可包括1)运动矢量、2)参考画面索引和3)参考方向。参考方向也可被称为“帧间预测指示符”。参考方向可以是单向或双向。单向参考方向可指示L0预测或L1预测。

  可在执行合并模式下的预测之前创建合并候选列表。

  可预先定义合并候选列表中的合并候选的数量。编码设备100和解码设备200中的每一个可根据预定义的方案和预定义的优先级将合并候选添加到合并候选列表,使得合并候选列表具有预定义数量的合并候选。可使用预定义的方案和预定义的优先级将编码设备100的合并候选列表和解码设备200的合并候选列表制作为彼此相同。

  可基于CU或PU来应用合并。当基于CU或PU执行合并时,编码设备100可将包括预定义的信息的比特流发送到解码设备200。例如,所述预定义的信息可包含1)指示是否针对各个块分区执行合并的信息、以及2)关于在作为针对目标块的空间候选和/或时间候选的块之中的将被执行合并的块的信息。

  2-2)使用合并候选列表搜索运动矢量

  编码设备100可确定将被用于对目标块进行编码的合并候选。例如,编码设备100可使用合并候选列表中的合并候选对目标块执行预测,并且可生成针对合并候选的残差块。编码设备100可使用在预测和残差块的编码中生成最小代价的合并候选来对目标块进行编码。

  此外,编码设备100可确定是否使用合并模式对目标块进行编码。

  2-3)对帧间预测信息的传输

  编码设备100可生成包括帧间预测所需的帧间预测信息的比特流。编码设备100可通过对帧间预测信息执行熵编码来生成经熵编码的帧间预测信息,并且可将包括经熵编码的帧间预测信息的比特流发送到解码设备200。经熵编码的帧间预测信息可由编码设备100通过比特流用信号传送到解码设备200。

  解码设备200可使用比特流的帧间预测信息对目标块执行帧间预测。

  帧间预测信息可包含1)指示合并模式是否被使用的模式信息和2)合并索引。

  此外,帧间预测信息可包含残差信号。

  解码设备200可仅在模式信息指示合并模式被使用时从比特流获取合并索引。

  模式信息可以是合并标志。模式信息的单位可以是块。关于块的信息可包括模式信息,并且模式信息可指示合并模式是否被应用于块。

  合并索引可指示合并候选列表中包括的合并候选之中的将被用于对目标块进行预测的合并候选。可选地,合并索引可指示与目标块在空间上或时间上相邻的邻近块之中的将与目标块合并的块。

  编码设备100可选择合并候选列表中包括的合并候选中的具有最高编码性能的合并候选,并且将合并索引的值设置为指示所选择的合并候选。

  2-4)使用帧间预测信息的合并模式的帧间预测

  解码设备200可使用合并候选列表中包括的合并候选之中的由合并索引指示的合并候选对目标块执行预测。

  可通过由合并索引指示的合并候选的运动矢量、参考画面索引和参考方向来指定目标块的运动矢量。

  3)跳过模式

  跳过模式可以是将空间候选的运动信息或时间候选的运动信息在没有改变的情况下应用于目标块的模式。此外,跳过模式可以是不使用残差信号的模式。换句话说,当使用跳过模式时,重建块可以是预测块。

  合并模式与跳过模式之间的差异在于是否发送或使用残差信号。也就是说,除了不发送或使用残差信号之外,跳过模式可类似于合并模式。

  当使用跳过模式时,编码设备100可通过比特流将与作为空间候选或时间候选的块之中的其运动信息将被用作目标块的运动信息的块有关的信息发送到解码设备200。编码设备100可通过对该信息执行熵编码来生成经熵编码的信息,并且可通过比特流将经熵编码的信息用信号传送到解码设备200。

  此外,当使用跳过模式时,编码设备100可不将其它语法信息(诸如MVD)发送到解码设备200。例如,当使用跳过模式时,编码设备100可不将与MVD、编码块标志和变换系数等级中的至少一个相关的语法元素用信号传送到解码设备200。

  3-1)创建合并候选列表

  跳过模式也可使用合并候选列表。换句话说,可在合并模式和跳过模式两者中使用合并候选列表。在这方面,合并候选列表也可被称为“跳过候选列表”或“合并/跳过候选列表”。

  可选地,跳过模式可使用与合并模式的候选列表不同的额外候选列表。在这种情况下,在以下描述中,可分别用跳过候选列表和跳过候选来替换合并候选列表和合并候选。

  可在执行跳过模式下的预测之前创建合并候选列表。

  3-2)使用合并候选列表搜索运动矢量

  编码设备100可确定将被用于对目标块进行编码的合并候选。例如,编码设备100可使用合并候选列表中的合并候选对目标块执行预测。编码设备100可使用在预测中生成最小代价的合并候选对目标块进行编码。

  此外,编码设备100可确定是否使用跳过模式对目标块进行编码。

  3-3)对帧间预测信息的传输

  编码设备100可生成包括帧间预测所需的帧间预测信息的比特流。解码设备200可使用比特流的帧间预测信息对目标块执行帧间预测。

  帧间预测信息可包括1)指示跳过模式是否被使用的模式信息和2)跳过索引。

  跳过索引可与以上描述的合并索引相同。

  当使用跳过模式时,可在不使用残差信号的情况下对目标块进行编码。帧间预测信息可不包含残差信号。可选地,比特流可不包括残差信号。

  解码设备200可仅在模式信息指示跳过模式被使用时从比特流获取跳过索引。如上所述,合并索引和跳过索引可彼此相同。解码设备200可仅在模式信息指示合并模式或跳过模式被使用时从比特流获取跳过索引。

  跳过索引可指示合并候选列表中包括的合并候选之中的将被用于对目标块进行预测的合并候选。

  3-4)使用帧间预测信息的跳过模式下的帧间预测

  解码设备200可使用合并候选列表中包括的合并候选之中的由跳过索引指示的合并候选对目标块执行预测。

  可通过由跳过索引指示的合并候选的运动矢量、参考画面索引和参考方向来指定目标块的运动矢量。

  4)当前画面参考模式

  当前画面参考模式可表示这样的预测模式:该预测模式使用目标块所属的目标画面中的先前重建的区域。

  可使用用于指定先前重建的区域的运动矢量。可使用目标块的参考画面索引来确定目标块是否已在当前画面参考模式下被编码。

  指示目标块是否是以当前画面参考模式被编码的块的标志或索引可由编码设备100用信号传送到解码设备200。可选地,可通过目标块的参考画面索引来推断目标块是否是以当前画面参考模式被编码的块。

  当目标块以当前画面参考模式被编码时,当前画面可存在于针对目标块的参考画面列表中的固定位置或任意位置。

  例如,所述固定位置可以是参考画面索引的值是0的位置或最后位置。

  在目标画面存在于参考画面列表中的任意位置时,指示这样的任意位置的额外参考画面索引可由编码设备100用信号传送到解码设备200。

  在以上描述的AMVP模式、合并模式和跳过模式中,可使用列表的索引来指定列表中的多条运动信息之中的将被用于对目标块进行预测的运动信息。

  为了提高编码效率,编码设备100可仅用信号传送列表中的元素之中的在对目标块的帧间预测中生成最小代价的元素的索引。编码设备100可对该索引进行编码,并且可用信号传送编码后的索引。

  因此,必须能够由编码设备100和解码设备200使用相同的方案基于相同的数据来推导以上描述的列表(即,预测运动矢量候选列表和合并候选列表)。这里,所述相同的数据可包括重建画面和重建块。此外,为了使用索引指定元素,必须固定列表中的元素的顺序。

  图10示出根据实施例的空间候选。

  在图10中,示出了空间候选的位置。

  在图的中央处的大块可表示目标块。五个小块可表示空间候选。

  目标块的坐标可以是(xP,yP),目标块的尺寸可由(nPSW,nPSH)来表示。

  空间候选A0可以是与目标块的左下角相邻的块。A0可以是占有位于坐标(xP-1,yP+nPSH+1)处的像素的块。

  空间候选A1可以是与目标块的左侧相邻的块。A1可以是与目标块的左侧相邻的块之中的最下方的块。可选地,A1可以是与A0的顶部相邻的块。A1可以是占有位于坐标(xP-1,yP+nPSH)处的像素的块。

  空间候选B0可以是与目标块的右上角相邻的块。B0可以是占有位于坐标(xP+nPSW+1,yP-1)处的像素的块。

  空间候选B1可以是与目标块的顶部相邻的块。B1可以是与目标块的顶部相邻的块之中的最右侧的块。可选地,B1可以是与B0的左侧相邻的块。B1可以是占有位于坐标(xP+nPSW,yP-1)处的像素的块。

  空间候选B2可以是与目标块的左上角相邻的块。B2可以是占有位于坐标(xP-1,yP-1)处的像素的块。

  对空间候选和时间候选的可用性的确定

  为了将空间候选的运动信息或时间候选的运动信息包括在列表中,必须确定空间候选的运动信息或时间候选的运动信息是否可用。

  在下文中,候选块可包括空间候选和时间候选。

  例如,可通过顺序地应用以下步骤1)至步骤4)来执行所述确定。

  步骤1)当包括候选块的PU位于画面的边界外时,候选块的可用性可被设置为“假”。表述“可用性被设置为假”可具有与“设置为不可用”相同的含义。

  步骤2)当包括候选块的PU位于条带的边界外时,候选块的可用性可被设置为“假”。当目标块和候选块位于不同条带中时,候选块的可用性可被设置为“假”。

  步骤3)当包括候选块的PU位于并行块的边界外时,候选块的可用性可被设置为“假”。当目标块和候选块位于不同并行块中时,候选块的可用性可被设置为“假”。

  步骤4)当包括候选块的PU的预测模式是帧内预测模式时,候选块的可用性可被设置为“假”。当包括候选块的PU不使用帧间预测时,候选块的可用性可被设置为“假”。

  图11示出根据实施例的将空间候选的运动信息添加到合并列表的顺序。

  如图11中所示,当空间候选的多条运动信息被添加到合并列表时,可使用A1、B1、B0、A0和B2的顺序。也就是说,可按照A1、B1、B0、A0和B2的顺序将可用空间候选的多条运动信息添加到合并列表。

  用于在合并模式和跳过模式下推导合并列表的方法

  如上所述,可设置合并列表中的合并候选的最大数量。可用“N”来指示设置的最大数量。设置的数量可从编码设备100发送到解码设备200。条带的条带头可包括N。换句话说,可通过条带头来设置用于条带的目标块的合并列表中的合并候选的最大数量。例如,N的值基本上可以是5。

  可按照以下步骤1)至4)的顺序将多条运动信息(即,合并候选)添加到合并列表。

  步骤1)在空间候选之中,可将可用空间候选添加到合并列表。可按照图10中示出的顺序来将可用空间候选的多条运动信息添加到合并列表。这里,当可用空间候选的运动信息与合并列表中已经存在的其它运动信息重叠时,可不将可用空间候选的运动信息添加到合并列表。检查对应运动信息是否与列表中存在的其它运动信息重叠的操作可被简称为“重叠检查”。

  被添加的运动信息的最大条数可以是N。

  步骤2)当合并列表中的运动信息的条数小于N并且时间候选可用时,可将时间候选的运动信息添加到合并列表。这里,当可用时间候选的运动信息与合并列表中已经存在的其它运动信息重叠时,可不将可用时间候选的运动信息添加到合并列表。

  步骤3)当合并列表中的运动信息的条数小于N并且目标条带的类型是“B”时,可将通过组合双向预测(双预测)而生成的组合运动信息添加到合并列表。

  目标条带可以是包括目标块的条带。

  组合运动信息可以是L0运动信息和L1运动信息的组合。L0运动信息可以是仅参照参考画面列表L0的运动信息。L1运动信息可以是仅参照参考画面列表L1的运动信息。

  在合并列表中,可存在一条或更多条L0运动信息。此外,在合并列表中,可存在一条或更多条L1运动信息。

  组合运动信息可包括一条或更多条组合运动信息。当生成组合运动信息时,可预先定义所述一条或更多条L0运动信息和所述一条或更多条L1运动信息之中的将被用于生成组合运动信息的步骤的L0运动信息和L1运动信息。可经由使用合并列表中的一对不同运动信息的组合双向预测按照预定义的顺序来生成一条或更多条组合运动信息。所述一对不同运动信息中的一条运动信息可以是L0运动信息,并且所述一对不同运动信息中的另一条运动信息可以是L1运动信息。

  例如,被添加有最高优先级的组合运动信息可以是具有合并索引0的L0运动信息和具有合并索引1的L1运动信息的组合。当具有合并索引0的运动信息不是L0运动信息时或者当具有合并索引1的运动信息不是L1运动信息时,可既不生成也不添加组合运动信息。接下来,被添加有下一优先级的组合运动信息可以是具有合并索引1的L0运动信息和具有合并索引0的L1运动信息的组合。随后的详细组合可符合视频编码/解码领域的其它组合。

  这里,当组合运动信息与合并列表中已经存在的其它运动信息重叠时,可不将组合运动信息添加到合并列表。

  步骤4)当合并列表中的运动信息的条数小于N时,可将零矢量的运动信息添加到合并列表。

  零矢量运动信息可以是运动矢量是零矢量的运动信息。

  零矢量运动信息的条数可以是一个或更多个。一条或更多条零矢量运动信息的参考画面索引可彼此不同。例如,第一零矢量运动信息的参考画面索引的值可以是0。第二零矢量运动信息的参考画面索引的值可以是1。

  零矢量运动信息的条数可与参考画面列表中的参考画面的数量相同。

  零矢量运动信息的参考方向可以是双向的。两个运动矢量可以是零矢量。零矢量运动信息的条数可以是参考画面列表L0中的参考画面的数量和参考画面列表L1中的参考画面的数量中较小的一个。可选地,当参考画面列表L0中的参考画面的数量和参考画面列表L1中的参考画面的数量彼此不同时,作为单向的参考方向可被用于可仅应用于单个参考画面列表的参考画面索引。

  编码设备100和/或解码设备200可随后将零矢量运动信息添加到合并列表,同时改变参考画面索引。

  当零矢量运动信息与合并列表中已经存在的其它运动信息重叠时,可不将零矢量运动信息添加到合并列表。

  上述步骤1)至步骤4)的顺序仅是示例性的,并且可被改变。此外,可根据预定义的条件省略以上步骤中的一些步骤。

  用于在AMVP模式下推导预测运动矢量候选列表的方法

  可预先定义预测运动矢量候选列表中的预测运动矢量候选的最大数量。可用N来指示预定义的最大数量。例如,预定义的最大数量可以是2。

  可按照以下的步骤1)至步骤3)的顺序将多条运动信息(即,预测运动矢量候选)添加到预测运动矢量候选列表。

  步骤1)可将空间候选之中的可用空间候选添加到预测运动矢量候选列表。空间候选可包括第一空间候选和第二空间候选。

  第一空间候选可以是A0、A1、经缩放的A0和经缩放的A1中的一个。第二空间候选可以是B0、B1、B2、经缩放的B0、经缩放的B1和经缩放的B2中的一个。

  可按照第一空间候选和第二空间候选的顺序将可用空间候选的多条运动信息添加到预测运动矢量候选列表。在这种情况下,当可用空间候选的运动信息与预测运动矢量候选列表中已经存在的其它运动信息重叠时,可不将可用空间候选的运动信息添加到预测运动矢量候选列表。换句话说,当N的值是2时,如果第二空间候选的运动信息与第一空间候选的运动信息相同,则可不将第二空间候选的运动信息添加到预测运动矢量候选列表。

  被添加的运动信息的最大条数可以是N。

  步骤2)当预测运动矢量候选列表中的运动信息的条数小于N并且时间候选可用时,可将时间候选的运动信息添加到预测运动矢量候选列表。在这种情况下,当可用时间候选的运动信息与预测运动矢量候选列表中已经存在的其它运动信息重叠时,可不将可用时间候选的运动信息添加到预测运动矢量候选列表。

  步骤3)当预测运动矢量候选列表中的运动信息的条数小于N时,可将零矢量运动信息添加到预测运动矢量候选列表。

  零矢量运动信息可包括一条或更多条零矢量运动信息。所述一条或更多条零矢量运动信息的参考画面索引可彼此不同。

  编码设备100和/或解码设备200可顺序地将多条零矢量运动信息添加到预测运动矢量候选列表,同时改变参考画面索引。

  当零矢量运动信息与预测运动矢量候选列表中已经存在的其它运动信息重叠时,可不将零矢量运动信息添加到预测运动矢量候选列表。

  以上结合合并列表做出的对零矢量运动信息的描述也可应用于零矢量运动信息。将省略其重复的描述。

  以上描述的步骤1)至步骤3)的顺序仅是示例性的,并且可被改变。此外,可根据预定义的条件省略所述步骤中的一些步骤。

  图12示出根据示例的变换和量化处理。

  如图12中所示,可通过对残差信号执行变换和/或量化处理来生成量化的等级。

  残差信号可以被生成为原始块与预测块之间的差。这里,预测块可以是经由帧内预测或帧间预测生成的块。

  残差信号可以通过作为量化过程的一部分的变换过程被变换为频域中的信号。

  用于变换的变换核可包含各种DCT核,诸如离散余弦变换(DCT)类型2(DCT-II)及离散正弦变换(DST)核。

  这些变换核可对残差信号执行可分离变换或二维(2D)不可分离变换。可分离变换可为指示在水平方向及垂直方向中的每一者上对残差信号执行一维(1D)变换的变换。

  自适应地用于1D变换的DCT类型和DST类型除了DCT-II之外还可以包括DCT-V、DCT-VIII、DST-I和DST-VII,如下表3和下表4中的一个表中所示。

  表3

  

  

  表4

  如表3和表4中所示,当推导出将被用于变换的DCT类型或DST类型时,可以使用变换集。每个变换集可包括多个变换候选。每个变换候选可为DCT类型或DST类型。

  下面的表5示出根据帧内预测模式将被应用于水平方向的变换集和将被应用于垂直方向的变换集的示例。

  表5

  

  

  在表5中,根据目标块的帧内预测模式将被应用于残差信号的水平方向的垂直变换集和水平变换集的编号被示出。

  如表4和表5中所例示,可根据目标块的帧内预测模式来预先定义将被应用于水平方向和垂直方向的变换集。编码设备100可使用包括在与目标块的帧内预测模式对应的变换集中的变换来对残差信号执行变换和逆变换。此外,解码设备200可使用包括在与目标块的帧内预测模式对应的变换集中的变换来对残差信号执行逆变换。

  在变换和逆变换中,如表3和表4中所例示,将被应用于残差信号的变换集可被确定,并且可不被用信号发送。可将变换指示信息从编码设备100用信号发送到解码设备200。变换指示信息可以是指示将被应用于残差信号的变换集中包括的多个变换候选中的哪一个被使用的信息。

  例如,如表4的示例中所示,当目标块的尺寸为64×64或更小时,可根据帧内预测模式来配置各自具有三个变换的变换集。可从由水平方向上的三个变换和垂直方向上的三个变换的组合产生的总共九个多变换方法中选择最优变换方法。通过这样的最优变换方法,残差信号可被编码和/或解码,并且因此可提高编码效率。

  这里,指示属于每个变换集的多个变换中的哪一个已被用于垂直变换和水平变换中的至少一个的信息可被熵编码和/或熵解码。这里,截断一元二值化可被用于对这样的信息进行编码和/或解码。

  如上所述,使用各种变换的方法可被应用于经由帧内预测或帧间预测生成的残差信号。

  变换可包括首次变换和二次变换中的至少一个。可通过对残差信号执行首次变换来生成变换系数,并且可通过对变换系数执行二次变换来生成二次变换系数。

  首次变换可被称为“初次变换”。此外,首次变换也可被称为“自适应多变换(AMT)方案”。如上所述,AMT可表示将不同的变换应用于各个1D方向(即,垂直方向和水平方向)。

  二次变换可以是用于提高由首次变换生成的变换系数的能量集中度的变换。类似于首次变换,二次变换可以是可分离变换或不可分离变换。这样的不可分离变换可以是不可分离二次变换(NSST)。

  可使用预定义的多种变换方法中的至少一种来执行首次变换。例如,所述预定义的多种变换方法可包括离散余弦变换(DCT)、离散正弦变换(DST)、Karhunen-Loeve变换(KLT)等。

  此外,根据定义离散余弦变换(DCT)或离散正弦变换(DST)的核函数,首次变换可以是具有各种类型的变换。

  例如,根据下表6中呈现的变换核,首次变换可包括诸如DCT-2、DCT-5、DCT-7、DST-1和DST-8的变换。在下表6中,例示了用于多变换选择(MTS)的各种变换类型和变换核函数。

  MTS可指对一个或更多个DCT和/或DST核的组合的选择,以便在水平和/或垂直方向上对残差信号进行变换。

  表6

  

  在表6中,i和j可以是等于或大于0并且小于或等于N-1的整数值。

  可对通过执行首次变换而生成的变换系数执行二次变换。

  如在首次变换中,还可在二次变换中定义变换集。用于推导和/或确定上述变换集的方法不仅可被应用于首次变换,还可被应用于二次变换。

  可针对特定目标确定首次变换和二次变换。

  例如,首次变换和二次变换可被应用于与亮度(luma)分量和色度(chroma)分量中的一个或更多个对应的信号分量。可根据针对目标块和/或邻近块的编码参数中的至少一个来确定是否应用首次变换和/或二次变换。例如,可根据目标块的尺寸和/或形状来确定是否应用首次变换和/或二次变换。

  在编码设备100和解码设备200中,可通过利用指定信息来推导指示将被用于目标的变换方法的变换信息。

  例如,变换信息可包括将被用于初次变换和/或二次变换的变换索引。可选地,变换信息可指示初次变换和/或二次变换不被使用。

  例如,当初次变换和二次变换的目标是目标块时,可根据针对目标块和/或与目标块邻近的块的编码参数中的至少一个来确定由变换信息指示的将被应用于初次变换和/或二次变换的变换方法。

  可选地,可从编码设备100向解码设备200用信号发送针对特定目标的变换信息。

  例如,对于单个CU,可由解码设备200将是否使用初次变换、指示初次变换的索引、是否使用二次变换以及指示二次变换的索引推导为变换信息。可选地,对于单个CU,可用信号发送变换信息,其中,所述变换信息指示是否使用初次变换、指示初次变换的索引、是否使用二次变换以及指示二次变换的索引。

  可通过对通过执行首次变换和/或二次变换而生成的结果执行量化或者对残差信号执行量化来生成量化的变换系数(即,量化的等级)。

  图13示出根据示例的对角线扫描。

  图14示出根据示例的水平扫描。

  图15示出根据示例的垂直扫描。

  可根据帧内预测模式、块尺寸和块形状中的至少一个,经由(右上)对角线扫描、垂直扫描和水平扫描中的至少一个对量化的变换系数进行扫描。所述块可以是变换单元(TU)。

  每个扫描可在特定的开始点处启动,并且可在特定的结束点处终止。

  例如,可通过使用图13的对角线扫描对块的系数进行扫描来将量化的变换系数改变为1D矢量形式。可选地,可根据块的尺寸和/或帧内预测模式使用图14的水平扫描或图15的垂直扫描,而不使用对角线扫描。

  垂直扫描可以是在列方向上扫描2D块类型系数的操作。水平扫描可以是在行方向上扫描2D块类型系数的操作。

  换句话说,可根据块的尺寸和/或帧间预测模式来确定对角线扫描、垂直扫描和水平扫描中的哪一个将被使用。

  如图13、图14和图15中所示,可沿着对角线方向、水平方向或垂直方向扫描量化的变换系数。

  量化的变换系数可由块形状表示。每个块可包括多个子块。可根据最小块尺寸或最小块形状来定义每个子块。

  在扫描中,根据扫描的类型或方向的扫描顺序可被首先应用于子块。此外,根据扫描的方向的扫描顺序可被应用于每个子块中的量化的变换系数。

  例如,如图13、图14和图15中所示,当目标块的尺寸是8×8时,可通过对目标块的残差信号的首次变换、二次变换和量化来生成量化的变换系数。因此,可将三种类型的扫描顺序中的一种应用于四个4×4的子块,并且还可根据所述扫描顺序针对每个4×4的子块扫描量化的变换系数。

  经过扫描的量化的变换系数可被熵编码,并且比特流可包括经过熵编码的量化的变换系数。

  解码设备200可经由对比特流进行熵解码来生成量化的变换系数。可经由逆扫描按照2D块的形式对量化的变换系数进行排列。这里,作为逆扫描的方法,可执行右上对角线扫描、垂直扫描和水平扫描中的至少一个。

  在解码设备200中,可对量化的变换系数执行反量化。可根据是否执行二次逆变换,对通过执行反量化而生成的结果执行二次逆变换。此外,可根据是否将执行首次逆变换,对通过执行二次逆变换而生成的结果执行首次逆变换。可通过对经由执行二次逆变换而生成的结果执行首次逆变换来生成重建的残差信号。

  图16是根据实施例的编码设备的配置图。

  编码设备1600可与以上描述的编码设备100对应。

  编码设备1600可包括通过总线1690彼此通信的处理单元1610、内存1630、用户界面(UI)输入装置1650、UI输出装置1660和存储器1640。编码设备1600还可包括连接到网络1699的通信单元1620。

  处理单元1610可以是用于运行存储在内存1630或存储器1640中的处理指令的中央处理器(CPU)或半导体器件。处理单元1610可以是至少一个硬件处理器。

  处理单元1610可生成并处理被输入到编码设备1600的、从编码设备1600输出的、或者在编码设备1600中使用的信号、数据或信息,并且可执行与信号、数据或信息相关的检查、比较、确定等。换句话说,在实施例中,可由处理单元1610执行数据或信息的生成和处理以及与数据或信息相关的检查、比较和确定。

  处理单元1610可包括帧间预测单元110、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190。

  帧间预测单元110、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190中的至少一些可以是程序模块,并且可与外部装置或系统进行通信。所述程序模块可以以操作系统、应用程序模块或其它程序模块的形式被包括在编码设备1600中。

  所述程序模块可被物理地存储在各种类型的公知的存储装置中。此外,所述程序模块中的至少一些也可被存储在能够与编码设备1600进行通信的远程存储装置中。

  程序模块可包括但不限于用于执行根据实施例的功能或操作或者用于实现根据实施例的抽象数据类型的例程、子例程、程序、对象、组件和数据结构。

  可使用由编码设备1600的至少一个处理器运行的指令或代码来实现所述程序模块。

  处理单元1610可运行帧间预测单元110、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190中的指令或代码。

  存储单元可表示内存1630和/或存储器1640。内存1630和存储器1640中的每一个可以是各种类型的易失性或非易失性存储介质中的任意一种。例如,内存1630可包括只读存储器(ROM)1631和随机存取存储器(RAM)1632中的至少一个。

  存储单元可存储用于编码设备1600的操作的数据或信息。在实施例中,编码设备1600的数据或信息可被存储在存储单元中。

  例如,存储单元可存储画面、块、列表、运动信息、帧间预测信息、比特流等。

  编码设备1600可被实现在包括计算机可读存储介质的计算机系统中。

  存储介质可存储编码设备1600的操作所需的至少一个模块。内存1630可存储至少一个模块,并且可被配置为使得所述至少一个模块由处理单元1610运行。

  可通过通信单元1620来执行与编码设备1600的数据或信息的通信相关的功能。

  例如,通信单元1620可将比特流发送到随后将描述的解码设备1700。

  图17是根据实施例的解码设备的配置图。

  解码设备1700可对应于以上描述的解码设备200。

  解码设备1700可包括通过总线1790彼此通信的处理单元1710、内存1730、用户界面(UI)输入装置1750、UI输出装置1760和存储器1740。解码设备1700还可包括连接到网络1799的通信单元1720。

  处理单元1710可以是用于运行存储在内存1730或存储器1740中的处理指令的中央处理器(CPU)或半导体器件。处理单元1710可以是至少一个硬件处理器。

  处理单元1710可生成并处理被输入到解码设备1700的、从解码设备1700输出的、或者在解码设备1700中使用的信号、数据或信息,并且可执行与信号、数据或信息相关的检查、比较、确定等。换句话说,在实施例中,可由处理单元1710执行数据或信息的生成和处理以及与数据或信息相关的检查、比较和确定。

  处理单元1710可包括熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、切换器245、加法器255、滤波器单元260和参考画面缓冲器270。

  解码设备200的熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、加法器255、切换器245、滤波器单元260和参考画面缓冲器270中的至少一些可以是程序模块,并且可与外部装置或系统进行通信。所述程序模块可以以操作系统、应用程序模块或其它程序模块的形式被包括在解码设备1700中。

  程序模块可被物理地存储在各种类型的公知的存储装置中。此外,所述程序模块中的至少一些也可被存储在能够与解码设备1700进行通信的远程存储装置中。

  程序模块可包括但不限于用于执行根据实施例的功能或操作或者用于实现根据实施例的抽象数据类型的例程、子例程、程序、对象、组件和数据结构。

  可使用由解码设备1700的至少一个处理器运行的指令或代码来实现所述程序模块。

  处理单元1710可运行熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、帧间预测单元250、切换器245、加法器255、滤波器单元260和参考画面缓冲器270中的指令或代码。

  存储单元可表示内存1730和/或存储器1740。内存1730和存储器1740中的每一个可以是各种类型的易失性或非易失性存储介质中的任意一种。例如,内存1730可包括ROM1731和RAM 1732中的至少一个。

  存储单元可存储用于解码设备1700的操作的数据或信息。在实施例中,解码设备1700的数据或信息可被存储在存储单元中。

  例如,存储单元可存储画面、块、列表、运动信息、帧间预测信息、比特流等。

  解码设备1700可被实现在包括计算机可读存储介质的计算机系统中。

  存储介质可存储解码设备1700的操作所需的至少一个模块。内存1730可存储至少一个模块,并且可被配置为使得所述至少一个模块由处理单元1710运行。

  可通过通信单元1720来执行与解码设备1700的数据或信息的通信相关的功能。

  例如,通信单元1720可从编码设备1600接收比特流。

  图18示出根据示例的col画面中的col块。

  在图18和后续附图中,“ColP”可表示col画面。“ColB”可表示col块。

  可对诸如PU的单元执行帧间预测,并且可通过用于对PU的运动进行预测的处理来计算PU的运动矢量。为了减少表示运动矢量所需的比特数,可使用合并模式、AMVP模式等。

  合并模式可以是通过将邻近块或col块的运动信息复制作为目标块的运动信息在不进行改变的情况下将邻近块或col块的运动信息用作目标块的运动信息的方法。运动信息可包括运动矢量。

  col块可以是目标画面被编码或解码之前已被编码或解码的参考画面中的一个参考画面内的在与目标块相同的位置处存在的块。这里,包括col块的参考画面可被称为“col画面”。这里,所述位置可以是像素位置。可选地,块的位置可由块的左上位置的坐标定义。

  换句话说,col块在col画面中的位置可与目标块在目标画面中的位置相同。

  AMVP模式可以是将从目标块的邻近块或col块获取的运动矢量用作针对目标块的运动矢量的预测运动矢量并对运动矢量差进行编码和/或解码的方法。运动矢量差可以是经由运动预测计算出的目标块的运动矢量与预测运动矢量之间的差。

  时间运动矢量预测因子(TMVP)可以是从col块或与col块邻近的块获取的运动矢量或运动信息。

  当使用AMVP模式时,TMVP可以是从col块或与col块邻近的块获取的运动矢量或者时间候选的运动矢量。换句话说,当目标块的帧间预测模式是AMVP模式时,TMVP可以是时间候选的运动矢量。

  当使用合并模式时,TMVP可以是从col块或与col块邻近的块获取的运动信息,或者可以是时间候选的运动信息。换句话说,当目标块的帧间预测模式是合并模式时,TMVP可以是时间候选的运动信息。

  在图18中,描绘了目标块的区域1820、第一位置1821和第二位置1822。目标块的区域1820的左上位置的坐标可以是(xP,yP),并且目标块的区域1820的尺寸可以是(nPSW,nPSH)。

  可从布置在第一位置1821处的第一col块获取TMVP。第一col块可以是占据第一位置1821的块。例如,第一位置1821可以是目标块的右下位置。可选地,第一位置可由坐标(xP+nPSW,yP+nPSH)定义。

  可从布置在第二位置1822处的第二col块获取TMVP。第二col块可以是占据第二位置1822的块。例如,第二位置1822可以是目标块的中心的位置。可选地,第二位置可由坐标(xP+(nPSW>>1),yP+(nPSH>>1))定义。

  TMVP的准确度越高,使用TMVP可获得的增益越大。这里,TMVP的准确度高可表示TMVP更接近目标块的运动矢量。

  当对象在图像中移动得更快时,可增加指示该对象的块的运动矢量的大小。当这样的块被用作时间候选时,推导出的TMVP的大小会较大。此外,当TMVP的大小较大时,TMVP的准确度可能极大地劣化。

  在以下实施例中,将描述替代TMVP以增强编码效率的单边时间运动矢量预测因子(UTMVP)。

  可从col画面中的运动矢量获取UTMVP。通过利用UTMVP,关于目标块的运动矢量的确定可减小错误率等。

  图19示出根据示例的TMVP获取处理。

  在图19中,示出了用于获取具有较小运动的TMVP的处理。

  针对目标块1911的col块1921可存在于与目标画面1910中存在的目标块1911相同的位置处。换句话说,目标块1911和col块1921可位于同一位置。col块1921可以是存在于col画面1920中的块。

  可在目标画面1910和参考画面1930的方向上对col块1921的运动矢量1922进行缩放,并且缩放后的运动矢量可被用作目标块1911的TMVP 1912。

  例如,当TMVP 1912的大小较小时,在col块1921的运动矢量1922从col画面1920缩放到目标画面1910时,缩放后的运动矢量可能不会极大地偏离目标块1911。

  在下文中,在参照图19和后续附图的实施例中,目标块可以是特定类型的目标单元。例如,目标块可以是目标PU。

  图20示出根据示例的TMVP获取处理和UTMVP获取处理。

  在图20中,示出了用于获取具有较大运动的TMVP的处理。

  当在从col画面2020到目标画面2010的方向上对针对目标块2011的col块2021的运动矢量2022进行缩放时,缩放后的运动矢量可能极大地偏离目标块2011。在这种情况下,TMVP 2019与目标块2011的实际运动矢量之间的差可能较大。

  为了解决以上问题,可通过利用UTMVP 2012代替TMVP 2019来减小UTMVP 2012与目标块2011的实际运动矢量之间的差。可基于col画面2020中存在的块2023的运动矢量2024来生成UTMVP 2012。

  在实施例中,UTMVP生成方法可表示以下步骤1)至4)。

  步骤1)对于col画面中的候选块,可将至少一个候选块的运动矢量缩放到目标画面,因此可生成第一缩放运动矢量。在下文中,在参照图20和后续附图的实施例中,每个候选块可以是col画面中的特定类型的单元。例如,候选块可以是候选PU。

  在候选块中,术语“候选”可表示对应块的运动矢量具有被用于生成目标块的UTMVP的可能性,但是尚未确定是否将实际使用该运动矢量。

  步骤2)可确定第一缩放运动矢量是否指示目标块。

  步骤3)当第一缩放运动矢量指示目标块时,可通过在从目标画面到参考画面的方向上对候选块的运动矢量进行缩放来生成第二缩放运动矢量。

  步骤4)可将第二缩放运动矢量用作UTMVP。

  图21示出根据示例的UTMVP生成处理。

  在图21中,col画面2120中的候选块2123的运动矢量2124穿过目标画面2110的位置2113被示出。此外,在图21中,针对目标块2111的参考画面2130被示出。

  如图所示,位置2113存在于目标块2111中。换句话说,运动矢量2124穿过目标块2111。

  由于运动矢量2124穿过目标画面2110的目标块2111,因此运动矢量2124可被用于生成UTMVP,并且可通过对运动矢量2124应用缩放来生成UTMVP 2112。

  图22示出根据示例的UTMVP生成处理。

  在图22中,描绘了col画面2220中的候选块2223的运动矢量2224。此外,在图22中,描绘了针对候选块2223的参考画面2240和针对目标块2211的参考画面2230。

  可在从col画面2220到目标画面2210的方向上对候选块2223的运动矢量2224进行缩放。缩放后的运动矢量穿过目标画面2210的位置2213被示出。如图所示,缩放后的运动矢量穿过目标块2211。

  由于缩放后的运动矢量穿过目标块2211,因此运动矢量2224可被用于生成UTMVP2212,并且可通过对运动矢量2224应用缩放来生成UTMVP 2212。

  图23是由根据实施例的解码设备执行的帧间预测方法的流程图。

  根据本实施例的帧间预测方法可被理解为解码方法。

  在步骤2310,解码设备1700的通信单元1720可接收包括帧间预测信息的比特流。

  在步骤2320,解码设备1700的处理单元1710可生成目标块的运动矢量预测因子。

  运动矢量预测因子可以是上述UTMVP。可选地,运动矢量预测因子可以是被用作上述TMVP的UTMVP。当UTMVP满足指定条件时,UTMVP可被用作TMVP。

  处理单元1710可基于针对目标块的col画面中的候选块的运动矢量来生成目标块的运动矢量预测因子。

  例如,处理单元1710可使用以下项中的一个或更多个来生成目标块的运动矢量预测因子:1)col画面中的候选块的运动信息、2)候选块的运动矢量、3)col画面中的候选块的位置、4)目标画面中的目标块的位置、5)候选块相对于目标块的位置、6)col画面的画面顺序计数(POC)、7)针对候选块的参考画面的POC、8)目标画面的POC、9)针对目标块的参考画面的POC、10)从col画面到目标画面的第一时间距离、11)从col画面到针对候选块的参考画面的第二时间距离、12)第一时间距离相对于第二时间距离的比率、13)从目标画面到针对目标块的参考画面的第三时间距离、14)第三时间距离相对于第二时间距离的比率、15)第一差(目标画面的POC与col画面的POC之间的差)、16)第二差(针对候选块的参考画面的POC与col画面的POC之间的差)、17)第一差相对于第二差的比率以及18)第三差(针对目标块的参考画面的POC与目标画面的POC之间的差)。这里,指定画面的POC可表示对应画面在多个画面中的位置。

  在实施例中,处理单元1710可基于针对目标块的帧间预测信息的帧间预测模式来确定是否将生成运动矢量预测因子。

  例如,当帧间预测模式是AMVP模式、合并模式或跳过模式时,处理单元1710可生成运动矢量预测因子。换句话说,处理单元1710可针对AMVP模式、合并模式和跳过模式中的一个或更多个指定帧间预测模式生成运动矢量预测因子。

  如上所述,除了是否使用重建的残差块之外,跳过模式和合并模式可彼此相同或相似。在下文中,合并模式的描述也可被应用于跳过模式。

  在实施例中,可将生成的运动矢量预测因子作为候选添加到针对目标块的列表。该列表可包括一个或更多个候选。帧间预测信息可包括针对列表的索引。针对列表的索引可指示列表中的一个或更多个候选中的哪一个候选将被用于帧间预测。

  例如,当帧间预测信息的帧间预测模式指示AMVP模式时,AMVP模式可被用于目标块。运动矢量预测因子可以是AMVP模式下的预测运动矢量候选。可将运动矢量预测因子作为预测运动矢量候选添加到运动矢量候选列表。

  例如,当帧间预测信息的帧间预测模式指示合并模式时,合并模式可被用于目标块。运动矢量预测因子可以是合并模式下的运动信息。可选地,合并模式下的运动信息可包括运动矢量预测因子。可将运动矢量预测因子作为运动信息或作为运动信息的一部分添加到合并候选列表。

  在步骤2330,处理单元1710可基于运动矢量预测因子执行针对目标块的帧间预测。

  例如,当AMVP模式被用于目标块并且帧间预测信息的预测运动矢量索引指示运动矢量预测因子时,处理单元1710可使用运动矢量候选列表中存在的运动矢量预测因子来执行针对目标块的帧间预测。

  例如,当合并模式被用于目标块并且帧间预测信息的合并索引指示运动矢量预测因子时,处理单元1710可使用合并候选列表中存在的运动矢量预测因子来执行针对目标块的帧间预测。

  处理单元1710可通过基于运动矢量预测因子执行针对目标块的帧间预测来生成针对目标块的预测块。

  处理单元1710可通过将预测块与重建块相加来生成重建块。

  图24是由根据实施例的编码设备执行的帧间预测方法的流程图。

  根据本实施例的帧间预测方法可被理解为编码方法。

  根据图像编码的原理,编码设备1600必须能够以与解码设备1700相同的方式生成针对目标块的重建块。此外,由于由解码设备1700生成的重建块和由编码设备1600生成的重建块必须彼此相同,因此以上参照图16描述的帧间预测方法的至少一部分可由编码设备1600等同地执行。

  在步骤2410,解码设备1600的处理单元1610可生成目标块的运动矢量预测因子。

  运动矢量预测因子可以是上述UTMVP。可选地,运动矢量预测因子可以是被用作上述TMVP的UTMVP。当UTMVP满足指定条件时,UTMVP可被用作TMVP。

  处理单元1610可基于col画面中的候选块的运动矢量来生成目标块的运动矢量预测因子。

  例如,处理单元1610可基于以下项中的一个或更多个来生成目标块的运动矢量预测因子:1)col画面中的候选块的运动信息、2)候选块的运动矢量、3)col画面中的候选块的位置、4)目标画面中的目标块的位置、5)候选块相对于目标块的位置、6)col画面的画面顺序计数(POC)、7)针对候选块的参考画面的POC、8)目标画面的POC、9)针对目标块的参考画面的POC、10)从col画面到目标画面的第一时间距离、11)从col画面到针对候选块的参考画面的第二时间距离、12)第一时间距离相对于第二时间距离的比率、13)从目标画面到针对目标块的参考画面的第三时间距离、14)第三时间距离相对于第二时间距离的比率、15)第一差(目标画面的POC与col画面的POC之间的差)、16)第二差(针对候选块的参考画面的POC与col画面的POC之间的差)、17)第一差相对于第二差的比率以及18)第三差(针对目标块的参考画面的POC与目标画面的POC之间的差)。这里,指定画面的POC可表示对应画面在多个画面中的位置。

  如上所述,除了是否使用重建的残差块之外,跳过模式和合并模式可彼此相同或相似。在下文中,合并模式的描述还可被应用于跳过模式。

  在实施例中,可将生成的运动矢量预测因子作为候选添加到列表。该列表可包括一个或更多个候选。

  例如,处理单元1600可针对目标块使用AMVP模式。这里,帧间预测信息的帧间预测模式可指示AMVP模式。当使用AMVP模式时,运动矢量预测因子可以是AMVP模式下的预测运动矢量候选。可将运动矢量预测因子作为预测运动矢量候选添加到运动矢量候选列表。

  例如,处理单元1600可针对目标块使用合并模式。这里,帧间预测信息的帧间预测模式可指示合并模式。当使用合并模式时,运动矢量预测因子可以是合并模式的运动信息。可选地,合并模式的运动信息可包括运动矢量预测因子。可将运动矢量预测因子作为运动信息或作为运动信息的一部分添加到合并候选列表。

  在步骤2420,处理单元1610可基于运动矢量预测因子生成帧间预测信息。

  帧间预测信息的帧间预测模式可指示是否将生成运动矢量预测因子。

  例如,当帧间预测模式指示AMVP模式、合并模式或跳过模式被用于目标块的帧间预测时,帧间预测模式可指示目标块的运动矢量预测因子将被生成。

  例如,当AMVP模式、合并模式或跳过模式在编码设备1600中被用于目标块的帧间预测时,帧间预测模式可指示AMVP模式、合并模式或跳过模式被用于目标块的帧间预测,并且在使用AMVP模式、合并模式或跳过模式的情况下,运动矢量预测因子还可在解码设备1700中被使用。

  帧间预测信息可包括针对列表的索引。针对列表的索引可指示列表中的一个或更多个候选中的哪一个候选将被用于帧间预测。可选地,在列表中的一个或更多个候选之中,由针对列表的索引指示的候选可与用于帧间预测的运动矢量预测因子相同。

  在步骤2430,编码设备1600的通信单元1620可将包括帧间预测信息的比特流发送到解码设备1700。

  在步骤2440,处理单元1610可基于运动矢量预测因子执行针对目标块的帧间预测。

  例如,当AMVP模式被用于目标块时,处理单元1610可使用运动矢量预测因子执行针对目标块的帧间预测。这里,预测运动矢量索引可指示运动矢量候选列表中的预测运动矢量候选之中的运动矢量预测因子。可选地,在预测运动矢量候选之中,由预测运动矢量索引指示的预测运动矢量候选可与运动矢量预测因子相同。

  例如,当合并模式被用于目标块时,处理单元1610可使用运动矢量预测因子执行针对目标块的帧间预测。这里,合并索引可指示合并列表中的多条运动信息之中的包括运动矢量预测因子的运动信息。可选地,合并列表中的多条运动信息之中的由合并索引指示的运动信息的运动矢量可与运动矢量预测因子相同。

  可选地,处理单元1610可使用目标块的运动矢量来执行针对目标块的帧间预测。这里,目标块的运动矢量与运动矢量预测因子之间可具有指定关系。

  例如,当帧间预测模式指示AMVP模式被用于目标块的帧间预测时,目标块的运动矢量可等于运动矢量预测因子与帧间预测信息的运动矢量差之和。可选地,可基于运动矢量预测因子和帧间预测信息的运动矢量差来生成目标块的运动矢量。

  例如,当帧间预测模式指示合并模式被用于目标块的帧间预测时,目标块的运动矢量可与运动矢量预测因子相同。

  处理单元1710可通过执行针对目标块的帧间预测来生成针对目标块的预测块。

  处理单元1710可通过将预测块与重建块相加来生成重建块。

  用于生成UTMVP的方法

  可使用各种方法来获取UTMVP。通过包括以下将描述的方法的各种方法生成的UTMVP可被用作目标块的TMVP。在下文中,术语“UTMVP候选”可被用于与术语“UTMVP”具有相同的含义。

  以下代码1可指示用于生成UTMVP的第一种方法。

  [代码1]

  

  在代码1中,过程DeriveUTMVP可返回生成的UTMVP或指示UTMVP不可用的值。

  在代码1中,“current PU”可指示作为目标块的PU。

  在代码1中,“p”可指示作为col画面中的候选块的PU。候选块可以是col画面中的块中的任意一个。“ColP”可指示col画面。

  在代码1中,“curPOC”可指示包括目标块的目标画面的POC。“ColPOC”可指示col画面的POC。“p.refPOC”可指示针对候选块的参考画面的POC。“refPOC”可指示针对目标块的参考画面的POC。针对候选块的参考画面可指示由候选块参考的画面。针对目标块的参考画面可指示由目标块参考的画面。

  在代码1中,“scaleDST”可指示第一缩放系数。

  在代码1中,“p.mv”可指示候选块的运动矢量。“dstPt”可指示第一缩放运动矢量。

  在代码1中,函数“isInboundOfCurrentPU(dstPt)”可返回与输入运动矢量dstPt是否指示目标画面的目标块有关的信息。可选地,函数“isInboundOfCurrentPU(dstPt)”可返回与由输入运动矢量dstPt指示的位置是否被包括在目标块中相关的信息。

  在代码1中,“scaleSrc”可指示第二缩放系数。“p.mv”与“scaleSrc”的乘积可指示第二缩放运动矢量。第二缩放运动矢量可以是目标块的UTMVP。

  图25是根据实施例的用于生成目标块的运动矢量预测因子的方法的流程图。

  上面参照图23描述的步骤2330可包括以下步骤2510和步骤2520。此外,上面参照图24描述的步骤2410可包括以下步骤2510和步骤2520。

  在步骤2510,处理单元可确定候选块的运动信息是否将被用于生成目标块的运动矢量预测因子。

  如果确定候选块的运动信息将被用于生成目标块的运动矢量预测因子,则可执行步骤2520。

  如果确定候选块的运动信息将不被用于生成目标块的运动矢量预测因子,则可终止针对当前候选块的处理。

  处理单元可基于指定条件确定候选块的运动信息是否将被用于生成目标块的运动矢量预测因子。

  例如,处理单元1610可基于以下项中的一个或更多个确定是否生成目标块的运动矢量预测因子:1)col画面中的候选块的运动信息、2)候选块的运动矢量、3)col画面中的候选块的位置、4)目标画面中的目标块的位置、5)候选块相对于目标块的位置、6)col画面的画面顺序计数(POC)、7)针对候选块的参考画面的POC、8)目标画面的POC、9)针对目标块的参考画面的POC、10)从col画面到目标画面的第一时间距离、11)从col画面到针对候选块的参考画面的第二时间距离、12)第一时间距离相对于第二时间距离的比率、13)第一差(目标画面的POC与col画面的POC之间的差)、14)第二差(候选块的参考画面的POC与col画面的POC之间的差)以及15)第一差相对于第二差的比率。这里,指定画面的POC可表示对应画面在多个画面中的位置。

  在步骤2520,处理单元可基于候选块的运动信息生成目标块的运动矢量预测因子。

  换句话说,候选块的运动信息可被用于生成目标块的运动矢量预测因子。

  图26是用于确定候选块的运动信息是否将被用于生成运动矢量预测因子的方法的流程图。

  上面参照图25描述的步骤2510可包括步骤2610、步骤2620和步骤2630。

  在步骤2610,处理单元可计算针对候选块的运动矢量的第一缩放系数。

  第一缩放系数可以是通过将第一时间距离除以第二时间距离而获得的值。此外,第一缩放系数可以是第一时间距离相对于第二时间距离的比率。第一时间距离可以是从col画面到目标画面的时间距离。第二时间距离可以是从col画面到针对候选块的参考画面的时间距离。

  可选地,画面之间的距离可由画面的POC之间的差来表示。第一缩放系数可以是通过将第一差除以第二差而获得的值。可选地,第一缩放系数可以是第一差相对于第二差的比率。第一差可以是目标画面的POC与col画面的POC之间的差。第二差可以是针对候选块的参考画面的POC与col画面的POC之间的差。

  在步骤2620,处理单元可通过将第一缩放应用于候选块的运动矢量来生成第一缩放运动矢量。

  处理单元可通过将第一缩放系数乘以候选块的运动矢量来生成第一缩放运动矢量。换句话说,第一缩放运动矢量可以是候选块的运动矢量与第一缩放系数的乘积。

  第一缩放系数可以是用于根据目标画面与针对目标块的参考画面之间的时间方向来对候选块的运动矢量进行缩放的系数。

  第一缩放运动矢量可指示目标画面中的由候选块的运动矢量指示的位置。

  在步骤2630,处理单元可确定第一缩放运动矢量是否指示目标块。

  例如,当第一缩放运动矢量的出发(源)位置是候选块时,如果第一缩放运动矢量的到达位置被包括在目标块的区域中,则第一缩放运动矢量可指示目标块。

  例如,当第一缩放运动矢量的出发位置是候选块时,如果第一缩放运动矢量的到达位置不被包括在目标块的区域中,则第一缩放运动矢量可不指示目标块。

  例如,当候选块的位置与第一缩放运动矢量之和被包括在目标块的区域中时,第一缩放运动矢量可指示目标块。例如,当候选块的位置与第一缩放运动矢量之和偏离目标块的区域时,第一缩放运动矢量可不指示目标块。

  如果确定第一缩放运动矢量指示目标块,则候选块的运动信息可被用于生成目标块的运动矢量预测因子,并且可执行步骤2520。

  如果确定第一缩放运动矢量不指示目标块,则候选块的运动信息可不被用于生成目标块的运动矢量预测因子,并且可终止针对当前候选块的处理。

  图27是根据实施例的用于基于候选块的运动信息生成目标块的运动矢量预测因子的方法的流程图。

  上面参照图25描述的步骤2520可包括步骤2710和步骤2720。

  在步骤2710,处理单元可计算针对候选块的运动矢量的第二缩放系数。

  第二缩放系数可以是通过将第三时间距离除以第二时间距离而获得的值。可选地,第二缩放系数可以是第三时间距离相对于第二时间距离的比率。第三时间距离可以是从目标画面到针对目标块的参考画面的时间距离。第二时间距离可以是从col画面到针对候选块的参考画面的时间距离。

  可选地,画面之间的距离可由画面的POC之间的差来表示。第二缩放系数可以是通过将第三差除以第二差而获得的值。可选地,第三缩放系数可以是第三差相对于第二差的比率。第三差可以是针对目标块的参考画面的POC与目标画面的POC之间的差。第二差可以是针对候选块的参考画面的POC与col画面的POC之间的差。

  在步骤2720,处理单元可通过将第二缩放应用于候选块的运动矢量来生成运动矢量预测因子。

  处理单元可通过将第二缩放系数乘以候选块的运动矢量来生成运动矢量预测因子。换句话说,运动矢量预测因子可以是候选块的运动矢量与第二缩放系数的乘积。

  多个候选块对多个运动矢量预测因子的使用

  如上所述,可针对指定候选块计算运动矢量预测因子。

  候选块可包括多个候选块。可以以特定顺序对多个候选块执行图25的步骤2510和步骤2520。

  可对多个候选块中的每一个执行图25的步骤2510和步骤2520。对于每个候选块,在步骤2510可确定是否将使用对应候选块的运动矢量来生成运动矢量预测因子。

  用于生成运动矢量预测因子的运动矢量可被称为“可用运动矢量”。可用运动矢量可以是满足指定条件的运动矢量。指定条件可以是指示通过将第一缩放应用于候选块的运动矢量而生成的第一缩放矢量是否指示目标块的条件。可选地,指定条件可以是指示候选块的运动矢量的轨迹是否穿透目标块的条件。换句话说,使用可用运动矢量生成的第一缩放矢量可指示目标块。可选地,可用运动矢量的轨迹可穿透目标块。

  不被用于生成运动矢量预测因子的运动矢量可被称为“不可用运动矢量”。不可用运动矢量可以是不满足指定条件的运动矢量。

  在步骤2510和步骤2520,可基于多个候选块的多个可用运动矢量来生成运动矢量预测因子。

  在实施例中,多个可用运动矢量中的作为计算的第一目标的运动矢量可被用于生成运动矢量预测因子。

  在实施例中,多个可用运动矢量的平均值可被用于生成运动矢量预测因子。换句话说,运动矢量预测因子可以是该平均值与第二缩放系数的乘积。

  在实施例中,多个可用运动矢量中的一个或更多个的平均值可被用于生成运动矢量预测因子。换句话说,运动矢量预测因子可以是该平均值与第二缩放系数的乘积。

  在实施例中,多个可用运动矢量中的用于生成到达最接近特定位置的位置的第一缩放矢量的可用运动矢量可被用于生成运动矢量预测因子。该特定位置可以是目标块的中心。可选地,该特定位置可以是目标块内的特定位置。

  在实施例中,多个可用运动矢量中的具有最低绝对差和(SAD)的运动矢量可被用于生成运动矢量预测因子。这里,SAD可以是针对具有可用运动矢量的候选块的重建块与由可用运动矢量指示的重建块之间的SAD。

  在实施例中,可基于目标块的帧间预测指示符从多个可用运动矢量中选择一个或更多个可用运动矢量,并且所选的一个或更多个可用运动矢量可被用于生成运动矢量预测因子。

  例如,当目标块的帧间预测指示符指示L0预测时,多个可用运动矢量中的参考目标块的参考画面列表L0中的参考画面的一个或更多个候选块的一个或更多个可用运动矢量可被用于生成运动矢量预测因子。

  例如,当目标块的帧间预测指示符指示L1预测时,多个可用运动矢量中的参考目标块的参考画面列表L1中的参考画面的一个或更多个候选块的一个或更多个可用运动矢量可被用于生成运动矢量预测因子。

  在实施例中,可基于col画面中的多个候选块的帧间预测指示符从多个候选块的可用运动矢量中选择一个或更多个可用运动矢量,并且所选的一个或更多个可用运动矢量可被用于生成运动矢量预测因子。

  例如,当col画面中的候选块的帧间预测指示符指示特定预测时,与候选块的所述特定预测对应的运动矢量可被用于生成运动矢量预测因子。例如,所述特定预测可以是L0预测,并且对应运动矢量可以是候选块的L0运动矢量。可选地,所述特定预测可以是L1预测,并且对应运动矢量可以是候选块的L1运动矢量。

  在实施例中,可基于目标块的参考画面索引从多个候选块的可用运动矢量中选择一个或更多个可用运动矢量,并且所选的一个或更多个可用运动矢量可被用于生成运动矢量预测因子。

  例如,当目标块的参考画面索引指示特定参考画面时,多个候选块中的参考特定参考画面的一个或更多个候选块的一个或更多个可用运动矢量可被用于生成运动矢量预测因子。例如,特定参考画面可以是参考画面列表L0中的第一参考画面。可选地,特定参考画面可以是参考画面列表L1中的第一参考画面。

  在实施例中,可基于col画面中的候选块的参考画面索引从多个候选块的可用运动矢量中选择一个或更多个可用运动矢量,并且所选的一个或更多个可用运动矢量可被用于生成运动矢量预测因子。

  例如,当候选块的参考画面索引指示特定参考画面时,与候选块的参考画面索引对应的运动矢量可被用于生成运动矢量预测因子。例如,所述特定参考画面可以是参考画面列表L0中的第一参考画面,并且对应运动矢量可以是L0运动矢量。可选地,所述特定参考画面可以是参考画面列表L1中的第一参考画面,并且对应运动矢量可以是L1运动矢量。

  在实施例中,可基于目标画面的POC从多个候选块的可用运动矢量中选择一个或更多个可用运动矢量,并且所选的一个或更多个可用运动矢量可被用于生成运动矢量预测因子。

  例如,基于目标画面的POC与候选块的POC之间的比较,可确定候选块的可用运动矢量是否将被用于生成运动矢量预测因子。这里,候选块的POC可以是由候选块参考的参考画面的POC。

  例如,当目标画面的POC小于候选块的POC时,候选块的可用运动矢量可被用于生成运动矢量预测因子。

  在实施例中,可基于col画面的POC从多个候选块的可用运动矢量中选择一个或更多个可用运动矢量,并且所选的一个或更多个可用运动矢量可被用于生成运动矢量预测因子。

  例如,基于col画面的POC与候选块的POC之间的比较,可确定候选块的可用运动矢量是否将被用于生成运动矢量预测因子。这里,候选块的POC可以是由候选块参考的参考画面的POC。

  例如,当col画面的POC大于候选块的POC时,候选块的可用运动矢量可被用于生成运动矢量预测因子。

  在实施例中,基于与候选块相关的运动矢量的大小,可确定候选块的可用运动矢量是否将被用于生成运动矢量预测因子。这里,相关运动矢量可以是候选块的运动矢量、候选块的第一缩放运动矢量或候选块的运动矢量预测因子。

  例如,基于与候选块相关的运动矢量的大小与预定义阈值之间的比较,可确定候选块的可用运动矢量是否将被用于生成运动矢量预测因子。

  例如,当与候选块相关的运动矢量的大小小于预定义阈值时,候选块的可用运动矢量可被用于生成运动矢量预测因子。

  在实施例中,针对特定帧间预测方向,可确定候选块的可用运动矢量是否将被用于生成运动矢量预测因子。该特定帧间预测方向可以是L0方向或L1方向。

  例如,可从针对L0方向的多个候选块的可用运动矢量中选择一个或更多个可用运动矢量,并且所选的一个或更多个可用运动矢量可被用于生成运动矢量预测因子。

  例如,可从针对L1方向的多个候选块的可用运动矢量中选择一个或更多个可用运动矢量,并且所选的一个或更多个可用运动矢量可被用于生成运动矢量预测因子。

  在实施例中,根据目标块的条带类型或候选块的条带类型,可确定候选块的可用运动矢量是否将被用于生成运动矢量预测因子。条带类型可以是P条带或B条带。

  在实施例中,基于目标块的尺寸,可确定候选块的可用运动矢量是否将被用于生成运动矢量预测因子。

  例如,基于目标块的尺寸与预定义尺寸之间的比较,可确定候选块的可用运动矢量是否将被用于生成运动矢量预测因子。

  例如,当目标块的尺寸小于预定义尺寸M×N时,候选块的可用运动矢量可被用于生成运动矢量预测因子。例如,当目标块的尺寸大于预定义尺寸M×N时,候选块的可用运动矢量可被用于生成运动矢量预测因子。M和N中的每一个可以是正整数。

  在实施例中,根据目标块的帧间预测模式,可确定候选块的可用运动矢量是否将被用于生成运动矢量预测因子。

  例如,当目标块的帧间预测模式是特定模式时,候选块的可用运动矢量可被用于生成运动矢量预测因子。

  例如,当目标块的帧间预测模式是合并模式时,候选块的可用运动矢量可被用于生成运动矢量预测因子。

  例如,当目标块的帧间预测模式是跳过模式时,候选块的可用运动矢量可被用于生成运动矢量预测因子。

  例如,当目标块的帧间预测模式是AMVP模式时,候选块的可用运动矢量可被用于生成运动矢量预测因子。

  在实施例中,基于目标块的编码参数中的至少一个,可确定候选块的可用运动矢量是否将被用于生成运动矢量预测因子。

  在实施例中,可基于目标块的编码参数中的至少一个从多个候选块的可用运动矢量中选择一个或更多个可用运动矢量,并且所选的一个或更多个可用运动矢量可被用于生成运动矢量预测因子。

  在实施例中,基于候选块的编码参数中的至少一个,可确定候选块的可用运动矢量是否将被用于生成运动矢量预测因子。

  例如,可基于候选块的编码参数中的至少一个从多个候选块的可用运动矢量中选择一个或更多个可用运动矢量,并且所选的一个或更多个可用运动矢量可被用于生成运动矢量预测因子。

  根据上述实施例的用于确定使用或不使用的方法中的一种或更多种方法可被彼此组合。

  根据以上参照图25至图27描述的实施例,可对针对单个目标块的col画面中的所有候选块计算运动矢量预测因子。也就是说,当目标块被改变时,针对改变后的目标块重复以上处理,并且因此可针对所有候选块计算运动矢量预测因子。这样的重复可能极大地增加编码和/或解码的计算复杂度。

  以下代码2可指示用于生成UTMVP的第二种方法。

  [代码2]

  

  在代码2中,对于col画面中的所有候选块中的每一个,可使用对应候选块的运动矢量来生成第一缩放运动矢量,并且可识别目标画面中的块之中的由第一缩放运动矢量指示的目的块。候选块的运动矢量可被用于生成识别出的目的块的运动矢量预测因子。

  在代码1和代码2中共同出现的符号中,所述符号的含义可与结合上述代码1解释的那些符号的含义相同。

  在代码2中,“numberOfPUsInPicture”可指示目标画面中的块的总数。可选地,“numberOfPUsInPicture”可指示当目标画面被分区为多个块时通过分区产生的块的数量,其中,所述块皆具有N×N的尺寸。N可以是正整数。

  在代码2中,“UTMVPSet”可表示针对目标画面中的多个块中的每个块存储对应块的UTMVP的存储器。存储器可指示阵列。“UTMVPSet[cP]”可表示块cP的UTMVP。

  在代码2中,“cP”可表示目标画面中的多个块中的由“dstPt”指示的目的块。

  图28是根据实施例的用于生成目标块的运动矢量预测因子的方法的流程图。

  上面参照图23描述的步骤2330可包括以下步骤2810、步骤2820、步骤2830、步骤2840、步骤2850和步骤2860。此外,上面参照图24描述的步骤2410可包括步骤2810、步骤2820、步骤2830、步骤2840、步骤2850和步骤2860。

  处理单元可对col画面中的所有候选块中的每一个执行以下步骤2810、步骤2820、步骤2830、步骤2840、步骤2850和步骤2860。

  可选地,处理单元可对从col画面选择的一些候选块中的每一个执行以下步骤2810、步骤2820、步骤2830、步骤2840、步骤2850和步骤2860。

  在实施例中,目标块可被用于指定目标画面。相反,在实施例中生成的运动矢量预测因子可被设置为除了该目标块之外的目的块的运动矢量预测因子。

  例如,一些被选择的候选块可包括上述实施例中已被描述为基于指定条件而被选择的候选块,并且可包括上述实施例中已被描述为基于指定条件而被选择的具有运动矢量的候选块。

  例如,处理单元可初始化存储器。针对目标画面中的多个块,存储器可存储该多个块中的每个块的运动矢量预测因子。

  在步骤2810,处理单元可计算针对候选块的运动矢量的第一缩放系数。

  步骤2810可与上面参照图26描述的步骤2610对应。这里将省略重复的描述。

  在步骤2820,处理单元可通过将第一缩放应用于候选块的运动矢量来生成第一缩放运动矢量。

  步骤2820可与上面参照图26描述的步骤2620对应。这里将省略重复的描述

  在步骤2830,处理单元可识别目标画面的多个块中的由第一缩放运动矢量指示的目的块。

  例如,当第一缩放运动矢量的出发位置是候选块时,目的块可以是目标画面中存在的多个块中的包括第一缩放运动矢量的到达位置的块。

  例如,目的块可以是目标画面中存在的多个块中的包括由候选块的位置与第一缩放运动矢量之和指示的位置的块。

  在步骤2840,处理单元可计算针对候选块的运动矢量的第二缩放系数。

  步骤2840可与上面参照图27描述的步骤2710对应。这里将省略重复的描述。

  在步骤2850,处理单元可通过将第二缩放应用于候选块的运动矢量来生成运动矢量预测因子。

  步骤2850可与上面参照图27描述的步骤2720对应。这里将省略重复的描述。

  在步骤2860,处理单元可将生成的运动矢量预测因子设置为目的块的运动矢量预测因子。通过这种设置,当目的块是目标块时,在步骤2850生成的运动矢量预测因子可以是目标块的运动矢量预测因子。

  例如,处理单元可将运动矢量预测因子与存储器的元素中的指示目的块的元素相加。当存储器的索引是目的块或目的块的标识符时,指示目的块的元素可以是存储器的元素中的被确定为将通过存储器的索引访问的目标的元素。

  例如,当在步骤2830识别出的目的块是目标块时,生成的运动矢量预测因子可被设置为目标块的运动矢量预测因子。

  通过重复上述步骤2810、步骤2820、步骤2830、步骤2840、步骤2850和步骤2860,可针对col画面中的所有候选块或从col画面选择的一些候选块中的每一个使用对应候选块的运动矢量来生成目的块的运动矢量预测因子。此时,可使用每个候选块的运动矢量来推导第一缩放运动矢量,并且可识别由第一缩放运动矢量指示的目的块。

  在实施例中,可对多个参考画面列表中的每一个执行实施例中的步骤2810、步骤2820、步骤2830、步骤2840、步骤2850和步骤2860。

  例如,当目标画面的条带类型是B条带时,可对参考画面列表L0和参考画面列表L1中的每一个列表执行步骤2810、步骤2820、步骤2830、步骤2840、步骤2850和步骤2860。在这种情况下,存储器可包括可被用于多个参考画面列表中的对应参考画面列表的多个存储器。

  以下代码3可指示用于生成UTMVP的第三种方法。

  [代码3]

  

  在代码3中,添加了用于启动目标块的UTMVP的计算的条件以及用于选择候选块的条件。由于仅针对满足这些条件的目标块和候选块推导UTMVP,因此使用代码3进行编码和/或解码的计算负担可比使用代码1进行编码和/或解码的计算负担进一步减小。

  在代码1和代码3中共同出现的符号中,所述符号的含义可与结合上述代码1解释的那些符号的含义相同。

  在代码3中,“x”和“y”可指示目标块的坐标。

  在代码3中,“TMVP”可以是目标块的TMVP。“||||”可以是用于返回输入值的大小的函数。“T”可指示第一阈值。

  在代码3中,“p.x”和“p.y”可指示候选块的坐标。

  在代码3中,“abs()”可以是返回输入值的绝对值的函数。

  在代码3中,“S”可指示第二阈值。

  图29是根据实施例的用于使用指定条件来生成目标块的运动矢量预测因子的方法的流程图。

  上面参照图23描述的步骤2330可包括以下步骤2910、步骤2920、步骤2930和步骤2940。此外,上面参照图24描述的步骤2410可包括以下步骤2910、步骤2920、步骤2930和步骤2940。

  在步骤2910,处理单元可确定是否推导目标块的运动矢量预测因子。

  处理单元可确定是否将根据指定条件推导目标块的运动矢量预测因子。

  在实施例中,处理单元可基于目标块的TMVP的大小与第一阈值之间的比较的结果来确定是否将根据指定条件推导目标块的运动矢量预测因子。

  例如,当目标块的TMVP的大小等于或大于第一阈值时,处理单元可推导目标块的运动矢量预测因子。

  例如,当目标块的TMVP的大小小于第一阈值时,处理单元可不推导目标块的运动矢量预测因子。

  在实施例中,可基于TMVP的运动矢量的x分量和y分量中的一个或更多个来计算TMVP的大小。

  例如,TMVP的大小可以是x分量的绝对值与y分量的绝对值之和。

  例如,TMVP的大小可以是x分量的值的平方与y分量的值的平方之和。

  例如,TMVP的大小可以是x分量的值的平方与y分量的值的平方之和的平方根。

  例如,第一阈值可由编码设备1600和解码设备1700根据依据TMVP的大小的误差的大小被预定义。换句话说,第一阈值可以是预定义常数。

  例如,可基于目标块的编码参数、与目标块邻近的块的编码参数、col画面中的块的编码参数以及col块的编码参数来设置第一阈值。

  例如,可针对特定单元设置第一阈值。可通过比特流从编码设备1600向解码设备1700用信号发送所设置的第一阈值。当第一阈值被用信号发送时,可使用编码设备1600中的熵编码和解码设备1700中的熵解码。特定单元可以是上述用于编码和/或解码的单元,诸如SPS、PPS、条带或CTU。

  如果确定目标块的运动矢量预测因子将被推导,则可执行步骤2920。

  如果确定目标块的运动矢量预测因子将不被推导,则可终止所述处理。

  在步骤2920,处理单元可根据指定条件来选择候选块。

  处理单元可从col图像中的所有块中将满足指定条件的块选为候选块。

  可选地,处理单元可针对col画面中的所有块中的每一个根据对应块是否满足指定条件来确定对应块是否将被选为候选块。

  在实施例中,处理单元可基于目标块的位置或区域来选择候选块。

  例如,处理单元可基于目标块的多个位置中的至少一个来选择候选块。目标块的所述多个位置可以是目标块的中心位置、左上位置、右上位置、左下位置和右下位置。

  在实施例中,处理单元可基于使用目标块的位置或区域确定的候选区域来选择候选块。

  在实施例中,处理单元可基于col块的位置或区域来选择候选块。

  例如,处理单元可基于col块的多个位置中的至少一个来选择候选块。col块的所述多个位置可以是col块的中心位置、左上位置、右上位置、左下位置和右下位置。

  例如,处理单元可基于使用col块的位置或区域确定的候选区域来选择候选块。

  例如,处理单元可仅将col画面中的块之中的存在于候选区域中的块选为候选块。

  例如,候选区域可以是具有特定尺寸的正方形区域,其中,在所述候选区域中col块的位置是中心位置。可根据第二阈值确定正方形的水平长度和垂直长度。例如,正方形的水平长度和垂直长度可以是第二阈值的两倍。

  例如,1)当col画面中的块的x坐标与目标块的x坐标之间的差的绝对值小于第二阈值时,以及2)当col画面中的块的y坐标与目标块的y坐标之间的差的绝对值小于第二阈值时,处理单元可将col画面中的块选为候选块。换句话说,col画面中的块中的被发现为候选块以便生成运动矢量预测因子的块可限于特定正方形中的块。这里,所述特定正方形的中心可由目标块的坐标限定,并且所述特定正方形的水平长度和垂直长度可以是第二阈值的两倍。

  例如,可基于目标块的编码参数、与目标块邻近的块的编码参数、col画面中的块的编码参数以及col块的编码参数来设置第二阈值。可基于目标块的尺寸来设置第二阈值。

  例如,第二阈值可以是预定义常数。

  例如,可针对特定单元设置第二阈值。可通过比特流从编码设备1600向解码设备1700用信号发送所设置的第二阈值。当第二阈值被用信号发送时,可使用编码设备1600中的熵编码和解码设备1700中的熵解码。特定单元可以是上述用于编码和/或解码的单元,诸如SPS、PPS、条带或CTU。

  在步骤2930,处理单元可确定候选块的运动信息是否将被用于生成目标块的运动矢量预测因子。

  步骤2930可与上面参照图25描述的步骤2510对应。例如,步骤2930可包括步骤2610、步骤2620和步骤2630。这里将省略重复的描述

  在步骤2940,处理单元可基于候选块的运动信息生成目标块的运动矢量预测因子。

  步骤2940可与上面参照图25描述的步骤2520对应。例如,步骤2940可包括步骤2710和步骤2720。这里将省略重复的描述

  针对特定帧间预测模式使用运动矢量预测因子

  如下可在合并模式、AMVP模式等下使用通过上述处理生成的UTMVP。这里,UTMVP可以是上面参照图23至图29描述的运动矢量预测因子。

  在合并模式下,UTMVP可替代TMVP。换句话说,可不使用上述TMVP,并且可将对TMVP的描述应用于UTMVP。

  在合并模式下,可使用TMVP。在这种情况下,所使用的TMVP可以是应用上述UTVMP的各种实施例中的至少一个实施例的TMVP。

  例如,在合并模式下,UTMVP可选择性地替代TMVP。例如,当TMVP的大小小于阈值时,可使用TMVP,而当TMVP的大小等于或大于该阈值时,可使用UTMVP。

  可选地,可以以比TMVP的优先级更高的优先级将实施例中的UTMVP添加到合并候选列表。这里,UTMVP的数量和TMVP的数量可被单独地预定义。

  可选地,可以以比TMVP的优先级更低的优先级将实施例中的UTMVP添加到合并候选列表。这里,UTMVP的数量和TMVP的数量可被单独地预定义。

  在合并模式下,PU可被分区为具有特定尺寸的子块,并可对通过分区产生的子块中的每一个子块计算UTMVP,并且可使用计算出的UTMVP。

  用于合并模式的上述方法中的一个或更多个可被彼此组合。此外,用于合并模式的上述方法还可被应用于跳过模式。

  在AMVP模式下,UTMVP可替代TMVP。换句话说,可不使用上述TMVP,并且可将对TMVP的描述应用于UTMVP。

  在AMVP模式下,可使用TMVP。此时,所使用的TMVP可以是应用上述UTMVP的各种实施例中的至少一个实施例的TMVP。

  例如,在AMVP模式下,UTMVP可选择性地替代TMVP。例如,当TMVP的大小小于阈值时,可使用TMVP,而当TMVP的大小等于或大于该阈值时,可使用UTMVP。

  可选地,可以以比TMVP的优先级更高的优先级将实施例中的UTMVP添加到AMVP候选列表。这里,UTMVP的数量和TMVP的数量可被单独地预定义。

  可选地,可以以比TMVP的优先级更低的优先级将实施例中的UTMVP添加到AMVP候选列表。这里,UTMVP的数量和TMVP的数量可被单独地预定义。

  用于AMVP模式的上述方法中的一个或更多个可被彼此组合。

  在上述实施例中,虽然已基于作为一系列步骤或单元的流程图描述了方法,但是本公开不限于所述步骤的顺序,并且一些步骤可以按照与已描述的步骤的顺序不同的顺序来执行或者与其它步骤同时执行。此外,本领域技术人员将理解:在流程图中示出的步骤不是排他性的,并且还可包括其它步骤,或者,可在不脱离本公开的范围的情况下删除流程图中的一个或更多个步骤。

  上述根据本公开的实施例可被实现为能够由各种计算机装置运行的程序,并且可被记录在计算机可读存储介质上。计算机可读存储介质可单独地或者组合地包括程序指令、数据文件和数据结构。在存储介质上记录的程序指令可被专门设计或配置用于本公开,或者对于计算机软件领域的普通技术人员而言可以是已知的或者可用的。

  计算机可读存储介质可包括本公开的实施例中使用的信息。例如,计算机可读存储介质可包括比特流,其中,所述比特流可包括本公开的实施例中描述的信息。

  计算机可读存储介质可包括非暂时性计算机可读介质。

  计算机可读存储介质的示例可包括被专门配置用于记录和运行程序指令的所有类型的硬件装置,诸如,磁介质(诸如硬盘、软盘和磁带)、光学介质(诸如致密盘(CD)-ROM和数字多功能盘(DVD))、磁光介质(诸如软光盘、ROM、RAM和闪存)。程序指令的示例包括机器代码(诸如由编译器创建的代码)和能够由计算机使用解释器执行的高级语言代码。硬件装置可被配置为作为一个或更多个软件模块进行操作以执行本公开的操作,反之亦可。

  如上所述,虽然已基于特定细节(诸如详细组件以及有限数量的实施例和附图)描述了本公开,但是所述特定细节仅被提供用于容易理解整个公开,本公开不限于这些实施例,本领域技术人员将根据以上描述实践各种改变和修改。

  因此,应理解的是,本公开的精神不限于上述实施例,并且所附权利要求及其等同物和对它们的修改落入本公开的范围内。

《用于使用时间运动信息的图像编码和图像解码的方法和设备.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)