説明

立体地図表示システム、立体地図の表示方法、及びそのプログラム

【課題】複雑な形の立体形状及びその実景観写真テクスチャ画像を含む立体地図の表示を高速化する。
【解決手段】演算処理をするプロセッサと、前記プロセッサに接続されたメモリとを備え、立体地図の表示情報を出力する表示システムであって、前記メモリは、座標によって予め定められた領域に区画されたベクトル立体地図データと、前記ベクトル立体地図データに貼り付けられる実景観写真テクスチャ画像とを記憶し、前記プロセッサは、前記立体地図に含まれる立体形状を構成する面毎に、表示するか否かを判定し、前記面毎に前記判定の結果を含む表示管理データを前記メモリに格納し、前記メモリに格納された表示管理データを参照して、視線方向に向き合う面のみを表示すると判定し、視線方向に向き合わない面を非表示と判定することによって、表示されるデータ量を削減することを特徴とする立体地図表示システム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は地理情報システムに関し、特に立体景観画像を高速に表示する方法に関する。
【背景技術】
【0002】
地理情報システムは、立体景観画像を写真を貼り付けて表示している。しかし、現状の計算機の能力では、立体地図のスクロールによって立体地図の表示を変更する場合、表示に必要な計算量が非常に多くなり、キーやマウスを操作することによってスクロールを指示しても、表示が追従できない。このため、スクロール時にビデオによる表示が行われることもある。
【0003】
一方、表示の簡略化によって、表示に必要なデータ量を削減する方法も提案されている。具体的には、特許文献1には、表示する物体の高さと、物体までの距離によって表示/非表示を判断する技術が開示されている。また、特許文献2には、視点に近い構造物は詳細に表示し、遠くにある物体は簡略した形状で表示する技術が開示されている。さらに、特許文献3には、臨場感ある画像を表示するため、3次元コンピュータグラフィックスに代えてビデオ映像を使用する技術が開示されている。
【特許文献1】特開2001−167288号公報
【特許文献2】特開平10−332396号公報
【特許文献3】特開平11−259685号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
前述した背景技術によると、詳細形状を表示する場合にはグラフィック方式によって表示がされる。表示される立体形状に写真テクスチャ画像を貼り付ける場合でも、貼り付けられるテクスチャの数は限定される。特に、複雑な形状を有する物体は、写真テクスチャが数百個にも及ぶ。このため、スクロールのための操作がされ、視点を移動させ、表示領域を変更するとき、数百個にも及ぶ写真テクスチャをすべて表示すると表示の追従が困難となる。
【0005】
これは写真テクスチャのデータ量が大きく、透視変換などで写真形状を変形させるために必要な計算量が非常に多くなり、表示処理のための負荷が高いためである。このため、表示処理のための専用のハードウェアを使用する方法があるが、地理情報システムのように大量の立体形状データを表示し、さらに、立体形状データに実景観テクスチャを貼り付けて表示すると、計算能力が十分でない場合が多い。
【0006】
また、表示対象とした写真のデータ量が非常に大きくなることもあり、計算機に搭載されたメモリ容量の制約によって写真画像の表示は限定される。そのため、都市域のビル群や複雑な形状を有する建物全体に写真画像を貼り付けて表示し、さらに、実時間又はそれに近い時間でスクロールすることは困難である。
【0007】
これに対し、ディスプレイリストを用いたコンピュータグラフィックスにおける高速表示方式が提案されているが、数百枚の写真画像を貼り付けた建物を表示すると、スクロール操作に対して表示が追従しないことがある。
【課題を解決するための手段】
【0008】
本発明の代表的な一例を示せば以下の通りである。すなわち、演算処理をするプロセッサと、前記プロセッサに接続されたメモリとを備え、立体地図の表示情報を出力する表示システムであって、前記メモリは、座標によって表され、予め定められた領域に区画されて管理されるベクトル立体地図データと、前記ベクトル立体地図データに貼り付けられる実景観写真テクスチャ画像とを記憶し、前記プロセッサは、表示対象となる面毎に表示するか否かを判定し、前記判定の結果を表示対象となる面毎に表示管理データとして、前記メモリに格納し、前記メモリに格納された表示管理データを参照して、視線方向に向き合う面のみを表示し、視線方向の背後になる面を表示の対象から除外することによって表示に関わるデータ量を削減するを特徴とする。
【発明の効果】
【0009】
本発明によると、複雑な形の立体形状及びその実景観写真テクスチャ画像を含む立体地図の表示を高速化することができる。
【発明を実施するための最良の形態】
【0010】
まず、本発明の実施の形態の概要について説明する。
【0011】
本発明の実施の形態は、立体地図の表示を高速化するため、データの簡略化と裏面の表示の省略とを組み合わせて、以下に示す方法によって立体地図を表示する。これによって、表示されるデータ量を削減し、表示のための演算リソースを削減し、表示に要する時間を短縮する。
【0012】
(1)視線の方向に対して裏側となる面(背面)は表示しない。裏面であるか否かは計算によって判定される。従って、立体地図の移動や回転によって視点が移動しても、各面を表示するか否かが自動的に判定される。
【0013】
(2)始点から遠い構造物は簡略化して表示される。具体的には、遠方の構造物の形状を外接する四角形に変換し、外接四角形によって生成される立体を表示する。構造物の形状が複雑で表示面が多くなると、表示のための演算にリソースが消費され、表示に時間が必要である。しかし、外接四角形を用いることによって、構造物の面の数を最大でも5個(壁面4個及び上面1個)とする。
【0014】
(3)視点から遠い構造物は、高い構造物のみ表示する。また、簡略化して表示される。
【0015】
(4)視点から近い地表面のみ写真画像を貼り付ける。それ以外の地表面はグラフィック表示をする。
【0016】
(5)視点から近い近景の構造物は、写真テクスチャを貼り付けて表示する。近景以外はグラフィック表示する。
【0017】
(6)スクロール中は写真テクスチャを表示せず、グラフィック表示をする。また、スクロール中は、高さが高い構造物のみを表示し、スクロールが停止したときに、高さが低い構造物も表示する。
【0018】
本発明の実施の形態では、以上のような表示方法を実行するため、表示管理データを使用する。表示管理データには、テクスチャを含む詳細立体形状の構成面ごとに、法線ベクトルの座標(2個)、表示の要否、及びディスプレイリスト番号が格納される。
【0019】
なお、本発明の実施の形態は、ソフトウェアによっても実現可能である。据え置き形の計算機や、図形情報を表示できるノートサイズの計算機、及び、携帯可能な小型端末によって、立体地図データにアクセスして、立体地図データを取り出す。これらの計算機のプロセッサが本発明に係るプログラムを実行することによって、表示画面に立体地図データを表示し、表示された立体地図データをスクロールする。
【0020】
本発明の実施の形態は、カーナビゲーションシステム、携帯端末(例えば、携帯電話)における経路案内、視界計算などの立体地図を用いたシミュレーション、及びゲームなどの娯楽ソフトウェアに適用することができ、表示された立体地図を高速にスクロールするために用いられる。
【0021】
本発明の実施の形態では、表示の遅さを解決する手段を、計算機に実装することによって、実景観画像を含む立体地図を高速に表示し、及び高速にスクロールすることができる。グラフィックなどの処理を高速化するために、専用のハードウェアに、ディスプレイリストに登録された画像の変換方法を予め計算機に登録しておく。この際に、本発明の方法も併せて使用することによって、更なる表示の高速化が図ることができる。特に、ディスクプレイリストには表示パラメータが予め生成され、表示のための計算が高速化される。このためディスプレイリストの番号が指定される。表示命令においてディスプレイリストの番号を指定することによって、画像データを予め定められた処理によって表示することが可能となる。
【0022】
立体地図は、平面地図に高さを付加し、又は、建物等の壁面の形状を3次元座標にて生成することによって、生成され、表示される。さらに、立体地図に含まれるこれらの立体的形状に写真を貼り付けることによって、立体的な景観画像を表示することができる。実景観が写された写真画像の貼り付けはテクスチャマッピングと呼ばれる。
【0023】
しかし、これらの実景観が写された写真を貼り付けた地表面及び建物を表示したまま視点や視線方向を変更すると、これに伴う立体地図の表示を変更のため、計算機の中央処理装置(CPU:Central processing Unit)に大きな計算負荷が生じる。表示を変更するデータ量が多くなると、計算量は大きくなり、表示は遅くなる。特に、立体地図を表示する場合、実景観写真テクスチャを貼り付ける処理を実行すると、表示の変更が遅くなることが指摘されている。
【0024】
このため、視点や視線の方向が変更された場合でも表示速度が低下しない以下の方式が提案されている。
(1)視点を中心として物体の高さ、視点からの距離に従って表示又は非表示が決定される。
(2)近景の場合は、詳細形状を表示し、遠景では簡易形状で表示する。
【0025】
しかし、これらの方法によっても、実景観を伴う(実景観によるテクスチャマッピング)場合には、表示に多くの時間を必要とする。特に、複雑な形状の建物については、壁面に貼られる実景観テクスチャの数が数百に及ぶことがある。各実景観テクスチャのデータ量が大きい場合、表示処理に多くの時間を要し、表示処理が始まると表示終了まで計算機の動作が停止したようになる。
【0026】
本発明では、実景観写真画像の表示を伴う場合でも、計算機の表示画面に高速に立体地図を表示する。さらに、キー操作やマウス操作によって、視点の座標や視線方向を変更するスクロールを行っても、表示が滑らかに追従することができる表示方法について示す。
【0027】
本実施の形態では、図5に示すように、立体は制御面、制御線及び制御点によって構成されている。さらに、これらの制御面、制御線及び制御点によって建物の構成面が生成される。
【0028】
なお、構成面のみの図形によって建物を構成することもできる。しかし、この場合は、簡易形状の生成が困難になる。このため、制御面、制御線及び制御点を含む骨格情報によって立体図形を生成して、骨格情報で構成される構造物や地表面を表示するとよい。骨格情報によって、制御面を簡略化すると、簡易図形の生成が可能となる。
【0029】
図5に、詳細形状と簡易形状との生成の具体的な方法を示す。詳細な立体図形504は、制御面501及び502、及び制御点503によって生成される。詳細立体形状データ504を生成するために制御面501と制御面502とが連結され、制御面502と制御点503とが連結される。
【0030】
簡易図形の場合、全ての制御面を外接四角形によって表現する。この外接四角形への変換によって、制御面501が簡略化された制御面505が生成され、制御面502が簡略化された制御面506が生成される。制御点503は不変である。
【0031】
制御面505と制御面506とが連結され、制御面506と制御点503とが連結されることによって、簡易形状による立体形状データ508が生成される。
【0032】
以下に、本発明の実施の形態を図面を参照して説明する。
【0033】
図1に、本発明の実施の形態で表示される立体地図を示す。
【0034】
本実施の形態では、地表面を予め定められた座標によって区切った領域ごとに、地表面データや構造物データを4段階に分類して表示する。本実施の形態の理解を容易にするため、4段階に分類された各領域を、近景、中間景、遠景、非表示領域とする。この分類の段階数は4段階に限られるものではない。分類の段階数は表示制御データ405(図4参照)によって定義されるので、分類の段階数に対応して表示形態の定義を増やすことによって、表示形態の数を増加させることができる。分類の段階数の変更によって、本発明の一般性を失うことはないため、本実施の形態では4段階の場合について表示方法の例を示す。
【0035】
(1)近景領域101
近景領域101において、地表面には、写真が貼り付けられ、実景観が表示される。また、建物及び構造物は、詳細構造によって表示される。さらに、建物及び構造物を構成する面には、実景観写真テクスチャ画像による画像データが貼り付けられる。
【0036】
(2)中間景領域102
中間景領域102において、グラフィックによって塗りつぶされた地表面を表示する。なお、遠景領域103と同様に、シェーディング(陰影)などによって、立体形状に奥行きを持たせる。建物及び構造物は、地表面と同様にグラフィックによって表示する。建物及び構造物の形状は簡略化されない。
【0037】
(3)遠景領域103
遠景領域103において、地表面は平面で表示される。なお、シェーディングなどによって、立体形状に奥行きを持たせる。建物及び構造物は、高さの高いもののみを表示して、高さの低いものは表示を省略する(表示されない)。また、複数の構造物によって構成される建物は、制御面(図5参照)を外接四角形に簡略化することによって、表示データ量を減らすことができる。
【0038】
(4)非表示領域104
遠景よりもさらに遠くの領域、及び視線方向の背後にある領域では、地表面及び構造物は表示されない。
【0039】
立体地図は、スクロールすることによって、各領域における地表面や構造物の表示の形態が次々に変化していく。図2はスクロールによる表示の変化を示す。図2の(a)は、スクロール開始前の状態を示し、図1に示した状態と同じ状態で立体地図が表示されている。
【0040】
次に、図2の(b)に示すように、視点位置を変更することによって、立体地図をスクロールする。なお、視線方向の変更があっても、視点位置の変更と同様に、本スクロール方法の処理が実行される。図2の(b)は、スクロールの途中の状態を示す。スクロール途中では、前述した表示の高速化のために、一時的に全ての実景観写真データが消去され、グラフィック表示のみによって表示される。
【0041】
図2の(b)に示すように、立体地図を手前の方向にスクロールすると、遠くにある構造物は近づいてくるため、非表示領域は遠景領域となる。よって、建物のうち高さが予め定められた閾値以上の建物のみが表示される。また、遠景領域は中間景領域となる。よって、簡易表示で表示されていた建物が詳細形状によって表示される。また、地表面及び構造物は、グラフィック表示によって表示される。
【0042】
さらに、中間景領域は近景領域となる。よって、実景観写真テクスチャ画像を有する建物は、グラフィック表示に代えて実景観写真テクスチャ画像を貼り付けて表示される。近景は、視点の後方に移動することによって、視界から消えて、背後領域となり、表示されなくなる。
【0043】
図2の(c)は、スクロールを停止した状態を示す。スクロールの停止によって近景領域に含まれる構造物と地表面は、写真が再度貼り付けられた状態で表示される。
【0044】
図3は、視線に直交する方向から見た表示の状態の断面を示す。
【0045】
表示される地図は、予め定められた面積の領域に区分されている。各領域は、視点位置301からの距離によって、近景領域か、中間景領域か、遠景領域か、非表示領域かに分類される。
【0046】
具体的には、領域302は、視点位置301からの最短距離307が予め定められた閾値(Lnear)以下なので、近景領域となる。近景領域302では、実景観写真テクスチャ画像を貼り付けた詳細立体形状311と、実景観写真テクスチャ画像を貼り付けた地表面とによって表示される。また、領域303は、視点位置301からの最短距離308が予め定められた閾値(Lnear及びLmiddle)の間なので、中間景領域となる。中間景領域303では、グラフィックによる詳細立体形状312と、グラフィックによる地表面とを表示する。
【0047】
さらに、領域304は、視点位置301からの最短距離309が予め定められた閾値(Lmiddle及びLfar)の間なので、遠景領域となる。遠景領域304では、構造物の形状を簡略化し、さらに予め定められた閾値以上の高さの構造物313を表示する。
【0048】
さらに、領域305は、視点位置301からの最短距離310が予め定められた閾値(Lfar)以上なので、非表示領域となる。非表示領域305では、地表面及び構造物は表示されない。
【0049】
さらに、視点301の背後にある領域306は、視点301からLnear以下の距離にあっても、領域306の全4隅において、視線ベクトルとなす角度が90度以上であれば、背後領域となる。背後領域306中の構造物及び地表面は表示されない。すなわち、近景及び中間景で表示される詳細立体形状、及び遠景で表示される簡略立体形状は、背後領域においては表示されない。
【0050】
このように、領域の属性により表示内容を変えることによって、さらに高速の表示及びスクロールが行うことができる。
【0051】
図4に、この高速の表示・スクロール処理を行うシステムの構成例を示す。
【0052】
本実施の形態のシステムは、ソフトウェアによっても実現可能である。すなわち、計算機に備わるプロセッサが所定のプログラムを実行することによって、実現される。以下にプログラムによって実行される処理の機能ブロックを説明する。
【0053】
立体地図データベース401は、立体地図データが格納されたデータベースである。領域管理データベース402は、領域情報を管理するデータ(領域管理データ)が格納されたデータベースである。
【0054】
ディスプレイリスト403は、表示処理及び表示処理のためのパラメータ(例えば、表示データそのもの)が記載された構造体であり、これは専用のハードウェアにて実装されるとよい。表示管理データ404は、構造物の面や地表面のグラフィック表示、実景観写真テクスチャ表示の方法を記載したデータである。表示制御データ405は、近景領域、中間景領域及び遠景領域における表示設定を記載したデータである。
【0055】
立体地図検索部406は、領域管理データベース402に格納された領域情報に基づいて、立体地図データベース401から立体地図を検索し、制御面、制御線及び制御点から構成面を生成し、構成面よって囲まれた立体形状を生成しメモリ上に格納する。また、制御面及び制御線を変更することによって、立体形状を簡略化する簡略化変形を行う。領域管理データ検索部407は、領域管理データを領域管理データベース402から検索する。
【0056】
視点位置計算部408は、キーボード及びマウス等のデバイスの操作によって得られる情報から、視点の座標及び視線ベクトル(視点座標と視線方向にある任意の座標の組み合わせ)を計算する。距離計算部409は、視点の位置から選択された領域までの距離を計算する。
【0057】
立体地図オンメモリチェック部410は、表示したいデータがメモリ上に読み出されているかどうかをチェックする。
【0058】
表示管理データ生成部411は、メモリ上に読み出された立体形状データの各構成面について、表示管理データ404のうち、表示/非表示を指示する基本構成をメモリ上に作成する。表示範囲選択部412は、視点から選択された各領域までの距離に基づいて、各領域の表示方法(近景、中間景、遠景)を決定する。
【0059】
法線計算部413は、立体形状の構成面の法線ベクトルを計算し、表示管理データ404に格納する。表示面選択部414は、法線ベクトルと視線ベクトルとの内積を計算した結果に基づいて表示面を選択する。表示管理データ更新部415は、視線ベクトルが変更されると、表示面選択部414で決定された新たな表示面の表示・非表示情報を、表示管理データ404に格納する。
【0060】
表示方法選択部416は、距離計算部409によって計算された視点位置から領域までの距離に基づいて、近景表示、中間景表示及び遠景表示の中から、各領域の適切な表示機能(418〜420)を決定する。ディスプレイリスト生成部417は、立体地図検索部406によって生成された立体形状に基づいて、ディスプレイリスト403を生成し、生成されたディスプレイリスト403をメモリに格納する。
【0061】
近景表示部418は、視点位置から領域までの距離が近景とされる距離にある近景領域を表示する。中間景表示部419は、視点位置から領域までの距離が中間景とされる距離にある中間景領域を表示する。遠景表示部420は、視点位置から領域までの距離が遠景とされる距離にある遠景領域を表示する。
【0062】
表示モニタ部421は、立体地図を表示する表示装置である。
【0063】
次に、図6に、表示管理データ404の構成を示す。表示管理データ404は構成面ごとに、近景用、中間景用及び遠景用のデータが生成される。表示管理データ404には、図形ID、面ID、法線ベクトル、表示情報及び表示色レベルが格納される。
【0064】
図形IDは、地表面における図形の一意の番号であり、構成面ごとに定められる。全ての制御面、制御線及び制御点は、分類のために固有の番号を有している。図形IDは制御面のうち地面に近い面の番号を選択するとよい。具体的には、図5に示す立体図形では、制御面501(遠景にあっては、制御面505)の番号が選択される。面IDは、ディスプレイリストの番号にも用いられる。
【0065】
面IDは、面の一意の識別子である。
【0066】
法線ベクトル”NOR”は、ベクトルの始点及び終点の座標で表され、式(1)に示すように、隣り合う線分の外積の総和によって求めることができる。なお、法線ベクトルの方向は面の時計回りの方向と定義する。

