色度块预测方法、用于编解码视频数据的设备以及编解码设备转让专利

申请号 : CN201980016632.8

文献号 : CN111801943B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马祥杨海涛陈建乐

申请人 : 华为技术有限公司

摘要 :

本发明提供了色度块预测方法及设备,该方法包括:解析码流获得第一指示信息,第一指示信息用于指示滤波器类型;根据滤波器类型对应的滤波器,对第一亮度块进行下采样,获得第二亮度块,第一亮度块是当前色度块对应的亮度块;获取模板色度点和模板亮度点,模板色度点包括当前色度块相邻的多个色度像素点,模板亮度点通过对第一亮度块相邻的多个亮度像素点进行下采样操作获得;根据模板色度点和模板亮度点,获得线性模型系数;根据第二亮度块和线性模型系数,获得当前色度块的预测值。

权利要求 :

1.一种色度块预测方法,其特征在于,所述方法包括:解析码流获得第一指示信息;

根据滤波器类型对应的滤波器,对第一亮度块进行下采样操作,获得第二亮度块,所述第一亮度块是当前色度块对应的亮度块,当所述第一指示信息为第一值时,所述滤波器类型对应的滤波器为第一滤波器,当所述第一指示信息为第二值时,所述滤波器类型对应的滤波器为第二滤波器,其中所述当前色度块的采样点位置相对于所述第一亮度块的采样点位置存在竖直方向上的不一致,所述竖直方向上的不一致指的是竖直方向上存在位置偏移并且偏移数值为0.5;

获取多个色度点和多个亮度点,所述多个色度点包括所述当前色度块相邻的多个色度像素点,所述多个亮度点通过对所述第一亮度块相邻的多个亮度像素点进行下采样操作获得;

根据所述多个色度点和所述多个亮度点,获得线性模型系数;

根据所述第二亮度块和所述线性模型系数,获得所述当前色度块的预测值。

2.根据权利要求1所述的方法,其特征在于,所述解析码流获得第一指示信息,包括:解析码流中的序列参数集(SPS)参数,获得所述第一指示信息。

3.根据权利要求2所述的方法,其特征在于,当所述SPS参数的值为0时,所述滤波器类型对应的滤波器为所述第一滤波器;或当所述SPS参数的值为1时,所述滤波器类型对应的滤波器为所述第二滤波器。

4.根据权利要求1‑3任一所述的方法,其特征在于,利用所述滤波器类型对应的滤波器,对所述第一亮度块相邻的多个亮度像素点进行下采样操作。

5.根据权利要求1‑3任一所述的方法,其特征在于,所述方法还包括:解析所述码流获得第二指示信息,所述第二指示信息用于指示当前解码采用的帧内预测模式为线性模型LM模式。

6.根据权利要求3所述的方法,其特征在于,所述第一滤波器包括滤波器0:LC(xb,yb)=(2*L(2*xb,2*yb)+L(2*xb‑1,2*yb)+L(2*xb+1,2*yb)+2*L(2*xb,2*yb+1)+L(2*xb‑1,2*yb+1)+L(2*xb+1,2*yb+1)+4)>>3;

其中LC(xb,yb)为(xb,yb)采样点位置对应的亮度点的值,L(,)为所述第一亮度块的亮度像素点的值,符号“>>”表示右移。

7.一种色度块预测方法,其特征在于,所述方法包括:根据当前色度块的采样点位置类型确定滤波器类型,所述滤波器类型对应的滤波器用于对第一亮度块进行下采样,所述第一亮度块是当前色度块对应的亮度块,其中所述当前色度块的采样点位置相对于所述第一亮度块的采样点位置存在竖直方向上的不一致,所述竖直方向上的不一致指的是竖直方向上存在位置偏移并且偏移数值为0.5;

设置第一指示信息,当所述第一指示信息为第一值时,所述滤波器类型对应的滤波器为第一滤波器,当所述第一指示信息为第二值时,所述滤波器类型对应的滤波器为第二滤波器;

将所述第一指示信息编入码流。

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:从多个帧内预测模式中选择线性模型LM模式;

设置第二指示信息,所述第二指示信息用于指示所述线性模型LM模式;

将所述第二指示信息编入所述码流。

9.根据权利要求7‑8任一项所述的方法,其特征在于,所述方法还包括:根据所述滤波器类型对应的滤波器,对所述第一亮度块进行下采样,获得第二亮度块;

获取多个色度点和多个亮度点,所述多个色度点包括所述当前色度块相邻的多个色度像素点,所述多个亮度点通过对所述第一亮度块相邻的多个亮度像素点下采样获得;

根据所述多个色度点和多个亮度点,获得线性模型系数;

根据所述第二亮度块和所述线性模型系数,获得所述当前色度块的预测值。

10.一种用于解码视频数据的设备,所述设备包括:存储器,用于存储码流形式的视频数据;

解码器,用于:

解析码流获得第一指示信息;

根据滤波器类型对应的滤波器,对第一亮度块进行下采样操作,获得第二亮度块,所述第一亮度块是当前色度块对应的亮度块,当所述第一指示信息为第一值时,所述滤波器类型对应的滤波器为第一滤波器,当所述第一指示信息为第二值时,所述滤波器类型对应的滤波器为第二滤波器,其中所述当前色度块的采样点位置相对于所述第一亮度块的采样点位置存在竖直方向上的不一致,所述竖直方向上的不一致指的是竖直方向上存在位置偏移并且偏移数值为0.5;

获取多个色度点和多个亮度点,所述多个色度点包括所述当前色度块相邻的多个色度像素点,所述多个亮度点通过对所述第一亮度块相邻的多个亮度像素点进行下采样操作获得;

根据所述多个色度点和所述多个亮度点,获得线性模型系数;

根据所述第二亮度块和所述线性模型系数,获得所述当前色度块的预测值。

11.根据权利要求10所述的设备,其特征在于,所述解码器具体用于:解析码流中的序列参数集(SPS)参数,获得所述第一指示信息。

12.根据权利要求11所述的设备,其特征在于,当所述SPS参数的值为0时,所述滤波器类型对应的滤波器为所述第一滤波器;或当所述SPS参数的值为1时,所述滤波器类型对应的滤波器为所述第二滤波器。

13.根据权利要求10‑12任一所述的设备,其特征在于,所述解码器具体用于:利用所述滤波器类型对应的滤波器,对所述第一亮度块相邻的多个亮度像素点进行下采样操作。

14.根据权利要求10‑12任一所述的设备,其特征在于,所述第一滤波器包括滤波器0:LC(xb,yb)=(2*L(2*xb,2*yb)+L(2*xb‑1,2*yb)+L(2*xb+1,2*yb)+2*L(2*xb,2*yb+1)+L(2*xb‑1,2*yb+1)+L(2*xb+1,2*yb+1)+4)>>3,其中LC(xb,yb)为(xb,yb)采样点位置对应的亮度点的值,L(,)为所述第一亮度块的亮度像素点的值,符号“>>”表示右移。

15.一种用于编码视频数据的设备,所述设备包括:存储器,用于存储码流形式的视频数据;

编码器,用于:

根据当前色度块的采样点位置类型确定滤波器类型,所述滤波器类型对应的滤波器用于对第一亮度块进行下采样,所述第一亮度块是当前色度块对应的亮度块;

设置第一指示信息,当所述第一指示信息为第一值时,所述滤波器类型对应的滤波器为第一滤波器,当所述第一指示信息为第二值时,所述滤波器类型对应的滤波器为第二滤波器,其中所述当前色度块的采样点位置相对于所述第一亮度块的采样点位置存在竖直方向上的不一致,所述竖直方向上的不一致指的是竖直方向上存在位置偏移并且偏移数值为

0.5;

将所述第一指示信息编入码流。

16.根据权利要求15所述的设备,其特征在于,所述编码器还用于:从多个帧内预测模式中选择线性模型LM模式;

设置第二指示信息,所述第二指示信息用于指示所述线性模型LM模式;

将所述第二指示信息编入所述码流。

17.根据权利要求15‑16任一项所述的设备,其特征在于,所述编码器还用于:根据所述滤波器类型对应的滤波器,对所述第一亮度块进行下采样,获得第二亮度块;

获取多个色度点和多个亮度点,所述多个色度点包括所述当前色度块相邻的多个色度像素点,所述多个亮度点通过对所述第一亮度块相邻的多个亮度像素点下采样获得;

根据所述多个色度点和所述多个亮度点,获得线性模型系数;

根据所述第二亮度块和所述线性模型系数,获得所述当前色度块的预测值。

18.一种解码设备,包括:相互耦合的非易失性存储器和处理器,所述存储器用于存储程序指令,所述程序指令使得所述处理器执行权利要求1‑6任一项所述的方法。

19.一种编码设备,包括:相互耦合的非易失性存储器和处理器,所述存储器用于存储程序指令,所述程序指令使得所述处理器执行权利要求7‑9任一项所述的方法。

说明书 :

色度块预测方法、用于编解码视频数据的设备以及编解码

设备

[0001] 本申请是申请号为PCT/CN2019/104527,申请日为2019年9月5日的PCT申请的国家阶段,其中PCT/CN2019/104527要求申请号为CN 201811035923.5,申请日为2018 年9月5日
的中国申请的优先权。

技术领域

[0002] 本发明涉及视频编码领域,尤其涉及色度块预测方法以及设备。

背景技术

[0003] 随着互联网科技的迅猛发展以及人们物质精神文化的日益丰富,在互联网中针对视频的应用需求尤其是针对高清视频的应用需求越来越多,而高清视频的数据量非常大,
要想高清视频能在带宽有限的互联网中传输,必须首先解决的问题就是高清视频压缩编码
问题。目前,国际上有两个国际组织专门进行视频编码标准的制定工作,即 ISO/IEC下的
MPEG和ITU‑T的VCEG。成立于1986年的MPEG专门负责制定多媒体领域内的相关标准,主要应
用于存储、广播电视、因特网或无线网上的流媒体等。ITU‑T 则主要制定面向实时视频通信
领域的视频编码标准,如视频电话、视频会议等应用。在过去的几十年里,国际上已经成功
制定了面向各种应用的视频编码标准,主要包括:用于VCD的MPEG‑1标准,用于DVD和DVB的
MPEG‑2标准,用于视频会议的H.261标准以及H.263标准、H.264标准,允许对任意形状的对
象编码的MPEG‑4标准、HEVC 标准等等。
[0004] 当前广泛使用的视频编码标准H.264/AVC(记为H.264)和H.265/HEVC(记为 H.265),均以图像块为基本单元进行各种类型的编码操作,例如基于图像块的预测、变换、
熵编码等等。图像块指一个二维采样点阵列,即由像素点组成的WxH大小的阵列(W可以等于
H,也可以不等于H),并且已知各个像素点位置的像素值。
[0005] 一般的视频编码过程主要包括帧内预测(Intra Prediction)、帧间预测(InterPrediction)、变换(Transform)、量化(Quantization)、熵编码(Entropy encode)、环内滤
波(in‑loop filtering)等环节。将图像划分为图像块之后进行帧内和帧间预测,并且在得
到残差之后进行变换量化,最终进行熵编码并输出码流。
[0006] 其中,帧内预测利用当前图像内已重建区域内像素点的像素值对当前块内像素点的像素值进行预测,一般使用当前块的周围已重建的相邻块的像素导出当前块内像素的预
测值。例如,在H.264或者H.265中,一般使用周围相邻块的边界像素(靠近当前块的一侧边
界)作为当前块的参考像素,并基于这些参考像素按照某种方法导出当前块内像素的预测
值。帧内预测模式例如为DC(或均值)模式和平面模式的非方向性模式,或者为H.265中定义
的方向性模式。
[0007] 利用帧内预测得到预测信息之后,根据当前编码块内像素点的像素值减去对应的预测信息便得到残差信息,然后利用离散余弦变换(Discrete Cosine Transformation, 
DCT)等方法对残差信息进行变换,再使用量化熵编码得到码流。预测信号加上重建残差信
号之后需进一步进行滤波操作,进而得到重建信号,并将其作为后续编码的参考信号。
[0008] 解码则相当于编码的逆过程。首先利用熵解码反量化反变换得到残差信息,解码码流确定当前块使用的是帧内还是帧间预测。如果是帧内编码,则利用当前图像内周围已
重建区域内像素点的像素值按照所使用的帧内预测方法构建预测信息。使用预测信息加上
残差信息经过滤波操作便可以得到重建信息。
[0009] 现有的视频一般为彩色视频,彩色视频中的图像除了含有亮度分量以外,还含有色度分量。因此,除了对亮度分量进行编码,还需要对色度分量进行编码。如何提高在帧内
预测中色度分量的编码效率,目前仍然是一项技术挑战。

发明内容

