分量间预测的方法和设备

文档序号:1821938 发布日期:2021-11-09 浏览:23次 >En<

阅读说明:本技术 分量间预测的方法和设备 (Method and apparatus for inter-component prediction ) 是由 阿列克谢·康斯坦丁诺维奇·菲利波夫 瓦西里·亚历斯维奇·拉夫特斯基 马祥 伊蕾娜·亚历山德罗夫 于 2020-05-20 设计创作,主要内容包括:一种用于当前色度块的帧内预测的方法,所述方法包括:确定用于与当前色度块并置的亮度块的滤波器,其中,所述确定过程基于分区数据而执行;通过将所确定的滤波器应用于与当前色度块并置的亮度块的重构亮度样本以及在选择的与该亮度块相邻的位置中的亮度样本,来获得经滤波的重构亮度样本;基于作为输入的经滤波的重构亮度样本,获得线性模型参数;以及基于所获得的线性模型参数和亮度块的经滤波的重构亮度样本执行分量间预测,以获得当前色度块的预测值。(A method for intra prediction of a current chroma block, the method comprising: determining a filter for a luminance block collocated with a current chrominance block, wherein the determining is performed based on partition data; obtaining filtered reconstructed luma samples by applying the determined filter to reconstructed luma samples of a luma block collocated with the current chroma block and luma samples in the selected location adjacent to the luma block; obtaining linear model parameters based on the filtered reconstructed luma samples as input; and performing inter-component prediction based on the obtained linear model parameters and the filtered reconstructed luma samples of the luma block to obtain a prediction value of the current chroma block.)

分量间预测的方法和设备

技术领域

本公开内容的实施方式总体上涉及图片处理领域,并且更具体地涉及使用分量间线性建模(cross component linear modeling,CCLM)的帧内预测例如色度帧内预测,并且更具体地涉及利用线性模型参数的简化推导进行分量间预测的方法和设备。

背景技术

视频译码(视频编码和解码)用于各种数字视频应用(例如广播数字电视、因特网和移动网络上的视频传输)、实时对话应用(例如视频聊天、视频会议)、DVD和蓝光碟、视频内容获取和编辑系统以及安全应用的便携式摄像机。

描绘甚至是相对短的视频所需的视频数据量也可能是巨大的,这可能导致在通过带宽容量有限的通信网络流传输或以其他方式传送数据时出现困难。因此,通常在通过现代电信网络进行传送之前对视频数据进行压缩。因为存储器资源可能是有限的,因此当在存储装置上存储视频时,视频的大小也可能是个问题。视频压缩装置通常在源处使用软件和/或硬件在传输或存储之前对视频数据进行译码,从而减少表示数字视频图像所需的数据量。然后在目的地处由对视频数据进行解码的视频解压缩装置接收经压缩的数据。由于网络资源有限并且对较高视频质量的需求不断增加,期望在几乎不牺牲图片质量的情况下提高压缩比的改进的压缩和解压缩技术。

发明内容

本申请的实施方式提供根据独立权利要求的用于编码和解码的设备和方法。

上述和其他目的通过独立权利要求的主题实现。其他的实现形式根据从属权利要求、说明书和附图是明显的。

本公开内容公开了以下内容:

一种用于当前色度块的帧内预测的方法,该方法包括:确定用于与当前色度块并置的亮度块的滤波器,其中,该确定过程是基于分区数据执行的;通过将所确定的滤波器应用于与当前色度块并置的亮度块的重构亮度样本以及与该亮度块相邻的选定位置中的亮度样本,来获得经滤波的重构亮度样本;基于作为输入的经滤波的重构亮度样本获得线性模型参数;以及基于所获得的线性模型参数和亮度块的经滤波的重构亮度样本执行分量间预测以获得当前色度块的预测值。

应当理解,在本说明书中,亮度块也可以被称为当前亮度块。

因此,在使用分量间线性模型(Cross-component Linear Model,CCLM)对色度块进行译码时,通过线性回归从重构的相邻亮度样本和色度样本推导线性模型。然后可以利用推导的线性模型,通过当前块中的重构亮度样本来预测当前块中的色度样本。

在如上所述的方法中,可以将所确定的滤波器应用于亮度块的相邻块中的亮度样本。

在如上所述的方法中,分区数据可以包括当前色度块中的样本的数量,其中,在当前色度块中的样本的数量不大于阈值的情况下,可以将具有系数[1]的滤波器应用于与当前色度块并置的亮度块的模板参考样本。

因此,可以确定具有系数[1]的旁路滤波器,其有效地对应于不对输入样本(例如,亮度块的模板参考样本)应用滤波。

在如上所述的方法中,分区数据可以包括树类型信息,其中,当使用双树译码对图片或图片的一部分执行分区时,可以将具有系数[1]的滤波器应用于与当前色度块并置的亮度块的模板参考样本。

可以基于分区数据即基于块大小和分区树的类型(单独树/双树或单树)有条件地禁用滤波操作。

在如上所述的方法中,可以通过对亮度分量和色度分量的两个值求平均来获得线性模型参数:

maxY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]])>>1,

maxC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]])>>1,

minY=(pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]])>>1,

minC=(pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]])>>1;

其中,变量maxY、变量maxC、变量minY和变量minC分别表示最小值和最大值;

其中,变量maxY和变量minY是亮度分量中的最大值和最小值,其中,变量maxC和变量minC是色度分量中的最大值和最小值。

其中,pSelDsY指示所选择的经下采样的相邻左亮度样本;pSelC指示所选择的相邻顶色度样本;maxGrpIdx[]和minGrpIdx[]分别是最大索引和最小索引的数组。

在如上所述的方法中,线性模型参数可以包括偏移“b”的值,其中,偏移“b”使用DC值dcC、dcY来计算,其中,可以使用色度分量和亮度分量中的最小值和最大值获得所述DC值:

dcC=(minC+maxC+1)>>1,

dcY=(minY+maxY+1)>>1,

b=dcC-((a*dcY)>>k)。

在如上所述的方法中,可以通过以下公式计算DC值:

dcC=(minC+maxC)>>1,

dcY=(minY+maxY)>>1。

在如上所述的方法中,确定滤波器可以包括:

基于亮度样本在亮度块中的位置以及色度格式确定滤波器;或者

基于亮度块中的多个亮度样本在亮度块中的相应位置以及色度格式,确定用于所述多个亮度样本的相应滤波器。

在如上所述的方法中,确定滤波器可以包括:基于以下各项中的一项或更多项确定滤波器:

子采样率信息;

亮度块所属的图片的色度格式,该色度格式被用于获得子采样率信息;

亮度样本在亮度块中的位置;

亮度块中的亮度样本的数量;

亮度块的宽度和高度,和/或

经子采样的色度样本相对于亮度块中的亮度样本的位置。

在如上所述的方法中,子采样率信息可以包括根据亮度块所属的图片的色度格式从表格中获得的SubWidthC和SubHeightC,其中,色度格式可以用于获得子采样率信息,或者其中,子采样率信息可以对应于当前块的宽度和高度。

在如上所述的方法中,在经子采样的色度样本不与对应的亮度样本并置的情况下,可以使用多个滤波器与子采样率信息之间的第一预设关系来确定滤波器;并且/或者,

在经子采样的色度样本与对应的亮度样本并置的情况下,可以使用多个滤波器与子采样率信息之间的第二预设关系或第三预设关系来确定滤波器。

在如上所述的方法中,可以基于亮度块中的可用亮度样本的数量来确定多个滤波器与子采样率信息之间的第二预设关系或第三预设关系。

在如上所述的方法中,色度格式可以包括YCbCr 4:4:4色度格式、YCbCr 4:2:0色度格式、YCbCr 4:2:2色度格式或单色。

在如上所述的方法中,可以基于下式获得当前色度块的预测值:

predC(i,j)=α·recL′(i,j)+β

其中,predC(i,j)表示色度样本值,并且recL(i,j)表示对应的重构亮度采样值。

在如上所述的方法中,对应的重构亮度样本的位置可以在亮度块中。

本公开内容还提供一种用于色度块的帧内预测的方法,该方法包括:选择与色度块相邻的位置;基于所选择的与色度块相邻的位置来确定亮度模板样本的位置;确定是否在所确定的亮度模板样本的位置中应用滤波器;基于确定是否在所确定的亮度模板样本的位置中应用滤波器来获得线性模型参数,其中,所述线性模型参数包括线性模型参数“a”和线性模型参数“b”。

在如上所述的方法中,所选择的与色度块相邻的位置可以包括在与当前色度块的左侧或顶侧相邻的行/列中的至少一个样本位置。

在如上所述的方法中,可以将下采样滤波器应用于与色度块并置的亮度块。

在如上所述的方法中,可以不施加大小约束来获得线性模型参数。

在如上所述的方法中,其中,在变量treeType的值不等于SINGLE_TREE的情况下,以下可以适用:

F1[0]=2,F1[1]=0;

F2[0]=0,F2[1]=4,F2[2]=0;

F3[i][j]=F4[i][j]=0,其中i=0..2,j=0..2;并且

F3[1][1]=F4[1][1]=8

其中,F1和F2是滤波器系数的一维数组,F3和F4是滤波器系数的二维数组。

在如上所述的方法中,其中,可以使用最小值和最大值来获得线性模型参数,并且其中,可以在不添加舍入偏移的情况下获得最小值和最大值;

其中,变量maxY、变量maxC、变量minY和变量minC分别表示最小值和最大值;

其中,变量maxY和变量minY是亮度分量中的最大值和最小值,其中,变量maxC和minC是色度分量中的最大值和最小值。

因此,可以降低计算复杂度和延迟。

在如上所述的方法中,变量maxY、变量maxC、变量minY和变量minC可以被推导如下:

maxY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]])>>1,

maxC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]])>>1,

minY=(pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]])>>1,

minC=(pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]])>>1;

其中,pSelDsY指示选择的经下采样的左侧相邻亮度样本;pSelC指示选择的项部相邻色度样本;maxGrpIdx[]和minGrpIdx[]分别是最大索引和最小索引的数组。

在如上所述的方法中,可以使用平均值来获得线性模型参数“b”,并且其中,可以在不添加舍入偏移的情况下获得平均值;

其中,可以关于选择的经下采样的相邻左亮度样本的最大值和最小值以及选择的相邻顶色度样本的最大值和最小值来计算平均值。

在如上所述的方法中,变量meanY、变量meanC可以被推导如下:

-meanY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]]+pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]])>>2;

或者

-meanC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]]+pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]])>>2,

其中,变量meanY或变量meanC表示平均值。

在如上所述的方法中,可以使用最小值来获得线性模型参数“b”。

在如上所述的方法中,使用最大值来获得线性模型参数“b”。

在如上所述的方法中,赋值可以包括赋值“b=maxC-((a*maxY)>>k)”或赋值“b=maxC”。

在如上所述的方法中,亮度模板样本的位置可以包括亮度模板样本的垂直位置,并且其中,可以从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+vOffset,其中,在当前色度块中的样本的数量不大于第二阈值的情况下将“vOffset”设置为1,或者,在当前色度块中的样本的数量大于第二阈值的情况下将“vOffset”设置为0;

其中,基于被译码的图片的色度格式,SubWidthC是图像块的宽度并且SubHeightC是图像块的高度。

在如上所述的方法中,在对应的选择的与色度块相邻的位置可以在当前色度块上方的情况下,可以从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+vOffset,并且其中,在对应的选择的与色度块相邻的位置位于当前色度块左侧的情况下,可以从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+1-vOffset;

其中,基于被译码的图片的色度格式,SubWidthC是图像块的宽度并且SubHeightC是图像块的高度。

在如上所述的方法中,其中,可以根据色度块中的样本的数量来确定亮度模板样本的位置。

在如上所述的方法中,其中,亮度模板样本的位置可以包括亮度模板样本的垂直位置,并且可以从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+vOffset,

其中,基于被译码的图片的色度格式,SubWidthC是图像块的宽度并且SubHeightC是图像块的高度;

其中,在色度块中的样本的数量不大于第一阈值的情况下将“vOffset”设置成第一值,或者,在色度块中的样本的数量大于第一阈值的情况下将“vOffset”设置成第二值。

在如上所述的方法中,亮度模板样本的位置可以包括亮度模板样本的垂直位置,并且可以从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+1-vOffset,

其中,在色度块中的样本的数量不大于第一阈值的情况下,可以将“vOffset”设置为第一值,或者在色度块中的样本的数量大于第一阈值的情况下,可以将“vOffset”设置为第二值。

在如上所述的方法中,其中,亮度模板样本的位置包括亮度模板样本的水平位置,并且可以从色度垂直位置“yC”推导亮度模板样本的水平位置“yL”如下:yL=(yC<<SubWidthC)+vOffset,

其中,在色度块中的样本的数量不大于第一阈值的情况下,可以将“vOffset”设置为第一值,或者在色度块中的样本的数量大于第一阈值的情况下,可以将“vOffset”设置为第二值。

在如上所述的方法中,可以将第一阈值设置为16,在色度块中的样本的数量不大于16的情况下可以将“vOffset”设置为1,或者在色度块中的样本的数量大于16的情况下可以将“vOffset”设置为0。

在如上所述的方法中,在对应的选择的与色度块相邻的位置在当前色度块上方的情况下,可以从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+vOffset,并且其中,在对应的选择的与色度块相邻的位置在当前色度块左侧的情况下,可以从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+1-vOffset。

在如上所述的方法中,其中,可以根据色度格式来确定SubHeightC的值。

在如上所述的方法中,其中,色度格式可以包括YCbCr 4:4:4色度格式、YCbCr 4:2:0色度格式、YCbCr 4:2:2色度格式或单色。

在如上所述的方法中,其中,在色度块中的样本的数量不大于第二阈值的情况下,滤波器可以是旁路滤波器。

因此,通过使用旁路滤波器,可以确定这有效地对应于不对输入样本(例如,亮度块的模板参考样本)应用滤波。

在如上所述的方法中,其中,该方法可以包括:将滤波器应用于包括与当前色度块并置的亮度块的重构亮度样本的区域,以获得经滤波的重构亮度样本;以及基于所获得的线性模型参数和亮度块的经滤波的重构亮度样本执行分量间预测。

本公开内容还公开了一种编码器,该编码器包括用于执行如上所述的方法的处理电路。

本公开内容还公开了一种解码器,该解码器包括用于执行如上所述的方法的处理电路。

本公开内容还公开了一种程序代码,该程序代码用于执行如上所述的方法。

本公开内容还公开了一种携载程序代码的非暂态计算机可读介质,所述程序代码在由计算机装置执行时使所述计算机装置执行如上所述的方法。

本公开内容还公开了一种解码器,该解码器包括:一个或更多个处理器;以及非暂态计算机可读存储介质,其耦接至处理器并且存储由处理器执行的程序,其中,所述程序在由处理器执行时将解码器配置成执行如上所述的方法。

本公开内容还公开了一种编码器,该编码器包括:一个或更多个处理器;以及非暂态计算机可读存储介质,其耦接至处理器并且存储由处理器执行的程序,其中,所述程序在由处理器执行时将编码器配置成执行如上所述的方法。

本公开内容还公开了一种用于当前色度块的帧内预测的编码器,该编码器包括:

确定单元,用于确定用于与当前色度块并置的亮度块的滤波器,其中,所述确定过程基于分区数据来执行;

应用单元,用于通过将所确定的滤波器应用于与当前色度块并置的亮度块的重构亮度样本以及在选择的与该亮度块相邻的位置中的亮度样本,来获得经滤波的重构亮度样本;

获得单元,用于基于作为输入的经滤波的重构亮度样本获得线性模型参数;以及

预测单元,用于基于所获得的线性模型参数和亮度块的经滤波的重构亮度样本执行分量间预测以获得当前色度块的预测值。

本公开内容还公开了一种用于当前色度块的帧内预测的解码器,该解码器包括:

确定单元,用于确定与当前色度块并置的亮度块的滤波器,其中,所述确定过程基于分区数据来执行;

应用单元,用于通过将所确定的滤波器应用于与当前色度块并置的亮度块的重构亮度样本以及在选择的与该亮度块相邻的位置中的亮度样本,来获得经滤波的重构亮度样本;

获得单元,用于基于作为输入的经滤波的重构亮度样本获得线性模型参数;以及

预测单元,用于基于所获得的线性模型参数和亮度块的经滤波的重构亮度样本执行分量间预测,以获得当前色度块的预测值。

如上所述的编码器还可以包括:

选择单元,用于选择与色度块相邻的位置;

第二确定单元,用于基于所选择的与色度块相邻的位置来确定亮度模板样本的位置;

第三确定单元,用于确定是否在所确定的亮度模板样本的位置中应用滤波器;

基于确定是否在所确定的亮度模板样本的位置中应用滤波器的第二获得线性模型参数,其中,所述线性模型参数包括线性模型参数“a”和线性模型参数“b”。

如上所述的解码器还可以包括:

选择单元,用于选择与色度块相邻的位置;

第二确定单元,用于基于所选择的与色度块相邻的位置来确定亮度模板样本的位置;

第三确定单元,用于确定是否在所确定的亮度模板样本的位置中应用滤波器;

基于确定是否在所确定的亮度模板样本的位置中应用滤波器的第二获得线性模型参数,其中,所述线性模型参数包括线性模型参数“a”和线性模型参数“b”。

本公开内容还公开了一种用于当前色度块的帧内预测的编码器,该编码器包括:

选择单元,用于选择与当前色度块相邻的位置;

第一确定单元,用于基于所选择的与当前色度块相邻的位置来确定亮度模板样本的位置;

第二确定单元,用于确定是否在所确定的亮度模板样本的位置中应用滤波器;以及获得单元,用于基于确定是否在所确定的亮度模板样本的位置中应用滤波器来获得线性模型参数,其中,所述线性模型参数包括线性模型参数“a”和线性模型参数“b”。

本公开内容还公开了一种用于当前色度块的帧内预测的解码器,该解码器包括:

选择单元,用于选择与当前色度块相邻的位置;

第一确定单元,用于基于所选择的与当前色度块相邻的位置来确定亮度模板样本的位置;

第二确定单元,用于确定是否在所确定的亮度模板样本的位置中应用滤波器;以及获得单元,用于基于确定是否在所确定的亮度模板样本的位置中应用滤波器来获得线性模型参数,其中,所述线性模型参数包括线性模型参数“a”和线性模型参数“b”。

换句话说,本公开内容提供以下内容。

根据一方面,本发明涉及一种使用线性模型进行帧内预测的方法,该方法由译码设备执行,特别地由用于帧内预测的设备执行。该方法包括:

-基于当前块所属的图片的色度格式确定用于属于块的亮度样本(例如每个亮度样本),即当前块的内部样本的滤波器;特别地,不同的亮度样本可以对应不同的滤波器。基本上,取决于亮度样本是否在边界上。

-在属于当前块的亮度样本(例如每个亮度样本)的位置处,将所确定的滤波器应用于重构亮度样本的区域,以获得经滤波的重构亮度样本例如Rec′L[x,y];

-基于经滤波的重构亮度样本,获得用作线性模型推导的输入的亮度样本集;以及

基于线性模型推导的线性模型参数和经滤波的重构亮度样本执行分量间预测,例如分量间从亮度预测色度(cross-component chroma-from-luma prediction)或CCLM预测。

根据另一方面,本发明涉及一种使用线性模型进行帧内预测的方法,该方法由编码设备或解码设备(特别地用于帧内预测的设备)执行。该方法包括:

-确定用于与当前色度块并置的亮度块的滤波器,其中,所述确定基于分区数据来进行;

-选择与色度块相邻的位置(例如,与当前块的左侧或顶侧相邻的行/列中的一个或若干个样本);

-基于所选择的与色度块相邻的位置以及分区数据确定亮度模板样本的位置,其中,亮度模板样本的位置取决于当前色度块内的样本的数量;

-在所确定的亮度模板样本的位置中应用所确定的滤波器以获得所选择的相邻位置处的经滤波的亮度样本,其中,在当前色度块包括的样本的数量不大于第一阈值的情况下,将滤波器选择为旁路滤波器;

-基于作为线性模型推导的输入的经滤波的亮度样本(例如,亮度样本集包括与当前色度块并置的亮度块内部的经滤波的重构亮度样本,以及所述亮度块外部的经滤波的相邻亮度样本,例如,所确定的滤波器还可以被应用于当前块外部的相邻亮度样本)获得线性模型参数;

-将所确定的滤波器应用于包括与当前色度块并置的亮度块的重构亮度样本的区域以获得经滤波的重构亮度样本(例如,与当前色度块并置的亮度块内部的经滤波的重构亮度样本,以及所选择的相邻位置处的亮度样本);以及

-基于所获得的线性模型参数和亮度块的经滤波的重构亮度样本(例如当前块(例如,与当前块并置的亮度块)内部的经滤波的重构亮度样本)执行分量间预测以获得当前色度块的预测器。

在根据第一方面本身的方法的一种可能的实现形式中,亮度模板样本的位置包括亮度模板样本的垂直位置,并且其中,从色度垂直位置“yc”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+vOffset,其中,在当前色度块内的样本的数量不大于第二阈值(例如,16)的情况下将“vOffsef”设置为1,或者在当前色度块内的样本的数量大于第二阈值的情况下将“vOffsef”设置为0。

在根据第一方面本身的方法的一种可能的实现形式中,根据色度样本的位置在色度块的上方还是左侧来不同地从色度垂直位置“yC”推导亮度模板样本的位置“yL”。

在根据第一方面本身的方法的一种可能的实现形式中,在对应的选择的与色度块相邻的位置在当前色度块上方的情况下,从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+vOffset,并且其中,在对应的选择的与色度块相邻的位置在当前色度块左侧的情况下,从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+1-vOffset。

本发明涉及CCLM的亮度滤波器。本发明与亮度样本的滤波有关。本发明涉及在CCLM内部执行的滤波器选择。

CCLM涉及色度预测,它使用重构的亮度来预测色度信号,CCLM==从亮度预测色度(chroma from luma)。

在根据第一方面本身的方法的一种可能的实现形式中,其中,确定滤波器包括:

基于亮度样本在当前块内的位置以及色度格式确定滤波器;或者

基于属于当前块的多个亮度样本在当前块内的相应位置以及色度格式,确定用于所述多个亮度样本的相应滤波器。可以理解,如果与当前块邻近的样本可用,则滤波器也可以使用这些样本对当前块的边界区域进行滤波。

在根据第一方面本身的方法的一种可能的实现形式中,其中,确定滤波器包括:基于以下各项中的一项或更多项确定滤波器:

当前块所属的图片的色度格式,

亮度样本在当前块内的位置,

属于当前块的亮度样本的数量,

当前块的宽度和高度,以及经子采样的色度样本相对于当前块内的亮度样本的位置。

在根据第一方面本身的方法的一种可能的实现形式中,其中,在经子采样的色度样本不与对应的亮度样本并置的情况下,使用多个滤波器与当前块的宽度和高度的值之间的第一关系(例如表4)确定滤波器;

在经子采样的色度样本与对应的亮度样本并置的情况下,使用多个滤波器与当前块的宽度和高度的值之间的第二关系或第三关系(例如表2或表3)确定滤波器。

在根据第一方面本身的方法的一种可能的实现形式中,其中,多个滤波器与当前块的宽度和高度的值之间的第二关系或第三关系(例如表2或表3)基于属于当前块的亮度样本的数量来确定。

在根据第一方面本身的方法的一种可能的实现形式中,其中,在不对当前块的色度分量进行子采样的情况下时,滤波器包括与经滤波的重构亮度样本的位置水平相邻以及垂直相邻的位置处的非零系数;

例如,其中,具有系数“4”的中心位置对应于经滤波的重构亮度样本的位置)。

在根据第一方面本身的方法的一种可能的实现形式中,其中,重构亮度样本的区域包括与经滤波的重构样本的位置有关的多个重构亮度样本,并且经滤波的重构亮度样本的位置对应于属于当前块的亮度样本的位置,并且经滤波的重构亮度样本的位置在当前块的亮度块内部。

在根据第一方面本身的方法的一种可能的实现形式中,其中,重构亮度样本的区域包括与经滤波的重构亮度样本的位置水平相邻以及垂直相邻的位置处的多个重构亮度样本,并且经滤波的重构亮度样本的位置对应于属于当前块的亮度样本的位置,并且经滤波的重构亮度样本的位置在当前块内部,例如当前亮度块或当前块的亮度分量。例如,经滤波的重构亮度样本的位置在当前块内部,图8的右侧部分,对亮度样本应用滤波器。

在根据第一方面本身的方法的一种可能的实现形式中,其中,色度格式包括YCbCr4:4:4色度格式、YCbCr 4:2:0色度格式、YCbCr 4:2:2色度格式或单色。

在根据第一方面本身的方法的一种可能的实现形式中,其中,用作线性模型推导的输入的亮度样本集包括:

从经滤波的重构亮度样本(例如Rec′L[x,y])子采样的边界亮度重构样本。

在根据第一方面本身的方法的一种可能的实现形式中,其中,当前色度块的预测器基于下式来获得:

predC(i,j)=α·recL′(i,j)+β

其中,predC(i,j)表示色度样本,并且recL(i,j)表示对应的重构亮度样本。

在根据第一方面本身的方法的一种可能的实现形式中,其中,线性模型为多向线性模型(multi-directional linear model,MDLM),并且使用线性模型参数来获得MDLM。

根据第二方面,本发明涉及一种由编码装置实现的编码方法,该方法包括:

使用线性模型例如分量间线性模型CCLM或多向线性模型MDLM执行帧内预测;以及

生成包括多个语法元素的比特流,其中,所述多个语法元素包括指示对用于属于块的亮度样本的滤波器的选择(例如对CCLM的亮度滤波器的选择)的语法元素,特别地,SPS标志,例如sps_cclm_colocated_chroma_flag)。

在根据第二方面本身的方法的一种可能的实现形式中,其中,在语法元素的值为0或假(false)的情况下,将滤波器应用于亮度样本以进行线性模型确定和预测;

在语法元素的值为1或真(true)的情况下,不将滤波器应用于亮度样本以进行线性模型确定和预测。

根据第三方面,本发明涉及一种由解码装置实现的解码方法,该方法包括:

从比特流中解析多个语法元素,其中,所述多个语法元素包括指示对用于属于块的亮度样本的滤波器的选择(例如对CCLM的亮度滤波器的选择)的语法元素,特别地,SPS标志,例如sps_cclm_colocated_chroma_flag);以及

使用所指示的线性模型执行帧内预测,例如CCLM)。

在根据第三方面本身的方法的一种可能的实现形式中,其中,在语法元素的值为0或假的情况下,将滤波器应用于亮度样本以进行线性模型确定和预测;

在语法元素的值为1或真的情况下,不将滤波器应用于亮度样本以进行线性模型确定和预测。例如,在并置的情况下,不使用亮度滤波器。

根据第四方面,本发明涉及一种解码器,包括:

一个或更多个处理器;以及

非暂态计算机可读存储介质,其耦接至处理器并且存储由处理器执行的程序,其中,所述程序在由处理器执行时将解码器配置成执行根据第一方面或第二方面或者第一方面或第二方面或第三方面的任何可能的实施方式的方法。

根据第五方面,本发明涉及一种编码器,包括:

一个或更多个处理器;以及

非暂态计算机可读存储介质,其耦接至处理器并且存储由处理器执行的程序,其中,所述程序在由处理器执行时将编码器配置成执行根据第一方面或第二方面或者第一方面或第二方面或第三方面的任何可能的实施方式的方法。

根据第六方面,本发明涉及一种使用线性模型进行帧内预测的设备,包括:

-确定单元,其被配置用于基于当前块所属的图片的色度格式,确定用于属于块的亮度样本(例如每个亮度样本)的滤波器;

-滤波单元,其被配置用于在属于当前块的亮度样本(例如每个亮度样本)的位置处,将所确定的滤波器应用于重构亮度样本的区域,以获得经滤波的重构亮度样本,例如Rec′L[x,y]);

-获得单元,其被配置用于基于经滤波的重构亮度样本获得被用作线性模型推导的输入的亮度样本集;以及

预测单元,其被配置用于基于线性模型推导的线性模型参数和经滤波的重构亮度样本执行分量间预测,例如分量间从亮度预测色度或CCLM预测。

根据本发明的第一方面的方法可以由根据本发明的第六方面的设备执行。根据本发明的第六方面的方法的另外的特征和实现形式对应于根据本发明的第一方面的设备的特征和实现形式。

根据本发明的第一方面的方法可以由根据本发明的第六方面的设备执行。根据本发明的第一方面的方法的另外的特征和实现形式对应于根据本发明的第六方面的设备的特征和实现形式。

根据另一方面,本发明涉及一种用于对视频流进行解码的设备,该设备包括处理器和存储器。存储器存储使处理器执行根据第一方面或第三方面的方法的指令。

根据另一方面,本发明涉及一种用于对视频流进行编码的设备,该设备包括处理器和存储器。存储器存储使处理器执行根据第二方面的方法的指令。

根据另一方面,提出了一种其上存储有指令的计算机可读存储介质,所述指令在被执行时使一个或更多个处理器被配置成对视频数据进行译码。所述指令使一个或更多个处理器执行根据第一方面或第二方面或者第一方面或第二方面或第三方面的任何可能的实施方式的方法。

根据另一方面,本发明涉及一种计算机程序,该计算机程序包括程序代码,所述程序代码在计算机上执行时用于执行根据第一方面或第二方面或第三方面或者第一方面或第二方面或第三方面的任何可能的实施方式的方法。

在附图和以下说明书中阐述了一个或更多个实施方式的细节。根据说明书、附图和权利要求书,其他的特征、目的和优点将是明显的。

附图说明

在下文中,参照附图更详细地描述了本发明的实施方式,在附图中:

图1A是示出被配置成实现本发明的实施方式的视频译码系统的示例的框图;

图1B是示出被配置成实现本发明的实施方式的视频译码系统的另一示例的框图;

图2是示出被配置成实现本发明的实施方式的视频编码器的示例的框图

图3是示出被配置成实现本发明的实施方式的视频解码器的示例结构的框图;

图4是示出根据本公开内容的实施方式的编码设备或解码设备的示例的框图;

图5是示出根据本公开内容的示例性实施方式的编码设备或编码设备的另一示例的框图;

图6是示出用于色度帧内预测的分量间线性模型的概念的图;

图7是示出线性模型参数推导的简化方法的图;

图8是示出针对色度格式YUV 4:2:0下采样亮度样本的处理以及这些亮度样本如何与色度样本相对应的图;

图9是示出在色度格式YUV 4:2:0的情况下用于下采样滤波的亮度样本的空间位置的图;

图10是示出不同色度样本类型的图;

图11是示出根据本公开内容的示例性实施方式的方法的图;

图12是示出根据本公开内容的示例性实施方式的处理的图;

图13示出了在针对亮度模板关闭了下采样滤波时,可以针对色度格式YUV4:2:0使用哪些样本以推导用于分量间预测的线性模型参数的若干选项;

图14示出了用于针对与8x4色度块并置的16x8亮度块推导线性模型参数的模板样本的可能组合;

图15示出了与4x8色度块并置的8x16亮度块的模板样本的可能组合;

图16示出了根据本公开内容的使用线性模型对当前色度块进行帧内预测的方法;

图17示出了根据本公开内容的编码器;

图18示出了根据本公开内容的解码器;

图19示出了根据本公开内容的使用线性模型对当前色度块进行帧内预测的方法;

图20示出了根据本公开内容的编码器;

图21示出了根据本公开内容的解码器;

图22是示出实现内容分发服务的内容提供系统3100的示例结构的框图。

图23是示出终端装置的示例的结构的框图。

在下文中,如果没有另外明确说明,相同的附图标记指代相同或至少在功能上等同的特征。

具体实施方式

在以下描述中,参照附图,这些附图形成本公开内容的一部分并且通过图示的方式示出了本发明的实施方式的特定方面或者可以使用本发明的实施方式的特定方面。应当理解,本发明的实施方式可以用于其他方面并且包括图中未描绘的结构或逻辑变化。因此,以下详细描述不应被视为限制性的,并且本发明的范围由所附权利要求书限定。

以下缩写适用:

ABT:非对称BT(asymmetric BT)

AMVP:高级运动矢量预测(advanced motion vector prediction)

ASIC:专用集成电路(application-specific integrated circuit)

AVC:高级视频译码(Advanced Video Coding)

B:双向预测(bidirectional prediction)

BT:二叉树(binary tree)

CABAC:上下文自适应二进制算术译码(context-adaptive binary arithmeticcoding)

CAVLC:上下文自适应变长译码(context-adaptive variable-length coding)

CD:致密盘(compact disc)

CD-ROM:致密盘只读存储器(compact disc read-only memory)

CPU:中央处理器(central processing unit)

CRT:阴极射线管(cathode-ray tube)

CTU:译码树单元(coding tree unit)

CU:译码单元(coding unit)

DASH:基于HTTP的动态自适应流传输(Dynamic Adaptive Streaming over HTTP)

DCT:离散余弦变换(discrete cosine transform)

DMM:深度建模模式(depth modeling mode)

DRAM:动态随机存取存储器(dynamic random-access memory)

DSL:数字用户线(digital subscriber line)

DSP:数字信号处理器(digital signal processor)

DVD:数字视频盘(digital video disc)

EEPROM:电可擦除可编程只读存储器(electrically-erasable programmableread-only memory)

EO:电到光(electrical-to-optical)

FPGA:现场可编程门阵列(field-programmable gate array)

FTP:文件传输协议(File Transfer Protocol)

GOP:图片组(group of pictures)

GPB:广义P/B预测(Generalized P/B-prediction)

GPU:图形处理单元(graphics processing unit)

HD:高清晰度(high-definition)

HEVC:高效视频译码(High Efficiency Video Coding)

HM:HEVC测试模型(HEVC Test Model)

I:帧内模式(intra-mode)

IC:集成电路(integrated circuit)

ISO/IEC:国际标准化组织/国际电工委员会(International Organization forStandardization/International Electrotechnical Commission)

ITU-T:国际电信联盟电信标准化部门(International TelecommunicationsUnion Telecommunication Standardization Sector)

JVET:联合视频探索小组(Joint Video Exploration Team)

LCD:液晶显示器(liquid-crystal display)

LCU:最大译码单元(largest coding unit)

LED:发光二极管(light-emitting diode)

MPEG:运动图像专家组(Motion Picture Expert Group)

MPEG-2:运动图像专家组2(Motion Picture Expert Group 2)

MPEG-4:运动图像专家组4(Motion Picture Expert Group 4)

MTT:多类型树(multi-type tree)

mux-demux:复用器-解复用器(multiplexer-demultiplexer)

MV:运动矢量(motion vector)

NAS:附网存储(network-attached storage)

OE:光到电(optical-to-electrical)

OLED:有机发光二极管(organic light-emitting diode)

PIPE:概率区间分割熵(probability interval portioning entropy)

P:单向预测(unidirectional prediction)

PPS:图片参数集(picture parameter set)

PU:预测单元(prediction unit)

QT:四叉树,四叉树(quadtree,quaternary tree)

QTBT:四叉树加二叉树(quadtree plus binary tree)

RAM:随机存取存储器(random-access memory)

RDO:率失真优化(rate-distortion optimization)

RF:射频(radio frequency)

ROM:只读存储器(read-only memory)

Rx:接收器单元(receiver unit)

SAD:绝对差之和(sum of absolute differences)

SBAC:基于语法的算术译码(syntax-based arithmetic coding)

SH:切片标头(slice header)

SPS:序列参数集(sequence parameter set)

SRAM:静态随机存取存储器(static random-access memory)

SSD:平方差之和(sum of squared differences)

SubCE:SubCore实验(SubCore Experiment)

TCAM:三元内容可寻址存储器(ternary content-addressable memory)

TT:三叉树(ternary tree)

Tx:发射器单元(transmitter unit)

TU:变换单元(transform unit)

UDP:用户数据报协议(User Datagram Protocol)

VCEG:视频译码专家组(Video Coding Experts Group)

VTM:VVC测试模型(VVC Test Model)

VVC:通用视频译码(Versatile Video Coding)。

例如,应当理解,与所描述的方法有关的公开内容对于被配置成执行该方法的对应装置或系统也可以适用,并且反之亦然。例如,如果描述了一个或多个特定方法步骤,则对应的装置可以包括一个或多个单元(例如功能单元)以执行所描述的一个或多个方法步骤,例如执行所述一个或多个步骤的一个单元,或者各自分别执行多个步骤中的一个或更多个步骤的多个单元,即使在这样的一个或更多个单元未在附图中明确地描述或示出的情况下也是如此。另一方面,例如,如果基于一个或多个单元(例如,功能单元)来描述特定设备,则对应的方法可以包括用于执行所述一个或多个单元的功能的一个步骤,例如,执行所述一个或多个单元的功能的一个步骤或者各自分别执行多个单元中的一个或更多个单元的功能的多个步骤,即使在这样的一个或多个步骤未在附图中明确地描述或示出的情况下也是如此。此外,应当理解,除非另外特别指出,否则本文描述的各种示例性实施方式和/或方面的特征可以相互组合。

视频译码通常是指对形成视频或视频序列的图片序列的处理。代替术语“图片”,术语“帧”或“图像”可以在视频译码领域中用作同义词。视频译码(或通常的译码)包括视频编码和视频解码两部分。视频编码在源侧执行,通常包括例如通过压缩对原始视频图片进行处理以减少表示视频图片所需的数据量,从而用于更有效地存储和/或传输)。视频解码在目的地侧执行并且通常包括与编码器相比的逆处理以重构视频图片。涉及视频图片(或通常的图片)的“译码”的实施方式,应被理解为与视频图片或相应的视频序列的“编码”或“解码”有关。编码部分和解码部分的结合也被称为CODEC(Coding and Decoding)。

在无损视频译码的情况下,可以重构原始视频图片,即,在假设在存储或传输期间没有传输丢失或其他数据丢失的情况下,重构的视频图片具有与原始视频图片相同的质量。在有损视频译码的情况下,例如通过量化执行进一步压缩以减少表示视频图片的数据量,所述视频图片在解码器处不能被完全重构,即,重构的视频图片的质量比原始视频图片的质量低或差。

若干视频译码标准属于“有损混合视频编解码”组,即,将样本域中的空间和时间预测与用于在变换域中应用量化的2D变换译码相结合。通常将视频序列的每个图片划分成一组不交叠的块,并且通常在块级别上执行译码。换句话说,在编码器处,通常在块、视频块级别上对视频进行处理(即,编码),例如通过使用空间帧内图片预测和/或时间帧间图片预测来生成预测块;从当前块(当前处理/要处理的块)中减去预测块以获得残差块;在变换域中对残差块进行变换并对残差块进行量化以减少要传输的数据量(压缩),而在解码器处,将与编码器相比的逆处理应用于经编码或压缩的块以重构当前块以供表示。此外,编码器复制解码器处理循环,使得两者都将生成相同的预测(例如帧内预测和帧间预测)和/或重构以用于处理(即译码)后续块。

在视频译码系统10的以下实施方式中,基于图1至图3描述视频编码器20和视频解码器30。

图1A是示出可以利用本申请的技术的示例译码系统10例如视频译码系统10(或简称为译码系统10)的示意性框图。视频译码系统10的视频编码器20(或简称为编码器20)以及视频解码器30(或简称为解码器30)表示可以被配置成执行根据本申请中描述的各种示例的技术的装置的示例。

如图1A所示,译码系统10包括源装置12,源装置12被配置成将编码图片数据21提供给例如目的地装置14以对编码图片数据13进行解码。

源装置12包括编码器20,并且可以附加地(即可选地)包括图片源16、预处理器或预处理单元18(例如图片预处理器18)以及通信接口或通信单元22。

图片源16可以包括或者可以是:任何类型的图片捕获装置,例如用于捕获真实世界图片的摄像机;和/或任何类型的图片生成装置,例如用于生成计算机动画图片的计算机图形处理器;或者用于获取和/或提供真实世界图片、计算机生成图片(例如屏幕内容)、虚拟现实(virtual reality,VR)图片和/或它们的任何组合例如增强现实(augmentedreality,AR)图片的任何类型的其他装置。图片源可以是存储上述图片中的任何图片的任何类型的存储器或存储装置。

与预处理器18和由预处理单元18执行的处理不同,图片或图片数据17也可以被称为原始图片或原始图片数据17。

预处理器18被配置成接收(原始)图片数据17以及针对图片数据17执行预处理,以获得经预处理的图片19或经预处理的图片数据19。预处理器18执行的预处理可以例如包括修整、颜色格式转换(例如从RGB到YCbCr)、颜色校正或去噪。可以理解的是,预处理单元18可以是可选部件。

视频编码器20被配置成接收经预处理的图片数据19并且提供编码图片数据21,下面将例如基于图2描述其他细节。

源装置12的通信接口22可以被配置成接收编码图片数据21以及通过通信信道13将编码图片数据21或其任何另外处理的版本传输至另一装置例如目的地装置14或任何其他装置以用于存储或直接重构。

目的地装置14包括解码器30,例如视频解码器30,并且可以附加地(即可选地)包括通信接口或通信单元28、后处理器32或后处理单元32以及显示装置34。

目的地装置14的通信接口28被配置成例如直接从源装置12或从任何其他源例如存储装置(例如编码图片数据存储装置)接收编码图片数据21或其任何另外处理的版本,以及将编码图片数据21提供给解码器30。

通信接口22和通信接口28可以被配置成经由源装置12与目的地装置14之间的直接通信链路(例如直接有线或无线连接)、或者经由任何类型的网络(例如有线网络或无线网络或其任何组合)、或者任何类型的专用网络和公共网络、或者上述各项的任何组合来发送或接收编码图片数据21或编码数据13。

通信接口22可以例如被配置成将编码图片数据21封装成适当的格式(例如分组),以及/或者使用任何类型的传输编码或处理对编码图片数据进行处理以通过通信链路或通信网络进行传输。

形成通信接口22的对应部分(counterpart)的通信接口28可以例如被配置成接收所发送的数据以及使用任何类型的对应传输解码或处理和/或解封装对所发送数据进行处理以获得编码图片数据21。

通信接口22和通信接口28两者均可以被配置为如图1A中从源装置12指向目的地装置14的通信信道13的箭头所指示的单向通信接口或者双向通信接口,并且可以被配置成例如发送和接收消息以例如建立连接、确认和交换与通信链路和/或数据传输(例如编码图片数据传输)有关的任何其他信息。

解码器30被配置成接收编码图片数据21以及提供解码图片数据31或解码图片31,其他细节将在下面例如基于图3或图5描述。

目的地装置14中的后处理器32被配置成对也被称为重构图片数据的解码图片数据31(例如解码图片31)进行后处理,以获得经后处理的图片数据33(例如经后处理的图片33)。由后处理单元32执行的后处理可以包括例如颜色格式转换(例如从YCbCr到RGB)、颜色校正、修整或再采样、或者例如用于准备解码图片数据31以供例如显示装置34显示的任何其他处理。

目的地装置14中的显示装置34被配置成接收经后处理的图片数据33以用于向例如用户或观看者显示图片。显示装置34可以是或者可以包括用于展示重构图片的任何类型的显示器,例如集成的或外部的显示器或监视器。显示器可以例如包括液晶显示器(liquidcrystal display,LCD)、有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、微型LED显示器、硅基液晶(liquid crystal on silicon,LCoS)、数字光处理器(digital light processor,DLP)或任何类型的其他显示器。

虽然图1A将源装置12和目的地装置14描绘为单独的装置,但是装置的实施方式还可以包括源装置12或对应的功能以及目的地装置14或对应的功能两者或两种功能。在这样的实施方式中,可以使用相同的硬件和/或软件或者通过单独的硬件和/或软件或其任何组合实现源装置12或对应的功能以及目的地装置14或对应的功能。

如根据描述对于本领域技术人员将明显的,如图1A所示的源装置12和/或目的地装置14内的不同单元或功能的存在和准确的功能拆分可以取决于实际装置和应用而变化。

编码器20(例如视频编码器20)或解码器30(例如视频解码器30)或者编码器20和解码器30两者可以经由如图1B所示的处理电路实现,所述处理电路例如一个或更多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gatearray,FPGA)、分立逻辑、硬件、专用视频译码或其任何组合。编码器20可以经由处理电路46实现以体现关于图2的编码器20和/或本文所描述的任何其他编码器系统或子系统所讨论的各种模块。解码器30可以经由处理电路46实现以体现如关于图3的解码器30和/或本文描述的任何其他解码器系统或子系统所讨论的各种模块。该处理电路可以被配置成执行如稍后讨论的各种操作。如图5所示,如果技术是部分地以软件实现,则装置可以将软件的指令存储在合适的非暂态计算机可读存储介质中并且可以使用一个或更多个处理器以硬件方式执行所述指令从而执行本公开内容的技术。视频编码器20和视频解码器30中的任一者可以被集成作为单个装置中的组合编码器/解码器(CODEC)的一部分,例如,如图1B所示。

源装置12和目的地装置14可以包括以下各种装置中的任一种装置并且可以不使用或使用任何类型的操作系统,所述各种装置包括:任何类型的手持装置或固定装置,例如笔记本或膝上型计算机、移动电话、智能电话、平板装置或平板计算机、摄像机、台式计算机、机顶盒、电视、显示装置、数字媒体播放器、视频游戏控制台、视频流装置,例如内容服务服务器或内容交付服务器、广播接收器装置、广播发射器装置等。在一些情况下,源装置12和目的地装置14可以被配备用于无线通信。因此,源装置12和目的地装置14可以是无线通信装置。

在一些情况下,图1A中示出的视频译码系统10仅是示例并且本申请的技术可以应用于不一定包括编码装置与解码装置之间的任何数据通信的视频译码设置,例如视频编码或视频解码。在其他示例中,从本地存储器检索数据、通过网络流传输数据等。视频编码装置可以对数据进行编码并将数据存储到存储器,并且/或者视频解码装置可以从存储器检索数据并对其进行解码。在一些示例中,编码和解码由不相互通信而只是将数据编码到存储器和/或从存储器检索数据并对其进行解码的装置执行。

为了便于描述,本文例如通过参考高效视频译码(High-Efficiency VideoCoding,HEVC)或通用视频译码(Versatile Video coding,VVC)的参考软件对本发明的实施方式进行描述,VVC是由ITU-T视频译码专家组(Video Coding Experts Group,VCEG)和ISO/IEC运动图像专家组(Motion Picture Experts Group,MPEG)的视频译码协作组(Joint Collaboration Team on Video Coding,JCT-VC)开发的下一代视频译码标准。本领域普通技术人员将理解,本发明的实施方式不限于HEVC或VVC。

编码器和编码方法

图2示出了被配置成实现本申请的技术的示例视频编码器20的示意性框图。在图2的示例中,视频编码器20包括输入201或输入接口201、残差计算单元204、变换处理单元206、量化单元208、逆量化单元210、逆变换处理单元212、重构单元214、环路滤波器单元220、解码图片缓冲器(decoded picture buffer,DPB)230、模式选择单元260、熵编码单元270以及输出272(或输出接口272)。模式选择单元260可以包括帧间预测单元244、帧内预测单元254和分区单元262。帧间预测单元244可以包括运动估计单元和运动补偿单元(未示出)。也可以根据混合视频编解码器,将如图2所示的视频编码器20称为混合视频编码器或视频编码器。

残差计算单元204、变换处理单元206、量化单元208、模式选择单元260可以被称为形成编码器20的正向信号路径,而逆量化单元210、逆变换处理单元212、重构单元214、缓冲器216、环路滤波器220、解码图片缓冲器(decoded picture buffer,DPB)230、帧间预测单元244和帧内预测单元254可以被称为形成视频编码器20的反向信号路径,其中,视频编码器20的反向信号路径对应于解码器的信号路径,参见图3中的视频解码器30。逆量化单元210、逆变换处理单元212、重构单元214、环路滤波器220、解码图片缓冲器(decodedpicture buffer,DPB)230、帧间预测单元244和帧内预测单元254也被称为形成视频编码器20的“内置解码器”。

图片和图片分区(图片和块)

编码器20可以被配置成例如经由输入201接收图片17或图片数据17,例如形成视频或视频序列的图片序列中的图片。所接收的图片或图片数据也可以是经预处理的图片19或经预处理的图片数据19。为了简单起见,下面的描述参照图片17。图片17也可以被称为当前图片或要译码的图片,特别是在视频译码中用于将当前图片与其他图片例如同一视频序列(即也包括当前图片的视频序列)的先前编码和/或解码的图片区分开来。

(数字)图片是或可以被视为具有强度值的样本的二维数组或矩阵。数组中的样本也可以被为像素(图片元素的简称)或像元。数组或图片的水平和垂直方向或轴上的样本的数量限定了图片的大小和/或分辨率。对于颜色的表示,通常采用三个颜色分量,即图片可以被表示为或包括三个样本数组。在RBG格式或颜色空间中,图片包括对应的红色、绿色和蓝色样本数组。然而,在视频译码中,通常以亮度和色度格式或颜色空间例如YCbCr来表示每个像素,YCbCr包括由Y指示的亮度分量(有时也使用L代替)以及由Cb和Cr指示的两个色度分量。亮度(luminance)(或缩写为亮度(luma))分量Y例如像在灰度图片中一样表示亮度或灰度级强度,而两个色度(chrominance)(或缩写为色度(chroma))分量Cb和Cr表示色度或颜色信息分量。因此,YCbCr格式的图片包括亮度样本值(Y)的亮度样本数组和色度值(Cb和Cr)的两个色度样本数组。RGB格式的图片可以被转换或变换为YCbCr格式,并且反之亦然,YCbCr格式的图片可以被转换或变换为RGB格式,该过程也被称为颜色变换或转换。如果图片是单色的,则该图片可以仅包括亮度样本数组。因此,图片可以是例如单色格式的亮度样本数组或者4:2:0、4:2:2和4:4:4颜色格式的亮度样本数组和两个对应的色度样本数组。

视频编码器20的实施方式可以包括图2中未描绘的图片分区单元,该图片分区单元被配置成将图片17划分成多个通常不交叠的图片块203。这些块也可以被称为根块、宏块(H.264/AVC)或译码树块(coding tree block,CTB)或译码树单元(coding tree unit,CTU)(H.265/HEVC和VVC)。图片分区单元可以被配置成针对视频序列的所有图片使用相同的块大小和限定当前块大小的对应网格,或者在图片或图片子集或图片组之间改变当前块大小,并且将每个图片划分成对应的块。

在另外的实施方式中,视频编码器可以被配置成直接接收图片17的块203,例如形成图片17的一个块、若干个块或所有块。图片块203也可以被称为当前图片块或要译码的图片块。

与图片17一样,图片块203也是或者可以被视为具有强度值(样本值)的样本的二维数组或矩阵,尽管其维度小于图片17。换句话说,当前块203可以在单色图片17的情况下包括例如一个样本数组例如亮度数组,或者在彩色图片的情况下包括亮度或色度数组,或者在彩色图片17的情况下包括三个样本数组例如一个亮度数组和两个色度数组,或者取决于所应用的颜色格式而包括任何其他数量和/或类型的数组。当前块203在水平和垂直方向(或轴)上的样本的数量限定块203的大小。因此,块可以例如是MxN(M列N行)样本数组或MxN变换系数数组。

如图2所示的视频编码器20的实施方式可以被配置成逐个块地对图片17进行编码,例如按块203执行编码和预测。如图2所示的视频编码器20的实施方式还可以被配置成通过使用切片(slice)(也称为视频切片)对图片进行分区和/或编码,其中,可以使用通常不交叠的一个或更多个切片对图片进行分区或编码,并且每个切片可以包括一个或更多个块,例如CTU。

如图2所示的视频编码器20的实施方式还可以被配置成通过使用图块(tile)组(也称为视频图块组)和/或图块(也称为视频图块)对图片进行分区和/或编码,其中,可以使用通常不交叠的一个或更多个图块组对图片进行分区和/或编码,并且每个图块组可以包括例如一个或更多个块(例如CTU)或者一个或更多个图块,其中,每个图块例如可以是矩形形状并且可以包括一个或更多个块(例如CTU),例如完整块或部分块。

残差计算

残差计算单元204可以被配置成基于图片块203和预测块265例如通过逐个样本、逐个像素地从图片块203的样本值减去预测块265的样本值来计算残差块205(也称为残差205)以获得样本域中的残差块205,关于预测块265的其他细节稍后提供。

变换

变换处理单元206可以被配置成对残差块205的样本值应用变换例如离散余弦变换(discrete cosine transform,DCT)或离散正弦变换(discrete sine transform,DST)以获得变换域中的变换系数207。变换系数207也可以被称为变换残差系数并且表示变换域中的残差块205。

变换处理单元206可以被配置成应用DCT/DST的整数近似,例如针对H.265/HEVC指定的变换。与正交DCT变换相比,这样的整数近似通常按某个因子进行缩放。为了保留经正向变换和逆向变换处理的残差块的范数,应用附加的缩放因子作为变换过程的一部分。缩放因子通常是基于某些约束选择的,所述约束例如对于移位运算而言缩放因子是2的幂、变换系数的位深度、准确度与实现成本之间的权衡等。例如,由逆变换处理单元212针对逆变换指定特定的缩放因子,并且在视频解码器30处由例如逆变换处理单元312针对对应的逆变换指定特定的缩放因子,并且相应地在编码器20处可以由变换处理单元206针对正向变换指定对应的缩放因子。

视频编码器20(相应地变换处理单元206)的实施方式可以被配置成例如直接地或者经由熵编码单元270编码或压缩后输出变换参数例如一种或多种变换的类型,使得例如视频解码器30可以接收并使用这些变换参数进行解码。

量化

量化单元208可以被配置成例如通过应用标量量化或矢量量化对变换系数207进行量化以获得经量化的系数209。

经量化的系数209也可以被称为经量化的变换系数209或经量化的残差系数209。