NOR=ΣPi+1×Pi ・・・式(1)

なお、Pi+1、Piは、それぞれ隣り合う構成面との間の線分である。
【0067】
表示情報は、この面を表示する場合には”1”(ON)、表示しない場合には”0”(OFF)が設定される。例えば、視点の背後面は表示されないため、表示状態は”0”(OFF)となり、表面として視点から見えている場合は”1”(ON)となる。
【0068】
表示色レベルは表示色及び表示色の明るさを数値(輝度値)で示したものである。表示色は遠景の場合に暗くなり、中間景では明るくする。輝度値は、表示制御データ405に設定される。
【0069】
法線ベクトルは、全ての地表面及び構造物の構成面について定められる。
【0070】
次に、表示管理データ404の生成と利用について説明する。
【0071】
表示管理データ404は領域ごとに生成され、表示管理データ自体は、地表面及び構造物の構成面毎に定められる。そして、立体地図検索部406によって、構成面のデータがメモリ上に展開されて、表示管理データ404が生成される。表示管理データ404の表示情報は、以下に示す方法によって生成及び更新される。
【0072】
まず、構成面の法線と視線ベクトルの内積「INN」を、式(2)を用いて計算する。

INN=|N||V|cosα ・・・式(2)

|N|は法線ベクトルの長さを示す正の値である。また、|V|は視線ベクトルの長さを示す正の値である。cosは余弦関数であり、αはベクトルNとベクトルVとの間の角度である。
【0073】
従って、角度αが90度以下の場合は、INNはゼロ又は正の値となる。この場合、視線ベクトルと法線ベクトルとが同じ方向を向いているため、構成面は背後面である。よって、この面は表示されないので、表示情報は”0”(OFF)に設定される。また角度αが90度を超える場合は、INNは負の値となる。この場合、法線ベクトルと視線ベクトルとが反対の方向に向いているため、構成面は視点位置から見える。従って、この面は表示されるので、表示情報は”1”(ON)となる。
【0074】
立体地図がスクロールしても、法線ベクトルは変化せず、視線ベクトル(視点位置と視線の方向)が変化する。このため、法線ベクトルは1回計算をし、表示管理データに登録しておけば再度計算する必要はない。
【0075】
例えば、図6に示すように、視線方向602に対して、面A603及び面B604は、角度αが90度以下であるので、背後面となり、非表示となる(表示情報=”0”(OFF))。また、面C605、面D606及び面E607は、角度αが90度を超えるので、表示される(表示情報=”1”(ON))。
【0076】
図7に、視線ベクトルが移動したときの表示情報の変化を示す。
【0077】
変更前の視線ベクトル701に対応する表示管理データ706は、面A701、面B702及び面E705が背後面であり非表示面であり、面C703及び面D704は視点の方向を向いているため表示面である。しかし、視線ベクトルを702が位置まで移動されると、逆に面A701、面B702及び面E705は表示面となり、面C703及び面D704は非表示面となる。
【0078】
このように、表示情報は視線ベクトルの変更に伴って逐一計算されるが、視線ベクトルの方向に沿って移動する場合には、表示情報を再計算する必要はない。回転などによって視線ベクトルの方向が変化する場合には表示情報を判定するための計算が必要となる。
【0079】
次に、表示制御データ405の構成について説明する。表示制御データ405は、近景領域、中間景領域、及び遠景領域に対応して、表示方法及び表示パラメータを定める。なお、前述したように表示の分類は3種類ではなく、表示制御データ405のパラメータを変更することによって細分化してもよい。表示制御データ405は、距離、表示方法、表示色パラメータ及び高さのパラメータを含む。
【0080】
(1)距離
表示制御データ405に含まれる距離パラメータでは、視点位置から領域の4隅までの距離のうち、最小距離Lminの閾値を指定する。閾値は(Ls、Le)の二つが指定される。そして、式(3)を満たせば、この距離の相当する表示方法が選択される。

