(57)【要約】  フォワード・テクスチャ・マッピング３Ｄグラフィックス・プロセッサは、テクスチャ空間グリッド位置（ｕｇ，ｖｇ）におけるテクセル輝度ＴＩ（ｕｇ，ｖｇ）を格納するための、テクスチャ・メモリ（ＴＭ）を備える。複数のマッパ（ＭＡ１，…，ＭＡｎ）が、テクセル輝度ＴＩ（ｕｇ，ｖｇ）をもつ、同じテクスチャ空間グリッド位置（ｕｇ，ｖｇ）を有する、ポリゴン（ＴＧＰ）の特定のテクセルを、ポリゴン（ＴＧＰ）のジオメトリ・データの２つの連続するサンプリングの間に生じる同じ時間間隔（Ｔｆ）の間の対応する異なる瞬間（ｔ１，…，ｔｎ）における、対応するスクリーン空間位置（ｘ１，ｙ１，…，ｘｎ，ｙｎ）にマッピングする。対応するスクリーン空間位置（ｘ１，ｙ１，…，ｘｎ，ｙｎ）は、ポリゴン（ＴＧＰ）の動き情報に依存する。対応するスクリーン空間リサンプラ（ＳＳＲ１，…，ＳＳＲｎ）が対応するスクリーン空間位置（ｘ１，ｙ１，…，ｘｎ，ｙｎ）でのテクセル輝度ＴＩ（ｕｇ，ｖｇ）の対応する異なる瞬間（ｔ１，…，ｔｎ）における、周囲のスクリーン・グリッド位置（ｘｇ１，ｙｇ１，…，ｘｇｎ，ｙｇｎ）に対する寄与を決定する。
2008502978.tif 000002
【特許請求の範囲】
【請求項１】
テクスチャ空間グリッド位置（ｕｇ，ｖｇ）におけるテクセル輝度ＴＩ（ｕｇ，ｖｇ）を格納するための、テクスチャ・メモリと、
テクスチャ空間ポリゴン内の特定のテクセルを、前記テクスチャ空間ポリゴンに関連するスクリーン空間ポリゴンを定義するジオメトリ・データの２つの連続するサンプル瞬間の間に生じる時間間隔内の対応する異なる表示瞬間（ｔ１，…，ｔｎ）における対応するスクリーン空間位置（ｘ１，ｙ１，…，ｘｎ，ｙｎ）にマッピングする、複数のマッパであって、前記特定のテクセルが、特定のテクスチャ空間グリッド位置（ｕｇ，ｖｇ）と、特定のテクセル輝度ＴＩ（ｕｇ，ｖｇ）とを有し、前記対応するスクリーン空間位置（ｘ１，ｙ１，…，ｘｎ，ｙｎ）が、前記時間間隔内の異なる瞬間（ｔ１，…，ｔｎ）における前記スクリーン空間ポリゴンの動き情報に依存する、複数のマッパと、
前記対応するスクリーン空間位置（ｘ１，ｙ１，…，ｘｎ，ｙｎ）における前記テクセル輝度ＴＩ（ｕｇ，ｖｇ）の、前記対応する異なる瞬間（ｔ１，…，ｔｎ）における、周囲のスクリーン・グリッド位置（ｘｇ１，ｙｇ１，…，ｘｇｎ，ｙｇｎ）に対する寄与を決定する、対応するスクリーン空間リサンプラと、を備える、フォワード・テクスチャ・マッピング３Ｄグラフィックス・プロセッサ。
【請求項２】
前記動き情報が、前記時間間隔内の動きの経路を記述する動きデータを有する、請求項１に記載のフォワード・テクスチャ・マッピング３Ｄグラフィックス・プロセッサ。
【請求項３】
前記動き情報が、以前のサンプル瞬間における前記スクリーン空間ポリゴンの頂点（ｘｖ１１，ｙｖ１１；ｘｖ１２，ｙｖ１２；ｘｖ１３，ｙｖ１３）と、現在のサンプル瞬間における前記スクリーン空間ポリゴンの頂点（ｘｖｎ１，ｙｖｎ１；ｘｖｎ２，ｙｖｎ２；ｘｖｎ３，ｙｖｎ３）との変位を表す、変位ベクトルを有する、請求項１に記載のフォワード・テクスチャ・マッピング３Ｄグラフィックス・プロセッサ。
【請求項４】
前記動きデータが、１つは前記ジオメトリ・データおよびテクスチャ・データの現在のサンプル瞬間のため、１つは以前のサンプル瞬間のための、２つのモデルビュー行列を有する、請求項１に記載のフォワード・テクスチャ・マッピング３Ｄグラフィックス・プロセッサ。
【請求項５】
前記動き情報が、３Ｄアプリケーションから受け取られる、請求項１に記載のフォワード・テクスチャ・マッピング３Ｄグラフィックス・プロセッサ。
【請求項６】
前記スクリーン・グリッド位置（ｘｇ１，ｙｇ１，…，ｘｇｎ，ｙｇｎ）において決定された輝度ＰＩ（ｘｇ，ｙｇ）を格納するための、複数のフレーム・バッファをさらに備える、請求項１に記載のフォワード・テクスチャ・マッピング３Ｄグラフィックス・プロセッサ。
【請求項７】
前記複数のマッパが、前記対応する異なる瞬間（ｔ１，…，ｔｎ）において動きのないオブジェクトを、前記複数のフレーム・バッファに同じにマッピングするように構成される、請求項５に記載のフォワード・テクスチャ・マッピング３Ｄグラフィックス・プロセッサ。
【請求項８】
請求項１のフォワード・テクスチャ・マッピング３Ｄグラフィックス・プロセッサを備える、グラフィックス・アダプタ。
【請求項９】
請求項１のフォワード・テクスチャ・マッピング３Ｄグラフィックス・プロセッサを備える、コンピュータ。
【請求項１０】
請求項１のフォワード・テクスチャ・マッピング３Ｄグラフィックス・プロセッサを備える、ディスプレイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はフォワード・テクスチャ・マッピング［forward texture mapping］３Ｄグラフィックス・プロセッサと、３Ｄグラフィックス・プロセッサを備えるグラフィックス・アダプタと、３Ｄグラフィックス・プロセッサを備えるコンピュータと、３Ｄグラフィックス・プロセッサを備えるディスプレイ装置とに関する。
【背景技術】
【０００２】
フォワード・テクスチャ・マッピング（さらにＦＴＭとも呼ばれる）３Ｄグラフィックス・プロセッサは、Ｋｏｅｎ  ＭｅｉｎｄｓおよびＢａｒｔ  Ｂａｒｅｎｂｒｕｇの文献「Ｒｅｓａｍｐｌｅ  Ｈａｒｄｗａｒｅ  ｆｏｒ  ３Ｄ  Ｇｒａｐｈｉｃｓ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｇｒａｐｈｉｃｓ  Ｈａｒｄｗａｒｅ  ２００２、ページ１７〜２６、Ｔｈｏｍａｓ  Ｅｒｔｌ、Ｗｏｌｆｇａｎｇ  Ｈｅｉｎｄｒｉｃｈ、およびＭｉｃｈａｅｌ  Ｄｏｇｇｅｔ（編集責任者）から知られている。
【０００３】
既知のＦＴＭが、図１、図２、および図３に関して詳しく説明される。そのようなＦＴＭシステムは、メモリ帯域幅およびコンピュータ処理能力など、利用可能なリソース量に応じた特定の表示速度で、表示用データを表示スクリーン上に生成することができる。より高い表示速度は、これらのリソースをより多く必要とし、完全なＦＴＭ処理は、このより高い表示速度を提供できるように適合されなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、より高い表示速度を提供するために、より少ないリソースおよび／またはコンピュータ処理能力しか必要としない、ＦＴＭシステムを提供することである。本発明は、独立請求項によって確定される。有利な実施形態は、従属請求項において確定される。
【課題を解決するための手段】
【０００５】
本発明によるフォワード・テクスチャ・マッピング３Ｄグラフィックス・プロセッサはテクスチャ空間［texture space］グリッド位置でのテクセル輝度［texel intensity］を格納するためのテクスチャ・メモリを備える。したがって、テクスチャ・メモリに格納されたテクセル輝度はテクスチャ空間グリッド位置に対応する。複数のマッパ［mapper］が、テクスチャ空間ポリゴン内の特定のテクセルを、ジオメトリ［geometry］・データの２つの連続するサンプル瞬間の間に生じる時間間隔に対応する動き経路に沿った対応する異なる表示瞬間における対応するスクリーン空間［screen space］位置にマッピングする。特定のテクセルは、特定のテクスチャ空間グリッド位置と、特定のテクセル輝度とを有する。スクリーン空間ポリゴンの異なる位置は、ワールド空間［world space］、または別の空間、おそらくは視点空間［eye space］からスクリーン空間へのマッピング変換（すなわちビューイング変換）と、同じ時間間隔に沿った対応する異なる瞬間における、ワールド空間、または視点空間などの別の空間における動きを表す動き情報とに依存する。例えば、対応するスクリーン空間位置は、ワールドまたは視点空間におけるポリゴンの動き情報と、ワールド（視点）空間内での動き経路および関連する表示瞬間のためのビューイング変換に基づく、スクリーン空間内での動き経路に沿った、異なる表示瞬間におけるスクリーン空間ポリゴンの頂点位置とに依存することができる。対応するスクリーン空間リサンプラ［resampler］が、対応するスクリーン空間位置におけるテクセル輝度の、対応する異なる表示瞬間における、周囲のスクリーン・グリッド位置に対する寄与を決定する。テクスチャ空間ポリゴンは、テクスチャ空間内のポリゴンであり、スクリーン空間ポリゴンは、スクリーン空間内のポリゴンである。
【０００６】
したがって、異なる表示瞬間の各１つについて、テクスチャ空間内の同じ特定のポリゴンと、同じテクスチャとに基づいて、しかし、関連するスクリーン空間ポリゴンの異なる位置に対して、描画が実行される。その結果、出力イメージ・データのフレーム・レートは表示瞬間の数に等しいファクタでアップサンプリングされるが、表示瞬間の各１つにおいて同じテクスチャ・データが使用されることができるので、テクスチャ・メモリへのデータ・レートが増やされることはない。
【０００７】
対照的に、従来技術においては、出力フレーム・レート（表示瞬間の数によって決定される）と入力フレーム・レート（ジオメトリおよびテクスチャ・データのサンプリング瞬間によって決定される）とは同じであり、したがって、出力フレーム・レートが特定のファクタでアップサンプリングされた場合、入力フレーム・レートは、同じファクタだけより高いレートを提供されなければならず、テクスチャ・フェッチ・レートも、同じファクタで増やされる。本発明は、動きデータと、３Ｄジオメトリ・データおよびテクスチャ・データの単一のサンプリングとに基づいて、複数のフレームを描画することができる、ＦＴＭシステムを提供する。
【０００８】
一実施形態では、動き情報は時間間隔内におけるスクリーン空間でのポリゴンの動き経路を決定するために使用されることができる動きデータを有する。ポリゴンの頂点とスクリーン空間へのテクセルのマッピングが、この動き経路から決定されることができる。
【０００９】
一実施形態では、動き情報は２つのサンプル瞬間の間のワールド（または他の、例えば視点）空間におけるポリゴンの頂点の変位を表す変位ベクトル［displacement vector］である。この情報からスクリーン空間における変位が決定されることができる。特定の１つの表示瞬間における変位は、変位ベクトルによって定義される変位を（例えば線形に）補間することによって、決定されることができる。
【００１０】
一実施形態では、動きデータは、１つは現在の瞬間のため、１つは以前の瞬間のための２つのモデルビュー行列［modelview matrix］の形で使用される。モデルビュー行列はＫｏｅｎ  Ｍｅｉｎｄｓ、Ｊａｎ  ＳｔｏｕｔおよびＫｅｅｓ  ｖａｎ  Ｏｖｅｒｖｅｌｄによる「Ｒｅａｌ−ｔｉｍｅ  ｔｅｍｐｏｒａｌ  ａｎｔｉ−ａｌｉａｓｉｎｇ  ｆｏｒ  ３Ｄ  ｇｒａｐｈｉｃｓ」と題する文献、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＶＭＶ、３３７〜３４４ページ、ミュンヘン、ドイツ、２００３年１１月１９〜２１日から知られている。ＯｐｅｎＧＬから知られるモデルビュー行列は、ポリゴンの頂点座標をモデル空間から視点空間に変換するために使用される。２つの行列を用いて、視点空間（または別の空間）における動き経路が決定されることができる。２つの連続するサンプル瞬間の間の異なる表示瞬間のための、マッパのマッピング関数のパラメータが、この情報から決定されることができる。したがって、図４に示される関連するスクリーン空間リサンプラと隠面消去［hidden surface removal］ユニットとを用いて、テクセル・カラーが処理された後、これらのパラメータを用いて、マッパは、テクセル座標を、関連する表示瞬間のための関連するフレーム・バッファに格納されるため、スクリーン上の関連する異なる位置にマッピングする。
【００１１】
これは、視点空間（またはワールド空間もしくは別の空間）における変位ベクトルを取得するための、堅牢かつ効率的な方法である。視点空間変位ベクトルを決定するため、以前のフレームの頂点が現在のフレームの頂点から減算されることができる。したがって、３Ｄシステムは、現在のフレーム瞬間と以前のフレーム瞬間の両方についての、視点空間頂点の座標を計算する。３Ｄアプリケーションは、通常のモデルビュー行列の次に、以前のフレーム瞬間のための追加のモデルビュー行列を送る必要がある。アプリケーションはモデルビュー行列を効率的に再送するため、それらをバッファすることができる。３Ｄシステムのジオメトリ変換ユニットは、視点空間における「現在」および「以前」の位置に各頂点を変換するため、両方のモデルビュー行列を適用する。
【００１２】
一実施形態では、動き情報は３Ｄアプリケーションによって提供される。代替として、より複雑ではあるが、ＦＴＭ  ３Ｄグラフィックス・プロセッサが、受け取ったジオメトリ・データ、例えば、スクリーン空間ポリゴンの頂点から、動き情報を決定することができる。
【００１３】
一実施形態では、ＦＴＭプロセッサは、スクリーン・グリッド位置において決定される輝度を格納するための、複数のフレーム・バッファを備える。各フレーム・バッファは、特定の１つの表示瞬間における描画イメージを格納する。したがって、単一の時間間隔の間にすべてのフレーム・バッファを順番に読み取り、表示することによって、フレーム・レート・アップコンバージョンが得られる。
【００１４】
一実施形態では、ＦＴＭプロセッサは、動きのないオブジェクトについてフレーム・バッファへの同一のマッピングを実行するように、マッパを制御する。実際には、マッピングを実行するのに、１つのマッパしか必要ではなく、このようにして得られた出力が、すべてのフレーム・バッファにコピーされる。
【００１５】
本発明の上記および他の態様は、これ以降で説明される実施形態から明らかになり、実施形態を参照して説明される。
【発明を実施するための最良の形態】
【００１６】
図１は、ワールド空間内の３ＤオブジェクトＷＯの、表示スクリーンＤＳ上への表示を説明している。ワールド空間の代わりに、オブジェクトは、モデルもしくは視点空間または（スクリーン空間を含む）別の空間など、その他の３Ｄ空間においても利用できてよく、これ以降、これらの空間のすべてが、ワールド空間と呼ばれる。図示の立方体のような３次元オブジェクトとすることができるオブジェクトＷＯは、２次元表示スクリーンＤＳ上に投影される。表面構造またはテクスチャが、３次元オブジェクトＷＯの外観を定める。図１では、ポリゴンＡは、テクスチャＴＡを有し、ポリゴンＢは、テクスチャＴＢを有する。ポリゴンＡおよびＢは、より一般的な用語を用いて、グラフィックス・プリミティブ［graphics primitive］とも呼ばれる。
【００１７】
表示スクリーンＤＳ上へのオブジェクトＷＯの投影は、ワールド空間内に視点またはカメラ位置ＥＣＰを定めることによって得られる。図１は、スクリーンＤＳ上に投影されるポリゴンＳＧＰが、対応するポリゴンＡからどのように得られるかを示している。スクリーン空間ＳＳＰ内のポリゴンＳＧＰは、スクリーン空間ＳＳＰにおけるその頂点座標によって定義される。ポリゴンＳＧＰのジオメトリを決定するのに使用されるのは、ポリゴンＡのジオメトリだけである。通常は、ポリゴンＳＧＰの頂点を決定するには、ポリゴンＡの頂点を知るだけで十分である。
【００１８】
ポリゴンＡのテクスチャＴＡは、ワールド空間からスクリーン空間ＳＳＰに直接は投影されない。ワールド空間オブジェクトＷＯの異なるテクスチャは、テクスチャ・マップ・メモリまたは座標ｕおよびｖにより定義されるテクスチャ空間ＴＳＰに格納される。例えば、図１は、ポリゴンＡが、ＴＡによって表されるエリア内に、テクスチャ空間ＴＳＰで入手可能なテクスチャＴＡを有し、一方、ポリゴンＢが、ＴＢによって表されるエリア内にテクスチャ空間ＴＳＰで入手可能な別のテクスチャＴＢを有することを示している。ポリゴンＡは、ポリゴンＴＧＰを得るために、テクスチャ空間ＴＡ上に投影され、その結果、ポリゴンＴＧＰ内に存在するテクスチャが、ポリゴンＡ上に投影されると、ワールド空間オブジェクトＷＯのテクスチャが得られ、または少なくともできるだけ似せられる。テクスチャ空間ＴＳＰとスクリーン空間ＳＳＰの間のパースペクティブ変換ＰＰＴが、ポリゴンＴＧＰのテクスチャを対応するポリゴンＳＧＰ上に投影する。このプロセスは、テクスチャ・マッピングとも呼ばれる。通常は、テクスチャは、そのすべてがグローバル・テクスチャ空間内に存在するわけではなく、どのテクスチャも、独自のテクスチャ空間を定める。
【００１９】
テクスチャ空間内のテクスチャは、テクスチャ空間における多くの離散的な位置に対してテクスチャ・メモリ内に格納されることが留意されなければならない。通常は、これらの離散的な位置は、整数値ｕおよびｖによって決定される、テクスチャ空間におけるグリッド位置である。これらの離散的なグリッド位置はさらに、グリッド・テクスチャ位置またはグリッド・テクスチャ座標とも呼ばれる。グリッド位置に限定されないｕ，ｖ空間における位置は、ｕ，ｖ空間における位置、またはテクスチャ空間ＴＳＰにおける位置と呼ばれる。ｕ，ｖ空間における位置は、浮動小数点数によって表されることができる。同様に、表示されるイメージは、フレーム・バッファ・メモリ内に格納される。やはり、ｘ，ｙ空間またはスクリーン空間ＳＳＰにおける多くの離散的な位置だけが利用可能である。通常は、これらの離散的な位置は、整数値ｘおよびｙによって決定される、スクリーン空間ＳＳＰにおけるグリッド位置である。これらの離散的なグリッド位置はさらに、グリッド・スクリーン位置またはグリッド・スクリーン座標とも呼ばれる。グリッド位置に限定されないｘ，ｙ空間における位置は、ｘ，ｙ空間における位置、またはスクリーン空間ＳＳＰにおける位置と呼ばれる。ｘ，ｙ空間におけるこれらの位置は、浮動小数点数によって表されることができる。
【００２０】
これ以降、グラフィックス・プリミティブという用語は、ワールド空間内の（ポリゴンＡなどの）ポリゴン、またはスクリーン空間ＳＳＰ内のポリゴンＳＧＰ、またはテクスチャ空間ＴＳＰ内のポリゴンＴＧＰを表す。どのグラフィックス・プリミティブが意味されているかは、文脈から明らかである。
【００２１】
図２は、従来技術のフォワード・テクスチャ・マッピング３Ｄグラフィックス・システムのブロック図である。頂点Ｔ＆Ｌユニットともさらに呼ばれる、頂点変換およびライティング［vertex transformation and lighting］・ユニットＶＥＲが、ワールド空間内のポリゴンＡの頂点座標をスクリーン空間ＳＳＰに変換し、頂点ごとの（カラーとも呼ばれる）輝度を決定するために、ライト計算［light calculation］を実行する。テクスチャがポリゴンに適用される場合、頂点Ｔ＆Ｌユニットは、アプリケーションからテクスチャ空間座標を受け取る。頂点Ｔ＆Ｌユニットは、スクリーン空間ＳＳＰおよびテクスチャ空間ＴＳＰ内の頂点の位置がそれぞれ知られるように、頂点座標のスクリーン空間座標ｘｖ，ｙｖと、テクスチャ空間座標ｕｖ，ｖｖとを供給する。通常は、頂点の位置は、スクリーン空間またはテクスチャ空間グリッド位置とそれぞれ一致しない。
【００２２】
テクスチャ空間ラスタライザ［rasterizer］ＴＲＡＳは、ポリゴンの頂点のテクセル空間座標ｕｖ、ｖｖによって決定される、ポリゴン内のテクスチャ空間ＴＳＰにおけるテクセルのグリッド位置ｕｇ、ｖｇを決定する。インバース・テクスチャ・マッピング［inverse texture mapping］・システムのスクリーン空間ラスタライザＳＲＡＳと同様に、テクスチャ空間ラスタライザＴＲＡＳは、あらゆるグリッド・テクスチャ座標をスクリーン空間位置にマッピングすることができる。しかし、これは、グリッド・テクスチャ座標に基づき今動作するピクセル・シェーダ［pixel shader］ＰＳには必要とされず、したがって、（ｕｇ，ｖｇ）から（ｘ，ｙ）へのマッピングは、スクリーン空間リサンプラＳＳＲが（ｘ，ｙ）グリッド・スクリーン位置をまさに必要とするまで、処理パイプラインにおいて遅延させられることができる。
【００２３】
ピクセル・シェーダＰＳは、テクセルの（カラーとも呼ばれる）輝度ＴＳＩを決定する。したがって、フォワード・テクスチャ・マッピング・システムでは、ピクセル・シェーダＰＳは、実際にはテクセル・シェーダである。しかし、その機能がインバース・テクスチャ・マッピング・システムで使用されるピクセル・シェーダＰＳと同じであるので、ピクセル・シェーダＰＳと呼ばれる。ピクセル・シェーダＰＳは、専用またはプログラム可能ユニットとすることができる。ピクセル・シェーダＰＳは、テクセルのグリッド・テクスチャ座標ｕｇ，ｖｇを含む、ピクセルごとの１組のアトリビュートを受け取る。グリッド・テクスチャ座標ｕｇ，ｖｇは、テクスチャ・メモリＴＭに格納された、グリッド・テクスチャ位置のテクスチャ・データＴＩを、オプションのテクスチャ空間リサンプラＴＳＲを介してアドレスするために使用される。テクセル・グリッド位置ｕｇ，ｖｇに対応するテクスチャ・データは、ＴＩ（ｕｇ，ｖｇ）によって表される。ピクセル・シェーダＰＳは、テクスチャ座標データｕｇ，ｖｇを変更することができ、複数のテクスチャ・マップを同じテクセルに適用し、組み合わせることができる。ピクセル・シェーダＰＳは、よく知られたグロー［Gourand］・シェーディングおよびフォン［Phong］・シェーディング技法などの公式に基づいて、テクスチャ・データを使用せずに、シェーディングを実行することもできる。図３では、例として、ピクセル・シェーダＰＳが、テクスチャ輝度ＴＳＩ（ｕｇ，ｖｇ）をマッパＭＡＰ２に供給することが仮定されている。
【００２４】
フォワード・テクスチャ・マッピング・システムは、テクスチャ・グリッドをトラバースできるので、テクスチャ空間リサンプラＴＳＲをバイパスできることが留意されなければならない。テクスチャ空間リサンプラＴＳＲはテクスチャ拡大が使用される場合、テクスチャ空間ラスタライザＴＲＡＳがスクリーン・グリッドではなく、コーサ［courser］・グリッドをトラバースすることを回避し、したがって、ポリゴン・エッジ・アーチファクト［polygon edge artifact］を回避するという点で意義をもつことができる。また、複数のテクスチャが同じポリゴンに適用される場合、テクスチャ空間リサンプラＴＳＲは、テクスチャ空間ラスタライザＴＲＡＳが第１のテクスチャのグリッドをトラバースするとき、第２またはより高次のテクスチャの中間テクスチャ位置をトラバースする間に、第１のテクスチャの（ｕ，ｖ）グリッド座標のテクスチャ値を得るために使用されることができる。
【００２５】
マッパＭＡＰ２は、そのテクセル輝度ＴＳＩ（ｕｇ，ｖｇ）が決定されたテクセル位置ｕｇ，ｖｇを、スクリーン空間位置ｘ，ｙにマッピングする。
【００２６】
スクリーン空間リサンプラＳＳＲは、中間スクリーン空間位置ｘ，ｙにマッピングされるテクセル輝度ＴＳＩ（ｕｇ，ｖｇ）を使用して、（ｘ，ｙ）周囲のエリアにおけるピクセル輝度ＰＩ（ｘｇ，ｙｇ）に対する寄与を決定する。実際、これは、インバース・テクスチャ・マッピング・システムにおいて実行されるインバース操作である。インバース・テクスチャ・マッピング・システムにおいては、テクスチャ・グリッド位置ｕｇｉ，ｖｇｉ上の複数のテクスチャ輝度ＴＩ（ｕｇｉ，ｖｇｉ）は、グリッド・スクリーン位置に関連付けられたテクスチャ位置ｕ，ｖ上の単一の輝度ＰＩ（ｕ，ｖ）を得るために重み付けされる。フォワード・テクスチャ・マッピング・システムにおいては、単一のテクセル輝度ＴＳＩ（ｘ，ｙ）は、重み付け方式により、グリッド位置ｘｇ，ｙｇ上の複数のピクセルに追加される。あるいは異なる言い方をすれば、スクリーン空間にマッピングされるテクセル値ＴＳＩ（ｕｇ，ｖｇ）は、（ｘ，ｙグリッド上に固有に位置付けられた）複数のピクセルにスプラッティングされる。グリッド位置ｘｇ，ｙｇにおけるピクセル輝度ＰＩ（ｘｇ，ｙｇ）に影響するすべてのテクセルＴＳＩが寄与したとき、最終的なピクセル輝度ＰＩ（ｘｇ，ｙｇ）が得られる。
【００２７】
隠面消去ユニットＨＳＲは通常、ピクセル単位での可視カラーの決定を可能にするＺバッファ（Ｚ−ｂｕｆｆｅｒ）を含む。生成されたピクセル値の深さ値ｚが、同じピクセル・スクリーン座標ｘｇ，ｙｇにおいて（したがって、スクリーン・グリッド上で）、Ｚバッファに格納されたものの深さ値に対してテストされる。テストの結果に応じて、ピクセル輝度またはカラーＰＩＰ（ｘｇ，ｙｇ）が、フレーム・バッファＦＢに書き込まれ、Ｚバッファは更新される。表示されるイメージＩＭは、フレーム・バッファＦＢから読まれる。
【００２８】
図３Ａおよび図３Ｂは、フォワード・テクスチャ・マッピング・システムの操作を図説している。図３Ａは、テクスチャ空間内のテクセル空間ポリゴンＴＧＰを示している。ポリゴンＴＧＰの頂点は、通常はテクスチャ空間グリッド位置ｕｇ，ｖｇと一致しない、テクスチャ空間位置ｕｖ１，ｖｖ１；ｕｖ２，ｖｖ２；ｕｖ３，ｖｖ３によって表されている。テクスチャ空間グリッド位置ｕｇ，ｖｇは、ｕおよびｖについての整数値を有する位置である。ポリゴンＴＧＰ内のテクスチャ空間グリッド位置ｕｇ，ｖｇは、×印によって表されている。テクスチャ空間ラスタライザＴＲＡＳは、ポリゴンＴＧＰ内またはポリゴンＴＧＰのすぐ周囲のエリア内のテクスチャ空間グリッド位置ｕｇ，ｖｇを得るために、テクスチャ空間ＴＳＰ内のテクスチャをラスタ化する。テクスチャ空間ラスタライザＴＲＡＳは、テクスチャの複数の解像度で動作することができ（ＭＩＰ−ｍａｐ）、ポリゴン全体にわたってＭＩＰ−ｍａｐから複数回スイッチすることができる。シェーダＰＳは、テクスチャ空間グリッド位置ｕｇ，ｖｇの輝度を取り出す。マッパＭＡＰ２は、テクスチャ・グリッド位置ｕｇ，ｖｇを、スクリーン空間内の位置ｘ，ｙにマッピングする。図３Ｂを参照されたい。通常は、これらのマッピングされたｘ，ｙ位置は、スクリーン空間グリッド位置ｘｇ，ｙｇと一致しない。グリッド位置ｘｇ，ｙｇは、ｘおよびｙについての整数値を有する位置である。
【００２９】
図３Ｂは、スクリーン空間ＳＳＰ内のスクリーン空間ポリゴンＳＧＰを示している。ポリゴンＳＧＰの頂点は、通常はスクリーン空間グリッド位置ｘｇ，ｙｇと一致しない、スクリーン位置ｘｖ１，ｙｖ１；ｘｖ２，ｙｖ２；ｘｖ３，ｙｖ３によって表されている。表示されるイメージは、スクリーン空間グリッド位置ｘｇ，ｙｇ上に位置付けられるピクセルの輝度（カラーおよび明るさ）によって決定される。マッピングされたｘ，ｙ位置は、×印によって表されている。スクリーン空間リサンプラＳＳＲは、テクセルの輝度をマッピングされたｘ，ｙ位置の周囲のピクセル・グリッド位置ｘｇ，ｙｇにスプラッティングして、ピクセル・グリッド位置ｘｇ，ｙｇ上の対応するテクセル輝度の寄与を得る。特定のグリッド位置ｘｇ，ｙｇに対応するピクセルの輝度は、この特定のグリッド位置ｘｇ，ｙｇの輝度に寄与する、すべてのマッピングされたテクセル輝度の寄与の総和である。
【００３０】
図４は、本発明の一実施形態によるフォワード・テクスチャ・マッピング３Ｄグラフィックス・システム１のブロック図を示している。
【００３１】
頂点変換、ライティング・ユニットＶＥＲ、テクスチャ空間ラスタライザＴＲＡＳ、ピクセル・シェーダＰＳ、オプションのテクスチャ空間リサンプラＴＳＲおよびテクスチャ・メモリＴＭは、図２の対応する項目と同じである。また、それらの動作も、図２に関して説明されたものと同じである。
【００３２】
図２のマッパＭＡＰ２、スクリーン空間リサンプラＳＳＲ、隠面消去ＨＳＲ、およびフレーム・バッファＦＢは、複数のマッパＭＡ１からＭＡｎ、複数のスクリーン空間リサンプラＳＳＲ１からＳＳＲｎ、複数の隠面消去ユニットＨＳＲ１からＨＳＲｎおよび複数のフレーム・バッファＦＢ１からＦＢｎによって置き換えられる。これらの項目の各々は、図２に関して説明されたのと同じように動作する。
【００３３】
本発明は動きデータおよび３Ｄジオメトリ・データの単一のサンプリングに基づいて、複数のフレームを描画することによって、フレーム・レートを高めることに関する。動きデータおよび３Ｄジオメトリ・データは、３Ｄアプリケーションによって供給され、３Ｄアプリケーションは、３Ｄゲーム、ＶＲＭＬブラウザ、３Ｄユーザ・インタフェース、ＭＰＥＧ４ビジュアル・レンダラ［renderer］、ビジオフォニ［visiophony］、または別の３Ｄアプリケーションとすることができる。ジオメトリ・データは、モデルの形状を記述するポリゴンと、３Ｄパイプラインの状態変化（例えば、フラグメント操作モード、ライト・モデル）を含む、カラーおよびシェーディング情報などの外観を記述するプロパティ・データとを有する。動きデータは、ジオメトリの２つのサンプリング間隔の間の動きの経路を記述するデータである。２つのサンプリング瞬間のあいだの期間は、フレーム周期Ｔｆと呼ばれる。しかし、より一般的には、この期間は、時間間隔Ｔｆと呼ばれる。動きデータは、以前のサンプリング瞬間から現在のサンプリング瞬間までのポリゴンの頂点の変位を表す変位ベクトルを用いて記述されることができる、動き経路を得るために使用されることができる。しかし、動きデータは、例えば、円錐曲線、複合曲線、ベジエ曲線、Ｂスプライン曲線、または有理多項式を用いて記述される曲線など、動き経路のより高度な記述とすることもできる。各マッパＭＡ１からＭＡｎのマッピング機能は、関連する瞬間についての動き経路から決定される。好ましくは、アプリケーションは、動きデータをジオメトリ・データと一緒に供給するべきである。しかし、特別の場合は、異なる瞬間におけるジオメトリ・データから、動きデータを検出することも可能である。
【００３４】
したがって、テクスチャ空間座標、ワールド空間座標、およびカラーなど、ポリゴンの同じ３Ｄデータ、ならびに同じテクスチャは、時間間隔Ｔｆの間の複数の描画のために使用されることができる。その結果、ポリゴンのジオメトリ・データのフェッチ、テクスチャ空間ＴＳＰ内のポリゴンＴＧＰのラスタ化、およびテクスチャ・メモリＴＭからのテクスチャ・データのフェッチは時間間隔Ｔｆにつき１回だけ行われればよい。したがって、頂点変換およびライティング・ユニットＶＥＲ、テクスチャ空間ラスタライザＴＲＡＳ、ピクセル・シェーダＰＳ、オプションのテクスチャ空間リサンプラＴＳＲ、およびテクスチャ・メモリＴＭは、図２の対応する項目と同じである。
【００３５】
図２のマッパＭＡＰ２、スクリーン空間リサンプラＳＳＲ、隠面消去ユニットＨＳＲ、およびフレーム・バッファＦＢは、複数のパイプラインを得るために、複数の対応するマッパＭＡ１からＭＡｎ、スクリーン空間リサンプラＳＳＲ１からＳＳＲｎ、隠面消去ユニットＨＳＲ１からＨＳＲｎ、およびフレーム・バッファＦＢ１からＦＢｎによって置き換えられなければならない。必要とされるパイプラインの数は、フレーム・レートがアップコンバートされる倍数に等しく、例えば、表示イメージのフレーム・レートを２倍にするには、２つのパイプラインが必要とされる。異なるパイプラインが、ハードウェアを追加することによって得られることができるが、代替として、同じハードウェアが、動作を順次実行するために使用されてもよい。
【００３６】
各描画が、時間間隔の間の異なる瞬間のために実行される。例えば、フレーム・レートが２倍にされた場合、入力データの２つの連続するサンプリング瞬間について、２つの描画が実行されなければならない。各マッパＭＡ１からＭＡｎは、瞬間のうちの異なる１つにおいて、テクスチャ・グリッド座標ｕｇ，ｖｇをスクリーン空間座標ｘ，ｙにマッピングする。モデルの動きのためにポリゴンＳＧＰがスクリーン空間内で動いているので、これらのマッピングは異なる。各マッパＭＡ１からＭＡｎによって供給されるマッピングされたスクリーン空間座標ｘ，ｙは、スクリーン空間リサンプラＳＳＲ１からＳＳＲｎのうちの関連する１つに供給される。パイプラインの各１つのスクリーン空間リサンプラＳＳＲ１からＳＳＲｎ、隠面消去ユニットＨＳＲ１からＨＳＲｎ、およびフレーム・バッファＦＢ１からＦＢｎは、図２に関して説明されたのと同じように動作する。パイプラインの特定の１つは、異なる（描画）瞬間のうちの特定の１つにおいて、スクリーン空間イメージを提供する。
【００３７】
異なるマッパＭＡ１からＭＡｎを設定するパラメータは、動きデータを使用して、テクスチャ空間ラスタライザＴＲＡＳによって計算されることができる。図４に示されるＦＴＭは、３Ｄモデルの単一のサンプリングについて、動き経路に沿った連続するフレーム瞬間に関するピクセルを別個のフレーム・バッファＦＢ１からＦＢｎに格納する。連続するフレーム瞬間または表示瞬間は、ジオメトリの現在のサンプリングによって決定される。ポリゴンＴＧＰは複数のフレーム・バッファＦＢ１からＦＢｎに描画されるので、複数の隠面ユニットＨＳＲ１からＨＳＲｎが必要とされる。これを容易にするため、隠面ユニットＨＳＲ１からＨＳＲｎの各１つは、いわゆるＺバッファを備えることができる。
【００３８】
従来技術では、ジオメトリ・データとテクスチャとによって定義される入力データのサンプリング周期と、フレーム・バッファＦＢに格納され、表示スクリーン上に表示される出力イメージのフレーム周期とは、同じ持続期間を有することが留意されなければならない。表示イメージのより高いフレーム・レートは、入力データのサンプリング・レートを高めることによってのみ可能になる。
【００３９】
本発明によるＦＴＭにおいては、入力データのサンプリング周期は従来技術のものと同じであることができながら、表示イメージのより高いフレーム・レートが得られることができる。代替として、表示イメージの従来技術におけるのと同じフレーム・レートが、入力データのより低いフレーム・レートを用いて得られることができる。もちろん、入力フレーム・レートと出力フレーム・レートの中間値を得ることも可能である。
【００４０】
従来技術のＦＴＭでは、表示イメージのフレーム・レートが特定のファクタによって高められた場合、テクスチャ・メモリＴＭへのデータ・トラフィックも、同じファクタによって高められなければならない。これは、テクスチャ・メモリへのデータ・トラフィックはしばしば３Ｄシステムのパフォーマンス・ボトルネックであるので、テクスチャ・メモリＴＭが、ＦＴＭ回路の残りの部分とバスを介して接続された外部メモリであるとき、特に重荷となる。このバスの必要とされる帯域幅も、特定のファクタによって増やされなければならない。本発明によるＦＴＭでは、テクスチャ・メモリＴＭのデータ・トラフィックはこのファクタに依存しない。現在の３Ｄグラフィックス・パイプラインでは、タイルベース［tile-based］のレンダラ（ＩＭＧのＰｏｗｅｒ  ＶＲアクセラレータなど）の場合は特に、バスを介したテクスチャ・データ・トラフィックは、パフォーマンスおよび電力損のボトルネックであるので、このデータ・トラフィックの減少は重要である。第２の利点はより高いフレーム・レートを生みだすのに従来技術が使用される場合、ラスタ化が従来技術におけるよりも小さなコンピュータ処理性能しか必要としないことである。より小さなラスタライザＴＲＡＳまたはより強力でないラスタライザで十分である。また、より強力でないピクセル・シェーダＰＳしか必要とされない。
【００４１】
したがって、本発明のアップサンプリング技法のため、数倍の複数のリソースが提供されるか、または時分割多重がなされるかしなければならず、あるいはハードウェア・リソースの増倍および時分割多重の組み合わせが使用されなければならない。
【００４２】
スクリーン空間ラスタライザＳＳＲ１からＳＳＲｎの機能の時分割多重は、その実装に依存する。２Ｄフィルタを有するワンパス（ｏｎｅ−ｐａｓｓ）・リサンプラが使用される場合、状態は保存される必要はなく、時分割多重は容易である。しかし、ワンパス・リサンプラは、フレーム・バッファ（またはタイルベースの描画システムにおけるタイル・バッファ）へのより多くの帯域幅を必要とする。２つの１Ｄリサンプラを使用するツーパス［two-pass］・リサンプラでは、垂直リサンプラ［vertical resampler］の状態が、入力ラインの各サンプルについて保存されなければならない。これは、フレーム・バッファ幅と等しい長さの１対のライン・メモリ［line memory］を必要とする。しかし、タイルベース描画が使用される場合、この長さはタイル幅と等しい。したがって、タイルベース描画を用いるツーパス・リサンプリングを使用して、スクリーン空間ラスタライザＳＳＲ１からＳＳＲｎを時分割多重するには、相対的に小さなサイズのライン・メモリを増倍する必要があるだけである。
【００４３】
従来の隠面消去ユニットＨＳＲ１からＨＳＲｎは、フレームまたはタイルのサイズを有するＺバッファを使用する。これは、この機能を時分割多重するときに複製されなければならない状態情報である。タイルベース描画の場合、タイル・サイズは相対的に小さく、本フレーム・レート・アップコンバージョン技法での最適使用のために、より小さくされることすらできる。
【００４４】
入力イメージ内の動かないオブジェクトは、１度だけ描画され、一連の表示瞬間に関連するすべてのフレーム・バッファＦＢ１からＦＢｎに（Ｚテストを用いて）コピーされることができる。動きを含むオブジェクトは、先に説明された異なるマッピングを使用することによって、すべてのフレーム・バッファＦＢ１からＦＢｎに描画される。
【００４５】
好ましくは、本発明によるテクスチャ・データ・トラフィック節約技法のため、現在最も普及している３ＤグラフィックスＡＰＩ（Ｏｐｅｎ  ＧＬ、Ｄｉｒｅｃｔ３Ｄ）は、３Ｄアプリケーションによって提出された動きデータをサポートするように拡張される。これを解決するため、ＡＰＩ拡張が定義され、おそらく次のバージョンのＡＰＩに含まれることができる。
【００４６】
ユーザ入力上の生成フレームの待ち時間は、入力データの（より低い）サンプリング・レートに応じる。ゲームなどの待ち時間クリティカルなアプリケーションの場合、入力データのサンプリング・レートは、低く選択されてはならない。例えば、望ましいフレーム・レートが６０Ｈｚであるゲームの場合、２または４のアップコンバージョン・ファクタ（それぞれ３０または１５Ｈｚでサンプリングされる入力データ）は許容可能であることができるが、より高いアップコンバージョン・ファクタは長い待ち時間の原因になることがある。
【００４７】
図５Ａおよび図５Ｂは、図４に示されたフォワード・テクスチャ・マッピング・システムの実施形態の操作を図説している。図５Ａは図３Ａと同じであり、したがって、さらには説明されない。図５Ａは、単一のテクスチャ空間ポリゴンＴＧＰを示している。図５Ｂは、単一のテクスチャ空間ポリゴンＴＧＰに関連し、ｎ個の異なる瞬間ｔ１からｔｎに生じる、スクリーン空間ポリゴンＳＧＰ１からＳＧＰｎのｎ個の位置のうちの２つを示している。これらの異なる瞬間ｔ１からｔｎも、表示瞬間と呼ばれる。フレーム・レート・アップコンバージョン・ファクタは、時間間隔Ｔｆ内の表示瞬間の数と等しい。スクリーン空間ポリゴンＳＧＰ１からＳＧＰｎは、オブジェクトが動いているので、スクリーン空間ＳＳＰにおける異なる位置を有する。テクスチャ空間ポリゴンＴＧＰおよびスクリーン空間ポリゴンＳＧＰ１からＳＧＰｎの頂点は、３Ｄアプリケーションによって供給されることができる。スクリーン空間ポリゴンＳＧＰ１からＳＧＰｎの頂点は、現在のサンプリング瞬間のワールド空間ポリゴンの頂点から決定されることができ、そのマッピング機能が動き経路上の関連する瞬間に対じた関連するマッパＭＡ１からＭＡｎを用いて、スクリーン空間にマッピングされることができる。
【００４８】
図５Ｂは、図３Ｂに示されたポリゴンＳＧＰと同じポリゴンＳＧＰ１を示している。ポリゴンＳＧＰ１およびＳＧＰｎは共に、ワールド空間の同じソース・ポリゴンからマッピングされており、動き経路に沿った関連する瞬間に応じて、別のマッピングが使用されただけである。ポリゴンＳＧＰｎは、表示瞬間ｔｎにおけるスクリーン位置を示している。明瞭にするため、中間位置が存在する場合（ｎ＞２）、それらは示されていない。テクスチャ位置ｕｇ，ｖｇは、瞬間ｔ１には位置ｘ１，ｙ１にマッピングされ、瞬間ｔｎには位置ｘｎ，ｙｎにマッピングされる。従来技術のＦＴＭによれば、テクスチャ位置ｕｇ，ｖｇにおけるテクセルの輝度情報は、知られた仕方で、周囲のスクリーン空間グリッド座標ｘｇ１，ｙｇ１およびｘｇｎ，ｙｇｎにそれぞれスプラッティングされる。
【００４９】
図６は、フォワード・テクスチャ・マッピング・システムを備えるコンピュータを示している。コンピュータＰＣは、プロセッサ３と、グラフィックス・アダプタ２と、メモリ４とを備える。プロセッサ３は、入力データＩＩをグラフィックス・アダプタ２に供給するように、適切にプログラムされる。プロセッサ３は、バスＤ１を介して、メモリ４と通信する。グラフィックス・アダプタ２は、ＦＴＭシステム１を備える。通常は、グラフィックス・アダプタは、適切なスロット（例えば、ＡＧＰスロット）に差し込まれるモジュールである。通常は、グラフィックス・アダプタは、独自のメモリ（例えば、テクスチャ・メモリＴＭおよびフレーム・バッファＦＢ）を備える。しかし、グラフィックス・アダプタは、コンピュータＰＣのメモリ４の一部を使用してもよく、その場合、グラフィックス・アダプタは、バスＤ２を介して、またはプロセッサ３およびバスＤ１を介して、メモリ４と通信する必要がある。グラフィックス・アダプタ２は、出力イメージＯＩを標準インタフェースを介してディスプレイ装置ＤＡに供給する。ディスプレイ装置は、任意の適切なディスプレイ、例えば、ブラウン管、液晶ディスプレイ、またはその他の任意のマトリックス・ディスプレイなどでよい。
【００５０】
コンピュータＰＣとディスプレイＤＡは、標準インタフェースを介して通信する別個のユニットである必要はなく、単一の装置、例えば、携帯情報端末（ＰＤＡもしくはポケットＰＣ）またはイメージを表示するためのディスプレイを有するその他の任意のモバイル装置に組み合わされてもよい。
【００５１】
図７は、フォワード・テクスチャ・マッピング・システムを備えるディスプレイ装置を示している。ディスプレイ装置ＤＡは、入力データ（ジオメトリおよび関連データ）ＩＩを受け取って、出力イメージＯＩを信号処理回路１１に供給する、ＦＴＭパイプライン１を備える。信号処理回路１１は、ディスプレイ１２のための駆動信号ＤＳを得るため、出力イメージＯＩを処理する。
【００５２】
上述の実施形態は、本発明を限定するのではなく、むしろ本発明を説明しており、当業者であれば、添付の特許請求の範囲から逸脱することなく、多くの代替実施形態を設計できることに留意されたい。
【００５３】
請求項において、括弧内の参照符号は、請求項を限定すると解釈されるべきではない。動詞「ｃｏｍｐｒｉｓｅ（備える）」およびその活用型の使用は、請求項で述べられた要素またはステップ以外の要素またはステップの存在を排除しない。要素の前に置かれた冠詞「ａ」または「ａｎ」は、複数のそのような要素の存在を排除しない。本発明は、複数の別個の要素を備えるハードウェアによって、また適切にプログラムされたコンピュータによって、実施されることができる。複数の手段を列挙した装置請求項では、複数のこれらの手段は、同一のハードウェア物品によって実施されてもよい。ある方策が相互に異なる従属請求項において挙げられているという単なる事実は、これらの方策の組み合わせが有利に使用されることができないことを表さない。
【図面の簡単な説明】
【００５４】
【図１】表示スクリーン上への３Ｄオブジェクトの表示を示す図である。
【図２】従来技術のフォワード・テクスチャ・マッピング３Ｄグラフィックス・システムのブロック図である。
【図３Ａ】フォワード・テクスチャ・マッピングの操作を示す図である。
【図３Ｂ】フォワード・テクスチャ・マッピングの操作を示す図である。
【図４】本発明の一実施形態によるフォワード・テクスチャ・マッピング３Ｄグラフィックス・システムのブロック図である。
【図５Ａ】図４に示されたフォワード・テクスチャ・マッピング・システムの実施形態の操作を示す図である。
【図５Ｂ】図４に示されたフォワード・テクスチャ・マッピング・システムの実施形態の操作を示す図である。
【図６】フォワード・テクスチャ・マッピング・システムを備えるコンピュータを示す図である。
【図７】フォワード・テクスチャ・マッピング・システムを備えるディスプレイ装置を示す図である。
【図１】
2008502978.tif 000003
【図２】
2008502978.tif 000004
【図３Ａ】
2008502978.tif 000005
【図３Ｂ】
2008502978.tif 000006
【図４】
2008502978.tif 000007
【図５Ａ】
2008502978.tif 000008
【図５Ｂ】
2008502978.tif 000009
【図６】
2008502978.tif 000010
【図７】
2008502978.tif 000011
【国際調査報告】
2008502978.tif 000012
2008502978.tif 000013