データ圧縮の基本:短くするために何をするのか
データ圧縮は、元のデータをそのままの形で保存・送信するのではなく、「表現を工夫してデータ量を減らす」ことです。多くの場合、元データの中にある“繰り返し”や“予測できるパターン”など、再現に必要でない(または必要以上に冗長な)情報を見つけます。その結果、必要情報だけを残す/あるいはより短い記号で表すことで、サイズを小さくします。
代表的な仕組み:符号化と冗長性の削り方
データ圧縮では、だいたい次の考え方が中心になります。
- 統計的に起こりやすいものを短く表す:頻度が高い要素ほど短い符号にします。低頻度のものは長く表されます。
- 予測して差分だけを持つ:直前の値や周囲の値から“だいたいこうなる”と予測し、ズレ(差分)だけを記録します。
- 繰り返しをまとめて参照する:同じ並びが何度も出る場合、都度を書き直さず「これと同じです」と参照で済ませます。
これらのどれか(または複数)を組み合わせることで、元データをより少ない情報量に変換します。
可逆圧縮と不可逆圧縮:復元できるかどうか
データ圧縮には大きく分けて、可逆圧縮と不可逆圧縮があります。
可逆圧縮
可逆圧縮は、圧縮したデータから元のデータを完全に復元できます。画像でも音声でも使われますが、特に「完全な一致が必要」な文書データなどで重要になります。一般に、不可逆より圧縮率は控えめになりやすいです。
不可逆圧縮
不可逆圧縮は、圧縮の過程で一部の情報を捨てることで、より大きく小さくします。その代わり復元すると元と完全一致にはなりません。画像・音声・動画など「多少の誤差が許容されやすい」データでよく使われます。
※ただし、どれだけ正確に再現できるか/どれだけ小さくできるかは、データの種類や方式の選び方に左右されます。ここは条件によって変動します。
