(57)【特許請求の範囲】
【請求項１】
仮想空間内にある立体オブジェクトの表面にマッピングされるべき画像として、球座標に対応づけて画素が格納された球座標マップ画像を保持する球座標マップ画像保持部と、
前記立体オブジェクトの表面にマッピングされるべき画像として、キューブマップ画像を保持するキューブマップ画像保持部と、
ユーザから、前記仮想空間内における視点の指定を検出する位置検出部と、
前記視点から前記立体オブジェクト表面までの距離である観察距離が所定の境界値よりも大きいときには、前記キューブマップ画像を前記立体オブジェクトにマッピングし、前記観察距離が前記境界値以下であるときには、前記球座標マップ画像を前記立体オブジェクトにマッピングするテクスチャマッピング部と、
を備えることを特徴とする画像表示装置。
【請求項２】
前記立体オブジェクトは、現実の物体を模したものであり、
前記球座標マップ画像は、前記現実の物体を実写した画像を利用したものであり、
前記キューブマップ画像は、所定の計算により生成され、前記現実の物体を模式的に表す画像を利用したものであることを特徴とする請求項１に記載の画像表示装置。
【請求項３】
前記球座標マップ画像保持部は、詳細度が異なる複数種類の前記球座標マップ画像を保持し、
前記テクスチャマッピング部は、前記観察距離に対応する詳細度の前記球座標マップ画像を前記立体オブジェクトにマッピングすることを特徴とする請求項１に記載の画像表示装置。
【請求項４】
前記キューブマップ画像保持部は、詳細度が異なる複数種類の前記キューブマップ画像を保持し、
前記テクスチャマッピング部は、前記観察距離に対応する詳細度の前記キューブマップ画像を前記立体オブジェクトにマッピングすることを特徴とする請求項１または３に記載の画像表示装置。
【請求項５】
マッピング方法の切り替えの前後において、マッピングされる前記キューブマップ画像と前記球座標マップ画像の詳細度は同一であることを特徴とする請求項３または４に記載の画像表示装置。
【請求項６】
前記観察距離が前記境界値よりも大きいとき、前記立体オブジェクトに対してコンピュータ・グラフィックスによるエフェクトを施すエフェクト部、を更に備えることを特徴とする請求項１に記載の画像表示装置。
【請求項７】
前記エフェクト部は、前記観察距離が前記境界値に近づくにしたがって前記エフェクトを減少させることを特徴とする請求項６に記載の画像表示装置。
【請求項８】
前記立体オブジェクトは、雲を有する天体を模したオブジェクトであって、
マッピング方法の切り替えの前後において、前記立体オブジェクトを覆う雲を通り抜ける演出を実行する雲演出部、を更に備えることを特徴とする請求項１に記載の画像表示装置。
【請求項９】
前記球座標マップ画像または前記キューブマップ画像がマッピングされる前記立体オブジェクト表面上の位置によって、マッピング方法の切り替え判断基準となる前記境界値を異ならせることを特徴とする請求項１に記載の画像表示装置。
【請求項１０】
立体オブジェクトを含む仮想空間を生成するステップと、
ユーザから、前記仮想空間内における視点の指定を検出するステップと、
前記視点から前記立体オブジェクト表面までの距離である観察距離と所定の境界値との長短を比較するステップと、
前記観察距離が前記境界値よりも大きいとき、前記立体オブジェクトの表面にマッピングされるべき画像であるキューブマップ画像を前記立体オブジェクトにマッピングするステップと、
前記観察距離が前記境界値以下であるとき、前記立体オブジェクトの表面にマッピングされるべき画像として、球座標に対応づけて画素が格納された球座標マップ画像を前記立体オブジェクトにマッピングするステップと、
を実行させることを特徴とする画像表示方法。
【請求項１１】
仮想空間内にある立体オブジェクトの表面にマッピングされるべき画像として、球座標に対応づけて画素が格納された球座標マップ画像を保持する機能と、
前記立体オブジェクトの表面にマッピングされるべき画像として、キューブマップ画像を保持する機能と、
ユーザから、前記仮想空間内における視点の指定を検出する機能と、
前記視点から前記立体オブジェクト表面までの距離である観察距離が所定の境界値よりも大きいときには、前記キューブマップ画像を前記立体オブジェクトにマッピングし、前記観察距離が前記境界値以下であるときには、前記球座標マップ画像を前記立体オブジェクトにマッピングする機能と、
をコンピュータに発揮させることを特徴とする画像表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像制御技術に関連し、特に、３次元画像表示技術に関する。
【背景技術】
【０００２】
近年、地球を模した立体オブジェクト、いわば、「仮想地球」をさまざまな角度から観察可能なアプリケーション・ソフトウェアが広く利用されつつある（以下、このようなアプリケーション・ソフトウェアのことを「仮想地球儀アプリケーション」とよぶ）。
【０００３】
仮想地球儀アプリケーションでは、人工衛星や航空機から実際の地球（以下、「仮想地球」と区別するために「実地球」とよぶ）を撮影したときの実写画像を仮想地球の表面に貼り付けることも多い。このような仮想地球儀アプリケーションの実現には、インターネットやコンピュータ・グラフィックス技術の発達に加えて、ＮＡＳＡ（National Aeronautics and Space Administration）による衛星写真の無償提供も大きく寄与している。衛星写真が貼り付けられた仮想地球をさまざまな位置から観察することにより、あたかも宇宙空間から実地球を眺めているかのようなユーザインタフェースが実現される。立体的な仮想地球を俯瞰しながら目的地を探すというユーザインタフェースのおもしろさにより、仮想地球儀アプリケーションは注目を集めている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、衛星写真が貼り付けられた仮想地球をさまざまな位置から観察できるユーザインタフェースを提供したとしても、ユーザには実地球を眺めているという実感が湧かない、言い換えれば「写実性」とでもいうべきものがともなわないことがある。たとえば、高度５００メートルから実地球を見たときには、地上の構造物や山脈、河川がくっきりと見える。一方、高度１万メートルから実地球を見たときには、地表面は大気中の水蒸気によって霞んで見えるかもしれない。また、地表面の一部は月の影や雲によって隠されているかもしれない。このように、実地球の「見え方」は高度によってさまざまに変化する。特に、遠距離から実地球を眺める場合には、遠距離観察にともなう写実性が重要である。
【０００５】
本発明は、本発明者の上記認識に基づいてなされたものであり、その主たる目的は、立体オブジェクトと視点との距離に対応するかたちにて立体オブジェクトを写実的に表現するための技術、を提供することである。
【課題を解決するための手段】
【０００６】
本発明のある態様は、画像表示装置に関する。
この装置は、仮想空間内にある立体オブジェクトの表面に貼り付けるべき画像として、球座標マップ画像とキューブマップ画像をそれぞれ保持する。
この装置は、ユーザが指定する視点から立体オブジェクト表面までの距離を観察距離とし、この観察距離が所定の境界値よりも大きいときには、キューブマップ画像を立体オブジェクトにマッピングし、観察距離が境界値以下であるときには、球座標マップ画像を立体オブジェクトにマッピングする。
【０００７】
なお、本発明を方法、システム、プログラム、記録媒体により表現したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば、立体オブジェクトを仮想空間においていっそう写実的に表現しやすくなる。
【発明を実施するための最良の形態】
【０００９】
図１は、仮想地球２０２と視点の関係を示す模式図である。
画像表示装置１００は、コンピュータ・グラフィックスにより３次元の仮想空間２００を生成する。仮想空間２００には仮想地球２０２が含まれる。仮想地球２０２は、実地球を模した球体状の立体オブジェクトである。ユーザは、仮想空間２００内の任意の位置に視点を移動して仮想地球２０２を観察する。
【００１０】
観察画像２０４ａは、座標Ａから仮想地球２０２を眺めたときの２次元画像である。以下、仮想空間内の所定の視点位置から仮想地球２０２を見た場合にスクリーンに投影される２次元画像のことを「観察画像」とよぶ。航空機から見た実地球の姿と人工衛星軌道から見た実地球の姿、あるいは、月軌道から見た実地球の姿は互いに異なる。低空から地表面を眺めると木々や町並みがくっきり見えるが、高空から地表面を眺めたときには大気中の水蒸気によって地表は霞んで見える。また、雲や月の影によって地表面の一部が隠されることもある。実地球を俯瞰したときの映像に近い写実的な観察画像２０４を生成するためには、視点と仮想地球２０２との距離に応じて画像表現方法を変化させる必要がある。本実施例に示す画像表示装置１００は、視点と仮想地球２０２との距離に応じた写実性を提供できる。
【００１１】
ユーザが視点を座標Ａに設定すると、画面には観察画像２０４ａが表示される。座標Ａは仮想地球２０２の地表面に近いため、観察画像２０４ａには、山脈や港湾、街といった地表面の詳細が表現される。
一方、観察画像２０４ｂは、座標Ｂを視点として仮想地球２０２を眺めたときの画像である。座標Ｂは座標Ａに比べると地表から遠い。そのため、観察画像２０４ｂでは、地表面の詳細はくっきり表現されないが、代わりに仮想地球２０２全体の明暗がはっきりと表現されている。
【００１２】
本実施例においては、実地球の実写画像やコンピュータ・グラフィックスにより実地球を模した画像をベースとして観察画像を生成する。以下、このベースとなる画像のことを「基本ソース画像」とよぶ。実写に基づく基本ソース画像の場合、実地球を撮影したときの高度や位置はさまざまである。また、広角レンズにより広い範囲を対象として撮影された基本ソース画像もあれば、望遠レンズにより狭い範囲を対象として詳細に撮影された基本ソース画像もある。このように、基本ソース画像によって画像の「詳細度」もさまざまである。たとえば、１画素が１メートル×１メートルに対応する詳細度の高い、すなわち、精緻な基本ソース画像もあれば、１画素が１５０メートル×１５０メートルに対応する詳細度の低い、すなわち、粗い基本ソース画像もある。位置や詳細度といった観察条件の異なるさまざまな基本ソース画像は、「球座標マップ画像」または「キューブマップ画像」の２種類の形式にて保持される。観察画像２０４中における所定点Ｐの画素値は、点Ｐに対応する地球表面上の点Ｑの２次元パラメータ座標に基づいて、球座標マップ画像またはキューブマップ画像のいずれかのテクスチャから対応するテクセル値を読み出し、点Ｑにテクスチャマッピングすることによって求められるが、詳細は後述する。
【００１３】
図２（ａ）、図２（ｂ）、図２（ｃ）は、球座標マップ画像と詳細度との関係を示す模式図である。
図２（ａ）の球体２０６ａは、仮想地球２０２を包含する形状として想定された球体である。この球体２０６ａの表面は複数の格子状領域２０８に分割される。同図においては、北極と南極を結ぶ軸を中心として、緯度・経度に平行するかたちで各格子状領域２０８が設定される。図２（ａ）の球体２０６ａの場合、８枚の格子状領域２０８に分割される。
各格子状領域２０８は、メルカトル図法等の既知の方法により平面展開される。格子状領域２０８は、所定画素数により表現される平面状の球座標マップ画像２５０と対応づけられる。図２（ａ）においては、格子状領域２０８ａに対応するのは球座標マップ画像２５０ａである。各球座標マップ画像２５０は画像メモリに保持される。ここでいう画像メモリは、フラッシュディスクなどの不揮発性メモリであることが好ましい。球形状の格子状領域２０８を平面形状の球座標マップ画像２５０に変換するため、極点付近の格子状領域２０８の一部が大きく引き延ばされることになる。
【００１４】
図２（ｂ）の球体２０６ｂも、仮想地球２０２を包含する形状の球体であるが、球体２０６ｂの表面は、図２（ａ）の８枚の格子状領域をさらに緯度・経度方向に２分割した３２枚の格子状領域２０８に分割される。球体２０６ｂにおける格子状領域２０８ｂも、所定画素数の球座標マップ画像２５０と対応づけられる。図２（ｂ）においては、格子状領域２０８ｂに対応するのは球座標マップ画像２５０ｂである。格子状領域２０８ａの球座標マップ画像２５０ａと格子状領域２０８ｂの球座標マップ画像２５０ｂは、対象領域の大きさは異なっても、表現に要する画素数は同じである。球体２０６ａに比べて球体２０６ｂは、より多くの格子状領域２０８に分割されている。そのため、格子状領域２０８ａの球座標マップ画像２５０ａに比べると格子状領域２０８ｂの球座標マップ画像２５０ｂの方が、狭い範囲を詳細に表現できることになる。すなわち、格子状領域２０８ａの球座標マップ画像２５０ａよりも、格子状領域２０８ｂの球座標マップ画像２５０ｂの方が詳細度が高い。図２（ｃ）の球体２０６ｃの表面は、図２（ｂ）の３２枚の格子状領域をさらに緯度・経度方向に２分割した１２８枚の格子状領域２０８に分割されている。このため、球体２０６ｃの格子状領域２０８ｃは、図２（ａ）から図２（ｃ）に示す３つの球体２０６の中で、最も詳細度の高い球座標マップ画像２５０ｃが対応づけられる。詳しくは後述するが、本実施例における詳細度は、レベル０からレベル８の９段階に分けられる。レベル０（Ｌ０）は、詳細度が最も低いかわりに球座標マップ画像２５０がカバーする範囲が最も広い。レベル８（Ｌ８）は、詳細度が最も高いかわりに球座標マップ画像２５０がカバーする範囲は最も狭い。図２（ａ）〜図２（ｃ）の場合、球体２０６ｃ、球体２０６ｂ、球体２０６ａの順に詳細度レベルが高い。
【００１５】
画像表示装置１００は、格子状領域２０８の分割方法において異なる複数種類の球体を想定し、各球体それぞれについて詳細度が異なる複数種類の球座標マップ画像２５０を用意しておく。まず、仮想地球２０２の表面から視点までの距離に応じて詳細度が特定される。図８に関連して後述するが、この距離が大きいほど詳細度は低くなる。
【００１６】
図３（ａ）、図３（ｂ）、図３（ｃ）は、球座標マップ画像２５０を仮想地球２０２の表面にマッピングすることにより、観察画像の画素値を求める方法を説明する図である。
特定された詳細度の球座標マップ画像２５０に基づいて観察画像を生成するとき、観察画像中の点Ｐにおける画素値は、以下のテクスチャマッピングの処理にて求められる。まず、対象点Ｐの位置を観察画像のスクリーン座標（ｘ，ｙ）により特定する。点Ｐ（ｘ，ｙ）に対応する仮想地球２０２の表面上の点Ｑの２次元パラメータ座標は、図３（ａ）のように、仮想地球２０２に対して定められる緯度θ、経度φの組合せである球座標（θ，φ）により特定される。ここで、経度φは、地点Ｑ、北極点、および南極点を通る大円と、グリニッジ子午線とがなす角度であり、東経には＋、西経には−をつけて０〜１８０度の角度で表される。緯度θは、地点Ｑにおける天頂の方向と赤道面とがなす角度であり、北緯には＋、南緯には−をつけて０〜９０度の角度で表される。
【００１７】
次に、点Ｑにマッピングされるべきテクスチャである球座標マップ画像２５０を特定する。格子状にメモリ展開された球座標マップ画像２５０のいずれをテクスチャとして使用するかは、点Ｑの球座標（θ，φ）の値の範囲により決めることができる。図３（ｂ）のように、８枚の格子状領域からなる球座標マップ画像２５０を用いる場合を考える。図３（ｂ）の球座標マップ画像２５０は、経度φの範囲によってＡ〜Ｄの４つの領域に分けられている。経度θが０〜９０度の範囲ではＡ領域の画像が、９０〜１８０度の範囲ではＢ領域の画像が、−１８０〜−９０度の範囲ではＣ領域の画像が、−９０〜０度の範囲ではＤ領域の画像がそれぞれ使われる。さらに、この球座標マップ画像２５０は、緯度θの範囲によって、アルファベットＡ〜Ｄの前に付した＋／−の符号で区別される２つの領域に分けられている。緯度θが０〜９０度の範囲では、＋Ａ〜＋Ｄのいずれかの領域の画像が使われ、緯度θが−９０〜０度の範囲では、−Ａ〜−Ｄのいずれかの領域の画像が使われる。
たとえば、点Ｑの緯度θが４０度、経度φが５０度であれば、＋Ａ領域の画像（符号２５０ａ）が使用すべきテクスチャとして特定される。特定したテクスチャから点Ｑの２次元パラメータ座標（θ，φ）に基づいてテクセル値を読み出し、点Ｑにマッピングする。点Ｑにマッピングされたテクセル値が観察画像中の点Ｐにおける画素値となる。
【００１８】
詳細度が高い球座標マップ画像２５０を用いる場合も、緯度θ、経度φの範囲の区切り方が異なる以外は同様である。図３（ｃ）の３２枚の格子状領域からなる球座標マップ画像２５０は、経度φの範囲の４５度ずつ区切ることで経度の方向にＡ〜Ｈの８つの領域に分けられる。さらに、この球座標マップ画像２５０は、緯度θの範囲を４５度ずつ区切ることで緯度の方向に４つの領域に分けられる。緯度θが０〜４５度の範囲では＋Ａ１〜＋Ｈ１のいずれかの領域の画像が、４５〜９０度の範囲では＋Ａ２〜＋Ｈ２のいずれかの領域の画像が、−４５〜０度の範囲では−Ａ１〜−Ｈ１のいずれかの画像が、−９０〜−４５度の範囲では−Ａ２〜−Ｈ２のいずれかの画像がそれぞれ使われる。たとえば、点Ｑの緯度θが４０度、経度φが５０度であれば、＋Ｂ１領域の画像（符号２５０ｂ）が使用すべきテクスチャとして特定され、点Ｑの２次元パラメータ座標（θ，φ）にもとづいてテクセル値が読み出され、点Ｑにマッピングされる。
【００１９】
以下、このような球座標マップ画像２５０の仮想地球２０２へのマッピングを「球マッピング」とよぶ。
【００２０】
図４（ａ）、図４（ｂ）、図４（ｃ）は、キューブマップ画像と詳細度との関係を示す模式図である。
図４（ａ）の立方体２１０ａは、仮想地球２０２を包含する形状として想定された立方体である。この立方体２１０ａの表面は複数の格子状領域２１２に分割される。同図においては、北極側を上面、南極側を底面とするかたちで、立方体２１０が設定される。図４（ａ）の立方体２１０ａの場合、６枚の格子状領域２１２に分割される。各格子状領域２１２も平面展開される。各格子状領域２１２は、所定画素数の平面状のキューブマップ画像２５２と対応づけられる。図４（ａ）においては、格子状領域２１２ａに対応するのはキューブマップ画像２５２ａである。各格子状領域２１２のキューブマップ画像２５２は、画像メモリに保持される。
【００２１】
図４（ｂ）の立方体２１０ｂの表面は、図４（ａ）の６枚の格子状領域をさらに縦横にそれぞれ２分割した２４枚の格子状領域２１２に分割される。立方体２１０ｂの格子状領域２１２ｂのキューブマップ画像２５２ｂも、所定画素数の画像として保持される。格子状領域２１２ａのキューブマップ画像２５２ａに比べると格子状領域２１２ｂのキューブマップ画像２５２ｂの方が、狭い範囲を詳細に表現できることになる。図３（ｃ）の立方体２１０ｃの表面は、図４（ｂ）の２４枚の格子状領域をさらに縦横にそれぞれ２分割した９６枚の格子状領域２１２に分割されている。このため、立方体２１０ｃの格子状領域２１２ｃは、図４（ａ）から図４（ｃ）に示す３つの立方体２１０の中で、最も詳細度の高いキューブマップ画像２５２が対応づけられる。キューブマップ画像２５２も、球座標マップ画像２５０と同様に、後述のようにレベル０からレベル８の９段階の詳細度をもつ。
【００２２】
画像表示装置１００は、格子状領域２１２の分割の仕方において異なる複数種類の立方体を想定し、各立方体それぞれについて詳細度が異なる複数種類のキューブマップ画像２５２を用意しておく。まず、仮想地球２０２の表面から視点までの距離に応じて詳細度が特定される。
【００２３】
図５および図６を参照して、キューブマップ画像２５２を仮想球体２０２の表面にマッピングすることにより、観察画像の画素値を求める方法を説明する。
【００２４】
図５（ａ）、図５（ｂ）は、立方体２１０の各面と、キューブマップ画像２５２の各格子状領域の対応関係を説明する図である。図５（ａ）のように、立方体２１０の各面がワールド座標系（ｘ，ｙ，ｚ）のｘｙ面、ｙｚ面、ｚｘ面に対して平行になるように設定する。立方体２１０の各面の向きは、＋Ｘ、−Ｘ、＋Ｙ、−Ｙ、＋Ｚ、−Ｚの６方向であり、これらの６方向により立方体２１０の各面を識別する。図５（ｂ）は、図５（ａ）の立方体２１０を展開して得られるキューブマップ画像２５２である。＋Ｘ、−Ｘ、＋Ｙ、−Ｙ、＋Ｚ、−Ｚの各面のテクスチャに対してテクスチャ座標系（Ｓ，Ｔ）が定義される。６方向のいずれかの面のテクスチャを特定して、テクスチャ座標値（Ｓ，Ｔ）を指定することにより、特定されたテクスチャの指定された座標のテクセルを読み出すことができる。
【００２５】
図６（ａ）、図６（ｂ）、図６（ｃ）は、キューブマップ画像２５２を仮想球体２０２の表面にマッピングすることにより、観察画像の画素値を求める方法を説明する図である。
特定されたキューブマップ画像２５２に基づいて観察画像を生成するとき、観察画像中の点Ｐにおける画素値は、以下のテクスチャマッピングの処理にて求められる。まず、対象点Ｐの位置を観察画像のスクリーン座標（ｘ，ｙ）により特定する。点Ｐ（ｘ，ｙ）に対応する仮想地球２０２の表面上の点Ｑの２次元パラメータ座標は、図６（ａ）のように、仮想地球２０２に対して定められる緯度θ、経度φの組合せである球座標（θ，φ）により特定される。
【００２６】
次に、点Ｑにマッピングされるべきテクスチャであるキューブマップ画像２５２を特定する。キューブマップ画像２５２のいずれの面をテクスチャとして使用するかは、点Ｑの球座標（θ，φ）により定まる方位により決めることができる。仮想球体２０２の中心と点Ｑを結ぶ直線が立方体２１０のいずれの面と交わるかを判定する。図６（ａ）の例では、仮想球体２０２の中心と点Ｑを結ぶ直線は立方体２１０の＋Ｚ面と交点Ｒにおいて交わる。交点Ｒの＋Ｚ面における座標値すなわちテクスチャ座標（Ｓ，Ｔ）を求めておく。図６（ｂ）のように、６枚の格子状領域からなるキューブマップ画像２５２を用いる場合は、キューブマップ画像２５２の＋Ｚ面のテクスチャ（符号２５２ａ）が使用すべきテクスチャとして特定される。特定したテクスチャから点Ｒのテクスチャ座標（Ｓ，Ｔ）に対応するテクセル値を読み出して点Ｑにマッピングする。このようにしてキューブマッピングの手法によって点Ｑにマッピングされたテクセル値が観察画像中の点Ｐにおける画素値となる。
【００２７】
詳細度が高いキューブマップ画像２５２を用いる場合も、テクスチャの解像度が高くなる以外は同様である。図６（ｃ）の２４枚の格子状領域からなるキューブマップ画像２５２を用いる場合も、キューブマップ画像２５２の＋Ｚ面のテクスチャ（符号２５２ｂ）が使用すべきテクスチャとして特定される。図６（ｃ）のテクスチャの解像度は図６（ｂ）のテクスチャの解像度の２倍である。この２倍の解像度をもつテクスチャから点Ｒのテクスチャ座標（Ｓ，Ｔ）に対応するテクセル値が読み出され、点Ｑにマッピングされる。
【００２８】
以下、このようなキューブマップ画像２５２の仮想地球２０２へのマッピングを「キューブマッピング」とよぶ。
【００２９】
詳細度の異なるキューブマップ画像２５２は、ミップマップ（MIP-MAP）テクスチャで構成することができる。
図７（ａ）、図７（ｂ）、図７（ｃ）、図７（ｄ）は、キューブマップ画像２５２のミップマップ構造を説明する図である。キューブマップ画像２５２は、図７（ａ）のように立方体の面ごとに詳細度レベル１〜３のテクスチャを並べたデータ構造を有する。レベル１の６枚のテクスチャは、各面が低解像度のテクスチャで構成される図７（ｂ）のキューブマップ画像に対応する。レベル２の６枚のテクスチャは、図７（ｂ）の低解像度のテクスチャに比べて解像度が縦横とも２倍になった中解像度のテクスチャで各面が構成された図７（ｃ）のキューブマップ画像に対応する。レベル３の６枚のテクスチャは、図７（ｃ）の中解像度のテクスチャに比べて解像度がさらに縦横とも２倍になった高解像度のテクスチャで各面が構成された図７（ｄ）のキューブマップ画像に対応する。
【００３０】
球座標マップ画像は、仮想地球２０２の表面上の位置を定める緯度および経度の組合せである球座標に対応づけて画素値を格納したテクスチャであるため、仮想地球２０２にテクスチャマッピングされたときの画層の歪みが少ないという利点がある。そのため、球座標マップは、衛星写真から得られた実写画像を格納するのにより適している。ただし、極座標には極点が存在するというデメリットがあり、北極や南極といった極点に近づくほど格子状領域２０８の画像が引き延ばされるため球座標マップ画像２５０の歪みが大きなってしまう。そして極点においては、複数の球座標マップ画像２５０が一転に集中してマッピングされることになるため、極点を上部から観察すると、極点に向かう集中線が描画されることになり、描画品質が著しく劣化するという不都合が生じる。
【００３１】
一方、キューブマップ画像の場合、立方体の６方向から見た地球の画像をテクスチャとしてもつことになるため、データ構造上は球座標マップ画像にような特異点が存在せず、極点に向かって集中線が生じるという問題は発生しない。ただし、通常は球座標のデータ構造で提供される衛星写真をキューブマップ画像に移し替えるには前処理が必要となるというデメリットがある。しかしながら、キューブマッピングはコンピュータグラフィックスの分野で確立した技術であるから、さまざまなコンピュータグラフィックスのエフェクト技術を利用できるという利点がある。中にはキューブマップ画像を前提としてエフェクト処理を行うためのロジックがハードウェアとして組み込まれていることもある。このため、キューブマップ画像を仮想地球２０２にマッピングする場合、グロウシェーディング（gouraud shading）やバイリニアフィルタリング（bi-liner filtering）、フォグ（Fog）といったさまざまなエフェクト技術を利用しやすいというメリットがある。そのため、キューブマップ画像には、衛星写真のような地球の実写画像そのものを使うよりは、物理シミュレーションなどの計算によって生成される仮想的な地球の画像を利用することがより適切であることも多い。
【００３２】
そこで、画像表示装置１００は、仮想地球２０２の地表面近くに視点が設定されるときには、マッピング時の歪みが小さく地表面を正確に表現しやすい球マッピングを実行し、視点が仮想地球２０２から遠く離れるときには、仮想地球２０２全体を俯瞰しやすく宇宙から見た地球の様子を演出しやすいキューブマッピングを実行する。こうして仮想地球２０２にマッピングされた球座標マップ画像またはキューブマップ画像に基づいて、観察画像全体が生成される。このような処理方法により、近距離だけでなく遠距離から観察しても写実的な観察画像を生成しやすくなっている。
【００３３】
図８は、詳細度を説明するための模式図である。
視点２１４ａから仮想地球２０２を所定画角にて観察したときにカバーされる範囲は、観察範囲２１６ａである。視点２１４ａよりも遠い視点２１４ｂから仮想地球２０２を上記画角にて観察したときカバーされる範囲は、観察範囲２１６ｂである。更に、遠い視点２１４ｃから仮想地球２０２を上記画角にて観察したときにカバーされる範囲は、観察範囲２１６ｃである。
【００３４】
観察範囲２１６ａは、３つの観察範囲２１６の中で範囲は最も狭いが、地表を最も詳細に観察できる。すなわち詳細度は３つの視点２１４ａ、ｂ、ｃの中で最も高い。一方、観察範囲２１６ｃは、３つの観察範囲２１６ａ、ｂ、ｃの中で最も範囲が大きいが、その分だけ詳細度は最も低くなっている。このように、視点と仮想地球２０２との距離に応じて詳細度が特定される。
【００３５】
図９は、観察距離と詳細度との関係を説明するための模式図である。
先述したように、詳細度は、レベル０からレベル８の９段階に分けられる。レベル０（Ｌ０）は、詳細度が最も低いかわりに観察範囲２１６が最も広く、レベル８は詳細度が最も高いかわりに観察範囲２１６は最も狭い。視点が仮想地球２０２の表面から遠いときにはキューブマップ画像、近いときには球座標マップ画像が仮想地球２０２にマッピングされる。キューブマッピングと球マッピングのいずれを採用するかは、視点から仮想地球２０２の地表面までの距離（以下、「観察距離」とよぶ）によって決定される。
【００３６】
仮想地球２０２の地表面からは所定の「境界距離」が設定される。この境界距離の値のことを「境界値」とよぶ。境界面２１８は、仮想地球２０２の地表面から境界距離だけ離れた面を示す。観察距離が境界距離よりも長いとき、いいかえれば、視点が境界面２１８の外にあるときには、キューブマップ画像がマッピングされる。一方、観察距離の大きさが境界値以下のときには球座標マップ画像がマッピングされる。以下においては、仮想地球２０２から境界面２１８までの空間を「近距離圏」、境界面２１８よりも遠い空間を「遠距離圏」とよぶ。
【００３７】
ここで、視点を遠距離圏の点Ｈから仮想地球２０２の地表面上の点Ｏに向けて移動させる。点Ｏは、点Ｈの仮想地球２０２表面に対する投影点である。点Ｏから近い順に、点Ａ、Ｂ、Ｃ、・・・、Ｈと一直線上に並ぶものとする。
【００３８】
観察距離が線分ＯＨよりも大きいときには、レベル０のソース画像に基づくキューブマップ画像（以下、「キューブマップ画像（Ｌ０）」のように表記する）が仮想地球２０２にマッピングされる。視点が点Ｈよりも地表面に近づき線分ＧＨ上に至ると、キューブマップ画像（Ｌ０）ではなくキューブマップ画像（Ｌ１）がマッピングされる。このように、視点が点Ｈよりも仮想地球２０２側に動くと、マッピングすべきキューブマップ画像が切り替わる。
【００３９】
視点が点Ｇよりも地表面に近づき点ＦＧ上に至るとキューブマップ画像（Ｌ２）、視点が線分ＥＦ上に至るとキューブマップ画像（Ｌ３）がマッピングされる。視点が点Ｅよりも地表面に近づくとキューブマップ画像（Ｌ４）がマッピングされる。境界距離は線分ＯＤよりも長く、線分ＯＥよりも短く設定されている。このため、視点が線分ＤＥ上を仮想地球２０２に向かって移動し続け、視点が境界面２１８を通り抜けると、すなわち、観察距離が境界値以下となると、キューブマップ画像（Ｌ４）ではなく球座標マップ画像（Ｌ４）がマッピングされる。視点が点Ｄを通過し線分ＣＤ上に至ると、球座標マップ画像（Ｌ５）がマッピングされる。このように仮想地球２０２に近づくほど、詳細度のレベルが高いマップ画像がマッピング対象として選択される。観察距離が境界値以下となったときには、キューブマッピングから球マッピングにマッピング方法が切り替えられる。仮想地球２０２から視点が遠ざかるときにはちょうど逆プロセスとなる。
【００４０】
画像表示装置１００においては、キューブマッピングと球マッピングの見た目上の切り替えをスムーズにするために、いくつかの工夫が施されている。
（１）まず、線分ＤＥ上を視点が移動するときには、同一詳細度のマップ画像がマッピング対象として選択されている。図９の場合、視点が線分ＤＥ上にあって、遠距離圏側にあるときにはキューブマップ画像（Ｌ４）がマッピングされ、近距離圏側にあるときには同じ詳細度の球座標マップ画像（Ｌ４）がマッピングされる。キューブマッピングであっても球マッピングであっても、マッピングの切り替えに際しては同一詳細度のマップ画像が選択されるので、マッピング方法の切り替えにともなう見た目上の違和感が抑制される。
【００４１】
（２）視点が遠距離圏にあるとき、すなわち、キューブマップ画像がマッピングされるときには、仮想地球２０２に対してはさまざまなエフェクトが施される。たとえば、太陽光によって仮想地球２０２の水平線を光らせたり、月の影による陰影をつけたり、あるいは、大気中の水蒸気によって地表が霞む様子を演出表現する。画像表示装置１００は、キューブマップ画像がマッピングされた仮想地球２０２に複数種類のエフェクトを施す。遠距離圏にある視点が境界面２１８に近づくにしたがって施すべきエフェクトの種類が削減される。たとえば、視点が点Ｈよりも遠いときには、５種類のエフェクトを施すとする。視点が線分ＧＨ上にあるときには、４種類のエフェクトを施す。視点が線分ＦＧ上にあるときには３種類のエフェクトを施し、視点が線分ＤＥ上にあるときにはすべてのエフェクトを無効化する。遠距離圏の視点が境界面２１８に近づくにしたがって施すべきエフェクトの種類を削減していくことにより、マッピング方法の切り替えにともなう見た目上の変化からユーザの注目をそらしている。
なお、エフェクトの種類を削減するだけでなく、エフェクトの量を減少させてもよい。たとえば、太陽光の照り返しを表現するために鏡面反射光によるエフェクト表現を行う場合、視点が境界面２１８に近づくにしたがって入射光の設定値を弱めてもよい。
【００４２】
（３）視点が境界面２１８を通過するとき、雲の中を通り抜ける演出が実行される。仮想空間２００においては、境界面２１８を薄く包む切替圏２２０が設定される。視点が切替圏２２０に入ると、雲の演出を実行する。このような処理方法によってもマッピング方法の切り替えにともなう見た目の上の違和感を抑制しやすくなる。
【００４３】
図１０は、境界距離と仮想地球２０２との関係を示す模式図である。
上述したように、球マッピングの場合、極点に集中線が発生する。極点付近の格子状領域２０８の形状が三角形となるため、各三角形の頂点が極点に集中するためである。一方、キューブマッピングの場合、仮想地球２０２全体について比較的均等にマッピングできる。そこで、極点付近では境界距離が短くなるように境界面２１８を設定する。
このような設定によれば、視点が極点近くにあるときには、視点が仮想地球２０２の地表面近くに至るまでキューブマッピングが実行される。すなわち、視点が極点付近にあるときには集中線の発生しないキューブマッピングが優先的に選択される。
【００４４】
図１１は、画像表示装置１００の機能ブロック図である。
ここに示す各ブロックは、ハードウェア的には、コンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００４５】
画像表示装置１００は、ユーザインタフェース処理部１１０、データ処理部１２０およびデータ保持部１４０を含む。
ユーザインタフェース処理部１１０は、ユーザからの入力処理やユーザに対する情報表示のようなユーザインタフェース全般に関する処理を担当する。データ処理部１２０は、ユーザインタフェース処理部１１０を介した入力操作を元にして各種のデータ処理を実行する。データ処理部１２０は、ユーザインタフェース処理部１１０とデータ保持部１４０の間のインタフェースの役割も果たす。データ保持部１４０は、予め用意された各種の設定データや、データ処理部１２０から受け取ったさまざまなデータを格納する。
【００４６】
ユーザインタフェース処理部１１０は、入力部１１２と表示部１１４を含む。入力部１１２はユーザからの入力操作を受け付ける。表示部１１４は、観察画像などの各種情報を画面表示させる。
【００４７】
データ保持部１４０は、球座標マップ画像保持部１４４およびキューブマップ画像保持部１４６を含む。球座標マップ画像保持部１４４は、詳細度において異なる複数種類の球座標マップ画像を保持する。画像メモリ２４０に対応する。キューブマップ画像保持部１４６は、詳細度において異なる複数種類のキューブマップ画像を保持する。キューブマップ画像保持部１４６も画像メモリ２４０に対応する。
【００４８】
データ処理部１２０は、マッピング部１２２、位置検出部１２８、エフェクト部１３６および雲演出部１３８を含む。
マッピング部１２２は、各種マップ画像を仮想地球２０２にマッピングする。マッピング部１２２は、球マッピング部１２４、キューブマッピング部１２６およびマッピング選択部１３２を含む。マッピング選択部１３２は、観察距離と境界値を比較して、キューブマップ画像と球座標マップ画像のいずれを仮想地球２０２にマッピングするか判定する。また、観察距離に応じて、マップ画像の詳細度を決定する。球マッピング部１２４は、マッピング選択部１３２が球マッピングを選択するとき、指定された詳細度の球座標マップ画像を仮想地球２０２にマッピングする。キューブマッピング部１２６は、マッピング選択部１３２がキューブマッピングを選択するとき、指定された詳細度のキューブマップ画像を仮想地球２０２にマッピングする。
【００４９】
位置検出部１２８は、ユーザが入力部１１２を介して指定した視点の座標を検出する。
エフェクト部１３６は、視点が遠距離圏にあるときに仮想地球２０２にさまざまなエフェクトを施す。また、観察距離に応じて実行すべきエフェクトと無効にすべきエフェクトを特定する。雲演出部１３８は、視点が境界面２１８を包む切替圏２２０を通過するときに、雲の中を通り抜ける動画像を表示させる。
【００５０】
図１２は、マッピング処理過程を示すフローチャートである。
ユーザが仮想空間２００内における視点を変更したとき、図１２に示す処理が開始される。まず、位置検出部１２８は、変更後の視点の座標を検出する（Ｓ１０）。視点が近距離圏内であれば（Ｓ１２のＹ）、マッピング選択部１３２は球マッピングを選択する（Ｓ１４）。このとき観察距離に応じて詳細度も決定される。球マッピング部１２４は、球座標マップ画像保持部１４４から該当する球座標マップ画像を読み出し、仮想地球２０２にマッピングする（Ｓ１６）。
【００５１】
一方、遠距離圏内であれば（Ｓ１２のＮ）、マッピング選択部１３２はキューブマッピングを選択する（Ｓ１８）。このとき観察距離に応じて詳細度も決定される。キューブマッピング部１２６は、キューブマップ画像保持部１４６から該当するキューブマップ画像を読み出し、仮想地球２０２にマッピングする（Ｓ２０）。エフェクト部１３６は、観察距離に応じて各種エフェクトの実行可否を判定する（Ｓ２２）。エフェクトを施すときには（Ｓ２２のＹ）、観察距離に応じて複数種類のエフェクトの全部または一部を施す（Ｓ２４）。視点が境界面２１８に近く、エフェクト不要であるときには（Ｓ２２のＮ）、Ｓ２４はスキップされる。
【００５２】
表示部１１４は、キューブマップ画像または球座標マップ画像のマッピングにより観察画像を表示させる（Ｓ２５）。
雲演出部１３８は、視点が切替圏２２０内にあるか判定する（Ｓ２６）。雲演出部１３８は、視点がこの切替圏２２０内にあるときに（Ｓ２６のＹ）、雲を示す画像を観察画像上に重ねあわせる（Ｓ２８）。
【００５３】
球マッピングは、球座標マップ画像を仮想地球２０２にマッピングするときに歪みが小さいため、地表面を詳細に示す上で有利である。一方、視点が仮想地球２０２から遠いときには、キューブマッピングにおける多彩なエフェクト技術を使用できるため、実地球を宇宙空間から眺めたときの雰囲気を再現しやすくなる。視点が仮想地球２０２から遠いときには、キューブマップ画像を仮想地球２０２にマッピングするときの歪みの影響も小さくなる。このように、球マッピングとキューブマッピングを相補的に活用することにより、仮想地球２０２と視点との距離に対応したかたちにて、仮想地球２０２を写実的に表現できる。
【００５４】
タンジェント空間などに基づく公知のレンダリング技術は、球マッピングよりもキューブマッピングに親和性があり、キューブマップ画像については、雲の表面を立体的に見せたり雲の影を作るといったエフェクトを施しやすい。
【００５５】
更に、詳細度が異なる球座標マップ画像、または、キューブマップ画像をマッピングすることにより、観察距離に応じた写実性を実現しやすいマップ画像を選択できる。マッピング方法の切り替え、すなわち、キューブマッピングと球マッピングの切り替えに際しては、同一詳細度のマップ画像を選択し、エフェクトの種類の変更、雲を通り抜ける演出により、切り替えにともなう見た目上の違和感を抑制している。
【００５６】
本実施例においては地球をモチーフとして説明したが、地球などの天体に限らず、仮想空間において表現可能なさまざまな物体に本発明を応用可能である。また、本実施例においては、「キューブマッピング」については立方体を対象として説明したが、立方体に限らず、対象物の形状に応じてさまざまな形状の六面体、あるいは、多面体形式のマップ画像をマッピングしてもよい。
【００５７】
仮想地球２０２の一部だけではなく、地表面全体を一画面にて見たい場合もある。ユーザからの指示に応じて、３次元球体状の仮想地球２０２を２次元平面図に展開してもよい。球体を２次元平面に展開するための方法論としては、メルカトル図法やミラー図法といったさまざまな方法論が確立されている。球座標マップ画像はメモリ上で平面展開されているから、その画像をそのまま２次元表示させれば２次元地図になる。このように、球座標マップ画像を用いた場合、仮想地球２０２を３次元表示している状態から、２次元平面の地図を表示する状態に簡単に移行できるという利点がある。球座標マッピングを用いることで、地球の３次元表示状態と平面地図表示状態の切り換えをともなうアプリケーションの開発も容易である。
【００５８】
仮想地球２０２と視点の距離が大きいときには、実写ではなくコンピュータグラフィックス画像を仮想地球２０２にマッピングしてもよい。このコンピュータグラフィックス画像は、詳細な地形データそのものでなくてもよい。まず、フラッシュメモリには詳細な地形データを配置せず、陸地と海の境界を示すベクトルデータ、都市や森林の配置を示すテクスチャデータだけを用意しておく。仮想地球２０２から視点が離れているときには、このような省サイズデータの細部をフラクタル処理により補うことにより、擬似的にマップ画像を生成してもよい。視点が仮想地球２０２に近づくと、ネットワークを介してサーバから詳細なテクスチャデータをストリーミングし、フラクタル画像のマッピングから正確・詳細な画像のマッピングに移行させてもよい。オフライン時や、ハードディスクの空き容量が乏しいときには、視点が仮想地球２０２から一定距離以内に近づかないように制御してもよい。
【００５９】
画像表示装置１００の機能は、「画像表示プログラム」というコンピュータ・プログラムとして提供されてもよい。たとえば、画像表示プログラムがＤＬＬ（Dynamic Link Library）として提供され、アプリケーション・ソフトウェアは、表現したい物体の球座標マップ画像とキューブマップ画像を用意した上で、画像表示プログラムとリンクする。このような態様によれば、アプリケーション・プログラムは、画像表示プログラムの機能を取り込むことができるため、観察距離に応じて写実的にオブジェクトの表現することができる。
【００６０】
アプリケーション・ソフトウェアがコンピュータゲーム・ソフトウェアであれば、ゲームフィールドの地形画像を球座標マップ画像、キューブマップ画像として画像表示プログラムに提供すれば、ゲームフィールドを遠近から写実的に眺める機能を実現できる。
たとえば、画像表示プログラムの機能を利用することにより、ゲームフィールド上のある地点Ａから上昇して、地点Ｂに向けて降下するという画像表現を簡易に実現できる。
【００６１】
更に、加速度センサやジャイロセンサを搭載したコントロールデバイスにより視点を動的に変化させてもよい。このような態様によれば、直感的なユーザインタフェースにて、地球をさまざまな角度から俯瞰できる。
【００６２】
以上、本発明を実施例をもとに説明した。この実施例はあくまで例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【００６３】
【図１】仮想地球と視点の関係を示す模式図である。
【図２】（ａ）は球座標マップ画像と詳細度との関係を示す第１の模式図、（ｂ）は球座標マップ画像と詳細度との関係を示す第２の模式図、（ｃ）は球座標マップ画像と詳細度との関係を示す第３の模式図である。
【図３】（ａ）は観察画像の画素値を求める方法を説明するための仮想地球の図、（ｂ）は観察画像の画素値を求める方法を説明する球座標マップ画像の第１の図、（ｃ）は観察画像の画素値を求める方法を説明する球座標マップ画像の第２の図である。
【図４】（ａ）はキューブマップ画像と詳細度との関係を示す第１の模式図、（ｂ）はキューブマップ画像と詳細度との関係を示す第２の模式図、（ｃ）はキューブマップ画像と詳細度との関係を示す第３の模式図である。
【図５】（ａ）は立方体の各面と、キューブマップ画像の各格子状領域の対応関係を説明するための立方体の図、（ｂ）は立方体の各面と、キューブマップ画像の各格子状領域の対応関係を説明するためのキューブマップ画像の図である。
【図６】（ａ）は観察画像の画素値を求める方法を説明するための仮想球体の図、（ｂ）は観察画像の画素値を求める方法を説明するためのキューブマップ画像の第１の図、（ｃ）は観察画像の画素値を求める方法を説明するためのキューブマップ画像の第２の図である。
【図７】（ａ）はキューブマップ画像のミップマップ構造を説明する第１の図、（ｂ）はキューブマップ画像のミップマップ構造を説明する第２の図、（ｃ）はキューブマップ画像のミップマップ構造を説明する第３の図、（ｄ）はキューブマップ画像のミップマップ構造を説明する第４の図である。
【図８】詳細度を説明するための模式図である。
【図９】観察距離と詳細度との関係を説明するための模式図である。
【図１０】境界距離と仮想地球との関係を示す模式図である。
【図１１】画像表示装置の機能ブロック図である。
【図１２】マッピング処理過程を示すフローチャートである。
【符号の説明】
【００６４】
１００  画像表示装置、  １１０  ユーザインタフェース処理部、  １１２  入力部、  １１４  表示部、  １２０  データ処理部、  １２２  マッピング部、  １２４  球マッピング部、  １２６  キューブマッピング部、  １２８  位置検出部、  １３２  マッピング選択部、  １３４  画像選択部、  １３６  エフェクト部、  １３８  雲演出部、  １４０  データ保持部、  １４４  球座標マップ画像保持部、  １４６  キューブマップ画像保持部、  ２００  仮想空間、  ２０２  仮想地球、  ２０４  観察画像、  ２０６  球体、  ２０８  格子状領域、  ２１０  立方体、  ２１２  格子状領域、  ２１４  視点、  ２１６  観察範囲、  ２１８  境界面、  ２２０  切替圏、  ２４０  画像メモリ、  ２４２  画像領域。
【図１】
0004980153.tif 000002
【図２】
0004980153.tif 000003
【図３】
0004980153.tif 000004
【図４】
0004980153.tif 000005
【図５】
0004980153.tif 000006
【図６】
0004980153.tif 000007
【図７】
0004980153.tif 000008
【図８】
0004980153.tif 000009
【図９】
0004980153.tif 000010
【図１０】
0004980153.tif 000011
【図１１】
0004980153.tif 000012
【図１２】
0004980153.tif 000013