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

用于交叉分量预测的方法和装置

文献发布时间:2023-06-19 16:06:26



技术领域

本公开总体上涉及视频编解码,并且更具体地涉及执行编码块中的样本的交叉分量预测。

背景技术

尽管视频压缩技术有所进步,但数字视频仍然在互联网和其它数字通信网络上占据最大的带宽使用。随着能够接收和显示视频的联网用户设备数量的增加,预计对数字视频使用的带宽需求将继续增长。

发明内容

以下提供了一个或多个方面的简化概述,以提供对这些方面的基本理解。该概述不是对所有预期方面的广泛概述,并且既不旨在确定所有方面的关键或基本要素,也不旨在界定任何或所有方面的范围。它的唯一目的是以简化的形式呈现一个或多个方面的一些概念,作为稍后呈现的更详细描述的前奏。

本公开的方面包括:针对视频的当前视频块与视频的比特流之间的转换,确定交叉分量预测模型的偏移参数,当前视频块是利用交叉分量预测模式被编码的色度块,偏移参数基于来自当前视频块的两个或更多相邻样本的导出样本值;以及基于该确定执行转换。

本公开的方面包括:针对视频的当前视频块与视频的比特流之间的转换,确定与模型或组相关联的缩放参数取决于与模型或组相关联的当前视频块的相邻样本,当前视频块是利用多模型交叉分量预测模式被编码的色度块;以及基于该确定执行转换。

本公开的方面包括:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,应用对当前视频块的多于一行相邻样本或当前视频块的多于一列相邻样本进行重采样。

本公开的方面包括:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中模型参数基于当前视频块的相邻样本,其中相邻样本的数目或位置中的至少一项取决于当前视频块的块宽度或块高度中的至少一项。

本公开的方面包括:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中模型参数基于当前视频块的相邻样本,其中相邻样本的数目或位置中的至少一项取决于当前视频块的块宽度或块高度中的至少一项。

本公开的方面包括:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,执行位深(bit-depth)移位操作被应用。

本公开的方面包括:针对视频的当前视频块与视频的比特流之间的转换,使用非线性模型确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换。

本公开的方面包括:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,选择用于交叉分量预测的相邻样本被应用。

本公开的方面包括:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,过滤用于交叉分量预测的相邻样本被应用。

本公开的方面包括:针对作为色度块的视频的当前视频块与视频的比特流之间的转换,确定利用一个或多个模型进行与交叉分量预测模式相关联的交叉分量预测;并且基于该确定执行转换。

本公开的方面包括:针对作为色度块的视频的当前视频块与视频的比特流之间的转换,基于与交叉分量预测模式相关联的交叉分量预测的第一模型确定当前视频块的第一预测,并且基于与非交叉分量预测模式相关联的非交叉分量预测的第二模型确定当前视频块的第二预测;以及基于该确定执行转换。

为了实现上述和相关的目的,一个或多个方面包括在下文中充分描述并且在权利要求中特别指出的特征。以下描述和附图详细阐述了一个或多个方面的一些说明性特征。然而,这些特征仅指示可以采用各个方面的原理的各种方式中的几种,并且本说明书旨在包括所有这些方面及其等同物。

附图说明

图1是示出根据本公开的一些方面的视频编解码系统的示例的框图;

图2是示出根据本公开的一些方面的视频编码器的第一示例的框图;

图3是示出根据本公开的一些方面的视频解码器的示例的框图;

图4是示出根据本公开的一些方面的视频编码器的第二示例的框图;

图5是根据本公开的一些方面的通用视频编解码(VVC)的编码器框图的示例;

图6是根据本公开的一些方面的具有67个帧内预测模式以捕获在自然视频中呈现的任意边缘方向的帧内模式编解码的示意图;

图7和图8是根据本公开的一些方面的广角帧内预测的参考示例图;

图9是根据本公开的一些方面的在超过45°角的方向的情况下的不连续性的图;

图10是根据本公开的一些方面的用于导出色度的α和β的样本的位置的示意图;

图11是根据本公开的一些方面的用于导出亮度的α和β的样本的位置的示意图;

图12至图15示出了根据本公开的一些方面的用于在各种预测模式上应用的PDPC的参考样本(Rx,-1和R-1,y)的示例;

图16是根据本公开的各方面的所使用的多参考线(MRL)帧内预测的图;

图17和图18是根据本公开的一些方面的根据块大小将亮度帧内预测块垂直或水平划分为子分割(sub-partitions)的帧内子分割(ISP)的示例图;

图19是根据本公开的一些方面的用于VVC的矩阵加权帧内预测过程(MIP)方法的图;

图20是根据本公开的一些方面的基于模板的帧内模式导出的图,其中目标表示要针对其估计帧内预测模式的当前块(其块大小为N);

图21是根据本公开的一些方面的可以基于帧内预测模式导出来对其执行梯度分析的一组选定像素的模板的图;

图22是根据本公开的各方面的3×3索贝尔(Sobel)梯度过滤器与模板的卷积的图;

图23是根据本公开的一些方面的帧内模式编解码的示例的示意图;

图24是根据本公开的一些方面的包括左上子模板的示例模板的图;

图25是根据本公开的一些方面的包括左子模板和上子模板的示例模板的图;

图26是根据本公开的一些方面的包括上子模板的示例模板的图;

图27是根据本公开的一些方面的包括左子模板的示例模板的图;

图28是根据本公开的一些方面的包括左子模板和左下子模板的示例模板的图;

图29是根据本公开的一些方面的包括上子模板和右上子模板的示例模板的图;

图30是根据本公开的一些方面的包括左子模板、左下子模板、上子模板和右上子模板的示例模板的图;

图31是根据本公开的一些方面的包括左上子模板、左子模板、左下子模板、上子模板和右上子模板的示例模板的图;

图32是根据本公开的一些方面的包括与目标块间隔开的子模板的示例模板的图;

图33是根据本公开的一些方面的包括左上子模板、左子模板和上子模板的模板的示例模板参考样本的图;

图34是根据本公开的一些方面的包括左子模板和上子模板的模板的示例模板参考样本的图;

图35是根据本公开的一些方面的包括上子模板的模板的示例模板参考样本的图;

图36是根据本公开的一些方面的包括左子模板的模板的示例模板参考样本的图;

图37是根据本公开的一些方面的包括上子模板的模板的具有水平间隙的示例模板参考样本的图;

图38是根据本公开的一些方面的包括上子模板的模板的具有垂直间隙的示例模板参考样本的图;

图39是根据本公开的一些方面的模板的具有垂直移位部分的示例模板参考样本的图;

图40是根据本公开的一些方面的模板的具有水平移位部分的示例模板参考样本的图;

图41是根据本公开的一些方面的示例交叉分量预测器的图;

图42是根据本公开的一些方面的导出beta的第一示例方法的流程图;

图43是根据本公开的一些方面的导出beta的第二示例方法的流程图

图44是根据本公开的一些方面的交叉分量预测的第一示例方法的流程图;

图45是根据本公开的一些方面的交叉分量预测的第二示例方法的流程图;

图46是根据本公开的一些方面的交叉分量预测的第三示例方法的流程图;

图47是根据本公开的一些方面的交叉分量预测的第四示例方法的流程图;

图48是根据本公开的一些方面的交叉分量预测的第五示例方法的流程图;

图49是根据本公开的一些方面的邻居选择的第一示例方法的流程图;

图50是根据本公开的一些方面的邻居选择的第二示例方法的流程图;

图51是根据本公开的一些方面的多模型交叉分量预测的示例方法的流程图;以及

图52是根据本公开的一些方面的将交叉分量预测的模型与非交叉分量预测模型整合的示例方法的流程图。

具体实施方式

下面结合附图阐述的详细描述旨在作为对各种配置的描述,而不旨在表示可以实践本文中描述的概念的唯一配置。详细描述包括用于提供对各种概念的透彻理解的特定细节。然而,对于本领域普通技术人员来说很清楚的是,可以在没有这些具体细节的情况下实践这些概念。在某些情况下,结构和组件以框图形式示出以避免混淆这样的概念。

现在将参考各种装置和方法来呈现视频编解码和解码的若干方面。这些装置和方法将在以下详细描述中进行描述,并且在附图中通过各种块、组件、电路、过程、算法和其他示例(统称为“元件”)进行说明。这些元件可以使用电子硬件、计算机软件或其任何组合来实现。这些元件是作为硬件还是软件实现取决于特定应用和对整个系统施加的设计约束。

例如,元件或元件的任何部分或元件的任何组合可以被实现为包括一个或多个处理器的“处理系统”。处理器的示例包括被配置为执行贯穿本公开而描述的各种功能的微处理器、微控制器、图形处理单元(GPU)、中央处理单元(CPU)、应用处理器、数字信号处理器(DSP)、精简指令集计算(RISC)处理器、片上系统(SoC)、基带处理器、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门控逻辑、分立硬件电路和其他合适的硬件。处理系统中的一个或多个处理器可以执行软件。软件应当广义地解释为指令、指令集、代码、代码段、程序代码、程序、子程序、软件组件、应用、软件应用、软件包、例程、子例程、对象、可执行文件、执行线程、过程、函数和其他示例,无论是被称为软件、固件、中间件、微代码、硬件描述语言还是其他。

因此,在一个或多个示例中,所描述的功能可以以硬件、软件或其任何组合来实现。如果以软件实现,则这些功能可以作为一个或多个指令或代码存储或编码在计算机可读介质上。计算机可读介质包括计算机存储介质。存储介质可以是计算机可以访问的任何可用介质。作为示例而非限制,这样的计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、光盘存储器、磁盘存储器、其他磁存储设备、上述类型的计算机可读介质的组合、或可以用于以可以由计算机访问的指令或数据结构的形式存储计算机可执行代码的任何其他介质。

本方面总体上涉及交叉分量预测(CCP)。在常规视频编码/解码中,针对CCP的线性模型导出两个参数,即alpha和beta。beta的导出基于来自相邻样本的最小亮度值及其相关联的色度值。本公开的一方面包括使用下面讨论的一种或多种方法导出beta。本公开的另一方面包括使用其他模型(包括非线性模型)来导出alpha和/或beta,如下面讨论的。在本公开的一些方面,以下讨论用于选择在用于CCP的模型中使用的邻居的方法。在本公开的一方面中,可以针对CCP实现用于结合非CCP模型使用CCP模型的方法。

图1是示出可以利用本公开的技术的视频编解码系统100的示例的框图。如图1所示,视频编解码系统100可以包括源设备110和目的地设备120。可以称为视频编码设备的源设备110可以生成经编码的视频数据。可以称为视频解码设备的目的地设备120可以对由源设备110生成的经编码的视频数据进行解码。源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。

视频源112可以包括诸如视频捕获设备、从视频内容提供方接收视频数据的接口、和/或用于生成视频数据的计算机图形系统等源、或这样的源的组合。视频数据可以包括一个或多个图片或图像。术语“图片”、“图像”或“帧”自始至终可以互换使用,以指代产生视频的图像流中的单个图像。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的经编解码的表示的比特序列。比特流可以包括经编解码的图片和相关联的数据。经编解码的图片是图片的经编解码的表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发送器、总线、或促进设备之间或计算设备内的数据传送的基本上任何机制,该计算设备可以包括源设备110和目的地设备120两者(例如,其中计算设备存储使用源设备110的功能而生成的经编码的视频以使用目的地设备120的功能进行显示)。在一个示例中,经编码的视频数据可以通过网络130a经由I/O接口116直接发送到目的地设备120。经编码的视频数据也可以存储到存储介质/服务器130b上以供目的地设备120访问。

目的地设备120可以包括I/O接口126、视频解码器124和显示设备122。I/O接口126可以包括接收器和/或调制解调器、总线、或促进设备之间或计算设备内的数据传送的基本上任何机制。I/O接口126可以从源设备110或存储介质/服务器130b获取经编码的视频数据。视频解码器124可以对经编码的视频数据进行解码。显示设备122可以向用户显示经解码的视频数据。显示设备122可以与目的地设备120集成,或者可以在目的地设备120外部,目的地设备120被配置为与外部显示设备接口。

视频编码器114和视频解码器124可以根据视频压缩标准进行操作,诸如HEVC标准、VVC标准和其他当前和/或未来标准。

图2是示出根据本公开的一些方面的视频编码器200的示例的框图,视频编码器200可以是图1所示的系统100中的视频编码器114的示例。

视频编码器200可以被配置为执行本公开的任何或所有技术。在图2的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术,包括视频编码器200的技术。

视频编码器200的功能组件可以包括以下一项或多项:分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲器213和熵编码单元214。

在其他示例中,视频编码器200可以包括更多、更少或不同功能组件。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以在IBC模式下执行预测,在IBC模式下,至少一个参考图片是当前视频块所在的图片。

此外,诸如运动估计单元204和运动补偿单元205等一些组件可以高度集成,但是出于解释的目的而在图2的示例中分开表示。

分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块大小。

模式选择单元203可以例如基于错误结果选择编解码模式(帧内或帧间)中的一个,并且将所得到的帧内或帧间编码块提供给残差生成单元207以生成残差块数据以及提供给重构单元212以重构编码块以用作参考图片中的至少一者。在一些示例中,模式选择单元203可以选择帧内和帧间预测(CIIP)模式的组合,其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以针对块选择运动向量的分辨率(例如,子像素或整数像素精度)。

为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来针对当前视频块生成运动信息。在一个示例中,每个参考帧可以对应于视频的图片。运动补偿单元205可以基于运动信息和来自缓冲器213的除与当前视频块相关联的图片之外的图片的经解码的样本来针对当前视频块确定预测视频块。

运动估计单元204和运动补偿单元205可以对当前视频块执行不同操作,例如,取决于当前视频块是在I切片、P切片还是B切片中。如本文中使用的,在一些方面,“I切片”可以是指包括宏块的图片的一部分,所有这些宏块基于同一图片内的宏块。此外,如本文中使用的,在一些方面,“P切片”和“B切片”可以是指包括不依赖于同一图片中的宏块的宏块的图片的部分。

在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元204然后可以生成指示列表0或列表1中包含参考视频块的参考图片的参考索引和指示当前视频块与参考视频块之间的空间位移的运动向量。运动估计单元204可以输出参考索引、预测方向指示符和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。

在其他示例中,运动估计单元204可以对当前视频块执行双向预测,其中运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块并且还可以在列表1中的参考图片中搜索当前视频块的另一参考视频块。运动估计单元204然后可以生成指示列表0和列表1中包含参考视频块的参考图片的参考索引和指示参考视频块与当前视频块之间的空间位移的运动向量。运动估计单元204可以输出当前视频块的参考索引和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。

在一些示例中,运动估计单元204可以输出运动信息的完整集合以用于解码器的解码处理。

在一些示例中,运动估计单元204可能以不输出当前视频的运动信息的完整集合。相反,运动估计单元204可以参考另一视频块的运动信息来发信号通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。

在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示向视频解码器300指示当前视频块具有与另一视频块相同的运动信息的值。

在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动向量差(MVD)。运动向量差指示当前视频块的运动向量与所指示的视频块的运动向量之间的差。视频解码器300可以使用所指示的视频块的运动向量和运动向量差来确定当前视频块的运动向量。

如上所述,视频编码器200可以预测性地发信号通知运动向量。可以由视频编码器200实现的预测性信令技术的两个示例包括高级运动向量预测(AMVP)和合并模式信令。

帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中的其他视频块的经解码的样本针对当前视频块生成预测数据。当前视频块的预测数据可以包括预测视频块或一个或多个语法元素中的至少一项。

残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的(多个)预测视频块来针对当前视频块生成残差数据。当前视频块的残差数据可以包括与当前视频块中的样本的不同样本分量相对应的残余视频块。

在其他示例中,当前视频块可能没有残差数据,例如在跳过模式下,并且残差生成单元207可以不执行减法操作。

变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残余视频块来针对当前视频块生成一个或多个变换系数视频块。

在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。

逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以根据变换系数视频块重构残余视频块。重构单元212可以将重构的残余视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样本,以产生与当前块相关联的经重构的视频块以存储在缓冲器213中。

