掌桥专利:专业的专利平台
掌桥专利
首页

使用MPM列表的基于帧内预测的图像编译方法及其设备

文献发布时间:2024-04-18 19:58:30


使用MPM列表的基于帧内预测的图像编译方法及其设备

本申请是2021年04月07日提交进入中国专利局的国际申请日为2019年10月08日的申请号为201980066112.8(PCT/KR2019/013223)的,发明名称为“使用MPM列表的基于帧内预测的图像编译方法及其设备”的专利申请的分案申请。

技术领域

本文档涉及图像编译技术,并且更具体地,涉及基于MPM列表的使用帧内预测的视频编译方法和装置。

背景技术

近来在各种领域中对高分辨率且高质量的图像和视频(诸如超高清(UHD)图像和4K或8K或更大视频)的需求日益增加。随着图像和视频数据变成高分辨率和高质量,与现有图像和视频数据相比,传送的信息量或位数相对地增加。因此,如果使用介质(诸如现有有线或无线宽带线)来传送图像数据或者使用现有存储介质来存储图像和视频数据,则传输成本和存储成本增加。

此外,近来对沉浸式媒体(诸如虚拟现实(VR)、人工现实(AR)内容或全息图)的兴趣和需求日益增加。广播具有不同于真实图像的图像特性的图像特性的图像和视频(诸如游戏图像)日益增加。

因此,为了有效地压缩并传送或存储并回放具有这样的各种特性的高分辨率且高质量的图像和视频的信息,需要高效的图像和视频压缩技术。

发明内容

技术问题

本文档提供了用于提高图像编译效率的方法和装置。

本文档提供了有效帧内预测方法和装置。

本文档提供了导出用于有效帧内预测的MPM列表的视频编译方法和装置。

本文档提供了用于配置用于有效帧内预测的MPM列表内的MPM候选的帧内预测方法和装置。

技术方案

一方面,提供了一种由解码装置执行的视频解码方法。该方法包括基于位于当前块的左侧的第一相邻块,导出第一候选帧内预测模式;基于位于所述当前块的上侧的第二相邻块,导出第二候选帧内预测模式;基于所述第一候选帧内预测模式和所述第二候选帧内预测模式,构建用于所述当前块的MPM(最可能模式)列表;基于所述MPM列表,导出所述当前块的帧内预测模式;通过基于所述帧内预测模式执行对所述当前块的预测来生成预测样本;以及基于所述预测样本,生成用于所述当前块的重构图片。构建所述MPM列表的步骤包括导出包括所述第一候选帧内预测模式或所述第二候选帧内预测模式中的至少一个的MPM候选,并且所述MPM候选中的至少一个候选通过将64模算术运算应用于所述第一候选帧内预测模式或所述第二候选帧内预测模式来导出。

另一方面,提供了一种由编码装置执行的视频编码方法。该方法包括:基于位于当前块的左侧的第一相邻块,导出第一候选帧内预测模式;基于位于所述当前块的上侧的第二相邻块,导出第二候选帧内预测模式;基于所述第一候选帧内预测模式和所述第二候选帧内预测模式,构建用于所述当前块的MPM(最可能模式)列表;确定用于所述当前块的帧内预测模式;通过基于所述帧内预测模式执行对所述当前块的预测来生成预测样本;以及编码包括用于所述当前块的帧内预测模式信息的图像信息。构建所述MPM列表的步骤包括导出包括所述第一候选帧内预测模式或所述第二候选帧内预测模式中的至少一个的MPM候选,并且所述MPM候选中的至少一个候选通过将64模算术运算应用于所述第一候选帧内预测模式或所述第二候选帧内预测模式来导出。

有益效果

根据本文档,可以提高整体图像和视频压缩效率。

根据本文档,可以通过有效帧内预测降低计算复杂度并且可以改善整体编译效率。

根据本文档,可以通过考虑帧内预测模式的数量的增加来有效地配置MPM列表。此外,可以改善用于指示当前块的帧内预测模式的MPM列表的准确性,并且可以改善整体编译效率。

根据本文档,因为通过考虑预测性能、复杂性、预测方向性等来配置MPM列表内的MPM候选,因此可以改善预测性能并降低计算复杂度。

附图说明

图1示意性地示出了可以应用本文档的实施例的视频/图像编译系统的示例。

图2是示意性地描述可以应用本文档的实施例的视频/图像编码装置的配置的图。

图3是示意性地描述可以应用本文档的实施例的视频/图像解码装置的配置的图。

图4示出了由视频编码装置执行的图像编码方法的示例。

图5示出了由解码装置执行的视频编译方法的示例。

图6示出基于帧内预测的图像编码方法的示例以及图7示意性地示出了编码装置内的帧内预测器。

图8示出了基于帧内预测的视频编译方法的示例,以及图9示意性地示出了解码装置内的帧内预测器。

图10示出了65个定向帧内预测模式。

图11示出了当前块的相邻块。

图12和13是示意性地示出配置用于当前块的MPM列表的方法的流程图。

图14是示出配置用于当前块的MPM列表的方法的实施例的流程图。

图15是示出了配置用于当前块的MPM列表的方法的另一实施例的流程图。

图16是示意性地示出可以由根据本文档的实施例的编码装置执行的编码方法的流程图。

图17是示意性地示出可以由根据本文档的实施例的解码装置执行的解码方法的流程图。

图18示出了可以应用本文档中公开的实施例的内容流传输系统的示例。

具体实施方式

本文档可以以各种方式修改并且可以具有各种实施例,并且将在附图中图示并且详细地描述特定实施例。然而,这并不旨在将本文档限制于特定实施例。本说明书中通常使用的术语用于描述特定实施例,而不是用来限制本文档的技术精神。除非在上下文中另外明确表示,否则单数的表述包括复数的表述。本说明书中的诸如“包括”或“具有”这样的术语应该被理解为指示存在本说明书中描述的特性、数字、步骤、操作、元件、部件或其组合,而没有排除存在或添加一个或多个其他特性、数字、步骤、操作、元件、部件或其组合的可能性。

此外,为了便于与不同特性功能相关的描述,独立地图示了本文档中描述的附图中的元件。这并不意指各个元件被实现为单独的硬件或单独的软件。例如,至少两个元件可以被组合,以形成单个元件,或者单个元件可以被划分成多个元件。组合和/或分离元件的实施例也被包括在本文档的权利范围内,除非它偏离了本文档的实质。

在下文中,参考附图,更具体地描述本文档的优选实施例。在下文中,在附图中,相同的附图标记被用于相同的元件,并且可以省略对相同元件的冗余描述。

本文档涉及视频/图像编译。例如,本文档中公开的方法/实施例可以应用于在通用视频编译(VVC)标准、EVC(基本视频编译)标准、AOMedia Video 1(AV1)标准、第二代音频视频编译标准(AVS2)或下一代视频/图像编译标准(例如,H.267或H.268等)中公开的方法。

本文档提出了视频/图像编译的各种实施例,并且除非另有说明,否则这些实施例可以相互组合来执行。

在本文档中,视频可以是指随时间推移的一系列图像。通常,图片是指表示特定时区中的一个图像的单位,并且切片/贴片(tile)是在编译中构成图片的一部分的单位。切片/贴片可以包括一个或多个编译树单元(CTU)。一个图片可以由一个或多个切片/贴片构成。一个图片可以由一个或多个贴片组构成。一个贴片组可以包括一个或多个贴片。图块(brick)可以表示图片中的贴片内的CTU行的矩形区域。贴片可以被分割成多个图块,每个图块由贴片内的一个或多个CTU行组成。没有被分割成多个图块的贴片也可以被称为图块。图块扫描是分割图片的CTU的特定顺序排序,其中,在图块中按CTU光栅扫描对CTU进行连续排序,按贴片的图块的光栅扫描对贴片内的图块进行连续排序,并且按图片的贴片的光栅扫描对图片中的贴片进行连续排序。贴片是图片中的特定贴片列和特定贴片行内的CTU的矩形区域。贴片列是CTU的矩形区域,该矩形区域的高度等于图片的高度并且宽度由图片参数集中的语法元素指定。贴片行是CTU的矩形区域,该矩形区域的高度由图片参数集中的语法元素指定并且宽度等于图片的宽度。贴片扫描是分割图片的CTU的特定顺序排序,其中,可以在贴片中按CTU光栅扫描对CTU进行连续排序,而可以按图片的贴片的光栅扫描对图片中的贴片进行连续排序。切片包括可以被排他性地包含在单个NAL单元中的图片的整数个图块。切片可以由多个完整贴片组成或者仅由一个贴片的完整图块的连续序列组成。在本文档中,可以互换地使用贴片组和切片。例如,在本文档中,贴片组/贴片组报头可以被称为切片/切片报头。

像素(pixel)或画素(pel)可以意指构成一个图片(或图像)的最小单位。另外,“样本”可以被用作与像素对应的术语。样本通常可以表示像素或像素值,并且可以仅表示亮度分量的像素/像素值,或仅表示色度分量的像素/像素值。

单元可以表示图像处理的基本单位。单元可以包括图片的特定区域和与该区域相关的信息中的至少一个。一个单元可以包括一个亮度块和两个色度(例如,cb、cr)块。在一些情况下,可以将单元和诸如块或区域的术语互换地使用。在通常情况下,M×N块可以包括样本(或样本阵列)或M列和N行的变换系数的集合(或阵列)。

在本文档中,术语“/”和“、”应当被解释为指示“和/或”。例如,表述“A/B”可以意指“A和/或B”。另外,“A、B”可以意指“A和/或B”。另外,“A/B/C”可以意指“A、B和/或C中的至少一个”。另外,“A/B/C”可以意指“A、B和/或C中的至少一个”。

另外,在本文档中,术语“或”应当被解释为指示“和/或”。例如,表述“A或B”可以包括1)仅A、2)仅B和/或3)A和B二者。换句话说,本文档中的术语“或”应当被解释为指示“附加或可替代地”。

图1示意性地示出了可以应用本文档的实施例的视频/图像编译系统的示例。

参考图1,视频/图像编译系统可以包括第一设备(源设备)和第二设备(接收设备)。源设备可以经由数字存储介质或网络,以文件或流的形式将编码的视频/图像信息或数据传递到接收设备。

源设备可以包括视频源、编码装置和发送器。接收设备可以包括接收器、解码装置和渲染器。编码装置可以被称为视频/图像编码装置,并且解码装置可以被称为视频/图像解码装置。发送器可以被包括在编码装置中。接收器可以被包括在解码装置中。渲染器可以包括显示器,并且显示器可以被配置为单独设备或外部组件。

视频源可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源可以包括视频/图像捕获设备和/或视频/图像生成设备。视频/图像捕获设备可以包括例如一个或多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成设备可以包括例如计算机、平板电脑和智能电话,并且可以(电子地)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以由生成相关数据的过程取代。

编码装置可以对输入视频/图像进行编码。编码装置可以执行诸如用于压缩和编码效率的预测、变换和量化的一系列过程。编码数据(编码视频/图像信息)可以以比特流的形式输出。

发送器可以通过数字存储介质或网络,以文件或流的形式将以比特流形式输出的编码视频/图像信息或数据传送到接收设备的接收器。数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等的各种存储介质。发送器可以包括用于通过预定文件格式生成媒体文档的元件,并且可以包括用于通过广播/通信网络进行传输的元件。接收器可以接收/提取比特流,并且将所接收的比特流传送到解码装置。

解码装置可以通过执行与编码装置的操作相对应的诸如反量化、逆变换、预测的一系列过程来解码视频/图像。

渲染器可以渲染解码的视频/图像。可以通过显示器显示所渲染的视频/图像。

图2是图示可以应用本文档的实施例的视频/图像编码装置的配置的示意图。在下文中,视频编码装置可以包括图像编码装置。

参考图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作为内部/外部组件。

图像分割器210可以将输入到编码装置200的输入图像(或图片或帧)分割成一个或多个处理器。例如,处理器可以被称为编译单元(CU)。在这种情况下,可以从编译树单元(CTU)或最大编译单元(LCU),根据四叉树二叉树三叉树(QTBTTT)结构来递归地分割编译单元。例如,可以基于四叉树结构、二叉树结构和/或三叉结构,将一个编译单元分割成深度更深的多个编译单元。在这种情况下,例如,可以首先应用四叉树结构,随后可以应用二叉树结构和/或三叉树结构。可替代地,可以首先应用二叉树结构。可以基于不再被分割的最终编译单元来执行根据本文档的编译过程。在这种情况下,根据图像特性基于编码效率,可以将最大编译单元用作最终编译单元,或如果需要,可以将编译单元递归地分割成深度更深的编译单元,并且可以将具有最佳大小的编译单元用作最终编译单元。在此,编译过程可以包括随后将描述的预测、变换和重构这样的过程。作为另一示例,处理器可以进一步包括预测单元(PU)或变换单元(TU)。在这种情况下,预测单元和变换单元可以从上述的最终编译单元划分或分割。预测单元可以是样本预测单元,以及变换单元可以是用于导出变换系数的单元和/或用于从变换系数导出残差信号的单元。

在一些情况下,可以将单元和诸如块或区域的术语互换地使用。在通常情况下,M×N块可以表示由M列和N行组成的样本或变换系数的集合。样本通常可以表示像素或像素值,可以仅表示亮度分量的像素/像素值,或仅表示色度分量的像素/像素值。样本可以被用作与用于像素或画素的一个图片(或图像)相对应的术语。

