基于块形式的预测方法和装置与流程

文档序号:19187727发布日期:2019-11-20 01:40阅读:208来源:国知局
基于块形式的预测方法和装置与流程

以下实施例总体上涉及一种视频解码方法和设备以及视频编码方法和设备,更具体地讲,涉及一种用于在对视频的编码和解码中基于块的形状执行预测的方法和设备。

本申请要求于2017年3月22日提交的第10-2017-0036257号韩国专利申请、于2017年11月20日提交的第10-2017-0155097号韩国专利申请以及于2018年3月22日提交的第10-2018-0033424号韩国专利申请的权益,它们在此通过整体引用被合并到本申请中。



背景技术:

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

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

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

已开发出各种预测方法来提高帧内预测和/或帧间预测的效率和精度。例如,可对块进行划分以进行有效的预测,并且可对通过划分为产生的每个块执行预测。预测效率可能根据块是否被划分而发生很大的变化。



技术实现要素:

技术问题

实施例旨在提供一种基于块的尺寸和/或形状对块进行划分并针对通过划分而产生的每个分区块推导预测模式的编码设备和方法以及解码设备和方法。

实施例旨在提供一种根据推导出的预测模式对每个分区块执行预测的编码设备和方法以及解码设备和方法。

解决方案

根据一方面,提供了一种编码方法,所述编码方法包括:通过对目标块进行划分来产生多个分区块;针对所述多个分区块中的至少一部分分区块推导预测模式;并基于推导出的所述预测模式对所述多个分区块执行预测。

根据另一方面,提供了一种解码方法,所述解码方法包括:通过对目标块进行划分来产生多个分区块;针对所述多个分区块中的至少一部分分区块推导预测模式;并基于推导出的所述预测模式对所述多个分区块执行预测。

可基于与目标块相关的信息来确定是否对目标块进行划分。

可基于块划分指示符来确定是否对目标块进行划分以及将使用哪种类型的划分。

可基于目标块的尺寸对目标块进行划分。

可基于目标块的形状对目标块进行划分。

可针对所述多个分区块之中的特定分区块推导所述预测模式。

所述特定分区块可以是所述多个分区块之中的位于特定位置的块。

针对所述特定分区块推导出的所述预测模式可被用于所述多个分区块之中除了所述特定分区块之外的其余分区块。

通过组合针对所述特定分区块推导出的所述预测模式和额外的预测模式而决定的预测模式可被用于所述多个分区块之中除了所述特定分区块之外的其余分区块。

最可能模式(mpm)列表可被用于对所述预测模式的推导。

mpm列表可包括多个mpm列表。

所述多个mpm列表中的mpm候选模式可彼此不重叠。

mpm列表可被配置用于特定单元。

所述特定单元可以是目标块。

可基于用于目标块的一个或更多个参考块来配置用于所述多个分区块的mpm列表。

针对所述多个分区块之中的第一块推导出的预测模式可被用于对所述多个分区块之中的第二块进行预测。

第一块的重建像素可被用作用于对第二块进行预测的参考样点。

用于对所述多个分区块进行预测的参考样点可以是与目标块相邻的重建像素。

可针对所述多个分区块之中的最下方块或最右侧块推导所述预测模式。

与目标块的顶部相邻的重建像素可被用作用于对所述最下方块进行预测的参考像素。

可按照预定义的顺序对所述多个分区块执行预测。

所述预定义的顺序可以是从最下方块到最上方块的顺序、从最右侧块到最左侧块的顺序、首先选择最下方块且此后依次选择从最上方块到底部的第二个块的范围内的块的顺序、或者首先选择最右侧块且此后依次选择从最左侧块到右侧的第二个块的范围内的块的顺序。

根据另一方面,提供了一种解码方法,所述解码方法包括:推导预测模式;通过对目标块进行划分来产生多个分区块;并基于推导出的所述预测模式对所述多个分区块执行预测。

有益效果

提供了一种基于块的尺寸和/或形状对块进行划分并针对通过所述划分而产生的每个分区块推导预测模式的编码设备和方法以及解码设备和方法。

提供了一种根据推导出的预测模式对每个分区块执行预测的编码设备和方法以及解码设备和方法。

附图说明

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

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

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

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

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

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

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

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

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

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

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

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

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

图14是根据实施例的预测方法的流程图;

图15是根据实施例的块划分方法的流程图;

图16示出根据示例的8×4目标块;

图17示出根据示例的4×4分区块

图18示出根据示例的4×16目标块;

图19示出根据示例的8×4分区块;

图20示出根据示例的4×4分区块;

图21是根据示例的用于推导分区块的预测模式的方法的流程图;

图22示出根据示例的对分区块的预测;

图23示出根据示例的使用分区块的重建块对分区块的预测;

图24示出根据示例的使用针对分区块的外部参考像素对分区块的预测;

图25示出根据示例的对四个分区块的预测;

图26示出根据示例的在对第四块执行了预测之后对第一块的预测;

图27示出根据示例的对第二块的预测;

图28示出根据示例的对第三块的预测;

图29是根据实施例的预测方法的流程图;

图30示出根据示例的对目标块的预测模式的推导;

图31是示出根据实施例的目标块预测方法和比特流产生方法的流程图;

图32是示出根据实施例的使用比特流的目标块预测方法的流程图;

图33示出根据示例的对上层块的划分;

图34示出根据示例的对目标块的划分;

图35是示出根据实施例的图像编码和解码方法的信号流程图。

最佳实施方式

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

–此外,单元信息可包括单元的类型(指示编码单元、预测单元、残差单元或变换单元)、单元的尺寸、单元的深度、单元的编码和解码的顺序等中的一个或更多个。

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

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

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

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

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

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

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

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

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

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

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

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

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

–可使用一个或更多个分区方法(诸如四叉树和二叉树)对每个编码树单元(ctu)进行分区,以便配置子单元,诸如编码单元、预测单元和变换单元。

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

编码树块(ctb):“ctb”可被用作指定y编码树块、cb编码树块和cr编码树块中的任意一个的术语。

邻近块:邻近块表示与目标块相邻的块。与目标块相邻的块可表示边界与目标块接触的块或者表示位于距目标块预定距离内的块。邻近块可表示与目标块的顶点相邻的块。这里,与目标块的顶点相邻的块可表示与水平相邻于目标块的邻近块垂直相邻的块或者与垂直相邻于目标块的邻近块水平相邻的块。邻近块可以是重建的邻近块。

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

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

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

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

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

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

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

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

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

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

[等式1]

d+λ*r

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

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

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

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

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

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

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

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

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

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

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

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