在重构单元212重构视频块之后,可以执行环路过滤操作以减少视频块中的视频块伪影(artifacts)。

熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作以生成经熵编码的数据并且输出包括经熵编码的数据的比特流。

图3是示出根据本公开的一些方面的视频解码器300的示例的框图,视频解码器300可以是图1所示的系统100中的视频解码器124的示例。

视频解码器300可以被配置为执行本公开的任何或所有技术。在图3的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术,包括视频解码器300的技术。

在图3的示例中,视频解码器300包括以下中的一项或多项:熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行与关于视频编码器200(图2)描述的编码通道(pass)大体相反的解码通道。

视频解码器300可以经由熵解码单元301或以其他方式接收经编码的比特流。经编码的比特流可以包括经熵编码的视频数据(例如,视频数据的编码块)。在该示例中,熵解码单元301可以对经熵编码的视频数据进行解码。基于经解码的视频数据(无论是经熵解码还是其他方式),运动补偿单元302可以确定运动信息,包括运动向量、运动向量精度、参考图片列表索引和其他运动信息。例如,运动补偿单元302可以通过执行AMVP和合并模式来确定这样的信息。可以使用AMVP,包括基于来自相邻PB和参考图片的数据来导出若干最可能候选。运动信息通常包括水平和垂直运动向量位移值、一个或两个参考图片索引、以及在B切片中的预测区域的情况下关于哪个参考图片列表与每个索引相关联的标识。如本文中使用的,在一些方面,“合并模式”可以是指从空间或时间相邻块中导出运动信息。

运动补偿单元302可以产生运动补偿块,可能基于插值过滤器执行插值。要与子像素精度一起使用的插值过滤器的标识符可以被包括在与经编码的比特流一起接收的语法元素中或在单独的辅助信息中,例如,如由视频编码器在对视频进行编码时所指定的。

运动补偿单元302可以在视频块的编码期间使用由视频编码器200使用的插值过滤器来计算参考块的子整数像素的插值。运动补偿单元302可以根据所接收的语法信息确定由视频编码器200使用的插值过滤器并且使用插值过滤器来产生预测块。

运动补偿单元302可以使用一些语法信息来确定用于对经编码的视频序列的(多个)帧和/或(多个)切片进行编码的块的大小、描述经编码的视频序列的图片的每个宏块如何被分割的分割信息、指示每个分割如何被编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)、以及用于解码经编码的视频序列的其他信息。如本文中使用的,在一些方面,“切片”可以是指在熵编解码、信号预测和残差信号重构方面可以独立于同一图片的其他切片被解码的数据结构。切片可以是整个图片或图片的区域。

帧内预测单元303可以使用例如在比特流中接收的帧内预测模式以从空间相邻块形成预测块。帧内预测在本文中可以称为“帧内”,和/或帧内预测模式在本文中可以称为“帧内模式”。逆量化单元304对比特流中提供的并且由熵解码单元301解码的量化视频块系数进行逆量化,即,去量化。逆变换单元305应用逆变换。

重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块相加以形成解码块。如果需要,还可以应用去块过滤器以过滤解码块以去除块效应伪影。经解码的视频块然后存储在缓冲器307中,缓冲器307为后续运动补偿/帧内预测提供参考块并且还产生经解码的视频以呈现在显示设备上。

虽然以下描述可以集中于高效视频编解码(HEVC)和/或标准通用视频编解码(VVC),但本文中描述的概念可以适用于其他编解码标准或视频编解码器。

图4示出了根据本公开的一些方面的HEVC视频编码器和解码器400的框图的示例,HEVC视频编码器和解码器400可以是图1所示的系统100中的视频编码器114和视频解码器124、图2中的视频编码器200和图3中的视频解码器300等。用于生成符合HEVC的比特流的编码算法可以如下进行。每个图片可以划分为块区域(例如,编解码树单元(CTU)),并且精确的块划分可以发送到解码器。CTU包括亮度编解码树块(CTB)以及对应的色度CTB和语法元素。亮度CTB的大小L×L可以选择为L=16、32或64个样本,其中较大大小可以实现较高压缩。HEVC然后支持使用树结构和类似四叉树的信令将CTB分割为较小块。CTU的四叉树语法指定了其亮度和色度CB的大小和位置。四叉树的根与CTU相关联。因此,亮度CTB的大小是亮度CB的所支持的最大大小。可以联合发信号通知将CTU拆分为亮度和色度CB。一个亮度CB和通常两个色度CB连同相关联的语法一起形成编解码单元(CU)。CTB可以只包含一个CU,也可以拆分以形成多个CU,并且每个CU具有成为预测单元(PU)和变换单元(TU)树的相关联的分割。

视频序列的第一图片(和/或进入视频序列的每个干净随机接入点处的第一图片)只能使用图片内预测,该图片内预测在同一图片内使用区域到区域空间数据预测,但不依赖其他图片对第一图片进行编码。对于顺序或随机接入点之间的剩余图片,针对大多数块可以使用图片间时间预测编解码模式。用于图片间预测的编码过程包括选择运动数据,该运动数据包括要应用于预测每个块的样本的所选择的参考图片和运动向量(MV)。

可以在CU级别做出是否使用图片间或图片内预测对图片区域进行编解码的决定。PU分割结构的根位于CU级别。取决于基本预测类型决定,亮度和色度CB然后可以在大小上进一步拆分,并且根据亮度和色度预测块(PB)进行预测。HEVC支持从64×64到4×4样本的可变PB大小。预测残差使用块变换进行编解码。TU树结构的根位于CU级别。亮度CB残差可以与亮度变换块(TB)相同或者可以进一步拆分为较小亮度TB。这同样适用于色度TB。

编码器和解码器可以通过使用MV和模式决策数据来应用运动补偿(MC)以生成相同的图片间预测信号,该信号作为辅助信息进行发送。图片内或图片间预测的残差信号可以通过线性空间变换进行变换,即,原始块与其预测之间的差异。然后可以将变换系数与预测信息一起进行缩放、量化、熵编码和发送。

编码器可以复制解码器处理循环,使得两者都可以针对后续数据生成相同预测。因此,量化的变换系数可以通过逆缩放来构造,并且然后可以逆变换以复制残差信号的解码近似。然后可以将残差添加到预测中,并且然后可以将这种添加的结果馈送到一个或两个环路过滤器中,以平滑由逐块处理和量化引起的伪影。最终的图片表示(即,由解码器输出的副本)可以存储在解码图片缓冲器中,以用于预测后续图片。通常,图片的编码或解码处理的顺序可以与它们从源到达的顺序不同。因此,在一些示例中,可能需要区分解码器的解码顺序(即,比特流顺序)和输出顺序(即,显示顺序)。

由HEVC编码的视频材料可以作为渐进图像来输入(例如,因为源视频源自这种格式或在编码之前通过去隔行(de-interlace)来生成)。HEVC设计中没有明确的编解码特征来支持隔行扫描的使用,因为隔行扫描不再用于显示器并且在分发中变得非常罕见。但是,HEVC中已经提供了元数据语法,以允许编码器通过将隔行视频的每个区域(即,每个视频帧的偶数或奇数行)编码到单独的图片隔行视频中或通过将每个隔行帧编码为经HEVC编码的图片以表明它已经被发送来指示它已经被发送。这可以提供一种有效的编码隔行视频的方法,而无需为其支持特殊解码过程。

图5是VVC的编码器框图500的示例,该VVC可以包括多个环路内过滤块:例如解块过滤器(DF)、样本自适应偏移(SAO)自适应环路过滤器(ALF)等。与DF不同的是,DF使用预定义过滤器,而SAO和ALF可以利用当前图片的原始样本,以通过添加偏移和通过应用有限脉冲响应(FIR)过滤器分别减少原始样本与重构样本之间的均方误差,其中编解码侧信息发信号通知偏移和过滤器系数。ALF可以位于每个图片的最后处理阶段,并且可以被看作是捕获和修复由前一阶段产生的伪影的工具。

图6是具有67个帧内预测模式以捕获在自然视频中呈现的任意边缘方向的帧内预测模式编解码的示意图600。在一些示例中,定向帧内模式的数目可以从在HEVC中使用的33个扩展到65个,而平面和DC模式保持相同。

在一些示例中,更密集的定向帧内预测模式可以应用于块大小以及亮度和色度帧内预测。在HEVC中,每个帧内预测模式编码块可以包括正方形形状(例如,大小为N×N的编码块)并且其每个边的长度可以是2的幂(例如,其中N是2的幂)。因此,不需要除法运算来使用DC模式生成帧内预测子。在VVC中,块可以具有矩形形状,这在一般情况下可能需要对每个块使用除法运算。为了避免用于DC预测的除法运算,较长边可以用于计算非方形块的平均值。

虽然在VVC中定义了67个模式,但是给定帧内预测模式索引的准确预测方向还可以取决于块形状。常规的角帧内预测方向被定义为在顺时针方向上从45度到-135度。在VVC中,若干常规的角帧内预测模式可以被自适应地替换为用于非方形块的广角帧内预测模式。被替换的模式可以使用原始模式索引被发信号通知,原始模式索引在解析之后被重新映射到广角模式的索引。在一些示例中,帧内预测模式的总数可以保持不变,即67个,并且帧内模式编解码方法也可以保持不变。

图7和图8是广角帧内预测的参考示例图700和800。在一些示例中,广角方向模式中的被替换模式的数目可以取决于块的纵横比。被替换的帧内预测模式如表1所示:

表1:由广角模式替换的帧内预测模式

图9是在超过45°角的方向的情况下的不连续性的图900。在这种情况下,在广角帧内预测的情况下,两个垂直相邻的预测样本可以使用两个不相邻的参考样本。因此,低通参考样本过滤器和侧面平滑可以应用于广角预测,以减少增加的间隙Δp

在VVC中,支持4∶2∶2和4∶4∶4色度格式以及4∶2∶0。4∶2∶2色度格式的色度导出模式(DM)导出表最初是从HEVC移植的,以将条目数从35扩展到67,以与帧内预测模式的扩展保持一致。由于HEVC规范不支持-135度以下和45度以上的预测角度,所以2到5的亮度帧内预测模式可以映射为2。因此,4∶2∶2色度格式的色度DM导出表通过替换映射表的条目的一些值来更新,以更精确地转换色度块的预测角度。

在一些方面,对于每个帧间预测CU,包括运动向量、参考图片索引和参考图片列表使用索引、以及用于VVC的新编解码特征的附加信息的运动参数可以用于帧间预测样本生成。运动参数可以以显式或隐式方式被发信号通知。当以跳过模式对CU进行编码时,CU可以与一个PU相关联并且可以没有显著的残差系数、没有编码的运动向量增量或参考图片索引。可以指定合并模式,其中可以从相邻CU获取当前CU的运动参数,包括空间和时间候选、以及在VVC中引入的附加时间表。合并模式可以应用于任何帧间预测CU,不仅适用于跳过模式。合并模式的备选方案可以是运动参数的显式传输,其中运动向量、每个参考图片列表的对应参考图片索引、以及参考图片列表使用标志和其他需要的信息按每个CU显式地发信号通知。

附加地或备选地,帧内块复制(IBC)可以是在SCC上的HEVC扩展中采用的工具,并且因此可以由视频编码器114、200、400使用,如本文中在编码视频中描述的,和/或可以由视频解码器124、300、400使用,如本文中在解码视频中描述的。这样的工具可以提高屏幕内容材料的编解码效率。由于IBC模式可以实现为块级编解码模式,因此可以在编码器处执行块匹配(BM)以针对每个CU找到最优块向量(或运动向量)。这里,块向量用于指示从当前块到参考块的位移,参考块已经在当前图片内重构。经IBC编码的CU的亮度块向量可以是整数精度。色度块向量也可以四舍五入到整数精度。与AMVR结合使用时,IBC模式可以在1像素和4像素运动向量精度之间切换。可以将经IBC编码的CU视为除帧内或帧间预测模式之外的第三预测模式。IBC模式可以适用于宽度和高度均小于或等于64个亮度样本的CU。

在编码器侧,可以针对IBC执行基于哈希的运动估计。编码器针对宽度或高度不大于16个亮度样本的块执行RD检查。对于非合并模式,可以首先使用基于哈希的搜索来执行块向量搜索。如果哈希搜索没有返回有效候选,则可以执行基于块匹配的本地搜索。在基于哈希的搜索中,当前块与参考块之间的哈希键匹配(32位循环冗余校验(CRC))可以扩展到所有允许块大小。当前图片中的每个位置的哈希键计算可以基于4×4子块。对于较大大小的当前块,当所有4×4子块的所有哈希键都与对应参考位置的哈希键匹配时,可以确定哈希键与参考块的哈希键匹配。如果发现多个参考块的哈希键与当前块的哈希键匹配,则可以计算每个匹配参考的块向量成本,并且选择成本最小的匹配参考。

在一些示例中,在块匹配搜索中,搜索范围可以设置为覆盖先前和当前CTU。在CU级别,IBC模式可以用标志来发信号通知,并且它可以作为IBC AMVP模式或IBC跳过/合并模式来发信号通知。在一个示例中,诸如IBC跳过/合并模式,合并候选索引可以用于指示列表中来自相邻候选经IBC编码的块的哪些块向量用于预测当前块。合并列表可以包括空间、HMVP和成对候选。

在另一示例中,诸如IBC AMVP模式,块向量差可以以与运动向量差相同的方式编码。块向量预测方法使用两个候选作为预测子,一个候选来自左邻居,一个候选来自上邻居(如果经IBC编码)。当任一邻居不可用时,默认块向量可以用作预测子。可以发信号通知标志以指示块向量预测子索引。

为了减少交叉分量冗余,在VVC中可以使用交叉分量线性模型(CCLM)预测模式,其中色度样本使用如下线性模型基于同一CU的重构亮度样本来预测:

pred

等式1

在这种情况下,pred

上相邻位置可以表示为S[0,-1]...S[W’-1,-1],左相邻位置可以表示为S[-1,0]...S[-1,H’-1]。因此,当应用LM模式并且上和左相邻样本都可用时,四个样本被选择为S[W’/4,-1]、S[3*W’/4,-1]、S[-1,H’/4]、S[-1,3*H’/4];当应用LM-T模式或只有上相邻样本可用时,四个样本被选择为S[W’/8,-1]、S[3*W’/8,-1]、S[5*W’/8,-1]、S[7*W’/8,-1];以及应用LM-L模式或只有左相邻样本可用时,四个样本被选择为S[-1,H’/8]、S[-1,3*H’/8]、S[-1,5*H’/8]、S[-1,7*H’/8]。

在一些方面,在所选择的位置处的四个相邻亮度样本可以被下采样并且比较四次以找到两个较大值:x

X

X

Y

Y

等式2

最后,线性模型参数α和β可以根据以下等式获取:

β=Y

等式4

图10是用于导出色度的α和β的样本的位置的示意图1000。图11是用于导出亮度的α和β的样本的位置的示意图1100。对于图10和图11两者,计算参数α的除法运算可以用查找表来实现。为了减少存储该表所需要的存储器,diff值(最大值与最小值之间的差值)和参数α可以用指数符号表示。例如,diff值近似为4位有效部分和指数。因此,对于有效数的16个值,1/diff的表被缩减为16个元素,如下所示:

DivTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0}

表2

在一个示例中,上模板和左模板可以用于一起计算线性模型系数。在另一示例中,上模板和左模板可以在称为LM_T和LM_L模式的另外两种LM模式下交替使用。在LM_T模式下,只能使用上模板来计算线性模型系数。为了得到更多样本,将上模板扩展为(W+H)个样本。在LM_L模式下,只使用左模板来计算线性模型系数。为了得到更多样本,可以将左模板扩展为(H+W)个样本。在LM模式下,使用左和上模板来计算线性模型系数。

为了匹配4∶2∶0视频序列的色度样本位置,将两种类型的下采样过滤器应用于亮度样本,以在水平和垂直方向上实现2∶1的下采样率。下采样过滤器的选择由SPS级别标志指定。两个下采样过滤器如下,分别对应于“类型0”和“类型2”内容。

