一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于帧内预测的参数推导中的条件的制作方法

2021-12-08 00:56:00 来源:中国专利 TAG:
用于帧内预测的参数推导中的条件1.相关申请的交叉引用2.根据适用的专利法和/或巴黎公约的规定,本技术及时要求于2019年3月24日提交的国际专利申请no.pct/cn2019/079396,于2019年3月25日提交的国际专利申请no.pct/cn2019/079431,以及于2019年3月26日提交的国际专利申请no.pct/cn2019/079769的优先权和利益。出于全部目的,根据法律,上述申请的全部公开内容作为本技术公开内容的一部分通过引用并入。
技术领域
:3.本专利文档涉及视频处理技术、装置和系统。
背景技术
::4.尽管视频压缩有所进步,数字视频在互联网和其他数字通信网络上仍占最大的带宽使用量。随着能够接收和显示视频的连接用户设备的数量增加,预计数字视频使用所需的带宽将继续增长。技术实现要素:5.本公开描述了装置、系统和方法,其涉及数字视频处理,以及例如视频编解码中的跨分量线性模型(cross‑componentlinearmodel,cclm)预测模式的简化线性模型推导。所描述的方法可以应用于现有视频编解码标准(例如,高效视频编解码(hevc))和未来视频编解码标准(例如,多功能视频编解码(vvc)),或编解码器。6.在一个代表性方面中,本公开技术可以用于提供视频处理的方法。该方法包括:为作为色度块的视频的当前视频块与所述视频的编解码表示之间的转换,基于所述当前视频块的左邻近块和上邻近块的可用性,确定是否推导亮度分量和色度分量的最大值和/或最小值,所述亮度分量和色度分量的最大值和/或最小值用于推导跨分量线性模型(cclm)的参数;以及基于所述确定进行转换。7.在另一个代表性方面中,本公开技术可以用于提供视频处理的方法。该方法包括:为视频的作为色度块的当前视频块和该视频的编解码表示之间的转换,确定向下采样的亮度样点的位置,其中向下采样的亮度样点被用于基于色度样点和向下采样的亮度样点确定跨分量线性模型(cclm)的参数,其中向下采样的亮度样点位于与用于推导cclm的参数的色度样点的位置对应的位置;以及基于所述确定进行转换。8.在另一个代表性方面中,本公开技术可以用于提供视频处理的方法。该方法包括:为视频的作为色度块的当前视频块和视频的编解码表示之间的转换,基于与所述当前视频块相关联的编解码条件确定使用色度样点和亮度样点推导跨分量线性模型(cclm)的参数的方法;以及基于所述确定进行转换。9.在另一个代表性方面中,本公开技术可以用于提供视频处理的方法。该方法包括:为视频的当前视频块和视频的编解码表示之间的转换,基于当前视频块的所选相邻样点和参考块的对应相邻样点,确定使用线性模型的编解码工具的参数;以及基于所述确定进行转换。10.在另一个代表性方面中,本公开技术可以用于提供视频处理的方法。该方法包括:为视频的当前视频块和视频的编解码表示之间进行转换,基于当前视频块的n个相邻样点和参考块的n个对应的相邻样点,确定局部照明补偿(lic)工具的参数,其中基于n个相邻样点的位置选择当前视频块的n个相邻样点;以及基于所述确定进行转换,其中所述lic工具在转换期间使用当前视频块中照明变化的线性模型。11.在另一个代表性方面中,本公开技术可以用于提供视频处理的方法。该方法包括:为视频的作为色度块的当前视频块和视频的编解码表示之间的转换,基于色度样点和对应的亮度样确定跨分量线性模型(cclm)的参数;以及基于所述确定进行转换,其中通过填充操作获得一些色度样点,并将所述色度样点和对应的亮度样点分组为两个数组g0和g1,每个数组包括两个色度样点和对应的亮度样点。12.在又一个代表性方面中,上述方法实现为处理器可执行代码的形式并存储在计算机可读程序介质中。13.在又一个代表性方面中,公开了配置为或可操作为执行上述方法的装置。该装置可以包括被编程为实现该方法的处理器。14.在又一个代表性方面中,视频解码器设备可以实现如本文所述的方法。15.附图、说明书和权利要求中更详细描述了本公开技术的以上和其他方面和特征。附图说明16.图1示出了用于推导线性模型的权重的样点的位置的示例,该线性模型用于跨分量预测。17.图2示出了将相邻样点分类为两组的示例。18.图3a示出了色度样点及其对应的亮度样点的示例。19.图3b示出了联合探索模型(jem)中的跨分量线性模型(cclm)的向下滤波的示例。20.图4a和图4b分别示出了用于基于线性模型的预测的仅上邻近和仅左邻近样点的示例。21.图5示出了作为对应的色度样点的函数的最大和最小亮度值之间的直线的示例。22.图6示出了当前色度块及其相邻样点的示例。23.图7示出了由仅使用左邻近样点(lm‑l)的线性模型和仅使用上邻近样点(lm‑a)的线性模型预测的色度块的不同部分的示例。24.图8示出了左上邻近块的示例。25.图9示出了要用于推导线性模型的样点的示例。26.图10示出了相对于当前块的左和左下列以及上和右上行的示例。27.图11示出了当前块及其参考样点的示例。28.图12示出了当左和上邻近参考样点可用时两个邻近样点的示例。29.图13示出了当仅上邻近参考样点可用时两个邻近样点的示例。30.图14示出了当仅左邻近参考样点可用时两个邻近样点的示例。31.图15示出了当左和上邻近参考样点可用时四个邻近样点的示例。32.图16示出了lm推导中使用的查找表的示例。33.图17示出了具有64个条目的lm参数推导过程的示例。34.图18a至18f示出了基于本公开技术的一些实现方式的视频处理的示例方法的流程图。35.图19a和19b是用于实现本文档中描述的视觉媒体解码或视觉媒体编码技术的硬件平台的示例的框图。36.图20a和20b显示了具有四个条目的lm参数推导过程的示例。图20a示出了上方和左侧的邻近样点均可用的示例,图20b给出了仅上邻近样点可用且右上邻近样点不可用的示例。37.图21显示了用于推导lic参数的相邻样点的示例。具体实施方式38.由于对更高分辨率视频的需求的增加,在现代技术中普遍存在视频编解码方法和技术。视频编解码器通常包括压缩或解压缩数字视频的电子电路或软件,并且不断改进以提供更高的编解码效率。视频编解码器将未压缩视频转换为压缩格式,反之亦然。视频质量、用于表示视频的数据量(由比特率确定)、编码和解码算法的复杂度、对数据丢失和错误的敏感性、编辑的简易性、随机访问和端到端时延(延迟)之间存在复杂的关系。压缩格式通常符合标准视频压缩规范,例如,高效视频编解码(hevc)标准(也称为h.265或mpeg‑h第2部分)、要完成的通用视频编解码标准、或其他当前和/或未来的视频编解码标准。39.所公开的技术的实施例可以应用于现有视频编解码标准(例如,hevc、h.265)和未来标准以改进压缩性能。在本文档中使用章节标题以提高描述的可读性,并且不以任何方式将讨论或实施例(和/或实现)限制于仅相应的部分。40.1跨分量预测的实施例41.跨分量预测是一种色度到亮度(chroma‑to‑luma)预测方案,其具有复杂度和压缩效率改善之间的良好平衡的权衡。42.1.1跨分量线性模型(cclm)的示例43.在一些实施例中,为了减少跨分量冗余,在jem中使用cclm预测模式(也称为lm),对于该模式,通过使用以下线性模型基于相同cu的重建亮度样点来预测色度样点:44.predc(i,j)=α·recl′(i,j) βꢀꢀꢀ(1)45.这里,predc(i,j)表示cu中预测的色度样点,recl′(i,j)表示相同cu对颜色格式4∶2∶0或4∶2∶2的向下采样的重建亮度样点,而recl′(i,j)表示相同cu对颜色格式4∶4∶4的重建亮度样点。通过将当前块周围的相邻重建亮度和色度样点之间的回归误差最小化来得出cclm参数α和β,如下所示:46.以及[0047][0048]这里,l(n)表示向下采样的(对于颜色格式4∶2∶0或4∶2∶2)或原始(对于颜色格式4∶4∶4)上和左邻近重建亮度样点,c(n)表示上和左邻近重建色度样点,并且n的值等于当前色度编解码块的宽度和高度的最小值的二倍。[0049]在一些实施例中,对于正方形的编解码块,直接应用上述两个公式。对于非正方形编解码块,首先对较长边界的相邻样点进行子采样,以具有与较短边界相同数量的样点。图1示出了左和上重建样点和cclm模式中涉及的当前块的样点的位置。[0050]在一些实施例中,这个回归误差最小化计算作为解码过程的一部分执行,而不仅仅是编码器搜索操作,因此不使用语法来传达α和β值。[0051]在一些实施例中,cclm预测模式还包括两个色度分量之间的预测,例如,从cb(蓝差异)分量预测cr(红差异)分量。cclmcb到cr的预测在残差域中应用,而不是使用重建的样点信号。这通过将加权的重建cb残差添加到原始cr帧内预测上以形成最终cr预测来实现的:[0052][0053]这里,resicb′(i,j)表示位置(i,j)处的重建cb残差样点。[0054]在一些实施例中,可以以与cclm亮度到色度预测中相似的方式推导缩放因子α。仅有的差异是相对于误差函数中的默认α值增加了回归成本,使得推导的缩放因子偏向‑0.5的默认值,如下:[0055][0056]这里,cb(n)表示相邻的重建cb样点,cr(n)表示相邻的重建cr样点,并且λ等于∑(cb(n)·cb(n))>>9。[0057]在一些实施例中,cclm亮度到色度预测模式被添加作为一种附加色度帧内预测模式。在编码器侧,为选择色度帧内预测模式增加了针对色度分量的另一rd成本检查。当将除cclm亮度到色度预测模式之外的帧内预测模式用于cu的色度分量时,cclmcb到cr预测将被用于cr分量预测。[0058]1.2examplesof多模型cclm[0059]在jem中,存在两个cclm模式:单模型cclm模式和多模型cclm模式(mmlm)。如名称所表示的,单模型cclm模式采用一个线性模型以从整个cu的亮度样点预测色度样点,而在mmlm中,可以存在两个模型。[0060]在mmlm中,当前块的相邻亮度样点和相邻色度样点被分类为两组,每个组被用作训练集,以推导线性模型(即,对特定的组推导特定的α和β)。此外,对当前亮度块的样点也基于对相邻亮度样点进行分类的相同的规则进行分类。[0061]图2示出了将相邻样点分类为两组的示例。threshold被计算作为相邻重建亮度样点的平均值。具有rec′l[x,y]<=threshold的相邻样点被分类为组1;而具有rec′l[x,y]>threshold的相邻样点被分类为组2。[0062][0063]1.3cclm中的向下采样滤波器的示例[0064]在一些实施例中,为进行跨分量预测,对于4:2:0色度格式,其中4个亮度样点对应于1个色度样点,重建亮度块需要被向下采样,以匹配色度信令的尺寸。cclm模式中使用的默认向下采样滤波器如下:[0065][0066]这里,向下采样对相对于亮度样点的位置的色度样点的位置假设如图3a中所示的“类型0”相位关系,例如,水平并置采样和垂直间插(interstitial)采样。[0067]公式(6)中限定的示例性6抽头(6‑tap)向下采样滤波器被用作单模型cclm模式和多模型cclm模式两者的默认滤波器。[0068]在一些实施例中,对于mmlm模式,编码器可以选择性地选择四种附加亮度向下采样滤波器之一以应用于cu中的预测,并且发送滤波器索引,以指示使用这些滤波器中的哪个。mmlm模式的四个可选择亮度向下采样滤波器,如图3b中所示,如下:[0069]rec'l[x,y]=(recl[2x,2y] recl[2x 1,2y] 1)>>1ꢀꢀꢀ(8)[0070]rec'l[x,y]=(recl[2x 1,2y] recl[2x 1,2y 1] 1)>>1ꢀꢀꢀ(9)[0071]rec'l[x,y]=(recl[2x,2y 1] recl[2x 1,2y 1] 1)>>1ꢀꢀꢀ(10)[0072]rec'l[x,y]=(recl[2x,2y] recl[2x,2y 1] recl[2x 1,2y] recl[2x 1,2y 1] 2)>>2ꢀꢀꢀ(11)[0073]1.4多方向lm(mdlm)[0074]该现有实现方式提出了多方向lm(mdlm)。在mdlm中,提出了两种附加cclm模式:lm‑a,其中线性模型参数仅基于上邻近(或上方相邻)样点推导,如图4a中所示;lm‑l,其中线性模型参数仅基于左邻近样点推导,如图4b中所示。[0075]1.5跨分量线性模型简化[0076]该现有实现方式提出用直线等式替换线性模型参数α和β的lms算法,所谓的两点法。这2个点(亮度和色度的对)(a,b)是相邻亮度样点的集合内的最小值和最大值,如图5中所示。[0077]本文中,线性模型参数α和β根据以下等式获得:[0078]且β=ya‑αxa。[0079]在一些实施例中,避免了推导α所需的除法运算,并由以下的乘法和移位来代替:[0080][0081][0082]本文中,s设定为等于ishift,α设定为等于a,且β设定为等于b。此外,g_ailmdivtablelow和g_ailmdivtablehigh是各自具有512个条目的两个表,其中每个条目储存16比特(16‑bit)整数。[0083]为推导色度预测符,对于当前vtm实现方式,乘法被替换为如下的整数运算:[0084][0085]该实现方式也比当前vtm实现方式更简单,因为移位s总是具有相同的值。[0086]1.6vvc中的cclm的示例[0087]如jem中的cclm在vtm‑2.0中被采用,但jem中的mm‑cclm在vtm‑2.0中不被采用。mdlm和简化cclm已经被采用到vtm‑3.0中。[0088]1.7jem中的局部照明补偿的示例[0089]局部照明补偿(lic)是基于照明变化的线性模型,使用缩放因子a和偏移b,并且对于每个帧间模式编解码的编解码单元(cu)被适应性地启用或禁用。[0090]当lic应用于cu时,采用最小均方差法,通过使用当前cu的相邻样点及其对应的参考样点来推导参数a和b。更具体地,如图21所示,使用了cu的子采样(2:1子采样)的相邻样点和参考图片中的对应的像素(由当前cu或子cu的运动信息标识)。ic参数被推导并分别应用于每个预测方向。[0091]当cu以2nx2nmerge模式编解码时,以与merge模式中的运动信息复制相似的方式从相邻块复制lic标志;否则,对cu信令通知lic标志,以指示是否应用lic。[0092]当针对一图片启用lic时,需要附加的cu级rd校验,以确定lic是否应用于cu。当对cu启用lic时,对于整数像素运动搜索和分数像素运动搜索分别使用绝对差分的均值去除和(mean‑removedsumofabsoluteꢀꢀdiffefference,mr‑sad)和绝对hadamard变换差分的均值去除和(mean‑ꢀremovedsumofabsolutehadamard‑transformeddifference,mr‑satd),而不使用sad和satd。[0093]为了降低编码复杂度,在jem中应用了以下编码方案:在当前图片与其参考图片之间没有明显的照明变化时,对整个图片禁用lic。为了识别这种情况,在编码器处计算当前图片和当前图片的每个参考图片的直方图。如果当前图片和当前图片的每个参考图片之间的直方图差异小于给定阈值,则对当前图片禁用lic;否则,将为当前图片启用lic。[0094]2现有实现方式中的缺陷的示例[0095]当前实现方式引入两点法,以替换jem中的lm模式的lms方法。尽管新方法减少了cclm中的加法和乘法的数目,但引入了以下问题:[0096]1)引入了比较,以找到最小和最大亮度值,其对于单指令、多数据(simd)软件设计不友好。[0097]2)引入了具有总共1024个条目的两个查找表,每个条目储存16比特数,具有2krom存储器要求,这在硬件设计中是不希望的。[0098]3视频编解码中的跨分量预测的示例性方法[0099]本公开技术的实施例克服了现有实现方式的缺点,从而提供具有更高编解码效率和更低计算复杂度的视频编解码。在以下针对各种实现方式而描述的示例中阐明了基于本公开技术的用于跨分量预测的简化线性模型推导,可以增强现有和未来的视频编解码标准。下面提供的本公开技术的示例解释了一般概念,其不应被解释为限制性的。在一个示例中,除非明确地指出不能组合,否则这些示例中描述的各种特征可以被组合。[0100]在以下示例和方法中,术语“lm方法”包括但不限于jem或vtm中的lm模式,jem中的mmlm模式,仅使用左邻近样点推导线性模型的左lm模式,仅使用上邻近样点推导线性模型的上方lm模式,或者使用亮度重建样点来推导色度预测块的其他种类的方法。所有不是lm‑l也不是lm‑a的lm模式都称为普通lm模式。[0101]在以下示例和方法中,shift(x,s)被定义为shift(x,s)=(x off)>>s,并且signshift(x,s)被定义为[0102][0103]本文中,off是诸如0或2s‑1的整数。[0104]当前色度块的高度和宽度分别表示为h和w。[0105]图6示出了当前色度块的相邻样点的示例。将当前色度块的左上样点的坐标表示为(x,y),则相邻色度样点(如图6中所示)表示为:[0106]a:左侧的顶部样点:[x‑1,y],[0107]b:左侧的中间的上方样点:[x‑1,y h/2‑1],[0108]c:左侧的中间的下方样点:[x‑1,y h/2],[0109]d:左侧的底部样点:[x‑1,y h‑1],[0110]e:左侧的延长底部的顶部样点:[x‑1,y h],[0111]f:左侧的延长底部的中间的上方样点:[x‑1,y h h/2‑1],[0112]g:左侧的延长底部的中间的下方样点:[x‑1,y h h/2],[0113]i:左侧的延长底部的底部样点:[x‑1,y h h‑1],[0114]j:上方的左侧样点:[x,y‑1],[0115]k:上方的中间的左侧样点:[x w/2‑1,y‑1],[0116]l:上方的中间的右侧样点:[x w/2,y‑1],[0117]m:上方的右侧样点:[x w‑1,y‑1],[0118]n:上方的延长上方的左侧样点:[x w,y‑1],[0119]o:上方的延长上方的中间的左侧样点:[x w w/2‑1,y‑1],[0120]p:上方的延长上方的中间的右侧样点:[x w w/2,y‑1],以及[0121]q:上方的延长上方的右侧样点:[x w w‑1,y‑1]。[0122]示例1.从两个或更多个特定位置处的色度样点推导lm方法中的参数α和β。[0123]a)推导也取决于所选的色度样点的对应的向下采样的亮度样点。可替代地,推导也取决于所选的色度样点的对应的亮度样点,诸如当为4:4:4颜色格式时。[0124]b)例如,从2s(例如,s=2或3)位置处的色度样点推导cclm中的参数α和β,诸如:[0125]i.位置{a,d,j,m};[0126]ii.位置{a,b,c,d,j,k,l,m};[0127]iii.位置{a,i,j,q};[0128]iv.位置{a,b,d,i,j,k,m,q};[0129]v.位置{a,b,d,f,j,k,m,o};[0130]vi.位置{a,b,f,i,j,k,o,q};[0131]vii.位置{a,c,e,i,j,l,n,q};[0132]viii.位置{a,c,g,i,j,l,p,q};[0133]ix.位置{a,c,e,g,j,l,n,p};[0134]x.位置{a,b,c,d};[0135]xi.位置{a,b,d,i};[0136]xii.位置{a,b,d,f};[0137]xiii.位置{a,c,e,i};[0138]xiv.位置{a,c,g,i};[0139]xv.位置{a,c,e,g};[0140]xvi.位置{j,k,l,m};[0141]xvii.位置{j,k,m,q};[0142]xviii.位置{j,k,m,o};[0143]xix.位置{j,k,o,q};[0144]xx.位置{j,l,n,q};[0145]xxi.位置{j,l,p,q};[0146]xxii.位置{j,l,n,p};[0147]xxiii.位置{a,b,c,e,e,f,g,i};[0148]xxiv.位置{j,k,l,m,n,o,p,q};[0149]c)从以下位置处的色度样点推导cclm中的参数α和β,如:[0150]i.{a,b,c,d,e,f,g,i}与{j,k,l,m,n,o,p,q}之间的任意组合,诸如[0151](a)位置a和j;[0152](b)位置b和k;[0153](c)位置c和l;[0154](d)位置d和m;[0155](e)位置e和n;[0156](f)位置f和o;[0157](g)位置g和p;[0158](h)位置i和q;[0159]ii.取自{a,b,c,d,e,f,g,}的任意两个不同位置[0160](a)位置a和b;[0161](b)位置a和c;[0162](c)位置a和d;[0163](d)位置a和e;[0164](e)位置a和f;[0165](f)位置a和g;[0166](g)位置a和i;[0167](h)位置d和b;[0168](i)位置d和c;[0169](j)位置e和b;[0170](k)位置e和c;[0171](l)位置i和b;[0172](m)位置i和c;[0173](n)位置i和d;[0174](o)位置i和e;[0175](p)位置i和f;[0176](q)位置i和g;[0177]iii.取自{j,k,l,m,n,o,p,q}的任意两个不同位置[0178](a)位置j和k;[0179](b)位置j和l;[0180](c)位置j和m;[0181](d)位置j和n;[0182](e)位置j和o;[0183](f)位置j和p;[0184](g)位置j和q;[0185](h)位置m和k;[0186](i)位置m和l;[0187](j)位置n和k;[0188](k)位置n和l;[0189](l)位置q和k;[0190](m)位置q和l;[0191](n)位置q和m;[0192](o)位置q和n;[0193](p)位置q和o;[0194](q)位置q和p;[0195](r)位置q和q;[0196]iv.在一个示例中,如果两个所选的位置具有相同的亮度值,则更多的位置可以被进一步检查。[0197]d)例如,不是全部可用色度样点都被搜索以找到最大和最小亮度值来用两点法推导cclm中的参数α和β。[0198]i.出自k个色度样点(及其对应的向下采样的亮度样点)的一个色度样点被包含在搜索集合中。k可以是2、4、6或8。[0199](a)例如,如果rec[x,y]是上邻近样点,则只有在x%k==0的情况下,其才被包括在搜索集合中。如果rec[x,y]是左邻近样点,则只有在y%k==0的情况下,其才被包括在搜索集合中。[0200]ii.仅在特定位置(诸如1.a.i~1.a.xxiv中所定义)处的色度样点被包括在搜索集合中。[0201]e)对于模式lm‑l,全部所选的样点必须是左邻近样点。[0202]f)对于模式lm‑a,全部所选的样点必须是上邻近样点。[0203]g)所选的位置可以固定,或者它们可以是适应性的。[0204]i.在一个示例中,选择哪些位置可以取决于当前色度块的宽度和高度;[0205]ii.在一个示例中,选择哪些位置可以被从编码器信令通知到解码器,诸如在vps/sps/pps/条带标头(sliceheader)/片组头(tilegroupheader)/片/ctu/cu/pu。[0206]h)所选择的色度样点用于以等式(2)和等式(3)中所示的最小均方差法推导参数α和β。在等式(2)和等式(3),n被设定为所选择的样点的数目。[0207]i)一对所选择的色度样点用于以两点法推导参数α和β。[0208]j)在一个示例中,如何选择样点可以取决于相邻块的可用性。[0209]i.例如,如果左邻近块和上邻近块都是可用的,则选择位置a、d、j和m;如果仅左邻近块是可用的,则选择位置a和d;并且如果仅上邻近块是可用的,则选择位置j和m。[0210]示例2.cclm模式中的参数集可以首先被推导,然后被组合以形成用于编解码一个块的最终线性模型参数。假设α1和β1由特定位置处的用组1表示的一组色度样点推导,α2和β2由特定位置处的用组2表示的一组色度样点推导,…,αn和βn由特定位置处的用组n表示的一组色度样点推导,则最终α和β可以由(α1,β1),…(αn,βn)推导。[0211]a)在一个示例中,α被计算为α1,…αn的平均值,且β被计算为β1,…βn的平均值。[0212]i.在一个示例中,α=signshift(α1 α2,1),β=signshift(β1 β2,1)。[0213]ii.在一个示例中,α=shift(α1 α2,1),β=shift(β1 β2,1)。[0214]iii.如果(α1,β1)和(α2,β2)具有不同精度,例如,为从其对应的向下采样的亮度样点lr得到色度预测cp,其计算为[0215]使用(α1,β1),cp=signshift(α1×lr β1,sh1),但使用(α2,β2),cp=signshift(α2×lr β2,sh2),sh1不等于sh2,则参数需要在组合之前被移位。假设sh1>sh2,则在组合之前,参数应移位为:[0216](a)α1=signshift(α1,sh1‑sh2),β1=signshift(β1,sh1‑sh2)。则最终精度为(α2,β2)。[0217](b)α1=shift(α1,sh1‑sh2),β1=shift(β1,sh1‑sh2)。则最终精度为(α2,β2)。[0218](c)α2=α2<<(sh1‑sh2),β2=β2<<(sh1‑sh2)。则最终精度为(α1,β1)。[0219]b)组1和组2中的位置的一些示例:[0220]i.组1:位置a和d,组2:位置j和m。[0221]ii.组1:位置a和i,组2:位置j和q。[0222]iii.组1:位置a和d,组2:位置e和i,其中存在两组用于模式lm‑l。[0223]iv.组1:位置j和m,组2:位置n和q,其中存在两组用于模式lm‑a。[0224]v.组1:位置a和b,组2:位置c和d,其中存在两组用于模式lm‑l。[0225]vi.组1:位置j和k,组2:位置l和m,其中存在两组用于模式lm‑a。[0226]示例3.假设两个色度样点值被表示为c0和c1,及其对应的亮度样点值被表示为l0和l1(l0<l1)是输入。两点法可以利用输入推导α和β如下[0227]且β=c0‑αl0。[0228]亮度样点和色度样点的比特深度表示为bl和bc。该实现方式的一个或多个简化包括:[0229]a)如果l1等于l0,则α被输出为0。可替代地,当l1等于l0,使用某种帧内预测模式(例如,dm模式,dc或平面模式)而非使用cclm模式来推导预测块。[0230]b)除法运算被没有查找表的其他运算替换。log2运算可以通过检查最高有效位的位置实现。[0231]i.α=shift(c1‑c0,floor(log2(l1‑l0))或[0232]α=signshift(c1‑c0,floor(log2(l1‑l0))[0233]ii.α=shift(c1‑c0,ceiling(log2(l1‑l0))或[0234]α=signshift(c1‑c0,ceiling(log2(l1‑l0))[0235]iii.可以基于l1‑l0的值选择示例i或示例ii。[0236](a)例如,如果l1‑l0<t,则使用示例i,否则使用示例ii。例如,t可以为(floor(log2(l1‑l0)) ceiling(log2(l1‑l0)))/2[0237](b)例如,如果则使用示例i,否则使用示例ii。[0238](c)例如,如果则使用示例i,否则使用示例ii。[0239]c)用表示为m[k]的一个查找表替换除法运算。[0240]i.表示为v的查找表的尺寸小于2p,其中p是整数,诸如5、6或7。[0241]ii.查找表的每个条目储存f比特(f‑bit)整数,例如,f=8或16。[0242](a)在一个示例中,m[k‑z]=((1<<s) off)/k,其中s是定义精度的整数,例如,s=f。off是偏移,例如,off=(k z)>>1。z定义表的起始值,例如,z=1,或z=8,或z=32。有效关键字(validkey)k要求表必须满足k>=z。[0243]iii.k=shift(l1‑l0,w)被用作查询查找表的关键字。[0244](a)在一个示例中,w取决于bl,v和z。[0245](b)在一个示例中,w还取决于l1‑l0的值。[0246]iv.如果k不是查询查找表的有效关键字(k‑z<0或k‑z>=v),则α被输出为0。[0247]v.例如,[0248]α=shift((c1‑c0)×m[k‑z],d),或[0249]α=signshift((c1‑c0)×m[k‑z],d)[0250]vi.为从其对应的(例如,对4:2:0向下采样)亮度样点lr得到色度预测cp,其被计算为[0251]cp=signshift(α×lr β,sh),或[0252]cp=shift(α×lr β,sh)[0253]vii.sh可以为固定数,或可以取决于用于计算α和β的c0、c1、l0、l1的值。[0254](d)sh可以取决于bl、bc、v、s和d。[0255](e)d可以取决于sh。[0256]viii.用v表示的查找表的尺寸等于2p,其中p是整数,诸如5、6、7或8。替代地,v设定为2p‑m(例如,m等于0)。[0257]ix.假设α=p/q(例如,q=l1‑l0,p=c1‑c0,或它们被以其他方式推导),则用查找表计算α为α=shift(p×m[k‑z],d)或α=signshift(p×m[k‑z],d),其中k是查询查找表中的条目的键(索引)。[0258](a)在一个示例中,由q用函数k=f(q)推导k。[0259](b)在一个示例中,由q和p用函数k=f(q,p)推导k。[0260](c)在一个示例中,k在特定范围[kmin,kmax]内有效。例如,kmin=z且kmax=v z。[0261](d)在一个示例中,k=shift(q,w),[0262]a.w可以取决于bl、v和z。[0263]b.w可以取决于q的值。[0264]c.在一个示例中,当k计算为shift(q,w)时,则α被用查找表计算为[0265]α=(shift(p×m[k‑z],d))<<w或[0266]α=(signshift(p×m[k‑z],d))<<w[0267](e)在一个示例中,用q的不同值以不同方式推导k。[0268]a)例如,当q<=kmax时k=q,并且当q>kmax时k=shift(q,w)。例如,w选择为使shift(q,w)不大于kmax的最小正整数。[0269]b)例如,k=min(kmax,q)。[0270]c)例如,k=max(kmin,min(kmax,q))。[0271](f)在一个示例中,当q<0时,‑q用于在计算中替换q。然后输出–α。[0272](g)在一个示例中,当q等于0时,则α设定为默认值,诸如0或1。[0273](h)在一个示例中,当q等于2ee>=0,则α=shift(p,e)或α=signshift(p,e)。[0274]d)推导lm参数的全部运算必须在k比特内,k可以为8、10、12、16、24或32。[0275]i.如果中间变量可能超出由约束比特表示的范围,其应当被修剪或右移,以在约束比特内。[0276]示例4.一个单个色度块可以使用多个线性模型,并且多个线性模型的选择取决于色度样点在色度块内的位置。[0277]a)在一个示例中,lm‑l和lm‑a模式可以在单个色度块中组合。[0278]b)在一个示例中,由lm‑l模式预测一些样点,并且由lm‑a模式预测其他样点。[0279]i.图7示出了示例。假设左上样点在位置(0,0)处。位置(x,y)处的样点(x>y(或x>=y))由lm‑a预测,并且其他样点由lm‑l预测。[0280]c)假设位置(x,y)处的样点的使用lm‑l和lm‑a的预测分别表示为p1(x,y)和p2(x,y),则最终预测p(x,y)计算为p1(x,y)和p2(x,y)的加权和。[0281]i.p(x,y)=w1*p1(x,y) w2*p2(x,y)[0282](d)w1 w2=1。[0283]ii.p(x,y)=(w1*p1(x,y) w2*p2(x,y) offset)>>shift,其中shift可以为0或1<<(shift‑1),并且shift是整数,诸如1,2,3…。[0284](a)w1 w2=1<<shift。[0285]iii.p(x,y)=(w1*p1(x,y) ((1<<shift)‑ꢀw1)*p2(x,y) offset)>>shift,其中shift可以为0或1<<(shift‑1),并且shift是整数,诸如1,2,3…。[0286]iv.w1和w2可以取决于位置(x,y)[0287](e)例如,如果x<y,则w1>w2(例如,w1=3,w2=1),[0288](f)例如,如果x>y,则w1<w2(例如,w1=1,w2=3),[0289](g)例如,如果x==y,则w1=w2(例如,w1=2,w2=2),[0290](h)例如,当x<y时,如果y‑x增大,则w1–w2增大,[0291](i)例如,当x>y时,如果x‑y增大,则w2–w1增大。[0292]示例5.提出将相邻样点(包括色度样点及其对应的亮度样点,其可以向下采样)分割为n组。第k组(k=0,1,…,n‑1)的最大亮度值和最小亮度值表示为maxlk和minlk,及其对应的色度值分别表示为maxck和minck。[0293]a.在一个示例中,maxl计算为maxl=f1(maxls0,maxls1,…,maxlsm);maxc计算为maxc=f2(maxcs0,maxcs1,…maxcsm);minl计算为minl=f3(minls0,minls1,…minlsm)。minc计算为minc=f3(mincs0,mincs1,…,mincsm)。f1,f2,f3和f4为函数。两点法以输入推导α和β如下[0294][0295]β=minc‑αminl[0296]i.在一个示例中,f1,f2,f3,f4全部表示平均函数。[0297]ii.s0,s1,…sm为所选择的组的索引,其用于计算α和β。[0298](1)例如,使用全部组,例如,s0=0,s1=1,…sm=n‑1。[0299](2)例如,使用两组,例如,m=1,s0=0,s1=n‑1。[0300](3)例如,不使用全部组,例如,m<n‑1,s0=0,s1=2,s3=4,…。[0301]b.在一个示例中,位于上方行的样点(或向下采样的样点)可以分类为一组,并且位于块的左列的样点(或向下采样的样点)可以分类为另一组。[0302]c.在一个示例中,样点(或向下采样的样点)基于它们的位置或坐标被分类,例如,样点可以分类为两组。[0303]i.例如,样点可以分类为两组。[0304](1)对于具有位于上方行的坐标(x,y)的样点,如果x%p=q,其被分类为组s0,其中p和q为整数,例如,p=2,q=1,p=2,q=0或p=4,q=0;否则,其被分类为组s1。[0305](2)对于具有位于左列的坐标(x,y)的样点,如果y%p=q,其被分类为组s0,其中p和q为整数,例如,p=2,q=1,p=2,q=0或p=4,q=0;否则,其被分类为组s1。[0306](3)仅在一组(诸如s0)中的样点,用于找到maxc和maxl。例如,maxl=maxls0和maxc=maxcs0。[0307]d.在一个示例中,相邻样点(或向下采样的样点)的仅部分用于分割为n组。[0308]e.组的数目(例如,n)和/或所选择的组索引和/或函数(f1/f2/f3/f4)可以预定或在sps/vps/pps/图片头/条带标头/片组头/lcu/lcu/cu中被信令通知。[0309]f.在一个示例中,如何为每组选择样点可以取决于相邻块的可用性。[0310]i.例如,maxl0/maxc0和minl0/minc0从位置a和d找到;maxl1/maxc1和minl1/minc1从位置j和m找到,当左邻近块和上邻近块两者都可用时,则maxl=(maxl0 maxl1)/2,maxc=(maxc0 maxc1)/2,minl=(minl0 minl1)/2,minc=(minc0 minc1)/2。[0311]ii.例如,当仅左邻近块可用时,maxl/maxc和minl/minc直接从位置a和d找到。[0312](1)替代地,如果上邻近块不可用,则α和β设定为等于一些默认值。例如,α=0且β=1<<(bitdepth‑1),其中bitdepth是色度样点的比特深度。[0313]iii.例如,当仅上邻近块可用时,maxl/maxcandminl/minc直接从位置j和m找到。[0314](1)替代地,如果左邻近块不可用,则α和β设定为等于一些默认值。例如,α=0且β=1<<(bitdepth‑1),其中bitdepth是色度样点的比特深度。[0315]g.在一个示例中,如何对每组选择样点可以取决于块的宽度和高度。[0316]h.在一个示例中,如何对每组选择样点可以取决于样点的值。[0317]i.在一个示例中,具有最大亮度值和最小亮度值的两个样点被挑出为在第一组中。并且全部其他样点在第二组中。[0318]示例6.提出是否和如何应用lm‑l和lm‑a模式可以取决于当前块的宽度(w)和高度(h)。[0319](a)例如,如果w>k×h,则lm‑l无法被应用。例如,k=2。[0320](b)例如,如果h>k×w,则lm‑a无法被应用。例如,k=2。[0321](c)如果lm‑l和lm‑a之一无法被应用,指示是否使用lm‑l或lm‑a的标志不应被信令通知。[0322]示例7.标志被信令通知,以指示是否应用cclm模式。对标志进行编解码的算术编解码中使用的上下文可以取决于图8中所示的左上邻近块是否应用cclm模式。[0323](a)在一个示例中,如果左上邻近块应用cclm模式,则使用第一上下文;并且,如果左上邻近块不应用cclm模式,则使用第二上下文。[0324](b)在一个示例中,如果左上邻近块不可用,则其被视为不应用cclm模式。[0325](c)在一个示例中,如果左上邻近块不可用,则其被视为应用cclm模式。[0326](d)在一个示例中,如果左上邻近块不是帧内编解码的,则其被视为不应用cclm模式。[0327](e)在一个示例中,如果左上邻近块不是帧内编解码的,则其被视为应用cclm模式。[0328]示例8.dm和lm模式的指示或码字可以以与序列到序列/图片到图片/片到片/块到块不同的顺序编解码。[0329](a)lm和dm的指示的编解码顺序(例如,首先编解码是否是lm模式,如果不是,则编解码是否是dm模式;或首先编解码是否是dm模式,如果不是,则编解码是否是lm模式)可以取决于一个或多个相邻块的模式信息。[0330](b)在一个示例中,在当前块的左上块可用且用lm模式编解码时,则首先编解码lm模式的指示。[0331](c)替代地,在当前块的左上块可用且用dm模式编解码时,则首先编解码dm模式的指示。[0332](d)替代地,在当前块的左上块可用且用非lm(例如,dm模式或除lm之外的其他帧内预测模式)编解码时,则首先编解码dm模式的指示。[0333](e)在一个示例中,顺序的指示可以在sps/vps/pps/图片头/条带标头/片组头/lcu/lcu/cu中被信令通知。[0334]示例9.在以上示例中,样点(或向下采样的样点)可以位于2×w上邻近样点或2×h左邻近样点之外,如图6中所示。[0335](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。[0336](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。[0337]示例10.在一个示例中,色度相邻样点及其对应的亮度样点(可以被向下采样)在如示例1‑7中所公开推导线性模型参数α和β之前被向下采样。假设当前色度块的宽度和高度是w和h。[0338](a)在一个示例中,是否和如何进行向下采样可以取决于w和h。[0339](b)在一个示例中,用于推导参数的当前块的左邻近样点的数目,以及用于推导参数的当前块的上邻近样点的数目在向下采样过程之后应该是相同。[0340](c)在一个示例中,如果w等于h,则色度相邻样点及其对应的亮度样点(可以被向下采样)不被向下采样。[0341](d)在一个示例中,如果w<h,则当前块的左侧的色度相邻样点及其对应的亮度样点(可以被向下采样)被向下采样。[0342](i)在一个示例中,每个h/w色度样点中的一个色度样点被挑出,以用于推导α和β。将其他色度样点丢弃。例如,假设r[0,0]表示当前块的左上样点,则r[‑1,k*h/w],k从0到w‑1,被挑出用于推导α和β。[0343](e)在一个示例中,如果w>h,则当前块上方的色度相邻样点及其对应的亮度样点(可以被向下采样)被向下采样。[0344](ii)在一个示例中,每个w/h色度样点中的一个色度样点被挑出用于推导α和β。其他色度样点被丢弃。例如,假设r[0,0]表示当前块的左上样点,则r[k*w/h,‑1],k从0到h‑1,被挑出用于推导α和β。[0345](ii)图9示出了当图6中的位置d和位置m用于推导α和β时要挑出的样点的示例,以及当w>h时进行的向下采样。[0346]示例11.相邻向下采样的/原始地重建的样点和/或向下采样的/原始地重建的样点在被用于线性模型预测过程或跨色彩分量预测过程之前可以被进一步细化。[0347](a)“要细化”可以指滤波处理。[0348](b)“要细化”可以指任意非线性处理[0349](c)提出若干相邻样点(包括色度样点及其对应的亮度样点,其可以被向下采样)被挑出以计算c1,c0,l1和l0,以便推导α和β,诸如α=(c1‑c0)/(l1‑l0)且β=c0‑αl0。[0350](d)在一个示例中,表示为lx1,lx2,…,lxs的s个相邻亮度样点(可以被向下采样),以及表示为cx1,cx2,…cxs的对应的色度样点用于推导c0和l0,并且表示为ly1,ly2,…,lyt的t个相邻亮度样点(可以被向下采样),及其表示为cy1,cy2,…cyt的对应的色度样点用于推导c1和l1,如下:[0351](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为任意函数。[0352](ii)在一个示例中,f0相同于f1。[0353](iii)在一个示例中,f2相同于f3。[0354](iv)在一个示例中,f0f1f2f3是相同的。[0355]1.例如,它们全部是平均函数。[0356](v)在一个示例中,s等于t。[0357]1.在一个示例中,集合{x1,x2,…xs}相同于集合{y1,y2,…,yt}。[0358](vi)在一个示例中,lx1,lx2,…,lxs被选择为一组亮度样点的最小s个亮度样点。[0359]1.例如,亮度样点的组包括vtm‑3.0中用于推导cclm线性参数的全部相邻样点。[0360]2.例如,亮度样点的组包括vtm‑3.0中用于推导cclm线性参数的部分相邻样点。[0361]a.例如,亮度样点的组包括四个样点,如图2‑5中所示。[0362](vii)在一个示例中,ly1,ly2,…,lys被选择为一组亮度样点的最大s个亮度样点。[0363]1.例如,亮度样点的组包括vtm‑3.0中用于推导cclm线性参数的全部相邻样点。[0364]2.例如,亮度样点的组包括vtm‑3.0中用于推导cclm线性参数的部分相邻样点。[0365]a.例如,亮度样点的组包括四个样点,如图2‑5中所示。[0366]示例12.提出基于最大相邻或向下采样的相邻样点在相邻或向下采样的相邻样点的给定集合中选择其他相邻或向下采样的相邻样点。[0367](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。[0368](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。[0369](c)在一个示例中,上方样点表示一个色彩分量(例如,亮度色彩分量)的样点。cclm/跨色彩分量过程中使用的样点可以由第二色彩分量的对应的坐标推导。[0370](d)相似方式可以用于推导最小样点。[0371]示例13.在以上示例中,亮度和色度可以切换。替代地,亮度色彩分量可以由主色彩分量(例如,g)替换,并且色度色彩分量可以由从色彩分量(例如,b或r)替换。[0372]示例14.色度样点(和/或对应的亮度样点)的位置的选择可以取决于编解码的模式信息。[0373](a)替代地,另外,其可以取决于相邻样点的可用性,诸如左列或上方行或右上行或左下列是否可用。图10绘示了相对于块的左列/上方行/右上行/左下列的概念。[0374](b)替代地,另外,其可以取决于位于某位置的样点的可用性,诸如第1右上样点和/或第1左下样点是否可用。[0375](c)替代地,另外,其可以取决于块维度。[0376](i)替代地,另外,其可以取决于当前色度(和/或亮度)块的宽度和高度之间的比例。[0377](ii)替代地,另外,其可以取决于宽度和/或高度是否等于k(例如,k=2)。[0378](d)在一个示例中,在当前模式是普通lm模式时,以下方式可以应用于选择色度样点(和/或向下采样的或非向下采样的亮度样点):[0379](i)如果左列和上方行两者都可用,则左列的两个样点和上方行中的两个可以被选择。它们可以位于(假设当前块的左上坐标是(x,y)):[0380]1.(x‑1,y),(x,y‑1),(x‑1,y h‑1)和(x w‑1,y‑1)[0381]2.(x‑1,y),(x,y‑1),(x‑1,y h‑h/w‑1)和(x w‑1,y‑1)。例如,当h大于w时。[0382]3.(x‑1,y),(x,y‑1),(x‑1,y h‑1)和(x w‑ꢀw/h‑1,y‑1)。例如,当h小于w时。[0383]4.(x‑1,y),(x,y‑1),(x‑1,y h–max(1,h/w))和(x w‑max(1,w/h),y‑1)。[0384](ii)如果仅上方行可用,则仅从上方行选择样点。[0385]1.例如,可以选择上方行的四个样点。[0386]2.例如,可以选择两个样点。[0387]3.如何选择样点可以取决于宽度/高度。例如,当w>2时选择四个样点,并且当w=2时选择两个样点。[0388]4.所选择的样点可以位于(假设当前块的左上坐标是(x,y)):[0389]a.(x,y‑1),(x w/4,y‑1),(x 2*w/4,y‑1),(x 3*w/4,y–1)[0390]b.(x,y‑1),(x w/4,y‑1),(x 3*w/4,y–1),(x w‑1,y‑1)[0391]c.(x,y‑1),(x (2w)/4,y‑1),(x 2*(2w)/4,y‑1),(x 3*(2w)/4,y–1)。[0392]例如,当右上行可用时,或当第1右上样点可用时。[0393]d.(x,y‑1),(x (2w)/4,y‑1),(x 3*(2w)/4,y–1),(x (2w)‑1,y‑1)。[0394]例如,当右上行可用时,或当第1右上样点可用时。[0395](iii)如果仅左列可用,则仅从左列选择样点。[0396]1.例如,可以选择左列的四个样点;[0397]2.例如,可以选择左列的两个样点;[0398]3.如何选择样点可以取决于宽度/高度。例如,当h>2时选择四个样点,并且当h=2时选择两个样点。[0399]4.所选择的样点可以位于:[0400]a.(x‑1,y),(x‑1,y h/4),(x‑1,y 2*h/4),(x‑ꢀ1,y 3*h/4)[0401]b.(x‑1,y),(x‑1,y 2*h/4),(x‑1,y 3*h/4),(xꢀ‑1,y h‑1)[0402]c.(x‑1,y),(x‑1,y (2h)/4),(x‑1,y 2*(2h)/4),(x‑1,y 3*(2h)/4)。[0403]例如,当左下列可用时,或当第1左下样点可用时。[0404]d.(x‑1,y),(x‑1,y 2*(2h)/4),(x‑1,y 3*(2h)/4),(x‑1,y (2h)‑1)。[0405]例如,当左下列可用时,或当第1左下样点可用时。[0406](iv)对于以上示例,可以选择四个样点中的仅两个。[0407](e)在一个示例中,在当前模式是lm‑a模式时,其可以根据示例11(d)(ii)选择样点。[0408](f)在一个示例中,在当前模式是lm‑l模式时,其可以根据示例11(d)(iii)选择样点。[0409](g)亮度选择的样点(例如,根据所选择的色度位置)可以分组为2组,一组具有全部所选择的样点的最大值和最小值,另一组具有全部其余样点。[0410](i)2组的两个最大值被平均为2点方法中的最大值;2组的两个最小值被平均为2点方法中的最小值,以推导lm参数。[0411](ii)当仅存在4个选择的样点时,两个较大样点值被平均,两个较小样点值被平均,并且平均的值被用作对2点方法的输入,以推导lm参数。[0412]示例15.在以上示例中,亮度和色度可以切换。替代地,亮度色彩分量可以由主色彩分量(例如,g)替换,并且色度色彩分量可以由从色彩分量(例如,b或r)替换。[0413]示例16.提出基于第一位置偏移值(表示为f)和步长值(表示为s)选择上邻近色度样点(和/或它们的对应的亮度样点,其可以被向下采样)。假设要使用的可用上邻近样点的宽度为w。[0414]a)在一个示例中,w可以设定为当前块的宽度。[0415]b)在一个示例中,w可以设定为(l*当前块的宽度)其中l是整数值。[0416]c)在一个示例中,当上方和左侧块两者都可用时,w可以设定为当前块的宽度。[0417]i.替代地,当左侧块不可用时,w可以设定为(l*当前块的宽度)其中l是整数值。[0418]ii.在一个示例中,l可以取决于右上块的可用性。替代地,l可以取决于一个左上样点的可用性。[0419]d)在一个示例中,w可以取决于编解码的模式。[0420]i.在一个示例中,如果当前块以lm模式被编解码,则w可以设定为当前块的宽度;[0421]ii.如果当前块以lm‑a模式被编解码,则w可以设定为(l*当前块的宽度),其中l是整数值。[0422](a)l可以取决于右上块的可用性。替代地,l可以取决于一个左上样点的可用性。[0423]e)假设当前块的左上坐标是(x0,y0),则选择位置(x0 f k×s,y0‑1)处的上邻近样点,k=0,1,2,…kmax。[0424]f)在一个示例中,f=w/p。p是整数。[0425]i.例如,p=2i,其中i是整数,诸如1或2。[0426]ii.替代地,f=w/p offset。[0427]g)在一个示例中,s=w/q。q是整数。[0428]i.例如,q=2j,其中j是整数,诸如1或2。[0429]h)在一个示例中,f=s/r。r是整数。[0430]i.例如,r=2m,其中m是整数,诸如1或2。[0431]i)在一个示例中,s=f/z。z是整数。[0432]i.例如,z=2n,其中n是整数,诸如1或2。[0433]j)kmax和/或f和/或s和/或offset可以取决于当前块的预测模式(诸如lm,lm‑a或lm‑l);[0434]k)kmax和/或f和/或s和/或offset可以取决于当前块的宽度和/或高度。[0435]l)kmax和/或f和/或s和/或offset可以取决于相邻样点的可用性。[0436]m)kmax和/或f和/或s和/或offset可以取决于w。[0437]n)例如,kmax=1,f=w/4,s=w/2,offset=0。替代地,另外,如果当前块是lm编解码的,左邻近样点和上邻近样点两者都可用,且w>=4,则进行设定。[0438]o)例如,kmax=3,f=w/8,s=w/4,offset=0。替代地,另外,如果当前块是lm编解码的,仅上邻近样点可用,且w>=4,则进行设定。[0439]p)例如,kmax=3,f=w/8,s=w/4,offset=0。替代地,另外,如果当前块是lm‑a编解码的,且w>=4,则进行设定。[0440]q)例如,kmax=1,f=0,s=1,offset=0。替代地,另外,如果w等于2,则进行。[0441]示例17.提出基于第一位置偏移值(表示为f)和步长值(表示为s)选择左邻近色度样点(和/或它们的对应的亮度样点,其可以被向下采样)。假设要使用的可用左邻近样点的高度为h。[0442]a)在一个示例中,h可以设定为当前块的高度。[0443]b)在一个示例中,h可以设定为(l*当前块的高度),其中l是整数值。[0444]c)在一个示例中,当上方和左侧块两者都可用时,h可以设定为当前块的高度。[0445]i.替代地,当上方块不可用时,h可以设定为(l*当前块的高度)其中l是整数值。[0446]ii.在一个示例中,l可以取决于左下块的可用性。替代地,l可以取决于一个左下样点的可用性。[0447]iii.替代地,如果所要求的右上邻近块可用,则h可以设定为(当前块的高度 当前块的宽度)。[0448](a)在一个示例中,当左邻近样点不可用时,相同的h上邻近样点被挑选用于lm‑a模式和lm模式。[0449]d)在一个示例中,h可以取决于编解码的模式。[0450]i.在一个示例中,如果当前块以lm模式被编解码,则h可以设定为当前块的高度;[0451]ii.如果当前块被编解码为lm‑l模式,则w可以设定为(l*当前块的高度),其中l是整数值。[0452](a)l可以取决于左下块的可用性。替代地,l可以取决于一个左上样点的可用性。[0453](b)替代地,如果所要求的左下邻近块可用,则w可以设定为(当前块的高度 当前块的宽度)。[0454](c)在一个示例中,当上邻近样点不可用时,相同的w左邻近样点被挑选用于lm‑l模式和lm模式。[0455]e)假设当前块的左上坐标是(x0,y0),则选择位置(x0‑1,y0 f k×s)处的左邻近样点,k=0,1,2,…kmax。[0456]f)在一个示例中,f=h/p。p是整数。[0457]i.例如,p=2i,其中i是整数,诸如1或2。[0458]ii.替代地,f=h/p offset。[0459]g)在一个示例中,s=h/q。q是整数。[0460]i.例如,q=2j,其中j是整数,诸如1或2。[0461]h)在一个示例中,f=s/r。r是整数。[0462]i.例如,r=2m,其中m是整数,诸如1或2。[0463]i)在一个示例中,s=f/z。z是整数。[0464]i.例如,z=2n,其中n是整数,诸如1或2。[0465]j)kmax和/或f和/或s和/或offset可以取决于当前块的预测模式(诸如lm,lm‑a或lm‑l);[0466]k)kmax和/或f和/或s和/或offset可以取决于当前块的宽度和/或高度。[0467]l)kmax和/或f和/或s和/或offset可以取决于h。[0468]m)kmax和/或f和/或s和/或offset可以取决于相邻样点的可用性。[0469]n)例如,kmax=1,f=h/4,s=h/2,offset=0。替代地,另外,如果当前块是lm编解码的,左和上邻近样点两者都可用,且h>=4,则进行设定。[0470]o)例如,kmax=3,f=h/8,s=h/4,offset=0。替代地,另外,如果当前块是lm编解码的,仅上邻近样点可用,且h>=4,则进行设定。[0471]p)例如,kmax=3,f=h/8,s=h/4,offset=0。替代地,另外,如果当前块是lm‑l编解码的,且h>=4,则进行设定。[0472]q)例如,如果h等于2,则kmax=1,f=0,s=1,offset=0。[0473]示例18.提出选择两个或四个相邻色度样点(和/或它们的对应的亮度样点,其可以被向下采样)以推导线性模型参数。[0474]a)在一个示例中,maxy/maxc和miny/minc由两个或四个相邻色度样点(和/或它们的对应的亮度样点,其可以被向下采样)被推导,并且然后被用于以2点方案推导线性模型参数。[0475]b)在一个示例中,如果存在两个相邻色度样点(和/或它们的对应的亮度样点,其可以被向下采样)被选择以推导maxy/maxc和miny/minc,则miny设定为较小亮度样点值,并且minc是其对应的色度样点值;maxy设定为较大亮度样点值,并且maxc是其对应的色度样点值。[0476]c)在一个示例中,如果存在四个相邻色度样点(和/或它们的对应的亮度样点,其可以被向下采样)被选择以推导maxy/maxc和miny/minc,则亮度样点及其对应的色度样点被分割为两个数组g0和g1,其各自含有两个亮度样点及其对应的亮度样点。[0477]i.假设四个亮度样点及其对应的色度样点表示为s0,s1,s2,s3,则它们可以以任意顺序被分割为两组。例如:[0478](a)g0={s0,s1},g1={s2,s3};[0479](b)g0={s1,s0},g1={s3,s2};[0480](c)g0={s0,s2},g1={s1,s3};[0481](d)g0={s2,s0},g1={s3,s1};[0482](e)g0={s1,s2},g1={s0,s3};[0483](f)g0={s2,s1},g1={s3,s0};[0484](g)g0={s0,s3},g1={s1,s2};[0485](h)g0={s3,s0},g1={s2,s1};[0486](i)g0={s1,s3},g1={s0,s2};[0487](j)g0={s3,s1},g1={s2,s0};[0488](k)g0={s3,s2},g1={s0,s1};[0489](l)g0={s2,s3},g1={s1,s0};[0490](m)g0和g1可以互换。[0491]ii.在一个示例中,g0[0]和g0[1]的亮度样点值被比较,如果g0[0]的亮度样点值大于g0[1]的亮度样点值,则g0[0]的亮度样点及其对应的色度样点与g0[1]的亮度样点及其对应的色度样点互换。[0492](a)替代地,如果g0[0]的亮度样点值大于或等于g0[1]的亮度样点值,则g0[0]的亮度样点及其对应的色度样点与g0[1]的亮度样点及其对应的色度样点互换。[0493](b)替代地,如果g0[0]的亮度样点值小于g0[1]的亮度样点值,则g0[0]的亮度样点及其对应的色度样点与g0[1]的亮度样点及其对应的色度样点互换。[0494](c)替代地,如果g0[0]的亮度样点值小于或等于g0[1]的亮度样点值,则g0[0]的亮度样点及其对应的色度样点与g0[1]的亮度样点及其对应的色度样点互换。[0495]iii.在一个示例中,g1[0]和g1[1]的亮度样点值被比较,如果g1[0]的亮度样点值大于g1[1]的亮度样点值,则g1[0]的亮度样点及其对应的色度样点与g1[1]的亮度样点及其对应的色度样点互换。[0496](a)替代地,如果g1[0]的亮度样点值大于或等于g1[1]的亮度样点值,则g1[0]的亮度样点及其对应的色度样点与g1[1]的亮度样点及其对应的色度样点互换。[0497](b)替代地,如果g1[0]的亮度样点值小于g1[1]的亮度样点值,则g1[0]的亮度样点及其对应的色度样点与g1[1]的亮度样点及其对应的色度样点互换。[0498](c)替代地,如果g1[0]的亮度样点值小于或等于g1[1]的亮度样点值,则g1[0]的亮度样点及其对应的色度样点与g1[1]的亮度样点及其对应的色度样点互换。[0499]iv.在一个示例中,g0[0]和g1[1]的亮度样点值被比较,如果g0[0]的亮度样点值大于(或小于,或不大于,或不小于)g1[1]的亮度样点值,则将g0和g1互换。[0500](a)在一个示例中,g0[0]和g1[0]的亮度样点值被比较,如果g0[0]的亮度样点值大于(或小于,或不大于,或不小于)g1[0]的亮度样点值,则将g0和g1互换。[0501](b)在一个示例中,g0[1]和g1[0]的亮度样点值被比较,如果g0[1]的亮度样点值大于(或小于,或不大于,或不小于)g1[0]的亮度样点值,则将g0和g1互换。[0502](c)在一个示例中,g0[1]和g1[1]的亮度样点值被比较,如果g0[1]的亮度样点值大于(或小于,或不大于,或不小于)g1[1]的亮度样点值,则将g0和g1互换。[0503]v.在一个示例中,g0[0]和g1[1]的亮度样点值被比较,如果g0[0]的亮度样点值大于(或小于,或不大于,或不小于)g1[1]的亮度样点值,则将g0[0]和g1[1]互换。[0504](a)在一个示例中,g0[0]和g1[0]的亮度样点值被比较,如果g0[0]的亮度样点值大于(或小于,或不大于,或不小于)g1[0]的亮度样点值,则将g0[0]和g1[0]互换。[0505](b)在一个示例中,g0[1]和g1[0]的亮度样点值被比较,如果g0[1]的亮度样点值大于(或小于,或不大于,或不小于)g1[0]的亮度样点值,则将g0[1]和g1[0]互换。[0506](c)在一个示例中,g0[1]和g1[1]的亮度样点值被比较,如果g0[1]的亮度样点值大于(或小于,或不大于,或不小于)g1[1]的亮度样点值,则将g0[1]和g1[1]互换。[0507]vi.在一个示例中,maxy计算为g0[0]和g0[1]的亮度样点值的平均,maxc计算为g0[0]和g0[1]的色度样点值的平均。[0508](a)替代地,maxy计算为g1[0]和g1[1]的亮度样点值的平均,maxc计算为g1[0]和g1[1]的色度样点值的平均。[0509]vii.在一个示例中,miny计算为g0[0]和g0[1]的亮度样点值的平均,minc计算为g0[0]和g0[1]的色度样点值的平均。[0510]替代地,miny计算为g1[0]和g1[1]的亮度样点值的平均,minc计算为g1[0]和g1[1]的色度样点值的平均。[0511]d)在一个示例中,如果仅存在两个可用的相邻色度样点(和/或它们的对应的亮度样点,其可以被向下采样),它们可以首先被填充为四个色度样点(和/或它们的对应的亮度样点),则四个色度样点(和/或它们的对应的亮度样点)用于推导cclm参数。[0512]i.在一个示例中,两个填充色度样点(和/或它们的对应的亮度样点)被从两个可用相邻色度样点(和/或它们的对应的亮度样点,其可以被向下采样)复制。[0513]示例19.在全部以上示例中,所选择的色度样点应位于上方行内(即,具有w个样点),如图10中所示,和/或左列(即,具有h个样点)内,其中w和h为当前块的宽度和高度。[0514]a)替代地,在当前块用普通lm模式编解码时,可以应用以上限制。[0515]b)替代地,所选择的色度样点应位于上方行内(即,具有w个样点),以及右上行内,具有h个样点。[0516]i.替代地,另外,在当前块用lm‑a模式编解码时,可以应用以上限制。[0517]ii.替代地,另外,在当前块用lm‑a模式或普通lm模式且上方行可用但左列不可用时,可以应用以上限制。[0518]c)替代地,所选择的色度样点应位于左列内(即,具有h个样点),以及左下列内,具有w个样点。[0519]i.替代地,另外,在当前块用lm‑l模式编解码时,可以应用以上限制。[0520]ii.替代地,另外,在当前块用lm‑l模式或普通lm模式编解码,且上方行不可用但左列可用时,可以应用以上限制。[0521]示例20[0522]在一个示例中,仅在推导cclm参数需要的对应的色度样点的位置处的相邻亮度样点需要被向下采样。[0523]示例21[0524]如何进行本文档中公开的方法可以取决于颜色格式(诸如4:2:0或4:4:4)。[0525]a)替代地,如何进行本文档中公开的方法可以取决于比特深度(诸如8比特或10比特)。[0526]b)替代地,如何进行本文档中公开的方法可以取决于色彩表示方法(诸如rgb或ycbcr)。[0527]c)替代地,如何进行本文档中公开的方法可以取决于色彩表示方法(诸如rgb或ycbcr)。[0528]d)替代地,如何进行本文档中公开的方法可以取决于色度向下采样位置。[0529]示例22[0530]是否推导用于推导cclm参数的亮度和色度分量的最大值/最小值可以取决于左和上邻域的可用性。例如,如果左和上邻近块两者都不可用,则可以不推导用于推导cclm参数的亮度和色度分量的最大值/最小值。[0531]a)是否推导用于推导cclm参数的亮度和色度分量的最大值/最小值可以取决于可用相邻样点的数目。例如,如果numsampl==0且numsampt==0,则可以不推导用于推导cclm参数的亮度和色度分量的最大值/最小值。在另一示例中,如果numsampl numsampt==0,则可以不推导用于推导cclm参数的亮度和色度分量的最大值/最小值。在两个示例中,numsampl和numsampt是来自左和上邻近块的可用相邻样点的数目。[0532]b)是否推导用于推导cclm参数的亮度和色度分量的最大值/最小值可以取决于挑选的用于推导参数的样点的数目。例如,如果cntl==0且cntt==0,则可以不推导用于推导cclm参数的亮度和色度分量的最大值/最小值。在另一示例中,如果cntl cntt==0,则可以不推导用于推导cclm参数的亮度和色度分量的最大值/最小值。在两个示例中,cntl和cntt是挑选的来自左和上邻近块的样点的数目。[0533]示例23[0534]在一个示例中,提出的推导用于cclm中的参数的方法可以用于推导用于lic或依赖于线性模型的其他编解码工具中的参数。[0535]a)以上公开的示例可以应用于lic,诸如通过由“当前块的相邻样点”替换“色度相邻样点”,并且由“参考块的相邻样点”替换“对应的亮度样点”。[0536]b)在一个示例中,用于lic参数推导的样点可以排除上方行和/或左列中的样点某些位置。[0537]i.在一个示例中,用于lic参数推导的样点可以排除上方行中的第一个。[0538](a)假设左上样点的坐标是(x0,y0),提出对使用lic参数排除(x0,y0‑1)。[0539]ii.在一个示例中,用于lic参数推导的样点可以排除左列中的第一个。[0540](b)假设左上样点的坐标是(x0,y0),提出对于使用lic参数排除(x0‑1,y0)。[0541]iii.是否应用以上方法和/或如何定义某些位置可以取决于左列/上方行的可用性。[0542]iv.是否应用以上方法和/或如何定义某些位置可以取决于块维度。[0543]c)在一个示例中,当前块的n个相邻样点(其可以被向下采样)和参考块的n个对应的相邻样点(其可以相应地被向下采样)可以用于推导用于lic的参数。[0544]i.例如,n为4。[0545]ii.在一个示例中,n个相邻样点可以定义为来自上方行的n/2个样点;以及来自左列的n/2个样点。[0546](a)替代地,n个相邻样点可以定义为来自上方行或左列的n个样点。[0547]iii.在另一示例中,n等于min(l,t),其中t是当前块的可用相邻样点(其可以被向下采样)的总数。[0548](a)在一个示例中,l设定为4[0549]iv.在一个示例中,n个样点的坐标的选择可以遵循在cclm中选择n个样点的规则。[0550]v.在一个示例中,n个样点的坐标的选择可以遵循在lm‑a中选择n个样点的规则。[0551]vi.在一个示例中,n个样点的坐标的选择可以遵循在lm‑l中选择n个样点的规则。[0552]vii.在一个示例中,如何选择n个样点可以取决于上方行/左列的可用性。[0553]d)在一个示例中,用于推导用于lic中的参数的当前块的n个相邻样点(其可以被向下采样)和参考块的n个对应的相邻样点(其可以相应地被向下采样)可以基于样点位置挑选。[0554]i.挑选方法可以取决于当前块的宽度和高度。[0555]ii.挑选方法可以取决于相邻块的可用性。[0556]iii.例如,如果上邻近样点和左邻近样点两者都可用,则可以从左邻近样点挑选k1个相邻样点,并且从上邻近样点挑选k2个相邻样点。例如,k1=k2=2。[0557]iv.例如,如果仅左邻近样点可用,则可以从左邻近样点挑选k1个相邻样点。例如,k1=4。[0558]v.例如,如果上邻近样点可用,则可以从上邻近样点挑选k2个相邻样点。例如,k2=4。[0559]vi.例如,可以用第一位置偏移值(表示为f)和步长值(表示为s)挑选上方样点,步长值可以取决于当前块的维度和相邻块的可用性。[0560](a)例如,示例13中所公开的方法可以应用于推导f和s。[0561]vii.例如,可以用第一位置偏移值(表示为f)和步长值(表示为s)挑选左侧样点,步长值可以取决于当前块的维度和相邻块的可用性。[0562](a)例如,示例17中所公开的方法可以应用于推导f和s。[0563]e)在一个示例中,在当前块是仿射编解码的时,提出的推导用于cclm中的参数的方法还可以用于推导用于lic中的参数。[0564]f)以上方法可以用于推导用于依赖于线性模型的其他编解码工具中的参数。[0565]在另一示例中,提出了跨分量预测模式,其中根据预测模型以对应的重建的亮度样点预测色度样点,如等式12中所示。在等式12中,predc(x,y)指代色度的预测样点。α和β是两个模型参数。rec’l(x,y)是向下采样的亮度样点。[0566]predc(x,y)=α×rec′l(x,y) β,ꢀꢀꢀ(12)[0567]为图11中的块a的亮度向下采样的过程引入六抽头滤波,如等式13所示。[0568]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.ꢀꢀꢀ(13)[0569]以上图11中阴影的周围亮度参考样点被以3抽头滤波向下采样,如等式14中所示。左周围亮度参考样点被根据等式15向下采样。如果左侧或上方样点不可用,则将使用等式16和等式17中定义的2抽头滤波。[0570]rec′l(x,y)=(2xrecl(2x,2y) recl(2x‑1,2y) recl(2x 1,2y))>>2ꢀꢀꢀ(14)[0571]rec′l(x,y)=(2xrecl(2x,2y) recl(2x,2y 1) recl(2x,2y‑1))>>2ꢀꢀꢀ(15)[0572]rec′l(x,y)=(3xrecl(2x,2y) recl(2x 1,2y) 2)>>2ꢀꢀꢀ(16)[0573]rec′l(x,y)=(3×recl(2x,2y) recl(2x,2y 1) 2)>>2ꢀꢀꢀ(17)[0574]特别地,周围亮度参考样点被向下采样为与色度参考样点相等尺寸。尺寸用宽度和高度表示。为推导α和β,仅涉及两个或四个相邻样点。应用查找表,以避免推导α和β时的除法运算。推导方法在以下说明。[0575]3.1具有多至两个样点的示例性方法[0576](1)如等式18所示计算宽度和高度的比例r。[0577][0578](2)如果上方和左侧块都可用,则选择位于第一上方行的posa和第一左侧行的posl的两个样点。为了简化描述,宽度假设为较长边。posa和posl的推导在等式19中示出(位置索引开始于0)。图12示出了不同宽度和高度比例的一些示例(分别为1、2、4和8)。所选择的样点被加阴影。[0579]posa=width‑r[0580]posl=heightꢀꢀꢀ(19)[0581](3)如果上方块可用而左侧块不可用,则上方行的第一和posa点被选择,如图13中所示。[0582](4)如果左侧块可用而上方块不可用,则左侧行的第一和posl点被选择,如图14中所示。[0583](5)根据所选择的样点辉度(luminance)和彩度(chrominance)值推导色度预测模型。[0584](6)如果左侧和上方块都不可用,则使用默认预测模型,α等于0,β等于1<<(bitdepth‑1),其中bitdepth表示色度样点的比特深度。[0585]3.2具有多至四个样点的示例性方法[0586](1)如等式18计算宽度和高度的比例r。[0587](2)如果上方和左侧块都可用,则选择位于第一上方行的第一和posa、第一左侧行的第一和posl的四个样点。posa和posl的推导在等式19中说明。图15示出了不同宽度和高度比例的一些示例(分别为1、2、4和8)。所选择的样点被加阴影。[0588](3)如果上方块可用而左侧块不可用,则选择上方行的第一和posa点,如图13中所示。[0589](4)如果左侧块可用而上方块不可用,则选择左侧行的第一和posl点,如图14中所示。[0590](5)如果左侧和上方块都不可用,则使用默认预测模型,α等于0,β等于1<<(bitdepth‑1),其中bitdepth表示色度样点的比特深度。[0591]3.3在lm推导中使用查找表的示例性方法[0592]图16示出了具有128、64和32个条目的查找表的示例,并且每个条目由16比特表示。2点lm推导过程被简化为如表1和图17中所示,具有64个条目。应注意,第一条目可以不储存在表中。[0593]还应注意,尽管示例性表中的每个条目被设计为具有16比特,但其可以容易地转换为具有更少比特的数(诸如8比特或12比特)。例如,具有8比特的条目的表可以实现为:[0594]g_ailmdivtablehighsimp_64_8[i]=[0595](g_ailmdivtablehighsimp_64[i] 128)>>8。[0596]例如,具有12比特的条目的表可以实现为:[0597]g_ailmdivtablehighsimp_64_12[i]=[0598](g_ailmdivtablehighsimp_64[i] 8)>>4。[0599]表1:简化的lm推导过程[0600][0601][0602]应注意,maxluma和minluma可以指示所选择的位置的最大和最小亮度样点值。替代地,它们可以指示所选择的位置的最大和最小亮度样点值的函数,诸如平均。当仅存在4个所选择的位置时,它们还可以指示两个较大的亮度值的平均和两个较小的亮度值的平均。还注意到,在图17中,maxchroma和minchroma表示对应于maxluma和minluma的色度值。[0603]3.3具有多至四个样点的方法#4[0604]假设当前色度块的块宽度和高度分别是w和h。并且当前色度块的左上坐标是[0,0]。[0605]如果上方块和左侧块都可用,并且当前模式是普通lm模式(排除lm‑ꢀa和lm‑l),则选择位于上方行的2个色度样点,以及位于左列的2个色度样点。[0606]两个上方样点的坐标为[floor(w/4),‑1]和[floor(3*w/4),‑1]。[0607]两个左侧样点的坐标是[‑1,floor(h/4)]和[‑1,floor(3*h/4)]。[0608]所选择的样点在图20a中绘示为红色。[0609]随后,4个样点被根据亮度样点强度排序并分类为2组。两个较大的样点和两个较小的样点分别被平均。用2个平均的点推导跨分量预测模型。替代地,四个样点的最大值和最小值被用于推导lm参数。[0610]如果上方块可用而左侧块不可用,则当w>2时选择来自上方块的四个色度样点,并且当w=2时选择2个色度样点。[0611]四个所选择的上方样点的坐标为[w/8,‑1],[w/8 w/4,‑1],[w/8 2*w/4,‑1],和[w/8 3*w/4,‑1]。[0612]所选择的样点在图20b中绘示为红色。[0613]如果左侧块可用而上方块不可用,则当h>2时选择来自左侧块的四个色度样点,并且当h=2时选择2个色度样点。[0614]四个所选择的左侧样点的坐标为[‑1,h/8],[‑1,h/8 h/4],[‑1,h/8 2*h/4,‑1],和[‑1,h/8 3*h/4]。[0615]如果左侧块和上方块都不可用,则使用默认预测。α等于0,β等于1<<(bitdepth‑1),其中bitdepth表示色度样点的比特深度。[0616]如果当前模式是lm‑a模式,则当w’>2时选择来自上方块的四个色度样点,并且当w’=2时选择2个色度样点。w’是上邻近样点的可用数目,其可以为2*w。[0617]四个所选择的上方样点的坐标为[w’/8,‑1],[w’/8 w’/4,‑1],[w’/8 2*w’/4,‑1],和[w’/8 3*w’/4,‑1]。[0618]如果当前模式是lm‑l模式,则当h’>2时选择来自左侧块的四个色度样点,并且当h’=2时选择2个色度样点。h’是左邻近样点的可用数目,其可以为2*h。[0619]四个所选择的左侧样点的坐标为[‑1,h’/8],[‑1,h’/8 h’/4],[‑1,h’/8 2*h’/4,‑1],和[‑1,h’/8 3*h’/4]。[0620]3.5修改使用cclm预测的当前vvc标准的示例性实施例。[0621]8.3.4.2.8intra_lt_cclm,intra_l_cclm和intra_t_cclm帧内预测模式的规范[0622]本章节中使用与vvc标准的当前草案中的等式编号相对应的等式编号描述等式。[0623]输入到此过程中的是:[0624]–帧内预测模式predmodeintra,[0625]–相对于当前图片的左上样点的当前变换块的左上样点的样点位置(xtbc,ytbc),[0626]–变量ntbw,指定变换块宽度,[0627]–变量ntbh,指定变换块高度,[0628]–色度相邻样点p[x][y],x=‑1,y=0..2*ntbh–1且x=0..2*ntbw‑1,y=‑1。[0629]此过程的输出是所预测的样点predsamples[x][y],x=0…ntbw‑1,y=0…ntbh‑1。[0630]当前亮度位置(xtby,ytby)推导如下:[0631](xtby,ytby)=(xtbc<<1,ytbc<<1)ꢀꢀꢀ(8‑155)[0632]变量availl,availt和availtl推导如下:[0633]…[0634]–如果predmodeintra等于intra_lt_cclm,则应用以下:[0635]numsampt=availt?ntbw:0ꢀꢀꢀ(8‑156)[0636]numsampl=availl?ntbh:0ꢀꢀꢀ(8‑157)[0637]–否则,应用以下:[0638]numsampt[0639]=(availt&&predmodeintra==intra_t_cclm)?(ntbw numtopright):0ꢀꢀꢀ(8‑158)[0640]numsampl[0641]=(availl&&predmodeintra==intra_l_cclm)?(ntbh numleftbelow):0ꢀꢀꢀ(8‑159)[0642]变量bctuboundary推导如下:[0643]bctuboundary=(ytbc&(1<<(ctblog2sizey‑1)‑1)==0)?true:false。ꢀꢀꢀ(8‑160)[0644]预测样点predsamples[x][y],x=0...ntbw‑1,y=0...ntbh–1,推导如下:[0645]–如果numsampl和numsampt都等于0,则应用以下:[0646]predsamples[x][y]=1<<(bitdepthc‑1)ꢀꢀꢀ(8‑161)[0647]–否则,应用以下顺序的步骤:[0648]1.…[对当前规范没有改变][0649]2.…[0650]3.…[0651]4.…[0652]5.…[0653]6.……[对当前规范没有改变][0654]7.变量miny,maxy,minc和maxc推导如下:[0655]–变量miny设定为等于1<<(bitdepthy) 1,并且变量maxy设定为等于‑1。[0656]–如果availl等于true且predmodeintra等于intra_lt_cclm,则变量aboveis4设定为等于0;否则,其设定为等于1。[0657]–如果availt等于true且predmodeintra等于intra_lt_cclm,变量leftis4设定为等于0;否则,其设定为等于1。[0658]–变量数组startpos[]和pickstep[]推导如下:[0659]–startpos[0]=actualtoptemplatesampnum>>(2 aboveis4);[0660]–pickstep[0]=std::max(1,actualtoptemplatesampnum>>(1 aboveis4));[0661]–startpos[1]=actuallefttemplatesampnum>>(2 leftis4);[0662]–pickstep[1]=std::max(1,actuallefttemplatesampnum>>(1 leftis4));[0663]–变量cnt设定为等于0。[0664]–如果predmodeintra等于intra_lt_cclm,则变量nsx设定为等于ntbw,nsy设定为等于ntbh;否则,nsx设定为等于numsamplt,并且nsy设定为等于numsampl。[0665]–如果availt等于true且predmodeintra不等于intra_l_cclm,则变量selectlumapix,selectchromapix推导如下:[0666]–在startpos[0] cnt*pickstep[0]<nsx且cnt<4时,应用以下:[0667]–selectlumapix[cnt]=ptopdsy[startpos[0] cnt*pickstep[0]];[0668]–selectchromapix[cnt]=p[startpos[0] cnt*pickstep[0]][‑1];[0669]–cnt ;[0670]–如果availl等于true且predmodeintra不等于intra_t_cclm,变量selectlumapix,selectchromapix推导如下:[0671]–在startpos[1] cnt*pickstep[1]<nsy且cnt<4时,应用以下:[0672]–selectlumapix[cnt]=pleftdsy[startpos[1] cnt*pickstep[1]];[0673]–selectchromapix[cnt]=p[‑1][startpos[1] cnt*pickstep[1]];[0674]–cnt ;[0675]–如果cnt等于2,则应用以下:[0676]–如果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][0677]–否则,如果cnt等于4,则应用以下:[0678]–变量数组mingrpidx和maxgrpidx初始化为:[0679]–mingrpidx[0]=0,mingrpidx[1]=1,maxgrpidx[0]=2,maxgrpidx[1]=3;[0680]–应用以下[0681]–如果selectlumapix[mingrpidx[0]]>[0682]selectlumapix[mingrpidx[1]],则互换mingrpidx[0]和mingrpidx[1];[0683]–如果selectlumapix[maxgrpidx[0]]>[0684]selectlumapix[maxgrpidx[1]],则互换maxgrpidx[0]和maxgrpidx[1];[0685]–如果selectlumapix[mingrpidx[0]]>[0686]selectlumapix[maxgrpidx[1]],则互换mingrpidx和maxgrpidx;[0687]–如果selectlumapix[mingrpidx[1]]>[0688]selectlumapix[maxgrpidx[0]],则互换mingrpidx[1]和maxgrpidx[0];[0689]–maxy,maxc,miny和minc推导如下:[0690]–maxy=(selectlumapix[maxgrpidx[0]] selectlumapix[maxgrpidx[1]] 1)>>1;[0691]–maxc=(selectchromapix[maxgrpidx[0]] selectchromapix[maxgrpidx[1]] 1)>>1;[0692]–maxy=(selectlumapix[mingrpidx[0]] selectlumapix[mingrpidx[1]] 1)>>1;[0693]–maxc=(selectchromapix[mingrpidx[0]] selectchromapix[mingrpidx[1]] 1)>>1;[0694]–[0695]8.变量a,b和k推导如下:[0696][改变结束][0697]3.6提出的cclm预测上的另一示例性工作草案[0698]在此章节中,描述了示出可以对vvc标准的当前工作草案进行修改的另一示例性实施例。此处的等式编解码是指vvc标准中对应的等式编号。[0699]intra_lt_cclm,intra_l_cclm和intra_t_cclm帧内预测模式的规范。[0700][添加到当前vvc工作草案如下][0701]上和右的可用相邻色度样点的数目numtopsamp和左和左下的可用相邻色度样点的数目nleftsamp推导如下:[0702]–如果predmodeintra等于intra_lt_cclm,则应用以下:[0703]numsampt=availt?ntbw:0ꢀꢀꢀ(8‑157)[0704]numsampl=availl?ntbh:0ꢀꢀꢀ(8‑158)[0705]–否则,应用以下:[0706]numsampt=(availt&&predmodeintra==intra_t_cclm)?(ntbw min(numtopright,ntbh)):0ꢀꢀꢀ(8‑159)[0707]numsampl=(availl&&predmodeintra==intra_l_cclm)?(ntbh min(numleftbelow,ntbw)):0ꢀꢀꢀ(8‑160)[0708]变量bctuboundary推导如下:[0709]bctuboundary=(ytbc&(1<<(ctblog2sizey‑1)‑1)==0)?true:false。ꢀꢀꢀ(8‑161)[0710]变量cntn和数组pickposn[],n被l和t替换,推导如下:[0711]–变量numis4n设定为等于((availn&&predmodeintra==intra_lt_cclm)?0:1)。[0712]–变量startposn设定为等于numsampn>>(2 numis4n)。[0713]–变量pickstepn设定为等于max(1,numsampn>>(1 numis4n))。[0714]–如果availn等于true且predmodeintra等于intra_lt_cclm或intra_n_cclm,则cntn设定为等于(1 numis4n)<<1,并且pickposn[pos]设定为等于(startposn pos*pickstepn),pos=0…(cntn–1)。[0715]–否则,cntn设定为等于0。[0716]预测样点predsamples[x][y],x=0...ntbw‑1,y=0...ntbh‑1推导如下:[0717]–如果numsampl和numsampt都等于0,则应用以下:[0718]predsamples[x][y]=1<<(bitdepthc‑1)ꢀꢀꢀ(8‑162)[0719]–否则,应用以下顺序的步骤:[0720]1.并置亮度样点py[x][y],x=0...ntbw*2‑1,y=0...ntbh*2‑1,设定为等于位置(xtby x,ytby y)处在去方块滤波过程之前的重建的亮度样点。[0721]2.相邻亮度样点py[x][y]推导如下:[0722]–当numsampl大于0时,左邻近亮度样点py[x][y],x=‑1…‑3,y=0...2*numsampl‑1,被设定为等于在位置(xtby x,ytby y)处在去方块滤波过程之前的重建的亮度样点。[0723]–当numsampt大于0时,上邻近亮度样点py[x][y],x=0…2*numsampt‑1,y=‑1,‑2,被设定为等于在位置(xtby x,ytby y)处去方块滤波过程之前的重建的亮度样点。[0724]–当availtl等于true时,左邻近上亮度样点py[x][y],x=‑1,y=‑1,‑2,被设定为等于在位置(xtby x,ytby y)处去方块滤波过程之前的重建的亮度样点。[0725]3.向下采样的并置亮度样点pdsy[x][y],其中[0726]x=0...ntbw‑1,y=0...ntbh–1,推导如下:[0727]–如果sps_cclm_colocated_chroma_flag等于1,则应用以下:[0728]–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)[0729]–如果availl等于true,则pdsy[0][y],y=1...ntbh‑1,推导如下:[0730]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)[0731]–否则,pdsy[0][y],y=1…ntbh‑1,推导如下:[0732]pdsy[0][y]=(py[0][2*y‑1] 2*py[0][2*y] py[0][2*y 1] 2)>>2ꢀꢀꢀ(8‑165)[0733]–如果availt等于true,pdsy[x][0],x=1...ntbw‑1,推导如下:[0734]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)[0735]–否则,pdsy[x][0],x=1...ntbw‑1,推导如下:[0736]pdsy[x][0]=py[2*x‑1][0] 2*py[2*x][0] py[2*x 1][0] 2)>>2ꢀꢀꢀ(8‑167)[0737]–如果availl等于true且availt等于true,则pdsy[0][0]推导如下:[0738]pdsy[0][0]=(py[0][‑1] [0739]py[‑1][0] 4*py[0][0] py[1][0] ꢀꢀꢀ(8‑168)[0740]py[0][1] 4)>>3[0741]–否则如果availl等于true且availt等于false,则pdsy[0][0]推导如下:[0742]pdsy[0][0]=py[‑1][0] 2*py[0][0] py[1][0] 2)>>2ꢀꢀꢀ(8‑169)[0743]–否则如果availl等于false且availt等于true,则pdsy[0][0]推导如下:[0744]pdsy[0][0]=py[0][‑1] 2*py[0][0] py[0][1] 2)>>2ꢀꢀꢀ(8‑170)[0745]–否则(availl等于false且availt等于false),则pdsy[0][0]推导如下:[0746]pdsy[0][0]=py[0][0]ꢀꢀꢀ(8‑171)[0747]–否则,应用以下:[0748]–pdsy[x][y],x=1..ntbw‑1,y=0..ntbh‑1,推导如下:[0749]pdsy[x][y]=(py[2*x‑1][2*y] py[2*x‑1][2*y 1] [0750]2*py[2*x][2*y] 2*py[2*x][2*y 1] py[2*x 1][2*y] [0751]py[2*x 1][2*y 1] 4)>>3ꢀꢀꢀ(8‑172)[0752]–如果availl等于true,则pdsy[0][y],y=0..ntbh‑1,推导如下:[0753]pdsy[0][y]=(py[‑1][2*y] py[‑1][2*y 1] [0754]2*py[0][2*y] 2*py[0][2*y 1] ꢀꢀꢀ(8‑173)[0755]py[1][2*y] py[1][2*y 1] 4)>>3[0756]–否则,pdsy[0][y],y=0…ntbh‑1,推导如下:[0757]pdsy[0][y]=(py[0][2*y] [0758]py[0][2*y 1] 1)>>1ꢀꢀꢀ(8‑174)[0759]4.当numsampl大于0时,所选择的左邻近色度样点pselc[idx]设定为等于p[‑1][pickposl[idx]],idx=0…(cntl–1),并且所选择的向下采样的左邻近亮度样点pseldsy[idx],idx=0...(cntl‑1)推导如下:[0760]–变量y设定为等于pickposl[idx]。[0761]–如果sps_cclm_colocated_chroma_flag等于1,则应用以下:[0762]–如果y>0||availtl==true,则[0763]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)[0764]–否则,[0765]pseldsy[idx]=(py[‑3][0] 2*py[‑2][0] py[‑1][0] 2)>>2ꢀꢀꢀ(8‑177)[0766]–否则,应用以下:[0767]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[0768](8‑178)[0769]5.当numsampt大于0时,所选择的上邻近色度样点pselc[idx]设定为等于p[pickpost[idx]][‑1],idx=0…(cntt–1),并且向下采样的上邻近亮度样点pseldsy[idx],idx=cntl…(cntl cntt–1)指定如下:[0770]–变量x设定为等于pickpost[idx‑cntl]。[0771]–如果sps_cclm_colocated_chroma_flag等于1,则应用以下:[0772]–如果x>0:[0773]–如果bctuboundary等于false,则应用以下:[0774]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)[0775]–否则(bctuboundary等于true),则应用以下:[0776]pseldsy[idx]=(py[2*x‑1][‑1] [0777]2*py[2*x][‑1] ꢀꢀꢀ(8‑180)[0778]py[2*x 1][‑1] 2)>>2[0779]–否则:[0780]–如果availtl等于true且bctuboundary等于false,则应用以下:[0781]pseldsy[idx]=(py[0][‑3] py[‑1][‑2] 4*py[0][ꢀ‑2] py[1][‑2] [0782]py[0][‑1] 4)>>3ꢀꢀꢀ(8‑181)[0783]–否则如果availtl等于true且bctuboundary等于true,则应用以下:[0784]pseldsy[idx]=(py[‑1][‑1] 2*py[0][‑1] py[1][‑1] 2)>>2ꢀꢀꢀ(8‑182)[0785]–否则如果availtl等于false且bctuboundary等于false,则应用以下:[0786]pseldsy[idx]=py[0][‑3] 2*py[0][‑2] py[0][‑1] 2)>>2ꢀꢀꢀ(8‑183)[0787]–否则(availtl等于false且bctuboundary等于true),则应用以下:[0788]pseldsy[idx]=py[0][‑1]ꢀꢀꢀ(8‑184)[0789]–否则,应用以下:[0790]–如果x>0:[0791]–如果bctuboundary等于false,则应用以下:[0792]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[0793](8‑185)[0794]–否则(bctuboundary等于true),则应用以下:[0795]pseldsy[idx]=(py[2*x‑1][‑1] [0796]2*py[2*x][‑1] ꢀꢀꢀ(8‑186)[0797]py[2*x 1][‑1] 2)>>2[0798]–否则:[0799]–如果availtl等于true且bctuboundary等于false,则应用以下:[0800]pseldsy[idx]=(py[‑1][‑2] py[‑1][‑1] [0801]2*py[0][‑2] 2*py[0][‑1] ꢀꢀꢀ(8‑187)[0802]py[1][‑2] py[1][‑1] 4)>>3[0803]–否则如果availtl等于true且bctuboundary等于true,则应用以下:[0804]pseldsy[idx]=(py[‑1][‑1] [0805]2*py[0][‑1] [0806]py[1][‑1] 2)>>2ꢀꢀꢀ(8‑188)[0807]–否则如果availtl等于false且bctuboundary等于false,则应用以下:[0808]pseldsy[idx]=(py[0][‑2] py[0][‑1] 1)>>1[0809](8‑189)[0810]–否则(availtl等于false且bctuboundary等于true),则应用以下:[0811]pseldsy[idx]=py[0][‑1]ꢀꢀꢀ(8‑190)[0812]6.变量sminy,maxy,minc和maxc推导如下:[0813]–[0814]–当cntt cntl等于2时,设定pselc[idx 2]=pselc[idx]和pseldsy[idx 2]=pseldsy[idx],idx=0和1。[0815]–数组mingrpidx[]和maxgrpidx[]设定为:mingrpidx[0]=0,mingrpidx[1]=1,maxgrpidx[0]=2,maxgrpidx[1]=3。[0816]–如果pseldsy[mingrpidx[0]]>pseldsy[mingrpidx[1]],则swap(mingrpidx[0],mingrpidx[1])。[0817]–如果pseldsy[maxgrpidx[0]]>pseldsy[maxgrpidx[1]],则swap(maxgrpidx[0],maxgrpidx[1])。[0818]–如果pseldsy[mingrpidx[0]]>pseldsy[maxgrpidx[1]],则swap(mingrpidx,maxgrpidx)。[0819]–如果pseldsy[mingrpidx[1]]>pseldsy[maxgrpidx[0]],则swap(mingrpidx[1],maxgrpidx[0])。[0820]–maxy=(pseldsy[maxgrpidx[0]] pseldsy[maxgrpidx[1]] 1)>>1。[0821]–maxc=(pselc[maxgrpidx[0]] pselc[maxgrpidx[1]] 1)>>1。[0822]–miny=(pseldsy[mingrpidx[0]] pseldsy[mingrpidx[1]] 1)>>1。[0823]–minc=(pselc[mingrpidx[0]] pselc[mingrpidx[1]] 1)>>1。[0824]7.变量a,b和k推导如下:[0825]–如果numsampl等于0,并且numsampt等于0,则应用以下:[0826]k=0ꢀꢀꢀ(8‑208)[0827]a=0ꢀꢀꢀ(8‑209)[0828]b=1<<(bitdepthc‑1)ꢀꢀꢀ(8‑210)[0829]–否则,应用以下:[0830]diff=maxy‑minyꢀꢀꢀ(8‑211)[0831]–如果diff不等于0,则应用以下:[0832]diffc=maxc‑mincꢀꢀꢀ(8‑212)[0833]x=floor(log2(diff))ꢀꢀꢀ(8‑213)[0834]normdiff=((diff<<4)>>x)&15ꢀꢀꢀ(8‑214)[0835]x =(normdiff!=0)?1:0ꢀꢀꢀ(8‑215)[0836]y=floor(log2(abs(diffc))) 1ꢀꢀꢀ(8‑216)[0837]a=(diffc*(divsigtable[normdiff]|8) 2y‑1)>>yꢀꢀꢀ(8‑217)[0838]k=((3 x‑y)<1)?1:3 x‑yꢀꢀꢀ(8‑218)[0839]a=((3 x‑y)<1)?sign(a)*15:aꢀꢀꢀ(8‑219)[0840]b=minc‑((a*miny)>>k)ꢀꢀꢀ(8‑220)[0841]其中divsigtable[]指定如下:[0842]divsigtable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0}ꢀꢀꢀ(8‑221)[0843]–否则(diff等于0),则应用以下:[0844]k=0ꢀꢀꢀ(8‑222)[0845]a=0ꢀꢀꢀ(8‑223)[0846]b=mincꢀꢀꢀ(8‑224)[0847]8.预测样点predsamples[x][y],x=0..ntbw‑1,y=0..ntbh‑1推导如下:[0848]predsamples[x][y]=clip1c(((pdsy[x][y]*a)>>k) b)[0849](8‑225)[0850][实施例示例结束][0851]3.7提出的cclm预测上的另一示例性工作草案[0852]在此章节中,描述了示出可以对vvc标准的当前工作草案进行修改的另一示例性实施例。此处的等式编解码是指vvc标准中对应的等式编号。[0853]intra_lt_cclm,intra_l_cclm和intra_t_cclm帧内预测模式的规范[0854]…[0855]可用的上邻近和右上邻近色度样点的数目numtopsamp和可用的左邻近和左下邻近色度样点的数目nleftsamp推导如下:[0856]–如果predmodeintra等于intra_lt_cclm,则应用以下:[0857]numsampt=availt?ntbw:0ꢀꢀꢀ(8‑157)[0858]numsampl=availl?ntbh:0ꢀꢀꢀ(8‑158)[0859]–否则,应用以下:[0860]numsampt=(availt&&predmodeintra==intra_t_cclm)?(ntbw min(numtopright,ntbh)):0ꢀꢀꢀ(8‑159)[0861]numsampl=(availl&&predmodeintra==intra_l_cclm)?(ntbh min(numleftbelow,ntbw)):0ꢀꢀꢀ(8‑160)[0862]变量bctuboundary,推导如下:[0863]bctuboundary=(ytbc&(1<<(ctblog2sizey‑1)‑1)==0)?true:false。ꢀꢀꢀ(8‑161)[0864]变量cntn和数组pickposn[],n被l和t替换,推导如下:[0865]–变量numis4n设定为等于((availn&&predmodeintra==intra_lt_cclm)?0:1)。[0866]–变量startposn设定为等于numsampn>>(2 numis4n)。[0867]–变量pickstepn设定为等于max(1,numsampn>>(1 numis4n))。[0868]–如果availn等于true且predmodeintra等于intra_lt_cclm或intra_n_cclm,则cntn设定为等于min(numsampn,(1 numis4n)<<1),并且pickposn[pos]设定为等于(startposn pos*pickstepn),pos=0…(cntn–1)。[0869]–否则,cntn设定为等于0。[0870]预测样点predsamples[x][y],x=0…ntbw‑1,y=0...ntbh–1,推导如下:[0871]–如果numsampl和numsampt都等于0,则应用以下:[0872]predsamples[x][y]=1<<(bitdepthc‑1)ꢀꢀꢀ(8‑162)[0873]–否则,应用以下顺序的步骤:[0874]1.并置亮度样点py[x][y],x=0...ntbw*2‑1,y=0...ntbh*2–1,设定为等于在位置(xtby x,ytby y)处去方块滤波过程之前的重建的亮度样点。[0875]2.相邻亮度样点py[x][y]推导如下:[0876]–当numsampl大于0时,左邻近亮度样点py[x][y],x=‑1…‑3,y=0…2*numsampl‑1,被设定为等于在位置(xtby x,ytby y)处去方块滤波过程之前的重建的亮度样点。[0877]–当numsampt大于0时,上邻近亮度样点py[x][y],x=0…2*numsampt‑1,y=‑1,‑2,被设定为等于在位置(xtby x,ytby y)处去方块滤波过程之前的重建的亮度样点。[0878]–当availtl等于true时,左上邻近亮度样点py[x][y],x=‑1,y=‑1,‑2,被设定为等于在位置(xtby x,ytby y)处去方块滤波过程之前的重建的亮度样点。[0879]3.向下采样的并置亮度样点pdsy[x][y],x=0...ntbw‑1,y=0...ntbh–1,推导如下:[0880]–如果sps_cclm_colocated_chroma_flag等于1,则应用以下:[0881]–pdsy[x][y],x=1..ntbw‑1,y=1..ntbh‑1,推导如下:[0882]pdsy[x][y]=(py[2*x][2*y‑1] [0883]py[2*x‑1][2*y] 4*py[2*x][2*y] [0884]py[2*x 1][2*y] [0885]py[2*x][2*y 1] 4)>>3ꢀꢀꢀ(8‑163)[0886]–如果availl等于true,则pdsy[0][y],y=1..ntbh‑1,推导如下:[0887]pdsy[0][y]=(py[0][2*y‑1] [0888]py[‑1][2*y] 4*py[0][2*y] py[1][2*y] py[0][2*y 1] 4)>>3ꢀꢀꢀ(8‑164)[0889]–否则,pdsy[0][y],y=1…ntbh‑1,推导如下:[0890]pdsy[0][y]=(py[0][2*y‑1] 2*py[0][2*y] py[0][2*y 1] 2)>>2ꢀꢀꢀ(8‑165)[0891]–如果availt等于true,则pdsy[x][0],x=1...ntbw‑1,推导如下:[0892]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)[0893]–否则,pdsy[x][0],x=1…ntbw‑1,推导如下:[0894]pdsy[x][0]=(py[2*x‑1][0] 2*py[2*x][0] py[2*x 1][0] 2)>>2ꢀꢀꢀ(8‑167)[0895]–如果availl等于true且availt等于true,pdsy[0][0]推导如下:[0896]pdsy[0][0]=(py[0][‑1] py[‑1][0] 4*py[0][0] py[1][0] py[0][1] 4)>>3ꢀꢀꢀ(8‑168)[0897]–否则如果availl等于true且availt等于false,则pdsy[0][0]推导如下:[0898]pdsy[0][0]=(py[‑1][0] 2*py[0][0] py[1][0] 2)>>2ꢀꢀꢀ(8‑169)[0899]–否则如果availl等于false且availt等于true,则pdsy[0][0]推导如下:[0900]pdsy[0][0]=(py[0][‑1] 2*py[0][0] py[0][1] 2)>>2ꢀꢀꢀ(8‑170)[0901]–否则(availl等于false且availt等于false),则pdsy[0][0]推导如下:[0902]pdsy[0][0]=py[0][0]ꢀꢀꢀ(8‑171)[0903]–否则,应用以下:[0904]–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] [0905]2*py[2*x][2*y] ꢀꢀꢀ2*py[2*x][2*y 1] ꢀꢀꢀ(8‑172)[0906]py[2*x 1][2*y] py[2*x 1][2*y 1] 4)>>3[0907]–如果availl等于true,则pdsy[0][y],y=0...ntbh‑1,推导如下:[0908]pdsy[0][y]=(py[‑1][2*y] py[‑1][2*y 1] 2*py[0][2*y] 2*py[0][2*y 1] ꢀꢀꢀ(8‑173)[0909]py[1][2*y] py[1][2*y 1] 4)>>3[0910]–否则,pdsy[0][y],y=0..ntbh‑1,推导如下:[0911]pdsy[0][y]=(py[0][2*y] py[0][2*y 1] 1)>>1[0912](8‑174)[0913]4.当numsampl大于0时,所选择的左邻近色度样点pselc[idx]设定为等于p[‑1][pickposl[idx]],idx=0...(cntl–1),并且所选择的向下采样的左邻近亮度样点pseldsy[idx],idx=0…(cntl‑1)推导如下:[0914]–变量y设定为等于pickposl[idx]。[0915]–如果sps_cclm_colocated_chroma_flag等于1,则应用以下:[0916]–如果y>0||availtl==true,[0917]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)[0918]–否则,[0919]pseldsy[idx]=(py[‑3][0] 2*py[‑2][0] [0920]py[‑1][0] 2)>>2ꢀꢀꢀ(8‑177)[0921]–否则,应用以下:[0922]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[0923](8‑178)[0924]5.当numsampt大于0时,所选择的上邻近色度样点pselc[idx]设定为等于p[pickpost[idx]][‑1],idx=0…(cntt–1),并且向下采样的上邻近亮度样点pseldsy[idx],idx=cntl...(cntl cntt–1),指定如下:[0925]–变量x设定为等于pickpost[idx‑cntl]。[0926]–如果sps_cclm_colocated_chroma_flag等于1,则应用以下:[0927]–如果x>0:[0928]–如果bctuboundary等于false,则应用以下:[0929]pseldsy[idx]=(py[2*x][‑3] [0930]py[2*x‑1][‑2] 4*py[2*x][‑2] [0931]py[2*x 1][‑2] py[2*x][‑1] 4)>>3[0932](8‑179)[0933]–否则(bctuboundary等于true),则应用以下:[0934]pseldsy[idx]=(py[2*x‑1][‑1] [0935]2*py[2*x][‑1] ꢀꢀꢀ(8‑180)[0936]py[2*x 1][‑1] 2)>>2[0937]–否则:[0938]–如果availtl等于true且bctuboundary等于false,则应用以下:[0939]pseldsy[idx]=(py[0][‑3] py[‑1][‑2] 4*py[0][ꢀ‑2] py[1][‑2] [0940]py[0][‑1] 4)>>3ꢀꢀꢀ(8‑181)[0941]–否则如果availtl等于true且bctuboundary等于true,则应用以下:[0942]pseldsy[idx]=(py[‑1][‑1] 2*py[0][‑1] py[1][‑1] 2)>>2ꢀꢀꢀ(8‑182)[0943]–否则如果availtl等于false且bctuboundary等于false,则应用以下:[0944]pseldsy[idx]=(py[0][‑3] 2*py[0][‑2] py[0][‑1] 2)>>2ꢀꢀꢀ(8‑183)[0945]–否则(availtl等于false且bctuboundary等于true),则应用以下:[0946]pseldsy[idx]=py[0][‑1]ꢀꢀꢀ(8‑184)[0947]–否则,应用以下:[0948]–如果x>0:[0949]–如果bctuboundary等于false,则应用以下:[0950]pseldsy[idx]=(py[2*x‑1][‑2] py[2*x‑1][‑1] 2*py[2*x][‑2] 2*py[2*x][‑1] [0951]py[2*x 1][‑2] py[2*x 1][‑1] 4)>>3[0952](8‑185)[0953]–否则(bctuboundary等于true),则应用以下:[0954]pseldsy[idx]=(py[2*x‑1][‑1] [0955]2*py[2*x][‑1] ꢀꢀꢀ(8‑186)[0956]py[2*x 1][‑1] 2)>>2[0957]–否则:[0958]–如果availtl等于true且bctuboundary等于false,则应用以下:[0959]pseldsy[idx]=(py[‑1][‑2] py[‑1][‑1] [0960]2*py[0][‑2] 2*py[0][‑1] ꢀꢀꢀ(8‑187)[0961]py[1][‑2] py[1][‑1] 4)>>3[0962]–否则如果availtl等于true且bctuboundary等于true,则应用以下:[0963]pseldsy[idx]=(py[‑1][‑1] 2*py[0][‑1] [0964]py[1][‑1] 2)>>2ꢀꢀꢀ(8‑188)[0965]–否则如果availtl等于false且bctuboundary等于false,则应用以下:[0966]pseldsy[idx]=(py[0][‑2] py[0][‑1] 1)>>1[0967](8‑189)[0968]–否则(availtl等于false且bctuboundary等于true),则应用以下:[0969]pseldsy[idx]=py[0][‑1]ꢀꢀꢀ(8‑190)[0970]6.当cntt cntl不等于0时,变量sminy,maxy,minc和maxc推导如下:[0971]–[0972]–当cntt cntl等于2,设定pselcomp[3]等于pselcomp[0],pselcomp[2]等于pselcomp[1],pselcomp[0]等于pselcomp[1],并且pselcomp[1]等于pselcomp[3],comp被dsy和c替换。[0973]–数组mingrpidx[]和maxgrpidx[]设定为:mingrpidx[0]=0,mingrpidx[1]=1,maxgrpidx[0]=2,maxgrpidx[1]=3。[0974]–如果pseldsy[mingrpidx[0]]>pseldsy[mingrpidx[1]],则swap(mingrpidx[0],mingrpidx[1])。[0975]–如果pseldsy[maxgrpidx[0]]>pseldsy[maxgrpidx[1]],则swap(maxgrpidx[0],maxgrpidx[1])。[0976]–如果pseldsy[mingrpidx[0]]>pseldsy[maxgrpidx[1]],则swap(mingrpidx,maxgrpidx)。[0977]–如果pseldsy[mingrpidx[1]]>pseldsy[maxgrpidx[0]],则swap(mingrpidx[1],maxgrpidx[0])。[0978]–maxy=(pseldsy[maxgrpidx[0]] pseldsy[maxgrpidx[1]] 1)>>1。[0979]–maxc=(pselc[maxgrpidx[0]] pselc[maxgrpidx[1]] 1)>>1。[0980]–miny=(pseldsy[mingrpidx[0]] pseldsy[mingrpidx[1]] 1)>>1。[0981]–minc=(pselc[mingrpidx[0]] pselc[mingrpidx[1]] 1)>>1。[0982]7.变量a,b和k推导如下:[0983]–如果numsampl等于0,并且numsampt等于0,则应用以下:[0984]k=0ꢀꢀꢀ(8‑208)[0985]a=0ꢀꢀꢀ(8‑209)[0986]b=1<<(bitdepthc‑1)ꢀꢀꢀ(8‑210)[0987]–否则,应用以下:[0988]diff=maxy–minyꢀꢀꢀ(8‑211)[0989]–如果diff不等于0,则应用以下:[0990]diffc=maxc‑mincꢀꢀꢀ(8‑212)[0991]x=floor(log2(diff))ꢀꢀꢀ(8‑213)[0992]normdiff=((diff<<4)>>x)&15ꢀꢀꢀ(8‑214)[0993]x =(normdiff!=0)?1:0ꢀꢀꢀ(8‑215)[0994]y=floor(log2(abs(diffc))) 1ꢀꢀꢀ(8‑216)[0995]a=(diffc*(divsigtable[normdiff]|8) 2y‑1)>>yꢀꢀꢀ(8‑217)[0996]k=((3 x‑y)<1)?1:3 x‑yꢀꢀꢀ(8‑218)[0997]a=((3 x‑y)<1)?sign(a)*15:aꢀꢀꢀ(8‑219)[0998]b=minc‑((a*miny)>>k)ꢀꢀꢀ(8‑220)[0999]其中divsigtable[]指定如下:[1000]divsigtable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0}ꢀꢀꢀ(8‑221)[1001]–否则(diff等于0),则应用以下:[1002]k=0ꢀꢀꢀ(8‑222)[1003]a=0ꢀꢀꢀ(8‑223)[1004]b=mincꢀꢀꢀ(8‑224)[1005]8.预测样点predsamples[x][y],x=0..ntbw‑1,y=0..ntbh–1,推导如下:[1006]predsamples[x][y]=clip1c(((pdsy[x][y]*a)>>k) b)[1007](8‑225)[1008]3.8提出的cclm预测上的替代工作草案[1009]在此章节中,描述了可以对vvc标准的当前工作草案进行的另一修改的替代示例性实施例。此处的等式编号是指vvc标准中对应的等式编号。[1010]intra_lt_cclm,intra_l_cclm和intra_t_cclm帧内预测模式的规范。[1011]…[1012]可用的上邻近和右上邻近色度样点的数目numtopsamp和可用的左邻近和左下邻近色度样点的数目nleftsamp推导如下:[1013]–如果predmodeintra等于intra_lt_cclm,则应用以下:[1014]numsampt=availt?ntbw:0ꢀꢀꢀ(8‑157)[1015]numsampl=availl?ntbh:0ꢀꢀꢀ(8‑158)[1016]–否则,应用以下:[1017]numsampt=(availt&&predmodeintra==intra_t_cclm)?[1018](ntbw min(numtopright,ntbh)):0ꢀꢀꢀ(8‑159)[1019]numsampl=(availl&&predmodeintra==intra_l_cclm)?[1020](ntbh min(numleftbelow,ntbw)):0ꢀꢀꢀ(8‑160)[1021]变量bctuboundary,推导如下:[1022]bctuboundary=(ytbc&(1<<(ctblog2sizey‑1)ꢀ‑1)==0)?true:false。ꢀꢀꢀ(8‑161)[1023]变量cntn和数组pickposn[],n被l和t替换,推导如下:[1024]–变量numis4n设定为等于((availt&&availl&&predmodeintra==intra_lt_cclm)?0:1)。[1025]–变量startposn设定为等于numsampn>>(2 numis4n)。[1026]–变量pickstepn设定为等于max(1,numsampn>>(1 numis4n))。[1027]–如果availn等于true且predmodeintra等于intra_lt_cclm或intra_n_cclm,则cntn设定为等于min(numsampn,(1 numis4n)<<1),并且pickposn[pos]设定为等于(startposn pos*pickstepn),pos=0...(cntn–1)。[1028]–否则,cntn设定为等于0。[1029]预测样点predsamples[x][y],x=0…ntbw‑1,y=0…ntbh–1,推导如下:[1030]–如果numsampl和numsampt都等于0,则应用以下:[1031]predsamples[x][y]=1<<(bitdepthc‑1)ꢀꢀꢀ(8‑162)[1032]–否则,应用以下顺序的步骤:[1033]1.并置亮度样点py[x][y],x=0...ntbw*2‑1,y=0...ntbh*2–1,设定为等于位置(xtby x,ytby y)处在去方块滤波过程之前的重建的亮度样点。[1034]2.相邻亮度样点py[x][y]推导如下:[1035]–当numsampl大于0时,左邻近亮度样点py[x][y],x=‑1...‑3,y=0...2*numsampl‑1,被设定为等于位置(xtby x,ytby y)处在去方块滤波过程之前的重建的亮度样点。[1036]–当numsampt大于0时,上邻近亮度样点py[x][y],x=0...2*numsampt‑1,y=‑1,‑2,被设定为等于位置(xtby x,ytby y)处在去方块滤波过程之前的重建的亮度样点。[1037]–当availtl等于true时,左上邻近亮度样点py[x][y],x=‑1,y=‑1,‑2,被设定为等于位置(xtby x,ytby y)处在去方块滤波过程之前的重建的亮度样点。[1038]3.向下采样的并置亮度样点pdsy[x][y],x[1039]=0..ntbw‑1,y=0..ntbh–1,推导如下:[1040]–如果sps_cclm_colocated_chroma_flag等于1,则应用以下:[1041]–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[1042](8‑163)[1043]–如果availl等于true,则pdsy[0][y],y=1…ntbh‑1,推导如下:[1044]pdsy[0][y]=(py[0][2*y‑1] [1045]py[‑1][2*y] 4*py[0][2*y] py[1][2*y] py[0][2*y 1] 4)>>3ꢀꢀꢀ(8‑164)[1046]–否则,pdsy[0][y],y=1...ntbh‑1,推导如下:[1047]pdsy[0][y]=(py[0][2*y‑1] 2*py[0][2*y] py[0][2*y 1] 2)>>2ꢀꢀꢀ(8‑165)[1048]–如果availt等于true,则pdsy[x][0],x=1...ntbw‑1,推导如下:[1049]pdsy[x][0]=(py[2*x][‑1] [1050]py[2*x‑1][0] [1051]4*py[2*x][0] py[2*x 1][0] py[2*x][1] 4)>>3ꢀꢀꢀ(8‑166)[1052]–否则,pdsy[x][0],x=1…ntbw‑1,推导如下:[1053]pdsy[x][0]=(py[2*x‑1][0] 2*py[2*x][0] py[2*x 1][0] 2)>>2ꢀꢀꢀ(8‑167)[1054]–如果availl等于true且availt等于true,则pdsy[0][0]推导如下:[1055]pdsy[0][0]=(py[0][‑1] [1056]py[‑1][0] 4*py[0][0] py[1][0] ꢀꢀꢀ(8‑168)[1057]py[0][1] 4)>>3[1058]–否则如果availl等于true且availt等于false,则pdsy[0][0]推导如下:[1059]pdsy[0][0]=(py[‑1][0] 2*py[0][0] py[1][0] 2)>>2ꢀꢀꢀ(8‑169)[1060]–否则如果availl等于false且availt等于true,则pdsy[0][0]推导如下:[1061]pdsy[0][0]=(py[0][‑1] 2*py[0][0] py[0][1] 2)>>2ꢀꢀꢀ(8‑170)[1062]–否则(availl等于false且availt等于false),pdsy[0][0]推导如下:[1063]pdsy[0][0]=py[0][0]ꢀꢀꢀ(8‑171)[1064]–否则,应用以下:[1065]–pdsy[x][y],x=1...ntbw‑1,y=0…ntbh‑1,推导如下:[1066]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[1067](8‑172)[1068]–如果availl等于true,pdsy[0][y],y=0...ntbh‑1,推导如下:[1069]pdsy[0][y]=(py[‑1][2*y] py[‑1][2*y 1] [1070]2*py[0][2*y] 2*py[0][2*y 1] ꢀꢀꢀ(8‑173)[1071]py[1][2*y] py[1][2*y 1] 4)>>3[1072]–否则,pdsy[0][y],y=0…ntbh‑1,推导如下:[1073]pdsy[0][y]=(py[0][2*y] py[0][2*y 1] 1)>>1[1074](8‑174)[1075]4.当numsampl大于0时,所选择的左邻近色度样点pselc[idx]设定为等于p[‑1][pickposl[idx]],idx=0...(cntl–1),并且所选择的向下采样的左邻近亮度样点pseldsy[idx],idx=0…(cntl‑1)推导如下:[1076]–变量y设定为等于pickposl[idx]。[1077]–如果sps_cclm_colocated_chroma_flag等于1,则应用以下:[1078]–如果y>0||availtl==true,[1079]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)[1080]–否则,[1081]pseldsy[idx]=(py[‑3][0] 2*py[‑2][0] py[‑1][0] 2)>>2[1082](8‑177)[1083]–否则,应用以下:[1084]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[1085](8‑178)[1086]5.当numsampt大于0时,所选择的上邻近色度样点pselc[idx]设定为等于p[pickpost[idx–cntl]][‑1],idx=cntl...(cntl cntt–1),并且向下采样的上邻近亮度样点pseldsy[idx],idx=cntl...(cntl cntt–1),指定如下:[1087]–变量x设定为等于pickpost[idx–cntl]。[1088]–如果sps_cclm_colocated_chroma_flag等于1,则应用以下:[1089]–如果x>0:[1090]–如果bctuboundary等于false,则应用以下:[1091]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[1092](8‑179)[1093]–否则(bctuboundary等于true),则应用以下:[1094]pseldsy[idx]=(py[2*x‑1][‑1] [1095]2*py[2*x][‑1] ꢀꢀꢀ(8‑180)[1096]py[2*x 1][‑1] 2)>>2[1097]–否则:[1098]–如果availtl等于true且bctuboundary等于false,则应用以下:[1099]pseldsy[idx]=(py[0][‑3] py[‑1][‑2] 4*py[0][‑2] py[1][‑2] py[0][‑1] 4)>>3ꢀꢀꢀ(8‑181)[1100]–否则如果availtl等于true且bctuboundary等于true,则应用以下:[1101]pseldsy[idx]=(py[‑1][‑1] 2*py[0][‑1] py[1][‑1] 2)>>2ꢀꢀꢀ(8‑182)[1102]–否则如果availtl等于false且bctuboundary等于false,则应用以下:[1103]pseldsy[idx]=(py[0][‑3] 2*py[0][‑2] py[0][‑1] 2)>>2ꢀꢀꢀ(8‑183)[1104]–否则(availtl等于false且bctuboundary等于true),则应用以下:[1105]pseldsy[idx]=py[0][‑1]ꢀꢀꢀ(8‑184)[1106]–否则,应用以下:[1107]–如果x>0:[1108]–如果bctuboundary等于false,则应用以下:[1109]pseldsy[idx]=(py[2*x‑1][‑2] py[2*x‑1][‑1][1110] 2*py[2*x][‑2] 2*py[2*x][‑1] py[2*x 1][‑2] py[2*x 1][‑1] 4)[1111]>>3ꢀꢀꢀ(8‑185)[1112]–否则(bctuboundary等于true),则应用以下:[1113]pseldsy[idx]=(py[2*x‑1][‑1] [1114]2*py[2*x][‑1] ꢀꢀꢀ(8‑186)[1115]py[2*x 1][‑1] 2)>>2[1116]–否则:[1117]–如果availtl等于true且bctuboundary等于false,则应用以下:[1118]pseldsy[idx]=(py[‑1][‑2] py[‑1][‑1] [1119]2*py[0][‑2] 2*py[0][‑1] ꢀꢀꢀ(8‑187)[1120]py[1][‑2] py[1][‑1] 4)>>3[1121]–否则如果availtl等于true且bctuboundary等于true,则应用以下:[1122]pseldsy[idx]=(py[‑1][‑1] [1123]2*py[0][‑1] [1124]py[1][‑1] 2)>>2ꢀꢀꢀ(8‑188)[1125]–否则如果availtl等于false且bctuboundary等于false,则应用以下:[1126]pseldsy[idx]=(py[0][‑2] py[0][‑1] 1)>>1[1127](8‑189)[1128]–否则(availtl等于false且bctuboundary等于true),则应用以下:[1129]pseldsy[idx]=py[0][‑1]ꢀꢀꢀ(8‑190)[1130]6.当cntt cntl不等于0时,变量miny,maxy,minc和maxc推导如下:[1131]–[1132]–当cntt cntl等于2时,设定pselcomp[3]等于pselcomp[0],pselcomp[2]等于pselcomp[1],pselcomp[0]等于pselcomp[1],并且pselcomp[1]等于pselcomp[3],comp被dsy和c替换。[1133]–数组mingrpidx[]和maxgrpidx[]设定为:mingrpidx[0]=0,mingrpidx[1]=2,maxgrpidx[0]=1,maxgrpidx[1]=3。[1134]–如果pseldsy[mingrpidx[0]]>pseldsy[mingrpidx[1]],则swap(mingrpidx[0],mingrpidx[1])。[1135]–如果pseldsy[maxgrpidx[0]]>pseldsy[maxgrpidx[1]],则swap(maxgrpidx[0],maxgrpidx[1])。[1136]–如果pseldsy[mingrpidx[0]]>pseldsy[maxgrpidx[1]],则swap(mingrpidx,maxgrpidx)。[1137]–如果pseldsy[mingrpidx[1]]>pseldsy[maxgrpidx[0]],则swap(mingrpidx[1],maxgrpidx[0])。[1138]–maxy=(pseldsy[maxgrpidx[0]] pseldsy[maxgrpidx[1]] 1)>>1。[1139]–maxc=(pselc[maxgrpidx[0]] pselc[maxgrpidx[1]] 1)>>1。[1140]–miny=(pseldsy[mingrpidx[0]] pseldsy[mingrpidx[1]] 1)>>1。[1141]–minc=(pselc[mingrpidx[0]] pselc[mingrpidx[1]] 1)>>1。[1142]7.变量a,b和k推导如下:[1143]–如果numsampl等于0,并且numsampt等于0,则应用以下:[1144]k=0ꢀꢀꢀ(8‑208)[1145]a=0ꢀꢀꢀ(8‑209)[1146]b=1<<(bitdepthc‑1)ꢀꢀꢀ(8‑210)[1147]–否则,应用以下:[1148]diff=maxy‑miny(8‑211)[1149]–如果diff不等于0,则应用以下:[1150]diffc=maxc‑mincꢀꢀꢀ(8‑212)[1151]x=floor(log2(diff))ꢀꢀꢀ(8‑213)[1152]normdiff=((diff<<4)>>x)&15ꢀꢀꢀ(8‑214)[1153]x =(normdiff!=0)?1:0ꢀꢀꢀ(8‑215)[1154]y=floor(log2(abs(diffc))) 1ꢀꢀꢀ(8‑216)[1155]a=(diffc*(divsigtable[normdiff]|8) 2y‑1)>>yꢀꢀꢀ(8‑217)[1156]k=((3 x‑y)<1)?1:3 x‑yꢀꢀꢀ(8‑218)[1157]a=((3 x‑y)<1)?sign(a)*15:aꢀꢀꢀ(8‑219)[1158]b=minc‑((a*miny)>>k)ꢀꢀꢀ(8‑220)[1159]其中divsigtable[]指定如下:[1160]divsigtable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0}ꢀꢀꢀ(8‑221)[1161]–否则(diff等于0),则应用以下:[1162]k=0ꢀꢀꢀ(8‑222)[1163]a=0ꢀꢀꢀ(8‑223)[1164]b=mincꢀꢀꢀ(8‑224)[1165]8.预测样点predsamples[x][y],x=0…ntbw‑1,y=0...ntbh‑1推导如下:[1166]predsamples[x][y]=clip1c(((pdsy[x][y]*a)>>k) b)ꢀꢀꢀ(8‑225)[1167]以上描述的示例可以整合中以下描述的方法(例如,方法2010、2020、2030、2910、2920、2930)的上下文中,其可以在视频编码器和/或解码器实现。[1168]图18a示出了视频处理的示例性方法的流程图。方法2030包括,在步骤2032中,为视频的作为色度块的当前视频块和视频的编解码表示之间的转换,基于所述当前视频块的左邻近块和上邻近块的可用性,确定是否推导亮度分量和色度分量的最大值和/或最小值,所述亮度分量和色度分量的最大值和/或最小值用于推导跨分量线性模型(cclm)的参数。方法2030还包括,在步骤2034,基于所述确定来进行转换。[1169]图18b示出了视频处理的示例性方法的流程图。方法2010包括,在步骤2012,为视频的作为色度块的当前视频块和视频的编解码表示之间的转换,确定亮度样点被向下采样的位置,其中使用向下采样的亮度样点基于色度样点和向下采样的亮度样点来确定跨分量线性模型(cclm)的参数,其中向下采样的亮度样点位于与用于推导cclm的参数的色度样点的位置相对应的位置。方法2010还包括,在步骤2014,基于所述确定来进行转换。[1170]图18c示出了视频处理的示例性方法的流程图。方法2020包括,在步骤2022,为视频的作为色度块的当前视频块和视频的编解码表示之间的转换,确定一种使用色度样点和亮度样点基于与当前视频块相关联的编解码条件来推导跨分量线性模型(cclm)的参数的方法。方法2020还包括,在步骤2024,基于所述确定来进行转换。[1171]图18d示出了视频处理的示例性方法的流程图。方法2910包括,在步骤2912,为视频的当前视频块和视频的编解码表示之间的转换,基于当前视频块的所选相邻样点和参考块的对应相邻样点,确定使用线性模型的编解码工具的参数。方法2910还包括,在步骤2914,基于所述确定进行转换。[1172]图18e示出了视频处理的示例性方法的流程图。方法2920包括,在步骤2922,为视频的当前视频块和视频的编解码表示之间进行转换,基于当前视频块的n个相邻样点和参考块的n个对应的相邻样点,确定局部照明补偿(lic)工具的参数,其中基于n个相邻样点的位置选择当前视频块的n个相邻样点。方法2920还包括,在步骤2924,基于所述确定进行转换。lic工具在转换期间使用当前视频块中照明变化的线性模型。[1173]图18f示出了视频处理的示例性方法的流程图。方法2930包括,在步骤2932,为视频的作为色度块的当前视频块和视频的编解码表示之间的转换,基于色度样点和对应的亮度样确定跨分量线性模型(cclm)的参数。方法2930还包括,在步骤2934,基于所述确定进行转换。在该示例中,通过填充操作获得一些色度样点,并将所述色度样点和对应的亮度样点分组为两个数组g0和g1,每个数组包括两个色度样点和对应的亮度样点。[1174]4本公开技术的示例性实现方式[1175]图19a是视频处理设备3000的框图。设备3000可以用于实现本文所描述的方法中的一个或多个。设备3000可以实现为智能电话、平板电脑、计算机、物联网(iot)接收器等等。设备3000可以包括一个或多个处理器3002、一个或多个存储器3004和视频处理硬件3006。(一个或多个)处理器3002可以配置为实现本文档中描述的一个或多个方法(包括但不限于图18至29c所示的方法)。(一个或多个)存储器3004可以用于储存用于实现本文中所描述的方法和技术的数据和代码。视频处理硬件3006可以用于在硬件电路中实现本文档中描述的一些技术。[1176]图19b是可以实现公开的技术的视频处理系统的框图的另一示例。图19b是示出可以实现本文中公开的技术的示例性视频处理系统3100的框图。各种实现方式可以包括系统3100的组件中的一些或全部。系统3100可以包括输入3102,以接收视频内容。视频内容可以以原始或未压缩格式(例如,8或10比特多分量像素值)接收,也可以以压缩的或编码的格式接收。输入3102可以表示网络接口、外围总线接口或储存接口。网络接口的示例包括诸如以太网、无源光学网络(pon)等的有线接口和诸如wi‑fi或蜂窝接口的无线接口。[1177]系统3100可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件3104。编解码组件3104可以将视频的平均比特率从输入3102减少到编解码组件3104的输出,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。如组件3106所表示的,编解码组件3104的输出可以被存储或经由所连接的通信来传输。在输入3102处接收的视频的存储的或传输的比特流表示(或编解码表示)可以被组件3108用于生成像素值或可显示视频,该像素值或可显示视频被发送到显示接口3110。从比特流表示生成用户可观看视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编码”操作或工具,但是应当理解,编码工具或编码操作在编码器处使用,并且逆向操作编码结果的对应的解码工具或解码操作将由解码器执行。[1178]外围总线接口或显示接口的示例可以包括通用串行总线(usb)或高清多媒体接口(hdmi)或displayport等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等等。本文档中描述的技术可以实现在各种电子装置中,诸如移动电话、膝上型计算机、智能电话或能够执行数字数据处理和/或视频显示的其他设备。[1179]在一些实施例中,视频编解码方法可以使用在关于图19a或19b所描述的硬件平台上实现的装置来实现。[1180]可以使用以下基于条款的格式描述的结合在一些实施例中的各种技术。[1181]第一套条款描述本公开技术的在之前章节中列举的某些特征和方面。[1182]1.一种视频处理的方法,包括:为包括色度块且基于两个或更多个色度样点的当前视频块,确定线性模型的参数的值的集合,其中所述两个或更多个色度样点选自所述色度块的一组相邻色度样点;以及基于所述线性模型重构所述当前视频块。[1183]2.如条款1所述的方法,其中所述色度块的左上样点为(x,y),其中所述色度块的宽度和高度分别为w和h,并且其中所述一组相邻色度样点包括:[1184]样点a,具有坐标(x‑1,y),[1185]样点d,具有坐标(x‑1,y h‑1),[1186]样点j,具有坐标(x,y‑1),以及[1187]样点m,具有坐标(x w‑1,y‑1)。[1188]3.如条款2所述的方法,其中所述当前视频块的左上邻近块和上邻近块可用,并且其中所述两个或更多个色度样点包括所述样点a、d、j和m。[1189]4.如条款2所述的方法,其中所述当前视频块的左上邻近块可用,并且其中所述两个或更多个色度样点包括所述样点a和d。[1190]5.如条款2所述的方法,其中所述当前视频块的上邻近块可用,并且其中所述两个或更多个色度样点包括所述样点j和m。[1191]6.一种视频处理的方法,包括:对包括色度块的当前视频块,生成包括所述当前视频块的相邻块的色度和亮度样点的多个组;基于所述多个组,确定所述色度和亮度样点的最大和最小值;基于所述最大和最小值,确定线性模型的参数的值的集合;以及,基于所述线性模型,重构所述当前视频块。[1192]7.如条款6所述的方法,其中生成所述多个组是基于所述当前视频块的相邻块的可用性。[1193]8.如条款6所述的方法,其中所述多个组包括s0和s1,其中最大亮度值被计算为maxl=f1(maxls0,maxls1,…,maxlsm),其中f1是第一函数且maxlsi是所述多个组中的组si的最大亮度值,其中最大色度值被计算为maxc=f2(maxcs0,maxcs1,…,maxcsm),其中f2是第二函数且maxcsi是所述组si的最大色度值,其中最小亮度值被计算为minl=f3(minls0,minls1,…,minlsm),其中f3是第三函数且minlsi是所述组si的最小亮度值,其中最小色度值被计算为minc=f4(mincs0,mincs1,…,mincsm),其中f4是第四函数且mincsi是所述组si的最大色度值,并且其中所述线性模型的参数包括α和β,其计算为α=(maxc‑minc)/(maxl‑minl)和β=minc‑α×minl。[1194]9.如条款8所述的方法,其中所述色度块的左上样点为(x,y),其中所述色度块的宽度和高度分别为w和h,并且其中所述一组相邻色度样点包括:[1195]样点a,具有坐标(x‑1,y),[1196]样点d,具有坐标(x‑1,y h‑1),[1197]样点j,具有坐标(x,y‑1),以及[1198]样点m,具有坐标(x w‑1,y‑1)。[1199]10.如条款9所述的方法,其中所述当前视频块的左上邻近块和上邻近块可用,其中所述组s0的最大亮度和色度值与最小亮度和色度值(分别为maxls0、maxcs0、minls0和minls0)是基于所述样点a和d,其中所述组s1的最大亮度和色度值与最小亮度和色度值(分别为maxls1、maxcs1、minls1和minls1)是基于样点j和m,并且其中maxl=(maxls0 maxls1)/2,maxc=(maxcs0 maxcs1)/2,minl=(minls0 minls1)/2且minc=(mincs0 mincs1)/2。[1200]11.如条款9所述的方法,其中所述当前视频块的左上邻近块可用,并且其中maxl、maxc、minl和minc是基于所述样点a和d。[1201]12.如条款9所述的方法,其中所述当前视频块的上邻近块可用,并且其中maxl、maxc、minl和minc是基于所述样点j和m。[1202]13.如条款6所述的方法,其中所述线性模型的参数包括α和β,其计算为α=0且β=1<<(bitdepth‑1),其中bitdepth是所述色度样点的比特深度。[1203]14.如条款6所述的方法,其中生成多个组是基于所述当前视频块的高度或宽度。[1204]15.一种视频处理的方法,包括:通过下采样具有高度(h)和宽度(w)的当前视频块的相邻块的色度和亮度样点生成下采样色度和亮度样点;基于所述下采样色度和亮度样点,确定所述当前视频块的线性模型的参数的值的集合;以及基于所述线性模型,重构所述当前视频块。[1205]16.如条款15所述的方法,其中所述下采样是基于所述高度或所述宽度。[1206]17.如条款16所述的方法,其中w<h。[1207]18.如条款16所述的方法,其中w>h。[1208]19.如条款15所述的方法,其中所述当前视频块的左上样点是r[0,0],其中所述下采样色度样点包括样点r[‑1,k×h/w],并且其中k是范围从0至w‑1的非负整数。[1209]20.如条款15所述的方法,其中所述当前视频块的左上样点为r[0,0],其中所述下采样色度样点包括样点r[k×h/w,‑1],并且其中k是范围从0至h‑1的非负整数。[1210]21.如条款15所述的方法,其中在所述下采样色度和亮度样点被用于确定所述当前视频块的线性模型的参数的值的集合之前,对所述下采样色度和亮度样点进行细化过程。[1211]22.如条款21所述的方法,其中所述细化过程包括滤波过程。[1212]23.如条款21所述的方法,其中所述细化过程包括非线性过程。[1213]24.如条款15所述的方法,其中所述线性模型的参数为α和β,其中α=(c1‑c0)/(l1‑l0)且β=c0‑αl0,其中c0和c1是色度样点,并且其中l0和l1是亮度样点。[1214]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为函数。[1215]26.如条款25所述的方法,其中f0和f1为第一函数。[1216]27.如条款25所述的方法,其中f2和f3为第二函数。[1217]28.如条款25所述的方法,其中f0、f1、f2和f3为第三函数。[1218]29.如条款28所述的方法,其中所述第三函数是平均函数。[1219]30.如条款25所述的方法,其中s=t。[1220]31.如条款25所述的方法,其中{lx1,lx2,…,lxs}是一组亮度样点中的最小样点。[1221]32.如条款25所述的方法,其中{lx1,lx2,…,lxs}是一组亮度样点中的最大样点。[1222]33.如条款31或32所述的方法,其中所述亮度样点的组包括vtm‑3.0中使用的全部相邻样点以推导所述线性模型的参数。[1223]34.如条款31或32所述的方法,其中所述亮度样点的组包括vtm‑3.0中使用的相邻样点的子集以推导所述线性模型的参数,并且其中所述子集排除全部所述相邻样点。[1224]35.如条款1所述的方法,其中所述两个或更多个色度样点选自相对于所述当前视频块的左侧列、上方行、右上行或左侧下列中的一个或多个。[1225]36.如条款1所述的方法,其中所述两个或更多个色度样点基于所述当前视频块的高度与所述当前视频块的宽度的比例选择。[1226]37.如条款1所述的方法,其中所述两个或更多个色度样点基于所述当前视频块的编解码模式形状。[1227]38.如条款37所述的方法,其中所述当前视频块的编解码模式是第一线性模式,其与第二线性模式和第三线性模式不同,第二线性模式仅使用左邻近样点而第三线性模式仅使用上邻近样点,其中所述当前视频块的左上样点的坐标为(x,y),并且其中所述当前视频块的宽度和高度分别为w和h。[1228]39.如条款38所述的方法,其中所述两个或更多个色度样点包括具有坐标(x‑1,y)、(x,y‑1)、(x‑1,y h‑1)和(x w‑1,y‑1)的样点。[1229]40.如条款38所述的方法,其中所述两个或更多个色度样点包括具有坐标(x‑1,y)、(x,y‑1)、(x‑1,y h‑h/w‑1)和(x w‑1,y‑1)的样点,并且其中h>w。[1230]41.如条款38所述的方法,其中所述两个或更多个色度样点包括具有坐标(x‑1,y)、(x,y‑1)、(x‑1,y h‑1)和(x w‑w/h‑1,y‑1)的样点,并且其中h<w。[1231]42.如条款38所述的方法,其中所述两个或更多个色度样点包括具有坐标(x‑1,y)、(x,y‑1)、(x‑1,y h–max(1,h/w))和(x w‑max(1,w/h),y‑1)的样点。[1232]43.如条款38所述的方法,其中所述两个或更多个色度样点包括具有坐标(x,y‑1)、(x w/4,y‑1)、(x 2*w/4,y‑1)和(x 3*w/4,y–1)的样点。[1233]44.如条款38所述的方法,其中所述两个或更多个色度样点包括具有坐标(x,y‑1)、(x w/4,y‑1)、(x 3*w/4,y–1)和(x w‑1,y‑1)的样点。[1234]45.如条款38所述的方法,其中所述两个或更多个色度样点包括具有坐标(x,y‑1)、(x (2w)/4,y‑1)、(x 2*(2w)/4,y‑1)和(x 3*(2w)/4,y–1)的样点。[1235]46.如条款38所述的方法,其中所述两个或更多个色度样点包括具有坐标(x,y‑1)、(x (2w)/4,y‑1)、(x 3*(2w)/4,y–1)和(x (2w)‑1,y‑1)的样点。[1236]47.如条款38所述的方法,其中所述两个或更多个色度样点包括具有坐标(x‑1,y)、(x‑1,y h/4)、(x‑1,y 2*h/4)和(x‑1,y 3*h/4)的样点。[1237]48.如条款38所述的方法,其中所述两个或更多个色度样点包括具有坐标(x‑1,y)、(x‑1,y 2*h/4)、(x‑1,y 3*h/4)和(x‑1,y h‑1)的样点。[1238]49.如条款38所述的方法,其中所述两个或更多个色度样点包括具有坐标(x‑1,y)、(x‑1,y (2h)/4)、(x‑1,y 2*(2h)/4)和(x‑1,y 3*(2h)/4)的样点。[1239]50.如条款38所述的方法,其中所述两个或更多个色度样点包括具有坐标(x‑1,y)、(x‑1,y 2*(2h)/4)、(x‑1,y 3*(2h)/4)和(x‑1,y (2h)‑1)的样点。[1240]51.如条款39至50中任一项所述的方法,其中选择所述四个样点中的恰两个以确定所述线性模型的参数的值的集合。[1241]52.一种视频解码装置,包括配置成执行条款1‑51中任一项或多项所述的方法的处理器。[1242]53.一种视频编解码装置,包括配置成执行条款1‑51中任一项或多项所述的方法的处理器。[1243]54.一种视频系统中的设备,包括处理器和其上具有指令的非瞬态存储器,其中由所述处理器执行所述指令时,使所述处理器实现条款1至51中一者或多者所述的方法。[1244]55.一种计算机程序产品,储存在非瞬态计算机可读介质上,所述计算机程序产品包括用于执行条款1至51中的一项或多项所述的方法的程序代码。[1245]第二套条款描述本公开技术的在之前章节中列举的某些特征和方面,包括例如示例20、21和22。[1246]1.一种视频处理方法,包括:为作为色度块的视频的当前视频块与所述视频的编解码表示之间的转换,基于所述当前视频块的左邻近块和上邻近块的可用性,确定是否推导亮度分量和色度分量的最大值和/或最小值,所述亮度分量和色度分量的最大值和/或最小值用于推导跨分量线性模型(cclm)的参数;以及基于所述确定进行所述转换。[1247]2.如条款1所述的方法,其中在所述左邻近块和所述上邻近块不可用的情况下,不推导所述最大值和/或所述最小值。[1248]3.如条款1所述的方法,其中所述确定是基于所述当前视频块的可用相邻样点的数目来进行确定,并且其中所述可用相邻样点用于推导所述跨分量线性模型的参数。[1249]4.如条款3所述的方法,其中在numsampl==0且numsampt==0的情况下不推导所述最大值和/或所述最小值,所述numsampl和所述numsampt分别指示来自所述左邻近块的可用相邻样点的数目和来自所述上邻近块的可用相邻样点的数目,并且其中所述左邻近块的可用相邻样点和来自所述上邻近块的可用相邻样点用于推导所述跨分量线性模型的参数。[1250]5.如条款3所述的方法,其中在numsampl numsampt==0的情况下不推导所述最大值和/或所述最小值,所述numsampl和所述numsampt分别指示来自所述左邻近块的可用相邻样点的数目和来自所述上邻近块的可用相邻样点的数目,并且其中所述左邻近块的可用相邻样点和来自所述上邻近块的可用相邻样点用于推导所述跨分量线性模型的参数。[1251]6.如条款1所述的方法,其中所述确定是基于所选择的用于推导所述跨分量线性模型的参数的样点的数目来进行确定。[1252]7.如条款6所述的方法,其中在cntl==0且cntt==0的情况下不推导所述最大值和/或所述最小值,所述cntl和所述cntt分别指示来自所述左邻近块的所选择的样点的数目和来自所述上邻近块的所选择的样点的数目。[1253]8.如条款6所述的方法,其中在cntl cntt==0的情况下不推导所述最大值和/或所述最小值,所述cntl和所述cntt分别指示来自所述左邻近块的所选择的样点的数目和来自所述上邻近块的所选择的样点的数目。[1254]9.一种视频处理方法,包括:为作为色度块的视频的当前视频块与所述视频的编解码表示之间的转换,确定亮度样点被向下采样的位置,其中所述向下采样的亮度样点被用于基于色度样点和向下采样的亮度样点确定跨分量线性模型(cclm)的参数,其中所述向下采样的亮度样点在对应于被用于推导所述cclm的参数的所述色度样点的位置处;以及基于所述确定进行所述转换。[1255]10.如条款9所述的方法,其中在所述当前视频块之外的位置不向下采样亮度样点且亮度样点不被用于确定所述cclm的参数。[1256]11.一种视频处理方法,包括:为作为色度块的视频的当前视频块与所述视频的编解码表示之间的转换,基于与所述当前视频块相关联的编解码条件确定使用色度样点和亮度样点推导跨分量线性模型(cclm)的参数的方法;以及基于所述确定进行所述转换。[1257]12.如条款11所述的方法,其中所述编解码条件对应于所述当前视频块的色彩格式。[1258]13.如条款12所述的方法,其中所述色彩格式为4:2:0或4:4:4。[1259]14.如条款11所述的方法,其中编解码条件对应于所述当前视频块的色彩表示方法。[1260]15.如条款14所述的方法,其中所述色彩表示方法是rgb或ycbcr。[1261]16.如条款11所述的方法,其中所述色度样点被向下采样,并且所述确定取决于向下采样的色度样点的位置。[1262]17.如条款11所述的方法,其中推导参数的方法包括,根据基于位置规则从一组相邻色度样点选择的所述色度样点和所述亮度样点来确定所述cclm的参数。[1263]18.如条款11所述的方法,其中推导参数的方法包括基于所述色度样点和所述亮度样点的最大值和最小值来确定所述cclm的参数。[1264]19.如条款11所述的方法,其中推导参数的方法包括确定所述cclm的参数,所述cclm的参数由两个色度样点和对应的两个亮度样点能够完全确定。[1265]20.如条款11所述的方法,其中推导参数的方法包括使用参数表确定所述cclm的参数,根据两个色度样点值和两个亮度样点值取回所述参数表的条目。[1266]21.如条款1至20中任一项所述的方法,其中所述转换的进行包括由所述当前块生成所述编解码表示。[1267]22.如条款1至20中任一项所述的方法,其中所述转换的进行包括由所述编解码表示生成所述当前块。[1268]23.一种视频系统中的设备,包括处理器和其上具有指令的非瞬态存储器,其中由所述处理器执行所述指令时,使所述处理器实现条款1至22中一者或多者所述的方法。[1269]24.一种计算机程序产品,储存在非瞬态计算机可读介质上,所述计算机程序产品包括用于执行条款1至22中的一项或多项所述的方法的程序代码。[1270]第十二套条款描述本公开技术的在之前章节中列举的某些特征和方面,包括例如示例23。[1271]1.一种视频处理的方法,包括:为视频的当前视频块与所述视频的编解码表示之间的转换,基于所述当前视频块的所选择的相邻样点和参考块的对应的相邻样点,确定使用线性模型编解码工具的参数;以及基于所述确定进行所述转换。[1272]2.如条款1所述的方法,其中所述编解码工具是局部照明补偿(lic)工具,其包括使用在所述转换期间所述当前视频块中的照明改变的线性模型。[1273]3.如条款2所述的方法,其中基于位置规则选择所述当前视频块的相邻样点和所述参考块的相邻样点。[1274]4.如条款2所述的方法,其中基于所述当前视频块的相邻样点和所述参考块的相邻样点的最大值和最小值选择所述编解码工具的参数。[1275]5.如条款2所述的方法,其中使用参数表确定所述编解码工具的参数,所述参数表的条目根据所述当前视频块的两个相邻样点和所述参考块的两个相邻样点被取回。[1276]6.如条款2所述的方法,其中所述当前视频块的相邻样点和所述参考块的相邻样点被向下采样,以推导所述编解码工具的参数。[1277]7.如条款2所述的方法,其中用于推导所述lic工具的参数的所述相邻样点排除在所述当前视频块的上方行和/或左侧列中的某些位置处的样点。[1278]8.如条款2所述的方法,其中所述当前视频块的左上样点具有坐标(x0,y0),具有坐标(x0,y0‑1)的样点不被用于推导所述lic工具的参数。[1279]9.如条款2所述的方法,其中所述当前视频块的左上样点具有坐标(x0,y0),具有坐标(x0‑1,y0)的样点不被用于推导所述lic工具的参数。[1280]10.如条款7所述的方法,其中所述某些位置取决于所述上方行和/或所述左侧列的可用性。[1281]11.如条款7所述的方法,其中所述某些位置取决于所述当前视频块的块维度。[1282]12.如条款1所述的方法,其中所述确定取决于所述上方行和/或所述左侧列的可用性。[1283]13.如条款2所述的方法,其中所述当前视频块的n个相邻样点和所述参考块的n个相邻样点被用于推导所述lic工具的参数。[1284]14.如条款13所述的方法,其中n为4。[1285]15.如条款13所述的方法,其中所述当前视频块的n个相邻样点包括来自所述当前视频块的上方行的n/2个样点和来自所述当前视频块的左侧列的n/2个样点。[1286]16.如条款13所述的方法,其中n等于min(l,t),t是所述当前视频块的可用相邻样点的总数,并且l是整数。[1287]17.如条款13所述的方法,其中基于可应用于选择推导所述cclm的参数的样点的相同的规则选择所述n个相邻样点。[1288]18.如条款13所述的方法,其中基于可应用于选择推导仅使用上邻近样点的所述cclm的第一模式的参数的样点的相同的规则选择所述n个相邻样点。[1289]19.如条款13所述的方法,其中基于可应用于选择推导仅使用左邻近样点的所述cclm的第二模式的参数的样点的相同的规则选择所述n个相邻样点。[1290]20.如条款13所述的方法,其中基于所述当前视频块的上方行或左侧列的可用性选择所述当前视频块的n个相邻样点。[1291]21.一种视频处理的方法,包括:为视频的当前视频块与所述视频的编解码表示之间的转换,基于所述当前视频块的n个相邻样点和参考块的n个对应的相邻样点确定局部照明补偿(lic)工具的参数,其中基于所述n个相邻样点的位置选择所述当前视频块的n个相邻样点;以及基于所述确定进行所述转换,其中所述lic工具在所述转换期间使用所述当前视频块中的照明改变的线性模型。[1292]22.如条款21所述的方法,其中基于所述当前视频块的宽度和高度选择所述当前视频块的n个相邻样点。[1293]23.如条款21所述的方法,其中基于所述当前视频块的相邻块的可用性选择所述当前视频块的n个相邻样点。[1294]24.如条款21所述的方法,其中用第一位置偏移值(f)和步长值(s)选择所述当前视频块的n个相邻样点,所述第一位置偏移值(f)和步长值(s)取决于所述当前视频块的维度和相邻块的可用性。[1295]25.如条款中任一项所述的方法1‑24,其中所述当前视频块是仿射编解码的。[1296]26.一种视频处理的方法,包括:为视频的作为色度块的当前视频块与所述视频的编解码表示之间的转换,基于色度样点和对应的亮度样点,确定跨分量线性模型(cclm)的参数;以及基于所述确定进行所述转换,其中所述色度样点中的一些通过填充操作获得,并且所述色度样点和所述对应的亮度样点被分组为两个数组g0和g1,每个数组包括两个色度样点和对应的亮度样点。[1297]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]指示所选择的对应的样点的色彩分量的像素值。[1298]28.如条款26所述的方法,其中确定所述参数包括初始化g0[0],g0[1],g1[0]和g1[1]的值。[1299]29.如条款28所述的方法,其中g0[0]=0,g0[1]=2,g1[0]=1,并且g1[1]=3。[1300]30.如条款28所述的方法,其中确定所述参数还包括,在初始化所述值之后,一经比较g0[0]和g0[1]的两个亮度样点值,将g0[0]的色度样点及其对应的亮度样点与g0[1]的色度样点及其对应的亮度样点互换。[1301]31.如条款30所述的方法,其中在g0[0]的亮度样点值大于g0[1]的亮度样点值的情况下,将g0[0]的色度样点及其对应的亮度样点与g0[1]的所述色度样点及其对应的亮度样点互换。[1302]32.如条款28所述的方法,其中确定所述参数还包括,在初始化所述值之后,一经比较g1[0]和g1[1]的两个亮度样点值,将g1[0]的色度样点及其对应的亮度样点与g1[1]的色度样点及其对应的亮度样点互换。[1303]33.如条款32所述的方法,其中在g1[0]的亮度样点值大于g1[1]的亮度样点值的情况下,将g1[0]的色度样点及其对应的亮度样点与g1[1]的色度样点及其对应的亮度样点互换。[1304]34.如条款28所述的方法,其中确定所述参数还包括,在初始化所述值之后,一经比较g0[0]和g1[1]的两个亮度样点值,将g0[0]或g0[1]的色度样点及其对应的亮度样点与g1[0]或g1[1]的色度样点及其对应的亮度样点互换。[1305]35.如条款34所述的方法,其中在g0[0]的亮度样点值大于g1[1]的亮度样点值的情况下,将g0[0]或g0[1]的色度样点及其对应的亮度样点与g1[0]或g1[1]的色度样点及其对应的亮度样点互换。[1306]36.如条款28所述的方法,其中确定所述参数还包括,在初始化所述值之后,一经比较g0[1]和g1[0]的两个亮度样点值,将g0[1]的色度样点及其对应的亮度样点与g1[0]色度样点及其对应的亮度样点互换。[1307]37.如条款36所述的方法,其中在g0[1]的亮度样点值大于g1[0]的亮度样点值的情况下,将g0[1]的色度样点及其对应的亮度样点与g1[0]的色度样点及其对应的亮度样点互换。[1308]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]色度样点及其对应的亮度样点的互换操作。[1309]39.如条款1‑38中任一项所述的方法,其中进行所述转换包括从所述当前块生成所述编解码表示。[1310]40.如条款1‑38中任一项所述的方法,其中进行所述转换包括从所述编解码表示生成所述当前块。[1311]41.一种视频系统中的设备,包括处理器和其上具有指令的非瞬态存储器,其中由所述处理器执行所述指令时,使所述处理器实现条款1至40中任一项所述的方法。[1312]42.一种计算机程序产品,储存在非瞬态计算机可读介质上,所述计算机程序产品包括用于执行条款1至40中任一项所述的方法的程序代码。[1313]本文所公开技术的一些实施例包括做出决策或确定以启用视频处理工具或模式。在一个示例中,当启用视频处理工具或模式时,编码器将在视频块的处理中使用或实现该工具或模式,但是不一定基于该工具或模式的使用来修改得到的比特流。也就是说,从视频块到视频的比特流表示的转换将在基于决策或确定而启用视频处理工具或模式时使用视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在已经知道比特流已基于视频处理工具或模式被修改的情况下处理比特流。也就是说,将使用基于决策或确定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。[1314]本文所揭示技术的一些实施例包括做出决策或确定以禁用视频处理工具或模式。在一示例中,当视频处理工具或模式被禁用时,编码器在视频块到视频的比特流表示的转换中将不使用该工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将在已经知道比特流没有使用基于决策或确定而被禁用的视频处理工具或模式而被修改的情况下处理比特流。[1315]在本文中,术语“视频处理”可以指视频编解码,视频解码,视频压缩或视频解压缩。例如,可以在从视频的像素表示到相应的比特流表示(或编解码表示)的转换期间应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可以例如对应于在比特流内共位或分布在比特流内的不同位置的比特。例如,可以根据变换和编解码的误差残差值并且还使用头部和比特流中的其他字段中的比特来对宏块进行编解码。此外,如以上解决方案中所描述的,在转换期间,解码器可以基于确定结果来解析比特流,解码器知道一些字段可能存在或不存在。类似地,编码器可以确定某些语法字段将被包括或不被包括,并且通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。[1316]根据前述内容,将理解的是,出于说明的目的已经在本文中描述了本公开技术的特定实施例,但是可以进行各种修改而不背离本发明的范围。因此,除了所附权利要求外,当前公开的技术不受限制。[1317]本专利文档中描述的主题和功能操作的实现方式可以实现为各种系统、数字电子电路或计算机软件、固件或硬件,包括在本说明书中公开的结构及其等同结构,或实现为其中一种或多种的组合。本说明书中描述的主题的实现方式可以实现为一个或多个计算机程序产品,即,编码在有形和非瞬态计算机可读介质上的计算机程序指令的一个或多个模块,以由数据处理设备执行或控制数据处理设备的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器装置、实现机器可读传播信号的物质组成,或它们中的一个或多个的组合。术语“数据处理单元”或“数据处理设备”涵盖用于处理数据的所有设备、装置和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,设备还可以包含为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议堆栈、数据库管理系统、操作系统或它们中的一项或多项的组合的代码。[1318]计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言)编写,并且可以以任何形式进行部署,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定与文件系统中的文件相对应。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论程序的单个文件中或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)。可以部署计算机程序,以在一台计算机或位于一个位置上或分布在多个位置上并通过通信网络互连的多台计算机上执行。[1319]本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器来执行,以执行一个或多个计算机程序,从而通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路执行,并且也可以实现为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(应用专用集成电路)。[1320]例如,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器装置。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,以从中接收数据,或将数据传输到一个或多个大容量存储设备,或两者。但是,计算机不必具有这样的装置。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,包括例如半导体存储设备,例如,eprom、eeprom和闪存设备。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。[1321]旨在将说明书与附图一起仅视为示例性的,其中示例性是指作为示例。如本文所用,“或”的使用旨在包括“和/或”,除非上下文另外明确指出。[1322]尽管本专利文档包含许多细节,但是这些细节不应解释为对任何发明或可要求保护的范围的限制,而应解释为对特定发明的特定实施例可能特定的特征的描述。在单独的实施例的上下文中在本专利文档中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。此外,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下,可以从组合中剔除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。[1323]类似地,虽然在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的效果。此外,在该专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。[1324]仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和示出的内容进行其他实施方式、增强和变化。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献