1組の離散したサンプル点から画像を生成するための方法及びシステム
【課題】 1組の離散したサンプル点から画像を生成する方法を提供する。
【解決手段】 そのサンプル点は3Dボリュームあるいは表面を画定することができる。各離散したサンプル点はスクリーン空間に投影される。各サンプル点のための連続リサンプリングフィルタがスクリーン空間内に生成される。連続リサンプリングフィルタは、スクリーン空間内のサンプル点のための連続復元関数と連続フィルタ関数との組み合わせである。その後、連続リサンプリングフィルタは、スクリーン空間内の各対応する離散したサンプルに適用され、画像のための連続したサンプルが生成される。連続したサンプルは、任意の既知のラスタ化プロセスあるいは方法を用いて、ピクセルにラスタ化されることができる。
【解決手段】 そのサンプル点は3Dボリュームあるいは表面を画定することができる。各離散したサンプル点はスクリーン空間に投影される。各サンプル点のための連続リサンプリングフィルタがスクリーン空間内に生成される。連続リサンプリングフィルタは、スクリーン空間内のサンプル点のための連続復元関数と連続フィルタ関数との組み合わせである。その後、連続リサンプリングフィルタは、スクリーン空間内の各対応する離散したサンプルに適用され、画像のための連続したサンプルが生成される。連続したサンプルは、任意の既知のラスタ化プロセスあるいは方法を用いて、ピクセルにラスタ化されることができる。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、全般にコンピュータグラフィクスに関し、より詳細には、スプラッティング法を用いて3次元ボリュームおよび点サンプルデータをレンダリングすることに関する。
【0002】
【従来の技術】レーザレンジの走査、および画像ベースの走査を行うことにより、複雑で、見た目にも見事な3次元(3D)画像を生成することができる。しかしながら、走査は著しい数の点サンプルを生成する。これ以降、点サンプルは(x,y,z)座標を有する空間内の0次元の点として定義される。典型的には、点サンプルは、接続性情報を持たない。すなわち、点サンプルは関連付けられることがないか、あるいは連結されることはない。これにより、点サンプルを画像としてレンダリングすることが困難になる。
【0003】点サンプルを接続するための1つの一般的な方法は、多角形(三角形)メッシュを用いて、そのメッシュをレンダリングすることである。しかしながら、メッシュの中にはインタラクティブにレンダリングされるにはあまりに大きすぎるものもあり、多くの応用形態は、多角形の減少から生じる幾何学的な精度およびテクスチャ忠実度に特有の損失を許容することができない。最近の成果は、無接続の点サンプルを直接にレンダリングすることに集中している。これらの技術は、階層データ構造および前方ワーピングを用いて、点サンプルを効率的にレンダリングする。
【0004】点レンダリングのための1つの重要な試みは、不規則に間隔をおいて配置された点サンプルから、連続した表面の画像を適当に復元することである。その画像は正確で、点サンプルがレンダリングされる順序とは無関係でなければならない。非常に多くの場合に、点サンプルは、走査される画像の高いテクスチャ忠実度を保持しながら、連続した不透明な、あるいは半透明の表面として現れなければならない。さらに点レンダリングは、隠れた表面の除去および透明性を正確に取り扱うべきである。
【0005】従来技術では、点サンプル間の表面領域を「埋める」(fill-in)ために、テクスチャマッピングが頻繁に用いられる。テクスチャマッピングは、モデル表面上に、色、法線あるいは他の材料の特性のための関数をマッピングすることにより、モデルの視覚上の複雑さを増大させる。これらのテクスチャ関数が不適当に帯域制限される場合には、ラスタ画像への投影中に、テクスチャエイリアシングが生じる場合がある。さらに、テクスチャマッピングは主に表面レンダリングのために用いられる。ボリュームレンダリングは、科学技術上の応用形態において、取得され、シミュレートされたデータセットを視覚化するために重要である。ボリュームレンダリングは、離散したサンプル点から3D関数を復元し、その3D関数をスクリーン空間に変換し、その後、「レイ」(rays)と呼ばれる視線に沿って不透明度の積分を数値計算する。
【0006】インタラクティブなボリュームレンダリングでは、スプラッティングがこれらの手順を近似する。Westoverによる「Interactive Volume Rendering」(Upson,editor, Proceedings of the Chapel Hill Workshop on Volume Visualization, pages 9-16, University of North Carolina at Chapel Hill, Chapel Hill,NC, May 1989)を参照されたい。Westoverによる論文は、エイリアシング問題を取り扱わず、それにより階段状のぎざぎざの輪郭エッジ、テクスチャ内の波紋(モアレ)模様などの顕著なアーティファクトが生じる。
【0007】スプラッティングを用いる場合、ボリュームデータは、各粒子、ボクセル、あるいは離散したサンプル点に対して1つの核を有する、3D復元核の領域として解釈される。各3D復元核は光を吸収、かつ放射する。積分は、各3D核にわたって個別に予め決定され、結果として「フットプリント」(footprint)関数を生成する。各フットプリント関数は、画像内の隣接するピクセルにわたって各点の分布を「拡散する」(spreads)。典型的には、プリントフットの広がりは約2〜5ピクセルである。3Dボリュームの各離散したサンプル点の「塗りつけられた」(smeared)寄与は、前から後、あるいは後から前の順に合成、すなわち蓄積され、出力画像のピクセルを生成する。
【0008】従来技術のスプラッティングは、後から前の順にスプラットを合成する際に、不正確な視認上の判定に陥る。これにより、色のブリージングのような目に見えるアーティファクトが生じる。この問題は、軸を揃えたシートバッファを用いることにより解決することができる。Westoverによる「Footprint Evaluation forVolume Rendering」(Computer Graphics, Proceedings of SIGGRAPH 90, pages 367- 376, 1990)を参照されたい。しかしながら、その解決法は、動画において妨げになる「ポッピング」(popping)アーティファクトを生成する。
【0009】ポッピングは、動画の流れにおいて次の画像との間に生じる不連続な強度の変化を表現するために用いられる用語である。またシートバッファは、画像平面に平行に揃えることもできる。Mueller他による「Eliminating Popping Artifactsin Sheet Buffer-Based Splatting」(IEEE Visualization '98, pages 239 -246, 1998)を参照されたい。またシートバッファは、各3D復元核のいくつかのスライスを個別にスプラッティングする。その技術は、スライスを用いるボリュームレンダリングと類似であり、ポッピングアーティファクトを生じることはない。
【0010】スプラッティングは、透視投影を用いてレンダリングを促進するために、レイキャスティング技術と組み合わせることができる。階層的スプラッティングによって、レンダリング中に段階的に精緻化できるようになる。さらに、スプラッティングは、ウェーブレットとして表されるボリュームデータセットにおいても適用することができる。
【0011】エイリアシングアーティファクトは、発散する視線(レイ)に沿ったサンプリングレートがボリューム格子サンプリングレート未満に落ち込むボリュームの領域において生じる場合がある。距離に依存する関数はフットプリントを「伸長し」(stretch)、フットプリントをローパスフィルタとして機能させることができる。Swan他による「Anti-Aliasing Technique for Splatting」(Proceedingsof the 1997 IEEE Visualization Conference, pages 197- 204, 1997)を参照されたい。Swanによる方法は、サンプルと画像平面との間の距離に応じてフットプリントの大きさを調整する。Swanによる方法は、以下においてより詳細に区別される。
【0012】直交、曲線、あるいは不規則格子の場合のように、3D復元核が径方向に対称でないときには、さらに配慮されなければならない。さらに、3D空間内の任意の位置の場合に、全ての核からの寄与が1まで加算されなければならない。そうしないと、画像内に斑点のようなアーティファクトが生じる。直交格子の場合に、楕円形のフットプリントが円形のフットプリントに歪むようになる。Westoverによる「Interactive Volume Rendering」(Upson, editor, Proceedings of the Chapel Hill Workshop on Volume Visualization, pages 9-16, University of North Carolina at Chapel Hill, Chapel Hill, NC, May 1989)を参照されたい。曲線格子をレンダリングするために、確率的なポアソンリサンプリングによって、そのフットプリントが球あるいは楕円体である1組の新しい点を生成することができる。Maoによる「Splatting of Non Rectilinear Volumes Through Stochastic Resampling」(IEEE Transactions on Visualization and Computer Graphics, 2(2):156- 170, 1996)を参照されたい。
【0013】Heckbertによる「Fundamentals in Texture Mapping and Image Warping」(Master' s Thesis, University of California at Berkeley, Department of Electrical Engineering and Computer Science, 1989)は、楕円重み付け平均(EWA)フィルタを用いて、表面テクスチャのエイリアシングを回避するレンダリング方法を記載する。しかしながら、その方法は、2Dの規則的にサンプリングされたテクスチャにおいてのみ動作する。言い換えると、その方法は、不規則な点サンプルあるいはボリュームデータセットで直接に用いることができない。
【0014】
【発明が解決しようとする課題】それゆえ、本発明の目的は、従来技術のスプラッティング技術で生じる、輪郭の不鮮明さ、エイリアシング、ポッピングおよび他の煩わしいアーティファクトを生じることなく、不規則に配置されたサンプル点を含むボリュームデータセットをレンダリングすることができるスプラッティング法を提供することである。
【0015】
【課題を解決するための手段】本発明は、楕円形の3Dガウス復元核関数の投影と、楕円形の2Dガウスローパスフィルタとを組み合わせて、スクリーン空間内に1つのスプラットプリミティブを生成する新規のレンダリング方法、すなわちEWA連続リサンプリングフィルタを提供することである。この2D EWAリサンプリングフィルタは、スクリーン空間内の離散したサンプル点に直接に適用されることができる。本発明によるEWAリサンプリングフィルタは、画像内のエイリアシングアーティファクトおよび過度の輪郭の不鮮明さを防ぐ。さらに、本発明は、任意の楕円3Dガウス復元核および任意のガウスローパスフィルタ関数を取り扱い、直交、曲線および不規則なボリューム、ならびに透視投影に効率的に対応する。
【0016】本発明による方法は、連続2D EWAリサンプリングフィルタを決定するための新規の構成に基づく。その方法は、物体空間において定義されるボリュームデータセット、あるいは任意の他の離散したサンプル点のセットを、最初はカメラ空間に、その後レイ空間に、そして最後にスクリーン空間に変換することが有効である。この変換は、投影、たとえば透視投影あるいは正投影に等価である。各離散したサンプル点において局所アフィン近似を用いることにより、本発明は、連続3D復元核と2Dフィルタ関数とを組み合わせて、1つの解析的表現、すなわち連続2D EWAリサンプリングフィルタを生成する。その際、連続した画像を復元するために、連続EWAリサンプリングフィルタを、スクリーン空間内の各離散したサンプル点に適用する。その後、連続した画像は、たとえば、全てのリサンプリングフィルタのための1つの1Dフットプリントテーブルと、任意の視認方向とによる前方差分を用いるレンダリングエンジンによって直接にラスタ化することができる。連続関数を出力画像のピクセルに変換するために他のレンダリング技術を用いることもできる。
【0017】本発明によるスプラットプリミティブは、従来のスプラッティング法と容易に組み合わせることができる。このスプラッティングプリミティブの自由度のため、直交、曲線あるいは不規則なボリュームデータセットをレンダリングするために用いることができる。連続リサンプリングフィルタをボリューム勾配に沿って「平坦化する」(flattening)ことにより、高品質の等値面レンダリングのために適した表面スプラットを容易に計算することができる。
【0018】より具体的には、本発明は、1組の離散したサンプル点から画像を生成するための方法を提供する。サンプル点は、3Dボリュームあるいは表面を画定することができる。各離散したサンプル点は、スクリーン空間に投影される。各サンプル点のための連続リサンプリングフィルタがスクリーン空間内に生成される。連続リサンプリングフィルタは、スクリーン空間内のサンプル点に対する、連続復元関数と連続フィルタ関数との組み合わせである。その際、連続リサンプリングフィルタは、スクリーン空間内の各対応する離散したサンプルに適用され、その画像のための連続したサンプルが生成される。連続したサンプルは、任意の既知のラスタ化プロセスあるいは方法を用いてピクセルにラスタ化することができる。
【0019】
【発明の実施の形態】最初に、連続した3D復元核を適用することができるように、1組の離散したサンプル点、たとえばボリュームデータセットにおいて実行される投影について記載される。その後、本発明による解析的なEWAスプラッティングプリミティブが如何に導出されるかを記載する。
【0020】ボリュームレンダリングパイプラインボリュームレンダリングに対しては2つの基本的なアプローチがある。後方マッピングでは、視線(レイ)が、画像平面内のピクセルからボリュームデータセットに向けられる。前方マッピングは、ボリュームデータセットを画像平面上に直接にマッピングする。
【0021】図1に示されるように、本発明による方法は、前方マッピングレンダリングエンジン100を用いる。本発明では、用語「空間」および「座標系」を同義に用いることに留意されたい。
【0022】物体空間102において定義される、1組の離散したサンプル点、たとえばボリュームデータセット101が、視野変換(ビューイング変換)110によってカメラ空間103に変換され、全ての任意的な視点からサンプルをレンダリングできるようにする。カメラ空間103は、その原点が投影の中心になるように定義される。その後、投影マッピング120がそのサンプルをレイ空間104に変換する。レイ空間は非デカルト座標系であり、レンダリング方程式を容易に定式化できるようにする。レイ空間では、ビューイングレイは座標軸に平行であり、レンダリング関数の解析的な積分を容易にする。ステップ130は、レイ空間内のサンプルにおいて、サンプル分類、シェーディングおよび積分を実行する。ステップ130の出力は、スクリーン空間105内にある。最後に、ビューポート変換140が、ビューポート空間106において出力画像109を生成する。
【0023】前方マッピングパイプラインにおけるサンプル分類およびシェーディングに関する詳細については、Mueller、T.MoellerおよびR.Crawfisによる「Splatting Without the Blur」(Proceedings of the 1999 IEEE Visualization Conference,pages 363- 370, October 1999)を参照されたい。
【0024】スプラッティング手順図2aは従来技術のレイキャスティングを示す。図2bは本発明により用いられるスプラッティングプロセスの構成を示す。その効率のため、スプラッティングプロセスは、最も一般的な前方マッピングボリュームレンダリング技術に属する。Mueller他およびL.Westoverによる「Footprint Evaluation for Volume Rendering」(Computer Graphics, Proceedings of SIGGRAPH 90, pages 367- 376, 1990)を参照されたい。
【0025】本明細書では、従来の表記法を変更し、レイ空間104に関する本発明による表現を記載する。3つの座標x=(x0,x1,x2)Tのベクトル201によって、レイ空間104内の離散したサンプル点が示される。ただしTは、このベクトルが転置されること、すなわち列ベクトルであって、行ベクトルでないことを示す。投影の中心202および投影平面203を与えると、これらの3つの座標は幾何学的に以下のように解釈される。
【0026】座標x0およびx1は、投影平面上の点を指定する。投影の中心および投影平面上の点(x0,x1)を交差するレイ204は、ビューイングレイと呼ばれる。省略形(^)x=(x0,x1)を用いるとき、(x0,x1)を通過するビューイングレイは(^)x209として示される。第3の座標x2 205は、投影の中心202からビューイングレイ上の点までのユークリッド距離を指定する。なお、(^)xは、xのハットを表わす。
【0027】表記を簡単にするために、本明細書では、レイ空間内の3D点を表すために、同義表現x、((^)x,x2)Tあるいはx=(x0,x1,x2)Tのうちの任意のものが用いられる。
【0028】ボリュームレンダリング方程式の低アルベド近似は、長さLを有するレイ(^)xに沿って投影の中心に達する、波長λの光強度Iλ(^)xを以下のように記述する。
【0029】
【数1】
【0030】ただし、g(x)211は光オクルージョンの割合を定義する消衰関数であり、cλ(x)212は放出係数である。指数項は、減衰定数と解釈することができる。最後に、積cλ(x)g(x)は、光源項と呼ばれる。光源項は、点x2においてレイ(^)x209の方向に散乱される光強度を記述する。N.Maxによる「Optical Models for Direct Volume Rendering」(IEEE Transactionson Visualization and Computer Graphics, 1(2):99- 108, 1995)を参照されたい。
【0031】消衰関数g(x)は、係数gkと3D復元核rk(x)213との重み付けされた和である。これは、ボリュームデータセットが光を吸収、放射する個々の離散したサンプル点によって表される物理モデルに対応する。それゆえ、消衰関数は以下の通りである。
【0032】
【数2】
【0033】このモデルでは、3D復元核rk(x)は、個々のサンプル点の位置および形状を反映する。本発明を用いると、サンプル点を不規則に配置することができ、形状は異なってもよく、それゆえ、式(2)の表現は規則的なボリュームデータセットに限定されない。式(2)を式(1)に代入すると、以下の式が生成される。
【0034】
【数3】
【0035】この関数を数値計算するために、スプラッティングアルゴリズムは、図2bに示されるいくつかの簡略化する仮定を行う。通常、3D復元核rk(x)は局所的に対応する。ここでは、これらの局所的な対応領域はレイに沿って重なり合うことはなく、復元核は前から後に順序付けされるものと仮定される。また、放出係数は、レイに沿った各復元核の対応領域において一定であるものと仮定される。さらに、その指数関数は、テイラー展開の最初の2項で近似される。最後に、自己オクルージョンは無視される。これらの仮定によれば、式(3)は以下のように書き換えられる。
【0036】
【数4】
【0037】ただし、qk((^)x)は積分された復元核を示し、それゆえ以下の通りである。
【0038】
【数5】
【0039】式(4)は本発明のEWAスプラッティング法の基になる。
【0040】L.Westoverによる「Footprint Evaluation for Volume Rendering」(Computer Graphics, Proceedings of SIGGRAPH 90, pages 367- 376, 1990)は、復元核qkを積分するためのフットプリント関数を記載する。そのフットプリント関数は、画像のピクセルに対する各サンプル点の寄与を指定する。図2bに示されるようなボリュームレンダリングでは、ビューイングレイ205に沿って復元核を積分することは(231−231)、1つのボリューム復元核を画像平面上に投影し、フットプリント関数qkの解を求めることに類似である。座標(^)x=(x0,x1)Tはスクリーン座標とも呼ばれ、Iλ((^)x)およびqk((^)x)はスクリーン空間105において定義される。
【0041】スプラッティングは、予め積分された復元核を用いることができるため、効率的である。ここで、各サンプル点の画像平面上への投影が、2Dのたたみ込みを用いて決定される。対照的に、レイキャスティング法は、各サンプル点に対して3Dのたたみ込みを必要とする。したがって、スプラッティング法は、レンダリング効率に関して特有の利点を有する。さらに、スプラッティングは、レイキャスティングによって典型的に用いられる3本線の核より大きな範囲を有する、より高品質の核を容易に利用できるようにする。
【0042】しかしながら、従来技術のスプラッティング法は、不正確な視認上の判定のため、アーティファクトによる劣化が生じる。この問題は、復元核が重なり合わず、後から前に順序付けされるものと仮定することにより不可避に導入される。従来技術のスプラッティング法は、画像を拡大して見る場合に、輪郭が不鮮明になる傾向もある。
【0043】本発明は、画像の輪郭が不鮮明になることのない高品質のアンチエイリアシングを提供する新規のスプラットプリミティブを提供する。それは、3D楕円復元核に効率的に対応する。さらに、そのスプラットプリミティブは、既知のレンダリングプロセスおよびパイプラインと適合性がある。
【0044】レンダリングにおけるエイリアシングエイリアシングは、全てのレンダリングモデル方法の基本的な問題である。連続した画像が離散的なラスタ格子、すなわちピクセル格子に対してサンプリングされる際には必然的にエイリアシングが生じる。エイリアシングによって、ぎざぎざの輪郭エッジおよびテクスチャの波紋模様のような視覚的なアーティファクトが生じる。典型的には、これらの問題は、動画中に最も大きな妨げになる。信号処理の視点から、エイリアシングへの理解を進めることができる。連続関数は、離散したサンプリング格子のナイキスト周波数を考慮するために帯域制限されなければならない。これは、サンプリングされる画像内のエイリアシングによるアーティファクトが生じないことを保証する。
【0045】ここで、図2bのスプラッティングプロセスを帯域制限する方法が記載される。このスプラッティングの式(4)は、出力画像を、スクリーン空間内の連続関数Iλ((^)x)として表す。エイリアシングによるアーティファクトを生じることなく、この連続関数を離散した出力画像に適当にサンプリングするために、その関数は、離散した画像のナイキスト周波数に一致するように帯域制限されなければならない。
【0046】この帯域制限は、Iλ((^)x)を適当なローパスフィルタh((^)x)でたたみ込むことにより達成され、アンチエイリアシングされたスプラッティングプリミティブが生成される。
【0047】
【数6】
【0048】Iλ((^)x)は式(4)の連続関数として定式化されるが、実際には、この関数は離散した位置、すなわちピクセルの中央においてのみ解を有する。それゆえ、式(6)の積分をやり直すために、2つの簡略化する仮定が行われる。これにより、効率的に数値計算することができる近似が導かれる。第1に、放出係数が各フットプリントqkの対応領域において近似的に一定である場合には、その対応領域内の全ての(^)xの場合にcλk((^)x)≒cλkである。放出係数が、ビューイングレイに沿った各復元核の対応領域において一定である場合には、その放出係数は、各復元核の完全な3D対応において一定である。言い換えると、アンチエイリアシングのためにシェーディングの効果が無視される。同様に、これは表面テクスチャをアンチエイリアシングするための一般的なアプローチでもあることに留意されたい。
【0049】第2に、減衰定数が、各フットプリント関数の対応領域において近似的に一定の値okを有するものと仮定される。それゆえ、その対応領域内の全ての((^)x)の場合に以下の式が成り立つ。
【0050】
【数7】
【0051】減衰定数の変動は、基底関数が部分的に、1組の離散したサンプル点内のより不透明な領域によって覆われることを指示する。それゆえ、この変動は、「ソフト」エッジとして解釈することができる。そのような状況を無視することは、エッジエイリアシングを防ぐことができないことを意味する。再びこれは表面をレンダリングすることに類似であり、その場合に、エッジおよびテクスチャエイリアシングは異なるプロセスによって同様に取り扱われる。
【0052】これらの簡略化を用いると、式(6)を以下のように書き換えることができる。
【0053】
【数8】
【0054】ここで、
【0055】
【数9】
【0056】を理想的なリサンプリングフィルタと呼ぶ。このリサンプリングフィルタは、フットプリント関数qkとローパスフィルタhとを組み合わせる。それゆえ、フットプリント関数qkを理想的な連続リサンプリングフィルタρkで置き換えることにより、アンチエイリアシングされたスプラッティングが実行される。これは、出力関数Iλ((^)x)全体を帯域制限する代わりに、各フットプリント関数が個別に帯域制限されることを意味する。
【0057】上記の条件下で、本発明によるスプラッティングは、ラスタ画像のナイキスト周波数を考慮する帯域制限された出力関数を生成し、それゆえ、エイリアシングによるアーティファクトを回避する。復元核はレイ空間において積分され、結果として、ボリュームにわたって大きさおよび形状が著しく変化するフットプリント関数が生成されることを思い起こされたい。それゆえ、1つの利点として、本発明の復元核は大きな空間多様性を有する。
【0058】フットプリントの一様なスケーリングに基づく、スプラッティングのためのアンチエイリアシング技術は、Swan他による文献によって記載される。その技術は、径方向に対称なフットプリントの場合にのみ良好な結果を生成する。しかしながら、さらに一般的な核の場合、たとえば楕円形の核の場合、Swan他の文献による一様なスケーリングは、理想的なローパスフィルタ処理を良好に近似しない。Swan他による文献の技術は、エイリアシングを回避するために、さらに輪郭を不鮮明にしてしまう。対照的に、本発明の方法は、以下に記載されるように、これらの場合において一様でないスケーリングを提供し、優れた画像品質に導く。
【0059】楕円重み付け平均ガウス復元核ここで、有利な特徴を有するため、楕円3Dガウス復元核が選択される。ガウス復元核は、アフィンマッピングおよびたたみ込みによって閉塞され、1つの座標軸に沿って3Dガウス復元核を積分する結果として、2Dガウス復元核が生成される。これらの特性によって、以下に記載されるように、1つの2Dガウスによる式(8)の連続リサンプリング核を解析的に表現できるようになる。
【0060】このセクションでは、連続した復元核の特徴を如何に利用するかについて記載する。
【0061】点pを中心した楕円ガウスGv(x−p)は分散行列Vを用いて以下のように定義される。
【0062】
【数10】
【0063】ただし、|V|はVの行列式である。この形では、ガウス核は単位積分に正規化される。ボリューム復元核の場合、Gvは3D関数であり、それゆれ、Vは対称な3×3の行列であり、xおよびpはそれぞれベクトル(x0,x1,x2)Tおよび(p0,p1,p2)Tである。
【0064】ここで、任意のアフィンマッピングu=Φ(x)がこのガウス核に適用される。そのアフィンマッピングはΦ(x)=Mx+cである。ただしMは3×3行列であり、cはベクトル(c0,c1,c2)Tである。式(9)にx=Φ−1(u)を代入すると、以下の式が生成される。
【0065】
【数11】
【0066】さらに、分散行列VおよびYを有する2つのガウス関数をたたみ込むと、分散行列V+Yを有する1つのガウス関数が生成される。
【0067】
【数12】
【0068】最後に、1つの座標軸に沿って3Dガウス関数Gvを積分すると、2Dガウス関数G(^)vが生成される。それゆえ、
【0069】
【数13】
【0070】である。ただし、(^)x=(x0,x1)Tおよび(^)p=(p0,p1)Tである。2×2の分散行列(^)Vは第3の行および列を省略することにより、3×3行列Vから求められる。
【0071】
【数14】
【0072】ビューイング変換3D復元核が最初に、座標t=(t0,t1,t2)Tを有する物体空間102において定義される。物体空間内の核は以下の式によって表される。
【0073】
【数15】
【0074】ただしtkは物体空間内のサンプル点である。規則的なボリュームデータセットの場合、分散行列Vk”は通常、単位行列である。直交データセットの場合、分散行列は、行列成分が各座標軸に沿ったサンプル点間の距離の二乗を含む対角行列である。曲線ボリュームの場合、分散行列は、Mao他による「Splattingof Curvilinear Volumes」(IEEE Visualization '95 Proc., pages 61- 68, 1995)に記載されるように決定することができる。
【0075】ここで、ベクトルu=(u0,u1,u2)Tはカメラ空間103の座標を表す。物体座標は、ビューイング変換110と呼ばれる、アフィンマッピングu=ψ(t)を用いて、カメラ空間に変換される。それは行列Wと、平行移動ベクトルdとによってψ(t)=Wt+dとして定義される。ここで、t=ψ−1(u)を代入し、式(10)を用いて、以下の式を生成することにより、復元核GVk’’=(t−tk)がカメラ空間に変換される。
【0076】
【数16】
【0077】ただし、uk=ψ(tk)は、カメラ座標内のガウス復元核の中心であり、rk’(u)はカメラ空間内の復元核を表す。式(10)によれば、カメラ座標Vk’内の分散行列は、Vk’=WVk”WTによって与えられる。
【0078】投影変換投影変換120は、図3aに示されるようなカメラ座標を、図3bに示されるようなレイ座標に変換する。カメラ空間は、カメラ空間の原点が投影の中心301にあり、投影平面が平面302u2=1であるように定義される。カメラ空間およびレイ空間は、マッピングx=m(u)によって関連付けられる。それゆえ、上記のレイ空間の定義を用いて、m(u)およびその逆行列m−1(u)は以下の式によって与えられる。
【0079】
【数17】
【0080】および
【0081】
【数18】
【0082】ただし、このマッピングはアフィン的ではなく、式(10)を、カメラ空間からレイ空間に復元核を変換するために直接に適用することができないという問題がある。
【0083】この問題を解決するために、投影変換の局所的アフィン近似mukが与えられる。この近似は、点xk303におけるmのテイラー展開の最初の2項によって定義される。
【0084】
【数19】
【0085】ただし、点xk304はm(uk)に等価であり、レイ空間内のガウス復元核の中心である。ヤコビアンJukは、点uk303におけるmの偏導関数によって与えられる。
【0086】
【数20】
【0087】以下では、下付き文字ukは省略され、それゆえm(u)は、式(17)の局所的アフィン近似を表す。式(14)にu=m−1(x)を代入し、式(10)を適用して、復元核をレイ空間104にマッピングし、rk(x)のための所望の表現を生成する。
【0088】
【数21】
【0089】ただし、Vkはレイ座標の分散行列である。式(10)によれば、Vkは以下の式によって与えられる。
【0090】
【数22】
【0091】一様あるいは直交サンプルセットの場合、Vk’はフレーム当たり一度だけ決定されなければならないことに留意されたい。なぜなら、Vk”は全てのサンプル点の場合に同じであり、Wはフレーム間でのみ変化するためである。
【0092】しかしながら、ヤコビアンが各サンプル点の場合に異なるため、Vkは各サンプル点の場合に再度計算されなければならない。曲線あるいは不規則なボリュームの場合には、各3D復元核は個別の分散行列Vk”を有する。本発明による方法は、3×3行列の乗算を一回追加することしか必要とせずにこの状況を的確に取り扱う。
【0093】対照的に、従来技術の方法は、最初にスクリーン空間内のその投影される範囲を決定し、その後その投影を円形のフットプリントにマッピングすることにより、異方性の3D復元核に労力をかけて対処する。それらの方法は計算にコストがかかり、Mueller他およびSwan他によって指摘されるように、復元核の積分の良好な近似にはならない。
【0094】図4aは本発明の復元核のカメラ空間103へのマッピングを示し、図4bはレイ空間104への局所的アフィンマッピングを示し、図4cは、レイ空間内の厳密なマッピングを示す。図4cは、厳密なマッピングにおいて非線形の効果を示すために誇張されている。局所的アフィンマッピングは、レイがそれぞれukあるいはxk402を通過する場合にのみ正確である。アフィンマッピングは基本的に不透明な正投影で透視投影を近似する。それゆえ、平行線は保存され、近似誤差はレイの発散が増大するとともに大きくなる。しかしながら、一般にその誤差によっては視覚的なアーティファクトは生じない。なぜなら、復元物と交差する扇形のレイが、核の局所的な対応領域に起因して小さな開き角しか持たないためである。
【0095】従来技術のスプラッティングは典型的には、フットプリント関数のカメラ空間内の多角形へのマッピングで開始する。次のステップでは、スプラッティングされた多角形がスクリーン空間に投影され、その後、フットプリント画像にラスタ化される。しかしながら、それは著しい計算作業を必要とする。
【0096】対照的に、本発明によるスプラッティングは、1組のサンプル点をスクリーン空間105に効率的に投影し、ヤコビアンの計算と、2つの3×3行列の乗算としか必要としない。その後、本発明による連続リサンプリング核は、スクリーン空間内のサンプル点に直接適用される。
【0097】積分および帯域制限本発明によれば、式(5)にしたがって式(18)のガウス復元核を積分し、ガウス(連続)基底関数qkを生成する。
【0098】
【数23】
【0099】ただし、基底関数の2×2の分散行列Vkqは、式(13)に示されるように、最後の行および列を省略することによりVkから求められる。最後に、ガウス(連続)ローパスフィルタ関数h=GVh((^)x)が選択される。ただし、分散行列Vh∈R2×2は典型的には単位行列である。式(11)を用いると、式(8)におけるたたみ込みを的確に決定することができ、本発明による連続EWAリサンプリングフィルタを生成することができる。
【0100】
【数24】
【0101】3Dから2Dへの連続復元核の低減本発明のEWA連続復元核は任意のガウス核であるので、復元核の形状を適当に選択することにより、ボリュームデータセットを正確にレンダリングすることができる。たとえば、表面法線の方向に沿って本発明の連続復元核を平坦化することにより、等値面レンダリングの精度を改善することができる。
【0102】また、極微の平坦な連続復元核は、ガウス表面テクスチャ復元核に等価である。言い換えると、本発明の3Dのボリューム復元核を2Dの表面復元核に平坦化することにより、ボリュームデータセットから表面表現を直接に抽出し、レンダリングすることができる。
【0103】図5は、本発明による3Dおよび2D連続復元核を用いるレンダリングを示す。一方向に1/sだけ球状のガウス復元核502をスケーリングする(520)ことにより、物体空間102内に「平坦化された」ガウス復元核501が構成される。それゆえ、その分散行列は以下の通りである。
【0104】
【数25】
【0105】スケールファクタs=1は球状の3D核に対応する。極限では、s=∞の場合に、円形の2D核が得られる。復元核501〜502をレンダリングするために、ビューイング変換をともなう任意のモデリング変換を含む場合がある、3Dビューイング変換行列Wを最初に適用する。その後、式(17)の局所的アフィン近似を用いて、その核をレイ空間にマッピングする。レイ空間内の復元核の分散行列Vは、式(19)にしたがって決定される。行列T3Dは、連結された3Dマッピング行列T3D=JWを表し、Vは以下の式で表される。
【0106】
【数26】
【0107】それゆえ、Vの成分vijは以下に与えられる。
【0108】
【数27】
【0109】ただし、tijはT3Dの成分を表す。復元核を積分することにより、2Dガウス基底関数が決定される。式(13)によれば、その2D分散行列は、Vの第3の行および列を省略することにより求められる。sが無限大に近づくにつれて、以下の2D分散行列が得られる。
【0110】
【数28】
【0111】便宜的に、2D分散行列は2DマッピングT2Dに分解されることができ、T2Dは第3の行および列を省略することにより3Dマッピング行列から求められる。
【0112】
【数29】
【0113】ここで、2Dマッピング行列T2Dが解析される。最初に、投影マッピングのヤコビアンJのための陽関数表現を計算する。式(15)を用いて、それは以下の式によって与えられる。
【0114】
【数30】
【0115】ただし、l’=‖(u0,u1,u2)T‖である。l’=‖(u0,u1,u2)T‖を用いると、Jの最初の2つの行およびWの最初の2つの列を用いて、T2Dが以下の式に分解される。
【0116】
【数31】
【0117】ただし、wijはWの成分である。
【0118】図6に示されるように、これは、2Dから3Dへのパラメータ化601と3Dから2Dへの投影602とを連結し、合成2D−2Dマッピング603を生成することと解釈することができる。
【0119】第1の段階は3D平面のパラメータ化である。それは、各円形の2Dテクスチャ核610を、3Dカメラ空間103内の2つのベクトル(w00,w10,w20)T621および(w01,w10,w21)T602によって定義される平面611上にマッピングし、結果的に楕円603を生成する。第2の段階は、付加的なスケールファクタ1/u2を用いる斜平行投影であり、それは透視投影の局所的アフィン近似である。最後に、式(8)のように、楕円基底関数とローパスフィルタとを組み合わせることにより、本発明によるテクスチャフィルタが生成される。
【0120】ボリュームスプラッティング法ボリュームスプラッティング法は、最も基本的な形では、以下の擬似コードによって表現することができる。
【0121】
【数32】
【0122】各サンプル点P[k]{スクリーン空間にP[k]を投影;
リサンプリング核ρ[k]を決定;
P[k]とρ[k]とをスプラッティングし、ピクセルp[x]を生成;
各p[x]{p[x]をシェーディング}
【0123】以下のセクションでは、テクスチャ取得と、点サンプリングされた物体および表面のためのマッピングとを実行し、透明な物体、モデルおよび表面を取り扱い、かつエッジアンチエイリアシングを実行するために、本発明のスプラッティング法が拡張される。
【0124】テクスチャフィルタおよび点サンプリングされたモデル従来の多角形レンダリングでは、通常、テクスチャ座標は各頂点に対して格納される。これにより、レンダリングエンジンは、2Dテクスチャ、3D物体および2Dスクリーン空間の間のマッピングを、テクスチャとスクリーン空間との間の合成2D−2D直接マッピングと組み合わせることができるようになる。このマッピングを用いるとき、ピクセルの色は、レンダリング時に、2Dテクスチャ空間内のテクスチャサンプルを探索し、フィルタリングすることにより決定される。
【0125】しかしながら、合成マッピング関数は、レンダリング時にサンプル点を用いる物体の場合に利用することできない。結果的に、物体空間内に陽関数のテクスチャ表現が格納される。点を用いる物体は、連結されることのない、3次元物体空間内の1組の不規則に配置された点サンプル{Pk}として表される。点サンプルPkは、位置ukおよび法線を有する。各サンプル点は、式(2)において先に記載されたように、関連する復元核を有する。
【0126】前処理ステップ中にテクスチャを取得するために、この基底関数は、重み付け係数wkを有するテクスチャ関数rkに名称変更される。表面テクスチャ処理のための本発明によるテクスチャ取得プロセスが記載されるが、同じプロセスがボリュームテクスチャ処理の場合にも用いることができることは理解されたい。
【0127】テクスチャ取得レンダリング中に後処理ステップとしてテクスチャマッピングを実行する代わりに、本発明によるテクスチャが予め計算される。式(2)によって記載されるような基底関数がテクスチャ空間にマッピングされる。そこでは、それは常に楕円の形をとる。テクスチャ空間内の基底関数を数値計算し、後に物体空間内のサンプル点に割り当てられるテクスチャ値(色)が決定される。表(Table)Aを参照されたい。
【0128】基底関数の決定上記のように、基底関数rkは分散行列Vqを有するガウス関数である。2Dでは、式(22)の分散行列を以下のように簡略化することができる。
【0129】
【数33】
【0130】それは、ガウス関数をhだけスケーリングする。たとえば、側長(side-length)hは全体として、位置ukをサンプリングする取得プロセスによって与えられる。別の可能性として、値hは、小さな近傍内のサンプル点間の最大距離として選択される。この値は予め計算され、階層データ構造に格納することができる。
【0131】重み付け係数の決定本発明では、式(2)においてgkとして表された、重み付け係数wkを決定する際に、2つの異なる状態間を区別する。その状態は、サンプル点毎に色を有する物体と、サンプル点による物体を有するテクスチャマッピングである。
【0132】サンプル点毎に色を有する物体レーザレンジスキャナ、あるいは受信専用の映像システムのような多くのイメージングシステムは、レンジおよび色の情報を直接に取得する。そのような場合に、取得プロセスは、各サンプル点のための色サンプルckを提供する。不規則な1組のサンプルckから、未知の原図のテクスチャ関数の連続した表面近似fc(u)が決定される。
【0133】1つの計算上での妥当な近似は、テクスチャ関数rkを正規化し、単位の分割を形成する、すなわち全ての場所において1まで加算することである。その際、そのサンプルを係数として用いて、それゆえwk=ckとして用いて、そのサンプルckの重み付けされた和を形成する。
【0134】
【数34】
【0135】ただし、(^)rkは、正規化されたテクスチャ関数である。
【0136】サンプル点による物体のテクスチャマッピング画像あるいは手続記述テクスチャが点サンプリングされた構造に明示的に適用される際に、前処理ステップとして、物体空間からテクスチャ空間へのマッピング関数が提供される。これにより、連続テクスチャ関数を、座標uを有する物体空間から座標sを有するテクスチャ空間に歪ませることができる。その際、ckがそのテクスチャを最適に近似するように、(u)のための未知の係数wkが決定される。
【0137】サンプルcIと、テクスチャのサンプリング位置siから、テクスチャ復元核n(s)を用いて、連続テクスチャ関数cc(s)が復元され、以下の式が生成される。
【0138】
【数35】
【0139】また、本発明による方法では、テクスチャ復元核は、単位分散を有するガウス核であり、規則的なテクスチャの場合に共通に選択される。物体空間からテクスチャへのマッピングu=t(s)を適用するとき、歪みを生じたテクスチャ関数(〜)fc(u)は以下の式によって与えられる。なお、(〜)fは、fの上に〜があることを表わす。
【0140】
【数36】
【0141】(〜)fc(u)を用いて、表面関数fc(u)によって与えられる近似の誤差が最小になるように、重み付け係数wkが決定される。L2ノルムを用いると、その問題は以下の関数を最小にすることになる。
【0142】
【数37】
【0143】ただし、w=(wj)は未知の係数のベクトルを表す。F(w)がその係数の二次関数であるので、それは、∇F(w)=0において最小値を有し、1組の線形方程式を生成する。
【0144】1つの線形システムをRw=cを定義することができる。行列Rおよびベクトルcの成分は内積によって与えられる。
【0145】
【数38】
【0146】および
【0147】
【数39】
【0148】テクスチャ関数rkが正規直交である場合には、内積は<rk,rj>=δkjによって与えられる。ただし、k=jの場合にはδkj=1であり、それ以外の場合にはδkj=0である。結果として、Rは単位行列であり、その係数は、以下の式によってEWAフィルタにおけるように決定される。
【0149】
【数40】
【0150】テクスチャ関数rkが正規直交である場合には、内積は<rk,rj>=δkjによって与えられる。ただし、k=jの場合にはδkj=1であり、それ以外の場合にはδkj=0である。結果として、Rは単位行列であり、その係数は、以下の式によってEWAフィルタにおけるように決定される。
【0151】
【数41】
【0152】透明性本発明による方法は、1回のレンダリングパスおよび固定サイズのフレームバッファを用いて、順序に無関係な透明性を提供する。その一般的な概念は、いくつかの層あるいはシートバッファを含み、各シートバッファが表Aに掲載されるピクセルデータを格納するようなフレームバッファを用いることである。
【0153】シートバッファは各ピクセルにおいて断片を格納する。その断片の目的は、そのピクセルに対する1つの表面の寄与を収集することである。全てのサンプル点がスプラッティングされた後、シートバッファは後から前に合成され、最終的なピクセルの色が生成される。ピクセル当たり、少ない決まった数lの断片が存在する場合には、断片の数が予め設定された限度lを超える際に必ず断片が併合される。
【0154】透明性rに対して、そのスプラッティングは以下のように拡張される。
【0155】リサンプリング核のスプラッティング1つの層から形成されるフレームバッファとは対照的に、ここでは、いくつかの層を有するフレームバッファが用いられる。各層はピクセル当たり1つの断片を格納する。1つのピクセルにスプラッティングされる各寄与は、3つのステップで処理される。
【0156】累積あるいは個別判定上記のようなz閾値を用いるとき、そのピクセルの全ての断片が、それらが新しい寄与と同じ表面のデータを含むか否かを確認するために検査される。同じ表面のデータを含む場合には、その寄与が断片に加えられ、終了する。そうでない場合には、新しい寄与が個別の表面として取り扱われ、一時的な断片がそのデータで初期化される。
【0157】新しい断片の挿入一時的な断片を含む断片の数が限度lより小さい場合には、その一時的な断片は、そのフレームバッファ内の空きスロットにコピーされ、終了する。
【0158】断片の併合上記の処理が誤っている場合には、2つの断片が併合される。併合する前に、その断片がシェーディングされる。
【0159】断片が併合されるとき、情報の中には必然的に失われるものもあり、視覚的なアーティファクトが生じる場合もある。これらの影響は、適当な併合方式を用いることにより最小限に抑えられる。不都合なことに、そのシーンがレンダリングされている際に判定が行われなければならないという事実によって、次のレンダリング動作についての情報がなければ、その状況が複雑になるという問題がある。断片を併合するための主な判定基準は、それらのz値間の差である。これは、2つの併合される表面間に他の表面が存在し、後にレンダリングされる機会を低減する。この場合に、不正確な後から前への混合によって、視覚的なアーティファクトが導入される場合がある。
【0160】断片が併合されることが可能になる前に、その最終的な色がシェーディングによって決定される。シェーディングされた断片は、表Aに見られるように、その累積された重みを負の値に設定することにより指示される。これは、それらが一度で正確にシェーディングされることを保証する。併合されることになる前後の断片の色およびα値はそれぞれcf;αfおよびcb;αbである。併合される断片の色およびα値c0;α0は、以下の式を用いて計算される。
【0161】
【数42】
【0162】また必要なら、断片は第2のパスにおいてもシェーディングされることができる。シェーディングの後、各ピクセルの断片は、上記の式に示されるように後から前に混合され、最終的なピクセルの色が生成される。
【0163】エッジアンチエイリアシングエッジアンチエイリアシングを実行するために、断片内の表面の部分的な適用範囲についての情報が必要とされる。点による表現の場合、適用範囲を近似するための1つの方法は、ピクセル面積当たりの投影される点サンプルの密度を推定することである。その後、適用範囲は、その断片内のサンプル点の実際の密度を測定し、測定された値を推定された値で割ることにより決定される。
【0164】この推定を明確に決定するのではなく、本発明は、ガウス基底関数が規則的な格子上に配置され、単位分散を有するという簡略化した仮定を行う。この場合に、基底関数は単位の分割を近似する。言い換えると、基底関数は任意の点において1まで加算するものと仮定する。この定数関数を歪ませ、帯域制限する結果として、再び定数関数が生成される。それゆえ、リサンプリング核の和qは、任意の点で、具体的には全ての断片xにおいて概ね1である。
【0165】
【数43】
【0166】ある断片においてqが1より小さい場合には、これは、そのテクスチャがそのピクセルを完全には覆わず、qを適用範囲係数として用いることができることを示す。不規則な格子の場合、単位の分割の近似の信頼性は低くなる。さらに、ガウス核は有限の対応領域に打ち切られる。
【0167】打ち切り半径c=1を用いる場合、全適用範囲を指示するための閾値τ=0:4は概ね良好な結果を生成する。1つのピクセルの適用範囲q’はq’=q/τである。
【0168】エッジアンチエイリアシングは、断片のα値をその適用範囲係数と乗算することにより実施される。その断片の最終的なα値、α’は以下の通りである。
【0169】
【数44】
【0170】結果図7は、本発明による連続した復元核の有用な特性と、従来技術のフットプリントフィルタより優れたその利点とを示す。列701、702、703はそれぞれ縮小スケーリング、拡大スケーリング、異方性スケーリングを示しており、異方性スケーリングの場合には、核はある方向において縮小され、同時に別の方向において拡大される。行711および712はそれぞれ、本発明の連続基底関数および連続ローパスフィルタ関数を示す。行713は、列701〜703における種々の条件下で、基底関数とローパスフィルタ関数とを組み合わせることから生じる連続した復元核を示す。行714は、同じ条件下の従来の楕円リサンプリングフィルタを示す。明らかに、従来技術のフィルタは、全ての条件を適切に取り扱うことができない。
【0171】列701に示されるように、復元核の大きさおよび形状は、カメラ空間からレイ空間へのマッピングがそのボリュームを縮小する際に、ローパスフィルタ712によって支配される。
【0172】列702に示されるように、復元核は、そのボリュームが拡大される際に、基底関数によって支配される。本発明の復元核713は基底関数711とローパスフィルタ関数とを組み合わせるので、拡大と縮小との間を円滑に移行させることができる。
【0173】列703に示されるように、本発明の復元核は、そのサンプルがある方向に縮小され、別の方向に拡大される際には、異方性を有して良好にスケーリングされる。
【0174】列714は、エイリアシングを回避するために一様にスケーリングされる従来技術のリサンプリングフィルタを示す。そこでは、復元核は、その短径がローパスフィルタの短径と少なくとも同じ長さになるように概ね拡大される。楕円フットプリント関数の場合、一様なスケーリングにより、楕円の長径(major axis)の方向において過度に輪郭が不鮮明な画像が生成される。
【0175】図8aは、本発明による復元核でレンダリングされる画像801を示す。図8bは、従来技術の一様にスケーリングされるリサンプリングフィルタでレンダリングされる画像802を示す。1024×512×3ピクセルのxおよびy寸法を有する正方形の縞模様が行811に示され、行812には1024×256×3のものが示される。これにより、それぞれ2:1および4:1の長径および短径の長さ間の比を有する楕円核になる。
【0176】明らかに、本発明による連続した復元核は、従来技術の画像において問題となるエイリアシングによるアーティファクトを生じることなく、より鮮明な画像を生成する。復元核の長径と短径との比が大きくなると、本発明の方法と従来技術の方法との間の差がより顕著になる。異方性の大きい核の場合、従来技術の一様なスケーリングは、図8bの画像に示されるように、過度に輪郭が不鮮明な画像を生成する。
【0177】図9a、bには、3D「ボリューム」復元核と、2D「表面」復元核とによってレンダリングされる画像901が示される。そのテクスチャの大きさはxおよびy方向において512×512である。典型的には、球形の核の透視投影はほとんど円形になる。それゆえ、ボリューム核のレンダリングは異方性のテクスチャフィルタリングを示すことはなく、3本線のミップ−マッピング(mip-mapping)のような等方性のテクスチャフィルタリングと同様に、拡大された差込み図910に示されるように、輪郭が不鮮明なテクスチャを生成する。一方、スプラッティング表面核は、EWAテクスチャフィルタリングと等価である。円形の表面核は楕円にマッピングされ、その結果として、差込み図920に示されるように、異方性のフィルタリングによる高画像品質が達成される。
【0178】実装の細部図10に示されるように、以下に記載されるように、1組の離散したサンプル点101から連続した画像が生成される。最初に、各サンプル点Pkがスクリーン空間内の位置m(uk)に投影される(1005)。各離散したサンプル点の場合に、最初に式(24)のようなヤコビアン(J)を決定することにより(1010)、対応する連続した復元核が生成される(1002)。その後、式(19)にしたがって、レイ空間103内の各復元核のための分散行列(V)が決定される(1020)。次に、式(20)にしたがって復元核を積分し、基底関数qk((^)x)を生成する(1030)。式(21)のように、その基底関数とローパスフィルタhとがたたみこまれ(1040)、スクリーン空間105内の各離散したサンプル点のための連続した復元核ρk((^)x)が生成される(1002)。
【0179】復元核はm(uk)を中心に存在し、各復元核を、スクリーン空間内に投影される、その対応する離散したサンプル点に適用する(スプラッティングする)ことにより(1060)、各サンプル点に対して数値計算され、連続した画像の連続したサンプルが生成される。
【0180】スクリーン空間内のピクセル格子は規則的であるので、復元核はラスタ化によって効率的に数値計算される(1070)。スプラッティングは、リサンプリング核のラスタ化であることが効率的である。ラスタ化は、長方形の境界をなす矩形領域において前方差分を用いることができ、1Dの一般的な参照テーブルを用いることができる。一般に、あるシーンの奥行き複雑性は1より大きく、それゆえ、表面がシートバッファにスプラッティングされる際に、種々の表面の寄与を分離するために、あるプロセスが必要とされる。結果として、Pkにおける接平面のz値は、核によって覆われる各ピクセルにおいて決定される。これは同様に前方差分によって行うことができる。
【0181】核がラスタ化されるとき、シートバッファにラスタ化されたピクセルが蓄積される。シートバッファは、投影平面に概ね平行である1組のサンプル点の平面に対応する。新しい寄与が、あるピクセルのために既に格納されている同じ表面に属するか否かを判定するために、新しい値と、そのフレームバッファに格納されるz値との間の差が所定の閾値と比較される。その差が閾値よりも小さい場合には、その寄与はピクセルに加えられる。そうでない場合には、より視点に接近していることものと考えて、シートバッファのデータが新しい寄与によって置き換えられる。シートバッファは、後から前の順序でフレームバッファに合成される(1080)。
【0182】あるシーンの全てのサンプル点がスプラッティングされた後にシェーディングを行うことにより、遅延されたシェーディングを用いることが好ましい。これにより、視認できないサンプル点をシェーディングすることが回避される。代わりに、各ピクセルは、勾配推定を用いて、フィルタリングされた表面法線を判定するためにシェーディングされる。シェーダのためのパラメータは、材料の特性を有するテーブルに索引を介してアクセスされる。表Aを参照されたい。マッピングのような、高度なピクセルシェーディング法を同様に実施することができる。
【0183】さらに、出力画像1009を生成するために、よく知られているフォンの照明モデルを適用することができる。スプラッティング前に、シェーディングを行うこともできることに留意されたい。リアルタイムアプリケーションが、ハードウエアパイプライン、おそらくシングルチップとしてレンダリングプロセスを実施することが一般的である。米国特許第6,008,813号「Real-Time PC Based Volume Rendering System」を参照されたい。それゆえ、図10の機能ブロックを実装する手段として、リアルタイムアプリケーションのためのハードウエアが用いられることが好ましい。
【0184】上記のように、オプションの前処理ステップ20は、モデル10、たとえば多角形モデルからテクスチャを取得することにより、テクスチャフィルタリングを実行し、モデル10を離散した点サンプルモデル101に変換することができる。
【0185】
【発明の効果】ボリュームおよび点サンプル表面レンダリングのための新しいスプラットプリミティブが記載されてきた。このプリミティブは、楕円重み付け平均EWA連続リサンプリングフィルタと呼ばれる。本発明によるプリミティブは、スプラッティング法のための高品質のアンチエイリアシングを提供する。上記の方法は、楕円ガウス復元核とガウスローパスフィルタと組み合わせる。リサンプリング核を決定するために、新しいアプローチが用いられる。2Dおよび3Dガウス復元核の特徴を利用して、本発明による方法は、任意の楕円復元核および透視投影を効率的に取り扱う。それゆえ、本発明のスプラットプリミティブは、規則的、直交、曲線および不規則ボリュームおよび点サンプルデータセットをレンダリングするために非常に適している。
【0186】インタラクティブなフレームレートを達成するために、グラフィクスハードウエアレンダリングエンジンを用いて、本発明のEWAスプラットを、テクスチャマッピングされた多角形としてラスタ化することができる。また、画像平面に平行なシートバッファを用いて、「ポッピング」アーティファクトをなくすこともできる。非直交データセットをレンダリングするために、後から前へのソートプロセスをレンダリング前に適用することができる。さらに、本発明のスプラットプリミティブは、シェーディング後ボリュームレンダリングパイプラインにおいて用いることができる。本発明のEWA復元核の導関数を、帯域制限された勾配核として用いることもできる。結果として、雑音を含むボリュームデータのためのシェーディングによって引き起こされるエイリアシングは回避される。選択除去プロセスとともに、本発明の方法は、リアルタイム等値面レンダリングのためにも有用である。本発明によるボリュームスプラッティング法は、雲、火、および3D医療用走査のようなボリュームを用いるモデルにも適用することができる。
【0187】本発明は、好ましい実施形態の例を用いて記載されてきたが、種々の他の適合形態および変更形態が、本発明の精神および範囲内で行われる場合があることは理解されよう。それゆえ、併記の特許請求の範囲の目的は、本発明の真の精神および範囲内に入るような全てのそのような変形形態および変更形態を網羅することである。
【図面の簡単な説明】
【図1】 本発明によるボリュームデータセットにおける変換のブロック図である。
【図2a】 ボリュームレンダリングのブロック図である。
【図2b】 スプラッティング関数のブロック図である。
【図3a】 カメラ空間からレイ空間への変換のブロック図である。
【図3b】 カメラ空間からレイ空間への変換のブロック図である。
【図4a】 カメラ空間からレイ空間への復元核の変換のブロック図である。
【図4b】 カメラ空間からレイ空間への復元核の変換のブロック図である。
【図4c】 カメラ空間からレイ空間への復元核の変換のブロック図である。
【図5】 本発明による3D復元核及び2D復元核の図である。
【図6】 等値面レンダリングのステップの図である。
【図7】 本発明による復元核の特性のブロック図である。
【図8a】 従来技術のスプラッティングの画像である。
【図8b】 本発明によるスプラッティングの画像である。
【図9a】 ボリュームスプラッティングの画像である。
【図9b】 表面スプラッティングの画像である。
【図10】 本発明による、1組の離散したサンプル点から連続した画像を生成するための構成を示すブロック図である。
【0001】
【発明の属する技術分野】本発明は、全般にコンピュータグラフィクスに関し、より詳細には、スプラッティング法を用いて3次元ボリュームおよび点サンプルデータをレンダリングすることに関する。
【0002】
【従来の技術】レーザレンジの走査、および画像ベースの走査を行うことにより、複雑で、見た目にも見事な3次元(3D)画像を生成することができる。しかしながら、走査は著しい数の点サンプルを生成する。これ以降、点サンプルは(x,y,z)座標を有する空間内の0次元の点として定義される。典型的には、点サンプルは、接続性情報を持たない。すなわち、点サンプルは関連付けられることがないか、あるいは連結されることはない。これにより、点サンプルを画像としてレンダリングすることが困難になる。
【0003】点サンプルを接続するための1つの一般的な方法は、多角形(三角形)メッシュを用いて、そのメッシュをレンダリングすることである。しかしながら、メッシュの中にはインタラクティブにレンダリングされるにはあまりに大きすぎるものもあり、多くの応用形態は、多角形の減少から生じる幾何学的な精度およびテクスチャ忠実度に特有の損失を許容することができない。最近の成果は、無接続の点サンプルを直接にレンダリングすることに集中している。これらの技術は、階層データ構造および前方ワーピングを用いて、点サンプルを効率的にレンダリングする。
【0004】点レンダリングのための1つの重要な試みは、不規則に間隔をおいて配置された点サンプルから、連続した表面の画像を適当に復元することである。その画像は正確で、点サンプルがレンダリングされる順序とは無関係でなければならない。非常に多くの場合に、点サンプルは、走査される画像の高いテクスチャ忠実度を保持しながら、連続した不透明な、あるいは半透明の表面として現れなければならない。さらに点レンダリングは、隠れた表面の除去および透明性を正確に取り扱うべきである。
【0005】従来技術では、点サンプル間の表面領域を「埋める」(fill-in)ために、テクスチャマッピングが頻繁に用いられる。テクスチャマッピングは、モデル表面上に、色、法線あるいは他の材料の特性のための関数をマッピングすることにより、モデルの視覚上の複雑さを増大させる。これらのテクスチャ関数が不適当に帯域制限される場合には、ラスタ画像への投影中に、テクスチャエイリアシングが生じる場合がある。さらに、テクスチャマッピングは主に表面レンダリングのために用いられる。ボリュームレンダリングは、科学技術上の応用形態において、取得され、シミュレートされたデータセットを視覚化するために重要である。ボリュームレンダリングは、離散したサンプル点から3D関数を復元し、その3D関数をスクリーン空間に変換し、その後、「レイ」(rays)と呼ばれる視線に沿って不透明度の積分を数値計算する。
【0006】インタラクティブなボリュームレンダリングでは、スプラッティングがこれらの手順を近似する。Westoverによる「Interactive Volume Rendering」(Upson,editor, Proceedings of the Chapel Hill Workshop on Volume Visualization, pages 9-16, University of North Carolina at Chapel Hill, Chapel Hill,NC, May 1989)を参照されたい。Westoverによる論文は、エイリアシング問題を取り扱わず、それにより階段状のぎざぎざの輪郭エッジ、テクスチャ内の波紋(モアレ)模様などの顕著なアーティファクトが生じる。
【0007】スプラッティングを用いる場合、ボリュームデータは、各粒子、ボクセル、あるいは離散したサンプル点に対して1つの核を有する、3D復元核の領域として解釈される。各3D復元核は光を吸収、かつ放射する。積分は、各3D核にわたって個別に予め決定され、結果として「フットプリント」(footprint)関数を生成する。各フットプリント関数は、画像内の隣接するピクセルにわたって各点の分布を「拡散する」(spreads)。典型的には、プリントフットの広がりは約2〜5ピクセルである。3Dボリュームの各離散したサンプル点の「塗りつけられた」(smeared)寄与は、前から後、あるいは後から前の順に合成、すなわち蓄積され、出力画像のピクセルを生成する。
【0008】従来技術のスプラッティングは、後から前の順にスプラットを合成する際に、不正確な視認上の判定に陥る。これにより、色のブリージングのような目に見えるアーティファクトが生じる。この問題は、軸を揃えたシートバッファを用いることにより解決することができる。Westoverによる「Footprint Evaluation forVolume Rendering」(Computer Graphics, Proceedings of SIGGRAPH 90, pages 367- 376, 1990)を参照されたい。しかしながら、その解決法は、動画において妨げになる「ポッピング」(popping)アーティファクトを生成する。
【0009】ポッピングは、動画の流れにおいて次の画像との間に生じる不連続な強度の変化を表現するために用いられる用語である。またシートバッファは、画像平面に平行に揃えることもできる。Mueller他による「Eliminating Popping Artifactsin Sheet Buffer-Based Splatting」(IEEE Visualization '98, pages 239 -246, 1998)を参照されたい。またシートバッファは、各3D復元核のいくつかのスライスを個別にスプラッティングする。その技術は、スライスを用いるボリュームレンダリングと類似であり、ポッピングアーティファクトを生じることはない。
【0010】スプラッティングは、透視投影を用いてレンダリングを促進するために、レイキャスティング技術と組み合わせることができる。階層的スプラッティングによって、レンダリング中に段階的に精緻化できるようになる。さらに、スプラッティングは、ウェーブレットとして表されるボリュームデータセットにおいても適用することができる。
【0011】エイリアシングアーティファクトは、発散する視線(レイ)に沿ったサンプリングレートがボリューム格子サンプリングレート未満に落ち込むボリュームの領域において生じる場合がある。距離に依存する関数はフットプリントを「伸長し」(stretch)、フットプリントをローパスフィルタとして機能させることができる。Swan他による「Anti-Aliasing Technique for Splatting」(Proceedingsof the 1997 IEEE Visualization Conference, pages 197- 204, 1997)を参照されたい。Swanによる方法は、サンプルと画像平面との間の距離に応じてフットプリントの大きさを調整する。Swanによる方法は、以下においてより詳細に区別される。
【0012】直交、曲線、あるいは不規則格子の場合のように、3D復元核が径方向に対称でないときには、さらに配慮されなければならない。さらに、3D空間内の任意の位置の場合に、全ての核からの寄与が1まで加算されなければならない。そうしないと、画像内に斑点のようなアーティファクトが生じる。直交格子の場合に、楕円形のフットプリントが円形のフットプリントに歪むようになる。Westoverによる「Interactive Volume Rendering」(Upson, editor, Proceedings of the Chapel Hill Workshop on Volume Visualization, pages 9-16, University of North Carolina at Chapel Hill, Chapel Hill, NC, May 1989)を参照されたい。曲線格子をレンダリングするために、確率的なポアソンリサンプリングによって、そのフットプリントが球あるいは楕円体である1組の新しい点を生成することができる。Maoによる「Splatting of Non Rectilinear Volumes Through Stochastic Resampling」(IEEE Transactions on Visualization and Computer Graphics, 2(2):156- 170, 1996)を参照されたい。
【0013】Heckbertによる「Fundamentals in Texture Mapping and Image Warping」(Master' s Thesis, University of California at Berkeley, Department of Electrical Engineering and Computer Science, 1989)は、楕円重み付け平均(EWA)フィルタを用いて、表面テクスチャのエイリアシングを回避するレンダリング方法を記載する。しかしながら、その方法は、2Dの規則的にサンプリングされたテクスチャにおいてのみ動作する。言い換えると、その方法は、不規則な点サンプルあるいはボリュームデータセットで直接に用いることができない。
【0014】
【発明が解決しようとする課題】それゆえ、本発明の目的は、従来技術のスプラッティング技術で生じる、輪郭の不鮮明さ、エイリアシング、ポッピングおよび他の煩わしいアーティファクトを生じることなく、不規則に配置されたサンプル点を含むボリュームデータセットをレンダリングすることができるスプラッティング法を提供することである。
【0015】
【課題を解決するための手段】本発明は、楕円形の3Dガウス復元核関数の投影と、楕円形の2Dガウスローパスフィルタとを組み合わせて、スクリーン空間内に1つのスプラットプリミティブを生成する新規のレンダリング方法、すなわちEWA連続リサンプリングフィルタを提供することである。この2D EWAリサンプリングフィルタは、スクリーン空間内の離散したサンプル点に直接に適用されることができる。本発明によるEWAリサンプリングフィルタは、画像内のエイリアシングアーティファクトおよび過度の輪郭の不鮮明さを防ぐ。さらに、本発明は、任意の楕円3Dガウス復元核および任意のガウスローパスフィルタ関数を取り扱い、直交、曲線および不規則なボリューム、ならびに透視投影に効率的に対応する。
【0016】本発明による方法は、連続2D EWAリサンプリングフィルタを決定するための新規の構成に基づく。その方法は、物体空間において定義されるボリュームデータセット、あるいは任意の他の離散したサンプル点のセットを、最初はカメラ空間に、その後レイ空間に、そして最後にスクリーン空間に変換することが有効である。この変換は、投影、たとえば透視投影あるいは正投影に等価である。各離散したサンプル点において局所アフィン近似を用いることにより、本発明は、連続3D復元核と2Dフィルタ関数とを組み合わせて、1つの解析的表現、すなわち連続2D EWAリサンプリングフィルタを生成する。その際、連続した画像を復元するために、連続EWAリサンプリングフィルタを、スクリーン空間内の各離散したサンプル点に適用する。その後、連続した画像は、たとえば、全てのリサンプリングフィルタのための1つの1Dフットプリントテーブルと、任意の視認方向とによる前方差分を用いるレンダリングエンジンによって直接にラスタ化することができる。連続関数を出力画像のピクセルに変換するために他のレンダリング技術を用いることもできる。
【0017】本発明によるスプラットプリミティブは、従来のスプラッティング法と容易に組み合わせることができる。このスプラッティングプリミティブの自由度のため、直交、曲線あるいは不規則なボリュームデータセットをレンダリングするために用いることができる。連続リサンプリングフィルタをボリューム勾配に沿って「平坦化する」(flattening)ことにより、高品質の等値面レンダリングのために適した表面スプラットを容易に計算することができる。
【0018】より具体的には、本発明は、1組の離散したサンプル点から画像を生成するための方法を提供する。サンプル点は、3Dボリュームあるいは表面を画定することができる。各離散したサンプル点は、スクリーン空間に投影される。各サンプル点のための連続リサンプリングフィルタがスクリーン空間内に生成される。連続リサンプリングフィルタは、スクリーン空間内のサンプル点に対する、連続復元関数と連続フィルタ関数との組み合わせである。その際、連続リサンプリングフィルタは、スクリーン空間内の各対応する離散したサンプルに適用され、その画像のための連続したサンプルが生成される。連続したサンプルは、任意の既知のラスタ化プロセスあるいは方法を用いてピクセルにラスタ化することができる。
【0019】
【発明の実施の形態】最初に、連続した3D復元核を適用することができるように、1組の離散したサンプル点、たとえばボリュームデータセットにおいて実行される投影について記載される。その後、本発明による解析的なEWAスプラッティングプリミティブが如何に導出されるかを記載する。
【0020】ボリュームレンダリングパイプラインボリュームレンダリングに対しては2つの基本的なアプローチがある。後方マッピングでは、視線(レイ)が、画像平面内のピクセルからボリュームデータセットに向けられる。前方マッピングは、ボリュームデータセットを画像平面上に直接にマッピングする。
【0021】図1に示されるように、本発明による方法は、前方マッピングレンダリングエンジン100を用いる。本発明では、用語「空間」および「座標系」を同義に用いることに留意されたい。
【0022】物体空間102において定義される、1組の離散したサンプル点、たとえばボリュームデータセット101が、視野変換(ビューイング変換)110によってカメラ空間103に変換され、全ての任意的な視点からサンプルをレンダリングできるようにする。カメラ空間103は、その原点が投影の中心になるように定義される。その後、投影マッピング120がそのサンプルをレイ空間104に変換する。レイ空間は非デカルト座標系であり、レンダリング方程式を容易に定式化できるようにする。レイ空間では、ビューイングレイは座標軸に平行であり、レンダリング関数の解析的な積分を容易にする。ステップ130は、レイ空間内のサンプルにおいて、サンプル分類、シェーディングおよび積分を実行する。ステップ130の出力は、スクリーン空間105内にある。最後に、ビューポート変換140が、ビューポート空間106において出力画像109を生成する。
【0023】前方マッピングパイプラインにおけるサンプル分類およびシェーディングに関する詳細については、Mueller、T.MoellerおよびR.Crawfisによる「Splatting Without the Blur」(Proceedings of the 1999 IEEE Visualization Conference,pages 363- 370, October 1999)を参照されたい。
【0024】スプラッティング手順図2aは従来技術のレイキャスティングを示す。図2bは本発明により用いられるスプラッティングプロセスの構成を示す。その効率のため、スプラッティングプロセスは、最も一般的な前方マッピングボリュームレンダリング技術に属する。Mueller他およびL.Westoverによる「Footprint Evaluation for Volume Rendering」(Computer Graphics, Proceedings of SIGGRAPH 90, pages 367- 376, 1990)を参照されたい。
【0025】本明細書では、従来の表記法を変更し、レイ空間104に関する本発明による表現を記載する。3つの座標x=(x0,x1,x2)Tのベクトル201によって、レイ空間104内の離散したサンプル点が示される。ただしTは、このベクトルが転置されること、すなわち列ベクトルであって、行ベクトルでないことを示す。投影の中心202および投影平面203を与えると、これらの3つの座標は幾何学的に以下のように解釈される。
【0026】座標x0およびx1は、投影平面上の点を指定する。投影の中心および投影平面上の点(x0,x1)を交差するレイ204は、ビューイングレイと呼ばれる。省略形(^)x=(x0,x1)を用いるとき、(x0,x1)を通過するビューイングレイは(^)x209として示される。第3の座標x2 205は、投影の中心202からビューイングレイ上の点までのユークリッド距離を指定する。なお、(^)xは、xのハットを表わす。
【0027】表記を簡単にするために、本明細書では、レイ空間内の3D点を表すために、同義表現x、((^)x,x2)Tあるいはx=(x0,x1,x2)Tのうちの任意のものが用いられる。
【0028】ボリュームレンダリング方程式の低アルベド近似は、長さLを有するレイ(^)xに沿って投影の中心に達する、波長λの光強度Iλ(^)xを以下のように記述する。
【0029】
【数1】
【0030】ただし、g(x)211は光オクルージョンの割合を定義する消衰関数であり、cλ(x)212は放出係数である。指数項は、減衰定数と解釈することができる。最後に、積cλ(x)g(x)は、光源項と呼ばれる。光源項は、点x2においてレイ(^)x209の方向に散乱される光強度を記述する。N.Maxによる「Optical Models for Direct Volume Rendering」(IEEE Transactionson Visualization and Computer Graphics, 1(2):99- 108, 1995)を参照されたい。
【0031】消衰関数g(x)は、係数gkと3D復元核rk(x)213との重み付けされた和である。これは、ボリュームデータセットが光を吸収、放射する個々の離散したサンプル点によって表される物理モデルに対応する。それゆえ、消衰関数は以下の通りである。
【0032】
【数2】
【0033】このモデルでは、3D復元核rk(x)は、個々のサンプル点の位置および形状を反映する。本発明を用いると、サンプル点を不規則に配置することができ、形状は異なってもよく、それゆえ、式(2)の表現は規則的なボリュームデータセットに限定されない。式(2)を式(1)に代入すると、以下の式が生成される。
【0034】
【数3】
【0035】この関数を数値計算するために、スプラッティングアルゴリズムは、図2bに示されるいくつかの簡略化する仮定を行う。通常、3D復元核rk(x)は局所的に対応する。ここでは、これらの局所的な対応領域はレイに沿って重なり合うことはなく、復元核は前から後に順序付けされるものと仮定される。また、放出係数は、レイに沿った各復元核の対応領域において一定であるものと仮定される。さらに、その指数関数は、テイラー展開の最初の2項で近似される。最後に、自己オクルージョンは無視される。これらの仮定によれば、式(3)は以下のように書き換えられる。
【0036】
【数4】
【0037】ただし、qk((^)x)は積分された復元核を示し、それゆえ以下の通りである。
【0038】
【数5】
【0039】式(4)は本発明のEWAスプラッティング法の基になる。
【0040】L.Westoverによる「Footprint Evaluation for Volume Rendering」(Computer Graphics, Proceedings of SIGGRAPH 90, pages 367- 376, 1990)は、復元核qkを積分するためのフットプリント関数を記載する。そのフットプリント関数は、画像のピクセルに対する各サンプル点の寄与を指定する。図2bに示されるようなボリュームレンダリングでは、ビューイングレイ205に沿って復元核を積分することは(231−231)、1つのボリューム復元核を画像平面上に投影し、フットプリント関数qkの解を求めることに類似である。座標(^)x=(x0,x1)Tはスクリーン座標とも呼ばれ、Iλ((^)x)およびqk((^)x)はスクリーン空間105において定義される。
【0041】スプラッティングは、予め積分された復元核を用いることができるため、効率的である。ここで、各サンプル点の画像平面上への投影が、2Dのたたみ込みを用いて決定される。対照的に、レイキャスティング法は、各サンプル点に対して3Dのたたみ込みを必要とする。したがって、スプラッティング法は、レンダリング効率に関して特有の利点を有する。さらに、スプラッティングは、レイキャスティングによって典型的に用いられる3本線の核より大きな範囲を有する、より高品質の核を容易に利用できるようにする。
【0042】しかしながら、従来技術のスプラッティング法は、不正確な視認上の判定のため、アーティファクトによる劣化が生じる。この問題は、復元核が重なり合わず、後から前に順序付けされるものと仮定することにより不可避に導入される。従来技術のスプラッティング法は、画像を拡大して見る場合に、輪郭が不鮮明になる傾向もある。
【0043】本発明は、画像の輪郭が不鮮明になることのない高品質のアンチエイリアシングを提供する新規のスプラットプリミティブを提供する。それは、3D楕円復元核に効率的に対応する。さらに、そのスプラットプリミティブは、既知のレンダリングプロセスおよびパイプラインと適合性がある。
【0044】レンダリングにおけるエイリアシングエイリアシングは、全てのレンダリングモデル方法の基本的な問題である。連続した画像が離散的なラスタ格子、すなわちピクセル格子に対してサンプリングされる際には必然的にエイリアシングが生じる。エイリアシングによって、ぎざぎざの輪郭エッジおよびテクスチャの波紋模様のような視覚的なアーティファクトが生じる。典型的には、これらの問題は、動画中に最も大きな妨げになる。信号処理の視点から、エイリアシングへの理解を進めることができる。連続関数は、離散したサンプリング格子のナイキスト周波数を考慮するために帯域制限されなければならない。これは、サンプリングされる画像内のエイリアシングによるアーティファクトが生じないことを保証する。
【0045】ここで、図2bのスプラッティングプロセスを帯域制限する方法が記載される。このスプラッティングの式(4)は、出力画像を、スクリーン空間内の連続関数Iλ((^)x)として表す。エイリアシングによるアーティファクトを生じることなく、この連続関数を離散した出力画像に適当にサンプリングするために、その関数は、離散した画像のナイキスト周波数に一致するように帯域制限されなければならない。
【0046】この帯域制限は、Iλ((^)x)を適当なローパスフィルタh((^)x)でたたみ込むことにより達成され、アンチエイリアシングされたスプラッティングプリミティブが生成される。
【0047】
【数6】
【0048】Iλ((^)x)は式(4)の連続関数として定式化されるが、実際には、この関数は離散した位置、すなわちピクセルの中央においてのみ解を有する。それゆえ、式(6)の積分をやり直すために、2つの簡略化する仮定が行われる。これにより、効率的に数値計算することができる近似が導かれる。第1に、放出係数が各フットプリントqkの対応領域において近似的に一定である場合には、その対応領域内の全ての(^)xの場合にcλk((^)x)≒cλkである。放出係数が、ビューイングレイに沿った各復元核の対応領域において一定である場合には、その放出係数は、各復元核の完全な3D対応において一定である。言い換えると、アンチエイリアシングのためにシェーディングの効果が無視される。同様に、これは表面テクスチャをアンチエイリアシングするための一般的なアプローチでもあることに留意されたい。
【0049】第2に、減衰定数が、各フットプリント関数の対応領域において近似的に一定の値okを有するものと仮定される。それゆえ、その対応領域内の全ての((^)x)の場合に以下の式が成り立つ。
【0050】
【数7】
【0051】減衰定数の変動は、基底関数が部分的に、1組の離散したサンプル点内のより不透明な領域によって覆われることを指示する。それゆえ、この変動は、「ソフト」エッジとして解釈することができる。そのような状況を無視することは、エッジエイリアシングを防ぐことができないことを意味する。再びこれは表面をレンダリングすることに類似であり、その場合に、エッジおよびテクスチャエイリアシングは異なるプロセスによって同様に取り扱われる。
【0052】これらの簡略化を用いると、式(6)を以下のように書き換えることができる。
【0053】
【数8】
【0054】ここで、
【0055】
【数9】
【0056】を理想的なリサンプリングフィルタと呼ぶ。このリサンプリングフィルタは、フットプリント関数qkとローパスフィルタhとを組み合わせる。それゆえ、フットプリント関数qkを理想的な連続リサンプリングフィルタρkで置き換えることにより、アンチエイリアシングされたスプラッティングが実行される。これは、出力関数Iλ((^)x)全体を帯域制限する代わりに、各フットプリント関数が個別に帯域制限されることを意味する。
【0057】上記の条件下で、本発明によるスプラッティングは、ラスタ画像のナイキスト周波数を考慮する帯域制限された出力関数を生成し、それゆえ、エイリアシングによるアーティファクトを回避する。復元核はレイ空間において積分され、結果として、ボリュームにわたって大きさおよび形状が著しく変化するフットプリント関数が生成されることを思い起こされたい。それゆえ、1つの利点として、本発明の復元核は大きな空間多様性を有する。
【0058】フットプリントの一様なスケーリングに基づく、スプラッティングのためのアンチエイリアシング技術は、Swan他による文献によって記載される。その技術は、径方向に対称なフットプリントの場合にのみ良好な結果を生成する。しかしながら、さらに一般的な核の場合、たとえば楕円形の核の場合、Swan他の文献による一様なスケーリングは、理想的なローパスフィルタ処理を良好に近似しない。Swan他による文献の技術は、エイリアシングを回避するために、さらに輪郭を不鮮明にしてしまう。対照的に、本発明の方法は、以下に記載されるように、これらの場合において一様でないスケーリングを提供し、優れた画像品質に導く。
【0059】楕円重み付け平均ガウス復元核ここで、有利な特徴を有するため、楕円3Dガウス復元核が選択される。ガウス復元核は、アフィンマッピングおよびたたみ込みによって閉塞され、1つの座標軸に沿って3Dガウス復元核を積分する結果として、2Dガウス復元核が生成される。これらの特性によって、以下に記載されるように、1つの2Dガウスによる式(8)の連続リサンプリング核を解析的に表現できるようになる。
【0060】このセクションでは、連続した復元核の特徴を如何に利用するかについて記載する。
【0061】点pを中心した楕円ガウスGv(x−p)は分散行列Vを用いて以下のように定義される。
【0062】
【数10】
【0063】ただし、|V|はVの行列式である。この形では、ガウス核は単位積分に正規化される。ボリューム復元核の場合、Gvは3D関数であり、それゆれ、Vは対称な3×3の行列であり、xおよびpはそれぞれベクトル(x0,x1,x2)Tおよび(p0,p1,p2)Tである。
【0064】ここで、任意のアフィンマッピングu=Φ(x)がこのガウス核に適用される。そのアフィンマッピングはΦ(x)=Mx+cである。ただしMは3×3行列であり、cはベクトル(c0,c1,c2)Tである。式(9)にx=Φ−1(u)を代入すると、以下の式が生成される。
【0065】
【数11】
【0066】さらに、分散行列VおよびYを有する2つのガウス関数をたたみ込むと、分散行列V+Yを有する1つのガウス関数が生成される。
【0067】
【数12】
【0068】最後に、1つの座標軸に沿って3Dガウス関数Gvを積分すると、2Dガウス関数G(^)vが生成される。それゆえ、
【0069】
【数13】
【0070】である。ただし、(^)x=(x0,x1)Tおよび(^)p=(p0,p1)Tである。2×2の分散行列(^)Vは第3の行および列を省略することにより、3×3行列Vから求められる。
【0071】
【数14】
【0072】ビューイング変換3D復元核が最初に、座標t=(t0,t1,t2)Tを有する物体空間102において定義される。物体空間内の核は以下の式によって表される。
【0073】
【数15】
【0074】ただしtkは物体空間内のサンプル点である。規則的なボリュームデータセットの場合、分散行列Vk”は通常、単位行列である。直交データセットの場合、分散行列は、行列成分が各座標軸に沿ったサンプル点間の距離の二乗を含む対角行列である。曲線ボリュームの場合、分散行列は、Mao他による「Splattingof Curvilinear Volumes」(IEEE Visualization '95 Proc., pages 61- 68, 1995)に記載されるように決定することができる。
【0075】ここで、ベクトルu=(u0,u1,u2)Tはカメラ空間103の座標を表す。物体座標は、ビューイング変換110と呼ばれる、アフィンマッピングu=ψ(t)を用いて、カメラ空間に変換される。それは行列Wと、平行移動ベクトルdとによってψ(t)=Wt+dとして定義される。ここで、t=ψ−1(u)を代入し、式(10)を用いて、以下の式を生成することにより、復元核GVk’’=(t−tk)がカメラ空間に変換される。
【0076】
【数16】
【0077】ただし、uk=ψ(tk)は、カメラ座標内のガウス復元核の中心であり、rk’(u)はカメラ空間内の復元核を表す。式(10)によれば、カメラ座標Vk’内の分散行列は、Vk’=WVk”WTによって与えられる。
【0078】投影変換投影変換120は、図3aに示されるようなカメラ座標を、図3bに示されるようなレイ座標に変換する。カメラ空間は、カメラ空間の原点が投影の中心301にあり、投影平面が平面302u2=1であるように定義される。カメラ空間およびレイ空間は、マッピングx=m(u)によって関連付けられる。それゆえ、上記のレイ空間の定義を用いて、m(u)およびその逆行列m−1(u)は以下の式によって与えられる。
【0079】
【数17】
【0080】および
【0081】
【数18】
【0082】ただし、このマッピングはアフィン的ではなく、式(10)を、カメラ空間からレイ空間に復元核を変換するために直接に適用することができないという問題がある。
【0083】この問題を解決するために、投影変換の局所的アフィン近似mukが与えられる。この近似は、点xk303におけるmのテイラー展開の最初の2項によって定義される。
【0084】
【数19】
【0085】ただし、点xk304はm(uk)に等価であり、レイ空間内のガウス復元核の中心である。ヤコビアンJukは、点uk303におけるmの偏導関数によって与えられる。
【0086】
【数20】
【0087】以下では、下付き文字ukは省略され、それゆえm(u)は、式(17)の局所的アフィン近似を表す。式(14)にu=m−1(x)を代入し、式(10)を適用して、復元核をレイ空間104にマッピングし、rk(x)のための所望の表現を生成する。
【0088】
【数21】
【0089】ただし、Vkはレイ座標の分散行列である。式(10)によれば、Vkは以下の式によって与えられる。
【0090】
【数22】
【0091】一様あるいは直交サンプルセットの場合、Vk’はフレーム当たり一度だけ決定されなければならないことに留意されたい。なぜなら、Vk”は全てのサンプル点の場合に同じであり、Wはフレーム間でのみ変化するためである。
【0092】しかしながら、ヤコビアンが各サンプル点の場合に異なるため、Vkは各サンプル点の場合に再度計算されなければならない。曲線あるいは不規則なボリュームの場合には、各3D復元核は個別の分散行列Vk”を有する。本発明による方法は、3×3行列の乗算を一回追加することしか必要とせずにこの状況を的確に取り扱う。
【0093】対照的に、従来技術の方法は、最初にスクリーン空間内のその投影される範囲を決定し、その後その投影を円形のフットプリントにマッピングすることにより、異方性の3D復元核に労力をかけて対処する。それらの方法は計算にコストがかかり、Mueller他およびSwan他によって指摘されるように、復元核の積分の良好な近似にはならない。
【0094】図4aは本発明の復元核のカメラ空間103へのマッピングを示し、図4bはレイ空間104への局所的アフィンマッピングを示し、図4cは、レイ空間内の厳密なマッピングを示す。図4cは、厳密なマッピングにおいて非線形の効果を示すために誇張されている。局所的アフィンマッピングは、レイがそれぞれukあるいはxk402を通過する場合にのみ正確である。アフィンマッピングは基本的に不透明な正投影で透視投影を近似する。それゆえ、平行線は保存され、近似誤差はレイの発散が増大するとともに大きくなる。しかしながら、一般にその誤差によっては視覚的なアーティファクトは生じない。なぜなら、復元物と交差する扇形のレイが、核の局所的な対応領域に起因して小さな開き角しか持たないためである。
【0095】従来技術のスプラッティングは典型的には、フットプリント関数のカメラ空間内の多角形へのマッピングで開始する。次のステップでは、スプラッティングされた多角形がスクリーン空間に投影され、その後、フットプリント画像にラスタ化される。しかしながら、それは著しい計算作業を必要とする。
【0096】対照的に、本発明によるスプラッティングは、1組のサンプル点をスクリーン空間105に効率的に投影し、ヤコビアンの計算と、2つの3×3行列の乗算としか必要としない。その後、本発明による連続リサンプリング核は、スクリーン空間内のサンプル点に直接適用される。
【0097】積分および帯域制限本発明によれば、式(5)にしたがって式(18)のガウス復元核を積分し、ガウス(連続)基底関数qkを生成する。
【0098】
【数23】
【0099】ただし、基底関数の2×2の分散行列Vkqは、式(13)に示されるように、最後の行および列を省略することによりVkから求められる。最後に、ガウス(連続)ローパスフィルタ関数h=GVh((^)x)が選択される。ただし、分散行列Vh∈R2×2は典型的には単位行列である。式(11)を用いると、式(8)におけるたたみ込みを的確に決定することができ、本発明による連続EWAリサンプリングフィルタを生成することができる。
【0100】
【数24】
【0101】3Dから2Dへの連続復元核の低減本発明のEWA連続復元核は任意のガウス核であるので、復元核の形状を適当に選択することにより、ボリュームデータセットを正確にレンダリングすることができる。たとえば、表面法線の方向に沿って本発明の連続復元核を平坦化することにより、等値面レンダリングの精度を改善することができる。
【0102】また、極微の平坦な連続復元核は、ガウス表面テクスチャ復元核に等価である。言い換えると、本発明の3Dのボリューム復元核を2Dの表面復元核に平坦化することにより、ボリュームデータセットから表面表現を直接に抽出し、レンダリングすることができる。
【0103】図5は、本発明による3Dおよび2D連続復元核を用いるレンダリングを示す。一方向に1/sだけ球状のガウス復元核502をスケーリングする(520)ことにより、物体空間102内に「平坦化された」ガウス復元核501が構成される。それゆえ、その分散行列は以下の通りである。
【0104】
【数25】
【0105】スケールファクタs=1は球状の3D核に対応する。極限では、s=∞の場合に、円形の2D核が得られる。復元核501〜502をレンダリングするために、ビューイング変換をともなう任意のモデリング変換を含む場合がある、3Dビューイング変換行列Wを最初に適用する。その後、式(17)の局所的アフィン近似を用いて、その核をレイ空間にマッピングする。レイ空間内の復元核の分散行列Vは、式(19)にしたがって決定される。行列T3Dは、連結された3Dマッピング行列T3D=JWを表し、Vは以下の式で表される。
【0106】
【数26】
【0107】それゆえ、Vの成分vijは以下に与えられる。
【0108】
【数27】
【0109】ただし、tijはT3Dの成分を表す。復元核を積分することにより、2Dガウス基底関数が決定される。式(13)によれば、その2D分散行列は、Vの第3の行および列を省略することにより求められる。sが無限大に近づくにつれて、以下の2D分散行列が得られる。
【0110】
【数28】
【0111】便宜的に、2D分散行列は2DマッピングT2Dに分解されることができ、T2Dは第3の行および列を省略することにより3Dマッピング行列から求められる。
【0112】
【数29】
【0113】ここで、2Dマッピング行列T2Dが解析される。最初に、投影マッピングのヤコビアンJのための陽関数表現を計算する。式(15)を用いて、それは以下の式によって与えられる。
【0114】
【数30】
【0115】ただし、l’=‖(u0,u1,u2)T‖である。l’=‖(u0,u1,u2)T‖を用いると、Jの最初の2つの行およびWの最初の2つの列を用いて、T2Dが以下の式に分解される。
【0116】
【数31】
【0117】ただし、wijはWの成分である。
【0118】図6に示されるように、これは、2Dから3Dへのパラメータ化601と3Dから2Dへの投影602とを連結し、合成2D−2Dマッピング603を生成することと解釈することができる。
【0119】第1の段階は3D平面のパラメータ化である。それは、各円形の2Dテクスチャ核610を、3Dカメラ空間103内の2つのベクトル(w00,w10,w20)T621および(w01,w10,w21)T602によって定義される平面611上にマッピングし、結果的に楕円603を生成する。第2の段階は、付加的なスケールファクタ1/u2を用いる斜平行投影であり、それは透視投影の局所的アフィン近似である。最後に、式(8)のように、楕円基底関数とローパスフィルタとを組み合わせることにより、本発明によるテクスチャフィルタが生成される。
【0120】ボリュームスプラッティング法ボリュームスプラッティング法は、最も基本的な形では、以下の擬似コードによって表現することができる。
【0121】
【数32】
【0122】各サンプル点P[k]{スクリーン空間にP[k]を投影;
リサンプリング核ρ[k]を決定;
P[k]とρ[k]とをスプラッティングし、ピクセルp[x]を生成;
各p[x]{p[x]をシェーディング}
【0123】以下のセクションでは、テクスチャ取得と、点サンプリングされた物体および表面のためのマッピングとを実行し、透明な物体、モデルおよび表面を取り扱い、かつエッジアンチエイリアシングを実行するために、本発明のスプラッティング法が拡張される。
【0124】テクスチャフィルタおよび点サンプリングされたモデル従来の多角形レンダリングでは、通常、テクスチャ座標は各頂点に対して格納される。これにより、レンダリングエンジンは、2Dテクスチャ、3D物体および2Dスクリーン空間の間のマッピングを、テクスチャとスクリーン空間との間の合成2D−2D直接マッピングと組み合わせることができるようになる。このマッピングを用いるとき、ピクセルの色は、レンダリング時に、2Dテクスチャ空間内のテクスチャサンプルを探索し、フィルタリングすることにより決定される。
【0125】しかしながら、合成マッピング関数は、レンダリング時にサンプル点を用いる物体の場合に利用することできない。結果的に、物体空間内に陽関数のテクスチャ表現が格納される。点を用いる物体は、連結されることのない、3次元物体空間内の1組の不規則に配置された点サンプル{Pk}として表される。点サンプルPkは、位置ukおよび法線を有する。各サンプル点は、式(2)において先に記載されたように、関連する復元核を有する。
【0126】前処理ステップ中にテクスチャを取得するために、この基底関数は、重み付け係数wkを有するテクスチャ関数rkに名称変更される。表面テクスチャ処理のための本発明によるテクスチャ取得プロセスが記載されるが、同じプロセスがボリュームテクスチャ処理の場合にも用いることができることは理解されたい。
【0127】テクスチャ取得レンダリング中に後処理ステップとしてテクスチャマッピングを実行する代わりに、本発明によるテクスチャが予め計算される。式(2)によって記載されるような基底関数がテクスチャ空間にマッピングされる。そこでは、それは常に楕円の形をとる。テクスチャ空間内の基底関数を数値計算し、後に物体空間内のサンプル点に割り当てられるテクスチャ値(色)が決定される。表(Table)Aを参照されたい。
【0128】基底関数の決定上記のように、基底関数rkは分散行列Vqを有するガウス関数である。2Dでは、式(22)の分散行列を以下のように簡略化することができる。
【0129】
【数33】
【0130】それは、ガウス関数をhだけスケーリングする。たとえば、側長(side-length)hは全体として、位置ukをサンプリングする取得プロセスによって与えられる。別の可能性として、値hは、小さな近傍内のサンプル点間の最大距離として選択される。この値は予め計算され、階層データ構造に格納することができる。
【0131】重み付け係数の決定本発明では、式(2)においてgkとして表された、重み付け係数wkを決定する際に、2つの異なる状態間を区別する。その状態は、サンプル点毎に色を有する物体と、サンプル点による物体を有するテクスチャマッピングである。
【0132】サンプル点毎に色を有する物体レーザレンジスキャナ、あるいは受信専用の映像システムのような多くのイメージングシステムは、レンジおよび色の情報を直接に取得する。そのような場合に、取得プロセスは、各サンプル点のための色サンプルckを提供する。不規則な1組のサンプルckから、未知の原図のテクスチャ関数の連続した表面近似fc(u)が決定される。
【0133】1つの計算上での妥当な近似は、テクスチャ関数rkを正規化し、単位の分割を形成する、すなわち全ての場所において1まで加算することである。その際、そのサンプルを係数として用いて、それゆえwk=ckとして用いて、そのサンプルckの重み付けされた和を形成する。
【0134】
【数34】
【0135】ただし、(^)rkは、正規化されたテクスチャ関数である。
【0136】サンプル点による物体のテクスチャマッピング画像あるいは手続記述テクスチャが点サンプリングされた構造に明示的に適用される際に、前処理ステップとして、物体空間からテクスチャ空間へのマッピング関数が提供される。これにより、連続テクスチャ関数を、座標uを有する物体空間から座標sを有するテクスチャ空間に歪ませることができる。その際、ckがそのテクスチャを最適に近似するように、(u)のための未知の係数wkが決定される。
【0137】サンプルcIと、テクスチャのサンプリング位置siから、テクスチャ復元核n(s)を用いて、連続テクスチャ関数cc(s)が復元され、以下の式が生成される。
【0138】
【数35】
【0139】また、本発明による方法では、テクスチャ復元核は、単位分散を有するガウス核であり、規則的なテクスチャの場合に共通に選択される。物体空間からテクスチャへのマッピングu=t(s)を適用するとき、歪みを生じたテクスチャ関数(〜)fc(u)は以下の式によって与えられる。なお、(〜)fは、fの上に〜があることを表わす。
【0140】
【数36】
【0141】(〜)fc(u)を用いて、表面関数fc(u)によって与えられる近似の誤差が最小になるように、重み付け係数wkが決定される。L2ノルムを用いると、その問題は以下の関数を最小にすることになる。
【0142】
【数37】
【0143】ただし、w=(wj)は未知の係数のベクトルを表す。F(w)がその係数の二次関数であるので、それは、∇F(w)=0において最小値を有し、1組の線形方程式を生成する。
【0144】1つの線形システムをRw=cを定義することができる。行列Rおよびベクトルcの成分は内積によって与えられる。
【0145】
【数38】
【0146】および
【0147】
【数39】
【0148】テクスチャ関数rkが正規直交である場合には、内積は<rk,rj>=δkjによって与えられる。ただし、k=jの場合にはδkj=1であり、それ以外の場合にはδkj=0である。結果として、Rは単位行列であり、その係数は、以下の式によってEWAフィルタにおけるように決定される。
【0149】
【数40】
【0150】テクスチャ関数rkが正規直交である場合には、内積は<rk,rj>=δkjによって与えられる。ただし、k=jの場合にはδkj=1であり、それ以外の場合にはδkj=0である。結果として、Rは単位行列であり、その係数は、以下の式によってEWAフィルタにおけるように決定される。
【0151】
【数41】
【0152】透明性本発明による方法は、1回のレンダリングパスおよび固定サイズのフレームバッファを用いて、順序に無関係な透明性を提供する。その一般的な概念は、いくつかの層あるいはシートバッファを含み、各シートバッファが表Aに掲載されるピクセルデータを格納するようなフレームバッファを用いることである。
【0153】シートバッファは各ピクセルにおいて断片を格納する。その断片の目的は、そのピクセルに対する1つの表面の寄与を収集することである。全てのサンプル点がスプラッティングされた後、シートバッファは後から前に合成され、最終的なピクセルの色が生成される。ピクセル当たり、少ない決まった数lの断片が存在する場合には、断片の数が予め設定された限度lを超える際に必ず断片が併合される。
【0154】透明性rに対して、そのスプラッティングは以下のように拡張される。
【0155】リサンプリング核のスプラッティング1つの層から形成されるフレームバッファとは対照的に、ここでは、いくつかの層を有するフレームバッファが用いられる。各層はピクセル当たり1つの断片を格納する。1つのピクセルにスプラッティングされる各寄与は、3つのステップで処理される。
【0156】累積あるいは個別判定上記のようなz閾値を用いるとき、そのピクセルの全ての断片が、それらが新しい寄与と同じ表面のデータを含むか否かを確認するために検査される。同じ表面のデータを含む場合には、その寄与が断片に加えられ、終了する。そうでない場合には、新しい寄与が個別の表面として取り扱われ、一時的な断片がそのデータで初期化される。
【0157】新しい断片の挿入一時的な断片を含む断片の数が限度lより小さい場合には、その一時的な断片は、そのフレームバッファ内の空きスロットにコピーされ、終了する。
【0158】断片の併合上記の処理が誤っている場合には、2つの断片が併合される。併合する前に、その断片がシェーディングされる。
【0159】断片が併合されるとき、情報の中には必然的に失われるものもあり、視覚的なアーティファクトが生じる場合もある。これらの影響は、適当な併合方式を用いることにより最小限に抑えられる。不都合なことに、そのシーンがレンダリングされている際に判定が行われなければならないという事実によって、次のレンダリング動作についての情報がなければ、その状況が複雑になるという問題がある。断片を併合するための主な判定基準は、それらのz値間の差である。これは、2つの併合される表面間に他の表面が存在し、後にレンダリングされる機会を低減する。この場合に、不正確な後から前への混合によって、視覚的なアーティファクトが導入される場合がある。
【0160】断片が併合されることが可能になる前に、その最終的な色がシェーディングによって決定される。シェーディングされた断片は、表Aに見られるように、その累積された重みを負の値に設定することにより指示される。これは、それらが一度で正確にシェーディングされることを保証する。併合されることになる前後の断片の色およびα値はそれぞれcf;αfおよびcb;αbである。併合される断片の色およびα値c0;α0は、以下の式を用いて計算される。
【0161】
【数42】
【0162】また必要なら、断片は第2のパスにおいてもシェーディングされることができる。シェーディングの後、各ピクセルの断片は、上記の式に示されるように後から前に混合され、最終的なピクセルの色が生成される。
【0163】エッジアンチエイリアシングエッジアンチエイリアシングを実行するために、断片内の表面の部分的な適用範囲についての情報が必要とされる。点による表現の場合、適用範囲を近似するための1つの方法は、ピクセル面積当たりの投影される点サンプルの密度を推定することである。その後、適用範囲は、その断片内のサンプル点の実際の密度を測定し、測定された値を推定された値で割ることにより決定される。
【0164】この推定を明確に決定するのではなく、本発明は、ガウス基底関数が規則的な格子上に配置され、単位分散を有するという簡略化した仮定を行う。この場合に、基底関数は単位の分割を近似する。言い換えると、基底関数は任意の点において1まで加算するものと仮定する。この定数関数を歪ませ、帯域制限する結果として、再び定数関数が生成される。それゆえ、リサンプリング核の和qは、任意の点で、具体的には全ての断片xにおいて概ね1である。
【0165】
【数43】
【0166】ある断片においてqが1より小さい場合には、これは、そのテクスチャがそのピクセルを完全には覆わず、qを適用範囲係数として用いることができることを示す。不規則な格子の場合、単位の分割の近似の信頼性は低くなる。さらに、ガウス核は有限の対応領域に打ち切られる。
【0167】打ち切り半径c=1を用いる場合、全適用範囲を指示するための閾値τ=0:4は概ね良好な結果を生成する。1つのピクセルの適用範囲q’はq’=q/τである。
【0168】エッジアンチエイリアシングは、断片のα値をその適用範囲係数と乗算することにより実施される。その断片の最終的なα値、α’は以下の通りである。
【0169】
【数44】
【0170】結果図7は、本発明による連続した復元核の有用な特性と、従来技術のフットプリントフィルタより優れたその利点とを示す。列701、702、703はそれぞれ縮小スケーリング、拡大スケーリング、異方性スケーリングを示しており、異方性スケーリングの場合には、核はある方向において縮小され、同時に別の方向において拡大される。行711および712はそれぞれ、本発明の連続基底関数および連続ローパスフィルタ関数を示す。行713は、列701〜703における種々の条件下で、基底関数とローパスフィルタ関数とを組み合わせることから生じる連続した復元核を示す。行714は、同じ条件下の従来の楕円リサンプリングフィルタを示す。明らかに、従来技術のフィルタは、全ての条件を適切に取り扱うことができない。
【0171】列701に示されるように、復元核の大きさおよび形状は、カメラ空間からレイ空間へのマッピングがそのボリュームを縮小する際に、ローパスフィルタ712によって支配される。
【0172】列702に示されるように、復元核は、そのボリュームが拡大される際に、基底関数によって支配される。本発明の復元核713は基底関数711とローパスフィルタ関数とを組み合わせるので、拡大と縮小との間を円滑に移行させることができる。
【0173】列703に示されるように、本発明の復元核は、そのサンプルがある方向に縮小され、別の方向に拡大される際には、異方性を有して良好にスケーリングされる。
【0174】列714は、エイリアシングを回避するために一様にスケーリングされる従来技術のリサンプリングフィルタを示す。そこでは、復元核は、その短径がローパスフィルタの短径と少なくとも同じ長さになるように概ね拡大される。楕円フットプリント関数の場合、一様なスケーリングにより、楕円の長径(major axis)の方向において過度に輪郭が不鮮明な画像が生成される。
【0175】図8aは、本発明による復元核でレンダリングされる画像801を示す。図8bは、従来技術の一様にスケーリングされるリサンプリングフィルタでレンダリングされる画像802を示す。1024×512×3ピクセルのxおよびy寸法を有する正方形の縞模様が行811に示され、行812には1024×256×3のものが示される。これにより、それぞれ2:1および4:1の長径および短径の長さ間の比を有する楕円核になる。
【0176】明らかに、本発明による連続した復元核は、従来技術の画像において問題となるエイリアシングによるアーティファクトを生じることなく、より鮮明な画像を生成する。復元核の長径と短径との比が大きくなると、本発明の方法と従来技術の方法との間の差がより顕著になる。異方性の大きい核の場合、従来技術の一様なスケーリングは、図8bの画像に示されるように、過度に輪郭が不鮮明な画像を生成する。
【0177】図9a、bには、3D「ボリューム」復元核と、2D「表面」復元核とによってレンダリングされる画像901が示される。そのテクスチャの大きさはxおよびy方向において512×512である。典型的には、球形の核の透視投影はほとんど円形になる。それゆえ、ボリューム核のレンダリングは異方性のテクスチャフィルタリングを示すことはなく、3本線のミップ−マッピング(mip-mapping)のような等方性のテクスチャフィルタリングと同様に、拡大された差込み図910に示されるように、輪郭が不鮮明なテクスチャを生成する。一方、スプラッティング表面核は、EWAテクスチャフィルタリングと等価である。円形の表面核は楕円にマッピングされ、その結果として、差込み図920に示されるように、異方性のフィルタリングによる高画像品質が達成される。
【0178】実装の細部図10に示されるように、以下に記載されるように、1組の離散したサンプル点101から連続した画像が生成される。最初に、各サンプル点Pkがスクリーン空間内の位置m(uk)に投影される(1005)。各離散したサンプル点の場合に、最初に式(24)のようなヤコビアン(J)を決定することにより(1010)、対応する連続した復元核が生成される(1002)。その後、式(19)にしたがって、レイ空間103内の各復元核のための分散行列(V)が決定される(1020)。次に、式(20)にしたがって復元核を積分し、基底関数qk((^)x)を生成する(1030)。式(21)のように、その基底関数とローパスフィルタhとがたたみこまれ(1040)、スクリーン空間105内の各離散したサンプル点のための連続した復元核ρk((^)x)が生成される(1002)。
【0179】復元核はm(uk)を中心に存在し、各復元核を、スクリーン空間内に投影される、その対応する離散したサンプル点に適用する(スプラッティングする)ことにより(1060)、各サンプル点に対して数値計算され、連続した画像の連続したサンプルが生成される。
【0180】スクリーン空間内のピクセル格子は規則的であるので、復元核はラスタ化によって効率的に数値計算される(1070)。スプラッティングは、リサンプリング核のラスタ化であることが効率的である。ラスタ化は、長方形の境界をなす矩形領域において前方差分を用いることができ、1Dの一般的な参照テーブルを用いることができる。一般に、あるシーンの奥行き複雑性は1より大きく、それゆえ、表面がシートバッファにスプラッティングされる際に、種々の表面の寄与を分離するために、あるプロセスが必要とされる。結果として、Pkにおける接平面のz値は、核によって覆われる各ピクセルにおいて決定される。これは同様に前方差分によって行うことができる。
【0181】核がラスタ化されるとき、シートバッファにラスタ化されたピクセルが蓄積される。シートバッファは、投影平面に概ね平行である1組のサンプル点の平面に対応する。新しい寄与が、あるピクセルのために既に格納されている同じ表面に属するか否かを判定するために、新しい値と、そのフレームバッファに格納されるz値との間の差が所定の閾値と比較される。その差が閾値よりも小さい場合には、その寄与はピクセルに加えられる。そうでない場合には、より視点に接近していることものと考えて、シートバッファのデータが新しい寄与によって置き換えられる。シートバッファは、後から前の順序でフレームバッファに合成される(1080)。
【0182】あるシーンの全てのサンプル点がスプラッティングされた後にシェーディングを行うことにより、遅延されたシェーディングを用いることが好ましい。これにより、視認できないサンプル点をシェーディングすることが回避される。代わりに、各ピクセルは、勾配推定を用いて、フィルタリングされた表面法線を判定するためにシェーディングされる。シェーダのためのパラメータは、材料の特性を有するテーブルに索引を介してアクセスされる。表Aを参照されたい。マッピングのような、高度なピクセルシェーディング法を同様に実施することができる。
【0183】さらに、出力画像1009を生成するために、よく知られているフォンの照明モデルを適用することができる。スプラッティング前に、シェーディングを行うこともできることに留意されたい。リアルタイムアプリケーションが、ハードウエアパイプライン、おそらくシングルチップとしてレンダリングプロセスを実施することが一般的である。米国特許第6,008,813号「Real-Time PC Based Volume Rendering System」を参照されたい。それゆえ、図10の機能ブロックを実装する手段として、リアルタイムアプリケーションのためのハードウエアが用いられることが好ましい。
【0184】上記のように、オプションの前処理ステップ20は、モデル10、たとえば多角形モデルからテクスチャを取得することにより、テクスチャフィルタリングを実行し、モデル10を離散した点サンプルモデル101に変換することができる。
【0185】
【発明の効果】ボリュームおよび点サンプル表面レンダリングのための新しいスプラットプリミティブが記載されてきた。このプリミティブは、楕円重み付け平均EWA連続リサンプリングフィルタと呼ばれる。本発明によるプリミティブは、スプラッティング法のための高品質のアンチエイリアシングを提供する。上記の方法は、楕円ガウス復元核とガウスローパスフィルタと組み合わせる。リサンプリング核を決定するために、新しいアプローチが用いられる。2Dおよび3Dガウス復元核の特徴を利用して、本発明による方法は、任意の楕円復元核および透視投影を効率的に取り扱う。それゆえ、本発明のスプラットプリミティブは、規則的、直交、曲線および不規則ボリュームおよび点サンプルデータセットをレンダリングするために非常に適している。
【0186】インタラクティブなフレームレートを達成するために、グラフィクスハードウエアレンダリングエンジンを用いて、本発明のEWAスプラットを、テクスチャマッピングされた多角形としてラスタ化することができる。また、画像平面に平行なシートバッファを用いて、「ポッピング」アーティファクトをなくすこともできる。非直交データセットをレンダリングするために、後から前へのソートプロセスをレンダリング前に適用することができる。さらに、本発明のスプラットプリミティブは、シェーディング後ボリュームレンダリングパイプラインにおいて用いることができる。本発明のEWA復元核の導関数を、帯域制限された勾配核として用いることもできる。結果として、雑音を含むボリュームデータのためのシェーディングによって引き起こされるエイリアシングは回避される。選択除去プロセスとともに、本発明の方法は、リアルタイム等値面レンダリングのためにも有用である。本発明によるボリュームスプラッティング法は、雲、火、および3D医療用走査のようなボリュームを用いるモデルにも適用することができる。
【0187】本発明は、好ましい実施形態の例を用いて記載されてきたが、種々の他の適合形態および変更形態が、本発明の精神および範囲内で行われる場合があることは理解されよう。それゆえ、併記の特許請求の範囲の目的は、本発明の真の精神および範囲内に入るような全てのそのような変形形態および変更形態を網羅することである。
【図面の簡単な説明】
【図1】 本発明によるボリュームデータセットにおける変換のブロック図である。
【図2a】 ボリュームレンダリングのブロック図である。
【図2b】 スプラッティング関数のブロック図である。
【図3a】 カメラ空間からレイ空間への変換のブロック図である。
【図3b】 カメラ空間からレイ空間への変換のブロック図である。
【図4a】 カメラ空間からレイ空間への復元核の変換のブロック図である。
【図4b】 カメラ空間からレイ空間への復元核の変換のブロック図である。
【図4c】 カメラ空間からレイ空間への復元核の変換のブロック図である。
【図5】 本発明による3D復元核及び2D復元核の図である。
【図6】 等値面レンダリングのステップの図である。
【図7】 本発明による復元核の特性のブロック図である。
【図8a】 従来技術のスプラッティングの画像である。
【図8b】 本発明によるスプラッティングの画像である。
【図9a】 ボリュームスプラッティングの画像である。
【図9b】 表面スプラッティングの画像である。
【図10】 本発明による、1組の離散したサンプル点から連続した画像を生成するための構成を示すブロック図である。
【特許請求の範囲】
【請求項1】 1組の離散したサンプル点から画像を生成するための方法であって、各離散したサンプル点をスクリーン空間に投影するステップと、前記スクリーン空間の前記各サンプル点のための連続リサンプリングフィルタを生成するステップであって、前記連続リサンプリングフィルタは、前記スクリーン空間内の前記サンプル点のための連続復元関数と連続フィルタ関数との組み合わせである、前記生成するステップと、前記スクリーン空間内の各対応する離散したサンプルに前記連続リサンプリングフィルタを適用し、前記画像を生成するステップとを含む1組の離散したサンプル点から画像を生成するための方法。
【請求項2】 前記各離散したサンプル点は、物体空間において画定され、前記投影するステップは、前記物体空間から視点に依存しないカメラ空間に前記各サンプル点を変換するステップと、前記カメラ空間からレイ空間に前記各サンプル点を変換するステップと、前記レイ空間から前記スクリーン空間に前記各サンプル点を変換するステップとをさらに含む請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項3】 前記連続リサンプリングフィルタは、楕円重み付け平均ガウス関数の組み合わせである請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項4】 前記1組のサンプル点は、ボリュームデータセットである請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項5】 前記1組のサンプル点は、点サンプリングされた表面である請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項6】 前記1組のサンプル点は、ボリューム内部の表面である請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項7】 前記物体空間内の前記サンプル点をテクスチャフィルタリングするステップをさらに含む請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項8】 前記各連続リサンプリングフィルタをラスタ化し、前記画像の離散したピクセルを生成するステップをさらに含む請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項9】 前記離散したピクセルをバッファに蓄積するステップと、前記蓄積されたピクセルをシェーディングするステップとをさらに含む請求項8記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項10】 前記連続フィルタ関数は、ラスタ化された画像をアンチエイリアシングするために、前記連続復元核の投影をバンドパスフィルタリングするためのローパスフィルタ関数である請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項11】 前記連続復元関数および前記連続フィルタ関数は、それぞれ楕円ガウス関数の形をとる請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項12】 前記連続リサンプリング関数は、縮小および拡大中に不均一にスケーリングされる請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項13】 前記連続復元核は、ボリューム復元のために前記物体空間では3次元であり、表面復元のためには2次元である請求項11記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項14】 前記連続リサンプリングフィルタは、ガウス関数である請求項11記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項15】 前記テクスチャマッピングは、ガウス関数の形をとるテクスチャ復元核を使用し、前記物体空間から各サンプル点のためのテクスチャ空間に前記復元核をマッピングするステップと、前記テクスチャ空間の前記復元核を数値計算し、色を決定するステップと、前記色を前記物体空間内の前記サンプル点に割り当てるステップとをさらに含む請求項7記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項16】 前記ラスタ化中に、ピクセルの断片を多数のシートバッファに格納するステップと、後から前の順序で前記シートバッファを合成し、透明なサンプル点の最終的なピクセルの色を生成するステップとをさらに含む請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項17】 前記各ピクセルの断片のα値と適用範囲係数とを乗算し、前記画像のエッジアンチエイリアシングを可能にするステップをさらに含む請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項18】 1組の離散したサンプル点から画像を生成するためのシステムであって、前記各離散したサンプル点をスクリーン空間に投影するための手段と、前記スクリーン空間内の前記各サンプル点のための連続リサンプリングフィルタを生成するための手段であって、前記連続リサンプリングフィルタは、前記スクリーン空間内の前記サンプル点のための連続復元関数と連続フィルタ関数との組み合わせである、前記生成するための手段と、前記スクリーン空間内の各対応する離散したサンプルに前記連続リサンプリングフィルタを適用し、前記画像を生成するための手段とを備えた1組の離散したサンプル点から画像を生成するためのシステム。
【請求項1】 1組の離散したサンプル点から画像を生成するための方法であって、各離散したサンプル点をスクリーン空間に投影するステップと、前記スクリーン空間の前記各サンプル点のための連続リサンプリングフィルタを生成するステップであって、前記連続リサンプリングフィルタは、前記スクリーン空間内の前記サンプル点のための連続復元関数と連続フィルタ関数との組み合わせである、前記生成するステップと、前記スクリーン空間内の各対応する離散したサンプルに前記連続リサンプリングフィルタを適用し、前記画像を生成するステップとを含む1組の離散したサンプル点から画像を生成するための方法。
【請求項2】 前記各離散したサンプル点は、物体空間において画定され、前記投影するステップは、前記物体空間から視点に依存しないカメラ空間に前記各サンプル点を変換するステップと、前記カメラ空間からレイ空間に前記各サンプル点を変換するステップと、前記レイ空間から前記スクリーン空間に前記各サンプル点を変換するステップとをさらに含む請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項3】 前記連続リサンプリングフィルタは、楕円重み付け平均ガウス関数の組み合わせである請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項4】 前記1組のサンプル点は、ボリュームデータセットである請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項5】 前記1組のサンプル点は、点サンプリングされた表面である請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項6】 前記1組のサンプル点は、ボリューム内部の表面である請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項7】 前記物体空間内の前記サンプル点をテクスチャフィルタリングするステップをさらに含む請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項8】 前記各連続リサンプリングフィルタをラスタ化し、前記画像の離散したピクセルを生成するステップをさらに含む請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項9】 前記離散したピクセルをバッファに蓄積するステップと、前記蓄積されたピクセルをシェーディングするステップとをさらに含む請求項8記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項10】 前記連続フィルタ関数は、ラスタ化された画像をアンチエイリアシングするために、前記連続復元核の投影をバンドパスフィルタリングするためのローパスフィルタ関数である請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項11】 前記連続復元関数および前記連続フィルタ関数は、それぞれ楕円ガウス関数の形をとる請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項12】 前記連続リサンプリング関数は、縮小および拡大中に不均一にスケーリングされる請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項13】 前記連続復元核は、ボリューム復元のために前記物体空間では3次元であり、表面復元のためには2次元である請求項11記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項14】 前記連続リサンプリングフィルタは、ガウス関数である請求項11記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項15】 前記テクスチャマッピングは、ガウス関数の形をとるテクスチャ復元核を使用し、前記物体空間から各サンプル点のためのテクスチャ空間に前記復元核をマッピングするステップと、前記テクスチャ空間の前記復元核を数値計算し、色を決定するステップと、前記色を前記物体空間内の前記サンプル点に割り当てるステップとをさらに含む請求項7記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項16】 前記ラスタ化中に、ピクセルの断片を多数のシートバッファに格納するステップと、後から前の順序で前記シートバッファを合成し、透明なサンプル点の最終的なピクセルの色を生成するステップとをさらに含む請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項17】 前記各ピクセルの断片のα値と適用範囲係数とを乗算し、前記画像のエッジアンチエイリアシングを可能にするステップをさらに含む請求項1記載の1組の離散したサンプル点から画像を生成するための方法。
【請求項18】 1組の離散したサンプル点から画像を生成するためのシステムであって、前記各離散したサンプル点をスクリーン空間に投影するための手段と、前記スクリーン空間内の前記各サンプル点のための連続リサンプリングフィルタを生成するための手段であって、前記連続リサンプリングフィルタは、前記スクリーン空間内の前記サンプル点のための連続復元関数と連続フィルタ関数との組み合わせである、前記生成するための手段と、前記スクリーン空間内の各対応する離散したサンプルに前記連続リサンプリングフィルタを適用し、前記画像を生成するための手段とを備えた1組の離散したサンプル点から画像を生成するためのシステム。
【図1】
【図2a】
【図3a】
【図4b】
【図2b】
【図3b】
【図4a】
【図4c】
【図5】
【図6】
【図8a】
【図7】
【図8b】
【図9a】
【図9b】
【図10】
【図2a】
【図3a】
【図4b】
【図2b】
【図3b】
【図4a】
【図4c】
【図5】
【図6】
【図8a】
【図7】
【図8b】
【図9a】
【図9b】
【図10】
【公開番号】特開2003−67769(P2003−67769A)
【公開日】平成15年3月7日(2003.3.7)
【国際特許分類】
【外国語出願】有
【出願番号】特願2002−125315(P2002−125315)
【出願日】平成14年4月26日(2002.4.26)
【出願人】(597067574)ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド (484)
【住所又は居所原語表記】201 BROADWAY, CAMBRIDGE, MASSACHUSETTS 02139, U.S.A.
【Fターム(参考)】
【公開日】平成15年3月7日(2003.3.7)
【国際特許分類】
【出願番号】特願2002−125315(P2002−125315)
【出願日】平成14年4月26日(2002.4.26)
【出願人】(597067574)ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド (484)
【住所又は居所原語表記】201 BROADWAY, CAMBRIDGE, MASSACHUSETTS 02139, U.S.A.
【Fターム(参考)】
[ Back to top ]