ハイライト
Apple は、Metal GPU アクセラレーションを使用して圧縮ビデオの知覚品質スコア (1 ~ 5 ポイント) を計算する macOS コマンド ライン ツールである Advanced Video Quality Tool (AVQT) をリリースしました。 SDR および HDR 形式をサポートし、1080p ビデオ分析速度は 175fps に達します。
主要内容
ビデオのバッチを圧縮し、HLS 経由でユーザーに配信できるように準備します。圧縮品質が十分に高いかどうかはどうすればわかりますか?
従来のアプローチは、人間が監視して評価することです。この方法は正確ですが、拡張性がありません。動画プラットフォームには何千もの動画が存在する可能性があり、手動でスコアリングすることは非現実的です。
もう 1 つのオプションは、PSNR や SSIM などの客観的なメトリックを使用することです。しかし、これら 2 つの指標には問題があります。異なるコンテンツ タイプ間ではパフォーマンスに一貫性がありません。同じ PSNR スコアを持つスポーツ ビデオと漫画は、人間の目で認識される品質がまったく異なる場合があります。
Apple のソリューションは AVQT です。
詳細
AVQTとは何ですか?
(00:54)
AVQT は macOS コマンド ライン ツールです。元のビデオと圧縮されたビデオの 2 つの入力を受け取り、1 ~ 5 の品質スコアを出力します。スコアが高いほど、知覚される品質は高くなります。
SDR、HDR10、HLG、Dolby Vision など、AVFoundation と互換性のあるすべてのビデオ形式をサポートしています。
AVQT が PSNR よりも信頼性が高い理由
(04:02)
Appleは比較例を挙げています。
最初のビデオはスポーツ クリップです。圧縮バージョンの品質は良好で、PSNR は約 35、AVQT スコアは 4.4 です。
2 番目のビデオは人間の顔のクローズアップです。圧縮バージョンでは表面に目立ったアーティファクトがありますが、PSNR はやはり 35 程度です。AVQT のスコアは 2.5 であり、品質が低いことを示しています。
PSNR は両方のビデオに同じスコアを与えますが、人間の目ではそれらをまったく異なるように認識します。 AVQT スコアは人間の判断に近いものです。
Apple は、次の 2 つの公開データセットで AVQT の精度を検証しました。
- Waterloo IVC 4K: 20 個のソース ビデオ、480 個の圧縮ビデオ、4 つの解像度と 2 つのエンコード規格をカバー
- VQEG HD3: 9 ソース ビデオ、72 圧縮ビデオ、1080p 解像度
AVQT は、両方のデータセットで高い PCC (ピアソン相関係数) と低い RMSE (二乗平均平方根誤差) を示します。これは、予測スコアが人間の主観的な評価と非常に一致していることを意味します。
計算速度
(07:58)
AVQT は Metal を使用してピクセルレベルの計算を GPU にオフロードします。 1080p ビデオの分析速度は 175fps です。
10 分間、24fps 1080p ビデオの場合、AVQT は 1.5 分で品質評価を完了します。
ビデオを元のピクセル形式に手動でデコードする必要はありません。 AVQT はすべての前処理ステップを内部で処理します。
環境意識の表示
(08:55)
視聴距離と画面サイズは、人間の目のビデオ品質の認識に影響を与えます。同じビデオを画面の高さの 1.5 倍の距離から見た場合と、画面の高さの 3 倍の距離から見た場合では品質が異なります。
AVQT が受け入れられましたviewing-distanceそしてdisplay-resolutionスコア計算に視聴環境を含めるパラメータ。
avqt reference.mov compressed.mov --output scores.csv \
--viewing-distance 3.0 --display-resolution 3840x2160
(09:24)
キーポイント:
reference.movオリジナルの高品質ビデオですcompressed.mov評価対象の圧縮ビデオです--output出力CSVファイルを指定する--viewing-distance画面の高さの倍数で--display-resolutionディスプレイ解像度を指定する- デフォルトのセグメント長は 6 秒です
AVQT を使用して HLS コード レートを最適化する
(12:54)
HLS の階層エンコードでは、解像度ごとに適切なビットレートを選択する必要があります。 Apple は HLS オーサリング仕様で推奨値を示していますが、これらは初期目標です。コンテンツが異なればエンコードの複雑さも異なり、最適なコード レートも異なります。
AVQT は、各レイヤーの最適なビットレートを見つけるのに役立つフィードバック ツールとして使用できます。
- ソースビデオを推奨ビットレートでエンコードし、HLS レイヤ化を生成します。
- AVQT を使用してソースビデオとエンコードされたレイヤーを比較し、品質スコアを取得します
- スコアがしきい値より低い場合は、コード レートを調整して再エンコードします。
- 品質が標準に達するまで繰り返します
Appleは具体的な例を挙げた。 11.6 Mbps でエンコードされた 2160p レイヤーの AVQT スコアは、アニメーション クリップでは 4.5 以上 (Excellent に近い) でしたが、スポーツ クリップでは約 3.5 にすぎませんでした。スポーツ クリップのビットレートを 10% 増加させた後、AVQT スコアは 4.5 を超えました。
# 第一步:用初始码率编码
# 第二步:运行 AVQT
avqt source.mov tier_2160p.mov --output tier_scores.csv
# 第三步:分析分数,调整码率,重新编码
# 第四步:再次运行 AVQT 验证
(14:45)
キーポイント:
- 2160p レイヤー化、品質しきい値が 4.5 に設定
- アニメーション コンテンツは 11.6 Mbps の規格を満たします
- スポーツ コンテンツにはより高いビット レートが必要です
- コードレートが 10% 増加すると、スポーツコンテンツも基準を満たします
- このプロセスは自動化して、コンテンツ ライブラリをバッチ処理できます。
重要ポイント
-
AVQT をビデオ公開パイプラインに統合します。 AVQT は各エンコードが完了した後に自動的に実行され、スコアがしきい値を下回ると再コード化またはアラームがトリガーされます。入口API:
avqtコマンドラインツール +--outputCSV出力。 -
さまざまなコンテンツ タイプの ビットレート プロファイルを作成します。アニメ、スポーツ、自然風景などでは最適なビットレートが異なります。 AVQT を使用したバッチ テストの後、コンテンツ タイプごとに個別の HLS レート テーブルを作成します。入口API:
avqt+異なる--segment-durationそして--temporal-pooling構成。 -
ビデオ プラットフォームのバックグラウンドで品質監視を導入します。公開されたビデオの品質を定期的にサンプリングして、エンコーダーの更新やソース ファイルの問題による品質の低下を検出します。入口API:
avqt+ スケジュールされたタスク。 -
視聴環境と組み合わせてスコアを最適化します。アプリケーションが主に携帯電話の小さな画面で表示される場合は、より大きな表示距離パラメータを使用し、わずかに低いビット レートを受け入れることができます。入口API:
--viewing-distance+--display-resolution。 -
フレームレベルのスコアを使用して、品質に問題のあるセグメントを特定します。 AVQT 出力には各フレームのスコアが含まれており、ビデオ内の品質が突然低下する期間を正確に示します。入口API:
avqt出力 CSV ファイルのフレーム レベル スコア列。
関連セッション
- AVFoundation の新機能 — AVFoundation の非同期プロパティの読み込みと新しい API および字幕ファイルの作成
- VideoToolbox で低遅延のビデオ エンコーディングを探索する — VideoToolbox の低遅延 H.264 ハードウェア エンコーディング
- AVFoundation を使用した HDR ビデオの編集と再生 — AVFoundation HDR ビデオの編集と再生
コメント
GitHub Issues · utterances