Compare

Compare (clip_filtered, clip_original, string "channels", string "logfile", bool "show_graph")

このフィルタは、オリジナルのクリップ(clip_original)とそのフィルタ適用済みのバージョン(clip_filtered)を比較します。フィルタ適用済みのバージョンは、比較の結果付きで返却されます。フレームごとに Mean Absolute Difference*1、Mean Difference*2およびピーク信号対雑音比(PSNR)*3のほか、(フレームごとに計算される)そのフレームまでの PSNR の min (最小値)、avg (平均値)および max (最大値)も与えられます。v2.53 から、(すべてのフレームのすべてのピクセルにわたって計算される)「Overall PSNR*4」も出力クリップ上に表示されます。

channels 文字列(デフォルト "")は R、G、B (、A)または Y、U、V のいずれかの組み合わせからなり、どちらを使用するのかはソースクリップによります。空の場合*5、入力クリップが YCbCr なら "YUV" を、入力クリップが RGB なら "RGB" を意味します。

show_graph (デフォルト false)が true なら、Marc の PSNR グラフも描画されます。

logfile が指定されると、結果はその名前でファイルに書き出され、クリップ上には描画されません。たくさんのフレームを比較する必要がある場合にはずっと高速です。

使用例:

# 画面上に 2 つのクリップの差を表示する:
Compare(clip1, clip2)
# ログファイルの生成用:
Compare(clip1, clip2, "", "compare.log")
# YUY2 クリップの色差チャンネルのみ比較する:
Compare(clip1, clip2, "UV")

PSNR*6 は、dB(デシベル)で評価されます。以下のように定義されます*7

MSE(I,K) = 1/M * sum_{j,k} | I(j,k) - K(j,k) |^2
PSNR(I,K) = 20 * log_10 ( 255/sqrt(MSE(I,K)) )

(j,k) は、フレームのすべてのピクセルに及びます。M は、フレーム内のピクセル数です。

更新履歴:

v2.58YV12 サポート。

註: このページは、AviSynth 2.5.8 RC3 に同梱されている英語版ヘルプの日本語訳です。原文は、AviSynth をインストールしたフォルダ内の Docs/english/corefilters/compare.htm にあります。なお、このページのテキストおよび画像のライセンスは、オリジナルのそれに準じます。詳しくは、AboutLicense を参照してください。


*1 訳者註: MAD。絶対誤差平均。
*2 訳者註: 平均差。
*3 訳者註: PSNR は Peak Signal to Noise Ratio の略。日本語では「ピーク信号対雑音比」。参考: PSNRとは - Mov日記 - Fraternity72008-07-10 - makorin72の日記(と、いうよりもメモ)
*4 訳者註: 「Overall PSNR は、すべてのビデオフレームがタイル上に敷き詰められて巨大な 1 つの画像になったかのようにビデオシーケンスを取り扱います。PSNR は、この巨大な画像に対して効果的に算出されます。」(Overall PSNR for Compare() - Doom9's Forum より)
*5 訳者註: "" のこと。下記の使用例の 2 つ目を参照。
*6 訳者註: 訳者註の 3 を参照。
*7 訳者註: 式中の MSE は、平均二乗誤差(Mean Squared Error)の意味。

最終更新日時: 2014-03-11 (火) 03:47:27 (3862d)