説明

フォワード・テクスチャ・マッピング3Dグラフィックス・システム

フォワード・テクスチャ・マッピング3Dグラフィックス・プロセッサは、テクスチャ空間グリッド位置(u,v)におけるテクセル輝度TI(u,v)を格納するための、テクスチャ・メモリ(TM)を備える。複数のマッパ(MA1,…,MAn)が、テクセル輝度TI(u,v)をもつ、同じテクスチャ空間グリッド位置(u,v)を有する、ポリゴン(TGP)の特定のテクセルを、ポリゴン(TGP)のジオメトリ・データの2つの連続するサンプリングの間に生じる同じ時間間隔(Tf)の間の対応する異なる瞬間(t1,…,tn)における、対応するスクリーン空間位置(x1,y1,…,xn,yn)にマッピングする。対応するスクリーン空間位置(x1,y1,…,xn,yn)は、ポリゴン(TGP)の動き情報に依存する。対応するスクリーン空間リサンプラ(SSR1,…,SSRn)が対応するスクリーン空間位置(x1,y1,…,xn,yn)でのテクセル輝度TI(u,v)の対応する異なる瞬間(t1,…,tn)における、周囲のスクリーン・グリッド位置(x1,y1,…,xn,yn)に対する寄与を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はフォワード・テクスチャ・マッピング[forward texture mapping]3Dグラフィックス・プロセッサと、3Dグラフィックス・プロセッサを備えるグラフィックス・アダプタと、3Dグラフィックス・プロセッサを備えるコンピュータと、3Dグラフィックス・プロセッサを備えるディスプレイ装置とに関する。
【背景技術】
【0002】
フォワード・テクスチャ・マッピング(さらにFTMとも呼ばれる)3Dグラフィックス・プロセッサは、Koen MeindsおよびBart Barenbrugの文献「Resample Hardware for 3D Graphics」、Proceedings of Graphics Hardware 2002、ページ17〜26、Thomas Ertl、Wolfgang Heindrich、およびMichael Dogget(編集責任者)から知られている。
【0003】
既知のFTMが、図1、図2、および図3に関して詳しく説明される。そのようなFTMシステムは、メモリ帯域幅およびコンピュータ処理能力など、利用可能なリソース量に応じた特定の表示速度で、表示用データを表示スクリーン上に生成することができる。より高い表示速度は、これらのリソースをより多く必要とし、完全なFTM処理は、このより高い表示速度を提供できるように適合されなければならない。
【発明の開示】
【発明が解決しようとする課題】
【0004】
本発明の目的は、より高い表示速度を提供するために、より少ないリソースおよび/またはコンピュータ処理能力しか必要としない、FTMシステムを提供することである。本発明は、独立請求項によって確定される。有利な実施形態は、従属請求項において確定される。
【課題を解決するための手段】
【0005】
本発明によるフォワード・テクスチャ・マッピング3Dグラフィックス・プロセッサはテクスチャ空間[texture space]グリッド位置でのテクセル輝度[texel intensity]を格納するためのテクスチャ・メモリを備える。したがって、テクスチャ・メモリに格納されたテクセル輝度はテクスチャ空間グリッド位置に対応する。複数のマッパ[mapper]が、テクスチャ空間ポリゴン内の特定のテクセルを、ジオメトリ[geometry]・データの2つの連続するサンプル瞬間の間に生じる時間間隔に対応する動き経路に沿った対応する異なる表示瞬間における対応するスクリーン空間[screen space]位置にマッピングする。特定のテクセルは、特定のテクスチャ空間グリッド位置と、特定のテクセル輝度とを有する。スクリーン空間ポリゴンの異なる位置は、ワールド空間[world space]、または別の空間、おそらくは視点空間[eye space]からスクリーン空間へのマッピング変換(すなわちビューイング変換)と、同じ時間間隔に沿った対応する異なる瞬間における、ワールド空間、または視点空間などの別の空間における動きを表す動き情報とに依存する。例えば、対応するスクリーン空間位置は、ワールドまたは視点空間におけるポリゴンの動き情報と、ワールド(視点)空間内での動き経路および関連する表示瞬間のためのビューイング変換に基づく、スクリーン空間内での動き経路に沿った、異なる表示瞬間におけるスクリーン空間ポリゴンの頂点位置とに依存することができる。対応するスクリーン空間リサンプラ[resampler]が、対応するスクリーン空間位置におけるテクセル輝度の、対応する異なる表示瞬間における、周囲のスクリーン・グリッド位置に対する寄与を決定する。テクスチャ空間ポリゴンは、テクスチャ空間内のポリゴンであり、スクリーン空間ポリゴンは、スクリーン空間内のポリゴンである。
【0006】
したがって、異なる表示瞬間の各1つについて、テクスチャ空間内の同じ特定のポリゴンと、同じテクスチャとに基づいて、しかし、関連するスクリーン空間ポリゴンの異なる位置に対して、描画が実行される。その結果、出力イメージ・データのフレーム・レートは表示瞬間の数に等しいファクタでアップサンプリングされるが、表示瞬間の各1つにおいて同じテクスチャ・データが使用されることができるので、テクスチャ・メモリへのデータ・レートが増やされることはない。
【0007】
対照的に、従来技術においては、出力フレーム・レート(表示瞬間の数によって決定される)と入力フレーム・レート(ジオメトリおよびテクスチャ・データのサンプリング瞬間によって決定される)とは同じであり、したがって、出力フレーム・レートが特定のファクタでアップサンプリングされた場合、入力フレーム・レートは、同じファクタだけより高いレートを提供されなければならず、テクスチャ・フェッチ・レートも、同じファクタで増やされる。本発明は、動きデータと、3Dジオメトリ・データおよびテクスチャ・データの単一のサンプリングとに基づいて、複数のフレームを描画することができる、FTMシステムを提供する。
【0008】
一実施形態では、動き情報は時間間隔内におけるスクリーン空間でのポリゴンの動き経路を決定するために使用されることができる動きデータを有する。ポリゴンの頂点とスクリーン空間へのテクセルのマッピングが、この動き経路から決定されることができる。
【0009】
一実施形態では、動き情報は2つのサンプル瞬間の間のワールド(または他の、例えば視点)空間におけるポリゴンの頂点の変位を表す変位ベクトル[displacement vector]である。この情報からスクリーン空間における変位が決定されることができる。特定の1つの表示瞬間における変位は、変位ベクトルによって定義される変位を(例えば線形に)補間することによって、決定されることができる。
【0010】
一実施形態では、動きデータは、1つは現在の瞬間のため、1つは以前の瞬間のための2つのモデルビュー行列[modelview matrix]の形で使用される。モデルビュー行列はKoen Meinds、Jan StoutおよびKees van Overveldによる「Real−time temporal anti−aliasing for 3D graphics」と題する文献、Proceedings of VMV、337〜344ページ、ミュンヘン、ドイツ、2003年11月19〜21日から知られている。OpenGLから知られるモデルビュー行列は、ポリゴンの頂点座標をモデル空間から視点空間に変換するために使用される。2つの行列を用いて、視点空間(または別の空間)における動き経路が決定されることができる。2つの連続するサンプル瞬間の間の異なる表示瞬間のための、マッパのマッピング関数のパラメータが、この情報から決定されることができる。したがって、図4に示される関連するスクリーン空間リサンプラと隠面消去[hidden surface removal]ユニットとを用いて、テクセル・カラーが処理された後、これらのパラメータを用いて、マッパは、テクセル座標を、関連する表示瞬間のための関連するフレーム・バッファに格納されるため、スクリーン上の関連する異なる位置にマッピングする。
【0011】
これは、視点空間(またはワールド空間もしくは別の空間)における変位ベクトルを取得するための、堅牢かつ効率的な方法である。視点空間変位ベクトルを決定するため、以前のフレームの頂点が現在のフレームの頂点から減算されることができる。したがって、3Dシステムは、現在のフレーム瞬間と以前のフレーム瞬間の両方についての、視点空間頂点の座標を計算する。3Dアプリケーションは、通常のモデルビュー行列の次に、以前のフレーム瞬間のための追加のモデルビュー行列を送る必要がある。アプリケーションはモデルビュー行列を効率的に再送するため、それらをバッファすることができる。3Dシステムのジオメトリ変換ユニットは、視点空間における「現在」および「以前」の位置に各頂点を変換するため、両方のモデルビュー行列を適用する。
【0012】
一実施形態では、動き情報は3Dアプリケーションによって提供される。代替として、より複雑ではあるが、FTM 3Dグラフィックス・プロセッサが、受け取ったジオメトリ・データ、例えば、スクリーン空間ポリゴンの頂点から、動き情報を決定することができる。
【0013】
一実施形態では、FTMプロセッサは、スクリーン・グリッド位置において決定される輝度を格納するための、複数のフレーム・バッファを備える。各フレーム・バッファは、特定の1つの表示瞬間における描画イメージを格納する。したがって、単一の時間間隔の間にすべてのフレーム・バッファを順番に読み取り、表示することによって、フレーム・レート・アップコンバージョンが得られる。
【0014】
一実施形態では、FTMプロセッサは、動きのないオブジェクトについてフレーム・バッファへの同一のマッピングを実行するように、マッパを制御する。実際には、マッピングを実行するのに、1つのマッパしか必要ではなく、このようにして得られた出力が、すべてのフレーム・バッファにコピーされる。
【0015】
本発明の上記および他の態様は、これ以降で説明される実施形態から明らかになり、実施形態を参照して説明される。
【発明を実施するための最良の形態】
【0016】
図1は、ワールド空間内の3DオブジェクトWOの、表示スクリーンDS上への表示を説明している。ワールド空間の代わりに、オブジェクトは、モデルもしくは視点空間または(スクリーン空間を含む)別の空間など、その他の3D空間においても利用できてよく、これ以降、これらの空間のすべてが、ワールド空間と呼ばれる。図示の立方体のような3次元オブジェクトとすることができるオブジェクトWOは、2次元表示スクリーンDS上に投影される。表面構造またはテクスチャが、3次元オブジェクトWOの外観を定める。図1では、ポリゴンAは、テクスチャTAを有し、ポリゴンBは、テクスチャTBを有する。ポリゴンAおよびBは、より一般的な用語を用いて、グラフィックス・プリミティブ[graphics primitive]とも呼ばれる。
【0017】
表示スクリーンDS上へのオブジェクトWOの投影は、ワールド空間内に視点またはカメラ位置ECPを定めることによって得られる。図1は、スクリーンDS上に投影されるポリゴンSGPが、対応するポリゴンAからどのように得られるかを示している。スクリーン空間SSP内のポリゴンSGPは、スクリーン空間SSPにおけるその頂点座標によって定義される。ポリゴンSGPのジオメトリを決定するのに使用されるのは、ポリゴンAのジオメトリだけである。通常は、ポリゴンSGPの頂点を決定するには、ポリゴンAの頂点を知るだけで十分である。
【0018】
ポリゴンAのテクスチャTAは、ワールド空間からスクリーン空間SSPに直接は投影されない。ワールド空間オブジェクトWOの異なるテクスチャは、テクスチャ・マップ・メモリまたは座標uおよびvにより定義されるテクスチャ空間TSPに格納される。例えば、図1は、ポリゴンAが、TAによって表されるエリア内に、テクスチャ空間TSPで入手可能なテクスチャTAを有し、一方、ポリゴンBが、TBによって表されるエリア内にテクスチャ空間TSPで入手可能な別のテクスチャTBを有することを示している。ポリゴンAは、ポリゴンTGPを得るために、テクスチャ空間TA上に投影され、その結果、ポリゴンTGP内に存在するテクスチャが、ポリゴンA上に投影されると、ワールド空間オブジェクトWOのテクスチャが得られ、または少なくともできるだけ似せられる。テクスチャ空間TSPとスクリーン空間SSPの間のパースペクティブ変換PPTが、ポリゴンTGPのテクスチャを対応するポリゴンSGP上に投影する。このプロセスは、テクスチャ・マッピングとも呼ばれる。通常は、テクスチャは、そのすべてがグローバル・テクスチャ空間内に存在するわけではなく、どのテクスチャも、独自のテクスチャ空間を定める。
【0019】
テクスチャ空間内のテクスチャは、テクスチャ空間における多くの離散的な位置に対してテクスチャ・メモリ内に格納されることが留意されなければならない。通常は、これらの離散的な位置は、整数値uおよびvによって決定される、テクスチャ空間におけるグリッド位置である。これらの離散的なグリッド位置はさらに、グリッド・テクスチャ位置またはグリッド・テクスチャ座標とも呼ばれる。グリッド位置に限定されないu,v空間における位置は、u,v空間における位置、またはテクスチャ空間TSPにおける位置と呼ばれる。u,v空間における位置は、浮動小数点数によって表されることができる。同様に、表示されるイメージは、フレーム・バッファ・メモリ内に格納される。やはり、x,y空間またはスクリーン空間SSPにおける多くの離散的な位置だけが利用可能である。通常は、これらの離散的な位置は、整数値xおよびyによって決定される、スクリーン空間SSPにおけるグリッド位置である。これらの離散的なグリッド位置はさらに、グリッド・スクリーン位置またはグリッド・スクリーン座標とも呼ばれる。グリッド位置に限定されないx,y空間における位置は、x,y空間における位置、またはスクリーン空間SSPにおける位置と呼ばれる。x,y空間におけるこれらの位置は、浮動小数点数によって表されることができる。
【0020】
これ以降、グラフィックス・プリミティブという用語は、ワールド空間内の(ポリゴンAなどの)ポリゴン、またはスクリーン空間SSP内のポリゴンSGP、またはテクスチャ空間TSP内のポリゴンTGPを表す。どのグラフィックス・プリミティブが意味されているかは、文脈から明らかである。
【0021】
図2は、従来技術のフォワード・テクスチャ・マッピング3Dグラフィックス・システムのブロック図である。頂点T&Lユニットともさらに呼ばれる、頂点変換およびライティング[vertex transformation and lighting]・ユニットVERが、ワールド空間内のポリゴンAの頂点座標をスクリーン空間SSPに変換し、頂点ごとの(カラーとも呼ばれる)輝度を決定するために、ライト計算[light calculation]を実行する。テクスチャがポリゴンに適用される場合、頂点T&Lユニットは、アプリケーションからテクスチャ空間座標を受け取る。頂点T&Lユニットは、スクリーン空間SSPおよびテクスチャ空間TSP内の頂点の位置がそれぞれ知られるように、頂点座標のスクリーン空間座標x,yと、テクスチャ空間座標u,vとを供給する。通常は、頂点の位置は、スクリーン空間またはテクスチャ空間グリッド位置とそれぞれ一致しない。
【0022】
テクスチャ空間ラスタライザ[rasterizer]TRASは、ポリゴンの頂点のテクセル空間座標u、vによって決定される、ポリゴン内のテクスチャ空間TSPにおけるテクセルのグリッド位置u、vを決定する。インバース・テクスチャ・マッピング[inverse texture mapping]・システムのスクリーン空間ラスタライザSRASと同様に、テクスチャ空間ラスタライザTRASは、あらゆるグリッド・テクスチャ座標をスクリーン空間位置にマッピングすることができる。しかし、これは、グリッド・テクスチャ座標に基づき今動作するピクセル・シェーダ[pixel shader]PSには必要とされず、したがって、(u,v)から(x,y)へのマッピングは、スクリーン空間リサンプラSSRが(x,y)グリッド・スクリーン位置をまさに必要とするまで、処理パイプラインにおいて遅延させられることができる。
【0023】
ピクセル・シェーダPSは、テクセルの(カラーとも呼ばれる)輝度TSIを決定する。したがって、フォワード・テクスチャ・マッピング・システムでは、ピクセル・シェーダPSは、実際にはテクセル・シェーダである。しかし、その機能がインバース・テクスチャ・マッピング・システムで使用されるピクセル・シェーダPSと同じであるので、ピクセル・シェーダPSと呼ばれる。ピクセル・シェーダPSは、専用またはプログラム可能ユニットとすることができる。ピクセル・シェーダPSは、テクセルのグリッド・テクスチャ座標u,vを含む、ピクセルごとの1組のアトリビュートを受け取る。グリッド・テクスチャ座標u,vは、テクスチャ・メモリTMに格納された、グリッド・テクスチャ位置のテクスチャ・データTIを、オプションのテクスチャ空間リサンプラTSRを介してアドレスするために使用される。テクセル・グリッド位置u,vに対応するテクスチャ・データは、TI(u,v)によって表される。ピクセル・シェーダPSは、テクスチャ座標データu,vを変更することができ、複数のテクスチャ・マップを同じテクセルに適用し、組み合わせることができる。ピクセル・シェーダPSは、よく知られたグロー[Gourand]・シェーディングおよびフォン[Phong]・シェーディング技法などの公式に基づいて、テクスチャ・データを使用せずに、シェーディングを実行することもできる。図3では、例として、ピクセル・シェーダPSが、テクスチャ輝度TSI(u,v)をマッパMAP2に供給することが仮定されている。
【0024】
フォワード・テクスチャ・マッピング・システムは、テクスチャ・グリッドをトラバースできるので、テクスチャ空間リサンプラTSRをバイパスできることが留意されなければならない。テクスチャ空間リサンプラTSRはテクスチャ拡大が使用される場合、テクスチャ空間ラスタライザTRASがスクリーン・グリッドではなく、コーサ[courser]・グリッドをトラバースすることを回避し、したがって、ポリゴン・エッジ・アーチファクト[polygon edge artifact]を回避するという点で意義をもつことができる。また、複数のテクスチャが同じポリゴンに適用される場合、テクスチャ空間リサンプラTSRは、テクスチャ空間ラスタライザTRASが第1のテクスチャのグリッドをトラバースするとき、第2またはより高次のテクスチャの中間テクスチャ位置をトラバースする間に、第1のテクスチャの(u,v)グリッド座標のテクスチャ値を得るために使用されることができる。
【0025】
マッパMAP2は、そのテクセル輝度TSI(u,v)が決定されたテクセル位置u,vを、スクリーン空間位置x,yにマッピングする。
【0026】
スクリーン空間リサンプラSSRは、中間スクリーン空間位置x,yにマッピングされるテクセル輝度TSI(u,v)を使用して、(x,y)周囲のエリアにおけるピクセル輝度PI(x,y)に対する寄与を決定する。実際、これは、インバース・テクスチャ・マッピング・システムにおいて実行されるインバース操作である。インバース・テクスチャ・マッピング・システムにおいては、テクスチャ・グリッド位置ui,vi上の複数のテクスチャ輝度TI(ui,vi)は、グリッド・スクリーン位置に関連付けられたテクスチャ位置u,v上の単一の輝度PI(u,v)を得るために重み付けされる。フォワード・テクスチャ・マッピング・システムにおいては、単一のテクセル輝度TSI(x,y)は、重み付け方式により、グリッド位置x,y上の複数のピクセルに追加される。あるいは異なる言い方をすれば、スクリーン空間にマッピングされるテクセル値TSI(u,v)は、(x,yグリッド上に固有に位置付けられた)複数のピクセルにスプラッティングされる。グリッド位置x,yにおけるピクセル輝度PI(x,y)に影響するすべてのテクセルTSIが寄与したとき、最終的なピクセル輝度PI(x,y)が得られる。
【0027】
隠面消去ユニットHSRは通常、ピクセル単位での可視カラーの決定を可能にするZバッファ(Z−buffer)を含む。生成されたピクセル値の深さ値zが、同じピクセル・スクリーン座標x,yにおいて(したがって、スクリーン・グリッド上で)、Zバッファに格納されたものの深さ値に対してテストされる。テストの結果に応じて、ピクセル輝度またはカラーPIP(x,y)が、フレーム・バッファFBに書き込まれ、Zバッファは更新される。表示されるイメージIMは、フレーム・バッファFBから読まれる。
【0028】
図3Aおよび図3Bは、フォワード・テクスチャ・マッピング・システムの操作を図説している。図3Aは、テクスチャ空間内のテクセル空間ポリゴンTGPを示している。ポリゴンTGPの頂点は、通常はテクスチャ空間グリッド位置u,vと一致しない、テクスチャ空間位置uv1,vv1;uv2,vv2;uv3,vv3によって表されている。テクスチャ空間グリッド位置u,vは、uおよびvについての整数値を有する位置である。ポリゴンTGP内のテクスチャ空間グリッド位置u,vは、×印によって表されている。テクスチャ空間ラスタライザTRASは、ポリゴンTGP内またはポリゴンTGPのすぐ周囲のエリア内のテクスチャ空間グリッド位置u,vを得るために、テクスチャ空間TSP内のテクスチャをラスタ化する。テクスチャ空間ラスタライザTRASは、テクスチャの複数の解像度で動作することができ(MIP−map)、ポリゴン全体にわたってMIP−mapから複数回スイッチすることができる。シェーダPSは、テクスチャ空間グリッド位置u,vの輝度を取り出す。マッパMAP2は、テクスチャ・グリッド位置u,vを、スクリーン空間内の位置x,yにマッピングする。図3Bを参照されたい。通常は、これらのマッピングされたx,y位置は、スクリーン空間グリッド位置x,yと一致しない。グリッド位置x,yは、xおよびyについての整数値を有する位置である。
【0029】
図3Bは、スクリーン空間SSP内のスクリーン空間ポリゴンSGPを示している。ポリゴンSGPの頂点は、通常はスクリーン空間グリッド位置x,yと一致しない、スクリーン位置xv1,yv1;xv2,yv2;xv3,yv3によって表されている。表示されるイメージは、スクリーン空間グリッド位置x,y上に位置付けられるピクセルの輝度(カラーおよび明るさ)によって決定される。マッピングされたx,y位置は、×印によって表されている。スクリーン空間リサンプラSSRは、テクセルの輝度をマッピングされたx,y位置の周囲のピクセル・グリッド位置x,yにスプラッティングして、ピクセル・グリッド位置x,y上の対応するテクセル輝度の寄与を得る。特定のグリッド位置x,yに対応するピクセルの輝度は、この特定のグリッド位置x,yの輝度に寄与する、すべてのマッピングされたテクセル輝度の寄与の総和である。
【0030】
図4は、本発明の一実施形態によるフォワード・テクスチャ・マッピング3Dグラフィックス・システム1のブロック図を示している。
【0031】
頂点変換、ライティング・ユニットVER、テクスチャ空間ラスタライザTRAS、ピクセル・シェーダPS、オプションのテクスチャ空間リサンプラTSRおよびテクスチャ・メモリTMは、図2の対応する項目と同じである。また、それらの動作も、図2に関して説明されたものと同じである。
【0032】
図2のマッパMAP2、スクリーン空間リサンプラSSR、隠面消去HSR、およびフレーム・バッファFBは、複数のマッパMA1からMAn、複数のスクリーン空間リサンプラSSR1からSSRn、複数の隠面消去ユニットHSR1からHSRnおよび複数のフレーム・バッファFB1からFBnによって置き換えられる。これらの項目の各々は、図2に関して説明されたのと同じように動作する。
【0033】
本発明は動きデータおよび3Dジオメトリ・データの単一のサンプリングに基づいて、複数のフレームを描画することによって、フレーム・レートを高めることに関する。動きデータおよび3Dジオメトリ・データは、3Dアプリケーションによって供給され、3Dアプリケーションは、3Dゲーム、VRMLブラウザ、3Dユーザ・インタフェース、MPEG4ビジュアル・レンダラ[renderer]、ビジオフォニ[visiophony]、または別の3Dアプリケーションとすることができる。ジオメトリ・データは、モデルの形状を記述するポリゴンと、3Dパイプラインの状態変化(例えば、フラグメント操作モード、ライト・モデル)を含む、カラーおよびシェーディング情報などの外観を記述するプロパティ・データとを有する。動きデータは、ジオメトリの2つのサンプリング間隔の間の動きの経路を記述するデータである。2つのサンプリング瞬間のあいだの期間は、フレーム周期Tfと呼ばれる。しかし、より一般的には、この期間は、時間間隔Tfと呼ばれる。動きデータは、以前のサンプリング瞬間から現在のサンプリング瞬間までのポリゴンの頂点の変位を表す変位ベクトルを用いて記述されることができる、動き経路を得るために使用されることができる。しかし、動きデータは、例えば、円錐曲線、複合曲線、ベジエ曲線、Bスプライン曲線、または有理多項式を用いて記述される曲線など、動き経路のより高度な記述とすることもできる。各マッパMA1からMAnのマッピング機能は、関連する瞬間についての動き経路から決定される。好ましくは、アプリケーションは、動きデータをジオメトリ・データと一緒に供給するべきである。しかし、特別の場合は、異なる瞬間におけるジオメトリ・データから、動きデータを検出することも可能である。
【0034】
したがって、テクスチャ空間座標、ワールド空間座標、およびカラーなど、ポリゴンの同じ3Dデータ、ならびに同じテクスチャは、時間間隔Tfの間の複数の描画のために使用されることができる。その結果、ポリゴンのジオメトリ・データのフェッチ、テクスチャ空間TSP内のポリゴンTGPのラスタ化、およびテクスチャ・メモリTMからのテクスチャ・データのフェッチは時間間隔Tfにつき1回だけ行われればよい。したがって、頂点変換およびライティング・ユニットVER、テクスチャ空間ラスタライザTRAS、ピクセル・シェーダPS、オプションのテクスチャ空間リサンプラTSR、およびテクスチャ・メモリTMは、図2の対応する項目と同じである。
【0035】
図2のマッパMAP2、スクリーン空間リサンプラSSR、隠面消去ユニットHSR、およびフレーム・バッファFBは、複数のパイプラインを得るために、複数の対応するマッパMA1からMAn、スクリーン空間リサンプラSSR1からSSRn、隠面消去ユニットHSR1からHSRn、およびフレーム・バッファFB1からFBnによって置き換えられなければならない。必要とされるパイプラインの数は、フレーム・レートがアップコンバートされる倍数に等しく、例えば、表示イメージのフレーム・レートを2倍にするには、2つのパイプラインが必要とされる。異なるパイプラインが、ハードウェアを追加することによって得られることができるが、代替として、同じハードウェアが、動作を順次実行するために使用されてもよい。
【0036】
各描画が、時間間隔の間の異なる瞬間のために実行される。例えば、フレーム・レートが2倍にされた場合、入力データの2つの連続するサンプリング瞬間について、2つの描画が実行されなければならない。各マッパMA1からMAnは、瞬間のうちの異なる1つにおいて、テクスチャ・グリッド座標u,vをスクリーン空間座標x,yにマッピングする。モデルの動きのためにポリゴンSGPがスクリーン空間内で動いているので、これらのマッピングは異なる。各マッパMA1からMAnによって供給されるマッピングされたスクリーン空間座標x,yは、スクリーン空間リサンプラSSR1からSSRnのうちの関連する1つに供給される。パイプラインの各1つのスクリーン空間リサンプラSSR1からSSRn、隠面消去ユニットHSR1からHSRn、およびフレーム・バッファFB1からFBnは、図2に関して説明されたのと同じように動作する。パイプラインの特定の1つは、異なる(描画)瞬間のうちの特定の1つにおいて、スクリーン空間イメージを提供する。
【0037】
異なるマッパMA1からMAnを設定するパラメータは、動きデータを使用して、テクスチャ空間ラスタライザTRASによって計算されることができる。図4に示されるFTMは、3Dモデルの単一のサンプリングについて、動き経路に沿った連続するフレーム瞬間に関するピクセルを別個のフレーム・バッファFB1からFBnに格納する。連続するフレーム瞬間または表示瞬間は、ジオメトリの現在のサンプリングによって決定される。ポリゴンTGPは複数のフレーム・バッファFB1からFBnに描画されるので、複数の隠面ユニットHSR1からHSRnが必要とされる。これを容易にするため、隠面ユニットHSR1からHSRnの各1つは、いわゆるZバッファを備えることができる。
【0038】
従来技術では、ジオメトリ・データとテクスチャとによって定義される入力データのサンプリング周期と、フレーム・バッファFBに格納され、表示スクリーン上に表示される出力イメージのフレーム周期とは、同じ持続期間を有することが留意されなければならない。表示イメージのより高いフレーム・レートは、入力データのサンプリング・レートを高めることによってのみ可能になる。
【0039】
本発明によるFTMにおいては、入力データのサンプリング周期は従来技術のものと同じであることができながら、表示イメージのより高いフレーム・レートが得られることができる。代替として、表示イメージの従来技術におけるのと同じフレーム・レートが、入力データのより低いフレーム・レートを用いて得られることができる。もちろん、入力フレーム・レートと出力フレーム・レートの中間値を得ることも可能である。
【0040】
従来技術のFTMでは、表示イメージのフレーム・レートが特定のファクタによって高められた場合、テクスチャ・メモリTMへのデータ・トラフィックも、同じファクタによって高められなければならない。これは、テクスチャ・メモリへのデータ・トラフィックはしばしば3Dシステムのパフォーマンス・ボトルネックであるので、テクスチャ・メモリTMが、FTM回路の残りの部分とバスを介して接続された外部メモリであるとき、特に重荷となる。このバスの必要とされる帯域幅も、特定のファクタによって増やされなければならない。本発明によるFTMでは、テクスチャ・メモリTMのデータ・トラフィックはこのファクタに依存しない。現在の3Dグラフィックス・パイプラインでは、タイルベース[tile-based]のレンダラ(IMGのPower VRアクセラレータなど)の場合は特に、バスを介したテクスチャ・データ・トラフィックは、パフォーマンスおよび電力損のボトルネックであるので、このデータ・トラフィックの減少は重要である。第2の利点はより高いフレーム・レートを生みだすのに従来技術が使用される場合、ラスタ化が従来技術におけるよりも小さなコンピュータ処理性能しか必要としないことである。より小さなラスタライザTRASまたはより強力でないラスタライザで十分である。また、より強力でないピクセル・シェーダPSしか必要とされない。
【0041】
したがって、本発明のアップサンプリング技法のため、数倍の複数のリソースが提供されるか、または時分割多重がなされるかしなければならず、あるいはハードウェア・リソースの増倍および時分割多重の組み合わせが使用されなければならない。
【0042】
スクリーン空間ラスタライザSSR1からSSRnの機能の時分割多重は、その実装に依存する。2Dフィルタを有するワンパス(one−pass)・リサンプラが使用される場合、状態は保存される必要はなく、時分割多重は容易である。しかし、ワンパス・リサンプラは、フレーム・バッファ(またはタイルベースの描画システムにおけるタイル・バッファ)へのより多くの帯域幅を必要とする。2つの1Dリサンプラを使用するツーパス[two-pass]・リサンプラでは、垂直リサンプラ[vertical resampler]の状態が、入力ラインの各サンプルについて保存されなければならない。これは、フレーム・バッファ幅と等しい長さの1対のライン・メモリ[line memory]を必要とする。しかし、タイルベース描画が使用される場合、この長さはタイル幅と等しい。したがって、タイルベース描画を用いるツーパス・リサンプリングを使用して、スクリーン空間ラスタライザSSR1からSSRnを時分割多重するには、相対的に小さなサイズのライン・メモリを増倍する必要があるだけである。
【0043】
従来の隠面消去ユニットHSR1からHSRnは、フレームまたはタイルのサイズを有するZバッファを使用する。これは、この機能を時分割多重するときに複製されなければならない状態情報である。タイルベース描画の場合、タイル・サイズは相対的に小さく、本フレーム・レート・アップコンバージョン技法での最適使用のために、より小さくされることすらできる。
【0044】
入力イメージ内の動かないオブジェクトは、1度だけ描画され、一連の表示瞬間に関連するすべてのフレーム・バッファFB1からFBnに(Zテストを用いて)コピーされることができる。動きを含むオブジェクトは、先に説明された異なるマッピングを使用することによって、すべてのフレーム・バッファFB1からFBnに描画される。
【0045】
好ましくは、本発明によるテクスチャ・データ・トラフィック節約技法のため、現在最も普及している3DグラフィックスAPI(Open GL、Direct3D)は、3Dアプリケーションによって提出された動きデータをサポートするように拡張される。これを解決するため、API拡張が定義され、おそらく次のバージョンのAPIに含まれることができる。
【0046】
ユーザ入力上の生成フレームの待ち時間は、入力データの(より低い)サンプリング・レートに応じる。ゲームなどの待ち時間クリティカルなアプリケーションの場合、入力データのサンプリング・レートは、低く選択されてはならない。例えば、望ましいフレーム・レートが60Hzであるゲームの場合、2または4のアップコンバージョン・ファクタ(それぞれ30または15Hzでサンプリングされる入力データ)は許容可能であることができるが、より高いアップコンバージョン・ファクタは長い待ち時間の原因になることがある。
【0047】
図5Aおよび図5Bは、図4に示されたフォワード・テクスチャ・マッピング・システムの実施形態の操作を図説している。図5Aは図3Aと同じであり、したがって、さらには説明されない。図5Aは、単一のテクスチャ空間ポリゴンTGPを示している。図5Bは、単一のテクスチャ空間ポリゴンTGPに関連し、n個の異なる瞬間t1からtnに生じる、スクリーン空間ポリゴンSGP1からSGPnのn個の位置のうちの2つを示している。これらの異なる瞬間t1からtnも、表示瞬間と呼ばれる。フレーム・レート・アップコンバージョン・ファクタは、時間間隔Tf内の表示瞬間の数と等しい。スクリーン空間ポリゴンSGP1からSGPnは、オブジェクトが動いているので、スクリーン空間SSPにおける異なる位置を有する。テクスチャ空間ポリゴンTGPおよびスクリーン空間ポリゴンSGP1からSGPnの頂点は、3Dアプリケーションによって供給されることができる。スクリーン空間ポリゴンSGP1からSGPnの頂点は、現在のサンプリング瞬間のワールド空間ポリゴンの頂点から決定されることができ、そのマッピング機能が動き経路上の関連する瞬間に対じた関連するマッパMA1からMAnを用いて、スクリーン空間にマッピングされることができる。
【0048】
図5Bは、図3Bに示されたポリゴンSGPと同じポリゴンSGP1を示している。ポリゴンSGP1およびSGPnは共に、ワールド空間の同じソース・ポリゴンからマッピングされており、動き経路に沿った関連する瞬間に応じて、別のマッピングが使用されただけである。ポリゴンSGPnは、表示瞬間tnにおけるスクリーン位置を示している。明瞭にするため、中間位置が存在する場合(n>2)、それらは示されていない。テクスチャ位置u,vは、瞬間t1には位置x1,y1にマッピングされ、瞬間tnには位置xn,ynにマッピングされる。従来技術のFTMによれば、テクスチャ位置u,vにおけるテクセルの輝度情報は、知られた仕方で、周囲のスクリーン空間グリッド座標x1,y1およびxn,ynにそれぞれスプラッティングされる。
【0049】
図6は、フォワード・テクスチャ・マッピング・システムを備えるコンピュータを示している。コンピュータPCは、プロセッサ3と、グラフィックス・アダプタ2と、メモリ4とを備える。プロセッサ3は、入力データIIをグラフィックス・アダプタ2に供給するように、適切にプログラムされる。プロセッサ3は、バスD1を介して、メモリ4と通信する。グラフィックス・アダプタ2は、FTMシステム1を備える。通常は、グラフィックス・アダプタは、適切なスロット(例えば、AGPスロット)に差し込まれるモジュールである。通常は、グラフィックス・アダプタは、独自のメモリ(例えば、テクスチャ・メモリTMおよびフレーム・バッファFB)を備える。しかし、グラフィックス・アダプタは、コンピュータPCのメモリ4の一部を使用してもよく、その場合、グラフィックス・アダプタは、バスD2を介して、またはプロセッサ3およびバスD1を介して、メモリ4と通信する必要がある。グラフィックス・アダプタ2は、出力イメージOIを標準インタフェースを介してディスプレイ装置DAに供給する。ディスプレイ装置は、任意の適切なディスプレイ、例えば、ブラウン管、液晶ディスプレイ、またはその他の任意のマトリックス・ディスプレイなどでよい。
【0050】
コンピュータPCとディスプレイDAは、標準インタフェースを介して通信する別個のユニットである必要はなく、単一の装置、例えば、携帯情報端末(PDAもしくはポケットPC)またはイメージを表示するためのディスプレイを有するその他の任意のモバイル装置に組み合わされてもよい。
【0051】
図7は、フォワード・テクスチャ・マッピング・システムを備えるディスプレイ装置を示している。ディスプレイ装置DAは、入力データ(ジオメトリおよび関連データ)IIを受け取って、出力イメージOIを信号処理回路11に供給する、FTMパイプライン1を備える。信号処理回路11は、ディスプレイ12のための駆動信号DSを得るため、出力イメージOIを処理する。
【0052】
上述の実施形態は、本発明を限定するのではなく、むしろ本発明を説明しており、当業者であれば、添付の特許請求の範囲から逸脱することなく、多くの代替実施形態を設計できることに留意されたい。
【0053】
請求項において、括弧内の参照符号は、請求項を限定すると解釈されるべきではない。動詞「comprise(備える)」およびその活用型の使用は、請求項で述べられた要素またはステップ以外の要素またはステップの存在を排除しない。要素の前に置かれた冠詞「a」または「an」は、複数のそのような要素の存在を排除しない。本発明は、複数の別個の要素を備えるハードウェアによって、また適切にプログラムされたコンピュータによって、実施されることができる。複数の手段を列挙した装置請求項では、複数のこれらの手段は、同一のハードウェア物品によって実施されてもよい。ある方策が相互に異なる従属請求項において挙げられているという単なる事実は、これらの方策の組み合わせが有利に使用されることができないことを表さない。
【図面の簡単な説明】
【0054】
【図1】表示スクリーン上への3Dオブジェクトの表示を示す図である。
【図2】従来技術のフォワード・テクスチャ・マッピング3Dグラフィックス・システムのブロック図である。
【図3A】フォワード・テクスチャ・マッピングの操作を示す図である。
【図3B】フォワード・テクスチャ・マッピングの操作を示す図である。
【図4】本発明の一実施形態によるフォワード・テクスチャ・マッピング3Dグラフィックス・システムのブロック図である。
【図5A】図4に示されたフォワード・テクスチャ・マッピング・システムの実施形態の操作を示す図である。
【図5B】図4に示されたフォワード・テクスチャ・マッピング・システムの実施形態の操作を示す図である。
【図6】フォワード・テクスチャ・マッピング・システムを備えるコンピュータを示す図である。
【図7】フォワード・テクスチャ・マッピング・システムを備えるディスプレイ装置を示す図である。

