(57)【要約】【課題】  複数レベルの地図データを併用して３次元地図を表示する。【解決手段】  地図データベース１３０には、レベルＬＶａ〜ＬＶｃのように詳細度異なる複数レベルの地図データを格納する。３次元地図を表示する際には、地図の表示範囲のうち、視点に近い所定距離までの近景領域には詳細なレベルの地図データを用い、それより遠方の遠景領域では粗いレベルの地図データを用いる。そして、まず遠景領域を透視投影で描画した後、隠線処理に利用される深度を記憶するデプスバッファを一旦、クリアし、改めて近景領域を描く。  こうすることによって、遠景画像と近景画像との間で、深度による隠線処理が不適切に実行されることを回避でき、遠景画像によって近景画像の一部が隠されるといった不自然な現象を回避できる。【選択図】  図１
2014186175.tif 000002
【特許請求の範囲】
【請求項１】
３次元地図を表示する３次元地図表示システムであって、
地図の詳細度が異なる複数のレベルにおいて、レベルごとに、前記３次元地図を表示するための地図データを格納する地図データベースと、
前記地図データベースを参照して、指定された視点位置、視線方向からみた３次元地図を表示する表示制御部とを備え、
前記表示制御部は、
前記視点位置から遠い遠景領域ほど地図の詳細度が粗いレベルの地図データを用い、視点位置に近い近景領域ほど地図の詳細度が細かいレベルの地図データを用いて、複数のレベルの地図データを併用して地図を描画し、
前記遠景領域から近景領域に向けて順に前記地図を描画し、
前記近景領域は、既に描かれた地図上の各点の深度にかかわらず、上書きによって描画する
３次元地図表示システム。
【請求項２】
請求項１記載の３次元地図表示システムであって、
前記表示制御部は、前記地図の描画に使用する地図データのレベルが変化する直前に、前記各点の深度を記憶しているデプスバッファを、消去してから、次の描画を開始する３次元地図表示システム。
【請求項３】
請求項１または２記載の３次元地図表示システムであって、
前記表示制御部は、地図の描画に使用する地図データのレベルが切りかわる領域の境界を含む所定範囲では、前記視点位置から遠い側の領域には、３次元の地物を描画しないよう表示を制御する３次元地図表示システム。
【請求項４】
請求項１〜３いずれか記載の３次元地図表示システムであって、
前記表示制御部は、前記遠景領域については、前記視点位置に近い側に隣接する領域にまたがって地図を描画することが許容されている
３次元地図表示システム。
【請求項５】
請求項１〜４いずれか記載の３次元地図表示システムであって、
前記地図データベースに格納される地図データにおいては、前記３次元地図中に表示される地物ごとに、前記視点位置からの距離に応じて表示／非表示を制御するための表示レベル情報が関連づけられており、
前記表示制御部は、前記表示レベル情報に基づき、前記視点位置からの距離に応じて表示対象とされる地物を用いて前記地図表示を行う
３次元地図表示システム。
【請求項６】
請求項１〜５いずれか記載の３次元地図表示システムであって、
前記地図データベースは、前記レベルごとに設定された地理的サイズからなるメッシュごとに前記地図データを格納しており、
さらに、各メッシュにおいては、
２次元的な地理的サイズが、所定以上の大きさを有する大地物のデータと、その他の小地物のデータとが格納されており、
前記小地物のデータは、前記メッシュよりも小さい地理的サイズのセル単位で読み出し可能に格納されており、
該セルの形状は、前記メッシュを地理的に細分するとともに、各セルに含まれる前記地物のデータ量が所定値を超えないように定義されている
３次元地図表示システム。
【請求項７】
コンピュータによって、３次元地図を表示する３次元地図表示方法であって、
地図の詳細度が異なる複数のレベルにおいて、レベルごとに、前記３次元地図を表示するための地図データを格納する地図データベースを有しており、
前記コンピュータが実行する工程として、
前記地図データベースを参照して、指定された視点位置、視線方向からみた３次元地図を表示する表示制御部を備え、
前記表示制御部は、
前記視点位置から遠い遠景領域ほど地図の詳細度が粗いレベルの地図データを用い、視点位置に近い近景領域ほど地図の詳細度が細かいレベルの地図データを用いて、複数のレベルの地図データを併用して地図を描画し、
前記遠景領域から近景領域に向けて順に前記地図を描画し、
前記近景領域は、既に描かれた地図上の各点の深度にかかわらず、上書きによって描画する
コンピュータによる３次元地図表示方法。
【請求項８】
地図の詳細度が異なる複数のレベルにおいて、レベルごとに、前記３次元地図を表示するための地図データを格納する地図データベースを有するコンピュータによって、３次元地図を表示させるためのコンピュータプログラムであって、
前記地図データベースを参照して、指定された視点位置、視線方向からみた３次元地図を表示する表示制御機能であって、
前記表示制御部機能は、
前記視点位置から遠い遠景領域ほど地図の詳細度が粗いレベルの地図データを用い、視点位置に近い近景領域ほど地図の詳細度が細かいレベルの地図データを用いて、複数のレベルの地図データを併用して地図を描画する機能と、
前記遠景領域から近景領域に向けて順に前記地図を描画する機能と、
前記近景領域は、既に描かれた地図上の各点の深度にかかわらず、上書きによって描画する機能とを
前記コンピュータに実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の地図データを併用して３次元地図を表示する３次元地図表示システムに関する。
【背景技術】
【０００２】
ナビゲーション装置やコンピュータの画面等に用いられる電子地図では、建物などの地物を３次元的に表現した３次元地図が用いられることがある。３次元地図は、通常、３次元モデルを透視投影などで３次元的に描くことによって表示される。
ここで、３次元地図には、多数の地物が含まれ、地表面もポリゴンで表現するため、３次元モデルの数も多量となり、３次元地図の描画処理にかかる負荷は非常に高くなることがある。特に、高い視点から見た鳥瞰図を描く場合、地図の表示範囲が広域となるため、表示にかかる処理負荷は、非常に高くなることがある。
【０００３】
こうした処理負荷を軽減するため、３次元地図、特に鳥瞰図の地図表示時において、詳細度の異なる複数の地図データを併用することが行われている。例えば、特許文献１、２は、ともに立体鳥瞰地図を表示する際に、地図の表示領域を上下に２分割し、詳細な地図データを用いて視点に近い下側領域を表示し、それよりも粗い広域地図データを用いて視点から遠方の上側領域を表示する技術を開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４４２２１２５号公報
【特許文献２】特許第３３６２５３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般に地図データは、所定サイズからなるメッシュに区切って生成・格納されている。地図は種々の視点、視線方向で描かれるから、複数の地図データを併用する場合には、使用する地図データを切り換える地図表示上の境界と、地図データのメッシュの境界とが必ずしも一致するとは限らない。従って、実際に複数の地図データを併用して地図表示を行ってみると、地図表示上の境界付近では、複数の地図データによって地図が重なって描画されることがあり、両データの不整合や、グラフィックスエンジンによる表示処理等に起因する表示上の乱れが生じ、地図の見栄えを損ねることがあった。
こうした課題は、鳥瞰図のみに特有のものではなく、複数の地図データをする限り、３次元地図を低い視点から描いたドライバーズビューの場合も共通に生じ得るものである。また、地図データが必ずしもメッシュ単位で格納されている場合にも限らず、複数の地図データを併用して地図を表示する場合に共通の課題である。
本発明は、複数の地図データを併用して３次元地図を表示する際に、地図表示上の境界等で生じる表示上の乱れを回避し、見栄えの向上を図ることを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、３次元地図を表示する３次元地図表示システムであって、
地図の詳細度が異なる複数のレベルにおいて、レベルごとに、前記３次元地図を表示するための地図データを格納する地図データベースと、
前記地図データベースを参照して、指定された視点位置、視線方向からみた３次元地図を表示する表示制御部とを備え、
前記表示制御部は、
前記視点位置から遠い遠景領域ほど地図の詳細度が粗いレベルの地図データを用い、視点位置に近い近景領域ほど地図の詳細度が細かいレベルの地図データを用いて、複数のレベルの地図データを併用して地図を描画し、
前記遠景領域から近景領域に向けて順に前記地図を描画し、
前記近景領域は、既に描かれた地図上の各点の深度にかかわらず、上書きによって描画する
３次元地図表示システムとして構成することができる。
【０００７】
本発明では、詳細度が異なる複数のレベルからなる地図データを併用する。詳細度が細かいレベルの地図データには、詳細度が粗い地図データよりも、多数の建物等の地物のデータなどが格納されることになる。逆に詳細度が粗いレベルの地図データには、主要な道路、建物などが格納されることになる。描画に併用する地図データは、２つのレベルであってもよいし、３つ以上であってもよい。また、これらの地図データは、必ずしも所定の地理的サイズからなるメッシュ単位で格納されている必要はない。
本発明によれば、３次元地図を描く際の視点位置からの距離に応じてレベルの異なる地図データを併用する。即ち、視点位置から遠い遠景領域ほど粗いレベルの地図データを併用し、近い近景領域ほど細かいレベルの地図データを併用する。こうすることによって、近景領域ではユーザに十分な地理的情報を与えつつ、遠景領域では広域の地図を軽い負荷で表示することができる。
【０００８】
また、一般に３次元のグラフィックス表示においては、視点から視認できるか否かに応じて、ポリゴンの描画を制御する隠線処理を実現するため、視点からポリゴン上の各点までの距離、即ち深度（デプス）を何らかの方法で記録しながら表示処理を実行しているのが通常である。しかし、本発明では、遠景領域を描いた後、近景領域を描く際に、敢えて、遠景領域の各点については深度にかかわらず上書きで描画するのである。従って、遠景領域と近景領域との間では、３次元モデル内で視点からどちらが視認できる位置にあるかを考慮することなく、無条件に近景領域が優先して描かれることになる。近景領域内の各点については、当然、深度を考慮して隠線処理を行って構わない。
本願の発明者は、複数の地図データを併用した３次元地図表示において、両地図データによって描かれた地図が重なる領域で表示が乱れることの原因が、深度の処理にあることを見いだした。複数の地図データ間に誤差があれば、両地図データによって描かれた地図が重なる領域では、本来、下に描かれるべき遠景領域側の地表面が近景領域の地物を隠すように描かれてしまうことがある。地図データが正確であったとしても、丸め誤差によって同様の問題が生じ得る。また、遠景領域と近景領域とで、丸め誤差も含めて完全に高さが同一値となれば、グラフィックスエンジンは、どちらを視認できるように表示してよいかの判断がつかず、画像が不安定にちらつくことになる。
本発明は、遠景領域を描いた後、近景領域を描く際には、遠景領域の深度と無関係に近景領域を上書きする。こうすることによって、上述した深度の問題点を回避することができ、描画に用いる地図データのレベルが切り替わる境界付近での表示を安定させ、見栄え向上を図ることができる。
【０００９】
本発明においては、先に描かれた遠景領域の深度を記憶しつつ、近景領域を描く際に無視する方法をとることもできるが、
前記表示制御部は、前記地図の描画に使用する地図データのレベルが変化する直前に、前記各点の深度を記憶しているデプスバッファを、消去してから、次の描画を開始するものとしてもよい。
こうすることによって、簡易な方法で、深度に起因する表示上の障害を回避することができる。
【００１０】
また、本発明において、
前記表示制御部は、地図の描画に使用する地図データのレベルが切りかわる領域の境界を含む所定範囲では、前記視点位置から遠い側の領域には、３次元の地物を描画しないよう表示を制御するものとしてもよい。
本発明においては、近景領域を描く際に、遠景領域についての深度を無視してしまうため、遠景領域において境界付近に３次元の地物が描画されていると、近景領域の地図によって不自然に隠される事態が生じ得る。本態様のように、境界付近で３次元地物を描画しないように制御すれば、こうした弊害を回避することが可能となる。
境界を含む所定範囲は、近景領域の広さ等を考慮して、任意に設定可能である。例えば、遠景領域と近景領域との境界が、十分遠方にある場合には、遠景領域では、全域において地物を描画しないようにしてもよい。つまり、遠景領域では、地表面のポリゴンのみを描画するのである。こうすることによって、遠景領域の描画をさらに簡略化することが可能となる。
【００１１】
本発明において、
前記表示制御部は、前記遠景領域については、前記視点位置に近い側に隣接する領域にまたがって地図を描画することが許容されているものとしてもよい。
こうすることによって、遠景領域において、地図データのレベルが切り替わる領域の境界を特定し、データの切り出し等を行う必要がなくなるため、３次元地図の表示処理をより簡素化することが可能となる。
【００１２】
本発明において、
前記地図データベースに格納される地図データにおいては、前記３次元地図中に表示される地物ごとに、前記視点位置からの距離に応じて表示／非表示を制御するための表示レベル情報が関連づけられており、
前記表示制御部は、前記表示レベル情報に基づき、前記視点位置からの距離に応じて表示対象とされる地物を用いて前記地図表示を行うものとしてもよい。
こうすることにより、視点位置からの距離に応じて地物の表示／非表示を比較的容易に制御することができる。かかる表示レベル情報の内容は、任意に設定できるが、例えば、当該地物を表示する上限の距離範囲を指定する内容としてもよい。こうすることによって、視点位置から近い場所にその地物が存在するときには、地物が地図上に表示され、視点位置から遠いときには非表示とすることができる。ランドマークのような主要な地物については、この上限の距離範囲を大きくし、一般家屋のような地物に対しては、小さく設定しておけば、視点位置に近い領域では多数の地物を詳細に表示することができ、遠方の領域では、主要な地物のみを表示させることができる。
また、表示レベル情報の内容としては、地物を表示する下限の距離範囲を指定する内容としてもよい。つまり、視点位置からの距離が所定値以上の場合にのみ、当該地物は表示されることになる。かかる表示レベル情報を、遠景領域の描画用の地図データに付しておくことにより、遠景領域の描画時に、近景領域によって覆い隠される部分に３次元の地物が描かれることを容易に回避でき、表示上の支障を避けることが可能となる利点がある。
【００１３】
本発明において、地図データベースは種々の構成をとることができる。例えば、
前記地図データベースは、前記レベルごとに設定された地理的サイズからなるメッシュごとに前記地図データを格納しており、
さらに、各メッシュにおいては、
２次元的な地理的サイズが、所定以上の大きさを有する大地物のデータと、その他の小地物のデータとが格納されており、
前記小地物のデータは、前記メッシュよりも小さい地理的サイズのセル単位で読み出し可能に格納されており、
該セルの形状は、前記メッシュを地理的に細分するとともに、各セルに含まれる前記地物のデータ量が所定値を超えないように定義されているものとしてもよい。
上記態様では、第１に地図はメッシュ単位で格納されるため、管理・読み出しが容易となる。メッシュのサイズは、地図のレベルごとに異なっていても差し支えない。
また上記態様では、地物をさらにセルに分けて格納する。ここで、セルに格納されるのは、メッシュ内に存在する全ての地物ではなく、小地物のみである。例えば、道路のように長い地物、海などのように面積の大きい地物を大地物と扱い、建物のように２次元的な面積が小さい地物を小地物として扱うことができる。
都市部などでは、建物など地物が集中している密集領域が存在し、こうした密集領域では、地物のデータ容量が多大となる。このような場合に、メッシュ単位でデータの読込みを行うものとすれば、あるメッシュのうち、密集領域以外の部分しか地図表示に使用しない場合でも、大容量のデータを読み込む必要が生じ、地図表示時の処理に時間がかかることとなる。これに対し、本発明によれば、セル単位で読み出し可能に細分化して格納されているため、地図表示に必要な部分だけを読み込むことができ、地図表示時の効率向上を図ることができる。
【００１４】
本発明においては、上述した種々の特徴を必ずしも全て備えている必要はなく、適宜、その一部を省略したり、組み合わせたりして構成してもよい。
本発明は、その他、コンピュータによって３次元地図を表示する３次元地図表示方法として構成してもよいし、かかる表示をコンピュータに実行させるためのコンピュータプログラムとして構成してもよい。また、かかるコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体として構成してもよい。
【図面の簡単な説明】
【００１５】
【図１】３次元地図表示システムの構成を示す説明図である。
【図２】地図データベースのセル構造を示す説明図である。
【図３】地図データベースのデータ構造を示す説明図である。
【図４】地図表示処理のフローチャート（１）である。
【図５】地図表示処理のフローチャート（２）である。
【図６】３次元地図の表示例を示す説明図である。
【発明を実施するための形態】
【実施例１】
【００１６】
本発明につき、パーソナルコンピュータを利用して、そのディスプレイ上に３次元地図を表示する３次元地図表示システムとして構成した実施例を説明する。本発明は、経路探索・経路案内装置など、他の装置の３次元地図表示機能として組み込む態様で適用することも可能である。
【００１７】
Ａ．システム構成：
図１は、３次元地図表示システム１００の構成を示す説明図である。３次元地図表示システムは、パーソナルコンピュータを用いて構成されており、ディスプレイ上に、ユーザからの指示に従って３次元地図を表示するシステムである。
本実施例では、パーソナルコンピュータを利用したスタンドアロンのシステムを例示するが、地図データベース１３０等をサーバに格納し、サーバとパーソナルコンピュータとをネットワークで接続したシステムとして構成してもよい。また地図を表示する端末としては、パーソナルコンピュータだけでなく、タブレット端末、携帯電話、スマートフォンなど種々の端末を利用可能である。
【００１８】
３次元地図表示システムは、図示する種々の機能ブロックを有している。これらの機能ブロックは、それぞれの機能を実現するソフトウェアをインストールすることによって構成することができるが、その一部または全部をハードウェア的に構成してもよい。
地図データベース１３０は、３次元地図の表示するために地物の３次元形状等を表した３次元モデル等を含む地図データを格納している。本実施例では、図中に示すように地図データは、複数のレベルＬＶａ〜ＬＶｃに分けて格納されている。いずれも所定のサイズのメッシュに区切って管理されている。レベルＬＶｃは、最も詳細度が高いデータ、即ち、細い道路や、小さな地物までデータを格納している。レベルＬＶｃは、必然的にデータ容量が大きくなるため、比較的小さなメッシュに区切って管理されている。レベルＬＶｂは、レベルＬＶｃよりも、若干、詳細度が低くなっている。レベルＬＶｂでは、細かな道路等のデータは省略され、標準的な道路、建物等のデータが格納されている。レベルＬＶｂのメッシュサイズは、レベルＬＶｃよりも大きく設定されている。レベルＬＶａは、さらに詳細度を低くしたデータである。高速道路などのような主要な道路、およびランドマークとなるような主要な建物等に絞ってデータが格納されている。レベルＬＶａのメッシュサイズは、レベルＬＶｂよりもさらに大きなサイズに設定されている。
地図データは、このようにレベルに分けて格納されているが、地物のデータが各レベルのいずれかに選択的に格納されている訳ではない。例えば、ランドマークのような主要な建物は、レベルＬＶａ〜ＬＶｃの全レベルに共通して格納されることになる。つまり、各レベルのデータは、いずれを用いても、そのレベルに応じた詳細度で地図を表示可能なものとなっている。
本実施例では、地図データは、メッシュをさらに細分したセルで管理されている。このセルの構造については後述する。
【００１９】
コマンド入力部１１０は、３次元地図表示に関するユーザからの指示を受け付ける。例えば、地図を表示するための視点位置、視線方向、表示範囲（スケール）などの指示が含まれる。
地図データ読出部１２０は、地図データベース１３０から、地図データを読み出す機能を奏する。レベル・メッシュ設定部１２１は、ユーザから指定された視点位置等に応じて、地図データベース１３０のうちのどのレベル、どのメッシュのデータを使用するかを決定する。セル設定部１２２は、レベル・メッシュ設定部１２１によって設定されたメッシュ内において、どのセルに格納されたデータを用いるかを決定する。地図データ読出部１２０は、こうして設定されたメッシュ、セルから地図表示のためのデータを読み込むのである。
本実施例では、１枚の３次元地図を表示するために、複数のレベルの地図データを併用する。地図データ併用の制御については、後述する。
【００２０】
表示制御部１４０は、地図データベース１３０の地図データを用いて３次元地図を表示する。
本実施例では、地図を視点位置から遠方の遠景領域と、視点位置に近い近景領域の２つに分け、それぞれ異なるレベルの地図データを用いて、以下の方法で表示を行う。
表示／非表示設定部１４１は、視点位置からの距離に応じて地図データに格納された各地物の表示／非表示を決定する。この処理は、遠景領域、近景領域の双方に共通の処理である。
遠景描画部１４２は、遠景領域の地図を描画する。本実施例では、指定された視点位置からの透視投影による鳥瞰図を描画するものとした。視点位置を低く設定した状態で描画するものとしてもよい。３次元では、いわゆる隠線処理のため、投影時の各点の視点からの距離、即ち深度がデプスバッファに記憶されている。遠景領域の描画時も、各点の深度は、デプスバッファに記憶される。
デプスバッファクリア部１４３は、遠景領域描画時に記憶されたデプスバッファの値を初期化する。この処理により、描画された遠景領域は、３次元的な意味を有さない、一枚の２次元的な背景画像を構成することになる。
近景描画部１４４は、デプスバッファが初期化された後、近景領域の地図を描画する。近景領域の描画方法は、遠景領域と同じ視点、同じ投影方法を用いて行う。また、近景描画時には各点の深度が新たにデプスバッファに記憶され、これに基づいて隠線処理が施されることになる。ただし、遠景領域は、ただの背景画像としての扱いとなっているから、近景領域は、遠景領域に上書きされることとなる。
【００２１】
Ｂ．地図データベースの構造：
次に、本実施例における地図データベースの構造について説明する。先に説明した通り、本実施例においては、詳細度の異なるレベルに分けて地図データが用意されており（図１参照）、各レベルにおいては、地図データは、所定の地理的サイズからなるメッシュ単位で格納されている。そして、さらにメッシュ内において、格納される地物のサイズおよびデータ量に基づいて、メッシュを細分化したセルを定義し、セル単位でデータを格納しているのである。以下では、まず、セルの概念を説明し、次に、データの構造について説明する。
【００２２】
図２は、地図データベースのセル構造を示す説明図である。左側に地図データを構成するメッシュの例を示した。
メッシュ内には、種々の地物の形状等を表す地物データが格納されている。図中の例では、池、道路、鉄道、複数の建物の地物データが格納されていることになる。そして、各地物は、２次元的なサイズが異なる。例えば、道路は、メッシュ内のほぼ全域にわたって存在する「長い」地物である。このような２次元的なサイズが大きい地物をここでは大地物と呼ぶ。池や鉄道は、メッシュ内の比較的広い領域を占めるサイズが中程度の地物（以下、「中地物」と呼ぶ）である。大地物、中地物という区分は、地物の属性によって一義的に定まるものではなく、メッシュ内の各地物が占める実際の大きさに基づいて定め得るものである。例えば、図２に示したよりも大きな池が存在する場合には、その池を大地物として扱っても構わない。
このような大地物、中地物以外の２次元的なサイズが比較的小さい建物等は小地物となる。
【００２３】
本実施例では、上述の通り、２次元的なサイズに応じて地物を区分した後、それぞれの地物を管理する単位となるセルを設定する。
大地物の場合は、右側に示すようにメッシュと同サイズのセル１（Ｃ１）となる。中地物の場合は、メッシュよりも小さい２つのセル２（Ｃ２１，Ｃ２２）を設定する。セルＣ２１、Ｃ２２を合わせたサイズのセルを用いるものとしてもよい。セル２を２つのセルＣ２１、Ｃ２２に分割するか否かは、各セルに含まれるデータ量が予め設定された上限値を超えるか否かに基づいて判断する。池および鉄道の地物データの総データ量が、セル２に設定された上限値を超える場合には、セルＣ２１、Ｃ２２に分割して管理することになるし、上限値以下に収まる場合には、セルＣ２１、Ｃ２２を合わせた単一のセルとして管理すればよい。このように、セルＣ２１、Ｃ２２等の形状は、各セルに含まれる地物の大きさと、各セル内の地物のデータ量に基づいて定まる。
小地物の場合も同様に、２つのセル３（Ｃ３１、Ｃ３２）に分けて建物の地物データが管理される。セルＣ３１、Ｃ３２の形状も、各セル内に含まれる地物の形状、およびデータ量に基づいて定められる。図２において、セル３が一つの建物ごとに設定されているのではなく、セルＣ３１には２つの建物、セルＣ３２には４つの建物が格納されているのは、これらの複数の建物を格納した状態でも、各セルのデータ量の上限値以下であることを表している。
【００２４】
左側の図中に示した一点鎖線はセル２を示し、破線はセル３を示している。このように１枚のメッシュ内の地物データは、複数のセルに分割されて管理されることになる。図２の例では、大地物、中地物、小地物という３種類に分類し、それぞれに対してセルを設定したが、大地物、小地物という２種類に分類した上で、小地物についてのみセルを設定するようにしてもよい。
本実施例のセルは、メッシュ内の地物を、単に地理的な区分に基づいて細分化したものではなく、地物自体を大地物、小地物等に分類した上で、分類ごとに設定されるものである。従って、いずれか一つの分類、例えば、小地物を格納するセル３のみを読み込んでも、地図を表示できる訳ではない。適正な地図を表示するためには、セル１〜３の全てを読み込む必要がある。しかし、地図の表示範囲によっては、セルＣ３１のデータさえあれば足り、セルＣ３２のデータは表示範囲外という場合、本実施例によれば、セルＣ３２の読込みを省略できるため、地図表示の処理負荷を軽減することが可能となる。
【００２５】
図３は、地図データベースのデータ構造を示す説明図である。
地図データベースは、図１で示した通り、複数のレベルに分けて管理されている。
各レベルのデータは、所定の地理的サイズの複数のメッシュで構成される。
そして、各メッシュは、図２で示したように、大地物を格納するセル１、中地物を格納するセル２、小地物を格納するセル３に分けられている。セル２は省略してもよいし、４段階以上のセル構造を採用してもよい。
セル１を例に、各地物に対するデータ構造を例示した。各地物に対しては、図示する種々のデータが格納されている。
「地物ＩＤ」は、地物に固有の識別情報である。
「名称」は、地物の名称である。
「位置」は、地物の代表点位置である。例えば、２次元的な形状の重心の座標値を用いることができる。
「形状」は、地物の２次元または３次元形状を表すポリゴンデータである。
「種別」は、道路、建物など、地物の種別を表す情報である。
「表示レベル」は、地図を表示する際の視点からの距離に応じて地物の表示／非表示を制御するための情報である。本実施例では、図中に示すように、表示レベルを０〜３の整数値で示すものとした。表示レベル「０」は、その地物が、視点から比較的近い距離Ｄ１の範囲にある場合に表示されることを表している。同様に、表示レベル「１」は視点から距離Ｄ２までの範囲、表示レベル「２」は視点から距離Ｄ３までの範囲にある場合に表示されることを表している。表示レベル「３」は距離の上限値が設定されていないため、視点からの距離にかかわらず表示されることになる。
表示範囲の例を、図中にハッチングで示した。地物に対して、表示レベル「２」が設定されていると、距離Ｄ３よりも短い範囲、即ち図中にハッチングで示した範囲で表示されることとなる。
【００２６】
Ｃ．地図表示処理：
地図を表示するための処理について説明する。これは、図１に示した主として表示制御部１４０が実行する処理であり、ハードウェア的には地図表示システム１００のＣＰＵが実行する処理である。
【００２７】
図４、図５は、地図表示処理のフローチャートである。
処理を開始すると、地図表示システム１００のＣＰＵは、ユーザからの視点、視線方向、表示スケールの指示を入力する（ステップＳ１０）。これらの指示は、デフォルト値を用いるようにしてもよい。
そして、ＣＰＵは、地図データを読み込むべきレベルおよびメッシュを特定する（ステップＳ１２）。図中に、メッシュの特定方法を例示した。
本実施例では、遠景領域／近景領域の２つの領域で、レベルの異なる２つの地図データを併用して地図を表示する。ＣＰＵは、まず、ユーザから指定された表示スケールに基づき、遠景／近景の各領域のレベルを特定する。例えば、表示スケールとして、広域の表示が指定されている場合には、図１に示したレベルＬＶａを遠景用、ＬＶｂを近景用として選択することになる。これに対し、詳細な表示が指定されている場合には、図１に示したレベルＬＶｂを遠景用、ＬＶｃを近景用として選択することになる。
レベルが選択されると、ＣＰＵは、視点および視線方向に基づき、各レベルで、地図データの読込対象となるメッシュを特定する。図中にメッシュの特定方法を例示した。視点を中心とする扇形状の範囲が地図の表示範囲である。この中で、視点に比較的近い、ハッチングを付した範囲が近景領域となり、その遠方の白抜きの範囲が遠景領域である。
近景用に選択されたレベルの地図データのうち、近景領域と重なるメッシュ、即ち図中の破線で示した９つのメッシュが近景用の地図データにおける読込み対象となる。遠景用についても同様に、遠景領域と重なるメッシュ、即ち図中に実線で示した２つのメッシュが遠景用の地図データにおける読込み対象となる。
後述する通り、本実施例では、遠景領域について描かれた地図画像上に、近景領域の地図画像が上書きされる。従って、遠景領域については、必ずしも地図データの読込み範囲を、遠景領域に限定する必要はない。例えば、視点付近から近景領域、遠景領域の双方を含む範囲を読込み、これら全体を利用して遠景画像を描画しても差し支えない。
【００２８】
次に、ＣＰＵは地図表示位置、視線方向に基づいて、地図データを読み込むべきセルを特定する（ステップＳ１４）。図中にセルの特定方法を例示した。
ステップＳ１２の処理によって、メッシュＭ１、Ｍ２が読込対象として特定されたものとする。メッシュＭ１には、図中に破線で示す通りセルＣ１〜Ｃ６が定義されている。メッシュＭ２には、セルＣ７〜Ｃ１１が定義されている。ＣＰＵは、このメッシュＭ１、Ｍ２に含まれるセルＣ１〜Ｃ１１の中から、地図の表示範囲Ｖ（図中では矩形で表示したが、厳密には透視投影の領域としては扇形状になる）と重なるセルを読込対象として特定する。この結果、図の例では、セルＣ４〜Ｃ９が読込対象となる。
このようにセル単位で読込対象を特定することにより、メッシュＭ１、Ｍ２全体の地図データを読み込む必要がなくなるため、地図データの読込みに要する時間を短縮することができる。
【００２９】
ＣＰＵは、特定されたセルから、視点からの距離が表示レベルを満足する地物データを読み込む（ステップＳ１６）。例えば、図３で示した通り、表示レベル「２」は視点から距離Ｄ３以内で表示されることを意味しているから、この地物が視点から距離Ｄ３より遠方に存在する場合には、読込対象から除外するのである。この判断に用いられる視点から地物までの距離は、地物ごとに個別に算出するものとしてもよいし、セルの代表点（例えば、セルの境界上の視点に最も近い点）を用いて算出してもよい。
上述の処理に代えて、地物データを一旦、読み込んだ後、表示レベルに基づいて、表示／非表示を制御するものとしてもよい。
【００３０】
地物データを読み込むと、ＣＰＵは、遠景領域を透視投影で描画する（ステップＳ１８）。本実施例では、高い視点からの鳥瞰図を描くが、低い視点からのドライバーズビューを描いてもよい。この処理で用いるのは遠景用のレベルの地図データである。
ステップＳ１８の処理では、各点の深度は、デプスバッファに記憶され、隠線処理が行われる。
遠景領域を描画する際に、近景領域との境界付近では、３次元の地物を描画しないように制御する。かかる処理は、近景領域との境界付近に地物を表示しない非表示領域を設定し、各地物ごとに、この非表示領域に属するか否かを判断することによって実現できる。かかる処理に代えて、遠景領域では、地物を一切描画せず、地表面のポリゴンのみを描画するようにしてもよい。
【００３１】
遠景領域の描画が完了すると、ＣＰＵは、デプスバッファをクリアする（ステップＳ２０）。これによって、遠景領域の画像（以下、「遠景画像」という）は、深度の情報を持たない、単なる２次元の背景画像を表すものとなる。
【００３２】
次に、ＣＰＵは、近景領域を透視投影で描画する（ステップＳ２２）。透視投影の視点、視線方向は、遠景領域の描画（ステップＳ１８）と同じである。ステップＳ２２で用いるのは、近景用のレベルの地図データである。
デプスバッファがクリアされているため、近景用の画像（以下、「近景画像」という）は、遠景画像の前面に上書きされることになる。ただし、近景用の画像の透視投影時には改めて深度がデプスバッファに格納されるため、近景用の画像に対しては、隠線処理は適切に施される。
【００３３】
ここで、遠景領域を描画する際に設定した非表示領域の意味について説明する。
本実施例では、上述の通り、デプスバッファをクリアすることにより、遠景画像の上に近景画像を上書きしている。従って、遠景画像と近景画像の境界付近に３次元の地物が描かれている場合、近景画像によって、その一部が不自然に覆い隠されることが生じるおそれがある。上述の通り、遠景画像において境界付近に非表示領域を設け、境界付近で３次元の地物が描かれないようにしておけば、こうした不都合を回避することができるのである。非表示領域の大きさは、近景領域によって上書きされる範囲を踏まえて、上述の目的を達成できるように任意に設定することができる。
【００３４】
Ｄ．３次元地図の表示例および効果：
図６は、３次元地図の表示例を示す説明図である。
図６（ａ）は遠景画像の例を示している。ここでは、近景領域も含めて視点付近から遠方まで全体を遠景領域として描いた例を示した。この例では、遠景画像では、主として地表面のみを描いているが、地物を描くようにしてもよい。
図６（ｂ）は近景画像の例を示している。遠景画像は描かれていない。ここに描画されているのは、図４のステップＳ１２で示したように、視点から近景領域として設定された距離範囲内の透視投影図である。近景領域では、道路等が鳥瞰図で描かれ、また主要な地物については３次元的に描かれている。
図６（ｃ）は遠景画像に、近景画像を重畳した状態を示している。これが本実施例で実現される３次元地図となる。遠方に、遠景画像としての山等が表示され、視点に近い側では、道路、建物等が描かれている。
図６（ｄ）は、比較例として示したものであり、遠景画像を描画した後、デプスバッファをクリアせずに近景画像を描画した場合の例である。近景画像で描画されるはずの道路等はほとんど描かれず、３次元的な地物が不自然に存在する画像となっていることが分かる。
図６（ｅ）は、デプスバッファの影響を表す説明図である。地表ａは遠景領域の地表面、地表ｂは近景領域の地表面を表している。遠景用の地図データと、近景用の地図データには、それぞれ誤差が含まれるため、両者を重ねてみると、地表面高さが地点ごとに異なることがある。遠景領域を描画した後、デプスバッファをクリアせずに近景領域を描画すると、遠景画像と近景画像との間でも隠線処理が行われることになる。この結果、地図データ上、遠景領域の地表面が近景領域の地表面よりも高い地点にある部分では、近景画像が遠景画像の地表面によって覆い隠されることになってしまい、図６（ｄ）に示した不自然な画像となってしまう。
デプスバッファの影響は、このように異なるレベルの地図データ間に不整合がある場合に限られない。両者が完全に整合している場合であっても、表示処理過程における丸め誤差の影響で、結果として図６（ｅ）に示したように地表面の高さに不整合が生じることがあり得る。また、異なるレベルの地図データ間で地表面の高さが完全に一致している場合、今度は、深度が同一の地点に複数のポリゴンが存在することとなり、グラフィックスエンジンがいずれを視認可能に描画させてよいのか判断できず、画像自体が不安定にちらつくという現象も生じる。
本実施例の３次元地図表示システムによれば、遠景画像を描いた後、デプスバッファをクリアすることによって、こうした支障を回避でき、複数レベルの地図データを併用した場合でも、見栄えの良い３次元地図を表示することが可能となる。また、複数レベルの地図データを併用することにより、遠景領域について詳細な地図データを読み込む必要がなくなるから、近景領域では十分詳細な情報を提供しつつ、遠景領域ではデータ量の低い地図データを用いて効率的に地図を描画することが可能となる。
さらに、本実施例では、地図データをメッシュ単位で格納するだけでなく、メッシュを細分化したセル単位で読み出し可能に格納している。こうすることによって、地図表示に無用なデータの読込を回避することができ、地図の表示時にデータ読み出しに要する時間の短縮化を図ることができる。
【００３５】
以上、本発明の実施例について説明した。
本発明の３次元地図表示システムは、必ずしも上述した実施例の全ての機能を備えている必要はなく、一部のみを実現するようにしてもよい。また、上述した内容に追加の機能を設けてもよい。
本発明は上述の実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、実施例においてハードウェア的に構成されている部分は、ソフトウェア的に構成することもでき、その逆も可能である。
【産業上の利用可能性】
【００３６】
本発明は、複数レベルの地図データを併用して３次元地図を表示するために利用可能である。
【符号の説明】
【００３７】
１００…３次元地図表示システム
１１０…コマンド入力部
１２０…地図データ読出部
１２１…レベル・メッシュ設定部
１２２…セル設定部
１３０…地図データベース
１４０…表示制御部
１４１…表示／非表示設定部                           
１４２…遠景描画部
１４３…デプスバッファクリア部
１４４…近景描画部
【図１】
2014186175.tif 000003
【図２】
2014186175.tif 000004
【図３】
2014186175.tif 000005
【図４】
2014186175.tif 000006
【図５】
2014186175.tif 000007
【図６】
2014186175.tif 000008