量化过程可减少与一些或所有变换系数207相关联的位深度。例如,可以在量化期间将n位变换系数向下舍入成m位变换系数,其中n大于m。可以通过调整量化参数(quantization parameter,QP)来修改量化的程度。例如,对于标量量化,可以应用不同的缩放以实现较精细或较粗略的量化。较小的量化步长对应于较精细的量化,而较大的量化步长对应于较粗略的量化。可以由量化参数(quantization parameter,QP)指示可适用的量化步长。例如,量化参数可以是可适用的量化步长的预定义集合的索引。例如,小量化参数可以对应于精细量化、小量化步长,而大量化参数可以对应于粗略量化、大量化步长,或者反之亦然。量化可以包括除以量化步长,并且例如通过逆量化单元210进行的对应的去量化和/或逆去量化可以包括乘以量化步长。根据一些标准(例如HEVC)的实施方式可以被配置成使用量化参数来确定量化步长。通常,可以基于量化参数使用包括除法的等式的固定点近似来计算量化步长。可以针对量化和去量化引入附加的缩放因子以恢复残差块的范数,残差块的范数可能会由于在关于量化步长和量化参数的等式的固定点近似中使用缩放而被修改。在一个示例实现方式中,可以将逆变换和去量化的缩放进行组合。可替选地,可以使用定制的量化表并且例如在比特流中用信号将该定制的量化表从编码器通知给解码器。量化是有损运算,其中,损失随着量化步长的增加而增大。

视频编码器20(相应地量化单元208)的实施方式可以被配置成例如直接地或经由熵编码单元270编码后输出量化参数(quantization parameter,QP),使得例如视频解码器30可以接收并使用这些量化参数进行解码。

逆量化

逆量化单元210被配置成例如通过基于或使用与量化单元208相同的量化步长来应用量化单元208所应用的量化方案的逆量化方案,对经量化的系数应用量化单元208的逆量化以获得经去量化的系数211。经去量化的量化系数211也可以被称为经去量化的残差系数211并且对应于变换系数207,尽管由于量化损失而通常与变换系数不同。

逆变换

逆变换处理单元212被配置成应用变换处理单元206所应用的变换的逆变换,例如逆离散余弦变换(inverse discrete cosine transform,DCT)或逆离散正弦变换(inversediscrete sine transform,DST)或其他逆变换,以在样本域中获得重构残差块213或对应的去量化系数213。重构残差块213也可以被称为变换块213。

重构

重构单元214(例如加法器或求和器214)被配置成将变换块213(即重构残差块213)与预测块265相加,例如通过逐个样本地将重构残差块213的样本值与预测块265的样本值相加,来获得样本域中的重构块215。

滤波

环路滤波器单元220(或简称为“环路滤波器”220)被配置成对重构块215进行滤波以获得经滤波的块221,或者一般地对重构样本进行滤波以获得经滤波的样本。环路滤波器单元例如被配置成平滑像素转变,或者以其他方式提高视频质量。环路滤波器单元220可以包括:一个或更多个环路滤波器,例如去块滤波器、样本自适应偏移(sample-adaptiveoffset,SAO)滤波器;或者一个或更多个其他滤波器,例如双边滤波器、自适应环路滤波器(adaptive loop filter,ALF)、锐化滤波器、平滑滤波器或协同滤波器;或者上述滤波器的任何组合。尽管环路滤波器单元220在图2中被示出为环路内滤波器,但是在其他配置中,环路滤波器单元220可以被实现为环路后滤波器。经滤波的块221也可以被称为经滤波的重构块221。

视频编码器20(相应地环路滤波器单元220)的实施方式可以被配置成例如直接地或经由熵编码单元270编码后输出环路滤波器参数例如样本自适应偏移信息,使得例如解码器30可以接收并应用相同的环路滤波器参数或相应的环路滤波器进行解码。

解码图片缓冲器

解码图片缓冲器(decoded picture buffer,DPB)230可以是存储用于由视频编码器20对视频数据进行编码的参考图片(或者一般地,参考图片数据)的存储器。DPB 230可以由以下各种存储装置中的任合存储装置形成:所述各种存储装置例如动态随机存取存储器(dynamic random access memory,DRAM),包括同步DRAM(synchronous DRAM,SDRAM)、磁阻式RAM(magnetoresistive RAM,MRAM)、电阻式RAM(resistive RAM,RRAM)或其他类型的存储装置。解码图片缓冲器(decoded picture buffer,DPB)230可以被配置成存储一个或更多个经滤波的块221。解码图片缓冲器230还可以被配置成存储相同当前图片或者不同图片(例如先前重构的图片)的其他先前滤波的块(例如先前重构和滤波的块221),并且可以提供完整的先前重构(即解码)的图片及对应的参考块和样本,和/或部分重构的当前图片及对应的参考块和样本,例如以用于帧间预测。解码图片缓冲器(decoded picture buffer,DPB)230还可以被配置成例如在重构块215未经环路滤波器单元220滤波的情况下存储一个或更多个未经滤波的重构块215(或者一般地,未经滤波的重构样本)或者重构块或样本的任何另外处理的版本。

模式选择(分区和预测)

模式选择单元260包括分区单元262、帧间预测单元244和帧内预测单元254,并且被配置成例如从解码图片缓冲器230或其他缓冲器例如行缓冲器(未示出)接收或获得原始图片数据例如原始块203、当前图片17的当前块203以及重构的图片数据,例如相同当前图片和/或来自一个或多个先前解码的图片的经滤波和/或未经滤波的重构样本或块。这些重构的图片数据被用作用于预测(例如帧间预测或帧内预测)的参考图片数据以获得预测块265或预测器265。

模式选择单元260可以被配置成确定或选择针对当前块预测模式的分区(包括不分区)以及预测模式(例如帧内或帧间预测模式),并且生成用于残差块205的计算和重构块215的重构的对应预测块265。

模式选择单元260的实施方式可以被配置成例如从模式选择单元260支持或可用的分区和预测模式中选择提供最佳匹配或者换句话说最小残差或者最小信令开销或者考虑或平衡最小残差和最小信令开销两者的分区和预测模式,最小残差意味着针对传输或存储的更好压缩,最小信令开销意味着针对传输或存储的更好压缩。模式选择单元260可以被配置成基于率失真优化(rate distortion optimization,RDO)来确定分区和预测模式,即选择提供最小率失真的预测模式。在该上下文中,术语如“最佳”、“最小”、“最优”等不一定指整体“最佳”、“最小”、“最优”等,而是也可以指终止或选择标准的实现,例如值超过或低于阈值或者潜在地导致“次优选择”但降低了复杂度和处理时间的其它约束的实现。

换句话说,分区单元262可以被配置成例如迭代地使用四叉树分区(quad-tree-partitioning,QT)、二叉树分区(binary partitioning,BT)或三叉树分区(triple-tree-partitioning,TT)或其任何组合将当前块203划分成再次形成块的较小的块分区或子块,以及例如针对每个当前块分区或子块执行预测,其中,模式选择包括对已分区块203的树结构的选择,并且预测模式被应用于每个当前块分区或子块。

下面将更详细地说明由示例视频编码器20执行的例如通过分区单元260执行的分区以及通过帧间预测单元244和帧内预测单元254执行的预测处理。

分区

分区单元262可以将当前块203划分或分割成较小的分区,例如正方形或矩形大小的较小块。这些也可以被称为子块的较小块可以被进一步划分成更小的分区。这也被称为树分区或分层树分区,其中,根块例如在根树级别0、分层级别0、深度0处的根块可以被递归地划分,例如被划分成下一较低树级别的两个或更多个块,例如树级别1、层次级别1、深度1处的节点,其中,这些块可以再次被划分成下一较低级别例如树级别2、层次级别2、深度2等的两个或更多个块,直至例如由于满足终止标准(例如达到最大树深度或最小块大小)而终止划分。未被进一步划分的块也被称为树的叶块或叶节点。利用划分成为两个分区的树被称为二叉树(binary-tree,BT),利用划分成为三个分区的树被称为三叉树(ternary-tree,TT),并且利用划分成为四个分区的树被称为四叉树(quad-tree,QT)。

如前所述,本文使用的术语“块”可以是图片的一部分,特别是正方形或矩形部分。参考例如HEVC和VVC,当前块可以是或者可以对应于译码树单元(coding tree unit,CTU)、译码单元(coding unit,CU)、预测单元(prediction unit,PU)和变换单元(transformunit,TU)并且/或者对应于对应的块例如译码树块(coding tree block,CTB)、译码块(coding block,CB)、变换块(transform block,TB)或预测块(prediction block,PB)。

例如,译码树单元(CTU)可以是或者可以包括亮度样本的CTB、具有三个样本数组的图片的色度样本的两个对应CTB、或者单色图片或使用用于对样本进行译码的三个独立的颜色平面和语法结构译码的图片的样本的CTB。相应地,译码树块(coding tree block,CTB)可以是针对N的某个值的N×N样本块,使得分量到CTB的划分是分区。译码单元(codingunit,CU)可以是或者可以包括亮度样本的译码块、具有三个样本数组的图片的色度样本的两个对应译码块、或者单色图片或使用用于对样本进行译码的三个独立的颜色平面和语法结构译码的图片的样本的译码块。相应地,译码块(coding block,CB)可以是针对M和N的某些值的M×N样本块,使得CTB到译码块的划分是分区。

在实施方式中,例如,根据HEVC,可以通过使用被表示为译码树的四叉树结构将译码树单元(coding tree unit,CTU)分割成CU。在CU级别做出是使用图片间(时间)预测还是图片内(空间)预测对图片区域进行译码的决策。可以根据PU分割类型将每个CU进一步分割成一个PU、两个PU或四个PU。在一个PU内,应用相同的预测过程并且以PU为基础将相关信息传输至解码器。在通过基于PU分割类型应用预测过程获得残差块之后,可以根据与CU的译码树类似的另一四叉树结构将CU划分成变换单元(transform unit,TU)。

在实施方式中,例如,根据当前正在开发的被称为通用视频译码(VersatileVideo Coding,VVC)的最新视频译码标准,例如,使用经组合的四叉树和二叉树(Quad-treeand binary tree,QTBT)分区对译码块进行划分。在QTBT块结构中,CU可以具有正方形形状或矩形形状。例如,首先通过四叉树结构对译码树单元(coding tree unit,CTU)进行划分。通过二叉树或三叉(ternary)(或三叉(triple))树结构对四叉树叶节点进行进一步划分。分区树叶节点被称为译码单元(coding unit,CU),并且该分割(segmentation)被用于预测和变换处理而无需进行任何进一步划分。这意味着CU、PU和TU在QTBT译码块结构中具有相同的块大小。可以与QTBT块结构一起并行地使用多个分区,例如三叉树分区。

在一个示例中,视频编码器20的模式选择单元260可以被配置成执行本文所描述的分区技术的任何组合。

如上所述,视频编码器20被配置成从例如预先确定的预测模式的集合中确定或选择最佳或最优的预测模式。预测模式的集合可以包括例如帧内预测模式和/或帧间预测模式。

帧内预测

帧内预测模式的集合可以包括35种不同的帧内预测模式,例如,如HEVC中所定义的非定向模式(例如DC或平均值模式和平面模式)或者定向模式,或者可以包括67种不同的帧内预测模式,例如,如针对VCC定义的非定向模式(例如DC或平均模式和平面模式)或者定向模式。

帧内预测单元254被配置成根据帧内预测模式的集合中的帧内预测模式,使用相同当前图片的相邻块的重构样本生成帧内预测块265。

帧内预测单元254或者一般地模式选择单元260还被配置成将帧内预测参数或一般地指示当前块的选定帧内预测模式的信息以语法元素266的形式输出至熵编码单元270以包括在编码图片数据21中,使得例如视频解码器30可以接收并使用预测参数进行解码。

帧间预测

帧间预测模式的集合或可能的帧间预测模式取决于可用的参考图片即例如存储在DBP 230中的先前至少部分解码的图片以及其他帧间预测参数,例如是使用整个参考图片还是参考图片的仅一部分(例如当前块区域周围的搜索窗口区域)来搜索最佳匹配参考块,以及/或者例如是否应用像素插值例如半插值/半像元插值和/或四分之一像元插值。

除了以上预测模式之外,还可以应用跳过模式和/或直接模式。

帧间预测单元244可以包括运动估计(motion estimation,ME)单元和运动补偿(motion compensation,MC)单元,这两者均未在图2中示出。运动估计单元可以被配置成接收或获得图片块203、当前图片17的当前图片块203以及解码图片231或者至少一个或多个先前重构的块例如一个或多个其他/不同的先前解码的图片231的重构块以用于运动估计。例如,视频序列可以包括当前图片和先前解码的图片231,或者换句话说,当前图片和先前解码的图片231可以是形成视频序列的图片序列的一部分或者形成所述图片序列。

编码器20可以例如被配置成从多个其他图片的相同或不同图片的多个参考块中选择参考块并且将参考图片或参考图片索引和/或参考块的位置(x、y坐标)与当前块的位置之间的偏移(空间偏移)作为帧间预测参数提供给运动估计单元。这个偏移也被称为运动矢量(motion vector,MV)。

运动补偿单元被配置成获得(例如接收)帧间预测参数并且基于或使用该帧间预测参数执行帧间预测以获得帧间预测块265。由运动补偿单元执行的运动补偿可以涉及基于通过运动估计确定的运动/块矢量来提取或者生成预测块,可能执行插值以达到子像素精度。插值滤波可以根据已知的像素样本生成附加像素样本,从而潜在地增加可以用于对图片块进行译码的候选预测块的数量。在接收到当前图片块的PU的运动矢量之后,运动补偿单元可以在参考图片列表之一中定位运动矢量指向的预测块。

运动补偿单元还可生成与当前块相关联的语法元素和视频切片以供视频解码器30在对视频切片的图片块进行解码时使用。除了切片和相应的语法元素之外或者作为对切片和相应的语法元素的替代,可以生成或使用图块组和/或图块及相应的语法元素。

熵译码

熵编码单元270被配置成针对经量化的系数209、帧间预测参数、帧内预测参数、环路滤波器参数和/或其他语法元素应用例如熵编码算法或方案(例如可变长度译码(variable length coding,VLC)方案、上下文自适应VLC(context adaptive VLC,CAVLC)方案)、算术译码方案、二值化、上下文自适应二进制算术译码(context adaptive binaryarithmetic coding,CABAC)、基于语法的上下文自适应二进制算术译码(syntax-basedcontext-adaptive binary arithmetic coding,SBAC)、概率区间分区熵(probabilityinterval partitioning entropy,PIPE)译码或另外的熵编码方法或技术或者旁路(无压缩)以获得可以经由输出272例如以编码比特流21的形式输出的编码图片数据21,使得例如视频解码器30可以接收并使用这些参数进行解码。编码比特流21可以被传输至视频解码器30或者被存储在存储器中以供视频解码器30稍后传输或检索。

可以使用视频编码器20的其他结构变型对视频流进行编码。例如,基于非变换的编码器20可以在没有变换处理单元206的情况下针对某些块或帧直接量化残差信号。在另一实现方式中,编码器20可以具有组合成单个单元的量化单元208和逆量化单元210。

解码器和解码方法

图3示出了被配置成实施本申请的技术的视频解码器30的示例。视频解码器30被配置成接收例如由编码器20编码的编码图片数据21(例如编码比特流21)以获得解码图片331。编码图片数据或比特流包括用于对编码图片数据进行解码的信息例如表示编码视频切片的图片块的数据、和/或图块组或图块以及相关联的语法元素。

在图3的示例中,解码器30包括熵解码单元304、逆量化单元310、逆变换处理单元312、重构单元314(例如求和器314)、环路滤波器320、解码图片缓冲器(decoded picturebuffer,DBP)330、模式应用单元360、帧间预测单元344和帧内预测单元354。帧间预测单元344可以是或者可以包括运动补偿单元。在一些示例中,视频解码器30可以执行与关于来自图2的视频编码器100所描述的编码过程(pass)大体上互逆的解码过程。

如关于编码器20所说明的,逆量化单元210、逆变换处理单元212、重构单元214、环路滤波器220、解码图片缓冲器(decoded picture buffer,DBP)230、帧间预测单元344和帧内预测单元354也被称为形成视频编码器20的“内置解码器”。相应地,逆量化单元310可以在功能上与逆量化单元110相同,逆变换处理单元312可以在功能上与逆变换处理单元212相同,重构单元314可以在功能上与重构单元214相同,环路滤波器320可以在功能上与环路滤波器220相同,并且解码图片缓冲器330可以在功能上与解码图片缓冲器230相同。因此,针对视频编码器20的各个单元和功能提供的说明对应地适用于视频解码器30的各个单元和功能。

熵解码

熵解码单元304被配置成对比特流21或者一般地编码图片数据21进行解析并且对编码图片数据21执行例如熵解码以获得例如经量化的系数309和/或经解码的译码参数(图3中未示出),例如帧间预测参数(例如参考图片索引和运动矢量)、帧内预测参数(例如帧内预测模式或索引)、变换参数、量化参数、环路滤波器参数和/或其他语法元素中的任一者或全部。熵解码单元304可以被配置成应用与关于编码器20的熵编码单元270描述的编码方案相对应的解码算法或方案。熵解码单元304还可以被配置成将帧间预测参数、帧内预测参数和/或其他语法元素提供给模式应用单元360,并且将其他参数提供给解码器30的其他单元。视频解码器30可以在视频切片级别和/或视频块级别接收语法元素。除了切片和相应的语法元素之外或者作为对切片和相应的语法元素的替代,可以接收和/或使用图块组和/或图块及相应的语法元素。

逆量化

逆量化单元310可以被配置成从编码图片数据21(例如通过熵解码单元304解析和/或解码)接收量化参数(quantization parameter,QP)(或者一般地,与逆量化有关的信息)以及经量化的系数,并且基于量化参数对经解码的经量化系数309应用逆量化以获得经去量化的系数311(其也可以被称为变换系数311)。逆量化过程可以包括使用由视频编码器20针对视频切片或图块或图块组中的每个视频块确定的量化参数来确定量化的程度,并且同样地确定应该应用的逆量化的程度。

逆变换

逆变换处理单元312可以被配置成接收经去量化的系数311(也称为变换系数311),并且对经去量化的系数311应用变换以获得样本域中的重构残差块213。重构残差块213也可以被称为变换块313。该变换可以是逆变换例如逆DCT、逆DST、逆整数变换或者是概念上类似的逆变换过程。逆变换处理单元312还可以被配置成从编码图片数据21(例如通过熵解码单元304解析和/或解码)接收变换参数或对应信息,以确定要应用于经去量化的系数311的变换。

重构

重构单元314(例如加法器或求和器314)可以被配置成将重构残差块313与预测块365相加,例如通过将重构残差块313的样本值与预测块365的样本值相加,来获得样本域中的重构块315。

滤波

环路滤波器单元320(在译码环路中或在译码环路后)被配置成对重构块315进行滤波以获得经滤波的块321,例如以用于平滑像素过渡或以其他方式提高视频质量。环路滤波器单元320可以包括:一个或更多个环路滤波器,例如去块滤波器、样本自适应偏移(sample-adaptive offset,SAO)滤波器;或者一个或更多个其他滤波器,例如双边滤波器、自适应环路滤波器(adaptive loop filter,ALF)、锐化滤波器、平滑滤波器或协同滤波器;或者上述滤波器的任何组合。尽管环路滤波器单元320在图3中被示出为环路内滤波器,但是在其他配置中,环路滤波器单元320可以被实现为环路后滤波器。

解码图片缓冲器

图片的解码视频块321则被存储在解码图片缓冲器330中,解码图片缓冲器330将解码图片331存储为参考图片,以用于其他图片的后续运动补偿和/或用于相应地输出显示。

解码器30被配置成例如经由输出312输出解码图片311以用于向用户呈现或供用户观看。

预测

帧间预测单元344可以与帧间预测单元244相同(特别地与运动补偿单元相同),并且帧内预测单元354可以在功能上与帧内预测单元254相同,并且基于从编码图片数据21(例如通过熵解码单元304解析和/或解码)接收的分区和/或预测参数或相应的信息执行分割或分区决策以及预测。模式应用单元360可以被配置成基于重构的图片、块或(经滤波的或未经滤波的)相应样本按块执行预测(帧内或帧间预测)以获得预测块365。

在视频切片被译码为帧内译码(I)切片的情况下,模式应用单元360的帧内预测单元354被配置成基于用信号通知的帧内预测模式和来自当前图片的经先前解码的块的数据生成针对当前视频切片的图片块的预测块365。在视频图片被译码为帧间译码(即,B或P)切片的情况下,模式应用单元360的帧间预测单元344(例如运动补偿单元)被配置成基于从熵解码单元304接收的运动矢量和其他语法元素产生针对当前视频切片的视频块的预测块365。对于帧间预测,可以从参考图片列表之一内的一个参考图片产生预测块。视频解码器30可以基于存储在DPB 330中的参考图片使用默认构造技术来构造参考帧列表,列表0和列表1。除了切片(例如视频切片)之外或者作为其替代,可以针对或通过使用图块组(例如视频图块组)和/或图块(例如视频图块)的实施方式应用相同或类似技术,例如,可以使用I、P或B图块组和/或图块对视频进行译码。

模式应用单元360被配置成通过解析运动矢量或相关信息以及其他语法元素来确定当前视频切片的视频块的预测信息,以及使用该预测信息产生针对正在被解码的当前视频块的预测块。例如,模式应用单元360使用所接收的语法元素中的一些语法元素来确定用于对视频切片的视频块进行译码的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的一个或更多个参考图片列表的构造信息、切片的每个帧间编码视频块的运动矢量、切片的每个帧间译码视频块的帧间预测状态以及用于解码当前视频切片中的视频块的其他信息。除了切片(例如视频切片)之外或者作为其替代,可以针对或通过使用图块组(例如视频图块组)和/或图块(例如视频图块)的实施方式应用相同或类似技术,例如,可以使用I、P或B图块组和/或图块对视频进行译码。

如图3所示的视频解码器30的实施方式可以被配置成通过使用切片(也称为视频切片)对图片进行划分和/或解码,其中,可以使用一个或更多个(通常不交叠的)切片对图片进行划分或解码,并且每个切片可以包括一个或更多个块(例如CTU)。

如图3所示的视频解码器30的实施方式可以被配置成通过使用图块组(也称为视频图块组)和/或图块(也称为视频图块)对图片进行划分和/或解码,其中,可以使用一个或更多个(通常不交叠的)图块组对图片进行划分或解码,并且每个图块组可以包括例如一个或更多个块(例如CTU)或一个或更多个图块,其中,每个图块例如可以是矩形形状并且可以包括一个或更多个块(例如CTU),例如完整块或部分块。

可以使用视频解码器30的其他变型对编码图片数据21进行解码。例如,解码器30可以在没有环路滤波单元320的情况下产生输出视频流。例如,基于非变换的解码器30可以在没有逆变换处理单元312的情况下针对某些块或帧直接对残差信号进行逆量化。在另一实现方式中,视频解码器30可以具有组合成单个单元的逆量化单元310和逆变换处理单元312。

应当理解的是,在编码器20和解码器30中,还可以对当前步骤的处理结果进行另外的处理并且然后输出至下一步骤。例如,在插值滤波、运动矢量推导或环路滤波之后,可以对插值滤波、运动矢量推导或环路滤波的处理结果执行另外的处理,例如限幅(clip)或移位。

应当注意的是,可以将另外的操作应用于所推导的当前块的运动矢量(包括但不限于仿射模式的控制点运动矢量,仿射模式、平面模式、ATMVA模式中的子块运动矢量,时间运动矢量等)。例如,将运动矢量的值根据其表示位(representing bit)约束在预定义范围内。如果运动矢量的表示位是bitDepth,则所述范围为-2^(bitDepth-1)~2^(bitDepth-1)-1,其中,“^”意指取幂。例如,如果bitDepth被设置为等于16,则所述范围为-32768~32767;如果bitDepth被设置为等于18,则所述范围为-131072~131071。例如,对所推导的运动矢量(例如,一个8×8块内的四个4×4子块的MV)的值进行约束,使得四个4×4子块MV的整数部分之间的最大差不大于N个像素,例如不超过1个像素。此处提供根据bitDepth来约束运动矢量的两种方法。

方法1:通过以下运算去除溢出的MSB(最高有效位)

ux=(mvx+2bitDepth)%2bitDepth (1)

mvx=(ux>=2bitDepth-1)?(ux-2bitDepth):ux (2)

uy=(mvy+2bitDepth)%2bitDepth (3)

mvy=(uy>=2bitDepth-1)?(uy-2bitDepth):uy (4)

其中,mvx是图像块或子块的运动矢量的水平分量,mvy是图像块或子块的运动矢量的垂直分量,并且ux和uy指示中间值。

例如,如果mvx的值为-32769,则在应用式(1)和式(2)之后,得到的值为32767。在计算机系统中,以二进制补码形式存储十进制数。-32769的二进制补码为1,0111,1111,1111,1111(17位),然后丢弃MSβ,因此得到的二进制补码为0111,1111,1111,1111(十进制数为32767),这与应用式(1)和式(2)的输出相同。

ux=(mvpx+mvdx+2bitDepth)%2bitDepth (5)

mvx=(ux>=2bitDepth-1)?(ux-2bitDepth):ux (6)

uy=(mvpy+mvdy+2bitDepth)%2bitDepth (7)

mvy=(uy>=2bitDepth-1)?(uy-2bitDepth):uy (8)

如式(5)至式(8)所示,可以在对mvp和mvd求和期间应用这些运算。

方法2:通过对值进行限幅来去除溢出的MSB

Vx=Clip3(-2bitDepth-1,2bitDepth-1-1,vx)

vy=Clip3(-2bitDepth-1,2bitDepth-1-1,vy)

其中,vx是图像块或子块的运动矢量的水平分量,vy是图像块或子块的运动矢量的垂直分量;x、y和z分别对应MV限幅处理的三个输入值,并且函数Clip3的定义如下:

图4是根据本公开内容的实施方式的视频译码装置400的示意图。视频译码装置400适于实现所公开的如本文描述的实施方式。在实施方式中,视频译码装置400可以是解码器例如图1A的视频解码器30或者编码器例如图1A的视频编码器20。

视频译码装置400包括:用于接收数据的入口端口410(或输入端口410)和接收器单元(receiver unit,Rx)420;用于处理数据的处理器、逻辑单元或中央处理单元(centralprocessing unit,CPU)430;用于发送数据的发送器单元(transmitter unit,Tx)440和出口端口450(或输出端口450);以及用于存储数据的存储器460。视频译码装置400还可以包括耦接至入口端口410、接收器单元420、发送器单元440和出口端口450以用于光信号或电信号的出入的光到电(optical-to-electrical,OE)部件和电到光(electrical-to-optical,EO)部件。

处理器430由硬件和软件实现。处理器430可以被实现为一个或更多个CPU芯片、核(例如,作为多核处理器)、FPGA、ASIC和DSP。处理器430与入口端口410、接收器单元420、发送器单元440、出口端口450和存储器460通信。处理器430包括译码模块470。译码模块470实现上述公开的实施方式。例如,译码模块470实施、处理、准备或提供各种译码操作。包括译码模块470因此提供了对视频译码装置400的功能的实质性改进并且实现了视频译码装置400到不同状态的转变。可替选地,译码模块470被实现为存储在存储器460中并且由处理器430执行的指令。

