ランチョス フィルタリングとランチョス リサンプリングは、特定の数式の 2 つの応用です。ローパス フィルタとして使用することも、サンプル間のデジタル信号の値をスムーズに補間するために使用することもできます。後者の場合、指定された信号の各サンプルを、ランチョス カーネルの変換およびスケーリングされたコピーにマッピングします。ランチョス カーネルは、2 番目の長い sinc 関数の中央ローブによってウィンドウ処理されたsinc 関数です。次に、これらの変換およびスケーリングされたカーネルの合計が、目的のポイントで評価されます。
ランチョス再サンプリングは、通常、デジタル信号のサンプリング レートを上げるか、サンプリング間隔の一部だけシフトするために使用されます。また、デジタル画像のサイズ変更や回転など、多変量補間にもよく使用されます。この目的のためのいくつかの単純なフィルターの中で「最良の妥協案」と考えられてきました。[1]
このフィルタはクロード・デュションによって発明され、デュションがフィルタの構築にランチョスによって考案された技術であるシグマ近似を使用したことから、コルネリウス・ランチョスにちなんで命名されました。 [2]
意味
ランチョス核


各入力サンプルが補間値に与える影響は、フィルタの再構成カーネル L ( x ) (ランチョスカーネルと呼ばれる)によって定義されます。これは、正規化されたsinc関数sinc( x )にランチョスウィンドウを掛け合わせたものです。またはsincウィンドウ。これは、−a≤x≤aに対して水平方向に引き伸ばされたsinc関数sinc( x / a )の中心ローブです。
同様に、
パラメータaは正の整数で、通常は 2 または 3 であり、カーネルのサイズを決定します。Lanczos カーネルには 2 つのa − 1 個のローブがあります。中央に正のローブが1 つあり、両側に a − 1 個の負と正のローブが交互に配置されています。
補間式
サンプルs iを持つ1次元信号が与えられた場合、 iの整数値に対して、任意の実引数xで補間された値S ( x )は、それらのサンプルをランチョス核で離散畳み込みすることによって得られる。 [3]
ここで、aはフィルタ サイズ パラメータ、 は床関数です。この合計の範囲外ではカーネルが 0 になります。
プロパティ
パラメータaが正の整数である限り、Lanczos カーネルはどこでも連続し、その導関数はどこでも定義され連続します (両方の sinc 関数がゼロになるx = ± aでも)。したがって、再構成された信号S ( x )も連続し、導関数も連続します。
Lanczos カーネルは、x = 0の場合を除き、すべての整数引数xでゼロになります。 x = 0の場合には値が 1 になります。したがって、再構成された信号は、指定されたサンプルを正確に補間します。つまり、すべての整数引数x = iに対してS ( x ) = s iになります。
ランチョスの再サンプリングは、ランチョスが開発した一般的な手法の1つで、切り捨てられたフーリエ級数の係数に を掛けてギブス現象に対抗するものです。ここで は係数のインデックス、 は保持する係数の数です。[4]同じ論理が、スペクトル内のギブス振動を除去したい場合にも適用されます。
多次元補間


2次元のランチョスフィルタのカーネルは
評価
利点

