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