指數哥倫布碼

指數哥倫布碼

指數哥倫布碼(Exponential-Golomb coding)是一種無損數據壓縮方法。Exp-Golomb編碼是一種可變長前綴碼, 其硬體實現簡單, 無需事先建立和存儲碼錶, 不但可以通過硬體計算快速產生碼字, 而且可以根據信源PDF函式靈活調整級數k, 因而, 可以達到很高的編碼效率。

基本介紹

  • 中文名:指數哥倫布碼
  • 外文名:Exponential-Golomb coding
前言,原理,

前言

在計算機中,一般數字的編碼都為二進制,但是由於以相等長度來記錄不同數字,因此會出現很多的冗餘信息,如下:
十進制
5
4
255
2
1
二進制
00000101
00000100
11111111
00000010
00000001
有效位元組
3
3
8
2
1
如數字1,原本只需要1個bit就能表示的數據,如今需要8個bit來表示,那么其餘7個bit就可以看做是冗餘數據,在網路傳輸時,如果以原本等長的編碼方式來傳輸數據,則會出現很大的冗餘量,加重網路負擔但是如果只用有效位元組來傳輸上述碼流,則會是:10110011111111101,這樣根本不能分離出原本的數據。哥倫布編碼則是作為一種壓縮編碼算法,能很有效地對原本的數據進行壓縮,並且能很容易地把編碼後的碼流分離成碼字。

原理

用來表示非負整數的k階指數哥倫布碼可用如下步驟生成:
  1. 將數字以二進制形式寫出,去掉最低的k個比特,之後加1
  2. 計算留下的比特數,將此數減一,即是需要增加的前導零個數
  3. 將第一步中去掉的最低k個比特位補回比特串尾部
0~9的0~3級指數哥倫布編碼如下圖:
0~9的0~3級指數哥倫布編碼0~9的0~3級指數哥倫布編碼

相關詞條

熱門詞條

聯絡我們