CN118301339A - 图像编码/解码方法以及存储比特流的记录介质 - Google Patents
图像编码/解码方法以及存储比特流的记录介质Info
- Publication number
- CN118301339A CN118301339A CN202410414467.4A CN202410414467A CN118301339A CN 118301339 A CN118301339 A CN 118301339A CN 202410414467 A CN202410414467 A CN 202410414467A CN 118301339 A CN118301339 A CN 118301339A
- Authority
- CN
- China
- Prior art keywords
- block
- prediction
- current block
- intra prediction
- mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 252
- 239000013074 reference sample Substances 0.000 claims description 237
- 238000005192 partition Methods 0.000 description 177
- 239000000523 sample Substances 0.000 description 173
- 230000033001 locomotion Effects 0.000 description 133
- 239000013598 vector Substances 0.000 description 74
- 238000000638 solvent extraction Methods 0.000 description 71
- 238000013139 quantization Methods 0.000 description 63
- 238000010586 diagram Methods 0.000 description 54
- 238000001914 filtration Methods 0.000 description 47
- 241000023320 Luma <angiosperm> Species 0.000 description 46
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 46
- 230000008569 process Effects 0.000 description 44
- 230000009466 transformation Effects 0.000 description 41
- 230000003044 adaptive effect Effects 0.000 description 19
- 239000011159 matrix material Substances 0.000 description 18
- 239000000470 constituent Substances 0.000 description 17
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 16
- 230000002123 temporal effect Effects 0.000 description 12
- 230000011664 signaling Effects 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 230000001174 ascending effect Effects 0.000 description 5
- 230000001965 increasing effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 241000209094 Oryza Species 0.000 description 2
- 235000007164 Oryza sativa Nutrition 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 235000009566 rice Nutrition 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Abstract
提供了一种图像编码/解码方法以及存储比特流的记录介质。图像解码方法可包括以下步骤:确定帧内预测和帧间预测的组合是否被用于对当前块的预测;以及在帧内预测和帧间预测的组合被用于对当前块的预测的情况下,产生当前块的最终预测块,其中,产生当前块的最终预测块包括:通过基于帧内预测模式和参考样点执行对当前块的帧内预测来产生当前块的第一预测块;通过执行对当前块的帧间预测来产生当前块的第二预测块;以及基于第一预测块和第二预测块来产生当前块的最终预测块。
Description
本申请是申请日为2018年11月16日、国际申请号为PCT/KR2018/014111、发明名称为“图像编码/解码方法和装置以及存储比特流的记录介质”、进入中国国家阶段的申请号为201880074819.9的中国专利申请的分案申请。
技术领域
本发明涉及一种用于对图像进行编码/解码的方法和设备以及存储比特流的记录介质。具体地,本发明涉及一种使用帧内预测对图像进行编码/解码的方法和设备以及存储通过本发明的图像编码方法/设备生成的比特流的记录介质。
背景技术
近来,在各种应用领域中,对诸如高清晰度(HD)图像和超高清晰度(UHD)图像的高分辨率和高质量图像的需求已经增加。然而,与传统的图像数据相比,更高分辨率和更高质量的图像数据具有增加的数据量。因此,当通过使用诸如传统的有线和无线宽带网络的介质发送图像数据时,或者当通过使用传统的存储介质存储图像数据时,发送和存储的成本增加。为了解决随着图像数据的分辨率和质量的提高而出现的这些问题,对于更高分辨率和更高质量的图像,需要高效的图像编码/解码技术。
图像压缩技术包括各种技术,包括:帧间预测技术,从当前画面的先前画面或后续画面来预测包括在当前画面中的像素值;帧内预测技术,通过使用当前画面中的像素信息来预测包括在当前画面中的像素值;变换和量化技术,用于压缩残差信号的能量;熵编码技术,将短码分配给具有高出现频率的值并且将长码分配给具有低出现频率的值;等等。图像数据可通过使用这样的图像压缩技术被有效地压缩,并且可被发送或存储。
帧内预测是一种仅允许空间参考的预测技术,并且是指通过参考当前将被编码的块周围的已经重建的样点来预测当前块的方法。在帧内预测中被参考的邻近参考样点不是原始视频的亮度值,而是在应用后滤波之前通过预测和恢复而重建的视频的亮度值。由于邻近参考样点先前已经被编码和恢复,所以它们可在编码器和解码器中被用作参考样点。
帧内预测在构思上仅在针对周围参考信号具有连续性的平坦区域和具有恒定方向性的区域中有效,其中,相比于帧间预测,视频中不具有特征的区域具有显著更低的编码效率。特别地,在视频编码中,由于针对第一画面、随机访问和差错鲁棒性必须仅使用帧内预测来对视频进行编码,因此对增强帧内预测的编码效率的方法的需求增加。
发明内容
技术问题
本发明的目的在于提供一种用于对图像进行编码和解码以提高压缩效率的方法和设备。
本发明的另一目的在于提供一种用于使用帧内预测对图像进行编码和解码以提高压缩效率的方法和设备。
本发明的另一目的在于提供一种存储由本发明的图像编码方法/设备所生成的比特流的记录介质。
技术方案
根据本发明的实施例的一种对视频进行解码的方法可包括:推导当前块的第一帧内预测模式;生成与第一帧内预测模式对应的第一帧内预测块;推导当前块的第二帧内预测模式;生成与第二帧内预测模式对应的第二帧内预测块;以及通过使用第一帧内预测块与第二帧内预测块的加权和来生成最终帧内预测块。
在根据本发明的对视频进行解码的方法中,可基于包括在当前块的MPM列表中的至少一个候选模式来推导第一帧内预测模式。
在根据本发明的对视频进行解码的方法中,可基于当前块的一个或更多个邻近块的帧内预测模式来推导第一帧内预测模式。
在根据本发明的对视频进行解码的方法中,第二帧内预测模式可以是从包括在当前块的MPM列表中的候选模式推导出的一个模式。
在根据本发明的对视频进行解码的方法中,推导第二帧内预测模式的步骤可包括:生成与候选模式对应的候选帧内预测块;计算每个候选帧内预测块与第一帧内预测块之间的匹配度;以及将候选帧内预测块中具有最高匹配度的候选帧内预测块的候选模式推导为第二帧内预测模式。
在根据本发明的对视频进行解码的方法中,可使用绝对差和(SAD)或绝对变换差和(SATD)来计算匹配度,并且具有最高匹配度的候选帧内预测块可以是SAD或SATD最小的块。
在根据本发明的对视频进行解码的方法中,对于候选模式中与第一帧内预测模式相同的模式,可跳过生成候选帧内预测块和计算匹配度的步骤。
在根据本发明的对视频进行解码的方法中,与第一帧内预测模式对应的第一帧内预测块或与第二帧内预测模式对应的第二帧内预测块的权重可高于与除预定模式之外的模式对应的帧内预测块的权重,其中,第一帧内预测模式和第二帧内预测模式与所述预定模式相同。
在根据本发明的对视频进行解码的方法中,所述预定模式可以是MPM列表中的第一候选模式。
在根据本发明的对视频进行解码的方法中,当第二帧内预测模式和与第二帧内预测模式对应的第二帧内预测块的数量是n时,可将按照匹配度递减的顺序的n个候选模式推导为第二帧内预测模式,其中,n为2或更大的整数。
根据本发明的另一实施例的一种对视频进行编码的方法可包括:推导当前块的第一帧内预测模式;生成与第一帧内预测模式对应的第一帧内预测块;推导当前块的第二帧内预测模式;生成与第二帧内预测模式对应的第二帧内预测块;以及通过使用第一帧内预测块与第二帧内预测块的加权和来生成最终帧内预测块。
在根据本发明的对视频进行编码的方法中,可基于包括在当前块的MPM列表中的至少一个候选模式来推导第一帧内预测模式。
在根据本发明的对视频进行编码的方法中,可基于当前块的一个或更多个邻近块的帧内预测模式来推导第一帧内预测模式。
在根据本发明的对视频进行编码的方法中,第二帧内预测模式可以是从包括在当前块的MPM列表中的候选模式推导出的一个模式。
在根据本发明的对视频进行编码的方法中,推导第二帧内预测模式的步骤可包括:生成与候选模式对应的候选帧内预测块;计算每个候选帧内预测块与第一帧内预测块之间的匹配度;以及将候选帧内预测块中具有最高匹配度的候选帧内预测块的候选模式推导为第二帧内预测模式。
在根据本发明的对视频进行编码的方法中,可使用绝对差和(SAD)或绝对变换差和(SATD)来计算匹配度,并且具有最高匹配度的候选帧内预测块可以是SAD或SATD最小的块。
在根据本发明的对视频进行编码的方法中,对于候选模式中与第一帧内预测模式相同的模式,可跳过生成候选帧内预测块和计算匹配度的步骤。
在根据本发明的对视频进行编码的方法中,与第一帧内预测模式对应的第一帧内预测块或与第二帧内预测模式对应的第二帧内预测块的权重可高于与除预定模式之外的模式对应的帧内预测块的权重,其中,第一帧内预测模式和第二帧内预测模式与所述预定模式相同。
在根据本发明的对视频进行编码的方法中,当第二帧内预测模式和与第二帧内预测模式对应的第二帧内预测块的数量是n时,可将按照匹配度递减的顺序的n个候选模式推导为第二帧内预测模式,其中,n为2或更大的整数。
根据本发明的另一实施例的一种计算机可读记录介质可存储通过根据本发明的图像编码方法生成的比特流。
根据本发明的另一实施例的一种由图像解码设备执行的图像解码方法,包括:确定帧内预测和帧间预测的组合是否被用于对当前块的预测;以及在帧内预测和帧间预测的组合被用于对当前块的预测的情况下,产生当前块的最终预测块,其中,产生当前块的最终预测块包括:通过基于帧内预测模式和参考样点执行对当前块的帧内预测来产生当前块的第一预测块;通过执行对当前块的帧间预测来产生当前块的第二预测块;以及基于第一预测块和第二预测块来产生当前块的最终预测块。
根据本发明的另一实施例的一种由图像编码设备执行的图像编码方法,包括:确定帧内预测和帧间预测的组合是否被用于对当前块的预测;以及在帧内预测和帧间预测的组合被用于对当前块的预测的情况下,产生当前块的最终预测块,其中,产生当前块的最终预测块包括:通过基于帧内预测模式和参考样点执行对当前块的帧内预测来产生当前块的第一预测块;通过执行对当前块的帧间预测来产生当前块的第二预测块;以及基于第一预测块和第二预测块来产生当前块的最终预测块。
根据本发明的另一实施例的一种存储通过图像编码方法产生的比特流的非暂时性计算机可读记录介质,其中,图像编码方法包括:确定帧内预测和帧间预测的组合是否被用于对当前块的预测;以及在帧内预测和帧间预测的组合被用于对当前块的预测的情况下,产生当前块的最终预测块,其中,产生当前块的最终预测块包括:通过基于帧内预测模式和参考样点执行对当前块的帧内预测来产生当前块的第一预测块;通过执行对当前块的帧间预测来产生当前块的第二预测块;以及基于第一预测块和第二预测块来产生当前块的最终预测块。
有益效果
根据本发明,可提供一种用于对图像进行编码和解码以提高压缩效率的方法和设备。
根据本发明,可提供一种用于使用帧内预测对图像进行编码和解码以提高压缩效率的方法和设备。
根据本发明,可提供一种存储由本发明的图像编码方法/设备生成的比特流的记录介质。
附图说明
图1是示出根据本发明的实施例的编码设备的配置的框图。
图2是示出根据本发明的实施例的解码设备的配置的框图。
图3是示意性地示出当对图像进行编码和解码时图像的分区结构的示图。
图4是用于说明帧内预测的处理的实施例的示图。
图5是用于说明帧间预测的处理的实施例的示图。
图6是用于说明变换和量化的处理的示图。
图7是示出用于将一个块划分为多个块的各种实施例的示图。
图8是示出通过执行四叉树后二叉树划分来划分一个块并且用信号发送关于是否执行划分和/或划分类型的信息的实施例的示图。
图9是示出将当前块划分为两个子块的各种实施例的示图。
图10是示出根据本发明的帧内预测的示图。
图11是示出当配置MPM列表时使用的当前块的空间邻近块的示图。
图12是示出用于重新布置MPM列表中的候选模式的实施例的示图。
图13是示出亮度块与色度块之间的关系的示例性示图。
图14是用于描述多条重建样点线的示图。
图15是用于描述使用可用样点来替换不可用样点的处理的示图。
图16示出各种滤波器形状。
图17是用于描述根据当前块的形状的帧内预测的示图。
图18是用于描述用于推导模型的参数的当前块的邻近样点的示图。
图19是示出重建颜色分量块的处理的示例性示图。
图20是示出通过使用多条上方参考样点线和/或多条左侧参考样点线来执行重建的实施例的示图。
图21是示出用于根据对应块的帧内预测模式或编码参数进行重建的参考样点的示例性示图。
图22是示出当第二颜色分量预测目标块是4×4的块时的示例性重建第一颜色分量对应块的示图。
图23是示出第一颜色分量的样点和第二颜色分量的样点的示图。
图24是示出用于生成模板的实施例的示图。
图25是示出用于基于MPM列表生成基于模板匹配的中间帧内预测块的实施例的示图。
图26是示出用于使用模板和一个中间帧内预测块来生成最终帧内预测块的实施例的示图。
图27是示出使用模板和多个中间帧内预测块生成最终帧内预测块的实施例的示图。
图28是示出扫描变换系数的方法的示图。
具体实施方式
可以对本发明进行各种修改,并且存在本发明的各种实施例,其中,现在将参照附图来提供本发明的各种实施例的示例并对其进行详细描述。然而,本发明不限于此,尽管示例性实施例可被解释为包括本发明的技术构思和技术范围内的所有修改、等同物或替代物。在各个方面,相似的附图标号指代相同或相似的功能。在附图中,为了清楚起见,可夸大元件的形状和尺寸。在本发明的以下详细描述中,参照了附图,其中,附图以图示的方式示出了可实践本发明的特定实施例。足够详细地描述了这些实施例以使本领域技术人员能够实施本公开。应当理解的是,本公开的各种实施例尽管不同,但不一定是互斥的。例如,在不脱离本公开的精神和范围的情况下,结合一个实施例在此描述的特定特征、结构和特性可在其他实施例中实现。此外,应当理解,在不脱离本公开的精神和范围的情况下,可修改每个公开的实施例内的各个元件的位置或布置。因此,以下详细描述不应被视为具有限制意义,并且本公开的范围仅由所附权利要求(在合适的解释的情况下,还连同权利要求所要求保护的等同物的全部范围)来限定。
说明书中使用的术语“第一”、“第二”等可用于描述各种组件,但是组件不应解释为限于这些术语。这些术语仅用于区分一个组件与其他组件。例如,在不脱离本发明的范围的情况下,“第一”组件可被命名为“第二”组件,并且“第二”组件也可被类似地命名为“第一”组件。术语“和/或”包括多个项的组合或多个项中的任意一项。
将理解的是,在本说明书中,当元件被简单称为“连接到”或“耦接到”另一元件而不是“直接连接到”或“直接耦接到”另一元件时,元件可“直接连接到”另一元件或“直接耦接到”另一元件,或者在元件与另一元件之间介入有其他元件的情况下连接到或耦接到另一元件。相反,应当理解,当元件被称为“直接耦接”或“直接连接”到另一元件时,不存在中间元件。
此外,本发明的实施例中所示的构成部分被独立地示出,以表示彼此不同的特征功能。因此,这并不意味着每个构成部分都以单独的硬件或软件的构成单元构成。换言之,为了方便,每个构成部分包括列举的构成部分中的每个。因此,每个构成部分的至少两个构成部分可被组合以形成一个构成部分,或者一个构成部分可被划分为多个构成部分以执行每种功能。如果没有脱离本发明的实质,则将每个构成部分被组合的实施例和一个构成部分被划分的实施例也包括在本发明的范围内。
本说明书中使用的术语仅用于描述特定实施例,而不旨在限制本发明。除非在上下文中具有明显不同的含义,否则以单数形式使用的表述包括复数形式的表述。在本说明书中,应当理解,诸如“包括”、“具有”等的术语旨在指示存在说明书中公开的特征、数字、步骤、动作、元件、部件或其组合,而并不旨在排除可存在或可添加一个或更多个其他特征、数字、步骤、动作、元件、部件或其组合的可能性。换言之,当特定元素被称为“被包括”时,并不排除除了对应元素之外的元素,而是可在本发明的实施例或本发明的范围中包括另外的元素。
此外,某些构成部分可能不是执行本发明的基本功能的必不可少的构成部分,而是仅提高其性能的选择性构成部分。可通过仅包括用于实现本发明的本质的必不可少的构成部分而不包括用于提高性能的构成部分来实现本发明。仅包括必不可少的构成部分而不包括仅用于提高性能的选择性构成部分的结构也包括在本发明的范围内。
在下文中,将参照附图详细描述本发明的实施例。在描述本发明的示例性实施例时,将不详细描述公知的功能或构造,因为它们可能不必要地模糊对本发明的理解。附图中相同的构成元件由相同的附图标号表示,并且对相同元件的重复描述将被省略。
在下文中,图像可指构成视频的画面,或者可指视频本身。例如,“对图像进行编码或解码或者进行编码和解码两者”可指“对运动画面进行编码或解码或者进行编码和解码两者”,并且可指“对运动画面的图像中的一个图像进行编码或解码或者进行编码和解码两者”。
在下文中,术语“运动画面”和“视频”可用作相同的含义并且可彼此替换。
在下文中,目标图像可以是作为编码目标的编码目标图像和/或作为解码目标的解码目标图像。此外,目标图像可以是输入到编码设备的输入图像、以及输入到解码设备的输入图像。这里,目标图像可与当前图像具有相同的含义。
在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用作相同的含义并且可彼此替换。
在下文中,目标块可以是作为编码目标的编码目标块和/或作为解码目标的解码目标块。此外,目标块可以是作为当前编码和/或解码的目标的当前块。例如,术语“目标块”和“当前块”可被用作相同的含义并且可彼此替换。
在下文中,术语“块”和“单元”可被用作相同的含义并且可彼此替换。或者“块”可表示特定单元。
在下文中,术语“区域”和“片段”可彼此替换。
在下文中,特定信号可以是表示特定块的信号。例如,原始信号可以是表示目标块的信号。预测信号可以是表示预测块的信号。残差信号可以是表示残差块的信号。
在实施例中,特定信息、数据、标志、索引、元素和属性等中的每个可具有值。等于“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。根节点的深度可以是最低的,并且叶节点的深度可以是最深的。此外,当单元被表示为树结构时,单元存在于的等级可表示单元深度。
比特流:可表示包括编码图像信息的比特流。
参数集:与比特流内的配置之中的头信息对应。视频参数集、序列参数集、画面参数集和自适应参数集中的至少一个可被包括在参数集中。此外,参数集可包括条带(slice)头和并行块(tile)头信息。
解析:可表示通过执行熵解码来确定语法元素的值,或者可表示熵解码本身。
符号:可表示编码/解码目标单元的语法元素、编码参数和变换系数值中的至少一个。此外,符号可表示熵编码目标或熵解码结果。
预测模式:可以是指示利用帧内预测而被编码/解码的模式或利用帧间预测而被编码/解码的模式的信息。
预测单元:可表示当执行预测(诸如帧间预测、帧内预测、帧间补偿、帧内补偿和运动补偿)时的基本单元。单个预测单元可被分区为具有更小尺寸的多个分区,或者可被分区为多个更低等级的预测单元。多个分区可以是在执行预测或补偿时的基本单元。通过划分预测单元而生成的分区也可以是预测单元。
预测单元分区:可表示通过对预测单元进行分区而获得的形状。
参考画面列表:可表示包括用于画面间预测或运动补偿的一个或更多个参考画面的列表。LC(列表组合)、L0(列表0)、L1(列表1)、L2(列表2)、L3(列表3)等是参考画面列表的类型。一个或更多个参考画面列表可用于画面间预测。
画面间预测指示符:可表示当前块的画面间预测方向(单向预测、双向预测等)。可选地,画面间预测指示符可表示用于生成当前块的预测块的参考画面的数量。另外可选地,画面间预测指示符可表示用于针对当前块执行画面间预测或运动补偿的预测块的数量。
预测列表利用标志:可表示是否使用被包括在特定参考画面列表中的至少一个参考图像来生成预测块。可使用预测列表利用标志来推导帧间预测指示符,并且相反地,可使用帧间预测指示符来推导预测列表利用标志。例如,当预测列表利用标志指示第1值“0”时,它表示不使用对应参照画面列表中包括的参考画面生成预测块。当预测列表利用标志指示第2值“1”时,它表示使用对应参考画面列表中包括的参考画面来生成预测块。
参考画面索引:可表示指示参考画面列表中的特定参考画面的索引。
参考画面:可表示由特定块参考以用于画面间预测或运动补偿的的画面。可选地,参考画面可以是包括由当前块参考以用于帧间预测或运动补偿的参考块的画面。在下文中,术语“参考画面”和“参考图像”可被用作相同的含义并且可互换地使用。
运动矢量:是用于画面间预测或运动补偿的二维矢量,并且可表示参考画面与编码/解码目标画面之间的偏移。例如,(mvX,mvY)可表示运动矢量,mvX可表示水平分量,并且mvY可表示垂直分量。
搜索范围:可以是在帧间预测期间执行对运动矢量的搜索的二维区域。例如,搜索范围的尺寸可以是M×N。M和N可分别是正整数。
运动矢量候选:可表示在预测运动矢量时成为预测候选的块,或者该块的运动矢量。运动矢量候选可在运动矢量候选列表中被列出。
运动矢量候选列表:可表示使用一个或更多个运动矢量候选配置的列表。
运动矢量候选索引:表示指示运动矢量候选列表中的运动矢量候选的指示符。它也被称为运动矢量预测因子的索引。
运动信息:可表示包括参考画面列表信息、参考画面、运动矢量候选、运动矢量候选索引、合并候选和合并索引中的至少任意一项以及运动矢量、参考画面索引和画面间预测指示符的信息。
合并候选列表:可表示由合并候选组成的列表。
合并候选:可表示空间合并候选、时间合并候选、组合合并候选、组合双预测合并候选、零合并候选等。合并候选可具有画面间预测指示符、每个列表的参考画面索引、以及诸如运动矢量的运动信息。
合并索引:可表示指示合并候选列表内的合并候选的指示符。合并索引可指示在空间上和/或时间上与当前块相邻的重建块中的用于推导合并候选的块。合并索引可指示合并候选所具有的的运动信息中的至少一项。
变换单元:可表示在对残差信号执行编码/解码(诸如变换、逆变换、量化、反量化、变换系数编码/解码)时的基本单元。单个变换单元可被分区为具有更小尺寸的多个更低等级的变换单元。这里,变换/逆变换可包括第一次变换/第一次逆变换和第二次变换/第二次逆变换中的至少一个。
缩放:可表示将量化的等级乘以因子的处理。可通过对量化的等级进行缩放来生成变换系数。缩放也可被称为反量化。
量化参数:可表示当在量化期间使用变换系数来生成量化的等级时使用的值。量化参数还可表示当在反量化期间通过对量化的等级进行缩放来生成变换系数时使用的值。量化参数可以是被映射在量化步长上的值。
增量量化参数:可表示预测的量化参数与编码/解码目标单元的量化参数之间的差值。
扫描:可表示对单元、块或矩阵内的系数进行排序的方法。例如,将系数的二维矩阵改变为一维矩阵可被称为扫描,将系数的一维矩阵改变为二维矩阵可被称为扫描或逆扫描。
变换系数:可表示在编码器中执行变换之后生成的系数值。变换系数可表示在解码器中执行熵解码和反量化中的至少一个之后生成的系数值。通过对变换系数或残差信号进行量化而获得的量化的等级或者量化的变换系数等级也可落入变换系数的含义内。
量化的等级:可表示在编码器中通过对变换系数或残差信号进行量化而生成的值。可选地,量化的等级可表示作为在解码器中将经历反量化的反量化目标的值。类似地,作为变换和量化的结果的量化的变换系数等级也可落入量化的等级的含义内。
非零变换系数:可表示具有除零之外的值的变换系数、或者具有除零之外的值的变换系数等级或量化的等级。
量化矩阵:可表示在为了提高主观图像质量或客观图像质量而执行的量化处理或反量化处理中使用的矩阵。量化矩阵也可被称为缩放列表。
量化矩阵系数:可表示量化矩阵内的每个元素。量化矩阵系数也可被称为矩阵系数。
默认矩阵:可表示在编码器或解码器中预先定义的预定量化矩阵。
非默认矩阵:可表示在编码器或解码器中未被预先定义而是由用户用信号发送的量化矩阵。
统计值:针对具有可计算的特定值的变量、编码参数、常量值等之中的至少一个的统计值可以是对应特定值的平均值、加权平均值、加权和值、最小值、最大值、最频繁出现的值、中值、插值之中的一个或更多个。
图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、加法器255、滤波器单元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中。单元深度表示与对单元进行分区相关的次数和/或程度。因此,更低等级的单元的分区信息可包括关于更低等级的单元的尺寸的信息。
分区结构可表示CTU 310内的编码单元(CU)的分布。可根据是否将单个CU分区为多个(等于或大于2的正整数,包括2、4、8、16等)CU来确定这样的分布。通过分区生成的CU的水平尺寸和垂直尺寸可分别是分区之前的CU的水平尺寸和垂直尺寸的一半,或者可分别具有小于根据分区的次数而进行分区之前的水平尺寸和垂直尺寸的尺寸。CU可以被递归地分区为多个CU。通过递归分区,与分区之前的CU的高度和宽度之中的至少一个相比,分区之后的CU的高度和宽度之中的至少一个可减小。可递归地执行CU的分区,直到预定义的深度或预定义的尺寸为止。例如,CTU的深度可以是0,最小编码单元(SCU)的深度可以是预定义的最大深度。这里,如上所述,CTU可以是具有最大编码单元尺寸的编码单元,并且SCU可以是具有最小编码单元尺寸的编码单元。分区从CTU 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的CTU可以是64×64的块。0可以是最小深度。具有深度3的SCU可以是8×8的块。3可以是最大深度。32×32的块和16×16的块的CU可分别被表示为深度1和深度2。
例如,当单个编码单元被分区为四个编码单元时,分区出的四个编码单元的水平尺寸和垂直尺寸可以是CU在被分区之前的水平尺寸和垂直尺寸的一半大小。在一个实施例中,当尺寸为32×32的编码单元被分区为四个编码单元时,分区出的四个编码单元中的每一个可具有16×16的尺寸。当单个编码单元被分区为四个编码单元时,可称编码单元可被分区(四叉树分区)为四叉树形式。
例如,当单个编码单元被分区为两个编码单元时,该两个编码单元的水平尺寸或垂直尺寸可以是被分区之前的编码单元的水平尺寸或垂直尺寸的一半。例如,当尺寸为32×32的编码单元在垂直方向上被分区时,分区出的两个编码单元中的每一个可具有16×32的尺寸。例如,当尺寸为8×32的编码单元被水平分区为两个子编码单元时,该两个子编码单元中的每一个可具有8×16的尺寸。当单个编码单元被分区为两个编码单元时,可称编码单元以二叉树形式被分区(二叉树分区)。
例如,当一个编码单元被分区为三个子编码单元时,可以以1:2:1的比例对编码单元的水平尺寸或垂直尺寸进行分区,从而产生水平尺寸或垂直尺寸的比例为1:2:1的三个子编码单元。例如,当尺寸为16×32的编码单元被水平分区为三个子编码单元时,该三个子编码单元以从最上方子编码单元到最下方子编码单元的顺序可分别具有16×8、16×16和16×8的尺寸。例如,当尺寸为32×32的编码单元被垂直划分为三个子编码单元时,该三个子编码单元以从左侧子编码单元到右侧子编码单元的顺序可分别具有8×32、16×32和8×32的尺寸。当一个编码单元被分区为三个子编码单元时,可称编码单元被三叉树分区或者根据三叉树分区结构被分区。
在图3中,编码树单元(CTU)320是四叉树分区结构、二叉树分区结构和三叉树分区结构全都被应用的CTU的示例。
如上所述,为了对CTU进行分区,可应用四叉树分区结构、二叉树分区结构和三叉树分区结构中的至少一个。可根据预定的优先级顺序将各种树分区结构顺序地应用于CTU。例如,可将四叉树分区结构优先应用于CTU。不能再使用四叉树分区结构进行分区的编码单元可与四叉树的叶节点对应。与四叉树的叶节点对应的编码单元可用作二叉树和/或三叉树分区结构的根节点。也就是说,与四叉树的叶节点对应的编码单元可根据二叉树分区结构或三叉树分区结构被进一步分区,或者可不被进一步分区。因此,通过防止从与四叉树的叶节点对应的编码单元的二叉树分区或三叉树分区得到的编码块经历进一步的四叉树分区,块分区操作和/或用信号发送分区信息的操作可被有效执行。
可使用四分区信息用信号发送与四叉树的节点对应的编码单元被分区的事实。具有第一值(例如,“1”)的四分区信息可指示当前编码单元按照四叉树分区结构被分区。具有第二值(例如,“0”)的四分区信息可指示当前编码单元未按照四叉树分区结构被分区。四分区信息可以是具有预定长度(例如,一个比特)的标志。
在二叉树分区与三叉树分区之间可能没有优先级。也就是说,与四叉树的叶节点对应的编码单元可进一步经历二叉树分区和三叉树分区中的任意分区。此外,通过二叉树分区或三叉树分区生成的编码单元可经历进一步的二叉树分区或进一步的三叉树分区,或者可不被进一步分区。
在二叉树分区和三叉树分区之间不存在优先级的树结构被称为多类型树结构。与四叉树的叶节点对应的编码单元可用作多类型树的根节点。可使用多类型树分区指示信息、分区方向信息和分区树信息中的至少一个来用信号发送是否对与多类型树的节点对应的编码单元进行分区。为了对与多类型树的节点对应的编码单元进行分区,可顺序地用信号发送多类型树分区指示信息、分区方向信息和分区树信息。
具有第一值(例如,“1”)的多类型树分区指示信息可指示当前编码单元将经历多类型树分区。具有第二值(例如,“0”)的多类型树分区指示信息可指示当前编码单元将不经历多类型树分区。
当与多类型树的节点对应的编码单元按照多类型树分区结构被分区时,所述编码单元还可包括分区方向信息。分区方向信息可指示当前编码单元将在哪个方向上针对多类型树分区被分区。具有第一值(例如,“1”)的分区方向信息可指示当前编码单元将被垂直分区。具有第二值(例如,“0”)的分区方向信息可指示当前编码单元将被水平分区。
当与多类型树的节点对应的编码单元按照多类型树分区结构被分区时,当前编码单元还可包括分区树信息。分区树信息可指示将被用于对多类型树的节点进行分区的树分区结构。具有第一值(例如,“1”)的分区树信息可指示当前编码单元将按照二叉树分区结构被分区。具有第二值(例如,“0”)的分区树信息可指示当前编码单元将按照三叉树分区结构被分区。
分区指示信息、分区树信息和分区方向信息均可以是具有预定长度(例如,一个比特)的标志。
四叉树分区指示信息、多类型树分区指示信息、分区方向信息和分区树信息中的至少任意一个可被熵编码/熵解码。为了对那些类型的信息进行熵编码/熵解码,可使用关于与当前编码单元相邻的邻近编码单元的信息。例如,当前编码单元的左侧邻近编码单元和/或上方邻近编码单元的分区类型(被分区或不被分区、分区树和/或分区方向)与当前编码单元的分区类型相似的可能性很高。因此,可从关于邻近编码单元的信息推导用于对关于当前编码单元的信息进行熵编码/熵解码的上下文信息。关于邻近编码单元的信息可包括四分区信息、多类型树分区指示信息、分区方向信息和分区树信息中的至少任意一个。
作为另一示例,在二叉树分区和三叉树分区中,可优先执行二叉树分区。也就是说,当前编码单元可首先经历二叉树分区,并且随后可将与二叉树的叶节点对应的编码单元设置为用于三叉树分区的根节点。在这种情况下,对于与三叉树的节点对应的编码单元,可既不执行四叉树分区也不执行二叉树分区。
不能按照四叉树分区结构、二叉树分区结构和/或三叉树分区结构被分区的编码单元成为用于编码、预测和/或变换的基本单元。也就是说,所述编码单元不能被进一步分区以用于预测和/或变换。因此,在比特流中可能不存在用于将编码单元分区为预测单元和/或变换单元的分区结构信息和分区信息。
然而,当编码单元(即,用于分区的基本单元)的尺寸大于最大变换块的尺寸时,可递归地对编码单元进行分区,直到将编码单元的尺寸减小到等于或小于最大变换块的尺寸为止。例如,当编码单元的尺寸为64×64时并且当最大变换块的尺寸为32×32时,可将编码单元分区为用于变换的四个32×32的块。例如,当编码单元的尺寸为32×64并且最大变换块的尺寸为32×32时,可将编码单元分区为用于变换的两个32×32的块。在这种情况下,不单独用信号发送编码单元的用于变换的分区,并且可通过编码单元的水平尺寸或垂直尺寸与最大变换块的水平尺寸或垂直尺寸之间的比较来确定编码单元的用于变换的分区。例如,当编码单元的水平尺寸(宽度)大于最大变换块的水平尺寸(宽度)时,可将编码单元垂直地二等分。例如,当编码单元的垂直尺寸(高度)大于最大变换块的垂直尺寸(高度)时,可将编码单元水平地二等分。
可在编码单元的更高等级用信号发送或确定编码单元的最大和/或最小尺寸的信息以及变换块的最大和/或最小尺寸的信息。所述更高等级可以是例如序列级、画面级、条带级等。例如,编码单元的最小尺寸可被确定为4×4。例如,变换块的最大尺寸可被确定为64×64。例如,变换块的最小尺寸可被确定为4×4。
可在编码单元的更高等级用信号发送或确定与四叉树的叶节点对应的编码单元的最小尺寸(四叉树最小尺寸)的信息和/或多类型树的从根节点到叶节点的最大深度(多类型树的最大树深度)的信息。例如,所述更高等级可以是序列级、画面级、条带级等。可针对帧内条带和帧间条带中的每一个用信号发送或确定四叉树的最小尺寸的信息和/或多类型树的最大深度的信息。
可在编码单元的更高等级用信号发送或确定CTU的尺寸与变换块的最大尺寸之间的差信息。例如,所述更高等级可以是序列级、画面级、条带级等。可基于编码树单元的尺寸和所述差信息来确定与二叉树的各个节点对应的编码单元的最大尺寸(在下文中,称为二叉树的最大尺寸)的信息。与三叉树的各个节点对应的编码单元的最大尺寸(在下文中,称为三叉树的最大尺寸)可依据条带的类型而变化。例如,针对帧内条带,三叉树的最大尺寸可以是32×32。例如,针对帧间条带,三叉树的最大尺寸可以是128×128。例如,可将与二叉树的各个节点对应的编码单元的最小尺寸(在下文中,称为二叉树的最小尺寸)和/或与三叉树的各个节点对应的编码单元的最小尺寸(在下文中,称为三叉树的最小尺寸)设置为编码块的最小尺寸。
作为另一示例,可在条带级用信号发送或确定二叉树的最大尺寸和/或三叉树的最大尺寸。可选地,可在条带级用信号发送或确定二叉树的最小尺寸和/或三叉树的最小尺寸。
依据上述各种块的尺寸信息和深度信息,四分区信息、多类型树分区指示信息、分区树信息和/或分区方向信息可被包括在比特流中或可不被包括在比特流中。
例如,当编码单元的尺寸不大于四叉树的最小尺寸时,编码单元不包含四分区信息。因此,可从第二值推导四分区信息。
例如,当与多类型树的节点对应的编码单元的尺寸(水平尺寸和垂直尺寸)大于二叉树的最大尺寸(水平尺寸和垂直尺寸)和/或三叉树的最大尺寸(水平尺寸和垂直尺寸)时,该编码单元可不被二叉树分区或三叉树分区。因此,可不用信号发送多类型树分区指示信息,而是可从第二值推导多类型树分区指示信息。
可选地,当与多类型树的节点对应的编码单元的尺寸(水平尺寸和垂直尺寸)与二叉树的最大尺寸(水平尺寸和垂直尺寸)相同,和/或是三叉树的最大尺寸(水平尺寸和垂直尺寸)的两倍大时,该编码单元可不被进一步二叉树分区或三叉树分区。因此,可不用信号发送多类型树分区指示信息,而是可从第二值推导多类型树分区指示信息。这是因为,当按照二叉树分区结构和/或三叉树分区结构对编码单元进行分区时,生成了小于二叉树的最小尺寸和/或三叉树的最小尺寸的编码单元。
可选地,当与多类型树的节点对应的编码单元的深度等于多类型树的最大深度时,可不对该编码单元进一步二叉树分区和/或三叉树分区。因此,可不用信号发送多类型树分区指示信息,而是可从第二值推导多类型树分区指示信息。
可选地,只有当垂直方向二叉树分区、水平方向二叉树分区、垂直方向三叉树分区和水平方向三叉树分区中的至少一个对于与多类型树的节点对应的编码单元是可行的时,才可用信号发送多类型树分区指示信息。否则,可能无法对编码单元进行二叉树分区和/或三叉树分区。因此,可不用信号发送多类型树分区指示信息,而是可从第二值推导多类型树分区指示信息。
可选地,只有当垂直方向二叉树分区和水平方向二叉树分区两者或者垂直方向三叉树分区和水平方向三叉树分区两者对于与多类型树的节点对应的编码单元是可行的时,才可用信号发送分区方向信息。否则,可不用信号发送分区方向信息,而是可从指示可能的分区方向的值推导分区方向信息。
可选地,只有当垂直方向二叉树分区和垂直方向三叉树分区两者或者水平方向二叉树分区和水平方向三叉树分区两者对于与多类型树的节点对应的编码树是可行的时,才可用信号发送分区树信息。否则,可不用信号发送分区树信息,而是可从指示可能的分区树结构的值推导分区树信息。
图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中,矩形可以表示画面。在图5中,箭头表示预测方向。根据画面的编码类型,可将画面分类为帧内画面(I画面)、预测画面(P画面)和双预测画面(B画面)。
可在不需要画面间预测的情况下通过帧内预测对I画面进行编码。可通过使用在相对于当前块的一个方向(即,前向或后向)上存在的参考画面,通过画面间预测来对P画面进行编码。可通过使用在相对于当前块的两个方向(即,前向和后向)上存在的参考画面,通过画面间预测来对B画面进行编码。当使用画面间预测时,编码器可执行画面间预测或运动补偿,并且解码器可执行对应运动补偿。
在下文中,将详细描述画面间预测的实施例。
可使用参考画面和运动信息来执行画面间预测或运动补偿。
可通过编码设备100和解码设备200中的每一个在画面间预测期间推导当前块的运动信息。可通过使用重建的邻近块的运动信息、同位置块(也称为col块或同位块)的运动信息和/或与同位块相邻的块的运动信息来推导当前块的运动信息。同位块可表示先前重建的同位置画面(也称为col画面或同位画面)内的在空间上与当前块位于相同位置的块。同位画面可以是包括在参考画面列表中的一个或更多个参考画面中的一个画面。
推导当前块的运动信息的方法可依据当前块的预测模式变化。例如,作为用于画面间预测的预测模式,可存在AMVP模式、合并模式、跳过模式、当前画面参考模式等。合并模式可被称为运动合并模式。
例如,当AMVP被用作预测模式时,可将重建的邻近块的运动矢量、同位块的运动矢量、与同位块相邻的块的运动矢量和(0,0)运动矢量中的至少一个确定为针对当前块的运动矢量候选,并且通过使用运动矢量候选生成运动矢量候选列表。可通过使用生成的运动矢量候选列表来推导当前块的运动矢量候选。可基于推导的运动矢量候选来确定当前块的运动信息。同位块的运动矢量或与同位块相邻的块的运动矢量可被称为时间运动矢量候选,并且重建的邻近块的运动矢量可被称为空间运动矢量候选。
编码设备100可计算当前块的运动矢量与运动矢量候选之间的运动矢量差(MVD),并且可对运动矢量差(MVD)执行熵编码。此外,编码设备100可对运动矢量候选索引执行熵编码并生成比特流。运动矢量候选索引可指示包括在运动矢量候选列表中的运动矢量候选之中的最佳运动矢量候选。解码设备可对包括在比特流中的运动矢量候选索引执行熵解码,并且可通过使用经过熵解码的运动矢量候选索引从包括在运动矢量候选列表中的运动矢量候选中选择解码目标块的运动矢量候选。此外,解码设备200可将经过熵解码的MVD与通过熵解码而提取的运动矢量候选相加,从而推导解码目标块的运动矢量。
比特流可包括指示参考画面的参考画面索引。参考画面索引可通过编码设备100被熵编码,并且随后作为比特流被用信号发送到解码设备200。解码设备200可基于推导的运动矢量和参考画面索引信息来生成解码目标块的预测块。
推导当前块的运动信息的方法的另一示例可以是合并模式。合并模式可表示合并多个块的运动的方法。合并模式可表示从邻近块的运动信息推导当前块的运动信息的模式。当应用合并模式时,可使用重建的邻近块的运动信息和/或同位块的运动信息来生成合并候选列表。运动信息可包括运动矢量、参考画面索引和画面间预测指示符中的至少一个。预测指示符可指示单向预测(L0预测或L1预测)或双向预测(L0预测和L1预测)。
合并候选列表可以是存储的运动信息的列表。包括在合并候选列表中的运动信息可以是零合并候选和新运动信息中的至少一个,其中,所述新运动信息是与当前块相邻的一个邻近块的运动信息(空间合并候选)、当前块的包括在参考画面内的同位块的运动信息(时间合并候选)和存在于合并候选列表中的运动信息的组合。
编码设备100可通过对合并标志和合并索引中的至少一个执行熵编码来生成比特流,并且可将比特流用信号发送到解码设备200。合并标志可以是指示是否针对每个块执行合并模式的信息,并且合并索引可以是指示当前块的邻近块中的哪个邻近块是合并目标块的信息。例如,当前块的邻近块可包括位于当前块的左侧的左侧邻近块、被布置在当前块上方的上方邻近块和在时间上与当前块相邻的时间邻近块。
跳过模式可以是将邻近块的运动信息照原样应用于当前块的模式。当应用跳过模式时,编码设备100可对哪个块的运动信息将被用作当前块的运动信息的事实的信息执行熵编码,以生成比特流,并且可将比特流用信号发送到解码设备200。编码设备100可不将关于运动矢量差信息、编码块标志和变换系数等级中的至少任意一个的语法元素用信号发送到解码设备200。
当前画面参考模式可表示当前块所属的当前画面内的先前重建的区域被用于预测的预测模式。这里,矢量可被用于指定先前重建的区域。可通过使用当前块的参考画面索引来对指示是否将在当前画面参考模式下对当前块进行编码的信息进行编码。可用信号发送指示当前块是否为在当前画面参考模式下编码的块的标志或索引,并且可基于当前块的参考画面索引来推导所述标志或索引。在当前块在当前画面参考模式下被编码的情况下,可将当前画面添加到针对当前块的参考画面列表,以便使当前画面位于参考画面列表中的固定位置或任意位置。所述固定位置可以是例如由参考画面索引0指示的位置,或者是列表中的最后一个位置。当将当前画面添加到参考画面列表,以便使当前画面位于任意位置时,可用信号发送指示所述任意位置的参考画面索引。
图6是示出变换和量化处理的示图。
如图6中所示,对残差信号执行变换处理和/或量化处理,以生成量化的等级信号。残差信号是原始块与预测块(即,帧内预测块或帧间预测块)之间的差。预测块是通过帧内预测或帧间预测生成的块。所述变换可以是首次变换、二次变换或者首次变换和二次变换两者。对残差信号的首次变换产生变换系数,并且对变换系数的二次变换产生二次变换系数。
从预先定义的各种变换方案中选择的至少一种方案被用于执行首次变换。例如,所述预定义的变换方案的示例包括离散余弦变换(DCT)、离散正弦变换(DST)和Karhunen-Loève变换(KLT)。通过首次变换生成的变换系数可经历二次变换。可根据当前块和/或当前块的邻近块的编码参数来确定用于首次变换和/或二次变换的变换方案。可选地,可通过变换信息的信令来确定变换方案。
由于残差信号通过首次变换和二次变换被量化,因此生成了量化的等级信号(量化系数)。依据块的帧内预测模式或块尺寸/形状,可根据对角线右上扫描、垂直扫描和水平扫描中的至少一个来扫描量化的等级信号。例如,当按照对角线右上扫描来扫描系数时,块形式的系数变为一维矢量形式。除了对角线右上扫描之外,可依据变换块的帧内预测模式和/或尺寸来使用水平地扫描二维块形式的系数的水平扫描或垂直地扫描二维块形式的系数的垂直扫描。扫描的量化的等级系数可被熵编码以被插入到比特流中。
解码器对比特流进行熵解码以获得量化的等级系数。可通过逆扫描以二维块形式排列量化的等级系数。对于逆扫描,可使用对角线右上扫描、垂直扫描和水平扫描中的至少一个。
然后,量化的等级系数可被反量化,然后根据需要被二次逆变换,并且最后根据需要被首次逆变换,以生成重建的残差信号。
如上所述,视频可被划分为多个块单元,然后被编码/解码。单元和块在本文中可互换使用。
图7是示出将一个块(例如,CTU、CTB或CU)划分为多个块(例如,CU、PU或TU)的各种实施例的示图。在图7中,w表示块的水平尺寸,h表示块的垂直尺寸。
例如,可使用四叉树结构将一个CTU递归地划分为多个CU。可确定将以一个CU为单位被应用的预测方法(帧内预测或帧间预测)。
例如,一个CU可被划分为M个PU。此外,例如,可使用四叉树结构将一个CU递归地划分为N个TU。这里,M和N可以是2或更大的正整数。
作为将视频划分为多个块的示例,可使用四叉树结构执行划分,然后使用二叉树结构执行划分。在下文中,该划分结构被定义为“四叉树后二叉树”划分。
例如,在图7示出的示例中,一个CTU可通过执行四叉树后二叉树划分而被划分,以递归地被划分为两个或四个CU。在四叉树后二叉树划分结构中,四叉树划分可比二叉树划分更早地被执行。这里,当一个块被划分为两个块时,可考虑使用二叉树(BT)结构来划分块。通过二叉树划分生成的两个块的尺寸和/或形式可彼此相同或彼此不同。当一个块被划分为四个块时,可考虑使用四叉树结构来划分该块。通过四叉树划分生成的四个块中的一些或全部的尺寸和/或形式可彼此相同或彼此不同。通过使用四叉树后二叉树划分结构来划分CTU而获得的CU可具有正方形或非正方形(矩形)形式。
当使用四叉树后二叉树划分结构划分CU时,可用信号发送第一标志和第一索引中的至少一个。
当第一标志指示第一值时,它可指示通过执行四叉树划分来划分对应CU。当第一标志指示第二值时,它可指示对应CU不再被划分。
当第一索引指示第一值时,它可指示对应CU不再被划分。当第一索引指示第二值时,它指示对应CU在水平方向上被对称地划分。当第一索引指示第三值时,它指示对应CU在垂直方向上被对称地划分。
指示是否执行划分和/或对应CU的划分类型是什么的第一标志和第一索引可作为单独语法元素用信号发送且作为一个语法元素用信号发送。可选地,指示是否按照四叉树划分的信息、指示是否按照二叉树划分的信息、以及指示二叉树划分类型的信息可分别被用信号发送,也可作为将它们的一部分或全部整合而成的语法元素而被用信号发送。
如在图7所示的示例中,二叉树对称划分可具有两种对称划分(分割)类型,即,水平方向上的对称划分或垂直方向上的对称划分。在这种情况下,二叉树中的叶节点可表示CU。另外,与通过二叉树对称划分获得的两个节点对应的块可具有相同的尺寸。
如在图7所示的示例中,二叉树非对称划分可具有两种非对称划分(分割)类型,即,在水平方向上的非对称划分或在垂直方向上的非对称划分。同样,二叉树中的叶节点可表示CU。此外,与通过二叉树非对称划分获得的两个节点对应的块可具有彼此不同的尺寸。与二叉树对称划分的情况不同,在二叉树非对称划分的情况下,可另外地用信号发送关于划分类型和/或划分比率的信息。
在四叉树后二叉树划分结构中,四叉树中的叶节点还可被划分为二叉树结构。在这种情况下,四叉树中的叶节点或二叉树中的叶节点可表示CU。
在四叉树后二叉树划分结构中,与最终叶节点对应的CU可以是无需进一步划分的预测和变换的单元。也就是说,在四叉树后二叉树划分结构中,CU、PU和TU可全部具有相同的尺寸。此外,可以以CU为单位确定预测方法(帧内预测或帧间预测)。在四叉树后二叉树划分结构中,可以以正方形或非正方形(矩形)块为单位执行帧内预测、帧间预测、变换、逆变换、量化、反量化、熵编码/熵解码和环内滤波处理。
CU可包括一个亮度(Y)分量块和两个色度(Cb/Cr)分量块。另外,CU可仅包括一个亮度分量块或仅包括两个色度分量块。另外,CU可仅包括一个亮度分量块、仅包括Cr色度分量块、或仅包括Cb色度分量块。
作为用于将视频划分为多个块的另一实施例,可使用二叉树后四叉树划分结构。“二叉树后四叉树划分”表示使用二叉树结构执行划分,然后使用四叉树结构执行划分的划分。“二叉树后四叉树划分”和“四叉树后二叉树划分”可仅在被应用于划分的树结构的顺序方面不同。因此,除了树结构的顺序之外,“四叉树后二叉树划分”的以上描述可被类似地应用于“二叉树后四叉树划分”。
作为将视频划分为多个块的另一实施例,可使用四叉树和二叉树组合划分结构。在这种情况下,可使用四叉树和二叉树组合划分结构将一个CTU递归地划分为两个或四个CU。在四叉树和二叉树组合划分结构中,可针对一个CU执行四叉树划分或二叉树划分。
对于视频或一个块(例如,CTU)内的亮度信号和色度信号,可应用彼此不同的块划分结构。例如,可通过使用彼此不同的块划分结构来划分特定条带(I条带)或对应条带中包括的块(例如,CTU)内的亮度信号和色度信号。可通过使用相同的块划分结构来划分其他条带(例如,P条带或B条带)或对应条带中包括的块(例如,CTU)内的亮度信号和色度信号。这里,当色度信号包括Cb信号和Cr信号时,不同的帧内预测模式可被用于Cb信号和Cr信号,并且Cb信号和Cr信号的帧内预测模式可分别被熵编码/熵解码。可通过使用Cr信号的帧内预测模式对Cb信号的帧内预测模式进行熵编码/熵解码。相反地,可通过使用Cb信号的帧内预测模式对Cr信号的帧内预测模式进行熵编码/熵解码。
图8是示出通过执行四叉树后二叉树划分来划分一个块(例如,CTU或CU)且用信号发送关于是否执行划分和/或划分类型的信息的实施例的示图。
是否执行四叉树划分可通过QT划分标志被用信号发送。是否执行二叉树划分可通过BT划分标志被用信号发送。二叉树划分的类型可通过BT划分类型被用信号发送。
当前块(例如,CU)具有正方形、三角形或矩形形式,并且可对应于四叉树的叶节点或二叉树的叶节点。另外,可以以当前块的尺寸、形式和/或深度为单位执行帧内预测、帧间预测、变换、逆变换、量化、反量化、熵编码/熵解码和环内滤波处理。
当前块被划分为至少一个对称和/或非对称子块,并且可针对每个子块推导彼此不同的帧内预测和/或帧间预测信息。
图9是示出将当前块划分为两个子块的各种实施例的示图。
在图9中,通过执行划分而获得的两个子块分别被定义为第一子块和第二子块,其中,第一子块被称为子块a,第二子块被称为子块B。
当当前块被划分为至少一个对称子块和/或非对称子块时,子块的最小尺寸可被定义为M×N。在这种情况下,M和N可以是相同或不同的正整数。例如,4×4的块可被定义为子块的最小尺寸。
当当前块被划分为至少一个对称子块和/或非对称子块时,指示子块是否以块(例如,CU)为单位被划分的标志和/或关于子块的划分类型的索引信息可被用信号发送,并且可基于当前块的编码参数被可变地推导。
当当前块被划分为至少一个对称子块和/或非对称子块时,可不对等于或小于特定块尺寸或特定块深度的子块执行进一步的块划分。关于特定块尺寸或特定块深度的信息可以以视频参数集VPS、序列参数集SPS、画面参数集PPS、并行块头、条带头、CTU和CU中的一个或更多为单位被熵编码/熵解码。
当当前块被划分为至少一个非对称子块时,划分出的子块可具有除正方形和/或矩形形式之外的任何其它形式。
例如,当当前块被划分为两个子块时,当前块可被划分为通过根据从当前块的左上角到右下角的对角边界对其进行划分而获得的三角形形式的两个子块或者被划分为通过根据从当前块的右上角到左下角的对角边界对其进行划分而获得的三角形形式的两个子块。可选地,当前块可被划分为通过根据从左上角到右下角的对角边界对其进行划分并且根据从右上角到左下角的对角边界对其进行划分而获得的三角形形式的四个子块。三角形形式的两个子块可被称为以非对称划分类型划分出的非对称子块。
图9的(a)示出不执行划分的当前块(CU)。
例如,当如图9的(b)中所示将当前块划分为两个子块时,将当前块的不包括右下区域(第二子块(子块B))的剩余区域定义为第一子块(子块A)。
编码器/解码器可存储包括多个非对称划分类型的表或列表。当在编码器中确定当前块的非对称划分类型时,通过参考所述表或列表来确定索引和标志,并且所述索引或标志可被发送到解码器。可选地,编码器/解码器可基于当前块的编码参数来确定当前块的非对称划分类型。另外,编码器/解码器可从与当前块邻近的块确定当前块的非对称划分类型。在这种情况下,可基于诸如邻近块的划分类型的编码参数来确定当前块的非对称划分类型。
当当前块被划分为至少一个非对称子块时,每个子块可具有等于或小于当前块的宽度w和/或高度h的水平尺寸和/或垂直尺寸。
例如,当如图9的(b)至图9的(e)中所示将当前块划分为两个子块时,第二子块可具有3w/4×3h/4的尺寸。
另外,第二子块与当前块的水平长度和/或垂直长度的比率可在编码器和解码器中被设置为预定比率,或者可基于用信号从编码器发送到解码器的信息来设置。
当前块(例如,CU)可表示四叉树的叶节点或二叉树的叶节点。为了对当前块进行编码/解码而执行的诸如帧内预测、帧间预测、首次变换/二次变换、逆变换、量化、反量化、熵编码/熵解码、环内滤波等的编码/解码处理中的至少一个可以以子块的尺寸、形式和/或深度为单位来执行。
当当前块被划分为至少一个或更多个对称子块和/或非对称子块时,可通过使用推导在子块之间不同的画面间预测信息、推导在子块之间不同的帧内预测信息以及推导子块之间的帧内预测/帧间预测组合信息的至少一种方法来推导当前块的预测信息。
当当前块被划分为至少一个对称子块和/或非对称子块时,用于指示子块是否以块(例如,CU)为单位被划分的标志和/或用于子块的划分类型的索引信息可通过比特流被用信号发送,并且可基于当前块的编码参数被可变地推导。在这种情况下,可通过使用图9的(b)至图9的(j)中的非对称子块划分类型中的至少一种类型来定义子块的划分类型,然后执行编码/解码。例如,当使用图9的(b)至图9的(e)的四种类型时,指示是否执行基于子块的编码和解码的标志和子块划分索引可通过比特流被用信号发送,或者可基于当前块的编码参数被可变地推导。这里,当显式地发送索引信息时,可使用以下熵编码/熵解码方法中的至少一个,并且可在执行二值化之后通过使用CABAC(ae(v))来最终执行编码/解码。
截断莱斯二值化方法
K阶指数哥伦布二值化方法
限制K阶指数哥伦布二值化方法
定长二值化方法
一元二值化方法
截断一元二值化方法
可基于当前块的条带类型、画面类型和并行块组类型中的至少一个来确定当前块是否被划分为至少一个对称子块和/或非对称子块。这里,条带类型可表示I条带、P条带和B条带中的至少一个。另外,画面类型可表示I画面、P画面和B画面中的至少一个。此外,并行块组可表示包括至少一个并行块的画面划分类型,并且并行块组可表示I并行块组、P并行块组和B并行块组中的至少一个。此外,条带可被用作与画面和并行块组相同的含义。
另外,可基于当前块的尺寸来确定当前块是否被划分为至少一个对称子块和/或非对称子块。例如,当当前块具有水平尺寸w及垂直尺寸h时,可通过将w×h或w+h的值与特定大小的值进行比较来确定是否将被划分为对称子块和/或非对称子块。
另外,可根据当前块的编码模式来确定当前块是否被划分为至少一个对称子块和/或非对称子块。例如,当当前块为跳过模式或合并模式时,可将当前块划分为一个或更多个对称子块和/或非对称子块。
当当前块被划分为至少一个对称子块和/或非对称子块时,每个子块之间的运动矢量值、运动矢量差值、参考画面、参考画面列表、预测列表利用标志值、用于通过将子块相加来生成最终预测块的加权值可彼此不同。
图10是示出根据本发明的帧内预测的示图。
当前块的帧内预测可包括:推导帧内预测模式的步骤S1010、配置参考样点的步骤S1020和/或执行帧内预测的步骤S1030。
在步骤S1010,可推导当前块的帧内预测模式。可通过使用利用邻近块的帧内预测模式的方法、从比特流对当前块的帧内预测模式进行熵编码/熵解码的方法、使用邻近块的编码参数的方法或使用颜色分量的帧内预测模式的方法来推导当前块的帧内预测模式。根据使用邻近块的帧内预测模式的方法,可通过使用利用邻近块的帧内预测模式推导的至少一个帧内预测模式、邻近块的至少一个帧内预测模式的组合和至少一个MPM来推导当前块的帧内预测模式。
在步骤S1020,可通过执行以下至少一项来配置参考样点:参考样点选择、参考样点填充和参考样点滤波。
在步骤S1030,可通过执行以下至少一项来执行帧内预测:非角度预测、角度预测、基于位置信息的预测、颜色分量间预测和基于模板匹配的帧内预测。在步骤S1030,可另外执行对预测样点的滤波。
为了推导当前块的帧内预测模式,可使用至少一个重建的邻近块。重建的邻近块的位置可以是预定义的固定位置,或者可以是通过编码/解码推导的位置。在下文中,编码/解码可表示熵编码和熵解码。例如,当具有W×H尺寸的当前块的左上角侧样点的坐标为(0,0)时,邻近块可以是以下块中的至少一个:与坐标(-1,H-1)相邻的块、与坐标(W-1,-1)相邻的块、与坐标(W,-1)相邻的块、与坐标(-1,H)相邻的块和与坐标(-1,-1)相邻的块以及上述块的邻近块。这里,W和H可表示当前块的宽度(W)和高度(H)的长度或样点的数量。
不可用的邻近块的帧内预测模式可被预定帧内预测模式替换。所述预定帧内预测模式可以是例如DC模式、平面模式、垂直模式、水平模式和/或对角线模式。例如,当邻近块定位在画面、条带、并行块和编码树单元中的至少一个预定单元的边界之外时,邻近块被帧间预测,或者当邻近块以PCM模式被编码时,对应块可被确定为不可用。可选地,当邻近块不可用时,不替换且不使用对应块的帧内预测模式。
当前块的帧内预测模式可被推导为预定位置邻近块的帧内预测模式或至少两个邻近块的帧内预测模式的统计值。在本说明书中,统计值可表示平均值、最大值、最小值、众数、中值、加权平均值和插值中的至少一个。
可选地,可基于邻近块的尺寸推导当前块的帧内预测模式。例如,可将具有相对大尺寸的邻近块的帧内预测模式推导为当前块的帧内预测模式。可选地,可通过对具有相对大尺寸的块的帧内预测模式分配大的权重来计算统计值。可选地,可预定义或用信号发送被分配相对大的权重的模式。例如,可将相对大的权重分配给垂直方向模式、水平方向模式、对角线方向模式和非方向模式中的至少一个。可将相同的权重分配给上述模式。
可选地,可考虑邻近块的帧内预测模式是否为角度模式。例如,当邻近块的帧内预测模式为非角度模式时,可将非角度模式推导为当前块的帧内预测模式。可选地,可将除非角度模式之外的其它邻近块的帧内预测模式推导为当前块的帧内预测模式。
为了推导当前块的帧内预测模式,可构建一个或更多个最可能模式(MPM)列表。MPM列表包括一个或更多个MPM候选模式,并且MPM候选模式可包括已完成编码/解码的至少一个空间邻近块的帧内预测模式和/或给定的帧内预测模式。
图11是示出当配置MPM列表时使用的当前块的空间邻近块的示图。
例如,如图11中所示,假设配置MPM列表的帧内预测模式的数量是6,将被包括在MPM列表中的候选模式可被顺序地推导至最多k个(k是6或更小的正整数)。在下面的描述中,例如,k为5。
从邻近块推导MPM候选模式的顺序可由编码器/解码器任意地设置。例如,可按照左侧块L、上方块A、左下方块BL、右上方块AR和左上方块AL的顺序推导MPM候选模式。此外,可按照左侧块L和上方块A的顺序推导MPM候选模式。作为非方向模式的平面模式和/或DC模式可被认为是具有高出现概率的帧内预测模式。因此,当平面模式和/或DC模式不被包括在从空间邻近块推导的五个帧内预测模式中时,平面模式和/或DC模式可被包括在MPM列表中作为MPM候选模式。也就是说,平面模式和/或DC模式可总是被包括在MPM候选列表中。
这里,平面模式和/或DC模式位于MPM列表中的顺序可在编码器/解码器中被任意设置。例如,可按照左侧块L、上方块A、平面、DC、左下方块BL、右上方块AR和左上方块AL的顺序来配置MPM列表。另外,可按照左侧块L、上方块A、平面和DC的顺序来配置MPM列表。
可执行冗余检查以确定配置的MPM列表中的帧内预测模式是否是彼此不同的预测模式。当冗余检查之后被包括在MPM列表中的帧内预测模式的数量小于MPM列表可包括的帧内预测模式的最大数量(例如,6个)时,MPM列表中包括的帧内预测模式中的具有方向性的帧内预测模式被添加预定偏移和/或从具有方向性的帧内预测模式减去预定偏移的帧内预测模式可被另外包括在MPM列表中。这里,偏移值不限于1,而可以是2或更大的整数。
当通过上述处理没有填满MPM列表时,例如,当MPM候选模式的数量小于6时,MPM列表以垂直模式、水平模式和对角线模式的顺序被填充,使得MPM列表可被配置有最多六个彼此不同的帧内预测模式。默认模式(垂直模式、水平模式和对角线模式)被填充的顺序不限于上述示例,并且可以是在编码器/解码器中被先前定义的任何次序。当帧内预测模式的数量最多为67时,模式0指示平面模式,模式1指示DC模式,并且模式2至模式66可指示方向模式。另外,垂直模式可以是模式50,水平模式可以是模式18,并且对角线模式可以是模式2、模式34和/或模式66。
例如,包括在如上所述配置的MPM列表中的候选模式可根据预定标准被重新布置。
图12是示出用于重新布置MPM列表中的候选模式的实施例的示图。
针对MPM列表中包括的每个候选模式生成预测块,并且在所生成的预测块与当前块的邻近参考样点之间的边界区域中获得绝对差和(SAD)。此后,可通过以从具有较小SAD的帧内预测模式到具有较高SAD的帧内预测模式的顺序(递增顺序)重新布置MPM候选模式来重新配置MPM列表。
可选地,可针对多个MPM候选模式中的每一个计算SAD,然后可利用允许的最大数量的MPM候选模式中的候选模式来配置MPM列表。这里,MPM列表可按照SAD增加的顺序被配置有候选模式。
当配置MPM列表时,可针对预定尺寸的当前块配置一个MPM列表。当所述预定尺寸的当前块被划分为多个子块时,配置的MPM列表可用于每个子块。在这种情况下,当前块和子块的尺寸可以是例如M×N,其中,M和N可分别是预定整数。例如,当前块和/或子块可具有CTU、CU、信令单元(SU)、QTMax、QTMin、BTMax、BTMin、4×4、8×8、16×16、32×32、64×64、128×128、256×256、4×8、8×16、16×8、32×64、32×8、4×32等中的至少一个。在这种情况下,QTMax和QTMin可分别指示可被按照四叉树划分的块的最大尺寸和最小尺寸。另外,BTMax和BTMin可分别指示可被按照二叉树划分的块的最大尺寸和最小尺寸。在下文中,子块的尺寸可表示子块划分结构。
可使用MPM标志和/或MPM索引(mpm_idx)对当前块的帧内预测模式进行编码/解码。MPM标志可指示与当前块的帧内预测模式相同的候选模式是否被包括在MPM列表中。MPM索引可指示被包括在MPM列表中的候选模式中与当前块的帧内预测模式相同的候选。
例如,当MPM标志为1时,可通过使用MPM索引mpm_idx和被编码/解码的当前块的邻近单元的帧内预测模式中的至少一个来推导当前块(例如,亮度分量)的帧内预测模式。例如,当MPM标志为1时,可根据上述方法配置MPM列表,然后可将由MPM索引指示的帧内预测模式推导为当前块的帧内预测模式。
当根据预定标准重新布置所配置的MPM列表时,不发送MPM索引,并且可将MPM列表中的任意位置处的候选模式推导为当前块的帧内预测模式。所述预定标准可以是例如上述边界SAD。MPM列表中的任意位置可以是例如MPM列表的第一(索引0)位置。
例如,当MPM标志为0时,可配置包括一个或更多个候选模式的第二MPM列表(第2MPM列表)。另外,可对指示当前块的帧内预测模式是否与被包括在第二MPM列表中的候选模式相同的第二MPM标志(第2MPM标志)进行编码/解码。
当第二MPM标志是1时,第二MPM索引(2nd_mpm_idx)可被另外编码/解码。在这种情况下,可使用第二MPM索引和被编码/被解码的相邻单元的帧内预测模式中的至少一个来推导当前块(例如,亮度分量)的帧内预测模式。
可基于当前块的邻近块的帧内预测模式来确定包括在第二MPM列表中的候选模式。例如,可使用当前块的左侧块或上方块的帧内预测模式。可选地,当与当前块的上方相邻的子块具有彼此不同的一个或更多个帧内预测模式时,对应帧内预测模式可被包括在第二MPM列表中。类似地,当与当前块的左侧相邻的子块具有彼此不同的一个或更多个帧内预测模式时,所述一个或更多个帧内预测模式可被包括在第二MPM列表中。可选地,可通过使用比当前块更早完成编码/解码的块(作为当前条带中的被帧内预测的块)的帧内预测模式来配置第二MPM列表。
当MPM标志和第二MPM标志都为0时,可使用亮度分量残差帧内预测模式索引(rem_intra_luma_pred_mode)来对当前块(例如,亮度分量)的帧内预测模式进行编码/解码。
此外,可使用色度分量残差帧内预测模式索引(intra_chroma_pred_mode)和/或对应亮度块的帧内预测模式中的至少一个来推导色度分量的帧内预测模式。稍后将描述基于亮度块的帧内预测模式推导色度分量的帧内预测模式的方法。
在下文中,将描述其它实施例,其中,使用当前块周围的被编码的信息来配置被包括在MPM列表(和/或第二MPM列表)中的一个或更多个候选模式。
例如,对于所有帧内预测模式中的每一个,可生成当前块的预测样点。当生成预测块时,如参照图12所述,可计算当前块的邻近参考样点与生成的预测样点之间的边界SAD。此后,模式以递增SAD的顺序被布置,并且MPM列表(和/或第二MPM列表)可包括至多为MPM列表(和/或第二MPM列表)可包括的候选模式的最大数量的具有较小SAD的来自帧内预测的候选模式。
在图12所示的实施例中,当8×8的当前块被帧内预测时,可针对编码器/解码器中允许的所有帧内预测模式中的每一个生成预测块。可计算在位于左侧列、左上方样点和/或上方行处的边界区域(虚线区域)与位于每个生成的预测块的上方行中的周围参考样点(灰色区域)之间的边界SAD。帧内预测模式可以以递增SAD的顺序布置。帧内预测模式可根据布置的顺序作为候选模式被包括在MPM列表(和/或第二MPM列表)中。
当使用一条参考样点线或更多条参考样点线时,可针对参考样点线中的每条参考样点线执行边界SAD的计算。可选地,当计算边界SAD时,可针对当前块的预测块的左侧列考虑一个或更多个列,并且类似地,可针对当前块的预测块的上方行考虑一个或更多个行。
作为其他实施例,在当前条带中搜索完成编码/解码的其他区域之后,可针对与当前块最相似的块应用上述方法(使用边界SAD的方法)。在这种情况下,在应用上述方法或根据对应块中的帧内预测模式生成与当前块最相似的块和预测块之后,获得两个块之间的差值最小的帧内预测模式,然后该帧内预测模式被包括在MPM列表(和/或第二MPM列表)中。
指示MPM列表(和/或第二MPM列表)已经通过使用以上方法中的至少一个方法被配置的信息可被编码/解码或由解码器隐式地推导。当对指示MPM列表(和/或第2MPM列表)已经被配置的信息进行编码/解码时,可使用以下熵编码/熵解码方法中的至少一个,并且可在执行二值化之后通过使用CABAC(ae(v))来最终执行编码/解码。
截断莱斯二值化方法
K阶指数哥伦布二值化方法
限制K阶指数哥伦布二值化方法
定长二值化方法
一元二值化方法
截断一元二值化方法
根据涉及推导帧内预测模式的方法的本发明的另一实施例,可通过使用不同颜色分量的帧内预测模式来推导当前块的帧内预测模式。例如,当当前块为色度块时,可使用与色度块对应的亮度块的帧内预测模式来推导色度块的帧内预测模式。作为与色度块对应的亮度块,可存在一个或更多个亮度块。可依据亮度块的位置、色度块的位置、亮度块的左上样点位置、色度块的左上样点位置、亮度块的尺寸、色度块的尺寸、形状和编码参数中的至少任意一个来确定对应亮度块。可选地,可依据亮度块的尺寸、形状和编码参数中的至少任意一个来确定对应亮度块。
与色度块对应的亮度块可由多个分区组成。多个分区中的全部或部分可具有其不同的帧内预测模式。可基于被包括在对应亮度块中的多个分区中的全部或部分来推导色度块的帧内预测模式。在这种情况下,可选择性地使用一些分区,其中,基于色度块的块尺寸、形状、深度信息等与亮度块(多个分区中的全部或部分)的块尺寸、形状、深度信息等的比较来选择所使用的分区。可选择性地使用亮度块中的位于与色度块中的预定位置对应的位置处的分区。所述预定位置可指色度块中的角样点(例如,左上样点)位置或色度块中的中心样点位置。可基于亮度块/色度块的左上位置、亮度块/色度块的一半水平尺寸、亮度块/色度块的一半垂直尺寸来确定中心样点位置。例如,可通过将亮度块/色度块的一半水平尺寸在水平方向上添加到亮度块/色度块的左上位置来确定中心样点的x轴方向的位置。此外,可通过将亮度块/色度块的一半垂直尺寸在垂直方向上添加到亮度块/色度块的左上位置来确定中心样点的y轴方向的位置。这里,与色度块的中心样点位置对应的亮度块的位置可表示亮度块的中心样点位置。
根据本发明的使用不同颜色分量块的帧内预测模式(即,颜色分量间帧内预测模式)来推导一个颜色分量块的帧内预测模式的方法不限于使用与色度块对应的亮度块的帧内预测模式的示例。例如,可通过使用或共享与色度块对应的亮度块的MPM列表和MPM索引mpm_idx中的至少任意一个来推导色度块的帧内预测模式。
图13是示出亮度块与色度块之间的关系的示例性示图。
在图13中示出的示例中,颜色分量的采样率为4:2:0,并且亮度块A、B、C和D中的至少一个与一个色度块对应。
参照图13,可通过使用与一个色度块中的左上位置(0,0)处的样点对应的亮度块A的帧内预测模式、与该一个色度块中的中心位置(nS/2,nS/2)处的样点对应的亮度块D的帧内预测模式或者与该一个色度块中的另一中心位置((nS/2)-1,(nS/2)-1)处的样点对应的亮度块B的帧内预测模式来推导该一个色度块的帧内预测模式。色度块中的预定位置不限于(0,0)、((nS/2)-1,(nS/2)-1)和(nS/2,nS/2)。例如,所述预定位置可以是右上位置、左下位置和/或右下位置。色度块的中心位置可以是(W/2,H/2),其中,W是块宽度,H是块高度。此外,色度块的中心位置可以是((W/2)-1,(H/2)-1)。
可基于色度块的形状来选择所述预定位置。例如,在色度块具有正方形形状的情况下,所述预定位置可以是中心样点位置。在色度块具有长方形形状的情况下,所述预定位置可以是左上样点位置。可选地,所述预定位置可以是具有正方形形状的色度块中的左上样点的位置或具有长方形形状的色度块中的中心样点的位置。
根据另一实施例,可通过使用尺寸等于色度块的亮度块的一个或更多个帧内预测模式的统计数字来推导该色度块的帧内预测模式。
在图13中示出的示例中,与亮度块A和D的帧内预测模式的平均值对应的模式或与尺寸等于色度块的亮度块A、B、C和D的帧内预测模式的平均值对应的模式被推导为该色度块的帧内预测模式。
当存在可用亮度块的多个帧内预测模式时,可选择它们中的全部或部分。该选择是基于色度块中的预定位置或者基于色度块、亮度块或色度块和亮度块两者的尺寸、形状和/或深度来执行的。可通过使用亮度块的所选择的帧内预测模式来推导色度块的帧内预测模式。
例如,将与色度块中的左上样点位置(0,0)对应的亮度块A的尺寸和与该色度块中的中心样点位置(nS/2,nS/2)对应的亮度块D的尺寸进行比较,并且可将具有更大尺寸的亮度块D的帧内预测模式用于推导该色度块的帧内预测模式。
可选地,当与色度块中的预定位置对应的亮度块的尺寸等于或大于该色度块的尺寸时,通过使用该亮度块的帧内预测模式来推导该色度块的帧内预测模式。
可选地,当色度块的尺寸在预定范围内时,通过使用与该色度块中的左上样点位置(0,0)对应的亮度块的帧内预测模式来推导该色度块的帧内预测模式。
可选地,当色度块的尺寸在所述预定范围内时,将与该色度块的预定位置(0,0)对应的亮度块的尺寸和布置在该色度块的另一预定位置(nS/2,nS/2)处的亮度块的尺寸进行比较,并且通过使用具有更大尺寸的亮度块的帧内预测模式来推导该色度块的帧内预测模式。
可从通过比特流用信号发送的信息、块(色度块、亮度块或色度块和亮度块两者)的尺寸(和/或深度)的信息以及在编码器/解码器中预定义的信息中的至少任意一条信息推导所述预定范围。
可选地,当色度块具有长方形形状时,可通过使用与该色度块中的中心样点位置(nS/2,nS/2)对应的亮度块的帧内预测模式或与该色度块中的另一中心样点位置((nS/2)-1,(nS/2)-1)对应的亮度块的帧内预测模式来推导该色度块的帧内预测模式。
在亮度块的多个分区中,可使用具有与色度块相同形状的分区。例如,当色度块具有正方形形状或非正方形形状时,可使用在亮度块的多个分区中选择的具有正方形形状或非正方形形状的分区。
在参照图13描述的示例中,使用亮度块的帧内预测模式推导色度块的帧内预测模式的方法还适用于亮度块的帧内预测模式照其原样被用作色度块的帧内预测模式的情况。推导色度块的帧内预测模式的方法不限于使用对应亮度块的帧内预测模式的方法。例如,可从用于推导亮度块的帧内预测模式的、包括MPM列表和MPM索引mpm_idx的信息推导色度块的帧内预测模式。
可选地,可使用与色度块中的预定位置的样点对应的亮度块的帧内预测模式来构建色度块的MPM列表。在这种情况下,色度块的mpm_idx信息可被编码并被用信号发送。可以以与构建亮度块的MPM列表类似的方式构建色度块的MPM列表。色度块的MPM候选可包括邻近色度块的帧内预测模式和/或与该色度块对应的亮度块的帧内预测模式。
当MPM标志为0时,可配置包括至少一个帧内预测模式的第二MPM列表,并且可通过使用第二MPM索引(2nd_mpm_idx)来推导当前块的帧内预测模式。这里,可对指示当前块的帧内预测模式是否被包括在第二MPM列表中的第二指示符(例如,第二MPM标志)进行编码/解码。与第一MPM列表类似,可通过使用邻近块的帧内预测模式来配置第二MPM列表。这里,包括在第一MPM列表中的帧内预测模式可不被包括在第二MPM列表中。MPM列表的数量不限于1或2,可使用N个MPM列表。
当当前块的帧内预测模式没有被包括在多个MPM列表之一中时,可对当前块的亮度分量帧内预测模式进行编码/解码。此外,可基于相关联的亮度分量帧内预测模式来推导色度分量帧内预测模式并对色度分量帧内预测模式进行编码/解码。
当当前块被分区为多个子块时,为了推导每个子块的帧内预测模式,可应用所描述的方法中的至少一种。
子块的尺寸或形式或者尺寸和形式两者可以是预定的尺寸或块或者预定的尺寸和块两者(例如,4×4),或者可根据当前块的尺寸或形式或者尺寸和形式两者被确定。可选地,可基于当前块的邻近块是否被分区来确定子块的尺寸,或者可基于当前块的邻近块的帧内预测模式来确定子块的尺寸。例如,可基于以下边界来对当前块进行分区:邻近块的帧内预测模式在该边界处是不同的。可选地,可基于邻近块是帧内编码块还是帧间编码块来对当前块进行分区。
可对表示通过使用邻近块的帧内预测模式推导当前块的帧内预测模式的指示符(例如,NDIP_flag)进行编码/解码。所述指示符可按照当前块和子块中的至少一个单元被编码/解码。这里,当当前块或子块的尺寸与预定尺寸或预定尺寸范围对应时,可对所述指示符进行编码/解码。
可基于当前块的水平长度或垂直长度来执行确定当前块的尺寸是否与预定尺寸对应。例如,当水平长度或垂直长度是能够被分区的长度时,确定当前块的尺寸与预定尺寸对应。
可通过视频参数集(VPS)、序列参数集(SPS)、画面参数集(PPS)、自适应参数集(APS)、条带头和并行块头中的至少一个来用信号发送帧内预测信息。在预定块尺寸或更小的块尺寸的情况下,可不用信号发送至少一条帧内预测信息。这里,可使用先前编码/解码的块(例如,更高等级的块)的帧内预测信息。
可基于推导出的帧内预测模式来配置用于帧内预测的参考样点。在下文的描述中,当前块可表示预测块或尺寸/形式小于预测块的尺寸/形式的子块。可通过使用与当前块相邻的重建的至少一个样点或通过使用样点的组合来配置参考样点。此外,可对配置的参考样点应用滤波。
用于配置参考样点的重建样点线的数量或位置或者数量和位置两者可根据当前块在编码树块内的位置而变化。可将多条重建样点线上的每个重建样点照其原样用作参考样点。可选地,可将预定滤波器应用于重建样点,并且可通过使用滤波后的重建样点来生成参考样点。应用了滤波器的重建样点可被包括在相同的重建样点线中或不同的重建样点线中。
可用信号发送指示多条参考样点线是否被用于预测的指示符。例如,诸如mrl_enabled_flag的指示符可被包括在SPS、PPS和条带头中的至少一个中以便被用信号发送。标志可以是指示使用单条参考样点线还是使用多条参考样点线的指示符。
当所述指示符指示使用多条参考样点线时,还用信号发送参考样点线索引。例如,用信号发送mrl_index。因此,可确定使用了哪些参考样点线。
当指示符mrl_index具有值0时,利用最接近当前块的第一参考采样线。另一方面,当指示符mrl_index具有值1时,利用第二接近当前块的第二参考采样线。当指示符mrl_index具有值2时,使用第三接近当前块的第三参考采样线。第一参考样点线至第四参考样点线分别对应于图14中所示的重建样点线1至重建样点线4。
依据帧内预测模式、MPM信息、当前块的尺寸(宽度和高度)、CTU的上边界的存在或不存在以及颜色分量中的至少一个来用信号发送指示符mrl_index。当未用信号发送指示符mr1_index时,使用与当前块相邻的第一参考样点线。
例如,当帧内预测模式是预定模式时,可用信号发送指示符mrl_index。帧内预测模式可以是对应邻近块的帧内预测模式中的至少一个或当前块的帧内预测模式。所述预定模式是非方向预测模式、方向预测模式、垂直模式或水平模式、偶数模式和奇数模式中的至少一个。例如,当与当前块的左边界或上边界相邻的邻近块的帧内预测模式是方向模式之一时,可用信号发送指示符mrl_index。可选地,当邻近块的帧内预测模式是偶数模式中的一个或奇数模式中的一个时,可用信号发送指示符mrl_index。
例如,可基于当前块的MPM信息来用信号发送指示符mrl_index。MPM信息包括MPM标志、MPM索引、MPM列表和MPM候选中的至少一个。例如,当用于当前块的帧内预测模式的MPM标志指示匹配时,可用信号发送指示符mrl_index。可选地,当任何一个方向预测模式存在于MPM候选列表内或者仅方向预测模式存在于MPM候选列表内时,可用信号发送指示符mrl_index。可选地,当任何一个非方向预测模式存在于MPM候选列表中时,可用信号发送指示符mrl_index。可选地,根据指示符mrl_index不同地用信号发送当前块的MPM信息。例如,当指示符mrl_index具有不同于0的值时,可不用信号发送至少一条MPM信息。例如,当指示符mrl_index具有不同于0的值时,可不用信号发送MPM标志或剩余模式信息。另一方面,当指示符mrl_index具有不同于0的值时,可用信号发送MPM索引,并且可使用MPM索引来推导当前块的帧内预测模式。例如,当指示符mrl_index具有不同于0的值时,可在不解析MPM标志的情况下确定MPM模式。
例如,当当前块的尺寸(宽度或高度)在预定尺寸范围内时,可用信号发送指示符mrl_index。例如,当尺寸(宽度或高度)大于预定尺寸(例如,4)时,可用信号发送指示符mrl_index。
例如,可依据当前块是否位于CTU的上边界处来用信号发送指示符mrl_index。例如,当当前块位于CTU的上边界处时,可不用信号发送指示符mrl_index。
例如,当当前块的颜色分量是亮度信号时,可用信号发送指示符mrl_index,并且当颜色分量是色度信号时,可不用信号发送指示符mrl_index。
可选地,指示符mrl_index指将被选择性地使用的参考样点线。例如,可总是使用与当前块相邻的第一参考样点线,并且可选择性地使用由指示符mrl_index指示的参考样点线。
当使用多条参考样点线时,针对每条参考样点线确定是否应用滤波。例如,基于帧内预测模式和块尺寸/块形状,可将滤波应用于与当前块相邻的第一参考样点线,但是可不将滤波应用于当前块周围的第二参考样点线和后续的参考样点线。可选地,滤波可仅被应用于一条参考样点线。例如,滤波可仅被应用于左侧参考样点线或上方参考样点线。可依据当前块的形状、尺寸和帧内预测模式中的至少一个来确定哪条参考样点线经受滤波。可依据当前块的宽度与高度之间的尺寸比较或宽高比来确定当前块的形状。
可将配置的参考样点表示为ref[m,n],并且可将通过将滤波器应用于配置的参考样点而获得的样点表示为rec[m,n]。这里,m或n可以是表示样点的位置的预定整数值。当当前块内的左上方样点的位置是(0,0)时,可将当前块的左上方参考样点的位置设置为(-1,-1)。
图14是用于描述多条重建样点线的示图。
可通过选择与当前块相邻的一条或更多条重建样点线来构建参考样点。例如,在图14中,可选择多条重建样点线中的一条以构建参考样点。
例如,为了构建参考样点,可固定地或自适应地选择多条重建样点线中的特定重建样点线或者可自适应地选择任意重建样点线。
在另一实施例中,为了构建参考样点,可从图14中示出的多条重建样点线选择一条或更多条重建样点线,并且可组合所选择的重建样点线。
例如,如等式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至H+W-1)
ref[-1,y]=(rec[-2,y]+3×rec[-1,y]+2)>>2,(y=0至H+W-1)
可选地,可基于从当前块到对应重建样点的距离和当前块的帧内预测模式中的至少一个,使用多个重建样点的平均值、最大值、最小值、中值和众数值中的至少一个来构建参考样点。
可选地,可基于连续的重建样点的样点值中的每个之间的变化(变化量)来构建参考样点。例如,可基于以下中的至少一项来构建参考样点:关于两个连续的重建样点的值相差是否大于阈值的确定,以及关于连续的重建样点的值是连续地变化还是不连续地变化的确定。例如,当rec[-1,-1]的值与rec[-2,-1]的值相差大于阈值时,可将ref[-1,-1]的值确定为具有rec[-1,-1]的值或确定为与通过将预定权重应用于rec[-1,-1]的值而获得的加权平均值对应的值。例如,随着重建样点与当前块之间的距离减小,连续的重建样点的值中的每个值改变n,并且因此将ref[-1,-1]的值表示为“ref[-1,-1]=rec[-1,-1]-n”。
在不同的实施例中,参照图14,可选择两条或更多条重建样点线以构建参考样点。例如,可固定地选择包括重建样点线1和重建样点线2的两条线,或者可选择范围从重建样点线1至重建样点线4的四条线以构建参考样点。
可选地,可自适应地选择两条或更多条重建样点线以构建参考样点。例如,可固定地选择一条重建样点线,并且可在其它重建样点线中自适应地选择一条或更多条重建样点线以构建参考样点。
可在编码器/解码器中预定义固定选择的重建样点线。对于预定义固定选择的重建样点线的情况,可不用信号发送关于固定选择的重建样点线的信息。
可以以指示符或索引的形式用信号发送关于自适应地选择的重建样点线的信息。可基于当前块的编码参数或与当前块邻近的块的编码参数中的至少一个来确定自适应地选择的重建样点线。例如,可基于当前块的帧内预测模式和尺寸/形状或者与当前块邻近的块的帧内预测模式和尺寸/形状中的至少一个来确定自适应地选择的重建样点线。在这种情况下,可不用信号发送选择所必要的信息。
参考样点线可包括一个或更多个样点。例如,参考样点线可包括与等于当前块的宽度(即,水平尺寸)或高度(即,垂直尺寸)的长度对应的样点。作为另一示例,参考样点线可包括与为当前块的宽度或高度的两倍的长度对应的样点。作为又一示例,参考样点线可包括与等于N个样点(N为1、2、3、……)加上当前块的宽度和高度的总和的两倍的长度对应的样点。也就是说,参考样点线可包括与2×(W+H)+N(其中,W和H是当前块的宽度和高度,并且N是1或更大的整数)对应的参考样点。
构建与当前块的上部相邻的参考样点的方法和构建与当前块的左部相邻的参考样点的方法可不同。例如,位于当前块上方的参考样点线的数量和位于当前块左侧的参考样点线的数量可不同。例如,根据当前块的帧内预测模式和当前块的宽度或高度中的至少一个,与当前块的上部相邻的参考样点线的数量可以是一,而与当前块的左部相邻的参考样点线的数量可以是二。例如,当前块上方的参考样点线的长度和位于当前块的左侧的参考样点线的长度可不同。例如,参考样点线的长度可根据当前块的帧内预测模式和当前块的宽度或高度中的至少一个而变化。
每条参考样点线可具有不同的长度。例如,参照图14,重建样点线2至4的长度可比重建样点线1的长度长与一个或更多个样点对应的长度。
参考样点线的长度可针对每条重建样点线而不同。例如,重建样点线n可比重建样点线n-1长或短与m个样点对应的长度。在图14中示出的示例中,重建样点线n比重建样点线n-1长与一个样点对应的长度。
如上所述,可对关于是仅使用最近的参考样点线还是使用多条参考样点线来构建参考样点的确定信息进行编码/解码。例如,可在序列、画面、条带、并行块、CTU、CU、PU和TU中的至少一个的级别对所述确定信息进行编码/解码。此外,可在更高级别用信号发送关于多条参考样点线中的每条参考样点线的可用性的信息。
当当前块的上边界或左边界与画面、条带、并行块和编码树块(CTB)中的至少一个的边界对应时,可不同地设置在构建参考样点时使用的重建样点线的数量、位置和配置中的至少一个。例如,当构建两条或更多条参考样点线时,在当前块的上边界与画面、并行块、条带和编码树块(CTB)中的至少一个的边界对应时,可构建与当前块的上部相邻的一条参考样点线。例如,当当前块的上边界与CTU的上边界对应时,可配置一条参考样点线,否则,可配置两条或更多条参考样点线。在这种情况下,由于使用了在CTU的上边界处的仅一条参考样点线,因此可减小用于存储参考样点线的参考样点的数据的线缓冲器的大小。
当选择参考样点时,可对包含将被使用的参考样点的块执行可用性确定和参考样点填充。例如,当包含参考样点的块可用时,可使用对应的参考样点。另一方面,当包含参考样点的块不可用时,可利用一个或更多个可用邻近参考样点来填充块中的不可用参考样点。
当参考样点位于画面、并行块、条带或编码树块(CTB)中的至少一个的边界外侧时,可将参考样点确定为不可用。当利用约束帧内预测(CIP)对当前块进行编码时,在包括参考样点的块已经在帧间预测模式下被编码/解码的情况下,将参考样点确定为不可用。
图15是用于描述使用可用样点来替换不可用样点的处理的示图。
当确定重建的邻近样点不可用时,可使用作为可用样点的重建的邻近样点来替换不可用样点。例如,如图15中所示,当存在可用样点和不可用样点两者时,可使用一个或更多个可用样点来替换一个或更多个不可用样点。
可按照预定顺序来使用可用样点的值替换不可用样点的样点值。用于替换不可用样点的可用样点可以是位于与不可用样点相邻处的可用样点。当没有与不可用样点相邻的可用样点时,可使用最早的或最接近的可用样点来替换不可用样点。替换不可用样点的顺序可以是例如从左下方到右上方。可选地,替换顺序可以是从右上方到左下方。具体地,替换顺序可以是从左上角到右上方和/或左下方。可选地,替换顺序可以是从右上方和/或从左下方到左上角。
例如,可从作为左下样点位置的位置0开始利用可用样点的值填充不可用样点。也就是说,可使用值“a”来填充前四个不可用样点,并且可使用值“b”来填充后续的13个不可用样点。
例如,可使用可用样点的组合值来填充不可用样点。例如,可使用分别与不可用样点的线的两端相邻的可用样点的平均值或插值来填充不可用样点。也就是说,使用值“a”来填充前四个不可用样点,并且可使用值“b”与值“c”的平均值来填充接下来的13个不可用样点,或者可通过对值“b”和值“c”进行插值来填充接下来的13个不可用样点。
可选地,可使用可用样点的样点值“b”与“c”之间的任意中间值来填充所述13个不可用样点。在这种情况下,可使用各个不同的值来填充不可用样点。例如,随着不可用样点到具有值“a”的可用样点的距离减小,将使用更接近值“a”的值来填充该不可用样点。例如,不可用样点越接近具有值“b”的可用样点,填充该不可用样点的值越接近值“b”。也就是说,可基于不可用样点与具有值“a”或“b”的可用样点之间的距离来确定不可用样点的值。为了使用可用样点来替换不可用样点,可自适应地使用包括上述方法的一种或更多种替换方法。使用可用样点来替换不可用样点的方法可作为包含在比特流中的信息被用信号发送,或者可在编码器/解码器中被预先确定。可选地,可根据预定的确定方法来推导替换方法。例如,可基于值“a”与“b”之间的差或基于不可用样点的数量来确定替换方法。更具体地,可通过将两个可用样点的值之间的差与阈值进行比较和/或通过将不可用样点的数量与阈值进行比较来确定替换方法。例如,当两个可用样点的值之间的差大于阈值时,和/或当不可用样点的数量大于阈值时,可将不可用样点替换为具有彼此不同的值。可基于每个预定单元来执行对使用可用样点替换不可用样点的方法的选择。例如,可基于每个视频、每个序列、每个画面、每个条带、每个并行块、每个编码树单元(CTU)、每个编码单元(CU)、每个预测单元(PU)、每个变换单元(TU)或每个块来选择替换方法。此时,可基于以每个预定单元为基础被用信号发送的信息来确定对使用可用样点替换不可用样点的方法的选择,或者可基于每个预定单元来推导对使用可用样点替换不可用样点的方法的选择。可选地,可在编码器/解码器中预先确定针对替换方法的选择方法。
当参考样点位于预定位置处时,可自动执行填充而无需确定包括参考样点的块是否可用。例如,参照图15,当当前块的左上角样点的位置(x,y)是(0,0)时,针对位于x坐标或y坐标等于或大于W+H(x=W+H或更大或者y=W+H或更大)的(x,y)处的样点,可能无法确定样点可用性,并且可使用邻近参考样点来填充这些样点。
例如,可在不对样点ref[W+H,-2]执行可用性确定的情况下使用样点ref[W+H-1,-2]的值填充样点ref[W+H,-2]。作为另一示例,可在不对样点ref[W+H,-3]和样点ref[W+H+1,-3]执行可用性确定的情况下使用样点ref[W+H-1,-3]的值填充样点ref[W+H,-3]和样点ref[W+H+1,-3]。也就是说,可通过使用在同一条样点线上的最接近的样点来对位于位置(x,y)(x等于或大于W+H或者y等于或大于W+H)处的样点执行填充,而无需对其执行可用性确定。
当当前块的左上角样点的位置是(0,0)时,将针对位于当前块上方的样点中的位于位置(x,y)(x等于或大于W且小于W+H)处的样点执行可用性确定,并且随后将根据可用性确定的结果执行填充。将针对位于当前块的左侧的样点中的位于位置(x,y)(y等于或大于H且小于W+H)处的样点执行可用性确定,并且将根据可用性确定执行填充。
例如,当当前块的左上角样点的位置是(0,0)时,可针对与rec[x,-1](x的范围为从-1至W+H-1)对应的样点和/或与rec[-1,y](y的范围为从0至H+W-1)对应的样点执行可用性确定和填充。
对于填充,可使用多条参考样点线。例如,当对与当前块相邻(即,最接近)的第一参考样点线执行填充时,可使用与当前块第二接近的第二参考样点线。例如,可根据等式2执行填充。也就是说,可通过使用从第一重建参考样点线选择的样点和从第二重建参考样点线选择的样点的加权平均值来推导第一参考样点线的样点值。在这种情况下,选择的重建样点可以是位于当前样点位置处或与当前样点位置相邻的位置处的样点。
[等式2]
ref[x,-1]=(rec[x,-2]+3×rec[x,-1]+2)>>2,(x=0~H+W-1)
可对如上构建的样点中的一个或更多个参考样点执行滤波。可基于当前块的帧内预测模式、当前块的尺寸和当前块的形状中的至少一个来自适应地执行滤波。例如,可自适应地确定对是否应用滤波、滤波器类型、滤波器强度和滤波器系数的确定中的至少一个。
例如,可针对多条参考样点线中的每条参考样点线确定是否应用滤波。例如,可将滤波应用于与当前块相邻的第一参考样点线,并且可不将滤波应用于第二参考样点线。例如,滤波后的值和未经滤波的值都可被用于同一参考样点。
例如,可根据当前块的帧内预测模式、当前块的尺寸和当前块的形状中的至少一个来选择性地应用3抽头滤波器、5抽头滤波器、7抽头滤波器和N抽头滤波器中的至少一个。在这种情况下,M是等于或大于3的整数。
例如,可根据当前块的帧内预测模式、尺寸和形状中的至少一个来选择性地使用具有不同形状的滤波器。图16示出各种滤波器形状。
可通过将当前块的宽度(水平尺寸)与当前块的高度(垂直尺寸)进行比较来确定当前块的形状。例如,可根据当前块是水平长方形块还是垂直长方形块来自适应地确定对是否应用滤波器、滤波器类型、滤波器强度和滤波器系数的确定中的至少一个。可选地,可根据当前块是矩形块还是正方形块来自适应地确定对是否应用滤波、滤波器类型、滤波器强度和滤波器系数的确定中的至少一个。
可基于推导出的帧内预测模式和构建的参考样点来执行针对当前块的帧内预测。
例如,可针对当前块执行非方向帧内预测。非方向帧内预测的模式可以是DC模式、平面模式和LM模式中的至少一个。
针对DC模式,可使用构建的参考样点中的一个或更多个参考样点的平均值来执行预测。在这种情况下,可将滤波应用于位于当前块的边界处的一个或更多个预测样点(也称为预测的样点)。可基于当前块的尺寸和当前块的形状中的至少一个来自适应地执行DC预测。此外,可基于当前块的尺寸和形状中的至少一个来确定在DC模式下使用的参考样点的范围。
图17是用于描述根据当前块的形状的帧内预测的示图。
例如,当当前块是正方形块时,如图17的(a)中所示,可通过使用位于当前块上方的参考样点和位于当前块的左侧的参考样点的平均值来执行DC预测。
例如,当当前块是非正方形块时,可选择性地使用与当前块的左端和上端相邻的邻近样点。当当前块是矩形块时,如图17的(b)中所示,可使用与当前块的左边和上边中的较长边相邻的参考样点的平均值来执行预测。
例如,当当前块的尺寸与预定尺寸对应或落入预定范围内时,在位于当前块的上方或左侧的参考样点中选择预定数量的参考样点,并且使用所选择的参考样点的平均值来执行预测。所述预定尺寸可以是在编码器/解码器中预设的固定尺寸N×M。在这种情况下,N和M是大于0的整数,并且N和M可彼此相同或不同。所述预定范围可表示用于选择用于当前块的预测的参考样点的阈值。可利用最小值和最大值中的至少一个来设置该阈值。所述最小值和/或所述最大值可以是在编码器/解码器中预设的一个或更多个固定值,或者可以是由编码器编码并随后用信号发送的一个或更多个可变值。
例如,一个或更多个平均值可被用于执行预测。当当前块是正方形块或非正方形块时,可使用第一平均值或第二平均值中的至少一个,其中,第一平均值是位于当前块上方的参考样点的平均值,第二平均值是位于当前块左侧的参考样点的平均值。当前块的DC预测值可以是第一平均值或第二平均值。可选地,当前块的DC预测值可以是通过对第一平均值和第二平均值加权而获得的加权和。例如,第一平均值和第二平均值的权重可相同(即,1:1)。
根据上述方法,可使用移位运算来计算所有的DC值。例如,即使在表示当前块的宽度、高度或者宽度与高度之和的样点长度不是2的幂的情况下,也可使用所述方法。可将所述方法应用于亮度DC预测和色度DC预测两者。可选地,可将所述方法应用于亮度DC预测或色度DC预测。
例如,当当前块是非正方形块时,可基于当前块的宽度或高度来执行预测。例如,可通过将上方参考样点和左侧参考样点的值之和除以当前块的较长边(即,宽度或高度)的长度来获得预测值。在这种情况下,可通过移位运算来执行使用与宽度和高度中较长的一个对应的值的除法运算。
例如,可使用多条参考样点线来执行DC预测。例如,如图17的(c)中所示,可使用两条参考样点线来执行预测。
例如,可将包括在两条参考样点线中的参考样点的平均值确定为当前块的DC预测值。
可选地,可将不同的权重应用于当前块的第一邻近线的参考样点和第二邻近线的参考样点。例如,通过将权重3:1应用于第一参考样点线中的每个样点和第二参考样点线中的每个样点来计算第一参考样点线中的每个样点和第二参考样点线中的每个样点的加权平均值(即,(3×第一线参考样点+第二线参考样点+2)>>2),并且可将所述加权平均值的平均值确定为当前块的DC预测值。可选地,可获得((3×第一线参考样点-第二线参考样点)>>1)的结果值,并且可将这些值的平均值确定为当前块的DC预测值。权重不限于以上示例,并且可使用任意权重。在这种情况下,参考样点线距当前块越近,应用于该参考样点线的权重就越大。可使用的参考样点线的数量不限于两个,并且可将三条或更多条参考样点线用于预测。
针对平面模式,可利用加权和来执行预测,其中,所述加权和是从至少一个参考样点到位于当前块中的帧内预测目标样点的距离的函数。
可对当前块的参考样点或当前块的预测样点(即,预测的样点)执行滤波。例如,在将滤波应用于参考样点之后,可执行平面预测,并且随后可对一个或更多个预测样点执行滤波。在预测样点中,可对位于当前块的上边界或左边界的一条、两条或N条样点线中的样点执行滤波。
为了执行平面预测,可使用一个或更多个参考样点的加权和。例如,如图17的(d)中所示,可使用五个参考样点。例如,为了生成针对目标位置[x,y]的预测样点,可使用参考样点r[-1,-1]、r[x,-1]、r[-1,y]、r[W,-1]和r[-1,H]。在这种情况下,W和H分别是当前块的宽度和高度。例如,可使用等式3生成预测样点pred[x,y]。在等式3中,a、b、c、d和e表示权重。N可以是log2(a+b+c+d+e)。
[等式3]
pred[x,y]=(a×r[-1,-1]+b×r[x,-1]+c×r[-1,y]+d×r[W,-1]+e×r[-1,H])>>N
作为另一示例,可使用多条参考样点线来执行平面预测。例如,可使用两条参考样点线的加权和来执行平面预测。作为另一示例,可使用两条参考样点线中的参考样点的加权和来执行平面预测。在这种情况下,从第二参考样点线选择的参考样点可以是与从第一参考样点线选择的参考样点相邻的样点。也就是说,当位于位置(-1,-1)处的参考样点被选择时,可选择位于位置(-2,-2)处的参考样点。可通过计算所选择的参考样点的加权和来执行平面预测,并且在这种情况下,可使用与用于DC预测的权重相同的权重。
方向预测模式是指水平模式、垂直模式和具有预定角度的角度模式中的至少一个。
在水平模式或垂直模式下,使用沿直线方向(即,沿水平方向或垂直方向)布置的一个或更多个参考样点来执行预测。可使用多条参考样点线。例如,当使用两条参考样点线时,可使用沿水平线或垂直线布置的两个参考样点来执行预测。类似地,当使用N条参考样点线时,可使用水平线或垂直线上的N个参考样点。
对于垂直模式,第一参考样点线上的第一参考样点(例如,r[x,-1])和第二参考样点线上的第二参考样点(例如,r[x,-2])的统计值可被用于执行方向预测。
例如,可通过计算(3×r[x,-1]+r[x,-2]+2)>>2的结果值来确定垂直模式的预测值。可选地,可通过计算(3×r[x,-1]-r[x,-2]+1)>>1的结果值来确定垂直模式的预测值。在另一种选择中,可通过计算(r[x,-1]+r[x,-2]+1)>>1的值来确定垂直模式的预测值。
例如,可考虑垂直线上的每个样点值之间的变化。例如,可通过计算(r[x,-1]+(r[x,-1]–r[x,-2])>>1)的结果值来确定垂直模式的预测值。在这种情况下,N可以是等于或大于1的整数。可将固定值用作N。可选地,N可随着预测目标样点的y坐标的增加而增加。例如,N=y+1。
即使是针对水平模式,也可使用用于垂直模式的一种或更多种方法。
针对特定角度的角度模式,可使用从当前块的帧内预测目标样点沿倾斜方向布置的一个或更多个参考样点或者使用与位于所述倾斜方向的参考样点邻近的一个或更多个样点来执行预测。在这种情况下,可使用总共N个参考样点,其中,N可以是2、3、4、5或6。还可以通过将N抽头滤波器中的至少一个应用于N个参考样点来执行预测。N抽头滤波器的示例包括2抽头滤波器、3抽头滤波器、4抽头滤波器、5抽头滤波器和6抽头滤波器。此时,参考样点中的至少一个可位于当前块上方,而其余参考样点可位于当前块的左侧。位于当前块上方的参考样点(或位于当前块左侧的参考样点)可位于同一条线或不同的线中。
根据另一实施例,可基于位置信息执行帧内预测。在这种情况下,可对位置信息进行编码/解码,并且可将位于上述位置处的重建样点块推导为当前块的帧内预测块。可选地,可由解码器搜索与当前块相似的块,并且可将找到的块推导为当前块的帧内预测块。可在编码器或解码器中执行对相似块的搜索。执行搜索的范围(搜索范围)可限于预定范围。例如,搜索范围可限于包括当前块的画面内的重建样点块。可选地,搜索范围可限于包括当前块的CTU或限于预定CU。也就是说,可通过在CTU内的重建样点中搜索与当前块相似的块来执行基于位置信息的帧内预测。可使用模板来执行搜索。例如,将与当前块相邻的一个或更多个重建样点作为模板,并且在CTU中搜索与模板相似的样点。
当CTU仅由帧内编码模式组成时或者当亮度块和色度块具有不同的分区结构时,可执行基于位置信息的帧内预测。例如,对于帧间预测可用条带(例如,P条带或B条带),可用信号发送指示当前CTU仅由帧内编码模式组成的信息。在这种情况下,当信息指示当前CTU仅由帧内编码模式组成时,可执行基于位置信息的帧内预测。可选地,当当前CTU中的亮度块和色度块具有不同的分区结构时(例如,当dual_tree或separate_tree为值1时),基于位置信息的帧内预测可以是可用的。另一方面,当CTU包括帧内编码块和帧间编码块时或者当亮度块和色度块具有相同的分区结构时,基于位置信息的帧内预测可以是不可用的。
根据另一实施例,执行颜色分量间帧内预测。例如,可从当前块的对应的重建亮度分量对色度分量进行帧内预测。可选地,可从当前块的对应的重建色度分量Cb对一个色度分量Cr进行帧内预测。
颜色分量间帧内预测包括颜色分量块重建步骤、预测参数推导步骤和/或颜色分量间预测执行步骤。术语“颜色分量”可指亮度信号、色度信号、红色、绿色、蓝色、Y、Cb和Cr中的至少任意一个。可通过使用第二颜色分量、第三颜色分量和第四颜色分量中的至少任意一个来执行对第一颜色分量的预测。用于预测的颜色分量的信号可包括原始信号、重建信号、残差信号和预测信号中的至少任意一个。
当针对第二颜色分量目标块执行帧内预测时,可使用与第二颜色分量目标块对应的第一颜色分量块对应块的样点、第一颜色分量对应块的邻近块的样点、或第一颜色分量块对应块的样点和第一颜色分量对应块的邻近块的样点两者。例如,当针对色度分量块Cb或Cr执行帧内预测时,可使用与色度分量块Cb或Cr对应的重建亮度分量块Y。
当基于亮度分量预测色度分量时,可以根据等式4执行预测。
[等式4]
PredC(i,j)=α·recL’(i,j)+β
在等式4中,PredC(i,j)表示当前块的经过预测的色度样点,recL(i,j)表示当前块的重建的亮度样点。此时,recL’(i,j)可以是经过下采样的重建的亮度样点。可通过使当前块周围的重建的邻近亮度样点与重建的邻近色度样点之间的回归误差最小化来推导参数α和β。
存在两种用于使用亮度分量来预测色度分量的模式。这两种模式可包括单模型模式和多模型模式。当针对当前块从亮度分量预测色度分量时,单模型模式可使用一个线性模型。多模型模式可使用两个线性模型。
在多模型模式下,可将与当前块相邻的样点(即,邻近亮度样点和邻近色度样点)分类为两组。也就是说,可推导针对所述两组中的每组的参数α和β。此外,可根据用于对与当前块相邻的亮度样点进行分类的规则来对当前块的亮度样点进行分类。
例如,可计算用于将邻近样点分类为两组的阈值。可使用重建的邻近亮度样点的平均值来计算阈值。然而,阈值的计算不限于此。可使用本说明书中认可的各种统计值中的至少一个来代替平均值。当邻近样点的值大于阈值时,可将邻近样点分类为第一组。否则,可将邻近样点分类为第二组。
尽管在上述实施例中描述了多模型模式使用两个线性模型,但是本发明不限于此,并且可涵盖使用两个或更多个线性模型的其它情况。当使用N个线性模型时,可将样点分类为N个组。为此,可计算N-1个阈值。
如上所述,当从亮度分量预测色度分量时,可使用线性模型。在这种情况下,线性模型可包括简单线性模型(以下称为“LM1”)、复杂线性模型(以下称为“LM2”)和复杂滤波器线性模型(以下称为“LM3”)。可通过使当前块周围的重建的亮度样点与当前块周围的对应的重建的色度样点之间的回归误差最小化来推导上述模型的参数。
图18是用于描述用于推导模型的参数的“当前块的邻近样点”(以下称为“邻近数据集”)的示图。
用于推导LM1的参数的邻近数据集可由一对样点组成,其中,该一对样点包括图18中示出的线区域B和线区域C中的每个区域中的亮度样点和色度样点。用于推导LM2和LM3的参数的邻近数据集可由一对样点组成,其中,该一对样点包括图18中示出的线区域B、线区域C、线区域E和线区域F中的每个区域中的亮度样点和色度样点。
然而,邻近数据集不限于上述示例。例如,为了涵盖当前块中的亮度样点与色度样点之间的各种线性关系,可将N个邻近数据集用于每种模式。例如,N可以是2或更大的整数,并且可以特别是3。
可使用上方模板和左侧模板两者来计算线性模型的参数。可选地,存在两种LM模式(LM_A模式和LM_L模式),并且可在LM_A模式和LM_L模式下分别使用上方模板和左侧模板。也就是说,在LM_A模式下,可仅使用上方模板来获得线性模型参数。当当前块的左上角样点的位置是(0,0)时,可将上方模板扩展到从(0,-n)至(W+H-1,-n)的范围。在这种情况下,n是等于或大于1的整数。也就是说,在LM_L模式下,可仅使用左侧模板来获得线性模型参数。可将左侧模板扩展到从(-n,0)至(-n,H+W-1)的范围。在这种情况下,n是等于或大于1的整数。
可使用若干样点的二次幂来推导线性模型的参数。当当前色度块是非正方形块时,可基于当前块的水平边和垂直边中的较短边上的样点的数量来确定用于推导线性模型的参数的样点。根据一个实施例,当当前块的尺寸是n×m(其中,n>m)时,可例如通过均匀地执行子采样来选择与当前块的上边界相邻的n个邻近样点中的m个样点。在这种情况下,用于推导线性模型的参数的样点的数量可以是2m。作为另一示例,当当前块的尺寸是n×m(其中,n>m)时,可不使用与当前块的上边界相邻的n个邻近样点中的m个样点。例如,在所述n个样点中,可不使用距当前块的水平边和垂直边中的较短边最远的m个样点。在这种情况下,用于推导线性模型的参数的样点的数量可以是n(与当前块的上边界相邻的n-m个样点+与当前块的左边界相邻的m个样点)。
可选地,当对色度分量块Cr执行帧内预测时,可使用色度分量块Cb。可选地,当对第四颜色分量块执行帧内预测时,可使用均与第四颜色分量块对应的第一颜色分量块、第二颜色分量块和第三颜色分量中的至少一个。
可基于当前目标块的尺寸和形状中的至少任意一个来确定是否执行颜色分量间帧内预测。例如,当目标块的尺寸等于编码树单元(CTU)的尺寸、大于预定尺寸或在预定尺寸范围内时,可对目标块执行颜色分量间帧内预测。可选地,当目标块的形状是预定形状时,可对目标块执行颜色分量间帧内预测。所述预定形状可以是正方形形状。在这种情况下,当目标块具有长方形形状时,可不对目标块执行颜色分量间帧内预测。另外,当所述预定形状是长方形形状时,上述实施例相反地操作。
可选地,可基于从与预测目标块对应的对应块和所述对应块的邻近块中选择的至少任意一个块的编码参数来确定是否对所述预测目标块执行颜色分量间帧内预测。例如,当所述对应块在约束帧内预测(CIP)环境中通过帧内预测方法已经被预测时,可不对所述预测目标块执行颜色分量间帧内预测。可选地,当所述对应块的帧内预测模式是预定模式时,可对所述预测目标块执行颜色分量间帧内预测。进一步可选地,可基于所述对应块的CBF信息和所述对应块的邻近块的CBF信息中的至少任意一个来确定是否执行颜色分量间帧内预测。编码参数不限于块的预测模式,而是可使用能用于编码/解码的各种参数。
下面将描述颜色分量块重建步骤。
当通过使用第一颜色分量块来预测第二颜色分量块时,可重建第一颜色分量块。例如,当图像具有YCbCr颜色空间时并且当颜色分量的采样率为4:4:4、4:2:2和4:2:0中的一个时,颜色分量的块尺寸可彼此不同。因此,当使用具有与第二颜色分量块不同的尺寸的第一颜色分量块来预测第二颜色分量块时,可重建第一颜色分量块,使得第一颜色分量和第二颜色分量的块尺寸相等。重建块可包括作为对应块的第一颜色分量块中的样点和第一颜色分量块的邻近块中的样点中的至少任意一个。
图19是示出重建颜色分量块的处理的示例性示图。
在图19的(a)中,p1[x,y]表示第一颜色分量块中的位置(x,y)处的样点。在图19的(b)中,p1’[x,y]表示通过重建第一颜色分量块而产生的重建块中的位置(x,y)处的样点。
当第一颜色分量块具有比第二颜色分量块更大的尺寸时,第一颜色分量块被下采样,以具有与第二颜色分量块的尺寸相等的尺寸。可通过将N抽头滤波器应用于一个或更多个样点(N是等于或大于1的整数)来执行下采样。针对下采样,可使用等式5至等式9中的至少任意一个等式。在选择性地使用各种下采样方法中的任意一种下采样方法的情况下,编码器可选择一种下采样方法作为预定的下采样方法。例如,编码器可选择具有最佳效果的下采样方法。所选择的下采样方法被编码并被用信号发送到解码器。用信号发送的信息可以是指示下采样方法的索引信息。
[等式5]
p1’[x,y]=(p1[2x,2y]+p1[2x,2y+1]+1)>>1
[等式6]
p1’[x,y]=(p1[2x+1,2y]+p1[2x+1,2y+1]+1)>>1
[等式7]
p1’[x,y]=(p1[2x-1,2y]+2×p1[2x,2y]+p1[2x+1,2y]+2)>>2
[等式8]
p1’[x,y]=(p1[2x-1,2y+1]+2×p1[2x,2y+1]+p1[2x+1,2y+1]+2)>>2
[等式9]
p1’[x,y]=(p1[2x-1,2y]+2×p1[2x,2y]+p1[2x+1,2y]+p1[2x-1,2y+1]+2×p1[2x,2y+1]+p1[2x+1,2y+1]+4)>>3
对两个或更多个样点执行的下采样方法不限于等式5至等式9的示例中的任意一个。例如,可从由样点p1[2x,2y]和样点p1[2x,2y]的邻近样点组成的样点组选择用于计算下采样值p1’[x,y]的两个或更多个样点。所述邻近样点可以是在p1[2x-1,2y-1]、pl[2x-1,2y]、p1[2x-1,2y+1]、p1[2x,2y-1]、p1[2x,2y+1]、p1[2x+1,2y-1]、p1[2x+1,2y]和p1[2x+1,2y+1]中选择的样点。可通过计算两个或更多个样点的平均值或加权平均值来执行下采样。
可选地,可以以在一个或更多个样点中选择特定样点的方式来执行下采样。在这种情况下,以下等式(等式10至等式13)中的至少任意一个可被用于下采样。
[等式10]
p1’[x,y]=p1[2x,2y]
[等式11]
p1’[x,y]=p1[2x,2y+1]
[等式12]
p1’[x,y]=p1[2x+1,2y]
[等式13]
p1’[x,y]=p1[2x+1,2y+1]
当第一颜色分量块具有比第二颜色分量块更小的尺寸时,第一颜色分量块被上采样以被重建,使得第一颜色分量块和第二颜色分量块的尺寸相等。在这种情况下,根据等式14执行上采样。
[等式14]
p1’[2x,2y]=p1[x,y],
p1’[2x+1,2y]=(p1[x,y]+p1[x+1,y]+1)>>1,
p1’[2x,2y+1]=(p1[x,y]+p1[x,y+1]+1)>>1,
p1’[2x+1,2y+1]=(p1[x+1,y]+p1[x,y+1]+1)>>1
在重建处理中,可将滤波器应用于一个或更多个样点。例如,可将滤波器应用于第一颜色分量块(即,对应块)、该对应块的邻近块、第二颜色分量块(即,目标块)和该目标块的邻近块中的至少任意一个中所包括的一个或更多个样点。
在上述参考样点重建步骤中,可用信号发送与多条参考样点线中的预定参考样点线对应的指示符。在这种情况下,在重建处理中,使用与用信号发送的指示符对应的预定参考样点线来执行重建。例如,当指示符mrl_index具有值0时,使用与第一颜色分量对应块相邻的第一参考样点线和第二参考样点线来执行重建处理。可选地,当指示符mrl_index具有值1时,使用与第一颜色分量对应块相邻的第二参考样点线和第三参考样点线来执行重建处理。可选地,当指示符mrl_index具有值3时,使用与第一颜色分量对应块相邻的第三参考样点线和第四参考样点线来执行重建处理。由指示符mrl_index指示的参考样点线可被用于第二颜色分量目标块。
在重建处理中,当第二颜色分量块(目标块)的边界或第一颜色分量块(对应块)的边界是预定区域的边界时,可不同地选择用于重建操作的参考样点。在这种情况下,上方的参考样点线的数量可与左侧的参考样点线的数量不同。预定区域可以是画面、条带、并行块、CTU和CU中的至少任意一个。
例如,当第一颜色分量对应块的上边界是预定区域的边界时,上方的参考样点可不被用于重建操作,而仅左侧的参考样点可被用于重建操作。当第一颜色分量对应块的左边界是预定区域的边界时,左侧的参考样点可不被用于重建操作,而仅上方的参考样点可被用于重建操作。可选地,上方的N条参考样点线和左侧的M条参考样点线都可被用于重建操作,其中,N可小于M。例如,当上边界与预定区域的边界对应时,N可以是1。另外,当左边界与预定区域的边界对应时,M可以是1。
可选地,可通过使用第一颜色分量对应块的上方的N条参考样点线和左侧的M条参考样点线来执行重建操作,而不管预定区域的边界是第一颜色分量块的上边界还是第一颜色分量块的左边界。
图20是示出通过使用多条上方参考样点线和/或多条左侧参考样点线来执行重建的实施例的示图。
如图20的(a)中所示,可使用四条上方参考样点线和四条左侧参考样点线来执行重建。
例如,当第一颜色分量对应块的上边界或左边界是预定区域的边界时,用于重建操作的上方参考样点线的数量和左侧参考样点线的数量可彼此不同。例如,如图20的(b)至图20的(d)中所示,可将以下组合中的任意组合用于重建操作:两条上方参考样点线和四条左侧参考样点线;一条上方参考样点线和三条左侧参考样点线;以及一条上方参考样点线和两条左侧参考样点线。
用于重建操作的参考样点线的数量不限于以上组合。也就是说,可使用N条上方参考样点线和M条左侧参考样点线,其中,N和M彼此相等或不同。当对应块的上边界和左边界两者都与预定区域的边界对应时,N和M可彼此相等。也就是说,N和M可均为1。可选地,在相同条件下,可将N设置为小于M。这是因为上方参考样点线比左侧参考样点线需要更多的资源(存储器)。
可选地,如图20的(e)中所示,垂直长度和水平长度不大于第一颜色分量对应块的垂直长度和水平长度的区域内的一个或更多个参考样点可被用于重建操作。
当执行重建处理时,可依据在以下块中选择的至少任意一个块的块尺寸、块形状和编码参数中的任意一个来不同地设置第一颜色分量对应块的参考样点:第一颜色分量对应块、第一颜色分量对应块的邻近块、第二颜色分量目标块和第二颜色分量目标块的邻近块。
例如,在第一颜色分量对应块和第一颜色分量对应块的邻近块中的样点中,不使用编码模式为帧间编码模式的块中的样点,而仅将编码模式为帧内编码模式的块中的样点用于重建操作。
图21是示出用于根据对应块的帧内预测模式或编码参数进行重建的参考样点的示例性示图。
可根据第一颜色分量对应块的帧内预测模式来不同地执行第一颜色分量块的参考样点的重建。例如,如图21的(a)中所示,当对应块的帧内预测模式是非角度模式(诸如DC模式和平面模式)或者是使用了上方参考样点和左侧参考样点两者的角度模式时,将上方参考样点和左侧参考样点的至少一个样点组用于重建操作。可选地,如图21的(b)中所示,当对应块的帧内预测模式是使用了该对应块的上方参考样点和右上方参考样点两者的角度模式时,使用上方参考样点和右上方参考样点的至少一个样点组来执行对应块的重建操作。可选地,如图21的(c)中所示,当对应块的帧内预测模式是使用了左侧参考样点和左下方参考样点两者的角度模式时,可使用左侧参考样点和左下方参考样点的至少任意一个样点组来对对应块进行重建。
可选地,根据第一颜色分量对应块和第一颜色分量对应块的邻近块中的至少任意一个的量化参数来不同地选择用于对第一颜色分量对应块进行重建的参考样点。例如,如图21的(d)所示,将布置在所述对应块的上方的上方块中的参考样点用于所述对应块的重建,其中,所述上方块的邻近块具有相对小的量化参数值QP。
可选地,当第二颜色分量目标块具有长方形形状时,布置在具有正方形形状的第一颜色分量对应块周围的参考样点被用于重建操作。
可选地,当第二颜色分量目标块被分区为两个子块(例如,两个16×8尺寸的子块)时并且当第一颜色分量对应块是32×16尺寸的块时,可将布置在32×32尺寸的块周围的参考样点用于对应块的重建操作。在这种情况下,在重建的32×32尺寸的块周围的参考样点可被共享为与第二颜色分量对应块的分区出的两个子块中的布置在下方的第二16×8尺寸的子块对应的第一颜色分量块的参考样点。
在下文中,将描述预测参数推导步骤。
可使用重建的第一颜色分量对应块的参考样点和第二颜色分量预测目标块的参考样点中的至少任意一个来推导预测参数。在下文中,术语“第一颜色分量”和“第一颜色分量块”可分别指重建的第一颜色分量和重建的第一颜色分量块。
图22是示出当第二颜色分量预测目标块是4×4的块时的示例性的重建的第一颜色分量对应块的示图。在这种情况下,参考样点线的数量可以是N。
如图22的(a)中所示,可使用布置在重建的第一颜色分量对应块或第二颜色分量预测目标块的上方和左侧的参考样点来推导预测参数。
例如,可基于第一颜色分量对应块的帧内预测模式,通过自适应地使用重建的第一颜色分量的参考样点来推导预测参数。在这种情况下,可基于第一颜色分量对应块的帧内预测模式来自适应地使用第二颜色分量的参考样点
如图22的(a)中所示,当第一颜色分量对应块的帧内预测模式是非角度模式(诸如DC模式或平面模式)或者是使用上方参考样点和左侧参考样点两者的角度模式时,可使用在第一颜色分量对应块的上方和左侧的参考样点。
如图22的(b)或图22的(c)中所示,当第一颜色分量对应块的帧内预测模式是使用上方参考样点的非角度模式时,可使用在第一颜色分量对应块的上方的参考样点。
如图22的(d)或图22的(e)中所示,当第一颜色分量对应块的帧内预测模式是使用左侧参考样点的角度模式时,可使用在第一颜色分量对应块的左侧的参考样点。
可选地,当第一颜色分量对应块的帧内预测模式是角度模式时,可将在每个预测模式中使用的参考样点用作第一颜色分量的参考样点。例如,当帧内预测模式是垂直模式时,可使用图22的(b)中所示的参考样点。当帧内预测模式是水平模式时,可使用图22的(d)中所示的参考样点。当帧内预测模式是右上对角线模式时,可使用图22的(c)中所示的参考样点。当帧内预测模式是左下对角线模式时,可使用图22的(e)中所示的参考样点。当帧内预测模式是垂直模式与右上对角线模式之间的模式时,可使用图22的(f)中所示的参考样点。当帧内预测模式是45°对角线方向的角度模式时,如图22的(g)中所示,使用右上参考样点、左下参考样点、或者右上参考样点和左下参考样点两者。以查找表的格式存储针对每个帧内预测模式被不同地选择的参考样点,以便于使用。
可根据第一颜色分量块和/或第二颜色分量块的尺寸和/或形状,通过自适应地使用第一颜色分量或第二颜色分量的参考样点来推导预测参数。
例如,当第二颜色分量目标块的尺寸为64×64时,可使用第一颜色分量块或第二颜色分量块的上方或左侧处的参考样点中的32个、16个或8个参考样点。如上所述,当第二颜色分量目标块的尺寸是预定尺寸时,可自适应地使用第一颜色分量块或第二颜色分量块的参考样点。预定尺寸不限于64×64的尺寸,而可以是通过比特流用信号发送的尺寸或者是基于当前块或当前块的邻近块的编码参数推导出的尺寸。
可选地,当第二颜色分量目标块具有长方形形状时,可使用与第二颜色分量目标块的较长边相邻的参考样点,其中,所述较长边是垂直边或水平边。例如,当目标块的块尺寸为32×8时,可使用第一颜色分量块或第二颜色分量块的上方的参考样点。
可选地,当第二颜色分量目标块具有长方形形状时,可使用在正方形块周围的参考样点。例如,当目标块是32×8的块时,可使用在32×32的块周围的参考样点。
可使用在重建的第一颜色分量块周围的参考样点和在第二颜色分量块周围的参考样点来推导预测参数。可基于包括颜色分量的相关性、改变、平均值和分布的因素中的任意一个因素来推导预测参数。在这种情况下,可使用最小二乘(LS)、最小均方(LMS)等的方法中的任意一种方法。
当通过LMS方法推导预测参数时,预测参数可以是a和b、α和β或者两者。可通过等式15推导能使第一颜色分量的参考样点与第二颜色分量的参考样点之间的误差最小化的预测参数。
[等式15]
在等式15中,p2n表示第二颜色分量的参考样点,并且p1′n表示重建的第一颜色分量的参考样点。N是沿垂直方向或水平方向布置的所使用的参考样点的数量,并且a和b表示预测参数。
在这种情况下,可通过等式16计算参考样点之间的相关性。
[等式16]
k=Max(0,BitDepth+log2(N)-15)
在等式16中,BitDepth表示比特深度。p1′表示重建的第一颜色分量的样点,并且p2表示第二颜色分量的样点。
图23是示出第一颜色分量的样点和第二颜色分量的样点的示图。
当在推导预测参数的处理中存在没有参考样点的区域时,可仅使用现有的样点来推导预测参数。
可推导一个或更多个预测参数。例如,可从用于推导预测参数的参考样点中的具有满足特定要求的值的参考样点推导第一预测参数。此外,可从具有不满足特定要求的值的参考样点推导第二预测参数。特定要求可以是以下条件:参考样点的值小于统计值(例如,平均值)。
根据本发明的另一实施例,可使用基本预测参数(默认参数)而无需从参考样点的值推导预测参数。可在编码器和解码器中预定义默认参数。例如,预测参数a和b可分别为1和0。
可选地,当从参考样点推导预测参数时,可对推导出的预测参数进行编码和解码。
当在颜色分量Y、Cb和Cr之间执行颜色分量间预测时,可从颜色分量Y推导用于预测颜色分量Cb和Cr的预测参数。可从颜色分量Cb推导用于预测颜色分量Cr的预测参数。可选地,可将已经从颜色分量Y推导出的用于预测颜色分量Cb的预测参数照其原样用作用于预测颜色分量Cr的预测参数,而无需推导用于预测颜色分量Cr的新的预测参数。
在下文中,将描述颜色分量间预测执行步骤。
如上所述,在推导出预测参数之后,可使用推导出的预测参数中的至少任意一个来执行颜色分量间帧内预测。
例如,根据等式17,可通过将推导出的预测参数应用于重建的第一颜色分量的重建信号来执行第二颜色分量目标块的预测。
[等式17]
p2[x,y]=a×p1′[x,y]+b
在式17中,p2[x,y]表示第二颜色分量目标块的预测块。p1′[x,y]表示第一颜色分量块或重建的第一颜色分量块。
可选地,根据等式18,可通过将推导出的预测参数应用于重建的第一颜色分量的残差信号来执行第二颜色分量目标块的预测。
[等式18]
p2[x,y]=p2_pred[x,y]+a×p1′_residual[x,y]
在等式18中,p1′_residual表示第一颜色分量的残差信号,并且p2_pred表示通过对第二颜色分量目标块执行帧内预测而获得的预测信号。
当推导出的预测参数的数量是一个或更多个时,可将一个或更多个预测参数应用于第一颜色分量的重建样点。例如,当第一颜色分量的重建样点满足特定要求时,可通过应用从满足特定要求的参考样点推导出的第一预测参数来执行颜色分量间帧内预测。另外,当第一颜色分量的重建样点不满足特定要求时,可通过应用从不满足特定要求的参考样点推导出的第二预测参数来执行颜色分量间帧内预测。特定要求表示以下条件:参考样点的值小于第一颜色分量的参考样点的统计值(例如,平均值)。
可在帧间预测模式下使用颜色分量间预测方法。例如,当对当前块执行帧间预测时,对第一颜色分量执行帧间预测,并且可对第二颜色分量执行颜色分量间预测或将帧间预测与颜色分量间预测组合的预测。例如,第一颜色分量可以是亮度分量,并且第二颜色分量可以是色度分量。
可使用亮度分量的预测样点或重建样点来执行颜色分量间预测。例如,在执行针对亮度分量的帧间预测之后,可通过将颜色分量间预测参数应用于由亮度分量的帧间预测生成的预测样点来执行针对颜色分量的预测。这里,预测样点是指已经经历运动补偿、运动修正、重叠块运动补偿(OBMC)和双向光流(BIO)中的至少一个的样点。
此外,可根据第一颜色分量的编码参数来自适应地执行颜色分量间预测。例如,可根据第一颜色分量的CBF信息来确定是否执行颜色分量间预测。CBF信息可以是指示残差信号是否存在的信息。也就是说,当第一颜色分量的CBF为1时,可对第二颜色分量执行颜色分量间预测。当第一颜色分量的CBF为0时,可不对第二颜色分量执行颜色分量间预测,并且可对第二颜色分量执行帧间预测。可选地,可用信号发送指示是否执行颜色分量间预测的标志。
当第一颜色分量的编码参数满足预定条件时,可用信号发送指示是否执行颜色分量间预测的标志。例如,当第一颜色分量的CBF为1时,可用信号发送标志以确定是否执行颜色分量预测。
当针对第二颜色分量执行颜色分量间预测时,可使用针对第二颜色分量的帧间运动预测或补偿值。例如,可使用第一颜色分量的帧间预测信息来执行针对第二颜色分量的帧间运动预测或补偿。另外,可通过计算针对第二颜色分量的颜色分量间预测值与帧间运动补偿值的加权和来执行预测。
根据本发明的另一实施例,可执行基于模板匹配的预测。
当执行基于模板匹配的预测时,针对当前块显式地和/或隐式地推导至少一个帧内预测模式(第一帧内预测模式),并且可基于推导出的帧内预测模式来生成模板。此外,基于第二帧内预测模式生成至少一个中间帧内预测块,并且通过使用模板与中间帧内预测块之间的加权和来最终确定针对当前块的预测块。在这种情况下,第一帧内预测模式和第二帧内预测模式可不同。
图24是示出用于生成模板的实施例的示图。
如图24中所示,可显式地和/或隐式地推导当前块的帧内预测模式N。可通过基于所推导的帧内预测模式N执行帧内预测来生成帧内预测块,并且所生成的帧内预测块可被定义为模板。这里,N可以为零或大于零的正整数。
在本说明书中,在基于模板匹配的预测处理中生成的模板可由第一帧内预测块表示,并且中间帧内预测块可由第二帧内预测块表示。另外,当通过使用第一帧内预测块和第二帧内预测块的加权和来生成当前块的最终帧内预测块时,可使用一个或更多个第一帧内预测块和/或第二帧内预测块。
可根据本文中所描述的各种实施例中的至少一个实施例来显式地对当前块的帧内预测模式进行编码/解码。可选地,可在编码器和解码器中隐式地推导相同的帧内预测模式。可使用如上文所描述的显式或隐式推导的帧内预测模式来生成第一帧内预测块。
可选地,可在编码器和解码器中使用预定帧内预测模式来生成第一帧内预测块。
预定帧内预测模式可以是平面模式或DC模式。
预定帧内预测模式可以是多个帧内预测模式。在这种情况下,可生成与多个帧内预测模式对应的多个预测块,并且可以通过使用所生成的多个帧内预测块的加权和来生成第一帧内预测块(模板)。例如,在生成与平面模式和DC模式对应的两个帧内预测块之后,可将通过使用生成的两个帧内预测块的加权和而获得的块定义为模板。
在另一实施例中,可使用空间上与当前块相邻的邻近块中的至少一个邻近块的帧内预测模式来生成模板。在这种情况下,邻近块可以是在当前块之前通过使用帧内预测模式完成编码/解码的块。
例如,在图11所示的示例中,当使用帧内预测模式对邻近块L、A、AR、BL、AL、JL和JA中的至少一个进行编码/解码时,可使用对应邻近块的帧内预测模式来生成模板。
可选地,可使用从一个或更多个邻近块推导出的一或更多个帧内预测模式来获得预定统计值,并且可使用由统计值指示的帧内预测模式来生成模板。这里,统计值可包括平均值、最大值、最小值、中间值和众数值中的至少一个。
可选地,在配置用于当前块的MPM列表之后,可使用被包括在MPM列表中的一或更多个帧内预测模式来生成模板。例如,可使用由第一MPM索引指示的帧内预测模式或MPM列表中的具有方向性的帧内预测模式(角度预测模式)来生成模板。当在MPM列表中存在多个具有方向性的帧内预测模式时,可使用具有更小MPM索引的帧内预测模式来生成模板。
可通过推导一个或更多个显式和/或隐式帧内预测模式来生成用于生成模板的帧内预测模式。
例如,从编码器发送的帧内预测模式信息可被熵编码/熵解码以被显式地推导,然后可生成与帧内预测模式对应的帧内预测块A。此外,可生成与固定帧内预测模式N对应的帧内预测块B,然后可通过使用帧内预测块A和/或帧内预测块B的加权和来生成模板。固定帧内预测模式可以是多种帧内预测模式,因此可生成多个帧内预测块B。固定帧内预测模式可以是平面模式或DC模式。
在生成帧内预测块B的另一示例中,可生成与使用帧内预测模式完成编码/解码的一个或更多个邻近块的帧内预测模式对应的帧内预测块B,作为与当前块在空间上相邻的块。邻近块可以是图11中所示的邻近块L。可选地,邻近块不限于此,并且可以是图11中所示的邻近块A、AR、BL、AL、JL和JA中的至少一个。
在生成帧内预测块B的另一实施例中,在从图11所示的一个或更多个块推导出一个或更多个帧内预测模式之后,可生成与推导出的一个或更多个帧内预测模式的统计值对应的帧内预测块B。统计值可以是平均值、中值、众数值等。然而,统计值不限于此,并且可表示最大值、最小值、加权平均值和插值中的至少一个。
作为生成帧内预测块B的另一示例,可生成与被包括在用于当前块的MPM列表中的至少一个帧内预测模式对应的帧内预测块B。用于生成帧内预测块B的帧内预测模式可以是由MPM列表的第一MPM索引指示的帧内预测模式。可选地,用于生成帧内预测块B的帧内预测模式可以是MPM列表中的模式之中具有方向性的帧内预测模式。在这种情况下,当在MPM列表中存在多个具有方向性的模式时,可使用具有更小MPM索引的帧内预测模式来生成帧内预测块B。
此后,可使用所生成的模板来生成一个或更多个基于模板匹配的中间帧内预测块。
图25是示出基于MPM列表生成基于模板匹配的中间帧内预测块的实施例的示图。
图25中所示的左表示出了当前块的MPM列表。例如,MPM列表包括六个候选模式,每个候选模式由索引(MPM_idx)指示。在图25所示的实施例中,MPM列表中包括的帧内预测模式是X、Y、N、Z、K和L。
可使用MPM列表中包括的帧内预测模式中的每一个来生成预测块。如图25所示,预测块0是与帧内预测模式X对应的预测块,并且预测块5是与帧内预测模式L对应的预测块。同样,尽管图25中未示出,但是也可生成与帧内预测模式Y、N、Z和K对应的预测块1至4。在下文中,将预测块0至预测块5定义为预测块n(n是0至5中的一个)。
此后,可执行模板与通过使用MPM列表中包括的模式生成的预测块n之间的模板匹配。可通过计算模板与预测块n之间的绝对差和(SAD)和/或绝对变换差和(SATD)中的至少一个来执行模板匹配。这里,对于MPM列表中包括的帧内预测模式之中的与用于生成模板的帧内预测模式(例如,图25中的N)相同的模式,可省略模板匹配。
如上文所描述的,在针对被包括在MPM列表中的帧内预测模式中的每一个执行模板匹配以计算SAD_0(或SARD_0)到SAD_5(或SARD_5)之后,可将具有最小SAD和/或SATD的帧内预测块定义为中间帧内预测块。例如,当SAD_0最小时,与帧内预测模式X对应的预测块0可以是中间帧内预测块。
可选地,在以递增顺序布置所计算的SAD和/或SATD之后,可将按SAD和/或SATD递增的顺序的M个帧内预测块定义为中间帧内预测块。这里,M是等于或大于1的正整数,并且可小于或等于配置MPM列表的候选模式的最大数量。例如,当配置MPM列表的候选模式的最大数量是7时,M的最大值可被定义为7。
可使用SAD和/或SATD中的至少一个来重新布置MPM列表中的帧内预测模式的顺序。
模板匹配的上述描述可被类似地应用于使用第二MPM列表而不是MPM列表的情况。
也就是说,可使用被包括在第二MPM列表中的帧内预测模式中的每一个来生成预测块。此后,可执行模板与使用被包括在第二MPM列表中的模式生成的预测块之间的模板匹配。可通过计算模板与预测块之间的绝对差和(SAD)和/或绝对变换差和(SATD)中的至少一个来执行模板匹配。这里,对于第二MPM列表中包括的帧内预测模式之中的与当生成模板时使用的帧内预测模式相同的模式,可省略模板匹配。然后,可将具有最小SAD和/或SATD的帧内预测块定义为中间帧内预测块。可选地,计算出的SAD和/或SATD可以以递增的顺序被布置,并且可将按SAD和/或SATD递增的顺序的M个帧内预测块定义为中间帧内预测块。这里,M是等于或大于1的正整数,并且可小于或等于配置第二MPM列表的候选模式的最大数量。例如,当配置第二MPM列表的候选模式的最大数量是16时,M的最大值可被定义为16。
可使用SAD和/或SATD中的至少一个来重新布置第二MPM列表中的帧内预测模式的顺序。
在另一实施例中,与完成编码/解码的至少一个邻近块的帧内预测模式对应的帧内预测块可被定义为中间帧内预测块。邻近块可以是图11中所示的邻近块L、A、AR、BL、AL、JL和JA中的至少一个。
可选地,可通过使用从一个或更多个邻近块推导出的一个或更多个帧内预测模式来获得预定统计值,并且可将与统计值对应的帧内预测块定义为中间帧内预测块。这里,统计值可包括平均值、最大值、最小值、中间值和众数值中的至少一个。可使用图11中所示的所有帧内预测的邻近块的帧内预测模式来计算统计值。
在另一实施例中,当在生成模板时使用的帧内预测模式的数量是N时,与预定偏移被添加到N和/或从N减去预定偏移的帧内预测模式对应的预测块可被定义为中间帧内预测块。这里,偏移可以是1或更大的正整数。
在如上所述生成模板和至少一个中间帧内预测块之后,可使用模板和至少一个中间帧内预测块来生成当前块的最终帧内预测块。这里,可使用加权和。
图26是示出用于使用模板和一个中间帧内预测块来生成最终帧内预测块的实施例的示图。
如图26所示,可通过使用模板和中间帧内预测块的加权和来生成最终帧内预测块。
图27是示出使用模板和多个中间帧内预测块生成最终帧内预测块的实施例的示图。
如图27所示,可通过使用模板和多个中间帧内预测块的加权和来生成最终预测块。
在参照图26和图27描述的实施例中,可如下推导用于执行加权和的权重。这里,在加权和中使用的所有权重的和可以是一或不是一。此外,每个权重可大于或小于一。
例如,在加权和中使用的所有权重可以是相同的。
可选地,可根据模板和/或至少一个中间帧内预测块之间的预定优先级,针对每个块应用不同的权重。
例如,相比于与其余模式对应的帧内预测块,可将更高权重应用于与预定帧内预测模式对应的模板和/或中间帧内预测块。相反,可将更低权重应用于与预定帧内预测模式对应的模板和/或中间帧内预测块。例如,预定帧内预测模式可以是MPM列表的第一帧内预测模式。在这种情况下,可将相对高的权重给予与MPM列表中的第一帧内预测模式对应的帧内预测块。
当通过使用帧内预测对当前块进行编码时,编码器可确定是否执行本发明提出的方法并对指示是否执行该方法的指示信息进行熵编码。可通过比较应用所提出的方法之前的率失真代价值和应用所提出的方法之后的率失真代价值来确定是否执行本发明提出的方法。
可根据当前块的编码参数对指示信息进行有条件的熵编码。例如,仅当使用MPM列表和/或第二MPM列表中包括的模式对当前块的帧内预测模式进行编码时,可对指示信息进行熵编码。解码器可从比特流中对指示信息进行熵解码,然后根据接收到的信息执行本发明提出的方法或不执行本发明提出的方法。
可根据当前块的编码参数来省略指示信息。例如,可基于当前块的预定尺寸、形式和/或深度来确定是否执行所提出的方法。例如,仅当当前块小于或等于或者等于或大于预定尺寸、形式或深度时,可执行所提出的方法或不执行所提出的方法。在本文中,可以以视频参数集VPS、序列参数集SPS、画面参数集PPS、并行块头、条带头、CTU和CU中的至少一个为单位对关于预定尺寸、形式和/或深度的信息进行熵编码/熵解码。
例如,当当前块的尺寸小于或等于预定的第一尺寸和/或等于或大于预定的第二尺寸,并且当前块被划分为二叉树叶节点和/或四叉树叶节点时,可执行所提出的方法或者可以不执行所提出的方法。
可选地,当使用MPM列表和/或第二MPM列表中包括的模式进行编码时,可执行所提出的方法。
可基于当前块的尺寸和深度与预定阈值的比较来确定是否执行所提出的方法。在这种情况下,预定阈值可表示用于确定块结构的参考尺寸或深度。预定阈值可用最小值和最大值中的至少一个来表示。预定阈值可以是由编码器/解码器预定义的固定值,基于当前块的编码参数可变地推导,或者可通过比特流用信号发送。
例如,当当前块的尺寸或深度小于或等于第一预定阈值和/或等于或大于第二预定阈值时,可执行所提出的方法或可不执行所提出的方法。
可选地,当当前块的深度等于预定阈值且当前块对应于四叉树叶节点时,可不执行所提出的方法。
为了确定当前块的编码模式,编码器对当前块与预测块之间的残差信号执行变换、量化、熵编码、熵解码、反量化和逆变换中的至少一个,然后确定编码模式,使得所需的比特量和视频质量损失可被最小化。所确定的编码模式可被编码为编码模式信息,并且编码模式信息可以以与编码参数相同的含义被使用。
假设用于当前块的合并模式和/或跳过模式下的候选块的最大数量是M,可根据下面描述的条件仅对数量等于或小于M的合并模式和/或跳过模式候选块针对合并模式和/或跳过模式执行确定编码模式的处理。
在针对合并模式和/或跳过模式确定编码模式的处理中,当由编码器对当前块(四叉树叶节点和/或二叉树叶节点)进行重新编码时,当在初始编码处理中被确定为跳过模式时,可在所有合并模式和/或跳过模式下对候选块执行跳过模式编码确定处理。
在针对合并模式和/或跳过模式确定编码模式的处理中,当由编码器对当前块(四叉树叶节点和/或二叉树叶节点)进行重新编码时,当在初始编码处理中被确定为合并模式时,可在所有合并模式和/或跳过模式下对候选块执行合并模式编码确定处理。
在针对合并模式和/或跳过模式确定编码模式的处理中,当由编码器对当前块(四叉树叶节点和/或二叉树叶节点)进行重新编码时,当在初始编码处理中被确定为跳过模式和/或合并模式时,可在所有合并模式和/或跳过模式下对候选块执行运动补偿处理中的重叠块运动补偿(OBMC)处理。
在确定当前块的编码模式的处理中,根据当前块和/或在时间上/空间上与当前块相邻的邻近块的编码参数,可省略用于首次变换和/或二次变换的编码模式确定处理。
例如,当假设在首次变换中可用于首次变换的1D变换核的数量最大为N,并且因此首次变换索引(ucTrIdx)从0到N-1被熵编码/熵解码时,如果当前块的CBF在索引0处为0,则可省略针对后续索引(ucTrIdx=1,…,N-1)的编码模式确定处理。可选地,可仅针对用于当前块的邻近块的首次变换的首次变换索引执行当前块的编码模式确定处理。
在确定当前块的画面内编码模式和/或画面间编码模式的处理中,当对用于首次变换的1D变换核的首次变换索引信息(ucTrIdx)进行熵编码时,可用移位运算来替换除法运算。
在确定当前块的画面内编码模式的处理中,当对用于首次变换的1D变换核的首次变换索引信息(ucTrIdx)进行熵编码时,可使用除法运算和/或移位运算。例如,可使用如下面的等式19所示的除法运算对首次变换索引信息ucTrIdx进行熵编码。
[等式19]
m_pcBinIf->encodeBin((ucTrIdx/2)?1:0,m_cEmtTuIdxSCModel.get(0,0,1));
可选地,可使用如以下等式20所示的移位运算来对首次变换索引信息ucTrIdx进行熵编码。
[等式20]
m_pcBinIf->encodeBin((ucTrIdx>>1)?1:0,m_cEmtTuIdxSCModel.get(0,0,1));
在确定当前块的画面间编码模式的处理中,当对用于首次变换的1D变换核的首次变换索引信息(ucTrIdx)进行熵编码时,可类似地使用等式19和等20。然而,在这种情况下,在等式19和等式20中可用get(0,0,3)替换get(0,0,1)。
在执行帧内预测或帧间预测之后生成的残差信号可通过作为量化处理的一部分的变换处理被转换到频域。在这种情况下,除了DCT类型2(DCT-II)之外,可用各种DCT核、DST核等来使用首次变换。可通过对残差信号的水平方向和垂直方向执行一维变换(1D变换)的可分离变换来执行使用变换核的变换,或者可通过二维非可分离变换(2D非可分离变换)来执行使用变换核的变换。
在变换中使用的DCT和DST类型在下面的表1中示出。
[表1]
变换集 | 变换 |
0 | DCT-VII,DCT-VIII |
1 | DST-VII,DST-I |
2 | DST-VII,DCT-V |
除了DCT-II之外,在1D变换期间可自适应地使用DST-II、DCT-IV、DST-IV、DCT-VIII和DST-VII中的至少一个。可选地,变换集可被配置为推导在变换中使用的DCT或DST类型。例如,根据帧内预测模式,可针对水平方向和垂直方向预定义不同的变换集。编码器/解码器可使用与当前块的帧内预测模式对应的变换集中包括的变换来执行变换和逆变换。在这种情况下,不发送变换集,而是根据与表1中所示相同的规则在编码器/解码器中映射变换集,其中,可用信号发送指示在属于变换集的变换中使用哪个变换的信息。这种使用各种变换的方法可被应用于通过帧内预测或帧间预测生成的残差信号。例如,在画面间预测期间,编码器/解码器可使用表1的变换集0对垂直方向和/或水平方向执行1D变换。在这种情况下,指示哪个1D变换被用于垂直方向和/或水平方向的信息可被熵编码/熵解码。此外,指示DST-II、DCT-IV、DST-IV、DCT-VIII和DST-VII中的哪个被用于垂直方向和/或水平方向变换的信息可被熵编码/熵解码。如图6中所示,在上述首次变换完成之后,编码器可执行二次变换以增加变换系数上的能量集中。二次变换还可执行针对水平方向和垂直方向中的每一个执行一维变换的可分离变换,或者可执行二维非可分离变换。此外,用于变换的信息可被发送或者由编码器/解码器根据当前块和邻近块的编码信息隐式地推导。例如,可如首次变换一样针对二次变换定义变换集,并且所述变换集可不被熵编码/熵解码,而是由编码器/解码器根据相同规则来定义。在这种情况下,可发送指示在属于变换集的变换中使用哪个变换的信息,并且所述信息可被应用于通过帧内预测或帧间预测生成的残差信号中的至少一个残差信号。解码器可根据是否执行二次逆变换来执行二次逆变换,并根据是否执行首次逆变换来对通过执行二次逆变换获得的结果执行首次逆变换。
首次变换和二次变换可被应用于亮度分量/色度分量中的至少一个信号分量,或者可根据任意编码块尺寸/形式被自适应地应用。首次变换和二次变换是否被用于任意编码块以及指示所使用的首次变换和/或二次变换的索引可由编码器/解码器根据当前块和邻近块的编码信息中的至少一个而被熵编码/熵解码或隐式推导。
图28是示出扫描变换系数的方法的示图。
对于通过帧内预测或帧间预测生成的残差信号,执行首次变换和二次变换,然后执行量化处理,其中,在所述量化处理中可对量化的变换系数执行熵编码处理。在这种情况下,如图28所示,可基于当前块的帧内预测模式和编码块的最小尺寸和/或形式中的至少一个,根据对角线方向、垂直方向或水平方向来扫描量化的变换系数。此外,熵解码的量化变换系数可被逆扫描并以块形式排列,并且可对对应的块执行反量化和逆变换中的至少一个。这里,可执行图28中所示的对角线扫描、水平扫描和垂直扫描中的至少一个作为逆扫描方法。
当执行帧内预测或帧间预测时,第一颜色分量可经历帧内预测并且第二颜色分量可经历帧间预测。例如,第一颜色分量是亮度分量,并且第二颜色分量是色度分量。相反地,第一颜色分量可以是色度分量,并且第二颜色分量可以是亮度分量。
关于对预测样点应用滤波,可依据当前块的帧内预测模式、尺寸(宽度和高度)、块形状、基于多样点线的预测和颜色分量中的至少一个来确定是否应用滤波。滤波是指使用一个或更多个参考样点对一个或更多个预测样点进行滤波的方法。
例如,当当前块的帧内预测模式是预定模式时,滤波可被应用于预测样点。例如,预定模式是方向模式、非方向模式、水平模式或垂直模式。
例如,当当前块的尺寸落在预定尺寸范围内时,可对预测样点应用滤波。例如,当当前块具有小于64的宽度和小于64的高度时,可应用滤波。可选地,当当前块的宽度或高度大于或小于预定尺寸时,可应用滤波。
例如,可根据用于预测的参考样点线来确定是否对预测样点应用滤波。例如,当用于预测的参考样点线是与当前块相邻的第一参考样点线时,可应用滤波。另一方面,当参考样点线是位于当前块周围的第二参考样点线和先前参考样点线中的一个时,可不应用滤波。指示符mrl_index可用于确定参考样点线。例如,当当前块的索引为零时,应用滤波。然而,当当前块的索引是大于零的值时,不应用滤波。
例如,当块元素的颜色分量是亮度信号时,应用滤波。然而,当当前块的颜色分量是色度信号时,不应用滤波。
可通过组合上文所描述的一个或更多个示例性预测方法来执行当前块的预测。
例如,可通过计算使用预定非方向帧内预测模式获得的预测值与使用预定方向帧内预测模式获得的预测值的加权和来执行对当前块的预测。在这种情况下,权重可依据当前块的帧内预测模式、当前块的尺寸/形状和预测目标样点的位置中的至少一个而改变。
例如,可通过计算使用预定帧内预测模式获得的预测值与使用预定帧间预测模式预测获得的预测值的加权和来执行对当前块的预测。在这种情况下,权重可根据编码模式、帧内预测模式、帧间预测模式和当前块的尺寸/形状中的至少一个而改变。例如,当帧内预测模式是诸如DC或平面的非方向模式时,与1/2对应的权重可被分别应用于帧内预测样点和帧间预测样点。可选地,当帧内预测模式为垂直模式时,帧内预测样点的权重随着距当前块上方的参考样点线的距离而减小。类似地,当帧内预测模式是水平模式时,帧内样点的权重随着距当前块的左侧的参考样点线的距离而减小。应用于帧内预测样点的权重和应用于帧间预测样点的权重之和可以是2的幂中的任意一个。也就是说,它可以是4、8、16、32等等中的任意一个。例如,当当前块的尺寸在预定尺寸范围内时,与1/2对应的权重可被分别应用于帧内预测样点和帧间预测样点。
帧内预测模式可被固定为DC模式和平面模式,或者可以通过信息的信令被确定。可选地,帧内预测模式可以是从MPM候选模式中选择的任何模式,并且可通过从邻近块的帧内预测模式推导出的MPM候选模式来确定帧内预测模式。可用预定的代表性模式来替换邻近块的模式。例如,邻近块的帧内预测模式是被分类为垂直方向组的特定方向的方向模式,使用垂直模式来替换邻近块的模式。另一方面,当邻近块的帧内预测模式是被分类为水平方向组的特定方向的方向模式时,使用水平模式来替换邻近块的模式。
帧间预测可以是DC模式、合并模式和AMVP模式中的至少一个。当当前块的帧间预测模式是合并模式时,可通过计算通过使用与合并索引对应的运动信息获得的帧间预测值与通过使用DC或平面模式获得的预测值的加权和来执行对当前块的预测。
例如,可通过计算通过使用多条样点线获得的一个或更多个预测样点的加权和来执行对当前块的预测。例如,可通过计算通过使用当前块附近的第一参考样点线获得的第一预测值与通过使用当前块附近的第二参考样点线和先前参考样点线获得的第二预测值的加权和来执行预测。用于获得第二预测值的参考样点线可以是由mrl_index指示的参考样点线。用于第一预测值和第二预测值的权重可相等。可选地,用于第一预测值和第二预测值的权重可依据当前块的帧内预测模式、当前块的尺寸/形状以及将被预测的样点的位置中的至少一个而改变。第一预测值可以是使用预定模式预测的值。例如,第一预测值可以是使用DC模式和平面模式中的至少一个预测的值。第二预测值可以是使用在可用帧内预测模式推导步骤中推导出的当前块的帧内预测模式预测出的值。
当通过计算一个或更多个预测样点的加权和来执行预测时,可不对预测样点执行滤波。
上述实施例可在编码器和解码器中以相同的方法执行。
应用以上实施例的顺序在编码器与解码器之间可不同,或者应用以上实施例的顺序在编码器和解码器中可相同。
可对每个亮度信号和色度信号执行以上实施例,或者可对亮度信号和色度信号相同地执行以上实施例。
应用本发明的以上实施例的块形式可具有正方形形式或非正方形形式。
可根据编码块、预测块、变换块、块、当前块、编码单元、预测单元、变换单元、单元和当前单元中的至少一个的尺寸来应用本发明的以上实施例。这里,尺寸可被定义为使得以上实施例被应用的最小尺寸或最大尺寸或者最小尺寸和最大尺寸两者,或者可被定义为以上实施例被应用于的固定尺寸。此外,在以上实施例中,可将第一实施例应用于第一尺寸,并且可将第二实施例应用于第二尺寸。换句话说,可根据尺寸组合地应用以上实施例。此外,当尺寸等于或大于最小尺寸且等于或小于最大尺寸时,可应用以上实施例。换句话说,当块尺寸被包括在特定范围内时,可应用以上实施例。
例如,当当前块的尺寸是8×8或更大时,可应用以上实施例。例如,当当前块的尺寸为4×4或更大时,可应用以上实施例。例如,当当前块的尺寸等于或小于16×16时,可应用以上实施例。例如,当当前块的尺寸等于或大于16×16且等于或小于64×64时,可应用以上实施例。
可根据时间层来应用本发明的以上实施例。为了识别以上实施例可被应用于的时间层,可用信号发送相应标识符,并且可将以上实施例应用于由相应标识符标识的指定时间层。这里,标识符可被定义为以上实施例可被应用于的最低层或最高层或者最低层和最高层两者,或者可被定义为指示该实施例被应用于的特定层。此外,可定义实施例被应用于的固定时间层。
例如,当当前图像的时间层是最低层时,可应用以上实施例。例如,当当前图像的时间层标识符是1时,可应用以上实施例。例如,当当前图像的时间层是最高层时,可应用以上实施例。
可定义本发明的以上实施例被应用于的条带类型,并且可根据对应的条带类型来应用以上实施例。
本公开内容还可以具有如下配置:
1、一种对视频进行解码的方法,所述方法包括:
推导当前块的第一帧内预测模式;
生成与第一帧内预测模式对应的第一帧内预测块;
推导当前块的第二帧内预测模式;
生成与第二帧内预测模式对应的第二帧内预测块;以及
通过使用第一帧内预测块与第二帧内预测块的加权和来生成最终帧内预测块。
2、如方案1所述的方法,其中,基于包括在当前块的MPM列表中的至少一个候选模式来推导第一帧内预测模式。
3、如方案1所述的方法,其中,基于当前块的一个或更多个邻近块的帧内预测模式来推导第一帧内预测模式。
4、如方案1所述的方法,其中,第二帧内预测模式是从包括在当前块的MPM列表中的候选模式推导出的一个模式。
5、如方案4所述的方法,其中,推导第二帧内预测模式的步骤包括:
生成与所述候选模式对应的候选帧内预测块;
计算每个候选帧内预测块与第一帧内预测块之间的匹配度;以及
将候选帧内预测块中具有最高匹配度的候选帧内预测块的候选模式推导为第二帧内预测模式。
6、如方案5所述的方法,其中,使用绝对差和SAD或绝对变换差和SATD来计算所述匹配度,并且
具有最高匹配度的候选帧内预测块是SAD或SATD最小的块。
7、如方案5所述的方法,其中,对于所述候选模式中与第一帧内预测模式相同的模式,跳过生成候选帧内预测块和计算所述匹配度的步骤。
8、如方案1所述的方法,其中,与第一帧内预测模式对应的第一帧内预测块或与第二帧内预测模式对应的第二帧内预测块的权重高于与除预定模式之外的模式对应的帧内预测块的权重,其中,第一帧内预测模式和第二帧内预测模式与所述预定模式相同。
9、如方案8所述的方法,其中,所述预定模式是MPM列表中的第一候选模式。
10、如方案5所述的方法,其中,当第二帧内预测模式和与第二帧内预测模式对应的第二帧内预测块的数量为n时,将按照匹配度递减的顺序的n个候选模式推导为第二帧内预测模式,其中,n为2或更大的整数。
11、一种对视频进行编码的方法,所述方法包括:
推导当前块的第一帧内预测模式;
生成与第一帧内预测模式对应的第一帧内预测块;
推导当前块的第二帧内预测模式;
生成与第二帧内预测模式对应的第二帧内预测块;以及
通过使用第一帧内预测块与第二帧内预测块的加权和来生成最终帧内预测块。
12、如方案11所述的方法,其中,基于包括在当前块的MPM列表中的至少一个候选模式来推导第一帧内预测模式。
13、如方案11所述的方法,其中,基于当前块的一个或更多个邻近块的帧内预测模式来推导第一帧内预测模式。
14、如方案11所述的方法,其中,第二帧内预测模式是从包括在当前块的MPM列表中的候选模式推导出的一个模式。
15、如方案14所述的方法,其中,推导第二帧内预测模式的步骤包括:
生成与所述候选模式对应的候选帧内预测块;
计算每个候选帧内预测块与第一帧内预测块之间的匹配度;以及
将候选帧内预测块中具有最高匹配度的候选帧内预测块的候选模式推导为第二帧内预测模式。
16、如方案15所述的方法,其中,使用绝对差和SAD或绝对变换差和SATD来计算所述匹配度,并且
具有最高匹配度的候选帧内预测块是SAD或SATD最小的块。
17、如方案15所述的方法,其中,对于所述候选模式中与第一帧内预测模式相同的模式,跳过生成候选帧内预测块和计算所述匹配度的步骤。
18、如方案11所述的方法,其中,与第一帧内预测模式对应的第一帧内预测块或与第二帧内预测模式对应的第二帧内预测块的权重高于与除预定模式之外的模式对应的帧内预测块的权重,其中,第一帧内预测模式和第二帧内预测模式与所述预定模式相同。
19、如方案15所述的方法,其中,当第二帧内预测模式和与第二帧内预测模式对应的第二帧内预测块的数量是n时,将按照匹配度递减的顺序的n个候选模式推导为第二帧内预测模式,其中,n是2或更大的整数。
20、一种存储由对视频进行编码的方法生成的比特流的计算机可读记录介质,所述对视频进行编码的方法包括:
推导当前块的第一帧内预测模式;
生成与第一帧内预测模式对应的第一帧内预测块;
推导当前块的第二帧内预测模式;
生成与第二帧内预测模式对应的第二帧内预测块;以及
通过使用第一帧内预测块与第二帧内预测块的加权和来生成最终帧内预测块。
在上述实施例中,基于具有一系列步骤或单元的流程图描述了方法,但是本发明不限于这些步骤的顺序,而是一些步骤可与其他步骤同时执行或以不同的顺序执行。此外,本领域的普通技术人员应该理解,流程图中的步骤并不互相排斥,并且在不影响本发明的范围的情况下,可将其他步骤添加到流程图或者可将步骤中的一些步骤从流程图删除。
实施例包括示例的各个方面。可不描述各个方面的所有可能的组合,但是本领域技术人员将能够认识到不同的组合。因此,本发明可包括权利要求范围内的所有替换、修改和改变。
本发明的实施例可以以程序指令的形式实现,其中,该程序指令可由各种计算机组件执行并且被记录在计算机可读记录介质中。计算机可读记录介质可单独地包括程序指令、数据文件、数据结构等,或者可包括程序指令、数据文件、数据结构等的组合。记录在计算机可读记录介质中的程序指令可以是为本发明专门设计和构建的,或者对于计算机软件技术领域的普通技术人员是公知的。计算机可读记录介质的示例包括磁记录介质(诸如,硬盘、软盘和磁带)、光学数据存储介质(诸如,CD-ROM或DVD-ROM)、磁光介质(诸如软光盘)以及被专门构造为存储和实现程序指令的硬件装置(诸如,只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。程序指令的示例不仅包括由编译器格式化的机械语言代码,而且包括可由计算机使用解释器来实现的高级语言代码。硬件装置可被配置为由一个或更多个软件模块操作以进行根据本发明的处理,反之亦可。
尽管已经在特定项目(诸如,详细元件)以及有限的实施例和附图方面描述了本发明,但是它们仅被提供以帮助更全面地理解本发明,并且本发明不限于以上实施例。本发明所属领域的技术人员将理解,可根据以上描述进行各种修改和改变。
因此,本发明的精神将不应限于上述实施例,并且权利要求及其等同物的整个范围将落入本发明的范围和精神内。
工业适用性
本发明可被用于对图像进行编码/解码。
Claims (17)
1.一种由图像解码设备执行的图像解码方法,所述方法包括:
确定帧内预测和帧间预测的组合是否被用于对当前块的预测;以及
在帧内预测和帧间预测的组合被用于对当前块的预测的情况下,产生当前块的最终预测块,
其中,产生当前块的最终预测块包括:
通过基于帧内预测模式和参考样点执行对当前块的帧内预测来产生当前块的第一预测块;
通过执行对当前块的帧间预测来产生当前块的第二预测块;以及
基于所述第一预测块和所述第二预测块来产生当前块的最终预测块。
2.如权利要求1所述的方法,
其中,当前块的帧内预测模式被确定为平面模式。
3.如权利要求1所述的方法,
其中,当前块的第二预测块是通过合并模式来产生的。
4.如权利要求1所述的方法,
其中,当前块的最终预测块是通过所述第一预测块和所述第二预测块的加权和来产生的。
5.如权利要求4的方法,
其中,用于加权和的权重包括应用于所述第一预测块的第一权重以及应用于所述第二预测块的第二权重,并且
其中,所述第一权重与所述第二权重的和是4。
6.如权利要求1所述的方法,
其中,在帧内预测和帧间预测的组合被用于对当前块的预测的情况下,用于当前块的帧内预测的参考样点是基于多个参考样点线中的、与当前块相邻的第一参考样点线来确定的。
7.如权利要求1所述的方法,
其中,帧内预测和帧间预测的组合是否被用于对当前块的预测,是基于当前块的尺寸是否被包括在预定范围内来确定的。
8.如权利要求1所述的方法,
其中,帧内预测和帧间预测的组合是否被用于对当前块的预测,是基于当前块的条带类型来确定的。
9.一种由图像编码设备执行的图像编码方法,所述方法包括:
确定帧内预测和帧间预测的组合是否被用于对当前块的预测;以及
在帧内预测和帧间预测的组合被用于对当前块的预测的情况下,产生当前块的最终预测块,
其中,产生当前块的最终预测块包括:
通过基于帧内预测模式和参考样点执行对当前块的帧内预测来产生当前块的第一预测块;
通过执行对当前块的帧间预测来产生当前块的第二预测块;以及
基于所述第一预测块和所述第二预测块来产生当前块的最终预测块。
10.如权利要求9所述的方法,
其中,当前块的帧内预测模式被确定为平面模式。
11.如权利要求9所述的方法,
其中,当前块的第二预测块是通过合并模式来产生的。
12.如权利要求9所述的方法,
其中,当前块的最终预测块是通过所述第一预测块和所述第二预测块的加权和来产生的。
13.如权利要求12所述的方法,
其中,用于加权和的权重包括应用于所述第一预测块的第一权重以及应用于所述第二预测块的第二权重,并且
其中,所述第一权重与所述第二权重的和是4。
14.如权利要求9所述的方法,
其中,在帧内预测和帧间预测的组合被用于对当前块的预测的情况下,用于当前块的帧内预测的参考样点是基于多个参考样点线中的、与当前块相邻的第一参考样点线来确定的。
15.如权利要求9所述的方法,
其中,帧内预测和帧间预测的组合是否被用于对当前块的预测,是基于当前块的尺寸是否被包括在预定范围内来确定的。
16.如权利要求9所述的方法,
其中,帧内预测和帧间预测的组合是否被用于对当前块的预测,是基于当前块的条带类型来确定的。
17.一种存储通过图像编码方法产生的比特流的非暂时性计算机可读记录介质,
其中,所述图像编码方法包括:
确定帧内预测和帧间预测的组合是否被用于对当前块的预测;以及
在帧内预测和帧间预测的组合被用于对当前块的预测的情况下,产生当前块的最终预测块,
其中,产生当前块的最终预测块包括:
通过基于帧内预测模式和参考样点执行对当前块的帧内预测来产生当前块的第一预测块;
通过执行对当前块的帧间预测来产生当前块的第二预测块;以及
基于所述第一预测块和所述第二预测块来产生当前块的最终预测块。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0153191 | 2017-11-16 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880074819.9A Division CN111373755B (zh) | 2017-11-16 | 2018-11-16 | 图像编码/解码方法和装置以及存储比特流的记录介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118301339A true CN118301339A (zh) | 2024-07-05 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111373755B (zh) | 图像编码/解码方法和装置以及存储比特流的记录介质 | |
CN111434109B (zh) | 图像编码/解码方法和装置以及存储有比特流的记录介质 | |
CN110870315B (zh) | 用于对图像进行编码/解码的方法和装置以及存储比特流的记录介质 | |
CN112740685B (zh) | 图像编码/解码方法和装置以及存储有比特流的记录介质 | |
CN118214856A (zh) | 用于基于非对称子块的图像编码/解码的方法及装置 | |
CN116366845A (zh) | 使用样点滤波的图像编码/解码方法和设备 | |
CN118301339A (zh) | 图像编码/解码方法以及存储比特流的记录介质 | |
CN118301335A (zh) | 图像编码/解码方法以及存储比特流的记录介质 | |
CN118301338A (zh) | 图像编码/解码方法以及存储比特流的记录介质 | |
CN118301337A (zh) | 图像编码/解码方法以及存储比特流的记录介质 | |
CN118301336A (zh) | 图像编码/解码方法以及存储比特流的记录介质 | |
CN118301340A (zh) | 图像编码/解码方法以及存储比特流的记录介质 | |
CN118301341A (zh) | 图像编码/解码方法以及存储比特流的记录介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |