第三章 H.264 視訊編碼標準與位元率控制
3.2 H.264 位元率控制系統
3.2.3 適應性 H.264 位元率控制系統
由 3.3.2 小節得知,由 Li 等學者提出的 JVT-G012 草案,雖然成功利用線性 迴歸的方法來預測待編 MB 的 MAD,並依據 MAD 的預測值來計算適合的量化 參數,解決了 RDO 的問題,但卻沒有考慮到初始 QP 的設定以及空間的相關性 所以在畫面變動劇烈情況下無法準確的做預測。
所以我們提出適應性 H.264 位元率控制系統來改進此問題,改進方式如下:
1. GOP 層:
首先在 GOP 層,由於第一張影像是沒有其他畫框可以參考,所以若 要找出最佳地初始 QP,最簡單地方法就是全搜尋法(full search),將 51 種 QP 都實際做一遍編碼,如此一來將會大幅增加編碼時間,而 A.
Armstrong 等學者[9]也發現了此問題,所以他們提出二元搜尋法(binary
search algorithm: BSA)來尋找出最佳化初始 QP,而此方法只需要做 6 次 編碼即可得到最佳初始 QP,如圖 3.12 所示,在頻寬 2 Mbps 下 QP 從 26 開始做編碼,而後依據所編位元率還調整更高或是更低地 QP。
然而 BSA 仍然需要 6 次的編碼,其所花費時間依然耗時,所以我們 結合了之前研究的快速化框內模式預測(fast intra mode decision: FIMD),
其方法是利用 I 畫面待編碼方塊臨近的四個已編碼區塊相對應的模式,
優先作為候選的測試模式,並透過臨界値的組合來終止模式決策的過程,
達到快速預測,透過 FIMD 和 BSA 的結合,可以大幅降低計算最佳量化 參數的處理時間,達到低延遲的效果。
圖 3.12、於 2 Mbps 頻寬下,BSA 搜尋最佳量化參數示意圖
2. 畫框層:
而在畫框層中,除了利用畫框的時間關聯性,使用前一張畫框的檔 頭來預測我們目前要編碼的檔頭預測資訊,更進一步利用畫框內有很高 的空間關聯性,因此我們提出一個時空關聯性模型[10],如圖 3.13 所示,
並且分析在不同半徑下,檔頭位元數差最小之機率統計,如圖 3.14 所示,
我們可以清楚的觀察到,當搜尋的半徑越大所找到和實際檔頭位元一樣 的 MB 機率就越高,而更進一步統計,如圖 3.15 所示,經 RDO 後所得 到的實際 MAD 和只經 INTER 16×16 和 INTRA 16×16 二個框內預測模
式後的粗略 MAD(簡稱 MADrough)來加以分析,可以發現 MADrough和實 際 MAD 有相同的趨勢,即表示有很強的相關性,因此我們可以利用
MADrough的資訊量來進行空間關聯性的 MAD 預測,並提出時空關聯性
的 MAD 預測模式,其公式如下所示:
2 1
.
[ i ] a MAD [ i ] a
MAD
curtemp
prev
(3.8)2 1
,
[ i ] b MAD [ i ] b
MAD
curspat
rough
(3.9)
圖 3.13、時空關聯性模型示意圖
圖 3.14、檔頭位元的時間關聯性分析
圖 3.15、實際 MAD 與粗略 MAD 的差異性分析
3. MB 層:
分別求得MADrough,比較最小min_cost,並記錄起來,做為線
利用先前所計算時間的 MADpred,temp[i],min,到前一張畫 框中相對位置,半徑為2 的範圍找到差值最小的 MAD,來
圖 3.16、適應性 H.264 位元率控制流程圖
load one frame
1st I/P frame ? encode with
initial QP
allocate frame bit budget
R-Q model
allocate GOP bit budget
select optimal QP using BSA and fast intra mode methods
rough motion compensation
load one MB
1st MB? encode with
average QP
frame budget < 0?
MB layer MAD Prediction
allocate MB bit budget encode with