基于亮度映射与色度缩放的视频或图像编译

文档序号:12618 发布日期:2021-09-17 浏览:19次 >En<

阅读说明:本技术 基于亮度映射与色度缩放的视频或图像编译 (Video or image coding based on luminance mapping and chrominance scaling ) 是由 赵杰 金昇焕 于 2020-06-17 设计创作,主要内容包括:根据本文件的公开,可以简化亮度映射与色度缩放(LMCS)过程,并且可以应用线性LMCS。因此,可以降低LMCS的复杂度并且可以提高视频/图像编译效率。(According to the disclosure of this document, the Luma Mapping and Chroma Scaling (LMCS) process may be simplified and a linear LMCS may be applied. Accordingly, the complexity of the LMCS may be reduced and video/image coding efficiency may be improved.)

基于亮度映射与色度缩放的视频或图像编译

技术领域

本文件涉及基于亮度映射与色度缩放的视频或图像编译。

背景技术

最近,在各种领域中对诸如4K或8K超高清(UHD)图像/视频的高分辨率、高质量图像/视频的需求不断增加。随着图像/视频分辨率或质量变得更高,与传统图像/视频数据相比发送相对更多的信息或比特。因此,如果图像/视频数据经由诸如现有有线/无线宽带线路的介质发送或被存储在传统存储介质中,则传输和存储的成本容易增加。

此外,对虚拟现实(VR)和人工现实(AR)内容以及诸如全息图的沉浸式媒体的兴趣和需求日益增长;并且表现出与实际图像/视频不同的图像/视频特性的图像/视频(例如,游戏图像/视频)的广播也日益增长。

因此,需要高度高效的图像/视频压缩技术来有效地压缩并发送、存储或播放如上所述显示出各种特性的高分辨率、高质量图像/视频。

此外,执行亮度映射与色度缩放(LMCS)过程以提高压缩效率并且增加主/客观视觉质量,以及存在关于降低LMCS过程中的计算复杂度的讨论。

发明内容

技术方案

根据本文件的实施例,提供了一种提高图像编译效率的方法和装置。

根据本文件的实施例,提供了高效的滤波应用方法和装置。

根据本文件的实施例,提供了高效的LMCS应用方法和装置。

根据本文件的实施例,可以约束LMCS码字(或其范围)。

根据本文件的实施例,可以使用在LMCS的色度缩放中直接发信号告知的单个色度残差缩放因子。

根据本文件的实施例,可以使用线性映射(线性LMCS)。

根据本文件的实施例,可以明确地发信号告知关于线性映射所需的轴心点的信息。

根据本文件的实施例,灵活数量的bin(二进制位)可以用于亮度映射。

根据本文件的实施例,可以简化用于导出用于亮度样本的逆映射索引的过程。

根据本文件的实施例,提供了一种由解码装置执行的视频/图像解码方法。

根据本文件的实施例,提供了一种用于执行视频/图像解码的解码装置。

根据本文件的实施例,提供了一种由编码装置执行的视频/图像编码方法。

根据本文件的实施例,提供了一种用于执行视频/图像编码的编码装置。

根据本文件的一个实施例,提供了一种计算机可读数字存储介质,其中存储根据在本文件的至少一个实施例中公开的视频/图像编码方法生成的编码视频/图像信息。

根据本文件的实施例,提供了一种计算机可读数字存储介质,其中存储使得由解码装置执行在本文件的至少一个实施例中公开的视频/图像解码方法的编码信息或编码视频/图像信息。

有益效果

根据本文件的实施例,可以提高整体图像/视频压缩效率。

根据本文件的实施例,可以通过有效滤波来提高主/客观视觉质量。

根据本文件的实施例,可以有效地执行用于图像/视频编译的LMCS过程。

根据本文件的实施例,可以最小化用于LMCS过程所需的(软件或硬件的)资源/成本。

根据本文件的实施例,可以促进用于LMCS过程的硬件实现。

根据本文件的实施例,可以通过约束LMCS码字(或其范围),去除或最小化在映射(整形)中对于LMCS码字的导出所需的除法运算。

根据本文件的实施例,可以通过使用单个色度残差缩放因子来去除根据分段索引识别的延迟。

根据本文件的实施例,通过使用LMCS中的线性映射,可以在不依赖亮度块(的重构)的情况下,执行色度残差缩放过程,从而可以去除缩放中的延迟。

根据本文件的实施例,可以提高LMCS中的映射效率。

根据本文件的实施例,可以通过简化用于导出用于亮度样本的逆映射或色度残差缩放的逆映射索引或逆缩放索引的过程,降低LMCS的复杂度,从而可以提高视频/图像编译效率。

附图说明

图1图示了可以应用本文件的实施例的视频/图像编译系统的示例。

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

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

图4示出了基于帧间预测的视频/图像编码方法的示例。

图5示出了基于帧间预测的视频/图像解码方法的示例。

图6示例性地示出了帧间预测过程。

图7示例性地示出了编译图像/视频的层级结构。

图8示例性地图示根据本文件的实施例的CVS的层级结构。

图9图示了根据本文件的实施例的示例性LMCS结构。

图10图示了根据本文件的另一实施例的LMCS结构。

图11示出了表示示例性前向映射的图。

图12是图示根据本文件的实施例的用于导出色度残差缩放索引的方法的流程图。

图13图示了根据本文件的实施例的轴心点的线性拟合。

图14图示了根据本文件的实施例的线性整形器的一个示例。

图15示出了本文件的实施例中的线性前向映射的示例。

图16示出了本文件的实施例中的逆前向映射的示例。

图17和图18示意性地示出了根据本文件的实施例的视频/图像编码方法和相关组件的示例。

图19和图20示意性地示出了根据本文件的实施例的图像/视频解码方法和相关组件的示例。

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

具体实施方式

本文件可按各种形式修改,将描述并且在附图中示出其特定实施方式。然而,这些实施方式并非旨在限制本文件。以下描述中使用的术语仅用于描述特定实施方式,而非旨在限制本文件。单数表达包括复数表达,除非可清楚地不同地理解。诸如“包括”和“具有”的术语旨在指示存在以下描述中使用的特征、数量、步骤、操作、元件、组件或其组合,因此应该理解,不排除存在或添加一个或多个不同的特征、数量、步骤、操作、元件、组件或其组合的可能性。

同时,为了方便描述关于不同特性功能,独立地示出在本文件中描述的附图中的各个配置,并不意味着将每个配置实现为单独的硬件或单独的软件。例如,各种组件中的两个或更多个组件可以被组合以形成一个组件,或者一个组件可以被划分成多个组件。集成和/或分离每个组件的实施例也包括在本文件的公开的范围中。

在下文中,将参考附图详细描述本实施例的示例。此外,贯穿附图使用相同的附图标记来指示相同的元件,并且将省略对相同元件的相同描述。

图1图示了可以应用本文件的实施例的视频/图像编译系统的示例。

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

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

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

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

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

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

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

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

本文件建议了视频/图像编译的各种实施例,并且除非另外提及,否则实施例可以彼此组合执行。

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

同时,一个图片可以被分成两个或更多子图片。子图片可以是图片内的一个或多个切片的矩形区域。

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

单元可以表示图像处理的基本单位。单元可以包括图片的特定区域和与该区域有关的信息中的至少一个。一个单元可以包括一个亮度块和两个色度(例如,cb、cr)块。在一些情况下,单元可以与诸如块或区域的术语互换使用。在一般情况下,M×N块可以包括M列和N行的样本(或样本阵列)或变换系数的集合(或阵列)。可替代地,样本可以是指空间域中的像素值,以及当这样的像素值被变换到频域时,可以是指频域中的变换系数。

在本文件中,“A或B”可以是指“仅A”、“仅B”或“A和B”。换句话说,本文件中的“A或B”可以被解释为“A和/或B”。例如,在本文件中,“A、B或C(A、B或C)”是指“仅A”、“仅B”、“仅C”或“A、B和C的任意组合”。

本文件中使用的斜线(/)或逗号(逗号)可以是指“和/或”。例如,“A/B”可以是指“A和/或B”。因此,“A/B”可以是指“仅A”、“仅B”或“A和B”。例如,“A,B,C”可以是指“A、B或C”。

在本文件中,“A和B中的至少一个”可以是指“仅A”、“仅B”或“A和B”。此外,在本文件中,表述“A或B中的至少一个”或“A和/或B中的至少一个”可以被解释为“A和B中的至少一个”。

此外,在本文件中,“A、B和C中的至少一个”是指“仅A”、“仅B”、“仅C”或“A、B和C的任意组合”。此外,“A、B或C中的至少一个”或“A、B和/或C中的至少一个”可以是指“A、B和C中的至少一个”。

此外,本文件中使用的括号可以是指“例如”。具体地,当指示“预测(帧内预测)”时,“帧内预测”可以被提出作为“预测”的示例。换言之,本文件中的“预测”不限于“帧内预测”,以及“帧内预测”可以被提出作为“预测”的示例。此外,即使当指示“预测(即,帧内预测)”时,“帧内预测”也可以被提出作为“预测”的示例。

可以单独或同时实现本文件的一个附图中单独描述的技术特征。

图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)。在这种情况下,编译单元可根据四叉树二叉树三叉树(QTBTTT)结构从编译树单元(CTU)或最大编译单元(LCU)递归地分割。例如,一个编译单元可基于四叉树结构、二叉树结构和/或三元结构被分割成深度更深的多个编译单元。在这种情况下,例如,可首先应用四叉树结构,稍后可应用二叉树结构和/或三元结构。另选地,可首先应用二叉树结构。可基于不再分割的最终编译单元来执行根据本公开的编译过程。在这种情况下,根据图像特性基于编译效率,最大编译单元可用作最终编译单元,或者如果需要,编译单元可被递归地分割成深度更深的编译单元并且具有最优大小的编译单元可用作最终编译单元。这里,编译过程可包括预测、变换和重构的过程(将稍后描述)。作为另一示例,处理器还可包括预测单元(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)预测模式或调色板模式来预测块。IBC预测模式或调色板模式可用于游戏等的内容图像/视频编译,例如屏幕内容编译(SCC)。IBC基本上在当前图片中执行预测,但是可与帧间预测相似地执行,使得在当前图片中导出参考块。即,IBC可使用本文件中描述的至少一个帧间预测技术。调色板模式可被视为帧内编译或帧内预测的示例。当应用调色板模式时,可基于关于调色板表和调色板索引的信息发信号告知图片内的样本值。

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

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

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

此外,可在图片编码和/或重构期间应用与色度缩放的亮度映射(LMCS)。

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

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

存储器270DPB的DPB可存储用作帧间预测器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可使用应用于相邻块的预测模式来确定应用于当前块的预测模式。帧内预测器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相同或分别与之对应应用。这也可适用于单元332和帧内预测器331。

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

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

在本文件中,可以省略量化/解量化和/或变换/逆变换中的至少一个。当省略量化/解量化时,量化的变换系数可以被称为变换系数。当省略变换/逆变换时,变换系数可以称为系数或残差系数,或者为了表达统一,仍可以称为变换系数。

在本文件中,量化变换系数和变换系数可以分别被称为变换系数和缩放变换系数。在这种情况下,残差信息可以包括关于变换系数的信息,并且可以通过残差编译语法发信号告知关于变换系数的信息。可以基于残差信息(或关于变换系数的信息)导出变换系数,并且可以通过对变换系数进行逆变换(缩放)来导出缩放变换系数。可以基于缩放变换系数的逆变换(变换)来导出残差样本。这也可以在本文件的其他部分中应用/表达。

帧内预测可以是指基于当前块所属的图片(在下文中,称为当前图片)中的参考样本,为当前块生成预测样本的预测。当将帧内预测应用于当前块时,可以导出要用于当前块的帧内预测的相邻参考样本。当前块的相邻参考样本可以包括与具有nWxnH大小的当前块的左边界相邻的样本和与左下相邻的总共2xnH个样本、与当前块的上边界相邻的样本以及与右上相邻的总共2xnW个样本,以及与当前块的左上相邻的一个样本。可替代地,当前块的相邻参考样本可以包括多个上相邻样本和多个左相邻样本。此外,当前块的相邻参考样本可以包括与大小为nWxnH的当前块的右边界相邻的总共nH个样本、与当前块的下边界相邻的总共nW个样本,以及与当前块的右下相邻的一个样本。

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

当导出相邻参考样本时,(i)可以基于当前块的相邻参考样本的平均或插值来导出预测样本,以及(ii)可以基于当前块的外围参考样本中的存在于用于预测样本的特定(预测)方向中的参考样本来导出预测样本。情况(i)可以被称为非定向模式或非角度模式,并且情况(ii)可以被称为定向模式或角度模式。

进一步地,还可以基于相邻参考样本中的当前块的预测样本,通过在位于与当前块的帧内预测模式的预测方向中的第一相邻样本与位于该预测方向的相反的方向中的第二相邻样本之间插值,可以生成预测样本。上述情况可以被称为线性插值帧内预测(LIP)。此外,可以使用线性模型,基于亮度样本生成色度预测样本。这种情况可以被称为LM模式。

此外,可以基于滤波的相邻参考样本导出当前块的临时预测样本,以及可以对现有的相邻参考样本(即未滤波的相邻参考样本)中的根据帧内预测模式导出的至少一个参考样本与临时预测样本进行加权求和来导出当前块的预测样本。上述情况可以被称为位置相关帧内预测(PDPC)。

另外,可以选择当前块的相邻多参考样本线中的预测准确度最高的参考样本线,以通过使用位于相应线上的预测方向中的参考样本来导出预测样本,然后,本文使用的参考样本线可以被指示(发信号告知)给解码装置,从而执行帧内预测编码。上述情况可以被称为多参考线(MRL)帧内预测或基于MRL的帧内预测。

另外,可以基于相同的帧内预测模式,通过将当前块划分为垂直或水平子分区来执行帧内预测,并且可以以子分区为单位导出和使用相邻参考样本。也就是说,在这种情况下,当前块的帧内预测模式同样适用于子分区,并且在一些情况下,可以通过以子分区为单位导出和使用相邻参考样本来提高帧内预测性能。这种预测方法可以被称为帧内子分区(ISP)或基于ISP的帧内预测。

与帧内预测模式分开地,上述帧内预测方法可以被称为帧内预测类型。帧内预测类型可以用各种术语来称呼,诸如帧内预测技术或附加帧内预测模式。例如,帧内预测类型(或附加帧内预测模式)可以包括上述LIP、PDPC、MRL和ISP中的至少一种。除了诸如LIP、PDPC、MRL或ISP的特定帧内预测类型之外的一般帧内预测方法可以被称为正常帧内预测类型。当不应用特定的帧内预测类型时,通常可以应用正常的帧内预测类型,并且可以基于上述帧内预测模式执行预测。同时,可以根据需要对导出的预测样本执行后滤波。

具体地,帧内预测过程可以包括帧内预测模式/类型确定步骤、相邻参考样本导出步骤和基于帧内预测模式/类型的预测样本导出步骤。此外,可以根据需要对导出的预测样本执行后滤波步骤。

