ICME2021:基于机器学习的VVC帧内编码码率控制

Posted Dillon2015

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ICME2021:基于机器学习的VVC帧内编码码率控制相关的知识,希望对你有一定的参考价值。

本文来自ICME论文《MACHINE LEARNING-BASED RATE DISTORTION MODELING FOR VVC/H.266INTRA-FRAME 》

文章提出利用4种传统机器学习模型构建VVC帧内编码帧的RD模型。

RD模型

Fig.1是整个算法的流程。首先,从输入序列提取特征。然后,利用模型调整帧内编码帧的RDO。重复以上过程直到整个序列编码完。

RDO可以描述为在给定码率下使得失真最小,如下式,

在构建RD模型时除了要考虑码率,还需要考虑视频内容。本文提出了基于机器学习的RD模型,如下式,

式中Do是最优的失真,P(.)是基于学习的RD模型,F是和视频内容相关的特征向量。

Fig.2是RD模型的优化过程。

特征选择

文章使用多尺度各向异性方向导数(multi-scale anisotropic directional derivative,ADD)滤波器来提取帧内编码帧的特征。ADD可以提取边缘和角点处的各向异性强度变化特征。

帧内编码帧I在角度θ  上的ADD特征为:

其中⊗  表示卷积操作。I(i,j)表示亮度通道在(i,j)处的像素值。psi(θ)是ADD滤波器。

文章提取了4个ADD特征:

(1)F_mean:为了描述I的强度,在水平和垂直方向上计算F_ADD的均值:

(2)F_max:F_max是两个方向的F_ADD最大值,F_max越大表示该帧水平或垂直方向性更强:

(3)F_min:F_min是两个方向的F_ADD最小值,F_min越小表示该帧水平或垂直方向越平坦:

(4)F_var:F_var(θ)反映I在方向θ的平坦性,F_var反映I的整体平坦性:

为了展示以上特征和码率的关系,Fig.3画出了实际编码比特数和ADD特征的关系,使用的序列为“Campfire”,QP=27。

可以看见ADD特征和码率有很强的相关性。最终视频内容特征F定义如下:

机器学习实现

使用4个传统的机器学习算法来训练P(R_t,F)模型。SVR(Support Vector Regression)、RFR(Random Forest Regression )、GPR(Gaussian Process Regression)、ANN(Artificial Neural Networks),训练预测模型P(.),特征为(R_t,F),label为D_o。

数据集:训练数据包括41条序列,每条序列的最后20帧用于训练模型。测试序列是VVC标准的26个序列的前20帧。

训练:整个训练过程如Fig.1所示。每条序列使用4个QP(22、27、32、37)编码以获得RD cost作为label。使用4种机器学习方法训练P(R_t,F)预测模型。

为了获取VVC中最优的label D_o,采用多QP优化。设置4个初始QP_initial,然后搜索它周围的13个QP(QP_initial-6到QP_initial+6),为每个CTU选择最优的QP以使RD cost最小,称为optimal R-D model 。

起始I帧的码率控制

起始I帧(IDR帧)无法利用之前的码率控制信息,给定目标码率R_t,使用拉格朗日乘子模型,

实验中SVR模型使用RBF作为核函数,参数gamma=8,C=4,epsilon=0.0078。RFR模型有80棵树,最大深度16。GPR模型超参数为(0.1,10)。ANN模型层结构为5x15x30x1。

实验结果

实验平台为VTM7.0,测试序列为VVC的26条序列,使用All-intra配置,编码器参数T emporalSubsampling 设为1。每天序列设置的码率由4个固定QP(22,27,32,37)编码结果获得。为了确保当前的帧内编码帧不能获取之前的帧的参考信息,编码过程中模型参数和每帧的目标比特数不更新。

RD效果

Fig.4展示了4条序列的结果。可以看见本文算法效果与optimal R-D model相近,优于VTM7.0。但是多QP优化复杂度高很难实际应用,所以本文算法在计算复杂度和编码效果上达到更好的平衡。

表1是初始I帧码率控制的结果。

Fig.5是两条序列的码率波动情况,可以看见基于学习的方法的码率更接近目标码率。

Fig.6是亮度分量的PSNR变化,可以看见GPR和ANN的PSNR更稳定。Fig.7是主观效果,4种机器学习模型要优于VTM7.0。

感兴趣的请关注微信公众号Video Coding

以上是关于ICME2021:基于机器学习的VVC帧内编码码率控制的主要内容,如果未能解决你的问题,请参考以下文章

ICME2021:基于VVC的角度加权预测

ICME2021:实时VVC软件解码器

ICME2021:基于CNN的HEVC帧内编码块快速划分

VVC/VTM帧内编码主要流程图与划分函数

ICASSP2021:基于显著性进行目标检测的VVC编码

VVC中GDR