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

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

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



技术领域

本公开一般涉及视频编解码,并且更特别地涉及对编解码块中的样本执行跨分量预测。

背景技术

当前,正在努力改善当前视频编解码器技术的性能,以提供更好的压缩率或提供允许较低复杂度或并行实现的视频编解码和解码方案。行业专家最近提出了几种新的视频编解码工具,目前正在进行测试以确定其有效性。

发明内容

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

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

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

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

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

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

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

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

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

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

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

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

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

附图说明

图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是根据本公开的一些方面的取决于块大小将亮度帧内预测块竖直地或水平地划分为子分区的帧内子分区(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的示例的框图,其可以是图1中图示的系统100中的视频编码器114的示例。

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

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

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

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

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

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

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

例如取决于当前视频块是在I切片、P切片还是B切片中,运动估计单元204和运动补偿单元205可以针对当前视频块执行不同的操作,。如本文中所使用的,在一些方面,“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重构视频块之后,环路滤波操作可以被执行以减少视频块中的视频块伪影。

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

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

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

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

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

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

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

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

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

重构单元306可以对残差块与由运动补偿单元302或帧内预测单元302生成的对应预测块求和以形成经解码的块。如果期望,还可以应用解块(deblocking)滤波器来过滤经解码的块以便移除块效应伪影。经解码的视频块然后被存储在缓冲器307中,缓冲器307为后续的运动补偿/帧内预测提供参考块并且还产生用于在显示设备上呈现的经解码的视频。

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

图4示出了根据本公开的一些方面的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编码的视频材料可以作为逐行图像而被输入(例如,因为源视频源自该格式或者在编码之前通过去隔行而被生成)。HEVC设计中没有显式的编解码特征来支持隔行扫描的使用,因为隔行扫描不再被用于显示器,并且在分布中变得非常罕见。但是,HEVC中已经提供了元数据语法,以允许编码器通过将隔行视频的每个区域(即每个视频帧的偶数或奇数行)编码为单独的图片隔行视频来指示它已经被发送,或者通过将每个隔行帧编码为经HEVC编码的图片来指示它已经被发送。这可以提供一种用于对隔行视频进行编码的有效方法,而无需支持针对其的特殊解码过程。

图5是VVC的编码器框图500的示例,其可以包括多个环路滤波块:例如解块滤波器(DF)、样本自适应偏移(SAO)自适应环路滤波器(ALF)等。与使用预定义滤波器的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模式可以以一个标志来被用信号发送,并且其可以被用信号发送为IBCAMVP模式或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

等式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模式中,被称为LM_T和LM_L模式。在LM_T模式中,只使用上模板来计算线性模型系数。为了得到更多的样本,上模板被扩展为(W+H)个样本。在LM_L模式中,只使用左模板来计算线性模型系数。为了得到更多的样本,左模板可以被扩展为(H+W)个样本。在LM模式中,左模板和上模板被用来计算线性模型系数。

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

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

对于色度帧内预测模式编解码,色度帧内模式编解码总共允许8种帧内预测模式。这些模式包括五种传统帧内预测模式和三种交叉分量线性模型模式(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(并且针对64×64CU不使用ISP)或QT而被分割时,32×32/32×16色度编解码树节点中的色度CU以如下方式被允许使用CCLM:如果32×32色度节点没有被拆分(not split)或被分割的QT拆分,32×32节点中的所有色度CU都可以使用CCLM;备选地,如果32×32色度节点使用水平BT被分割,并且32×16子节点没有拆分或使用竖直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<<比特深度)–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×64VDPU的潜在问题。例如,单树情况下的M×128CU具有M×128亮度TB和两个对应的

在ISP中,不允许1×N/2×N子块预测依赖于编解码块的先前被解码的1×N/2×N子块的重构的值,使得针对子块的最小预测宽度变为4个样本。例如,使用具有竖直拆分的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模式中可以应用立方(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)针对大块上的MIP启用低频不可分离变换(LFNST)。在这里,使用平面模式的LFNST变换;(2)与针对传统帧内预测模式完全一样或至少类似地执行针对MIP的参考样本导出;(3)对于MIP预测中使用的上采样步骤,使用原始参考样本而不是经下采样的参考样本;(4)裁剪(clip)是在上采样之前而不是在上采样之后执行的;(5)无论最大变换大小如何,MIP可以被允许上至64×64。在一些方面,对于sizeId=0,MIP模式的数目可以是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的使用。如果标志是一,则可以使用由DIMD导出的帧内模式来预测CU;否则,不应用DIMD并且使用在比特流中显式地被用信号发送的帧内模式来预测CU。当DIMD被启用时,色度分量可以重用与针对亮度分量所导出的帧内模式相同的帧内模式,即DM模式。

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

进一步地,当DIMD被启用时,角度方向的数目增加到129个,并且DC和平面模式仍然保持相同。为了适应角度帧内模式增加的粒度针对经DIMD编解码的CU的帧内内插滤波的精度从1/32像素增加到1/64像素。另外,为了使用经DIMD编解码的CU的导出的帧内模式作为用于相邻帧内块的MPM候选,经DIMD编解码的CU的那129个方向在它们被用作MPM之前可以被转换为“普通”帧内模式(即,65个角度帧内方向)。

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

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

如果起始帧内模式是DC或平面,则其可以被用作DIMD模式。否则,基于起始帧内模式,然后可以应用一种精化(refinement)过程,其中通过一个迭代搜索来标识最佳帧内模式。在迭代搜索中,在每次迭代中,可以比较由给定搜索间隔分开的三个帧内模式的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个角度模式,因此包括DC在内总共130个模式(例如,导出的帧内模式在本文所述的各方面中可能不是平面的)。经典的帧内编解码模式没有改变,即,预测和模式编解码仍然使用67个模式。

对宽角度帧内预测和简化的PDPC执行了必需的更改,以适应使用129种模式的预测。请注意,只有预测过程使用扩展的帧内模式,这意味着出于任何其他目的(例如决定是否过滤参考样本),模式可以被转换回67模式精度。

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

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

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

VVC中使用了几种不同的二值化过程,诸如截断莱斯(TR)二值化过程、截断二进制二值化过程、k阶Exp-Golomb(EGk)二值化过程和定长(FL)二值化过程。

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

算术编解码可以基于递归区间划分。初始值为0到1的范围基于bin的概率而被划分为两个子区间。经编码的比特提供偏移,当被转换为二进制分数(fraction)时,该偏移选择两个子区间中的一个子区间,这指示经解码的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集合中时,Nl可以等于或大于N2。

在一个示例中,Nl可以等于或大于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个样本的水平维度。左上子模板3220、上子模板3230和右上子模板3260可以与块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是针对模板3300的模板参考样本3310的示例图解,模板3300包括左上子模板2420、左子模板2440和上子模板2430。可以针对块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可以基于来自一部分或所有邻居样本的诸如平均/中间/中位/均值亮度/色度的值的函数而被计算。

参考图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*blockWidth,或b*blockHeight,或c*(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可以由函数f在亮度重构样本(可以是经下采样的)Y上预测为C=f(Y),其中f是非线性函数,诸如f(Y)=aY

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

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

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

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

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

参考图50,邻居选择的方法5000可以由预测组件4110、邻居选择组件4125、处理器4104和/或存储器4106执行。在一些实现中,在块5004处,方法5000可以针对视频的当前视频块与视频的比特流之间的转换,确定利用用于跨分量预测的、与跨分量预测模式相关联的一个或多个模型,该当前视频块是色度块。在块5005处,方法5000可以基于该确定来执行转换。在一个示例中,针对当前块,可以允许计算设备102从将邻居分类为一个组的跨分量预测模式或将邻居分类为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)最终被选择用于当前块编解码。例如,语法元素可以用一元码(或截断一元码,或截断莱斯,或截断二进制,或固定长度)二值化过程进行编解码。例如,语法元素的一个或多个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可以基于用于非跨分量预测的、与非跨分量预测模式相关联的第二模型来生成第二预测块。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

上述方法中的任何方法,其中两个或更多个邻居样本不邻接的指示被包括在比特流中或即时被导出。

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

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

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

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

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

上述方法中的任何方法,其中N是常数。

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

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

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

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

上述方法中的任何方法,其中N取决于当前视频块的被算入的邻居样本的数目,其中被算入的邻居样本满足条件。

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

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

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

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

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

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

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

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

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

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

上述方法中的任何方法,其中计算模型参数包括基于亮度重构样本Y使用第一函数f(Y)=aY

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

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

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

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

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

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

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

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

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

上述方法中的任何方法,其中对邻居样本进行滤波包括利用一个或多个规则对邻居样本进行滤波。

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

上述方法中的任何方法,其中对邻居样本进行滤波包括利用1D滤波器或2D滤波器进行滤波。

上述方法中的任何方法,其中对邻居样本进行滤波包括利用第一滤波器对亮度邻居样本进行滤波和利用第二滤波器对色度邻居样本进行滤波。

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

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

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

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

本公开的方面包括一种方法,用于:针对视频的当前视频块与视频的比特流之间的转换,确定利用用于跨分量预测的、与跨分量预测模式相关联的一个或多个模型;以及基于该确定来执行转换。

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

上述方法中的任何方法,其中跨分量预测模式是将邻居分类为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。

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

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

上述方法中的任何方法,还包括基于被算入的邻居数目来确定用于跨分量预测的模型的数目。

上述方法中的任何方法,其中确定包括将被算入的邻居数目与阈值相比较,并且响应于被算入的邻居数目大于阈值而确定模型的数目大于一。

上述方法中的任何方法,还包括响应于被算入的邻居数目低于阈值而避免利用多模型跨分量预测。

上述方法中的任何方法,其中被算入的邻居数目等于用于跨分量预测的邻居像素的第一数目或邻居样本的第二数目。

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

上述方法中的任何方法,其中利用一个或多个模型包括针对第一邻居样本利用第一模型以及针对第二邻居样本利用第二模型以进行跨分量预测。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

上述方法中的任何方法,其中确定第三预测包括:对第一预测应用第一权重以及对第二预测应用第二权重。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

本公开的方面包括存储视频的比特流的非瞬态计算机可读记录介质,该视频的比特流由视频处理装置所执行的方法生成,其中该方法包括:针对视频的当前视频块与视频的比特流之间的转换,确定利用用于跨分量预测的、与跨分量预测模式相关联的一个或多个模型,该当前视频块是色度块;以及基于该确定来从当前视频块生成比特流。

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

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

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

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

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

为了解决上述问题和一些其他未提及的问题,公开了如下总结的方法。这些发明应被视为解释一般概念的示例,并且不应狭义地理解。此外,这些发明可以单独应用或以任何方式组合。

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

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

1.关于用于解决第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*blockWidth,或b*blockHeight,或c*(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.类似地,当使用多模型跨分量预测时,针对特定模型/组的X

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

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

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

e.例如,上述“被算入的邻居样本(counted neighbor sample)”可以是满足预定条件的邻居样本,例如,以位置、样本值等为条件。

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

a.类似地,多于一个行/列的色度邻居也可被考虑用于模型导出。

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

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

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

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

a.例如,色度样本C可以通过对亮度重构样本(可以被下采样)Y的函数f被预测为C=f(Y),其中f是非线性函数,诸如f(Y)=aY2+bY+c或f(Y)=clip3(minC,maxC,aY+b)。

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

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

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

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

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

2)在一个示例中,滤波的邻居样本可以用于跨分量预测。

a.例如,邻居样本可以根据规则被滤波,并且然后被用于跨分量预测的模型导出。

b.例如,邻居样本的一部分可以被滤波并且被用于跨分量预测的模型导出。

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

d.滤波器可以是1D滤波器或2D滤波器。

e.不同的滤波器可以被应用于亮度和色度邻居样本。

3)例如,上述方法可以被应用于邻居行或邻居列,或它们两者。

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

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

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

4.关于用于解决第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.关于将跨分量预测与其他预测模式组合以解决第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)”一词。如此,除非使用短语“部件,用于”明确叙述该元件,否则任何权利要求元素均不得被解释为部件加功能。

技术分类

06120114707689