当应用帧内预测时,可以使用相邻块的帧内预测模式来确定应用于当前块的帧内预测模式。例如,解码装置可以基于所接收的最可能模式(mpm)索引,选择基于当前块的相邻块(例如左和/或上相邻块)的帧内预测模式导出的mpm列表中的mpm候选之一,并且基于剩余帧内预测模式信息,选择未包括在mpm候选(和平面模式)中的其他剩余帧内预测模式之一。mpm列表可以被配置为包括或不包括平面模式作为候选。例如,如果mpm列表将平面模式包括为候选,则mpm列表可以有六个候选。如果mpm列表不将平面模式包括为候选,则mpm列表可以有五个候选。当mpm列表不将平面模式包括为候选时,可以发信号告知指示当前块的帧内预测模式是否不是平面模式的非平面标志(例如,intra_luma_not_planar_flag)。例如,可以首先发信号告知mpm标志,并且当mpm标志的值为1时,可以发信号告知mpm索引和非平面标志。此外,当非平面标志的值为1时,可以发信号告知mpm索引。在此,mpm列表被配置为不将平面模式包括为候选不意在指示平面模式不是mpm,而是首先发信号告知非平面标志以首先检查它是否是平面模式,因为平面模式总是被认为是mpm。

例如,可以基于mpm标志(例如Intra_luma_mpm_flag)指示应用于当前块的帧内预测模式是在mpm候选(和平面模式)中还是在剩余模式中。mpm标志的值为1可以指示当前块的帧内预测模式在mpm候选(和平面模式)内,并且mpm标志的值为0可以指示用于当前块的帧内预测模式不在mpm候选(和平面模式)中。非平面标志(例如Intra_luma_not_planar_flag)的值为0可以指示当前块的帧内预测模式是平面模式,非平面标志值的值为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_pred_mode或intra_luma_mpm_remainder)中的至少一个。在本文件中,MPM列表可以用多种术语来指代,诸如MPM候选列表和candModeList。当MIP应用于当前块时,可以发信号告知用于MIP的单独mpm标志(例如,intra_mip_mpm_flag)、mpm索引(例如,intra_mip_mpm_idx)和剩余的帧内预测模式信息(例如,intra_mip_mpm_remainder),并且不发信号告知非平面标志。

换言之,一般而言,当对图像执行块分割时,待编译的相邻块和当前块具有相似的图像特性。因此,当前块和相邻块具有相同或相似的帧内预测模式的概率很高。因此,编码器可以使用相邻块的帧内预测模式来对当前块的帧内预测模式进行编码。

例如,编码器/解码器可以配置用于当前块的最可能模式(MPM)的列表。MPM列表也可以被称为MPM候选列表。在本文中,MPM可以指在帧内预测模式编译中,考虑当前块和相邻块之间的相似性来提高编译效率的模式。如上所述,MPM列表可以被配置为包括平面模式或者可以被配置为排除平面模式。例如,当MPM列表包括平面模式时,MPM列表中的候选数量可以是6。而如果MPM列表不包括平面模式,则MPM列表中的候选数量可以是5。

编码器/解码器可以配置包括5或6个MPM的MPM列表。

为了配置MPM列表,可以考虑三种模式:默认帧内模式、邻域帧内模式和导出的帧内模式。

对于邻域帧内模式,可以考虑两个相邻块,即左相邻块和上相邻块。

如上所述,如果MPM列表被配置为不包括平面模式,则从列表中排除平面模式,并且MPM列表候选的数量可以设置为5。

此外,帧内预测模式中的非定向模式(或非角度模式)可以包括基于当前块的相邻参考样本的平均的DC模式或基于插值的平面模式。