s<Lmin≦Le ・・・式(3)

なお、ここで、視線方向ではなく、視線方向の背後に領域がある場合は、距離のみによる判定からでは表示の対象となっても画面には現れない。そのため、視点から領域隅への四つのベクトルと、視点からの鉛直線ベクトルとの角度が90度以上の場合は、視野外と判断し、それらの領域は表示しない。
【0081】
(2)表示方法
表示管理データ405に含まれる表示方法パラメータでは、実景観写真テクスチャ表示、グラフィックテクスチャ表示、及びグラフィック塗りつぶし表示が指定される。本実施の形態では、近景領域では実景観写真テクスチャ表示を用い、中間景領域ではグラフィック塗りつぶし表示を用いる場合を示している。なお、グラフィックスで作成したテクスチャを貼り付けて表示するグラフィックテクスチャ表示を用いる例を示していないが、本発明の一般性を失うものではないので、実施形態の開示を省略する。
【0082】
(3)表示色パラメータ
表示管理データ405に含まれる表示色パラメータでは、グラフィック塗りつぶし表示する場合の表示色と輝度が設定される。
【0083】
(4)高さ
表示管理データ405に含まれる高さパラメータでは、遠景領域における、表示される立体の形状の高さの閾値を指定される。すなわち、遠景領域では、高さパラメータ以下の高さの立体の表示は省略される。
【0084】
前述した項目は、建物や地表面について規定される。
【0085】
次に、図8〜図11を参照して、立体地図データの読み出しを含めたスクロールの処理手順を説明する。
【0086】
視点位置座標と、視線ベクトルは予め準備されているとする。視点位置は3次元座標(X,Y,Z)によって表され、視線ベクトルは、この視点座標と視線方向にある3次元の座標の組み合わせによって表される。
【0087】
また、建物データや地表面データは、分割された領域ごとに管理されている。領域は、領域管理データ402によって管理されている。
【0088】
領域管理データ402は、(1)領域の4隅の座標(緯度経度、又は予め定められた座標系による座標)、及び、(2)各領域に含まれる立体地図及び写真テクスチャ情報が格納されたデータの名称及び所在を含む。なお、領域管理データ402は、立体地図は地表面と構造物とで分離されていてもよい。
【0089】
まず、領域管理データ検索部407が、領域管理データベース402に格納された領域管理データを検索し、視点位置を中心に視線方向にある領域を表示範囲にある領域としてを選択する。すなわち、視野の範囲を過不足なく包含する領域群が選択される。
【0090】
そして、検索された領域管理データの中から、選択された領域が含まれる立体地図データファイルの名称を検索し、検索されたファイル名を立体地図オンメモリチェック部410に送る。
【0091】
立体地図オンメモリチェック部410は、検索されたファイル名を受けると、立体地図データがすでにメモリ上に読み出されているか否かを判定する(ステップ801)。例えば、既に表示されている領域の立体地図データは、既にメモリに読み出されているので、ステップ812以降の処理を実行する。一方、初期表示のように立体地図データを読み出す必要がある場合、又は、スクロール中に新たに表示される領域の立体地図を読み出す必要がある場合には、ステップ802〜811の処理を実行する。
【0092】
ステップ802では、立体地図検索部406が、立体地図データデータベース401から立体地図データを読み出し、計算機のメモリ上に展開する。
【0093】
領域管理データベース402に格納された領域管理データは、立体地図データが立体地図データデータベース401から読み出されたか否かを示すフラグを含む。立体地図データデータベース401からメモリ上に読み出されたデータに関するフラグを「読み出し済み」に設定する。このフラグは立体地図データがメモリ上から消去された場合には「消去済み」に変更される。
【0094】
その後、立体地図検索部406、表示管理データ生成部411及びディプレイリスト生成部417は、近景領域を表示するための表示データを生成し(ステップ803〜805)、中間景領域を表示するための表示データを生成し(ステップ806〜807)、遠景領域を表示するための表示データを生成する(ステップ808〜811)。
【0095】
まず、立体地図検索部406は、メモリ上に読み出された立体地図データに含まれる立体形状の制御面、制御線及び制御点の間を接続し、詳細立体形状の構成面データを生成し、生成された立体形状データをメモリ上に展開する(ステップ803)。
【0096】
具体的には、表示管理データ生成部411は、実景観による詳細立体形状を近景領域に表示するための表示管理データ404を生成する(ステップ804)。近景領域用の表示管理データ404には以下の情報が含まれる。
・図形ID 基本となる制御面の固有番号
・面ID ステップ805において決定される面の一意の識別子
・法線ベクトル 法線計算部413が式(1)を用いて計算する
・表示情報 ステップ818〜819において決定される
・表示色レベル なし(近景領域ではテクスチャを表示するため、表示色レベルは設定されない)
次に、実景観による詳細立体形状を近景領域に表示するためのディスプレイリストを生成する(ステップ805)。
【0097】
具体的には、表示範囲のデータを高速に表示するために、ディプレイリスト生成部417が近景表示用のディスプレイリスト403を作成する。ディスプレイリストは、公知のアルゴリズムによって生成される。本実施の形態では、制御点、制御線及び制御面によって構成される構造物や地表面形状に実景観写真テクスチャ画像をマッピングした詳細立体形状のディスプレイリストを生成する。生成されたディスプレイリストには、ディスプレイリストの番号が付される。このディスプレイリストの番号を面IDとして、生成されたディスプレイリストは、表示管理データ生成部411によって、ステップ804で生成された表示管理データ404に格納される。
【0098】
次に、立体地図検索部406は、中間景領域を表示するために、メモリ上に読み出された立体地図データに含まれる立体形状の制御面、制御線及び制御点を接続し、詳細立体形状の構成面データを生成し、生成された立体形状データをメモリ上に展開する。なお、中間景領域を表示するための立体形状データに、ステップ803で近景領域を表示するために生成された立体形状データを用いてもよい。
【0099】
表示管理データ生成部411は、詳細グラフィックを中間景領域に表示するための表示管理データ404を生成する(ステップ806)。中間景領域用の表示管理データ404には以下の情報が含まれる。
・図形ID 基本となる制御面の固有番号
・面ID ステップ807において決定される面の一意の識別子
・法線ベクトル 法線計算部413が式(1)を用いて計算する
・表示情報 ステップ818〜819において決定される
・表示色レベル 明(数値によって表す)
次に、詳細グラフィックデータによる詳細立体形状を中間景領域に表示するためのディスプレイリストを生成する。
【0100】
具体的には、表示範囲のデータを高速に表示するために、ディプレイリスト生成部417が中間景表示用のディスプレイリスト403を生成する(ステップ807)。生成されたディスプレイリストには、ディスプレイリストの番号が付される。このディスプレイリストの番号を面IDとして、生成されたディスプレイリストは、表示管理データ生成部411によって、ステップ806で生成された表示管理データ404に格納される。
【0101】
次に、立体地図検索部306は、制御面に外接する四角形を生成する(ステップ808)。外接四角形の作成方法として、一次モーメント主軸を使用する公知の方法を使用できる。具体的には、公知のアルゴリズムを用いて面のモーメント軸を求め、そのモーメント軸の方向が水平になるように図形を回転させる。そして、座標の最大値及び最小値を取ることによって外接四角形を生成する。その後、図形を元の主軸の方向に回転させる。
【0102】
さらに、立体地図検索部406は、ステップ808において生成された外接四角形に変形された制御面、制御線及び制御点を接続して構成面を生成して、簡易立体データを生成する(ステップ809)。
【0103】
次に、表示管理データ生成部411は、簡易立体形状を遠景領域に表示するための表示管理データ404を生成する(ステップ810)。遠景領域用の表示管理データ404には以下の情報が含まれる。
・図形ID 基本となる制御面の固有番号
・面ID ステップ807において決定される面の一意の識別子
・法線ベクトル 法線計算部413が式(1)を用いて計算する
・表示情報 ステップ818〜819において決定される
・表示色レベル 暗(数値によって表す)
次に、簡易立体形状を遠景領域に表示するためのディスプレイリストを生成する。
【0104】
具体的には、表示範囲のデータを高速に表示するために、ディプレイリスト生成部417が遠景用のディスプレイリスト403を生成する(ステップ811)。生成されたディスプレイリストには、ディスプレイリストの番号が付される。このディスプレイリストの番号を面IDとして、生成されたディスプレイリストは、表示管理データ生成部411によって、ステップ810で生成された表示管理データ404に格納される。
【0105】
視点位置及び/又は視線が、キー操作又はマウス操作によって変更されると、視点位置計算部408が、キー操作やマウス操作の信号から座標変化量を計算することによって、視線ベクトルを計算し、以下のように視線ベクトルを示す座標を変更する。
(X1,Y1,Z1)→(X3,Y3,Z3)
(X2,Y2,Z2)→(X4,Y4,Z4)
ここで、(X1,Y1,Z1)は移動前の視点座標であり、(X3,Y3,Z3)は移動後の視点座標である。また、(X2,Y2,Z2)は視線変更前の視線上にある任意の座標であり、(X4,Y4,Z4)は視線変更後の視線上にある任意の座標である。
【0106】
視線を変更するためのキー操作は、システムごとに定義される。例えば、キーボードの特定のキーを操作することによって、視線が変更されてもよいし、マウスを操作することによって、視線が変更されてもよい。
【0107】
そして、距離計算部409は、ステップ803において計算機のメモリ上にデータが展開された各領域の4隅と視点位置との距離を計算する(ステップ812)。4隅それぞれの視点からの距離をL1、L2、L3、L4とする。そして、その距離のうち最小のものを選び、最小の長さ(Lmin)を表示制御データ405に格納されているあらかじめ決められた閾値(Ls、Le)と比較する。
【0108】
次に、表示範囲選択部412は、各領域が近景、中間、遠景のいずれになるかを決定し、各領域の表示方法を決定する。前述した表示制御データ405に格納されたLnear、Lmiddle、及び、Lfarを用い、式(4)を満たせばその領域を近景領域とする。

