画像圧縮の基本:可逆圧縮と非可逆圧縮を理解しよう
この記事は、Geminiのサポートを受けて執筆しました。
導入:その「.jpeg」や「.png」、意識して選んでいますか?
私たちが日常的に目にする画像ファイル。その拡張子(.jpegや.png、.gifなど)は、単なる名前の違いではありません。
画像をデジタルデータとして保存する際、その裏側では「圧縮」という技術が使われています。そして、その圧縮方法は、大きく分けて「可逆圧縮」と「非可逆圧縮」の2種類に大別できます。
この違いを理解しないまま適当に選んでしまうと、「画質が思ったより悪い」「ファイルの容量が全然小さくならない」といった問題が起こるかもしれません。
そもそも、なぜ圧縮が必要?
「圧縮」と聞くと難しそうですが、目的は単純で「データ容量(ファイルサイズ)を小さくするため」です。
もし圧縮を全くしなかったら、画像ファイルの容量は膨大になります。 例えば、ごく一般的な「Full HD(1920×1080ピクセル)」の画像を考えてみましょう。
デジタル画像は「ピクセル(画素)」という点の集まりで、1ピクセルごとに「色」の情報を持っています。色は通常、「光の三原色(RGB:赤・緑・青)」の組み合わせで表現され、各色に1バイト(256段階)のデータが割り当てられます。
つまり、1ピクセルあたりの情報量は3バイト(R:1 + G:1 + B:1)です。
これをFull HD画像全体で計算すると…
1920 (幅) × 1080 (高さ) × 3 (RGB) = 6,220,800 バイト
となり、約6.2MBにもなります。 これは、たった1枚の画像です。もしWebサイトにこんな画像が10枚あったら、ページの読み込みにかなりの時間がかかってしまいます。
しかし、考えてみてください。もしその画像が「真っ白」や「真っ黒」だったら、全てのピクセルが同じ色情報を持つことになります。それを律儀に「1番目も白、2番目も白…」と207万回繰り返して記録するのは非常に無駄です。
「1番目から622万800番目まで、すべて白」と記録できれば、データ量は劇的に減らせます。
これは極端な例ですが、実際には画像の中にはパターンや色の類似性が多く含まれます。その冗長な(無駄な)部分を見つけて、より効率的な表現に置き換えるのが「圧縮」の基本です。
そして、その「無駄の省き方」のアプローチによって、2種類の圧縮方法が生まれます。
1. 可逆圧縮 (Lossless Compression)
「再構成時にデータを変えずに圧縮する方法」です。
特徴:
圧縮したデータを元の状態に完全に復元できます。
ファイルを解凍(展開)すると、圧縮前のデータと100%同一のものが得られます。
何度圧縮・解凍を繰り返しても、データは一切劣化しません。
仕組みのイメージ:
前述の「真っ白な画像」の例のように、「同じデータが続く回数」を記録する(ランレングス符号化)など、データの統計的な偏りを利用して、より短い表現に置き換えます。
代表的な形式:
PNG (Portable Network Graphics): Webで広く使われ、特にロゴ、アイコン、図表、テキストを含む画像(色の境界がはっきりしているもの)に適しています。透明度(背景を透過させる)も扱えます。
GIF (Graphics Interchange Format): アニメーションで有名ですが、色数(最大256色)に制限があるため、写真には不向きです。
BMP (Windows Bitmap): RLE(ランレングス)という可逆圧縮が使われることがありますが、無圧縮の場合も多いです。
TIFF (Tagged Image File Format): 高品質な画像(印刷用データなど)で使われる形式で、複数の圧縮方式(可逆・非可逆)を選べます。
メリット: 画質の劣化が絶対にない。
デメリット: 非可逆圧縮に比べると、圧縮率(どれだけ小さくできるか)は低くなる傾向があります。
2. 非可逆圧縮 (Lossy Compression)
「人間には知覚しにくい情報を間引いて圧縮する方法」です。
特徴:
圧縮する際に、元データの一部を意図的に破棄します。
そのため、一度圧縮すると二度と元のデータには戻せません。
可逆圧縮よりも劇的にファイルサイズを小さく(高圧縮)できます。
仕組みのイメージ:
人間の視覚は、色のわずかな変化よりも明るさ(輝度)の変化に敏感である、といった特性を利用します。
ご提示の文章にあった「高周波成分」とは、簡単に言えば「画像の中の急激な色の変化や、細かい模様・ノイズ」のことです。非可逆圧縮(特にJPEG)は、この高周波成分を「どうせ人間にはよく見えないだろう」と判断し、大胆に省略することで容量を稼ぎます。
代表的な形式:
JPEG / JPG (Joint Photographic Experts Group): まさに非可逆圧縮の代名詞。写真やグラデーションが多い画像など、色数が多く複雑な画像の保存に最適です。
メリット:
非常に高い圧縮率を実現できる。
デメリット:
圧縮率を高く設定しすぎると(=情報を捨てすぎると)、画質の劣化が目立つようになります(色がにじむ、ブロック状のノイズが出る、文字の周りがぼやけるなど)。
圧縮・保存を繰り返すたびに劣化が蓄積していきます。
まとめ:どう使い分けるか?
この2つの圧縮方法は、どちらが優れているというものではなく、明確な「用途」の違いがあります。
結論としての使い分けガイド
非可逆圧縮 (JPEG) を選ぶべき時:
写真全般(風景、人物、物など)
グラデーションが多用されている画像
とにかくファイルサイズを小さくしたいが、多少の画質劣化は許容できる場合
可逆圧縮 (PNG) を選ぶべき時:
ロゴ、アイコン、図表、イラスト
テキスト(文字)が含まれる画像(JPEGだと文字の輪郭がぼやけやすい)
背景を透明(透過)にしたい場合
画質の劣化を絶対に許容できない医療画像や設計図など
次から画像を保存するときは、その画像が「写真」なのか「ロゴや図」なのかを意識して、最適な形式を選んでみてください。