一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像编译系统中的图像解码方法和设备以及图像编码方法和设备与流程

2021-12-18 02:07:00 来源:中国专利 TAG:


1.本公开涉及一种图像编译技术,更具体地,涉及一种用于通过在图像编译系统中,从多个帧内预测类型导出帧内预测模式候选列表来执行帧内预测的图像解码方法和装置。


背景技术:

2.近来,在各种领域中,对诸如hd(高清)图像和uhd(超高清)图像这样的高分辨率、高质量图像的需求正在增长。因为图像数据具有高分辨率和高质量,所以相对于传统图像数据,待传输的信息或比特的量增加。因此,当使用诸如传统有线/无线宽带线路这样的介质发送图像数据或者使用现有存储介质存储图像数据时,其传输成本和存储成本增加。
3.因此,需要用于有效地发送、存储和再现高分辨率高质量图像的信息的高效图像压缩技术。


技术实现要素:

4.技术问题
5.本公开的技术目的是提供一种提高图像编译效率的方法和装置。
6.本公开的另一个目的是提供一种提高帧内预测的效率的方法和装置。
7.本公开的另一个目的是提供一种用于在构建用于导出帧内预测模式的帧内预测模式候选列表中,将相同的构建过程应用于帧内预测类型的方法和装置。
8.本公开的另一目的是提供一种用于考虑参考线索引来导出在dc帧内预测模式中使用的参考样本的方法和装置。
9.技术方案
10.根据本公开的实施例,提供了一种由解码装置执行的图像解码方法。该方法包括:接收包括用于当前块的预测相关信息的图像信息并且基于图像信息生成当前块的重构样本。
11.根据本公开的另一实施例,提供了一种执行图像解码的解码装置。解码装置包括:熵解码器,被配置为接收包括用于当前块的预测相关信息的图像信息;以及预测器,被配置为基于图像信息生成当前块的重构样本。
12.根据本公开的另一实施例,提供了一种由编码装置执行的图像编码方法。该方法包括:生成当前块的重构样本、生成用于当前块的预测相关信息以及对包括预测相关信息的图像信息进行编码。
13.根据本公开的另一实施例,提供了一种图像编码装置。该编码装置包括:预测器,被配置为生成当前块的重构样本;以及熵编码器,被配置为生成用于当前块的预测相关信息,以对包括预测相关信息的图像信息进行编码。
14.有益效果
15.根据本公开,可以提高整体图像/视频压缩效率。
16.根据本公开,可以使用针对帧内预测类型的统一帧内预测模式列表构建过程来降低硬件和软件实现复杂度。
17.根据本公开,可以通过使用针对帧内预测类型的统一帧内预测模式列表构建过程来减少对帧内预测类型的依赖性,提高帧内预测编译效率。
18.根据本公开,可以通过基于参考图片索引导出在应用mrl并且将帧内预测模式导出为dc帧内预测模式时使用的参考样本来提高帧内预测的编译效率。
19.根据本公开,可以通过基于参考图片索引和当前块的形状导出在应用mrl并且将帧内预测模式导出为dc帧内预测模式时使用的参考样本来提高帧内预测的编译效率。
20.根据本公开,可以通过基于参考图片索引导出在应用mrl并且将帧内预测模式导出为平面帧内预测模式时使用的参考样本来提高帧内预测的编译效率。
附图说明
21.图1简要图示了可应用本公开的实施例的视频/图像编译设备的示例。
22.图2是图示了可以应用本公开的实施例的视频/图像编码装置的配置的示意图。
23.图3是图示了可以应用本公开的实施例的视频/图像解码装置的配置的示意图。
24.图4示意性地示出了编译图像/视频的层级结构。
25.图5示意性地示出了用于编码语法元素的上下文自适应二进制算术编译(cabac)。
26.图6图示了基于帧内预测的视频/图像编码方法的示例。
27.图7图示了基于帧内预测的视频/图像解码方法的示例。
28.图8示意性地示出了帧内预测过程。
29.图9图示了65个预测方向中的帧内定向模式。
30.图10图示了可以在mrl中使用的多条参考线。
31.图11图示了基于块大小,将应用了isp的块分区为子块的示例。
32.图12图示了根据应用的帧内预测导出mpm列表的示例。
33.图13图示了根据本实施例的构建当前块的mpm列表并且导出帧内预测模式的示例。
34.图14图示了根据本实施例的基于帧内预测的编码的示例。
35.图15图示了根据本实施例的基于帧内预测的编码的示例。
36.图16图示了根据本实施例的基于帧内预测的编码的示例。
37.图17图示了在当前块的帧内预测类型是mrl并且当前块的帧内预测模式是dc帧内预测模式时,用于导出dc值的参考样本。
38.图18图示了在当前块的帧内预测类型是mrl并且当前块的帧内预测模式是平面帧内预测模式时使用的参考样本。
39.图19图示了在当前块的帧内预测类型是mrl并且当前块的帧内预测模式是dc帧内预测模式时,用于导出dc值的参考样本。
40.图20图示了在当前块的帧内预测类型是mrl并且当前块的帧内预测模式是平面帧内预测模式时使用的参考样本。
41.图21示意性地图示了由根据本公开的编码装置执行的图像编码方法。
42.图22示意性地图示了执行根据本公开的图像编码方法的编码装置。
43.图23示意性地图示了由根据本公开的解码装置执行的图像解码方法。
44.图24示意性地图示了执行根据本公开的图像解码方法的解码装置。
45.图25图示了应用本公开的内容流传输系统的结构图。
具体实施方式
46.本公开可以以各种形式修改,并且将在附图中描述和例示其特定实施例。然而,实施例并非旨在限制本公开。在以下描述中使用的术语仅用于描述特定实施例,并非旨在限制本公开。只要清楚地以不同的方式理解,单数的表达包括复数的表达。诸如“包括”和“具有”之类的术语旨在表示存在以下描述中使用的特征、数目、步骤、操作、元件、组件或其组合,因此应理解的为不排除存在或添加一个或更多个不同的特征、数目、步骤、操作、元件、组件或其组合的可能性。
47.同时,本发明所描述的附图中的元件是为了便于说明不同的具体功能而独立绘制的,并不意味着这些元件由独立的硬件或独立的软件来体现。例如,可以将这些元件中的两个或更多个元件组合以形成单个元件,或者可以将一个元件划分为多个元件。组合和/或划分元件的实施例属于本公开。
48.本公开涉及视频/图像编译。例如,本公开中公开的方法/实施例可以应用于通用视频编译(vvc)中公开的方法。此外,本公开中公开的方法/实施例可以应用于evc(基本视频编译)标准、aomedia video1(av1)标准、第2代音频视频编译标准(avs2)或下一代视频/图像编译标准(例如,h.267、或h.268等)中公开的方法。
49.本公开呈现了视频/图像编译的各种实施例,并且除非另外提及,否则实施例可以彼此组合地执行。
50.在下文中,将参照附图详细地描述本公开的实施例。另外,在整个附图中,相似的附图标记用于指示相似的元件,并且将省略对相似元件的相同描述。
51.图1简要图示了可应用本公开的实施例的视频/图像编译设备的示例。
52.参照图1,视频/图像编译系统可以包括第一设备(源设备)和第二设备(接收设备)。源设备可以经由数字存储介质或网络以文件或流的形式向接收设备发送编码视频/图像信息或数据。
53.源设备可以包括视频源、编码装置和发送器。接收设备可以包括接收器、解码装置和渲染器。编码装置可以称为视频/图像编码装置,并且解码装置可以称为视频/图像解码装置。发送器可以包括在编码装置中。接收器可以包括在解码装置中。渲染器可以包括显示器,并且显示器可以被配置为单独的设备或外部组件。
54.视频源可以通过捕获、合成或生成视频/图像的处理来获取视频/图像。视频源可以包括视频/图像捕获设备和/或视频/图像生成设备。视频/图像捕获设备可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成设备可以包括例如计算机、平板电脑和智能电话,并且可以(电子地)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可以由生成相关数据的处理代替。
55.编码装置可以对输入的视频/图像进行编码。编码装置可以执行诸如预测、变换和量化的一系列过程,以实现压缩和编译效率。编码数据(编码视频/图像信息)可以以比特流
的形式输出。
56.发送器可以通过数字存储介质或网络以文件或流的形式向接收设备的接收器发送以比特流形式输出的编码后的图像/图像信息或数据。数字存储介质可以包括诸如usb、sd、cd、dvd、蓝光、hdd、ssd等的各种存储介质。发送器可以包括用于通过预定文件格式生成媒体文件的元件,并且可以包括用于通过广播/通信网络进行发送的元件。接收器可以接收/提取比特流,并向解码装置发送接收到的比特流。
57.解码装置可以通过执行与编码装置的操作相对应的诸如解量化、逆变换和预测之类的一系列过程,来对视频/图像进行解码。
58.渲染器可以渲染经解码的视频/图像。经渲染的视频/图像可以通过显示器显示。
59.在本公开中,视频可以是指随时间推移的一系列图像。通常,图片是指表示特定时间区中的一个图像的单元,并且切片(slice)/图块(tile)是构成编译中的图片的一部分的单元。切片/图块可以包括一个或多个编译树单元(ctu)。一个图片可以由一个或多个切片/图块构成。图块是图片中的特定图块列和特定图块行内的ctu的矩形区域。图块列是ctu的矩形区域,该矩形区域的高度等于图片的高度并且宽度由图片参数集中的语法元素指定。图块行是ctu的矩形区域,该矩形区域的高度由图片参数集中的语法元素指定并且宽度等于图片的宽度。图块扫描是对图片进行分区的ctu的特定顺序排序,其中,可以在图块中按ctu光栅扫描对ctu进行连续排序,而可以按图片的图块的光栅扫描对图片中的图块进行连续排序。切片可以包括整数个完整图块或图片的图块内的整数个连续完整ctu行,其可排他地包含在单个nal单元中。
60.同时,图片可以被划分为两个或更多个子图片。子图片可以是图片内一个或多个切片的矩形区域。
61.像素或像元(pel)可以表示组成一个图片(或图像)的最小单位。另外,“样本”可以用作与像素相对应的术语。样本通常可以表示像素或像素值,并且可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
62.单元可以表示图像处理的基本单位。单元可以包括图片的特定区域和与该区域有关的信息中的至少一个。一个单元可以包括一个亮度块和两个色度(例如,cb、cr)块。在一些情况下,单元可以与诸如块或区域之类的术语互换使用。在一般情况下,m
×
n块可以包括m列和n行的样本(或样本阵列)或变换系数的集合(或阵列)。
63.在本说明书中,“a或b”可以是指“仅a”、“仅b”或“a和b”。换言之,在本说明书中,“a或b”可以被解释为“a和/或b”。例如,“a、b或c”在本文中是指“仅a”、“仅b”、“仅c”或“a、b和c的任何一个和任何组合”。
64.本说明书中使用的斜线(/)或逗号(comma)可以是指“和/或”。例如,“a/b”可以是指“a和/或b”。因此,“a/b”可以是指“仅a”、“仅b”或“a和b”。例如,“a,b,c”可以是指“a、b或c”。
65.在本说明书中,“a和b中的至少一个”可以是指“仅a”、“仅b”或“a和b两者”。另外,在本说明书中,表述“a或b中的至少一个”或“a和/或b中的至少一个”可以被解释为与“a和b中的至少一个”相同。
66.另外,在本说明书中,“a、b和c中的至少一个”是指“仅a”、“仅b”、“仅c”或“a、b和c的任意组合”。此外,“a、b或c中的至少一个”或“a、b和/或c中的至少一个”可以是指“a、b和c
中的至少一个”。
67.此外,本说明书中使用的括号可以是指“例如”。具体地,当指示“预测(帧内预测)”时,可能将“帧内预测”作为“预测”的示例提出。换言之,本说明书中的“预测”不限于“帧内预测”,可以将“帧内预测”作为“预测”的示例提出。此外,即使当指示“预测(即,帧内预测)”时,“帧内预测”也可以作为“预测”的示例提出。
68.在本说明书中,在单个附图中单独描述的技术特征可以单独实现或可以同时实现。
69.图2是图示可以应用本公开的实施例的视频/图像编码装置的配置的示意图。在下文中,编码装置可以包括图像编码装置和/或视频编码装置。此外,图像编码方法/装置可以包括视频编码方法/装置。可替代地,视频编码方法/装置可以包括图像编码方法/装置。
70.参照图2,编码装置200包括图像分割器210、预测器220、残差处理器230和熵编码器240、加法器250、滤波器260和存储器270。预测器220可以包括帧间预测器221和帧内预测器222。残差处理器230可以包括变换器232、量化器233、解量化器234和逆变换器235。残差处理器230还可以包括减法器231。加法器250可以称为重构器或重构块生成器。根据实施例,图像分割器210、预测器220、残差处理器230、熵编码器240、加法器250和滤波器260可以由至少一个硬件组件(例如,编码器芯片组或处理器)构成。另外,存储器270可以包括解码图片缓冲器(dpb)或者可以由数字存储介质构成。硬件组件还可以包括作为内部/外部组件的存储器270。
71.图像分割器210可以将输入到编码装置200的输入图像(或图片或帧)分区到一个或更多个处理器中。例如,处理器可以被称为编译单元(cu)。在这种情况下,可以根据四叉树二叉树三叉树(qtbttt)结构从编译树单元(ctu)或最大编译单元(lcu)来递归地分区编译单元。例如,一个编译单元可以基于四叉树结构、二叉树结构和/或三元结构而被分区为深度更深的多个编译单元。在这种情况下,例如,可以首先应用四叉树结构,随后可以应用二叉树结构和/或三元结构。另选地,可以首先应用二叉树结构。可以基于不再分区的最终编译单元来执行根据本公开的编译过程。在这种情况下,可以根据图像特性基于编译效率将最大编译单元用作最终编译单元,或者如果需要,可以将编译单元递归地分区为深度更深的编译单元并且具有最佳大小的编译单元可以用作最终编译单元。这里,编译过程可以包括预测、变换和重构的过程,这将在后面描述。作为另一示例,处理器还可以包括预测单元(pu)或变换单元(tu)。在这种情况下,可以从上述最终编译单元来分割或分区预测单元和变换单元。预测单元可以是样本预测的单元,并且变换单元可以是用于导出变换系数的单元和/或用于从变换系数导出残差信号的单元。
72.在一些情况下,单元可以与诸如块或区域之类的术语互换使用。在一般情况下,m
×
n块可以表示由m列和n行组成的样本或变换系数的集合。样本通常可以表示像素或像素值,可以仅表示亮度分量的像素/像素值,或者仅表示色度分量的像素/像素值。样本可用作与像素或像元的一个图片(或图像)相对应的术语。
73.在编码装置200中,从输入图像信号(原始块、原始样本阵列)中减去从帧间预测器221或帧内预测器222输出的预测信号(预测块、预测样本阵列),以生成残差信号(残差块、残差样本阵列)并且所生成的残差信号被发送到变换器232。在这种情况下,如图所示,在编码器200中用于从输入图像信号(原始块、原始样本阵列)减去预测信号(预测块、预测样本
阵列)的单元可以称为减法器231。预测器可以对要处理的块(在下文中称为当前块)执行预测,并生成包括当前块的预测样本的预测块。预测器可以以当前块或cu为基础来确定是应用帧内预测还是应用帧间预测。如稍后在每个预测模式的描述中所述,预测器可以生成与预测有关的、诸如预测模式信息之类的各种信息,并向熵编码器240发送所生成的信息。关于预测的信息可以在熵编码器240中编码并以比特流的形式输出。
74.帧内预测器222可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考的样本可以位于当前块的附近,或者可以远离当前块。在帧内预测中,预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如dc模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅是示例,依据设置,可以使用更多或更少的定向预测模式。帧内预测器222可以通过使用应用于相邻块的预测模式来确定应用于当前块的预测模式。
75.帧间预测器221可以基于由参考图片上的运动矢量指定的参考块(参考样本阵列)来导出当前块的预测块。这里,为了减少在帧间预测模式下发送的运动信息的量,可以基于相邻块和当前块之间的运动信息的相关性,以块、子块或样本为单位来预测运动信息。运动信息可以包括运动矢量和参考图片索引。运动信息还可包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,相邻块可以包括存在于当前图片中的空间相邻块和存在于参考图片中的时间相邻块。包括参考块的参考图片和包括时间相邻块的参考图片可以相同或不同。时间相邻块可以称为并置参考块、共位cu(colcu)等,并且包括时间相邻块的参考图片可以称为并置图片(colpic)。例如,帧间预测器221可以基于相邻块来配置运动信息候选列表,并且生成指示使用哪个候选来导出当前块的运动矢量和/或参考图片索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器221可以将相邻块的运动信息用作当前块的运动信息。在跳过模式下,与合并模式不同,可能无法发送残差信号。在运动矢量预测(mvp)模式的情况下,可以将相邻块的运动矢量用作运动矢量预测子,并且可以通过发信号通知运动矢量差来指示当前块的运动矢量。
76.预测器220可以基于以下描述的各种预测方法来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测来预测一个块,而且可以同时应用帧内预测和帧间预测二者。这可以称为组合帧间和帧内预测(ciip)。另外,预测器可以基于帧内块复制(ibc)预测模式或调色板模式来预测块。ibc预测模式或调色板模式可用于游戏等的内容图像/视频编译,例如,屏幕内容编码(scc)。ibc基本上在当前图片中执行预测,但是可以类似于帧间预测来执行ibc,因为参考块是在当前图片中导出出的。即,ibc可以使用本公开中描述的帧间预测技术中的至少一种。调色板模式可以被视为帧内编译或帧内预测的示例。当应用调色板模式时,可以基于关于调色板表和调色板索引的信息来发信号通知图片内的样本值。
77.由预测器(包括帧间预测器221和/或帧内预测器222)生成的预测信号可以用于生成重构信号或生成残差信号。变换器232可以通过向残差信号应用变换技术来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、基于图的变换(gbt)或条件非线性变换(cnt)中的至少一种。这里,gbt表示当像素之间的关系信息由图表示时从图获得的变换。cnt是指基于使用所有先前重构的像素生成的预测信号而生成的变换。另外,变换过程可以应用于具有相同大小的正方形像素块,或者可以应用于具有可变大小而
非正方形的块。
78.量化器233可以对变换系数进行量化,并且将它们发送给熵编码器240,并且熵编码器240可以对量化信号(关于量化变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以称为残差信息。量化器233可以基于系数扫描顺序将块类型量化变换系数重新布置为一维矢量形式,并且基于一维矢量形式的量化变换系数来生成关于量化变换系数的信息。可以生成关于变换系数的信息。熵编码器240可以执行各种编码方法,诸如,例如指数哥伦布(golomb)、上下文自适应变长编译(cavlc)、上下文自适应二进制算术编译(cabac)等。熵编码器240可以对除了量化变换系数以外的视频/图像重构所需的信息(例如,语法元素的值等)一起或分开地进行编码。可以以比特流的形式以nal(网络抽象层)为单位发送或存储编码信息(例如,编码视频/图像信息)。视频/图像信息还可以包括关于诸如自适应参数集(aps)、图片参数集(pps)、序列参数集(sps)或视频参数集(vps)之类的各种参数集的信息。另外,视频/图像信息还可包括一般约束信息。在本公开中,从编码装置向解码装置发送/发信号通知的信息和/或语法元素可以包括在视频/图片信息中。视频/图像信息可以通过上述编码过程被编码并且被包括在比特流中。比特流可以通过网络发送,或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,并且数字存储介质可以包括诸如usb、sd、cd、dvd、蓝光、hdd、ssd等的各种存储介质。可以包括发送从熵编码器240输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)作为编码装置200的内部/外部元件,另选地,发送器可以包括在熵编码器240中。
79.从量化器233输出的量化变换系数可以用于生成预测信号。例如,可以通过利用解量化器234和逆变换器235对量化变换系数应用解量化和逆变换,来重构残差信号(残差块或残差样本)。加法器250将重构的残差信号与从帧间预测器221或帧内预测器222输出的预测信号相加,以生成重构信号(重构图片、重构块、重构样本阵列)。如果要处理的块没有残差(诸如应用了跳过模式的情况),则可以将预测块用作重构块。加法器250可以称为重构器或重构块生成器。所生成的重构信号可以用于在当前图片中要处理的下一块的帧内预测,并且可以通过如下所述的滤波用于下一图片的帧间预测。
80.此外,在图片编码和/或重构期间,可以应用亮度映射与色度缩放(lmcs)。
81.滤波器260可以通过对重构信号应用滤波来改善主观/客观图像质量。例如,滤波器260可以通过对重构图片应用各种滤波方法来生成修改后的重构图片,并将修改后的重构图片存储在存储器270(具体地,存储器270的dpb)中。各种滤波方法可包括例如去块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。滤波器260可以生成与滤波有关的各种信息,并且将生成的信息发送给熵编码器240,如稍后在各种滤波方法的描述中所述。与滤波有关的信息可以由熵编码器240编码并且以比特流的形式输出。
82.发送给存储器270的修改后的重构图片可以用作帧间预测器221中的参考图片。当通过编码装置应用帧间预测时,可以避免编码装置200与解码装置之间的预测不匹配,并且可以提高编译效率。
83.存储器270的dpb可以存储用作帧间预测器221中的参考图片的修改后的重构图片。存储器270可以存储从中导出(或编码)当前图片中的运动信息的块的运动信息和/或图片中已重构的块的运动信息。所存储的运动信息可以发送给帧间预测器221,并且用作空间相邻块的运动信息或时间相邻块的运动信息。存储器270可以存储当前图片中的重构块的
重构样本,并且可以将重构样本传送给帧内预测器222。
84.图3是图示可以应用本公开的实施例的视频/图像解码装置的配置的示意图。在下文中,解码装置可以包括图像解码装置和/或视频解码装置。此外,图像解码方法/装置可以包括视频解码方法/装置。可替代地,视频解码方法/装置可以包括图像解码方法/装置。
85.参照图3,解码装置300可以包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350、存储器360。预测器330可以包括帧间预测器332和帧内预测器331。残差处理器320可以包括解量化器321和逆变换器322。根据实施例,熵解码器310、残差处理器320、预测器330、加法器340和滤波器350可以由硬件组件(例如,解码器芯片组或处理器)构成。另外,存储器360可以包括解码图片缓冲器(dpb),或者可以由数字存储介质构成。硬件组件还可以包括存储器360作为内部/外部组件。
86.当输入包括视频/图像信息的比特流时,解码装置300可以与在图2的编码装置中处理视频/图像信息的处理相对应地重构图像。例如,解码装置300可以基于从比特流获得的块分区相关信息来导出单元/块。解码装置300可以使用在编码装置中应用的处理器来执行解码。因此,解码的处理器可以是例如编译单元,并且可以根据四叉树结构、二叉树结构和/或三叉树结构,从编译树单元或最大编译单元对编译单元进行分区。可以从编译单元导出一个或更多个变换单元。可以通过再现装置来再现通过解码装置300解码并输出的重构图像信号。
87.解码装置300可以接收以比特流形式从图2的编码装置输出的信号,并且可以通过熵解码器310对接收到的信号进行解码。例如,熵解码器310可以解析比特流,以导出图像重构(或图片重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于诸如自适应参数集(aps)、图片参数集(pps)、序列参数集(sps)或视频参数集(vps)之类的各种参数集的信息。另外,视频/图像信息还可以包括一般约束信息。解码装置还可以基于关于参数集的信息和/或一般约束信息来对图片进行解码。本公开中稍后描述的发信号通知的/接收的信息和/或语法元素可以通过解码过程被解码,并从比特流中获取。例如,熵解码器310基于诸如指数哥伦布编译、cavlc或cabac之类的编译方法对比特流中的信息进行解码,并输出图像重构所需的语法元素和残差的变换系数的量化值。更具体地,cabac熵解码方法可以接收与比特流中的每个语法元素相对应的bin(二进制位),使用解码目标语法元素信息、解码目标块的解码信息或在先前级中解码的符号/bin的信息来确定上下文模型,并通过根据所确定的上下文模型预测bin的出现概率来对该bin进行算术解码,并且生成与每个语法元素的值相对应的符号。在这种情况下,在确定上下文模型之后,cabac熵解码方法可以通过将经解码的符号/bin的信息用于下一符号/bin的上下文模型来更新上下文模型。由熵解码器310解码的信息当中与预测有关的信息可以提供给预测器(帧间预测器332和帧内预测器331),并且在熵解码器310中对其执行了熵解码的残差值(也就是说,量化变换系数和相关参数信息)可以被输入到残差处理器320。残差处理器320可以导出残差信号(残差块、残差样本、残差样本阵列)。另外,由熵解码器310解码的信息当中关于滤波的信息可以提供给滤波器350。此外,用于接收从编码装置输出的信号的接收器(未示出)可以进一步被配置为解码装置300的内部/外部元件,或者接收器可以是熵解码器310的组件。此外,根据本公开的解码装置可以称为视频/图像/图片解码装置,并且解码装置可以分类为信息解码器(视频/图像/图片信息解码器)和样本解码器(视频/图像/图片样本解码器)。信息解码器
可以包括熵解码器310,并且样本解码器可以包括解量化器321、逆变换器322、加法器340、滤波器350、存储器360、帧间预测器332和帧内预测器331中的至少一个。
88.解量化器321可以对量化变换系数进行解量化并且输出变换系数。解量化器321可以以二维块的形式重新布置量化变换系数。在这种情况下,可以基于在编码装置中执行的系数扫描顺序来执行重新布置。解量化器321可以通过使用量化参数(例如,量化步长信息)对量化变换系数执行解量化,并且获得变换系数。
89.逆变换器322对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
90.预测器可以对当前块执行预测,并生成包括当前块的预测样本的预测块。预测器可以基于从熵解码器310输出的关于预测的信息来确定向当前块应用帧内预测还是帧间预测,并且可以确定具体的帧内/帧间预测模式。
91.预测器320可以基于以下描述的各种预测方法来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测来预测一个块,而且可以同时应用帧内预测和帧间预测。这可以称为组合帧间和帧内预测(ciip)。另外,预测器可以基于帧内块复制(ibc)预测模式或调色板模式来预测块。ibc预测模式或调色板模式可以用于游戏等的内容图像/视频编译,例如,屏幕内容编译(scc)。ibc基本上在当前图片中执行预测,但是可以类似于帧间预测来执行ibc,因为在当前图片中导出参考块。即,ibc可以使用本公开中描述的帧间预测技术中的至少一种。调色板模式可以被视为帧内编译或帧内预测的示例。当应用调色板模式时,可以基于关于调色板表和调色板索引的信息来发信号通知图片内的样本值。
92.帧内预测器331可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考的样本可以位于当前块的附近,或者可以远离当前块。在帧内预测中,预测模式可以包括多个非定向模式和多个定向模式。帧内预测器331可以通过使用应用于相邻块的预测模式来确定应用于当前块的预测模式。
93.帧间预测器332可以基于由参考图片上的运动矢量指定的参考块(参考样本阵列)来导出当前块的预测块。在这种情况下,为了减少在帧间预测模式中发送的运动信息的量,可以基于相邻块和当前块之间的运动信息的相关性,以块、子块或样本为单位来预测运动信息。运动信息可以包括运动矢量和参考图片索引。运动信息还可包括帧间预测方向(l0预测、l1预测、bi预测等)信息。在帧间预测的情况下,相邻块可以包括存在于当前图片中的空间相邻块和存在于参考图片中的时间相邻块。例如,帧间预测器332可以基于相邻块来配置运动信息候选列表,并基于接收到的候选选择信息来导出当前块的运动矢量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示针对当前块的帧间预测的模式的信息。
94.加法器340可以通过将所获得的残差信号与从预测器(包括帧间预测器332和/或帧内预测器331)输出的预测信号(预测块、预测样本阵列)相加来生成重构信号(重构图片、重构块、重构样本阵列)。如果要处理的块没有残差(例如当应用跳过模式时),则可以将预测块用作重构块。
95.加法器340可以称为重构器或重构块生成器。所生成的重构信号可以用于当前图片中要处理的下一块的帧内预测,可以通过如下所述的滤波输出,或者可以用于下一图片的帧间预测。
96.此外,在图片解码处理中可以应用亮度映射与色度缩放(lmcs)。
97.滤波器350可以通过向重构信号应用滤波来改善主观/客观图像质量。例如,滤波器350可以通过对重构图片应用各种滤波方法来生成修改后的重构图片,并将修改后的重构图片存储在存储器360(具体地,存储器360的dpb)中。各种滤波方法可包括例如去块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。
98.存储器360的dpb中存储的(修改后的)重构图片可以用作帧间预测器332中的参考图片。存储器360可以存储从中导出(或解码)当前图片中的运动信息的块的运动信息和/或图片中已重构的块的运动信息。所存储的运动信息可以发送给帧间预测器260,以作为空间相邻块的运动信息或时间相邻块的运动信息来利用。存储器360可以存储当前图片中的重构块的重构样本,并且可以将重构样本传送给帧内预测器331。
99.在本公开中,在编码装置200的滤波器260、帧间预测器221和帧内预测器222中描述的实施例可以与解码装置300的滤波器350、帧间预测器332和帧内预测器331相同或者分别被应用以对应于解码装置300的滤波器350、帧间预测器332和帧内预测器331。相同的内容也可以应用于帧间预测器332和帧内预测器331。
100.图4示意性地示出了编译图像/视频的层级结构。
101.参考图4,将编译的图像/视频分为处置图像/视频及其自身的解码处理的视频编译层(vcl)、发送和存储编译信息的子系统,以及存在于vcl和子系统之间并且负责网络适配功能的网络抽象层(nal)。
102.在vcl中,可以生成包括压缩视频数据(切片数据)的vcl数据,或者可以生成视频解码过程额外所需的补充增强信息(sei)消息或包括诸如图片参数集(pps)、序列参数集(sps)、视频参数集(vps)的信息的参数集。
103.在nal中,可以通过向在vcl中生成的原始字节序列有效载荷(rbsp)添加头信息(nal单元头)来生成nal单元。在这种情况下,rbsp是指在vcl中生成的切片数据、参数集、sei消息等。nal单元头可以包括根据包括在相应nal单元中的rbsp数据指定的nal单元类型信息。
104.如图所示,nal单元可以根据vcl中生成的rbsp分为vcl nal单元和非vcl nal单元。vcl nal单元可以是指包括关于图像(切片数据)的信息的nal单元,非vcl nal单元可以是指包括解码图像所需的信息(参数集或sei消息)的nal单元。
105.可以根据子系统的数据标准,通过附加头信息,经网络发送上述vcl nal单元和非vcl nal单元。例如,nal单元可以被变换成预定标准的数据形式,诸如h.266/vvc文件格式、实时传送协议(rtp)、传送流(ts),并且通过各种网络发送。
106.如上所述,在nal单元中,可以根据包括在相应nal单元中的rbsp数据结构来指定nal单元类型,并且可以在nal单元头中存储和发信号通知关于该nal单元类型的信息。
107.例如,根据nal单元是否包括图像信息(切片数据),nal单元可以主要分为vcl nal单元类型和非vcl nal单元类型。vcl nal单元类型可以根据包括在vcl nal单元中的图片的属性和类型进行分类,并且非vcl nal单元类型可以根据参数集的类型进行分类。
108.以下是根据非vcl nal单元类型中包括的参数集的类型指定的nal单元类型的示例。
109.‑
自适应参数集(aps)nal单元:包含aps的nal单元的类型
110.‑
解码参数集(dps)nal单元:包含dps的nal单元的类型
111.‑
视频参数集(vps)nal单元:包含vps的nal单元的类型
112.‑
序列参数集(sps)nal单元:包含sps的nal单元的类型
113.‑
pps(图片参数集)nal单元:包含pps的nal单元的类型
114.‑
图片头(ph)nal单元:包含ph的nal单元的类型
115.上述nal单元类型可以具有用于nal单元类型的语法信息,并且可以在nal单元头中存储和发信号通知该语法信息。例如,语法信息可以是nal_unit_type,并且nal单元类型可以由nal_unit_type值指定。
116.同时,如上所述,一个图片可以包括多个切片,并且一个切片可以包括切片头和切片数据。在这种情况下,可以针对一个图片中的多个切片(切片头和切片数据集)进一步添加一个图片头。图片头(图片头语法)可以包括通常适用于图片的信息/参数。在本公开中,切片可以与图块组混合或由图块组代替。此外,在本公开中,切片头可以与类型组头混合或由类型组头代替。
117.切片头(切片头语法)可以包括通常适用于切片的信息/参数。aps(aps语法)或pps(pps语法)可以包括通常适用于一个或多个切片或图片的信息/参数。sps(sps语法)可以包括通常适用于一个或多个序列的信息/参数。vps(vps语法)可以包括通常适用于多个层的信息/参数。dps(dps语法)可以包括通常适用于整个视频的信息/参数。dps可以包括与编译视频序列(cvs)的级联相关的信息/参数。在本公开中,高级语法(hls)可以包括aps语法、pps语法、sps语法、vps语法、dps语法、图片头语法和切片头语法中的至少一种。
118.在本公开中,由编码装置编码并以比特流的形式发信号通知解码装置的图像/视频信息不仅可以包括图片分区相关信息、帧内/帧间预测信息、残差信息、环内滤波信息等,而且可以包括切片头中包括的信息、图片头中包括的信息、aps中包括的信息、pps中包括的信息、sps中包括的信息、vps中包括的信息和/或dps中包括的信息。另外,图像/视频信息可以进一步包括nal单元头的信息。
119.此外,如上所述,编码装置可以执行各种编码方法,诸如(例如)指数哥伦布、上下文自适应可变长度编译(cavlc)和上下文自适应二进制算术编译(cabac)。另外,解码装置可以基于编译方法,诸如指数哥伦布编译、cavlc或cabac,对比特流中的信息进行解码,并且输出图像重构所需的语法元素的值和与残差有关的变换系数的量化值。
120.例如,可以如下所述执行上述编译方法。
121.图5示意性地示出了用于编码语法元素的上下文自适应二进制算术编译(cabac)。例如,在cabac编码过程中,当输入信号是语法元素而不是二进制值时,编码装置可以通过对输入信号的值进行二值化来将输入信号转换为二进制值。另外,当输入信号已经是二进制值时(即,当输入信号的值为二进制值时),可以不执行二值化,并且可以旁路二值化。在此,构成二进制值的每个二进制数0或1可以被称为bin。例如,如果二值化后的二进制串为110,则1、1、0中的每一个被称为一个bin。用于一个语法元素的bin可以指示语法元素的值。
122.此后,可以将语法元素的二值化bin输入到常规编码引擎或旁路编码引擎。编码装置的常规编码引擎可以对相应的bin分配反映概率值的上下文模型,并且可以基于所分配的上下文模型对相应的bin进行编码。在对每个bin进行编码之后,编码装置的常规编码引擎可以更新用于相应bin的上下文模型。如上所述的编码bin可以被称为上下文编译的bin。
123.同时,当语法元素的二值化bin被输入到旁路编码引擎时,它们可以被如下编译。
例如,编码装置的旁路编码引擎省略了估计关于输入bin的概率的过程,以及在编码后更新应用于bin的概率模型的过程。当应用旁路编码时,编码装置可以通过应用均匀概率分布而不是分配上下文模型来对输入bin进行编码,从而提高编码速度。如上所述的编码bin可以被称为旁路bin。
124.熵解码可以表示以相反的顺序执行与上述熵编码相同的过程的过程。
125.例如,当基于上下文模型对语法元素进行解码时,解码装置可以通过比特流接收与语法元素对应的bin,可以使用语法元素和解码目标块或相邻块的解码信息或者上一步解码的符号/bin的信息来确定上下文模型,可以通过根据所确定的上下文模型预测所接收到的bin的出现概率并且对bin执行算术解码,来导出语法元素的值。此后,可以利用所确定的上下文模型来更新下一个解码bin的上下文模型。
126.此外,例如,当旁路解码语法元素时,解码装置可以通过比特流接收与语法元素对应的bin,并且可以通过应用均匀概率分布来对输入bin进行解码。在这种情况下,解码装置可以省略用于导出语法元素的上下文模型的过程以及用于解码之后更新应用于bin的上下文模型的过程。
127.同时,当如上所述执行视频编译时,执行预测以提高压缩效率。因此,可以生成包括用于作为编译目标块的当前块的预测样本的预测块。例如,当执行上述帧内预测时,可以使用样本之间的相关性,并且可以获得原始块和预测块之间的差,即残差。可以将上述变换和量化应用于该残差以去除空间冗余。具体地,使用帧内预测的编码方法和解码方法可以如下。
128.图6图示了基于帧内预测的视频/图像编码方法的示例。
129.参照图6,编码设备对当前块执行帧内预测(s600)。编码设备导出当前块的帧内预测模式/类型,导出当前块的相邻参考样本,基于帧内预测模式/类型和相邻参考样本生成当前块中的预测样本。在此,帧内预测模式/类型确定、相邻参考样本导出和预测样本生成过程可以同时执行,或者一个过程可以在另一个过程之前执行。编码设备可以从多个帧内预测模式/类型中确定应用于当前块的模式/类型。编码设备可以比较帧内预测模式/类型的rd成本并且确定当前块的最佳帧内预测模式/类型。
130.同时,编码设备可以执行预测样本滤波过程。预测样本滤波可以被称为后滤波。一些或所有预测样本可以由预测样本滤波过程滤波。在一些情况下,可以省略预测样本滤波过程。
131.编码设备基于(滤波的)预测样本生成当前块的残差样本(s610)。编码设备可以基于相位比较当前块的原始样本中的预测样本并且导出残差样本。
132.编码设备可以对包括关于帧内预测的信息(预测信息)和关于残差样本的残差信息的图像信息进行编码(s620)。预测信息可以包括帧内预测模式信息和帧内预测类型信息。编码设备可以以比特流的形式输出编码的图像信息。输出比特流可以通过存储介质或网络发送到解码设备。
133.残差信息可以包括稍后所述的残差编译语法。编码设备可以变换/量化残差样本以导出量化的变换系数。残差信息可以包括关于量化的变换系数的信息。
134.同时,如上所述,编码设备可以生成重构图片(包括重构样本和重构块)。为此,编码设备可以通过对量化的变换系数再次执行逆量化/逆变换来导出(修改的)残差样本。以
这种方式对残差样本进行变换/量化之后再次执行逆量化/逆变换的原因是为了导出与上述解码设备中导出的残差样本相同的残差样本。编码设备可以基于预测样本和(修改的)残差样本生成包括用于当前块的重构样本的重构块。可以基于重构块生成用于当前图片的重构图片。如上所述,环内滤波过程可以被进一步应用于重构图片。
135.图7图示了基于帧内预测的视频/图像解码方法的示例。
136.解码设备可以执行与编码装置执行的操作相对应的操作。
137.可以从比特流中获得预测信息和残差信息。可以基于残差信息导出当前块的残差样本。具体地,可以通过基于根据残差信息导出的量化变换系数执行逆量化来导出变换系数,通过对变换系数执行逆变换来导出当前块的残差样本。
138.具体地,解码设备可以基于所接收的预测信息(帧内预测模式/类型信息),导出当前块的帧内预测模式/类型(s700)。解码设备可以导出当前块的相邻参考样本(s710)。解码设备基于帧内预测模式/类型和相邻参考样本,生成当前块中的预测样本(s720)。在这种情况下,解码设备可以执行预测样本滤波过程。预测样本滤波可以被称为后滤波。一些或所有预测样本可以由预测样本滤波过程滤波。在一些情况下,可以省略预测样本滤波过程。
139.解码设备基于接收到的残差信息生成用于当前块的残差样本(s730)。解码设备可以基于预测样本和残差样本,生成当前块的重构样本,并且可以导出包括重构样本的重构块(s740)。可以基于重构块生成当前图片的重构图片。如上所述,环内滤波过程可以被进一步应用于重构图片。
140.帧内预测模式信息可以包括例如标志信息(例如,intra_luma_mpm_flag),其指示是否将mpm(最可能模式)应用于当前块或是否应用剩余模式,并且当将mpm应用于当前块时,预测模式信息可以进一步包括指示帧内预测模式候选(mpm候选)之一的索引信息(例如,intra_luma_mpm_idx)。帧内预测模式候选(mpm候选)可以由mpm候选列表或mpm列表构成。另外,当mpm没有应用于当前块时,帧内预测模式信息包括指示除了帧内预测模式候选(mpm候选)之外的剩余帧内预测模式之一的剩余模式信息(例如intra_luma_mpm_remainder)。解码设备可以基于帧内预测模式信息,确定当前块的帧内预测模式。
141.此外,可以以各种形式实现帧内预测类型信息。例如,帧内预测类型信息可以包括指示帧内预测类型之一的帧内预测类型索引信息。作为另一示例,帧内预测类型信息可以包括表示是否将mrl应用于当前块,并且如果应用,使用哪个参考样本线的参考样本线信息(例如,intra_luma_ref_idx)、表示是否将isp应用于当前块的isp标志信息(例如intra_subpartitions_mode_flag)、当应用isp时指示子分区的分割类型的isp类型信息(例如intra_subpartitions_split_flag)、表示是否应用pdcp的标志信息或表示是否应用lip的标志信息中的至少一个。此外,帧内预测类型信息可以包括表示是否将基于矩阵的帧内预测(mip)应用于当前块的mip标志。
142.可以通过本公开中描述的编译方法,对帧内预测模式信息和/或帧内预测类型信息进行编码/解码。例如,可以通过熵编译(例如,cabac、cavlc)对帧内预测模式信息和/或帧内预测类型信息进行编码/解码。
143.图8示意性地示出了帧内预测过程。
144.参照图8,如上所述,帧内预测过程可以包括确定帧内预测模式/类型的步骤、导出相邻参考样本的步骤和执行帧内预测(生成预测样本)的步骤。帧内预测过程可以由如上所
述的编码设备和解码设备执行。在本公开中,编译设备可以包括编码设备和/或解码设备。
145.参照图8,编译设备确定帧内预测模式/类型s800。
146.编码设备可以从上述各种帧内预测模式/类型中确定应用于当前块的帧内预测模式/类型,并且可以生成预测相关信息。预测相关信息可以包括表示应用于当前块的帧内预测模式的帧内预测模式信息和/或表示应用于当前块的帧内预测类型的帧内预测类型信息。解码设备可以基于预测相关信息确定应用于当前块的帧内预测模式/类型。
147.帧内预测模式信息可以包括例如表示将最可能模式(mpm)应用于当前块还是应用剩余模式的标志信息(例如,intra_luma_mpm_flag),以及当将mpm应用于当前块时,预测模式信息可以进一步包括指示帧内预测模式候选(mpm候选)之一的索引信息(例如,intra_luma_mpm_idx)。帧内预测模式候选(mpm候选)可以由mpm候选列表或mpm列表构成。另外,当mpm没有应用于当前块时,帧内预测模式信息可以进一步包括指示除了帧内预测模式候选(mpm候选)之外的剩余帧内预测模式之一的剩余模式信息(例如,intra_luma_mpm_remainder)。解码设备可以基于帧内预测模式信息确定当前块的帧内预测模式。
148.另外,可以以各种形式实现帧内预测类型信息。例如,帧内预测类型信息可以包括指示帧内预测类型之一的帧内预测类型索引信息。作为另一示例,帧内预测类型信息可以包括表示是否将mrl应用于当前块,并且如果应用,使用哪个参考样本线的参考样本线信息(例如,intra_luma_ref_idx)、表示是否将isp应用于当前块的isp标志信息(例如intra_subpartitions_mode_flag)、当应用isp时指示子分区的分割类型的isp类型信息(例如intra_subpartitions_split_flag)、表示是否应用pdcp的标志信息或表示是否应用lip的标志信息中的至少一个。此外,帧内预测类型信息可以包括表示是否将基于矩阵的帧内预测(mip)应用于当前块的mip标志。
149.例如,当应用帧内预测时,可以使用相邻块的帧内预测模式来确定应用于当前块的帧内预测模式。例如,编译设备可以选择基于附加候选模式和/或当前块的相邻块(例如,左和/或上相邻块)的帧内预测模式导出的mpm列表中的最可能模式(mpm)候选之一或基于mpm剩余信息(剩余帧内预测模式信息)选择未包括在mpm候选(和平面模式)中的剩余帧内预测模式之一。mpm列表可以被配置为包括或不包括平面模式作为候选。例如,当mpm列表将平面模式包括为候选时,mpm列表可以有6个候选,当mpm列表不将平面模式包括为候选时,mpm列表可以有5个候选。当mpm列表不将平面模式包括为候选时,可以发信号通知表示当前块的帧内预测模式是否不是平面模式的非平面标志(例如,intra_luma_not_planar_flag)。例如,可以首先发信号通知mpm标志,并且当mpm标志的值为1时,可以发信号通知mpm索引和非平面标志。此外,当非平面标志的值为1时,可以发信号通知mpm索引。在此,配置mpm列表不将平面模式包括为候选的事实是平面模式总是被认为是mpm而不是认为平面模式不是mpm,因此,首先发信号通知标志(非平面标志)以检查它是否是平面模式。
150.例如,可以基于mpm标志(例如,intra_luma_mpm_flag)指示应用于当前块的帧内预测模式是在mpm候选(和平面模式)之中还是在剩余模式之中。值为1的mpm标志可以指示当前块的帧内预测模式在mpm候选(和平面模式)内,而值为0的mpm标志可以指示当前块的帧内预测模式不在mpm候选(和平面模式)内。值为0的非平面标志(例如intra_luma_not_planar_flag)可以指示当前块的帧内预测模式为平面模式,值为1的非平面标志可以指示当前块的帧内预测模式不是平面模式。可以以mpm_idx或intra_luma_mpm_idx语法元素的
形式发信号通知mpm索引,并且可以以rem_intra_luma_pred_mode或intra_luma_mpm_remainder语法元素的形式发信号通知剩余帧内预测模式信息。例如,剩余帧内预测模式信息可以通过按照预测模式编号的顺序索引来指示所有帧内预测模式当中的未包括在mpm候选(和平面模式)中的剩余帧内预测模式之一。帧内预测模式可以是亮度分量(样本)的帧内预测模式。在下文中,帧内预测模式信息可以包括mpm标志(例如intra_luma_mpm_flag)、非平面标志(例如intra_luma_not_planar_flag)、mpm索引(例如mpm_idx或intra_luma_mpm_idx)或剩余的帧内预测模式信息(rem_intra_luma_luma_mpm_mode或intra_luma_mpminder)中的至少一个。在本公开中,mpm列表可以用多种术语,诸如mpm候选列表和candmodelist来指代。
151.当将mip应用于当前块时,可以发信号通知用于mip的单独mpm标志(例如,intra_mip_mpm_flag)、mpm索引(例如,intra_mip_mpm_idx)和剩余帧内预测模式信息(例如,intra_mip_mpm_remainder),并且可以不发信号通知非平面标志。
152.换言之,一般而言,当执行图像的块分区时,待编译的当前块和相邻块具有相似的图像特征。因此,当前块和相邻块具有相同或相似的帧内预测模式的可能性很高。因此,编码器可以使用相邻块的帧内预测模式来对当前块的帧内预测模式进行编码。
153.编译设备可以为当前块构建最可能模式(mpm)列表。mpm列表可以被称为mpm候选列表。在此,mpm可以是指用于在帧内预测模式编译期间,考虑当前块和相邻块之间的相似性来提高编译效率的模式。如上所述,mpm列表可以被构造为包括平面模式,或者可以被构造为排除平面模式。例如,当mpm列表包括平面模式时,mpm列表中的候选数量可以是6。而当mpm列表不包括平面模式时,mpm列表中的候选数量可以是5。
154.编码设备可以基于各种帧内预测模式执行预测,并且可以基于根据其的速率失真优化(rdo)来确定最佳帧内预测模式。在这种情况下,编码设备可以通过仅使用mpm列表中配置的mpm候选和平面模式,或者通过进一步使用剩余帧内预测模式以及mpm列表中配置的mpm候选和平面模式来确定最佳帧内预测模式。具体地,例如,如果当前块的帧内预测类型是正常帧内预测类型以外的特定类型(例如lip、mrl或isp),则编码设备可以通过仅将mpm候选和平面模式视作当前块的帧内预测模式候选来确定最佳帧内预测模式。即,在这种情况下,可以仅从mpm候选和平面模式中确定当前块的帧内预测模式,并且在这种情况下,可以不执行mpm标志的编码/信令。在这种情况下,解码设备可以推断mpm标志为1,而无需单独地发信号通知mpm标志。
155.同时,通常,在当前块的帧内预测模式不是平面模式,而是mpm列表中的mpm候选之一时,编码设备生成指示mpm候选之一的mpm索引(mpm idx)。在当前块的帧内预测模式未被包括在mpm列表中时,编码设备生成mpm剩余信息(剩余帧内预测模式信息),指示未包括在mpm列表(和平面模式)中的剩余帧内预测模式当中的与当前块的帧内预测模式相同的模式。mpm剩余信息可以包括例如intra_luma_mpm_remainder语法元素。
156.解码设备从比特流中获得帧内预测模式信息。如上所述,帧内预测模式信息可以包括mpm标志、非平面标志、mpm索引和mpm剩余信息(剩余帧内预测模式信息)中的至少一个。解码设备可以构建mpm列表。mpm列表的构建与在编码设备中构建的mpm列表相同。即,mpm列表可以包括相邻块的帧内预测模式,或者可以进一步包括根据预定方法的特定帧内预测模式。
157.解码设备可以基于mpm列表和帧内预测模式信息确定当前块的帧内预测模式。例如,当mpm标志的值为1时,解码设备可以(基于非平面标志)将平面模式导出为当前块的帧内预测模式,或者将mpm列表的mpm候选当中的由mpm索引指示的候选导出为当前块的帧内预测模式。在此,mpm候选可以仅表示mpm列表中包括的候选,也可以不仅包括mpm列表中包括的候选,而且包括mpm标志的值为1时适用的平面模式。
158.又例如,当mpm标志的值为0时,解码设备可以将在未包括在mpm列表和平面模式中的剩余帧内预测模式当中的由剩余帧内预测模式信息(可以被称为mpm剩余信息)指示的帧内预测模式导出为当前块的帧内预测模式。同时,作为另一示例,在当前块的帧内预测类型是特定类型(例如lip、mrl或isp等)时,解码设备可以将由平面模式或mpm列表中的mpm标志指示的候选导出为当前块的帧内预测模式,无需解析/解码/检查mpm标志。
159.编译设备导出当前块的相邻参考样本s810。当帧内预测被应用于当前块时,可以导出要用于当前块的帧内预测的相邻参考样本。当前块的相邻参考样本可以包括与大小为nwxnh的当前块的左边界相邻的样本和与当前块的左下相邻的总共2xnh个样本、与当前块的上边界相邻的样本和与右上相邻的总共2xnw个样本以及与当前块的左上相邻的样本。可替代地,当前块的相邻参考样本可以包括多列上相邻样本和多行左相邻样本。此外,当前块的相邻参考样本可以包括与大小为nwxnh的当前块的右边界相邻的总共nh个样本、与当前块的下边界相邻的总共nw个样本以及与当前块的右下相邻的样本。
160.另一方面,当应用mrl时(即当mrl索引的值大于0时),相邻参考样本可能位于线1至2而不是在左/上侧与当前块相邻的线0,以及在这种情况下,可以进一步增加相邻参考样本的数量。同时,当应用isp时,可以以子分区为单位导出相邻参考样本。
161.编译设备通过对当前块执行帧内预测来导出预测样本s820。编译设备可以基于帧内预测模式/类型和相邻样本来导出预测样本。编译设备可以根据当前块的相邻参考样本中的当前块的帧内预测模式来导出参考样本,并且可以基于参考样本来导出当前块的预测样本。
162.同时,当帧内预测应用于当前块时,编码装置/解码装置可以导出当前块的帧内预测模式,并基于帧内预测模式导出当前块的预测样本,如上所述。即,编码装置/解码装置可以通过基于当前块的相邻参考样本应用定向或非定向模式来导出当前块的预测样本。
163.作为参考,帧内预测模式可以包括例如两个非定向(或非角度)帧内预测模式和65个定向(或角度)帧内预测模式。非定向帧内预测模式可以包括平面帧内预测模式#0和dc帧内预测模式#1,以及定向帧内预测模式可以包括65个帧内预测模式#2至#66。然而,这是示例,并且本公开也可以应用于不同数量的帧内预测模式的情况。可以根据需要另外使用帧内预测模式#67,并且帧内预测模式#67可以表示线性模型(lm)模式。
164.图9图示了65个预测方向中的帧内定向模式。
165.参照图9,基于左上对角预测方向上的帧内预测模式#34,帧内预测模式可以被划分为具有水平方向性的帧内预测模式和具有垂直方向性的帧内预测模式。在图9中,h和v表示水平方向性和垂直方向性,数字

32至32指示在样本网格位置处以1/32为单位的位移。帧内预测模式#2至#33具有水平方向性,而帧内预测模式#34至#66具有垂直方向性。帧内预测模式#18和帧内预测模式#30分别是水平帧内预测模式和垂直帧内预测模式,帧内预测模式#2可以被称为左下对角帧内预测模式,帧内预测模式#34可以被称为左上对角帧内预测
模式,而帧内预测模式#55可以称为右上对角帧内预测模式。
166.作为帧内预测的实施例,可以提出一种从当前块的多条参考样本线中选择具有最高预测准确度的参考样本线并使用位于所选参考样本线中的预测方向的参考样本导出预测样本的方法。这种方法可以被称为多参考线(mrl)帧内预测或基于mrl的帧内预测。
167.具体地,在传统的帧内预测中,可以将仅当前块上方的第一条线的相邻样本和当前块的左侧的第一条线的相邻样本用作为用于帧内预测的参考样本。然而,在mrl中,可以将位于与当前块相隔1、2或3个样本距离的上和/或左样本线中的相邻样本用作参考样本来执行帧内预测。
168.图10图示了可以在mrl中使用的多条参考线。当执行mrl时,解码装置可以接收参考线索引。参考线索引可以指示多条参考线之一。解码装置可以基于由参考线索引指示的参考线中的参考样本来执行帧内预测。参考线索引的语法元素可以是intra_luma_ref_idx。此外,对于ctu中的第一线(即第一行)的块,可以禁用mrl。
169.作为帧内预测的实施例,可以提出在水平方向或垂直方向上对当前块进行分区并且以分区的块为单位执行帧内预测的方法。即,可以提出在水平方向或垂直方向上分区当前块以导出子块并对子块执行帧内预测的方法。在这种情况下,可以对每个分区子块进行编码/解码以生成重构块,并且可以将重构块用作下一个分区子块的参考块。上述方法也可以被称为帧内子分区预测(isp预测)、帧内子分区(isp)模式或基于帧内子分区(isp)的预测。另外,上述方法也可以被称为基于isp的帧内预测。此外,子块可以被称为帧内子分区。此外,根据isp分区的子块(或子分区)可以被称为变换单元(tu)。
170.根据isp,可以根据当前块的大小,将当前块在垂直或水平方向上分区为两个或四个子分区。例如,在执行isp时,可以根据当前块的大小,将当前块分区为下表所示的子块数量。
171.[表1]
[0172]
块大小(cu)分区数4
×
4无分区4
×
8,8
×
42其他情形4
[0173]
参考表1,在当前块的大小为4
×
4时,可以禁用isp。当前块的大小为4
×
8或8
×
4时,可以将当前块分区为两个子块,而在当前块的大小具有除4
×
4、4
×
8和8
×
4以外的大小(即大小大于4
×
8或8
×
4)时,可以将当前块分区为四个子块。
[0174]
图11图示了基于块大小,将应用了isp的块分区为子块的示例。参考图11的(a),在当前块的大小为4
×
8或8
×
4时,可以将当前块分区为两个子块。参考图11的(b),在当前块具有除4
×
4、4
×
8和8
×
4之外的大小(即,大小大于4
×
8或8
×
4)时,可以将当前块分区为四个子块。
[0175]
同时,m
×
128(m≤64)和128
×
n(n≤64)isp块(即帧内子分区)对于64
×
64vdpu可能会带来潜在的问题。例如,单个树中的m
×
128cu可能具有m
×
128亮度tb和与亮度tb对应的两个m/2
×
64色度tb。当将isp应用于cu时,亮度tb可以被分区为4个m
×
32tb,即4个m
×
32子块(只能水平分割),并且每个tb小于64
×
64的块。然而,在这种情况下,根据当前的视频标准,在设计中可能不会分区应用了isp的色度块。因此,亮度分量tb的两个色度分量tb的
大小大于32
×
32。同样,128
×
n cu可能会导致与上述情况类似的情况。因此,上述两种情况可能会成为64
×
64解码器流水线中的问题。为此,可以使用isp的cu的最大大小可以被限制到64
×
64。
[0176]
当应用isp时,编码装置可以根据分区方法(例如,水平分割或垂直分割)生成mpm列表以便降低编译复杂度,并在速率失真优化(rdo)方面比较所生成的mpm列表中的帧内预测模式以导出最佳帧内预测模式。当使用上述mrl时,不能使用isp。也就是说,只有当第0参考线用于帧内预测时(即,intra_luma_ref_idx的值为0时),才可以应用isp。此外,当使用isp时,不能使用位置相关帧内预测(pdpc)。
[0177]
可以每块发送指示是否应用isp的标志,并且当将isp应用于当前块时,可以编码/解码指示分割类型是水平分割还是垂直分割,即分割方向是水平方向还是垂直方向的标志。指示是否应用isp的标志可以被称为isp标志,isp标志的语法元素可以是intra_subpartitions_mode_flag。进一步地,指示分割类型的标志可以被称为isp分割标志,并且isp分割类型的语法元素可以是intra_subpartitions_split_flag。
[0178]
与isp相关的语法元素如下表所示。
[0179]
[表2]
[0180][0181]
在表2中,intra_luma_ref_idx可以是参考线索引的语法元素。当应用isp时,当前块的帧内预测模式可以同等地应用于当前块的子分区,并且可以通过导出每个子分区的相邻参考样本来执行帧内预测以提高帧内预测性能。即,当应用isp时,可以对每个子分区执行残差样本处理过程。换句话说,可以对每个子分区执行帧内预测以导出预测样本,并且可
以将针对每个子分区的残差信号(残差样本)添加到针对每个子分区的预测样本以导出重构样本。可以基于比特流中的残差信息(量化的变换系数信息或残差编译语法),通过逆量化/逆变换过程导出残差信号(残差样本)。当分割类型为垂直分割时,可以从最左子分区到最右子分区执行对子分区的帧内预测,以及当分割类型为水平分割时,可以从最上子分区到最下子分区执行对子分区的帧内预测。
[0182]
例如,可以对当前块的第一子分区执行帧内预测以导出预测样本,可以基于关于第一子分区的残差信息导出针对第一子分区的残差样本,并且可以基于预测样本和残差样本来导出针对第一子分区的重构样本。在此,如果应用isp的当前块的分割类型是垂直分割,则第一子分区可以是最左子块,而如果应用isp的当前块的分割类型是水平分割,则第一子分区可以是最上子块。
[0183]
随后,在导出针对第二子分区的预测样本的过程中,可以将第一子分区中的一些重构样本用作针对第二子分区的相邻参考样本(例如,第二子分区的左或上相邻参考样本)。具体地,可以对当前块的第二子分区执行帧内预测以导出预测样本,可以基于关于第二子分区的残差信息,导出针对第二子分区的残差样本,以及可以基于预测样本和残差样本导出针对第二子分区的重构样本。同样地,当执行针对第三子分区导出预测样本的过程时,第二子分区中的一些重构样本可以被用作针对第三子分区的相邻参考样本(例如,第三子分区的左或上相邻参考样本)。同样地,当执行导出针对第四子分区的预测样本的过程时,可以将第三子分区中的一些重构样本用作针对第四子分区的相邻参考样本(例如,第四子分区的左或上相邻参考样本)。
[0184]
同时,作为帧内预测的另一实施例,可以提出组合帧间和帧内预测(ciip)。ciip可以表示基于帧间预测和帧内预测导出当前块的预测样本的过程。例如,当将ciip应用于当前块时,可以导出出当前块的帧内预测模式,并且可以基于帧内预测模式导出当前块的第一预测样本。此后,可以通过对当前块执行帧间预测,导出当前块的第二预测样本,以及通过对第一预测样本和第二预测执行加权求和(即加权平均)导出当前块的预测样本。在此,第一预测样本可以被称为帧内预测样本,而第二预测样本可以被称为帧间预测样本。此外,例如,用于当前块的帧间预测可以是根据一般合并模式的帧间预测。具体地,例如,可以基于当前块的相邻块的运动信息,构建当前块的合并候选列表,并且基于合并候选列表中由当前块的合并索引指示的合并候选,导出当前块的运动信息,并且可以基于运动信息导出当前块的第二预测样本。
[0185]
此外,例如,可以发信号通知表示是否将ciip应用于当前块的ciip标志,并且可以基于ciip标志来确定是否将ciip应用于当前块。例如,当以合并模式编译当前块,并且当前块包括至少64个亮度样本(即当前块的宽度和高度的乘积为64或更大)时,可以发信号通知ciip标志。
[0186]
此外,例如,可以基于两个语法元素导出当应用ciip时的当前块的帧内预测模式。例如,可以将最多四种帧内预测模式之一用作帧内预测模式。四种帧内预测模式可以包括dc帧内预测模式、平面帧内预测模式、水平帧内预测模式和/或垂直帧内预测模式。
[0187]
例如,在用于亮度分量的ciip中,可以使用最多四种帧内预测模式,包括dc帧内预测模式、平面帧内预测模式、水平帧内预测模式和垂直帧内预测模式。此外,例如,在当前块的宽度大于高度的两倍时,垂直帧内预测模式可能不可用。在这种情况下,仅三种帧内预测
模式可用。此外,例如,在当前块的高度大于宽度的两倍时,垂直帧内预测模式可能不可用。在这种情况下,仅三种帧内预测模式可用。
[0188]
具体地,例如,当ciip应用于当前块时,可以如下导出当前块的帧内预测模式。例如,可以如下构造包括用于当前块的最可能模式(mpm)候选的mpm列表。例如,mpm列表可以包括三个mpm候选。
[0189]
例如,当前块的左相邻块可以被设置为a,而上相邻块可以被设置为b。此后,可以如下导出由intramodea和intramodeb指示的左相邻块a和上相邻块b的帧内预测模式。
[0190]

将x设定为a或b
[0191]

1)当块x不可用时,2)当不使用ciip或帧内预测模式预测块x时,3)当块b位于当前ctu之外时,可以将intramodex设置为dc帧内预测模式。在此,当前ctu可以指包括当前块的ctu。
[0192]

