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

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

▶ 株式会社ジオ技術研究所の特許一覧

<>
  • 特許6087185-3次元地図表示システム 図000002
  • 特許6087185-3次元地図表示システム 図000003
  • 特許6087185-3次元地図表示システム 図000004
  • 特許6087185-3次元地図表示システム 図000005
  • 特許6087185-3次元地図表示システム 図000006
  • 特許6087185-3次元地図表示システム 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6087185
(24)【登録日】2017年2月10日
(45)【発行日】2017年3月1日
(54)【発明の名称】3次元地図表示システム
(51)【国際特許分類】
   G06T 17/05 20110101AFI20170220BHJP
   G09B 29/00 20060101ALI20170220BHJP
   G06T 19/00 20110101ALI20170220BHJP
【FI】
   G06T17/05
   G09B29/00 A
   G06T19/00 A
【請求項の数】7
【全頁数】15
(21)【出願番号】特願2013-61215(P2013-61215)
(22)【出願日】2013年3月25日
(65)【公開番号】特開2014-186175(P2014-186175A)
(43)【公開日】2014年10月2日
【審査請求日】2016年1月14日
(73)【特許権者】
【識別番号】502002186
【氏名又は名称】株式会社ジオ技術研究所
(74)【代理人】
【識別番号】100165663
【弁理士】
【氏名又は名称】加藤 光宏
(72)【発明者】
【氏名】岸川 喜代成
(72)【発明者】
【氏名】手島 英治
(72)【発明者】
【氏名】荒巻 昌稔
(72)【発明者】
【氏名】内海 公志
(72)【発明者】
【氏名】中上 卓
(72)【発明者】
【氏名】阿座上 達也
【審査官】 千葉 久博
(56)【参考文献】
【文献】 特開2012−221459(JP,A)
【文献】 特開2009−217000(JP,A)
【文献】 特開2009−157053(JP,A)
【文献】 特開2005−56075(JP,A)
【文献】 特開平10−83465(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 17/05,19/00
G09B 29/00
(57)【特許請求の範囲】
【請求項1】
3次元地図を表示する3次元地図表示システムであって、
地図の詳細度が異なる複数のレベルにおいて、レベルごとに、前記3次元地図を表示するための地図データを格納する地図データベースと、
前記地図データベースを参照して、指定された視点位置、視線方向からみた3次元地図を表示する表示制御部とを備え、
前記表示制御部は、
前記視点位置から遠い遠景領域ほど地図の詳細度が粗いレベルの地図データを用い、視点位置に近い近景領域ほど地図の詳細度が細かいレベルの地図データを用いて、複数のレベルの地図データを併用するとともに、前記表示制御部は、前記遠景領域については、前記視点位置に近い側に隣接する領域にまたがって地図を描画し、
前記遠景領域から近景領域に向けて順に前記地図を描画し、
前記近景領域は、レベルの異なる地図データによって既に描かれた地図上の各点の深度にかかわらず、上書きによって描画する
3次元地図表示システム。
【請求項2】
請求項1記載の3次元地図表示システムであって、
前記表示制御部は、前記地図の描画に使用する地図データのレベルが変化する直前に、前記各点の深度を記憶しているデプスバッファを、消去してから、次の描画を開始する3次元地図表示システム。
【請求項3】
請求項1または2記載の3次元地図表示システムであって、
前記表示制御部は、地図の描画に使用する地図データのレベルが切りかわる領域の境界を含む所定範囲では、前記視点位置から遠い側の領域には、3次元の地物を描画しないよう表示を制御する3次元地図表示システム。
【請求項4】
請求項1〜3いずれか記載の3次元地図表示システムであって、
前記地図データベースに格納される地図データにおいては、前記3次元地図中に表示される地物ごとに、前記視点位置からの距離に応じて表示/非表示を制御するための表示レベル情報が関連づけられており、
前記表示制御部は、前記表示レベル情報に基づき、前記視点位置からの距離に応じて表示対象とされる地物を用いて前記地図表示を行う
3次元地図表示システム。
【請求項5】
請求項1〜4いずれか記載の3次元地図表示システムであって、
前記地図データベースは、前記レベルごとに設定された地理的サイズからなるメッシュごとに前記地図データを格納しており、
さらに、各メッシュにおいては、
2次元的な地理的サイズが、所定以上の大きさを有する大地物のデータと、その他の小地物のデータとが格納されており、
前記小地物のデータは、前記メッシュよりも小さい地理的サイズのセル単位で読み出し可能に格納されており、
該セルの形状は、前記メッシュを地理的に細分するとともに、各セルに含まれる前記地物のデータ量が所定値を超えないように定義されている
3次元地図表示システム。
【請求項6】
コンピュータによって、3次元地図を表示する3次元地図表示方法であって、
地図の詳細度が異なる複数のレベルにおいて、レベルごとに、前記3次元地図を表示するための地図データを格納する地図データベースを有しており、
前記コンピュータが実行する工程として、
前記地図データベースを参照して、指定された視点位置、視線方向からみた3次元地図を表示する表示制御工程を備え、
前記表示制御工程は、
前記視点位置から遠い遠景領域ほど地図の詳細度が粗いレベルの地図データを用い、視点位置に近い近景領域ほど地図の詳細度が細かいレベルの地図データを用いて、複数のレベルの地図データを併用するとともに、前記遠景領域については、前記視点位置に近い側に隣接する領域にまたがって地図を描画し、
前記遠景領域から近景領域に向けて順に前記地図を描画し、
前記近景領域は、レベルの異なる地図データによって既に描かれた地図上の各点の深度にかかわらず、上書きによって描画する工程である
コンピュータによる3次元地図表示方法。
【請求項7】
地図の詳細度が異なる複数のレベルにおいて、レベルごとに、前記3次元地図を表示するための地図データを格納する地図データベースを有するコンピュータによって、3次元地図を表示させるためのコンピュータプログラムであって、
前記地図データベースを参照して、指定された視点位置、視線方向からみた3次元地図を表示する表示制御機能であって、
前記表示制御部機能として
前記視点位置から遠い遠景領域ほど地図の詳細度が粗いレベルの地図データを用い、視点位置に近い近景領域ほど地図の詳細度が細かいレベルの地図データを用いて、複数のレベルの地図データを併用するとともに、前記遠景領域については、前記視点位置に近い側に隣接する領域にまたがって地図を描画する機能と、
前記遠景領域から近景領域に向けて順に前記地図を描画する機能と、
前記近景領域は、レベルの異なる地図データによって既に描かれた地図上の各点の深度にかかわらず、上書きによって描画する機能とを
前記コンピュータに実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の地図データを併用して3次元地図を表示する3次元地図表示システムに関する。
【背景技術】
【0002】
ナビゲーション装置やコンピュータの画面等に用いられる電子地図では、建物などの地物を3次元的に表現した3次元地図が用いられることがある。3次元地図は、通常、3次元モデルを透視投影などで3次元的に描くことによって表示される。
ここで、3次元地図には、多数の地物が含まれ、地表面もポリゴンで表現するため、3次元モデルの数も多量となり、3次元地図の描画処理にかかる負荷は非常に高くなることがある。特に、高い視点から見た鳥瞰図を描く場合、地図の表示範囲が広域となるため、表示にかかる処理負荷は、非常に高くなることがある。
【0003】
こうした処理負荷を軽減するため、3次元地図、特に鳥瞰図の地図表示時において、詳細度の異なる複数の地図データを併用することが行われている。例えば、特許文献1、2は、ともに立体鳥瞰地図を表示する際に、地図の表示領域を上下に2分割し、詳細な地図データを用いて視点に近い下側領域を表示し、それよりも粗い広域地図データを用いて視点から遠方の上側領域を表示する技術を開示する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4422125号公報
【特許文献2】特許第3362533号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
一般に地図データは、所定サイズからなるメッシュに区切って生成・格納されている。地図は種々の視点、視線方向で描かれるから、複数の地図データを併用する場合には、使用する地図データを切り換える地図表示上の境界と、地図データのメッシュの境界とが必ずしも一致するとは限らない。従って、実際に複数の地図データを併用して地図表示を行ってみると、地図表示上の境界付近では、複数の地図データによって地図が重なって描画されることがあり、両データの不整合や、グラフィックスエンジンによる表示処理等に起因する表示上の乱れが生じ、地図の見栄えを損ねることがあった。
こうした課題は、鳥瞰図のみに特有のものではなく、複数の地図データをする限り、3次元地図を低い視点から描いたドライバーズビューの場合も共通に生じ得るものである。また、地図データが必ずしもメッシュ単位で格納されている場合にも限らず、複数の地図データを併用して地図を表示する場合に共通の課題である。
本発明は、複数の地図データを併用して3次元地図を表示する際に、地図表示上の境界等で生じる表示上の乱れを回避し、見栄えの向上を図ることを目的とする。
【課題を解決するための手段】
【0006】
本発明は、3次元地図を表示する3次元地図表示システムであって、
地図の詳細度が異なる複数のレベルにおいて、レベルごとに、前記3次元地図を表示するための地図データを格納する地図データベースと、
前記地図データベースを参照して、指定された視点位置、視線方向からみた3次元地図を表示する表示制御部とを備え、
前記表示制御部は、
前記視点位置から遠い遠景領域ほど地図の詳細度が粗いレベルの地図データを用い、視点位置に近い近景領域ほど地図の詳細度が細かいレベルの地図データを用いて、複数のレベルの地図データを併用して地図を描画し、
前記遠景領域から近景領域に向けて順に前記地図を描画し、
前記近景領域は、既に描かれた地図上の各点の深度にかかわらず、上書きによって描画する
3次元地図表示システムとして構成することができる。
【0007】
本発明では、詳細度が異なる複数のレベルからなる地図データを併用する。詳細度が細かいレベルの地図データには、詳細度が粗い地図データよりも、多数の建物等の地物のデータなどが格納されることになる。逆に詳細度が粗いレベルの地図データには、主要な道路、建物などが格納されることになる。描画に併用する地図データは、2つのレベルであってもよいし、3つ以上であってもよい。また、これらの地図データは、必ずしも所定の地理的サイズからなるメッシュ単位で格納されている必要はない。
本発明によれば、3次元地図を描く際の視点位置からの距離に応じてレベルの異なる地図データを併用する。即ち、視点位置から遠い遠景領域ほど粗いレベルの地図データを併用し、近い近景領域ほど細かいレベルの地図データを併用する。こうすることによって、近景領域ではユーザに十分な地理的情報を与えつつ、遠景領域では広域の地図を軽い負荷で表示することができる。
【0008】
また、一般に3次元のグラフィックス表示においては、視点から視認できるか否かに応じて、ポリゴンの描画を制御する隠線処理を実現するため、視点からポリゴン上の各点までの距離、即ち深度(デプス)を何らかの方法で記録しながら表示処理を実行しているのが通常である。しかし、本発明では、遠景領域を描いた後、近景領域を描く際に、敢えて、遠景領域の各点については深度にかかわらず上書きで描画するのである。従って、遠景領域と近景領域との間では、3次元モデル内で視点からどちらが視認できる位置にあるかを考慮することなく、無条件に近景領域が優先して描かれることになる。近景領域内の各点については、当然、深度を考慮して隠線処理を行って構わない。
本願の発明者は、複数の地図データを併用した3次元地図表示において、両地図データによって描かれた地図が重なる領域で表示が乱れることの原因が、深度の処理にあることを見いだした。複数の地図データ間に誤差があれば、両地図データによって描かれた地図が重なる領域では、本来、下に描かれるべき遠景領域側の地表面が近景領域の地物を隠すように描かれてしまうことがある。地図データが正確であったとしても、丸め誤差によって同様の問題が生じ得る。また、遠景領域と近景領域とで、丸め誤差も含めて完全に高さが同一値となれば、グラフィックスエンジンは、どちらを視認できるように表示してよいかの判断がつかず、画像が不安定にちらつくことになる。
本発明は、遠景領域を描いた後、近景領域を描く際には、遠景領域の深度と無関係に近景領域を上書きする。こうすることによって、上述した深度の問題点を回避することができ、描画に用いる地図データのレベルが切り替わる境界付近での表示を安定させ、見栄え向上を図ることができる。
【0009】
本発明においては、先に描かれた遠景領域の深度を記憶しつつ、近景領域を描く際に無視する方法をとることもできるが、
前記表示制御部は、前記地図の描画に使用する地図データのレベルが変化する直前に、前記各点の深度を記憶しているデプスバッファを、消去してから、次の描画を開始するものとしてもよい。
こうすることによって、簡易な方法で、深度に起因する表示上の障害を回避することができる。
【0010】
また、本発明において、
前記表示制御部は、地図の描画に使用する地図データのレベルが切りかわる領域の境界を含む所定範囲では、前記視点位置から遠い側の領域には、3次元の地物を描画しないよう表示を制御するものとしてもよい。
本発明においては、近景領域を描く際に、遠景領域についての深度を無視してしまうため、遠景領域において境界付近に3次元の地物が描画されていると、近景領域の地図によって不自然に隠される事態が生じ得る。本態様のように、境界付近で3次元地物を描画しないように制御すれば、こうした弊害を回避することが可能となる。
境界を含む所定範囲は、近景領域の広さ等を考慮して、任意に設定可能である。例えば、遠景領域と近景領域との境界が、十分遠方にある場合には、遠景領域では、全域において地物を描画しないようにしてもよい。つまり、遠景領域では、地表面のポリゴンのみを描画するのである。こうすることによって、遠景領域の描画をさらに簡略化することが可能となる。
【0011】
本発明において、
前記表示制御部は、前記遠景領域については、前記視点位置に近い側に隣接する領域にまたがって地図を描画することが許容されているものとしてもよい。
こうすることによって、遠景領域において、地図データのレベルが切り替わる領域の境界を特定し、データの切り出し等を行う必要がなくなるため、3次元地図の表示処理をより簡素化することが可能となる。
【0012】
本発明において、
前記地図データベースに格納される地図データにおいては、前記3次元地図中に表示される地物ごとに、前記視点位置からの距離に応じて表示/非表示を制御するための表示レベル情報が関連づけられており、
前記表示制御部は、前記表示レベル情報に基づき、前記視点位置からの距離に応じて表示対象とされる地物を用いて前記地図表示を行うものとしてもよい。
こうすることにより、視点位置からの距離に応じて地物の表示/非表示を比較的容易に制御することができる。かかる表示レベル情報の内容は、任意に設定できるが、例えば、当該地物を表示する上限の距離範囲を指定する内容としてもよい。こうすることによって、視点位置から近い場所にその地物が存在するときには、地物が地図上に表示され、視点位置から遠いときには非表示とすることができる。ランドマークのような主要な地物については、この上限の距離範囲を大きくし、一般家屋のような地物に対しては、小さく設定しておけば、視点位置に近い領域では多数の地物を詳細に表示することができ、遠方の領域では、主要な地物のみを表示させることができる。
また、表示レベル情報の内容としては、地物を表示する下限の距離範囲を指定する内容としてもよい。つまり、視点位置からの距離が所定値以上の場合にのみ、当該地物は表示されることになる。かかる表示レベル情報を、遠景領域の描画用の地図データに付しておくことにより、遠景領域の描画時に、近景領域によって覆い隠される部分に3次元の地物が描かれることを容易に回避でき、表示上の支障を避けることが可能となる利点がある。
【0013】
本発明において、地図データベースは種々の構成をとることができる。例えば、
前記地図データベースは、前記レベルごとに設定された地理的サイズからなるメッシュごとに前記地図データを格納しており、
さらに、各メッシュにおいては、
2次元的な地理的サイズが、所定以上の大きさを有する大地物のデータと、その他の小地物のデータとが格納されており、
前記小地物のデータは、前記メッシュよりも小さい地理的サイズのセル単位で読み出し可能に格納されており、
該セルの形状は、前記メッシュを地理的に細分するとともに、各セルに含まれる前記地物のデータ量が所定値を超えないように定義されているものとしてもよい。
上記態様では、第1に地図はメッシュ単位で格納されるため、管理・読み出しが容易となる。メッシュのサイズは、地図のレベルごとに異なっていても差し支えない。
また上記態様では、地物をさらにセルに分けて格納する。ここで、セルに格納されるのは、メッシュ内に存在する全ての地物ではなく、小地物のみである。例えば、道路のように長い地物、海などのように面積の大きい地物を大地物と扱い、建物のように2次元的な面積が小さい地物を小地物として扱うことができる。
都市部などでは、建物など地物が集中している密集領域が存在し、こうした密集領域では、地物のデータ容量が多大となる。このような場合に、メッシュ単位でデータの読込みを行うものとすれば、あるメッシュのうち、密集領域以外の部分しか地図表示に使用しない場合でも、大容量のデータを読み込む必要が生じ、地図表示時の処理に時間がかかることとなる。これに対し、本発明によれば、セル単位で読み出し可能に細分化して格納されているため、地図表示に必要な部分だけを読み込むことができ、地図表示時の効率向上を図ることができる。
【0014】
本発明においては、上述した種々の特徴を必ずしも全て備えている必要はなく、適宜、その一部を省略したり、組み合わせたりして構成してもよい。
本発明は、その他、コンピュータによって3次元地図を表示する3次元地図表示方法として構成してもよいし、かかる表示をコンピュータに実行させるためのコンピュータプログラムとして構成してもよい。また、かかるコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体として構成してもよい。
【図面の簡単な説明】
【0015】
図1】3次元地図表示システムの構成を示す説明図である。
図2】地図データベースのセル構造を示す説明図である。
図3】地図データベースのデータ構造を示す説明図である。
図4】地図表示処理のフローチャート(1)である。
図5】地図表示処理のフローチャート(2)である。
図6】3次元地図の表示例を示す説明図である。
【発明を実施するための形態】
【実施例1】
【0016】
本発明につき、パーソナルコンピュータを利用して、そのディスプレイ上に3次元地図を表示する3次元地図表示システムとして構成した実施例を説明する。本発明は、経路探索・経路案内装置など、他の装置の3次元地図表示機能として組み込む態様で適用することも可能である。
【0017】
A.システム構成:
図1は、3次元地図表示システム100の構成を示す説明図である。3次元地図表示システムは、パーソナルコンピュータを用いて構成されており、ディスプレイ上に、ユーザからの指示に従って3次元地図を表示するシステムである。
本実施例では、パーソナルコンピュータを利用したスタンドアロンのシステムを例示するが、地図データベース130等をサーバに格納し、サーバとパーソナルコンピュータとをネットワークで接続したシステムとして構成してもよい。また地図を表示する端末としては、パーソナルコンピュータだけでなく、タブレット端末、携帯電話、スマートフォンなど種々の端末を利用可能である。
【0018】
3次元地図表示システムは、図示する種々の機能ブロックを有している。これらの機能ブロックは、それぞれの機能を実現するソフトウェアをインストールすることによって構成することができるが、その一部または全部をハードウェア的に構成してもよい。
地図データベース130は、3次元地図の表示するために地物の3次元形状等を表した3次元モデル等を含む地図データを格納している。本実施例では、図中に示すように地図データは、複数のレベルLVa〜LVcに分けて格納されている。いずれも所定のサイズのメッシュに区切って管理されている。レベルLVcは、最も詳細度が高いデータ、即ち、細い道路や、小さな地物までデータを格納している。レベルLVcは、必然的にデータ容量が大きくなるため、比較的小さなメッシュに区切って管理されている。レベルLVbは、レベルLVcよりも、若干、詳細度が低くなっている。レベルLVbでは、細かな道路等のデータは省略され、標準的な道路、建物等のデータが格納されている。レベルLVbのメッシュサイズは、レベルLVcよりも大きく設定されている。レベルLVaは、さらに詳細度を低くしたデータである。高速道路などのような主要な道路、およびランドマークとなるような主要な建物等に絞ってデータが格納されている。レベルLVaのメッシュサイズは、レベルLVbよりもさらに大きなサイズに設定されている。
地図データは、このようにレベルに分けて格納されているが、地物のデータが各レベルのいずれかに選択的に格納されている訳ではない。例えば、ランドマークのような主要な建物は、レベルLVa〜LVcの全レベルに共通して格納されることになる。つまり、各レベルのデータは、いずれを用いても、そのレベルに応じた詳細度で地図を表示可能なものとなっている。
本実施例では、地図データは、メッシュをさらに細分したセルで管理されている。このセルの構造については後述する。
【0019】
コマンド入力部110は、3次元地図表示に関するユーザからの指示を受け付ける。例えば、地図を表示するための視点位置、視線方向、表示範囲(スケール)などの指示が含まれる。
地図データ読出部120は、地図データベース130から、地図データを読み出す機能を奏する。レベル・メッシュ設定部121は、ユーザから指定された視点位置等に応じて、地図データベース130のうちのどのレベル、どのメッシュのデータを使用するかを決定する。セル設定部122は、レベル・メッシュ設定部121によって設定されたメッシュ内において、どのセルに格納されたデータを用いるかを決定する。地図データ読出部120は、こうして設定されたメッシュ、セルから地図表示のためのデータを読み込むのである。
本実施例では、1枚の3次元地図を表示するために、複数のレベルの地図データを併用する。地図データ併用の制御については、後述する。
【0020】
表示制御部140は、地図データベース130の地図データを用いて3次元地図を表示する。
本実施例では、地図を視点位置から遠方の遠景領域と、視点位置に近い近景領域の2つに分け、それぞれ異なるレベルの地図データを用いて、以下の方法で表示を行う。
表示/非表示設定部141は、視点位置からの距離に応じて地図データに格納された各地物の表示/非表示を決定する。この処理は、遠景領域、近景領域の双方に共通の処理である。
遠景描画部142は、遠景領域の地図を描画する。本実施例では、指定された視点位置からの透視投影による鳥瞰図を描画するものとした。視点位置を低く設定した状態で描画するものとしてもよい。3次元では、いわゆる隠線処理のため、投影時の各点の視点からの距離、即ち深度がデプスバッファに記憶されている。遠景領域の描画時も、各点の深度は、デプスバッファに記憶される。
デプスバッファクリア部143は、遠景領域描画時に記憶されたデプスバッファの値を初期化する。この処理により、描画された遠景領域は、3次元的な意味を有さない、一枚の2次元的な背景画像を構成することになる。
近景描画部144は、デプスバッファが初期化された後、近景領域の地図を描画する。近景領域の描画方法は、遠景領域と同じ視点、同じ投影方法を用いて行う。また、近景描画時には各点の深度が新たにデプスバッファに記憶され、これに基づいて隠線処理が施されることになる。ただし、遠景領域は、ただの背景画像としての扱いとなっているから、近景領域は、遠景領域に上書きされることとなる。
【0021】
B.地図データベースの構造:
次に、本実施例における地図データベースの構造について説明する。先に説明した通り、本実施例においては、詳細度の異なるレベルに分けて地図データが用意されており(図1参照)、各レベルにおいては、地図データは、所定の地理的サイズからなるメッシュ単位で格納されている。そして、さらにメッシュ内において、格納される地物のサイズおよびデータ量に基づいて、メッシュを細分化したセルを定義し、セル単位でデータを格納しているのである。以下では、まず、セルの概念を説明し、次に、データの構造について説明する。
【0022】
図2は、地図データベースのセル構造を示す説明図である。左側に地図データを構成するメッシュの例を示した。
メッシュ内には、種々の地物の形状等を表す地物データが格納されている。図中の例では、池、道路、鉄道、複数の建物の地物データが格納されていることになる。そして、各地物は、2次元的なサイズが異なる。例えば、道路は、メッシュ内のほぼ全域にわたって存在する「長い」地物である。このような2次元的なサイズが大きい地物をここでは大地物と呼ぶ。池や鉄道は、メッシュ内の比較的広い領域を占めるサイズが中程度の地物(以下、「中地物」と呼ぶ)である。大地物、中地物という区分は、地物の属性によって一義的に定まるものではなく、メッシュ内の各地物が占める実際の大きさに基づいて定め得るものである。例えば、図2に示したよりも大きな池が存在する場合には、その池を大地物として扱っても構わない。
このような大地物、中地物以外の2次元的なサイズが比較的小さい建物等は小地物となる。
【0023】
本実施例では、上述の通り、2次元的なサイズに応じて地物を区分した後、それぞれの地物を管理する単位となるセルを設定する。
大地物の場合は、右側に示すようにメッシュと同サイズのセル1(C1)となる。中地物の場合は、メッシュよりも小さい2つのセル2(C21,C22)を設定する。セルC21、C22を合わせたサイズのセルを用いるものとしてもよい。セル2を2つのセルC21、C22に分割するか否かは、各セルに含まれるデータ量が予め設定された上限値を超えるか否かに基づいて判断する。池および鉄道の地物データの総データ量が、セル2に設定された上限値を超える場合には、セルC21、C22に分割して管理することになるし、上限値以下に収まる場合には、セルC21、C22を合わせた単一のセルとして管理すればよい。このように、セルC21、C22等の形状は、各セルに含まれる地物の大きさと、各セル内の地物のデータ量に基づいて定まる。
小地物の場合も同様に、2つのセル3(C31、C32)に分けて建物の地物データが管理される。セルC31、C32の形状も、各セル内に含まれる地物の形状、およびデータ量に基づいて定められる。図2において、セル3が一つの建物ごとに設定されているのではなく、セルC31には2つの建物、セルC32には4つの建物が格納されているのは、これらの複数の建物を格納した状態でも、各セルのデータ量の上限値以下であることを表している。
【0024】
左側の図中に示した一点鎖線はセル2を示し、破線はセル3を示している。このように1枚のメッシュ内の地物データは、複数のセルに分割されて管理されることになる。図2の例では、大地物、中地物、小地物という3種類に分類し、それぞれに対してセルを設定したが、大地物、小地物という2種類に分類した上で、小地物についてのみセルを設定するようにしてもよい。
本実施例のセルは、メッシュ内の地物を、単に地理的な区分に基づいて細分化したものではなく、地物自体を大地物、小地物等に分類した上で、分類ごとに設定されるものである。従って、いずれか一つの分類、例えば、小地物を格納するセル3のみを読み込んでも、地図を表示できる訳ではない。適正な地図を表示するためには、セル1〜3の全てを読み込む必要がある。しかし、地図の表示範囲によっては、セルC31のデータさえあれば足り、セルC32のデータは表示範囲外という場合、本実施例によれば、セルC32の読込みを省略できるため、地図表示の処理負荷を軽減することが可能となる。
【0025】
図3は、地図データベースのデータ構造を示す説明図である。
地図データベースは、図1で示した通り、複数のレベルに分けて管理されている。
各レベルのデータは、所定の地理的サイズの複数のメッシュで構成される。
そして、各メッシュは、図2で示したように、大地物を格納するセル1、中地物を格納するセル2、小地物を格納するセル3に分けられている。セル2は省略してもよいし、4段階以上のセル構造を採用してもよい。
セル1を例に、各地物に対するデータ構造を例示した。各地物に対しては、図示する種々のデータが格納されている。
「地物ID」は、地物に固有の識別情報である。
「名称」は、地物の名称である。
「位置」は、地物の代表点位置である。例えば、2次元的な形状の重心の座標値を用いることができる。
「形状」は、地物の2次元または3次元形状を表すポリゴンデータである。
「種別」は、道路、建物など、地物の種別を表す情報である。
「表示レベル」は、地図を表示する際の視点からの距離に応じて地物の表示/非表示を制御するための情報である。本実施例では、図中に示すように、表示レベルを0〜3の整数値で示すものとした。表示レベル「0」は、その地物が、視点から比較的近い距離D1の範囲にある場合に表示されることを表している。同様に、表示レベル「1」は視点から距離D2までの範囲、表示レベル「2」は視点から距離D3までの範囲にある場合に表示されることを表している。表示レベル「3」は距離の上限値が設定されていないため、視点からの距離にかかわらず表示されることになる。
表示範囲の例を、図中にハッチングで示した。地物に対して、表示レベル「2」が設定されていると、距離D3よりも短い範囲、即ち図中にハッチングで示した範囲で表示されることとなる。
【0026】
C.地図表示処理:
地図を表示するための処理について説明する。これは、図1に示した主として表示制御部140が実行する処理であり、ハードウェア的には地図表示システム100のCPUが実行する処理である。
【0027】
図4図5は、地図表示処理のフローチャートである。
処理を開始すると、地図表示システム100のCPUは、ユーザからの視点、視線方向、表示スケールの指示を入力する(ステップS10)。これらの指示は、デフォルト値を用いるようにしてもよい。
そして、CPUは、地図データを読み込むべきレベルおよびメッシュを特定する(ステップS12)。図中に、メッシュの特定方法を例示した。
本実施例では、遠景領域/近景領域の2つの領域で、レベルの異なる2つの地図データを併用して地図を表示する。CPUは、まず、ユーザから指定された表示スケールに基づき、遠景/近景の各領域のレベルを特定する。例えば、表示スケールとして、広域の表示が指定されている場合には、図1に示したレベルLVaを遠景用、LVbを近景用として選択することになる。これに対し、詳細な表示が指定されている場合には、図1に示したレベルLVbを遠景用、LVcを近景用として選択することになる。
レベルが選択されると、CPUは、視点および視線方向に基づき、各レベルで、地図データの読込対象となるメッシュを特定する。図中にメッシュの特定方法を例示した。視点を中心とする扇形状の範囲が地図の表示範囲である。この中で、視点に比較的近い、ハッチングを付した範囲が近景領域となり、その遠方の白抜きの範囲が遠景領域である。
近景用に選択されたレベルの地図データのうち、近景領域と重なるメッシュ、即ち図中の破線で示した9つのメッシュが近景用の地図データにおける読込み対象となる。遠景用についても同様に、遠景領域と重なるメッシュ、即ち図中に実線で示した2つのメッシュが遠景用の地図データにおける読込み対象となる。
後述する通り、本実施例では、遠景領域について描かれた地図画像上に、近景領域の地図画像が上書きされる。従って、遠景領域については、必ずしも地図データの読込み範囲を、遠景領域に限定する必要はない。例えば、視点付近から近景領域、遠景領域の双方を含む範囲を読込み、これら全体を利用して遠景画像を描画しても差し支えない。
【0028】
次に、CPUは地図表示位置、視線方向に基づいて、地図データを読み込むべきセルを特定する(ステップS14)。図中にセルの特定方法を例示した。
ステップS12の処理によって、メッシュM1、M2が読込対象として特定されたものとする。メッシュM1には、図中に破線で示す通りセルC1〜C6が定義されている。メッシュM2には、セルC7〜C11が定義されている。CPUは、このメッシュM1、M2に含まれるセルC1〜C11の中から、地図の表示範囲V(図中では矩形で表示したが、厳密には透視投影の領域としては扇形状になる)と重なるセルを読込対象として特定する。この結果、図の例では、セルC4〜C9が読込対象となる。
このようにセル単位で読込対象を特定することにより、メッシュM1、M2全体の地図データを読み込む必要がなくなるため、地図データの読込みに要する時間を短縮することができる。
【0029】
CPUは、特定されたセルから、視点からの距離が表示レベルを満足する地物データを読み込む(ステップS16)。例えば、図3で示した通り、表示レベル「2」は視点から距離D3以内で表示されることを意味しているから、この地物が視点から距離D3より遠方に存在する場合には、読込対象から除外するのである。この判断に用いられる視点から地物までの距離は、地物ごとに個別に算出するものとしてもよいし、セルの代表点(例えば、セルの境界上の視点に最も近い点)を用いて算出してもよい。
上述の処理に代えて、地物データを一旦、読み込んだ後、表示レベルに基づいて、表示/非表示を制御するものとしてもよい。
【0030】
地物データを読み込むと、CPUは、遠景領域を透視投影で描画する(ステップS18)。本実施例では、高い視点からの鳥瞰図を描くが、低い視点からのドライバーズビューを描いてもよい。この処理で用いるのは遠景用のレベルの地図データである。
ステップS18の処理では、各点の深度は、デプスバッファに記憶され、隠線処理が行われる。
遠景領域を描画する際に、近景領域との境界付近では、3次元の地物を描画しないように制御する。かかる処理は、近景領域との境界付近に地物を表示しない非表示領域を設定し、各地物ごとに、この非表示領域に属するか否かを判断することによって実現できる。かかる処理に代えて、遠景領域では、地物を一切描画せず、地表面のポリゴンのみを描画するようにしてもよい。
【0031】
遠景領域の描画が完了すると、CPUは、デプスバッファをクリアする(ステップS20)。これによって、遠景領域の画像(以下、「遠景画像」という)は、深度の情報を持たない、単なる2次元の背景画像を表すものとなる。
【0032】
次に、CPUは、近景領域を透視投影で描画する(ステップS22)。透視投影の視点、視線方向は、遠景領域の描画(ステップS18)と同じである。ステップS22で用いるのは、近景用のレベルの地図データである。
デプスバッファがクリアされているため、近景用の画像(以下、「近景画像」という)は、遠景画像の前面に上書きされることになる。ただし、近景用の画像の透視投影時には改めて深度がデプスバッファに格納されるため、近景用の画像に対しては、隠線処理は適切に施される。
【0033】
ここで、遠景領域を描画する際に設定した非表示領域の意味について説明する。
本実施例では、上述の通り、デプスバッファをクリアすることにより、遠景画像の上に近景画像を上書きしている。従って、遠景画像と近景画像の境界付近に3次元の地物が描かれている場合、近景画像によって、その一部が不自然に覆い隠されることが生じるおそれがある。上述の通り、遠景画像において境界付近に非表示領域を設け、境界付近で3次元の地物が描かれないようにしておけば、こうした不都合を回避することができるのである。非表示領域の大きさは、近景領域によって上書きされる範囲を踏まえて、上述の目的を達成できるように任意に設定することができる。
【0034】
D.3次元地図の表示例および効果:
図6は、3次元地図の表示例を示す説明図である。
図6(a)は遠景画像の例を示している。ここでは、近景領域も含めて視点付近から遠方まで全体を遠景領域として描いた例を示した。この例では、遠景画像では、主として地表面のみを描いているが、地物を描くようにしてもよい。
図6(b)は近景画像の例を示している。遠景画像は描かれていない。ここに描画されているのは、図4のステップS12で示したように、視点から近景領域として設定された距離範囲内の透視投影図である。近景領域では、道路等が鳥瞰図で描かれ、また主要な地物については3次元的に描かれている。
図6(c)は遠景画像に、近景画像を重畳した状態を示している。これが本実施例で実現される3次元地図となる。遠方に、遠景画像としての山等が表示され、視点に近い側では、道路、建物等が描かれている。
図6(d)は、比較例として示したものであり、遠景画像を描画した後、デプスバッファをクリアせずに近景画像を描画した場合の例である。近景画像で描画されるはずの道路等はほとんど描かれず、3次元的な地物が不自然に存在する画像となっていることが分かる。
図6(e)は、デプスバッファの影響を表す説明図である。地表aは遠景領域の地表面、地表bは近景領域の地表面を表している。遠景用の地図データと、近景用の地図データには、それぞれ誤差が含まれるため、両者を重ねてみると、地表面高さが地点ごとに異なることがある。遠景領域を描画した後、デプスバッファをクリアせずに近景領域を描画すると、遠景画像と近景画像との間でも隠線処理が行われることになる。この結果、地図データ上、遠景領域の地表面が近景領域の地表面よりも高い地点にある部分では、近景画像が遠景画像の地表面によって覆い隠されることになってしまい、図6(d)に示した不自然な画像となってしまう。
デプスバッファの影響は、このように異なるレベルの地図データ間に不整合がある場合に限られない。両者が完全に整合している場合であっても、表示処理過程における丸め誤差の影響で、結果として図6(e)に示したように地表面の高さに不整合が生じることがあり得る。また、異なるレベルの地図データ間で地表面の高さが完全に一致している場合、今度は、深度が同一の地点に複数のポリゴンが存在することとなり、グラフィックスエンジンがいずれを視認可能に描画させてよいのか判断できず、画像自体が不安定にちらつくという現象も生じる。
本実施例の3次元地図表示システムによれば、遠景画像を描いた後、デプスバッファをクリアすることによって、こうした支障を回避でき、複数レベルの地図データを併用した場合でも、見栄えの良い3次元地図を表示することが可能となる。また、複数レベルの地図データを併用することにより、遠景領域について詳細な地図データを読み込む必要がなくなるから、近景領域では十分詳細な情報を提供しつつ、遠景領域ではデータ量の低い地図データを用いて効率的に地図を描画することが可能となる。
さらに、本実施例では、地図データをメッシュ単位で格納するだけでなく、メッシュを細分化したセル単位で読み出し可能に格納している。こうすることによって、地図表示に無用なデータの読込を回避することができ、地図の表示時にデータ読み出しに要する時間の短縮化を図ることができる。
【0035】
以上、本発明の実施例について説明した。
本発明の3次元地図表示システムは、必ずしも上述した実施例の全ての機能を備えている必要はなく、一部のみを実現するようにしてもよい。また、上述した内容に追加の機能を設けてもよい。
本発明は上述の実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、実施例においてハードウェア的に構成されている部分は、ソフトウェア的に構成することもでき、その逆も可能である。
【産業上の利用可能性】
【0036】
本発明は、複数レベルの地図データを併用して3次元地図を表示するために利用可能である。
【符号の説明】
【0037】
100…3次元地図表示システム
110…コマンド入力部
120…地図データ読出部
121…レベル・メッシュ設定部
122…セル設定部
130…地図データベース
140…表示制御部
141…表示/非表示設定部
142…遠景描画部
143…デプスバッファクリア部
144…近景描画部
図1
図2
図3
図4
図5
図6