在编码装置200中,从输入图像信号(原始块、原始样本阵列)中减去从帧间预测器221或帧内预测器222输出的预测信号(预测的块、预测样本阵列)以生成残差信号(残差块、残差样本阵列),并且将所生成的残差信号传送到变换器232。在这种情况下,如所示,在编码器200中用于从输入图像信号(原始块、原始样本阵列)减去预测信号(预测的块、预测样本阵列)的单元可以被称为减法器231。预测器可以对待处理的块(在下文中,被称为当前块)执行预测,并且可以生成包括用于当前块的预测样本的预测的块。预测器可以以当前块或CU为基础,确定应用帧内预测还是帧间预测。如随后在对每个预测模式的描述中所述,预测器可以生成与预测有关的各种信息(诸如预测模式信息),并且将所生成的信息传送到熵编码器240。有关预测的信息可以在熵编码器240中被编码并且以比特流的形式被输出。

帧内预测器222可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考样本可以位于当前块的附近或可以位于分开的位置。在帧内预测中,预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如DC模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,取决于设置,可以使用更多或更少的定向预测模式。帧内预测器222可以通过使用应用于相邻块的预测模式来确定应用于当前块的预测模式。

帧间预测器221可以基于由运动向量在参考图片上所指定的参考块(参考样本阵列)来导出用于当前块的预测的块。在此,为了减少在帧间预测模式下传送的运动信息量,可以基于相邻块与当前块之间的运动信息的相关性,以块、子块或样本为单位来预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息可以进一步包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,相邻块可以包括当前图片中存在的空间相邻块和参考图片中存在的时间相邻块。包括参考块的参考图片和包括时间相邻块的参考图片可以相同或不同。时间相邻块可以被称为共位参考块、共位CU(colCU)等,并且包括时间相邻块的参考图片可以被称为共位图片(colPic)。例如,帧间预测器221可以基于相邻块来配置运动信息候选列表,并且生成指示哪个候选被用于导出当前块的运动向量和/或参考图片索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器221可以将相邻块的运动信息用作当前块的运动信息。在跳过模式下,与合并模式不同,可能不会传送残差信号。在运动向量预测(MVP)模式的情况下,相邻块的运动向量可以被用作运动向量预测器,并且当前块的运动向量可以通过发信号通知运动向量差来指示。

预测器220可以基于下文所述的各种预测方法来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测来预测一个块,而且可以同时应用帧内预测和帧间预测两者。这可以被称为组合的帧间和帧内预测(CIIP)。另外,预测器可以基于帧内块复制(IBC)预测模式或调色板模式(palette mode)来预测块。IBC预测模式或调色板模式可以被用于游戏的内容图像/视频编译等,例如屏幕内容编译(SCC)。IBC基本上在当前图片中执行预测,但是在当前图片中导出参考块方面,可以类似于帧间预测来执行。即,IBC可以使用本文档中描述的帧间预测技术中的至少一种。调色板模式可以被视为帧内编译或帧内预测的示例。当应用调色板模式时,可以基于有关调色板表和调色板索引的信息来发信号告知图片内的样本值。

通过预测器(包括帧间预测器221和/或帧内预测器222)生成的预测信号可以被用来生成重构信号或者生成残差信号。变换器232可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(DCT)、离散正弦变换(DST)、卡伦-洛夫(Karhunen-Loève)变换(KLT)、基于图的变换(GBT)或有条件的非线性变换(CNT)中的至少一种。在此,GBT意指当用图表示像素之间的关系信息时从图获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号而生成的变换。另外,变换过程可以被应用于具有相同大小的正方形像素块,或者可以被应用于具有可变大小而非正方形的块。

量化器233可以对变换系数进行量化并且将它们传送到熵编码器240,并且熵编码器240可以编码量化的信号(有关量化的变换系数的信息)并且输出比特流。有关量化的变换系数的信息可以被称为残差信息。量化器233可以基于系数扫描顺序将块类型的量化的变换系数重新排列成一维向量形式,并且基于一维向量形式的量化的变换系数来生成关于量化的变换系数的信息。可以生成关于变换系数的信息。熵编码器240可以执行各种编码方法,诸如(例如)指数哥伦布(exponential Golomb)、上下文自适应可变长度编译(CAVLC)、上下文自适应二进制算术编译(CABAC)等。熵编码器240可以一起或单独地编码视频/图像重构所需的信息,除了量化的变换系数(例如,语法元素的值等)外。编码的信息(例如,编码的视频/图像信息)可以以比特流的形式,以NAL(网络抽象层)为单位传送或存储。视频/图像信息可以进一步包括关于各种参数集(诸如自适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS))的信息。另外,视频/图像信息可以进一步包括常规约束信息。在本文档中,从编码装置传送到/发信号通知给解码装置的信息和/或语法元素可以被包括在视频/图片信息中。视频/图像信息可以通过上述编码过程编码并且被包括在比特流中。可以通过网络传送比特流,或者将其存储在数字存储介质中。网络可以包括广播网络和/或通信网络,并且数字存储介质可以包括各种存储介质(诸如USB、SD、CD、DVD、蓝光、HDD、SSD等)。传送从熵编码器240输出的信号的发送器(未示出)或存储该信号的存储单元(未示出)可以被包括作为编码装置200的内部/外部元件,并且可替代地,发送器可以被包括在熵编码器240中。

从量化器233输出的量化的变换系数可以被用来生成预测信号。例如,可以通过反量化器234和逆变换器235,将反量化和逆变换应用于量化的变换系数,来重构残差信号(残差块或残差样本)。加法器155将重构的残差信号与从帧间预测器221或帧内预测器222输出的预测信号相加以生成重构信号(重构图片、重构块、重构样本阵列)。如果没有对待处理的块的残差,诸如应用跳过模式的情况下,则可以将预测的块用作重构块。加法器250可以被称为重构器或重构块生成器。所生成的重构信号可以被用于当前图片中待处理的下一块的帧内预测,并且如下文所述,可以通过滤波,用于下一图片的帧间预测。

同时,在图片编码和/或重构期间,可以应用具有色度缩放的亮度映射(LMCS)。

滤波器260可以通过向重构信号应用滤波来改善主观/客观图像质量。例如,滤波器260可以通过将各种滤波方法应用于重构图片来生成修改的重构图片,并且可以将修改的重构图片存储在存储器270(具体地,存储器270的DPB)中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。如稍后在每种滤波方法的描述中所述,滤波器260可以生成与滤波相关的各种信息,并且将所生成的信息传送到熵编码器240。有关滤波的信息可以由熵编码器240编码并且以比特流的形式输出。

传送到存储器270的修改的重构图片可以用作帧间预测器221中的参考图片。当通过编码装置应用帧间预测时,可以避免编码装置200和解码装置之间的预测失配,并且还可以改善编码效率。

存储器270DPB可以存储修改的重构图片,以便用作帧间预测器221中的参考图片。存储器270可以存储从其中导出(或编码)当前图片中的运动信息的块的运动信息和/或已经被重构的图片中的块的运动信息。所存储的运动信息可以被传送到帧间预测器221,并且被用作空间相邻块的运动信息或时间相邻块的运动信息。存储器270可以存储当前图片中的重构块的重构样本,并且可以将重构样本传递到帧内预测器222。

图3是图示可以应用本文档的实施例的视频/图像解码装置的配置的示意图。

参考图3,该解码装置300可以包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350和存储器360。预测器330可以包括帧间预测器331和帧内预测器332。残差处理器320可以包括反量化器321和逆变换器321。根据实施例,熵解码器310、残差处理器320、预测器330、加法器340和滤波器350可以由硬件组件(例如,解码器芯片组或处理器)配置。另外,存储器360可以包括解码图片缓冲器(DPB),并且可以由数字存储介质来配置。硬件组件可以进一步包括存储器360作为内部/外部组件。

当输入包括视频/图像信息的比特流时,解码装置300可以重构与在图2的编码装置中处理视频/图像信息的过程相对应的图像。例如,解码装置300可以基于从比特流获得的块分割相关信息来导出单元/块。解码装置300可以使用在编码装置中应用的处理器来执行解码。因此,解码的处理器可以是例如编译单元,并且编译单元可以根据四叉树结构、二叉树结构和/或三叉树结构,从编译树单元或最大编译单元分割。可以从编译单元导出一个或多个变换单元。可以通过再现装置来再现通过解码装置300解码和输出的重构图像信号。

解码装置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中的至少一个。

反量化器321可以对量化的变换系数进行反量化并且输出变换系数。反量化器321可以以二维块的形式重新排列量化的变换系数。在这种情况下,可以基于在编码装置中执行的系数扫描顺序来执行重新排列。反量化器321可以通过使用量化参数(例如,量化步长大小信息)对量化的变换系数执行反量化,并且获得变换系数。

逆变换器322通过对变换系数进行逆变换来获得残差信号(残差块、残差样本阵列)。

预测器可以对当前块执行预测,并且生成包括用于当前块的预测样本的预测的块。预测器可以基于从熵解码器310输出的关于预测的信息来确定向当前块应用帧内预测还是帧间预测,并且可以确定特定帧内/帧间预测模式。

预测器320可以基于下文所述的各种预测方法来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测来预测一个块,而且可以同时应用帧内预测和帧间预测。这可以被称为组合的帧间和帧内预测(CIIP)。另外,预测器可以基于帧内块复制(IBC)预测模式或调色板模式,用于预测块。IBC预测模式或调色板模式可以被用于游戏的内容图像/视频编译等,例如屏幕内容编译(SCC)。IBC基本上在当前图片中执行预测,但是在当前图片中导出参考块方面,可以类似于帧间预测来执行。即,IBC可以使用本文档中所述的帧间预测技术中的至少一种。调色板模式可以被视为帧内编译或帧间预测的示例。当应用调色板模式时,可以基于关于调色板表和调色板索引的信息,发信号告知图片内的样本值。

帧内预测器331可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考样本可以位于当前块的附近或可以位于分开的位置。在帧内预测中,预测模式可以包括多个非定向模式和多个定向模式。帧内预测器331可以通过使用应用于相邻块的预测模式来确定应用于当前块的预测模式。

帧间预测器332可以基于由运动向量在参考图片上所指定的参考块(参考样本阵列)来导出用于当前块的预测的块。在这种情况下,为了减少在帧间预测模式下传送的运动信息量,可以基于相邻块与当前块之间的运动信息的相关性,以块、子块或样本为单位来预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息可以进一步包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,相邻块可以包括当前图片中存在的空间相邻块和参考图片中存在的时间相邻块。例如,帧间预测器332可以基于相邻块来配置运动信息候选列表,并且基于所接收的候选选择信息来导出当前块的运动向量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示用于当前块的帧间预测的模式的信息。

加法器340可以通过将所获得的残差信号与从预测器(包括帧间预测器332和/或帧内预测器331)输出的预测信号(预测的块、预测样本阵列)相加来生成重构信号(重构图片、重构块、重构样本阵列)。如果没有对待处理的块的残差,诸如当应用跳过模式时,则可以将预测的块用作重构块。

加法器340可以被称为重构器或重构块生成器。所生成的重构信号可以被用于当前图片中待处理的下一块的帧内预测、可以通过下文所述的滤波输出、或者可以被用于下一图片的帧间预测。

同时,可以在图片解码过程中应用具有色度缩放的亮度映射(LMCS)。

滤波器350可以通过向重构信号应用滤波来改善主观/客观图像质量。例如,滤波器350可以通过向重构图片应用各种滤波方法来生成修改的重构图片,并且将修改的重构图片存储在存储器360(具体地,存储器360的DPB)中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。

存储在存储器360的DPB中的(修改的)重构图片可以被用作帧间预测器332中的参考图片。存储器360可以存储当前图片中的从其导出(或解码)运动信息的块的运动信息和/或已经被重构的图片中的块的运动信息。所存储的运动信息可以被传送到帧间预测器260,以便被用作空间相邻块的运动信息或时间相邻块的运动信息。存储器360可以存储当前图片中的重构块的重构样本,并且将重构样本传送到帧内预测器331。

在本公开中,在编码装置200的滤波器260、帧间预测器221和帧内预测器222中描述的实施例可以与解码装置300的滤波器350、帧间预测器332和帧内预测器331相同或者被分别应用以对应于解码装置300的滤波器350、帧间预测器332和帧内预测器331。

如上所述,在执行视频编译时,执行预测以提高压缩效率。可以通过预测生成包括用于作为目标编译块的当前块的预测样本的预测的块。在这种情况下,预测的块包括空间域(或像素域)中的预测样本。在编码装置和解码装置中同样地导出预测的块。编码装置可以通过向解码装置发信号告知关于原始块(非原始块的原始样本值本身)与预测的块之间的残差的信息(残差信息)来提高图像编译效率。解码装置可以基于残差信息来导出包括残差样本的残差块,可以通过将残差块与预测的块相加来生成包括重构样本的重构块,并且可以生成包括重构块的重构图片。

可以通过变换和量化过程来生成残差信息。例如,编码装置可以导出初始块与预测的块之间的残差块,可以通过对残差块中所包括的残差样本(残差样本阵列)执行变换过程来导出变换系数,可以通过对变换系数执行量化过程来导出量化的变换系数,并且可以(通过比特流)向解码装置发信号告知相关残差信息。在这种情况下,残差信息可以包括诸如值信息、位置信息、变换方案、变换核以及量化的变换系数的量化参数的信息。解码装置可以基于残差信息执行反量化/逆变换过程,并且可以导出残差样本(或残差块)。解码装置可以基于预测的块和残差块来生成重构图片。此外,编码装置可以通过对量化的变换系数进行反量化/逆变换来导出残差块以供后续图片的帧间预测参考,并且可以生成重构图片。