[0010] 本发明实施例提供了色度块预测方法以及设备,能够提高内预测中色度分量(色度块)的编码效率。
[0011] 第一方面,本发明实施例提供了一种色度块预测方法,从编码端的角度描述,该方法可应用于对当前色度块的帧内预测中,采用的帧内预测模式为线性模型模式 (1inear 
model mode,简称LM模式),该方法可包括:根据当前色度块的采样点位置类型确定滤波器
类型,该滤波器类型由当前色度块的采样点位置类型来决定的,每一种当前色度块的采样
点位置类型皆有对应的滤波器类型;设置第一指示信息,所述第一指示信息用于指示所述
滤波器类型;将所述第一指示信息编入码流以便于后续发送至解码端。
[0012] 可以看到,本发明实施例中,编码器可以根据当前色度点的采样位置类型来决定当前亮度块采用的亮度下采样滤波器,并通过指示信息来向解码器指定下采样滤波器的类
型。从而保证编码端和解码端都可以得到与色度点采样位置相匹配的滤波器,提高编码端
的编码准确度和编码效率。
[0013] 基于第一方面,在可能的实施例中,可设计6种采样点位置类型,这6种采样点位置类型包括:type0、type1、type2、type3、type4和type5。那么,对应于所述6 种采样点位置类
型,分别有6种类型的亮度下采样滤波器:滤波器0、滤波器1、滤波器2、滤波器3、滤波器4、滤
波器5。也就是说,当前色度块的采样点位置类型可为6种采样点位置类型中的一种。通过设
置这些滤波器,保证编码端、解码端得到与色度点采样位置相匹配的滤波器,有利于兼顾现
实中不同视频序列可能存在不同的色度采样点位置的情况,从而提高编码端的编码准确度
和编码效率。
[0014] 基于第一方面,在可能的实施例中,考虑到目前type0以及type2的色度点采样位置最为常见,也可设计2种采样点位置类型,即这2种采样点位置类型只包括:type0、 
type2。那么,对应于所述2种采样点位置类型,分别有2种类型亮度下采样滤波器:滤波器0、
滤波器2。也就是说,当前色度块的采样点位置类型可为2种采样点位置类型中的一种。通过
设置这些滤波器,可在满足大部分常见编码需要的同时,提高编码端的编码准确度和编码
效率。
[0015] 基于第一方面,在可能的实施例中,可新增一个序列参数集(sequence parameterset,SPS)参数,此SPS参数的值将用于指示当前视频序列编码或者解码时,LM模式中的亮度
下采样滤波器的类型。在编码端,此参数可以基于当前序列的色度点的采样位置设置。具体
的,可根据滤波器类型设置第一指示信息,所述第一指示信息即包括该SPS参数的值,用于
指示编码或者解码时对色度块预测中所采用的亮度下采样滤波器的类型。
[0016] 基于第一方面,在可能的实施例中,在编码端的帧内预测中,也可预设多种帧内预测模式,所述多种帧内预测模式中包括LM模式,编码端遍历所述多种帧内预测模式,确定对
当前色度块的预测中最优的帧内预测模式为LM模式,此外,编码端还可设置第二指示信息,
所述第二指示信息用于指示所述LM模式,并将第二指示信息编入码流,以便于解码端也采
用LM模式进行帧内预测,提高编码效率。
[0017] 基于第一方面,在可能的实施例中,在预测块的构建阶段,编码端还可以根据所述第一指示信息,确定所述滤波器类型对应的滤波器;根据所述滤波器类型对应的滤波器,对
第一亮度块进行下采样,获得第二亮度块,所述第一亮度块是所述当前色度块对应的亮度
块;获取模板色度点和模板亮度点,所述模板色度点包括所述当前色度块相邻的多个色度
像素点,所述模板亮度点通过对所述第一亮度块相邻的多个亮度像素点下采样获得;根据
所述模板色度点和所述模板亮度点,获得线性模型系数;根据所述第二亮度块和所述线性
模型系数,获得所述当前色度块的预测值。
[0018] 第二方面,本发明实施例提供了一种色度块预测方法,该方法可应用于对当前色度块的帧内预测中,采用的帧内预测模式为LM模式。该方法包括:解析码流获得第一指示信
息,所述第一指示信息用于指示滤波器类型;根据所述滤波器类型对应的滤波器,对第一亮
度块进行下采样操作,获得第二亮度块,所述第一亮度块是当前色度块对应的亮度块,第二
亮度块的亮度像素点的位置与当前色度块的色度像素点的位置具有一致性;获取模板色度
点和模板亮度点,所述模板色度点包括所述当前色度块相邻的多个色度像素点,所述模板
亮度点通过对所述第一亮度块相邻的多个亮度像素点进行下采样操作获得;根据所述模板
色度点和所述模板亮度点,获得线性模型系数;根据所述第二亮度块和所述线性模型系数,
获得所述当前色度块的预测值。
[0019] 可以看到,本发明实施例中,对于LM模式,解码端在当前块的下采样过程中,可通过码流中的指示信息来确定当前色度块对应的亮度块下采样时采用的滤波器。从而可以得
到与色度点采样位置相匹配的滤波器,有利于兼顾现实中不同视频序列可能存在不同的色
度采样点位置的情况,提高编码效率和编码准确度。
[0020] 具体的,本发明实施例中,可将用于计算线性模型系数的相邻上边和左边称为模板(template)。模板表示用于计算线性模型系数的亮度点或色度点的集合,其中,用于计算
线性模型系数的亮度点(luma sample)的集合又可称为模板亮度点,所述模板亮度点通过
对亮度块相邻的多个亮度像素点进行下采样操作而获得(因为亮度图像中,与模板色度点
相匹配的位置可能并没有亮度采样值)。用于计算线性模型系数的色度点(chroma sample)
的集合又可称为模板色度点,所述模板色度点包括所述当前色度块相邻的多个已重建色度
像素点。
[0021] 基于第二方面,在可能的实施例中,所述模板色度点具体包括所述当前色度块相邻上边一行或者上边多行的色度像素点,以及,所述当前色度块相邻左边一列或者左边多
列的色度像素点。模板亮度点以及模板色度点一一对应,并且采样点的值构成值对。
[0022] 基于第二方面,在可能的实施例中,模板色度点为当前色度块相邻上边一行色度像素点,以及一列色度像素点。相应的,模板亮度点包括与模板色度点中的各个色度点位置
相匹配的一行亮度像素点,以及左边一列亮度像素点。
[0023] 基于第二方面,在可能的实施例中,模板色度点为当前色度块相邻上边两行色度像素点,以及左边两列色度像素点。相应的,模板亮度点包括与模板色度点中的各个色度点
位置相匹配的两行亮度像素点,以及两列亮度像素点。
[0024] 基于第二方面,在可能的实施例中,所述模板色度点也可只包括所述当前色度块相邻左边一列或者左边多列的色度像素点。模板亮度点以及模板色度点一一对应,只包括
位置匹配的一列或者多列的亮度像素点。
[0025] 基于第二方面,在可能的实施例中,所述模板色度点也可只包括所述当前色度块相邻上边一行或者上边多行的色度像素点。模板亮度点以及模板色度点一一对应,只包括
位置匹配的一行或者多行的亮度像素点。
[0026] 基于第二方面,在可能的实施例中,对于模板亮度点,由于第一指示信息指示了滤波器类型,则可利用该滤波器类型对应的滤波器,对所述第一亮度块相邻的多个亮度像素
点进行下采样操作,获得所述模板亮度点。这样,使得解码端在导出模板亮度点的下采样过
程以及对当前块的下采样过程中采用同样的滤波器,提高处理效率。
[0027] 举例来说,解码端设计有6种滤波器类型,且当前第一指示信息指示的值为0,则采用的亮度下采样滤波器为滤波器0,可利用该滤波器0,对第一亮度块相邻的多个亮度像素
点进行下采样操作,获得所述模板亮度点中的各个亮度像素点的值。
[0028] 基于第二方面,在可能的实施例中,在解析码流的环节中,还可通过解析所述码流获得第二指示信息,所述第二指示信息用于指示解码端解码当前色度块采用的帧内预测模
式为LM模式,从而解码端确定对视频序列的当前图像的帧内预测采用LM模式。
[0029] 基于第二方面,在可能的实施例中,所述方法用于解码视频序列中的当前图像块,所述当前图像块包括所述第一亮度块和所述当前色度块,所述视频序列中的图像为 4∶2∶0
格式或者4∶2∶2格式。
[0030] 基于第二方面,在可能的实施例中,编码端和解码端可对滤波器类型进行相同的设计。例如,编码端设计有6种滤波器类型(对应于6种色度采样点位置),解码端也设计有6
种滤波器类型,且所述解码端的6种滤波器类型的下采样算法分别与编码端一致。又例如,
编码端设计有2种滤波器类型(对应于2种色度采样点位置),解码端也设计有2种滤波器类
型,且所述解码端的2种滤波器类型的下采样算法分别与编码端一致
[0031] 基于第二方面,在可能的实施例中,所述第一指示信息即包括该SPS参数的值,用于指示编码或者解码时对色度块预测中所采用的亮度下采样滤波器的类型。
[0032] 基于第二方面,在可能的实施例中,根据所述模板色度点和所述模板亮度点,获得线性模型系数包括:可根据所述模板色度点和所述模板亮度点,利用最小二乘法的方法来
求取线性模型系数α和β。
[0033] 基于第二方面,在可能的实施例中,根据所述模板色度点和所述模板亮度点,获得线性模型系数包括:可根据所述模板色度点和所述模板亮度点,利用极值的方法来求取线
性模型系数α和β。
[0034] 第三方面,该方法可应用于对当前色度块的帧内预测中,可从解码端的角度进行描述,采用的帧内预测模式例如为LM模式。方法包括:根据当前色度块的采样点位置确定滤
波器类型;根据所述滤波器类型对应的滤波器,对第一亮度块进行下采样操作,获得第二亮
度块,所述第一亮度块是当前色度块对应的亮度块;获取模板色度点和模板亮度点,所述模
板色度点包括所述当前色度块相邻的多个色度像素点,所述模板亮度点通过对所述第一亮
度块相邻的多个亮度像素点进行下采样操作获得;根据所述模板色度点和所述模板亮度
点,获得线性模型系数;根据所述第二亮度块和所述线性模型系数,获得所述当前色度块的
预测值。
[0035] 可以看到,本发明实施例中,编码器可以根据当前色度块的采样点位置确定当前亮度块采用的亮度下采样滤波器,从而可以得到与色度点采样位置相匹配的滤波器,有利
于兼顾现实中不同视频序列可能存在不同的色度采样点位置的情况,提高编码效率和编码
准确度。
[0036] 基于第三方面,在可能的实施例中,所述根据当前色度块的采样点位置确定滤波器类型之前包括:解析码流获得第一指示信息,所述第一指示信息用于指示所述当前色度
块的采样点位置。所述当前色度块的采样点位置可关联所述滤波器类型。
[0037] 可以看到,本发明实施例中,编码器可以根据第一指示信息确定当前色度点的采样点位置,从而可以得到与色度点采样点位置相匹配的滤波器。由于编码端和解码端都可
以得到与色度点采样位置相匹配的滤波器,提高编码端的编码准确度和编码效率。
[0038] 基于第三方面,在可能的实施例中,所述当前色度块的采样点位置例如可以由所述当前色度块的采样点位置类型来确定。所述当前色度块的采样点位置类型可关联所述滤
波器类型。
[0039] 在一种实现中,所述当前色度块的采样点位置类型为以下采样点位置类型中的至少一种:采样点位置类型type0、采样点位置类型type2。
[0040] 在又一种实现中,所述当前色度块的采样点位置类型为以下采样点位置类型中的至少一种:采样点位置类型type0、采样点位置类型type1、采样点位置类型type2、采样点位
置类型type3、采样点位置类型type4、采样点位置类型type5。
[0041] 基于第三方面,在可能的实施例中,所述解析码流获得第一指示信息包括:解析码流中的序列参数集(SPS)参数,获得所述第一指示信息。实施本实施例,编码端可通过某一
SPS参数来向解码端指示当前色度块的采样点位置类型,即相当于向解码端指定了下采样
滤波器的类型,进而保证编码端和解码端都可以得到与色度点采样位置相匹配的滤波器。
[0042] 第四方面,本发明实施例提供了一种用于编码视频数据的设备,所述设备包括存储器以及耦合的编码器,其中,存储器,用于存储码流形式的视频数据;编码器,用于根据当
前色度块的采样点位置类型确定滤波器类型;设置第一指示信息,所述第一指示信息用于
指示所述滤波器类型;将所述第一指示信息编入码流。具体的,所述设备可用于实现第一方
面所描述的方法。
[0043] 第五方面,本发明实施例提供了一种用于解码视频数据的设备,所述设备包括存储器以及耦合的解码器,其中,存储器,用于存储码流形式的视频数据;解码器,用于解析码
流获得第一指示信息,所述第一指示信息用于指示滤波器类型;根据所述滤波器类型对应
的滤波器,对第一亮度块进行下采样操作,获得第二亮度块,所述第一亮度块是当前色度块
对应的亮度块;获取模板色度点和模板亮度点,所述模板色度点包括所述当前色度块相邻
的多个色度像素点,所述模板亮度点通过对所述第一亮度块相邻的多个亮度像素点进行下
采样操作获得;根据所述模板色度点和所述模板亮度点,获得线性模型系数;根据所述第二
亮度块和所述线性模型系数,获得所述当前色度块的预测值。具体的,所述设备可用于实现
第二方面所描述的方法。
[0044] 第六方面,本发明实施例提供了一种用于解码视频数据的设备,所述设备包括存储器以及耦合的解码器,其中,存储器,用于存储码流形式的视频数据;解码器,用于根据当
前色度块的采样点位置类型确定滤波器类型;根据所述滤波器类型对应的滤波器,对第一
亮度块进行下采样操作,获得第二亮度块,所述第一亮度块是当前色度块对应的亮度块;获
取模板色度点和模板亮度点,所述模板色度点包括所述当前色度块相邻的多个色度像素
点,所述模板亮度点通过对所述第一亮度块相邻的多个亮度像素点进行下采样操作获得;
根据所述模板色度点和所述模板亮度点,获得线性模型系数;根据所述第二亮度块和所述
线性模型系数,获得所述当前色度块的预测值。具体的,所述设备可用于实现第三方面所描
述的方法。
[0045] 第七方面,本发明实施例提供了一种编码设备,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行第一方面所描述的方
法。
[0046] 第八方面,本发明实施例提供了一种解码设备,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行第二方面所描述的方
法。
[0047] 第九方面,本发明实施例提供了一种解码设备,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行第三方面所描述的方
法。
[0048] 第十方面,本发明实施例提供了一种系统,所述系统包括如第四方面所述的设备和如第五方面所述的设备,或者,所述系统包括如第四方面所述的设备和如第六方面所述
的设备。
[0049] 第十一方面,本发明实施例提供了又一种系统,所述系统包括如第七方面所述的编码设备和如第八方面所述的解码设备,或者所述系统包括如第七方面所述的编码设备和
如第九方面所述的解码设备。
[0050] 第十二方面,本发明实施例提供了一种非易失性计算机可读存储介质;所述计算机可读存储介质用于存储第一方面所述方法的实现代码。所述程序代码被计算设备执行
时,所述计算设备用于第一方面所述方法。
[0051] 第十三方面,本发明实施例提供了又一种非易失性计算机可读存储介质;所述计算机可读存储介质用于存储第二方面或第三方面所述方法的实现代码。所述程序代码被计
算设备执行时,所述用户设备用于第二方面或第三方面所述方法。
[0052] 第十四方面,本发明实施例提供了一种计算机程序产品;该计算机程序产品包括程序指令,当该计算机程序产品被计算设备执行时,该控制器执行前述第一方面所述方法。
该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面的任一种可能的设计
提供的方法的情况下,可以下载该计算机程序产品并在控制器上执行该计算机程序产品,
以实现第一方面所述方法。
[0053] 第十五方面,本发明实施例提供了又一种计算机程序产品。该计算机程序产品包括程序指令,当该计算机程序产品被用户设备执行时,该控制器执行前述第二方面或第三
方面的任一种可能的设计提供的方法。该计算机程序产品可以为一个软件安装包,在需要
使用前述第二方面或第三方面的任一种可能的设计提供的方法的情况下,可以下载该计算
机程序产品并在控制器上执行该计算机程序产品,以实现第二方面或第三方面所述方法。
[0054] 可以看到,本发明实施例中,对于LM模式,编码器可以根据当前色度块的采样点位置来决定当前亮度块采用的亮度下采样滤波器,并通过指示信息(如新增得SPS 参数的值)
来向解码器指定下采样滤波器的类型。从而保证编码端和解码端都可以得到与色度点采样
位置相匹配的滤波器,有利于兼顾现实中不同视频序列可能存在不同的色度采样点位置的
情况,保证下采样亮度点的位置与色度采样点位置具有一致性,从而提高编码端的编码准
确度和编码效率。

