編碼理論

編碼理論(英語:Coding theory)是研究編碼的性質以及它們在具體應用中的性能的理論。編碼用於數據壓縮加密糾錯英語error-correction,最近也用於網絡編碼中。不同學科(如信息論電機工程學數學語言學以及計算機科學)都研究編碼是為了設計出高效、可靠的數據傳輸方法。這通常需要去除冗餘並校正(或檢測)數據傳輸中的錯誤。

盲文是一種廣泛使用數據壓縮以補償閱讀速度緩慢的編碼。

編碼共分四類:[1]

  1. 數據壓縮(或信源編碼
  2. 前向錯誤更正(或信道編碼
  3. 加密編碼
  4. 線路碼

數據壓縮和前向錯誤更正可以一起考慮英語Joint source and channel coding

信源編碼試圖壓縮來自信源的數據以使傳輸更高效。這種做法每天都能在互聯網上見到,因為在互聯網上使用常見的ZIP格式來降低網絡負載,使文件更小。

第二種,信道編碼,加入額外的數據位以使在傳輸信道有干擾存在的時候數據傳輸的強健性更強。普通用戶可能不知道許多應用中都使用了信道編碼。平常的音樂CD使用里德-所羅門碼來糾正劃痕和灰塵。在此應用中傳輸信道就是光盤本身。手機也使用編碼技術糾正高頻無線電傳輸的衰落和噪聲。數據調製解調器、電話傳輸、NASA都採用信道編碼技術來傳輸信息,例如渦輪碼低密度碼

編碼理論的歷史

1948年,克勞德·香農發表了《通信的數學理論》,這篇文章由《貝爾系統技術雜誌》的七月和十月刊分兩部分發行。該文重點研究了如何最有效地對發送者要發送的信息進行編碼的問題。在這篇基礎性的論文中,他使用了諾伯特·維納發展的概率論工具,而這些概率論工具用於通信理論在當時還尚處萌芽階段。香農提出信息熵作為消息不確定性的量度,而實質上創造了信息論這個領域。

二進制戈萊碼英語binary Golay code在1949年被提出。更具體地說,它是一種每個24位字能夠糾正三個錯誤、檢測出第四個錯誤的糾錯碼。

 
漢明距離的二維可視化

理查德·漢明因在貝爾實驗室在數值方法、自動編碼系統以及錯誤檢測和糾錯碼的成就於1968年獲得了圖靈獎。他發明了漢明碼漢明窗漢明數漢明距離等概念。

信源編碼

信源編碼的目的是讓源數據變小。

定義

  • 數據可看作隨機變量  ,其中 出現概率為  
  • 數據用字母表   中的字符串(單詞)進行編碼的。
  • 是一個函數  (或當空字符串不在字母表內時為  )。  是與   關聯的碼字。
  • 碼長寫作  
  • 碼長的期望值 
  • 碼字拼接  .
  • 空字符串的碼字為空字符串本身: 

性質

  1.  單射時,是非奇異碼
  2.   為單射時,是唯一可解碼代碼
  3. 如果    相互不是另一個的前綴,則  前綴碼

原理

信源的是信息的度量。基本上,信源編碼在儘量減少信源的冗餘,用攜帶更多信息的更少的比特來表示信源。

明確試圖根據特定的假定概率模型來最小化消息的平均長度被稱為熵編碼

有各種採用信源編碼方案試圖達到信源熵的極限的技術。C(x) ≥ H(x),其中 H(x) 為信源熵(比特率),C(x) 為壓縮後的比特率。特別指出,沒有源編碼方案可以比信源的熵更好。

例子

傳真傳輸使用簡單的遊程編碼。信源編碼去除所有發射機必要發送以外所有多餘數據,降低了傳輸所需的帶寬。

參見

注釋

  1. ^ James Irvine, David Harle. "Data Communications and Networks". 2002. p. 18. section "2.4.4 Types of Coding". quote: "There are four types of coding"

參考文獻