跳至內容

Eliasgamma編碼

出自Taiwan Tongues 台語維基
於 2025年8月22日 (五) 17:53 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

以利亞加瑪碼(Elias gamma code)是一種用佇正整數之通用編碼。該碼由 Peter Elias 發明。此編碼定定予人用佇無法度事先知影上界之正整數。

編碼

著蹛咧編碼正整數 _ X _ ≥ 一:

一 . 令 _ N _=⌊log 二 _ X _ ⌋,故二 N ≤ _ X _ < 二 N + 一二 . 輸出 _ N _ 個零位元三 . 來輸出 _ X _ 的這二進位表示講。

另外一个等價的編碼方式為:

一 . 輸出 _ N _ 的一進位表示二 . 共下跤的 _ N _ 個位元接著述了後。

愛對 $ x $ 進行編碼,以利亞戴爾達碼必須愛使用 $ 二 \ lfloor \ log _ { 二 } ( x ) \ rfloor + 一 $ 個位元。

以下為一編碼對照表:

解碼

以利亞加瑪碼之解碼遵循下列步驟:

一 . 讀計數零位元到第一个一位元出現,假使有 _ N _ 出現兩 . 對頭一个一位元了後,閣讀取 _ N _ 個位元,而且這馬完成十進位正整數,令之為 _ M _ 三 . 最終解碼為二 N + _ M _

用途

利亞加瑪碼上捷看的時陣用途為待編數以上無知時間,抑是壓縮小數值較大數值頻繁之資料。用利亞加瑪碼會當做為著欲利亞戴爾達碼之一部份。

一般化

以利亞加瑪碼並無適用佇零或者是負整數。一个一般化的方式是佇上倒爿先加一个一位元,解碼的時陣閣再行扣掉。另外一个方法是咧編碼前將所有整數對映至正整數,比如講:( 零 , 一 , − 一 , 二 , − 二 , 三 , − 三 , . . . ) 對應至 ( 一 , 二 , 三 , 四 , 五 , 六 , 七 , . . . )。

來參考項目

  • Elias , Peter ( March 一千九百七十五 ) . " Universal codeword sets and representations of the integers " . IEEE Transactions on Information Theory 二十一 ( 二 ) : 一百九十四–兩百空三 .
  • Classical and Quantum Information Theory : An Introduction for the Telecom . . .
  • A Concise Introduction to Data Compression
  • Data Compression : The Complete Reference