従来ナビゲーション装置では、地図を表示する際に地面を真上からの正射影で描いた平面地図表示を行っていた。そのため、互いに距離の離れた2地点間を同時に表示しようとすると必然的に縮尺が大きくなり詳細な情報が表示できなくなるという問題があった。この問題を解決する一手法に、地面よりある高さの地点から斜め方向に見おろしたとき平面に投射される鳥瞰図表示方式がある。しかし、鳥瞰図表示をナビゲーション装置に適用するには、次のような課題を解決する必要がある。
第1に、平面図地図より広範囲の領域を表示する鳥瞰図地図表示では、始点遠方では縮尺が大きくなるため、より大量の情報を表示するようになる。従来は、このように縮尺が大きくなる領域の文字列を表示しない、あるいは単に視点近傍の文字列を上側に表示するように処理していたため、文字抜けや複数の文字列の重なり発生が避けられなかった。これらは、ユーザの文字認識性を劣化させるという課題があった。
第2に、地図データベースでは、平面図地図を表示したときに最も表示品質が高くなるよう背景データや文字データが構成されるため、より広範囲の領域を表示する鳥瞰図地図表示では、同一文字列が複数箇所に表示される頻度が高くなる。従来は、同一文字列について何ら対策していなかった為、不必要に同一文字列が表示され、そのために道路やその他背景データを文字列が覆い隠してしまい、表示品質が劣化するという課題があった。
第3に、目的地への経路は一般的に背景道路と異なる色で地図に重ねて表示するが、経路を表現するベクトルデータには道幅といった概念が存在しないため、従来、全て同一線幅で経路データを表示していた。しかし、鳥瞰図表示では地図を3次元的に表現するため、全ての経路を同一線幅で表示すると3次元的な奥行き感が失われてしまうという課題があった。
第4に、走行軌跡の表示において、従来ある一定距離間隔で走行した位置情報を記憶し、記憶した位置情報をもとに走行軌跡を表す点を表示していた。しかし、従来手法にて鳥瞰図地図上に軌跡を表示すると、縮尺が小さくなる視点近傍では軌跡を表す点列の間隔が広がってしまい、どの道路を走行したか認識しにくくなるという課題があった。一方、縮尺が大きくなる視点遠方では軌跡を表す点列の間隔が必要以上に狭くなってしまい、背景の道路や文字列といった情報を隠してしまうため、地図情報が認識しにくくなるという課題があった。
第5に、地図データベースには、道路や鉄道,行政界といったベクトル情報を表示するときに使用する実線や破線といったパターン情報、及び水系や緑地帯を表現する多角形を表示するときに使用するチェックや市松模様といったパターン情報が登録されている。従来、これらパターン情報が含まれた地図を鳥瞰図表示する場合には、線及び多角形を構成する各頂点座標を透視変換するのみならず、パターンも透視変換し表示していたため、処理時間が膨大になり、鳥瞰図地図を表示するまでに必要な時間が長くなるという課題があった。
第6に、鳥瞰図地図表示では、消失点と呼ばれる無限遠点付近にて表示する地図データの発散を防止するため、従来は消失点より所定距離手前の領域で地図を表示するのを制限し、その奥には仮想的な地平線や空といった疑似背景情報を表示している。しかし、従来これら疑似背景情報は固定パターン、ないし固定色で、周囲状況と疑似背景情報がマッチしないという課題があった。
第7に、鳥瞰図地図表示と平面図地図表示を切り替えた場合において、実際に描画するオブジェクトが少ない場合は、表示している地図が鳥瞰図,平面図いずれの地図を表示しているのかわかりにくいという課題があった。それに加え、鳥瞰図地図表示では視点位置をユーザが操作し変化させることが可能で、かつ視点位置や視野方向によって実際に表示される地図領域が大きく変化する。しかし従来は、視点位置や視野方向を変化させた場合においても視点位置などの情報を提供する手段が無く、使いにくいという課題があった。
第8に、鳥瞰図地図を表示する場合、地図を表示する方向は、従来特開平2−244188号に記載されているよう画像の表示する方向を進行方向と一致させるように表示していたが、目的地が設定されている場合には進行方向と目的地の方向が必ずしも一致しないため、画面上から目的地が消えてしまい、ユーザが常に目的地の方向を確認しながら地図を認識することができないという課題があった。
第9に、従来鳥瞰図地図表示において、ある特定方向の地図情報密度が低かったり、特定方向が特定属性の情報のみで構成される場合でも、視点位置すなわち現在地を画面上で表示する位置は変化しない。よって限られた面積しかないディスプレイ領域に、あまり意味を持たない情報が多く表示される場合があり、情報提供の効率化という点で課題があった。
上記第6の課題を解決するため、請求項1の発明は、ナビゲーション装置に適用され、所定領域の地図を表示するために必要な地図データを記憶した記憶手段と、移動体の現在位置を検出する現在位置検出手段と、記憶手段から読み出した地図データを用い、透視変換処理により検出された現在位置を含む領域の鳥瞰図地図をディスプレイに表示する地図表示手段と、鳥瞰図地図を表示する領域を透視変換の消失点より手前に制約し、鳥瞰図地図の表示が制約された領域に空の背景を表示する背景表示手段と、天気情報を取得する天気情報取得手段と、空の背景色を設定する背景色設定手段とを備え、背景色設定手段は、天気情報取得手段により取得した天気情報に応じて空の背景色を設定し、背景表示手段は、背景色設定手段により設定した色で、空の背景を表示することを特徴とするものである。
請求項2の発明は、請求項1に記載のナビゲーション装置において、背景色設定手段は、天気情報取得手段により取得した天気情報が晴天のときは空の背景を空色と設定し、雨天や曇りのときは空の背景を灰色と設定することを特徴とするものである。
請求項3の発明は、請求項1または2に記載のナビゲーション装置において、天気情報取得手段は、天気情報を含む情報を無線により受信する受信手段を有することを特徴とするものである。
請求項4の発明は、請求項3に記載のナビゲーション装置において、受信手段は、ビーコン受信機またはFM多重放送受信機であることを特徴とするものである。
鳥瞰図地図表示において、空を表す背景が周囲状況と一致するよう動作するため、ユーザに不要な戸惑いを与えないようになる。
以下図面を参照して、図1に示す地図の鳥瞰図表示に関する発明の一実施例を説明する。
まず、本発明の特徴である鳥瞰図表示の概要を図2を用いて説明する。
印刷された地図帳や従来のナビゲーションシステムでは、地図を表示するとき、着目した地点の上方にある無限遠点から見たときに得られる平面地図表示で表現している。平面地図表示では、同一画面内はその地点によらず縮尺が一定になるという利点があるため距離感を掴みやすい。しかし、ある2地点間を同一画面に表示しようとすると、地図を表示する縮尺が最適になるように調整するという操作が必要になるとともに、その2地点間の距離が離れていると一度に表示可能な情報量はディスプレイの大きさや精細度によって制約されるため限られた情報しか表示できないという欠点がある。この問題を解決する手段として鳥瞰図表示がある。図2から明らかなように鳥瞰図表現を行うと視点に近い部分の情報は拡大し、視点から遠い部分の情報は縮小し表現される。これにより、ある2地点間を同一画面に表示する場合には、より詳細な情報を得たい地点を視点の近くに、もう一方を視点の遠くとし、2地点を同一画面に表示することで互いの位置関係をわかりやすく表現できると共に、視点近傍の情報についてはより大量の情報をユーザに提供することが可能になる。鳥瞰図表示は、平面Aの2次元的ないし3次元的な地図情報を、平面Aとある角度θをなす平面Bに投射するという透視変換を行うことで実現される。使用する地図情報に2次元的な地図データを使用することが可能なので、従来のナビゲーションシステムに透視変換機能を付加することで、新たな地図データ量を加えることなく鳥瞰図表示は実現可能であるが、実現にあたっては様々な工夫が必要である。
図4は、本発明を適用した移動体ナビゲーション装置の一構成例である。
以下ナビゲーション装置の各構成ユニットについて説明する。演算処理部1は6〜9の各種センサから出力される情報を基に現在位置を検出し、得られた現在位置情報から表示に必要な地図情報を地図記憶装置3から読み込むと共に、地図データをグラフィックス展開し、そこに現在地マークを重ねディスプレイ2へ表示したり、ユーザから指示された目的地と現在地を結ぶ最適な道路を選択し、音声入出力装置4やディスプレイ2を用いてユーザを誘導する、等といった様々な処理を行う中心的なユニットである。ディスプレイ2は、演算処理部1で生成されたグラフィックス情報を表示するユニットで、CRTや液晶ディスプレイで構成される。また演算処理部とディスプレイ間の信号S1は、RGB信号やNTSC(National Television System Committee)信号で接続するのが一般的である。地図記憶装置3は、CD−ROMやICカードといった大容量記憶媒体で構成され、必要とする地図データを読み出し/書き込む処理を行う。また音声入出力装置4は、演算処理部1で生成したユーザへのメッセージを音声信号に変換し出力すると共に、ユーザが発した声を認識し演算処理部1にその内容を転送する処理を行う。入力装置5は、ユーザからの指示を受け付けるユニットで、例えば図6に示すようなスクロールキー41,縮尺キー42,角度変更キー43などのハードスイッチ,ジョイスティック,ディスプレイ上に貼られたタッチパネルなどで構成される。また移動体ナビゲーションで位置を検出するために使用するセンサは、車輪の円周と計測される車輪の回転数の積から距離を測定し、さらに対となる車輪の回転数の差から移動体が曲がった角度を計測する車輪速センサ6,地球が保持している磁場を検知し移動体が向いている方角を検出する地磁気センサ7,光ファイバジャイロや振動ジャイロといった移動体が回転した角度を検出するジャイロ8,GPS衛星からの信号を受信し移動体とGPS衛星間の距離と距離の変化率を3個以上の衛星に対して測定することで移動体の現在位置,進行方向及び進行方位を測定するGPS受信装置9で構成される。また、道路の渋滞,工事,通行止め情報や駐車場情報といった交通情報を発するビーコン送信機やFM多重放送からの信号を受信する交通情報受信装置10を備える。さらに、車両の様々な情報、例えばドアの開閉情報,点灯しているライトの種類と状況,エンジンの状況や故障診断結果などを受ける車内LAN装置11を備える。
図5は処理演算部のハードウェア構成について説明した図である。
以下各構成要素について説明する。演算処理部1は、各デバイス間がバスで接続された構成になる。各構成要素は、数値演算及び各デバイスを制御するといった様々な処理を実行するCPU21,地図や演算データを格納するRAM22,プログラムやデータを格納するROM23,高速にメモリとメモリ間及びメモリと各デバイス間のデータ転送を実行するDMA(Direct Memory Access)24,ベクトルデータを画素情報に展開するといったグラフィックス描画を高速に実行し、かつ表示制御を行う描画コントローラ25,グラフィックスイメージデータを蓄えるVRAM26,イメージデータをRGB信号に変換するカラーパレット27,アナログ信号をデジタル信号に変換するA/D変換器28,シリアル信号をバスに同期したパラレル信号に変換するSCI29,パラレル信号と同期をとりバス上にのせるPIO30,パルス信号を積分するカウンター31で構成される。
図7は処理演算部1の機能構成について説明した図である。
以下各構成要素について説明する。現在位置演算手段66は、車輪速センサ6で計測される距離パルスデータS5、及びジャイロ8で計測される角加速度データS7を各々積分した結果得られる距離データ及び角度データを用い、そのデータを時間軸で積分していくことにより、初期位置(X,Y)から移動体走行後の位置(X′,Y′)を演算する処理を行う。ここで、移動体の回転した角度と進む方位の関係を一致させるため、地磁気センサ7から得られる方位データS6と、ジャイロ8から得られる角加速度データS7を積分した角度データを1対1の関係にマッピングし、移動体が進行している方向の絶対方位を補正する。また上述したセンサから得られたデータを積分してゆくとセンサの誤差が蓄積するため、ある時間周期でGPS受信装置9から得られた位置データS8をもとに蓄積した誤差をキャンセルするという処理を施し現在位置情報を出力する。このようにして得られた現在位置情報にはセンサの誤差が含まれているため、さらに位置精度を高めることを目的に、マップマッチ処理67を行う。これは、データ読み込み処理手段68によって読み込まれた現在地周辺の地図に含まれる道路データと、現在位置演算手段66から得られた走行軌跡を互いに照らし合わせ、形状の相関が最も高い道路に現在地を合わせ込むという処理である。マップマッチ処理を施すことで現在地は多くの場合走行道路と一致するようになり、精度よく現在位置情報を出力することができる。このようにして演算された現在位置情報は、所定距離走行する度に軌跡記憶手段69に記憶される。軌跡データは、これまで走行してきた道路につき、対応する地図上の道路に軌跡マークを描画するために用いられる。一方、ユーザ操作解析手段61は、ユーザからの要求を入力装置5で受け、その要求内容を解析し、対応する処理が実行されるよう各ユニットを制御する。例えばユーザが目的地までの経路誘導を要求したときは、目的地を設定するため地図を表示する処理を地図描画手段65に要求し、さらに現在地から目的地までの経路を演算する処理を経路計算手段62に要求する。経路計算手段62は、ダイキストラ法等を用い指定された2地点間の結ぶノードを地図データから検索し、その結果得られた経路を経路記憶手段63に蓄える。このとき、2地点間の距離が最短になる経路、もしくは最も短い時間で到達可能な経路、あるいは最もコストが安くなる経路等をそれぞれ求めることも可能である。経路誘導手段64は、経路記憶手段63に蓄えられた誘導経路のリンク情報と現在位置演算手段66及びマップマッチ処理手段67で求められる現在位置情報を比較し、交差点等を通過する前に直進すべきか、右左折すべきかを音声入出力装置4を用い音声でユーザに通知したり、ディスプレイ上に表示された地図上に進行すべき方向を表示し、ユーザに経路を通知する。データ読み込み処理手段68は、要求された領域の地図データを地図記憶装置3から読み込み準備するように動作する。また地図描画手段65は、表示が要求された地点周辺の地図データをデータ読み込み処理手段68から受け取り、指定された縮尺,描画方位,描画方式で、指定されたオブジェクトを描画するコマンドをグラフィック処理手段71に転送するように動作する。一方、メニュー描画手段70は、ユーザ操作解析手段61から出力される命令を受け、要求される様々な種類のメニューや地図に重ねて表示するマークを描画するコマンドをグラフィック処理手段71に転送するように動作する。グラフィックス処理手段71は地図描画手段65及びメニュー描画手段70で生成される描画コマンドを受け、VRAM26にイメージ展開する。
図8は地図描画手段65の機能について説明した図である。
以下各構成要素について説明する。表示領域判定手段81は、地図の表示縮尺や、地図データのどの地点を中心に、どの領域を表示するか決定する。初期データクリップ手段82は、データ読み込み処理手段68によって地図記憶装置3より取り込まれた地図データの各メッシュから、以後の処理に必要な道路や建物といったオブジェクトを表現する線データ,面データ及び文字データ,経路記憶手段63に蓄えられた推奨経路で構成される線データ、軌跡記憶手段69に蓄えられた走行軌跡で構成される点データから、表示に必要なデータを表示領域判定手段81で設定された情報を基にクリップ処理で選択する。ここで使用するクリップ処理アルゴリズムとして、線及び点データに関してはCohen−Sutherland 線クリップアルゴリズム、面及び文字データに関してはSutherland−Hodgman ポリゴンクリップアルゴリズム等がある(Foley, van Dam, Feiner, Hughes:ComputerGraphics:Addison−Wesley Publishing Company pp111−127)。この処理により、以後の座標変換や描画処理をすべきデータ量を削減することが可能になり、処理の高速化が見込まれる。座標変換手段83では、クリップ処理により得られた地図データを目的の大きさに拡大縮小したり、回転して表示する場合には地図データの各座標値をアフィン変換するように動作する。描画判定手段84は、座標変換手段83で得られた地図データで実際に描画する必要のあるデータを選択するように働く。例えば、縮尺が大きくなったときは実質的に描画するデータ量が増えるため、細い道路や省略可能な地名などを削除したり、互いに重なって表示される文字列がなくなるように動作する。データクリップ手段85は、描画判定手段84でによって得られる地図データから描画領域に関する地図データをクリップ処理により選択するように動作する。ここで使用するクリップ処理アルゴリズムは初期データクリップ手段と同じアルゴリズムを使用可能である。また、本処理は省略することも可能である。疑似背景設定手段86は、鳥瞰図地図表示において必要になる機能で、描画データ量の削減と画面認識性向上を目的に地平線や空といった擬似的な背景を表示する。描画命令発行手段87では、得られた点,線及び面データ,文字データを指定された色やパターンで描画するため,ライン,ポリゴン,文字等を描画するコマンドや色,模様を設定するコマンドをグラフィックス処理手段71に発行するように動作する。
それでは、基本的な鳥瞰図地図の表示方式について図3,図9を用いて説明する。
まず最初に、表示領域判定手段81で、視点の位置と視野方角、そして図2の平面Aと平面Bがなす角度θ(投射角度)から鳥瞰図表示すべき領域を決定する(図3ステップ1)。矩形ディスプレイに鳥瞰図を表示すると、視点近傍は狭い領域の、視点遠方は広い領域の地図データが必要になるので、図中でメッシュを施した台形領域の地図データが最終的に描画されることになる。次に、鳥瞰図表示すべき領域を含む地図メッシュデータから、実際に描画する台形領域に外接する矩形領域を用い、初期データクリップ手段82により必要な地図データを抽出する(図3ステップ2)。次に座標変換手段83にて、抽出されたデータを拡大ないし縮小した後アフィン変換し、台形が正立するようにする。さらに透視変換を行い地図データの各座標値を3次元的に表したデータに変換する(図3ステップ3)。このとき視点の位置座標を(Tx,Ty,Tz)、平面Aと平面Bがなす角度をθ、変換前の地図データ座標値を(x,y)、変換後の地図データ座標値を(x′,y′)とすると、透視変換は数1,数2で表現される。
図3ステップ2に示した台形は透視変換を施すことで図3ステップ3に示す矩形領域に、図3ステップ2における台形に外接する矩形は透視変換を施すことで図3ステップ3に示す矩形に外接する変形四角形内に座標変換されるが、矩形領域外の部分は描画する必要がないため、データクリップ手段85で矩形領域外をクリップ処理する(図4ステップ4)。このようにして得られた地図データを用い、描画命令発行手段87で描画コマンドを生成しグラフィックス処理手段71でVRAM26に描画することで図1に示した鳥瞰図地図が表示される。
次に、鳥瞰図地図表示での透視変換パラメータ、つまり地図と投射面のなす角θ(投射角度)、及び地図平面が含まれる物体座標系から見た投射面が含まれる視点座標系の原点座標(Tx,Ty,Tz)、即ち投射面の位置の演算方法について図9,図19を用いて説明する。ナビゲーション装置では、ユーザが現在走行している地点、即ち現在地周辺を詳細に表示することが望まれている。そこで、現在地を図19c)に示すように画面中央下側に表示した場合について以下説明する。図19c)のような鳥瞰図表示を実現するため、まず図19a)に示すように進行方向ベクトルと地図メッシュの底辺がなす角度φを図9ステップ1004で求め、さらに描画する地図データについて角度φだけ回転するというアフィン変換を地図を構成する各データに対して行う(ステップ1005)。ステップ1006では鳥瞰図表示すると判定されるので、投射角度θ及び視点位置を演算する処理に移る(ステップ1008,1009)。投射角度θの設定方法については、例えば視点近傍と視点遠方の縮尺の差が小さくなるように表示したいときは投射角度θを0度の近傍にとり、一方視点近傍と視点遠方の縮尺の差が大きくなるように表示したいときは投射角度θを90度の近傍にとる。通常は投射角度θを30度から45度程度の所定の投射角度を設定する。また、鳥瞰図地図表示で表示すべき地図領域をユーザが任意に設定できることも望まれるため、図6に示すナビゲーション装置に設けられた投射角度変更キー43により投射角度θを設定できるようにした。これにより角度を増加すると操作された場合は投射角度θが増えるためより遠方の地図が表示される。また投射角度を減少すると操作された場合は投射角度θが減るために現在地近傍の地図が表示されるようになる。次に投射面の位置(Tx,Ty,Tz)については、現在地(x,y,z)から投射面の位置(Tx,Ty,Tz)を引いた差分値(Δx,Δy,Δz)が常に一定値になるようにステップ1009で演算する。また絶対量としては、Δxは0を、Δzには地図を表示する縮尺に合わせ小さな縮尺で表示するときはΔzに小さな値を、大きな縮尺で表示するときはΔzに大きな値を設定する。通常は平面図の縮尺と鳥瞰図表示の中央付近のある一点の縮尺が一致するようにΔzを決定すると良い。また、地図の縮尺はユーザの要求に応じ変更できることが望まれるため、図6に示すナビゲーション装置に設けられた縮尺キー42に応じ、ユーザが小さな縮尺を指定した場合はΔzに小さな値を、大きな縮尺を指定した場合はΔzに大きな値をセットするようステップ1009は動作する。また、Δyについては、負値と正値いずれでも演算可能であるが、ここでは負値を用いることにし、画面の下1/3の位置に現在地が表示されるような値に決定する。このようにして得られた投射角度θ及び投射面の位置(Tx,Ty,Tz)を用い、ステップ1010で地図データの各座標値を透視変換する。透視変換演算の詳細を図10を用いて説明する。まず、水系や緑地帯などの多角形で構成される面データが有るかを判定し(ステップ1020)、有ると判定されたときは多角形を構成する各ノードについて透視変換する(ステップ1021)。これを全ての多角形につき実施する(ステップ1022)。次に、道路や鉄道,行政界といった地図を構成する線データ、及び現在地から目的地までの最適な経路が計算されている場合には経路を表す線データが有るかを判定し(ステップ1023)、有ると判定されたときは線を構成する各ノードについて透視変換する(ステップ1024)。これを全ての線につき実施する(ステップ1025)。さらに、地域名や記号等の地図を構成する文字データ、及び軌跡を表示する場合には軌跡を表す点データが有るかを判定する(ステップ1026)。なお、地域名や記号といった文字列については、その文字列を代表する一点、例えば文字列左上端点を点データとして扱うとよい。これら点データが有ると判定されたときは、点を構成する各ノードについて透視変換し(ステップ1027)、これを全ての点につき実施する(ステップ1028)。得られた地図データを用いてグラフィックス処理手段71で描画処理することで、図19c)に示す地図の鳥瞰図表示において、進行方向が常に画面上方向で、かつ現在地が画面上の同一地点に表示されるようになる。
次に、ある目的地が入力装置5によって地図や検索画面から指定された場合、運転者が認識しやすい鳥瞰図地図の表示方法について図9,図20を用いて説明する。ナビゲーション装置では、ユーザが現在走行している地点、即ち現在地周辺を詳細に表示することが望まれている。そこで、現在地を図20c)に示すように画面中央下側、具体的には画面下1/3の領域の横中央部になるように鳥瞰図表示することにする。図20c)のような鳥瞰図表示を実現するため、まず図20a)に示すように現在地と目的地を結ぶ線分に垂直な線と地図メッシュの底辺がなす角度φを図9ステップ1004で求め、さらに描画する地図データの各座標値を角度φだけアフィン変換する(ステップ1005)。ステップ1006では鳥瞰図表示すると判定されるので、投射角度θ及び視点位置を演算する処理に移る(ステップ1008,1009)。投射角度θの設定方法については、例えば視点近傍と視点遠方の縮尺の差が小さくなるように表示したいときは投射角度θを0度の近傍にとり、一方視点近傍と視点遠方の縮尺の差が大きくなるように表示したいときは投射角度θを90度の近傍にとる。通常は投射角度θを30度から45度程度の所定の投射角度を設定する。また、鳥瞰図地図表示で表示すべき地図領域をユーザが任意に設定できることが望まれるため、図6に示すナビゲーション装置に設けられた投射角度変更キー43により投射角度θを設定できるようにした。これにより角度を増加すると操作された場合は投射角度θが増えるためより遠方の地図が表示される。また投射角度を減少すると操作された場合は投射角度θが減るために現在地近傍の地図が表示されるようになる。次に投射面の位置(Tx,Ty,Tz)については、現在地(x,y,z)から投射面の位置(Tx,Ty,Tz)を引いた差分値(Δx,Δy,Δz)が常に一定値になるようにステップ1009で演算する。また絶対量としては、Δxは0を、Δzには地図を表示する縮尺に合わせ小さな縮尺で表示するときはΔzに小さな値を、大きな縮尺で表示するときはΔzに大きな値を設定する。通常は平面図の縮尺と鳥瞰図表示の中央付近のある一点の縮尺が一致するようにΔzを決定すると良い。また、地図の縮尺はユーザの要求に応じ変更できることが望まれるため、図6に示すナビゲーション装置に設けられた縮尺キー42に応じ、ユーザが小さな縮尺を指定した場合はΔzに小さな値を、大きな縮尺を指定した場合はΔzに大きな値をセットするようステップ1009は動作する。また、Δyについては、負値と正値いずれでも演算可能であるが、ここでは負値を用いることにし、画面の下1/3の位置に現在地が表示されるような値を求める。このようにして得られた投射角度θ及び投射面の位置(Tx,Ty,Tz)を用い、ステップ1010で地図データの各座標値を透視変換し、得られた地図データを用いてグラフィックス処理手段71で描画処理することで、図20c)に示す地図の鳥瞰図表示において、目的地が常に上方向で、かつ現在地が画面上の同一地点に表示されるようになる。また、目的地が画面内に表示されるような位置になるまで移動したとき、目的地と現在地を常に画面内のある2地点に固定し、鳥瞰図地図表示するモードに切り替えることで、より使い勝手が向上する。
ところで、図21a)に示すように、皇居を表す多角形や、緑地帯,海や湖等の水系は、車両等に取りつけられたナビゲーション装置を用い走行する運転者にとって、それほど有益な情報ではない。それより、道路等といった運転に直接必要な情報を、限られた画面上により多く表示することが望まれる。この問題を解決する手段を、図11を用いて説明する。道路や背景等の情報はノードによって表現されているが、緑地帯,海や湖等の水系を表すポリゴンのノード密度は、道路等の線のノード密度に比較すると密度が低くなる傾向にある。よって、画面縦方向では表示する領域は初期値に従い、画面横方向での表示領域を最適化することで道路等の情報が最も多く表示されるように操作する。この処理は、図9ステップ1011の表示位置演算ルーチンにて実行される。まず表示位置の最適化を実行するモードかを判定する(ステップ1040)。最適化を実行すると判断されたときは、ステップ1041にて透視変換された線及び多角形を構成するノードから、画面に実際に表示されるノードをクリップ演算で抜き出す(ステップ1041)。さらに、選別された線及び多角形を構成する各ノードのx座標相加平均値x1を計算する(ステップ1022)。さらに、ステップ1022において得られたx座標相加平均値と画面中央のx座標値x2の差分値Δxを演算する(ステップ1023)。ステップ1024では、ステップ1023で得られた差分値Δxを、線及び多角形を構成するノードのx座標値に加算する。このようにして得られた地図データを用いてグラフィックス処理手段71で描画処理することで、図21b)に示したように、道路等といった運転に直接必要な情報を、限られた画面上により多く表示することができる鳥瞰図地図表示が達成される。
次に、より具体的に鳥瞰図地図を構成するオブジェクトの描画処理方法につき説明する。図12に示す描画判定手段84では、地図を構成する面データ,線データ,文字データ、及びユーザからの要求で計算する経路データと、これまで走行したルートを表す軌跡データを、それぞれ最適に表示するように動作する。
まず、描画データ中に面データが存在するかを判定する(ステップ1060)。面データが存在すると判定されると、図13(a)の面データ描画処理(ステップ1061)に処理が移る。面データ描画処理では、実際に描画する多角形の内部に面パターンが存在するのか、あるいは全面塗りつぶすのかを判定する(ステップ1080)。面パターンが無いと判断されたときは、多角形内部を全て塗りつぶすようパターン設定を行い処理を終える(ステップ1081)。面パターンがあると判定されたときは、面パターンについて透視変換を実施するか判定する(ステップ1082)。面パターンを透視変換し表示すると、図27a)に示すように奥行き感が出るため、より3次元的に表現されるようになるが、処理量が増えるために描画時間は長くなる。一方、平面図地図表示に用いる面パターンで表示すると、図27b)に示すように平面的な表示になってしまうが、面パターンを2次元的に扱えるため高速に処理することが可能になる。よって処理の高速化が要求される場合には、ステップ1082でパターンの透視変換は不要と判定し、指定されたパターンそのものがパターンデータとして設定される(ステップ1083)。一方、表示品質を優先した場合には、ステップ1082でパターンの透視変換が必要と判定され、パターンを透視変換し、変換された結果をパターンデータとして設定するように動作する(ステップ1084)。また、この処理を高速化する手法として、図27c)の方法が考えられる。これは、奥行き方向に多角形を複数の領域に分割し(図中では4つの領域)、それぞれの領域で面パターンを透視変換したときの平均的パターンを用い、このパターンデータで各領域を2次元的に塗りつぶす方法である。これによれば領域内では2次元的な面パターンになるため、高速化が可能になる。
次に、描画データ中に線データが存在するかを判定する(ステップ1062)。線データが存在すると判定されると、図13(b)の線データ描画処理(ステップ1063)に処理が移る。線データ描画処理では、実際に描画する線分に線パターンが存在するのか、あるいは実線で塗りつぶすのかを判定する(ステップ1085)。線パターンが無いと判断されたときは、実線を描画するようパターン設定を行い処理を終える(ステップ1086)。線パターンがあると判定されたときは、線パターンについて透視変換を実施するか判定する(ステップ1087)。線パターンを透視変換し表示すると、図27a)に示すように奥行き感が出てるため、より3次元的に表現されるようになるが、処理量が増えるために描画時間は長くなる。一方、平面図地図表示に用いる線パターンで表示すると、図27b)に示すように平面的な表示になってしまうが、線パターンを1次元的に扱えるため高速に処理することが可能になる。よって処理の高速化が要求される場合には、ステップ1087でパターンの透視変換は不要と判定され、指定されたパターンそのものがパターンデータとして設定される(ステップ1088)。一方、表示品質を優先した場合には、ステップ1087でパターンの透視変換が必要と判定され、パターンを透視変換し、変換された結果をパターンデータとして設定するように動作する(ステップ1089)。
次に、描画データ中に文字データが存在するか判定する(ステップ1064)。文字データが存在すると判定されると、図14の文字データ描画処理(ステップ1065)に処理が移る。文字データ描画処理では、地名,建物名称,地図記号など複数の属性で構成される地図中の文字列がどの属性にあるのかを判定し(ステップ1100)、必ず表示しなければならない所定属性の文字列を選択し、ステップ1101に処理を移す。ステップ1101では、必ず表示しなければならない属性の文字列が選択されるため、この文字列を表示するようにバッファリングする。次に、文字列と文字列の重なりを判定する(ステップ1102)。文字列と文字列の重なりを判定するには、複数の方法がある。まず第1に、図22に示すように、文字列を取り囲む多角形を計算し(図22のbで示した多角形の外枠)、その多角形より所定ドット数内側にいった領域で構成される多角形領域情報(図22のbで示した多角形の斜線パターン領域)を用いて文字の重なり判定を行う方法である。この方法によれば、図22c)に示したように文字列の重なり判定領域(多角形の斜線パターン領域)が重なったとき文字列は重なったと判定される。また、図22d)に示したように文字の重なり判定領域が重ならないときは文字列は重ならないと判定される。通常、多少の文字の重なりが発生しても、それぞれの文字列を識別するのは可能であり、本方式によれば多少の文字列の重なりは文字列が重なったと判定されないように動作する。よって、必要以上に重なった文字列を削除することがなくなり、運転者に伝えることが可能な情報量が増加する。次に第2の方法を図23を用いて説明する。この手法では文字列に外接する矩形領域を計算し(図23のbで示した矩形)、この矩形領域情報(図23のbで示した矩形の斜線パターン領域)を用いて文字列の重なり判定を行う方法である。この方法によれば、図23c)に示したように文字列の重なり判定領域(矩形の斜線パターン領域)が重なったとき文字列は重なったと判定される。また、図23d)に示したように文字の重なり判定領域が重ならないときは文字列は重ならないと判定される。この方法によれば、矩形といったシンプルな形状で複数の文字列間の重なりを判定できるため、x軸方向及びy軸方向の矩形の最小値及び最大値を重なった文字列間で比較すればよく、演算時間の短縮化が図られる。最後に第3の方法を図24を用いて説明する。この手法では文字列に外接する矩形領域を計算し(図24のbで示した外枠の矩形)、その矩形より所定ドット数内側にいった領域で構成される矩形領域情報(図24のbで示した矩形の斜線パターン領域)を用いて文字の重なり判定を行う方法である。この方法によれば、図24c)に示したように文字列の重なり判定領域(矩形の斜線パターン領域)が重なったとき文字列は重なったと判定される。また、図24d)に示したように文字の重なり判定領域が重ならないときは文字列は重ならないと判定される。通常、多少の文字の重なりが発生しても、それぞれの文字列を識別するのは可能であり、本方式によれば多少の文字列の重なりは文字列が重なったと判定されないように動作する。よって、必要以上に重なった文字列を削除することがなくなり、運転者に伝えることが可能な情報量が増加する。さらに、矩形といったシンプルな形状で複数の文字列間の重なりを判定するため、x軸方向及びy軸方向の矩形の最小値及び最大値を複数の文字列間で比較すればよく、演算時間の短縮が図られる。以上示した3種類の文字重なり判定手段で文字列の重なりを判定した後、文字列の重なりがあると判定されると、重なった文字列の属性が調べられる(ステップ1103)。重なる文字列の属性が異なると判断されると、その中から優先的に表示すると決められた属性の文字列を選択しバッファリングする(ステップ1104)。その一実施例を図25に示す。ここで初期状態がa)のような画面構成で、二重丸や郵便マークといった記号で構成される記号属性と、文字列で構成される文字列属性からなるとする。そのとき、ステップ1104の処理を実行したとき、記号属性を優先的に表示するとしたときは、a)のように文字列と記号が重なったときに記号属性を表示するように動作する。つまり"二重丸"と"丸の内"が重なったところは"二重丸"で表示し、"〒"と"神田橋"が重なったところは"〒"を表示する。次に、重なった文字列の属性を調べた結果(ステップ1103)、文字列の属性が同一と判断されると、文字列につき奥行き方向にソーティングする(ステップ1105)。さらに、現在地に近い文字列を選択しバッファリングするように動作する(ステップ1106)。その一実施例を図25に示す。ここで、ステップ1106の処理を実行したとき、b)で文字列が重なったときは現在地近傍の文字列を表示するように動作する。つまり"東京"と"丸の内2"が重なったところは"東京"を表示し、"一ッ橋"と"大手町"が重なったところは"大手町"を表示する。以上、文字列の表示が重なったとき、文字列を選択,表示する方法について述べたが、これ以外の手法として図26に示すように表示が重なった文字列につき小さなフォントに置き換え、表示する方法がある。これは図14のステップ1102で文字列重なりがあると判定されたとき、それら文字列を指定されたフォントサイズより小さなフォントサイズで表示するように動作するものである。例えば指定された文字のフォントサイズが24×24画素であれば、16×16画素、ないし12×12画素のフォントサイズで表示するように動作する。これにより図26のb)に示したように文字列の重なりが少なくなるように動作するため、文字列の認識性が向上する。次に、文字列中に同一文字を同一順で表現した同一文字列が存在するかを判定する(ステップ1107)。同一文字列があると判定されると、次に文字列間の距離を計算する(ステップ1108)。ここで文字列間の距離とは、地図データ上に記述された文字の位置データの差分、あるいは文字列を鳥瞰図地図で表示したときの文字の位置データの差分をいう。なお距離を計算する場合には、文字列を代表する一点、すなわち文字列の左上端点や文字列の中心点のデータを用いるとよい。このようにして計算された文字列間の距離が所定地以内であるかを判定し(ステップ1109)、所定値以内であると判定された時は現在地近傍の文字列をバッファリングするように動作する(ステップ1110)。動作例を図27を用いて説明する。a)の初期状態ではインターチェンジを表す文字列が4つ存在する。b)に示したように文字列間の距離を互いに計算し、距離が短いものについては現在地近傍の文字列が選択され、距離が長いものについては両方の文字列が算宅されるように動作する。よって、c)に示すように文字列が表示されることになる。この図から明らかなように、情報として不要な文字列は削除され、絶対に必要な文字列のみが残るように動作するため、運転者は文字が認識しやすくなる。
次に、描画データ中に経路データが存在するかを判定する(ステップ1066)。経路記憶手段63に経路データが存在すると判定されると、図15の経路データ描画処理(ステップ1067)に処理が移る。経路データ描画処理1167では、実際に地図を表示する領域を奥行き方向に複数の区間に分割し、それぞれの領域で必要な処理を加える。ここでは領域を4つに分割した例で説明する。まず、現在地を含みもっとも手前にある領域1に経路データが存在するか判定し(ステップ1120)、存在すると判定されたときは経路を表示する線幅がもっとも太くなるよう(例えば9ドット幅)に設定する(ステップ1121)。次に、その上にある領域2に経路データが存在するか判定し(ステップ1122)、存在すると判定されたときは経路を表示する線幅をステップ1121より細く、かつステップ1125より太くなるよう(例えば7ドット幅)に設定する(ステップ1123)。次に、その上にある領域3に経路データが存在するか判定し(ステップ1124)、存在すると判定されたときは経路を表示する線幅をステップ1123より細く、かつステップ1127より太くなるよう(例えば5ドット幅)に設定する(ステップ1125)。そして最後に最も奥にある領域4に経路データが存在するか判定し(ステップ1126)、存在すると判定されたときは経路を表示する線幅をステップ1125より細くなるよう(例えば3ドット幅)に設定する(ステップ1127)。このように描画することにより従来方式では図29a)のように経路データに3次元的な奥行き感がなかったが、本方式を用いることでb)のように手前の経路は細く、奥の経路は太く表示されるように動作するため、3次元的な表示になり、運転者はごく自然に経路データを認識できるようになる。なお、ここでは領域を分割し、その領域に応じて線幅を変える方式について説明したが、現在地からの距離に応じて、現在地に近い経路を太い線幅で、遠くなるにつれて細い線幅で表示する方法もある。
次に、描画データ中に軌跡データが存在するかを判定する(ステップ1068)。軌跡データが存在すると判定されると、図16の軌跡データ描画処理(ステップ1069)に処理が移る。なお軌跡データは、走行した位置を所定の距離間隔で軌跡記憶手段69に記憶されている。通常、鳥瞰図地図表示により、上記軌跡データを地図上に表示すると、現在地近傍では軌跡を表す点の間隔が広くなる。一方、現在地より遠方では軌跡を表す点の間隔が小さくなり、場合によっては軌跡の点同士が重なってしまうケースも発生する。この問題を解決するため、軌跡データ描画処理(ステップ1069)では軌跡を描画する領域が現在地遠方かを判定する軌跡間引領域判定手段(ステップ1140)により、現在地遠方の軌跡であればステップ1141に処理が移るように動作する。間引きデータ量演算手段(ステップ1141)では、鳥瞰図地図表示を実行したとき軌跡を表す点の間隔が見やすいデータ量になるように表示する軌跡データの間引き量を決定する(ステップ1141)。軌跡間引き処理(ステップ1142)では、ステップ1141で決定された軌跡データの間引き量に従い、表示するデータから表示する必要のない軌跡データを間引くことによって、必要以上に軌跡データを現在地遠方で表示しないように動作する。次に、軌跡を描画する領域が現在地近傍かを判定する軌跡補間領域判定手段(ステップ1143)により、表示する軌跡が現在地近傍かを判定し、現在地近傍の軌跡であればステップ1144に処理が移るように動作する。補間データ量演算手段(ステップ1144)では、鳥瞰図地図表示を実行したとき軌跡を表す点の間隔が見やすいデータ量になるよう軌跡と軌跡の間に新たに補間すべき軌跡データ量を決定する(ステップ1144)。軌跡補間処理では、ステップ1144で決定された軌跡データの補間量に従い、軌跡と軌跡の間で、かつ走行した道路上に新たに表示する軌跡データを設定することによって、軌跡データ間がひらいてしまうのを防ぎ、現在地近傍で走行した道路がわかるように軌跡データが表示されるように動作する(ステップ1145)。次に、軌跡を表示した例を図30のa)b)に示す。従来方式では、a)で示したように○印で表した軌跡データは現在地近傍で広がり、現在地遠方で狭くなるように表示されたが、本方式を用いることでb)で示したように現在地遠方でも近傍でも等間隔になるように表示されるので表示品質が向上し、かつ軌跡が含まれる道路を識別しやすくなる。よって運転者の軌跡認識率が向上するようになる。
以上、鳥瞰図地図を構成するオブジェクトの描画処理方法につき説明してきたが、次に空や地平線といった疑似背景を描画する方法について説明する。鳥瞰図地図を表示するときに問題になるのは、図31のa)に示したように現在地遠方の地図を表示しようとしたとき、その縮尺が小さくなり、描画において非常に膨大な地図データ量が要求され、表示に時間を必要とし、高速な応答性能が得られなくなってしまうことにある。この問題点を解決するために、鳥瞰図地図の表示において図31のb)に示したような現在地遠方で地図を表示すべき領域を制約し、地図データ量を削減する一方、その領域に擬似的な地平線や空といったオブジェクトを表示する方法を提案してきた。具体的には、図8に示した表示領域判定手段81で、実際に地図を表示する領域を決定する。以降の処理82〜85によって鳥瞰図地図が表示された後、疑似背景設定手段86で疑似背景のデータ設定を実施する。その処理内容を図17を用いて説明する。まず疑似背景領域演算(ステップ1161)は、表示領域判定手段81で地図を表示すると決定された領域情報を読み出し、画面サイズ情報との差分から疑似背景を表示する領域を決定する。次に疑似背景色決定手段(ステップ1162)及び疑似背景パターン設定手段(ステップ1163)は、車両情報や時刻情報といった様々な情報をもとに背景領域の色やパターンを決定する。その一実施例として、車両情報をもとに色を決定する方法を説明する。車両情報S10は車内LAN11を経由し、演算処理部に取り込まれる。このときスモールランプが点灯しているときは、周囲は暗く夜の状態と判断できるので、疑似背景を黒や灰色で表示するように設定する。またスモールランプが点灯していないときは、昼の状態と判断できるので、疑似背景を空色で表示するように設定する。なお、カラーパレットの関係で空色が表示できないときは、青色と白色が順番に表示されるようパターンを設定するディザー処理を行うとよい。次に、異なる手法で同様効果を得る一実施例を説明する。ナビゲーション装置では、GPS衛星からの信号を受信・解析することで日付や時刻を得ることが出来る。この情報を用い、昼間であると判定された時は空色を、夜間であると判定されたときは黒色ないし灰色で疑似背景を表示するように設定するとよい。なお、朝及び夕方は朝焼けや夕焼けを表す赤色で疑似背景を表示してもよい。次に、異なる手法で同様効果を得る一実施例を説明する。これは交通情報受信機10で受信された情報S9に含まれる天気情報を用い、晴天の時は空色で、雨天や曇りの時は灰色で疑似背景が表示されるよう設定する方式である。これらによって、疑似背景が周囲状況にマッチして表示されるように動作するため、運転者は疑似背景が何を表しているか容易に判断できるようになる。次に、鳥瞰図地図に重ねて表示するメニュー等の付加情報の表示手段について説明する。鳥瞰図地図を表示するナビゲーション装置では、現在表示している地図がどの方式で描画されたものか、といった情報を地図に重ねて表示することで、ユーザインタフェースを改善している。その処理を行うメニュー描画手段70について、以下図18を用いて説明する。入力装置5によってユーザが操作した内容は、ユーザ操作解析手段61に伝えられ、ここで内容が分析される。メニュー描画手段70を用い表示を行う必要があると判定されたときは、メッセージを用いてメニュー描画手段70にその内容を伝える。メニュー描画手段では、メッセージを受信した後、処理を開始し、そのメッセージの要求が平面図地図の表示要求かを判定する(ステップ1180)。平面図地図の表示を要求するメッセージと判定された時は、図32a)の左下に示したような平面図地図を表示している最中であることを示すマークを表示する(ステップ1181)。さらに、現在表示している地図の縮尺を表すマーク(同図右下)を表示するように動作する(ステップ1182)。また、上述メッセージでないときは、メッセージの要求が鳥瞰図地図の表示要求かを判定する(ステップ1183)。鳥瞰図地図の表示を要求するメッセージと判定された時は、図32b)の左下に示したような鳥瞰図地図を表示している最中であることを示すマークを表示する(ステップ1184)。さらに、現在表示している地図の縮尺を表すマークが非表示になるよう動作する(ステップ1185)。また、上述メッセージでないときは、メッセージの要求が鳥瞰図地図に於ける投射角度の変更要求かを判定する(ステップ1186)。投射角度の変更を要求するメッせージと判定された時は、図33図中現在地マークのように、投射角度に応じて現在地を示すマークの形状を変化させるように動作する(ステップ1187)。この時、投射角度θが0度に近いとき、即ち平面図に近いときは、現在地マークを平面図地図表示における現在地マーク形状に一致させ、投射角度θが90度に近づくにつれ、現在地マークを設定した投射角度θで透視変換したマークを用いて表示すればよい。上記処理によって、運転者は地図の表示モードや表示領域を容易に判断することが可能になり、よって認識性が向上する。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
1...演算処理部、2...ディスプレイ、3...地図記憶装置、4...音声入出力装置、5...入力装置、6...車輪速センサ、7...地磁気センサ、8...ジャイロ、9...GPS受信機、10...交通情報受信装置、11...車内LAN装置、21...CPU、22...RAM、23...ROM、24...DMA(Direct Memory Access)、25...描画コントローラ、26...VRAM、27...カラーパレット、28...A/D変換器、29...SCI、30...I/O(Input/Output)、31...カウンター、41...スクロールキー、42...縮尺キー、43...投射角度変更キー、44...ナビゲーション装置、61...ユーザ処理解析手段、62...経路計算手段、63...経路記憶手段、64...経路誘導手段、65...地図描画手段、66...現在位置演算手段、67...マップマッチ処理手段、68...データ読み込み処理手段、69...軌跡記憶手段、70...メニュー描画手段、71...グラフィックス処理手段、81...表示領域判定手段、82...初期データクリップ手段、83...座標変換手段、84...描画判定手段、85...データクリップ手段、86...疑似背景設定手段、87...描画命令発行手段。