附图说明

[0055] 为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
[0056] 图1A示出用于实现本发明实施例的视频译码系统实例的框图;
[0057] 图1B示出包含图2的编码器20和图3的解码器30中的任一个或两个的视频译码系统实例的框图;
[0058] 图2示出用于实现本发明实施例的编码器实例结构的框图;
[0059] 图3示出用于实现本发明实施例的解码器实例结构的框图;
[0060] 图4示出一种编码装置或解码装置实例的框图;
[0061] 图5示出另一种编码装置或解码装置实例的框图;
[0062] 图6示出YUV图像的几种格式的示意图;
[0063] 图7示出色度采样点位置与亮度采样点位置关系示意图;
[0064] 图8示出亮度块、下采样后的亮度块以及当前色度块的一种实施例;
[0065] 图9示出模板亮度点和模板色度点的一种实施例;
[0066] 图10示出模板亮度点和模板色度点的又一种实施例;
[0067] 图11示出一些色度采样点位置与亮度采样点的位置关系的示例性图;
[0068] 图12示出本发明实施例提供的一种色度块预测方法的流程图;
[0069] 图13示出本发明实施例提供的又一种色度块预测方法的流程图;
[0070] 图14示出了像素值对集合在亮度‑色度坐标系中的分布示意图;
[0071] 图15示出本发明实施例提供的又一种色度块预测方法的流程图;
[0072] 图16示出了实现内容分发服务的内容供应系统的示例结构的框图;
[0073] 图17示出了终端设备的示例的结构的框图。

具体实施方式

