天天看點

ICME2021:基于機器學習的VVC幀内編碼碼率控制

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

ICME2021:基于機器學習的VVC幀内編碼碼率控制
文章提出利用4種傳統機器學習模型建構VVC幀内編碼幀的RD模型。

RD模型

Fig.1是整個算法的流程。首先,從輸入序列提取特征。然後,利用模型調整幀内編碼幀的RDO。重複以上過程直到整個序列編碼完。

ICME2021:基于機器學習的VVC幀内編碼碼率控制

RDO可以描述為在給定碼率下使得失真最小,如下式,

ICME2021:基于機器學習的VVC幀内編碼碼率控制

在建構RD模型時除了要考慮碼率,還需要考慮視訊内容。本文提出了基于機器學習的RD模型,如下式,

ICME2021:基于機器學習的VVC幀内編碼碼率控制

式中Do是最優的失真,P(.)是基于學習的RD模型,F是和視訊内容相關的特征向量。

ICME2021:基于機器學習的VVC幀内編碼碼率控制

Fig.2是RD模型的優化過程。

特征選擇

文章使用多尺度各向異性方向導數(multi-scale anisotropic directional derivative,ADD)濾波器來提取幀内編碼幀的特征。ADD可以提取邊緣和角點處的各向異性強度變化特征。

幀内編碼幀I在角度θ  上的ADD特征為:

ICME2021:基于機器學習的VVC幀内編碼碼率控制

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

文章提取了4個ADD特征:

(1)F_mean:為了描述I的強度,在水準和垂直方向上計算F_ADD的均值:

ICME2021:基于機器學習的VVC幀内編碼碼率控制

(2)F_max:F_max是兩個方向的F_ADD最大值,F_max越大表示該幀水準或垂直方向性更強:

ICME2021:基于機器學習的VVC幀内編碼碼率控制

(3)F_min:F_min是兩個方向的F_ADD最小值,F_min越小表示該幀水準或垂直方向越平坦:

ICME2021:基于機器學習的VVC幀内編碼碼率控制

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

ICME2021:基于機器學習的VVC幀内編碼碼率控制

為了展示以上特征和碼率的關系,Fig.3畫出了實際編碼比特數和ADD特征的關系,使用的序列為“Campfire”,QP=27。

ICME2021:基于機器學習的VVC幀内編碼碼率控制

可以看見ADD特征和碼率有很強的相關性。最終視訊内容特征F定義如下:

ICME2021:基于機器學習的VVC幀内編碼碼率控制

機器學習實作

使用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,使用拉格朗日乘子模型,

ICME2021:基于機器學習的VVC幀内編碼碼率控制
ICME2021:基于機器學習的VVC幀内編碼碼率控制

實驗中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優化複雜度高很難實際應用,是以本文算法在計算複雜度和編碼效果上達到更好的平衡。

ICME2021:基于機器學習的VVC幀内編碼碼率控制

表1是初始I幀碼率控制的結果。

ICME2021:基于機器學習的VVC幀内編碼碼率控制

Fig.5是兩條序列的碼率波動情況,可以看見基于學習的方法的碼率更接近目标碼率。

ICME2021:基于機器學習的VVC幀内編碼碼率控制

Fig.6是亮度分量的PSNR變化,可以看見GPR和ANN的PSNR更穩定。Fig.7是主觀效果,4種機器學習模型要優于VTM7.0。

ICME2021:基于機器學習的VVC幀内編碼碼率控制

繼續閱讀