Netflix VMAF: マルチメソッドフュージョンに基づく知覚的ビデオ品質評価
Netflix vmaf: Perceptual video quality assessment based on multi-method fusion (github.com)
要約
Netflixが開発したEmmy受賞アルゴリズムであるVMAFは、知覚的なビデオ品質を評価するためのソフトウェアパッケージです。スタンドアロンのCライブラリとPythonライブラリが含まれており、カスタムモデルのトレーニングやテストも可能です。PSNR、SSIMなどの他のメトリクスも実装されており、継続的なモデルの改善や最適化が行われています。
全文翻訳
VMAF - Video Multi-Method Assessment Fusion
[画像: libvmaf] [画像: Windows] [画像: ffmpeg] [画像: Docker]
VMAFは、Netflixによって開発された、Emmy賞を受賞した知覚的ビデオ品質評価アルゴリズムです。このソフトウェアパッケージには、スタンドアロンのCライブラリlibvmafと、それをラップするPythonライブラリが含まれています。Pythonライブラリは、ユーザーがカスタムVMAFモデルをトレーニングおよびテストするためのツールセットも提供します。
概要についてはこちらのテックブログ記事を、ベストプラクティスのヒントについてはこちらの記事を、そして速度最適化、新しいAPI設計、コーデック評価に適したNEGモードの導入に関する最新の取り組みについてはこちらの記事をご覧ください。
libvmafには、他のいくつかのメトリックの実装も含まれています: PSNR、PSNR-HVS、SSIM、MS-SSIM、およびCIEDE2000。
ニュース
- (2026-06) 新しいVMAFモデルセット(v1)をリリースします。テックブログでv1に関する詳細をご覧ください。models_v1.mdで詳細とモデル選択ガイドをご覧ください。以前の世代のモデル(v0)はmodels_v0.mdで引き続きドキュメント化されています。VMAF v1に関するユーザーからのフィードバックを歓迎しており、モデルは継続的に改善・更新していきます。
- (2023-12-07)
libvmaf v3.0.0をリリースしました。いくつかの最適化とバグ修正が含まれており、v2.0.0で非推奨となったAPIは完全に削除されました。 - (2021-12-15) CAMBIに
full_ref入力パラメータを追加し、ソースに既に存在していたバンディングを考慮したフルリファレンスメトリックとしてCAMBIを実行できるようになりました。使用方法ページをご覧ください。 - (2021-12-1) CAMBIに
max_log_contrast入力パラメータを追加し、デフォルトよりも高いコントラストでのバンディングをキャプチャできるようになりました。また、CAMBIの速度も向上しました(例: 4kで約4.5倍)。使用方法ページをご覧ください。 - (2021-10-7) Netflixのバンディング(またはコンタリング)アーティファクト検出器であるCAMBI(Contrast Aware Multiscale Banding Index)をオープンソース化しました。概要についてはテックブログを、PCS 2021で発表された技術論文をご覧ください(論文はCAMBIの初期バージョンについて説明しており、コードと完全に一致するわけではありませんが、良い入門となります)。使用方法ページもご覧ください。
- (2020-12-7) 速度最適化、新しいAPI設計、コーデック評価に適したNEGモードの導入に関する最新のテックブログをご覧ください。
- (2020-12-3)
libvmaf v2.0.0をリリースしました。新しい固定小数点およびx86 SIMD最適化(AVX2、AVX-512)実装を備え、以前の浮動小数点バージョンと比較して2倍の速度を実現しています。また、より柔軟で拡張性の高い新しいAPIも備えています。 - (2020-7-13) 画像エンハンスメント処理におけるVMAFの特性、コーデック評価への影響、およびそれに対するソリューションに関する考えを共有するためのメモを作成しました。これに伴い、No Enhancement Gain (NEG)と呼ばれる新しいモードを追加しました。
- (2020-2-27) VMAFのライセンスをApache 2.0から、Apacheよりも許容範囲の広いライセンスであり、明示的な特許許諾も含まれるBSD+Patentに変更しました。
ドキュメント
ドキュメントの概要があり、FAQ、利用可能なモデルと機能、ソフトウェア使用ガイド、リソースリストをカバーする特定のページへのリンクが含まれています。
使用方法
ソフトウェアパッケージは、VMAF実装と対話するためのいくつかの方法を提供します。
- コマンドラインツール
vmafは、完全なアルゴリズム実装を提供するため、本番環境にVMAFを容易にデプロイできます。さらに、vmafツールはPSNR、SSIM、MS-SSIMなどの補助機能も提供します。 - Cライブラリ
libvmafは、VMAFをコードに組み込むためのインターフェースと、他の特徴抽出器をライブラリに統合するためのツールを提供します。 - Pythonライブラリは、ソフトウェアテスト、VMAFモデルのトレーニングと検証、データセット処理、データ視覚化などのためのラッパークラスとスクリプトのフルセットを提供します。
- VMAFは現在FFmpegのフィルターとして含まれており、
./configure --enable-libvmafで設定できます。FFmpegでのVMAFの使用方法ページを参照してください。 - VMAF Dockerfileは、PythonライブラリからDockerイメージを生成します。詳細な使用方法についてはこちらのドキュメントを参照してください。
- WindowsでVMAFをビルドするには、こちらの手順に従ってください。
- AOM CTC: AOMは、AOM共通テスト条件(CTC)に従って、vmafを標準実装メトリックツールとして指定しました。AOM CTCに準拠した使用方法については、こちらのページを参照してください。
貢献ガイド
貢献ページを参照してください。また、概要の貢献ガイドについてはこちらのスライドデッキも参照してください。