存储器460可以包括一个或更多个磁盘、磁带驱动器和固态驱动器并且可以用作溢出数据存储装置,以在这样的程序被选择执行时存储这些程序,并且存储在程序执行期间读取的指令和数据。存储器460可以是例如易失性和/或非易失性的并且可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、三元内容可寻址存储器(ternary content-addressable memory,TCAM)和/或静态随机存取存储器(static random-access memory,SRAM)。

图5是根据示例性实施方式的可以用作图1的源装置12和目的地装置14中的一者或两者的设备500的简化框图。

设备500中的处理器502可以是中央处理单元。可替选地,处理器502可以是能够操作或处理现在存在的或以后开发的信息的任何其他类型的一个或多个装置。尽管所公开的实现方式可以用如图所示的单个处理器例如处理器502来实践,但是可以使用多于一个的处理器来实现速度和效率方面的优势。

在一个实现方式中,设备500中的存储器504可以是只读存储器(read-onlymemory,ROM)装置或随机存取存储器(random access memory,RAM)装置。可以使用任何其他合适类型的存储装置作为存储器504。存储器504可以包括由处理器502使用总线512访问的代码和数据506。存储器504还可以包括操作系统508和应用程序510,应用程序510包括至少一个允许处理器502执行本文描述的方法的程序。例如,应用程序510可以包括应用1到应用N,所述应用1到应用N还包括执行本文描述的方法的视频译码应用。

设备500还可以包括一个或更多个输出装置,例如显示器518。在一个示例中,显示器518可以是将显示器与可操作以感测触摸输入的触敏元件组合的触敏显示器。显示器518可以经由总线512与处理器502耦接。

尽管此处被描绘为单个总线,但是设备500的总线512可以由多个总线组成。此外,辅助存储装置514可以直接耦接至设备500的其他部件或者可以经由网络被访问,并且可以包括单个集成单元(例如存储卡)或多个单元(例如多个存储卡)。因此可以以多种配置来实现设备500。

可以使用重构亮度块的样本来执行色度样本的帧内预测。

在HEVC开发期间,[J.Kim,S.-W.Park,J.-Y.Park和B.-M.Jeon,Intra ChromaPrediction Using Inter Channel Correlation,文献JCTVC-B021,2010年7月]提出了分量间线性模型(Cross-component Linear Model,CCLM)色度帧内预测。CCLM使用译码块中对应位置处的色度样本与亮度样本之间的线性相关性。当使用CCLM对色度块进行译码时,通过线性回归根据重构的相邻亮度和色度样本推导线性模型。然后可以利用所推导的线性模型通过当前块中的重构亮度样本对当前块中的色度样本进行预测(如图6所示):

C(x,y)=α×L(x,y)+β,

其中,C和L分别指示色度值和亮度值。参数α和β通过最小二乘法推导如下:

β=M(C)-α×M(L),

其中,M(A)表示A的平均值,并且R(A,B)定义如下:

R(A,B)=M((A-M(A))×(B-M(B))。

如果经编码或解码的图片具有针对亮度分量和色度分量指定不同数量的样本的格式(例如4:2:0YCbCr格式),则在建模和预测之前对亮度样本进行下采样。

该方法已经被采用用于VTM2.0。具体地,如下进行参数推导:

其中,L(n)表示经下采样的顶部和左侧相邻的重构亮度样本,C(n)表示顶部和左侧相邻的重构色度样本。

在[G.Laroche,J.Taquet,C.Gisquet,P.Onno(Canon),“CE3:Cross-componentlinear model simplification(Test 5.1)”,中国澳门第12届JVET会议输入文件,2018年10月]中提出了推导α和β的方法(参见图7)。具体地,根据下式获得线性模型参数α和β:

β=L(A)-αC(A),其中

其中,B=argmax(L(n))和A=argmin(L(n))是亮度样本中最大值和最小值的位置。

图8示出了在使用YCbCr 4:4:4色度格式的情况下在CCLM模式中涉及的当前块的左侧和上方的因果样本(causal sample)以及当前块的样本的位置。

为了执行分量间预测,对于4:2:0色度格式,需要对重构的亮度块进行下采样以与色度信号或色度样本或色度块的大小匹配。CCLM模式下使用的默认下采样滤波器如下:

Rec′L[x,y]=(2×RecL[2x,2y]+2×RecL[2x,2y+1]+RecL[2x-1,2y]+RecL[2x+1,2y]+RecL[2x-1,2y+1]+RecL[2x+1,2y+1]+4)>>3

请注意,该下采样假设色度样本的位置相对于亮度样本的位置的相位关系为“类型0”,即水平并置采样和垂直间隙采样。图9中示出的上述6抽头下采样滤波器用作单模型CCLM模式和多模型CCLM模式两者的默认滤波器。图9中呈现了6抽头下采样滤波器所使用的样本的空间位置。样本901、902和903的权重分别为2、1和0。

如果亮度样本位于块边界上且相邻顶部块和左侧块不可用,则使用以下公式:

在y=0的行是CTU的第一行,x=0并且左侧和顶部相邻块不可用的情况下,Rec′L[x,y]=RecL[2x,2y];

在y=0的行是CTU的第一行并且顶部相邻块不可用的情况下,Rec′L[x,y]=(2×RecL[2x,2y]+RecL[2x-1,2y]+RecL[2x+1,2y]+2)>>2;

在x=0并且左侧和顶部相邻块不可用的情况下,Rec′L[x,y]=(RecL[2x,2y]+RecL[2x,2y+1]+1)>>1。

图10A和图10B示出了在4:2:0采样方案的情况下的色度分量位置。当然,这同样适用于其他采样方案。

已知,在考虑4:2:0采样方案中的亮度分量和色度分量的采样时,在亮度分量网格与色度分量网格之间可能存在偏移。在2x2像素块中,色度分量与亮度分量相比实际上垂直偏移半个像素(图10A中示出)。在根据4:4:4进行下采样或者在进行上采样时,这样的偏移可能会对插值滤波器产生影响。在图10B中,呈现了在隔行扫描图像(interlaced image)的情况下的各种采样图案。这意味着还要考虑奇偶性,即像素是在隔行扫描图像的顶场(topfield)还是底场(bottom field)上。

如在[P.Hanhart,Y.He,“CE3:Modified CCLM downsampling filter for“type-2”content(Test 2.4)”,摩洛哥马拉喀什第13届JVET会议输入文件JVET-M0142,2019年1月]中提出并且被包括在VVC规范草案(版本4)中的,为了避免对于“类型-2”内容的CCLM中的色度样本与经下采样的亮度样本之间失准,将以下下采样滤波器应用于亮度以用于线性模型确定和预测:

3抽头:RecL′(i,j)=[RecL(2i-1,2j)+2·recL(2i,2j)+RecL(2i+1,2j)+2]>>2

RecL′(i,j)=[RecL(2i,2j-1)+RecL(2i-1,2j)+4·RecL(2i,2j)

5抽头:+RecL(2i+1,2j)+RecL(2i,2j+1)+4]>>3

为避免增加行缓冲器的数量,不会在顶部CTU边界处应用这些修改。下采样滤波器的选择由SPS标志sps_cclm_colocated_chroma_flag控制。当sps_cclm_colocated_chroma_flag的值为0或假时,下采样滤波器被应用于亮度以用于线性模型确定和预测;当sps_cclm_colocated_chroma_flag的值为1或真时,下采样滤波器不会被应用于亮度以用于线性模型确定和预测。

用于推导如上所述的线性模型参数的边界亮度重构样本L()是从经滤波的亮度样本Rec′L[x,y]中子采样的。

表1.VVC规范中描述的色度格式

chroma_format_idc separate_colour_plane_flag 色度格式 SubWidthC SubHeightC
0 0 单色 1 1
1 0 4:2:0 2 2
2 0 4:2:2 2 1
3 0 4:4:4 1 1
3 1 4:4:4 1 1

VVC规范草案5(JVET-N1001-v5)的8.4.4.2.8中描述了亮度样本滤波和子采样的过程。

在本发明的一些实施方式中,提出在下采样之前去除滤波以减轻最坏情况(即小块)的延迟和复杂度问题。提出基于分区数据(即块大小)和分区树的类型(单独树/双树或单树)有条件地禁用滤波操作。

由CCLM模式引起的计算复杂度和延迟将被降低。

在一个实施方式中,如图11所示,该方法描述如下。

块1101用于基于被译码的图片的色度格式来确定或获得或获取SubWidthC(即图像块的宽度)和SubHeightC(即图像块的高度)的值。

块1102用于针对值SubWidthC和SubHeightC定义或确定滤波器“F”。

表2至表5中示出了可以如何将滤波器与SubWidthC和SubHeightC的对应值相关联的示例性实施方式。空间滤波器“F”以系数矩阵的形式定义。如下相对于经滤波的亮度样本的位置(x,y)定义应用这些系数的对应位置:

当输出的经滤波的重构样本的位置位于块边界上时,一些相邻位置可能变得不可用。在这种情况下,修改输入样本的位置以选择与输出样本相同的位置。这种采样修改可以被实现为具有不同系数的较小维度的等效滤波器。

具体地,在输出样本的位置位于当前色度块的左边界上并且与并置的亮度块左侧相邻的样本不可用的情况下,滤波的位置被定义如下:

在输出样本的位置位于当前色度块的顶边界上并且与并置的亮度块顶侧相邻的样本不可用的情况下,滤波的位置被定义如下:

在输出样本的位置位于当前块的右边界上的情况下,滤波的位置被定义如下:

在输出样本的位置位于当前块的底边界上的情况下,滤波的位置被定义如下:

表2.空间滤波器与SubWidthC和SubHeightC的值的关联

表3.空间滤波器与SubWidthC和SubHeightC的值的关联

表4.空间滤波器与SubWidthC和SubHeightC的值的关联

表5.空间滤波器与SubWidthC和SubHeightC的值的关联

块1103用于对重构亮度样本执行滤波以获得经滤波的亮度样本值Rec′L[x,y]。在示例中,这是通过将所选择的滤波器“F”应用于重构样本RecL[x,y]来执行的:

其中,F表示滤波器,N是滤波器F的系数的总和,(x,y)表示重构样本的位置。

附加实施方式是根据经子采样的色度样本相对于亮度样本的位置在滤波器类型(即表2至表5中定义的滤波器关联)之间进行切换。作为示例,在经子采样的色度样本不与对应的亮度样本并置的情况下(这可以通过比特流中的标志用信号通知),使用表4。在其他情况下,针对当前块使用表2或表3。

可以基于当前块中的亮度样本的数量执行是使用表2还是使用表3。例如,对于包括64个或少于64个样本的块,当不执行色度子采样时,不应用色度滤波(在这种情况下,使用表2)。当块包括比64个样本多得多的样本时,使用表3来定义滤波器“F”。值64仅是示例,可以应用其他阈值。

在另一实施方式中,根据表6至表10所示的色度格式和色度类型来选择滤波器F。色度类型指定色度分量的位移并且在图10中示出。在表6至表10中,“YUV 4:2:0”列中指定的滤波器被用在现有技术VVC草案中。列“YUV 4:2:2”和“YUV 4:4:4”定义了如下滤波器:所述滤波器在定义了对应的色度格式的情况下代替在列“YUV 4:2:0”中定义的那些滤波器。

表6.空间滤波器F与色度格式和色度类型的值的关联

表7.空间滤波器F与色度格式和色度类型的值的关联

表8.空间滤波器F与色度格式和色度类型的值的关联

表9.空间滤波器F与色度格式和色度类型的值的关联

表10.空间滤波器F与色度格式和色度类型的值的关联

滤波器可以通过不同的方式实现,包括滤波器旁路操作(即通过将输出值设置为输入值)。可替选地,其可以使用类似的加法和移位运算来实现,即:

根据建议的更改,所提出的方法可以被实现为规范文本:

3.经下采样的并置亮度样本pDsY[x][y](其中x=0..nTbW-1,y=0..nTbH-1)被推导如下:

-如果sps_cclm_colocated_chroma_flag等于1,则以下适用:

-pDsY[x][y](其中x=1..nTbW-1,y=1..nTbH-1)被推导如下:

pDsY[x][y]=(F[1][0]*pY[SubWidthC*x][SubHeightC*y-1]++F[0][1]*pY[SubWidthC*x-1][SubHeightC*y]++F[1][1]*pY[SubWidthC*x][SubHeightC*y]++F[2][1]*pY[SubWidthC*x+1][SubHeightC*y]++F[1][2]*pY[SubWidthC*x][SubHeightC*y+1]+4)>>3

-如果availL等于TRUE(真),则pDsY[0][y](其中y=1..nTbH-1)被推导如下:

pDsY[0][y]=(F[1][0]*pY[0][SubHeightC*y-1]++F[0][1]*pY[-1][SubHeightC*y]++F[1][1]*pY[0][SubHeightC*y]++2)>>2

-否则,pDsY[0][y](其中y=1..nTbH-1)被推导如下:

pDsY[0][y]=(2*F[1][0]*pY[0][SubHeightC*y-1]++F[1][1]*pY[0][SubHeightC*y]++2)>>2

-如果availT等于TRUE,则pDsY[x][0](其中x=1..nTbW-1)被推导如下:

pDsY[x][0]=(F[1][0]*pY[SubWidthC*x][-1]++F[0][1]*pY[SubWidthC*x-1][0]++F[1][1]*pY[SubWidthC*x][0]++F[2][1]*pY[SubWidthC*x+1][0]++F[1][2]*pY[SubWidthC*x][1]+4)>>3

-否则,pDsY[x][0](其中x=1..nTbW-1)被推导如下:

pDsY[x][0]=(F[1][0]*pY[SubWidthC*x][-1]++F[0][1]*pY[SubWidthC*x-1][0]++F[1][1]*pY[SubWidthC*x][0]++F[2][1]*pY[SubWidthC*x+1][0]++F[1][2]*pY[SubWidthC*x][1]+4)>>3

-如果availL等于TRUE且availT等于TRUE,则pDsY[0][0]被推导如下:

pDsY[0][0]=(F[1][0]*pY[0][-1]++F[0][1]*pY[-1][0]++F[1][1]*pY[0][0]++F[2][1]*pY[1][0]++F[1][2]*pY[0][1]+4)>>3

-否则,如果availL等于TRUE且availT等于FALSE(假),则pDsY[0][0]被推导如下:

pDsY[0][0]=(F[0][1]*pY[-1][0]++F[1][1]*pY[0][0]++F[2][1]*pY[1][0]++2)>>2

-否则,如果availL等于FALSE且availT等于TRUE,则pDsY[0][0]被推导如下:

pDsY[0][0]=(pY[0][-1]+2*pY[0][0]+pY[0][1]+2)>>2 (8-169)

-否则(availL等于FALSE且availT等于FALSE),则pDsY[0][0]被推导如下:

pDsY[0][0]=pY[0][0] (8-170)

-否则,以下适用:

-pDsY[x][y](其中x=1..nTbW-1,y=0..nTbH-1)被推导如下:

pDsY[x][y]=(F[0][1]*pY[SubWidthC*x-1][SubHeightC*y]++F[0][2]*pY[SubWidthC*x-1][SubHeightC*y+1]++F[1][1]*pY[SubWidthC*x][SubHeightC*y]++F[1][2]*pY[SubWidthC*x][SubHeightC*y+1]++F[2][1]*pY[SubWidthC*x+1][SubHeightC*y]++F[2][2]*pY[SubWidthC*x+1][SubHeightC*y+1]+4)>>3

-如果availL等于TRUE,则pDsY[0][y](其中y=0..nTbH-1)被推导如下:

pDsY[0][y]=(F[0][1]*pY[-1][SubHeightC*y]++F[0][2]*pY[-1][SubHeightC*y+1]++F[1][1]*pY[0][SubHeightC*y]++F[1][2]*pY[0][SubHeightC*y+1]++F[2][1]*pY[1][SubHeightC*y]++F[2][2]*pY[1][SubHeightC*y+1]+4)>>3

-否则,则pDsY[0][y](其中y=0..nTbH-1)被推导如下:

pDsY[0][y]=(F[1][1]*pY[0][SubHeightC*y]++F[1][2]*pY[0][SubHeightC*y+1]+1)>>1

以上描述中提到的滤波器F[i][j]是根据本发明的实施方式指定的。

另一示例性实施方式可以以VVC规范草案的一部分的形式被描述如下:

8.4.4.2.8INTRA_LT_CCLM、INTRA_L_CCLM和INTRA_T_CCLM帧内预测模式的规范

这个处理的输入为:

-帧内预测模式predModeIntra,

-当前变换块的左上(top-left)样本相对于当前图片的左上样本的样本位置(xTbC,yTbC),

-指定变换块宽度的变量nTbW,

-指定变换块高度的变量nTbH,

-色度相邻样本p[x][y],其中x=-1,y=0..2*nTbH-1以及x=0..2*nTbW-1,y=-1。

这个处理的输出是预测样本predSamples[x][y],其中x=0..nTbW-1,y=0..nTbH-1。

当前亮度位置(xTbY,yTbY)被推导如下:

(xTbY,yTbY)=(xTbC<<(SubWidthC-1),yTbC<<(SubHeightC-1))(8-156)

变量availL、变量availT和变量availTL被推导如下:

-以被设置为等于(xTbC,yTbC)的当前色度位置(xCurr,yCurr)和相邻色度位置(xTbC-1,yTbC)作为输入启用针对块的左相邻样本推导过程的可用性,并且将输出赋值给availL。

-以被设置为等于(xTbC,yTbC)的当前色度位置(xCurr,yCurr)和相邻色度位置(xTbC,yTbC-1)作为输入启用针对块的顶部相邻样本推导过程的可用性,并且将输出赋值给availT。

-以被设置为等于(xTbC,yTbC)的当前色度位置(xCurr,yCurr)和相邻色度位置(xTbC-1,yTbC-1)作为输入启用针对块的左上相邻样本推导过程的可用性,并且将输出赋值给availTL。

-可用的右上相邻色度样本的数量numTopRight被推导如下:

-将变量numTopRight设置为等于0,并且将availTR设置为等于TRUE。

-在predModeIntra等于INTRA_T_CCLM的情况下,针对x=nTbW..2*nTbW-1直至availTR等于FALSE或x等于2*nTbW-1,以下适用:

-以被设置为等于(xTbC,yTbC)的当前色度位置(xCurr,yCurr)和相邻色度位置(xTbC+x,yTbC-1)作为输入启用针对块的推导过程的可用性,并且将输出赋值给availableTR,

-当availableTR等于TRUE时,使numTopRight递增1。

-可用的左下相邻色度样本的数量numLeftBelow被推导如下:

-将变量numLeftBelow设置为等于0,并且将availLB设置为等于TRUE。

-在predModeIntra等于INTRA_L_CCLM的情况下,针对y=nTbH..2*nTbH-1直至availLB等于FALSE或y等于2*nTbH-1,以下适用:

-以被设置为等于(xTbC,yTbC)的当前色度位置(xCurr,yCurr)和相邻色度位置(xTbC-1,yTbC+y)作为输入启用针对块的推导过程的可用性,并且将输出赋值给availableLB,

-当availableLB等于TRUE时,使numLeftBelow递增1。

顶部和右上侧可用相邻色度样本的数量numTopSamp以及左侧和左下侧可用相邻色度样本的数量nLefiSamp被推导如下:

-如果predModeIntra等于INTRA_LT_CCLM,则以下适用:

numSampT=availT?nTbW:0

numSampL=availL?nTbH:0

-否则,以下适用:

numSampT=(availT&&predModeIntra==INTRA_T_CCLM)?(nTbW+numTopRight):0

numSampL=(availL&&predModeIntra==INTRA_L_CCLM)?(nTbH+numLeftBelow):0

变量bCTUboundary被推导如下:

bCTUboundary=(yTbC&(1<<(CtbLog2SizeY-1)-1)==0)?TRUE:FALSE。

预测样本predSamples[x][y](其中x=0..nTbW-1,y=0..nTbH-1)被推导如下:

-如果numSampL和numSampT两者均等于0,则以下适用:

predSamples[x][y]=1<<(BitDepthC-1)

-否则,以下有序步骤适用:

1.在位置(xTbY+x,yTbY+y)处进行去块滤波处理之前,将并置亮度样本pY[x][y](其中x=0..nTbW*SubWidthC-1,y=0..nTbH*SubHeightC-1)设置为等于重构亮度样本。

2.相邻亮度样本pY[x][y]被推导如下:

-在numSampL大于0的情况下,在位置(xTbY+x,yTbY+y)处进行去块滤波处理之前,将相邻左亮度样本pY[x][y](其中x=-1..-3,y=0..SubHeightC*numSampL-1)设置为等于重构的亮度样本。

-在numSampT大于0的情况下,在位置(xTbY+x,yTbY+y)处进行去块滤波处理之前,将相邻顶亮度样本pY[x][y](其中x=0..SubWidthC*numSampT-1,y=-1,-2)设置为等于重构的亮度样本。

-在availTL等于TRUE的情况下,在位置(xTbY+x,yTbY+y)处进行去块滤波处理之前,将相邻左上亮度样本pY[x][y](其中x=-1,y=-1,-2)设置为等于重构的亮度样本。

3.经下采样的并置亮度样本pDsY[x][y](其中x=0..nTbW-1,y=0..nTbH-1)被推导如下:

-如果SubWidthC==l且SubHeightC==l,则以下适用:

-pDsY[x][y](其中x=1..nTbW-1,y=1..nTbH-1)被推导如下:

pDstY[x][y]=pY[x][y]//仅用于说明:对于YUV 4:4:4没有滤波器//

-否则,针对滤波器的集合{F3,F5,F6},以下适用。//此处定义系数//

F3[0]=1,F3[1]=2,F3[2]=1

-如果SubWidthC==2且SubHeightC==2

F5[0][1]=1,F5[1][1]=4,F3[2][1]=1,F5[1][0]=1,F5[1][2]=1

F6[0][1]=1,F6[1][1]=2,F6[2][1]=1,

F6[0][2]=1,F6[1][2]=2,F6[2][2]=1,

F2[0]=1,F2[1]=1

-否则

F5[0][1]=0,F5[1][1]=8,F3[2][1]=0,F5[1][0]=0,F5[1][2]=0

F6[0][1]=2,F6[1][1]=4,F6[2][1]=2,

F6[0][2]=0,F6[1][2]=0,F6[2][2]=0,

F2[0]=2,F2[1]=0

//参见本发明的粗体部分//

-如果sps_cclm_colocated_chroma_flag等于1,则以下适用:

-针对F被设置为F5,pDsY[x][y](其中x=1..nTbW-1,y=1..nTbH-1)被推导如下:

//此处仅用于说明:应用所确定的滤波器以及“F”滤波器的所有其他存在(occurrence)//

-如果availL等于TRUE,则针对F被设置为F5,pDsY[0][y](其中y=1..nTbH

-1)被推导如下:

pDsY[0][y]=(F[1][0]*pY[0][SubHeightC*y-1]++F[0][1]*pY[-1][SubHeightC*y]++F[1][1]*pY[0][SubHeightC*y]++F[2][1]*pY[1][SubHeightC*y]++F[1][2]*pY[0][SubHeightC*y+1]+4)>>3

-否则,针对F被设置为F3,pDsY[0][y](其中y=1..nTbH-1)被推导如下:

pDsY[0][y]=(F[0]*pY[0][SubHeightC*y-1]++F[1]*pY[0][SubHeightC*y]++F[2]*pY[0][SubHeightC*y+1]++2)>>2

-如果availT等于TRUE,则针对F被设置为F5,pDsY[x][0](其中x=1..nTbW-1)被推导如下:

pDsY[x][0]=(F[1][0]*pY[SubWidthC*x][-1]++F[0][1]*pY[SubWidthC*x-1][0]++F[1][1]*pY[SubWidthC*x][0]++F[2][1]*pY[SubWidthC*x+1][0]++F[1][2]*pY[SubWidthC*x][1]+4)>>3

-否则,针对F被设置为F3,pDsY[x][0](其中x=1..nTbW-1)被推导如下:

pDsY[x][0]==(F[0]*pY[SubWidthC*x-1][0]++F[1]*pY[SubWidthC*x][0]++F[2]*pY[SubWidthC*x+1][0]+2)>>2

-如果availL等于TRUE且availT等于TRUE,则针对F被设置为F5,pDsY[0][0]

被推导如下:

pDsY[0][0]=(F[1][0]*pY[0][-1]++F[0][1]*pY[-1][0]++F[1][1]*pY[0][0]++F[2][1]*pY[1][0]++F[1][2]*pY[0][1]+4)>>3

-否则,如果availL等于TRUE且availT等于FALSE,针对F被设置为F3,pDsY[0][0]被推导如下:

pDsY[0][0]=(F[0]*pY[-1][0]++F[1]*pY[0][0]++F[2]*pY[1][0]++2)>>2

-否则,如果availL等于FALSE且availT等于TRUE,则针对F被设置为F3,pDsY[0][0]被推导如下:

pDsY[0][0]=(F[0]*pY[0][-1]++F[1]*pY[0][0]++F[2]*pY[0][1]++2)>>2

-否则(availL等于FALSE且availT等于FALSE),pDsY[0][0]被推导如下:

pDsY[0][0]=pY[0][0]

-否则,以下适用:

-针对F被设置为F6,pDsY[x][y](其中x=1..nTbW-1,y=0..nTbH-1)被推导如下:

pDsY[x][y]=(F[0][1]*pY[SubWidthC*x-1][SubHeightC*y]++F[0][2]*pY[SubWidthC*x-1][SubHeightC*y+1]++F[1][1]*pY[SubWidthC*x][SubHeightC*y]++F[1][2]*pY[SubWidthC*x][SubHeightC*y+1]++F[2][1]*pY[SubWidthC*x+1][SubHeightC*y]++F[2][2]*pY[SubWidthC*x+1][SubHeightC*y+1]+4)>>3

-如果availL等于TRUE,则针对F被设置为F6,pDsY[0][y](其中y=0..nTbH

-1)被推导如下:

pDsY[0][y]=(F[0][1]*pY[-1][SubHeightC*y]++F[0][2]*pY[-1][SubHeightC*y+1]++F[1][1]*pY[0][SubHeightC*y]++F[1][2]*pY[0][SubHeightC*y+1]++F[2][1]*pY[1][SubHeightC*y]++F[2][2]*pY[1][SubHeightC*y+1]+4)>>3

-否则,针对F被设置为F2,pDsY[0][y](其中y=0..nTbH-1)被推导如下:

pDsY[0][y]=(F[0]*pY[0][SubHeightC*y]++F[1]*pY[0][SubHeightC*y+1]+1)>>1

4.当numSampL大于0时,经下采样的相邻左亮度样本pLeftDsY[y](其中y=0..numSampL-1)被推导如下:

-如果SubWidthC==1且SubHeightC==1,则以下适用:

-pLeftDsY[y](其中y=0..nTbH-1)被推导如下:pLeftDsY[y]=pY[-1][y]

-否则,以下适用:

-如果sps_cclm_colocated_chroma_flag等于1,则以下适用:

-针对F被设置为F5,pLeftDsY[y](其中y=1..nTbH-1)被推导如下,:

pLeftDsY[y]==F[1][0]*pY[-SubWidthC][SubHeightC*y-1]++F[0][1]*pY[-1-SubWidLhC][SubHeightC*y]++F[1][1]*pY[-SubWidthC][SubHeightC*y]++F[2][1]*pY[1-SubWidthC][SubHeightC*y]++F[1][2]*pY[-SubWidthC][SubHeightC*y+1]+4)>>3