注意,当上参考线位于CTU边界处时,只有一个亮度线(帧内预测中的通用线缓冲器)可以用于获取下采样亮度样本。该参数计算可以作为解码过程的一部分来执行,而不仅仅是作为编码器搜索操作。结果是,可以不使用语法来将α和β值传送到解码器。

对于色度帧内预测模式编解码,总共允许8个帧内预测模式用于色度帧内模式编解码。这些模式包括五个传统帧内预测模式和3个交叉分量线性模型模式(LM、LM_T和LM_L)。色度模式信令和导出过程如下表3所示。色度模式编解码直接取决于对应亮度块的帧内预测模式。由于在I切片中启用了针对亮度和色度分量的单独的块分割结构,因此一个色度块可以对应于多个亮度块。因此,对于色度DM模式,可以直接继承覆盖当前色度块的中心位置的对应亮度块的帧内预测模式。

表3:色模式信令和导出过程

表4:色度预测模式的统一二值化表

在表4中,第一bin指示它是常规(0)还是LM模式(1)。如果是LM模式,则下一bin指示它是LM_CHROMA(0)还是不是(1)。如果不是LM_CHROMA,则下一bin指示它是LM_L(0)还是LM_T(1)。对于这种情况,当sps_cclm_enabled_flag为0时,可以在熵编解码之前丢弃对应intra_chroma_pred_mode的二值化表的第一bin。换言之,第一bin被推断为0,并且因此没有被编解码。这个单一的二值化表用于sps_cclm_enabled_flag等于0和1两种情况。表4中的前两个bin使用自己的上下文模型进行上下文编解码,其余bin进行旁路编解码。

此外,为了减少双树中的亮度色度延迟,当64×64亮度编解码树节点使用非拆分(Not Split)(并且ISP不用于64×64CU)或QT进行分割时,32×32/32×16色度编解码树节点中的色度CU可以通过以下方式使用CCLM:如果32×32色度节点是未拆分或分割的QT拆分,则32×32节点中的所有色度CU都可以使用CCLM;备选地,如果32×32色度节点利用水平BT(Horizontal BT)进行分割,并且32×16子节点不拆分或利用垂直BT(Vertical BT)拆分,则32×16色度节点中的所有色度CU都可以使用CCLM。在所有其他亮度和色度编解码树拆分条件下,针对色度CU不允许CCLM。

在VVC中,DC、平面和若干角模式的帧内预测的结果可以通过位置相关预测组合(PDPC)方法进一步修改。PDPC是一种预测方法,它调用边界参考样本和HEVC风格预测与过滤后的边界参考样本的组合。PDPC可以应用于以下无信令的帧内模式:平面、DC、小于或等于水平的内角、大于或等于垂直且小于或等于80的内角。如果当前块是BDPCM模式或MRL索引大于0,则不应用PDPC。

预测样本pred(x’,y’)使用帧内预测模式(DC、平面、角度)和参考样本的线性组合根据等式7进行预测,如下所示:

pred(x’,y’)=Clip(0,(1<<BitDepth)-1,(wL×R

等式7

在上式中,R

在某些方面,如果PDPC应用于DC、平面、水平和垂直帧内模式,则可能不需要附加的边界过滤器,如当前在HEVC DC模式边界过滤器或水平/垂直模式边缘过滤器的情况下所需要的。DC和平面模式的PDPC过程是相同的。对于角模式,如果当前角模式为HOR_IDX或VER_IDX,则分别不使用左或顶参考样本。PDPC权重和缩放因子取决于预测模式和块大小。PDPC应用于宽度和高度均大于或等于4的块。

图12至图15示出了用于在各种预测模式上应用的PDPC的参考样本1200、1300、1400、1500(R

图16是根据本公开的各方面的所使用的多参考线(MRL)帧内预测的图1600。在一些示例中,段A和F的样本不是从重构的相邻样本中取回的,而是分别填充有来自段B和E的最接近的样本。HEVC图片内预测使用最近的参考线(即,参考线0)。在MRL中,使用2个附加线(参考线1和参考线3)。

在视频编解码的一些示例中,所选择的参考线的索引(mrl_idx)可以被发信号通知并且用于生成帧内预测子。对于大于0的参考线索引,最可能模式(MPM)列表可以仅包括附加参考线模式,并且MPM索引可以在没有剩余模式的情况下被发信号通知。参考线索引可以在帧内预测模式之前被发信号通知,并且在非零参考线索引被发信号通知的情况下,平面模式可以从帧内预测模式中被排除。

可以对CTU内的第一行的块禁用MRL,以防止使用当前CTU线外的扩展参考样本。此外,当使用附加线时,可以禁用PDPC。对于MRL模式,DC帧内预测模式中非零参考线索引的DC值的导出可以与参考线索引0的DC值的导出对准。MRL可以用CTU存储3个相邻亮度参考线以生成预测。交叉分量线性模型(CCLM)工具可以针对其下采样过滤器存储3个相邻亮度参考线。使用相同3个线的MRL定义可以与CCLM对准,以减少解码器的存储要求。

图17和图18是根据块大小将亮度帧内预测块垂直或水平划分为子分割的帧内子分割(ISP)的图1700和1800的示例。例如,ISP的最小块大小是4×8(或8×4)。如果块大小大于4×8(或8×4),则对应块可以被划分为4个子分割。已经注意到,M×128(M<=64)和128×N(N<=64)ISP块可以生成64×64 VDPU的潜在问题。例如,在单树情况下的M×128CU具有M×128亮度TB和两个对应的

在ISP中,不允许1×N/2×N子块预测依赖于编码块的先前解码的1×N/2×N子块的重构值,因此子块的最小预测宽度变为四个样本。例如,使用利用垂直拆分的ISP编解码的8×N(N>4)编码块被拆分为每个的大小为4×N的两个预测区域和大小为2×N的四个变换。此外,使用利用垂直拆分的ISP编解码的4×N编码块使用完整的4×N块进行预测;使用每个为1×N的四个变换。尽管允许1×N和2×N的变换大小,但可以断言,这些块在4×N区域中的变换可以并行执行。例如,当4×N预测区域包含4个1×N变换时,水平方向上没有变换;垂直方向上的变换可以作为垂直方向上的单个4×N变换来执行。类似地,当4×N预测区域包含两个2×N变换块时,两个2×N块在每个方向(水平和垂直)上的变换操作可以并行进行。在该示例中,与处理4×4常规编码帧内块相比,在处理这些较小块时可能没有延迟或延迟减少。

表5

对于每个子分割,通过将残差信号添加到预测信号来获取重构样本。这里,残差信号是通过诸如熵解码、逆量化和逆变换等过程生成的。因此,每个子分割的重构样本值可以可用于生成下一子分割的预测,并且每个子分割被重复处理。此外,要处理的第一子分割是包含CU的左上样本并且然后继续向下(水平拆分)或向右(垂直拆分)的子分割。因此,用于生成子分割预测信号的参考样本可以仅位于线的左侧和上方。所有子分割可以共享相同的帧内模式。以下是ISP与其他编解码工具交互的概述。

在一个示例中,如果块具有除0之外的MRL索引,则可以实现MRL,则可以推断ISP编解码模式为0,因此可以不向解码器发送ISP模式信息。在另一示例中,如果熵编解码子块的大小已经被修改,使得它们在所有可能的情况下具有16个样本,则可以选择熵编码系数组大小,如表5所示。注意,新的大小可能仅影响由ISP产生的块,其中一个维度少于4个样本。在所有其他情况下,系数组可以保持4×4维度。

附加地或备选地,关于编码块标志(CBF)编解码,假定至少一个子分割具有非零CBF。因此,如果n是子分割的数目,并且前n-1个子分割产生零CBF,则可以推断第n子分割的CBF为1。变换大小限制:长度超过16个点的所有ISP变换可以使用离散余弦变换(DCT)-II。多变换选择(MTS)标志:如果CU使用ISP编解码模式,则MTS CU标志可以设置为0并且它可以不发送给解码器。因此,编码器可以不对每个结果子分割的不同可用变换执行速率失真(RD)测试。ISP模式的变换选择可以改为固定并且根据帧内模式、处理顺序和所利用的块大小进行选择。因此,在该示例中,可以不需要信令。

例如,设t

在ISP模式下,允许所有67个帧内预测模式。如果对应宽度和高度至少为4个样本长,则也可以应用PDPC。此外,参考样本过滤处理(参考平滑)和帧插值过滤器选择的条件可能不再存在,并且在ISP模式下可以应用三次(Cubic)(DCT-IF)过滤器以进行分数位置插值。

图19是用于VVC的矩阵加权帧内预测过程(MIP)的图1900的示例。为了预测宽度为W且高度为H的矩形块的样本,-MIP将块左侧的一行H重构相邻边界样本和块上方的一行W重构相邻边界样本作为输入。如果重构样本不可用,则可以像在常规帧内预测中一样生成它们。

在边界样本中,可以通过基于块大小和形状求平均来选择四个样本或八个样本。具体地,通过根据取决于块大小的预定义规则对相邻边界样本求平均,输入边界bdry

执行矩阵向量乘法,然后是添加偏移,其中以平均样本作为输入。结果是原始块中的子采样样本集上的预测信号减少。从缩减的输入向量bdry

缩减的预测信号pred

pred

等式10

这里,A是矩阵,如果W=H=4,则该矩阵有W

这里,矩阵A的每个系数用8比特精度表示。集合S

在一些示例中,剩余位置处的预测信号可以通过线性插值根据子采样集合上的预测信号来生成,线性插值是每个方向上的单步线性插值。无论块形状或块大小如何,都可以先在水平方向上进行插值,然后在垂直方向上进行插值。

对于帧内模式下的每个CU,发送指示是否可以应用MIP模式的标志。如果要应用MIP模式,则可以发信号通知MIP模式(predModeIntra)。对于MIP模式,确定模式是否转置的转置标志(isTransposed)和确定将用于给定MIP模式的矩阵的MIP模式ID(modeId)可以如下导出

isTransposed=predModeIntra&1

modeId=predModeIntra>>1

等式12

MIP编解码模式可以通过考虑以下方面与其他编解码工具协调:(1)低频不可分离变换(LFNST)针对较大块上的MIP启用。这里,使用平面模式的LFNST变换;(2)MIP的参考样本导出与常规帧内预测模式完全或至少类似地执行;(3)对于在MIP预测中使用的上采样步骤,使用原始参考样本而不是下采样样本;(4)削波(clipping)在上采样之前而不是在上采样之后执行;(5)无论最大变换大小如何,MIP可以被允许最大为64×64。在一些方面,MIP模式的数目对于sizeId=0可以是32,对于sizeId=1可以是16,对于sizeId=2可以是12。

在联合探索模型(JEM)2.0中,帧内模式从HEVC中的35个模式扩展到67个,并且它们在编码器处导出并且明确发信号通知给解码器。JEM-2.0中的帧内模式编解码花费大量开销。例如,在所有帧内编解码配置中,帧内模式信令开销可以高达总比特率的5%到10%。该贡献提出了解码器侧帧内模式导出方法,以减少帧内模式编解码开销,同时保持预测精度。为了减少帧内模式信令的开销,可以由视频解码器124、300、400在解码视频中使用解码器侧帧内模式导出(DIMD)方法。根据本公开的各方面,代替显式地发信号通知帧内模式,该信息可以在编码器和解码器两者处从当前块的相邻重构样本中导出。由DIMD导出的帧内模式可以以两种方式使用,例如:1)对于2N×2N CU,当对应CU级DIMD标志开启时,DIMD模式用作帧内预测的帧内模式;2)对于N×N CU,使用DIMD模式替换现有MPM列表中的一个候选,以提高帧内模式编解码的效率。

图20是基于模板的帧内模式导出的图2000的示例,其中目标表示要针对其估计帧内预测模式的当前块(其块大小为N)。模板(由图20中的图案化区域指示)指定一组已经重构的样本,该样本用于导出帧内模式。模板大小表示为模板内延伸到目标块的上方和左侧的样本数,即L。在一些实现中,模板大小为2(即,L=2)可以用于4×4和8×8块并且模板大小为4(即,L=4)可以用于16×16和更大的块。模板的参考(由图20中的虚线区域表示)可以是指从模板的上方和左侧开始的一组相邻样本,如由JEM-2.0定义的。与总是来自重构区域的模板样本不同,在对目标块进行编码/解码时,模板的参考样本可能还没有被重构。在这种情况下,利用JEM-2.0的现有参考样本替换算法以将不可用参考样本替换为可用参考样本。

对于每个帧内预测模式,DIMD计算重构模板样本与其从模板的参考样本中获取的预测样本之间的绝对差(SAD)。可以选择产生最小SAD的帧内预测模式作为目标块的最终帧内预测模式。

对于帧内2N×2N CU,DIMD可以用作一种附加帧内模式,该帧内模式可以通过将DIMD帧内模式与最优正常帧内模式(即,明确地发信号通知)进行比较来自适应地选择。针对每个帧内2N×2N CU发信号通知一个标志以指示DIMD的使用。如果标志为1,则CU可以使用由DIMD导出的帧内模式来预测;否则,不应用DIMD并且CU使用在比特流中明确发信号通知的帧内模式来预测。当启用DIMD时,色度分量可以重用与针对亮度分量而导出的相同的帧内模式,即,DM模式。

另外,对于每个经DIMD编码的CU,CU中的块可以自适应地选择以在PU级别或TU级别导出它们的帧内模式。具体地,当DIMD标志为1时,可以发信号通知另一CU级别DIMD控制标志以指示执行DIMD的级别。如果该标志为零,则这可以指示DIMD在PU级别执行并且PU中的所有TU使用相同的导出帧内模式进行帧内预测;否则,如果DIMD控制标志为1,这可以指示DIMD在TU级别执行并且PU中的每个TU导出自己的帧内模式。

此外,当启用DIMD时,角方向的数目增加到129,并且DC和平面模式仍然保持不变。为了适应角帧内模式的增加的粒度,经DIMD编码的CU的帧插值过滤精度从1/32像素增加到1/64像素。此外,为了使用所导出的经DIMD编码的CU的帧内模式作为相邻帧内块的MPM候选,可以将经DIMD编码的CU的129个方向转换为“正常”帧内模式(即,65个角帧内方向),之后将其用作MPM。

在一些方面,发信号通知帧内N×N个CU的帧内模式。然而,为了提高帧内模式编解码的效率,从DIMD中导出的帧内模式被用作预测CU中的四个PU的帧内模式的MPM候选。为了不增加MPM索引信令的开销,可以将DIMD候选放置在MPM列表的第一位,并且可以移除最后存在的MPM候选。此外,可以执行修剪操作,使得如果DIMD候选是冗余的,则可以不将其添加到MPM列表中。

为了降低编码/解码复杂度,针对DIMD使用一种直接的快速帧内模式搜索算法。首先,可以执行一个初始估计过程以针对帧内模式搜索提供良好起点。具体地,可以通过从允许的帧内模式中选择N个固定模式来创建初始候选列表。然后,可以针对所有候选帧内模式计算SAD,并且可以选择最小化SAD的一种候选帧内模式作为起始帧内模式。为了实现良好的复杂性/性能权衡,初始候选列表可以包括11个帧内模式,包括DC、平面、和在HEVC中定义的33个角帧内方向的每第4模式,即,帧内模式0、1、2、6、10、......、30、34。

如果起始帧内模式是DC或平面,则它可以用作DIMD模式。否则,基于起始帧内模式,然后可以应用一种细化过程,其中通过一次迭代搜索来标识最优帧内模式。在迭代搜索中,在每次迭代中,可以比较由给定搜索间隔分隔的三个帧内模式的SAD值,并且可以保持最小化SAD的帧内模式。然后可以将搜索间隔减少到一半,并且从上次迭代中选择的帧内模式可以作为当前迭代的中心帧内模式。对于具有129个角内方向的当前DIMD实现,在细化过程中可以使用多达4次迭代来找到最优DIMD内模式。

在一些示例中,可以避免在比特流中发送亮度帧内预测模式。这是通过使用先前编码/解码的像素以相同方式在编码器和解码器处导出亮度帧内模式来进行的。该过程定义了一种称为DIMD的新编解码模式,其选择在比特流中使用标志发信号通知以用于帧内编码块。DIMD可以在编码器处与其他编解码模式竞争,包括经典帧内编解码模式(其中对帧内预测模式进行编解码)。注意,在一个示例中,DIMD可能仅适用于亮度。对于色度,可以应用经典帧内编解码模式。与其他编解码模式(经典帧内、帧间、合并等)一样,可以针对DIMD模式计算率失真成本,然后可以将其与其他模式的编解码成本进行比较,以决定是否选择它作为当前块的最终编解码模式。

在解码器侧,可以首先解析DIMD标志(如果存在)。如果DIMD标志为真,则可以在重构过程中使用相同的先前编码的相邻像素导出帧内预测模式。如果不是,则可以像经典的帧内编解码模式一样从比特流中解析帧内预测模式。

为了导出块的帧内预测模式,可以首先选择对其执行梯度分析的一组相邻像素。出于规范性的目的,这些像素可以在解码/重构的像素池中。图21是可以基于帧内预测模式导出对其执行梯度分析的一组选定像素的模板的图2100的示例。如图21所示,围绕当前块的模板由左侧的T个像素和上面的T个像素选择。例如,T的值可以为2。

接下来,对模板的像素执行梯度分析。这可以促进确定模板的主角方向,可以假定该主角方向很有可能与当前块的主角方向相同。因此,可以使用简单的3×3索贝尔梯度过滤器,该过滤器由以下矩阵定义,该矩阵可以与模板进行卷积:

对于模板的每个像素,以当前像素为中心的3×3窗口的这两个矩阵中的每个可以逐点相乘并且包括其8个直接邻居,并且结果可以相加。这样,可以分别在水平和垂直方向上获取与当前像素处的梯度相对应的两个值G

图22是根据本公开的各方面的3×3索贝尔梯度过滤器与模板的卷积的图2200的示例。在一些示例中,像素2210是当前像素。模板像素2220(包括当前像素2210)是可能对其进行梯度分析的像素。不可用像素2230是由于缺少一些邻居而不能对其进行梯度分析的像素。重构像素2240是用于模板像素2220的梯度分析的所考虑的模板之外的可用像素。在重构像素2240不可用的情况下(例如,由于块太靠近图片的边界),不执行使用不可用重构像素2240的所有模板像素2220的梯度分析。

对于每个模板像素2220,如下使用G

G=|G

注意,建议快速实现atan函数。然后可以将梯度的取向转换为帧内角预测模式,该模式用于索引直方图(首先初始化为零)。该帧内角模式下的直方图值增加G。一旦模板中的所有模板像素2220都已经被处理,对于每个帧内角模式,直方图可以包括梯度强度的累积值。可以选择在直方图中示出最高峰值的模式作为当前块的帧内预测模式。如果直方图中的最大值为0(表示无法进行梯度分析,或者构成模板的区域是平坦的),则可以选择DC模式作为当前块的帧内预测模式。

对于位于CTU顶部的块,不执行位于模板顶部部分的像素的梯度分析。DIMD标志使用三种可能的上下文进行编解码,这取决于左和上相邻块,类似于跳过标志编解码。上下文0对应于其中左和上相邻块均未利用DIMD进行编解码的情况,上下文1对应于其中只有一个相邻块利用DIMD进行编解码的情况,上下文2对应于其中两个相邻块均DIMD编解码的情况。每个上下文的初始符号概率设置为0.5。

DIMD提供优于经典帧内模式编解码的一个优点是,所导出的帧内模式可以具有更高的精度,以实现更精确的预测而不需要附加成本,因为它不在比特流中发送。所导出的帧内模式跨越129个角模式,因此总共130个模式包括DC(例如,所导出的帧内模式在本文所述的方面可能不是平面的)。经典帧内编解码模式没有改变,即,预测和模式编解码仍然使用67个模式。

对广角帧内预测和简化PDPC执行了所需要的变化,以适应使用129个模式的预测。注意,只有预测过程使用扩展帧内模式,这表示出于任何其他目的(例如,决定是否过滤参考样本),模式可以转换回67模式精度。

在DIMD模式下,亮度帧内模式是在重构过程中导出的,恰好在块重构之前。这样做是为了避免在解析期间对重构像素的依赖性。然而,通过这样做,对于块的色度分量以及相邻块的亮度分量,块的亮度帧内模式可能是未定义的。这可能会导致问题,因为对于色度,定义了固定模式候选列表。通常,如果亮度模式等于色度候选中的一个,则该候选可以替换为垂直对角(VDIA_IDX)帧内模式。如在DIMD下,亮度模式不可用,初始色度模式候选列表未修改。

在经典帧内模式下,在亮度帧内预测模式将从比特流中解析的情况下,MPM列表使用相邻块的亮度帧内模式来构造,如果这些块使用DIMD编解码,则该列表可能不可用。在这种情况下,例如,在MPM列表构造期间,经DIMD编码的的块可以被视为帧间块,这表示它们实际上被认为是不可用的。

熵编解码可以是在视频已经被缩减为一系列语法元素之后在视频编码的最后阶段(和视频解码的第一阶段)使用的一种无损压缩形式。语法元素描述了如何在解码器处重构视频序列。这包括预测方法(例如,空间或时间预测、帧内预测模式和运动向量)和预测误差(也称为残差)。算术编解码是一种熵编解码,它可以通过将符号(即,语法元素)有效地映射到具有非整数比特数的码字来实现接近于序列的熵的压缩。上下文自适应二进制算术编解码(CABAC)涉及三个主要功能:二值化、上下文建模和算术编解码。二值化将语法元素映射到二进制符号(bin)。上下文建模估计bin的概率。最后,算术编解码基于所估计的概率将bin压缩为比特。

VVC中使用了若干不同二值化过程,诸如截断水稻(TR)二值化过程、截断二进制二值化过程、k阶Exp-Golomb(EGk)二值化过程和定长(FL)二值化过程。

上下文建模提供了实现高编解码效率所需要的准确概率估计。因此,它是高度自适应的,并且不同上下文模型可以用于不同bin,并且该上下文模型的概率基于先前编解码的bin的值进行更新。具有相似分布的bin通常共享相同的上下文模型。每个bin的上下文模型可以基于语法元素的类型、语法元素中的bin位置(binIdx)、亮度/色度、相邻信息等来选择。在每个bin之后可以发生上下文切换。

算术编解码可以基于递归区间划分。初始值为0到1的范围基于bin的概率划分为两个子区间。经编码的比特提供偏移,当转换为二进制小数时,该偏移选择两个子区间中的一个,这表示解码的bin的值。在每个解码的bin之后,范围被更新为等于所选择的子区间,并且区间划分过程自身会重复。范围和偏移的位精度有限,因此只要范围低于某个值,就可以使用重新归一化以防止下溢。在每个bin被解码之后,可以发生重新归一化。可以使用估计概率(上下文编解码)或假定概率为0.5(旁路编解码)来完成算术编解码。对于经旁路编解码的bin,将范围划分为子区间可以通过移位来进行,而查找表可以用于上下文编解码的bin。

图23是具有大于67个帧内预测模式以捕获在自然视频中呈现的任意边缘方向的帧内模式编解码的示意图2300。在一些示例中,定向帧内模式的数目可以从在VVC中使用的67个扩展到129个,而平面和DC模式保持相同。

在一个示例中,预定义IPM可以是具有比常规IPM更密集的方向的IPM(例如,图23中由虚线表示的IPM)。在一个示例中,N1个IPM可以是当前块的部分或全部MPM。在一个示例中,不在MPM中的一些预定义帧内预测模式也可以被包含在给定IPM候选集合中。

在一个示例中,来自DC/平面/水平/垂直/对角右上/对角左下/对角左上模式的一个或多个IPM可以被包含在给定IPM集合中。

在一个示例中,图23中由虚线表示的一个或多个IPM可以被包含在给定IPM集合中。

在一个示例中,当由红色虚线表示的一个或多个IPM被包含在给定IPM集合中时,N1可以等于或大于N2。

在一个示例中,N1可以等于或大于N2。

图24至图31示出了可以由一个或多个子模板形成的模板的示例。如下文进一步详细讨论的,可以为特定块选择块的模板。例如,模板可以基于关于特定块的解码信息或基于特定块的子模板的可用性来选择。尽管示出了若干示例,但是可以基于子模板的不同组合来选择其他模板。

图24是包括左上子模板2420(模板LA)的模板2400的示例的图。可以为块2410选择模板2400,块2410的维度可以为水平M个样本和垂直N个样本。左上子模板2420可以包括位于块2410左侧和块2410上方的左上相邻样本。左上子模板2420的维度可以为水平L1个样本和垂直L2个样本。可以为块2410、包括块2410的切片或包括块2410的图片定义L1和L2。

图25是包括左子模板2440(模板L)和上子模板2430(模板A)的模板2500的示例的图。可以为块2410选择模板2500,块2410的维度可以为水平M个样本和垂直N个样本。左子模板2440可以包括位于块2410左侧的样本。左子模板2440可以与块2410的顶部边缘相邻。左子模板2440的维度可以为水平L1个样本和垂直N个样本。上子模板2430可以包括位于块2410上方的样本。上子模板2430可以与块2410的顶部边缘相邻。上子模板2430的维度可以为水平M个样本和垂直L2个样本。

图26是包括上子模板2430(模板A)的模板2600的示例的图。可以为块2410选择模板2600,块2410的维度可以为水平M个样本和垂直N个样本。上子模板2430可以包括位于块2410上方的样本。上子模板2430的维度可以为水平M个样本和垂直L2个样本。

图27是包括左子模板(模板L)的模板2700的示例的图。可以为块2410选择模板2700,块2410的维度可以为水平M个样本和垂直N个样本。左子模板2440可以包括位于块2410左侧的样本。左子模板2440的维度可以为水平L1个样本和垂直N个样本。

图28是包括左子模板2440(模板L)和左下子模板2450(模板LB)的模板2800的示例的图。可以为块2410选择模板2800,块2410的维度可以为水平M个样本和垂直N个样本。左子模板2440可以包括位于块2410左侧的样本。左子模板2440的维度可以为水平L1个样本和垂直N个样本。左下子模板2450可以包括位于块2410左侧和块2410下方的样本。左下子模板2450的维度可以为水平L1个样本和垂直N个样本。

图29是包括上子模板2430(模板A)和右上子模板2460(模板RA)的模板2900的示例的图。可以为块2410选择模板2900,块2410的维度可以为水平M个样本和垂直N个样本。上子模板2430可以包括位于块2410上方的样本。上子模板2430的维度可以为水平M个样本和垂直L2个样本。右上子模板2460可以包括位于块2410上方和块2410右侧的样本。右上子模板2460的维度可以为水平M个样本和垂直L2个样本。

图30是包括左子模板2440、左下子模板2450、上子模板2430和右上子模板2460的模板3000的示例的图。可以为块2410选择模板3000,块2410的维度可以为水平M个样本和垂直N个样本。上子模板2430可以包括位于块2410上方的样本。上子模板2430的维度可以为水平M个样本和垂直L2个样本。右上子模板2460可以包括位于块2410上方和右侧的样本。右上子模板2460的维度可以为水平M个样本和垂直L2个样本。左子模板2440可以包括位于块2410左侧的样本。左子模板2440的维度可以为水平L1个样本和垂直N个样本。左下子模板2450可以包括位于块2410左侧和块2410下方的样本。左下子模板2450的维度可以为水平L1个样本和垂直N个样本。

图31是包括左上子模板2420、左子模板2440、左下子模板2450、上子模板2430和右上子模板2460的模板3100的示例的图。可以为块2410选择模板3100,块2410的维度可以为水平M个样本和垂直N个样本。左上子模板2420可以包括位于块2410左侧和上方的样本。左上子模板2420的维度可以为水平L1个样本和垂直L2个样本。上子模板2430可以包括位于块2410上方的样本。上子模板2430的维度可以为水平M个样本和垂直L2个样本。右上子模板2460可以包括位于块2410上方和右侧的样本。右上子模板2460的维度可以为水平M个样本和垂直L2个样本。左子模板2440可以包括位于块2410左侧的样本。左子模板2440的维度可以为水平L1个样本和垂直N个样本。左下子模板2450可以包括位于块2410左侧和下方的样本。左下子模板2450的维度可以为水平L1个样本和垂直N个样本。

图32是包括与块间隔开的左上子模板3220、左子模板3240、左下子模板3250、上子模板3230和右上子模板3260的模板3200的示例的图。可以为块2410选择示例模板3200,块2410的维度可以为水平M个样本和垂直N个样本。与图24至图31中的子模板相反,图32中的子模板可以与块2410间隔开。例如,左上子模板3220、左子模板3240和左下子模板3260可以与块2410水平间隔开间隙3270。间隙3270可以具有L3个样本的水平维度。左上子模板2420、上子模板2430和右上子模板2460可以与块2410垂直间隔开间隙3280。间隙3280可以具有L4个样本的垂直维度。在一方面,子模板3220、3230、3240、3250、3260中的每个可以具有与图24至图31中的对应子模板2420、2430、2440、2450、2460相同的维度。因此,在图32中,子模板3220、3230、3240、3250、3260的位置不同,但是子模板3220、3230、3240、3250、3260的大小可以与图24至图31中的相同。

图33是包括左上子模板2420、左子模板2440和上子模板2430的模板3300的模板参考样本3310的示例图。可以为块2410选择示例模板3300,块2410的维度可以为水平M个样本和垂直N个样本。左上子模板2420可以包括位于块2410左侧和上方的样本。左上子模板2420的维度可以为水平L1个样本和垂直L2个样本。上子模板2430可以包括位于块2410上方的样本。上子模板2430的维度可以为水平M个样本和垂直L2个样本。左子模板2440可以包括位于块2410左侧的样本。左子模板2440的维度可以为水平L1个样本和垂直N个样本。模板参考样本3310可以是位于模板3300上方的单行样本和位于模板3300左侧的单列样本。样本行的长度可以为2(L1+M)+1。样本列的高度可以为2(L2+N)+1。

图34是包括左子模板2440和上子模板2430的模板2500的示例模板参考样本3410的图3400。可以为块2410选择示例模板2500,块2410的维度可以为水平M个样本和垂直N个样本。上子模板2430可以包括位于块2410上方的样本。上子模板2430的维度可以为水平M个样本和垂直L2个样本。左子模板2440可以包括位于块2410左侧的样本。左子模板2440的维度可以为水平L1个样本和垂直N个样本。模板参考样本可以包括一行或多行(例如,行或列)样本。例如,模板参考样本3410可以包括位于模板2500上方的单行样本和位于模板2500左侧的单列样本。样本行的长度可以为2(L1+M)+1。样本列的高度可以为2(L2+N)+1。

图35是包括上子模板2430的模板2600的示例模板参考样本3510的图3500。模板参考样本3510可以是位于模板2600上方的单行样本和位于模板2600左侧的单列样本。样本行的长度可以为2M+1。样本列的高度可以为2(L2+N)+1。

图36是包括左子模板2440的模板2700的示例模板参考样本3610的图3600。模板参考样本3610可以是位于模板2700上方的单行样本和位于模板2700左侧的单列样本。样本行的长度可以为2(L1+M)+1。样本列的高度可以为2N+1。

图37是包括上子模板2430的模板2600的示例模板参考样本3710的图3700。模板参考样本3710可以是位于模板2600上方的单行样本和位于模板2600左侧的单列样本。样本行的长度可以为2(L1+M)+1。样本列的高度可以为2(L2+N)+1。因为模板2600不包括左上子模板2420或左子模板2440,所以样本列可以与模板2600间隔开宽度为L1的水平间隙3720。

图38是包括左子模板2440的模板2700的示例模板参考样本3810的图3800。模板参考样本3810可以是位于模板2700上方的单行样本和位于模板2700左侧的单列样本。样本行的长度可以为2(L1+M)+1。样本列的高度可以为2(L2+N)+1。由于模板2700不包括左上子模板2420或上子模板2430,所以样本行可以与模板2700间隔高度为L2的垂直间隙3820。

图39是包括上子模板2430和左子模板2440的模板2500的示例模板参考样本3910的图3900。模板参考样本3910可以包括位于模板左侧的单列样本2500。样本列的高度可以为2(L2+N)+1。代替单行模板参考样本,该行的一部分3920可以移动到与左子模板2440相邻的第二行3930。部分3920可以包括L1个样本。第一行中的剩余部分的长度可以为2M+L1+1。在一方面,选择与模板内包括的子模板相邻的模板参考样本可以改进模板的预测。

图40是包括上子模板2430和左子模板2440的模板2500的示例模板参考样本4010的图4000。模板参考样本4010可以包括位于模板2500上方的单行样本。样本行的长度可以为2(L1+M)+1。代替单列模板参考样本,该列的一部分4020可以移动到与上子模板2430相邻的第二行4030。部分4020可以包括L2个样本。第一列中的剩余部分的高度可以为2N+L2+1。在一方面,选择与模板内包括的子模板相邻的模板参考样本可以改进模板的预测。在另一方面,部分3920和部分4020都可以分别移动到第二行3930和第二行4030。

参考图41至图50,在操作期间,计算设备4102可以通过由处理器4104和/或存储器4106经由执行预测组件4110和/或预测组件4110的一个或多个子组件来执行CCP的方法。一方面,预测组件4110可以包括beta算法组件4115。预测组件4110可以包括CCP模型组件4120。预测组件4110可以包括邻居选择组件4125。预测组件4110可以包括多模型组件4130。预测组件4110可以包括非CCP模型组件4135。预测组件4110和/或一个或多个子组件可以实现为硬件、软件或其组合。计算设备4102可以接受CU样本4150作为输入并且提供预测样本4160作为输出。在某些情况下,blockWidth(BW)参数和blockHeight(BH)参数分别表示当前块的宽度和高度。CCLM可以是指任何种类的CCLM模式,诸如CCLM左部模式(CCLM-L)、CCLM顶部模式(CCLM-T)、CCLM左上模式(CCLM-LT)或多模型CCLM。

参考图42,导出beta的方法4200可以由预测组件4110、beta算法组件4115、处理器4104和/或存储器4106执行。在一些实现中,在框4204,方法4200可以针对视频的当前视频块与视频的比特流之间的转换,确定交叉分量预测模型的偏移参数,当前视频块是利用交叉分量预测模式被编码的色度块,偏移参数基于来自当前视频块的两个或更多相邻样本的导出样本值。在框4205,方法4200可以基于该确定执行转换。

在一个示例中,参数beta可以基于诸如来自一部分或所有相邻样本的平均/中程(midrange)/中位(median)/均值亮度/色度值等函数来计算。

参考图43,导出beta的方法4300可以由预测组件4110、beta算法组件4115、处理器4104和/或存储器4106执行。在一些实现中,在框4304,方法4300可以针对视频的当前视频块与视频的比特流之间的转换,确定与模型或组相关联的缩放参数取决于与模型或组相关联的当前视频块的相邻样本,当前视频块是利用多模型交叉分量预测模式被编码的色度块。在框4305,方法4300可以基于该确定执行转换。

在一个示例中,beta导出可以取决于(多个)导出色度值和/或(多个)导出亮度值。色度或亮度导出值表示从重构色度或亮度样本中导出的值。

在一个示例中,beta的计算可以取决于导出色度值。

在一个示例中,beta的计算可以取决于导出色度值和取决于导出亮度值的参数。

例如,导出值(例如,导出亮度值或导出色度值)可以计算为(最小值+最大值+偏移)>>移位,其中移位可以为常数,例如2、4等。这里,符号“>>”表示为右移运算。符号“<<”表示左移运算。在一种实现中,偏移可以为常数,例如0、1、2等。在一个示例中,偏移可以取决于移位的值,例如,偏移等于(1<<移位)>>1。在一个示例中,最小值可以是所有相邻样本或相邻样本子集中的最小值。在一个示例中,最大值可以是所有相邻样本或相邻样本子集中的最大值。在一个示例中,最小值可以是所有相邻样本或相邻样本子集中的N个最小相邻样本的平均,其中N为常数,诸如N=2。在另一示例中,最大值可以是所有相邻样本或相邻样本子集中的M个最大相邻样本的平均,其中M为常数,诸如M=2。

在一个示例中,导出样本值可以计算为(S+偏移)>>移位,其中移位可以取决于用于上述计算的样本的数目。例如,移位可以为常数,例如2、4等。例如,偏移可以为常数,例如0、1、2等。在一个示例中,偏移可以取决于移位的值,例如,偏移等于(1<<移位)>>1。例如,S可以计算为L个相邻样本的值的总和,其中L=a x blockWidth、或b x blockHeight或c x(blockWidth+blockHeight),其中a、b和c为整数。

在某些实现中,所公开的方法可以是适当的单模型或多模型计算。例如,如果使用多个模型,则所公开的方法可以应用于模型导出中的任何一个(或一些或全部)。在另一示例中,所公开的方法可以应用于任何种类的CCLM模式,诸如CCLM-LT、CCLM-T或CCLM-L。Beta可以通过导出值计算为:beta=derivedChroma-((alpha*derivedLuma)>>shiftX),其中alpha表示应用于亮度重构值的缩放因子,shiftX表示常数值,并且derivedChroma和derivedLuma可以基于本公开的方面来计算。在以上示例中,相邻样本是与当前色度块和/或当前色度块的对应亮度块相邻的样本。备选地,相邻样本是不与当前色度块和/或当前色度块的对应亮度块相邻的样本。在一个示例中,非相邻样本的指示可以在运行中(on-the-fly)(实时或接近实时)发信号通知或导出。例如,该指示可以在视频图像的编码和/或解码过程期间导出。

参考图44,交叉分量预测的方法4400可以由预测组件4110、CCP模型组件4120、处理器4104和/或存储器4106执行。在一些实现中,在框4404,方法4400可以针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块。在框4405,方法4400可以基于该确定执行转换,其中在确定期间,应用对当前视频块的多于一行相邻样本或当前视频块的多于一列相邻样本进行重采样。

在一个示例中,当使用多模型交叉分量预测时,特定模型/组的X

参考图45,交叉分量预测的方法4500可以由预测组件4110、CCP模型组件4120、处理器4104和/或存储器4106执行。在一些实现中,在框4504,方法4500可以针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块。在框4505,方法4500可以基于该确定执行转换,其中模型参数基于当前视频块的相邻样本,其中相邻样本的数目或位置中的至少一项取决于当前视频块的块宽度或块高度中的至少一项。在一个示例中,针对模型导出,可以考虑可以被重采样的多于一行/列亮度邻居。类似地,针对模型导出,可以考虑多于一行/列色度邻居。在一个示例中,用于模型计算的相邻样本的数目和位置可以取决于块宽度和/或高度。

参考图46,交叉分量预测的方法4600可以由预测组件4110、CCP模型组件4120、处理器4104和/或存储器4106执行。在一些实现中,在框4604,方法4600可以针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块。在框4605,方法4600可以基于该确定执行转换,其中在确定期间,执行位深移位操作被应用。在一个示例中,内部高位深除法运算可以用于模型导出。例如,数字可以在除法运算之前左移K位,并且在除法运算之后右移K位。

参考图47,交叉分量预测的方法4700可以由预测组件4110、CCP模型组件4120、处理器4104和/或存储器4106执行。在一些实现中,在框4704,方法4700可以针对视频的当前视频块与视频的比特流之间的转换,使用非线性模型确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块。在框4705,方法4700可以基于该确定执行转换。在一个示例中,非线性模型可以用于交叉分量预测。例如,色度样本C可以由亮度重构样本(可以被下采样)Y上的函数f预测为C=f(Y),其中f是非线性函数,诸如f(Y)=aY

参考图48,交叉分量预测的方法4800可以由预测组件4110、CCP模型组件4120、处理器4104和/或存储器4106执行。在一些实现中,在框4804,方法4800可以针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块。在框4805,方法4800可以基于该确定执行转换,其中在确定期间,选择用于交叉分量预测的相邻样本被应用。在一个示例中,所选择的相邻样本可以用于交叉分量预测。例如,可以基于多参考线(MRL)编解码工具的参考线索引来导出一组选择的相邻样本。在一个示例中,位于由多参考线(MRL)编解码工具的参考线索引指示的相同线/行中的参考样本可以用于交叉分量模型计算。在另一示例中,针对表示为mrlIdx的多参考线(MRL)编解码工具的参考线索引,可以使用位于第k相邻线/行中的参考样本(其中k=“mrlIdx>>因子”)用于交叉分量模型计算,其中因子为常数,诸如等于1。

参考图49,邻居选择的方法4900可以由预测组件4110、邻居选择组件4125、处理器4104和/或存储器4106执行。在一些实现中,在框4904,方法4900可以针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块。在框4905,方法4900可以基于该确定执行转换,其中在确定期间,过滤用于交叉分量预测的相邻样本被应用。在一个示例中,过滤后的相邻样本可以用于交叉分量预测。例如,相邻样本可以根据规则进行过滤,并且然后用于交叉分量预测的模型导出。例如,相邻样本中的一部分可以被过滤并且用于交叉分量预测的模型导出。在一种情况下,过滤器可以是低通过滤器。在一些实现中,过滤器可以是一维(1-D)过滤器或二维(2-D)过滤器。可以对亮度和色度相邻样本应用不同过滤器。

在一个示例中,上述方法可以应用于相邻行或相邻列或这两者。

例如,上述方法可以应用于单树块分割或双树块分割。此外,如果上述方法应用于双树块分割编解码,则可以基于与当前色度块相关联的左上(或中心)位置来获取并置亮度块(用于导出当前色度编码的mrlIdx)。

在一个示例中,如果使用多个模型,则上述方法可以应用于模型中的一个(或部分或全部)。

参考图50,邻居选择的方法5000可以由预测组件4110、邻居选择组件4125、处理器4104和/或存储器4106来执行。在一些实现中,在框5004,方法500可以针对作为色度块的视频的当前视频块与视频的比特流之间的转换,确定利用一个或多个模型进行与交叉分量预测模式相关联的交叉分量预测。在框5005,方法5000可以基于该确定执行转换。在一个示例中,针对当前块,计算设备4102可以被允许从将邻居分类为一组的交叉分量预测模式或将邻居分类为N组的交叉分量预测模式中进行选择。备选地,针对当前块,计算设备4102可以被允许从将邻居分类为M组的交叉分量预测模式或将邻居分类为N组的交叉分量预测模式中进行选择,其中M>1并且N>1。

在一个示例中,是使用单模型还是多模型(多于一个模型)或者多少模型可以通过一个或多个语法元素(例如,标志或索引)显式地发信号通知。备选地,是使用M模型还是N模型交叉分量预测可以通过语法元素显式地发信号通知。

在一个示例中,是使用单模型还是多模型(多于一个模型)或者多少模型可以根据规则(例如,不发信号通知语法元素)在运行中(自适应地)确定。备选地,是使用M模型还是N模型交叉分量预测可以在运行中确定。

在一个示例中,是使用X模型交叉分量预测方法还是Y模型交叉分量预测方法(Y!=X)可以取决于基于相邻样本的规则。在一个示例中,X>=1。在一个示例中,Y>=1。例如,该规则可以取决于成本(例如,绝对差的总和(SAD)、绝对变换差的总和(SATD)、均方误差(MSE))值。例如,可以在运行中针对每个模型计算成本值。例如,成本值可以根据原始相邻重构值与模型拟合/预测相邻值之间的失真来计算。失真可以导出为SAD或平方差的总和(SSD)。例如,最终可以选择成本较低的交叉分量预测方法。

在一个示例中,有多少组/模型用于交叉分量预测模式可以取决于预定义数目。例如,M个组/模型可以用于交叉分量预测模式A1,并且N个组/模型可以用于交叉分量预测模式A2,其中A1和A2是编解码器中允许的两种不同交叉分量预测模式。在一种情况下,M和N可以为常数。备选地,M=2并且N=3。在另一示例中,M=1并且N=2。在一些示例中,A1/A2可以是{LM_A,LM_L,CCLM,...}中的任何LM模式。例如,在编解码器中可以允许单模型LM_A(由模式A1表示)和双模型LM_A(由模式A2表示)。并且,编码块可以使用单模式LM_A或双模型LM_A(但不能同时使用这两者)进行编解码。例如,在编解码器中可以允许双模型LM_A(由模式A1表示)和三模型LM_L(由模式A2表示)。并且,编码块可以使用双模式LM_A或三模型LM_L(但不能同时使用这两者)进行编解码。

在备选实现中,针对指定的交叉分量预测模式,用于对当前编码块进行编解码的组/模型的数目可以在运行中确定(预定义/固定除外)。例如,交叉分量预测模式允许单模型和双模型方法。因此,在这种情况下,使用这种模式的编码块可以利用单模型或双模型方法进行编解码,这取决于某个标准/规则(诸如由单模型还是双模型更适合邻居来确定)。

在一个示例中,交叉分量预测模式的组/模型的数目可以由邻居的分布/活动/多样性自适应地确定。例如,是否触发多模型或者是否使用M模型或N模型交叉分量预测可以取决于邻居的平坦程度。在一个示例中,M>=1和/或N>=1。例如,对相邻样本应用函数以确定相邻样本的平坦程度。相邻样本的平坦度可以基于样本的方差来确定。例如,该函数可以计算相邻样本的方差。随着方差减小,相邻样本可以被认为更平坦。如果相邻样本/像素的分布足够平坦(例如,方差小于阈值),则可能不允许多模型交叉分量预测。

在一个示例中,是否触发多模型(即,多于一个模型)交叉分量预测可以取决于计数多少邻居。例如,如果所计数的邻居的数目大于(或不小于)阈值,则可以使用多模型交叉分量预测。例如,如果所计数的邻居的数目小于(或不大于)阈值,则可能不允许多模型交叉分量预测。例如,上述所计数的邻居可以是用于交叉分量预测模式的邻居像素/样本。阈值可以取决于当前块的维度。

在一个示例中,不同模型可以采用不同相邻样本进行模型计算。例如,针对模型计算使用哪些邻居可以取决于相邻样本的分类,例如,相邻样本可以基于样本值或样本值的任何函数(诸如均值或方差或分布或活动或多样性)分类为不同组。在一个示例中,模型中的一个可以使用来自左侧和上方两者的相邻样本进行模型计算。另一模型可以仅将来自左侧(或上方)的相邻样本用于模型计算。在一个示例中,模型中的一个可以使用M个相邻样本进行模型计算。另一模型可以使用N个相邻样本进行模型计算。在一些实现中,M可以取决于块宽度和/或块高度,和/或N可以取决于块宽度和/或块高度。

在一个示例中,多于一个交叉分量预测模式可以应用于编码块。在一个示例中,不同交叉分量预测模式可以将邻居分类为不同数目的组。例如,第一模式将邻居视为整个组并且针对整个块导出单个模型。而第二模式将邻居分成T个组并且针对整个块导出T个模型,即一个组有一个模型,其中T大于1。在一个示例中,可以基于相邻样本来竞争多个模式(例如,基于项目符号4中公开的成本计算)。在这种情况下,没有明确的语法元素被发信号通知以指定最终选择多个模式中的哪个模式用于当前块编解码。

备选地,可以在比特流中发信号通知语法元素(例如,索引或标志)以指定最终选择哪种模式(有X个模型,其中X>=1)用于当前块编解码。例如,语法元素可以用一元(或截断一元、或截断莱斯(rice)、或截断二进制、或固定长度)二值化过程来编解码。例如,语法元素的一个或多个bin可以被上下文编解码。在另一示例中,针对将邻居分类为多于一个组的那些交叉分量预测模式,其模式索引可以大于(或小于)将邻居视为整个组的交叉分量预测模式的模式索引。

是否/如何发信号通知语法元素可以取决于当前块的维度。例如,可以仅在当前块大于预定义大小的情况下发信号通知语法元素。在一个示例中,可以仅在当前块的宽度和高度的总和大于预定义阈值的情况下发信号通知语法元素。在另一示例中,可以仅在当前块的宽度大于预定义阈值和/或当前块的高度大于预定义阈值的情况下发信号通知语法元素。大于的比较可以替换为小于、不大于或不小于。

参考图51,多模型交叉分量预测的方法5100可以由预测组件4110、多模型组件4130、处理器4104和/或存储器4106执行。在一些实现中,在框5104,该方法5100可以针对作为色度块的视频的当前视频块与视频的比特流之间的转换,基于与交叉分量预测模式相关联的交叉分量预测的第一模型确定当前视频块的第一预测,并且基于与非交叉分量预测模式相关联的非交叉分量预测的第二模型确定当前视频块的第二预测。在框5105,方法5100可以基于该确定执行转换。例如,非交叉分量预测可以是通过帧内DM模式导出的预测块。例如,非交叉分量预测可以是通过除交叉分量预测模式之外的任何帧内预测模式导出的预测块。在一个示例中,如何生成交叉分量预测(用于融合(blending)/混合)可以取决于预定义的交叉分量预测模式。在一个示例中,如何生成交叉分量预测(用于融合/混合)可以取决于自适应选择的交叉分量预测模式(例如,由从邻居计算的成本确定的交叉分量预测模式)。

在一个示例中,可以在比特流中发信号通知语法元素(例如,标志)以指定组合方法(例如,将交叉分量预测与特定预测模式组合)是否最终被选择用于当前块编解码。备选地,此外,可以有条件地发信号通知语法元素。例如,可以仅在特定预测模式(例如,帧内DM模式)用于当前块的情况下发信号通知语法元素。在一个示例中,可以仅在一些特定预测模式(例如,任何帧内模式,不包括交叉分量帧内预测模式)用于当前块的情况下发信号通知语法元素。是否/如何发信号通知语法元素可以取决于当前块的维度。例如,可以仅在当前块大于预定义大小的情况下发信号通知语法元素。例如,可以仅在当前块的宽度和高度的总和大于预定义阈值的情况下发信号通知语法元素。例如,可以仅在当前块的宽度大于预定义阈值和/或当前块的高度大于预定义阈值的情况下发信号通知语法元素。大于的比较可以替换为小于、不大于或不小于。

在上述方面中,通过第一预测和第二预测的混合或组合生成当前块的第三预测,并且第三预测然后用于在解码器处利用残差确定重构。第一预测和第二预测与第三预测的混合或组合可以参考以下方面。第三预测被生成为第一预测和第二预测的加权和。权重值可以是固定的,诸如(1/2,1/2)。块中的不同位置的权重值可以不同。第三预测被生成为第一预测和第二预测的空间混合。对于某些位置,第三预测设置为等于第一预测。对于其他一些位置,第三预测设置为等于第二预测。

参考图52,将用于交叉分量预测的模型与非交叉分量预测模型整合的方法5200可以由预测组件4110、非CCP模型组件4135、处理器4104和/或存储器4106执行。在一些实现中,在框5205,方法5200可以基于与交叉分量预测模式相关联的交叉分量预测的第一模型生成第一预测块。在框5210,方法5200可以基于与非交叉分量预测模式相关联的非交叉分量预测的第二模型生成第二预测块。

本公开的方面包括一种方法,该方法用于:针对视频的当前视频块与视频的比特流之间的转换,确定交叉分量预测模型的偏移参数,当前视频块是利用交叉分量预测模式被编码的色度块,偏移参数基于来自当前视频块的两个或更多相邻样本的导出样本值;以及基于该确定执行转换。

上述方法中的任何一个,其中交叉分量预测模式是交叉分量线性模型模式。

上述方法中的任何一个,其中两个或更多相邻样本包括当前视频块的所有相邻样本。

上述方法中的任何一个,其中两个或更多相邻样本是指位于当前视频块外部的顶行和/或左列的相邻亮度样本和/或相邻色度样本。

上述方法中的任何一个,其中两个或更多相邻样本来自一组相邻样本,其中该组包括当前视频块的所有相邻样本的一部分。

上述方法中的任何一个,其中所有相邻样本基于以下至少一项而被分类为不同组:样本值、或样本值的任何函数、或方差、或分布、或活动、或多样性。

上述方法中的任何一个,其中导出样本值基于两个或更多相邻样本的以下中的至少一项:平均色度值、中程色度值、中位色度值、平均亮度值、中程亮度值或中位亮度值。

上述方法中的任何一个,其中导出样本值是从当前视频块的相邻重构样本中导出的。

上述方法中的任何一个,其中导出样本值是导出色度值或导出亮度值。

上述方法中的任何一个,其中确定偏移参数包括基于导出色度值确定偏移参数。

上述方法中的任何一个,其中确定偏移参数包括基于导出色度值和取决于导出亮度值的参数来确定偏移参数。

上述方法中的任何一个,其中导出样本值是最小值、最大值和偏移因子的总和,其中该总和被右移移位因子。

上述方法中的任何一个,其中移位因子等于2或4。

上述方法中的任何一个,其中偏移因子是常数值。

上述方法中的任何一个,其中偏移因子等于0、1或2。

上述方法中的任何一个,其中偏移因子取决于移位。

上述方法中的任何一个,其中最小值是与当前视频块的两个或更多相邻样本相关联的最小值。

上述方法中的任何一个,其中最大值是与当前视频块的两个或更多相邻样本相关联的最大值。

上述方法中的任何一个,其中最小值是当前视频块的两个或更多相邻样本中的N个最小相邻样本的平均,其中N为常数。

上述方法中的任何一个,其中最大值是当前视频块的两个或更多相邻样本中的N个最大相邻样本的平均,其中N为常数。

上述方法中的任何一个,其中N=2。

上述方法中的任何一个,其中导出样本值是参数S和偏移因子的总和,其中该总和被右移移位因子。

上述方法中的任何一个,其中移位因子取决于相邻重构样本的数目。

上述方法中的任何一个,其中移位因子是常数值。

上述方法中的任何一个,其中移位因子等于2或4。

上述方法中的任何一个,其中偏移因子等于0、1或2。

上述方法中的任何一个,其中偏移因子取决于移位因子。

上述方法中的任何一个,其中参数S是当前视频块的L个相邻样本的参数总和,其中L等于a x blockWidth、b x blockHeight或c x(blockWidth+blockHeight),其中a、b和c为整数。

上述方法中的任何一个,其中确定偏移参数还包括基于一个或多个模型确定偏移参数。

上述方法中的任何一个,其中确定偏移参数还包括在以下期间确定偏移参数:交叉分量线性模型左上(CCLM-LT)模式、交叉分量线性模型左部(CCLM-L)模式、或交叉分量线性模型顶部(CCLM-T)模式。

上述方法中的任何一个,其中偏移参数是导出色度、与α和导出亮度值的乘积之间的差值,其中α是应用于亮度重构值的缩放参数,并且该差值被右移移位因子。

上述方法中的任何一个,其中两个或更多相邻样本与当前视频块相邻,其中当前视频块包括色度块或亮度块中的至少一者。

上述方法中的任何一个,其中两个或更多相邻样本与当前视频块不相邻,其中当前视频块包括色度块或亮度块中的至少一者。

上述方法中的任何一个,其中关于两个或更多相邻样本不相邻的指示被包括在比特流中或在运行中导出。

本公开的方面包括一种方法,该方法用于:针对视频的当前视频块与视频的比特流之间的转换,确定与模型或组相关联的缩放参数取决于与模型或组相关联的当前视频块的相邻样本,当前视频块是利用多模型交叉分量预测模式被编码的色度块;以及基于该确定执行转换。

上述方法中的任何一个,其中缩放参数取决于与模型或组相关联的最小相邻样本和/或与模型或组相关联的最大相邻样本。

上述方法中的任何一个,其中缩放参数取决于与模型或组相关联的多于一个最小相邻样本和/或与模型或组相关联的多于一个最大相邻样本。

上述方法中的任何一个,其中当前视频块的所有相邻样本基于以下至少一项而被分类为不同组:样本值、或样本值的任何函数、或方差、或分布、或活动、或多样性。

上述方法中的任何一个,其中缩放参数取决于N个最小相邻样本或N个最大相邻样本的平均值、中程值、中位值或均值。

上述方法中的任何一个,其中N为常数。

上述方法中的任何一个,其中N=2。

上述方法中的任何一个,其中N取决于编解码信息。

上述方法中的任何一个,其中编解码信息包括块宽度或块高度中的至少一项。

上述方法中的任何一个,其中N取决于组中的相邻样本的数目。

上述方法中的任何一个,其中N取决于当前视频块的所计数的相邻样本的数目,其中所计数的相邻样本满足条件。

本公开的方面包括一种方法,该方法用于:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,应用对当前视频块的多于一行相邻样本或当前视频块的多于一列相邻样本进行重采样。

上述方法中的任何一个,其中交叉分量预测模式是交叉分量线性模型模式或多模型交叉分量预测模式。

上述方法中的任何一个,其中多于一行邻居包括多于一行色度邻居或多于一行亮度邻居,并且多于一列邻居包括多于一列色度邻居或多于一列亮度邻居。

本公开的方面包括一种方法,该方法用于:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中模型参数基于当前视频块的相邻样本,其中相邻样本的数目或位置中的至少一项取决于当前视频块的块宽度或块高度中的至少一项。

上述方法中的任何一个,其中交叉分量预测模式是交叉分量线性模型模式或多模型交叉分量预测模式。

本公开的方面包括一种方法,该方法用于:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,执行位深移位操作被应用。

上述方法中的任何一个,其中交叉分量预测模式是交叉分量线性模型模式或多模型交叉分量预测模式。

上述方法中的任何一个,还包括在执行位深移位除法运算之前将模型参数中的至少一个左移K位,并且在执行位深移位除法运算之后将模型参数中的至少一个右移K位。

本公开的方面包括一种方法,该方法用于:针对视频的当前视频块与视频的比特流之间的转换,使用非线性模型确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换。

上述方法中的任何一个,其中交叉分量预测模式是交叉分量线性模型模式或多模型交叉分量预测模式。

上述方法中的任何一个,其中计算模型参数包括使用第一函数f(Y)=a Y

本公开的方面包括一种方法,该方法用于:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,选择用于交叉分量预测的相邻样本被应用。

上述方法中的任何一个,还包括基于多参考线(MRL)编解码工具的参考线索引来确定一组选择的相邻样本。

上述方法中的任何一个,其中位于由MRL编解码工具的参考线索引指示的相同线或相同行中的参考样本用于交叉分量预测。

上述方法中的任何一个,其中参考线索引小于、或小于或等于因子。

上述方法中的任何一个,其中对相邻样本进行选择被应用于相邻行或相邻列中的至少一项。

上述方法中的任何一个,其中对相邻样本进行选择被应用于单树块分割或双树块分割中的至少一项。

上述方法中的任何一个,还包括针对双树块分割标识在当前视频块的左上位置或中心位置处的并置亮度块。

上述方法中的任何一个,其中对相邻样本进行选择包括针对用于交叉分量预测的多个模型中的至少一个模型选择相邻样本。

本公开的方面包括一种方法,该方法用于:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,过滤用于交叉分量预测的相邻样本被应用。

上述方法中的任何一个,其中相邻样本的过滤包括利用一个或多个规则过滤相邻样本。

上述方法中的任何一个,其中对相邻样本进行过滤包括利用低通过滤器进行过滤。

上述方法中的任何一个,其中对相邻样本进行过滤包括利用1-D过滤器或2-D过滤器进行过滤。

上述方法中的任何一个,其中对相邻样本进行过滤包括利用第一过滤器对亮度相邻样本进行过滤并且利用第二过滤器对色度相邻样本进行过滤。

上述方法中的任何一个,其中对相邻样本进行过滤被应用于相邻行或相邻列中的至少一项。

上述方法中的任何一个,其中对相邻样本进行过滤被应用于单树块分割或双树块分割中的至少一项。

上述方法中的任何一个,还包括针对双树块分割标识在当前视频块的左上位置或中心位置处的并置亮度块。

上述方法中的任何一个,其中对相邻样本进行过滤包括对用于交叉分量预测的多个模型中的至少一个模型的相邻样本的过滤。

本公开的方面包括一种方法,该方法用于:针对作为色度块的视频的当前视频块与视频的比特流之间的转换,确定利用一个或多个模型进行与交叉分量预测模式相关联的交叉分量预测;并且基于该确定执行转换。

上述方法中的任何一个,其中交叉分量预测模式是将当前视频块的邻居分类为一组的第一交叉分量预测模式。

上述方法中的任何一个,其中交叉分量预测模式是将邻居分类为N组的第二交叉分量预测模式。

上述方法中的任何一个,其中交叉分量预测模式选自至少两个交叉分量预测模式,其中至少两个交叉分量预测模式包括将当前视频块的邻居分类为M个组的第一交叉分量预测模式和将邻居分类为N个组的第二交叉分量预测模式。

上述方法中的任何一个,其中M=1,并且N大于1。

上述方法中的任何一个,其中M大于1,并且N大于1。

上述方法中的任何一个,其中指示将一个或多个模型用于交叉分量预测的指示符被包括在比特流中。

上述方法中的任何一个,其中指示用于交叉分量预测的模型的数目的第一语法元素被包括在比特流中。

上述方法中的任何一个,其中指示利用M模式交叉分量预测或N模式交叉分量预测的第二语法元素被包括在比特流中。

上述方法中的任何一个,还包括在运行中确定利用用于交叉分量预测的一个或多个模型。

上述方法中的任何一个,还包括在运行中确定用于交叉分量预测的多个模型。

上述方法中的任何一个,还包括在运行中确定利用M模式交叉分量预测或N模式交叉分量预测。

上述方法中的任何一个,其中M和N为常数。

上述方法中的任何一个,其中M=2并且N=3。

上述方法中的任何一个,其中M=1并且N=2。

上述方法中的任何一个,还包括基于与相邻样本相关联的规则来确定利用X模型交叉分量预测方法或Y模型交叉分量预测方法。

上述方法中的任何一个,其中X大于或等于1。

上述方法中的任何一个,其中Y大于或等于1。

上述方法中的任何一个,其中该规则取决于成本值或成本函数。

上述方法中的任何一个,其中成本值或成本函数与以下至少一项相关联:绝对差的总和(SAD)、绝对变换差的总和(SATD)、均方误差(MSE)、平方差的总和(SSD)或峰值信噪比(PSNR)。

上述方法中的任何一个,还包括在运行中计算与SAD、SATD、MSE、SSD或PSNR相关联的成本值。

上述方法中的任何一个,其中计算成本值还包括基于原始相邻重构值与模型预测相邻值之间的失真来计算成本值。

上述方法中的任何一个,还包括选择所计算的成本值中的最低成本值。

上述方法中的任何一个,还包括确定用于交叉分量预测的第一数目的组或第二数目的模型。

上述方法中的任何一个,其中第一数目和第二数目为常数。

上述方法中的任何一个,其中交叉分量预测模式是上线性模式、左线性模式或交叉分量线性模式中的一项。

上述方法中的任何一个,其中确定第一数目或第二数目包括在运行中确定第一数目或第二数目。

上述方法中的任何一个,还包括基于邻居的分布、邻居的活动或邻居的多样性中的至少一项自适应地确定用于交叉分量预测的第一数目的组或第二数目的模型。

上述方法中的任何一个,其中第一数目大于或等于1。

上述方法中的任何一个,其中第二数目大于或等于1。

上述方法中的任何一个,其中确定包括确定邻居的方差。

上述方法中的任何一个,其中当邻居的方差小于(小于或等于)阈值时,不允许多模型交叉分量预测。

上述方法中的任何一个,还包括基于所计数的邻居的数目来确定用于交叉分量预测的模型的数目。

上述方法中的任何一个,其中确定包括将所计数的邻居的数目与阈值进行比较,并且响应于所计数的邻居的数目大于阈值而确定模型的数目大于1。

上述方法中的任何一个,还包括响应于所计数的邻居的数目低于阈值而避免利用多模型交叉分量预测。

上述方法中的任何一个,其中所计数的邻居的数目等于用于交叉分量预测的邻居像素的第一数目或相邻样本的第二数目。

上述方法中的任何一个,其中阈值取决于当前视频块的维度。

上述方法中的任何一个,其中利用一个或多个模型包括利用第一相邻样本的第一模型和第二相邻样本的第二模型用于交叉分量预测。

上述方法中的任何一个,还包括基于样本值、样本值的均值、样本值的方差、样本值的分布、活动或多样性中的至少一项的相邻样本分类来利用一个或多个模型。

上述方法中的任何一个,其中第一模型使用第一数目的相邻样本进行计算并且第二模型使用第二数目的相邻样本进行计算。

上述方法中的任何一个,其中第一数目或第二数目中的至少一项取决于当前视频块的块宽度或当前视频块的块高度。

上述方法中的任何一个,还包括将多于一个交叉分量预测模式应用于当前视频块。

上述方法中的任何一个,其中多于一个交叉分量预测模式中的第一交叉分量预测模式将邻居分类为第一数目的组,并且多于一个交叉分量预测模式中的第二交叉分量预测模式将邻居分类为第二数目的组。

上述方法中的任何一个,其中第一交叉分量预测模式利用当前视频块的第一模型并且第二交叉分量预测模式利用当前视频块的多个模型。

上述方法中的任何一个,其中指示当前视频块的多于一个交叉分量预测模式中的一个或多个选择的模式的语法元素被包括在比特流中。

上述方法中的任何一个,其中语法元素使用一元、截断一元、截断莱斯、截断二进制或固定长度的二值化过程来编解码。

上述方法中的任何一个,其中语法元素的一个或多个bin被上下文编解码。

上述方法中的任何一个,其中多于一个交叉分量预测模式中的第一交叉分量预测模式具有第一模式索引并且多于一个交叉分量预测模式中的第二交叉分量预测模式具有第二模式索引,第一交叉分量预测模式将邻居分类为多个组,第二交叉分量预测模式将邻居分类为一组,并且第一模式索引大于第二模式索引。

上述方法中的任何一个,其中语法元素基于当前视频块的维度被包括在比特流中。

上述方法中的任何一个,其中语法元素响应于当前视频块的大小大于或大于或等于阈值大小而被包括在比特流中。

上述方法中的任何一个,其中语法元素响应于当前视频块的宽度和当前视频块的高度的总和大于或大于或等于阈值而被包括在比特流中。

上述方法中的任何一个,其中语法元素响应于当前视频块的宽度大于或大于或等于阈值宽度或者当前视频块的高度大于或大于或等于阈值高度而被包括在比特流中。

本公开的方面包括一种方法,该方法用于:针对作为色度块的视频的当前视频块与视频的比特流之间的转换,基于与交叉分量预测模式相关联的交叉分量预测的第一模型确定当前视频块的第一预测,并且基于与非交叉分量预测模式相关联的非交叉分量预测的第二模型确定当前视频块的第二预测;以及基于该确定执行转换。

上述方法中的任何一个,还包括组合第一预测和第二预测。

上述方法中的任何一个,其中组合第一预测和第二预测包括融合或混合第一预测和第二预测。

上述方法中的任何一个,其中非交叉分量预测模式是帧内导出模式。

上述方法中的任何一个,其中非交叉分量预测模式是帧内预测模式。

上述方法中的任何一个,其中确定第一预测包括基于自适应地选择的交叉分量预测模式来确定第一预测。

上述方法中的任何一个,其中确定第一预测包括基于预定义的交叉分量预测模式来确定第一预测。

上述方法中的任何一个还包括用于指示对交叉分量预测模式和非交叉分量预测模式的选择的语法元素被包括在比特流中。

上述方法中的任何一个,其中语法元素被有条件地包括在比特流中。

上述方法中的任何一个,其中语法元素至少基于非交叉分量预测模式或交叉分量预测模式被包括在比特流中。

上述方法中的任何一个,其中语法元素基于当前视频块的维度被包括在比特流中。

上述方法中的任何一个,其中语法元素响应于当前视频块的大小大于(大于或等于)阈值大小而被包括在比特流中。

上述方法中的任何一个,其中语法元素响应于当前视频块的宽度和当前视频块的高度的总和大于或大于或等于阈值而被包括在比特流中,

上述方法中的任何一个,其中语法元素响应于当前视频块的宽度大于或大于或等于阈值宽度或者当前视频块的高度大于或大于或等于阈值高度而被包括在比特流中。

上述方法中的任何一个,还包括基于第一预测和第二预测确定第三预测。

上述方法中的任何一个,其中确定第三预测包括将第一权重应用于第一预测并且将第二权重应用于第二预测。

上述方法中的任何一个,其中第一权重是0.5并且第二权重是0.5。

上述方法中的任何一个,其中第一权重和第二权重针对当前视频块中的不同位置是不同的。

上述方法中的任何一个,其中第三预测是第一预测和第二预测的空间混合。

上述方法中的任何一个,其中第三预测的第一部分与第一预测的第一部分相同并且第三预测的第二部分与第二预测的第二部分相同。

上述方法中的任何一个,其中转换包括将当前视频块编码成比特流。

上述方法中的任何一个,其中转换包括从比特流中解码当前视频块。

上述方法中的任何一个,其中转换包括根据当前视频块生成比特流;并且该方法还包括将比特流存储在非瞬态计算机可读记录介质中。

本公开的方面包括一种用于处理视频数据的装置,该装置包括处理器和其上具有指令的非瞬态存储器,其中该指令在由处理器执行之后使处理器:针对视频的当前视频块与视频的比特流之间的转换,确定交叉分量预测模型的偏移参数,当前视频块是利用交叉分量预测模式被编码的色度块,偏移参数基于来自当前视频块的两个或更多相邻样本的导出样本值;以及基于该确定执行转换。

本公开的方面包括一种非瞬态计算机可读记录介质,该介质存储通过由视频处理装置执行的方法生成的视频的比特流,其中该方法包括:针对视频的当前视频块与视频的比特流之间的转换,确定交叉分量预测模型的偏移参数,当前视频块是利用交叉分量预测模式被编码的色度块,偏移参数基于来自当前视频块的两个或更多相邻样本的导出样本值;以及基于该确定根据当前视频块生成比特流。

本公开的方面包括一种存储指令的非瞬态计算机可读存储介质,该指令使处理器:针对视频的当前视频块与视频的比特流之间的转换,确定交叉分量预测模型的偏移参数,当前视频块是利用交叉分量预测模式被编码的色度块,偏移参数基于来自当前视频块的两个或更多相邻样本的导出样本值;以及基于该确定执行转换。

本公开的方面包括一种用于处理视频数据的装置,该装置包括处理器和其上具有指令的非瞬态存储器,其中该指令在由处理器执行之后使处理器:针对视频的当前视频块与视频的比特流之间的转换,确定与模型或组相关联的缩放参数取决于与模型或组相关联的当前视频块的相邻样本,当前视频块是利用多模型交叉分量预测模式被编码的色度块;以及基于该确定执行转换。

本公开的方面包括一种非瞬态计算机可读记录介质,该介质存储通过由视频处理装置执行的方法生成的视频的比特流,其中该方法包括:针对视频的当前视频块与视频的比特流之间的转换,确定与模型或组相关联的缩放参数取决于与模型或组相关联的当前视频块的相邻样本,当前视频块是利用多模型交叉分量预测模式被编码的色度块;以及基于该确定根据当前视频块生成比特流。

本公开的方面包括一种存储指令的非瞬态计算机可读存储介质,该指令使处理器:针对视频的当前视频块与视频的比特流之间的转换,确定与模型或组相关联的缩放参数取决于与模型或组相关联的当前视频块的相邻样本,当前视频块是利用多模型交叉分量预测模式被编码的色度块;以及基于该确定执行转换。

本公开的方面包括一种用于处理视频数据的装置,该装置包括处理器和其上具有指令的非瞬态存储器,其中该指令在由处理器执行之后使处理器:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,应用对当前视频块的多于一行相邻样本或当前视频块的多于一列相邻样本进行重采样。

本公开的方面包括一种非瞬态计算机可读记录介质,该介质存储通过由视频处理装置执行的方法生成的视频的比特流,其中该方法包括:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定根据当前视频块生成比特流,其中在确定期间,应用对当前视频块的多于一行相邻样本或当前视频块的多于一列相邻样本进行重采样。

本公开的方面包括一种存储指令的非瞬态计算机可读存储介质,该指令使处理器:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,应用对当前视频块的多于一行相邻样本或当前视频块的多于一列相邻样本进行重采样。

本公开的方面包括一种用于处理视频数据的装置,该装置包括处理器和其上具有指令的非瞬态存储器,其中该指令在由处理器执行之后使处理器:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中模型参数基于当前视频块的相邻样本,其中相邻样本的数目或位置中的至少一项取决于当前视频块的块宽度或块高度中的至少一项。

本公开的方面包括一种非瞬态计算机可读记录介质,该介质存储通过由视频处理装置执行的方法生成的视频的比特流,其中该方法包括:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定根据当前视频块生成比特流,其中模型参数基于当前视频块的相邻样本,其中相邻样本的数目或位置中的至少一项取决于当前视频块的块宽度或块高度中的至少一项。

本公开的方面包括一种存储指令的非瞬态计算机可读存储介质,该指令使处理器:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中模型参数基于当前视频块的相邻样本,其中相邻样本的数目或位置中的至少一项取决于当前视频块的块宽度或块高度中的至少一项。

本公开的方面包括一种用于处理视频数据的装置,该装置包括处理器和其上具有指令的非瞬态存储器,其中该指令在由处理器执行之后使处理器:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,执行位深移位操作被应用。

本公开的方面包括一种非瞬态计算机可读记录介质,该介质存储通过由视频处理装置执行的方法生成的视频的比特流,其中该方法包括:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定根据当前视频块生成比特流,其中在确定期间,执行位深移位操作被应用。

本公开的方面包括一种存储指令的非瞬态计算机可读存储介质,该指令使处理器:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,执行位深移位操作被应用。

本公开的方面包括一种用于处理视频数据的装置,该装置包括处理器和其上具有指令的非瞬态存储器,其中该指令在由处理器执行之后使处理器:针对视频的当前视频块与视频的比特流之间的转换,使用非线性模型确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换。

本公开的方面包括一种非瞬态计算机可读记录介质,该介质存储通过由视频处理装置执行的方法生成的视频的比特流,其中该方法包括:针对视频的当前视频块与视频的比特流之间的转换,使用非线性模型确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定根据当前视频块生成比特流。

本公开的方面包括一种存储指令的非瞬态计算机可读存储介质,该指令使处理器:针对视频的当前视频块与视频的比特流之间的转换,使用非线性模型确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换。

本公开的方面包括一种用于处理视频数据的装置,该装置包括处理器和其上具有指令的非瞬态存储器,其中该指令在由处理器执行之后使处理器:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,选择用于交叉分量预测的相邻样本被应用。

本公开的方面包括一种非瞬态计算机可读记录介质,该介质存储通过由视频处理装置执行的方法生成的视频的比特流,其中该方法包括:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定根据当前视频块生成比特流,其中在确定期间,选择用于交叉分量预测的相邻样本被应用。

本公开的方面包括一种存储指令的非瞬态计算机可读存储介质,该指令使处理器:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,选择用于交叉分量预测的相邻样本被应用。

本公开的方面包括一种用于处理视频数据的装置,该装置包括处理器和其上具有指令的非瞬态存储器,其中该指令在由处理器执行之后使处理器:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,过滤用于交叉分量预测的相邻样本被应用。

本公开的方面包括一种非瞬态计算机可读记录介质,该介质存储通过由视频处理装置执行的方法生成的视频的比特流,其中该方法包括:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定根据当前视频块生成比特流,其中在确定期间,过滤用于交叉分量预测的相邻样本被应用。

本公开的方面包括一种存储指令的非瞬态计算机可读存储介质,该指令使处理器:针对视频的当前视频块与视频的比特流之间的转换,确定当前视频块的交叉分量预测模型的模型参数,当前视频块是利用交叉分量预测模式被编码的色度块;以及基于该确定执行转换,其中在确定期间,过滤用于交叉分量预测的相邻样本被应用。

本公开的方面包括一种用于处理视频数据的装置,该装置包括处理器和其上具有指令的非瞬态存储器,其中该指令在由处理器执行之后使处理器:针对作为色度块的视频的当前视频块与视频的比特流之间的转换,确定利用一个或多个模型进行与交叉分量预测模式相关联的交叉分量预测;并且基于该确定执行转换。

本公开的方面包括一种非瞬态计算机可读记录介质,该介质存储通过由视频处理装置执行的方法生成的视频的比特流,其中该方法包括:针对作为色度块的视频的当前视频块与视频的比特流之间的转换,确定利用一个或多个模型进行与交叉分量预测模式相关联的交叉分量预测;并且基于该确定根据当前视频块生成比特流。

本公开的方面包括一种存储指令的非瞬态计算机可读存储介质,该指令使处理器:针对作为色度块的视频的当前视频块与视频的比特流之间的转换,确定利用一个或多个模型进行与交叉分量预测模式相关联的交叉分量预测;并且基于该确定执行转换。

本公开的方面包括一种用于处理视频数据的装置,该装置包括处理器和其上具有指令的非瞬态存储器,其中该指令在由处理器执行之后使处理器:针对作为色度块的视频的当前视频块与视频的比特流之间的转换,基于与交叉分量预测模式相关联的交叉分量预测的第一模型确定当前视频块的第一预测,并且基于与非交叉分量预测模式相关联的非交叉分量预测的第二模型确定当前视频块的第二预测;以及基于该确定执行转换。

本公开的方面包括一种非瞬态计算机可读记录介质,该介质存储通过由视频处理装置执行的方法生成的视频的比特流,其中该方法包括:针对作为色度块的视频的当前视频块与视频的比特流之间的转换,基于与交叉分量预测模式相关联的交叉分量预测的第一模型确定当前视频块的第一预测,并且基于与非交叉分量预测模式相关联的非交叉分量预测的第二模型确定当前视频块的第二预测;以及基于该确定根据当前视频块生成比特流。

本公开的方面包括一种存储指令的非瞬态计算机可读存储介质,该指令使处理器:针对作为色度块的视频的当前视频块与视频的比特流之间的转换,基于与交叉分量预测模式相关联的交叉分量预测的第一模型确定当前视频块的第一预测,并且基于与非交叉分量预测模式相关联的非交叉分量预测的第二模型确定当前视频块的第二预测;以及基于该确定执行转换。

本公开的方面包括以下特征。

为了解决上述问题和其他一些未提及的问题,公开了如下总结的方法。本发明应当被视为解释一般概念的示例,而不应当以狭隘的方式进行解释。此外,这些发明可以个体地应用或以任何方式组合。

在下面的讨论中,blockWidth和blockHeight分别表示当前块的宽度和高度。

CCLM可以是指任何类型的CCLM模式,诸如CCLM-L、CCLM-T、CCLM-LT或多模型CCLM。

1.关于用于解决第一问题的交叉分量预测的beta值导出,公开了以下方法中的一种或多种:

1)在一个示例中,参数“beta”可以基于诸如来自所有邻居的平均/中程/中位/均值亮度/色度值等函数来计算。

