【実施例1】
【0016】
本発明の画像表示システムの実施例を、経路案内システムとして構成した場合を例にとって説明する。経路案内システムは、3次元地図を表示しながら、ユーザが指定した出発地から目的地に至る経路を案内する装置である。画像表示システムは、この3次元地図を表示する機能を実現する部分として組み込まれることになる。
【0017】
A.テクスチャの適用方法:
本実施例では、3次元モデルの各ポリゴンにテクスチャを貼付し、リアリティの高い3次元地図を表示する。経路案内システムの構成を示す前に、このテクスチャの利用方法について説明する。
図2は、テクスチャの適用例を示す説明図である。ビルの3次元モデルにテクスチャを貼り付ける例を示した。ビルの上面には、屋上の外観を表すテクスチャA部分が貼付され、正面および側面には、それぞれ窓を表すテクスチャB部分、C部分が配列して貼付される。
本実施例では、図の右下に示すように、テクスチャA部分、B部分、C部分を配列した統合テクスチャを用意する。そして、上面については、統合テクスチャ内のテクスチャA部分だけを貼付対象として用いる。正面および側面については、それぞれ統合テクスチャ内のテクスチャB部分、C部分だけを貼付対象として繰り返し用いる。つまり、本実施例は、テクスチャA〜C部分を個別に用いたのと同様の外観を、各テクスチャ部分を包含する統合テクスチャを使い分けることによって実現するのである。
テクスチャA〜C部分を個別のテクスチャデータとして用意する場合には、貼付する際に、各テクスチャデータをハードディスク等の不揮発性メモリから読み出して処理する必要がある。これに対し、本実施例では、統合テクスチャを1回読み出しておけば、テクスチャA〜C部分の貼付を行うことができるため、テクスチャの貼付処理において読み出しの処理負荷を軽減することができるのである。3次元地図では、多数の3次元モデルに、多数のテクスチャが利用されるため、読み出しの処理負荷を軽減することによって全体の表示処理の負荷軽減に与える効果は、非常に大きくなる。
【0018】
B.システム構成:
図3は、経路案内システムの構成を示す説明図である。実施例の経路案内システム100は、カーナビゲーション装置として構成した例を示した。経路案内システム100は、スマートフォン、タブレットその他の携帯端末を利用して構成してもよい。また、実施例の経路案内システム100は、スタンドアロンで稼働する例を示したが、サーバと端末装置とをネットワークで接続した構成としてもよい。
【0019】
経路案内システム100は、内部にCPU、GPU、RAM、ROM、ハードディスク等を備えたコンピュータとして構成されており、図示する各機能ブロックが備えられている。各機能ブロックは、ハードディスクやセンサなど経路案内システム100に備えられたハードウェアと、各機能を実現するソフトウェアをインストールすることによって構成されている。これらの機能ブロックは、電子回路などによってハード的に構成することも可能である。
【0020】
経路案内システム100は、ハードディスク内に、経路探索や地図表示等に利用する地図データベース110を格納している。地図データベース110には、図示する各データベースが包含されている。ラインデータベース111は、3次元地図のうち道路や線路などの線状のオブジェクトの形状を表す3次元モデルを格納する。ポリゴンデータベース112は、建物などの立体的なオブジェクトの3次元形状を表す3次元モデルを格納する。
テクスチャグループデータベース113は、3次元モデルの各ポリゴンと、そこに適用されるテクスチャとを関連づけるデータを記憶している。テクスチャデータベース114は、各ポリゴンに貼付されるテクスチャの画像データを記憶している。ここに記憶されているのは、
図2で説明した統合テクスチャであり、テクスチャグループデータベース113は、統合テクスチャの座標を指定することで、統合テクスチャ内のどの部分が各ポリゴンに適用されるかを指定する。テクスチャグループデータベース113、およびテクスチャデータベース114の構造は、後で具体的に説明する。
文字データベース115は、3次元地図内に表示される文字データを格納している。ネットワークデータベース116は、経路探索用のデータとして、道路をリンクおよびノードからなるネットワークで表したデータを格納している。
【0021】
地図データベース110は、本実施例では、メッシュ単位で管理されている。即ち、地表面を所定サイズの矩形形状のメッシュに区切り、メッシュごとに領域を分けて、領域内の地物に対応するラインデータ、ポリゴンデータ、文字データ等を格納している。同様に、テクスチャデータベース114も、各メッシュ内のポリゴンに適用される各テクスチャをまとめてメッシュ単位で統合テクスチャを生成して格納している。こうすることによって、地図を表示する際に、テクスチャも含めてメッシュ単位でデータを扱うことができ、データの管理・利用が容易になる利点がある。
【0022】
コマンド入力部101は、ユーザから指定されるコマンドを入力する。コマンドとしては、例えば、経路探索の出発地、目的地の指定、地図表示のモードの指定などが挙げられる。
GPS102は、GPS(Global Positioning Sensor)などを利用して、経路案内システム100の現在位置を検出する。
経路探索部103は、ネットワークデータベース116を利用して、指定された出発地から目的地に至る経路を探索する。経路探索は、ダイクストラ法など種々の方法を適用可能である。
表示制御部120は、3次元地図を表示する。まず、オブジェクト配置部121によって、仮想3次元空間内にラインデータベース111、ポリゴンデータベース112に格納された3次元モデルを配置する。そして、テクスチャ貼付部122によって、各ポリゴンにテクスチャデータベース114に格納されたテクスチャを適用する。この適用は、
図2に示したように、統合テクスチャをテクスチャデータベース114から読み出し、ポリゴンごとにその一部を貼付するのである。投影部123は、テクスチャの貼付が終わったオブジェクトを、指定された視点位置、視線方向によって透視投影し、表示用の投影画像を生成する。文字表示部124は、生成された投影画像に、文字を重畳表示する。
経路案内システム100のうち、3次元地図の表示に関係する部分、即ち地図データベース110および表示制御部120が、本発明の画像表示システムに対応する構成となる。
【0023】
図4は、地図データベースのデータ構造を示す説明図である。ポリゴンデータベース112、テクスチャグループデータベース113、テクスチャデータベース114の構造を例示した。
ポリゴンデータベース113は、建物等の3次元モデルを記憶している。「ID」は、各3次元モデルを構成する各ポリゴンの識別情報である。「形状」は、3次元モデルを構成するポリゴンの頂点AP1、AP2等の3次元座標を格納する。「テクスチャ」は、各ポリゴンに貼付されるテクスチャを指定する識別情報である。本実施例では、テクスチャを直接指定するのではなく、テクスチャグループデータベース113内のデータを指定するものとした。属性は、ポリゴンに関する種々の情報を格納している。例えば、建物の名称、種別、高さ、色などの情報である。
【0024】
テクスチャデータベース114には、統合テクスチャの画像データが格納されている。
統合テクスチャには、TID1、TID2のように、それぞれ識別情報が付されている。統合テクスチャは、図示するように、複数のテクスチャ部分A、B、C等を配列したテクスチャである。図の例では、3つのテクスチャを配列した例を示したが、統合テクスチャに含まれるテクスチャの数、形状、サイズは、テクスチャ同士が相互に重ならない範囲で任意に設定可能である。
本実施例では、地図データベース110は、地上を所定範囲で区切ったメッシュを単位として整備されている。従って、統合テクスチャも、各メッシュを単位として、メッシュ内のポリゴンに適用されるテクスチャを包含する形で生成されている。異なるメッシュに存在するオブジェクトに対して同じテクスチャが用いられる場合には、このテクスチャは、それぞれのメッシュに対応する統合テクスチャに重複して包含されることになる。このような重複部分は生じるものの、統合テクスチャをメッシュ単位で整備することにより、地図を表示する際に、オブジェクトおよびテクスチャをメッシュ単位で取り扱うことができ、データの管理・利用が容易になる利点がある。
もっとも、メッシュ単位で統合テクスチャを生成することは必須の要件ではなく、統合テクスチャを整備する単位は他に種々の選択が可能である。
【0025】
テクスチャグループデータベース113は、ポリゴンデータベース112とテクスチャデータベース114とを関連づける関連データを格納している。「GID」は、関連データの識別情報である。ポリゴンデータベース112では、このGIDを指定することによってポリゴンデータを関連データに対応させることができる。図の例では、ポリゴンデータベース112に格納されているPID1、PID2のデータは、いずれも「テクスチャ」にGID1が格納されているため、これらのポリゴンには共に、テクスチャグループデータベース113のGID1なる関連データが対応づけられることになる。こうすることによって、ポリゴンデータに複数のテクスチャデータを容易に対応づけることが可能となる。
テクスチャグループデータベース113の「TID」は、テクスチャデータベース114の識別情報である。TIDを指定することによって、テクスチャグループデータベース113と、テクスチャデータベース114とを対応づけることができる。図の例では、GID1が付された関連データには、「TID」として「TID1」が格納されているため、この関連データはテクスチャデータベース114内のテクスチャデータTID1に対応づけられることになる。
テクスチャグループデータベース113のPmin,Pmaxは、それぞれ統合テクスチャ内のうち、ポリゴンに貼付すべきテクスチャの範囲を指定する座標データである。Pminはテクスチャの範囲の左下の頂点座標を表し、Pmaxは右上の頂点座標を表している。図の例では、Pmin、Pmaxとして、それぞれP1、P2が指定されている。このP1、P2が、テクスチャTID1内の座標系でそれぞれ図示する位置であるとすると、この2点によって、貼付すべき範囲としてテクスチャA部分が指定されていることになる。同様に、テクスチャB部分を指定する場合には、その左下の頂点をPmin、右上の頂点をPmaxとして指定すればよい。
テクスチャグループデータベース113の「ポリゴン」は、テクスチャグループデータ113からポリゴンデータベース112を参照できるよう、ポリゴンデータを指定する情報である。図の例では、ポリゴンデータベース112のPID1、PID2がテクスチャデータベースのGID1に対応づけられているため、「ポリゴン」には、逆の対応を示すPID1、PID2が格納されている。
【0026】
以上のデータ構造によって、ポリゴンデータベース112内の各ポリゴンデータに対して、テクスチャグループデータベース113を介してテクスチャデータベース114における統合テクスチャ内の範囲を対応づけることができる。本実施例では、テクスチャグループデータベース113を介して間接的に対応づけを行っているため、テクスチャデータベース114の統合テクスチャを更新した場合には、テクスチャグループデータベース113を修正すれば、複数のポリゴンとの対応関係を一括して容易に変更することが可能となる利点がある。
ポリゴンとテクスチャとの対応づけは、テクスチャグループデータベース113を省略し、ポリゴンデータベース112の各ポリゴンに、直接にテクスチャデータベース114の識別情報TID1、TID2等および頂点座標Pmin、Pmaxなどを格納する方法をとってもよい。
【0027】
C.地図表示処理:
図5は、地図表示処理のフローチャートである。ユーザに対して経路を案内する過程で3次元地図を表示する際に実行される処理である。この処理は、
図3に示した表示制御武120によって主として実行される処理であり、ハードウェア的には経路案内システム100のCPUおよびGPUによって実行される処理である。
【0028】
処理を開始すると、経路案内システム100は、視点、視線方向、表示範囲などを設定する(ステップS10)。これらのパラメータは、経路案内システム100の現在位置および探索された経路などに基づいて設定することができる。また、ユーザからのコマンドによって設定してもよい。
経路案内システム100は、設定された表示範囲内の地図データを読み込み(ステップS12)、仮想3次元空間内に、3次元モデルを配置する(ステップS14)。そして、ポリゴンに対しては、テクスチャ貼付処理を行う(ステップS16)。この処理は、
図2に示したように、ポリゴンに対して統合テクスチャの一部をそれぞれ適用する処理である。処理内容については後で詳述する。
テクスチャの貼付が終わると、経路案内システム100は、指定された視点、視線方向から透視投影を行って(ステップS18)、投影図を生成する。透視投影に代えて、平行投影などの投影方法を用いても良い。そして、経路案内システム100は、投影図内に文字を表示し(ステップS20)、地図表示処理を完了する。
以上の地図表示処理は、経路案内において、目的地に到達するまで、視点、視線方向等を変えながら、繰り返し実行される。
【0029】
図6は、テクスチャ貼付処理のフローチャートである。地図表示処理(
図5)のステップS16に対応する処理である。
経路案内システム100は、まず地図の表示範囲に対応した統合テクスチャデータを読み込む(ステップS30)。統合テクスチャデータはメッシュ単位で生成されているため、表示範囲が単一のメッシュ内で収まっている場合には一つの統合テクスチャデータを読み込めば足りる。表示範囲が複数のメッシュにまたがっている場合には、複数の統合テクスチャデータを読み込むことになる。
【0030】
次に、経路案内システム100は、テクスチャ部分を設定する(ステップ32)。これは統合テクスチャのうち処理対象となるポリゴンに適用する部分を特定する処理である。統合テクスチャから、テクスチャ部分を切り出すなどの画像処理ではなく、その範囲を特定するだけの処理である。
本実施例では、貼付されるべきテクスチャ部分は、統合テクスチャに設定されたu、v座標系によって左下の頂点Pmin(Umin,Vmin)、右上の頂点Pmax(Umax,Vmax)の座標値で特定される。この座標値は、テクスチャグループデータベース113を参照することによって得られる。
【0031】
そして、経路案内システム100は、対応するポリゴンにテクスチャを貼付する(ステップS34)。図中にテクスチャを貼付する例を示した。図示する通り、統合テクスチャ内の頂点Pmin、Pmaxで指定された矩形の範囲内のみが、貼付されるのである。統合テクスチャからこの範囲を切り出すなどの画像処理を行って適用するのではなく、統合テクスチャを貼付する際に、この範囲だけを適用対象とするのである。図の例では、建物1、2のポリゴン1、2にそれぞれ貼付される例を示したが、このように同じ範囲は、複数の建物の複数のポリゴンに適用され得る。また、その配置は、ポリゴンの形状等によって任意に設定可能である。
経路案内システム100は、以上の処理を全テクスチャについて終了するまで繰り返し実行する(ステップS36)。
【0032】
上述のテクスチャの貼り付けについて、もう少し詳細に説明する。3次元グラフィックスで利用されるグラフィックスライブラリでは、テクスチャ画像を値0〜1の正規化した座標からなる正方形形状で定義し、その4つの頂点(0,0)、(0,1)、(1,0)、(1,1)が、ポリゴンのどの点に対応するのかを指定することによってテクスチャの貼り付け状態を規定することが多い。本実施例では、頂点Pmin、Pmaxで指定される範囲は、指定された時点では、統合テクスチャの座標系で定義されているため、このままでは上述の正規化された正方形形状とはなっていない。従って、ステップS34の貼り付け処理では、上述の4つの頂点(0,0)、(0,1)、(1,0)、(1,1)が、指定された範囲の4頂点に対応するよう、次式によって座標変換を行う。
umod=Umin+(u−Umin)/(Umax−Umin);
vmod=Vmin+(v−Vmin)/(Vmax−Vmin);
ここで、u、vはテクスチャを貼付する際の正規化された正方形の4つの頂点(0,0)、(0,1)、(1,0)、(1,1)およびその内部を表す座標系、即ち頂点Pmin、Pmaxで指定された範囲内の相対座標系における座標値であり、umod、vmodは、これを統合テクスチャの座標に変換した値である。かかる座標変換を行うことによって、グラフィックスライブラリ内では、統合テクスチャ内の頂点Pmin、Pmaxで指定された範囲内が、4つの頂点(0,0)、(0,1)、(1,0)、(1,1)で表される正規化された正方形形状として扱われ、その他の領域は、テクスチャの貼付処理上は無効な領域として扱われるため、結果として、統合テクスチャの一部のみを利用した貼付が可能となるのである。
【0033】
以上で説明した実施例の経路案内システム100、ひいてはそこに組み込まれている画像表示システムによれば、統合テクスチャを利用して地図表示を行うことができる。従って、地図表示に際して、統合テクスチャを読み出しさえすれば、多数のテクスチャを読み出すまでなくテクスチャの貼付を行うことができる。このため、実施例によれば、テクスチャの読み出しに要する処理負荷、ひいては地図表示の処理負荷を軽減することが可能となる。
特に、本実施例では、CPUとGPUとを備えたハードウェア構成をとっている。かかる構成のハードウェアでは、CPUから発行される描画のためのコマンドに応じてGPUがテクスチャの読み込みおよび描画という処理を実行する。本実施例では、統合テクスチャを用いるため、テクスチャの処理に関しては、CPUからGPUに対して一回コマンドを発行するだけでGPUは、その内部の必要な部分を適宜使い分けて貼付処理を実行することができる。従って、本実施例によれば、コマンドの発行回数を減少させることができ、処理時間を低減させることができる。
また、GPUには一般に管理可能なテクスチャ数に上限があるが、本実施例では、統合テクスチャを用いるため、上限値を超えない範囲に全体のテクスチャ数を低減することができる。従って、本実施例によれば、多様なテクスチャを効率的に利用して描画することが可能となる。
【実施例2】
【0034】
次に、第2実施例としての経路案内システムについて説明する。第2実施例の経路案内システムは、統合テクスチャを自動的に生成する統合テクスチャデータ生成装置200を備えるものである。統合テクスチャを利用して3次元地図を表示するための構成および地図表示処理の内容は、第1実施例と同様である。第1実施例では、統合テクスチャは、オペレータの手作業等によって生成する場合も含んでいるが、第2実施例では、これを自動生成する点で相違する。
【0035】
D.第2実施例のシステム構成:
図7は、統合テクスチャデータ生成装置の構成を示す説明図である。統合テクスチャデータ生成装置200は、コンピュータPCに、図示する各機能を実現するコンピュータプログラムをインストールすることによって構成される。スタンドアロンで稼働する装置としての構成だけでなく、サーバとコンピュータとをネットワークで接続するなどして構成することも可能である。また、図中の各機能ブロックは、ソフトウェア的に構成する他、ハードウェア的に構成してもよい。
【0036】
原地図データベース210は、統合テクスチャデータの生成に利用されるものである。ポリゴンデータベース211は、3次元地図を表示するための建物等の3次元モデルを構成するポリゴンデータを格納している。その内容は、実施例1で説明したポリゴンデータベース112(
図3参照)と同じである。個別テクスチャデータベース212は、各ポリゴンに貼付されるテクスチャの画像データを格納したデータベースである。統合テクスチャデータは、個別テクスチャデータベース212に格納されている各テクスチャを配列することによって生成される。
【0037】
コマンド入力部202は、オペレータからの種々のコマンドを入力する。コマンドとしては、例えば、統合テクスチャデータを生成する処理対象となるメッシュの指定などが挙げられる。
統合テクスチャ生成部220は、個別テクスチャデータベース212に格納されたテクスチャデータを配列して、統合テクスチャを生成する。
テクスチャグループデータベース生成部222は、統合テクスチャと、ポリゴンとを関連づける関連データ(
図4参照)を生成する。
ポリゴンデータベース修正部224は、生成された関連データに基づいて、ポリゴンデータを修正する。即ち、修正前のポリゴンデータにおいて、個別テクスチャデータベース212に格納されているテクスチャデータを貼付するように指定がなされている部分を、そのテクスチャデータに対応する関連データを指定するように内容を修正するのである。こうすることにより、先に
図4に示したように、テクスチャグループデータベース113を介して、ポリゴンをテクスチャに対応づけることが可能となる。
データ管理部226は、以上で生成された統合テクスチャおよび関連データを地図データベース110として格納する。生成された地図データベース110は、ネットワークNEや記録媒体228を介して、ユーザに配信等される。
【0038】
このように、実施例2では、統合テクスチャデータ生成装置200と、それを利用して地図を表示する装置とが別体からなる構成例を示しており、全体として経路案内システムとして機能する例を示している。統合テクスチャデータ生成装置200の各機能を、実施例1で示した経路案内システム100に組み込んで一体化したシステムとして構成することも可能である。
【0039】
E.統合テクスチャ生成処理:
図8は、統合テクスチャ生成処理のフローチャートである。統合テクスチャデータ生成装置200の統合テクスチャ生成部220、テクスチャグループデータベース生成部222、ポリゴンデータベース修正部224が実行する処理であり、ハードウェア的には、統合テクスチャデータ生成装置200のCPUが実行する処理である。
【0040】
統合テクスチャデータ生成装置200は、まず、処理対象となる対象メッシュを選択する(ステップS40)。既に説明した通り、統合テクスチャは、メッシュ単位で生成するからである。対象メッシュは、オペレータが指定するものとしてもよいし、未処理のメッシュから自動的に選択するようにしてもよい。
統合テクスチャデータ生成装置200は、対象メッシュ内のポリゴンを特定し、それに対応する個別テクスチャを読み込む(ステップS42)。投影図を生成する訳ではないので、ポリゴン自体を読み込む必要はない。
【0041】
次に、統合テクスチャデータ生成装置200は、個別テクスチャを配列し、統合テクスチャを生成する(ステップS44)。図中に配列の方法を模式的に示した。左側に示すテクスチャA〜Cが個別テクスチャである。これを図中に示すように統合テクスチャ内に配列する。配列方法は、個別テクスチャが、相互に重ならなければ、どのような位置であってもよい。
個別テクスチャA〜Cが、それぞれ正規化された座標系(0,0)〜(1.1)からなる正方形で定義されている場合には、統合テクスチャを、予め一定サイズの正方形領域に区切っておき、個別テクスチャA〜Cを順次、各領域に割り当てていく方法をとることができる。
個別テクスチャA〜Cは、必ずしも正方形である必要はなく、任意の形状とすることができる。こうすることにより、各個別テクスチャの解像度の低下を防ぎつつ統合テクスチャを生成することができる。もっとも、配列の便宜上、個別テクスチャA〜Cは、矩形としておくことが好ましい。
【0042】
統合テクスチャの生成が完了すると、統合テクスチャデータ生成装置200は、ポリゴンと個別テクスチャの関係に基づきテクスチャグループデータベースを生成する(ステップS46)。
図4に示したように、ポリゴンに対応する個別テクスチャの頂点Pmin、Pmaxの座標を特定し、格納することで関連データを生成していけばよい。
こうして関連データが生成できると、統合テクスチャデータ生成装置200は、ポリゴンデータベースに、テクスチャグループデータベースを関連付ける(ステップS48)。つまり、
図4に示したように、ポリゴンデータベースのうち、貼付するテクスチャを指定するデータとして、関連データを指定する情報を格納するのである。
以上の処理を完了すると、統合テクスチャデータ生成装置200は、各データベースを格納して(ステップS50)、統合テクスチャ生成処理を終了する。
【0043】
実施例2によれば、統合テクスチャを自動的に生成することができるため、地図を表示する際の処理だけでなく、そのための前処理の負荷も軽減することが可能となる。
【0044】
以上、本発明の実施例について説明した。実施例で説明した種々の特徴は必ずしも全てを備えている必要はなく、適宜、一部を省略したり組み合わせたりして構成することができる。
実施例では、3次元地図を表示するシステムとしての例を示したが、本発明は3次元地図を表示する場合だけでなく、複数のテクスチャを利用して画像を表示する種々のシステムに利用可能である。
また、実施例では、CPUとGPUとを備えた構成を例示したが、本発明はCPUのみを備えた構成にも適用可能である。