本文來自DCC2020論文《Sub-sampled Cross-Component Prediction For Chroma Component Coding》

跨分支預測可以去除不同顏色分量間的冗余,最初在HEVC中就提出過CCLM來實作跨分支預測,
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),
VVC中實作細節
除了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模式,或僅上方鄰域像素可用,

-
如果使用LM-Left模式,或僅左側鄰域像素可用,
-

對于32x32的色度塊,且上方和左側鄰域像素都可用時,該方法復雜度減少如下表所示,

AVS3中實作細節
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結果
在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序列),
HPM5.0結果

可以看見對于所有序列尤其是4k序列,TSCPM表現良好,在AI配置下YUV分量BD-Rate增益分別為0.99%,9.18%,9,41%,在RA配置下YUV分量BD-Rate增益分別為0.50%,7.63%,7.80%,
感興趣的請關注微信公眾號Video Coding

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/248518.html
標籤:其他
上一篇:2021年 第12屆 藍橋杯 第2次模擬賽真題詳解及小結【Java版】
下一篇:qtmaind. lib(qtmain win.obj) : error LNK2019:無法決議的外部符號main,函式 WinMain 中參考了該符號
