图像编码/解码方法和装置、以及存储比特流的记录介质

文档序号:1722490 发布日期:2019-12-17 浏览:15次 >En<

阅读说明:本技术 图像编码/解码方法和装置、以及存储比特流的记录介质 () 是由 高玄硕 林成昶 姜晶媛 李镇浩 李河贤 全东山 金晖容 于 2018-04-27 设计创作,主要内容包括:本发明涉及图像编码/解码方法和装置。根据本发明的图像解码方法可以包括以下步骤:基于当前块的邻近块的帧内预测模式和邻近块的帧内预测模式的频数,配置MPM列表;基于所述MPM列表推导当前块的帧内预测模式;并且基于当前块的帧内预测模式对当前块执行帧内预测。()

图像编码/解码方法和装置、以及存储比特流的记录介质

技术领域

本发明涉及一种用于对图像进行编码/解码的方法和设备。特别地,本发明涉及一种用于使用帧内预测对图像进行编码/解码的方法和设备、以及一种存储通过本发明的图像编码方法/设备生成的比特流的记录介质。

背景技术

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

图像压缩技术包括各种技术,包括:帧间预测技术,从当前画面的先前或后续画面预测当前画面中包括的像素值;帧内预测技术,通过使用当前画面中的像素信息来预测当前画面中包括的像素值;变换和量化技术,用于压缩残差信号的能量;熵编码技术,将短码分配给具有高出现频率的值,将长码分配给具有低出现频率的值;等等。图像数据可以通过使用这样的图像压缩技术被有效地压缩,并且可以被发送或存储。

发明内容

技术问题

本发明的目的在于提供一种用于对图像进行编码和解码以提高压缩效率的方法和设备、以及一种存储通过本发明的图像编码方法/设备生成的比特流的记录介质。

本发明的另一目的在于提供一种用于使用帧内预测对图像进行编码和解码以提高压缩效率的方法和设备、以及一种存储通过本发明的图像编码方法/设备生成的比特流的记录介质。

本发明的另一目的在于提供一种用于对图像进行编码和解码以有效地用信号发送帧内预测模式的方法和设备、以及一种存储通过本发明的图像编码方法/设备生成的比特流的记录介质。

技术方案

根据本发明的对图像进行解码的方法,其中,该方法由图像解码设备执行,该方法可以包括:基于当前块的邻近块的帧内预测模式和邻近块的帧内预测模式的频数来配置MPM列表,基于MPM列表推导当前块的帧内预测模式,并基于当前块的帧内预测模式对当前块执行帧内预测。

在根据本发明的对图像进行的方法中,可以根据预定顺序将邻近块的帧内预测模式添加到MPM列表,并且可以基于当前块的尺寸或形状来确定所述预定顺序。

在根据本发明的对图像进行解码的方法中,当当前块是水平长的非正方形块时,对于所述预定顺序,在邻近块之中,与当前块的左侧相邻的左侧邻近块可以比与当前块的上侧相邻的上侧邻近块优先,并且当当前块是垂直长的非正方形块时,对于所述预定顺序,上侧邻近块可以比左侧邻近块优先。

在根据本发明的对图像进行解码的方法中,可以基于相应邻近块的尺寸来确定频数。

在根据本发明的对图像进行解码的方法中,当邻近块的水平长度是W并且邻近块的垂直长度是H时,频数可以是W×H、W或H。

在根据本发明的对图像进行解码的方法中,当当前块是水平长的非正方形块时,可以将水平模式优先添加到MPM列表,并且当当前块是垂直长的非正方形块时,可以将垂直模式优先添加到MPM列表。

在根据本发明的对图像进行解码的方法中,可以基于频数来重新排列存储在MPM列表中的帧内预测模式。

在根据本发明的对图像进行解码的方法中,还可以包括:在频数等于或大于预定阈值的帧内预测模式旁边的位置处添加非角度模式。

在根据本发明的对图像进行解码的方法中,当在相邻块的帧内预测模式中,角度模式的数量大于非角度模式的数量时,可以将角度模式优先添加到MPM列表。

在根据本发明的对图像进行解码的方法中,还可以包括:将通过将预定偏移量与包括在MPM列表中的角度模式相加而获得的模式添加到MPM列表。

根据本发明的对图像进行编码的方法,其中,该方法由图像编码设备执行,该方法可以包括:确定当前块的帧内预测模式并基于确定的帧内预测模式对当前块执行帧内预测,基于当前块的邻近块的帧内预测模式和邻近块的帧内预测模式的频数配置MPM列表,并且基于MPM列表对当前块的帧内预测模式进行编码。

在根据本发明的对图像进行编码的方法中,可以根据预定顺序将邻近块的帧内预测模式添加到MPM列表,并且可以基于当前块的尺寸或形状来确定所述预定顺序。

在根据本发明的对图像进行编码的方法中,当当前块是水平长的非正方形块时,对于所述预定顺序,在邻近块之中,与当前块的左侧相邻的左侧邻近块可以比与当前块的上侧相邻的上侧邻近块优先,当当前块是垂直长的非正方形块时,对于所述预定顺序,上侧邻近块可以比左侧邻近块优先。

在根据本发明的对图像进行编码的方法中,可以基于相应邻近块的尺寸来确定频数。

在根据本发明的对图像进行编码的方法中,当邻近块的水平长度是W并且邻近块的垂直长度是H时,频数可以是W×H、W或H。

在根据本发明的对图像进行编码的方法中,当前块是水平长的非正方形块,可以将水平模式优先添加到MPM列表,并且当当前块是垂直长的非正方形块时,可以将垂直模式优先添加到MPM列表。

在根据本发明的对图像进行编码的方法中,可以基于频数来重新排列存储在MPM列表中的帧内预测模式。

在根据本发明的对图像进行编码的方法中,还可以包括:在频数等于或大于预定阈值的帧内预测模式旁边的位置处添加非角度模式。

在根据本发明的对图像进行编码的方法中,当在邻近块的帧内预测模式中,角度模式的数量大于非角度模式的数量时,可以将角度模式优先添加到MPM列表。

根据本发明的计算机可读记录介质可以存储通过根据本发明的图像编码方法生成的比特流。

有益效果

根据本发明,可以提供一种提高压缩效率的图像编码/解码方法和设备、以及一种存储通过本发明的图像编码方法/设备生成的比特流的记录介质。

并且,根据本发明,可以提供一种提高压缩效率的使用帧内预测的图像编码/解码方法和设备、以及一种存储通过本发明的图像编码方法/设备生成的比特流的记录介质。

并且,根据本发明,可以提供用于有效地用信号发送帧内预测模式的图像编码/解码方法和设备、以及一种存储通过本发明的图像编码方法/设备生成的比特流的记录介质。

附图说明

图1是示出根据本发明实施例的编码设备的配置的框图。

图2是示出根据本发明实施例的解码设备的配置的框图。

图3是示意性地示出在对图像进行编码和解码时图像的分区结构的示图。

图4是示出帧内预测处理的示图。

图5是示出根据本发明实施例的对当前块执行帧内预测的方法的示图。

图6是示出当前块的邻近块的示图。

图7是示出初始化当前块的MPM列表的实施例的示图。

图8是示出根据块形状可用的多种帧内预测模式的示图。

图9是示出角度帧内预测模式的角度的示图。

图10是描绘可用于当前块的帧内预测的邻近重建样点线的示例性示图。

图11是描绘为当前块中包括的子块构建参考样点的实施例的示图。

图12是描绘用于使用可用重建样点来替换不可用重建样点的方法的示图。

图13是示出根据当前块的形状的帧内预测的示例性示图。

具体实施方式

可以对本发明进行各种修改,并且存在本发明的各种实施例,其中,现在将参照附图来提供本发明的各种实施例的示例并对其进行详细描述。然而,本发明不限于此,尽管示例性实施例可以被解释为包括本发明的技术构思和技术范围内的所有修改、等同物或替代物。在各个方面,相似的附图标号指代相同或相似的功能。在附图中,为了清楚起见,可夸大元件的形状和尺寸。在本发明的以下详细描述中,参照了附图,其中,附图以图示的方式示出了可以实践本发明的特定实施例。足够详细地描述了这些实施例以使本领域技术人员能够实施本公开。应当理解的是,本公开的各种实施例尽管不同,但不一定是互斥的。例如,在不脱离本公开的精神和范围的情况下,结合一个实施例在此描述的特定特征、结构和特性可以在其他实施例中实现。另外,应当理解,在不脱离本公开的精神和范围的情况下,可以修改每个公开的实施例内的各个元件的位置或布置。因此,以下详细描述不应被视为具有限制意义,并且本公开的范围仅由所附权利要求(在合适的解释的情况下,还连同权利要求所要求的等同物的全部范围)来限定。

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

将理解的是,在本说明书中,当元件仅仅被称为“连接到”或“耦接到”另一元件而不是“直接连接到”或“直接耦接到”另一元件时,它可以“直接连接到”另一元件或“直接耦接到”另一元件,或者在元件与另一元件之间介入有其他元件的情况下连接到或耦接到另一元件。相反,应当理解,当元件被称为“直接耦接”或“直接连接”到另一元件时,不存在中间元件。

此外,本发明的实施例中所示的构成部分被独立地示出,以表示彼此不同的特征功能。因此,这并不意味着每个构成部分都以单独的硬件或软件的构成单元构成。换言之,为了方便,每个构成部分包括列举的构成部分中的每个。因此,每个构成部分的至少两个组成部分可以被组合以形成一个组成部分,或者一个构成部分可以被划分为多个构成部分以执行每种功能。如果没有脱离本发明的实质,则将每个构成部分组合的实施例和将一个构成部分划分的实施例也包括在本发明的范围内。

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

另外,某些构成部分可能不是执行本发明的基本功能的必不可少的构成部分,而是仅改善其性能的选择性构成部分。可通过仅包括用于实现本发明的本质的必不可少的构成部分而不包括用于改善性能的构成部分来实现本发明。仅包括必不可少的构成部分而不包括仅用于提高性能的选择性构成部分的结构也包括在本发明的范围内。

在下文中,将参照附图详细描述本发明的实施例。在描述本发明的示例性实施例时,将不详细描述公知的功能或构造,因为它们可能不必要地模糊对本发明的理解。附图中相同的构成元件由相同的附图标号表示,并且对相同元件的重复描述将被省略。

在下文中,图像可以指构成视频的画面,或者可以指视频本身。例如,“对图像进行编码或解码或者进行编码和解码两者”可指“对运动画面进行编码或解码或者进行编码和解码两者”,并且可指“对运动画面的图像中的一个图像进行编码或解码或者进行编码和解码两者。”

在下文中,术语“运动画面”和“视频”可以用作相同的含义并且彼此替换。

在下文中,目标图像可以是作为编码目标的编码目标图像和/或作为解码目标的解码目标图像。此外,目标图像可以是输入到编码设备的输入图像、以及输入到解码设备的输入图像。这里,目标图像可以与当前图像具有相同的含义。

在下文中,术语“图像”、“画面”、“帧”和“屏幕”可以用作相同的含义并且彼此替换。

在下文中,目标块可以是作为编码目标的编码目标块和/或作为解码目标的解码目标块。此外,目标块可以是作为当前编码和/或解码目标的当前块。例如,术语“目标块”和“当前块”可以用作相同的含义并且彼此替换。

在下文中,术语“块”和“单元”可以用作相同的含义并且彼此替换。或者“块”可以表示特定单元。

在下文中,术语“区域”和“片段”可以彼此替换。

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

在实施例中,特定信息、数据、标志、索引、元素和属性等中的每一个可以具有值。等于“0”的信息、数据、标志、索引、元素和属性的值可以表示逻辑假或第一预定义值。换言之,值“0”、假、逻辑假和第一预定义值可以彼此替换。等于“1”的信息、数据、标志、索引、元素和属性的值可以表示逻辑真或第二预定义值。换句话说,值“1”、真、逻辑真和第二预定义值可以彼此替换。

当变量i或j用于表示列、行或索引时,i的值可以是等于或大于0的整数、或者等于或大于1的整数。也就是说,列、行、索引等可以从0开始计数,或者可以从1开始计数。

术语描述

编码器:表示执行编码的设备。也就是说,表示编码设备。

解码器:表示执行解码的设备。也就是说,表示解码设备。

块:是M×N的样点阵列。这里,M和N可以表示正整数,并且块可以表示二维形式的样点阵列。块可以指单元。当前块可以表示在编码时成为目标的编码目标块,或者在解码时成为目标的解码目标块。另外,当前块可以是编码块、预测块、残差块和变换块中的至少一个。

样点:是构成块的基本单元。根据比特深度(Bd),样点可以被表示为从0到2Bd-1的值。在本发明中,样点可以用作像素的含义。也就是说,样点、pel、像素可以具有彼此相同的含义。

单元:可以指编码和解码单元。当对图像进行编码和解码时,单元可以是通过对单个图像进行分区而生成的区域。另外,当在编码或解码期间将单个图像分区为子划分单元时,单元可以表示子划分单元。也就是说,图像可以被分区为多个单元。当对图像进行编码和解码时,可以执行针对每个单元的预定处理。单个单元可以被分区为尺寸小于该单元的尺寸的子单元。依据功能,单元可以表示块、宏块、编码树单元、编码树块、编码单元、编码块、预测单元、预测块、残差单元、残差块、变换单元、变换块等。另外,为了将单元与块区分开,单元可以包括亮度分量块、与亮度分量块相关联的色度分量块、以及每个颜色分量块的语法元素。单元可以具有各种尺寸和形状,具体地,单元的形状可以是二维几何图形,诸如正方形、矩形、梯形、三角形、五边形等。另外,单元信息可以包括指示编码单元、预测单元、变换单元等的单元类型以及单元尺寸、单元深度、单元的编码和解码的顺序等中的至少一个。

编码树单元:被配置有亮度分量Y的单个编码树块以及与色度分量Cb和Cr相关的两个编码树块。另外,编码树单元可以表示包括所述块和每个块的语法元素。可以通过使用四叉树分区方法和二叉树分区方法中的至少一个对每个编码树单元进行分区,以配置诸如编码单元、预测单元、变换单元等的更低等级的单元。编码树单元可以用作用于指定在对作为输入图像的图像进行编码/解码时成为处理单元的样点块的术语。

编码树块:可以用作用于指定Y编码树块、Cb编码树块和Cr编码树块中的任意一个的术语。