当应用帧间预测时,编码装置/解码装置的预测器可以通过以块为单位执行帧间预测来导出预测样本。帧间预测可以是以依赖于除当前图片之外的图片的数据元素(例如,样本值或运动信息)的方式导出的预测。当帧间预测应用于当前块时,可以基于由参考图片索引指示的参考图片上的由运动向量指定的参考块(参考样本阵列)导出当前块的预测块(预测样本阵列)。在此,为了减少在帧间预测模式中发送的运动信息量,可以基于相邻块和当前块之间的运动信息的相关性,以块、子块或样本为单位来预测当前块的运动信息。运动信息可以包括运动向量和参考图片索引。运动信息可以进一步包括帧间预测类型(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,相邻块可以包括当前图片中存在的空间相邻块和参考图片中存在的时间相邻块。包括参考块的参考图片和包括时间相邻块的参考图片可以相同或不同。时间相邻块可以被称为并置参考块、并置CU(colCU)等,而包括时间相邻块的参考图片可以被称为并置图片(colPic)。例如,可以基于当前块的相邻块来配置运动信息候选列表,并且可以发信号告知指示选择(使用)哪个候选的标志或索引信息以导出当前块的运动向量和/或参考图片索引。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,当前块的运动信息可以与相邻块的运动信息相同。在跳过模式中,与合并模式不同,可以不发送残差信号。在运动向量预测(MVP)模式的情况下,所选择的相邻块的运动向量可以被用作运动向量预测器(predictor)并且可以发信号告知当前块的运动向量。在这种情况下,可以使用运动向量预测器和运动向量差的和来导出当前块的运动向量。

根据帧间预测类型(L0预测、L1预测、Bi预测等),运动信息可以包括L0运动信息和/或L1运动信息。L0方向的运动向量可以被称为L0运动向量或MVL0,而L1方向的运动向量可以被称为L1运动向量或MVL1。基于L0运动向量的预测可以被称为L0预测,基于L1运动向量的预测可以被称为L1预测,以及基于L0运动向量和L1运动向量两者的预测可以被称为双重预测(bi-prediction)。在此,L0运动向量可以指示与参考图片列表L0(L0)相关联的运动向量,而L1运动向量可以指示与参考图片列表L1(L1)相关联的运动向量。参考图片列表L0可以将在输出顺序上比当前图片早的图片包括为参考图片,而参考图片列表L1可以将在输出顺序上比当前图片晚的图片包括为参考图片。先前的图片可以被称为前向(参考)图片,而后续的图片可以被称为反向(参考)图片。参考图片列表L0可以进一步将在输出顺序上比当前图片晚的图片包括为参考图片。在这种情况下,可以在参考图片列表L0中首先对先前图片编索引,稍后对后续图片编索引。参考图片列表L1可以进一步将在输出顺序上在当前图片之前的图片包括为参考图片。在这种情况下,在参考图片列表1中可以首先对后续图片编索引,稍后对先前的图片编索引。输出顺序可以对应于图片顺序计数(POC)顺序。

图4示出了基于帧间预测的视频/图像编码方法的示例。

编码装置对当前块执行帧间预测(S400)。编码装置可以导出当前块的帧间预测模式和运动信息,并且生成当前块的预测样本。在此,可以同时执行帧间预测模式确定、运动信息导出和预测样本生成过程,或者一个过程可以在另一个之前执行。例如,编码装置的帧间预测器可以包括预测模式确定器、运动信息导出器和预测样本导出器。预测模式确定器可以确定当前块的预测模式,运动信息导出器可以导出当前块的运动信息,而预测样本导出器可以导出当前块的运动样本。例如,编码装置的帧间预测器可以通过运动估计,在参考图片的预定区域(搜索区域)中搜索与当前块相似的块,并且导出与当前块的差最小或是预定参考或更小的参考块。基于此,帧间预测器可以导出指示参考块所在的参考图片的参考图片索引,并且基于参考块和当前块之间的位置差来导出运动向量。编码装置可以在各种预测模式中确定应用于当前块的模式。编码装置可以比较用于各种预测模式的RD成本并且确定用于当前块的最佳预测模式。

例如,当跳过模式或合并模式应用于当前块时,编码装置可以配置稍后描述的合并候选列表,并且在由合并候选列表中包括的合并候选指示的参考块当中,导出与当前块的差最小或者是预定参考或更小的参考块。在这种情况下,可以选择与所导出的参考块相关联的合并候选,并且可以生成指示所选择的合并候选的合并索引信息并且将其发信号告知解码装置。可以使用所选择的合并候选的运动信息来导出当前块的运动信息。

作为另一示例,当(A)MVP模式被应用于当前块时,编码装置可以配置稍后描述的(A)MVP候选列表,并且将从(A)MVP候选列表中包括的mvp(运动向量预测器)候选中选择的mvp候选的运动向量用作当前块的mvp。在这种情况下,例如,指示通过上述运动估计导出的参考块的运动向量可以被用作当前块的运动向量,并且在mvp候选当中具有与当前块的运动向量的差最小的运动向量的mvp候选可以是所选择的mvp候选。可以导出作为从当前块的运动向量中减去mvp的差的运动向量差(MVD)。在这种情况下,可以将关于MVD的信息发信号告知解码装置。另外,当应用(A)MVP模式时,可以将参考图片索引的值配置为参考图片索引信息并且单独地发信号告知解码装置。

编码装置可以基于预测样本导出残差样本(S410)。编码装置可以通过将当前块的原始样本与预测样本进行比较来导出残差样本。

编码装置对包括预测信息和残差信息的图像信息进行编码(S420)。编码装置可以以比特流的形式输出编码的图像信息。预测信息可以包括预测模式信息(例如,跳过标志、合并标志或模式索引)和关于运动信息的信息作为与预测过程相关的信息。关于运动信息的信息可以包括作为用于导出运动向量的信息的候选选择信息(例如,合并索引、mvp标志或mvp索引)。另外,关于运动信息的信息可以包括上述关于MVD的信息和/或参考图片索引信息。关于运动信息的信息可以包括指示是否应用L0预测、L1预测或bi预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。

输出比特流可以被存储在(数字)存储介质中并传递给解码装置,也可以经由网络传递给解码装置。

同时,如上所述,编码装置可以基于参考样本和残差样本生成重构图片(包括重构样本和重构块)。这是为了在编码装置中导出与在解码装置中执行的预测结果相同的预测结果,并且是因为可以提高编译效率。因此,编码装置可以将重构图片(或重构样本、重构块)存储在存储器中并且将其用作用于帧间预测的参考图片。如上所述,环内(in-loop)滤波过程可以被进一步应用于重构图片。

基于帧间预测的视频/图像解码过程和解码装置的帧间预测器可以包括(例如)以下。

图5示出了基于帧间预测的视频/图像解码方法的示例。

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

具体地,解码装置可以基于所接收的预测信息确定当前块的预测模式(S500)。解码装置可以基于预测信息中的预测模式信息来确定哪种帧间预测模式被应用于当前块。

例如,解码装置可以基于合并标志来确定是否将合并模式应用于当前块或者是否确定了(A)MVP模式。可替代地,可以基于模式索引来选择各种帧间预测模式候选之一。帧间预测模式候选可以包括跳过模式、合并模式和/或(A)MVP模式,或者可以包括下面描述的各种帧间预测模式。

解码装置基于所确定的帧间预测模式导出当前块的运动信息(S510)。例如,当跳过模式或合并模式应用于当前块时,解码装置可以配置稍后描述的合并候选列表,并且选择合并候选列表中包括的合并候选之一。可以基于上述选择信息(合并索引)执行选择。可以使用所选择的合并候选的运动信息来导出当前块的运动信息。可以将所选择的合并候选的运动信息用作当前块的运动信息。

作为另一示例,当将(A)MVP模式应用于当前块时,解码装置可以配置稍后描述的(A)MVP候选列表并且将从(A)MVP候选列表中包括的mvp候选中选择的mvp候选的运动向量用作当前块的mvp。可以基于上述选择信息(mvp标志或mvp索引)来执行选择。在这种情况下,可以基于关于MVD的信息导出当前块的MVD,并且可以基于当前块的mvp和MVD导出当前块的运动向量。此外,可以基于参考图片索引信息导出当前块的参考图片索引。由用于当前块的参考图片列表中的参考图片索引指示的图片可以被导出为被参考用于当前块的帧间预测的参考图片。

同时,如下所述,可以在不配置候选列表的情况下导出当前块的运动信息,并且在这种情况下,可以根据在稍后描述的预测模式中公开的过程来导出当前块的运动信息。在这种情况下,可以省略如上所述的候选列表的配置。

解码装置可以基于当前块的运动信息生成当前块的预测样本(S520)。在这种情况下,可以基于当前块的参考图片索引来导出参考图片,并且可以使用在参考图片上由当前块的运动向量所指示的参考块的样本来导出当前块的预测样本。在这种情况下,如下所述,可以对当前块的全部或部分预测样本进一步执行预测样本滤波过程。

例如,解码装置的帧间预测器可以包括预测模式确定器、运动信息导出器和预测样本导出器。可以基于从预测模式确定器接收的预测模式信息来确定当前块的预测模式,可以基于关于从运动信息导出器接收到的运动信息的信息,导出当前块的运动信息(运动向量和/或参考图片索引等),以及预测样本导出器可以导出当前块的预测样本。

解码装置基于接收到的残差信息生成当前块的残差样本(S530)。解码装置可以基于预测样本和残差样本,生成当前块的重构样本,并且基于重构样本生成重构图片(S540)。此后,如上所述,可以进一步应用环内滤波过程等。

图6示例性地示出了帧间预测过程。

参照图6,如上所述,帧间预测过程可以包括确定帧间预测模式、根据确定的预测模式导出运动信息、以及基于导出的运动信息执行预测(生成预测样本)。如上所述,可以由编码装置和解码装置执行帧间预测过程。在本文件中,编译设备可以包括编码设备和/或解码设备。

参照图6,编译装置确定当前块的帧间预测模式(S600)。可以使用各种帧间预测模式来预测图片中的当前块。例如,可以使用各种模式,诸如合并模式、跳过模式、运动向量预测(MVP)模式、仿射模式、子块合并模式以及具有MVD的合并(MMVD)模式等。解码器侧运动向量细化(DMVR)模式、自适应运动向量分辨率(AMVR)模式、具有CU级加权的双重预测(BCW)、双向光流(BDOF)等也可以额外或替代地用作附加模式。仿射模式可以被称为仿射运动预测模式。MVP模式可以被称为高级运动向量预测(AMVP)模式。在本文件中,一些模式和/或由一些模式导出的运动信息候选可以被包括为其他模式的运动信息候选之一。例如,HMVP候选可以被添加为合并/跳过模式中的合并候选,或者可以被添加为MVP模式中的mvp候选。当HMVP候选被用作合并模式或跳过模式中的运动信息候选时,HMVP候选可以被称为HMVP合并候选。

指示当前块的帧间预测模式的预测模式信息可以从编码装置发信号告知解码装置。预测模式信息可以被包括在比特流中并且由解码装置接收。预测模式信息可以包括指示多种候选模式之一的索引信息。可替代地,可以通过标志信息的层级信令来指示帧间预测模式。在这种情况下,预测模式信息可以包括一个或多个标志。例如,可以发信号告知跳过标志以指示是否应用跳过模式,并且如果未应用跳过模式,则可以发信号告知合并标志以指示是否应用合并模式,以及如果未应用合并模式,则指示应用MVP模式或者可以进一步发信号告知用于附加分类的标志。仿射模式可以作为独立模式发信号告知,或者可以作为从属于合并模式或MVP模式的模式发信号告知。例如,仿射模式可以包括仿射合并模式和仿射MVP模式。

同时,可以在当前块中发信号告知指示在当前块(当前编译单元)中是否使用上述list0(L0)预测、list1(L1)预测或双重预测的信息。该信息可以被称为运动预测方向信息、帧间预测方向信息或帧间预测指示信息,并且可以以例如inter_pred_idc语法元素的形式配置/编码/发信号告知。即,inter_pred_idc语法元素可以指示上述list0(L0)预测、list1(L1)预测或双重预测是否用于当前块(当前编译单元)。在本文件中,为了描述方便,可以将由inter_pred_idc语法元素指示的帧间预测类型(L0预测、L1预测或BI预测)指示为运动预测方向。L0预测可以被表示为pred_L0,L1预测可以被表示为pred_L1,而双重预测可以被表示为pred_BI。

[表1]

如上所述,一个图片可以包括一个或多个切片。切片可以具有包括帧内(I)切片、预测(P)切片和双重预测(B)切片的切片类型之一。可以基于切片类型信息来指示切片类型。对于I切片中的块,可以不使用帧间预测来进行预测并且可以仅使用帧内预测。当然,即使在这种情况下,也可以在不预测的情况下编译和发信号告知原始样本值。帧内预测或帧间预测可以被用于P切片中的块,并且在使用帧间预测时可以仅使用单向预测。同时,帧内预测或帧间预测可以被用于B切片中的块,并且当使用帧间预测时可以使用最多到双重预测。

L0和L1可以包括在当前图片之前先前编码/解码的参考图片。例如,L0可以包括以POC顺序在当前图片之前和/或之后的参考图片,以及L1可以包括以POC顺序在当前图片之后和/或之前的参考图片。在这种情况下,L0可以被指配与当前参考图片相比相对于POC顺序中的先前参考图片的更低的参考图片索引,而L1可以被指配与当前图片相比相对于POC顺序中的后续参考图片的更低的参考图片索引。在B切片的情况下,可以应用双重预测,并且在这种情况下,可以应用单向双重预测或者可以应用双向双重预测。双向双重预测可以被称为真双重预测。

编译装置导出当前块的运动信息(S610)。运动信息导出可以是基于帧间预测模式导出的。

编译装置可以使用当前块的运动信息来执行帧间预测。编码装置可以通过运动估计过程导出当前块的最佳运动信息。例如,编码设备可以在参考图片中的预定搜索范围内,通过使用当前块的原始图片中的原始块,以分数像素为单位,搜索相关性高的相似参考块,然后编码装置可以导出运动信息。可以以基于相位的样本值之间的差为基础来导出块相似度。例如,可以基于当前块(或当前块的模板)与参考块(或参考块的模板)之间的SAD来计算块相似度。在这种情况下,可以基于搜索区域中具有最小SAD的参考块来导出运动信息。可以基于帧间预测模式,根据各种方法,将导出的运动信息发信号告知解码装置。

编译装置基于关于当前块的运动信息来执行帧间预测(S620)。编译装置可以基于运动信息导出当前块的预测样本。包括预测样本的当前块可以被称为预测块。

当应用合并模式时,不直接发送当前预测块的运动信息,而是使用相邻预测块的运动信息导出当前预测块的运动信息。因此,可以通过发送指示使用合并模式的标志信息和指示使用哪个预测块的合并索引来指示当前预测块的运动信息。合并模式可以被称为常规合并模式。

为了执行合并模式,编码器应搜索用于导出当前预测块的运动信息的合并候选块。例如,可以使用多达五个合并候选块,但是本文件的实施例不限于此。此外,可以在切片头或图块组头中发送合并候选块的最大数量。在找到合并候选块之后,编码器可以生成合并候选列表,并且可以将具有最小成本的合并候选块选择为最终合并候选块。

合并候选列表可以使用例如五个合并候选块。例如,可以使用四个空间合并候选和一个时间合并候选。在下文中,可以将稍后描述的空间合并候选或空间MVP候选称为SMVP,并且可以将稍后描述的时间合并候选或时间MVP候选称为TMVP。

图7示例性地示出了编译图像/视频的层级结构。

参照图7,编译图像/视频被分为处置图像/视频的解码处理及其自身的视频编译层(VCL)、发送和存储编译信息的子系统,以及负责网络适配功能并且存在于VCL和子系统之间的NAL(网络抽象层)。

在VCL中,生成包括压缩图像数据(切片数据)的VCL数据,或者可以生成包括图片参数集(PSP)、序列参数集(SPS)和视频参数集(VPS)的参数集或者图像解码过程额外所需的补充增强信息(SEI)消息。

在NAL中,可以通过向VCL中生成的原始字节序列有效载荷(RBSP)添加头信息(NAL单元头)来生成NAL单元。在这种情况下,RBSP是指在VCL中生成的切片数据、参数集、SEI消息等。NAL单元头可以包括根据相应NAL单元中包括的RBSP数据指定的NAL单元类型信息。

如图所示,根据VCL中生成的RBSP,NAL单元可以被分为VCL NAL单元和非VCL NAL单元。VCL NAL单元可以是指包括关于图像(切片数据)的信息的NAL单元,以及非VCL NAL单元可以是指包括解码图像所需的信息(参数集或SEI消息)的NAL单元。

可以根据子系统的数据标准,通过附加头信息,通过网络发送上述VCL NAL单元和非VCL NAL单元。例如,可以将NAL单元转换为预定标准的数据格式,诸如H.266/VVC文件格式、实时传送协议(RTP)、传送流(TS)等,并且通过各种网络发送。

如上所述,可以根据包括在相应NAL单元中的RBSP数据结构,利用NAL单元类型指定NAL单元,以及关于NAL单元类型的信息可以被存储在NAL单元头中并且发信号告知。

例如,根据NAL单元是否包括关于图像的信息(切片数据),可以将NAL单元分类为VCL NAL单元类型和非VCL NAL单元类型。可以根据包括在VCL NAL单元中的图片的性质和类型来分类VCL NAL单元类型,并且可以根据参数集的类型来分类非VCL NAL单元类型。

下文是根据包括在非VCL NAL单元类型中的参数集的类型指定的NAL单元类型的示例。

-APS(自适应参数集)NAL单元:用于包括APS的NAL单元的类型

-DPS(解码参数集)NAL单元:用于包括DPS的NAL单元的类型

-VPS(视频参数集)NAL单元:用于包括VPS的NAL单元的类型

-SPS(序列参数集)NAL单元:用于包括SPS的NAL单元的类型

-PPS(图片参数集)NAL单元:用于包括PPS的NAL单元的类型

-PH(图片头)NAL单元:用于包括PH的NAL单元的类型

上述NAL单元类型可以具有用于NAL单元类型的语法信息,并且可以在NAL单元头中存储和发信号告知该语法信息。例如,语法信息可以是nal_unit_type,可以由nal_unit_type值指定NAL单元类型。

同时,如上所述,一个图片可以包括多个切片,并且一个切片可以包括切片头和切片数据。在这种情况下,一个图片头可以被进一步添加到一个图片中的多个切片(切片头和切片数据集)。图片头(图片头语法)可以包括通常适用于图片的信息/参数。在本文件中,切片可以与图块组混用或被替换。此外,在本文件中,切片头可以与图块组头混用或被替换。

切片头(切片头语法)可以包括通常应用于切片的信息/参数。APS(APS语法)或PPS(PPS语法)可以包括可以共同应用于一个或多个切片或图片的信息/参数。SPS(SPS语法)可以包括可以共同应用于一个或多个序列的信息/参数。VPS(VPS语法)可以包括可以共同应用于多个层的信息/参数。DPS(DPS语法)可以包括可以共同应用于整个视频的信息/参数。DPS可以包括与编译视频序列(CVS)的级联相关的信息/参数。本文件中的高级语法(HLS)可以包括APS语法、PPS语法、SPS语法、VPS语法、DPS语法和切片头语法中的至少一种。

在本文件中,从编码装置编码并以比特流的形式发信号告知解码装置的图像/图像信息不仅包括图片中的分区相关信息、帧内/帧间预测信息、残差信息、环内滤波信息等,而且还包括在切片头中包括的信息、在APS中包括的信息、在PPS中包括的信息、在SPS中包括的信息和/或在VPS中包括的信息。

同时,为了补偿由于在诸如量化的压缩编译过程中出现的误差而导致的原始图像和重构图像之间的差异,可以对如上所述的重构样本或重构图片执行环内滤波处理。如上所述,可以由编码装置的滤波器和解码装置的滤波器执行环内滤波,并且可以应用去块滤波器、SAO和/或自适应环路滤波器(ALF)。例如,可以在完成去块滤波过程和/或SAO过程之后执行ALF过程。然而,即使在这种情况下,也可以省略去块滤波过程和/或SAO过程。

同时,为了提高编译效率,可以如上所述地应用亮度映射与色度缩放(LMCS)。LMCS可以被称为环路整形器(整形)。为了提高编译效率,可以分层地执行LMCS控制和/或LMCS相关信息的信令。

图8示例性地示出了根据本文件的实施例的CVS的层级结构。编译视频序列(CVS)可以包括序列参数集(SPS)、图片参数集(PPS)、图块组头、图块数据和/或CTU。在此,图块组头和图块数据可以分别被称为切片头和切片数据。

SPS可以原始地包括标志以使得工具能够在CVS中使用。另外,SPS可以由包括关于针对每个图片改变的参数的信息的PPS参考。编译图片中的每一个可以包括一个或多个编译矩形域图块。图块可以通过光栅扫描被分组为形成图块组。每个图块组都封装有称为图块组头的头信息。每个图块由包括编译数据的CTU组成。在此,数据可以包括原始样本值、预测样本值及其亮度和色度分量(亮度预测样本值和色度预测样本值)。

图9图示了根据本文件的实施例的示例性LMCS结构。图9的LMCS结构900包括基于自适应分段线性(自适应PWL)模型的亮度分量的环内映射部910和用于色度分量的亮度相关的色度残差缩放部920。环内映射部910的解量化和逆变换911、重构912和帧内预测913块表示映射(整形)域中应用的过程。环路滤波器915、环内映射部910的运动补偿或帧间预测917块,以及色度残差缩放部920的重构922、帧内预测923、运动补偿或帧间预测924、环路滤波器925块表示应用于原始(非映射、非整形)域中的过程。

如图9所示,当使能LMCS时,可以应用逆映射(整形)过程914、前向映射(整形)过程918和色度缩放过程921中的至少一个。例如,逆映射过程可以应用于重构图片中的(重构的)亮度样本(或亮度样本或亮度样本阵列)。可以基于亮度样本的分段函数(逆)索引来执行逆映射过程。分段函数(逆)索引可以识别亮度样本所属的片段。逆映射过程的输出是修改的(重构的)亮度样本(或修改的亮度样本或修改的亮度样本阵列)。可以在图块组(或切片)、图片或更高的级别启用或禁用LMCS。

可以应用前向映射过程和/或色度缩放过程来生成重构图片。图片可以包括亮度样本和色度样本。具有亮度样本的重构图片可以被称为重构亮度图片,并且具有色度样本的重构图片可以被称为重构色度图片。重构亮度图片和重构色度图片的组合可以被称为重构图片。可以基于前向映射过程生成重构的亮度图片。例如,如果帧间预测应用于当前块,则前向映射应用于基于参考图片中的(重构的)亮度样本导出的亮度预测样本。因为基于逆映射过程生成参考图片中的(重构的)亮度样本,所以可以将前向映射应用于亮度预测样本,从而可以导出映射(整形)的亮度预测样本。可以基于亮度预测样本的分段函数索引来执行前向映射过程。可以基于用于帧间预测的参考图片中的亮度预测样本的值或亮度样本的值来导出分段函数索引。如果将帧内预测(或帧内块复制(IBC))应用于当前块,则不需要前向映射,因为逆映射过程尚未应用于当前图片中的重构样本。基于映射的亮度预测样本和相应的亮度残差样本生成重构亮度图片中的(重构的)亮度样本。

可以基于色度缩放过程生成重构的色度图片。例如,可以基于当前块中的色度预测样本和色度残差样本(cres)导出重构色度图片中的(重构的)色度样本。基于当前块的(缩放的)色度残差样本(cresScale)和色度残差缩放因子(cScaleInv可以被称为varScale)导出色度残差样本(cres)。可以基于当前块的整形亮度预测样本值来计算色度残差缩放因子。例如,可以基于整形亮度预测样本值Y'pred的平均亮度值ave(Y'pred)来计算缩放因子。作为参考,在图9中,基于逆变换/解量化导出的(缩放的)色度残差样本可以被称为cresScale,以及通过对(缩放的)色度残差样本执行(逆)缩放过程导出的色度残差样本可以被称为cres

图10图示了根据本文件的另一实施例的LMCS结构。参照图9描述图10。在此,主要描述图10的LMCS结构与图9的LMCS结构900之间的差异。图10的环内映射部和亮度相关色度残差缩放部可以与图9的环内映射部910和亮度相关色度残差缩放部920相同地(类似地)操作。

参考图10,可以基于亮度重构样本导出色度残差缩放因子。在这种情况下,可以基于重构块外部的相邻亮度重构样本而不是重构块的内部亮度重构样本,获得(导出)平均亮度值(avgYr),以及基于平均亮度值(avgYr),导出色度残差缩放因子。在此,相邻亮度重构样本可以是当前块的相邻亮度重构样本,或可以是包括当前块的虚拟管道数据单元(VPDU)的相邻亮度重构样本。例如,当帧内预测应用于目标块时,可以基于以帧内预测基础导出的预测样本导出重构样本。在另一个示例中,当帧间预测应用于目标块时,前向映射应用于基于帧间预测导出的预测样本,并且基于整形(或前向映射)亮度预测样本生成(导出)重构样本。

通过比特流发信号告知的视频/图像信息可以包括LMCS参数(关于LMCS的信息)。LMCS参数可以被配置为高级语法(HLS,包括切片头语法)等。稍后描述LMCS参数的详细描述和配置。如上所述,本文件(以及以下实施例)中描述的语法表可以在编码器端配置/编码并且通过比特流发信号告知解码器端。解码器可以解析/解码语法表中关于LMCS的信息(以语法元素的形式)。可以组合下文描述的一个或多个实施例。编码器可以基于关于LMCS的信息对当前图片进行编码,以及解码器可以基于关于LMCS的信息对当前图片进行解码。

亮度分量的环内映射可以通过跨动态范围重新分发码字来调整输入信号的动态范围以提高压缩效率。对于亮度映射,可以使用前向映射(整形)函数(FwdMap)和与前向映射函数(FwdMap)相对应的逆映射(整形)函数(InvMap)。可以使用分段线性模型来发信号告知FwdMap函数,例如,分段线性模型可以具有16个片段或bin(bin)。这些片段可以具有相等的长度。在一个示例中,不需要发信号告知InvMap函数,而是从FwdMap函数导出。即,逆映射可以是前向映射的函数。例如,逆映射函数可以在数学上构建为以y=x为基准的前向映射的对称函数。