图4图示了由视频编码装置执行的图像编码方法的示例。

参考图4,图像编码方法可以包括块分割、帧内/帧间预测、变换、量化和熵编码过程。例如,当前图片可以被分割成多个块。可以通过帧内/帧间预测来生成当前块的预测块。可以通过当前块的输入块与预测块之间的减法来生成当前块的残差块。此后,可以通过对残差块进行变换来生成系数块,即,当前块的变换系数。变换系数可以被量化和熵编码,并且被存储在比特流中。

图5图示了由解码装置执行的视频编译方法的示例。

参考图5,图像编译方法可以包括熵解码、逆量化、逆变换和帧内/帧间预测过程。例如,解码装置可以执行与上述提及的编码方法相反的过程。具体地,可以通过对比特流进行熵解码来获得量化的变换系数。可以通过对量化的变换系数进行逆量化过程来获得当前块的系数块,即,变换系数。可以通过对变换系数进行逆变换来导出当前块的残差块。可以通过将通过帧内/帧间预测导出的当前块的预测块与残差块相加来导出当前块的重构块。

同时,如果执行帧内预测,则可以使用样本之间的相关性,并且可以获得原始块与预测块之间的差,即,残差。上文提及的变换和量化可以被应用于残差。因此,可以减少空间冗余。在下文中,具体描述了使用帧内预测的编码方法和解码方法。

帧内预测是指基于包括当前块的图片(在下文中,当前图片)内的当前块外部的参考样本来生成用于当前块的预测样本的预测。在这种情况下,当前块外部的参考样本可以是指位于当前块周围的样本。如果将帧内预测应用于当前块,则可以导出将用于当前块的帧内预测的相邻参考样本。

例如,当当前块的大小(宽度×高度)为nW×nH时,当前块的相邻参考样本可以包括与左边界相邻的样本以及与当前块的左下相邻的总共2×nH个样本、与上边界相邻的样本以及与当前块的右上相邻的总共2×nW个样本、以及与当前块的左上相邻的一个样本。可替代地,当前块的相邻参考样本还可以包括多列上相邻样本和多行左相邻样本。此外,当前块的相邻参考样本还可以包括与大小为nW×nH的当前块的右边界相邻的总共nH个样本、与当前块的下边界相邻的总共nW个样本以及与当前块的右下相邻的一个样本。

在这种情况下,当前块的一些相邻参考样本尚未被解码或可能不可用。在这种情况下,解码装置可以通过用可用样本替换不可用样本来配置将用于预测的相邻参考样本。可替代地,可以通过可用样本的插值来构建将用于预测的相邻参考样本。

如果导出相邻参考样本,则(i)可以基于当前块的相邻参考样本的平均值或插值来导出预测样本,以及(ii)可以基于当前块的相邻参考样本当中的对于预测样本的特定(预测)方向上存在的参考样本来导出预测样本。当帧内预测模式是非定向模式或非角度模式时,可以应用(i)。当帧内预测模式是定向模式或角度模式时,可以应用(ii)。

此外,可以基于相邻参考样本当中的当前块的预测样本,通过位于当前块的帧内预测模式的预测方向上的第一相邻样本与对应于第一相邻样本的第二相邻样本之间的插值来生成预测样本。第二相邻样本可以是位于与当前块的帧内预测模式的预测方向相反的方向上的样本。上述情况可以被称为线性插值帧内预测(LIP)。此外,可以基于滤波的相邻参考样本来导出当前块的时间预测样本。可以通过对基于帧内预测模式导出的至少一个参考样本和现有相邻参考样本当中的时间预测样本(即,未经滤波的相邻参考样本)进行加权求和来导出当前块的预测样本。上述情况可以被称为位置相关帧内预测(PDCP)。同时,如有必要,可以执行对导出的预测样本的后滤波。

具体地,帧内预测过程可以包括帧内预测模式确定步骤、相邻参考样本导出步骤以及基于帧内预测模式的预测样本导出步骤。此外,如有必要,可以执行对导出的预测样本的后滤波步骤。

图6图示了基于帧内预测的图像编码方法的示例,以及图7示意性地图示了编码装置内的帧内预测器。图7中的编码装置内的帧内预测器可以等同地或以相应的方式应用于图2中的编码装置200的帧内预测器222。

参考图6和7,可以由编码装置的帧内预测器222执行S600。可以由编码装置的残差处理器230执行S610。具体地,可以由编码装置的减法器231执行S610。在S620中,可以由帧内预测器222导出预测信息,并且可以由熵编码器240对预测信息进行编码。在S620中,可以由残差处理器230导出残差信息,并且可以由熵编码器240对残差信息进行编码。残差信息是与残差样本相关的信息。残差信息可以包括与针对残差样本的量化的变换系数相关的信息。如上所述,可以通过编码装置的变换器232,将残差样本导出为变换系数。可以通过量化器233,将变换系数导出为量化的变换系数。可以通过残差编译过程,由熵编码器240对与量化的变换系数有关的信息进行编码。

编码装置可以执行对当前块的帧内预测(S600)。编码装置可以导出当前块的帧内预测模式,可以导出当前块的相邻参考样本,并且可以基于帧内预测模式和相邻参考样本来生成当前块内的预测样本。在这种情况下,可以执行帧内预测模式确定、相邻参考样本导出和预测样本生成过程,或者任何一个过程可以在另一过程之前执行。

在一个实施例中,编码装置的帧内预测器222可以包括预测模式确定器223、参考样本导出器224和预测样本导出器225。预测模式确定器223可以确定当前块的帧内预测模式。参考样本导出器224可以导出当前块的相邻参考样本。预测样本导出器225可以导出当前块的预测样本。同时,尽管未示出,但是如果执行随后将描述的预测样本滤波过程,则帧内预测器222可以进一步包括预测样本滤波单元(未示出)。编码装置可以确定多个帧内预测模式当中的应用于当前块的模式。编码装置可以比较用于帧内预测模式的RD成本,并且可以确定当前块的最佳帧内预测模式。

如上所述,编码装置可以执行预测样本滤波过程。预测样本滤波可以被称为后滤波。可以通过预测样本滤波过程对一些或全部预测样本进行滤波。可以根据情况省略预测样本滤波过程。

编码装置可以基于(滤波的)预测样本来生成用于当前块的残差样本(S610)。编码装置可以对包括指示帧内预测模式的预测模式信息和与残差样本有关的残差信息的图像信息进行编码(S620)。编码的图像信息可以以比特流形式输出。输出的比特流可以经由网络通过存储介质被传送到解码装置。

如上所述,编码装置可以基于预测样本和残差样本来生成重构图片(包括重构样本和重构块)。这是用于通过编码装置导出与在解码装置中执行的预测结果相同的预测结果。其原因是能够提高编译效率。此外,如上所述,可以将环路内滤波过程进一步应用于重构图片。

图8图示了基于帧内预测的视频编译方法的示例,以及图9示意性地示出了解码装置内的帧内预测器。图9中的解码装置内的帧内预测器可以等同地或以相应方式应用于图3的解码装置300的帧内预测器331。

参考图8和9,解码装置可以执行与在编码装置中执行的操作相对应的操作。解码装置可以执行对当前块的预测,并且基于所接收的预测信息来导出预测样本。

可以由解码装置的帧内预测器331执行S800至S820。在S830中,可以由解码装置的熵解码器310从比特流获得残差信息。解码装置的残差处理器320可以基于残差信息来导出当前块的残差样本。具体地,残差处理器的反量化器321可以通过基于以残差信息为基础导出的量化的变换系数执行逆量化来导出变换系数。残差处理器320的逆变换器322可以通过对变换系数执行逆变换来导出用于当前块的残差样本。可以由解码装置的加法器340或重构器来执行S840。

解码装置可以基于所接收的预测模式信息来导出用于当前块的帧内预测模式(S800)。解码装置可以导出当前块的相邻参考样本(S810)。解码装置可以基于帧内预测模式和相邻参考样本来生成当前块内的预测样本(S820)。在这种情况下,解码装置可以执行预测样本滤波过程。预测样本滤波可以被称为后滤波。可以通过预测样本滤波过程对一些或全部预测样本进行滤波。可以根据情况省略预测样本滤波过程。

解码装置可以基于所接收的残差信息来生成当前块的残差样本(S830)。解码装置可以基于(滤波的)预测样本和残差样本来生成用于当前块的重构样本,并且可以基于重构样本来生成重构图片(S840)。

在一个实施例中,解码装置的帧内预测器331可以包括预测模式确定器333、参考样本导出器334和预测样本导出器335。预测模式确定器333可以基于从编码装置的预测模式确定器223接收到的预测模式信息来确定用于当前块的帧内预测模式。参考样本导出器334可以导出当前块的相邻参考样本。预测样本导出器335可以导出当前块的预测样本。同时,尽管未示出,但是如果执行预测样本滤波过程,则帧内预测器331可以进一步包括预测样本滤波单元(未示出)。

同时,在执行帧内预测时,可以根据最可能模式(MPM)是否被应用于当前块来确定预测模式信息。例如,预测模式信息可以包括指示最可能模式(MPM)还是剩余模式被应用于当前块的标志信息(例如,prev_intra_luma_pred_flag)。如果MPM被应用于当前块,则预测模式信息可以进一步包括指示帧内预测模式候选(MPM候选)中的一个的索引信息(例如,mpm_idx)。在这种情况下,可以将帧内预测模式候选(MPM候选)配置为MPM候选列表或MPM列表。此外,如果MPM没有被应用于当前块,则预测模式信息可以进一步包括指示除了帧内预测模式候选(MPM候选)之外的剩余帧内预测模式中的一个的剩余模式信息(例如,rem_inra_luma_pred_mode)。解码装置可以基于预测模式信息来确定当前块的帧内预测模式。在这种情况下,可以通过随后将描述的编译方法对预测模式信息进行编码/解码。例如,可以基于截断(莱斯)二进制码,通过熵编译(例如,CABAC、CAVLC)对预测模式信息进行编码/解码。

此外,如果帧内预测被应用,则在确定预测模式信息时,可以使用相邻块的帧内预测模式来确定应用于当前块的帧内预测模式。例如,解码装置可以基于当前块的左块的帧内预测模式和上块的帧内预测模式来导出最可能模式(MPM)候选,并且可以基于MPM索引(例如,mpm_idx)来选择MPM候选中的一个。可替代地,解码装置可以基于剩余帧内预测模式信息(例如,rem_inra_luma_pred_mode)来选择未包括在MPM候选中的剩余帧内预测模式中的一个。可以以mpm_idx语法元素的形式发信号告知MPM索引。可以以rem_intra_luma_pred_mode语法元素的形式发信号告知剩余帧内预测模式信息。例如,剩余帧内预测模式信息可以指示所有帧内预测模式当中的未包括在MPM候选中的并且按预测模式编号的顺序索引的剩余帧内预测模式中的一个。

帧内预测模式可以包括非定向(或非角度)帧内预测模式和定向(或角度)帧内预测模式。例如,在HEVC标准中,使用包括2个非定向预测模式和33个定向预测模式的帧内预测模式。非定向预测模式可以包括平面帧内预测模式(即,0号)和DC帧内预测模式(即,1号)。定向预测模式可以包括2号至34号帧内预测模式。平面帧内预测模式可以被称为平面模式,并且DC帧内预测模式可以被称为DC模式。

可替代地,为了获取自然视频中提出的给定边缘方向,如图10中一样,定向帧内预测模式可以从现有的33种模式扩展到65种模式。在这种情况下,帧内预测模式可以包括2种非定向帧内预测模式和65种定向帧内预测模式。非定向帧内预测模式可以包括平面帧内预测模式(即,0号)和DC帧内预测模式(即,1号)。定向帧内预测模式可以包括2号至66号帧内预测模式。扩展的定向帧内预测模式可以应用于具有所有大小的块,并且可以应用于亮度分量和色度分量二者。然而,这是示例,并且可以将本文档的实施例应用于帧内预测模式的数量不同的情况。可以进一步使用根据情况的67号帧内预测模式。67号帧内预测模式可以指示线性模型(LM)模式。

图10图示了65个定向帧内预测模式。

参考图10,可以基于具有左上对角预测方向的34号帧内预测模式,将模式分为具有水平方向性的帧内预测模式和具有垂直方向性的帧内预测模式。在图10中,H和V分别意指水平方向性和垂直方向性。编号-32至32中的每一个指示样本网格位置处的1/32单位的位移。2至33号帧内预测模式具有水平方向性,并且34至66号帧内预测模式具有垂直方向性。18号帧内预测模式和50号帧内预测模式分别指示水平帧内预测模式和垂直帧内预测模式。2号帧内预测模式可以被称为左下对角帧内预测模式,34号帧内预测模式可以被称为左上对角帧内预测模式,以及66号帧内预测模式可以被称为右上对角帧内预测模式。

如上所述,通常,如果执行对图片的块分割,则待编译的当前块和相邻块具有相似的图像特性。因此,很有可能当前块和相邻块将具有相同或相似的帧内预测模式。根据这些图像特性,可以使用相邻块的帧内预测模式来导出当前块的帧内预测模式。这可以被称为最可能模式(MPM)。即,MPM可以意指在进行帧内预测模式编译时用于通过考虑当前块与相邻块之间的相似性来提高编译效率的模式。

