Resize のバックアップの現在との差分(No.2)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
''基本的な使用法:''
#contents

#code{{
BicubicResize(clip clip int target_width, int target_height, float b, float c)
#pre{{
BicubicResize (clip, int target_width, int target_height, float "b=1./3.", float "c=1./3.", float "src_left", float "src_top", float "src_width", float "src_height")
BilinearResize (clip, int target_width, int target_height, float "src_left", float "src_top", float "src_width", float "src_height")
BlackmanResize (clip, int target_width, int target_height, float "src_left", float "src_top", float "src_width", float "src_height", int "taps=4")
GaussResize (clip, int target_width, int target_height, float "src_left", float "src_top", float "src_width", float "src_height", float "p=30.")
LanczosResize (clip, int target_width, int target_height, float "src_left", float "src_top", float "src_width", float "src_height", int "taps=3")
Lanczos4Resize (clip, int target_width, int target_height, float "src_left", float "src_top", float "src_width", float "src_height")
PointResize (clip, int target_width, int target_height, float "src_left", float "src_top", float "src_width", float "src_height")
Spline16Resize (clip, int target_width, int target_height, float "src_left", float "src_top", float "src_width", float "src_height")
Spline36Resize (clip, int target_width, int target_height, float "src_left", float "src_top", float "src_width", float "src_height")
Spline64Resize (clip, int target_width, int target_height, float "src_left", float "src_top", float "src_width", float "src_height")
}}

#code{{
BilinearResize(clip clip int target_width, int target_height)
v2.56 から、すべてのリサイザに対して([[Crop]] と同様に)オフセット((訳者註: src_width と src_height の部分に負の値を使用することによって、それぞれ右端(src_right)と下端(src_bottom)のクロップ幅を指定することができるようになります。))を使用することができます:~
すなわち、~
#pre{{
GaussResize (clip, int target_width, int target_height, float "src_left", float "src_top", float -"src_right", float -"src_bottom")
}}

#code{{
LanczosResize(clip clip int target_width, int target_height, int taps)
}}
すべてのリサイザに関して、リサイズ前にクロップを行う拡張シンタックスを使用することができます。リサイズの前に Crop フィルタを置くのと同じ演算が実行されますが、両者にはわずかにスピードの違いがあります。

#code{{
Lanczos4Resize(clip clip int target_width, int target_height)
}}
エッジの意味がわずかに異なります。Crop はクッキリとした完全な境界線を生じますが、リサイザフィルタのローブ((訳者註: 参考: [[Lanczos vs Bicubic comparison - Page 2:http://www.avsforum.com/t/460922/lanczos-vs-bicubic-comparison/30#post_4760581]]、[[窓関数 - Wikipedia:http://ja.wikipedia.org/wiki/%E7%AA%93%E9%96%A2%E6%95%B0]]))は画像の物理的なエッジを超えない範囲でクロップされた領域にまで及ぶかもしれません。

#code{{
PointResize(clip clip, int target_width, int target_height)
}}
クッキリとした縁や VHS のヘッドのスイッチングノイズを取り除くには、[[Crop]] を使用してください。リサイザのクロップを使用すると、ノイズを近傍の出力ピクセルにまで増殖させるおそれがあります。完全な画像の一部分を削る際に正確なエッジのレンダリングを維持するには、リサイザのクロップを使用してください。

#code{{
Spline16Resize(clip clip, int target_width, int target_height)
}}
#pre{{
Crop(10,10,200,300).BilinearResize(100,150)

#code{{
Spline36Resize(clip clip, int target_width, int target_height)
# 上記のスクリプトは、以下とほぼ同じ
BilinearResize(100,150,10,10,200,300)
}}

#code{{
GaussResize(clip clip, int target_width, int target_height, float p)
}}
重要: AviSynth は、完全に独立した垂直と水平のリサイザを備えています。もし 1 つの軸に関して入力が出力と同じなら、リサイザはスキップされます。どちらが最初に呼び出されるかは、どちらが最も小さい縮小率かによって決定されます。これは、最大限の品質を保持するために行われます。これにより、2 番目のリサイザは、処理すべき最高のピクチャを得ます。