否则,1)当块x的帧内预测模式为dc帧内预测模式或平面帧内预测模式时,intramodex可以被设置为块x的帧内预测模式,即dc帧内预测模式或平面帧内预测模式,或2)当块x的帧内预测模式为类垂直定向帧内预测模式(即帧内预测模式#35至#66)时,可以将intramodex设置为垂直帧内预测模式,或3)当块x的帧内预测模式为类水平定向帧内预测模式(即帧内预测模式#2至#34)时,可以将intramodex设置为水平帧内预测模式。
[0193]
此后,可以基于导出的intramodea和intramodeb导出mpm候选。
[0194]

例如,当intramodea和intramodeb相同时:
[0195]

当intramodea为平面帧内预测模式或dc帧内预测模式时,可以将三个mpm候选依次设置为{平面帧内预测模式、dc帧内预测模式、垂直帧内预测模式}。
[0196]

或者,否则,即当intramodea不是平面帧内预测模式和dc帧内预测模式时,可以将三个mpm候选依次设置为{intramodea,平面帧内预测模式,dc帧内预测模式}。
[0197]

否则,即,当intramodea和intramodeb不相同时:
[0198]

可以将前两个mpm候选设置为{intramodea,intramodeb}。
[0199]

此后,当通过按照平面帧内预测模式、dc帧内预测模式和垂直帧内预测模式的顺序检查其是否被包括在先前导出的mpm候选中而确认为除了所导出的mpm候选之外的帧内预测模式时,可以将其添加为第三mpm候选。
[0200]
同时,例如,在当前块的宽度大于高度的两倍或当前块的高度大于宽度的两倍时,可以在不发信号通知的情况下推断mpm标志等于1。否则,可以发信号通知当前块的mpm标志。
[0201]
例如,当mpm标志的值为1时,可以发信号通知指示mpm列表的mpm候选之一的mpm索引,并且可以将由mpm索引指示的mpm候选导出为当前块的帧内预测模式。此外,例如,当mpm标志的值为0时,可以将当前块的帧内预测模式设置为“缺失”模式。在此,缺失模式可以表示在ciip中可用的四种帧内预测模式当中未包括在mpm列表中的帧内预测模式。例如,当mpm列表中不包括平面帧内预测模式时,缺失模式可以是平面帧内预测模式,以及当mpm标志的值为0时,可以将当前块的帧内预测模式导出为平面帧内预测模式,即缺失模式。同时,例如,可以存储利用ciip编译的cu的帧内预测模式并且用于在该cu之后编译的相邻cu的预测。
[0202]
同时,如上所述,可以对第一预测样本和第二预测样本执行加权平均。在此,例如,
可以基于当前块的帧内预测模式和/或当前样本在当前块中的位置导出第一预测样本和第二预测样本的权重。
[0203]
具体地,例如,在当前块的帧内预测模式为dc帧内预测模式或平面帧内预测模式,或者当前块的宽度或高度小于4时,可以对第一预测样本和第二预测样本应用相同的权重。即在当前块的帧内预测模式为dc帧内预测模式或平面帧内预测模式,或者当前块的宽度或高度小于4时,可以将第一预测样本和第二预测样本的权重导出为相同的值。
[0204]
另外,在除上述情况之外的情况下,可以基于当前块的帧内预测模式和当前块中的当前样本位置,导出用于第一预测样本和第二预测样本的权重。例如,在当前块的帧内预测模式为水平帧内预测模式时,可以将当前块划分为大小为(w/4)
×
h的分区。并且,在当前样本位于当前块的帧内预测参考样本的最近分区中时,可以将当前样本的第一预测样本的权重设置为6,并且将第二预测样本的权重设置为2,或者,在当前样本位于当前块的帧内预测参考样本的第二最近分区中时,可以将当前样本的第一预测样本的权重设置为5,并且将第二预测样本的权重设置为3,或者,在当前样本位于当前块的帧内预测参考样本的第三最近分区中时,可以将当前样本的第一预测样本的权重设置为3,并且将第二预测样本的权重设置为5,或者,在当前样本位于当前块的帧内预测参考样本的最远分区中时,可以将当前样本的第一预测样本的权重设置为2,并且将第二预测样本的权重设置为6。在此,当前块的大小可以是wxh,w可以表示当前块的宽度,h可以表示当前块的高度。
[0205]
此外,例如,在当前块的帧内预测模式是垂直帧内预测模式时,当前块可以被划分为大小为w
×
(h/4)的分区。并且,在当前样本位于当前块的帧内预测参考样本的最近分区中时,可以将当前样本的第一预测样本的权重设置为6,并且将第二预测样本的权重设置为2,或者,在当前样本位于当前块的帧内预测参考样本的第二最近分区中时,可以将当前样本的第一预测样本的权重设置为5,并且将第二预测样本的权重设置为3,或者,在当前样本位于当前块的帧内预测参考样本的第三最近分区中时,可以将当前样本的第一预测样本的权重设置为3,并且将第二预测样本的权重设置为5,或者,在当前样本位于当前块的帧内预测参考样本的最远分区中时,可以将当前样本的第一预测样本的权重设置为2,并且将第二预测样本的权重设置为6。
[0206]
此后,可以通过基于权重对第一预测样本和第二预测样本执行加权平均来导出当前样本的预测样本。例如,可以通过以下等式导出预测样本。
[0207]
[等式1]
[0208]
p
ciip
=((8

wt)*p
inter
wt*p
intra
4)>>3
[0209]
其中,p
ciip
可以表示预测样本,p
intra
可以表示第一预测样本,p
inter
可以表示第二预测样本,wt可以表示第一预测样本的权重,以及(8

wt)可以表示第二预测样本的权重。
[0210]
同时,当如上所述执行帧内预测时,可以应用一般帧内预测、mrl和/或isp。在此,在一般帧内预测、mrl和isp中可以采用不同的mpm列表生成方法。在一般帧内预测中可以使用67个帧内预测模式,在基于mrl的帧内预测中可以使用除平面帧内预测模式和dc帧内预测模式之外的65个帧内预测模式,以及在isp中可以使用除了dc帧内预测模式外的66个帧内预测模式。由于以使用不同数量的帧内预测模式的三个帧内预测(一般帧内预测、基于mrl的帧内预测和isp)执行编码/解码,对于各个帧内预测,mpm列表生成方法可能不同。
[0211]
具体地,当执行一般帧内预测时,可以使用全部67个帧内预测模式来构建包括六
个mpm候选的mpm列表。当执行基于mrl的帧内预测时,可以使用除平面帧内预测模式和dc帧内预测模式之外的所有65个帧内预测模式来构建包括六个mpm候选的mpm列表。此外,当执行isp时,可以使用除dc帧内预测模式之外的66个帧内预测模式来构建包括六个mpm候选的mpm列表。在此,可以通过取决于isp的分割类型是水平分割还是垂直分割的方法来构建mpm列表。
[0212]
图12图示了根据应用的帧内预测导出mpm列表的示例。参照图12,解码装置可以确定是否将mrl或isp应用于当前块(s1205)。如果将mrl或isp应用于当前块,则解码装置可以确定是否将mrl应用于当前块(s1210)。如果将mrl应用于当前块,则解码装置可以生成用于当前块的mrl mpm列表(s1215)。在此,mrl mpm列表可以是通过在应用mrl时的mpm列表生成方法生成的mpm列表。随后,解码装置可以解析mpm索引(s1220)。mpm索引可以指示在mpm候选当中被导出为当前块的帧内预测模式的mpm候选。解码装置可以将mrl mpm列表的mpm候选当中由mpm索引指示的mpm候选导出为当前块的帧内预测模式。
[0213]
如果对当前块应用了isp而不是mrl,则解码装置可以生成用于当前块的isp mpm列表(s1225)。在此,isp mpm列表可以是通过在应用isp时的mpm列表生成方法生成的mpm列表。此后,解码装置可以解析mpm索引(s1220)。解码装置可以将isp mpm列表的mpm候选当中由mpm索引指示的mpm候选导出为当前块的帧内预测模式。
[0214]
如果mrl和isp中的任一个都没有被应用于当前块,则解码装置可以解析当前块的mpm标志(s1230)。随后,解码装置可以基于mpm标志,确定当前块的帧内预测模式是否为mpm模式,即,可以基于mpm标志,确定当前块的帧内预测模式是否为mpm列表中包括的mpm候选(s1235)。在此,mpm标志可以指示当前块的帧内预测模式是否被包括在mpm列表中。
[0215]
如果当前块的帧内预测模式是mpm模式,则解码装置可以生成在一般帧内预测中的mpm列表(s1240)并且解析当前块的mpm索引(s1220)。解码装置可以将mpm列表的mpm候选之中,由mpm索引指示的mpm候选导出为当前块的帧内预测模式。
[0216]
另一方面,如果当前块的帧内预测模式不是mpm模式,即,如果当前块的帧内预测模式不被包括在mpm候选中,则解码装置可以解析表示不被包括在mpm列表的mpm候选中的剩余帧内预测模式之一的剩余帧内预测模式信息(s1245)。解码装置可以将剩余帧内预测模式当中由剩余帧内预测模式信息指示的帧内预测模式导出为当前块的帧内预测模式。
[0217]
如上所述,可以根据帧内预测使用不同方法来配置包括六个mpm候选的mpm列表。然而,如果mpm列表生成方法取决于帧内预测执行方法,则可能会增加编译复杂度并且可能会降低编译效率。
[0218]
因此,本公开提出一种将在传统的一般帧内预测、基于mrl的帧内预测和isp中使用的mpm列表生成方法修改为一般化方法的方法。即,本公开提出了一种使用一般化方法生成mpm列表的方法。可以通过使用一般化mpm列表生成方法,简化帧内预测编/解码结构并且提高使用帧内预测模式的编码/解码效率以提高视频编译效率。
[0219]
作为实施例,提出了一种使用一般化方法生成mpm列表,然后将mpm列表中的mpm候选应用为传统一般帧内预测、基于mrl的帧内预测和isp帧内预测中的帧内预测模式的方法。
[0220]
例如,可以将生成在传统的一般帧内预测中使用的包括六个mpm候选的mpm列表的方法应用为用于基于mrl的帧内预测和基于isp的帧内预测的mpm列表生成方法。在此,mpm
列表生成方法可以是传统的mpm列表生成方法或从传统的mpm列表生成方法增强的方法。上述生成在传统的一般帧内预测中使用的包括六个mpm候选的mpm列表的方法是考虑所有67个帧内预测模式来生成mpm列表的方法,并且mpm列表可以包括平面帧内预测模式和/或dc帧内预测模式作为mpm候选。然而,由于基于mrl的帧内预测中不使用平面帧内预测模式和dc帧内预测模式并且在基于isp的帧内预测中不使用dc帧内预测模式,因此对基于mrl的帧内预测和基于isp的帧内预测,可能需要不同于传统方法的mpm列表构建方法。
[0221]
图13图示了根据本实施例的构建当前块的mpm列表并导出帧内预测模式的示例。参照图13,解码装置可以确定是否将mrl或isp应用于当前块(s1310)。如果将mrl或isp应用于当前块,则解码装置可以生成当前块的mpm列表(s1320)并解析用于当前块的mpm索引(s1330)。解码装置可以将mpm列表的mpm候选之中,由mpm索引指示的mpm候选导出为当前块的帧内预测模式。
[0222]
如果mrl和isp中的任何一个都未被应用于当前块,则解码装置可以解析用于当前块的mpm标志(s1340)并且基于mpm标志,确定当前块的帧内预测模式是否被包括在mpm列表中(s1350)。mpm标志可以指示当前块的帧内预测模式是否被包括在mpm列表的mpm候选中。
[0223]
在当前块的帧内预测模式为mpm模式时,即,当mpm标志指示当前块的帧内预测模式被包括在mpm列表的mpm候选中时(例如,当mpm标志为1时),解码装置可以生成当前块的mpm列表(s1320)。在此,mpm列表可以与在将mrl或isp应用于当前块时生成的mpm列表相同。随后,解码装置可以解析用于当前块的mpm索引(s1330)并且将mpm列表的mpm候选当中由mpm索引指示的mpm候选导出为当前块的帧内预测模式。
[0224]
另一方面,在当前块的帧内预测模式不是mpm模式时,即,当mpm标志指示当前块的帧内预测模式不被包括在mpm列表的mpm候选中时(例如,当mpm标志为0)时,解码装置可以解析当前块的剩余帧内预测模式信息(s1360)。解码装置可以将剩余帧内预测模式当中由剩余帧内预测模式信息指示的帧内预测模式导出为当前块的帧内预测模式。
[0225]
本实施例中提出的并且常用在一般帧内预测、基于mrl的帧内预测和基于isp的帧内预测中的mpm列表生成方法可以与以下示例相同。
[0226]
mpm列表生成方法的示例可以如下表所示。
[0227]
[表3]
[0228][0229]
根据表3所示的mpm列表生成方法的示例,编码装置/解码装置可以将mpm候选0导出为当前块的左相邻块的帧内预测模式,如果导出的mpm候选0是平面帧内预测模式则可以将mpm候选1导出为dc帧内预测模式,如果导出的mpm候选0不是平面帧内预测模式则可以将mpm候选1导出为平面帧内预测模式,可以将mpm候选2导出为垂直帧内预测模式,可以将mpm候选3导出为水平帧内预测模式,可以将mpm候选4导出为与通过从垂直帧内预测模式的模式编号减去4获得的模式编号(即帧内预测模式#46)相对应的帧内预测模式,以及可以将mpm候选5导出为与通过对垂直帧内预测模式的模式编号加4得到的模式编号(即,帧内预测模式#54)相对应的帧内预测模式。
[0230]
此后,编码装置/解码装置可以确定当前块的左相邻块的帧内预测模式是否与上相邻块的帧内预测模式相同,并且基于左相邻块的帧内预测模式是否与上相邻块的帧内预
测模式相同,重构mpm列表。例如,当左相邻块的帧内预测模式与上相邻块的帧内预测模式相同时,编码装置/解码装置可以确定左相邻块的帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,并且如果左相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号,则导出当前块的mpm列表,其包括所导出的mpm候选0至mpm候选5,如下所述。
[0231]

mpm[0]=leftintradir
[0232]

mpm[1]=planar_idx
[0233]

mpm[2]=dc_idx
[0234]

mpm[3]=((leftintradir offset)%mod) 2
[0235]

mpm[4]=((leftintradir

1)%mod) 2
[0236]

mpm[5]=((leftintradir offset

1)%mod) 2
[0237]
即,可以将mpm列表的mpm候选0导出为左相邻块的帧内预测模式,可以将mpm列表的mpm候选1导出为平面帧内预测模式,可以将mpm列表的mpm候选2导出为dc帧内预测模式,可以将mpm列表的mpm候选3导出为模式编号为((leftintradir offset)%mod) 2的帧内预测模式,即具有通过对左相邻块的帧内预测模式的模式编号和偏移量之和执行模算术运算,并将模算术运算结果加2获得的值作为模式编号的帧内预测模式,可以将mpm列表的mpm候选4导出为模式编号为((leftintradir

1)%mod) 2的帧内预测模式,即具有通过对左相邻块的帧内预测模式的模式编号减1获得的值执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式,以及可以将mpm列表的mpm候选5导出为模式编号为((leftintradir offset

1)%mod) 2的帧内预测模式,即具有通过对左相邻块的帧内预测模式的模式编号与(偏移

1)之和执行模算术运算并对模算术运算结果加2获得的值作为模式编号的帧内预测模式。
[0238]
例如,如果左相邻块的帧内预测模式与上相邻块的帧内预测模式相同,并且左相邻块的帧内预测模式的模式编号不大于dc帧内预测模式的模式编号,则编码装置/解码装置可以导出当前块的mpm列表,该列表包括先前导出的mpm候选0至mpm候选5。
[0239]
另一方面,如果左相邻块的帧内预测模式与上相邻块的帧内预测模式不同,那么,例如,编码装置/解码装置可以将当前块的左相邻块的帧内预测模式导出为mpm列表的mpm候选0,并且可以将当前块的上相邻块的帧内预测模式导出为mpm列表的mpm候选1。此外,如果mpm候选0的模式编号大于mpm候选1的模式编号,则编码装置/解码装置可以将maxcandmodeidx导出为0,以及如果mpm候选0的模式编号不大于mpm候选1的模式编号,则编码装置/解码装置可以将maxcandmodeidx导出为1。
[0240]
然后,如果左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号,则编码装置/解码装置可以将平面帧内预测模式导出为mpm列表的mpm候选2并且可以将dc帧内预测模式导出为mpm列表的mpm候选3。
[0241]
然后,如果通过从模式编号mpm[maxcandmodeidx]减去模式编号mpm[!maxcandmodeidx]获得的值小于63且大于1,则编码装置/解码装置可以将具有模式编号((mpm[maxcandmodeidx] offset)%mod) 2的帧内预测模式导出为mpm列表的mpm候选4并且将具有模式编号((mpm[maxcandmodeidx]

1)%mod) 2的帧内预测模式导出为mpm列表的mpm候选5。在此,如果maxcandmodeidx为0,则mpm[maxcandmodeidx]可以指示mpm候选0并且mpm[!maxcandmodeidx]可以指示mpm候选1,并且如果maxcandmodeidx为1,则mpm
[maxcandmodeidx]可以指示mpm候选1并且mpm[!maxcandmodeidx]可以指示mpm候选0。
[0242]
进一步地,如果从模式编号mpm[maxcandmodeidx]减去模式编号mpm[!maxcandmodeidx]得到的值等于或大于63或等于或小于1,则编码装置/解码装置可以将模式编号为((mpm[maxcandmodeidx] offset

1)%mod) 2的帧内预测模式导出mpm列表的mpm候选4,并且可以将模式编号为((mpm[maxcandmodeidx])%mod) 2的帧内预测模式导出为mpm列表的mpm候选5。
[0243]
例如,如果左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的至少一个不大于dc帧内预测模式的模式编号,则编码装置/解码装置可以确定左相邻块的帧内预测模式的模式编号与上相邻块的帧内预测模式的模式编号之和是否等于或大于2,并且如果左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号之和等于或大于2,则如下导出mpm候选2至mpm候选5。
[0244]

mpm[2]=(mpm[!maxcandmodeidx]==planar_idx)?dc_idx:planar_idx
[0245]

mpm[3]=((mpm[maxcandmodeidx] offset)%mod) 2
[0246]

mpm[4]=((mpm[maxcandmodeidx]

1)%mod) 2
[0247]

mpm[5]=((mpm[maxcandmodeidx] offset

1)%mod) 2
[0248]
也就是说,如果mpm[!maxcandmodeidx]是平面帧内预测模式,则mpm列表的mpm候选2可以被导出为dc帧内预测模式,以及如果mpm[!maxcandmodeidx]不是平面帧内预测模式,则可以被导出为平面帧内预测模式。另外,可以将mpm列表的mpm候选3导出为模式编号为((mpm[maxcandmodeidx] offset)%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]和偏移量之和执行模算术运算并且将模算术运算结果加2得到的值作为模式编号的帧内预测模式,可以将mpm列表的mpm候选4导出为具有模式编号((mpm[maxcandmodeidx]

1)%mod) 2的帧内预测模式,即具有通过对通过从mpm[maxcandmodeidx]减1得到的值执行模算术运算并且对模算术运算结果加2得到的值作为模式编号的帧内预测模式,以及可以将mpm列表的mpm候选5导出为模式编号为((mpm[maxcandmodeidx] offset

1)%mod) 2的帧内预测模式,即,具有通过对mpm[maxcandmodeidx]和(offset

1)之和执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式。
[0249]
否则,可以使用mpm列表生成方法的另一个示例。mpm列表生成方法的另一示例可以如下表所示。
[0250]
[表4]
[0251][0252]
根据表4所示的mpm列表生成方法的示例,编码装置/解码装置可以将当前块的mpm候选0导出为当前块的左相邻块的帧内预测模式,如果所导出的mpm候选0是平面帧内预测模式则可以将mpm候选1导出为dc帧内预测模式,如果所导出的mpm候选0不是平面帧内预测模式则可以将mpm候选1导出为平面帧内预测模式,可以将mpm候选2导出为垂直帧内预测模式,可以将mpm候选3导出为水平帧内预测模式,可以将mpm候选4导出为与通过从垂直帧内预测模式的模式编号减去4得到的模式编号(即,帧内预测模式#46)相对应的帧内预测模式,并且可以将mpm候选5导出为与通过将4与垂直帧内预测模式的模式编号相加获得的模式编号(即帧内预测模式#54)相对应的帧内预测模式。
[0253]
此后,编码装置/解码装置可以确定当前块的左相邻块的帧内预测模式是否与上
相邻块的帧内预测模式相同,并且基于左相邻块的帧内预测模式是否与上相邻块的帧内预测模式相同,构建mpm列表。例如,当左相邻块的帧内预测模式与上相邻块的帧内预测模式相同时,编码装置/解码装置可以确定左相邻块的帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,并且如果左相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号,则导出当前块的mpm列表,其包括所导出的mpm候选0至mpm候选5,如下所述。
[0254]

mpm[0]=leftintradir
[0255]

mpm[1]=planar_idx
[0256]

mpm[2]=((leftintradir offset)%mod) 2
[0257]

mpm[3]=((leftintradir

1)%mod) 2
[0258]

mpm[4]=dc_idx
[0259]

mpm[5]=((leftintradir offset

1)%mod) 2
[0260]
即,可以将mpm列表的mpm候选0导出为左相邻块的帧内预测模式,可以将mpm列表的mpm候选1导出为平面帧内预测模式,可以将mpm列表的mpm候选2导出为模式编号为((leftintradir offset)%mod) 2的帧内预测模式,即具有通过对左相邻块的帧内预测模式的模式编号和偏移量之和执行模算术运算,并将模算术运算结果加2获得的值作为模式编号的帧内预测模式,可以将mpm列表的mpm候选3导出为模式编号为((leftintradir

1)%mod) 2的帧内预测模式,即具有通过对从左相邻块的帧内预测模式的模式编号减1获得的值执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式,可以将mpm列表的mpm候选4导出为dc帧内预测模式,以及可以将mpm列表的mpm候选5导出为模式编号为((leftintradir offset

1)%mod) 2的帧内预测模式,即具有通过对左相邻块的帧内预测模式的模式编号与(偏移

1)之和执行模算术运算并对模算术运算结果加2获得的值作为模式编号的帧内预测模式。
[0261]
例如,如果左相邻块的帧内预测模式与上相邻块的帧内预测模式相同,并且左相邻块的帧内预测模式的模式编号不大于dc帧内预测模式的模式编号,则编码装置/解码装置可以导出当前块的mpm列表,该列表包括先前导出的mpm候选0至mpm候选5。
[0262]
另一方面,如果左相邻块的帧内预测模式与上相邻块的帧内预测模式不同,那么,例如,编码装置/解码装置可以将当前块的左相邻块的帧内预测模式导出为mpm列表的mpm候选0,并且可以将当前块的上相邻块的帧内预测模式导出为mpm列表的mpm候选1。此外,如果mpm候选0的模式编号大于mpm候选1的模式编号,则编码装置/解码装置可以将maxcandmodeidx导出为0,以及如果mpm候选0的模式编号不大于mpm候选1的模式编号,则编码装置/解码装置可以将maxcandmodeidx导出为1。
[0263]
然后,如果左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号,则编码装置/解码装置可以将平面帧内预测模式导出为mpm列表的mpm候选1并且可以将上相邻块的帧内预测模式导出为mpm列表的mpm候选2。此外,如果mpm候选0的模式编号大于mpm候选2的模式编号,则编码装置/解码装置可以将maxcandmodeidx导出为0,并且如果mpm候选0的模式编号不大于mpm候选2的模式编号,则可以将maxcandmodeidx导出为2。另外,如果mpm候选0的模式编号大于mpm候选2的模式编号,则编码装置/解码装置可以将mincandmodeidx导出为2,以及如果mpm候选0的模式编号不大于mpm候选2的模式编号,则可以将maxcandmodeidx导出为0。此外,编码装置/解码装置可以
将dc帧内预测模式导出为mpm列表的mpm候选3。
[0264]
然后,如果通过从模式编号mpm[maxcandmodeidx]减去模式编号mpm[mincandmodeidx]获得的值小于63且大于1,则编码装置/解码装置可以将具有模式编号((mpm[maxcandmodeidx] offset)%mod) 2的帧内预测模式导出为mpm列表的mpm候选4并且将具有模式编号((mpm[maxcandmodeidx]

1)%mod) 2的帧内预测模式导出为mpm列表的mpm候选5。在此,如果maxcandmodeidx为0,则mpm[maxcandmodeidx]可以是mpm候选0,如果maxcandmodeidx是1,则mpm[maxcandmodeidx]可以是mpm候选1,如果maxcandmodeidx是2,则mpm[maxcandmodeidx]可以是mpm候选2,如果mincandmodeidx为0,则mpm[mincandmodeidx]可以是mpm候选0,以及如果mincandmodeidx为2,则mpm[mincandmodeidx]可以是mpm候选2。
[0265]
进一步地,如果从模式编号mpm[maxcandmodeidx]减去模式编号mpm[mincandmodeidx]得到的值等于或大于63或等于或小于1,编码装置/解码装置可以将模式编号为((mpm[maxcandmodeidx] offset

1)%mod) 2的帧内预测模式导出为mpm列表的mpm候选4,并且可以将模式编号为((mpm[maxcandmodeidx])%mod) 2的帧内预测模式导出为mpm列表的mpm候选5。
[0266]
例如,如果左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的至少一个不大于dc帧内预测模式的模式编号,则编码装置/解码装置可以确定左相邻块的帧内预测模式的模式编号与上相邻块的帧内预测模式的模式编号之和是否等于或大于2,并且如果左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号之和等于或大于2,则确定左相邻块的帧内预测模式和上相邻块的帧内预测模式中的至少一个是否与平面帧内预测模式相同。
[0267]
如果左相邻块的帧内预测模式和上相邻块的帧内预测模式中的至少一个与平面帧内预测模式相同,则编码装置/解码装置可以如下导出mpm候选0和mpm候选1。
[0268]

mpm[0]=planar_idx
[0269]

mpm[1]=(leftintradir<aboveintradir)?aboveintradir:leftintradir
[0270]
即,可以将mpm列表的mpm候选0导出为平面帧内预测模式,如果左相邻块的帧内预测模式的模式编号小于上相邻块的帧内预测模式的模式编号,则可以将mpm列表的mpm候选1导出为上相邻块的帧内预测模式,以及如果左相邻块的帧内预测模式的模式编号等于或大于上相邻块的帧内预测模式的模式编号,则可以将mpm列表的mpm候选1导出为左相邻块的帧内预测模式。此外,maxcandmodeidx可以被导出为1。
[0271]
另一方面,如果左相邻块的帧内预测模式和上相邻块的帧内预测模式与平面帧内预测模式不同,则mpm列表的mpm候选0和mpm候选1可以是先前导出的帧内预测模式。此外,maxcandmodeidx可以是先前导出的值。
[0272]
此外,如果左相邻块的帧内预测模式的模式编号与上相邻块的帧内预测模式的模式编号之和等于或大于2,则编码装置/解码装置可以导出mpm候选2至mpm候选5如下。
[0273]

mpm[2]=(mpm[!maxcandmodeidx]==planar_idx)?dc_idx:planar_idx
[0274]

mpm[3]=((mpm[maxcandmodeidx] offset)%mod) 2
[0275]

mpm[4]=((mpm[maxcandmodeidx]

1)%mod) 2
[0276]

mpm[5]=((mpm[maxcandmodeidx] offset

1)%mod) 2
[0277]
也就是说,如果mpm[!maxcandmodeidx]是平面帧内预测模式,则可以将mpm列表的mpm候选2导出为dc帧内预测模式,以及如果mpm[!maxcandmodeidx]不是平面帧内预测模式,则可以将mpm列表的mpm候选2导出为平面帧内预测模式。另外,可以将mpm列表的mpm候选3导出为模式编号为((mpm[maxcandmodeidx] offset)%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]和偏移量之和执行模算术运算并且将模算术运算结果加2得到的值作为模式编号的帧内预测模式,可以将mpm列表的mpm候选4导出为具有模式编号((mpm[maxcandmodeidx]

1)%mod) 2的帧内预测模式,即具有通过对通过从mpm[maxcandmodeidx]减1获得的值执行模算术运算并且对模算术运算结果加2得到的值作为模式编号的帧内预测模式,以及可以将mpm列表的mpm候选5导出为模式编号为((mpm[maxcandmodeidx] offset

1)%mod) 2的帧内预测模式,即,具有通过对mpm[maxcandmodeidx]和(offset

1)之和执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式。
[0278]
否则,可以使用mpm列表生成方法的另一个示例。mpm列表生成方法的另一示例可以如下表所示。
[0279]
[表5]
[0280][0281]
根据表5所示的mpm列表生成方法的示例,编码装置/解码装置可以确定当前块的左相邻块的帧内预测模式是否与上相邻块的帧内预测模式相同。
[0282]
如果左相邻块的帧内预测模式与上相邻块的帧内预测模式相同,则编码装置/解码装置可以确定左相邻块的帧内预测模式的模式编号是否大于dc帧内预测模式的模式编
号,以及如果左相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号,则可以导出当前块的mpm列表,包括如下导出的mpm候选0至mpm候选2。
[0283]

mpm[0]=g_intramode65to33angmapping[leftintradir]
[0284]

mpm[1]=((g_intramode65to33angmapping[leftintradir] offset)%mod) 2
[0285]

mpm[2]=((g_intramode65to33angmapping[leftintradir]

1)%mod) 2
[0286]
即,可以将mpm列表的mpm候选0导出为左相邻块的帧内预测模式。另外,可以将mpm列表的mpm候选1导出为模式编号为((g_intramode65to33angmapping[leftintradir] offset)%mod) 2的帧内预测模式,即具有通过对左相邻块的帧内预测模式的模式编号与偏移量之和执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式,以及可以将mpm列表的mpm候选2导出为模式编号为((g_intramode65to33angmapping[leftintradir]

1)%mod) 2的帧内预测模式,即具有通过对通过从左相邻块的帧内预测模式的模式编号减1获得的值执行模算术运算并且将模算术运算结果加2得到的值作为模式编号的帧内预测模式。
[0287]
如果左相邻块的帧内预测模式的模式编号等于或小于dc帧内预测模式的模式编号,则编码装置/解码装置可以导出包括如下所述导出的mpm候选0至mpm候选2的当前块的mpm列表。
[0288]

mpm[0]=g_intramode65to33angmapping[planar_idx]
[0289]

mpm[1]=g_intramode65to33angmapping[dc_idx]
[0290]

mpm[2]=g_intramode65to33angmapping[ver_idx]
[0291]
即,mpm列表的mpm候选0可以被导出为平面帧内预测模式,可以将mpm列表的mpm候选1导出为dc帧内预测模式,以及可以将mpm列表的mpm候选2导出为垂直帧内预测模式。
[0292]
另一方面,如果左相邻块的帧内预测模式与上相邻块的帧内预测模式不同,编码装置/解码装置可以将mpm候选0导出为当前块的左相邻块的帧内预测模式并且可以将mpm候选1导出为当前块的上相邻块的帧内预测模式。
[0293]
如果左相邻块的帧内预测模式和上相邻块的帧内预测模式都不是平面帧内预测模式,则编码装置/解码装置可以将mpm候选2导出为平面帧内预测模式。如果左相邻块的帧内预测模式和上相邻块的帧内预测模式中的至少一个是平面帧内预测模式,则编码装置/解码装置可以确定左相邻块的帧内预测模式的模式编号与上相邻块的帧内预测模式的模式编号之和是否小于2,如果左相邻块的帧内预测模式的模式编号与上相邻块的帧内预测模式的模式编号之和小于2,则将mpm候选2导出为垂直帧内预测模式,以及如果左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号之和等于或大于2,则将mpm候选2导出为dc帧内预测模式。
[0294]
此外,本公开提出将在传统的一般帧内预测、基于mrl的帧内预测和基于isp的帧内预测中使用的mpm列表生成方法修改为一般化方法的另一实施例。提出了一种不考虑不用于编码器阶段的多参考线帧内预测和子分区帧内预测的帧内预测模式的方法。
[0295]
作为示例,当编码器执行多参考线帧内预测时,编码器仅考虑包括在mpm列表中的帧内预测模式来执行帧内预测。例如,在本实施例中可以提出在生成mpm列表时不考虑不被用于mrl和/或isp的帧内预测模式的示例。
[0296]
即,例如,当编码装置执行基于mrl的帧内预测时,编码装置可以仅考虑包括在mpm
列表中的帧内预测模式来执行帧内预测。即,当mpm列表包括平面帧内预测模式或dc帧内预测模式时,在本实施例中,编码装置可以不选择平面帧内预测模式或dc帧内预测模式作为当前块的帧内预测模式。此外,作为与前述示例类似的示例,当编码装置执行isp时,当mpm列表包括dc帧内预测模式时,编码装置可以跳过dc帧内预测模式。
[0297]
本实施例中提出的mpm模式生成方法和模式解码方法可以与上述实施例的mpm模式生成方法和模式解码方法相同,并且可以包括仅在编码时不考虑特定帧内预测模式的特征。因此,在mpm索引编码和解码期间,可能会在一定程度上降低编译效率,但可以根据生成一般化mpm列表降低硬件和软件实现复杂度,并且可以维持不使用特定帧内预测模式的基于mrl的帧内预测和isp。
[0298]
本实施例提出了一种在应用基于mrl的帧内预测和/或isp时,与特定帧内预测模式无关地,由编码装置执行帧内预测的方法。在这种情况下,解码装置解析的mpm索引可以不指示特定帧内预测模式。
[0299]
例如,可以提出示例,其中当应用基于mrl的帧内预测时,禁止使用平面帧内预测模式和dc帧内预测模式的编码,并且当应用isp时,禁止使用dc帧内预测模式的编码。
[0300]
图14图示了根据本实施例的基于帧内预测的编码的示例。参照图14,编码装置可以确定是否将mrl或isp应用于当前块(s1405)。如果对当前块应用了mrl或isp,则编码装置可以确定是否应用了mrl(s1410)。
[0301]
如果mrl被应用于当前块,则编码装置可以通过mpm列表生成过程来生成当前块的mpm列表(s1415)。此后,编码装置可以基于mpm列表中除了平面帧内预测模式和dc帧内预测模式之外的mpm候选(即,除了平面帧内预测模式和dc帧内预测模式外,被导出为mpm列表的mpm候选的帧内预测模式),对当前块执行帧内预测(s1420)并且为当前块选择最佳帧内预测模式(s1425)。
[0302]
如果isp被应用于当前块而不是mrl,则编码装置可以通过mpm列表生成过程生成当前块的mpm列表(s1430)。在此,mpm列表生成过程可以与在应用mrl时执行的上述mpm列表生成过程相同。此后,编码装置可以基于除dc帧内预测模式之外的mpm列表中的mpm候选(即,除dc帧内预测模式之外的被导出为mpm列表的mpm候选的帧内预测模式),对当前块执行帧内预测(s1435),并且对当前块选择最佳帧内预测模式(s1440)。
[0303]
如果mrl和isp均未被应用于当前块,则编码装置可以基于67个帧内预测模式对当前块执行一般帧内预测(s1445),并且为当前块选择最佳帧内预测模式(s1450)。
[0304]
作为另一示例,可以提出示例,其中当应用基于mrl的帧内预测时禁止使用平面帧内预测模式的编码,并且当应用isp时禁止使用dc帧内预测模式的编码。
[0305]
图15图示了根据本实施例的基于帧内预测的编码的示例。参照图15,编码装置可以确定是否将mrl或isp应用于当前块(s1505)。如果对当前块应用了mrl或isp,则编码装置可以确定是否应用了mrl(s1510)。
[0306]
如果mrl被应用于当前块,则编码装置可以通过mpm列表生成过程来生成当前块的mpm列表(s1515)。此后,编码装置可以基于mpm列表中除了平面帧内预测模式之外的mpm候选(即,除了平面帧内预测模式外的被导出为mpm列表的mpm候选的帧内预测模式),对当前块执行帧内预测(s1520),并且为当前块选择最佳帧内预测模式(s1525)。
[0307]
如果isp而不是mrl被应用于当前块,则编码装置可以通过mpm列表生成过程生成
当前块的mpm列表(s1530)。在此,mpm列表生成过程可以与在应用mrl时执行的上述mpm列表生成过程相同。此后,编码装置可以基于除dc帧内预测模式之外的mpm列表中的mpm候选(即,除dc帧内预测模式之外的的被导出为mpm列表的mpm候选的帧内预测模式),对当前块执行帧内预测(s1535),并且对当前块选择最佳帧内预测模式(s1540)。
[0308]
如果mrl和isp均未被应用于当前块,则编码装置可以基于67个帧内预测模式对当前块执行一般帧内预测(s1545),并且为当前块选择最佳帧内预测模式(s1550)。
[0309]
作为另一示例,可以提出当应用基于mrl的帧内预测时禁止使用平面帧内预测模式的编码的示例。
[0310]
图16图示了根据本实施例的基于帧内预测的编码的示例。参照图16,编码装置可以确定是否将mrl或isp应用于当前块(s1605)。如果对当前块应用了mrl或isp,则编码装置可以确定是否应用了mrl(s1610)。
[0311]
如果mrl被应用于当前块,则编码装置可以通过mpm列表生成过程来生成当前块的mpm列表(s1615)。此后,编码装置可以基于mpm列表中除了平面帧内预测模式之外的mpm候选(即,除了平面帧内预测模式外,被导出为mpm列表的mpm候选的帧内预测模式),对当前块执行帧内预测(s1620),并且为当前块选择最佳帧内预测模式(s1625)。
[0312]
如果isp而不是mrl被应用于当前块,则编码装置可以通过mpm列表生成过程生成当前块的mpm列表(s1630)。在此,mpm列表生成过程可以与在应用mrl时执行的上述mpm列表生成过程相同。此后,编码装置可以基于mpm列表中的mpm候选(即,被导出为mpm列表的mpm候选的帧内预测模式),对当前块执行帧内预测(s1635)并且对当前块选择最佳帧内预测模式(s1640)。
[0313]
如果mrl和isp均未被应用于当前块,则编码装置可以基于67个帧内预测模式对当前块执行一般帧内预测(s1645),并且为当前块选择最佳帧内预测模式(s1650)。
[0314]
同时,本公开提出了一种在应用mrl时,更有效地执行基于dc帧内预测模式执行的帧内预测的方法。例如,本实施例提出了一种方法,该方法用于在基于mrl的帧内预测中,当应用dc帧内预测模式时(即在当前块的帧内预测类型为mrl且当前块的帧内预测模式为dc帧内预测模式时)计算dc值。
[0315]
图17图示了在当前块的帧内预测类型是mrl并且当前块的帧内预测模式是dc帧内预测模式时,用于导出dc值的参考样本。
[0316]
图17的(a)可以表示在当前块是正方形块时,用来导出dc值的参考样本。例如,当由参考线索引所指示的参考线为参考线0、参考线1、参考线2或参考线3时,可以基于图17的(a)中所示的区域(1700)中的参考样本来导出dc值。即,可以基于当前块的上参考线中的从左端参考样本的等于宽度的数量的参考样本和当前块的左参考线中的从上端参考样本的等于宽度的数量的参考样本,导出dc值。换句话说,在当前块的大小为wxh且当前块的左上位置的x分量和y分量为0时,可以基于在由参考线索引指示的上参考线中的(0,

refidx

1)坐标参考样本到(w

1,

refidx

1)坐标参考样本以及在由参考线索引指示的左参考线中的(

refidx

1,0)坐标参考样本到(

refidx

1,h

1)坐标参考样本,导出dc值。
[0317]
例如,可以如下述等式导出dc值。
[0318]
[等式2]
[0319][0320]
其中,dcval可以表示dc值,ntbw可以表示当前块的宽度,refidx可以表示参考线索引所指示的参考线。
[0321]
此外,图17的(b)可以表示在当前块是非正方形块时,用来导出dc值的参考样本。在本实施例中,在当前块为非正方形块时,可以基于在当前块的宽度和高度中较长边的参考线中的参考样本来导出dc值。例如,当参考线索引所指示的参考线为参考线0、参考线1、参考线2或参考线3时,可以基于在当前块的宽度和高度中较长边的参考线的区域(1710)中的参考样本来导出dc值。例如,在当前块的宽度大于高度时,可以基于当前块的上参考线中的从左端参考样本的与宽度相同的数量的参考样本来导出dc值。换句话说,在当前块的大小为wxh且当前块的左上位置的x分量和y分量为0时,可以基于在由参考线索引指示的上参考线中的(0,

refidx

1)坐标参考推样本到(w

1,

refidx

1)坐标参考样本来导出dc值。可以如下述等式导出dc值。
[0322]
[等式3]
[0323][0324]
其中,dcval可以表示dc值,ntbw可以表示当前块的宽度,refidx可以表示参考线索引所指示的参考线。
[0325]
另外,例如,在当前块的宽度小于高度时,可以基于当前块的左参考线中的从上端参考样本的与高度相同的数量的参考样本来导出dc值。换句话说,在当前块的大小为wxh且当前块的左上位置的x分量和y分量为0时,可以基于在由参考线索引指示的左参考线中(

refidx

1,0)坐标参考样本到(

refidx

1,h

1)坐标参考样本,来导出dc值。可以如下述等式导出dc值。
[0326]
[等式4]
[0327][0328]
其中,dcval可以表示dc值,ntbh可以表示当前块的高度,refidx可以表示由参考线索引所指示的参考线。
[0329]
此后,可以将当前块的预测样本导出为dc值。
[0330]
同时,本公开提出了一种在应用mrl时更有效地执行基于平面帧内预测模式执行的帧内预测的方法。例如,本实施例提出一种方法,该方法用于在基于mrl的帧内预测中,应用平面帧内预测模式时(即在当前块的帧内预测类型为mrl并且当前块的帧内预测模式为平面帧内预测模式时),确定用于平面预测的参考样本。
[0331]
图18图示了在当前块的帧内预测类型是mrl并且当前块的帧内预测模式是平面帧内预测模式时使用的参考样本。
[0332]
参照图18,当由参考线索引指示的参考线是参考线0、参考线1、参考线2或参考线3时,可以基于图18中所示的参考线的区域(1800)中的参考样本,执行平面预测。根据本实施例,可以基于当前块的宽度/高度的末端 1的样本来执行平面预测,与参考线索引无关。即,根据本实施例,在当前块的左上位置的x分量和y分量为0,当前块的帧内预测类型为mrl,并
且当前块的帧内预测模式为平面帧内预测模式时,可以基于上参考线中的(w,

refidx

1)坐标的参考样本和左参考线中的(

refidx

1,h)坐标的参考样本来执行当前块的平面预测。
[0333]
参考本实施例,可以使用由参考线索引所指示的参考线的参考样本来执行平面帧内预测,具体地,可以基于参考线的参考样本当中,与当前块的当前样本位置相同行(即相同y坐标)中的左参考样本以及与当前样本位置相同列(即,相同x坐标)中的上参考样本,以及上参考线中的(w,

refidx

1)坐标的参考样本和左参考线中的(

refidx

1,h)坐标的参考样本,来执行平面帧内预测。在这种情况下,可以通过基于上述四个参考样本的值执行双向线性插值来导出当前样本的预测样本值。在此,可以假设左下参考样本位于当前样本的下侧并且右上参考样本位于当前样本的右侧来执行双向线性插值。
[0334]
同时,可以使用与在通常用在上述一般帧内预测、mrl和isp中的mpm列表生成方法的实施例不同的实施例。即,本公开提出了通常用在一般帧内预测、mrl和isp中的mpm列表生成方法的另一示例。mpm列表生成方法的另一示例可以如下表所示。
[0335]
[表6]
[0336]
[0337][0338]
根据表6所示的mpm列表生成方法的示例,编码装置/解码装置可以导出当前块的左相邻块的帧内预测模式和上相邻块的帧内预测模式。左相邻块的帧内预测模式可以被表示为leftintradir,而上相邻块的帧内预测模式可以被表示为aboveintradir。
[0339]
此外,例如,编码装置/解码装置可以导出默认mpm列表。例如,编码装置/解码装置可以将平面帧内预测模式导出为默认mpm列表的mpm候选0、将dc帧内预测模式导出为默认mpm列表的mpm候选1、将垂直帧内预测模式导出为默认mpm列表的mpm候选2、将水平帧内预测模式导出为默认mpm列表的mpm候选3、将通过从垂直帧内预测模式的模式编号减去4得到的模式编号的帧内预测模式(即,帧内预测模式#46)导出为默认mpm列表的mpm候选4、将通过使垂直帧内预测模式的模式编号加4得到的模式编号的帧内预测模式(即,帧内预测模式#54)导出为默认mpm列表的mpm候选5。
[0340]
此后,编码装置/解码装置可以确定当前块的左相邻块的帧内预测模式和上相邻块的帧内预测模式是否相同,以及左相邻块的帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号。
[0341]
例如,当左相邻块的帧内预测模式与上相邻块的帧内预测模式相同且左相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号时,编码装置/解码装置可以如下所述导出包括所导出的mpm候选0至mpm候选5的当前块的mpm列表。
[0342]

mpm[0]=planar_idx
[0343]

mpm[1]=leftintradir
[0344]

mpm[2]=2 ((leftintradir 61)%64)
[0345]

mpm[3]=2 ((leftintradir

1)%64)
[0346]

mpm[4]=dc_idx
[0347]

mpm[5]=2 ((leftintradir 60)%64)
[0348]
即,可以将mpm列表的mpm候选0导出为平面帧内预测模式,可以将mpm列表的mpm候选1导出为左相邻块的帧内预测模式,可以将mpm列表的mpm候选2导出为具有模式编号2 ((leftintradir 61)%64)的预测模式,即具有通过对将左相邻块的帧内预测模式的模式编号加61获得的值执行取64的模算术运算并且使模算术运算结果加2获得的值作为模式编
号的帧内预测模式,可以将mpm列表的mpm候选3导出为模式编号为2 ((leftintradir

1)%64)的帧内预测模式,即通过对左相邻块的帧内预测模式的模式编号减1获得的值执行取64的模算术运算并且使模算术运算结果加2得到的值作为模式编号的帧内预测模式,以及可以将mpm列表的mpm候选4导出为dc帧内预测模式,以及可以将mpm列表的mpm候选5导出为模式编号为2 ((leftintradir 60)%64)的帧内预测模式,即通过对将左相邻块的帧内预测模式的模式编号加60获得的值执行取64的模算术运算并且使模算术运算结果加2获得的值作为模式编号的帧内预测模式。
[0349]
同时,在当前块的左相邻块的帧内预测模式与上相邻块的帧内预测模式不同时,编码装置/解码装置可以确定左相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号,并且上相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号。
[0350]
当左相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号并且上相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号时,编码装置/解码装置可以将平面帧内预测模式导出为mpm列表的mpm候选0、将左相邻块的帧内预测模式导出为mpm列表的mpm候选1、将上相邻块的帧内预测模式导出为mpm列表的mpm候选2、将dc帧内预测模式导出为mpm列表的mpm候选3。另外,当mpm候选1的模式编号大于mpm候选2的模式编号时,编码装置/解码装置可以将maxcandmodeidx导出为1,当mpm候选1的模式编号不大于mpm候选2的模式编号时,编码装置/解码装置可以将maxcandmodeidx导出为2。
[0351]
此后,当从模式编号mpm[maxcandmodeidx]减去模式编号mpm[mincandmodeidx]所获得的值小于63且大于1时,编码装置/解码装置可以将模式编号为2 ((maxab 61)%64)的帧内预测模式导出为mpm列表的mpm候选4,以及将模式编号为2 ((maxab

1)%64)的帧内预测模式导出为mpm列表的mpm候选5。在此,当maxcandmodeidx为1时,mpm[maxcandmodeidx]可以为mpm候选1,当maxcandmodeidx为2时,mpm[maxcandmodeidx]可以为mpm候选2,当mincandmodeidx为1时,mpm[mincandmodeidx]可以为mpm候选1,当mincandmodeidx为2时,mpm[mincandmodeidx]可能是mpm候选2。此外,在此,maxab可以是左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的较大值。
[0352]
可替代地,当通过从模式编号mpm[maxcandmodeidx]减去模式编号mpm[mincandmodeidx]所获得的值大于或等于63或者小于或等于1时,编码装置/解码装置可以将模式编号为2 ((maxab 60)%64)的帧内预测模式导出为mpm列表的mpm候选4,以及将模式编号为2 (maxab%64)的帧内预测模式导出为mpm列表的mpm候选5。
[0353]
同时,在当前块的左相邻块的帧内预测模式与上相邻块的帧内预测模式不同,或者左相邻块的帧内预测模式和上相邻块的帧内预测模式的模式编号中的至少一个小于dc帧内预测模式的模式编号时,编码装置/解码装置可以确定左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号之和是否等于或大于dc帧内预测模式的模式编号。
[0354]
当左相邻块的帧内预测模式的模式编号与上相邻块的帧内预测模式的模式编号之和等于或大于dc帧内预测模式的模式编号时,编码装置/解码装置可以如下所述导出当前块的mpm列表,该列表包括所导出的mpm候选0至mpm候选5。
[0355]

mpm[0]=planar_idx
[0356]

mpm[1]=(leftintradir<aboveintradir)?aboveintradir:leftintradir
[0357]

mpm[2]=dc_idx
[0358]

mpm[3]=2 ((maxab 61)%64)
[0359]

mpm[4]=2 ((maxab

1)%64)
[0360]

mpm[5]=2 ((maxab 60)%64)
[0361]
即,可以将mpm列表的mpm候选0导出为平面帧内预测模式;当左相邻块的帧内预测模式的模式编号小于上相邻块的帧内预测模式的模式编号时,可以将mpm列表的mpm候选1导出为上相邻块的帧内预测模式;当左相邻块的帧内预测模式的模式编号大于或等于上相邻块的帧内预测模式的模式编号时,将mpm列表的mpm候选1导出为左相邻块的帧内预测模式;可以将mpm列表的mpm候选2导出为dc帧内预测模式;可以将mpm列表的mpm候选3导出为模式编号为2 ((maxab 61)%64)的帧内预测模式,即具有对通过使左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的较大值加61获得的值执行取64的模算术运算并且使模算术运算结果加2获得的值作为模式编号的帧内预测模式;将mpm列表的mpm候选4导出为模式编号为2 ((maxab

1)%64)的帧内预测模式,即具有对通过从左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的较大值减1获得的值执行取64的模算术运算并且使模算术运算结果加2获得的值作为模式编号的帧内预测模式;将mpm列表的mpm候选5导出为模式编号为2 ((maxab 60)%64)的帧内预测模式,即具有对通过使左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的较大值加60获得的值执行取64的模算术运算并且使模算术运算结果加2获得的值作为模式编号的帧内预测模式。
[0362]
同时,上述mpm列表的生成方法的实施例可以作为源代码如下表所示。
[0363]
[表7]
[0364]
[0365][0366][0367]
另外,上述mpm列表的生成方法的实施例可以以标准格式如下表所示。
[0368]
[表8]
[0369]
[0370][0371]
[0372][0373]
[0374]
[0375][0376]
同时,当以标准格式表示根据当前块的帧内预测模式的帧内预测时,可以如下表所示。
[0377]
[表9]
[0378][0379][0380]
此外,在本公开中应用mrl时执行的基于平面帧内预测模式的帧内预测的实施例可以以标准格式在下表中示出。
[0381]
[表10]
[0382][0383]
另外,在本公开中应用mrl时执行的基于dc帧内预测模式的帧内预测的实施例可以以标准格式在下表中示出。
[0384]
[表11]
[0385][0386]
另外,根据帧内预测模式导出的水平变换核和垂直变换核可以如下。
[0387]
[表12]
[0388][0389]
例如,在当前块的帧内预测模式被确定为dc帧内预测模式时,dct2可以被用作当前块的残差的变换/逆变换的垂直变换核,以及dct2可以被用作水平变换核。
[0390]
同时,根据本公开,根据基于上下文的规则编译,来编译mpm索引的语法元素的bin串的bin中的第一bin,可以旁路编译bin串的剩余bin。
[0391]
在这种情况下,可以基于当前块的isp标志的值和/或当前块的参考线索引的值中的至少一个来不同地设置用于指示第一bin的上下文模型的上下文索引增量ctxinc如下。
[0392]
[表13]
[0393]
[0394][0395]
例如,参考表13,当参考线索引的值不为0时,可以将ctxinc导出为2,当参考线索引的值为0时,如果isp标志的值为1,则可以将ctxinc导出为0,以及如果isp标志的值不为1,则可以将ctxinc导出为1。
[0396]
同时,本公开提出了在应用mrl时更有效地执行基于dc帧内预测模式执行的帧内预测的另一实施例。
[0397]
图19图示了在当前块的帧内预测类型为mrl并且当前块的帧内预测模式是dc帧内预测模式时,用来导出dc值的参考样本。
[0398]
图19的(a)可以表示在当前块是正方形块时,用来导出dc值的参考样本。例如,当由参考线索引所指示的参考线为参考线0、参考线1、参考线2或参考线3时,可以基于图19的(a)中所示的区域(1900)中的参考样本来导出dc值。即,在当前块的左上位置的x分量和y分量为0时,可以基于当前块的上参考线中的从(

refidx,

refidx

1)坐标参考样本的等于宽度的数量的参考样本和当前块的左参考线中的从(

refidx

1,

refidx)坐标参考样本的等于宽度的数量的参考样本,导出dc值。例如,当参考线索引的值为0时,可以基于当前块的上参考线0中的从(0,

1)坐标的参考样本的等于宽度的数量的参考样本和当前块的左参考线0中的从(

1,0)坐标的参考样本的等于宽度的数量的参考样本,导出dc值;当参考线索引的值为1时,可以基于当前块的上参考线1中的从(

1,

2)坐标的参考样本的等于宽度的数量的参考样本和当前块的左参考线1中的从(

2,

1)坐标的参考样本的等于宽度的数量的参考样本,导出dc值;当参考线索引的值为2时,可以基于当前块的上参考线2中的从(

2,

3)坐标的参考样本的等于宽度的数量的参考样本和当前块的左参考线2中的从(

3,

2)坐标的参考样本的等于宽度的数量的参考样本,导出dc值;当参考线索引的值为3时,可以基于当前块的上参考线3中的从(

3,

4)坐标的参考样本的等于宽度的数量的参考样本和当前块的左参考线3中的从(

4,

3)坐标的参考样本的等于宽度的数量的参考样本,导出dc值。
[0399]
此外,图19的(b)可以表示在当前块是非正方形块时,用来导出dc值的参考样本。在本实施例中,在当前块为非正方形块时,可以基于在当前块的宽度和高度中较长边的参考线中的参考样本来导出dc值。例如,当参考线索引所指示的参考线为参考线0、参考线1、参考线2或参考线3时,可以基于在当前块的宽度和高度中较长边的参考线的区域(1910)中的参考样本来导出dc值。例如,在当前块的宽度大于高度时,可以基于当前块的上参考线中的从(

refidx,

refidx

1)坐标参考样本的与宽度相同的数量的参考样本来导出dc值。例如,当参考线索引的值为0时,可以基于当前块的上参考线0中的从(0,

1)坐标的参考样本的等于宽度的数量的参考样本来导出dc值;当参考线索引的值为1时,可以基于当前块的上参考线1中的从(

1,

2)坐标的参考样本的等于宽度的数量的参考样本来导出dc值,当参考线索引的值为2时,可以基于当前块的上参考线2中的从(

2,

3)坐标的参考样本的等于宽度的数量的参考样本来导出dc值,当参考线索引的值为3时,可以基于当前块的上参考线3中的从(

3,

4)坐标的参考样本的等于宽度的数量的参考样本来导出dc值。
[0400]
另外,例如,在当前块的宽度小于高度时,可以基于当前块的左参考线中的从(

refidx

1,

refidx)坐标参考样本的与高度相同的数量的参考样本来导出dc值。例如,当参考线索引的值为0时,可以基于当前块的左参考线0的从(

1,0)坐标的参考样本的等于高度的数量的参考样本来导出dc值;当参考线索引的值为1时,可以基于当前块的左参考线1的从(

2,

1)坐标的参考样本的等于高度的数量的参考样本来导出dc值;当参考线索引的值为2时,可以基于当前块的左参考线2的从(

3,

2)坐标的参考样本的等于高度的数量的参考样本来导出dc值;当参考线索引的值为3时,可以基于当前块的左参考线3的从(

4,

3)坐标的参考样本的等于高度的数量的参考样本来导出dc值。
[0401]
此后,可以将当前块的预测样本导出为dc值。
[0402]
在本公开中应用mrl时执行的基于dc帧内预测模式的帧内预测的实施例可以在下表中以标准格式示出。
[0403]
[表14]
[0404][0405]
同时,本公开提出了在应用mrl时更有效地执行基于平面帧内预测模式执行的帧内预测的另一实施例。
[0406]
图20图示了在当前块的帧内预测类型是mrl并且当前块的帧内预测模式是平面帧内预测模式时使用的参考样本。
[0407]
参照图20,当由参考线索引指示的参考线是参考线0、参考线1、参考线2或参考线3时,可以基于图20中所示的参考线的区域(2000)中的参考样本,执行平面预测。根据本实施例,可以基于当前块的宽度/高度的末端 1

refidx的样本来执行平面预测,与参考线索引无关。即,根据本实施例,在当前块的左上位置的x分量和y分量为0时,当前块的帧内预测类型为mrl,并且当前块的帧内预测模式为平面帧内预测模式,可以基于上参考线中的(w

refidx,

refidx

1)坐标的参考样本和左参考线中的(

refidx

1,h

refidx)坐标的参考样本来执行当前块的平面预测。
[0408]
参考本实施例,可以使用由参考线索引所指示的参考线的参考样本来执行平面帧
内预测,具体地,可以基于参考线的参考样本当中,与当前块的当前样本位置相同行(即相同y坐标)中的左参考样本以及与当前样本位置相同列(即,相同x坐标)中的上参考样本,以及上参考线中的(w

refidx,

refidx

1)坐标的参考样本和左参考线中的(

refidx

1,h

refidx)坐标的参考样本,来执行平面帧内预测。在这种情况下,可以通过基于上述四个参考样本的值执行双向线性插值来导出当前样本的预测样本值。在此,可以假设左下参考样本位于当前样本的下侧并且右上参考样本位于当前样本的右侧来执行双向线性插值。
[0409]
在本公开中应用mrl时执行的基于平面帧内预测模式的帧内预测的实施例可以在下表中以标准格式示出。
[0410]
[表15]
[0411][0412]
图21示意性地图示了由根据本公开的编码装置执行的图像编码方法。图21中公开的方法可以由图2中公开的编码装置来执行。具体地,例如,图21的s2100可以由编码装置的预测器执行,以及s2110至s2120可以由编码装置的熵编码器执行。此外,虽然未示出,但是基于原始样本针对当前块导出残差样本以及针对当前块导出预测样本的过程可以由编码装置的减法器执行,基于残差样本生成关于当前块的残差信息的过程可以由编码装置的残差处理器执行,以及编码包括残差信息的图像信息的过程可以由编码装置的熵编码器执
行。
[0413]
编码装置生成当前块的重构样本(s2100)。编码装置可以通过对当前块执行预测来导出当前块的预测样本,基于预测样本导出当前块的残差样本,以及基于预测样本和残差样本生成当前块的重构样本。
[0414]
例如,编码装置可以从上述帧内预测类型中确定用于当前块的帧内预测类型。例如,编码装置可以考虑到速率失真(rd)成本来确定当前块的帧内预测类型。上述帧内预测类型可以包括使用与当前块相邻的帧内预测参考线的第一帧内预测类型、使用与当前块不相邻的帧内预测参考线的第二帧内预测类型,以及对其应用帧内子分区模式(isp)的第三帧内预测类型。第一帧内预测类型可以指示上述一般帧内预测,第二帧内预测类型可以指示上述mrl,以及第三帧内预测类型可以指示上述isp。
[0415]
例如,编码装置可以生成和编码指示当前块的帧内预测参考线的参考线索引。可以基于参考线索引确定当前块的帧内预测类型是否是第二帧内预测类型。例如,如果当前块的帧内预测类型不是第二帧内预测类型,则编码装置可以生成并编码表示是否将第三帧内预测类型应用于当前块的isp标志。可以基于isp标志来确定用于当前块的帧内预测类型是否为第三帧内预测类型。如果isp标志指示将第三帧内预测类型应用于当前块,则可以将用于当前块的帧内预测类型导出为第三帧内预测类型,并且如果isp标志指示未将第三帧内预测类型应用于当前块,则可以将用于当前块的帧内预测类型导出为第一帧内预测类型。预测相关信息可以包括参考线索引、isp标志和/或isp索引。预测相关信息可以包括参考线索引,以及当参考线索引为0时,可以进一步包括isp标志。当isp标志为1时,预测相关信息可以进一步包括isp索引。
[0416]
例如,编码装置可以基于当前块的相邻块的帧内预测模式来构建当前块的帧内预测模式候选列表。
[0417]
例如,编码装置通过执行表3所示的帧内预测模式候选列表构建过程来构建当前块的帧内预测模式候选列表。同时,帧内预测模式候选列表可以是指上述最可能模式(mpm)列表。
[0418]
例如,编码装置可以基于第一候选帧内预测模式和第二候选帧内预测模式来构建帧间预测模式候选列表。编码装置可以基于第一候选帧内预测模式是否与第二候选帧内预测模式相同和/或第一候选帧内预测模式的模式编号和/或第二候选帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,来构建帧间预测模式候选列表。在此,可以基于当前块的左相邻块的帧内预测模式导出第一候选帧内预测模式,以及可以基于当前块的上相邻块的帧内预测模式导出第二候选帧内预测模式。例如,可以将当前块的左相邻块的帧内预测模式导出为第一候选帧内预测模式,以及可以将当前块的上相邻块的帧内预测模式导出为第二候选帧内预测模式。
[0419]
具体地,例如,当第一候选帧内预测模式与第二候选帧内预测模式相同时,编码装置可以确定第一候选帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,如果第一候选帧内预测模式的模式编号大于dc帧内预测模式的模式编号,则如下导出包括帧内预测模式候选的用于当前块的帧内预测模式候选列表。
[0420]

mpm[0]=leftintradir
[0421]

mpm[1]=planar_idx
[0422]

mpm[2]=dc_idx
[0423]

mpm[3]=((leftintradir offset)%mod) 2
[0424]

mpm[4]=((leftintradir

1)%mod) 2
[0425]

mpm[5]=((leftintradir offset

1)%mod) 2
[0426]
在此,mpm[0]、mpm[1]、mpm[2]、mpm[3]、mpm[4]、mpm[5]分别表示帧内预测模式候选0、帧内预测模式候选1、帧内预测模式候选2、帧内预测模式候选3、帧内预测模式候选4和帧内预测模式候选5,leftintradir表示第一候选帧内预测模式、planar_idx表示平面帧内预测模式以及dc_idx表示dc帧内预测模式。即,可以将帧内预测模式候选列表的帧内预测模式候选0导出为第一候选帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选1导出为平面帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为dc帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选3导出为模式编号为(leftintradir offset)%mod) 2的帧内预测模式,即具有通过对第一候选帧内预测模式的模式编号和偏移量之和执行模算术运算并将模算术运算结果加2获得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为((leftintradir

1)%mod) 2的帧内预测模式,即具有通过对从第一候选帧内预测模式的模式编号减1获得的值执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选5导出为模式编号为((leftintradir offset

1)%mod) 2的帧内预测模式,即具有通过对第一候选帧内预测模式的模式编号与(偏移

1)之和执行模算术运算并对模算术运算结果加2获得的值作为模式编号的帧内预测模式。
[0427]
例如,当第一候选帧内预测模式与第二候选帧内预测模式不同时,编码装置可以如下导出帧内预测模式候选0和帧内预测模式候选1。
[0428]

mpm[0]=leftintradir
[0429]

mpm[1]=aboveintradir
[0430]
即,可以将帧内预测模式候选列表的帧内预测模式候选0导出为第一候选帧内预测模式,以及将帧内预测模式候选列表的帧内预测模式候选1导出为第二候选帧内预测模式。此外,如果帧内预测模式候选0的模式编号大于帧内预测模式候选1的模式编号,则可以将maxcandmodeidx导出为0,如果帧内预测模式候选0的模式编号不大于帧内预测模式候选1的模式编号,则可以将maxcandmodeidx导出为1。
[0431]
如果第一候选帧内预测模式的模式编号和第二候选帧内预测模式的模式编号均大于dc帧内预测模式的模式编号,则编码装置可以如下导出帧内预测模式候选2和帧内预测模式候选3。
[0432]

mpm[2]=planar_idx
[0433]

mpm[3]=dc_idx
[0434]
即,可以将帧内预测模式候选列表的帧内预测模式候选2导出为平面帧内预测模式,将帧内预测模式候选列表的帧内预测模式候选3导出为dc帧内预测模式。
[0435]
然后,如果通过从mpm[maxcandmodeidx]的模式编号中减去mpm[!maxcandmodeidx]的模式编号所获得的值小于63且大于1,则编码装置/解码装置可以如下导出帧内预测模式候选4和帧内预测模式候选5。
[0436]

mpm[4]=((mpm[maxcandmodeidx] offset)%mod) 2
[0437]

mpm[5]=((mpm[maxcandmodeidx]

1)%mod) 2
[0438]
即,可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为((mpm[maxcandmodeidx] offset)%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]和偏移量之和执行模算术运算并且将模算术运算结果加2得到的值作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选5导出为具有模式编号((mpm[maxcandmodeidx]

1)%mod) 2的帧内预测模式,即具有通过对通过从mpm[maxcandmodeidx]减1得到的值执行模算术运算并且对模算术运算结果加2得到的值作为模式编号的帧内预测模式。
[0439]
如果通过从模式编号mpm[maxcandmodeidx]减去模式编号mpm[!maxcandmodeidx]得到的值等于或大于63或等于或小于1,则编码装置/解码装置可以如下导出帧内预测模式候选4和帧内预测模式候选5。
[0440]

mpm[4]=((mpm[maxcandmodeidx] offset

1)%mod) 2
[0441]

mpm[5]=((mpm[maxcandmodeidx])%mod) 2
[0442]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为((mpm[maxcandmodeidx] offset

1)%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]和(偏移量

1)之和执行模算术运算并且将模算术运算结果加2得到的值作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选5导出为具有模式编号((mpm[maxcandmodeidx])%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]执行模算术运算并且对模算术运算结果加2得到的值作为模式编号的帧内预测模式。
[0443]
如果第一候选帧内预测模式的模式编号和第二候选帧内预测模式的模式编号中的至少一个不大于dc帧内预测模式的模式编号,则编码装置可以确定第一候选帧内预测模式的模式编号和第二候选帧内预测模式的模式编号之和是否等于或大于2。如果第一候选帧内预测模式的模式编号和第二候选帧内预测模式的模式编号之和等于或大于2,则编码装置可以如下导出帧内预测模式候选2至帧内预测模式候选5。
[0444]

mpm[2]=(mpm[!maxcandmodeidx]==planar_idx)?dc_idx:planar_idx
[0445]

mpm[3]=((mpm[maxcandmodeidx] offset)%mod) 2
[0446]

mpm[4]=((mpm[maxcandmodeidx]

1)%mod) 2
[0447]

mpm[5]=((mpm[maxcandmodeidx] offset

1)%mod) 2
[0448]
即,如果mpm[!maxcandmodeidx]是平面帧内预测模式,则帧内预测模式候选列表的帧内预测模式候选2可以被导出为dc帧内预测模式,以及如果mpm[!maxcandmodeidx]不是平面帧内预测模式,则可以将其导出为平面帧内预测模式。另外,可以将帧内预测模式候选列表的帧内预测模式候选3导出为模式编号为((mpm[maxcandmodeidx] offset)%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]和偏移量之和执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为((mpm[maxcandmodeidx]

1)%mod) 2的帧内预测模式,即具有通过对从mpm[maxcandmodeidx]减1获得的值执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列
表的帧内预测模式候选5导出为模式编号为((mpm[maxcandmodeidx] offset

1)%mod) 2,即具有通过mpm[maxcandmodeidx]和(偏移量

1)之和执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式。
[0449]
如果不满足前述条件,则编码装置可以如下导出帧内预测模式候选0至帧内预测模式候选5。
[0450]

mpm[0]=leftintradir
[0451]

mpm[1]=(mpm[0]==planar_idx)?dc_idx:planar_idx
[0452]

mpm[2]=ver_idx
[0453]

mpm[3]=hor_idx
[0454]

mpm[4]=ver_idx
–4[0455]

mpm[5]=ver_idx 4
[0456]
即,可以将帧内预测模式候选列表的帧内预测模式候选0导出为第一候选帧内预测模式;如果帧内预测模式候选0是平面帧内预测模式,则可以将帧内预测模式候选列表的帧内预测模式候选1导出为dc帧内预测模式,以及如果帧内预测模式候选0不是平面帧内预测模式,则将其导出为平面帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为垂直帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选3导出为水平帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为对应于通过将垂直帧内预测模式的模式编号减去4获得的模式编号的帧内预测模式,即,帧内预测模式#46;可以将帧内预测模式候选列表的帧内预测模式候选5导出对应于通过将垂直帧内预测模式的模式编号加4得到的模式编号的帧内预测模式,即帧内预测模式#54。
[0457]
例如,编码装置可以执行表4所示的帧内预测模式候选列表构建过程来构建用于当前块的帧内预测模式候选列表。
[0458]
例如,编码装置可以基于第一候选帧内预测模式和第二候选帧内预测模式来构建帧内预测模式候选列表。编码装置可以基于第一候选帧内预测模式是否与第二候选帧内预测模式相同,和/或第一候选帧内预测模式的模式编号和/或第二候选帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,来构建帧间预测模式候选列表。在此,可以基于当前块的左相邻块的帧内预测模式导出第一候选帧内预测模式,以及可以基于当前块的上相邻块的帧内预测模式导出第二候选帧内预测模式。例如,可以将当前块的左相邻块的帧内预测模式导出为第一候选帧内预测模式,以及可以将当前块的上相邻块的帧内预测模式导出为第二候选帧内预测模式。
[0459]
具体地,例如,当第一候选帧内预测模式与第二候选帧内预测模式相同时,编码装置可以确定第一候选帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,如果第一候选帧内预测模式的模式编号大于dc帧内预测模式的模式编号,则如下导出包括帧内预测模式候选的用于当前块的帧内预测模式候选列表。
[0460]

mpm[0]=leftintradir
[0461]

mpm[1]=planar_idx
[0462]

mpm[2]=((leftintradir offset)%mod) 2
[0463]

mpm[3]=((leftintradir

1)%mod) 2
[0464]

mpm[4]=dc_idx
[0465]

mpm[5]=((leftintradir offset

1)%mod) 2
[0466]
在此,mpm[0]、mpm[1]、mpm[2]、mpm[3]、mpm[4]、mpm[5]分别表示帧内预测模式候选0、帧内预测模式候选1、帧内预测模式候选2、帧内预测模式候选3、帧内预测模式候选4和帧内预测模式候选5,leftintradir表示第一候选帧内预测模式、planar_idx表示平面帧内预测模式,以及dc_idx表示dc帧内预测模式。即,可以将帧内预测模式候选列表的帧内预测模式候选0导出为第一候选帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选1导出为平面帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为模式编号为(leftintradir offset)%mod) 2的帧内预测模式,即具有通过对第一候选帧内预测模式的模式编号和偏移量之和执行模算术运算并将模算术运算结果加2获得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选3导出为模式编号为((leftintradir

1)%mod) 2的帧内预测模式,即具有通过对从第一候选帧内预测模式的模式编号减1获得的值执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为dc帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选5导出为模式编号为((leftintradir offset

1)%mod) 2的帧内预测模式,即具有通过对第一候选帧内预测模式的模式编号与(偏移

1)之和执行模算术运算并对模算术运算结果加2获得的值作为模式编号的帧内预测模式。
[0467]
例如,当第一候选帧内预测模式与第二候选帧内预测模式不同时,编码装置可以如下导出帧内预测模式候选0和帧内预测模式候选1。
[0468]

mpm[0]=leftintradir
[0469]

mpm[1]=aboveintradir
[0470]
即,可以将帧内预测模式候选列表的帧内预测模式候选0导出为第一候选帧内预测模式,以及将帧内预测模式候选列表的帧内预测模式候选1导出为第二候选帧内预测模式。此外,如果帧内预测模式候选0的模式编号大于帧内预测模式候选1的模式编号,则编码装置可以将maxcandmodeidx导出为0,并且如果帧内预测模式候选0的模式编号不大于帧内预测模式候选1的模式编号,则将maxcandmodeidx导出为1。
[0471]
如果第一候选帧内预测模式的模式编号和第二候选帧内预测模式的模式编号均大于dc帧内预测模式的模式编号,则编码装置可以如下导出帧内预测模式候选1至帧内预测模式候选3。
[0472]

mpm[1]=planar_idx
[0473]

mpm[2]=aboveintradir
[0474]

maxcandmodeidx=mpm[0]>mpm[2]?0:2
[0475]

int mincandmodeidx=mpm[0]>mpm[2]?2:0
[0476]

mpm[3]=dc_idx;
[0477]
即,可以将帧内预测模式候选列表的帧内预测模式候选1导出为平面帧内预测模式,可以将帧内预测模式候选列表的帧内预测模式候选2导出为第二候选帧内预测模式,以及可以将帧内预测模式候选列表的帧内预测模式候选3导出为dc帧内预测模式。此外,如果帧内预测模式候选0的模式编号大于帧内预测模式候选2的模式编号,则编码装置可以将maxcandmodeidx导出为0,并且如果帧内预测模式候选0的模式编号不大于帧内预测模式候
选2的模式编号,则将maxcandmodeidx导出为2。此外,如果帧内预测模式候选0的模式编号大于帧内预测模式候选2的模式编号,则编码装置可以将mincandmodeidx导出为2,以及如果帧内预测模式候选0的模式编号不大于帧内预测模式候选2的模式编号,则将mincandmodeidx导出为0。
[0478]
如果通过从mpm[maxcandmodeidx]的模式编号中减去mpm[mincandmodeidx]的模式编号所获得的值小于63且大于1,则编码装置/解码装置可以如下导出帧内预测模式候选4和帧内预测模式候选5。
[0479]

mpm[4]=((mpm[maxcandmodeidx] offset)%mod) 2
[0480]

mpm[5]=((mpm[maxcandmodeidx]

1)%mod) 2
[0481]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为((mpm[maxcandmodeidx] offset)%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]和偏移量之和执行模算术运算并且将模算术运算结果加2得到的值作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选5导出为具有模式编号((mpm[maxcandmodeidx]

1)%mod) 2的帧内预测模式,即具有通过对通过从mpm[maxcandmodeidx]减1得到的值执行模算术运算并且对模算术运算结果加2得到的值作为模式编号的帧内预测模式。
[0482]
如果通过从模式编号mpm[maxcandmodeidx]减去模式编号mpm[mincandmodeidx]得到的值等于或大于63或等于或小于1,则编码装置/解码装置可以如下导出帧内预测模式候选4和帧内预测模式候选5。
[0483]

mpm[4]=((mpm[maxcandmodeidx] offset

1)%mod) 2
[0484]

mpm[5]=((mpm[maxcandmodeidx])%mod) 2
[0485]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为((mpm[maxcandmodeidx] offset

1)%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]和(偏移量

1)之和执行模算术运算并且将模算术运算结果加2得到的值作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选5导出为具有模式编号((mpm[maxcandmodeidx])%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]执行模算术运算并且对模算术运算结果加2得到的值作为模式编号的帧内预测模式。
[0486]
如果第一候选帧内预测模式的模式编号和第二候选帧内预测模式的模式编号中的至少一个不大于dc帧内预测模式的模式编号,则编码装置可以确定第一候选帧内预测模式的模式编号和第二候选帧内预测模式的模式编号之和是否等于或大于2。如果第一候选帧内预测模式的模式编号和第二候选帧内预测模式的模式编号之和等于或大于2,则编码装置可以确定第一候选帧内预测模式和第二候选帧内预测模式中的至少一个是否为平面帧内预测模式。
[0487]
如果第一候选帧内预测模式和第二候选帧内预测模式中的至少一个是平面帧内预测模式,则编码装置可以如下导出帧内预测模式候选0和帧内预测模式候选1。
[0488]

mpm[0]=planar_idx
[0489]

mpm[1]=(leftintradir<aboveintradir)?aboveintradir:leftintradir
[0490]

maxcandmodeidx=1
[0491]
即,可以将帧内预测模式候选列表的帧内预测模式候选0导出为平面帧内预测模式,如果第一候选帧内预测模式的模式编号小于第二候选帧内预测模式的模式编号,则可以将帧内预测模式候选列表的帧内预测模式候选1导出为第二候选帧内预测模式,以及如果第一候选帧内预测模式的模式编号大于或等于第二候选帧内预测模式的模式编号,则将其导出为第一候选帧内预测模式。此外,编码装置可以将maxcandmodeidx导出为1。
[0492]
如果第一候选帧内预测模式和第二候选帧内预测模式均不是平面帧内预测模式,则编码装置可以如下导出帧内预测模式候选2至帧内预测模式候选5。
[0493]

mpm[2]=(mpm[!maxcandmodeidx]==planar_idx)?dc_idx:planar_idx
[0494]

mpm[3]=((mpm[maxcandmodeidx] offset)%mod) 2
[0495]

mpm[4]=((mpm[maxcandmodeidx]

1)%mod) 2
[0496]

mpm[5]=((mpm[maxcandmodeidx] offset

1)%mod) 2
[0497]
即,如果mpm[!maxcandmodeidx]是平面帧内预测模式,则帧内预测模式候选列表的帧内预测模式候选2可以被导出为dc帧内预测模式,以及如果mpm[!maxcandmodeidx]不是平面帧内预测模式,则可以将其导出为平面帧内预测模式。另外,可以将帧内预测模式候选列表的帧内预测模式候选3导出为模式编号为((mpm[maxcandmodeidx] offset)%mod) 2的帧内预测模式,即,具有通过对mpm[maxcandmodeidx]和偏移量之和执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为((mpm[maxcandmodeidx]

1)%mod) 2的帧内预测模式,即具有通过对从mpm[maxcandmodeidx]减1获得的值执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选5导出为模式编号为((mpm[maxcandmodeidx] offset

1)%mod) 2,即具有通过对mpm[maxcandmodeidx]和(偏移量

1)之和执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式。
[0498]
如果不满足前述条件,则编码装置可以如下导出帧内预测模式候选0至帧内预测模式候选5。
[0499]

mpm[0]=leftintradir
[0500]

mpm[1]=(mpm[0]==planar_idx)?dc_idx:planar_idx
[0501]

mpm[2]=ver_idx
[0502]

mpm[3]=hor_idx
[0503]

mpm[4]=ver_idx
–4[0504]

mpm[5]=ver_idx 4
[0505]
即,可以将帧内预测模式候选列表的帧内预测模式候选0导出为第一候选帧内预测模式;如果帧内预测模式候选0是平面帧内预测模式,则可以将帧内预测模式候选列表的帧内预测模式候选1导出为dc帧内预测模式,以及如果帧内预测模式候选0不是平面帧内预测模式,则将其导出为平面帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为垂直帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选3导出为水平帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为对应于通过将垂直帧内预测模式的模式编号减去4获得的模式编号的帧内预测模式,即,帧内预测模式#46;可以将帧内预测模式候选列表的帧内预测模式候选5导出对应于通过将垂直帧内
预测模式的模式编号加4得到的模式编号的帧内预测模式,即帧内预测模式#54。
[0506]
例如,编码装置可以执行表5所示的帧内预测模式候选列表构建过程来构建用于当前块的帧内预测模式候选列表。
[0507]
例如,编码装置可以基于第一候选帧内预测模式和第二候选帧内预测模式来构建帧内预测模式候选列表。编码装置可以基于第一候选帧内预测模式是否与第二候选帧内预测模式相同,和/或第一候选帧内预测模式的模式编号和/或第二候选帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,来构建帧间预测模式候选列表。在此,可以基于当前块的左相邻块的帧内预测模式导出第一候选帧内预测模式,以及可以基于当前块的上相邻块的帧内预测模式导出第二候选帧内预测模式。例如,可以将当前块的左相邻块的帧内预测模式导出为第一候选帧内预测模式,以及可以将当前块的上相邻块的帧内预测模式导出为第二候选帧内预测模式。
[0508]
具体地,例如,当第一候选帧内预测模式与第二候选帧内预测模式相同时,编码装置可以确定第一候选帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,如果第一候选帧内预测模式的模式编号大于dc帧内预测模式的模式编号,则如下导出包括帧内预测模式候选的用于当前块的帧内预测模式候选列表。
[0509]

mpm[0]=g_intramode65to33angmapping[leftintradir]
[0510]

mpm[1]=((g_intramode65to33angmapping[leftintradir] offset)%mod) 2
[0511]

mpm[2]=((g_intramode65to33angmapping[leftintradir]

1)%mod) 2
[0512]
可以将帧内预测模式候选列表的帧内预测模式候选0导出为第一候选帧内预测模式。另外,可以将帧内预测模式候选列表的帧内预测模式候选1导出为模式编号为((g_intramode65to33angmapping[leftintradir] offset)%mod) 2的帧内预测模式,即具有通过对第一候选帧内预测模式的模式编号与偏移量之和执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选2导出为模式编号为((g_intramode65to33angmapping[leftintradir]

1)%mod) 2的帧内预测模式,即具有通过对通过从第一候选帧内预测模式的模式编号减1获得的值执行模算术运算并且将模算术运算结果加2得到的值作为模式编号的帧内预测模式。
[0513]
如果第一候选帧内预测模式的模式编号等于或小于dc帧内预测模式的模式编号,则编码装置可以如下导出包括帧内预测模式候选的用于当前块的帧内预测模式候选列表。
[0514]

mpm[0]=g_intramode65to33angmapping[planar_idx]
[0515]

mpm[1]=g_intramode65to33angmapping[dc_idx]
[0516]

mpm[2]=g_intramode65to33angmapping[ver_idx]
[0517]
即,帧内预测模式候选列表的帧内预测模式候选0可以被导出为平面帧内预测模式,可以将帧内预测模式候选列表的帧内预测模式候选1导出为dc帧内预测模式,以及可以将帧内预测模式候选列表的帧内预测模式候选2导出为垂直帧内预测模式。
[0518]
此外,如果第一候选帧内预测模式与第二候选帧内预测模式不同,则编码装置可以导出帧内预测模式候选0和帧内预测模式候选1。
[0519]

mpm[0]=g_intramode65to33angmapping[leftintradir]
[0520]

mpm[1]=g_intramode65to33angmapping[aboveintradir]
[0521]
即,可以将帧内预测模式候选列表的帧内预测模式候选0作为第一候选帧内预测模式,以及可以将帧内预测模式候选列表的帧内预测模式候选1导出为第二候选帧内预测模式。
[0522]
然后,如果第一候选帧内预测模式和第二候选帧内预测模式均为平面帧内预测模式,则编码装置可以如下导出帧内预测模式候选2。
[0523]

mpm[2]=g_intramode65to33angmapping[planar_idx]
[0524]
即,可以将帧内预测模式候选列表的帧内预测模式候选2导出为平面帧内预测模式。
[0525]
否则,如果第一候选帧内预测模式和第二候选帧内预测模式中的至少一个是平面帧内预测模式,则编码装置可以如下导出帧内预测模式候选2。
[0526]

mpm[2]=g_intramode65to33angmapping[(leftintradir aboveintradir)<2?ver_idx:dc_idx]
[0527]
也就是说,如果第一候选帧内预测模式的模式编号与第二候选帧内预测模式的模式编号之和小于2,则可以将帧内预测模式候选列表的帧内预测模式候选2导出为垂直帧内预测模式,以及如果第一候选帧内预测模式的模式编号与第二候选帧内预测模式的模式编号之和等于或大于2,则可以将其导出为dc帧内预测模式。
[0528]
例如,编码装置可以基于如表6所示的当前块的相邻块的帧内预测模式构建当前块的帧内预测模式候选列表。同时,帧内预测模式候选列表可以是指上述最可能模式(mpm)列表。
[0529]
例如,编码装置可以基于当前块的左相邻块的帧内预测模式和当前块的上相邻块的帧内预测模式来构建帧内预测模式候选列表。编码装置可以确定当前块的左相邻块的帧内预测模式和上相邻块的帧内预测模式是否相同,以及左相邻块的帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号。编码装置可以基于当前块的左相邻块的帧内预测模式和上相邻块的帧内预测模式是否相同和/或左相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号来构建帧内预测模式候选列表。
[0530]
在当前块的左相邻块的帧内预测模式与上相邻块的帧内预测模式相同且左相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号时,编码装置可以如下所述导出包括帧内预测模式候选的当前块的帧内预测模式候选列表。
[0531]

mpm[0]=intra_planar
[0532]

mpm[1]=candintrapredmodea
[0533]

mpm[2]=2 ((candintrapredmodea 61)%64)
[0534]

mpm[3]=2 ((candintrapredmodea

1)%64)
[0535]

mpm[4]=intra_dc
[0536]

mpm[5]=2 ((candintrapredmodea 60)%64)
[0537]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选0导出为平面帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选1导出为左相邻块的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为模式编号为2 ((candintrapredmodea 61)%64)的帧内预测模式,即具有通过对通过将左相邻块的帧内预测模式的模式编号加上61获得的值执行取64的模算术运算并将模算术运算结果加2所获
得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选3导出为模式编号为2 ((candintrapredmodea

1)%64)的帧内预测模式,即通过对从左相邻块的帧内预测模式的模式编号减1获得的值执行取64的模算术运算并将模算术运算结果加2所获得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为dc帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选5导出为模式编号为2 ((candintrapredmodea 60)%64),即通过对通过将左相邻块的帧内预测模式的模式编号加上60获得的值执行取64的模算术运算并将模算术运算结果加2所获得的值作为模式编号的帧内预测模式。即,例如,当左相邻块的帧内预测模式和上相邻块的帧内预测模式相同,并且左相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号时,帧内预测模式候选列表可以包括左相邻块的帧内预测模式、上相邻块的帧内预测模式、模式编号为2 ((candintrapredmodea 61)%64)的帧内预测模式、模式编号2 ((candintrapredmodea

1)%64)的帧内预测模式和模式编号2 ((candintrapredmodea 60)%64)的帧内预测模式作为帧内预测模式候选。在此,candintrapredmodea可以表示当前块的左相邻块的帧内预测模式的模式编号。
[0538]
同时,在当前块的左相邻块的帧内预测模式和上相邻块的帧内预测模式不相同时,例如,编码装置可以确定左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的至少一个是否大于dc帧内预测模式的模式编号。当左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的至少一个大于dc帧内预测模式的模式编号时,可以如下导出变量minab和变量maxab。
[0539]

minab=min(candintrapredmodea,candintrapredmodeb)
[0540]

maxab=max(candintrapredmodea,candintrapredmodeb)
[0541]
在此,candintrapredmodea可以表示当前块的左相邻块的帧内预测模式的模式编号,以及candintrapredmodeb可以表示当前块的上相邻块的帧内预测模式的模式编号。即,minab可以表示左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的较小值,maxab可以表示左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的较大值。
[0542]
此外,在当前块的左相邻块的帧内预测模式与上相邻块的帧内预测模式不相同时,编码装置可以确定左相邻块的帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,以及上相邻块的帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号。
[0543]
例如,当左相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号并且上相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号时,编码装置可以如下所述导出帧内预测模式候选0至帧内预测模式候选3。
[0544]
mpm[0]=intra_planar
[0545]
mpm[1]=candintrapredmodea
[0546]
mpm[2]=candintrapredmodeb
[0547]
mpm[3]=intra_dc
[0548]
即,可以将帧内预测模式候选列表的帧内预测模式候选0导出为平面帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选1导出为左相邻块的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为上相邻块的帧内预测模式,以
及可以将帧内预测模式候选列表的帧内预测模式候选3导出为dc帧内预测模式。在此,candintrapredmodeb可以表示当前块的上相邻块的帧内预测模式的模式编号。即,例如,当左相邻块的帧内预测模式和上相邻块的帧内预测模式不相同并且左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式均大于dc帧内预测模式的模式编号时,帧内预测模式候选列表可以包括左相邻块的帧内预测模式和上相邻块的帧内预测模式,作为帧内预测模式候选。
[0549]
此后,可以基于maxab和minab导出剩余的帧内预测模式候选(帧内预测模式候选4和帧内预测模式候选5)。具体地,可以基于左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号之间的较大值和较小值之间的差来导出剩余的帧内预测模式候选。
[0550]
例如,当maxab减去minab得到的值小于63且大于1时(即当maxab减去minab得到的值为2至62之一时),编码装置可以如下所述导出帧内预测模式候选4和帧内预测模式候选5。
[0551]

mpm[4]=2 ((maxab 61)%64)
[0552]

mpm[5]=2 ((maxab

1)%64)
[0553]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为2 ((maxab 61)%64)的帧内预测模式,即具有通过对通过将maxab加61得到的值执行取64的模算术运算并且使模算术运算结果加2所得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选5导出为模式编号为2 ((maxab

1)%64)的帧内预测模式,即具有通过对通过使maxab减1得到的值执行取64的模算术运算并且使模算术运算结果加2所得的值作为模式编号的帧内预测模式。在此,maxab可以表示左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的较大值。
[0554]
可替代地,当从maxab减去minab所获得的值等于或大于63或等于或小于1时,编码装置可以如下所述导出帧内预测模式候选4和帧内预测模式候选5。
[0555]

mpm[4]=2 ((maxab 60)%64)
[0556]

mpm[5]=2 (maxab%64)
[0557]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为2 ((maxab 60)%64)的帧内预测模式,即具有通过对通过将maxab加60得到的值执行取64的模算术运算并且使模算术运算结果加2所得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选5导出为模式编号为2 (maxab%64)的帧内预测模式,即具有通过对maxab执行取64的模算术运算并且使模算术运算结果加2所得的值作为模式编号的帧内预测模式。在此,maxab可以表示左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的较大值。
[0558]
同时,在当前块的左相邻块的帧内预测模式与上相邻块的帧内预测模式不相同,或者左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的至少一个小于dc帧内预测模式的模式编号时,编码装置可以确定左相邻块的帧内预测模式的模式编号与上相邻块的帧内预测模式的模式编号之和是否等于或大于dc帧内预测模式的模式编号。
[0559]
例如,当左相邻块的帧内预测模式的模式编号与上相邻块的帧内预测模式的模式
编号之和等于或大于dc帧内预测模式的模式编号时,编码装置可以如下所述导出包括帧内预测模式候选的当前块的帧内预测模式候选列表。
[0560]

mpm[0]=intra_planar
[0561]

mpm[1]=maxab
[0562]

mpm[2]=intra_dc
[0563]

mpm[3]=2 ((maxab 61)%64)
[0564]

mpm[4]=2 ((maxab

1)%64)
[0565]

mpm[5]=2 ((maxab 60)%64)
[0566]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选0导出为平面帧内预测模式;可以将帧内预测模式候选1导出为maxab,即,当左相邻块的帧内预测模式的模式编号小于上相邻块的帧内预测模式的模式编号时,可以将帧内预测模式候选1导出为上相邻块的帧内预测模式,以及当左相邻块的帧内预测模式的模式编号大于或等于上相邻块的帧内预测模式的模式编号时,可以将帧内预测模式候选1导出为左相邻块的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为dc帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选3导出为模式编号为2 ((maxab 61)%64)的帧内预测模式,即具有通过对通过将maxab加61得到的值执行取64的模算术运算并且使模算术运算结果加2所得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为2 ((maxab

1)%64)的帧内预测模式,即具有通过对通过将maxab减1得到的值执行取64的模算术运算并且使模算术运算结果加2所得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选5导出为模式编号为2 ((maxab 60)%64)的帧内预测模式,即具有通过对通过将maxab加60得到的值执行取64的模算术运算并且使模算术运算结果加2所得的值作为模式编号的帧内预测模式。
[0567]
或者,例如,当上述条件不满足时,编码装置可以如下所述导出包括帧内预测模式候选的当前块的帧内预测模式候选列表。
[0568]

mpm[0]=intra_planar
[0569]

mpm[1]=intra_dc
[0570]

mpm[2]=intra_angular50
[0571]

mpm[3]=intra_angular18
[0572]

mpm[4]=intra_angular46
[0573]

mpm[5]=intra_angular54
[0574]
即,可以将帧内预测模式候选列表的帧内预测模式候选0导出为平面帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选1导出为dc帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为垂直帧内预测模式(即帧内预测模式#50);可以将帧内预测模式候选列表的帧内预测模式候选3导出为水平帧内预测模式(即帧内预测模式#18);可以将帧内预测模式候选列表的帧内预测模式候选4导出为通过将垂直帧内预测模式的模式编号减去4得到的模式编号的帧内预测模式,即,帧内预测模式#46;可以将帧内预测模式候选列表的帧内预测模式候选5导出为模通过将垂直帧内预测模式的模式编号加4得到的模式编号的帧内预测模式,即帧内预测模式#54。即,例如,当不满足上述条件时,帧内预测模式候选列表可以包括dc帧内预测模式、帧内预测模式#50、帧内预测模
式#18、帧内预测模式#46和帧内预测模式#54作为帧内预测模式候选。
[0575]
同时,例如,当左相邻块不可用时,不将帧内预测应用于左相邻块,并且可以将与上相邻块的ciip标志的值不是1的情况和左相邻块的pcm标志的值为1的情况中的至少一个相对应的左相邻块的帧内预测模式导出为平面帧内预测模式。此外,当上相邻块不可用时,不将帧内预测应用于上相邻块,并且可以将与上相邻块的ciip标志的值不是1的情况、上相邻块的pcm标志的值为1的情况以及上相邻块不被包括在当前ctu中的情况中的至少一个相对应的左相邻块的帧内预测模式导出为平面帧内预测模式。
[0576]
同时,当帧内预测类型为第一帧内预测类型时生成的帧内预测模式候选列表、当帧内预测类型为第二帧内预测类型时生成的帧内预测模式候选列表,以及当帧内预测类型为第三帧内预测类型时生成的帧内预测模式候选列表可以相同。即,无论当前块的帧内预测类型如何,都可以构建相同的帧内预测模式候选列表。无论当前块的帧内预测类型如何,可以通过相同的帧内预测模式构建过程来构建帧内预测模式候选列表。帧内预测模式构建过程可以与上述实施例之一相同。
[0577]
例如,编码装置可以基于帧内预测模式候选列表导出当前块的帧内预测模式。编码装置可以通过执行各种帧内预测模式来将具有最优rd成本的帧内预测模式导出为当前块的帧内预测模式。例如,编码装置可以从帧内预测模式候选列表中的帧内预测模式候选当中导出具有最优rd成本的帧内预测模式作为当前块的帧内预测模式。帧内预测模式可以是两个非定向帧内预测模式和65个定向帧内预测模式之一。如上所述,两个非定向帧内预测模式可以包括dc帧内预测模式和平面帧内预测模式。
[0578]
例如,当用于当前块的帧内预测类型被导出为第二帧内预测类型时,可以将当前块的帧内预测模式选择为除平面帧内预测模式和dc帧内预测模式以外的帧内预测模式之一,而当用于当前块的帧内预测类型被导出为第三帧内预测类型时,将其选择为除dc帧内预测模式以外的帧内预测模式之一。
[0579]
例如,当用于当前块的帧内预测类型被导出为第二帧内预测类型时,可以将用于当前块的帧内预测模式选择为除平面帧内预测模式以外的帧内预测模式之一,而当用于当前块的帧内预测类型被导出为第三帧内预测类型时,可以将其选择为除dc帧内预测模式以外的帧内预测模式之一。
[0580]
例如,当用于当前块的帧内预测类型被导出为第二帧内预测类型时,可以将当前块的帧内预测模式选择为除平面帧内预测模式以外的帧内预测模式之一。
[0581]
编码装置可以生成指示所确定的帧内预测模式是否被包括在帧内预测模式候选列表的帧内预测模式候选中的mpm标志。mpm标志也可以被称为帧内预测模式候选标志。如果所确定的帧内预测模式被包括在帧内预测模式候选列表的帧内预测模式候选中,则编码装置可以生成指示帧内预测模式候选当中的所确定的帧内预测模式的mpm索引。mpm索引也可以被称为帧内预测模式候选索引。如果所确定的帧内预测模式未被包括在帧内预测模式候选列表的帧内预测模式候选中,则编码装置可以生成指示未被包括在帧内预测模式候选中的剩余帧内预测模式当中的所确定的帧内预测模式的剩余帧内预测模式信息。此外,如果所确定的帧内预测模式被包括在帧内预测模式候选列表的帧内预测模式候选中,则编码装置可以不发信号通知mpm标志并且可以将mpm标志的值导出为1。当前块的预测相关信息可以包括mpm标志、mpm索引和/或剩余帧内预测模式信息。
[0582]
例如,编码装置可以基于帧内预测类型和帧内预测模式导出当前块的预测样本。
[0583]
例如,当帧内预测类型被导出为第一帧内预测类型时,编码装置可以基于帧内预测模式,从与当前块相邻的帧内预测参考线中的参考样本中导出至少一个参考样本,并且基于参考样本生成当前块的预测样本。参考样本可以包括当前块的左上参考样本、上参考样本和左参考样本。例如,在当前块的大小为w
×
h、当前块的左上样本位置的x分量为xn以及其y分量为yn时,左参考样本可以是p[xn

1][yn]至p[xn

1][2h yn

1]、左上参考样本可以是p[xn

1][yn

1],以及上参考样本可以是p[xn][yn

1]至p[2w xn

1][yn

1]。
[0584]
例如,当帧内预测类型被导出为第二帧内预测类型时,编码装置可以基于帧内预测模式,从与当前块不相邻的帧内预测参考线的参考样本中导出至少一个参考样本,并且基于参考样本生成当前块的预测样本。在此,帧内预测参考线可以是与当前块的上边界和/或左边界相隔1、2或3个样本距离的参考线。
[0585]
例如,当将帧内预测类型导出为第三帧内预测类型时,编码装置可以确定当前块的isp分割类型,并且根据isp分割类型对当前块进行分区以导出子块。分割类型可以是水平分割类型或垂直分割类型。例如,在当前块的大小为4
×
4时,可以不分区当前块。例如,在当前块的大小为4
×
8且分割类型为水平分割类型时,可以将当前块分区为两个4
×
4的子块。例如,在当前块的大小为4
×
8并且分割类型为垂直分割类型时,可以将当前块分区为两个2
×
8的子块。例如,在当前块的大小为8
×
4且分割类型为水平分割类型时,可以将当前块分区为两个8
×
2的子块。例如,在当前块的大小为8
×
4且分割类型为垂直分割类型时,可以将当前块分区为两个4
×
4的子块。例如,在当前块的大小为w
×
h(除4
×
8、8
×
4、4
×
4以外的大小)且分割类型为水平分割类型时,可以将当前块分区为4个w
×
h/4个子块。例如,在当前块的大小为w
×
h且分割类型为垂直分割类型时,可以将当前块分区为四个w/4
×
h的子块。此后,编码装置可以对子块执行帧内预测以生成预测样本。即,编码装置可以基于帧内预测模式,导出当前块的每个子块的帧内预测参考线中的至少一个参考样本,并且基于参考样本生成预测样本。每个子块的帧内预测参考线可以是与每个子块相邻的参考线。同时,编码装置可以生成并编码指示isp分割类型的isp分割标志。上述预测相关信息可以包括isp分割标志。
[0586]
例如,当将当前块的帧内预测模式导出为dc帧内预测模式、当前块为正方形块、当前块的大小为wxh、当前块的左上位置的x分量和y分量为0时,可以基于由当前块的参考线索引指示的上帧内预测参考线中的(0,

refidx

1)坐标的参考样本至(w

1,

refidx

1)坐标的参考样本以及由该参考线索引指示的左帧内预测参考线中的(

refidx

1,0)坐标的参考样本至(

refidx

1,h

1)坐标的参考样本来导出dc值。可以将当前块的预测样本导出为dc值。
[0587]
例如,在将当前块的帧内预测模式导出为dc帧内预测模式、当前块为其宽度大于高度的非正方形块、当前块的大小为wxh、并且当前块的左上位置的x分量和y分量为0时,可以基于由当前块的参考线索引指示的上帧内预测参考线中的(0,

refidx

1)坐标的参考样本至(w

1,

refidx

1)坐标的参考样本来导出dc值。可以将当前块的预测样本导出为dc值。
[0588]
例如,在将当前块的帧内预测模式导出为dc帧内预测模式、当前块为其高度大于宽度的非正方形块、当前块的大小为wxh并且当前块的左上位置的x分量和y分量为0时,可以基于由当前块的参考线索引指示的左帧内预测参考线中的(

refidx

1,0)坐标的参考样
本至(

refidx

1,h

1)坐标的参考样本来导出dc值。可以将当前块的预测样本导出为dc值。
[0589]
例如,在将当前块的帧内预测模式导出为平面帧内预测模式、当前块的大小为wxh、当前块的左上位置的x分量和y分量为0时,可以基于由当前块的参考线索引指示的帧内预测参考线中的(w

1,

refidx

1)坐标的参考样本至(

refidx

1,h

1)坐标的参考样本来导出预测样本。
[0590]
此外,例如,编码装置可以基于预测样本导出当前块的残差样本。编码装置可以从原始样本和预测样本之间的差异导出残差样本。然后,例如,编码装置可以基于预测样本和残差样本来生成当前块的重构样本。此后,如上所述,编码装置可以将诸如去块滤波和/或sao过程的环内滤波过程应用于重构样本(即,重构图片)以根据需要改进主观/客观图片质量。
[0591]
编码装置生成用于当前块的预测相关信息(s2110)。编码装置可以生成用于当前块的预测相关信息。
[0592]
例如,预测相关信息可以包括当前块的参考线索引。参考线索引可以指示当前块的帧内预测参考线。例如,当参考线索引的值为0时,参考线索引可以指示与当前块的上边界和/或左边界相邻的参考线,当参考线索引的值为1时,参考线索引可以指示与当前块的上边界和/或左边界相隔一个样本距离的参考线,当参考线索引的值为2时,参考线索引可以指示与当前块的上边界和/或左边界相隔2个样本距离的参考线,当参考线索引的值为3时,参考线索引可以指示与当前块的上边界和/或左边界相隔3个样本距离的参考线。
[0593]
另外,例如,当参考线索引指示与当前块相邻的参考线时,即当参考线索引的值为0时,预测相关信息可以包括帧内子分区模式(isp)标志。isp标志可以表示对其应用了isp的第三帧内预测类型是否被应用于当前块。也就是说,isp标志可以表示是否将isp应用于当前块。例如,当ips标志的值为1时,isp标志可以表示对当前块应用第三帧内预测类型,当ips标志的值为0时,isp标志可以表示不对当前块应用第三帧内预测类型。此外,例如,当isp标志的值为1时,预测相关信息可以包括表示isp分割类型的isp分割标志。
[0594]
此外,例如,预测相关信息可以包括最可能模式(mpm)标志。可替代地,例如,预测相关信息可以不包括mpm标志,并且在这种情况下,编码装置可以将mpm标志的值导出为1。mpm标志可以表示当前块的帧内预测模式是否为帧内预测模式候选列表的帧内预测模式候选之一。mpm标志可以被称为帧内预测模式候选标志。
[0595]
此外,例如,当mpm标志的值为1时,预测相关信息可以包括mpm索引。mpm索引可以指示帧内预测模式候选列表中的帧内预测模式候选之一。mpm索引可以以mpm_idx或intra_luma_mpm_idx语法元素的形式发信号通知。mpm索引可以被称为帧内预测模式候选索引。
[0596]
此外,例如,当mpm标志的值为0时,预测相关信息可以包括剩余帧内预测模式信息。剩余帧内预测模式信息可以指示除帧内预测模式候选列表的帧内预测模式候选之外的剩余帧内预测模式之一。剩余帧内预测模式信息可以以rem_intra_luma_pred_mode或intra_luma_mpm_remainder语法元素的形式发信号通知。
[0597]
编码装置对包括预测相关信息的图像信息进行编码(s2120)。编码装置可以对包括预测相关信息的图像信息进行编码,并且可以以比特流的形式输出图像信息。预测相关信息可以包括参考线索引、isp标志和/或isp索引。此外,预测相关信息可以包括mpm标志、mpm索引和/或剩余帧内预测模式信息。另外,虽然未示出,但是编码装置可以基于残差样本
生成当前块的残差信息,以及可以对包括残差信息的图像信息进行编码,并且可以以比特流的形式输出图像信息。同时,比特流可以通过网络或(数字)存储介质传输到解码装置。在此,网络可以包括广播网络和/或通信网络,而数字存储介质可以包括诸如usb、sd、cd、dvd、蓝光、hdd和ssd的各种存储介质。
[0598]
图22示意性地示出了根据本公开的执行图像编码方法的编码装置。图21中公开的方法可以由图22中公开的编码装置来执行。具体地,图22的编码装置的预测器可以执行图21的s2100,以及图22的编码装置的熵编码器可以执行图21的s2110到s2120。虽然未示出,但是可以由图20的编码装置的减法器执行基于当前块的原始样本和预测样本导出当前块的残差样本的过程,以及可以由图20的编码装置的残差处理器执行基于残差样本生成关于当前块的残差信息的过程,以及可以由图20的编码装置的熵编码器执行对包括残差信息的图像信息执行编码的过程。
[0599]
图23示意性地图示了根据本公开的由解码装置执行的图像解码方法。图23中公开的方法可以由图3中公开的解码装置来执行。具体地,图23的s2300可以由解码装置的熵解码器执行,以及图23的s2310可以由解码装置的预测器执行。此外,虽然未示出,但是可以通过解码装置的熵解码器执行通过比特流获得包括用于当前块的残差信息的图像信息的过程,以及可以由解码装置的逆变换器执行基于残差信息导出用于当前块的残差样本的过程。
[0600]
解码装置接收包括用于当前块的预测相关信息的图像信息(s2300)。例如,解码装置可以通过比特流接收和解析包括当前块的预测相关信息和/或残差信息的图像信息。例如,预测相关信息可以如上表2所示。
[0601]
例如,预测相关信息可以包括当前块的参考线索引。参考线索引可以指示当前块的帧内预测参考线。例如,当参考线索引的值为0时,参考线索引可以指示与当前块的上边界和/或左边界相邻的参考线,当参考线索引的值为1时,参考线索引可以指示与当前块的上边界和/或左边界相隔一个样本距离的参考线,当参考线索引的值为2时,参考线索引可以指示与当前块的上边界和/或左边界相隔2个样本距离的参考线,当参考线索引的值为3时,参考线索引可以指示与当前块的上边界和/或左边界相隔3个样本距离的参考线。
[0602]
另外,例如,当参考线索引指示与当前块相邻的参考线时,即当参考线索引的值为0时,预测相关信息可以包括帧内子分区模式(isp)标志。isp标志可以表示对其应用了isp的第三帧内预测类型是否被应用于当前块。也就是说,isp标志可以表示是否将isp应用于当前块。例如,当ips标志的值为1时,isp标志可以表示对当前块应用第三帧内预测类型,当ips标志的值为0时,isp标志可以表示不对当前块应用第三帧内预测类型。此外,例如,当isp标志的值为1时,预测相关信息可以包括表示isp分割类型的isp分割标志。
[0603]
此外,例如,预测相关信息可以包括最可能模式(mpm)标志。可替代地,例如,预测相关信息可以不包括mpm标志,并且在这种情况下,解码装置可以将mpm标志的值导出为1。mpm标志可以表示当前块的帧内预测模式是否为帧内预测模式候选列表的帧内预测模式候选之一。mpm标志可以被称为帧内预测模式候选标志。
[0604]
此外,例如,当mpm标志的值为1时,预测相关信息可以包括mpm索引。mpm索引可以指示帧内预测模式候选列表中的帧内预测模式候选之一。mpm索引可以以mpm_idx或intra_luma_mpm_idx语法元素的形式发信号通知。mpm索引可以被称为帧内预测模式候选索引。
[0605]
此外,例如,当mpm标志的值为0时,预测相关信息可以包括剩余帧内预测模式信息。剩余帧内预测模式信息可以指示除帧内预测模式候选列表的帧内预测模式候选之外的剩余帧内预测模式之一。剩余帧内预测模式信息可以以rem_intra_luma_pred_mode或intra_luma_mpm_remainder语法元素的形式发信号通知。
[0606]
解码装置基于图像信息生成当前块的重构样本(s2310)。解码装置可以通过对当前块执行预测来导出预测样本,基于当前块的残差信息导出当前块的残差样本,并且基于预测样本和残差样本生成当前块的重构样本。
[0607]
例如,解码装置可以基于预测相关信息导出帧内预测类型当中的用于当前块的帧内预测类型。解码装置可以基于预测相关信息导出用于当前块的帧内预测类型。在此,帧内预测类型可以包括使用与当前块相邻的帧内预测参考线的第一帧内预测类型、使用与当前块不相邻的帧内预测参考线的第二帧内预测类型以及对其应用帧内子分区模式(isp)的第三帧内预测类型。第一帧内预测类型可以指示上述一般帧内预测,第二帧内预测类型可以指示上述mrl,以及第三帧内预测类型可以指示上述isp。
[0608]
例如,解码装置可以基于表2所示的预测相关信息导出用于当前块的帧内预测类型。例如,解码装置可以基于当前块的参考线索引确定用于当前块的帧内预测类型是否为第二帧内预测类型。预测相关信息可以包括参考线索引。参考线索引可以指示当前块的帧内预测参考线。例如,当参考线索引为0时,参考线索引可以指示与当前块的上边界和/或左边界相邻的参考线;当参考线索引为1时,参考线索引可以指示与当前块的上边界和/或左边界相隔1个样本距离的参考线;当参考线索引为2时,参考线索引可以指示与当前块的上边界和/或左边界相隔2个样本距离的参考线;以及当参考线索引为3时,参考线索引可以指示与当前块的上边界和/或左边界相隔3个样本距离的参考线。当参考线索引指示与当前块相邻的参考线时,解码装置可以将与当前块相邻的参考线导出为当前块的帧内预测参考线,并且确定当前块的帧内预测类型不是第二帧内预测类型。此外,当参考线索引指示与当前块不相邻的参考线时,解码装置可以将与当前块不相邻的参考线导出为当前块的帧内预测参考线,并且将第二帧内预测类型导出为当前块的帧内预测类型。在此,与当前块不相邻的参考线可以是与当前块的上边界和/或左边界相隔1、2或3个样本距离的参考线。
[0609]
另外,当参考线索引指示与当前块相邻的参考线时,即,在用于当前块的帧内预测类型不是第二帧内预测类型时,解码装置可以基于帧内子分区模式(isp)标志,确定用于当前块的帧内预测类型是否为第三帧内预测类型。预测相关信息可以包括isp标志。isp标志可以指示应用了isp的第三帧内预测类型是否被应用于当前块。即,isp标志可以指示isp是否被应用于当前块。例如,isp标志在被设置为1时,可以指示第三帧内预测类型被应用于当前块,并且当isp标志被设置为0时,可以指示第三帧内预测类型不被应用于当前块。当isp标志指示应用第三帧内预测类型时,解码装置可以将第三帧内预测类型导出为用于当前块的帧内预测类型,并且当isp标志指示不应用第三帧内预测类型时,将第一帧内预测类型导出为用于当前块的帧内预测类型。
[0610]
例如,解码装置可以基于当前块的相邻块的帧内预测模式来构建当前块的帧内预测模式候选列表。
[0611]
例如,解码装置通过执行表3所示的帧内预测模式候选列表构建过程来构建当前块的帧内预测模式候选列表。同时,帧内预测模式候选列表可以是指上述最可能模式(mpm)
列表。
[0612]
例如,解码装置可以基于第一候选帧内预测模式和第二候选帧内预测模式来构建帧间预测模式候选列表。解码装置可以基于第一候选帧内预测模式是否与第二候选帧内预测模式相同,和/或第一候选帧内预测模式的模式编号和/或第二候选帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,来构建帧间预测模式候选列表。在此,可以基于当前块的左相邻块的帧内预测模式导出第一候选帧内预测模式,以及可以基于当前块的上相邻块的帧内预测模式导出第二候选帧内预测模式。例如,可以将当前块的左相邻块的帧内预测模式导出为第一候选帧内预测模式,以及可以将当前块的上相邻块的帧内预测模式导出为第二候选帧内预测模式。
[0613]
具体地,例如,当第一候选帧内预测模式与第二候选帧内预测模式相同时,解码装置可以确定第一候选帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,如果第一候选帧内预测模式的模式编号大于dc帧内预测模式的模式编号,则如下导出包括帧内预测模式候选的用于当前块的帧内预测模式候选列表。
[0614]

mpm[0]=leftintradir
[0615]

mpm[1]=planar_idx
[0616]

mpm[2]=dc_idx
[0617]

mpm[3]=((leftintradir offset)%mod) 2
[0618]

mpm[4]=((leftintradir

1)%mod) 2
[0619]

mpm[5]=((leftintradir offset

1)%mod) 2
[0620]
在此,mpm[0]、mpm[1]、mpm[2]、mpm[3]、mpm[4]、mpm[5]分别表示帧内预测模式候选0、帧内预测模式候选1、帧内预测模式候选2、帧内预测模式候选3、帧内预测模式候选4和帧内预测模式候选5,leftintradir表示第一候选帧内预测模式、planar_idx表示平面帧内预测模式以及dc_idx表示dc帧内预测模式。也就是说,可以将帧内预测模式候选列表的帧内预测模式候选0导出为第一候选帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选1导出为平面帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为dc帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选3导出为模式编号为(leftintradir offset)%mod) 2的帧内预测模式,即具有通过对第一候选帧内预测模式的模式编号和偏移量之和执行模算术运算并将模算术运算结果加2获得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为((leftintradir

1)%mod) 2的帧内预测模式,即具有通过对从第一候选帧内预测模式的模式编号减1获得的值执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选5导出为模式编号为((leftintradir offset

1)%mod) 2的帧内预测模式,即具有通过对第一候选帧内预测模式的模式编号与(偏移

1)之和执行模算术运算并对模算术运算结果加2获得的值作为模式编号的帧内预测模式。
[0621]
例如,当第一候选帧内预测模式与第二候选帧内预测模式不同时,解码装置可以如下导出帧内预测模式候选0和帧内预测模式候选1。
[0622]

mpm[0]=leftintradir
[0623]

mpm[1]=aboveintradir
[0624]
即,可以将帧内预测模式候选列表的帧内预测模式候选0导出为第一候选帧内预测模式,以及将帧内预测模式候选列表的帧内预测模式候选1导出为第二候选帧内预测模式。此外,如果帧内预测模式候选0的模式编号大于帧内预测模式候选1的模式编号,则解码装置可以将maxcandmodeidx导出为0,并且如果帧内预测模式候选0的模式编号不大于帧内预测模式候选1的模式编号,则可以将maxcandmodeidx导出为1。
[0625]
如果第一候选帧内预测模式的模式编号和第二候选帧内预测模式的模式编号均大于dc帧内预测模式的模式编号,则解码装置可以如下导出帧内预测模式候选2和帧内预测模式候选3。
[0626]

mpm[2]=planar_idx
[0627]

mpm[3]=dc_idx
[0628]
即,可以将帧内预测模式候选列表的帧内预测模式候选2导出为平面帧内预测模式,将帧内预测模式候选列表的帧内预测模式候选3导出为dc帧内预测模式。
[0629]
然后,如果通过从mpm[maxcandmodeidx]的模式编号中减去mpm[!maxcandmodeidx]的模式编号所获得的值小于63且大于1,则解码装置可以如下导出帧内预测模式候选4和帧内预测模式候选5。
[0630]

mpm[4]=((mpm[maxcandmodeidx] offset)%mod) 2
[0631]

mpm[5]=((mpm[maxcandmodeidx]

1)%mod) 2
[0632]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为((mpm[maxcandmodeidx] offset)%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]和偏移量之和执行模算术运算并且将模算术运算结果加2得到的值作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选5导出为具有模式编号((mpm[maxcandmodeidx]

1)%mod) 2的帧内预测模式,即具有通过对通过从mpm[maxcandmodeidx]减1得到的值执行模算术运算并且对模算术运算结果加2得到的值作为模式编号的帧内预测模式。
[0633]
如果通过从模式编号mpm[maxcandmodeidx]减去模式编号mpm[!maxcandmodeidx]得到的值等于或大于63或等于或小于1,则解码装置/解码装置可以如下导出帧内预测模式候选4和帧内预测模式候选5。
[0634]

mpm[4]=((mpm[maxcandmodeidx] offset

1)%mod) 2
[0635]

mpm[5]=((mpm[maxcandmodeidx])%mod) 2
[0636]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为((mpm[maxcandmodeidx] offset

1)%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]和(偏移量

1)之和执行模算术运算并且将模算术运算结果加2得到的值作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选5导出为具有模式编号((mpm[maxcandmodeidx])%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]执行模算术运算并且对模算术运算结果加2得到的值作为模式编号的帧内预测模式。
[0637]
如果第一候选帧内预测模式的模式编号和第二候选帧内预测模式的模式编号中的至少一个不大于dc帧内预测模式的模式编号,则解码装置可以确定第一候选帧内预测模式的模式编号和第二候选帧内预测模式的模式编号之和是否等于或大于2。如果第一候选
帧内预测模式的模式编号和第二候选帧内预测模式的模式编号之和等于或大于2,则解码装置可以如下导出帧内预测模式候选2至帧内预测模式候选5。
[0638]

mpm[2]=(mpm[!maxcandmodeidx]==planar_idx)?dc_idx:planar_idx
[0639]

mpm[3]=((mpm[maxcandmodeidx] offset)%mod) 2
[0640]

mpm[4]=((mpm[maxcandmodeidx]

1)%mod) 2
[0641]

mpm[5]=((mpm[maxcandmodeidx] offset

1)%mod) 2
[0642]
即,如果mpm[!maxcandmodeidx]是平面帧内预测模式,则帧内预测模式候选列表的帧内预测模式候选2可以被导出为dc帧内预测模式,以及如果mpm[!maxcandmodeidx]不是平面帧内预测模式,则可以将其导出为平面帧内预测模式。另外,可以将帧内预测模式候选列表的帧内预测模式候选3导出为模式编号为((mpm[maxcandmodeidx] offset)%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]和偏移量之和执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为((mpm[maxcandmodeidx]

1)%mod) 2的帧内预测模式,即具有通过对从mpm[maxcandmodeidx]减1获得的值执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选5导出为模式编号为((mpm[maxcandmodeidx] offset

1)%mod) 2,即具有通过mpm[maxcandmodeidx]和(偏移量

1)之和执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式。
[0643]
如果不满足前述条件,则解码装置可以如下导出帧内预测模式候选0至帧内预测模式候选5。
[0644]

mpm[0]=leftintradir
[0645]

mpm[1]=(mpm[0]==planar_idx)?dc_idx:planar_idx
[0646]

mpm[2]=ver_idx
[0647]

mpm[3]=hor_idx
[0648]

mpm[4]=ver_idx
–4[0649]

mpm[5]=ver_idx 4
[0650]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选0导出为第一候选帧内预测模式;如果帧内预测模式候选0是平面帧内预测模式,则可以将帧内预测模式候选列表的帧内预测模式候选1导出为dc帧内预测模式以及如果帧内预测模式候选0不是平面帧内预测模式,则将其导出为平面帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为垂直帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选3导出为水平帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为对应于通过将垂直帧内预测模式的模式编号减去4获得的模式编号的帧内预测模式,即帧内预测模式#46;可以将帧内预测模式候选列表的帧内预测模式候选5导出对应于通过将垂直帧内预测模式的模式编号加4得到的模式编号的帧内预测模式,即帧内预测模式#54。
[0651]
例如,解码装置可以执行表4所示的帧内预测模式候选列表构建过程来构建用于当前块的帧内预测模式候选列表。
[0652]
例如,解码装置可以基于第一候选帧内预测模式和第二候选帧内预测模式来构建帧内预测模式候选列表。解码装置可以基于第一候选帧内预测模式是否与第二候选帧内预
测模式相同,和/或第一候选帧内预测模式的模式编号和/或第二候选帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,来构建帧间预测模式候选列表。在此,可以基于当前块的左相邻块的帧内预测模式导出第一候选帧内预测模式,以及可以基于当前块的上相邻块的帧内预测模式导出第二候选帧内预测模式。例如,可以将当前块的左相邻块的帧内预测模式导出为第一候选帧内预测模式,以及可以将当前块的上相邻块的帧内预测模式导出为第二候选帧内预测模式。
[0653]
具体地,例如,当第一候选帧内预测模式与第二候选帧内预测模式相同时,解码装置可以确定第一候选帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,如果第一候选帧内预测模式的模式编号大于dc帧内预测模式的模式编号,则如下导出包括帧内预测模式候选的用于当前块的帧内预测模式候选列表。
[0654]

mpm[0]=leftintradir
[0655]

mpm[1]=planar_idx
[0656]

mpm[2]=((leftintradir offset)%mod) 2
[0657]

mpm[3]=((leftintradir

1)%mod) 2
[0658]

mpm[4]=dc_idx
[0659]

mpm[5]=((leftintradir offset

1)%mod) 2
[0660]
在此,mpm[0]、mpm[1]、mpm[2]、mpm[3]、mpm[4]、mpm[5]分别表示帧内预测模式候选0、帧内预测模式候选1、帧内预测模式候选2、帧内预测模式候选3、帧内预测模式候选4和帧内预测模式候选5,leftintradir表示第一候选帧内预测模式、planar_idx表示平面帧内预测模式以及dc_idx表示dc帧内预测模式。也就是说,可以将帧内预测模式候选列表的帧内预测模式候选0导出为第一候选帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选1导出为平面帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为模式编号为(leftintradir offset)%mod) 2的帧内预测模式,即具有通过对第一候选帧内预测模式的模式编号和偏移量之和执行模算术运算并将模算术运算结果加2获得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选3导出为模式编号为((leftintradir

1)%mod) 2的帧内预测模式,即具有通过对从第一候选帧内预测模式的模式编号减1获得的值执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为dc帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选5导出为模式编号为((leftintradir offset

1)%mod) 2的帧内预测模式,即具有通过对第一候选帧内预测模式的模式编号与(偏移

1)之和执行模算术运算并对模算术运算结果加2获得的值作为模式编号的帧内预测模式。
[0661]
例如,当第一候选帧内预测模式与第二候选帧内预测模式不同时,解码装置可以如下导出帧内预测模式候选0和帧内预测模式候选1。
[0662]

mpm[0]=leftintradir
[0663]

mpm[1]=aboveintradir
[0664]
即,可以将帧内预测模式候选列表的帧内预测模式候选0导出为第一候选帧内预测模式,以及将帧内预测模式候选列表的帧内预测模式候选1导出为第二候选帧内预测模式。此外,如果帧内预测模式候选0的模式编号大于帧内预测模式候选1的模式编号,则解码
装置可以将maxcandmodeidx导出为0,并且如果帧内预测模式候选0的模式编号不大于帧内预测模式候选1的模式编号,则将maxcandmodeidx导出为1。
[0665]
如果第一候选帧内预测模式的模式编号和第二候选帧内预测模式的模式编号均大于dc帧内预测模式的模式编号,则解码装置可以如下导出帧内预测模式候选1至帧内预测模式候选3。
[0666]

mpm[1]=planar_idx
[0667]

mpm[2]=aboveintradir
[0668]

maxcandmodeidx=mpm[0]>mpm[2]?0:2
[0669]

int mincandmodeidx=mpm[0]>mpm[2]?2:0
[0670]

mpm[3]=dc_idx;
[0671]
即,可以将帧内预测模式候选列表的帧内预测模式候选1导出为平面帧内预测模式,可以将帧内预测模式候选列表的帧内预测模式候选2导出为第二候选帧内预测模式,以及可以将帧内预测模式候选列表的帧内预测模式候选3导出为dc帧内预测模式。此外,如果帧内预测模式候选0的模式编号大于帧内预测模式候选2的模式编号,则解码装置可以将maxcandmodeidx导出为0,并且如果帧内预测模式候选0的模式编号不大于帧内预测模式候选2的模式编号,则将maxcandmodeidx导出为2。此外,如果帧内预测模式候选0的模式编号大于帧内预测模式候选2的模式编号,则解码装置可以将mincandmodeidx导出为2,以及如果帧内预测模式候选0的模式编号不大于帧内预测模式候选2的模式编号,则将mincandmodeidx导出为0。
[0672]
如果通过从mpm[maxcandmodeidx]的模式编号中减去mpm[mincandmodeidx]的模式编号所获得的值小于63且大于1,则解码装置可以如下导出帧内预测模式候选4和帧内预测模式候选5。
[0673]

mpm[4]=((mpm[maxcandmodeidx] 偏移量)%mod) 2
[0674]

mpm[5]=((mpm[maxcandmodeidx]

1)%mod) 2
[0675]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为((mpm[maxcandmodeidx] offset)%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]和偏移量之和执行模算术运算并且将模算术运算结果加2得到的值作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选5导出为具有模式编号((mpm[maxcandmodeidx]

1)%mod) 2的帧内预测模式,即具有通过对通过从mpm[maxcandmodeidx]减1得到的值执行模算术运算并且对模算术运算结果加2得到的值作为模式编号的帧内预测模式。
[0676]
如果通过从模式编号mpm[maxcandmodeidx]减去模式编号mpm[mincandmodeidx]得到的值等于或大于63或等于或小于1,则解码装置可以如下导出帧内预测模式候选4和帧内预测模式候选5。
[0677]

mpm[4]=((mpm[maxcandmodeidx] offset

1)%mod) 2
[0678]

mpm[5]=((mpm[maxcandmodeidx])%mod) 2
[0679]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为((mpm[maxcandmodeidx] offset

1)%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]和(偏移量

1)之和执行模算术运算并且将模算术运算结果加2得到的值
作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选5导出为具有模式编号((mpm[maxcandmodeidx])%mod) 2的帧内预测模式,即具有通过对mpm[maxcandmodeidx]执行模算术运算并且对模算术运算结果加2得到的值作为模式编号的帧内预测模式。
[0680]
如果第一候选帧内预测模式的模式编号和第二候选帧内预测模式的模式编号中的至少一个不大于dc帧内预测模式的模式编号,则解码装置可以确定第一候选帧内预测模式的模式编号和第二候选帧内预测模式的模式编号之和是否等于或大于2。如果第一候选帧内预测模式的模式编号和第二候选帧内预测模式的模式编号之和等于或大于2,则解码装置可以确定第一候选帧内预测模式和第二候选帧内预测模式中的至少一个是否为平面帧内预测模式。
[0681]
如果第一候选帧内预测模式和第二候选帧内预测模式中的至少一个是平面帧内预测模式,则解码装置可以如下导出帧内预测模式候选0和帧内预测模式候选1。
[0682]

mpm[0]=planar_idx
[0683]

mpm[1]=(leftintradir<aboveintradir)?aboveintradir:leftintradir
[0684]

maxcandmodeidx=1
[0685]
即,可以将帧内预测模式候选列表的帧内预测模式候选0导出为平面帧内预测模式,如果第一候选帧内预测模式的模式编号小于第二候选帧内预测模式的模式编号,则可以将帧内预测模式候选列表的帧内预测模式候选1导出为第二候选帧内预测模式,以及如果第一候选帧内预测模式的模式编号大于或等于第二候选帧内预测模式的模式编号,则可以将帧内预测模式候选列表的帧内预测模式候选1导出为第一候选帧内预测模式。此外,解码装置可以将maxcandmodeidx导出为1。
[0686]
如果第一候选帧内预测模式和第二候选帧内预测模式均不是平面帧内预测模式,则解码装置可以如下导出帧内预测模式候选2至帧内预测模式候选5。
[0687]

mpm[2]=(mpm[!maxcandmodeidx]==planar_idx)?dc_idx:planar_idx
[0688]

mpm[3]=((mpm[maxcandmodeidx] offset)%mod) 2
[0689]

mpm[4]=((mpm[maxcandmodeidx]

1)%mod) 2
[0690]

mpm[5]=((mpm[maxcandmodeidx] offset

1)%mod) 2
[0691]
即,如果mpm[!maxcandmodeidx]是平面帧内预测模式,则帧内预测模式候选列表的帧内预测模式候选2可以被导出为dc帧内预测模式,以及如果mpm[!maxcandmodeidx]不是平面帧内预测模式,则可以将其导出为平面帧内预测模式。另外,可以将帧内预测模式候选列表的帧内预测模式候选3导出为模式编号为((mpm[maxcandmodeidx] offset)%mod) 2的帧内预测模式,即,具有通过对mpm[maxcandmodeidx]和偏移量之和执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为((mpm[maxcandmodeidx]

1)%mod) 2的帧内预测模式,即具有通过对从mpm[maxcandmodeidx]减1获得的值执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选5导出为模式编号为((mpm[maxcandmodeidx] offset

1)%mod) 2,即具有通过对mpm[maxcandmodeidx]和(偏移量

1)之和执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式。
[0692]
如果不满足前述条件,则解码装置可以如下导出帧内预测模式候选0至帧内预测模式候选5。
[0693]

mpm[0]=leftintradir
[0694]

mpm[1]=(mpm[0]==planar_idx)?dc_idx:planar_idx
[0695]

mpm[2]=ver_idx
[0696]

mpm[3]=hor_idx
[0697]

mpm[4]=ver_idx
–4[0698]

mpm[5]=ver_idx 4
[0699]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选0导出为第一候选帧内预测模式;如果帧内预测模式候选0是平面帧内预测模式,则可以将帧内预测模式候选列表的帧内预测模式候选1导出为dc帧内预测模式,以及如果帧内预测模式候选0不是平面帧内预测模式,则将其导出为平面帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为垂直帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选3导出为水平帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为对应于通过将垂直帧内预测模式的模式编号减去4获得的模式编号的帧内预测模式,即帧内预测模式#46;可以将帧内预测模式候选列表的帧内预测模式候选5导出对应于通过将垂直帧内预测模式的模式编号加4得到的模式编号的帧内预测模式,即帧内预测模式#54。
[0700]
例如,解码装置可以执行表5所示的帧内预测模式候选列表构建过程来构建用于当前块的帧内预测模式候选列表。
[0701]
例如,解码装置可以基于第一候选帧内预测模式和第二候选帧内预测模式来构建帧内预测模式候选列表。解码装置可以基于第一候选帧内预测模式是否与第二候选帧内预测模式相同,和/或第一候选帧内预测模式的模式编号和/或第二候选帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,来构建帧间预测模式候选列表。在此,可以基于当前块的左相邻块的帧内预测模式导出第一候选帧内预测模式,以及可以基于当前块的上相邻块的帧内预测模式导出第二候选帧内预测模式。例如,可以将当前块的左相邻块的帧内预测模式导出为第一候选帧内预测模式,以及可以将当前块的上相邻块的帧内预测模式导出为第二候选帧内预测模式。
[0702]
具体地,例如,当第一候选帧内预测模式与第二候选帧内预测模式相同时,解码装置可以确定第一候选帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,如果第一候选帧内预测模式的模式编号大于dc帧内预测模式的模式编号,则如下导出包括帧内预测模式候选的用于当前块的帧内预测模式候选列表。
[0703]

mpm[0]=g_intramode65to33angmapping[leftintradir]
[0704]

mpm[1]=((g_intramode65to33angmapping[leftintradir] offset)%mod) 2
[0705]

mpm[2]=((g_intramode65to33angmapping[leftintradir]

1)%mod) 2
[0706]
可以将帧内预测模式候选列表的帧内预测模式候选0导出为第一候选帧内预测模式。另外,可以将帧内预测模式候选列表的帧内预测模式候选1导出为模式编号为((g_intramode65to33angmapping[leftintradir] offset)%mod) 2的帧内预测模式,即具有通过对第一候选帧内预测模式的模式编号与偏移量之和执行模算术运算并且将模算术运算结果加2获得的值作为模式编号的帧内预测模式;以及可以将帧内预测模式候选列表的
帧内预测模式候选2导出为模式编号为((g_intramode65to33angmapping[leftintradir]

1)%mod) 2的帧内预测模式,即具有通过对通过从第一候选帧内预测模式的模式编号减1获得的值执行模算术运算并且将模算术运算结果加2得到的值作为模式编号的帧内预测模式。
[0707]
如果第一候选帧内预测模式的模式编号等于或小于dc帧内预测模式的模式编号,则解码装置可以如下导出包括帧内预测模式候选的用于当前块的帧内预测模式候选列表。
[0708]

mpm[0]=g_intramode65to33angmapping[planar_idx]
[0709]

mpm[1]=g_intramode65to33angmapping[dc_idx]
[0710]

mpm[2]=g_intramode65to33angmapping[ver_idx]
[0711]
即,可以将帧内预测模式候选列表的帧内预测模式候选0导出为平面帧内预测模式,可以将帧内预测模式候选列表的帧内预测模式候选1导出为dc帧内预测模式,以及可以将帧内预测模式候选列表的帧内预测模式候选2导出为垂直帧内预测模式。
[0712]
此外,如果第一候选帧内预测模式与第二候选帧内预测模式不同,则解码装置可以导出帧内预测模式候选0和帧内预测模式候选1。
[0713]

mpm[0]=g_intramode65to33angmapping[leftintradir]
[0714]

mpm[1]=g_intramode65to33angmapping[aboveintradir]
[0715]
即,可以将帧内预测模式候选列表的帧内预测模式候选0作为第一候选帧内预测模式,以及可以将帧内预测模式候选列表的帧内预测模式候选1导出为第二候选帧内预测模式。
[0716]
然后,如果第一候选帧内预测模式和第二候选帧内预测模式均为平面帧内预测模式,则解码装置可以如下导出帧内预测模式候选2。
[0717]

mpm[2]=g_intramode65to33angmapping[planar_idx]
[0718]
即,可以将帧内预测模式候选列表的帧内预测模式候选2导出为平面帧内预测模式。
[0719]
否则,如果第一候选帧内预测模式和第二候选帧内预测模式中的至少一个是平面帧内预测模式,则解码装置可以如下导出帧内预测模式候选2。
[0720]

mpm[2]=g_intramode65to33angmapping[(leftintradir aboveintradir)<2?ver_idx:dc_idx]
[0721]
也就是说,如果第一候选帧内预测模式的模式编号与第二候选帧内预测模式的模式编号之和小于2,则可以将帧内预测模式候选列表的帧内预测模式候选2导出为垂直帧内预测模式,以及如果第一候选帧内预测模式的模式编号与第二候选帧内预测模式的模式编号之和等于或大于2,则可以将其导出为dc帧内预测模式。
[0722]
例如,解码装置可以基于如表6所示的当前块的相邻块的帧内预测模式构建当前块的帧内预测模式候选列表。同时,帧内预测模式候选列表可以是指上述最可能模式(mpm)列表。
[0723]
例如,解码装置可以基于当前块的左相邻块的帧内预测模式和当前块的上相邻块的帧内预测模式来构建帧内预测模式候选列表。解码装置可以确定当前块的左相邻块的帧内预测模式和上相邻块的帧内预测模式是否相同,以及左相邻块的帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号。解码装置可以基于当前块的左相邻块的帧内预测
模式和上相邻块的帧内预测模式是否相同,和/或左相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号,来构建帧内预测模式候选列表。
[0724]
在当前块的左相邻块的帧内预测模式与上相邻块的帧内预测模式相同且左相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号时,解码装置可以如下所述导出包括帧内预测模式候选的当前块的帧内预测模式候选列表。
[0725]

mpm[0]=intra_planar
[0726]

mpm[1]=candintrapredmodea
[0727]

mpm[2]=2 ((candintrapredmodea 61)%64)
[0728]

mpm[3]=2 ((candintrapredmodea

1)%64)
[0729]

mpm[4]=intra_dc
[0730]

mpm[5]=2 ((candintrapredmodea 60)%64)
[0731]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选0导出为平面帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选1导出为左相邻块的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为模式编号为2 ((candintrapredmodea 61)%64)的帧内预测模式,即具有通过对通过将左相邻块的帧内预测模式的模式编号加上61获得的值执行取64的模算术运算并将模算术运算结果加2所获得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选3导出为模式编号为2 ((candintrapredmodea

1)%64)的帧内预测模式,即通过对从左相邻块的帧内预测模式的模式编号减1获得的值执行取64的模算术运算并将模算术运算结果加2所获得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为dc帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选5导出为模式编号为2 ((candintrapredmodea 60)%64),即通过对通过将左相邻块的帧内预测模式的模式编号加上60获得的值执行取64的模算术运算并将模算术运算结果加2所获得的值作为模式编号的帧内预测模式。即,例如,当左相邻块的帧内预测模式和上相邻块的帧内预测模式相同,并且左相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号时,帧内预测模式候选列表可以包括左相邻块的帧内预测模式、上相邻块的帧内预测模式、模式编号为2 ((candintrapredmodea 61)%64)的帧内预测模式、模式编号2 ((candintrapredmodea

1)%64)的帧内预测模式和模式编号2 ((candintrapredmodea 60)%64)的帧内预测模式作为帧内预测模式候选。在此,candintrapredmodea可以表示当前块的左相邻块的帧内预测模式的模式编号。
[0732]
同时,在当前块的左相邻块的帧内预测模式和上相邻块的帧内预测模式不相同时,例如,解码装置可以确定左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的至少一个是否大于dc帧内预测模式的模式编号。当左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的至少一个大于dc帧内预测模式的模式编号时,可以如下导出变量minab和变量maxab。
[0733]

minab=min(candintrapredmodea,candintrapredmodeb)
[0734]

maxab=max(candintrapredmodea,candintrapredmodeb)
[0735]
在此,candintrapredmodea可以表示当前块的左相邻块的帧内预测模式的模式编号,以及candintrapredmodeb可以表示当前块的上相邻块的帧内预测模式的模式编号。即,
minab可以表示左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的较小值,maxab可以表示左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的较大值。
[0736]
此外,在当前块的左相邻块的帧内预测模式与上相邻块的帧内预测模式不相同时,解码装置可以确定左相邻块的帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号,以及上相邻块的帧内预测模式的模式编号是否大于dc帧内预测模式的模式编号。
[0737]
例如,当左相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号并且上相邻块的帧内预测模式的模式编号大于dc帧内预测模式的模式编号时,解码装置可以如下所述导出帧内预测模式候选0至帧内预测模式候选3。
[0738]
mpm[0]=intra_planar
[0739]
mpm[1]=candintrapredmodea
[0740]
mpm[2]=candintrapredmodeb
[0741]
mpm[3]=intra_dc
[0742]
即,可以将帧内预测模式候选列表的帧内预测模式候选0导出为平面帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选1导出为左相邻块的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为上相邻块的帧内预测模式;以及可以将帧内预测模式候选列表的帧内预测模式候选3导出为dc帧内预测模式。在此,candintrapredmodeb可以表示当前块的上相邻块的帧内预测模式的模式编号。即,例如,当左相邻块的帧内预测模式和上相邻块的帧内预测模式不相同并且左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式均大于dc帧内预测模式的模式编号时,帧内预测模式候选列表可以包括左相邻块的帧内预测模式和上相邻块的帧内预测模式,作为帧内预测模式候选。
[0743]
此后,可以基于maxab和minab导出剩余的帧内预测模式候选(帧内预测模式候选4和帧内预测模式候选5)。具体地,可以基于左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号之间的较大值和较小值之间的差来导出剩余的帧内预测模式候选。
[0744]
例如,当maxab减去minab得到的值小于63且大于1时(即当maxab减去minab得到的值为2至62之一时),解码装置可以如下所述导出帧内预测模式候选4和帧内预测模式候选5。
[0745]

mpm[4]=2 ((maxab 61)%64)
[0746]

mpm[5]=2 ((maxab

1)%64)
[0747]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为2 ((maxab 61)%64)的帧内预测模式,即具有通过对通过将maxab加61得到的值执行取64的模算术运算并且使模算术运算结果加2所得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选5导出为模式编号为2 ((maxab

1)%64)的帧内预测模式,即具有通过对通过使maxab减1得到的值执行取64的模算术运算并且使模算术运算结果加2所得的值作为模式编号的帧内预测模式。在此,maxab可以表示左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的较大值。
[0748]
可替代地,当从maxab减去minab所获得的值等于或大于63或等于或小于1时,解码
装置可以如下所述导出帧内预测模式候选4和帧内预测模式候选5。
[0749]

mpm[4]=2 ((maxab 60)%64)
[0750]

mpm[5]=2 (maxab%64)
[0751]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为2 ((maxab 60)%64)的帧内预测模式,即具有通过对通过将maxab加60得到的值执行取64的模算术运算并且使模算术运算结果加2所得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选5导出为模式编号为2 (maxab%64)的帧内预测模式,即具有通过对maxab执行取64的模算术运算并且使模算术运算结果加2所得的值作为模式编号的帧内预测模式。在此,maxab可以表示左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的较大值。
[0752]
同时,在当前块的左相邻块的帧内预测模式与上相邻块的帧内预测模式不相同,或者左相邻块的帧内预测模式的模式编号和上相邻块的帧内预测模式的模式编号中的至少一个小于dc帧内预测模式的模式编号时,解码装置可以确定左相邻块的帧内预测模式的模式编号与上相邻块的帧内预测模式的模式编号之和是否等于或大于dc帧内预测模式的模式编号。
[0753]
例如,当左相邻块的帧内预测模式的模式编号与上相邻块的帧内预测模式的模式编号之和等于或大于dc帧内预测模式的模式编号时,解码装置可以如下所述导出包括帧内预测模式候选的当前块的帧内预测模式候选列表。
[0754]

mpm[0]=intra_planar
[0755]

mpm[1]=maxab
[0756]

mpm[2]=intra_dc
[0757]

mpm[3]=2 ((maxab 61)%64)
[0758]

mpm[4]=2 ((maxab

1)%64)
[0759]

mpm[5]=2 ((maxab 60)%64)
[0760]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选0导出为平面帧内预测模式;可以将帧内预测模式候选1导出为maxab,即当左相邻块的帧内预测模式的模式编号小于上相邻块的帧内预测模式的模式编号时,可以将帧内预测模式候选1导出为上相邻块的帧内预测模式,以及当左相邻块的帧内预测模式的模式编号大于或等于上相邻块的帧内预测模式的模式编号时,可以将帧内预测模式候选1导出为左相邻块的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为dc帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选3导出为模式编号为2 ((maxab 61)%64)的帧内预测模式,即具有通过对通过将maxab加61得到的值执行取64的模算术运算并且使模算术运算结果加2所得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选4导出为模式编号为2 ((maxab

1)%64)的帧内预测模式,即具有通过对通过将maxab减1得到的值执行取64的模算术运算并且使模算术运算结果加2所得的值作为模式编号的帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选5导出为模式编号为2 ((maxab 60)%64)的帧内预测模式,即具有通过对通过将maxab加60得到的值执行取64的模算术运算并且使模算术运算结果加2所得的值作为模式编号的帧内预测模式。
[0761]
或者,例如,当上述条件不满足时,解码装置可以如下所述导出包括帧内预测模式
候选的当前块的帧内预测模式候选列表。
[0762]

mpm[0]=intra_planar
[0763]

mpm[1]=intra_dc
[0764]

mpm[2]=intra_angular50
[0765]

mpm[3]=intra_angular18
[0766]

mpm[4]=intra_angular46
[0767]

mpm[5]=intra_angular54
[0768]
也就是说,可以将帧内预测模式候选列表的帧内预测模式候选0导出为平面帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选1导出为dc帧内预测模式;可以将帧内预测模式候选列表的帧内预测模式候选2导出为垂直帧内预测模式(即帧内预测模式#50);可以将帧内预测模式候选列表的帧内预测模式候选3导出为水平帧内预测模式(即帧内预测模式#18);可以将帧内预测模式候选列表的帧内预测模式候选4导出为通过将垂直帧内预测模式的模式编号减去4得到的模式编号的帧内预测模式,即帧内预测模式#46;可以将帧内预测模式候选列表的帧内预测模式候选5导出为模通过将垂直帧内预测模式的模式编号加4得到的模式编号的帧内预测模式,即帧内预测模式#54。即,例如,当不满足上述条件时,帧内预测模式候选列表可以包括dc帧内预测模式、帧内预测模式#50、帧内预测模式#18、帧内预测模式#46和帧内预测模式#54,作为帧内预测模式候选。
[0769]
同时,例如,当左相邻块不可用时,不将帧内预测应用于左相邻块,并且可以将与上相邻块的ciip标志的值不是1的情况和左相邻块的pcm标志的值为1的情况中的至少一个相对应的左相邻块的帧内预测模式导出为平面帧内预测模式。此外,当上相邻块不可用时,不将帧内预测应用于上相邻块,并且可以将与上相邻块的ciip标志的值不是1的情况、上相邻块的pcm标志的值为1的情况以及上相邻块不被包括在当前ctu中的情况中的至少一个相对应的左相邻块的帧内预测模式导出为平面帧内预测模式。
[0770]
同时,当帧内预测类型为第一帧内预测类型时生成的帧内预测模式候选列表、当帧内预测类型为第二帧内预测类型时生成的帧内预测模式候选列表,以及当帧内预测类型为第三帧内预测类型时生成的帧内预测模式候选列表可以相同。即,无论当前块的帧内预测类型如何,都可以构建相同的帧内预测模式候选列表。无论当前块的帧内预测类型如何,可以通过相同的帧内预测模式构建过程来构建帧内预测模式候选列表。帧内预测模式构建过程可以与上述实施例之一相同。
[0771]
例如,解码装置可以基于帧内预测模式候选列表导出当前块的帧内预测模式。
[0772]
例如,解码装置可以导出关于当前块的mpm标志。预测相关信息可以包括mpm标志。例如,解码装置可以接收用于当前块的预测相关信息,并且预测相关信息可以包括关于当前块的mpm标志。预测相关信息可以不包括mpm标志。在这种情况下,解码装置可以将mpm标志的值导出为1。mpm标志可以指示当前块的帧内预测模式是否是帧内预测模式候选列表的帧内预测模式候选之一。mpm标志也可以被称为帧内预测模式候选标志。
[0773]
当mpm标志为1时,解码装置可以将帧内预测模式候选列表的帧内预测模式候选中,由mpm索引指示的帧内预测模式候选导出为当前块的帧内预测模式。mpm索引可以以mpm_idx或intra_luma_mpm_idx语法元素的形式发信号通知。mpm索引也可以被称为帧内预测模式候选索引。
[0774]
当mpm标志为0时,解码装置可以将剩余帧内预测模式当中由剩余帧内预测模式信息指示的帧内预测模式导出为用于当前块的帧内预测模式。剩余帧内预测模式可以表示不包括在帧内预测模式候选列表的帧内预测模式候选中的帧内预测模式。上述预测相关信息可以包括剩余帧内预测模式信息。剩余帧内预测模式信息可以以rem_intra_luma_pred_mode或intra_luma_mpm_remainder语法元素的形式发信号通知。
[0775]
例如,当用于当前块的帧内预测类型被导出为第二帧内预测类型时,可以将当前块的帧内预测模式导出为除平面帧内预测模式和dc帧内预测模式以外的帧内预测模式之一,而当用于当前块的帧内预测类型被导出为第三帧内预测类型时,将其导出为除dc帧内预测模式以外的帧内预测模式之一。
[0776]
例如,当用于当前块的帧内预测类型被导出为第二帧内预测类型,可以将用于当前块的帧内预测模式导出为除平面帧内预测模式以外的帧内预测模式之一,而当用于当前块的帧内预测类型被导出为第三帧内预测类型时,可以将其导出为除dc帧内预测模式以外的帧内预测模式之一。
[0777]
例如,当用于当前块的帧内预测类型被导出为第二帧内预测类型时,可以将当前块的帧内预测模式导出为除平面帧内预测模式以外的帧内预测模式之一。
[0778]
例如,解码装置可以基于帧内预测类型和帧内预测模式导出当前块的预测样本。
[0779]
例如,当帧内预测类型被导出为第一帧内预测类型时,解码装置可以基于帧内预测模式从与当前块相邻的帧内预测参考线中的参考样本中导出至少一个参考样,本并且基于参考样本生成当前块的预测样本。参考样本可以包括当前块的左上参考样本、上参考样本和左参考样本。例如,在当前块的大小为w
×
h、当前块的左上样本位置的x分量为xn以及其y分量为yn时,左参考样本可以是p[xn

1][yn]至p[xn

1][2h yn

1]、左上参考样本可以是p[xn

1][yn

1]以及上参考样本可以是p[xn][yn

1]至p[2w xn

1][yn

1]。
[0780]
例如,当帧内预测类型被导出为第二帧内预测类型时,解码装置可以基于帧内预测模式从与当前块不相邻的帧内预测参考线的参考样本中导出至少一个参考样本,并且基于参考样本生成当前块的预测样本。在此,帧内预测参考线可以是与当前块的上边界和/或左边界相隔1、2或3个样本距离的参考线。
[0781]
例如,当将帧内预测类型导出为第三帧内预测类型时,解码装置可以基于指示isp分割类型的isp分割标志,导出当前块的isp分割类型,并且根据isp分割类型对当前块进行分区以导出子块。分割类型可以是水平分割类型或垂直分割类型。例如,在当前块的大小为4
×
4时,可以不分区当前块。例如,在当前块的大小为4
×
8且分割类型为水平分割类型时,可以将当前块分区为两个4
×
4的子块。例如,在当前块的大小为4
×
8并且分割类型为垂直分割类型时,可以将当前块分区为两个2
×
8的子块。例如,在当前块的大小为8
×
4且分割类型为水平分割类型时,可以将当前块分区为两个8
×
2的子块。例如,在当前块的大小为8
×
4且分割类型为垂直分割类型时,可以将当前块分区为两个4
×
4的子块。例如,在当前块的大小为w
×
h(除4
×
8、8
×
4、4
×
4以外的大小)且分割类型为水平分割类型时,可以将当前块分区为4个w
×
h/4个子块。例如,在当前块的大小为w
×
h且分割类型为垂直分割类型时,可以将当前块分区为四个w/4
×
h的子块。此后,解码装置可以对子块执行帧内预测以生成预测样本。即,解码装置可以基于帧内预测模式,导出当前块的每个子块的帧内预测参考线中的至少一个参考样本,并且基于参考样本生成预测样本。每个子块的帧内预测参考线可以是
与每个子块相邻的参考线。
[0782]
例如,当将当前块的帧内预测模式导出为dc帧内预测模式、当前块为正方形块、当前块的大小为wxh、当前块的左上位置的x分量和y分量为0时,可以基于由当前块的参考线索引指示的上帧内预测参考线中的(0,

refidx

1)坐标的参考样本至(w

1,

refidx

1)坐标的参考样本以及由该参考线索引指示的左帧内预测参考线中的(

refidx

1,0)坐标的参考样本至(

refidx

1,h

1)坐标的参考样本来导出dc值。可以将当前块的预测样本导出为dc值。
[0783]
例如,在将当前块的帧内预测模式导出为dc帧内预测模式、当前块为其宽度大于高度的非正方形块、当前块的大小为wxh、并且当前块的左上位置的x分量和y分量为0时,可以基于由当前块的参考线索引指示的上帧内预测参考线中的(0,

refidx

1)坐标的参考样本至(w

1,

refidx

1)坐标的参考样本来导出dc值。可以将当前块的预测样本导出为dc值。
[0784]
例如,在将当前块的帧内预测模式导出为dc帧内预测模式、当前块为其高度大于宽度的非正方形块、当前块的大小为wxh并且当前块的左上位置的x分量和y分量为0时,可以基于由当前块的参考线索引指示的左帧内预测参考线中的(

refidx

1,0)坐标的参考样本至(

refidx

1,h

1)坐标的参考样本来导出dc值。可以将当前块的预测样本导出为dc值。
[0785]
例如,在将当前块的帧内预测模式导出为平面帧内预测模式、当前块的大小为wxh、当前块的左上位置的x分量和y分量为0时,可以基于由当前块的参考线索引指示的帧内预测参考线中的(w

1,

refidx

1)坐标的参考样本至(

refidx

1,h

1)坐标的参考样本来导出预测样本。
[0786]
此外,例如,解码装置可以基于用于当前块的残差信息导出当前块的残差样本。图像信息可以包括残差信息。残差信息可以包括残差样本的变换系数。解码装置可以基于残差信息,导出当前块的残差样本(或残差样本阵列)。
[0787]
然后,例如,解码装置可以基于预测样本和残差样本,生成当前块的重构样本。例如,解码装置可以通过将残差样本与预测样本相加来生成重构样本。
[0788]
此后,如上所述,解码装置可以将诸如去块滤波和/或sao过程的环内滤波过程应用于重构样本(即,重构图片)以根据需要改进主观/客观图片质量。
[0789]
图24示意性地示出了根据本公开的执行图像解码方法的解码装置。图23中公开的方法可以由图24所示的解码装置执行。具体地,例如,图24的解码装置的熵解码器可以执行图23的s2300,以及图24的解码装置的预测器可以执行图23的s2310。另外,虽然未示出,但是可以由图24的解码装置的熵解码器执行通过比特流获得包括关于当前块的残差信息的图像信息的过程,以及可以由图24的解码装置的残差处理器执行基于残差信息导出关于当前块的残差样本的过程。
[0790]
根据上述本公开,可以使用用于帧内预测类型的统一帧内预测模式列表构建过程来降低硬件和软件实现复杂度。
[0791]
此外,根据本公开,可以使用针对帧内预测类型的统一帧内预测模式列表构建过程来减少对帧内预测类型的依赖性以提高帧内预测的编译效率。
[0792]
此外,根据本公开,可以通过基于参考图片索引导出在应用mrl并且将帧内预测模式导出为dc帧内预测模式时使用的参考样本来提高帧内预测的编译效率。
[0793]
此外,根据本公开,可以通过基于参考图片索引和当前块的形状导出在应用mrl并
且将帧内预测模式导出为dc帧内预测模式时使用的参考样本来提高帧内预测的编译效率。
[0794]
此外,根据本公开,可以通过基于参考图片索引导出在应用mrl并且将帧内预测模式导出为平面帧内预测模式时使用的参考样本来提高帧内预测的编译效率。
[0795]
在以上实施例中,基于具有一系列步骤或方框的流程图描述了方法。本公开不限于以上步骤或方框的顺序。一些步骤或方框可以以与上述的其它步骤或方框不同的顺序执行或同时执行。此外,本领域技术人员将理解,流程图中所示的步骤不是排它的,并且可以还包括其它步骤,或者可以在不影响本公开的范围的情况下删除流程图中的一个或更多个步骤。
[0796]
在本说明书中所描述的实施例可以通过被实现在处理器、微处理器、控制器或芯片上来执行。例如,每个图中所示的功能单元可以通过被实现在计算机、处理器、微处理器、控制器或芯片上来执行。在这种情况下,用于实现的信息(例如,关于指令的信息)或算法可以存储在数字存储介质中。
[0797]
另外,应用本公开的解码装置和编码装置可以被包括在如下装置中:多媒体广播发送/接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监视相机、视频聊天装置、诸如视频通信的实时通信装置、移动流装置、存储介质、便携式摄像机、vod服务提供装置、顶置(ott)视频装置、互联网流服务提供装置、三维(3d)视频装置、电话会议视频装置、运输用户装置(例如,车辆用户装置、飞机用户装置和轮船用户装置)和医疗视频设备;并且应用本公开的解码装置和编码装置可以用于处理视频信号或数据信号。例如,过顶(ott)视频装置可以包括游戏机、蓝光播放器、互联网接入电视机、家庭影院系统、智能电话、平板电脑、数字视频记录仪(dvr)等。
[0798]
另外,应用本公开的处理方法可以以计算机执行的程序的形式产生,并且可以存储在计算机可读记录介质中。根据本公开的具有数据结构的多媒体数据也可以存储在计算机可读记录介质中。计算机可读记录介质包括其中存储计算机可读数据的所有类型的存储设备。计算机可读记录介质可以包括例如bd、通用串行总线(usb)、rom、prom、eprom、eeprom、ram、cd

rom、磁带、软盘和光学数据存储设备。另外,计算机可读记录介质包括以载波(例如,经由互联网的传输)形式实现的介质。另外,由编码方法生成的比特流可以存储在计算机可读记录介质中或通过有线/无线通信网络来传输。
[0799]
另外,本公开的实施例可以根据程序代码利用计算机程序产品来实现,并且程序代码可以通过本公开的实施例在计算机中执行。程序代码可以存储在计算机可读载体上。
[0800]
图25例示了应用了本公开的内容流传输系统的结构图。
[0801]
应用本文档的实施例的内容流系统可以主要包括编码服务器、流服务器、网络服务器、媒体储存器、用户设备和多媒体输入设备。
[0802]
编码服务器将从诸如智能手机、相机或便携式摄像机等的多媒体输入设备输入的内容压缩为数字数据,以生成比特流并将比特流发送到流服务器。作为另一示例,当诸如智能手机、相机或便携式摄像机等的多媒体输入设备直接生成比特流时,可以省略编码服务器。
[0803]
可以通过应用了本公开的实施例的编码方法或比特流生成方法来生成比特流,并且流服务器可以在发送或接收比特流的过程中临时存储比特流。
[0804]
流服务器基于用户请求通过网络服务器向用户设备发送多媒体数据,并且网络服
务器用作向用户通知服务的媒介。当用户从网络服务器请求所需的服务时,网络服务器向流服务器递送该请求,并且流服务器向用户发送多媒体数据。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统内的设备之间的命令/响应。
[0805]
流服务器可以从媒体储存器和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平稳的流服务,流服务器可以将比特流存储预定时间段。
[0806]
用户设备的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(pda)、便携式多媒体播放器(pmp)、导航仪、触屏pc、平板pc、超级本、可穿戴设备(例如,智能手表、智能眼镜和头戴式显示器)、数字tv、台式计算机和数字标牌等。内容流系统内的每个服务器可以作为分布式服务器来操作,在这种情况下,从每个服务器接收的数据可以被分布。
[0807]
本公开中描述的权利要求可以以各种方式组合。例如,可以组合本公开的方法权利要求的技术特征以实现为装置,以及可以组合本公开的装置权利要求的技术特征以实现为方法。此外,可以组合本公开的方法权利要求的技术特征和装置权利要求的技术特征以实施为装置,以及可以组合本公开的方法权利要求的技术特征和装置权利要求的技术特征以实现为方法。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献