环内(亮度)整形可以被用来在整形域中将输入亮度值(样本)映射为更改值。可以编译整形值,然后在重构之后映射回原始(未映射、未整形的)域。为了补偿亮度信号和色度信号之间的相互作用,可以应用色度残差缩放。环内整形是通过为整形器模型指定高级语法来完成的。整形器模型语法可以发信号告知分段线性模型(PWL模型)。可以基于分段线性模型导出前向查找表(FwdLUT)和/或逆向查找表(InvLUT)。例如,在导出前向查找表FwdLUT时,可以基于前向查找表FwdLUT导出逆向查找表InvLUT。前向查找表FwdLUT可以将输入亮度值Yi映射到变更值Yr,而逆向查找表InvLUT可以将变更值Yr映射到重构值Y'i。可以基于输入亮度值Yi导出重构值Y'i。

在一个示例中,SPS可以包括下表2的语法。表2的语法可以包括作为工具使能标志的sps_reshaper_enabled_flag。在此,可以使用sps_reshaper_enabled_flag来指定在编译视频序列(CVS)中是否使用整形器。即,sps_reshaper_enabled_flag可以是SPS中使能整形的标志。在一个示例中,表2的语法可以是SPS的一部分。

[表2]

在一个示例中,关于语法元素sps_seq_parameter_set_id和sps_reshaper_enabled_flag的语义可以如下表3中所示。

[表3]

在一个示例中,图块组头或切片头可以包括以下表4或表5的语法。

[表4]

[表5]

包括在表4或表5的语法中的语法元素的语义可以包括例如在下表中公开的内容。

[表6]

[表7]

作为一个示例,只要在SPS中解析了使能整形的标志(即sps_reshaper_enabled_flag),图块组头就可以解析用于构造查找表(FwdLUT和/或InvLUT)的附加数据(即,包括在上表6或7中的信息)。为了做到这一点,可以首先在切片头或图块组头中检查SPS整形器标志(sps_reshaper_enabled_flag)的状态。当sps_reshaper_enabled_flag为真(或1)时,可以解析附加标志,即tile_group_reshaper_model_present_flag(或slice_reshaper_model_present_flag)。tile_group_reshaper_model_present_flag(或slice_reshaper_model_present_flag)的目的可以是指示存在整形模型。例如,当tile_group_reshaper_model_present_flag(或slice_reshaper_model_present_flag)为真(或1)时,可以指示对于当前图块组(或当前切片)存在整形器。当tile_group_reshaper_model_present_flag(或slice_reshaper_model_present_flag)为假(或0)时,可以指示对于当前图块组(或当前切片)不存在整形器。

如果存在整形器并且在当前图块组(或当前切片)中使能了整形器,则可以处理整形器模型(即,tile_group_reshaper_model()或slice_reshaper_model())。除此之外,还可以解析附加标志tile_group_reshaper_enable_flag(或slice_reshaper_enable_flag)。tile_group_reshaper_enable_flag(或slice_reshaper_enable_flag)可以指示整形模型是否用于当前图块组(或切片)。例如,如果tile_group_reshaper_enable_flag(或slice_reshaper_enable_flag)为0(或假),则可以指示整形模型未用于当前图块组(或当前切片)。如果tile_group_reshaper_enable_flag(或slice_reshaper_enable_flag)为1(或真),则可以指示整形模型用于当前图块组(或切片)。

作为一个示例,tile_group_reshaper_model_present_flag(或slice_reshaper_model_present_flag)可以为真(或1)并且tile_group_reshaper_enable_flag(或slice_reshaper_enable_flag)可以为假(或0)。这是指整形模型存在但未用在当前图块组(或切片)中。在这种情况下,可以在未来图块组(或切片)中使用整形模型。作为另一个示例,tile_group_reshaper_enable_flag可以为真(或1)并且tile_group_reshaper_model_present_flag可以为假(或0)。在这种情况下,解码器使用来自先前初始化的整形器。

当解析整形模型(即tile_group_reshaper_model()或slice_reshaper_model())以及tile_group_reshaper_enable_flag(或slice_reshaper_enable_flag)时,可以确定(评估)色度缩放所需的条件是否存在。上述条件包括条件1(当前图块组/切片尚未被帧内编译)和/或条件2(当前图块组/切片没有被划分为用于亮度和色度的两个单独的编译四叉树结构,即用于当前图块组/切片的块结构不是双树结构)。如果条件1和/或条件2为真和/或tile_group_reshaper_enable_flag(或slice_reshaper_enable_flag)为真(或1),则可以解析tile_group_reshaper_chroma_residual_scale_flag(或slice_reshaper_chroma_residual_scale_flag)。当使能tile_group_reshaper_chroma_residual_scale_flag(或slice_reshaper_chroma_residual_scale_flag)时(如果为1或真),则可以指示为当前图块组(或切片)使能色度残差缩放。当禁用tile_group_reshaper_chroma_residual_scale_flag(或slice_reshaper_chroma_residual_scale_flag)时(如果为0或假),可以指示对当前图块组(或切片)禁用色度残差缩放。

图块组整形模型的目的是解析构建查找表(LUT)所需的数据。构建这些LUT的理念是,亮度值的可容许范围的分布可以被分为多个bin(例如16个bin),这些bin可以使用一组16个PWL等式系来表示。因此,位于给定bin内的任何亮度值都可以被映射到变更的亮度值。

图11示出了表示示例性前向映射的图。在图11中,示例性地图示了五个bin。

参考图11,x轴表示输入亮度值,而y轴表示变更的输出亮度值。x轴被分成5个bin或切片,每个bin的长度为L。也就是说,被映射到变更亮度值的五个bin具有相同的长度。前向查找表(FwdLUT)可以使用可从图块组头获得的数据(即,整形器数据)构建,因此可以促进映射。

在一个实施例中,可以计算与bin索引相关联的输出轴心点。输出轴心点可以设置(标记)亮度码字整形的输出范围的最小和最大边界。输出轴心点的计算过程可以通过计算码字数量的分段累积分布函数(CDF)来执行。可以基于要使用的最大bin数和查找表(FwdLUT或InvLUT)的大小对输出轴心范围进行切片。作为一个示例,可以基于最大bin数与查找表的大小之间的乘积(LUT的大小*bin索引的最大数量)来切分输出轴心范围。例如,如果最大bin数量与查找表大小之间的乘积为1024,则可以将输出轴心范围切分成1024个条目。可以基于(使用)缩放因子来执行(应用或实现)输出轴心范围的这种切分。在一个示例中,可以基于下面的等式1导出缩放因子。

[等式1]

SF=(y2-y1)*(1<<FP_PREC)+c

在等式1中,SF表示缩放因子,y1和y2表示对应于每个bin的输出轴心点。此外,FP_PREC和c可以是预定常数。基于等式1确定的缩放因子可以被称为用于前向整形的缩放因子。

在另一个实施例中,关于逆整形(逆映射),对于要使用的bin的定义范围(即,从reshaper_model_min_bin_idx到reshape_model_max_bin_idx),提取对应于前向LUT的映射轴心点的输入整形轴心点和映射的逆输出轴心点(由所考虑的bin索引*初始码字的数量给出)。在另一示例中,可以基于下面的等式2导出缩放因子SF。

[等式2]

SF=(y2-y1)*(1<<FP_PREC)/(x2-x1)

在等式2中,SF表示缩放因子,x1和x2表示输入轴心点,以及y1和y2表示对应于每个片段(bin)的输出轴心点(逆映射的输出轴心点)。在此,输入轴心点可以是基于前向查找表(FwdLUT)映射的轴心点,并且输出轴心点可以是基于逆向查找表(InvLUT)逆映射的轴心点。此外,FP_PREC可以是预定的常数值。等式2的FP_PREC可以与等式1的FP_PREC相同或不同。基于等式2确定的缩放因子可以被称为用于逆整形的缩放因子。在逆整形期间,可以基于等式2的缩放因子来执行输入轴心点的分割。缩放因子SF被用于切分输入轴心点的范围。基于分割的输入轴心点,从0到最小bin索引(reshaper_model_min_bin_idx)和/或从最小bin索引(reshaper_model_min_bin_idx)到最大bin索引(reshape_model_max_bin_idx)范围内的bin索引被指配对应于最小和最大bin值的轴心值。

下表8示出了根据实施例的整形器模型的语法。整形器模型可以称为整形模型或LMCS模型。在此,整形器模型已经被示例性地描述为图块组整形器,但是本文件不必受限于该实施例。例如,整形器模型可以被包括在APS中,或者图块组整形器模型可以被称为切片整形器模型或LMCS数据。此外,前缀reshaper_model或Rsp可以与lmcs互换地使用。例如,在下表以及下述描述中,reshaper_model_min_bin_idx、reshaper_model_delta_max_bin_idx、reshaper_model_max_bin_idx、RspCW、RsepDeltaCW可以分别与lmcs_min_bin_idx、lmcs_delta_max_bin_idx、lmcs_max_bin_idx、lmcsCW、lmcsDeltaCW互换地使用。

[表8]

包括在表8的语法中的语法元素的语义可以包括例如下表中公开的内容。

[表9]

根据本文件的亮度样本的逆映射过程可以以如下表所示的标准文献的形式来描述。

[表10]

可以以如下表所示的标准文献的形式来描述根据本文件的用于亮度样本的分段函数索引过程的识别。在表11中,idxYInv可以被称为逆映射索引,可以基于重构的亮度样本(lumaSample)导出逆映射索引。

[表11]

可以基于上述实施例和示例执行亮度映射,其中包括的上述语法和组件可以仅仅是示例性的表示,本文件中的实施例不受上述表格或等式的限制。在下文中,描述一种基于亮度映射执行色度残差缩放(对残差样本的色度分量进行缩放)的方法。

(亮度相关)色度残差缩放被设计为补偿亮度信号与其相应色度信号之间的相互作用。例如,是否使能色度残差缩放也在图块组级别发信号告知。在一个示例中,如果使能亮度映射并且如果双树分割(也被称为单独色度树)未应用于当前图块组,则发信号告知附加标志以指示是否使能亮度相关的色度残差缩放。在其他示例中,当不使用亮度映射时,或者当在当前图块组中使用双树分割时,禁用亮度相关的色度残差缩放。在另一个示例中,对于面积小于或等于4的色度块,总是禁用亮度相关的色度残差缩放。

色度残差缩放可以基于相应亮度预测块(应用了帧内预测模式和/或帧间预测模式的预测块的亮度分量)的平均值。可以基于下面的等式3,利用定点整数算法来实现编码器端和/或解码器端的缩放操作。

[等式3]

c'=sign(c)*((abs(c)*s+2CSCALE_FP_PREC-1)>>CSCALE_FP_PREC)

在等式3中,c表示色度残差(色度残差样本、残差样本的色度分量),c'表示缩放的色度残差样本(残差样本的缩放色度分量),s表示色度残差缩放因子,以及CSCALE_FP_PREC表示(预定义的)常数值以指定精度。例如,CSCALE_FP_PREC可以是11。

图12是图示了根据本文件的实施例的用于导出色度残差缩放索引的方法的流程图。可以基于图9以及包括在与图9有关的描述中的表、等式、变量、阵列和函数执行图12的方法。

在步骤S1210中,可以基于预测模式信息确定当前块的预测模式是帧内预测模式还是帧间预测模式。如果预测模式为帧内预测模式,则认为当前块或当前块的预测样本已经在整形(映射)区域中。如果预测模式为帧间预测模式,则认为当前块或当前块的预测样本位于原始(未映射、未整形)区域中。

在步骤S1220中,当预测模式为帧内预测模式时,可以计算(导出)当前块(或当前块的亮度预测样本)的平均。即直接计算已整形区域中的当前块的平均。平均(average)也可以被称为平均值(average value)、平均数(mean)或均值(mean value)。

在步骤S1221中,当预测模式为帧间预测模式时,可以对当前块的亮度预测样本执行(应用)前向整形(前向映射)。通过前向整形,可以将基于帧间预测模式的亮度预测样本从原始区域映射到整形区域。在一个示例中,基于上表8所描述的整形模型来执行亮度预测样本的前向整形。

在步骤S1222中,可以计算(导出)前向整形(前向映射)亮度预测样本的平均。即,可以执行前向整形结果的平均处理。

在步骤S1230中,可以计算色度残差缩放索引。当预测模式为帧内预测模式时,可以基于亮度预测样本的平均计算色度残差缩放索引。当预测模式为帧间预测模式时,可以基于前向整形亮度预测样本的平均来计算色度残差缩放索引。

在实施例中,可以基于循环语法来计算色度残差缩放索引。下表示出了用于导出(计算)色度残差缩放索引的循环语法的示例。

[表12]

在表12中,idxS表示色度残差缩放索引,idxFound表示是否获得满足if语句条件的色度残差缩放索引的索引,S表示预定的常数值,以及MaxBinIdx表示最大允许bin索引。可以基于上表8和/或9导出ReshapPivot[idxS+1]。

在实施例中,可以基于色度残差缩放索引来导出色度残差缩放因子。等式4是用于导出色度残差缩放因子的示例。

[等式4]

s=ChromaScaleCoef[idxS]

在等式4中,s表示色度残差缩放因子,以及ChromaScaleCoef可以是基于上表8和/或9导出的变量(或阵列)。

如上所述,可以获得参考样本的平均亮度值,并且可以基于平均亮度值导出色度残差缩放因子。如上所述,可以基于色度残差缩放因子来缩放色度分量残差样本,并且可以基于缩放的色度分量残差样本来生成色度分量重构样本。

在本文件的一个实施例中,提出了一种用于有效地应用上述LMCS的信令结构。根据本文件的实施例,例如,LMCS数据可以被包括在HLS(即APS)中,以及通过APS的下级的头信息(即图片头、切片头),可以通过发信号告知APS的ID(其被称为头信息)来自适应地导出LMCS模型(整形器模型)。可以基于LMCS参数导出LMCS模型。此外,例如,可以通过头信息发信号告知多个APS ID,并且通过这种方式,可以以相同图片/切片内的块为单位应用不同的LMCS模型。

在根据本文件的一个实施例中,提出了一种用于有效地执行LMCS所需的操作的方法。根据上表8中所述的语义,需要通过片段长度lmcsCW[i](在本文件中也记为RspCW[i])的除法运算来导出InvScaleCoeff[i]。逆映射的片段长度可能不是2的幂,这意味着不能通过比特移位来执行除法。

例如,计算InvScaleCoeff每个切片可能需要最多16个除法。根据上述表9,对于10比特编译,lmcsCW[i]的范围是从8到511,因此,为使用LUT实现lmcsCW[i]的除法运算,LUT的大小必须是504。另外,对于12比特编译,lmcsCW[i]的范围是从32到2047,因此,LUT大小需要是2016才能使用LUT实现lmcsCW[i]的除法运算。也就是说,除法在硬件实现中是昂贵的,因此期望尽可能避免除法。

在本实施例的一个方面中,可以将lmcsCW[i]约束为固定数(或预定数或预先确定数)的倍数。因此,可以减少用于除法的查找表(LUT)(LUT的容量或大小)。例如,如果lmcsCW[i]变成2的倍数,则替换除法过程的LUT的大小可能被减少一半。