邻近块:可以表示与当前块相邻的块。与当前块相邻的块可以表示与当前块的边界接触的块、或者位于距当前块预定义距离内的块。邻近块可以表示与当前块的顶点相邻的块。这里,与当前块的顶点相邻的块可以表示与和当前块水平相邻的邻近块垂直相邻的块、或者与和当前块垂直相邻的邻近块水平相邻的块。

重建的邻近块:可以表示与当前块相邻并且已经在空间/时间上被编码或解码的邻近块。这里,重建的邻近块可以表示重建的邻近单元。重建的空间邻近块可以是在当前画面内并且已经通过编码或解码或者编码和解码两者而被重建的块。重建的时间邻近块是在参考图像内的与当前画面的当前块相应的位置处的块或所述块的邻近块。

单元深度:可以表示单元的分区程度。在树结构中,最高节点(根节点)可以与未被分区的第一单元相应。此外,最高节点可以具有最小深度值。在这种情况下,最高节点的深度可以为等级0。深度为等级1的节点可以表示通过对第一单元进行一次分区而生成的单元。深度为等级2的节点可以表示通过对第一单元进行两次分区而生成的单元。深度为等级n的节点可以表示通过对第一单元进行n次分区而生成的单元。叶节点可以是最低节点并且是不能被进一步分区的节点。叶节点的深度可以是最大等级。例如,最大等级的预定义值可以是3。根节点的深度可以是最低的,并且叶节点的深度可以是最深的。另外,当单元被表示为树结构时,单元存在于的等级可以表示单元深度。

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

参数集:与比特流内的配置之中的头信息相应。视频参数集、序列参数集、画面参数集和自适应参数集中的至少一个可以被包括在参数集中。另外,参数集可以包括条带头和并行块头信息。

解析:可以表示通过执行熵解码来确定语法元素的值,或者可以表示熵解码本身。

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

预测模式:可以是指示利用帧内预测编码/解码的模式或利用帧间预测编码/解码的模式的信息。

预测单元:可以表示当执行预测(诸如帧间预测、帧内预测、帧间补偿、帧内补偿和运动补偿)时的基本单元。单个预测单元可以被分区为具有更小尺寸的多个分区,或者可以被分区为多个更低等级的预测单元。多个分区可以是在执行预测或补偿时的基本单元。通过划分预测单元而生成的分区也可以是预测单元。

预测单元分区:可以表示通过对预测单元进行分区而获得的形式。

变换单元:可以表示在执行编码/解码(诸如残差信号的变换、逆变换、量化、反量化、变换系数编码/解码)时的基本单元。单个变换单元可以被分区为具有更小尺寸的多个更低等级的变换单元。这里,变换/逆变换可以包括第一变换/第一逆变换和第二变换/第二逆变换中的至少一个。

缩放:可以表示将量化的等级乘以因子的处理。可以通过缩放量化的等级来生成变换系数。缩放也可以称为反量化。

量化参数:可以表示当在量化期间使用变换系数生成量化的等级时使用的值。量化参数还可以表示当在反量化期间通过缩放量化的等级来生成变换系数时使用的值。量化参数可以是被映射在量化步长上的值。

增量量化参数:可以表示预测的量化参数与编码/解码目标单元的量化参数之间的差值。

扫描:可以表示对单元、块或矩阵内的系数进行排序的方法。例如,将系数的二维矩阵改变为一维矩阵可以被称为扫描,将系数的一维矩阵改变为二维矩阵可以被称为扫描或逆扫描。

变换系数:可以表示在编码器中执行变换之后生成的系数值。变换系数可以表示在解码器中执行熵解码和反量化中的至少一个之后生成的系数值。通过对变换系数或残差信号进行量化而获得的量化的等级或者量化的变换系数等级也可以落入变换系数的含义内。

量化的等级:可以表示在编码器中通过对变换系数或残差信号进行量化而生成的值。可选地,量化的等级可以表示作为在解码器中经历反量化的反量化目标的值。类似地,作为变换和量化的结果的量化的变换系数等级也可以落入量化的等级的含义内。

非零变换系数:可以表示具有除零之外的值的变换系数、或者具有除零之外的值的变换系数等级或量化的等级。

量化矩阵:可以表示在被执行以提高主观图像质量或客观图像质量的量化处理或反量化处理中使用的矩阵。量化矩阵也可以称为缩放列表。

量化矩阵系数:可以表示量化矩阵内的每个元素。量化矩阵系数也可以被称为矩阵系数。

默认矩阵:可以表示在编码器或解码器中预先定义的预定量化矩阵。

非默认矩阵:可以表示在编码器或解码器中未被预先定义而是由用户用信号发送的量化矩阵。

统计值:针对具有可计算的特定值的变量、编码参数、常量值等之中的至少一个的统计值可以是相应特定值的平均值、加权平均值、加权和值、最小值、最大值、最频繁出现的值、中值、内插值之中的一个或更多个。

图1是示出根据应用了本发明的实施例的编码设备的配置的框图。

编码设备100可以是编码器、视频编码设备或图像编码设备。视频可包括至少一个图像。编码设备100可以顺序地对至少一个图像进行编码。

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

编码设备100可以通过使用帧内模式或帧间模式或者帧内模式和帧间模式两者来执行输入图像的编码。另外,编码设备100可以通过对输入图像进行编码来生成包括编码信息的比特流,并输出生成的比特流。生成的比特流可以被存储在计算机可读记录介质中,或者可以通过有线/无线传输介质被流传输。当帧内模式用作预测模式时,切换器115可以切换到帧内。可选地,当帧间模式用作预测模式时,切换器115可以切换到帧间模式。这里,帧内模式可以表示帧内预测模式,帧间模式可以表示帧间预测模式。编码设备100可以生成针对输入图像的输入块的预测块。另外,编码设备100可以在生成预测块之后使用输入块和预测块的残差对残差块进行编码。输入图像可以被称为作为当前编码目标的当前图像。输入块可以被称为作为当前编码目标的当前块,或者被称为编码目标块。

当预测模式是帧内模式时,帧内预测单元120可以使用已被编码/解码并与当前块相邻的块的样点作为参考样点。帧内预测单元120可以通过使用参考样点来对当前块执行空间预测,或者通过执行空间预测来生成输入块的预测样点。这里,帧内预测可以表示帧内部的预测。

当预测模式是帧间模式时,运动预测单元111可以在执行运动预测时从参考图像检索与输入块最佳匹配的区域,并且通过使用检索到的区域来推导运动矢量。在这种情况下,搜索区域可以用作所述区域。参考图像可以被存储在参考画面缓冲器190中。这里,当执行对参考图像的编码/解码时,参考图像可以被存储在参考画面缓冲器190中。

运动补偿单元112可以通过使用运动矢量对当前块执行运动补偿来生成预测块。这里,帧间预测可以表示帧之间的预测或运动补偿。

当运动矢量的值不是整数时,运动预测单元111和运动补偿单元112可以通过将插值滤波器应用于参考画面的部分区域来生成预测块。为了对编码单元执行画面间预测或运动补偿,可以确定跳过模式、合并模式、高级运动矢量预测(AMVP)模式和当前画面参考模式之中的哪个模式用于相应编码单元中包括的预测单元的运动预测和运动补偿。然后,依据所确定的模式,可以不同地执行画面间预测或运动补偿。

减法器125可以通过使用输入块和预测块的残差来生成残差块。残差块可以被称为残差信号。残差信号可以表示原始信号和预测信号之间的差。另外,残差信号可以是通过对原始信号和预测信号之间的差进行变换或量化或者变换和量化而生成的信号。残差块可以是块单元的残差信号。

变换单元130可以通过对残差块执行变换来生成变换系数,并输出生成的变换系数。这里,变换系数可以是通过对残差块执行变换而生成的系数值。当变换跳过模式被应用时,变换单元130可以跳过对残差块的变换。

可以通过将量化应用于变换系数或应用于残差信号来生成量化的等级。在下文中,量化的等级在实施例中也可以被称为变换系数。

量化单元140可以通过根据参数对变换系数或残差信号进行量化来生成量化的等级,并输出生成的量化的等级。这里,量化单元140可以通过使用量化矩阵对变换系数进行量化。

熵编码单元150可以通过根据概率分布对由量化单元140计算出的值或者对在执行编码时计算出的编码参数值执行熵编码来生成比特流,并输出生成的比特流。熵编码单元150可以对图像的样点信息和用于对图像进行解码的信息执行熵编码。例如,用于对图像进行解码的信息可以包括语法元素。

当熵编码被应用时,符号被表示使得较少数量的比特被分配给具有高生成可能性的符号,并且较多数量的比特被分配给具有低生成可能性的符号,因此,可以减小用于将被编码的符号的比特流的大小。熵编码单元150可以使用诸如指数哥伦布、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等的用于熵编码的编码方法。例如,熵编码单元150可以通过使用变长编码/码(VLC)表来执行熵编码。另外,熵编码单元150可以推导目标符号的二值化方法和目标符号/二进制位的概率模型,并且通过使用推导出的二值化方法和上下文模型来执行算术编码。

为了对变换系数等级(量化的等级)进行编码,熵编码单元150可以通过使用变换系数扫描方法将二维块形式系数改变为一维矢量形式。

编码参数可以包括在编码器中被编码并且被用信号发送到解码器的诸如语法元素的信息(标志、索引等)以及在执行编码或解码时推导出的信息。编码参数可以表示在对图像进行编码或解码时所需要的信息。例如,以下项中的至少一个值或组合形式可被包括在编码参数中:单元/块尺寸、单元/块深度、单元/块分区信息、单元/块形状、单元/块分区结构、是否进行四叉树形式的分区、是否进行二叉树形式的分区、二叉树形式的分区方向(水平方向或垂直方向)、二叉树形式的分区形式(对称分区或非对称分区)、预测模式(帧内预测或帧间预测)、亮度帧内预测模式/方向、色度帧内预测模式/方向、帧内分区信息、帧间分区信息、编码块分区标志、预测块分区标志、变换块分区标志、参考样点滤波方法、参考样点滤波器抽头、参考样点滤波器系数、预测块滤波方法、预测块滤波器抽头、预测块滤波器系数、预测块边界滤波方法、预测块边界滤波器抽头、预测块边界滤波器系数、帧内预测模式、帧间预测模式、运动信息、运动矢量、运动矢量差、参考画面索引、帧间预测角度、帧间预测指示符、预测列表利用标志、参考画面列表、参考画面、运动矢量预测因子索引、运动矢量预测因子候选、运动矢量候选列表、是否使用合并模式、合并索引、合并候选、合并候选列表、是否使用跳过模式、插值滤波器类型、插值滤波器抽头、插值滤波器系数、运动矢量大小、运动矢量的表示精确度、变换类型、变换尺寸、初级(第一)变换是否被使用的信息、次级变换是否被使用的信息、初级变换索引、次级变换索引、残差信号是否存在的信息、编码块样式、编码块标志(CBF)、量化参数、量化参数残差、量化矩阵、是否应用帧内环路滤波器、帧内环路滤波器系数、帧内环路滤波器抽头、帧内环路滤波器形状/形式、是否应用去块滤波器、去块滤波器系数、去块滤波器抽头、去块滤波器强度、去块滤波器形状/形式、是否应用自适应样点偏移、自适应样点偏移值、自适应样点偏移类别、自适应样点偏移类型、是否应用自适应环路滤波器、自适应环路滤波器系数、自适应环路滤波器抽头、自适应环路滤波器形状/形式、二值化/逆二值化方法、上下文模型确定方法、上下文模型更新方法、是否执行常规模式、是否执行旁路模式、上下文二进制位、旁路二进制位、有效系数标志、最后一个有效系数标志、针对系数组的单元的编码标志、最后一个有效系数的位置、关于系数的值是否大于1的标志、关于系数的值是否大于2的标志、关于系数的值是否大于3的标志、关于剩余系数值的信息、符号信息、重建的亮度样点、重建的色度样点、残差亮度样点、残差色度样点、亮度变换系数、色度变换系数、量化的亮度等级、量化的色度等级、变换系数等级扫描方法、在解码器侧的运动矢量搜索区域的尺寸、在解码器侧的运动矢量搜索区域的形状、在解码器侧的运动矢量搜索的次数、关于CTU尺寸的信息、关于最小块尺寸的信息、关于最大块尺寸的信息、关于最大块深度的信息、关于最小块深度的信息、图像显示/输出顺序、条带标识信息、条带类型、条带分区信息、并行块标识信息、并行块类型、并行块分区信息、画面类型、输入样点的比特深度、重建样点的比特深度、残差样点的比特深度、变换系数的比特深度、量化的等级的比特深度、以及关于亮度信号的信息或关于色度信号的信息。

这里,用信号发送标志或索引可以表示由编码器对相应的标志或索引进行熵编码并将相应的标志或索引包括在比特流中,并且可以表示由解码器从比特流对相应的标志或索引进行熵解码。

当编码设备100通过帧间预测执行编码时,编码的当前图像可以用作针对随后被处理的另一图像的参考图像。因此,编码设备100可以对编码的当前图像进行重建或解码,或者将重建或解码的图像作为参考图像存储在参考画面缓冲器190中。

量化的等级可以在反量化单元160中被反量化,或者可以在逆变换单元170中被逆变换。可以由加法器175将经过反量化或逆变换的系数或者经过反量化和逆变换两者的系数与预测块相加。通过将经过反量化或逆变换的系数或者经过反量化和逆变换两者的系数与预测块相加,可以生成重建块。这里,经过反量化或逆变换的系数或经过反量化和逆变换两者的系数可以表示执行了反量化和逆变换中的至少一个的系数,并且可以表示重建的残差块。

重建块可以通过滤波器单元180。滤波器单元180可以将去块滤波器、样点自适应偏移(SAO)和自适应环路滤波器(ALF)中的至少一个应用于重建样点、重建块或重建图像。滤波器单元180可以被称为环内滤波器。

去块滤波器可以去除在块之间的边界中生成的块失真。为了确定是否应用去块滤波器,可以基于被包括在块中所包括的若干行或列中的样点来确定是否将去块滤波器应用于当前块。当将去块滤波器应用于块时,可以根据所需的去块滤波强度来应用另一滤波器。

为了补偿编码误差,可以通过使用样点自适应偏移将合适的偏移值与样点值相加。样点自适应偏移可以以样点为单位对经过去块的图像与原始图像的偏移进行校正。可以使用考虑关于每个样点的边缘信息来应用偏移的方法,或者可以使用以下方法:将图像的样点分区为预定数量的区域,确定偏移被应用的区域,并对确定的区域应用偏移。