min≦Lnear ・・・式(4)

また、式(5)を満たせばその領域を中間景領域とする。

near<Lmin≦Lmiddle ・・・式(5)

また、式(6)を満たせばその領域を遠景領域とする。

middle<Lmin≦Lfar ・・・式(6)

また、式(7)を満たす、又は、前述した方法によって背後領域と判定されれば、非表示領域とする。

far<Lmin ・・・式(7)

次に、表示面選択部415は、立体地図を構成する地表面、及び構造物の構成面を選択する(ステップ814)。ステップ814以下の処理は、構成面の表示/非表示を決定するアルゴリズムである。
【0109】
その後、表示面選択部414は、視線ベクトルと構成面の法線ベクトルとの内積を計算する。そして式(2)に示されるcosαの値が正の値になるか、負の値になるかを判定する(ステップ815)。cosαが正の値であればINNは正の値であり、cosαが負の値であれば、INNは負の値となる。そして、INNが正の値の場合は非表示面とし、INNが負の値の場合は表示面とする。
【0110】
次に、表示面選択部414は、各構成面が表示面であるか、非表示面であるかを判定する(ステップ816)。構成面が表示面である場合には、ステップ817の処理を実行し、非表示面である場合にはステップ818の処理を実行する。
【0111】
ステップ817では、表示管理データ更新部415は、表示管理データ404に、表示情報として表示を示す”1”(ON)を格納して、ステップ819に進む。
【0112】
一方、ステップ818では、表示管理データ更新部415は、表示管理データ404に、表示情報として非表示を示す”0”(OFF)を格納して、ステップ819に進む。
【0113】
その後、すべての構成面全体の表示/非表示の判定が終わったか否かを判定する(ステップ819)。表示面全体について表示/非表示判定が終了した場合には、ステップ820に進む。一部の構成面の表示/非表示判定が終了していない場合には、次の構成面を選択するためステップ814に戻る。
【0114】
全ての表示面について表示/非表示判定が終了すると、表示方法選択部416は、ステップ813で決定された表示方法に基づいて、表示処理に使用されるディスプレイリストを選択する。具体的には、表示方法選択部416は、構成面が近景でかつ表示対象の場合はステップ821の処理を実行し、中間景でかつ表示対象の場合はステップ822の処理を実行し、遠景でかつ表示対象の場合はステップ822の処理を実行する。なお、スクロール途中であれば、近景は中間景と同様に表示され(すなわち、グラフィック表示がされ)、スクロールが停止していれば、近景として表示される。これは、スクロール途中では、近景領域であっても、実景観写真テクスチャを表示しないことによって、表示速度を向上するためである。
【0115】
ステップ821では、近景表示部418は、近景のディスプレイリスト403からディスプレイリストの番号(面ID)を選択して、ステップ824に進む。ステップ822では、中間景表示部419は、中間景のディスプレイリスト403からディスプレイリストの番号(面ID)を選択して、ステップ824に進む。ステップ823では、遠景表示部420は、遠景のディスプレイリスト403からディスプレイリストの番号(面ID)を選択して、ステップ824に進む。
【0116】
その後、近景表示部418、中間景表示部419、及び遠景表示部420は、各々ディスプレイリストの番号を用いて表示管理データ404を読み出した後、表示モニタ部421に立体地図を表示する。このとき、ステップ816において表示面であると判定された表示対象の面のみが表示され、非表示面であると判定された面は表示されない。
【0117】
立体地図の表示後、キー又はマウスの操作により発生する信号を監視することによって、さらにスクロールがなされたか否かを判定する(ステップ825)。視線ベクトル(視点位置及び視線方向)が変更された場合には、ステップ826に進む。視線ベクトルが変更されていない場合には、ステップ827に進む。
【0118】
ステップ826では、視線ベクトルの変更によって新たに表示される立体地図に新たな表示領域が含まれる場合にはステップ802に戻り、新たな領域の立体地図データを読み出す。一方、新たな表示領域が含まれない場合にはステップ812に戻る。
【0119】
ステップ827では、表示を継続する場合にはステップ825に戻り、視線ベクトルが変更されるかを監視する。
【0120】
本発明は、地理情報システムに関し、地表面、壁面及び建物上面に写真画像を有する立体景観画像の表示及びスクロールを高速化する方法を提供する。本発明によると、視野に入らない地表面や構造物の背後面を非表示にする。また、視点近くの景観のみを写真を、貼り付けることによって、リアルに表示し、遠くの景観をグラフィックで表示する。さらに、視点を移動するときに、写真表示をいったん中止して、立体地図を移動することによって、表示のためのハードウエアへの負荷を低減して、高速に表示及びスクロールをする。
【0121】
本発明によると、複雑な形状の構造物、地表面に対しても詳細な形状を有する立体地図の表示において、複雑な形状を有する立体形状及びその実景観写真テクスチャ画像の表示が高速化される。特に、詳細な都市形状を表示する景観評価などへの応用(アプリケーション)の場合、スクロールは不可欠となるが、このような場合にもスクロール中も高速に表示できる。また、ゲームのような娯楽に関連するアプリーションにおいても、背景のデータに対して高速なスクロールを実現することが可能となる。
【図面の簡単な説明】
【0122】
【図1】本発明の実施の形態によって表示される立体地図の説明図である。
【図2】本発明の実施の形態におけるスクロールによる表示の変化の説明図である。
【図3】本発明の実施の形態によって表示される立体地図の視線方向の断面図である。
【図4】本発明の実施の形態の立体地図表示システムの構成を示す機能ブロック図である。
【図5】本発明の実施の形態の制御面及び制御点による構成面の生成の説明図である。
【図6】本発明の実施の形態の表示管理データの説明図である。
【図7】本発明の実施の形態による表示面と表示管理データとの説明図である。
【図8】本発明の実施の形態のスクロール処理を示すフローチャートである。
【図9】本発明の実施の形態によってスクロール処理を示すフローチャートである。
【図10】本発明の実施の形態によってスクロール処理を示すフローチャートである。
【図11】本発明の実施の形態によってスクロール処理を示すフローチャートである。
【符号の説明】
【0123】
101 近景
102 中間景
103 遠景
104 非表示領域
401 立体地図データベース
402 領域管理データベース
403 ディスプレイリスト
404 表示管理データ
405 表示制御データ
406 立体地図検索部
407 領域管理データ検索部
408 視点位置計算部
409 距離計算部
410 立体地図オンメモリチェック部
411 表示管理データ生成機能部
412 表示範囲選択部
413 法線計算部
414 表示面選択部
415 表示管理データ更新部
416 表示方法選択部
417 ディスプレイリスト生成部
418 近景表示部
419 中間景表示部
420 遠景表示部
421 表示モニタ部

