(57)【要約】  ミップマップレベル選択方法は、大域照明(Global Illumination)基盤のテクスチャマッピング(Texture Mapping)のために利用される。ミップマップレベル選択方法は、画面に存在する少なくとも１つのオブジェクトに対するオブジェクト情報を確認する。オブジェクト情報は、画面に存在するオブジェクトの個数、形状、材質、及び／又は画面に現れる空間上で当該オブジェクトの位置を含むことができる。オブジェクト情報に基づいてミップマップレベル選択アルゴリズムを決定する。ミップマップレベル選択アルゴリズムは、光線追跡法及び／又は距離比較法を含み、光線追跡法は、隣り合う光線のディファレンシャル(Differential)値に基づいてミップマップを選択し、距離比較法は、ピクセルとテクセルとの割合が１：１となる距離を計算してミップマップを選択することができる。決定された方法に基づいてミップマップレベルを選択する。【選択図】図１
2013536536.tif 000002
【特許請求の範囲】
【請求項１】
大域照明（Ｇｌｏｂａｌ  Ｉｌｌｕｍｉｎａｔｉｏｎ）基盤のテクスチャマッピング（Ｔｅｘｔｕｒｅ  Ｍａｐｐｉｎｇ）のためのミップマップ（ＭＩＰ−ＭＡＰ）レベル選択方法であって、
（ａ）画面に存在する少なくとも１つのオブジェクト（Ｏｂｊｅｃｔ）に対するオブジェクト情報を確認するステップ（前記オブジェクト情報は、画面に存在するオブジェクトの個数、形状、材質、及び／又は画面に現れる空間上で当該オブジェクトの位置を含む）と、
（ｂ）前記オブジェクト情報に基づいてミップマップレベル選択アルゴリズムを決定するステップ（前記ミップマップレベル選択アルゴリズムは、ディファレンシャル（Ｄｉｆｆｅｒｅｎｔｉａｌ）法及び／又は距離比較法を含み、前記ディファレンシャル法は、隣り合う光線のディファレンシャル値に基づいてミップマップを選択し、前記距離比較法は、ピクセルとテクセルとの割合が１：１となる距離を計算してミップマップを選択する）と、
（ｃ）前記決定された方法に基づいてミップマップレベルを選択するステップと、
を含むことを特徴とするミップマップレベル選択方法。
【請求項２】
前記（ｂ）ステップは、
（ｂ１）提供しようとする画像に対するイメージ品質及び／又は処理速度の要求レベルを確認するステップと、
（ｂ２）前記確認結果に基づいてミップマップレベル選択アルゴリズムを決定するステップと、
を含むことを特徴とする請求項１に記載のミップマップレベル選択方法。
【請求項３】
前記（ｂ２）ステップは、
前記確認の結果、当該画像に対するイメージ品質の要求レベルが高い場合、ミップマップレベル選択アルゴリズムとしてディファレンシャル法を選択することを特徴とする請求項２に記載のミップマップレベル選択方法。
【請求項４】
前記（ｂ２）ステップは、
前記確認の結果、当該画像に対する処理速度の要求レベルが高い場合、ミップマップレベル選択アルゴリズムとして距離比較法を選択することを特徴とする請求項２に記載のミップマップレベル選択方法。
【請求項５】
前記（ｃ）ステップは、
（ｃ１）テクスチャの大きさと画面の大きさとに基づいてテクセルに対するピクセルの大きさを計算するステップと、
（ｃ２）テクスチャ三角形の３つの頂点に該当するテクスチャ座標に基づいて三角形に含まれるテクセルの個数を計算するステップと、
（ｃ３）前記（ｃ１）ステップ及び（ｃ２）ステップで計算された値に基づいて三角形の大きさを計算するステップと、
（ｃ４）与えられた三角形の３つの頂点に該当するモデル座標に基づいて三角形の大きさを計算するステップと、
（ｃ５）前記（ｃ３）ステップ及び（ｃ４）ステップで計算された値に基づいてピクセルとテクセルとの割合が１：１となる距離を計算するステップと、
（ｃ６）前記計算された距離に基づいてミップマップレベルを選択するステップと、
を含むことを特徴とする請求項４に記載のミップマップレベル選択方法。
【請求項６】
前記（ｃ１）ステップは、
下記の数式、
2013536536.tif 000010
（ここで、「ＸＰＳ」は、ピクセルに対するテクセルの大きさであり、「Ｔｅｘｔｕｒｅｓｉｚｅ」は、テクスチャの大きさであり、「Ｒｅｓｏｌｕｔｉｏｎ」は、表示される画面の大きさである。）によりテクセルに対するピクセルの大きさを計算することを特徴とする請求項５に記載のミップマップレベル選択方法。
【請求項７】
前記（ｃ２）ステップは、
下記の数式、
2013536536.tif 000011
（ここで、「ＴＸＮ」は、三角形に含まれるテクセルの個数であり、三角形のテクスチャ座標は、（ｓ０、ｔ０）、（ｓ１、ｔ１）、（ｓ２、ｔ２）であり、「Ｔｅｘｔｕｒｅｓｉｚｅ」は、テクスチャの大きさである。）により三角形に含まれるテクセルの個数を計算することを特徴とする請求項５に記載のミップマップレベル選択方法。
【請求項８】
前記（ｃ３）ステップは、
下記の数式、
2013536536.tif 000012
（ここで、「ＴＸＳ」は、テクセルからなる三角形の大きさであり、「ＴＸＮ」は、テクセルの個数であり、「ＸＰＳ」は、テクセルに対するピクセルの大きさである。）により前記三角形の大きさを計算することを特徴とする請求項５に記載のミップマップレベル選択方法。
【請求項９】
前記（ｃ４）ステップは、
下記の数式、
2013536536.tif 000013
（ここで、与えられた三角形の３つの頂点に該当するモデル座標は、（ｘ０、ｙ０、ｚ０）、（ｘ１、ｙ１、ｚ１）、（ｘ２、ｙ２、ｚ２）であり、「Ｔａｒｅａ」は、三角形の大きさである。）によりモデル座標に基づいて三角形の大きさを計算することを特徴とする請求項５に記載のミップマップレベル選択方法。
【請求項１０】
前記（ｃ５）ステップは、
下記の数式、
2013536536.tif 000014
（ここで、Ｐｂは、ピクセルとテクセルとの割合が１：１となる距離であり、「ＴＸＳ」は、テクセルからなる三角形の大きさであり、「Ｔａｒｅａ」は、三角形の大きさである。）により前記ピクセルとテクセルとの割合が１：１となる距離を計算することを特徴とする請求項５に記載のミップマップレベル選択方法。
【請求項１１】
画面に表示されるオブジェクト（Ｏｂｊｅｃｔ）のオブジェクト情報を格納するオブジェクト情報格納部（前記オブジェクト情報は、画面に存在するオブジェクトの個数、形状、材質、及び／又は画面に現れる空間上で当該オブジェクトの位置を含む）と、
画面に表示される対象オブジェクトのオブジェクト情報を前記オブジェクト情報格納部から呼び出して確認するオブジェクト情報確認部と、
前記オブジェクト情報確認部に呼び出されたオブジェクト情報を分析してミップマップレベルを選択するためのアルゴリズムを決定するアルゴリズム決定部と、
前記オブジェクト情報確認部から前記対象オブジェクトのオブジェクト情報が伝送され、前記アルゴリズム決定部の決定に相応してピクセルとテクセルとの割合が１：１となる距離を計算する距離比較法演算部と、
前記距離比較法演算部で計算された距離に基づいてミップマップレベルを選択するミップマップレベル選択部と、
を備えることを特徴とするミップマップレベル選択方法を利用したテクスチャマッピングシステム。
【請求項１２】
前記距離比較法演算部は、
テクスチャの大きさと画面の大きさとに基づいてテクセルに対するピクセルの大きさを計算し、テクスチャ三角形の３つの頂点に該当するテクスチャ座標に基づいて三角形に含まれるテクセルの個数を計算した後、前記計算されたピクセルの大きさとテクセルの個数とに基づいて三角形の大きさを計算し、与えられた三角形の３つの頂点に該当するモデル座標に基づいて三角形の大きさを計算し、三角形の大きさに対する前記２つの計算値に基づいてピクセルとテクセルとの割合が１：１となる距離を計算することを特徴とする請求項１１に記載のミップマップレベル選択方法を利用したテクスチャマッピングシステム。
【請求項１３】
前記ミップマップレベル選択方法を利用したテクスチャマッピングシステムは、
前記オブジェクト情報確認部から前記対象オブジェクトのオブジェクト情報が伝送され、前記アルゴリズム決定部の決定に相応して光線のディファレンシャル（Ｄｉｆｆｅｒｅｎｔｉａｌ）値を計算するディファレンシャル法演算部をさらに備え、
格納部から前記テクスチャ識別子に相応するテクスチャ情報を呼び出すテクスチャ情報呼出部と、
前記テクスチャ情報呼出部で呼び出されたテクスチャを当該プリミティブにマッピングするフィルタリング部と、
をさらに備えることを特徴とする請求項１１に記載のミップマップレベル選択方法を利用したテクスチャマッピングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示された技術は、ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステムに関し、特に、テクスチャイメージなどのミップマップレベルを選択する方法と、これを利用したテクスチャマッピングシステムに関する。
【背景技術】
【０００２】
テクスチャマッピング（Ｔｅｘｔｕｒｅ  Ｍａｐｐｉｎｇ）は、コンピュータグラフィックス分野において仮想の三次元物体の表面に細部的な質感を描写したり色を塗ったりする技法であって、数式や二次元の絵を三次元物体の表面に種々の方法を適用して実際の物体の如く感じられるように描写することができる。
【０００３】
ミップマップ（ＭＩＰ−ＭＡＰ）は、三次元グラフィックスのテクスチャマッピング分野でレンダリング速度を向上させるためのものであって、基本テクスチャとこれを連続的に縮小させたテクスチャ等からなり得る。
【発明の概要】
【課題を解決するための手段】
【０００４】
実施形態のうち、ミップマップレベル選択方法は、大域照明（Ｇｌｏｂａｌ  Ｉｌｌｕｍｉｎａｔｉｏｎ）基盤のテクスチャマッピング（Ｔｅｘｔｕｒｅ  Ｍａｐｐｉｎｇ）のために利用される。前記ミップマップレベル選択方法は、画面に存在する少なくとも１つのオブジェクト（Ｏｂｊｅｃｔ）に対するオブジェクト情報を確認する。前記オブジェクト情報は、画面に存在するオブジェクトの個数、形状、材質、及び／又は画面に現れる空間上で当該オブジェクトの位置を含むことができる。前記オブジェクト情報に基づいてミップマップレベル選択アルゴリズムを決定する。前記ミップマップレベル選択アルゴリズムは、ディファレンシャル（Ｄｉｆｆｅｒｅｎｔｉａｌ）法及び／又は距離比較法を含み、前記ディファレンシャル法は、隣り合う光線のディファレンシャル値に基づいてミップマップを選択し、前記距離比較法は、ピクセルとテクセルとの割合が１：１となる距離を計算してミップマップを選択することができる。前記決定された方法に基づいてミップマップレベルを選択する。一実施形態において、提供しようとする画像に対するイメージ品質及び／又は処理速度の要求レベルを確認することができる。前記確認結果に基づいてミップマップレベル選択アルゴリズムを決定することができる。例えば、前記確認の結果、当該画像に対するイメージ品質の要求レベルが高い場合、ミップマップレベル選択アルゴリズムとしてディファレンシャル法を選択することができる。他の例として、前記確認の結果、当該画像に対する処理速度の要求レベルが高い場合、ミップマップレベル選択アルゴリズムとして距離比較法を選択することができる。一実施形態においてミップマップレベル選択方法は、テクスチャの大きさと画面の大きさとに基づいてテクセルに対するピクセルの大きさを計算し、テクスチャ三角形の３つの頂点に該当するテクスチャ座標に基づいて三角形に含まれるテクセルの個数を計算した後、前記計算されたピクセルの大きさとテクセルの個数とに基づいて三角形の大きさを計算し、与えられた三角形の３つの頂点に該当するモデル座標に基づいて三角形の大きさを計算し、三角形の大きさに対する前記２つの計算値に基づいてピクセルとテクセルとの割合が１：１となる距離を計算する。前記計算された距離に基づいてミップマップレベルを選択する。
【０００５】
実施形態のうち、ミップマップレベル選択方法を利用したテクスチャマッピングシステムは、オブジェクト情報格納部、オブジェクト情報確認部、アルゴリズム決定部、距離比較法演算部、及びミップマップレベル選択部を備える。オブジェクト情報格納部は、画面に表示されるオブジェクト（Ｏｂｊｅｃｔ）のオブジェクト情報を格納する。前記オブジェクト情報は、画面に存在するオブジェクトの個数、形状、材質、及び／又は画面に現れる空間上で当該オブジェクトの位置を含むことができる。オブジェクト情報確認部は、画面に表示される対象オブジェクトのオブジェクト情報を前記オブジェクト情報格納部から呼び出して確認する。アルゴリズム決定部は、前記オブジェクト情報確認部に呼び出されたオブジェクト情報を分析してミップマップレベルを選択するためのアルゴリズムを決定する。距離比較法演算部は、前記オブジェクト情報確認部から前記対象オブジェクトのオブジェクト情報が伝送され、前記アルゴリズム決定部の決定に相応してピクセルとテクセルとの割合が１：１となる距離を計算する。ミップマップレベル選択部は、前記距離比較法演算部で計算された距離に基づいてミップマップレベルを選択する。一実施形態において、前記距離比較法演算部は、テクスチャの大きさと画面の大きさとに基づいてテクセルに対するピクセルの大きさを計算し、テクスチャ三角形の３つの頂点に該当するテクスチャ座標に基づいて三角形に含まれるテクセルの個数を計算した後、前記計算されたピクセルの大きさとテクセルの個数とに基づいて三角形の大きさを計算し、与えられた三角形の３つの頂点に該当するモデル座標に基づいて三角形の大きさを計算し、三角形の大きさに対する前記２つの計算値に基づいてピクセルとテクセルとの割合が１：１となる距離を計算することができる。前記テクスチャ三角形は、テクスチャを構成する単位三角形を含み、テクスチャ座標は、二次元座標を含むことができる。一実施形態において、前記ミップマップレベル選択方法を利用したテクスチャマッピングシステムは、前記オブジェクト情報確認部から前記対象オブジェクトのオブジェクト情報が伝送され、前記アルゴリズム決定部の決定に相応して光線のディファレンシャル（Ｄｉｆｆｅｒｅｎｔｉａｌ）値を計算するディファレンシャル法演算部をさらに備え、前記ミップマップレベル選択部は、前記光線追跡法演算部で計算されたディファレンシャル値に基づいてミップマップレベルを選択することができる。
【０００６】
実施形態のうち、ミップマップレベル選択方法を利用したテクスチャマッピングシステムは、前処理部、三角形情報格納部、比較距離呼出部、光線情報格納部、最終距離算出部、及びミップマップレベル選択部を備える。前処理部は、距離比較法によりピクセルとテクセルとの割合が１：１となる比較距離を計算する。三角形情報格納部は、プリミティブ（Ｐｒｉｍｉｔｉｖｅ）三角形の情報と前記前処理部で計算された比較距離とをマッピングして格納する。比較距離呼出部は、テクスチャ変換されるプリミティブ三角形の番号を受信し、前記三角形情報格納部から当該番号に相応するプリミティブ三角形の比較距離を呼び出す。光線情報格納部は、光線の距離情報を累積して格納する。最終距離算出部は、視点から現在光線にヒット（ｈｉｔ）された三角形までの距離と、前記光線情報格納部に累積して格納された距離とを合算する。ミップマップレベル選択部は、前記最終距離算出部で合算された距離に基づいてミップマップレベルを選択する。一実施形態において、前記前処理部は、テクスチャの大きさと画面の大きさとに基づいてテクセルに対するピクセルの大きさを計算し、テクスチャ三角形の３つの頂点に該当するテクスチャ座標に基づいて三角形に含まれるテクセルの個数を計算した後、前記計算されたピクセルの大きさとテクセルの個数とに基づいて三角形の大きさを計算し、与えられた三角形の３つの頂点に該当するモデル座標に基づいて三角形の大きさを計算し、三角形の大きさに対する前記２つの計算値に基づいてピクセルとテクセルとの割合が１：１となる距離を計算することができる。前記テクスチャ三角形は、テクスチャを構成する単位三角形を含み、テクスチャ座標は、二次元座標を含むことができる。一実施形態において、前記ミップマップレベル選択方法を利用したテクスチャマッピングシステムは、テクスチャの情報を格納するテクスチャ情報格納部と、変換されるテクスチャ識別子を受信し、前記テクスチャ情報格納部から前記テクスチャ識別子に相応するテクスチャ情報を呼び出すテクスチャ情報呼出部と、前記テクスチャ情報呼出部で呼び出されたテクスチャを当該プリミティブにマッピングするフィルタリング部とをさらに備えることができる。
【図面の簡単な説明】
【０００７】
【図１】図１は、開示された技術のミップマップレベル選択方法を利用したテクスチャマッピングシステムの一例を説明する構成図である。
【図２】図２は、図１のテクスチャマッピングシステムで実行されるミップマップレベル選択方法を説明するフローチャートである。
【図３】図３は、図２のディファレンシャル法及び距離比較法の基盤となる光線追跡法の原理を説明する図である。
【図４】図４は、図２のディファレンシャル法を説明するフローチャートである。
【図５】図５は、図２の距離比較法の原理を説明する図である。
【図６】図６は、図２の距離比較法を説明するフローチャートである。
【図７】図７は、開示された技術のミップマップレベル選択方法を利用したテクスチャマッピングシステムの他の例を説明する構成図である。
【図８】図８は、図７のフィルタリング部のテクスチャマッピングを説明する図である。
【図９】図９は、開示された技術のミップマップレベル選択方法の実験に使用されたモデルの例などを示した図である。
【図１０】図１０は、図９の各画像に対するミップマップ水準選択率を測定したグラフである。
【図１１】図１１は、図９の各画像でキャッシュの大きさに対するキャッシュミス率を測定したグラフである。
【図１２】図１２は、図９の各画像でキャッシュの大きさに対するキャッシュミス率を測定したグラフである。
【図１３】図１３は、図９の各画像でキャッシュ及びブロックの大きさの連関性に対するキャッシュミス率を測定したグラフである。
【発明を実施するための形態】
【０００８】
開示された技術に関する説明は、構造的ないし機能的説明のための実施形態にすぎないため、開示された技術の権利範囲は、本文に説明された実施形態によって制限されるものと解釈されなければならない。すなわち、実施形態は、様々な変更が可能であり、種々の形態を有することができるので、開示された技術の権利範囲は、技術的思想を実現できる均等物等を含むものと理解されなければならない。
【０００９】
一方、本出願において述べられる用語の意味は、次のように理解されなければならないであろう。
【００１０】
「第１」、「第２」などの用語は、１つの構成要素を他の構成要素から区別するためのものであって、これらの用語等によって権利範囲が限定されてはならない。例えば、第１の構成要素は第２の構成要素として命名され得るし、同じく第２の構成要素も第１の構成要素として命名され得る。
【００１１】
「及び／又は」の用語は、１つ以上の関連項目から提示可能な全ての組み合わせを含むものと理解されなければならない。例えば、「第１の項目、第２の項目、及び／又は第３の項目」の意味は、第１、第２、または第３の項目だけでなく、第１、第２、または第３の項目のうち、２つ以上から提示され得る全ての項目の組み合わせを意味する。
【００１２】
ある構成要素が他の構成要素に「接続されて」いると言及されたときは、その他の構成要素に直接接続されることもできるが、中間に他の構成要素が存在することもできると理解されなければならないであろう。それに対し、ある構成要素が存在しないものと理解されなければならないであろう。一方、構成要素等間の関係を説明する他の表現など、すなわち、「〜間に」と「すぐ〜間に」または「〜に隣り合う」と「〜に直接隣り合う」なども同様に解釈されなければならない。
【００１３】
単数の表現は、文脈上、明白に異なるように意図していない限り、複数の表現を含むものと理解されなければならず、「含む」または「有する」などの用語は、説示された特徴、数字、ステップ、動作、構成要素、部分品、あるいはこれらを組み合わせたものが存在することを指定しようとするものであり、１つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部分品、あるいはこれらを組み合わせたものなどの存在または付加の可能性を予め排除しないものと理解されなければならない。
【００１４】
各ステップのおける識別符号（例えば、ａ、ｂ、ｃ、・・・）は、説明の便宜のために用いられるものであって、識別符号は、各ステップの順序を説明するものではなく、各ステップは、文脈上、明白に特定順序を記載しない限り、明記された順序と異なって起こり得る。すなわち、各ステップは、明記された順序と同様に起こることができ、実質的に同時に行われることもでき、逆の順序のとおりに行われることもできる。
【００１５】
ここで使われる全ての用語などは、別に定義されない限り、開示された技術の属する分野における通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に使用される辞書に定義されている用語は、関連技術の文脈上有する意味と一致するものと解釈されなければならず、本出願において明白に定義しない限り、理想的であるか、過渡に形式的な意味を有するものと解釈されることはできない。
【００１６】
グラフィックプロセッサにおいてテクスチャマッピング（Ｔｅｘｔｕｒｅ  Ｍａｐｐｉｎｇ）のためのミップマップ（ＭＩＰ  ＭＡＰ）のレベルを選択する方法の１つである光線追跡（Ｒａｙ  Ｔｒａｃｉｎｇ）方式は、各ピクセルに対して光線を生成し、当該光線に影響を及ぼす三角形などを逆追跡する方式であって、大域照明（Ｇｌｏｂａｌ  Ｉｌｌｕｍｉｎａｔｉｏｎ）効果が可能でありうる。例えば、影（Ｓｈａｄｏｗ）効果、反射（Ｒｅｆｌｅｃｔｉｏｎ）効果、屈折（Ｒｅｆｒａｃｔｉｏｎ）効果、透過（Ｔｒａｎｓｐａｒｅｎｔ）効果を基本的に提供することができる。
【００１７】
一実施形態において、光線追跡方式を基盤とするミップマップの水準選択方法としては、「Ｒａｙ  Ｄｉｆｆｅｒｅｎｔｉａｌ」値による方法がある。このような光線追跡方式は、膨大な演算量を要求するため、オフラインプロセスを主として利用されたが、近年、半導体技術の発電により実施間処理にも適用され得る。
【００１８】
他の一実施形態において、ミップマップの水準を選択する方式により、前処理時、各プリミティブ（Ｐｒｉｍｉｔｉｖｅ）に対して視点と当該プリミティブのミップマップの水準（Ｌｅｖｅｌ）「０」との距離値とピクセルの変化量に比べてテクセルの変化量に対する値を計算し、レンダリング時、光線と交差した物体に対して前処理時に計算された値と「ｏｎ−ｔｈｅ―ｆｌｙ（同時的情報編集）」で計算された全体光線の長さ値とのみを用いて当該物体のテクスチャミップマップの水準を選択することができる。このような距離比較方式は、光線追跡方式に比べて演算量を減らすことができる。
【００１９】
結果として、開示された技術では、要求されるイメージの特性、例えば、提供しようとする画像に対するイメージ品質及び／又は処理速度の要求レベルに相応して、光線追跡方式または距離比較方式を利用してミップマップを選択することができる。
【００２０】
図１は、開示された技術のミップマップレベル選択方法を利用したテクスチャマッピングシステムの一例を説明する構成図である。
【００２１】
図１に示すように、ミップマップレベル選択方法を利用したテクスチャマッピング（Ｔｅｘｔｕｒｅ  Ｍａｐｐｉｎｇ）システム１００は、オブジェクト情報格納部１１０、オブジェクト情報確認部１２０、アルゴリズム決定部１３０、距離比較法演算部１４０、光線追跡法演算部１５０、及びミップマップレベル選択部１６０を備える。
【００２２】
オブジェクト情報格納部１１０は、画面に表示されるオブジェクト（Ｏｂｊｅｃｔ）のオブジェクト情報を格納する。一実施形態において、オブジェクト情報は、画面に存在するオブジェクトの個数、形状、材質、及び／又は画面に現れる空間上で当該オブジェクトの位置を含むことができる。例えば、オブジェクトは、図９（ａ）において食卓や椅子、窓、シンク台を含むことができる。
【００２３】
オブジェクト情報確認部１２０は、画面に表示される対象オブジェクトのオブジェクト情報をオブジェクト情報格納部１１０から呼び出して確認する。
【００２４】
アルゴリズム決定部１３０は、オブジェクト情報確認部１２０に呼び出されたオブジェクト情報を分析してミップマップレベルを選択するためのアルゴリズムを決定する。例えば、ミップマップレベルを選択するためのアルゴリズムは、ディファレンシャル（Ｄｉｆｆｅｒｅｎｔｉａｌ）法及び／又は距離比較法を含むことができる。一実施形態において、アルゴリズム決定部１３０は、提供しようとする画像に対するイメージ品質及び／又は処理速度の要求レベルを確認し、処理速度の要求レベルが高い場合、距離比較法演算部１４０を選択し、イメージ品質の要求レベルが高い場合、前記ディファレンシャル法演算部１５０を選択することができる。
【００２５】
距離比較法演算部１４０は、距離比較法アルゴリズムに相応してミップマップレベルを選択するための前処理を行う。一実施形態において、距離比較法演算部１４０は、オブジェクト情報確認部１２０から対象オブジェクトのオブジェクト情報が伝送され、アルゴリズム決定部１３０の決定に相応してピクセルとテクセルとの割合が１：１となる距離を計算することができる。例えば、距離比較法演算部１４０は、ピクセルに対するテクセルの大きさを求め、テクスチャ三角形の３つの頂点に対する三角形の内部に含まれたテクセルの個数を求め、これに基づいてテクセルからなる三角形に対するピクセルの大きさを求め、３つの頂点に対する三角形の大きさを求めた後、これに基づいてピクセルとテクセルとの割合が１：１となる距離を計算することができる。テクスチャ三角形は、テクスチャを構成する単位三角形を含み、テクスチャ座標は、二次元座標を含むことができる。
【００２６】
ディファレンシャル演算部１５０は、オブジェクト情報確認部から対象オブジェクトのオブジェクト情報が伝送され、アルゴリズム決定部１３０の決定に相応して光線のディファレンシャル（Ｄｉｆｆｅｒｅｎｔｉａｌ）値を計算する。
【００２７】
ミップマップレベル選択部１６０は、距離比較法演算部１４０で計算された距離または光線追跡法演算部１５０で計算されたディファレンシャル値に基づいてミップマップレベルを選択する。一実施形態において、ミップマップレベルの選択の際に最も多く使われる方式は、テクスチャ空間での長軸に対するピクセルとテクセルとの変化量の割合を利用することができる。例えば、ミップマップ水準選択は、下記の数式１に基づいて選択され得る。
【００２８】
【数１】
2013536536.tif 000003
ここで、（ｄｕ、ｄｖ）は、当該ピクセルのスクリーン空間でテクスチャ空間にマッピングされた場合、テクスチャ座標系（ｕ、ｖ）に対する増分ベクトル（Ｖｅｃｔｏｒ）値である。数式１は、増分ベクトル値のうち、大きい値を選択することが分かる。
【００２９】
一方、テクスチャマッピングでイメージが拡大される場合には、「Ｉｎｔｅｒｐｏｌａｔｉｏｎ」（補間）技法を利用することができるが、イメージが縮小される場合には、画質低下が激しく生じる。したがって、開示された技術では、増分ベクトル値のうち、大きい値を選択して「ＬＯＤ」の水準が高い（選択されるイメージはさらに小さい）ものを選択することができる。
【００３０】
ミップマップレベル選択方法を利用したテクスチャマッピングシステム１００は、ミップマップレベル選択部１６０で選択されたミップマップでテクスチャマッピングを行うことができる。
【００３１】
図２は、図１のテクスチャマッピングシステムで実行されるミップマップレベル選択方法を説明するフローチャートである。
【００３２】
図２において、大域照明（Ｇｌｏｂａｌ  Ｉｌｌｕｍｉｎａｔｉｏｎ）基盤のテクスチャマッピング（Ｔｅｘｔｕｒｅ  Ｍａｐｐｉｎｇ）のためのミップマップ（ＭＩＰ−ＭＡＰ）レベル選択方法は、まず、画面に存在する少なくとも１つのオブジェクト（Ｏｂｊｅｃｔ）に対するオブジェクト情報を確認する（ステップＳ２１０）。一実施形態において、オブジェクト情報は、画面に存在するオブジェクトの個数、形状、材質、及び／又は画面に現れる空間上で当該オブジェクトの位置を含むことができる。
【００３３】
次に、オブジェクト情報に基づいてミップマップレベル選択アルゴリズムを決定する（ステップＳ２２０）。一実施形態において、ミップマップレベル選択アルゴリズムは、ディファレンシャル法及び／又は距離比較法を含むことができる。例えば、ディファレンシャル法は、隣り合う光線のディファレンシャル（Ｄｉｆｆｅｒｅｎｔｉａｌ）値に基づいてミップマップを選択することができ、距離比較法は、ピクセルとテクセルとの割合が１：１となる距離を計算してミップマップを選択することができる。一実施形態において、提供しようとする画像に対するイメージ品質及び／又は処理速度の要求レベルを確認することができ、確認結果に基づいてミップマップレベル選択アルゴリズムを決定することができる。例えば、当該画像に対するイメージ品質の要求レベルが高い場合、ミップマップレベル選択アルゴリズムとしてディファレンシャル法を選択することができる。他の例として、画像に対する処理速度の要求レベルが高い場合、ミップマップレベル選択アルゴリズムとして距離比較方法を選択することができる。
【００３４】
最後に、決定された方法に基づいてミップマップレベルを選択する（ステップＳ２３０）。
【００３５】
図３は、図２のディファレンシャル法及び距離比較法の基盤となる光線追跡法の原理を説明する図である。
【００３６】
図３に示すように、いずれか１つのオブジェクトに含まれた特定ピクセル（Ｐｉｘｅｌ）に対して、カメラの視点から「Ｐｒｉｍａｒｙ  Ｒａｙ」を生成して「Ｐｒｉｍａｒｙ  Ｒａｙ」と会うオブジェクトを探すための計算を行う。例えば、「Ｐｒｉｍａｒｙ  Ｒａｙ」と会うことになったオブジェクトが反射や屈折の性質があれば、「Ｐｒｉｍａｒｙ  Ｒａｙ」とオブジェクトとが会う位置で反射効果のための「Ｒｅｆｌｅｃｔｉｏｎ  Ｒａｙ」や屈折効果のための「Ｒｅｆｒａｃｔｉｏｎ  Ｒａｙ」を生成し、影効果のために、光源（Ｐｏｉｎｔ  Ｌｉｇｈｔ）の方向に「Ｓｈａｄｏｗ  Ｒａｙ」を生成する。このとき、当該光源の方向に向ける「Ｓｈａｄｏｗ  Ｒａｙ」とある物体とが会った場合に影が生成され、そうでない場合は影が生成されない。「Ｒｅｆｌｅｃｔｉｏｎ  Ｒａｙ」と「Ｒｅｆｒａｃｔｉｏｎ  Ｒａｙ」とは「Ｓｅｃｏｎｄａｒｙ  Ｒａｙ」ともいい、「Ｓｅｃｏｎｄａｒｙ  Ｒａｙ」は、それぞれ自分と会うオブジェクトを探すための計算を続けて行うことができる。
【００３７】
図４は、図２のディファレンシャル法を説明するフローチャートである。
【００３８】
図４に示すように、光線追跡法によりミップマップのレベルを選択してテクスチャをマッピングする方法は、図３の原理を基盤としていずれか１つの光線及び光線と隣り合う他の光線との差異を確認し、確認された差異に基づいてテクスチャ座標に対する交差点及び変化量を算出することができ（ステップＳ４１０）、テクスチャ座標に対する交差点及び変化量に基づいてディファレンシャル（Ｄｉｆｆｅｒｅｎｔｉａｌ）値を算出することができる（ステップＳ４２０）。そして、ディファレンシャル値をピクセルに対して拡張させて近似化することができ（ステップＳ４３０）、二次元イメージを三次元テクスチャで定義することができ（ステップＳ４４０）、定義されたテクスチャに近接した大きさのミップマップを選択することができる（ステップＳ４５０）。
【００３９】
図５は、図２の距離比較法の原理を説明する図である。
【００４０】
図５（ａ）に示すように、三角形のテクスチャに対してミップマップ水準が０である基準テクスチャ（Ｂａｓｉｓ  Ｔｅｘｔｕｒｅ）となる視点での距離「Ｐｂ」を計算することができる。このような距離は、ピクセルサイズとテクセルサイズとの割合が１：１となる部分を意味し、視点との相対的な距離であるため、視点の位置とは関係ないこともあり得る。当該三角形の頂点の情報が変わらなければ、「Ｐｂ」値が変わらないこともあり得る。
【００４１】
光線と交差した当該三角形に対する光線の長さが「Ｐｌ」であり、当該三角形が視点ベクトルに垂直である場合、当該三角形のテクスチャに対するミップマップ水準は、下記の数式２で計算することができる。
【００４２】
【数２】
2013536536.tif 000004
ここで、ＰｓはＰｌにＳを掛けた結果であり、Ｓは、Ｐｂ位置で基準となる変化量を意味する。一実施形態としてＳは、ピクセルの２つの座標軸（ｘ、ｙ）に対するテクセルの２つの軸（ｕ、ｖ）の変化量のうち、大きい値を意味する。一実施形態において、図５（ｂ）及び（ｃ）のように、非対称に変化された場合、変化された値のうち、大きい値であるｄｖ及びｒ２を意味する。
【００４３】
図６は、図２の距離比較法を説明するフローチャートである。
【００４４】
図６に示すように、距離比較法によるミップマップレベル選択方法は、テクスチャの大きさと画面の大きさとに基づいてテクセルに対するピクセルの大きさを計算することができる（ステップＳ６１０）。例えば、下記の数式３により大きさを計算することができる。
【００４５】
【数３】
2013536536.tif 000005
ここで、「ＸＰＳ」は、ピクセルに対するテクセルの大きさであり、「Ｔｅｘｔｕｒｅｓｉｚｅ」は、テクスチャの大きさであり、「Ｒｅｓｏｌｕｔｉｏｎ」は、表示される画面の大きさである。テクスチャ三角形の３つの頂点に該当するテクスチャ座標が（ｓ０、ｔ０）、（ｓ１、ｔ１）、（ｓ２、ｔ２）である場合、この３つの座標に基づいて三角形に含まれるテクセルの個数を計算することができる（ステップＳ６２０）。例えば、下記の数式４により大きさを計算することができる。
【００４６】
【数４】
2013536536.tif 000006
ここで、「ＴＸＮ」は、三角形に含まれるテクセルの個数である。
【００４７】
ステップ「Ｓ６１０」及びステップ「Ｓ６２０」で計算された値に基づいてテクセルからなる三角形の大きさを計算することができる（ステップＳ６３０）。例えば、下記の数式５によりテクセルの大きさを計算することができる。
【００４８】
【数５】
2013536536.tif 000007
ここで、「ＴＸＳ」は、テクセルからなる三角形の大きさであり、「ＴＸＮ」は、テクセルの個数である。
【００４９】
与えられた三角形の３つの頂点に該当するモデル座標が（ｘ０、ｙ０、ｚ０）、（ｘ１、ｙ１、ｚ１）、（ｘ２、ｙ２、ｚ２）である場合、この３つの座標に基づいて三角形の大きさを計算することができる（ステップＳ６４０）。例えば、下記の数式６により大きさを計算することができる。
【００５０】
【数６】
2013536536.tif 000008
ここで、「Ｔａｒｅａ」は、三角形の大きさである。
【００５１】
ステップ「Ｓ６３０」及びステップ「Ｓ６４０」で計算された値に基づいてピクセルとテクセルとの割合が１：１となる距離を計算することができる（ステップＳ６５０）。例えば、下記の数式７によりピクセルとテクセルとの割合が１：１となる距離を計算することができる。
【００５２】
【数７】
2013536536.tif 000009
ここで、「Ｐｂ」は、ピクセルとテクセルとの割合が１：１となる距離であり、「ＴＸＳ」は、テクセルの実際の大きさであり、「Ｔａｒｅａ」は、三角形の大きさである。
【００５３】
計算された距離に基づき、数式１によってミップマップレベルを選択することができる（ステップＳ６６０）。
【００５４】
図７は、開示された技術のミップマップレベル選択方法を利用したテクスチャマッピングシステムの他の例を説明する構成図である。
【００５５】
図７に示すように、ミップマップレベル選択方法を利用したテクスチャマッピング（Ｔｅｘｔｕｒｅ  Ｍａｐｐｉｎｇ）システム７００は、前処理部７１０、三角形情報格納部７２０、比較距離呼出部７３０、光線情報格納部７４０、最終距離算出部７５０、ミップマップレベル選択部７６０、テクスチャ情報格納部７７０、テクスチャ情報呼出部７８０、及びフィルタリング部７９０を備える。
【００５６】
前処理部７１０は、図６の距離比較法により各三角形別にピクセルとテクセルとの割合が１：１となる比較距離を計算することができ、計算された比較距離は、三角形情報格納部７２０に格納され得る。
【００５７】
三角形情報格納部７２０は、プリミティブ（Ｐｒｉｍｉｔｉｖｅ）三角形の情報と前処理部で計算された比較距離とをマッピングして格納する。
【００５８】
比較距離呼出部７３０は、テクスチャ変換されるプリミティブ三角形の番号（Ｔｒｉａｎｇｌｅ  ｎｕｍｂｅｒ）を受信し、三角形情報格納部７２０から当該番号に相応するプリミティブ三角形の比較距離を呼び出す。一実施形態において、三角形の番号は、開始点から現在光線がヒット（Ｈｉｔ）された三角形に付与され得る。
【００５９】
光線情報格納部７４０は、光線の距離情報を累積して格納する。一実施形態において、光線の距離情報は、以前まで累積されて格納された「Ｐｌ」を含むことができる。光線情報格納部７４０は、光線の反射と屈折とが同時に生じると、１つの光線情報は、スタックに「Ｐｕｓｈ」され、他の１つの光線は、光線追跡を行い、この過程が終了すると、スタックのトップ（Ｔｏｐ）にある光線情報を「ＰＯＰ」した後、これを介して光線を追跡することができる。
【００６０】
最終距離算出部７５０は、視点から現在光線にヒット（ｈｉｔ）された三角形までの距離（Ｒａｙ＿ｌｅｎｇｔｈ）と光線情報格納部７４０に累積して格納された距離とを合算する。
【００６１】
ミップマップレベル選択部７６０は、最終距離算出部で合算された距離に基づいてミップマップレベルを選択する。
【００６２】
テクスチャ情報格納部７７０は、テクスチャの情報を格納する。一実施形態において、テクスチャの情報は、当該テクスチャのカラー、明度、カラーとアルファデータとを含むことができる。
【００６３】
テクスチャ情報呼出部７８０は、変換されるテクスチャ識別子（Ｔｅｘｔｕｒｅ＿ｉｄ）を受信し、テクスチャ情報格納部からテクスチャ識別子に相応するテクスチャ情報を呼び出す。
【００６４】
フィルタリング部７９０は、テクスチャ情報呼出部で呼び出されたテクスチャを当該プリミティブにマッピングする。
【００６５】
図８は、図７のフィルタリング部のテクスチャマッピングを説明する図である。
【００６６】
図８において、図４または図６によってミップマップが選択されると、選択されたミップマップである「Ｔｅｘｔｕｒｅ  Ｓｐａｃｅ」が「Ｏｂｊｅｃｔ  Ｓｐａｃｅ」にマッピングされ、最終的に「Ｓｃｒｅｅｎ  Ｓｐａｃｅ」にマッピングされ得る。図８の左側は、全体テクスチャを示し、黒色輪郭は、各々の角がテクスチャの各点などにマッピングされた四辺形（Ｑｕａｄｒｉｌａｔｅｒａｌ）を示すことができる。四辺形が画面に表現されるとき、様々の変換（例えば、回転、変形、縮小、投影）により模様が変わることができる。このような変換がなされた後、テクスチャマップ四辺形は、図８の右側の絵のように画面に表示され得る。
【００６７】
図９は、開示された技術のミップマップレベル選択方法の実験に使用されたモデルの例などを示した図である。
【００６８】
図９に示すように、テクスチャマッピング処理される画像は、それぞれ空間上の距離により選択されるミップマップが異なりうるということが分かる。一実施形態において、図９（ａ）及び（ｂ）は、反射されるか、屈折または透視される領域が多くて、光線の長さが長くなりうるということが予測でき、図９（ｃ）及び（ｄ）は、相対的に光線の長さが短くなりうるということが予測できる。
【００６９】
図１０は、図９の各画像に対するミップマップ水準選択率を測定したグラフである。
【００７０】
図１０に示すように、図９において予測したように、図９（ａ）及び（ｂ）は、高い水準のミップマップに対する選択率が相対的に高いことが分かり、図９（ｃ）及び（ｄ）は、低い水準のミップマップに対する選択率が相対的に高いことが分かる。
【００７１】
図１１は、図９の各画像でキャッシュの大きさに対するキャッシュミス率を測定したグラフである。
【００７２】
図１１に示すように、図９の各画像別のベンチマークに対してキャッシュの大きさに関する実験をした結果、ブロックの大きさを６４Ｂとし、キャッシュの形態は、直接マッピングされたキャッシュ（Ｄｉｒｅｃｔ  Ｍａｐｐｅｄ  Ｃａｃｈｅ）とした場合、全てのベンチマークモデルに対してキャッシュの大きさが大きくなるほどキャッシュミス率が減少することが分かる。
【００７３】
図１２は、図９の各画像でブロックの大きさに対するキャッシュミス率を測定したグラフである。
【００７４】
図１２に示すように、図９の各画像別のベンチマークに対してブロックの大きさに関する実験をした結果、キャッシュの大きさを３２ＫＢとし、キャッシュの形態は、直接マッピングされたキャッシュ（Ｄｉｒｅｃｔ  Ｍａｐｐｅｄ  Ｃａｃｈｅ）とした場合、全てのベンチマークモデルに対してブロックの大きさが大きくなるほどキャッシュミス率が減少することが分かる。ここで、ブロックの単位は、バイト（ｂｙｔｅ）である。このような場合、キャッシュと外部メモリとの間に移動すべきデータの量は相対的に増加する。
【００７５】
図１３は、図９の各画像でキャッシュ及びブロックの大きさの連関性に対するキャッシュミス率を測定したグラフである。
【００７６】
図１３に示すように、図９の各画像別のベンチマークに対してキャッシュとブロックとの連関性に関する実験をした結果、キャッシュの大きさを３２ＫＢとし、ブロックの大きさを６４Ｂとした場合、キャッシュの性能が一定に維持されることが分かる。
【００７７】
開示された技術は、次の効果を有することができる。ただし、特定実施形態が次の効果を全て含まなければならないとか、次の効果のみを含まなければならないという意味ではないので、開示された技術の権利範囲は、これによって制限されるものと理解されてはいけないであろう。
【００７８】
一実施形態に係るミップマップレベル選択方法は、テクスチャマッピングの速度を向上させることができる。各プリミティブに対するテクスチャのミップマップをより効率的な方法で選択することができるためである。
【００７９】
また、一実施形態に係るミップマップレベル選択方法は、直接マッピングされたキャッシュのミス率を減らすことができる。効率的なミップマップレベルを選択してテクスチャデータに接近するとき、当該オブジェクト（Ｏｂｊｅｃｔ）に最も適した大きさのテクスチャ水準を選択することができるためである。したがって、ミップマップレベル選択方法を利用したテクスチャマッピングシステムの信頼性を向上させることができる。
【００８０】
また、一実施形態に係るミップマップレベル選択方法は、傾いているか、回転されている物体に歪みのないテクスチャを覆うことができるようにするための様々なフィルタリング技法に適用され得る。
【００８１】
上記では、本出願の好ましい実施形態を参照して説明したが、当該技術分野の熟練された当業者は、下記の特許請求の範囲に記載された本出願の思想及び領域から逸脱しない範囲内で本出願を様々に修正及び変更させることができるということが理解できるであろう。
【図１】
2013536536.tif 000015
【図２】
2013536536.tif 000016
【図６】
2013536536.tif 000017
【図７】
2013536536.tif 000018
【図１０】
2013536536.tif 000019
【図１１】
2013536536.tif 000020
【図１２】
2013536536.tif 000021
【図１３】
2013536536.tif 000022
【図３】
2013536536.tif 000023
【図４】
2013536536.tif 000024
【図５】
2013536536.tif 000025
【図８】
2013536536.tif 000026
【図９】
2013536536.tif 000027
【国際調査報告】
2013536536.tif 000028
2013536536.tif 000029
2013536536.tif 000030
2013536536.tif 000031