情報圧縮
情報の一部を省略したり符号化の手段を変えたりすることで、ある情報を表現する符号(情報を表現するための記号)の量を減らすことを情報圧縮といいます。画像や音声のデータは、そのまま符号化すると莫大な情報量になってしまいます。インターネットにおいて情報を送受信するときやハードディスクに情報を保存する際には、一般的に情報の圧縮を行うことでその利便性を高めます。
圧縮の例として、『ランレングス符号化』という圧縮方法を紹介します。これはもとのデータの特徴を利用して圧縮を行う方法です。例えば
00010000010000000
という2進数を符号化する際には、このデータの特徴である「0の並びが多い」ということに着目します。すると、以下のような法則で符号化を行うのが適切です。
もとのデータ値 符号化
1 000
0 001
00 010
000 011
0000 100
00000 101
000000 110
0000000 111
すると、前出の2進数のデータは、以下のように符号化が行われます。
00010000010000000
↓ (このデータを、以下のように分けて考える)
000 1 00000 1 0000000
↓ (これを上の法則に当てはめて符号化を行う)
011 000 101 000 111
結果、「00010000010000000」が「011000101000111」に圧縮されます。
では、以下のデータ
を『ランレングス符号化』で圧縮するとどのようになるでしょうか。
010110010110010110010110010110
この30ビットの2進数を観察すると、以下のように分けて考えることが可能です。
0101 10 0101 10 0101 10 0101 10 0101 10
そこで以下の表に従って符号化を行います。
もとのデータ値 符号化
0101 0
10 1
すると、データは以下のように符号化されます。
0101010101
結果、情報量が10ビットになります。