はじめに

ここでは、利用可能な(内蔵)フィルタがカテゴリ別にリストアップされています。サポートされるカラーフォーマット(および音声フィルタのサンプルタイプ)を含む簡単な説明が付け加えられています*1。2 つ以上のクリップをさまざまな方法で合成する関数もあります。ビデオコンテンツがどのように計算されるのかは各関数ごとに説明されていますが、こちらに生成されるクリップのプロパティを説明する要約があります

メディアファイルフィルタ

これらのフィルタは、メディアファイルを読み書きするために使用されます。通常、これらのフィルタは、処理用のソースクリップを生成します。非ファイルソースフィルタについては、デバッグフィルタ の欄を参照してください。

AVISource / OpenDMLSource / AVIFileSource AVI ファイルを開く。
DirectShowSource DirectShowSource は、DirectShow を使ってファイルを読み込む。
ImageReader / ImageSource このフィルタは、静止画像を読み込むことによってビデオクリップを生成する。
Imagewriter フレームを画像としてハードディスクに書き出す。
Import AviSynth スクリプトをカレントのスクリプトにインポートする。
SegmentedAVISource / SegmentedDirectShowSource SegmentedAVISource フィルタは、1 つの実引数につき 100 本までの AVI ファイルを自動的に読み込む。
WAVSource WAV ファイルまたは AVI ファイルの音声を開く。

色変換&色補正フィルタ

これらのフィルタは、クリップのカラーフォーマットを変更したり、色を補正するために使用することができます。

ColorYUV 色と輝度を別々に調節する。
ConvertToRGB / ConvertToYUY2 / ConvertToYV12 / ConvertBackToYUY2 ConvertToRGB32 / ConvertToRGB24 AviSynth は、内部で 4 つのカラーフォーマット(RGB24、RGB32、YUY2、YV12)を扱うことができる。これらのフィルタは、それらを相互に変換する。
FixLuminance シフトしている垂直方向の輝度のオフセットを補正する。
Greyscale ビデオをグレースケールに変換する。
Invert ビデオの選択された色チャンネルを反転する。
Levels Levels フィルタは、黒のレベルと白のレベルを圧縮/伸張したり切り詰めたりし、ガンマを調整する。
Limiter レベルを ITU-R BT.601 の範囲内に切り詰めるためのフィルタ。
MergeARGB / MergeRGB このフィルタは、入力ビデオクリップのそれぞれから色チャンネルを選択し、組み合わせることを可能にする。
Merge / MergeChroma / MergeLuma このフィルタは、あるビデオクリップの色差、輝度、またはその両方を別のクリップにマージすることを可能にする。オプションで重み付けがあり、2 つのクリップ間の比率を指定することができる。
RGBAdjust 各色のチャンネルを別々に調節する。
ShowAlpha / ShowRed / ShowGreen / ShowBlue (A)RGB クリップの選択されたチャンネルを表示する。
SwapUV / UToY / VToY / YToUV クリップの色差チャンネルを交換/複製する。
Tweak 色相、彩度、明るさ、コントラストを調整する。

オーバーレイ&マスクフィルタ

これらのフィルタは、マスクを使って(または使わずに)クリップを重ねるためや、マスクを生成するために使用することができます。

ColorKeyMask (Maskと同様に)アルファチャンネルを設定するが、色を比較することによってそれを生成する。
Layer 2 つのビデオを重ねる。
Mask クリップにアルファマスクを適用する。
Overlay Overlay は、さまざまなオーバーレイ手法を使って、オプションでオーバーレイする画像の座標をずらして 2 つのクリップを重ねる。さらに overlay クリップの不透明度を調整することも可能。
ResetMask クリップに「100% 不透明な」アルファマスクを適用する。
Subtract 符合するピクセル間の差異によってすべてのピクセルが設定される出力クリップを生成する。

幾何学変形フィルタ

これらのフィルタは、クリップの画像サイズの変更、ボーダーの処理、またはその他の変形を行うために使用することができます。

AddBorders 画像の周りに黒色の縁を追加する。
Crop / CropBottom 各フレームの余分なピクセルを切り落とす。
FlipHorizontal / FlipVertical ビデオを左から右へ/上下逆さまに反転する。
Letterbox Letterboxは、単に各フレームの上部と下部、オプションで左側と右側を黒くします。
ReduceBy2 / HorizontalReduceBy2 / VerticalReduceBy2 ReduceBy2 は、各フレームの大きさを半分に減らす。
BilinearResize / BicubicResize / BlackmanResize / GaussResize / LanczosResize / Lanczos4Resize / PointResize / Spline16Resize / Spline36Resize / Spline64Resize これらのリサイズフィルタは、異なるサンプリングアルゴリズムを使って、入力されたビデオフレームを任意の新しい解像度に大きさを変更する。
TurnLeft / TurnRight / Turn180 クリップを、それぞれ反時計回りに 90 度 / 時計回りに 90 度 / 180 度回転させる。

