これは、かつて「AviSynthのぺーじ」として公開されていたものの "残骸" です。ここに記されている内容には、間違いが含まれている可能性があります。より正確で新しい情報を知りたい場合は、AviSynth 付属のドキュメントや AviSynth 公式サイトを参考にすることをおすすめします。私(にーやん)が管理人をつとめる AviSynth Wiki も利用してください。また、このページは、予告なしに削除される可能性もあります。

AviSynth内蔵のリサイズフィルタ

 AviSynth内蔵のリサイズフィルタを紹介します。

 AviSynthに内蔵されているリサイズフィルタは、BicubicResizeBilinearResizeLanczosResizePointResizeの4つです(※1)。

 フィルタの設定は、次のように行います。
BicubicResize(, 高さ, "b", "c")
BilinearResize(, 高さ)
LanczosResize(, 高さ)
PointResize(, 高さ)
 基本的には「フィルタ名(リサイズ後の幅, リサイズ後の高さ)」というように指定します。

 ただしBicubicResizeフィルタにのみ、オプションでbパラメータとcパラメータが設けられており、この2つのパラメータだけは小数で指定します(省略可能)。

 BicubicResizeフィルタでは三次式を使って画像補間が行われますが、bパラメータとcパラメータは、この三次式の調整に使用されます(※2)。

 デフォルトは共に1/3で、b = 0、c = 0.75ならば、VirtualDubのprecise bicubicフィルタと同等になります。
 テンプレートでは34行目にサイズ変更の行があります。
#//--- サイズ変更 ---//
#LanczosResize(320, 240)
 サンプルではLanczosResizeフィルタになっていますので、他のフィルタを使用したい場合はフィルタの種類も変更してください。
[参考URL:縮小アルゴリズム]
 まるも製作所の「日々の戯言」で、縮小アルゴリズムについて解説されています。

・縮小アルゴリズム(1)-(4) ※2000年12月18日から21日まで
http://www.marumo.ne.jp/db2000_c.htm#18
・縮小アルゴリズム(5)-(9) ※2001年7月4日から7月9日まで
http://www.marumo.ne.jp/db2001_7.htm#4
※1:AviSynth2.5.4現在。LanczosResizeはAviSynth2.0.6から、PointResizeは2.0.7から導入されています。
※2:マニュアルによると、bパラメータとcパラメータは、それぞれ「ぼかし(blur)」と「リンギング(ringing)」に利用されるとあります。


拡張書式 - クロップ&リサイズ

 AviSynth内蔵のリサイズフィルタには、オプションでクロップ用のパラメータも用意されています。
BicubicResize(, 高さ, "b", "c", "左", "上", "クロップ後の幅", "クロップ後の高さ")
BilinearResize(, 高さ, "左", "上", "クロップ後の幅", "クロップ後の高さ")
LanczosResize(, 高さ, "左", "上", "クロップ後の幅", "クロップ後の高さ")
PointResize(, 高さ, "左", "上", "クロップ後の幅", "クロップ後の高さ")
 赤字の部分がクロップ用のパラメータで、Cropフィルタの#1の記述方法と同じ指定の仕方になります。
# 使用例
LanczosResize(320, 240, 0, 8, 704, 480)
 こちらが使用例です。

 この指定方法では、リサイズ前にクロップが適用されるため、次のように記述した場合とほぼ一緒になります。
Crop(0, 8, 704, 480)
LanczosResize(320, 240)
 ただし、リサイズフィルタの内部でクロップする場合は、小数での指定ができる点が大きく異なります(※)。

 またYUY2やYV12モードであっても、奇数単位でのクロップが可能になります。

※幅と高さは小数で指定することはできません。小数で指定できるのは、赤字の部分、bパラメータとcパラメータです。

最終更新日 2004年3月9日
前のページ | 次のページ