帯域制限された信号に対する理論的に最適な再構成フィルタは、無限サポートを持つsinc フィルタです。Lanczos フィルタは、sinc フィルタの多くの実際的な (有限サポートの) 近似の 1 つです。補間された各値は、2 a 個の連続する入力サンプルの加重合計です。したがって、2 aパラメータを変更することで、計算速度と引き換えに周波数応答を向上させることができます。このパラメータにより、より滑らかな補間とデータ内の鋭い過渡状態の保持を選択することもできます。画像処理の場合、エイリアシングアーティファクトの削減と鋭いエッジの保持の間でトレードオフが行われます。また、このような処理では、画像の境界については結果がありません。カーネルの長さを増やすと、画像のエッジのクロッピングが増えます。
ランチョス フィルタは、離散信号に対する他の補間方法、特に sinc フィルタの他のウィンドウ バージョンと比較されています。Turkowski と Gabriel は、2 次元画像データのデシメーションと補間において、ランチョス フィルタ ( a = 2 ) は、切り捨て sinc やBartlett、コサイン、Hann ウィンドウsincと比較して、「エイリアシングの低減、鮮明さ、リンギングの最小化という点で最良の妥協案」であると主張しました。[1] Jim Blinnによると、ランチョス カーネル ( a = 3 ) は「これまで見てきたどの (実現可能な) フィルタよりも低周波数を維持し、高周波数を拒否します。」[5]
ランチョス補間は、 AviSynth [6]やFFmpeg [7]などのさまざまなメディアユーティリティでビデオを「アップスケーリング」するための一般的なフィルタです。
制限事項
カーネルはa > 1に対して負の値を想定するため、すべてのサンプルが正であっても補間信号が負になることがあります。より一般的には、補間信号の値の範囲は、離散サンプル値の範囲よりも広くなる場合があります。特に、サンプル値の急激な変化の直前と直後にリンギングアーティファクトが発生し、クリッピングアーティファクトにつながる可能性があります。ただし、これらの影響は、(ウィンドウなしの)sincフィルターと比較すると軽減されます。a = 2(3ローブカーネル)の場合、リンギング は 1% 未満です。
ランチョスフィルタを使用して画像を再サンプリングすると、リンギング効果により、強いエッジに沿って明るいハローと暗いハローが生成されます。これらのバンドは視覚的に煩わしいかもしれませんが、知覚される鮮明度を高めるのに役立ち、エッジ強調の一種となります。視覚におけるエッジの鮮明度の特別な役割を考えると、これにより画像の主観的な品質が向上する可能性があります。[8]
一部のアプリケーションでは、フィルタリングの前にデータを対数領域に変換することで、低域のクリッピング アーティファクトを軽減できます。この場合、補間された値は、入力サンプルの算術平均ではなく、加重幾何平均になります。
Lanczos カーネルには、 1 の分割特性がありません。つまり、カーネルの整数変換されたコピーの合計は常に 1 になるわけではありません。したがって、定数サンプルを持つ離散信号の Lanczos 補間では、定数関数は生成されません。この欠陥は、 a = 1のときに最も顕著になります。また、a = 1の場合、補間された信号はすべての整数引数で導関数がゼロになります。これはむしろ理論的なものであり、単一ローブ カーネル ( a = 1) を使用すると、Lanczos アプローチの利点がすべて失われ、フィルターが不十分になります。より優れた単一ローブのベル型ウィンドウ関数は多数あります。
統一の分割は正規化によって導入できる。
のために。
参照
参考文献
- ^ ab Turkowski, Ken; Gabriel, Steve (1990). 「一般的なリサンプリングタスク用のフィルター」。 Glassner, Andrew S. (編)。Graphics Gems I。 Academic Press。 pp. 147–165。CiteSeerX 10.1.1.116.7898。ISBN 978-0-12-286165-9。
- ^ Claude, Duchon (1979-08-01). 「1次元および2次元におけるLanczosフィルタリング」. Journal of Applied Meteorology . 18 (8): 1016–1022. Bibcode :1979JApMe..18.1016D. doi : 10.1175/1520-0450(1979)018<1016:LFIOAT>2.0.CO;2 .
- ^ Burger, Wilhelm; Burge, Mark J. (2009). デジタル画像処理の原理: コアアルゴリズム. Springer. pp. 231–232. ISBN 978-1-84800-194-7。
- ^ ランチョス、コーネリアス (1988)。応用分析。ニューヨーク:ドーバー出版。pp. 219–221。ISBN 0-486-65656-X. OCLC 17650089.
- ^ ブリン、ジム(1998)。 Jim Blinn のコーナー: ダーティ ピクセル。モーガン・カウフマン。 26~27ページ。ISBN 978-1-55860-455-1。
- ^ 「Resize」. Avisynth. 2015-01-01 . 2015-07-27閲覧。
- ^ 「ガイド: FFDShow を使用してビデオをアップコンバートする - Neowin フォーラム」。Neowin.net。2006 年 4 月 18 日。2012年 7 月 31 日閲覧。
- ^ 「IPOL: 画像補間のための線形手法」 Ipol.im. 2011-09-27 . 2012-07-31閲覧。
外部リンク
- アンチグレインジオメトリの例:
image_filters.cppさまざまなカーネルを使用して画像を繰り返し再サンプリングした場合の比較を示します。 - imageresampler: 複数のウィンドウ付き Lanczos フィルター カーネルをサポートする C++ のパブリック ドメイン画像再サンプリング クラス。