-如果availTL等于TRUE,则针对F被设置为F5,pLeftDsY[0]被推导如下:

pLeftDsY[0]==F[1][0]*pY[-SubWidthC][-1]++F[0][1]*pY[-1-SubWidthC][0]++F[1][1]*pY[-SubWidthC][0]++F[2][1]*pY[1-SubWidthC][0]++F[1][2]*pY[-SubWidthC][1]+4)>>3

-否则,针对F被设置为F3,pDsY[x][0](其中,x=1..nTbW-1)被推导如下:

pLeftDsY[0]=(F[0]*pY[-1-SubWidthC][0]++F[1]*pY[-SubWidthC][0]++F[2]*pY[1-SubWidthC][0]++2)>>2

-否则,针对F被设置为F6,以下适用:

pLeftDsY[y]==(F[0][1]*pY[-1-SubWidthC][SubHeightC*y]++F[0][2]*pY[-1-SubWidthC][SubHeightC*y+1]++F[1][1]*pY[-SubWidthC][SubHeightC*y]++F[1][2]*pY[-SubWidthC][SubHeightC*y+1]++F[2][1]*pY[1-SubWidthC][SubHeightC*y]++F[2][2]*pY[1-SubWidthC][SubHeightC*y+1]+4)>>3

5.当numSampT大于0时,经下采样的相邻顶亮度样本pTopDsY[x](其中x=0..numSampT-1)被指定如下:

-如果SubWidthC==1且SubHeightC==1,则以下适用:

-pTopDsY[x]=pY[x][-l]针对x=0..numSampT-1

-否则,以下适用:

-如果sps_cclm_colocated_chroma_flag等于1,则以下适用:

-pTopDsY[x](其中x=1..numSampT-1)被推导如下:

-如果bCTUboundary等于FALSE,则针对F被设置为F5,以下适用:

pTopDsY[x]==(F[1][0]*pY[SubWidthC*x][-1-SubHeightC]++F[0][1]*pY[SubWidthC*x-1][-SubHeightC]++F[1][1]*pY[SubWidthC*x][-SubHeightC]++F[2][1]*pY[SubWidthC*x+1][-SubHeightC]++F[1][2]*pY[SubWidthC*x][1-SubHeightC]+4)>>3

-否则(bCTUboundary等于TRUE),则针对F被设置为F3,以下适用:

pTopDsY[x]==(F[0]*pY[SubWidthC*x-1][-1]++F[1]*pY[SubWidthC*x][-1]++F[2]*pY[SubWidthC*x+1][-1]++2)>>2

-pTopDsY[0]被推导如下:

-如果availTL等于TRUE且bCTUboundary等于FALSE,则针对F被设置为F5,以下适用:

pTopDsY[0]==F[1][0]*pY[-1][-1-SubHeightC]++F[0][1]*pY[-1][-SubHeightC]++F[1][1]*pY[0][-SubHeightC]++F[2][1]*pY[1][-SubHeightC]+++F[1][2]pY[-1][1-SubHeightC]++4)>>3

-否则,如果availTL等于TRUE并且bCTUboundary等于TRUE,则针对F被设置为F3,以下适用:

pTopDsY[0]==(F[0]*pY[-1][-1]++F[1]*pY[0][-1]++F[2]*pY[1][-1]++2)>>2

-否则,如果availTL等于FLASE并且bCTUboundary等于FALSE,则针对F被设置为F3,以下适用:

pTopDsY[0]==(F[0]*pY[0][-1]++F[1]*pY[0][-2]++F[2]*pY[0][-1]++2)>>2

-否则(availTL等于FALSE且bCTUboundary等于TRUE),以下适用:pTopDsY[0]=pY[0][-1]

-否则,以下适用:

-pTopDsY[x](其中x=T.numSampT-1)被推导如下:

-如果bCTUboundary等于FALSE,则针对F被设置为F6,以下适用:

pTopDsY[x]=

=(F[0][1]*pY[SubWidthC*x-1][-2]++F[0][2]*pY[SubWidthC*x-1][-1]++F[1][1]*pY[SubWidthC*x][-2]++F[1][2]*pY[SubWidthC*x][-1]++F[2][1]*pY[SubWidthC*x+1][-2]++F[2][2]*pY[SubWidthC*x+1][-1]+4)>>3

-否则(bCTUboundary等于TRUE),则针对F被设置为F3,以下适用:

pTopDsY[x]==(F[0]*pY[SubWidLhC*y-1][-1]++F[1]*pY[SubWidthC*y][-1]++F[2]*pY[SubWidthC*y+1][-1]++2)>>2

-pTopDsY[0]被推导如下:

-如果availTL等于TRUE且bCTUboundary等于FALSE,则针对F被设置

为F6,以下适用:

pTopDsY[0]==(F[0][1]*pY[-1][-2]++F[0][2]*pY[-1][-1]++F[1][1]*pY[0][-2]++F[1][2]*pY[0][-1]++F[2][1]*pY[1][-2]++F[2][2]*pY[1][-1]+4)>>3

-否则,如果availTL等于TRUE且bCTUboundary等于TRUE,则针对F被设置为F3,以下适用:

pTopDsY[0]==(F[0]*pY[-1][-1]++F[1]*pY[0][-1]++F[2]*pY[1][-1]++2)>>2

-否则,如果availTL等于FALSE且bCTUboundary等于FALSE,则针对F被设置为F2,以下适用:

pTopDsY[0]=(F[1]*pY[0][-2]+F[0]*pY[0][-1]+1)>>1

-否则(availTL等于FALSE且bCTUboundary等于TRUE),以下适用:

pTopDsY[0]=pY[0][-1]

6.变量nS、变量xS、变量yS被推导如下:

-如果predModeIntra等于INTRA_LT_CCLM,则以下适用:

nS=((availL&&availT)?Min(nTbW,nTbH):(availL?nTbH:nTbW))

xS=1<<(((nTbW>nTbH)&&availL&&availT)?(Log2(nTbW)-Log2(nTbH)):0)(8-192)

yS=1<<(((nTbH>nTbW)&&availL&&availT)?(Log2(nTbH)-Log2(nTbW)):0)(8-193)

-否则,如果predModeIntra等于INTRA_L_CCLM,则以下适用:

nS=numSampL

xS=1

yS=1

-否则(predModeIntra等于INTRA_T_CCLM),以下适用:

nS=numSampT

xS=1

yS=1

7.变量minY、变量maxY、变量minC和变量maxC被推导如下:

-将变量minY设置为等于1<<(BitDepthY)+1,并且将变量maxY设置为等于-1。

-如果availT等于TRUE,则变量minY、变量maxY、变量minC和变量maxC

(其中x=0..nS-1)被推导如下:

-如果minY大于pTopDsY[x*xS],则以下适用:

minY=pTopDsY[x*xS]

minC=p[x*xS][-1]

-如果maxY小于pTopDsY[x*xS],则以下适用:

maxY=pTopDsY[x*xS]

maxC=p[x*xS][-1]

-如果availL等于TRUE,则变量minY、变量maxY、变量minC和变量maxC(其中y=0..nS-1)被推导如下:

-如果minY大于pLeftDsY[y*yS],则以下适用:

minY=pLeftDsY[y*yS]

minC=p[-1][y*yS]

-如果maxY小于pLeftDsY[y*yS],则以下适用:

maxY=pLeftDsY[y*yS]

maxC=p[-1][y*yS]

8.变量a、变量b和变量k被推导如下:

-如果numSampL等于0,并且numSampT等于0,则以下适用:

k=0

a=0

b=1<<(BitDepthC-1)

-否则,以下适用:

diff=maxY-minY

-如果diff不等于0,则以下适用:

diffC=maxC-minC

x=Floor(Log2(dfff))

normDiff=((diff<<4)>>x)&15

x+=(normDiff!=0)?1:0

y=Floor(Log2(Abs(diffC)))+1

a=(diffC*(divSigTable[normDiff]|8)+2y-1)>>y

k=((3+x-y)<1)?1:3+x-y

a=((3+x-y)<1)?Sign(a)*15:a

b=minC-((a*minY)>>k)

其中,divSigTable[]被指定如下:

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

-否则(diff等于0),以下适用:

k=0

a=0

b=minC

9.预测样本predSamples[x][y](其中x=0..nTbW-1,y=0..nTbH-1)被推导如下:

predSamples[x][y]=Clip1C(((pDsY[x][y]*a)>>k)+b)

另一实施方式描述了使用至多四个相邻色度样本及其对应的经下采样的亮度样本推导CCLM参数的方法。

假设当前色度块尺寸为WxH,则W’和H’被设置为:

·W’=W,H’=H,在应用LM模式的情况下;

·W’=W+H,在应用LM-A模式的情况下;

·H’=H+W,在应用LM-L模式的情况下;

上相邻位置被表示为S[0,-1]...S[W’-1,-1],并且左相邻位置被表示为S[-1,0]...S[-1,H’-1]。然后所述四个样本被选择如下:

·S[W’/4,-1],S[3W’/4,-1],S[-1,H’/4],S[-1,3H’/4],在应用LM模式并且上相邻样本和左相邻样本两者均可用的情况下;

·S[W’/8,-1],S[3W’/8,-1],S[5W’/8,-1],S[7W’/8,-1],在应用LM-A模式或仅上相邻样本可用的情况下;

·S[-1,H’/8],S[-1,3H’/8],S[-1,5H’/8],S[-1,7H’/8],在应用LM-L模式或仅左相邻样本可用的情况下。

对所选择的位置的四个相邻亮度样本进行下采样并且进行四次比较以找到两个较小的值x0 A和x1 A以及两个较大的值x0 B和x1 B。它们对应的色度样本值被表示为y0 A、y1 A、y0 B和y1 B。然后xA、xB、yA和yB被推导如下:

xA=(x0 A+x1 A+1)>>1;xB=(x0 B+x1 B+1)>>1;yA=(y0 A+y1 A+1)>>1;yB=(y0 B+y1 B+1)>>1

以VVC规范草案的一部分的形式进行的描述如下:

8.4.4.2 8INTRA_LT_CCLM、INTRA_L_CCLM和INTRA_T_CCLM帧内预测模式的规范

这个处理的输入为:

-帧内预测模式predModeIntra,

-当前变换块的左上样本相对于当前图片的左上样本的样本位置(xTbC,yTbC),-指定变换块宽度的变量nTbW,

-指定变换块高度的变量nTbH,

-色度相邻样本p[x][y],其中x=-1,y=0..2*nTbH-1以及x=0..2*nTbW-1,y=-1。

这个处理的输出是预测样本predSamples[x][y],其中x=0..nTbW-1,y=0..nTbH-1。

当前亮度位置(xTbY,yTbY)被推导如下:

(xTbY,yTbY)=(xTbC<<(SubWidthC-1),yTbC<<(SubHeightC-1))

变量availL、变量availT和变量availTL被推导如下:

-以被设置为等于(xTbC,yTbC)的当前色度位置(xCurr,yCurr)和相邻色度位置(xTbC-1,yTbC)作为输入启用针对块的左相邻样本推导过程的可用性,并且将输出赋值给availL。

-以被设置为等于(xTbC,yTbC)的当前色度位置(xCurr,yCurr)和相邻色度位置(xTbC,yTbC-1)作为输入启用针对块的顶相邻样本推导过程的可用性,并且将输出赋值给availT。

-以被设置为等于(xTbC,yTbC)的当前色度位置(xCurr,yCurr)和相邻色度位置(xTbC-1,yTbC-1)作为输入启用针对块的左上相邻样本推导过程的可用性,并且将输出赋值给availTL。

-可用的右上相邻色度样本的数量numTopRight被推导如下:

-将变量numTopRight设置为等于0,并且将availTR设置为等于TRUE。

-在predModeIntra等于INTRA_T_CCLM的情况下,针对x=nTbW..2*nTbW-1直至availTR等于FALSE或x等于2*nTbW-1,以下适用:

-以被设置为等于(xTbC,yTbC)的当前色度位置(xCurr,yCurr)和相邻色度位置(xTbC+x,yTbC-1)作为输入启用针对块的推导过程的可用性,并且将输出赋值给availableTR

-当availableTR等于TRUE时,使numTopRight递增1。

-可用的左下相邻色度样本的数量numLeftBelow被推导如下:

-将变量numLeftBelow设置为等于0,并且将availLB设置为等于TRUE。

-在predModeIntra等于INTRA_L_CCLM的情况下,针对y=nTbH..2*nTbH-1直至availLB等于FALSE或y等于2*nTbH-1,以下适用:

-以被设置为等于(xTbC,yTbC)的当前色度位置(xCurr,yCurr)和相邻色度位置(xTbC-1,yTbC+y)作为输入启用块的推导过程的可用性,并且将输出赋值给availableLB,

-当availableLB等于TRUE时,使numLeftBelow递增1。

顶部和右上侧的可用相邻色度样本的数量numTopSamp以及左侧和左下侧的可用相邻色度样本的数量nLeftSamp被推导如下:

-如果predModeIntra等于INTRA_LT_CCLM,则以下适用:

numSampT=availT?nTbW:0

numSampL=availL?nTbH:0

-否则,以下适用:

numSampT=(avalT&&predModeIntra==INTRA_T_CCLM)?

(nTbW+Min(numTopRight,nTbH)):0

numSampL=(availL&&predModeIntra==INTRA_L_CCLM)?

(nTbH+Min(numLeftBelow,nTbW)):0

变量bCTUboundary被推导如下:

bCTUboundary=(yTbC&(1<<(CtbLog2SizeY-1)-1)==0)?TRUE:FALSE变量cntN和数组pickPosN[](其中,N被L和T代替)被推导如下:

-将变量numIs4N设置为等于((availT&&availL&&predModeIntra==INTRA_LT_CCLM)?0:1)。

-将变量startPosN设置为等于numSampN>>(2+numIs4N)。

-将变量pickStepN设置为等于Max(1,numSampN>>(1+numIs4N))。

-如果availN等于TRUE并且predModeIntra等于INTRA_LT_CCLM或INTRA_N_CCLM,则将cntN设置为等于Min(numSampN,(1+numIs4N)<<1),并且将pickPosN[pos]设置为等于(startPosN+pos*pickStepN),其中,pos=0..(cntN-1)。

-否则,将cntN设置为等于0。

预测样本predSamples[x][y](其中x=0..nTbW-1,y=0..nTbH-1)被推导如下:

-如果numSampL和numSampT两者均等于0,则以下适用:

predSamples[x][y]=1<<(BitDepthC-1)

-否则,以下有序步骤适用:

1.在位置(xTbY+x,yTbY+y)处进行去块滤波处理之前,将并置亮度样本pY[x][y](其中x=0..nTbW*SubWidthC-1,y=0..nTbH*SubHeightC-1)设置为等于重构的亮度样本。

2.相邻亮度样本pY[x][y]被推导如下:

-在numSampL大于0的情况下,在位置(xTbY+x,yTbY+y)处进行去块滤波处理之前,将相邻左亮度样本pY[x][y](其中x=-1..-3,y=0..SubHeightC*numSampL-1)设置为等于重构的亮度样本。

-在numSampT大于0的情况下,在位置(xTbY+x,yTbY+y)处进行去块滤波处理之前,将相邻项亮度样本pY[x][y](其中x=0..SubWidthC*numSampT-1,y=-1,-2)设置为等于重构的亮度样本。

-在availTL等于TRUE的情况下,在位置(xTbY+x,yTbY+y)处进行去块滤波处理之前,将相邻左上亮度样本pY[x][y](其中x=-1,y=-1,-2)设置为等于重构的亮度样本。

3.经下采样的并置亮度样本pDsY[x][y](其中x=0..nTbW-1,y=0..nTbH-1)被推导如下:

-如果SubWidthC==l且SubHeightC==1,则以下适用:

-pDsY[x][y](其中x=1..nTbW-1,y=1..nTbH-1)被推导如下:

pDstY[x][y]=pY[x][y]

-否则,针对滤波器的集合{F3,F5,F6},以下适用。

F3[0]=1,F3[1]=2,F3[2]=1

-如果SubWidthC==2且SubHeightC==2

F5[0][1]=1,F5[1][1]=4,F3[2][1]=1,F5[1][0]=1,F5[1][2]=1

F6[0][1]=1,F6[1][1]=2,F6[2][1]=1,

F6[0][2]=1,F6[1][2]=2,F6[2][2]=1,

F2[0]=1,F2[1]=1

-否则

F5[0][1]=0,F5[1][1]=8,F3[2][1]=0,F5[1][0]=0,F5[1][2]=0

F6[0][1]=2,F6[1][1]=4,F6[2][1]=2,

F6[0][2]=0,F6[1][2]=0,F6[2][2]=0,

F2[0]=2,F2[1]=0

-如果sps_cclm_colocated_chroma_flag等于1,则以下适用:

-针对F被设置为F5,pDsY[x][y](其中x=1..nTbW-1,y=1..nTbH-1)被推导如下:

pDsY[x][y]=

(F[1][0]*pY[SubWidthC*x][SubHeightC*y-1]++F[0][1]*pY[SubWidthC*x-1][SubHeightC*y]++F[1][1]*pY[SubWidthC*x][SubHeightC*y]++F[2][1]*pY[SubWidthC*x+1][SubHeightC*y]++F[1][2]*pY[SubWidthC*x][SubHeightC*y+1]+4)>>3

-如果availL等于TRUE,则针对F被设置为F5,pDsY[0][y](其中y=1..nTbH-1)被推导如下:

pDsY[0][y]=(F[1][0]*pY[0][SubHeightC*y-1]++F[0][1]*pY[-1][SubHeightC*y]++F[1][1]*pY[0][SubHeightC*y]++F[2][1]*pY[1][SubHeightC*y]++F[1][2]*pY[0][SubHeightC*y+1]+4)>>3

-否则,针对F被设置为F3,pDsY[0][y](其中y=1..nTbH-1)被推导如下:

pDsY[0][y]=(F[0]*pY[0][SubHeightC*y-1]++F[1]*pY[0][SubHeighhtC*y]++F[2]*pY[0][SubHeightC*y+1]++2)>>2

-如果availT等于TRUE,则针对F被设置为F5,pDsY[x][0](其中x=1..nTbW

-1)被推导如下:

pDsY[x][0]=(F[1][0]*pY[SubWidthC*x][-1]++F[0][1]*pY[SubWidthC*x-1][0]++F[1][1]*pY[SubWidthC*x][0]++F[2][1]*pY[SubWidthC*x+1][0]++F[1][2]*pY[SubWidthC*x][1]+4)>>3

-否则,针对F被设置为F3,pDsY[x][0](其中x=1..nTbW-1)被推导如下:

pDsY[x][0]==(F[0]*pY[SubWidthC*x-1][0]++F[1]*pY[SubWidthC*x][0]++F[2]*pY[SubWidthC*x+1][0]+2)>>2

-如果availL等于TRUE且availT等于TRUE,则针对F被设置为F5,pDsY[0][0]

被推导如下:

pDsY[0][0]=(F[1][0]*pY[0][-1]++F[0][1]*pY[-1][0]++F[1][1]*pY[0][0]++F[2][1]*pY[1][0]++F[1][2]*pY[0][1]+4)>>3

-否则,如果availL等于TRUE且availT等于FALSE,则针对F被设置为F3,pDsY[0][0]被推导如下:

pDsY[0][0]=(F[0]*pY[-1][0]++F[1]*pY[0][0]++F[2]*pY[1][0]++2)>>2

-否则,如果availL等于FALSE且availT等于TRUE,则针对F被设置为F3,pDsY[0][0]被推导如下:

pDsY[0][0]=(F[0]*pY[0][-1]++F[1]*pY[0][0]++F[2]*pY[0][1]++2)>>2

-否则(availL等于FALSE且availT等于FALSE),pDsY[0][0]被推导如下:

pDsY[0][0]=pY[0][0]

-否则,以下适用:

-针对F被设置为F6,pDsY[x][y](其中x=1..nTbW-1,y=0..nTbH-1)被推导如下:

pDsY[x][y]=(F[0][1]*pY[SubWidthC*x-1][SubHeightC*y]++F[0][2]*pY[SubWidthC*x-1][SubHeightC*y+1]++F[1][1]*pY[SubWidthC*x][SubHeightC*y]++F[1][2]*pY[SubWidthC*x][SubHeightC*y+1]++F[2][1]*pY[SubWidthC*x+1][SubHeightC*y]++F[2][2]*pY[SubWidthC*x+1][SubHeightC*y+1]+4)>>3

-如果availL等于TRUE,则针对F被设置为F6,pDsY[0][y](其中y=0..nTbH

-1)被推导如下:

pDsY[0][y]=(F[0][1]*pY[-1][SubHeightC*y]++F[0][2]*pY[-1][SubHeightC*y+1]++F[1][1]*pY[0][SubHeightC*y]++F[1][2]*pY[0][SubHeightC*y+1]++F[2][1]*pY[1][SubHeightC*y]++F[2][2]*pY[1][SubHeightC*y+1]+4)>>3

-否则,针对F被设置为F2,pDsY[0][y](其中y=1..nTbH-1)被推导如下:

pDsY[0][y]=(F[0]*pY[0][SubHeightC*y]++F[1]*pY[0][SubHeightC*y+1]+1)>>1

4.当numSampL大于0时,将所选择的相邻左色度样本pSelC[idx]设置为等于p[-1][pickPosL[idx]](其中idx=0..(cntL-1)),并且所选择的经下采样的相邻左亮度样本pSelDsY[idx](其中idx=0..(cntL-1))被推导如下:

-将变量y设置为等于pickPosL[idx]。

-如果SubWidthC==1且SubHeightC==1,则以下适用:

-pSelDsY[i]=pY[-1][y]

-否则,以下适用:

-如果sps_cclm_colocated_chroma_flag等于1,则以下适用:

-如果y>0||availTL==TRUE,则针对F被设置为F5:

pSelDsY[idx]==F[1][0]*pY[-SubWidthC][SubHeightC*y-1]++F[0][1]*pY[-1-SubWidthC][SubHeightC*y]++F[1][1]*pY[-SubWidthC][SubHeightC*y]++F[2][1]*pY[1-SubWidthC][SubHeightC*y]++F[1][2]*pY[-SubWidthC][SubHeightC*y+1]+4)>>3

-否则,针对F被设置为F3:

pSelDsY[idx]=(F[0]*pY[-1-SubWidthC][0]++F[1]*pY[-SubWidthC][0]++F[2]*pY[1-SubWidthC][0]++2)>>2

-否则,针对F被设置为F6:

pSelDsY[idx]==(F[0][1]*pY[-1-SubWidthC][SubHeightC*y]++F[0][2]*pY[-1-SubWidthC][SubHeightC*y+1]++F[1][1]*pY[-SubWidthC][SubHeightC*y]++F[1][2]*pY[-SubWidthC][SubHeightC*y+1]++F[2][1]*pY[1-SubWidthC][SubHeightC*y]++F[2][2]*pY[1-SubWidthC][SubHeightC*y+1]+4)>>3

5.当numSampT大于0时,将所选择的相邻顶色度样本pSelC[idx]设置为等于p[pickPosT[idx-cntL]][-1],其中idx=cntL..(cntL+cntT-1),并且经下采样的相邻顶亮度样本pSelDsY[idx](其中idx=cntL..cntL+cntT-1)被指定如下:

-将变量x设置为等于pickPosT[idx-cntL]。

-如果SubWidthC==1且SubHeightC==1,则以下适用:

-pSelDsY[idx]=pY[x][-1]

-否则,以下适用:

-如果sps_cclm_colocated_chroma_flag等于1,则以下适用:

-如果x>0:

-如果bCTUboundary等于FALSE,则针对F被设置为F5,以下适用:

pSelDsY[idx]==(F[1][0]*pY[SubWidthC*x][-1-SubHeightC]++F[0][1]*pY[SubWidthC*x-1][-SubHeightC]++F[1][1]*pY[SubWidthC*x][-SubHeightC]++F[2][1]*pY[SubWidthC*x+1][-SubHeightC]++F[1][2]*pY[SubWidthC*x][1-SubHeightC]+4)>>3

-否则(bCTUboundary等于TRUE),则针对F被设置为F3,以下适用:

pSelDsY[idx]==(F[0]*pY[SubWidthC*x-1][-1]++F[1]*pY[SubWidthC*x][-1]++F[2]*pY[SubWidthC*x+1][-1]++2)>>2

-否则:

-如果availTL等于TRUE且bCTUboundary等于FALSE,则针对F被设置为F5,以下适用:

pSelDsY[idx]==F[1][0]*pY[-1][-1-SubHeightC]++F[0][1]*pY[-1][-SubHeightC]++F[1][1]*pY[0][-SubHeightC]++F[2][1]*pY[1][-SubHeightC]++F[1][2]pY[-1][1-SubHeightC]+4)>>3

-否则,如果availTL等于TRUE且bCTUboundary等于TRUE,则针对F被设置为F3,以下适用:

pSelDsY[idx]==(F[0]*pY[-1][-1]++F[1]*pY[0][-1]+(8-182)+F[2]*pY[1][-1]++2)>>2

-否则,如果availTL等于FALSE且bCTUboundary等于FALSE,则针对F被设置为F3,以下适用:

pSelDsY[idx]==(F[0]*pY[0][-1]++F[1]*pY[0][-2]++F[2]*pY[0][-1]++2)>>2

-否则(availTL等于FALSE且bCTUboundary等于TRUE),以下适用:

pSelDsY[idx]=pY[0][-1]

-否则,以下适用:

-如果x>0:

-如果bCTUboundary等于FALSE,则针对F被设置为F6,以下适用:

pSelDsY[idx]==(F[0][1]*pY[SubWidthC*x-1][-2]++F[0][2]*pY[SubWidthC*x-1][-1]++F[1][1]*pY[SubWidthC*x][-2]++F[1][2]*pY[SubWidthC*x][-1]++F[2][1]*pY[SubWidthC*x+1][-2]++F[2][2]*pY[SubWidthC*x+1][-1]+4)>>3

-否则(bCTUboundary等于TRUE),则针对F被设置为F3,以下适用:

pSelDsY[idx]==(F[0]*pY[SubWidthC*y-1][-1]++F[1]*pY[SubWidthC*y][-1]++F[2]*pY[SubWidthC*y+1][-1]++2)>>2

-否则:

-如果availTL等于TRUE且bCTUboundary等于FALSE,则针对F被设置为F6,以下适用:

pSelDsY[idx]==(F[0][1]*pY[-1][-2]++F[0][2]*pY[-1][-1]++F[1][1]*pY[0][-2]++F[1][2]*pY[0][-1]++F[2][1]*pY[1][-2]++F[2][2]*pY[1][-1]+4)>>3

-否则,如果availTL等于TRUE且bCTUboundary等于TRUE,则针对F被设置为F3,以下适用:

pSelDsY[idx]==(F[0]*pY[-1][-1]++F[1]*pY[0][-1]++F[2]*pY[1][-1]++2)>>2

-否则,如果availTL等于FALSE且bCTUboundary等于FALSE,则针对F

被设置为F2,以下适用:

pSelDsY[idx]=(F[1]*pY[0][-2]+F[0]*pY[0][-1]+1)>>1

-否则(availTL等于FALSE且bCTUboundary等于TRUE),则以下适用:

pSelDsY[idx]=pY[0][-1]。

6.当cntT+cntL不等于0时,变量minY、变量maxY、变量minC和变量maxC被推导如下:

-当cntT+cntL等于2时,设置pSelComp[3]等于pSelComp[0],pSelComp[2]等于pSelComp[1],pSelComp[0]等于pSelComp[1],以及pSelComp[1]等于pSelComp[3],其中Comp被DsY和C代替。

-将数组minGrpIdx[]和maxGrpIdx[]设置为:minGrpIdx[0]=0,minGrpIdx[1]=2,maxGrpIdx[0]=1,maxGrpIdx[1]=3。

-如果pSelDsY[minGrpIdx[0]]>pSelDsY[minGrpIdx[1]],则Swap(minGrpIdx[0],minGrpIdx[1])。

-如果pSelDsY[maxGrpIdx[0]]>pSelDsY[maxGrpIdx[1]],则Swap(maxGrpIdx[0],maxGrpIdx[1])。

-如果pSelDsY[minGrpIdx[0]]>pSelDsY[maxGrpIdx[1]],则Swap(minGrpIdx,maxGrpIdx)。

-如果pSelDsY[minGrpIdx[1]]>pSelDsY[maxGrpIdx[0]],则Swap(minGrpIdx[1],maxGrpIdx[0])。

-maxY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]]+1)>>1。

-maxC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]]+1)>>1。

-minY=(pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]]+1)>>1。

-minC=(pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]]+1)>>1。

7.变量a、变量b和变量k被推导如下:

-如果numSampL等于0,并且numSampT等于0,则以下适用:

k=0

a=0

b=1<<(BitDepthC-1)

-否则,以下适用:

diff=maxY-minY

-如果diff不等于0,则以下适用:

diffC=maxC-minC

x=Floor(Log2(diff))

normDiff=((diff<<4)>>x)&15

x+=(normDiff!=0)?1:0

y=Floor(Log2(Abs(diffC)))+1

a=(diffC*(divSigTable[normDfff]|8)+2y-1)>>y

k=((3+x-y)<1)?1:3+x-y

a=((3+x-y)<1)?Sign(a)*15:a

b=minC-((a*minY)>>k)

其中,divSigTable[]被指定如下:

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

-否则(diff等于0),以下适用:

k=0

a=0

b=minC

8.预测样本predSamples[x][y](其中x=0..nTbW-1,y=0..nTbH-1)被推导如下:

predSamples[x][y]=Clip1C(((pDsY[x][y]*a)>>k)+b)

本发明的一些实施方式提出考虑预测块的大小以便在缩减用于推导线性模型参数(即“a”和“b”的值)的模板之前确定被应用于模板样本的滤波器。注意,可以确定具有系数[1]的旁路滤波器,其有效地对应于不对输入样本(例如,亮度块的模板参考样本)应用滤波。

具体地,步骤4和步骤5可以被修改为通过将色度块内的样本的数量与阈值(例如,等于32)进行比较来考虑块大小依赖性,如下所示:

当numSampL大于0时,将所选择的相邻左色度样本pSelC[idx]设置为等于p[-1][pickPosL[idx]],其中idx=0..(cntL-1),并且所选择的经下采样的相邻左亮度样本pSelDsY[idx](其中idx=0..(cntL-1))被推导如下:

-将变量y设置成等于pickPosL[idx]。

-在nTbW*nTbH大于32时,将变量doFilter设置为等于真

-如果SubWidthC==1且SubHeightC==1,则以下适用:

-pSelDsY[i]=pY[-1][y]

-否则,以下适用:

-如果sps_cclm_colocated_chroma_flag等于1,则以下适用:

-如果y>0||availTL==TRUE,则针对F被设置为F5:

pSelDsY[idx]=(!doFilter)?pY[-SubWidthC][SubHeightC*y]:F[1][0]*pY[-SubWidthC][SubHeightC*y-1]++F[0][1]*pY[-1-SubWidthC][SubHeightC*y]++F[1][1]*pY[-SubWidthC][SubHeightC*y]++F[2][1]*pY[1-SubWidthC][SubHeightC*y]++F[1][2]*pY[-SubWidthC][SubHeightC*y+1]+4)>>3

否则,针对F被设置为F3:

pSelDsY[idx]=(!doFilter)?pY[-SubWidthC][0]:(F[0]*pY[-1-SubWidthC][0]++F[1]*pY[-SubWidthC][0]++F[2]*pY[1-SubWidthC][0]++2)>>2

-否则,针对F被设置为F6,以下适用:

pSelDsY[idx]=(!doFilter)?pY[-SubWidthC][SubHeightC*y]:(F[0][1]*pY[-1-SubWidthC][SubHeightC*y]++F[0][2]*pY[-1-SubWidthC][SubHeightC*y+1]++F[1][1]*pY[-SubWidthC][SubHeightC*y]++F[1][2]*pY[-SubWidthC][SubHeightC*y+1]++F[2][1]*pY[1-SubWidthC][SubHeightC*y]++F[2][2]*pY[1-SubWidthC][SubHeightC*y+1]+4)>>3

4.当numSampT大于0时,将所选择的相邻顶色度样本pSelC[idx]设置为等于p[pickPosT[idx-cntL]][-1],其中idx=cntL.(cntL+cntT-1),并且经下采样的相邻顶亮度样本pSelDsY[idx](其中idx=cntL.cntL+cntT-1)被指定如下:

-将变量x设置成等于pickPosL[idx-cntL]。

-在nTbW*nTbH大于32时,将变量doFilter设置为等于真,

-如果SubWidthC==1且SubHeightC==1,则以下适用:

-pSelDsY[idx]=pY[x][-1]

-否则,以下适用:

-如果sps_cclm_colocated_chroma_flag等于1,则以下适用:

-如果x>0:

-如果bCTUboundary等于FALSE,则针对F被设置为F5,以下适用:

pSelDsY[idx]=(!doFilter)?pY[SubWidthC*x][-SubHeightC]:(F[1][0]*pY[SubWidthC*x][1-SubHeightC]++F[0][1]*pY[SubWidthC*x-1][-SubHeightC]++F[1][1]*pY[SubWidthC*x][-SubHeightC]++F[2][1]*pY[SubWidthC*x+1][-SubHeightC]++F[1][2]*pY[SubWidthC*x][1-SubHeightC]+4)>>3

-否则(bCTUboundary等于TRUE),则针对F被设置为F3,以下适用:

pSelDsY[idx]=(!doFilter)?pY[SubWidthC*x][-1]:(F[0]*pY[SubWidthC*x-1][-1]++F[1]*pY[SubWidthC*x][-1]++F[2]*pY[SubWidthC*x+1][-1]++2)>>2

-否则:

-如果availTL等于TRUE且bCTUboundary等于FALSE,则针对F被设置为F5,以下适用:

pSelDsY[idx]=(!doFilter)?pY[0][-SubHeightC]:F[1][0]*pY[-1][-1-SubHeightC]++F[0][1]*pY[-1][-SubHeightC]++F[1][1]*pY[0][-SubHeightC]++F[2][1]*pY[1][-SubHeightC]++F[1][2]pY[-1][1-SubHeightC]+4)>>3

-否则,如果availTL等于TRUE且bCTUboundary等于TRUE,则针对F被设置为F3,以下适用:

pSelDsY[idx]=(!doFilter)?pY[0][-1]:(F[0]*pY[-1][-1]++F[1]*pY[0][-1]+(8-182)+F[2]*pY[1][-1]++2)>>2

-否则,如果availTL等于FALSE且bCTUboundary等于FALSE,则针对F被设置为F3,以下适用:

pSelDsY[idx]=(!doFilter)?pY[0][-2]:(F[0]*pY[0][-1]++F[1]*pY[0][-2]++F[2]*pY[0][-1]++2)>>2

-否则(availTL等于FALSE且bCTUboundary等于TRUE),以下适用:

pSelDsY[idx]=pY[0][-1]

-否则,以下适用:

-如果x>0:

-如果bCTUboundary等于FALSE,则针对F被设置为F6,以下适用:

pSelDsY[idx]=(!doFilter)?pY[SubWidthC*x][-2]:(F[0][1]*pY[SubWidthC*x-1][-2]++F[0][2]*pY[SubWidthC*x-1][-1]++F[1][1]*pY[SubWidthC*x][-2]++F[1][2]*pY[SubWidthC*x][-1]++F[2][1]*pY[SubWidthC*x+1][-2]++F[2][2]*pY[SubWidthC*x+1][-1]+4)>>3

-否则(bCTUboundary等于TRUE),则针对F被设置为F3,以下适用:

pSelDsY[idx]=(!doFilter)?pY[SubWidthC*y][-1]:(F[0]*pY[SubWidthC*y-1][-1]++F[1]*pY[SubWidthC*y][-1]++F[2]*pY[SubWidthC*y+1][-1]++2)>>2

-否则:

-如果availTL等于TRUE并且bCTUboundary等于FALSE,则针对F被设置为F6,以下适用:

pSelDsY[idx]=(!doFilter)?pY[0][-2]:(F[0][1]*pY[-1][-2]++F[0][2]*pY[-1][-1]++F[1][1]*pY[0][-2]++F[1][2]*pY[0][-1]++F[2][1]*pY[1][-2]++F[2][2]*pY[1][-1]+4)>>3

-否则,如果availTL等于TRUE并且bCTUboundary等于TRUE,则针对F被设置为F3,以下适用:

pSelDsY[idx]=(!doFilter)?pY[0][-1]:(F[0]*pY[-1][-1]++F[1]*pY[0][-1]++F[2]*pY[1][-1]++2)>>2

-否则,如果availTL等于FALSE且bCTUboundary等于FALSE,则针对F被设置为F2,以下适用:

pSelDsY[idx]=(!doFilter)?pY[0][-2]:

(F[1]*PY[0][-2]+F[0]*PY[0][-1]+1)>>1

-否则(availTL等于FALSE且bCTUboundary等于TRUE),则以下适用:

pSelDsY[idx]=pY[0][-1]。

在ITU-T H.265中,使用单树译码,即译码的图片的亮度分量的空间分区与色度分量的分区一致。具体地,除了在YUV 4:2:0色度格式的情况下具有4个并置的4x4亮度块的4x4色度块之外,每个色度块(色度分量的样本块)具有并置的亮度块(亮度分量的样本块)。在单树编码的情况下,将译码图片到块的划分用信号通知一次,并且针对亮度和并置色度块(具有对最小色度块大小的约束)两者作出是否将块分割成更小的块的分割决策。

针对VVC译码已经提出了针对色度分量进行双树译码。特别地,可以针对亮度分量和色度分量不同地定义对亮度分量和色度分量的分区。

在附加实施方式中,仅针对双树译码的情况,才可以执行基于块大小的关于是否进行滤波的确定(上述变量“doFilter”的推导)。因此,公开了对对应比特流标志的检查或者对单树编码或双树译码决策的隐式推导,例如检查译码切片是否为帧内类型。

特别地,可以将以下条件进行公式化:

-在满足以下两个条件的情况下,将变量doFilter设置为等于真:

-nTbW*nTbH大于32

-treeType为DUAL_TREE_CHROMA

在该示例中,变量treeType指定是使用单树还是双树。如果使用双树,则变量treeType指定当前树对应于亮度分量还是色度分量。

在另一实施方式中,可以简化步骤6以去除加法运算(即递增1)。具体地,可以使用以下等式:

-maxY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]])>>1。

-maxC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]])>>1。

-minY=(pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]])>>1。

-minC=(pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]])>>1。

在推导线性参数时,可以通过取样本的平均值来使用参数“b”的更精确估计而不是使用最小值。示例性实施方式可以被表示为以下线性参数推导步骤的版本:

7.变量a、变量b、变量k被推导如下:

-如果numSampL等于0,并且numSampT等于0,则以下适用:

k=0

a=0

b=1<<(BitDepthC-1)

-否则,以下适用:

diff=maxY-minY

-如果diff不等于0,则以下适用:

diffC=maxC-minC

x=Floor(Log2(diff))

normDiff=((diff<<4)>>x)&15

x+=(normDiff!=0)?1:0

y=Floor(Log2(Abs(diffC)))+1

a=(diffC*(divSigTable[normDiff]|8)+2y-1)>>y

k=((3+x-y)<1)?1:3+x-y

a=((3+x-y)<1)?Sign(a)*15:a

dcC=(minC+maxC+1)>>1

dcY=(minY+maxY+1)>>1

b=dcC-((a*dcY)>>k)

其中,divSigTable[]被指定如下:

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

-否则(diff等于0),以下适用:

k=0

a=0

b=minC

在上述步骤7的描述中,也可以在不进行舍入的情况下计算平均值:

dcC=(minC+maxC)>>1

dcY=(minY+maxY)>>1,

其中,dcY和dcC是亮度模板和色度模板的平均(DC)值的估计值。

可以以滤波器选择的形式执行模板滤波的修改,其中以滤波操作不修改样本值的方式指定滤波器系数。

在下面给出的说明书的部分中,使用了以下术语:

-predSamples是预测信号的样本;

-numSampL、numsampT是可用的相邻重构样本的数量;

-nTbW、nTbH是特定变换块的宽度和高度;

-BitDepthc是预测的颜色分量的位深度

-pY是亮度分量的重构样本。

-availL和availT分别是指示重构样本是否可用于左侧和顶侧的标志

-SubWidthC和subHeightC分别是色度格式在水平和垂直方向上的子采样因子-sps_cclm_colocated_chroma_flag是指示色度样本是否与亮度样本并置或者色度样本是否与经子采样的亮度位置相对应的标志

-treeType是指示色度分量是否与亮度分量共享分区结构的变量。

-bCTUboundary是在块位于最大译码单元(largest coding unit,LCU)左侧或顶侧时值为1的标志

具体地,规范的以下部分可以表示特定实施方式(规范的开头和结尾用符号……表示):

……

预测样本predSamples[x][y](其中x=0..nTbW-1,y=0..nTbH-1)被推导如下:

-如果numSampL和numSampT两者均等于0,则以下适用:

predSamples[x][y]=1<<(BitDepthC-1)

-否则,以下有序步骤适用:

1.在位置(xTbY+x,yTbY+y)处进行去块滤波处理之前,将并置亮度样本pY[x][y](其中x=0..nTbW*SubWidthC-1,y=0..nTbH*SubHeightC-1)设置为等于重构的亮度样本。

2.相邻亮度样本pY[x][y]被推导如下:

-在numSampL大于0的情况下,在位置(xTbY+x,yTbY+y)处进行去块滤波处理之前,将相邻左亮度样本pY[x][y](其中x=-1..-3,y=0..SubHeightC*numSampL-1)设置为等于重构的亮度样本。

-在numSampT大于0的情况下,在位置(xTbY+x,yTbY+y)处进行去块滤波处理之前,将相邻项亮度样本pY[x][y](其中x=0..SubWidthC*numSampT-1,y=-1,-2)设置为等于重构的亮度样本。

-当availTL等于TRUE的情况下,在位置(xTbY+x,yTbY+y)处进行去块滤波处理之前,将相邻左上亮度样本pY[x][y](其中x=-1,y=-1,-2)设置为等于重构的亮度样本。

3.经下采样的并置亮度样本pDsY[x][y](其中x=0..nTbW-1,y=0..nTbH-1)被推导如下:

-如果SubWidthC和SubHeightC两者均等于1,则以下适用:

-pDsY[x][y](其中x=1..nTbW-1,y=1..nTbH-1)被推导如下:

pDstY[x][y]=pY[x][y]

-否则,以下适用:

-一维滤波器系数数组F1和F2以及二维滤波器系数数组F3和F4被指定如下。

F1[i]=0其中i=0..2

F2[0]=1,F2[1]=2,F2[2]=1

F3[i][j]=F4[i][j]=0,其中i=0..2,j=0..2

■如果SubWidthC和SubHeightC两者均等于2,则以下适用:

F1[0]=1,F1[1]=1

F3[0][1]=1,F3[1][1]=4,F2[2][1]=1,F3[1][0]=1,F3[1][2]=1

F4[0][1]=1,F4[1][1]=2,F4[2][1]=1

F4[0][2]=1,F4[1][2]=2,F4[2][2]=1

■否则,以下适用:

F1[0]=2,F1[1]=0

F3[1][1]=8

F4[0][1]=2,F4[1][1]=4,F4[2][1]=2,

-如果sps_cclm_colocated_chroma_flag等于1,则以下适用:

■pDsY[x][y](其中x=1..nTbW-1,y=1..nTbH-1)被推导如下:

pDsY[x][y]=(F3[1][0]*pY[SubWidthC*x][SubHeightC*y-1]+F3[0][1]*pY[SubWidthC*x-1][SubHeightC*y]+F3[1][1]*pY[subWidthC*x][SubHeightC*y]+F3[2][1]*pY[SubWidthC*x+1][SubHeightC*y]+F3[1][2]*pY[SubWidthC*x][SubHeightC*y+1]+4)>>3

■如果availL等于TRUE,则pDsY[0][y](其中y=1..nTbH-1)被推导如下:

pDsY[0][y]=(F3[1][0]*pY[0][SubHeightC*y-1]+F3[0][1]*pY[-1][SubHeightC*y]+F3[1][1]*pY[0][SubHeightC*y]+F3[2][1]*pY[1][SubHeightC*y]+F3[1][2]*pY[0][SubHeightC*y+1]+4)>>3

■否则(availL等于FALSE),pDsY[0][y](其中y=1..nTbH-1)被推导如下:

pDsY[0][y]=(F2[0]*pY[0][SubHeightC*y-1]+F2[1]*pY[0][SubHeightC*y]+F2[2]*pY[0][SubHeightC*y+1]+2)>>2

■如果availT等于TRUE,则pDsY[x][0](其中x=1..nTbW-1)被推导如下:

pDsY[x][0]=(F3[1][0]*pY[SubWidthC*x][-1]+F3[0][1]*pY[SubWidthC*x-1][0]+F3[1][1]*pY[SubWidthC*x][0]+F3[2][1]*pY[SubWidthC*x+1][0]+F3[1][2]*pY[SubWidthC*x][1]+4)>>3

■否则(availT等于FALSE),pDsY[x][0](其中x=1..nTbW-1)被推导如下:

pDsY[x][0]=(F2[0]*pY[SubWidthC*x-1][0]+F2[1]*pY[SubWidthC*x][0]+F2[2]*pY[SubWidthC*x+1][0]+2)>>2

■如果availL等于TRUE且availT等于TRUE,则pDsY[0][0]被推导如下:

pDsY[0][0]=(F3[1][0]*pY[0][-1]+F3[0][1]*pY[-1][0]+F3[1][1]*pY[0][0]+F3[2][1]*pY[1][0]+F3[1][2]*pY[0][1]+4)>>3

■否则,如果availL等于TRUE且availT等于FALSE,则pDsY[0][0]被推导如下:

pDsY[0][0]=(F2[0]*pY[-1][0]+F2[1]*pY[0][0]+F2[2]*pY[1][0]+2)>>2

■否则,如果availL等于FALSE且availT等于TRUE,则pDsY[0][0]被推导如下:

pDsY[0][0]=(F2[0]*pY[0][-1]+F2[1]*pY[0][0]+F2[2]*pY[0][1]+2)>>2

■否则(availL等于FALSE且availT等于FALSE),则pDsY[0][0]被推导如下:

pDsY[0][0]=pY[0][0]

-否则(sps_cclm_colocated_chroma_flag等于0),以下适用:

■pDsY[x][y](其中x=1..nTbW-1,y=0..nTbH-1)被推导如下:

pDsY[x][y]=(F4[0][1]*pY[SubWidthC*x-1][SubHeightC*y]+F4[0][2]*pY[SubWidthC*x-1][SubHeightC*y+1]+F4[1][1]*pY[SubWidthC*x][SubHeightC*y]+F4[1][2]*pY[SubWidthC*x][SubHeightC*y+1]+F4[2][1]*pY[SubWidthC*x+1][SubHeightC*y]+

F4[2][2]*pY[SubWidthC*x+1][SubHeightC*y+1]+4)>>3

■如果availL等于TRUE,则pDsY[0][y](其中y=0..nTbH-1)被推导如下:

pDsY[0][y]=(F4[0][1]*pY[-1][SubHeightC*y]+F4[0][2]*pY[-1][SubHeightC*y+1]+F4[1][1]*pY[0][SubHeightC*y]+F4[1][2]*pY[0][SubHeightC*y+1]+F4[2][1]*pY[1][SubHeightC*y]+F4[2][2]*pY[1][SubHeightC*y+1]+4)>>3

■否则(availL等于FALSE),pDsY[0][y](其中y=0..nTbH-1)被推导如下:

pDsY[0][y]=(F1[0]*pY[0][SubHeightC*y]+F1[1]*pY[0][SubHeightC*y+1]+1)>>1

4.在(nTbW*nTbH<=32且treeType!=SINGLE_TREE)的情况下,以下适用:

F1[0]=2,F1[1]=0;

F2[0]=0,F2[1]=4,F2[2]=0;

F3[i][j]=F4[i][j]=0,其中i=0..2,j=0..2;并且

F3[1][1]=F4[1][1]=8

5.当numSampL大于0时,将所选择的相邻左色度样本pSelC[idx]设置为等于p[-1][pickPosL[idx]](其中idx=0..cntL-1),并且所选择的经下采样的相邻左亮度样本pSelDsY[idx](其中idx=0..cntL-1)被推导如下:

-将变量y设置为等于pickPosL[idx]。

-如果SubWidthC和SubHeightC两者均等于1,则以下适用:

pSelDsY[idx]=pY[-1][y]

-否则,以下适用:

-如果sps_cclm_colocated_chroma_flag等于1,则以下适用:

■如果y大于0或availTL等于TRUE,则pSelDsY[idx]被推导如下:

pSelDsY[idx]=(F3[1][0]*pY[-SubWidthC][SubHeightC*y-1]+F3[0][1]*pY[-1-SubWidthC][SubHeightC*y]+F3[1][1]*pY[-SubWidthC][SubHeightC*y]+F3[2][1]*pY[1-SubWidthC][SubHeightC*y]+F3[1][2]*pY[-SubWidthC][SubHeightC*y+1]+4)>>3

■否则(y等于0),pSelDsY[idx]被推导如下:

pSelDsY[idx]=(F2[0]*pY[-1-SubWidthC][0]+F2[1]*pY[-SubWidthC][0]+F2[2]*pY[1-SubWidthC][0]+2)>>2

-否则(sps_cclm_colocated_chroma_flag等于0),以下适用:

pSelDsY[idx]=(F4[0][1]*pY[-1-SubWidthC][SubHeightC*y]+F4[0][2]*pY[-1-SubWidthC][SubHeightC*y+1]+F4[1][1]*pY[-SubWidthC][SubHeightC*y]+F4[1][2]*pY[-SubWidthC][SubHeightC*y+1]+F4[2][1]*pY[1-SubWidthC][SubHeightC*y]+F4[2][2]*pY[1-SubWidthC][SubHeightC*y+1]+4)>>3

6.当numSampT大于0时,将所选择的相邻顶色度样本pSelC[idx]设置为等于p[pickPosT[idx-cntL]][-1](其中idx=cntL..cntL+cntT-1),并且经下采样的相邻顶亮度样本pSelDsY[idx](其中idx=0..cntL+cntT-1)被指定如下:

-将变量x设置为等于pickPosT[idx-cntL]。

-如果SubWidthC和SubHeightC两者均等于1,则以下适用:

pSelDsY[idx]=pY[x][-1]

-否则,以下适用:

-如果sps_cclm_colocated_chroma_flag等于1,则以下适用:

■如果x大于0,则以下适用:

◆如果bCTUboundary等于FALSE,则以下适用:

pSelDsY[idx]=(F3[1][0]*pY[SubWidthC*x][-1-SubHeightC]+F3[0][1]*pY[SubWidthC*x-1][-SubHeightC]+F3[1][1]*pY[SubWidthC*x][-SubHeightC]+F3[2][1]*pY[SubWidthC*x+1][-SubHeightC]+F3[1][2]*pY[SubWidthC*x][1-SubHeightC]+4)>>3

◆否则(bCTUboundary等于TRUE),则以下适用:

pSelDsY[idx]=(F2[0]*pY[SubWidthC*x-1][-1]+F2[1]*pY[SubWidthC*x][-1]+F2[2]*pY[SubWidthC*x+1][-1]+2)>>2

■否则(x等于0),以下适用:

◆如果availTL等于TRUE且bCTUboundary等于FALSE,则以下适用:

pSelDsY[idx]=(F3[1][0]*pY[-1][-1-SubHeightC]+F3[0][1]*pY[-1][-SubHeightC]+F3[1][1]*pY[0][-SubHeightC]+F3[2][1]*pY[1][-SubHeightC]+F3[1][2]*pY[-1][1-SubHeightC]+4)>>3

◆否则,如果availTL等于TRUE且bCTUboundary等于TRUE,则以下适用:

pSelDsY[idx]=(F2[0]*pY[-1][-1[+F2[1]*pY[0][-1]+F2[2]*pY[1][-1]+2)>>2

◆否则,如果availTL等于FALSE且bCTUboundary等于FALSE,则以下适用:

pSelDsY[idx]=(F2[0]*pY[0][-1]+F2[1]*pY[0][-2]+F2[2]*pY[0][-1]+2)>>2

◆否则(availTL等于FALSE且bCTUboundary等于TRUE),则以下适用:

pSelDsY[idx]=pY[0][-1]

-否则(sps_cclm_colocated_chroma_flag等于0),以下适用:

■如果x大于0,则以下适用:

◆如果bCTUboundary等于FALSE,则以下适用:

pSelDsY[idx]=(F4[0][1]*pY[SubWidthCx-1][-2]+F4[0][2]*pY[SubWidthC*x-1][-1]+F4[1][1]*pY[SubWidthC*x][-2]+F4[1][2]*pY[SubWidthC*x][-1]+F4[2][1]*pY[SubWidthC*x+1][-2]+F4[2][2]*pY[SubWidthC*x+1][-1]+4)>>3

◆否则(bCTUboundary等于TRUE),则以下适用:

pSelDsY[idx]=(F2[0]*pY[SubWidthC*x-1][-1]+F2[1]*pY[SubWidthC*x][-1]+F2[2]*pY[SubWidthC*x+1][-1]+2)>>2

■否则(x等于0),以下适用:

◆如果availTL等于TRUE且bCTUboundary等于FALSE,则以下适用:

pSelDsY[idx]=(F4[0][1]*pY[-1][-2]+F4[0][2]*pY[-1][-1]+F4[1][1]*pY[0][-2]+F4[1][2]*pY[0][-1]+F4[2][1]*pY[1][-2]+F4[2][2]*pY[1][-1]+4)>>3

◆否则如果availTL等于TRUE且bCTUboundary等于TRUE,则以下适用:

pSelDsY[idx]=(F2[0]*pY[-1][-1]+F2[1]*pY[0][-1]+F2[2]*pY[1][-1]+2)>>2

◆否则如果availTL等于FALSE且bCTUboundary等于FALSE,则以下适用:

pSelDsY[idx]=(F1[1]*pY[0][-2]+F1[0]*pY[0][-1]+1)>>1

◆否则(availTL等于FALSE且bCTUboundary等于TRUE),则以下适用:

pSelDsY[idx]=pY[0][-1]

7.当cntT+cntL不等于0时,变量minY、变量maxY、变量minC和变量maxC被推导如下:

-当cntT+cntL等于2时,将pSelComp[3]设置为等于pSelComp[0],将pSelComp[2]设置为等于pSelComp[1],将pSelComp[0]设置为等于pSelComp[1],并且将pSelComp[1]设置为等于pSelComp[3],其中Comp被DsY和C代替。

-数组minGrpIdx和maxGrpIdx被推导如下:

minGrpIdx[0]=0

minGrpIdx[1]=2

maxGrpIdx[0]=1

maxGrpIdx[1]=3

-当pSelDsY[minGrpIdx[0]]大于pSelDsY[minGrpIdx[1]]时,minGrpIdx[0]和minGrpIdx[1]被交换如下:

(minGrpIdx[0],minGrpIdx[1])=Swap(minGrpIdx[0],minGrpIdx[1])

-当pSelDsY[maxGrpIdx[0]]大于pSelDsY[maxGrpIdx[1]]时,maxGrpIdx[0]和maxGrpIdx[1]被交换如下:

(maxGrpIdx[0],maxGrpIdx[1])=Swap(maxGrpIdx[0],maxGrpIdx[1])

-当pSelDsY[minGrpIdx[0]]大于pSelDsY[maxGrpIdx[1]]时,数组minGrpIdx和maxGrpIdx被交换如下:

(minGrpIdx,maxGrpIdx)=Swap(minGrpIdx,maxGrpIdx)

-当pSelDsY[minGrpIdx[1]]大于pSelDsY[maxGrpIdx[0]]时,minGrpIdx[1]和maxGrpIdx[0]被交换如下:

(minGrpIdx[1],maxGrpIdx[0])=Swap(minGrpIdx[1],maxGrpIdx[0])

-变量maxY、变量maxC、变量minY和变量minC被推导如下:

maxY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpTdx[1]]+1)>>1

maxC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpTdx[1]]+1)>>1

minY=(pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]]+1)>>1

minC=(pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]]+1)>>1

8.变量a、变量b和变量k被推导如下:

meanY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]]+

-pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]]+2)>>2

meanC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]]+

-pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]]+2)>>2

-如果numSampL等于0,并且numSampT等于0,则以下适用:

k=0

a=0

b=1<<(BitDepthC-1)

-否则,以下适用:

diff=maxY-minY

-如果diff不等于0,则以下适用:

diffC=maxC-minC

x=Floor(Log2(diff))

normDiff=((diff<<4)>>x)&15

x+=(normDiff!=0)?1:0

y=Floor(Log2(Abs(diffC)))+1

a=(diffC*(divSigTable[normDiff]|8)+2y-1)>>y

k=((3+x-y)<1)?1:3+x-y

a=((3+x-y)<1)?Sign(a)*15:a

b=meanC-((a*meanY)>>k)

其中,divSigTable[]被指定如下:

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

-否则(diff等于0),以下适用:

k=0

a=0

b=meanC

9.预测样本predSamples[x][y](其中x=0..nTbW-1,y=0..nTbH-1)被推导如下:

predSamples[x][y]=CliplC(((pDsY[x][y]*a)>>k)+b)

……

图12示出了根据上述实施方式的处理。色度块具有并置的亮度块1201,其使用模板样本1202和1203来推导线性参数。根据本发明的步骤,在位置1202和1203中应用滤波器,或者在不进行滤波的情况下使用位置1202中的样本值。

在推导出线性模型参数之后,在块1201内部的位置1204中应用下采样滤波器,这需要在位置1205(描绘为灰色阴影方块)中获取样本。

在替选实施方式中,在确定用于CCLM的滤波器系数时不施加大小约束。在该实施方式中,规范草案的步骤4被修改如下(规范的开始和结束用符号“……”指示):

……

4.当(treeType!=SINGLE TREE)时,以下适用:

F1[0]=2,F1[1]=0;

F2[0]=0,F2[1]=4,F2[2]=0;

F3[i][j]=F4[i][j]=0,其中i=0..2,j=0..2;以及

F3[1][1]=F4[1][1]=8.

……

在另一实施方式中,可以在不添加舍入偏移(“+1”)的情况下获得最小值和最大值。这方面可以被描述为对上面给出的规范草案的步骤7的以下修改(规范的开始和结束用符号“……”指示):

……

-变量maxY、变量maxC、变量minY和变量minC被推导如下:

maxY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]])>>1

maxC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]])>>1

minY=(pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]])>>1

minC=(pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]])>>1

……

在另一实施方式中,可以在不添加舍入偏移“+2”的情况下使用平均值计算来获得线性参数“b”的值。规范草案的这个经修改的步骤8可以被描述如下(规范的开始和结束用符号“……”指示):

……

8.变量a、变量b、变量k被推导如下:

meanY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]]+pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]])>>2

meanC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]]+pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]])>>2

……

在另一实施方式中,可以使用一对最小值(即minY和MinC)来获得线性参数“b”的值。这个经修改的步骤可以被描述为上面给出的规范草案的以下修改部分(规范的开始和结束用符号“……”指示):

……

8.变量a、变量b、变量k被推导如下:

-如果numSampL等于0,并且numSampT等于0,则以下适用:

k=0

a=0

b=1<<(BitDepthC-1)

-否则,以下适用:

diff=maxY-minY

-如果diff不等于0,则以下适用:

diffC=maxC-minC

x=Floor(Log2(diff))

normDiff=((diff<<4)>>x)&15

x+=(normDiff!=0)?1:0

y=Floor(Log2(Abs(diffC)))+1

a=(diffC*(divSigTable[normDiff]|8)+2y-1)>>y

k=((3+x-y)<1)?1:3+x-y

a=((3+x-y)<1)?Sign(a)*15:a

b=minC-((a*minY)>>k)

其中,divSigTable[]被指定如下:

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

-否则(diff等于0),以下适用:

k=0

a=0

b=minC

……

作为先前实施方式的附加方面,可以使用一对最大值(即maxY和MaxC)来获得线性参数“b”的值。这个方面可以通过对上面给出的规范部分的以下两个更改来表示:

-赋值“b=maxC-((a*maxY)>>k)”而不是赋值“b=minC-((a*

minY)>>k)”;以及

-赋值“b=maxC”而不是赋值“b=minC”。

如图13所示,在针对亮度模板关闭了下采样滤波(使用例如上述6抽头滤波器)的情况下,存在可以针对色度格式YUV4:2:0使用什么样本以推导用于分量间预测的线性模型参数的若干选项。对于与4x4色度块并置的8x8亮度块,用于推导线性模型参数的模板样本的以下组合是可能的:

1.顶行的模板样本1301和1303以及左列的模板样本1305和1307;

2.顶行的模板样本1302和1304以及左列的模板样本1306和1308;

3.顶行的模板样本1301和1303以及左列的模板样本1306和1308;

4.项行的模板样本1302和1304以及左列的模板样本1305和1307。

如图14所示,对于与8x4色度块并置的16x8亮度块,用于推导线性模型参数的模板样本的以下组合是可能的:

1.顶行的模板样本1401和1403以及左列的模板样本1405和1407;

2.顶行的模板样本1402和1404以及左列的模板样本1406和1408;

3.顶行的模板样本1401和1403以及左列的模板样本1406和1408;

4.顶行的模板样本1402和1404以及左列的模板样本1405和1407。

如图15所示,对于与4x8色度块并置的8x16亮度块,用于推导线性模型参数的模板样本的以下组合是可能的:

1.顶行的模板样本1501和1503以及左列的模板样本1505和1507;

2.顶行的模板样本1502和1504以及左列的模板样本1506和1508;

3.顶行的模板样本1501和1503以及左列的模板样本1506和1508;

4.顶行的模板样本1502和1504以及左列的模板样本1505和1507。

根据视频序列内容,上面列出的组合中的不同变体在率失真成本(Rate-Distortion cost,RD-cost)方面是有益的。因此,可以明确地用信号通知选择了什么变体。然而,这可能导致信令开销。因此,提出根据色度块的大小来获取属于亮度块的模板样本,以避免显式信令。这意味着与亮度块相关并且用于推导线性模型参数的模板样本的位置针对不同大小的块而不同,并且由色度块大小定义。

在上述实施方式中,对亮度样本的选择可以被公式化如下:

如果色度块不大于16个样本,则将垂直偏移“vOffset”的值设置为1。否则,将垂直偏移“vOffset”设置为0。

步骤4:

“当numSampL大于0时,将所选择的相邻左色度样本pSelC[idx]设置为等于p[-l][pickPosL[idx]],其中idx=0..(cntL-1),并且所选择的经下采样的相邻左亮度样本pSelDsY[idx](其中idx=0..(cntL-1))被推导如下:”可以根据色度块的大小选择亮度样本。

例如,代替“pSelDsY[i]=pY[-l][y]”,亮度样本的选择可以被执行如下:“pSelDsY[i]=pY[-l][y+vOffset]”。

在另一示例性实施方式中,亮度样本的选择可以被执行如下:“pSelDsY[i]=pY[-l][y+l-vOffset]”。

步骤5“当numSampT大于0时,将所选择的相邻顶色度样本pSelC[idx]设置为等于p[pickPosT[idx-cntL]][-1],其中idx=cntL..(cntL+cntT-1),并且经下采样的相邻顶亮度样本pSelDsY[idx](其中idx=cntL..cntL+cntT-1)被指定如下:”可以根据色度块的大小选择亮度样本。

例如,代替“pSelDsY[idx]=pY[x][-l]”,亮度样本的选择可以被执行如下:“pSelDsY[idx]=pY[x][-l+vOffset]”。

在另一示例性实施方式中,亮度样本的选择可以被执行如下:“pSelDsY[idx]=pY[x][-vOffset]”。

应当理解,本发明实施方式可以包括步骤4的修改或步骤5的修改或者步骤4和步骤5两者的修改。

本发明的范围包括YUV4:2:0和YUV4:2:2色度格式。在当前色度块的大小等于对应亮度块的大小时(例如,在YUV4:4:4色度格式的情况下),对相邻亮度样本的垂直位置选择不依赖于块大小。可以理解,在YUV4:2:0色度格式和YUV4:2:2色度格式的情况下,仅水平样本位置不同,并且本发明的实施方式在YUV4:2:0色度格式和YUV4:2:2色度格式两种情况下都可以以上述形式实现。

图16示出了根据本公开内容的方法。在图16中,示出了一种方法,该方法包括:步骤1601,确定用于与当前色度块并置的亮度块的滤波器,其中,该确定过程基于分区数据来执行;步骤1603,通过将所确定的滤波器应用于与当前色度块并置的亮度块的重构亮度样本以及在选择的与该亮度块相邻的位置中的亮度样本,来获得经滤波的重构亮度样本;步骤1605,基于作为输入的经滤波的重构亮度样本来获得线性模型参数;以及步骤1607,基于所获得的线性模型参数和亮度块的经滤波的重构亮度样本执行分量间预测,以获得当前色度块的预测值。

图17示出了根据本公开内容的编码器20。在图17中,示出了编码器20,编码器20包括确定单元2001,确定单元2001用于确定用于与当前色度块并置的亮度块的滤波器,其中,该确定基于分区数据进行并且被指定为旁路滤波器。编码器20还包括应用单元2003,应用单元2003用于通过将所确定的滤波器应用于与当前色度块并置的亮度块的重构亮度样本以及在选择的与该亮度块相邻的位置中的亮度样本,来获得经滤波的重构亮度样本。编码器20还包括获取单元2005,获得单元2005用于基于作为输入的经滤波的重构亮度样本来获得线性模型参数;并且编码器20还包括预测单元2007,预测单元2007用于基于所获得的线性模型参数和亮度块的经滤波的重构亮度样本执行分量间预测,以获得当前色度块的预测值。

图18示出了根据本公开内容的解码器30。在图18中,示出了解码器30,解码器30包括确定单元3001,确定单元3001用于确定用于与当前色度块并置的亮度块的滤波器,其中,该确定过程基于分区数据来执行。解码器30还包括应用单元3003,应用单元3003用于通过将所确定的滤波器应用于与当前色度块并置的亮度块的重构亮度样本以及在选择的与该亮度块相邻的位置中的亮度样本,来获得经滤波的重构亮度样本。解码器30还包括获得单元3005,获得单元3005用于基于作为输入的经滤波的重构亮度样本来获得线性模型参数;并且解码器30还包括预测单元3007,预测单元3007用于基于所获得的线性模型参数和亮度块的经滤波的重构亮度样本执行分量间预测,以获得当前色度块的预测值。

图19示出了根据本公开内容的方法。在图19中,示出了一种方法,该方法包括:步骤1611,选择与色度块相邻的位置;步骤1613,基于所选择与色度块相邻的位置来确定亮度模板样本的位置;步骤1615,确定是否在所确定的亮度模板样本的位置中应用滤波器;以及步骤1617,基于确定是否在所确定的亮度模板样本的位置中应用滤波器来获得线性模型参数,其中,线性模型参数包括线性模型参数“a”和线性模型参数“b”。

图20示出了图19中示出的方法的对应编码器20。

图20示出了包括用于选择与当前色度块相邻的位置的选择单元2011的编码器20。编码器20还包括第一确定单元2013,第一确定单元2013用于基于所选择与当前色度块相邻的位置来确定亮度模板样本的位置。编码器20还包括第二确定单元2015,第二确定单元2015用于确定是否在所确定的亮度模板样本的位置中应用滤波器;并且编码器20包括获得单元2017,获得单元2017用于基于确定是否在所确定的亮度模板样本的位置中应用滤波器来获得线性模型参数,其中,线性模型参数包括线性模型参数“a”和线性模型参数“b”。

图21示出了图19中示出的方法的对应解码器30。

图21示出了包括用于选择与当前色度块相邻的位置的选择单元3011的解码器30。解码器30还包括第一确定单元3013,第一确定单元3013用于基于所选择的与当前色度块相邻的位置来确定亮度模板样本的位置。解码器30还包括第二确定单元3015,第二确定单元3015用于确定是否在所确定的亮度模板样本的位置中应用滤波器;并且解码器30包括获得单元3017,获得单元3017用于基于确定是否在所确定的亮度模板样本的位置中应用滤波器来获得线性模型参数,其中,线性模型参数包括线性模型参数“a”和线性模型参数“b”。

以下是对上述实施方式中所示编码方法和解码方法以及使用它们的系统的的应用说明。

图22是示出用于实现内容分发服务的内容提供系统3100的框图。该内容提供系统3100包括捕获装置3102、终端装置3106,并且可选地包括显示器3126。捕获装置3102通过通信链路3104与终端装置3106通信。通信链路可以包括以上描述的通信信道13。通信链路3104包括但不限于WIFI、以太网、线缆、无线(3G/4G/5G)、USB或其任何种类的组合等。

捕获装置3102生成数据,并且可以通过如以上实施方式所示的编码方法对数据进行编码。可替选地,捕获装置3102可以将数据分发给流媒体服务器(图中未示出),并且该服务器对数据进行编码并将编码数据传输至终端装置3106。捕获装置3102包括但不限于摄像机、智能电话或平板电脑、计算机或笔记本电脑、视频会议系统、PDA、车载装置或它们的任何组合等。例如,捕获装置3102可以包括如上所述的源装置12。在数据包括视频的情况下,包括在捕获装置3102中的视频编码器20可以实际地执行视频编码处理。在数据包括音频(即语音)的情况下,包括在捕获装置3102中的音频编码器可以实际地执行音频编码处理。对于一些实际场景,捕获装置3102通过将编码视频和音频数据复用在一起来对它们进行分发。对于其他实际场景,例如在视频会议系统中,不对编码音频数据和编码视频数据进行复用。捕获装置3102将编码音频数据和编码视频数据分别分发给终端装置3106。

在内容提供系统3100中,终端装置310接收并再现编码数据。终端装置3106可以是具有数据接收和恢复能力的装置,例如能够对上述编码数据进行解码的智能手机或平板电脑3108、计算机或膝上型计算机3110、网络视频录像机(network video recorder,NVR)/数字录像机(digital video recorder,DVR)3112、TV 3114、机顶盒(set top box,STB)3116、视频会议系统3118、视频监控系统3120、个人数字助理(personal digital assistant,PDA)3122、车载装置3124或它们的任何组合等。例如,终端装置3106可以包括如上所述的目的地装置14。在编码数据包括视频的情况下,包括在终端装置中的视频解码器30优先执行视频解码。在编码数据包括音频的情况下,包括在终端装置中的音频解码器优先执行音频解码处理。

对于带显示器的终端装置,例如智能电话或平板电脑3108、计算机或膝上型计算机3110、网络视频录像机(network video recorder,NVR)/数字录像机(digital videorecorder,DVR)3112、TV 3114、个人数字助理(personal digital assistant,PDA)3122或车载装置3124,终端装置可以将解码数据馈送至其显示器。对于没有配备显示器的终端装置,例如STB 3116、视频会议系统3118或视频监控系统3120,在其中接触外部显示器3126以接收和显示解码数据。

在该系统中的每个装置执行编码或解码时,可以使用如上述实施方式所示的图片编码装置或图片解码装置。

图23是示出终端装置3106的示例的结构的图。在终端装置3106从捕获装置3102接收到流之后,协议进行单元3202对该流的传输协议进行分析。协议包括但不限于实时流协议(Real Time Streaming Protocol,RTSP)、超文本传输协议(Hyper Text TransferProtocol,HTTP)、HTTP实况流协议(HTTP Live streaming protocol,HLS)、MPEG-DASH、实时传输协议(Real-time Transport protocol,RTP)、实时消息协议(Real Time MessagingProtocol,RTMP)或其任何类型的组合等。

协议进行单元3202对流进行处理之后,生成流文件。该文件被输出至解复用单元3204。解复用单元3204可以将复用数据分离为编码音频数据和编码视频数据。如以上所描述的,对于一些实际场景,例如在视频会议系统中,不对编码音频数据和编码视频数据进行复用。在这种情况下,在不经过解复用单元3204的情况下将编码数据传输至视频解码器3206和音频解码器3208。

通过解复用处理,生成视频基本流(elementary stream,ES)、音频ES以及可选地字幕。包括上述实施方式中说明的视频解码器30的视频解码器3206,通过上述实施方式中所示的解码方法对视频ES进行解码以生成视频帧,并且将该数据馈送至同步单元3212。音频解码器3208对音频ES进行解码以生成音频帧,并且将该数据馈送至同步单元3212。可替选地,可以在将视频帧馈送至同步单元3212之前将其存储在缓冲器(图23中未示出)中。类似地,可以在将音频帧馈送至同步单元3212之前将其存储在缓冲器(图23中未示出)中。

同步单元3212使视频帧和音频帧同步,并将视频/音频提供给视频/音频显示器3214。例如,同步单元3212使视频信息和音频信息的呈现同步。所述信息可以使用关于译码音频和视频数据的呈现的时间戳以及关于数据流本身的传送的时间戳在语法中被译码。

如果流中包括字幕,则字幕解码器3210对字幕进行解码并将其与视频帧和音频帧同步,并且将视频/音频/字幕提供给视频/音频/字幕显示3216。

本发明不限于上述系统,并且上述实施方式中的图片编码装置或图片解码装置可以被并入其他系统,例如汽车系统。

数学运算符

本申请中使用的数学运算符与C编程语言中使用的数学运算符类似。然而,将整数除法和算术移位运算的结果定义得更精确,并且定义了其他运算,例如求幂和实值除法。编号和计数约定通常从0开始,例如,“第一个”相当于第0个,“第二个”相当于第1个等。

算术运算符

以下算术运算符定义如下:

+ 加法

- 减法(作为两参数运算符)或取反(作为一元前缀运算符)

* 乘法,包括矩阵乘法

xy 求幂。指定x的y次幂。在其他上下文中,这样的符号用于上标,而不是旨在被解释为求幂。

/ 结果向零截断的整数除法。例如,7/4和-7/-4被截断到1,并且-7/4和7/-4被截断到-1。

÷ 用于表示不旨在进行截断或舍入的数学式中的除法。

用于表示不旨在进行截断或舍入的数学式中的除法。

f(i)的总和,其中,i取从x到y并且包括y的所有整数值。

x%y 模数。x除以y的余数,仅针对整数x和y(其中x>=0且y>0)定义。

逻辑运算符

以下逻辑运算符定义如下:

x&&y x和y的布尔逻辑“与”

x||y x和y的布尔逻辑“或”

! 布尔逻辑“非”

x?y:z 如果x为TRUE或不等于0,则计算y的值;否则,计算z的值。

关系运算符

以下关系运算符定义如下:

> 大于

>= 大于或等于

< 小于

<= 小于或等于

== 等于

!= 不等于

当关系运算符应用于已经被赋值“na”(不可用)的语法元素或变量时,值“na”被视为语法元素或变量的不同值。值“na”被认为不等于任何其他值。

按位运算符

以下按位运算符定义如下:

& 按位“与”。当对整数参数进行运算时,对整数值的二进制补码表示进行运算。

当对包含比另一参数少的位的二进制参数进行运算时,通过添加等于0的更多有效位来扩展较短的参数。

| 按位“或”。当对整数参数进行运算时,对整数值的二进制补码表示进行运算。当对包含比另一参数少的位的二进制参数进行运算时,通过添加等于0的更多有效位来扩展较短的参数。

^ 按位“异或”。当对整数参数进行运算时,对整数值的二进制补码表示进行运算。当对包含比另一参数少的位的二进制参数进行运算时,通过添加等于0的更多有效位来扩展较短的参数。

x>>y 对x的二进制补码整数表示进行y个二进制数位的算术右移。该函数仅针对非负整数值y定义。在移位运算之前,作为右移的结果而移入最高有效位(the mostsignificant bit,MSB)的位具有等于x的MSB的值。

x<<y 对x的二进制补码整数表示进行y个二进制数位的算术左移。该函数仅针对非负整数值y定义。作为左移的结果而移入最低有效位(the least significant bit,LSB)的位具有等于0的值。

赋值运算符

以下算术运算符定义如下:

= 赋值运算符

++ 递增,即x++等价于x=x+1;在数组索引中使用时,先于递增运算计算变量的值。

-- 递减,即x--等价于x=x-1;在数组索引中使用时,先于递减运算计算变量的值。

+= 增加指定量,即x+=3等价于x=x+3,并且x+=(-3)等价于x=x+(-3)。

-= 递减指定量,即x-=3等价于x=x-3,并且x-=(-3)等价于x=x-(-3)。

范围符号

以下符号用于指定值的范围:

x=y..z x取从y到z(包括端值)的整数值,其中x、y和z是整数,并且z大于y。

数学函数

定义了以下数学函数:

Asin(x) 三角反正弦函数,对参数x进行运算,参数x在-1.0到1.0(包括端值)的范围内,输出值以弧度为单位在-π÷2到π÷2(包括端值)的范围内;

Atan(x) 三角反正切函数,对参数x进行运算,其中输出值以弧度为单位在-π÷2到π÷2(包括端值)的范围内;

Ceil(x)大于或等于x的最小整数;

Clip1Y(x)=Clip3(0,(1<<BitDepthY)-1,x)

Clip1C(x)=Clip3(0,(1<<BitDepthC)-1,x)

Cos(x)对以弧度为单位的参数x进行运算的三角余弦函数;

Floor(x)小于或等于x的最大整数;

Ln(x)x的自然对数(以e为底的对数,其中e是自然对数底常数2.718 281828...);

Log2(x)x的以2为底的对数;

Logl0(x)x的以10为底的对数;

Round(x)=Sign(x)*Floor(Abs(x)+0.5)

Sin(x)对以弧度为单位的参数x进行运算的三角正弦函数

Swap(x,y)=(y,x)

Tan(x)对以弧度为单位的参数x进行运算的三角正切函数

运算优先顺序

当表达式中的优先顺序没有通过使用括号明确表示时,以下规则适用:

-在任何较低优先级的运算之前计算较高优先级的运算。

-相同优先级的运算从左到右依次计算。

下表指定了从最高到最低的运算优先级;表格中较高的位置指示较高的优先级。

对于C编程语言中也使用的那些运算符,在本说明书中使用的优先级顺序与C编程语言中使用的相同。

表格:从最高(表格顶部)到最低(表格底部)的运算优先级

逻辑运算的文字说明

在文中,将以以下形式在数学上描述逻辑运算的语句:

if(条件0)

语句0

else if(条件1)

语句1

……

else/*关于剩余条件的信息备注*/

语句n

可以以以下方式描述:

……如下/……以下适用:

-如果条件0,则语句0

-否则,如果条件1,则语句1

……

-否则(关于剩余条件的信息备注),语句n

文中的每个“如果……否则,如果……否则,……”语句都以“……如下”或“……以下适用”引入,紧接着是“如果……”。“如果……否则,如果……否则,……”的最后一个条件总是“否则……”。交错的“如果……否则,如果……否则,……”语句可以通过匹配“……如下”或“……以下适用”与结尾的“否则……”来识别。

在文中,将以以下形式在数学上描述逻辑运算的语句:

if(条件0a&&条件0b)

语句0

else if(条件la||条件lb)

语句1

……

else

语句n

可以以以下方式描述:

……如下/……以下适用:

-如果以下所有条件都为真,则语句0:

-条件0a

-条件0b

-否则,如果以下条件中的一项或更多项为真,则语句1:

-条件la

-条件1b

……

-否则,语句n。

在文中,将以以下形式在数学上描述逻辑运算的语句:

if(条件0)

语句0

if(条件1)

语句1

可以以以下方式描述:

在条件0的情况下,语句0

在条件1的情况下,语句1

尽管已经主要基于视频译码描述了本发明的实施方式,但是应当注意,译码系统10、编码器20和解码器30(并且相应地,系统10)的实施方式以及本文描述的其他实施方式也可以被配置用于静止图片处理或译码,即,如在视频译码中那样,独立于任何先前或连续图片对个体图片进行处理或译码。通常,在图片处理译码仅限于单个图片17的情况下,仅帧间预测单元244(编码器)和344(解码器)可能不可用。视频编码器20和视频解码器30的所有其他功能(也称为工具或技术)同样可以用于静止图片处理,例如残差计算204/304、变换206、量化208、逆量化210/310、(逆)变换212/312、分区262/362、帧内预测254/354和/或环路滤波220、320,以及熵译码270和熵解码304。

例如,编码器20和解码器30的实施方式以及本文中例如参照编码器20和解码器30描述的功能可以以硬件、软件、固件或其任何组合实现。如果以软件实现,则可以将这些功能作为一个或更多个指令或代码存储在计算机可读介质上或通过通信介质传输并由基于硬件的处理单元执行。