2)在一个示例中,参数“beta”可以基于诸如来自多于一个邻居的一部分的平均/中程/中位/均值亮度/色度值等函数来计算。

3)在一个示例中,“beta”导出可以取决于(多个)导出色度值和/或(多个)导出亮度值。色度或亮度导出值表示从重构色度或亮度样本中导出的值。

a.在一个示例中,“beta”的计算可以取决于导出色度值。

b.在一个示例中,“beta”的计算可以取决于导出色度值和取决于导出亮度值的参数。

c.例如,导出值(例如,导出亮度值或导出色度值)可以计算为(最小值+最大值+偏移)>>移位,其中

i.例如,移位可以为常数,例如2、4等。

ii.例如,偏移可以为常数,例如0、1、2等。

iii.例如,偏移可以取决于“移位”的值,例如,偏移等于(1<<移位)>>1。

iv.例如,最小值可以是所有相邻样本或相邻样本子集中的最小值。

a)此外,最大值可以是所有相邻样本或相邻样本子集中的最大值。

v.例如,最小值可以是所有相邻样本或相邻样本子集中的N个最小相邻样本的平均,其中N为常数,诸如N=2。

a)另外,最大值可以是所有相邻样本或相邻样本子集中的M个最大相邻样本的平均,其中M为常数,诸如M=2。

