画像圧縮アルゴリズムの原理と実践 — 品質と効率を両立する手法解説

はじめに

デジタル画像は撮影・保存・配信において非常に大きなデータ量を生みます。画像圧縮はそのまま転送時間、保存コスト、表示パフォーマンスに直結するため、適切なアルゴリズムの選択と設定は重要です。本稿では、画像圧縮の基本原理から代表的なロスレス/ロッシー手法、評価指標、実装や運用上の注意点、最新の学習ベース手法までを深掘りして解説します。

画像圧縮の基本概念

画像圧縮は情報理論的観点と人間視覚の特性を組み合わせて行われます。主に次の2つに分類されます。

  • ロスレス圧縮:復元した画像が元と完全に一致する。可逆的。
  • ロッシー圧縮:人間の知覚で違和感が出にくい情報を削減して高圧縮率を実現。再生時に元データと異なる。

どちらを選ぶかは用途(医療・科学用途はロスレス、ウェブ配信はロッシーが一般的)に依存します。

情報理論と冗長性の除去

圧縮の第一原理は冗長性の除去です。画像中には空間的・色空間的・統計的な冗長性があり、これらをモデル化して符号化することで圧縮が可能になります。

  • 空間的冗長性:隣接画素間の相関(平坦領域や滑らかな勾配)。
  • 色空間的冗長性:RGBの3チャンネル間の相関。YUVなどに変換して輝度と色差に分離。
  • 統計的冗長性:ある値の出現確率が高いことを利用したエントロピー符号化。

ロスレス圧縮アルゴリズム

代表的なロスレス手法の原理を説明します。

データ圧縮の基礎技術

ランレングス符号化(RLE)、辞書式圧縮(LZ77/LZ78/LZW)、ハフマン符号、算術符号化などが基礎技術です。多くの画像フォーマットはこれらを組み合わせて利用します。

PNG(フィルタ+DEFLATE)

PNGはまず各スキャンラインに対してフィルタ(差分、予測)を適用し、その結果をDEFLATE(LZ77+ハフマン)で圧縮します。フィルタは隣接ピクセルの線形予測を使い、残差(差分)を小さくしてDEFLATEの効率を高める役割を持ちます。

可逆JPEG(JPEG-LS)など

JPEG-LSは局所予測(近傍ピクセル値からの予測)と適応型エントロピー符号化を組み合わせた高速で高効率なロスレス方式です。医療や工業用途で使われます。

ロッシー圧縮の基本構造

