ミッチェル・ネトラバリ・フィルター

提供: testwiki
ナビゲーションに移動 検索に移動

ミッチェル・ネトラバリ・フィルター (Mitchell-Netravali フィルター) またはBC-スプラインは主にコンピューターグラフィックスで用いられる再構成フィルター群である。利用例としてはラスタ―画像アンチエイリアスや拡大縮小などが挙げられる。3次スプラインに含まれるため、画像処理プログラムではバイキュービック・フィルターと呼ばれることもある。

定義

パラメーターが (1/3, 1/3) の Mitchell-Netravali フィルターのグラフ

Mitchell-Netravali フィルターは再構成フィルターのアーティファクトについて調べるために設計された。区分的3次フィルターであり、幅1ピクセルの4つのを持つ。不連続曲線などの不適切なフィルターを除くと、Mitchell-Netravali フィルターの性質を特徴付ける2つのパラメーター BC が残る。Mitchell-Netravali フィルターは次のように定義される:

k(x)=16{(129B6C)|x|3+(18+12B+6C)|x|2+(62B)|x|<1の場合(B6C)|x|3+(6B+30C)|x|2+(12B48C)|x|+(8B+24C)1|x|<2の場合0その他の場合

分離 (separation) を用いて、Mitchell-Netravali フィルターの2次元版を作ることもできる。その場合、2次元フィルターは1次元フィルターによる補間を縦横の2回行うことで置き換えられる。1次元の場合、ピクセル値 P(d) をその周辺の4つのピクセルの値 P0, P1, P2, P3 を用いて表すと

P(d)=((16BC)P0+(32BC+2)P1+(32B+C2)P2+(16B+C)P3)d3+((12B+2C)P0+(2B+C3)P1+(52B2C+3)P2CP3)d2+((12BC)P0+(12B+C)P2)d+16BP0+(13B+1)P1+16BP2

となる。ただし、PP1P2 の間に位置し、dP1P の距離である。

特殊な場合

Mitchell-Netravali フィルターで再構成した画像の主観的評価。破線は開発者が推奨するパラメーターを示す。

パラメーター BC の選び方によって違ったアーティファクトが発生しうる (図を参照)。開発者が推奨する値の組み合わせは B+2C=1 で、特に B=C=13 である。

特定のパラメーターの組み合わせで、既知の3次スプラインを表せる:

GIMPのバイキュービック・フィルター (B=0, C=0.5) と拡大図

テンプレート:-

Paint.NETのバイキュービック・フィルター (B=1, C=0) と拡大図

テンプレート:-

外部リンク

参考文献

  • Don Mitchell, Arun Netravali: Reconstruction Filters in Computer Graphics. ACM SIGGRAPH Computer Graphics 22, 4 (Aug. 1988): 221–228, テンプレート:ISSN
  • Matt Pharr, Greg Humphreys: Physically Based Rendering. From Theory to Implementation, S. 279–367. Morgan Kaufmann, London 2004, ISBN 01-2553-180-X (PDF, 7 MB)