自适应环路滤波器可以基于经过滤波的重建图像和原始图像的比较结果来执行滤波。可以将包括在图像中的样点分区为预定组,可以确定将被应用于每个组的滤波器,并且可以对每个组执行差异化滤波。是否应用ALF的信息可以通过编码单元(CU)被用信号发送,并且将被应用于每个块的ALF的形式和系数可以变化。

已经通过滤波器单元180的重建块或重建图像可以被存储在参考画面缓冲器190中。由滤波器单元180处理的重建块可以是参考图像的一部分。也就是说,参考图像是由滤波器单元180处理的重建块组成的重建图像。存储的参考图像可以稍后在帧间预测或运动补偿时被使用。

图2是示出根据应用了本发明的实施例的解码设备的配置的框图。

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

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

解码设备200可以接收从编码设备100输出的比特流。解码设备200可以接收存储在计算机可读记录介质中的比特流,或者可以接收通过有线/无线传输介质被流传输的比特流。解码设备200可以通过使用帧内模式或帧间模式对比特流进行解码。另外,解码设备200可以生成通过解码而生成的重建图像或解码图像,并输出重建图像或解码图像。

当在解码时使用的预测模式是帧内模式时,切换器可被切换到帧内。可选地,当在解码时使用的预测模式是帧间模式时,切换器可被切换到帧间模式。

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

熵解码单元210可以通过根据概率分布对比特流进行熵解码来生成符号。生成的符号可以包括量化的等级形式的符号。这里,熵解码方法可以是上述熵编码方法的逆过程。

为了对变换系数等级(量化的等级)进行解码,熵解码单元210可以通过使用变换系数扫描方法将一维矢量形式系数改变为二维块形式。

可以在反量化单元220中对量化的等级进行反量化,或者在逆变换单元230中对量化的等级进行逆变换。量化的等级可以是进行反量化或逆变换或者进行反量化和逆变换两者的结果,并且可以被生成为重建的残差块。这里,反量化单元220可以将量化矩阵应用于量化的等级。

当使用帧内模式时,帧内预测单元240可以通过对当前块执行使用与解码目标块相邻并且已经被解码的块的样点值的空间预测来生成预测块。

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

加法器225可以通过将重建的残差块与预测块相加来生成重建块。滤波器单元260可将去块滤波器、样点自适应偏移和自适应环路滤波器中的至少一个应用于重建块或重建图像。滤波器单元260可以输出重建图像。重建块或重建图像可以被存储在参考画面缓冲器270中并且在执行帧间预测时被使用。由滤波器单元260处理的重建块可以是参考图像的一部分。也就是说,参考图像是由滤波器单元260处理的重建块组成的重建图像。存储的参考图像可以稍后在帧间预测或运动补偿时被使用。

图3是示意性地示出当对图像进行编码和解码时图像的分区结构的示图。图3示意性地示出将单个单元分区为多个更低等级的单元的示例。

为了有效地对图像进行分区,当进行编码和解码时,可以使用编码单元(CU)。编码单元可以用作当对图像进行编码/解码时的基本单元。另外,编码单元可以用作用于在对图像进行编码/解码时区分帧内预测模式和帧间预测模式的单元。编码单元可以是用于变换系数的预测、变换、量化、逆变换、反量化或编码/解码处理的基本单元。

参照图3,图像300按照最大编码单元(LCU)被顺序地分区,并且LCU单元被确定为分区结构。这里,LCU可以以与编码树单元(CTU)相同的含义被使用。单元分区可以表示对与该单元相关联的块进行分区。在块分区信息中,可以包括单元深度的信息。深度信息可以表示单元被分区的次数或程度或者单元被分区的次数和程度两者。可以基于树结构将单个单元分区为与深度信息层级地相关联的多个更低等级的单元。换言之,单元和通过对该单元进行分区而生成的更低等级的单元可以分别与节点和该节点的子节点相应。分区出的更低等级的单元中的每个可以具有深度信息。深度信息可以是表示CU的尺寸的信息,并且可以被存储在每个CU中。单元深度表示与对单元进行分区相关的次数和/或程度。因此,更低等级的单元的分区信息可以包括关于更低等级的单元的尺寸的信息。

分区结构可以表示LCU 310内的编码单元(CU)的分布。可以根据是否将单个CU分区为多个(等于或大于2的正整数,包括2、4、8、16等)CU来确定这样的分布。根据分区的次数,通过分区生成的CU的水平尺寸和垂直尺寸可以分别是分区之前的CU的水平尺寸和垂直尺寸的一半,或者可以分别具有小于分区之前的水平尺寸和垂直尺寸的尺寸。CU可以被递归地分区为多个CU。通过递归分区,与分区之前的CU的高度和宽度之中的至少一个相比,分区之后的CU的高度和宽度之中的至少一个可以减小。可以递归地执行CU的分区,直到预定义的深度或预定义的尺寸为止。例如,LCU的深度可以是0,最小编码单元(SCU)的深度可以是预定义的最大深度。这里,如上所述,LCU可以是具有最大编码单元尺寸的编码单元,并且SCU可以是具有最小编码单元尺寸的编码单元。分区从LCU 310开始,当CU的水平尺寸或垂直尺寸或者水平尺寸和垂直尺寸两者通过分区而减小时,CU深度增加1。例如,对于每个深度,未被分区的CU的尺寸可以为2N×2N。此外,在被分区的CU的情况下,可以将尺寸为2N×2N的CU分区为尺寸为N×N的四个CU。当深度增加1时,N的大小可以减小一半。

另外,可以通过使用CU的分区信息来表示CU是否被分区的信息。分区信息可以是1比特信息。除SCU之外的所有CU可以包括分区信息。例如,当分区信息的值是第一值时,可以不对CU进行分区,当分区信息的值是第二值时,可以对CU进行分区。

参照图3,具有深度0的LCU可以是64×64块。0可以是最小深度。具有深度3的SCU可以是8×8块。3可以是最大深度。32×32块和16×16块的CU可以分别被表示为深度1和深度2。

例如,当单个编码单元被分区为四个编码单元时,分区出的四个编码单元的水平尺寸和垂直尺寸可以是在被划分之前CU的水平尺寸和垂直尺寸的一半大小。在一个实施例中,当尺寸为32×32的编码单元被分区为四个编码单元时,分区出的四个编码单元中的每个的尺寸可以为16×16。当单个编码单元被分区为四个编码单元时,可称为编码单元被分区为四叉树形式。

例如,当单个编码单元被分区为两个编码单元时,所述两个编码单元的水平尺寸或垂直尺寸可以是在被划分之前编码单元的水平尺寸或垂直尺寸的一半。例如,当沿垂直方向对尺寸为32×32的编码单元进行分区时,分区出的两个编码单元中的每个的尺寸可以为16×32。当单个编码单元被分区为两个编码单元时,可称为编码单元以二叉树形式被分区。图3的LCU 320是应用了四叉树形式的分区和二叉树形式的分区两者的LCU的示例。

图4是示出帧内预测处理的示图。

图4中从中心到外部的箭头可以表示帧内预测模式的预测方向。

可以通过使用当前块的邻近块的参考样点来执行帧内编码和/或解码。邻近块可以是重建的邻近块。例如,可以通过使用重建的邻近块中包括的参考样点的值或编码参数来执行帧内编码和/或解码。

预测块可以表示通过执行帧内预测而生成的块。预测块可以与CU、PU和TU之中的至少一个相应。预测块的单位的大小可以是CU、PU和TU之中的一个。预测块可以是尺寸为2×2、4×4、16×16、32×32或64×64等的正方形块,或者可以是尺寸为2×8、4×8、2×16、4×16和8×16等的矩形块。

可以根据帧内预测模式对当前块执行帧内预测。当前块可以具有的帧内预测模式的数量可以是固定值,并且可以是根据预测块的属性而被不同地确定的值。例如,预测块的属性可以包括预测块的尺寸和预测块的形状等。

无论块尺寸如何,帧内预测模式的数量可以固定为N。或者,帧内预测模式的数量可以是3、5、9、17、34、35、36、65或67等。可选地,帧内预测模式的数量可以根据块尺寸或颜色分量类型或者块尺寸和颜色分量类型两者而变化。例如,帧内预测模式的数量可以根据颜色分量是亮度信号还是色度信号而变化。例如,随着块尺寸变大,帧内预测模式的数量可以增加。可选地,亮度分量块的帧内预测模式的数量可以大于色度分量块的帧内预测模式的数量。

帧内预测模式可以是非角度模式或角度模式。非角度模式可以是DC模式或平面模式,角度模式可以是具有特定方向或角度的预测模式。帧内预测模式可以由模式编号、模式值、模式数字、模式角度和模式方向中的至少一个表示。帧内预测模式的数量可以是大于1的包括非角度模式和角度模式的M。

为了对当前块进行帧内预测,可以执行以下步骤:确定包括在重建的邻近块中的样点是否可以用作当前块的参考样点。当存在不可用作当前块的参考样点的样点时,可以使用通过对包括在重建的邻近块中的样点之中的至少一个样点值进行复制或执行插值或者进行复制和执行插值两者而获得的值来替换样点的不可用样点值,因此,替换后的样点值被用作当前块的参考样点。

当进行帧内预测时,可以基于帧内预测模式和当前块尺寸将滤波器应用于参考样点和预测样点中的至少一个。

在平面模式的情况下,当生成当前块的预测块时,根据预测块内的预测目标样点的位置,可以通过使用当前样点的左上侧参考样点与当前块的右上侧参考样点和左下侧参考样点的加权和来生成预测目标样点的样点值。另外,在DC模式的情况下,当生成当前块的预测块时,可以使用当前块的上侧参考样点和左侧参考样点的平均值。另外,在角度模式的情况下,可以通过使用当前块的上侧参考样点、左侧参考样点、右上侧参考样点和/或左下侧参考样点来生成预测块。为了生成预测样点值,可以执行实数单元的内插。

可以通过预测与当前块相邻存在的块的帧内预测模式来对当前块的帧内预测模式进行熵编码/熵解码。在当前块的帧内预测模式和邻近块的帧内预测模式相同时,可以通过使用预定标志信息来用信号发送当前块的帧内预测模式和邻近块的帧内预测模式是相同的信息。另外,可以用信号发送多个邻近块的帧内预测模式之中的与当前块的帧内预测模式相同的帧内预测模式的指示符信息。在当前块的帧内预测模式和邻近块的帧内预测模式不同时,可以通过基于邻近块的帧内预测模式执行熵编码/熵解码来对当前块的帧内预测模式信息进行熵编码/熵解码。

图5是示出根据本发明的实施例的对当前块执行帧内预测的方法的示图。

如图5所示,帧内预测可以包括帧内预测模式推导步骤S510、参考样点配置步骤S520和/或帧内预测执行步骤S530。

在帧内预测模式推导步骤S510,可以使用以下方法中的至少一种来推导当前块的帧内预测模式:使用邻近块的帧内预测模式的方法、对当前块的帧内预测模式进行解码(例如,熵解码)的方法、使用颜色分量的帧内预测模式的方法、使用变换模型的帧内预测模式的方法、使用关于当前块的尺寸和/或形状的信息的方法、以及使用预定帧内预测模式指示符的方法。

在使用邻近块的帧内预测模式的方法中,可以通过使用邻近块的帧内预测模式、邻近块的一个或更多个帧内预测模式的组合和/或通过使用MPM列表推导出的帧内预测模式中的至少一个来推导当前块的帧内预测模式。

当使用MPM列表时,可以使用当前块的MPM列表、上层块的MPM列表和邻近块的MPM列表中的至少一个来对当前块的帧内预测模式进行编码/解码。

可基于相邻块的帧内预测模式信息和相邻块的帧内预测模式的频率中的至少一个来构建MPM列表。

在参考样点配置步骤S520,可以执行参考样点选择步骤和/或参考样点滤波步骤,使得可以配置参考样点。

在帧内预测执行步骤S530,使用非方向性预测、方向性预测、基于位置信息的预测和/或颜色分量之间的预测中的至少一种方法来执行当前块的帧内预测。在帧内预测执行步骤S530,可以执行对预测样点的滤波。

在下文中,将详细描述帧内预测模式推导步骤S510。

当前块的邻近块可以是当前块的左下邻近块、左侧邻近块、左上邻近块、上方邻近块和右上邻近块中的至少一个。在邻近块中,仅可以使用帧内预测模式的邻近块可以被使用。

在当前块的邻近块之中,特定位置处的邻近块的帧内预测模式可以被推导为当前块的帧内预测模式。

可选地,选择两个或更多个邻近块,并且可以将所选择的邻近块的帧内预测模式的统计值推导为当前块的帧内预测模式。帧内预测模式可以由模式编号、模式值和模式角度中的至少一个来指示。在说明书中,统计值可以是最小值、最大值、平均值、加权平均值、众数和中值中的至少一个。

在特定位置处的邻近块和/或所选择的邻近块可以是在预定义的固定位置处的块。可选地,可以基于通过比特流用信号发送的信息来指定一个块(多个块)。

当使用至少两种帧内预测模式时,可以考虑帧内预测模式具有方向性还是非方向性。例如,在两个或更多个帧内预测模式中,可以使用方向性帧内预测模式来推导当前块的帧内预测模式。可选地,可以使用非方向性帧内预测模式来推导当前块的帧内预测模式。

当加权平均值被用作统计值时,可以将相对高的权重分配给特定帧内预测模式。特定帧内预测模式可以是例如垂直模式、水平模式、对角线模式、非方向性模式中的至少一个。可选地,可以通过比特流用信号发送关于特定帧内预测模式的信息。特定帧内预测模式的各自的权重可以彼此相同或不同。可选地,可以基于邻近块的尺寸来确定权重。例如,可以将相对高的权重分配给相对大的邻近块的帧内预测模式。

当前块的帧内预测模式可以使用MPM(最可能模式)来推导。

当使用MPM时,可以使用使用邻近块的帧内预测模式推导出的N个帧内预测模式来配置MPM列表。N是正整数,并且可以具有根据当前块的尺寸和/或形状而不同的值。可选地,可以通过比特流用信号发送关于N的信息。