ロッシー圧縮は一般に次の段階を踏みます。

  • 色空間変換(RGB→Y'CbCr など)とスタッフィング(チャネル分離)
  • サブサンプリング(主に色差チャンネルを間引き)
  • 変換(空間から周波数領域へ:DCTやウェーブレット)
  • 量子化(情報損失を生む最も重要な工程)
  • 符号化(ランク付け・ジグザグ走査・エントロピー符号化)

色空間変換とクロマサブサンプリング

人間の目は輝度(Y)に比べ色差(Cb, Cr)への感度が低いため、色差を間引くことで大きくデータを削減しても画質低下が目立ちにくくなります。表記としては 4:4:4(無サブサンプリング)、4:2:2、4:2:0(一般的な動画・静止画配信)などがあります。

DCT(離散コサイン変換)とJPEGの基本

JPEGの基礎は8x8ブロックに対するDCTです。空間領域のピクセル値を周波数領域の係数に変換し、低周波成分にエネルギーが集中する性質を利用します。得られた係数を量子化しやすい順(ジグザグ走査)に並べてからランレングス+エントロピー符号化します。

量子化は係数を丸める操作で、量子化ステップを大きくすると高圧縮だがアーティファクト(ブロックノイズ)が生じやすくなります。DCTベースの欠点としてブロック境界の不連続によるブロッキングアーティファクトやリングイングが挙げられます。

ウェーブレット変換とJPEG 2000

JPEG 2000はDCTの代わりに小波(wavelet)変換を用います。マルチスケールでの分解が可能で、ブロック境界アーティファクトが発生しにくく、可逆/不可逆両方に対応します。欠点は処理コストと実装の複雑さです。

符号化とエントロピー符号化の進化

JPEG初期はハフマン符号を用いましたが、より効率の良い算術符号化(およびレンジ符号化)が用いられるとエントロピー近似が改善され、同じ画質でビットレートを下げられます。近年のコーデックは適応的な確率モデルやコンテキストモデリングを導入しています。

符号化最適化:レート–歪み最適化

実用コーデックでは単に誤差を最小化するだけでなく、与えられたビットレート制約の下で歪み(画質低下)を最小にするレート–歪み最適化 (RDO) を行います。量子化ステップやハフマンテーブル、ブロックごとのビット割り当てを、画質指標(PSNRやSSIM)や人間視覚特性を考慮して調整します。

アーティファクトと視覚的影響

代表的なアーティファクト:

  • ブロッキング:ブロックベース変換での境界が目立つ。
  • リングイング:鋭いエッジ周囲の振動的なノイズ。
  • バンディング:滑らかな勾配が階段状に見える。
  • 色ズレ/ぼけ:クロマサブサンプリングによる色の滲み。

これらは量子化や変換・サブサンプリングのパラメータ、さらには後処理(デブロッキングフィルタ、ポストプロセス)で緩和できます。

評価指標

品質評価は定量指標と主観評価があります。定量的には:

  • PSNR(ピーク信号対雑音比):画素差の二乗誤差に基づく古典的指標。
  • SSIM / MS-SSIM:構造的類似度。人間の視覚に近い評価。
  • VMAF:Netflixが開発した機械学習ベースの総合評価指標。

実運用では複数指標と視覚的検査を併用するのが望ましいです。

近年のフォーマットと特徴

  • WebP:Googleが開発。ロスレス/ロッシー両対応。DCTベースのロッシー、辞書ベースのロスレスを併用。
  • HEIF/HEIC:HEVCをベースにしたコンテナ。効率が高いが特許・ライセンスに注意。
  • AVIF:AV1ベースの画像フォーマット。高圧縮効率で静止画向けに注目。
  • PNG/GIF:透明度や単純なアニメーション、ロスレス用途で今も有用。

学習ベース(ニューラル)画像圧縮

最近はオートエンコーダや変分オートエンコーダ、VQ-VAE、フローや拡散モデルを用いる研究・実装が進んでいます。特徴は以下の通りです。

  • 非線形で強力な表現学習により従来手法より高効率な圧縮が可能になる場合がある。
  • 学習した確率モデルとエントロピー符号化を組み合わせて高性能な符号化を実現(ハイパープライヤ・コンテキストモデル等)。
  • 計算コストと実装の複雑さ、リアルタイム性・互換性の課題が残る。

実装・運用上の注意点

実際に画像圧縮を導入する際のポイント:

  • 用途に応じたフォーマット選定(互換性、特許、パフォーマンス、透過/アニメ対応など)。
  • 画質閾値の決定:PSNRだけでなくSSIMやVMAFを用いてユーザ視点で評価する。
  • レスポンシブ配信:画面サイズやデバイスに応じた品質・フォーマットの選択。
  • デコードコスト:高圧縮なフォーマットはデコードコストが上がる場合がある(特に学習ベース)。
  • キャッシュ戦略・CDN最適化:配信レイテンシや帯域を踏まえたキャッシュ設計。
  • 特許・ライセンス:HEVCなど商用圧縮にはライセンスコストが発生する場合がある。

実践的なワークフロー(Web配信を例に)

  • 原画像を色補正・リサイズで最適化。
  • 目的に応じたサムネイル/高解像度の複数バリエーションを生成。
  • まずAVIF/WebPを主要フォーマットとして生成し、ブラウザ互換性がない場合はJPEG/PNGをフォールバック。
  • 品質はSSIMやVMAFで基準値(例:SSIM>0.98、VMAF閾値)を設けて自動選定。
  • 配信時はレスポンシブ画像(srcsetやpicture)やCDNの最適化機能を活用。

まとめ

画像圧縮は情報理論と人間視覚の特性を組み合わせた工学です。用途に応じてロスレスとロッシーを選び、変換・量子化・符号化の各段階でのトレードオフを理解することが重要です。最近ではAVIFやWebPのような新しいフォーマットや、学習ベースの手法が効率を押し上げていますが、互換性や処理コスト、ライセンスの観点も考慮して運用設計を行ってください。

参考文献