例如,编码/解码装置可以配置用于当前块的最可能模式(MPM)列表。MPM列表可以被指示为MPM候选列表。在这种情况下,可以通过考虑生成MPM列表时的复杂度来配置包括给定MPM候选的MPM列表。例如,MPM列表可以包括3个MPM候选、5个候选或6个MPM候选。在一个实施例中,MPM列表可以包括基于相邻块的帧内预测模式、导出的帧内预测模式和/或默认帧内预测模式而导出的MPM候选。在这种情况下,在从相邻块导出MPM候选时,编码装置/解码装置可以通过根据特定顺序搜索当前块的相邻块来导出相邻块的帧内预测模式,并且可以基于导出的顺序,将相邻块的帧内预测模式用作MPM候选。例如,相邻块可以包括当前块的左相邻块、上相邻块、左下相邻块、右上相邻块和左上相邻块中的至少一个。如果在MPM列表内的MPM候选当中不包括当前块的帧内预测模式,则可以使用剩余模式。在这种情况下,剩余模式是使用所有帧内预测模式当中的除了MPM候选之外的剩余帧内预测模式的模式,并且可以对剩余帧内预测模式信息进行编译并发信号告知。剩余帧内预测模式信息可以是指示除了MPM候选之外的剩余帧内预测模式当中的、应用于当前块的帧内预测模式的信息。例如,如果使用了67个帧内预测模式,则剩余帧内预测模式信息可以包括6比特语法元素(例如,rem_intra_luma_pred_mode语法元素)。

如上所述,在HEVC标准中,在进行帧内预测时使用35个帧内预测模式。在这种情况下,配置包括3个MPM候选的MPM列表。在这种情况下,可以基于相邻块F和相邻块G的帧内预测模式来导出3个MPM候选。包括相邻块F和相邻块G的当前块的相邻块可以与上述相邻块相同。

图11图示了当前块的相邻块。

参考图11,当前块的相邻块可以包括相邻块A、相邻块B、相邻块C、相邻块D、相邻块E、相邻块F和/或相邻块G。

在这种情况下,相邻块A可以指示位于当前块的左上样本位置的左上侧的相邻块。相邻块B可以指示位于当前块的右上样本位置的上侧的相邻块。相邻块C可以指示位于当前块的右上样本位置的右上侧的相邻块。相邻块D可以指示位于当前块的左下样本位置的左侧的相邻块。相邻块E可以指示位于当前块的左下样本位置的左下的相邻块。相邻块G可以指示位于当前块的左上样本位置的上侧的相邻块。相邻块F可以指示位于当前块的左上样本位置的左侧的相邻块。

例如,如果当前块的大小为W×H,并且当前块的左上样本位置的x分量和y分量为0,则相邻块A可以是包括(-1,-1)坐标处的样本的块,相邻块B可以是包括(W-1,-1)坐标处的样本的块,相邻块C可以是包括(W,-1)坐标处的样本的块,相邻块D可以是包括(-1,H-1)坐标处的样本的块,相邻块E可以是包括(-1,H)坐标处的样本的块,相邻块F可以是包括(-1,0)坐标处的样本的块,而相邻块G可以是包括(0,-1)坐标处的样本的块。

根据HEVC标准,可以基于相邻块F的帧内预测模式和相邻块G的帧内预测模式来导出3个MPM候选。例如,可以导出相邻块F的帧内预测模式和相邻块G的帧内预测模式。同时,在下述情况下,可以将相邻块F的帧内预测模式或相邻块G的帧内预测模式导出为DC帧内预测模式。

1)如果相邻块F或相邻块G不可用

2)如果相邻块F或相邻块G没有由帧内预测模式被编译(即,如果相邻块F或相邻块G不是帧内编译块)

3)如果相邻块F或相邻块G在当前编译树单元(CTU)外

如果如上所述,确定了相邻块F的帧内预测模式或相邻块G的帧内预测模式,则可以如同表1一样导出3个MPM候选。

[表1]

表1图示了用于配置MPM列表的示意性算法(即,伪代码)。参考表1,可以确定相邻块F的帧内预测模式与相邻块G的帧内预测模式是否相同。

如果相邻块F的帧内预测模式与相邻块G的帧内预测模式相同并且相邻块F的帧内预测模式的模式编号小于2,则可以将当前块的MPM列表导出为MPM列表1(MPM list1)。即,如果相邻块F的帧内预测模式与相邻块G的帧内预测模式相同并且相邻块F的帧内预测模式是模式编号为0的帧内预测模式或模式编号为1的帧内预测模式,则可以将当前块的MPM列表导出为MPM列表1。在这种情况下,MPM列表1可以指示配置有MPM候选{F,F-1,F+1}的MPM列表。F可以指示相邻块F的帧内预测模式。F-1可以指示通过从相邻块F的帧内预测模式的模式编号减去1获得的值为模式编号的帧内预测模式。F+1可以指示通过将1加到相邻块F的帧内预测模式的模式编号上获得的值为模式编号的帧内预测模式。例如,如果相邻块F的帧内预测模式是模式编号为N的帧内预测模式,则MPM列表1可以被配置有包括模式编号为N的帧内预测模式、模式编号为N-1的帧内预测模式和模式编号为N+1的帧内预测模式作为MPM候选的MPM列表。

此外,如果相邻块F的帧内预测模式与相邻块G的帧内预测模式相同并且相邻块F的帧内预测模式的模式编号不小于2,则可以将当前块的MPM列表导出为MPM列表2(MPMlist2)。

此外,如果相邻块F的帧内预测模式与相邻块G的帧内预测模式不相同并且相邻块F的帧内预测模式和相邻块G的帧内预测模式不是平面帧内预测模式,则可以将当前块的MPM列表导出为MPM列表3(MPM list3)。

此外,如果相邻块F的帧内预测模式与相邻块G的帧内预测模式不相同并且相邻块F的帧内预测模式的模式编号与相邻块G的帧内预测模式的模式编号之和小于2,则可以将当前块的MPM列表导出为MPM列表4(MPM list4)。

此外,如果相邻块F的帧内预测模式与相邻块G的帧内预测模式不相同并且相邻块F的帧内预测模式和相邻块G的帧内预测模式中的至少一个是平面帧内预测模式并且相邻块F的帧内预测模式的模式编号与相邻块G的帧内预测模式的模式编号之和不小于2,则可以将当前块的MPM列表导出为MPM列表5(MPM list5)。

同时,随着帧内预测模式的数量增加,MPM候选的数量需要增加。因此,MPM候选的数量可以根据帧内预测模式的数量而不同。通常,当帧内预测模式的数量增加时,MPM候选的数量可以增加。然而,当帧内预测模式的数量增加时,MPM候选的数量并不总是增加。例如,如果存在35个帧内预测模式或如果存在67个帧内预测模式,则根据设计,可以存在各种数量(诸如3个、4个、5个和6个)的MPM候选。

例如,可以执行6-MPM列表配置。即,可以配置包括6个MPM候选的MPM列表。例如,在6-MPM列表配置中,可以执行搜索各种相邻块的位置的过程以及用于排除相同帧内预测模式的持续剪枝(pruning)检查过程。例如,可以如下配置6个MPM候选的顺序:

相邻块D、相邻块B、平面帧内预测模式、DC帧内预测模式、相邻块E、相邻块C和相邻块A。

即,可以按照相邻块D的帧内预测模式、相邻块B的帧内预测模式、平面帧内预测模式、DC帧内预测模式、相邻块E的帧内预测模式、相邻块C的帧内预测模式和相邻块A的帧内预测模式的顺序,将相邻块导出为MPM候选。如果预测模式与已经导出的帧内预测模式相同,则可以不将其导出为MPM候选。

此外,如果MPM列表不包括具有最大候选数量的MPM候选,即,当导出的MPM候选的数量小于最大候选数量时,与导出的MPM候选相邻的定向帧内预测模式和预定义的默认帧内预测模式可以被视为MPM候选,并且可以执行剪枝检查过程。在这种情况下,与MPM候选相邻的定向帧内预测模式可以指示具有与MPM候选相邻的模式编号的帧内预测模式。相邻块搜索和持续剪枝检查在降低比特传输率方面有优势,但是会增加每个块的MPM列表配置的硬件操作周期数。最坏的情况是,3840×2160 4K图像可以被分割成4×4大小块以进行帧内预测。在这种情况下,可以在吞吐量方面重要地考虑用于4×4大小块中的每一个的增加的硬件操作周期。同时,如果通过帧间预测编译的相邻块获悉相邻块的帧内预测模式,则该相邻块的帧内预测模式可以被用于MPM列表配置。

如上所述,在配置MPM列表时,编码装置可以通过同时优化比特率和失真来确定最佳帧内预测模式,并且可以将所确定的最佳帧内预测模式编码为比特流。解码装置可以解析(解码)比特流中所包括的帧内预测模式,并且可以基于解析的帧内预测模式来执行帧内预测。然而,为了最小化随着帧内预测模式的数量增加而导致的信令开销,有效帧内模式编译是必要的。编码装置和解码装置二者均使用编译块的相邻帧内预测模式来配置MPM列表。在这种情况下,当最佳帧内预测模式是MPM列表内的候选之一时,可以通过发信号告知MPM索引来最小化开销。根据算法,MPM列表的长度和配置MPM列表的方法可能不同。

在这种情况下,如果67个帧内预测模式被用于帧内预测,则包括现有3个MPM候选的MPM列表可能不足以示出多个帧内预测模式的多样性。此外,包括相邻块搜索和剪枝检查过程的6-MPM列表配置方案可能影响吞吐量,因为它太过复杂。因此,本文档的实施例提出了在复杂度和编译效率之间具有适当平衡的有效MPM列表配置方法。

图12和13是示意性地图示配置用于当前块的MPM列表的方法的流程图。

参考图12和13,可以配置包括k个MPM候选的用于当前块的MPM列表。在这种情况下,k可以指示MPM列表的长度,即,MPM列表中所包括的MPM候选的数量。根据图12和13中公开的实施例,可以基于五个条件来配置5个有效MPM列表(MPM列表1至MPM列表5)。即,可以基于五个条件,将5个MPM列表中的一个导出为用于当前块的MPM列表。MPM列表可以是如图12所示的独立列表,并且可以是如图13所示的具有部分地共享部分的列表。如果使用如图13中共享的部分列表,则可以避免重复过程。可以对5个条件进行建模,使得所有条件的概率之和变为1。

图14是图示了配置用于当前块的MPM列表的方法的实施例的流程图。

图14图示了基于与当前块相邻的相邻块,有效地配置包括k个MPM候选的用于当前块的MPM列表的方法。例如,k可以为6,并且可以使用五个条件,以便在5个有效列表当中配置用于当前块的MPM列表。在图14中,L可以指示图11中所示的相邻块B的帧内预测模式,而A可以指示图11中所示的相邻块D的帧内预测模式。可替代地,相反,L可以指示图11中所示的相邻块D的帧内预测模式,而A可以指示图11中所示的相邻块B的帧内预测模式。在图14中,符号“!”是否定逻辑运算符,并且可以是指将非真的值转换为真值以及将真值转换为非真值的“非”运算符。例如,!7可以指示值0,而!0可以指示值1。

参考图14,编码/解码装置可以检查用于确定L和A是否相同的条件1(S1400)。即,编码/解码装置可以确定L和A是否是相同的帧内预测模式。条件1可以是用于确定是否“L==A”的条件。

如果L和A是相同的帧内预测模式(即,当满足条件1时),则编码/解码装置可以检查用于确定L(或A)是否是定向帧内预测模式的条件2(S1405)。即,编码/解码装置可以确定L和A是否相同并且L(或A)的模式编号是否大于DC模式的模式编号。条件2可以是用于确定是否“L>DC_idx”的条件。

当满足条件2时,编码/解码装置可以将MPM列表1导出为用于当前块的MPM列表(S1410)。当不满足条件2时,编码/解码装置可以将MPM列表2导出为用于当前块的MPM列表(S1415)。

在这种情况下,MPM列表1可以如同表2一样配置,并且MPM列表2可以如同表3一样配置。

[表2]

[表3]

参考表2和表3,如表2中,MPM列表1可以包括第一MPM候选(mpm[0])至第六MPM候选(mpm[5])。如表3中,MPM列表2可以包括第一MPM候选(mpm[0])至第六MPM候选(mpm[5])。在这种情况下,第一MPM候选至第六MPM候选可以指示由相应MPM索引值0至5指示的帧内预测模式(即,模式编号)。例如,第一MPM候选指示被指配给mpm[0]的帧内预测模式,并且可以由MPM索引的值0指示。

如果L和A不是相同的帧内预测模式(即,当不满足条件1时),则编码/解码装置可以导出部分地共享的MPM列表1(S1420)。

在这种情况下,可以如表4中一样配置部分地共享的MPM列表1。

[表4]

参考表4,部分地共享的MPM列表1可以包括指示L的第一MPM候选(mpm[0])和指示A的第二MPM候选(mpm[1])。即,如果L和A不相同,则编码/解码装置可以首先将L和A添加到MPM列表。因此,如同在表4中,可以将随后将描述的MPM列表3、4和5配置为部分地包括第一MPM候选(mpm[0])和第二MPM候选(mpm[1])。在这种情况下,在导出第一MPM候选(mpm[0])和第二MPM候选(mpm[1])时,可以通过对L和A的模式编号的大小进行比较来确定MPM索引顺序。例如,参考表4,当L具有大于A的模式编号时,可以将指示L的max_idx值设置为0,并且可以将指示A的min_idx值设置为1。当L具有小于A的模式编号时,可以颠倒地设置max_idx值和min_idx值。