可以包括在MPM列表中的帧内预测模式可以是当前块的左下邻近块、左侧邻近块、左上邻近块、上方邻近块和/或右上邻近块的帧内预测模式。另外,非方向性模式可以被包括在MPM列表中。帧内预测模式可以按照预定顺序被包括在MPM列表中。预定顺序可以是例如左下块的模式、上方块的模式、平面(Planar)模式、DC模式、左下块的模式、右上块的模式和左上块的模式的顺序。可选地,预定顺序可以是左侧块的模式、上方块的模式、Planar模式、DC模式、左下块的模式、右上块的模式和左上块的模式的顺序。

MPM列表可以被配置为不包括重复的模式。当MPM列表中包括的帧内预测模式的数量小于N时,MPM列表中可以包括另外的帧内预测模式。另外的帧内预测模式可以是与包括在MPM列表中的方向性帧内预测模式的+k、-k对应的模式。可以由k指定等于或大于1的整数。可选地,水平模式、垂直模式和对角模式(45度角模式、135度角模式和225度角模式)中的至少一个可以被包括在MPM列表中。可选地,可以使用邻近块的至少一个帧内预测模式的统计值来推导将被包括在MPM列表中的帧内预测模式。

可以存在若干MPM列表,并且可以用不同的方法配置若干MPM列表。每个MPM列表中包括的帧内预测模式可以不是重复的。

可以通过比特流用信号发送指示当前块的帧内预测模式是否包括在MPM列表中的信息(例如,标志信息)。当存在N个MPM列表时,可存在N条标志信息。可以针对N个MPM列表按照顺序来执行确定在MPM列表中是否存在当前块的帧内预测模式。可选地,可以用信号发送指示N个MPM列表中的包括当前块的帧内预测模式的MPM列表的信息。

在当前块的帧内预测模式包括在MPM列表中时,可以通过比特流用信号发送用于指定MPM列表中包括的模式中的哪个模式的索引信息。可选地,可以将MPM列表的特定位置(例如,第一位置)处的模式推导为当前块的帧内预测模式。

在配置MPM列表时,可以为预定尺寸的块配置一个MPM列表。当预定尺寸的块被划分成若干子块时,若干子块中的每个子块可以使用配置的MPM列表。

可选地,可以使用邻近块的帧内预测模式和使用MPM推导出的当前块的帧内预测模式中的至少一个来推导当前块的帧内预测模式。

例如,当使用MPM推导出的当前块的帧内预测模式是Pred_mpm时,通过使用邻近块的至少一个帧内预测模式将Pred_mpm改变为预定模式,使得可以推导出当前块的帧内预测模式。例如,Pred_mpm可通过被与邻近块的帧内预测模式的大小进行比较而被增大或减小N。在此,N可以是预定整数,诸如,+1、+2、+3、0、-1、-2、-3等。

可选地,当Pred_mpm和邻近块的模式中的一个是非方向性模式,而另一个是方向性模式时,可以将非方向性模式推导为当前块的帧内预测模式,或者可以将方向性模式推导为当前块的帧内预测模式。

在使用最可能模式(MPM)列表推导当前块的帧内预测模式的情况下,例如,可以使用以下MPM列表中的至少一个。或者,当前块的帧内预测模式可以被熵编码/熵解码。

–当前块的MPM列表。

–当前块的上层块的MPM列表中的至少一个。

–当前块的邻近块的MPM列表中的至少一个。

制作MPM列表所需要的信息(诸如,是否使用当前块的MPM列表;是否使用当前块的上层块的MPM列表中的至少一个;以及是否使用当前块的邻近块的MPM列表中的至少一个)可以按照视频参数集(VPS)、序列参数集(SPS)、画面参数集(PPS)、自适应参数集(APS)、条带、报头、并行块、CTU、CU、PU和TU中的至少一个被熵编码/熵解码。

上层块可以是比当前块具有更小深度值的块。另外,上层块可以指具有更小深度值的块之中的包括当前块的至少一个块。这里,深度值可以表示每次块被划分时增加1的值。例如,未划分的CTU的深度值可以为0。

邻近块可以是在空间和/或时间上与当前块邻近的块中的至少一个。邻近块可能已经被编码/解码。另外,邻近块的深度(或尺寸)可以等于或不同于当前块的深度。邻近块可以指在相对于当前块的预定位置处的块。在此,预定位置可以是相对于当前块的左上位置、上方位置、右上位置、左侧位置和左下位置中的至少一个。

或者预定位置可以是在与当前块所属的画面不同的画面中的位置。预定位置处的块可以指不同画面中当前块的同位块和/或与该同位块邻近的块中的至少一个。或者,预定位置处的块可以是与当前块对应的在不同画面的特定区域中具有与当前块的预测模式相同的预测模式的块。

上层块或邻近块的MPM列表可以指基于上层块或邻近块制作的MPM列表。可以将与上层块或邻近块邻近的编码/解码块的帧内预测模式添加到上层块或邻近块的MPM列表。

可以使用N个MPM列表来推导当前块的帧内预测模式或者对当前块的帧内预测模式进行熵编码/熵解码。这里,N可以为0或正整数。即,可以使用多个MPM列表来推导当前块的帧内预测模式或者对当前块的帧内预测模式进行熵编码/熵解码。另外,多个MPM列表可以指代多个MPM列表或多个列表。用于当前块的N个MPM列表可以包括当前块的MPM列表、上层块的MPM列表和邻近块的MPM列表中的至少一个。

此外,可以使用用于当前块的编码参数中的至少一个来生成N个MPM列表。

当前块的帧内预测模式可以使用制作的MPM列表被推导,或者可以被熵编码/熵解码。

用于当前块的多个MPM列表可以包括用于N个上层块的MPM列表。这里,N为0或正整数。

在制作用于上层块的MPM列表时可能需要诸如上层块的数量、深度和/或深度范围、以及/或者当前块的深度与上层块的深度之间的差的信息。制作上层块的MPM列表所需要的信息可以按照VPS、SPS、PPS、APS、条带头、并行块头、CTU、CU、PU和TU中的至少一个被熵编码/熵解码。

如果用于当前块的多个MPM列表包括上层块的MPM列表,则可以使用关于当前块的尺寸和/或深度的信息来推导所使用的上层块的数量和/或深度值。

用于当前块的多个MPM列表可以包括用于N个邻近块的MPM列表。N个邻近块可以包括在预定位置处的邻近块。N可以为0或正整数。

制作邻近块的MPM列表可能需要诸如所包括的邻近块的数量N、深度值、尺寸和/或位置的信息。制作邻近块的MPM列表所需要的信息可以按照VPS、SPS、PPS、APS、条带头、并行块头、CTU、CU、PU和TU中的至少一个被熵编码/熵解码。可以根据当前块的尺寸、形状和/或位置来可变地确定邻近块的数量和/或位置。如果邻近块的深度值是预定值或落入预定范围内,则可以制作邻近块的MPM列表。预定范围可以由最小值或最大值中的至少一个来定义。关于最小值或最大值中的至少一个的信息可以按照上述预定单元被熵编码/熵解码。

基于当前块、上层块和邻近块中的至少一个推导出的帧内预测模式可以被包括在用于当前块的一个MPM列表中。也就是说,如果不是多个MPM列表而是单个MPM列表被用于当前块,则该MPM列表可以由基于基于当前块、上层块和邻近块中的至少一个的帧内预测模式中的至少一个推导出的帧内预测模式中的至少一个组成。

如果用于当前块的N个MPM列表包括用于上层块和邻近块中的至少一个的MPM列表,则可以确定制作N个MPM列表的顺序。这里,N可以为0或正整数。

可以在编码器和解码器中预先设置制作MPM列表的顺序。或者,可以基于每个对应块的编码参数来确定制作MPM列表的顺序。或者,可以基于当前块的编码参数来确定制作MPM列表的顺序。或者,关于制作MPM列表的顺序的信息可以被熵编码/熵解码。

例如,在当前块的MPM列表被用作第一MPM列表的情况下,可以使用用于按照深度值的升序或降序排列的至少K个上层块的MPM列表来为当前块制作多个MPM列表。例如,在当前块的MPM列表被用作第一MPM列表的情况下,可以按照预定顺序使用用于左上邻近块、左侧邻近块、左下邻近块、上方邻近块和右上邻近块中的至少一个的MPM列表来为当前块制作多个MPM列表。

例如,可以按照以下顺序为当前块制作多个MPM列表:当前块的MPM列表->预定顺序的K个上层块的MPM列表->预定顺序的L个邻近块的MPM列表。或者,可以按照以下顺序为当前块制作多个MPM列表:当前块的MPM列表->预定顺序的L个邻近块的MPM列表->预定顺序的K个上层块的MPM列表。这里,K和L中的每一个可以是0或正整数。

按照顺序,在后的MPM列表可以不包括在前的MPM列表的帧内预测模式。另外,用于在前的MPM列表的指示符的可变长度码可以比用于在后的MPM列表的指示符的可变长度码短。另外,在前的MPM列表可以比在后的MPM列表包括更少数量的候选。可以按照制作MPM列表的顺序将指示符分配给MPM列表。

可在制作多个MPM列表的步骤中执行对包括在MPM列表中的模式的冗余检查。或者,可以在制作了多个MPM列表中的所有列表之后执行冗余检查。或者,每当MPM列表中包括帧内预测模式时,可以执行冗余检查。

被添加以替代冗余预测模式的预定帧内预测模式可以包括帧内预测模式中的至少一种,其中,该帧内预测模式包括例如INTRA_PLANAR、INTRA_DC、水平模式、垂直模式、45度模式、135度模式、225度模式、MPM_LIST_K_MODE_X±增量、INTRA_DM和INTRA_LM。这里,MPM_LIST_K_MODE_X可以指包括在第K个MPM列表中的预定帧内预测模式。INTRA_DM可以指帧内色度预测模式被确定为与帧内亮度预测模式相同的帧内预测模式。另外,INTRA_LM可以指基于亮度预测块/残差块/重建块中的至少一个来生成色度预测块/残差块/重建块中的至少一个的帧内预测模式。另外,所述增量可以是正整数。

如果使用N个MPM列表推导当前块的帧内预测模式,或者对当前块的帧内预测模式进行熵编码/熵解码,则对于N个MPM列表中的每个MPM列表,可以对指示当前块的帧内预测模式是否被包括在N个MPM列表的每个MPM列表的帧内预测模式中的指示符(MPM标志)进行熵编码/熵解码。

在N个MPM列表中的特定的一个列表中包括的帧内预测模式中存在与当前块的帧内预测模式相同的帧内预测模式的情况下,指示该帧内预测模式在特定MPM列表中的位置或编号的索引信息(MPM索引)可以被熵编码。另外,可以通过对索引信息进行熵解码来识别与包括在特定MPM列表中的帧内预测模式中的与当前块的帧内预测模式相同的帧内预测模式。索引信息可以被熵编码为固定长度码或可变长度码。另外,可以使用索引信息来推导当前块的帧内预测模式。

在N个MPM列表中包括的帧内预测模式中不存在与当前块的帧内预测模式相同的帧内预测模式的情况下,可以在编码器中对当前块的剩余帧内预测模式进行熵编码。剩余的帧内预测模式可以用于识别当前块的未包括在MPM列表中的至少一个MPM列表中的帧内预测模式。或者,剩余的帧内预测模式可以用于识别当前块的未包括在MPM列表中的任何一个MPM列表中的帧内预测模式。

MPM列表可以包括预定数量N个候选模式。可以通过使用MPM_mode_idxK(K是属于1至N的整数)来表示N个候选模式中的每个。可以基于邻近块的帧内模式的频数来自适应地确定用于将与从idx1到idxN对应的候选模式填充到MPM列表的顺序。这里,帧内模式可以指帧内预测模式或帧内预测角度。可选地,可以通过考虑邻近块的位置、邻近块的帧内预测模式、帧内预测模式是否为角度模式、帧内预测模式的角度以及帧内预测模式的频数中的至少一个来确定候选模式的类型或排列顺序或者候选模式的类型或排列顺序两者。

图6是示出当前块的邻近块的示图。

将被编码/解码的当前块的邻近块可以包括当前块的左侧块、左下侧块、上侧块、右上侧块和左上侧块中的至少一个。

例如,在图6中,当当前块是P时,左侧块可以是块L、块M和块N中的至少一个。左下侧块可以是块O。上侧块可以是块G、块H和块I中的至少一个。右上侧块可以是块J。左上侧块可以是块D和块E中的至少一个。

当特定位置处的邻近块的候选块的数量是正整数N时,可以通过N个候选块的组合来确定对应的邻近块的帧内预测模式。这里,组合可以表示包括N个候选块的帧内预测模式的最大值(max)、最小值(min)、中值(中位数)、加权和(加权和的floor计算、加权和的ceil计算或加权和的round计算)的统计值中的至少一个。

可选地,当候选块的数量为N时,可以基于N个候选块的帧内预测模式的全部或一部分来确定邻近块的帧内预测模式。帧内预测模式的一部分可以是在图像编码/解码设备中预先确定的位置处的候选块。

例如,在图6中,当当前块为P时,可以将左侧块的帧内预测模式确定为候选块L的帧内预测模式、候选块M的帧内预测模式或候选块N的帧内预测模式。可选地,可以通过将从三个候选块L、候选块M和候选块N中选择的至少两个候选块的帧内预测模式组合来确定左侧块的帧内预测模式。

通过使用当前块的邻近块的帧内预测模式,可以根据预定顺序来初始化MPM列表。

图7是示出初始化当前块的MPM列表的实施例的示图。初始化可表示将帧内预测模式添加到MPM列表。

图7(a)是示出当前块为正方形块的情况的示图。图7(b)和7(c)是示出当前块是非正方形块的情况的示图。在图7所示的实施例中,可以通过参考七个邻近块(左侧1块、左侧2块、上侧1块、上侧2块、左下侧块、右上侧块和左上侧块)的帧内预测模式来配置当前块的MPM列表。

在图7所示的实施例中,配置MPM列表的预定顺序可以根据当前块的尺寸或形状或者当前块的尺寸和形状两者而变化。

