Section3 Filters, plugins and colorspaces
- Q3.1: RGB/YUV色空間って何ですか?
- Q3.2: AviSynthと内蔵フィルタは、どの色空間で動作しますか?
- Q3.3: どうやってAviSynthにプラグインを読み込むのですか?
- Q3.4: AviSynth v1.0x/v2.0x用の外部フィルタは、どこでダウンロードできますか?
- Q3.5: AviSynth v2.5x用の外部フィルタは、どこでダウンロードできますか?
- Q3.6: AviSynth用のユーティリティは、どこでダウンロードできますか?
- Q3.7: どうやって色空間を変換するのですか?
- Q3.8: あるフィルタがRGB、またはYUV色空間で動作するときに、何を、何時、気をつければいいですか?
- Q3.9: "Subtitler"プラグインと"BMP Loader"プラグインは、どうやって使えばいいのですか?また、どこで入手できますか?
Q3.1: RGB/YUV色空間って何ですか? †
A: 色を再現するための2つの異なる方法があります: YUV色空間とRGB色空間。YUV色空間では、明るさ(輝度)を再現する1つの成分と色(色差)を再現する他の2つの成分があります。輝度がフルスケールで伝えられるのであれば、色差の要素における細部は、さまざまな方法で行われるサブサンプリング(フィルタリングか平均化)によって減らされます(このため、YUV色空間には、画像を格納するための多様なフォーマットが存在するのです)。RGB色空間には、赤、緑、青の3つの要素があります。また、この色空間においても、画像を格納するための多様なフォーマットがあり、3色の1つに使われるサンプルの量が異なります。
情報はこちらで見つかります: [YUV フォーマット], [RGB フォーマット], [MSDN YUV フォーマット] and [色差のサブサンプリング by Charles Poyton].
AviSynth v1.0x/v2.0xでは, RGB24、RGB32とYUY2がサポートされています。AviSynth v2.5xでは、YV12もサポートされています。詳しくは、DataStorageInAviSynthを見てください。
Q3.2: AviSynthと内蔵フィルタは、どの色空間で動作しますか? †
A: AviSynthは、RGB32、RGB24、YUY2とYV12のフォーマットを使って、RGBとYUVで動作します。ほとんどの内蔵フィルタは、これらのフォーマットのいずれにおいても動作します。フィルタが、どのカラーフォーマットを要求するかは、[こちら]で見つけることが出来ます。
Q3.3: どうやってAviSynthにプラグインを読み込むのですか? †
A: v2.05から、自動プラグイン読み込み(auto-plugin loading)機能を利用することができるようになりました。プラグイン・ディレクトリのパスは、インストール時に設定されます。しかし、もし何らかの理由で変更したい場合は、次の文章を変更したり、付け加えたりしてください:
REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Avisynth] "PluginDir"="c:\\program files\\avisynth 2.5\\plugins"
必要なら上のパス*1を変更し、プラグイン・ディレクトリも作成するようにしてください。それをinstall_autoplugin.regという名前で保存し、エクスプローラ上で右クリックしてレジストリ・ファイルに結合します。最後に、すべてのプラグイン/関数定義ファイルを、そのプラグイン・ディレクトリへ移動させます。もし手動でプラグインを読み込みたいなら、"LoadPlugin"を使います。スクリプトの例:
LoadPlugin("d:\mpeg2dec.dll") mpeg2source("d:\filename.d2v")
Q3.4: AviSynth v1.0x/v2.0x用の外部フィルタは、どこでダウンロードできますか? †
A: 至るところから。でも、この下に、ほとんどのプラグインへのリンクがあります。もし、ここに書かれていないプラグインを知っていれば、"Edit this document"リンクから、気軽にリストに追加してください。
これらのプラグインのほとんどは、YUY2で動作します。もしプラグインを見つけることができなくても(添付機能は凍結されたままです*2)、[WarpEnterprises]ホームページでダウンロードすることができます。
(中略)*3
Q3.5: AviSynth v2.5x用の外部フィルタは、どこでダウンロードできますか? †
A: プラグインのほとんどは、Doom9のAviSynthセクションで見つけることができます。でも、この下には、それらのほとんどへのリンクがあります。もし、ここに書かれていないプラグインを知っていれば、"Edit this document"リンクから、気軽にリストに追加してください。これらのプラグインのほとんどは、YUY2で動作します。もしプラグインを見つけることができなくても(添付機能は凍結されたままです*4)、[WarpEnterprises]ホームページでダウンロードすることができます。
(中略)*5
Q3.6: AviSynth用のユーティリティは、どこでダウンロードできますか? †
A: いくつかのユーティリティが入手可能です:
- [AvsCompare (by TheWEF and aquaplaning)]: ビデオ素材、そして/または、選択されたAviSynthフィルタの効果を比較するためのささやかなツール。[ディスカッション]
- [AvsTimer (by kassandro)]: 実質的にオーバーヘッド(負荷)のかからない小さなフィルタ。プラグインやプラグイン群のパフォーマンスを測定することが可能。
- [AVISynth BatchScripting]: 素早く"AVS AviSynth Script files"を生成するための、ちょっとしたバッチファイル。利用できるプリセット: 1:1-VGA to VCD、DVB/DVD-PAL to 1:1-VGAとDVB/DVD-PAL to VCD(バッチはWinNT/2000/XPのみで動作可能)。
- [AVSLib]: AviSynthスクリプト言語拡張ライブラリ。配列を生成し作用する能力、編集とアニメーションのフィルタ、デバッグ・ツール、数学と統計の関数、そしてAviSynthスクリプト開発者の生活をより楽にするその他のものを提供する。
Q3.7: どうやって色空間を変換するのですか? †
A:
YV12への変換:
ConvertToYV12()
YUY2への変換:
ConvertToYUY2()
RGBへの変換:
ConvertToRGB()
色空間の変換は完全にロスレスではなく、何度も変換したり戻したりすれば、信号が劣化するということに注意してください。1回目の変換前後は、ソースを傷めることはありません。しかし、3回以上になってくると、そういうこともあるかもしれません。v2.03からは、CovertBackToYUY2を利用することができます。これにより、あらかじめYUY2から変換されたRGBソースについては、より高いシンメトリを得ることができます。
Q3.8: あるフィルタがRGB、またはYUV色空間で動作するときに、何を、何時、気をつければいいですか? †
A: あなたが注意すべき主な理由は、不必要な色空間の変換を行わないことによって得られる、速度の向上です。もしあなたのソースがYV12なら(たとえばDVDをエンコードする時や、デジタルソースからのキャプチャ)、YV12空間で動作するフィルタ/プラグインだけを使うようにしてください。反対に、もしあなたのソースがRGBなら(たとえばアナログキャプチャからのソース)、RGB空間で動作するフィルタ/プラグインだけを使うようにしてください。
速度も、色空間によって、まったく異なります。なぜなら、それぞれの色空間は、異なる量のメモリを消費するからです。最も遅い色空間は、常にRGB24です。というのも、すべてのピクセルが、メモリに半端な数ごとに格納されるからです*6。このモードを使うのは避けてください。最速モードは、常にYV12です(YUY2が、これに次ぐ)。データはRGB32の半分ほどしか消費しません。ですから、もし、たくさんのビデオを処理しなければならないのなら、フィルタリングの前にConvertToYV12かConvertToYUY2を使ってみてください。ConvertToRGBは、ソースがYV12/YUY2の場合に、RGB32に変換するということに注意してください。RGB24にRGB32変換を強制するためには、ConvertToRGB32を使います。
また、最終的な出力時の色空間についても、考慮に入れる必要があります。もし、あなたが、VirtualDubでDivX/XviD/Huffyuvへの変換を行い、しかもVirtualDubのフィルタを使わないつもりなら、"Fast Recompress"モードは、YUVデータをダイレクトにコーデックへ転送し、さらなる色空間の変換をせずに済みます。反対に、TMPGEncやVirtualDubの"Full Processing"モードを使うつもりなら、ソースをRGBで転送することを考えるかもしれません。
Q3.9: "Subtitler"プラグインと"BMP Loader"プラグインは、どうやって使えばいいのですか?また、どこで入手できますか? †
A: これらのdllファイルは、DVD2SVCDによって作られたもので、DVD2SVCDだけが、それらのプラグインを使用します。しかし、それらのプラグインをAviSynthで使うことも出来ます。こちらの[スレッド]を見てください。
*1 訳者註: 円記号(\)はエスケープ文字として使われるため、レジストリファイル(.reg)の中で、\をフォルダの区切り文字として使いたいときは、上記の例のように\を2つ重ねます。
*2 訳者註: AviSynth.orgの話。
*3 訳者註: 外部プラグインのページを参照。
*4 訳者註: AviSynth.orgの話。
*5 訳者註: 外部プラグインのページを参照。
*6 訳者註: DataStorageInAviSynthのRGBの説明を参照。