接下来,编码/解码装置可以检查用于确定L和A二者是否均是定向帧内预测模式的条件3(S1425)。即,编码/解码装置可以确定是否L和A不相同且L和A中的每一个的模式编号大于DC模式编号。条件3可以是用于确定是否“L>DC_idx且A>DC_idx”的条件。

如果L和A中的每一个具有比DC模式大的模式编号(即,当满足条件3时),则编码/解码装置可以导出部分地共享的MPM列表2(S1440)。

在这种情况下,可以如表5中一样配置部分地共享的MPM列表2。

[表5]

参考表5,部分地共享的MPM列表2可以包括指示平面模式的第三MPM候选(mpm[2])和指示DC模式的第四MPM候选(mpm[3])。即,如果满足条件3,则这意指L和A二者均是定向帧内预测模式。因此,编码/解码装置可以将平面模式和DC模式(即,非定向帧内预测模式)添加到MPM列表,作为在表4中所述的部分地共享的MPM列表1中所包括的第一MPM候选(mpm[0]=L)和第二MPM候选(mpm[1]=A)之后的第三MPM候选(mpm[2])和第四MPM候选(mpm[3])。因此,随后将描述的MPM列表4和5可以被配置为部分地包括表5中的第三MPM候选(mpm[2])和第四MPM候选(mpm[3])以及表4中的第一MPM候选(mpm[0])和第二MPM候选(mpm[1])。

接下来,编码/解码装置可以检查用于确定L的模式编号与A的模式编号之间的差是否不是64并且不是1的条件4(S1445)。条件4可以是用于确定是否“diff!=64且diff!=1”的条件。

例如,可以如同表5中所示的等式一样,计算L的模式编号与A的模式编号之间的差(diff)。在这种情况下,diff可以是通过从L的模式编号和A的模式编号中的较大值减去较小值获得的结果。

在这种情况下,当满足条件4时,编码/解码装置可以将MPM列表5导出为用于当前块的MPM列表(S1455)。当不满足条件4时,编码/解码装置可以将MPM列表4导出为用于当前块的MPM列表(S1450)。

在这种情况下,可以如同表6一样配置MPM列表4,并且可以如同表7一样配置MPM列表5。

[表6]

[表7]

表6的MPM列表4和表7的MPM列表5中的每一个可以被配置为包括第五MPM候选(mpm[4])和第六MPM候选(mpm[5])以及表4和表5中所述的第一MPM候选至第四MPM候选(mpm[0]至mpm[3])。

同时,如果在步骤S1425中,L和A中的至少一个是非定向帧内预测模式(即,当不满足条件3时),则编码/解码装置可以检查用于确定L和A中的仅任一个是否是非定向帧内预测模式的条件5(S1430)。即,编码/解码装置可以确定L和A中的至少一个是否为DC模式编号或更小并且L的模式编号与A的模式编号之和是否为2或更大。条件5可以是用于确定是否“L+A>=2”的条件。

当L的模式编号与A的模式编号之和为2或更大时(即,当满足条件5时),编码/解码装置可以将MPM列表3导出为用于当前块的MPM列表(S1435)。

在这种情况下,可以如表8一样配置MPM列表3。

[表8]

参考表8,MPM列表3可以被配置为包括第三MPM候选至第六MPM候选(mpm[2]至mpm[5])以及表4中所述的第一MPM候选(mpm[0])和第二MPM候选(mpm[1])。在这种情况下,满足条件5可以意指L和A中的任一个是定向预测模式,而另一个是非定向预测模式。因此,MPM列表3可以包括非定向预测模式,作为在第一MPM候选和第二MPM候选之后的第三MPM候选(mpm[2])。例如,如果L和A当中的具有非定向模式的一个是平面模式,则可以将第三MPM候选(mpm[2])导出为DC模式。可替代地,如果L和A当中的具有非定向模式的一个是DC模式,则可以将第三MPM候选(mpm[2])导出为平面模式。

当L的模式编号与A的模式编号之和不为2或更大时(即,当不满足条件5时),编码/解码装置可以将MPM列表2导出为用于当前块的MPM列表(S1415)。在这种情况下,L和A二者都可以是非定向预测模式。

在这种情况下,MPM列表2可以与表3相同。参考表3,由于L和A二者都是非定向预测模式,因此在MPM列表2中,可以将平面模式和DC模式分别导出为第一MPM候选(mpm[0])和第二MPM候选(mpm[1])。可以如表3中所示,导出剩余的第三MPM候选至第六MPM候选(mpm[2]至mpm[5])。

在表2至表8中,在(定向帧内预测模式+1)、(定向帧内预测模式-1)、(定向帧内预测模式+2)、(定向帧内预测模式-2)等中,可以算术地加上或减去一值。然而,在一些情况下,无法简单地进行算术计算。例如,在非定向帧内预测模式中,不能通过减去或加上定向帧内预测模式来维持相邻帧内预测模式的一致性,或者可能超过最大可用帧内预测模式索引。例如,可能将通过从定向帧内预测模式中减去1获得的值导出为指示DC索引的帧内模式1(DC模式)。通过将66号定向帧内预测模式加1获得67,由此它超过了最大可用帧内模式的索引66。因此,可以使用模运算(用%指示)如下地限制对模式进行相加或相减的运算。即,能防止导出指示不一致的非定向帧内预测模式的值或超过最大可用帧内模式索引的值。例如,可以如同表9一样导出使用模算术的模式的相加或相减。

[表9]

图15是示出配置用于当前块的MPM列表的方法的另一实施例的流程图。

图15示出了基于与当前块相邻的邻居有效地配置包括k个MPM候选的用于当前块的MPM列表的方法。例如,k可以是6,并且可以使用五个条件来配置5个有效列表中的用于当前块的MPM列表。在图15中,L可以指示在图11中示出的相邻块B的帧内预测模式,而A可以指示在图11中示出的相邻块D的帧内预测模式。可替代地,相反,L可以指示图11中所示的相邻块D的帧内预测模式,而A可以指示图11中所示的相邻块B的帧内预测模式。在图15中,符号“!”是否定逻辑运算符,可以指代将非真的值转换成真值以及将真值转换成非真的值的“非”运算符。例如,!7可以指示值0,而!0可以指示值1。

此外,根据图15的实施例的MPM列表配置方法与图14的配置方法类似,并且对应于用于配置MPM列表的条件为不同的情况。因此,在图15的实施例中,省略了与图14重复的详细描述,仅描述不同的配置。

编码/解码装置检查用于确定L和A是否相同的条件1(S1500)。如果L和A是相同的帧内预测模式,则编码/解码装置可以检查用于确定L(或A)是否是定向帧内预测模式的条件2(S1510)。条件1可以是用于确定是否“L==A”的条件,而条件2可以是用于确定是否“L>DC_idx”的条件。

当满足条件1和条件2时,编码/解码装置可以通过如同表2导出第一MPM候选(mpm[0])至第六MPM候选(mpm[5])来配置MPM列表1(S1510)。

可替代地,当满足条件1并且不满足条件2时,编码/解码装置可以通过如同表3一样,导出第一MPM候选(mpm[0])至第六MPM候选(mpm[5])来配置MPM列表2(S1515)。

在条件1的确定步骤S1500中,如果确定L和A是不相同的帧内预测模式,则编码/解码装置可以通过如同表4导出指示L的第一MPM候选(mpm[0])和指示A的第二MPM候选(mpm[1])来配置部分地共享的MPM列表1(S1520)。此外,编码/解码装置可以检查用于确定L和A两者是否均是定向帧内预测模式的条件3(S1525),并且可以基于是否满足条件3来导出剩余MPM候选(mpm[2]至mpm[5])。条件3可以是用于确定是否“L>DC_idx且A>DC_idx”的条件。

在这种情况下,当满足条件3时,编码/解码装置可以如同表5,导出指示平面模式的第三MPM候选(mpm[2])和指示DC模式的第四MPM候选(mpm[3]),并且可以配置部分地共享的MPM列表2(S1540)。此外,如果L和A均是定向帧内预测模式,则编码/解码装置可以检查用于确定L和A的模式编号之间的差(diff)是否小于63并且不为1的条件4(S1545)。条件4可以是用于确定是否“diff<63且diff!=1”的条件。

当满足条件4时,编码/解码装置可以通过如同表7,导出第五MPM候选(mpm[4])和第六MPM候选(mpm[5])来配置MPM列表5(S1555)。

可替代地,当不满足条件4时,编码/解码装置可以通过如同表6,导出第五MPM候选(mpm[4])和第六MPM候选(mpm[5])来配置MPM列表4(S1550)。

在这种情况下,MPM列表4和MPM列表5可以被配置为包括第五MPM候选(mpm[4])和第六MPM候选(mpm[5])以及在表4和表5中所述的第一至第四MPM候选(mpm[0]至mpm[3])。

同时,在条件3的确定步骤S1525中,如果确定L和A中的至少一个是非定向帧内预测模式,则编码/解码装置可以检查用于确定是否L和A中的仅任一个是非定向帧内预测模式的条件5(S1530)。即,编码/解码装置可以确定L和A中的至少一个是否是DC模式编号或更小以及L的模式编号和A的模式编号之和是否为2或更大。条件5可以是用于确定是否“L+A>=2”的条件。

当L的模式编号和A的模式编号之和为2或更大时(即,当满足条件5时),编码/解码装置可以通过如同表8,导出第三MPM候选(mpm[2])和第六MPM候选(mpm[5])来配置MPM列表3(S1535)。

在这种情况下,MPM列表3可以被配置为包括剩余MPM候选(mpm[2]至mpm[5])以及表4中所述的第一MPM候选(mpm[0])和第二MPM候选(mpm[1])。

当L的模式编号和A的模式编号之和不为2或更大时(即,当不满足条件5时),编码/解码装置可以通过如同表3,导出MPM候选(mpm[0]至mpm[5])来配置MPM列表2(S1515)。

可以在编码/解码装置中执行上文提及的实施例中的配置MPM列表的方法。在这种情况下,在配置MPM列表时,编码装置可以导出将应用于当前块的最佳帧内预测模式,并且可以确定所导出的最佳帧内预测模式是否属于包括使用诸如上文提及的实施例的方法的方法而配置的MPM候选的MPM列表。如果当前块的帧内预测模式属于包括MPM候选的MPM列表,则编码装置可以对MPM标志和MPM索引进行编码。在这种情况下,MPM标志可以指示当前块的帧内预测模式是否属于MPM列表(即,MPM候选)。MPM索引可以指示在MPM列表中所包括的MPM候选当中哪一MPM模式被应用为当前块的帧内预测模式。相反,如果当前块的帧内预测模式不属于包括MPM候选的MPM列表,则编码装置可以对当前块的帧内预测模式进行编码。

解码装置可以通过与编码装置等同地应用与上文提及的实施例的方法相同的方法来配置MPM列表。此外,解码装置可以从编码装置接收MPM标志,并且可以使用MPM标志来识别应用于当前块的帧内预测模式是否被包括在MPM列表(即,MPM候选)中。如果应用于当前块的帧内预测模式被包括在MPM列表(即,MPM候选)内,则解码装置可以使用从编码装置接收到的MPM索引来导出应用于当前块的帧内预测模式。相反,如果应用于当前块的帧内预测模式未被包括在MPM列表(即,MPM候选)中,则解码装置可以使用在除了MPM候选之外的剩余预测模式中的指示特定预测模式的预测模式索引(或剩余预测模式索引;剩余模式信息)来导出应用于当前块的帧内预测模式。

在下文中,提出了通过将扩展的MPM列表与包括3个MPM候选的MPM列表进行比较来配置具有相似复杂度的扩展的MPM列表的方法。扩展的MPM列表是指包括三个或更多个MPM候选的MPM列表,可以包括例如3个、4个、5个或6个MPM候选。在随后将描述的所提出的方法中,描述了使用两个相邻帧内预测模式(左相邻帧内预测模式和上相邻帧内预测模式)来生成包括6个MPM候选的MPM列表的实施例。在这种情况下,左相邻帧内预测模式(LEFT)可以指示图11中的相邻块D的帧内预测模式,而上相邻帧内预测模式(ABOVE)可以指示图11中的相邻块B的帧内预测模式。

在配置扩展的MPM列表时,使用3个MPM候选的原因在于存在简便性和吞吐量方面的优点。然而,因为使用6个MPM候选的现有方法包括搜索各个相邻块的位置的过程、连续剪枝过程、用于生成MPM列表的步骤、线缓冲区要求和解析相关性,所以复杂度会增加。因此,如在使用3个MPM候选的方法中,提出了即使在使用6个MPM候选时,也能够获得复杂度和吞吐量方面的优点的方法。

在一个实施例中,可以基于诸如表10的算法(即,伪代码)来配置MPM列表。

【表10】

参考表10,可以基于LEFT和ABOVE(即,相邻帧内预测模式)来生成当前块的MPM列表。在这种情况下,LEFT可以指示图11中的相邻块D的帧内预测模式,并且ABOVE可以指示图11中的相邻块B的帧内预测模式。此外,相邻块D可以指示与当前块的左侧相邻的左相邻块当中的位于最下侧的左相邻块。相邻块B可以指示与当前块的上侧相邻的相邻块当中的位于最右侧的上相邻块。

