画像データ圧縮の原理 — JPEG・PNG・WebP・HEICの技術と選び方

はじめに

デジタル画像はそのままではファイルサイズが大きく、ネットワーク送信や保存にコストがかかります。画像データ圧縮は、視覚情報を損なわずにデータ量を減らすための一連の技術です。本コラムでは、圧縮の基本原理から代表的な方式(JPEG、PNG、WebP、HEICなど)の内部動作、画質と圧縮率のトレードオフ、実運用での選び方まで詳しく解説します。

圧縮の基本概念

画像圧縮は大きく「可逆圧縮(ロスレス)」と「非可逆圧縮(ロッシー)」に分かれます。可逆圧縮は復元時に元のビット列が完全に一致する方式(PNG、可逆WebPなど)。非可逆圧縮は人間の視覚特性などを利用して情報を削減し、復元時に一部情報が失われる代わりに非常に高い圧縮率を得る方式(JPEG、WebPのロッシーモード、HEICなど)です。

情報理論と冗長性の除去

圧縮の核となる考え方は「冗長性の除去」です。画像には空間的・色空間的な相関(隣接画素が似ている、色成分間の依存)や人間の視覚が鈍感な情報(高周波成分や輝度と色の差など)があります。これらを利用して不要なビットを削減します。情報理論ではエントロピーが理論上の最小ビット数を示し、実際の圧縮はエントロピーに近づけることが目標です。

代表的な圧縮手法の流れ(一般的なパイプライン)

  • 前処理:色空間変換(RGB→YCbCrなど)、サブサンプリング(色差成分を下げる)
  • 変換(変換コーディング):空間領域から周波数領域への変換(DCTや離散ウェーブレットなど)
  • 量子化(非可逆の場合):人間の視覚で重要度の低い係数を粗く表現
  • 符号化(エントロピー符号):Huffman、算術符号、CABACなどで残りのデータを符号化
  • コンテナ・メタデータ処理:メタ情報、透過、サムネイルなどを格納

JPEGの原理(DCTベースの典型例)

従来のJPEG(ISO/ITU-Tシリーズ)は、次のような処理を行います。

  • 色空間変換:RGBをYCbCrに変換し、輝度(Y)と色差(Cb,Cr)に分離します。人間は輝度に敏感で色差に鈍感なので、色差を間引く(4:2:0などのサブサンプリング)ことが多いです。
  • ブロック分割とDCT:8x8画素ブロックごとに離散コサイン変換(DCT)を適用し、周波数係数に変換します。低周波成分は画像の主要構造、高周波成分は細部やノイズに対応します。
  • 量子化:DCT係数を量子化テーブルで割って丸めます。量子化が圧縮の主要因で、ここで不可逆性が導入されます。視覚の感度に基づくテーブルを用いることで高周波をより粗く表現します。
  • 符号化:量子化係数を走長符号化(RLE)や差分化(DC成分の差分)し、その後ハフマン符号などでエントロピー符号化します。

結果として高い圧縮率が得られますが、ブロックごとの処理と粗い量子化によりブロック境界のギブス現象(ブロックノイズ)やベンディングアーチファクトが生じることがあります。

PNGと可逆圧縮(DEFLATEベース)

PNGは可逆圧縮の代表です。PNGの特徴はピクセル列に対して予測フィルタ(各行ごとに5種類のフィルタから最適なものを選択)を適用し、残差を小さくしてからDEFLATE(LZ77+ハフマン)で圧縮する点です。フィルタにより隣接画素との差分を小さくし、LZ77が重複パターンを参照、ハフマンが頻度に応じて符号長を変えます。結果は完全可逆で、透過(アルファチャネル)を保持しやすく、アイコンや図表、テキスト入り画像に適しています。

近年の画像フォーマット(WebP、HEIC、AVIF等)の進化

新世代フォーマットは、従来の技術を統合・拡張して効率を高めます。

  • WebP:Googleが開発。ロッシーはVP8のコーデック技術(ブロック予測、変換、量子化、符号化)を利用し、ロスレスでは予測+LZ77+Huffmanの手法を採用します。PNGやJPEGより効率が良いことが多いです。
  • HEIC/HEIF(HEVCベース):より高度な予測(ブロック内外の空間予測、参照フレームを使う動画像技術の一部を静止画に応用)と高性能なエントロピー符号(CABAC)を利用し、同画質でより小さなサイズを実現します。
  • AVIF(AV1ベース):AV1の静止画適用で、HEICと並ぶ高効率。オープンかつロイヤリティの問題が少ない点が注目されています。

視覚心理と知覚最適化

優れた非可逆圧縮は単にビットを減らすだけでなく「人間の目に見える違いを最小化する」ことを目的に設計されます。輝度に敏感で色差に鈍感な点、低周波を重視する点、マスキング効果(ある領域のノイズが周囲のパターンで目立たない)などがアルゴリズム設計に反映されます。最近は機械学習を使って知覚品質をモデル化し、量子化やレート制御に利用する手法も増えています。

品質指標と評価方法

主観評価(人による評価)が最も信頼できますがコストが高いため、客観指標も利用されます。代表的なものにPSNR(単純なRMSEベース)、SSIM(構造類似度)、MS-SSIM、VMAF(Netflixなどが開発した複合的品質評価)があり、特にVMAFは実運用での視覚品質と相関が高いとされています。ただし指標ごとに得意・不得意があるため複数併用が望ましいです。

運用面での選び方

  • 写真や複雑な自然画像:高効率が必要ならHEIC/AVIF、互換性重視ならJPEG。WebPはバランスが良い。
  • アイコンや図表、透過が必要な画像:PNG(または可逆WebP)。ベクタ対応が可能ならSVGが最適。
  • ウェブ配信:レスポンシブ画像(異品質・異解像度を用意)とブラウザ対応を組み合わせる。モダンブラウザ環境ではAVIF/HEIC/WebPを検討。
  • アーカイブや編集ワークフロー:可逆フォーマットで保存し、配布版は非可逆で最適化するのが一般的。

実装上の注意点とトレードオフ

圧縮では品質(画質)、ファイルサイズ、エンコード/デコードの速度、互換性がトレードオフになります。モバイル端末ではデコード速度と消費電力が重要であり、サーバー側ではエンコード速度とストレージ、帯域が重要です。またメタデータ(Exifなど)の扱いでプライバシーに影響するため、配信前に不要なメタ情報を除去することが推奨されます。

まとめ

画像圧縮は、色空間変換、予測/変換、量子化、エントロピー符号化といったステップを通じて冗長性を削減する技術の集合体です。用途に応じてロスレス/ロッシー、フォーマット選択、品質評価指標を決めることが重要です。最新のコーデックは視覚品質と圧縮効率の両立を目指して進化しており、配信環境や互換性要件に応じて適切に選ぶことが実運用での鍵となります。

参考文献