WWDC Quick Look 💓 By SwiftGGTeam
What's new in AVQT

What's new in AVQT

元の動画を見る

ハイライト

AVQT (Advanced Video Quality Tool) は、WWDC 2022 で 3 つの重要なアップデートをもたらします。それは、インタラクティブな HTML ビジュアル レポート、特定のクリップの正確な評価をサポートするタイム ウィンドウの選択、および Linux プラットフォームのサポート (ベータ版) です。同時に、生の YUV 形式は数種類から 20 種類までの拡張をサポートします。

主要内容

AVQT が必要な理由

ビデオがエンコードされた後、品質が良いかどうかはどうやってわかるのでしょうか?肉眼で見るのは主観的すぎるし、PSNRなどの客観的な指標は人の本当の感情から乖離します。 AVQT は、オリジナルのビデオと圧縮/処理されたビデオを比較し、人間の主観的な評価に近い品質スコアを出力する、完全な参照ビデオ品質評価ツールです。

00:26

AVQT には 3 つの独自の利点があります。

  • 高い相関性: スコアは人々の主観的な評価と非常に一致しており、アニメーション、自然風景、スポーツなどのさまざまな種類のコンテンツに適しています。
  • 高速: AVFoundation および Metal に基づいて、M1 Ultra (リアルタイム速度 6 倍) で 2 時間の 4K HEVC ムービーをわずか 20 分で評価します。
  • 設定可能: さまざまな表示シナリオをサポートし、ディスプレイの解像度、サイズ、表示距離を通じて評価パラメータを調整します。

インタラクティブな HTML レポート

以前の AVQT はコマンドライン番号のみを出力するため、タイムライン上の品質の分布を視覚的に判断することが困難でした。新しいバージョンでは追加される--visualizeインタラクティブな HTML レポートを生成するためのパラメーター。

02:33

レポートには次の内容が含まれます。

  • ズームとパンをサポートする、フレームごとのセグメント化された AVQT スコア グラフ
  • マウスオーバーで特定の時間、スコア、フレームインデックスを表示
  • 5 つの品質レベル (悪い、悪い、普通、良い、優れた) のスコアの分布を示す円グラフ
  • PSNR スコアの比較が下部に含まれています

生成されたレポートは純粋な HTML ファイルであり、AVQT をインストールしなくても Safari で直接開くことができます。チームメンバー間の共有とディスカッションを促進します。

タイムウィンドウの評価

動画全体の平均スコアでは、局所的な問題が隠れてしまう可能性があります。たとえば、10 分間のビデオの 30 秒間には重大な圧縮アーティファクトが表示されますが、全体の平均スコアは依然として正常であるとします。

05:03

新しいバージョンでは、評価範囲を正確に指定するための 4 つの新しいパラメーターがサポートされています。

  • --start-frame / --end-frame:フレーム番号で指定
  • --start-time / --end-time: タイムスタンプで指定

これにより、ビデオ全体を処理して手動でフィルタリングするよりも速く、特定のシーン、トランジション、または複雑さの高いクリップを直接評価できます。

Raw YUV 形式の拡張子

AVQT は元々、すべての AVFoundation ビデオ形式をサポートしており、生の YUV もサポートしています。 2022 年には、生の YUV サポートが数種類から 20 種類に拡張され、複数のクロマ サンプリング (4:2:0、4:2:2、4:4:4) とビット深度 (8/10/12/16 ビット) がカバーされる予定です。

06:37

パラメータシステムも調整されました。reference-fourccそしてtest-fourcc非推奨となり、次のように変更されましたchroma-subsamplingそしてbit-depth2 つの独立したパラメータ。新しいパラメータはより明確で、拡張が簡単です。

Linux バージョン (ベータ版)

多くのビデオ エンコード パイプラインは Linux サーバーまたはクラウドにデプロイされます。以前は、AVQT を実行するにはビデオを Mac に転送する必要があり、遅延と複雑さが増大していました。

07:31

AVQT for Linux (ベータ版) を使用すると、開発者は Linux サーバー上でビデオ品質を直接評価できます。特徴:

  • 外部依存関係は不要、プラグアンドプレイ
  • コマンドラインパラメータはmacOSバージョンとまったく同じです
  • 20 のすべての生 YUV フォーマットをサポート
  • 出力ファイル形式はmacOS版と同じです
  • 表示条件パラメータは現在利用できませんが、今後のバージョンで追加される予定です。

詳細

基本的な使い方

圧縮ビデオの品質を評価します。

avqt -reference reference.mov -test compressed.mov

出力例:

AVQT Score: 0.85
Processing time: 18m 32s

キーポイント:

  • -referenceオリジナルのロスレスビデオを指定してください
  • -test評価する圧縮/処理されたビデオを指定します
  • 2 つのビデオの解像度と長さは一致する必要があります
  • スコア範囲は 0 ~ 1、1 に近いほど品質が高くなります。