初始化MPM列表的预定顺序可以是以下块的顺序:左侧1→上侧1→右上侧→左下侧→左上侧。可选地,预定顺序可以是以下块的顺序:左侧1→上侧1→左下侧→右上侧→左上侧。可选地,预定顺序可以是以下块的顺序:左侧1→上侧1→左上侧→右上侧→左下侧。可选地,预定顺序可以是以下块的顺序:左侧1→上侧1→左上侧→左下侧→右上。可选地,预定顺序可以是以下块的顺序:左侧1→上侧1→左侧2→上侧2→右上侧→左下侧→左上侧。可选地,预定顺序可以是以下块的顺序:左侧1→上侧1→左侧2→上侧2→左下侧→右上侧→左上侧。可选地,预定顺序可以是以下块的顺序:左侧1→上侧1→左侧2→上侧2→左上侧→右上侧→左下侧。可选地,预定顺序可以是以下块的顺序:左侧1→上侧1→左侧2→上侧2→左上侧→左下侧→右上侧。可选地,预定顺序可以是以下块的顺序:左侧2→上侧2→左侧1→上侧1→右上侧→左下侧→左上侧。可选地,预定顺序可以是以下块的顺序:左侧2→上侧2→左侧1→上侧1→左下侧→右上侧→左上侧。可选地,预定顺序可以是以下块的顺序:左侧2→上侧2→左侧1→上侧1→左上侧→右上侧→左下侧。可选地,预定顺序可以是以下块的顺序:左侧2→上侧2→左侧1→上侧1→左上侧→左下侧→右上侧。

根据本发明的另一实施例,当当前块是水平长度长于垂直长度的非正方形块时,可以优先将当前块的左侧邻近块的帧内预测模式添加到MPM列表。例如,可以按照以下块的顺序将邻近块的帧内预测模式添加到MPM列表:左侧1→左侧2→上侧1→上侧2→左上侧→左下侧→右上侧。

当当前块是垂直长度长于水平长度的非正方形块时,当前块的上侧邻近块的帧内预测模式可以被优先地添加到MPM列表。例如,可以按照以下块的顺序将邻近块的帧内预测模式添加到MPM列表:上侧1→上侧2→左侧1→左侧2→左上侧→左下侧→右上侧。

为了对MPM列表进行初始化,可以应用除以上示例顺序之外的另一顺序。

可以按照预定块单元执行对MPM列表进行初始化(或重新排列)。这里,块单元可以指编码块、预测块或变换块。可选地,可以按照配置有多个块单元的预定区域单元执行对MPM列表进行初始化(或重新排列)。预定区域可以是被定义用于更新帧内预测模式的频数的区域。区域的尺寸或形状或区域的尺寸和形状两者可以在图像编码/解码设备中被预先确定,或者可以基于被编码用于指定区域的信息而被可变地确定。

可选地,可以基于预定标志来选择性地执行对MPM列表进行初始化(或重新排列)。可以从图像编码设备用信号发送该标志,或者可以通过考虑邻近块的帧内预测模式的频数来推导该标志。

可选地,可以基于当前块的尺寸或形状或者当前块的尺寸和形状两者来选择性地执行对MPM列表进行初始化(或重新排列)。例如,当当前块具有特定形状时,可以执行对MPM列表进行初始化(或重新排列)。这里,特定形状可以表示正方形形状或非正方形形状、水平长的非正方形形状或垂直长的非正方形形状、或者对称形状或不对称形状。例如,可以在当前块的尺寸等于预定阈值大小时执行对MPM列表进行初始化(或重新排列),或者可以在当前块的尺寸小于或大于预定阈值大小时执行对MPM列表进行初始化(或重新排列)。阈值大小可以是在图像编码/解码设备中预先确定的值,或者可以基于用信号发送的阈值大小的信息来确定。可选地,可以执行对MPM列表进行初始化(或重新排列),而不管当前块的尺寸或形状或者当前块的尺寸和形状两者如何。

当通过使用邻近块的帧内预测模式来对当前块的MPM列表进行初始化时,可以对MPM列表的每个候选模式的出现频数进行初始化。为了对出现频数进行初始化,可以使用以下描述的方法中的至少一种。

例如,可以通过使用相同的预定值来对所有候选模式的频数进行初始化。预定值可以是包括零的正整数。

可选地,可以基于邻近块的块尺寸来确定候选模式的频数。例如,当邻近块具有W×H的尺寸和形状时,可以将MPM列表的每个候选模式的频数初始化为W×H、W或H。

可选地,可以根据当前块的邻近块的位置来不同地对每个候选模式的频数进行初始化。例如,当前块的左侧邻近块的频数可以被初始化为对应邻近块的H(高度)值。类似地,当前块的上侧邻近块的频数可以被初始化为对应邻近块的W(宽度)值。

这里,可以考虑当前块的形状(当前块是正方形还是非正方形,并且在当前块是非正方形的情况下,当前块具有更长的水平长度还是更长的垂直长度)。

当当前块是水平长度大于垂直长度的非正方形块时,可以将MPM列表初始化为水平模式。换言之,水平模式可以比其他模式更优先地被添加到MPM列表。这里,水平模式可以指精确的水平模式,或者可以指包括水平模式和与水平模式相邻的模式(水平模式±Q)的模式中的全部或部分。这里,Q可以是正整数。

当当前块是垂直长度大于水平长度的非正方形块时,可以将MPM列表初始化为垂直模式。换言之,垂直模式可以比其他模式更优先地被添加到MPM列表。这里,垂直模式可以指精确的垂直模式,或者可以指包括垂直模式和与垂直模式相邻的模式(垂直模式±Q)的模式中的全部或部分。这里,Q可以是正整数。

可选地,可以通过使用PLANAR模式、DC模式、水平模式、垂直模式、45度角模式、135度角模式和225度角模式中的至少一个来对MPM列表进行初始化。换言之,PLANAR模式、DC模式、水平模式、垂直模式、45度角模式、135度角模式和225度角模式中的至少一个可以比其他模式更优先地被添加到MPM列表。

可以配置包括PLANAR模式、DC模式、水平模式、垂直模式、45度角模式、135度角模式和225度角模式中的至少一个的模式候选集。另外,可以根据诸如当前块的尺寸、形状等的编码参数中的至少一个,通过使用模式候选集来对MPM列表进行初始化。

在对MPM列表进行初始化之后,可以检查邻近块的每个帧内模式的出现频数。例如,可以按照从idx1到idxN的顺序检查存储在MPM列表中的候选模式,并且当帧内模式重叠时,对应帧内模式的频数可以增加K。K可以是预定的正整数。

在对存储在当前块的MPM列表中的候选模式的出现频数进行初始化之后,当在MPM列表中存在相同的候选模式时,可以更新对应模式的频数。

例如,可以以从idx1到idxN的顺序检查在MPM列表内是否存在相同的候选模式。这里,当当前检查的候选模式是与idxK对应的模式时(这里,K是等于或小于N的正整数),可以通过比较从idx1到idxL的候选模式(这里,L是小于K的正整数)并当idxP的候选模式(这里,P为等于或小于L的正整数)与idxK的候选模式相同时将idxK的频数与idxP的频数相加来更新idxP的频数。这里,可以从MPM列表删除与idxK对应的候选模式。

通过执行以上处理直到与idxN对应的候选模式,可以生成候选模式不重叠的MPM列表。这里,生成的MPM列表中的每个候选模式的频数可以相同或可以不同。

在更新当前块的MPM列表内的候选模式的出现频数并更新MPM列表以使其候选模式不重叠之后,可以基于出现频数以降序或升序对MPM列表内的候选模式进行排序。

作为基于出现频数重新排列MPM列表中的候选模式的另一示例,当根据扫描当前块的邻近块的预定顺序将每个候选模式从idx1到idxN填充到MPM列表时,可以检查当前将被添加的候选模式是否与MPM列表中存储的候选模式重叠,并且可以改变预先存储的候选模式的顺序。例如,当将对应于idxK(K是等于或小于N的正整数)的候选模式添加到MPM列表时,当该候选模式与预先存储在MPM列表中的从idx1到idx(K-1)的候选模式之一重叠时,可以用与idx(K-J)对应的候选模式来替换预先存储的重叠候选模式,并且可以不将idxK模式添加到MPM列表。这里,J是小于K的正整数。

可以按照块单元、CTU单元、条带单元、画面单元和画面组(GOP)单元中的至少一个来执行以下操作:更新邻近块的帧内预测模式的出现频数并重新初始化。

例如,可以以当前块为单位来累加邻近块的帧内预测模式的出现频数,并且可以将下一块之前的所有帧内预测模式的频数初始化为零。

可选地,可以以N个块为单位累加邻近块的帧内预测模式的出现频数,并且在对N个块进行编码/解码之后,在对随后的N个块进行编码/解码之前,可以将所有帧内预测模式的频数初始化为零。

可选地,可以以CTU、条带或画面为单位来累加邻近块的帧内预测模式的出现频数,并且在对CTU、条带或画面内的所有块进行编码/解码之后,在对下一CTU、条带或画面进行编码/解码之前,可以将所有帧内预测模式的频数初始化为零。

可以检查存储在当前块的MPM列表中的候选模式的出现频数,并且可以根据出现频数,以降序或升序重新排列存储在MPM列表中的候选模式的顺序。这里,当存在具有相同出现频数的多个帧内预测模式时,可以保持或改变现有顺序。

可以基于出现频数执行降序排序,并且当当前块具有左侧块、左下侧块、上侧块、右上侧块和左上侧块五个邻近块时,可以通过使用下面描述的方法中的至少一种来重新排列MPM列表中的候选模式。

例如,当五个邻近块中的全部邻近块具有彼此不同的帧内预测模式并且频数是一时,可以保持现有顺序,并且可以不重新排列MPM列表中的候选模式。

例如,当存在出现频数为二的一个帧内预测模式、出现频数为一的三个帧内预测模式时,可以将出现频数为二的所述一个帧内预测模式分配给MPM列表的idx1,并且可以在保持现有顺序的情况下将出现频数为一的所述三个帧内预测模式分别分配给idx2、idx3、idx4。

例如,当存在出现频数为二的两个帧内预测模式和出现频数为一的一个帧内预测模式时,可以在保持现有顺序的情况下将所述两个出现频数为二的帧内预测模式分别分配给MPM列表的idx1、idx2,并且可以将出现频数为一的所述一个帧内预测模式分配给idx3。

例如,当存在出现频数为三的一个帧内预测模式以及出现频数为一的两个帧内预测模式时,可以将出现频数为三的所述一个帧内预测模式分配给MPM列表的idx1,并且可以在保持现有顺序的情况下将出现频数为二的所述两个帧内预测模式分别分配给idx2、idx3。

例如,当存在出现频数为三的一个帧内预测模式以及出现频数为二的一个帧内预测模式时,可以将出现频数为三的一个帧内预测模式分配给MPM列表的idx1,并且可以将出现频数为二的一个帧内预测模式分配给idx2。

例如,当存在出现频数为四的一个帧内预测模式以及出现频数为一的一个帧内预测模式时,可以将出现频数为四的一个帧内预测模式分配给MPM列表的idx1,并且可以将出现频数为一的一个帧内预测模式分配给idx2。

作为基于出现频数重新排列MPM列表中的候选模式的另一示例,当根据扫描当前块的邻近块的预定顺序将每个候选模式从idx1到idxN填充到MPM列表时,可以检查当前将被添加的候选模式是否与MPM列表中存储的候选模式重叠,并且可以改变预先存储的候选模式的顺序。例如,当将对应于idxK(K是等于或小于N的正整数)的候选模式添加到MPM列表时,当该候选模式与预先存储在MPM列表中的从idx1到idx(K-1)的候选模式之一重叠时,可以用与idx(K-J)对应的候选模式替换预先存储的重叠候选模式,并且可以不将idxK模式添加到MPM列表。这里,J是小于K的正整数。

对于根据出现频数重新排列的MPM列表,可以基于特定阈值“Th”确定可以包括作为非角度模式的PLANAR模式和DC模式的位置。这里,“Th”可以是预定的正整数。可以基于属于MPM列表的候选模式的频数来推导“Th”。例如,可以基于包括候选模式的频数的最大值、最小值、平均值的统计值中的至少一个来确定“Th”。

在重新排列的MPM列表的候选模式中,在出现频数等于或大于P的候选模式旁边的位置处,可以添加PLANAR模式和DC模式作为候选模式。P可以是2或3或更大的整数。

在以上处理之后,当MPM列表的N个候选模式中的全部未被添加时,可以通过使用以下描述的方法中的至少一种来添加候选模式,直到在列表中填充了N个候选模式。

例如,当MPM列表中存在的候选模式中存在角度模式时,可以从idx1到idxN根据顺序将作为“对应角度模式±1”的帧内预测模式添加为候选模式。

例如,在角度模式中,水平模式、垂直模式、45度角模式、135度角模式和225度角模式中的至少一个可以被添加作为候选模式。

当配置MPM列表时,可以根据当前块的左侧邻近块、左下侧邻近块、上侧邻近块、右上侧邻近块和左上侧邻近块中的至少一个的帧内预测模式来自适应地确定将候选模式包括到MPM列表的从idx1到idxN的顺序。

可以根据当前块的尺寸或形状或者当前块的尺寸和形状两者、图像分辨率和QP值中的至少一个来确定参考邻近块的数量K。这里,K可以是正整数。这里,当图像分辨率的水平长度或当前块的水平长度为W,并且图像分辨率的垂直长度或当前块的垂直长度为H时,图像和当前块的尺寸可以被表示为大于或小于W×H、W、H、W+H、W和H的值之一。这里,W和H可以是正整数。可选地,数字K可以是在图像编码/解码设备中预定义的固定值。

例如,当图像或当前块或者图像和当前块两者具有特定尺寸或更大尺寸时,可以参考K个邻近块或更多个邻近块。例如,当图像或当前块或者图像和当前块两者的尺寸等于或小于特定尺寸时,可以参考K个邻近块或更少个邻近块。例如,当图像或当前块或者图像和当前块两者具有特定尺寸或更大尺寸时,可以参考K个邻近块或更少个邻近块。例如,当图像或当前块或者图像和当前块两者具有特定尺寸或更小尺寸时,可以参考K个邻近块或更多个邻近块。例如,当图像或当前块或者图像和当前块两者具有等于或大于特定值的QP值时,可以参考K个邻近块或更多个邻近块。例如,当图像或当前块或者图像和当前块两者具有等于或小于特定值的QP值时,可以参考K个邻近块或更少个邻近块。例如,当图像或当前块或者图像和当前块两者具有等于或大于特定值的QP值时,可以参考K个邻近块或更少个邻近块。例如,图像或当前块或者图像和当前块两者具有等于或小于特定值的QP值,可以参考K个邻近块或更多个邻近块。

