JP2008276781A - テクスチャ詳細レベル計算のための装置と方法 - Google Patents

テクスチャ詳細レベル計算のための装置と方法 Download PDF

Info

Publication number
JP2008276781A
JP2008276781A JP2008119956A JP2008119956A JP2008276781A JP 2008276781 A JP2008276781 A JP 2008276781A JP 2008119956 A JP2008119956 A JP 2008119956A JP 2008119956 A JP2008119956 A JP 2008119956A JP 2008276781 A JP2008276781 A JP 2008276781A
Authority
JP
Japan
Prior art keywords
detail
level
log
texture
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008119956A
Other languages
English (en)
Other versions
JP5163981B2 (ja
Inventor
Mike M Cai
エム. カイ マイク
Jean-Didier Allegrucci
アレグルチイ ジャン−ディダー
Tai Anthony Ya-Nai
ヤ−ナイ タイ アンソニー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vivante Corp
Original Assignee
Vivante Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vivante Corp filed Critical Vivante Corp
Publication of JP2008276781A publication Critical patent/JP2008276781A/ja
Application granted granted Critical
Publication of JP5163981B2 publication Critical patent/JP5163981B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing

Abstract

【課題】グラフィック処理システムの実施形態は乗算、平方、および平方根演算以外の演算を使用する簡単なハードウェア実装を容易にする。
【解決手段】テクスチャ詳細レベルを計算するグラフィック処理システム。グラフィック処理システムの実施形態は、メモリ装置と、ドライバと、および詳細レベル計算ロジックを含む。メモリ装置は第1ルックアップテーブルを実装するように構成される。第1ルックアップテーブルは第1詳細レベル成分を提供するように構成される。ドライバは第2詳細レベル成分の対数値を算出するように構成される。詳細レベル計算ロジックはメモリ装置とドライバに結合される。詳細レベル計算ロジックは、ルックアップテーブルからの第1詳細レベル成分とドライバからの第2詳細レベル成分に基づいて、テクスチャマッピング演算のために詳細レベルを計算するように構成される。
【選択図】図1

Description

ビデオグラフィックスの適用においては、異なる形状およびサイズのグラフィカル画像を描くために多数の技術が使用される。典型的には、グラフィカル画像は、数千、あるいは数百万もの、三角形のような基本形から構成されている。各三角形は、その頂点の座標により定義される。グラフィックス描画の三次元的外観を強調するために、テクスチャを、三角形または他の描画ユニットのそれぞれに追加することができる。テクスチャ座標は、対象物が表示装置上で描画されるときに、テクスチャマップをそれぞれの対象物に割り当てるために使用される。テクスチャマップは、テクスチャの標準ブロックを形成するために組み合わされたテクスチャ要素(テクセル)のアレイである。
描画される対象物にテクスチャをマッピングすることは、描画される場面における種々の対象物の深度(つまり、見る人に対する距離)のために複雑であり得る。描画される対象物の方位もまた、テクスチャを描画対象物にマッピングするときの複雑さに影響を与え得る。更に、テクスチャを単一の対象物に適用することは、対象物が表示装置上でその深度と方位を変えると複雑になり得る。
ミップマッピングは、それぞれが対応する詳細レベル(LOD)を有する、異なるテクスチャマップをそのような対象物に対して適用するために使用される1つの従来技術である。ミップマッピングは、テクスチャマップを前以てフィルタ処理し、前以てフィルタ処理された異なるバージョンまたはレベルを格納して、テクスチャ縮小計算の複雑さを低減する。テクスチャ縮小は、描画対象物が表示装置上で遠くに現れるようするには縮小されるので、標準の詳細レベルを有する前以てフィルタ処理されたテクスチャマップを最小化して、複数のテクセルを単一ピクセルに相関付けることである。対照的に、テクスチャ拡大は、テクスチャ詳細レベルを、表示装置上で拡大されて見る人に相対的に近くに現れる対象物に相関付けることである。しかし、テクスチャフィルタ処理はまた、ピクセルが特別なテクスチャマップのテクセルに対して不整列になることもあるので、テクスチャ拡大と共に使用できることに留意されたい。
テクスチャ詳細レベル計算は、特別な描画対象物にテクスチャを適用するためにどのテクスチャマップを使用するかを決定するために実施される。一般的に、より詳細な(「レベル0」と指定されることもある)テクスチャマップは近い対象物に対して使用され、より詳細度が低い(「レベル1」、「レベル2」、「レベル3」、などと指定されることもある)テクスチャマップは、遠い対象物に対して使用される。
従来の二次元(2D)テクスチャ詳細レベル計算は、期待値を計算するために、2つの対数項のそれぞれに対して2回の乗算演算と、2回の平方演算と、1回の加法演算と、および1回の平方根演算を実施する。同様に、従来の三次元(3D)テクスチャ詳細レベル計算は、3つの対数項のそれぞれに対して3回の乗算演算と、3回の平方演算と、2回の加法演算と、および1回の平方根演算を実施する。これらの計算は、しばしば32ビット浮動小数点空間で行われるので、これらの従来のテクスチャ詳細レベル計算はハードウェアで実施するには高価である。
システムの実施形態を説明する。1つの実施形態において、システムはテクスチャ詳細レベルを計算するためのグラフィック処理システムである。グラフィック処理システムの実施形態は、メモリ装置と、ドライバと、詳細レベル計算ロジックを含む。メモリ装置は、第1ルックアップテーブルを実装するように構成される。第1ルックアップテーブルは、第1詳細レベル成分を提供するように構成される。ドライバは、第2詳細レベル成分の対数値を算出するように構成される。詳細レベル計算ロジックはメモリ装置とドライバに結合される。詳細レベル計算ロジックは、ルックアップテーブルからの第1詳細レベル成分とドライバからの第2詳細レベル成分に基づいて、テクスチャマッピング演算のために詳細レベルを計算するように構成される。グラフィック処理システムの実施形態は、乗算、平方、および平方根演算以外の演算を使用して、簡単なハードウェア実装を容易にする。システムの他の実施形態もまた説明する。
方法の実施形態もまた説明する。1つの実施形態において、本方法は、テクスチャ詳細レベルを計算する方法である。本方法の実施形態は、複数の第1詳細レベル成分に基づいて第1対数項を計算することを含む。第1対数項は、テクスチャマップの第1寸法に対応する。複数の第1詳細レベル成分は、ルックアップおよび乗算以外の算術演算により生成される。本方法はまた、複数の第2詳細レベル成分に基づいて、第2対数項を計算することも含む。第2対数項は、テクスチャマップの第2寸法に対応する。複数の第2詳細レベル成分は、ルックアップおよび乗算以外の算術演算により生成される。本方法はまた、第1および第2対数項の最大値に従って詳細レベルを計算することも含む。本方法の他の実施形態も説明する。
装置の実施形態もまた説明する。1つの実施形態において、装置はテクスチャ詳細レベルを計算するための装置である。本装置の実施形態は、乗算、平方、平方根演算以外の演算を使用して第1および第2対数項を計算する手段を含む。本装置はまた、第1および第2対数項に基づいてテクスチャ詳細レベルを計算するための手段も含む。本装置の他の実施形態も説明する。
本発明の実施形態の他の形態および利点は、本発明の原理の例により示された、付随する図面と連係する下記の詳細な説明により明白になるであろう。
図1は、コンピュータグラフィックスシステム100の1つの実施形態の模式ブロック図を示している。コンピュータグラフィックスシステム100は、下記に説明するように、テクスチャマッピングと詳細レベル計算を実装できる。図1に示されているように、コンピュータグラフィックスシステム100は高度集積システムであり、集積プロセッサ回路102と、メモリ装置104と、および表示モニタ106を含む。1つの実施形態において、メモリ装置104は、リードオンリメモリ(ROM)と、ランダムアクセスメモリ(RAM)を含む。他の実施形態は異なるタイプのメモリ装置を含むことができる。高度集積アーキテクチャにより電力の節約が可能になる。他の実施形態は、周辺コントローラ(図示せず)のような他の構成要素を含むことができる。
示されている集積プロセッサ回路102は、メモリ管理ユニット(MMU)110と1つまたは2つ以上の命令および/またはデータキャッシュ112を含む処理ユニット(CPU)108を含む。集積プロセッサ回路102はまた、メモリ104とのインタフェースを取るためのメモリインタフェース114も含む。集積プロセッサ回路102はまた、テクスチャエンジン118を含むグラフィックスプロセッサ116も含む。1つの実施形態において、テクスチャエンジン118は図3に示され、下記により詳細に説明するテクスチャパイプライン130に関連する1つまたは2つ以上のテクスチャ演算を実施する。特に、テクスチャエンジン118は1つまたは2つ以上のテクスチャマップをグラフィカル対象物に適用できる。テクスチャエンジン118は、詳細レベル計算に基づいてどのテクスチャマップを適用するかを決定する。グラフィックスプロセッサ116は、バス120により処理ユニット108とメモリインタフェース114に結合される。
直接メモリアクセス(DMA)コントローラ122もまたバス120に結合される。DMAコントローラ122はバス120をインタフェース(I/F)バス124に結合し、インタフェース(I/F)バス124にはエンコーダ/デコーダ(CODEC)インタフェース、パラレルインタフェース、シリアルインタフェース、および入力装置インタフェースのような他のコアロジック関数構成要素(図示せず)を結合できる。1つの実施形態において、DMAコントローラ122はメモリインタフェース114を介してメモリ装置104に格納されているデータにアクセスし、データをI/Fバス124に接続されている周辺装置に提供する。DMAコントローラ122はまた、データをメモリインタフェース114を介して周辺装置からメモリ装置104に送る。
1つの実施形態において、グラフィックスプロセッサ116はメモリインタフェース114を介して、メモリ装置104からグラフィカルデータを要求しアクセスする。その後、グラフィックスプロセッサ116はデータを処理し、処理データをフォーマットして、フォーマットされたデータを表示装置106に送る。いくつかの実施形態においては、表示装置106は液晶ディスプレイ(LCD)、陰極線管(CRT)、またはテレビ(TV)モニタであってよい。コンピュータグラフィックスシステム100の他の実施形態は、より多くのまたは少ない構成要素を含んでもよく、より少ないまたは多くの演算を実施できてもよい。
図2は、複数の詳細レベルに対応する複数のテクスチャマップ130の1つの実施形態の模式図を示している。特に、複数のテクスチャマップ130はテクセルの16×16アレイを含む高解像度テクスチャマップ132を含む。複数のテクスチャマップ130はまた単一テクセルである低解像度テクスチャマップ139も含む。高解像度テクスチャマップ132と低解像度テクスチャマップ139の間に、異なる解像度を有するいくつかの中間テクスチャマップ134、136、および138がある。例えば、テクスチャマップ134はテクセルの8×8アレイを含み、テクスチャマップ136はテクセルの4×4アレイを含み、テクスチャマップ138はテクセルの2×2アレイを含む。
複数のテクスチャマップ130のそれぞれは、テクスチャ表現の詳細は複数のテクスチャマップ130間で異なるので、詳細レベル(LOD)に対応する。例えば、高解像度テクスチャマップ132は、第1中間テクスチャマップ134よりもより詳細なテクスチャを有している。そのため、高解像度テクスチャマップ132は、非常に詳細なテクスチャを見る人に近いものとして表示装置106上に表現される対象物または対象物の一部にマッピングするために使用できる。同様に、第1中間テクスチャマップ134は、第2中間テクスチャマップ136よりもより詳細なテクスチャを有し、第2中間テクスチャマップ136は、第3中間テクスチャマップ138よりもより詳細なテクスチャを有し、第3中間テクスチャマップは、低解像度テクスチャマップ139よりもより詳細なテクスチャを有する。従って、低解像度テクスチャマップ139は、見る人から遠いものとして表示装置106上で表現される対象物または対象物の一部に詳細度が低いテクスチャをマッピングするために使用できる。複数のテクスチャマップ130を生成することは、圧縮、内挿、フィルタ処理などを含む種々の既知のテクスチャマップ生成技術を使用して実行できる。
高解像度テクスチャマップ132は複数のテクスチャマップ130の最も詳細なテクスチャを表現するので、高解像度テクスチャマップ132は「レベル0」として指定できる。同様に、第1中間テクスチャマップ134は「レベル1」として、第2中間テクスチャマップ136は「レベル2」として、第3テクスチャマップ138は「レベル3」として、そして低解像度テクスチャマップ139は「レベル4」として指定できる。更に、詳細レベル計算からの種々の値はレベルのまたはテクスチャマップのそれぞれに対応する。このように、詳細レベル計算は、表示装置106上に表現される対象物または対象物の一部にテクスチャを与えるために使用される複数のテクスチャマップ130の1つを選択するために使用できる。
図3は、テクスチャエンジン118における実装のためのテクスチャマッピングパイプラインの1つの実施形態の模式ブロック図を示している。示されているテクスチャマッピングパイプラインは、シェイダー140と、テクスチャ座標ジェネレータ142と、テクスチャアドレスジェネレータ144と、テクスチャキャッシュ146と、およびテクスチャフィルタ148を含む。しかし、テクスチャマッピングパイプラインの他の実施形態はテクスチャエンジン118の他の実施形態において実装できる。更に、ここで説明されるいくつかの段階はグラフィックスプロセッサ116の他の構成要素により少なくとも部分的には実装できる。
1つの実施形態において、シェイダー140は表示装置106上に描画される三角形(または他の描画対象物)に対応するピクセル座標を受け取る。そして、テクスチャ座標ジェネレータ142はピクセル座標に対応するテクスチャ座標を生成する。1つの実施形態において、テクスチャ座標ジェネレータ142は下記に説明するように詳細レベル計算を実装する。そして、テクスチャアドレスジェネレータ144は詳細レベル計算に対応するテクスチャマップのメモリアドレスを決定する。テクスチャアドレスジェネレータ144はテクスチャマップアドレスをテクスチャキャッシュ146に送り、テクスチャキャッシュ146は要求されたテクスチャマップがキャッシュまたは別のメモリ装置内に格納されているかを判断する。テクスチャマップが別のメモリ装置に格納されていれば、テクスチャキャッシュ146は要求されたデータをメモリ装置から取り出して、それをテクスチャキャッシュ146に格納する。そして、テクスチャキャッシュ146は要求されたテクスチャマップのコピーをテクスチャフィルタ148に提供する。
テクスチャフィルタ148は、テクスチャマップのテクセルを表示装置106の対応するピクセルのそれぞれに相関付ける。いくつかの実施形態においては、テクセルとピクセルの間にはサイズと位置に関して1対1対応の相関がある。または、サイズに関してテクセルとピクセルの間に1対1対応の相関があってもよく、しかしそれにも拘わらず、テクスチャフィルタ148はテクセルの位置がピクセルの位置と整列していないので、テクスチャフィルタ処理を行う。他の実施形態においては、テクセルサイズはピクセルサイズとは異なり、従ってテクスチャフィルタ148は拡大または縮小を実施して、要求されたテクスチャマップのテクセルを表示装置106のピクセルに相関付ける。テクスチャフィルタ148の他の実施形態はテクスチャフィルタ処理の他のタイプを実装できる。
図4は、詳細レベル計算アーキテクチャ150の1つの実施形態の模式ブロック図を示している。示されている詳細レベル計算アーキテクチャ150は詳細レベル計算ロジック152とルックアップロジック154を含む。1つの実施形態において、ルックアップロジック154は少なくとも1つの対数ルックアップテーブル156と少なくとも1つの関数ルックアップテーブル158を実装する。これらのルックアップテーブル156と158はルックアップロジック154内に組み込むことができる。詳細レベル計算アーキテクチャ150はまたドライバ160とソフトウェア162を含む。一般的に、詳細レベル計算アーキテクチャ150は詳細レベル計算を実行するように構成される。
1つの実施形態において、詳細レベル計算アーキテクチャ150との連係で実行される詳細レベル計算は従来の詳細レベル計算から導出される対数数学方程式に基づいている。これらの方程式を使用すると従来の詳細レベル計算のハードウェア(またはソフトウェア)実装の複雑さを軽減できる。1つの実施形態において、この改善された詳細レベル計算は整数加法およびルックアップ演算を使用して実施される。更に、この詳細レベル計算の実施形態は乗算、平方、または平方根演算を使用せずに実施される。
下記の二次元(2D)詳細レベル方程式は図4の詳細レベル計算アーキテクチャ150により実装される詳細レベル計算を導出する開始点である。
Figure 2008276781
この方程式は次のように書ける。
Figure 2008276781
ここで、
Figure 2008276781
および
Figure 2008276781
である。
2つの対数項LとLのそれぞれに対して、2回の乗算演算と2回の平方演算と1回の加法演算と1回の平方根演算がある。これらの演算は、32ビット浮動小数点空間において実施される。乗算、平方、および平方根演算を除去するために表記法、A=dsdx×widthとB=dsdy×heightが使用される。
A≧B、A≧0、およびB≧0もまた仮定される。
従って、(dsdx×width)≧(dtdx×height)という結果になる。
これらの表記法と仮定を使用して第1対数項Lに対する方程式は次のように書き直せる。
Figure 2008276781
AとBを再び置き換えると次のような結果になる。
Figure 2008276781
同様な結果が元の方程式の他の対数項Lに対して得られる。
Figure 2008276781
このように、元の方程式の対数項LとLの両者は3成分を使用して対数方程式に書き直せる。第1成分はlog(dsdx)、またはlog(dsdy)成分である。第2成分はlog(width)成分である。そして、第3成分は関数成分と称される。1つの実施形態において、期待されるLODは固定小数点7.5フォーマットで表現され、それにより整数部分は7ビットを使用して表現され、少数部分は5ビットを使用して表現される。他の実施形態は他の数値フォーマットを使用できる。
1つの実施形態において、LとLの方程式のそれぞれの第1成分は対数ルックアップテーブル156のようなルックアップテーブル(または別個のルックアップテーブル)から導出できる。1つの実施形態において、対数ルックアップテーブル156は6ビットテーブルであるが、他の実施形態は他のタイプのテーブルを使用できる。
とLの方程式のそれぞれの第2成分は部分的にはソフトウェア162により提供される。1つの実施形態において、第2成分はそれぞれテクスチャ属性であり、従ってlog(width)成分はドライバ160による固定小数点7.5フォーマットであってもよい。他の実施形態は別の方法で第2成分を生成できる。
とLの方程式のそれぞれの第3成分は関数成分である。L方程式に対する関数成分を得るためにそれは次のように書ける。
Figure 2008276781
従って、L方程式の関数成分に対する方程式は次のように書き直せる。
f(x)=0.5×log(1+22x),
ここで、x=log(dtdx)−log(dsdx)+log(height)−log(width)である。
この表記法を使用するとL方程式は、次のように書き直せる。
=log(dsdx)+log(width)+f(x)
同様な数学および表記法を使用するとL方程式は次のように書き直せる。
=log(dsdy)+log(width)+f(y),
ここで、f(y)=0.5×log(1+22y)およびy=log(dtdy)−log(dsdy)+log(height)−log(width)である。
1つの実施形態において、LとLの方程式のそれぞれの第3成分つまり関数成分は、関数ルックアップテーブル158のようなルックアップテーブル(または別個のルックアップテーブル)から導出できる。関数ルックアップテーブル158の1つの例は下記のように提供されるが、他の実施形態は他の関数ルックアップテーブルを使用できる。
Figure 2008276781
A≧B,A≧0,B≧0なので次のようになる。
Figure 2008276781
従って、LとLの方程式のそれぞれの関数成分は[0.0,0.5]の範囲内にある。1つの実施形態において、入力は7.5固定小数点フォーマットであり、関数ルックアップテーブル158は6ビットテーブルである。しかし、他の実施形態は他のフォーマットを使用できる。
1つの実施形態において、LとLの方程式のそれぞれに対する上記の成分の使用はルックアップテーブルと整数数学のみによる詳細レベル計算の実行を容易にする。従って、ハードウェアは乗算、平方、および平方根演算を実行するために実装することが必ずしも必要とは限らない。
別の実施形態において、対数数学もまた三次元(3D)詳細レベル計算のための類似方程式を導出するために使用できる。3D詳細レベル計算はまたボリュームテクスチャ詳細レベル計算とも称することができる。下記の3D詳細レベル方程式は図4の詳細レベル計算アーキテクチャ150により実装される詳細レベル計算を導出する開始点である。
Figure 2008276781
ここで、
Figure 2008276781
および
Figure 2008276781
である。
3D詳細レベル計算の各成分は、上記の2D詳細レベル計算に対して説明したものと類似の数学的演算を使用して簡略化できる。例えば、V方程式は次のように書き直せる。
Figure 2008276781
ここで、A=dsdx×width、
B=dtdx×height、および
C=drdx×depthである。
追加の置換を行うことによりV方程式は次のように書き直せる。
Figure 2008276781
ここで
Figure 2008276781
である。
従って次のようになる。
Figure 2008276781
第1項においてDを置き換えて元に戻すと次のようになる。
Figure 2008276781
ここで、f(x’)=0.5×log(1+22x’)およびx’=log(drdx)−log(depth)−Lである。
Figure 2008276781
とLは2D詳細レベル計算に対して上記のように定義されるので、V方程式は次のように書き直せる。
=L+f(x’)
従って、3D詳細レベル計算は2D詳細レベル計算と類似する演算を使用して実行できる。更に、ある実施形態は上記の2D処理を使用してLを計算し、f(x’)をf(x)に対するのと同じルックアップロジックと計算方法を使用して計算する。1つの実施形態において、3D詳細レベル計算はルックアップテーブルと整数数学のみを使用して実行される。
図5は詳細レベル計算方法170の1つの実施形態の模式フローチャート図を示している。詳細レベル計算方法170のいくつかの実施形態は図4の詳細レベル計算アーキテクチャ150と連携して実装できるが、他の実施形態は他の詳細レベル計算アーキテクチャと連係して実装できる。また、詳細レベル計算方法170の示されている実装は2D詳細レベル計算に対応するが、他の実施形態は3D詳細レベル計算に対して実装できる。
示されている詳細レベル計算方法170において、ルックアップロジック154は対数ルックアップテーブル156を参照して第1対数項Lの第1成分log(dsdx)を探す(172)。そして、ドライバ160は第1対数項Lの第2成分log(width)を提供する(174)。ルックアップロジック154は関数ルックアップテーブル158を参照して第1対数項Lの関数成分f(x)を探す(176)。これらの3つの成分を使用して、詳細レベル計算ロジック152は第1対数項Lを計算する(178)。
詳細レベル計算ロジック152は第2対数項Lに対して類似の演算を使用する。ルックアップロジック154は対数ルックアップテーブル156を参照して第2対数項Lの第1成分log(dsdy)を探す(182)。そして、ドライバ160は第2対数項Lの第2成分log(width)を提供する(184)。ルックアップロジック154は関数ルックアップテーブル158を参照して第2対数項Lの関数成分f(y)を探す(186)。これらの3つの成分を使用して詳細レベル計算ロジック152は第2対数項Lを計算する(188)。
そして、詳細レベル計算ロジック152は第1および第2対数項LとLの最大値に基づいて詳細レベルを計算する(190)。そして示されている詳細レベル計算方法170は終了する。
詳細レベル計算方法170の実施形態はソフトウェア、ファームウェア、ハードウェア、またはそのある組合せにより実装できるということに留意されたい。更に、詳細レベル計算方法170のいくつかの実施形態は上記の演算に関連する1つまたは2つ以上のアルゴリズムのハードウェアまたはソフトウェア表現を使用して実装できる。例えば、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組合せを実装して上記の種々の項または成分の1つまたは2つ以上を計算できる。
本発明の実施形態はまた中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、またはマイクロプロセッサのようなコンピュータプロセッサにより実行される多数の関数も含むことができる。マイクロプロセッサは特別なタスクを定義するマシン読取可能ソフトウェアコードを実行することにより、特別なタスクを実行するように構成された特殊または専用マイクロプロセッサであってよい。マイクロプロセッサはまた直接メモリアクセスモジュール、メモリ格納装置、インターネット関連ハードウェア、およびデータ送信に関連する他の装置のような他の装置を作動およびそれらと通信するようにも構成できる。ソフトウェアコードはJava(登録商標)、C++、XML(拡張マークアップ言語)、およびここで記載されたことに関連する関数演算を実行することを要求される装置の演算に関連する関数を定義するために使用できる他の言語のようなソフトウェアのフォーマットを使用して構成できる。コードは異なる形式およびスタイルで書くことができ、その多くはこの技術に精通した者には知られている。異なるコードフォーマット、コード構成、ソフトウェアプログラムのスタイルおよび形式、およびコードを構成してマイクロプロセッサの演算を定義する他の手段を実装できる。
本発明を利用するコンピュータサーバーのような異なるタイプのコンピュータにおいては、ここで記載した関数のいくつかまたはすべてを実行する間に情報を格納および取り出す異なるタイプのメモリ装置が存在する。いくつかの実施形態においては、データが格納されるメモリ/格納装置はプロセッサの外側にある別個の装置であってもよく、または、単一の基板上で接続された構成要素のようにメモリまたは格納装置が同じ集積回路上に位置するモノリシックな装置に構成されてもよい。キャッシュメモリ装置は頻繁に格納および取り出される情報に対する便利な格納位置としてCPUまたはGPUにより使用されるために、コンピュータに含まれることもよくある。同様に、永続的メモリもまた中央処理ユニットにより頻繁に取り出される情報を維持するためにそのようなコンピュータでよく使用されるが、キャッシュメモリとは異なり永続的メモリ内では情報はあまり変更されない。メインメモリもまた中央処理ユニットにより実行されるときに、ある関数を実行するように構成されたデータおよびソフトウェアアプリケーションのようなより大きな量の情報を格納および取り出すために普通は含まれる。これらのメモリ装置はランダムアクセスメモリ(RAM)、静的ランダムアクセスメモリ(SRAM)、動的ランダムアクセスメモリ(DRAM)、フラッシュメモリ、および中央処理ユニットが情報を格納および取り出すためにアクセスできる他のメモリ格納装置として構成できる。実施形態は、普通に使用されるこれらのメモリ装置それぞれに情報を格納、またはそれぞれから情報を取り出すためのプロトコルと同様に、種々のメモリおよび格納装置により実装できる。
ここでの方法の演算は特別な順序で示され説明されたが、各方法の演算の順序は変更することができ、それによりある演算は逆の順序で実行でき、またはある演算は少なくとも部分的には他の演算と同時に実行できる。別の実施形態において、指令または個々の演算のサブ演算は間欠的および/または交互の方法で実施できる。
本発明の具体的な実施形態が説明され示されてきたが、本発明はこの説明され示された部分の特別な形式または構成に制限されない。本発明の範囲は、ここに付随する請求項とその均等物により定義される。
説明を通して、類似の参照番号が、類似の要素を特定するために使用されている。
図1は、コンピュータグラフィックスシステムの1つの実施形態の模式ブロック図を示している。 図2は、複数の詳細レベルに対応する複数のテクスチャマップの1つの実施形態の模式図を示している。 図3は、テクスチャエンジンにおける実装のための、テクスチャマッピングパイプラインの1つの実施形態の模式ブロック図を示している。 図4は、詳細レベル計算アーキテクチャの1つの実施形態の模式ブロック図を示している。 図5は、詳細レベル計算方法の1つの実施形態の模式フローチャート図を示している。

Claims (20)

  1. テクスチャ詳細レベルを計算するグラフィック処理システムであって、
    第1詳細レベル成分を提供する第1ルックアップテーブルを実装するメモリ装置と、
    第2詳細レベル成分の対数値を算出するドライバと、
    前記メモリ装置と前記ドライバに結合された詳細レベル計算ロジックであって、前記ルックアップテーブルからの前記第1詳細レベル成分と、前記ドライバからの前記第2詳細レベル成分に基づいて、テクスチャマッピング演算のための詳細レベルを計算する詳細レベル計算ロジックと、を備えるグラフィック処理システム。
  2. 前記詳細レベル計算ロジックは、乗算演算以外の算術演算を使用して、前記詳細レベルを計算するように更に構成される請求項1のグラフィック処理システム。
  3. 前記詳細レベル計算ロジックは、平方および平方根演算以外の算術演算を使用して、前記詳細レベルを計算するように更に構成される請求項1のグラフィック処理システム。
  4. 前記詳細レベル計算ロジックのハードウェア実装を更に備える請求項1のグラフィック処理システム。
  5. 前記詳細レベル計算ロジックは、テクスチャマップの幅寸法に対応する第1対数項と、前記テクスチャの高さ寸法に対応する第2対数項の最大値を決定するように更に構成される請求項1のグラフィック処理システム。
  6. 前記メモリ装置は、第2ルックアップテーブルを実装するように更に構成され、前記第1ルックアップテーブルは、前記第1詳細レベル成分の対数値を提供する対数ルックアップテーブルを備え、前記第2ルックアップテーブルは、前記詳細レベル計算の関数成分の値を提供する関数ルックアップテーブルを備える請求項1のグラフィック処理システム。
  7. 前記詳細レベル計算は、二次元詳細レベル計算を備え、前記詳細レベル計算の前記関数成分は、下記の式
    f(x)=0.5×log(1+2(2x)),
    で定義され、この式で、x=log(dtdx)−log(dsdx)+log(height)−log(width)である請求項6のグラフィック処理システム。
  8. 前記詳細レベル計算は、三次元詳細レベル計算を備える請求項6のグラフィック処理システム。
  9. 前記ドライバに結合され、前記ドライバに寸法値を提供するソフトウェアモジュールを更に備え、前記第2詳細レベル成分は、前記寸法値の対数値を備える請求項6のグラフィック処理システム。
  10. 前記寸法値は、幅、高さ、または深さに対応する請求項9のグラフィック処理システム。
  11. テクスチャ詳細レベルを計算する方法であって、
    複数の第1詳細レベル成分に基づいて第1対数項を計算することであって、前記第1対数項は、テクスチャマップの第1寸法に対応し、前記複数の第1詳細レベル成分は、ルックアップおよび、乗算以外の算術演算により生成されることと、
    複数の第2詳細レベル成分に基づいて第2対数項を計算することであって、前記第2対数項は、テクスチャマップの第2寸法に対応し、前記複数の第2詳細レベル成分は、ルックアップおよび、乗算以外の算術演算により生成されることと、
    前記第1および第2対数項の最大値により前記詳細レベルを計算することと、を備える方法。
  12. 対数ルックアップテーブルから、前記第1対数項の第1詳細レベル成分を探すことを更に備える請求項11の方法。
  13. ソフトウェアから寸法値を受け取るドライバから、前記第1対数項の第2詳細レベル成分を取得することを更に備える請求項12の方法。
  14. 関数ルックアップテーブルから、前記第1対数項の、関数成分を含む第3詳細レベル成分を探すことを更に備える請求項13の方法。
  15. 前記第1対数項を計算するために、前記第1、第2、および第3詳細レベル成分の合計を生成することを更に備える請求項14の方法。
  16. 前記算術演算は、平方および平方根演算以外の演算を備える請求項11の方法。
  17. 前記第1および第2対数項は、
    =log(dsdx)+log(width)+f(x)、および
    =log(dsdy)+log(width)+f(y),
    を備え、これらの式において、Lは前記第1対数項を表わし、f(x)は第1関数成分を表わし、Lは前記第2対数項を表わし、およびf(y)は第2関数成分を表わす請求項16の方法。
  18. テクスチャ詳細レベルを計算する装置であって、
    乗算、平方、および平方根演算以外の演算を使用して、第1および第2対数項を計算する手段と、
    前記第1および第2対数項に基づいて、前記テクスチャ詳細レベルを計算する手段を備える装置。
  19. 前記第1および第2対数項を計算する前記手段は、ルックアップ演算と整数数値演算のみを使用して前記第1および第2対数項を計算するように更に構成される請求項18の装置。
  20. 前記第1対数項に対して、複数の第1対数ルックアップ値を実装する手段と、
    前記第1対数項に対して、複数の第1関数ルックアップ値を実装する手段と、
    前記第2対数項に対して、複数の第2対数ルックアップ値を実装する手段と、
    前記第2対数項に対して、複数の第2関数ルックアップ値を実装する手段と、を更に備える請求項18の装置。
JP2008119956A 2007-05-01 2008-05-01 テクスチャ詳細レベル計算のための装置と方法 Active JP5163981B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/799,710 2007-05-01
US11/799,710 US8106918B2 (en) 2007-05-01 2007-05-01 Apparatus and method for texture level of detail computation

Publications (2)

Publication Number Publication Date
JP2008276781A true JP2008276781A (ja) 2008-11-13
JP5163981B2 JP5163981B2 (ja) 2013-03-13

Family

ID=39717750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008119956A Active JP5163981B2 (ja) 2007-05-01 2008-05-01 テクスチャ詳細レベル計算のための装置と方法

Country Status (4)

Country Link
US (2) US8106918B2 (ja)
EP (1) EP1988509B1 (ja)
JP (1) JP5163981B2 (ja)
KR (1) KR101457216B1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8106918B2 (en) * 2007-05-01 2012-01-31 Vivante Corporation Apparatus and method for texture level of detail computation
US8284197B2 (en) * 2008-07-11 2012-10-09 Advanced Micro Devices, Inc. Method and apparatus for rendering instance geometry
US8654124B2 (en) 2012-01-25 2014-02-18 Google Inc. Texture fading for smooth level of detail transitions in a graphics application
TWI528328B (zh) * 2012-04-20 2016-04-01 財團法人資訊工業策進會 依據貼圖影像內容決定選擇細節層次之三維貼圖處理方法、裝置以及儲存其之電腦可讀取記錄媒體
KR102282189B1 (ko) * 2014-07-02 2021-07-27 삼성전자 주식회사 밉맵 생성 방법 및 장치
KR102197064B1 (ko) 2014-10-10 2020-12-30 삼성전자 주식회사 Lod를 조절할 수 있는 그래픽스 프로세싱 유닛, 이의 작동 방법, 및 상기 그래픽스 프로세싱 유닛을 포함하는 장치들
KR102477265B1 (ko) 2015-09-24 2022-12-13 삼성전자주식회사 그래픽스 프로세싱 장치 및 그래픽스 파이프라인의 텍스쳐링을 위한 LOD(level of detail)를 결정하는 방법
US11527523B2 (en) 2018-12-10 2022-12-13 HangZhou HaiCun Information Technology Co., Ltd. Discrete three-dimensional processor
US10848158B2 (en) 2016-02-13 2020-11-24 HangZhou HaiCun Information Technology Co., Ltd. Configurable processor
US10763861B2 (en) 2016-02-13 2020-09-01 HangZhou HaiCun Information Technology Co., Ltd. Processor comprising three-dimensional memory (3D-M) array
US11080229B2 (en) 2016-02-13 2021-08-03 HangZhou HaiCun Information Technology Co., Ltd. Processor for calculating mathematical functions in parallel
US10445067B2 (en) 2016-05-06 2019-10-15 HangZhou HaiCun Information Technology Co., Ltd. Configurable processor with in-package look-up table
GB201608101D0 (en) * 2016-05-09 2016-06-22 Magic Pony Technology Ltd Multiscale 3D texture synthesis
CN107357551B (zh) 2016-05-10 2021-01-26 成都海存艾匹科技有限公司 用于实现至少两类函数的处理器
US11296068B2 (en) 2018-12-10 2022-04-05 HangZhou HaiCun Information Technology Co., Ltd. Discrete three-dimensional processor
US11734550B2 (en) 2018-12-10 2023-08-22 HangZhou HaiCun Information Technology Co., Ltd. Discrete three-dimensional processor
CN112465887B (zh) * 2020-10-21 2022-09-06 武汉凌久微电子有限公司 一种纹理细节级别的获取方法及获取装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953015A (en) * 1996-11-15 1999-09-14 Samsung Electronics Co., Ltd. Determining the level of detail for texture mapping in computer graphics
US6078335A (en) * 1998-06-01 2000-06-20 Ati Technologies, Inc. Method and apparatus for determining level of detail for texture filtering
JP2000339489A (ja) * 1999-05-27 2000-12-08 Toshiba Corp テクスチャマッピング装置及び方法
US6373495B1 (en) * 1999-03-26 2002-04-16 Industrial Technology Research Institute Apparatus and method for texture mapping using multiple levels of detail
JP2003157445A (ja) * 2001-11-21 2003-05-30 Sony Corp 画像処理装置および方法、記録媒体、並びにプログラム
US6618049B1 (en) * 1999-11-30 2003-09-09 Silicon Graphics, Inc. Method and apparatus for preparing a perspective view of an approximately spherical surface portion
US6975319B1 (en) * 2000-03-24 2005-12-13 Nvidia Corporation System, method and article of manufacture for calculating a level of detail (LOD) during computer graphics processing
US6975320B1 (en) * 2000-12-12 2005-12-13 Micron Technology, Inc. Method and apparatus for level-of-detail computations

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8106918B2 (en) * 2007-05-01 2012-01-31 Vivante Corporation Apparatus and method for texture level of detail computation

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953015A (en) * 1996-11-15 1999-09-14 Samsung Electronics Co., Ltd. Determining the level of detail for texture mapping in computer graphics
US6078335A (en) * 1998-06-01 2000-06-20 Ati Technologies, Inc. Method and apparatus for determining level of detail for texture filtering
US6373495B1 (en) * 1999-03-26 2002-04-16 Industrial Technology Research Institute Apparatus and method for texture mapping using multiple levels of detail
JP2000339489A (ja) * 1999-05-27 2000-12-08 Toshiba Corp テクスチャマッピング装置及び方法
US6618049B1 (en) * 1999-11-30 2003-09-09 Silicon Graphics, Inc. Method and apparatus for preparing a perspective view of an approximately spherical surface portion
US6975319B1 (en) * 2000-03-24 2005-12-13 Nvidia Corporation System, method and article of manufacture for calculating a level of detail (LOD) during computer graphics processing
US6975320B1 (en) * 2000-12-12 2005-12-13 Micron Technology, Inc. Method and apparatus for level-of-detail computations
JP2003157445A (ja) * 2001-11-21 2003-05-30 Sony Corp 画像処理装置および方法、記録媒体、並びにプログラム

Also Published As

Publication number Publication date
EP1988509B1 (en) 2017-01-18
US8106918B2 (en) 2012-01-31
EP1988509A1 (en) 2008-11-05
US8487948B2 (en) 2013-07-16
US20130002651A1 (en) 2013-01-03
US20080273042A1 (en) 2008-11-06
JP5163981B2 (ja) 2013-03-13
KR101457216B1 (ko) 2014-10-31
KR20080097354A (ko) 2008-11-05

Similar Documents

Publication Publication Date Title
JP5163981B2 (ja) テクスチャ詳細レベル計算のための装置と方法
JP6110044B2 (ja) ページ常駐に関する条件付きページフォールト制御
KR101033779B1 (ko) 확장된 버텍스 캐시를 갖는 그래픽스 프로세싱 유닛을 이용하여 이미지를 프로세싱하는 방법 및 장치
US8823724B2 (en) Sparse texture systems and methods
US7965296B2 (en) Systems and methods for storing texture map data
US9224227B2 (en) Tile shader for screen space, a method of rendering and a graphics processing unit employing the tile shader
US20150091931A1 (en) Procedurally Defined Texture Maps
CN109584140B (zh) 图形处理
KR20090079241A (ko) 공유된 산술 논리 유닛을 구비한 그래픽 처리 유닛
KR20180060198A (ko) 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법
CN111754381A (zh) 图形渲染方法、装置和计算机可读存储介质
JP2009116550A (ja) 描画処理装置、描画処理方法および描画処理プログラム
US10192348B2 (en) Method and apparatus for processing texture
US20130063462A1 (en) Tile-based image processing using mipmaps
US8681169B2 (en) Sparse texture systems and methods
US8860743B2 (en) Sparse texture systems and methods
JP5212702B2 (ja) 2の非冪乗テクスチャマップに対する座標計算
US7525551B1 (en) Anisotropic texture prefiltering
US7619635B1 (en) Anisotropic texture sampling for odd ratios
US9401124B2 (en) Rendering method
JP4869290B2 (ja) プログラム可能なオフセット位置を用いてテクスチャサンプルを処理するための方法及びシステム
KR20080064528A (ko) 3차원 그래픽 가속기 그리고 텍스쳐 데이터 패치 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110422

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110422

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110517

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120501

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120731

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120731

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120829

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120829

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120928

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120928

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121031

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121031

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121206

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5163981

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250