[0074] 下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
[0075] 视频编码通常是指处理形成视频或视频序列的图片序列。在视频编码领域,术语“图片(picture)”、“帧(frame)”或“图像(image)”可以用作同义词。本文中使用的视频编码
表示视频编码或视频解码。视频编码在源侧执行,通常包括处理(例如,通过压缩)原始视频
图片以减少表示该视频图片所需的数据量,从而更高效地存储和 /或传输。视频解码在目
的地侧执行,通常包括相对于编码器作逆处理,以重构视频图片。实施例涉及的视频图片
“编码”应理解为涉及视频序列的“编码”或“解码”。编码部分和解码部分的组合也称为编解
码(编码和解码)。
[0076] 视频序列的多个图片中的每个图片通常分割成不重叠的块集合,通常在块层级上进行编码。换句话说,编码器侧通常在块(也称为图像块,或视频块)层级处理亦即编码视
频,例如,通过空间(图片内)预测和时间(图片间)预测来产生预测块,从当前块(当前处理
或待处理的块)减去预测块以获取残差块,在变换域变换残差块并量化残差块,以减少待传
输(压缩)的数据量,而解码器侧将相对于编码器的逆处理部分应用于经编码或经压缩块,
以重构用于表示的当前块。另外,编码器复制解码器处理循环,使得编码器和解码器生成相
同的预测(例如帧内预测和帧间预测)和/或重构,用于处理亦即编码后续块。
[0077] 术语“块”为图片或帧的一部分。本文中,当前块是指当前正在处理的块。例如在编码中,指当前正在编码的块;在解码中,指当前正在解码的块。如果当前处理的块为色度分
量块,则称为当前色度块。当前色度块对应的亮度块可以称为当前亮度块。参考块是指为当
前块提供参考信号的块,其中,参考信号表示图像块内的像素值或者采样值或者采样信号。
预测块是为当前块提供预测信号的块,其中,预测信号表示预测块内的像素值或者采样值
或者采样信号。例如,在遍历多个参考块以后,找到了最佳参考块,此最佳参考块将为当前
块提供预测,此块称为预测块。
[0078] 此外,本文中,像素点(或者像素)还可称为采样点,相应的,像素值也可称为采样点的值(或者采样值)。如果当前块所含采样点为亮度采样点,则当前块可称为当前亮度块
(或称当前亮度图像块)。如果当前块所含采样点为色度采样点,则当前图像块可称为当前
色度块(或称当前色度图像块)。
[0079] 下面描述本发明实施例所应用的系统架构,参见图1A,图1A为本发明实施例中所描述的一种实例的视频译码系统10的框图。如本文所使用,术语“视频译码器”一般是指视
频编码器和视频解码器两者。在本文中,术语“视频译码”或“译码”可一般地指代视频编码
或视频解码。如图1A所示,视频译码系统10可包括源设备12 和目的地设备14,源设备12产
生经编码视频数据,因此,源设备12可被称为视频编码装置。目的地设备14可对由源设备12
所产生的经编码的视频数据进行解码,因此,目的地设备14可被称为视频解码装置。源设备
12、目的地设备14或两个的各种实施方案可包含一或多个处理器以及耦合到所述一或多个
处理器的存储器。所述存储器可包含但不限于RAM、ROM、EEPROM、快闪存储器或可用于以可
由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体,如本文所描
述。源设备12和目的地设备14可以包括各种装置,包含桌上型计算机、移动计算装置、笔记
型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视
机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
[0080] 源设备12和目的地设备14之间可通过链路13进行通信连接,目的地设备14可经由链路13从源设备12接收经编码视频数据。链路13可包括能够将经编码视频数据从源设备12
移动到目的地设备14的一或多个媒体或装置。在一个实例中,链路13 可包括使得源设备12
能够实时将经编码视频数据直接发射到目的地设备14的一或多个通信媒体。在此实例中,
源设备12可根据通信标准(例如无线通信协议)来调制经编码视频数据,且可将经调制的视
频数据发射到目的地设备14。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如
射频(RF)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一
部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通
信媒体可包含路由器、交换器、基站或促进从源设备12到目的地设备14的通信的其它设备。
[0081] 源设备12包括编码器20,另外可选地,源设备12还可以包括图片源16、图片预处理器18、以及通信接口22。具体实现形态中,所述编码器20、图片源16、图片预处理器18、以及
通信接口22可能是源设备12中的硬件部件,也可能是源设备12 中的软件程序。分别描述如
下:
[0082] 图片源16,可以包括或可以为任何类别的图片捕获设备,用于例如捕获现实世界图片,和/或任何类别的图片或评论(对于屏幕内容编码,屏幕上的一些文字也认为是待编
码的图片或图像的一部分)生成设备,例如,用于生成计算机动画图片的计算机图形处理
器,或用于获取和/或提供现实世界图片、计算机动画图片(例如,屏幕内容、虚拟现实
(virtual reality,VR)图片)的任何类别设备,和/或其任何组合 (例如,实景(augmented 
reality,AR)图片)。图片源16可以为用于捕获图片的相机或者用于存储图片的存储器,图
片源16还可以包括存储先前捕获或产生的图片和/或获取或接收图片的任何类别的(内部
或外部)接口。当图片源16为相机时,图片源16可例如为本地的或集成在源设备中的集成相
机;当图片源16为存储器时,图片源16可为本地的或例如集成在源设备中的集成存储器。当
所述图片源16包括接口时,接口可例如为从外部视频源接收图片的外部接口,外部视频源
例如为外部图片捕获设备,比如相机、外部存储器或外部图片生成设备,外部图片生成设备
例如为外部计算机图形处理器、计算机或服务器。接口可以为根据任何专有或标准化接口
协议的任何类别的接口,例如有线或无线接口、光接口。
[0083] 其中,图片可以视为具有亮度值的采样点的二维阵列或矩阵。阵列中的采样点也可以称为像素(pixel)(像素(picture element)的简称)或像素(pel)。阵列或图片在水平
和垂直方向(或轴线)上的采样点数目定义图片的尺寸和/或分辨率。为了表示颜色,通常采
用三个颜色分量,即图片可以表示为或包含三个采样阵列。RBG 格式或颜色空间中,图片包
括对应的红色、绿色及蓝色采样阵列。但是,在视频编码中,每个像素通常以亮度/色度格式
或颜色空间表示,例如对于YUV格式的图片,包括Y指示的亮度分量(有时也可以用L指示)以
及U和V指示的两个色度分量。亮度 (简写为luma)分量Y表示亮度或灰度水平强度(例如,在
灰度等级图片中两者相同),而两个色度(简写为chroma)分量U和V表示色度或颜色信息分
量。相应地,YUV格式的图片包括亮度采样值(Y)的亮度采样阵列,和色度值(U和V)的两个色
度采样阵列。RGB格式的图片可以转换或变换为YUV格式,反之亦然,该过程也称为色彩变换
或转换。如果图片是黑白的,该图片可以只包括亮度采样阵列。本发明实施例中,由图片源
16传输至图片处理器的图片也可称为原始图片数据17。本发明可能的实施例中,图片源16
还可用于来确定当前视频序列的各个图片的色度采样点的位置。
[0084] 图片预处理器18,用于接收原始图片数据17并对原始图片数据17执行预处理,以获取经预处理的图片19或经预处理的图片数据19。例如,图片预处理器18执行的预处理可
以包括整修、色彩格式转换(例如,从RGB格式转换为YUV格式)、调色或去噪。可能实施例中,
图片预处理器18还可能用于确定当前视频序列中的色度采样点的位置。
[0085] 编码器20(或称编码器20),用于接收经预处理的图片数据19,采用相关预测模式(如本文各个实施例中的帧内预测模式)对经预处理的图片数据19进行处理,从而提供经编
码图片数据21(下文将进一步基于图2或图4或图5描述编码器20的结构细节)。在一些实施
例中,编码器20可以用于执行后文所描述的各个实施例,以实现本发明所描述的色度块预
测方法在编码侧的应用。
[0086] 通信接口22,可用于接收经编码图片数据21,并可通过链路13将经编码图片数据21传输至目的地设备14或任何其它设备(如存储器),以用于存储或直接重构,所述其它设
备可为任何用于解码或存储的设备。通信接口22可例如用于将经编码图片数据21封装成合
适的格式,例如数据包,以在链路13上传输。
[0087] 目的地设备14包括解码器30,另外可选地,目的地设备14还可以包括通信接口 28、图片后处理器32和显示设备34。分别描述如下:
[0088] 通信接口28,可用于从源设备12或任何其它源接收经编码图片数据21,所述任何其它源例如为存储设备,存储设备例如为经编码图片数据存储设备。通信接口28 可以用于
藉由源设备12和目的地设备14之间的链路13或藉由任何类别的网络传输或接收经编码图
片数据21,链路13例如为直接有线或无线连接,任何类别的网络例如为有线或无线网络或
其任何组合,或任何类别的私网和公网,或其任何组合。通信接口28可以例如用于解封装通
信接口22所传输的数据包以获取经编码图片数据21。
[0089] 通信接口28和通信接口22都可以配置为单向通信接口或者双向通信接口,以及可以用于例如发送和接收消息来建立连接、确认和交换任何其它与通信链路和/或例如经编
码图片数据传输的数据传输有关的信息。
[0090] 解码器30(或称为解码器30),用于接收经编码图片数据21并提供经解码图片数据31或经解码图片31(下文将进一步基于图3或图4或图5描述解码器30的结构细节)。在一些
实施例中,解码器30可以用于执行后文所描述的各个实施例,以实现本发明所描述的色度
块预测方法在解码侧的应用。
[0091] 图片后处理器32,用于对经解码图片数据31(也称为经重构图片数据)执行后处理,以获得经后处理图片数据33。图片后处理器32执行的后处理可以包括:色彩格式转换
(例如,从YUV格式转换为RGB格式)、调色、整修或重采样,或任何其它处理,还可用于将将经
后处理图片数据33传输至显示设备34。
[0092] 显示设备34,用于接收经后处理图片数据33以向例如用户或观看者显示图片。显示设备34可以为或可以包括任何类别的用于呈现经重构图片的显示器,例如,集成的或外
部的显示器或监视器。例如,显示器可以包括液晶显示器(liquid crystal display,LCD)、
有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、
微LED显示器、硅基液晶(liquid crystal on silicon, LCoS)、数字光处理器(digital 
light processor,DLP)或任何类别的其它显示器。
[0093] 虽然,图1A将源设备12和目的地设备14绘示为单独的设备,但设备实施例也可以同时包括源设备12和目的地设备14或同时包括两者的功能性,即源设备12或对应的功能性
以及目的地设备14或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使
用单独的硬件和/或软件,或其任何组合来实施源设备12或对应的功能性以及目的地设备
14或对应的功能性。
[0094] 本领域技术人员基于描述明显可知,不同单元的功能性或图1A所示的源设备12 和/或目的地设备14的功能性的存在和(准确)划分可能根据实际设备和应用有所不同。源
设备12和目的地设备14可以包括各种设备中的任一个,包含任何类别的手持或静止设备,
例如,笔记本或膝上型计算机、移动电话、智能手机、平板或平板计算机、摄像机、台式计算
机、机顶盒、电视机、相机、车载设备、显示设备、数字媒体播放器、视频游戏控制台、视频流
式传输设备(例如内容服务服务器或内容分发服务器)、广播接收器设备、广播发射器设备
等,并可以不使用或使用任何类别的操作系统。
[0095] 编码器20和解码器30都可以实施为各种合适电路中的任一个,例如,一个或多个微处理器、数字信号处理器(digital  signal  processor,DSP)、专用集成电路 
(apptication‑specific integrated circuit,ASIC)、现场可编程门阵列 (field‑
programmable gate array,FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件实施
所述技术,则设备可将软件的指令存储于合适的非暂时性计算机可读存储介质中,且可使
用一或多个处理器以硬件执行指令从而执行本公开的技术。前述内容(包含硬件、软件、硬
件与软件的组合等)中的任一者可视为一或多个处理器。
[0096] 在一些情况下,图1A中所示视频译码系统10仅为示例,本申请的技术可以适用于不必包含编码和解码设备之间的任何数据通信的视频编码设置(例如,视频编码或视频解
码)。在其它实例中,数据可从本地存储器检索、在网络上流式传输等。视频编码设备可以对
数据进行编码并且将数据存储到存储器,和/或视频解码设备可以从存储器检索数据并且
对数据进行解码。在一些实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器
检索数据且解码数据的设备执行编码和解码。
[0097] 参见图1B,图1B是根据一示例性实施例的包含图2的编码器20和/或图3的解码器30的视频译码系统40的实例的说明图。视频译码系统40可以实现本发明实施例的各种技术
的组合。在所说明的实施方式中,视频译码系统40可以包含成像设备 41、编码器20、解码器
30(和/或藉由处理单元46的逻辑电路47实施的视频编/解码器)、天线42、一个或多个处理
器43、一个或多个存储器44和/或显示设备45。
[0098] 如图1B所示,成像设备41、天线42、处理单元46、逻辑电路47、编码器20、解码器30、处理器43、存储器44和/或显示设备45能够互相通信。如所论述,虽然用编码器20和解码器
30绘示视频译码系统40,但在不同实例中,视频译码系统40 可以只包含编码器20或只包含
解码器30。
[0099] 在一些实例中,天线42可以用于传输或接收视频数据的经编码比特流。另外,在一些实例中,显示设备45可以用于呈现视频数据。在一些实例中,逻辑电路47可以通过处理单
元46实施。处理单元46可以包含专用集成电路(application‑specific integrated 
circuit,ASIC)逻辑、图形处理器、通用处理器等。视频译码系统40 也可以包含可选的处理
器43,该可选处理器43类似地可以包含专用集成电路  (application‑specific 
integrated circuit,ASIC)逻辑、图形处理器、通用处理器等。在一些实例中,逻辑电路47
可以通过硬件实施,如视频编码专用硬件等,处理器43可以通过通用软件、操作系统等实
施。另外,存储器44可以是任何类型的存储器,例如易失性存储器(例如,静态随机存取存储
器(Static Random Access Memory, SRAM)、动态随机存储器(Dynamic Random Access 
Memory,DRAM)等)或非易失性存储器(例如,闪存等)等。在非限制性实例中,存储器44可以
由超速缓存内存实施。在一些实例中,逻辑电路47可以访问存储器44(例如用于实施图像缓
冲器)。在其它实例中,逻辑电路47和/或处理单元46可以包含存储器(例如,缓存等)用于实
施图像缓冲器等。
[0100] 在一些实例中,通过逻辑电路实施的编码器20可以包含(例如,通过处理单元46或存储器44实施的)图像缓冲器和(例如,通过处理单元46实施的)图形处理单元。图形处理单
元可以通信耦合至图像缓冲器。图形处理单元可以包含通过逻辑电路 47实施的编码器20,
以实施参照图2和/或本文中所描述的任何其它编码器系统或子系统所论述的各种模块。逻
辑电路可以用于执行本文所论述的各种操作。
[0101] 在一些实例中,解码器30可以以类似方式通过逻辑电路47实施,以实施参照图 3的解码器30和/或本文中所描述的任何其它解码器系统或子系统所论述的各种模块。在一
些实例中,逻辑电路实施的解码器30可以包含(通过处理单元2820或存储器44 实施的)图
像缓冲器和(例如,通过处理单元46实施的)图形处理单元。图形处理单元可以通信耦合至
图像缓冲器。图形处理单元可以包含通过逻辑电路47实施的解码器30,以实施参照图3和/
或本文中所描述的任何其它解码器系统或子系统所论述的各种模块。
[0102] 在一些实例中,的天线42可以用于接收视频数据的经编码比特流。如所论述,经编码比特流可以包含本文所论述的与编码视频帧相关的数据、指示符、索引值、模式选择数据
等,例如与编码分割相关的数据(例如,变换系数或经量化变换系数,(如所论述的)可选指
示符,和/或定义编码分割的数据)。视频译码系统40还可包含耦合至天线42并用于解码经
编码比特流的解码器30。显示设备45用于呈现视频帧。
[0103] 应理解,本发明实施例中对于参考编码器20所描述的实例,解码器30可以用于执行相反过程。关于信令语法元素,解码器30可以用于接收并解析这种语法元素,相应地解码
相关视频数据。在一些例子中,编码器20可以将语法元素熵编码成经编码视频比特流。在此
类实例中,解码器30可以解析这种语法元素,并相应地解码相关视频数据。
[0104] 需要说明的是,本发明实施例描述的色度块预测方法主要用于帧内预测过程,此过程在编码器20和解码器30均存在,本发明实施例中的编码器20和解码器30可以是例如
H.263、H.264、HEVV、MPEG‑2、MPEG‑4、VP8、VP9等视频标准协议或者下一代视频标准协议(如
H.266等)对应的编/解码器。
[0105] 参见图2,图2示出用于实现本发明实施例的编码器20的实例的示意性/概念性框图。在图2的实例中,编码器20包括残差计算单元204、变换处理单元206、量化单元208、逆量
化单元210、逆变换处理单元212、重构单元214、缓冲器216、环路滤波器单元220、经解码图
片缓冲器(decoded picture buffer,DPB)230、预测处理单元260和熵编码单元270。预测处
理单元260可以包含帧间预测单元244、帧内预测单元254和模式选择单元262。帧间预测单
元244可以包含运动估计单元和运动补偿单元(未图示)。图2所示的编码器20也可以称为混
合型视频编码器或根据混合型视频编解码器的视频编码器。
[0106] 例如,残差计算单元204、变换处理单元206、量化单元208、预测处理单元260 和熵编码单元270形成编码器20的前向信号路径,而例如逆量化单元210、逆变换处理单元212、
重构单元214、缓冲器216、环路滤波器220、经解码图片缓冲器(decoded picture buffer,
DPB)230、预测处理单元260形成编码器的后向信号路径,其中编码器的后向信号路径对应
于解码器的信号路径(参见图3中的解码器30)。
[0107] 编码器20通过例如输入202,接收图片201或图片201的图像块203,例如,形成视频或视频序列的图片序列中的图片。图像块203也可以称为当前图片块或待编码图片块,图片
201可以称为当前图片或待编码图片(尤其是在视频编码中将当前图片与其它图片区分开
时,其它图片例如同一视频序列亦即也包括当前图片的视频序列中的先前经编码和/或经
解码图片)。
[0108] 编码器20的实施例可以包括分割单元(图2中未绘示),用于将图片201分割成多个例如图像块203的块,通常分割成多个不重叠的块。分割单元可以用于对视频序列中所有图
片使用相同的块大小以及定义块大小的对应栅格,或用于在图片或子集或图片群组之间更
改块大小,并将每个图片分割成对应的块。
[0109] 在一个实例中,编码器20的预测处理单元260可以用于执行上述分割技术的任何组合。
[0110] 如图片201,图像块203也是或可以视为具有亮度值(采样值)的采样点的二维阵列或矩阵,虽然其尺寸比图片201小。换句话说,图像块203可以包括,例如,一个采样阵列(例
如黑白图片201情况下的亮度阵列)或三个采样阵列(例如,彩色图片情况下的一个亮度阵
列和两个色度阵列)或依据所应用的色彩格式的任何其它数目和/或类别的阵列。图像块
203的水平和垂直方向(或轴线)上采样点的数目定义图像块203的尺寸。
[0111] 如图2所示的编码器20用于逐块编码图片201,例如,对每个图像块203执行编码和预测。
[0112] 残差计算单元204用于基于图片图像块203和预测块265(下文提供预测块265 的其它细节)计算残差块205,例如,通过逐样本(逐像素)将图片图像块203的样本值减去预测
块265的样本值,以在样本域中获取残差块205。
[0113] 变换处理单元206用于在残差块205的样本值上应用例如离散余弦变换(discrete cosine transform,DCT)或离散正弦变换(discrete sine transform, DST)的变换,以在
变换域中获取变换系数207。变换系数207也可以称为变换残差系数,并在变换域中表示残
差块205。
[0114] 变换处理单元206可以用于应用DCT/DST的整数近似值,例如为HEVC/H.265指定的变换。与正交DCT变换相比,这种整数近似值通常由某一因子按比例缩放。为了维持经正变
换和逆变换处理的残差块的范数,应用额外比例缩放因子作为变换过程的一部分。比例缩
放因子通常是基于某些约束条件选择的,例如,比例缩放因子是用于移位运算的2的幂、变
换系数的位深度、准确性和实施成本之间的权衡等。例如,在解码器30侧通过例如逆变换处
理单元212为逆变换(以及在编码器20侧通过例如逆变换处理单元212为对应逆变换)指定
具体比例缩放因子,以及相应地,可以在编码器20侧通过变换处理单元206为正变换指定对
应比例缩放因子。
[0115] 量化单元208用于例如通过应用标量量化或向量量化来量化变换系数207,以获取经量化变换系数209。经量化变换系数209也可以称为经量化残差系数209。量化过程可以减
少与部分或全部变换系数207有关的位深度。例如,可在量化期间将n位变换系数向下舍入
到m位变换系数,其中n大于m。可通过调整量化参数(quantization parameter,QP)修改量
化程度。例如,对于标量量化,可以应用不同的标度来实现较细或较粗的量化。较小量化步
长对应较细量化,而较大量化步长对应较粗量化。可以通过量化参数(quantization 
parameter,QP)指示合适的量化步长。例如,量化参数可以为合适的量化步长的预定义集合
的索引。例如,较小的量化参数可以对应精细量化(较小量化步长),较大量化参数可以对应
粗糙量化(较大量化步长),反之亦然。量化可以包含除以量化步长以及例如通过逆量化210
执行的对应的量化或逆量化,或者可以包含乘以量化步长。根据例如HEVC的一些标准的实
施例可以使用量化参数来确定量化步长。一般而言,可以基于量化参数使用包含除法的等
式的定点近似来计算量化步长。可以引入额外比例缩放因子来进行量化和反量化,以恢复
可能由于在用于量化步长和量化参数的等式的定点近似中使用的标度而修改的残差块的
范数。在一个实例实施方式中,可以合并逆变换和反量化的标度。或者,可以使用自定义量
化表并在例如比特流中将其从编码器通过信号发送到解码器。量化是有损操作,其中量化
步长越大,损耗越大。
[0116] 逆量化单元210用于在经量化系数上应用量化单元208的逆量化,以获取经反量化系数211,例如,基于或使用与量化单元208相同的量化步长,应用量化单元208 应用的量化
方案的逆量化方案。经反量化系数211也可以称为经反量化残差系数211,对应于变换系数
207,虽然由于量化造成的损耗通常与变换系数不相同。
[0117] 逆变换处理单元212用于应用变换处理单元206应用的变换的逆变换,例如,逆离散余弦变换(discrete cosine transform,DCT)或逆离散正弦变换(discrete sine
transform,DST),以在样本域中获取逆变换块213。逆变换块213也可以称为逆变换经反量
化块213或逆变换残差块213。
[0118] 重构单元214(例如,求和器214)用于将逆变换块213(即经重构残差块213) 添加至预测块265,以在样本域中获取经重构块215,例如,将经重构残差块213的样本值与预测
块265的样本值相加。
[0119] 可选地,例如线缓冲器216的缓冲器单元216(或简称“缓冲器”216)用于缓冲或存储经重构块215和对应的样本值,用于例如帧内预测。在其它的实施例中,编码器可以用于
使用存储在缓冲器单元216中的未经滤波的经重构块和/或对应的样本值来进行任何类别
的估计和/或预测,例如帧内预测。
[0120] 例如,编码器20的实施例可以经配置以使得缓冲器单元216不只用于存储用于帧内预测254的经重构块215,也用于环路滤波器单元220(在图2中未示出),和/ 或,例如使得
缓冲器单元216和经解码图片缓冲器单元230形成一个缓冲器。其它实施例可以用于将经滤
波块221和/或来自经解码图片缓冲器230的块或样本(图2中均未示出)用作帧内预测254的
输入或基础。
[0121] 环路滤波器单元220(或简称“环路滤波器”220)用于对经重构块215进行滤波以获取经滤波块221,从而顺利进行像素转变或提高视频质量。环路滤波器单元220 旨在表示一
个或多个环路滤波器,例如去块滤波器、样本自适应偏移 (sample‑adaptive offset,SAO)
滤波器或其它滤波器,例如双边滤波器、自适应环路滤波器(adaptive loop filter,ALF),
或锐化或平滑滤波器,或协同滤波器。尽管环路滤波器单元220在图2中示出为环内滤波器,
但在其它配置中,环路滤波器单元220可实施为环后滤波器。经滤波块221也可以称为经滤
波的经重构块221。经解码图片缓冲器230可以在环路滤波器单元220对经重构编码块执行
滤波操作之后存储经重构编码块。
[0122] 编码器20(对应地,环路滤波器单元220)的实施例可以用于输出环路滤波器参数(例如,样本自适应偏移信息),例如,直接输出或由熵编码单元270或任何其它熵编码单元
熵编码后输出,例如使得解码器30可以接收并应用相同的环路滤波器参数用于解码。
[0123] 经解码图片缓冲器(decoded picture buffer,DPB)230可以为存储参考图片数据供编码器20编码视频数据之用的参考图片存储器。DPB 230可由多种存储器设备中的任一
个形成,例如动态随机存储器(dynamic random access memory,DRAM)(包含同步DRAM
(synchronous DRAM,SDRAM)、磁阻式RAM(magnetoresistive RAM,MRAM)、电阻式RAM
(resistive RAM,RRAM))或其它类型的存储器设备。可以由同一存储器设备或单独的存储
器设备提供DPB 230和缓冲器216。在某一实例中,经解码图片缓冲器(decoded picture 
buffer,DPB)230用于存储经滤波块221。经解码图片缓冲器230可以进一步用于存储同一当
前图片或例如先前经重构图片的不同图片的其它先前的经滤波块,例如先前经重构和经滤
波块221,以及可以提供完整的先前经重构亦即经解码图片(和对应参考块和样本)和/或部
分经重构当前图片(和对应参考块和样本),例如用于帧间预测。在某一实例中,如果经重构
块215无需环内滤波而得以重构,则经解码图片缓冲器(decoded picture buffer,DPB)230
用于存储经重构块 215。
[0124] 预测处理单元260,也称为块预测处理单元260,用于接收或获取图像块203(当前图片201的当前图像块203)和经重构图片数据,例如来自缓冲器216的同一(当前)图片的参
考样本和/或来自经解码图片缓冲器230的一个或多个先前经解码图片的参考图片数据
231,以及用于处理这类数据进行预测,即提供可以为经帧间预测块 245或经帧内预测块
255的预测块265。
[0125] 模式选择单元262可以用于选择预测模式(例如帧内或帧间预测模式)和/或对应的用作预测块265的预测块245或255,以计算残差块205和重构经重构块215。
[0126] 模式选择单元262的实施例可以用于选择预测模式(例如,从预测处理单元260 所支持的那些预测模式中选择),所述预测模式提供最佳匹配或者说最小残差(最小残差意味
着传输或存储中更好的压缩),或提供最小信令开销(最小信令开销意味着传输或存储中更
好的压缩),或同时考虑或平衡以上两者。模式选择单元262可以用于基于码率失真优化
(rate distortion optimization,RDO)确定预测模式,即选择提供最小码率失真优化的预
测模式,或选择相关码率失真至少满足预测模式选择标准的预测模式。
[0127] 预测处理单元260可以进一步用于将图像块203分割成较小的块分区或子块,例如,通过迭代使用四叉树(quad‑tree,QT)分割、二进制树(binary‑tree,BT)分割或三叉树
(triple‑tree,TT)分割,或其任何组合,以及用于例如为块分区或子块中的每一个执行预
测,其中模式选择包括选择分割的图像块203的树结构和选择应用于块分区或子块中的每
一个的预测模式。
[0128] 帧间预测单元244可以包含运动估计(motion estimation,ME)单元(图2中未示出)和运动补偿(motion compensation,MC)单元(图2中未示出)。运动估计单元用于接收或
获取图片图像块203(当前图片201的当前图片图像块203)和经解码图片231,或至少一个或
多个先前经重构块,例如,一个或多个其它/不同先前经解码图片231的经重构块,来进行运
动估计。例如,视频序列可以包括当前图片和先前经解码图片31,或换句话说,当前图片和
先前经解码图片31可以是形成视频序列的图片序列的一部分,或者形成该图片序列。
[0129] 例如,编码器20可以用于从多个其它图片中的同一或不同图片的多个参考块中选择参考块,并向运动估计单元(图2中未示出)提供参考图片和/或提供参考块的位置(X、Y坐
标)与当前块的位置之间的偏移(空间偏移)作为帧间预测参数。该偏移也称为运动向量
(motion vector,MV)。
[0130] 运动补偿单元用于获取帧间预测参数,并基于或使用帧间预测参数执行帧间预测来获取帧间预测块245。由运动补偿单元(图2中未示出)执行的运动补偿可以包含基于通过
运动估计(可能执行对子像素精确度的内插)确定的运动/块向量取出或生成预测块。内插
滤波可从已知像素样本产生额外像素样本,从而潜在地增加可用于编码图片块的候选预测
块的数目。一旦接收到用于当前图片块的PU的运动向量,运动补偿单元246可以在一个参考
图片列表中定位运动向量指向的预测块。运动补偿单元 246还可以生成与块和视频条带相
关联的语法元素,以供解码器30在解码视频条带的图片块时使用。
[0131] 帧内预测单元254用于获取同一图片的图片图像块203(当前图片块)和一个或多个先前经重构块,例如经重构相邻块,以进行帧内估计。例如,编码器20可以用于从多个帧
内预测模式中选择一帧内预测模式(如选择LM预测模式)。
[0132] 例如,对于视频序列的图像的色度分量,在H.265中,图像的色度分量的帧内预测模式可包含5种:Planar模式、垂直模式、水平模式、DC模式,和对应亮度分量模式(DM)。在下
一代视频编码标准中(例如H.266),图像的色度分量的帧内预测模式还包括跨分量预测模
式(Cross component  prediction,CCP),跨分量预测模式  (Cross component 
prediction,CCP)又称跨分量帧内预测模式(Cross component intra prediction,CCIP),
或者cross component linear mode(CCLM)预测模式。 CCLM预测模式又可简称线性模型模
式(1inear model mode,简称LM模式),LM模式这是一种利用亮度和色度之间纹理相关性的
色度帧内预测方法。
[0133] 又例如,对于视频序列的图像的亮度分量,H.265中共有35种亮度分量的帧内预测模式,其中包括33种方向预测模式,DC预测模式,和Planar预测模式。方向预测模式是指将
参考像素按照一定的方向(使用intra mode index标记)将参考像素映射到当前块内的像
素点位置上得到当前像素点的预测值,或者,对于每一个当前块内的像素点,将其位置按照
一定的方向(使用intra mode index标记)反向映射到参考像素上,对应的参考像素的像素
值即为当前像素的预测值。不同于方向预测模式, DC预测是将参考像素的均值作为当前块
内像素的预测值,而Planar模式则是利用当前像素点的正上方和正左方的参考像素点的像
素值以及当前块的右上和左下参考像素点的像素值共同导出当前像素点的预测值。
[0134] 帧内预测单元254进一步用于基于如所选择的帧内预测模式的帧内预测参数确定帧内预测块255。在任何情况下,在选择用于块的帧内预测模式之后,帧内预测单元 254还
用于向熵编码单元270提供帧内预测参数,即提供指示所选择的用于块的帧内预测模式的
信息。
[0135] 本发明实施例中,帧内预测单元254还可包括滤波器集合,所述滤波器集合中包括多个滤波器类型,不同的滤波器类型分别表示不同的亮度块下采样算法,各个滤波器类型
分别与一种色度点采样位置相对应。帧内预测单元254还可用于确定当前视频序列的色度
点的采样位置,基于所述色度点的采样位置确定当前编码所采用的滤波器类型,基于该滤
波器类型生成一个指示信息,此指示信息用于指示对当前视频序列编码或解码时(如对图
片201或图像块203编码或重建时),在LM预测模式中对亮度图像下采样过程采用的滤波器
类型。帧内预测单元254还用于向熵编码单元270提供滤波器类型的指示信息。
[0136] 具体的,帧内预测单元254可向熵编码单元270传输语法元素,所述语法元素包括帧内预测参数(比如遍历多个帧内预测模式后选择用于当前块预测的帧内预测模式,例如
LM模式,的指示信息)和滤波器类型的指示信息。可能应用场景中,如果帧内预测模式只有
一种,即只有LM预测模式,那么也可以不在语法元素中携带帧内预测参数,此时解码端30可
直接默认使用LM预测模式进行解码。在一个实例中,帧内预测单元254可以用于执行下文描
述的帧内预测技术的任意组合。
[0137] 熵编码单元270用于将熵编码算法或方案(例如,可变长度编码(variable lengthcoding,VLC)方案、上下文自适应VLC(context adaptive VLC,CAVLC)方案、算术编码方案、
上下文自适应二进制算术编码(context adaptive binary arithmetic coding,CABAC)、
基于语法的上下文自适应二进制算术编码(syntax‑based context‑adaptive binary 
arithmetic coding,SBAC)、概率区间分割熵(probability interval partitioning 
entropy,PIPE)编码或其它熵编码方法或技术)应用于经量化残差系数209、帧间预测参数、
帧内预测参数和/或环路滤波器参数中的单个或所有上(或不应用),以获取可以通过输出
272以例如经编码比特流21的形式输出的经编码图片数据21。可以将经编码比特流传输到
解码器30,或将其存档稍后由解码器 30传输或检索。熵编码单元270还可用于熵编码正被
编码的当前视频条带的其它语法元素。
[0138] 编码器20的其它结构变型可用于编码视频流。例如,基于非变换的编码器20可以在没有针对某些块或帧的变换处理单元206的情况下直接量化残差信号。在另一实施方式
中,编码器20可具有组合成单个单元的量化单元208和逆量化单元210。
[0139] 具体的,在本发明一实施例中,编码器20可用于:根据所述色度块的采样点位置类型设置滤波器类型的值,根据所述值生成用于指示所述滤波器类型的第一指示信息,所述
滤波器类型对应于滤波器集合中的某一个滤波器,然后将所述第一指示信息作为语法元素
中的一个信息编入码流,携带于所述经编码过的图像数据21中。
[0140] 在本发明一实施例中,编码器20还可用于:从多个帧内预测模式中选择LM模式,然后生成第二指示信息,所述第二指示信息用于指示所述线性模式;然后将所述第二指示信
息作为语法元素中的一个信息编入码流,携带于所述经编码过的图像数据21 中。
[0141] 在本发明一实施例中,在预测块的构建阶段,编码器20还可用于:在LM模式下,根据所述第一指示信息,确定所述滤波器类型对应的滤波器集合中的滤波器;然后,根据所述
滤波器,对第一亮度块进行下采样,获得第二亮度块,所述第一亮度块是所述当前色度块对
应的亮度块;获取模板色度点和模板亮度点,所述模板色度点包括所述当前色度块相邻的
多个色度像素点,所述模板亮度点通过对所述第一亮度块相邻的多个亮度像素点下采样获
得;然后,根据所述模板色度点和所述模板亮度点,获得线性模型系数;并根据所述第二亮
度块和所述线性模型系数,获得所述当前色度块的预测值。
[0142] 参见图3,图3示出用于实现本发明实施例的解码器30的实例的示意性/概念性框图。解码器30用于接收例如由编码器20编码的经编码图片数据21,以获取经解码图片231。
在解码过程期间,解码器30从编码器20接收视频数据,例如表示经编码视频条带的图片块
的经编码视频比特流及相关联的语法元素。
[0143] 在图3的实例中,解码器30包括熵解码单元304、逆量化单元310、逆变换处理单元312、重构单元314(例如求和器314)、缓冲器316、环路滤波器320、经解码图片缓冲器330以
及预测处理单元360。预测处理单元360可以包含帧间预测单元344、帧内预测单元354和模
式选择单元362。在一些实例中,解码器30可执行大体上与参照图2的编码器20描述的编码
遍次互逆的解码遍次。
[0144] 熵解码单元304用于对经编码图片数据21执行熵解码,以获取例如经量化系数 309和/或经解码的编码参数(图3中未示出),例如,帧间预测、帧内预测参数、环路滤波器参
数和/或其它语法元素中(经解码)的任意一个或全部。熵解码单元304 进一步用于将帧间
预测参数、帧内预测参数和/或其它语法元素转发至预测处理单元 360。解码器30可接收视
频条带层级和/或视频块层级的语法元素。
[0145] 逆量化单元310功能上可与逆量化单元110相同,逆变换处理单元312功能上可与逆变换处理单元212相同,重构单元314功能上可与重构单元214相同,缓冲器316 功能上可
与缓冲器216相同,环路滤波器320功能上可与环路滤波器220相同,经解码图片缓冲器330
功能上可与经解码图片缓冲器230相同。
[0146] 预测处理单元360可以包括帧间预测单元344和帧内预测单元354,其中帧间预测单元344功能上可以类似于帧间预测单元244,帧内预测单元354功能上可以类似于帧内预
测单元254。预测处理单元360通常用于执行块预测和/或从经编码数据21 获取预测块365,
以及从例如熵解码单元304(显式地或隐式地)接收或获取预测相关参数和/或关于所选择
的预测模式的信息。
[0147] 当视频条带经编码为经帧内编码(I)条带时,预测处理单元360的帧内预测单元354用于基于信号表示的帧内预测模式及来自当前帧或图片的先前经解码块的数据来产生
用于当前视频条带的图片块的预测块365。当视频帧经编码为经帧间编码(即 B或P)条带
时,预测处理单元360的帧间预测单元344(例如,运动补偿单元)用于基于运动向量及从熵
解码单元304接收的其它语法元素生成用于当前视频条带的视频块的预测块365。对于帧间
预测,可从一个参考图片列表内的一个参考图片中产生预测块。解码器30可基于存储于DPB 
330中的参考图片,使用默认建构技术来建构参考帧列表:列表0和列表1。
[0148] 预测处理单元360用于通过解析运动向量和其它语法元素,确定用于当前视频条带的视频块的预测信息,并使用预测信息产生用于正经解码的当前视频块的预测块。例如,
预测处理单元360使用接收到的一些语法元素确定用于编码视频条带的视频块的预测模式
(例如,帧内或帧间预测)、帧间预测条带类型(例如,B条带、P条带或 GPB条带)、用于条带的
参考图片列表中的一个或多个的建构信息、用于条带的每个经帧间编码视频块的运动向
量、条带的每个经帧间编码视频块的帧间预测状态以及其它信息,以解码当前视频条带的
视频块。
[0149] 逆量化单元310可用于逆量化(即,反量化)在比特流中提供且由熵解码单元304 解码的经量化变换系数。逆量化过程可包含使用由编码器20针对视频条带中的每一视频块
所计算的量化参数来确定应该应用的量化程度并同样确定应该应用的逆量化程度。
[0150] 逆变换处理单元312用于将逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程)应用于变换系数,以便在像素域中产生残差块。
[0151] 重构单元314(例如,求和器314)用于将逆变换块313(即经重构残差块313) 添加到预测块365,以在样本域中获取经重构块315,例如通过将经重构残差块313 的样本值与
预测块365的样本值相加。
[0152] 环路滤波器单元320(在编码循环期间或在编码循环之后)用于对经重构块315 进行滤波以获取经滤波块321,从而顺利进行像素转变或提高视频质量。在一个实例中,环路
滤波器单元320可以用于执行下文描述的滤波技术的任意组合。环路滤波器单元320旨在表
示一个或多个环路滤波器,例如去块滤波器、样本自适应偏移 (sample‑adaptive offset,
SAO)滤波器或其它滤波器,例如双边滤波器、自适应环路滤波器(adaptive loop filter,
ALF),或锐化或平滑滤波器,或协同滤波器。尽管环路滤波器单元320在图3中示出为环内滤
波器,但在其它配置中,环路滤波器单元320可实施为环后滤波器。
[0153] 随后将给定帧或图片中的经解码视频块321存储在存储用于后续运动补偿的参考图片的经解码图片缓冲器330中。
[0154] 解码器30用于例如,藉由输出332输出经解码图片31,以向用户呈现或供用户查看。
[0155] 解码器30的其它变型可用于对压缩的比特流进行解码。例如,解码器30可以在没有环路滤波器单元320的情况下生成输出视频流。例如,基于非变换的解码器30 可以在没
有针对某些块或帧的逆变换处理单元312的情况下直接逆量化残差信号。在另一实施方式
中,解码器30可以具有组合成单个单元的逆量化单元310和逆变换处理单元312。
[0156] 具体的,在本发明一实施例中,解码器30用于:解析码流获得第一指示信息和第二指示信息,所述第二指示信息用于指示当前解码色度块采用的帧内预测模式为LM 模式,所
述第一指示信息用于指示滤波器类型;根据所述滤波器类型对应的滤波器,对第一亮度块
进行下采样,获得第二亮度块,所述第一亮度块是当前色度块对应的亮度块;获取模板色度
点和模板亮度点,所述模板色度点包括所述当前色度块相邻的多个色度像素点,所述模板
亮度点通过对所述第一亮度块相邻的多个亮度像素点下采样获得;然后,根据所述模板色
度点和所述模板亮度点,获得线性模型系数;然后,根据所述第二亮度块和所述线性模型系
数,获得所述当前色度块的预测值。
[0157] 参见图4,图4是本发明实施例提供的视频译码设备400(例如视频编码设备400 或视频解码设备400)的结构示意图。视频译码设备400适于实施本文所描述的实施例。在一个
实施例中,视频译码设备400可以是视频解码器(例如图1A的解码器30) 或视频编码器(例
如图1A的编码器20)。在另一个实施例中,视频译码设备400可以是上述图1A的解码器30或
图1A的编码器20中的一个或多个组件。
[0158] 视频译码设备400包括:用于接收数据的入口端口410和接收单元(Rx)420,用于处理数据的处理器、逻辑单元或中央处理器(CPU)430,用于传输数据的发射器单元(Tx)440和
出口端口450,以及,用于存储数据的存储器460。视频译码设备 400还可以包括与入口端口
410、接收器单元420、发射器单元440和出口端口450 耦合的光电转换组件和电光(E0)组
件,用于光信号或电信号的出口或入口。
[0159] 处理器430通过硬件和软件实现。处理器430可以实现为一个或多个CPU芯片、核(例如,多核处理器)、FPGA、ASIC和DSP。处理器430与入口端口410、接收器单元420、发射器
单元440、出口端口450和存储器460通信。处理器430包括译码模块470(例如编码模块470或
解码模块470)。编码/解码模块470实现本文中所公开的实施例,以实现本发明实施例所提
供的色度块预测方法。例如,编码/解码模块470 实现、处理或提供各种编码操作。因此,通
过编码/解码模块470为视频译码设备400 的功能提供了实质性的改进,并影响了视频译码
设备400到不同状态的转换。或者,以存储在存储器460中并由处理器430执行的指令来实现
编码/解码模块470。
[0160] 存储器460包括一个或多个磁盘、磁带机和固态硬盘,可以用作溢出数据存储设备,用于在选择性地执行这些程序时存储程序,并存储在程序执行过程中读取的指令和数
据。存储器460可以是易失性和/或非易失性的,可以是只读存储器(ROM)、随机存取存储器
(RAM)、随机存取存储器(ternary content‑addressable memory,TCAM) 和/或静态随机存
取存储器(SRAM)。
[0161] 参见图5,图5是根据一示例性实施例的可用作图1A中的源设备12和目的地设备14中的任一个或两个的装置500的简化框图。装置500可以实现本申请的技术,用于实现色度
块预测的装置500可以采用包含多个计算设备的计算系统的形式,或采用例如移动电话、平
板计算机、膝上型计算机、笔记本电脑、台式计算机等单个计算设备的形式。
[0162] 装置500中的处理器502可以为中央处理器。或者,处理器502可以为现有的或今后将研发出的能够操控或处理信息的任何其它类型的设备或多个设备。如图所示,虽然可以
使用例如处理器502的单个处理器实践所揭示的实施方式,但是使用一个以上处理器可以
实现速度和效率方面的优势。
[0163] 在一实施方式中,装置500中的存储器504可以为只读存储器(Read Only Memory, ROM)设备或随机存取存储器(random access memory,RAM)设备。任何其他合适类型的存储
设备都可以用作存储器504。存储器504可以包括代码和由处理器502使用总线512访问的数
据506。存储器504可进一步包括操作系统508和应用程序510,应用程序510包含至少一个准
许处理器502执行本文所描述的方法的程序。例如,应用程序510可以包括应用1到N,应用1
到N进一步包括执行本文所描述的方法的视频编码应用。装置500还可包含采用从存储器
514形式的附加存储器,该从存储器514 例如可以为与移动计算设备一起使用的存储卡。因
为视频通信会话可能含有大量信息,这些信息可以整体或部分存储在从存储器514中,并按
需要加载到存储器504用于处理。
[0164] 装置500还可包含一或多个输出设备,例如显示器518。在一个实例中,显示器 518可以为将显示器和可操作以感测触摸输入的触敏元件组合的触敏显示器。显示器 518可以
通过总线512耦合于处理器502。除了显示器518还可以提供其它准许用户对装置500编程或
以其它方式使用装置500的输出设备,或提供其它输出设备作为显示器518的替代方案。当
输出设备是显示器或包含显示器时,显示器可以以不同方式实现,包含通过液晶显示器
(liquid crystal display,LCD)、阴极射线管(cathode‑ray tube,CRT)显示器、等离子显
示器或发光二极管(light emitting diode,LED)显示器,如有机LED(organic LED,OLED)
显示器。
[0165] 装置500还可包含图像感测设备520或与其连通,图像感测设备520例如为相机或为现有的或今后将研发出的可以感测图像的任何其它图像感测设备520,所述图像例如为
运行装置500的用户的图像。图像感测设备520可以放置为直接面向运行装置 500的用户。
在一实例中,可以配置图像感测设备520的位置和光轴以使其视野包含紧邻显示器518的区
域且从该区域可见显示器518。
[0166] 装置500还可包含声音感测设备522或与其连通,声音感测设备522例如为麦克风或为现有的或今后将研发出的可以感测装置500附近的声音的任何其它声音感测设备。声
音感测设备522可以放置为直接面向运行装置500的用户,并可以用于接收用户在运行装置
500时发出的声音,例如语音或其它发声。
[0167] 虽然图5中将装置500的处理器502和存储器504绘示为集成在单个单元中,但是还可以使用其它配置。处理器502的运行可以分布在多个可直接耦合的机器中(每个机器具有
一个或多个处理器),或分布在本地区域或其它网络中。存储器504可以分布在多个机器中,
例如基于网络的存储器或多个运行装置500的机器中的存储器。虽然此处只绘示单个总线,
但装置500的总线512可以由多个总线形成。进一步地,从存储器514可以直接耦合至装置
500的其它组件或可以通过网络访问,并且可包括单个集成单元,例如一个存储卡,或多个
单元,例如多个存储卡。因此,可以以多种配置实施装置500。
[0168] 为了更好理解本发明实施例的技术方案,下面进一步描述本发明实施例涉及的 YUV图像(或称YCbCr图像)和色度分量帧内预测的LM模式。
[0169] 现有的视频一般为彩色视频,彩色视频中图像除了含有亮度分量(Y)以外,还含有色度分量(U,V),因此这样的图像又可称为YUV图像。因此,对YUV图像编码时,除了对亮度分
量进行编码,还需要对色度分量进行编码。研究表明人眼对亮度比较敏感,而对色彩不怎么
敏感。所以,在编码中,为了节省存储空间,提高编码效率,亮度分量全分辨率进行采样,而
色度分量可不用全分辨率采样。按照彩色视频中亮度分量和色度分量的采样方法的不同,
一般视频序列的图像有4∶4∶4格式的YUV图像, 4∶2∶2格式的YUV图像,4∶2∶0格式的YUV图
像,等等。参见图6,图6示例性的示出了4∶4∶4格式、4∶2∶2格式和4∶2∶0格式,其中,图示中的
叉(×)表示亮度分量采样点,图示中的圈(○)表示色度分量采样点。
[0170] 其中,4∶4∶4格式表示色度分量没有下采样,4∶4∶4格式是色度分量分辨率最高的格式,也就是说,相邻4个像素点里的数据有4个Y、4个U、4个V。
[0171] 4∶2∶2格式表示色度分量相对于亮度分量进行2∶1的水平下采样,没有竖直下采样。对于每两个U采样点或V采样点,每行都包含四个Y采样点。也就是说,相邻的 4个像素点
里的数据有4个Y、2个U、2个V。
[0172] 4∶2∶0格式表示色度分量相对于亮度分量进行2∶1的水平下采样,以及2∶1的竖直下采样。4∶2∶0格式是色度分量分辨率最低的格式,也是最为常见的格式。4∶2∶0 格式中,色
度采样在每行中(即水平方向)只有亮度采样的一半,在每列中(即竖直方向)只有亮度采样
的一半。在视频图像采用4∶2∶0格式的情况下,若图像块的亮度分量为2Mx2N大小的图像块,
则图像块的色度分量为MxN大小的图像块。举例来说,如果图像块的分辨率是720*480,那么
图像块的亮度分量的分辨率是720*480,图像块的色度分量的分辨率是360*240。
[0173] 对于4∶2∶0格式,根据色度点的采样位置的不同,可存在6种不同的色度采样点位置类型。参见图7,图7示例性地示出了亮度点的亮度采样点位置与色度点的6种不同色度采
样点位置之间的相互关系,这6种不同的色度采样点位置类型分别为类型 0(type 0)、类型
1(type 1)、类型2(type 2)、类型3(type 3)、类型4(type4) 和类型5(type 5)。
[0174] 本文将以4∶2∶0格式的YUV图像为例介绍本发明实施例的技术方案。本文中,当前待处理图像块的亮度分量也可称为亮度块(或称当前色度块对应亮度块,或称第一亮度块,
或称亮度分量块,或称luma块),当前待处理图像块的色度分量也可称为当前色度块(或称
为色度块,或称为色度分量块,或称chroma块)。
[0175] 对于色度分量帧内预测,与亮度分量类似,色度分量帧内预测是利用当前色度块周围相邻已重建块的边界像素作为当前色度块的参考像素,按照一定的预测模式将参考像
素映射到当前色度块内的像素点,作为当前色度块内像素的预测值。所不同的是,由于色度
分量的纹理一般较为简单,所以色度分量帧内预测模式的数量一般少于亮度分量预测模式
的数量。例如,在H.265中,色度分量的帧内预测模式仅包含5种,即 Planar模式、垂直模式、
水平模式、DC模式、和对应亮度分量模式(DM)。在下一代视频编码标准(如H.266)中,色度分
量帧内预测模式还包括有跨分量预测(Cross component prediction,CCP)模式。
[0176] 需要理解的是,在不同的应用场景中,CCP模式又可可能被称为跨分量帧内预测模式(Cross component intra prediction,CCIP),或者跨分量线性预测模式(cross
component linear mode,CCLM)),或者简称为线性模型模式(linear model mode,即LM模
式)。本文中以LM模式为例进行相关描述。
[0177] LM模式是一种利用亮度和色度之间纹理相关性的色度帧内预测方法。它使用重建亮度分量按照线性模型导出当前色度块预测值,从而为色度分量提供更加准确的预测值。
LM模式可以表示为下式:
[0178] predC(i,j)=α*recL′(i,j)+β
[0179] 其中,α,β为线性模型系数,predC(i,j)为(i,j)位置上的色度像素的预测值;recL′(i,j)为当前色度块对应亮度块下采样至色度分量分辨率后,(i,j)位置上的亮度重建像素
值。对于4∶2∶0格式的视频序列,亮度分量的分辨率是色度分量的分辨率的4倍,为了得到与
色度块同分辨率的亮度块,需要将亮度分量按照色度分量相同的下采样方法下采样至色度
分量的分辨率,再进行使用。
[0180] 以图8为例,图8分别示出了一种4∶2∶0格式的YUV图像中,当前色度块对应的亮度块(即图像块的亮度分量)以及其相邻上边和左边的参考像素点、下采样后的亮度块(即图
像块下采样后的亮度分量,或称第二亮度块)以及其相邻上边和左边的已重建参考像素点、
当前色度块(即图像块的色度分量)以及其相邻上边和左边的已重建参考像素点。当前色度
块对应的亮度块的分辨率为2W*2H,下采样后的亮度块的分辨率为W*H,当前色度块的分辨
率为W*H。也就是说,将亮度块以及亮度块的相邻参考像素点进行下采样至色度分量的分辨
率,即可得到下采样后的亮度块。下采样后的亮度块的相邻参考像素点和当前色度块的相
邻参考像素点构成一一对应关系。
[0181] 参见图9和图10,本发明实施例中,为了便于理解,可将用于计算线性模型系数的相邻上边和左边称为模板(template)。模板表示用于计算线性模型系数的亮度点或色度点
的集合,其中,用于计算线性模型系数的亮度点(luma sample)的集合又可称为模板亮度
点,所述模板亮度点通过对亮度块相邻的多个亮度像素点进行下采样操作而获得(因为亮
度图像中,与模板色度点相匹配的位置可能并没有亮度采样值)。用于计算线性模型系数的
色度点(chroma sample)的集合又可称为模板色度点,所述模板色度点包括所述当前色度
块相邻的多个已重建色度像素点。
[0182] 在一可能实施例中,所述模板色度点具体包括所述当前色度块相邻上边一行或者上边多行的色度像素点,以及,所述当前色度块相邻左边一列或者左边多列的色度像素点。
模板亮度点以及模板色度点一一对应,并且采样点的值构成值对。
[0183] 例如,在图9中,模板色度点为当前色度块相邻上边一行色度像素点,以及一列色度像素点。相应的,模板亮度点包括与模板色度点中的各个色度点位置相匹配的一行亮度
像素点,以及左边一列亮度像素点。
[0184] 例如,如图10所示,在一实例中,模板色度点为当前色度块相邻上边两行色度像素点,以及左边两列色度像素点。相应的,模板亮度点包括与模板色度点中的各个色度点位置
相匹配的两行亮度像素点,以及两列亮度像素点。
[0185] 当然,模板色度点和模板亮度点的具体实现方式还可以是多种多样的,在又一实例中,所述模板色度点也可只包括所述当前色度块相邻左边一列或者左边多列的色度像素
点。模板亮度点以及模板色度点一一对应,只包括位置匹配的一列或者多列的亮度像素点。
在又一实例中,所述模板色度点也可只包括所述当前色度块相邻上边一行或者上边多行的
色度像素点。模板亮度点以及模板色度点一一对应,只包括位置匹配的一行或者多行的亮
度像素点。
[0186] 如上所述,模板亮度点为通过对亮度块相邻的多个亮度像素点进行下采样操作 (downsampling)而获得,下面示例性地描述模板亮度点的进行下采样操作的方法。
[0187] 参见图11,图11为一些色度采样点位置与亮度采样点的位置关系的示例性图。对于4∶2∶0格式的YUV图像,如果以亮度图像的左上角顶点为亮度采样点坐标原点,色度图像
的左上角顶点为色度采样点坐标原点,则色度图像中(xb,yb)采样点位置对应到亮度图像
中的位置为(2*xb,2*yb+0.5)。为了得到模板亮度点中的亮度像素点的值,即(xb,yb)采样
点位置对应的亮度像素值,则可先选取亮度块相邻的多个亮度像素点,例如所述亮度块相
邻的多个亮度像素点的采样点位置分别为(2*xb,2*yb)、 (2*xb‑1,2*yb)、(2*xb+1,2*yb)、
(2*xb,2*yb+1)、(2*xb‑1,2*yb+1)、 (2*xb+1,2*yb+1),则根据这些位置分别对应在亮度图
像中的亮度像素值来导出(2*xb, 2*yb+0.5)位置上的值,将该值作为(xb,yb)采样点位置
对应的亮度像素值。
[0188] 例如,在一实例中,可按照下式对多个亮度像素点进行下采样计算,得到模板亮度点中,(xb,yb)采样点位置对应的亮度点的值LC(xb,yb):
[0189] LC(xb,yb)=(2*L(2*xb,2*yb)+L(2*xb‑1,2*yb)+L(2*xb+1,2*yb)+2* L(2*xb,2*yb+1)+L(2*xb‑1,2*yb+1)+L(2*xb+1,2*yb+1)+4)>>3
[0190] 其中,符号“>>”表示右移。
[0191] 可以理解的,对于当前块的模板亮度点中的其他亮度点(xb+1,yb‑1)… (xb+i,yb‑1)…,以及(xb‑1,yb),…(xb‑1,yb+j)的值,也可采用上述相同的下采样方法进行下采
样。
[0192] 需要说明的是,现有的采样方法为基于固定的滤波器进行下采样。也就是说,对于各种视频序列中的图像,现有的LM模式中,无论色度采样点的位置如何,均使用一种固定的
下采样滤波器,而并没有考虑实际中不同的视频序列可能存在的不同的色度采样点位置,
以及色度采样点位置的不同对亮度下采样滤波器的影响,如果对亮度下采样滤波器采样点
的位置与色度采样点的位置不一致,将会导致通过LM模型公式导出的LM模型系数d和β不准
确,也会造成recL′(i,j)与色度点位置不对齐,进而影响编码效率。
[0193] 为了解决上述缺陷,提高在LM模式下对色度块进行预测的准确性,以及提高编码效率,本发明实施例基于上文所描述的系统及设备,提出了一种用于LM模式的色度块预测
方法,首先从编码端的角度进行描述,参见图12,该方法包括但不限于以下步骤:
[0194] 步骤701:确定对当前色度块进行预测时采用的帧内预测模式为LM模式。
[0195] 在一具体实现中,编码端在帧内预测中可只预设LM模式,即在这种情况下编码端直接确定当前采用的帧内预测模式为LM模式,后续继续执行如步骤702‑步骤704。
[0196] 在又一具体实现中,在编码端的帧内预测中,也可预设多种帧内预测模式,所述多种帧内预测模式中包括LM模式,编码端遍历所述多种帧内预测模式,确定对当前色度块的
预测中最优的帧内预测模式为LM模式,在这种情况下,启动执行后续步骤如步骤702‑步骤
704。
[0197] 此外,编码端还可设置第二指示信息,所述第二指示信息用于指示所述LM模式,以便于在后续步骤704中将第二指示信息编入码流。
[0198] 步骤702:根据当前色度块的采样点位置类型确定滤波器类型。
[0199] 也就是说,本发明实施例的设计中,基于LM模式对当前色度块进行预测时,所采用的亮度下采样滤波器并不是固定设置的,而是由当前色度块的采样点位置类型来决定的。
每一种当前色度块的采样点位置类型皆有对应的滤波器类型。
[0200] 在本发明的一种具体实施例中,可设计6种采样点位置类型(可将该设计称为设计一),如图7所示,这6种采样点位置类型包括:type0、type1、type2、type3、 type4和type5。
那么,对应于所述6种采样点位置类型,分别有6种类型的亮度下采样滤波器,可分别称为:
滤波器0、滤波器1、滤波器2、滤波器3、滤波器4、滤波器5。在一实例中,这些滤波器的下采样
算法可分别设置如下:
[0201] 对于滤波器0:
[0202] LC(xb,yb)=(2*L(2*xb,2*yb)+L(2*xb‑1,2*yb)+L(2*xb+1,2*yb)+2* L(2*xb,2*yb+1)+L(2*xb‑1,2*yb+1)+L(2*xb+1,2*yb+1)+4)>>3.
[0203] 对于滤波器1:
[0204] LC(xb,yb)=(L(2*xb,2*yb)+L(2*xb+1,2*yb)+L(2*xb,2*yb+1)+ L(2*xb+1,2*yb+1)+2)>>2.
[0205] 对于滤波器2:
[0206] LC(xb,yb)=(4*L(2*xb,2*yb)
[0207] +2*L(2*xb,2*yb+1)+2*L(2*xb,2*yb‑1)+2*L(2*xb‑1,2*yb)+2* L(2*xb+1,2*yb)
[0208] +L(2*xb+1,2*yb+1)+L(2*xb‑1,2*yb+1)+L(2*xb‑1,2*yb‑1)+ L(2*xb+1,2*yb‑1)+8)>>4.
[0209] 对于滤波器3:
[0210] Lc(xb,yb)=(2*L(2*xb,2*yb)+2*L(2*xb+1,2*yb)+L(2*xb,2*yb‑1)+ L(2*xb+1,2*yb‑1)+L(2*xb,2*yb+1)+L(2*xb+1,2*yb+1)+4)>>3.
[0211] 对于滤波器4:
[0212] LC(xb,yb)=(4*L(2*xb,2*yb+1)
[0213] +2*L(2*xb,2*yb+2)+2*L(2*xb,2*yb)+2*L(2*xb‑1,2*yb+1)+2* L(2*xb+1,2*yb+1)
[0214] +L(2*xb+1,2*yb+2)+L(2*xb‑1,2*yb+2)+L(2*xb‑1,2*yb)+ L(2*xb+1,2*yb)+8)>>4.
[0215] 对于滤波器5:
[0216] LC(xb,yb)=(2*L(2*xb,2*yb+1)+2*L(2*xb+1,2*yb+1)+L(2*xb,2*yb)+ L(2*xb+1,2*yb)+L(2*xb,2*yb+2)+L(2*xb+1,2*yb+2)+4)>>3.
[0217] 需要说明的是,上述各个滤波器的下采样算法仅仅作为示例而非限定。
[0218] 在本发明的又一种具体实施例中,考虑到目前type0以及type2的色度点采样位置最为常见,也可设计2种采样点位置类型(可将该设计称为设计二),即这2种采样点位置类
型只包括:type0、type2。那么,对应于所述2种采样点位置类型,分别有2种类型亮度下采样
滤波器,可分别称为:滤波器0、滤波器2。在一实例中,这些滤波器的下采样算法可分别设置
如下:
[0219] 对于滤波器0:
[0220] LC(xb,yb)=(2*L(2*xb,2*yb)+L(2*xb‑1,2*yb)+L(2*xb+1,2*yb)+2* L(2*xb,2*yb+1)+L(2*xb‑1,2*yb+1)+L(2*xb+1,2*yb+1)+4)>>3.
[0221] 对于滤波器2:
[0222] LC(xb,yb)=(4*L(2*xb,2*yb)
[0223] +2*L(2*xb,2*yb+1)+2*L(2*xb,2*yb‑1)+2*L(2*xb‑1,2*yb)+2* L(2*xb+1,2*yb)
[0224] +L(2*xb+1,2*yb+1)+L(2*xb‑1,2*yb+1)+L(2*xb‑1,2*yb‑1)+ L(2*xb+1,2*yb‑1)+8)>>4.
[0225] 需要说明的是,上述各个滤波器的下采样算法仅仅作为示例而非限定。
[0226] 还需要说明的是,除了上述两种设计外,本发明实施例还可以是其他的设计,例如设计3种色度点采样位置,以及3种色度点采样位置分别对应的3种类型的滤波器,等等,这
里不做限定。
[0227] 这样,编码端可首先确定当前色度块的采样点位置类型,进而根据当前色度块的采样点位置类型来确定对应的滤波器类型,亦即,确定LM模式对当前色度块进行预测时所
采用的亮度下采样滤波器。
[0228] 步骤703:设置第一指示信息,所述第一指示信息用于指示所述滤波器类型。
[0229] 本发明实施例新增一个序列参数集(sequence parameter set,SPS)参数,此 SPS参数的值将用于指示当前视频序列编码或者解码时,LM模式中的亮度下采样滤波器的类
型。在编码端,此参数可以基于当前序列的色度点的采样位置设置。具体的,可根据滤波器
类型设置第一指示信息,所述第一指示信息即包括该SPS参数的值,用于指示编码或者解码
时对色度块预测中所采用的亮度下采样滤波器的类型。
[0230] 在本发明一具体实现中,可将该新增的SPS参数语法元素名称为:“lm_mode_downsampling_filter_type_idc”, lm_mode_downsampling_filter_type_idc用来指定LM
模式的下采样滤波器类型。
[0231] 举例来说,对于步骤702描述的设计一,设计6种滤波器类型:滤波器0、滤波器1、滤波器2、滤波器3、滤波器4、滤波器5,这种情况下,序列参数集可设计如下:
[0232]
[0233] 其中,lm_mode_downsampling_filter_type_idc的值在0到5的范围内。不同的值对应不同的滤波器,比如:值0对应滤波器0、值1对应滤波器1、值2对应滤波器2、值3对应滤
波器3、值4对应滤波器4、值5对应滤波器5,等等。当然,上述各个值的设定以及各个值与滤
波器的对应关系仅仅作为示例而非限定。
[0234] 又举例来说,对于步骤702描述的设计二,设计2种滤波器类型:滤波器0、滤波器2、,这种情况下,序列参数集可设计如下:
[0235]
[0236] 其中,lm_mode_downsampling_filter_type_idc的值可为0或1,不同的值对应不同的滤波器,比如:值0对应滤波器0、值1对应滤波器2,等等。当然,上述各个值的设定以及
各个值与滤波器的对应关系仅仅作为示例而非限定。
[0237] 步骤704:将所述第一指示信息编入码流,发送码流至解码端。具体实现中,还可将上述步骤701中设置的第二指示信息编入所述码流进而发送至解码端,所述第二指示信息
用于指示LM模式,以便于指示解码端采用LM模式。
[0238] 需要说明的是,上述实施例仅仅描述了编码端实现编码和码流发送的过程,根据前文的描述,本领域技术人员理解编码端还可以在其他环节实施本发明实施例所描述的其
他方法。例如在编码端在色度块预测中,对色度块的重构过程的具体实现可参考后文在解
码端描述的相关方法,在这里不再赘述。
[0239] 可以看到,本发明实施例中,对于LM模式,编码器可以根据当前色度点的采样位置类型来决定当前亮度块采用的亮度下采样滤波器,并通过指示信息(如新增得SPS 参数的
值)来向解码器指定下采样滤波器的类型。从而保证编码端和解码端都可以得到与色度点
采样位置相匹配的滤波器,有利于兼顾现实中不同视频序列可能存在不同的色度采样点位
置的情况,保证下采样亮度点的位置与色度采样点位置具有一致性,从而提高编码端的编
码准确度和编码效率。
[0240] 基于上文所描述的系统及设备,本发明实施例提供了又一种色度块预测方法,从解码端的角度进行描述,参见图13,该方法包括但不限于以下步骤:
[0241] 步骤801:解析码流获得第一指示信息。
[0242] 具体的,解码端可通过解析码流中的序列参数集(SPS)参数获得所述第一指示信息。例如,码流中的SPS参数具体可以是新增一种的SPS参数。
[0243] 在一种实施例中,第一指示信息用于指示滤波器类型。
[0244] 具体的,解码端解析编码端传输的码流,获得用于指示滤波器类型的第一指示信息。所述第一指示信息的详细内容可参考图12实施例步骤703的描述。
[0245] 编码端和解码端可对滤波器类型进行相同的设计。例如,编码端设计有6种滤波器类型(对应于6种色度采样点位置),解码端也设计有6种滤波器类型,且所述解码端的6种滤
波器类型的下采样算法分别与编码端一致,分别为:滤波器0、滤波器 1、滤波器2、滤波器3、
滤波器4、滤波器5。那么解码端收到的第一指示信息用于指示6种滤波器类型中的某一个。
比如,第一指示信息为SPS参数 lm_mode_downsampling_filter_type_idc,该SPS参数取值
为2时,即说明第一指示信息指示滤波器类型为滤波器2。
[0246] 又例如,编码端设计有2种滤波器类型(对应于2种色度采样点位置),解码端也设计有2种滤波器类型,且所述解码端的2种滤波器类型的下采样算法分别与编码端一致,分
别为:滤波器0、滤波器2。那么解码端收到的第一指示信息用于指示2 种滤波器类型中的某
一个。比如,第一指示信息为SPS参数 lm_mode_downsampling_filter_type_idc,该SPS参
数取值为0时,即说明第一指示信息指示滤波器类型为滤波器0。
[0247] 在又一种实施例中,第一指示信息用于指示当前色度块的采样点位置,当前色度块的采样点位置关联所述滤波器类型。所以,解码端可根据当前色度块的采样点位置确定
滤波器类型。
[0248] 进一步地,第一指示信息可具体用于指示当前色度块的采样点位置类型,相应的,当前色度块的采样点位置类型关联所述滤波器类型。所以,解码端可根据当前色度块的采
样点位置类型确定滤波器类型。
[0249] 例如,编码端设计有2种滤波器类型(对应于2种色度采样点位置),解码端也设计有2种滤波器类型,且所述解码端的2种滤波器类型的下采样算法分别与编码端一致,分别
为:滤波器0、滤波器2。那么解码端收到的第一指示信息用于指示2种色度采样点位置中的
某一个。比如,第一指示信息为SPS参数 lm_mode_downsampling_filter_type_idc,该SPS
参数取值为0时,指示了第一种色度采样点位置,例如为type0。由于采样点位置类型和滤波
器类型相关联,解码端可直接根据第一种采样点位置类型type0,确定滤波器类型为滤波器
0。又比如,该SPS 参数取值为1时,指示了第二种色度采样点位置,例如为type2,由于采样
点位置类型和滤波器类型相关联,解码端可直接根据第二种采样点位置类型type2,确定滤
波器类型为滤波器2。
[0250] 此外,具体实施例中,在解析码流的环节中,还可通过解析所述码流获得第二指示信息,所述第二指示信息用于指示解码端解码当前色度块采用的帧内预测模式为LM 模式,
从而解码端确定对视频序列的当前图像的帧内预测采用LM模式,进而,后续执行相关步骤
802‑805。
[0251] 步骤802:根据所述滤波器类型对应的滤波器,对第一亮度块进行下采样操作 (downsampling),获得第二亮度块,所述第一亮度块是当前色度块对应的亮度块。
[0252] 具体实施例中,可使用第一指示信息对应的滤波器对当前图像的当前色度块亮度块(即第一亮度块)进行下采样,得到下采样后的亮度块(即第二亮度块)中的各个亮度像素
点的值,从而得到了LM模式的算法公式中的recL′(i,j)。
[0253] 举例来说,解码端设计有6种滤波器类型,且当前第一指示信息指示的值为0,则采用的亮度下采样滤波器为滤波器0,采样算法如下:
[0254] LC(xb,yb)=(2*L(2*xb,2*yb)+L(2*xb‑1,2*yb)+L(2*xb+1,2*yb)+2* L(2*xb,2*yb+1)+L(2*xb‑1,2*yb+1)+L(2*xb+1,2*yb+1)+4)>>3
[0255] 所以,利用该滤波器0对第一亮度块进行下采样即可得到第二亮度块中的各个亮度像素点的值。
[0256] 又举例来说,解码端设计有2种滤波器类型(如滤波器0和滤波器2),且当前第一指示信息指示的值为1,则采用的亮度下采样滤波器为滤波器2,采样算法如下:
[0257] LC(xb,yb)=(4*L(2*xb,2*yb)
[0258] +2*L(2*xb,2*yb+1)+2*L(2*xb,2*yb‑1)+2*L(2*xb‑1,2*yb)+2* L(2*xb+1,2*yb)
[0259] +L(2*xb+1,2*yb+1)+L(2*xb‑1,2*yb+1)+L(2*xb‑1,2*yb‑1)+ L(2*xb+1,2*yb‑1)+8)>>4
[0260] 所以,利用该滤波器2对第一亮度块进行下采样即可得到第二亮度块中的各个亮度像素点的值。
[0261] 步骤803:获取模板色度点和模板亮度点。其中,所述模板色度点包括所述当前色度块相邻的多个色度像素点,所述模板亮度点通过对所述第一亮度块相邻的多个亮度像素
点进行下采样操作获得。步骤803的具体实现可参考上文图9和图10实施例的相关描述,为
了说明书的简洁,这里不再赘述。
[0262] 需要说明的是,步骤802和步骤803之间并无必然的先后顺序,即步骤802可在步骤803之前或之后执行,步骤802和步骤803也可能会同时执行。
[0263] 步骤804:根据所述模板色度点和所述模板亮度点,获得线性模型系数α和β。
[0264] 举例来说,在一种实现方式中,可利用最小二乘法的方法来求取线性模型系数α和β。具体的,例如可使用如图9中所示的下采样后的亮度块的模板色度点和图9中所示的模板
色度点构建线性方程组。记模板色度点或模板亮度点中的相邻参考像素的个数为N,使用L
(n)、C(n)来分别表示其中第n个亮度像素点的值和色度像素点的值,则线线性模型系数α和
β分别为:
[0265]
[0266]
[0267] 又举例来说,在又一种实现方式中,可利用极值的方法来求取线性模型系数α和β。具体的,记模板色度点或模板亮度点中的相邻参考像素的个数为N,使用L(n)、C(n) 分别表
示其中第n个亮度像素点的值和色度像素点的值,L(n)和C(n)构成像素值对,则可得像素值
对集合为:{(L0,C0),(L1,C1),(L2,C2)…(Ln,Cn)…(LN‑1,CN‑1)},这里N为用于确定线性模型系
数的当前色度块相邻像素点的个数。如图14所示,图14示出了像素值对集合在亮度‑色度坐
标系中的分布。在上述像素值对集合中找到最大亮度值 Lmax以及最小亮度值Lmin对应的值
对,设第i个像素点B对应最大亮度值点,即Li=Lmax,设第j个像素点A对应最小亮度值点,即
Lj=Lmin,则线线性模型系数α和β分别为:
[0268]
[0269] β=Cj‑α*Lj
[0270] 需要理解的是,上述例子仅仅作为示例而非限定,在得到模板色度点的各个亮度像素点的值和模板亮度点的各个色度像素点的值后,本发明实施例并不限定于采用任何方
式来基于模板色度点和模板亮度点导出LM模式的线性模型系数α和β。
[0271] 步骤805:根据所述第二亮度块和所述线性模型系数,获得所述当前色度块的预测值。
[0272] 可以理解的,在得到recL′(i,j)和线性模型系数α和β后,根据LM模式的算法公式:
[0273] predC(i,j)=α*recL′(i,j)+β
[0274] 即可得到获得当前色度块中各个色度像素点的预测值predC(i,j)。
[0275] 可以看到,本发明实施例中,对于LM模式,解码端在对当前色度块对应的亮度块的下采样过程中,可通过码流中的指示信息(如新增的SPS参数的值)来确定LM 模式中当前色
度块对应的亮度块下采样时采用的滤波器。从而可以得到与色度点采样位置相匹配的滤波
器,有利于兼顾现实中不同视频序列可能存在不同的色度采样点位置的情况,保证下采样
亮度点的位置与色度采样点位置具有一致性。
[0276] 基于上文所描述的系统及设备,本发明实施例提供了又一种色度块预测方法,从解码端的角度进行描述,参见图15,图15实施例与上述图13实施例的区别在于,图 15实施
例的步骤903有区别于图13实施例的步骤803,该方法简要描述如下:
[0277] 步骤901:解析码流获得第一指示信息,所述第一指示信息用于指示滤波器类型。具体实现可参考图13实施例的步骤801的描述,这里不再赘述。
[0278] 步骤902:根据所述滤波器类型对应的滤波器,对第一亮度块进行下采样操作 (downsampling),获得第二亮度块,所述第一亮度块是当前色度块对应的亮度块,第二亮度
块表示第一亮度块中的亮度像素点下采样以后的集合。具体实现可参考图13 实施例的步
骤802的描述,这里不再赘述。
[0279] 步骤903:获取模板色度点,以及根据所述第一指示信息获取模板亮度点。
[0280] 本发明实施例中,对于模板亮度点,由于第一指示信息指示了滤波器类型,则可利用该滤波器类型对应的滤波器,对所述第一亮度块相邻的多个亮度像素点进行下采样操
作,获得所述模板亮度点。
[0281] 举例来说,解码端设计有6种滤波器类型,且当前第一指示信息指示的值为0,则采用的亮度下采样滤波器为滤波器0,采样算法如下:
[0282] Lc(xb,yb)=(2*L(2*xb,2*yb)+L(2*xb‑1,2*yb)+L(2*xb+1,2*yb)+2* L(2*xb,2*yb+1)+L(2*xb‑1,2*yb+1)+L(2*xb+1,2*yb+1)+4)>>3
[0283] 所以,可利用该滤波器0,对第一亮度块相邻的多个亮度像素点进行下采样操作,获得所述模板亮度点中的各个亮度像素点的值。
[0284] 又举例来说,解码端设计有2种滤波器类型(如滤波器0和滤波器2),且当前第一指示信息指示的值为1,则采用的亮度下采样滤波器为滤波器2,采样算法如下:
[0285] LC(xb,yb)=(4*L(2*xb,2*yb)
[0286] +2*L(2*xb,2*yb+1)+2*L(2*xb,2*yb‑1)+2*L(2*xb‑1,2*yb)+2* L(2*xb+1,2*yb)
[0287] +L(2*xb+1,2*yb+1)+L(2*xb‑1,2*yb+1)+L(2*xb‑1,2*yb‑1)+ L(2*xb+1,2*yb‑1)+8)>>4
[0288] 所以,可利用该滤波器2,对第一亮度块相邻的多个亮度像素点进行下采样操作,获得所述模板亮度点中的各个亮度像素点的值。
[0289] 需要说明的是,上述例子仅仅是示例而非限定。
[0290] 本发明实施例中,对于模板亮度点,所述模板色度点包括所述当前色度块相邻的多个色度像素点,模板色度点具体获取方法可参考上文图9和图10实施例的相关描述,这里
不再赘述。
[0291] 步骤904:根据所述模板色度点和所述模板亮度点,获得线性模型系数α和β。具体实现可参考图13实施例的步骤804的描述,这里不再赘述。
[0292] 步骤905:根据所述第二亮度块和所述线性模型系数,获得所述当前色度块的预测值。具体实现可参考图13实施例的步骤805的描述,这里不再赘述。
[0293] 可以看到,本发明实施例中,对于LM模式,解码端在导出模板亮度点的下采样过程以及对当前块的下采样过程中,可通过码流中的指示信息(如新增得SPS参数的值)来确定
LM模式中当前色度块对应的亮度块下采样时采用的滤波器。从而可以得到与色度点采样位
置相匹配的滤波器,有利于兼顾现实中不同视频序列可能存在不同的色度采样点位置的情
况,保证下采样亮度点的位置与色度采样点位置具有一致性。
[0294] 下面说明上述实施例中所示的编码方法以及解码方法的应用,以及使用所述编码方法和解码方法的系统。
[0295] 图16示出用于实现内容分发服务的内容供应系统3100的框图。此内容供应系统 3100包括捕获设备3102、终端设备3106,并且可选地包括显示器3126。捕获设备3102 通过
通信链路3104与终端设备3106通信。通信链路可以包括上文描述的通信信道13。通信链路
3104包括但不限于WIFI、以太网、有线、无线(3G/4G/5G)、USB或其任何种类的组合等。
[0296] 捕获设备3102生成数据,并可以通过如上述实施例中所示的编码方法对数据进行编码。可替换地,捕获设备3102可以将数据分发到流媒体服务器(图中未示出),服务器对数
据进行编码并将编码数据传输到终端设备3106。捕获设备3102包括但不限于相机、智能手
机或平板电脑、计算机或笔记本电脑、视频会议系统、PDA、车载设备,或其中任何一个的组
合等。例如,捕获设备3102可以包括如上文所述的源设备12。当数据包括视频时,包括在捕
获设备3102中的视频编码器20可以实际执行视频编码处理。当数据包括音频(即,语音)时,
包括在捕获设备3102中的音频编码器可以实际执行音频编码处理。对于一些实际场景,捕
获设备3102通过将编码视频数据和编码音频数据一起复用来分发编码视频数据和编码音
频数据。对于其它实际场景,例如在视频会议系统中,不复用编码音频数据和编码视频数
据。捕获设备3102 分别将编码音频数据和编码视频数据分发到终端设备3106。
[0297] 在内容供应系统3100中,终端设备310接收并再现编码数据。终端设备3106可以是具有数据接收和恢复能力的设备,例如智能手机或平板电脑3108、计算机或笔记本电脑
3110、网络视频录像机(network video recorder,NVR)/数字视频录像机 (digital video 
recorder,DVR)3112、TV 3114、机顶盒(set top box,STB)3116、视频会议系统3118、视频监
控系统3120、个人数字助理(personal digital assistant, PDA)3122、车载设备3124,或
能够解码上述编码数据的以上设备中任何一个的组合等。例如,终端设备3106可以包括如
上所述的目的地设备14。当编码数据包括视频时,包括在终端设备中的视频解码器30被优
先化以执行视频解码。当编码数据包括音频时,包括在终端设备中的音频解码器被优先化
以执行音频解码处理。
[0298] 对于具有其显示器的终端设备,例如,智能手机或平板电脑3108、计算机或笔记本电脑3110、网络视频录像机(network video recorder,NVR)/数字视频录像机 (digital 
video recorder,DVR)3112、TV 3114、个人数字助理(personal digital assistant,PDA)
3122或车载设备3124,终端设备可以将解码数据馈送到其显示器。对于不配备显示器的终
端设备,例如STB 3116、视频会议系统3118或视频监控系统 3120,在其中连接外部显示器
3126以接收和显示解码数据。
[0299] 当此系统中的每个设备执行编码或解码时,可以使用如上述实施例中所示的图像编码设备或图像解码设备。
[0300] 图17示出终端设备3106的示例的结构的图。在终端设备3106从捕获设备3102 接收到流之后,协议处理单元3202分析流的传输协议。所述协议包括但不限于实时流媒体协
议(Real Time Streaming Protocol,RTSP)、超文本传送协议(Hyper Text Transfer 
Protocol,HTTP)、HTTP实时流媒体协议(HTTP Live streaming protocol, HLS)、MPEG‑
DASH、实时传输协议(Real‑time Transport protocol,RTP)、实时消息传输协议(Real 
Time Messaging Protocol,RTMP),或其任何种类的组合等。
[0301] 在协议处理单元3202处理流之后,生成流文件。文件被输出到解复用单元3204。解复用单元3204可以将复用数据分离成编码音频数据和编码视频数据。如上文所述,对于其
它实际场景,例如在视频会议系统中,不复用编码音频数据和编码视频数据。在这种情况
下,编码数据被传输到视频解码器3206和音频解码器3208,而不通过解复用单元3204。
[0302] 通过解复用处理,生成视频基本流(elementary stream,ES)、音频ES和可选的字幕。视频解码器3206,包括如上述实施例中说明的视频解码器30,通过如上述实施例中所示
的解码方法对视频ES进行解码以生成视频帧,并将此数据馈送到同步单元3212。音频解码
器3208对音频ES进行解码以生成音频帧,并将此数据馈送到同步单元3212。可替换地,在将
视频帧馈送到同步单元3212之前可以将视频帧存储在缓冲器(图中未示出)中。类似地,在
将音频帧馈送到同步单元3212之前可以将音频帧存储在缓冲器(图中未示出)中。
[0303] 同步单元3212同步视频帧和音频帧,并将视频/音频提供给视频/音频显示器 3214。例如,同步单元3212同步视频和音频信息的呈现。信息可以使用与编码音频和视觉数
据的呈现有关的时间戳以及与数据流本身的传送有关的时间戳而以语法进行编码。
[0304] 如果流中包括字幕,则字幕解码器3210对字幕进行解码,使字幕与视频帧和音频帧同步,并将视频/音频/字幕提供给视频/音频/字幕显示器3216。
[0305] 本发明不限于上述系统,并且上述实施例中的图像编码设备或图像解码设备可以结合到其它系统中,例如汽车系统。
[0306] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者任意组合来实现。当使用软件实现时,可以全部或者部分地以计算机程序产品的形式实现。所述计算机程序
产品包括一个或多个计算机指令,在计算机上加载和执行所述计算机程序指令时,全部或
部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计
算机、计算机网络或其他可编程装置。所述计算机指令可存储在计算机可读存储介质中,或
者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令
可以从一个网络站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户
线)或无线(例如红外、微波等)方式向另一个网络站点、计算机、服务器或数据中心进行传
输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,也可以是包含一个
或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质
(例如软盘、硬盘、磁带等)、光介质(例如DVD等)、或者半导体介质(例如固态硬盘)等等。
[0307] 在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。