(参考)データ圧縮とは若干異なりますが、通信に使われるモールス符号も同様の考え方に基づいています。英文でよく使われるE,Tなどには短い符号が使われ、あまり使用されない文字には長い符号が割り当てられているため、効率のよい通信が可能になっています。
文字 | 出現回数 | 出現確率 |
---|---|---|
A | 7 | 0.35 |
B | 2 | 0.10 |
C | 3 | 0.15 |
D | 4 | 0.20 |
F | 3 | 0.15 |
G | 1 | 0.05 |
文字 | 出現回数 | 出現確率 |
---|---|---|
A | 7 | 0.35 |
D | 4 | 0.20 |
C | 3 | 0.15 |
F | 3 | 0.15 |
B | 2 | 0.10 |
G | 1 | 0.05 |
文字 | 出現回数 | 出現確率 | 符号 |
---|---|---|---|
A | 7 | 0.35 | 11 |
D | 4 | 0.20 | 01 |
C | 3 | 0.15 | 00 |
F | 3 | 0.15 | 101 |
B | 2 | 0.10 | 1001 |
G | 1 | 0.05 | 1000 |
上記で述べた基本的な考え方の手法は、D.A.Huffmanにより考案されたHuffman符号化法と呼ばれるもので、理論上最短の符号化を実現できるものとして知られていますが、あらかじめ元データをすべて調べて出現確率を求めて対応表を作る必要があり、実用上効率がよいとはいえません。また、実際のデータでは英語1文字=8bit単位での圧縮ではそれほど効率よく圧縮できるとは限りません。
現在広く用いられている方法には、A.LempelおよびJ.Zivによって考案されたLZ法、およびそれをT.Welchが改良したLZW法に基づくものが多いようです。
たとえば日本で広く用いられている圧縮ソフトウエアLHaは、吉崎栄泰氏がLZ法のあるバリエーションを参考にしてさらに改良されたものです。
また、F.KatzによってLZ法の変形として開発されたZIPアルゴリズムは、Windows、およびUNIX(GNU zip)などで広く使用されています。
なお、LZW法は特許(Unisysが有している)の問題があり、たとえばこれを利用している画像圧縮フォーマットのGIF(Graphics Interchange Format)という形式がありますが、近年GIFを利用する際にはUnisysがライセンス料金を要求するようになったため画像処理のフリーソフトウエアではGIFが利用できなくなっています。