## はじめに

ここでは、利用可能な（内蔵）フィルタがカテゴリ別にリストアップされています。サポートされるカラーフォーマット（および音声フィルタのサンプルタイプ）を含む簡単な説明が付け加えられています*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 $`

- 訳者註:
  - *1 AviSynth オフィシャル Web サイト内にある内蔵フィルタのページにあります。