データ圧縮の定義
データ圧縮とは、データの表現を工夫して「同じ内容を、より少ない情報量で」扱えるようにすることです。保存容量を減らしたり、ネットワーク転送に必要な量を小さくしたりする目的で使われます。圧縮の結果は、圧縮前と比べたデータ量(圧縮後サイズ)だけでなく、復元の有無や処理にかかる時間・計算量にも影響されます。
基本の考え方:冗長さを減らす
多くのデータには、必要以上に繰り返しが多い部分や、予測できる部分があります。圧縮は、こうした「冗長さ」を見つけて、別の方法で表し直すことでデータ量を減らします。たとえば、同じ並びが続くなら「繰り返し」としてまとめて書く、あるいは出現しにくい表現を短くし、出現しやすい表現を長くしないなどの工夫が考えられます。どの程度減るかは、データの種類や内容に依存します。
可逆圧縮と不可逆圧縮の違い
データ圧縮には大きく分けて可逆圧縮と不可逆圧縮があります。
- 可逆圧縮:圧縮した後に、元のデータへ完全に復元できます。文書、プログラム、データベースの情報など「正確さが最優先」になりやすい場面で選ばれることがあります。
- 不可逆圧縮:復元しても元と同一には戻りません。画像や音声のように、人の知覚で「多少の変化なら問題になりにくい」ことがある領域で効果が出やすい一方、品質劣化は避けられません。
重要なのは、「小さくできれば常に良い」わけではなく、復元要件(完全に戻す必要があるか)と、許容できる品質の範囲で選択が変わる点です。
例で理解する:何が変わるのか
可逆圧縮では、圧縮方式によっては見た目は同じ情報でも、内部表現が変わることでサイズが減ります。 不可逆圧縮では、人が気づきにくい要素を優先的に落としたり、精度を落としたりしてサイズを小さくします。