–参考画面列表的类型可包括合并的列表(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的变换系数等级。

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

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

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

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

图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可省略对残差块进行变换的操作。

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

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

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

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

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

例如,编码参数可包括值或统计信息,诸如预测模式、运动矢量、参考画面索引、编码块图案、存在或不存在残差信号、变换系数、量化的变换系数、量化参数、块尺寸以及块分区信息。预测模式可以是帧内预测模式或帧间预测模式。

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

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

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

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

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

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

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

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

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

去块滤波器可消除在块之间的边界处出现的块失真。为了确定是否应用去块滤波器,可决定被包括在块中并且包括确定是否对目标块应用去块滤波器所基于的像素的列或行的数量。当去块滤波器被应用于目标块时,所应用的滤波器可根据所需要的去块滤波的强度而不同。换句话说,在不同的滤波器之中,可将考虑去块滤波的强度而决定的滤波器应用于目标块。

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

alf可基于通过将重建图像与原始图像进行比较而获得的值来执行滤波。在图像中包括的像素已被划分为预定数量的群组之后,可确定将被应用于群组的滤波器,并且可针对各个群组不同地执行滤波。可针对每个cu用信号传送与是否应用自适应环路滤波器相关的信息。将被应用于各个块的alf的形状和滤波器系数对于各个块可以不同。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

重建块可通过滤波单元260进行滤波。滤波单元260可将去块滤波器、sao滤波器和alf中的至少一个应用于重建块或重建画面。

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

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

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

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

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

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

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

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

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

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

可递归地执行cu的分区直到预定义的深度或预定义的尺寸为止。例如,lcu的深度可以是0,最小编码单元(scu)的深度可以是预定义的最大深度。这里,如上所述,lcu可以是具有最大编码单元尺寸的cu,scu可以是具有最小编码单元尺寸的cu。

可在lcu310处开始进行分区,并且每当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。当单个cu被分区为两个cu时,可认为cu已经以二叉树结构被分区。

除了四叉树分区之外,可将二叉树分区应用于图3的lcu310。

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

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

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

在跳过模式下,在cu中可不存在分区。在跳过模式下,可支持2n×2n模式410,而不进行分区,其中,在2n×2n模式中,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×n模式和n×2n模式。

在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进行编码时出现最小率失真代价的帧内预测模式。

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

变换单元(tu)可以是cu中被用于诸如变换、量化、逆变换、去量化、熵编码和熵解码的过程的基本单元。tu可具有正方形或矩形的形状。

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

在编码设备100中,尺寸为64×64的编码树单元(ctu)可按照递归四叉树结构被分区为多个更小的cu。单个cu可被分区为具有相同尺寸的四个cu。每个cu可被递归划分,并且可具有四叉树结构。

cu可具有给定的深度。当cu被分区时,通过进行分区而产生的cu可具有从被分区的cu的深度增加1的深度。

例如,cu的深度可具有范围从0到3的值。根据cu的深度,cu的尺寸范围可从66×64的尺寸到8×8的尺寸。

通过对cu的递归分区,可选择产生最小率失真代价的最佳分区方法。

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

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

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

编码设备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等。

可选地,预测块可以是尺寸为m×n(诸如2×8、4×8、2×16、4×16、8×16等)的矩形块。

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

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

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

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

定向模式可以是具有特定方向或特定角度的模式。在多个帧内预测模式之中,除了dc模式和平面模式之外的其余模式可以是定向模式。

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

帧内预测模式的数量可被固定为m,而不管块的尺寸如何。可选地,帧内预测模式的数量可根据块的尺寸和/或颜色分量的类型而不同。例如,预测模式的数量可根据颜色分量是亮度信号还是色度信号而不同。例如,块的尺寸越大,帧内预测模式的数量越大。可选地,与亮度分量块相应的帧内预测模式的数量可大于与色度分量块相应的帧内预测模式的数量。

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

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

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

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

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

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

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

当帧内预测模式是dc模式时,可在产生目标块的预测块时使用目标块上方的参考样点和目标块左侧的参考样点的平均值。

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

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

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

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

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

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

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

图7示出了用于对目标块进行帧内预测的参考样点的位置。参照图7,用于对目标块进行帧内预测的重建参考样点可包括左下方参考样点731、左侧参考样点733、左上角参考样点735、上方参考样点737和右上方参考样点739。

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

当目标块的尺寸是n×n时,左下方参考样点731、左侧参考样点733、上方参考样点737和右上方参考样点739的数量可以均是n。

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

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

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

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

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

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

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

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

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

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

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

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

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

图像可根据编码类型被分类为帧内画面(i画面)、单向预测画面或预测编码画面(p画面)、和双向预测画面或双向预测编码画面(b画面)。可根据每个画面的编码类型对每个画面进行编码。

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

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

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

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

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

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

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

可由编码设备100和解码设备200在帧间预测期间单独地推导目标块的运动信息。可使用重建的邻近块的运动信息、同位块(col块)的运动信息和/或与col块相邻的块的运动信息来推导运动信息。col块可以是先前重建的同位画面(col画面)中的块。col块在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中的每一个可使用空间候选的运动矢量、时间候选的运动矢量和零矢量来创建预测运动矢量候选的列表。预测运动矢量候选列表可包括一个或更多个预测运动矢量候选。空间候选的运动矢量、时间候选的运动矢量和零矢量中的至少一个可被确定并被用作预测运动矢量候选。

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

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

时间运动候选可包括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模式被使用时,解码设备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)时间候选的运动信息、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可仅在模式信息指示合并模式被使用时从比特流获取合并索引。

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

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

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

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

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

3)跳过模式

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

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

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

此外,当使用跳过模式时,编码设备100可不将其它语法信息(诸如mvd)发送到解码设备200。例如,当使用跳过模式时,编码设备100可不将与mvc、编码块标志和变换系数等级中的至少一个相关的语法元素用信号传送到解码设备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使用相同的方案基于相同的数据来推导以上描述的列表(即,预测运动矢量候选列表和合并候选列表)。这里,所述相同的数据可包括重建画面和重建块。此外,为了使用索引指定元素,必须固定列表中的元素的顺序。

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

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

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

目标块的坐标可以是(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不使用帧间预测时,候选块的可用性可被设置为“假”。

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

如图10中所示,当空间候选的多条运动信息被添加到合并列表时,可使用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)的顺序仅是示例性的,并且可被改变。此外,可根据预定义的条件省略步骤中的一些步骤。

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

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

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

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

可使用预定义的多种变换方法中的至少一种来执行首次变换。例如,所述预定义的多种变换方法可包括离散余弦变换(dct)、离散正弦变换(dst)、卡洛变换(klt)等。

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

可基于用于目标块和/或邻近块的编码参数中的至少一个来确定被应用于首次变换和/或二次变换的变换方法。可选地,指示变换方法的变换信息可由编码设备用信号传送到解码设备200。

可通过对经由执行首次变换和/或二次变换而产生的结果执行量化或者对残差信号执行量化来产生量化的等级。

可根据帧内预测模式、块尺寸和块形式中的至少一个,基于右上对角扫描、垂直扫描和水平扫描中的至少一个对量化的等级进行扫描。

例如,可通过使用右上对角扫描对块的系数进行扫描来将系数改变为1d矢量形式。可选地,根据帧内块的尺寸和/或帧内预测模式,可使用按照列方向对2d块格式系数进行扫描的垂直扫描或按照行方向对2d块格式系数进行扫描的水平扫描来代替右上对角扫描。

可对扫描后的量化的等级进行熵编码,并且比特流可包括经熵编码的量化的等级。

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

可对量化的等级执行去量化。可根据是否执行二次逆变换,对通过执行去量化而产生的结果执行二次逆变换。此外,可根据是否将执行首次逆变换,对通过执行二次逆变换而产生的结果执行首次逆变换。可通过对经由执行二次逆变换而产生的结果执行首次逆变换来产生重建的残差信号。

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

编码设备1200可对应于以上描述的编码设备100。

编码设备1200可包括通过总线1290彼此通信的处理单元1210、存储器1230、用户界面(ui)输入装置1250、ui输出装置1260和贮存器1240。电子装置1200还可包括连接到网络1299的通信单元1220。

处理单元1210可以是用于运行存储在存储器1230或贮存器1240中的处理指令的中央处理器(cpu)或半导体器件。处理单元1210可以是至少一个硬件处理器。

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

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

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

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

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

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

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

存储单元可表示存储器1230和/或贮存器1240。存储器1230和贮存器1240中的每一个可以是各种类型的易失性或非易失性存储介质中的任意一种。例如,存储器1230可包括只读存储器(rom)1231和随机存取存储器(ram)1232中的至少一个。

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

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

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

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

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

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

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

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

解码设备1300可包括通过总线1390彼此通信的处理单元1310、存储器1330、用户界面(ui)输入装置1350、ui输出装置1360和贮存器1340。解码设备1300还可包括连接到网络1399的通信单元1320。

处理器1310可以是用于运行存储在存储器1330或贮存器1340中的处理指令的中央处理器(cpu)或半导体器件。处理单元1310可以是至少一个硬件处理器。

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

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

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

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

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

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

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

存储单元可表示存储器1330和/或贮存器1340。存储器1330和贮存器1340中的每一个可以是各种类型的易失性或非易失性存储介质中的任意一种。例如,存储器1330可包括rom1331和ram1332中的至少一个。

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

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

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

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

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

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

图14是根据实施例的预测方法的流程图。

可由编码设备1200和/或解码设备1300来执行预测方法。

例如,编码设备1200可执行根据实施例的预测方法以针对目标块和/或多个分区块比较多个预测方案的效率,并且也可执行根据本实施例的预测方法以产生目标块的重建块。

在实施例中,目标块可以是ctu、cu、pu、tu、具有特定尺寸的块、以及具有落在预定义范围内的尺寸的块中的至少一个。

例如,解码设备1300可执行根据实施例的预测方法以产生目标块的重建块。

在下文中,处理单元可对应于编码设备1200的处理单元1210和/或解码设备1300的处理单元1310。

在步骤1410,处理单元可通过对目标块进行划分来产生多个分区块。

处理单元可通过使用与目标块相关的编码参数对目标块进行划分来产生多个分区块。

在实施例中,处理单元可通过基于目标块的尺寸和目标块的形状中的一个或更多个对目标块进行划分来产生多个分区块。

