Section3 Filters, plugins and colorspaces

 

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: いくつかのユーティリティが入手可能です:

  • [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の説明を参照。

最終更新日時: 2014-03-12 (水) 23:40:34 (3925d)