当当前块参考的邻近块的数量是K时,可以根据预定顺序通过使用以下描述的方法之一来确定所参考的邻近块的位置。

例如,可以参考与ceil(K/2)或floor(K/2)对应的数量的左侧邻近块、以及与floor(K/2)或ceil(K/2)对应的数量的上侧块。例如,可以优先地参考所有左侧邻近块,然后当所参考的邻近块的数量小于K时,可以参考上侧邻近块,直到参考了K个块为止。可选地,相反,可以优先地参考上侧邻近块,然后当所参考的邻近块的数量小于K时,可以参考左侧邻近块,直到参考了K个块为止。

当确定了用于配置MPM列表的邻近块的数量(K)和位置时,可以基于邻近块的帧内预测模式来可变地配置当前块的MPM列表。这里,MPM模式可以具有N个候选模式,N可以是正整数,并且K可以被定义为等于或小于N的正整数。

例如,为了配置当前块的MPM列表,对于所参考的K个邻近块的帧内预测模式,可以使用以下描述的条件中的至少一个。

所述条件如下:当K个邻近块中的全部都具有PLANAR模式时,当K个邻近块中的全部都具有DC模式时;当K个邻近块具有PLANAR模式和DC模式的组合时;当K个邻近块中的全部都具有角度模式时;当在K个邻近块中,L个邻近块为角度模式并且K-L个邻近块为PLANAR模式或DC模式时(这里,L为小于K的正整数);当K个邻近块中的全部都为水平角度模式时;当K个邻近块中的全部均为垂直角度模式时;当在K个邻近块中,L个邻近块为水平角度模式并且K-L个邻近块为垂直角度模式时(这里,L为小于K的正整数)。

例如,当所参考的用于配置当前块的MPM列表的K个邻近块中的全部都具有角度模式时,或者当K个邻近块具有的角度模式多于非角度模式时,可以优先将角度模式作为候选模式添加到MPM列表的idx1至idxN。

可选地,当所参考的K个邻近块中的全部或部分具有角度模式时,可以将对应的角度模式优先地添加到MPM列表。可选地,当所参考的K个邻近块中的全部或部分具有非角度模式时,可以将对应的非角度模式优先地添加到MPM列表,并且可以将对应的非角度模式添加在预定的固定位置处。

在一个实施例中,当满足以上条件时,可以将角度模式优先地添加到MPM列表。所添加的角度模式可以是当前块所参考的邻近块的角度模式。这里,在邻近块的角度模式中,当存在至少两个不重叠的模式时,可以根据预定的邻近块参考顺序从idx1顺序地执行添加作为候选模式。预定参考顺序可以是例如左侧块→上侧块→左上侧块→右上侧块→左下侧块的顺序。

在上述实施例中,邻近块的角度模式可以被优先添加到MPM列表,然后,通过将±1、±2、±3、±4、±5、±6、±7、±8…与角度模式相加而获得的模式中的至少一个可以被添加到MPM列表,并且水平模式、垂直模式、45度角模式、135度角模式和225度角模式中的至少一个可以被添加到MPM列表。通过将特定偏移量(诸如,±1、±2、±3、±4、±5、±6、±7、±8…)与邻近块的角度模式相加而获得的帧内预测模式可以按照偏移量的绝对值增大的顺序被添加到MPM列表。在添加了通过将特定偏移量(诸如,±1、±2、±3、±4、±5、±6、±7、±8…)与邻近块的角度模式相加而获得的帧内预测模式之后,可以将水平模式、垂直模式、45度角模式、135度角模式和225度角模式中的至少一个添加到MPM列表。

在上述实施例中,当将作为非角度模式的PLANAR模式和DC模式添加到MPM列表时,添加了PLANAR模式和DC模式的索引(位置)可以是固定的或可以变化。例如,可以将PLANAR模式固定地添加到idxA,并且可以将DC模式固定地添加到idxB,作为候选模式。这里,A和B可以是等于或小于N的正整数。可选地,当K个邻近块具有角度模式时,可以将PLANAR模式添加到idxC,并且可以将DC模式添加到idxD,作为候选模式。这里,C和D可以是大于K的正整数,其中,K等于或小于N。换言之,可以将水平模式、垂直模式、45度角模式、135度角模式和225度角模式中的至少一个添加到MPM列表,然后可以将PLANAR模式和DC模式中的至少一个添加到MPM列表中。

例如,当所参考的K个邻近块中的全部都是PLANAR模式时,可以将PLANAR模式作为候选模式添加到MPM列表的idx1。

例如,当所参考的K个邻近块中的全部都是DC模式时,可以将DC模式作为候选模式添加到MPM列表的idx1。

例如,当所参考的K个邻近块中的全部都是PLANAR模式或DC模式时,可以将PLANAR模式添加到MPM列表的idx1或idx2,并且可以将DC模式添加到MPM列表的idx2或idx1,作为候选模式。

使用了N个MPM列表的当前块的帧内预测模式可以按照以下实施例的方式被熵编码/熵解码。

在包括于MPM_LIST_1、MPM_LIST_2、…和MPM_LIST_N中的帧内预测模式之中存在与当前块的帧内预测模式相同的帧内预测模式的情况下,编码器可以对指示MPM_LIST_1、MPM_LIST_2、…和MPM_LIST_N中的哪个列表包括与当前块的帧内预测模式相同的帧内预测模式的指示符MPM_FLAG_1、MPM_FLAG_2、…和MPM_FLAG_N进行熵编码。如果在MPM_LIST_1中存在当前块的帧内预测模式,则MPM_FLAG_1可以是第一值,并且除MPM_FLAG_1之外的MPM_FLAG_2、…和MPM_FLAG_N可以是第二值。在这种情况下,还可以对关于MPM_LIST_1的索引信息MPM_IDX_1进行熵编码。

或者,如果在MPM_LIST_2中存在当前块的帧内预测模式,则MPM_FLAG_2可以是第一值,并且除MPM_FLAG_2之外的MPM_FLAG_1、…和MPM_FLAG_N可以是第二值。在这种情况下,还可以对关于MPM_LIST_2的索引信息MPM_IDX_2进行熵编码。

或者,如果在MPM_LIST_N中存在当前块的帧内预测模式,则MPM_FLAG_N可以是第一值,并且除MPM_FLAG_N之外的MPM_FLAG_1、…和MPM_FLAG_(N-1)可以是第二值。在这种情况下,还可以对关于MPM_LIST_N的索引信息MPM_IDX_N进行熵编码。

在MPM_LIST_1、MPM_LIST_2、…和MPM_LIST_N中包括的帧内预测模式之中不存在与当前块的帧内预测模式相同的帧内预测模式的情况下,编码器可以将指示MPM_LIST_1、MPM_LIST_2、…和MPM_LIST_N中的哪个列表包括与当前块的帧内预测模式相同的帧内预测模式的MPM_FLAG_1、MPM_FLAG_2、…和MPM_FLAG_N熵编码为第二值。如果MPM_FLAG_1、MPM_FLAG_2、…和MPM_FLAG_N是第二值,则还可以对剩余的帧内预测模式REM_MODE进行熵编码。

解码器可以对指示MPM_LIST_1、MPM_LIST_2、...和MPM_LIST_N中的哪个列表包括与当前块的帧内预测模式相同的帧内预测模式的指示符MPM_FLAG_1、MPM_FLAG_2、...和MPM_FLAG_N进行熵解码。如果MPM_FLAG_1是第一值并且除MPM_FLAG_1之外的MPM_LIST_2,…和MPM_LIST_N是第二值,则当前块的帧内预测模式可以存在于MPM_LIST_1中。在这种情况下,可以通过进一步对关于MPM_LIST_1的索引信息MPM_IDX_1进行熵解码来推导当前块的帧内预测模式。

或者,如果MPM_FLAG_2是第一值并且除MPM_LIST_2之外的MPM_LIST_1、…和MPM_LIST_N是第二值,则当前块的帧内预测模式可以存在于MPM_LIST_2中。在这种情况下,可以通过进一步对关于MPM_LIST_2的索引信息MPM_IDX_2进行熵解码来推导当前块的帧内预测模式。

或者,如果MPM_FLAG_N是第一值并且除MPM_LIST_N之外的MPM_LIST_1、…和MPM_LIST_(N-1)是第二值,则当前块的帧内预测模式可以存在于MPM_LIST_N中。在这种情况下,可以通过进一步对关于MPM_LIST_N的索引信息MPM_IDX_N进行熵解码来推导当前块的帧内预测模式。

或者,如果MPM_FLAG_1、MPM_FLAG_2、…和MPM_FLAG_N是第二值,则可以通过进一步对剩余的帧内预测模式REM_MODE进行熵解码来推导当前块的帧内预测模式。这里,可以不出现MPM_FLAG_1、MPM_FLAG_2、…和MPM_FLAG_N中的全部都是第一值的情况。

现在,将给出针对N个MPM列表被用于当前块的情况的另一实施例的描述。

[表1]

如在[表1]的示例中,编码器可以通过根据制作多个MPM列表的顺序中的至少一个来顺序地检查在包括在MPM_LIST_1、MPM_LIST_2、…MPM_LIST_N中的每个中的帧内预测模式之中是否存在与当前块的帧内预测模式相同的帧内预测模式,以对当前块的帧内预测模式进行熵编码。

指定MPM列表的标志(诸如MPM_FLAG_N)或指示多个MPM列表之一的索引可以被编码/解码。指示基于MPM的帧内预测推导方法是否被用于当前块(或当前条带、当前画面、当前序列等)的信息可以被编码/解码。如果该信息指示基于MPM的帧内预测推导方法被使用,则可以对索引进行编码/解码。多个MPM列表的数量或类型中的至少一个可以在编码器/解码器中被固定地预定义,或者可以基于与当前块/邻近块的尺寸、深度、形状、位置等有关的参数被可变地确定。例如,在编码器/解码器中预定义的MPM列表的数量可以是1、2、3或更多。每个MPM列表中包括的帧内预测模式的最大数量可以被迫相等。最大数量可以在编码器/解码器中被固定地预设,或者可以按照预定单元(例如,序列、画面、条带、块等)被用信号发送。如果特定MPM列表中包括的帧内预测模式的数量小于最大数量,则可以将预定模式添加到特定MPM列表。添加的模式可以是预设的默认模式,或者是另一MPM列表中包括的帧内预测模式。尤其是,可以添加与特定MPM列表中包括的帧内预测模式不同的模式。可以省略MPM列表之间的冗余检查。MPM列表中的一个可以与另一MPM列表共享至少一个相同的帧内预测模式。

现在,将描述针对N个MPM列表被用于当前块的情况的另一实施例。

编码器可以按照制作多个MPM列表的顺序中的至少一个顺序来制作从MPM_LIST_1到MPM_LIST_N的多个MPM列表。N个MPM列表中的候选帧内预测模式的总数可以是K。N和K可以是正整数。

例如,MPN_LIST_combined可以由N个MPM列表中的候选帧内预测模式中的K个或更少的候选帧内预测模式组成。

例如,如果在MPM_LIST_combined中存在与当前块的帧内预测模式相同的帧内预测模式,则可以将指示在MPM_LIST_combined中是否存在与当前块的帧内预测模式相同的帧内预测模式的指示符MPM_FLAG_combined熵编码为第一值。这里,可以另外对关于MPM_LIST_combined的索引信息MPM_IDX_combined进行熵编码。

在MPM_LIST_combined中不存在与当前块的帧内预测模式相同的帧内预测模式的情况下,可以将MPM_FLAG_combined熵编码为第二值。如果MPM_FLAG_combined是第二值,则可以另外对剩余的帧内预测模式REM_MODE进行熵编码。

解码器可以对指示在MPM_LIST_combined中是否存在与当前块的帧内预测模式相同的帧内预测模式的指示符MPM_FLAG_combined进行熵解码。如果MPM_FLAG_combined是第一值,则可以通过进一步对索引信息MPM_IDX_combined进行熵解码来推导当前块的帧内预测模式。如果MPM_FLAG_combined是第二值,则可以通过另外对剩余的帧内预测模式REM_MODE进行熵解码来推导当前块的帧内预测模式。

根据本发明,可以通过编码/解码来推导当前块的帧内预测模式。这里,可以在不使用邻近块的帧内预测模式的情况下对当前块的帧内预测模式进行熵编码/熵解码。

可以使用另一颜色分量的帧内预测模式来推导当前块的帧内预测模式。例如,当当前块是色度块时,可以使用与色度目标块对应的至少一个相关亮度块的帧内预测模式来推导色度块的帧内预测模式。这里,可以基于色度块的位置、尺寸、形状或编码参数中的至少一个来确定相关亮度块。可选地,可以基于亮度块的尺寸、形状或编码参数中的至少一个来确定相关亮度块。

可以使用包括与色度块的中心位置对应的样点的亮度块或者使用分别包括与色度块的至少两个位置对应的样点的至少两个亮度块来确定相关亮度块。至少两个位置可以包括左上样点位置和中心样点位置。

当存在若干相关亮度块时,可以将至少两个相关亮度块的帧内预测模式的统计值推导为色度块的帧内预测模式。可选地,可以将相对大的相关亮度块的帧内预测模式推导为色度块的帧内预测模式。可选地,当与色度块的预定位置对应的亮度块的尺寸等于或大于色度块的尺寸时,可以使用相关亮度块的帧内预测模式来推导色度块的帧内预测模式。

例如,当当前块被被分区为子块时,可以使用推导当前块的帧内预测模式的至少一种方法来推导分区出的子块中的每个子块的帧内预测模式。

当推导帧内预测模式时,在编码/解码时使用的帧内预测模式的数量可以根据具有W×H尺寸的当前块的形状而变化。这里,W和H可以是正整数。当用于正方形块(当W和H具有相同值时)的角度模式的数量为N(这里,N为正整数)时,用于非正方形块(当W和H具有不同值时)的角度模式的数量可以是小于N的K。这里,N和K两者都可以是正整数。

图8是示出根据块形状可用的多种帧内预测模式的示图。

图9是示出角度帧内预测模式的角度的示图。

图8是示出包括在具有128×128尺寸的CTU中的非正方形块的各种示例的示图。在图8中,小块可以表示4×4块。块中的数字可以表示Z扫描顺序。

在图8(a)至图8(d)中,阴影区域可以表示当前块。因此,图8(a)和图8(b)中所示的当前块示出W大于H的非正方形块的示例。另外,图8(c)和图8(d)中所示的当前块示出W小于H的非正方形块的示例。

