2つのビデオファイルを比較して、どちらが最高の品質であるかを調べます


30

同じビデオ素材が2つ(またはそれ以上)のファイルにエンコードされているとします。これらのユーティリティを実行して、どのファイルが「最高」品質であるかを明確に指摘したいと思います。「Groundly」とは、さまざまな側面(ビデオ解像度、ビデオビットレート、オーディオサンプリングレート、オーディオビットレートなど)を1つずつ比較したレポートを取得したいということです。そのうちの。

これは機能に関するものですが、そのユーティリティを実際に使用できるようにするには、オープンソースでコマンドラインにする必要があります。


いくつかの関連情報の収集を開始するには(上記の基準による実際のソリューションではありません)、repo.or.cz / w / mplayer.git / blob / HEAD/TOOLS/psnr-video.shがあります。 .ru / video / quality_measure /…。しかし、それはオープンソースではなく、2つの公平なファイルではなく、「オリジナル」と「コピー」を比較します。
pfalcon

回答:


88

私はビデオ品質の研究に取り組んでおり、あなたの質問に簡単な答えを出すのは難しいです。必要なのは、ビデオの平均オピニオン評点(MOS)、つまり1〜5または0〜100の数値を提供するプログラムです。これは、人間が知覚する品質に対応します。

ビットレート/解像度などを単純に比較できない理由。

ビデオの解像度を比較するだけでは、品質については何もわかりません。実際、それは完全に誤解を招くかもしれません。700MBサイズでの1080pムービーリッピングは、700MBでの720pリッピングよりも悪く見えるかもしれません。前者では、ビットレートが低すぎるため、あらゆる種類の圧縮アーティファクトが発生します。

同じことは、異なるエンコーダーが実際に低いビットレートでより良い品質を提供できるため、同じフレームサイズでビットレートを比較する場合も同様です。たとえば、XviDで生成された720p 700MB ripは、x264で生成された700MB ripよりも効率が悪いため、外観が悪くなります。

また、最終的な「統合スコア」(MOS)が個々の品質要因で構成される方法を定義する必要があります。これは、以下を含むがこれらに限定されないいくつかのことに大きく依存します。

  • 比較しているビデオの種類(漫画、映画、ニュースなど)
  • 彼らの長さ
  • 視聴者
  • 元のフレームサイズ
  • エンコードされる前の元の「品質」

私たちは、人間がビデオをどのように知覚するかについても話していません。鮮明なディテールと高いモーション解像度を楽しんでいるので、映画を見ている友人がいると仮定しましょう。コンテンツの映画を見ているだけの友人よりも、低品質の裂け目を見るとき、彼らははるかに重要です。彼らはおそらく、映画が面白くて面白いものである限り、品質をそれほど気にしないでしょう。

ビデオ品質メトリックにはさまざまなタイプがあります!

今日のビデオ品質の基本的な評価に最も一般的に使用されていると思われるもののリストを提供させてください。いくつかのビデオ品質メトリックがあり、品質を判断するために使用される情報の種類に応じて分類できます。原則として、非常に簡単に言えば、次のものを区別します。

  • 参照なしのメトリック –品質スコアを入力および出力するビデオが1つだけです。あなたの場合、あなたは多くの場合、元のビデオさえ持っていないので、参照なしのメトリックを探しています。このようなメトリックは、1つのビデオを取得し、1つの品質スコアを出力します。ここにあるいくつかの例の問題は、NRメトリックは、(例えば、ぼかし)を検出します。

  • 完全参照メトリック –これらには2つの入力があり、1つは元の入力ビデオで、もう1つはエンコードされたビデオです。たとえば、DVDムービーを取得し、そこから2つのリッピングを作成し、フルリファレンスメトリックを使用して、元のDVDムービー(ディスク上のMPEG-2ビデオ)とリッピングとの間の品質低下を推定できます。これは計算に時間がかかりますが、より正確です。

上記のメトリックはビデオコーディング品質を調べますが、ビデオのストリーミング時の初期読み込み時間やストールイベントなどの問題を組み込んだメトリックもあります(例:ITU-T P.1203)。

どのソフトウェアを使用できますか?

以下は、一部のメトリックをテストするために使用できるすぐに使用できるツールのリストです(一部はWindows専用です)。

では、どのような指標がありますか?

PSNR、PSNR-HVS、およびPSNR-HVS-M

まず第一に、PSNR(ピーク信号対ノイズ比)は非常に使いやすいが、ビデオ品質を評価する方法としてはやや劣ります。ただし、ほとんどのアプリケーションでは比較的うまく機能しますが、人間が品質をどのように知覚するかについての適切な推定はできません。

PSNRはフレームごとに計算できます。その後、たとえば、ビデオシーケンス全体のPSNRを平均して最終スコアを取得します。PSNRが高いほど優れています。

PSNR-HVSとPSNR-HVS-MはPSNRの拡張機能であり、人間の視覚をエミュレートしようとするため、より正確である必要があります。VQMTおよびMSUは、2つのビデオ間のPSNR、PSNR-HVSおよびPSNR-HVS-Mを計算できます。