具体地,可以导出LEFT和ABOVE的帧内预测模式。此外,可以基于LEFT和ABOVE的帧内预测模式,将当前块的MPM列表(即,MPM候选)设置为MPM_ordering_0。在这种情况下,如果LEFT和ABOVE相同并且LEFT的模式编号大于或等于DC模式,则当前块的MPM列表(即,MPM候选)可以被设置为MPM_ordering_1。可替代地,如果LEFT和ABOVE不相同并且LEFT的模式编号大于DC模式的模式编号并且ABOVE的模式编号大于DC模式的模式编号,则当前块的MPM列表(即,MPM候选)可以被设置为MPM_ordering_2。可替代地,如果LEFT和ABOVE不相同、LEFT的模式编号和ABOVE的模式编号中的至少一个不大于DC模式的模式编号并且LEFT的模式编号与ABOVE的模式编号之和大于DC模式的模式编号,则当前块的MPM列表(即,MPM候选)可以被设置为MPM_ordering_3。

在这种情况下,MPM_ordering_0、MPM_ordering_1、MPM_ordering_2或MPM_ordering_3可能已被配置为如图12至15中所述的根据预定顺序包括MPM候选。

此外,如果除了导出的MPM候选之外的剩余帧内预测模式中的一个是如上所述应用于当前块的帧内预测模式,则可以基于剩余模式信息来执行当前块的MPM编译。可以通过应用截断二进制(TB)编译来对这些剩余模式信息进行编码/解码。如果应用TB编译,则剩余模式信息可以用于可变地生成从1比特到5比特的比特,并且可以经受二值化处理。因此,在导出剩余模式信息时,通过执行TB二值化处理,可以减少比特数,并且可以提高编译效率。

在另一实施例中,可以基于诸如表11的算法(即,spec)来配置MPM列表。

[表11]

/>

/>

参考表11,可以基于当前块的相邻块来导出候选帧内预测模式。可以基于候选帧内预测模式来配置用于当前块的MPM列表。候选帧内预测模式可以包括候选帧内预测模式A和候选帧内预测模式B。

例如,当随后将描述的条件中的至少一个为真时(即,当满足随后将描述的条件中的至少一个时),候选帧内预测模式A可以被设置为平面帧内预测模式。

-相邻块A不可用

-帧内预测未被应用于相邻块A

在这种情况下,相邻块A可以是当前块的左相邻块。左相邻块可以是与当前块相邻的左相邻块当中的位于最下侧的左相邻块。例如,如果当前块的大小为cbWidth×cbHeight并且当前块的左上样本位置处的x分量和y分量为xCb和yCb,则相邻块A可以是包括(xCb-1,yCb+cbHeight-1)坐标处的样本的块。同时,相邻块A可以指示图11的相邻块D。

当所有条件都不为真时(即,当不满足所有条件时),候选帧内预测模式A可以被设置为相邻块A的帧内预测模式。

此外,例如,当随后将描述的条件中的至少一个为真时(即,当满足随后将描述的条件中的至少一个时),候选帧内预测模式B可以被设置为平面帧内预测模式。

-相邻块B不可用

-帧内预测未被应用于相邻块B

-yCb-1小于((yCb>>CtbLog2SizeY)<

在这种情况下,相邻块B可以是当前块的上相邻块。上相邻块可以是与当前块相邻的上相邻块当中的位于最右侧的上相邻块。例如,如果当前块的大小为cbWidth×cbHeight并且当前块的左上样本位置处的x分量和y分量为xCb和yCb,则相邻块B可以是包括(xCb+cbWidth-1,yCb-1)坐标处的样本的块。同时,CtbLog2SizeY可以指示当前CTU的大小,并且((yCb>>CtbLog2SizeY)<>CtbLog2SizeY)<

当所有条件均不为真时(即,当不满足所有条件时),候选帧内预测模式B可以被设置为相邻块B的帧内预测模式。

如果已导出候选帧内预测模式,则可以如同第一MPM列表一样配置当前块的MPM列表。第一MPM列表可以被配置有指示候选帧内预测模式A的第一MPM候选、指示通过使用否定逻辑运算符对候选帧内预测模式A执行运算而获得的值的帧内预测模式的第二MPM候选、指示50号帧内预测模式的第三MPM候选、指示18号帧内预测模式的第四MPM候选、指示46号帧内预测模式的第五MPM候选以及指示54号帧内预测模式的第六MPM候选。

此后,可以确定候选帧内预测模式B和候选帧内预测模式A是否相同。

在这种情况下,如果候选帧内预测模式B和候选帧内预测模式A相同,则可以确定候选帧内预测模式A是否大于1。当候选帧内预测模式A大于1时,可以如同第二MPM列表一样配置当前块的MPM列表。第二MPM列表可以被配置有指示候选帧内预测模式A的第一MPM候选、指示平面帧内预测模式的第二MPM候选、指示DC帧内预测模式的第三MPM候选、指示被导出为2+((candIntraPredModeA+62)%65)的帧内预测模式的第四MPM候选、指示被导出为2+((candIntraPredModeA-1)%65)的帧内预测模式的第五MPM候选以及指示被导出为2+((candIntraPredModeA+61)%65)的帧内预测模式的第六MPM候选。

否则,如果候选帧内预测模式B与候选帧内预测模式A不相同,则首先可以导出当前块的第一MPM候选和第二MPM候选。可以将第一MPM候选导出为候选帧内预测模式A,并且可以将第二MPM候选导出为候选帧内预测模式B。此外,可以设置biggerIdx。当第一MPM候选大于第二MPM候选时,可以将biggerIdx导出为0。当第一MPM候选不大于第二MPM候选时,可以将biggerIdx导出为1。

接下来,可以确定候选帧内预测模式A和候选帧内预测模式B是否大于1(即,可以确定候选帧内预测模式A的模式编号和候选帧内预测模式B的模式编号是否大于1)。在这种情况下,当候选帧内预测模式A和候选帧内预测模式B大于1时,可以导出当前块的第三MPM候选和第四MPM候选。可以将第三MPM候选导出为平面帧内预测模式,并且可以将第四MPM候选导出为DC帧内预测模式。

接下来,可以确定具有biggerIdx的值的MPM索引所指示的MPM候选与具有通过使用否定逻辑运算符对biggerIdx执行运算而获得的值(即,!biggerIdx)的MPM索引所指示的MPM候选之间的差(diff)是否不是64并且也不是1。

当该差不是64并且也不是1时,可以导出当前块的第五MPM候选和第六MPM候选。可以将第五MPM候选导出为被导出为2+((candModeList[biggerIdx]+62)%65)的帧内预测模式。可以将第六MPM候选导出为被导出为2+((candModeList[biggerIdx]–1)%65)的帧内预测模式。

否则,如果该差是64或1时,可以导出当前块的第五MPM候选和第六MPM候选。可以将第五MPM候选导出为被导出为2+((candModeList[biggerIdx]+61)%65)的帧内预测模式。可以将第六MPM候选导出为被导出为2+((candModeList[biggerIdx])%65)的帧内预测模式。

同时,当候选帧内预测模式A与候选帧内预测模式B之和大于或等于2时,可以导出当前块的第三MPM候选、第四MPM候选、第五MPM候选和第六MPM候选。可以使用否定逻辑运算符,将第三MPM候选导出为被导出为通过对由具有通过使用否定逻辑运算符对biggerIdx执行运算的值(即,!biggerIdx)的MPM索引所指示的MPM候选执行运算获得的值的帧内预测模式。可以将第四MPM候选导出为被导出为2+((candModeList[biggerIdx]+62)%65)的帧内预测模式。可以将第五MPM候选导出为被导出为2+((candModeList[biggerIdx]-1)%65)的帧内预测模式。可以将第六MPM候选导出为被导出为2+((candModeList[biggerIdx]+61)%65)的帧内预测模式。

在另一实施例中,可以使用与表11中提出的算法不同的方法,配置MPM列表。可以使用诸如表12的算法(即,spec)来配置MPM列表。

[表12]

/>

/>

参考表12,用于导出MPM列表的条件不同于表11的条件,以及基于每个条件导出的MPM候选也不同于表11的条件。在这种情况下,省略与表11的内容重复的内容的详细描述。

参考表12,可以基于当前块的相邻块A和B来导出候选帧内预测模式A和B。在这种情况下,可以基于候选帧内预测模式A和候选帧内预测模式B,根据是否满足预定条件来不同地配置MPM列表。

在一个实施例中,可以确定候选帧内预测模式A和候选帧内预测模式B是否相同。可以确定候选帧内预测模式A或候选帧内预测模式B是否具有比DC模式(即,No.1)更大的模式编号。当候选帧内预测模式A和候选帧内预测模式B不相同时,可以确定候选帧内预测模式A和候选帧内预测模式B是否均具有比DC模式更大的模式编号,或者它们中的任何一个是否具有比DC模式更大的模式编号。在这种情况下,当候选帧内预测模式A和候选帧内预测模式B两者均具有比DC模式更大的模式编号时,可以基于候选帧内预测模式A和候选帧内预测模式B之间的模式编号差(例如,两个候选的模式编号之间的差是否大于1且小于63)来确定候选帧内预测模式A和候选帧内预测模式B两者是否均具有比DC模式更大的模式编号。如表12所示,可以根据是否满足这样的条件来不同地确定在MPM列表内导出的MPM候选。

此外,参考表11和表12,使用候选帧内预测模式A和候选帧内预测模式B中的模算术,导出剩余MPM候选。在表11的实施例中使用65模算术,而在表12的实施例中使用64模算术。可以通过考虑预测性能和复杂度,根据算法来不同地应用模算术。例如,如果使用模算术,则可以通过考虑候选帧内预测模式A和/或候选帧内预测模式B的方向性,将具有相似方向性的模式导出为MPM候选,或者可以基于候选帧内预测模式A和/或候选帧内预测模式B的模式将其一致性未被保持的模式(例如,非定向模式)导出为MPM候选。因此,因为可以使用模算术来导出具有有意义的角度(即,方向)的MPM候选,所以可以提高帧内预测的性能并且可以提有效率。

例如,可以像表13一样应用使用64模算术对帧内预测模式进行加和减的运算。例如,如果将64模算术应用于表2至表8中所述的(帧内预测模式+1)、(帧内预测模式–1)、(帧内预测模式+2)和(帧内预测模式-2),可以像表13一样计算结果。

[表13]

如上所述,可以基于包括所导出的MPM候选的MPM列表来导出针用于当前块的帧内预测模式。可以通过基于所导出的帧内预测模式对当前块执行预测来生成预测样本。

在这种情况下,在导出当前块的帧内预测模式时,当MPM标志(例如,表11和表12中的intra_luma_mpm_flag)为1时,如上所述,可以将所导出的MPM候选当中的由MPM索引(例如,表11和表12中的intra_luma_mpm_idx)所指示的MPM候选导出为当前块的帧内预测模式。可替代地,当MPM标志(例如,表11和表12中的intra_luma_mpm_flag)为0时,如上所述,可以将指示除了所导出的MPM候选之外的剩余帧内预测模式中的一个的剩余模式(例如,表11和表12中的intra_luma_mpm_remainder)导出为当前块的帧内预测模式。

如上所述,可以将用于当前块的帧内预测模式信息编译并发信号告知为语法元素的值。在这种情况下,帧内预测模式信息是用于当前块的帧内预测所需的信息,并且可以包括上文提及的MPM标志、MPM索引、剩余模式等。在对帧内预测模式信息进行编译时,可以基于各个语法元素来应用各种二值化过程。

在这种情况下,二值化可以意指用于语法元素的所有可能值的一组bin串。此外,二值化过程可以意指将语法元素的所有可能值唯一地映射到一组bin串的过程。bin可以意指一数位的二进制值。例如,“0”或“1”可以被称为单个bin。bin串可以意指配置有bin的二进制序列,并且可以是连续二进制值,诸如“01”。

在一个实施例中,帧内预测模式信息的语法元素和相应二值化可以与表14相同。

[表14]

/>

参考表14,可以通过向“intra_luma_mpm_flag”语法元素应用固定长度(FL)二值化过程来对表示MPM标志的“intra_luma_mpm_flag”语法元素进行编码/解码。可以通过向“intra_luma_mpm_idx”语法元素应用截断莱斯(TR)二值化过程来对表示MPM索引的“intra_luma_mpm_idx”语法元素进行编码/解码。可以通过向“intra_luma_mpm_remainder”语法元素应用截断二进制(TB)二值化过程来对表示剩余模式的“intra_luma_mpm_remainder”语法元素进行编码/解码。

根据本文档的实施例,如上所述,可以扩展现有的35个帧内预测模式,因此可以使用67个帧内预测模式。在这种情况下,在对帧内预测模式信息进行编译时,表示剩余模式的语法元素可能需要6个比特。然而,可以根据编译方法(即,二值化方法)减少表示剩余模式的语法元素的比特数。即,如表12中,当对表示剩余模式的语法元素进行编译时,通过执行截断二进制(TB)二值化处理,可以减少比特数并且可以提高编译效率。

在一个实施例中,可以对表示剩余模式的语法元素执行诸如表15的截断二进制(TB)二值化过程。

[表15]

参考表15,当输入表示剩余模式的语法元素(intra_luma_mpm_remainder)时,可以基于截断二进制(TB)编译来输出语法元素(intra_luma_mpm_remainder)的TB二值化值。首先,可以确定语法元素(intra_luma_mpm_remainder)的可能值的范围。语法元素(intra_luma_mpm_remainder)的范围可以在0至cMax之间。cMax可以指示语法元素(intra_luma_mpm_remainder)的最大值,并且可以具有大于或等于1的值。可以基于表15算法来导出语法元素(intra_luma_mpm_remainder)的值的TB二值化值(TB bin串)。例如,在表14中,在表示剩余模式的语法元素(intra_luma_mpm_remainder)的情况下,cMax为60。因此,可以使用6比特来表示语法元素(intra_luma_mpm_remainder)。然而,如果基于诸如表15算法的TB编译,对表示剩余模式的语法元素(intra_luma_mpm_remainder)的值执行二值化编译,则可以基于语法元素(intra_luma_mpm_remainder)的值,使用小于6比特的比特数来执行二值化编译。例如,表示剩余模式的语法元素(intra_luma_mpm_remainder)可以被用于基于语法元素的值来可变地生成从1比特到5比特的比特,并且可以通过TB编译来编译。

图16是示意性地图示了根据本文档的实施例的可以由编码装置执行的编码方法的流程图。

可以通过图2中公开的编码装置200执行图16中公开的方法。具体地,可以由图2中公开的预测器220和帧内预测器222来执行图16中的步骤S1600至S1640。可以由图2中公开的熵编码器240来执行图16中的步骤S1650。此外,图16中公开的方法可以包括在本说明书中公开的实施例。因此,在图16中,省略了与上文提及的实施例重复的内容的详细描述,或者简要描述这些内容。

参考图16,编码装置可以基于位于当前块的左侧的第一相邻块来导出第一候选帧内预测模式(S1600)。

在这种情况下,与当前块相邻的相邻块可以包括图11中所示的相邻块A、相邻块B、相邻块C、相邻块D、相邻块E、相邻块F和/或相邻块G。在这种情况下,例如,第一相邻块是位于当前块的左侧的相邻块,并且可以是图11所示的相邻块D。即,相邻块D可以指示与当前块的左边界相邻的相邻块当中的位于最下侧的左相邻块。

在一个实施例中,如果第一相邻块可用并且帧内预测已经被应用于第一相邻块,则编码装置可以将第一相邻块的帧内预测模式导出为第一候选帧内预测模式。可替代地,如果第一相邻块不可用或者帧内预测没有被应用于第一相邻块,则编码装置可以将平面帧内预测模式导出为第一候选帧内预测模式。

编码装置可以基于位于当前块的上侧的第二相邻块来导出第二候选帧内预测模式(S1610)。

在这种情况下,例如,第二相邻块是位于当前块的上侧的相邻块,并且可以是图11中所示的相邻块B。即,相邻块B可以指示与当前块的上边界相邻的相邻块当中的位于最右侧的上侧相邻块。例如,如果当前块的大小是W×H,并且当前块的左上样本位置处的x分量和y分量是xN和yN,则第一相邻块可以是包括在(xN-1,H+yN-1)坐标处的样本的块,而第二相邻块可以是包括在(W+xN-1,yN-1)坐标处的样本的块。

在一个实施例中,如果第二相邻块可用、帧内预测被应用于第二相邻块、并且第二相邻块被包括在当前CTU中,则编码装置可以将第二相邻块的帧内预测模式导出为第二候选帧内预测模式。可替代地,如果第二相邻块不可用或者帧内预测没有被应用于第二相邻块或者第二相邻块不被包括在当前CTU中,则编码装置可以将平面帧内预测模式导出为第二候选帧内预测模式。

编码装置可以基于第一候选帧内预测模式和第二候选帧内预测模式来配置用于当前块的最可能模式(MPM)列表(S1620)。

即,编码装置可以导出包括第一候选帧内预测模式和第二候选帧内预测模式中的至少一个的MPM候选,并且可以基于MPM候选来配置MPM列表。在这种情况下,上文提及的各种实施例可以被应用于导出MPM候选和配置MPM列表的过程。上文已经参考图12至15以及表1至表13描述了该过程。根据上文提及的实施例,可以基于从第一相邻块导出的第一候选帧内预测模式和从第二相邻块导出的第二候选帧内预测模式,取决于是否满足预定条件,导出MPM候选以配置MPM列表。

在这种情况下,可以通过将模算术运算应用于第一候选帧内预测模式或第二候选帧内预测模式来导出MPM列表中包括的MPM候选中的至少一个。在这种情况下,在MPM列表的实施方式中,可以实现算法,使得可以通过考虑帧内预测模式的总数、帧内预测的方向、预测性能、复杂度等,配置具有有意义角度(即,方向)的MPM候选。根据实施例,如在表9或表13中,可以通过将64模算术运算或65模算术运算应用于第一候选帧内预测模式或第二候选帧内预测模式来导出MPM候选。

在一个实施例中,可以基于通过将61、60、0或-1与第一候选帧内预测模式的模式索引(模式编号)和第二候选帧内预测模式的模式索引(模式编号)中的较大模式索引相加来计算第一值、通过将64模算术运算应用于第一值来计算第二值并且对第二值加2计算出的结果,导出MPM候选之一的帧内预测模式。

例如,在导出MPM候选时,如果第一候选帧内预测模式和第二候选帧内预测模式是相同的帧内预测模式,则编码装置可以通过确定第一候选帧内预测模式的模式索引是否具有比DC帧内预测模式更大的模式索引来导出MPM候选。在这种情况下,如果第一候选帧内预测模式具有比DC帧内预测模式更大的模式索引,则MPM候选可以包括:基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引+61)并且加2计算出的结果导出的帧内预测模式、基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引-1)并且加2计算出的结果导出的帧内预测模式、以及基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引+60)并且加2获得的结果导出的帧内预测模式。