当用于正方形块的角度模式的数量是N时,可以通过使用下面描述的示例之一来确定用于非正方形块的帧内预测模式(角度模式)的数量。

如图8(a)和图8(b)所示,当当前块是水平长的非正方形块时,可以使用两个箭头之间的模式。参照图9,对于水平长的非正方形块,可以通过使用135度角和225度角之间的帧内预测模式来执行帧内预测。换言之,可以通过使用水平模式和与水平模式相邻的模式中的至少一个模式来执行帧内预测。另外,可用帧内预测模式的数量受到限制,因此可以基于有限数量的可用帧内预测模式来执行帧内预测模式的编码/解码。

图8(c)和图8(d)示出当前块是垂直长的非正方形块的情况。这里,参照图9,可以使用在45度角和135度角之间的帧内预测模式。换言之,可以通过使用垂直模式和与垂直模式相邻的模式中的至少一个模式来执行帧内预测。

当存在两个非角度模式(模式0和模式1)和65个角度模式(模式2至模式66)时,在图8(a)和图8(b)中,可以使用从对应于225度角的模式2到对应于135度角的模式34。可选地,基于对应于180度角的模式18,通过使用模式(18-P)到模式(18+P),可以执行当前块的帧内预测,并且可以对帧内预测模式进行编码/解码。这里,P可以是正整数,当角度模式总计65个时,P可以是小于16的正整数。

另外,在图8(c)和图8(d)中,可以使用从对应于135度的模式34到对应于45度角的模式66的33个模式。可选地,基于对应于90度角的模式50,通过使用从模式(50-P)到模式(50+P)的模式,可以执行针对当前块的帧内预测,并且可以对帧内预测模式进行编码/解码。这里,P可以是正整数,当角度模式总计65个时,P可以是小于16的正整数。

例如,在图8(a)至图8(d)中,通过使用M=N/P个帧内预测模式中的模式,可以执行针对当前块的帧内预测,并且可以对帧内预测模式进行编码/解码。这里,P可以为P=2K(这里,K为正整数)。

当在推导出的MPM列表中未预设与当前块的帧内预测模式相同的帧内预测模式时,可以通过使用以下描述的方法对当前块的帧内预测模式进行编码/解码。

为了对当前块的帧内预测模式进行编码/解码,可以以降序和升序中的至少一种对不包括在包括K个候选模式的MPM列表中的帧内预测模式进行排序。当当前块可用的帧内预测模式的总数是N时,排序的帧内预测模式的数量可以是N-K。这里,N可以是正整数,并且K可以是等于或小于N的正整数。

从排序后的帧内预测模式到当前块的帧内预测模式进行编码/解码所需要的比特数L可以如下根据块形式而变化。这里,L可以是正整数。

正方形块可用的帧内预测模式的数量可以是N,非正方形块可用的帧内预测模式的数量可以是M=N/2。这里,当对正方形块的帧内预测模式进行编码/解码所需要的比特数是L时,对非正方形块的帧内预测模式进行编码/解码所需要的比特数可以是L-1。

作为另一示例,当非正方形块可用的帧内预测模式的数量是M=N/4时,对非正方形块的帧内预测模式进行编码/解码所需要的比特数可以是L-2。

因此,当非正方形块可用的帧内预测模式的数量是M(M=N/2K))时,对非正方形块的帧内预测模式进行编码/解码所需要的比特数可以是L-K。这里,M可以是正整数,并且2K可以是等于或小于N的正整数。

当非正方形块可用的角度模式的数量是K时,可以基于与K个角度模式对应的帧内预测模式来配置被配置用于对帧内预测模式进行编码/解码的MPM列表。

例如,可以不将不与K个角度模式对应的帧内预测模式添加到MPM列表。

可选地,可以将与K个角度模式对应的帧内预测模式优先地添加到MPM列表,然后可以将不与K个角度模式对应的帧内预测模式添加到MPM列表。

可选地,可以将与K个角度模式对应的帧内预测模式优先地添加到MPM列表,然后可以将PLANAR模式、DC模式、垂直模式、水平模式、45度角模式、135度角模式和225度角模式中的至少一个添加到MPM列表中。

可选地,在与K个角度模式对应的帧内预测模式中,可以被添加到MPM列表的帧内预测模式的最大数量L可以在编码器/解码器中被预设,或者可以从编码器用信号发送给解码器。这里,L可以是小于K的正整数。

当推导当前块的帧内预测模式时,可以通过使用确定当前块的帧内预测模式是否与至少一个预定模式匹配的指示符来推导当前块的帧内预测模式。

由指示符指示的预定帧内预测模式可以是以下描述的模式中的至少一个。

–PLANAR模式

–DC模式

–垂直模式、水平模式、45度角模式、135度角模式和225度角模式中的至少一个

–通过组合MPM候选模式而表示的模式

通过使用指示符推导当前块的帧内预测模式可以在以下描述的时机执行。

当当前块的帧内预测模式与多个MPM列表中的所有候选模式不匹配时,可以执行使用指示符进行编码/解码。

这里,当当前块可用的帧内预测模式的总数是N,并且从第一MPM列表到第K MPM列表的候选模式的数量分别是从P1到PK时,当前块的帧内预测模式可以是个剩余模式之一。这里,N可以是正整数,可以是等于或小于N的正整数,并且L可以是正整数。

这里,为了从L个剩余模式推导当前块的帧内预测模式,可以对指示当前块的帧内预测模式是否与至少一个预定模式匹配的指示符进行编码/解码。

例如,当指示是否与第一预定模式匹配的指示符具有第一值时,当前块的帧内预测模式可以被推导为第一预定模式。

例如,当指示是否与直到第T预定模式匹配的所有指示符都具有第二值并且指示是否与第T+1预定模式匹配的指示符具有第一值时,当前块的帧内预测模式可以被推导为第T+1预定模式。

例如,当指示是否与预定模式匹配的指示符中的全部具有第二值时,可以对当前块的帧内预测模式进行熵编码/熵解码。

这里,T可以是等于或小于N的正整数,第一值可以是1,并且第二值可以是零。

可选地,在确定包括在MPM列表配置和MPM列表中的候选模式是否与当前块的帧内预测模式匹配之前,可以执行使用指示符进行编码/解码。

这里,当当前块可用的帧内预测模式的总数是N时,指示当前块的帧内预测模式是否与至少一个预定模式匹配的指示符可以被编码/解码。

例如,当指示是否与第一预定模式匹配的指示符具有第一值时,当前块的帧内预测模式可以被推导为第一预定模式。

例如,当指示是否与直到第T预定模式匹配的所有指示符都具有第二值并且指示是否与第T+1预定模式匹配的指示符具有第一值时,当前块的帧内预测模式可以被推导为第T+1预定模式。

例如,当指示是否与预定模式匹配的指示符中的全部具有第二值时,可以对当前块的帧内预测模式进行熵编码/熵解码。

这里,T可以是等于或小于N的正整数,第一值可以是1,并且第二值可以是零。

可以通过使用由指示符指示的帧内预测模式中的至少一个来配置特定MPM列表。

特定MPM列表可以包括PLANAR模式、DC模式、垂直模式、水平模式、45度角模式、135度角模式和225度角模式中的至少一个。

可以在配置普通MPM列表之前配置特定MPM列表。这里,普通MPM列表可以表示以上示例的MPM列表。换言之,在通过使用由指示符指示的预定帧内预测模式中的至少一个来配置特定MPM列表之后,可以通过使用除了特定MPM列表中包括的帧内预测模式之外的帧内预测模式中的至少一个来配置普通MPM列表。

可以在不使用当前块的邻近块的帧内预测模式的情况下配置特定MPM列表。因此,不需要用于导出邻近块的帧内预测模式的处理或计算,从而降低了编码器/解码器的复杂性。

可以从编码器向解码器用信号发送是否使用特定的MPM列表的信息(标志)。

另外,可以额外地从编码器向解码器用信号发送用于指示特定MPM列表内的MPM候选的特定MPM索引。换言之,可以从编码器向解码器用信号发送特定MPM索引和普通MPM索引中的至少一个。当在解码器中被熵解码的特定MPM索引指示特定MPM列表内的MPM候选时,可以通过使用由对应的MPM候选指示的帧内预测模式来执行针对当前块的帧内预测。

可以以一个语法元素的形式从编码器向解码器用信号发送是否使用特定MPM列表的信息和特定MPM索引。例如,当一个语法元素指示值零时,它可以表示不使用特定MPM列表,当一个语法元素指示等于或大于1的值时,它可以指示特定MPM列表内的特定MPM候选。

另外,可以通过使用未包括在特定MPM列表和普通MPM列表中的帧内预测模式中的至少一个来配置剩余帧内预测模式。可将配置的剩余帧内预测模式的信息从编码器用信号发送给解码器。

帧内预测信息可以被熵编码/熵解码。可以按照VPS(视频参数集)、SPS(序列参数集)、PPS(画面参数集)、APS(自适应参数集)、条带头、并行块头、CTU单元、块单元、CU单元、PU单元和TU单元中的至少一个用信号发送帧内预测信息。例如,帧内预测信息可以包括以下多条信息中的至少一条信息。

指示MPM是否被匹配的标志:例如,prev_intra_luma_pred_flag

指示MPM列表中的位置的索引:例如,mpm_idx

帧内亮度预测模式信息:例如,rem_intra_luma_pred_mode

帧内色度预测模式信息:例如,intra_chroma_pred_mode

当使用N个MPM列表推导当前块的帧内预测模式或对当前块的帧内预测模式进行熵编码/熵解码时,指示对于N个MPM列表中的每个MPM列表,在该MPM列表的帧内预测模式中是否包括与当前块的帧内预测模式相同的帧内预测模式的指示符(MPM标志):例如,MPM_FLAG_1、MPM_FLAG_2、…、MPM_FLAG_N。

当在N个MPM列表中的特定一个MPM列表的帧内预测模式之中包括与当前块的帧内预测模式相同的帧内预测模式时,指示该MPM列表中的帧内预测模式的位置或顺序的索引信息:例如,MPM_IDX_1、MPM_IDX_2、…、MPM_IDX_N。

当MPM(最可能模式)标志为1时,可以通过使用MPM索引mpm_idx从包括已经编码/解码的相邻单元的帧内预测模式的候选模式推导亮度分量的帧内预测模式。

当MPM(最可能模式)标志为0时,可以通过使用关于亮度分量的帧内预测模式信息rem_intra_luma_pred_mode来对亮度分量的帧内预测模式进行编码/解码。

可以通过使用关于色度分量的帧内预测模式信息intra_chroma_pred_mode和/或色度分量块的相应帧内预测模式来对色度分量的帧内预测模式进行编码/解码。

可以基于编码参数中的至少一个来对帧内预测信息进行熵编码/熵解码。

基于块的尺寸和形状中的至少一个,可以不用信号发送上述多条帧内预测信息中的至少一条帧内预测信息。

例如,如果当前块的尺寸是预定尺寸,则可以不用信号发送关于当前块的至少一条帧内预测信息,并且可以使用与先前编码/解码的上层块的尺寸对应的至少一条关于帧内预测的信息。例如,如果当前块的形状为矩形,则可以不用信号发送关于当前块的至少一条帧内预测信息,并且可以使用与先前编码/解码的上层块的尺寸对应的至少一条关于帧内预测的信息。

当对多条帧内预测信息中的至少一条帧内预测信息进行熵编码/熵解码时,可以使用以下二值化方法中的至少一种。

–截断莱斯二值化方法

–K阶指数哥伦布二值化方法

–有限K阶指数哥伦布二值化方法

–固定长度二值化方法

–一元二值化方法

–截断一元二值化方法

现在,将给出参考样点构建步骤S520的详细描述。

在基于推导出的帧内预测模式对当前块或比当前块具有更小尺寸和/或形状的子块进行帧内预测时,可以构建参考样点以进行预测。在当前块的语境下给出以下描述,并且当前块可以表示子块。可以使用与当前块相邻的一个或更多个重建样点或样点组合来构建参考样点。另外,可以在构建参考样点时应用滤波。这里,可以按照原样使用在多条重建样点线上的每个重建样点来构建参考样点。或者,可以在同一重建样点线上的样点之间进行滤波之后构建参考样点。或者,可以在不同重建样点线上的样点之间进行滤波之后构建参考样点。构建的参考样点可以由ref[m,n]表示,并且重建的邻近样点或通过对重建的邻近样点进行滤波而获得的样点可以由rec[m,n]表示。这里,m或n可以是预定整数值。在当前块的尺寸为W(水平)×H(垂直)的情况下,如果当前块的最左上样点位置为(0,0),则可以将最靠近该样点位置的最左上参考样点的相对位置设置为(-1,-1)。

图10是描绘可用于当前块的帧内预测的邻近重建样点线的示例性示图。

如图10所示,可以使用与当前块相邻的一个或更多个重建样点线来构建参考样点。

例如,可以选择图10中所示的多个重建样点线之一,并且可以使用选择的重建样点线来构建参考样点。可以固定地选择多个重建样点线中的预定的一个重建样点线作为所述选择的重建样点线。或者,可以自适应地选择多个重建样点线中的特定的一个重建样点线作为所述选择的重建样点线。在这种情况下,可以用信号发送用于所述选择的重建样点线的指示符。

例如,可以组合地使用图10中所示的多个重建样点线中的一个或更多个来构建参考样点。例如,参考样点可以被构建为一个或更多个重建样点的加权和(或加权平均)。可以基于距当前块的距离来分配用于加权和的权重。这里,可以为距当前块的较短距离分配较大的权重。例如,可以使用下面的[等式1]。

[等式1]

ref[-1,-1]=(rec[-2,-1]+2×rec[-1,-1]+rec[-1,-2]+2)>>2

ref[x,-1]=(rec[x,-2]+3×rec[x,-1]+2)>>2,(x=0~W+H-1)

ref[-1,y]=(rec[-2,y]+3×rec[-1,y]+2)>>2,(y=0~W+H-1)

或者,可以基于距当前块的距离或帧内预测模式中的至少一个,使用多个重建样点的平均值、最大值、最小值、中值和最频繁出现值中的至少一个来构建参考样点。