ピクセル復元フィルタ

これらのフィルタは、クリップの画像の細部(ピクセル)の復元(ノイズ除去やシャープ化など)に使用することができます。

Blur / Sharpen シンプルな 3x3 カーネルのぼかし/シャープフィルタ。
GeneralConvolution 一般的な 3x3 または 5x5 のコンボリューション行列。
SpatialSoften / TemporalSoften SpatialSoften フィルタと TemporalSoften フィルタは、ピクセルを選択的にブレンドすることによって、ビデオクリップからノイズを除去する。
FixBrokenChromaUpsampling Microsoft DV コーデックは色差チャンネルを不正確にアップサンプリングする。これを補償するために FixBrokenChromaUpsampling フィルタが追加された。

タイムライン編集フィルタ

これらのフィルタは、時間軸でフレームをアレンジ(カット編集やクリップの結合、またはその他の編集)するために使用することができます。

AlignedSplice / UnalignedSplice AlignedSplice と UnalignedSpliceは、2 本以上のビデオクリップを端と端で連結する。
AssumeFPS / AssumeScaledFPS / ChangeFPS / ConvertFPS さまざまな方法でフレームレートを変更する。
DeleteFrame DeleteFrame は、実引数として与えられた一連の単一フレームを削除する。
Dissolve Dissolve は、オーバーラップをともなってクリップが合成されるということ以外は、AlignedSplice に似ている。
DuplicateFrame DuplicateFrame は、実引数として与えられた一連の単一フレームを複製する。
FadeIn0 / FadeOut0 / FadeIn / FadeOut / FadeIn2 / FadeOut2 / FadeIO0 / FadeIO / FadeIO2 FadeIn と FadeOut は、開始点または終了点で黒色になるようにビデオストリームを線形的にフェードさせる。
FreezeFrame FreezeFrame フィルタは、first-frame と last-frame の間のすべてのフレームを、選択されたフレームに置換する。
Interleave Interleave は、いくつかのクリップのフレームを 1 フレームずつ交互に配置する。
Loop start_frame から end_frame までのセグメントを与えられた回数だけループさせる。
Reverse このフィルタは、クリップを逆回転で再生させる。
SelectEven / SelectOdd SelectEven と SelectOdd は、それぞれ偶数または奇数番号のフレームのみを使って出力ビデオストリームを作る。
SelectEvery SelectEven/SelectOdd や Pulldown のようなフィルタの一般化。
SelectRangeEvery このフィルタは、一定の周期で、ある範囲のフレームを選択する。
Trim Trim は、first-frame から last-frame までのフレームのみを含むようにビデオクリップをトリミングする。

インターレースフィルタ

これらのフィルタは、(フィールドに分離されたフレームベース素材であるところの)フィールベースの素材を生成し、処理するために使用することができます。AviSynth は、プログレッシブ素材とインターレース素材の両方を取り扱うことができます。主な問題は、AviSynth にはソースフィルタから何を受け取っているのかわからないことが多いということです。 フィールドベースフラグが存在し、それがインターレース素材を取り扱うときに使用されるのは、こういう理由のためです。フィールドベースビデオに関する詳細は、こちらにあります。

AssumeFrameBased / AssumeFieldBased フレームベース素材かフィールドベース素材かを強制する。
AssumeTFF / AssumeBFF フィールドオーダーを強制する。
Bob Bob はクリップをとって、Bob 方式によるインターレース解除を行う。
ComplementParity トップフィールドをボトムフィールドに変更する。また、その逆。
DoubleWeave 奇数と偶数両方のフィールドのペアを組み合わせることによって 2 倍のフレーム数を作り出すことを除けば、DoubleWeave フィルタは Weave と同じように動作する。
PeculiarBlend このフィルタは、一風変わった方法で各フレームを次のフレームとブレンドする。
Pulldown Pulldown フィルタは、ソースビデオから 5 フレームごとに 2 フレームずつを単純に選択する。
SeparateFields SeparateFields は、フレームベースのクリップをとって、各フレームをその構成要素であるトップフィールドとボトムフィールドに分離する。
SwapFields SwapFields フィルタは、インターレースフレームにおける 2 つのフィールドを交換する。
Weave Weave は、フィールド分離された入力ビデオクリップから対のフィールドをとり、それらを組み合わせてインターレースフレームを生成する。

音声処理フィルタ

これらのフィルタは、音声の処理に使用することができます。フィルタが特別なタイプのサンプルを必要とするなら、クリップの音声サンプルは自動的に変換されます。つまり、フィルタが与えられたサンプルのタイプをサポートしていない場合は、自動的にサンプルをそのフィルタがサポートするものに変換します。各フィルタでサポートされている内部フォーマットは、サンプルタイプ欄に記載されています。特殊なサンプルタイプは、ConvertAudio 関数を使って強制的に変換することが可能です。

