聯發科公司提出的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塊結構圖例:
從上圖可以看到,QTBT塊結構先做四叉樹劃分,然後在四叉樹葉結點做二叉樹劃分。
QTBT性能:
1、BD-Rate平均在-4%左右,LD配置增益最大,RA配置增益次之,AI配置增益最小。
2、編碼時間是原來的2.2~5.6倍,AI配置增加的編碼時間最多(5.6倍),該算法的編碼複雜度在提案JVET-C0105中被诟病;解碼時間是原來的105%~112%。
QTBT算法實作的僞代碼:
僞代碼說明:
1、函數QTBT_RDO對應的JEM代碼中的函數為TEncCu::xCompressCU。
2、TryInterPredMode/TryIntraPredMode函數對應的JEM函數為
TEncCu::xCheckRDCostInter/TEncCu::xCheckRDCostMerge2Nx2N/TEncCu::xCheckRDCostIntra
3、TEncCu::xCompressCU函數中調用自己次,分别是水準劃分調用兩次、垂直劃分調用兩次、四叉樹劃分調用四次。
此技術在JEM4.0中對應的标簽為JVET_C0024_QTBT。