在本实施例的另一方面中,提出了具有较高内部比特深度的编译。具有较高内部比特深度的编译可以是lmcsCW[i]的范围约束的上位条件。例如,如果编译比特深度高于10,则lmcsCW[i]可以被约束为1<<(BitDepthY-10)的倍数。在此,BitDepthY可以是亮度比特深度。因此,lmcsCW[i]的可能的值不会随着编译比特深度而改变,并且计算InvScaleCoeff所需的LUT的大小不会因为较高编译比特深度而增加。例如,对于12比特内部编译比特深度,将lmcsCW[i]的值限制为4的倍数,因此,替换除法过程的LUT的大小将与用于10比特编译的LUT的大小相同。该方面可以单独地实现,也可以与上述方面结合实现。

在该实施例的另一方面中,lmcsCW[i]可以被约束到更窄的范围。例如,lmcsCW[i]可以被约束在从(OrgCW>>1)到(OrgCW<<1)-1的范围内。因此对于10比特编译,lmcsCW[i]的范围可以是[32,127],因此,仅需要大小为96的LUT以计算InvScaleCoeff。

在本实施例的另一方面中,lmcsCW[i]可以近似到作为2的幂的最接近的数,并且在整形器设计中使用。因此,逆映射中的除法可以通过比特移位来执行(和替代)。

在根据本文件的一个实施例中,提出了LMCS码字范围的约束。根据上表9,LMCS码字的值在从(OrgCW>>3)到(OrgCW<<3)-1的范围中。该码字范围太宽了。当RspCW[i]和OrgCW之间存在较大差异时,可能会导致视觉伪影问题。

根据本文件的一个实施例,提出将LMCS PWL映射的码字约束到窄范围。例如,lmcsCW[i]的范围可以在(OrgCW>>1)到(OrgCW<<1)-1的范围内。

在根据本文件的一个实施例中,提出使用单个色度残差缩放因子用于LMCS中的色度残差缩放。用于导出色度残差缩放因子的现有方法使用相应亮度块的平均值,并且将逆亮度映射的每个片段的斜率导出为相应的缩放因子。此外,识别分段索引的过程需要相应亮度块的可用性,这会导致延迟问题。这对于硬件实现来说是不可取的。根据本文件的实施例,色度块中的缩放可以不取决于亮度块值,也可以不需要识别分段索引。因此,可以在没有延迟问题的情况下执行LMCS中的色度残差缩放过程。

在根据本文件的一个实施例中,可以基于亮度LMCS信息,从编码器和解码器两者导出单个色度缩放因子。当接收到LMCS亮度模型时,可以更新色度残差缩放因子。例如,当更新LMCS模型时,可以更新单个色度残差缩放因子。

下表示出了根据本实施例的用于获得单个色度缩放因子的示例。

[表13]

参考表13,可以通过平均lmcs_min_bin_idx和lmcs_max_bin_idx内的所有片段的逆亮度映射斜率来获得单个色度缩放因子(例如ChromaScaleCoeff或ChromaScaleCoeffSingle)。

图13图示了根据本文件的实施例的轴心点的线性拟合。在图13中,示出了轴心点P1、Ps和P2。将利用图13描述下述实施例或其示例。

在该实施例的示例中,可以基于轴心点lmcs_min_bin_idx和lmcs_max_bin_idx+1之间的亮度PWL映射的线性近似来获得单个色度缩放因子。即,线性映射的逆斜率可以被用作色度残差缩放因子。例如,图13的线性线1可以是连接轴心点P1和P2的直线。参考图13,在P1中,输入值为x1以及映射值为0,以及在P2中,输入值为x2以及映射值为y2。线性线1的逆斜率(逆缩放)为(x2-x1)/y2,可以基于轴心点P1、P2的输入值和映射值以及下述等式,计算单个色度缩放因子ChromaScaleCoeffSingle。

[等式5]

ChromaScaleCoeffSingle=(x2-x1)*(1<<CSCALE_FP_PREC)/y2

在等式5中,CSCALE_FP_PREC表示移位因子,例如,CSCALE_FP_PREC可以是预定的常数值。在一个示例中,CSCALE_FP_PREC可以是11。

在根据本实施例的另一个示例中,参考图13,轴心点Ps处的输入值为min_bin_idx+1,以及轴心点Ps处的映射值为ys。相应地,线性线1的逆斜率(逆缩放)可以计算为(xs-x1)/ys,并且可以基于轴心点P1,Ps的输入值和映射值以及以下等式,计算单个色度缩放因子ChromaScaleCoeffSingle。

[等式6]

ChromaScaleCoeffSingle=(xs-x1)*(1<<CSCALE_FP_PREC)/ys

在等式6中,CSCALE_FP_PREC表示移位因子(用于比特移位的因子),例如,CSCALE_FP_PREC可以是预定常数值。在一个示例中,CSCALE_FP_PREC可以是11,并且可以基于CSCALE_FP_PREC来执行逆缩放的比特移位。

在根据该实施例的另一示例中,可以基于线性近似线导出单个色度残差缩放因子。用于导出线性近似线的示例可以包括轴心点的线性连接(即,lmcs_min_bin_idx、lmcs_max_bin_idx+1)。例如,线性近似结果可以用PWL映射的码字来表示。P2处的映射值y2可以是所有bin(分片)的码字之和,P2处的输入值与P1处的输入值之间的差(x2-x1)为OrgCW*(lmcs_max_bin_idx-lmcs_min_bin_idx+1)(对于OrgCW,见上表9)。下表示出了根据上述实施例获得单个色度缩放因子的示例。

[表14]

参考表14,可以从两个轴心点(即lmcs_min_bin_idx、lmcs_max_bin_idx)获得单个色度缩放因子(例如ChromaScaleCoeffSingle)。例如,线性映射的逆斜率可以用作色度缩放因子。

在该实施例的另一个示例中,可以通过轴心点的线性拟合来获得单个色度缩放因子以最小化线性拟合和现有PWL映射之间的误差(或均方差)。该示例可能比简单地连接lmcs_min_bin_idx和lmcs_max_bin_idx处的两个轴心点更准确。有很多方法可以找到最佳线性映射,在下文中描述这样的示例。

在一个示例中,可以基于下文的等式7和/或8来计算用于最小化最小二乘方误差的总和的线性拟合等式y=b1*x+b0中的参数b1和b0。

[等式7]

[等式8]

在等式7和8中,x是原始亮度值,y是整形的亮度值,是x和y的均值,以及xi和yi表示第i个轴心点的值。

参考图13,识别线性映射的另一简单近似给出如下:

-通过连接lmcs_min_bin_idx和lmcs_max_bin_idx+1处的PWL映射的轴心点来获得线性线1,在OrgCW的倍数的输入值处计算该线性线的lmcs_pivots_linear[i]

-使用线性线1和使用PWL映射,总计轴心点映射值之间的差。

-获得平均差avgDiff。

-根据平均差(例如,2*avgDiff),调整线性线的最后一个轴心点。

-将调整的线性线的逆斜率用作色度残差缩放。

根据上述线性拟合,可以基于下文的等式9或10导出(获得)色度缩放因子(即,前向映射的逆斜率)。

[等式9]

ChromaScaleCoeffSingle=OrgCW*(1<<CSCALE_FP_PREC)

/lmcs_pivots_linear[lmcs_min_bin_idx+1]

[等式10]

ChromaScaleCoeffSingle=OrgCW*(lmcs_max_bin_idx-lmcs_max_bin_idx+1)

*(1<<CSCALE_FP_PREC)/lmcs_pivots_linear[lmcs_max_bin_idx+1]

在上述等式中,lmcs_pivots_lienar[i]可以是线性映射的映射值。利用线性映射,最小和最大bin索引之间的所有PWL映射可以具有相同的LMCS码字(lmcsCW)。也就是说,lmcs_pivots_linear[lmcs_min_bin_idx+1]可能与lmcsCW[lmcs_min_bin_idx]相同。

此外,在等式9和10中,CSCALE_FP_PREC表示移位因子(用于比特移位的因子),例如,CSCALE_FP_PREC可以是预定的常数值。在一个示例中,CSCALE_FP_PREC可以是11。

利用单个色度残差缩放因子(ChromaScaleCoeffSingle),不需要计算相应亮度块的平均,在PWL线性映射中找到索引以得到色度残差缩放因子。因此,可以提高使用色度残差缩放的编译效率。这不仅消除了对相应亮度块的依赖,解决了延迟问题,而且还降低了复杂性。

在本文件的另一个实施例中,编码器可以确定与单个色度缩放因子相关的参数并且将这些参数发信号告知解码器。利用信令,编码器可以利用编码器处可获得的其他信息来导出色度缩放因子。本实施例旨在消除色度残差缩放延迟问题。

例如,识别用于确定色度残差缩放因子的线性映射的另一个示例如下:

-通过连接lmcs_min_bin_idx和lmcs_max_bin_idx+1处的PWL映射的轴心点获得线性线1,在OrgCW的倍数的输入值处计算该线性线的lmcs_pivots_linear[i]

-使用线性线1和亮度PWL映射的轴心点,获得轴心点的映射值之间的差的加权和。权重可以基于编码器统计(诸如bin的直方图)。

-获取加权平均差avgDiff。

-根据加权平均差(例如2*avgDiff),调整线性线1的最后一个轴心点

-使用调整的线性线的逆斜率来计算色度残差缩放。

下表示出了用于发信号告知用于色度缩放因子导出的y值的语法的示例。

[表15]

在表15中,语法元素lmcs_chroma_scale可以指定用于LMCS色度残差缩放的单个色度(残差)缩放因子(ChromaScaleCoeffSingle=lmcs_chroma_scale)。即,关于色度残差缩放因子的信息可以被直接发信号告知,并且发信号告知的信息可以被导出为色度残差缩放因子。换言之,关于色度残差缩放因子的发信号告知的信息的值可以(直接)被导出为单个色度残差缩放因子的值。在此,语法元素lmcs_chroma_scale可以与其他LMCS数据(即,与码字的绝对值和符号相关的语法元素等)一起发信号告知。

可替代地,编码器可以仅发信号告知必要的参数以在解码器处导出色度残差缩放因子。为了在解码器处导出色度残差缩放因子,需要输入值x和映射值y。由于x值是bin长度,并且是已知数,因此无需发信号告知。最终,只需要发信号告知y值,以便导出色度残差缩放因子。在此,y值可能是线性映射中的任何轴心点的映射值(即,图13中的P2或Ps的映射值)。

下表示出了用于导出色度残差缩放因子的信令映射值的示例。

[表16]

[表17]

上表16和17的语法之一可以被用于发信号告知在由编码器和解码器指定的任何线性轴心点处的y值。即,编码器和解码器可以使用相同的语法导出y值。

首先,描述根据表16的实施例。在表16中,lmcs_cw_linear可以表示Ps或P2处的映射值。即,在根据表16的实施例中,可以通过lmcs_cw_linear发信号告知固定数。

在根据该实施例的示例中,如果lmcs_cw_linear表示一个bin的映射值(即,图13的Ps中的lmcs_pivots_linear[lmcs_min_bin_idx+1]),则可以基于以下等式导出色度缩放因子。

[等式11]

ChromaScaleCoeffSingle=OrgCW*(1<<CSCALE_FP_PREC)/lmcs_cw_linear

在根据本实施例的另一示例中,如果lmcs_cw_linear表示lmcs_max_bin_idx+1(即图13的P2中的lmcs_pivots_linear[lmcs_max_bin_idx+1]),则可以基于以下等式导出色度缩放因子。

[等式12]

ChromaScaleCoeffSingle=OrgCW*(lmcs_max_bin_idx-lmcs_max_bin_idx+l)

*(1<<CSCALE_FP_PREC)/lmcs_cw_linear

在上述等式中,CSCALE_FP_PREC表示移位因子(用于比特移位的因子),例如,CSCALE_FP_PREC可以是预定的常数值。在一个示例中,CSCALE_FP_PREC可以是11。

接下来,描述根据表17的实施例。在该实施例中,lmcs_cw_linear可以被发信号告知为相对于固定数的德尔塔值(即lmcs_delta_abs_cw_linear、lmcs_delta_sign_cw_linear_flag)。在该实施例的一个示例中,当lmcs_cw_linear表示lmcs_pivots_linear[lmcs_min_bin_idx+1]中的映射值(即图13的Ps)时,可以基于以下等式导出lmcs_cw_linear_delta和lmcs_cw_linear。

[等式13]

lmcs_cw_linear_delta=(1-2*lmcs_delta_sign_cw_linear_flag)*lmcs_delta_abs_lin羽r_cw

[等式14]

lmcs_cw_linear=lmcs_cw_linear_delta+OrgCW

在该实施例的另一示例中,当lmcs_cw_linear表示lmcs_pivots_linear[lmcs_max_bin_idx+1]中的映射值(即图13的P2)时,可以基于以下等式导出lmcs_cw_linear_delta和lmcs_cw_linear。

[等式15]

lmcs_cw_linear_delta=(1-2*lmcs_delta_sign_cw_linear_flag)*lmcs_delta_abs_linear_cw

[等式16]

lmcs_cw_linear=lmcs_cw_linear_delta

+OrgCW*(lmcs_max_bin_idx-lmcs_max_bin_idx+1)

在上述等式中,OrgCW可以是基于上述表9导出的值。

图14图示了根据本文件的实施例的线性整形(或线性整形器、线性映射)的一个示例。即,在该实施例中,提出了在LMCS中使用线性整形器。例如,图14的该示例可能与前向线性整形(映射)有关。

在现有示例中,LMCS可以使用具有固定16个片段的分段线性映射。这使得整形器设计复杂化,因为轴心点之间的突然过渡可能会导致不良的伪影。另外,对于整形器的逆亮度映射,需要识别分段函数索引。分段函数索引识别过程是具有多次比较的迭代过程。此外,对于使用相应亮度块平均的色度残差缩放,还需要这样的亮度分段索引识别过程。这不仅存在复杂性问题,还会导致依赖于整个亮度块的重构的色度残差缩放延迟。为了解决该问题,对于LMCS提出了使用线性整形器。

参照图14,线性整形器可以包括两个轴心点,即P1和P2。P1和P2可以表示输入和映射值,例如P1可以是(min_input,0),而P2可以是(max_input,max_mapped)。在此,min_input表示最小输入值,max_input表示最大输入值。小于或等于min_input的任何输入值被映射到0,大于max_input的任何输入值被映射到max_mapped。min_input和max_input内的任何输入亮度值被线性映射到其他值。图14示出了映射的示例。可以在编码器处确定轴心点P1、P2,以及可以使用线性拟合来近似分段线性映射。

有很多方法来发信号告知线性整形器。在发信号告知线性整形器的方法的示例中,原始亮度范围可以由相等数量的bin划分。即,最小bin和最大bin之间的亮度映射可以均匀地分布。例如,所有bin可以具有相同的LMCS码字(lmcsCW)。为此,可以发信号告知最小和最大bin索引。因此,只需要发信号告知一组reshape_model_bin_delta_abs_CW(或reshaper_model_delta_abs_CW、lmcs_delta_abs_CW)以及reshaper_model_bin_delta_sign_CW_flag(或reshaper_model_delta_sign_CW_flag、lmcs_delta_sign_CW_flag)。

