特許第5695746号(P5695746)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シリコンアーツ インコーポレイテッドの特許一覧 ▶ インダストリー−アカデミア コーオペレイション グループ オブ セジョン・ユニバーシティの特許一覧

特許5695746ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム
<>
  • 特許5695746-ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム 図000014
  • 特許5695746-ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム 図000015
  • 特許5695746-ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム 図000016
  • 特許5695746-ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム 図000017
  • 特許5695746-ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム 図000018
  • 特許5695746-ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム 図000019
  • 特許5695746-ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム 図000020
  • 特許5695746-ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム 図000021
  • 特許5695746-ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム 図000022
  • 特許5695746-ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム 図000023
  • 特許5695746-ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム 図000024
  • 特許5695746-ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム 図000025
  • 特許5695746-ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム 図000026
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5695746
(24)【登録日】2015年2月13日
(45)【発行日】2015年4月8日
(54)【発明の名称】ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム
(51)【国際特許分類】
   G06T 15/04 20110101AFI20150319BHJP
【FI】
   G06T15/04
【請求項の数】17
【全頁数】21
(21)【出願番号】特願2013-526977(P2013-526977)
(86)(22)【出願日】2010年8月27日
(65)【公表番号】特表2013-536536(P2013-536536A)
(43)【公表日】2013年9月19日
(86)【国際出願番号】KR2010005766
(87)【国際公開番号】WO2012026640
(87)【国際公開日】20120301
【審査請求日】2013年8月26日
(73)【特許権者】
【識別番号】511282818
【氏名又は名称】シリコンアーツ インコーポレイテッド
(73)【特許権者】
【識別番号】513048690
【氏名又は名称】インダストリー−アカデミア コーオペレイション グループ オブ セジョン・ユニバーシティ
【氏名又は名称原語表記】INDUSTRY−ACADEMIA COOPERATION GROUP OF SEJONG UNIVERSITY
(74)【代理人】
【識別番号】100121728
【弁理士】
【氏名又は名称】井関 勝守
(74)【代理人】
【識別番号】100129997
【弁理士】
【氏名又は名称】田中 米藏
(72)【発明者】
【氏名】パク ウチャン
(72)【発明者】
【氏名】ユン ヒョンミン
【審査官】 千葉 久博
(56)【参考文献】
【文献】 特開2007−141082(JP,A)
【文献】 特開2001−266172(JP,A)
【文献】 特開平07−325934(JP,A)
【文献】 米国特許出願公開第2008/0074415(US,A1)
【文献】 渡辺啓,”8003の高速・高品位レンダリング機能”,技報 UNISYS TECHNOLOGY REVIEW,日本ユニシス株式会社,1996年 2月29日,第15巻, 第4号,p.172-193
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/00−15/87
G06T 1/00,19/00,19/20
(57)【特許請求の範囲】
【請求項1】
コンピュータにより行われる大域照明(Global Illumination)基盤のテクスチャマッピング(Texture Mapping)のためのミップマップ(MIP−MAP)レベル選択方法であって、
(a)前記コンピュータが画面に存在する少なくとも1つのオブジェクト(Object)に対するオブジェクト情報を確認するステップと、
(b)前記コンピュータが前記オブジェクト情報に基づいてミップマップレベル選択アルゴリズムを決定するステップと、
(c)前記コンピュータが前記決定された方法に基づいてミップマップレベルを選択するステップとを含み、
前記オブジェクト情報は、画面に存在するオブジェクトの個数、形状、材質、及び画面に現れる空間上で当該オブジェクトの位置のうち何れかの1つを含み、
前記ミップマップレベル選択アルゴリズムは、ディファレンシャル(Differential)法及び距離比較法のうちの何れかの1つを含み、前記ディファレンシャル法は、隣り合う光線のディファレンシャル値に基づいてミップマップを選択し、前記距離比較法は、ピクセルとテクセルとの大きさの割合が1:1となる距離を計算してミップマップを選択することを特徴とするミップマップレベル選択方法。
【請求項2】
前記コンピュータにより行われる前記(b)ステップは、
(b1)提供しようとするイメージの解像度又はレベル及び/又は処理速度の要求レベルを確認するステップと、
(b2)前記確認結果に基づいてミップマップレベル選択アルゴリズムを決定するステップと、
を含むことを特徴とする請求項1に記載のミップマップレベル選択方法。
【請求項3】
前記(b2)ステップは、
前記確認の結果、当該イメージの解像度又はレベルの要求レベルが予め定められた閾値よりも大きい場合、ミップマップレベル選択アルゴリズムとしてディファレンシャル法を選択することを特徴とする請求項2に記載のミップマップレベル選択方法。
【請求項4】
前記(b2)ステップは、
前記確認の結果、当該画像に対する処理速度の要求レベルが予め定められた閾値よりも大きい場合、ミップマップレベル選択アルゴリズムとして距離比較法を選択することを特徴とする請求項2に記載のミップマップレベル選択方法。
【請求項5】
前記コンピュータにより行われる前記(c)ステップは、
(c1)テクスチャの大きさと画面の大きさとに基づいてテクセルに対するピクセルの大きさを計算するステップと、
(c2)テクスチャ三角形の3つの頂点に該当するテクスチャ座標に基づいて三角形に含まれるテクセルの個数を計算するステップと、
(c3)前記(c1)ステップ及び(c2)ステップで計算された値に基づいて三角形の大きさを計算するステップと、
(c4)与えられた三角形の3つの頂点に該当するモデル座標に基づいて三角形の大きさを計算するステップと、
(c5)前記(c3)ステップ及び(c4)ステップで計算された値に基づいてピクセルとテクセルとの大きさの割合が1:1となる距離を計算するステップと、
(c6)前記計算された距離に基づいてミップマップレベルを選択するステップと、
を含むことを特徴とする請求項4に記載のミップマップレベル選択方法。
【請求項6】
前記(c1)ステップは、
下記の数式、
(ここで、「XPS」は、ピクセルに対するテクセルの大きさであり、「Texturesize」は、テクスチャの大きさであり、「Resolution」は、表示される画面の大きさである。)により、テクセルに対するピクセルの大きさを計算することを特徴とする請求項5に記載のミップマップレベル選択方法。
【請求項7】
前記(c2)ステップは、
下記の数式、
(ここで、「TXN」は、三角形に含まれるテクセルの個数であり、三角形のテクスチャ座標は、(s、t)、(s、t)、(s、t)であり、「Texturesize」は、テクスチャの大きさである。)により三角形に含まれるテクセルの個数を計算することを特徴とする請求項5に記載のミップマップレベル選択方法。
【請求項8】
前記(c3)ステップは、
下記の数式、
(ここで、「TXS」は、テクセルからなる三角形の大きさであり、「TXN」は、テクセルの個数であり、「XPS」は、テクセルに対するピクセルの大きさである。)により前記三角形の大きさを計算することを特徴とする請求項5に記載のミップマップレベル選択方法。
【請求項9】
前記(c4)ステップは、
下記の数式、
(ここで、与えられた三角形の3つの頂点に該当するモデル座標は、(x、y、z)、(x、y、z)、(x、y、z)であり、「Tarea」は、三角形の大きさである。)によりモデル座標に基づいて三角形の大きさを計算することを特徴とする請求項5に記載のミップマップレベル選択方法。
【請求項10】
前記(c5)ステップは、
下記の数式、
(ここで、Pbは、ピクセルとテクセルの大きさの割合が1:1となる距離であり、「TXS」は、テクセルからなる三角形の大きさであり、「Tarea」は、三角形の大きさである。)により前記ピクセルとテクセルとの大きさの割合が1:1となる距離を計算することを特徴とする請求項5に記載のミップマップレベル選択方法。
【請求項11】
画面に表示されるオブジェクト(Object)のオブジェクト情報を格納するオブジェクト情報格納部と、
画面に表示される対象オブジェクトのオブジェクト情報を前記オブジェクト情報格納部から呼び出して確認するオブジェクト情報確認部と、
前記オブジェクト情報確認部に呼び出されたオブジェクト情報を分析してミップマップレベルを選択するためのアルゴリズムを決定するアルゴリズム決定部と、
前記オブジェクト情報確認部から前記対象オブジェクトのオブジェクト情報が伝送され、前記アルゴリズム決定部の決定に相応してピクセルとテクセルとの大きさの割合が1:1となる距離を計算する距離比較法演算部と、
前記距離比較法演算部で計算された距離に基づいてミップマップレベルを選択するミップマップレベル選択部とを備え、
前記オブジェクト情報は、画面に存在するオブジェクトの個数、形状、材質、及び/又は画面に現れる空間上で当該オブジェクトの位置を含むことを特徴とするミップマップレベル選択方法を利用したテクスチャマッピングシステム。
【請求項12】
前記距離比較法演算部は、
テクスチャの大きさと画面の大きさとに基づいてテクセルに対するピクセルの大きさを計算し、テクスチャ三角形の3つの頂点に該当するテクスチャ座標に基づいて三角形に含まれるテクセルの個数を計算した後、前記計算されたピクセルの大きさとテクセルの個数とに基づいて三角形の大きさを計算し、与えられた三角形の3つの頂点に該当するモデル座標に基づいて三角形の大きさを計算し、三角形の大きさに対する前記2つの計算値に基づいてピクセルとテクセルとの大きさの割合が1:1となる距離を計算することを特徴とする請求項11に記載のミップマップレベル選択方法を利用したテクスチャマッピングシステム。
【請求項13】
前記ミップマップレベル選択方法を利用したテクスチャマッピングシステムは、
前記オブジェクト情報確認部から前記対象オブジェクトのオブジェクト情報が伝送され、前記アルゴリズム決定部の決定に相応して光線のディファレンシャル(Differential)値を計算するディファレンシャル法演算部をさらに備え、
格納部から前記テクスチャ識別子に相応するテクスチャ情報を呼び出すテクスチャ情報呼出部と、
前記テクスチャ情報呼出部で呼び出されたテクスチャを当該プリミティブにマッピングするフィルタリング部と、
をさらに備えることを特徴とする請求項11に記載のミップマップレベル選択方法を利用したテクスチャマッピングシステム。
【請求項14】
前記アルゴリズム決定部は、
提供しようとするイメージの解像度若しくはレベル及び/又は処理速度の要求レベルを確認して、前記処理速度の要求レベルが予め定められた閾値よりも大きい場合に前記距離比較法演算部を選択して、前記イメージの解像度又はレベルの要求レベルが予め定められた閾値よりも大きい場合に前記ディファレンシャル法演算部を選択することを特徴とする請求項13に記載のミップマップレベル選択方法を利用したテクスチャマッピングシステム。
【請求項15】
距離比較法によりピクセルとテクセルとの大きさの割合が1:1となる比較距離を計算する前処理部と、
プリミティブ(PRIMITIVE)三角形の情報と前記前処理部において計算された比較距離をマッピングして格納する三角形情報格納部と、
テクスチャ変換されるプリミティブ三角形の番号が入力され、前記三角形情報格納部から該当番号に相応するプリミティブ三角形の比較距離を呼び出す比較距離呼び出し部と、
光線の比較距離情報を累積して格納する光線情報格納部と、
視点から現在光線にヒット(HIT)された三角形までの距離と前記光線情報格納部に累積して格納された比較距離とを合算する最終距離算出部と、
前記最終距離算出部で合算された比較距離に基づいてミップマップレベルを選択するミップマップレベル選択部と、
を含むミップマップレベル選択方法を利用したテクスチャマッピングシステム。
【請求項16】
前記前処理部は、
テクスチャの大きさと画面の大きさとに基づいてテクセルに対するピクセルの大きさを計算して、テクスチャ三角形の三つの頂点に該当するテクスチャ座標に基づいて三角形に含まれるテクセルの個数を計算した後、前記計算されたピクセルの大きさとテクセルの個数とに基づいて三角形の大きさを計算し、与えられた三角形の三つの頂点に該当するモデル座標に基づいて三角形の大きさを計算し、三角形の大きさに対する前記二つの計算値に基づいてピクセルとテクセルとの大きさの割合が1:1となる比較距離を計算することを特徴とする請求項15に記載のミップマップレベル選択方法を利用したテクスチャマッピングシステム。
【請求項17】
前記ミップマップレベル選択方法を利用したテクスチャマッピングシステムは、
テクスチャの情報を格納するテクスチャ情報格納部と、
変換されるテクスチャの識別子が入力され、前記テクスチャ情報格納部から前記テクスチャの識別子に相応するテクスチャ情報を呼び出すクスチャ情報呼び出し部と、
前記テクスチャ情報呼び出し部から呼び出されたテクスチャを該当プリミティブにマッピングするフィルタリング部とを更に含むことを特徴とする請求項15に記載のミップマップレベル選択方法を利用したテクスチャマッピングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
開示された技術は、ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステムに関し、特に、テクスチャイメージなどのミップマップレベルを選択する方法と、これを利用したテクスチャマッピングシステムに関する。
【背景技術】
【0002】
テクスチャマッピング(Texture Mapping)は、コンピュータグラフィックス分野において仮想の三次元物体の表面に細部的な質感を描写したり色を塗ったりする技法であって、数式や二次元の絵を三次元物体の表面に種々の方法を適用して実際の物体の如く感じられるように描写することができる。
【0003】
ミップマップ(MIP−MAP)は、三次元グラフィックスのテクスチャマッピング分野でレンダリング速度を向上させるためのものであって、基本テクスチャとこれを連続的に縮小させたテクスチャ等からなり得る。
【発明の概要】
【課題を解決するための手段】
【0004】
実施形態のうち、ミップマップレベル選択方法は、大域照明(Global Illumination)基盤のテクスチャマッピング(Texture Mapping)のために利用される。前記ミップマップレベル選択方法は、画面に存在する少なくとも1つのオブジェクト(Object)に対するオブジェクト情報を確認する。前記オブジェクト情報は、画面に存在するオブジェクトの個数、形状、材質、及び/又は画面に現れる空間上で当該オブジェクトの位置を含むことができる。前記オブジェクト情報に基づいてミップマップレベル選択アルゴリズムを決定する。前記ミップマップレベル選択アルゴリズムは、ディファレンシャル(Differential)法及び/又は距離比較法を含み、前記ディファレンシャル法は、隣り合う光線のディファレンシャル値に基づいてミップマップを選択し、前記距離比較法は、ピクセルとテクセルとの割合が1:1となる距離を計算してミップマップを選択することができる。前記決定された方法に基づいてミップマップレベルを選択する。一実施形態において、提供しようとする画像に対するイメージ品質及び/又は処理速度の要求レベルを確認することができる。前記確認結果に基づいてミップマップレベル選択アルゴリズムを決定することができる。例えば、前記確認の結果、当該画像に対するイメージ品質の要求レベルが高い場合、ミップマップレベル選択アルゴリズムとしてディファレンシャル法を選択することができる。他の例として、前記確認の結果、当該画像に対する処理速度の要求レベルが高い場合、ミップマップレベル選択アルゴリズムとして距離比較法を選択することができる。一実施形態においてミップマップレベル選択方法は、テクスチャの大きさと画面の大きさとに基づいてテクセルに対するピクセルの大きさを計算し、テクスチャ三角形の3つの頂点に該当するテクスチャ座標に基づいて三角形に含まれるテクセルの個数を計算した後、前記計算されたピクセルの大きさとテクセルの個数とに基づいて三角形の大きさを計算し、与えられた三角形の3つの頂点に該当するモデル座標に基づいて三角形の大きさを計算し、三角形の大きさに対する前記2つの計算値に基づいてピクセルとテクセルとの割合が1:1となる距離を計算する。前記計算された距離に基づいてミップマップレベルを選択する。
【0005】
実施形態のうち、ミップマップレベル選択方法を利用したテクスチャマッピングシステムは、オブジェクト情報格納部、オブジェクト情報確認部、アルゴリズム決定部、距離比較法演算部、及びミップマップレベル選択部を備える。オブジェクト情報格納部は、画面に表示されるオブジェクト(Object)のオブジェクト情報を格納する。前記オブジェクト情報は、画面に存在するオブジェクトの個数、形状、材質、及び/又は画面に現れる空間上で当該オブジェクトの位置を含むことができる。オブジェクト情報確認部は、画面に表示される対象オブジェクトのオブジェクト情報を前記オブジェクト情報格納部から呼び出して確認する。アルゴリズム決定部は、前記オブジェクト情報確認部に呼び出されたオブジェクト情報を分析してミップマップレベルを選択するためのアルゴリズムを決定する。距離比較法演算部は、前記オブジェクト情報確認部から前記対象オブジェクトのオブジェクト情報が伝送され、前記アルゴリズム決定部の決定に相応してピクセルとテクセルとの割合が1:1となる距離を計算する。ミップマップレベル選択部は、前記距離比較法演算部で計算された距離に基づいてミップマップレベルを選択する。一実施形態において、前記距離比較法演算部は、テクスチャの大きさと画面の大きさとに基づいてテクセルに対するピクセルの大きさを計算し、テクスチャ三角形の3つの頂点に該当するテクスチャ座標に基づいて三角形に含まれるテクセルの個数を計算した後、前記計算されたピクセルの大きさとテクセルの個数とに基づいて三角形の大きさを計算し、与えられた三角形の3つの頂点に該当するモデル座標に基づいて三角形の大きさを計算し、三角形の大きさに対する前記2つの計算値に基づいてピクセルとテクセルとの割合が1:1となる距離を計算することができる。前記テクスチャ三角形は、テクスチャを構成する単位三角形を含み、テクスチャ座標は、二次元座標を含むことができる。一実施形態において、前記ミップマップレベル選択方法を利用したテクスチャマッピングシステムは、前記オブジェクト情報確認部から前記対象オブジェクトのオブジェクト情報が伝送され、前記アルゴリズム決定部の決定に相応して光線のディファレンシャル(Differential)値を計算するディファレンシャル法演算部をさらに備え、前記ミップマップレベル選択部は、前記光線追跡法演算部で計算されたディファレンシャル値に基づいてミップマップレベルを選択することができる。
【0006】
実施形態のうち、ミップマップレベル選択方法を利用したテクスチャマッピングシステムは、前処理部、三角形情報格納部、比較距離呼出部、光線情報格納部、最終距離算出部、及びミップマップレベル選択部を備える。前処理部は、距離比較法によりピクセルとテクセルとの割合が1:1となる比較距離を計算する。三角形情報格納部は、プリミティブ(Primitive)三角形の情報と前記前処理部で計算された比較距離とをマッピングして格納する。比較距離呼出部は、テクスチャ変換されるプリミティブ三角形の番号を受信し、前記三角形情報格納部から当該番号に相応するプリミティブ三角形の比較距離を呼び出す。光線情報格納部は、光線の距離情報を累積して格納する。最終距離算出部は、視点から現在光線にヒット(hit)された三角形までの距離と、前記光線情報格納部に累積して格納された距離とを合算する。ミップマップレベル選択部は、前記最終距離算出部で合算された距離に基づいてミップマップレベルを選択する。一実施形態において、前記前処理部は、テクスチャの大きさと画面の大きさとに基づいてテクセルに対するピクセルの大きさを計算し、テクスチャ三角形の3つの頂点に該当するテクスチャ座標に基づいて三角形に含まれるテクセルの個数を計算した後、前記計算されたピクセルの大きさとテクセルの個数とに基づいて三角形の大きさを計算し、与えられた三角形の3つの頂点に該当するモデル座標に基づいて三角形の大きさを計算し、三角形の大きさに対する前記2つの計算値に基づいてピクセルとテクセルとの割合が1:1となる距離を計算することができる。前記テクスチャ三角形は、テクスチャを構成する単位三角形を含み、テクスチャ座標は、二次元座標を含むことができる。一実施形態において、前記ミップマップレベル選択方法を利用したテクスチャマッピングシステムは、テクスチャの情報を格納するテクスチャ情報格納部と、変換されるテクスチャ識別子を受信し、前記テクスチャ情報格納部から前記テクスチャ識別子に相応するテクスチャ情報を呼び出すテクスチャ情報呼出部と、前記テクスチャ情報呼出部で呼び出されたテクスチャを当該プリミティブにマッピングするフィルタリング部とをさらに備えることができる。
【図面の簡単な説明】
【0007】
図1図1は、開示された技術のミップマップレベル選択方法を利用したテクスチャマッピングシステムの一例を説明する構成図である。
図2図2は、図1のテクスチャマッピングシステムで実行されるミップマップレベル選択方法を説明するフローチャートである。
図3図3は、図2のディファレンシャル法及び距離比較法の基盤となる光線追跡法の原理を説明する図である。
図4図4は、図2のディファレンシャル法を説明するフローチャートである。
図5図5は、図2の距離比較法の原理を説明する図である。
図6図6は、図2の距離比較法を説明するフローチャートである。
図7図7は、開示された技術のミップマップレベル選択方法を利用したテクスチャマッピングシステムの他の例を説明する構成図である。
図8図8は、図7のフィルタリング部のテクスチャマッピングを説明する図である。
図9図9は、開示された技術のミップマップレベル選択方法の実験に使用されたモデルの例などを示した図である。
図10図10は、図9の各画像に対するミップマップ水準選択率を測定したグラフである。
図11図11は、図9の各画像でキャッシュの大きさに対するキャッシュミス率を測定したグラフである。
図12図12は、図9の各画像でキャッシュの大きさに対するキャッシュミス率を測定したグラフである。
図13図13は、図9の各画像でキャッシュ及びブロックの大きさの連関性に対するキャッシュミス率を測定したグラフである。
【発明を実施するための形態】
【0008】
開示された技術に関する説明は、構造的ないし機能的説明のための実施形態にすぎないため、開示された技術の権利範囲は、本文に説明された実施形態によって制限されるものと解釈されなければならない。すなわち、実施形態は、様々な変更が可能であり、種々の形態を有することができるので、開示された技術の権利範囲は、技術的思想を実現できる均等物等を含むものと理解されなければならない。
【0009】
一方、本出願において述べられる用語の意味は、次のように理解されなければならないであろう。
【0010】
「第1」、「第2」などの用語は、1つの構成要素を他の構成要素から区別するためのものであって、これらの用語等によって権利範囲が限定されてはならない。例えば、第1の構成要素は第2の構成要素として命名され得るし、同じく第2の構成要素も第1の構成要素として命名され得る。
【0011】
「及び/又は」の用語は、1つ以上の関連項目から提示可能な全ての組み合わせを含むものと理解されなければならない。例えば、「第1の項目、第2の項目、及び/又は第3の項目」の意味は、第1、第2、または第3の項目だけでなく、第1、第2、または第3の項目のうち、2つ以上から提示され得る全ての項目の組み合わせを意味する。
【0012】
ある構成要素が他の構成要素に「接続されて」いると言及されたときは、その他の構成要素に直接接続されることもできるが、中間に他の構成要素が存在することもできると理解されなければならないであろう。それに対し、ある構成要素が存在しないものと理解されなければならないであろう。一方、構成要素等間の関係を説明する他の表現など、すなわち、「〜間に」と「すぐ〜間に」または「〜に隣り合う」と「〜に直接隣り合う」なども同様に解釈されなければならない。
【0013】
単数の表現は、文脈上、明白に異なるように意図していない限り、複数の表現を含むものと理解されなければならず、「含む」または「有する」などの用語は、説示された特徴、数字、ステップ、動作、構成要素、部分品、あるいはこれらを組み合わせたものが存在することを指定しようとするものであり、1つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部分品、あるいはこれらを組み合わせたものなどの存在または付加の可能性を予め排除しないものと理解されなければならない。
【0014】
各ステップのおける識別符号(例えば、a、b、c、・・・)は、説明の便宜のために用いられるものであって、識別符号は、各ステップの順序を説明するものではなく、各ステップは、文脈上、明白に特定順序を記載しない限り、明記された順序と異なって起こり得る。すなわち、各ステップは、明記された順序と同様に起こることができ、実質的に同時に行われることもでき、逆の順序のとおりに行われることもできる。
【0015】
ここで使われる全ての用語などは、別に定義されない限り、開示された技術の属する分野における通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に使用される辞書に定義されている用語は、関連技術の文脈上有する意味と一致するものと解釈されなければならず、本出願において明白に定義しない限り、理想的であるか、過渡に形式的な意味を有するものと解釈されることはできない。
【0016】
グラフィックプロセッサにおいてテクスチャマッピング(Texture Mapping)のためのミップマップ(MIP MAP)のレベルを選択する方法の1つである光線追跡(Ray Tracing)方式は、各ピクセルに対して光線を生成し、当該光線に影響を及ぼす三角形などを逆追跡する方式であって、大域照明(Global Illumination)効果が可能でありうる。例えば、影(Shadow)効果、反射(Reflection)効果、屈折(Refraction)効果、透過(Transparent)効果を基本的に提供することができる。
【0017】
一実施形態において、光線追跡方式を基盤とするミップマップの水準選択方法としては、「Ray Differential」値による方法がある。このような光線追跡方式は、膨大な演算量を要求するため、オフラインプロセスを主として利用されたが、近年、半導体技術の発電により実施間処理にも適用され得る。
【0018】
他の一実施形態において、ミップマップの水準を選択する方式により、前処理時、各プリミティブ(Primitive)に対して視点と当該プリミティブのミップマップの水準(Level)「0」との距離値とピクセルの変化量に比べてテクセルの変化量に対する値を計算し、レンダリング時、光線と交差した物体に対して前処理時に計算された値と「on−the―fly(同時的情報編集)」で計算された全体光線の長さ値とのみを用いて当該物体のテクスチャミップマップの水準を選択することができる。このような距離比較方式は、光線追跡方式に比べて演算量を減らすことができる。
【0019】
結果として、開示された技術では、要求されるイメージの特性、例えば、提供しようとする画像に対するイメージ品質及び/又は処理速度の要求レベルに相応して、光線追跡方式または距離比較方式を利用してミップマップを選択することができる。
【0020】
図1は、開示された技術のミップマップレベル選択方法を利用したテクスチャマッピングシステムの一例を説明する構成図である。
【0021】
図1に示すように、ミップマップレベル選択方法を利用したテクスチャマッピング(Texture Mapping)システム100は、オブジェクト情報格納部110、オブジェクト情報確認部120、アルゴリズム決定部130、距離比較法演算部140、光線追跡法演算部150、及びミップマップレベル選択部160を備える。
【0022】
オブジェクト情報格納部110は、画面に表示されるオブジェクト(Object)のオブジェクト情報を格納する。一実施形態において、オブジェクト情報は、画面に存在するオブジェクトの個数、形状、材質、及び/又は画面に現れる空間上で当該オブジェクトの位置を含むことができる。例えば、オブジェクトは、図9(a)において食卓や椅子、窓、シンク台を含むことができる。
【0023】
オブジェクト情報確認部120は、画面に表示される対象オブジェクトのオブジェクト情報をオブジェクト情報格納部110から呼び出して確認する。
【0024】
アルゴリズム決定部130は、オブジェクト情報確認部120に呼び出されたオブジェクト情報を分析してミップマップレベルを選択するためのアルゴリズムを決定する。例えば、ミップマップレベルを選択するためのアルゴリズムは、ディファレンシャル(Differential)法及び/又は距離比較法を含むことができる。一実施形態において、アルゴリズム決定部130は、提供しようとする画像に対するイメージ品質及び/又は処理速度の要求レベルを確認し、処理速度の要求レベルが高い場合、距離比較法演算部140を選択し、イメージ品質の要求レベルが高い場合、前記ディファレンシャル法演算部150を選択することができる。
【0025】
距離比較法演算部140は、距離比較法アルゴリズムに相応してミップマップレベルを選択するための前処理を行う。一実施形態において、距離比較法演算部140は、オブジェクト情報確認部120から対象オブジェクトのオブジェクト情報が伝送され、アルゴリズム決定部130の決定に相応してピクセルとテクセルとの割合が1:1となる距離を計算することができる。例えば、距離比較法演算部140は、ピクセルに対するテクセルの大きさを求め、テクスチャ三角形の3つの頂点に対する三角形の内部に含まれたテクセルの個数を求め、これに基づいてテクセルからなる三角形に対するピクセルの大きさを求め、3つの頂点に対する三角形の大きさを求めた後、これに基づいてピクセルとテクセルとの割合が1:1となる距離を計算することができる。テクスチャ三角形は、テクスチャを構成する単位三角形を含み、テクスチャ座標は、二次元座標を含むことができる。
【0026】
ディファレンシャル演算部150は、オブジェクト情報確認部から対象オブジェクトのオブジェクト情報が伝送され、アルゴリズム決定部130の決定に相応して光線のディファレンシャル(Differential)値を計算する。
【0027】
ミップマップレベル選択部160は、距離比較法演算部140で計算された距離または光線追跡法演算部150で計算されたディファレンシャル値に基づいてミップマップレベルを選択する。一実施形態において、ミップマップレベルの選択の際に最も多く使われる方式は、テクスチャ空間での長軸に対するピクセルとテクセルとの変化量の割合を利用することができる。例えば、ミップマップ水準選択は、下記の数式1に基づいて選択され得る。
【0028】
【数1】
ここで、(du、dv)は、当該ピクセルのスクリーン空間でテクスチャ空間にマッピングされた場合、テクスチャ座標系(u、v)に対する増分ベクトル(Vector)値である。数式1は、増分ベクトル値のうち、大きい値を選択することが分かる。
【0029】
一方、テクスチャマッピングでイメージが拡大される場合には、「Interpolation」(補間)技法を利用することができるが、イメージが縮小される場合には、画質低下が激しく生じる。したがって、開示された技術では、増分ベクトル値のうち、大きい値を選択して「LOD」の水準が高い(選択されるイメージはさらに小さい)ものを選択することができる。
【0030】
ミップマップレベル選択方法を利用したテクスチャマッピングシステム100は、ミップマップレベル選択部160で選択されたミップマップでテクスチャマッピングを行うことができる。
【0031】
図2は、図1のテクスチャマッピングシステムで実行されるミップマップレベル選択方法を説明するフローチャートである。
【0032】
図2において、大域照明(Global Illumination)基盤のテクスチャマッピング(Texture Mapping)のためのミップマップ(MIP−MAP)レベル選択方法は、まず、画面に存在する少なくとも1つのオブジェクト(Object)に対するオブジェクト情報を確認する(ステップS210)。一実施形態において、オブジェクト情報は、画面に存在するオブジェクトの個数、形状、材質、及び/又は画面に現れる空間上で当該オブジェクトの位置を含むことができる。
【0033】
次に、オブジェクト情報に基づいてミップマップレベル選択アルゴリズムを決定する(ステップS220)。一実施形態において、ミップマップレベル選択アルゴリズムは、ディファレンシャル法及び/又は距離比較法を含むことができる。例えば、ディファレンシャル法は、隣り合う光線のディファレンシャル(Differential)値に基づいてミップマップを選択することができ、距離比較法は、ピクセルとテクセルとの割合が1:1となる距離を計算してミップマップを選択することができる。一実施形態において、提供しようとする画像に対するイメージ品質及び/又は処理速度の要求レベルを確認することができ、確認結果に基づいてミップマップレベル選択アルゴリズムを決定することができる。例えば、当該画像に対するイメージ品質の要求レベルが高い場合、ミップマップレベル選択アルゴリズムとしてディファレンシャル法を選択することができる。他の例として、画像に対する処理速度の要求レベルが高い場合、ミップマップレベル選択アルゴリズムとして距離比較方法を選択することができる。
【0034】
最後に、決定された方法に基づいてミップマップレベルを選択する(ステップS230)。
【0035】
図3は、図2のディファレンシャル法及び距離比較法の基盤となる光線追跡法の原理を説明する図である。
【0036】
図3に示すように、いずれか1つのオブジェクトに含まれた特定ピクセル(Pixel)に対して、カメラの視点から「Primary Ray」を生成して「Primary Ray」と会うオブジェクトを探すための計算を行う。例えば、「Primary Ray」と会うことになったオブジェクトが反射や屈折の性質があれば、「Primary Ray」とオブジェクトとが会う位置で反射効果のための「Reflection Ray」や屈折効果のための「Refraction Ray」を生成し、影効果のために、光源(Point Light)の方向に「Shadow Ray」を生成する。このとき、当該光源の方向に向ける「Shadow Ray」とある物体とが会った場合に影が生成され、そうでない場合は影が生成されない。「Reflection Ray」と「Refraction Ray」とは「Secondary Ray」ともいい、「Secondary Ray」は、それぞれ自分と会うオブジェクトを探すための計算を続けて行うことができる。
【0037】
図4は、図2のディファレンシャル法を説明するフローチャートである。
【0038】
図4に示すように、光線追跡法によりミップマップのレベルを選択してテクスチャをマッピングする方法は、図3の原理を基盤としていずれか1つの光線及び光線と隣り合う他の光線との差異を確認し、確認された差異に基づいてテクスチャ座標に対する交差点及び変化量を算出することができ(ステップS410)、テクスチャ座標に対する交差点及び変化量に基づいてディファレンシャル(Differential)値を算出することができる(ステップS420)。そして、ディファレンシャル値をピクセルに対して拡張させて近似化することができ(ステップS430)、二次元イメージを三次元テクスチャで定義することができ(ステップS440)、定義されたテクスチャに近接した大きさのミップマップを選択することができる(ステップS450)。
【0039】
図5は、図2の距離比較法の原理を説明する図である。
【0040】
図5(a)に示すように、三角形のテクスチャに対してミップマップ水準が0である基準テクスチャ(Basis Texture)となる視点での距離「P」を計算することができる。このような距離は、ピクセルサイズとテクセルサイズとの割合が1:1となる部分を意味し、視点との相対的な距離であるため、視点の位置とは関係ないこともあり得る。当該三角形の頂点の情報が変わらなければ、「P」値が変わらないこともあり得る。
【0041】
光線と交差した当該三角形に対する光線の長さが「P」であり、当該三角形が視点ベクトルに垂直である場合、当該三角形のテクスチャに対するミップマップ水準は、下記の数式2で計算することができる。
【0042】
【数2】
ここで、PはPにSを掛けた結果であり、Sは、P位置で基準となる変化量を意味する。一実施形態としてSは、ピクセルの2つの座標軸(x、y)に対するテクセルの2つの軸(u、v)の変化量のうち、大きい値を意味する。一実施形態において、図5(b)及び(c)のように、非対称に変化された場合、変化された値のうち、大きい値であるdv及びrを意味する。
【0043】
図6は、図2の距離比較法を説明するフローチャートである。
【0044】
図6に示すように、距離比較法によるミップマップレベル選択方法は、テクスチャの大きさと画面の大きさとに基づいてテクセルに対するピクセルの大きさを計算することができる(ステップS610)。例えば、下記の数式3により大きさを計算することができる。
【0045】
【数3】
ここで、「XPS」は、ピクセルに対するテクセルの大きさであり、「Texturesize」は、テクスチャの大きさであり、「Resolution」は、表示される画面の大きさである。テクスチャ三角形の3つの頂点に該当するテクスチャ座標が(s、t)、(s、t)、(s、t)である場合、この3つの座標に基づいて三角形に含まれるテクセルの個数を計算することができる(ステップS620)。例えば、下記の数式4により大きさを計算することができる。
【0046】
【数4】
ここで、「TXN」は、三角形に含まれるテクセルの個数である。
【0047】
ステップ「S610」及びステップ「S620」で計算された値に基づいてテクセルからなる三角形の大きさを計算することができる(ステップS630)。例えば、下記の数式5によりテクセルの大きさを計算することができる。
【0048】
【数5】
ここで、「TXS」は、テクセルからなる三角形の大きさであり、「TXN」は、テクセルの個数である。
【0049】
与えられた三角形の3つの頂点に該当するモデル座標が(x、y、z)、(x、y、z)、(x、y、z)である場合、この3つの座標に基づいて三角形の大きさを計算することができる(ステップS640)。例えば、下記の数式6により大きさを計算することができる。
【0050】
【数6】
ここで、「Tarea」は、三角形の大きさである。
【0051】
ステップ「S630」及びステップ「S640」で計算された値に基づいてピクセルとテクセルとの割合が1:1となる距離を計算することができる(ステップS650)。例えば、下記の数式7によりピクセルとテクセルとの割合が1:1となる距離を計算することができる。
【0052】
【数7】
ここで、「P」は、ピクセルとテクセルとの割合が1:1となる距離であり、「TXS」は、テクセルの実際の大きさであり、「Tarea」は、三角形の大きさである。
【0053】
計算された距離に基づき、数式1によってミップマップレベルを選択することができる(ステップS660)。
【0054】
図7は、開示された技術のミップマップレベル選択方法を利用したテクスチャマッピングシステムの他の例を説明する構成図である。
【0055】
図7に示すように、ミップマップレベル選択方法を利用したテクスチャマッピング(Texture Mapping)システム700は、前処理部710、三角形情報格納部720、比較距離呼出部730、光線情報格納部740、最終距離算出部750、ミップマップレベル選択部760、テクスチャ情報格納部770、テクスチャ情報呼出部780、及びフィルタリング部790を備える。
【0056】
前処理部710は、図6の距離比較法により各三角形別にピクセルとテクセルとの割合が1:1となる比較距離を計算することができ、計算された比較距離は、三角形情報格納部720に格納され得る。
【0057】
三角形情報格納部720は、プリミティブ(Primitive)三角形の情報と前処理部で計算された比較距離とをマッピングして格納する。
【0058】
比較距離呼出部730は、テクスチャ変換されるプリミティブ三角形の番号(Triangle number)を受信し、三角形情報格納部720から当該番号に相応するプリミティブ三角形の比較距離を呼び出す。一実施形態において、三角形の番号は、開始点から現在光線がヒット(Hit)された三角形に付与され得る。
【0059】
光線情報格納部740は、光線の距離情報を累積して格納する。一実施形態において、光線の距離情報は、以前まで累積されて格納された「P」を含むことができる。光線情報格納部740は、光線の反射と屈折とが同時に生じると、1つの光線情報は、スタックに「Push」され、他の1つの光線は、光線追跡を行い、この過程が終了すると、スタックのトップ(Top)にある光線情報を「POP」した後、これを介して光線を追跡することができる。
【0060】
最終距離算出部750は、視点から現在光線にヒット(hit)された三角形までの距離(Ray_length)と光線情報格納部740に累積して格納された距離とを合算する。
【0061】
ミップマップレベル選択部760は、最終距離算出部で合算された距離に基づいてミップマップレベルを選択する。
【0062】
テクスチャ情報格納部770は、テクスチャの情報を格納する。一実施形態において、テクスチャの情報は、当該テクスチャのカラー、明度、カラーとアルファデータとを含むことができる。
【0063】
テクスチャ情報呼出部780は、変換されるテクスチャ識別子(Texture_id)を受信し、テクスチャ情報格納部からテクスチャ識別子に相応するテクスチャ情報を呼び出す。
【0064】
フィルタリング部790は、テクスチャ情報呼出部で呼び出されたテクスチャを当該プリミティブにマッピングする。
【0065】
図8は、図7のフィルタリング部のテクスチャマッピングを説明する図である。
【0066】
図8において、図4または図6によってミップマップが選択されると、選択されたミップマップである「Texture Space」が「Object Space」にマッピングされ、最終的に「Screen Space」にマッピングされ得る。図8の左側は、全体テクスチャを示し、黒色輪郭は、各々の角がテクスチャの各点などにマッピングされた四辺形(Quadrilateral)を示すことができる。四辺形が画面に表現されるとき、様々の変換(例えば、回転、変形、縮小、投影)により模様が変わることができる。このような変換がなされた後、テクスチャマップ四辺形は、図8の右側の絵のように画面に表示され得る。
【0067】
図9は、開示された技術のミップマップレベル選択方法の実験に使用されたモデルの例などを示した図である。
【0068】
図9に示すように、テクスチャマッピング処理される画像は、それぞれ空間上の距離により選択されるミップマップが異なりうるということが分かる。一実施形態において、図9(a)及び(b)は、反射されるか、屈折または透視される領域が多くて、光線の長さが長くなりうるということが予測でき、図9(c)及び(d)は、相対的に光線の長さが短くなりうるということが予測できる。
【0069】
図10は、図9の各画像に対するミップマップ水準選択率を測定したグラフである。
【0070】
図10に示すように、図9において予測したように、図9(a)及び(b)は、高い水準のミップマップに対する選択率が相対的に高いことが分かり、図9(c)及び(d)は、低い水準のミップマップに対する選択率が相対的に高いことが分かる。
【0071】
図11は、図9の各画像でキャッシュの大きさに対するキャッシュミス率を測定したグラフである。
【0072】
図11に示すように、図9の各画像別のベンチマークに対してキャッシュの大きさに関する実験をした結果、ブロックの大きさを64Bとし、キャッシュの形態は、直接マッピングされたキャッシュ(Direct Mapped Cache)とした場合、全てのベンチマークモデルに対してキャッシュの大きさが大きくなるほどキャッシュミス率が減少することが分かる。
【0073】
図12は、図9の各画像でブロックの大きさに対するキャッシュミス率を測定したグラフである。
【0074】
図12に示すように、図9の各画像別のベンチマークに対してブロックの大きさに関する実験をした結果、キャッシュの大きさを32KBとし、キャッシュの形態は、直接マッピングされたキャッシュ(Direct Mapped Cache)とした場合、全てのベンチマークモデルに対してブロックの大きさが大きくなるほどキャッシュミス率が減少することが分かる。ここで、ブロックの単位は、バイト(byte)である。このような場合、キャッシュと外部メモリとの間に移動すべきデータの量は相対的に増加する。
【0075】
図13は、図9の各画像でキャッシュ及びブロックの大きさの連関性に対するキャッシュミス率を測定したグラフである。
【0076】
図13に示すように、図9の各画像別のベンチマークに対してキャッシュとブロックとの連関性に関する実験をした結果、キャッシュの大きさを32KBとし、ブロックの大きさを64Bとした場合、キャッシュの性能が一定に維持されることが分かる。
【0077】
開示された技術は、次の効果を有することができる。ただし、特定実施形態が次の効果を全て含まなければならないとか、次の効果のみを含まなければならないという意味ではないので、開示された技術の権利範囲は、これによって制限されるものと理解されてはいけないであろう。
【0078】
一実施形態に係るミップマップレベル選択方法は、テクスチャマッピングの速度を向上させることができる。各プリミティブに対するテクスチャのミップマップをより効率的な方法で選択することができるためである。
【0079】
また、一実施形態に係るミップマップレベル選択方法は、直接マッピングされたキャッシュのミス率を減らすことができる。効率的なミップマップレベルを選択してテクスチャデータに接近するとき、当該オブジェクト(Object)に最も適した大きさのテクスチャ水準を選択することができるためである。したがって、ミップマップレベル選択方法を利用したテクスチャマッピングシステムの信頼性を向上させることができる。
【0080】
また、一実施形態に係るミップマップレベル選択方法は、傾いているか、回転されている物体に歪みのないテクスチャを覆うことができるようにするための様々なフィルタリング技法に適用され得る。
【0081】
上記では、本出願の好ましい実施形態を参照して説明したが、当該技術分野の熟練された当業者は、下記の特許請求の範囲に記載された本出願の思想及び領域から逸脱しない範囲内で本出願を様々に修正及び変更させることができるということが理解できるであろう。
図1
図2
図6
図7
図10
図11
図12
図13
図3
図4
図5
図8
図9