第 5 章 霍夫曼與克勞德·香農:資訊理論與資料壓縮演算法的破曉#
5.3 無損壓縮的誕生:演算法如何利用字元出現頻率,把冗長文本打包進最小位元空間?#
5.3.1 兩條技術路線的分工#
無損壓縮的兩大範式:
| 範式 | 思想 | 代表 |
|---|---|---|
| 熵編碼 | 高頻符號給短碼 | Huffman、算術編碼 |
| 字典編碼 | 用「指針」代替重複串 | LZ77(1977)、LZ78(1978),Lempel 與 Ziv |
LZ77 的核心:滑動視窗內的「(距離,長度)對」引用歷史字串——把「重複性」直接兌換成位元。1984 年 Welch 的 LZW(UNIX compress、GIF)使字典壓縮工業化。
5.3.2 DEFLATE:兩路線的合體#
Phil Katz 1989 年(PKZIP 專利規避糾紛是著名插曲)把 LZ77+Huffman 合成 DEFLATE——今日 ZIP、gzip、PNG 的共同內核。歷史的因果閉環:Katz 為繞開 LZW 專利(Univac/Sperry)而組合 1977 年已過(或未覆蓋)的公開技術,反而造出最普及的標準——專利制度與開放標準的張力在此完整上演。
5.3.3 算術編碼與上下文建模#
1980s–90s,算術編碼(以實數區間表示整個訊息,碼長可逼近熵的極限)+自適應上下文模型(PPM、CABAC)把壓縮率推向香農極限附近。JPEG(1992,Huffman)、MP3(1993,心理聲學+Huffman)、視頻標準 H.264/HEVC(CABAC)——每一代多媒體標準都是「變換+量化+熵編碼」的三明治。學術側,Kolmogorov 複雜性(1965)從理論上定義「不可壓縮性」,並與算法隨機性理論相連。
5.3.4 前因後果#
- 前因:5.1/5.2 的理論與演算法+數據存儲與傳輸的商業需求(撥號上網時代帶寬即金錢)。
- 事件:1977–84 LZ 系列、1989 DEFLATE、1990s 多媒體標準潮。
- 後果:壓縮成為數位生活的默認背景;6 章的 RSA 則將解決壓縮無法解決的另一面——公開網路上的「信任」問題。
下一章:第 6 章 RSA 密碼學