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

用于帧间预测的参数推导

文献发布时间:2023-06-19 18:37:28


用于帧间预测的参数推导

相关申请的交叉引用

本申请是申请日为2020年3月26日、申请号为202080024759.7、发明名称为“用于帧间预测的参数推导”的发明专利申请的分案申请,其基于2019年3月26日提交的国际专利申请号No.PCT/CN2019/079769的优先权和权益。上述申请的全部公开内容通过引用并入本文作为本申请的公开内容的一部分。

技术领域

本专利文档涉及视频处理技术、设备和系统。

背景技术

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

发明内容

描述了与数字视频处理相关以及例如与视频编解码中跨分量线性模型(Cross-Component Linear Model,CCLM)预测模式的简化的线性模型推导相关的设备、系统和方法。所描述的方法可以应用于现有的视频编解码标准(例如,高效视频编解码(HighEfficiency Video Coding,HEVC))和未来的视频编解码标准(例如,通用视频编解码(Versatile Video Coding,VVC))或编解码器。

在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:对于视频作为色度块的当前视频块和视频的比特流之间的转换,基于色度样点和对应的亮度样点来确定跨分量线性模型(CCLM)的参数;以及基于该确定来执行转换,其中,在cntT和cntL的和等于2的情况下,色度样点中的一些通过填充操作来获得,其中cntT和cntL分别指示从上邻近块和左邻近块中选择的样点的数量;其中,色度样点和对应的亮度样点被分组为两个数组G0和G1,每个数组包括两个色度样点和对应的亮度样点。

在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:对于视频作为色度块的当前视频块和视频的编解码表示之间的转换,基于当前视频块的左邻近块和上邻近块的可用性,确定是否推导用于推导跨分量线性模型(CCLM)的参数的亮度分量和色度分量的最大值和/或最小值;以及基于该确定来执行转换。

在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:对于视频作为色度块的当前视频块和视频的编解码表示之间的转换,确定亮度样点被下采样的位置,其中经下采样的亮度样点用于基于色度样点和经下采样的亮度样点来确定跨分量线性模型(CCLM)的参数,其中经下采样的亮度样点在与用于推导CCLM的参数的色度样点的位置相对应的位置处;以及基于该确定来执行转换。

在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:对于视频作为色度块的当前视频块和视频的编解码表示之间的转换,确定用以基于与当前视频块相关联的编解码条件来使用色度样点和亮度样点推导跨分量线性模型(CCLM)的参数的方法;以及基于该确定来执行转换。

在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:对于视频的当前视频块和视频的编解码表示之间的转换,基于当前视频块的所选择的邻近样点和参考块的对应的邻近样点来确定使用线性模型的编解码工具的参数;以及基于该确定来执行转换。

在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:对于视频的当前视频块和视频的编解码表示之间的转换,基于当前视频块的N个邻近样点和参考块的N个对应的邻近样点来确定局部照明补偿(LIC)工具的参数,其中当前视频块的N个邻近样点是基于N个邻近样点的位置来选择的;以及基于该确定来执行转换,其中LIC工具在转换期间使用当前视频块中的照明变化的线性模型。

在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:对于视频作为色度块的当前视频块和视频的编解码表示之间的转换,基于色度样点和对应的亮度样点来确定跨分量线性模型(CCLM)的参数;以及基于该确定来执行转换,其中色度样点中的一些通过填充操作来获得,并且色度样点和对应的亮度样点被分组为两个数组G0和G1,每个数组包括两个色度样点和对应的亮度样点。

在又一代表性方面,上述方法以处理器可执行代码的形式体现,并存储在计算机可读程序介质中。

在又一代表性方面,公开了一种被配置或可操作来执行上述方法的设备。该设备可以包括被编程来实施该方法的处理器。

在又一代表性方面,视频解码器装置可以实施本文描述的方法。

在附图、说明书和权利要求书中更详细地描述了所公开技术的上述和其他方面及特征。

附图说明

图1示出了用于推导用于跨分量预测的线性模型的权重的样点的位置的示例。

图2示出了将邻近样点分类成两个组的示例。

图3A示出了色度样点及其对应的亮度样点的示例。

图3B示出了对联合探索模型(Joint Exploration Model,JEM)中的跨分量线性模型(CCLM)进行下滤波的示例。

图4A和图4B分别示出了用于基于线性模型的预测的仅顶部邻近样点和仅左邻近样点的示例。

图5示出了作为对应的色度样点的函数的最小亮度值和最大亮度值之间的直线的示例。

图6示出了当前色度块及其邻近样点的示例。

图7示出了由仅使用左邻近样点的线性模型(LM-L)和仅使用上邻近样点的线性模型(LM-A)预测的色度块的不同部分的示例。

图8示出了左上邻近块的示例。

图9示出了要用于推导线性模型的样点的示例。

图10示出了相对于当前块的左列和左下列以及上行和右上行的示例。

图11示出了当前块及其参考样点的示例。

图12示出了当左邻近参考样点和上邻近参考样点两者可用时两个邻近样点的示例。

图13示出了当只有上邻近参考样点可用时的两个邻近样点的示例。

图14示出了当只有左邻近参考样点可用时的两个邻近样点的示例。

图15示出了当左邻近参考样点和上邻近参考样点两者可用时四个邻近样点的示例。

图16示出了LM推导中使用的查找表的示例。

图17示出了利用64个条目的LM参数推导过程的示例。

图18A至图18F示出了用于基于所公开技术的一些实施方式的视频处理的示例方法的流程图。

图19A和图19B是用于实施本文档中描述的可视媒体解码或可视媒体编码技术的硬件平台的示例的框图。

图20A和图20B示出了利用四个条目的LM参数推导过程的示例。图20A示出了当上邻近样点和左邻近样点两者可用时的示例,并且图20B示出了当只有上邻近样点可用而右上邻近样点不可用时的示例。

图21示出了用于推导LIC参数的邻近样点的示例。

具体实施方式

由于对更高分辨率的视频的日益增长的需求,视频编解码方法和技术在现代技术中无处不在。视频编解码器通常包括压缩或解压缩数字视频的电子电路或软件,并且正在不断改进以提供更高的编解码效率。视频编解码器将未压缩的视频转换为压缩格式,反之亦然。视频质量、用于表示视频的数据量(由比特率决定)、编码和解码算法的复杂性、对数据丢失和错误的敏感性、编辑的简易性、随机访问和端到端延迟(延迟时间)之间存在复杂的关系。压缩的格式通常符合标准视频压缩规范,例如高效视频编解码(HEVC)标准(也称为H.265或MPEG-H第2部分)、待最终确定的通用视频编解码(VVC)标准或其他当前和/或未来的视频编解码标准。

所公开的技术的实施例可以应用于现有的视频编解码标准(例如,HEVC、H.265)和未来的标准,以提高运行时性能。在本文档中使用章节标题来提高描述的可读性,并且不以任何方式将讨论或实施例(和/或实施方式)仅限制于各个章节。

1跨分量预测的实施例

跨分量预测是色度到亮度预测方法的一种形式,其在复杂度和压缩效率提高之间取得了良好平衡的折中。

1.1跨分量线性模型(CCLM)的示例

在一些实施例中并且为了减少跨分量冗余,在JEM中使用跨分量线性模型(CCLM)预测模式(也称为LM),对于该模式,通过使用如下线性模型,基于相同CU的重构亮度样点来预测色度样点:

pred

在此,pred

并且

在此,L(n)表示下采样的(对于颜色格式4:2:0或4:2:2)或原始(对于颜色格式4:4:4)的顶部邻近重构亮度样点和左邻近重构亮度样点,C(n)表示顶部邻近重构色度样点和左邻近重构色度样点,并且N的值等于当前色度编解码块的宽度和高度的最小值的两倍。

在一些实施例中并且对于具有正方形形状的编解码块,以上两个等式被直接应用。在其他实施例中并且对于非正方形编解码块,首先对较长边界的邻近样点进行子采样,以具有与较短边界相同的样点数量。图1示出了左重构样点和上重构样点的位置,以及CCLM模式中涉及的当前块的样点。

在一些实施例中,这种回归误差最小化计算是作为解码过程的一部分来执行的,而不仅仅是作为编码器搜索操作来执行的,因此不使用语法来传达α和β值。

在一些实施例中,CCLM预测模式还包括两个色度分量之间的预测,例如,根据Cb(蓝色差)分量预测Cr(红色差)分量。代替使用重构的样点信号,在残差域中应用CCLM Cb到Cr预测。这是通过将加权的重构Cb残差添加到原始Cr帧内预测以形成最终的Cr预测来实现的:

在此,resi

在一些实施例中,缩放因子α可以以与CCLM亮度到色度预测中类似的方式推导。唯一的区别是相对于误差函数的默认α值添加了回归代价,使得所推导的缩放因子被偏置朝向-0.5的默认值,如下所示:

在此,Cb(n)表示邻近的重构Cb样点,Cr(n)表示邻近的重构Cr样点,并且λ等于∑(Cb(n)·Cb(n))>>9。

在一些实施例中,CCLM亮度到色度预测模式被添加为一种附加的色度帧内预测模式。在编码器侧,再多添加了一个色度分量的RD代价检查用于选择色度帧内预测模式。当除了CCLM亮度到色度预测模式之外的帧内预测模式用于CU的色度分量时,CCLM Cb到Cr预测用于Cr分量预测。

1.2多模型CCLM的示例

在JEM中,有两种CCLM模式:单模型CCLM模式和多模型CCLM模式(MMLM)。如名称所示,单模型CCLM模式采用一个线性模型用于从整个CU的亮度样点预测色度样点,而在MMLM中,可以有两个模型。

在MMLM中,当前块的邻近亮度样点和邻近色度样点被分类成两个组,每个组被用作训练集以推导线性模型(即,特定的α和β是针对特定的组推导的)。另外,当前亮度块的样点也基于用于分类邻近亮度样点的相同规则来进行分类。

图2示出了将邻近样点分类成两个组的示例。阈值被计算为邻近的重构亮度样点的平均值。Rec′

1.3CCLM中的下采样滤波器的示例

在一些实施例中并且为了执行跨分量预测,对于4:2:0色度格式(其中4个亮度样点对应于1个色度样点),重构的亮度块需要被下采样以匹配色度信号的尺寸。CCLM模式中使用的默认下采样滤波器如下:

Rec'

在此,对于色度样点相对于亮度样点的位置的位置,下采样采用如图3A所示的“类型0”相位关系,例如水平地进行并置采样和竖直地进行间隙采样。

(6)中定义的示例性6抽头下采样滤波器被用作单模型CCLM模式和多模型CCLM模式的默认滤波器。

在一些实施例中且对于MMLM模式,编码器可以可替代地选择四个附加亮度下采样滤波器中的一个来应用于CU中的预测,并且发送滤波器索引来指示使用这些滤波器中的哪一个。如图3B所示,MMLM模式下的四个可选亮度下采样滤波器如下:

Rec'

Rec'

Rec'

Rec'

1.4多向LM(MDLM)

这种现有的实施方式提出了多向LM(MDLM)。在MDLM中,提出了两种附加的CCLM模式:LM-A,其中线性模型参数仅基于顶部邻近(或上邻近)样点推导,如图4A所示;LM-L,其中线性模型参数仅基于左邻近样点推导,如图4B所示。

1.5跨分量线性模型简化

这种现有的实施方式提出用直线方程代替线性模型参数α和β的LMS算法,即所谓的两点法。两个点(亮度和色度对)(A,B)是邻近亮度样点集内的最小值和最大值,如图5所描绘的。

本文中,线性模型参数α和β是根据下式获得的:

在一些实施例中,避免了推导α中所需的除法运算,并且其由如下的乘法和移位代替:

a=0;

iShift=16;

int shift=(uiInternalBitDepth>8)?uiInternalBitDepth-9:0;

int add=shift?1<<(shift-1):0;

int diff=(MaxLuma-MinLuma+add)>>shift;

if(diff>0)

{

int div=((MaxChroma-MinChroma)*g_aiLMDivTableLow[diff-1]+32768)>>16;

a=(((MaxChroma-MinChroma)*g_aiLMDivTableHigh[diff-1]+div+add)>>shift);

}

b=MinLuma[1]-((a*MinLuma[0])>>iShift);

本文中,S被设置为等于iShift,α被设置为等于a,且β被设置为等于b。另外,g_aiLMDivTableLow和g_aiLMDivTableHigh是各自具有512个条目的两个表,其中每个条目存储16比特的整数。

为了推导色度预测值,对于当前的VTM实施方式,乘法被如下的整数运算代替:

pred

这个实施方式也比当前的VTM实施方式简单,因为移位S总是具有相同的值。

1.6 VVC中的CCLM的示例

VTM-2.0中采用了JEM中的CCLM,但在VTM-2.0中没有采用JEM中的CCLM。MDLM和简化的CCLM已经被用到VTM-3.0中。

1.7 JEM中的局部照明补偿的示例

局部照明补偿(Local Illumination Compensation,LIC)基于照明变化的线性模型、使用缩放因子a和偏移b。并且对于每个模式间编解码的编解码单元(coding unit,CU)自适应地启用或禁用局部照明补偿。

当LIC适用于CU时,采用最小二乘法来通过使用当前CU的邻近样点及其对应的参考样点来推导参数a和b。更具体地,如图21所示,使用参考图片中的CU和相对应的像素(由当前CU或子CU的运动信息标识)的子采样(2:1子采样)邻近样点。分离地针对每个预测方向推导和应用IC参数。

当以2Nx2N Merge模式对CU进行编解码时,以类似于Merge模式中的运动信息复制的方式,从邻近块复制LIC标记;否则,LIC标记被信令通知CU以指示LIC是否适用。

当对图片启用LIC时,需要进行附加的CU级别RD检查,以确定LIC是否适用于CU。当启用LIC用于CU时,均值移除的绝对差和(MR-SAD)和均值移除的绝对哈达玛变换差和(MR-SATD)而不是SAD和SATD,分别用于整数像素运动搜索和分数像素运动搜索。

为了降低编码复杂度,JEM中应用了以下编码方案:

当当前图片与其参考图片之间没有明显的照明变化时,针对整个图片禁用LIC。为了标识这种情况,在编码器处计算当前图片的直方图和当前图片的每个参考图片。如果当前图片与当前图片的每个参考图像之间的直方图差异小于给定阈值,则针对当前图片禁用LIC;否则,针对当前图片启用LIC。

2现有实施方式中的缺点的示例

当前实施方式引入了两点法来代替JEM中的LM模式的LMS方法。尽管新方法减少了CCLM中的加法和乘法的数量,但其也带来了以下问题:

1)引入比较来寻找最小和最大亮度值,这对于单指令多数据(SIMD)软件设计来说并不友好。

2)引入了具有存储16比特数字的总共1024个条目的两个查找表,其中2K ROM内存要求在硬件设计中不是期望的。

3视频编解码中用于跨分量预测的示例性方法

目前公开的技术的实施例克服了现有实施方式的缺点,从而提供具有更高编解码效率和更低计算复杂度的视频编解码。基于所公开的技术,用于跨分量预测的简化线性模型推导可以增强现有和未来的视频编解码标准,这将在以下针对各种实施方式描述的示例中进行阐述。下面提供的公开技术的示例解释了总体构思,并且不意味着被解释为限制性的。在示例中,除非明确指出相反的情况,否则这些示例中描述的各种特征可以被组合。

在以下示例和方法中,术语“LM方法”包括但不限于JEM或VTM中的LM模式以及JEM中的MMLM模式、仅使用左邻近样点来推导线性模型的左LM模式、仅使用上邻近样点来推导线性模型的上LM模式或利用亮度重构样点来推导色度预测块的其他种类的方法。所有不是LM-L或LM-A的LM模式被称为正常LM模式。

在以下示例和方法中,Shift(x,s)定义为Shift(x,s)=(x+off)>>s,并且SignShift(x,s)定义为

本文中,off是诸如0或2

当前色度块的高度和宽度分别表示为H和W。

图6示出了当前色度块的邻近样点的示例。令当前色度块的左上样点的坐标表示为(x,y)。然后,邻近色度样点(如图6所示)表示为:

A:左侧处的顶部样点:[x-1,y],

B:左侧处的顶部中间样点:[x-1,y+H/2-1],

C:左侧处的底部中间样点:[x-1,y+H/2],

D:左侧处的底部样点:[x-1,y+H-1],

E:左侧处的扩展底部的顶部样点:[x-1,y+H],

F:左侧处的扩展底部的顶部中间样点:[x-1,y+H+H/2-1],

G:左侧处的扩展底部的底部中间样点:[x-1,y+H+H/2],

I:左侧处的扩展底部的底部样点:[x-1,y+H+H-1],

J:上方处的左样点:[x,y-1],

K:上方处的左侧中间样点:[x+W/2-1,y-1],

L:上方处的右侧中间样点:[x+W/2,y-1],

M:上方处的右样点:[x+W-1,y-1],

N:上方处的扩展上方的左样点:[x+W,y-1],

O:上方处的扩展上方的左侧中间样点:[x+W+W/2-1,y-1],

P:上方处的扩展上方的右侧中间样点:[x+W+W/2,y-1],以及

Q:上方处的扩展上方的右样点:[x+W+W-1,y-1]。

a.该推导也取决于所选择的色度样点的对应的下采样的亮度样点。

可替代地,该推导也取决于所选择的色度样点的对应的亮度样点,诸如当它为4:4:4颜色格式时。

b.例如,CCLM中的参数α和β从2

i.位置{A,D,J,M};

ii.位置{A,B,C,D,J,K,L,M};

iii.位置{A,I,J,Q};

iv.位置{A,B,D,I,J,K,M,Q};

v.位置{A,B,D,F,J,K,M,O};

vi.位置{A,B,F,I,J,K,O,Q};

vii.位置{A,C,E,I,J,L,N,Q};

viii.位置{A,C,G,I,J,L,P,Q};

ix.位置{A,C,E,G,J,L,N,P};

x.位置{A,B,C,D};

xi.位置{A,B,D,I};

xii.位置{A,B,D,F};

xiii.位置{A,C,E,I};

xiv.位置{A,C,G,I};

xv.位置{A,C,E,G};

xvi.位置{J,K,L,M};

xvii.位置{J,K,M,Q};

xviii.位置{J,K,M,O};

xix.位置{J,K,O,Q};

xx.位置{J,L,N,Q};

xxi.位置{J,L,P,Q};

xxii.位置{J,L,N,P};

xxiii.位置{A,B,C,E,E,F,G,I};

xxiv.位置{J,K,L,M,N,O,P,Q};

c.例如,CCLM中的参数α和β从以下处的色度样点推导:

i.{A,B,C,D,E,F,G,I}和{J,K,L,M,N,O,P,Q}之间的任何组合,诸如

(a)位置A和J;

(b)位置B和K;

(c)位置C和L;

(d)位置D和M;

(e)位置E和N;

(f)位置F和O;

(g)位置G和P;

(h)位置I和Q;

ii.从{A,B,C,D,E,F,G,}中提取的任何两个不同的位置

(a)位置A和B;

(b)位置A和C;

(c)位置A和D;

(d)位置A和E;

(e)位置A和F;

(f)位置A和G;

(g)位置A和I;

(h)位置D和B;

(i)位置D和C;

(j)位置E和B;

(k)位置E和C;

(l)位置I和B;

(m)位置I和C;

(n)位置I和D;

(o)位置I和E;

(p)位置I和F;

(q)位置I和G;

iii.从{J,K,L,M,N,O,P,Q}中提取的任何两个不同的位置

(a)位置J和K;

(b)位置J和L;

(c)位置J和M;

(d)位置J和N;

(e)位置J和O;

(f)位置J和P;

(g)位置J和Q;

(h)位置M和K;

(i)位置M和L;

(j)位置N和K;

(k)位置N和L;

(l)位置Q和K;

(m)位置Q和L;

(n)位置Q和M;

(o)位置Q和N;

(p)位置Q和O;

(q)位置Q和P;

(r)位置Q和Q;

iv.在一个示例中,如果两个所选择的位置具有相同的亮度值,则可以进一步检查更多个位置。

d.例如,不是所有可用的色度样点都被搜索以找到最小和最大亮度值,从而用两点法推导CCLM中的参数α和β。

i.K个色度样点中的一个色度样点(及其对应的下采样的亮度样点)被包括在搜索集中。K可以是2、4、6或8。

(a)例如,如果Rec[x,y]是上邻近样点,则只有在x%K==0的情况下,它才被包括在搜索集中。如果Rec[x,y]是左邻近样点,则只有在y%K==0的情况下,它才被包括在搜索集中。

ii.搜索集中仅包括特定位置(诸如1.a.i~1.a.xxiv中定义的位置)处的色度样点。

e.对于模式LM-L,所有选择的样点必须是左邻近样点。

f.对于模式LM-A,所有选择的样点必须是上邻近样点。

g.所选择的位置可以是固定的,或者它们可以是自适应的。

i.在一个示例中,选择哪些位置可以取决于当前色度块的宽度和高度;

ii.在一个示例中,可以从编码器向解码器信令通知选择哪些位置,诸如在VPS/SPS/PPS/条带头/片组头/片/CTU/CU/PU中。

h.所选择的色度样点用于利用Eq(2)和Eq(3)所示的最小均方方法推导参数α和β。在Eq(2)和Eq(3)中,N被设置为所选择的样点的数量。

i.一对所选择的色度样点用于利用两点法推导参数α和β。

j.在一个示例中,如何选择样点可以取决于邻近块的可用性。

i.例如,如果左邻近块和上邻近块两者是可用的,则选择位置A、D、J和M;如果只有左邻近块是可用的,则选择位置A和位置D;并且如果只有上邻近块是可用的,则选择位置J和M。

a.在一个示例中,α被计算为α

