h.264中用到的指數哥倫布解碼
標準中描述為ue(v)、te(v)、se(v)、me(v)時呼叫
哥倫布碼字表前幾行
碼字 編碼數字(code_num)
1 0
010 1
011 2
00100 3
00101 4
00110 5
00111 6
0001000 7
字首為m個0
字尾為m位的二進位制數[info]
解碼時:
讀取1前面的0,計數得到m的值
讀取1後m位元
code_num = 2^m -1 + [info]
編碼時, 語法元素值value按照對映ue、te、se、me得到code_num
解碼是,根據對映型別逆運算,得到value
①ue為無符號對映,value = code_num
②se為有符號對映,如下表
code_num 0 1 2 3 4 5 …
value 0 1 -1 2 -2 3 …
③te截斷對映,根據value的取值範圍做不同的處理
如果value範圍是[0,k],k是大於1的乙個數,那麼te和ue一樣
如果value範圍是[0,1]
那麼不用上面的哥倫布碼表取得code_num
直接從碼流裡讀取1位元,設值為b,code_num = !b
④me對映是用code_num對應巨集塊**模式,標準中表9-4給出了對映關係
H 264 中的指數哥倫布編碼
h.264的乙個重要特色就是採用uvlc universal variable length coding,統一可變長編碼 編碼,提高了編碼效率。uvlc編碼中有一種編碼方式就是指數哥倫布編碼。程式實現該編碼時需要計算編碼長度len及其value,下面分別對無符號和有符號兩種指數哥倫布編碼進行分析。...
h264編碼分析 哥倫布編碼
1 首先h264為什麼選用哥倫布編碼?因為h264協議為了節省bits,沒有規定字段表示資料字段長度 資料字段可以根據自身的實際值,可長可短,這樣可以大程度上的節省bit。2 無符號指數哥倫布編碼如何編碼的?在實際資料前面有幾個0就表示,有效資料位數是多少,理解為長度字段,然後資料數值 數值 1,因...
H 264中CAVLC解碼過程詳解
例項解析 nc 1 編碼後得到輸出碼流為 0000 1000 1110 0101 1110 1101 解碼詳細過程如下 1.根據coeff token和nc查表 見標準表9 5 得到非零係數數目totalcoeffs和拖尾係數數目trailingones nc 1選擇對應的表,coeff token...