例如,目标块可包括多个分区块。多个分区块也可被称为“多个子块”。

步骤1410的示例将在下面参照图15被详细描述。

在实施例中,可基于与目标块相关的信息来确定是否执行步骤1410,即是否通过对目标块进行划分来产生多个分区块。处理单元可基于与目标块相关的信息来确定是否对目标块应用划分。

在实施例中,与目标块相关的信息可包括目标块的编码参数、包括目标块的目标画面的画面相关信息、关于包括目标块的条带的信息、目标块的量化参数(qp)、目标块的编码块标志(cbf)、目标块的尺寸、目标块的深度、目标块的形状、目标块的熵编码方案、用于目标块的参考块的划分信息、目标块的时间层等级、以及块划分指示符(标志)中的至少一个。

参考块可包括在空间上与目标块相邻的块以及在时间上与目标块相邻的块中的一个或更多个。

1)在实施例中,处理单元可根据目标画面的画面相关信息来确定是否对目标块应用划分。例如,目标画面的画面参数集(pps)可包括指示目标画面中的块是否将被划分的信息。通过pps,可对指示目标画面中的块是否将被划分的信息进行编码和/或解码。可选地,通过pps,可识别被设置使得画面中的块将被划分的画面、或者被设置使得画面中的块将不被划分的画面。

例如,当非正方形目标块被包括在被设置使得画面中的块将被划分的画面中时,处理单元可将非正方形目标块划分为正方形块。

2)在实施例中,处理单元可基于关于特定画面的信息来确定是否对目标块应用划分。例如,特定画面可以是在目标画面之前的画面。

例如,处理单元可根据是否已经对目标画面之前的画面中的块应用了划分来确定是否对目标块应用划分。

例如,当在目标画面之前的画面中非正方形块被划分为正方形块时,处理单元可将目标画面中的非正方形块划分为正方形块。

3)在实施例中,处理单元可基于关于条带的信息来确定是否对目标块应用划分。条带可包括目标块。可选地,条带可包括参考块。

例如,处理单元可根据条带的类型来确定是否对目标块应用划分。条带类型可包括i条带、b条带和p条带。

例如,当非正方形目标块被包括在i条带中时,处理单元可将目标画面的非正方形目标块划分为正方形块。

例如,当非正方形块被包括在p条带或b条带中时,处理单元可将非正方形块划分为正方形块。

4)在实施例中,处理单元可基于关于额外条带的信息来确定是否对目标块应用划分。

例如,额外条带可以是在包括目标块的相应条带之前或之后的条带。额外条带可以是包括用于目标块的参考块的条带。

例如,处理单元可根据额外条带的类型来确定是否对目标块应用划分。额外条带的类型可包括i条带、b条带和p条带。

例如,当额外条带是i条带时,处理单元可将目标画面的非正方形目标块划分为正方形块。

例如,当额外条带是p条带或b条带时,处理单元可将非正方形目标块划分为正方形块。

5)在实施例中,处理单元可基于目标块的量化参数来确定是否对目标块应用划分。

例如,当非正方形目标块的量化参数落在特定范围内时,处理单元可将非正方形目标块划分为正方形块。

6)在实施例中,处理单元可基于目标块的编码块标志(cbf)来确定是否对目标块应用划分。

例如,当非正方形目标块的cbf的值等于特定值或者与特定值相应时,处理单元可将非正方形目标块划分为正方形块。

7)在实施例中,处理单元可基于目标块的尺寸来确定是否对目标块应用划分。

例如,当非正方形目标块的尺寸1)等于特定尺寸或者2)落在特定范围内时,处理单元可将非正方形目标块划分为正方形块。

例如,当非正方形目标块的宽度和高度之和1)等于特定值、2)等于或大于特定值、3)小于或等于特定值、或者4)落在特定范围内时,处理单元可将非正方形目标块划分为正方形块。例如,特定值可以是16。

8)在实施例中,处理单元可基于目标块的深度来确定是否对目标块应用划分。

例如,当非正方形目标块的深度1)等于特定深度或者2)落在特定范围内时,处理单元可将非正方形目标块划分为正方形块。

9)在实施例中,处理单元可基于目标块的形状来确定是否对目标块应用划分。

例如,当非正方形目标块的宽度与高度的比率1)等于特定值或者2)落在特定范围内时,处理单元可将非正方形目标块划分为正方形块。

10)在实施例中,处理单元可基于块划分指示符(标志)来确定是否对目标块应用划分。

块划分指示符可以是指示目标块是否将被划分的指示符。此外,块划分指示符可指示对目标块进行划分的类型。

划分的类型可包括划分的方向。划分的方向可以是垂直方向或水平方向。

划分的类型可包括通过进行划分而产生的分区块的数量。

在实施例中,指示符可包括通过比特流从编码设备1200显式地用信号传送到解码设备1300的信息。在实施例中,指示符可包括块划分指示符。

当块划分指示符被使用时,解码设备1300可基于从编码设备1200提供的块划分指示符来直接确定是否对目标块进行划分以及使用哪种划分的类型。

块划分指示符可以是选择性的(或者可选的)。当不使用块划分指示符时,处理单元可基于与目标块相关的信息的使用条件来确定是否对目标块进行划分以及将使用哪种划分的类型。因此,可在不用信号传送额外信息的情况下确定是否对目标块进行划分。

例如,当块划分指示符指示目标块将被划分时,处理单元可将非正方形目标块划分为正方形块。

可针对序列参数集(sps)、画面参数集(pps)、条带头、并行块头、编码树单元(ctu)、编码单元(cu)、预测单元(pu)和变换单元(tu)中的至少一个单元对块划分指示符进行编码和/或解码。换句话说,提供块划分指示符所用的单元可以是sps、pps、条带头、并行块头、cut、cu、pu和tu中的至少一个。针对特定单元提供的块划分指示符可被共同地应用于特定单元中包括的一个或更多个目标块。

11)在实施例中,处理单元可基于参考块的划分信息来确定是否对目标块应用划分。

参考块可以是空间上相邻的块和/或时间上相邻的块。

例如,划分信息可以是四叉树划分信息、二叉树划分信息、以及四叉树加二叉树(qtbt)信息中的至少一个。

例如,当参考块划分信息指示目标块将被划分时,处理单元可将非正方形目标块划分为正方形块。

12)在实施例中,处理单元可基于目标块的时间层等级来确定是否对目标块应用划分。

例如,当非正方形目标块的时间层等级1)等于特定值或2)落在特定范围内时,处理单元可将非正方形目标块划分为正方形块。

13)此外,在实施例中,与目标块相关的信息还可包括以上描述的被用于对目标块进行编码和/或解码的信息。

在以上描述的实施例1)至13)中,特定值、特定范围和/或特定单元可由编码设备1200或解码设备1300设置。当特定值、特定范围和特定单元由编码设备1200设置时,设置的特定值、设置的特定范围和/或设置的特定单元可通过比特流从编码设备1200用信号传送到解码设备1300。

可选地,可从额外编码参数推导特定值、特定范围和/或特定单元。当编码参数通过比特流在编码设备1200与解码设备1300之间被共享时,或者当编码参数能够由编码设备1200和解码设备1300使用预定义的推导方案被同等地推导时,特定值、特定范围和/或特定单元可不从编码设备1200用信号传送到解码设备1300。

在以上描述的实施例1)至13)中,基于针对目标块的形状的标准确定是否对目标块进行划分的操作仅是示例。在以上描述的实施例1)至13)中,确定是否对目标块进行划分的操作可与在实施例中描述的其它标准(诸如目标块的尺寸)组合。

在步骤1420,处理单元可推导用于多个分区块中的至少一些分区块的预测模式。

在实施例中,预测可以是帧内预测或帧间预测。

步骤1420的示例将在下面参照图21被详细描述。

在步骤1430,处理单元可基于推导出的预测模式对多个分区块执行预测。

在实施例中,处理单元可使用推导出的预测模式对多个分区块中的至少一些分区块执行预测。处理单元可使用基于推导出的预测模式而产生的预测模式来对多个分区块之中的其余块执行预测。

下面将参照图22、图23、图24、图25、图26、图27和图28描述对分区块执行的预测。

图15是根据实施例的块划分方法的流程图。

根据本实施例的块划分方法可对应于以上描述的步骤1410。步骤1410可包括步骤1510和1520中的至少一个。

在步骤1410,处理单元可通过基于目标块的尺寸和目标块的形状中的一个或更多个对目标块进行划分来产生多个分区块。

