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.58 YV12 サポート。

原文 Date: 2008/06/16 19:42:53
日本語訳 $Date: 2008/08/13 02:48:39 $