d.例如,导出样本值可以计算为(S+偏移)>>移位,其中

i.例如,移位可以取决于用于上述计算的样本的数目。

ii.例如,移位可以为常数,例如2、4等。

iii.例如,偏移可以为常数,例如0、1、2等。

iv.例如,偏移可以取决于“移位”的值,例如,偏移等于(1<<移位)>>1。

v.例如,S可以计算为L个相邻样本的值的总和,其中L等于a x blockWidth、或b xblockHeight或c x(blockWidth+blockHeight),其中a、b和c为整数。

4)例如,所公开的方法可以是适当的单模型或多模型计算。

a.例如,如果使用多个模型,则所公开的方法可以应用于模型导出中的任何一个(或一些或全部)。

5)例如,所公开的方法可以应用于任何种类的CCLM模式,诸如CCLM-LT、CCLM-T或CCLM-L。

6)Beta可以通过导出值计算为:beta=derivedChroma-((alpha*derivedLuma)>>shiftX),其中“alpha”表示应用于亮度重构值的缩放因子,“shiftX”表示常数值,并且“derivedChroma”和“derivedLuma”可以基于所公开的方法来计算。

7)在上述示例中,相邻样本是与当前色度块和/或当前色度块的对应亮度块相邻的样本。

a.备选地,相邻样本是与当前色度块和/或当前色度块的对应亮度块不相邻的样本。