下表示例性地示出了根据该示例发信号告知线性整形器的语法和语义。

[表18]

[表19]

参考表18和19,语法元素log2_lmcs_num_bins_minus4可以是关于bin的数量的信息。基于该信息,可以发信号告知bin的数量以允许对最小和最大轴心点进行更精细的控制。在另一个现有示例中,编码器和/或解码器可以在没有信令的情况下导出(指定)(固定)数量的bin,例如,将bin的数量导出为16或32。然而,根据表18和19的示例,log2_lmcs_num_bins_minus4加4可以表示bin数量的以2为底的对数。基于语法元素导出的bin的数量可以在从4到亮度比特深度BitDepthY的值的范围中。

在表19中,ScaleCoeffSingle可以被称为单个亮度前向缩放因子,而InvScaleCoeffSingle可以被称为单个亮度逆向缩放因子。可以基于单个亮度前向缩放因子执行对预测亮度样本的(前向)映射,并且可以基于单个亮度逆向缩放因子执行对重构亮度样本的(逆向)映射。ChromaSclaeCoeffSingle,如上所述,可以被称为单个色度残差缩放因子。ScaleCoeffSingle、InvScaleCoeffSingle和ChromaSclaeCoeffSingle可以分别被用于前向亮度映射、逆向亮度映射和色度残差缩放。ScaleCoeffSingle、InvScaleCoeffSingle和ChromaSclaeCoeffSingle可以被作为单个因子统一应用于所有bin(16个bin PWL映射)。

参考表19,FP_PREC和CSCALE_FP_PREC可以是用于比特移位的常数值。FP_PREC和CSCALE_FP_PREC可能相同也可能不同。例如,FP_PREC可能大于或等于CSCALE_FP_PREC。在一个示例中,FP_PREC和CSCALE_FP_PREC都可以是11。在另一个示例中,FP_PREC可以是15,而CSCALE_FP_PREC可以是11。

在发信号告知线性整形器的方法的另一个示例中,可以基于表20中的下述等式导出LMCS码字(lmcsCWlinearALL)。同样在该示例中,可以使用表18中的线性整形语法元素。下表示出了根据该示例描述的语义示例。

[表20]

参考表20,FP_PREC和CSCALE_FP_PREC可以是用于比特移位的常数值。FP_PREC和CSCALE_FP_PREC可能相同也可能不同。例如,FP_PREC可能大于或等于CSCALE_FP_PREC。在一个示例中,FP_PREC和CSCALE_FP_PREC都可以是11。在另一个示例中,FP_PREC可以是15,而CSCALE_FP_PREC可以是11。

在表20中,lmcs_max_bin_idx可以与LmcsMaxBinIdx互换使用。可以基于上述表18和19的语法的lmcs_delta_max_bin_idx导出lmcs_max_bin_idx和LmcsMaxBinIdx。因此,可以参考表19来解释表20。

在根据本文件的另一个实施例中,可以提出用于发信号告知线性整形器的方法的另一个示例。可以明确地发信号告知线性整形器模型的轴心点P1、P2。下表示出了用于根据该示例明确地发信号告知线性整形器模型的语法和语义的示例。

[表21]

[表22]

参考表21和22,可以基于语法元素lmcs_min_input导出第一轴心点的输入值,以及可以基于语法元素lmcs_max_input导出第二轴心点的输入值。第一轴心点的映射值可以是预定值(编码器和解码器都知道的值),例如第一轴心点的映射值是0。可以基于语法元素lmcs_max_mapped导出第二轴心点的映射值。也就是说,可以基于表21的语法中发信号告知的信息明确地(直接)发信号告知线性整形器模型。

可替代地,lmcs_max_input和lmcs_max_mapped可以发信号告知为德尔塔值。下表示出了用于将线性整形器模型发信号告知为德尔塔值的语法和语义示例。

[表23]

[表24]

参考表24,可以基于语法元素lmcs_min_input导出第一轴心点的输入值。例如,lmcs_min_input的映射值可以为0。lmcs_max_input_delta可以指定第二轴心点的输入值与最大亮度值(即(1<<bitdepthY)-1)之间的差值。lmcs_max_mapped_delta可以指定第二轴心点的映射值与最大亮度值(即(1<<bitdepthY)-1)之间的差值。

根据本文件的实施例,可以基于线性整形器的上述示例来执行亮度预测样本的前向映射、亮度重构样本的逆映射和色度残差缩放。在一个示例中,对于基于线性整形器的逆映射中的亮度(重构)样本(像素)的逆缩放,可能只需要一个逆缩放因子。对于前向映射和色度残差缩放也是如此。也就是说,确定ScaleCoeff[i]、InvScaleCoeff[i]和ChromaScaleCoeff[i](其中i是bin索引)的步骤可以替换为仅一个单个因子。在此,一个单个因子是线性映射的(前向)斜率或逆斜率的固定小数点表示。在一个示例中,可以基于下述等式中的至少一个导出逆向亮度映射缩放因子(用于亮度重构样本的逆映射中的逆向缩放因子)。

[等式17]

InvScaleCoeffSingle=OrgCW/lmcsCWLinear

[等式18]

InvScaleCoeffSingle=OrgCW*(lmcs_max_bin_idx-lmcs_max_bin_idx+1)

/lmcsCWLinearAll

[等式19]

InvScaleCoeffSingle=(lmcs_max_input-lmcs_min_input)/lmcsCWLinearAll

可以从上述表18和19导出等式17的lmcsCWLinear。可以从上述表20至24中的至少一个导出等式18和19的lmcsCWLinearALL。在等式17或18中,可以从表9或18中导出OrgCW。

下表描述了表示在图片重构中,指示用于亮度样本(即亮度预测样本)的前向映射过程的等式和语法(条件语句)。在下述表格和等式中,FP_PREC是用于比特移位的常数值,并且可以是预定值。例如,FP_PREC可能是11或15。

[表25]

[表26]

表25可以用于在基于上述表8和9的亮度映射过程中导出前向映射亮度样本。即,表25可以与表8和9一起描述。在表25中,可以从作为输入的亮度(预测)样本predSamples[i][j]导出作为输出的前向映射亮度(预测)样本PredMAPSamples[i][j]。表25的idxY可以被称为(前向)映射索引,以及可以基于预测亮度样本来导出映射索引。

表26可以用于在基于线性整形器的亮度映射中导出前向映射亮度样本。例如,可以由表21至表24中的至少一个,导出表26的lmcs_min_input、lmcs_max_input、lmcs_max_mapped和ScaleCoeffSingle。在表26中,在“lmcs_min_input<predSamples[i][j]<lmcs_max_input”的情况下,可以由输入(亮度(预测)样本predSamples[i][j])导出前向映射亮度(预测)样本PredMAPSamples[i][j]作为输出。比较表25和表26,从前向映射的角度可以看出根据线性整形器的应用的与现有LMCS的变化。

以下等式描述了用于亮度样本(即亮度重构样本)的逆映射过程。在以下等式中,“lumaSample”作为输入可能是逆映射之前(修改之前)的亮度重构样本。“invSample”作为输出可以是逆映射(修改)的亮度重构样本。在其他情况下,限幅的invSample可以被称为修改的亮度重构样本。

[等式20]

invSample=InputPivot[idxYInv]+(InvScaleCoeff[idxYInv]*

(lumaSample-LmcsPivot[idxYInv])+(1<<(FP_PREC-1)))>>FP_PREC

[等式21]

invSample=lmcs_min_input

+(InvScaleCoeffSingle*(lumaSample-lmcs_min_input)+(1<<(FPPREC-1)))

>>FP_PREC

参考等式20,可以基于上述表11导出索引idxInv。即,等式20可以用于在基于上述表8和9的亮度映射过程中导出逆映射亮度样本。

等式20可以与上述表10一起描述。

等式21可以用于在基于线性整形器的亮度映射中导出逆映射亮度样本。例如,可以根据表21至24中的至少一个导出等式21的lmcs_min_input。比较等式20和等式21,从前向映射的角度可以看出根据线性整形器的应用与现有LMCS的变化。

基于线性整形器的上述示例,可以省略分段索引识别过程。即,在本示例中,由于只有一个片段具有有效整形亮度像素,因此可以去除用于逆亮度映射和色度残差缩放的分段索引识别过程。因此,可以降低逆亮度映射的复杂度。此外,可以消除由取决于色度残差缩放过程中的亮度分段索引识别导致的延迟问题。

根据使用上述线性整形器的实施例,可以为LMCS提供以下优点:i)可以简化编码器整形器设计,防止分段线性片段之间的突然变化可能造成的伪影;ii)解码器逆映射过程——在其中可以去除分段索引识别过程——可以通过消除分段索引识别过程来简化;iii)通过去除分段索引识别过程,可以去除由取决于相应的亮度块引起的色度残差缩放的延迟问题;iv)可以减少信令开销,并使整形器的频繁更新更加可行;v)对于过去需要16个片段循环的许多地方,可以消除循环。例如,要导出InvScaleCoeff[i],lmcsCW[i]的除法运算次数可以减少到1。

在根据本文件的另一个实施例中,提出了基于灵活bin的LMCS。在此,灵活bin可以是指bin的数量不固定为预定(预定义的、特定的)数量。在现有实施例中,LMCS中的bin的数量固定为16个,并且对于输入样本值均匀分布16个bin。在本实施例中,提出了灵活数量的bin,并且这些片段(bin)在原始像素值方面可能不是均匀分布的。

下表示例性地示出了根据该实施例的LMCS数据(数据字段)的语法和其中包括的语法元素的语义。

[表27]

[表28]

参考表27,可以发信号告知关于bin的数量lmcs_num_bins_minus1的信息。参考表28,lmcs_num_bins_minus1+1可以等于bin的数量,bin的数量可以在从1到(1<<BitDepthY)-1的范围内。例如,lmcs_num_bins_minus1或lmcs_num_bins_minus1+1可以是2的幂的倍数。

在连同表27和表28一起描述的实施例中,可以基于lmcs_num_bins_minus1(关于bin的数量的信息)导出轴心点的数量,而不管整形器是否是线性的(lmcs_num_bins_minus1的信令),以及可以基于发信号告知的码字值(lmcs_delta_input_cw[i],lmcs_delta_mapped_cw[i])(在此,初始输入值LmcsPivot_input[0]和初始输出值LmcsPivot_mapped[0]为0)的总和导出轴心点的输入值和映射值(LmcsPivot_input[i],LmcsPivot_mapped[i])。

图15示出了本文件的实施例中的线性前向映射的示例。图16示出了本文件的实施例中的逆前向映射的示例。

在根据图15和图16的实施例中,提出了一种支持常规LMCS和线性LMCS两者的方法。在根据该实施例的示例中,可以基于语法元素lmcs_is_linear来指示常规LMCS和/或线性LMCS。在编码器中,在确定线性LMCS线之后,映射值(即,图15和图16的pL中的映射值)可以被分成相等的片段(即,LmcsMaxBinIdx-lmcs_min_bin_idx+1)。bin LmcsMaxBinIdx中的码字可以使用上述用于lmcs数据或整形器模式的语法发信号告知。

下表示例性地示出了根据本实施例的示例的LMCS数据(数据字段)的语法和其中包括的语法元素的语义。

[表29]

[表30]

下表示例性地示出了根据本实施例的另一示例的LMCS数据(数据字段)的语法和其中包括的语法元素的语义。

[表31]

[表32]

参考表29至表32,当lmcs_is_linear_flag为真时,lmcs_min_bin_idx和LmcsMaxBinIdx之间的所有lmcsDeltaCW[i]可以具有相同的值。也就是说,lmcs_min_bin_idx和LmcsMaxBinIdx之间的所有片段的lmcsCW[i]可能具有相同的值。lmcs_min_bin_idx和LmcsMaxBinIdx之间的所有片段的缩放和逆缩放以及色度缩放可能相同。然后,如果线性整形器为真,则不需要导出片段索引,可以使用来自片段中的仅一个的缩放、逆缩放。

下表示例性地示出了根据本实施例的分段索引的识别过程。

[表33]

根据本文件的另一个实施例,常规的16片段PWL LMCS和线性LMCS的应用可以取决于较高级别的语法(即,序列级)。

下表示例性地示出了根据本实施例的SPS的语法以及其中包括的语法元素的语义。

[表34]

[表35]

参考表34和表35,可以通过包括在SPS中的语法元素来确定(发信号告知)使能常规LMCS和/或线性LMCS。参考表35,基于语法元素sps_linear_lmcs_enabled_flag,可以以序列为单位使用常规LMCS或线性LMCS之一。

此外,是否仅使能线性LMCS,或常规LMCS,或两者,也可能取决于简档级别。在一个示例中,对于特定的简档(即SDR简档),它可能仅允许线性LMCS,而对于另一个简档(即,HDR简档),它可能仅允许常规LMCS,而对于另一个简档,它可能允许常规LMCS和/或线性LMCS。

根据本文件的另一个实施例,LMCS分段索引识别过程可以用于逆亮度映射和色度残差缩放。在本实施例中,分段索引的识别过程可以用于使能色度残差缩放的块,也可以被调用以用于整形(映射)域中的所有亮度样本。本实施例旨在保持其低复杂度。

下表示出了现有分段函数索引的识别过程(导出过程)。

[表36]

在示例中,在分段索引识别过程中,可以将输入样本分为至少两类。例如,输入样本可以分为三类,第一类、第二类和第三类。例如,第一类可以表示小于LmcsPivot[lmcs_min_bin_idx+1]的样本(其值),第二类可以表示大于或等于LmcsPivot[LmcsMaxBinIdx]的样本(其值),第三类可以指示在LmcsPivot[lmcs_min_bin_idx+1]和LmcsPivot[LmcsMaxBinIdx]之间的样本(的值)。

在本实施例中,提出通过消除类别分类来优化识别过程。这是因为分段索引识别过程的输入是整形(映射)域中的亮度值,在轴心点lmcs_min_bin_idx和LmcsMaxBinIdx+1处不应有超出映射值的值。因此,现有的分段索引识别过程中将样本分类的条件性过程是不必要的。更详细的,下面结合表说明具体的示例。

在根据本实施例的示例中,表36中包括的识别过程可以用下表37或38之一代替。参考表37和表38,可以去掉表36的前两个类别,对于最后一个类别,将迭代循环中的边界值(第二边界值或终点)从LmcsMaxBinIdx改变为LmcsMaxBinIdx+1。即,可以简化识别过程并且可以降低分段索引导出的复杂度。因此,根据本实施例可以有效地执行LMCS相关编译。

[表37]

[表38]

参见表37,可以对从最小bin索引到最大bin索引的所有bin索引迭代地执行对应于if语句的条件的比较过程(对应于if语句的条件的等式)。在对应于if语句的条件的等式为真的情况下,可以将bin索引导出为逆亮度映射的逆映射索引(或色度残差缩放的逆缩放索引)。基于逆映射索引,可以导出修改的重构亮度样本(或缩放色度残差样本)。

