【文献】
張明, 外3名,”投影型複合現実感と建物模型を用いたインタラクティブな内外観提示方式”,第18回 日本バーチャルリアリティ学会大会論文集 [CD−ROM] 第18回日本バーチャルリアリティ学会大会 論文集,2013年 9月20日,p.224-227
【文献】
岩井大輔, 外1名,”プロジェクション型AR(拡張現実感)”,画像ラボ,日本,日本工業出版株式会社,2011年 2月10日,第22巻, 第2号,p.8-15
【文献】
近藤大祐, 外1名,”双対レンダリングを用いた自由曲面ディスプレー”,日本バーチャルリアリティ学会 10周年記念DVD−ROM [DVD−ROM] 日本バーチャルリアリティ学会 第7回大会,2002年 9月30日
(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
広域の3次元地図を表示する場合、3次元モデルの数は多くなり、さらに計算負荷が高くなる。近年では、スマートフォンなど処理能力が比較的低い携帯端末等において、3次元地図を表示する要請も高まっており、地図表示時の計算負荷のさらなる低減が望まれている。計算負荷を軽減するために、3次元モデルやテクスチャを簡略化する方法も考えられるが、かかる方法では、3次元地図のリアリティが低減するという別の課題を招くことになる。
本発明は、かかる課題に鑑み、3次元地図のリアリティの低減を抑制しながら表示時の計算負荷を軽減することを目的とする。
【課題を解決するための手段】
【0005】
本発明は、
地物を3次元的に表現した3次元地図を表示する3次元地図表示システムであって、
前記地物の3次元形状を表す3次元モデルを記憶する3次元モデルデータベースと、
前記3次元モデルの各表面に予め用意された3次元モデル用テクスチャを貼付した上で、該3次元モデルを投影することによって合成された合成テクスチャを格納する合成テクスチャデータベースと、
前記3次元地図の表示範囲に対応する前記3次元モデルを仮想3次元空間に配置し、該3次元モデルに対応する前記合成テクスチャを、前記3次元モデル上に、前記合成時の投影方向と逆方向に射影する合成テクスチャ射影部と、
該合成テクスチャが射影された3次元モデルを投影して前記3次元地図を表示する表示制御部とを備える3次元地図表示システムとして構成することができる。
射影とは、プロジェクションとも呼ばれる技術である。2次元画像としての合成テクスチャ上の各ピクセルを、射影方向の直線に沿って3次元モデル上に射影することによって、平面のテクスチャ画像を凹凸のある3次元モデル上に貼付することができる。
【0006】
本発明では、3次元モデル用テクスチャではなく、これを合成した合成テクスチャを3次元モデルに射影して3次元地図を表示する。一般に3次元地図の表示では、テクスチャの処理に要する負荷が無視できないほど高くなり、その負荷は、テクスチャの解像度や数に応じて変化する。これに対し、本発明では、合成テクスチャを利用するため、テクスチャの数を減らすことができる。また、この合成テクスチャは、3次元モデルに3次元モデル用テクスチャを貼付した上で投影して生成されるものであるから、3次元モデルテクスチャが高解像度のものであったとしても、投影によって、その解像度を低減させることができる。これらの効果により、本発明によれば、3次元地図表示においてテクスチャを処理する負荷を軽減することができる。
このような合成テクスチャを用いる場合、合成テクスチャは、投影によって生成されるため、投影方向から視認できない隠面が生じる。しかし、本発明では、合成時の投影方向と逆方向に射影するため、合成テクスチャを使用する際における隠面の影響を抑制することができる利点もある。
【0007】
本発明における地図表示は、コンピュータ、スマートフォンその他の携帯端末、ナビゲーション装置など多様なディスプレイに対して行うことができる。
3次元地図表示システムは、単に静止画としての3次元地図を表示するシステムとして構成してもよいし、経路案内の過程で動的に3次元地図を表示するシステムとして構成してもよい。
本発明において、合成テクスチャを生成する際の投影は、透視投影、平行投影のいずれを用いても良い。
また、本発明の合成テクスチャは、地物単位で生成してもよい。例えば、建物の場合、側面、上面など面ごとに3次元モデル用テクスチャが貼付されることになるが、これを投影すれば、全体が結合した一つのテクスチャに合成されるため、その枚数を減らすことができる。
【0008】
本発明において、3次元地図を表示する際の投影方向(以下、「表示時投影方向」と呼ぶこともある)は、合成テクスチャを生成する際の投影方向(以下、「生成時投影方向」と呼ぶこともある)と一致している必要はない。ただし、合成テクスチャを生成する際の投影方向と異なる方向で3次元地図を表示すると、上述した隠面の影響が表れ、3次元地図上に、テクスチャが貼付されない部分(以下、「モデル露出部」と呼ぶこともある)が表示され得る。かかる影響を抑制するために、表示時投影方向と、生成時投影方向は、モデル露出部が顕著に表れない程度に近づけることが好ましい。3次元的な投影方向は、水平面内での方向、即ち投影方位と、水平面との角度、即ちピッチ角とで表すことができるが、モデル露出部が顕著に表れないようにするためには、ピッチ角よりも投影方位を、表示時と生成時とで近づけることが好ましい。
モデル露出部の影響を抑制する別の方法として、合成テクスチャの隠面となる部分には、3次元モデル用テクスチャを貼付して、隠面の影響を回避した上で3次元地図表示を行うようにしてもよい。
【0009】
本発明の3次元地図表示システムにおいては、
前記表示制御部は、前記合成時の投影方位(即ち、生成時投影方位)と略同方位に投影して前記3次元地図を表示するものとしてもよい。
こうすることにより、上述の通り、隠面の影響を抑制することができる。略同方位とは、テクスチャが貼付されないモデル露出部が3次元地図表示上に顕著に表示されない程度の範囲である。合成テクスチャの生成、および3次元地図を表示する際の表示スケールにもよるが、例えば、同方位とはプラスマイナス22.5度程度の範囲内とすることができる。
【0010】
本発明の3次元地図表示システムにおいては、
前記合成テクスチャは、前記3次元モデル用テクスチャを貼付した複数の前記3次元モデルを地理的な位置関係に従って配置し、該配置された複数の3次元モデルを投影して生成されており、
前記合成テクスチャ射影部は、前記複数の3次元モデルに対して、前記合成テクスチャを射影するものとしてもよい。
この態様は、複数の3次元モデルを配置した「街」を投影することによって、これらをまとめて一つの合成テクスチャとするものである。こうすることにより、3次元モデルを個別に合成テクスチャとする以上に、テクスチャの枚数を減らすことができ、3次元モデル単体を投影する場合よりも解像度も低減することができるため、さらにテクスチャの処理に伴う計算負荷を軽減することが可能となる。
【0011】
本発明の3次元地図表示システムにおいては、
前記合成テクスチャは、平行投影によって生成されているものとしてもよい。
透視投影は、視点位置および視線方向を特定して行う投影方法であるため、これによって生成された合成テクスチャも、3次元地図を投影する際の視点が、合成テクスチャを生成する際の視点と異なる場合には、隠面の影響が現れるおそれがある。これに対して、平行投影は、投影方向を規定すれば、「視点位置」を定めることなく投影することができるため、3次元地図を表示する際の視点も任意に選択することが可能となる利点がある。
また、透視投影では、視点から遠方にある3次元モデルが、投影時に非常に小さくつぶれてしまい、合成テクスチャ上も情報が失われてしまうことになるが、平行投影では、こうした影響を回避できる利点もある。
この結果、平行投影を用いる場合には、日本全体に至るまで、広範囲の合成テクスチャを生成しておき、3次元地図を表示する際に、その中の任意の部分を切り出して利用することができることになり、合成テクスチャのデータ容量や管理負荷を抑制することが可能となる。
合成テクスチャを平行投影で生成した場合には、それを3次元モデル上に精度良くマッピングするために、合成テクスチャの射影も平行投影によって行うことになる。一方、3次元モデルの表示は、合成テクスチャの生成時の投影方法とは無関係に選択することができ、平行投影、透視投影のいずれで行ってもよい。
【0012】
本発明の3次元地図表示システムにおいては、
前記合成テクスチャデータベースは、一つの領域に対して複数の方位からの投影方向で生成された複数種類の合成テクスチャを格納しており、
前記合成テクスチャ射影部は、前記表示制御部が行う投影方位に近い投影方位で生成された合成テクスチャを用いて、前記射影を行うものとしもよい。
このように、表示時投影方位に近い生成時投影方位で生成された合成テクスチャを選択することによって、合成テクスチャの生成時に生じる隠面の影響を抑制することができる。
合成テクスチャを用意すべき方位は、上述の隠面の影響を考慮して任意に設定することができ、例えば、8方位程度とすることができる。
【0013】
本発明は、3次元地図表示システムとしての態様に限らず、次の態様で構成することもできる。
即ち、地物を3次元的に表現した3次元地図を表示するために用いる合成テクスチャを生成する合成テクスチャ生成装置であって、
前記地物の3次元形状を表す3次元モデル、および該3次元モデルの複数の面に貼付される複数の3次元モデル用テクスチャのデータを格納する地図データベースと、
前記地図データベースに基づき、前記合成テクスチャを生成する合成テクスチャ生成部と、
該生成された合成テクスチャを格納するための合成テクスチャデータベースと、
前記生成された合成テクスチャを、生成対象とされた前記3次元モデルと対応づけて前記合成テクスチャデータベースに格納するデータベース管理部とを備え、
前記合成テクスチャ生成部は、
前記3次元モデル上の各面上に前記3次元モデル用テクスチャを貼付し、
前記3次元モデルを投影することによって、前記合成テクスチャを生成する合成テクスチャ生成装置との態様である。
【0014】
上記態様によれば、3次元モデルおよび3次元モデル用テクスチャを利用して、合成テクスチャを生成することができる。
合成テクスチャを生成する際の投影は、平行投影、透視投影などを利用できる。合成テクスチャは、3次元モデル単体ごとに生成してもよいし、複数の3次元モデルを配置した街に対して生成してもよい。その他、3次元地図表示システムで説明した種々の特徴点を、合成テクスチャ生成装置にも反映することができる。
3次元地図表示を表示する際の表示時投影方位が既知の場合には、合成テクスチャを生成する際にも、その方位を用いればよい。表示時投影方位が確定していない場合には、生成時投影方位は、任意に設定すればよく、複数の方向で複数種類の合成テクスチャを生成することが好ましい。
合成テクスチャと3次元モデルとの対応づけは、種々の方法をとることができる。例えば、合成テクスチャが3次元モデル単体に対して生成されている場合には、両者を1対1に対応づければよい。複数の3次元モデルに対して合成テクスチャが生成されている場合には、生成対象となっている複数の3次元モデルと合成テクスチャとを関連づける情報を用意してもよいし、地図の整備単位として用いられるメッシュと呼ばれる矩形領域など、3次元モデルが配置された地域・領域と合成テクスチャとを対応づけるようにしてもよい。
【0015】
本発明は、上述した各特徴を全て備えている必要はなく、適宜、一部を省略したり、組み合わせたりして構成することも可能である。
また、本発明は、3次元地図表示システムとしての構成の他、コンピュータによって3次元地図を表示する3次元地図表示方法、合成テクスチャを生成する合成テクスチャ生成方法として構成することもできる。さらに、これらの方法をコンピュータに実現させるためのコンピュータプログラムや、かかるコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体(光磁気ディスク、フラッシュメモリ、ハードディスクなどコンピュータが読取り可能な種々の媒体を含む)として構成してもよい。
【発明を実施するための形態】
【0017】
経路案内システムとして構成した場合を例にとって、本発明の3次元地図表示システムおよび合成テクスチャ生成装置の実施例について説明する。
A.3次元地図の表示方法:
図1は、実施例における3次元地図の表示方法を示す説明図である。3次元地図表示は、図中の上段から下段に向かう手順に従って行われる。
上段には、前処理として行う合成テクスチャを生成する過程について示した。本実施例では、地物の3次元形状を表す3次元モデルM1が用意されている。また、3次元モデルM1には、その外観を示す3次元モデル用テクスチャ(以下、単に「テクスチャ」と呼ぶこともある)T1、T2等の画像データが用意されている。図中では、テクスチャT1、T2のみが示されているが、この図で隠れている部分にもテクスチャ画像は用意されているからである。
合成テクスチャの生成時には、3次元モデルM1の表面にテクスチャT1、T2等を貼り付け、平行投影によって投影
図T3を作成する。平行投影の投影方向、即ち生成時投影方向PRJ1は、任意に設定可能である。投影前の状態では、3次元モデルM1には、テクスチャT1、T2を含む複数枚のテクスチャが貼付されるが、投影画像T3は、1枚の2次元画像となる。こうして生成された投影画像T3のことを、本実施例では合成テクスチャT3と呼ぶ。本実施例では、3次元地図を表示する前処理として、この合成テクスチャT3を生成し、予めデータベースとして格納しておく。
【0018】
中段以降には、3次元地図を表示する際の処理を示した。まず、仮想的な3次元空間に、表示対象となる3次元モデルM1を配置する。そして、先に生成された合成テクスチャT3を、3次元モデルM1上に射影する。射影方向PRJ2は、合成テクスチャT3の生成時投影方向PRJ1の180度逆方向である。射影とは、合成テクスチャT3の各ピクセルを射影方向PRJ2に沿って、3次元モデルM1の表面上にマッピングする技術である。合成テクスチャT3の射影によって、3次元モデルM1の表面は、テクスチャT1、T2を貼付したのと同様の外観となる。この状態を、3次元モデルM2と呼ぶものとする。
射影で用いているのは、1枚の合成テクスチャであるから、テクスチャT1、T2を貼付したのと同様の外観が、1枚の合成テクスチャT3で実現されることになる。また、合成テクスチャT3は、3次元モデルM1を平行投影して生成されているから、その際の投影スケールによっては、合成テクスチャT3は、テクスチャT1、T2よりも解像度が低いものとなる。図中の例に沿って説明すれば、3次元モデルM1が、本来用意されているモデルよりも縮小した状態で配置されている場合を考えればよい。かかる場合であっても、テクスチャT1、T2は高解像度のままで用いられることになるが、これを投影して生成された合成テクスチャT3は、低解像度となるのである。
このように中段に示す射影処理によって、3次元モデルM2は、単一かつ3次元モデルのサイズに合わせて解像度を落としたテクスチャが貼付されたモデルとなる。ただし、合成テクスチャT3は、上段に示した生成時の投影処理で視認できる面しか含んでおらず、隠面の外観は含まれていないから、これを射影した3次元モデルM2は、隠面についてはテクスチャが何も貼付されていない状態、即ち3次元モデルのポリゴンがそのまま露出した露出面となっている。
【0019】
下段には、3次元モデルM2を用いて3次元地図を表示する処理を示した。3次元モデルM2を、所定の視点および視線方向に従って、矢印PRJ3に示すように投影面PVに透視投影することによって投影画像PMを表示することができる。表示の際の視線方向、即ち表示時投影方向は、生成時投影方向PRJ1と略同方向とすることが好ましい。こうすることにより、3次元モデルM2で合成テクスチャT3が貼付されていない露出面が投影画像PMに描かれるおそれを抑制できる。
本実施例では、以上で説明したように、前処理として合成テクスチャを生成し、それを貼付することによって3次元地図を表示するという方法をとる。
【0020】
上述の例では、合成テクスチャの生成および射影は、平行投影を用いているが、これを透視投影で行ってもよい。また、3次元地図の表示は、透視投影の他、平行投影で行うこともできる。
上述の例では、単体の3次元モデルを例にとって説明したが、合成テクスチャの生成は、複数の3次元モデルを配置した領域に対して行うことができる。3次元地図は、メッシュと呼ばれる所定サイズの矩形領域を管理単位として整備されているため、本実施例でも、このメッシュ単位で合成テクスチャを生成している。
【0021】
B.システム構成:
B1.全体構成:
図2は、経路案内システムの構成を示す説明図である。サーバ200からネットワークNE2等を介して提供される地図データに基づいて、スマートフォン300に地図を表示し、経路案内を行う構成例を示した。地図を表示する端末としては、パーソナルコンピュータ、ナビゲーション装置などを用いてもよい。また、経路案内システムは、スマートフォン300のような端末とサーバ200とからなるシステムの他、スタンドアロンで稼働するシステムとして構成してもよい。
図中には、合成テクスチャデータを生成する合成テクスチャ生成装置100も併せて示した。
【0022】
スマートフォン300には、主制御部304の下で稼働する種々の機能ブロックが構成されている。本実施例では、主制御部304および各機能ブロックは、それぞれの機能を実現するソフトウェアをインストールすることによって構成したが、その一部または全部をハードウェア的に構成してもよい。
送受信部301は、サーバ200とのネットワークNE2を介した通信を行う。本実施例では、3次元地図を表示するための地図データおよびコマンドの送受信が主として行われる。
コマンド入力部302は、スマートフォン300に対する操作等を通じて、ユーザからの指示を入力する。本実施例における指示としては、3次元地図の表示範囲、拡大・縮小の指定、経路案内を行う際の出発地、目的地の設定などが揚げられる。
GPS入力部303は、GPS(Global Positioning System)の信号に基づいて緯度経度の座標値を得る。また、経路案内では、緯度経度の変化に基づいて進行方向を算出する。
地図情報記憶部305は、サーバ200から提供された地図データを一時的に記憶しておくバッファである。経路案内時のように表示すべき地図が時々刻々と移動していく場合、地図情報記憶部305では不足する範囲の地図データをサーバ200から受信して地図を表示する。
合成テクスチャ射影部306は、地図をする際に、3次元モデルへの合成テクスチャの射影(
図1の中断参照)を行う。
表示制御部307は、地図情報記憶部305および合成テクスチャ射影部306から提供されるデータに基づいて、スマートフォン300のディスプレイ300dに3次元地図を表示する。
スマートフォン300に備えられている機能の一部は、サーバ200で実現するようにしてもよい。
【0023】
サーバ200には、図示する機能ブロックが構成されている。本実施例では、これらの機能ブロックは、それぞれの機能を実現するソフトウェアをインストールすることによって構成したが、その一部または全部をハードウェア的に構成してもよい。
地図データベース210は、3次元地図を表示するためのデータベースである。本実施例では、3D地図データベース211、合成テクスチャデータベース212、ネットワークデータ213を含む地図データを格納する。3D地図データベース211は、道路、建物などの地物を3次元的に表示するためのデータであり、地物の3次元モデルを平行投影することで得られた2次元のポリゴンデータである。合成テクスチャデータベース212は、地図に表示すべき文字、例えば、地物の名称や地名などのデータである。ネットワークデータ213は、道路をノード、リンクの集まりで表現したデータである。ノードとは、道路同士の交点や道路の端点に相当するデータである。リンクはノードとノードとを結ぶ線分であり、道路に相当するデータである。本実施例では、ネットワークデータ213を構成するノード、リンクの位置は、緯度経度および高さの3次元データで定められている。
送受信部201は、ネットワークNE2を介してスマートフォン300とのデータの送受信を行う。本実施例では、3次元地図を表示するための地図データおよびコマンドの送受信が主として行われる。また、送受信部201は、ネットワークNE1を介して合成テクスチャ生成装置100との通信も行う。本実施例では、生成された合成テクスチャの授受が主として行われる。
データベース管理部202は、地図データベース210からのデータの読み出しを制御する。また、合成テクスチャ生成装置100から受信した合成テクスチャを、メッシュ単位で合成テクスチャデータベース212に格納する機能も奏する。
経路探索部203は、地図データベース210内のネットワークデータ213を用いて、経路探索を行う。経路探索には、ダイクストラ法などを用いることができる。
【0024】
合成テクスチャ生成装置100には、図示する機能ブロックが構成されている。本実施例では、これらの機能ブロックは、パーソナルコンピュータに、それぞれの機能を実現するソフトウェアをインストールすることによって構成したが、その一部または全部をハードウェア的に構成してもよい。
送受信部105は、ネットワークNE1を介してサーバ200とデータの授受を行う。
コマンド入力部101は、キーボード等を介してオペレータの指示を入力する。本実施例では、合成テクスチャを生成すべき領域の指定、合成テクスチャを生成する際の平行投影パラメータの指定等が含まれる。
3D地図データベース104は、合成テクスチャを生成するために用いられる3次元モデルおよび3次元モデル用テクスチャ(以下、単に「テクスチャ」という)を格納するデータベースである。道路、建物などの地物については、3次元形状およびその外観を表す電子データが格納されている。3D地図データベース104は、透視投影によって3次元地図を表示するためのデータを利用することができる。
合成テクスチャ生成部102は、3D地図データベース104に基づいて平行投影による表示を行って合成テクスチャを生成する。生成された合成テクスチャは、合成テクスチャ保持部103に格納された後、送受信部105を介してサーバ200の地図データベース210内の合成テクスチャデータベース212に格納される。
【0025】
B2.合成テクスチャ:
次に、本実施例で用いる合成テクスチャの内容および合成テクスチャデータベースの構造について説明する。
図3は、合成テクスチャの生成方法を示す説明図である。本実施例では、3次元モデルM3の表面にテクスチャを貼付した上で平行投影することによって合成テクスチャを生成する。このとき、平行投影は、鉛直方向から斜めに傾けた投影方向に対して行う。
斜めに投影する意味は、次の通りである。図の下段には、3次元地図データD3から平行投影によって2次元の投影画像D1、D2が得られる様子を示している。3次元データD3は、平面P3上に、建物を表す3次元モデルM3の形状をx、y、zの3次元座標で表したデータである。
この3次元モデルM3を鉛直方向(図中の矢印A1方向)の平面P1上に平行投影すると、3次元モデルM3が長方形M1のように2次元的に表現された投影画像D1となる。これは、従来の2次元地図データに相当する。
これに対し、本実施例では、鉛直方向に対して所定の投影角度だけ傾けた斜め方向(図中の矢印A2方向)の平面P2上に平行投影する。この結果、投影画像D2上には、建物M2のように3次元的に建物が表示される。建物M2は3次元的に表現されてはいるものの、投影画像D2は、あくまでも投影された2次元の表示データである。本実施例の合成テクスチャは、このように斜め方向の平行投影によって生成することによって、側面も含む3次元的な外観を表したテクスチャとなっている。
斜めに平行投影する場合の投影方向は、xy平面内での角度である投影方位と、xy平面とのなす角度であるピッチ角の組み合わせで表すことができる。この投影方位とピッチ角を、本明細書では、投影パラメータと呼ぶこともある。
合成テクスチャは、一つ一つの建物について個別に生成することもできるが、本実施例では、3次元地図データベース104を整備するメッシュ単位で生成するものとした。
図3の上段には、こうして生成された合成テクスチャTEXの例を示している。図示するように、3次元地図データベース104に格納されている複数の建物BLD1、BLD2、BDL3等の3次元モデルを配置し、その表面に各3次元モデルに対して用意されたテクスチャを貼付した上で、これを平行投影することによって、合成テクスチャTEXは生成される。合成テクスチャTEXは、複数の建物BLD1、BLD2、BDL3等を含んだ1枚の2次元画像となっている。このように平行投影した投影画像を利用することによって、投影前は、各3次元モデルに対して貼付されていた複数のテクスチャを、1枚の合成テクスチャTEXで表すことが可能となる。また、3次元モデルに貼付するためのテクスチャは、3次元モデルを拡大したときにも精度良く外観を表現できるよう、高解像度で生成されていることが多いが、このように複数の地物を含む領域を投影することによって、合成テクスチャTEXは、かかる領域を表示するのに適した程度に、解像度を低減することができる。
【0026】
本実施例では、一つの領域に対して複数の投影方位によって合成テクスチャを生成している。その意義について説明する。
図4は、合成テクスチャの生成例を示す説明図である。合成テクスチャは、
図3で説明した通り、平行投影によって生成された1枚の2次元画像となっている。
図5は、合成テクスチャを用いた3次元地図の表示例を示す説明図である。
図4に示した合成テクスチャを3次元モデルの表面に貼付した上で透視投影した場合の表示例を上段および下段にそれぞれ示した。いずれも、図の中段に示すように、共通の領域Aを表す3次元地図であるが、上段は矢印V1の方位、下段は矢印V2の方位というように、透視投影の投影方位が異なっている。
上段に示す矢印V1の方位は、
図4に示した合成テクスチャを生成する際の平行投影と同じ投影方位である。従って、合成テクスチャを3次元モデルの表面に貼付した後、透視投影すれば、特に違和感のない3次元地図を表示することができる。
図4、
図5で表示された建物の様子が異なるのは、合成テクスチャの生成時と、3次元地図の表示時とで、ピッチ角が異なるからである。このように、合成テクスチャ生成時と、3次元地図の表示時とで、投影方位がほぼ同じであれば、ピッチ角および投影方法が異なっていても、違和感のない3次元地図を表示することができる。
これに対し、矢印V2の方位から投影すると、下段に示すように、3次元地図の種々の場所に、テクスチャが貼付されていないモデル露出部、即ち図中の黒い部分が現れる。例えば、建物Bを見ると、上段の図では、外観に何ら黒い部分が描かれていないのに対し、下段の図では、モデル露出部Sが現れる。モデル露出部Sが現れる理由は、次の通りである。合成テクスチャは、3次元モデルを投影方向に平行投影して生成されているため、投影方向から視認できない隠面は、合成テクスチャには描かれない。従って、この合成テクスチャを3次元モデルに射影したとしても、隠面には、何ら合成テクスチャが貼付されない状態となる。このような状態の3次元モデルを3次元地図の表示に利用する場合、表示時の投影方位が、合成テクスチャの生成時の投影方位とほぼ同方位であれば3次元地図に隠面は現れないが(
図5の上段)、異なる場合には、合成テクスチャが貼付されていない面が描かれモデル露出部を生じさせるのである(
図5の下段)。
本実施例では、モデル露出部を生じさせずに多様な投影方向で3次元地図を表示可能とするため、合成テクスチャも、単一の領域に対して複数の投影方位で生成しているのである。
【0027】
図6は、合成テクスチャデータベースの構造を示す説明図である。図の上段には、合成テクスチャを生成する投影方位を示した。図示する通り、本実施例では、一つのメッシュARに対して、方位を45度ずつずらして方位1〜方位8の8方位について、それぞれ平行投影を行い、合成テクスチャを生成した。例えば、方位1では北側から見た状態で平行投影した合成テクスチャが得られ、方位5では南側から見た状態で平行投影した合成テクスチャが得られる。方位1で死角になっていた建物も、逆方向の方位5では死角にならない。各方位の合成テクスチャは、TEX1〜TEX8の識別情報が付され、個別の画像ファイルとして格納されている。
本実施例では、8方位の合成テクスチャを用意したが、4方位としてもよいし、16方位またはそれ以上としてもよい。本発明者が検討した結果によれば、16方位で合成テクスチャを用意しておけば、任意の方位に対して、モデル露出部が顕著に現れず、違和感のない地図を表示することができることが分かっている。かかる観点からは、合成テクスチャは16方位に対して用意することが好ましいとも言える。
合成テクスチャは、各方向に対して、複数のピッチ角で生成するようにしてもよい。
【0028】
下段には、合成テクスチャデータベースのデータ構造を示した。
メッシュIDは、3D地図データベース104が整備されているメッシュを特定する識別情報である。図の例では、上段に示した領域を表す「AR」が格納される。
上段に示すように、各メッシュに対して、8方位で合成テクスチャが用意されているため、合成テクスチャデータベースにおいても、方位1、方位2のように、方位ごとにデータが格納される。方位1に対応するデータには、図示するように、その方位において合成テクスチャを生成した際に用いられたピッチ角、および合成テクスチャの画像IDが格納される。画像IDは、合成テクスチャの識別情報であり、これを用いることによって、合成テクスチャの画像データとの紐付けをすることができる。方位2以降のデータも、同様の構造で格納されている。
本実施例では、方位ごとに、個別にピッチ角を格納するようにしたが、前方位に共通の情報としてピッチ角を格納するようにしてもよい。
【0029】
C.合成テクスチャ生成処理:
図7は、合成テクスチャ生成処理のフローチャートである。合成テクスチャ生成装置100の合成テクスチャ生成部102(
図2参照)が行う処理であり、ハードウェア的には、合成テクスチャ生成装置100を構成するパーソナルコンピュータのCPUが実行する処理である。
本実施例では、合成テクスチャはメッシュ単位で整備するから、処理を開始すると、合成テクスチャ生成装置は、処理対象となるメッシュの指定を入力する(ステップS100)。指定方法は、メッシュ固有のインデックス、メッシュの座標などを用いることができる。地図上でオペレータが指定した点の座標値を含むメッシュを合成テクスチャ生成装置100が解析し、これを処理対象のメッシュとして設定する方法をとってもよい。
【0030】
また、合成テクスチャ生成装置100は、平行投影パラメータ、即ち投影方位とピッチ角を入力する(ステップS101)。平行投影パラメータは、合成テクスチャを生成する度にオペレータが指定するものとしてもよいし、予めデフォルトの平行投影パラメータを合成テクスチャ生成装置100内に設定しておく方法をとってもよい。
【0031】
次に、CPUは、対象メッシュおよびその周辺の所定範囲のメッシュについて、3D地図データベースを読み込み、それに含まれる各3次元モデルの各面にテクスチャを貼付する(ステップS102)。本実施例では、対象メッシュから2区画以内のメッシュに属する3D地図データを読み込むものとした。この範囲は任意に設定可能である。読み込んだ3D地図データは、合成テクスチャ生成装置100のメモリ内に一時的に記憶される。
【0032】
読み込んだ3D地図データに対し、合成テクスチャ生成装置100はステップS101で指定された平行投影パラメータに基づいて、平行投影を施す(ステップS103)。この処理によって、各地物を平行投影で3次元的に表現した投影図が生成され、合成テクスチャ生成装置100のメモリ内に一時的に格納される。投影図は、ポリゴンデータとして格納してもよい。
【0033】
平行投影が完了すると、合成テクスチャ生成装置100は生成された投影図から、対象メッシュに相当する領域を切出し(ステップS104)、合成テクスチャとして、合成テクスチャ保持部103に格納する(ステップS105)。こうして格納された合成テクスチャは、サーバ200に送信され、メッシュの識別情報と関連づけて、合成テクスチャデータベース212に格納される。以上の処理を全メッシュについて実行することによって、合成テクスチャ生成装置100は、本実施例の合成テクスチャデータベース212を整備する。
【0034】
D.経路案内処理:
D1.全体処理:
次に、生成された合成テクスチャを用いて3次元地図を表示しながら、経路案内を行うための処理を説明する。
図8は、経路案内処理のフローチャートである。左側にスマートフォン300の処理を示し、右側にサーバ200の処理を示した。これらは、
図2に示した種々の機能ブロックが協働して実行する処理であり、ハードウェア的には、スマートフォン300およびサーバ200のCPUが実行する処理である。
【0035】
まず、スマートフォン300のユーザが、経路探索の出発地、目的地を指定する(ステップS210)。出発地は、GPSで取得される現在位置を用いてもよい。目的地は、地物名称、住所、緯度経度の座標値など種々の方法で設定可能である。スマートフォン300は、これらの指定結果をサーバ200に送信する。
サーバ200は、出発地、目的地の指定を入力すると(ステップS200)、ネットワークデータ213(
図2参照)を用いて経路探索を行う(ステップS201)。経路探索は、例えば、ダイクストラ法等を用いることができる。サーバ200は探索結果、即ち経路となるべきネットワークデータをスマートフォン300に出力する(ステップS202)。
【0036】
スマートフォン300は、探索結果を受信すると(ステップS211)、以下の手順で経路案内を行う。
まず、スマートフォン300は、ユーザの現在位置、進行方向を入力する(ステップS213)。現在位置は、GPSによって特定できる。進行方向は、従前の位置から現在位置までの変化に基づいて求めることができる。
次に、スマートフォン300は合成テクスチャ選択処理を行う(ステップS220)。この処理は、現在位置、進行方向に基づいて地図の表示範囲を決定し、地図表示に用いるべき合成テクスチャを合成テクスチャデータベース212から選択する処理である。その具体的な内容については後で説明する。
【0037】
合成テクスチャが選択されると、スマートフォン300は、3D地図データベース104に格納された3次元モデルを仮想3次元空間上に配置した上で、合成テクスチャの射影を行う(ステップS230)。この処理は、
図1の中段に示した処理であり、合成テクスチャを、3次元モデル上にマッピングする処理である。射影に用いる射影方向は、合成テクスチャを生成する際の投影方向と逆方向とし、3次元モデルとの位置合わせも行う。即ち、3次元モデルから平行投影した投影図にぴったりと重なる位置に合成テクスチャを配置し、平行投影と逆方向に射影するのである。こうすることによって、3次元モデル上に合成テクスチャをずれずに射影することができる。本実施例では、合成テクスチャは「視点位置」と無関係の平行投影によって生成されているため、メッシュ内のどの範囲の3次元地図を表示する場合でも、共通して利用可能であるという利点がある。
スマートフォン300は、合成テクスチャが貼付された3次元モデルを透視投影することによって地図表示を行う(ステップS300)。以上の処理によって、
図5の上段に示したような3次元地図を表示することができる。
地図中には、併せて、経路を表す線や現在位置を表すマークなどを表示してもよい。合成テクスチャを用いる他、地図表示は通常の透視投影で行っているから、例えば、経路や現在位置を表すポリゴンを、3次元モデルとともに仮想3次元空間に配置した上で透視投影を施す方法でこれらを表示することができる。また、一旦、透視投影によって3次元地図を生成した後、その画像上に、経路や現在位置を表すポリゴンを2次元的に描くようにしてもよい。
スマートフォン300は、ユーザが目的地に到着するまで(ステップS302)、ステップS213以降の処理を繰り返し実行し、経路案内を行う。地図表示システムとして、経路案内を伴わず静的に地図を表示する場合には、ステップS220〜S300の処理を実行すれば良い。
【0038】
D2.合成テクスチャ選択処理:
図9は、合成テクスチャ選択処理のフローチャートである。経路案内処理(
図8)のステップS220に相当する処理である。
経路案内用の3次元地図は、進行方向を視線方向とする透視投影によって表示される。先に
図5で説明した通り、モデル露出部が現れるのを回避するため、合成テクスチャは、透視投影の視線方向に近い投影方位で生成されたものを選択することが好ましい。
そこで、スマートフォン300は、まず進行方向に基づいて、地図表示に用いるべき合成テクスチャの方位を決定する(ステップS221)。図中に合成テクスチャの方位の決定方法を示した。中央の四角の領域は、表示対象となる領域を表し、その周囲に、
図6に対応する8方位を示した。各方位には、破線で示すように、それぞれ45度の角度領域が割り当てられる。スマートフォン300は、これらの8つの角度領域から進行方向が含まれるものを選択する。例えば、矢印HDで示す方向に進行している場合には、方位5が選択されることになる。
角度領域は合成テクスチャが用意されている方位数に応じて決めることができる。16方位の地物データが用意されている場合には22.5度とすればよいし、4方位の場合には90度とすればよい。
【0039】
図中の方位1、方位8に例示するように、各方位に割り当てる角度範囲を45度よりも大きく設定し、方位間に重複する領域を持たせてもよい。図中の一点鎖線で示す範囲は、45度よりも広い角度領域を表している。方位1、方位8に対して、このように広い角度領域を割り当てると、両者の間には、ハッチングを付した領域HAのように重複領域が生じる。
このように設定しておけば、方位を決定する際には、この領域をヒステリシス領域として用いることができる。例えば、進行方向が方位8から方位1に変化している場合には、進行方向が重複領域HAに入っても方位8を使用し、逆に方位1から方位8に変化している場合には、進行方向が重複領域HAに入っても方位1を使用するのである。このようにヒステリシスを設けることにより、方位1と方位8との境界付近で進行方向が細かく変化する場合に、表示に用いる合成テクスチャが頻繁に切り替わることを回避できる利点がある。
図中では方位1と方位8との間に重複領域HAを設ける例を示したが、他の方位間にも同様に重複領域を設けることが可能である。
【0040】
こうして表示方位が決定されると、スマートフォン300は、現在位置、方位に基づき表示範囲を決定する(ステップS222)。
図の右側に、表示範囲の決定例を示した。破線で示す経路PSに沿って位置POS1、POS2、POS3と移動する場合を考える。位置POS1では、ここを含む幅XAr、縦YArの範囲が3次元地図表示に用いるべき3次元モデルの利用範囲Ar1となる。そして、進行方向DR1は図中の真上、即ち方位5(ステップS221中の図を参照)に相当するから、スマートフォン300は、方位5の合成テクスチャを用いる。利用範囲Ar1が一つのメッシュ内に属する場合には、そのメッシュに対応する一つの合成テクスチャが用いられることになるし、利用範囲Ar1が複数のメッシュに対応する場合には、複数の合成テクスチャが用いられることになる。
【0041】
次に、位置POS2に移動すると、進行方向DR2はやや右側に変化する。しかし、この進行方向DR2は、まだ方位5の角度領域内に属するため、スマートフォン300は、位置POS2においても合成テクスチャの選択方位としては、方位5を選択し、利用範囲AR2を決定する。3次元地図自体は、進行方向DR2を視線方向とすることで、利用範囲AR2よりもやや斜め方向に投影されるが、合成テクスチャはメッシュ単位で生成されているため、合成テクスチャを貼り付ける利用領域AR2は、方位5に合わせた状態で設定してある。
【0042】
次に、位置POS3に移動すると、進行方向DR3はさらに右側に変化する。この進行方向DR3は、方位5の角度領域を外れ、方位6の角度領域に属する。従って、スマートフォン300は、位置POS3においては、方位6を選択し、利用範囲AR3を図示するように斜め方向に決定し、方位6で生成された合成テクスチャを貼付する。経路案内時には、位置POS2から位置POS3に至る途中で、方位5から方位6に合成テクスチャが切り替わることになる。
かかる処理によって進行方向に近い方位の合成テクスチャを選択しながら3次元地図表示を行うことにより、透視投影の方位が、合成テクスチャの生成時の投影方位と大きくずれることを回避でき、
図5に示したモデル露出部が顕著に現れることを回避できる。
【0043】
E.効果および変形例:
以上で説明した実施例の経路案内システムによれば、合成テクスチャを用いることにより、地図表示に用いるテクスチャの枚数および解像度を低減させることができる。従って、透視投影による地図表示を行いつつも、その地図表示に要する処理負荷を軽減することができる。
本実施例で説明した種々の特徴は、必ずしも全てを備えている必要はなく、一部のみを実現するようにしてもよい。また、上述した内容に追加の機能を設けてもよい。
本発明は上述の実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、実施例においてハードウェア的に構成されている部分は、ソフトウェア的に構成することもでき、その逆も可能である。また、次に示す種々の変形例を構成することも可能である。
(1)実施例では、合成テクスチャは平行投影で生成する例を示したが、これを透視投影で生成しても構わない。この場合には、射影も、透視投影と同じ視点位置、視線方向を利用して行えばよい。
(2)実施例では、透視投影によって3次元地図を表示する例を示したが、平行投影によって3次元地図を表示してもよい。
(3)実施例は、経路案内システムとしての構成を示したが、経路案内を行わず、静的に3次元地図を表示する3次元地図表示システムとして構成することも可能である。
(4)実施例では、仮想3次元空間に3次元モデルを配置した後、合成テクスチャが射影されない隠面には、何もテクスチャを貼付せずに3次元地図の表示を行う例を示したが、隠面に、3次元モデル用のテクスチャを貼付するようにしてもよい。