目标块的尺寸可表示目标块的宽度和/或高度。

目标块的形状可指示目标块是否具有正方形形状。目标块的形状可指示目标块是具有正方形形状还是具有非正方形形状。目标块的形状可以是目标块的宽度与高度的比率。

处理单元可通过使用步骤1510处的预测模式选择方法和步骤1520处的预测模式选择方法中的至少一个对目标块进行划分来产生多个分区块。

在步骤1510,处理单元可通过基于目标块的宽度或高度对目标块进行划分来产生多个分区块。

在实施例中,处理单元可在目标块的宽度和高度彼此不同时对目标块进行划分。

在实施例中,处理单元可对目标块的宽度和高度中的较大的一个划分至少一次。

在实施例中,处理单元可对目标块进行划分,使得分区块的宽度和高度彼此相同。可选地,通过进行划分而产生的分区块的宽度和高度可等于或大于目标块的宽度和高度中的较小的一个。

随后将参照图16、图17、图18、图19和图20描述目标块以及基于目标块的尺寸对目标块进行划分的示例。

在实施例中,当目标块的尺寸小于特定尺寸并且目标块的高度和宽度彼此不同时,处理单元可对目标块进行划分。

在实施例中,当目标块的宽度和高度之和小于特定值并且目标块的宽度和高度彼此不同时,处理单元可对目标块进行划分。

在实施例中,当目标块的尺寸落在特定范围内并且目标块的宽度和高度彼此不同时,处理单元可对目标块进行划分。

在步骤1520,处理单元可通过基于目标块的形状对目标块进行划分来产生多个分区块。

当目标块具有正方形形状时,处理单元可不对目标块进行划分。

当目标块具有非正方形形状时,处理单元可将目标块划分为正方形形状。随后将参照图16、图17、图18和图20描述划分为正方形形状的操作。

如以上在步骤1510和1520所述,处理单元可仅使用目标块的尺寸和形状来确定是否对目标块进行划分,而可不使用直接指示是否对目标块进行划分的信息。因此,指示是否对块进行划分的信息可不从编码设备1200用信号传送到解码设备1300,并且可基于目标块的尺寸和/或形状来推导是否对块进行划分。

图16示出了根据示例的8×4目标块。

在图17中,将解释对目标块的划分。

图17示出了根据示例的4×4分区块。

第一分区块和第二分区块中的每一个的尺寸可以是4×4。

如图17中所示,当目标块的宽度大于目标块的高度时,可垂直地对图16中示出的目标块的宽度进行划分,并因此可推导出两个分区块。

图18示出了根据示例的4×16目标块。

在图19和图20中,将解释对目标块的划分。

图19示出了根据示例的8×4分区块。

第一分区块和第二分区块中的每一个的尺寸可以是8×4。

图20示出了根据示例的4×4分区块。

第一分区块、第二分区块、第三分区块和第四分区块中的每一个的尺寸可以是4×4。

如图19和图20中所示,当目标块的高度大于目标块的宽度时,水平地对图18中示出的目标块的高度进行划分,并因此可推导出两个分区块或四个分区块。

图21是根据示例的用于推导分区块的预测模式的方法的流程图。

根据实施例的预测模式推动方法可对应于以上描述的步骤1420。步骤1420可包括步骤2110、2120和2130中的至少一个。

对于通过对目标块进行划分而产生的多个分区块,1)可针对多个分区块推导各自的预测模式,2)可针对多个分区块之中的特定分区块推导预测模式,以及3)可针对所有的多个分区块推导共同的预测模式。

可根据推导出的预测模式的目标执行步骤2110、2120和2130中的至少一个。

在步骤2110,处理单元可针对多个分区块推导各自的预测模式。

处理单元可使用以上在实施例中描述的预测模式推导方法来针对多个分区块推导各自的预测模式。

在步骤2120,处理单元可针对多个分区块之中的特定分区块推导预测模式。

特定分区块可以是多个分区块之中的位于特定位置处的块。

例如,特定分区块可以是多个分区块之中的最上方块、最下方块、最左侧块、最右侧块、从顶部开始的第n块、从底部开始的第n块、从左侧开始的第n块和从右侧开始的第n块中的一个或更多个。这里,n可以是等于或大于1并且小于或等于分区块的数量的整数。

在实施例中,处理单元可使用在前述实施例中描述的预测模式推导方法针对多个分区块之中的特定分区块推导预测模式。

在实施例中,推导出的预测模式可被用于多个分区块之中除了特定分区块之外的其余分区块。处理单元可将推导出的预测模式用于多个分区块之中除了特定分区块之外的其余分区块。

在实施例中,推导出的预测模式和额外预测模式的组合可被用于多个分区块之中除了特定分区块之外的其余分区块。处理单元可将通过组合推导出的预测模式和额外预测模式而决定的预测模式用于多个分区块之中除了特定分区块之外的其余块。

例如,可使用与各个其余块相关的编码参数来决定额外预测模式。处理单元可使用与其余块相关的编码参数来决定额外预测模式,并且可使用针对特定块推导出的上述预测模式和额外预测模式的组合来决定用于其余块的预测模式。

例如,预测模式的组合可以是指示在多个预测模式的方向之间的方向的预测模式。预测模式的组合可以是根据特定优先级从预测模式之中选择的预测模式。使用预测模式的组合而决定的预测模式可不同于被用于所述组合的预测模式中的每一个。

在步骤2130,处理单元可针对所有的多个分区块推导共同的预测模式。换句话说,用于多个分区块的单个共同的预测模式可被推导。

例如,处理单元可使用用于所有的多个分区块的共同的编码参数来针对所有的多个分区块推导共同的预测模式。

使用最可能模式(mpm)推导预测模式

在针对上述分区块的预测模式的推导中,处理单元可使用最可能模式(mpm)。

为了使用mpm,处理单元可配置mpm列表。

mpm列表可包括一个或更多个mpm候选模式。一个或更多个mpm候选模式的数量可以是n。n可以是正整数。

在实施例中,处理单元可根据目标块的尺寸和/或形状来设置n的值。可选地,处理单元可根据分区块的尺寸、形状和/或数量来设置n的值。

一个或更多个mpm候选模式中的每一个可以是预定义的帧内预测模式之一。

处理单元可基于用于目标块的一个或更多个参考块的一个或更多个预测模式来配置mpm列表中的一个或更多个mpm候选模式。参考块可以是位于预定义的位置处的块,或者可以是与目标块相邻的块。例如,一个或更多个参考块可以是与目标块的顶部相邻的块以及与目标块的左侧相邻的块。

一个或更多个mpm候选模式可以是基于参考块的预测模式而决定的一个或更多个预测模式。处理单元可将参照一个或更多个参考块的预测模式而指定的一个或更多个预测模式决定为一个或更多个mpm候选模式。换句话说,一个或更多个mpm候选模式可以是高概率作为目标块的预测模式的预测模式。可使用实验等来计算这样的概率。例如,众所周知,由于参考块与目标块之间的局部关联,参考块的预测模式将被用作目标块的预测模式的概率很大。因此,参考块的预测模式可被包括在一个或更多个mpm候选模式中。

在实施例中,mpm列表的数量可以是一个或更多个,并且可以是多个。例如,mpm列表的数量可以是m。m可以是正整数。处理单元可使用不同的方法来配置相应的多个mpm列表。

例如,处理单元可配置第一mpm列表、第二mpm列表和第三mpm列表。

一个或更多个mpm列表中的mpm候选模式可彼此不同。可选地,一个或更多个mpm列表中的mpm候选模式可不彼此重叠。例如,当特定帧内预测模式被包含在一个mpm列表中时,多个mpm列表可被配置使得所述特定帧内预测模式不被包含在其它mpm列表中。

mpm列表指示符可被用于指定在一个或更多个mpm列表之中的包含被用于对目标块进行编码和/或解码的预测模式的mpm列表。换句话说,在一个或更多个mpm列表之中的由mpm列表指示符指示的mpm列表可被指定,并且处理单元可将在指定的mpm列表中包含的一个或更多个mpm候选模式中的任意一个mpm候选模式用于对目标块进行预测。

mpm列表指示符可通过比特流从编码设备1200用信号传送到解码设备1300。

当mpm列表指示符被使用时,解码设备1300可基于从编码设备1200提供的mp列表指示符直接确定一个或更多个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列表时,单独的mpm使用指示符可被用于多个mpm列表中的各个mpm列表。可选地,当存在多个mpm列表时,对于多个mpm列表中的一些mpm列表,可存在mpm使用指示符。

