WeChatで写真を送ったり、ウェブサイトに画像をアップロードしたりすると、舞台裏で1つのことが起こります。ファイルが小さくなるのです。
しかし「小さくなる」ことは実際にはまったく異なる2つの方法で起こります。1つは「ものを捨てる」、もう1つは「詰め直す」と呼ばれるものです。業界用語では非可逆圧縮と可逆圧縮であり、画像圧縮の2つの基本的な経路です。今日は専門用語を使わず、平易な言葉で両方を明確に解説します。
一言で定義:非可逆圧縮は目にはほとんど分からないディテールを捨て、ファイルを80〜90%縮小しますが、プロセスは不可逆で元に戻せません。可逆圧縮は1ビットも失わず、元のファイルとバイト単位で同一に展開されますが、通常は20%〜50%しか縮小できません。
画像圧縮が実際に行うこと
画像を分解すると、それは色の点の集まりにすぎません。スマホの写真には簡単に数千万もの点があり、それぞれが色の値を保存しています。ファイルが大きいのは、その数千万の色のすべてを忠実に保存しているからです。
圧縮が目指すのは1つです。より少ないバイト数で画像を表現すること。どうすれば小さく、それでいて同じ見た目にできるのか。2つの経路があります。
非可逆:見えないものを捨てる
非可逆は「データを捨てる」というと怖く聞こえます。しかし優れた非可逆圧縮はランダムにピクセルを削除するのではなく、「人間の視覚モデル」を使って、おそらく気づかない情報を計算し、それを捨てて残りを密に詰め込みます。
小説のあらすじを書くようなものだと考えてください。良いあらすじは筋書きを保ち、誰も覚えていない形容詞だけを削ります。
その効果は強力です。5 MBの写真を500 KBに圧縮するのは日常茶飯事で、80〜90%小さくなり、画面では同じように見えます。
唯一の代償は、戻れないことです。捨てられたバイトは本当に消えており、保存した瞬間にこのバージョンを受け入れたことになります。一方通行の道です。
可逆:ビットは一切変わらず、再符号化されるだけ
可逆はより「丁寧」な方法です。ファイルは小さくなりますが、1ビットも失わず、元のファイルとバイト単位で同一に展開されます。
それはまさにZIPと同じことをします。データ内の繰り返しやパターンを見つけ、より省スペースな方法で記録します。
例えば、ある画素の行に200個の同じ青いピクセルが並んでいる場合、可逆エンコードは「青」を200回保存せず、「青 ×200」と記録して次に進みます。これが、繰り返される単色で満たされた画像であるスクリーンショットやUIを美しく圧縮できる理由です。
代償も同様に明白です。完全な忠実性がありますが、節約は限定的です。画像では、可逆は通常20%〜50%、時にはそれ以下しか縮小できません。ノイズが多く混沌とした写真には利用できるパターンがほとんどないため、可逆はほとんど役に立ちません。
PNGとWebPの可逆階層や、音声のFLACはすべてこの経路を取ります。何も失われず、より小さくなります。ただし、まだかなり大きいままであっても許容できる場合に限ります。
JPEGはなぜ大胆にも色を削除できるのか?人間の視覚の抜け穴
まず答えから:JPEGは非可逆圧縮形式です。あなたは不思議に思うでしょう。どうして私の色データに手を出せるのか、と。
人間の視覚の抜け穴を利用しているからです。目には2種類の光受容細胞があります。桿体細胞は明るさを、錐体細胞は色を担当します。桿体細胞は錐体細胞の約20倍あり、脳の明るさに対する解像度は色に対する解像度よりはるかに高いのです。平たく言えば:あなたは明暗には極めて敏感ですが、色にはかなり鈍感です。
JPEGはそれを知っています。圧縮時、画像を輝度チャンネルと色チャンネルに分け、色を積極的に削減し、輝度を保ちます。これをクロマサブサンプリングと呼びます。Wikipediaの説明をご覧ください。これにより、色の半分以上を捨てても目には違いが分からないのです。
さらに離散コサイン変換(DCT)を重ね、画像を周波数に分解し、高周波の細かいテクスチャやノイズをより強く削ります。これらも目が苦手とするもの、特に色彩豊かな領域ではそうです。戦略全体は「惜しくないもの」を捨てることであり、そういうものはたくさんあります。
あの85%のスイートスポット
大多数の写真では、品質80〜85でJPEGを保存しても元画像と区別がつきません。「十分近い」のではなく、普通の画面で通常の距離に並べると、ほとんどの人がどちらがどちらか分からないのです。
誇張ではありません。私自身いくつかのブラインドテストを行いましたが、結論は一貫しています。85では、削除された違いを人々は単純に見分けられません。実際に見つけるには400%にズームして20ピクセルの領域を凝視する必要があり、それでも当てずっぽうに過ぎないかもしれません。
しかし品質100と85のサイズ差は大きく、しばしば60%〜75%小さくなります。これは四捨五入ではありません。即時のページ読み込みとイライラする直帰の違いであり、画像最適化における最も困難な勝利です。
70を下回ると、ブロック状のエッジ、濁った肌色、ぼやけた文字が見え始めます。しかし80〜90というゆとりのある範囲が最高の価値です。目に見えるコストゼロで大きな節約ができます。
安心して非可逆を使える場合
ウェブ上の画像の大多数は非可逆にすべきです。ウェブ写真、SNSへのアップロード、サムネイルはすべて同じ現実に直面します。スクロールしながらヘッダー画像のピクセルを数える人はいません。品質80〜85のJPEG/WebPは見た目が良く、読み込みも速いです。
InstagramやFacebookはアップロードしたものをいずれにせよ再圧縮するので、元のTIFFをアップロードしても得はありません。サムネイルは小さく、1ページに数十個あるため、強い圧縮が理にかなっています。叔母に写真を送る場合、彼女はスマホで見るので2400万画素の元画像は必要ありません。
これらのシナリオでは、節約されるサイズは実在し、失われる品質はほとんど理論上のものです。知覚される損失ゼロで90%小さくなる。妥協ではなく、常識です。
可逆を使わなければならない場合
非可逆がデフォルトですが、次のような場合は、少しでも失うことが誤りとなります。
- 医用画像。腫瘍の有無をスキャンで読む医師に、「どの詳細がおそらく気づかれないか」をあなたが決めさせるべきではありません。診断画像の非可逆圧縮は、FDAやACRなどの機関によって厳しく規制されています。
- アーカイブマスター。写真、アートワーク、アーカイブのマスターコピーは可逆でなければなりません。今日は違いが分からなくても、明日のツールが何を要求するかは分かりません。非可逆は一方通行です。
- 繰り返し編集する作品。JPEGを開いて編集し保存するたびに、再圧縮され、アーティファクトの層が追加されます。これを世代損失と呼びます。プロがRAWで撮影しTIFF/PSDで編集するのはこのためです。納品物を圧縮し、作業ファイルは決して圧縮しないでください。
- テキストやハードエッジを含む画像。スクリーンショット、ロゴ、UIモックアップは硬い線と単色ブロックであり、非可逆ではうまく処理できません。JPEGは写真のために生まれ、PNGはこれらの用途にははるかに強力です。表計算シートを写真形式で圧縮しないでください。
一目でわかる:非可逆 vs 可逆
| 観点 | 非可逆 | 可逆 |
|---|---|---|
| 可逆性 | 不可(一方通行) | 可(バイト単位) |
| 圧縮率 | 高く、しばしば60%〜90%小さくなる | 限定的、約20%〜50% |
| 品質 | 基本的に目に見えない損失(品質80-85) | 100%の忠実性 |
| 一般的な形式 | JPEG、非可逆WebP、AVIF、MP3 | PNG、可逆WebP、TIFF、FLAC、ZIP |
| 最適な用途 | ウェブ写真、SNS、サムネイル | 医療、マスター、再編集、スクリーンショット/ロゴ |
よくある質問
非可逆圧縮と可逆圧縮の違いは何ですか?
非可逆圧縮は、人間の目にはほとんど気づかれないディテールを捨ててサイズを大幅に削減しますが、プロセスは不可逆です。可逆圧縮はデータを一切失わず、元のファイルとバイト単位で同一に展開されますが、圧縮率は限定的で、通常は20%〜50%しか小さくなりません。
JPEGは非可逆ですか、それとも可逆ですか?
JPEGは非可逆圧縮形式です。クロマサブサンプリングと離散コサイン変換(DCT)によって、人間の目が鈍感な色や高周波の詳細を捨て、写真を大幅に縮小します。JPEGには可逆モードもありますが、ウェブや大多数のシナリオでは非可逆階層が使われます。
画像圧縮の品質は80と100のどちらに設定すべきですか?
大多数の写真では、品質80〜85で保存しても通常の視聴距離・画面上では元画像と区別がつかず、それでいてファイルは品質100のときより60%〜75%小さくなります。ブロックノイズや濁った肌色などの目に見えるアーティファクトは70未満でのみ現れるため、80〜85が最もコストパフォーマンスの高いスイートスポットです。
可逆圧縮を使わなければならないのはいつですか?
医用画像、アーカイブマスター、繰り返し開いて変更する編集ファイル、テキストやハードエッジを含むスクリーンショット/ロゴ/UIは、すべて可逆が必要です。非可逆は一方通行です。捨てられたデータは復元できず、繰り返し保存すると世代損失が発生します。
最後にひとこと
非可逆はウェブのデフォルトです。80〜85は、目に見える損失がほぼゼロのまま写真を大幅に節約します。可逆はアーカイブマスター、医用画像、繰り返し保存される編集ワークフローに使います。最も安全な方法は一言に集約されます。可逆のマスターを保持し、納品には非可逆で書き出すことです。
実践してみませんか?無料の画像圧縮ツールで非可逆・可逆のどちらでも縮小でき、リサイズ、トリミング、JPG から WebP への変換もすぐに試せます。