''高度な使用法'':
** BilinearResize [#g87f716a]

#code{{
BicubicResize(clip clip, int target_width, int target_height, float b, float c, float src_left, float src_top, float src_width, float src_height)
}}
BilinearResize フィルタは、入力ビデオフレームを任意の新しい解像度にリスケール(再拡大/再縮小)します。オプションの '''source''' 引数((訳者註: 「src_」始まるパラメータ(src_left、src_top、src_width、src_height)のこと。また、その値。))を与えると、BilinearResize の前にそれらの引数を使ってクリップに [[Crop]] を適用した場合と同じ結果になります。

#code{{
BilinearResize(clip clip, int target_width, int target_height, float src_left, float src_top, float src_width, float src_height)
}}
BilinearResize は、標準的なバイリニアフィルタリング((訳者註: バイリニア補間(双線形補間)を用いた画像フィルタリング手法。参考: [[ASCII24 - アスキー デジタル用語辞典 - バイリニアフィルタリング:http://yougo.ascii24.com/gh/81/008181.html]]、[[JAVAで学ぶ3D:http://homepage1.nifty.com/open-prog/java/tip009.html]]、[[内分点と画像の拡大・縮小:http://www.asahi-net.or.jp/~UC3K-YMD/Sketch/Scale/scale01.html]]))を使用しており、VirtualDub の「precise bilinear」リサイズオプションとほぼ同じです。「ほぼ」というのは、単に VirtualDub のフィルタが若干スケーリング係数を間違っているようであり、その結果、画像の上と右のピクセルがクリッピングされるかもしくは複製されるからです(このエラーは 1 つないし 2 つ以上の係数によってフレームサイズを拡大するときに顕著ですが、さもなければ大したことはないため、これについて過度に心配することはないと思います)。

#code{{
LanczosResize(clip clip, int target_width, int target_height, float src_left, float src_top, float src_width, float src_height, int taps)
}}
使用例:

#code{{
Lanczos4Resize(clip clip, int target_width, int target_height, float src_left, float src_top, float src_width, float src_height)
}}
#pre{{
# ビデオファイルを読み込み、(元のサイズに関係なく) 240x180 にリサイズ
AVISource("video.avi").BilinearResize(240,180)

#code{{
PointResize(clip clip, int target_width, int target_height, float src_left, float src_top, float src_width, float src_height)
}}
# 720x480 (ITU-R BT.601)のビデオを読み込み、正しいアスペクト比を保持したまま、
# 352x240(ビデオ CD)にリサイズ
AVISource("dv.avi").BilinearResize(352, 240, 8, 0, 704, 480)

#code{{
Spline16Resize(clip clip, int target_width, int target_height, float src_left, float src_top, float src_width, float src_height)
}}
# 上に同じ
AviSource("dv.avi").BilinearResize(352, 240, 8, 0, -8, -0)

#code{{
Spline36Resize(clip clip, int target_width, int target_height, float src_left, float src_top, float src_width, float src_height)
# 320x240 のビデオの右上の 1/4 を抽出し、それをズームして
# フレーム全体を埋める
BilinearResize(320,240,160,0,160,120)
}}