可替代地,例如,在导出MPM候选时,如果第一候选帧内预测模式和第二候选帧内预测模式不是相同的帧内预测模式,则编码装置可以通过确定第一候选帧内预测模式和第二候选帧内预测模式中的任何一个是否具有比DC帧内预测模式更大的模式索引来导出MPM候选。在这种情况下,当第一候选帧内预测模式和第二候选帧内预测模式中的任何一个具有比DC帧内预测模式更大的模式索引时,MPM候选可以包括:基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引和第二候选帧内预测模式的模式索引中的较大模式索引+61)并且加2获得的结果而导出的帧内预测模式、基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引和第二候选帧内预测模式的模式索引中的较大模式索引-1)并且加2获得的结果而导出的帧内预测模式以及基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引和第二候选帧内预测模式的模式索引中的较大模式索引+60)并且加2获得的结果而导出的帧内预测模式。

可替代地,例如,在导出MPM候选时,如果第一候选帧内预测模式和第二候选帧内预测模式不是相同的帧内预测模式,则编码装置可以通过确定第一候选帧内预测模式和第二候选帧内预测模式中的每一个是否具有比DC帧内预测模式更大的模式索引来导出MPM候选。在这种情况下,当第一候选帧内预测模式和第二候选帧内预测模式中的每一个具有比DC帧内预测模式更大的模式索引时,MPM候选可以基于第一候选帧内预测模式的模式索引和第二候选帧内预测模式的模式索引之间的差,包括:基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引和第二候选帧内预测模式的模式索引中的较大模式索引+61)并加2获得的结果导出的帧内预测模式或者基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引和第二候选帧内预测模式的模式索引中的较大模式索引-1)并加2获得的结果导出的帧内预测模式。

例如,如果第一候选帧内预测模式和第二候选帧内预测模式中的每一个具有比DC帧内预测模式更大的模式索引并且第一模式索引和第二模式索引之间的差是62,则MPM候选可以包括基于通过将64模算术运算应用于(第一模式索引+61)并加2所获得的结果而导出的帧内预测模式。

对于另一示例,如果第一候选帧内预测模式和第二候选帧内预测模式中的每一个具有比DC帧内预测模式更大的模式索引并且第一模式索引和第二模式索引之间的差是2,则MPM候选可以包括基于通过将64模算术运算应用于(第一模式索引-1)并加2所获得的结果而导出的帧内预测模式。

在这种情况下,第一模式索引可以指示第一候选帧内预测模式和第二候选帧内预测模式当中的较大模式索引。第二模式索引可以指示第一候选帧内预测模式和第二候选帧内预测模式当中的较小模式索引。

编码装置可以在MPM列表中包括如上所述导出的MPM候选。在这种情况下,每个MPM候选可以在列表内被顺序地索引,并且可以被指示为MPM列表的索引值。即,编码装置可以通过发信号告知索引值来指示MPM列表内的MPM候选中的任何一个。

编码装置可以确定当前块的帧内预测模式(S1630)。

在一个实施例中,编码装置可以通过对当前块执行各种帧内预测模式来导出具有最优速率失真(RD)成本的帧内预测模式,并且可以将该帧内预测模式确定为当前块的帧内预测模式。在这种情况下,编码装置可以基于包括2个非定向帧内预测模式和65个定向帧内预测模式的帧内预测模式来导出当前块的最佳帧内预测模式。67个帧内预测模式与上文参考图10描述的帧内预测模式相同。

此外,编码装置可以生成与当前块的帧内预测模式相关的信息。与帧内预测模式相关的信息是用于指示当前块的帧内预测模式的信息,并且可以包括MPM标志信息、MPM索引信息、剩余模式信息等。

在一个实施例中,编码装置可以确定所确定的当前块的帧内预测模式是否被包括在MPM列表内的MPM候选中,并且可以基于确定结果来生成MPM标志信息。例如,如果当前块的帧内预测模式被包括在MPM列表内的MPM候选中,则编码装置可以将MPM标志信息设置为1。可替代地,如果当前块的帧内预测模式未被包括在MPM列表内的MPM候选中,则编码装置可以将MPM标志信息设置为0。

此外,如果当前块的帧内预测模式被包括在MPM列表内的MPM候选中,则编码装置可以生成用于指示MPM候选当中的当前块的帧内预测模式的MPM索引信息。例如,如果MPM列表被配置有k个(例如6个)MPM候选,则MPM索引信息可以指示0~k-1(例如0~5)个索引值当中的与当前块的帧内预测模式相对应的索引值。

如果当前块的帧内预测模式未被包括在MPM列表内的MPM候选中,则编码装置可以生成用于指示在除了MPM候选之外的剩余帧内预测模式当中的当前块的帧内预测模式的剩余模式信息。例如,如上所述,如果使用67个帧内预测模式并且MPM列表被配置为包括k(例如6)个MPM候选,则剩余帧内预测模式可以包括通过从帧内预测模式的总数中减去MPM候选的数量而获得的67-k(例如61)个模式。因此,剩余模式信息可以指示0至67-k-1(例如0~60)个索引值当中的与当前块的帧内预测模式相对应的索引值。

编码装置可以通过基于所确定的当前块的帧内预测模式执行帧内预测来生成用于当前块的预测样本(S1640)。

在一个实施例中,编码装置可以基于帧内预测模式来导出当前块的相邻样本中的至少一个,并且可以基于相邻样本来生成预测样本。在这种情况下,相邻样本可以包括当前块的左上角相邻样本、上侧相邻样本和左侧相邻样本。例如,如果当前块的大小为W×H并且当前块的左上样本位置处的x分量和y分量为xN和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]。

编码装置可以对包括与当前块的帧内预测模式相关的信息的图像信息进行编码(S1650)。

即,编码装置可以生成与帧内预测模式相关的信息(包括上文提及的MPM标志信息、MPM索引信息和剩余模式信息中的至少一个),并且可以对与帧内预测模式相关的信息进行编码。

此外,尽管未示出,但是编码装置可以基于用于当前块的原始样本和预测样本来导出用于当前块的残差样本,并且可以基于残差样本来生成与当前块的残差相关的信息。此外,编码装置可以对包括与残差相关的信息的图像信息进行编码,并且可以以比特流形式输出图像信息。

可以通过网络或者通过(数字)存储介质,将比特流传送到解码装置。在这种情况下,网络可以包括广播网络和/或通信网络。数字存储介质可以包括各种存储介质(诸如USB、SD、CD、DVD、蓝光、HDD和SSD)。

可以通过图2中公开的编码装置200的减法器231来执行导出用于当前块的残差样本的过程。可以通过图2中公开的编码装置200的变换器232来执行生成与残差相关的信息的过程。可以通过图2中公开的编码装置200的熵编码器240来执行对包括与残差相关的信息的图像信息进行编码的过程。

图17是示意性地图示了根据本文档的实施例的可以由解码装置执行的解码方法的流程图。

可以由图3中公开的解码装置300执行图17中公开的方法。具体地,可以由图3中公开的预测器330和帧内预测器331执行图17中的步骤S1700至S1740。可以由图3中公开的加法器340执行图17中的步骤S1750。此外,在图17中,可以由图3中公开的熵解码器310执行步骤S1730。此外,图17中公开的方法可以包括在本说明书中描述的实施例。因此,在图17中,省略了与上文提及的实施例重复的内容的详细描述,或者简要描述这些内容。

参考图17,解码装置可以基于位于当前块的左侧的第一相邻块,导出第一候选帧内预测模式(S1700)。

在这种情况下,与当前块相邻放置的相邻块可以包括图11中所示的相邻块A、相邻块B、相邻块C、相邻块D、相邻块E、相邻块F和/或相邻块G。在这种情况下,例如,第一相邻块是位于当前块的左侧的相邻块,并且可以是图11所示的相邻块D。即,相邻块D可以指示与当前块的左边界相邻的左相邻块当中的位于最下侧的左相邻块。

在一个实施例中,如果第一相邻块可用并且帧内预测已经被应用于第一相邻块,则解码装置可以将第一相邻块的帧内预测模式导出为第一候选帧内预测模式。可替代地,如果第一相邻块不可用或者帧内预测没有被应用于第一相邻块,则解码装置可以将平面帧内预测模式导出为第一候选帧内预测模式。

解码装置可以基于位于当前块的上侧的第二相邻块来导出第二候选帧内预测模式(S1710)。

