画像圧縮の基礎と実務ガイド:ロスレス/非可逆、JPEG・WebP・AVIF・JPEG2000・HEIFの最適化と評価指標
イントロダクション:画像圧縮とは何か
画像圧縮は、デジタル画像を表現するデータ量を削減する技術です。保存容量の節約、ネットワーク転送の高速化、表示や処理の効率化などが主目的で、Webやモバイル、クラウドストレージ、映像配信などあらゆる分野で重要な役割を果たします。圧縮の方法は大きく「ロスレス(可逆)」と「ロスィ(非可逆)」に分かれ、それぞれ原理や用途が異なります。本稿では基本原理から代表的アルゴリズム、近年のフォーマット、評価指標、実務上の注意点まで幅広く解説します。
基本概念:情報理論と画像データの性質
- 冗長性と可逆性:画像には空間的・色的冗長性(近傍ピクセルが似ている)があるため、その冗長性を取り除くことで可逆に圧縮できます(ZIP、PNGなど)。
- 人間の視覚特性:人間の視覚系は高周波の詳細や色差に対して感度が低いため、そこを大胆に捨てても知覚品質を維持できる(非可逆圧縮の基盤)。
- エントロピー:符号化の限界は情報エントロピーに依存します。画像の確率分布を推定し、短い符号でよく現れるパターンを表すのが効率的です(ハフマン符号、算術符号など)。
ロスレス圧縮の原理と代表技術
ロスレス圧縮は復号後に元のビット列と完全に一致することを要求します。代表的な方法は次の通りです。
- 差分/予測符号化(Predictive coding):ある画素の値を近傍の既知値から予測し、予測誤差を符号化する。誤差は分布が集中するため圧縮効率が高い。PNGの基礎となるアプローチ。
- フィルタリング(PNG):PNGは行単位に5種類(None, Sub, Up, Average, Paeth)のフィルタを適用して予測し、その差分を作ってから圧縮する。フィルタは隣接ピクセルを利用し差分を小さくする。
- LZ77系辞書圧縮+ハフマン(DEFLATE):PNGの圧縮エンジンはDEFLATE(LZ77によるバック参照とハフマン符号、RFC 1951)を使う。繰り返しパターンを長さ・距離で表し、その出現頻度に応じて可変長符号化する。
- パレット化(GIF/PNG-8):色数を256色以下に減らしパレット参照で表現。色数が少ないロゴや図版に効果的。GIFはLZW(辞書式)を使う。
非可逆(ロスィ)圧縮の原理:知覚特性と変換符号化
非可逆圧縮は可逆に比べてはるかに高い圧縮率を達成できます。鍵になる考え方は「人間の視覚で判別しにくい情報を捨てる」ことです。代表的な手順は以下の通り。
- 色空間変換(RGB → YCbCrなど):輝度成分(Y)と色差成分(Cb, Cr)に分離することで、色差成分に対して大きく量子化しても視覚品質を保てる。動画・静止画で広く使われる。
- クロマサブサンプリング:色差成分のサンプリングを低減する(4:4:4, 4:2:2, 4:2:0 など)。4:2:0は多くのJPEGで採用され、水平・垂直方向の色解像度を半分にする。
- 変換(DCT、Waveletなど):空間領域のピクセル列を周波数領域に変換する。JPEGは8×8ブロックの離散コサイン変換(DCT)を使用し、高周波成分は視覚的に重要性が低いため粗く量子化できる。JPEG2000は離散ウェーブレット変換(DWT)を用いる。
- 量子化:変換係数をあるステップ幅で丸める操作。ここで情報が失われ、圧縮率に最も大きく影響する。クオリティパラメータは量子化の粗さを制御する。
- 符号化(エントロピー符号):量子化後の係数列をランレングスやハフマン、算術符号で符号化する。JPEGはランレングス後にハフマン符号(または仕様上の算術符号)を使用する。
JPEG(Baseline JPEG)の処理の流れと特徴
- 入力RGBをYCbCrに変換し、必要ならクロマサブサンプリング(例:4:2:0)を行う。
- 8×8ブロックごとにDCTを実行し、周波数係数を得る。
- 係数を量子化(人間視覚に基づく量子化行列)し、ゼロが多くなる。
- 量子化係数をジグザグ走査で1次元化し、直列化されたゼロ群をランレングスで圧縮した後にハフマン符号化。
- 結果として小さなファイルが得られるが、ブロック単位の量子化によりブロックノイズ(blocking)やリングイング(ringing)、バンディング(帯状化)が生じることがある。
JPEG2000(Wavelet)とその利点
JPEG2000はDWT(例えばCohen-Daubechies-Feauveau 9/7フィルタ)を使い、スケール空間的に係数を扱います。利点として、ブロックアーティファクトが出にくい、ロスレス/ロスィ両モードのサポート、優れた逐次表示(プログレッシブ)やタイル処理が可能などがあります。エントロピー符号化にはEBCOT(Embedded Block Coding with Optimal Truncation)というコンテキストモデル+算術符号が使われ、高品質・柔軟性に優れます。ただし複雑で計算負荷が高く、普及度はJPEG(Baseline)ほど高くありません。
近年の画像フォーマット:WebP、HEIF/HEIC、AVIF など
- WebP:Googleが開発。ロスィはVP8の画像モードに基づく変換+予測+変換+エントロピー符号。ロスレスは独自の辞書+ヒューリスティックを利用。JPEGより一般に高圧縮率でアルファ(透過)もサポート。
- HEIF / HEIC:HEIFはコンテナ、HEICはHEVC(H.265)を使った画像コーデックの一例。高い圧縮効率や高度なメタデータ、多画像・ライブフォトを扱える。ただし特許・ロイヤルティ問題があり、エコシステム依存がある。
- AVIF:AV1(AOM)ベースの画像フォーマット。非常に高い圧縮効率と新しい符号化手法を持ち、近年Webでの支持が増えている。エンコードコストは高めだが、品質対ビットレート比は優秀。
符号化後の最適化と実装上の工夫
実運用では単にフォーマットを選ぶだけでなく、次のような工夫が重要です。
- 解像度の適切化:配信先(表示サイズ)に合わせてリサイズしてから圧縮するのが最も効果的。大きな画像をブラウザで縮小させるのは帯域とクライアント負荷の無駄。
- 品質パラメータの調整:JPEGのq値やWebP/AVIFの品質設定をサイト単位で最適化する。主観テストやSSIM/VMAFで閾値を決めるのが良い。
- プログレッシブ/インタレース:ユーザ体験向上のためにプログレッシブJPEGやPNGのAdam7インタレースを用いる。初期表示を速められるが圧縮効率に影響する場合がある。
- 色深度とガンマ管理:ディスプレイやワークフローの色深度(8-bit/10-bit)とガンマ(sRGBなど)を揃えることで不要な誤差を防止する。
圧縮の評価指標
- PSNR(Peak Signal-to-Noise Ratio):ピクセル単位の差を示す古典的指標。高ければ原理的に近いが知覚品質と一致しにくい。
- SSIM / MS-SSIM:構造的類似性指標で、人間の視覚を模した評価に近い。
- VMAF:Netflixが開発した複合評価指標で、映像品質の評価に強い(静止画にも応用可能)。
- 主観テスト:最終的には実ユーザーの視覚評価が最重要。自動指標は参考だが万能ではない。
よく見られるアーティファクトと原因
- ブロッキング(ブロックノイズ):JPEGのブロック単位量子化による境界が目立つ現象。
- リングイング(輪郭に沿った波状ノイズ):高周波成分の粗い量子化で生じる。
- バンディング(色の帯状化):減色や粗いガンマ処理で滑らかな階調が段差状に見える。
- カラーブリーディング:強い圧縮とクロマサブサンプリングで色がにじむ。
実務でのツールとワークフロー(代表例)
- JPEG最適化:mozjpeg(エンコード最適化)、libjpeg-turbo(高速エンコード)、jpegoptim(最適化ツール)
- PNG最適化:pngquant(可逆ではなくパレットベースのロッシー圧縮で大幅削減)、optipng/oxipng(可逆最適化)、zopflipng(Google)
- WebP/AVIF:cwebp / dwebp(libwebp)、avifenc(libavif)、Squoosh(ブラウザでの実験ツール)
- バッチ処理:ImageMagick / GraphicsMagick、Pillow(Python)などでリサイズ→変換→最適化のパイプラインを組む。
設計上の考慮点とベストプラクティス
- 用途に応じたフォーマット選択:写真はAVIF/WebP/JPEG、ロゴやイラストはPNG(またはSVG/PDF)、小アイコンはSVGやPNG-8。
- レスポンシブ画像:srcsetやpicture要素でデバイス解像度に合わせた複数サイズを配信。
- 自動変換とフォールバック:サーバ側でWebP/AVIFを自動生成し、ブラウザ対応がない場合にJPEG/PNGを返す仕組み。
- 定期的な品質チェック:圧縮設定の変更やフォーマット追加後は自動テスト(SSIM/VMAFと主観サンプル)を行う。
まとめ
画像圧縮は、情報理論、変換手法、視覚心理学、符号化技術が組み合わさった分野です。ロスレスはデータの完全保存、ロスィは知覚に基づく不要情報の削減を目指します。JPEG、PNGといった古典的フォーマットに加え、WebP、HEIF、AVIFなど新しいフォーマットが登場し、より効率的な配信が可能になっています。現場ではフォーマット選定、解像度の最適化、品質パラメータのチューニング、ユーザ体験評価が重要です。適切な手法とツールを選び、定期的な評価を行うことで、品質とコストのバランスを最適化できます。
参考文献
- W3C: JPEG Information
- W3C: PNG (Portable Network Graphics) Specification
- RFC 1951 - DEFLATE Compressed Data Format Specification
- Wikipedia: JPEG
- JPEG 2000 (ISO/IEC 15444)
- Google Developers: WebP
- AVIF: AV1 Image File Format
- mozjpeg (GitHub)
- pngquant — lossy PNG compressor
- Netflix VMAF (Video Multi-Method Assessment Fusion)
- libavif — AVIF library
投稿者プロフィール
最新の投稿
音楽2025.11.22ザ・ステイプル・シンガーズの歴史と影響—公民権運動を彩る家族ゴスペルの名曲ガイド
音楽2025.11.22Warの多文化サウンドを徹底解剖:代表作と聴き方・おすすめレコード案内
IT2025.11.22データドリブン組織を実現する実践ロードマップと成功のポイント
音楽2025.11.22Warの名盤大全ガイド|聴き方・買い方・おすすめアルバムと中古レコードの選び方

