(57)【要約】テクスチャ情報を含む１または複数の３次元物体のモデルに関連する情報に基づいてコンピュータグラフィック処理操作を実行される。方法は、アフィンおよび非アファイン２次元画像変換の両方を行なうことができる変換ステップを含むとともに、前記テクスチャ情報を変換することを含むレンダリングステップを有している。これは、描かれた画像内のテクスチャード加工された１または複数のプリミティブの内側部分のエイリアシングアーチファクトを抑制するためのフィルタリングステップを使用する。特に、方法は、前記プリミティブのエッジの両側に部分的なカラーを付与するために前記フィルタリングを使用する。結局、部分的なカラーの集合体は、当該プリミティブのエッジエイリアシングからのアーチファクトを抑制する。
2005516313.tif 000002
【特許請求の範囲】
【請求項１】
１または複数の３次元物体のモデルに関連する情報に基づいてコンピュータグラフィック処理操作を実行するための方法であって、前記モデルがテクスチャ情報を含み、
前記方法は、アフィンおよび非アファイン２次元画像変換の両方を行なうことができるとともに、描かれた画像内のテクスチャード加工された１または複数のプリミティブの内側部分のエイリアシングアーチファクトを抑制するためのフィルタリングステップを使用することにより前記テクスチャ情報を変換することを含む変換ステップを有するレンダリングステップを含み、
前記プリミティブのエッジの両側に部分的なカラーを付与するために前記フィルタリングがさらに使用され、そのような部分的なカラーは、当該プリミティブのエッジエイリアシングからのアーチファクト(artifact)を抑制するために使用されることを特徴とする方法。
【請求項２】
前記プリミティブは、三角形、四角形、他の多角形、ベジェパッチ等の湾曲したエッジを有する面のうちの１または複数を含んでいる請求項１に記載の方法。
【請求項３】
請求項１に記載された方法を実施するために設けられたシステムであって、前記テクスチャ情報を変換するためにアフィンおよび非アファイン２次元画像変換の両方を行なうことができる変換要素を有するレンダリングモジュールを備えるとともに、描かれた画像内のテクスチャード加工された１または複数のプリミティブの内側部分のエイリアシングアーチファクトを抑制するため、フィルタリングステップを実行するためのフィルタリング手段を備え、
プリミティブのエッジの両側に部分的なカラーを付与するために前記フィルタリング手段がまた設けられており、この部分的なカラーは、当該プリミティブのエッジエイリアシングによって引き起こされるアーチファクトを抑制するために使用されることを特徴とするシステム。
【請求項４】
前記変換要素が多相ＦＩＲフィルタを備えている請求項３に記載のシステム。
【請求項５】
前記フィルタリング手段における計算は、出力空間へと変換されたテクスチャ座標上で行なわれる請求項３に記載のシステム。
【請求項６】
前記フィルタリング手段における計算は、入力空間へと変換された出力サンプル座標上で行なわれる請求項３に記載のシステム。
【請求項７】
前記フィルタリング手段における計算は、変換前に入力サンプルによって駆動されるように行なわれる請求項３に記載のシステム。
【請求項８】
前記フィルタリング手段における計算は、出力サンプルによって駆動されるように行なわれる請求項３に記載のシステム。
【請求項９】
そこから前記モデル情報を受けるための遠隔プレゼンテーション手段へのインタフェースを更に備えている請求項３に記載のシステム。
【請求項１０】
α−テスト操作がフィルタリングの直前に行なわれる請求項３に記載のシステム。
【請求項１１】
エッジエイリアス除去がシングルパスまたはツーパスフォワードテクスチャマッピング技術と組み合わされる請求項３に記載のシステム。
【請求項１２】
エッジエイリアス除去が従来の逆テクスチャマッピング技術と組み合わされる請求項３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、請求項１の前提部分に記載された１または複数の３次元物体のモデルに関連する情報に基づいて処理操作を実行するための方法に関する。
【背景技術】
【０００２】
現在、コンピュータグラフィックが幅広く使用されており、コンピュータビデオゲーム、空間シミュレーション、エンジニアリング、他の分野においては、アフィン(affine)および非アファイン(non-affine)座標変換の両方を適用することが有益である。
【０００３】
ここで、発明者は、そのような目的のための変換、特に小型化の目的のための変換を実行する簡単で安価な処理を提供する必要性を認識した。サンプルレート変換は、それ自体、Ｖａｎ  Ｄａｌｆｓｅｎらに対して付与され且つ本譲受人に対して譲渡された米国特許第５，８９２，６９５号において開示されており、エイリアス除去され且つ変換されたビデオ画像を得るという目的をもって、転置構造を使用することにより行なわれる。本発明の特定の目的は、変換された画像におけるエイリアシング(aliasing)を回避することである。
【０００４】
大まかに説明すると、エイリアスは、結果として得られる画像においてそこに存在すべきでない項目である。本発明において、エイリアシングは、一般に、滑らかな線または曲線でなければならないプリミティブ(primitive)の鋸歯状または段状のエッジ特徴として、あるいは、そのようなエッジ又はその近傍のピクセルカラー不良によって表わされる。このピクセルカラー不良は、対象のカラーとは異なるカラーを与える。技術的には、遠近的に変換されたテクスチャマップ等の信号を、例えばスクリーン上のピクセルグリッドによってサンプリングする時に、エイリアシングが生じる。問題は、それ自体、あまりにも高いために別個の信号中に表わされない周波数を信号が含んでいる時に現われる。エイリアシングは、いわゆる前置フィルタを使用して、サンプリング前にこれらのサンプルをフィルタに通すことにより除去できる。
【０００５】
以下の説明において、１つのピクセルは、スクリーンまたはプリント等の最終的な表示体上のサイズが無い場所であり、複数のピクセルは、配列形態によって書き取らされるピクセル間隔パターンにしたがって互いに分離される。サンプルは、座標および値の両方を有している。フラグメントは、最終的なテクセルに寄与する情報を含んでいる。テクセルは、モデルの最初の描写から抽出された情報である。プリミティブは、他のプリミティブと組み合わせて最終的な画像における一組のエッジの基本となる、描写として使用される最初のモデルにおける首尾一貫した要素である。そのようなプリミティブは、三角形、四角形、他の多角形、ベジェパッチ(Bezier patch)等の湾曲したエッジを有する面であっても良く、平坦に限定されない。また、場合によっては、他の項目であっても良い。
【０００６】
ここで、本発明者らは、最初のエッジの両側からのテクセルが、サンプリングおよびフィルタリングにより、結果として得られるエッジの両側で、最終的なピクセルに寄与し得ることを認識した。したがって、使用されるフィルタカーブによって規定されるように、モデルのエッジの両側からのテクセルは、最終的に得られる画像を組立てるための部分的なカラーを与えることができなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
その結果、特に、本発明の目的は、簡単な方法でそのような部分的なカラーを得ることであり、特に、プリミティブエッジの両側からの情報を最終的なピクセルに寄与させる部分的なカラーを得ることである。
【課題を解決するための手段】
【０００８】
したがって、本発明の一態様において、本発明は、請求項１の特徴部分によって特徴付けられる。
【０００９】
また、本発明は、請求項１に記載された方法を実施するために設けられたシステムに関する。本発明の更なる有利な態様は、従属請求項に記載されている。
【発明を実施するための最良の形態】
【００１０】
以下、好ましい実施形態の開示内容、特に添付図面を参照しながら、本発明のこれら及び他の態様、利点について詳細に説明する。
【００１１】
図１は、入力サンプル駆動処理パイプラインのバックエンドの図を示している。ここで、多角形情報２０は、テクスチャ空間のラスタライザ２４の左手側に入力される。そのような多角形情報の生成は、それ自体、従来技術である。ラスタライズするため、テクスチャメモリ２２は、必要なテクスチャ情報を与える。ラスタライズした後、有限インパルス応答ＦＩＲフィルタ２６により、情報に対してフィルタリングが施される。フィルタリング後、初期において個別に形成された様々なピクセルフラグメントが適当な方法で組み合わされることにより、当該スクリーンピクセルの最終的な情報が生成される。これらのピクセルフラグメント操作は、ブロック２８で実行される。組み合わせ後、スクリーン画像は、画像表示等のその後の使用のため、フレームバッファ３０内に記憶される。
【００１２】
図２は、図１のピクセルフラグメント操作モジュールの一部であるフラグメントバッファの状態の更に詳細な図である。左側で、入力部３８は、図１のＦＩＲフィルタ２６からの出力を受ける。ブロック３２においては、デプスソートフラグメント挿入が実行される。これにより、特定のフラグメントが他のプリミティブの局所的に“前”であるか或いは局所的に“後”であるかが判断される。これら２つの場合の前者において、処理では、特定のプリミティブが透明であるか或いは不透明であるかも判断される。特定の他の基準も役割を果たすことができるが、これについては、簡単のため無視する。デプスソートフラグメント挿入後、様々なピクセルフラグメントの情報、すなわち、ピクセルフラグメントは、ピクセルフラグメントバッファ内に転送される。全てのプリミティブが処理されるとともに、それらのフラグメントがフラグメントバッファ内に挿入された後、ソートされたピクセルフラグメントは、モジュール３６で最終的なピクセル情報を構成するため、出力部４４に出力される。構成後、結果として得られたピクセル情報は、図１のフレームバッファ３０に繋がる相互接続部４０へと出力される。
【００１３】
図３は、１次元の場合におけるフィルタリング処理のグラフを示している。この図は、単一の出力サンプルすなわちピクセルのためのリサンプリング(resampling)プロセスを効果的に示している。リサンプリングは、技術的に標準的な専門用語であり、例えば、バークリーにあるカリフォルニア大学のＥＥＣＳ学部のＨｅｃｋｂｅｒｔ  Ｐ．Ｓ．による修士論文（１９８９年）“テクスチャマッピングおよび画像ワーピングの原理”に記載されている。特に、白丸(open circle)は、入力サンプルすなわちテクセル(texel)ｔ４における重み係数を表わしている。図示のように、処理は、負の入力サンプル重みを許容する。フィルタ特性の両端で、応答が０になる。
【００１４】
３次元シーンで多角形または他のプリミティブ上に“糊付けされた(glued)”テクスチャとも呼ばれる個々の画像に関して、これと同じ手法を使用することができる。一方、この手法は、多くの場合、プリミティブのエッジ近傍で行き詰まる(break down)。これは、特定の最後のピクセルに寄与する全てのテクセルを利用しなければならないからである。これは、一般に、オープンＧＬまたはダイレクト３Ｄのような標準的なイミーディエイトモードＡＰＩに従うシステムの３次元グラフィックパイプラインにおける場合ではない。これらのシステムは、一般に、各プリミティブ毎を基本に処理する。すなわち、特定の単一のプリミティブのテクセルだけが、任意の所与の瞬間(given instant)に利用可能となる。
【００１５】
このことを明らかにするため、図４は、１次元の場合におけるフィルタリング処理の図を示している。ここで、特定のピクセルは、明らかに、グラフ中の両方の多角形からカラーを濾過する必要がある。正確な理論的処理により、連続する信号が構成されても良く、また、これらの連続する信号が、出力表示グリッドによって表示できない高周波成分を拒絶する前置フィルタのための入力信号として使用されても良い。このようにして、テクスチャ画像および多角形エッジからの高周波成分が同じ方法で処理される。スーパーサンプリング(super sampling)をこの手法の粗い近似として見なしても良い。すなわち、実際には、スーパーサンプリングは、縮小中(downscaling)のフィルタプロファイルを、多角形等の様々なプリミティブから得ることができるサブサンプルにおける所望の解像度に適用する。
【００１６】
ここで、本発明においては、ピクセルカラーが所望の出力解像度で計算される。特定のピクセルに関して前置フィルタ(prefilter)フットプリントと重なりを持つ全ての多角形は、原則として、そのピクセルに確かに寄与する。どのピクセルの前置フィルタフットプリントが有効に重ね合わされているかについての決定は、出力従動(output-driven)フィルタ処理と見なすことができる従来の逆マッピング処理の適用下では、複雑である。入力駆動フィルタ処理であるフォワードマッピングの適用下では、前記判断はより容易である。したがって、本実施形態は、前記入力駆動フィルタ処理と、“スプラッティング(splatting)”すなわち転置された直接型フィルタリングによりピクセル群に対するテクセルの寄与度を蓄積する入力従動フィルタ処理とを組み合わせている。これにより、直接的に、特定の１つのピクセルに対する全ての寄与度が得られる。いずれのテクセルが多角形との有効な前置フィルタフットプリント重なりの範囲内に入っているかについての判断は、非常に明示的に行なう逆マッピングの処理と区別されるように、暗示的に行なわれる。入力従動計算において、テクセルは、幾つかの出力ピクセルに寄与しても良い。前置フィルタフットプリント内の全てのテクセルが処理された場合には、１つの特定のピクセルが確定される。図４は、単一の出力ピクセルに寄与する２つの多角形の一例を示している。
【００１７】
なお、イミーディエイトモードＡＰＩを操作する３次元グラフィックシステムにおいては、様々な多角形間の隣接関係が一般に分かっていない。そのため、特定の１つのピクセルに寄与するこれらの幾つかの多角形の組み合わせを計算することは重要である。
【００１８】
エッジエイリアス除去(edge anti-aliasing)技術は、シングルパスフォワードテクスチャマッピング技術またはツーパスフォワードテクスチャマッピング技術と組み合わせることができる。また、やや複雑な方法で、従来の逆テクスチャマッピング技術と組み合わせることもできる。最初の例として、ここでは、入力サンプル従動プレフィルタリングと組み合わされるワンパスフォワードテクスチャマッピング方法に関し、小型化について説明する。この点で、図５ａ，５ｂは、テクスチャ空間内でのラスタライズの例を示している。
【００１９】
ここで、フォワードマッピングは、テクスチャ空間内で１つの多角形をラスタライズする。殆どのラスタライザは、三角形に基づいて操作するが、図は、四角形に基づいたラスタライザを想定している。長方形から三角形への移行が簡単に実施できる。図５ａにおいて、正方形は、図５ｂの左側に面する側面に対応付けられたテクスチャ領域を表わしている。図５ａにおいて、テクセル座標は、テクスチャ格子線の交点で規定される。ピクセル座標は、図５ｂのスクリーン空間の格子パターン上に小さな点で示されている。テクスチャの正方形の切り抜き内において、フォワードテクスチャマッピングラスタライザは、全てのテクセルを横切る（全探索する）。各テクセルの座標は、（ｘ−ｙ）で規定されたスクリーン座標に対してマッピングされる。図５ｂにおいて、破線の矢印は、そのようにして横切られたマッピングされたテクセル範囲を示している。図６ａ，６ｂにおいて、十字形は、テクスチャス空間からスクリーン空間までの特定のテクセルのマッピングを示している。
【００２０】
図６ｂは、図６ａに示された特定のテクセルからの寄与度を有するピクセルを示している。これのピクセルは、マッピングされたテクセル座標に基づいて決定される。その前置フィルタフットプリントがマッピングされたテクセル座標と重なりを持つピクセルは、前置フィルタフットプリント内の位置に基づいて寄与され、重み付けられる。特に、交差したテクセルからの寄与度を有するピクセルは、比較的大きい点を用いて印が付けられている。フィルタプロファイルを使用することによって入力テクセルからの寄与度を出力ピクセルにわたって分配するための入力従動処理は、１次元を例にとって最もうまく説明することができる。
【００２１】
一例として、図７は、様々なテクセルからの寄与度を１次元の場合において示している。図示のように、この場合のテクセルは、マッピングされたテクセル座標に最も近接して位置する４つのピクセルに寄与している。寄与するピクセルの数は、フィルタフットプリントの単位幅（すなわち、２次元では単位面積）に等しい（小型化を適用する場合）。このフィルタリング方法は、１次元においては非常に効率的に行なうことができる。その場合、“転置直接型多相ＦＩＲフィルタ構造(transposed direct-form polyphase FIR filter structure)”と呼ばれるビデオフィルタ技術を使用することができる。２次元テクスチャマッピングおよびフィルタリングは、２つの連続する１Ｄフィルタパスにより効率的に行なうことができるが、この項ではこれ以上考慮しない。
【００２２】
入力従動処理は、現在の多角形の“エッジ領域”内のピクセル（この場合、ピクセルの前置フィルタフットプリントが部分的にこの多角形と重なり合う）が“部分的な”ピクセルカラーを得るという利点を有している。この部分的なピクセルカラーは、その後、１または複数の更に隣接する多角形から得られる部分的なカラー或いはシルエット(silhouet)エッジの場合には背景多角形から得られる部分的なカラーを用いて完成される。この点で、図８ａ，８ｂは、多角形の左側面の“エッジピクセル”の位置を示している。一例として、前置フィルタの正方形のフットプリントは、３×３の面積を有している。図８ｂ中、２つのピクセル、すなわち、多角形の輪郭の内側のピクセルおよび外側のピクセルにおいて、前置フィルタフットプリントは、内側に大きな十字形を有する１つの正方形として示されている。前置フィルタフットプリントの内側に収まる現在の多角形のテクセルだけが当該ピクセルに寄与するが、テクスチャ空間内で多角形の輪郭の外側に位置するテクセルは、当該ピクセルに寄与しない。
【００２３】
更に正確且つ明確にするためには、多角形の輪郭の内側にあるテクスチャ信号だけを使用しなければならない。しかしながら、更に高次の再構成フィルタが使用される場合、多角形の輪郭の外側にあるテクセルも、多角形の輪郭の内側にある信号に寄与することができ、これにより、当該ピクセルに対して更に寄与することができる。
【００２４】
これについては、特に図９ａ，９ｂに詳しく示されている。図９ａ，９ｂは、寄与すべき多角形内および前置フィルタフットプリント内のテクセルのみにおける多角形の左側面の“エッジピクセル”の位置を示している。ピクセル空間内における最初のテクセル位置及びその対応する部分が、小さな十字形によって示されている。
【００２５】
ピクセルのための多角形の寄与度は、そのテクセル座標がピクセルの前置フィルタフットプリント内でマッピングされるテクセル寄与度の合計である。テクセルカラー寄与度は、当該多角形をラスタライズしている最中に、累積されて１つの値にされる。我々は、３つの多角形−ピクセル寄与度値を図２に示されるフラグメントバッファ内に記憶させて、全ての多角形が描かれた後の後処理工程で最終的なピクセルカラーを正確に組み合わせることができるようにすることを提案する。多角形−ピクセル寄与度値は、（部分的な）カラーと、寄与度因子（寄与する全てのテクセルの重みの合計）と、奥行値とから成り、おそらく、ここでは、更なるデータが考慮されない。我々は、これをピクセルフラグメントと称する。
【００２６】
また、前述したエッジエイリアス除去法を従来の逆テクスチャマッピングに適用することもできる。この目的のため、前置フィルタフットプリントが当該多角形を部分的にのみ覆う場合には、部分的なカラーも出力できるように従来のフィルタを拡張することができる。
【００２７】
更に一般的な単位フラグメント(per-fragment)操作は、いわゆるα−テストである。この場合、α−チャンネル内の情報は、特定のカラーが寄与するか否かを判断するために使用される。伝統的に、このα−テストは、単位フラグメント操作として行われている。テクセル毎を基本に、すなわち、フィルタリング前に、α−テストを行なうことが有利な場合もある。この場合、特定のテクセルがα−テストをし損なうと、テクセルがピクセルの前置フィルタフットプリント内に収まっている場合であっても、そのピクセルに対するその寄与度が０に設定される。このように、α−テストによって特定されたエッジをエイリアス除去するために、前置フィルタも使用される。ピクセルフラグメント操作モジュールにおけるα−テスト操作は、フィルタユニットの直前に位置されることが好ましい。
【図面の簡単な説明】
【００２８】
【図１】入力サンプル従動(sampledriven)処理パイプラインのバックエンドの図である。
【図２】図１のピクセルフラグメント操作の一部を形成するフラグメントバッファの更に詳細な図である。
【図３】１次元の場合におけるインターバルフィルタリング処理の図である。
【図４】１次元の場合におけるエッジフィルタリング処理の図である。
【図５ａ】テクスチャ空間における典型的なラスタライゼーションである。
【図５ｂ】テクスチャ空間における典型的なラスタライゼーションである。
【図６ａ】特定のピクセルを用いて寄与されるピクセルである。
【図６ｂ】特定のピクセルを用いて寄与されるピクセルである。
【図７】様々なテクセルからの寄与度である。
【図８ａ】多角形の左側面“エッジピクセル”の位置である。
【図８ｂ】多角形の左側面“エッジピクセル”の位置である。
【図９ａ】寄与すべき多角形内および前置フィルタフットプリント内のテクセルのみにおける多角形の左側面の“エッジピクセル”の位置である。
【図９ｂ】寄与すべき多角形内および前置フィルタフットプリント内のテクセルのみにおける多角形の左側面の“エッジピクセル”の位置である。
【符号の説明】
【００２９】
２０  多角形情報
２２  テクスチャメモリ
２４  ラスタライザ
２６  ＦＩＲフィルタ
２８  ピクセルフラグメント操作
３０  フレームバッファ
３２  デプスソートフラグメント挿入
３４  ピクセルフラグメントバッファ
３６  ピクセルフラグメント構成
３８  入力部
４０  相互接続部
【図１】
2005516313.tif 000003
【図２】
2005516313.tif 000004
【図３】
2005516313.tif 000005
【図４】
2005516313.tif 000006
【図５ａ】
2005516313.tif 000007
【図５ｂ】
2005516313.tif 000008
【図６ａ】
2005516313.tif 000009
【図６ｂ】
2005516313.tif 000010
【図７】
2005516313.tif 000011
【図８ａ】
2005516313.tif 000012
【図８ｂ】
2005516313.tif 000013
【図９ａ】
2005516313.tif 000014
【図９ｂ】
2005516313.tif 000015
【国際調査報告】
2005516313.tif 000016
2005516313.tif 000017
2005516313.tif 000018
2005516313.tif 000019