AviSynth入門/フィルタ設定の特徴 のバックアップソース(No.1)

#contents

* はじめに [#gf841f8e]

AviSynthには、AviUtl内蔵のノイズ除去フィルタに似たKenKunNRというフィルタ(warpsharpプラグインに収録)があります。今回は、この2つのフィルタを比較することをきっかけとして、AviSynthにおけるフィルタ設定の特徴を見ていくことにしましょう。

* フィルタの設定: AviUtlの場合 [#kb3c8fc6]

** 設定方法 [#d78f5193]

AviUtlのノイズ除去フィルタの設定を行うためには、まずメニューから''[設定] > ノイズ除去フィルタ''を選択して、設定画面を起動します。

#ref(args_aviutl_fulter_setting.png)

これがノイズ除去フィルタの設定画面です。

AviUtlのノイズ除去フィルタでは、強さ、範囲、しきい値の3つの値を設定します。スライドバーを移動させることによって、これらの値を変更することができます。

** フィルタの有効/無効 [#hc73bd7f]

フィルタを有効にするためには、右上のチェックボックスをオンの状態にします。逆にオフにすると、そのフィルタは無効になります。

** 結果の反映 [#e499b2f9]

設定を変更した場合、結果は、リアルタイムでプレビュー画面に反映されます(フィルタ有効時)。

* フィルタの設定: AviSynthの場合 [#ke17baab]

** 設定方法 [#se7da511]

AviSynthのKenKunNRフィルタでも、strength(強さ)、radius(範囲)、threshold(しきい値)の3つの値が設定可能です。

さきほどのAviUtlのノイズ除去フィルタと同じ値に設定したいなら、AVSファイルのフィルタを適用したい行に、以下のように記述します((同じ数値に設定するという意味であり、これによってAviUtl内蔵のノイズ除去フィルタと同じ効果が得られるという意味ではありません。))。

-例1: 名前なし引数
#code{{
KenKunNR(256, 2, 24)
}}

256, 2, 24といったフィルタに渡す値のことを、''引数(ひきすう)''と言います。この場合、strength, radius, thresholdという3つの引数を、KenKunNRフィルタに渡しています。''複数の引数を設定するには、カンマ区切りで指定''します。

あるいは、次のように記述することもできます。

-例2: 名前付き引数
#code{{
KenKunNR(strength=256, radius=2, threshold=24)
}}

「引数の名前(引数名) = 引数」という形で引数を指定していることから、このような指定法のことを''名前付き引数''と言います。これに対し、例1のように引数名を記述しないのを''名前なし引数''と呼びます。

いずれの例も、そのフィルタの書式(フィルタの名前や引数などを定めたもの)にもとづいて記述されています。また、すべての引数が、名前付き引数で指定できるわけではありません。これらの点については、AviSynth入門/書式と引数で、詳しく説明します。

*** 名前付き引数/名前なし引数の違い [#lacad320]

名前なし引数が書式で指定された順番に指定しなければならないのに対し、名前付き引数は指定する順番を問われません。つまり、以下のように名前付き引数を使って指定したとしても、例2と同じ結果になります。

#code{{
KenKunNR(threshold=24, radius=2, strength=256)
}}

** フィルタの有効/無効 [#f36c2125]

AviSynthのフィルタは、上記の状態で有効になります。無効にしたい場合は、行ごと削除するか、行頭に#記号を付けてコメントアウトします((詳しくは、AviSynth入門/コメントで解説します。))。

#code{{
# 行頭に#を付けると無効
#KenKunNR(256, 2, 24)
}}

** 結果の反映 [#pe117b2e]

ただし、それが期待した結果になっているかどうかは、基本的には、いったんAVSファイルを保存して、それをフロントエンド((参考: [[フロントエンド - Wikipedia:http://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89]]))(VirtualDubModなど)で開いてみるまではわかりません。

AviUtlでAviSynthフィルタの設定を行うやVirtualDubでAviSynthフィルタの設定を行うの方法を使えば、AviUtlやVirtualDubのフィルタと同じようにAviSynthのフィルタを設定することも可能です。これらの方法については、AviSynth入門で取り扱う予定はありません。興味のある方は、それぞれの解説ページを参考にしてください。

* まとめ [#e4d2456e]

-AviSynthのフィルタは、AVSファイル内にスクリプトを記述して設定する。
-フィルタに渡す値のことを引数と言う。
-引数は、フィルタごとに定められた書式にもとづいて指定する→AviSynth入門/書式と引数で解説
-引数の指定法
--「引数名 = 引数」: 名前付き引数
---名前付き引数が使えないケースもある→AviSynth入門/書式と引数で解説
--引数名なし: 名前なし引数
-複数の引数を指定する場合は、カンマ区切り。
-フィルタの効果は、基本的には、フロントエンドでAVSファイルを開いてみないとわからない。
--AviUtlやVirtualDub系のソフトウェアで、AviSynthのフィルタを設定する方法もある。