インタラクティブなレポートを生成する

avqt -reference reference.mov -test compressed.mov --visualize

操作が完了すると、ターミナルはレポート ファイルのパスを出力します。

Report generated: /path/to/report.html

Safari で開くと、インタラクティブなグラフが表示されます。

キーポイント:

  • --visualizeパラメータにより HTML レポートの生成がトリガーされます
  • レポートにはインタラクティブなフレームごとの品質スコア曲線が含まれます
  • ズームとパンをサポートして任意の期間を確認します
  • 品質レベルの分布を示す円グラフ
  • AVQT をインストールせずに同僚と直接共有できます

特定のシナリオを評価する

QuickTime Player を使用して、ターゲット シーンの開始フレーム番号と終了フレーム番号を見つけて、次の操作を行います。

avqt -reference reference.mov \
     -test compressed.mov \
     --start-frame 270 \
     --end-frame 486

キーポイント:

  • --start-frameそして--end-frame評価範囲をフレーム番号ごとに正確に切り出す
  • 指定されたフラグメントのみを処理し、フィルム全体の評価よりも高速に処理します
  • 特定のシナリオでのさまざまなエンコード パラメータのパフォーマンスを比較するのに適しています
  • こちらも利用可能--start-timeそして--end-timeタイムスタンプで指定する

Raw YUV ビデオの処理

avqt -reference reference.yuv \
     -test compressed.yuv \
     -width 1920 \
     -height 1080 \
     --chroma-subsampling 4:2:0 \
     --bit-depth 10

キーポイント:

  • Raw YUV では幅と高さを手動で指定する必要があります
  • --chroma-subsamplingクロマサンプリング形式を指定する
  • --bit-depthビット深度を指定する
  • 古いパラメータreference-fourccそしてtest-fourcc非推奨のため、新しいパラメータに移行する必要があります

Linux サーバーで使用する

# 下载 AVQT for Linux 并解压
./avqt -reference input.mov -test output.mov --visualize

キーポイント:

  • Linux バージョンはベータ版であり、コマンド ライン インターフェイスは macOS とまったく同じです
  • 追加の依存関係をインストールする必要はありません
  • CI/CD コーディング パイプラインへの統合に適しています
  • 表示条件パラメータ (ディスプレイ解像度、サイズ、距離) が一時的に利用できなくなります

重要ポイント

自動ビデオ品質監視パイプラインを構築します

  • 対処方法: ビデオのエンコードが完了した後、AVQT を自動的に実行し、エンコード パラメータを自動的に調整して、品質が標準に達していない場合は再試行します。
  • 価値がある理由: Linux バージョンでは、AVQT をエンコード サーバーに展開でき、--visualizeチームがレビューするためのレポートを生成する
  • 開始方法: エンコード スクリプトの後に AVQT 評価ステップを追加し、スコアしきい値 (0.8 など) を設定し、しきい値を下回った場合に再エンコードするコード レートを上げます。

ビデオ品質回帰テストを構築

  • やるべきこと: 代表的なテスト クリップのセットを維持し、AVQT を実行して、エンコーダーのアップグレードごとにスコアの変化を比較します。
  • 価値がある理由: タイム ウィンドウ機能を使用すると、エンコーダーが最も弱いシーン タイプ (暗い領域、高速モーションなど) に焦点を当てることができます。
  • 開始方法: 5 ~ 10 個の典型的なシナリオを選択して使用します--start-frame/--end-frame正確な評価、スコアをデータベースに記録して傾向を追跡

ビデオ圧縮パラメータ調整ツール

  • 内容: さまざまなエンコード パラメーターの組み合わせをバッチ テストし、AVQT を使用して品質の違いを視覚的に比較するための視覚化ツール
  • 価値がある理由: インタラクティブな HTML レポートにより、技術者以外の人でも品質の違いを理解し、意思決定を迅速化できます。
  • 開始方法: スクリプトを使用して、異なるパラメーターを持つバージョンをバッチ生成し、AVQT を実行します--visualize、レポートを比較ページに集約します

ライブ ストリーミング プラットフォームのリアルタイム品質モニタリング

  • 対処方法: ライブストリーミング側で定期的にクリップを傍受し、AVQT を使用してエンコード品質を評価し、画質の劣化を迅速に検出します。
  • 価値がある理由: M1 Ultra での AVQT 6x リアルタイム、ほぼリアルタイムの評価に十分な速度
  • 開始方法: 参照ソースとエンコード出力の間の比較クリップを数分ごとにインターセプトし、バックグラウンドで AVQT を実行し、スコアが異常な場合にアラートを出します。

関連セッション

コメント

GitHub Issues · utterances