AviSynth入門/フィルタ設定の特徴
はじめに †
AviSynthには、AviUtl内蔵のノイズ除去フィルタに似たKenKunNRというフィルタ(warpsharpプラグインに収録)があります。今回は、この2つのフィルタを比較することをきっかけとして、AviSynthにおけるフィルタ設定の特徴を見ていくことにしましょう。
フィルタの設定: AviUtlの場合 †
設定方法 †
AviUtlのノイズ除去フィルタの設定を行うためには、まずメニューから[設定] > ノイズ除去フィルタを選択して、設定画面を起動します。
これがノイズ除去フィルタの設定画面です。
AviUtlのノイズ除去フィルタでは、強さ、範囲、しきい値の3つの値を設定します。スライドバーを移動させることによって、これらの値を変更することができます。
フィルタの有効/無効 †
フィルタを有効にするためには、右上のチェックボックスをオンの状態にします。逆にオフにすると、そのフィルタは無効になります。
結果の反映 †
設定を変更した場合、結果は、リアルタイムでプレビュー画面に反映されます(フィルタ有効時)。
フィルタの設定: AviSynthの場合 †
設定方法 †
AviSynthのKenKunNRフィルタでも、strength(強さ)、radius(範囲)、threshold(しきい値)の3つの値が設定可能です。
さきほどのAviUtlのノイズ除去フィルタと同じ値に設定したいなら、AVSファイルのフィルタを適用したい行に、以下のように記述します*1。
- 例1: 名前なし引数
KenKunNR(256, 2, 24)
256, 2, 24といったフィルタに渡す値のことを、引数(ひきすう)と言います。この場合、strength, radius, thresholdという3つの引数を、KenKunNRフィルタに渡しています。複数の引数を設定するには、カンマ区切りで指定します。
あるいは、次のように記述することもできます。
- 例2: 名前付き引数
KenKunNR(strength=256, radius=2, threshold=24)
「引数の名前(引数名) = 引数」という形で引数を指定していることから、このような指定法のことを名前付き引数と言います。これに対し、例1のように引数名を記述しないのを名前なし引数と呼びます。
いずれの例も、そのフィルタの書式(フィルタの名前や引数などを定めたもの)にもとづいて記述されています。また、すべての引数が、名前付き引数で指定できるわけではありません。これらの点については、AviSynth入門/書式と引数で、詳しく説明します。
フィルタの有効/無効 †
AviSynthのフィルタは、上記の状態で有効になります。無効にしたい場合は、フィルタに関する記述を削除するか、同じ行のそれより前に#記号(半角)を付けてコメントアウトします。
# 前に#を付けるとコメント扱い(同一行のみ) #KenKunNR(256, 2, 24)
コメントの記述の仕方については、AviSynth入門/コメントと折り返しで、あらためて解説します。
結果の反映 †
ただし、それが期待した結果になっているかどうかは、基本的には、いったんAVSファイルを保存して、それをVirtualDubModなどのフロントエンド*2で開いてみるまでわかりません(下記のメモ「GUIでAviSynthのフィルタ設定を行う」も参照)。
まとめ †
- AviSynthのフィルタは、AVSファイル内にスクリプトを記述して設定する。
- フィルタに渡す値のことを引数と言う。
- 引数は、フィルタごとに定められた書式にもとづいて指定する→AviSynth入門/書式と引数で解説
- 引数の指定法
- 「引数名 = 引数」: 名前付き引数
- 名前付き引数が使えないケースもある→AviSynth入門/書式と引数で解説
- 引数名なし: 名前なし引数
- 「引数名 = 引数」: 名前付き引数
- 複数の引数を指定する場合は、カンマ区切り。
- フィルタを無効にするためには、フィルタの指定部分を削除するか、#記号を付けてコメントアウトする。
- フィルタの効果は、基本的には、フロントエンドでAVSファイルを開いてみないとわからない。
- AviUtlやVirtualDub系のソフトウェアで、AviSynthのフィルタを設定する方法もある(下記のメモを参照)。
メモ †
GUIでAviSynthのフィルタ設定を行う †
AviUtlでAviSynthフィルタの設定を行うやVirtualDubでAviSynthフィルタの設定を行うの方法を使えば、AviUtlやVirtualDubのフィルタのGUI*3を利用して、AviSynthのフィルタを設定することも可能です。
これらの方法については、AviSynth入門で取り扱う予定はありません。興味のある方は、それぞれの解説ページを参考にしてください。
*1 同じ数値に設定するという意味であり、これによってAviUtl内蔵のノイズ除去フィルタと同じ効果が得られるという意味ではありません。
*2 参考: フロントエンド - Wikipedia
*3 グラフィカル・ユーザー・インターフェイス。参考: GUIとは 【グラフィカルユーザインターフェース】 (Graphical User Interface) ─ 意味・解説 : IT用語辞典 e-Words, グラフィカルユーザインターフェース - Wikipedia