熵編碼法

熵編碼法是一種獨立於介質的具體特徵的進行無損數據壓縮的方案 。 一種主要類型的熵編碼方式是對輸入的每一個符號 ， 創建並分配一個唯一的前綴碼 ， 然後 ， 通過將每個固定長度的輸入符號替換成相應的可變長度前綴無關 （ prefix - free ） 輸出碼字替換 ， 從而達到壓縮數據的目的 。 每個碼字的長度近似與概率的負對數成比例 。 因此 ， 最常見的符號使用最短的碼 。 根據香農的信源編碼定理 ， 一個符號的最佳碼長是 − logbP ， 其中 b 是用來輸出的碼的數目 ， P 是輸入符號出現的概率 。 霍夫曼編碼和算術編碼是兩種最常見的熵編碼技術 。 如果預先已知數據流的近似熵特性 （ 尤其是對於信號壓縮 ） ， 可以使用簡單的靜態碼 。 這些靜態碼 ， 包括通用密碼 （ 如Elias gamma coding或斐波那契編碼 ） 和哥倫布編碼 （ 比如元編碼或Rice編碼 ） 。 一般熵編碼器與其它編碼器聯合使用 。 比如LHA首先使用LZ編碼 ， 然後將其結果進行熵編碼 。 Zip和Bzip的最後一級編碼也是熵編碼 。