(57)【特許請求の範囲】
【請求項１】
地物を３次元的に表現した３次元地図を表示する３次元地図表示システムであって、
前記地物をポリゴンによって３次元的に表示するための３次元ポリゴンデータを格納する３次元ポリゴンデータ記憶部と、
予め設定された複数の視点位置および視線方向ごとに、前記３次元地図の表示時に行われる前記ポリゴンの明度調整値を求める演算の一部を事前に確定する表示制御データを格納する表示制御データ記憶部と、
３次元地図を表示する視点位置および視線方向を入力する入力部と、
前記入力された視点位置および視線方向に基づき、前記表示制御データ記憶部を参照して特定される表示制御データ、および前記３次元ポリゴンデータを用いて前記３次元地図を表示する表示制御部とを備える３次元地図表示システム。
【請求項２】
請求項１記載の３次元地図表示システムであって、
前記表示制御部が前記３次元地図の表示に用いる前記表示制御データは、複数の視線方向について定まる表示制御データの演算によって確定されたデータである３次元地図表示システム。
【請求項３】
請求項２記載の３次元地図表示システムであって、
前記表示制御データ記憶部は、前記演算によって確定されたデータを記憶している３次元地図表示システム。
【請求項４】
請求項２記載の３次元地図表示システムであって、
前記表示制御データ記憶部は、前記演算によって確定される前のデータを記憶しており、
前記表示制御部は、前記表示制御データ記憶部に記憶された複数の視線方向に対応する表示制御データの演算によって、前記３次元表示に用いるべき表示制御データを確定する３次元地図表示システム。
【請求項５】
地図表示システムが地物を３次元的に表現した３次元地図を表示するために用いる表示制御データを生成するデータ生成装置であって、
前記地図表示システムは、
前記地物をポリゴンによって３次元的に表示するための３次元ポリゴンデータを格納する３次元ポリゴンデータ記憶部と、
予め設定された複数の視点位置および視線方向ごとに、前記３次元地図の表示時に行われる前記ポリゴンの明度調整値を求める演算の一部を事前に確定する表示制御データを格納する表示制御データ記憶部と、
３次元地図を表示する視点位置および視線方向を入力する入力部と、
前記入力された視点位置および視線方向に基づき、前記表示制御データ記憶部を参照して特定される表示制御データ、および前記３次元ポリゴンデータを用いて前記３次元地図を表示する表示制御部とを備えており、
前記データ生成装置は、
前記表示制御データを設定すべき複数の視点位置および視線方向を設定し、
該設定された視点位置および視線方向に対して、前記表示制御データを設定し、
該設定された表示制御データを、前記表示制御データ記憶部に格納する表示制御データ設定部を備えるデータ生成装置。
【請求項６】
コンピュータによって、地物を３次元的に表現した３次元地図を表示する３次元地図表示方法であって、
前記コンピュータは、前記地物をポリゴンによって３次元的に表示するための３次元ポリゴンデータと、
予め設定された複数の視点位置および視線方向ごとに、前記３次元地図の表示時に行われる前記ポリゴンの明度調整値を求める演算の一部を事前に確定する表示制御データを格納した表示制御データ記憶部を有しており、
前記３次元地図表示方法は、前記コンピュータが、
３次元地図を表示する視点位置および視線方向を入力する工程と、
前記入力された視点位置および視線方向に基づき、前記表示制御データ記憶部を参照して表示制御データを特定する工程と、
前記表示制御データおよび前記３次元ポリゴンデータを用いて前記３次元地図を表示する工程とを備える３次元地図表示方法。
【請求項７】
コンピュータによって地物を３次元的に表現した３次元地図を表示するためのコンピュータプログラムであって、
前記コンピュータは、前記地物をポリゴンによって３次元的に表示するための３次元ポリゴンデータと、
予め設定された複数の視点位置および視線方向ごとに、前記３次元地図の表示時に行われる前記ポリゴンの明度調整値を求める演算の一部を事前に確定する表示制御データを格納した表示制御データ記憶部を有しており、
前記コンピュータプログラムは、前記コンピュータに、
３次元地図を表示する視点位置および視線方向を入力する機能と、
前記入力された視点位置および視線方向に基づき、前記表示制御データ記憶部を参照して表示制御データを特定する機能と、
前記表示制御データおよび前記３次元ポリゴンデータを用いて前記３次元地図を表示する機能とを実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地物を３次元的に表現した３次元地図を表示する３次元地図表示システムに関する。
【背景技術】
【０００２】
建造物や道路などの地物を３次元的に表示した３次元地図を経路案内等に利用する技術がある。３次元地図の表示は、通常、建物等の３次元的な形状を表した３次元モデルを利用し、透視投影によってレンダリングする方法で行われる。３次元地図は、ユーザが現実に視認する景色に近い状態が表示されるため、これを経路案内に利用すると、現在位置や進むべき経路を直感的に把握しやすくなる利点がある。
【０００３】
特許文献１は、３次元地図を経路案内に用いる場合、現在位置を表すマークや経路案内用の誘導経路の表示について隠線処理を行う技術を開示する。この技術では、３次元地図を表示した場合に、誘導経路が手前の建物によって隠される位置にあるか否かを、３次元の座標空間内で判断し、建物に隠れる部分を切り落として表示する。こうすることによって、ユーザが、誘導経路と建物との遠近感を適格に把握できる利点がある。
【０００４】
透視投影で３次元地図を表示する処理は、通常、計算負荷が高いため、これを以下に軽減するかが、課題となる。特許文献１は、かかる観点から、ある視点、視線方向から見た状態の３次元地図を表示する際に、地物を構成する各面のうち、その視点および視線方向から視認可能な面だけを選択することにより、透視投影の処理対象となる面を減少させ、処理負荷の軽減を図っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４５５０７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１の技術では、視認可能な面を選択する処理に負荷がかかるという課題があり、透視投影の処理負荷については、さらなる軽減の余地が残されていた。また、単に透視投影の際には、３次元のポリゴンを２次元の画像に変換する処理にかかる負荷だけでなく、例えば、光の当たり具合による色の変化による処理負荷も看過できない。
本発明は、かかる課題を解決するものであり、３次元地図を表示する際の処理負荷の軽減を図ることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、地物を３次元的に表現した３次元地図を表示する３次元地図表示システムであって、
前記地物を３次元的に表示するための３次元ポリゴンデータを格納する３次元ポリゴンデータ記憶部と、
予め設定された複数の視点位置および視線方向ごとに、前記３次元地図の表示時に行われる演算の一部を事前に確定する表示制御データを格納する表示制御データ記憶部と、
３次元地図を表示する視点位置および視線方向を入力する入力部と、
前記入力された視点位置および視線方向に基づき、前記表示制御データ記憶部を参照して特定される表示制御データ、および前記３次元ポリゴンデータを用いて前記３次元地図を表示する表示制御部とを備える。
【０００８】
本発明では、上述の通り、３次元地図の表示時に行われる演算の一部を確定する表示制御データが用意されている。３次元地図の表示時の演算は、視点位置および視線方向に基づいて行われるため、この表示制御データは、予め設定された視点位置および視線方向に対して用意される。こうして用意された表示制御データを用いることにより、３次元地図の表示時の演算の一部を省略することが可能となるため、本発明によれば、３次元地図表示時の処理負荷を軽減することが可能となる。
表示制御データを設定すべき視点位置および視線方向は、任意に設定可能である。例えば、３次元地図を経路案内に適用する場合には、道路上に設定された複数の視点位置について、表示制御データを設定しておくようにしてもよい。また、道路位置とは無関係に、地図上に所定サイズのメッシュを形成し、各メッシュの代表点を視点位置としてもよい。
視線方向についても、道路に沿う方向としてもよいし、道路とは無関係に、８方向、１６方向など、予め規定された方向を視線方向としてもよい。視線方向は、全ての視点位置で同一である必要はなく、視点位置に応じて視線方向を異ならせてもよい。
【０００９】
このように表示制御データを設定するための視線方向を予め設定しておく場合、この視線方向と、実際に３次元地図を表示するときに指定される視線方向とが必ずしも一致するとは限らない。両者にずれが存在する場合、予め設定された表示制御データと、実際に３次元地図で表示されるべき内容とにずれが生じるおそれがある。こうした課題に対しては、予め設定される視点位置および視線方向を、十分に密に設定しておくことにより、その影響を抑制することが可能である。
【００１０】
また、上述の課題に対しては、
前記表示制御部が前記３次元地図の表示に用いる前記表示制御データは、複数の視線方向について定まる表示制御データの演算によって確定されたデータであるものとしてもよい。
このように複数の視線方向に対する演算によって表示制御データを確定することにより、その表示制御データを適用可能な範囲を広げることが可能となるから、予め設定された視線方向と３次元地図表示時に指定された視線方向とにずれが生じても、その影響を受けることなく３次元地図を表示することが可能となる。
演算としては、例えば、論理和、平均などを行うことができる。
演算に用いる視線方向の数は、任意に設定可能であるが、視線方向の数を少なくすれば、上述した視線のずれに対する影響を抑制する効果が低くなり、多くすれば表示時の演算負荷の軽減という効果が低くなる。演算すべき視線方向の数は、こうした効果を考慮して設定することが好ましく、一例として、処理対象となる視線方向およびその両側に隣接する３方向とすることが好ましい。
同様の効果は、視点位置についても適用可能である。従って、表示制御データは、複数の視点位置の演算によって設定してもよい。この場合、演算に用いるべき視点位置は、処理対象となる視点位置の周囲に隣接するものを選択することが好ましい。
【００１１】
上述のように表示制御データの演算を行う場合、演算の生成は、種々のタイミングで行うことができる。
第１の方法として、
前記表示制御データ記憶部は、前記演算によって確定されたデータを記憶しているものとしてもよい。
即ち、演算結果が予め計算されており、その結果が、格納されている態様である。こうすることにより、表示時の演算を省略することができ、処理負荷をさらに軽減することができる利点がある。
【００１２】
第２の方法として、
前記表示制御データ記憶部は、前記演算によって確定される前のデータを記憶しており、
前記表示制御部は、前記表示制御データ記憶部に記憶された複数の視線方向に対応する表示制御データの演算によって、前記３次元表示に用いるべき表示制御データを確定するものとしてもよい。
即ち、３次元地図を表示する際に、演算する態様である。この態様では、表示時に演算を求める必要性が生じるが、３次元地図の表示時に指定された視点位置および視線方向に応じて、演算する表示制御データの数を可変としたり、演算の要否を切り換えることが可能となり、柔軟な処理を実現することができる利点がある。
【００１３】
本発明における表示制御データとしては、例えば、前記３次元ポリゴンデータのうち、前記指定位置および視線方向において、前記３次元地図に表示されるポリゴンを特定するデータであるものとすることができる。
かかる表示制御データを用いることにより、３次元地図を表示する際に３次元のポリゴンを２次元画像に変換するレンダリング処理の対象とすべきポリゴン数を抑制することができるため、処理負荷を軽減することができる。
この表示制御データは、種々の方法で設定可能である。例えば、視線方向と各ポリゴンの法線ベクトルとのなす角度に応じて、視認可否を判断するようにしてもよい。この角度が９０度以上となる場合には、当該視線方向からはポリゴンの裏面しか見えないことになるから、視認不能と判断することができる。また、視点位置と、当該ポリゴンとを結ぶ直線上に、視線を遮断する他のポリゴンが存在するか否かを計算してもよい。
また、さらに直接的かつ容易な方法として、予め視点位置および視線方向に基づいて、レンダリングを行って３次元地図を表示し、こうして得られた３次元地図中に表示されているポリゴンのみを抽出する方法をとってもよい。この方法では、３次元地図の表示時と同じ処理を行って視認可否を判断するため、精度良い表示制御データを生成できる利点がある。
【００１４】
他の表示制御データとしては、例えば、３次元地図を表示する際の光線の処理を表すデータとすることができる。即ち、３次元地図の表示時には、光源の位置を設定し、光線方向に応じてポリゴンの色を変化させて表示するのが通常である。この処理を行わないと、陰影が現れないため、ポリゴンの色が全て同一色となり、立体感を十分に表すことができないからである。
しかし、この処理は、通常、グラフィックボードにおいて、レンダリングされた後のピクセル単位で行われており、処理負荷がかかるという課題があった。
色の変化を予め計算した結果を、表示制御データとして、予め格納しておくことにより、表示処理時の光線による色変化の演算処理を軽減することが可能となる。また、かかる態様では、レンダリングする前のポリゴン単位で光線の演算を行うことができるという利点もある。この場合の表示制御データは、光線に応じてポリゴンの明度を調整するための明度調整値となる。
【００１５】
本発明は、上述の３次元地図表示システムとしての構成に限らず，種々の構成をとることができる。
例えば、
地図表示システムが地物を３次元的に表現した３次元地図を表示するために用いる表示制御データを生成するデータ生成装置であって、
前記地図表示システムは、
前記地物を３次元的に表示するための３次元ポリゴンデータを格納する３次元ポリゴンデータ記憶部と、
予め設定された複数の視点位置および視線方向ごとに、前記３次元地図の表示時に行われる演算の一部を事前に確定する表示制御データを格納する表示制御データ記憶部と、
３次元地図を表示する視点位置および視線方向を入力する入力部と、
前記入力された視点位置および視線方向に基づき、前記表示制御データ記憶部を参照して特定される表示制御データ、および前記３次元ポリゴンデータを用いて前記３次元地図を表示する表示制御部とを備えており、
前記データ生成装置は、
前記表示制御データを設定すべき複数の視点位置および視線方向を設定し、
該設定された視点位置および視線方向に対して、前記表示制御データを設定し、
該設定された表示制御データを、前記表示制御データ記憶部に格納する表示制御データ設定部を備えるものとしてもよい。
表示制御データを設定するための処理は、３次元地図を表示する際に行う処理と同じであってもよいし、異なっていても良い。例えば、表示制御データとして、視点位置および視線方向から視認可能なポリゴンを特定可能なデータとする場合、３次元地図を表示する際に行うレンダリングを行って視認可否を判断するようにしてもよいし、レンダリング処理とは異なる演算によって視認可否を判断するようにしてもよい。
【００１６】
本発明は、その他、コンピュータによって３次元地図を表示する３次元地図表示方法や、そのための表示制御データを生成するデータ生成方法として構成してもよいし、これらの機能をコンピュータに実行させるためのコンピュータプログラムとして構成してもよい。また、かかるコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体として構成してもよい。記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。
【図面の簡単な説明】
【００１７】
【図１】３次元地図表示システムの構成を示す説明図である。
【図２】３次元地図の表示例を示す説明図である。
【図３】視点高さによる影響を示す説明図である。
【図４】視点位置および視線方向の設定例を示す説明図である。
【図５】表示制御データの構造を示す説明図である。
【図６】表示制御データの変形例としての構造を示す説明図である。
【図７】表示制御データ設定処理のフローチャートである。
【図８】フラグ設定処理のフローチャートである。
【図９】３次元地図表示処理のフローチャートである。
【図１０】明度調整値の設定例を示す説明図である。
【図１１】明度調整値設定処理のフローチャートである。
【発明を実施するための形態】
【実施例１】
【００１８】
Ａ．装置構成：
図１は、実施例における３次元地図表示システムの構成を示す説明図である。サーバ２００からネットワークＮＥ２等を介して提供される地図データに基づいて、端末３００に地図を表示する構成例を示した。地図を表示する端末としては、例えば、スマートフォン、携帯電話、パーソナルコンピュータ、ナビゲーション装置など、種々の装置を用いることができる。また、３次元地図表示システムは、端末３００とサーバ２００とからなるシステムの他、スタンドアロンで稼働するシステムとして構成してもよい。
図中には、３次元地図データを生成するデータ生成装置１００も併せて示した。
【００１９】
本実施例において、端末３００に表示される地図としては、経路案内中の３次元地図、および経路案内とは無関係に表示される３次元地図などがあげられる。後者の３次元地図は、例えば、ユーザが経路案内とは無関係に、現在位置の周囲の状況を知りたい場合や、経路探索の目的地を設定するためなどに活用されるものである。
【００２０】
Ａ１．端末３００の構成：
端末３００には、主制御部３０４の下で稼働する種々の機能ブロックが構成されている。本実施例では、主制御部３０４および各機能ブロックは、それぞれの機能を実現するソフトウェアをインストールすることによって構成したが、その一部または全部をハードウェア的に構成してもよい。
送受信部３０１は、サーバ２００とのネットワークＮＥ２を介した通信を行う。本実施例では、３次元地図を表示するための地図データおよびコマンドの送受信が主として行われる。
コマンド入力部３０２は、ユーザからの指示を入力する。本実施例における指示としては、３次元地図の表示範囲、拡大・縮小の指定、経路案内を行う際の出発地、目的地の設定などが揚げられる。
位置方位入力部３０３は、ユーザの現在位置および視線方向を入力する。現在位置は、例えば、ＧＰＳ（Global Positioning System）の信号に基づいて緯度経度の座標値を得ることができる。視線方向は、端末３００の姿勢を電子コンパスなどで検出して得ることができる。
地図情報記憶部３０５は、サーバ２００から提供された地図データを一時的に記憶しておくバッファである。本実施例では、後述する通り、地図データには、３次元地図に表示される地物の形状等を表す３Ｄポリゴンデータと、その表示における処理負荷を軽減するために用いられる表示制御データとが含まれる。経路案内時のように表示すべき地図が時々刻々と移動していく場合、地図情報記憶部３０５では不足する範囲の地図データをサーバ２００から受信して地図を表示する。
表示制御部３０６は、地図情報記憶部３０５および位置方位入力部３０３から提供される地図データに含まれる３Ｄポリゴンデータおよび表示制御データを用いて、端末３００の画面上に透視投影による３次元地図を表示する。ここで、本実施例では、後述する通り、表示制御データは、地表面に設けられたメッシュ単位で設定されている。表示制御部３０６には、現在位置がいずれのメッシュに属するかを判定する格子特定部３０６Ａが設けられており、表示制御部３０６は、格子特定部３０６Ａによって特定されたメッシュに対応する表示制御データを読み込んで３次元地図の表示を行うことになる。
【００２１】
Ａ２．サーバ２００の構成：
サーバ２００には、図示する機能ブロックが構成されている。本実施例では、これらの機能ブロックは、それぞれの機能を実現するソフトウェアをインストールすることによって構成したが、その一部または全部をハードウェア的に構成してもよい。
地図データベース２１０は、３次元地図を表示するために用いられるデータベースである。本実施例では、地図データベース２１０には、３次元地図に表示される地物の形状等を表す３Ｄポリゴンデータ２１１、表示制御データ２１３が格納されている。この他、経路探索に用いる道路ネットワークデータ、即ち道路をノード、リンクの集まりで表現したデータを用意しておいても良い。表示制御データ２１３は、端末３００における３次元地図を表示時に行われる演算の一部を事前に確定することによって表示時の処理負荷を軽減するためのデータである。本実施例では、３Ｄポリゴンデータ２１１に格納された各ポリゴンのうち、予め設定された視点位置および視線方向から視認可能なものを特定するデータとなっている。表示制御データの内容については、後述する。
送受信部２０１は、ネットワークＮＥ２を介して端末３００とのデータの送受信を行う。本実施例では、３次元地図を表示するための地図データおよびコマンドの送受信が主として行われる。また、送受信部２０１は、ネットワークＮＥ１を介してデータ生成装置１００との通信も行う。本実施例では、生成された表示制御データの授受が主として行われる。
データベース管理部２０２は、地図データベース２１０からのデータの読み出し、書き込みを制御する。
経路探索部２０３は、地図データベース２１０に道路ネットワークデータが用意されている場合には、道路ネットワークデータを用いて、経路探索を行う。経路探索には、ダイクストラ法などを用いることができる。
【００２２】
Ａ３．データ生成装置１００の構成：
データ生成装置１００には、図示する機能ブロックが構成されている。本実施例では、これらの機能ブロックは、パーソナルコンピュータに、それぞれの機能を実現するソフトウェアをインストールすることによって構成したが、その一部または全部をハードウェア的に構成してもよい。
送受信部１０５は、ネットワークＮＥ１を介してサーバ２００とデータの授受を行う。
コマンド入力部１０１は、キーボード等を介してオペレータの指示を入力する。本実施例では、表示制御データを生成すべき視点位置、視線方向の設定等が含まれる。
３Ｄポリゴンデータ記憶部１０４は、地図データを生成するために用いられる３次元モデルを格納するデータベースである。道路、建物などの地物については、３次元形状を表す電子データが格納されている。
表示制御データ設定部１０６は、先に説明した表示制御データを設定する。設定された結果は、表示制御データ記憶部１０３に格納され、送受信部１０５を介してサーバ２００に送信される。
本実施例では、表示制御データとしては、各視点位置および視線方向に基づいて、視認可能なポリゴンを特定するデータとなっている。表示制御データ設定部１０６は、まず、レンダリング処理部１０２に視点位置、視線方向を指定して、３Ｄポリゴンデータ１０４に基づいて、３次元地図を表示するためのレンダリングを実行させ、得られた３次元地図に基づいて、その視点位置、視線方向から視認可能なポリゴンを特定するのである。
【００２３】
以上の構成により、本実施例では、表示制御データを利用することで、３Ｄポリゴンデータに基づく３次元地図を、軽い処理負荷で、端末３００に表示させることができる。
【００２４】
Ｂ．表示制御データの意義：
先に図１で説明した通り、本実施例では、視点位置および視線方向から視認可能なポリゴンを特定するためのデータを表示制御データとして用いる。以下では、具体的な３次元地図の表示例に基づいて、この表示制御データの意義について説明する。
【００２５】
図２は、３次元地図の表示例を示す説明図である。図２（ａ）には、３次元地図表示に用いられる３Ｄポリゴンデータの概要を示した。視点位置ＶＰからみた３次元地図を表示するためには、図示するように、建物Ｂａ等を含む各地物の形状を３次元的に表したポリゴンデータが用いられることになる。本実施例でも、３Ｄポリゴンデータとしては、このように各地物の立体形状を十分に表現できるだけの面からなるデータが格納されている。
図２（ｂ）には、視点ＶＰから見た状態の３次元地図の表示例を示した。図２（ａ）中の建物Ｂａは、図２（ｂ）中の建物Ｂｂとして表示されている。このように、実際の３次元地図で表示されるのは、地物のごく一部の面だけである。
そこで、本実施例では、予め視点位置ＶＰから視認可能なポリゴンだけを特定する表示制御データを用意する。図２（ｃ）には、視点位置ＶＰから視認可能なポリゴンのみを表示した状態を示した。図２（ａ）におけるポリゴンＢａは、視点位置ＶＰからは、その一部のポリゴンＢｃのみが視認可能である。表示制御データは、図２（ｃ）に描かれているポリゴンを特定するためのデータとなる。このような表示制御データを用いることにより、図２（ａ）に示された各ポリゴンデータのうち、図２（ｃ）に表示される一部のポリゴンについてのみレンダリングを行えば足りるため、表示時の処理負荷を軽減することが可能となる。
【００２６】
特定の視点位置および視線方向から各ポリゴンを視認可能か否かは、２次元的な視点位置だけでなく視点高さによっても影響を受ける。
図３は視点高さによる影響を示す説明図である。図示する通り、比較的低い視点Ａから見た場合には、建物の屋上ポリゴンは視認できないが、高い視点Ｂから見ると、視認できるようになる。
このような視点高さによる影響を考慮して、実施例では、表示制御データを設定する視点高さとして、低い視点位置のドライバービューと高い視点位置のバードビューの２種類を設けた。両者を使い分ける境界となる高さは、任意に設定可能であるが、本実施例では、地物の高さ等を考慮して２０ｍに設定した。即ち、２０ｍ以下の範囲ではドライバービューが用いられ、２０ｍ以上の範囲ではバードビューが用いられる。
【００２７】
Ｃ．表示制御データの構造：
透視投影は、視点位置および視線方向に応じてなされるものであるから、表示制御データも、視点位置および視線方向に応じて設定する必要がある。本実施例では、地表面を所定サイズのメッシュに区切り、各メッシュ単位で表示制御データを設定するようにした。以下、表示制御データの構造について説明する。
【００２８】
図４は、視点位置および視線方向の設定例を示す説明図である。図示するように、３Ｄポリゴンデータなどの地図データは、パーセルと呼ばれる格子単位で用意されている。表示制御データは、このパーセルを、さらに細かく分割したメッシュ単位で用意する。メッシュの間隔ｄは、任意に設定可能であるが、本実施例では、間隔ｄを１０ｍとした。メッシュの間隔が大きくなると、３次元地図の表示時に指定される視点位置と、表示制御データの設定に用いられた視点位置とのずれが大きくなるおそれがあり、表示制御データによって表示対象として特定されるポリゴンと、指定された視点位置から視認できるポリゴンとの間にずれが生じるおそれがある。一方、メッシュの間隔を小さくすると、メッシュ数が増え、表示制御データのデータ容量が膨大になるおそれがある。メッシュの間隔は、これら双方の影響を考慮して設定すればよい。
こうして設定された各メッシュに対し、本実施例では、メッシュの重心位置ＣＧを表示制御データ設定用の視点位置とした。表示制御データを設定するための視点位置は、メッシュ内のいずれの点を代表点としてもよいが、重心位置とすることにより、偏りのない表示制御データの設定が可能となる。
また、表示制御データを設定するための視線方向は、各代表点について、図中に示すように４５度の等間隔で設定されたＤｉｒ１〜Ｄｉｒ８の８方向とした。視線方向の数は、任意に設定可能であり、１６方向などにしてもよい。視線方向の数が多くなるほど、３次元地図の表示時に用いる視線方向とのずれが小さくなる効果がある一方、表示制御データのデータ容量が膨大になるおそれがある。視線方向の数は、こうした影響を考慮しながら、設定すればよい。
本実施例では、全メッシュにおいて、視点位置および視線方向を統一的な設定としたが、地形や地物の量などを踏まえて、メッシュの間隔、視点位置、視線方向などを異なる設定としてもよい。
【００２９】
本実施例では、図３で説明した通り、視点高さもドライバービュー、バードビューの２種類が設けられている。従って図４に示した表示制御データも、さらに、視点高さごとに設けられることになる。
【００３０】
図５は、表示制御データの構造を示す説明図である。表示制御データは、図４に示した各メッシュごとに用意されている。図５中のメッシュ１…メッシュｎというのは、それぞれのメッシュごとに、以下に示すのと同様の形式でデータが格納されていることを表している。
メッシュｎの内容としては、まず代表点ＣＧの位置座標（ｘ，ｙ，ｚ）が格納されている。位置座標は、メッシュの一点、またはパーセルの一点を原点とする直交座標、緯度経度など種々の座標系をとることができる。視線方向Ｄｉｒ１…Ｄｉｒ８は、それぞれの視線方向ごとに、表示制御データが格納されていることを表している。視線方向Ｄｉｒ８には、この視点位置および視線方向において視認可能な表示対象ポリゴンを特定する情報が格納されている。図中の例では、ポリゴンに固有の識別番号であるポリゴンＩＤが格納されている様子を示した。同様のデータが、視線方向１〜７についても格納されている。
３次元地図を表示する際には、視点位置を定めれば、視点位置に対応するメッシュを特定することができ、視線方向を定めれば、そのメッシュおよび視線方向に対応する表示制御データを読み込むことによって、図２（ｃ）に示すように表示対象ポリゴンを特定することができる。
【００３１】
表示制御データは、図５で示した以外の構造をとることもできる。
図６は、表示制御データの変形例としての構造を示す説明図である。表示制御データが、各視点位置および視線方向において視認可能なポリゴンを特定するデータである点は、変わらない。データ構造が図５の例とは異なっている。
図６の変形例では、ポリゴンごとに、視認可否を指定する形で表示制御データを格納している。ポリゴン１、ポリゴン２、…ポリゴンｎは、それぞれ同様の形式で表示制御データが格納されていることを表している。
ポリゴンｎに示したように、表示制御データは、そのポリゴンを視認可能となる表示条件を指定する形で格納されている。図の例に即して説明すれば、このポリゴンｎは、パーセル１内に設けられたメッシュ１内の視点については、視線方向Ｄｉｒ１、Ｄｉｒ２の場合に視認可能であることになる。また、メッシュ２内の視点については、視線方向Ｄｉｒ４、Ｄｉｒ５、Ｄｉｒ６の場合に視認可能であることになる。
変形例の表示制御データを用いる場合、３次元地図を表示するための視点位置、視線方向を指定すると、表示領域内の全ポリゴンの表示制御をサーチすることによって、指定された指定位置、視線方向から視認可能なポリゴンを抽出することができる。一旦、このように視認可能なポリゴンが抽出された後、視点位置、視線方向が変わった場合は、そのポリゴンの表示条件を参照することにより、変更後の表示条件で視認可否を容易に判断することができる。
図４の場合と同様、変形例においても表示制御データは、視点高さごとに設けられている。
【００３２】
Ｄ．表示制御データ設定処理：
次に図４〜５で説明した表示制御データの設定処理について説明する。この処理は、データ生成装置１００において、主として表示制御データ設定部１０６によって実行される処理であり、ハードウェア的にはデータ生成装置１００のＣＰＵによって実行される処理である。
【００３３】
図７は、表示制御データ設定処理のフローチャートである。
処理を開始すると、データ生成装置１００は、３次元ポリゴンデータを入力する（ステップＳ１０）。そして、表示制御データを設定すべき視点位置を設定する（ステップＳ１１）。本実施例では、図４に示したメッシュに基づいて視点位置を設定することになる。
次に、データ生成装置１００は、表示制御データを設定すべき視線方向を設定し（ステップＳ１２）、それぞれの視線方向に対してフラグ設定処理を行う（ステップＳ２０）。フラグ設定処理とは、３Ｄポリゴンデータに基づいて３次元地図を表示するレンダリング処理を行うことによって、設定された視点位置、視線方向から視認可能なポリゴンにフラグを付す処理である。フラグ設定処理の内容は、後述する。
データ生成装置１００は、以上の処理を、全視線方向について繰り返し実行する（ステップＳ３０）。
【００３４】
こうして各視線方向のフラグの設定が完了すると、データ生成装置１００は、３方向の論理和（ＯＲ）により、各方向のフラグを確定する（ステップＳ３１）。
図中にこの処理の例を示した。例えば、代表点ＣＧからポリゴンＰ３１の視認可否を判定した結果、右表に示す通り、視線方向Ｄｉｒ１、Ｄｉｒ８では視認可能であり、視線方向Ｄｉｒ２では視認不可であったとする。また、ポリゴンＰ３２については、視線方向Ｄｉｒ１で視認可能であり、視線方向Ｄｉｒ２、Ｄｉｒ８では視認不可であったとする。
データ生成装置は、視線方向Ｄｉｒ１について、その両隣の視線方向Ｄｉｒ２、Ｄｉｒ８との論理和をとって、視認可否を決定する。ポリゴンＰ３１、Ｐ３１のいずれに対しても、視線方向Ｄｉｒ１、Ｄｉｒ２、Ｄｉｒ８のいずれかで視認可能と判断されているため、欄外に示す通り、Ｄｉｒ１方向のフラグは、視認可能という結果になる。
このように論理和をとって表示制御データを設定することにより、次の効果がある。例えば、論理和をとらずにフラグが設定されている場合において、３次元地図の表示用に視線方向Ｄｉｒ１、Ｄｉｒ２の中間が指定された場合を考える。視線方向Ｄｉｒ１に対応するフラグによれば、ポリゴンＰ３１、Ｐ３２が視認可能であると判断されることになり、視線方向Ｄｉｒ２に対応するフラグによれば、ポリゴンＰ３１、Ｐ３２は共に視認不可であると判断されることになる。このように論理和をとらずにフラグを設定すると、わずかな視線方向の変化によってポリゴンについて視認可能／視認不能の判断が不安定に変化することになり、３次元地図の表示内容も不安定に変化するおそれがある。論理和によってフラグを設定することにより、こうした弊害を緩和することができるのである。
【００３５】
データ生成装置１００は、以上の処理によって設定されたフラグを、表示制御データの形式（図５、図６参照）で格納して、表示制御データ生成処理を終了する。
【００３６】
次に、フラグ設定処理（図７のステップＳ２０）の処理内容について説明する。
図８は、フラグ設定処理のフローチャートである。この処理を開始するとデータ生成装置１００は、３次元ポリゴンデータを入力し（ステップＳ２１）、指定された視点位置、視線方向でレンダリングして、３次元地図を描画する（ステップＳ２２）。そして、得られた３次元地図に基づいて、地図内に描画されているポリゴンを特定する（ステップＳ２３）。
ポリゴンの特定は、種々の方法で行うことができる。例えば、レンダリングの処理中で隠線処理を行った結果を出力して、ポリゴンの視認可否の特定に利用してもよい。また、得られた３次元地図の画像処理によって、ポリゴンが描かれている領域を特定し、そのポリゴンの色等の属性に基づいて、３Ｄポリゴンデータのうちいずれのポリゴンが表示されているかを特定する方法をとってもよい。
データ生成装置１００は、こうして特定されたポリゴンにフラグを設定し（ステップＳ２４）、フラグ設定処理を終了する。図中にフラグの設定例を示した。この例は、建物Ｂ１の３Ｄポリゴンデータが、ポリゴンＰ１等で構成されており、指定された視点位置、視線方向からは、ポリゴンＰ１、Ｐ２、Ｐ３が視認可能であることを表している。
【００３７】
Ｅ．３次元地図表示処理：
次に、表示制御データを用いて３次元地図を表示するための処理について説明する。この処理は、端末としての端末３００において、主として表示制御部３０６が実行する処理であり、ハードウェア的には、端末３００のＣＰＵが実行する処理である。
３次元地図を表示する状況としては、経路案内の途中や、経路案内と無関係にユーザが地図表示を指定した場合などがあげられる。いずれにおいても、３次元地図を表示するための視点位置および視線方向が指定されている状態の処理である。
【００３８】
図９は、３次元地図表示処理のフローチャートである。処理を開始すると、端末３００は、３次元地図を表示すべき視点位置、視線方向を入力する（ステップＳ５０）。視点位置、視線方向は、ユーザが指定してもよいし、端末３００によって用意されたＧＰＳ、電子コンパスなどのセンサによって検出された結果を用いても良い。また、経路案内中に３次元地図表示を行う場合には、経路探索結果で得られた進行方向を視線方向として用いても良い。
さらに、視点位置については、視点高さを指定可能としてもよい。
【００３９】
次に、端末３００は、視点位置、視線方向に対応する表示制御データを読み込む（ステップＳ５１）。ステップＳ５０で指定された視点位置、視線方向は、必ずしも表示制御データが設定されている視点位置、視線方向と一致しているとは限らない。両者にずれがある場合に、表示制御データを特定する方法を、図中に例示した。
この例では、メッシュ１に対して、代表点ＣＧおよび視線方向Ｄｉｒ１、Ｄｉｒ２に表示制御データが設定されている。その他の視線方向にも表示制御データは設定されているが、ここでは図示を省略した。これに対し、ステップＳ５０で、視点位置ＶＰ、視線方向ＶＤが指定された場合を考える。まず、端末３００は、視点位置ＶＰが存在するメッシュを特定する。この例では、視点位置ＶＰは、メッシュ１内に存在するため、メッシュ１の代表点ＣＧに対して設定された表示制御データを用いることとなる。
次に、視線方向の処理である。指定された視線方向ＶＤと、表示制御データが設定されている視線方向Ｄｉｒ１、Ｄｉｒ２とを比較する。図示する通り、視線方向ＶＤは、視線方向Ｄｉｒ２よりも、視線方向Ｄｉｒ１に近い。従って、この例では、メッシュ１において、視線方向Ｄｉｒ１に対応して設けられた表示制御データを用いる。この判断は、つまり、各視線方向Ｄｉｒ１、Ｄｉｒ２の周囲に、４５度分の領域を想定し、指定された視線方向ＶＤが、いずれの領域に存在するかを判断する方法ということもできる。図中の例では、視線方向Ｄｉｒ１の周りに存在する４５度範囲の領域内に視線方向ＶＤが存在するため、視線方向Ｄｉｒ１に対する表示制御データを用いるのである。
【００４０】
本実施例では、表示制御データは、ドライバービュー、バードビューの２種類が用意されている。指定された視点高さが、所定の高さ（本実施例では２０ｍ）よりも低い場合にはドライバービュー、高い場合にはバードビューの表示制御データを選択すればよい。
【００４１】
端末３００は、得られた表示制御データに対応するポリゴンデータを、３次元ポリゴンデータから読み込み（ステップＳ５２）、レンダリングして（ステップＳ５３）、３次元地図を表示する。
【００４２】
Ｆ．効果：
以上で説明した実施例１の３次元地図表示システムによれば、表示制御データによって、表示処理の対象となるポリゴンを削減することができるため、レンダリングにかかる処理負荷を軽減することができる。従って、スマートフォンなどの比較的処理能力の劣る端末３００を用いる場合でも、円滑な３次元地図表示を実現することができる。
また、本実施例では、このように表示処理の対象となるポリゴンを削減するための表示制御データを、複数の視線方向の論理和に基づいて設定している。従って、表示制御データの設定時に用いられた視線方向とずれた視線方向が設定された場合でも、表示処理の対象となるポリゴンが不安定に変化する事態を回避することができ、安定した３次元地図表示を実現することができる。
【実施例２】
【００４３】
実施例１では、表示制御データとして、ポリゴンの視認可否を表すデータを用いる場合を例示した。実施例２では、表示制御データとして、ポリゴンの明度調整値を用いる場合を例示する。実施例２は、表示制御データの内容が実施例１とは異なるだけであり、３次元表示システムの構成は、実施例１（図１）と同様である。
【００４４】
Ｇ．明度調整値の設定例：
図１０は、明度調整値の設定例を示す説明図である。３Ｄポリゴンデータを用いて透視投影による表示を行う場合、通常は、光源の位置を指定し、光線による色、特に明度の変化を反映させて描画を行う。このように光線による明度の変化を考慮せずにポリゴンを表示すると、全ての面が元来設定されていた色となり陰影が表現されないため、地物の稜線が不明瞭となり立体感が失われた画像となってしまう。従って、光線による明度の変化を反映させることは、３次元地図表示を行う上で重要である。
しかし、表示時に明度の変化を計算することは、処理負荷がかかる。一方、光源の位置を予め設定しておけば、ポリゴンと光源との位置関係が確定されるため、明度の変化を予め計算しておくことが可能である。かかる観点から、予め明度の変化を計算しておき、表示制御データとして格納しておくことにより、３次元地図表示時の処理負荷を軽減することができる。
【００４５】
図１０に示す通り、光源の位置を予め与えると、ポリゴンの色Ｃ１は、光源とポリゴンとのなす角度に応じて明度が変わる。例えば、光源がポリゴンの正面にある場合と、背後にある場合とでは、ポリゴンの明度が異なることを考えればよい。
また、明度は、視点とポリゴンとの位置関係によっても異なる。視点１のように正面近くから見た場合と、視点２のように斜めから見た場合とでは、光線の当たり具合が同じであっても、色の見え方が異なることを考えればよい。
このように、ポリゴンの明度Ｃ１は、光源の位置および視点位置の双方に依存して変化する。従って、光源の位置を設定した場合、図中のポリゴンに対しては、視点１に対して明度変化ｂ１、視点２に対する明度変化ｂ２のように、視点ごとに明度変化が求まることになる。実施例２では、この値を表示制御データとして記憶しておくのである。
【００４６】
表示制御データの計算は、種々の方法で行うことができる。例えば、光線とポリゴンとのなす角度、視線方向とポリゴンとのなす角度の２つに応じて明度変化を、関数やテーブルなどで与える方法をとってもよい。また、表示時と同様の計算を行って明度変化を求めてもよい。
【００４７】
Ｈ．明度調整値設定処理：
図１１は、明度調整値設定処理のフローチャートである。実施例１の表示制御データ設定処理（図６）に代わる処理であり、データ生成装置１００の表示制御データ設定部１０６が実行する処理に相当する。
処理を開始すると、データ生成装置１００は、３次元ポリゴンデータを入力し、光源位置を設定する（ステップＳ６０）。光源は１つだけでなく、複数設定可能としてもよい。
次にデータ生成装置１００は、明度調整値を設定するための視点位置を設定する（ステップＳ６１）。視点位置は、例えば、実施例１と同じように、メッシュの代表点（図４）に設定することができる。そして、設定された視点に対して、実施例１と同じように視線方向を設定し（図４）（ステップ６２）、各視線方向についてレンダリングして、明度調整値を設定する（ステップＳ６３）。ここでは、レンダリングする方法を示したが、光源位置とポリゴンとの角度、および視線方向とポリゴンとの角度に応じて明度調整値を設定するようにしてもよい。
データ生成装置１００は、以上の処理を、設定された全視線方向に対して繰り返し実行する（ステップＳ６４）。
【００４８】
次に、データ生成装置１００は、得られた明度調整値を用いて、３方向の平均値によって明度調整値ｂを確定する（ステップＳ６５）。図中に処理例を示した。視線方向Ｄｉｒ８、Ｄｉｒ１、Ｄｉｒ２のそれぞれに対して明度調整値ｂ８、ｂ１、ｂ２が得られているとする。データ生成装置１００は、視線方向Ｄｉｒ１の明度調整値ｂを、その両隣の視線方向に対する明度調整値との平均値によって確定する。即ち、ｂ＝（ｂ１＋ｂ８＋ｂ２）／３で求める。
このように複数の視線方向を考慮して明度調整値を求めることにより、表示時の視線方向の変化によって、明度調整値が不自然に変化することを抑制できる。
【００４９】
実施例２における３次元地図表示処理は、実施例１と同様である（図９）。即ち、入力された視点位置、視線方向に応じて表示制御データ、即ち明度調整値を読み込み、この値に応じた色調整を施して各ポリゴンを表示すればよい。
実施例２においても、実施例１と同様、明度調整値を用いることにより、表示時の処理負荷を軽減することができる。
【００５０】
実施例１、実施例２においては、表示制御データを設定する際に、予め複数の視線方向に対する論理和や平均値を求める例を示した（図７のステップＳ３１、図１１のステップＳ６５）。この処理は、表示時に行うものとしてもよい。即ち、３次元地図表示処理（図９）において、表示制御データを読み込んだ際に（ステップＳ５１）、複数方向の論理和や平均値を求めて、３次元地図の表示を行う方法をとってもよい。
【００５１】
以上、本発明の実施例について説明した。３次元地図表示システムは、必ずしも上述した実施例の全ての機能を備えている必要はなく、一部のみを実現するようにしてもよい。また、上述した内容に追加の機能を設けてもよい。
本発明は上述の実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、実施例においてハードウェア的に構成されている部分は、ソフトウェア的に構成することもでき、その逆も可能である。
【産業上の利用可能性】
【００５２】
本発明は、地物を３次元的に表現した３次元地図を表示するために利用可能である。
【符号の説明】
【００５３】
１００…データ生成装置
１０１…コマンド入力部
１０２…レンダリング処理部
１０３…表示制御データ記憶部
１０４…３Ｄポリゴンデータ記憶部
１０５…送受信部
１０６…表示制御データ設定部
２００…サーバ
２０１…送受信部
２０２…データベース管理部
２０３…経路探索部
２１０…地図データベース
２１１…３Ｄポリゴンデータ
２１３…表示制御データ
３００…スマートフォン
３０１…送受信部
３０２…コマンド入力部
３０３…位置方位入力部
３０４…主制御部
３０５…地図情報記憶部
３０６…表示制御部
３０６Ａ…格子特定部
【図１】
0005964611.tif 000002
【図３】
0005964611.tif 000003
【図４】
0005964611.tif 000004
【図５】
0005964611.tif 000005
【図６】
0005964611.tif 000006
【図７】
0005964611.tif 000007
【図８】
0005964611.tif 000008
【図９】
0005964611.tif 000009
【図１０】
0005964611.tif 000010
【図１１】
0005964611.tif 000011
【図２】
0005964611.tif 000012