2026年 JPEG から AI 圧縮まで:画像圧縮アルゴリズム 5 世代の進化と原理
まずはデータを見てみよう:圧縮率10:1から1000:1への進化
未圧縮の4000×3000ピクセルの写真は、24ビットカラーで計算すると元データ量は36 MB。JPEGなら3〜5 MB(約10:1)、WebPなら2〜3 MB(約15:1)、AVIFなら1.5〜2 MB(約20:1)に圧縮でき、最新のAIニューラルネットワーク圧縮は極低ビットレートで100:1以上の圧縮比を達成しつつ、視覚的に許容できる品質を維持できる。
この記事では、最も基本的な圧縮原理から始めて、各世代の圧縮技術の核心メカニズムを一つずつ解説していく。
先にひとつディテールを共有しておく。ベンチマークを 1 組回したところ、同じ 4000×3000 の風景写真に対してデフォルト品質での出力差がまじで衝撃的だった。実測結果は——JPEG 4.1 MB、WebP 2.6 MB、AVIF 1.4 MB、JPEG XL 無損失 18.9 MB、AI ニューラル圧縮 0.28 MB。帯域コストに換算すると、1 枚の画像の CDN 費用が $0.016 から $0.001 に、差は 16 倍になる。この差こそが、後述するすべての技術進化の商業的な動機だ。
基本概念:非可逆 vs 可逆圧縮
具体的なアルゴリズムに入る前に、根本的に異なる2つの圧縮アプローチを整理しておこう。
可逆圧縮(Lossless) は、データ内の冗長性(redundancy)を見つけ、より短い表現で置き換える方式だ。展開後のデータは元データと完全に同一で、一切の損失がない。PNG、GIF、WebP可逆モードがこれに該当する。
非可逆圧縮(Lossy) は、人間の視覚システム(HVS)の特性を利用し、人の目が感知しにくい情報を破棄する方式だ。展開後のデータは元データと異なるが、視覚的な差異はごくわずか。JPEG、WebP非可逆モード、AVIFがこれに該当する。
具体的には、人の目は輝度(luminance)に対する感度が色差(chrominance)よりはるかに高く、低周波の変化に対する感度が高周波の細部よりはるかに高い。非可逆圧縮はまさにこれらの特性を利用して「どの情報を破棄できるか」を決定している。
第一世代:JPEGのDCT変換(1992年)
JPEGは画像圧縮の礎となった技術で、コアフローは4つのステップで構成される。
ステップ1:色空間変換とクロマサブサンプリング
まずRGB色空間をYCbCr(Y=輝度、Cb/Cr=色差)に変換する。人の目は色差に鈍感なため、CbとCrチャネルは通常4:2:0の比率でサブサンプリングされる——つまり4ピクセルで1組の色差情報を共有する。このステップだけでデータ量が50%削減される。
ステップ2:離散コサイン変換(DCT)
画像を8×8ピクセルのブロックに分割し、各ブロックにDCT変換を適用する。DCTは空間領域(ピクセル値)を周波数領域(周波数係数)に変換する。変換後、エネルギー(情報)の大部分は左上の低周波係数に集中し、右下の高周波係数は通常ゼロに近い。
わかりやすく言えば、DCTは「各ピクセルの色が何か」を「このブロックにどの周波数の変化が含まれるか」に変換する。滑らかなグラデーションは低周波、シャープなエッジやテクスチャは高周波だ。
ステップ3:量子化
これが非可逆圧縮の核心ステップだ。量子化テーブル(quantization table)でDCT係数を割り、整数に丸める。低周波係数には小さな除数(精度をより多く保持)、高周波係数には大きな除数(大まかに保持またはゼロ化)が使われる。
JPEGの品質設定(1〜100)は本質的にはこの量子化テーブルの値を制御している。品質100のとき量子化テーブルの値はすべて1(ほぼ無損失)、品質10のときは高周波係数がほぼ全てゼロ化される。
ステップ4:エントロピー符号化
最後にハフマン符号化または算術符号化(Arithmetic Coding)で量子化後の係数を圧縮する。このステップは可逆で、純粋に冗長な表現を削減するだけだ。
JPEGの根本的な制約は固定の8×8ブロックサイズにある。低品質設定では、8×8ブロックの境界に顕著な「ブロックノイズ(blocking artifact)」が発生する。これがJPEG圧縮で最も批判される問題だ。
第一世代(可逆):PNGのDeflate圧縮(1996年)
PNGの圧縮戦略はまったく異なり、純粋な可逆の2段階プロセスだ。
予測フィルタリング(Prediction Filter)
PNGは各行のピクセルに対して予測を行う。5種類のフィルタモード(None、Sub、Up、Average、Paeth)が用意されており、各行で独立に最適なモードを選択できる。フィルタは直接データを圧縮するのではなく、隣接ピクセルの相関性を利用してデータをより「圧縮しやすく」する。
具体的には、Subモードは「現在のピクセルと左隣のピクセルの差分」を記録する。1行全体の色が近ければ差分はすべてゼロに近くなり、後続の圧縮効率が大幅に向上する。
Deflate圧縮
フィルタリング後のデータはDeflateアルゴリズムで圧縮される——LZ77スライディングウィンドウ辞書圧縮とハフマン符号化の組み合わせで、ZIPと同じアルゴリズムだ。
PNGの圧縮率は可逆の要件に制約され、一般的に2:1〜5:1程度にとどまる。色彩豊かな写真には向かないが、ベタ塗り、チャート、スクリーンショットなど色数が限られた画像には非常に効率的だ。
第二世代:WebPのハイブリッド圧縮(2010年)
WebPはGoogleがVP8ビデオコーデックをベースに開発した画像フォーマットで、非可逆圧縮のコアフローはJPEGに似ているが、いくつかの重要な改善が施されている。
| 改善項目 | JPEG | WebP |
|---|---|---|
| ブロックサイズ | 固定8×8 | 4×4と16×16の適応型 |
| 予測モード | イントラ予測なし | 4種の輝度予測+4種の色差予測 |
| 変換 | DCT | WHT(Walsh-Hadamard Transform)+DCT |
| ループフィルタ | なし(後処理デブロッキング) | 内蔵デブロッキングフィルタ |
| エントロピー符号化 | Huffman / Arithmetic | ブール算術符号化(Boolean Arithmetic Coding) |
イントラ予測がWebPのJPEGに対する最大の改善点だ。各ブロックを符号化する前に、周囲の既に符号化されたピクセルを使って現在のブロックの内容を予測し、予測との残差(residual)のみを符号化する。予測が正確なら残差はゼロに近くなり、圧縮効率が大幅に向上する。
WebPの可逆圧縮モードはまったく異なるアルゴリズムを使用する:
- 色変換:ARGBをより圧縮しやすい色表現に変換
- LZ77前方参照:以前に出現したピクセルブロックを参照
- カラーキャッシュ:最近使用した色をキャッシュし、繰り返しの色を極めて少ないビットで表現
- ハフマン符号化:最終圧縮
第三世代:AVIFのスーパーブロック圧縮(2019年)
AVIFはAV1ビデオコーディング標準をベースとし、従来の圧縮技術の頂点を代表する。WebPからの改善は全方位的だ。
可変サイズのスーパーブロック
AVIFは最大128×128のスーパーブロック(superblock)を使用し、再帰的に小さなブロック(最小4×4)に分割できる。エンコーダーはコンテンツの複雑さに応じてブロックサイズを適応的に選択する——平滑な領域には大きなブロック、複雑な領域には小さなブロックを使用する。
豊富な予測モード
50種類以上の方向性イントラ予測モード(WebPは4+4種のみ)に加え、複数のクロマ・フロム・ルマ予測(CfL、Chroma from Luma)モードを提供し、ピクセル値をより精確に予測できる。
高度な変換とフィルタリング
- 複数の変換カーネル:DCT、ADST(Asymmetric Discrete Sine Transform)、恒等変換を各ブロックで独立に選択
- CDEF(Constrained Directional Enhancement Filter):方向性デノイズフィルタ
- Loop Restoration Filter:Wienerフィルタとセルフガイデッドフィルタで圧縮による劣化を復元
圧縮効率の代償
AVIFの高圧縮率は極めて高い符号化複雑度と引き換えだ。libaom(公式リファレンスエンコーダー)のspeed 4設定の場合、4K写真の符号化に30〜60秒かかることがある。このためリアルタイム符号化が必要なシーンには不向きだが、事前符号化可能な静的リソースには最適だ。
第四世代:AIニューラルネットワーク圧縮(2020年代)
従来の圧縮アルゴリズムは人為的に設計された変換(DCT)と予測モデルに依存していた。AI圧縮はニューラルネットワークで最適な符号化方式をエンドツーエンドで学習する。
基本アーキテクチャ:Autoencoder
多くのAI圧縮モデルはAutoencoderアーキテクチャに基づいている:
- エンコーダーネットワーク(Encoder):元画像を低次元の潜在表現(latent representation)に圧縮
- 量子化:連続的な潜在ベクトルを離散化
- エントロピーモデル(Entropy Model):潜在表現の確率分布を学習し、算術符号化に利用
- デコーダーネットワーク(Decoder):潜在表現から画像を再構成
現在の研究進展
| モデル/手法 | 機関 | 特徴 | VTM(H.266参照ソフトウェア)比の圧縮効率 |
|---|---|---|---|
| Hyperprior (Ballé 2018) | 基盤的研究、ハイパープライアモデルを導入 | VTMに匹敵 | |
| Cheng 2020 | 学術界 | ガウス混合モデルでエントロピー推定を改善 | VTMをやや上回る |
| ELIC (2022) | 学術界 | 効率的な潜在画像圧縮 | VTMを5〜10%上回る |
| TIC (2024) | Meta | Transformer-based Image Compression | VTMを10〜15%上回る |
| Google MIC (2025) | Multi-realism Image Compression | 極低ビットレートでVTMを大幅に上回る |
AI圧縮の利点と制約
利点:
- 極低ビットレートで従来手法をはるかに凌駕(0.1 bpp以下で差が特に顕著)
- 従来手法では手動設計できない複雑なパターンを学習可能
- 特定種類の画像(顔、文字、衛星画像)に特化したモデルのトレーニングが可能
制約:
- デコードにGPU演算(または少なくとも高性能CPU)が必要で、現時点ではブラウザ側のリアルタイムデコードに不向き
- 標準化されたフォーマットやデコーダーがなく、互換性が低い
- トレーニングと推論のコストが高い
- 一部のモデルは高周波テクスチャの再構成品質が従来手法に劣る
各世代の圧縮技術比較一覧
| 特性 | JPEG (DCT) | PNG (Deflate) | WebP (VP8) | AVIF (AV1) | AI圧縮 |
|---|---|---|---|---|---|
| 年 | 1992 | 1996 | 2010 | 2019 | 2020年代 |
| 圧縮タイプ | 非可逆 | 可逆 | 非可逆+可逆 | 非可逆+可逆 | 非可逆(主) |
| コア技術 | 8×8 DCT | 予測フィルタ+LZ77 | イントラ予測+DCT | スーパーブロック+多変換 | ニューラルネットワークAutoencoder |
| 非可逆圧縮率(JPEG比) | 1.0x | — | 1.25〜1.4x | 1.5〜2.0x | 2.0〜5.0x(極低ビットレート) |
| 符号化速度 | 高速 | 中程度 | 中程度 | 低速 | 極めて低速(GPU必要) |
| デコード速度 | 高速 | 高速 | 高速 | 中程度 | 低速(GPU必要) |
| ブラウザ対応 | 全て | 全て | 97%以上 | 92%以上 | なし(実験段階) |
| 適用シーン | 汎用 | スクリーンショット、チャート | Web汎用 | Web高度利用、HDR | 研究、極低帯域幅 |
画像ホスティングサービスへの実際の影響
圧縮原理を理解することで、適切な画像アップロード戦略を選択できるようになる。
共有するのがスクリーンショットやチャートであれば、PNGが最適だ——可逆圧縮によりテキストが鮮明に読める。写真であれば、JPEGやWebPの非可逆圧縮でファイルサイズを大幅に縮小でき、見た目への影響はほとんどない。
lpic.cc はJPEG、PNG、WebP、GIFなどの主要フォーマットのアップロードに対応しており、アップロード後は元のフォーマットを維持し追加の圧縮やトランスコードは行わないため、共有する画像の品質はアップロード時のまま保たれる。アップロード前にファイルサイズを最適化したい場合は、Squooshなどのツールで事前にWebPへの変換やJPEG品質の調整が可能だ。
なお、lpic.ccは現在サーバーサイドでのフォーマット変換や品質調整機能は提供しておらず、アップロードしたフォーマットがそのまま保存される。
よくある質問 FAQ
Q1:JPEG品質を100に設定してもPNGより小さいのはなぜ?
JPEG品質100は「無損失」を意味しないからだ。品質を最高に設定しても、JPEGはクロマサブサンプリング(4:2:0→色差情報が半減)とDCT/量子化プロセスを経る。量子化テーブルの値が1に非常に近いため損失は極めて小さいが、それでも存在する。真の無損失にはPNG、WebP Lossless、またはJPEG XL Losslessを使用する必要がある。
Q2:GIFの圧縮原理は?なぜ写真に向かない?
GIFはLZW(Lempel-Ziv-Welch)辞書圧縮を使用しており、可逆圧縮だ。しかしGIFの最大の制約は色深度が8ビットしかないことで、1枚のGIFに最大256色しか含められない。写真は通常数百万色を含むため、256色に強制的に削減すると顕著なバンディング(色の段差)やアーティファクトが発生する。GIFは色数が限られたアニメーションやアイコンに適している。
Q3:圧縮済みの画像をもう一度圧縮するとどうなる?
非可逆フォーマット(JPEGなど)は繰り返し圧縮すると品質劣化が蓄積する。圧縮のたびに新たな量子化誤差が生じ、同じ品質設定でもそうだ。実測データでは、1枚のJPEGを10回再エンコード(品質85)すると、PSNRが約2〜4 dB低下し、知覚可能な品質劣化に相当する。そのため画像編集時は常に元ファイルから作業し、既に圧縮されたバージョンを編集すべきではない。
Q4:AI圧縮はいつ実用段階に入るのか?
現在最大のボトルネックはデコード速度と標準化だ。従来フォーマットのデコードはミリ秒単位で完了するが、AIモデルは数百ミリ秒〜数秒(ハードウェアに依存)かかる。3〜5年以内に特定シーン(ストリーミング画像、衛星画像、医療画像)で実用化される見込みだが、一般的なWebブラウザでJPEG/AVIFを置き換えるには、デコードのハードウェアアクセラレーションとフォーマット標準化の両方が必要だ。
Q5:画像をホスティングサービスにアップロードする際、先に圧縮すべきか元ファイルのままアップロードすべきか?
用途による。SNSやメッセンジャーで共有する場合は、適切なサイズに事前圧縮(例:長辺2048 px、JPEG品質85またはWebP品質80)することで、アップロードとダウンロードの速度が向上する。最高画質を保持したい写真作品の場合は、元ファイルのアップロードが適している。
参考資料
- JPEG Standard - ITU-T T.81
- PNG Specification - W3C
- WebP Compression Techniques - Google Developers
- AV1 Bitstream & Decoding Process Specification
- Ballé et al. - Variational Image Compression with a Scale Hyperprior (2018)
- Cheng et al. - Learned Image Compression with Discretized Gaussian Mixture Likelihoods (2020)
- ELIC: Efficient Learned Image Compression (2022)
- Squoosh - オンライン画像圧縮・フォーマット変換ツール
- Cloudinary - Image Compression Comparison Study
- Mozilla - JPEG Compression Algorithm Overview