(57)【要約】ある解像度のテクスチャ要素を提供するグラフィクスシステムにおいて、フットプリントに接触された特定数のテクスチャ要素に基づいてフットプリントを解析および修正する方法であって、フットプリントの寸法または形状が最初に決定される。テクスチャ要素の上記特定数に基づき、かつ上記決定された寸法または形状に基づいて、フットプリントに関連付けられるテクスチャ要素の解像度が特定される。次いで、グラフィクスシステムが上記特定された解像度のテクスチャ要素を提供するか否かが決定される。グラフィクスシステムが上記特定された解像度のテクスチャ要素を提供する場合、フットプリントは維持される。グラフィクスシステムが上記特定された解像度のテクスチャ要素を提供しない場合には、グラフィクスシステムによって提供されかつ関連する解像度を持つテクスチャ要素が選択され、フットプリントのサイズはサイズ縮小後のフットプリントによって接触されるテクスチャ要素の数が本質的に上記特定数以下になるように縮小される。
2005538475.tif 000002
【特許請求の範囲】
【請求項１】
ある解像度（ｍ）を有するテクスチャ要素を提供するグラフィクスシステムにおいて、フットプリントに接触された特定数（Ｐ）のテクスチャ要素に基づいてフットプリント（２００）を修正するための方法であって、
（ａ）上記フットプリント（２００）の寸法または形状を決定する工程（１０４）と、
（ｂ）上記テクスチャ要素の特定数（Ｐ）と工程（ａ）で決定した寸法または形状とに基づいて、上記フットプリントに関連付けられるテクスチャ要素の解像度（ｍreq）を特定する工程（１１４）と、
（ｃ）上記グラフィクスシステムが工程（ｂ）で特定された解像度（ｍreq）を有するテクスチャ要素を提供するか否かを決定し、
（ｃ．１）上記グラフィクスシステムが工程（ｂ）で特定された解像度（ｍreq）を有するテクスチャ要素を提供する場合（ｍ＝ｍreq）には、上記フットプリント（２００）を維持し、
（ｃ．２）上記グラフィクスシステムが工程（ｂ）で特定した解像度（ｍreq）を有するテクスチャ要素を提供しない場合（ｍ≠ｍreq）には、上記グラフィクスシステムによって提供されかつ各々の解像度を持つテクスチャ要素を選択し、上記フットプリント（２００）のサイズを縮小（１３６）して、サイズ縮小後のフットプリントによって接触されるテクスチャ要素の数が上記特定数（Ｐ）と本質的に等しいか、あるいは上記特定数（Ｐ）よりも少なくなるようにする工程（１１８）と、
を含むことを特徴とする方法。
【請求項２】
上記グラフィクスシステムは複数の解像度を有するテクスチャ要素を提供し、上記特定した解像度よりも１つ下の解像度を有するテクスチャ要素が工程（ｃ．２）において選択されることを特徴とする請求項１に記載の方法。
【請求項３】
上記工程（ａ）は、
（ａ．１）上記フットプリント（２００）の辺（ｓ0、ｓ1、ｓ2、ｓ3）が、特定された寸法（Ｅmax）を超えるか否かを決定する工程と、
（ａ．２）上記辺の寸法が上記特定された寸法を超える場合には、上記辺の寸法が上記特定された寸法以下になるまで、フットプリントのサイズを縮小する工程と、を有することを特徴とする請求項１または２に記載の方法。
【請求項４】
上記グラフィクスシステムは、種々のレベル（ｍ）のミップマップの形式を持ち、異なる解像度を有するテクスチャ要素を提供することを特徴とする請求項１ないし３のいずれか一項に記載の方法。
【請求項５】
上記工程（ｂ）は、
上記フットプリント（２００）を囲む長方形（２０２）であって、その辺上にフットプリント（２００）の頂点（ｖ0、ｖ1、ｖ2、ｖ3）が位置している長方形（２０２）を特定する工程を含むことを特徴とする請求項１ないし４のいずれか一項に記載の方法。
【請求項６】
上記工程（ｃ．２）は、
上記グラフィクスシステムが提供するテクスチャ要素の解像度に応じて、境界ボックス（２０４）を特定する工程と、
上記フットプリント（２００）の頂点（ｖ0、ｖ1、ｖ2、ｖ3）を上記境界ボックス（２０４）の辺上へとずらすことによって、上記フットプリント（２００）のサイズを縮小する工程と、
を含むことを特徴とする請求項１ないし５のいずれか一項に記載の方法。
【請求項７】
上記長方形（２０２）および上記境界ボックス（２０４）が、上記フットプリント（２００）の厚さパラメータ（ｔ）に基づいて特定されることを特徴とする請求項５または６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、広くは、コンピュータによって制御されるラスター表示装置において画像を表示するための方法に関する。特に、本発明は、記憶されている離散的な画像の再構成またはスケーリングのため、あるいは高品質のラスター表示素子上への表示の目的でそれらに透視投影を施すために必要とされる異方性フィルタ機構に関する。上記記憶されている離散的な画像は、以下でテクスチャと称される。特に、本発明は、ある解像度を有するテクスチャ要素を提供するグラフィックシステムにおいて、フットプリントによって接触された特定数のテクスチャ要素に応じて、フットプリントを解析および修正するための方法に関する。
【背景技術】
【０００２】
「フットプリント」とは、オブジェクトの画素（ピクセル）の曲面上への透視投影である。「フットプリント」は、オブジェクトの矩形の画素（ピクセル）の、規則的なテクセル格子（テクスチャ要素の格子）への透視投影の曲面への近似結果を再現する凸状の四辺形表現でありうる。
【０００３】
オブジェクトの各画素（ピクセル）にテクスチャを組み合わせるにあたり、例えばOpenGLグラフィクスシステムなどの公知のグラフィクスシステムは、オブジェクトのピクセルのフットプリントが、関連する望ましい解像度を有する１つ以上のテクスチャ要素を持つように動作し、そのフットプリントは正方形によって近似される。ここでは、近似が常に、大きすぎる正方形または小さすぎる正方形によって実行され、フットプリントの形状が考慮されていないという欠点がある。
【０００４】
所望の解像度は、フットプリントの下に位置するテクセル格子のテクセルサイズに帰着する。さまざまなミップマップレベルが、所定のテクセルサイズのために存在する。適切な解像度（レベル）を有するミップマップが存在しないテクセルサイズに対応する解像度が選択された場合、テクスチャを多大な労苦を費やして計算しなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この先行技術から出発し、本発明の目的は、フットプリントを修正するための優れた方法を提供することにある。
【課題を解決するための手段】
【０００６】
この目的は、請求項１に記載の方法によって達成される。
【０００７】
本発明は、ある解像度を有するテクスチャ要素を提供するグラフィクスシステムにおいて、フットプリントに接触された特定数のテクスチャ要素に基づいてフットプリントを修正するための方法であって、
（ａ）上記フットプリントの寸法または形状を決定する工程と、
（ｂ）上記テクスチャ要素の特定数と工程（ａ）で決定した寸法または形状とに基づいて、上記フットプリントに関連付けられるテクスチャ要素の解像度を特定する工程と、
（ｃ）上記グラフィクスシステムが工程（ｂ）で特定された解像度を有するテクスチャ要素を提供するか否かを決定し、
（ｃ．１）上記グラフィクスシステムが工程（ｂ）で特定された解像度を有するテクスチャ要素を提供する場合には、上記フットプリントを維持し、
（ｃ．２）上記グラフィクスシステムが工程（ｂ）で特定した解像度を有するテクスチャ要素を提供しない場合には、上記グラフィクスシステムによって提供されかつ各々の解像度を持つテクスチャ要素を選択し、上記フットプリントのサイズを縮小して、サイズ縮小後のフットプリントによって接触されるテクスチャ要素の数が上記特定数と本質的に等しいか、あるいは上記特定数よりも少なくなるようにする工程と、を含む方法を提供する。
【０００８】
従来技術によれば、等方性フィルタリングとも称されるフィルタ処理が実行されるが、この従来技術と異なり本発明は、特定の解像度を有し、従って特定のサイズを有する多数の利用可能なテクスチャ要素を、最適な方法でフットプリントへと分配することを教示するものであり、フットプリントを完全に囲んでいる四辺形、またはフットプリントに完全に含まれている四辺形によるフットプリントの「粗い」近似計算とは異なるものである。この方法は、フットプリントにテクスチャ要素が重ね合わされ、必要であれば、本発明に従ってフットプリントの解析および修正が実行され、テクスチャ要素のフットプリントへの最適な分配が得られる。
【０００９】
好ましい実施の形態によれば、本発明の方法は、種々の解像度を有するテクスチャ要素を提供するグラフィクスシステムにおいて使用され、上記特定した解像度よりも１つ下の解像度を有するテクスチャ要素が、工程（ｃ．２）において選択される。好ましくは、グラフィクスシステムは、種々のレベルのミップマップの形式を持ち、種々の解像度を有するテクスチャ要素を提供する。
【００１０】
さらなる好ましい実施の形態によれば、解像度を決定する目的のため、工程（ｂ）においてフットプリントを囲む長方形であって、この長方形の辺上にフットプリントの頂点が位置するような長方形が特定される。この長方形について、所望の数Ｐを達成するための適切なサイズすなわち解像度を有するテクスチャ要素が存在しないことが分かった場合には、上記実施の形態の好ましい発展においては、クランプボックスすなわちクランプ正方形が特定される。このクランプボックスは、グラフィクスシステムにおいて利用可能な解像度に応じて定められ、かつテクスチャ要素の上記数に応じて定められるものであり、続いてフットプリントのサイズがフットプリントの頂点をクランプボックスの各辺までずらすことによって縮小される。
【００１１】
上記長方形およびクランプボックスは、フットプリントの厚さパラメータまたは広がりパラメータに基づいて特定され、厚さパラメータはフットプリントの縦方向の変形を再現することが望ましい。
【００１２】
さらなる好ましい実施の形態によれば、フットプリントの辺が特定の寸法を超えているか否かの判断が、フットプリントの寸法または形状の決定の過程において行なわれ、超えている場合、フットプリントのサイズが、辺の寸法が上記特定の寸法以下になるまで縮小される。
【００１３】
このように、本発明の方法は、フットプリントの解析および修正のための新規な手法を提供し、一実施の形態によれば、ユーザによって制御することが可能である。
【００１４】
離散的なテクスチャ画像を取り出すため、フットプリントの領域に覆われた規則的なテクセル格子のすべての正方形の要素‐テクセル‐が、読み込まれて処理ユニットで処理されなければならない。本発明によれば、フットプリントによって接触されたテクセルの数、およびフットプリントの辺の長さの両者を制限することができる。本発明によれば、追加的な制御入力信号、すなわちより正確には性能パラメータＰが、この目的のために提供される。このパラメータＰは、ユーザによって提供することができる。フットプリントの辺の長さの制限は、最大辺長さを規定するさらなるパラメータＥmaxによって決定される。このパラメータＥmaxは、例えば規定値（hard-coded）でもよい。
【００１５】
本発明の利点は、制御入力信号Ｐを設定することによって、取り出され／再構成される画像の品質（使用されるテクセルの数が多い）と、処理速度（使用されるテクセルの数が少ない）との間の妥協が実現できる点にある。境界辺を制限することの利益は、以降のプロセスにおいてフットプリントのさらなる処理に必要とされるハードウェアの支出を、大きく低減できる点にある。そのような以降のプロセスには、例えば、フットプリントに覆われるテクセルの決定、および／またはこれら特定のテクセルの重み付けが含まれる。辺の長さをクランプすることによって、これらのプロセス工程に関連するハードウェアの支出を明確に低減することができる。
【００１６】
一般に、本発明の方法によって生成されたデータは、すべてのテクセル指向のラスタープロセスへと供給することができる。
【００１７】
本発明の好ましい実施の形態によれば、すでに述べたように、種々の解像度を有する複数のいわゆる画像マップ、すなわちミップマップとも称される画像マップが、フットプリントに関係付けられたテクスチャのために提供される。解像度を特定するため、フットプリントによって接触されるテクセル格子のテクセルのサイズが、フットプリントの寸法または形状に基づき、かつ表現しようとするフットプリントの所望の画像品質に基づいて決定される。このように決定されたテクセルサイズに基づき、複数の画像マップの中に、当該画像マップに関連するテクセルサイズが上記決定されたテクセルサイズに一致している画像マップが存在するか否かが確認される。もし存在する場合には、その画像マップがフットプリントを表現するために採用される。一方、そのような対応する画像マップが存在しない場合には、すでに説明したとおりフットプリントのサイズが縮小され、フットプリントの画像品質に応じ、所望の解像度よりも１つ下の解像度を有し、この解像度に対応したテクセルサイズを有している利用可能な画像マップが、フットプリントを表現するために選択される。
【００１８】
好ましくは、画像品質は、基本的にテクセル格子の中でフットプリントによって接触されるテクセルの数を示している性能パラメータＰによって特定される。
【００１９】
上記好ましい実施の形態に従い、基本的に、フットプリントを表現するために使用されるテクセルの数を（性能パラメータＰの設定に応じて）規制するための２つの手法および／または技法について説明する。テクスチャ画像を予めフィルタ処理してなる低い解像度のバージョン‐すなわちミップマップ‐が利用できる場合、適切なミップマップレベルが、厚さ情報に基づいて計算される。これにより、結果として、テクセル格子の正方形のテクセルのサイズが、間接的な方法で決定される。このレベルの計算は、フットプリントの実際の空間寸法および／または形状に基づいている。必要なレベルを有する予めフィルタ処理された画像マップ（ミップマップ）が利用できない場合、フットプリントの面積が、選択的な方法でフットプリントの境界（辺）を縮めることによって縮小される。この辺の縮小および／または面積の縮小は、形状、性能パラメータＰ、および次に利用可能な画像マップ（ミップマップ）のテクセルサイズに基づいて実行される。この次に利用可能な画像マップが元のベースマップそのものである場合は、最も好ましくない場合となる。
【００２０】
本発明のさらなる好ましい実施の形態によれば、自身の４つの頂点によって規定される四辺形の入力フットプリントが、最初に、面積および／または形状および／または各辺の空間的広がりに関して解析される。この解析は、
−時計回りまたは反時計回りのいずれかであるフットプリントの回転の方向を決定する工程、
−フットプリントの縦方向の変形の程度を表現する異方性厚さパラメータを計算する工程、
−フットプリントについて境界ボックスを決定する工程、
−元のフットプリントの線形縮小バージョンをクランプするクランプボックスであって、（縮小したフットプリントの）いずれの辺の水平幅および垂直高さも所定の限界を超えないようにするクランプボックスを生成する工程、
を含んでいる。この所定の限界は、辺についての上記最大長さ値Ｅmaxに基づいて特定される。さらに、クランプボックスの寸法は、厚さパラメータによって決まり、クランプボックスによって覆われるテクセルの数が、性能パラメータＰによって特定された限度を超えないように設定される。
【００２１】
入力フットプリントがひとたび前述のように解析されると、このようにして得られかつ解析された情報は、その後、評価され、可能な限り修正されたフットプリントを表す出力データを、関連付けられたミップマップレベルおよび関連付けられた倍率レベルとともに生成する。これは主に、元のフットプリントのすべての頂点の元の座標を、計算されたミップマップレベルによって特定される座標系へと変換することを含んでいる。必要であれば、フットプリントの頂点のクランプボックスへの投影がフットプリントのさらなる縮小をもたらす。
【００２２】
このように、本発明の長所は、入力フットプリントの座標が、
−辺の幅または辺の高さが、好ましくは、規定の最大長さＥmaxを超えることがなく、
−フットプリントに覆われたテクセルの数が、ユーザによって予め定められたテクセルの数と等しいか、あるいはより少なく、
−０よりも大きいミップマップレベルによって縮小(scaling-down)が選択された場合、フットプリントの形状が保存され、かつ
−取り出された画像における空間的および時間的不連続性が回避される
ように修正される点にある。
【００２３】
本発明の好ましい実施の形態によれば、本発明の方法が、複数のフットプリントのより高速での処理を可能にするハードウェアパイプラインの形態のハードウェアに実装される。
【００２４】
本発明の好ましい実施の形態を、添付の図面を参照しつつ以下でより詳細に説明する。
【図面の簡単な説明】
【００２５】
【図１Ａ】本発明の好ましい実施の形態による方法の概要の前半を描いたフローチャート図である。
【図１Ｂ】本発明の好ましい実施の形態による方法の概要の後半を描いたフローチャート図である。
【図２】テクスチャ空間における一例としてのフットプリントについて、頂点および辺ベクトルを示す図である。
【図３】フットプリントおよび当該フットプリントに関連する厚さパラメータを示す図である。
【図４】フットプリントの厚さに基づくクランプサイズの推移を描いた図である。
【図５】フットプリントの縮小の一例を示した図である。
【発明を実施するための最良の形態】
【００２６】
図１を参照しつつ、好ましい実施の形態による本発明の方法の概要を以下に説明し、図１に示したプロセス段階のそれぞれについて、残りの図面を参照してさらに詳細に説明する。
【００２７】
本発明の方法は、ブロック１００から出発し、このブロックで、フットプリントを表現しているデータが受信される。以下の説明において、用語「フットプリント」は常に、凸状の四辺形構造であって、正方形の画素の曲面上への透視投影の近似計算結果を表わして使用されている。
【００２８】
図１に示したフローチャートにおいて、長方形は、以下でより詳細に説明するが、主たるプロセス工程を表わしている。これらプロセス工程の結果は、図１で平行四辺形に図式化されているデータ構造に記憶される。これらが、次のプロセス工程のための入力信号として使用される。個々のプロセス工程について以下に詳細に説明するが、説明を分かりやすくするため、数学的ベクトル表示（太字で表わされている）を採用している。
【００２９】
ブロック１００で、フットプリントを表現したデータがひとたび受信されると、ブロック１０２で、フットプリントの頂点を表現するベクトルｖiを得ることができ、ここでｉ＝０、１、２、３である（好ましい実施の形態についての説明は、フットプリントが四辺形であるとの仮定に基づいている）。
【００３０】
ブロック１０２に存在するフットプリント情報は、続くブロック１０４において、フットプリント解析に使用される。このフットプリント解析は、一方では、フットプリントの回転方向ｄの確立につながり、これがブロック１０６に提供され、ブロック１０８に出力される。さらに、ブロック１０４でのフットプリント解析は、ブロック１１０に提供される厚さパラメータｔをもたらす。ブロック１１０に存在する厚さパラメータｔ、およびブロック１１２に存在する外部からの性能パラメータＰに基づいて、クランプサイズｃ0が計算され、ブロック１１６に提供される。性能パラメータＰは、フットプリントによって接触および／または覆われるテクセルの数を特定している。
【００３１】
必要なミップマップレベルがブロック１２０で計算される。一方で、ブロック１２０で実行される計算は、外部パラメータとして、最大ミップマップレベルＭmaxの指示をブロック１２２から受け取る。さらに、ブロック１０２に存在するフットプリントデータに基づき、ブロック１２４で境界ボックスが計算され、その寸法ｂmin、ｂmaxがブロック１２６に提供され、ミップマップレベルの計算のためにブロック１２０に供給される。次いで、ブロック１２０で計算されたミップマップレベルｍがブロック１２８に提供され、ブロック１３０に出力される。
【００３２】
ブロック１１６に存在するクランプサイズｃ0、およびブロック１２８に存在するミップマップレベルｍに基づき、ブロック１３２でミップマップ補正が実行される（項目Ａおよび図１Ｂを参照）。ミップマップ補正が、ブロック１３４に提供される修正済みクランプサイズｃmをもたらす。修正済みクランプサイズｃmが、ブロック１３６へと供給され、フットプリントが、クランプサイズｃmによって定められたクランプ長方形へと適合するよう縮小される。ブロック１３６で実行された計算が、一方で、ブロック１３８および１４０に提供される修正済みフットプリントデータｖ’iおよびスケーリングファクタｆx、ｆyをもたらす。図１ｂにも見ることができるように、処理ステップ１３６は、修正済みクランプサイズｃm に加え、ブロック１０２に存在するフットプリントデータ（項目Ｂを参照）、ならびにブロック１２４で計算された境界ボックスｂmin、ｂmaxに関するデータ（項目Ｃを参照）を受け取る。
【００３３】
ブロック１３８に存在する修正済みフットプリントデータｖ’iおよびミップマップレベルｍが、ブロック１４２へと供給され、受け取ったデータおよびブロック１３２で受信した情報に基づき、選択されたミップマップレベルへの変換が実行され、変更済み／変換済みフットプリントデータｖ*iがブロック１４４に備えられ、そのデータがブロック１４６に出力される。
【００３４】
さらに、ブロック１４０に存在するスケーリングファクタｆx、ｆyに基づいて、ブロック１４８で厚さが低減される。ブロック１４８は、ブロック１４０からの入力に加えて、ブロック１１０に存在する厚さパラメータ（項目Ｄを参照）を受け取る。さらに、ブロック１４８は、ブロック１５０から、厚さｔを低減するための適切なアルゴリズムを受け取る。このようにして、修正済みの厚さパラメータｔ’が、ブロック１５２で出力される。ブロック１５４に存在する倍率パラメータ、およびブロック１５２に存在する修正済みの厚さパラメータｔ’に基づき、拡大シフトすなわち倍率シフトがブロック１５６で計算され、倍率レベルｒ’がブロック１５８に供給される。ブロック１６０に存在するアルゴリズムと、ブロック１５８に供給された倍率レベルと、ミップマップレベルｍとに基づき、選択されたミップマップレベルへの変換がブロック１６２で実行され、修正済み倍率レベルｒ*がセクション１６４で得られ、さらにブロック１４６に出力される。
【００３５】
図１の各ブロックを、以下でさらに詳細に説明する。
【００３６】
図２は、ｘ軸およびｙ軸によって広がるテクスチャ空間中に配置された凸状のフットプリント２００の例を示している。さらに、このテクスチャ空間には、複数の正方形のテクセル要素からなるテクセル格子が配置されており、そのいくつかにフットプリントが重なっている。図２には、頂点ベクトルｖ0〜ｖ3ならびに辺（エッジ）ベクトルｓ0〜ｓ3が示されている。本発明の方法においては、頂点ベクトルｖ0〜ｖ3が入力データとしてもたらされる。
【００３７】
フットプリントを表現するための適切な詳細レベルを特定するために使用される重要なパラメータは、いわゆるフットプリントの「厚さ」ｔである。図３には、この厚さパラメータが四辺形のフットプリントについてさらに詳しく示されている。図３には、４つの頂点ベクトルｖ0〜ｖ3が、対向する頂点ｖ0およびｖ2ならびにｖ1およびｖ3をそれぞれつなぐ２つの高さベクトルｈ0およびｈ1とともに示されている。さらに、図３には、２つの厚さパラメータｔ0およびｔ1が描かれており、２つの厚さパラメータｔ0およびｔ1のうちの最小の１つによって決定される最終の厚さパラメータｔが示されている。
【００３８】
図からわかるように、厚さパラメータｔ0は、頂点ｖ1およびｖ3を通って延び、かつ高さベクトルｈ0と平行である２つの直線の間の間隔を規定する。同様に、厚さパラメータｔ1は、頂点ｖ0およびｖ2を通って延び、かつ高さベクトルｈ1と平行である２つの直線の間の間隔を示している。
【００３９】
図３に描かれたパラメータに基づき、厚さパラメータｔの計算が、以下の計算式に従って実行される。
【数１】
2005538475.tif 000003
【００４０】
本発明の好ましい実施の形態によれば、頂点インデックスの回転の方向ｄを随意により計算してもよく、その回転方向を、その後の特定の辺属性の計算に使用することができる。さらに、フットプリントの表面積Ａを計算してもよい。回転の方向ｄおよび面積Ａは、以下の計算式に従って計算される。
ｄ＝sign（ｈz）
Ａ＝Ｆ／２
ここで、Ｆは、ｈ0およびｈ1によって広がる平行四辺形の面積である。
【００４１】
方向ｄは、時計回りの回転について＋１の値を有し、半時計回りの回転について−１の値を有する。ｈ0＝０またはｈ1＝０の場合、フットプリントは点または線に変質し、この場合、回転方向ｄは０である。
【００４２】
厚さパラメータｔの決定、ならびに回転方向ｄおよび面積Ａの最適な決定の後、続いてクランプサイズｃが計算される。クランプサイズｃは厚さパラメータｔの推移にわたる線形関数であり、このクランプサイズは、設定可能な性能パラメータＰと、結果としてもたらされる辺に関しパラメータＥmaxによって規定される最大長さとの間に位置している。クランプサイズｃは、ｔ＝Ｐの場合に値Ｐを有し、この設定において、結果としてフットプリントの最大面積Ａ*が設定され、このときＡ*≒Ｐ2である。パラメータｃの設定に基づき、初期クランプサイズｃ0の決定が、以下の計算式に従って実行される。
【数２】
2005538475.tif 000004
【００４３】
厚さパラメータｔに対するクランプサイズｃの推移が図４にプロットされており、図からわかるように、クランプパラメータの値は、ｔ＝０についてｃ＝Ｅmaxであり、この値から始まって、ｔ＝Ｐで到達する値Ｐまで線形に減少する。この値にて、クランプパラメータｃの値は値Ｐで一定を維持する。図４は、最下部の折れ線において、最初の境界値および／または最初のクランプサイズｃ0および／または厚さパラメータｔに対するその推移を示している。図４において、最下部の折れ線は、ミップマップレベル０についてのクランプボックスの最初に計算されたサイズｃ0を示している。これは、使用すべき解像度の目安を表わしている。折れ線は以下の挙動を定性的に表わしている。より小さいｔ、すなわちより小さい面積を持つ狭いフットプリントでは、テクスチャのクランプサイズおよび好ましい解像度が大きくなり、テクスチャのテクセルサイズは、フットプリントのサイズに比例して小さくなる。Ｅmaxによってもたらされる上方向へのクランプが、許容される最大の辺長さを確定させ、Ｐによってもたらされる下方向へのクランプが、プロセスの継続時間を制限する。Ｐの値が大きくなるに従い、フットプリントの面積の増加において、低い解像度へのジャンプがより遅く実行される。上側の折れ線ｃmは、ミップマップレベルｍについての座標変換ｃ0に相当する。ｍがｍreqに等しくない場合、上側の折れ線が必要とされ、従って縮小が必要とされる。
【００４４】
必要なミップマップレベルｍreqおよび必要なフットプリントのサイズの縮小計算を、図５を参照しつつ以下でより詳細に説明する。
【００４５】
最初に、表現しようとするフットプリントについて、ミップマップレベルがフットプリントの元の寸法および形状の中に存在し、そのミップマップレベルはフットプリントの縮小を回避するものであると仮定する。この場合、この最小ミップマップレベルによって、フットプリントのための境界ボックスのいかなる辺も、上記の方法で決定されたクランプサイズｃ0よりも大きくないことが確実である。フットプリント２００に加え、さらに図５には、例として境界ボックス２０２が示されており、境界ボックス２０２ならびに必要とされるミップマップレベルｍreqが以下の計算式に従って生成される。
【数３】
2005538475.tif 000005
【００４６】
ここで、「ceil」という関数は、括弧内の項を次の整数値まで＋∞の方向に増加させることを意味している。図５は、上記の計算式にて再現されたパラメータｂminおよびｂを表わしており、この計算式において再現されたパラメータｂmaxは、座標系の原点からベクトルｂの頂点まで延びるベクトルであるが、分かりやすくするため表示されていない。
【００４７】
適用すべきミップマップレベルｍを得るため、必要とされるミップマップレベルが、以下の計算式に従って、入手可能な最高のレベル値Ｍmaxにクランプされる。
ｍ＝min（Ｍmax，ｍreq）
【００４８】
一方、所望のミップマップレベルｍが、境界ボックスによって特定されたミップマップレベルよりも小さく、すなわちｍreqよりも小さいと見出された場合、フットプリントがクランプボックスに適合するようフットプリントのサイズを小さくする必要がある。クランプボックスは、以下の計算式に従って決定されるミップマップ補正されたクランプサイズｃmに基づいて計算される。
ｃm＝max（Ｐ・２m，ｃ＋（２m−１）・Ｅmax）
【００４９】
補正されたクランプサイズｃmのパラメータの推移も、図４にプロットされている。
【００５０】
図５には、補正されたクランプサイズｃmに基づいて生成されたクランプボックス２０４が示されている。フットプリント２００の縮小済みフットプリント２０６へのサイズの縮小は、元のフットプリントの頂点ｖ0〜ｖ3が頂点ｖ0’〜ｖ3’へと変換され、変換後の頂点がクランプボックス１０４の辺上へと配置されるように実行される。元の頂点の修正済み頂点への変換は、以下の計算式に従って実行される。
【数４】
2005538475.tif 000006
ここで、ｆx、ｆyは、ｘおよびｙ方向についてのスケーリングファクタである。
【００５１】
最後のブロックにおいて、縮小されたフットプリントｖ’iの座標が、ミップマップレベルｍへと移されなければならないが、これは、以下の計算式に従って実行される。
【数５】
2005538475.tif 000007
【００５２】
さらに、本発明の方法は、複数のフットプリントを含むフットプリントの表示における時間的および空間的アーチファクトを回避するため、後にサブテクセルサイズを有するフットプリントの拡大に使用されるかもしれない厚さパラメータｔに応じた倍率レベルの提供を準備してもよい。
【００５３】
厚さパラメータｔがフットプリントのサイズの縮小によって変化すると、このパラメータtも設定されなければならない。厚さパラメータｔが異方性の特性を持つため、上記計算式に基づいて、縮小された頂点ベクトルのための新しい厚さパラメータを生成することによって、厚さパラメータtを計算することができるが、多大な計算の労苦を必要とする。一方、好ましい実施の形態によれば、厚さパラメータｔは、配向性(oriented)のスケーリングファクタｆxおよびｆy（方法ｔ）を用いることによって、はるかに少ない労苦で近似的に決定される。すなわち、新たな設定厚さパラメータｔ’を決定するために以下の方法が利用できる。
【数６】
2005538475.tif 000008
すでに説明したとおり、（２）に記載の方法が好ましい。
【００５４】
倍率レベルｒは、倍率なしの最小厚さを表現する設定可能な倍率パラメータＴによって制御される。倍率レベルは、以下の計算式に従って生成される。
【数７】
2005538475.tif 000009
【００５５】
Ｔの値が大きくなると、表示しようとする画像が不鮮明になってゆくが、同時に、知覚されるアーチファクトは少なくなる。Ｔについては、値√２が好都合であることが証明されている。Ｔ＝０が選択された場合、一切の拡大は実行されない。
【００５６】
上記の変更された厚さパラメータｔ’の決定方法と同様に、倍率レベルｒ’を選択されたミップマップレベルｍへと変換するための３つの可能な方法（方法ｒ）が考えられる。すなわち具体的には、
【数８】
2005538475.tif 000010
である。
【００５７】
１）として述べた方法は、有効なフィルタサイズをすべてのミップマップレベルについて維持する。しかしながら、テクセルよりも小さいサイズを有するテクスチャ要素の補償は、ミップマップレベル０にのみ適用され、ミップマップレベルが高くなるにつれて、徐々に有効でなくなる。方法３）は、すべてのレベルにおいてＴが一貫していることを保証する。しかしながら、有効なフィルタサイズは、２つのレベルの間で離散的に拡大することになり、さらに計算がより高価になる。結局のところ、好ましい方法２）は１）と３）の間の折衷案であり、従って、当然ながら実行が最も容易な方法である。
【００５８】
前述のとおり説明したパラメータを用いて、フットプリントの色を後続のプロセス工程で計算するようにしてもよい。この目的で、グラフィクスユニットのさらなるプロセス工程において決定されたパラメータが提供され、次いで、グラフィクスユニットはこのパラメータを用いて通常の手法でフットプリントの色を生成してもよい。
【００５９】
好ましい実施の形態に関する以上の説明においては、４つの辺を有するフットプリントに基づいて本発明を説明したが、本発明の手法は、原理的にあらゆるフットプリントへと展開が可能である。
【図１Ａ】
2005538475.tif 000011
【図１Ｂ】
2005538475.tif 000012
【図２】
2005538475.tif 000013
【図３】
2005538475.tif 000014
【図４】
2005538475.tif 000015
【図５】
2005538475.tif 000016
【手続補正書】
【提出日】平成17年4月11日(2005.4.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項６
【補正方法】変更
【補正の内容】
【請求項６】
上記工程（ｃ．２）は、
上記グラフィクスシステムが提供するテクスチャ要素の解像度に応じて、クランプボックス（２０４）を特定する工程と、
上記フットプリント（２００）の頂点（ｖ0、ｖ1、ｖ2、ｖ3）を上記クランプボックス（２０４）の辺上へとずらすことによって、上記フットプリント（２００）のサイズを縮小する工程と、
を含むことを特徴とする請求項１ないし５のいずれか一項に記載の方法。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項７
【補正方法】変更
【補正の内容】
【請求項７】
上記長方形（２０２）および上記クランプボックス（２０４）が、上記フットプリント（２００）の厚さパラメータ（ｔ）に基づいて特定されることを特徴とする請求項５または６に記載の方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
図５には、補正されたクランプサイズｃmに基づいて生成されたクランプボックス２０４が示されている。フットプリント２００の縮小済みフットプリント２０６へのサイズの縮小は、元のフットプリントの頂点ｖ0〜ｖ3が頂点ｖ0’〜ｖ3’へと変換され、変換後の頂点がクランプボックス２０４の辺上へと配置されるように実行される。元の頂点の修正済み頂点への変換は、以下の計算式に従って実行される。
【数４】
2005538475.tif 000017
ここで、ｆx、ｆyは、ｘおよびｙ方向についてのスケーリングファクタである。
【国際調査報告】
2005538475.tif 000018
2005538475.tif 000019
2005538475.tif 000020
2005538475.tif 000021
2005538475.tif 000022
2005538475.tif 000023