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

使用线性模型进行帧内预测的方法及装置与流程

2021-10-23 03:21:00 来源:中国专利 TAG:
使用线性模型进行帧内预测的方法及装置1.相关申请交叉引用2.本专利申请要求于2019年2月22日提交的申请号为62/809,555的美国临时专利申请的优先权,要求于2019年3月28日提交的申请号为62/825,021的美国临时专利申请的优先权,以及要求于2019年3月28日提交的申请号为62/825,796的美国临时专利申请的优先权。上述专利申请的全部公开内容通过引用结合在本技术中。
技术领域
:3.本发明实施例大体上涉及图像处理领域,更具体地,涉及使用跨分量线性模型(crosscomponentlinearmodel,cclm)进行帧内预测(例如色度帧内预测),更具体地,涉及在跨分量线性模型中使用空间滤波以在不同的色度格式下进行帧内预测。
背景技术
::4.视频译码(视频编码和/解码)广泛用于数字视频应用,例如广播数字tv、互联网和移动网络上的视频传播、视频聊天和视频会议等实时会话应用、dvd和蓝光光盘、视频内容采集和编辑系统以及安全应用的可携式摄像机。5.即使视频相对较短,也需要大量的视频数据来描述,当数据要在带宽容量有限的通信网络中流式传输或以其它方式传输时,这样可能会造成困难。因此,视频数据通常要先压缩,然后通过现代电信网络进行传输。由于内存资源可能有限,当在存储设备上存储视频时,该视频的大小也可能是一个问题。视频压缩设备通常在源侧使用软件和/或硬件对视频数据进行编码,然后进行传输或存储,从而减少表示数字视频图像所需的数据量。然后,由解码视频数据的视频解压缩设备在目的地侧接收压缩数据。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。6.具体地,目前的通用视频编码及测试模型(versatilevideocodingandtestmodel,vtm)译码器主要支持色度格式4:2:0作为输入图像格式。vtm译码器在输入色度格式为4:4:4时可能会产生故障。为了避免这种情况,非常需要支持其它色度格式(例如4:4:4或4:2:2)的译码器,而且各种各样的应用还必须使用这样的译码器。技术实现要素:7.鉴于上述挑战,本发明提出修改视频编码过程以支持多种色度格式。具体地,本技术实施例旨在提供一种对图像进行跨分量预测的装置、编码器、解码器及对应方法。在所述预测的过程中使用的下采样滤波器集合取决于色度格式,所述色度格式可以是多种支持的色度格式之一。本技术旨在提高译码效率。8.实施例由独立权利要求的特征定义,而这些实施例的其它有利实现方式由从属权利要求的特征定义。9.特定实施例在所附独立权利要求中概述,其它实施例在从属权利要求中概述。10.上述和其它目的通过独立权利要求的主题来实现。其它实现方式在从属权利要求、说明书和附图中是显而易见的。11.根据本发明第一方面,提供了一种使用线性模型执行帧内预测的方法。所述方法包括:12.根据色度格式信息,确定下采样滤波器集合(下采样滤波器系数集合),其中,所述色度格式信息表示当前块所属图像的色度格式;13.使用(选自)所述下采样滤波器集合中的各个下采样滤波器,获取所述当前块的亮度块中的重建亮度样本的下采样后亮度样本和所述亮度块(与所述亮度块相邻)的选定亮度参考样本的下采样后亮度参考样本;14.根据所述下采样后亮度参考样本和与所述下采样后亮度参考样本对应的(选定或可用)色度参考样本,确定一个或多个线性模型系数;15.根据所述一个或多个线性模型系数和所述亮度块中的重建亮度样本的下采样后亮度样本,获取与所述亮度块对应的色度块的预测样本。16.因此,本发明提供了一种改进方法,能够根据所述色度格式信息选择所述滤波器集合,以此获得更准确的色度预测信号并且减小预测误差。预测误差变小带来的技术效果是残差信号能量减少。通过残差信号能量减少,上述编码方法可以减少重建信号的失真,降低编码残差信号所需的码率,或者同时减少失真和降低码率。本发明实现的这些有益效果提升了使用本发明的编码方法的整体压缩性能。17.需要说明的是,本发明使用了术语“块”、“编码块”或“图像块”,这些术语可以应用于变换单元(transformunit,tu)、预测单元(predictionunit,pu)、编码单元(codingunit,cu)等。在vvc中,除在使用tu分块(tiling)或子块变换(subblocktransform,sbt)的少数场景下,变换单元和编码单元通常基本上是对齐的。可以理解的是,在本发明中,术语“块/图像块/编码块/变换块”以及“块大小/变换块大小”可以互换。在本发明中,术语“样本(sample)/像素(pixel)”可以互换。18.根据所述第一方面,在所述方法的一种可能实现方式中,所述根据色度格式信息,确定下采样滤波器集合(下采样滤波器系数集合)包括:19.根据所述色度格式信息,确定水平方向和垂直方向的子采样比信息(例如变量subwidthc和subheightc);20.根据所述子采样比信息(例如所述变量subwidthc和subheightc),确定所述下采样滤波器集合。21.根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,当所述色度格式为4:2:0色度格式时,将第一下采样滤波器集合(下采样滤波器系数集合)用于所述当前块的亮度块;22.当所述色度格式为4:2:2色度格式时,将第二下采样滤波器集合(下采样滤波器系数集合)用于所述当前块的亮度块;或者23.当所述色度格式为4:4:4色度格式时,将第三下采样滤波器集合(即具有系数[1]的滤波器,即旁路滤波器)用于所述当前块的亮度块。[0024]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述根据所述子采样比信息,确定所述下采样滤波器集合包括以下操作中的一个或多个:[0025]当所述变量subwidthc=2且subheightc=2时,为所述当前块的亮度块确定第一下采样滤波器集合(下采样滤波器系数集合);[0026]当subwidthc=2且subheightc=1时,为所述当前块的亮度块确定第二下采样滤波器集合(下采样滤波器系数集合);[0027]当subwidthc=1且subheightc=1时,为所述当前块的亮度块确定第三下采样滤波器集合(下采样滤波器系数集合)。[0028]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,当子采样后色度样本与所述当前块中的对应亮度样本并置时,[0029]所述使用所述下采样滤波器集合中的各个下采样滤波器,获取所述当前块的亮度块中的重建亮度样本的下采样后亮度样本和所述亮度块的选定亮度参考样本的下采样后亮度参考样本包括:[0030]通过将第一下采样滤波器应用于第一重建亮度样本集合,获取所述亮度块中的重建亮度样本的下采样后亮度样本,其中,所述第一重建亮度样本集合包括位置与所述重建亮度样本(所述下采样后亮度样本)的位置水平和/或垂直相邻的重建亮度样本;[0031]通过将所述第一下采样滤波器应用于第二重建亮度样本集合,获取至少一个选定参考亮度样本的下采样后亮度参考样本,其中,所述第二重建亮度样本集合包括位置与所述选定参考亮度样本(所述下采样后亮度样本)的位置水平和/或垂直相邻的重建亮度样本,[0032]所述第一下采样滤波器选自所述下采样滤波器集合。[0033]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,当使用4:2:2色度格式(subwidthc=2且subheightc=1)时,所述第一下采样滤波器为1d不可分离滤波器;或者[0034]当使用4:2:0色度格式(subwidthc=2且subheightc=2)时,所述第一下采样滤波器为2d不可分离滤波器。[0035]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,当使用4:2:2色度格式(subwidthc=2且subheightc=1)时,所述第一下采样滤波器(标准中详述的1d不可分离滤波器f2)由[1,2,1]或表示,非零系数的位置与经过滤波的重建亮度样本的位置水平相邻,具有系数“2”的中心位置与所述经过滤波的重建亮度样本的位置对应。[0036]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,如果使用4:2:0色度格式(subwidthc=2且subheightc=2),则所述第一下采样滤波器(vvc标准中详述的2d不可分离滤波器f3)由表示,非零系数的位置与经过滤波的重建亮度样本的位置水平和/或垂直相邻,具有系数“4”的中心位置与所述经过滤波的重建亮度样本的位置对应。[0037]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,当子采样后色度样本不与所述当前块中的对应亮度样本并置时,[0038]所述使用所述下采样滤波器集合中的各个下采样滤波器,获取所述当前块的亮度块中的重建亮度样本的下采样后亮度样本和所述亮度块的选定亮度参考样本的下采样后亮度参考样本包括:[0039]通过将第二下采样滤波器应用于第三重建亮度样本集合,获取所述亮度块中的重建亮度样本的下采样后亮度样本,其中,所述第三重建亮度样本集合包括位置与所述重建亮度样本(所述下采样亮度样本)的位置水平和/或垂直相邻的重建亮度样本;[0040]通过将所述第二下采样滤波器应用于第四重建亮度样本集合,获取至少一个选定参考亮度样本的下采样后亮度参考样本,其中,所述第四重建亮度样本集合包括位置与所述选定参考亮度样本(所述下采样后亮度样本)的位置水平和/或垂直相邻的重建亮度样本,[0041]所述第二下采样滤波器选自所述下采样滤波器集合。[0042]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,如果使用4:2:2色度格式(subwidthc=2且subheightc=1),则所述第二下采样滤波器为1d不可分离滤波器;或者,如果使用4:2:0色度格式(subwidthc=2且subheightc=2),则所述第二下采样滤波器为2d不可分离滤波器。[0043]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,如果使用4:2:2色度格式(subwidthc=2且subheightc=1),则所述第二下采样滤波器(标准中详述的1d不可分离滤波器f1和f2)由[2,0]或[1,2,1]或表示,非零系数的位置与经过滤波的重建亮度样本的位置水平相邻,具有系数“2”的中心位置与所述经过滤波的重建亮度样本的位置对应。[0044]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,如果使用4:2:0色度格式(subwidthc=2且subheightc=2),则所述第二下采样滤波器(vvc标准中详述的2d不可分离滤波器f4)由表示,非零系数的位置与经过滤波的重建亮度样本的位置水平或垂直相邻,具有系数“2”的中心位置与所述经过滤波的重建亮度样本的位置对应。[0045]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,当所述子采样后色度样本的色度样本类型包括以下任一种类型时,所述子采样后色度样本与所述当前块中的对应亮度样本并置:[0046]色度样本类型2,或者[0047]色度样本类型4。[0048]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,当所述子采样后色度样本的色度样本类型包括以下任一种类型时,所述子采样后色度样本不与所述当前块中的对应亮度样本并置:[0049]色度样本类型0,[0050]色度样本类型1,[0051]色度样本类型3,或者[0052]色度样本类型5。[0053]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,如下确定所述下采样滤波器集合:[0054]如果所述色度格式为4:4:4色度格式,则使用旁路滤波器;否则,确定滤波器集合{f2,f3,f5,f6}:[0055]f3[0]=1,f3[1]=2,f3[2]=1,[0056]f5[i][j]=f6[i][j]=0,其中,i=0..2,j=0..2,[0057]如果所述色度格式为4:2:0色度格式,则[0058]f5[0][1]=1,f5[1][1]=4,f5[2][1]=1,f5[1][0]=1,f5[1][2]=1,[0059]f6[0][1]=1,f6[1][1]=2,f6[2][1]=1,[0060]f6[0][2]=1,f6[1][2]=2,f6[2][2]=1,[0061]f2[0]=1,f2[1]=1,[0062]如果所述色度格式为4:2:2色度格式,则[0063]f5[0][1]=0,f5[1][1]=8,f5[2][1]=0,f5[1][0]=0,f5[1][2]=0,[0064]f6[0][1]=2,f6[1][1]=4,f6[2][1]=2,[0065]f6[0][2]=0,f6[1][2]=0,f6[2][2]=0,[0066]f2[0]=2,f2[1]=0。[0067]如上所述,用于所述色度格式4:2:0和4:2:2的滤波器可以通过减少相邻样本访问来降低计算复杂度。因此,本发明可以提供期望的光谱特性和平滑效果。另外,本发明可以详述色度分量未经过子采样情况下的亮度滤波过程。[0068]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,如下确定所述下采样滤波器集合:[0069]如果不满足包括subwidthc==1且subheightc==1的至少第一条件,则确定滤波器集合{f2,f3,f5,f6}:[0070]f3[0]=1,f3[1]=2,f3[2]=1,[0071]f5[i][j]=f6[i][j]=0,其中,i=0..2,j=0..2,[0072]如果满足包括subwidthc==2且subheightc==2的至少第二条件,则[0073]f5[0][1]=1,f5[1][1]=4,f5[2][1]=1,f5[1][0]=1,f5[1][2]=1,[0074]f6[0][1]=1,f6[1][1]=2,f6[2][1]=1,[0075]f6[0][2]=1,f6[1][2]=2,f6[2][2]=1,[0076]f2[0]=1,f2[1]=1;[0077]否则,[0078]f5[0][1]=0,f5[1][1]=8,f5[2][1]=0,f5[1][0]=0,f5[1][2]=0,[0079]f6[0][1]=2,f6[1][1]=4,f6[2][1]=2,[0080]f6[0][2]=0,f6[1][2]=0,f6[2][2]=0,[0081]f2[0]=2,f2[1]=0。[0082]如上所述,用于所述色度格式4:2:0和4:2:2的滤波器可以通过减少相邻样本访问来降低计算复杂度。因此,本发明可以提供期望的光谱特性和平滑效果。[0083]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述选定亮度参考样本包括以下项中的至少一项:[0084]所述亮度块上方的根据l个可用色度参考样本选择的相邻亮度样本,或者[0085]所述亮度块左侧的根据l个可用色度参考样本选择的相邻亮度样本。[0086]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,[0087]当使用lm模式且上方和左侧相邻样本都可用时,所述可用色度参考样本的位置表示为s[w'/4,–1]、s[3w'/4,–1]、s[–1,h'/4]和s[–1,3h'/4];[0088]当使用lm‑a模式或只有上方相邻样本可用时,所述可用色度参考样本的位置表示为s[w'/8,–1]、s[3w'/8,–1]、s[5w'/8,–1]和s[7w'/8,–1];或者[0089]当使用lm‑l模式或只有左侧相邻样本可用时,所述可用色度参考样本的位置表示为s[–1,h'/8]、s[–1,3h'/8]、s[–1,5h'/8]和s[–1,7h'/8];[0090]所述色度块的尺寸为w×h,w'和h'根据以下情况进行设置:[0091]当使用所述lm模式时,w'=w,h'=h;[0092]当使用所述lm‑a模式时,w'=w h;[0093]当使用所述lm‑l模式时,h'=h w。[0094]根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述根据所述选定亮度参考样本的下采样后亮度参考样本和与所述下采样后亮度参考样本对应的色度参考样本,确定一个或多个线性模型系数包括:[0095]根据所述下采样后亮度参考样本,确定最大亮度值和最小亮度值;[0096]至少部分根据与所述最大亮度值相关的一个或多个下采样后亮度参考样本的一个或多个位置,获取第一色度值;[0097]至少部分根据与所述最小亮度值相关的一个或多个下采样后亮度参考样本的一个或多个位置,获取第二色度值;[0098]根据所述第一色度值、所述第二色度值、所述最大亮度值和所述最小亮度值,计算所述一个或多个线性模型系数。[0099]根据本发明第二方面,提供了一种确定在对视频数据的当前图像块进行跨分量预测中使用的一个或多个下采样滤波器(亮度下采样滤波器)的方法。所述方法包括:[0100]根据色度格式信息,确定水平方向和垂直方向的色度缩放因子,其中,所述色度格式信息表示所述当前图像块所属当前图像的色度格式;[0101]当所述水平方向和垂直方向的色度缩放因子的值等于第一值时,为所述当前块的亮度块确定第一下采样滤波器集合(下采样滤波器系数集合);[0102]当水平方向的色度缩放因子的值等于第一值且垂直方向的色度缩放因子的值等于第二值时,为所述当前块的亮度块确定第二下采样滤波器集合(下采样滤波器系数集合);或者[0103]当所述水平方向和垂直方向的色度缩放因子的值等于第二值时,为所述当前块的亮度块确定第三下采样滤波器集合(下采样滤波器系数集合)。[0104]根据本发明第三方面,一种确定在对视频数据的当前块进行跨分量预测中使用的一个或多个亮度下采样滤波器的方法。所述方法包括:[0105]确定所述当前块所属图像的色度格式;[0106]当所述色度格式为4:2:0色度格式时,确定要用于所述当前块的亮度块的第一下采样滤波器集合(下采样滤波器系数集合);[0107]当所述色度格式为4:2:2色度格式时,确定要用于所述当前块的亮度块的第二下采样滤波器集合(下采样滤波器系数集合);[0108]当所述色度格式为4:4:4色度格式时,确定要用于所述当前块的亮度块的第三下采样滤波器集合(下采样滤波器系数集合)。[0109]根据本发明第四方面,一种使用线性模型进行帧内预测的装置。所述装置包括:[0110]确定单元,用于根据色度格式信息,确定下采样滤波器集合,其中,所述色度格式信息表示当前块所属图像的色度格式;[0111]滤波单元,用于使用所述下采样滤波器集合中的各个下采样滤波器,获取所述当前块的亮度块中的重建亮度样本的下采样后亮度样本和所述亮度块的选定亮度参考样本的下采样后亮度参考样本;[0112]线性模型推导单元,用于根据所述下采样后亮度参考样本和与所述下采样后亮度参考样本对应的色度参考样本,确定一个或多个线性模型系数;[0113]预测处理单元,用于根据所述一个或多个线性模型系数和所述亮度块中的重建亮度样本的下采样后亮度样本,获取与所述亮度块对应的色度块的预测样本。[0114]需要说明的是,本发明使用了术语“块”、“编码块”或“图像块”,这些术语可以应用于变换单元(transformunit,tu)、预测单元(predictionunit,pu)、编码单元(codingunit,cu)等。在vvc中,除在使用tu分块(tiling)或子块变换(subblocktransform,sbt)的少数场景下,变换单元和编码单元通常基本上是对齐的。可以理解的是,在本发明中,术语“块/图像块/编码块/变换块”以及“块大小/变换块大小”可以互换。在本发明中,术语“样本(sample)/像素(pixel)”可以互换。[0115]因此,本发明提供了一种改进设备,能够根据所述色度格式信息选择所述滤波器集合,以此获得更准确的色度预测信号并且减小预测误差。预测误差变小带来的技术效果是残差信号能量减少。通过残差信号能量减少,上述编码方法可以减少重建信号的失真,降低编码残差信号所需的码率,或者同时减少失真和降低码率。本发明实现的这些有益效果提升了使用本发明的编码方法的整体压缩性能。[0116]根据所述第四方面,在所述设备的一种可能实现方式中,所述确定单元用于:[0117]根据所述色度格式信息,确定水平方向和垂直方向的子采样比信息;[0118]根据所述子采样比信息,确定所述下采样滤波器集合。[0119]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,[0120]当所述色度格式为4:2:0色度格式时,将第一下采样滤波器集合用于所述当前块的亮度块;[0121]当所述色度格式为4:2:2色度格式时,将第二下采样滤波器集合用于所述当前块的亮度块;或者[0122]当所述色度格式为4:4:4色度格式时,将第三下采样滤波器集合用于所述当前块的所述亮度块。[0123]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,所述确定单元用于:[0124]当变量subwidthc=2且subheightc=2时,为所述当前块的亮度块确定第一下采样滤波器集合(下采样滤波器系数集合);[0125]当subwidthc=2且subheightc=1时,为所述当前块的亮度块确定第二下采样滤波器集合(下采样滤波器系数集合);[0126]当subwidthc=1且subheightc=1时,为所述当前块的亮度块确定第三下采样滤波器集合(下采样滤波器系数集合)。[0127]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,当子采样后色度样本与所述当前块中的对应亮度样本并置时,[0128]所述滤波单元用于:通过将第一下采样滤波器应用于第一重建亮度样本集合,获取所述亮度块中的重建亮度样本的下采样后亮度样本,其中,所述第一重建亮度样本集合包括位置与所述重建亮度样本的位置水平和/或垂直相邻的重建亮度样本;[0129]通过将所述第一下采样滤波器应用于第二重建亮度样本集合,获取至少一个选定参考亮度样本的下采样后亮度参考样本,其中,所述第二重建亮度样本集合包括位置与所述选定参考亮度样本的位置水平和/或垂直相邻的重建亮度样本,[0130]所述第一下采样滤波器选自所述下采样滤波器集合。[0131]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,当使用4:2:2色度格式(subwidthc=2且subheightc=1)时,所述第一下采样滤波器为1d不可分离滤波器;或者[0132]当使用4:2:0色度格式(subwidthc=2且subheightc=2)时,所述第一下采样滤波器为2d不可分离滤波器。[0133]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,当使用4:2:2色度格式(subwidthc=2且subheightc=1)时,所述第一下采样滤波器(标准中详述的1d不可分离滤波器f2)由[1,2,1]或表示,非零系数的位置与经过滤波的重建亮度样本的位置水平相邻,具有系数“2”的中心位置与所述经过滤波的重建亮度样本的位置对应。[0134]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,如果使用4:2:0色度格式(subwidthc=2且subheightc=2),则所述第一下采样滤波器(vvc标准中详述的2d不可分离滤波器f3)由表示,非零系数的位置与经过滤波的重建亮度样本的位置水平和/或垂直相邻,具有系数“4”的中心位置与所述经过滤波的重建亮度样本的位置对应。[0135]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,当子采样后色度样本不与所述当前块中的对应亮度样本并置时,[0136]所述滤波单元用于:通过将第二下采样滤波器应用于第三重建亮度样本集合,获取所述亮度块中的重建亮度样本的下采样后亮度样本,其中,所述第三重建亮度样本集合包括位置与所述重建亮度样本的位置水平和/或垂直相邻的重建亮度样本;[0137]通过将所述第二下采样滤波器应用于第四重建亮度样本集合,获取至少一个选定参考亮度样本的下采样后亮度参考样本,其中,所述第四重建亮度样本集合包括位置与所述选定参考亮度样本的位置水平和/或垂直相邻的重建亮度样本,[0138]所述第二下采样滤波器选自所述下采样滤波器集合。[0139]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,如果使用4:2:2色度格式(subwidthc=2且subheightc=1),则所述第二下采样滤波器为1d不可分离滤波器;或者[0140]如果使用4:2:0色度格式(subwidthc=2且subheightc=2),则所述第二下采样滤波器为2d不可分离滤波器。[0141]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,如果使用4:2:2色度格式(subwidthc=2且subheightc=1),则所述第二下采样滤波器(标准中详述的1d不可分离滤波器f1和f2)由[2,0]或[1,2,1]或表示,非零系数的位置与经过滤波的重建亮度样本的位置水平相邻,具有系数“2”的中心位置与所述经过滤波的重建亮度样本的位置对应。[0142]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,如果使用4:2:0色度格式(subwidthc=2且subheightc=2),则所述第二下采样滤波器(vvc标准中详述的2d不可分离滤波器f4)由表示,非零系数的位置与经过滤波的重建亮度样本的位置水平或垂直相邻,具有系数“2”的中心位置与所述经过滤波的重建亮度样本的位置对应。[0143]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,当所述子采样后色度样本的色度样本类型包括以下任一种类型时,所述子采样后色度样本与所述当前块中的对应亮度样本并置:[0144]色度样本类型2,或者[0145]色度样本类型4。[0146]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,当所述子采样后色度样本的色度样本类型包括以下任一种类型时,所述子采样后色度样本不与所述当前块中的对应亮度样本并置:[0147]色度样本类型0,[0148]色度样本类型1,[0149]色度样本类型3,或者[0150]色度样本类型5。[0151]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,所述确定单元用于确定下采样滤波器集合:[0152]如果所述色度格式为4:4:4色度格式,则使用旁路滤波器;否则,确定滤波器集合{f2,f3,f5,f6}:[0153]f3[0]=1,f3[1]=2,f3[2]=1,[0154]f5[i][j]=f6[i][j]=0,其中,i=0..2,j=0..2;[0155]如果所述色度格式为4:2:0色度格式,则[0156]f5[0][1]=1,f5[1][1]=4,f5[2][1]=1,f5[1][0]=1,f5[1][2]=1,[0157]f6[0][1]=1,f6[1][1]=2,f6[2][1]=1,[0158]f6[0][2]=1,f6[1][2]=2,f6[2][2]=1,[0159]f2[0]=1,f2[1]=1;[0160]如果所述色度格式为4:2:2色度格式,则[0161]f5[0][1]=0,f5[1][1]=8,f5[2][1]=0,f5[1][0]=0,f5[1][2]=0,[0162]f6[0][1]=2,f6[1][1]=4,f6[2][1]=2,[0163]f6[0][2]=0,f6[1][2]=0,f6[2][2]=0,[0164]f2[0]=2,f2[1]=0。[0165]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,所述确定单元用于确定滤波器集合{f2,f3,f5,f6}:[0166]f3[0]=1,f3[1]=2,f3[2]=1,[0167]f5[i][j]=f6[i][j]=0,其中,i=0..2,j=0..2;[0168]如果满足包括subwidthc==2且subheightc==2的至少第二条件,则[0169]f5[0][1]=1,f5[1][1]=4,f5[2][1]=1,f5[1][0]=1,f5[1][2]=1,[0170]f6[0][1]=1,f6[1][1]=2,f6[2][1]=1,[0171]f6[0][2]=1,f6[1][2]=2,f6[2][2]=1,[0172]f2[0]=1,f2[1]=1;[0173]否则,[0174]f5[0][1]=0,f5[1][1]=8,f5[2][1]=0,f5[1][0]=0,f5[1][2]=0,[0175]f6[0][1]=2,f6[1][1]=4,f6[2][1]=2,[0176]f6[0][2]=0,f6[1][2]=0,f6[2][2]=0,[0177]f2[0]=2,f2[1]=0。[0178]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,所述选定亮度参考样本包括以下项中的至少一项:[0179]所述亮度块上方的根据l个可用色度参考样本选择的相邻亮度样本,或者[0180]所述亮度块左侧的根据l个可用色度参考样本选择的相邻亮度样本。[0181]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,[0182]当使用lm模式且上方和左侧相邻色度样本都可用时,所述可用色度参考样本的位置表示为s[w'/4,–1]、s[3w'/4,–1]、s[–1,h'/4]和s[–1,3h'/4];[0183]当使用lm‑a模式或只有上方相邻色度样本可用时,所述可用色度参考样本的位置表示为s[w'/8,–1]、s[3w'/8,–1]、s[5w'/8,–1]和s[7w'/8,–1];或者[0184]当使用lm‑l模式或只有左侧相邻色度样本可用时,所述可用色度参考样本的位置表示为s[–1,h'/8]、s[–1,3h'/8]、s[–1,5h'/8]和s[–1,7h'/8];[0185]所述色度块的尺寸为w×h,w'和h'根据以下情况进行设置:[0186]当使用所述lm模式时,w'=w,h'=h;[0187]当使用所述lm‑a模式时,w'=w h;[0188]当使用所述lm‑l模式时,h'=h w。[0189]根据所述第四方面或所述第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,所述线性模型推导单元用于:根据所述下采样后亮度参考样本,确定最大亮度值和最小亮度值;[0190]至少部分根据与所述最大亮度值相关的一个或多个下采样后亮度参考样本的一个或多个位置,获取第一色度值;[0191]至少部分根据与所述最小亮度值相关的一个或多个下采样后亮度参考样本的一个或多个位置,获取第二色度值;[0192]根据所述第一色度值、所述第二色度值、所述最大亮度值和所述最小亮度值,计算所述一个或多个线性模型系数。[0193]根据第五方面,本发明涉及一种由编码设备实现的编码方法。所述方法包括:[0194]根据任一上述方面使用线性模型(例如跨分量线性模型(cross‑componentlinearmodel,cclm)或多方向线性模型(multi‑directionallinearmodel,mdlm))执行帧内预测;[0195]生成包括多个语法元素的码流,其中,所述多个语法元素包括指示为属于当前块的亮度样本选择滤波器(例如为cclm选择亮度滤波器,具体为sps标志,例如sps_cclm_colocated_chroma_flag)的语法元素。[0196]根据所述第五方面,在所述方法的一种可能实现方式中,当所述语法元素的值为0或假(false)时,将所述滤波器应用于亮度样本来进行线性模型确定和预测;[0197]当所述语法元素的值为1或真(true)时,不将所述滤波器应用于亮度样本来进行线性模型确定和预测。[0198]根据第六方面,本发明涉及一种由解码设备实现的解码方法。所述方法包括:[0199]从码流中解析多个语法元素,其中,所述多个语法元素包括指示为属于当前块的亮度样本选择滤波器(例如为cclm选择亮度滤波器,具体为sps标志,例如sps_cclm_colocated_chroma_flag)的语法元素;[0200]根据任一上述方面使用所述指示的线性模型(例如cclm)来执行帧内预测。[0201]根据所述第六方面,在所述方法的一种可能实现方式中,当所述语法元素的值为0或假(false)时,将所述滤波器应用于亮度样本来进行线性模型确定和预测;[0202]当所述语法元素的值为1或真(true)时,不将所述滤波器应用于亮度样本来进行线性模型确定和预测。例如,并置情况下不使用亮度滤波器。[0203]根据第七方面,本发明涉及一种解码器。所述解码器包括:[0204]一个或多个处理器;[0205]非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,所述程序在由所述一个或多个处理器执行时,配置所述解码器执行上述方面的任一可能实施例提供的方法。[0206]根据第八方面,本发明涉及一种编码器。所述编码器包括:[0207]一个或多个处理器;[0208]非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,所述程序在由所述一个或多个处理器执行时,配置所述编码器执行上述方面的任一可能实施例提供的方法。[0209]本发明第一方面提供的方法可以由本发明第四方面提供的装置执行。本发明第六方面提供的方法的其它特征和实现方式对应于本发明第一方面提供的装置的特征和实现方式。[0210]本发明第一方面提供的方法可以由本发明第四方面提供的装置执行。本发明第一方面提供的方法的其它特征和实现方式对应于本发明第四方面提供的装置的特征和实现方式。[0211]根据另一方面,本发明涉及一种对视频流进行解码的装置。所述装置包括处理器和存储器。所述存储器存储指令,所述指令使得所述处理器执行所述第一方面或第三方面提供的方法。[0212]根据另一方面,本发明涉及一种对视频流进行编码的装置。所述装置包括处理器和存储器。所述存储器存储指令,所述指令使得所述处理器执行所述第二方面提供的方法。[0213]根据另一方面,提供了一种存储有指令的计算机可读存储介质。所述指令在执行时,使得一个或多个处理器用于对视频数据进行译码。所述指令使得所述一个或多个处理器执行所述第一或第二或第三方面或所述第一或第二或第三方面的任一可能实施例提供的方法。[0214]根据第八方面,本发明涉及一种计算机程序。所述计算机程序包括程序代码。当所述程序代码在计算机上执行时,用于执行所述第一或第二或第三方面或所述第一或第二或第三方面的任一可能实施例提供的方法。[0215]以下附图和说明书详细阐述了一个或多个实施例。其它特征、目的和优点在说明书、附图和权利要求书中是显而易见的。附图说明[0216]下面参照所附附图和示意图更加详细地描述实施例。[0217]图1a为用于实现本技术实施例的视频译码系统的一个示例的框图。[0218]图1b为用于实现本技术实施例的视频译码系统的另一个示例的框图。[0219]图2为用于实现本发明实施例的视频编码器的一个示例的框图。[0220]图3为用于实现本发明实施例的视频解码器的一种示例性结构的框图。[0221]图4为本文公开的一个实施例提供的编码装置或解码装置的一个示例的框图。[0222]图5为本文公开的一个示例性实施例提供的编码装置或解码装置的另一个示例的框图。[0223]图6a为图像中的4:2:0亮度和色度样本的标称垂直和水平位置的一个示例。[0224]图6b为图像中的4:2:2亮度和色度样本的标称垂直和水平位置的一个示例。[0225]图6c为图像中的4:4:4亮度和色度样本的标称垂直和水平位置的一个示例。[0226]图6d示出了用于隔行图像的各种采样模式。[0227]图6e为用于色度帧内预测的跨分量线性模型的概念的示意图。[0228]图7a为当前图像的色度格式为4:2:0时的包括在当前图像的当前图像块中的并置亮度和色度块以及关联亮度和色度参考样本的一个示例。[0229]图7b为当前图像的色度格式为4:2:2时的包括在当前图像的当前图像块中的并置亮度和色度块以及关联亮度和色度参考样本的一个示例。[0230]图7c为当前图像的色度格式为4:4:4时的包括在当前图像的当前图像块中的并置亮度和色度块以及关联亮度和色度参考样本的一个示例。[0231]图7d为当前图像的色度格式为4:2:0时的亮度块711的选定亮度参考样本715的下采样后亮度参考样本719以及与下采样后亮度参考样本719对应的色度参考样本705的一个示例。[0232]图8为用于线性模型参数推导的示例性色度和亮度参考样本的示意图。[0233]图9为当前图像的色度格式为4:2:0时的在跨分量帧内预测过程中进行下采样所使用的亮度样本的空间位置的示意图。[0234]图10为支持跨分量帧内预测的示例性下采样机制的示意图。[0235]图11为本发明一些方面提供的用于执行跨分量帧内预测的过程的流程图。[0236]图12为本发明一些方面提供的用于执行跨分量帧内预测的设备的示意图;[0237]图13为实现内容分发服务的内容供应系统的一种示例性结构的框图。[0238]图14为终端设备的一个示例的结构的框图。[0239]在下文,相同附图标记表示相同特征或至少在功能上等效的特征,除非另有明确规定。具体实施方式[0240]以下描述中,参考组成本发明一部分并以说明的方式示出本发明实施例的具体方面或可以使用本发明实施例的具体方面的附图。应当理解,本发明实施例可以在其它方面中使用,并且可以包括附图中未描绘的结构变化或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,且本发明的范围由所附权利要求书界定。[0241]本发明使用了以下缩略语。[0242]例如,应当理解,与描述方法有关的公开内容可以对用于执行所述方法的对应设备或系统也同样适用,反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包括一个或多个单元(例如功能单元)来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元分别执行多个步骤中的一个或多个),即使附图中未明确描述或说明这样的一个或多个单元。另一方面,例如,如果根据一个或多个单元(例如功能单元)来描述具体装置,则对应的方法可以包括一个步骤来执行一个或多个单元的功能(例如,一个步骤执行一个或多个单元的功能,或多个步骤分别执行多个单元中的一个或多个单元的功能),即使附图中未明确描述或说明这样的一个或多个步骤。此外,应当理解,除非另外明确说明,本文中描述的各种示例性实施例和/或方面的特征可以相互组合。[0243]视频译码通常是指处理组成视频或视频序列的一系列图像。在视频译码领域中,术语“帧(frame)”与“图像(picture/image)”可以用作同义词。视频译码(或总称为译码)包括视频编码和视频解码两部分。视频编码在源侧执行,通常包括处理(例如通过压缩)原始视频图像,以减少表示视频图像所需的数据量(从而更高效存储和/或传输)。视频解码在目的地侧执行,通常包括相对于编码器作逆处理,以重建视频图像。实施例涉及的视频图像(或总称为图像)的“译码”应当理解为视频图像或相应视频序列的“编码”或“解码”。编码部分和解码部分也合称为编解码(codec)(编码和解码)。[0244]在无损视频译码情况下,可以重建原始视频图像,即重建视频图像与原始视频图像具有相同的质量(假设存储或传输期间没有传输损耗或其它数据丢失)。在有损视频译码情况下,通过量化等执行进一步压缩,以减少表示视频图像的数据量,而解码器侧无法完全重建视频图像,即重建视频图像的质量比原始视频图像的质量低或差。[0245]几个视频编码标准属于“有损混合视频编解码器”组(即,将样本域中的空间预测和时间预测与变换域中进行量化的2d变换译码相结合)。视频序列中的每个图像通常分割成不重叠的块集合,通常在块级处执行译码。换句话说,在编码器侧,通常在块(视频块)级处对视频进行处理(即编码),例如,通过空间(帧内)预测和/或时间(帧间)预测来生成预测块;从当前块(当前处理的块/待处理块)中减去预测块,得到残差块;在变换域中变换残差块并量化残差块,以减少待传输(压缩)的数据量,而在解码器侧,对经编码或压缩块进行相对于编码器的逆处理,以重建当前块进行表示。此外,编码器和解码器具有相同的处理步骤,使得编码器和解码器生成相同的预测块(例如帧内和帧间预测块)和/或重建块,以对后续块进行处理(即译码)。[0246]在以下视频译码系统10的实施例中,视频编码器20和视频解码器30根据图1至图3进行描述。[0247]图1a为示例性译码系统10的示意性框图,例如可以利用本技术技术的视频译码系统10(或简称为译码系统10)。视频译码系统10中的视频编码器20(或简称为编码器20)和视频解码器30(或简称为解码器30)为两个示例,可以为使用本技术中描述的各种示例来执行技术的设备。[0248]如图1a所示,译码系统10包括源设备12,源设备12用于将经编码图像数据21提供给目的地设备14等,以对经编码图像数据13进行解码。[0249]源设备12包括编码器20,并且可以另外(即可选地)包括图像源16、预处理器(或预处理单元)18(例如图像预处理器18)和通信接口或通信单元22。[0250]图像源16可以包括或可以是任何类型的用于捕获真实世界图像等的图像捕获设备;和/或任何类型的图像生成设备(例如用于生成计算机动画图像的计算机图形处理器);或者任何类型的用于获取和/或提供真实世界图像、计算机动画图像(例如屏幕内容、虚拟现实(virtualreality,vr)图像)和/或其任何组合(例如增强现实(augmentedreality,ar)图像)的设备。图像源可以为任何类型的存储任一上述图像的存储器(memory/storage)。[0251]为了区分预处理器18和预处理单元18执行的处理,图像或图像数据17也可以称为原始图像或原始图像数据17。[0252]预处理器18用于接收(原始)图像数据17,并对图像数据17执行预处理,得到预处理图像19或预处理图像数据19。预处理器18执行的预处理可以包括修剪(trimming)、颜色格式转换(例如从rgb转换为ycbcr)、调色或去噪等。可以理解的是,预处理单元18可以为可选组件。[0253]视频编码器20用于接收预处理图像数据19,并提供经编码图像数据21(结合图2等描述更多细节)。[0254]源设备12中的通信接口22可以用于接收经编码图像数据21,并通过通信信道13将经编码图像数据21(或对经编码图像数据21进一步处理后得到的数据)发送给另一设备(例如目的地设备14)或任何其它设备,以便进行存储或直接重建。[0255]目的地设备14包括解码器30(例如视频解码器30),并且可以另外(即可选地)包括通信接口或通信单元28、后处理器32(或后处理单元32)和显示设备34。[0256]目的地设备14中的通信接口28用于(例如)直接从源设备12或从存储设备(例如经编码图像数据存储设备)等任何其它源,接收经编码图像数据21(或对经编码图像数据21进一步处理后得到的数据),并将经编码图像数据21提供给解码器30。[0257]通信接口22和通信接口28可以用于经由源设备12与目的地设备14之间的直接通信链路(例如直接有线或无线连接)或者经由任何类型的网络(例如有线网络、无线网络或其任何组合,或者任何类型的私网和公网或其任何类型的组合)发送或接收经编码图像数据21或经编码数据13。[0258]例如,通信接口22可以用于将经编码图像数据21封装成合适的格式(例如数据包),和/或通过任何类型的传输编码或处理方式来处理经编码图像数据,以便通过通信链路或通信网络进行传输。[0259]例如,与通信接口22对应的通信接口28可以用于接收传输数据,并通过任何类型的对应传输解码或处理和/或解封装方式来处理传输数据,得到经编码图像数据21。[0260]通信接口22和通信接口28都可以配置为图1a中从源设备12指向目的地设备14的通信信道13的箭头所指示的单向通信接口,或者配置为双向通信接口,并且可以用于发送和接收消息等,以建立连接、确认并交换与通信链路和/或数据传输(例如经编码图像数据传输)相关的任何其它信息,等等。[0261]解码器30用于接收经编码图像数据21并提供经解码图像数据31或经解码图像31(下文结合图3或图5等描述更多细节)。[0262]目的地设备14中的后处理器32用于对经解码图像数据31(也称重建图像数据)(例如经解码图像31)进行后处理,得到后处理图像数据33(例如后处理图像33)。后处理单元32执行的后处理可以包括颜色格式转换(例如从ycbcr转换为rgb)、调色、修剪(trimming)或重采样,或者任何其它处理,以便提供经解码图像数据31由显示设备34等显示,等等。[0263]目的地设备14中的显示设备34用于接收后处理图像数据33,以便向用户或观看者等显示图像。显示设备34可以为或可以包括任何类型的用于表示重建图像的显示器(例如集成或外部显示器或显示屏)。例如,显示器可以包括液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclightemittingdiode,oled)显示器、等离子显示器、投影仪、微型led显示器、硅基液晶(liquidcrystalonsilicon,lcos)显示器、数字光处理器(digitallightprocessor,dlp)或任何类型的其它显示器。[0264]尽管图1a示出了源设备12和目的地设备14作为单独的设备,但是在实施例中,设备还可以同时包括源设备12和目的地设备14或同时包括源设备12和目的地设备14的功能,即源设备12或对应功能以及目的地设备14或对应功能。在这些实施例中,源设备12或对应功能以及目的地设备14或对应功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任意组合来实现。[0265]根据描述,图1a所示的源设备12和/或目的地设备14中的不同单元或功能的存在和(精确)划分可以根据实际设备和应用而不同,这对技术人员来说是显而易见的。[0266]编码器20(例如视频编码器20)或解码器30(例如视频解码器30)或者编码器20和解码器30两者可以通过图1b所示的处理电路来实现,例如一个或多个微处理器、一个或多个数字信号处理器(digitalsignalprocessor,dsp)、一个或多个专用集成电路(application‑specificintegratedcircuit,asic)、一个或多个现场可编程门阵列(field‑programmablegatearray,fpga)、一个或多个离散逻辑、一个或多个硬件、一个或多个视频编码专用处理器或其任意组合。编码器20可以通过处理电路46来实现,以包含参照图2中的编码器20论述的各种模块和/或本文描述的任何其它编码器系统或子系统。解码器30可以通过处理电路46来实现,以包含参照图3中的解码器30论述的各种模块和/或本文描述的任何其它解码器系统或子系统。处理电路可以用于执行下文描述的各种操作。如图5所示,如果上述技术部分在软件中实现,则一种设备可以将该软件的指令存储在合适的非瞬时性计算机可读介质中,并且可以使用一个或多个处理器在硬件中执行这些指令,以执行本发明中的技术。视频编码器20或视频解码器30可以作为组合编解码器(codec)的一部分集成在单个设备中,如图1b所示。[0267]源设备12和目的地设备14可以包括多种设备中的任一种,包括任何类型的手持设备或固定设备,例如笔记本(notebook/laptop)电脑、手机、智能手机、平板或平板电脑、相机、台式电脑、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏机、视频流设备(例如内容业务服务器或内容分发服务器)、广播接收器设备、广播发射器设备等,并且可以不使用或使用任何类型的操作系统。在一些情况下,源设备12和目的地设备14可以用于无线通信。因此,源设备12和目的地设备14可以是无线通信设备。[0268]在一些情况下,图1a所示的视频译码系统10仅仅是示例性的,本技术技术可以适用于编码设备与解码设备之间不一定包括任何数据通信的视频译码(例如视频编码或视频解码)设置。在其它示例中,从本地存储器中检索数据,通过网络流式传输,等等。视频编码设备可以对数据进行编码并将数据存储到存储器中,和/或视频解码设备可以从存储器检索数据并对数据进行解码。在一些示例中,编码和解码由相互不通信而只是将数据编码到存储器和/或从存储器检索数据并对数据进行解码的设备来执行。[0269]为便于描述,本文(例如)参考由itu‑t视频编码专家组(videocodingexpertsgroup,vceg)和iso/iec运动图像专家组(motionpictureexpertsgroup,mpeg)的视频编码联合协作团队(jointcollaborationteamonvideocoding,jct‑vc)开发的高效视频编码(high‑efficiencyvideocoding,hevc)或下一代视频编码标准通用视频编码(versatilevideocoding,vvc)参考软件来描述本发明实施例。本领域普通技术人员理解本发明实施例不限于hevc或vvc。[0270]编码器和编码方法[0271]图2为用于实现本技术技术的示例性视频编码器20的示意性框图。在图2的示例中,视频编码器20包括输入端201(或输入接口201)、残差计算单元204、变换处理单元206、量化单元208、反量化单元210、逆变换处理单元212、重建单元214、环路滤波器单元220、解码图像缓冲区(decodedpicturebuffer,dpb)230、模式选择单元260、熵编码单元270和输出端272(或输出接口272)。模式选择单元260可以包括帧间预测单元244、帧内预测单元254和分割单元262。帧间预测单元244可以包括运动估计单元和运动补偿单元(未示出)。图2所示的视频编码器20也可以称为混合视频编码器或基于混合型视频编解码器的视频编码器。[0272]残差计算单元204、变换处理单元206、量化单元208和模式选择单元260可以组成编码器20的前向信号路径,而反量化单元210、逆变换处理单元212、重建单元214、缓冲区216、环路滤波器220、解码图像缓冲区(decodedpicturebuffer,dpb)230、帧间预测单元244和帧内预测单元254可以组成视频编码器20的后向信号路径,其中,视频编码器20的后向信号路径对应于解码器(参见图3中的视频解码器30)的信号路径。反量化单元210、逆变换处理单元212、重建单元214、环路滤波器220、解码图像缓冲区(decodedpicturebuffer,dpb)230、帧间预测单元244和帧内预测单元254还组成视频编码器20的“内置解码器”。[0273]图像和图像分割(图像和块)[0274]编码器20可以用于通过输入端201等接收图像17(或图像数据17)。图像17可以是组成视频或视频序列的一系列图像中的图像。接收到的图像或图像数据也可以是预处理图像19(或预处理图像数据19)。为了简单起见,以下描述使用图像17。图像17也可以称为当前图像或待译码图像(尤其是在视频译码中将当前图像与同一视频序列(也就是同样包括当前图像的视频序列)中的其它图像(例如先前经编码和/或经解码图像)区分开)。[0275](数字)图像为或可以视为由具有强度值的样本(sample)组成的二维阵列或矩阵。阵列中的样本也可以称为像素(pixel或pel)(图像元素的简称)。阵列或图像的水平方向和垂直方向(或轴线)上的样本数量限定了图像的大小和/或分辨率。为了表示颜色,通常采用3个颜色分量,即图像可以表示为或可以包括3个样本阵列。在rgb格式或颜色空间中,图像包括对应的红色、绿色和蓝色样本阵列。但是,在视频译码中,每个像素通常以亮度和色度格式或颜色空间表示,例如ycbcr,包括y表示的亮度分量(有时也用l表示)以及cb和cr表示的两个色度分量。亮度(luminance,简写为luma)分量y表示亮度或灰度级强度(例如在灰度等级图像中两者相同),而两个色度(chrominance,简写为chroma)分量cb和cr表示色度或颜色信息分量。因此,ycbcr格式的图像包括由亮度样本值(y)组成的亮度样本阵列和两个由色度值(cb和cr)组成的色度样本阵列。rgb格式的图像可以转换或变换为ycbcr格式,反之亦然。该过程也称为颜色变换或转换。如果图像是黑白的,则该图像可以只包括亮度样本阵列。相应地,图像可以为例如黑白格式的亮度样本阵列或4:2:0、4:2:2和4:4:4颜色格式的亮度样本阵列和两个对应的色度样本阵列。[0276]在实施例中,视频编码器20可以包括图像分割单元(图2中未示出),用于将图像17分割成多个(通常不重叠)图像块203。这些块也可以称为根块、宏块(h.264/avc),或编码树块(codingtreeblock,ctb)或编码树单元(codingtreeunit,ctu)(h.265/hevc和vvc)。图像分割单元可以用于对视频序列中的所有图像使用相同的块大小和使用限定块大小的对应网格,或者在图像或图像子集或图像组之间改变块大小,并将每个图像分割成对应块。[0277]在其它实施例中,视频编码器可以用于直接接收图像17的块203,例如组成图像17的一个、几个或所有块。图像块203也可以称为当前图像块或待译码图像块。[0278]与图像17一样,图像块203同样是或可以视为由具有强度值(样本值)的样本组成的二维阵列或矩阵,但是图像块203的尺寸比图像17的尺寸小。换句话说,根据所应用的颜色格式,块203可以包括(例如)一个样本阵列(例如黑白图像17情况下的亮度阵列或者彩色图像情况下的亮度阵列或色度阵列)或3个样本阵列(例如彩色图像17情况下的一个亮度阵列和两个色度阵列)或任何其它数量和/或类型的阵列。块203的水平方向和垂直方向(或轴线)上的样本数量限定了块203的大小。因此,块可以为m×n(m列×n行)个样本阵列,或m×n个变换系数阵列等。[0279]在实施例中,图2所示的视频编码器20可以用于逐块对图像17进行编码,例如对每个块203执行编码和预测。[0280]在实施例中,图2所示的视频编码器20还可以用于使用条带(slice)(也称为视频条带)对图像进行分割和/或编码。一个图像可以分割成一个或多个条带(通常为不重叠)或使用一个或多个条带(通常为不重叠)进行编码,每个条带可以包括一个或多个块(例如ctu)。[0281]在实施例中,图2所示的视频编码器20还可以用于使用分块(tile)组(也称为视频分块组)和/或分块(也称为视频分块)对图像进行分割和/或编码。一个图像可以分割成一个或多个分块组(通常不重叠)或使用一个或多个分块组(通不重叠)进行编码;每个分块组可以包括一个或多个块(例如ctu)或一个或多个分块等;每个分块可以为矩形等,可以包括一个或多个完整或部分块(例如ctu)等。[0282]残差计算[0283]残差计算单元204可以用于通过以下方式根据图像块203和预测块265(后续详细介绍了预测块265)来计算残差块205(也称为残差205)以得到样本域中的残差块205:例如,逐个样本(逐个像素)从图像块203的样本值中减去预测块265的样本值。[0284]变换[0285]变换处理单元206可以用于对残差块205的样本值进行离散余弦变换(discretecosinetransform,dct)或离散正弦变换(discretesinetransform,dst)等变换,得到变换域中的变换系数207。变换系数207也可以称为变换残差系数,表示变换域中的残差块205。[0286]变换处理单元206可以用于进行dct/dst(例如为h.265/hevc指定的变换)的整数化近似。与正交dct变换相比,这种整数化近似通常通过某一因子进行缩放(scale)。为了维持经过正变换和逆变换处理的残差块的范数,使用其它缩放因子作为变换过程的一部分。缩放因子通常是根据某些约束条件来选择的,例如缩放因子是用于移位运算的2的幂、变换系数的位深度、准确性与实现成本之间的权衡等。例如,通过逆变换处理单元212等为逆变换(以及在视频解码器30侧,通过逆变换处理单元312等为对应的逆变换)指定具体的缩放因子;相应地,可以在编码器20侧,通过变换处理单元206等为正变换指定对应的缩放因子。[0287]在实施例中,视频编码器20(对应地,变换处理单元206)可以用于输出一种或多种变换的类型等变换参数,例如直接输出或由熵编码单元270进行编码或压缩后输出,使得(例如)视频解码器30可以接收并使用变换参数进行解码。[0288]量化[0289]量化单元208可以用于通过进行标量量化或矢量量化等对变换系数207进行量化,得到量化系数209。量化系数209也可以称为量化变换系数209或量化残差系数209。[0290]量化过程可以减小与部分或全部变换系数207相关的位深度。例如,可以在量化期间将n位变换系数向下舍入到m位变换系数,其中,n大于m。可以通过调整量化参数(quantizationparameter,qp)修改量化程度。例如,对于标量量化,可以进行不同程度的缩放来实现较细或较粗的量化。较小量化步长对应较细的量化,而较大量化步长对应较粗的量化。可以通过量化参数(quantizationparameter,qp)表示合适的量化步长。例如,量化参数可以为一组预定义适用的量化步长的索引。例如,较小的量化参数可以对应于精细量化(较小量化步长),较大的量化参数可以对应于粗糙量化(较大量化步长),反之亦然。量化可以包括除以量化步长,而反量化单元210等执行的对应或反解量化可以包括乘以量化步长。根据hevc等一些标准的实施例可以使用量化参数来确定量化步长。一般而言,可以根据量化参数使用包括除法的等式的定点近似来计算量化步长。可以引入其它缩放因子来进行量化和解量化,以恢复可能由于在量化步长和量化参数的等式的定点近似中使用的缩放而修改的残差块的范数。在一种示例性实现方式中,可以合并逆变换和解量化的缩放。或者,可以使用自定义量化表,自定义量化表由编码器通过码流等方式向解码器指示(signal)。量化是有损操作,所以量化步长越大,损耗越大。[0291]在实施例中,视频编码器20(对应地,量化单元208)可以用于输出量化参数(quantizationparameter,qp),例如直接输出或由熵编码单元270进行编码后输出,使得(例如)视频解码器30可以接收并使用量化参数进行解码。[0292]反量化[0293]反量化单元210用于对量化系数进行量化单元208的反量化,得到解量化系数211,例如根据或使用与量化单元208相同的量化步长,执行与量化单元208所执行的量化方案的反量化方案。解量化系数211也可以称为解量化残差系数211,对应于变换系数207,但是由于量化造成损耗,解量化系数211通常与变换系数不相同。[0294]逆变换[0295]逆变换处理单元212用于进行变换处理单元206进行的变换的逆变换,例如逆离散余弦变换(discretecosinetransform,dct)或逆离散正弦变换(discretesinetransform,dst),得到样本域中的重建残差块213(或对应的解量化系数213)。重建残差块213也可以称为变换块213。[0296]重建[0297]重建单元214(例如加法器或求和器214)用于通过以下方式将变换块213(即重建残差块213)添加到预测块265以得到样本域中的重建块215:例如,逐个样本将重建残差块213的样本值和预测块265的样本值相加。[0298]滤波[0299]环路滤波器单元220(或简称“环路滤波器”220)用于对重建块215进行滤波,得到经过滤波的块221,或一般用于对重建样本进行滤波,得到经过滤波的样本。例如,环路滤波器单元用于顺利进行像素转变或以其它方式提高视频质量。环路滤波器单元220可以包括一个或多个环路滤波器,例如去块效应滤波器、样本自适应偏移(sample‑adaptiveoffset,sao)滤波器或一个或多个其它滤波器,例如双边滤波器、自适应环路滤波器(adaptiveloopfilter,alf)、锐化或平滑滤波器、协同滤波器或其任意组合。虽然环路滤波器单元220在图2中示为环内滤波器,但是在其它配置中,环路滤波单元220可以实现为后环路滤波器。经过滤波的块221也可以称为经过滤波的重建块221。[0300]在实施例中,视频编码器20(对应地,环路滤波器单元220)可以用于输出环路滤波器参数(例如样本自适应偏移信息),例如直接输出或由熵编码单元270进行编码后输出,使得(例如)解码器30可以接收并使用相同的环路滤波器参数或相应的环路滤波器进行解码。[0301]解码图像缓冲区[0302]解码图像缓冲区(decodedpicturebuffer,dpb)230可以是存储参考图像或一般存储参考图像数据以供视频编码器20在对视频数据进行编码时使用的存储器。dpb230可以由多种存储器设备中的任一种形成,例如动态随机存取存储器(dynamicrandomaccessmemory,dram),包括同步dram(synchronousdram,sdram)、磁阻ram(magnetoresistiveram,mram)、电阻ram(resistiveram,rram)或其它类型的存储器设备。解码图像缓冲区230可以用于存储一个或多个经过滤波的块221。解码图像缓冲区230还可以用于存储同一当前图像或不同图像(例如先前的重建图像)中的其它先前经过滤波的块(例如先前经过滤波的重建块221),并可以提供先前完整的重建(即经解码)图像(和对应的参考块和样本)和/或部分重建的当前图像(和对应的参考块和样本),以进行帧间预测等。如果重建块215未由环路滤波器单元220进行滤波,则解码图像缓冲区(decodedpicturebuffer,dpb)230还可以用于存储一个或多个未经滤波的重建块215,或一般存储未经滤波的重建样本,或未进行任何其它处理的重建块或重建样本。[0303]模式选择(分割和预测)[0304]模式选择单元260包括分割单元262、帧间预测单元244和帧内预测单元254,并且用于从解码图像缓冲区230或其它缓冲区(例如行缓冲区,图中未显示)接收或获取原始块203(当前图像17的当前块203)等原始图像数据以及重建图像数据(例如同一(当前)图像和/或一个或多个先前的经解码图像的经过滤波和/或未经滤波的重建样本或重建块)。重建图像数据用作帧间预测或帧内预测等预测所需的参考图像数据,得到预测块265或预测值265。[0305]模式选择单元260可以用于为当前块预测模式(包括不分割)确定或选择一种分割方式以及确定或选择一种预测模式(例如帧内预测模式或帧间预测模式),生成对应的预测块265,以对残差块205进行计算和对重建块215进行重建。[0306]在实施例中,模式选择单元260可以用于选择分割方式和预测模式(例如从模式选择单元260支持或可用的预测模式中),所述预测模式提供最佳匹配或者说最小残差(最小残差是指传输或存储中更好的压缩),或者提供最小指示开销(最小指示开销是指传输或存储中更好的压缩),或者同时考虑或平衡以上两者。模式选择单元260可以用于根据率失真优化(ratedistortionoptimization,rdo)确定分割方式和预测模式,即选择提供最小率失真的预测模式。本文中的“最佳”、“最小”、“最优”等术语不一定指总体上“最佳”、“最小”、“最优”等,但也可以指满足终止或选择标准的情况,例如,超过或低于阈值的值或其它约束条件可能导致“次优选择”,但会降低复杂度且减少处理时间。[0307]换句话说,分割单元262可以用于通过以下方式将块203分割成较小的分割块(partition)或子块(再次组成块):例如,通过迭代使用四叉树(quad‑tree,qt)分割、二叉树(binary‑tree,bt)分割或三叉树(triple‑tree,tt)分割或其任意组合;并且用于对分割块或子块中的每一个执行预测等,其中,模式选择包括选择分割块203的树形结构,并且对分割块或子块中的每一个使用预测模式。[0308]下文将详细地描述由示例性视频编码器20执行的分割(例如由分割单元260执行)和预测处理(由帧间预测单元244和帧内预测单元254执行)。[0309]分割[0310]分割单元262可以将当前块203分割(或划分)成较小的分割块,例如正方形或矩形大小的较小块。可以将这些较小块(也可以称为子块)进一步分割成甚至更小的分割块。这也称为树分割或分层树分割。在根树级别0(层次级别0、深度0)等的根块可以递归地分割成两个或更多下一个较低树级别的块,例如树级别1(层级级别1、深度1)的节点。这些块可以又分割成两个或更多下一个较低级别的块,例如树级别2(层级级别2、深度2)等,直到分割结束(因为满足结束标准,例如达到最大树深度或最小块大小)。未进一步分割的块也称为树的叶块或叶节点。分割成两个分割块的树称为二叉树(binary‑tree,bt),分割成3个分割块的树称为三叉树(ternary‑tree,tt),分割成4个分割块的树称为四叉树(quad‑tree,qt)。[0311]如上所述,本文使用的术语“块”可以是图像的一部分,特别是正方形或矩形部分。参考hevc和vvc等,块可以为或可以对应于编码树单元(codingtreeunit,ctu)、编码单元(codingunit,cu)、预测单元(predictionunit,pu)和变换单元(transformunit,tu),和/或对应于对应的块,例如编码树块(codingtreeblock,ctb)、编码块(codingblock,cb)、变换块(transformblock,tb)或预测块(predictionblock,pb)。[0312]例如,编码树单元(codingtreeunit,ctu)可以为或可以包括具有3个样本阵列的图像中的亮度样本组成的一个ctb以及色度样本组成的两个对应ctb,或者可以为或可以包括黑白图像或使用3个单独颜色平面和语法结构进行译码的图像中的样本组成的一个ctb。这些语法结构用于对样本进行译码。相应地,编码树块(codingtreeblock,ctb)可以为n×n个样本块,其中,n可以设为某个值,使得一个分量划分为ctb,这就是一种分割方式。编码单元(codingunit,cu)可以为或可以包括具有3个样本阵列的图像中的亮度样本组成的一个编码块以及色度样本组成的两个对应编码块,或者黑白图像或使用3个单独颜色平面和语法结构进行编码的图像中的样本组成的一个编码块。这些语法结构用于对样本进行编码。相应地,编码块(codingblock,cb)可以为m×n个样本块,其中,m和n可以设为某个值,使得一个ctb划分为编码块,这就是一种分割方式。[0313]在实施例中,例如根据hevc,可以使用表示为编码树的四叉树结构将编码树单元(codingtreeunit,ctu)划分为多个cu。在cu级决定是否使用帧间(时间)预测或帧内(空间)预测对图像区域进行译码。每个cu可以根据pu划分类型进一步划分为1个、2个或4个pu。一个pu内进行相同的预测过程,并以pu为单位向解码器发送相关信息。在根据pu划分类型进行预测过程得到残差块之后,可以根据类似于用于cu的编码树的其它四叉树结构将cu分割成变换单元(transformunit,tu)。[0314]在实施例中,例如根据当前开发的称为通用视频编码(versatilevideocoding,vvc)的最新视频编码标准,使用四叉树结合二叉树(quad‑treeandbinary‑tree,qtbt)分割来分割编码块。在qtbt块结构中,cu可以为正方形或矩形。例如,编码树单元(codingtreeunit,ctu)首先通过四叉树结构进行分割。四叉树叶节点进一步通过二叉树或三叉(ternary/triple)树结构进行分割。分割树叶节点称为编码单元(codingunit,cu),这种分割(segmentation)用于预测和变换处理,无需任何进一步分割。这表示在qtbt编码块结构中,cu、pu和tu的块大小相同。与此同时,还提出将三叉树分割等多重分割与qtbt块结构一起使用[0315]在一个示例中,视频编码器20中的模式选择单元260可以用于执行本文描述的分割技术的任意组合。[0316]如上所述,视频编码器20用于从(预定的)预测模式集合中确定或选择最佳或最优的预测模式。预测模式集合可以包括帧内预测模式和/或帧间预测模式等。[0317]帧内预测[0318]帧内预测模式集合可以包括35种不同的帧内预测模式,例如像dc(或均值)模式和平面模式的非方向性模式或如hevc中定义的方向性模式,或者可以包括67种不同的帧内预测模式,例如像dc(或均值)模式和平面模式的非方向性模式或如vvc中定义的方向性模式。[0319]帧内预测单元254用于根据帧内预测模式集合中的帧内预测模式,使用同一当前图像的相邻块的重建样本来生成帧内预测块265。[0320]帧内预测单元254(或总称为模式选择单元260)还用于将帧内预测参数(或总称为表示块的选定帧内预测模式的信息)以语法元素266的形式输出到熵编码单元270,以包含在经编码图像数据21中,使得(例如)视频解码器30可以接收并使用预测参数进行解码。[0321]帧间预测[0322](可能的)帧间预测模式集合取决于可用参考图像(即(例如)上述存储在dpb230中的至少部分经解码图像)和其它帧间预测参数,例如取决于是否使用整个参考图像或只使用参考图像的一部分(例如当前块的区域周围的搜索窗口区域)来搜索最佳匹配参考块,和/或例如取决于是否进行像素插值(例如二分之一/半像素插值和/或四分之一像素插值)。[0323]除上述预测模式之外,还可以使用跳过模式和/或直接模式。[0324]帧间预测单元244可以包括运动估计(motionestimation,me)单元和运动补偿(motioncompensation,mc)单元(两者在图2中未示出)。运动估计单元可以用于接收或获取图像块203(当前图像17的当前图像块203)和经解码图像231,或者至少一个或多个先前的重建块(例如一个或多个其它/不同的先前经解码图像231的重建块),以进行运动估计。例如,视频序列可以包括当前图像和先前经解码图像231,或换句话说,当前图像和先前经解码图像231可以为一系列图像的一部分或组成一系列图像,这一系列图像组成视频序列。[0325]例如,编码器20可以用于从多个其它图像中的同一或不同图像的多个参考块中选择一个参考块,并将参考图像(或参考图像索引)和/或参考块的位置(x坐标、y坐标)与当前块的位置之间的偏移(空间偏移)作为帧间预测参数提供给运动估计单元。这种偏移也称为运动矢量(motionvector,mv)。[0326]运动补偿单元用于获取(例如接收)帧间预测参数,并根据或使用帧间预测参数进行帧间预测,得到帧间预测块265。由运动补偿单元执行的运动补偿可以包括根据通过运动估计确定的运动/块矢量来提取或生成预测块,还可以包括对子像素精度执行插值。插值滤波可以根据已知像素样本生成其它像素样本,从而有可能增加可以用于对图像块进行译码的候选预测块的数量。一旦接收到当前图像块的pu对应的运动矢量,运动补偿单元可以在其中一个参考图像列表中定位运动矢量指向的预测块。[0327]运动补偿单元还可以生成与当前块和视频条带(slice)相关的语法元素,以供视频解码器30在解码视频条带的图像块时使用。除条带和相应语法元素之外或作为条带和相应语法元素的替代,还可以生成或使用分块组和/或分块以及相应的语法元素。[0328]熵编码[0329]熵编码单元270用于将熵编码算法或方案(例如可变长度编码(variablelengthcoding,vlc)方案、上下文自适应vlc(contextadaptivevlcscheme,cavlc)方案、算术编码方案、二值化,上下文自适应二进制算术编码(contextadaptivebinaryarithmeticcoding,cabac)、基于语法的上下文自适应二进制算术编码(syntax‑basedcontext‑adaptivebinaryarithmeticcoding,sbac)、概率区间分割熵(probabilityintervalpartitioningentropy,pipe)编码或其它熵编码方法或技术)等应用于或不应用于(无压缩)量化系数209、帧间预测参数、帧内预测参数、环路滤波器参数和/或其它语法元素,得到可以通过输出端272以经编码码流21等形式输出的经编码图像数据21,使得(例如)视频解码器30可以接收并使用这些参数进行解码。可以将经编码码流21发送给视频解码器30,或将其存储在存储器中稍后由视频解码器30发送或检索。[0330]视频编码器20的其它结构变型可以用于对视频流进行编码。例如,基于非变换的编码器20可以在没有变换处理单元206的情况下为某些块或帧直接量化残差信号。在另一种实现方式中,编码器20可以包括组合成单个单元的量化单元208和反量化单元210。[0331]解码器和解码方法[0332]图3示出了用于实现本技术技术的视频解码器30的一个示例。视频解码器30用于接收(例如)由编码器20编码的经编码图像数据21(例如经编码码流21),得到经解码图像331。经编码图像数据或码流包括用于解码该经编码图像数据的信息,例如表示经编码视频条带中的图像块的数据和相关的语法元素。[0333]在图3的示例中,解码器30包括熵解码单元304、反量化单元310、逆变换处理单元312、重建单元314(例如求和器314)、环路滤波器320、解码图像缓冲区(decodedpicturebuffer,dpb)330、模式应用单元360、帧间预测单元344和帧内预测单元354。帧间预测单元344可以为或可以包括运动补偿单元。在一些示例中,视频解码器30可以执行大体上与参照图2中的视频编码器100描述的编码回合互逆的解码回合。[0334]如参照编码器20所述,反量化单元210、逆变换处理单元212、重建单元214、环路滤波器220、解码图像缓冲区(decodedpicturebuffer,dpb)230、帧间预测单元344和帧内预测单元354还组成视频编码器20的“内置解码器”。相应地,反量化单元310在功能上可以与反量化单元110相同,逆变换处理单元312在功能上可以与逆变换处理单元212相同,重建单元314在功能上可以与重建单元214相同,环路滤波器320在功能上可以与环路滤波器220相同,解码图像缓冲区330在功能上可以与解码图像缓冲区230相同。因此,视频编码器20的相应单元和功能的解释相应地适用于视频解码器30的相应单元和功能。[0335]熵解码[0336]熵解码单元304用于解析码流21(或总称为经编码图像数据21)并对经编码图像数据21执行熵解码等,得到量化系数309和/或经解编码参数(图3中未示出)等,例如帧间预测参数(例如参考图像索引和运动矢量)、帧内预测参数(例如帧内预测模式或索引)、变换参数、量化参数、环路滤波器参数和/或其它语法元素中的任一个或全部。熵解码单元304可以用于应用与参照编码器20中的熵编码单元270描述的编码方案对应的解码算法或方案。熵解码单元304还可以用于将帧间预测参数、帧内预测参数和/或其它语法元素提供给模式应用单元360,并将其它参数提供给解码器30中的其它单元。视频解码器30可以接收视频条带级和/或视频块级的语法元素。除条带和相应语法元素之外或作为条带和相应语法元素的替代,还可以接收和/或使用分块组和/或分块以及相应语法元素。[0337]反量化[0338]反量化单元310可以用于从经编码图像数据21(例如通过熵解码单元304等解析和/或解码)接收量化参数(quantizationparameter,qp)(或总称为与反量化相关的信息)和量化系数,并根据这些量化参数对经解码量化系数309进行反量化,得到解量化系数311。解量化系数311也可以称为变换系数311。反量化过程可以包括使用视频编码器20为视频条带中的每个视频块确定的量化参数来确定量化程度,同样也确定需要进行的反量化的程度。[0339]逆变换[0340]逆变换处理单元312可以用于接收解量化系数311(也称为变换系数311),并对解量化系数311进行变换,得到样本域中的重建残差块213。重建残差块213也可以称为变换块313。变换可以为逆变换,例如逆dct、逆dst、逆整数变换或概念上类似的逆变换过程。逆变换处理单元312还可以用于(例如通过熵解码单元304等解析和/或解码)从经编码图像数据21接收变换参数或对应的信息,以确定要对解量化系数311进行的变换。[0341]重建[0342]重建单元314(例如加法器或求和器314)可以用于通过以下方式将重建残差块313添加到预测块365以得到样本域中的重建块315:例如,将重建残差块313的样本值和预测块365的样本值相加。[0343]滤波[0344]环路滤波器单元320(在译码环路中或之后)用于对重建块315进行滤波,得到经过滤波的块321,从而顺利进行像素转变或以其它方式提高视频质量等。环路滤波器单元320可以包括一个或多个环路滤波器,例如去块效应滤波器、样本自适应偏移(sample‑adaptiveoffset,sao)滤波器或一个或多个其它滤波器,例如双边滤波器、自适应环路滤波器(adaptiveloopfilter,alf)、锐化或平滑滤波器、协同滤波器或其任意组合。虽然环路滤波器单元320在图3中示为环内滤波器,但是在其它配置中,环路滤波单元320可以实现为后环路滤波器。[0345]解码图像缓冲区[0346]随后将一个图像的经解码视频块321存储在解码图像缓冲区330中,解码图像缓冲区330存储经解码图像331作为参考图像,以便后续对其它图像进行运动补偿和/或输出或显示。[0347]解码器30用于通过输出端312等输出经解码图像311,向用户显示或供用户观看。[0348]预测[0349]帧间预测单元344在功能上可以与帧间预测单元244(特别是与运动补偿单元)相同,帧内预测单元354在功能上可以与帧间预测单元254相同,并根据从经编码图像数据21(例如通过熵解码单元304等解析和/或解码)接收的分割和/或预测参数或相应的信息来决定划分或分割和执行预测。模式应用单元360可以用于根据重建图像、块或相应的样本(经过滤波或未经滤波)对每个块执行预测(帧内预测或帧间预测),得到预测块365。[0350]当将视频条带译码为经帧内译码(i)条带时,模式应用单元360中的帧内预测单元354用于根据指示(signal)的帧内预测模式和来自当前图像的先前经解码块的数据为当前视频条带的图像块生成预测块365。当视频图像译码为经帧间译码(即b或p)条带时,模式应用单元360中的帧间预测单元344(例如运动补偿单元)用于根据运动矢量和从熵解码单元304接收的其它语法元素为当前视频条带的视频块生成预测块365。对于帧间预测,可以根据其中一个参考图像列表内的其中一个参考图像产生这些预测块。视频解码器30可以根据存储在dpb330中的参考图像,使用默认构建技术来构建参考帧列表0和列表1。除条带(例如视频条带)之外或作为条带的替代,相同或类似的过程可以应用于使用分块组(例如视频分块组)和/或分块(例如视频分块)的实施例或由这些实施例应用,例如可以使用i、p或b分块组和/或分块对视频进行译码。[0351]模式应用单元360用于通过解析运动矢量或相关信息以及其它语法元素,确定当前视频条带的视频块的预测信息,并使用预测信息为正在解码的当前视频块生成预测块。例如,模式应用单元360使用接收到的一些语法元素来确定用于对视频条带的视频块进行译码的预测模式(例如帧内或帧间预测)、帧间预测条带类型(例如b条带、p条带或gpb条带)、用于条带的一个或多个参考图像列表的构建信息、用于条带的每个经帧间编码视频块的运动矢量、用于条带的每个经帧间译码视频块的帧间预测状态以及其它信息,以对当前视频条带中的视频块进行解码。除条带(例如视频条带)之外或作为条带的替代,相同或类似的过程可以应用于使用分块组(例如视频分块组)和/或分块(例如视频分块)的实施例或由这些实施例应用,例如视频可以使用i、p或b分块组和/或分块进行译码。[0352]在实施例中,图3所示的视频解码器30可以用于使用条带(也称为视频条带)对图像进行分割和/或解码。一个图像可以分割成一个或多个条带(通常不重叠)或使用一个或多个条带(通常不重叠)进行解码,每个条带可以包括一个或多个块(例如ctu)。[0353]在实施例中,图3所示的视频解码器30可以用于使用分块组(也称为视频分块组)和/或分块(也称为视频分块)对图像进行分割和/或解码。一个图像可以分割成一个或多个分块组(通常不重叠)或使用一个或多个分块组(通常不重叠)进行解码;每个分块组可以包括一个或多个块(例如ctu)或一个或多个分块等;每个分块可以为矩形等,可以包括一个或多个完整或部分块(例如ctu)等。[0354]视频解码器30的其它变型可以用于对经编码图像数据21进行解码。例如,解码器30可以在没有环路滤波器单元320的情况下生成输出视频流。例如,基于非变换的解码器30可以在没有逆变换处理单元312的情况下为某些块或帧直接反量化残差信号。在另一种实现方式中,视频解码器30可以包括组合成单个单元的反量化单元310和逆变换处理单元312。[0355]应当理解,在编码器20和解码器30中,可以对当前步骤的处理结果做进一步处理,然后输出到下一步骤。例如,在插值滤波、运动矢量推导或环路滤波之后,可以对插值滤波、运动矢量推导或环路滤波的处理结果进行进一步运算,例如修正(clip)或移位(shift)运算。[0356]需要说明的是,可以对当前块的推导运动矢量(包括但不限于仿射模式的控制点运动矢量,仿射模式、平面模式和atmvp模式的子块运动矢量,时间运动矢量等)进行进一步运算。例如,根据运动矢量的表示位将运动矢量的值限制在预定义范围。如果运动矢量的表示位为bitdepth,则范围为–2^(bitdepth1)~2^(bitdepth1)–1,其中,“^”表示幂次方。例如,如果bitdepth设置为16,则范围为–32768~32767;如果bitdepth设置为18,则范围为–131072~131071。例如,对推导出的运动矢量(例如一个8×8块中的4个4×4子块的mv)的值进行限制,使得这4个4×4子块mv的整数部分之间的最大差值不超过n个像素,例如不超过1个像素。这里提供了两种根据bitdepth来限制运动矢量的方法。[0357]方法1:通过平滑操作来去除溢出的最高有效位(mostsignificantbit,msb)[0358]ux=(mvx 2bitdepth)%2bitdepthꢀꢀꢀ(1)[0359]mvx=(ux≥2bitdepth–1)?(ux–2bitdepth):uxꢀꢀꢀ(2)[0360]uy=(mvy 2bitdepth)%2bitdepthꢀꢀꢀ(3)[0361]mvy=(uy≥2bitdepth–1)?(uy–2bitdepth):uyꢀꢀꢀ(4)[0362]其中,mvx为一个图像块或子块的运动矢量中的水平分量,mvy为一个图像块或子块的运动矢量中的垂直分量,ux和uy表示中间值。[0363]例如,如果mvx的值为–32769,则使用公式(1)和(2)之后得到的值为32767。在计算机系统中,以二进制补码的形式存储十进数。–32769的二进制补码为1,0111,1111,1111,1111(17位),这时丢弃msb,那么得到的二进制补码为0111,1111,1111,1111(十进数为32767),这与使用公式(1)和(2)之后得到的输出结果相同。[0364]ux=(mvpx mvdx 2bitdepth)%2bitdepthꢀꢀꢀ(5)[0365]mvx=(ux≥2bitdepth–1)?(ux–2bitdepth):uxꢀꢀꢀ(6)[0366]uy=(mvpy mvdy 2bitdepth)%2bitdepthꢀꢀꢀ(7)[0367]mvy=(uy≥2bitdepth–1)?(uy–2bitdepth):uyꢀꢀꢀ(8)[0368]这些运算可以在对mvp和mvd求和的过程中执行,如公式(5)至(8)所示。[0369]方法2:对值进行修正来去除溢出的msb[0370]vx=clip3(–2bitdepth–1,2bitdepth–1–1,vx)[0371]vy=clip3(–2bitdepth–1,2bitdepth–1–1,vy)[0372]其中,vx为一个图像块或子块的运动矢量中的水平分量,vy为一个图像块或子块的运动矢量中的垂直分量;x、y和z分别对应于mv修正过程的三个输入值,函数clip3的定义如下:[0373][0374]图4为本发明一个实施例提供的视频译码设备400的示意图。视频译码设备400适用于实现本文描述的公开实施例。在一个实施例中,视频译码设备400可以是解码器(例如图1a中的视频解码器30)或编码器(例如图1a中的视频编码器20)。[0375]视频译码设备400包括:用于接收数据的入端口410(或输入端口410)和接收单元(rx)420;用于处理所述数据的处理器、逻辑单元或中央处理器(centralprocessingunit,cpu)430;用于发送所述数据的发送单元(tx)440和出端口450(或输出端口450);用于存储所述数据的存储器460。视频译码设备400还可以包括与入端口410、接收单元420、发送单元440和出端口450耦合的光电(optical‑to‑electrical,oe)组件和电光(electrical‑to‑optical,eo)组件,用作光信号或电信号的出口或入口。[0376]处理器430通过硬件和软件来实现。处理器430可以实现为一个或多个cpu芯片、一个或多个核(例如多核处理器)、一个或多个fpga、一个或多个asic以及一个或多个dsp。处理器430与入端口410、接收单元420、发送单元440、出端口450和存储器460通信。处理器430包括译码模块470。译码模块470实现上文描述的公开实施例。例如,译码模块470执行、处理、准备或提供各种译码操作。因此,将译码模块470包含在内为视频译码设备400的功能提供了实质性的改进,并且影响了视频译码设备400到不同状态的转换。或者,以存储在存储器460中并由处理器430执行的指令来实现译码模块470。[0377]存储器460可以包括一个或多个磁盘、一个或多个磁带机以及一个或多个固态硬盘,并且可以用作溢出数据存储设备,以在选择程序来执行时存储这些程序以及存储在执行程序过程中读取的指令和数据。例如,存储器460可以是易失性和/或非易失性的,并且可以是只读存储器(read‑onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、三态内容寻址存储器(ternarycontent‑addressablememory,tcam)和/或静态随机存取存储器(staticrandom‑accessmemory,sram)。[0378]图5为一个示例性实施例提供的装置500的简化框图。装置500可以用作图1的源设备12和目的地设备14中的任一个或两个。[0379]装置500中的处理器502可以是中央处理器。或者,处理器502可以是现有的或今后将开发出的能够操控或处理信息的任何其它类型的设备或多个设备。虽然可以使用如图所示的处理器502等单个处理器来实施所公开的实现方式,但使用多个处理器可以提高速度和效率。[0380]在一种实现方式中,装置500中的存储器504可以是只读存储器(readonlymemory,rom)设备或随机存取存储器(randomaccessmemory,ram)设备。任何其它合适类型的存储设备都可以用作存储器504。存储器504可以包括处理器502通过总线512访问的代码和数据506。存储器504还可包括操作系统508和应用程序510,应用程序510包括至少一个程序,这个程序使得处理器502执行本文所述方法。例如,应用程序510可以包括应用1至n,还包括执行本文所述方法的视频译码应用。[0381]装置500还可以包括一个或多个输出设备,例如显示器518。在一个示例中,显示器518可以是将显示器与触敏元件组合的触敏显示器,该触敏元件能够用于感测触摸输入。显示器518可以通过总线512与处理器502耦合。[0382]虽然装置500的总线512在这里示为单个总线,但是总线512可以有多个。此外,辅助存储器514可以直接与装置500中的其它组件耦合或可以通过网络被访问,并且可以包括单个集成单元(例如一个存储卡)或多个单元(例如多个存储卡)。因此,装置500可以具有各种各样的构造。[0383]下面详细描述了本文提供的实施例。由码流表示的视频序列可以包括一系列按解码顺序排列的图像。[0384]这些图像中的每个图像(可以是源图像或经解码图像)包括以下一个或多个样本阵列:[0385]‑只有亮度(y)(单色)样本的阵列,[0386]‑一个亮度样本阵列和两个色度样本阵列(ycbcr或ycgco),[0387]‑绿蓝红(gbr,也称为rgb)样本阵列,[0388]‑表示其它未指定的单色或三刺激色样本的阵列(例如yzx,也称为xyz)。[0389]为了便于说明本发明中的符号和术语,与这些阵列相关的变量和术语称为亮度(或l或y)和色度,两个色度阵列称为cb和cr。[0390]图6a示出了用于4:2:0采样方案的色度分量位置。在4:2:0采样方案中,两个色度阵列的高度和宽度都是亮度阵列的一半。图6b示出了用于4:2:2采样方案的色度分量位置。在4:2:2采样方案中,两个色度阵列的高度都与亮度阵列的相同,而两个阵列的宽度都是亮度阵列的一半。图6c示出了用于4:4:4采样方案的色度分量位置。在4:4:4采样方案中,如果separate_color_plane_flag等于0,则两个色度阵列的高度和宽度都与亮度阵列的相同。图6d示出了用于隔行图像的各种采样模式。在图6d中,表示有色度样本类型0、色度样本类型1、色度样本类型2、色度样本类型3、色度样本类型4和色度样本类型5。[0391]色度样本的帧内预测可以使用重建亮度块的样本来执行。[0392]在hevc开发的过程中,提出了跨分量线性模型(cross‑componentlinearmodel,cclm)色度帧内预测(2010年7月,j.kim、s.w.park、j.y.park和b.m.jeon在文档jctvc‑b021中发表“intrachromapredictionusinginterchannelcorrelation(使用信道间相关性的帧内色度预测)”)。cclm利用编码块中的色度样本和该编码块中的位置与该色度样本的位置对应的亮度样本之间的线性相关性。当使用cclm对色度块进行译码时,通过线性回归根据重建相邻亮度和色度样本来推导一种线性模型。然后,可以使用当前块中的重建亮度样本和推导出的线性模型对当前块中的色度样本进行预测(参见图6e):[0393]c(x,y)=α×l(x,y) β,[0394]其中,c和l分别表示色度样本值和亮度样本值,参数α和β通过最小二乘法推导如下:[0395][0396]β=m(c)‑α×m(l),[0397]其中,m(a)表示a的均值,r(a,b)的定义如下:[0398]r(a,b)=m((a‑m(a))×(b‑m(b))。[0399]如果经编码或经解码图像的格式指定亮度分量和色度分量具有不同数量的样本(例如图6所示的4:2:0ycbcr格式),则首先对亮度样本进行下采样,然后进行建模和预测。[0400]vtm2.0已经采用了这种方法。具体地,如下执行参数推导:[0401][0402][0403]其中,l(n)表示下采样后的顶部和左侧相邻重建亮度样本,c(n)表示顶部和左侧相邻重建色度样本。[0404]2018年10月,g.laroche、j.taquet、c.gisquet和p.onno(canon)在中国澳门的第十二次jevt会议的输入文档中发表“ce3:cross‑componentlinearmodelsimplification(test5.1)(跨分量线性模型简化(测试5.1))”,其中提出了一种推导α和β的不同方法(参见图8)。具体地,线性模型参数α和β根据以下等式获取:[0405][0406]β=l(a)–αc(a),[0407]其中,b=argmax(l(n))和a=argmin(l(n))表示亮度样本的最大值和最小值的位置。[0408]图7a示出了使用ycbcr4:2:0色度格式时的cclm模式中使用的顶部和左侧参考样本的位置以及当前块的样本。应当理解,“顶部和左侧样本”也可以称为“左侧和上方样本”、“左侧和顶部样本”或“上方和左侧样本”。这些样本是指位于当前块左侧和顶部(或上方)的相邻块中的样本。[0409]为了执行跨分量预测,对于4:2:0色度格式,需要对重建亮度块进行下采样,以匹配色度信号或色度样本或色度块的大小。cclm模式中使用的默认下采样滤波器为如下:[0410][0411]注意,这里的下采样假设对色度样本的位置相对于亮度样本的位置定义“类型0”相位关系,即色度样本的水平空间位置与对应亮度样本的相同,色度样本的垂直空间位置在两个亮度样本之间。上述等式(0)所示的6抽头下采样滤波器作为单模型cclm模式和多模型cclm模式下的默认滤波器。这种6抽头下采样滤波器使用的样本的空间位置如图9所示。图9示出了使用不同线型标记的样本901、样本902和样本903。在滤波的过程中,样本901、样本902和样本903的权重分别为2、1和0。[0412]如果亮度样本位于块边界上,并且顶部和左侧相邻块不可用,则使用以下公式:[0413]如果y=0的行是第1行ctu,x=0且左侧和顶部相邻块不可用,则rec'l[x,y]=recl[2x,2y];或者[0414]如果y=0的行是第1行ctu且顶部相邻块不可用,则rec'l[x,y]=(2×recl[2x,2y] recl[2x‑1,2y] recl[2x 1,2y] 2)>>2;或者[0415]如果x=0且左侧和顶部相邻块不可用,则rec'l[x,y]=(recl[2x,2y] recl[2x,2y 1] 1)>>1。[0416]当在4:2:0采样方案中考虑对亮度和色度分量进行采样时,亮度和色度分量网格之间可能存在移位。在2×2个像素的块中,色度分量实际上相对于亮度分量垂直移动半个像素(如图6a所示)。这种移位在执行下采样或执行上采样时可能会对插值滤波器产生影响。上述内容同样可以适用于图6b或图6c所示的其它采样方案。图6d示出了用于隔行图像的各种采样模式。也就是说,还考虑到奇偶性,即像素是否位于隔行图像的顶场或底场。[0417]2019年1月,p.hanhart、y.he在摩洛哥马拉喀什的第十三次jvet会议的输入文档jvet–m0142中发表的“ce3:modifiedcclmdownsamplingfilterfor“type–2”content(test2.4)(ce3:针对“类型2”内容的修改后cclm下采样滤波器(测试2.4))”提到,为避免针对“类型2”内容的cclm中出现色度样本和下采样后亮度样本不匹配,将下面的下采样滤波器应用于亮度样本以进行线性模型确定和预测,这部分内容增加到vvc规范草案(版本4)中:[0418]3抽头:recl′(i,j)=[recl(2i–1,2j) 2·recl(2i,2j) recl(2i 1,2j) 2]>>2[0419]5抽头:recl′(i,j)=[recl(2i,2j–1) recl(2i–1,2j) 4·recl(2i,2j) recl(2i 1,2j) recl(2i,2j 1) 4]>>3[0420]为了避免增加行缓冲区,这些修改内容不适用于顶部ctu边界。下采样滤波器的选择由sps标志sps_cclm_colocated_chroma_flag控制。当sps_cclm_colocated_chroma_flag的值为0或假(false)时,将下采样滤波器应用于亮度样本,以进行线性模型确定和预测;当sps_cclm_colocated_chroma_flag的值为1或真(true)时,不将下采样滤波器应用于亮度样本,以进行线性模型确定和预测。[0421]边界亮度重建样本l()用于推导上述线性模型参数,这些样本根据经过滤波的亮度样本rec'l[x,y]进行子采样。[0422]vvc规范中的第8.3.4.2.8小节介绍了先前设计中的亮度样本滤波和子采样过程:[0423]8.3.4.2.8.帧内预测模式intra_lt_cclm、intra_l_cclm、intra_t_cclm的规范[0424]该过程的输入包括:[0425]–帧内预测模式predmodeintra;[0426]–当前变换块的左上方样本相对于当前图像的左上方样本的样本位置(xtbc,ytbc);[0427]–变量ntbw,表示变换块宽度;[0428]–变量ntbh,表示变换块高度;[0429]–相邻色度样本p[x][y],其中,x=–1,y=0..2*ntbh–1;x=0..2*ntbw–1,y=–1。[0430]该过程的输出为预测样本predsamples[x][y],其中,x=0..ntbw–1,y=0..ntbh–1。[0431]当前亮度位置(xtby,ytby)的推导方式如下:[0432](xtby,ytby)=(xtbc<<1,ytbc<<1)ꢀꢀꢀ(8‑155)[0433]变量availl、availt和availtl的推导方式如下:[0434]–使用设置为(xtbc,ytbc)的当前色度位置(xcurr,ycurr)和相邻色度位置(xtbc–1,ytbc)作为输入,调用块的左侧相邻样本可用性推导过程,并且将输出赋值给availl。[0435]–使用设置为(xtbc,ytbc)的当前色度位置(xcurr,ycurr)和相邻色度位置(xtbc,ytbc–1)作为输入,调用块的顶部相邻样本可用性推导过程,并且将输出赋值给availt。[0436]–使用设置为(xtbc,ytbc)的当前色度位置(xcurr,ycurr)和相邻色度位置(xtbc–1,ytbc–1)作为输入,调用块的左上方相邻样本可用性推导过程,并且将输出赋值给availtl。[0437]–右上方可用相邻色度样本数量numtopright的推导方式如下:[0438]–将变量numtopright设置为0,并且将availtr设置为真。[0439]–当predmodeintra等于intra_t_cclm时,对于x=ntbw..2*ntbw–1,以下内容适用,除非availtr为假或x等于2*ntbw–1:[0440]–使用设置为(xtbc,ytbc)的当前色度位置(xcurr,ycurr)和相邻色度位置(xtbc,ytbc–1)作为输入,调用块的可用性推导过程,并且将输出赋值给availabletr;[0441]–当availabletr为真时,numtopright加1。[0442]–左下方可用相邻色度样本数量numleftbelow的推导方式如下:[0443]–将变量numleftbelow设置为0,并且将availlb设置为真。[0444]–当predmodeintra等于intra_l_cclm时,对于y=ntbh..2*ntbh–1,以下内容适用,除非availlb为假或y等于2*ntbh–1:[0445]–使用设置为(xtbc,ytbc)的当前色度位置(xcurr,ycurr)和相邻色度位置(xtbc–1,ytbc y)作为输入,调用块的可用性推导过程,并且将输出赋值给availablelb;[0446]–当availablelb为真时,numleftbelow加1。[0447]顶部和右上方可用相邻色度样本数量numtopsamp以及左侧和左下方可用相邻色度样本数量numleftsamp的推导方式如下:[0448]–如果predmodeintra等于intra_planar或intra_dc,则[0449]numsampt=availt?ntbw:0ꢀꢀꢀ(8‑156)[0450]numsampl=availl?ntbh:0ꢀꢀꢀ(8‑157)[0451]–否则,[0452]numsampt=(availt&&predmodeintra==intra_t_cclm)?(ntbw numtopright):0ꢀꢀꢀ(8‑158)[0453]numsampl=(availl&&predmodeintra==intra_l_cclm)?(ntbh numleftbelow):0ꢀꢀꢀ(8‑159)[0454]变量bctuboundary的推导方式如下:[0455]bctuboundary=(ytbc&(1<<(ctblog2sizey–1)–1)==0)?true:false(8‑160)[0456]预测样本predsamples[x][y](其中,x=0..ntbw–1,y=0..ntbh–1)的推导方式如下:[0457]–如果numsampl和numsampt都等于0,则[0458]predsamples[x][y]=1<<(bitdepthc–1)ꢀꢀꢀ(8‑161)[0459]–否则,按顺序执行以下步骤:[0460]1.将并置亮度样本py[x][y](其中,x=0..ntbw*2–1,y=0..ntbh*2–1)设置为位置(xtby x,ytby y)上的进行去块效应滤波过程之前的重建亮度样本。[0461]2.相邻亮度样本py[x][y]的推导方式如下:[0462]–当numsampl大于0时,将左侧相邻亮度样本py[x][y](其中,x=–1..–3,y=0..2*numsampl–1)设置为位置(xtby x,ytby y)上的进行去块效应滤波过程之前的重建亮度样本。[0463]–当numsampt大于0时,将顶部相邻亮度样本py[x][y](其中,x=0..2*numsampt–1,y=–1、–2)设置为位置(xtby x,ytby y)上的进行去块效应滤波过程之前的重建亮度样本。[0464]–当availtl为真时,将左上方相邻亮度样本py[x][y](其中,x=–1,y=–1、–2)设置为位置(xtby x,ytby y)上的进行去块效应滤波过程之前的重建亮度样本。[0465]3.下采样后的并置亮度样本pdsy[x][y](其中,x=0..ntbw–1,y=0..ntbh–1)的推导方式如下:[0466]–如果sps_cclm_colocated_chroma_flag等于1,则[0467]–pdsy[x][y](其中,x=1..ntbw–1,y=1..ntbh–1)的推导方式如下:[0468]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‑162)[0469]–如果availl为真,则pdsy[0][y](其中,y=1..ntbh–1)的推导方式如下:[0470]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‑163)[0471]–否则,pdsy[0][y](其中,y=1..ntbh–1)的推导方式如下:[0472]pdsy[0][y]=(py[0][2*y–1] 2*py[0][2*y] py[0][2*y 1] 2)>>2ꢀꢀꢀ(8‑164)[0473]–如果availt为真,则pdsy[x][0](其中,x=1..ntbw–1)的推导方式如下:[0474]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‑165)[0475]–否则,pdsy[x][0](其中,x=1..ntbw–1)的推导方式如下:[0476]pdsy[x][0]=(py[2*x–1][0] 2*py[2*x][0] py[2*x 1][0] 2)>>2ꢀꢀꢀ(8‑166)[0477]–如果availl为真且availt为真,则pdsy[0][0]的推导方式如下:[0478]pdsy[0][0]=(py[0][–1] py[–1][0] 4*py[0][0] py[1][0] py[0][1] 4)>>3ꢀꢀꢀ(8‑167)[0479]–否则,如果availl为真且availt为假,则pdsy[0][0]的推导方式如下:[0480]pdsy[0][0]=(py[–1][0] 2*py[0][0] py[1][0] 2)>>2ꢀꢀꢀ(8‑168)[0481]–否则,如果availl为假且availt为真,则pdsy[0][0]的推导方式如下:[0482]pdsy[0][0]=(py[0][–1] 2*py[0][0] py[0][1] 2)>>2ꢀꢀꢀ(8‑169)[0483]–否则(availl为假且availt为假),pdsy[0][0]的推导方式如下:[0484]pdsy[0][0]=py[0][0]ꢀꢀꢀ(8‑170)[0485]–否则,[0486]–pdsy[x][y](其中,x=1..ntbw–1,y=0..ntbh–1)的推导方式如下:[0487]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‑171)[0488]–如果availl为真,则pdsy[0][y](其中,y=0..ntbh–1)的推导方式如下:[0489]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‑172)[0490]–否则,pdsy[0][y](其中,y=0..ntbh–1)的推导方式如下:[0491]pdsy[0][y]=(py[0][2*y] py[0][2*y 1] 1)>>1ꢀꢀꢀ(8‑173)[0492]cclm使用与色度块在空间上并置的子采样后亮度块(下采样后亮度块)对该色度块中的色度样本的值进行预测。亮度块的子采样或下采样包括滤波,以减少由频谱镜像导致的混叠伪影。插值滤波器类型的选择取决于子采样类型以及原始图像的色度样本和亮度样本之间的子采样空间偏移值。[0493]先前设计不考虑色度格式,定义了插值滤波器集合,因此,当水平方向的色度子采样比(subwidthc)不等于垂直方向的色度子采样比(subheightc)时,会出现以下问题:[0494]‑额外的平滑处理;[0495]‑经过滤波的亮度信号发生错误的相移。[0496]本发明提供一种在根据亮度样本预测色度样本时考虑图像的色度格式的方法。根据色度格式选择滤波器集合可以消除先前设计中存在的问题,获得更准确的色度预测信号并减小预测误差。预测误差变小带来的技术效果是残差信号能量减少。通过残差信号能量减少,这些译码方法可以减少重建信号的失真,降低编码残差信号所需的码率,或者同时减少失真和降低码率。本发明实现的这些有益效果提升了译码方法的整体压缩性能。[0497]表1示出了本发明可以支持的色度格式。色度格式信息,例如chroma_format_idc和/或separate_color_plane_flag,可以用于确定变量subwidthc和subheightc的值。[0498]表1[0499]chroma_format_idcseparate_colour_plane_flag色度格式subwidthcsubheightc00单色11104:2:022204:2:221304:4:411314:4:411[0500]chroma_format_idc表示相对于亮度采样的色度采样。chroma_format_idc的取值范围为0~3(包括端值)。[0501]separate_colour_plane_flag等于1表示4:4:4色度格式的三个颜色分量单独译码。separate_colour_plane_flag等于0表示颜色分量不单独译码。当separate_colour_plane_flag不存在时,推断separate_colour_plane_flag等于0。当separate_color_plane_flag等于1时,经译码图像由三个单独的分量组成,每个分量由一个颜色平面(y、cb或cr)的经译码样本组成并使用单色译码语法。[0502]色度格式决定色度阵列的优先顺序和子采样方案。[0503]在单色采样方案中,只有一个样本阵列,名义上是亮度阵列。[0504]在4:2:0采样方案中,两个色度阵列的高度和宽度都是亮度阵列的一半,如图6a所示。[0505]在4:2:2采样方案中,两个色度阵列的高度都与亮度阵列的相同,而两个色度阵列的宽度都是亮度阵列的一半,如图6b所示。[0506]在4:4:4采样方案中,根据separate_colour_plane_flag的值,存在以下情况[0507]‑如果separate_color_plane_flag等于0,则两个色度阵列的高度和宽度都与亮度阵列的相同,如图6c所示;[0508]‑否则(separate_colour_plane_flag等于1),3个颜色平面分别作为单色采样后图像进行处理。[0509]本发明提供了一种对用作输入数据的亮度样本进行处理以确定线性模型的参数的方法。该线性模型可以包括但不限于跨分量线性模型(cross‑componentlinearmodel,cclm)或多方向性线性模型(multi‑directionallinearmodel,mdlm)。该方法包括确定在垂直方向和水平方向根据条件使用的滤波器器(例如两个滤波器)集合。[0510]在一些实施例中,检查一组条件以确定要应用于重建亮度样本的滤波器的系数。这组条件包括但不限于色度采样比(也即色度采样因子,例如变量subwidthc和subheightc)。[0511]图7a为执行cclm帧内预测700的示例性机制的示意图。cclm帧内预测700是一种跨分量帧内预测。因此,cclm帧内预测700可以由编码器20中的帧内预测单元254和/或解码器30中的帧内预测单元354执行。通过cclm帧内预测700,对色度块701中的色度样本703进行预测。色度样本703出现在以相交线构成的网格或单元格所示的整数位置上。上述预测部分根据相邻参考样本进行,这些相邻参考样本示为黑色圆圈。色度样本703并非只根据相邻色度参考样本705(表示为重建色度样本(rec'c))进行预测。色度样本703还根据重建亮度参考样本713和相邻亮度参考样本715进行预测。具体地,cu包括亮度块711和两个色度块701。生成一种模型,将同一cu中的色度样本703和重建亮度样本713相互关联起来。该模型的线性系数可以通过将相邻亮度参考样本715与相邻色度参考样本705进行比较来确定。例如,该模型的线性系数可以通过将选定相邻亮度参考样本715的下采样后亮度参考样本719与选定相邻色度参考样本705进行比较来确定,而且选定相邻色度参考样本705的位置可以对应于下采样后亮度参考样本719的位置。[0512]相邻色度参考样本705选自色度块701的相邻块中的色度样本。相邻色度参考样本705选自顶部模板707和/或左侧模板706。例如,相邻色度参考样本705可以根据顶部模板707和/或左侧模板706的可用性来选择。如图7d所示,可以选择4个相邻色度参考样本705。由于相邻色度参考样本705为重建样本,因此相邻色度参考样本705表示为重建色度样本(rec'c)。重建亮度样本713从色度块701所属的cu的亮度块711中获取。相邻亮度参考样本715选自亮度块711的相邻块中的亮度样本。相邻亮度参考样本715选自顶部模板717和/或左侧模板716。例如,如图7d所示,为了获取与4个选定相邻色度参考样本705对应的4个下采样后亮度参考样本719(即,4个下采样后亮度参考样本719的位置与4个选定相邻色度参考样本705的位置对应),选择相邻亮度参考样本715。例如,如果使用6抽头下采样滤波器,则使用6个相邻亮度参考样本715来获取与一个选定相邻色度参考样本705对应的一个下采样后亮度参考样本719。重建亮度样本713表示为rec'l。此外,本文使用的模板706、707、716和717是指一种将相邻亮度参考样本715与相邻色度参考样本705相互关联起来的机制。[0513]如图所示,亮度块711中包括的样本是色度块701中的4倍。具体地,色度块701包括n×n个样本,而亮度块711包括2n×2n个样本。因此,亮度块711的分辨率是色度块701的4倍。为了对重建亮度样本713和(选定)相邻亮度参考样本715进行上述预测,对重建亮度样本713和(选定)相邻亮度参考样本715进行下采样,以便与相邻色度参考样本705和色度样本703进行准确比较。下采样过程是为了降低一组样本的分辨率。[0514]一旦对(选定)相邻亮度参考样本715和重建亮度样本713进行了下采样,就可以生成一种模型来预测色度块701的色度样本703。具体地,在cclm帧内预测700中,可以根据由如下等式1描述的模型对色度块701的色度样本703进行预测:[0515]predc(i,j)=α·recl′(i,j) βꢀꢀꢀ(1)[0516]其中,predc(i,j)为色度块701中的位于位置(i,j)上的预测色度样本703,i为水平索引,j为垂直索引。recl′(i,j)为重建亮度样本713的位于位置(i,j)上的下采样后亮度样本,α和β为根据(选定)相邻亮度参考样本715的下采样后亮度参考样本和(选定)色度参考样本705确定的线性系数。对于yuv4:2:0格式,每个色度样本具有4个并置的亮度样本,因此用于推导α和β的亮度样本以及用于计算预测色度样本的样本均进行下采样(参见图6a)。[0517]例如,根据参考图8和图7d论述的选定相邻亮度参考样本715的下采样后相邻亮度参考样本719的最小值和最大值来确定α和β。在一个示例性实现方式中,在根据下采样后亮度参考样本719确定最大亮度值和最小亮度值之后,至少部分根据与最大亮度值相关的一个或多个下采样后亮度参考样本(例如两个下采样后亮度参考样本)的一个或多个位置(例如两个位置),获取第一色度值。例如,根据对应于与最大亮度值相关的两个下采样后亮度参考样本的两个位置上的两个色度参考样本,获取第一色度值。至少部分根据与最小亮度值相关的一个或多个下采样后亮度参考样本的一个或多个位置,获取第二色度值。例如,根据对应于与最小亮度值相关的两个下采样后亮度参考样本的两个位置上的两个色度参考样本,获取第二色度值。根据第一色度值、第二色度值、最大亮度值和最小亮度值(参考图7d和图8),计算线性模型系数α和β。[0518]如上所述,首先对(选定)相邻亮度参考样本715和亮度参考样本713进行下采样,然后生成线性模型。此外,使用多行(line/row)和多列来生成相邻亮度参考样本715不会显著提高依照cclm帧内预测700的剩余计算的准确性。因此,可以在下采样过程中使用单行和/或单列相邻亮度参考样本715,这样降低了行缓冲存储器的利用率,同时不会显著影响cclm帧内预测700的准确性和/或译码效率。[0519]图7b示出了使用ycbcr4:4:4色度格式时的cclm模式中使用的左侧和上方参考样本的位置以及当前块的样本。此时,cclm不进行下采样。[0520]图7c示出了使用ycbcr4:2:2色度格式时的cclm模式中使用的左侧和上方参考样本的位置以及当前块的样本。此时,对于cclm,首先执行滤波,然后在水平方向对亮度样本进行下采样。[0521]图10为支持跨分量帧内预测的示例性下采样机制1500的示意图。[0522]机制1500使用单个相邻亮度参考样本行1518和单个相邻亮度参考样本列1520。行1518和列1520与亮度块1511紧邻,亮度块1511与根据跨分量帧内预测进行预测的色度块属于同一cu。在下采样之后,相邻亮度参考样本行1518变为下采样后相邻亮度参考样本行1516。此外,对相邻亮度参考样本列1520进行下采样,得到单个下采样后相邻亮度参考样本列1517。然后,可以使用行1516和列1517中的下采样后相邻亮度参考样本根据等式1进行跨分量帧内预测。[0523]相应地,在一种示例性实现方式中,对单个相邻亮度参考样本行1518和单个相邻亮度参考样本列1520进行下采样,以用于跨分量帧内预测中。需要说明的是,在另一种示例性实现方式中,对单个相邻亮度参考样本行1518中的选定亮度参考样本和单个相邻亮度参考样本列1520中的选定亮度参考样本进行下采样,以用于跨分量帧内预测中。[0524]对于亮度块1511,表示为a1的顶部相邻行1518用于进行下采样,得到表示为a的下采样后相邻行1516。a[i]为a中的第i个样本,a1[i]为a1中的第i个样本。在一个具体示例中,可以将根据图像的色度格式确定或选择的一个或多个下采样滤波器应用于相邻行1518,得到下采样后相邻行1516。在另一个具体示例中,可以将根据图像的色度格式确定或选择的一个或多个下采样滤波器应用于单行1518中的一些选定亮度参考样本a1[i],得到下采样后亮度参考样本,如图7d所示。下面介绍这方面的详细内容。[0525]此外,对表示为l1的左侧相邻列1520进行下采样,得到表示为l的下采样后相邻列1517。l[i]是l中的第i个样本,l1[i]是l1中的第i个样本。在一个具体示例中,可以将根据图像的色度格式确定或选择的一个或多个下采样滤波器应用于相邻列1520,得到下采样后相邻列1517。下面介绍这方面的详细内容。在另一个具体示例中,可以将根据图像的色度格式确定或选择的一个或多个下采样滤波器应用于单列1520中的一些选定亮度参考样本l1[i],得到下采样后亮度参考样本,如图7d所示。[0526]此外,还需要说明的是,机制1500也可以应用于行1518、行1516、列1520和/或列1517的尺寸大于亮度块1511或下采样后亮度块1512的宽度或高度的情况。在可选设计中,机制1500也可以应用于一些选定相邻参考样本a1[i]和/或一些选定相邻参考样本l1[i]。[0527]图11为本发明一些实施例提供的使用线性模型执行帧内预测的示例性过程1100的流程图。所述方法可以由图1a和图1b所示的编解码系统10或40中的视频编码器20和/或视频解码器30执行。具体地,所述方法可以由图2所示的视频编码器20中的帧内预测单元244和/或图3所示的视频解码器30中的帧内预测单元354执行。[0528]在步骤1101中,根据色度格式信息,确定下采样滤波器集合,其中,所述色度格式信息表示当前块所属图像的色度格式,所述当前块包括亮度块和并置色度块。可以理解的是,所述下采样滤波器集合中的每个下采样滤波器可以由一个或多个下采样滤波器系数定义。下面将详细说明。[0529]在步骤1103中,使用所述下采样滤波器集合中的各个下采样滤波器,获取所述当前块的亮度块中的重建亮度样本的下采样后亮度样本和所述亮度块的(相邻)选定亮度参考样本(也就是选定相邻亮度样本)的下采样后亮度参考样本。[0530]可以理解的是,所述亮度块的空间分辨率通常大于色度块的空间分辨率,对亮度块(即重建亮度块)进行下采样,得到下采样后亮度块,如图10所示。与所述选定相邻亮度样本(所述下采样后亮度参考样本)水平和/或垂直相邻的所述重建亮度样本用于获取所述亮度块之外的选定相邻亮度样本的下采样后亮度参考样本,如图9或图10所示。[0531]在步骤1105中,根据所述下采样后亮度参考样本和与所述下采样后亮度参考样本对应(或相关)的色度参考样本,确定或推导一个或多个线性模型系数。[0532]在步骤1107中,根据所述一个或多个线性模型系数和所述亮度块中的重建亮度样本的下采样后亮度样本,获取与所述亮度块对应的色度块的预测样本。[0533]步骤1101是为了根据表示正在解码的图像的色度格式的色度格式信息确定或获取或获得变量subwidthc和subheightc的值。[0534]步骤1101是为了定义或确定用于所述变量subwidthc和subheightc的值的滤波器“f”。[0535]滤波器如何与subwidthc和subheightc的对应值相关的示例性实施例如表2至表5所示。空间滤波器“f”以系数矩阵的形式定义。这些系数应用于的样本的位置定义如下,其中,经过滤波或修改的亮度样本的位置表示为(x,y):[0536][0537]当输出的经过滤波的重建样本的位置在块边界上时,由于相邻块不可用,因此部分相邻位置会变为不可用。在这种情况下,将选择输入样本修改为复制块边界上的样本。这种修改可以实现为将具有不同滤波器系数的另一滤波器应用于少量样本。[0538]具体地,当输出样本位于当前块的左侧边界上,并且与亮度块左侧相邻的样本不可用时,用于滤波的样本的位置定义如下:[0539][0540]当输出样本位于当前块的顶部边界上,并且与亮度块顶部相邻的样本不可用时,用于滤波的样本的位置定义如下:[0541][0542]当输出样本的位置在当前块的右侧边界上时,用于滤波的样本的位置定义如下:[0543][0544]当输出样本的位置在当前块的底部边界上时,用于滤波的样本的位置定义如下:[0545][0546]表2:空域滤波器与subwidthc和subheightc的值之间的关联关系的示例[0547][0548]表3:空域滤波器与subwidthc和subheightc的值之间的关联关系的示例[0549][0550][0551]表4:空域滤波器与subwidthc和subheightc的值之间的关联关系的示例[0552][0553]表5:空域滤波器与subwidthc和subheightc的值之间的关联关系的示例[0554][0555][0556]步骤1103是为了对重建亮度样本执行滤波以得到经过滤波的亮度样本值rec'l[x,y]。具体地,将选定滤波器“f”应用于重建样本recl[x,y]::[0557][0558]其中,f表示空域滤波器,n为空域滤波器f的系数之和,(x,y)表示重建样本的位置。这种滤波与等式(5)所述的场景对应。在其它场景下,例如上述结合等式(6)至等式(9)所述的场景,可以根据等式(6)至等式(9)所示的样本的位置调整上述滤波,然后进行滤波。[0559]在一个实施例中,滤波器可以根据子采样后色度样本相对于亮度样本的位置在不同的滤波器类型(例如表2至表5中定义的各种滤波器关联关系)之间切换。例如,当子采样后色度样本不与对应的亮度样本并置(如图6d所示,参见色度样本类型0、1、3或5,由码流中的标志(例如值为0的sps_cclm_colocated_chroma_flag)指示)时,使用表4。否则,针对当前块使用表2或表3。[0560]使用表2还是使用表3可以根据当前块中的亮度样本的数量进行确定。例如,对于包括64个以下样本的块,不执行色度子采样时,就不进行色度滤波(因此选择使用表2)。另一方面,当块大小大于64个样本时,使用表3来定义滤波器“f”。需要说明的是,64只是一个示例,样本数量也可以为其它阈值。[0561]在另一个实施例中,滤波器f根据指示表6至表10所示的色度格式和色度类型的信息进行选择。色度类型表示色度分量的位移,如图6d所示。在图6d中,对于色度样本类型2和色度样本类型4,子采样后色度样本与对应的亮度样本并置。对于色度样本类型0、1、3和5,子采样后色度样本不与对应的亮度样本并置。vvc草案的先前设计中使用的是表6至表10中的“yuv4:2:0”列所示的滤波器。当定义了对应的色度格式,“yuv4:2:2”列和“yuv4:4:4”列中定义的滤波器可以替换“yuv4:2:0”列中定义的滤波器。[0562]表6:空域滤波器f与色度格式和色度类型的值之间的关联关系(色度类型如图6d所示)[0563][0564][0565]表7:空域滤波器f与色度格式和色度类型的值之间的关联关系[0566][0567][0568]表8:空域滤波器f与色度格式和色度类型的值之间的关联关系[0569][0570]表9:空域滤波器f与色度格式和色度类型的值之间的关联关系[0571][0572]表10:空域滤波器f与色度格式和色度类型的值之间的关联关系[0573][0574][0575]滤波器可以通过不同方式实现,包括滤波器旁路操作(即将输出值设置为输入值,即滤波器是旁路滤波器)。或者,滤波器可以使用类似的加法和移位运算来实现,即:[0576][0577]根据所建议的更改,下面以vvc草稿中的一部分规范的格式详细描述本文一个示例性实施例提供的使用线性模型执行帧内预测(块的跨分量预测)的过程。[0578]3.下采样后的并置亮度样本pdsy[x][y](其中,x=0..ntbw–1,y=0..ntbh–1)的推导方式如下:[0579]–如果sps_cclm_colocated_chroma_flag等于1,则[0580]–pdsy[x][y](其中,x=1..ntbw–1,y=1..ntbh–1)的推导方式如下:[0581]pdsy[x][y]=(f[1][0]*py[subwidthc*x][subheightc*y–1] f[0][1]*py[subwidthc*x–1][subheightc*y] f[1][1]*py[subwidthc*x][subheightc*y] f[2][1]*py[subwidthc*x 1][subheightc*y] f[1][2]*py[subwidthc*x][subheightc*y 1] 4)>>3[0582]–如果availl为真,则pdsy[0][y](其中,y=1..ntbh–1)的推导方式如下:[0583]pdsy[0][y]=(f[1][0]*py[0][subheightc*y–1] f[0][1]*py[–1][subheightc*y] f[1][1]*py[0][subheightc*y] 2)>>2[0584]–否则,pdsy[0][y](其中,y=1..ntbh–1)的推导方式如下:[0585]pdsy[0][y]=(2*f[1][0]*py[0][subheightc*y–1] f[1][1]*py[0][subheightc*y] 2)>>2[0586]–如果availt为真,则pdsy[x][0](其中,x=1..ntbw–1)的推导方式如下:[0587]pdsy[x][0]=(f[1][0]*py[subwidthc*x][–1] f[0][1]*py[subwidthc*x–1][0] f[1][1]*py[subwidthc*x][0] f[2][1]*py[subwidthc*x 1][0] f[1][2]*py[subwidthc*x][1] 4)>>3[0588]–否则,pdsy[x][0](其中,x=1..ntbw–1)的推导方式如下:[0589]pdsy[x][0]=(f[1][0]*py[subwidthc*x][–1] f[0][1]*py[subwidthc*x–1][0] f[1][1]*py[subwidthc*x][0] f[2][1]*py[subwidthc*x 1][0] f[1][2]*py[subwidthc*x][1] 4)>>3[0590]–如果availl为真且availt为真,则pdsy[0][0]的推导方式如下:[0591]pdsy[0][0]=(f[1][0]*py[0][–1] f[0][1]*py[–1][0] f[1][1]*py[0][0] f[2][1]*py[1][0] f[1][2]*py[0][1] 4)>>3[0592]–否则,如果availl为真且availt为假,则pdsy[0][0]的推导方式如下:[0593]pdsy[0][0]=(f[0][1]*py[–1][0] f[1][1]*py[0][0] f[2][1]*py[1][0] 2)>>2[0594]–否则,如果availl为假且availt为真,则pdsy[0][0]的推导方式如下:[0595]pdsy[0][0]=(py[0][–1] 2*py[0][0] py[0][1] 2)>>2ꢀꢀ(8‑169)[0596]–否则(availl为假且availt为假),pdsy[0][0]的推导方式如下:[0597]pdsy[0][0]=py[0][0]ꢀꢀꢀ(8‑170)[0598]–否则,[0599]–pdsy[x][y](其中,x=1..ntbw–1,y=0..ntbh–1)的推导方式如下:[0600]pdsy[x][y]=(f[0][1]*py[subwidthc*x–1][subheightc*y] f[0][2]*py[subwidthc*x–1][subheightc*y 1] f[1][1]*py[subwidthc*x][subheightc*y] f[1][2]*py[subwidthc*x][subheightc*y 1] f[2][1]*py[subwidthc*x 1][subheightc*y] f[2][2]*py[subwidthc*x 1][subheightc*y 1] 4)>>3[0601]–如果availl为真,则pdsy[0][y](其中,y=0..ntbh–1)的推导方式如下:[0602]pdsy[0][y]=(f[0][1]*py[–1][subheightc*y] f[0][2]*py[–1][subheightc*y 1] f[1][1]*py[0][subheightc*y] f[1][2]*py[0][subheightc*y 1] f[2][1]*py[1][subheightc*y] f[2][2]*py[1][subheightc*y 1] 4)>>3[0603]–否则,pdsy[0][y](其中,y=0..ntbh–1)的推导方式如下:[0604]pdsy[0][y]=(f[1][1]*py[0][subheightc*y] f[1][2]*py[0][subheightc*y 1] 1)>>1[0605]以上描述中提到的滤波器f[i][j]根据本文提供的实施例进行规定。[0606]下面以vvc草案中的一部分规范的格式详细描述另一个示例性实施例提供的使用线性模型来执行帧内预测(块的跨分量预测)的过程。[0607]8.4.4.2.8帧内预测模式intra_lt_cclm、intra_l_cclm和intra_t_cclm的规范[0608]该过程的输入包括:[0609]–帧内预测模式predmodeintra;[0610]–当前变换块的左上方样本相对于当前图像的左上方样本的样本位置(xtbc,ytbc);[0611]–变量ntbw,表示变换块宽度;[0612]–变量ntbh,表示变换块高度;[0613]–相邻色度样本p[x][y],其中,x=–1,y=0..2*ntbh–1;x=0..2*ntbw–1,y=–1。[0614]该过程的输出为预测样本predsamples[x][y],其中,x=0..ntbw–1,y=0..ntbh–1。[0615]当前亮度位置(xtby,ytby)的推导方式如下:[0616](xtby,ytby)=(xtbc<<(subwidthc–1),ytbc<<(subheightc–1))(8–156)[0617]变量availl、availt和availtl的推导方式如下:[0618]–使用设置为(xtbc,ytbc)的当前色度位置(xcurr,ycurr)和相邻色度位置(xtbc–1,ytbc)作为输入,调用块的左侧相邻样本可用性推导过程,并且将输出赋值给availl。[0619]–使用设置为(xtbc,ytbc)的当前色度位置(xcurr,ycurr)和相邻色度位置(xtbc,ytbc–1)作为输入,调用块的顶部相邻样本可用性推导过程,并且将输出赋值给availt。[0620]–使用设置为(xtbc,ytbc)的当前色度位置(xcurr,ycurr)和相邻色度位置(xtbc–1,ytbc–1)作为输入,调用块的左上方相邻样本可用性推导过程,并且将输出赋值给availtl。[0621]–右上方可用相邻色度样本数量numtopright的推导方式如下:[0622]–将变量numtopright设置为0,并且将availtr设置为真。[0623]–当predmodeintra等于intra_t_cclm时,对于x=ntbw..2*ntbw–1,以下内容适用,除非availtr为假或x等于2*ntbw–1:[0624]–使用设置为(xtbc,ytbc)的当前色度位置(xcurr,ycurr)和相邻色度位置(xtbc,ytbc–1)作为输入,调用块的可用性推导过程,并且将输出赋值给availabletr;[0625]–当availabletr为真时,numtopright加1。[0626]–左下方可用相邻色度样本数量numleftbelow的推导方式如下:[0627]–将变量numleftbelow设置为0,并且将availlb设置为真。[0628]–当predmodeintra等于intra_l_cclm时,对于y=ntbh..2*ntbh–1,以下内容适用,除非availlb为假或y等于2*ntbh–1:[0629]–使用设置为(xtbc,ytbc)的当前色度位置(xcurr,ycurr)和相邻色度位置(xtbc–1,ytbc y)作为输入,调用块的可用性推导过程,并且将输出赋值给availablelb;[0630]–当availablelb为真时,numleftbelow加1。[0631]顶部和右上方可用相邻色度样本数量numtopsamp以及左侧和左下方可用相邻色度样本数量numleftsamp的推导方式如下:[0632]–如果predmodeintra等于intra_planar或intra_dc,则[0633]numsampt=availt?ntbw:0[0634]numsampl=availl?ntbh:0[0635]–否则,[0636]numsampt=(availt&&predmodeintra==intra_t_cclm)?(ntbw numtopright):0[0637]numsampl=(availl&&predmodeintra==intra_l_cclm)?(ntbh numleftbelow):0[0638]变量bctuboundary的推导方式如下:[0639]bctuboundary=(ytbc&(1<<(ctblog2sizey–1)–1)==0)?true:false。[0640]预测样本predsamples[x][y](其中,x=0..ntbw–1,y=0..ntbh–1)的推导方式如下:[0641]–如果numsampl和numsampt都等于0,则[0642]predsamples[x][y]=1<<(bitdepthc–1)[0643]–否则,按顺序执行以下步骤:[0644]1.将并置亮度样本py[x][y](其中,x=0..ntbw*subwidthc–1,y=0..ntbh*subheightc–1)设置为位置(xtby x,ytby y)上的进行去块效应滤波过程之前的重建亮度样本。[0645]2.相邻亮度样本py[x][y]的推导方式如下:[0646]–当numsampl大于0时,将左侧相邻亮度样本py[x][y](其中,x=–1..–3,y=0..subheightc*numsampl–1)设置为位置(xtby x,ytby y)上的进行去块效应滤波过程之前的重建亮度样本。[0647]–当numsampt大于0时,将顶部相邻亮度样本py[x][y](其中,x=0..subwidthc*numsampt–1,y=–1、–2)设置为位置(xtby x,ytby y)上的进行去块效应滤波过程之前的重建亮度样本。[0648]–当availtl为真时,将左上方相邻亮度样本py[x][y](其中,x=–1,y=–1、–2)设置为位置(xtby x,ytby y)上的进行去块效应滤波过程之前的重建亮度样本。[0649]3.下采样后的并置亮度样本pdsy[x][y](其中,x=0..ntbw–1,y=0..ntbh–1)的推导方式如下:[0650]–如果subwidthc==1且subheightc==1,则[0651]–pdsy[x][y](其中,x=1..ntbw–1,y=1..ntbh–1)的推导方式如下:pdsty[x][y]=py[x][y][0652]//解释性注释:不需要进行下采样,即使用4:4:4格式(如果subwidthc和subheightc都等于1)时不执行滤波,也可以解释为具有系数[1]的滤波器,即旁路滤波器//[0653]–否则,以下内容适用于滤波器集合{f3,f5,f6}。//解释性注释:这里定义使用4:2:0或4:2:2格式(如果subwidthc和subheightc都不等于1)时的滤波器的系数,f2属于第一和第二下采样滤波器集合//f3[0]=1,f3[1]=2,f3[2]=1[0654]–如果subwidthc==2且subheightc==2,则[0655]f5[0][1]=1,f5[1][1]=4,f3[2][1]=1,f5[1][0]=1,f5[1][2]=1,[0656]f6[0][1]=1,f6[1][1]=2,f6[2][1]=1,[0657]f6[0][2]=1,f6[1][2]=2,f6[2][2]=1,[0658]f2[0]=1,f2[1]=1;[0659]–否则,[0660]f5[0][1]=0,f5[1][1]=8,f3[2][1]=0,f5[1][0]=0,f5[1][2]=0,[0661]f6[0][1]=2,f6[1][1]=4,f6[2][1]=2,[0662]f6[0][2]=0,f6[1][2]=0,f6[2][2]=0,[0663]f2[0]=2,f2[1]=0。[0664]–如果sps_cclm_colocated_chroma_flag等于1,则[0665]–通过将f设置为f5,pdsy[x][y](其中,x=1..ntbw–1,y=1..ntbh–1)的推导方式如下:[0666]pdsy[x][y]=(f[1][0]*py[subwidthc*x][subheightc*y–1] f[0][1]*py[subwidthc*x–1][subheightc*y] f[1][1]*py[subwidthc*x][subheightc*y] f[2][1]*py[subwidthc*x 1][subheightc*y] f[1][2]*py[subwidthc*x][subheightc*y 1] 4)>>3[0667]//解释性注释:f5与请求保护的第一下采样滤波器对应//[0668]//[0669]–如果availl为真,则当f设置为f5时,pdsy[0][y](其中,y=1..ntbh–1)的推导方式如下:[0670]pdsy[0][y]=(f[1][0]*py[0][subheightc*y–1] f[0][1]*py[–1][subheightc*y] f[1][1]*py[0][subheightc*y] f[2][1]*py[1][subheightc*y] f[1][2]*py[0][subheightc*y 1] 4)>>3[0671]–否则,当f设置为f3时,pdsy[0][y](其中,y=1..ntbh–1)的推导方式如下:[0672]pdsy[0][y]=(f[0]*py[0][subheightc*y–1] f[1]*py[0][subheightc*y] f[2]*py[0][subheightc*y 1] 2)>>2[0673]–如果availt为真,则当f设置为f5时,pdsy[x][0](其中,x=1..ntbw–1)的推导方式如下:[0674]pdsy[x][0]=(f[1][0]*py[subwidthc*x][–1] f[0][1]*py[subwidthc*x–1][0] f[1][1]*py[subwidthc*x][0] f[2][1]*py[subwidthc*x 1][0] f[1][2]*py[subwidthc*x][1] 4)>>3[0675]–否则,当f设置为f3时,pdsy[x][0](其中,x=1..ntbw–1)的推导方式如下:[0676]pdsy[x][0]=(f[0]*py[subwidthc*x–1][0] f[1]*py[subwidthc*x][0] f[2]*py[subwidthc*x 1][0] 2)>>2[0677]–如果availl为真且availt为真,则当f设置为f5时,pdsy[0][0]的推导方式如下:[0678]pdsy[0][0]=(f[1][0]*py[0][–1] f[0][1]*py[–1][0] f[1][1]*py[0][0] f[2][1]*py[1][0] f[1][2]*py[0][1] 4)>>3[0679]–否则,如果availl为真且availt为假,则当f设置为f3时,pdsy[0][0]的推导方式如下:[0680]pdsy[0][0]=(f[0]*py[–1][0] f[1]*py[0][0] f[2]*py[1][0] 2)>>2[0681]–否则,如果availl为假且availt为真,则当f设置为f3时,pdsy[0][0]的推导方式如下:[0682]pdsy[0][0]=(f[0]*py[0][–1] f[1]*py[0][0] f[2]*py[0][1] 2)>>2[0683]–否则(availl为假且availt为假),pdsy[0][0]的推导方式如下:pdsy[0][0]=py[0][0][0684]–否则,[0685]–当f设置为f6时,dsy[x][y](其中,x=1..ntbw–1,y=0..ntbh–[0686]1)的推导方式如下:[0687]pdsy[x][y]=(f[0][1]*py[subwidthc*x–1][subheightc*y] f[0][2]*py[subwidthc*x–1][subheightc*y 1] f[1][1]*py[subwidthc*x][subheightc*y] f[1][2]*py[subwidthc*x][subheightc*y 1] f[2][1]*py[subwidthc*x 1][subheightc*y] f[2][2]*py[subwidthc*x 1][subheightc*y 1] 4)>>3[0688]–如果availl为真,则当f设置为f6时,pdsy[0][y](其中,y=0..ntbh–1)的推导方式如下:[0689]pdsy[0][y]=(f[0][1]*py[–1][subheightc*y] f[0][2]*py[–1][subheightc*y 1] f[1][1]*py[0][subheightc*y] f[1][2]*py[0][subheightc*y 1] f[2][1]*py[1][subheightc*y] f[2][2]*py[1][subheightc*y 1] 4)>>3[0690]–否则,当f设置为f2时,pdsy[0][y](其中,y=0..tbh–1)的推导方式如下:[0691]pdsy[0][y]=(f[0]*py[0][subheightc*y] f[1]*py[0][subheightc*y 1] 1)>>1[0692]//步骤3为使用各个下采样滤波器来获取所述当前块的亮度块中的重建亮度样本的下采样后亮度样本的一种实现方式。//[0693]4.当numsampl大于0时,下采样后的左侧相邻亮度样本pleftdsy[y](其中,y=0..numsampl–1)的推导方式如下:[0694]–如果subwidthc==1且subheightc==1,则[0695]–pleftdsy[y](其中,y=0..ntbh–1)的推导方式如下:[0696]pleftdsy[y]=py[–1][y][0697]–否则,[0698]–如果sps_cclm_colocated_chroma_flag等于1,则[0699]–当f设置为f5时,pleftdsy[y](其中,y=1..ntbh1)的推导方式如下:[0700]pleftdsy[y]=f[1][0]*py[–subwidthc][subheightc*y–1] f[0][1]*py[–1–subwidthc][subheightc*y] f[1][1]*py[–subwidthc][subheightc*y] f[2][1]*py[1–subwidthc][subheightc*y] f[1][2]*py[–subwidthc][subheightc*y 1] 4)>>3[0701]–如果availtl为真,则当f设置为f5时,pleftdsy[0]的推导方式如下:[0702]pleftdsy[0]==f[1][0]*py[–subwidthc][–1] f[0][1]*py[–1–subwidthc][0] f[1][1]*py[–subwidthc][0] f[2][1]*py[1–subwidthc][0] f[1][2]*py[–subwidthc][1] 4)>>3[0703]–否则,当f设置为f3时,pdsy[x][0](其中,x=1..ntbw–1)的推导方式如下:[0704]pleftdsy[0]=(f[0]*py[–1–subwidthc][0] f[1]*py[–subwidthc][0] f[2]*py[1–subwidthc][0] 2)>>2[0705]–否则,当f设置为f6时,[0706]pleftdsy[y]=(f[0][1]*py[–1–subwidthc][subheightc*y] f[0][2]*py[–1–subwidthc][subheightc*y 1] f[1][1]*py[–subwidthc][subheightc*y] f[1][2]*py[–subwidthc][subheightc*y 1] f[2][1]*py[1–subwidthc][subheightc*y] f[2][2]*py[1–subwidthc][subheightc*y 1] 4)>>3[0707]//解释性注释:步骤4和步骤5为使用各个下采样滤波器来获取所述亮度块的选定相邻亮度样本的下采样后亮度参考样本的一种实现方式。//[0708]5.当numsampl大于0时,下采样后的顶部相邻亮度样本ptopdsy[x](其中,x=0..numsampt–1)规定如下:[0709]–如果subwidthc==1且subheightc==1,则[0710]–ptopdsy[x]=py[x][–1],其中,x=0..numsampt–1[0711]–否则,[0712]–如果sps_cclm_colocated_chroma_flag等于1,则[0713]–ptopdsy[x](其中,x=1..numsampt–1)的推导方式如下:[0714]–如果bctuboundary为假,则当f设置为f5时,[0715]ptopdsy[x]=(f[1][0]*py[subwidthc*x][–1–subheightc] f[0][1]*py[subwidthc*x–1][–subheightc] f[1][1]*py[subwidthc*x][–subheightc] f[2][1]*py[subwidthc*x 1][–subheightc] f[1][2]*py[subwidthc*x][1–subheightc] 4)>>3[0716]–否则(bctuboundary为真),当f设置为f3时,[0717]ptopdsy[x]=(f[0]*py[subwidthc*x–1][–1] f[1]*py[subwidthc*x][–1] f[2]*py[subwidthc*x 1][–1] 2)>>2[0718]–ptopdsy[0]的推导方式如下:[0719]–如果availtl为真且bctuboundary为假,则当f设置为f5时,[0720]ptopdsy[0]==f[1][0]*py[–1][–1–subheightc] f[0][1]*py[–1][–subheightc] f[1][1]*py[0][–subheightc] f[2][1]*py[1][–subheightc] f[1][2]py[–1][1–subheightc] 4)>>3[0721]–否则,如果availtl为真且bctuboundary为真,则当f设置为f3的时,[0722]ptopdsy[0]=(f[0]*py[–1][–1] f[1]*py[0][–1] f[2]*py[1][–1] 2)>>2[0723]–否则,如果availtl为假且bctuboundary为假,则当f设置为f3时,[0724]ptopdsy[0]=(f[0]*py[0][–1] f[1]*py[0][–2] f[2]*py[0][–1] 2)>>2[0725]–否则(availtl为假且bctuboundary为真),则[0726]ptopdsy[0]=py[0][–1][0727]–否则,[0728]–ptopdsy[x](其中,x=1..numsampt–1)的推导方式如下:[0729]–如果bctuboundary为假,则当f设置为f6时,[0730]ptopdsy[x]=(f[0][1]*py[subwidthc*x–1][–2] f[0][2]*py[subwidthc*x–1][–1] f[1][1]*py[subwidthc*x][–2] f[1][2]*py[subwidthc*x][–1] f[2][1]*py[subwidthc*x 1][–2] f[2][2]*py[subwidthc*x 1][–1] 4)>>3[0731]–否则(bctuboundary为真),当f设置为f3时,[0732]ptopdsy[x]=(f[0]*py[subwidthc*y–1][–1] f[1]*py[subwidthc*y][–1] f[2]*py[subwidthc*y 1][–1] 2)>>2[0733]–ptopdsy[0]的推导方式如下:[0734]–如果availtl为真且bctuboundary为假,则当f设置为f6时,[0735]ptopdsy[0]=(f[0][1]*py[–1][–2] f[0][2]*py[–1][–1] f[1][1]*py[0][–2] f[1][2]*py[0][–1] f[2][1]*py[1][–2] f[2][2]*py[1][–1] 4)>>3[0736]–否则,如果availtl为真且bctuboundary为真,则当f设置为f3的时,[0737]ptopdsy[0]=(f[0]*py[–1][–1] f[1]*py[0][–1] f[2]*py[1][–1] 2)>>2[0738]–否则,如果availtl为假且bctuboundary为假,则当f设置为f2时,[0739]ptopdsy[0]=(f[1]*py[0][–2] f[0]*py[0][–1] 1)>>1[0740]–否则(availtl为假且bctuboundary为真),则[0741]ptopdsy[0]=py[0][–1][0742]//解释性注释:步骤4和步骤5为使用各个下采样滤波器来获取所述亮度块的选定相邻亮度样本的下采样后亮度参考样本的一种实现方式。//[0743]6.变量ns、xs和ys的推导方式如下:[0744]–如果predmodeintra等于intra_planar或intra_dc,则[0745]ns=((availl&&availt)?min(ntbw,ntbh):(availl?ntbh:ntbw))[0746]xs=1<<(((ntbw>ntbh)&&availl&&availt)?(log2(ntbw)–log2(ntbh)):0)ꢀꢀꢀ(8‑192)[0747]ys=1<<(((ntbh>ntbw)&&availl&&availt)?(log2(ntbh)–log2(ntbw)):0)ꢀꢀꢀ(8‑193)[0748]–如果predmodeintra等于intra_planar或intra_dc,则[0749]ns=numsampl[0750]xs=1[0751]ys=1[0752]–否则(predmodeintra等于intra_t_cclm),[0753]ns=numsampt[0754]xs=1[0755]ys=1[0756]7.变量miny、maxy、minc和maxc的推导方式如下:[0757]–将变量miny设置为1<<(bitdepthy) 1,并且将变量maxy设置为–1。[0758]–如果availt为真,则变量miny、maxy、minc和maxc(其中,x=0..ns–[0759]1)的推导方式如下:[0760]–如果miny大于ptopdsy[x*xs],则[0761]miny=ptopdsy[x*xs][0762]minc=p[x*xs][–1][0763]–如果maxy小于ptopdsy[x*xs],则[0764]maxy=ptopdsy[x*xs][0765]maxc=p[x*xs][–1][0766]–如果availl为真,则变量miny、maxy、minc和maxc(其中,y=0..ns–[0767]1)的推导方式如下:[0768]–如果miny大于pleftdsy[y*ys],则[0769]miny=pleftdsy[y*ys][0770]minc=p[–1][y*ys][0771]–如果maxy小于pleftdsy[y*ys],则[0772]maxy=pleftdsy[y*ys][0773]maxc=p[–1][y*ys][0774]8.变量a、b和k的推导方式如下:[0775]–如果numsampl等于0且numsampt等于0,则[0776]k=0[0777]a=0[0778]b=1<<(bitdepthc–1)[0779]–否则,[0780]diff=maxy–miny[0781]–如果dif不等于0,则[0782]diffc=maxc–minc[0783]x=floor(log2(diff))[0784]normdiff=((diff<<4)>>x)&15[0785]x =(normdiff!=0)?1:0[0786]y=floor(log2(abs(diffc))) 1[0787]a=(diffc*(divsigtable[normdiff]|8) 2y–1)>>y[0788]k=((3 x–y)<1)?1:3 x–y[0789]a=((3 x–y)<1)?sign(a)*15:a[0790]b=minc–((a*miny)>>k)[0791]其中,divsigtable[]规定如下:[0792]divsigtable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0}[0793]–否则(diff等于0),[0794]k=0[0795]a=0[0796]b=minc[0797]//解释性注释:步骤6至步骤8为根据所述选定相邻亮度样本的下采样后亮度参考样本和与所述下采样亮度参考样本对应的色度参考样本,确定一个或多个线性模型系数的一种实现方式;具体地,根据miny、maxy、minc和maxc确定线性模型系数。//[0798]9.预测样本predsamples[x][y](其中,x=0..ntbw–1,y=0..ntbh–1)的推导方式如下:[0799]predsamples[x][y]=clip1c(((pdsy[x][y]*a)>>k) b)[0800]//解释性注释:步骤9为根据所述一个或多个线性模型系数和所述亮度块中的重建亮度样本的下采样亮度样本,获取与所述亮度块对应的色度块的预测样本的一种实现方式。//[0801]需要说明的是,在本发明中,对于滤波器集合{f2,f3,f5,f6},“f”后面的1位数字是表示滤波器集合内不同滤波器的索引。滤波器由一个或多个滤波器系数来定义,这些滤波器系数将应用于对应的样本。例如,如果f3中要应用于的对应样本的一个或多个下采样滤波器系数与f2中要应用于对应样本的一个或多个下采样滤波器系数相同,则可以理解的是,f3和f2是相同的滤波器。例如,如果f3[0]=1,f3[1]=2,f3[2]=1,并且f2[0]=1,f2[1]=2,f2[2]=1,则f3=f2。[0802]例如,如果f5中要应用于对应样本的一个或多个下采样滤波器系数与f5中要应用于对应样本的一个或多个下采样滤波器系数不同,则可以理解的是,即使f5和f5的名称相同,f5和f5也是不同的滤波器。例如,如果f5[0][1]=1,f5[1][1]=4,f5[2][1]=1,f5[1][0]=1,f5[1][2]=1,并且f5[0][1]=0,f5[1][1]=8,f5[2][1]=0,f5[1][0]=0,f5[1][2]=0,则f5≠f5。[0803]需要说明的是,存在具有系数[1]的滤波器,即本发明中的旁路滤波器、1d不可分离滤波器(f[i])和2d不可分离滤波器(f[i][j])。[0804]另一个实施例描述了使用最多四个相邻色度样本及其对应的下采样后亮度样本来推导cclm参数的方法。[0805]假设当前色度块的尺寸为w×h,则w'和h'根据以下情况进行设置:[0806]·当使用lm模式(所述lm模式使用顶部和左侧模板)时,w'=w,h'=h;[0807]·当使用lm‑a模式(所述lm‑a模式只使用顶部模板)时,w'=w h;[0808]·当使用lm‑l模式(所述lm‑l模式只使用左侧模板)时,h'=h w。[0809]上方相邻样本(即当前块上方的相邻色度样本)表示为s[0,–1]…s[w'–1,–1],左侧相邻样本(即当前块左侧的相邻色度样本)表示为s[–1,0]…s[–1,h'–1]。这里,s[x,y]表示位置(x,y)上的样本。(x,y)相对于当前块的左上方样本进行测量(即,块的左上方样本标记为(0,0))。然后,用于推导cclm参数的四个相邻色度样本可以根据以下情况进行表示(相应地,选定相邻亮度样本的四个下采样后相邻亮度样本的位置进行表示):[0810]·当使用lm模式且上方和左侧相邻样本都可用时,这四个相邻色度样本可以表示为s[w'/4,–1]、s[3w'/4,–1]、s[–1,h'/4]和s[–1,3h'/4];[0811]·当使用lm‑a模式或只有上方相邻样本可用时,这四个相邻色度样本可以表示为s[w'/8,–1]、s[3w'/8,–1]、s[5w'/8,–1]和s[7w'/8,–1];或者[0812]·当使用lm‑l模式或只有左侧相邻样本可用时,这四个相邻色度样本可以表示为s[–1,h'/8]、s[–1,3h'/8]、s[–1,5h'/8]和s[–1,7h'/8]。[0813]这四个下采样后相邻亮度样本都是通过将各个下采样滤波器应用于选定相邻亮度样本的一部分或全部获取的。将与上述选择的四个相邻色度样本对应的四个下采样后相邻亮度样本进行四次比较,得到两个较小值x0a和x1a以及两个较大值x0b和x1b,其中,x0b和x1b分别大于x0a和x1a。它们对应的色度样本值表示为y0a、y1a、y0b和y1b。此时,xa、xb、ya和yb推导为:[0814]xa=(x0a x1a 1)>>1;xb=(x0b x1b 1)>>1;ya=(y0a y1a 1)>>1;yb=(y0b y1b 1)>>1。[0815]下面以vvc草案的一部分规范的格式详细描述本文另一个示例性实施例提供的使用线性模型来执行帧内预测(块的跨分量预测)的过程(下面第8.4.4.2.8节的版本不同于上面第8.4.4.2.8节的版本)。[0816]8.4.4.2.8帧内预测模式intra_lt_cclm、intra_l_cclm和intra_t_cclm的规范[0817]该过程的输入包括:[0818]–帧内预测模式predmodeintra;[0819]–当前变换块的左上方样本相对于当前图像的左上方样本的样本位置(xtbc,ytbc);[0820]–变量ntbw,表示变换块宽度;[0821]–变量ntbh,表示变换块高度;[0822]–相邻色度样本p[x][y],其中,x=–1,y=0..2*ntbh–1;x=0..2*ntbw–1,y=–1。[0823]该过程的输出为预测样本predsamples[x][y],其中,x=0..ntbw–1,y=0..ntbh–1。[0824]当前亮度位置(xtby,ytby)的推导方式如下:[0825](xtby,ytby)=(xtbc<<(subwidthc–1),ytbc<<(subheightc–1))[0826]变量availl、availt和availtl的推导方式如下:[0827]–使用设置为(xtbc,ytbc)的当前色度位置(xcurr,ycurr)和相邻色度位置(xtbc–1,ytbc)作为输入,调用块的左侧相邻样本可用性推导过程,并且将输出赋值给availl。[0828]–使用设置为(xtbc,ytbc)的当前色度位置(xcurr,ycurr)和相邻色度位置(xtbc,ytbc–1)作为输入,调用块的顶部相邻样本可用性推导过程,并且将输出赋值给availt。[0829]–使用设置为(xtbc,ytbc)的当前色度位置(xcurr,ycurr)和相邻色度位置(xtbc–1,ytbc–1)作为输入,调用块的左上方相邻样本可用性推导过程,并且将输出赋值给availtl。[0830]–右上方可用相邻色度样本数量numtopright的推导方式如下:[0831]–将变量numtopright设置为0,并且将availtr设置为真。[0832]–当predmodeintra等于intra_t_cclm时,对于x=ntbw..2*ntbw–1,以下内容适用,除非availtr为假或x等于2*ntbw–1:[0833]–使用设置为(xtbc,ytbc)的当前色度位置(xcurr,ycurr)和相邻色度位置(xtbc,ytbc–1)作为输入,调用块的可用性推导过程,并且将输出赋值给availabletr;[0834]–当availabletr为真时,numtopright加1。[0835]–左下方可用相邻色度样本数量numleftbelow的推导方式如下:[0836]–将变量numleftbelow设置为0,并且将availlb设置为真。[0837]–当predmodeintra等于intra_l_cclm时,对于y=ntbh..2*ntbh–1,以下内容适用,除非availlb为假或y等于2*ntbh–1:[0838]–使用设置为(xtbc,ytbc)的当前色度位置(xcurr,ycurr)和相邻色度位置(xtbc–1,ytbc y)作为输入,调用块的可用性推导过程,并且将输出赋值给availablelb;[0839]–当availablelb为真时,numleftbelow加1。[0840]顶部和右上方可用相邻色度样本数量numtopsamp以及左侧和左下方可用相邻色度样本数量numleftsamp的推导方式如下:[0841]–如果predmodeintra等于intra_planar或intra_dc,则[0842]numsampt=availt?ntbw:0[0843]numsampl=availl?ntbh:0[0844]–否则,[0845]numsampt=(availt&&predmodeintra==intra_t_cclm)?(ntbw min(numtopright,ntbh)):0[0846]numsampl=(availl&&predmodeintra==intra_l_cclm)?(ntbh min(numleftbelow,ntbw)):0[0847]变量bctuboundary的推导方式如下:[0848]bctuboundary=(ytbc&(1<<(ctblog2sizey–1)–1)==0)?true:false。[0849]变量cntn和阵列pickposn[](其中,n由l和t代替)的推导方式如下:[0850]–将变量numis4n设置为((availt&&availl&&predmodeintra==intra_lt_cclm)?0:1)。[0851]–将变量startposn设置为numsampn>>(2 numis4n)。[0852]–将变量pickstepn设置为max(1,numsampn>>(1 numis4n))。[0853]–如果availn为假且predmodeintra等于intra_lt_cclm或intra_n_cclm,则将cntn设置为min(numsampn,(1 numis4n)<<1),并且将pickposn[pos]设置为(startposn pos*pickstepn),其中,pos=0..(cntn–1)。[0854]–否则,将cntn设置为0。[0855]预测样本predsamples[x][y](其中,x=0..ntbw–1,y=0..ntbh–1)的推导方式如下:[0856]–如果numsampl和numsampt都等于0,则[0857]predsamples[x][y]=1<<(bitdepthc–1)[0858]–否则,按顺序执行以下步骤:[0859]1.将并置亮度样本py[x][y](其中,x=0..ntbw*subwidthc–1,y=0..ntbh*subheightc–1)设置为位置(xtby x,ytby y)上的进行去块效应滤波过程之前的重建亮度样本。[0860]2.相邻亮度样本py[x][y]的推导方式如下:[0861]–当numsampl大于0时,将左侧相邻亮度样本py[x][y](其中,x=–1..–3,y=0..subheightc*numsampl–1)设置为位置(xtby x,ytby y)上的进行去块效应滤波过程之前的重建亮度样本。[0862]–当numsampt大于0时,将顶部相邻亮度样本py[x][y](其中,x=0..subwidthc*numsampt–1,y=–1、–2)设置为位置(xtby x,ytby y)上的进行去块效应滤波过程之前的重建亮度样本。[0863]–当availtl为真时,将左上方相邻亮度样本py[x][y](其中,x=–1,y=–1、–2)设置为位置(xtby x,ytby y)上的进行去块效应滤波过程之前的重建亮度样本。[0864]3.下采样后的并置亮度样本pdsy[x][y](其中,x=0..ntbw–1,y=0..ntbh–1)的推导方式如下:[0865]–如果subwidthc==1且subheightc==1,则[0866]–pdsy[x][y](其中,x=1..ntbw–1,y=1..ntbh–1)的推导方式如下:pdsty[x][y]=py[x][y][0867]//解释性注释:仅用于说明:yuv4:4:4格式不需要下采样,不需要下采样,即使用4:4:4格式(如果subwidthc和subheightc都等于1)时不执行滤波,也可以解释为具有系数[1]的滤波器,即旁路滤波器//[0868]–否则,以下内容适用于滤波器集合{f3,f5,f6}。//解释性注释:这里定义使用4:2:0或4:2:2格式(如果subwidthc和subheightc都不等于1)时的滤波器的系数,f2属于第一和第二下采样滤波器集合//[0869]f3[0]=1,f3[1]=2,f3[2]=1;[0870]–如果subwidthc==2且subheightc==2,则[0871]f5[0][1]=1,f5[1][1]=4,f3[2][1]=1,f5[1][0]=1,f5[1][2]=1,[0872]f6[0][1]=1,f6[1][1]=2,f6[2][1]=1;[0873]f6[0][2]=1,f6[1][2]=2,f6[2][2]=1;[0874]f2[0]=1,f2[1]=1;[0875]–否则,[0876]f5[0][1]=0,f5[1][1]=8,f3[2][1]=0,f5[1][0]=0,f5[1][2]=0,[0877]f6[0][1]=2,f6[1][1]=4,f6[2][1]=2,[0878]f6[0][2]=0,f6[1][2]=0,f6[2][2]=0,[0879]f2[0]=2,f2[1]=0。[0880]–如果sps_cclm_colocated_chroma_flag等于1,则[0881]–通过将f设置为f5,pdsy[x][y](其中,x=1..ntbw–1,y=1..ntbh–1)的推导方式如下:[0882]pdsy[x][y]=(f[1][0]*py[subwidthc*x][subheightc*y–1] f[0][1]*py[subwidthc*x–1][subheightc*y] f[1][1]*py[subwidthc*x][subheightc*y] f[2][1]*py[subwidthc*x 1][subheightc*y] f[1][2]*py[subwidthc*x][subheightc*y 1] 4)>>3//解释性注释:f5与请求保护的第一下采样滤波器对应//[0883]–如果availl为真,则当f设置为f5时,pdsy[0][y](其中,y=1..ntbh–1)的推导方式如下:[0884]pdsy[0][y]=(f[1][0]*py[0][subheightc*y–1] f[0][1]*py[–1][subheightc*y] f[1][1]*py[0][subheightc*y] f[2][1]*py[1][subheightc*y] f[1][2]*py[0][subheightc*y 1] 4)>>3[0885]–否则,当f设置为f3时,pdsy[0][y](其中,y=1..ntbh–1)的推导方式如下:[0886]pdsy[0][y]=(f[0]*py[0][subheightc*y–1] f[1]*py[0][subheightc*y] f[2]*py[0][subheightc*y 1] 2)>>2[0887]–如果availt为真,则当f设置为f5时,pdsy[x][0](其中,x=1..ntbw–1)的推导方式如下:[0888]pdsy[x][0]=(f[1][0]*py[subwidthc*x][–1] f[0][1]*py[subwidthc*x–1][0] f[1][1]*py[subwidthc*x][0] f[2][1]*py[subwidthc*x 1][0] f[1][2]*py[subwidthc*x][1] 4)>>3[0889]–否则,当f设置为f3时,pdsy[x][0](其中,x=1..ntbw–1)的推导方式如下:[0890]pdsy[x][0]=(f[0]*py[subwidthc*x–1][0] f[1]*py[subwidthc*x][0] f[2]*py[subwidthc*x 1][0] 2)>>2[0891]–如果availl为真且availt为真,则当f设置为f5时,pdsy[0][0]的推导方式如下:[0892]pdsy[0][0]=(f[1][0]*py[0][–1] f[0][1]*py[–1][0] f[1][1]*py[0][0] f[2][1]*py[1][0] f[1][2]*py[0][1] 4)>>3[0893]–否则,如果availl为真且availt为假,则当f设置为f3时,pdsy[0][0]的推导方式如下:[0894]pdsy[0][0]=(f[0]*py[–1][0] f[1]*py[0][0] f[2]*py[1][0] 2)>>2[0895]–否则,如果availl为假且availt为真,则当f设置为f3时,pdsy[0][0]的推导方式如下:[0896]pdsy[0][0]=(f[0]*py[0][–1] f[1]*py[0][0] f[2]*py[0][1] 2)>>2[0897]–否则(availl为假且availt为假),pdsy[0][0]的推导方式如下:pdsy[0][0]=py[0][0][0898]–否则,[0899]–当f设置为f6时,dsy[x][y](其中,x=1..ntbw–1,y=0..ntbh–1)的推导方式如下:[0900]pdsy[x][y]=(f[0][1]*py[subwidthc*x–1][subheightc*y] f[0][2]*py[subwidthc*x–1][subheightc*y 1] f[1][1]*py[subwidthc*x][subheightc*y] f[1][2]*py[subwidthc*x][subheightc*y 1] f[2][1]*py[subwidthc*x 1][subheightc*y] f[2][2]*py[subwidthc*x 1][subheightc*y 1] 4)>>3[0901]–如果availl为真,则当f设置为f6时,pdsy[0][y](其中,y=0..ntbh–1)的推导方式如下:[0902]pdsy[0][y]=(f[0][1]*py[–1][subheightc*y] f[0][2]*py[–1][subheightc*y 1] f[1][1]*py[0][subheightc*y] f[1][2]*py[0][subheightc*y 1] f[2][1]*py[1][subheightc*y] f[2][2]*py[1][subheightc*y 1] 4)>>3[0903]–否则,当f设置为f2时,pdsy[0][y](其中,y=0..tbh–1)的推导方式如下:[0904]pdsy[0][y]=(f[0]*py[0][subheightc*y] f[1]*py[0][subheightc*y 1] 1)>>1[0905]//步骤3为使用各个下采样滤波器来获取所述当前块的亮度块中的重建亮度样本的下采样亮度样本的一种实现方式。//[0906]4.当numsampl大于0时,将选定左侧相邻色度样本pselc[idx]设置为[0907]p[–1][pickposl[idx]](其中idx=0…(cntl–1),),并且选定下采样后左侧相邻亮度样本pseldsy[idx](其中,idx=0…(cntl–1))的推导方式如下:[0908]–将变量y设置为pickposl[idx]。[0909]–如果subwidthc==1且subheightc==1,则[0910]–pseldsy[i]=py[–1][y];[0911]–否则,[0912]–如果sps_cclm_colocated_chroma_flag等于1,则[0913]–如果y>0||availtl==true,则当f设置为f5时,[0914]pseldsy[idx]==f[1][0]*py[–subwidthc][subheightc*y–1] f[0][1]*py[–1–subwidthc][subheightc*y] f[1][1]*py[–subwidthc][subheightc*y] f[2][1]*py[1–subwidthc][subheightc*y] f[1][2]*py[–subwidthc][subheightc*y 1] 4)>>3[0915]–否则,当f设置为f3时,[0916]pseldsy[idx]=(f[0]*py[–1–subwidthc][0] f[1]*py[–subwidthc][0] f[2]*py[1–subwidthc][0] 2)>>2[0917]–否则,当f设置为f6时,[0918]pseldsy[idx]=(f[0][1]*py[–1–subwidthc][subheightc*y] f[0][2]*py[–1–subwidthc][subheightc*y 1] f[1][1]*py[–subwidthc][subheightc*y] f[1][2]*py[–subwidthc][subheightc*y 1] f[2][1]*py[1–subwidthc][subheightc*y] f[2][2]*py[1–subwidthc][subheightc*y 1] 4)>>3[0919]//解释性注释:步骤4和步骤5为使用各个下采样滤波器来获取所述亮度块的选定相邻亮度样本的下采样后亮度参考样本的一种实现方式。//[0920]5.当numsampt大于0时,将选定顶部相邻色度样本pselc[idx]设置为p[pickpost[idx–cntl]][–1](其中,idx=cntl..(cntl cntt–1)),并且下采样后顶部相邻亮度样本pseldsy[idx](其中,idx=cntl…cntl cntt–1)规定如下:[0921]–将变量x设置为pickpost[idx–cntl]。[0922]–如果subwidthc==1且subheightc==1,则[0923]–pseldsy[idx]=py[x][–1][0924]–否则,[0925]–如果sps_cclm_colocated_chroma_flag等于1,则[0926]–如果x>0,则[0927]–如果bctuboundary为假,则当f设置为f5时,[0928]pseldsy[idx]=(f[1][0]*py[subwidthc*x][–1–subheightc] f[0][1]*py[subwidthc*x–1][–subheightc] f[1][1]*py[subwidthc*x][–subheightc] f[2][1]*py[subwidthc*x 1][–subheightc] f[1][2]*py[subwidthc*x][1–subheightc] 4)>>3[0929]–否则(bctuboundary为真),当f设置为f3时,[0930]pseldsy[idx]=(f[0]*py[subwidthc*x–1][–1] f[1]*py[subwidthc*x][–1] f[2]*py[subwidthc*x 1][–1] 2)>>2[0931]–否则,[0932]–如果availtl为真且bctuboundary为假,则当f设置为f5时,[0933]pseldsy[idx]=f[1][0]*py[–1][–1–subheightc] f[0][1]*py[–1][–subheightc] f[1][1]*py[0][–subheightc] f[2][1]*py[1][–subheightc] f[1][2]py[–1][1–subheightc] 4)>>3[0934]–否则,如果availtl为真且bctuboundary为真,则当f设置为f3的时,[0935]pseldsy[idx]=(f[0]*py[–1][–1] f[1]*py[0][–1] f[2]*py[1][–1] 2)>>2ꢀꢀꢀ(8‑182)[0936]–否则,如果availtl为假且bctuboundary为假,则当f设置为f3时,[0937]pseldsy[idx]=(f[0]*py[0][–1] f[1]*py[0][–2] f[2]*py[0][–1] 2)>>2[0938]–否则(availtl为假且bctuboundary为真),则pseldsy[idx]=py[0][–1][0939]–否则,[0940]–如果x>0,则[0941]–如果bctuboundary为假,则当f设置为f6时,[0942]pseldsy[idx]=(f[0][1]*py[subwidthc*x–1][–2] f[0][2]*py[subwidthc*x–1][–1] f[1][1]*py[subwidthc*x][–2] f[1][2]*py[subwidthc*x][–1] f[2][1]*py[subwidthc*x 1][–2] f[2][2]*py[subwidthc*x 1][–1] 4)>>3[0943]–否则(bctuboundary为真),当f设置为f3时,[0944]pseldsy[idx]=(f[0]*py[subwidthc*y–1][–1] f[1]*py[subwidthc*y][–1] f[2]*py[subwidthc*y 1][–1] 2)>>2[0945]–否则,[0946]–如果availtl为真且bctuboundary为假,则当f设置为f6时,[0947]pseldsy[idx]=(f[0][1]*py[–1][–2] f[0][2]*py[–1][–1] f[1][1]*py[0][–2] f[1][2]*py[0][–1] f[2][1]*py[1][–2] f[2][2]*py[1][–1] 4)>>3[0948]–否则,如果availtl为真且bctuboundary为真,则当f设置为f3的时,[0949]pseldsy[idx]=(f[0]*py[–1][–1] f[1]*py[0][–1] f[2]*py[1][–1] 2)>>2[0950]–否则,如果availtl为假且bctuboundary为假,则当f设置为f2时,[0951]pseldsy[idx]=(f[1]*py[0][–2] f[0]*py[0][–1] 1)>>1[0952]–否则(availtl为假且bctuboundary为真),则pseldsy[idx]=py[0][–1][0953]//解释性注释:步骤4和步骤5为使用各个下采样滤波器来获取所述亮度块的选定相邻亮度样本的下采样后亮度参考样本的一种实现方式。//[0954]6.当cntt cntl不等于0时,miny、maxy、minc、maxc的推导方式如下:[0955]–当cntt cntl等于2时,将pselcomp[3]设置为pselcomp[0],将pselcomp[2]设置为pselcomp[1],将pselcomp[0]设置为pselcomp[1],将pselcomp[1]设置为pselcomp[3],其中,comp由dsy和c代替。[0956]–将阵列mingrpidx[]和maxgrpidx[]设置如下:mingrpidx[0]=0,mingrpidx[1]=2,maxgrpidx[0]=1,maxgrpidx[1]=3。[0957]–如果pseldsy[mingrpidx[0]]>pseldsy[mingrpidx[1]],则swap(mingrpidx[0],mingrpidx[1])。[0958]–如果pseldsy[maxgrpidx[0]]>pseldsy[maxgrpidx[1]],则swap(maxgrpidx[0],maxgrpidx[1])。[0959]–如果pseldsy[mingrpidx[0]]>pseldsy[maxgrpidx[1]],则swap(mingrpidx,maxgrpidx)。[0960]–如果pseldsy[mingrpidx[1]]>pseldsy[maxgrpidx[0]],则swap(mingrpidx[1],maxgrpidx[0])。[0961]–maxy=(pseldsy[maxgrpidx[0]] pseldsy[maxgrpidx[1]] 1)>>1。[0962]–maxc=(pselc[maxgrpidx[0]] pselc[maxgrpidx[1]] 1)>>1。[0963]–miny=(pseldsy[mingrpidx[0]] pseldsy[mingrpidx[1]] 1)>>1。[0964]–minc=(pselc[mingrpidx[0]] pselc[mingrpidx[1]] 1)>>1。[0965]7.变量a、b和k的推导方式如下:[0966]–如果numsampl等于0且numsampt等于0,则[0967]k=0[0968]a=0[0969]b=1<<(bitdepthc–1)[0970]–否则,[0971]diff=maxy–miny[0972]–如果dif不等于0,则[0973]diffc=maxc–minc[0974]x=floor(log2(diff))[0975]normdiff=((diff<<4)>>x)&15[0976]x =(normdiff!=0)?1:0[0977]y=floor(log2(abs(diffc))) 1[0978]a=(diffc*(divsigtable[normdiff]|8) 2y–1)>>y[0979]k=((3 x–y)<1)?1:3 x–y[0980]a=((3 x–y)<1)?sign(a)*15:a[0981]b=minc–((a*miny)>>k)[0982]其中,divsigtable[]规定如下:[0983]divsigtable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0}[0984]–否则(diff等于0),[0985]k=0[0986]a=0[0987]b=minc[0988]//解释性注释:步骤6和步骤7为根据所述选定相邻亮度样本的下采样后亮度参考样本和与所述下采样亮度参考样本对应的色度参考样本,确定一个或多个线性模型系数的一种实现方式;具体地,根据miny、maxy、minc和maxc确定线性模型系数。//[0989]8.预测样本predsamples[x][y](其中,x=0..ntbw–1,y=0..ntbh–1)的推导方式如下:[0990]predsamples[x][y]=clip1c(((pdsy[x][y]*a)>>k) b)//解释性注释:步骤8为根据所述一个或多个线性模型系数和所述亮度块中的重建亮度样本的下采样亮度样本,获取与所述亮度块对应的色度块的预测样本的一种实现方式。//[0991]图12为本发明另一方面提供的使用线性模型来执行帧内预测的设备的流程图。设备1200包括:[0992]确定单元1201,用于根据色度格式信息,确定下采样滤波器集合,其中,所述色度格式信息表示当前块所属图像的色度格式;[0993]滤波单元1203,用于使用(选自)所述下采样滤波器集合中的各个下采样滤波器,获取所述当前块的亮度块中的重建亮度样本的下采样后亮度样本和所述亮度块的选定亮度参考样本(或选定相邻亮度样本)的下采样后亮度参考样本;[0994]线性模型推导单元1205,用于根据所述下采样后亮度参考样本和与所述下采样后亮度参考样本对应的色度参考样本,确定一个或多个线性模型系数;[0995]预测单元1207,用于根据所述一个或多个线性模型系数和所述亮度块中的重建亮度样本的下采样后亮度样本,获取与所述亮度块对应的色度块的预测样本。[0996]相应地,在一个示例中,设备1200的示例性结构可以与图2中的编码器20对应。在另一个示例中,设备1200的示例性结构可以与图3中的解码器30对应。[0997]在另一个示例中,设备1200的示例性结构可以与图2中的帧内预测单元254对应。在另一个示例中,设备1200的示例性结构可以与图3中的帧内预测单元354对应。[0998]本发明提供了以下更多方面。[0999]根据第一方面,本发明涉及一种使用线性模型进行帧内预测的方法。所述方法由译码装置(具体地,帧内预测装置)执行。所述方法包括:[1000]‑根据当前块所属图像的色度格式,为属于所述当前块的亮度样本(例如每个亮度样本)(即所述当前块的内部样本)确定滤波器;具体地,不同的亮度样本可以与不同的滤波器对应,基本上,取决于所述亮度样本是否位于边界上。[1001]‑在属于所述当前块的所述亮度样本(例如每个亮度样本)的位置上,将所述确定的滤波器应用于重建亮度样本的区域,得到经过滤波的重建亮度样本(例如rec'l[x,y]);[1002]‑根据所述经过滤波的重建亮度样本,获取用作线性模型推导输入的亮度样本集合;[1003]‑根据所述线性模型推导的线性模型系数和所述经过滤波的重建亮度样本,执行跨分量预测(例如跨分量基于亮度的色度预测或cclm预测)。[1004]本发明涉及cclm的亮度滤波器。本发明涉及滤波亮度样本。本发明涉及在cclm内部执行滤波器选择。[1005]cclm涉及色度预测,使用重建亮度对色度信号进行预测。[1006]根据所述第一方面,在所述方法的一种可能实现方式中,所述确定滤波器包括:[1007]根据所述亮度样本在所述当前块中的位置和所述色度格式,确定所述滤波器;或者[1008]根据属于所述当前块的多个亮度样本在所述当前块中的相应位置和所述色度格式,为所述亮度样本确定相应滤波器。可以理解的是,如果与所述当前块相邻的样本可用,则所述滤波器也可以使用这些样本对所述当前块的边界区域进行滤波。[1009]根据所述第一方面,在所述方法的一种可能实现方式中,所述确定滤波器包括:根据以下项中的一个或多个确定所述滤波器:[1010]所述当前块所属图像的色度格式,[1011]所述亮度样本在所述当前块中的位置,[1012]属于所述当前块的亮度样本的数量,[1013]所述当前块的宽度和高度,[1014]所述下采样后色度样本相对于所述亮度样本在所述当前块中的位置。[1015]根据所述第一方面,在所述方法的一种可能实现方式中,当所述下采样后色度样本不与所述对应亮度样本并置时,使用多个滤波器与所述当前块的宽度和高度的值之间的第一关系(例如表4)来确定所述滤波器;[1016]当所述子采样后色度样本与所述对应亮度样本并置时,使用多个滤波器与所述当前块的宽度和高度的值之间的第二或第三关系(例如表2或表3)来确定所述滤波器。[1017]根据所述第一方面,在所述方法的一种可能实现方式中,根据属于所述当前块的所述亮度样本的数量,确定所述多个滤波器与所述当前块的宽度和高度的值之间的第二或第三关系(例如表2和表3)。[1018]根据所述第一方面,在所述方法的一种可能实现方式中,当所述当前块的色度分量未经过子采样时,所述滤波器包括位置与所述经过滤波的重建亮度样本的位置水平和垂直相邻的非零系数。[1019]例如,其中,具有系数“4”的中心位置与所述经过滤波的重建亮度样本的位置对应。[1020]根据所述第一方面,在所述方法的一种可能实现方式中,所述重建亮度样本的区域包括相对于所述经过滤波的重建样本的位置的多个重建亮度样本,所述经过滤波的重建亮度样本的位置与属于所述当前块的所述亮度样本的位置对应,所述经过滤波的重建亮度样本的位置在所述当前块的亮度块内。[1021]根据所述第一方面,在所述方法的一种可能实现方式中,所述重建亮度样本的区域包括位置与所述经过滤波的重建亮度样本的位置水平和垂直相邻的多个重建亮度样本,所述经过滤波的重建亮度样本的位置与属于所述当前块的所述亮度样本的位置对应,所述经过滤波的重建亮度样本的位置在所述当前块(例如所述当前块的当前亮度块或亮度分量)内。例如,所述经过滤波的重建亮度样本的位置在所述当前块内(图8的右边部分,将滤波器应用于亮度样本)。[1022]根据所述第一方面,在所述方法的一种可能实现方式中,所述色度格式包括ycbcr4:4:4色度格式、ycbcr4:2:0色度格式、ycbcr4:2:2色度格式或单色格式。[1023]根据所述第一方面,在所述方法的一种可能实现方式中,所述用作线性模型推导输入的亮度样本组包括:[1024]对经过滤波的重建亮度样本(例如rec'l[x,y])进行子采样得到的边界重建亮度样本。[1025]根据所述第一方面,在所述方法的一种可能实现方式中,根据以下等式获取所述当前色度块的预测值:[1026]predc(i,j)=α·recl′(i,j) β[1027]其中,predc(i,j)表示色度样本,recl(i,j)表示对应的重建亮度样本。[1028]根据所述第一方面,在所述方法的一种可能实现方式中,所述线性模型为多方向线性模型(multi‑directionallinearmodel,mdlm),所述一个或多个线性模型系数用于获取所述mdlm。[1029]根据本发明第二方面,提供了一种使用线性模型进行帧内预测的方法。所述方法包括:[1030]‑根据当前块所属图像的色度格式,为所述当前块的亮度分量确定滤波器;[1031]‑将所述确定的滤波器应用于所述当前块的亮度分量的重建亮度样本的区域和与所述当前块相邻的选定位置上的亮度样本(与所述当前块左侧和顶部相邻的一或若干行/列),得到经过滤波的重建亮度样本(例如所述当前块(例如所述当前块的亮度分量)内的经过滤波的重建亮度样本);[1032]根据所述用作线性模型推导输入的经过滤波的重建亮度样本(例如,所述亮度样本组包括所述当前块内的经过滤波的重建亮度样本和所述当前块外的经过滤波的相邻亮度样本,例如,所述确定的滤波器还可以应用于所述当前块外的相邻亮度样本),获取线性模型系数;[1033]根据所述获取的线性模型系数和所述当前块的经过滤波的重建亮度样本(例如所述当前块(例如所述当前块的亮度分量)内的经过滤波的重建亮度样本),执行跨分量预测,得到当前色度块的预测值。[1034]根据所述第二方面,在所述方法的一种可能实现方式中,所述确定滤波器包括:[1035]根据所述亮度样本在所述当前块中的位置和所述色度格式,确定所述滤波器;或者[1036]根据属于所述当前块的多个亮度样本在所述当前块中的相应位置和所述色度格式,为所述亮度样本确定相应滤波器。[1037]根据所述第二方面,在所述方法的一种可能实现方式中,所述确定滤波器包括:根据以下项中的一个或多个确定所述滤波器:[1038]子采样比信息(例如subwidthc和subheightc,两者可以根据所述当前块所属图像的色度格式从表格中获取),[1039]所述当前块所属图像的色度格式(例如,所述色度格式用于获取子采样比信息(例如subwidthc和subheightc等)),[1040]所述亮度样本在所述当前块中的位置,[1041]属于所述当前块的亮度样本的数量,[1042]所述当前块的宽度和高度,和/或[1043]所述下采样后色度样本相对于所述亮度样本在所述当前块中的位置。[1044]根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的一种可能实现方式中,当所述子采样后色度样本不与所述对应的亮度样本并置时,使用多个滤波器与子采样比信息(例如subwidthc和subheightc,或者所述当前块的宽度和高度的值)之间的第一预设关系(例如表4)来确定所述滤波器;和/或[1045]当所述子采样后色度样本与所述对应的亮度样本共置时,使用多个滤波器与子采样比信息(例如subwidthc和subheightc,或者所述当前块的宽度和高度的值)之间的第二或第三预设预设关系(例如表2或表3)来确定所述滤波器。[1046]根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的一种可能实现方式中,根据属于所述当前块的一定亮度样本(例如可用亮度样本)的数量,确定所述多个滤波器与子采样比信息(例如subwidthc和subheightc,或者所述当前块的宽度和高度的值)之间的第二或第三关系(例如表2或表3)。[1047]根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的一种可能实现方式中,根据以下条件确定所述滤波器:[1048]如果不满足第一条件(例如从说明书中定义的表格中获取的子采样比信息,例如subwidthc==1且subheightc==1),则以下内容适用于滤波器集合{f3,f5,f6}:[1049]f3[0]=1,f3[1]=2,f3[2]=1;[1050]如果满足第二条件(例如从表格中获取的子采样比信息,例如subwidthc==2且subheightc==2),则[1051]f5[0][1]=1,f5[1][1]=4,f3[2][1]=1,f5[1][0]=1,f5[1][2]=1,[1052]f6[0][1]=1,f6[1][1]=2,f6[2][1]=1,[1053]f6[0][2]=1,f6[1][2]=2,f6[2][2]=1,[1054]f2[0]=1,f2[1]=1;[1055]否则,(例如,如果不满足第二条件(从表格中获取的子采样比信息,例如subwidthc==2且subheightc==2)),[1056]f5[0][1]=0,f5[1][1]=8,f5[2][1]=0,f5[1][0]=0,f5[1][2]=0,[1057]f6[0][1]=2,f6[1][1]=4,f6[2][1]=2,[1058]f6[0][2]=0,f6[1][2]=0,f6[2][2]=0,[1059]f2[0]=2,f2[1]=0。[1060]根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的一种可能实现方式中,当所述当前块的色度分量未经过子采样时,所述滤波器包括位置与所述经过滤波的重建亮度样本的位置水平和/或垂直相邻的非零系数。[1061]例如,其中,具有系数“4”的中心位置与所述经过滤波的重建亮度样本的位置对应。[1062]根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述重建亮度样本的区域包括相对于所述经过滤波的重建样本的位置的多个重建亮度样本,所述经过滤波的重建亮度样本的位置与属于所述当前块的所述亮度样本的位置对应,所述经过滤波的重建亮度样本的位置在所述当前块的亮度块内。[1063]根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述重建亮度样本的区域包括位置与所述经过滤波的重建亮度样本的位置水平和/或垂直相邻的多个重建亮度样本,所述经过滤波后的重建亮度样本的位置与属于所述当前块的所述亮度样本的位置对应,所述经过滤波的重建亮度样本的位置在所述当前块(例如所述当前块的当前亮度块或亮度分量)内。[1064]根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述色度格式包括ycbcr4:4:4色度格式、ycbcr4:2:0色度格式、ycbcr4:2:2色度格式或单色格式。[1065]根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述用作线性模型推导输入的亮度样本组包括:[1066]对经过滤波的重建亮度样本(例如rec'l[x,y])进行子采样得到的边界重建亮度样本。[1067]根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的一种可能实现方式中,根据以下等式获取所述当前色度块的预测值:[1068]predc(i,j)=α·recl′(i,j) β[1069]其中,predc(i,j)表示色度样本,recl(i,j)表示亮度样本的对应重建值(例如,所述对应重建亮度样本的位置在所述当前块内),α和β表示所述线性模型系数。[1070]根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述线性模型为多方向线性模型(multi‑directionallinearmodel,mdlm),所述线性模型系数用于获取所述mdlm。[1071]根据本发明第三方面,提供了一种由编码设备实现的编码方法。所述方法包括:[1072]如本发明所述使用线性模型(例如跨分量线性模型(cross‑componentlinearmodel,cclm)或多方向线性模型(multi‑directionallinearmodel,mdlm))来执行帧内预测;[1073]生成包括多个语法元素的码流,其中,所述多个语法元素包括指示为属于当前块的亮度样本选择滤波器(例如为cclm选择亮度滤波器,具体为sps标志,例如sps_cclm_colocated_chroma_flag)的语法元素。[1074]根据所述第三方面,在所述方法的一种可能实现方式中,当所述语法元素的值为1或真(true)时,不将所述滤波器应用于亮度样本,以进行线性模型确定和预测;[1075]当所述语法元素的值为0或假(false)时,将所述滤波器应用于亮度样本,以进行线性模型确定和预测。[1076]根据本发明第四方面,提供了一种由解码设备实现的解码方法。所述方法包括:[1077]从码流中解析多个语法元素,其中,所述多个语法元素包括指示为属于当前块的亮度样本选择滤波器(例如为cclm选择亮度滤波器,具体为sps标志,例如sps_cclm_colocated_chroma_flag)的语法元素;[1078]如本发明所述使用所述指示的线性模型(例如cclm)来执行帧内预测。[1079]根据所述第四方面,在所述方法的一种可能实现方式中,当所述语法元素的值为0或假(false)时,将所述滤波器应用于亮度样本,以进行线性模型确定和预测;[1080]当所述语法元素的值为1或真(true)时,不将所述滤波器应用于亮度样本,以进行线性模型确定和预测。[1081]根据本发明第五方面,提供了一种使用线性模型进行帧内预测的装置。所述装置包括:[1082]‑确定单元,用于根据当前块所属图像的色度格式,为属于所述当前块的亮度样本确定滤波器;[1083]‑滤波单元,用于在属于所述当前块的所述亮度样本的位置上,将所述确定的滤波器应用于重建亮度样本的区域,得到经过滤波的重建亮度样本;[1084]‑获取单元,用于根据所述经过滤波的重建亮度样本,获取用作线性模型推导输入的亮度样本集合;[1085]‑预测单元,用于根据所述线性模型推导的线性模型系数和所述经过滤波的重建亮度样本,执行跨分量预测。[1086]根据所述第五方面或所述第五方面的任一上述实现方式,在所述设备的一种可能实现方式中,所述经过滤波的重建样本的数量大于或等于所述当前亮度块的大小。[1087]根据所述第五方面或所述第五方面的任一上述实现方式,在所述设备的一种可能实现方式中,对下采样后重建样本执行cclm。[1088]根据所述第五方面或所述第五方面的任一上述实现方式,在所述设备的一种可能实现方式中,当所述当前色度块的当前块位于顶部边界时,只使用一行相邻重建亮度样本来获取所述经过滤波的重建样本。[1089]根据所述第五方面或所述第五方面的任一上述实现方式,在所述设备的一种可能实现方式中,所述线性模型为多方向线性模型(multi‑directionallinearmodel,mdlm),所述线性模型系数用于获取所述mdlm。[1090]根据所述第五方面或所述第五方面的任一上述实现方式,在所述设备的一种可能实现方式中,只对属于所述当前亮度块的顶部模板或属于所述当前亮度块的左侧模板的经过滤波的重建样本执行cclm或mdlm参数推导,或者所述重建样本属于所述当前亮度块的顶部模板和所述当前亮度块的左侧模板。[1091]根据所述第五方面或所述第五方面的任一上述实现方式,在所述设备的一种可能实现方式中,与所述当前块相邻的选定位置上(即在与所述当前块顶部相邻的样本行中和/或在于所述当前块左侧相邻的样本列中)的亮度样本由它们之间的间隔/距离/像素数量均匀隔开。[1092]根据所述第五方面或所述第五方面的任一上述实现方式,在所述设备的一种可能实现方式中,[1093]当使用lm模式且上方和左侧相邻样本都可用时,与所述当前块相邻的选定位置表示为s[w'/4,–1]、s[3w'/4,–1]、s[–1,h'/4]、s[–1,3h'/4];[1094]当使用lm‑a模式或只有上方相邻样本可用时,与所述当前块相邻的选定位置表示为s[w'/8,–1]、s[3w'/8,–1]、s[5w'/8,–1]、s[7w'/8,–1];或者[1095]当使用lm‑l模式或只有左侧相邻样本可用时,与所述当前块相邻的选定位置表示为s[–1,h'/8]、s[–1,3h'/8]、s[–1,5h'/8]、s[–1,7h'/8]。[1096]第六方面,一种解码器(30),其中,所述解码器(30)包括处理电路,所述处理电路用于执行根据第一至第四方面中任一个所述的方法。[1097]第七方面,一种计算机程序产品,其中,所述计算机程序产品包括程序代码,所述程序代码用于执行根据第一至第四方面中任一个所述的方法。[1098]第八方面,一种解码器,其中,所述解码器包括:[1099]一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,所述程序在由所述一个或多个处理器执行时,配置所述解码器执行根据第一至第三方面中任一个所述的方法。[1100]第九方面,一种编码器,其中,所述编码器包括:[1101]一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,所述程序在由所述一个或多个处理器执行时,配置所述编码器执行根据第一至第三方面中任一个所述的方法。[1102]第十方面,一种包括程序代码的非瞬时性计算机可读存储介质,其中,所述程序代码在由计算机设备执行时,使得所述计算机设备执行根据第一至第三方面中任一个所述的方法。[1103]第十一方面,一种编码器(20),其中,所述编码器(20)包括处理电路,所述处理电路用于执行根据第一至第三方面中任一个所述的方法。[1104]基于上述内容,本文公开的实施例具有以下技术优势:本文公开的实施例在根据亮度样本对色度样本进行预测时考虑到图像的色度格式。根据所述色度格式选择滤波器集合,消除了先前设计中存在的问题,因此减小了预测误差,从而实现更准确的色度预测。预测误差变小带来的技术效果是残差信号能量减少。通过这种残差信号能量减少,这些译码方法可以减少重建信号的失真,降低编码残差信号所需的码率,或者同时减少失真和降低码率。本文实施例实现的这些有益效果提升了译码方法的整体压缩性能。[1105]另外,本文公开的滤波器具有以下两个特性:[1106]‑水平和垂直方向的抽头数不超过3个。[1107]‑系数值是2的幂。[1108]第一个属性使得为了滤波而访问的区域不超过3个样本(最小可能非相位移位滤波器支持大小)。第二个属性(两个系数的幂)使得滤波器的实现不需要乘法。相反,可以通过向左移动常量值来实现滤波器,这样要求硬件设计的复杂度最小。[1109]现有技术没有提出具有上述特性的实用有限脉冲响应(finiteimpulseresponse,fir)滤波器。现有技术中的fip滤波器均不能提供与本发明相同的平滑特性,同timemessagingprotocol,rtmp),或其任何种类的组合等。[1117]在协议处理单元3202对流进行处理之后,生成流文件。文件被输出到解复用单元3204。解复用单元3204可以将复用数据分离成经编码音频数据和经编码视频数据。如上文所述,对于一些实际场景,例如在视频会议系统中,不复用经编码音频数据和经编码视频数据。在这种情况下,不通过解复用单元3204,将经编码数据发送到视频解码器3206和音频解码器3208。[1118]通过解复用处理,生成视频基本流(elementarystream,es)、音频es和可选的字幕。视频解码器3206,包括上述实施例中说明的视频解码器30,通过上述实施例中所示的解码方法对视频es进行解码以生成视频帧,并将此数据馈送到同步单元3212。音频解码器3208对音频es进行解码以生成音频帧,并将此数据馈送到同步单元3212。可选地,在将视频帧馈送到同步单元3212之前可以将视频帧存储在缓冲区(图y中未示出)中。类似地,在将音频帧馈送到同步单元3212之前可以将音频帧存储在缓冲区(图y中未示出)中。[1119]同步单元3212同步视频帧和音频帧,并将视频/音频提供给视频/音频显示器3214。例如,同步单元3212同步视频和音频信息的呈现。信息可以使用经译码音频和可视数据的呈现有关的时间戳以及与数据流本身的传送有关的时间戳而以语法进行译码。[1120]如果流中包括字幕,则字幕解码器3210对字幕进行解码,使字幕与视频帧和音频帧同步,并将视频/音频/字幕提供给视频/音频/字幕显示器3216。[1121]本发明并不限于上述系统,并且上述实施例中的图像编码设备或图像解码设备都可以结合到其它系统(例如汽车系统)中。[1122]数学运算符[1123]本技术中使用的数学运算符与c编程语言中的类似,但是本技术准确定义了整除运算和算术移位运算的结果,并且还定义了其它运算,例如幂运算和实值除法。编号和计数规范通常从0开始,例如,“第一个”相当于第0个,“第二个”相当于第1个,等等。[1124]算术运算符[1125]算术运算符定义如下:[1126] 加法运算[1127]–减法运算(二元运算符)或者取反(一元前缀运算符)[1128] 加法运算[1129]×乘法运算,包括矩阵乘法运算[1130]xy幂运算,表示x的y次幂。根据上下文,这种表示符用作上标,而不是作为幂运算。[1131]/整除运算,沿向0的取值方向截断。例如,7/4和–7/–4截断至1,–7/4和7/–4截断至–1。[1132]÷除法运算,不做截断或四舍五入。[1133]除法运算,不做截断或四舍五入。[1134]i取x到y(包括y)的所有整数值时,函数f(i)的累加和。[1135]x%y模运算,x除y的余数,其中,x和y都是整数,并且x≥0和y>0。[1136]逻辑运算符[1137]逻辑运算符定义如下:[1138]x&&yx和y的布尔逻辑“与”运算[1139]x||yx和y的布尔逻辑“或”运算[1140]!布尔逻辑“非”运算[1141]x?y:z如果x为真(true)或不等于0,则求y的值,否则,求z的值。[1142]关系运算符[1143]关系运算符定义如下:[1144]>大于[1145]≥大于或等于[1146]<小于[1147]≤小于或等于[1148]==等于[1149]!=不等于[1150]当一个关系运算符应用于一个已被赋值“na”(不适用)的语法元素或变量时,值“na”被视为该语法元素或变量的不同值。值“na”被视为不等于任何其它值。[1151]按位运算符[1152]按位运算符定义如下:[1153]&按位“与”。当对整数参数运算时,运算的是整数值的补码表示。当对二进制参数运算时,如果它包括的位比另一个参数少,则通过添加更多等于0的有效位来扩展较短的参数。[1154]|按位“或”。当对整数参数运算时,运算的是整数值的补码表示。当对二进制参数运算时,如果它包括的位比另一个参数少,则通过添加更多等于0的有效位来扩展较短的参数。[1155]^按位“异或”。当对整数参数运算时,运算的是整数值的补码表示。当对二进制参数运算时,如果它包括的位比另一个参数少,则通过添加更多等于0的有效位来扩展较短的参数。[1156]x>>y将x以2的补码整数表示的形式向右算术移动y个二进制位。只有y为非负整数值时才有这个函数定义。右移的结果是移进最高有效位(mostsignificantbit,msb)的比特位等于移位运算之前的x的msb。[1157]x<<y将x以2的补码整数表示的形式向左算术移动y个二进制位。只有y为非负整数值时才有这个函数定义。左移的结果是移进最低有效位(leastsignificantbit,lsb)的比特位等于0。[1158]赋值运算符[1159]算术运算符定义如下:[1160]=赋值运算符[1161] 递增,即x 相当于x=x 1;当用于数组下标时,在自加运算前先求变量值。[1162]––递减,即x––相当于x=x–1;当用于数组下标时,在自减运算前先求变量值。[1163] =自加指定值,即x =3相当于x=x 3,x =(–3)相当于x=x (–3)。[1164]–=自减指定值,即x–=3相当于x=x–3,x–=(–3)相当于x=x–(–3)。[1165]范围表示法[1166]下面的表示法用来说明值的范围:[1167]x=y…zx取从y到z(包括y和z)的整数值,其中,x、y和z都是整数,z大于y。[1168]数学函数[1169]数学函数定义如下:[1170][1171]asin(x)三角反正弦函数,对参数x运算,x在–1.0至1.0(包括端值)范围之间,输出值在–π÷2至π÷2(包括端值)范围之间,单位为弧度。[1172]atan(x)三角反正切函数,对参数x运算,输出值在–π÷2至π÷2(包括端值)范围之间,单位为弧度。[1173][1174]ceil(x)表示大于或等于x的最小整数。[1175]clip1y(x)=clip3(0,(1<<bitdepthy)–1,x)[1176]clip1c(x)=clip3(0,(1<<bitdepthc)–1,x)[1177][1178]cos(x)三角余弦函数,对参数x运算,单位为弧度。[1179]floor(x)表示小于或等于x的最大整数。[1180][1181]ln(x)返回x的自然对数(以e为底的对数,其中,e是自然对数底数常数2.718281828……)。[1182]log2(x)返回x的以2为底的对数。[1183]log10(x)返回x的以10为底的对数。[1184][1185][1186]round(x)=sign(x)×floor(abs(x) 0.5)[1187][1188]sin(x)表示三角正弦函数,对参数x运算,单位为弧度。[1189][1190]swap(x,y)=(y,x)[1191]tan(x)表示三角正切函数,对参数x运算,单位为弧度。[1192]运算优先级顺序[1193]当没有使用括号来显式指示表达式中的优先顺序时,以下规则适用:[1194]‑高优先级的运算在低优先级的任何运算之前计算。[1195]‑相同优先级的运算从左到右依次计算。[1196]下表从最高到最低的顺序说明运算的优先级,表中位置越高,优先级越高。[1197]对于c编程语言中也使用的运算符,本规范中运算符优先级顺序与c编程语言中优先级顺序相同。[1198]表:运算优先级按照最高(表格顶部)到最低(表格底部)排序[1199][1200]逻辑运算的文本描述[1201]在文本中,用数学形式描述如下的逻辑运算语句:[1202][1203]可以用以下方式描述:[1204]……如下/……以下为准:[1205]‑如果条件0,则语句0[1206]‑否则,如果条件1,则语句1[1207]‑……[1208]‑否则(关于剩余条件的提示性说明),语句n[1209]文本中的每个“如果……否则,如果……否则,……”语句都以“……如下”或“……以下为准”引入,后面紧跟着“如果……”。”。“如果……否则,如果……否则,……”的最后一个条件总有一个“否则,……”。中间有“如果……否则,如果……否则”语句可以通过使“……如下”或“……以下为准”与结尾“否则……”匹配来识别。[1210]在文本中,用数学形式描述如下的逻辑运算语句:[1211][1212]可以用以下方式描述:[1213]……如下/……以下为准:[1214]‑如果满足以下所有条件,则语句0:[1215]‑条件0a[1216]‑条件0b[1217]‑否则,如果满足以下一个或多个条件,则语句1:[1218]‑条件1a[1219]‑条件1b[1220]‑……[1221]‑否则,语句n[1222]在文本中,用数学形式描述如下的逻辑运算语句:[1223][1224]可以用以下方式描述:[1225]当条件0,则语句0[1226]当条件1,则语句1[1227]尽管本发明实施例主要根据视频译码进行了描述,但需要说明的是,译码系统10、编码器20和解码器30(相应地,系统10)的实施例以及本文描述的其它实施例也可以用于静止图像处理或译码,即对视频译码中独立于任何先前或连续图像的单个图像进行处理或译码。一般而言,如果图像处理译码仅限于单个图像17,则只有帧间预测单元244(编码器)和344(解码器)不可用。视频编码器20和视频解码器30的所有其它功能(也称为工具或技术)同样可以用于静止图像处理,例如残差计算204/304、变换206、量化208、反量化210/310、(逆)变换212/312、分割262/362、帧内预测254/354和/或环路滤波220/320、熵编码270和熵解码304。[1228]编码器20和解码器30等的实施例以及本文参照编码器20和解码器30等描述的功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则这些功能可以作为一个或多个指令或代码存储在计算机可读介质中或通过通信介质发送,且由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,对应于有形介质(例如数据存储介质),或者包括任何根据通信协议等促进将计算机程序从一个地方传递到另一个地方的通信介质。通过这种方式,计算机可读介质一般可以对应于(1)非瞬时性的有形计算机可读存储介质或(2)信号或载波等通信介质。数据存储介质可以是通过一个或多个计算机或一个或多个处理器访问的任何可用介质,以检索用于实施本发明所述技术的指令、代码和/或数据结构。计算机程序产品可以包括计算机可读介质。[1229]作为示例而非限制,这类计算机可读存储介质可以包括ram、rom、eeprom、cd‑rom或其它光盘存储器、磁盘存储器或其它磁性存储设备、闪存或可以用于存储指令或数据结构形式的所需程序代码并且可以由计算机访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴缆线、光纤缆线、双绞线、数字用户线(digitalsubscriberline,dsl)或红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,则同轴缆线、光纤缆线、双绞线、dsl或红外线、无线电和微波等无线技术包含在介质的定义中。但是,应当理解,计算机可读存储介质和数据存储介质并不包括连接、载波、信号或其它瞬时性介质,而是涉及非瞬时性有形存储介质。本文所使用的磁盘和光盘包含压缩光盘(compactdisc,cd)、激光光盘、光学光盘、数字多功能光盘(digitalversatiledisc,dvd)和蓝光光盘,其中,磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包括在计算机可读介质的范围内。[1230]指令可以通过一个或多个数字信号处理器(digitalsignalprocessor,dsp)、一个或多个通用微处理器、一个或多个专用集成电路(applicationspecificintegratedcircuit,asic)、一个或多个现场可编程逻辑阵列(fieldprogrammablelogicarray,fpga)或其它同等集成或离散逻辑电路等一或多个处理器来执行。因此,本文所使用的术语“处理器”可以指上述结构中的任一种或适于实施本文所述技术的任何其它结构。另外,在一些方面中,本文描述的各种功能可以提供在用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,这些技术可以在一个或多个电路或逻辑元件中完全实现。[1231]本发明技术可以在多种设备或装置中实现,这些设备或装置包括无线手机、集成电路(integratedcircuit,ic)或一组ic(例如芯片组)。本发明描述了各种组件、模块或单元,以强调用于执行所公开技术的设备的功能方面,但未必需要由不同的硬件单元实现。相反,如上所述,各种单元可以结合合适的软件和/或固件组合在编解码器硬件单元中,或者通过包括如上所述的一个或多个处理器的互操作硬件单元的集合来提供。当前第1页12当前第1页12
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