例如,用于第nmpm列表的第nmpm使用指示符可指示目标块的预测模式是否存在于第nmpm列表中。

首先,处理单元可使用第一mpm使用指示符来确定目标块的预测模式是否存在于第一mpm列表中。如果确定目标块的预测模式存在于第一mpm列表中,则处理单元可将第一mpm列表中的由索引指示符所指示的mpm候选模式推导为目标块的预测模式。如果确定目标块的预测模式未存在于第一mpm列表中,则处理单元可使用第二mpm使用指示符来确定目标块的预测模式是否存在于第二mpm列表中。

处理单元可使用第nmpm使用指示符来确定目标块的预测模式是否存在于第nmpm列表中。如果确定目标块的预测模式存在于第nmpm列表中,则处理单元可使用索引指示符决定第nmpm列表中的指示目标块的预测模式的mpm候选模式。如果确定目标块的预测模式未存在于第一mpm列表中,则处理单元可使用随后的第n+1mpm使用指示符来确定目标块的预测模式是否存在于第n+1mpm列表中。

当一个mpm使用指示符指示目标块的预测模式存在于相应的mpm列表中时,可不用信号传送该mpm使用指示符之后的mpm使用指示符。

mpm使用指示符、索引指示符和/或预测模式指示符可通过比特流从编码设备1200用信号传送到解码设备1300。

当mpm使用指示符、索引指示符和/或预测模式指示符被使用时,解码设备1300可基于从编码设备1200提供的mpm使用指示符、索引指示符和/或预测模式指示符在1)包含在一个或更多个mpm列表中的mpm候选模式以及2)未包含在一个或更多个mpm列表中的一个或更多个预测模式之中直接确定哪个mpm候选模式或哪个预测模式将被用于对目标块进行预测。

每个mpm列表可针对特定单元被配置。

在实施例中,特定单元可以是具有指定尺寸的块或目标块。

当特定单元被划分时,处理单元可将配置的mpm列表用于对通过划分而产生的多个分区块进行预测。

在实施例中,当目标块的尺寸等于指定尺寸或者与指定尺寸相应时,处理单元可配置用于目标块的mpm列表。当目标块被划分为多个分区块时,处理单元可使用针对目标块配置的mpm列表来推导多个分区块中的每一个的预测模式。

例如,当目标块的尺寸是8×8且分区块是四个4×4块时,可针对8×8块配置mpm列表,并且可使用分别针对四个4×4块配置的mpm列表。

在实施例中,当mpm列表被配置时,处理单元可基于具有指定尺寸的块对在所述具有指定尺寸的块中包括的各个分区块配置mpm列表。换句话说,针对所述具有指定尺寸的块所产生的mpm列表可被共同用于分区块。

例如,当目标块的尺寸是指定尺寸时,可使用用于目标块(而非分区块)的一个或更多个参考块的预测模式来配置用于目标块中的各个分区块的mpm列表。

例如,当目标块的尺寸是8×8,并且分区块是四个4×4块时,处理单元可基于用于目标块的一个或更多个参考块来配置用于四个分区块中的各个分区块的mpm列表。在这种情况下,由于已获得用于目标块的参考块的预测模式,因此处理单元可并行地配置用于四个分区块的mpm列表。

图22示出了根据示例的对分区块的预测。

在图22中,第一块可以是分区块之中的特定块。例如,第一块可以是分区块之中的被首先执行预测的块。

当对第一块进行预测时,处理单元可推导第一块的预测模式。

如图22中所示,当对第一块进行预测时,处理单元可使用与第一块相邻的参考样点。可选地,参考样点可以是与第一块相邻的像素。参考样点可以是与第一块相邻的重建块中的像素。

图23示出了根据示例的使用分区块的重建块对分区块的预测。

在图23中,第二块可以是分区块之中的特定块。例如,第二块可以是分区块之中的2)被第二个执行预测的块、3)被最后一个执行预测的块、3)继第一块的预测后下一个被执行预测的块、4)在第一块的预测之后被执行预测的块、或者5)在至少一个分区块的预测之后被执行预测的块。

如上所述,当对第二块执行预测时,处理单元可使用针对第一块推导的预测模式。

如图22中所示,当对第二块进行预测时,处理单元可使用与第二块相邻的参考样点。

参考样点可以是与第二块相邻的重建块中的像素。参考样点可包括第一块的重建块中的重建像素。

可选地,参考样点可包括存在于在对第二块进行预测之前所预测的额外分区块的重建块中的重建像素。换句话说,当对第二块执行预测时,可使用多个分区块之中的在对第二块进行预测之前所预测的额外分区块。

图24示出了根据示例的使用针对分区块的外部参考像素对分区块的预测。

处理单元可将针对多个分区块的外部像素用作在对分区块的预测中的参考样点。换句话说,当对分区块执行预测时,处理单元可从参考样点中排除多个分区块的内部像素。可用1)位于与排除的像素的方向相同的方向上的最近的像素、或2)与目标块相邻且位于与排除的像素的方向相同的方向上的像素来替换从参考样点排除的像素。

在实施例中,在对多个分区块的预测中,用于预测的参考样点可以是与目标块(而非各个分区块)相邻的重建像素。

例如,如图24中所示,处理单元可在对第二块的预测中从参考样点中排除第一块的重建块中的像素,并且可将与参考块相邻的重建像素用作参考样点。

例如,当对通过对目标块进行划分而产生的多个分区块中的每一个执行预测时,处理单元可将与目标块相邻的重建像素用作参考样点。通过决定这些参考样点,可在对多个分区块进行预测之前设置将被用于对多个分区块进行预测的所有参考样点的值。因此,在对多个分区块进行预测之前,处理单元可设置将被用于对多个分区块进行预测的所有参考样点的值,然后可并行地对多个分区块执行预测。

图25示出了根据示例的对四个分区块的预测。

如图25中所示,可通过对目标块进行划分来产生第一块、第二块、第三块和第四块。

如上所述,处理单元可推导多个分区块之中的特定分区块的预测模式。

在图25中,作为示例,可针对作为最下方块的第四块推导预测模式。推导出的预测模式可被用于其余块,即第一块、第二块和第三块。

处理单元可首先对在多个分区块之中的被推导出预测模式的特定分区块执行预测。接下来,处理单元可使用推导出的预测模式对多个分区块之中除了特定分区块之外的其余块执行预测。

在对被推导出预测模式的特定分区块的预测中,处理单元可将与特定分区块和/或目标块邻近的重建像素用作参考样点。

根据图25,与第四块的顶部相邻的重建像素在对第四块进行预测时可能不存在。因此,在对第四块进行预测时,处理单元可将与目标块的顶部相邻的重建像素用作参考像素。

处理单元可按照预定义的顺序对多个分区块执行预测。预定义的顺序可以与除了通过进行划分而产生的块之外的普通块的顺序不同。例如,预定义的顺序可以是1)从最下方块到最上方块的顺序、或者2)从最右侧块到最左侧块的顺序。可选地,预定义的顺序可以是3)首先选择最下方块并且此后依次选择从最上方块到底部的第二个块的范围内的块的顺序、或者4)首先选择最右侧块并且此后依次选择从最左侧块到右侧的第二个块的范围内的块的顺序。

可选地,预定义的顺序可由编码设备1200和/或解码设备1300任意设置。当预定义的顺序由编码设备1200设置时,设置的预定义的顺序可从编码设备1200用信号传送到解码设备1300。

预测顺序指示符可指示对多个分区块进行预测的顺序。编码设备1200可设置预测顺序指示符的值。预测顺序指示符可通过比特流从编码设备1200用信号传送到解码设备1300。

可选地,预定义的顺序可由编码设备1200和/或解码设备1300基于相同的预定义的方案单独推导。处理单元可使用与目标块相关的编码参数等来推导预定义的顺序。

图26示出了根据示例的在对第四块执行了预测之后对第一块的预测。

如上所述,预定义的顺序可被用于对多个分区块执行预测。

图26中示出的预定义的顺序可被指定,使得在首先对多个分区块之中的最下方块执行预测之后从顶部到底部依次对从最上方块到底部的第二个块的范围内的块执行预测。在根据实施例的定义的顺序中,术语“最下方(底部)”可用术语“最右侧”替换,术语“最上方(顶部)”可用术语“最左侧”替换。