计算机可读介质可以包括计算机可读存储介质,计算机可读存储介质对应于诸如数据存储介质的有形介质,或者包括便于例如根据通信协议将计算机程序从一个地方转移到另一个地方的任何介质的通信介质。以这种方式,计算机可读介质通常可以对应于(1)非暂态的有形计算机可读存储介质或者(2)通信介质例如信号或载波。数据存储介质可以是可以由一个或更多个计算机或一个或更多个处理器访问以检索用于实现本公开内容中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。

作为示例而非限制,这样的计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储装置、磁盘存储装置或其他磁存储装置、闪存或者可以用于以指令或数据结构的形式存储所需的程序代码并且可以由计算机访问的任何其他介质。另外,任何连接都被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(digital subscriber line,DSL)或无线技术(例如红外线、无线电和微波)从网站、服务器或其他远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或无线技术(例如红外线、无线电和微波)被包括在对介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬态介质,而是替代地针对非瞬态、有形存储介质。如本文所使用的,盘和碟包括致密碟(compact disc,CD)、激光碟、光碟、数字多功能碟(digitalversatile disc,DVD)、软盘和蓝光碟,其中,盘通常以磁性方式再现数据,而碟使用激光以光学的方式再现数据。上述的组合也应包括在计算机可读介质的范围内。

指令可以由一个或更多个处理器执行,所述一个或更多个处理器例如一个或更多个数字信号处理器(digital signal processor,DSP)、通用微处理器、专用集成电路(application specific integrated circuit,ASIC)、现场可编程逻辑阵列(fieldprogrammable logic array,FPGA)或其他等效的集成或分立逻辑电路。因此,如本文中所使用的,术语“处理器”可以指任何前述结构或适合于实现本文所描述的技术的任何其他结构。另外,在某些方面,可以在被配置用于编码和解码的专用硬件和/或软件模块内提供本文所描述的功能,或者将本文所描述的功能并入组合编解码器中。另外,所述技术可以完全在一个或更多个电路或逻辑元件中实施。

本公开内容的技术可以在包括无线手持机、集成电路(integrated circuit,IC)或IC的集合(例如芯片组)的各种装置或设备中实现。在本公开内容中描述各种部件、模块或单元以强调被配置成执行所公开的技术的装置的功能方面,但是所述各种部件、模块或单元不一定需要由不同的硬件单元实现。而是,如上所述,各种单元可以组合在编解码硬件单元中,或者通过(包括如上所述的一个或更多个处理器的)互操作硬件单元的集合结合适当的软件和/或固件来提供。

本公开内容公开了以下十九个另外的方面:

第一方面的一种使用线性模型对当前色度块进行帧内预测的方法,包括:

-确定用于与当前色度块并置的亮度块的滤波器,其中,所述确定基于分区数据来进行;

-将所确定的滤波器应用于与当前色度块并置的亮度块的重构亮度样本以及在选择的与该亮度块相邻的位置(与当前块的左侧或顶侧相邻的一个或若干个行/列)中的亮度样本的区域以获得经滤波的重构亮度样本(例如,与当前色度块并置的亮度块内部的经滤波的重构亮度样本,以及在所选择的相邻位置处的亮度样本);

基于作为线性模型推导的输入的经滤波的重构亮度样本(例如,亮度样本的集合包括与当前色度块并置的亮度块内部的经滤波的重构亮度样本以及该亮度块外部的经滤波的相邻亮度样本,例如,所确定的滤波器还可以被应用于当前块外部的相邻亮度样本)获得线性模型参数;以及

基于所获得的线性模型参数和亮度块的经滤波的重构亮度样本(例如,当前块(例如与当前块并置的亮度块)内部的经滤波的重构亮度样本)执行分量间预测以获得当前色度块的预测器。

根据第一方面所述的方法的第二方面,其中,分区数据包括当前色度块内的样本的数量,在当前色度块内的样本的数量不大于阈值时,将具有系数[1]的旁路滤波器应用于与当前色度块并置的亮度块的模板参考样本。

根据第二方面所述的方法的第三方面,其中,分区数据还包括树类型信息,并且在使用双树译码对图片(或图片的一部分,即图块或切片)执行分区时,将具有系数[1]的旁路滤波器应用于与当前色度块并置的亮度块的模板参考样本。

根据前述方面中任一项所述的方法的第四方面,其中,通过对亮度分量和色度分量的两个值求平均来获得线性模型参数:

maxY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]])>>1。

-maxC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]])>>1。

-minY=(pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]])>>1。

-minC=(pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]])>>1。

根据前述方面中任一项所述的方法的第五方面,其中,线性模型参数包括使用DC值计算的偏移“b”的值,所述DC值使用色度分量和亮度分量中的最小值和最大值来获得:

dcC=(minC+maxC+1)>>1

dcY=(minY+maxY+1)>>1

b=dcC-((a*dcY)>>k)。

根据第五方面所述的方法的第六方面,其中,DC值被计算如下:

dcC=(minC+maxC)>>1

dcY=(minY+maxY)>>1。

根据第一方面至第六方面中任一项所述的方法的第七方面,其中,确定滤波器包括:

基于亮度样本在当前块内的位置以及色度格式确定滤波器;或者

基于属于当前块的多个亮度样本在当前块内的相应位置以及色度格式,确定用于所述多个亮度样本的相应滤波器。

根据第一方面至第六方面中任一项所述的方法的第八方面,其中,确定滤波器包括:基于以下各项中的一项或更多项来确定滤波器:

子采样率信息(例如可以根据当前块所属的图片的色度格式从表中获得的SubWidthC和SubHeightC);

当前块所属的图片的色度格式(例如,其中,色度格式用于获得子采样率信息(例如SubWidthC和SubHeightC));

亮度样本在当前块中的位置;

属于当前块的亮度样本的数量;

当前块的宽度和高度;以及/或者

经子采样的色度样本相对于当前块内的亮度样本的位置。

根据第八方面所述的方法的第九方面,其中,在经子采样的色度样本不与对应的亮度样本并置的情况下,使用多个滤波器与子采样率信息(例如SubWidthC和SubHeightC,或者例如当前块的宽度和高度的值)之间的第一预设关系(例如表4)来确定滤波器;以及/或者,

在经子采样的色度样本与对应的亮度样本并置的情况下,使用多个滤波器与子采样率信息(例如SubWidthC和SubHeightC,或者例如当前块的宽度和高度的值)之间的第二预设关系或第三预设关系(例如表2或表3)来确定滤波器。

根据第九方面所述的方法的第十方面,其中,基于属于当前块的某些亮度样本(例如可用的亮度样本)的数量确定多个滤波器与子采样率信息(例如SubWidthC和SubHeightC,或者例如当前块的宽度和高度的值)之间的第二关系或第三关系(例如表2或表3)。

根据前述方面中任一项所述的方法的第十一方面,其中,色度格式包括YCbCr 4:4:4色度格式、YCbCr 4:2:0色度格式、YCbCr 4:2:2色度格式或单色。

根据前述方面中任一项所述的方法的第十二方面,其中,用作线性模型推导的输入的亮度样本的集合包括:

从经滤波的重构亮度样本(例如Rec′L[x,y])中子采样的边界亮度重构样本。

根据前述方面中任一项所述的方法的第十三方面,其中,基于下式获得当前色度块的预测器:

predC(i,j)=α·recL′(i,j)+β

其中,predC(i,j)表示色度样本,并且recL(i,j)表示对应的重构亮度样本(例如对应的重构亮度样本的位置在当前块内部)。

第十四方面的一种编码器(20),包括用于执行根据第一方面至第十三方面中任一项所述的方法的处理电路。

第十五方面的一种解码器(30),包括用于执行根据第一方面至第十三方面中任一项所述的方法的处理电路。

第十六方面的一种计算机程序产品,包括用于执行根据第一方面至第十三方面中任一项所述的方法的程序代码。

第十七方面的一种承载程序代码的非暂态计算机可读介质,所述程序代码在由计算机装置执行时使所述计算机装置执行第一方面至第十三方面中任一项的方法。

第十八方面的一种解码器,包括:

一个或更多个处理器;以及

非暂态计算机可读存储介质,其耦接至处理器并且存储由处理器执行的程序,其中,所述程序在由处理器执行时将解码器配置成执行根据第一方面至第十三方面中任一项所述的方法。

第十九方面的一种编码器,包括:

一个或更多个处理器;以及

非暂态计算机可读存储介质,其耦接至处理器并且存储由处理器执行的程序,其中,所述程序在由处理器执行时将编码器配置成执行根据第一方面至第十三方面中任一项所述的方法。

另外,本公开内容公开了以下三十个另外的方面:

第一方面的一种使用线性模型对当前色度块进行帧内预测的方法,包括:

-确定用于与当前色度块并置的亮度块的滤波器,其中,所述确定基于分区数据进行并且可以被指定为旁路滤波器;

-将所确定的滤波器应用于与当前色度块并置的亮度块的重构亮度样本以及在选择的与该亮度块相邻的位置中的亮度样本的区域以获得经滤波的重构亮度样本;

基于作为线性模型推导的输入的经滤波的重构亮度样本获得线性模型参数;以及

基于所获得的线性模型参数和亮度块的经滤波的重构亮度样本执行分量间预测以获得当前色度块的预测器。

根据第一方面所述的方法的第二方面,其中,分区数据包括当前色度块内的样本的数量,在当前色度块内的样本的数量不大于阈值时,将具有系数[1]的旁路滤波器应用于与当前色度块并置的亮度块的模板参考样本。

根据第二方面所述的方法的第三方面,其中,分区数据还包括树类型信息,并且在使用双树译码执行图片的分区时,将具有系数[1]的旁路滤波器应用于与当前色度块并置的亮度块的模板参考样本。

根据前述方面中任一项所述的方法的第四方面,其中,通过对亮度分量和色度分量的两个值求平均来获得线性模型参数:

maxY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]])>>1。

-maxC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]])>>1。

-minY=(pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]])>>1。

-minC=(pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]])>>1。

根据前述方面中任一项所述的方法的第五方面,其中,线性模型参数包括使用DC值计算的偏移“b”的值,所述DC值使用色度分量和亮度分量中的最小值和最大值来获得:

dcC=(minC+maxC+1)>>1

dcY=(minY+maxY+1)>>1

b=dcC-((a*dcY)>>k)。

根据第五方面所述的方法的第六方面,其中,DC值被计算如下:

dcC=(minC+maxC)>>1

dcY=(minY+maxY)>>1。

根据第一方面至第六方面中任一项所述的方法的第七方面,其中,确定滤波器包括:

基于亮度样本在当前块内的位置以及色度格式确定滤波器;或者

基于属于当前块的多个亮度样本在当前块内的相应位置以及色度格式,确定用于所述多个亮度样本的相应滤波器。

根据第一方面至第六方面中任一项所述的方法的第八方面,其中,确定滤波器包括:基于以下各项中的一项或更多项来确定滤波器:

子采样率信息;

当前块所属的图片的色度格式(例如,其中,色度格式用于获得子采样率信息);

亮度样本在当前块中的位置;

属于当前块的亮度样本的数量;

当前块的宽度和高度;以及/或者

经子采样的色度样本相对于当前块内的亮度样本的位置。

根据第八方面所述的方法的第九方面,其中,在经子采样的色度样本不与对应的亮度样本并置的情况下,使用多个滤波器与子采样率信息之间的第一预设关系来确定滤波器;以及/或者,

在经子采样的色度样本与对应的亮度样本并置的情况下,使用多个滤波器与子采样率信息之间的第二预设关系或第三预设关系来确定滤波器。

根据第九方面所述的方法的第十方面,其中,基于属于当前块的某些亮度样本的数量确定多个滤波器与子采样率信息之间的第二关系或第三关系。

根据前述方面中任一项所述的方法的第十一方面,其中,色度格式包括YCbCr 4:4:4色度格式、YCbCr 4:2:0色度格式、YCbCr 4:2:2色度格式或单色。

根据前述方面中任一项所述的方法的第十二方面,其中,用作线性模型推导的输入的亮度样本的集合包括:

从经滤波的重构亮度样本中子采样的边界亮度重构样本。

根据前述方面中任一项所述的方法的第十三方面,其中,基于下式获得当前色度块的预测器:

predC(i,j)=α·recL′(i,j)+β

其中,predC(i,j)表示色度样本,并且recL(i,j)表示对应的重构亮度样本(例如对应的重构亮度样本的位置在当前块内部)。

第十四方面的一种使用线性模型对色度块进行帧内预测的方法,包括:

-选择与色度块相邻(例如,与当前块的左侧或顶侧相邻的行/列中的一个或若干个样本)的位置;

-基于所选择的与色度块相邻的位置确定亮度模板样本的位置;

-确定是否在所确定的亮度模板样本的位置中应用滤波器;

-基于确定是否在所确定的亮度模板样本的位置中应用滤波器来获得线性模型参数,其中,所述线性模型参数包括线性模型参数“a”和线性模型参数“b”;以及

-基于所获得的线性模型参数执行分量间预测以获得所述色度块的预测器。

根据第十四方面所述的方法的第十五方面,在获得线性模型参数之后,在与色度块并置的亮度块内部应用下采样滤波器。

根据第十四方面或第十五方面所述的方法的第十六方面,其中,不施加大小约束来获得线性模型参数。

根据第十六方面所述的方法的第十七方面,

当(treeType!=SINGLE_TREE)时,以下适用:

F1[0]=2,F1[1]=0;

F2[0]=0,F2[1]=4,F2[2]=0;

F3[i][j]=F4[i][j]=0,其中i=0..2,j=0..2;以及

F3[1][1]=F4[1][1]=8.

根据第十四方面至第十七方面中任一项所述的方法的第十八方面,其中,使用最小值和最大值来获得线性模型参数,并且其中,所述最小值和所述最大值是在不添加舍入偏移的情况下获得的。

根据第十八方面所述的方法的第十九方面,变量maxY、变量maxC、变量minY和变量minC被推导如下:

maxY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]])>>1

maxC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]])>>1

minY=(pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]])>>1

minC=(pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]])>>1,

其中,变量maxY、变量maxC、变量minY和变量minC分别表示最小值和最大值。

根据第十四方面至第十七方面中任一项所述的方法的第二十方面,其中,使用平均值来获得线性模型参数“b”,并且其中,所述平均值是在不添加舍入偏移的情况下获得的。

根据第二十方面所述的方法的第二十一方面,变量meanY、变量meanC被推导如下:

meanY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]]+pSe!DsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]])>>2

meanC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]]+pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]])>>2,

其中,变量meanY和变量meanC分别表示平均值。

根据第十四方面至第十七方面中任一项所述的方法的第二十二方面,其中,使用一对最小值(即,minY和MinC)来获得线性模型参数“b”。

根据第十四方面至第十七方面中任一项所述的方法的第二十三方面,其中,使用一对最大值(即maxY和MaxC)来获得线性模型参数“b”。

根据第二十三方面所述的方法的第二十四方面,其中,赋值“b=maxC-((a*maxY)>>k)”或赋值“b=maxC”。

第二十五方面的一种编码器(20),包括用于执行根据第一方面至第二十四方面中任一项所述的方法的处理电路。

第二十六方面的一种解码器(30),包括用于执行根据第一方面至第二十四方面中任一项所述的方法的处理电路。

第二十七方面的一种计算机程序产品,包括用于执行根据第一方面至第二十四方面中任一项所述的方法的程序代码。

第二十八方面的一种携载程序代码的非暂态计算机可读介质,所述程序代码在由计算机装置执行时使所述计算机装置执行第一方面至第二十四方面中任一项所述的方法。

第二十九方面的一种解码器,包括:

一个或更多个处理器;以及

非暂态计算机可读存储介质,其耦接至处理器并且存储由处理器执行的程序,其中,所述程序在由处理器执行时将解码器配置成执行根据第一方面至第二十四方面中任一项所述的方法。

第三十方面的一种编码器,包括:

一个或更多个处理器;以及

非暂态计算机可读存储介质,其耦接至处理器并且存储由处理器执行的程序,其中,所述程序在由处理器执行时将编码器配置成执行根据第一方面至第二十四方面中任一项所述的方法。

另外,本公开内容公开了以下三十四个另外的方面:

第一方面的一种使用线性模型对当前色度块进行帧内预测的方法,包括:

-确定用于与当前色度块并置的亮度块的滤波器,其中,所述确定基于分区数据来进行;

-选择与色度块相邻(例如,与当前块的左侧或顶侧相邻的行/列中的一个或若干个样本)的位置;

-基于所选择的与色度块相邻的位置和分区数据确定亮度模板样本的位置,其中,所述亮度模板样本的位置取决于当前色度块内的样本的数量;

-在所确定的亮度模板样本位置中应用所确定的滤波器以获得在所选择的相邻位置处的经滤波的亮度样本,其中,在当前色度块包括的样本的数量不大于第一阈值的情况下,将滤波器选择为旁路滤波器;

-基于作为线性模型推导的输入的经滤波的重构亮度样本(例如,亮度样本集合包括与当前色度块并置的亮度块内部的经滤波的重构亮度样本以及该亮度块外部的经滤波的相邻亮度样本,例如,所确定的滤波器还可以被应用于当前块外部的相邻亮度样本)获得线性模型参数;

-将所确定的滤波器应用于包括与当前色度块并置的亮度块的重构亮度样本的区域以获得经滤波的重构亮度样本(例如,与当前色度块并置的亮度块内部的经滤波的重构亮度样本,以及在所选择的相邻位置处的亮度样本);以及

-基于所获得的线性模型参数和亮度块的经滤波的重构亮度样本(例如,当前块(例如与当前块并置的亮度块)内部的经滤波的重构亮度样本)执行分量间预测以获得当前色度块的预测器。

根据第一方面所述的方法的第二方面,其中,亮度模板样本的位置包括亮度模板样本的垂直位置,并且其中,从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+vOffset,其中,在当前色度块内的样本的数量不大于第二阈值(例如16)的情况下,将“vOffset”设置为1,或者,在当前色度块内的样本的数量大于所述第二阈值的情况下,将“vOffset”设置为0。

根据第一方面所述的方法的第三方面,其中,取决于色度样本的位置在色度块的上方还是左侧而不同地从色度垂直位置“yC”推导亮度模板样本的位置“yL”。

根据第三方面所述的方法的第四方面,其中,在与色度块相邻的对应的选择的位置在当前色度块上方的情况下,从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+vOffset,并且其中,在与色度块相邻的对应的选择的位置在当前色度块左侧的情况下,从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+1-vOffset。

根据第一方面至第四方面中任一项所述的方法的第五方面,其中,分区数据包括当前色度块内的样本的数量,在当前色度块内的样本的数量不大于阈值时,将具有系数[1]的旁路滤波器应用于与当前色度块并置的亮度块的模板参考样本。

根据第五方面所述的方法的第六方面,其中,分区数据还包括树类型信息,并且在使用双树译码执行图片(或图片的一部分,即图块或切片)的分区时,将具有系数[1]的旁路滤波器应用于与当前色度块并置的亮度块的模板参考样本。

根据前述方面中任一项所述的方法的第七方面,其中,通过对亮度分量和色度分量的两个值求平均来获得线性模型参数:

maxY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]])>>1。

-maxC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]])>>1。

-minY=(pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]])>>1。

-minC=(pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]])>>1。

根据前述方面中任一项所述的方法的第八方面,其中,线性模型参数包括使用DC值计算的偏移“b”的值,所述DC值是使用色度分量和亮度分量中的最小值和最大值获得的:

dcC=(minC+maxC+1)>>1

dcY=(minY+maxY+1)>>1

b=dcC-((a*dcY)>>k)。

根据第八方面所述的方法的第九方面,其中,DC值被计算如下:

dcC=(minC+maxC)>>1

dcY=(minY+maxY)>>1。

根据第一方面至第九方面中任一项所述的方法的第十方面,其中,确定滤波器包括:

基于亮度样本在当前块内的位置以及色度格式确定滤波器;或者

基于属于当前块的多个亮度样本在当前块内的相应位置以及色度格式,确定用于所述多个亮度样本的相应滤波器。

根据第一方面至第十方面中任一项所述的方法的第十一方面,其中确定滤波器包括:基于以下各项中的一项或更多项来确定滤波器:

子采样率信息(例如可以根据当前块所属的图片的色度格式从表中获得的SubWidthC和SubHeightC);

当前块所属的图片的色度格式(例如,其中,色度格式用于获得子采样率信息(例如SubWidthC和SubHeightC));

亮度样本在当前块中的位置;

属于当前块的亮度样本的数量;

当前块的宽度和高度;以及/或者

经子采样的色度样本相对于当前块内的亮度样本的位置。

根据第十一方面所述的方法的第十二方面,其中,在经子采样的色度样本不与对应的亮度样本并置的情况下,使用多个滤波器与子采样率信息(例如SubWidthC和SubHeightC,或者例如当前块的宽度和高度的值)之间的第一预设关系(例如表4)来确定滤波器;以及/或者,

在经子采样的色度样本与对应的亮度样本并置的情况下,使用多个滤波器与子采样率信息(例如SubWidthC和SubHeightC,或者例如当前块的宽度和高度的值)之间的第二预设关系或第三预设关系(例如表2或表3)来确定滤波器。

根据第十二方面所述的方法的第十三方面,其中,基于属于当前块的某些亮度样本(例如可用的亮度样本)的数量确定多个滤波器与子采样率信息(例如SubWidthC和SubHeightC,或者例如当前块的宽度和高度的值)之间的第二关系或第三关系(例如表2或表3)。

根据前述方面中任一项所述的方法的第十四方面,其中,色度格式包括YCbCr 4:4:4色度格式、YCbCr 4:2:0色度格式、YCbCr 4:2:2色度格式或单色。

根据前述方面中任一项所述的方法的第十五方面,其中,用作线性模型推导的输入的亮度样本的集合包括:

从经滤波的重构亮度样本(例如Rec′L[x,y])中子采样的边界亮度重构样本。

根据前述方面中任一项所述的方法的第十六方面,其中,基于下式获得当前色度块的预测器:

predC(i,j)=α·recL′(i,j)+β

其中,predC(i,j)表示色度样本,并且recL(i,j)表示对应的重构亮度样本(例如对应的重构亮度样本的位置在当前块内部)。

第十七方面的一种使用线性模型对色度块进行帧内预测的方法,包括:

-选择与色度块相邻(例如,与当前块的左侧或顶侧相邻的行/列中的一个或若干个样本)的位置;

-基于所选择的与色度块相邻的位置确定亮度模板样本的位置;

-在所确定的亮度模板样本的位置中应用滤波器以获得经滤波的亮度样本;

-基于作为线性模型推导的输入的经滤波的亮度样本获得线性模型参数;以及

-基于所获得的线性模型参数执行分量间预测以获得色度块的预测器。

根据第十七方面所述的方法的第十八方面,其中,亮度模板样本的位置还取决于色度块内的样本的数量。

根据第十八方面所述的方法的第十九方面,其中,亮度模板样本的位置包括亮度模板样本的垂直位置,并且,从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+vOffset,其中,SubHeightC是当前块的高度,在色度块内的样本的数量不大于第一阈值的情况下,将“vOffset”设置为第一值,或者在色度块内的样本的数量大于所述第一阈值的情况下,将vOffset”设置为第二值。

根据第十八方面所述的方法的第二十方面,其中,亮度模板样本的位置包括亮度模板样本的垂直位置,并且,从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+1-vOffset,其中,SubHeightC是当前块的高度,在色度块内的样本的数量不大于第一阈值的情况下,将“vOffset”设置为第一值,或者在色度块内的样本的数量大于所述第一阈值的情况下,将“vOffset”设置为第二值。

根据第十八方面所述的方法的第二十一方面,其中,亮度模板样本的位置包括亮度模板样本的水平位置,并且,从色度垂直位置“yC”推导亮度模板样本的水平位置“yL”如下:yL=(yC<<SubWidthC)+vOffset,其中,SubWidthC是当前块的宽度,在色度块内的样本的数量不大于第一阈值的情况下,将“vOffset”设置为第一值,或者在色度块内的样本的数量大于所述第一阈值的情况下,将vOffset”设置为第二值。

根据第十九方面至第二十一方面所述的方法的第二十二方面,其中,将第一阈值设置为16,在色度块内的样本的数量不大于16的情况下将“vOffset”设置为1,或者在色度块内的样本的数量大于16的情况下将“vOffset”设置为0。

根据前述方面中任一项所述的方法的第二十三方面,其中,取决于色度样本的位置在色度块的上方还是左侧而不同地从色度垂直位置“yC”推导亮度模板样本的位置“yL”。

根据第二十三方面所述的方法的第二十四方面,其中,在对应的选择的与色度块相邻的位置在当前色度块上方的情况下,从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+vOffset,并且其中,在对应的选择的与色度块相邻的位置在当前色度块左侧的情况下,从色度垂直位置“yC”推导亮度模板样本的垂直位置“yL”如下:yL=(yC<<SubHeightC)+1-vOffset。

根据第十九方面至第二十一方面以及第二十四方面中任一项所述的方法的第二十五方面,其中,SubHeightC取决于色度格式。

根据第二十五方面所述的方法的第二十六方面,其中,色度格式包括YCbCr 4:4:4色度格式、YCbCr 4:2:0色度格式、YCbCr 4:2:2色度格式或单色。

根据前述方面中任一项所述的方法的第二十七方面,其中,在色度块包括的样本的数量不大于第二阈值的情况下,将所述滤波器选择为旁路滤波器。

根据前述方面中任一项所述的方法的第二十八方面,其中,所述方法包括:

将所述滤波器应用于包括与当前色度块并置的亮度块的重构亮度样本的区域,以获得经滤波的重构亮度样本(例如,与当前色度块并置的亮度块内部的经滤波的重构亮度样本,以及在所选择的相邻位置处的亮度样本);以及

基于所获得的线性模型参数和亮度块的经滤波的重构亮度样本(例如当前块(例如,与当前块并置的亮度块)内部的经滤波的重构亮度样本)执行分量间预测。

第二十九方面的一种编码器(20),包括用于执行根据第一方面至第二十八方面中任一项所述的方法的处理电路。

第三十方面的一种解码器(30),包括用于执行根据第一方面至第二十八方面中任一项所述的方法的处理电路。

第三十一方面的一种计算机程序产品,包括用于执行根据第一方面至第二十八方面中任一项所述的方法的程序代码。

第三十二方面的一种携载程序代码的非暂态计算机可读介质,所述程序代码在由计算机装置执行时使所述计算机装置执行根据第一方面至第二十八方面中任一项所述的方法。

第三十三方面的一种解码器,包括:

一个或更多个处理器;以及

非暂态计算机可读存储介质,其耦接至处理器并且存储由处理器执行的程序,其中,所述程序在由处理器执行时将解码器配置成执行根据第一方面至第二十八方面中任一项所述的方法。

第三十四方面的一种编码器,包括:

一个或更多个处理器;以及

非暂态计算机可读存储介质,其耦接至处理器并且存储由处理器执行的程序,其中,所述程序在由处理器执行时将编码器配置成执行根据第一方面至第二十八方面中任一项所述的方法。

114页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:发信号通知用于帧内图像块补偿的预测器候选列表尺寸的方法和装置

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类