gazou-compressor.jp

AVIFエンコード・チートシート(実務デフォルト集)

AVIFは圧縮効率画質保全に優れますが、用途で最適解が違います。本稿はavifenc(libavif)の実務デフォルトを用途別に整理。迷いなく始められるスタート値と、 破綻が出たときの調整方針を1枚にまとめました。

関連ガイド
レスポンシブ配信は srcset/sizes / LCP短縮は 優先度設計 / 破綻対策は Artifacts対策集を併読。

要点(TL;DR:用途別・最小セット)

用途cq-level(低ほど高品質)サブサンプリングbit深度speed備考
写真(汎用)28–344:2:08bit--speed 6まずはここから。厳しい絵は30未満に。
写真(高品質)24–284:2:010bit--speed 4–6グラデ・夜景のバンディングに10bitが効く。
UI/テキスト混在18–264:4:48bit--speed 6色にじみ防止。シャープ系は4:4:4が安全。
透過(アルファ)color: 20–30 / alpha: 16–244:4:48bit--speed 6アルファは独立量子化。段差が出たらalpha側を下げる。

cq-level は 0(最高品質)〜63(最低)。speed は小さいほど高品質/低速。

avifenc(libavif)のコマンド例

# 写真(汎用)
avifenc input.jpg output.avif --min 0 --max 63 --cq-level 30 --speed 6 --yuv 420

# 写真(高品質・グラデ保護)
avifenc input.jpg output.avif --cq-level 26 --speed 5 --yuv 420 --depth 10

# UI/テキスト混在(色にじみ防止)
avifenc input.png output.avif --cq-level 22 --speed 6 --yuv 444

# 透過(アルファ量子化を別指定)
avifenc input.png output.avif --cq-level 24 --aq-mode 0 --yuv 444 --alpha --alpha-cq-level 20

透明は --alpha--alpha-cq-level を併用。--yuv は 420/422/444。 破綻が出たら cq を下げる(数値を小さく)か、10bit化を検討。

画質トラブルと対策

  • バンディング--depth 10cqを2–4下げ、必要なら微小ノイズ付加。
  • 色にじみ:UI/文字は --yuv 444。改善しなければ PNG / WebP Lossless。
  • 輪郭のギザ:軽いアンシャープ(半径0.4–0.6 / 量30–60%)→ 再エンコード。

運用Tips

  • 配信はコンテンツネゴシエーションよりビルド時自動生成(AVIF+WebP+JPEG)が安全。
  • OGP/メールは JPEG/PNG を併用(互換のため)。
  • レスポンシブは srcset/sizes を厳密に。LCPは priorityfetchpriority="high"

公開前チェック(10項目)

  • 用途分類が適切(写真/UI/透過)。
  • 写真は yuv=420・UIは yuv=444 を基本に。
  • グラデ/夜景に10bitが必要か検討。
  • 実表示幅の1.0–1.5倍以内で出力(過大解像度なし)。
  • 文字/縁のにじみがない(必要なら4:4:4/可逆)。
  • CLSゼロ:width/height 明示、広告はプレースホルダで高さ確保。
  • srcset/sizesが実幅と一致、余剰ダウンロードなし。
  • Before/After を /compare で確認。
  • OGPは sRGB/8bit/JPEG で再圧縮耐性あり。
  • 指紋(v2 等)でキャッシュ更新を担保。

まとめ:まずは“用途別デフォルト”から

迷ったら本チートシートの出発点で始め、破綻が見えたらcq・bit深度・yuvを小さく動かして詰める。仕上げは /compressor /compare で “見え” と “重さ” を同時に最適化しましょう。

gazou-compressor.jp 編集部
画像圧縮・変換・背景除去などの実践テクニックと、Webで“速く・軽く・崩さない”ためのノウハウを発信しています。

関連記事