由于按照预定义的顺序对多个分区块执行预测,因此如图26中所示,与按照现有的顺序对多个分区块执行预测的配置相比,可使用额外的参考样点。因此,与传统的帧内预测相比,可使用利用额外的可用参考样点的额外方向上的帧内预测。

当对多个分区块中的每一个执行预测时,处理单元可将存在于在对相应的分区块进行预测之前所预测的分区块的重建块中的像素用作参考样点。

例如,如图26中所示,处理单元可将存在于先前预测的第四块的重建块中的像素用作在对第一块执行预测时的参考样点。

与仅按照普通顺序对分区块执行预测的情况相比,根据这样的预定义的顺序的使用以及存在于先前预测的分区块的重建块中的像素的使用,可按照更多的方向提供参考样点。例如,如图26中所示,位于第一块下方的参考样点可被提供给第一块。

在实施例中,在对分区块的预测中,处理单元可执行使用与分区块的底部相邻的参考样点的帧内预测以及使用与分区块的右侧相邻的参考样点的帧内预测。

例如,可将与分区块的底部相邻的参考样点复制到位于该分区块的上方、左上方和/或右上方位置处的预测块。与分区块的右侧相邻的参考样点可被复制到位于该分区块的左侧、左上方和/或左下方位置处的预测块。

图27示出了根据示例的对第二块的预测。

可在对第四块的预测和对第一块的预测之后执行对第二块的预测。因此,如上所述,用于对第二块进行预测的参考样点可包括第四块的重建块中的像素和第一块的重建块中的像素。

换句话说,当对多个分区块中的特定分区块执行预测时,处理单元可将其它分区块的重建块中的像素用作参考像素。这里,其它分区块可以是在对多个分区块之中的特定分区块执行预测之前已经执行了预测的块。

可选地,当比第二块更早地对第三块执行预测时,图27中所示的参考样点也可被用于对第三块进行预测。

图28示出了根据示例的对第三块的预测。

可在对第四块的预测、对第一块的预测和对第二块的预测之后最后执行对第三块的预测。

图28示出了在对第三块的预测中的可用参考样点。

在实施例中,可从多个参考样点类型之中选择将被用于对在分区块中的特定分区进行预测的参考样点的类型。

例如,在对第三块的预测中,处理单元可使用图25中所示的参考样点、图26中所示的参考样点、图27中所示的参考样点和图28中所示的参考样点中的一个。

当对特定分区块执行预测时,处理单元可使用与多个参考样点类型之一相应的参考样点。

多个参考样点类型可包括第一参考样点类型、第二参考样点类型和第三参考样点类型。

第一参考样点类型的参考样点可以是与目标块相邻的重建像素。换句话说,第一参考样点类型的参考样点可以是图25中所示的参考样点。

第二参考样点类型的参考样点可以是第一参考样点类型的参考样点以及先前已被执行了预测的分区块的重建块中的像素。换句话说,第二参考样点类型的参考样点可以是图26或图27中所示的参考样点。

在实施例中,先前已被执行了预测的分区块的重建块中的像素可在仅由与目标块相邻的重建像素未覆盖的方向上被使用。换句话说,与目标块相邻的重建像素可在分区块的重建块中的像素(例如,在图26中所示的参考样点)之前被使用。

可选地,在实施例中,在先前已被执行了预测的分区块的重建块中的像素可替换与目标块相邻的重建像素(例如,图27中所示的参考样点)中的至少一些重建像素。

换句话说,分区块的重建块中的像素可在与目标块相邻的重建像素之前被使用。

也就是说,由于先前已被执行了预测的分区块的重建块中的像素比与目标块相邻的重建样点更靠近特定分区块,因此先前已被执行了预测的分区块的重建块中的像素(而不是与目标块相邻的重建像素)可被用于对特定分区块进行预测,并且与目标块相邻的重建像素可仅在未被先前已被执行了预测的分区块的重建块中的像素覆盖的方向上被使用。

第三参考样点类型的参考样点可以是与特定分区块相邻的重建像素。换句话说,第三参考样点类型的参考样点可以是图28中所示的参考样点。

在实施例中,处理单元可使用与目标块或分区块相关的信息来决定将被用于对分区块进行预测的参考样点。

在实施例中,处理单元可基于参考样点指示符来决定将被用于对分区块进行预测的参考样点。

参考样点指示符可以是指示将被用于对块进行预测的参考样点的指示符。参考样点指示符可指示多个参考样点类型之中的将被用于对块进行预测的参考样点类型。

处理单元可设置参考样点指示符的值。

参考样点指示符可通过比特流从编码设备1200用信号传送到解码设备1300。可选地,为了至少部分地设置参考样点指示符,可使用与参考块或分区块相关的编码参数。

当参考样点指示符被使用时,解码设备1300可使用从编码设备1200提供的参考样点指示符来直接决定将被用于对分区块进行预测的参考样点。

对参考样点进行滤波

在上述预测被执行之前,处理单元可对参考样点执行滤波,并且可确定是否对参考样点执行滤波。

在实施例中,处理单元可基于目标块的尺寸和/或形状来确定是否对参考样点执行滤波。

在实施例中,处理单元可基于每个分区块的尺寸和/或形状来确定是否对参考样点执行滤波。

在实施例中,处理单元可根据与目标块相邻的重建块是否被用作用于分区块的参考块来确定是否对参考样点执行滤波。

在实施例中,处理单元可根据是否并行地对分区块执行预测来确定是否对参考样点执行滤波。

可选地,在实施例中,处理单元可根据在实施例中描述的特定功能、操作和处理是否被执行来确定是否对参考样点执行滤波。

可选地,在实施例中,处理单元可基于与目标块相关的编码参数或与每个分区块相关的编码参数来确定是否对参考样点执行滤波。

图29是根据实施例的预测方法的流程图。

在以上参照图14所描述的实施例中,已经在步骤1410通过对目标块进行划分来产生多个分区块以及在步骤1420针对多个分区块的预测模式中的至少一些推导预测模式的假设下进行了描述。

在本实施例中,可在已经推导了预测模式之后通过对目标块进行划分来产生多个分区块。

在步骤2910,处理单元可推导预测模式。

例如,推导出的预测模式可以是目标块的预测模式。处理单元可基于以上描述的用于推导目标块的预测模式的方案来推导预测模式。

例如,当目标块被划分时,推导出的预测模式可以是用于对通过对目标块进行划分而产生的多个分区块进行预测的预测模式。换句话说,推导出的预测模式可以是在目标块被划分时所使用的预测模式。

在实施例中,推导出的预测模式可包括多个预测模式。

例如,多个推导出的预测模式可被用于对通过对目标块进行划分而产生的多个分区块进行预测。

与在以上描述的实施例中对分区块的预测模式的推导相关的描述也可被应用于在本实施例中对预测模式的推导。例如,mpm可被用于对预测模式的推导。这里将省略重复描述。

在步骤2920,处理单元可通过对目标块进行划分来产生多个分区块。

以上参照步骤1410描述的与对目标块的划分相关的描述也可被应用于步骤2920。这里将省略重复描述。

在步骤2930,处理单元可使用推导出的预测模式对多个分区块中的至少一些分区块执行预测。

以上参照步骤1430等所描述的与对多个分区块中的至少一些分区块的预测相关的描述也可被应用于步骤2930。然而,在参照步骤1420和1430所进行的描述中,已经在以下假设下进行了描述:针对多个分区块之中的特定分区块推导预测模式、并且针对特定分区块推导出的预测模式或基于推导出的预测模式而决定的预测模式被用于除了特定分区模式之外的其余块。从这样的描述可以理解:在步骤2910推导预测模式并且在步骤2910推导出的预测模式或基于推导出的预测模式而决定的预测模式被用于多个分区块。这里将省略重复描述。

图30示出了根据示例的对目标块的预测模式的推导。

如以上参照图29的实施例所描述的,在步骤2910,可推导目标块的预测模式。当目标块的预测模式被推导时,可按照与以上参照图22、图23和图24所描述的方式类似的方式使用推导出的预测模式来执行对第一块和第二块的预测。

可选地,在步骤2910,可针对目标块推导多个预测模式。推导出的多个预测模式可被用于对各个分区块的预测。

处理单元可根据与目标块相关的编码参数等被使用的方案来确定在推导出的多个预测模式之中的将被用于对分区块进行预测的预测模式、以及在预测模式下将被使用的分区块。

图31是示出根据实施例的目标块预测方法和比特流产生方法的流程图。

