帧内预测模式、以及熵编解码方法和装置

文档序号:29646497发布日期:2022-04-13 20:43阅读:191来源:国知局
帧内预测模式、以及熵编解码方法和装置

1.本发明涉及一种用于存储比特流的视频编码/解码方法、设备和记录介质。更具体地,本发明涉及一种使用帧内预测的视频编码/解码方法和设备,并且涉及一种用于存储由视频编码/解码或设备产生的比特流的记录介质。


背景技术:

2.近来,在各种应用领域中,对诸如高清晰度(hd)图像和超高清晰度(uhd)图像的高分辨率和高质量图像的需求不断增加。与传统的图像数据相比,具有更高分辨率和更高质量的图像数据增加了数据量。因此,当通过使用诸如传统的有线宽带网络和无线宽带网络的介质来传输图像数据时,或者当通过使用传统的存储介质来存储图像数据时,传输和存储代价也增加。为了解决由高分辨率和高质量图像数据带来的这些问题,需要高效的图像编码/解码技术。
3.图像压缩技术包括各种技术,其包括:从当前画面的先前画面或后续画面预测包括在当前画面中的像素值的帧间预测技术;通过使用当前画面中的像素信息来预测包括在当前画面中的像素值的帧内预测技术;用于压缩残差信号的能量的变换和量化技术;将短码分配给具有高出现频率的值并将长码分配给具有低出现频率的值的熵编码技术等。通过使用这种图像压缩技术可有效地压缩、传输或存储图像数据。


技术实现要素:

4.技术问题
5.本发明旨在提供一种具有增强的压缩效率的视频编码/解码方法和设备。
6.本发明还旨在提供一种使用具有增强的压缩效率的帧内预测的视频编码/解码方法和设备。
7.本发明还旨在提供一种用于存储由本发明的视频编码/解码方法或设备产生的比特流的记录介质。
8.技术方案
9.根据本发明,可提供一种图像解码方法,所述图像解码方法包括:从比特流获得针对当前块的邻近块的预测模式信息;通过使用获得的信息推导所述邻近块的预测模式;并且基于所述邻近块的所述预测模式重建所述当前块。
10.重建所述当前块的步骤可包括:基于所述邻近块的所述预测模式产生所述当前块的最可能模式(mpm)候选列表;以及通过使用所述mpm候选列表重建所述当前块。
11.当所述邻近块的所述预测模式信息是特殊帧内预测模式信息时,推导所述邻近块的所述预测模式的步骤可包括将所述邻近块的所述预测模式推导为平面模式。
12.所述特殊帧内预测模式信息可以是指示以下项之中的至少一个模式的信息:基于矩阵的帧内预测(mip)模式、多参考线(mrl)模式、帧内子分区(isp)模式、线性模型(lm)模式和当前画面参考(cpr)模式。
13.所述邻近块的所述预测模式信息可以是标志。
14.当所述邻近块的所述预测模式信息是指示mip模式的信息时,推导所述邻近块的所述预测模式的步骤可包括将所述邻近块的所述预测模式推导为平面模式。
15.重建所述当前块的步骤可包括:推导所述当前块的色度分量块的帧内预测模式;以及通过使用推导的帧内预测模式重建所述色度分量块。推导所述色度分量块的所述帧内预测模式的步骤可包括:基于针对与所述色度分量块相应的亮度分量块的特殊帧内预测模式信息推导所述亮度分量块的帧内预测模式;以及基于所述亮度分量块的所述帧内预测模式推导所述色度分量块的所述帧内预测模式。
16.所述特殊帧内预测模式信息可以是指示以下项之中的至少一个模式的信息:基于矩阵的帧内预测(mip)模式、多参考线(mrl)模式、帧内子分区(isp)模式、线性模型(lm)模式和当前画面参考(cpr)模式。
17.当与所述色度分量块相应的所述亮度分量块的预测模式信息是指示mip模式的信息时,推导所述亮度分量块的所述帧内预测模式的步骤可包括将所述亮度分量块的所述帧内预测模式推导为平面模式。
18.所述特殊帧内预测信息可以是标志。
19.另外,根据本发明,可提供一种图像编码方法,所述图像编码方法包括:基于针对当前块的邻近块的预测模式对所述当前块进行编码,并且基于所述邻近块的预测模式信息推导所述邻近块的所述预测模式。
20.对所述当前块进行编码的步骤可包括:基于所述邻近块的所述预测模式产生所述当前块的最可能模式(mpm)候选列表以及通过使用所述mpm候选列表对所述当前块进行编码。
21.当所述邻近块的所述预测模式信息是特殊帧内预测模式信息时,基于所述邻近块的所述预测模式信息推导所述邻近块的所述预测模式的步骤可包括将所述邻近块的所述预测模式推导为平面模式。
22.所述特殊帧内预测模式信息可以是指示以下项之中的至少一个模式的信息:基于矩阵的帧内预测(mip)模式、多参考线(mrl)模式、帧内子分区(isp)模式、线性模型(lm)模式和当前画面参考(cpr)模式。
23.所述邻近块的所述预测模式信息可以是标志。
24.当所述邻近块的所述预测模式信息是指示mip模式的信息时,基于所述邻近块的所述预测模式信息推导所述邻近块的所述预测模式的步骤可包括将所述邻近块的所述预测模式推导为平面模式。
25.对所述当前块进行编码的步骤可包括:基于所述当前块的色度分量块的帧内预测模式对所述色度分量块进行编码。对所述色度分量块的进行编码的步骤可包括:基于针对与所述色度分量块相应的亮度分量块的特殊帧内预测模式信息推导所述亮度分量块的帧内预测模式;以及基于所述亮度分量块的所述帧内预测模式对所述色度分量块的所述帧内预测模式进行编码。
26.所述特殊帧内预测模式信息是指示以下项之中的至少一个模式的信息:基于矩阵的帧内预测(mip)模式、多参考线(mrl)模式、帧内子分区(isp)模式、线性模型(lm)模式和当前画面参考(cpr)模式。
27.所述特殊帧内预测模式信息可以是标志。
28.另外,根据本发明的记录介质可存储由根据本发明的图像编码方法产生的比特流。
29.有益效果
30.本发明可提供一种具有增强的压缩效率的视频编码/解码和设备。
31.另外,本发明可提供一种使用具有增强的压缩效率的帧内预测的视频编码/解码方法和设备。
32.另外,本发明可提供一种用于存储由本发明的视频编码/解码方法或设备产生的比特流的记录介质。
附图说明
33.图1是示出根据应用了本发明的实施例的编码设备的配置的框图。
34.图2是示出根据应用了本发明的实施例的解码设备的配置的框图。
35.图3是示意性地示出当对图像进行编码和解码时图像的分区结构的示图。
36.图4是示出帧内预测处理的示图。
37.图5是示出画面间预测处理的实施例的示图。
38.图6是示出变换和量化处理的示图。
39.图7是示出能够用于帧内预测的参考样点的示图。
40.图8是根据本发明的实施例的帧内预测模式编码/解码的配置图。
41.图9是根据本发明的实施例的帧间预测模式编码/解码的配置图。
42.图10是用于解释根据本发明的实施例的能够被参考以用于配置mpm候选列表的邻近块的位置的示图。
43.图11是用于解释根据本发明的实施例的由当前块所参考的邻近块的位置的示图。
44.图12是用于解释根据本发明的实施例的对从mpm候选列表确定的帧内预测模式进行编码/解码的处理的示图。
45.图13是用于解释根据本发明的实施例的对从包括特定模式的mpm候选列表确定的帧内预测模式进行编码/解码的处理的示图。
46.图14是用于解释根据本发明的实施例的对特定模式进行编码/解码的处理的示图。
47.图15是用于解释根据本发明实施例的加权组合块的示图。
48.图16是用于解释根据本发明实施例的基于mip特性的一般帧内预测模式的映射关系的示图。
49.图17是用于解释根据本发明实施例的mpm候选列表的示图。
50.图18是用于解释根据本发明另一实施例的基于mip特性的一般帧内预测模式的映射关系的示图。
具体实施方式
51.可对本发明做出各种修改,并且存在本发明的各种实施例,现在将参照附图提供并详细描述本发明的各种实施例的示例。然而,尽管示例性实施例可被解释为包括本发明
的技术构思和技术范围中的所有修改、等同形式或替代形式,但本发明不限于此。相似的参考标号指在各个方面相同或相似的功能。在附图中,为了清楚起见,元件的形状和尺寸可被夸大。在本发明的以下详细描述中,对通过图示的方式示出可实施本发明的具体实施例的附图进行参照。这些实施例被足够详细地描述以使本领域技术人员能够实施本公开。应当理解的是,本公开的各种实施例尽管不同,但不必是相互排他的。例如,在不脱离本公开的精神和范围的情况下,这里结合一个实施例描述的特定特征、结构和特性可在其它实施例中被实施。此外,应当理解的是,在不脱离本公开的精神和范围的情况下,每一个公开的实施例内的各个元件的位置或布置可被修改。因此,以下详细描述不应以限制的含义来理解,并且本公开的范围仅由所附权利要求(在合适的解释的情况下,还连同权利要求所要求保护的等同形式的全部范围)来限定。
52.在说明书中使用的术语“第一”、“第二”等可被用于描述各种组件,但这些组件并不被解释为受限于这些术语。这些术语仅被用于将一个组件与其它组件区分开。例如,在不脱离本发明的范围的情况下,“第一”组件可被称为“第二”组件,并且“第二”组件也可类似地被称为“第一”组件。术语“和/或”包括多个项的组合或者是多个项中的任意一项。
53.将理解的是,在本说明书中,当元件仅被称为“连接到”或“结合到”另一元件而不是“直接连接到”或“直接结合到”所述另一元件时,所述元件可“直接连接到”或“直接结合到”所述另一元件,或者在所述元件与所述另一元件之间具有其他元件的情况下连接到或结合到所述另一元件。相反,应当理解的是,当元件被称为“直接结合”或“直接连接”到另一元件时,不存在中间元件。
54.此外,在本发明的实施例中示出的组成部件被独立地示出,以便呈现彼此不同的特性功能。因此,这并不意味着每一个组成部件以单独的硬件或软件的组成单元被组成。换句话说,为了方便,每一个组成部件包括枚举的组成部件中的每一个。因此,每一个组成部件中的至少两个组成部件可被组合形成一个组成部件,或者一个组成部件可被划分为用于执行每一个功能的多个组成部件。在没有脱离本发明的本质的情况下,每一个组成部件被组合的实施例以及一个组成部件被划分的实施例也被包括在本发明的范围中。
55.在本说明书中使用的术语仅用于描述具体实施例,而不旨在限制本发明。除非以单数使用的表达在上下文中具有明显不同的含义,否则它包括复数表达。在本说明书中,将理解的是,诸如“包括
……
的”、“具有
……
的”等的术语旨在指明存在说明书中所公开的特征、数量、步骤、动作、元件、部件、或其组合,而并不旨在排除可存在或者可添加一个或更多个其它特征、数量、步骤、动作、元件、部件、或其组合的可能性。换句话说,当特定元件被称为“被包括”时,除相应元件以外的元件并不被排除,而是,附加的元件可被包括在本发明的实施例中或者是本发明的范围中。
56.此外,一些组成元件可能不是执行本发明的必要功能的不可缺的组成元件,而是仅提升其性能的可选组成元件。可通过仅包括用于实施本发明的实质的不可缺的组成部件而排除在提升性能时使用的组成元件来实施本发明。仅包括所述不可缺的组成元件而排除在仅提升性能时使用的可选组成元件的结构也被包括在本发明的范围中。
57.在下文中,将参照附图详细描述本发明的实施例。在描述本发明的示例性实施例时,因为公知的功能或结构可能不必要地模糊对本发明的理解,因此将不详细描述它们。附图中的相同的组成元件由相同的参考标号来表示,并且将省略对相同元件的重复描述。
58.在下文中,图像可指配置视频的画面,或者可指视频本身。例如,“对图像进行编码或解码或者进行编码和解码两者”可指“对运动画面进行编码或解码或者进行编码和解码两者”,并且可指“对运动画面的图像中的一个图像进行编码或解码或者进行编码和解码两者。”59.在下文中,术语“运动画面”和“视频”可被用作相同的含义并且可彼此替换。
60.在下文中,目标图像可以是作为编码的目标的编码目标图像和/或作为解码的目标的解码目标图像。此外,目标图像可以是输入到编码设备的输入图像、以及输入到解码设备的输入图像。这里,目标图像可与当前图像具有相同的含义。
61.在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用作相同的含义并且彼此替换。
62.在下文中,目标块可以是作为编码的目标的编码目标块和/或作为解码的目标的解码目标块。此外,目标块可以是作为当前编码和/或解码的目标的当前块。例如,术语“目标块”和“当前块”可被用作相同的含义并且彼此替换。
63.在下文中,术语“块”和“单元”可被用作相同的含义并且彼此替换。或者“块”可表示特定单元。
64.在下文中,术语“区域”和“片段”可彼此替换。
65.在下文中,特定信号可以是表示特定块的信号。例如,原始信号可以是表示目标块的信号。预测信号可以是表示预测块的信号。残差信号可以是表示残差块的信号。
66.在实施例中,特定信息、数据、标志、索引、元素和属性等中的每一个可具有值。等于“0”的信息、数据、标志、索引、元素、和属性的值可表示逻辑假或第一预定义值。换句话说,值“0”、假、逻辑假和第一预定义值可彼此替换。等于“1”的信息、数据、标志、索引、元素、和属性的值可表示逻辑真或第二预定义值。换句话说,值“1”、真、逻辑真和第二预定义值可彼此替换。
67.当变量i或j用于表示列、行或索引时,i的值可以是等于或大于0的整数、或者等于或大于1的整数。也就是说,列、行、索引等可从0开始计数,或者可从1开始计数。
68.术语的描述
69.编码器:表示执行编码的设备。也就是说,表示编码设备。
70.解码器:表示执行解码的设备。也就是说,表示解码设备。
71.块:是m
×
n的样点阵列。这里,m和n可表示正整数,并且块可表示二维形式的样点阵列。块可指单元。当前块可表示在编码时成为目标的编码目标块,或者在解码时成为目标的解码目标块。此外,当前块可以是编码块、预测块、残差块和变换块中的至少一个。
72.样点:是构成块的基本单元。根据比特深度(bd),样点可被表达为从0到2
bd-1的值。在本发明中,样点可被用作像素的含义。也就是说,样点、pel、像素可具有彼此相同的含义。
73.单元:可指编码和解码单元。当对图像进行编码和解码时,单元可以是通过对单个图像进行分区而产生的区域。此外,当在编码或解码期间将单个图像分区为子划分单元时,单元可表示子划分单元。也就是说,图像可被分区为多个单元。当对图像进行编码和解码时,可针对每一个单元执行预定的处理。单个单元可被分区为尺寸小于该单元的尺寸的子单元。依据功能,单元可表示块、宏块、编码树单元、编码树块、编码单元、编码块、预测单元、预测块、残差单元、残差块、变换单元、变换块等。此外,为了将单元与块区分开,单元可包括
亮度分量块、与亮度分量块相关联的色度分量块、以及每一个颜色分量块的语法元素。单元可具有各种尺寸和形状,具体地,单元的形式可以是二维几何图形,诸如正方形形状、长方形形状、梯形形状、三角形形状、五边形形状等。此外,单元信息可包括指示编码单元、预测单元、变换单元等的单元类型以及单元尺寸、单元深度、单元的编码和解码的顺序等中的至少一个。
74.编码树单元:被配置有亮度分量y的单个编码树块、以及与色度分量cb和cr相关的两个编码树块。此外,编码树单元可表示包括块和每一个块的语法元素。可通过使用四叉树分区方法、二叉树分区方法和三叉树分区方法中的至少一个对每一个编码树单元进行分区以配置诸如编码单元、预测单元、变换单元等的更低等级的单元。编码树单元可被用作用于指定在对作为输入图像的图像进行编码/解码时成为处理单元的样点块的术语。这里,四叉树可表示四元树。
75.当编码块的尺寸在预定范围内时,可仅使用四叉树分区进行划分。这里,预定范围可被定义为仅能够使用四叉树分区进行划分的编码块的最大尺寸和最小尺寸中的至少一个。可通过比特流用信号传送指示允许四叉树分区的编码块的最大/最小尺寸的信息,并且可在序列、画面参数、并行块组或条带(片段)中的至少一个单元中用信号传送所述信息。可选地,编码块的最大/最小尺寸可以是编码器/解码器中预定的固定尺寸。例如,当编码块的尺寸与256
×
256至64
×
64相应时,可仅使用四叉树分区来进行划分。可选地,当编码块的尺寸大于最大转换块的尺寸时,可仅使用四叉树分区来进行划分。这里,将被划分的块可以是编码块和变换块中的至少一个。在这种情况下,指示编码块的划分的信息(例如,split_flag)可以是指示是否执行四叉树分区的标志。当编码块的尺寸落入预定范围内时,可仅使用二叉树分区或三叉树分区来进行划分。在此情况下,四叉树分区的以上描述可以以相同方式被应用于二叉树分区或三叉树分区。
76.编码树块:可被用作用于指定y编码树块、cb编码树块和cr编码树块中的任意一个的术语。
77.邻近块:可表示与当前块相邻的块。与当前块相邻的块可表示与当前块的边界接触的块、或者位于距当前块预定距离内的块。邻近块可表示与当前块的顶点相邻的块。这里,与当前块的顶点相邻的块可表示与水平相邻于当前块的邻近块垂直相邻的块、或者与垂直相邻于当前块的邻近块水平相邻的块。
78.重建的邻近块:可表示与当前块相邻并且已经在空间/时间上被编码或解码的邻近块。这里,重建的邻近块可表示重建的邻近单元。重建的空间邻近块可以是在当前画面内并且已经通过进行编码或解码或者进行编码和解码两者而被重建的块。重建的时间邻近块是在参考图像内的与当前画面的当前块相应的位置处的块或该块的邻近块。
79.单元深度:可表示单元的分区程度。在树结构中,最高节点(根节点)可与未被分区的第一单元相应。此外,最高节点可具有最小深度值。在这种情况下,最高节点的深度可以为等级0。深度为等级1的节点可表示通过对第一单元进行一次分区而产生的单元。深度为等级2的节点可表示通过对第一单元进行两次分区而产生的单元。深度为等级n的节点可表示通过对第一单元进行n次分区而产生的单元。叶节点可以是最低节点并且是不能被进一步分区的节点。叶节点的深度可以是最大等级。例如,最大等级的预定义值可以是3。根节点的深度可以是最低的,并且叶节点的深度可以是最深的。此外,当单元被表示为树结构时,
单元所在的等级可表示单元深度。
80.比特流:可表示包括编码图像信息的比特流。
81.参数集:与比特流内的配置中的头信息相应。视频参数集、序列参数集、画面参数集和自适应参数集中的至少一个可被包括在参数集中。此外,参数集可包括条带(slice)头、并行块组头和并行块(tile)头信息。术语“并行块组”可表示一组并行块并且具有与条带相同的含义。
82.自适应参数集可指可通过在不同画面、子画面、条带、并行块组、并行块或分块中引用而共享的参数集。另外,可通过引用针对画面内部的子画面、条带、并行块组、并行块或分块的不同自适应参数集来使用自适应参数集中的信息。
83.另外,关于自适应参数集,可通过使用针对画面内部的子画面、条带、并行块组、并行块或分块的不同自适应参数集的标识符来引用不同的自适应参数集。
84.另外,关于自适应参数集,可通过使用针对子画面内部的条带、并行块组、并行块或分块的不同自适应参数集的标识符来引用不同的自适应参数集。
85.另外,关于自适应参数集,可通过使用针对条带内部的并行块或分块的不同自适应参数集的标识符来引用不同的自适应参数集。
86.另外,关于自适应参数集,可通过使用针对并行块内部的分块的不同自适应参数集的标识符来引用不同的自适应参数集。
87.关于自适应参数集标识符的信息可被包括在子画面的参数集或报头中,并且与自适应参数集标识符相应的自适应参数集可被用于子画面。
88.关于自适应参数集标识符的信息可被包括在并行块的参数集或报头中,并且与自适应参数集标识符相应的自适应参数集可被用于并行块。
89.关于自适应参数集标识符的信息可被包括在分块的报头中,并且与自适应参数集标识符相应的自适应参数集可被用于分块。
90.画面可被分区为一个或更多个并行块行和一个或更多个并行块列。
91.子画面可被分区为画面内的一个或更多个并行块行和一个或更多个并行块列。子画面可以是画面内具有矩形/正方形形式的区域,并且可包括一个或更多个ctu。另外,至少一个或多个并行块/分块/条带可被包括在一个子画面内。
92.并行块可以是画面内具有矩形/正方形形式的区域,并且可包括一个或更多个ctu。另外,并行块可被分区为一个或更多个分块。
93.分块可指并行块内的一个或更多个ctu行。并行块可被分区为一个或更多个分块,并且每一个分块可具有至少一个或多个ctu行。未被分区为两个或更多个的并行块可指分块。
94.条带可包括画面内的一个或更多个并行块,并且可包括并行块内的一个或更多个分块。
95.解析:可表示通过执行熵解码来确定语法元素的值,或者可表示熵解码本身。
96.符号:可表示编码/解码目标单元的语法元素、编码参数和变换系数值中的至少一个。此外,符号可表示熵编码目标或熵解码结果。
97.预测模式:可以是指示利用帧内预测编码/解码的模式或利用帧间预测编码/解码的模式的信息。
98.预测单元:可表示当执行预测(诸如帧间预测、帧内预测、帧间补偿、帧内补偿和运动补偿)时的基本单元。单个预测单元可被分区为具有更小尺寸的多个分区,或者可被分区为多个更低等级的预测单元。多个分区可以是在执行预测或补偿时的基本单元。通过对预测单元进行划分而产生的分区也可以是预测单元。
99.预测单元分区:可表示通过对预测单元进行分区而获得的形式。
100.参考画面列表可指包括用于帧间预测或运动补偿的一个或更多个参考画面的列表。存在几种类型的可用参考画面列表,所述可用参考画面列表包括lc(列表组合)、l0(列表0)、l1(列表1)、l2(列表2)、l3(列表3)。
101.帧间预测指示符可指当前块的帧间预测(单向预测、双向预测等)的方向。可选地,帧间预测指示符可指用于产生当前块的预测块的参考画面的数量。可选地,帧间预测指示符可指在对当前块执行帧间预测或运动补偿时所使用的预测块的数量。
102.预测列表利用标志指示是否使用特定参考画面列表中的至少一个参考画面来产生预测块。可使用预测列表利用标志来推导帧间预测指示符,并且相反地,可使用帧间预测指示符来推导预测列表利用标志。例如,当预测列表利用标志具有第一值零(0)时,它表示不使用参考画面列表中的参考画面来产生预测块。另一方面,当预测列表利用标志具有第二值一(1)时,它表示使用参考画面列表来产生预测块。
103.参考画面索引可指指示参考画面列表中的特定参考画面的索引。
104.参考画面可表示由特定块参考以实现对特定块进行帧间预测或运动补偿的目的的参考画面。可选地,参考画面可以是包括由当前块参考以进行帧间预测或运动补偿的参考块的画面。在下文中,术语“参考画面”和“参考图像”具有相同的含义并且可彼此替换。
105.运动矢量可以是用于帧间预测或运动补偿的二维矢量。运动矢量可表示编码/解码目标块与参考块之间的偏移。例如,(mvx,mvy)可表示运动矢量。这里,mvx可表示水平分量,并且mvy可表示垂直分量。
106.搜索范围可以是在帧间预测期间为了检索运动矢量而搜索的二维区域。例如,搜索范围的尺寸可以是m
×
n。这里,m和n均为整数。
107.运动矢量候选可指在对运动矢量进行预测时的预测候选块或预测候选块的运动矢量。此外,运动矢量候选可被包括在运动矢量候选列表中。
108.运动矢量候选列表可表示由一个或更多个运动矢量候选组成的列表。
109.运动矢量候选索引可表示指示运动矢量候选列表中的运动矢量候选的指示符。可选地,运动矢量候选索引可以是运动矢量预测因子的索引。
110.运动信息可表示包括以下项中的至少一项的信息:运动矢量、参考画面索引、帧间预测指示符、预测列表利用标志、参考画面列表信息、参考画面、运动矢量候选、运动矢量候选索引、合并候选和合并索引。
111.合并候选列表可表示由一个或更多个合并候选组成的列表。
112.合并候选可表示空间合并候选、时间合并候选、组合合并候选、组合双预测合并候选或零合并候选。合并候选可包括运动信息,诸如帧间预测指示符、针对每一个列表的参考画面索引、运动矢量、预测列表利用标志和帧间预测指示符。
113.合并索引可表示指示在合并候选列表中的合并候选的指示符。可选地,合并索引可指示在空间上/时间上与当前块相邻的重建块中的从其推导合并候选的块。可选地,合并
索引可指示合并候选的至少一条运动信息。
114.变换单元:可表示在对残差信号执行编码/解码(诸如变换、逆变换、量化、反量化、变换系数编码/解码)时的基本单元。单个变换单元可被分区为具有更小尺寸的多个更低等级的变换单元。这里,变换/逆变换可包括第一变换/第一逆变换和第二变换/第二逆变换中的至少一个。
115.缩放:可表示将量化的等级乘以因子的处理。可通过对量化的等级进行缩放来产生变换系数。缩放也可被称为反量化。
116.量化参数:可表示当在量化期间使用变换系数来产生量化的等级时使用的值。量化参数还可表示当在反量化期间通过对量化的等级进行缩放来产生变换系数时使用的值。量化参数可以是被映射在量化步长上的值。
117.增量量化参数:可表示预测的量化参数与编码/解码目标单元的量化参数之间的差值。
118.扫描:可表示对单元、块或矩阵内的系数进行排序的方法。例如,将系数的二维矩阵改成为一维矩阵的操作可被称为扫描,将系数的一维矩阵改成为二维矩阵的操作可被称为扫描或反向扫描。
119.变换系数:可表示在编码器中执行变换之后产生的系数值。变换系数可表示在解码器中执行熵解码和反量化中的至少一个之后产生的系数值。通过对变换系数或残差信号进行量化而获得的量化的等级或者量化的变换系数等级也可落入变换系数的含义内。
120.量化的等级:可表示在编码器中通过对变换系数或残差信号进行量化而产生的值。可选地,量化的等级可表示作为在解码器中将被执行反量化的反量化目标的值。类似地,作为变换和量化的结果的量化的变换系数等级也可落入量化的等级的含义内。
121.非零变换系数:可表示具有除零之外的值的变换系数、或者具有除零之外的值的变换系数等级或量化的等级。
122.量化矩阵:可表示在被执行以提高主观图像质量或客观图像质量的量化处理或反量化处理中使用的矩阵。量化矩阵也可被称为缩放列表。
123.量化矩阵系数:可表示量化矩阵内的每一个元素。量化矩阵系数也可被称为矩阵系数。
124.默认矩阵:可表示在编码器或解码器中初步定义的预定量化矩阵。
125.非默认矩阵:可表示在编码器或解码器中未初步定义而是由用户用信号传送的量化矩阵。
126.统计值:针对具有可计算的特定值的变量、编码参数、常量值等之中的至少一个的统计值可以是相应特定值的平均值、总和值、加权平均值、加权和值、最小值、最大值、最频繁出现的值、中值、插值之中的一个或更多个。
127.图1是示出根据应用了本发明的实施例的编码设备的配置的框图。
128.编码设备100可以是编码器、视频编码设备或图像编码设备。视频可包括至少一个图像。编码设备100可顺序地对至少一个图像进行编码。
129.参照图1,编码设备100可包括运动预测单元111、运动补偿单元112、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190。
130.编码设备100可通过使用帧内模式或帧间模式或者帧内模式和帧间模式两者来对输入图像执行编码。此外,编码设备100可通过对输入图像进行编码来产生包括编码信息的比特流,并输出产生的比特流。产生的比特流可被存储在计算机可读记录介质中,或者可通过有线/无线传输介质被流传输。当帧内模式被用作预测模式时,切换器115可被切换到帧内。可选地,当帧间模式被用作预测模式时,切换器115可被切换到帧间模式。这里,帧内模式可表示帧内预测模式,帧间模式可表示帧间预测模式。编码设备100可产生针对输入图像的输入块的预测块。此外,编码设备100可在产生预测块之后使用输入块和预测块的残差对残差块进行编码。输入图像可被称为作为当前编码目标的当前图像。输入块可被称为作为当前编码目标的当前块,或者被称为编码目标块。
131.当预测模式是帧内模式时,帧内预测单元120可使用已被编码/解码并与当前块相邻的块的样点作为参考样点。帧内预测单元120可通过使用参考样点来对当前块执行空间预测,或者通过执行空间预测来产生输入块的预测样点。这里,帧内预测可表示帧内部的预测。
132.当预测模式是帧间模式时,运动预测单元111可在执行运动预测时从参考图像检索与输入块最匹配的区域,并且通过使用检索到的区域来推导运动矢量。在这种情况下,搜索区域可被用作所述区域。参考图像可被存储在参考画面缓冲器190中。这里,当执行了对参考图像的编码/解码时,参考图像可被存储在参考画面缓冲器190中。
133.运动补偿单元112可通过使用运动矢量对当前块执行运动补偿来产生预测块。这里,帧间预测可表示帧之间的预测或运动补偿。
134.当运动矢量的值不是整数时,运动预测单元111和运动补偿单元112可通过将插值滤波器应用于参考画面的部分区域来产生预测块。为了对编码单元执行帧间画面预测或运动补偿,可确定将跳过模式、合并模式、高级运动矢量预测(amvp)模式和当前画面参考模式之中的哪个模式用于对包括在相应编码单元中的预测单元的运动预测和运动补偿。然后,依据所确定的模式,可不同地执行帧间画面预测或运动补偿。
135.减法器125可通过使用输入块和预测块的差来产生残差块。残差块可被称为残差信号。残差信号可表示原始信号和预测信号之间的差。此外,残差信号可以是通过对原始信号与预测信号之间的差进行变换或量化或者变换和量化而产生的信号。残差块可以是块单元的残差信号。
136.变换单元130可通过对残差块执行变换来产生变换系数,并输出产生的变换系数。这里,变换系数可以是通过对残差块执行变换而产生的系数值。当变换跳过模式被应用时,变换单元130可跳过对残差块的变换。
137.可通过将量化应用于变换系数或应用于残差信号来产生量化的等级。在下文中,量化的等级在实施例中也可被称为变换系数。
138.量化单元140可通过根据参数对变换系数或残差信号进行量化来产生量化的等级,并输出产生的量化的等级。这里,量化单元140可通过使用量化矩阵对变换系数进行量化。
139.熵编码单元150可通过根据概率分布对由量化单元140计算出的值或者对在执行编码时计算出的编码参数值执行熵编码来产生比特流,并输出产生的比特流。熵编码单元150可对图像的样点信息和用于对图像进行解码的信息执行熵编码。例如,用于对图像进行
解码的信息可包括语法元素。
140.当熵编码被应用时,符号被表示使得较少数量的比特被分配给具有高产生可能性的符号,并且较多数量的比特被分配给具有低产生可能性的符号,因此,可减小用于将被编码的符号的比特流的大小。熵编码单元150可使用诸如指数哥伦布、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等的用于熵编码的编码方法。例如,熵编码单元150可通过使用变长编码/码(vlc)表来执行熵编码。此外,熵编码单元150可推导目标符号的二值化方法和目标符号/二进制位的概率模型,并且通过使用推导的二值化方法和上下文模型来执行算术编码。
141.为了对变换系数等级(量化的等级)进行编码,熵编码单元150可通过使用变换系数扫描方法将二维块形式的系数改成为一维矢量形式。
142.编码参数可包括在编码器中被编码并且被用信号传送到解码器的诸如语法元素的信息(标志、索引等)以及在执行编码或解码时推导的信息。编码参数可表示在对图像进行编码或解码时所需要的信息。例如,以下项中的至少一个值或组合形式可被包括在编码参数中:单元/块尺寸、单元/块深度、单元/块分区信息、单元/块形状、单元/块分区结构、是否进行四叉树形式的分区、是否进行二叉树形式的分区、二叉树形式的分区方向(水平方向或垂直方向)、二叉树形式的分区形式(对称分区或非对称分区)、当前编码单元是否通过三叉树分区被分区、三叉树分区的方向(水平方向或垂直方向)、三叉树分区的类型(对称类型或非对称类型)、当前编码单元是否通过多类型树分区被分区、多类型树分区的方向(水平方向或垂直方向)、多类型树分区的类型(对称类型或非对称类型)和多类型树分区的树(二叉树或三叉树)结构、预测模式(帧内预测或帧间预测)、亮度帧内预测模式/方向、色度帧内预测模式/方向、帧内分区信息、帧间分区信息、编码块分区标志、预测块分区标志、变换块分区标志、参考样点滤波方法、参考样点滤波器抽头、参考样点滤波器系数、预测块滤波方法、预测块滤波器抽头、预测块滤波器系数、预测块边界滤波方法、预测块边界滤波器抽头、预测块边界滤波器系数、帧内预测模式、帧间预测模式、运动信息、运动矢量、运动矢量差、参考画面索引、帧间预测角度、帧间预测指示符、预测列表利用标志、参考画面列表、参考画面、运动矢量预测因子索引、运动矢量预测因子候选、运动矢量候选列表、是否使用合并模式、合并索引、合并候选、合并候选列表、是否使用跳过模式、插值滤波器类型、插值滤波器抽头、插值滤波器系数、运动矢量尺寸、运动矢量的表示精度、变换类型、变换尺寸、初级(第一次)变换是否被使用的信息、次级变换是否被使用的信息、初级变换索引、次级变换索引、残差信号是否存在的信息、编码块样式、编码块标志(cbf)、量化参数、量化参数残差、量化矩阵、是否应用环内滤波器、环内滤波器系数、环内滤波器抽头、环内滤波器形状/形式、是否应用去块滤波器、去块滤波器系数、去块滤波器抽头、去块滤波器强度、去块滤波器形状/形式、是否应用自适应样点偏移、自适应样点偏移值、自适应样点偏移类别、自适应样点偏移类型、是否应用自适应环路滤波器、自适应环路滤波器系数、自适应环路滤波器抽头、自适应环路滤波器形状/形式、二值化/反二值化方法、上下文模型确定方法、上下文模型更新方法、是否执行常规模式、是否执行旁路模式、上下文二进制位、旁路二进制位、有效系数标志、最后有效系数标志、针对系数组的单元的编码标志、最后有效系数的位置、关于系数的值是否大于1的标志、关于系数的值是否大于2的标志、关于系数的值是否大于3的标志、关于剩余系数值的信息、正负号信息、重建的亮度样点、重建的色度样点、残差亮度样点、残差
色度样点、亮度变换系数、色度变换系数、量化的亮度等级、量化的色度等级、变换系数等级扫描方法、在解码器侧的运动矢量搜索区域的尺寸、在解码器侧的运动矢量搜索区域的形状、在解码器侧的运动矢量搜索的次数、关于ctu尺寸的信息、关于最小块尺寸的信息、关于最大块尺寸的信息、关于最大块深度的信息、关于最小块深度的信息、图像显示/输出顺序、条带标识信息、条带类型、条带分区信息、并行块标识信息、并行块类型、并行块分区信息、并行块组标识信息、并行块组类型、并行块组分区信息画面类型、输入样点的比特深度、重建样点的比特深度、残差样点的比特深度、变换系数的比特深度、量化的等级的比特深度、以及关于亮度信号的信息或关于色度信号的信息。
143.这里,用信号传送标志或索引可表示由编码器对相应的标志或索引进行熵编码并将其包括在比特流中,并且可表示由解码器从比特流对相应的标志或索引进行熵解码。
144.当编码设备100通过帧间预测执行编码时,编码的当前图像可被用作用于随后被处理的另一图像的参考图像。因此,编码设备100可对编码的当前图像进行重建或解码,或者将重建的或解码的图像作为参考图像存储在参考画面缓冲器190中。
145.量化的等级可在反量化单元160中被反量化,或者可在逆变换单元170中被逆变换。可由加法器175将经过反量化或逆变换的系数或者经过反量化和逆变换两者的系数与预测块相加。通过将经过反量化或逆变换的系数或者经过反量化和逆变换两者的系数与预测块相加,可产生重建块。这里,经过反量化或逆变换的系数或经过反量化和逆变换两者的系数可表示执行了反量化和逆变换中的至少一个的系数,并且可表示重建的残差块。
146.重建块可通过滤波器单元180。滤波器单元180可将去块滤波器、样点自适应偏移(sao)和自适应环路滤波器(alf)中的至少一个应用于重建样点、重建块或重建图像。滤波器单元180可被称为环内滤波器。
147.去块滤波器可去除在块之间的边界中产生的块失真。为了确定是否应用去块滤波器,可基于块中所包括的若干行或列中包括的样点来确定是否将去块滤波器应用于当前块。当将去块滤波器应用于块时,可根据所需的去块滤波强度来应用另一滤波器。
148.为了补偿编码误差,可通过使用样点自适应偏移将合适的偏移值与样点值相加。样点自适应偏移可以以样点为单位对经过去块的图像与原始图像的偏移进行校正。可使用考虑关于每一个样点的边缘信息来应用偏移的方法,或者可使用以下方法:将图像的样点分区为预定数量的区域,确定偏移被应用的区域,并对确定的区域应用偏移。
149.自适应环路滤波器可基于经过滤波的重建图像和原始图像的比较结果来执行滤波。可将包括在图像中的样点分区为预定组,可确定将被应用于每一个组的滤波器,并且可对每一个组执行差异化滤波。是否应用alf的信息可通过编码单元(cu)被用信号传送,并且将被应用于每一个块的alf的形式和系数可变化。
150.已经通过滤波器单元180的重建块或重建图像可被存储在参考画面缓冲器190中。由滤波器单元180处理的重建块可以是参考图像的一部分。也就是说,参考图像是由通过滤波器单元180处理的重建块组成的重建图像。存储的参考图像可稍后在帧间预测或运动补偿时被使用。
151.图2是示出根据应用了本发明的实施例的解码设备的配置的框图。
152.解码设备200可以是解码器、视频解码设备或图像解码设备。
153.参照图2,解码设备200可包括熵解码单元210、反量化单元220、逆变换单元230、帧
内预测单元240、运动补偿单元250、加法器255、滤波器单元260和参考画面缓冲器270。
154.解码设备200可接收从编码设备100输出的比特流。解码设备200可接收存储在计算机可读记录介质中的比特流,或者可接收通过有线/无线传输介质被流传输的比特流。解码设备200可通过使用帧内模式或帧间模式对比特流进行解码。此外,解码设备200可产生通过解码而产生的重建图像或解码图像,并输出重建图像或解码图像。
155.当在解码时使用的预测模式是帧内模式时,切换器可被切换到帧内。可选地,当在解码时使用的预测模式是帧间模式时,切换器可被切换到帧间模式。
156.解码设备200可通过对输入比特流进行解码来获得重建的残差块,并产生预测块。当重建的残差块和预测块被获得时,解码设备200可通过将重建的残差块与预测块相加来产生为解码目标的重建块。解码目标块可被称为当前块。
157.熵解码单元210可通过根据概率分布对比特流进行熵解码来产生符号。产生的符号可包括量化的等级形式的符号。这里,熵解码方法可以是上述熵编码方法的逆过程。
158.为了对变换系数等级(量化的等级)进行解码,熵解码单元210可通过使用变换系数扫描方法将单向矢量形式的系数改成为二维块形式。
159.可在反量化单元220中对量化的等级进行反量化,或者可在逆变换单元230中对量化的等级进行逆变换。量化的等级可以是进行反量化或逆变换或者进行反量化和逆变换两者的结果,并且可被产生为重建的残差块。这里,反量化单元220可将量化矩阵应用于量化的等级。
160.当使用帧内模式时,帧内预测单元240可通过对当前块执行空间预测来产生预测块,其中,空间预测使用与解码目标块相邻并且已经被解码的块的样点值。
161.当使用帧间模式时,运动补偿单元250可通过对当前块执行运动补偿来产生预测块,其中,运动补偿使用运动矢量以及存储在参考画面缓冲器270中的参考图像。
162.加法器255可通过将重建的残差块与预测块相加来产生重建块。滤波器单元260可将去块滤波器、样点自适应偏移和自适应环路滤波器中的至少一个应用于重建块或重建图像。滤波器单元260可输出重建图像。重建块或重建图像可被存储在参考画面缓冲器270中并且在执行帧间预测时被使用。由滤波器单元260处理的重建块可以是参考图像的一部分。也就是说,参考图像是由通过滤波器单元260处理的重建块组成的重建图像。存储的参考图像可稍后在帧间预测或运动补偿时被使用。
163.图3是示意性地示出当对图像进行编码和解码时的图像的分区结构的示图。图3示意性地示出将单个单元分区为多个更低等级的单元的示例。
164.为了有效地对图像进行分区,当进行编码和解码时,可使用编码单元(cu)。编码单元可被用作当对图像进行编码/解码时的基本单元。此外,编码单元可被用作用于在对图像进行编码/解码时区分帧内预测模式与帧间预测模式的单元。编码单元可以是用于预测、变换、量化、逆变换、反量化或对变换系数的编码/解码处理的基本单元。
165.参照图3,图像300按照最大编码单元(lcu)被顺序地分区,并且lcu单元被确定为分区结构。这里,lcu可以以与编码树单元(ctu)相同的含义被使用。单元分区可表示对与该单元相关联的块进行分区。在块分区信息中,可包括单元深度的信息。深度信息可表示单元被分区的次数或程度或者单元被分区的次数和程度两者。可基于树结构将单个单元分区为与深度信息分层地相关联的多个更低等级的单元。换句话说,单元和通过对该单元进行分
区而产生的更低等级的单元可分别与节点和该节点的子节点相应。分区出的更低等级的单元中的每一个可具有深度信息。深度信息可以是表示cu的尺寸的信息,并且可被存储在每一个cu中。单元深度表示与对单元进行分区相关的次数和/或程度。因此,更低等级的单元的分区信息可包括关于更低等级的单元的尺寸的信息。
166.分区结构可表示编码单元(cu)在lcu 310内的分布。可根据是否将单个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的大小可减半。
167.此外,可通过使用cu的分区信息来表示cu是否被分区的信息。分区信息可以是1比特信息。除scu之外的所有cu可包括分区信息。例如,当分区信息的值为第一值时,可不对cu进行分区,当分区信息的值为第二值时,可对cu进行分区。
168.参照图3,深度为0的lcu可以是64
×
64的块。0可以是最小深度。深度为3的scu可以是8
×
8的块。3可以是最大深度。32
×
32的块和16
×
16的块的cu可分别被表示为深度1和深度2。
169.例如,当单个编码单元被分区为四个编码单元时,分区出的四个编码单元的水平尺寸和垂直尺寸可以是cu在被分区之前的水平尺寸和垂直尺寸的一半尺寸。在一个实施例中,当尺寸为32
×
32的编码单元被分区为四个编码单元时,分区出的四个编码单元中的每一个的尺寸可以为16
×
16。当单个编码单元被分区为四个编码单元时,可称编码单元可被分区为四叉树形式。
170.例如,当一个编码单元被分区为两个子编码单元时,该两个子编码单元中的每一个的水平尺寸或垂直尺寸(宽度或高度)可以是原始编码单元的水平尺寸或垂直尺寸的一半。例如,当尺寸为32
×
32的编码单元被垂直分区为两个子编码单元时,该两个子编码单元中的每一个可具有16
×
32的尺寸。例如,当尺寸为8
×
32的编码单元被水平分区为两个子编码单元时,该两个子编码单元中的每一个可具有8
×
16的尺寸。当一个编码单元被分区为两个子编码单元时,可称编码单元被二元分区,或者根据二叉树分区结构被分区。
171.例如,当一个编码单元被分区为三个子编码单元时,可按照1:2:1的比例对编码单元的水平尺寸或垂直尺寸进行分区,从而产生水平尺寸或垂直尺寸的比例为1:2:1的三个子编码单元。例如,当尺寸为16
×
32的编码单元被水平分区为三个子编码单元时,该三个子编码单元以从最上方子编码单元到最下方子编码单元的顺序可分别具有16
×
8、16
×
16和16
×
8的尺寸。例如,当尺寸为32
×
32的编码单元被垂直划分为三个子编码单元时,该三个子编码单元以从左侧子编码单元到右侧子编码单元的顺序可分别具有8
×
32、16
×
32和8
×
32的尺寸。当一个编码单元被分区为三个子编码单元时,可称编码单元被三元分区或者根据三叉树分区结构被分区。
172.在图3中,编码树单元(ctu)320是四叉树分区结构、二叉树分区结构和三叉树分区结构全部被应用的ctu的示例。
173.如上所述,为了对ctu进行分区,可应用四叉树分区结构、二叉树分区结构和三叉树分区结构中的至少一个。可根据预定的优先级顺序将各种树分区结构顺序地应用于ctu。例如,可将四叉树分区结构优先应用于ctu。不能再使用四叉树分区结构进行分区的编码单元可与四叉树的叶节点相应。与四叉树的叶节点相应的编码单元可用作二叉树和/或三叉树分区结构的根节点。也就是说,与四叉树的叶节点相应的编码单元可根据二叉树分区结构或三叉树分区结构被进一步分区,或者可不被进一步分区。因此,通过阻止从与四叉树的叶节点相应的编码单元的二叉树分区或三叉树分区得到的编码单元被执行进一步的四叉树分区,块分区操作和/或用信号传送分区信息的操作可被有效执行。
174.可使用四元分区信息用信号传送与四叉树的节点相应的编码单元被分区的事实。具有第一值(例如,“1”)的四元分区信息可指示当前编码单元按照四叉树分区结构被分区。具有第二值(例如,“0”)的四元分区信息可指示当前编码单元不按照四叉树分区结构被分区。四元分区信息可以是具有预定长度(例如,一个比特)的标志。
175.在二叉树分区与三叉树分区之间可以没有优先级。也就是说,与四叉树的叶节点相应的编码单元可进一步被执行二叉树分区和三叉树分区中的任意分区。此外,通过二叉树分区或三叉树分区产生的编码单元可被执行进一步的二叉树分区或进一步的三叉树分区,或者可不被进一步分区。
176.在二叉树分区和三叉树分区之间不存在优先级的树结构被称为多类型树结构。与四叉树的叶节点相应的编码单元可用作多类型树的根节点。可使用多类型树分区指示信息、分区方向信息和分区树信息中的至少一个来用信号传送是否对与多类型树的节点相应的编码单元进行分区。为了对与多类型树的节点相应的编码单元进行分区,可顺序地用信号传送多类型树分区指示信息、分区方向信息和分区树信息。
177.具有第一值(例如,“1”)的多类型树分区指示信息可指示当前编码单元将被执行多类型树分区。具有第二值(例如,“0”)的多类型树分区指示信息可指示当前编码单元将不被执行多类型树分区。
178.当与多类型树的节点相应的编码单元按照多类型树分区结构被进一步分区时,所述编码单元可包括分区方向信息。分区方向信息可指示当前编码单元将在哪个方向上根据多类型树分区被分区。具有第一值(例如,“1”)的分区方向信息可指示当前编码单元将被垂直分区。具有第二值(例如,“0”)的分区方向信息可指示当前编码单元将被水平分区。
179.当与多类型树的节点相应的编码单元按照多类型树分区结构被进一步分区时,当前编码单元可包括分区树信息。分区树信息可指示将被用于对多类型树的节点进行分区的树分区结构。具有第一值(例如,“1”)的分区树信息可指示当前编码单元将按照二叉树分区结构被分区。具有第二值(例如,“0”)的分区树信息可指示当前编码单元将按照三叉树分区结构被分区。
180.分区指示信息、分区树信息和分区方向信息均可以是具有预定长度(例如,一个比特)的标志。
181.四叉树分区指示信息、多类型树分区指示信息、分区方向信息和分区树信息中的至少任意一个可被熵编码/熵解码。为了对那些类型的信息进行熵编码/熵解码,可使用关于与当前编码单元相邻的邻近编码单元的信息。例如,当前编码单元的左侧邻近编码单元和/或上方邻近编码单元的分区类型(被分区或不被分区、分区树和/或分区方向)与当前编码单元的分区类型相似的可能性很高。因此,可从关于邻近编码单元的信息推导用于对关于当前编码单元的信息进行熵编码/熵解码的上下文信息。关于邻近编码单元的信息可包括四元分区信息、多类型树分区指示信息、分区方向信息和分区树信息中的至少任意一个。
182.作为另一示例,在二叉树分区和三叉树分区中,可优先执行二叉树分区。也就是说,当前编码单元可首先被执行二叉树分区,并且随后可将与二叉树的叶节点相应的编码单元设置为用于三叉树分区的根节点。在这种情况下,对于与三叉树的节点相应的编码单元,可既不执行四叉树分区也不执行二叉树分区。
183.不能按照四叉树分区结构、二叉树分区结构和/或三叉树分区结构被分区的编码单元成为用于编码、预测和/或变换的基本单元。也就是说,所述编码单元不能被进一步分区以用于预测和/或变换。因此,在比特流中可不存在用于将编码单元分区为预测单元和/或变换单元的分区结构信息和分区信息。
184.然而,当编码单元(即,用于分区的基本单元)的尺寸大于最大变换块的尺寸时,可递归地对该编码单元进行分区,直到将该编码单元的尺寸减小到等于或小于最大变换块的尺寸为止。例如,当编码单元的尺寸为64
×
64时并且当最大变换块的尺寸为32
×
32时,可将该编码单元分区为用于变换的四个32
×
32的块。例如,当编码单元的尺寸为32
×
64并且最大变换块的尺寸为32
×
32时,可将该编码单元分区为用于变换的两个32
×
32的块。在这种情况下,不单独用信号传送编码单元的用于变换的分区,并且可通过编码单元的水平尺寸或垂直尺寸与最大变换块的水平尺寸或垂直尺寸之间的比较来确定编码单元的用于变换的分区。例如,当编码单元的水平尺寸(宽度)大于最大变换块的水平尺寸(宽度)时,可将该编码单元垂直地二等分。例如,当编码单元的垂直尺寸(高度)大于最大变换块的垂直尺寸(高度)时,可将该编码单元水平地二等分。
185.可在编码单元的更高等级用信号传送或确定编码单元的最大尺寸和/或最小尺寸的信息以及变换块的最大尺寸和/或最小尺寸的信息。所述更高等级可以是例如序列级、画面级、条带级、并行块组级、并行块级等。例如,可将编码单元的最小尺寸确定为4
×
4。例如,可将变换块的最大尺寸确定为64
×
64。例如,可将变换块的最小尺寸确定为4
×
4。
186.可在编码单元的更高等级用信号传送或确定与四叉树的叶节点相应的编码单元的最小尺寸(四叉树最小尺寸)的信息和/或多类型树的从根节点到叶节点的最大深度(多类型树的最大树深度)的信息。例如,所述更高等级可以是序列级、画面级、条带级、并行块组级、并行块级等。可针对帧内画面条带和帧间画面条带中的每一个用信号传送或确定四叉树的最小尺寸的信息和/或多类型树的最大深度的信息。
187.可在编码单元的更高等级用信号传送或确定ctu的尺寸与变换块的最大尺寸之间的差信息。例如,所述更高等级可以是序列级、画面级、条带级、并行块组级、并行块级等。可基于编码树单元的尺寸和所述差信息来确定与二叉树的各个节点相应的编码单元的最大尺寸(在下文中,称为二叉树的最大尺寸)的信息。与三叉树的各个节点相应的编码单元的最大尺寸(在下文中,称为三叉树的最大尺寸)可依据条带的类型而变化。例如,针对帧内画
面条带,三叉树的最大尺寸可以是32
×
32。例如,针对帧间画面条带,三叉树的最大尺寸可以是128
×
128。例如,可将与二叉树的各个节点相应的编码单元的最小尺寸(在下文中,称为二叉树的最小尺寸)和/或与三叉树的各个节点相应的编码单元的最小尺寸(在下文中,称为三叉树的最小尺寸)设置为编码块的最小尺寸。
188.作为另一示例,可在条带级用信号传送或确定二叉树的最大尺寸和/或三叉树的最大尺寸。可选地,可在条带级用信号传送或确定二叉树的最小尺寸和/或三叉树的最小尺寸。
189.依据上述各种块的尺寸信息和深度信息,四元分区信息、多类型树分区指示信息、分区树信息和/或分区方向信息可被包括在比特流中或可不被包括在比特流中。
190.例如,当编码单元的尺寸不大于四叉树的最小尺寸时,该编码单元不包括四元分区信息。因此,四元分区信息可被推断为第二值。
191.例如,当与多类型树的节点相应的编码单元的尺寸(水平尺寸和垂直尺寸)大于二叉树的最大尺寸(水平尺寸和垂直尺寸)和/或三叉树的最大尺寸(水平尺寸和垂直尺寸)时,该编码单元可不被二元分区或三元分区。因此,可不用信号传送多类型树分区指示信息,而是多类型树分区指示信息可被推断为第二值。
192.可选地,当与多类型树的节点相应的编码单元的尺寸(水平尺寸和垂直尺寸)与二叉树的最大尺寸(水平尺寸和垂直尺寸)相同,和/或是三叉树的最大尺寸(水平尺寸和垂直尺寸)的两倍大时,该编码单元可不进一步被二元分区或三元分区。因此,可不用信号传送多类型树分区指示信息,而是多类型树分区指示信息可被推导为第二值。这是因为,当按照二叉树分区结构和/或三叉树分区结构对编码单元进行分区时,产生了小于二叉树的最小尺寸和/或三叉树的最小尺寸的编码单元。
193.可选地,可基于虚拟管线数据单元的尺寸(在下文中,管线缓冲器大小)来限制二叉树分区或三叉树分区。例如,当通过二叉树分区或三叉树分区将编码单元划分为不适合管线缓冲器大小的子编码单元时,相应的二叉树分区或三叉树分区可能受到限制。管线缓冲器大小可以是最大变换块的尺寸(例如,64
×
64)。例如,当管线缓冲器大小是64
×
64时,可限制下面的划分。
[0194]-针对编码单元的n
×
m(n和/或m是128)三叉树分区
[0195]-针对编码单元的沿水平方向的128
×
n(n《=64)二叉树分区
[0196]-针对编码单元的沿垂直方向的n
×
128(n《=64)二叉树分区
[0197]
可选地,当与多类型树的节点相应的编码单元的深度等于多类型树的最大深度时,可不对该编码单元进一步进行二元分区和/或三元分区。因此,可不用信号传送多类型树分区指示信息,而是多类型树分区指示信息可被推断为第二值。
[0198]
可选地,只有当垂直方向二叉树分区、水平方向二叉树分区、垂直方向三叉树分区和水平方向三叉树分区中的至少一个对于与多类型树的节点相应的编码单元是可行的时,才可用信号传送多类型树分区指示信息。否则,可不对该编码单元进行二元分区和/或三元分区。因此,可不用信号传送多类型树分区指示信息,而是多类型树分区指示信息可被推断为第二值。
[0199]
可选地,只有当垂直方向二叉树分区和水平方向二叉树分区两者或者垂直方向三叉树分区和水平方向三叉树分区两者对于与多类型树的节点相应的编码单元是可行的时,
才可用信号传送分区方向信息。否则,可不用信号传送分区方向信息,而是分区方向信息可被推断为指示可能的分区方向的值。
[0200]
可选地,只有当垂直方向二叉树分区和垂直方向三叉树分区两者或者水平方向二叉树分区和水平方向三叉树分区两者对于与多类型树的节点相应的编码树是可行的时,才可用信号传送分区树信息。否则,可不用信号传送分区树信息,而是分区树信息可被推断为指示可能的分区树结构的值。
[0201]
图4是示出帧内预测处理的示图。
[0202]
图4中的从中心到外部的箭头可表示帧内预测模式的预测方向。
[0203]
可通过使用当前块的邻近块的参考样点来执行帧内编码和/或解码。邻近块可以是重建的邻近块。例如,可通过使用包括在重建的邻近块中的参考样点的编码参数或值来执行帧内编码和/或解码。
[0204]
预测块可表示通过执行帧内预测产生的块。预测块可与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等的矩形块。
[0205]
可根据针对当前块的帧内预测模式来执行帧内预测。当前块可具有的帧内预测模式的数量可以是固定值,并且可以是根据预测块的属性不同地确定的值。例如,预测块的属性可包括预测块的尺寸和预测块的形状等。
[0206]
不管块尺寸为多少,可将帧内预测模式的数量固定为n。可选地,帧内预测模式的数量可以是3、5、9、17、34、35、36、65或67等。可选地,帧内预测模式的数量可根据块尺寸或颜色分量类型或者块尺寸和颜色分量类型两者而变化。例如,帧内预测模式的数量可根据颜色分量是亮度信号还是色度信号而变化。例如,随着块尺寸变大,帧内预测模式的数量可增加。可选地,亮度分量块的帧内预测模式的数量可大于色度分量块的帧内预测模式的数量。
[0207]
帧内预测模式可以是非角度模式或角度模式。非角度模式可以是dc模式或平面模式,并且角度模式可以是具有特定方向或角度的预测模式。帧内预测模式可由模式编号、模式值、模式数字、模式角度和模式方向中的至少一个来表示。帧内预测模式的数量可以是大于1的m,包括非角度模式和角度模式。为了对当前块进行帧内预测,可执行确定是否可将包括在重建的邻近块中的样点用作当前块的参考样点的步骤。当存在不能用作当前块的参考样点的样点时,通过对包括在重建的邻近块中的样点中的至少一个样点值进行复制或执行插值或者执行复制和插值两者而获得的值可被用于替换样点的不可用样点值,因此,经过替换的样点值被用作当前块的参考样点。
[0208]
图7是示出能够用于帧内预测的参考样点的示图。
[0209]
如在图7中所示出的,参考样点线0至参考样点线3中的至少一个可被用于当前块的帧内预测。在图7中,可分别用最接近片段b和片段e的样点来填充片段a和片段f的样点,来代替从重建的邻近块检索。可用信号传送指示将被用于当前块的帧内预测的参考样点线的索引信息。例如,在图7中,可用信号传送参考样点线指示符0、1和2作为指示参考样点线0、1和2的索引信息。在当前块的上方边界是ctu的边界时,仅参考样点线0可以是可用的。因此,在这种情况下,可以不用信号传送索引信息。当使用除了参考样点线0之外的参考样点
线时,可以不执行稍后将描述的针对预测块的滤波。
[0210]
当进行帧内预测时,可基于帧内预测模式和当前块尺寸将滤波器应用于参考样点和预测样点中的至少一个。
[0211]
在平面模式的情况下,当产生当前块的预测块时,根据预测目标样点在预测块内的位置,可通过使用当前样点的上侧参考样点与左侧参考样点以及当前块的右上侧参考样点与左下侧参考样点的加权和来产生预测目标样点的样点值。此外,在dc模式的情况下,当产生当前块的预测块时,可使用当前块的上侧参考样点与左侧参考样点的平均值。此外,在角度模式的情况下,可通过使用当前块的上侧参考样点、左侧参考样点、右上侧参考样点和/或左下侧参考样点来产生预测块。为了产生预测样点值,可执行实数单位的插值。
[0212]
在颜色分量之间的帧内预测的情况下,可基于第一颜色分量的相应重建块来产生当前块的第二颜色分量的预测块。例如,第一颜色分量可以是亮度分量,并且第二颜色分量可以是色度分量。对于颜色分量之间的帧内预测,可基于模板推导第一颜色分量与第二颜色分量之间的线性模型的参数。模板可包括当前块的上方邻近样点和/或左侧邻近样点以及与其相应的第一颜色分量的重建块的上方邻近样点和/或左侧邻近样点。例如,可使用模板中的样点中的具有最大值的第一颜色分量的样点值和与其相应的第二颜色分量的样点值、以及模板中的样点中的具有最小值的第一颜色分量的样点值和与其相应的第二颜色分量的样点值推导线性模型的参数。当推导线性模型的参数时,可将相应重建块应用于线性模型以产生当前块的预测块。根据视频格式,可对第一颜色分量的重建块的邻近样点和相应重建块执行子采样。例如,当第二颜色分量的一个样点与第一颜色分量的四个样点相应时,可对第一颜色分量的四个样点进行子采样以计算一个相应样点。在此情况下,可基于相应子采样的样点执行线性模型的参数推导和颜色分量之间的帧内预测。可将是否执行颜色分量之间的帧内预测和/或模板的范围用信号传送为帧内预测模式。
[0213]
可沿水平方向或垂直方向将当前块分区为两个或四个子块。可顺序地重建分区出的子块。也就是说,可对子块执行帧内预测以产生子预测块。另外,可对子块执行反量化和/或逆变换以产生子残差块。可通过将子预测块与子残差块相加来产生重建的子块。重建的子块可被用作子子块的帧内预测的参考样点。子块可以是包括预定数量(例如,16)或更多个样点的块。因此,例如,在当前块是8
×
4块或4
×
8块时,可将当前块分区为两个子块。此外,在当前块为4
×
4块时,可以不将当前块分区为子块。在当前块具有其它尺寸时,可将当前块分区为四个子块。可用信号传送关于是否基于子块和/或分区方向(水平或垂直)执行帧内预测的信息。基于子块的帧内预测可限于仅在使用参考样点线0时执行。当执行基于子块的帧内预测时,可以不执行稍后将描述的针对预测块的滤波。
[0214]
可通过对帧内预测的预测块执行滤波来产生最终预测块。可通过将预定权重应用于滤波目标样点、左侧参考样点、上方参考样点和/或左上方参考样点来执行滤波。可基于块尺寸、帧内预测模式和预测块中的滤波目标样点的位置中的至少一个来确定用于滤波的权重和/或参考样点(范围、位置等)。可仅在预定帧内预测模式(例如,dc、平面、垂直、水平、对角线和/或相邻对角线模式)的情况下执行滤波。相邻对角线模式可以是将对角线模式与k相加或将对角线模式与k相减的模式。例如,k可以是8或更小的正整数。
[0215]
可通过预测与当前块相邻存在的块的帧内预测模式来对当前块的帧内预测模式进行熵编码/熵解码。在当前块与邻近块的帧内预测模式相同时,可通过使用预定标志信息
来用信号传送当前块与邻近块的帧内预测模式相同的信息。此外,可用信号传送多个邻近块的帧内预测模式中的与当前块的帧内预测模式相同的帧内预测模式的指示符信息。在当前块与邻近块的帧内预测模式不同时,可通过基于邻近块的帧内预测模式执行熵编码/熵解码来对当前块的帧内预测模式信息进行熵编码/熵解码。
[0216]
图5是示出帧间画面预测处理的实施例的示图。
[0217]
在图5中,矩形可表示画面。在图5中,箭头表示预测方向。根据画面的编码类型,可将画面分类为帧内画面(i画面)、预测画面(p画面)和双预测画面(b画面)。
[0218]
可在不需要帧间画面预测的情况下通过帧内预测对i画面进行编码。可通过使用在相对于当前块的一个方向(即,正向或后向)上存在的参考画面,通过帧间画面预测来对p画面进行编码。可通过使用在相对于当前块的两个方向(即,正向和后向)上预设的参考画面,通过帧间画面预测来对b画面进行编码。当使用帧间画面预测时,编码器可执行帧间画面预测或运动补偿,并且解码器可执行相应的运动补偿。
[0219]
在下文中,将对帧间画面预测的实施例进行详细描述。
[0220]
可使用参考画面和运动信息来执行帧间画面预测或运动补偿。
[0221]
可通过编码设备100和解码设备200中的每一个在帧间画面预测期间推导当前块的运动信息。可通过使用重建的邻近块的运动信息、同位块(也称为col块或共同定位块)的运动信息和/或与同位块相邻的块的运动信息来推导当前块的运动信息。同位块可表示先前重建的同位画面(也称为col画面或共同定位画面)内的在空间上与当前块位于相同位置的块。同位画面可以是包括在参考画面列表中的一个或更多个参考画面中的一个画面。
[0222]
运动信息的推导方法可取决于当前块的预测模式而不同。例如,应用于帧间预测的预测模式包括amvp模式、合并模式、跳过模式、具有运动矢量差的合并模式、子块合并模式、几何分区模式、组合帧间帧内预测模式、仿射模式等。这里,合并模式可被称为运动合并模式。
[0223]
例如,当amvp被用作预测模式时,可将重建的邻近块的运动矢量、同位块的运动矢量、与同位块相邻的块的运动矢量和(0,0)运动矢量中的至少一个确定为针对当前块的运动矢量候选,并且通过使用运动矢量候选产生运动矢量候选列表。可通过使用产生的运动矢量候选列表来推导当前块的运动矢量候选。可基于推导的运动矢量候选来确定当前块的运动信息。同位块的运动矢量或与同位块相邻的块的运动矢量可被称为时间运动矢量候选,并且重建的邻近块的运动矢量可被称为空间运动矢量候选。
[0224]
编码设备100可计算当前块的运动矢量与运动矢量候选之间的运动矢量差(mvd),并且可对运动矢量差(mvd)执行熵编码。此外,编码设备100可对运动矢量候选索引执行熵编码并产生比特流。运动矢量候选索引可指示包括在运动矢量候选列表中的运动矢量候选中的最佳运动矢量候选。解码设备可对包括在比特流中的运动矢量候选索引执行熵解码,并且可通过使用经过熵解码的运动矢量候选索引从包括在运动矢量候选列表中的运动矢量候选中选择解码目标块的运动矢量候选。此外,解码设备200可将经过熵解码的mvd与通过熵解码而提取的运动矢量候选相加,从而推导解码目标块的运动矢量。
[0225]
另外,编码设备100可对计算出的mvd的分辨率信息执行熵编码。解码设备200可使用mvd分辨率信息来调整熵解码的mvd的分辨率。
[0226]
另外,编码设备100基于仿射模型计算当前块中的运动矢量与候选运动矢量之间
的运动矢量差(mvd),并对mvd执行熵编码。解码设备200通过经由熵解码的mvd和仿射控制运动矢量候选的总和推导解码目标块的仿射控制运动矢量,来基于每一个子块推导运动矢量。
[0227]
比特流可包括指示参考画面的参考画面索引。参考画面索引可通过编码设备100被熵编码,并且随后作为比特流被用信号传送到解码设备200。解码设备200可基于推导的运动矢量和参考画面索引信息来产生解码目标块的预测块。
[0228]
推导当前的运动信息的方法的另一示例可以是合并模式。合并模式可表示合并多个块的运动的方法。合并模式可表示从邻近块的运动信息推导当前块的运动信息的模式。当应用合并模式时,可使用重建的邻近块的运动信息和/或同位块的运动信息来产生合并候选列表。运动信息可包括运动矢量、参考画面索引和帧间画面预测指示符中的至少一个。预测指示符可指示单向预测(l0预测或l1预测)或双向预测(l0预测和l1预测)。
[0229]
合并候选列表可以是所存储的运动信息的列表。包括在合并候选列表中的运动信息可以是以下各项中的至少一个:与当前块相邻的邻近块的运动信息(空间合并候选)、在参考画面中的与当前块同位的块的运动信息(时间合并候选)、通过存在于合并候选列表中的运动信息的组合产生的新运动信息、作为在当前块之前被编码/解码的块的运动信息(基于历史的合并候选)和零合并候选。
[0230]
编码设备100可通过对合并标志和合并索引中的至少一个执行熵编码来产生比特流,并且可将比特流用信号传送到解码设备200。合并标志可以是指示是否针对每一个块执行合并模式的信息,并且合并索引可以是指示当前块的邻近块中的哪个邻近块是合并目标块的信息。例如,当前块的邻近块可包括在当前块的左侧的左侧邻近块、被布置在当前块上方的上方邻近块和在时间上与当前块相邻的时间邻近块。
[0231]
另外,编码设备100对合并候选的运动信息中的用于校正运动矢量的校正信息执行熵编码,并将其用信号传送给解码设备200。解码设备200可基于校正信息校正由合并索引选择的合并候选的运动矢量。这里,校正信息可包括关于是否执行校正的信息、校正方向信息和校正大小信息中的至少一个。如上所述,基于用信号传送的校正信息校正合并候选的运动矢量的预测模式可被称为具有运动矢量差的合并模式。
[0232]
跳过模式可以是将邻近块的运动信息按照原样应用于当前块的模式。当应用跳过模式时,编码设备100可对哪个块的运动信息将被用作当前块的运动信息的事实的信息执行熵编码以产生比特流,并且可将比特流用信号传送到解码设备200。编码设备100可以不将关于运动矢量差信息、编码块标志和变换系数等级中的至少任意一个的语法元素用信号传送到解码设备200。
[0233]
子块合并模式可表示以编码块(cu)的子块为单位推导运动信息的模式。当应用子块合并模式时,可使用参考图像中的与当前子块同位的子块的运动信息(基于子块的时间合并候选)和/或仿射控制点运动矢量合并候选来产生子块合并候选列表。
[0234]
几何分区模式可表示通过将当前块分区为预定方向来推导运动信息、使用所推导出的运动信息中的每一个来推导每一个预测样点、并且通过对所推导出的预测样点中的每一个进行加权来推导当前块的预测样点的模式。
[0235]
帧间-帧内组合预测模式可表示通过对由帧间预测产生的预测样点和由帧内预测产生的预测样点进行加权来推导当前块的预测样点的模式。
[0236]
解码设备200可自行校正推导的运动信息。解码设备200可基于由推导出的运动信息指示的参考块搜索预定区域,并且推导具有最小sad的运动信息作为校正的运动信息。
[0237]
解码设备200可使用光流补偿经由帧间预测推导出的预测样点。
[0238]
图6是示出变换和量化处理的示图。
[0239]
如在图6中所示出的,对残差信号执行变换处理和/或量化处理以产生量化的等级信号。残差信号是原始块与预测块(即,帧内预测块或帧间预测块)之间的差。预测块是通过帧内预测或帧间预测产生的块。变换可以是初级变换、次级变换或者初级变换和次级变换两者。对残差信号进行初级变换产生变换系数,并且对该变换系数进行次级变换产生次级变换系数。
[0240]
从各种预先定义的变换方案中选择的至少一种方案用于执行初级变换。例如,预定义的变换方案的示例包括离散余弦变换(dct)、离散正弦变换(dst)和卡洛南-洛伊变换(karhunen-lo
è
ve,klt)。通过初级变换产生的变换系数可经历次级变换。可根据当前块和/或当前块的邻近块的编码参数来确定用于初级变换和/或次级变换的变换方案。可选地,可用信号传送指示变换方案的变换信息。基于dct的变换可包括例如dct-2、dct-8等。基于dst的变换可包括例如dst-7。
[0241]
可通过对残差信号或执行初级变换和/或次级变换的结果执行量化来产生量化的等级信号(量化系数)。取决于块的帧内预测模式或块尺寸/形状,可根据对角线右上扫描、垂直扫描和水平扫描中的至少一个来对量化的等级信号进行扫描。例如,当沿对角线右上扫描对系数进行扫描时,块形式的系数改成为一维矢量形式。除了对角线右上扫描之外,可根据变换块的尺寸和/或帧内预测模式使用水平地对二维块形式的系数进行扫描的水平扫描或垂直地对二维块形式的系数进行扫描的垂直扫描。扫描的量化的等级系数可被熵编码以插入比特流中。
[0242]
解码器对比特流进行熵解码以获得量化的等级系数。可通过反向扫描以二维块形式排列量化的等级系数。对于反向扫描,可使用对角线右上扫描、垂直扫描和水平扫描中的至少一个。
[0243]
然后,可对量化的等级系数进行反量化,随后根据需要进行次级逆变换,并且最后根据需要进行初级逆变换,以产生重建的残差信号。
[0244]
可在环内滤波之前针对通过帧内预测或帧间预测重建的亮度分量执行动态范围中的逆映射。动态范围可被划分为16个相等的片段,并且针对每一个片段的映射函数可用信号被传送。可在条带级或并行块组级用信号传送映射函数。可基于映射函数推导用于执行逆映射的逆映射函数。在逆映射区域中执行环内滤波、参考画面存储和运动补偿,并且经由使用映射函数的映射将通过帧间预测产生的预测块转换为映射区域,然后将其用于产生重建块。然而,由于在映射区域中执行帧内预测,因此经由帧内预测产生的预测块可被用于产生重建块而无需映射/逆映射。
[0245]
在当前块是色度分量的残差块时,可通过对映射区域的色度分量执行缩放来将残差块转换为逆映射区域。可在条带级或并行块组级用信号传送缩放的可用性。只有当针对亮度分量的映射可用并且亮度分量的划分和色度分量的划分遵循相同的树结构时,才可应用缩放。可基于与色差块相应的亮度预测块的样点值的平均值来执行缩放。在此情况下,在当前块使用帧间预测时,亮度预测块可表示映射的亮度预测块。可通过使用亮度预测块的
样点值的平均值所属的片段的索引参照查找表来推导缩放所必需的值。最后,通过使用推导的值对残差块进行缩放,可将残差块转换到逆映射区域。然后,可在逆映射区域中执行色度分量块恢复、帧内预测、帧间预测、环内滤波和参考画面存储。
[0246]
可通过序列参数集用信号传送指示亮度分量和色度分量的映射/逆映射是否可用的信息。
[0247]
可基于指示当前画面中的当前块与参考块之间的位移的块矢量来产生当前块的预测块。以这种方式,用于参考当前画面产生预测块的预测模式被称为帧内块复制(ibc)模式。ibc模式可被应用于m
×
n(m《=64,n《=64)编码单元。ibc模式可包括跳过模式、合并模式、amvp模式等等。在跳过模式或合并模式的情况下,构建合并候选列表,并且用信号传送合并索引,使得一个合并候选可被指定。指定的合并候选的块矢量可被用作当前块的块矢量。合并候选列表可包括空间候选、基于历史的候选、基于两个候选的平均值的候选和零合并候选中的至少一个。在amvp模式的状况下,可用信号传送差块矢量。另外,可从当前块的左侧邻近块和上方邻近块推导预测块矢量。可用信号传送关于将使用的邻近块的索引。ibc模式下的预测块被包括在当前ctu或左侧ctu中并且限于已重建的区域中的块。例如,块矢量的值可被限制,使得当前块的预测块位于按编码/解码顺序在当前块所属的64
×
64块之前的三个64
×
64块的区域中。通过以此方式限制块矢量的值,可减少根据ibc模式实施方案的存储器消耗和装置复杂度。
[0248]
传统的帧内预测模式编码/解码技术使用最可能模式(mpm)来有效地传输被选为最佳模式的模式。换句话说,当对当前编码块的帧内预测模式进行编码时,可将具有最高出现概率的预定模式选为mpm候选。当实际帧内预测模式是mpm时,可分配少量的二进制比特,因此可有效地传输帧内预测模式。
[0249]
当mpm候选被配置时,可分别针对一般帧内预测模式和特殊帧内预测模式单独地配置mpm。此处,特殊帧内预测模式可以是基于矩阵的帧内预测(mip)。此处,mpm候选可被配置为单独矩阵模式。另外,可将预定映射表用于配置用于一般帧内预测模式和mip的mpm候选。
[0250]
这里,映射表可表示用于将一般帧内预测模式推导为矩阵模式的映射表,或者相反,映射表可表示用于将矩阵模式推导为一般帧内预测模式的映射表,或者映射表可表示两者。在这种情况下,需要用于产生映射表的存储器,并且可能另外需要用于执行映射的操作。
[0251]
另外,为了确保推导mpm候选的一致性,可使得用于推导mip的mpm候选的参考块的位置与用于推导一般帧内预测模式的参考块的位置相应。
[0252]
另外,可通过参考附近的已编码/解码的帧内预测模式来配置mpm候选。此外,在预定情况下,可将特定模式指定为第1候选。在这种情况下,可对针对模式和候选的指示符进行编码/解码。
[0253]
这里,由于关于模式的信息本身被传输,因此可基于针对相应模式的指示符来执行各种编码/解码技术,如模式编码、上下文二值化和预测信号形成。
[0254]
传统的帧内预测模式编码/解码技术可通过使用来自已编码/解码的邻近样点的各种帧内预测模式来预测当前块。此外,为了增加与邻近样点的相关性并减少预测误差,可通过使用作为基于位置的帧内预测模式的位置相关预测组合(pdpc)来执行通过根据当前
块的位置的帧内预测模式预测的样点与邻近样点之间的加权相加。
[0255]
pdpc的常规计算可将当前样点与邻近样点之间的差值的加权和与当前样点相加。这里,在当前样点与邻近样点之间的差值被裁剪(clip)在适当范围内时,当前样点与邻近样点之间的差值可以不增大,并且补偿的样点可更接近于原始信号。
[0256]
另外,依据当前块的高度和宽度两者,可将权重施加于每一个样点位置。换句话说,可根据当前块的形状和尺寸来非均匀地应用pdpc。这里,可分别定义针对高度和宽度的权重。
[0257]
在传统的垂直/水平模式下,由于左侧权重或上方权重根据预测模式成为0,因此可通过使用顶部样点或左侧样点以及左上方样点和权重来执行pdpc。这里,由于左上方样点仅在垂直/水平模式下被使用,因此可通过去除左上方样点和权重来简化pdpc的预测公式。
[0258]
本发明可提供一种使用特定帧内预测模式指示符的图像编码/解码方法和设备。
[0259]
另外,本发明可提供一种用于通过去除特殊帧内预测模式所需的映射表来简单地推导一般帧内预测模式的方法和设备。
[0260]
另外,本发明可提供一种用于通过使用特定帧内预测模式指示符将帧内预测模式分配到较少数量的二进制位中的帧内预测模式编码/解码方法和设备。
[0261]
另外,本发明可提供一种用于参照特定帧内预测模式指示符来配置和编码/解码色度分量的候选列表的方法和设备。
[0262]
另外,本发明可提供一种通过使用特定帧内预测模式指示符对相应指示符进行有效的上下文自适应二进制算术编码/解码的方法和设备。
[0263]
另外,本发明可提供一种用于向通过使用特定帧内预测模式指示符将帧内预测和帧间预测组合的方法提供信息的方法和设备。
[0264]
另外,本发明可提供一种用于分别针对高度和宽度定义由当前块的尺寸定义的尺度并针对每一个高度和宽度均匀地应用pdpc的编码/解码方法和设备。
[0265]
另外,本发明可提供一种用于通过去除仅在一些模式下使用的权重或左上方参考样点来简化pdpc操作的编码/解码方法和设备。
[0266]
另外,本发明可提供一种用于在执行pdpc时通过将当前样点与邻近样点之间的差值裁剪在特定范围内来执行基于位置的预测的编码/解码方法和设备。
[0267]
另外,本发明可提供一种用于通过去除用于特殊帧内预测模式的映射表来减小带宽的方法和设备。
[0268]
另外,本发明可提供一种用于使需要外围信息的技术能够通过使用特定帧内预测模式指示符来使用更准确的模式信息的方法和设备。
[0269]
另外,本发明可提供一种用于通过使用特定帧内预测模式指示符来减少编码/解码信息并使语法能够通过指示符被推断出的方法和设备。
[0270]
另外,本发明可提供一种用于通过在带来模式信息时分离语法分析步骤和解码步骤来促进并行处理的方法和设备。
[0271]
另外,本发明可提供一种用于分别针对块的高度和宽度定义pdpc的权重并因此分别针对高度和宽度均匀地施加权重的方法和设备。
[0272]
在下文中,输入图像和重建图像可具有n(n是正整数)个分量(通道)。
[0273]
例如,输入和重建图像可以是具有一个分量的灰度图像。
[0274]
此外,例如,输入和重建图像可以是具有三个分量的rgb图像。
[0275]
此外,例如,输入和重建图像可以是具有三个分量的yuv图像。
[0276]
此外,例如,输入和重建图像可以是具有四个分量的rgb+深度图像。
[0277]
此外,例如,输入和重建图像可以是具有四个分量的yuv+深度图像。
[0278]
可对输入图像和重建图像的分量进行子采样。
[0279]
例如,输入和重建图像可以是rgb 4:4:4。
[0280]
此外,例如,输入和重建图像可以是yuv 4:4:4。
[0281]
此外,例如,输入和重建图像可以是yuv 4:2:2。
[0282]
此外,例如,输入和重建图像可以是yuv 4:2:0。
[0283]
本发明可被包括在熵解码单元、帧内预测单元和帧间预测单元中的至少一个中。
[0284]
图8是根据本发明实施例的帧内预测模式编码/解码的配置图。
[0285]
图9是根据本发明实施例的帧间预测模式编码/解码的配置图。
[0286]
根据本发明的图像编码/解码方法和设备可推导当前块的帧内预测模式。例如,可通过利用使用邻近块的帧内预测模式的推导方法和使用当前块的帧内预测模式的熵编码/解码的推导方法中的至少一种来推导和编码/解码帧内预测模式。
[0287]
这里,帧内预测模式可以是如以下项的各种模式中的一种模式:基于矩阵的帧内预测(mip)模式、多参考线(mrl)模式、帧内子分区(isp)模式、线性模型(lm)模式、以及当前画面参考(cpr)模式。在下面的描述中,cpr模式可表示帧内块复制(ibc)模式。
[0288]
这里,平面模式、dc模式和角度模式中的至少一个可被定义为一般帧内预测模式。
[0289]
这里,除了一般帧内预测模式之外,如mrl、isp、mip、lm和cpr的帧内预测模式中的至少一个模式可被定义为特殊帧内预测模式。
[0290]
当前块的尺寸可以是w
×
h。这里,w和h的值可以是a2n(a=1、2、3、
……
,n=0、1、2、
……
)。
[0291]
可通过使用预定帧内预测模式和/或邻近块的帧内预测模式来配置根据当前块的分量的帧内预测模式列表。
[0292]
预定帧内预测模式可以是从可用帧内预测模式中选择的n个模式。这里,n可以是等于或大于1的正整数。
[0293]
邻近块的帧内预测模式可以是在空间/时间上邻近于当前块的邻近块的帧内预测模式。
[0294]
可通过使用预定帧内预测模式和/或邻近块的帧内预测模式来配置特定模式。这里,特定模式可被推导为n个帧内预测模式(n是等于或大于1的正整数),并且帧内预测模式的数量或推导方法可基于当前块的尺寸、形状、颜色分量和条带类型中的至少一个而不同。
[0295]
可通过使用mpm候选列表对用于当前块的亮度分量的帧内预测模式进行编码/解码。
[0296]
mpm可配置来自邻近块的具有高出现概率的n个帧内预测模式的列表。可通过使用mpm来有效地编码/解码当前块的帧内预测模式。
[0297]
图10是用于解释根据本发明的实施例的能够被参考以用于配置mpm候选列表的邻近块的位置的示图。
[0298]
参照图10,邻近块的数量或位置可基于当前块的尺寸、形状、颜色分量和条带类型中的至少一个而不同。这里,子块的尺寸可以是最小编码块尺寸。
[0299]
当配置当前块的mpm列表时,可通过确定所参考的邻近块的帧内预测模式来推导将被配置为mpm列表候选的帧内预测模式。
[0300]
另外,当被参考以用于配置当前块的mpm列表的邻近块的帧内预测模式不可用时,邻近块的帧内预测模式可被定义为预定基本模式。
[0301]
这里,当邻近块的帧内预测模式不可用时,这可能意味着邻近块的预测模式是帧间预测模式和特殊帧内预测模式中的至少一个。
[0302]
这里,另外,预定基本模式可以是平面模式、dc模式和角度模式中的至少一种。
[0303]
例如,当邻近块的帧内预测模式是特殊帧内预测模式时,邻近块的帧内预测模式可被定义为平面模式。
[0304]
另外,例如,当邻近块的帧内预测模式为mip模式时,邻近块的帧内预测模式可被定义为平面模式。
[0305]
这里,特殊帧内预测模式可表示mrl模式、isp模式、mip模式、lm模式和cpr模式中的至少一种。
[0306]
例如,当参考邻近块的预测模式为帧间预测模式时,参考帧内预测模式可以是平面模式。
[0307]
当参考邻近块的预测模式不是一般帧内预测模式时,邻近块的预测模式可被定义为映射到一般帧内预测模式的模式、不被映射到一般帧内预测模式的模式和基本模式中的一个帧内预测模式。
[0308]
这里,基本模式可以是平面模式、dc模式和角度模式中的至少一个一般帧内预测模式。
[0309]
例如,当参考邻近块的预测模式为mip模式时,参考邻近块的预测模式可根据当前块和邻近块的尺寸/形状被映射到一般帧内预测模式并且被推导为帧内预测模式。
[0310]
这里,可配置用于将mip矩阵模式映射到一般帧内预测模式的预定映射表。
[0311]
图16是用于解释根据本发明实施例的基于mip特性的一般帧内预测模式的映射关系的示图。
[0312]
图18是用于解释根据本发明另一实施例的基于mip特性的一般帧内预测模式的映射关系的示图。
[0313]
参照图16和/或图18,可根据mip特性推导一般帧内预测模式。
[0314]
参照图18,例如,当参考邻近块的预测模式为mip的矩阵模式0并且当前块具有尺寸2时,邻近块的帧内预测模式可被推导为映射表中的帧内预测模式1(dc)。
[0315]
另外,当参考邻近块的预测模式为mip模式时,邻近块的帧内预测模式可被推导为不使用映射表的模式。
[0316]
例如,当参考邻近块的预测模式为mip的模式0时,邻近块的帧内预测模式可被推导为模式0。
[0317]
另外,当参考邻近块的预测模式为mip模式时,邻近块的帧内预测模式可在不使用映射表的情况下被推导为基本模式。
[0318]
例如,当基本模式为平面模式并且邻近块的预测模式为mip模式时,参考邻近块的
帧内预测模式可以是平面模式。
[0319]
另外,例如,当基本模式是dc模式并且邻近块的预测模式是mip模式时,参考邻近块的帧内预测模式可以是dc模式。
[0320]
基于以上推导的帧内预测模式,可根据帧内预测模式配置mpm候选。
[0321]
基于当前块的帧内预测模式,可配置mpm候选。可在每一种特殊预测模式下独立地配置mpm候选,或者可配置共同使用的mpm候选。
[0322]
例如,mpm可被配置分别用于mip、mrl和isp模式,并且常规mpm也可被独立地配置。换句话说,可在每一种帧内预测模式下配置独立mpm候选。
[0323]
另外,例如,mpm候选可被配置用于在mip、isp、mrl和一般帧内预测模式中共同使用。
[0324]
另外,例如,当mpm候选被配置用于在isp、mrl和一般帧内预测模式中共同使用时,单独的mpm候选可被配置用于使用矩阵模式的mip模式。
[0325]
例如,可通过使用从映射表推导的矩阵模式来配置用于mip模式的mpm候选。
[0326]
图11是用于解释根据本发明的实施例的由当前块所参考的邻近块的位置的示图。
[0327]
例如,当一般帧内预测模式的mpm候选被配置时,参考邻近块的位置与图11的示例相同,并且mpm候选的数量为6(n=6)。
[0328]
如果是“l的帧内预测模式=a的帧内预测模式”这种情况,则mpm候选可被配置为{l,plannar(平面),dc,l-1,l+1,l-2}。
[0329]
如果不是“l的帧内预测模式=a的帧内预测模式”这种情况,则mpm候选可被配置为{l,a,l-1,l-2,a-1,a-2}。
[0330]
另外,例如,当mpm候选被配置用于特殊帧内预测模式之中的mip模式时,如果参考邻近块的位置与图11的示例(比如一般帧内预测模式的位置)相同并且mpm候选的数量为3(n=3),则可配置用于推导mip的矩阵模式的mpm候选列表和/或映射表。
[0331]
图16和/或图18是用于解释根据本发明实施例的基于mip特性的一般帧内预测模式的映射关系的示图。
[0332]
图17是用于解释根据本发明实施例的mpm候选列表的示图。
[0333]
在图16至图18中,可根据mip特性改变矩阵模式。
[0334]
可基于当前块和邻近块的尺寸/形状中的至少一个以及参考邻近块是否是mip模式来配置mpm候选。
[0335]
例如,当参考邻近块l和参考邻近块a两者都具有mip模式,当前块具有相同尺寸/形状索引,并且是“l的模式=a的模式”这种情况时,mpm候选可被配置为{l,候选列表[索引](0/1/2),候选列表[索引](0/1/2)}。
[0336]
另外,例如,当参考邻近块l和参考邻近块a两者都具有mip模式但当前块具有不同尺寸/形状索引时,mpm候选可被配置为{l,候选列表[索引](0),候选列表[索引](1),候选列表[索引](2)}。
[0337]
另外,例如,当参考邻近块l的模式和参考邻近块a的模式不是mip时,可通过使用根据当前块的尺寸/形状索引的映射表来推导矩阵模式,并且mpm候选可被配置为推导的矩阵模式。
[0338]
当mpm候选列表被配置时,如果特定模式被固定为第一候选,则可基于候选是否与
邻近块的预测模式相同而配置其余候选。
[0339]
这里,特定模式可以是可用帧内预测模式中的至少一个。
[0340]
例如,当特定模式为平面模式,参考邻近块的位置与图11的示例相同,并且mpm候选的数量为6(n=6)时,可按照以下所描述的来配置mpm候选列表。
[0341]
例如,当l的模式和a的模式两者都是非角度模式时,mpm候选列表可被配置为{planar,dc,ver,hor,ver-4,ver+4}。
[0342]
另外,例如,当l的模式和a的模式两者都是角度模式并且是“l的模式=a的模式”这种情况时,mpm候选列表可被配置为{planar,l,l-1,l+1,dc,l-2}。
[0343]
另外,例如,当l的模式和a的模式中的一个是角度模式时,mpm候选列表可被配置为{planar,角度,dc,角度-1,角度+1,角度+2}。
[0344]
另外,例如,当l的模式和a的模式两者都是角度模式并且不是“l的模式=a的模式”这种情况时,mpm候选列表可被配置为{planar,l,a,dc,max-1,max+1}。这里,max可以是l的模式和a的模式之间的较大角度模式。
[0345]
另外,如上所述,当特定模式被固定为第一候选时,可对针对特定模式的指示符(标志)进行编码/解码。
[0346]
可通过mpm指示符(标志)对从mpm候选列表中选择的模式进行编码/解码。当存在两个或更多个mpm候选时,可通过mpm索引对相应的模式进行编码/解码。图12是用于解释根据本发明的实施例的对从mpm候选列表确定的帧内预测模式进行编码/解码的处理的示图。
[0347]
当mpm候选之中的第一候选被固定时,可对针对特定模式的指示符进行编码/解码。当存在两个或更多个特定模式时,可通过特定模式的索引对相应的模式进行编码/解码。图13是用于解释根据本发明的实施例的对从包括特定模式的mpm候选列表确定的帧内预测模式进行编码/解码的处理的示图。
[0348]
可通过使用特定模式指示符对帧内预测模式进行编码/解码。
[0349]
这里,可将特定模式推导为n个帧内预测模式,并且帧内预测模式的数量或推导方法可基于当前块的尺寸、形状、颜色分量和条带类型中的至少一个而不同。
[0350]
另外,可从mpm候选推导特定模式。例如,当mpm候选之中的第一候选被固定为一个帧内预测模式时,固定模式可被指定为特定模式。
[0351]
例如,当mpm候选列表的第一候选为平面模式时,可将平面模式指定为特定模式并且可通过指示符对特定模式进行编码/解码。
[0352]
另外,例如,当第一mpm候选是dc模式时,可以将dc模式指定为特定模式,并且可通过指示符对特定模式进行编码/解码。
[0353]
可通过特定模式指示符对固定的模式进行编码/解码。例如,当存在两个或更多个特定模式时,可通过特定模式的索引对固定的模式进行编码/解码。
[0354]
例如,当mpm候选列表的第一候选为平面模式并且第二候选为dc模式时,可对用于区分平面模式和dc模式的索引进行编码/解码。
[0355]
可从邻近块推导特定模式。
[0356]
在图10的示例中,从一个或更多个邻近块最频繁地产生的模式可被指定为特定模式。
[0357]
例如,当平面模式被最频繁地产生时,可将平面模式指定为特定模式,并且可对特
定模式的指示符进行编码/解码。
[0358]
在图11的示例中,可基于邻近块的位置指定特定模式。
[0359]
例如,当是“l的模式=a的模式”这种情况时,可将l的模式指定为特定模式,并且可对特定模式的指示符进行编码/解码。
[0360]
图14是用于解释根据本发明的实施例的对特定模式进行编码/解码的处理的示图。
[0361]
基于预定模式和/或亮度分量的帧内预测模式,可对当前块的色度分量的帧内预测模式进行编码/解码。
[0362]
此处,亮度分量可表示亮度分量块,并且色度分量可表示色度分量块。
[0363]
此处,色度分量的帧内预测模式可以是可用帧内预测模式中的一个。
[0364]
另外,色度分量的帧内预测模式可将已编码/解码的亮度分量的预测模式用作帧内预测模式。
[0365]
例如,当亮度分量的帧内预测模式为平面模式时,色度分量的帧内预测模式也可以是平面模式。
[0366]
另外,例如,当已编码/解码的亮度分量的帧内预测模式是特殊帧内预测模式之中的mip模式时,色度分量的帧内预测模式可以是通过使用映射表推导为一般帧内预测模式的mip矩阵模式。
[0367]
另外,例如,当已编码/解码的亮度分量的帧内预测模式是特殊帧内预测模式之中的mip模式时,色度分量的帧内预测模式可以是在不使用映射表的情况下被认为是预定的一般帧内预测模式的mip矩阵模式。
[0368]
另外,例如,当已编码/解码的亮度分量的帧内预测模式信息是指示mip模式的信息时,亮度分量的帧内预测模式可被定义为预定的一般帧内预测模式,并且与亮度分量相应的色度分量的帧内预测模式可被定义为预定的一般帧内预测模式。
[0369]
另外,例如,当已编码/解码的亮度分量的帧内预测模式信息是指示mip模式的信息时,亮度分量的帧内预测模式可被定义为平面模式,并且与亮度分量相应的色度分量的帧内预测模式可被定义为平面模式。这里,亮度分量块可表示与色度分量块相应并且包括当前色度分量块的中心位置的亮度分量块。
[0370]
另外,例如,当已编码/解码的亮度分量的帧内预测模式是特殊帧内预测模式之中的mip模式时,色度分量的帧内预测模式可以是在不使用映射表的情况下被认为是一般帧内预测模式的基本模式。
[0371]
另外,例如,当已编码/解码的亮度分量的帧内预测模式是mip模式并且基本模式是平面模式时,色度分量的帧内预测模式可以是平面模式。
[0372]
另外,例如,当已编码/解码的亮度分量的帧内预测模式是mip模式并且基本模式是dc模式时,色度分量的帧内预测模式可以是dc模式。
[0373]
另外,例如,当已编码/解码的亮度分量的帧内预测模式是cpr模式并且基本模式是dc模式时,色度分量的帧内预测模式可以是dc模式。
[0374]
另外,例如,当已编码/解码的亮度分量的帧内预测模式是mip模式并且矩阵模式是1时,色度分量的帧内预测模式可以是模式1(dc)。
[0375]
在这种情况下,可对示出亮度分量的帧内预测模式被使用的指示符进行编码/解
码。
[0376]
可通过基于亮度分量的帧内预测模式配置预测模式候选列表来配置色度分量的帧内预测模式候选。
[0377]
当亮度分量的帧内预测模式接近垂直方向时,可通过使用接近垂直方向的模式来配置色度分量的候选列表。
[0378]
例如,当亮度分量的帧内预测模式为ver并且色度分量的候选的数量为6时,色度分量的候选列表可被配置为{ver,ver-1,ver+1,ver-2,ver+2,ver-3}。
[0379]
当亮度分量的帧内预测模式接近水平方向时,可通过使用接近水平方向的模式来配置色度分量的候选列表。
[0380]
例如,当亮度分量的帧内预测模式为hor并且色度分量的候选的数量为6时,色度分量的候选列表可被配置为{hor,hor-1,hor+1,hor-2,hor+2,hor-3}。
[0381]
当亮度分量的帧内预测模式为基于特定模式的帧内预测模式时,色度分量的候选列表可由与亮度分量的模式高度相关的大的模式组成。
[0382]
例如,当亮度分量的帧内预测模式是基于作为特定模式的平面模式的帧内预测模式时,色度分量的候选列表可被配置为{planar,lm,lm-1,lm-a}。
[0383]
依据亮度分量的特性,可直接推导或编码/解码色度分量的帧内预测模式。
[0384]
例如,当亮度分量的帧内预测模式是基于特定模式的帧内预测模式时,色度分量的帧内预测模式也可以是特定模式。
[0385]
另外,例如,当亮度分量的帧内预测模式是作为特定模式的平面模式时,色度分量的帧内预测模式也可以是平面模式,并且色度分量的帧内预测模式也可通过从亮度分量的帧内预测模式被推断出且不具有针对色度分量的帧内预测模式的单独的指示符而被编码/解码。
[0386]
另外,例如,当亮度分量的帧内预测模式是作为特定模式的dc模式时,色度分量的帧内预测模式也可以是dc模式,并且色度分量的帧内预测模式也可通过从亮度分量的帧内预测模式被推断出且没有用于色度分量的帧内预测模式的单独指示符而被编码/解码。
[0387]
因此,当对色度分量的帧内预测模式进行编码/解码时,可减少信号传送开销。例如,当存在色度分量的四个帧内预测模式候选时,用于表达模式的二进制位的数量为1,但可基于以上示例由0二进制位对帧内预测模式进行编码/解码。
[0388]
可通过对当前块的帧内预测模式信息进行熵编码/解码来推导当前块的帧内预测模式。
[0389]
当针对当前块的帧内预测模式执行熵编码/解码时,可以以块为单位执行熵编码/解码。
[0390]
可通过对关于块的帧内预测的信息进行熵编码/解码来推导当前块的帧内预测模式。例如,关于帧内预测的信息可包括下面描述的多条信息中的至少一条。
[0391]-指特定模式是否匹配的指示符
[0392]
例如,当特定模式是平面模式时,指示特定模式为平面模式的信息(例如,planar_mode_flag)
[0393]
另外,例如,当特定模式是dc模式时,指示特定模式为dc模式的信息(例如,dc_mode_flag)
[0394]-指定针对两个或更多个特定模式选择的模式的索引
[0395]-指示是否存在mpm匹配的标志(例如,prev_intra_luma_pred_flag)
[0396]-指定mpm列表内的位置的索引(例如,mpm_idx)
[0397]-指示非mpm候选的模式是否属于所选择的模式集合的标志(例如,selected_mode_set_flag)
[0398]-指定非mpm的选择的模式集合内的位置的索引(例如,selected_mode_idx)
[0399]-指定非mpm的非选择的模式之中的位置的索引(例如,non_selected_mode_idx)
[0400]-亮度分量帧内预测模式信息(例如,rem_intra_luma_pred_mode)
[0401]-色度分量帧内预测模式信息(例如,intra_chroma_pred_mode)
[0402]-指定颜色分量之间的参考预测集合的索引
[0403]
可以不基于条带类型、块尺寸和块形状中的至少一个用信号传送关于帧内预测的上述多条信息中的至少一条。
[0404]
例如,在当前块的尺寸是预定尺寸时,可以不用信号传送关于用于当前块的帧内预测的至少一条信息,并且可使用关于与先前编码/解码的上方块尺寸相应的帧内预测的信息。
[0405]
另外,例如,在当前块的形状是矩形时,可以不用信号传送关于用于当前块的帧内预测的至少一条信息,并且可使用关于与先前编码/解码的上方块尺寸相应的帧内预测的信息。
[0406]
当上述关于帧内预测的信息中的至少一条被熵编码/解码时,可使用下面描述的二值化方法中的至少一种。
[0407]-截断莱斯(truncated rice)二值化方法
[0408]-k阶指数哥伦布(k-th order exp_golomb)二值化方法
[0409]-有限k阶exp_golomb二值化方法
[0410]-固定长度二值化方法
[0411]-一元二值化方法
[0412]-截断一元二值化方法
[0413]-截断二进制二值化方法
[0414]
当通过帧内预测信息或二值化产生的二进制信息被熵编码/解码时,可使用以下方法中的至少一种。
[0415]-上下文自适应二进制算术编码(cabac)
[0416]-上下文自适应可变长度编码(cavlc)
[0417]-旁路编码
[0418]
当通过帧内预测信息或二值化产生的二进制信息被熵编码/解码时,可通过使用条带类型、当前块的尺寸/形状、邻近块的预测模式、和当前块的帧内预测模式中的至少一条编码信息来执行自适应熵编码/解码。
[0419]
例如,当左侧邻近块的帧内预测模式与上方邻近块的帧内预测模式相同时,可执行cabac。否则,即,当左侧邻近块的帧内预测模式不同于上方邻近块的帧内预测模式时,可执行旁路编码。
[0420]
另外,例如,当特定模式指示符被编码/解码时,如果如图11的示例中的每个特定
模式指示符针对邻近块均为真,则可执行cabac。当两个特定模式指示符中的至少一个为假时,可执行旁路编码。
[0421]
另外,例如,当特定模式指示符被编码/解码时,如果如图11的示例中的至少一个特定模式指示符针对邻近块为真,则可执行cabac。当每个特定模式指示符均为假时,可执行旁路编码。
[0422]
这里,可根据定义的特定模式来指定特定模式指示符。
[0423]
例如,当特定模式是平面模式时,可将特定模式指示符指定为planar_mode_flag。
[0424]
另外,例如,当特定模式是dc模式时,可将特定模式指示符指定为dc_mode_flag。
[0425]
当左侧邻近块和上方邻近块具有相同帧内预测模式时,可执行使用第一上下文模型的cabac。另一方面,当左侧邻近块和上方邻近块具有不同帧内预测模式时,可执行使用第二上下文模型的cabac。
[0426]
例如,当特定模式指示符被熵编码/解码时,如果如图11的示例中的每个特定模式指示符针对邻近块均为真,则可执行使用第一上下文模型的cabac。当两个特定模式指示符中的至少一个为假时,可执行使用第二上下文模型的cabac。
[0427]
另外,例如,当特定模式指示符被熵编码/解码时,如果如图11的示例中的每个特定模式指示符针对邻近块均为真,则可执行使用第一上下文模型的cabac。当两个特定模式指示符中的至少一个为假时,可执行使用第二上下文模型的cabac。当两个特定模式指示符都为假时,可执行使用第三上下文模型的cabac。
[0428]
这里,可根据定义的特定模式来指定特定模式指示符。
[0429]
例如,当特定模式是平面模式时,可将特定模式指示符指定为planar_mode_flag。
[0430]
另外,例如,当特定模式是dc模式时,可以将特定模式指示符指定为dc_mode_flag。
[0431]
在当前块的帧内预测模式是有区别的时候,可执行使用不同的上下文模型的cabac。
[0432]
例如,当特定模式指示符被熵编码/解码时,如果帧内预测模式是有区别的,则可执行使用不同的上下文模型的cabac。
[0433]
这里,帧内预测模式可以是比如mip、isp、mrl和常规模式的可用模式之一。
[0434]
例如,当特定模式指示符被熵编码/解码时,如果当前块的帧内预测模式是帧内子分区(isp),则可执行使用第一上下文模型的cabac。如果当前块的帧内预测模式是常规的,则可执行使用第二上下文模型的cabac。
[0435]
这里,可根据定义的特定模式来指定特定模式指示符。
[0436]
例如,当特定模式是平面模式时,可将特定模式指示符指定为planar_mode_flag。
[0437]
另外,例如,当特定模式是dc模式时,可将特定模式指示符指定为dc_mode_flag。
[0438]
根据邻近的模式,可混合使用不同的上下文模型和/或旁路编码。
[0439]
例如,当特定模式指示符被编码/解码时,当前块的帧内预测模式可以是isp模式,并且可根据图11中的邻近块的特定模式指示符的数量来利用使用不同的上下文模型的cabac和/或旁路编码。
[0440]
例如,当特定模式指示符被编码/解码时,当前块的帧内预测模式可以是常规模式,并且可根据如图11的示例中的邻近块的特定模式指示符的数量来利用使用不同的上下
文模型的cabac和/或旁路编码。
[0441]
这里,可根据定义的特定模式来指定特定模式指示符。
[0442]
例如,当特定模式是平面模式时,可将特定模式指示符指定为planr_mode_flag。
[0443]
另外,例如,当特定模式是dc模式时,可将特定模式指示符指定为dc_mode_flag。
[0444]
针对可在当前块中出现的帧内预测模式,可执行使用一个上下文模型的cabac。
[0445]
这里,帧内预测模式可以是比如mip、isp、mrl和常规模式的可用模式之一。
[0446]
当表示针对mip、isp、mrl和常规(regular)的特定模式的指示符/索引中的至少一个被熵编码/解码时,可执行使用一个上下文模型而无需确定模式的cabac。
[0447]
例如,当planar_mode_flag的上下文模型被选择时,可执行使用第一上下文模型而无需确定isp和常规模式的cabac。
[0448]
另外,例如,在当前块的帧内预测模式是isp模式或常规模式(例如,帧内预测模式不是mrl模式)时,可用信号传送planar_mode_flag,并且可执行使用一个上下文模型的cabac。
[0449]
在当前块的条带类型为i条带(i-slice)时,可执行使用第一上下文模型的cabac。在p条带(p-slice)的情况下,可执行使用第二上下文模型的cabac。在b条带(b-slice)的情况下,可执行使用第三上下文模型的cabac。
[0450]
可基于帧内预测模式和参考样点来执行用于当前块的帧内预测。
[0451]
例如,可执行非方向帧内预测。这里,非方向帧内预测模式可表示除了方向模式之外的每种模式。
[0452]
另外,例如,可执行方向帧内预测。这里,方向预测模式可表示水平模式、垂直模式和具有各种角度的模式中的至少一种。
[0453]
另外,例如,可通过参考样点与矩阵的乘积来执行帧内预测。这里,矩阵是这样的矩阵:利用输入已编码/解码的参考样点来学习以用于形成与原始类似的预测块。可离线学习矩阵。另外,可存储学习矩阵以用于编码/解码。
[0454]
另外,例如,可在当前块的子块单元中执行帧内预测,并且可通过使用帧内预测模式中的至少一种来执行用于子块的帧内预测。
[0455]
另外,例如,可执行基于位置信息的帧内预测。这里,可对位置信息进行编码/解码,并且可通过使用已编码/解码的参考样点和从帧内预测模式推导的预测样点的加权和来推导当前块的帧内预测。
[0456]
当基于位置信息的帧内预测被执行时,可通过根据当前块的样点的位置施加不同的权重来执行帧内预测。
[0457]
例如,可如下所述计算根据当前块的样点的位置的帧内预测样点。predsamples’[x][y]=refl[x][y]*wl[x]+reft[x][y]*wt[y]-reftl*wtl[x][y]+(1-wl[x]-wt[y]+wtl[x][y])*predsamples[x][y]
[0458]
这里,predsamples’[x][y]可以是执行基于位置信息的帧内预测的当前块的样点。
[0459]
另外,predsamples[x][y]可以是由帧内预测模式中的至少一个预测的样点。
[0460]
另外,refl[x][y]、reft[x][y]和reftl[x][y]可表示已编码/解码的参考样点,并且可根据帧内预测模式和当前块的位置被定义。换句话说,refl[x][y]、reft[x][y]和
reftl[x][y]可以是用于针对每一个块内的位置(x,y)处的当前样点predsamples[x][y]执行预测的参考样点,并且可从参考样点p[x][y]被推导。另外,位于当前块顶部的参考样点p[x][-1]可被分配给mainref[x],并且位于当前块左侧的参考样点p[-1][y]可被分配给sideref[y],并且mainref[x]和/或sideref[y]可被用于执行针对predsamples[x][y]的预测。例如,当针对当前样点predsamples[x][y]执行基于方向预测模式的位置信息预测时,与方向模式或角度相应的参考样点可通过从mainref[x]和/或sideref[y]被推导出而被使用。
[0461]
另外,wl[x]、wt[y]、和wtl[x][y]可以是施加于已编码/解码的参考样点的权重,并且可基于当前样点的位置、帧内预测模式以及当前块的尺寸和形状中的至少一个来定义权重。
[0462]
另外,例如,可如下所述计算根据当前块的样点的位置的帧内预测样点。
[0463]
predsamples’[x][y]=(refl[x][y]-predsamples[x][y])*wl[x]+(reft[x][y]-predsamples[x][y])*wt[y]-(reftl[x][y]-predsamples[x][y])*wtl[x][y]+predsamples[x][y]
[0464]
这里,可执行裁剪以防止已编码/解码的邻近样点与预测的当前样点之间的差值增加。裁剪可表示为clip(a,b,x),并且也可表示为min(max(a,x),b)。
[0465]
另外,可基于帧内预测模式、当前样点的位置、qp、块的形状/尺寸、比特深度、当前样点与邻近样点之间的差值、以及预定阈值中的至少一个来定义裁剪程度。
[0466]
例如,可在预定范围内裁剪比如clip(a,b,refl[x][y]-predsamples[x][y])、clip(a,b,reft[x][y]-predsamples[x][y])、clip(a,b,reftl[x][y]-predsamples[x][y])、当前样点与邻近样点之间的差值。
[0467]
当执行裁剪时,可指定或选择各种范围,并且可使用这些范围中的至少一个。
[0468]
这里,所选择的范围可作为索引被发送。
[0469]
例如,当存在四个限幅范围{r1,r2,r3,r4}并且r1被选择时,针对r1的索引可被编码/解码。
[0470]
当基于位置信息的帧内预测被执行时,可基于帧内预测模式以及当前块的尺寸和形状中的至少一个来定义尺度值,以便确定所施加的权重。
[0471]
例如,当帧内预测模式大于垂直模式时,可基于当前块的帧内预测模式的宽度、高度和角度中的至少一个来定义尺度。
[0472]
另外,例如,当帧内预测模式小于水平模式时,可基于当前块的帧内预测模式的宽度、高度和角度中的至少一个来定义尺度。
[0473]
另外,例如,当帧内预测模式是除了所述模式之外的一种模式时,可基于当前块的帧内预测模式的宽度、高度和角度中的至少一个来定义尺度。这里,除了所述模式之外的模式可以是平面模式、dc模式、水平模式和垂直模式中的至少一种。
[0474]
例如,可基于如下所述的高度和宽度来定义尺度。
[0475]
nscale=((log2(ntbw)+log2(ntbh)-2)》》2)
[0476]
这里,ntbw和ntbh可表示执行变换编码的块的宽度和高度。
[0477]
另外,例如,如下所述,可基于当前块的高度、宽度或帧内预测模式来定义尺度。换句话说,尺度可被定义为基于高度的尺度、基于宽度的尺度和基于高度和宽度的尺度中的
一个。
[0478]
nscale可被分别定义为nscalex/y和nscalel/t。
[0479]
任何nscale=((log2(宽度或高度)-n)》》shift(移位))或者nscale=((log2(width(宽度))+log2(height(高度))-n)》》shift)
[0480]
这里,n可以是0、1、2、3、
……
中的任何一个整数。
[0481]
此外,shift可以是0、1、2、3、
……
中的任何一个整数。
[0482]
可如下定义nscale。
[0483]
nscalet=((log2(ntbw)-1)》》2)
[0484]
nscalet=((log2(ntbw)-1)》》1)
[0485]
nscalet=(log2(ntbw)-2)
[0486]
nscalel=((log2(ntbh)-1)》》2)
[0487]
nscalel=((log2(ntbh)-1)》》1)
[0488]
nscalel=(log2(ntbh)-2)
[0489]
nscalel=((log2(ntbw)-1)》》2)
[0490]
nscalel=((log2(ntbw)-1)》》1)
[0491]
nscalel=(log2(ntbw)-2)
[0492]
nscalet=((log2(ntbh)-1)》》2)
[0493]
nscalet=((log2(ntbh)-1)》》1)
[0494]
nscalet=(log2(ntbh)-2)
[0495]
当基于位置信息的帧内预测被执行时,用于帧内预测的参考样点的数量可根据预测模式而不同。
[0496]
这里,参考样点可以是refl、reft和reftl中的至少一个。
[0497]
refl可以是已编码/解码的邻近样点中的左侧样点中的一个。
[0498]
另外,reft可以是已编码/解码的邻近样点之中的顶部样点中的一个。
[0499]
另外,reftl可以是已编码/解码的邻近样点之中的左上方样点中的一个。
[0500]
例如,如下面描述的组合所示出的,在当前块的帧内预测模式是垂直模式时,可通过使用refl、reft和reftl中的至少一个来执行基于位置信息的帧内预测。
[0501]
{refl},{reft},{reftl},{refl,reft},{refl,reftl},{reft,reftl},{refl,reft,reftl}
[0502]
另外,例如,在当前块的帧内预测模式是水平模式时,如下面描述的组合所示出的,可通过使用refl、reft和reftl中的至少一个来执行基于位置信息的帧内预测。
[0503]
{refl},{reft},{reftl},{refl,reft},{refl,reftl},{reft,reftl},{refl,reft,reftl}
[0504]
另外,例如,如下面描述的组合所示出的,在当前块的帧内预测模式是dc模式时,可通过使用refl、reft和reftl中的至少一个来执行基于位置信息的帧内预测。
[0505]
{refl},{reft},{reftl},{refl,reft},{refl,reftl},{reft,reftl},{refl,reft,reftl}
[0506]
另外,例如,在当前块的帧内预测模式是平面模式时,如下面描述的组合所示出的,可通过使用refl、reft和reftl中的至少一个来执行基于位置信息的帧内预测。
[0507]
{refl},{reft},{reftl},{refl,reft},{refl,reftl},{reft,reftl},{refl,reft,reftl}
[0508]
另外,例如,在当前块的帧内预测模式是方向模式时,如下面描述的组合所示出的,可通过使用refl、reft和reftl中的至少一个来执行基于位置信息的帧内预测。
[0509]
{refl},{reft},{reftl},{refl,reft},{refl,reftl},{reft,reftl},{refl,reft,reftl}
[0510]
这里,如果reftl不被用于帧内预测模式之一,则可如下所述计算根据当前块的样点的位置的帧内预测样点。换句话说,可降低用于使用reftl样点的存储器访问和用于推导wtl的复杂度。
[0511]
predsamples’[x][y]=refl[x][y]*wl[x]+reft[x][y]*wt[y]+(1-wl[x]-wt[y])*predsamples[x][y]
[0512]
当基于位置信息的帧内预测被执行时,如下面描述的组合所示出的,可根据预测模式不同地定义参考样点、权重和基于位置信息的帧内预测公式中的至少一个。
[0513]
在下文中,将描述第一实施例。
[0514]
当帧内预测模式是平面模式或dc模式时,可如下推导refl[x][y]、reft[x][y]、wt[y]和wl[x]。
[0515]
refl[x][y]=p[-1][y]
[0516]
reft[x][y]=p[x][-1]
[0517]
wt[y]=32》》((y《《1)》》nscale)
[0518]
wl[x]=32》》((x《《1)》》nscale)
[0519]
当帧内预测模式为水平(18)模式或垂直(50)模式时,可如下推导refl[x][y]、reft[x][y]、wt[y]和wl[x]。
[0520]
refl[x][y]=p[-1][y]-p[-1][-1]+predsamples[x][y]
[0521]
reft[x][y]=p[x][-1]-p[-1][-1]+predsamples[x][y]
[0522]
wt[y]=(predmodeintra==intra_angular18)?32》》((y《《1)》》nscale):0
[0523]
wl[x]=(predmodeintra==intra_angular50)?32》》((x《《1)》》nscale):0
[0524]
当帧内预测模式大于垂直(50)模式时,可如下推导refl[x][y]、reft[x][y]、wt[y]和wl[x]。
[0525]
dyint[x]=((x+1)*invangle+256)》》9
[0526]
dy[x][y]=y+dyint[x]
[0527]
refl[x][y]=(y《(3《《nscale))?sideref[dy[x][y]]:0
[0528]
reft[x][y]=0
[0529]
wt[y]=0
[0530]
wl[x]=32》》((x《《1)》》nscale)
[0531]
当帧内预测模式小于水平(18)模式时,可如下推导refl[x][y]、reft[x][y]、wt[y]和wl[x]。
[0532]
dxint[y]=((y+1)*invangle+256)》》9
[0533]
dx[x][y]=x+dxint[y]
[0534]
refl[x][y]=0
[0535]
reft[x][y]=(y《(3《《nscale))?mainref[dx[x][y]]:0
[0536]
wt[y]=32》》((y《《1)》》nscale)
[0537]
wl[x]=0
[0538]
可如下推导根据当前块的样点的位置的帧内预测样点值。
[0539]
predsamples[x][y]=(refl[x][y]*wl[x]+reft[x][y]*wt[y]+(64-wl[x]-wt[y])*predsamples[x][y]+32)》》6
[0540]
在下文中,将描述第二实施例。
[0541]
当帧内预测模式是平面模式或dc模式时,可如下推导refl[x][y]、reft[x][y]、wt[y]和wl[x]。
[0542]
refl[x][y]=p[-1][y]
[0543]
reft[x][y]=p[x][-1]
[0544]
wt[y]=32》》((y《《1)》》nscale)
[0545]
wl[x]=32》》((x《《1)》》nscale)
[0546]
当帧内预测模式为水平(18)模式或垂直(50)模式时,可如下推导refl[x][y]、reft[x][y]、wt[y]和wl[x]。
[0547]
refl[x][y]=p[-1][y]-p[-1][-1]
[0548]
reft[x][y]=p[x][-1]-p[-1][-1]
[0549]
wt[y]=(predmodeintra==intra_angular18)?32》》((y《《1)》》nscale):0
[0550]
wl[x]=(predmodeintra==intra_angular50)?32》》((x《《1)》》nscale):0
[0551]
当帧内预测模式大于垂直(50)模式时,可如下推导refl[x][y]、reft[x][y]、wt[y]和wl[x]。
[0552]
dyint[x]=((x+1))*invangle+256)》》9
[0553]
dy[x][y]=y+dyint[x]
[0554]
refl[x][y]=(y《(3《《nscale))?sideref[dy[x][y]]:0
[0555]
reft[x][y]=0
[0556]
wt[y]=0
[0557]
wl[x]=32》》((x《《1)》》nscale)
[0558]
当帧内预测模式小于水平(18)模式时,可如下推导refl[x][y]、reft[x][y]、wt[y]和wl[x]。
[0559]
dxint[y]=((y+1))*invangle+256)》》9
[0560]
dx[x][y]=x+dxint[y]
[0561]
refl[x][y]=0
[0562]
reft[x][y]=(y《(3《《nscale))?mainref[dx[x][y]]:0
[0563]
wt[y]=32》》((y《《1)》》nscale)
[0564]
wl[x]=0
[0565]
可如下推导根据当前块的样点的位置的帧内预测样点值。
[0566]
predsamples[x][y]=(refl[x][y]*wl[x]+reft[x][y]*wt[y]+(64-wl[x]-wt[y])*predsamples[x][y]+32)》》6
[0567]
在下文中,将描述第三实施例。
[0568]
当帧内预测模式是平面模式或dc模式时,可如下推导refl[x][y]、reft[x][y]、wt[y]和wl[x]。
[0569]
refl[x][y]=p[-1][y]
[0570]
reft[x][y]=p[x][-1]
[0571]
wt[y]=32》》((y《《1)》》nscale)
[0572]
wl[x]=32》》((x《《1)》》nscale)
[0573]
当帧内预测模式为水平(18)模式或垂直(50)模式时,可如下推导refl[x][y]、reft[x][y]、wt[y]和wl[x]。
[0574]
refl[x][y]=p[-1][y]
[0575]
reft[x][y]=p[x][-1]
[0576]
wt[y]=(predmodeintra==intra_angular18)?32》》((y《《1)》》nscale):0
[0577]
wl[x]=(predmodeintra==intra_angular50)?32》》((x《《1)》》nscale):0
[0578]
当帧内预测模式大于垂直(50)模式时,可如下推导refl[x][y]、reft[x][y]、wt[y]和wl[x]。
[0579]
dyint[x]=((x+1)*invangle+256)》》9
[0580]
dy[x][y]=y+dyint[x]
[0581]
refl[x][y]=(y《(3《《nscale))?sideref[dy[x][y]]:0
[0582]
reft[x][y]=0
[0583]
wt[y]=0
[0584]
wl[x]=32》》((x《《1)》》nscale)
[0585]
当帧内预测模式小于水平(18)模式时,可如下推导refl[x][y]、reft[x][y]、wt[y]和wl[x]。
[0586]
dxint[y]=((y+1)*invangle+256)》》9
[0587]
dx[x][y]=x+dxint[y]
[0588]
refl[x][y]=0
[0589]
reft[x][y]=(y《(3《《nscale))?mainref[dx[x][y]]:0
[0590]
wt[y]=32》》((y《《1)》》nscale)
[0591]
wl[x]=0
[0592]
可如下推导根据当前块的样点的位置的帧内预测样点值。
[0593]
predsamples[x][y]=(refl[x][y]*wl[x]+reft[x][y]*wt[y]+(64-wl[x]-wt[y])*predsamples[x][y]+32)》》6
[0594]
在下文中,将描述第四实施例。
[0595]
当帧内预测模式是平面模式或dc模式时,可以如下推导refl[x][y]、reft[x][y]、wt[y]和wl[x]。
[0596]
refl[x][y]=p[-1][y]
[0597]
reft[x][y]=p[x][-1]
[0598]
wt[y]=32》》((y《《1)》》nscale)
[0599]
wl[x]=32》》((x《《1)》》nscale)
[0600]
当帧内预测模式为水平(18)模式或垂直(50)模式时,可如下推导refl[x][y]、
reft[x][y]、wt[y]和wl[x]。
[0601]
refl[x][y]=p[-1][y]-p[-1][-1]
[0602]
reft[x][y]=p[x][-1]-p[-1][-1]
[0603]
wt[y]=(predmodeintra==intra_angular18)?32》》((y《《1)》》nscale):0
[0604]
wl[x]=(predmodeintra==intra_angular50)?32》》((x《《1)》》nscale):0
[0605]
wtl[x][y]=(predmodeintra==intra_angular18)?wt[y]:wl[x]
[0606]
当帧内预测模式大于垂直(50)模式时,可如下推导refl[x][y]、reft[x][y]、wt[y]和wl[x]。
[0607]
dyint[x]=((x+1)*invangle+256)》》9
[0608]
dy[x][y]=y+dyint[x]
[0609]
refl[x][y]=(y《(3《《nscale))?sideref[dy[x][y]]:0
[0610]
reft[x][y]=0
[0611]
wt[y]=0
[0612]
wl[x]=32》》((x《《1)》》nscale)
[0613]
当帧内预测模式小于水平(18)模式时,可如下推导refl[x][y]、reft[x][y]、wt[y]和wl[x]。
[0614]
dxint[y]=((y+1)*invangle+256)》》9
[0615]
dx[x][y]=x+dxint[y]
[0616]
refl[x][y]=0
[0617]
reft[x][y]=(y《《(3《《nscale))?mainref[dx[x][y]]:0
[0618]
wt[y]=32》》((y《《1)》》nscale)
[0619]
wl[x]=0
[0620]
可如下推导根据当前块的样点的位置的帧内预测样点值。
[0621]
predsamples[x][y]=(refl[x][y]*wl[x]+reft[x][y]*wt[y]+(64-wl[x]-wt[y]+wtl[x][y])*predsamples[x][y]+32)》》6
[0622]
这里,可通过执行将基于位置信息的帧内预测公式切割到合适范围中的裁剪操作来保持预定的比特深度范围。例如,裁剪操作可表达为clip1cmp(x)。在10比特的情况下,可执行裁剪,使得x的值在0和1023之间。
[0623]
例如,可如下描述根据执行裁剪操作的当前块的样点的位置的帧内预测样点值。
[0624]
predsamples[x][y]=clip1cmp((refl[x][y]*wl[x]+reft[x][y]*wt[y]+(64-wl[x]-wt[y])*predsamples[x][y]+32)》》6)
[0625]
predsamples[x][y]=clip1cmp((refl[x][y]*wl[x]+reft[x][y]*wt[y]+(64-wl[x]-wt[y]+wtl[x][y])*predsamples[x][y]+32)》》6)
[0626]
另外,当帧内预测模式是水平(18)模式或垂直(50)模式时,可通过针对refl或reft执行裁剪操作来保持预定的比特深度范围。例如,裁剪操作可表达为clip1cmp(x)。在10比特的情况下,可执行裁剪,使得x的值在0和1023之间。
[0627]
例如,可如下描述执行裁剪操作的refl的值或reft的值。
[0628]
refl[x][y]=clip1cmp(p[-1][y]-p[-1][-1]+predsamples[x][y])
[0629]
reft[x][y]=clip1cmp(p[x][-1]-p[-1][-1]+predsamples[x][y])
[0630]
另外,例如,可如下描述执行裁剪操作的refl的值或reft的值。
[0631]
refl[x][y]=clip1cmp(p[-1][y]-p[-1][-1])
[0632]
reft[x][y]=clip1cmp(p[x][-1]-p[-1][-1])
[0633]
当基于位置信息的帧内预测被执行时,可通过根据预测模式改变参考样点的位置来执行帧内预测。
[0634]
这里,参考样点可以是refl、reft和reftl中的至少一个。
[0635]
refl可以是已编码/解码的邻近样点中的左侧样点中的一个。
[0636]
另外,reft可以是已编码/解码的邻近样点之中的顶部样点中的一个。
[0637]
另外,reftl可以是已编码/解码的邻近样点之中的左上方样点中的一个。
[0638]
在多参考线(mrl)帧内预测的情况下,例如,可基于用于mrl预测的参考样点的线从同一条线推导用于pdpc的参考样点的位置。
[0639]
例如,当mrl索引为0时,还可从第二线的参考样点推导用于pdpc的参考样点。
[0640]
另外,例如,当mrl索引为1时,还可从第二线的参考样点推导用于pdpc的参考样点。
[0641]
另外,例如,当mrl索引为2时,还可从第三线的参考样点推导用于pdpc的参考样点。
[0642]
另外,例如,当mrl索引为3时,还可从第三线的参考样点推导用于pdpc的参考样点。
[0643]
当执行基于位置信息的帧内预测时,可通过根据预测模式施加不同的权重来执行帧内预测。
[0644]
这里,可基于当前块的样点位置和尺度中的至少一个来确定权重(wl、wt、wtl)。这里,可基于帧内预测模式来确定尺度,并且可基于尺度来确定权重。
[0645]
这里,可基于编码/解码比特深度、预测样点范围和当前块的位置来定义权重的精度。
[0646]
例如,在当前块的帧内预测模式是垂直模式并且使用参考样点{refl,reftl}时,可如下定义wt[y]、wl[x]和wtl[x][y]。
[0647]
wt[y]=0、wl[x]=32》》((x《《1)》》nscale)、wtl[x][y]=wl[x]
[0648]
另外,例如,在当前块的帧内预测模式是垂直模式并且使用参考样点{refl}时,可以如下定义wt[y]、wl[x]和wtl[x][y]。
[0649]
wt[y]=0、wl[x]=32》》((x《《1)》》nscale)、wtl[x][y]=0
[0650]
另外,例如,在当前块的帧内预测模式是水平模式并且使用参考样点{reft,reftl}时,可如下定义wt[y]、wl[x]和wtl[x][y]。
[0651]
wl[y]=0、wt[x]=32》》((y《《1)》》nscale)、wtl[x][y]=wt[y]
[0652]
另外,例如,在当前块的帧内预测模式是水平模式并且使用参考样点{reft}时,可如下定义wt[y]、wl[x]和wtl[x][y]。
[0653]
wl[y]=0、wt[x]=32》》((y《《1)》》nscale)、wtl[x][y]=0
[0654]
当基于位置信息的帧内预测被执行时,可根据预测模式来确定是否执行基于位置信息的帧内预测。
[0655]
当基于位置信息的帧内预测被执行时,可根据当前块的尺寸和形状中的至少一个
来确定是否执行基于位置信息的帧内预测。
[0656]
当基于位置信息的帧内预测被执行时,可根据预测模式改变用于帧内预测的参考样点的位置。
[0657]
当基于位置信息的帧内预测被执行时,可根据当前块的预测样点的位置来确定是否执行基于位置信息的帧内预测。
[0658]
在下文中,将描述帧间预测编码/解码步骤。
[0659]
当针对帧间预测执行运动补偿时,可通过使用针对来自已编码/解码的邻近块/帧的单个帧间预测的运动补偿、针对多个帧间预测的运动补偿以及针对组合帧间预测的运动补偿中的至少一个来执行帧间预测运动补偿。
[0660]
这里,帧间预测模式可以是跳过模式、合并模式、amvp模式、仿射(affine)模式、mmvd模式、atmvp模式、ciip模式、smp模式和子块合并模式中的一个。
[0661]
当针对组合帧间预测执行运动补偿时,可将帧内预测和帧间预测组合以用于运动补偿。
[0662]
这里,帧内预测可以是可用帧内预测中的至少一个。
[0663]
这里,另外,帧间预测可以是单个帧间预测和多个帧间预测中的至少一个。
[0664]
另外,对于帧内预测,如在图10或图11的示例中的,已编码/解码的邻近块的帧内预测模式可被用作参考模式。
[0665]
例如,当对当前块进行运动补偿时,可按照1:1的比例将执行帧内预测的预测块和执行帧间预测的预测块组合。
[0666]
另外,例如,如图10或图11的示例中的,当至少一个帧内预测模式是平面模式并且一个帧间预测模式是邻近块的位置中的合并模式时,可通过按照1:1的比例将两个预测块组合来执行运动补偿。
[0667]
另外,例如,如图10或图11的示例中的,当至少一个帧内预测模式是ver模式并且一个帧间预测模式是邻近块的位置中的合并模式时,可通过按照1:1的比例将两个预测块组合来执行运动补偿。
[0668]
另外,例如,如图10或图11的示例中的,当至少一个帧内预测模式是平面模式并且一个帧间预测模式是邻近块的位置中的子块合并模式时,可通过按照1:1的比例将两个预测块组合来执行运动补偿。
[0669]
另外,例如,可通过按照1:1的比例将可用的帧内和/或帧间预测模式组合来执行运动补偿。
[0670]
另外,例如,当对当前块进行运动补偿时,可通过按照1:1的比例将参照参考块的特定模式指示符执行帧内预测的预测块和执行帧间预测的预测块组合来执行运动补偿。这里,特定模式可以是可用帧内预测模式中的至少一个。
[0671]
另外,当特定模式是平面模式时,可确认planar_mode_flag是真还是假。例如,当如图10或图11的示例中的在邻近块的位置处至少一个planar_mode_flag为真时,可通过按照1:1的比例将平面帧内预测块和帧间预测块组合来执行运动补偿。
[0672]
另外,例如,当对当前块进行运动补偿时,可通过将预测块组合来执行运动补偿。其中以当前块和预测块为单位执行帧内预测,其中以不同的权重执行帧间预测。
[0673]
这里,可如下表示加权组合块。
[0674]
p
组合
=(n-w)
×
p
帧内
+w
×
p
帧间
,(w《n)
[0675]
图15是用于解释根据本发明实施例的加权组合块的示图。
[0676]
这里,在图11中示出参考预测块的位置,并且如下所述,可根据在该位置用信号传送的帧内预测模式和特定模式指示符的数量来定义权重。
[0677]
表1
[0678]
编号012权重(w)n-1n/21
[0679]
这里,根据参考块的数量/当前块的尺寸或形状/条带类型,可能的情况的数量可以不同,并且权重的值也可以不同。
[0680]
例如,当参考预测块中存在相对多个帧内预测块时,可通过将较高权重应用于帧内预测块并且将较低权重应用于帧间预测块来执行组合运动补偿。
[0681]
另外,例如,当参考预测块的位置如图11所示并且仅存在帧内预测块时,可如下执行组合运动补偿。
[0682]
p
组合
=(n-1)
×
p
帧内
+1
×
p
帧间
,(w《n)
[0683]
另外,例如,当在参考预测块中存在相对多个作为特定模式编码/解码的帧内预测块时,可通过参考特定模式指示符将较高权重应用于帧内预测块且将较低权重应用于帧间预测块来执行组合运动补偿。
[0684]
另外,当特定模式是平面模式时,可确认planar_mode_flag是真还是假。例如,当参考预测块的位置如图11所示并且planar_mode_flag在两个位置都为真时,可如下执行组合运动补偿。
[0685]
p
组合
=(n-1)
×
p
帧内
+1
×
p
帧间
,(w《n)
[0686]
另外,例如,通过将参考预测块是否为帧内预测块以及特定模式指示符是否为真组合,可通过将不同权重应用于帧内预测块和帧间预测块来执行运动补偿。
[0687]
另外,例如,可将基于特定模式指示符的权重添加到表1的示例中。
[0688]
另外,例如,可将基于帧内预测模式的权重添加到表1的示例中。
[0689]
另外,例如,可根据针对基于帧内预测模式的权重和基于特定模式指示符的权重的总和的情况的数量来不同地配置权重表。
[0690]
在下文中,将描述熵编码/解码步骤。
[0691]
当对当前块的预测信息进行编码/解码时,可执行熵编码/解码。
[0692]
当前块的预测信息可包括以下多条信息中的至少一条。
[0693]-平面模式匹配指示符(例如,planar_mode_flag)
[0694]-alf匹配指示符(例如,alf_ctb_flag)
[0695]-块划分指示符(例如,split_qt_flag、split_cu_flag)
[0696]-跳过模式匹配指示符(例如,cu_skip_flag)
[0697]-预测模式指定指示符(例如,pred_mode_flag)
[0698]-ibc匹配指示符(例如,pred_mode_ibc_flag)
[0699]-mip匹配指示符(例如,intra_mip_flag)
[0700]-amvr匹配指示符(例如,amvr_flag)
[0701]-merge_subblock匹配指示符(例如,merge_subblock_flag)
[0702]-affine匹配指示符(例如,inter_affine_flag)
[0703]
再次,参照图10,邻近块的数量或位置可基于当前块的尺寸、形状、颜色分量和条带类型中的至少一个而不同。此处,子块的尺寸可以是最小编码块尺寸。可基于当前块的尺寸、形状、颜色分量和条带类型中的至少一个来确定已编码/解码的邻近参考块的位置。
[0704]
例如,当对预测信息进行熵编码/解码时,如图11所示,参考邻近块可位于当前块的右上方位置或左下方位置。
[0705]
可以不基于条带类型、块尺寸和块形状中的至少一个用信号传送上述多条预测信息中的至少一条。
[0706]
例如,在当前块的尺寸是预定尺寸时,可以不用信号传送关于当前块的至少一条预测信息,而是通过使用与先前编码/解码的上方块的尺寸相应的至少一条预测信息来推导关于当前块的至少一条预测信息。
[0707]
另外,例如,在当前块的形状是矩形时,可以不用信号传送关于当前块的至少一条预测信息,而是通过使用与先前编码/解码的上方块的尺寸相应的至少一条预测信息来推导关于当前块的至少一条预测信息。
[0708]
当对上述预测信息中的至少一条进行熵编码/解码时,可使用下面描述的二值化方法中的至少一种。
[0709]-截断莱斯二值化方法
[0710]-k阶exp_golomb二值化方法
[0711]-有限k阶exp_golomb二值化方法
[0712]-固定长度二值化方法
[0713]-一元二值化方法
[0714]-截断一元二值化方法
[0715]-截断二进制二值化方法
[0716]
当对通过预测信息或二值化产生的二进制信息进行熵编码/解码时,可使用以下方法中的至少一种。
[0717]-上下文自适应二进制算术编码(cabac)
[0718]-上下文自适应可变长度编码(cavlc)
[0719]-旁路编码
[0720]
当对通过预测信息或二值化产生的二进制信息进行熵编码/解码时,可通过使用邻近块的预测信息、条带类型和当前块的尺寸/形状中的至少一条编码信息来执行自适应熵编码/解码。
[0721]
例如,当对当前块的预测信息进行编码/解码时,可根据已编码/解码的邻近参考块的语法信息不同地使用当前块的预测信息的上下文模型。
[0722]
可在编码器和解码器中以相同的方法执行上述实施例。
[0723]
上述实施例中的至少一个或组合可用于对视频进行编码/解码。
[0724]
应用于上述实施例的顺序在编码器和解码器之间可以不同,或者应用于上述实施例的顺序在编码器和解码器中可以相同。
[0725]
可对每一个亮度信号和色度信号执行上述实施例,或者可对亮度信号和色度信号相同地执行上述实施例。
[0726]
应用本发明的上述实施例的块形式可具有正方形形状或非正方形形状。
[0727]
在编码器中熵编码和在解码器中熵解码的语法元素(标志、索引等)中的至少一个可使用以下二值化、去二值化、熵编码/解码方法中的至少一个。
[0728]-带正负号的0阶exp_golomb的二值化/去二值化的方法(se(v))
[0729]-带正负号的k阶exp_golomb的二值化/去二值化的方法(sek(v))
[0730]-无正负号的正整数的0阶exp_golomb的二值化/去二值化的方法(ue(v))
[0731]-无正负号的正整数的k阶exp_golomb的二值化/去二值化的方法(uek(v))
[0732]-固定长度二值化/去二值化方法(f(n))
[0733]-截断莱斯二值化/去二值化方法或截断一元二值化/去二值化方法(tu(v))
[0734]-截断二进制二值化/去二值化方法(tb(v))
[0735]-上下文自适应算术编码/解码方法(ae(v))
[0736]-字节单位比特串(b(8))
[0737]-带正负号的整数的二值化/去二值化方法(i(n))
[0738]-无正负号的正整数的二值化/去二值化方法(u(n))
[0739]-一元二值化/去二值化方法
[0740]
可根据编码块、预测块、变换块、块、当前块、编码单元、预测单元、变换单元、单元和当前单元中的至少一个的尺寸来应用本发明的上述实施例。这里,尺寸可被定义为最小尺寸或最大尺寸或最小尺寸和最大尺寸两者,使得上述实施例被应用,或者可被定义为上述实施例被应用于的固定尺寸。另外,在上述实施例中,第一实施例可被应用于第一尺寸,并且第二实施例可被应用于第二尺寸。换句话说,可根据尺寸组合应用上述实施例。另外,当尺寸等于或大于最小尺寸并且等于或小于最大尺寸时,可应用上述实施例。换句话说,当块尺寸包括在特定范围内时,可应用上述实施例。
[0741]
例如,在当前块的尺寸为8
×
8或更大时,可应用上述实施例。例如,在当前块的尺寸仅为4
×
4时,可应用上述实施例。例如,在当前块的尺寸为16
×
16或更小时,可应用上述实施例。例如,在当前块的尺寸等于或大于16
×
16并且等于或小于64
×
64时,可应用上述实施例。
[0742]
可根据时间层来应用本发明的上述实施例。为了识别可应用上述实施例的时间层,可用信号传送相应标识符,并且可将上述实施例应用于由相应标识符识别的指定时间层。这里,标识符可被定义为可应用上述实施例的最低层或最高层或最低层和最高层两者,或者可被定义为指示应用该实施例的特定层。另外,可定义应用该实施例的固定时间层。
[0743]
例如,在当前图像的时间层是最低层时,可应用上述实施例。例如,在当前图像的时间层标识符是1时,可应用上述实施例。例如,在当前图像的时间层是最高层时,可应用上述实施例。
[0744]
可定义应用本发明的上述实施例的条带类型或并行块组类型,并且可根据相应的条带类型或并行块组类型来应用上述实施例。
[0745]
在上述实施例中,基于具有一系列步骤或单元的流程图描述了方法,但是本发明不限于步骤的顺序,而是可与其他步骤同时执行一些步骤或以不同的顺序执行一些步骤。另外,本领域普通技术人员应当理解的是,流程图中的步骤不彼此排除,并且可将其他步骤添加到流程图中,或者可从流程图中删除一些步骤,而不影响本发明的范围。
[0746]
实施例包括示例的各个方面。可以不描述各个方面的所有可能的组合,但是本领域技术人员将能够认识到不同的组合。因此,本发明可包括在权利要求的范围内的所有替换、修改和改变。
[0747]
本发明的实施例可以以程序指令的形式实现,其中,程序指令可由各种计算机组件执行并且被记录在计算机可读记录介质中。计算机可读记录介质可包括独立的程序指令、数据文件、数据结构等或程序指令、数据文件、数据结构等的组合。记录在计算机可读记录介质中的程序指令可以是针对本发明专门设计和构建的,或者是计算机软件技术领域的普通技术人员所公知的。计算机可读记录介质的示例包括磁记录介质,诸如硬盘、软盘和磁带;光学数据存储介质,诸如cd-rom或dvd-rom;磁最佳介质,例如软磁盘;以及硬件装置,诸如只读存储器(rom)、随机存取存储器(ram)、闪存等,其被具体构建为存储和实现程序指令。程序指令的示例不仅包括由编译器格式化的机械语言代码,还包括可由计算机使用解释器实现的高级语言代码。硬件装置可被配置为由一个或更多个软件模块操作以进行根据本公开的处理,反之亦然。
[0748]
尽管已经根据诸如详细元件的特定项目以及有限的实施例和附图描述了本公开,但提供它们仅是为了帮助更一般地理解本发明,并且本公开不限于上述实施例。本发明所属领域的技术人员将理解的是,可从上述描述进行各种修改和改变。
[0749]
因此,本发明的精神不应限于上述实施例,并且所附权利要求及其等同物的整个范围将落入本发明的范围和精神内。
[0750]
工业适用性
[0751]
本发明可被用于对图像进行编码或解码。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1