本文来自DCC2020论文《Sub-sampled Cross-Component Prediction For Chroma Component Coding》
跨分支预测可以去除不同颜色分量间的冗余,最初在HEVC中就提出过CCLM来实现跨分支预测。
CCLM(Cross-component linear prediction mode)使用一个线性模型来通过亮度来预测色度。该线性模型使用最小二乘法( least square regression,LSR)利用邻域参考像素生成。
对于2Nx2N的亮度CB,其对应色度CB为NxN(4:2:0格式),若对色度CB使用CCLM则对应预测值通过下式获得,
Predc是色度预测值,RecL是对应亮度块重建值的降采样结果。alpha和beta是模型参数,利用邻域亮度和色度重建值通过LSR方法计算得到,
M是邻域像素数,RecC和RecL分别是色度块参考像素和亮度块降采样的参考像素,如Fig.1(a)所示。注意,为了降低复杂度除法操作通过乘法实现。上面计算共需要2M+4次乘法,7M+3次加法,除法2次。
通常来说乘法操作所需的时钟周期数高于加法操作和比较操作。为了减少乘法操作次数,VTM4.0使用max-min method替代LSR来求alpha和beta。它通过亮度最大和最小的两个点直接生成一条直线,如Fig.1(b)所示。alpha和beta通过下式求得,
xA和xB分别代表降采样亮度块最小和最大的亮度值,yA和yB是它们对应的色度值。在该方法中乘法操作变成搜索最大值和最小值的操作(比较操作)。
在生成CCLM参数过程中包含了大量比较操作,这对应硬件和软件设计很不友好,尤其对于解码端不友好。因此,本文提出子像素方法生成模型参数,只需要利用四个邻域色度像素和对应的降采样亮度像素,如Fig.2(a)所示。
在该方法中,亮度块仅需对指定位置进行降采样操作,极大提高了内存访问效率。同时,比较次数也降为4次,获取两个较小的亮度值:xA0和xA1,获取两个较大的亮度值:xB0和xB1。对应的色度值分别是yA0,yA1,yB0,yB1。通过下式求得xA,xB,yA,yB,
然后通过max-min method可求得alpha和beta。此外,当上方或左侧参考像素不存在时,默认alpha=0,beta=1<<(bitDepth-1)。
除了CCLM,VVC中还使用LM-Above和LM-Left模型来更好的进行分支预测。LM-Above仅使用上方像素,LM-Left仅使用左侧像素生成模型参数,CCLM既要使用上方也要使用左侧像素。
为了简化操作,本文提出的子像素模型适配所有LM模型。4个子像素由块尺寸、LM模式和邻域像素决定,假设当前色度CB尺寸为WxH,则根据下式求W',H',
上方邻域像素范围可表示为S[0,-1]到S[W'-1,-1],左侧邻域像素范围可表示为S[-1,0]到S[-1,H'-1]。根据下面方法选择4个子像素,
如果使用CCLM模式,且上方和左侧邻域像素都可用,
如果使用LM-Above模式,或仅上方邻域像素可用,
对于32x32的色度块,且上方和左侧邻域像素都可用时,该方法复杂度减少如下表所示,
AVS3帧内预测有5种色度预测模式,包括derived mode(DM), horizontal mode, vertical mode, DC mode 和bi-linear mode。基于子像素跨分支预测,本文提出Two-Step Cross-component Prediction Mode (TSCPM)。TSCPM和CCLM有些区别,线性模型可直接应用于重建的亮度像素,生成相同大小的临时色度预测块。随后,进行下采样,得到最终的色度预测块。
首先计算色度块的宽高比r,
根据下面方法选择4个子像素,
上方和左侧参考像素都可用,
仅上方参考像素可用,
仅左侧参考像素可用,
4个子像素选择如Fig.3所示。
当色度块尺寸为2,且仅一侧参考像素可用时,只选择2个子像素。
获得模型参数后,首先通过下式计算临时色度预测块(和亮度块尺寸相同),
然后,使用6抽头滤波器[1 2 1;1 2 1]对临时色度预测块进行下采样,
但是,对于色度块最左侧的列,使用2抽头平均滤波器。
需要在码流中传输一个标志位来表示是否开启TSCPM功能,标志位位于DM模式之后。详细的情况如下表,
该方法在VTM4.0和AVS3测试模型HPM5.0中实现。
在VTM4.0中AI和RA配置下的结果如下,
在AI配置下YUV分量BD-Rate增益分别为0.05%,0.30%,0.38%。在RA配置下YUV分量BD-Rate增益分别为0.05%,0.36%,0.63%。增益最大的是A1序列(4k序列)。
可以看见对于所有序列尤其是4k序列,TSCPM表现良好。在AI配置下YUV分量BD-Rate增益分别为0.99%,9.18%,9。41%。在RA配置下YUV分量BD-Rate增益分别为0.50%,7.63%,7.80%。
感兴趣的请关注微信公众号Video Coding