i.在一个示例中,α=SignShift(α

ii.在一个示例中,α=Shift(α

iii.如果(α

(a)α

(b)α

(c)α

b.组1和组2中的位置的一些示例:

ii.组1:位置A和D,组2:位置J和M。

iii.组1:位置A和I,组2:位置J和Q。

iv.组1:位置A和D,组2:位置E和I,其中有两个组用于模式LM-L。

v.组1:位置J和M,组2:位置N和Q,其中有两个组用于模式LM-A。

vi.组1:位置A和B,组2:位置C和D,其中有两个组用于模式LM-L。

vii.组1:位置J和K,组2:位置L和M,其中有两个组用于模式LM-A。

亮度样点和色度样点的比特深度表示为BL和BC。该实施方式的一个或多个简化包括:

a.如果L1等于L0,则α被输出为0。可替代地,当L1等于L0时,使用某种帧内预测模式(例如,DM模式、DC或平面)来代替使用CCLM模式来推导预测块。

b.除法运算被没有查找表的其他运算代替。log2运算可以通过检查最高有效数字的位置来实施。

i.α=Shift(C1-C0,Floor(log

α=SignShift(C1-C0,Floor(log

ii.α=Shift(C1-C0,Ceiling(log

α=SignShift(C1-C0,Ceiling(log

iii.示例i或示例ii可以基于L1-L0的值来选择。

(a)例如,如果L1-L0

T可以是

(Floor(log

(b)例如,如果

(c)例如,如果

c.除法运算被表示为M[k]的一个查找表代替。

i.表示为V的查找表的尺寸小于2

ii.查找表的每个条目存储F比特整数,例如,F=8或16。

(a)在一个示例中,M[k-Z]=((1<>1。Z定义表的开始值,例如,Z=1,或Z=8,或Z=32。查询表的有效键k必须满足k>=Z。

iii.k=Shift(L1-L0,W)用作查询查找表的键。

(a)在一个示例中,W取决于BL、V和Z。

(b)在一个示例中,W也取决于L1-L0的值。

iv.如果k不是查询查找表的有效键(k-Z<0或者k-Z>=V),则被

α输出为0。

v.例如,

α=Shift((C1-C0)×M[k-Z],D),或

α=SignShift((C1-C0)×M[k-Z],D)

vi.为了从其对应(例如,针对4:2:0进行下采样)的亮度样点LR

得到色度预测CP,其被计算为

CP=SignShift(α×LR+β,Sh),或

CP=Shift(α×LR+β,Sh)

vii.Sh可以是固定数,或者其可以取决于用于计算α和β的C0、C1、L0、L1的值。

(a)Sh可以取决于BL、BC、V、S和D。

(b)D可以取决于Sh。

viii.表示为V的查找表的尺寸等于2

7或8。可替代地,将V设置为2

ix.假设α=P/Q(例如,Q=L1-L0,P=C1-C0,或者它们以其他方式推导),则α用查找表计算为α=Shift(P×M[k-Z],D)或α=SignShift(P×M[k-Z],D),其中k是查询查找表中的条目的键(索引)。

(a)在一个示例中,k利用函数k=f(Q)从Q推导。

(b)在一个示例中,k利用函数k=f(Q,P)从Q和P推导。

(c)在一个示例中,k在特定范围[kMin,kMax]内有效。例如,kMin=Z并且kMax=V+Z。

(d)在一个示例中,k=Shift(Q,W),

a.W可以取决于BL、V和Z。

b.W可以取决于Q的值。

c.在一个示例中,当k被计算为Shift(Q,W)时,则α利用查找表被计算为

α=(Shift(P×M[k-Z],D))<

α=(SignShift(P×M[k-Z],D))<

(e)在一个示例中,k以不同的方式用Q的不同值推导。

a.例如,当Q<=kMax时,k=Q,并且当Q>kMax时,k=Shift(Q,W)。例如,选择W作为最小正整数,这使得Shift(Q,W)不大于kMax。

b.例如,k=Min(kMax,Q)。

c.例如,k=Max(kMin,Min(kMax,Q))。

(f)在一个示例中,当Q<0时,在计算中用-Q代替Q。然后–α是输出。

(g)在一个示例中,当Q等于0时,则α被设置为默认值,诸如0或1。

(h)在一个示例中,当Q等于2

d.推导LM参数的所有运算必须在K比特内,K可以是8、10、12、16、24或32。

i.如果中间变量可以超过受约束比特所代表的范围,则应该将其裁剪或右移至受约束比特内。

a.在一个示例中,LM-L和LM-A模式可以在单个色度块中进行组合。

b.在一个示例中,一些样点通过LM-L模式预测,并且其他样点通过LM-A模式预测。

i.图7示出了示例。假设左上样点处于位置(0,0)。位置(x,y)(其中x>y(或x>=y))处的样点通过LM-A预测,并且其他样点通过LM-L预测。

c.假设对位置(x,y)处的样点利用LM-L和LM-A的预测分别被表示为P1(x,y)和P2(x,y),则最终预测P(x,y)被计算为P1(x,y)和P2(x,y)的加权和。

i.P(x,y)=w1*P1(x,y)+w2*P2(x,y)(a)w1+w2=1。

ii.P(x,y)=(w1*P1(x,y)+w2*P2(x,y)+Offset)>>shift,其中offset可以是0或1<<(shift-1),并且shift是整数,诸如1、2、3……。(a)w1+w2=1<

iii.P(x,y)=(w1*P1(x,y)+((1<>shift,其中offset可以是0或1<<(shift-1),并且shift是整数,诸如1、2、3……。

iv.w1和w2可以取决于位置(x,y)。

(a)例如,如果xw2(例如,w1=3,w2=1),

(b)例如,如果x>y,则w1

(c)例如,如果x==y,则w1=w2(例如,w1=2,w2=2),

(d)例如,当x

(e)例如,当x>y时,如果x-y增加,则w2–w1增加。

a.在一个示例中,MaxL被计算为MaxL=f1(MaxL

β=MinC-αMinL

i.在一个示例中,f1、f2、f3、f4全部表示平均函数。

ii.S0、S1、……、Sm是用于计算α和β的所选择的组的索引。

(1)例如,使用所有组,例如,S0=0、S1=1、……、Sm=N-1。

(2)例如,使用两个组,例如,m=1、S0=0、S1=N-1。

(3)例如,不是所有组都被使用,例如,m

b.在一个示例中,位于上行处的样点(或下采样的样点)可以被分类到一个组,并且位于块的左列处的样点(或下采样的样点)可以被分类到另一组。

c.在一个示例中,样点(或下采样的样点)基于它们的位置或坐标来分类。

i.例如,样点可以被分类为两个组。

(1)对于坐标(x,y)位于上行处的样点,如果x%P=Q,则将其分类为组S0,其中P和Q是整数,例如,P=2、Q=1、P=2、Q=0或P=4、Q=0;否则,它被分类为组S1。

(2)对于坐标(x,y)位于左列处的样点,如果y%P=Q,则将其分类为组S0,其中P和Q是整数,例如,P=2、Q=1、P=2、Q=0或P=4、Q=0;否则,它被分类为组S1。

(3)只有一个组(诸如S0)中的样点用于寻找MaxC和MaxL。例如,MaxL=MaxLS0并且MaxC=MaxCS0。

d.在一个示例中,仅部分邻近样点(或下采样的样点)用于被划分为N个组。

e.组的数量(例如,N)和/或所选择的组索引和/或函数(f1/f2/f3/f4)可以被预定义或在SPS/VPS/PPS/图片头/条带头/片组头/LCUs/LCU/CU中被信令通知。

f.在一个示例中,如何为每个组选择样点可以取决于邻近块的可用性。

i.例如,当左邻近块和上邻近块两者可用时,MaxL

ii.例如,当只有左邻近块可用时,MaxL/MaxC和MinL/MinC从位置A和D直接找到。

(1)可替代地,如果上邻近块不可用,则α和β被设置为等于一些默认值。例如,α=0并且β=1<<(bitDepth-1),其中bitDepth是色度样点的比特深度。

iii.例如,当只有上邻近块可用时,MaxL/MaxC和MinL/MinC从位置J和M直接找到。

(1)可替代地,如果左邻近块不可用,则α和β被设置为等于一些默认值。例如,α=0并且β=1<<(bitDepth-1),其中bitDepth是色度样点的比特深度。

g.在一个示例中,如何为每个组选择样点可以取决于块的宽度和高度。

h.在一个示例中,如何为每个组选择样点可以取决于样点的值。

i.在一个示例中,具有最大亮度值和最小亮度值的两个样点被挑选出以便在第一组中。并且所有其他样点在第二组中。

(a)例如,如果W>K×H,例如K=2,则不能应用LM-L。

(b)例如,如果H>K×W,例如K=2,则不能应用LM-A。

(c)如果LM-L和LM-A中的一个不能被应用,则不应该信令通知用于指示使用LM-L还是LM-A的标志。

(a)在一个示例中,如果左上邻近块应用CCLM模式,则使用第一上下文;以及如果左上邻近块不应用CCLM模式,则使用第二上下文。

(b)在一个示例中,如果左上邻近块不可用,则认为它不应用CCLM模式。

(c)在一个示例中,如果左上邻近块不可用,则认为它应用CCLM模式。

(d)在一个示例中,如果左上邻近块不是帧内编解码的,则认为它不应用CCLM模式。

(e)在一个示例中,如果左上邻近块不是帧内编解码的,则认为它应用CCLM模式。

(a)LM和DM的指示的编解码顺序(例如,首先编解码它是否是LM模式,如果不是,则编解码它是否是DM模式;或者首先编解码它是否是DM模式,如果不是,则编解码它是否是LM模式)可以取决于一个或多个邻近块的模式信息。

(b)在一个示例中,当当前块的左上块是可用的并且以LM模式编解码时,则LM模式的指示首先被编解码。

(c)可替代地,当当前块的左上块是可用的并且以DM模式编解码时,则DM模式的指示首先被编解码。

(d)可替代地,当当前块的左上块是可用的并且以非LM(例如,DM模式或除LM之外的其他帧内预测模式)编解码时,则DM模式的指示首先被编解码。

(e)在一个示例中,顺序的指示可以在SPS/VPS/PPS/图片头/条带头/片组头/LCUs/LCU/CU中被信令通知。

(a)以LM模式或LM-L模式,其可以使用邻近样点RecC[x-1,y+d],其中d在[T,S]的范围内。T可以小于0,并且S可以大于2H-1。例如,T=-4并且S=3H。在另一示例中,T=0,S=max(2H,W+H)。在又一示例中,T=0并且S=4H。

(b)以LM模式或LM-A模式,其可以使用邻近样点RecC[x+d,y],其中d在[T,S]的范围内。T可以小于0,并且S可以大于2W-1。例如,T=-4并且S=3W。在另一示例中,T=0,S=max(2W,W+H)。在又一示例中,T=0并且S=4W。

(a)在一个示例中,是否以及如何进行下采样可以取决于W和H。

(b)在一个示例中,在下采样过程之后,当前块左侧的用于推导参数的邻近样点的数量和当前块上方的用于推导参数的邻近样点的数量应该相同。

(c)在一个示例中,如果W等于H,则色度邻近样点及其对应的亮度样点(可以被下采样)不被下采样。

(d)在一个示例中,如果W

(i)在一个示例中,每个H/W色度样点中的一个色度样点被挑选用于推导α和β。其他色度样点被丢弃。例如,假设R[0,0]表示当前块的左上样点,则R[-1,K*H/W](K从0到W-1)被挑选用于推导α和β。

(e)在一个示例中,如果W>H,则当前块上方的色度邻近样点及其对应的亮度样点(可以被下采样)被下采样。

(ii)在一个示例中,每个W/H色度样点中的一个色度样点被挑选用于推导α和β。其他色度样点被丢弃。例如,假设R[0,0]表示当前块的左上样点,则R[K*W/H,-1](K从0到H-1)被挑选用于推导α和β。

(ii)图9示出了当使用图6中的位置D和位置M推导α和β时要挑选的样点以及在W>H时执行的下采样的示例。

(a)“待细化”可以指滤波处理。

(b)“待细化”可以指任何非线性处理。

(c)提出挑选几个邻近样点(包括色度样点及其可以被下采样的对应的亮度样点)来计算C1、C0、L1和L0,以便推导α和β,诸如α=(C1-C0)/(L1-L0)并且β=C0-αL0。

(d)在一个示例中,表示为Lx1、Lx2、……、LxS的S个邻近亮度样点(可以被下采样)及其表示为Cx1、Cx2、……、CxS的对应的色度样点用于推导C0和L0,并且表示为Ly1、Ly2、……、LyT的T个邻近亮度样点(可以被下采样)及其表示为Cy1、Cy2、……、CyT的对应的色度样点用于推导C1和L1,如下:

(i)C0=f0(Cx1,Cx2,…CxS),L0=f1(Lx1,Lx2,…LxS),C1=f2(Cy1,Cy2,…CyT),L1=f4(Ly1,Ly2,…LyT)。f0、f1、f2和f3是任何函数。

(ii)在一个示例中,f0与f1相同。

(iii)在一个示例中,f2与f3相同。

(iv)在一个示例中,f0、f1、f2、f3是相同的。

1.例如,它们都是平均函数。

(v)在一个示例中,S等于T。

1.在一个示例中,集合{x1,x2,…xS}与集合{y1,y2,…,yT}相同。

(vi)在一个示例中,选择Lx1、Lx2、……、LxS作为亮度样点组中的最小S个亮度样点。

1.例如,亮度样点组包括在VTM-3.0中用于推导CCLM线性参数的所有邻近样点。

2.例如,亮度样点组包括在VTM-3.0中用于推导CCLM线性参数的部分邻近样点。

a.例如,亮度样点组包括四个样点,如图2-图5所示。

(vii)在一个示例中,选择Ly1、Ly2、……、LyS作为亮度样点组中的最大S个亮度样点。

1.例如,亮度样点组包括在VTM-3.0中用于推导CCLM线性参数的所有邻近样点。

2.例如,亮度样点组包括在VTM-3.0中用于推导CCLM线性参数的部分邻近样点。

a.例如,亮度样点组包括四个样点,如图2-图5所示。

(a)在一个示例中,表示最大的邻近样点或下采样邻近样点位于位置(x0,y0)处。区域(x0-d1,y0)、(x0,y0-d2)、(x0+d3,y0)、(x0,y0+d4)中的样点可以用于选择其他样点。整数{d1,d2,d3,d4}可以取决于位置(x0,y0)。例如,如果(x0,y0)是当前块的左侧,则d1=d3=1并且d2=d4=0。如果(x0,y0)是当前块的上方,则d1=d3=0并且d2=d4=1。

(b)在一个示例中,表示最小的邻近样点或下采样邻近样点位于位置(x1,y1)处。区域(x1-d1,y1)、(x1,y1-d2)、(x1+d3,y1)、(x1,y1+d4)中的样点可以用于选择其他样点。整数{d1,d2,d3,d4}可以取决于位置(x1,y1)。例如,如果(x1,y1)是当前块的左侧,则d1=d3=1并且d2=d4=0。如果(x1,y1)是当前块的上方,则d1=d3=0并且d2=d4=1。

(c)在一个示例中,以上样点表示一个颜色分量(例如,亮度颜色分量)的样点。CCLM/跨颜色分量过程中使用的样点可以通过第二颜色分量的对应坐标来推导。

(d)可以使用类似的方法来推导最小的样点。

(a)另外,可替代地,它可以取决于邻近样点的可用性,诸如左列或上行或右上行或左下列是否可用。图10描绘了相对于块的左列/

上行/右上行/左下列的构思。

(b)另外,可替代地,它可以取决于位于特定位置的样点的可用性,诸如第一右上样点和/或第一左下样点是否可用。

(c)另外,可替代地,它可以取决于块大小。

(i)另外,可替代地,它可以取决于当前色度(和/或亮度)块的宽度和高度之间的比率。

(ii)另外,可替代地,它可以取决于宽度和/或高度是否等于K(例如,K=2)。

(d)在一个示例中,当当前模式是正常LM模式时,可以应用以下方式来选择色度样点(和/或下采样或非下采样的亮度样点):

(i)如果左列和上行两者是可用的,可以选择左列的两个样点和上行的两个样点。它们可以位于(假设当前块的左上坐标为(x,y)):

1.(x-1,y)、(x,y-1)、(x-1,y+H-1)和(x+W-1,y-1)

2.(x-1,y)、(x,y-1)、(x-1,y+H-H/W-1)和(x+W-1,y-1)。例如,当H大于W时。

3.(x-1,y)、(x,y-1)、(x-1,y+H-1)和(x+W-W/H-1,y-1)。例如,当H小于W时。

4.(x-1,y),(x,y-1),(x-1,y+H–max(1,H/W))和(x+W-max(1,W/H),y-1)。

(ii)如果只有上行是可用的,则仅从上行中选择样点。

1.例如,可以选择上行的四个样点。

2.例如,可以选择两个样点。

3.如何选择样点可以取决于宽度/高度。例如,在W>2时选择四个样点,并且在W=2时选择两个样点。

4.所选择的样点可以位于(假设当前块的左上坐标为(x,y)):

a.(x,y-1),(x+W/4,y-1),(x+2*W/4,y-1),(x+3*W/4,y–1)

b.(x,y-1),(x+W/4,y-1),(x+3*W/4,y–1),(x+W-1,y-1)

c.(x,y-1),(x+(2W)/4,y-1),(x+2*(2W)/4,y-1),(x+3*(2W)/4,y–1)。例如,当右上行可用时,或者当第一右上样点可用时。

d.(x,y-1),(x+(2W)/4,y-1),(x+3*(2W)/4,y–1),(x+(2W)-1,y-1)。例如,当右上行可用时,或者当第一右上样点可用时。

(iii)如果只有左列是可用的,则仅从左列中选择样点。

1.例如,可以选择左列的四个样点;

2.例如,可以选择左列的两个样点;

3.如何选择样点可以取决于宽度/高度。例如,在H>2时选择四个样点,并且在H=2时选择两个样点。

4.所选择的样点可以位于:

a.(x-1,y),(x-1,y+H/4),(x-1,y+2*H/4),(x-1,y+3*H/4)

b.(x-1,y),(x-1,y+2*H/4),(x-1,y+3*H/4),(x-1,y+H-1)

c.(x-1,y),(x-1,y+(2H)/4),(x-1,y+2*(2H)/4),(x-1,y+3*(2H)/4)。例如,当左下列可用时,或当第一左下样点可用时。

d.(x-1,y),(x-1,y+2*(2H)/4),(x-1,y+3*(2H)/4),(x-1,y+(2H)-1)。例如,当左下列可用时,或当第一左下样点可用时。

(iv)对于以上示例,可以仅选择四个样点中的两个。

(e)在一个示例中,当当前模式是LM-A模式时,它可以根据示例11

(d)(ii)来选择样点。

(f)在一个示例中,当当前模式是LM-L模式时,它可以根据示例11

(d)(iii)来选择样点。

(g)所选择的亮度样点(例如,根据所选择的色度位置)可以被分组为2个组,一个组具有所有所选择的样点的最大值和最小值,另一组具有所有剩余的样点。

(i)2个组的两个最大值被平均作为两点法中的最大值;2个组的两个最小值被平均作为两点法中的最小值,以推导LM参数。

(ii)当仅选择4个样点时,两个较大的样点值被平均,两个较小的样点值被平均,并且平均值用作两点法的输入,以推导LM参数。

a.在一个示例中,可以将W设置为当前块的宽度。

b.在一个示例中,可以将W设置为(L*当前块的宽度),其中L是整数值。

c.在一个示例中,当上块和左块两者可用时,可以将W设置为当前块的宽度。

i.可替代地,当左块不可用时,可以将W设置为(L*当前块的宽度),其中L是整数值。

ii.在一个示例中,L可以取决于右上块的可用性。可替代地,L可以取决于一个左上样点的可用性。

d.在一个示例中,W可以取决于编解码模式。

i.在一个示例中,如果当前块被编解码为LM模式,则可以将W设置为当前块的宽度;

ii.如果当前块被编解码为LM-A模式,则可以将W设置为(L*当前块的宽度),其中L是整数值。

(a)L可以取决于右上块的可用性。可替代地,L可以取决于一个左上样点的可用性。

e.假设当前块的左上坐标为(x0,y0),则选择位置(x0+F+K×S,y0-1)(其中K=0、1、2、……、kMax)处的上邻近样点。

f.在一个示例中,F=W/P。P是整数。

i.例如,P=2

ii.可替代地,F=W/P+offset。

g.在一个示例中,S=W/Q。Q是整数。

i.例如,Q=2

h.在一个示例中,F=S/R。R是整数。

i.例如,R=2

i.在一个示例中,S=F/Z。Z是整数。

i.例如,Z=2

j.kMax和/或F和/或S和/或offset可以取决于当前块的预测模式(诸如LM、LM-A或LM-L);

k.kMax和/或F和/或S和/或offset可以取决于当前块的宽度和/或高度。

l.kMax和/或F和/或S和/或offset可以取决于邻近样点的可用性。

m.kMax和/或F和/或S和/或offset可以取决于W。

n.例如,kMax=1,F=W/4,S=W/2,offset=0。另外,可替代地,如果当前块是LM编解码的,左邻近样点和上邻近样点两者是可用的,并且W>=4,则进行该设置。

o.例如,kMax=3,F=W/8,S=W/4,offset=0。另外,可替代地,如果当前块是LM编解码的,只有上邻近样点是可用的,并且W>=4,则进行该设置。

p.例如,kMax=3,F=W/8,S=W/4,offset=0。另外,可替代地,如果当前块是LM-A编解码的,并且W>=4,则进行该设置。

q.例如,kMax=1,F=0,S=1,offset=0。另外,可替代地,如果W等于2,则进行该设置。

a.在一个示例中,可以将H设置为当前块的高度。

b.在一个示例中,可以将H设置为(L*当前块的高度),其中L是整数值。

c.在一个示例中,当上块和左块两者可用时,可以将H设置为当前块的高度。

i.可替代地,当上块不可用时,可以将H设置为(L*当前块的高度),其中L是整数值。

ii.在一个示例中,L可以取决于左下块的可用性。可替代地,L可以取决于一个左下样点的可用性。

iii.可替代地,如果所需的右上邻近块是可用的,则可以将H设置为(当前块的高度+当前块的宽度)。

(a)在一个示例中,当左邻近样点不可用时,为LM-A模式和LM模式挑选相同的H个上邻近样点。

d.在一个示例中,H可以取决于编解码模式。

i.在一个示例中,如果当前块被编解码为LM模式,则可以将H设置为当前块的高度;

ii.如果当前块被编解码为LM-A模式,则可以将W设置为(L*当前块的高度),其中L是整数值。

(a)L可以取决于左下块的可用性。可替代地,L可以取决于一个左上样点的可用性。

(b)可替代地,如果所需的左下邻近块是可用的,则可以将W设置为(当前块的高度+当前块的宽度)。

(c)在一个示例中,当上邻近样点不可用时,为LM-L模式和LM模式挑选相同的W个左邻近样点。

e.假设当前块的左上坐标为(x0,y0),则选择位置(x0-1,y0+F+K×S)(其中K=0、1、2、……、kMax)处的左邻近样点。

f.在一个示例中,F=H/P。P是整数。

i.例如,P=2

ii.可替代地,F=H/P+offset。

g.在一个示例中,S=H/Q。Q是整数。

i.例如,Q=2

h.在一个示例中,F=S/R。R是整数。

i.例如,R=2

i.在一个示例中,S=F/Z。Z是整数。

i.例如,Z=2

j.kMax和/或F和/或S和/或offset可以取决于当前块的预测模式(诸如LM、LM-A或LM-L);

k.kMax和/或F和/或S和/或offset可以取决于当前块的宽度和/或高度。

l.kMax和/或F和/或S和/或offset可以取决于H。

m.kMax和/或F和/或S和/或offset可以取决于邻近样点的可用性。

n.例如,kMax=1,F=H/4,S=H/2,offset=0。另外,可替代地,如果当前块是LM编解码的,左邻近样点和上邻近样点两者是可用的,并且H>=4,则进行该设置。

o.例如,kMax=3,F=H/8,S=H/4,offset=0。另外,可替代地,如果当前块是LM编解码的,只有上邻近样点是可用的,并且H>=4,则进行该设置。

p.例如,kMax=3,F=H/8,S=H/4,offset=0。另外,可替代地,如果当前块是LM-L编解码的,并且H>=4,则进行该设置。

q.例如,如果H等于2,则kMax=1,F=0,S=1,offset=0。

a.在一个示例中,maxY/maxC和minY/minC从两个或四个邻近色度样点(和/或其可以被下采样的对应的亮度样点)推导,然后用于利用两点方法推导线性模型参数。

b.在一个示例中,如果有两个邻近色度样点(和/或其可以被下采样的对应的亮度样点)被选择来推导maxY/maxC和minY/minC,则minY被设置为较小的亮度样点值,并且minC是其对应的色度样点值;maxY被设置为较大的亮度样点值,并且maxC是其对应的色度样点值。

c.在一个示例中,如果有四个邻近色度样点(和/或其可以被下采样的对应的亮度样点)被选择来推导maxY/maxC和minY/minC,则亮度样点及其对应的色度样点被划分为两个数组G0和G1,每个数组包含两个亮度样点及其对应的亮度样点。

i.假设四个亮度样点及其对应的色度样点被表示为S0、S1、S2、S3,那么它们可以以任何顺序被划分为两个组。例如:

(a)G0={S0,S1},G1={S2,S3};

(b)G0={S1,S0},G1={S3,S2};

(c)G0={S0,S2},G1={S1,S3};

(d)G0={S2,S0},G1={S3,S1};

(e)G0={S1,S2},G1={S0,S3};

(f)G0={S2,S1},G1={S3,S0};

(g)G0={S0,S3},G1={S1,S2};

(h)G0={S3,S0},G1={S2,S1};

(i)G0={S1,S3},G1={S0,S2};

(j)G0={S3,S1},G1={S2,S0};

(k)G0={S3,S2},G1={S0,S1};

(l)G0={S2,S3},G1={S1,S0};

(m)G0和G1可以交换。

ii.在一个示例中,将G0[0]和G0[1]的亮度样点值进行比较,如果G0[0]的亮度样点值大于G0[1]的亮度样点值,则将G0[0]的亮度样点及其对应的色度样点与G0[1]的亮度样点及其对应的色度样点交换。

(a)可替代地,如果G0[0]的亮度样点值大于或等于G0[1]的亮度样点值,则将G0[0]的亮度样点及其对应的色度样点与G0[1]的亮度样点及其对应的色度样点交换。

(b)可替代地,如果G0[0]的亮度样点值小于G0[1]的亮度样点值,则将G0[0]的亮度样点及其对应的色度样点与G0[1]的亮度样点及其对应的色度样点交换。

(c)可替代地,如果G0[0]的亮度样点值小于或等于G0[1]的亮度样点值,则将G0[0]的亮度样点及其对应的色度样点与G0[1]的亮度样点及其对应的色度样点交换。

iii.在一个示例中,将G1[0]和G1[1]的亮度样点值进行比较,如果G1[0]的亮度样点值大于G1[1]的亮度样点值,则将G1[0]的亮度样点及其对应的色度样点与G1[1]的亮度样点及其对应的色度样点交换。

(a)可替代地,如果G1[0]的亮度样点值大于或等于G1[1]的亮度样点值,则将G1[0]的亮度样点及其对应的色度样点与G1[1]的亮度样点及其对应的色度样点交换。

(b)可替代地,如果G1[0]的亮度样点值小于G1[1]的亮度样点值,则将G1[0]的亮度样点及其对应的色度样点与G1[1]的亮度样点及其对应的色度样点交换。

(c)可替代地,如果G1[0]的亮度样点值小于或等于G1[1]的亮度样点值,则将G1[0]的亮度样点及其对应的色度样点与G1[1]的亮度样点及其对应的色度样点交换。

iv.在一个示例中,将G0[0]和G1[1]的亮度样点值进行比较,如果G0[0]的亮度样点值大于(或小于,或不大于,或不小于)G1[1]的亮度样点值,则交换G0和G1。

(a)在一个示例中,将G0[0]和G1[0]的亮度样点值进行比较,如果G0[0]的亮度样点值大于(或小于,或不大于,或不小于)G1[0]的亮度样点值,则交换G0和G1。

(b)在一个示例中,将G0[1]和G1[0]的亮度样点值进行比较,如果G0[1]的亮度样点值大于(或小于,或不大于,或不小于)

G1[0]的亮度样点值,则交换G0和G1。

(c)在一个示例中,将G0[1]和G1[1]的亮度样点值进行比较,如果G0[1]的亮度样点值大于(或小于,或不大于,或不小于)G1[1]的亮度样点值,则交换G0和G1。

v.在一个示例中,将G0[0]和G1[1]的亮度样点值进行比较,如果G0[0]的亮度样点值大于(或小于,或不大于,或不小于)G1[1]的亮度样点值,则交换G0[0]和G1[1]。

(a)在一个示例中,将G0[0]和G1[0]的亮度样点值进行比较,如果G0[0]的亮度样点值大于(或小于,或不大于,或不小于)G1[0]的亮度样点值,则交换G0[0]和G1[0]。

(b)在一个示例中,将G0[1]和G1[0]的亮度样点值进行比较,如果G0[1]的亮度样点值大于(或小于,或不大于,或不小于)G1[0]的亮度样点值,则交换G0[1]和G1[0]。

(c)在一个示例中,将G0[1]和G1[1]的亮度样点值进行比较,如果G0[1]的亮度样点值大于(或小于,或不大于,或不小于)G1[1]的亮度样点值,则交换G0[1]和G1[1]。

vi.在一个示例中,maxY被计算为G0[0]和G0[1]的亮度样点值的平均值,maxC被计算为G0[0]和G0[1]的色度样点值的平均值。

(a)可替代地,maxY被计算为G1[0]和G1[1]的亮度样点值的平均值,maxC被计算为G1[0]和G1[1]的色度样点值的平均值。

vii.在一个示例中,minY被计算为G0[0]和G0[1]的亮度样点值的平均值,minC被计算为G0[0]和G0[1]的色度样点值的平均值。可替代地,minY被计算为G1[0]和G1[1]的亮度样点值的平均值,minC被计算为G1[0]和G1[1]的色度样点值的平均值。

d.在一个示例中,如果只有两个邻近色度样点(和/或其可以被下采样的对应的亮度样点)是可用的,则它们首先被填充为四个色度样点(和/或其对应的亮度样点),然后四个色度样点(和/或其对应的亮度样点)用于推导CCLM参数。

i.在一个示例中,两个填充色度样点(和/或其对应的亮度样点)是从两个可用的邻近色度样点(和/或其可以被下采样的对应的亮度样点)复制的。

a.可替代地,当当前块以正常LM模式编解码时,可以应用以上限制。

b.可替代地,所选择的色度样点应当位于上行(即,具有W个样点)和具有H个样点的右上行内。

i.另外,可替代地,当当前块以LM-A模式编解码时,可以应用以上限制。

ii.另外,可替代地,当当前块以LM-A模式或正常LM模式编解码,其中上行可用但左列不可用时,可以应用以上限制。

c.可替代地,所选择的色度样点应当位于左列(即,具有H个样点)和具有W个样点的左下列内。

i.另外,可替代地,当当前块以LM-L模式编解码时,可以应用以上限制。

ii.另外,可替代地,当当前块以LM-L模式或正常LM模式编解码,其中上行不可用但左列可用时,可以应用以上限制。

在一个示例中,只有在需要对应的色度样点来推导CCLM参数的位置处的邻近亮度样点需要被下采样。

如何进行本文档中公开的方法可以取决于颜色格式(诸如4:2:0或4:4:4)。

a.可替代地,如何进行本文档中公开的方法可以取决于比特深度(诸如8比特或10比特)。

b.可替代地,如何进行本文档中公开的方法可以取决于颜色表示方法(如RGB或YCbCr)。

c.可替代地,如何进行本文档中公开的方法可以取决于颜色表示方法(如RGB或YCbCr)。

d.可替代地,如何进行本文档中公开的方法可以取决于色度下采样位置。

是否推导用于推导CCLM参数的亮度和色度分量的最大/最小值可以取决于左邻居和上邻居的可用性。例如,如果左邻近块和上邻近块两者不可用,则可以不推导用于推导CCLM参数的亮度和色度分量的最大/最小值。

a.是否推导用于推导CCLM参数的亮度和色度分量的最大/最小值可以取决于可用邻近样点的数量。例如,如果numSampL==0且numSampT==0,则可以不推导用于推导CCLM参数的亮度和色度分量的最大/最小值。在另一示例中,如果numSampL+numSampT==0,则可以不推导用于推导CCLM参数的亮度和色度分量的最大/最小值。在这两个示例中,numSampL和numSampT是左邻近块和上邻近块中的可用邻近样点的数量。

b.是否推导用于推导CCLM参数的亮度和色度分量的最大/最小值可以取决于用于推导参数的挑选的样点的数量。例如,如果cntL==0且cntT==0,则可以不推导用于推导CCLM参数的亮度和色度分量的最大/最小值。在另一示例中,如果cntL+cntT==0,则可以不推导用于推导CCLM参数的亮度和色度分量的最大/最小值。在这两个示例中,cntL和cntT是左邻近块和上邻近块中的挑选的样点的数量。

在一个示例中,所提出的推导在CCLM中使用的参数的方法可以用于推导在LIC中使用的参数或依赖于线性模型的其他编解码工具。

a.以上公开的示例可以被应用于LIC,诸如通过用“当前块的邻近样点”替换“色度邻近样点”,并用“参考块的邻近样点”替换“对应的亮度样点”。

b.在一个示例中,用于LIC参数推导的样点可以排除上行和/或左列中特定位置的样点。

i.在一个示例中,用于LIC参数推导的样点可以排除上行中的第一个样点。

(a)假设左上样点的坐标为(x0,y0),提出排除(x0,y0-1)以使用LIC参数。

ii.在一个示例中,用于LIC参数推导的样点可以排除左列中的第一个样点。

(a)假设左上样点的坐标为(x0,y0),提出排除(x0-1,y0)以使用LIC参数。

iii.是否应用以上方法和/或如何定义特定位置可以取决于左列/上行的可用性。

iv.是否应用以上方法和/或如何定义特定位置可以取决于块大小。

c.在一个示例中,当前块的N个邻近样点(其可以被下采样)和参考块的N个对应的邻近样点(其可以被相应地下采样)可以用于推导用于LIC的参数。

i.例如,N为4。

ii.在一个示例中,N个邻近样点可以被定义为来自上行的N/2个样点;以及来自左列的N/2个样点。

(a)可替代地,N个邻近样点可以被定义为来自上行或左列的N个样点。

iii.在另一示例中,N等于min(L,T),其中T是当前块的可用邻近样点(其可以被下采样)的总数。

(a)在一个示例中,L被设置为4。

iv.在一个示例中,N个样点的坐标的选择可以遵循在CCLM过程中用于选择N个样点的规则。

v.在一个示例中,N个样点的坐标的选择可以遵循在LM-A过程中用于选择N个样点的规则。

vi.在一个示例中,N个样点的坐标的选择可以遵循在LM-L过程中用于选择N个样点的规则。

vii.在一个示例中,如何选择N个样点可以取决于上行/左列的可用性。

d.在一个示例中,当前块的N个邻近样点(其可以被下采样)和参考块的N个对应的邻近样点(其可以被相应地下采样)用于推导在LIC中使用的参数,可以基于样点位置来挑选。

i.挑选方法可以取决于当前块的宽度和高度。

ii.挑选方法可以取决于邻近块的可用性。

iii.例如,如果上邻近样点和左邻近样点两者是可用的,则可以从左邻近样点中挑选K1个邻近样点,并且从上邻近样点中挑选K2个邻近样点。例如,K1=K2=2。

iv.例如,如果只有左邻近样点是可用的,则可以从左邻近样点中挑选K1个邻近样点。例如,K1=4。

v.例如,如果只有上邻近样点是可用的,则可以从上邻近样点中挑选K2个邻近样点。例如,K2=4。

vi.例如,可以用可以取决于当前块的大小和邻近块的可用性的第一位置偏移值(表示为F)和步长值(表示为S)来挑选上样点。

(a)例如,示例16中公开的方法可以被应用于推导F和S。

vii.例如,可以用可以取决于当前块的大小和邻近块的可用性的第一

位置偏移值(表示为F)和步长值(表示为S)来挑选左样点。

(a)例如,示例17中公开的方法可以被应用于推导F和S。

e.在一个示例中,当当前块被仿射编解码时,所提出的推导在CCLM中使用的参数的方法也可以用于推导在LIC中使用的参数。

f.以上方法可以用于推导在依赖于线性模型的其他编解码工具中使用的参数。

在另一示例中,提出了跨分量预测模式,其中根据预测模型用对应的重构亮度样点来预测色度样点,如等式12所示。在等式12中,PredC(x,y)表示色度的预测样点。α和β是两个模型参数。Rec’L(x,y)是下采样的亮度样点。

Pred

针对图11中的块A的亮度下采样过程引入了六抽头滤波器,如等式13所示。

Rec′L(x,y)=(2×RecL(2x,2y)+1×RecL(2x,2y+1)+Rec

图11中带有阴影的上周围亮度参考样点利用3抽头滤波器进行下采样,如等式14所示。左周围亮度参考样点根据等式15进行下采样。如果左样点或上样点不可用,则将使用在等式16和等式17中定义的2抽头滤波器。

Rec′

Rec′

Rec′

Rec′

具体地,周围亮度参考样点被下采样为与色度参考样点相等的尺寸。尺寸被表示为width和height。为了推导α和β,只涉及两个或四个邻近样点。当推导α和β时,应用查找表来避免除法运算。推导方法如下所示。

3.1具有多达两个样点的示例性方法

(1)width和height的比率r被计算为如等式18所示。

(2)如果上块和左块两者是可用的,则选择位于第一上线的posA和第一左线的posL的2个样点。为了简化描述,假设宽度为长边。posA和posL的推导如等式19所示(位置索引从0开始)。图12示出了不同宽度和高度比率的一些示例(分别为1、2、4和8)。所选择的样点带有阴影。

posA=width-r

posL=height (19)

(3)如果上块可用而左块不可用,则选择上线的第一点和posA点,如图13所示。

(4)如果左块可用而上块不可用,则选择左线的第一点和posL点,如图14所示。

(5)根据所选择的样点的亮度值和色度值推导色度预测模型。

(6)如果左块和上块都不可用,则使用默认预测模型,其中α等于0,β等于1<<(BitDepth-1),其中BitDepth表示色度样点的比特深度。

3.2具有多达四个样点的示例性方法

(1)width和height的比率r如等式18计算。

(2)如果上块和左块两者是可用的,则选择位于第一上线的第一个和posA、第一左线的第一个和posL的4个样点。posA和posL的推导在等式19中示出。图15示出了不同宽度和高度比率的一些示例(分别为1、2、4和8)。所选择的样点带有阴影。

(3)如果上块可用而左块不可用,则选择上线的第一点和posA点,如图13所示。

(4)如果左块可用而上块不可用,则选择左线的第一点和posL点,如图14所示。

(5)如果左块和上块都不可用,则使用默认预测模型,其中α等于0,β等于1<<(BitDepth-1),其中BitDepth表示色度样点的比特深度。

3.3在LM推导中使用查找表的示例性方法

图16示出了具有128、64和32个条目的查找表的示例,并且每个条目由16比特表示。两点LM推导过程如表1和图17所示被简化,其具有64个条目。应该注意的是,第一条目可以不被存储到表中。

还应该注意的是,尽管示例性表中的每个条目被设计为具有16比特,但是它可以容易地转换为具有更少比特的数(诸如8比特或12比特)。例如,具有8比特的条目的表可以被获得为:

g_aiLMDivTableHighSimp_64_8[i]=(g_aiLMDivTableHighSimp_64[i]+128)>>8。

例如,具有12比特的条目的表可以被获得为:

g_aiLMDivTableHighSimp_64_12[i]=(g_aiLMDivTableHighSimp_64[i]+8)>>4。

表1:简化的LM推导过程

应该注意的是,maxLuma和minLuma可以指示所选择的位置的最大亮度样点值和最小亮度样点值。可替代地,它们可以指示所选择的位置的最大亮度样点值和最小亮度样点值的函数,诸如平均。当仅选择4个位置时,它们也可以指示两个较大亮度值的平均值和两个较小亮度值的平均值。进一步要注意的是,在图17中,maxChroma和minChroma表示对应于maxLuma和minLuma的色度值。

3.3具有多达四个样点的方法#4

假设当前色度块的块宽度和块高度分别为W和H。并且当前色度块的左上坐标为[0,0]。

如果上块和左块两者是可用的,并且当前模式是正常LM模式(不包括LM-A和LM-L),则选择位于上行的2个色度样点和位于左列的2个色度样点。

两个上样点的坐标为[floor(W/4),-1]和[floor(3*W/4),-1]。

两个左样点的坐标为[-1,floor(H/4)]和[-1,floor(3*H/4)]。

如图20A所描绘的,所选择的样点被涂成红色。

随后,根据亮度样点强度对4个样点进行归类,并将其分类为2个组。两个较大样点和两个较小样点分别被平均。利用2个平均点推导跨分量预测模型。可替代地,四个样点的最大值和最小值用于推导LM参数。

如果上块可用而左块不可用,则当W>2时,从上块中选择四个色度样点,以及当W=2时,选择2个色度样点。

所选择的四个上样点的坐标为[W/8,-1]、[W/8+W/4,-1]、[W/8+2*W/4,-1]和[W/8+3*W/4,-1]。

如图20B所描绘的,所选择的样点被涂成红色。

如果左块可用而上块不可用,则当H>2时,从左块中选择四个色度样点,以及当H=2时,选择2个色度样点。

所选择的四个左样点的坐标为[-1,H/8]、[-1,H/8+H/4]、[-1,H/8+2*H/4,-1]和[-1,H/8+3*H/4]。

如果左块和上块都不可用,则使用默认预测,其中α等于0,β等于1<<(BitDepth-1),其中BitDepth表示色度样点的比特深度。

如果当前模式是LM-A模式,则当W’>2时,从上块中选择四个色度样点,以及当W’=2时,选择2个色度样点。W’是上邻近样点的可用数量,其可以为2*W。

所选择的四个上样点的坐标为[W’/8,-1]、[W’/8+W’/4,-1]、[W’/8+2*W’/4,-1]和[W’/8+3*W’/4,-1]。

如果当前模式是LM-L模式,则当H’>2时,从左块中选择四个色度样点,以及当H’=2时,选择2个色度样点。H’是左邻近样点的可用数量,其可以为2*H。

所选择的四个左样点的坐标为[-1,H’/8]、[-1,H’/8+H’/4]、[-1,H’/8+2*H’/4,-1]和[-1,H’/8+3*H’/4]。

3.5用于修改当前VVC标准以使用CCLM预测的示例实施例。

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

本章节中使用与VVC标准的当前草案中的等式编号相对应的等式编号来描述等式。

该过程的输入是:

–帧内预测模式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<<1,yTbC<<1) (8-155)

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

……

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

numSampT=availT?nTbW:0 (8-156)

numSampL=availL?nTbH:0 (8-157)

–否则,以下适用:

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

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

变量bCTUboundary被推导如下:

bCTUboundary=(yTbC&(1<<(CtbLog2SizeY-1)-1)==0)?

TRUE:FALSE. (8-160)

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

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

predSamples[x][y]=1<<(BitDepth

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

1. ……[当前规范没有变化]

2. ……

3. ……

4. ……

5. ……

6. ……[当前规范没有变化]

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

–变量minY被设置为等于1<<(BitDepth

–如果availL等于TRUE(真)且predModeIntra等于INTRA_LT_CCLM,则变量aboveIs4被设置为等于0;否则,它被设置为等于1。

–如果availT等于TRUE且predModeIntra等于INTRA_LT_CCLM,则变量LeftIs4被设置为等于0;否则,它被设置为等于1。

–变量数组startPos[]和pickStep[]被推导如下:

–startPos[0]=actualTopTemplateSampNum>>(2+aboveIs4);

–pickStep[0]=std::max(1,actualTopTemplateSampNum>>(1+aboveIs4));

–startPos[1]=actualLeftTemplateSampNum>>(2+leftIs4);

–pickStep[1]=std::max(1,actualLeftTemplateSampNum>>(1+leftIs4));

–变量cnt被设置为等于0。

–如果predModeIntra等于INTRA_LT_CCLM,则变量nSX被设置为等于nTbW,nSY被设置为等于nTbH;否则,nSX被设置为等于numSampLT,并且nSY被设置为等于numSampL。

–如果availT等于TRUE且predModeIntra不等于INTRA_L_CCLM,

则变量selectLumaPix、selectChromaPix被推导如下:

–当startPos[0]+cnt*pickStep[0]

–selectLumaPix[cnt]=pTopDsY[startPos[0]+cnt*pickStep[0]];

–selectChromaPix[cnt]=p[startPos[0]+cnt*pickStep[0]][-1];

–cnt++;

–如果availL等于TRUE且predModeIntra不等于INTRA_T_CCLM,则变量selectLumaPix、selectChromaPix被推导如下:

–当startPos[1]+cnt*pickStep[1]

–selectLumaPix[cnt]=pLeftDsY[startPos[1]+cnt*pickStep[1]];

–selectChromaPix[cnt]=p[-1][startPos[1]+cnt*pickStep[1]];

–cnt++;

–如果cnt等于2,则以下适用:

–如果selectLumaPix[0]>selectLumaPix[1],则minY被设置为等于selectLumaPix[1],minC被设置为等于selectChromaPix[1],maxY被设置为等于selectLumaPix[0],并且maxC被设置为等于selectChromaPix[0];否则,maxY被设置为等于selectLumaPix[1],maxC被设置为等于selectChromaPix[1],minY被设置为等于selectLumaPix[0],并且minC被设置为等于selectChromaPix[0]

–否则,如果cnt等于4,则以下适用:

–变量数组minGrpIdx和maxGrpIdx被初始化为:

–minGrpIdx[0]=0,minGrpIdx[1]=1,maxGrpIdx[0]=2,maxGrpIdx[1]=3;

–以下适用

–如果selectLumaPix[minGrpIdx[0]]>selectLumaPix[minGrpIdx[1]],则交换minGrpIdx[0]和minGrpIdx[1];

–如果selectLumaPix[maxGrpIdx[0]]>selectLumaPix[maxGrpIdx[1]],则交换maxGrpIdx[0]和maxGrpIdx[1];

–如果selectLumaPix[minGrpIdx[0]]>selectLumaPix[maxGrpIdx[1]],则交换minGrpIdx和maxGrpIdx;

–如果selectLumaPix[minGrpIdx[1]]>selectLumaPix[maxGrpIdx[0]],则交换minGrpIdx[1]和maxGrpIdx[0];

–maxY、maxC、minY和minC被推导如下:

–maxY=(selectLumaPix[maxGrpIdx[0]]+selectLumaPix[maxGrpIdx[1]]+1)>>1;

–maxC=(selectChromaPix[maxGrpIdx[0]]+selectChromaPix[maxGrpIdx[1]]+1)>>1;

–maxY=(selectLumaPix[minGrpIdx[0]]+selectLumaPix[minGrpIdx[1]]+1)>>1;

–maxC=(selectChromaPix[minGrpIdx[0]]+selectChromaPix[minGrpIdx[1]]+1)>>1;

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

[变化结束]

3.6关于所提出的CCLM预测的另一示例性工作草案

在本章节中,描述了示出可以对VVC标准的当前工作草案进行的修改的另一示例性实施例。在此,等式编号是指VVC标准中的对应等式编号。

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

[对当前VVC工作草案的添加如下]

在顶部和右上的可用邻近色度样点的数量numTopSamp和在左侧和左下的可用邻近色度样点的数量nLeftSamp被推导如下:

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

numSampT=availT?nTbW:0 (8-157)

numSampL=availL?nTbH:0 (8-158)

–否则,以下适用:

numSampT=(availT&&predModeIntra==INTRA_T_CCLM)?(nTbW+Min(numTopRight,nTbH)):0(8-159)

numSampL=(availL&&predModeIntra==INTRA_L_CCLM)?(nTbH+Min(numLeftBelow,nTbW)):0(8-160)

变量bCTUboundary被推导如下:

bCTUboundary=(yTbC&(1<<(CtbLog2SizeY-1)-1)==0)?TRUE:FALSE. (8-161)

变量cntN和数组pickPosN[](其中N被L和T代替)被推导如下:

–变量numIs4N被设置为等于((availN&&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被设置为等于(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<<(BitDepth

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

1.并置亮度样点pY[x][y](其中x=0..nTbW*2-1,y=0..nTbH*2-1)被设置为等于位置(xTbY+x,yTbY+y)处去方块滤波处理之前的重构亮度样点。

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

–当numSampL大于0时,邻近左亮度样点pY[x][y](其中x=-1..-3,y=0..2*numSampL-1)被设置为等于位置(xTbY+x,yTbY+y)处去方块滤波处理之前的重构亮度样点。

–当numSampT大于0时,邻近顶部亮度样点pY[x][y](其中x=0..2*numSampT-1,y=-1,-2)被设置为等于位置(xTbY+x,yTbY+y)处去方块滤波处理之前的重构亮度样点。

–当availTL等于TRUE时,邻近左上亮度样点pY[x][y](其中x=-1,y=-1,-2)被设置为等于位置(xTbY+x,yTbY+y)处去方块滤波处理之前的重构亮度样点。

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]=(pY[2*x][2*y-1]+pY[2*x-1][2*y]+4*pY[2*x][2*y]+pY[2*x+1][2*y]+pY[2*x][2*y+1]+4)>>3 (8-163)

–如果availL等于TRUE,则pDsY[0][y](其中y=1..nTbH-1)

被推导如下:

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

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

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

–如果availT等于TRUE,则pDsY[x][0](其中x=1..nTbW-1)

被推导如下:

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

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

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

–如果availL等于TRUE且availT等于TRUE,则pDsY[0][0]

被推导如下:

pDsY[0][0]=(pY[0][-1]+pY[-1][0]+4*pY[0][0]+pY[1][0]+pY[0][1]+4)>>3(8-168)

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

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

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

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

–否则(availL等于FALSE且availT等于FALSE),pDsY[0][0]

被推导如下:

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

–否则,以下适用:

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

pDsY[x][y]=(pY[2*x-1][2*y]+pY[2*x-1][2*y+1]+2*pY[2*x][2*y]+2*pY[2*x][2*y+1]+pY[2*x+1][2*y]+pY[2*x+1][2*y+1]+4)>>3 (8-172)

–如果availL等于TRUE,则pDsY[0][y](其中y=0..nTbH-1)

被推导如下:

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

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

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

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

–变量y被设置为等于pickPosL[idx]。

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

–如果y>0||availTL==TRUE,

pSelDsY[idx]=(pY[-2][2*y-1]+pY[-3][2*y]+4*pY[-2][2*y]+pY[-1][2*y]+pY[-2][2*y+1]+4)>>3 (8-175)

–否则,

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

–否则,以下适用:

pSelDsY[idx]=(pY[-1][2*y]+pY[-1][2*y+1]+2*pY[-2][2*y]+2*pY[-2][2*y+1]+pY[-3][2*y]+pY[-3][2*y+1]+4)>>3 (8-178)

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

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

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

–如果x>0:

–如果bCTUboundary等于FALSE,则以下适用:

pSelDsY[idx]=(pY[2*x][-3]+pY[2*x-1][-2]+4*pY[2*x][-2]+pY[2*x+1][-2]+pY[2*x][-1]+4)>>3 (8-179)

–否则(bCTUboundary等于TRUE),以下适用:

pSelDsY[idx]=(pY[2*x-1][-1]+2*pY[2*x][-1]+pY[2*x+1][-1]+2)>>2 (8-180)

–否则:

–如果availTL等于TRUE且bCTUboundary等于FALSE,

则以下适用:

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

–否则,如果availTL等于TRUE且bCTUboundary等于TRUE,则以下适用:

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

–否则,如果availTL等于FALSE且bCTUboundary等于FALSE,则以下适用:

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

–否则(availTL等于FALSE且bCTUboundary等于TRUE),

则以下适用:

pSelDsY[idx]=pY[0][-1] (8-184)

–否则,以下适用:

–如果x>0:

–如果bCTUboundary等于FALSE,则以下适用:

pSelDsY[idx]=(pY[2*x-1][-2]+pY[2*x-1][-1]+2*pY[2*x][-2]+2*pY[2*x][-1]+pY[2*x+1][-2]+pY[2*x+1][-1]+4)>>3 (8-185)

–否则(bCTUboundary等于TRUE),以下适用:

pSelDsY[idx]=(pY[2*x-1][-1]+2*pY[2*x][-1]+pY[2*x+1][-1]+2)>>2 (8-186)

–否则:

–如果availTL等于TRUE且bCTUboundary等于FALSE,

则以下适用:

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

–否则,如果availTL等于TRUE且bCTUboundary等于TRUE,则以下适用:

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

–否则,如果availTL等于FALSE且bCTUboundary等于FALSE,则以下适用:

pSelDsY[idx]=(pY[0][-2]+pY[0][-1]+1)>>1 (8-189)

–否则(availTL等于FALSE且bCTUboundary等于TRUE),

以下适用:

pSelDsY[idx]=pY[0][-1] (8-190)

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

–当cntT+cntL等于2时,设置pSelC[idx+2]=pSelC[idx]以及pSelDsY[idx+2]=pSelDsY[idx],其中idx=0和1。

–数组minGrpIdx[]和maxGrpIdx[]被设置为:minGrpIdx[0]=0,minGrpIdx[1]=1,maxGrpIdx[0]=2,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 (8-208)

a=0 (8-209)

b=1<<(BitDepth

–否则,以下适用:

diff=maxY-minY (8-211)

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

diffC=maxC-minC (8-212)

x=Floor(Log2(diff)) (8-213)

normDiff=((diff<<4)>>x)&15 (8-214)

x+=(normDiff!=0)?1:0 (8-215)

y=Floor(Log2(Abs(diffC)))+1 (8-216)

a=(diffC*(divSigTable[normDiff]|8)+2

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

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

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

其中divSigTable[]被指定如下:

divSigTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0} (8-221)

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

k=0 (8-222)

a=0 (8-223)

b=minC (8-224)

8.预测样点predSamples[x][y](其中x=0..nTbW-1,y=0..nTbH-1)

被推导如下:

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

[实施例示例结束]

3.7关于所提出的CCLM预测的另一示例性工作草案

在本章节中,描述了示出可以对VVC标准的当前工作草案进行的修改的另一示例性实施例。在此,等式编号是指VVC标准中的对应等式编号。

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

……

在顶部和右上的可用邻近色度样点的数量numTopSamp和在左侧和左下的可用邻近色度样点的数量nLeftSamp被推导如下:

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

numSampT=availT?nTbW:0 (8-157)

numSampL=availL?nTbH:0 (8-158)

–否则,以下适用:

numSampT=(availT&&predModeIntra==INTRA_T_CCLM)?(nTbW+Min(numTopRight,nTbH)):0 (8-159)

numSampL=(availL&&predModeIntra==INTRA_L_CCLM)?(nTbH+Min(numLeftBelow,nTbW)):0 (8-160)

变量bCTUboundary被推导如下:

bCTUboundary=(yTbC&(1<<(CtbLog2SizeY-1)-1)==0)?TRUE:FALSE. (8-161)

变量cntN和数组pickPosN[](其中N被L和T代替)被推导如下:

–变量numIs4N被设置为等于((availN&&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<<(BitDepth

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

1.并置亮度样点pY[x][y](其中x=0..nTbW*2-1,y=0..nTbH*2-1)被设置为等于位置(xTbY+x,yTbY+y)处去方块滤波处理之前的重构亮度样点。

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

–当numSampL大于0时,邻近左亮度样点pY[x][y](其中x=-1..-3,y=0..2*numSampL-1)被设置为等于位置(xTbY+x,yTbY+y)处去方块滤波处理之前的重构亮度样点。

–当numSampT大于0时,邻近顶部亮度样点pY[x][y](其中x=0..2*numSampT-1,y=-1,-2)被设置为等于位置(xTbY+x,yTbY+y)处去方块滤波处理之前的重构亮度样点。

–当availTL等于TRUE时,邻近左上亮度样点pY[x][y](其中x=-1,y=-1,-2)被设置为等于位置(xTbY+x,yTbY+y)处去方块滤波处理之前的重构亮度样点。

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]=(pY[2*x][2*y-1]+pY[2*x-1][2*y]+4*pY[2*x][2*y]+pY[2*x+1][2*y]+pY[2*x][2*y+1]+4)>>3 (8-163)

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

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

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

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

–如果availT等于TRUE,则pDsY[x][0](其中x=1..nTbW-1)

被推导如下:

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

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

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

–如果availL等于TRUE且availT等于TRUE,则pDsY[0][0]

被推导如下:

pDsY[0][0]=(pY[0][-1]+pY[-1][0]+4*pY[0][0]+pY[1][0]+pY[0][1]+4)>>3(8-168)

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

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

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

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

–否则(availL等于FALSE且availT等于FALSE),pDsY[0][0]

被推导如下:

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

–否则,以下适用:

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

pDsY[x][y]=(pY[2*x-1][2*y]+pY[2*x-1][2*y+1]+2*pY[2*x][2*y]+2*pY[2*x][2*y+1]+pY[2*x+1][2*y]+pY[2*x+1][2*y+1]+4)>>3 (8-172)

–如果availL等于TRUE,则pDsY[0][y](其中y=0..nTbH-1)

被推导如下:

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

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

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

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

–变量y被设置为等于pickPosL[idx]。

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

–如果y>0||availTL==TRUE,

pSelDsY[idx]=(pY[-2][2*y-1]+pY[-3][2*y]+4*pY[-2][2*y]+pY[-1][2*y]+pY[-2][2*y+1]+4)>>3 (8-175)

–否则,

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

–否则,以下适用:

pSelDsY[idx]=(pY[-1][2*y]+pY[-1][2*y+1]+2*pY[-2][2*y]+2*pY[-2][2*y+1]+pY[-3][2*y]+pY[-3][2*y+1]+4)>>3 (8-178)

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

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

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

–如果x>0:

–如果bCTUboundary等于FALSE,则以下适用:

pSelDsY[idx]=(pY[2*x][-3]+pY[2*x-1][-2]+4*pY[2*x][-2]+pY[2*x+1][-2]+pY[2*x][-1]+4)>>3 (8-179)

–否则(bCTUboundary等于TRUE),以下适用:

pSelDsY[idx]=(pY[2*x-1][-1]+2*pY[2*x][-1]+pY[2*x+1][-1]+2)>>2 (8-180)

–否则:

–如果availTL等于TRUE且bCTUboundary等于FALSE,

则以下适用:

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

–否则,如果availTL等于TRUE且bCTUboundary等于TRUE,则以下适用:

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

–否则,如果availTL等于FALSE且bCTUboundary等于FALSE,则以下适用:

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

–否则(availTL等于FALSE且bCTUboundary等于TRUE),

则以下适用:

pSelDsY[idx]=pY[0][-1] (8-184)

–否则,以下适用:

–如果x>0:

–如果bCTUboundary等于FALSE,则以下适用:

pSelDsY[idx]=(pY[2*x-1][-2]+pY[2*x-1][-1]+2*pY[2*x][-2]+2*pY[2*x][-1]+pY[2*x+1][-2]+pY[2*x+1][-1]+4)>>3 (8-185)

–否则(bCTUboundary等于TRUE),以下适用:

pSelDsY[idx]=(pY[2*x-1][-1]+2*pY[2*x][-1]+pY[2*x+1][-1]+2)>>2 (8-186)

–否则:

–如果availTL等于TRUE且bCTUboundary等于FALSE,

则以下适用:

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

–否则,如果availTL等于TRUE且bCTUboundary等于TRUE,则以下适用:

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

–否则,如果availTL等于FALSE且bCTUboundary等于FALSE,则以下适用:

pSelDsY[idx]=(pY[0][-2]+pY[0][-1]+1)>>1 (8-189)

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

pSelDsY[idx]=pY[0][-1] (8-190)

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]=1,maxGrpIdx[0]=2,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 (8-208)

a=0 (8-209)

b=1<<(BitDepth

–否则,以下适用:

diff=maxY-minY (8-211)

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

diffC=maxC-minC (8-212)

x=Floor(Log2(diff)) (8-213)

normDiff=((diff<<4)>>x)&15 (8-214)

x+=(normDiff!=0)?1:0 (8-215)

y=Floor(Log2(Abs(diffC)))+1(8-216)

a=(diffC*(divSigTable[normDiff]|8)+2

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

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

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

其中divSigTable[]被指定如下:

divSigTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0}(8-221)

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

k=0 (8-222)

a=0 (8-223)

b=minC (8-224)

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

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

3.8关于所提出的CCLM预测的替代工作草案

在本章节中,描述了示出可以对VVC标准的当前工作草案进行的另一修改的替代示例性实施例。在此,等式编号是指VVC标准中的对应等式编号。

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

……

在顶部和右上的可用邻近色度样点的数量numTopSamp和在左侧和左下的可用邻近色度样点的数量nLeftSamp被推导如下:

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

numSampT=availT?nTbW:0 (8-157)

numSampL=availL?nTbH:0 (8-158)

–否则,以下适用:

numSampT=(availT&&predModeIntra==INTRA_T_CCLM)?(nTbW+Min(numTopRight,nTbH)):0 (8-159)

numSampL=(availL&&predModeIntra==INTRA_L_CCLM)?(nTbH+Min(numLeftBelow,nTbW)):0 (8-160)

变量bCTUboundary被推导如下:

bCTUboundary=(yTbC&(1<<(CtbLog2SizeY-1)-1)==0)?TRUE:FALSE. (8-161)

变量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<<(BitDepth

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

1.并置亮度样点pY[x][y](其中x=0..nTbW*2-1,y=0..nTbH*2-1)被设置为等于位置(xTbY+x,yTbY+y)处去方块滤波处理之前的重构亮度样点。

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

–当numSampL大于0时,邻近左亮度样点pY[x][y](其中x=-1..-3,y=0..2*numSampL-1)被设置为等于位置(xTbY+x,yTbY+y)处去方块滤波处理之前的重构亮度样点。

–当numSampT大于0时,邻近顶部亮度样点pY[x][y](其中x=0..2*numSampT-1,y=-1,-2)被设置为等于位置(xTbY+x,yTbY+y)处去方块滤波处理之前的重构亮度样点。

–当availTL等于TRUE时,邻近左上亮度样点pY[x][y](其中x=-1,y=-1,-2)被设置为等于位置(xTbY+x,yTbY+y)处去方块滤波处理之前的重构亮度样点。

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]=(pY[2*x][2*y-1]+pY[2*x-1][2*y]+4*pY[2*x][2*y]+pY[2*x+1][2*y]+pY[2*x][2*y+1]+4)>>3 (8-163)

–如果availL等于TRUE,则pDsY[0][y](其中y=1..nTbH-1)

被推导如下:

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

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

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

–如果availT等于TRUE,则pDsY[x][0](其中x=1..nTbW-1)

被推导如下:

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

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

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

–如果availL等于TRUE且availT等于TRUE,则pDsY[0][0]

被推导如下:

pDsY[0][0]=(pY[0][-1]+pY[-1][0]+4*pY[0][0]+pY[1][0]+pY[0][1]+4)>>3(8-168)

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

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

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

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

–否则(availL等于FALSE且availT等于FALSE),pDsY[0][0]

被推导如下:

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

–否则,以下适用:

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

pDsY[x][y]=(pY[2*x-1][2*y]+pY[2*x-1][2*y+1]+2*pY[2*x][2*y]+2*pY[2*x][2*y+1]+pY[2*x+1][2*y]+pY[2*x+1][2*y+1]+4)>>3 (8-172)

–如果availL等于TRUE,则pDsY[0][y](其中y=0..nTbH-1)

被推导如下:

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

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

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

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

–变量y被设置为等于pickPosL[idx]。

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

–如果y>0||availTL==TRUE,

pSelDsY[idx]=(pY[-2][2*y-1]+pY[-3][2*y]+4*pY[-2][2*y]+pY[-1][2*y]+pY[-2][2*y+1]+4)>>3 (8-175)

–否则,

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

–否则,以下适用:

pSelDsY[idx]=(pY[-1][2*y]+pY[-1][2*y+1]+2*pY[-2][2*y]+2*pY[-2][2*y+1]+pY[-3][2*y]+pY[-3][2*y+1]+4)>>3 (8-178)

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]。

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

–如果x>0:

–如果bCTUboundary等于FALSE,则以下适用:

pSelDsY[idx]=(pY[2*x][-3]+pY[2*x-1][-2]+4*pY[2*x][-2]+pY[2*x+1][-2]+pY[2*x][-1]+4)>>3 (8-179)

–否则(bCTUboundary等于TRUE),以下适用:

pSelDsY[idx]=(pY[2*x-1][-1]+2*pY[2*x][-1]+pY[2*x+1][-1]+2)>>2 (8-180)

–否则:

–如果availTL等于TRUE且bCTUboundary等于FALSE,

则以下适用:

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

–否则,如果availTL等于TRUE且bCTUboundary等于TRUE,则以下适用:

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

–否则,如果availTL等于FALSE且bCTUboundary等于FALSE,则以下适用:

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

–否则(availTL等于FALSE且bCTUboundary等于TRUE),

则以下适用:

pSelDsY[idx]=pY[0][-1] (8-184)

–否则,以下适用:

–如果x>0:

–如果bCTUboundary等于FALSE,则以下适用:

pSelDsY[idx]=(pY[2*x-1][-2]+pY[2*x-1][-1]+2*pY[2*x][-2]+2*pY[2*x][-1]+pY[2*x+1][-2]+pY[2*x+1][-1]+4)>>3 (8-185)

–否则(bCTUboundary等于TRUE),以下适用:

pSelDsY[idx]=(pY[2*x-1][-1]+2*pY[2*x][-1]+pY[2*x+1][-1]+2)>>2 (8-186)

–否则:

–如果availTL等于TRUE且bCTUboundary等于FALSE,

则以下适用:

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

–否则,如果availTL等于TRUE且bCTUboundary等于TRUE,则以下适用:

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

–否则,如果availTL等于FALSE且bCTUboundary等于FALSE,则以下适用:

pSelDsY[idx]=(pY[0][-2]+pY[0][-1]+1)>>1 (8-189)

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

pSelDsY[idx]=pY[0][-1] (8-190)

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 (8-208)

a=0 (8-209)

b=1<<(BitDepth

–否则,以下适用:

diff=maxY-minY (8-211)

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

diffC=maxC-minC (8-212)

x=Floor(Log2(diff)) (8-213)

normDiff=((diff<<4)>>x)&15 (8-214)

x+=(normDiff!=0)?1:0 (8-215)

y=Floor(Log2(Abs(diffC)))+1 (8-216)

a=(diffC*(divSigTable[normDiff]|8)+2

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

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

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

其中divSigTable[]被指定如下:

divSigTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0} (8-221)

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

k=0 (8-222)

a=0 (8-223)

b=minC (8-224)

8.预测样点predSamples[x][y](其中x=0..nTbW-1,y=0..nTbH-1)

被推导如下:

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

上面描述的示例可以结合在下面描述的方法(例如,方法2010、2020、2030、2910、2920、2930)的上下文中,这些方法可以在视频编码器和/或解码器处实施。

图18A示出了用于视频处理的示例性方法的流程图。方法2030包括,在步骤2032,对于视频作为色度块的当前视频块和视频的编解码表示之间的转换,基于当前视频块的左邻近块和上邻近块的可用性,确定是否推导用于推导跨分量线性模型(CCLM)的参数的亮度分量和色度分量的最大值和/或最小值。方法2030还包括,在步骤2034,基于该确定来执行转换。

图18B示出了用于视频处理的示例性方法的流程图。方法2010包括,在步骤2012,对于视频作为色度块的当前视频块和视频的编解码表示之间的转换,确定亮度样点被下采样的位置,其中经下采样的亮度样点用于基于色度样点和经下采样的亮度样点来确定跨分量线性模型(CCLM)的参数,其中经下采样的亮度样点在与用于推导CCLM的参数的色度样点的位置相对应的位置处。方法2010还包括,在步骤2014,基于该确定来执行转换。

图18C示出了用于视频处理的示例性方法的流程图。方法2020包括,在步骤2022,对于视频作为色度块的当前视频块和视频的编解码表示之间的转换,确定用以基于与当前视频块相关联的编解码条件来使用色度样点和亮度样点推导跨分量线性模型(CCLM)的参数的方法。方法2020还包括,在步骤2024,基于该确定来执行转换。

图18D示出了用于视频处理的示例性方法的流程图。方法2910包括,在步骤2912,对于视频的当前视频块和视频的编解码表示之间的转换,基于当前视频块的所选择的邻近样点和参考块的对应的邻近样点来确定使用线性模型的编解码工具的参数。方法2910还包括,在步骤2914,基于该确定来执行转换。

图18E示出了用于视频处理的示例性方法的流程图。方法2920包括,在步骤2922,对于视频的当前视频块和视频的编解码表示之间的转换,基于当前视频块的N个邻近样点和参考块的N个对应的邻近样点来确定局部照明补偿(LIC)工具的参数,其中当前视频块的N个邻近样点是基于N个邻近样点的位置来选择的。方法2920还包括,在步骤2924,基于该确定来执行转换。LIC工具在转换期间使用当前视频块中的照明变化的线性模型。

图18F示出了用于视频处理的示例性方法的流程图。方法2930包括,在步骤2932,对于视频作为色度块的当前视频块和视频的编解码表示之间的转换,基于色度样点和对应的亮度样点来确定跨分量线性模型(CCLM)的参数。方法2930还包括,在步骤2934,基于该确定来执行转换。在示例中,色度样点中的一些通过填充操作来获得,并且色度样点和对应的亮度样点被分组为两个数组G0和G1,每个数组包括两个色度样点和对应的亮度样点。

4所公开技术的示例实施方式

图19A是视频处理装置3000的框图。装置3000可以用于实施本文描述的方法中的一个或多个。装置3000可以实现在智能手机、平板电脑、计算机、物联网(Internet ofThings,IoT)接收器等中。装置3000可以包括一个或多个处理器3002、一个或多个存储器3004和视频处理硬件3006。(多个)处理器3002可以被配置成实施本文档中描述的一种或多种方法(包括但不限于如图18A至图18F所示的方法)。存储器(多个存储器)3004可以用于存储用于实施本文中描述的方法和技术的数据和代码。视频处理硬件3006可以用于在硬件电路系统中实施本文档中描述的一些技术。

图19B是其中可以实施所公开的技术的视频处理系统的框图的另一示例。图19B是示出其中可以实施本文公开的各种技术的示例视频处理系统3100的框图。各种实施方式可以包括系统3100的组件中一些或全部。系统3100可以包括用于接收视频内容的输入3102。视频内容可以以原始或未压缩格式接收,例如8或10比特多分量像素值,或者可以为压缩或编码格式。输入3102可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(Passive Optical Network,PON)等)和无线接口(诸如Wi-Fi或蜂窝接口)。

系统3100可以包括编解码组件3104,该编解码组件可以实施本文档中描述的各种编解码或编码方法。编解码组件3104可以降低从编解码组件3104输入3102到输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件3104的输出可以被存储,或者经由连接的通信传输,如组件3106所示。可以由组件3108使用在输入3102处接收的视频的存储或通信传送的比特流(或编解码)表示来生成被发送到显示接口3110的像素值或可显示视频。根据比特流表示生成用户可观看的视频的过程有时被称为视频解压缩。另外,虽然某些视频处理操作被称为“编解码”操作或工具,但是应当理解的是,编解码工具或操作在编码器处使用,并且将由解码器来执行与编解码的结果相反的相对应的解码工具或操作。

外围总线接口或显示接口的示例可以包括通用串行总线(Universal SerialBus,USB)或高清晰度多媒体接口(High Definition Multimedia Interface,HDMI)或显示端口(Displayport)等。存储接口的示例包括SATA(Serial Advanced TechnologyAttachment,串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以实现在各种电子设备中,诸如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。

在一些实施例中,视频编解码方法可以使用如参考图19A或图19B描述的在硬件平台上实施的装置来实施。

优选地结合在一些实施例中的各种技术可以使用以下基于条款的格式来描述。

第一条款集合描述了在前一节中列出的公开技术的某些特征和方面。

1.一种用于视频处理的方法,包括:对于包括色度块的当前视频块并且基于两个或更多个色度样点,确定线性模型的参数的值集合,其中两个或更多个色度样点是从色度块的邻近色度样点组中选择的;以及基于线性模型,重构当前视频块。

2.根据条款1所述的方法,其中,色度块的左上样点为(x,y),其中色度块的宽度和高度分别为W和H,并且其中邻近色度样点组包括:

具有坐标(x-1,y)的样点A,

具有坐标(x-1,y+H-1)的样点D,

具有坐标(x,y-1)的样点J,以及

具有坐标(x+W-1,y-1)的样点M。

3.根据条款2所述的方法,其中,当前视频块的左上邻近块和上邻近块是可用的,并且其中两个或更多个色度样点包括样点A、D、J和M。

4.根据条款2所述的方法,其中,当前视频块的左上邻近块是可用的,并且其中两个或更多个色度样点包括样点A和D。

5.根据条款2所述的方法,其中,当前视频块的上邻近块是可用的,并且其中两个或更多个色度样点包括样点J和M。

6.一种用于视频处理的方法,包括:对于包括色度块的当前视频块,生成包括当前视频块的邻近块的色度样点和亮度样点的多个组;基于多个组,确定色度样点和亮度样点的最大值和最小值;基于最大值和最小值,确定线性模型的参数的值集合;以及基于线性模型,重构当前视频块。

7.根据条款6所述的方法,其中,生成多个组是基于当前视频块的邻近块的可用性。

8.根据条款6所述的方法,其中,多个组包括S

α=(maxC-minC)/(maxL-minL)andβ=minC-α×minL。

9.根据条款8所述的方法,其中,色度块的左上样点为(x,y),其中色度块的宽度和高度分别为W和H,并且其中邻近色度样点组包括:

具有坐标(x-1,y)的样点A,

具有坐标(x-1,y+H-1)的样点D,

具有坐标(x,y-1)的样点J,以及

具有坐标(x+W-1,y-1)的样点M。

10.根据条款9所述的方法,其中,当前视频块的左上邻近块和上邻近块是可用的,其中组S

maxL=(maxL

minL=(minL

11.根据条款9所述的方法,其中,当前视频块的左上邻近块是可用的,并且其中maxL、maxC、minL和minC基于样点A和D。

12.根据条款9所述的方法,其中,当前视频块的上邻近块是可用的,并且其中maxL、maxC、minL和minC基于样点J和M。

13.根据条款6所述的方法,其中,线性模型的参数包括α和β,它们被计算为

α=0以及β=1<<(bitDepth-1),

其中,bitDepth是色度样点的比特深度。

14.根据条款6所述的方法,其中,生成多个组是基于当前视频块的高度或宽度。

15.一种用于视频处理的方法,包括:通过对具有高度(H)和宽度(W)的当前视频块的邻近块的色度样点和亮度样点进行下采样来生成下采样的色度样点和亮度样点;基于下采样的色度样点和亮度样点,确定当前视频块的线性模型的参数的值集合;以及基于线性模型,重构当前视频块。

16.根据条款15所述的方法,其中,下采样基于高度或宽度。

17.根据条款16所述的方法,其中,W

18.根据条款16所述的方法,其中,W>H。

19.根据条款15所述的方法,其中,当前视频块的左上样点为R[0,0],其中下采样的色度样点包括样点R[-1,K×H/W],并且其中K是范围从0到W-1的非负整数。

20.根据条款15所述的方法,其中,当前视频块的左上样点为R[0,0],其中下采样的色度样点包括样点R[K×H/W,-1],并且其中K是范围从0到H-1的非负整数。

21.根据条款15所述的方法,其中,在用于确定当前视频块的线性模型的参数的值集合之前,对下采样的色度样点和亮度样点执行细化过程。

22.根据条款21所述的方法,其中,细化过程包括滤波过程。

23.根据条款21所述的方法,其中,细化过程包括非线性过程。

24.根据条款15所述的方法,其中,线性模型的参数为α和β,其中α=(C1-C0)/(L1-L0)并且β=C0-αL0,其中C0和C1是色度样点,并且其中L0和L1是亮度样点。

25.根据条款24所述的方法,其中,C0和L0基于S个下采样的色度样点和亮度样点,分别表示为{Lx1,Lx2,…,LxS}和{Cx1,Cx2,…,CxS},其中C1和L1基于T个下采样的色度样点和亮度样点,分别表示为{Ly1,Ly2,…,LyT}和{Cy1,Cy2,…,CyT},

其中,C0=f0(Cx1,Cx2,…,CxS),L0=f1(Lx1,Lx2,…,LxS),C1=f2(Cy1,Cy2,…,CyT),并且L1=f1(Ly1,Ly2,…,LyT),并且

其中,f0、f1、f2和f3是函数。

26.根据条款25所述的方法,其中,f0和f1是第一函数。

27.根据条款25所述的方法,其中,f2和f3是第二函数。

28.根据条款25所述的方法,其中,f0、f1、f2和f3是第三函数。

29.根据条款28所述的方法,其中,第三函数是平均函数。

30.根据条款25所述的方法,其中,S=T。

31.根据条款25所述的方法,其中,{Lx1,Lx2,…,LxS}是亮度样点组中的最小样点。

32.根据条款25所述的方法,其中,{Lx1,Lx2,…,LxS}是亮度样点组中的最大样点。

33.根据条款31或32所述的方法,其中,亮度样点组包括在VTM-3.0中用于推导线性模型的参数的所有邻近样点。

34.根据条款31或32所述的方法,其中,亮度样点组包括在VTM-3.0中用于推导线性模型的参数的邻近样点的子集,并且其中该子集排除所有邻近样点。

35.根据条款1所述的方法,其中,两个或更多个色度样点是从相对于当前视频块的左列、上行、右上行或左下列中的一个或多个中选择的。

36.根据条款1所述的方法,其中,两个或更多个色度样点是基于当前视频块的高度与当前视频块的宽度的比率来选择的。

37.根据条款1所述的方法,其中,两个或更多个色度样点是基于当前视频块的编解码模式来选择的。

38.根据条款37所述的方法,其中,当前视频块的编解码模式是不同于仅使用左邻近样点的第二线性模式和仅使用上邻近样点的第三线性模式的第一线性模式,其中当前视频块的左上样点的坐标为(x,y),并且其中当前视频块的宽度和高度分别为W和H。

39.根据条款38所述的方法,其中,两个或更多个色度样点包括具有坐标(x-1,y)、(x,y-1)、(x-1,y+H-1)和(x+W-1,y-1)的样点。

40.根据条款38所述的方法,其中,两个或更多个色度样点包括具有坐标(x-1,y)、(x,y-1)、(x-1,y+H-H/W-1)和(x+W-1,y-1)的样点,并且其中H>W。

41.根据条款38所述的方法,其中,两个或更多个色度样点包括具有坐标(x-1,y)、(x,y-1)、(x-1,y+H-1)和(x+W-W/H-1,y-1)的样点,并且其中H

42.根据条款38所述的方法,其中,两个或更多个色度样点包括具有坐标(x-1,y)、(x,y-1)、(x-1,y+H–max(1,H/W))和(x+W-max(1,W/H),y-1)的样点。

43.根据条款38所述的方法,其中,两个或更多个色度样点包括具有坐标(x,y-1)、(x+W/4,y-1)、(x+2*W/4,y-1)和(x+3*W/4,y–1)的样点。

44.根据条款38所述的方法,其中,两个或更多个色度样点包括具有坐标(x,y-1)、(x+W/4,y-1)、(x+3*W/4,y–1)和(x+W-1,y-1)的样点。

45.根据条款38所述的方法,其中,两个或更多个色度样点包括具有坐标(x,y-1)、(x+(2W)/4,y-1)、(x+2*(2W)/4,y-1)和(x+3*(2W)/4,y–1)的样点。

46.根据条款38所述的方法,其中,两个或更多个色度样点包括具有坐标(x,y-1)、(x+(2W)/4,y-1)、(x+3*(2W)/4,y–1)和(x+(2W)-1,y-1)的样点。

47.根据条款38所述的方法,其中,两个或更多个色度样点包括具有坐标(x-1,y)、(x-1,y+H/4)、(x-1,y+2*H/4)和(x-1,y+3*H/4)的样点。

48.根据条款38所述的方法,其中,两个或更多个色度样点包括具有坐标(x-1,y)、(x-1,y+2*H/4)、(x-1,y+3*H/4)和(x-1,y+H-1)的样点。

49.根据条款38所述的方法,其中,两个或更多个色度样点包括具有坐标(x-1,y)、(x-1,y+(2H)/4)、(x-1,y+2*(2H)/4)和(x-1,y+3*(2H)/4)的样点。

50.根据条款38所述的方法,其中,两个或更多个色度样点包括具有坐标(x-1,y)、(x-1,y+2*(2H)/4)、(x-1,y+3*(2H)/4)和(x-1,y+(2H)-1)的样点。

51.根据条款39至50中任一项所述的方法,其中,四个样点中的恰好两个样点被选择以确定线性模型的参数的值集合。

52.一种视频解码装置,包括处理器,该处理器被配置为实施根据条款1至51中的一项或多项所述的方法。

53.一种视频编码装置,包括处理器,该处理器被配置为实施根据条款1至51中的一项或多项所述的方法。

54.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器执行时使得处理器实施根据条款1至51中任一项所述的方法。

55.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行根据条款1至51中任一项所述的方法的程序代码。

第二条款集合描述了在前一章节中列出的所公开技术的某些特征和方面,包括例如示例20、21、22。

1.一种用于视频处理的方法,包括:对于视频作为色度块的当前视频块和视频的编解码表示之间的转换,基于当前视频块的左邻近块和上邻近块的可用性,确定是否推导用于推导跨分量线性模型(CCLM)的参数的亮度分量和色度分量的最大值和/或最小值;以及基于该确定来执行转换。

2.根据条款1所述的方法,其中,在左邻近块和上邻近块不可用的情况下,不推导最大值和/或最小值。

3.根据条款1所述的方法,其中,该确定基于当前视频块的可用邻近样点的数量来进行确定,并且其中可用邻近样点用于推导跨分量线性模型的参数。

4.根据条款3所述的方法,其中,在numSampL==0且numSampT==0的情况下,不推导最大值和/或最小值,numSampL和numSampT分别指示来自左邻近块的可用邻近样点的数量和来自上邻近块的可用邻近样点的数量,并且其中来自左邻近块的可用邻近样点和来自上邻近块的可用邻近样点用于推导跨分量线性模型的参数。

5.根据条款3所述的方法,其中,在numSampL+numSampT==0的情况下,不推导最大值和/或最小值,numSampL和numSampT分别指示来自左邻近块的可用邻近样点的数量和来自上邻近块的可用邻近样点的数量,并且其中来自左邻近块的可用邻近样点和来自上邻近块的可用邻近样点用于推导跨分量线性模型的参数。

6.根据条款1所述的方法,其中,该确定基于用于推导跨分量线性模型的参数的所选择的样点的数量来进行确定。

7.根据条款6所述的方法,其中,在cntL==0且cntT==0的情况下,不推导最大值和/或最小值,cntL和cntT分别指示来自左邻近块的所选择的样点的数量和来自上邻近块的所选择的样点的数量。

8.根据条款6所述的方法,其中,在cntL+cntT==0的情况下,不推导最大值和/或最小值,cntL和cntT分别指示来自左邻近块的所选择的样点的数量和来自上邻近块的所选择的样点的数量。

9.一种用于视频处理的方法,包括:对于视频作为色度块的当前视频块和视频的编解码表示之间的转换,确定亮度样点被下采样的位置,其中经下采样的亮度样点用于基于色度样点和经下采样的亮度样点来确定跨分量线性模型(CCLM)的参数,其中经下采样的亮度样点在与用于推导CCLM的参数的色度样点的位置相对应的位置处;以及基于该确定来执行转换。

10.根据条款9所述的方法,其中,亮度样点不在当前视频块之外的位置处被下采样,并且不用于确定CCLM的参数。

11.一种用于视频处理的方法,包括:对于视频作为色度块的当前视频块和视频的编解码表示之间的转换,确定用以基于与当前视频块相关联的编解码条件来使用色度样点和亮度样点推导跨分量线性模型(CCLM)的参数的方法;以及基于该确定来执行转换。

12.根据条款11所述的方法,其中,编解码条件对应于当前视频块的颜色格式。

13.根据条款12所述的方法,其中,颜色格式为4:2:0或4:4:4。

14.根据条款11所述的方法,其中,编解码条件对应于当前视频块的颜色表示方法。

15.根据条款14所述的方法,其中,颜色表示方法为RGB或YCbCr。

16.根据条款11所述的方法,其中,色度样点被下采样,并且该确定取决于下采样的色度样点的位置。

17.根据条款11所述的方法,其中,用以推导参数的方法包括基于色度样点和亮度样点来确定CCLM的参数,其中该色度样点和亮度样点是基于位置规则从邻近色度样点组中选择的。

18.根据条款11所述的方法,其中,用以推导参数的方法包括基于色度样点和亮度样点的最大值和最小值来确定CCLM的参数。

19.根据条款11所述的方法,其中,用以推导参数的方法包括确定CCLM的参数,其中该CCLM的参数可由两个色度样点和对应的两个亮度样点完全确定。

20.根据条款11所述的方法,其中,用以推导参数的方法包括使用参数表确定CCLM的参数,其中该参数表的条目根据两个色度样点值和两个亮度样点值来检索。

21.根据条款1至20中任一项所述的方法,其中,执行转换包括从当前块生成编解码表示。

22.根据条款1至20中任一项所述的方法,其中,执行转换包括从编解码表示生成当前块。

23.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器执行时使得处理器实施根据条款1至22中任一项所述的方法。

24.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行根据条款1至22中任一项所述的方法的程序代码。

第三条款集合描述了在前一章节中列出的所公开技术的某些特征和方面,包括例如示例23。

1.一种用于视频处理的方法,包括:对于视频的当前视频块和视频的编解码表示之间的转换,基于当前视频块的所选择的邻近样点和参考块的对应的邻近样点来确定使用线性模型的编解码工具的参数;以及基于该确定来执行转换。

2.根据条款1所述的方法,其中,编解码工具是包括在转换期间使用当前视频块中的照明变化的线性模型的局部照明补偿(LIC)工具。

3.根据条款2所述的方法,其中,当前视频块的邻近样点和参考块的邻近样点基于位置规则来选择。

4.根据条款2所述的方法,其中,编解码工具的参数是基于当前视频块的邻近样点和参考块的邻近样点的最大值和最小值来确定的。

5.根据条款2所述的方法,其中,编解码工具的参数是使用参数表来确定的,其中该参数表的条目根据当前视频块的两个邻近样点和参考块的两个邻近样点来检索。

6.根据条款2所述的方法,其中,当前视频块的邻近样点和参考块的邻近样点被下采样以推导编解码工具的参数。

7.根据条款2所述的方法,其中,用于推导LIC工具的参数的邻近样点排除当前视频块的上行和/或左列中的特定位置处的样点。

8.根据条款2所述的方法,其中,当前视频块的左上样点具有坐标(x0,y0),具有坐标(x0,y0-1)的样点不用于推导LIC工具的参数。

9.根据条款2所述的方法,其中,当前视频块的左上样点具有坐标(x0,y0),具有坐标(x0-1,y0)的样点不用于推导LIC工具的参数。

10.根据条款7所述的方法,其中,特定位置取决于上行和/或左列的可用性。

11.根据条款7所述的方法,其中,特定位置取决于当前视频块的块大小。

12.根据条款1所述的方法,其中,该确定取决于上行和/或左列的可用性。

13.根据条款2所述的方法,其中,当前视频块的N个邻近样点和参考块的N个邻近样点用于推导LIC工具的参数。

14.根据条款13所述的方法,其中,N为4。

15.根据条款13所述的方法,其中,当前视频块的N个邻近样点包括来自当前视频块的上行的N/2个样点和来自当前视频块的左列的N/2个样点。

16.根据条款13所述的方法,其中,N等于min(L,T),T是当前视频块的可用邻近样点的总数,并且L是整数。

17.根据条款13所述的方法,其中,N个邻近样点基于适用于选择样点以推导CCLM的参数的相同规则来选择。

18.根据条款13所述的方法,其中,N个邻近样点基于适用于选择样点以推导仅使用上邻近样点的CCLM的第一模式的参数的相同规则来选择。

19.根据条款13所述的方法,其中,N个邻近样点基于适用于选择样点以推导仅使用左邻近样点的CCLM的第二模式的参数的相同规则来选择。

20.根据条款13所述的方法,其中,当前视频块的N个邻近样点基于当前视频块的上行或左列的可用性来选择。

21.一种用于视频处理的方法,包括:对于视频的当前视频块和视频的编解码表示之间的转换,基于当前视频块的N个邻近样点和参考块的N个对应的邻近样点来确定局部照明补偿(LIC)工具的参数,其中当前视频块的N个邻近样点是基于N个邻近样点的位置来选择的;以及基于该确定来执行转换,其中LIC工具在转换期间使用当前视频块中的照明变化的线性模型。

22.根据条款21所述的方法,其中,当前视频块的N个邻近样点基于当前视频块的宽度和高度来选择。

23.根据条款21所述的方法,其中,当前视频块的N个邻近样点基于当前视频块的邻近块的可用性来选择。

24.根据条款21所述的方法,其中,当前视频块的N个邻近样点利用取决于当前视频块的大小和邻近块的可用性的第一位置偏移值(F)和步长值(S)来选择。

25.根据条款1-24中任一项所述的方法,其中,当前视频块被仿射编解码。

26.一种用于视频处理的方法,包括:对于视频作为色度块的当前视频块和视频的编解码表示之间的转换,基于色度样点和对应的亮度样点来确定跨分量线性模型(CCLM)的参数;以及基于该确定来执行转换,其中色度样点中的一些通过填充操作来获得,并且色度样点和对应的亮度样点被分组为两个数组G0和G1,每个数组包括两个色度样点和对应的亮度样点。

27.根据条款26所述的方法,其中,在cntT和cntL的和等于2的情况下,以下操作按顺序被执行:i)pSelComp[3]被设置为等于pSelComp[0],ii)pSelComp[2]被设置为等于pSelComp[1],iii)pSelComp[0]被设置为等于pSelComp[1],以及iv)pSelComp[1]被设置为等于pSelComp[3],其中cntT和cntL分别指示从上邻近块和左邻近块中选择的样点的数量,并且其中pSelComp[0]至pSelComp[3]指示选择的对应样点的颜色分量的像素值。

28.根据条款26所述的方法,其中,确定参数包括初始化G0[0]、G0[1]、G1[0]和G1[1]的值。

29.根据条款28所述的方法,其中,G0[0]=0,G0[1]=2,G1[0]=1,并且G1[1]=3。

30.根据条款28所述的方法,其中,确定参数还包括,在初始化值之后,在G0[0]和G0[1]的两个亮度样点值的比较后,将G0[0]的色度样点及其对应的亮度样点与G0[1]的色度样点及其对应的亮度样点交换。

31.根据条款30所述的方法,其中,在G0[0]的亮度样点值大于G0[1]的亮度样点值的情况下,将G0[0]的色度样点及其对应的亮度样点与G0[1]的色度样点及其对应的亮度样点交换。

32.根据条款28所述的方法,其中,确定参数还包括,在初始化值之后,在G1[0]和G1[1]的两个亮度样点值的比较后,将G1[0]的色度样点及其对应的亮度样点与G1[1]的色度样点及其对应的亮度样点交换。

33.根据条款32所述的方法,其中,在G1[0]的亮度样点值大于G1[1]的亮度样点值的情况下,将G1[0]的色度样点及其对应的亮度样点与G1[1]的色度样点及其对应的亮度样点交换。

34.根据条款28所述的方法,其中,确定参数还包括,在初始化值之后,在G0[0]和G1[1]的两个亮度样点值的比较后,将G0[0]或G0[1]的色度样点及其对应的亮度样点与G1[0]或G1[1]的色度样点及其对应的亮度样点交换。

35.根据条款34所述的方法,其中,在G0[0]的亮度样点值大于G1[1]的亮度样点值的情况下,将G0[0]或G0[1]的色度样点及其对应的亮度样点与G1[0]或G1[1]的色度样点及其对应的亮度样点交换。

36.根据条款28所述的方法,其中,确定参数还包括,在初始化值之后,在G0[1]和G1[0]的两个亮度样点值的比较后,将G0[1]的色度样点及其对应的亮度样点与G1[0]的色度样点及其对应的亮度样点交换。

37.根据条款36所述的方法,其中,在G0[1]的亮度样点值大于G1[0]的亮度样点值的情况下,将G0[1]的色度样点及其对应的亮度样点与G1[0]的色度样点及其对应的亮度样点交换。

38.根据条款28所述的方法,其中,确定参数还包括,在初始化值之后,在G0[0]、G0[1]、G1[0]和G1[1]的两个亮度样点值的比较后,按顺序执行以下交换操作:i)G0[0]的色度样点及其对应的亮度样点与G0[1]的色度样点及其对应的亮度样点的交换操作,ii)G1[0]的色度样点及其对应的亮度样点与G1[1]的色度样点及其对应的亮度样点的交换操作,iii)G0[0]或G0[1]的色度样点及其对应的亮度样点与G1[0]或G1[1]的色度样点及其对应的亮度样点的交换操作,以及iv)G0[1]的色度样点及其对应的亮度样点与G1[0]的色度样点及其对应的亮度样点的交换操作。

39.根据条款1-38中任一项所述的方法,其中,执行转换包括从当前块生成编解码表示。

40.根据条款1-38中任一项所述的方法,其中,执行转换包括从编解码表示生成当前块。

41.一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器执行时使得处理器实施根据条款1至40中任一项所述的方法。

42.一种存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行根据条款1至40中任一项所述的方法的程序代码。

根据前述内容,应当理解的是,为了说明的目的,本文已经描述了当前公开的技术的具体实施例,但是在不脱离本发明的范围的情况下,可以进行各种修改。因此,除了所附权利要求之外,当前公开的技术不受限制。

本专利文档中描述的主题和功能操作的实施方式可以在各种系统、数字电子电路系统中或在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)中、或者它们中的一个或多个的组合中实施。本说明书中描述的主题的实施方式可以被实施为一个或多个计算机程序产品,即,编码在有形和非暂时性计算机可读介质上以便于由数据处理装置执行或用于控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储设备、机器可读存储基底、存储器设备、实现机器可读传播信号的物质组合或它们中的一个或多个的组合。术语“数据处理单元”或“数据处理装置”涵括用于处理数据的所有装置、设备和机器,作为示例包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。

计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言)的形式编写,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适于在计算环境中使用的其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以被部署为在一台计算机或位于一个站点处或分布在多个站点并通过通信网络互连的多台计算机上执行。

本说明书中描述的过程和逻辑流可以由运行一个或多个计算机程序从而通过对输入数据进行操作并产生输出来执行功能的一个或多个可编程处理器来执行。过程和逻辑流也可以由专用逻辑电路来执行,并且装置也可以被实施为专用逻辑电路,例如,FPGA(field programmable gate array,现场可编程门阵列)或ASIC(application specificintegrated circuit,专用集成电路)。

作为示例,适合于运行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。一般而言,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。一般来说,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者可操作地耦合到以从一个或多个大容量存储设备接收数据或向一个或多个大容量存储设备传送数据,或者进行两者。然而,计算机不需要具有这样的设备。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,作为示例包括半导体存储器设备,例如,EPROM、EEPROM和闪存设备。处理器和存储器可以由专用逻辑电路来补充或并入其中。

本说明书和附图一起仅被认为是示例性的,其中示例性意味着示例。如本文所用,“或”的使用旨在包括“和/或”,除非上下文另有明确指示。

尽管本专利文档包含许多细节,但这些细节不应被解释为对任何发明的范围或可能要求保护的内容的限制,而是应被解释为对特定发明的特定实施例所特有的特征的描述。本专利文档中在分离的实施例的上下文中描述的某些特征也可以在单个实施例中以组合的方式实施。相反,在单个实施例的上下文中描述的各种特征也可以分离地或以任何合适的子组合在多个实施例中实施。而且,尽管特征可以在上面被描述为在某些组合中起作用,甚至最初也是这样要求保护的,但是在某些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以涉及子组合或子组合的变体。

类似地,尽管在附图中以特定的顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或以顺次的顺序执行这些操作,或者执行所有示出的操作,以获得期望的结果。而且,在本专利文档中描述的实施例中的各种系统组件的分离不应该被理解为在所有实施例中需要这样的分离。

仅描述了几个实施方式和示例,并且可以基于本专利文档中描述和示出的内容进行其他实施、增强和变化。

技术分类

06120115636906