サンプルタイプが浮動小数点数なら、有効な AVI データとして渡すことができないため、AviSynth がデータを出力しなければならないときに 16 ビットに変換されます。

Amplify / AmplifydB Amplify は、音声サンプルに amount を掛ける。
AssumeSampleRate 音声の再生速度を調節する。
AudioDub / AudioDubEx AudioDub は、1 つ目の実引数からビデオストリームを、2 つ目の実引数からオーディオストリームを受け取って合成する。AudioDubEx はこれと似ているが、両方のクリップがビデオストリームまたはオーディオストリームを持たなくても例外を投げない。
ConvertToMono すべての音声チャンネルをマージする。
ConvertAudioTo8bit / ConvertAudioTo16bit / ConvertAudioTo24bit / ConvertAudioTo32bit / ConvertAudioToFloat 音声サンプルを 8/16/24/32 ビットまたは浮動小数点数に変換する。
DelayAudio DelayAudio は、音声トラックを seconds 秒単位で遅らせる。
EnsureVBRMP3Sync シーク時やトリミング時に、同期ずれする MP3 音声の AVI の同期を補正する。
GetChannel 音声信号からチャンネルを返す。
KillAudio クリップから音声を完全に取り除く。
KillVideo クリップから映像を完全に取り除く。
MergeChannels 2 つ以上の音声クリップのチャンネルをマージする。
MixAudio 2 本のクリップの音声をミックス
Normalize クリッピングを起こすことなく、波形全体を可能な限り増幅する。
ResampleAudio 音声のサンプリング周波数の高品質な変換を行う。
SSRC 非常に高品質な音声サンプリング周波数の変換を行う。利用可能な最高のリサンプリング品質を提供する、Naoki Shibata 氏による SSRC を使用。
SuperEQ 高品質な 16 バンドサウンドイコライザ。
TimeStretch このフィルタは、ピッチを変更することなく音の速度を変更したり、音の長さを変更することなく音のピッチを変更することができる。

条件フィルタおよびその他のメタフィルタ

これらの特殊なフィルタは、他のフィルタの実行を制御するために使用することができます。

条件フィルタの基本的な特性は、「それらのスクリプト」がクリップ全体ではなくフレームごとに評価(実行)されるということです。これは、通常の AviSynth スクリプトでは実行するのが困難であるかまたは不可能であるような複雑なビデオ処理を可能にします。

フィルタ 説明
Animate / ApplyRange Animate (ApplyRange)は、連続的に変化する(同じ)実引数を伴った filtername パラメータを評価するメタフィルタ。
ConditionalFilter / FrameEvaluate / ScriptClip ConditionalFilterは、条件が満たされれば source1 を返し、さもなければ source2 を返す。ScriptClip/FrameEvaluate は、フレームごとに評価される関数によって返されるクリップを返す。
ConditionalReader ConditionalReader は、各フレームまたはある範囲のフレームに対する異なった値を含むテキストファイルから、情報をインポートすることを可能にする。
TCPDeliver このフィルタは、ネットワーク越しにクリップを送信することを可能にする。いくつかのクライアントを同じマシーンに接続することができる。
WriteFile / WriteFileIf / WriteFileStart / WriteFileEnd これらのフィルタは、式を評価し、結果をテキストファイルに出力する。

デバッグフィルタ

フィルタ 説明
BlankClip / Blackness BlankClip フィルタは、指定された長さ(フレーム単位)の、単色で、無音のビデオクリップを生成する。
ColorBars ColorBars フィルタは、任意の画像サイズの SMPTE カラーバーを含むビデオクリップを生成する。
Compare 2 本のクリップを比較して、その差異に関する情報をプリントアウトする。
Histogram ヒストグラムを追加する。
Info 画像と音声の情報を表示する。
MessageClip MessageClip は、テキストメッセージを含むクリップを生成する。
ShowFiveVersions ShowFiveVersions は、5 本のビデオストリームをとって、左から右へ千鳥配置で合成する。
ShowFrameNumber / ShowSMPTE / ShowTime ShowFrameNumber は、AviSynth が考えるフレーム番号を示すテキストをすべてのフレーム上に描画する。
ShowSMPTE は、SMPTE タイムコード(時間:分:秒:フレーム)を表示する。
ShowTime は、ミリ秒単位の経過時間(時:分:秒.ミリ秒)を表示する。
StackHorizontal / StackVertical StackHorizontal/StackVertical は、2 つ以上のクリップをとり、それらを左から右へ/上から下への順に並べて表示する。
Subtitle Subtitle は、アンチエイリアスされたテキストを、ある範囲のフレームに追加する。
Tone 音を生成する。
Version Version フィルタは、簡潔なバージョンと著作権声明文付きのビデオクリップを生成する。

原文 Date: 2008/07/20 03:36:57
日本語訳 $Date: 2008/08/13 02:48:39 $