创建以下附图以解释本说明书的具体示例。由于附图中描述的特定设备的名称或特定信号/消息/字段的名称以示例的方式呈现,因此本说明书的技术特征不限于以下附图中使用的特定名称。

图17和图18示意性地示出了根据本文件的实施例的视频/图像编码方法和相关组件的示例。图17中公开的方法可以由图2中公开的编码装置来执行。具体地,例如,图17的S1700和S1710可以由编码装置的预测器220执行,S1720可以由编码装置的残差处理器230执行,S1730可以由编码装置的预测器220或残差处理器230执行,S1740可以由编码装置的残差处理器230或加法器250执行,S1750可由编码装置的残差处理器230执行,以及S1760可由编码装置的熵编码器240执行。图17中公开的方法可以包括本文件中的上述实施例。

参照图17,编码装置可以导出用于当前图片中的当前块的帧间预测模式(S1700)。编码装置可以导出帧间预测模式中,本文件中公开的各种模式中的至少一种。

编码装置可以基于帧间预测模式,生成预测亮度样本(S1710)。编码装置可以通过对当前块中包括的原始样本执行预测来生成预测亮度样本。

编码装置可以导出预测色度样本。编码装置可以基于当前块的原始色度样本和预测色度样本导出残差色度样本。例如,编码装置可以基于预测色度样本和原始色度样本之间的差异来导出残差色度样本。

编码装置可以导出用于亮度映射和LMCS码字的bin。编码装置可以基于SDR或HDR导出bin和/或LMCS码字。

编码装置可以导出LMCS相关信息(S1720)。LMCS相关信息可以包括用于亮度映射和LMCS码字的bin。

编码装置可以基于亮度样本的映射过程生成映射的预测亮度样本(S1730)。编码装置可以基于用于亮度映射的bin和/或LMCS码字来生成映射的预测亮度样本。例如,编码装置可以导出用于亮度映射的轴心点的输入值和映射值(输出值),并且可以基于输入值和映射值生成映射的预测亮度样本。在一个示例中,编码设备可以基于第一预测亮度样本导出映射索引(idxY),并且可以基于输入值和与映射索引对应的轴心点的映射值生成第一映射的预测亮度样本。在其他示例中,可以使用线性映射(线性整形、线性LMCS)并且可以基于从线性映射中的两个轴心点导出的前向映射缩放因子来生成映射的预测亮度样本,因此由于线性映射,可以省略索引导出过程。

编码装置可以生成缩放的残差色度样本。具体地,编码装置可以导出色度残差缩放因子并且基于色度残差缩放因子生成缩放的残差色度样本。在此,编码端的色度残差缩放可以被称为前向色度残差缩放。因此,由编码装置导出的色度残差缩放因子可以被称为前向色度残差缩放因子,并且可以生成前向缩放残差色度样本。

编码装置可以生成重构亮度样本。编码装置可以基于映射的预测亮度样本生成重构亮度样本。具体地,编码装置可以将上述残差亮度样本与映射的预测亮度样本相加,并且可以基于求和的结果生成重构的亮度样本。

编码装置可以基于亮度样本的逆映射过程生成修改的重构亮度样本(S1740)。编码装置可以基于用于亮度映射的bin、LMCS码字和重构亮度样本来生成修改的重构亮度样本。编码装置可以通过用于重构亮度样本的逆映射过程来生成修改的重构亮度样本。例如,编码设备可以基于重构亮度样本和/或分配给逆映射过程中的每个bin索引的映射值(即LmcsPivot[i],i=lmcs_min_bin_idx...LmcsMaxBinIdx+1)导出逆映射索引(即invYIdx)。编码设备可以基于分配给逆映射索引的映射值(LmcsPivot[invYIdx])生成修改的重构亮度样本。

编码装置可以基于映射的预测亮度样本生成残差亮度样本。例如,编码装置可以基于映射的预测亮度样本和原始亮度样本之间的差异来导出残差亮度样本。

编码装置可以导出残差信息(S1750)。在一个示例中,编码装置可以基于映射的预测亮度样本和修改的重构亮度样本生成残差信息。例如,编码装置可以基于缩放的残差色度样本和/或残差亮度样本导出残差信息。编码装置可以基于缩放的残差色度样本和/或残差亮度样本的变换过程来导出变换系数。例如,变换过程可以包括DCT、DST、GBT或CNT中的至少一种。编码装置可以基于对变换系数的量化过程来导出量化的变换系数。量化的变换系数可以具有基于系数扫描顺序的一维向量形式。编码装置可以生成指定量化的变换系数的残差信息。残差信息可以通过各种编码方法(诸如指数哥伦布、CAVLC、CABAC等)生成。

编码装置可以对图像/视频信息进行编码(S1760)。图像信息可以包括关于LMCS数据的信息和/或残差信息。例如,LMCS相关信息可以包括关于线性LMCS的信息。在一个示例中,可以基于关于线性LMCS的信息来导出至少一个LMCS码字。编码的视频/图像信息可以以比特流的形式输出。比特流可以通过网络或存储介质发送到解码设备。

根据本文件的实施例,图像/视频信息可以包括各种信息。例如,图像/视频信息可以包括在上述表1至38的至少一个中公开的信息。

在一个实施例中,可以基于关于bin的信息导出最小bin索引和最大bin索引。例如,可以基于关于LMCS码字的信息导出基于从最小bin索引到最大bin索引的bin索引的映射值。映射值可以包括第一映射值(即,LmcsPivot[idxY])和第二映射值(即,LmcsPivot[idxYInv])。在用于亮度样本的映射过程中,可以基于预测亮度样本导出映射索引,以及可以通过使用基于映射索引的第一映射值生成映射的预测亮度样本。在亮度样本的逆映射过程中,基于映射值导出逆映射索引,该映射值基于从最小bin索引到最大bin索引的bin索引。可以通过使用基于逆映射索引的第二映射值来生成修改的重构亮度样本。

在一个实施例中,可以基于LMCS码字导出基于从最小bin索引到最大bin索引的bin索引的映射值。例如,可以基于映射值来生成映射的预测亮度样本和修改的重构亮度样本,该映射值基于从最小bin索引到最大bin索引的bin索引。

在一个实施例中,可以基于映射值与重构亮度样本的值之间的比较来导出逆映射索引,该映射值基于从最小bin索引到最大bin索引的bin索引。

在一个实施例中,bin索引包括指示第一映射值的第一bin索引。可以基于映射值以及重构亮度样本的值之间的比较来导出第一bin索引,该映射值基于从最小bin索引到最大bin索引的bin索引。可以基于重构亮度样本和第一映射值导出修改的重构亮度样本中的至少一个。

在一个实施例中,bin索引包括指示第一映射值的第一bin索引,并且可以基于包括在表37中的比较式(lumaSample<LmcsPivot[idxYInv+1])导出第一bin索引。例如,在上面的等式中,lumaSample表示重构亮度样本中的目标亮度样本的值,idxYInv表示bin索引之一,LmcsPivot[idxYInv+1]表示基于从最小bin索引到最大bin的bin索引的映射值之一。可以基于重构亮度样本和第一映射值导出重构亮度样本中的至少一个。在一个示例中,在比较式(lumaSample<LmcsPivot[idxYInv+1])为真的情况下,可以将bin索引导出为逆映射索引。

在一个实施例中,可以对从最小bin索引到最大bin索引的所有bin索引执行包括在表37中的比较过程(lumaSample<LmcsPivot[idxYInv+1])。

在一个实施例中,图像信息包括残差信息。基于残差信息生成残差色度样本。基于LMCS相关信息识别逆缩放索引,并且可以基于逆缩放索引导出色度残差缩放因子。可以基于残差色度样本和色度残差缩放因子生成缩放的残差色度样本。

在一个实施例中,可以基于残差信息生成残差色度样本。bin索引可以包括指示第一映射值的第一bin索引。可以基于映射值与重构亮度样本的值之间的比较来导出第一bin索引,该映射值基于从最小bin索引到最大bin索引的bin索引。可以基于第一bin索引导出色度残差缩放因子。可以基于残差色度样本和色度残差缩放因子生成缩放的残差色度样本。可以基于缩放的残差色度样本生成重构的色度样本。

在一个实施例中,图像信息包括关于线性LMCS的信息,关于LMCS数据的信息包括指示是否应用线性LMCS的线性LMCS标志,并且当基于关于线性LMCS的信息生成映射的预测亮度样本时,线性LMCS标志的值可以为1。

在一个实施例中,关于线性LMCS的信息包括关于第一轴心点(即,图12中的P1)的信息和关于第二轴心点(即,图12中的P2)的信息。例如,第一轴心点的输入值和映射值分别为最小输入值和最小映射值。第二轴心点的输入值和映射值分别为最大输入值和最大映射值。线性地映射最小输入值和最大输入值之间的输入值。

在一个实施例中,图像信息可以包括序列参数集(SPS)。SPS可以包括指定是否使能线性LMCS的线性LMCS使能标志。

在一个实施例中,可以基于LMCS相关信息导出最小bin索引(即,lmcs_min_bin_idx)和/或最大bin索引(即,LmcsMaxBinIdx)。可以基于最小bin索引导出第一映射值(LmcsPivot[lmcs_min_bin_idx])。可以基于最大bin索引导出第二映射值(LmcsPivot[LmcsMaxBinIdx]或LmcsPivot[LmcsMaxBinIdx+1])。重构亮度样本的值(即,表37或38的lumaSample)可以在从第一映射值到第二映射值的范围内。在一个示例中,所有重构亮度样本的值可以在从第一映射值到第二映射值的范围内。在另一示例中,一些重构亮度样本的值可以在从第一映射值到第二映射值的范围内。

在一个实施例中,编码装置可以生成(导出)用于色度残差缩放的分段索引。编码装置可以基于分段索引导出色度残差缩放因子。编码装置可以基于残差色度样本和色度残差缩放因子生成缩放残差色度样本。

在一个实施例中,色度残差缩放因子可以是单个色度残差缩放因子。

在一个实施例中,LMCS相关信息可以包括LMCS数据字段和关于线性LMCS的信息。关于线性LMCS的信息可以被称为关于线性映射的信息。LMCS数据字段可以包括指示是否应用线性LMCS的线性LMCS标志。当线性LMCS标志的值为1时,可以基于关于线性LMCS的信息生成映射的预测亮度样本。

在一个实施例中,图像信息包括关于最大输入值的信息和关于最大映射值的信息。最大输入值等于关于最大输入值的信息的值(即,表21中的lmcs_max_input)。最大映射值等于关于最大映射值的信息的值(即,表21中的lmcs_max_mapped)。

在一个实施例中,关于线性映射的信息包括关于第二轴心点的输入德尔塔值的信息(即,表23中的lmcs_max_input_delta)和关于第二轴心点的映射德尔塔值的信息(即,表23中的lmcs_max_mapped_delta)。可以基于第二轴心点的输入德尔塔值导出最大输入值,并且可以基于第二轴心点的映射德尔塔值导出最大映射值。

在一个实施例中,可以基于包括在上述表24中的至少一个等式导出最大输入值和最大映射值。

在一个实施例中,生成映射预测亮度样本包括导出预测亮度样本的前向映射缩放因子(即ScaleCoeffSingle),并且基于前向映射缩放因子生成映射预测亮度样本。前向映射缩放因子可以是预测亮度样本的单个因子。

在一个实施例中,可以基于包括在上述表22和/或表24中的至少一个等式导出前向映射缩放因子。

在一个实施例中,可以基于包括在上述表26中的至少一个等式导出映射的预测亮度样本。

在一个实施例中,编码装置可以导出用于重构的亮度样本(即,lumaSample)的逆映射缩放因子(即,InvScaleCoeffSingle)。此外,编码装置可以基于重构亮度样本和逆映射缩放因子生成修改的重构亮度样本(即,invSample)。逆映射缩放因子可以是用于重构亮度样本的单个因子。

在一个实施例中,可以使用基于重构亮度样本导出的分段索引来导出逆映射缩放因子。

在一个实施例中,可以基于上述表36导出分段索引。即,可以从作为最小bin索引的分段索引到作为最大bin索引的分段索引迭代地执行包括在表37中的比较过程(lumaSample<LmcsPivot[idxYInv+1])。

在一个实施例中,可以基于包括在表19、20、22和24中的等式或上述等式11或12中的至少一个来导出逆映射缩放因子。

在一个实施例中,可以基于上述等式21导出修改的重构亮度样本。

在一个实施例中,LMCS相关信息可以包括关于用于导出映射的预测亮度样本的bin的数量的信息(即,表27中的lmcs_num_bins_minus1)。例如,用于亮度映射的轴心点的数量可以被设置为等于bin的数量。在一个示例中,编码装置可以分别根据bin的数量生成轴心点的德尔塔输入值和德尔塔映射值。在一个示例中,基于德尔塔输入值(即表27中的lmcs_delta_input_cw[i])和德尔塔映射值(即表28中的lmcs_delta_mapped_cw[i])导出轴心点的输入值和映射值,并且可以基于输入值(即表28的LmcsPivot_input[i],或表10的InputPivot[i])和映射值(即表28的LmcsPivot_mapped[i],或表10的LmcsPivot[i])生成映射的预测亮度样本。

在一个实施例中,编码装置可以基于至少一个LMCS码字和包括在LMCS相关信息中的原始码字(OrgCW)导出LMCS德尔塔码字,并且可以基于至少一个LMCS码字和原始码字导出映射的亮度预测样本。在一个示例中,关于线性映射的信息可以包括关于LMCS德尔塔码字的信息。

在一个实施例中,可以基于LMCS德尔塔码字和OrgCW的总和导出至少一个LMCS码字,例如OrgCW是(1<<BitDepthY)/16,其中BitDepthY表示亮度比特深度。该实施例可以基于等式12。

在一个实施例中,可以基于LMCS德尔塔码字和OrgCW*(lmcs_max_bin_idx-lmcs_min_bin_idx+1)的总和导出至少一个LMCS码字,例如,lmcs_max_bin_idx和lmcs_min_bin_idx分别是最大bin索引和最小bin索引,并且OrgCW可以是(1<<BitDepthY)/16。该实施例可以基于等式15和16。

在一个实施例中,至少一个LMCS码字可以是二的倍数。

在一个实施例中,当重构亮度样本的亮度比特深度(BitDepthY)大于10时,至少一个LMCS码字可以是1<<(BitDepthY-10)的倍数。

在一个实施例中,至少一个LMCS码字可以在从(OrgCW>>1)到(OrgCW<<1)-1的范围内。

图19和图20示意性地示出了根据本文件的实施例的图像/视频解码方法和相关组件的示例。图19中公开的方法可以由图3所示的解码装置执行。具体地,例如,图19的S1900可以由解码装置的熵解码器310执行,S1910、S1920可以由解码装置的预测器330执行,S1930可以由解码装置的残差处理器320或预测器330执行,以及S1940可以由解码装置的残差处理器320、预测器330和/或加法器340执行。图19中公开的方法可以包括本文件中的上述实施例。

