(57)【要約】一組のグラフィックプリミティブを表す情報を提供するためのモデル情報提供ユニット（２１０）と、そのプリミティブと関連するベースグリッドと一致する第一の系列の座標を生成する能力を有するラスタライザ（２２７）と、前記第一の系列の座標に色を割当てるための色生成器（２３５）と、色生成器によって、座標ｕ，ｖに対するベースグリッド内に割当てられた色を、ディスプレイと関連する座標ｘ，ｙを有するグリッド内の表現へと、第一と第二の変換にて、リサンプルするためのディスプレイ空間リサンプラ（２４５）と、を備えるコンピュータグラフィックプロセッサが開示される。この変換は、第一と第二のパス内で遂行され、オプションとして置換を含む。これらパスの順番と、置換を適用するか否かの決定は、偏導関数式（Ｉ）に基づき、これらの内の２つはせん断を決定し、これらの内の２つは、これら変換におけるスケーリングを決定する。比較的大きな導関数がスケールファクタとして発生し、比較的小さな導関数がせん断ファクタとして発生し、そして、最も少ないせん断量が第二の変換の際に発生するオプションが選択される。
2006523886.tif 000002
【特許請求の範囲】
【請求項１】
一組のグラフィックプリミティブを表す情報を提供するモデル情報提供ユニットと、前記プリミティブと関連するベースグリッドと一致する座標の第一の列を生成する能力を有するラスタライザと、前記座標の第一の列に色を割当てる色生成器と、第一および第二の変換にて、第一および第二のパス内で遂行される、ディスプレイと関連する座標ｘ，ｙを有するグリッド内の表現に対して、前記色生成器によって、座標ｕ，ｖに対するベースグリッド内に割当てられた色をリサンプリングするとともにオプションとして置換を含むディスプレイ空間リサンプラと、を備えるコンピュータグラフィックプロセッサであって、
前記プロセッサは、偏導関数
【数１】
2006523886.tif 000007
の評価に基づいて、前記変換の順番を選択しかつ置換を適用するか否かを選択するための選択ファシリティを有し、
前記偏導関数の内の、２つはせん断を決定し、これらの内の２つは、これら変換におけるスケーリングを決定し、前記選択は比較的大きな導関数がスケールファクタとして発生し、比較的小さな導関数がせん断ファクタとして発生し、そして、最も少ないせん断の合計量が前記第二の変換の際に発生するようになされるコンピュータグラフィックプロセッサ。
【請求項２】
前記ラスタライザは、前記プリミティブの表面の２Ｄパラメータ表現を提供する座標系内のあるグリッド上のプリミティブをラスタ化する請求項１記載のコンピュータグラフィックプロセッサ。
【請求項３】
前記グリッドは前記テクスチャマップの内の１つから導き出される請求項２記載のコンピュータグラフィックプロセッサ。
【請求項４】
１つより多くのテクスチャが適格であるときは、テクスチャ空間内に最も大きな面積を有するテクスチャが選択される請求項３記載のコンピュータグラフィックプロセッサ。
【請求項５】
前記プリミティブと関連するテクスチャが存在しないときは、前記プリミティブの表面上のダミーグリッドが、ダミーテクスチャ座標を各頂点に割当てることによって選択される請求項２記載のコンピュータグラフィックプロセッサ。
【請求項６】
コンピュータグラフィック画像を生成する方法であって、
一組のグラフィックプリミティブを表す情報を提供するステップと、
前記プリミティブと関連するベースグリッドと一致する座標の第一の列を生成するステップと、
前記座標の第一の列に前記グラフィックプリミティブを表す情報を用いて色を割当てるステップと、
座標ｘ，ｙを有するディスプレイと関連するグリッド内の表現に対して、色生成器によって、座標ｕ，ｖに対するベースグリッド内に割当てられた色を、第一と第二のパス内でリサンプリングするステップと、
前記ディスプレイ内の座標の、前記ベースグリッド内の座標に関しての、偏導関数
【数２】
2006523886.tif 000008
を評価するステップと、を含み、
これら偏導関数の内の、２つはせん断を決定し、これらの内の２つは、これら変換におけるスケーリングを決定し、前記選択は、比較的大きな導関数がスケールファクタとして発生し、比較的小さな導関数がせん断ファクタとして発生し、最も少ないせん断の合計量が前記第二の変換の際に発生するようになされるコンピュータグラフィック画像を生成する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータグラフィックプロセッサに関する。
【０００２】
本発明はさらにコンピュータグラフィック画像を生成する方法に関する。
【背景技術】
【０００３】
コンピュータにて生成された画像のレンダリングは、多くの異なる技法を用いて、多くの異なる目的に対して行なわれている。高ボリュームの消費者レベルの製品は、プリミティブが投影するスクリーン上の画素を横断することによって、前記プリミティブを、１つ１つ、レンダーするスクリーン空間走査線アルゴリズムに基づいている。あるプリミティブがこれら画素に寄与する色を決定するために逆テクスチャマッピングが用いられている。このようなグラフィックパイプラインの、後の（ラスタ化及びこれを越える）ステージにいくらかの修正を加えることで[8]、フォワードテクスチャマッピングも同様に用いることができる。フォワードテクスチャマッピングでは、プリミティブの、スクリーン上への投影ではなく、テクスチャマップ上への投影が横断され、遭遇されたテクスチャサンプル（テクセル）がマッピングされ、スクリーン上にスプラットされる。このマッピングは２Ｄ変換を含む。
【０００４】
２Ｄフィルタリングは、大きなクラスのフィルタに対して、２つの１Ｄフィルタパスを用いて近似できることが知られているが、これはより効率的な解法を提供する。例えば、文献[2、17]を参照されたい。
【０００５】
ここにおいて説明されるように、このような分離は、いわゆるボトルネック問題と、せん断の問題とを提示するが、これは、結果として、それぞれ、ぼけと、エイリアシングをもたらす。結果的としてのこれら不利な影響を緩和するために、これら出版物は、４つの横断の順番について記述する。これらの内の１つは、ボトルネック問題が低減されるように選択される。せん断エイリアシングに対する１つの解法として、スーパーサンプリングが、知られている文献において記述されている。スーパーサンプリングは、余分な解像度を、要求される出力解像度に低減するために、余分なダウンスケールフィルタを要求する。
【発明の開示】
【０００６】
本発明の１つの目的は、そこにおいてはこのような余分なダウンスケールフィルタが余計となるような、コンピュータグラフィックプロセッサと、コンピュータグラフィック画像を生成する方法とを提供することにある。本発明のこの目的に従うコンピュータグラフィックプロセッサが請求項１において請求されている。本発明のこの目的に従うコンピュータグラフィック画像を生成する方法が請求項６において請求されている。本発明によるコンピュータグラフィックプロセッサにおいては、モデル情報提供ユニットは、一組のグラフィックプリミティブ、例えば、三角形又は他の多角形、又はＢｅｚｉｅｒ形状を表す情報を提供する。提供される情報は、これらプリミティブの形状を定義する幾何情報及び／又はこれらプリミティブの外観、例えば、テクスチャ及び色情報を定義する外観情報を含む。
【０００７】
ラスタライザは、そのプリミティブと関連するベースグリッドｕ，ｖと一致する座標の第一の列を生成する能力を有するとともに、さらに、この第一の列と関連する、補間された値の１つ又は複数の列を生成する能力を有する。このさらなる列は、スクリーン（ディスプレイ）座標ｘ，ｙを含むと共に、例えば、そのプリミティブによって表される表面の法線情報（normal information）を含む。
【０００８】
色生成器は、前記外観情報を用いて前記座標の第一の列に色を割当てるように構成される。この色生成器は、単にラスタライザによって提供される補間された色を用いても良いが、しかし、さらに、複雑なシェーディング（shading）及びテクスチャリング操作を遂行しても良い。ディスプレイ空間リサンプラは、ディスプレイと関連する座標ｘ，ｙを有するグリッド内の表現に対して、色生成器によって座標ｕ，ｖに対するベースグリッド内に割当てられた色をリサンプリングするように構成される。この変換は、計算量を実質的に低減できるように第一および第二の変換で遂行される。
【０００９】
このディスプレイ空間リサンプラは、置換ファシリティ（transposing facility）と、４つのオプションから、その画像データが置換されている否かに依存して、及びこれら第一および第二の変換が適用される順番に依存して、すなわち、最初に、これらディスプレイ座標のｘ座標が、計算されるのか、ｙ座標が、計算されるのかに依存して、選択するための選択ファシリティ（selection facility）と、を用いる。本発明によるこのコンピュータグラフィックファシリティおよび方法は、これら４つの代替物間の選択を行うための、せん断も考慮に入れる、新たな選択基準を含む。本発明らによって、第二のパスのフィルタは、第一のパス内で遂行された任意のスーパーサンプリングに対するダウンサンプルフィルタとして働くことができること、及び第二のパスにおいてスーパーサンプリングを遂行すると追加のダウンサンプルフィルタ（第三のパス）が必要となることと、が認識された。従って、ボトルネックを低減するための第一の選択ステップを行い、そこにおいて、置換が適用されるべきか否かを決定した後に、残された２つのオプション間の選択が、これら２つのパス（変換）内で発生するせん断に基づいて行なわれる。
【００１０】
置換は、ある座標対の座標が入れ換えられるような変換を含むように意図される。これは、これら座標を、例えば、ラインｘ＝ｙ、又はラインｘ＝−ｙを中心として鏡映することで達成される。これと同じ効果は、９０°のフォワード又はバックワード回転によっても達成できる。しかし、この場合は、もし、第一の置換がバックワード回転とされたときは、第二の置換はフォワード回転を含むことを要求され、逆もまた同様になる、ことに注意する。
【００１１】
こうして、そこでは、第二のパスにおいて最も少ない総量のせん断が発生し、このため第二のパスにおけるスーパーサンプリングに対する必要性が回避できるようなオプションが選択される。代わりに、最悪のせん断は、せん断エイリアシングがスーパーサンプリングを用いて容易に低減することができる第一のパス内に入れられる。
【００１２】
とりわけ、４つのオプションは、以下のように定義することができる。
【００１３】
第一のオプション、ここでは、
第一のパス内においては、ｕｖ画像データは、座標ｖを有する各ラインに対して、ｕをｘにマッピングすることで、ｘｖ画像データにリサンプルされ、
第二のパスにおいて、このｘｖ画像データは、座標ｘを有する各ラインに対して、ｖをｙにマッピングすることで、ｘｙ画像に変換される。
【００１４】
第二のオプション、ここでは、
第一のパスにおいては、ｕｖ画像データは、座標ｕを有する各ラインに対して、ｖをｙにマッピングすることで、ｕｙ画像データにリサンプルされ、
第二のパスにおいて、このｕｙ画像データは、座標ｙを有する各ラインに対して、ｕをｘにマッピングすることで、ｘｙ画像に変換される。
【００１５】
第三のオプション、ここでは、
第一のパス内においては、ｕｖ画像データは、座標ｖを有する各ラインに対して、ｕをｙにマッピングすることで、ｙｖ画像データにリサンプルされ、
第二のパスにおいて、このｙｖ画像データは、座標ｙを有する各ラインに対して、ｖをｘにマッピングすることで、ｙｘ画像データに変換され、そして、
このｙｘ画像データがｘｙ画像データに置換される。
【００１６】
第四のオプション、ここでは、
第一のパスにおいては、ｕｖ画像データは、座標ｕを有する各ラインに対して、ｖをｘにマッピングすることで、ｕｘ画像データにリサンプルされ、
第二のパスにおいて、このｕｘ画像データが、座標ｘを有する各ラインに対して、ｕをｙにマッピングすることで、ｙｘ画像データに変換され、そして、
このｙｘ画像データがｘｙ画像データに置換される。
【００１７】
これら第三と第四のオプションにおいては、ラスタライザによって生成された座標の明示的な置換は必要とされない。代わりに、ベースグリッドの座標を生成する前に、単にプリミティブを定義する頂点及び／又は制御点の座標が置換される。
【００１８】
本発明のこれら及びその他の態様が図面を参照しながらより詳細に説明される。
これら図面中、互いに対応するパーツは１００又はこの倍数だけ異なる参照番号を有する。
【発明を実施するための最良の形態】
【００１９】
図１は、グラフィックパイプラインフィーチャリングプログラマブル頂点及び画素シェーディングの最終ステージのアーキテクチャを示す。プログラマブル頂点シェーダ１０は（このパイプラインの終端の所のフレームバッファ７０と共に）、図２以下を参照しながら説明されるアーキテクチャに変更の背景を提供する。この頂点シェーダ[6]は、再現されるべきプリミティブの各頂点に対して、画素シェーダ３０に対するデータを修正及び設定することができる。この頂点シェーダ１０によって（補間のために）ラスタライザ２０に提供されるデータは、通常は、拡散及び／又は鏡面反射色、テクスチャ座標、（ホモジナス）スクリーン座標などの属性を含み、しばしば、追加のデータ、例えば、表面法線又はシェーディングプロセスに対して要求される他のデータを含む。
【００２０】
これら属性は、これら頂点属性からスクリーン座標をラスタ化プロセスに対する駆動変数として選択することで、走査線アルゴリズムを用いてプリミティブのスクリーン上への投影内に横たわる画素を走査するスクリーン空間ラスタライザ２０に提供される。このラスタライザ２０は、これら属性を、訪問された画素の各々に対する値を提供するために補間する。補間は、ワード空間からスクリーン空間への透視的マッピングを説明する。これら属性は、こうして、画素シェーダ[11、12、13]がこれら属性を、局所的表面色を計算するために用いる各画素位置において利用可能となる。テクスチャデータが必要とされるときは、テクスチャ座標が与えられたテクスチャメモリ５０からテクスチャサンプルを得るために、テクスチャ空間リサンプラ４０は用いられる。これらテクスチャ座標は、画素シェーダ３０によって、サスタライザ２０から受信される補間された座標と、前のテクスチャフェッチからの任意の結果（いわゆる依存的テクスチャリング）及び／又は計算と、に基づいて生成される。このテクスチャフィルタ動作は、通常は、近傍のテクセル（texels）のバイリニア（bilinear）又はトリ・リニア（tri-linear）補間、又は異方的な（透視的に変換された）フィルタフットプリント（filter footprint）を近似するための、そのようなテクスチャプローブの組み合せに基づく。
【００２１】
ある画素に対する表面色が決定された後に、結果としての画素フラグメント（pixel fragment）は、ＥＡＡ＆ＨＲＳ（Edge Anti-Aliasing and Hidden Surface Removal：エッジのアンチ・エイリアシングと隠れ表面の除去）ユニット６０に送られる。通常は、このユニットは、隠れ表面の除去のためには、Ｚ−バッファを用い、そしてエッジのアンチ・エイリアシングのためには、マルチ・サンプリングを（関連するサブ・サンプルバッファ及びダウンサンプル論理とともに）用いる。ダウンサンプリングは、全てのプリミティブが、（通常はボックス）プリフィルタを用いてサブ・サンプルを最終的な画素解像度の色に結合することで再現された後に適用される。
【００２２】
高フィデリティー画像（high-fidelity pictures）をレンダリングするときの重要な問題は、アンチ・エイリアシング（テクスチャアンチ・エイリアシングとエッジアンチ・エイリアシングの両方）である。現在のスーパーサンプリング及びマルチ・サンプリング技法は、計算的に大変であるとともに、多量のメモリ帯域幅を要求する。フォワードテクスチャマッピングを用いるグラフィックパイプラインアーキテクチャにおいては、エイリアシングアーティファクト（aliasing artifacts）を回避するために、プリフィルタリングを簡単に用いることができる[8、9、2]。このようなフォワードテクスチャマッピングアーキテクチャが図２に示されている。
【００２３】
図１の、従来のパイプラインにおけると同様に、図２に示されているコンピュータグラフィックプロセッサは、一組のグラフィックプリミティブを表す情報を提供するための、プログラマブル頂点シェーダ、又は変換及び照明ユニットとも呼ばれる、モデル情報提供ユニット１１０を含む。これは、さらに、そのプリミティブと関連するベースグリッドと一致する座標の第一の列を生成する能力を有するラスタライザ１２５も含む。
【００２４】
このテクスチャ空間ラスタライザ１２５は、従来のスクリーン空間ラスタライザ２０とは異なり、プリミティブの（スクリーン上ではなく）テクスチャマップ上への投影を、ラスタ化プロセスに対する駆動変数として（スクリーン座標の代わりに）テクスチャ座標を選択することで、横断する。全ての属性は（透視的に補間される、あるテクセルがそれに射影されるスクリーン座標を除いては、線形的に）補間される。このテクスチャ空間ラスタライザ１２５は、例えば４Ｄミップマッピング（4D mipmapping）に対応するグリッド上の、テクスチャマップを走査する（４Ｄミップマッピングの詳細に関しては、Ｈｅｃｋｂｅｒｔのテクスチャマッピングの調査[4]を参照されたい）。テクスチャフェッチは、この場合は、結局は、テクスチャメモリ１５０内に格納されている３Ｄミップマップデータ（mipmap data）からの４Ｄミップマップの再構成となる。代替として、このテクスチャは、メモリ１５０内に圧縮せずに格納しても良く、又は、オンザ・フライにて生成しても良い。
【００２５】
このコンピュータグラフィックプロセッサは、さらに、座標の前記第一の列に色を割当てるための色生成器（示されていない）を含む。この中において、あるフェッチされたテクセルは補間された拡散及び／又は鏡映色と結合され、結果として、このテクスチャサンプルがスクリーン上のどこにマッピングされるべきかを示す（通常は非整数の）関連するスクリーン座標と共にその表面の色サンプルをもたらす。
【００２６】
ディスプレイ空間リサンプラ１４５は、色生成器によって、座標ｕ，ｖに対するベースグリッド内に割当てられた色を、座標ｘ，ｙを有するディスプレイと関連するグリッド内の表現にリサンプルする。
【００２７】
このスクリーン空間リサンプラ１４５から来る画素フラグメントは、次に、フラグメントバッファを用いる[8]、ＥＡＡ＆ＨＳＲユニット１６０内で結合される。画素フラグメントは、このバッファ内に隠れ表面問題を解決するために、深さ別に分級して格納される。全てのプリミティブが再現された後に、各画素に対する全てのビジブルなフラグメントが結合され（これは、このスクリーン空間リサンプラ１４５は、プリフィルタによって既に重み付けられた色を供給するために、結局は、ほとんど、単純な総和と等しくなる）、フレームバッファ１７０に送られる。スクリーン空間リサンプラ１４５によって生成されたエッジ近傍の部分的寄与が結合され、結果として異なるプリミティブからの色の結合としての最終的な画素色が得られ、この結果としてエッジアンチ・エイリアシングが達成される。A-buffer[1]、Z3 buffer[5]、又はWarpEngine[14]において用いられる技法を、このＥＡＡ＆ＨＲＳ内で用いることもできる。しかし、Meinds[8]による文献に記載されるフラグメントバッファについては、これらバッファと、これは、このバッファ内の１つの画素からの（恐らくは部分的に前後関係に来る）色を、スーパーサンプルグリッド上のある位置に対する（常に互いに隣に来る）色の代わりに、その画素の全フィルタフットプリントに対する部分的寄与と見なす点で異なる。
【００２８】
この画素シェーディングプロセスの結果としてのシェーディングされた色サンプルは、そのスクリーン座標と共に、スクリーン空間リサンプラ１４５に転送される。スクリーン空間リサンプラ１４５は、（一般的には非整数画素位置に位置する）これら色サンプルを、ディスプレイに対して必要とされる整数画素位置にリサンプルする。換言すれば、スクリーン空間リサンプラは、マッピングされたテクセルを整数画素位置に一挙に映し出すことで、そのプリミティブの画像をスクリーン上に提供する。この２Ｄリサンプリング動作は、第一と第二の１Ｄ変換にて、例えば、１Ｄ  ＦＩＲフィルタ構造を用いること、及びオプションとして置換も含めることで、効率的に実行することができる[2]。
【００２９】
このモデル情報提供ユニット、ラスタライザ及び色生成器の可能な実現については、同一の発明者により２００３年２月１３日付けで出願された欧州特許出願０３１００３１３．０において説明されている。
【００３０】
本発明によると、このプロセッサは、これら変換の順序を選択するため、及び、置換を適用するか否かを選択するため、の選択ファシリティ（selection facility）を有するが、これは、偏導関数（partial derivaties）
【数１】
2006523886.tif 000003
の評価に基づき、これらの内の２つは、これら変換における、せん断（shear）を決定し、これらの内の２つは、スケーリング（scaling）を決定し、選択は、そこでは、比較的大きな導関数がスケールファクタとして発生し、比較的小さな導関数がせん断ファクタとして発生するとともに、そこでは、最も低い量のせん断が第二の変換の際には発生するように、行なわれる。
【００３１】
もしスクリーン空間リサンプラ２４５が２−パスフィルタリングを用いて実現されるときは、ラスタライザ２２７は、プリミティブ表面走査（primitive surface traversal）に対して要求されるセットアップに加えて、これに対しても準備をしなければならない。２パスフィルタリングは、ボトルネックとせん断問題を抱えることが知られている[17、15、2]。
【００３２】
このボトルネック問題は、図３に図解されているが、ここでは、中間画像IIのエリアが、入力及び出力画像ＴＩ、ＳＩに対して、非常に小さくなっている。この画像は、９０°に近い回転を伴って発生し、（第二のパスはつぶされた中間画像を再び拡大しなければならないために）第二のパスの方向に過剰なぼけを引き起こす。
【００３３】
このせん断問題は、図４に図解されているが、ここには、テクスチャマップＴＩと中間画像IIとの２つのラインが示されている。テクスチャマップＴＩは、１つの黒の垂直のラインを有し、透視的マッピングのせん断は、第二のライン上の黒の画素が、第一の画素上の黒の画素よりも、５画素がけ右側で終端するようなものとなる。水平フィルタのパスは水平エイリアシングを阻止するが、しかし、垂直エイリアシングは阻止しない。このせん断は、１つのライン上の黒の画素と、次のライン上の白の画素との間に、非常に鋭い遷移をもたらす。さらに、中間画像IIにおけるラインは、そのラインがそれに寄与しないカラム（columns）によって分離された分離部分（disjunct parts）から成る（例えば、ｘ＝３）。このせん断問題に対する１つの解決方法[17]においては、より微細な解像度にてラスタ化することで、余剰な中間ラインが生成され、中間位置の所の黒の画素で、これらホールが満たされる。もしこれが第一のパスのせん断に対して行われると、第二のパスにおいては、このより大きな中間画像がその最終解像度にダウンスケールされることとなる。もし、第二のパスにおけるせん断も同一のスーパーサンプリングアプローチを用いて処理される場合には、その生成された、より高い水平方向の解像度を出力解像度に低減するために、第三のパスが必要となる。
【００３４】
本発明は、Catmull and Simth[2]による文献におけるのとほとんど同様なやり方にて、このボトルネック問題を、（１）出力画像ＳＩを直ちに生成するか、それとも、転置されたバージョン（transposed version）を生成し、生成された画像を置換するか、及び（２）水平パスを最初に行うか、それとも、垂直パスを最初に行うか、を決定することで得られる、４つのオプション間で選択することで、回避する。
【００３５】
しかし、本発明によると、これらオプション間の選択のために、第二のパスにおけるせん断を最小にするために、異なる基準が用いられる。こうして、第二のパスにおけるせん断に対処するために、余分な画像カラムを生成することは必要でなくなる。最悪のケースでも、第一のパスにおけるせん断エイリアシングに対処するために中間ラインを生成することのみが必要とされる。これによって、第三のパスのペナルティを有することが回避される。ある点ｐの周囲のマッピングでの局所的線形化（local linerarization）について考察する。
【数２】
2006523886.tif 000004
ここで用いられるこれら導関数は、（点ｐにおける）ボトルネック及びせん断問題に対する良好な指標となる。第一のパスにおいては、ｕがｘにマッピングされ、第二のパスにおいては、ｖがｙにマッピングされるようなケースでは、∂ｘ／∂ｕが第一のパスに対するスケールファクタとなり、そして、もしこれが小さなとき（零に近いとき）は、中間画像はつぶれ、ボトルネック問題を示すこととなる。∂ｙ／∂ｖは第二のパスに対するスケールファクタであり、∂ｘ／∂ｖと∂ｙ／∂ｕは、それぞれ、第一と第二のパスに対するせん断の量である。これら４つの導関数の各々は、第一のパスの役割においては、ボトルネック問題に対処するための、４つのオプションの１つに対するスケールファクタとしての役割である。第一のパスのスケールファクタが最も大きくなるようなオプションを選択し（これによって中間エリアIIを最大化することで）、ボトルネック問題が低減されるが、しかし、第一のパスにおいてではなく、第二のパスに、せん断が、残されることがある。本発明によると、せん断は、２つのステージにおいて、以下の４つのオプションから選択することで、考慮される。
【００３６】
最初に、これら座標をどのようにペア化するか、すなわち、ｕをｘに、そしてｖをｙにマッピングするか、それとも、ｕをｙに、そしてｖをｘにマッピングするか、が決定される。これはプリミティブの頂点の所の導関数の決定と、一方においてはｕとｖとの間の、そして、他方においてはｘとｙとの間の、相関の量とに基づく。これら座標は、最も強く相関する２つの導関数をスケールファクタとして選択することでペア化される。他の２つは、せん断ファクタとなる。これは、結局のところ、Catmull and Smithによる、”転置するか否か”の選択になる。
【００３７】
第二に、これらパスの順番が選択される。これらパスの順番を入れ換えると、第一のパスにおけるスケールファクタとしての役割と、第二のパスにおけるせん断ファクタとしての役割が、入れ替わることとなる。この順番は、結果として第二のパスにおけるせん断の量が最も少なくなるように選択される。この選択は、加えて、これら２つのスケールファクタの内の、どちらが、第一のパスに対するファクタとなり、どちらが、第二のパスに対するファクタとなるのかも決定する。これは、ボトルネック問題に関する限りでは、サブ・オプティマルな選択（sub-optimal choice）を与えるが、しかし、第一の基準によって、強く相関する座標がスケールファクタとして選択されるために、通常は、これらスケールファクタは、両方とも、ボトルネック問題を回避するのに十分に大きい。このため、この選択プロセスは、ボトルネックを回避する問題と、第二のパスにおけるせん断問題との間の良好な妥協を提供する。
【００３８】
画素のシェーディングは、しばしば、結局は、幾つかのテクスチャを、あるやり方又は別のやり方にて、結合することとなる。これは、図１に示されるような従来のアーキテクチャ内で簡単に行うことができるが、これは、テクスチャ空間リサンプラ４０は、全てのテクスチャを共通のスクリーン画素グリッドにリサンプルし、ここで、各画素に対するテクスチャサンプルを結合することができるためである。
【００３９】
図２を参照して説明されたようなフォワードテクスチャマッピングアーキテクチャにおいては、テクスチャサンプルは、スクリーン空間リサンプラステージ１４５の後の共通のスクリーン画素グリッド上においてしか得ることができない。さらに、ラスタライザは、一度に１つのグリッドしか走査できず、このため、フォワードマッピングアーキテクチャにおけるようにラスタ化がテクスチャグリッド上で行われ、マルチ・テクスチャリング（multi-texturing）が起動されるときは、ラスタライザは、多くの中から１つのテクスチャを選択し、それと関連するグリッド上のプリミティブを走査しなければならない。マルチプルテクスチャ（multiple textures）は、これらがスクリーン画素グリッドにリサンプルされた後に、これらを結合できるように、マルチパス様式にて扱うことができる。しかし、これは、ＥＡＡ＆ＨＳＲユニット１６０内のフラグメントバッファを渋滞させる。さらに、これは、依存的テクスチャリング（dependent texturing）などの高度な技法（advanced features）や、反転の性格（inverse nature）を有するテクスチャモード（texture modes）、例えば（そこでは、各グリッド位置の所のバンプマップ情報（bump map information）が、その環境マップがどこに割当てられるかを決定し、場合によっては、結果として、環境マップからプリミティブ表面及びスクリーンへの１対複数のフォワードマッピングが行なわれるような）環境マップドバンプマッピング（environment mapped bump mapping）等の利用の可能性を排除する。
【００４０】
これら問題は、スクリーン空間リサンプラが、テクスチャサンプルを、あたかも、プリミティブと関連して１つのテクスチャマップしか存在しないかのようにマッピングできれば回避することができる。この目的のためには、表面色のシェーディングは、スクリーン空間リサンプリングプロセスの前に遂行されるべきである。これが図５に示されるが、図５は、ハイブリッドグラフィックパイプラインを示す。
【００４１】
このハイブリッドパイプラインにおいては、ラスタライザは、”表面グリッド”上の、すなわち、そのプリミティブの表面の２Ｄパラメータ化（2D parameterization）を提供する座標系内のグリッド上の、プリミティブをラスタ化する。あるテクスチャマップと関連するグリッドは、このような表面グリッドを提供し、このため、（あるテクスチャグリッド上のテクスチャサンプルを得るためには、リサンプリングは必要とされないために）、表面グリッドとして都合よく用いることができる。しかし、テクスチャマップが存在しない場合や、或いは、例えば、テクスチャが、１Ｄや３Ｄのときは、別のグリッドを選択しても良い。このことは、別の段落においてより詳細に説明される。属性は、これらグリッド上で、（フォワードテクスチャマッピングの場合のように）各グリッド位置と、透視的にマッピングされたスクリーン座標が関連するときを除いては、線形的に補間することができる。
【００４２】
ラスタライザ２２７は、このグリッド上のこれら位置に帰着することができる（二次テクスチャ座標を含む）属性を補間する。画素シェーダ２３５が、次に、この表面グリッド内の、これらグリッド位置上のこれら属性に関して動作し、もし、そのプリミティブと関連して、任意の二次的テクスチャが存在するときは、逆マッピングを、標準のテクスチャ空間リサンブラと共に用いることで、これらテクスチャから色を得る。もしその表面グリッドが、テクスチャマップから選択されたものであるときは、この”一次（primary）”テクスチャステージに対するテクセルのフェッチングは、結局の所、フォワードマッピングパイプラインからの４Ｄミップマップ再構成プロセスになる。このプロセスは、軸整合された異方的フィルタリング（axis-aligned anisotropic filtering）の形式をしており、異方的フィルタリンは、しばしば、標準のテクスチャ空間リサンプラにおいても利用できる。こうしてフェッチされたテクスチャサンプル及び他の属性は、画素シェーダプログラムによって、現在のグリッド位置に対する表面色を計算するために用いることができる。
【００４３】
一旦この表面グリッド上のサンプルがシェーディングされると、スクリーン空間リサンプラ２４５を用いて、ＥＡＡ＆ＨＲＳユニット２６０が異なるプリミティブからの属性を結合することができるスクリーン画素に一挙に写し出される。
【００４４】
図５に示されるようなハイブリッドアーキテクチャを用いること、幾つかの影響が生じるとともに、幾つかの魅力的な特徴が可能となる。以下では、これらが、ハイブリッドパイプラインの異なるステージ毎に、図１に示される従来のパイプラインに関するこれらステージに対する変更の幾つかの議論とともに、議論される。
【００４５】
ラスタライザ２２７は、あるプリミティブグリッドを選択し、ボトルネック及びせん断問題を回避し、及びミップマッピングを制御しなければならなくなる。プログラマブル画素シェーダ２３０と、テクスチャ空間リサンプラ２４０とは、従来の画素シェーディングパイプラインにおけるのと同一にとどまり、スクリーン空間リサンプラ２４５については、幾つかのオプションが存在する。
【００４６】
表面空間ラスタライザ２２７は、（正規のセットアップ及び走査ステージの隣に）、余分な第一のパイプラインステージを含み、ここにおいて、表面グリッドが選択されることとなる。この選択は、正規のラスタライザのセットアップの前に行なわれる。好ましくは、この表面グリッドは、これらテクスチャマップの１つから、このテクスチャマップは（オプションとしての４Ｄミップマッピングは別として）、テクスチャ空間リサンプラ２４０によってリサンプリングされる必要がなくなるように、導出される。これを達成するために、このグリッド設定ステージは、そのプリミティブと関連するこれらテクスチャマップを調べることができる。あるテクスチャマップが、その表面グリッドを提供するために適格であるためには、それは、以下の３つの要件を満たさなければならない。第一に、それは、依存的にアドレスされるべきではない。第二に、それは、２Ｄテクスチャでなければならない（１Ｄ及び３Ｄテクスチャは２Ｄ表面を走査するためには適さない）。第三に、これら頂点の所のテクスチャ座標は、（そこでは、例えば、全てのテクスチャ座標が直線上に並び、事実上は、１Ｄテクスチャを与えるような）縮退プリミティブ（degenerate primitive）を構成すべきではない。
【００４７】
もし１つより多くのテクスチャが適格であるときは、テクスチャ空間内に最大のエリアを有するテクスチャが選択される。これは、潜在的に、最も詳細で、最も高い周波数を有し、（このため、このテクスチャに対するテクスチャ空間リサンプリングプロセスを、このプロセスは不必要なぼけ及びエイリアシングを発生させ得るために、回避するために最も良い）テクスチャである。
【００４８】
もし、（例えば、単純なＧｏｕｒａｕｄシェーディングされたプリミティブの場合のように）適格なテクスチャが存在しないときは、そのプリミティブの表面上のダミーグリッドを、ラスタライザ２２７によって横断するために、各頂点にダミーの”テクスチャ座標”を割当てることで、選択することもできる。このダミーグリッドが、次に、ラスタライザによって（これら座標に対するテクスチャフェッチングは不能にされることを除いて）あたかもテクスチャグリッドが存在するかのように横断される。一つの利点は、結果としてこの表面上の線形補間は、Chen[3]によって述べられているような透視的な適切なＧｏｕｒａｕｄシェーディング（perspective correct Gouraud shading）を提供することである。オプションとして、ダミーテクスチャ座標として、各頂点のｘとｙスクリーン座標を割当てることもできる。この選択は、”テクセル”をスクリーンにマッピングするときには、やはり各頂点に対して均質なｗ（homogeneous w）が考慮されるために、ラスタライザがスクリーン画素を走査することは意味しないことに注意する。（平坦な表面、例えば、三角形に対する）もう一つのオプションは、アイ空間（eye space）において、３Ｄ頂点座標を、回転された表面の法線がそのアイ空間のｚ軸と整合するように回転させ、次に、各頂点に対するダミーグリッド座標としてこの回転されたアイ空間のｘとｙ座標を選択するやり方である。
【００４９】
そのプリミティブの表面上の任意のグリッドを走査できるこの能力は、多くの自由度を与える。この自由度は、例えば、ある特定のテクスチャグリッドのスクリーンへのマッピングと関連し得る任意のボトルネック及びせん断問題を解決するために用いることもできる。これは、非平坦なプリミティブを走査するために用いることもできる（例えば、Ｂｅｚｉｅｒパッチを、その表面パラメータ表現によって決定される２Ｄグリッドを介して走査し、フォワードマッピングを用いてこれら表面色を直接にスクリーンに一挙に写し出すために用いることもできる）。これは、また、プリミティブの運動の方向にラスタ化するために用いることもできるが、こうすることで、結果として１Ｄフィルタをラスタ化の方向に沿って適用することができ、結果として運動ぼけ（motion blur）を効率的に実現することができる[7]。
【００５０】
ラスタライザ２２７は、プリミティブの表面を、その射影されるスクリーン画像ＳＩの解像度に対して適当な解像度にてサンプリングしなければならない。この目的のためには、グリッドは、従来のパイプラインにおけるミップマッピングと類似するやり方にて横断される。より詳細な、或いはより大まかな、画像が要求されるときは、ラスタライザは、グリッド座標と補間された属性とを増分するために用いられるデルタ値をシフトすることで、ビップマップレベルを変更することができる。こうして、ラスタライザは、表面グリッド上を、より大きな、又は小さな、刻み幅にて進むことができる。
【００５１】
ラスタライザ２２７は、各グリッド位置に透視的マッピングを介して関連付けられたスクリーン座標を維持する。これら座標を用いることで、ミップマップスイッチ（mipmap switch）が正常に機能しているか否かを決定することができ、これによって、続くグリッド位置のスクリーン座標間の差が適当なレンジ内に（勿論、ビップマップレベルバイアスを採用することもできるが、例えば、１との間のレンジ内）にとどまることを確保することができる。
【００５２】
上述のプロセスは、これは、単に適切な表面からスクリーンへのミップマップレベル（surface to-screen mipmap level）を確保するためのものであるために、任意の関連するテクスチャマップからサンプルをフェッチングするために用いられるべきミップマップレベルを直接に提供することはない。各テクスチャマップに対して、テクスチャグリッドから表面グリッドへのマッピングと関連する、スケーリングファクタも存在する。このスケーリングファクタは、テクスチャから表面へのミップマップレベル（texture to-surface mipmap level）に対応し、これを、表面からスクリーンへのミップマップレベル、に加えることで、要求される全体としての、テクスチャからスクリーンへの（texture to-screen mipmap level）に辿りつく。
【００５３】
テクスチャから表面へのミップマップレベルは、そのプリミティブの表面上のテクスチャ座標を補間するために用いられたデルタ値から直接に得ることができ、そして、この補間は線形であるために、このテクスチャから表面へのミップマップレベルは、プリミティブ単位では一定であり、このため、ラスタライザのセットアップによって、各テクスチャリサンプリングステージと関連するレジスタ内に、オフセットとして用いるために、格納しておくことができる。
【００５４】
プログラマブル”画素（pixel）”シェーダ２３０とテクスチャ空間リサンプラ２４０（これについては、テクスチャサンプルをシリアルにフェッチングするか、パラレルにフェッチングするかによって、１つ、又は、複数、存在する）は、従来のパイプラインにおけるこれらと完全に同一である。画素シェーダ２３０は、１つの位置に対して、セットの（補間された）属性を、テクスチャ及びスクリーン座標を含めて、受け取る。これらテクスチャ座標は、シェーディングプログラムと共に、テクスチャ空間リサンプラ２４０を介して、これらテクスチャマップをどこに割り当てる（index）のかを決定する。シェーダ２３０は、さらに、テクスチャ座標を、これらをテクスチャ空間リサンブラ２４０に送る前に、依存的テクスチャリングを可能とするために、従来のパイプラインにおけるのと完全に同一のやり方にて修正することもできる。
【００５５】
プログラマブルシェーダ２３０は、こうしてシェーディングされた色を、スクリーン空間リサンプラ２４５に、通常は非整数である、関連するスクリーン座標と共に、パスする。これは、従来の画素シェーダパイプライン（図１）内の、スーパーサンプリングを遂行するときに、サブ画素スクリーン位置（sub-pixel screen position）を受け取ることがある、画素シェーダ３０によって行なわれるのと類似するやり方にて扱うことができる。このシェーディングされたカラーは、１つの位置に対する計算の結果であり、ラスタライザ２２７によって横断されたグリッドには依存しない。このことは、現存のシェーダプログラムは、提唱されるアーキテクチャ上で実行するために、修正されることを要求されない、ことを意味する。
【００５６】
表面空間内でプログラマブルシェーディングを遂行することには、幾つかの長所と、短所とが存在する。フォワードマッピングによると、高品質のアンチ・エイリアシングが可能となるが、この他にも、主要な長所として、テクスチャ空間リサンプラ２４０は、スクリーンへの透視的マッピングを扱わなくても済む。
【００５７】
ほとんどの時間は、テクスチャグリッドから別へのアフィン変換を遂行するために用いられることとなる。標準のリニア／トリリニアプローブに基づくテクスチャ空間リサンプラは、このようなアフィンマッピングに対して要求されるフィルタフットプリントを、透視的マッピングのために要求されるより全体的にシェーピングされたフットプリント（more general shaped footprints）よりも、より良く近似することができ、このため、このリサンプリングプロセスからの品質の方が、より高くなることが予想される。スクリーン空間リサンプラ２４５は、単に、透視的リサンプリングを扱えばよく、そして、これは、表面グリッド上のシェーディングされたサンプルに対してたった、たった１度のみ適用される。
【００５８】
１つの短所は、従来の画素シェーディングパイプラインと比較して、より多くのサンプルがシェーピングされることである。これは、各方向に１から２の間の縮小係数（minification factor）を維持し、（このため、画素当り概ね１．５ｘ１．５個の表面要素がサンプリングされることとなる）、ミップマッピングに起因する。しかし、アンチ・エイリアシング品質が高いために、サブ画素の詳細がそれでもまだ最終画像に寄与することが確保され、これによってさらに画像品質が向上される。
【００５９】
もう一つの短所は、このやり方では、二次的テクスチャが２度リサンプルされ（テクスチャ空間リサンプラ２４０によって１度リサンプルされ、スクリーン空間リサンプラ２４５によって再びリサンプルされる）、これが余剰なぼけを導入しかねないことである。最も高い詳細を有するテクスチャマップを一次テクスチャとして選択することで、最も細かな詳細はたった１度だけリサンプルされることが確保される。二次的テクスチャは、それに対しては幾らかの余剰なぼけはほとんど目立たなくなる、より小さな縮小（さらには、ライト・マップの場合には通常見られるような、拡大）を有することとなる。スクリーン空間リサンブラ２４５は、加えて、高品質な鮮明度（sharpness）のために、エンハンスメントフィルタ（enhancement filters）を用いることを可能とするが、これも、鮮明な画像を維持することを助ける。
【００６０】
図６は、従来のパイプライン（図１）と、ハイブリッドパイプラインのプロトタイプ（図５）と、によって表現されたゲームＱｕａｋｅIIIからの光景[16]の比較を示す。図６Ａは、２ｘ２マルチ・サンプリングが起動されたときでも、例えば階段上にエイリアシングを示す。図６Ｂにおいては、このピクチャを生成するための計算及び帯域幅のコストは、図６Ａに対するのと概ね同一であるが、このエイリアシングは事実上消失している。床上の影と、壁上のランプの光とは、ライトマップ（light-maps）の使用の必要性を確証させるが、これらライト・マップは、このハイブリッドパイプラインのプロトタイプの、マルチ・テクスチャリング”シェーダ（shader）”を用いて再現される。
【表１】
2006523886.tif 000005
2006523886.tif 000006
【図面の簡単な説明】
【００６１】
【図１】コンピュータグラフィックプロセッサの知られているアーキテクチャを示す図である。
【図２】本発明の実現に適するコンピュータグラフィックプロセッサの第一のアーキテクチャを示す図である。
【図３】二段画像変換において遭遇される第一の問題を図解する図である。
【図４】二段画像変換において遭遇される第二の問題を図解する図である。
【図５】本発明の実現に適するコンピュータグラフィックプロセッサの第二のアーキテクチャを示す図である。
【図６Ａ】図１に示されるような、知られているコンピュータグラフィックプロセッサにてレンダリングされた画像を示す図である。
【図６Ｂ】図５に示されるような本発明によるコンピュータグラフィックプロセッサにてレンダリングされた画像を示す図である。
【図１】
2006523886.tif 000009
【図２】
2006523886.tif 000010
【図３】
2006523886.tif 000011
【図４】
2006523886.tif 000012
【図５】
2006523886.tif 000013
2006523886.tif 000014
【国際調査報告】
2006523886.tif 000015
2006523886.tif 000016