(57)【要約】【課題】  重なり合う文字等を判別しやすい地図を提供する。【解決手段】  右眼用画像、左眼用画像をそれぞれ右眼、左眼で視認することで立体視が可能なディスプレイを備える端末３００を用意する。背景となる地図データ２１１は、３Ｄ地図データベース１０４に格納された３次元モデルを平行投影することによって全領域について共通の画像データとして生成する。この際、右眼用／左眼用で視差を与えた投影条件とすることにより、全領域について右眼用／左眼用平行投影データを用意することができる。地図上に表示される文字については、表示する際に、文字通しの重なり状況などに基づいて表示深さを設定し、これに応じて文字の表示位置をオフセットして立体視用の画像データを生成する。  こうすることにより、重なり合う文字も異なる表示深さで表示されるため、比較的容易に判別することが可能となる。【選択図】  図２
2014075012.tif 000002
【特許請求の範囲】
【請求項１】
表示深さを与えて地図を立体視させる立体視地図表示システムであって、
視差を与えた右眼用画像および左眼用画像を、それぞれ右眼および左眼で視認可能に表示することで立体視を実現する立体視表示部と、
地図データを記憶する地図データベース記憶部と、
前記地図データに基づき、前記立体視表示部に対し、少なくとも一部に視差を与えた前記右眼用画像および左眼用画像を提供する表示制御部とを備え、
前記地図データには、地物の形状を表す地物データと、該地物以外を表し所定の規則に基づいた表示深さで表示される表示深さ調整オブジェクトとが記憶され、
前記表示制御部は、前記表示深さ調整オブジェクトを、その属性または表示位置に関する所定の規則に基づいて、多段階の表示深さで表示させる立体視地図表示システム。
【請求項２】
請求項１記載の立体視地図表示システムであって、
前記表示制御部は、視差を与えた状態で前記地物データを３次元的に表現した前記右眼用画像および左眼用画像を提供する立体視地図表示システム。
【請求項３】
請求項２記載の立体視地図表示システムであって、
前記地図データは、前記視差を与えるよう投影条件を変化させて地物の３次元形状を表すデータを鉛直方向に対して所定の投影角度だけ傾けた斜め方向から平行投影することによって得られる２次元画像としての右眼用平行投影データおよび左眼用平行投影データであり、
前記表示制御部は、前記右眼用平行投影データおよび左眼用平行投影データから、表示すべき範囲に対応する範囲を前記立体視表示部に提供する立体視地図表示システム。
【請求項４】
請求項２または３記載の立体視地図表示システムであって、
前記表示制御部は、
前記地物データに関しては、３次元的に表現する際の投影条件を右眼用と左眼用で異ならせることで視差を与えた右眼用画像および左眼用画像を提供し、
前記表示深さ調整オブジェクトに関しては、その表示位置を表示深さに応じて平行移動することで視差を与えて、右眼用画像および左眼用画像を提供する立体視地図表示システム。
【請求項５】
請求項１〜３いずれか記載の立体視地図表示システムであって、
前記表示深さ調整オブジェクトに関し、ユーザによる指示に基づいて表示深さを設定する表示深さ設定部を備え、
前記表示制御部は、前記表示深さ設定部による設定結果に応じて、前記表示深さ調整オブジェクトに視差を生じさせる立体視地図表示システム。
【請求項６】
視差を与えた右眼用画像および左眼用画像を、それぞれ右眼および左眼で視認可能に表示することで立体視を実現する立体視表示部に対し、コンピュータによって、
表示深さを与えて地図を立体視させる立体視地図表示方法であって、
地物の形状を表す地物データと、該地物以外を表し所定の規則に基づいた表示深さで表示される表示深さ調整オブジェクトとを記憶する地図データを読み込むステップと、
前記地図データに基づき、前記立体視表示部に対し、少なくとも一部に視差を与えた前記右眼用画像および左眼用画像を提供する表示制御ステップとを備え、
前記表示制御ステップは、前記表示深さ調整オブジェクトを、その属性または表示位置に関する所定の規則に基づいて、多段階の表示深さで表示させるよう前記右眼用画像および左眼用画像を提供する立体視地図表示方法。
【請求項７】
視差を与えた右眼用画像および左眼用画像を、それぞれ右眼および左眼で視認可能に表示することで立体視を実現する立体視表示部に対し、コンピュータによって、
表示深さを与えて地図を立体視させるためのコンピュータプログラムであって、
地物の形状を表す地物データと、該地物以外を表し所定の規則に基づいた表示深さで表示される表示深さ調整オブジェクトとを記憶する地図データを読み込む機能と、
前記地図データに基づき、前記立体視表示部に対し、少なくとも一部に視差を与えた前記右眼用画像および左眼用画像を提供する表示制御機能とを前記コンピュータに実現させ、
前記表示制御機能は、前記表示深さ調整オブジェクトを、その属性または表示位置に関する所定の規則に基づいて、多段階の表示深さで表示させるよう前記右眼用画像および左眼用画像を提供する機能であるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、視差を与えて右眼用画像、左眼用画像を表示することによって立体視を行う立体視地図表示システムに関する。
【背景技術】
【０００２】
ナビゲーション装置やコンピュータの画面等に用いられる電子地図では、建物などの地物を３次元的に表現した３次元地図が用いられることがある。特許文献１は、かかる３次元地図の一例として、予め平行投影によって３次元的に描画した画像データの形で地図データを用意しておき、これを用いて３次元地図を表示する方法を開示している。３次元地図は、かかる方法の他、地物の３次元形状を表す３次元モデルを、透視投影して表示する方法などが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１８６９６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
３次元地図への表示対象は、地物に限らず、地物名称・地名・案内情報を表す文字、地図記号・通行規制標識、経路案内における現在位置や経路など、種々の情報が含まれる。しかし、これらの情報は、地図としての性質上、地物や地形と関連づけて表示せざるを得ないため、情報と地物との重複、情報同士の重複などによって、内容が判読しづらくなることがあった。情報の表示位置や表示サイズを調整することで、重複を回避する方法をとることも可能ではあるが、情報量が多い範囲では、こうした回避策にも限界がある。
かかる課題は、３次元地図に限定されるものではなく、２次元の地図においても同様に生じ得る。ただし、３次元地図では、地物の側面が描かれることによって各地物の描画面積が大きくなりがちであり、上述の重複が生じやすい傾向にある。
本発明は、これらの課題に鑑み、地物以外に地図上に表示される種々の情報を、判読しやすい態様で提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、表示深さを与えて地図を立体視させる立体視地図表示システムであって、
視差を与えた右眼用画像および左眼用画像を、それぞれ右眼および左眼で視認可能に表示することで立体視を実現する立体視表示部と、
地図データを記憶する地図データベース記憶部と、
前記地図データに基づき、前記立体視表示部に対し、少なくとも一部に視差を与えた前記右眼用画像および左眼用画像を提供する表示制御部とを備え、
前記地図データには、地物の形状を表す地物データと、該地物以外を表し所定の規則に基づいた表示深さで表示される表示深さ調整オブジェクトとが記憶され、
前記表示制御部は、前記表示深さ調整オブジェクトを、その属性または表示位置に関する所定の規則に基づいて、多段階の表示深さで表示させる立体視地図表示システムと構成することができる。
【０００６】
ここで、表示深さ調整オブジェクトとしては、地物以外に地図上に表される種々の情報が含まれる。例えば、地物名称・地名・案内情報等を表す文字、地図記号・通行規制標識、経路案内における現在位置や経路などが該当する。地物のように３次元形状を有しないオブジェクトという意味で、２次元オブジェクトと称することもできる。
地図データは、２次元の地図表示用のデータであってもよいし、３次元の地図表示用のデータであってもよい。
本発明の立体視地図表示システムによれば、これらの表示深さ調整オブジェクトを多段階の表示深さで立体視表示させることが可能となる。こうすることにより、表示深さ調整オブジェクトの一部が、他の表示深さ調整オブジェクトによって隠れる場合であっても、表示深さの相違によって、双方の表示深さ調整オブジェクトを容易に判別することが可能となる。この結果、隠れている側の表示深さ調整オブジェクトについて、全体が見えないまでも、その内容を容易に推測することが可能となる。
多段階の表示深さとは、表示深さ調整オブジェクトの表示深さを異ならせることを意味するが、表示深さの設定は、表示深さ調整オブジェクトの属性または表示位置に基づいて行うことができる。多段階の表示深さとは、２種類以上の表示深さの意味であり、その値は、任意の値をとり得るものとしてもよいし、予め量子化して設定された値から選択可能としてもよい。
属性に基づく設定としては、例えば、文字＞記号等＞経路案内に関する情報の順に、手前から奥に見えるように表示深さを設定する方法など、表示深さ調整オブジェクトの種別に応じて予め設定された表示深さで表示を行う方法が含まれる。文字、記号等、経路案内に関する情報等の種別を更に細分化して表示深さを設定してもよい。また表示深さの設定は、必ずしも文字を手前にする必要はなく任意に設定可能である。属性には、表示深さ調整オブジェクトに関連づけられた地物等の属性を含めることもできる。例えば、表示深さ調整オブジェクトが地物の名称である場合、その名称が関連づけられた地物の高さに応じて、表示深さを設定する方法をとってもよい。
表示位置に基づく設定としては、例えば、表示深さ調整オブジェクト同士が重なる場合に、一方を手前に、他方を奥に表示する方法などが該当する。いずれを手前にするかは、任意に設定可能である。例えば、属性に基づいて決めてもよいし、表示深さ調整オブジェクトの表示範囲の大きさに応じて決めてもよい。
【０００７】
本発明の立体視地図表示システムにおいて、
前記表示制御部は、視差を与えた状態で前記地物データを３次元的に表現した前記右眼用画像および左眼用画像を提供するものとしてもよい。
こうすることによって、表示深さ調整オブジェクトの背景に当たる３次元地図画像も立体視することができ、地物の高さなどを直感的に認識可能になるとともに、表示深さ調整オブジェクトの立体視についても違和感を低減することができる。
このように３次元地図も立体視する場合、例えば、地物等の高さに応じて表示深さ調整オブジェクトの表示深さを設定する方法をとってもよい。これは、先に説明した属性に基づく表示深さの設定の一態様に相当する。こうすることにより、表示深さ調整オブジェクトと地物等との対応関係を直感的に認識可能となる利点がある。
【０００８】
上記態様において、右眼用画像、左眼用画像の提供は、種々の方法で行うことができる。
第１に、地図データとして、地物の３次元形状を記憶させた３次元モデルを用意し、表示制御部は、この３次元モデルを投影して右眼用画像、左眼用画像を生成してもよい。この方法では、指定された視点位置および視線方向に応じた透視投影を適用することができ、より違和感のない立体視を実現することができる。
【０００９】
第２に、予め右眼用画像、左眼用画像を記憶しておく方法をとってもよい。
この場合、前記地図データは、前記視差を与えるよう投影条件を変化させて地物の３次元形状を表すデータを鉛直方向に対して所定の投影角度だけ傾けた斜め方向から平行投影することによって得られる２次元画像としての右眼用平行投影データおよび左眼用平行投影データであり、
前記表示制御部は、前記右眼用平行投影データおよび左眼用平行投影データから、表示すべき範囲に対応する範囲を前記立体視表示部に提供するものとしてもよい。
透視投影と異なり、平行投影では視点を定める必要がないため、投影された描画結果は、地図の描画範囲をどのように指定した場合でも共通して利用することができる。従って、上記態様では、立体視用の右眼用画像、左眼用画像を予め２次元の画像データとして用意しておくことができ、表示時の投影処理が不要となるため、処理負荷を軽減させることが可能となる。
平行投影では、上述の通り、透視投影と異なり視点位置の指定がないため、視差を与えることが容易ではなく立体視になじまないと考えられているが、本願発明者は、平行投影の投影方向を右眼用／左眼用で異ならせること、つまり、平行投影する際の投影方位、投影角度に加え、両者に直行する軸周りの回転角度を視差として与えることにより、実用的な立体視を実現可能であることを見いだした。上記態様は、かかる着眼により、実現されたものである。
右眼用／左眼用平行投影データを予め用意しておく態様では、同一領域に対して投影方位が異なる複数種類の地物データを格納してもよい。こうしておけば、ユーザの指定した方位に対応して、立体視の３次元地図を提供することができ、利便性を向上させることができる。特に、経路案内に３次元地図を利用する場合には、案内すべき経路に応じて投影方位が異なる３次元地図を使い分けることにより、進行方向を上側に表示するヘディングアップ表示を円滑に実現することができる。
また、上記態様においては、表示深さ調整オブジェクトも予め表示深さに応じた視差を与えて描画させた状態で右眼用／左眼用画像を用意してもよい。こうすることにより、表示深さ調整オブジェクトについても軽い負荷で立体視を実現することができる。
【００１０】
本発明の立体視地図表示システムにおいては、
前記表示制御部は、
前記地物データに関しては、３次元的に表現する際の投影条件を右眼用と左眼用で異ならせることで視差を与えた右眼用画像および左眼用画像を提供し、
前記表示深さ調整オブジェクトに関しては、その表示位置を表示深さに応じて平行移動することで視差を与えて、右眼用画像および左眼用画像を提供するものとしてもよい。
即ち、背景となる３次元地図と、表示深さ調整オブジェクトとで、異なる方法によって立体視を実現する態様である。
【００１１】
図１は表示深さ調整オブジェクトの立体視の原理を示す説明図である。図１（ａ）に示すように、ディスプレイに対して、文字Ａを右眼用の位置Ａｒ、左眼用の位置Ａｌにそれぞれオフセット、即ち平行移動して表示する。かかる画像を、両眼で見ると、図示するように、文字Ａがディスプレイよりも手前位置に結像して認識できる。同様に、文字Ｂも同様に、右眼用の位置Ｂｒ、左眼用の位置Ｂｌに表示させることによって、両眼で見ると、ディスプレイよりも手前位置に結像して認識できる。文字Ａのオフセットよりも文字Ｂのオフセットの方が大きいため、結像高さは、文字Ｂの方が大きくなり、文字Ｂの方が手前に見える。
図１（ｂ）は、このときの右眼用／左眼用画像の状態を示している。中心基準画像は、文字Ａ、Ｂをそれぞれ本来の表示位置Ａｃ、Ｂｃに表示した状態を示している。文字Ａ、Ｂをそれぞれ図１（ａ）に示すようにオフセットすることによって左眼用画像、右眼用画像を生成することができる。なお、図１（ｂ）では、表示位置を点で表しているが、実際には、この点を代表点とする文字列が表示されることになる。
図１（ｃ）は、こうして生成された右眼用／左眼用画像を正面から両眼で見た状態を示している。左側に示すように、中心基準画像の位置において、文字Ａよりも手前に文字Ｂを視認することができる。右側にオフセットの効果を模式的に示した。文字Ｂと文字Ａとのオフセット量の差異によって、文字Ｂと文字Ａとの表示深さが変化する。即ち、オフセット量の差異が小さい場合には、左側に示すように、文字Ｂと文字Ａは深さ方向に接近して見え、オフセット量の差異が大きい場合には、右側に示すように、深さ方向に離れて見える。
図１では、文字を例にとって示したが、その他の表示深さ調整オブジェクトについても、同じくオフセット量によって表示深さを調整することが可能である。
【００１２】
上述した通り、表示深さ調整オブジェクトについて平行移動する方法で視差を与えるものとすれば、表示深さ調整オブジェクトについては軽い負荷で立体視を実現することができる。従って、表示時に表示深さを柔軟に変化させるなど、利便性を向上させることも可能となる。
表示深さ調整オブジェクトについて、右眼用／左眼用画像のために、それぞれ平行移動させる視差は、予め固定値でもよいし、表示の都度、計算してもよい。後者の場合、表示深さに対して右眼用／左眼用の平行移動量を与える関数またはマップを予め用意し、これらの関数またはマップに基づいて平行移動量を設定する態様をとることも可能である。
【００１３】
本発明の立体視地図表示システムにおいては、
前記表示深さ調整オブジェクトに関し、ユーザによる指示に基づいて表示深さを設定する表示深さ設定部を備え、
前記表示制御部は、前記表示深さ設定部による設定結果に応じて、前記表示深さ調整オブジェクトに視差を生じさせるものとしてもよい。
こうすることで、指示に応じて柔軟に表示態様を変更することが可能となる。例えば、表示深さ調整オブジェクト同士が重なっている場合に、隠れている側を手前に表示させるように切り換えてもよい。また、表示深さ調整オブジェクトの種別に応じて表示深さを指定することによって、例えば、経路案内を最も手前に表示させるなど、ユーザが必要としている情報をより認識しやすい状態で提供することが可能となる。
【００１４】
本発明は、上述した種々の特徴は、必ずしも全てを備えている必要はなく、適宜、一部を省略したり、組み合わせたりして、構成可能である。
また、本発明は、立体視地図表示システムとしての態様の他、種々の構成をとることもできる。
例えば、本発明では、平行投影により背景となる地図データおよび表示深さ調整オブジェクトの双方を含めた状態で右眼用／左眼用画像を予め用意しておく態様をとることが可能であるが、かかる態様においては、本発明は、立体視地図表示に用いる右眼用／左眼用画像データを生成する立体視地図表示データ生成システムと構成することもできる。
即ち、地物の３次元形状を表す３次元モデルおよび表示深さ調整オブジェクトを記憶した地図データベースと、
該３次元モデルに対して、右眼用／左眼用にそれぞれ指定された視線方向での平行投影を行うとともに、前記表示深さ調整オブジェクトについて視差を与えることによって、それぞれ地物および表示深さ調整オブジェクトを含む右眼用平行投影データ、左眼用平行投影データを生成する平行投影部を有する立体視地図表示データ生成システムである。
表示深さ調整オブジェクトについては、仮想的に３次元モデルと同じ３次元空間内に当該オブジェクトを表した板状のポリゴンを設定し、３次元モデルと併せて投影処理することで右眼用／左眼用画像データを生成してもよい。また、３次元モデルとは別に、表示深さ調整オブジェクトを平行移動することで、これらの画像データを生成してもよい。
【００１５】
本発明は、その他、コンピュータによって立体視地図を表示する立体視地図表示方法として構成してもよいし、かかる表示をコンピュータに実行させるためのコンピュータプログラムとして構成してもよい。また、かかるコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体として構成してもよい。記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。
【図面の簡単な説明】
【００１６】
【図１】表示深さ調整オブジェクトの立体視の原理を示す説明図である。
【図２】立体視地図表示システムの構成を示す説明図である。
【図３】平行投影パラメータの設定方法を示す説明図である。
【図４】地物データ生成処理のフローチャートである。
【図５】右眼用／左眼用平行投影データの例を示す説明図である。
【図６】地図表示処理のフローチャートである。
【図７】座標変換処理のフローチャートである。
【図８】２次元オブジェクト表示深さ設定処理のフローチャートである。
【発明を実施するための形態】
【実施例１】
【００１７】
Ａ．システム構成：
図２は、立体視地図表示システムの構成を示す説明図である。ここでは、地図を平行投影によって３次元的、かつ立体視可能に表示した上で、そこに描かれる文字等についても立体視可能に表示するシステムを例示する。単に３次元的に描いた地図ではなく立体視可能な地図という意味で、以下では、実施例で表示される地図のことを立体視地図と称する。
地図が３次元的に表示されるのに対し、表示深さの調整対象となる文字等（本発明の表示深さ調整オブジェクトに相当するもの）は２次元のデータであることから、以下の実施例で扱う表示深さ調整オブジェクトを２次元オブジェクトと呼ぶこともある。
【００１８】
図１には、サーバ２００からネットワークＮＥ２等を介して提供される地図データに基づいて、端末３００のディスプレイ３００ｄに地図を表示する構成例を示した。端末３００としては、スマートフォンを用いるものとしたが、携帯電話、パーソナルコンピュータ、ナビゲーション装置などを用いてもよい。また、３次元立体視地図表示システムは、端末３００とサーバ２００とからなるシステムの他、スタンドアロンで稼働するシステムとして構成してもよい。
図中には、地図データを生成するデータ生成装置１００も併せて示した。
端末３００のディスプレイ３００ｄは、右眼用画像と左眼用画像を、それぞれ右眼、左眼で視認できるように表示可能な立体視の機能を有している。本実施例では、いわゆる裸眼での立体視が可能なディスプレイ３００ｄを用いるものとしているが、立体視用の眼鏡等を用いて立体視するデバイスを用いても良い。
【００１９】
端末３００には、主制御部３０４の下で稼働する種々の機能ブロックが構成されている。本実施例では、主制御部３０４および各機能ブロックは、それぞれの機能を実現するソフトウェアをインストールすることによって構成したが、その一部または全部をハードウェア的に構成してもよい。
送受信部３０１は、サーバ２００とのネットワークＮＥ２を介した通信を行う。本実施例では、立体視地図を表示するための地図データおよびコマンドの送受信が主として行われる。
コマンド入力部３０２は、ボタンやタッチパネルの操作等を通じて、ユーザからの指示を入力する。本実施例における指示としては、３次元地図の表示範囲、拡大・縮小の指定、経路案内を行う際の出発地、目的地の設定などが揚げられる。
ＧＰＳ入力部３０３は、ＧＰＳ（Global Positioning System）の信号に基づいて緯度経度の座標値を得る。また、経路案内では、緯度経度の変化に基づいて進行方向を算出する。
地図情報記憶部３０５は、サーバ２００から提供された地図データを一時的に記憶しておくバッファである。経路案内時のように表示すべき地図が時々刻々と移動していく場合、地図情報記憶部３０５では不足する範囲の地図データをサーバ２００から受信して地図を表示する。
表示深さ設定部３０７は、地図に表示される２次元オブジェクトについて、その表示深さを設定する。表示深さの設定方法については後述する。
表示制御部３０６は、地図情報記憶部３０５に格納されている地図データおよび表示深さ設定部３０７の設定結果に基づいて、端末３００のディスプレイ３００ｄに立体視地図を表示する。
【００２０】
サーバ２００には、図示する機能ブロックが構成されている。本実施例では、これらの機能ブロックは、それぞれの機能を実現するソフトウェアをインストールすることによって構成したが、その一部または全部をハードウェア的に構成してもよい。
地図データベース２１０は、立体視地図を表示するためのデータベースである。本実施例では、地物データ２１１、２次元オブジェクト２１２、ネットワークデータ２１３を含む地図データを格納する。ネットワークデータ２１３は省略することもできる。
地物データ２１１は、道路、建物などの地物を３次元的、かつ立体視可能に表示するためのデータであり、地物の３次元モデルを右眼用／左眼用に投影条件を変えてそれぞれ平行投影することで得られた２次元のポリゴンデータである。即ち、地図データ２１１としては、同一の地図領域に対し、右眼用の条件で平行投影された２次元の画像データとしての右眼用画像と、左眼用の条件で平行投影された２次元の画像データとしての左眼用画像が格納されている。
２次元オブジェクト２１２は、地物以外に地図に表示すべき地物名称・地名・案内情報等を表す文字、地図記号・通行規制標識、経路案内における現在位置を表すシンボルデータや経路などを構成する矢印のポリゴンデータ等である。現在位置や経路のように表示位置が不定のものを除き、２次元オブジェクト２１２には、表示すべき文字や記号などのデータ、および表示位置が対応づけて格納されている。表示位置は、３次元空間上の位置としてもよいし、平行投影された投影画像上の位置座標としてもよい。また、地物名称のように、特定の地物と関連づけられた２次元オブジェクト２１２については、地物との関連付けを表すデータも併せて格納されている。
本実施例では、２次元オブジェクト２１２は、表示時に視差を与えるものとしているが、変形例として、予め決まった視差で立体視可能な構成とすることもできる。かかる場合には、２次元オブジェクト２１２としては、立体視可能な右眼用画像と左眼用画像の形式で格納しておいてもよい。また、地物データ２１１と２次元オブジェクト２１２とを重畳した状態の画像データを、地物データ２１１として格納しておくこともできる。
ネットワークデータ２１３は、道路をノード、リンクの集まりで表現したデータである。ノードとは、道路同士の交点や道路の端点に相当するデータである。リンクはノードとノードとを結ぶ線分であり、道路に相当するデータである。本実施例では、ネットワークデータ２１３を構成するノード、リンクの位置は、緯度経度および高さの３次元データで定められている。
送受信部２０１は、ネットワークＮＥ２を介して端末３００とのデータの送受信を行う。本実施例では、３次元地図を表示するための地図データおよびコマンドの送受信が主として行われる。また、送受信部２０１は、ネットワークＮＥ１を介してデータ生成装置１００との通信も行う。本実施例では、生成された地図データの授受が主として行われる。
データベース管理部２０２は、地図データベース２１０からのデータの読み出し、書き込みを制御する。
経路探索部２０３は、地図データベース２１０内のネットワークデータ２１３を用いて、経路探索を行う。経路探索には、ダイクストラ法などを用いることができる。上述の通り、経路探索によって得られた経路を表す矢印等も、２次元オブジェクトに該当する。
【００２１】
データ生成装置１００には、図示する機能ブロックが構成されている。本実施例では、これらの機能ブロックは、パーソナルコンピュータに、それぞれの機能を実現するソフトウェアをインストールすることによって構成したが、その一部または全部をハードウェア的に構成してもよい。
送受信部１０５は、ネットワークＮＥ１を介してサーバ２００とデータの授受を行う。
コマンド入力部１０１は、キーボード等を介してオペレータの指示を入力する。本実施例では、地図データを生成すべき領域の指定、平行投影パラメータの指定等が含まれる。平行投影パラメータとは、平行投影する際の投影角度、投影方位を言う。投影角度とは、鉛直方向からどれだけ傾けて投影するかを意味する。
３Ｄ地図データベース１０４は、地図データを生成するために用いられる３次元モデルを格納するデータベースである。道路、建物などの地物については、３次元形状を表す電子データが格納されている。また、地図中に表示すべき文字、記号などの２次元オブジェクトも、格納されている。
平行投影部１０２は、３Ｄ地図データベース１０４に基づいて平行投影による描画を行って地物データを生成する。描画された投影図は、平行投影データ１０３として格納され、送受信部１０５を介してサーバ２００の地図データベース２１０の地物データ２１１に格納される。投影パラメータ修正部１０６は、平行投影を行う際に、指定された平行投影パラメータを修正し、右眼用／左眼用の平行投影パラメータを設定する。修正方法については後述するが、平行投影時の投影方向を右眼用／左眼用で異ならせるのである。こうすることで、立体視するための右眼用画像、左眼用画像をそれぞれ生成することができる。
【００２２】
Ｂ．平行投影パラメータの設定：
図３は、平行投影パラメータの設定方法を示す説明図である。平行投影パラメータには、鉛直方向からの傾きを示す投影角度、投影方位が含まれる。
まず図３（ａ）に示すように３軸を定義する。即ち水平面内にｘ軸、ｚ軸を定義し、鉛直下方向にｙ軸を定義する。ｘ軸、ｙ軸、ｚ軸は右手座標系である。図示する通り地物の鉛直上方にカメラを置いて平行投影すると２次元地図が描かれることになる。本実施例に言う平行投影は、この状態から傾けた状態で投影することを言う。
この場合、ｘ軸周りにカメラを回転させると、鉛直方向から斜めに傾けて平行投影することになるので、ｘ軸周りの回転は投影角度を表すことになる。また、ｙ軸方向にカメラを回転させると、水平方向で平行投影の方位が変化することになるので、ｙ軸周りの回転は投影方位を表すことになる。そして、ｚ軸周りにカメラを回転させると、以下に示す通り視差を与えることができる。
図３（ｂ）に視差が生じる理由を示した。図３（ｂ）はｚ軸方向に地物を見た状態、つまり、ｚ軸が紙面に垂直な状態となっている。視差は、この地物を鉛直上方からｙ軸方向に見た時に、右眼、左眼の位置の違いによって生じる視線方向の相違である。従って、図中における基準のカメラ位置ＣＣに対して、右眼から見た状態に相当するカメラ位置ＣＲ、左眼から見た状態に相当するカメラ位置ＣＬで投影することによって、視差を与えた右眼用／左眼用の画像を生成することができる。視差、即ちｚ軸周りの回転角δは、任意に設定可能であるが、違和感のない視差を与え得る角度としては、例えば、約２０度程度とすることができる。
このように、投影角度、投影方位に加えて、図３（ｂ）で示した視差を考慮して平行投影を行うことにより、平行投影であっても、立体視可能な右眼用／左眼用画像を生成することができる。
【００２３】
Ｃ．地物データ生成処理：
次に、地物データ２１１、即ち地物の３次元モデルを右眼用／左眼用に投影条件を変えてそれぞれ平行投影した２次元のポリゴンデータを生成するための処理について説明する。この処理は、データ生成装置１００の平行投影部１０２が主として実行する処理であり、ハードウェア的には、データ生成装置１００のＣＰＵが実行する処理である。
図４は、地物データ生成処理のフローチャートである。
処理を開始すると、ＣＰＵは、処理対象となるメッシュの指定、および平行投影パラメータを入力する（ステップＳ１０）。メッシュとは、地図データの作成対象となる全領域を、所定の大きさの矩形領域に区切った一つ一つを言う。指定方法は、メッシュ固有のインデックス、メッシュの座標などを用いることができる。地図上でオペレータが指定した点の座標値を含むメッシュをデータ生成装置１００が解析し、これを処理対象のメッシュとして設定する方法をとってもよい。
平行投影パラメータは、投影方位と投影角度である。この段階では、視差は０度としておく。投影方位および投影角度は、地物データを生成する度にオペレータが指定するものとしてもよいし、デフォルト値を用いるようにしてもよい。
投影方位は、いずれか単一の方位としてもよいが、本実施例では、方位を４５度ずつずらした８方位について、それぞれ平行投影を行い、地物データを生成するものとした。このように多方位で地物データを用意しておけば、いずれかの投影方位で建物の陰になるなどの死角が生じた場合でも、他の投影方位を利用することにより、死角を回避した表示を実現できる利点がある。
【００２４】
次に、ＣＰＵは、対象メッシュおよびその周辺の所定範囲のメッシュについて、３Ｄ地図データベースを読み込む（ステップＳ１１）。周辺の所定範囲のメッシュも読み込む理由は、次の通りである。
本実施例では、３Ｄ地図データベースに含まれる３次元の地物データを鉛直方向に対して所定の投影角度だけ傾けた斜め方向から平行投影することによって地物データを生成する。このように斜め方向からの平行投影を行う場合、処理対象となるメッシュの周辺のメッシュに存在する地物の一部が投影されることもある。逆に、単に対象メッシュだけの３Ｄ地図データベースを利用して平行投影を行ったのでは、他のメッシュに存在する地物の投影図が欠けてしまい、適切な地物データを得ることができない。これを回避するため、本実施例では、対象メッシュの周辺のメッシュも読み込むこととしている。読み込む範囲は、任意に設定可能であるが、本実施例では、対象メッシュから２区画以内のメッシュに属する３Ｄ地図データを読み込むものとした。
【００２５】
次に、ＣＰＵは、左眼用視差、右眼用視差を設定する（ステップＳ１２）。先に図３（ｂ）で示したように、投影方位および投影角度で定まる平行投影の方向を、さらにｚ軸周りに±δ度だけ回転させるのである。この処理は、投影パラメータ修正部１０６の処理に相当する。
そして、ＣＰＵは、こうして設定された左眼用視差を用いて平行投影を行うことにより左眼用画像を生成し（ステップＳ１３）、右眼用視差を用いて平行投影を行うことにより右眼用画像を生成する（ステップＳ１４）。それぞれ生成される画像は、平行投影によって地物を３次元的に表現した２次元画像データとなる。平行投影によって生成された左眼用／右眼用画像を、左眼用／右眼用平行投影データと呼ぶこともある。
ＣＰＵは、こうして得られた左右眼用画像から、それぞれ対象メッシュに相当する領域を切り出し（ステップＳ１５）、左眼用画像データ、右眼用画像データからなる地物データとして格納する(ステップＳ１６)。これらの画像データは、２次元のポリゴンデータとして格納するものとしたが、ラスタデータとして格納してもよい。また、左眼用／右眼用画像データの切出しおよび格納の際には、各ポリゴンに名称、位置、形状などの属性を併せて整備してもよい。
以上の処理を全投影方位、全メッシュについて実行することによって、データ生成装置１００は、本実施例の地物データ２１１を整備することができる。
【００２６】
図５は、右眼用／左眼用平行投影データの例を示す説明図である。図５（ａ）には右眼用平行投影データを示し、図５（ｂ）には左眼用平行投影データを示した。それぞれの画像においては、平行投影によって、地物が３次元的に表示されている。例えば、領域Ａ１と領域Ｂ１、領域Ａ２と領域Ｂ２をそれぞれ比較すると、建物の側壁の描かれ方などから、右眼用／左眼用の視差の相違を認識することができる。このように用意された右眼用／左眼用平行投影データを用いることによって、３次元地図を立体視することが可能となる。
【００２７】
Ｄ．地図表示処理：
図６は、地図表示処理のフローチャートである。ここでは、ユーザから指定された地点、方位に従って、背景となる地図を立体視可能に表示するとともに、文字等の２次元オブジェクトをその手前に立体視可能に表示する処理の例を示す。この処理は、経路探索と併せて用いることにより、経路案内表示として利用することもできる。
地図表示処理は、端末３００の主制御部３０４および表示制御部３０６が実行する処理であり、ハードウェア的には端末３００のＣＰＵが実行する処理である。
【００２８】
この処理では、まず端末３００は、ユーザから指定された表示位置、方位、範囲を入力する（ステップＳ１００）。表示位置は、例えば、ＧＰＳで得られる現在位置を用いるものとしてもよい。
端末３００は、指定に従って、地図情報記憶部３０５から左右眼用平行投影データを読み込む（ステップＳ１０１）。地図情報記憶部３０５に蓄積されていない領域のデータが必要な場合には、端末３００は、サーバ２００から当該データをダウンロードする。
次に、端末３００は、同じく地図情報記憶部３０５から、２次元オブジェクト（文字、記号（地図記号・通行規制標識を含む）、現在位置、経路表示等）のデータを読み込む（ステップＳ１０１）。２次元オブジェクトは、地図の機能等に基づき、必要なもののみを読み込むようにしてもよい。
【００２９】
２次元オブジェクトには、３次元空間内で表示位置が指定されているから、端末３００は、読み込んだ２次元オブジェクトに対して座標変換処理を施し、表示画面上の表示位置を求める（ステップＳ３００）。ここで一旦、座標変換の方法について説明する。
図７は、座標変換処理のフローチャートである。
処理を開始すると、端末３００は、平行投影パラメータとして投影角度、投影方位を入力し、座標変換行列を作成する（ステップＳ３０１、３０２）。ここでは、２次元オブジェクトの基準となる表示位置（図１（ｂ）の中心基準画像に相当する位置）を求めるための座標変換なので、視差は用いない。
座標変換行列は、３次元の位置情報を、ｙ軸周りに投影方位（β度とする）だけ回転させた後、ｘ軸周りに投影角度（α度とする）だけ回転させる行列となる。
端末３００は、２次元オブジェクトのデータを入力し（ステップＳ３０３）、上述の方法で得られる座標変換行列によって、座標変換することによって（ステップＳ３０４）、表示画面上での２次元オブジェクトの位置を求めることができる。
【００３０】
図６の地図表示処理に戻り、次に、端末３００は、２次元オブジェクト表示深さ設定処理を行う（ステップＳ４００）。これは、各２次元オブジェクトに対して、いかなる表示深さで立体視を行うかを設定するための処理である。この処理によって、例えば、文字情報を他の記号等よりも手前に表示したり、文字同士が重なっている場合に、一方を他方よりも手前に表示するなどの態様での立体視が可能となる。
【００３１】
ここで一旦、図８により、表示深さ設定処理の内容について説明する。図８は、２次元オブジェクト表示深さ設定処理のフローチャートである。
端末３００は、まず２次元オブジェクトの種別による優先度設定を行う（ステップＳ４００）。図中に示す通り、本実施例では、デフォルト設定の他、ユーザによる任意の設定も可能とした。デフォルト設定では、文字、記号、経路表示の順に優先度が設定される。これは、文字が最も手前に表示され、次に現在位置や通行規制を表す記号、経路表示の順に奥に表示されることを意味している。デフォルト設定における優先度は、これに限らず、任意の設定が可能である。
次に、端末３００は、重複する文字の有無を判定する（ステップＳ４０１）。図中に判定方法を示した。各文字列には、代表点と文字の表示領域があり、これに基づいて、図中に示すように、「文字１」「文字２」が表示されている範囲として、矩形の表示領域を求めることができる。文字の重複の有無は、この文字の表示領域と代表点の位置関係に基づいて判定する。図の例で言えば、文字２の代表点２は、文字１の文字列表示領域１に属している。一方、文字１の代表点１は、文字２の文字列表示領域２に属してはいない。従って、かかる位置関係においては、文字２が、文字１によって隠される位置関係にあると判定することができる。図の例では、代表点を文字列表示領域の左下に設定しているが、代表点の位置は、文字列表示領域の重心位置など任意に設定可能である。
端末３００は、重複する文字列がある場合、文字間の表示深さの設定を行う（ステップＳ４０２）。表示深さの設定は、以下に示す種々の基準に基づいて行うことができる。
例えば、図中に示すように、文字列が建物の名称に該当する場合には、文字列に関連づけられた建物の属性を参照し、その高さに応じて文字列の表示深さを設定してもよい。高い建物の文字列ほど、手前に表示されるようにするのである。
また、地物の優先度に基づく設定をしてもよい。例えば、地物の種別に応じてランドマーク＞一般のビル＞家屋＞道路などのように優先度を設定しておき、優先度の高い地物に関連づけられている文字列ほど、手前に表示されるようにするのである。
文字列の表示領域サイズに基づく設定をしてもよい。表示領域サイズが大きい文字列ほど重要性が高いと考えて、手前に表示されるようにしてもよいし、逆に、表示領域サイズが大きい文字列は多少隠れても判読可能と考え、奥に表示されるように設定してもよい。
代表点包含関係による設定をしてもよい。代表点が他の文字列表示領域に属する側を、隠れている側と判定し、奥に表示されるよう設定するのである。それぞれの代表点が相互に文字列表示領域に包含されている場合には、その他の基準によって表示深さを設定するようにすればよい。
上述した方法は、自動的に表示深さを設定するものであるが、これとは別に、ユーザが個別に表示深さを指定可能としてもよい。こうすることにより、例えば、一旦表示された地図上で、隠れている文字を手前にするよう指定して再度、地図を表示させることが可能となる。
ここで説明した表示深さ設定方法（ステップＳ４００〜Ｓ４０２）は、いずれか一つのみを選択して使用するようにしてもよいし、複数の設定方法を、所定の優先度で順次適用するようにしてもよい。
図８の例では、重複する文字を対象として表示深さを設定する例を示したが、他の２次元オブジェクトについても、同様の方法を適用可能である。
図８で示した処理によって設定される表示深さは、任意の値を取り得るようにしてもよいし、表示深さ「深い」「中間」「浅い」のように予め量子化された値のいずれかを選択するものとしてもよい。
【００３２】
こうして表示深さを設定すると、端末３００は、設定された表示深さに基づき２次元オブジェクトの左右眼用画像を生成する（ステップＳ５００）。これは、図１に示すように、２次元オブジェクトの表示位置を座標変換（ステップＳ３００）で得られた位置から左右（ｘ方向）にオフセットすることによって得られる。オフセット量は次の考え方で求めることができる。
即ち、２次元オブジェクトを設定された表示深さｈに応じた３次元位置に設定し、視差δによる回転行列を作用させて得られるｘ座標の変位が右眼用／左眼用の２次元オブジェクトのオフセット量となる。視差δは規定値（本実施例では２０度）を用い可変値ではないから、この回転行列を作用させた場合の座標のオフセット量は表示深さｈの関数となり、「オフセット量＝ｈ・ｔａｎδ」で与えられる。従って、この関数を予め記憶させておくことにより、表示深さに応じたオフセット量を容易に得ることができる。
【００３３】
最後に、端末３００は、左右眼用平行投影データおよび２次元オブジェクトを重畳して表示し（ステップＳ５０１）、地図表示処理を終了する。こうして表示された右眼用画像を右眼で、左眼用画像を左眼で認識することにより、ユーザは背景の地図および２次元オブジェクトを立体視することができる。
左右眼用平行投影データは、既に平行投影された後の２次元のポリゴンデータに過ぎないから、ステップＳ５０１の処理においては、取得したデータに従ってポリゴンを描画するだけで投影処理を行うまでなく軽い負荷で立体視を実現することができる。
【００３４】
以上で説明した本実施例の立体視地図表示システムによれば、表示深さを変えた立体視によって２次元オブジェクトを表示することができるため、２次元オブジェクト同士が重複している場合でも、その判別が可能となる利点がある。
また、かかる立体視を実現する際に、背景となる地図の立体視用の画像とは別に、２次元オブジェクトについてはオフセットすることによって立体視画像を作成することができるため、比較的軽い負荷、かつ柔軟に２次元オブジェクトの立体視を実現することができる。
さらに、本実施例では、地図については平行投影データを用いて立体視を実現している。平行投影データは視点位置に関わらず全領域で共通して用いることができるため、立体視用の画像データも予め全領域で生成しておくことができ、非常に軽い負荷で立体視を実現できる利点がある。
【００３５】
以上、本発明の実施例について説明した。立体視地図表示システムは、必ずしも上述した実施例の全ての機能を備えている必要はなく、一部のみを実現するようにしてもよい。また、上述した内容に追加の機能を設けてもよい。
実施例では、２次元オブジェクトに対して表示時に視差を与えるものとしているが、変形例として、２次元オブジェクトを予め決まった視差で立体視可能な構成とすることもできる。かかる場合には、２次元オブジェクト２１２のデータは、２次元オブジェクトに対してオフセットを与え（図８のステップＳ５００）、立体視可能な右眼用画像と左眼用画像の形式で格納しておいてもよい。また、地物データ２１１と２次元オブジェクト２１２とを重畳した状態の画像データを、地物データ２１１として格納しておくこともできる。
またそれぞれの２次元オブジェクトに対して、予めデフォルトのオフセット量、または表示深さを対応づけて格納しておいてもよい。こうすることにより、表示深さ設定処理（図８）を省略して２次元オブジェクトの立体視を実現することもできる。
２次元オブジェクトの表示深さやオフセット量は、必ずしも２次元オブジェクトに対応づけて記憶させておく必要はなく、例えば、地物データに記憶させておくようにしてもよい。この態様では、座標変換（図６のステップＳ３００）によって、２次元オブジェクトの表示位置を得た後、その座標値に対応する地物データを参照することで、表示深さまたはオフセット量を得ればよい。
このように２次元オブジェクトに対して、表示深さやオフセット量を対応づけておく方法は、他にも多様な方法を採ることができる。
本発明は上述の実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、実施例においてハードウェア的に構成されている部分は、ソフトウェア的に構成することもでき、その逆も可能である。
【産業上の利用可能性】
【００３６】
本発明は、地物以外に地図上に表示される種々の情報を、判読しやすい態様で提供するために利用可能である。
【符号の説明】
【００３７】
１００…データ生成装置
１０１…コマンド入力部
１０２…平行投影部
１０３…平行投影データ
１０４…３Ｄ地図データベース
１０５…送受信部
１０６…投影パラメータ修正部
２００…サーバ
２０１…送受信部
２０２…データベース管理部
２０３…経路探索部
２１０…地図データベース
２１１…地物データ
２１２…文字データ
２１３…ネットワークデータ
３００…端末
３００ｄ…ディスプレイ
３０１…送受信部
３０２…コマンド入力部
３０３…ＧＰＳ入力部
３０４…主制御部
３０５…地図情報記憶部
３０６…表示制御部
３０７…表示深さ設定部
【図１】
2014075012.tif 000003
【図２】
2014075012.tif 000004
【図３】
2014075012.tif 000005
【図４】
2014075012.tif 000006
【図６】
2014075012.tif 000007
【図７】
2014075012.tif 000008
【図８】
2014075012.tif 000009
【図５】
2014075012.tif 000010