#code{{
GaussResize(clip clip, int target_width, int target_height, float src_left, float src_top, float src_width, float src_height, float p)
}}
** BicubicResize [#gf93f410]

v2.56から、すべてのリサイズフィルタに対して、([[Crop]] と同様に)オフセットを使用することができます:
線形フィルタリングの代わりに Mitchell-Netravali の 2 つのパラメータを取るキュービック・フィルタ((訳者註: 原文は「Mitchell-Netravali two-part cubic」。同じフィルタを指すために「Mitchell & Netravali's two-param cubic filter」という表現も使われているようです。このため、訳文のように翻訳することにしました。参考: [[Reconstruction filters in computer-graphics:http://portal.acm.org/citation.cfm?id=378514]]))を使用するということを除けば、BicubicResize((訳者註: 参考: [[Diary 2000-12(まるも製作所):http://www.marumo.ne.jp/db2000_c.htm#18]]、[[MemoNyanDum : Resize 2. Bilinear vs Bicubic:http://junki.lix.jp/delphigr/042Resize2.htm]])) は BilinearResize に似ています。パラメータ '''b''' と '''c'''  は、3 次式のプロパティを調整するために使用することができます。それぞれ、「ぼかし」と「リンギング」((訳者註: 参考: [[リンギング / プロフェッショナルビデオ用語辞典 / システムファイブ e-PROSHOP:http://www.system5.jp/asp/contents.asp/fnm/dictionary/ri_019]]、[[ASCII24 - アスキー デジタル用語辞典 - リンギング:http://yougo.ascii24.com/gh/26/002698.html]]))と呼ばれることがあります。

#code{{
xxxResize(clip clip, int target_width, int target_height, float src_left, float src_top, float -src_right, float -src_bottom)
}}
'''b''' = 0 かつ '''c''' = 0.75 の場合、このフィルタは VirtualDub の「precise bicubic」とまったく同じで、上述の VirtualDub のスケーリング問題を除けば結果もまったく同じです。デフォルト値は '''b''' = 1./3. と '''c''' = 1./3. です。これは、人間の主観テストにおいて最も視覚的に満足の行く結果をもたらすものとして Mitchell と Netravali により推奨された値です。'''b''' と '''c''' をもっと大きな値にすると、興味深いオプアート((訳者註: 参考: [[オプ・アート - Wikipedia:http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%97%E3%82%A2%E3%83%BC%E3%83%88]]))効果を引き起こすことができます -- たとえば '''b''' = 0、'''c''' = -5 を試してみてください。

すべてのリサイズに対して、リサイズの前にクロップする拡張されたシンタックスを使用することができます。リサイズの前に [[Crop]] を置くと同じ演算が実行されますが、両者にはわずかなスピードの違いがあります。
もしビデオを拡大するのなら、BilinearResize よりも BicubicResize の方がはるかに良い結果が得られます。しかし、もし縮小するのなら、BilinearResize でもおそらく同程度かむしろ良いくらいでしょう。VirtualDub のバイキュービックフィルタはバイリニアフィルタよりもきれいな画像をつくり出しますが、これはおもにバイキュービックフィルタが画像をシャープにするからであり、サンプリングにおいて優れているからではありません。シャープな画像は見た目はすばらしいですが、それは圧縮を試みるまでのことであり、圧縮した瞬間、それらの画像は急激に扱いにくいものになります。BicubicResize の初期設定は、VirtualDub のバイキュービックほどシャープにはしませんが、バイリニアよりはシャープにします。もし低いビットレートでビデオをエンコードするつもりなら、BilinearResize のほうが全体的に優れた最終結果をもたらしたとしてもまったく驚きません。

#code{{
Crop(10, 10, 200, 300).BilinearResize(100, 150)
}}
数値的にもっとも正確なフィルタのためには、b と c が以下の式を満たすように制限してください :-

これは以下と同じです
 b + 2 * c = 1

#code{{
BilinearResize(100, 150, 10, 10, 200, 300)
}}
これにより、b = 0 のとき、c の最大値 0.5 が与えられます。これは Catmull-Rom スプライン((訳者註: 参考: [[第3章 第5節 Catmull-Romスプライン曲線:http://markun.cs.shinshu-u.ac.jp/learn/cg/cg3/index5.html]])) と呼ばれるもので、シャープさを得るにはおすすめです。

重要: AviSynth は、完全に独立した垂直と水平のリサイザを持っています。もし 1 つの軸に関して入力が出力と同じなら、リサイザはスキップされるでしょう。どちらが最初に呼び出されるかは、どちらが最も小さい縮小率を持っているかによって決定されます。これは、最大限の品質を保持するために行われます。このため、2 番目のリサイザは、処理するべき、考えられる最良のピクチャを得ます。データの格納方法((訳者註: RGB24/32かYUY2かYV12か。))は、リサイズとクロップをするときのサイズに関して、どの倍数が使われる'''べき'''かに影響を与えるでしょう。[[Crop]] を参照。
c が 0.6 より大きくなると、「リンギング」が出始めます。リアルなシャープさではなく、テレビのシャープネスコントロールのようにくっきりしたものが得られるようになります。b に関しては、負の値は許可されていません。c が 0.5 より大きい場合、b = 0 を使用してください。

''BilinearResize'' フィルタは、入力されたビデオフレームの大きさを任意の新しい解像度に変更します。オプションのソース引数((訳者註: src_left、src_top、src_width、src_heightなどの「src_」始まる引数のこと。))を与えるなら、BilinearResize の前にそれらの引数を使ってクリップに [[Crop]] を適用したのと結果は(より高速であることを除いて)同じです。
** BlackmanResize [#m496d747]

BilinearResize は、スタンダードなバイリニア・フィルタリング((訳者註: bilinear。双線形。参考: [[ASCII24 - アスキー デジタル用語辞典 - バイリニアフィルタリング:http://yougo.ascii24.com/gh/81/008181.html]]))を使用し、VirtualDub の "precise bilinear" リサイズ・オプションとほぼ同じです。VirtualDub のフィルタは、画像の上と右の画素が切り捨てられるか複製されるという結果を伴い、わずかにスケーリング・ファクタを間違えているようなので、"ほぼ"というだけです。(このエラーは、1 つか 2 つ以上のファクタによってフレーム・サイズを拡大するときに顕著です。ほかの方法では大したことはありません。このため、私はそれについてあまり心配はしないでしょう。)
BlackmanResize は、タップ数が大きい場合のリンギングノイズをよりうまくコントロールする LanczosResize の改造版です。taps 引数に関する説明は LanczosResize を参照してください(デフォルト: taps=4)。(v2.58 で追加)

'''(どなたか、この発言の起源を知りませんか?その根拠は正しくありません。というのは、スタンダードなマッピングでは、拡大時に境界線周辺の画素を複製するかミラーを設ければならないからです。ソースを見、出力を比較すると、VirtualDub 1.6 と Avisynth 2.5 は、同じマッピングを生成しているように見えます。この矛盾は、すでに解決されているのではないかと思います。Avery)'''
** GaussResize [#l7389695]

''使用例:''
GaussResize は、調節可能なシャープ用のパラメータ '''p''' (デフォルト 30)を持つガウシアンリサイズフィルタを使用します。'''p''' の取る範囲はおよそ 1 から 100 までで、1 は非常にぼやけ、100 はとてもシャープになります。GaussResize は 4 タップを使用し、Lanczos4Resize に似た処理速度です(v2.56 で追加)。

#code{{
# ビデオファイルを読み込み、(それが前にどんなサイズであっても、そこから)240x180 にリサイズ
AviSource("video.avi").BilinearResize(240,180)
}}
** LanczosResize / Lanczos4Resize [#ga28c99d]

#code{{
# 720x480(CCIR601)のビデオを読み込み、正しいアスペクト比を保持しながら、
# 352x240(VCD)にリサイズ
AviSource("dv.avi").BilinearResize(352, 240, 8, 0, 704, 480)
}}
LanczosResize((訳者註: 参考: [[Diary 2001-7(まるも製作所):http://www.marumo.ne.jp/db2001_7.htm#7]]、[[Diary 2001-6(まるも製作所):http://www.marumo.ne.jp/db2001_6.htm#27]]、[[Lanczos 3, Lanczos 4とはなんぞや - 2008/04/302006/09/11 ageha was here:http://agehatype0.blog50.fc2.com/blog-entry-47.html]])) は、かなり強いシャープを生み出す c = 0.6 〜 0.75 という高い値を指定した場合の BicubicResize の代替となるフィルタです。通常、優れた品質(少ない人工ノイズ)とシャープな画像を提供します。

#code{{
# もしくは、上と同じもの
AviSource("dv.avi").BilinearResize(352, 240, 8, 0, -8, -0)
}}
Lanczos4Resize (v2.55 から追加)は、LanczosResize (正式名称: Lanczos3Resize)と密接に関連しています。リサイズを行うために、後者が 2*3=6 ローブ(lobe)を使用するのに対し、前者は 2*4=8 ローブを使用します。結果として、Lanczos4Resize の方がよりシャープな画像を生成します。とりわけクリップを拡大するときに役立ちます。

#code{{
# 320x240 のビデオの右上の 1/4 を抜き取って、それを
# フレーム全体を埋めるようにズームする
BilinearResize(320, 240, 160, 0, 160, 120)
}}
Lanczos4Resize は、LanczosResize(taps=4) の簡略表記です。

''BicubicResize'' は、線形フィルタリングの代わりに Mitchell-Netravali の 2 つのパラメータを取るキュービック・フィルタ((訳者註: 原文は「Mitchell-Netravali two-part cubic」。同じフィルタを指すために「Mitchell & Netravali's two-param cubic filter」という表現も使われているようです。このため、訳文のように翻訳することにしました。参考: [[Reconstruction filters in computer-graphics:http://portal.acm.org/citation.cfm?id=378514]]))を使用するということ以外は、BilinearResizeに似ています。パラメータ b と c は、キュービックのプロパティを調整するために使うことができます。それぞれ、"ぼかし(blurring)" と "リンギング(ringing)((訳者註: 参考:[[リンギング / プロフェッショナルビデオ用語辞典 / システムファイブ e-PROSHOP:http://www.system5.jp/asp/contents.asp/fnm/dictionary/ri_019]]、[[ASCII24 - アスキー デジタル用語辞典 - リンギング:http://yougo.ascii24.com/gh/26/002698.html]]))" と呼ばれることがあります。
''注: taps という名前の入力引数は、本当は lobes であるべきです(実際、ローブの半分です)。リサイザについて議論するとき、taps は以下で説明されているように異なる意味を持ちます。''

b = 0 かつ c = 0.75 の場合、このフィルタは VirtualDub の "precise bicubic" とまったく同じであり、結果は上で述べた VirtualDub のスケーリング問題を除けば同じです。デフォルトは、Mitchell と Netravali により、人間の主観テストにおいて最も視覚的に満足の行く結果をもたらすものとして推奨された値である、b = 1./3. と c = 1./3 です。b と c をもっと大きな値にすると、興味深いオプ・アート((訳者註: 参考: [[オプ・アート - Wikipedia:http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%97%E3%82%A2%E3%83%BC%E3%83%88]]))の効果を引き起こすことができます -- たとえば、b = 0 と c = -5 を試してみてください。
''補間タップ((訳者註: 参考: [[Lanczos vs Bicubic comparison - Page 2:http://www.avsforum.com/t/460922/lanczos-vs-bicubic-comparison/30#post_4760581]]、[[Resampling - Avisynth wiki:http://avisynth.nl/index.php/Resampling]]、[[Diary 2001-7(まるも製作所):http://www.marumo.ne.jp/db2001_7.htm#6]]、[[Lanczos 3, Lanczos 4とはなんぞや - 2008/04/302006/09/11 ageha was here:http://agehatype0.blog50.fc2.com/blog-entry-47.html]]))数(taps パラメータ)''

もしあなたがビデオを拡大しているなら、BilinearResize を用いるよりも BicubicResize を使ったほうが、はるかに良い結果が得られるでしょう。しかし、もし縮小しているのなら、BilinearResize でもたぶん同じくらいか、むしろ良いくらいです。VirtualDub のバイキュービック・フィルタはバイリニア・フィルタよりも見た目の良い画像を画像つくり出しますが、これは主にバイキュービック・フィルタが画像をシャープにするからであり、サンプリングにおいて優れているからではありません。シャープな画像は見た目はすばらしいですが、それはあなたが圧縮を行おうとするまでのことであり、その瞬間、それらの画像はあなたにとって急激に扱いにくいものになります。BicubicResize の初期設定は、VirtualDub のバイキュービックほどシャープにはしませんが、バイリニアよりはまだシャープにします。あなたがもし低いビットレートでビデオをエンコードするつもりなら、BilinearResize のほうがより良質なものをもたらしたとしても、私はまったく驚かないでしょう。
taps=4 と仮定すると、アップサンプリング((訳者註: 参考: [[アップ・サンプリング:http://blackfin.s36.coreserver.jp/2191/program/polyphase/polyphase02.shtml]]))に関しては、すべての平均化が 4 つの入力サンプルにわたって起こるようにフィルタ範囲が大きさで分けられ、これを 4 タップフィルタにします。出力画像がどれだけ大きなものになるのかは問題ではありません - 依然として 4 タップのままです。

数の上でもっとも正確なフィルタのためには、以下のように設定しなければなりません。
ダウンサンプリング(画像の縮小)については、4 つの *目的* サンプル(当然、ソースサンプルよりも広く間隔をあけられる)にわたって起こるように大きさによって分けられます。そのため、2 の倍数でのダウンサンプリング(画像を半分の大きさにする)の場合、このフィルタは 2*4=8 の入力サンプルを対象とします。すなわち、事実上の 8 タップです。さらに 3 倍のダウンサンプリングなら、事実上、3*4=12 タップとなる、といった具合になります。

b + 2 * c = 1
したがって、ダウンサンプリングに関するタップの有効数は、ダウンサンプリング率 × フィルタ入力タップ数です(要するに、''T'' 倍のダウンサンプリングと Lanczos''k''Resize は T*k タップになります)。これは、次の偶数まで切り上げられます。アップサンプリングについては、つねに ''k'' タップです。ソース: [[[avsforum の投稿]:http://archive2.avsforum.com/avs-vb/showthread.php?s=&postid=4760581#post4760581]]。

これは、b = 0 に対して、c に対する最大値 = 0.5 を与えます。これは、Catmull-Rom スプライン((訳者註: 参考: [[第3章 第5節 Catmull-Romスプライン曲線:http://markun.cs.shinshu-u.ac.jp/learn/cg/cg3/index5.html]]))であり、シャープネスのための良い提案です。
** PointResize [#p94734b4]

0.6 より大きい値になると、リンギングが始まります。リアルなシャープネスは得られなくなり、得られるものはテレビの画像のようにくっきりしています。
PointResize は、最もシンプルなリサイズフィルタです。一般に非常にブロックの目立つ画像をもたらすポイントサンプリング(Point Sampler)またはニアレストネイバー(Nearest Neighbour)((訳者註: 最近傍法、最近傍画素法とも言う。参考: [[画像補間法:http://www.geocities.jp/numada777/ip05.html]]、[[アルゴリズム入門 : 第 4 章 画像処理入門 2:http://www.microsoft.com/japan/msdn/academic/Articles/Algorithm/04/]]、[[画像縮小について (株式会社ディア Dear inc.):http://www.dear-jpn.com/main/2007/09/image_reduction.html]]))のアルゴリズムを使用します。そのため、一般的にこのフィルタは、意図的に低品質を狙う場合か、クリアなピクセル描画を必要とする場合にのみ使用すべきです。~
詳しく調べるためにピクセルの小さな領域を拡大するのに非常に役立ちます。

b については、負の値は許可されていません。そのときは、b=0 のままになります。
** Spline16Resize/Spline36Resize/Spline64Resize [#t6a868fe]

''LanczosResize'' は、 c = 0.6 〜 0.75 という非常に強いシャープを生み出す高い値を指定したときの BicubicResize の代わりとなるものです。これは、より優れた品質(だが、より少ない人工ノイズ)とシャープな画像を提供します。
3 つのスプライン((訳者註: 参考: [[情報工学演習II 第12回: スプライン補間(宮崎大学):http://eagle.cs.miyazaki-u.ac.jp/~yokomich/education/ensyu3-2006/Jn26/Jn26/Jn26.html]]))ベースのリサイズフィルタ(v2.56/v2.58 で追加)。Spline の論理的根拠は、LanczosResize よりも少ないリンギングノイズで、可能な限りシャープであることです。Spline16Resize は sqrt((訳者註: sqrt は平方根を表します。よって、sqrt(16) は、16 の平方根のうち、正の数の 4 となります。))(16)=4 つの標本点を使用し、Spline36Resize は 6 つ、Spline64Resize は 8 つの標本点を使用します。標本点が多く使用されるほど、クリップはシャープになります。リサイザ間の比較は、[[こちら:http://web.archive.org/web/20060827184031/http://www.path.unimelb.edu.au/~dersch/interpolator/interpolator.html]]にあります。

Lanczos は、多くのディテールを保持するという理由から、AviSynth のために作り出されました。御存知かもしれませんが、フレームがより多くのディテールを持てばもつほど、それを圧縮するのは困難になります。このことは、Lanczos が低ビットレートのビデオには適さ''ない''ということを意味します。これには、さまざまな設定が可能な Bicubic のほうが向いています。しかし、もし十分なビットレートが確保できるのなら、Lanczos を使ったほうがよい画像をもたらすでしょう。しかし一般的に、1CD に収まるサイズでエンコードする場合には、これを使うのはお薦めしません。なぜなら、その場合のビットレートは、つねに低いからです(もちろん、例外もあります)。
今日現在、AviSynth の作者は、Spline リサイザで使用されているような係数がどのようにして導き出されるのかわかりません。もし知っている方がいれば、ご連絡ください。

''Lanczos4Resize'' は、''LanczosResize''(正式な名前は、Lanczos3Resize)と密接に関連しています。リサイズを行うために、後者が 2*3=6 というローブを使うのに対し、前者は 2*4=8 というローブを使用します。結果として、''Lanczos4Resize'' の方がよりシャープな画像をつくり出します。とりわけ、クリップを拡大するときに役に立ちます。

'''補間タップ数(tap パラメータ)'''

「アップサンプリング(画像の拡大)の場合、そのフィルタは、平均化全体で 4 つの入力サンプルに出会うように、大きさに従って分けられます。出力画像がどれだけ大きくなろうとも問題ではありません - 4 タップのままです。ダウンサンプリング(画像の縮小)の場合、平均化は大きさに従って分けられ、4 つの *目的* サンプルに出会います。それは、当然、ソースサンプルよりも広い間隔で間をあけられます。そのため、2 の倍数によるダウンサンプリング(画像を半分の大きさにする)に関しては、このフィルタは 2*4=8 の入力サンプル、すなわち 8 タップを対象とします。3 倍のダウンサンプリングなら、3*4=12 タップを必要とする、などなど。

したがって、ダウンサンプリングのために必要なタップ数の総数は、ダウンサンプリング率×ローブの数となります(つまり、''T''倍のダウンサンプリングと Lanczos''k''Resize なら、T*2*k タップになります)。そして実際には、次の偶数まで切り上げる必要があります。アップサンプリングの場合は、つねに 4 タップです。」ソース: [[[avsforum post]:http://www.avsforum.com/avs-vb/showthread.php?s=&postid=4760581#post4760581]]。

Lanczos4Resize は、LanczosResize(taps=4) の省略形です。

''Spline16Resize'' と ''Spline36Resize''

2 つのスプラインベースのリサイズフィルタ。Spline16Resize は、Spline36Resize よりわずかに高速(v2.56 で追加)。

''GaussResize''

調節可能なシャープネス用パラメータの '''p''' (デフォルト 30)を持つ、ガウシアンリサイズフィルタを使用。'''p''' の取る範囲はおよそ 1 から 100 までで、1 は非常にぼやけ、100 はとてもシャープになります。GaussResize の処理速度は、Lanczos4Resize に似ています(v2.56 で追加)。

''PointResize'' は、考えられうる最もシンプルなリサイズフィルタです。それは、Point Sampler、もしくはニアレストネイバー法のアルゴリズムを使用しますが、通常、結果は非常にブロックの目立つ画像になります。そのため、このフィルタは、一般的に、低品質を意図する場合かクリアなピクセルの描画を必要とする場合にのみ使用されます。検査のために小さな領域を拡大するのに役立ちます。

''更新履歴:''

|v2.55|Lanczos4Resize を追加|
|v2.56|Spline16Resize、Spline36Resize、GaussResize を追加。LanczosResize に taps パラメータを追加。xxxResize の Crop 部分にオフセットを追加|
|v2.58|BlackmanResize、Spline64Resize を追加|

#hr

註: このページは、[[Resize - avisynth.org:http://www.avisynth.org/Resize]] の日本語訳です。
註: このページは、AviSynth 2.5.8 RC3 に同梱されている英語版ヘルプの日本語訳です。原文は、AviSynth をインストールしたフォルダ内の Docs/english/corefilters/resize.htm にあります。なお、このページのテキストおよび画像のライセンスは、オリジナルのそれに準じます。詳しくは、[[AboutLicense]] を参照してください。