SSIM、MS-SSIM

構造的類似性(SSIM)はPSNRと同じくらい簡単に計算でき、より正確な結果を提供しますが、それでもフレームごとです。Wikipediaリンクの下にいくつかの実装がありますが、VQMTまたはMSUを使用することもできます。これらのツールには、SSIMより優れた(つまり、より代表的な)結果を提供するMS-SSIMと、他のいくつかの派生物も含まれています。

結果はPSNRに似ているはずです。繰り返しますが、これを機能させるには、処理済みのビデオへの参照を比較する必要があり、両方のビデオは同じサイズである必要があります。

VMAF

NetflixによるVideo Multi-Method Assessment Fusionは、いくつかの既存のメトリックに基づいてビデオ品質を計算するツールのセットであり、機械学習メソッドによって0〜100の最終スコアに融合されます

[VMAF]は、複数の基本品質メトリックを組み合わせて主観品質を予測します。基本的な原理は、各基本メトリックが、ソースコンテンツの特性、アーティファクトの種類、および歪みの程度に関して独自の長所と短所を持っている可能性があるということです。各基本メトリックに重みを割り当てる機械学習アルゴリズム(この場合はサポートベクターマシン(SVM)リグレッサー)を使用して、基本メトリックを最終メトリックに「融合」することにより、最終メトリックは個々のメトリックのすべての強度を保持できます、より正確な最終スコアを提供します。

VMAFスコアの計算に使用ffmpegできます

VQM

ビデオ品質メトリックに検証されたビデオ品質の専門家グループ(VQEG)と非常に優れたフルリファレンスアルゴリズムです。VQMを無料でダウンロードするか、MSUから実装を使用できます。

登録してダウンロードするときに、NTIA General ModelまたはVideo Quality Model with Variable Frame Delayを使用します。

その他の指標

  • PEVQは、ITU-T J.246に基づく標準化された完全参照メトリックです。HDビデオではなく、マルチメディア信号を対象としています。
  • VQuad-HDは、ITU-T J.341として標準化されたもう1つの完全参照メトリックです。新しいので、HDビデオに適しています。

どちらも商用ソリューションであり、ダウンロードできるソフトウェアは見つかりません。

ITU-T P.1201ITU-T P.1202など、IPTVストリーミング用のビットストリームからのパラメーターで機能する、参照なしメトリックに関するいくつかのITU標準もあります。ITU-T P.1203は、適応ストリーミングの場合に使用できます。


概要

次のような単純で客観的に測定可能な基準を比較する場合:

  • フレームサイズ
  • ビットレート
  • 1秒あたりのフレーム
  • ビデオ解像度

…への単純な呼び出しによりffmpeg -i、最初に必要なすべての詳細が提供されます。また、見てい-vstatsオプションを選択します。これをスプレッドシートにまとめることができます。x264たとえば、ビデオをエンコードする場合、必要に応じてPSNRのようなものをファイルに直接記録するため、これらの値を後で使用できることに注意してください。

これらの基準を比較する方法については、おそらくビットレートを強調する必要があります。ただし、コーデックが同じであることがわかっている場合のみです。一般的に、両方のビデオがx264を使用する場合、ビットレートが高い方が優れていると言えます。さらに一般的には、同じビットレートのビデオが2つある場合は、より低い解像度を選択する必要があります。アップスケーリングによる劣化は、ビットレートが低いため劣化ほど悪くないためです。

コンテンツと個々のエンコード設定について詳しく知らない限り、ビットレートに応じて異なるコーデックを比較することはできません。フレームレートも非常に主観的なものであり、25 Hzを大幅に下回る場合は測定値に含める必要があります。

要約すると、ビットレートが唯一のものである場合、ビットレートを大幅に強調します。目を使うことも忘れないでください:)


まず第一に、質問の元の著者として、以前にコメントしなかったことを残念に思います。投稿は本当に素晴らしく、高く評価されています。残念ながら、元の質問に対する答えとしてそれを受け入れることはできません。その理由は、既存のすぐに使えるツールの提案を望んでいたため、StackOverflowではなくここに質問を意図的に投稿したからです。そのようなツールをどのように書くかという質問であっても、あなたの答えは絶対的な勝者になるでしょう。しかし、申し訳ありませんが、私は必要なものをすべて一から書くことができないので、ユーザーに質問をして回答を期待させてください(昨日でも今日でも、おそらく将来
;

1
素晴らしい、有益な返信。それは直接的な答えではありませんが、私は人々がそのような有益な資料を書くのに時間をかけるのを見たいです。+1
スーパーダック

1

最終的な推奨事項またはスコアを提供するツールは知りませんが、FFmpegを使用すると、質問にリストしたすべての詳細を出力できます。

コマンドラインで、ffmpeg -iはビデオからの情報をリストします。そこから、必要に応じて情報を解析して重み付けするスクリプトを作成できます。


おかげで、うん、私はいくつかのより良い、「魔法」ツールが;-)が存在するかどうか尋ねることを決定する前に、時間のカップルのためにやっていたものだという
pfalcon
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.