在这种情况下,例如,第二相邻块是位于当前块的上侧的相邻块,并且可以是图11所示的相邻块B。即,相邻块B可以指示与当前块的上边界相邻的相邻块中的位于最右侧的上侧相邻块。例如,如果当前块的大小是W×H,并且当前块的左上样本位置处的x分量和y分量是xN和yN,则第一相邻块可以是包括在(xN-1,H+yN-1)坐标处的样本的块,而第二相邻块可以是包括在(W+xN-1,yN-1)坐标处的样本的块。

在一个实施例中,如果第二相邻块可用、帧内预测被应用于第二相邻块、并且第二相邻块被包括在当前CTU中,则解码装置可以将第二相邻块的帧内预测模式导出为第二候选帧内预测模式。可替代地,如果第二相邻块不可用或者帧内预测没有被应用于第二相邻块或者第二相邻块未被包括在当前CTU中,则解码装置可以将平面帧内预测模式导出为第二候选帧内预测模式。

解码装置可以基于第一候选帧内预测模式和第二候选帧内预测模式,配置用于当前块的最可能模式(MPM)列表(S1720)。

即,解码装置可以导出包括第一候选帧内预测模式和第二候选帧内预测模式中的至少一个的MPM候选,并且可以基于MPM候选来配置MPM列表。在这种情况下,上文提及的各种实施例可以被应用于通过导出MPM候选来配置MPM列表的过程。上文已经参考图12至15以及表1至表13对此进行了描述。根据上文提及的实施例,MPM列表可以通过根据基于从第一相邻块导出的第一候选帧内预测模式和从第二相邻块导出的第二候选帧内预测模式是否满足预定条件来导出MPM候选而被配置。

在这种情况下,可以通过将模算术运算应用于第一候选帧内预测模式或第二候选帧内预测模式来导出MPM列表中包括的MPM候选中的至少一个。在这种情况下,在MPM列表的实施方式中,可以实现算法,使得通过考虑帧内预测模式的总数、帧内预测的方向、预测性能、复杂度等,配置具有有意义角度(即,方向)的MPM候选。在一些实施例中,如在表9或表13中,可以通过将64模算术运算或65模算术运算应用于第一候选帧内预测模式或第二候选帧内预测模式来导出MPM候选。

在一个实施例中,可以基于通过将61、60、0或-1与第一候选帧内预测模式的模式索引(模式编号)和第二候选帧内预测模式的模式索引(模式编号)中的较大模式索引相加来计算第一值、通过将64模算术运算应用于第一值来计算第二值并且对第二值加2计算出的结果,导出MPM候选之一的帧内预测模式。

例如,在导出MPM候选时,如果第一候选帧内预测模式和第二候选帧内预测模式是相同的帧内预测模式,则解码装置可以通过确定第一候选帧内预测模式的模式索引是否具有比DC帧内预测模式更大的模式索引来导出MPM候选。在这种情况下,如果第一候选帧内预测模式具有比DC帧内预测模式更大的模式索引,则MPM候选可以包括:基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引+61)并且加2计算出的结果导出的帧内预测模式、基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引-1)并且加2计算出的结果导出的帧内预测模式、以及基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引+60)并且加2获得的结果导出的帧内预测模式。

可替代地,例如,在导出MPM候选时,如果第一候选帧内预测模式和第二候选帧内预测模式不是相同的帧内预测模式,则解码装置可以通过确定第一候选帧内预测模式和第二候选帧内预测模式中的任何一个是否具有比DC帧内预测模式更大的模式索引来导出MPM候选。在这种情况下,当第一候选帧内预测模式和第二候选帧内预测模式中的任何一个具有比DC帧内预测模式更大的模式索引时,MPM候选可以包括:基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引和第二候选帧内预测模式的模式索引中的较大模式索引+61)并且加2获得的结果而导出的帧内预测模式、基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引和第二候选帧内预测模式的模式索引中的较大模式索引-1)并且加2获得的结果而导出的帧内预测模式以及基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引和第二候选帧内预测模式的模式索引中的较大模式索引+60)并且加2获得的结果而导出的帧内预测模式。

可替代地,例如,在导出MPM候选时,如果第一候选帧内预测模式和第二候选帧内预测模式不是相同的帧内预测模式,则解码装置可以通过确定第一候选帧内预测模式和第二候选帧内预测模式中的每一个是否具有比DC帧内预测模式更大的模式索引来导出MPM候选。在这种情况下,当第一候选帧内预测模式和第二候选帧内预测模式中的每一个具有比DC帧内预测模式更大的模式索引时,MPM候选可以基于第一候选帧内预测模式的模式索引和第二候选帧内预测模式的模式索引之间的差,包括:基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引和第二候选帧内预测模式的模式索引中的较大模式索引+61)并加2获得的结果导出的帧内预测模式或者基于通过将64模算术运算应用于(第一候选帧内预测模式的模式索引和第二候选帧内预测模式的模式索引中的较大模式索引-1)并加2获得的结果导出的帧内预测模式。

例如,如果第一候选帧内预测模式和第二候选帧内预测模式中的每一个具有比DC帧内预测模式更大的模式索引并且第一模式索引和第二模式索引之间的差是62,则MPM候选可以包括基于通过将64模算术运算应用于(第一模式索引+61)并加2所获得的结果而导出的帧内预测模式。

对于另一示例,如果第一候选帧内预测模式和第二候选帧内预测模式中的每一个具有比DC帧内预测模式更大的模式索引并且第一模式索引和第二模式索引之间的差是2,则MPM候选可以包括基于通过将64模算术运算应用于(第一模式索引-1)并加2所获得的结果而导出的帧内预测模式。

在这种情况下,第一模式索引可以指示第一候选帧内预测模式和第二候选帧内预测模式当中的较大模式索引。第二模式索引可以指示第一候选帧内预测模式和第二候选帧内预测模式当中的较小模式索引。

解码装置可以在MPM列表中包括如上所述导出的MPM候选。在这种情况下,MPM候选的每一个可以在列表内被顺序地索引,并且可以被指示为MPM列表的索引值。即,解码装置可以基于由编码装置发信号告知的索引值来确定指示了MPM列表内的MPM候选中的哪一个。

解码装置可以基于MPM列表来导出当前块的帧内预测模式(S1730)。

在一个实施例中,解码装置可以从比特流获得与当前块的帧内预测模式相关的信息。与帧内预测模式相关的信息是用于指示当前块的帧内预测模式的信息,并且可以包括MPM标志信息、MPM索引信息、剩余模式信息等。

首先,解码装置可以获得指示当前块的帧内预测模式是否被包括在MPM列表内的MPM候选中的MPM标志信息。此外,解码装置可以基于MPM标志信息获得MPM索引信息或剩余模式信息。

例如,当MPM标志信息指示1时,解码装置可以确定当前块的帧内预测模式被包括在MPM列表内的MPM候选中。在这种情况下,解码装置可以获得用于指示MPM候选当中的当前块的帧内预测模式的MPM索引信息。解码装置可以将由MPM索引信息在MPM列表内所指示的MPM候选导出为当前块的帧内预测模式。

当MPM标志信息指示0时,解码装置可以确定当前块的帧内预测模式未被包括在MPM列表内的MPM候选中。在这种情况下,解码装置可以获得用于指示在除了MPM候选之外的剩余帧内预测模式中的当前块的帧内预测模式的剩余模式信息。解码装置可以将由剩余模式信息所指示的帧内预测模式导出为当前块的帧内预测模式。

解码装置可以通过基于所导出的帧内预测模式对当前块执行帧内预测来生成用于当前块的预测样本(S1740)。

在一个实施例中,解码装置可以基于帧内预测模式来导出当前块的相邻样本中的至少一个,并且可以基于相邻样本来生成预测样本。在这种情况下,相邻样本可以包括当前块的左上角相邻样本、上侧相邻样本和左侧相邻样本。例如,如果当前块的大小为W×H并且当前块的左上样本位置处的x分量和y分量为xN和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]。

解码装置可以基于预测样本来生成用于当前块的重构图片(S1750)。

在一个实施例中,解码装置可以基于预测模式,将预测样本直接用作重构样本,或者可以通过将残差样本与预测样本相加来生成重构样本。

如果存在用于当前块的残差样本,则解码装置可以接收与用于当前块的残差相关的信息。与残差相关的信息可以包括与残差样本相关的变换系数。解码装置可以基于残差信息来导出用于当前块的残差样本(或残差样本阵列)。解码装置可以基于预测样本和残差样本来生成重构样本,并且可以基于重构样本来导出重构块或重构图片。此后,如上所述,解码装置可以向重构图片应用诸如去块滤波和/或SAO过程的环路内滤波过程,以便提高主观/客观图片质量。

在上文提及的实施例中,虽然已经基于以一系列步骤或单元的形式的流程图描述了这些方法,但是本文档的实施例不限于这些步骤的顺序,并且这些步骤中的一些可以以与其它步骤的顺序不同的顺序执行或者可以与其它步骤同时执行。此外,本领域技术人员将理解到,流程图中所示的步骤不是排他性的,并且在不影响本文档的权利范围的情况下,这些步骤可以包括其他步骤或者可以删除流程图中的一个或多个步骤。

根据本文档的上文提及的方法可以用软件形式实现,并且根据本文档的编码装置和/或解码装置可以被包括在用于执行图像处理的设备(例如TV、计算机、智能电话、机顶盒或显示设备)中。

在本文档中,当以软件形式实现实施例时,上文提及的方法可以被实现为用于执行上文提及的功能的模块(过程、函数等)。模块可以被存储在存储器中并且由处理器来执行。存储器可以被布置在处理器的内部或外部,并且通过各种公知手段连接到处理器。处理器可以包括专用集成电路(ASIC)、其它芯片组、逻辑电路和/或数据处理设备。存储器可以包括只读存储器(ROM)、随机存取存储器(RAM)、闪存、存储卡、存储介质和/或其它存储设备。即,本文档中所述的实施例可以在处理器、微处理器、控制器或芯片上实现并执行。例如,附图中所示的功能单元可以在计算机、处理器、微处理器、控制器或芯片上实现并执行。在这种情况下,用于这些实施方式的信息(例如,关于指令的信息)或算法可以被存储在数字存储介质中。

此外,应用本文档的解码装置和编码装置可以被包括在多媒体广播传送和接收装置、移动通信终端、家庭影院视频设备、数字影院视频设备、监视相机、视频聊天设备、诸如视频通信的实时通信设备、移动流设备、存储介质、摄像机、视频点播(VoD)服务提供设备、过顶(OTT)视频设备、互联网流服务提供设备、三维(3D)视频设备、虚拟现实(VR)设备、增强现实(AR)设备、视频电话设备、运输工具终端(例如,车辆(包括自主车辆)终端、飞机终端和轮船终端)和医疗视频设备中,并且可以被用于处理视频信号或数据信号。例如,过顶(OTT)视频设备可以包括游戏控制台、蓝光播放器、互联网接入TV、家庭影院系统、智能电话、平板PC和数字录像机(DVR)。

此外,应用本文档的处理方法可以以由计算机执行的程序的形式产生,并且可以被存储在计算机可读记录介质中。根据本文档的具有数据结构的多媒体数据也可以被存储在计算机可读记录介质中。计算机可读记录介质包括存储有计算机可读数据的所有种类的存储设备。计算机可读记录介质可以包括例如蓝光盘(BD)、通用串行总线(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁带、软盘和光学数据存储设备。此外,计算机可读记录介质包括以(例如,通过互联网进行传输的)载波的形式实现的介质。此外,使用编码方法生成的比特流可以被存储在计算机可读记录介质中,或者可以通过有线和无线通信网络传输。

此外,本文档的实施例可以使用程序代码被实现为计算机程序产品。可以根据本文档的实施例,由计算机执行程序代码。程序代码可以被存储在可由计算机读取的载波上。

图18图示了可以应用本文档中公开的实施例的内容流系统的示例。

参考图18,应用本文档的实施例的内容流系统可以主要包括编码服务器、流服务器、Web服务器、媒体存储设备、用户设备和多媒体输入设备。

编码服务器将从诸如智能电话、相机、摄像机等的多媒体输入设备输入的内容压缩成数字数据以生成比特流,并且将该比特流传输到流传输服务器。作为另一示例,当诸如智能电话、相机、摄像机等的多媒体输入设备直接生成比特流时,可以省略编码服务器。

可以通过应用本文档的实施例的编码方法或比特流生成方法来生成比特流,并且流服务器可以在传送或接收比特流的过程中临时存储该比特流。

流服务器基于用户的请求,通过Web服务器将多媒体数据传送到用户设备,并且Web服务器用作将服务告知用户的介质。当用户向Web服务器请求所期望的服务时,Web服务器将其传送到流服务器,并且流服务器将多媒体数据传送给用户。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统中的设备之间的命令/响应。

流服务器可以从媒体存储设备和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时地接收内容。在这种情况下,为了提供平滑的流服务,流服务器可以存储比特流达预定时间。

用户设备的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航仪、板式PC、平板PC、超级本、可穿戴设备(例如,智能手表、智能眼镜、头戴式显示器)、数字TV、台式计算机、数字标牌等。

内容流系统中的各个服务器可以被操作为分布式服务器,在这种情况下,可以分发从每个服务器接收的数据。

相关技术
  • 基于流水线架构的深度图像帧内预测的编码电路及其编码方法
  • 使用MPM列表的基于帧内预测的图像编译方法及其设备
  • 使用统一MPM列表的基于帧内预测的图像编译方法和设备
技术分类

06120116502136