可由编码设备1200执行根据本实施例的目标块预测方法和比特流产生方法。该实施例可以是目标块编码方法或视频编码方法的一部分。

在步骤3110,处理单元1210可对块进行划分并推导预测模式。

步骤3110可对应于以上参照图14所描述的步骤1410和1420。步骤3110可对应于以上参照图29所描述的步骤2910和2920。

在步骤3120,处理单元1210可执行使用推导出的预测模式的预测。

步骤3120可对应于以上参照图14所描述的步骤1430。步骤3120可对应于以上参照图29所描述的步骤2930。

在步骤3130,处理单元1210可产生预测信息。可以在步骤3110或3120至少部分地产生预测信息。

预测信息可以是用于前述的块划分和预测模式推导的信息。例如,预测信息可包括以上所述的指示符。

在步骤3140,处理单元1210可产生比特流。

比特流可包括关于编码的目标块的信息。例如,关于编码的目标块的信息可包括目标块和/或分区块的变换和量化的系数、以及目标块和/或分区块的编码参数。比特流可包括预测信息。

处理单元1210可对预测信息执行熵编码,并且可产生包括经熵编码的预测信息的比特流。

处理单元1210可将产生的比特流存储在贮存器1240中。可选地,通信单元1220可将比特流发送到解码设备1300。

图32是示出根据实施例的使用比特流的目标块预测方法的流程图。

可由解码设备1300执行根据本实施例的使用比特流的目标块预测方法。该实施例可以是目标块解码方法或视频解码方法的一部分。

在步骤3210,通信单元1320可获取比特流。通信单元1320可从编码设备1200接收比特流。

比特流可包括关于编码的目标块的信息。例如,关于编码的目标块的信息可包括目标块和/或分区块的变换和量化的系数以及目标块和/或分区块的编码参数。比特流可包括预测信息。

处理单元1310可将获取的比特流存储在贮存器1240中。

在步骤3220,处理单元1310可从比特流获取预测信息。

处理单元1310可通过对比特流的经熵编码的预测信息执行熵解码来获取预测信息。

在步骤3230,处理单元1210可对块进行划分并使用预测信息推导预测模式。

步骤3230可对应于以上参照图14所描述的步骤1410和1420。步骤3230可对应于以上参照图29所描述的步骤2910和2920。

在步骤3240,处理单元1210可执行使用推导出的预测模式的预测。

步骤3240可对应于以上参照图14所描述的步骤1430。步骤3240可对应于以上参照图29所描述的步骤2930。

使用划分指示符对块进行块划分

在以上描述的实施例中,目标块被描述为基于目标块的尺寸和/或形状被划分。

在块划分中,可使用划分指示符。块的划分指示符可指示是否将通过对块进行划分来产生两个或更多个分区块、以及产生的分区块中的每一个是否将在块被编码和解码时被用作编码和解码的单元。

在前述实施例中对与块划分和块预测相关的描述也可被应用于以下的实施例。

在实施例中,块划分指示符可以是二叉树划分指示符,二叉树划分指示符指示块是否将按照二叉树的形式被划分。例如,二叉树划分指示符的名称可以是“binarytree_flag”或“btsplitflag”。

可选地,块划分指示符可以是四叉树指示符,四叉树指示符指示块是否将按照四叉树的形式被划分。

在实施例中,在划分指示符的值之中,第一预定义值可指示块将不被划分,第二预定义值可指示块将被划分。

当块划分指示符具有第一预定义值时,处理单元可不对块进行划分。

在实施例中,当块划分指示符存在并且划分指示符具有第一预定义值时,即使块具有将被应用划分的形状和形式,块也可不被划分。

在实施例中,当块划分指示符具有第二预定义值时,处理单元可通过对块进行划分来产生分区块,并且可对分区块执行编码和/或解码。此外,当块划分指示符具有第二预定义值时,处理单元可通过对块进行划分来产生分区块,并且可根据分区块被划分为的形式和/或形状对特定分区块重新进行划分。

在实施例中,目标块的划分指示符可指示目标块是否将关于目标块被划分。此外,目标块的上层块的划分指示符可指示上层块是否将被划分。当上层块的划分指示符指示上层块将被划分为多个块时,处理单元可将上层块划分为包括目标块的多个块。也就是说,以上在实施例中描述的目标块也可被视为通过经由划分指示符等进行划分而产生的块。

图33示出了根据示例的对上层块的划分。

例如,当上层块的划分指示符具有第二预定义值并且目标块的划分指示符具有第一预定义值时,上层块可被划分为包括目标块的多个块,包括目标块的多个块中的每一个可以是在编码和/或解码中指定处理的目标或单元。

图34示出了根据示例的对目标块的划分。

例如,当上层块的划分指示符具有第二预定义值并且通过对上层块进行划分而产生的目标块具有将被应用划分的尺寸和/或形状时,目标块可被重新划分为多个分区块。多个分区块中的每一个可以是在编码和/或解码中指定处理的目标或单元。

针对块变换等的块划分

在前述实施例中,已在分区块中的每一个是预测的单元的假设下进行了描述。实施例中的分区块可以是编码和/或解码中除了预测之外的另外的处理的单元。

在以下的实施例中,将描述目标块或分区块被用作在对块的编码和/或解码中的预测、变换、量化、逆变换和反量化(去量化)的处理的单元的实施例。

图35是示出根据实施例的图像编码和解码方法的信号流程图。

在步骤3510,编码设备1200的处理单元1210可执行与目标块相关的预测。

在步骤3520,编码设备1200的处理单元1210可基于所述预测执行与目标块相关的变换。

在步骤3530,编码设备1200的处理单元1210可产生包括变换的结果的比特流。

在步骤3540,编码设备1200的通信单元1220可将比特流发送到解码设备1300的通信单元1320。

在步骤3550,解码设备1300的处理单元1310可提取变换的结果。

在步骤3560,解码设备1300的处理单元1310可执行与目标块相关的逆变换。

在步骤3570,解码设备1300的处理单元1310可执行与目标块相关的预测。

将在下面详细描述步骤3510、3520、3530、3540、3550、3560和3570的详细功能以及步骤3510、3520、3560和3570的预测、变换和逆变换。

每个分区块是变换和逆变换的单元的情况

在步骤3510,处理单元1210可通过对目标块执行预测来产生目标块的残差块。

在步骤3520,处理单元1210可基于分区块执行变换。换句话说,处理单元1210可通过对残差块进行划分来产生残差分区块,并且可通过分别对残差分区块执行变换来产生残差分区块的系数。

在下文中,除了变换之外,变换可被理解为包括量化。逆变换可被理解为包括去量化,并且可被理解为在去量化被执行之后被执行。此外,系数可被理解为表示被变换和量化的系数。

在步骤3530的变换的结果可包括多个分区块的系数。

在步骤3560,处理单元1310可使用每个分区块的系数在分区块的基础上执行逆变换。换句话说,处理单元1210可通过对分区块的系数执行逆变换来产生重建的残差分区块。

针对多个分区块的重建的残差分区块可构成目标块的重建的残差块。可选地,目标块的重建的残差块可包括多个重建的残差分区块。

在步骤3570,处理单元1310可通过对目标块执行预测来产生目标块的预测块,并且可通过将预测块与重建的残差块相加来产生重建块。重建块可包括重建的样点。

在实施例中,tu划分指示符可指示是否将基于分区块执行变换和逆变换。例如,tu划分指示符的名称可以是“tusplitflag”。

可通过比特流用信号传送tu划分指示符。

在实施例中,当上层块的划分指示符具有第二预定义值时,可在变换和逆变换步骤将目标块划分为多个分区块,并且可通过tu划分指示符用信号传送是否将对每个分区块执行变换和逆变换。

在实施例中,当上层块的划分指示符具有第二预定义值,并且目标块的划分指示符具有第一预定义值时,可在变换和逆变换步骤将目标块划分为多个分区块,并且可通过tu划分指示符用信号传送是否将对每个分区块执行变换和逆变换。

在实施例中,当目标块的形状和/或形式是将被应用划分的形状和/或形式时,可在变换和逆变换步骤将目标块划分为多个分区块,并且可通过tu划分指示符用信号传送是否将对每个分区块执行变换和逆变换。

这里,将被应用划分的形状和/或形式可以是对目标块的划分被描述为在其它前述实施例中被执行的形状和/或形式,例如,非正方形形状。可选地,将被应用划分的形状和/或形式可表示包括对目标块的划分被描述为在其它前述实施例中被执行的状态和/或情况。在下文中,这与上述内容相同。

