gazou-compressor.jp

AVIF知覚品質ベンチ 2025: Q/effort/チャンネル別指標と実務プリセット

AVIF は “Q=〇” で語られがちですが chromaサブサンプリング(4:2:0/4:4:4)bit depth(8/10)effort画素カテゴリ の複合最適化です。単一指標(例: SSIM)偏重は過学習的チューニングを招き運用で破綻します。

本検証は代表 6 カテゴリ(肌/自然/夜景/文字混在/低彩度UI/グラデ)× 5 品質設定 × 2 effort を計測し “可視差が利益に見合う境界” を整理します。箇条書きは理由と失敗リスクを副文で補強します。

先に結論
写真= Q55 effort5 から開始 / 肌色と夜景で気になる場合 Q60 / UIやアイコンは WebP/JPEG 維持 or AVIF 4:4:4 + Q60。

要点(TL;DR)

1. 計測設計

代表カテゴリを 視覚的アーチタイプ として固定: 肌 (中周波+色相敏感) / 自然 (高周波混在) / 夜景 (低露光+暗部ノイズ) / 文字混在 (高コントラストエッジ) / 低彩度UI / グラデ(低周波連続)。サンプル各1枚より複数フレーム平均の方が安定だが、CI 時間最適化のため 5枚×カテゴリ でサンプル。

2. スクリプト断片(指標計算)

// metrics.ts (抜粋)
import sharp from 'sharp';
import { ssim } from 'ssim.js';
async function encodeAvif(buf: Buffer, q: number, effort=5){
  return sharp(buf).avif({ quality: q, effort, chromaSubsampling: '4:2:0' }).toBuffer();
}

3. 品質決定フロー

  1. カテゴリ割当 – 拡張子やパス命名で自動分類。
    手動タグ付与は脱落リスク。
  2. 基準プリセット適用 – Q55 effort5 を全量バッチ。
    初期比較母数を揃え差分議論を容易に。
  3. 閾値逸脱検出 – ΔEavg > 2 or VMAF < 93 を再試候補。
    誤検出削減でレビュー時間短縮。
  4. 局所再試行 – 該当ファイルのみ Q+5 (最大2回)。
    全再エンコード回避でCI短縮。
  5. 例外承認 – まだ閾値外: keep WebP/JPEG or 4:4:4。

4. 公開前チェック

5. まとめ

“全画像を粘って詰める” より 中央値 80% を早期確定 → 外れ値局所最適化 が時間効率で上回ります。プリセットを文章化し測定ログを履歴化することで、担当交代や規模拡大後も同等品質を再現できます。

gazou-compressor.jp 編集部

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

関連記事

トピック/更新日の近いコンテンツ