【特許請求の範囲】
【請求項1】
演算処理をするプロセッサと、前記プロセッサに接続された記憶装置とを備え、立体地図の表示情報を出力する表示システムであって、
前記記憶装置は、座標によって予め定められた領域に区画されたベクトル立体地図データと、前記ベクトル立体地図データに貼り付けられる実景観写真テクスチャ画像とを記憶し、
前記プロセッサは、
前記ベクトル立体地図データに含まれる立体形状を構成する面毎に表示するか否かを判定し、
前記面毎の判定の結果を含む表示管理データを前記記憶装置に格納し、
前記記憶装置に格納された表示管理データを参照して、視線方向に向き合う面のみを表示すると判定し、視線方向に向き合わない面を非表示と判定することによって、表示されるデータ量を削減することを特徴とする立体地図表示システム。
【請求項2】
前記プロセッサは、
前記表示管理データに格納されている表示対象面の法線ベクトルと視線ベクトルとの内積を計算し、
前記計算された内積がゼロ又は正の値になる場合は、当該表示対象面は視線方向に向き合わないので、当該面を非表示と判定し、
前記計算された内積が負の値になる場合は、当該表示対象面は視線方向に向き合うので、当該面を表示すると判定し、
前記表示するか否かの判定結果に基づいて、前記表示管理データを更新し、
前記表示管理データを参照して表示される面を選択することを特徴とする請求項1に記載の立体地図表示システム。
【請求項3】
前記各領域には、視点からの距離によって複数の属性が設定されており、
前記プロセッサは、前記領域の属性に対応して、前記表示管理データを設定することを特徴とする請求項1に記載の立体地図表示システム。
【請求項4】
前記複数の領域の属性は、遠景を含み、
前記プロセッサは、
前記ベクトル立体地図データに含まれる領域が遠景である場合は、当該遠景領域に含まれる構造物の形状を簡略化し、
前記簡略化によって得られた形状を構成する面について表示するか否かを判定することを特徴とする請求項3に記載の立体地図表示システム。
【請求項5】
前記プロセッサは、
前記立体地図のスクロール中は、前記立体形状の面へ実景観写真テクスチャ画像を貼り付けず、
前記スクロールが停止したときに、前記立体形状の面へ実景観写真テクスチャ画像の貼り付けることを特徴とする請求項1に記載の立体地図表示システム。
【請求項6】
前記プロセッサは、
視点から見て前記視線方向と逆方向に存在する領域を背後領域と判定し、
前記背後領域と判定された領域に含まれる立体地図データを非表示と判定することを特徴とする請求項1に記載の立体地図表示システム。
【請求項7】
前記記憶装置は、前記表示面を表示するか否かの判定結果を含む表示管理データと、前記立体形状のデータを含むディスプレイリストと、を格納し、
前記表示管理データは、さらに、各表示面の表示方法、及び各表示面の法線の情報を含むことを特徴とする請求項1に記載の立体地図表示システム。
【請求項8】
演算処理をするプロセッサと、前記プロセッサに接続された記憶装置とを備えた計算機において立体地図を表示する表示方法であって、
前記記憶装置は、座標によって予め定められた領域に区画されたベクトル立体地図データと、前記ベクトル立体地図データに貼り付けられる実景観写真テクスチャ画像とを記憶し、
前記方法は、
前記ベクトル立体地図データに含まれる立体形状を構成する面毎に表示するか否かを判定し、
前記面毎の判定の結果を含む表示管理データを前記記憶装置に格納し、
前記記憶装置に格納された表示管理データを参照して、視線方向に向き合う面のみを表示すると判定し、視線方向に向き合わない面を非表示と判定することによって、表示されるデータ量を削減することを特徴とする立体地図の表示方法。
【請求項9】
前記表示管理データに格納されている表示対象面の法線ベクトルと視線ベクトルとの内積を計算し、
前記計算された内積がゼロ又は正の値になる場合は、当該表示対象面は視線方向に向き合わないので、当該面を非表示と判定し、
前記計算された内積が負の値になる場合は、当該表示対象面は視線方向に向き合わないので、当該面を表示すると判定し、
前記表示するか否かの判定結果に基づいて、前記表示管理データを更新し、
前記表示管理データを参照して表示面を選択することを特徴とする請求項8に記載の立体地図表示方法。
【請求項10】
前記各領域には、視点からの距離によって複数の領域の属性が設定されており、
前記表示管理データは、前記領域の属性に対応して設定されることを特徴とする請求項8に記載の立体地図表示方法。
【請求項11】
前記複数の領域の属性は、遠景を含み、
前記ベクトル立体地図データに含まれる領域が遠景である場合は、当該遠景領域に含まれる構造物の形状を簡略化し、
前記簡略化によって得られた形状を構成する面について表示するか否かを判定することを特徴とする請求項10に記載の立体地図表示方法。
【請求項12】
前記立体地図のスクロール中は、前記立体形状の面へ実景観写真テクスチャ画像の貼り付けず、
前記スクロールが停止したときに、前記立体形状の面へ実景観写真テクスチャ画像の貼り付けることを特徴とする請求項8に記載の立体地図表示方法。
【請求項13】
視点から見て前記視線方向と逆方向に存在する領域を背後領域と判定し、
前記背後領域と判定された領域に含まれる立体地図データを非表示と判定することを特徴とする請求項8に記載の立体地図表示方法。
【請求項14】
前記表示面の表示又は非表示の判定結果を含む表示管理データと、立体地図に含まれる立体形状のデータを含むディスプレイリストとを、前記記憶装置に格納し、
前記表示管理データには、さらに、各表示面の表示方法、及び各表示面の法線の情報を含めることを特徴とする請求項8に記載の立体地図表示方法。
【請求項15】
演算処理をするプロセッサと、前記プロセッサに接続された記憶装置とを備えた計算機に立体地図を表示させるプログラムであって、
前記記憶装置は、座標によって予め定められた領域に区画されたベクトル立体地図データと、前記ベクトル立体地図データに貼り付けられる実景観写真テクスチャ画像とを記憶し、
前記プログラムは、
前記ベクトル立体地図データに含まれる立体形状を構成する面毎に表示するか否かを判定する手順と、
前記面毎の判定の結果を含む表示管理データを、前記記憶装置に格納する手順と、
前記記憶装置に格納された表示管理データを参照して、視線方向に向き合う面のみを表示すると判定し、視線方向に向き合わない面を非表示と判定する手順と、を計算機に実行させることによって、表示されるデータ量を削減するプログラム。
【請求項16】
前記表示管理データに格納されている表示対象面の法線ベクトルと前記視線ベクトルとの内積を計算する手順と、
前記計算された内積がゼロ又は正の値になる場合は、当該表示対象面は視線方向に向き合わないので、当該面を非表示と判定する手順と、
前記計算された内積が負の値になる場合は、当該表示対象面は視線方向に向き合うので、当該面を表示すると判定する手順と、
前記表示するか否かの判定結果に基づいて、前記表示管理データを更新する手順と、
前記表示管理データを参照して表示される面を選択する手順とを、さらに計算機に実行させる請求項15に記載のプログラム。
【請求項17】
前記ベクトル立体地図データに含まれる領域が遠景である場合は、当該遠景領域に含まれる構造物の形状を簡略化する手順と、
前記簡略化によって得られた形状を構成する面について表示するか否かを判定する手順とを、さらに計算機に実行させる請求項15に記載のプログラム。
【請求項18】
前記立体地図のスクロール中は、前記立体形状の面へ実景観写真テクスチャ画像の貼り付けず、前記スクロールが停止したときに、前記立体形状の面へ実景観写真テクスチャ画像の貼り付ける手順を、さらに計算機に実行させる請求項15に記載のプログラム。
【請求項19】
視点から見て前記視線方向と逆方向に存在する領域を背後領域と判定する手順と、
前記背後領域と判定された領域に含まれる立体地図データを非表示と判定する手順とを、さらに計算機に実行させる請求項15に記載のプログラム。

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2008−203940(P2008−203940A)
【公開日】平成20年9月4日(2008.9.4)
【国際特許分類】
【出願番号】特願2007−36206(P2007−36206)
【出願日】平成19年2月16日(2007.2.16)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】