i.在一个示例中,非相邻样本的指示可以在运行中发信号通知或导出。

2.假定在CCLM模式中使用的α导出为

1)在一个示例中,当使用多模型交叉分量预测时,特定模型/组的X

a.类似地,当使用多模型交叉分量预测时,特定模型/组的X1和/或Y1的导出可以取决于(例如,等于)属于该组(或对应于该模型)的N个最大相邻样本的函数(例如,平均/中程/中位/均值)。

b.例如,N可以为常数,诸如N=2。

c.例如,N可以取决于编解码信息,例如块宽度和/或块高度。

d.例如,N可以取决于有多少相邻样本属于该组,例如,如果少于T个计数的相邻样本属于该组,则N=1,并且如果属于该组的所计数的相邻样本的数目大于或等于T,则N=2,其中T为常数,诸如T=4。

e.例如,上面提到的“所计数的相邻样本”可以是满足预定条件的相邻样本,例如,以位置、样本值等为条件。

2)在一个示例中,针对模型导出,可以考虑可以被重采样的多于一行/列亮度邻居。

a.类似地,针对模型导出,可以考虑多于一行/列色度邻居。

3)在一个示例中,用于模型计算的相邻样本的数目和位置可以取决于块的宽度和/或高度。

4)在一个示例中,内部高位深除法运算可以用于模型导出。

