目录
- 参考
- 概述
- CfL的核心思想
- AV1中的CfL预测方法
1. 参考
- [1] people.xiph.org/Next Generation Video: AV1, Part 1: Chroma from Luma (20180429)
- [2] J. Kim, S. Park, Y. Choi, Y. Jeon, and B. Jeon, “New intra chroma prediction using
inter-channel correlation,” - [3] N. E. Egge and J.-M. Valin, “Predicting chroma from luma with frequency domain
intra prediction,”
2. 概述
亮度分量来预测色度分量(Chroma from Luma, CLF)是AV1中使用的一种新的帧内预测技术。它根据图像中亮度值(luma)来预测色度值(chroma)。首先对Luma值进行编码和解码,然后CfL对chroma进行有根据的预测,当预测表现好时,可以减少要编码的chroma信息。
AV1中使用的CfL不是一项全新的技术,开创性的CfL论文在2009年,LG和三星共同提出了一种名为LM模式的CfL的早期实现,但在HEVC的设计中被否决。Mozilla的Daala codec使用了CfL的技术。思科的Thor codec也有类似于LM模式的CfL技术,HEVC最终通过HEVC范围扩展添加了一个改进版本,称为跨通道预测(Cross-Channel Prediction, CCP)。
LG的LM模式和Thor不需要编码任何参数,但是隐式模型降低了拟合精度,增加了解码器的复杂性。Daala codec的CfL工作在频域,它只发出一个激活和符号位的信号,其他参数信息已经通过PVQ隐式编码。AV1中的CfL实现建立在Daala实现的基础上,借鉴了Thor的模型思想,并进行了改进。避免了解码器中任何复杂度的增加,与之前的解码器相比,降低了编码器的复杂度,并显著提高了编码模型的拟合度和准确性。
附上Mozilla工程师关于CfL的一个技术分享视频的B站链接VideoLAN Dev Days 2017 Chroma from Luma (CfL) in AV1
3. CfL的核心思想
是什么让我们认为我们可以根据亮度来预测色度?
大多数视频使用类似于的YUV颜色空间来降低通道间的相关性。
RGB与YUV的变换公式
Y是luma通道,色度通道U和V分别用蓝色分量减去luma信号和红色分量减去luma信号。YUV非常简单,并且大大减少了跨通道的编码冗余。更多YUV格式的介绍参见YUV数据格式
- 将最左边图像分解为YUV三个分量,或者更准确地说是bt.601 Y'CbCr颜色空间。左图中是luma通道,右图是chroma通道。
- 与RGB图像相比,YUV的跨通道冗余更少,但在YUV分解的三个通道中,原始图像的特征仍然清晰可见。这三个通道在相同的位置仍然有边缘。
我们来尝试用更多的luma数据来预测chroma数据。
Luma预测的chroma,其核心是基于有根据的猜测为单色图像上色的过程。这就像拍一张老黑白照片,用一些彩色铅笔,然后开始在照片上着色。当然,CfL的chroma预测必须准确才有用,它们不可能是胡乱的猜测。
编码器每次处理的是一个小的编码块,我们需要观察小区域的相关性,在这些小区域,可以用一个相当简单的模型高度准确性地从luma预测chroma的。考虑下图中红色高亮部分:
在本示例的这个小范围内,给图像着色的正确“规则”很简单:较亮的区域是绿色的,颜色随着亮度降低而饱和度降低到黑色。大多数块将有类似的简单着色规则。猜想亮度和色度存在简单的αx +β线性关系:
从上图可以看出。
图中有两条直线——一条是U通道,另一条是V通道。换句话说,其中为重构的luma值,我们计算色度值如下:
这些参数的含义是什么呢? α参数从2维平面选择一个特定的色调,依据亮度进行缩放。β为L为0时预测的色度值。
结论:
- 从观察发现在一些编码块Luma和chroma使用线性关系的模型是比较拟合的,可以使用这个模型,根据chroma来预测luma。
- 现在的任务归结为了选择正确的α和β,然后进行编码。
4. AV1中的CfL预测方法
Predicting Chroma from Luma in AV1说明了[2]中提出的一种直接的隐式方法:
使用线性回归的最小二乘法来估计α和β,由于解码端不知道当前块的chroma,所以使用的当前块周边的重建好的样本来估计α和β,如下图所示[2]。
- 说明:线性回归最小二乘法可以参考一下这篇文章线性回归——最小二乘法
隐式方法的主要优点不用发送信号。然而,隐式实现有许多缺点:
- 最小二乘法增加了解码器的复杂度。
- 色度像素C在解码器上计算最小二乘时不可用。必须使用相邻的重建色度像素代替,降低了预测的准确性。
在[3]中,作者认为显式信令的优点远远大于信令的成本。相比隐式的方法,显式编码α带来的准确性的提升可以抵消所增加的信号消耗。
AV1中采用了一种混合的方法。
- 把要预测的chroma在像素域分成直流(DC)分量和交流(AC)分量两部分来预测,如下面公式所示。
- chroma的DC分量使用常用的DC预测获得(结果验证预测效果很好,参见[1]中的结果说明)。
-
chroma的AC分量通过重建好的luma的AC分量来预测,在码流中发送α信号。
在预测不够准确的情况下,需要编码残差数据。当预测效果很差时就不使用它。
[1]中给出的实验结果:
- 对于PSNR、PSNR-HVS、SSIM、PSNR Cb、PSNR Cr、MS SSIM这些对颜色误差不敏感的度量参考,CfL没有使他们变得更差。
- CIEDE2000是需要注意的度量参考,它用于衡量颜色的差异程度,CfL节省的比特率比较明显,尤其在更高分辨率的情况。
- 对于“1080p-screen”的内容,它大幅降低了8%。这是有道理的。大多数屏幕播放的内容都是相当静态的,当区域发生变化时,它们几乎总是适合于帧内编码,所以从CfL看到更多的增益。