知識社群登入
位置: H.264 > 文件區 > Video Coding Concept > 熵編碼

利用exp-Golomb code編碼所有的 syntax elements
利用Context-Adaptive Variable Length Coding (CAVLC)或
Context-Adaptive Binary Arithmetic Coding (CABAC) 編碼
quantized transform coefficients

by 系統管理者, 2010-09-15 10:51, 人氣(2462)
by 系統管理者, 2010-09-15 10:52, 人氣(1462)
針對非零個數,以及其值和位置獨立作編碼
Example:
7, 6, -2, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0 ,0 ,0.

第一步 # of nonzero coefficients (N) and "Trailing T1s"
計算非零值和所謂的 "Trailing T1s"
T1s = 2, N = 5,
這兩個數字以組合的事件壓縮,從四個VLC表中,根據相鄰區塊的係數找一個使用

第二步 Encoding the value of Coefficients
對非零係數作編碼, T1s只需記錄正負號
非零係數以反序記錄 -2, 6, …
並利用不同的VLC表達到適應式編碼
六個 exp-Golomb code 表可供使用

第三步 Sign Information
傳送正負號
T1s 使用一個位元表示
其餘係數之正負號則包含在 exp-Golomb codes 之中

第四步 TotalZeroes
傳送從最後一個非零數值到開始之間的的零值個數
TotalZeroes = 3
N=5意味著所有非零值介於 0-11,
有15個表可供選擇來編碼
N=16 表示沒有非零值

第五步 RunBefore
記錄上一步的零值的位置