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