Macroblock Tree

Macroblock Tree是一個基於macroblock的qp控制方法。MB Tree的工作原理類似於古典的qpcompression,只不過qcomp處理的對象是整張frame而MBTree針對的是每個MB進行處理。

基本介紹

  • 外文名:Macroblock Tree
  • 實質:基於macroblock的qp控制方法
  • 處理對象: frames的mb
  • 臨時檔案:MBTree File
簡介,相關信息,

簡介

什麼是Macroblock Tree
Macroblock Tree是一個基於macroblock的qp控制方法。MB Tree的工作原理類似於古典的qpcompression,只不過qcomp處理的對象是整張frame而MBTree針對的是每個MB進行處理。工作過程簡單來說,是對於每個MB,向前預測一定數量的幀(該數量由rc-lookahead和keyint的較小值決定)中該MB被參考的情況,根據引用次數的多寡,決定對該MB使用何種大小的qp進行quantization。而qp的大小與被參考次數成反比,也就是說,對於被參考次數多的MB,264的解碼器認為此對應於緩慢變化的場景,因此給與比較高的質量(比較低的qp數值)。至於視頻的變化率與人眼感知能力的關係,這是一個基於主觀測試的經驗結果:視頻變化率越大人眼的敏感度越低,也就是說,人眼可以容忍快速變化場景的某些缺陷,但相對而言某些平滑場景的缺陷,人眼則相當敏感。注意此處說的平滑,指的是沿時間維度上場景的變化頻率,而非普通意義上的像素域中的場景。

相關信息

MBTree File
這是一個臨時檔案,記錄了每個P幀中每個MB被參考的情況。
MB Tree的處理對象
根據DS blog上的文章,目前mbtree只處理p frames的mb,同時也不支持bpyramid。
與Mbtree相關的參數
--qcomp qcomp有削弱mbtree強度的傾向,具體來說,qcomp的值越趨近於1(Constant Quantizer),mbtree的效力越差。
--rc-lookahead 決定mbtree向前預測的幀數。
一點深入的分析:
對於使用encoder的我們來說,也許需要更進一步的關注下mbtree具體是如何將碼率節省到這個地步的,在這之前,我們先回顧下264的碼率控制方法。
所謂碼率控制,指的是在給定碼率和解碼端緩衝區的限制下,如何選擇最優編碼參數的系統最佳化問題。x264一共支持5種碼率控制模式,而VBV的啟用可以使264以mb為單位而非以幀為單位指定qp。
簡而言之,CRF模式下碼率控制的過程由下面三步決定:
1、首先確定當前正在處理幀的碼率:由於x264使用了與畫面複雜度相關的經驗公式,於是問題被歸結於如何預測畫面複雜度。
2、對於1pass的CRF而言,畫面複雜度由殘差的SATD決定,後續GOP中的I幀qp則由之前編碼的I幀qp繼承決定。
3、之後,我們需要根據所選crf的數值,對2中獲得的數據進行scaling,以獲得最終碼率。

相關詞條

熱門詞條

聯絡我們