或者,可以基于多个连续的重建样点的值的改变(变化)来构建参考样点。例如,可以基于以下项中的至少一项来构建参考样点:两个连续的重建样点的值之间的差是否等于或大于阈值;两个连续的重建样点的值是连续变化还是非连续变化;等等。例如,如果rec[-1,-1]和rec[-2,-1]之间的差等于或大于阈值,则ref[-1,-1]可以被确定为rec[-1,-1]、或通过利用分配给rec[-1,-1]的预定权重来应用加权平均而获得的值。例如,如果随着多个连续的重建样点越接近当前块,多个连续的重建样点的值被每次改变n,则参考样点ref[-1,-1]可以被确定为rec[-1,-1]-n。

可以根据当前块的上边界或左边界是否对应于画面、条带、并行块和编码树块(CTB)中的至少一个的边界,不同地确定重建样点线的数量和位置以及用于构建参考样点的构建方法中的至少一个。

例如,在使用重建样点线1和2构建参考样点时,当当前块的上边界对应于CTB边界时,重建样点线1可以用于上侧并且重建样点线1和2可以用于左侧。

例如,在使用重建样点线1至4构建参考样点时,当当前块的上边界对应于CTB边界时,重建样点线1和2可用于上侧并且重建样点线1至4可用于左侧。

例如,在使用重建样点线2构建参考样点时,当当前块的上边界对应于CTB边界时,重建样点线1可以用于上侧并且重建样点线2可以用于左侧。

通过以上过程可以构建一个或更多个参考样点线。

当前块的上侧的参考样点构建方法可以与左侧的参考样点构建方法不同。

指示已经使用以上方法中的至少一种方法构建了参考样点的信息可以被编码/解码。例如,指示是否使用了多个重建样点线的信息可以被编码/解码。

如果当前块被划分为多个子块,并且每个子块具有独立的帧内预测模式,则可以为每个子块构建参考样点。

图11是描绘为当前块中包括的子块构建参考样点的实施例的示图。

如图11所示,如果当前块的尺寸为16x16并且16个4x4的子块具有独立的帧内预测模式,则可以根据用于预测子块的扫描方案按照以下方法中的至少一种方法来构建每个子块的参考样点。

例如,可以使用与当前块邻近的N个重建样点线为每个子块构建参考样点。在图11所示的示例中,N为1。

例如,在以1->2->3->....15->16的光栅扫描顺序预测多个子块的情况下,第K子块的参考样点可以使用已经编码/解码的左侧子块、上方子块、右上子块和左下子块中的至少一个的样点来构建。

例如,在以1->2->5->6->3->4->7->…12->15->16的Z扫描顺序预测多个子块的情况下,第K子块的参考样点可以使用已经编码/解码的左侧子块、上方子块、右上子块和左下子块中的至少一个的样点来构建。

例如,在以1->2->5->9->6->3->4->…12->15->16的之字形扫描顺序预测多个子块的情况下,第K子块的参考样点可以使用已经编码/解码的左侧子块、上方子块、右上子块和左下子块中的至少一个的样点来构建。

例如,在以1->5->9->13->2->6->…8->12->16的垂直扫描顺序预测多个子块的情况下,第K子块的参考样点可以使用已经编码/解码的左侧子块、上方子块、右上子块和左下子块中的至少一个的样点来构建。

在以除了上述扫描顺序之外的扫描顺序预测多个子块的情况下,第K子块的参考样点可以使用已经编码/解码的左侧子块、上方子块、右上子块和左下子块中的至少一个的样点来构建。

在选择参考样点时,可以执行关于包括参考样点的块的可用性的判定和/或填充。例如,如果包括参考样点的块可用,则可以使用该参考样点。另外,如果包括参考样点的块不可用,则可以通过填充用一个或更多个可用的邻近参考样点来替换不可用的参考样点。

如果参考样点存在于画面边界、并行块边界、条带边界、CTB边界和预定边界中的至少一个之外,则可以确定参考样点不可用。

在当前块通过CIP(受约束帧内预测)被编码的情况下,如果包括参考样点的块以帧间预测模式被编码/解码,则可以确定参考样点不可用。

图12是描绘使用可用重建样点来替换不可用重建样点的方法的示图。

如果确定邻近重建样点不可用,则可以使用邻近可用重建样点来替换不可用样点。例如,如图12所示,在存在可用样点和不可用样点的情况下,可以使用一个或更多个可用样点来替换不可用样点。

可以以预定顺序用可用样点的样点值替换不可用样点的样点值。与不可用样点相邻的可用样点可以用于替换不可用样点。在不存在相邻的可用样点的情况下,可以使用第一个出现的可用样点或最接近的可用样点。不可用样点的替换顺序可以是最左下到最右上的顺序。或者,不可用样点的替换顺序可以是最右上到最左下的顺序。或者,不可用样点的替换顺序可以是最左上到最右上和/或最左下的顺序。或者,不可用样点的替换顺序可以是最右上和/或最左下到最左最上的顺序。

如图12所示,可以按照从最左下样点位置0到最右上样点的顺序来替换不可用样点。在这种情况下,可以用第一个出现的或最接近的可用样点a的值来替换前四个不可用样点的值。可以用最后一个可用样点b的值来替换后13个不可用样点的值。

或者,可以使用可用样点的组合替换不可用样点。例如,可以使用与不可用样点的两端相邻的可用样点的平均值来替换不可用样点。例如,在图12中,可以用可用样点a的值填充前四个不可用样点,并且可以用可用样点b和可用样点c的平均值填充后13个不可用样点。或者,可用可用样点b的值和可用样点c的值之间的任何值填充所述13个不可用样点。在这种情况下,可用差值替换不可用样点。例如,由于不可用样点更接近可用样点a,因此可以用与可用样点a的值接近的值替换不可用样点的值。类似地,由于不可用样点更接近可用样点b,因此可以用与可用样点b的值接近的值替换不可用样点的值。也就是说,可以基于从不可用样点到可用样点a和/或可用样点b的距离来确定不可用样点的值。

为了替换不可用的样点,可以选择性地应用包括以上方法的多种方法中的一种或更多种。可以通过包括在比特流中的信息来用信号发送用于替换不可用样点的方法,或者可以使用由编码器和解码器预先确定的方法。或者,可以通过预定方案来推导用于替换不可用样点的方法。例如,可以基于可用样点a的值和可用样点b的值之间的差和/或不可用样点的数量来选择用于替换不可用样点的方法。例如,可以基于两个可用样点的值之间的差与阈值之间的比较和/或不可用样点的数量与阈值之间的比较来选择用于替换不可用样点的方法。例如,如果两个可用样点的值之间的差大于阈值和/或如果不可用样点的数量大于阈值,则可以用不同的值替换不可用样点的值。

对于构建的一个或更多个参考样点,可以根据当前块的帧内预测模式、尺寸和形状中的至少一个来确定是否应用滤波。如果应用滤波,则可以根据当前块的帧内预测模式、尺寸和形状中的至少一个来使用不同的滤波器类型。

例如,对于多个参考样点线中的每个,可以不同地确定是否应用滤波和/或滤波器类型。例如,可以将滤波应用于第一邻近线,而可以不将滤波应用于第二邻近线。例如,经过滤波的值和未经过滤波的值都可以用于参考样点。例如,可以至少根据块的帧内预测模式、尺寸和形状来选择和应用3抽头滤波器、5抽头滤波器和7抽头滤波器中的至少一个。

在下文中,将详细描述执行帧内预测的步骤(S530)。

可以基于推导出的帧内预测模式和参考样点来针对当前块或子块执行帧内预测。在下面的描述中,当前块可以表示子块。

例如,可以执行非方向性帧内预测。非方向性帧内预测模式可以是DC模式和PLANAR模式中的至少一个。

可以使用构建的参考样点中的一个或更多个的平均值来执行DC模式下的帧内预测。可以将滤波应用于当前块的边界处的一个或更多个预测样点。可以根据当前块的尺寸和形状中的至少一个来自适应地执行DC模式帧内预测。

图13是示出根据当前块的形状的帧内预测的示例性示图。

例如,如图13的(a)所示,如果当前块被成形为正方形,则可以使用当前块的上方和左侧的参考样点的平均值来预测当前块。

例如,如图13的(b)所示,如果当前块被成形为矩形,则可以使用与当前块的宽度和长度之间的较长者邻近的参考样点的平均值来预测当前块。

例如,如果当前块的尺寸落入预定范围内,则从当前块的上方或左侧参考样点中选择预定样点,并且可以使用所选择的样点的平均值来执行预测。

可以通过根据当前块的目标帧内预测样点的位置考虑与一个或更多个构建的参考样点的距离来计算加权和以执行平面模式帧内预测。

例如,可以将预测块计算为取决于目标预测样点的位置(x,y)的N个参考样点的加权和。N可以为正整数,例如4。

例如,可以执行方向性帧内预测。方向性预测模式可以是水平模式、垂直模式和具有预定角度的模式中的至少一个。

可以使用目标帧内预测样点的位置处的水平/垂直线上的一个或更多个参考样点来执行水平/垂直模式帧内预测。

可以使用在相对于目标帧内预测样点的位置呈预定角度的线上的一个或更多个参考样点来执行具有所述预定角度的模式下的帧内预测。这里,可以使用N个参考样点。N可以是诸如2、3、4、5或6的正整数。此外,例如,可以通过应用诸如2抽头、3抽头、4抽头、5抽头或6抽头的N抽头滤波器来执行预测。

例如,可以基于位置信息执行帧内预测。可以对位置信息进行编码/解码,并且可以将该位置处的重建样点块推导为针对当前块的帧内预测块。或者,可以将由解码器检测到的与当前块相似的块推导为针对当前块的帧内预测块。

例如,可以执行帧内颜色分量预测。例如,可以使用当前块的重建亮度分量来针对色度分量执行帧内预测。或者,可以使用当前块的一个重建色度分量Cb针对另一色度分量Cr执行帧内预测。

可以通过组合地使用上述各种帧内预测方法中的一种或更多种来执行帧内预测。例如,可以通过使用预定非方向性帧内预测模式预测出的块和使用预定方向性帧内预测模式预测出的块的加权和来针对当前块构建帧内预测块。这里,可以根据当前块的帧内预测模式、块尺寸、形状和/或样点位置中的至少一个来应用不同的权重。

可以在编码器和解码器中以相同的方法执行以上实施例。

应用以上实施例的顺序在编码器和解码器之间可以不同,或者应用以上实施例的顺序在编码器和解码器中可以相同。

可以对每个亮度信号和色度信号执行以上实施例,或者可以对亮度信号和色度信号相同地执行以上实施例。

应用本发明的以上实施例的块形状可以具有正方形形状或非正方形形状。

可以根据编码块、预测块、变换块、块、当前块、编码单元、预测单元、变换单元、单元和当前单元中的至少一个的尺寸来应用本发明的以上实施例。这里,尺寸可以被定义为使得以上实施例可以被应用的最小尺寸或最大尺寸或者最小尺寸和最大尺寸两者,或者可以被定义为以上实施例被应用于的固定尺寸。另外,在以上实施例中,可以将第一实施例应用于第一尺寸,并且可以将第二实施例应用于第二尺寸。换言之,可以根据尺寸组合地应用以上实施例。另外,当尺寸等于或大于最小尺寸并且等于或小于最大尺寸时,可以应用以上实施例。换言之,当块尺寸被包括在特定范围内时,可以应用以上实施例。

例如,当当前块的尺寸是8×8或更大时,可以应用以上实施例。例如,当当前块的尺寸是4×4或更大时,可以应用以上实施例。例如,当当前块的尺寸是16×16或更小时,可以应用以上实施例。例如,当当前块的尺寸等于或大于16×16并且等于或小于64×64时,可以应用以上实施例。

可以根据时间层来应用本发明的以上实施例。为了识别以上实施例可以被应用于的时间层,可以用信号发送附加标识符,并且可以将以上实施例应用于由相应标识符标识的指定时间层。这里,标识符可以被定义为以上实施例可以被应用于的最低层或最高层或最低层和最高层两者,或者可以被定义为指示该实施例被应用于的特定层。另外,可以定义实施例被应用于的固定时间层。

例如,当当前图像的时间层是最低层时,可以应用以上实施例。例如,当当前图像的时间层标识符是1时,可以应用以上实施例。例如,当当前图像的时间层是最高层时,可以应用以上实施例。

可以定义本发明的以上实施例被应用于的条带类型,并且可以根据对应的条带类型来应用以上实施例。

在上述实施例中,基于具有一系列步骤或单元的流程图描述了方法,但是本发明不限于这些步骤的顺序,而是一些步骤可以与其他步骤同时执行或以不同的顺序执行。另外,本领域的普通技术人员应该理解,流程图中的步骤并不互相排斥,并且在不影响本发明的范围的情况下,可以将其他步骤添加到流程图或者可以将步骤中的一些步骤从流程图删除。

实施例包括示例的各个方面。可不描述各个方面的所有可能的组合,但是本领域技术人员将能够认识到不同的组合。因此,本发明可以包括权利要求范围内的所有替换、修改和改变。

本发明的实施例可以以程序指令的形式实现,其中,该程序指令可以由各种计算机组件执行并且被记录在计算机可读记录介质中。计算机可读记录介质可以单独地包括程序指令、数据文件、数据结构等,或者可以包括程序指令、数据文件、数据结构等的组合。记录在计算机可读记录介质中的程序指令可以是为本发明专门设计和构建的,或者对于计算机软件技术领域的普通技术人员是公知的。计算机可读记录介质的示例包括磁记录介质(诸如,硬盘、软盘和磁带)、光学数据存储介质(诸如,CD-ROM或DVD-ROM)、磁光介质(诸如软光盘)、以及被专门构造为存储和实现程序指令的硬件装置(诸如,只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。程序指令的示例不仅包括由编译器格式化的机械语言代码,而且包括可以由计算机使用解释器来实现的高级语言代码。硬件装置可以被配置为由一个或更多个软件模块操作或者反之亦然,以进行根据本发明的处理。

尽管已经在特定项目(诸如,详细元件)以及有限的实施例和附图方面描述了本发明,但是它们仅被提供以帮助更全面地理解本发明,并且本发明不限于以上实施例。本发明所属领域的技术人员将理解,可以根据以上描述进行各种修改和改变。

因此,本发明的精神将不应限于上述实施例,并且所附权利要求及其等同物的整个范围将落入本发明的范围和精神内。

工业适用性

本发明可以在对图像进行编码/解码时使用。

48页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于片上系统中的智能数据/帧压缩的系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类