【特許請求の範囲】
【請求項1】
テクスチャ空間グリッド位置(u,v)におけるテクセル輝度TI(u,v)を格納するための、テクスチャ・メモリと、
テクスチャ空間ポリゴン内の特定のテクセルを、前記テクスチャ空間ポリゴンに関連するスクリーン空間ポリゴンを定義するジオメトリ・データの2つの連続するサンプル瞬間の間に生じる時間間隔内の対応する異なる表示瞬間(t1,…,tn)における対応するスクリーン空間位置(x1,y1,…,xn,yn)にマッピングする、複数のマッパであって、前記特定のテクセルが、特定のテクスチャ空間グリッド位置(u,v)と、特定のテクセル輝度TI(u,v)とを有し、前記対応するスクリーン空間位置(x1,y1,…,xn,yn)が、前記時間間隔内の異なる瞬間(t1,…,tn)における前記スクリーン空間ポリゴンの動き情報に依存する、複数のマッパと、
前記対応するスクリーン空間位置(x1,y1,…,xn,yn)における前記テクセル輝度TI(u,v)の、前記対応する異なる瞬間(t1,…,tn)における、周囲のスクリーン・グリッド位置(x1,y1,…,xn,yn)に対する寄与を決定する、対応するスクリーン空間リサンプラと、を備える、フォワード・テクスチャ・マッピング3Dグラフィックス・プロセッサ。
【請求項2】
前記動き情報が、前記時間間隔内の動きの経路を記述する動きデータを有する、請求項1に記載のフォワード・テクスチャ・マッピング3Dグラフィックス・プロセッサ。
【請求項3】
前記動き情報が、以前のサンプル瞬間における前記スクリーン空間ポリゴンの頂点(x11,y11;x12,y12;x13,y13)と、現在のサンプル瞬間における前記スクリーン空間ポリゴンの頂点(xn1,yn1;xn2,yn2;xn3,yn3)との変位を表す、変位ベクトルを有する、請求項1に記載のフォワード・テクスチャ・マッピング3Dグラフィックス・プロセッサ。
【請求項4】
前記動きデータが、1つは前記ジオメトリ・データおよびテクスチャ・データの現在のサンプル瞬間のため、1つは以前のサンプル瞬間のための、2つのモデルビュー行列を有する、請求項1に記載のフォワード・テクスチャ・マッピング3Dグラフィックス・プロセッサ。
【請求項5】
前記動き情報が、3Dアプリケーションから受け取られる、請求項1に記載のフォワード・テクスチャ・マッピング3Dグラフィックス・プロセッサ。
【請求項6】
前記スクリーン・グリッド位置(x1,y1,…,xn,yn)において決定された輝度PI(x,y)を格納するための、複数のフレーム・バッファをさらに備える、請求項1に記載のフォワード・テクスチャ・マッピング3Dグラフィックス・プロセッサ。
【請求項7】
前記複数のマッパが、前記対応する異なる瞬間(t1,…,tn)において動きのないオブジェクトを、前記複数のフレーム・バッファに同じにマッピングするように構成される、請求項5に記載のフォワード・テクスチャ・マッピング3Dグラフィックス・プロセッサ。
【請求項8】
請求項1のフォワード・テクスチャ・マッピング3Dグラフィックス・プロセッサを備える、グラフィックス・アダプタ。
【請求項9】
請求項1のフォワード・テクスチャ・マッピング3Dグラフィックス・プロセッサを備える、コンピュータ。
【請求項10】
請求項1のフォワード・テクスチャ・マッピング3Dグラフィックス・プロセッサを備える、ディスプレイ装置。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2008−502978(P2008−502978A)
【公表日】平成20年1月31日(2008.1.31)
【国際特許分類】
【出願番号】特願2007−516108(P2007−516108)
【出願日】平成17年6月9日(2005.6.9)
【国際出願番号】PCT/IB2005/051896
【国際公開番号】WO2005/124692
【国際公開日】平成17年12月29日(2005.12.29)
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【Fターム(参考)】