参照图19,解码装置可以接收/获得视频/图像信息(S1900)。视频/图像信息可以包括预测模式信息、LMCS相关信息和/或残差信息。例如,LMCS相关信息可以包括关于亮度映射(即,前向映射、逆映射、线性映射)的信息、关于色度残差缩放的信息和/或与LMCS(或整形、整形器)相关的索引(即,最大bin索引、最小bin索引、映射索引)。解码装置可以通过比特流接收/获得图像/视频信息。

根据本文件的实施例,图像/视频信息可以包括各种信息。例如,图像/视频信息可以包括在上述表1至表38的至少一个中公开的信息。

解码装置可以基于预测模式信息导出用于当前图片中的当前块的预测模式(S1910)。解码装置可以导出帧间预测模式中,本文件中公开的各种模式中的至少一种。

解码装置可以生成预测亮度样本(S1920)。解码装置可以基于预测模式导出当前块的预测亮度样本。解码装置可以通过对当前块中包括的原始样本执行预测来产生预测亮度样本。

解码装置可以生成映射的预测亮度样本(S1930)。解码装置可以基于亮度样本的映射过程生成映射的预测亮度样本。例如,解码装置可以导出用于亮度映射的轴心点的输入值和映射值(输出值),并且可以基于输入值和映射值生成映射预测亮度样本。在一个示例中,解码装置可以基于第一预测亮度样本导出(前向)映射索引(idxY),并且可以基于输入值和与映射索引对应的轴心点的映射值生成第一映射的预测亮度样本。在其他示例中,可以使用线性映射(线性整形、线性LMCS)并且可以基于从线性映射中的两个轴心点导出的前向映射缩放因子来生成映射的预测亮度样本,因此由于线性映射,可以省略索引导出过程。

解码装置可以基于残差信息生成残差色度样本和/或残差亮度样本。例如,解码装置可以基于残差信息导出量化的变换系数。量化的变换系数可以具有基于系数扫描顺序的一维向量形式。解码装置可以基于对量化的变换系数的解量化过程来导出变换系数。解码装置可以基于变换系数的逆变换过程导出残差样本。残差样本可以包括残差亮度样本和/或残差色度样本。

解码装置可以生成重构亮度样本。解码装置可以基于映射的预测亮度样本生成重构亮度样本。具体地,解码装置可以将残差亮度样本与映射的预测亮度样本相加,并且可以基于求和的结果生成重构亮度样本。

解码装置可以生成修改的重构亮度样本。解码装置可以基于亮度样本的逆映射过程生成修改的重构亮度样本。解码装置可以基于关于LMCS数据的信息和重构亮度样本生成修改的重构亮度样本(S1940)。解码装置可以通过对重构亮度样本的逆映射过程来生成修改的重构亮度样本。

解码装置可以生成缩放的残差色度样本。具体地,解码装置可以导出色度残差缩放因子,并且基于色度残差缩放因子生成缩放的残差色度样本。在此,与编码侧相反,解码侧的色度残差缩放可以被称为逆色度残差缩放。相应地,由解码装置导出的色度残差缩放因子可以被称为逆色度残差缩放因子,并且可以生成逆缩放的残差色度样本。

解码装置可以生成重构色度样本。解码装置可以基于缩放的残差色度样本生成重构色度样本。具体地,解码装置可以执行用于色度分量的预测过程,并且生成预测色度样本。解码装置可以基于预测色度样本和缩放的残差色度样本的总和来生成重构色度样本。

在一个实施例中,可以基于LMCS码字导出基于从最小bin索引到最大bin索引的bin索引的映射值。例如,可以基于映射值来生成映射的预测亮度样本和修改的重构亮度样本,该映射值基于从最小bin索引到最大bin索引的bin索引。

在一个实施例中,LMCS相关信息可以包括关于用于映射和逆映射的bin的信息和关于LMCS码字的信息。例如,可以基于关于bin的信息导出最小bin索引和最大bin索引。可以基于关于LMCS码字的信息导出基于从最小bin索引到最大bin索引的bin索引的映射值。映射值可以包括第一映射值(即,LmcsPivot[idxY])和第二映射值(即,LmcsPivot[idxYInv])。在用于亮度样本的映射过程中,可以基于预测亮度样本导出映射索引(即idxY),以及可以通过利用基于映射索引的第一映射值生成映射的预测亮度样本。在亮度样本的逆映射过程中,基于映射值导出逆映射索引(即idxY),该映射值基于从最小bin索引到最大bin索引的bin索引。可以通过使用基于逆映射索引的第二映射值来生成修改的重构亮度样本。

在一个实施例中,图像信息可以包括序列参数集(SPS)。SPS可以包括指定是否使能线性LMCS的线性LMCS使能标志。

在一个实施例中,bin索引包括指示第一映射值的第一bin索引。可以基于映射值以及重构亮度样本的值之间的比较来导出第一bin索引,该映射值基于从最小bin索引到最大bin索引的bin索引。可以基于重构亮度样本和第一映射值导出修改的重构亮度样本中的至少一个。

在一个实施例中,bin索引包括指示第一映射值的第一bin索引,并且可以基于包括在表37中的比较式(lumaSample<LmcsPivot[idxYInv+1])导出第一bin索引。例如,在上面的等式中,lumaSample表示重构亮度样本中的目标亮度样本的值,idxYInv表示bin索引之一,LmcsPivot[idxYInv+1]表示基于从最小bin索引到最大bin的bin索引的映射值之一。可以基于重构亮度样本和第一映射值导出重构亮度样本中的至少一个。在一个示例中,在比较式(lumaSample<LmcsPivot[idxYInv+1])为真的情况下,可以将bin索引导出为逆映射索引。

在一个实施例中,可以对从最小bin索引到最大bin索引的所有bin索引执行包括在表37中的比较过程(lumaSample<LmcsPivot[idxYInv+1])。

在一个实施例中,图像信息包括残差信息。基于残差信息生成残差色度样本。基于LMCS相关信息识别逆缩放索引,并且可以基于逆缩放索引导出色度残差缩放因子。可以基于残差色度样本和色度残差缩放因子生成缩放的残差色度样本。

在一个实施例中,可以基于残差信息生成残差色度样本。bin索引可以包括指示第一映射值的第一bin索引。可以基于映射值与重构亮度样本的值之间的比较来导出第一bin索引,该映射值基于从最小bin索引到最大bin索引的bin索引。可以基于第一bin索引导出色度残差缩放因子。可以基于残差色度样本和色度残差缩放因子生成缩放的残差色度样本。可以基于缩放的残差色度样本生成重构的色度样本。

在一个实施例中,关于LMCS数据的信息可以包括关于线性LMCS的信息。关于线性LMCS的信息可以被称为关于线性映射的信息。关于LMCS数据的信息可以包括指示是否应用线性LMCS的线性LMCS标志。当线性LMCS标志的值为1时,可以基于关于线性LMCS的信息生成映射的预测亮度样本。

在一个实施例中,关于线性LMCS的信息包括关于第一轴心点(即,图12中的P1)的信息和关于第二轴心点(即,图12中的P2)的信息。例如,第一轴心点的输入值和映射值分别为最小输入值和最小映射值。第二轴心点的输入值和映射值分别为最大输入值和最大映射值。线性地映射最小输入值和最大输入值之间的输入值。

在一个实施例中,可以基于LMCS相关信息导出最小bin索引(即,lmcs_min_bin_idx)和/或最大bin索引(即,LmcsMaxBinIdx)。可以基于最小bin索引导出第一映射值(LmcsPivot[lmcs_min_bin_idx])。可以基于最大bin索引导出第二映射值(LmcsPivot[LmcsMaxBinIdx]或LmcsPivot[LmcsMaxBinIdx+1])。重构亮度样本的值(即,表37或表38的lumaSample)可以在从第一映射值到第二映射值的范围内。在一个示例中,所有重构亮度样本的值可以在从第一映射值到第二映射值的范围内。在另一示例中,一些重构亮度样本的值可以在从第一映射值到第二映射值的范围内。

在一个实施例中,可以基于LMCS相关信息来识别分段索引(即,表35、36或37中的idxYInv)。解码装置可以基于分段索引导出色度残差缩放因子。解码装置可以基于残差色度样本和色度残差缩放因子生成缩放残差色度样本。

在一个实施例中,色度残差缩放因子可以是单个色度残差缩放因子。

在一个实施例中,图像信息包括关于最大输入值的信息和关于最大映射值的信息。最大输入值等于关于最大输入值的信息的值(即,表21中的lmcs_max_input)。最大映射值等于关于最大映射值的信息的值(即,表21中的lmcs_max_mapped)。

在一个实施例中,关于线性映射的信息包括关于第二轴心点的输入德尔塔值的信息(即,表23中的lmcs_max_input_delta)和关于第二轴心点的映射德尔塔值的信息(即,表23中的lmcs_max_mapped_delta)。可以基于第二轴心点的输入德尔塔值导出最大输入值,并且可以基于第二轴心点的映射德尔塔值导出最大映射值。

在一个实施例中,可以基于包括在上述表24中的至少一个等式导出最大输入值和最大映射值。

在一个实施例中,生成映射预测亮度样本包括导出预测亮度样本的前向映射缩放因子(即ScaleCoeffSingle),并且基于前向映射缩放因子生成映射预测亮度样本。前向映射缩放因子可以是预测亮度样本的单个因子。

在一个实施例中,可以使用基于重构亮度样本导出的分段索引来导出逆映射缩放因子。

在一个实施例中,分段索引可以基于上述表36导出。即,可以从作为最小bin索引的分段索引到作为最大bin索引的分段索引迭代地执行包括在表37中的比较过程(lumaSample<LmcsPivot[idxYInv+1])。

在一个实施例中,可以基于包括在上述表22和/或24中的至少一个等式导出前向映射缩放因子。

在一个实施例中,可以基于包括在上述表26中的至少一个等式导出映射的预测亮度样本。

在一个实施例中,解码装置可以导出用于重构的亮度样本(即,lumaSample)的逆映射缩放因子(即,InvScaleCoeffSingle)。此外,解码装置可以基于重构亮度样本和逆映射缩放因子生成修改的重构亮度样本(即,invSample)。逆映射缩放因子可以是用于重构亮度样本的单个因子。

在一个实施例中,可以基于包括在表19、20、22和24中的等式或上述等式11或12中的至少一个来导出逆映射缩放因子。

在一个实施例中,可以基于上述等式21导出修改的重构亮度样本。

在一个实施例中,LMCS相关信息可以包括关于用于导出映射的预测亮度样本的bin的数量的信息(即,表27中的lmcs_num_bins_minus1)。例如,用于亮度映射的轴心点的数量可以被设置为等于bin的数量。在一个示例中,编码装置可以分别根据bin的数量生成轴心点的德尔塔输入值和德尔塔映射值。在一个示例中,基于德尔塔输入值(即表27中的lmcs_delta_input_cw[i])和德尔塔映射值(即表28中的lmcs_delta_mapped_cw[i])导出轴心点的输入值和映射值,并且可以基于输入值(即表28的LmcsPivot_input[i],或表10的InputPivot[i])和映射值(即表28的LmcsPivot_mapped[i],或表10的LmcsPivot[i])生成映射的预测亮度样本。

在一个实施例中,解码装置可以基于至少一个LMCS码字和包括在LMCS相关信息中的原始码字(OrgCW)导出LMCS德尔塔码字,并且可以基于至少一个LMCS码字和原始码字导出映射的亮度预测样本。在一个示例中,关于线性映射的信息可以包括关于LMCS德尔塔码字的信息。

在一个实施例中,可以基于LMCS德尔塔码字和OrgCW的总和导出至少一个LMCS码字,例如OrgCW是(1<<BitDepthY)/16,其中BitDepthY表示亮度比特深度。该实施例可以基于等式12。

在一个实施例中,可以基于LMCS德尔塔码字和OrgCW*(lmcs_max_bin_idx-lmcs_min_bin_idx+1)的总和导出至少一个LMCS码字,例如,lmcs_max_bin_idx和lmcs_min_bin_idx分别是最大bin索引和最小bin索引,并且OrgCW可以是(1<<BitDepthY)/16。该实施例可以基于等式15和16。

在一个实施例中,至少一个LMCS码字可以是二的倍数。

在一个实施例中,当重构亮度样本的亮度比特深度(BitDepthY)大于10时,至少一个LMCS码字可以是1<<(BitDepthY-10)的倍数。

在一个实施例中,至少一个LMCS码字可以在从(OrgCW>>1)到(OrgCW<<1)-1的范围内。

在上述实施例中,基于具有一系列步骤或框的流程图来描述方法。本公开不限于上述步骤或框的顺序。一些步骤或框可以与如上所述的其他步骤或框同时发生或以不同的顺序发生。此外,本领域技术人员将理解到,上述流程图中所示的步骤并非排他性的,在不影响本公开的范围的情况下,可以包括进一步的步骤,或者可以删除流程图中的一个或多个步骤。

可以以软件形式实现根据本文件的上述实施例的方法,以及根据本文件的编码设备和/或解码设备例如可以被包括在执行TV、计算机、智能手机、机顶盒、显示设备等的图像处理的设备中。

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

此外,应用本公开的解码装置和编码装置可以被包括在多媒体广播传输/接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监控摄像机、视频聊天装置、诸如视频通信的实时通信装置、移动流传输装置、存储介质、摄像机、VoD服务提供装置、过顶(OTT)视频装置、互联网流传输服务提供装置、三维(3D)视频装置、电话会议视频装置、交通用户设备(即车辆用户设备、飞机用户设备、船舶用户设备等)和医疗视频装置,并且可以被用于处理视频信号和数据信号。例如,过顶(OTT)视频装置可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能手机、平板计算机、数字录像机(DVR)等。

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

另外,本文件的实施例可以利用根据程序代码用计算机程序产品来实现,程序代码可以通过本文件实施例在计算机中执行。程序代码可以被存储可由计算机读取的载体上。

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

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

编码服务器将从诸如智能手机、相机、摄像机等多媒体输入设备输入的内容压缩成数字数据以生成比特流并将该比特流发送到流传输服务器。又如,当诸如智能手机、相机、摄像机等多媒体输入设备直接生成比特流时,可以省略编码服务器。

比特流可以通过应用本公开的实施例的编码方法或比特流生成方法生成,以及流传输服务器可以在发送或接收比特流的过程中临时存储比特流。

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

流传输服务器可以从介质存储和/或编码服务器接收内容。例如,当从编码服务器接收到内容时,可以实时接收该内容。在这种情况下,为了提供流畅的流传输服务,流传输服务器可以将比特流存储预定时间。

用户设备的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航、板式计算机、平板计算机、超级本、可穿戴设备(例如智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。内容流传输系统中的每个服务器都可以被操作为分布式服务器运行,在这种情况下,可以分发从每个服务器接收到的数据。

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

在此描述的权利要求可以以各种方式组合。例如,可以将本文件的方法权利要求的技术特征组合并且实现为装置,以及将本文件的装置权利要求的技术特征组合并实现为方法。此外,本文件方法权利要求的技术特征和装置权利要求的技术特征可以组合以实现为装置,以及本文件的方法权利要求的技术特征和装置权利要求的技术特征可以组合并且被实现为方法。

84页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:编码方法及其装置和解码方法及其装置

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类