在实施例中,当上层块的划分指示符具有第二预定义值时,可将目标块划分为多个正方形分区块,并且可在变换和逆变换步骤对每个分区块执行变换和逆变换。

在实施例中,当上层块的划分指示符具有第二预定义值并且目标块的划分指示符具有第一预定义值时,可将目标块划分为多个正方形分区块,并且可在变换和逆变换步骤对每个分区块执行变换和逆变换。

在实施例中,当目标块的形状和/或形式是将被应用划分的形状和/或形式时,可将目标块划分为多个分区块,并且可在变换和逆变换步骤对每个分区块执行变换和逆变换。

每个分区块是变换、逆变换和预测的单元的情况

在步骤3510,处理单元1210可基于分区块执行预测。换句话说,处理单元1210可通过对预测块执行预测来产生每个分区块的残差分区块。

在实施例中,预测可以是帧内预测。

在步骤3520,处理单元1210可基于分区块执行变换。换句话说,处理单元1210可通过对残差分区块执行变换来产生残差分区块的系数。

在步骤3530进行变换的结果可包括多个分区块的系数。

在步骤3560,处理单元1310可基于分区块执行逆变换。换句话说,处理单元1210可通过对残差分区块的系数执行逆变换来产生重建的残差分区块。

在步骤3570,处理单元1310可基于分区块执行预测。换句话说,处理单元1310可通过对分区块执行预测来产生分区预测块,并且可通过将分区预测块与重建的残差块相加来产生重建的分区块。

多个分区块的重建的分区块可构成目标块的重建块。可选地,目标块的重建块可包括重建的分区块。重建块可包括重建的样点。

在实施例中,pu划分指示符可指示是否将基于分区块执行预测、变换和逆变换。例如,pu划分指示符的名称可以是“intra_pu_splitflag”。

可通过比特流用信号传送pu划分指示符。

在实施例中,当上层块的划分指示符具有第二预定义值时,可在预测步骤将目标块划分为多个分区块,并且可通过pu划分指示符用信号传送是否将对每个分区块执行预测、变换和逆变换。

在实施例中,当上层块的划分指示符具有第二预定义值并且当前块的划分指示符具有第一预定义值时,可在预测步骤将目标块划分为多个分区块,并且可通过pu划分指示符用信号传送是否将对每个分区块执行预测、变换和逆变换。

在实施例中,当目标块的形状和/或形式是将被应用划分的形状和/或形式时,可在预测步骤将目标块划分为多个分区块,并且可通过pu划分指示符用信号传送是否将对每个分区块执行预测、变换和逆变换。

在实施例中,当上层块的划分指示符具有第二预定义值时,可在预测步骤将目标块划分为多个分区块,并且可对每个分区块执行预测、变换和逆变换。

在实施例中,当上层块的划分指示符具有第二预定义值并且目标块的划分指示符具有第一预定义值时,可在预测步骤将目标块划分为多个正方形的分区块,并且可对每个分区块执行预测、变换和逆变换。

在实施例中,当目标块的形状和/或形式是将被应用划分的形状和/或形式时,可在预测步骤将目标块划分为多个分区块,并且可对每个分区块执行预测、变换和逆变换。

每个分区块是预测的单元并且目标块是变换和逆变换的单元的情况

在步骤3510,处理单元1210可基于分区块执行预测。换句话说,处理单元1210可通过对分区块执行预测来产生每个分区块的残差分区块。

多个分区块的残差分区块可构成目标块的残差块。

在步骤3520,处理单元1210可基于目标块执行变换。例如,处理单元1210可使用多个分区块的残差分区块配置目标块的残差块。可选地,目标块的残差块可包括多个分区块的残差分区块。

处理单元1210可通过对目标块的残差块执行变换来产生目标块的系数。

在步骤3530进行变换的结果可包括目标块的系数。

在步骤3560,处理单元1310可使用目标块的系数基于目标块执行逆变换。换句话说,处理单元1210可通过对目标块的系数进行逆变换来产生重建的残差块。

重建的残差块可由多个重建的残差分区块构成。可选地,处理单元1310可通过对重建的残差块进行划分来产生多个重建的残差分区块。可选地,重建的残差块可包括多个重建的残差分区块。

在步骤3570,处理单元1310可基于分区块执行预测。

换句话说,处理单元1210可通过对分区块执行预测来产生每个分区块的分区预测块,并且可通过将分区预测块与重建的残差分区块相加来产生重建的分区块。

当对分区块执行预测时,可将不同的预测模式应用于多个分区块。

针对多个分区块的多个重建的分区块可构成目标块的重建块。可选地,目标块的重建块可包括多个重建的分区块。

在实施例中,tu合并pu划分指示符可指示是否将基于分区块执行预测以及是否将基于目标块执行逆变换。例如,tu合并pu划分指示符的名称可以是“tu_merge_pu_splitflag”。

可通过比特流用信号传送tu合并pu划分指示符。

在实施例中,当上层块的划分指示符具有第二预定义值时,可通过tu合并pu划分指示符用信号传送是否将对目标块执行变换和逆变换以及是否将对每个分区块执行预测。

在实施例中,当上层块的划分指示符具有第二预定义值并且目标块的划分指示符具有第一预定义值时,可通过tu合并pu划分指示符用信号传送是否将对目标块执行变换和逆变换以及是否将对每个分区块执行预测。

在实施例中,当目标块的形状和/或形式是将被应用划分的形状和/或形式时,可通过tu合并pu划分指示符用信号传送是否将对目标块执行变换和逆变换以及是否将对每个分区块执行预测。

在实施例中,当上层块的划分指示符具有第二预定义值时,可对各个分区块执行预测,并且可在对分区块执行预测之后对目标块执行变换。此外,当上层块的划分指示符具有第二预定义值时,可对目标块执行逆变换,可在对目标块执行逆变换之后对各个分区块执行预测,并且可产生用于目标块的重建的样点。

在实施例中,当上层块的划分指示符具有第二预定义值并且目标块的划分指示符具有第一预定义值时,可对各个分区块执行预测,并且可在对分区块执行预测之后对目标块执行变换。此外,当上层块的划分指示符具有第二预定义值并且目标块的划分指示符具有第一预定义值时,可对目标块执行逆变换,可在对目标块执行逆变换之后对分区块执行预测,并且可产生用于目标块的重建的样点。

在实施例中,当目标块的形状和/或形式是将被应用划分的形状和/或形式时,可对各个分区块执行预测,并且可在对分区块执行预测之后对目标块执行变换。此外,当目标块的形状和/形式是将被应用划分的形状和/或形式时,可对目标块执行逆变换,可在对目标块执行逆变换之后对各个分区块执行预测,并且可产生用于目标块的重建的样点。

在以上描述的实施例中,虽然已基于作为一系列步骤或单元的流程图描述了方法,但是本公开不限于步骤的顺序,并且一些步骤可以按照与已描述的步骤的顺序不同的顺序来执行或者与其它步骤同时执行。此外,本领域技术人员将理解:在流程图中示出的步骤不是排他性的,并且还可包括其它步骤,或者,可在不脱离本公开的范围的情况下删除流程图中的一个或更多个步骤。

以上描述的根据本公开的实施例可被实现为能够由各种计算机装置运行的程序,并且可被记录在计算机可读存储介质上。计算机可读存储介质可单独地或者组合地包括程序指令、数据文件和数据结构。在存储介质上记录的程序指令可被专门设计或配置用于本公开,或者对于计算机软件领域的普通技术人员可以是已知的或者可用的。计算机存储介质的示例可包括被专门配置用于记录和运行程序指令的所有类型的硬件装置,诸如,磁介质(诸如硬盘、软盘和磁带)、光学介质(诸如致密盘(cd)-rom和数字多功能盘(dvd))、磁光介质(诸如软光盘、rom、ram和闪存)。程序指令的示例包括机器代码(诸如由编译器创建的代码)和能够由计算机使用解释器执行的高级语言代码。硬件装置可被配置为作为一个或更多个软件模块进行操作以执行本公开的操作,反之亦然。

如上所述,虽然已基于特定细节(诸如详细组件和有限数量的实施例和附图)描述了本公开,但是所述特定细节仅被提供用于容易理解本公开,本公开不限于这些实施例,本领域技术人员将根据以上描述实践各种改变和修改。

因此,应该理解的是,本实施例的精神不受限于上述实施例,并且所附权利要求及其等同物和对它们的修改落入本公开的范围内。

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