a.例如,数字可以在除法运算之前左移K位,并且在除法运算之后右移K位。

5)在一个示例中,非线性模型可以用于交叉分量预测。

a.例如,色度样本C可以由亮度重构样本(可以被下采样)Y的函数f预测为C=f(Y),其中f是非线性函数,诸如f(Y)=aY

3.关于用于解决第三问题的交叉分量预测的模型导出的邻居选择,公开了以下方法:

1)在一个示例中,所选择的相邻样本可以用于交叉分量预测。

a.例如,可以基于多参考线(MRL)编解码工具的参考线索引来导出一组选择的相邻样本。

i.例如,位于由多参考线(MRL)编解码工具的参考线索引指示的相同线/行中的参考样本可以用于交叉分量模型计算。

ii.例如,假定多参考线(MRL)编解码工具的参考线索引表示为“mrlIdx”,则可以使用位于第k相邻线/行中的参考样本(其中k=“mrlIdx>>因子”)用于交叉分量模型计算,其中“因子”为常数,诸如“因子”等于1。

2)在一个示例中,过滤后的相邻样本可以用于交叉分量预测。

a.例如,相邻样本可以根据规则进行过滤,并且然后用于交叉分量预测的模型导出。

b.例如,相邻样本中的一部分可以被过滤并且用于交叉分量预测的模型导出。

c.过滤器可以是低通过滤器。

d.过滤器可以是一维过滤器或二维过滤器。

e.可以对亮度和色度相邻样本应用不同过滤器。

3)例如,上述方法可以应用于相邻行或相邻列或这两者。

4)例如,上述方法可以应用于单树块分割或双树块分割。

a.此外,如果上述方法应用于双树块分割编解码,则可以基于与当前色度块相关联的左上(或中心)位置来获取并置亮度块(用于导出当前色度编码的mrlIdx)。

5)例如,如果使用多个模型,则上述方法可以应用于模型中的一个(或部分或全部)。

4.关于解决第四问题的多模型交叉分量预测,公开了以下方法中的一种或多种:

1)在一个示例中,针对交叉分量预测模式可以允许/使用多于一个模型。

a.在一个示例中,针对当前块,可以允许从将邻居分类为一组的交叉分量预测模式或将邻居分类为N组的交叉分量预测模式中进行选择。

i.备选地,针对当前块,可以允许从将邻居分类为M组的交叉分量预测模式或将邻居分类为N组的交叉分量预测模式中进行选择,其中M>1并且N>1。

b.在一个示例中,是使用单模型还是多模型(多于一个模型)或者多少模型可以通过一个或多个语法元素(例如,标志或索引)显式地发信号通知。

i.备选地,是使用M模型还是N模型交叉分量预测可以通过语法元素显式地发信号通知。

c.在一个示例中,是使用单模型还是多模型(多于一个模型)或者多少模型可以根据规则(例如,不发信号通知语法元素)在运行中(自适应地)确定。

i.备选地,是使用M模型还是N模型交叉分量预测可以在运行中确定。

d.在一个示例中,是使用X模型交叉分量预测方法还是Y模型交叉分量预测方法(Y!=X)可以取决于基于相邻样本的规则。

i.例如,X>=1。

ii.例如,Y>=1。

iii.例如,该规则可以取决于成本(例如,SAD、SATD、MSE)值。

a)例如,可以在运行中针对每个模型计算成本值。

b)例如,成本值可以根据原始相邻重构值与模型拟合/预测相邻值之间的失真来计算。例如,失真可以导出为绝对差的总和(SAD)或平方差的总和(SSD)。

c)例如,最终可以选择成本较低的交叉分量预测方法。

e.在一个示例中,有多少组/模型用于交叉分量预测模式可以取决于预定义数目。

i.例如,M个组/模型总是用于交叉分量预测模式A1,并且N个组/模型总是用于交叉分量预测模式A2,其中A1和A2是编解码器中允许的两种不同交叉分量预测模式。

a)例如,M和N为常数。

b)例如,M=2,N=3。

c)例如,M=1,N=2。

d)例如,A1/A2可以是{LM_A,LM_L,CCLM,...}中的任何LM模式。

e)例如,在编解码器中可以始终允许单模型LM_A(由模式A1表示)和双模型LM_A(由模式A2表示)。并且,编码块可以用单模式LM_A或双模型LM_A(但不能同时用这两者)进行编解码。

f)例如,在编解码器中可以始终允许双模型LM_A(由模式A1表示)和三模型LM_L(由模式A2表示)。并且,编码块可以使用双模式LM_A或三模型LM_L(但不能同时使用这两者)进行编解码。

ii.备选地,针对指定的交叉分量预测模式,可以在运行中确定使用多少组/模型来编解码当前编码块(预定义/固定除外)。

a)例如,交叉分量预测模式允许单模型和双模型方法。因此,在这种情况下,使用这种模式的编码块可以使用单模型或双模型方法进行编解码,这取决于某个标准/规则(诸如由单模型还是双模型更适合邻居来确定)。

f.在一个示例中,多少组/模型用于交叉分量预测模式可以由邻居的分布/活动/多样性自适应地确定。

i.例如,是否触发多模型或者是否使用M模型或N模型交叉分量预测可以取决于邻居的平坦程度。

a)例如,M>=1。

b)例如,N>=1。

c)例如,对相邻样本应用函数以确定相邻样本的平坦程度。例如,该函数可以计算相邻样本的方差。

如果方差较小,则相邻样本更“平坦”。

ii.例如,如果相邻样本/像素的分布足够平坦,则可能不允许多模型交叉分量预测。

g.在一个示例中,是否触发多模型(即,多于一个模型)交叉分量预测可以取决于计数多少邻居。

i.例如,如果所计数的邻居的数目大于(或不小于)阈值,则可以使用多模型交叉分量预测。

ii.例如,如果所计数的邻居的数目小于(或不大于)阈值,则可能不允许多模型交叉分量预测。

iii.例如,上面提到的“所计数的邻居”可以是用于交叉分量预测模式的邻居像素/样本。

iv.阈值可以取决于当前块的维度。

2)在一个示例中,不同模型可以取不同相邻样本进行模型计算。

a.例如,针对模型计算使用哪些邻居可以取决于相邻样本分类,例如,相邻样本可以基于样本值或样本值的任何函数(诸如均值或方差或分布或活动或多样性)分类为不同组。

b.例如,模型中的一个可以使用来自左侧和上方两者的相邻样本进行模型计算。并且,另一模型可以仅将来自左侧(或上方)的相邻样本用于模型计算。

c.例如,模型中的一个可以使用M个相邻样本进行模型计算。并且,另一模型可以使用N个相邻样本进行模型计算。

i.例如,M可以取决于块宽度和/或块高度。

ii.例如,N可以取决于块宽度和/或块高度。

3)在一个示例中,多于一个交叉分量预测模式可以应用于编码块。

a.在一个示例中,不同交叉分量预测模式将邻居分类为不同数目的组。

b.例如,第一模式将邻居视为整个组并且针对整个块导出单个模型。而第二模式将邻居拆分成T个组并且针对整个块导出T个模型,即,一个组有一个模型,其中T大于1。

c.在一个示例中,可以基于相邻样本来竞争多个模式(例如,基于项目符号4中公开的成本计算)。在这种情况下,没有明确的语法元素被发信号通知以指定最终选择多个模式中的哪个模式用于当前块编解码。

d.备选地,可以在比特流中发信号通知语法元素(例如,索引或标志)以指定最终选择哪种模式(有X个模型,其中X>=1)用于当前块编解码。

i.例如,语法元素可以用一元(或截断一元、或截断莱斯、或截断二进制、或固定长度)二值化过程来编解码。

ii.例如,语法元素的一个或多个bin可以被上下文编解码。

iii.例如,对于将邻居分类为多于一个组的那些交叉分量预测模式,其模式索引可以大于(或小于)将邻居视为整个组的交叉分量预测模式的模式索引。

iv.是否/如何发信号通知语法元素可以取决于当前块的维度。

a)例如,可以仅在当前块大于预定义大小的情况下发信号通知语法元素。

b)例如,可以仅在当前块的宽度和高度的总和大于预定义阈值的情况下发信号通知语法元素。

c)例如,可以仅在当前块的宽度大于预定义阈值和/或当前块的高度大于预定义阈值的情况下发信号通知语法元素。

d)“大于”可以替换为“小于”或“不大于”或“不小于”。

5.关于将交叉分量预测与其他预测模式相结合解决第五问题,公开了以下方法中的一种或多种:

a.例如,“非交叉分量预测”可以是通过帧内DM模式导出的预测块。

b.例如,“非交叉分量预测”可以是通过除交叉分量预测模式之外的任何帧内预测模式导出的预测块。

c.在一个示例中,如何生成交叉分量预测(用于融合/混合)可以取决于预定义的交叉分量预测模式。

d.在一个示例中,如何生成交叉分量预测(用于融合/混合)可以取决于自适应选择的交叉分量预测模式(例如,根据从邻居计算的成本确定的交叉分量预测模式)。

e.在一个示例中,可以在比特流中发信号通知语法元素(例如,标志)以指定组合方法(例如,将交叉分量预测与特定预测模式组合)是否最终被选择用于当前块编解码。

i.备选地,此外,可以有条件地发信号通知语法元素。

ii.例如,可以仅在特定预测模式(例如,帧内DM模式)用于当前块的情况下发信号通知语法元素。

iii.例如,可以仅在某些特定预测模式(例如,任何帧内模式,不包括交叉分量帧内预测模式)用于当前块的情况下发信号通知语法元素。

iv.是否/如何发信号通知语法元素可以取决于当前块的维度。

a)例如,可以仅在当前块大于预定义大小的情况下发信号通知语法元素。

b)例如,可以仅在当前块的宽度和高度的总和大于预定义阈值的情况下发信号通知语法元素。

c)例如,可以仅在当前块的宽度大于预定义阈值和/或当前块的高度大于预定义阈值的情况下发信号通知语法元素。

d)“大于”可以替换为“小于”或“不大于”或“不小于”。

f.在上述陈述中,通过第一预测和第二预测的“混合”或“组合”生成当前块的第三预测,然后第三预测用于在解码器处利用残差确定重构。第一预测和第二预测与第三预测的“混合”或“组合”可以是指:

i.第三预测被生成为第一预测和第二预测的加权和。

a)权重值可以是固定的,诸如(1/2,1/2)

b)块中的不同位置的权重值可以不同。

ii.第三预测被生成为第一预测和第二预测的空间混合。

a)对于某些位置,第三预测设置为等于第一预测。

对于其他一些位置,第三预测设置为等于第二预测。

虽然前述公开讨论了说明性方面和/或实施例,但应当注意,在不脱离由所附权利要求限定的所描述的方面和/或实施例的范围的情况下,可以在本文中进行各种改变和修改。此外,尽管所描述的方面和/或实施例的元素可以以单数形式描述或要求保护,但除非明确声明限制为单数,否则预期复数形式。此外,除非另有说明,否则任何方面和/或实施例的全部或一部分可以与任何其他方面和/或实施例的全部或一部分一起使用。

提供先前的描述以使得本领域普通技术人员能够实践本文中描述的各个方面。对这些方面的各种修改对于本领域普通技术人员来说将是很清楚的,并且本文中定义的一般原理可以应用于其他方面。权利要求并不旨在限于本文所示的方面,而是应当符合与语言权利要求一致的全部范围,其中除非特别如此陈述,否则对单数形式的元素的引用并不旨在表示“一个且仅一个”,而是表示“一个或多个”。除非另有特别说明,否则术语“一些”是指一个或多个。诸如“A、B或C中的至少一个”、“A、B或C中的一个或多个”、“A、B和C中的至少一个”、“A、B和C中的一个或多个”和“A、B、C或其任何组合”等组合包括A、B或C的任何组合,并且可以包括多个A、多个B或多个C。具体地,诸如“A、B或C中的至少一个”、“A、B或C中的一个或多个”、“A、B和C中的至少一个”,“A、B和C中的一个或多个”和“A、B、C或其任何组合”等组合可以是仅A、仅B、仅C、A和B、A和C、B和C、或A和B和C,其中任何这样的组合可以包含A、B或C中的一个或多个成员。本领域普通技术人员已知的或以后会知道的在本公开中描述的各个方面的元素的所有结构和功能等同物都以引用的方式明确地并入本文并且旨在被权利要求所涵盖。此外,无论权利要求中是否明确引用了这样的公开,本文中公开的任何内容均不旨在专供公众使用。“模块”、“机制”、“元件”、“设备”等词语可能不能代替“部件(means)”一词。因此,除非使用短语“用于……的部件”明确叙述该要素,否则任何权利要求要素均不得解释为部件加功能。

相关技术
  • 用于交叉分量预测的方法和装置
  • 用于视频编码的引导交叉分量预测的方法
技术分类

06120114707953