天天看點

H.266 QTBT(Quadtree plus Binary Tree)塊結構介紹

聯發科公司提出的QTBT塊結構被JVET采納,內建在JEM3.0及其後的版本中,替代了原來HEVC的四叉樹(QT)塊結構。QTBT與四叉樹劃分的主要差別: 

1、QTBT塊結構在四叉樹的葉結點,繼續往下做二叉樹遞歸周遊,其中二叉樹可以水準劃分或垂直劃分。 

2、在QTBT塊結構中,CB=PB=TB,也就是說取消了PU/TU/PB/TB的概念,預測塊即是變換塊。 

3、I slice的亮度分量的CTB和色度分量的CTB劃分脫鈎,單獨劃分。 

4、四叉樹結構的亮度分量的CTB最大為64x64,而QTBT結構亮度分量的CTB的大小預設從128x128開始,且最大可以設定為256x256。

QTBT塊結構圖例: 

H.266 QTBT(Quadtree plus Binary Tree)塊結構介紹

從上圖可以看到,QTBT塊結構先做四叉樹劃分,然後在四叉樹葉結點做二叉樹劃分。

QTBT性能: 

1、BD-Rate平均在-4%左右,LD配置增益最大,RA配置增益次之,AI配置增益最小。 

2、編碼時間是原來的2.2~5.6倍,AI配置增加的編碼時間最多(5.6倍),該算法的編碼複雜度在提案JVET-C0105中被诟病;解碼時間是原來的105%~112%。

QTBT算法實作的僞代碼: 

H.266 QTBT(Quadtree plus Binary Tree)塊結構介紹

僞代碼說明: 

1、函數QTBT_RDO對應的JEM代碼中的函數為TEncCu::xCompressCU。 

2、TryInterPredMode/TryIntraPredMode函數對應的JEM函數為 

TEncCu::xCheckRDCostInter/TEncCu::xCheckRDCostMerge2Nx2N/TEncCu::xCheckRDCostIntra 

3、TEncCu::xCompressCU函數中調用自己次,分别是水準劃分調用兩次、垂直劃分調用兩次、四叉樹劃分調用四次。

此技術在JEM4.0中對應的标簽為JVET_C0024_QTBT。

繼續閱讀