视频编码多媒体科技

AV1中的帧内预测方法Chroma from Luma(CfL)

2019-04-11  本文已影响2人  smallest_one

目录

  1. 参考
  2. 概述
  3. CfL的核心思想
  4. AV1中的CfL预测方法

1. 参考

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的变换公式

image.png
Y是luma通道,色度通道U和V分别用蓝色分量减去luma信号和红色分量减去luma信号。YUV非常简单,并且大大减少了跨通道的编码冗余。更多YUV格式的介绍参见YUV数据格式 image.png

我们来尝试用更多的luma数据来预测chroma数据。

Luma预测的chroma,其核心是基于有根据的猜测为单色图像上色的过程。这就像拍一张老黑白照片,用一些彩色铅笔,然后开始在照片上着色。当然,CfL的chroma预测必须准确才有用,它们不可能是胡乱的猜测。

编码器每次处理的是一个小的编码块,我们需要观察小区域的相关性,在这些小区域,可以用一个相当简单的模型高度准确性地从luma预测chroma的。考虑下图中红色高亮部分:


image.png

在本示例的这个小范围内,给图像着色的正确“规则”很简单:较亮的区域是绿色的,颜色随着亮度降低而饱和度降低到黑色。大多数块将有类似的简单着色规则。猜想亮度和色度存在简单的αx +β线性关系:


image.png

从上图可以看出。
图中有两条直线——一条是U通道,另一条是V通道。换句话说,其中Lrij为重构的luma值,我们计算色度值如下:
U_{ij} = α_UL^r_{ij} + β_U

V_{ij} = α_VL^r_{ij} + β_V

这些参数的含义是什么呢? α参数从2维平面选择一个特定的色调,依据亮度进行缩放。β为L为0时预测的色度值。


image.png

结论:

4. AV1中的CfL预测方法

Predicting Chroma from Luma in AV1说明了[2]中提出的一种直接的隐式方法:

image
使用线性回归的最小二乘法来估计α和β,由于解码端不知道当前块的chroma,所以使用的当前块周边的重建好的样本来估计α和β,如下图所示[2]。
用于推导α和β的样本的位置

隐式方法的主要优点不用发送信号。然而,隐式实现有许多缺点:

  1. 最小二乘法增加了解码器的复杂度。
  2. 色度像素C在解码器上计算最小二乘时不可用。必须使用相邻的重建色度像素代替,降低了预测的准确性。

在[3]中,作者认为显式信令的优点远远大于信令的成本。相比隐式的方法,显式编码α带来的准确性的提升可以抵消所增加的信号消耗。

AV1中采用了一种混合的方法。

在预测不够准确的情况下,需要编码残差数据。当预测效果很差时就不使用它。

[1]中给出的实验结果:

image.png
  1. 对于PSNR、PSNR-HVS、SSIM、PSNR Cb、PSNR Cr、MS SSIM这些对颜色误差不敏感的度量参考,CfL没有使他们变得更差。
  2. CIEDE2000是需要注意的度量参考,它用于衡量颜色的差异程度,CfL节省的比特率比较明显,尤其在更高分辨率的情况。
  3. 对于“1080p-screen”的内容,它大幅降低了8%。这是有道理的。大多数屏幕播放的内容都是相当静态的,当区域发生变化时,它们几乎总是适合于帧内编码,所以从CfL看到更多的增益。
上一篇 下一篇

猜你喜欢

热点阅读