ナビゲーション装置及び地図表示方法
【課題】地図表示処理の負荷を軽減することができる「ナビゲーション装置及び地図表示方法」を提供する。
【解決手段】ナビゲーション処理部13は、区画BのDL-Bと、区画DのDL-Dを生成しVRAM15に書き込み、VRAM15内のDL-BとDL-Dに従った、区画Bと区画Dの一部より構成される地図表示範囲内の2D地図画像の描画を2Dグラフィックエンジン141に実行させた後、地図表示範囲1001が区画Aと区画Bの一部を含むように変化した場合(a)、区画AのDL-A(b)のみを生成してVRAM15に書き込むと共に、VRAM15内のDL-AとDL-Bに従った、2Dグラフィックエンジン141に地図表示範囲内(a1001)の2D地図画像(d1011)の描画を実行させる。各DLは、対応する区画の地図データより作成した対応する区画内の二次元地図の描画コマンド群を含む。
【解決手段】ナビゲーション処理部13は、区画BのDL-Bと、区画DのDL-Dを生成しVRAM15に書き込み、VRAM15内のDL-BとDL-Dに従った、区画Bと区画Dの一部より構成される地図表示範囲内の2D地図画像の描画を2Dグラフィックエンジン141に実行させた後、地図表示範囲1001が区画Aと区画Bの一部を含むように変化した場合(a)、区画AのDL-A(b)のみを生成してVRAM15に書き込むと共に、VRAM15内のDL-AとDL-Bに従った、2Dグラフィックエンジン141に地図表示範囲内(a1001)の2D地図画像(d1011)の描画を実行させる。各DLは、対応する区画の地図データより作成した対応する区画内の二次元地図の描画コマンド群を含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、地図を用いた位置案内を行うナビゲーション装置における地図表示の技術に関するものである。
【背景技術】
【0002】
ナビゲーション装置における地図表示の技術としては、三次元地図を表す地図データに基づいて、現在位置に基づいて定まる地理的領域の三次元地図をレンダリングして生成した三次元表現の地図画像を表示する技術が知られている(たとえば、特許文献1)。
【特許文献1】特開2004-219182号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
さて、ナビゲーション装置における地図の表示は、できるだけ高品質に行うことが好ましい。
しかしながら、ナビゲーション装置の地図データに基づいて地図を表示する処理、特に三次元表現の地図画像を表示する処理は処理量が比較的大きく、品質向上のために、精緻に表現された地図を高解像度に表示したり、表示する地図の更新の頻度を大きくすると、地図表示のための処理負荷が過大となる場合がある。
【0004】
そこで、本発明は、ナビゲーション装置において、地図表示に要する処理の負荷を軽減することを課題とする。
【課題を解決するための手段】
【0005】
前記課題達成のために、本発明は、地図を表示するナビゲーション装置に、複数の区画の各区画毎に対応して設けられた対応する区画内の地図を定義する区画地図データを含む地図データを記憶した地図データ記憶手段と、画像を描画する画像描画手段と、前記区画毎に生成された、当該区画の地図を表す画像を前記画像描画手段に対して規定するデータである表示区画地図データを格納する表示地図データ格納手段と、前記区画に対応して生成された対応する区画についての地図の描画に用いるデータである表示区画地図データを格納する表示地図データ格納手段と、地図を表示する地理的範囲である地図表示範囲に少なくとも一部が含まれる各区画について、当該区画についての前記表示区画地図データが前記表示地図データ格納手段に格納されていない場合に、前記地図データ記憶手段に記憶されている地図データに含まれる当該区画の区画地図データに基づいて、当該区画についての前記表示区画地図データを生成し、前記表示地図データ格納手段に格納する表示地図データ生成手段と備え、前記画像描画手段において、表示地図データ格納手段に格納された、前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データを用いて、前記地図表示範囲の地図の画像を、前記表示する地図の画像として描画するようにしたものである。
【0006】
ここで、より具体的には、このようなナビゲーション装置において、前記表示区画地図データは、対応する区画の地図を構成する各図形要素の描画を要求する描画コマンドを含むものであってよく、この場合、前記画像描画手段は、前記表示地図データ格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データに含まれる各描画コマンドが表す図形要素を、前記地図表示範囲の地図を構成する図形要素となるように座標変換して描画することにより前記地図表示範囲の地図の画像を、前記表示する地図の画像として描画するように構成する。
【0007】
または、このようなナビゲーション装置において、前記区画地図データは区画内の三次元地図を定義するものであり、前記表示区画地図データは、対応する区画の三次元地図を構成する図形要素の三次元形状データを含むものであってよい。そして、この場合には、前記画像描画手段は、前記表示地図データ格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データに含まれる三次元形状データの集合によって形成される仮想三次元世界の前記地図表示範囲に対応する領域を所定の視点を用いてレンダリングすることにより前記地図表示範囲の三次元表現の地図の画像を、前記表示する地図の画像として描画するように構成する。
【0008】
これらのようなナビゲーション装置によれば、過去に表示地図データ格納手段に格納した表示区画地図データが、今回表示しようとする地図に少なくとも一部が含まれる区画についてのものである場合には、この過去に表示地図データ格納手段に格納した表示区画地図データを流用して、今回表示する地図を描画し、この表示区画地図データを流用できる区画については表示区画地図データを生成しない。したがって、表示区画地図データの生成や表示地図データ格納手段への格納の処理の負荷を軽減することができるようになる。
【0009】
なお、前述のように前記区画地図データを区画内の三次元地図を定義したものとした場合、ナビゲーション装置に、現在位置を算定する現在位置算定手段と、算定した現在位置に対応する表示した地図上の位置に、現在位置を表す現在位置マークを表示する現在位置表示手段とを設け、前記画像描画手段において、三次元形状データが示す三次元オブジェクトの内、前記レンダリングに用いる視点に対して前記仮想三次元世界中の前記現在位置に対応する位置より手前に位置する三次元オブジェクトはレンダリングの対象から除外するようにしてもよい。
【0010】
このようにすることにより、過去に表示地図データ格納手段に格納した前記表示区画地図データを流用しつつ、常に、前記レンダリングに用いる視点に対して前記仮想三次元世界の現在位置より手前に位置する三次元オブジェクトをレンダリングしないようにして、ユーザが現在位置マークの視認を容易に行えるようにすることができる。
【0011】
なお、以上の各ナビゲーション装置は、前記表示地図データ生成手段において、前記生成した表示区画地図データを格納できるだけの空き容量が前記表示地図データ格納手段に存在しない場合に、当該表示地図データ格納手段に格納されている、所定の基準に従って選定した表示区画地図データを当該表示地図データ格納手段から消去するようにしてもよい。このようにすることにより、前記所定の基準を適当に設定すれば、表示地図データ格納手段の限られた記憶容量を用いて、効率よく表示区画地図データの生成や表示地図データ格納手段への格納の処理の負荷を軽減することができるようになる。
【0012】
また、以上の各ナビゲーション装置において、前記画像描画手段は、前記表示地図データ格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データに基づいた地図の画像の描画を、前記地図表示範囲外の領域については行わないようにすることが好ましい。
【0013】
このようにすることにより、画像描画手段の地図描画の処理負荷を軽減することができる。
また、前記課題達成のために、本発明は、地図データに基づいて地図を表示する地図表示方法として、地図を表示する地理的範囲に含まれる領域であって、表示する地図の画像の描画に用いるデータである表示地図データを格納するメモリに当該領域についての表示地図データが格納されていない領域を判定するステップと、判定した表示地図データが前記メモリに格納されていない領域についての前記表示地図データを生成し、前記メモリに格納するステップと、前記メモリに格納された前記表示地図データを用いて前記地図表示範囲の地図を描画し表示するステップとを備えた地図表示方法を提供する。
【0014】
このような地図表示方法によれば、過去にメモリに格納した表示地図データが、今回表示しようとする地図含まれる領域についてのものである場合には、この過去にメモリに格納した表示地図データを流用して、今回表示する地図を描画し、この表示地図データを流用できる領域については表示地図データを生成しない。したがって、表示地図データの生成やメモリへの格納の処理の負荷を軽減することができるようになる。
【発明の効果】
【0015】
以上のように、本発明によれば、ナビゲーション装置における地図表示の処理の負荷を軽減することができる。
【発明を実施するための最良の形態】
【0016】
以下、本発明の実施形態について説明する。
図1に、本実施形態に係るナビゲーションシステムの構成を示す。なお、本実施形態に係るナビゲーションシステムは、自動車に搭載されるものである。
図示するように、ナビゲーションシステムは、ナビゲーション装置1と、表示装置2と、車両状態センサ3と、GPS受信機4と、操作部5と、地図を表す地図データを記憶したDVDドライブやHDDなどの記憶装置である地図データ記憶部6とを備えて構成される。ここで、車両状態センサ3は、角加速度センサや地磁気センサなどである方位センサや、車速パルスセンサなどである車速センサなどの車両状態を検出するセンサ群である。
【0017】
そして、ナビゲーション装置1は、車両状態センサ3やGPS受信機4や操作部5や地図データ記憶部6とナビゲーション装置1との間の入出力を担うI/Oマネージャ11、表示装置2への表示出力を担う表示装置ドライバ12、ナビゲーション処理部13、ナビゲーション処理部13から要求された表示を表示装置ドライバ12を介して表示装置2に対して行うウインドウシステム14、VRAM15、VRAMマネージャ16を備えている。
【0018】
また、ウインドウシステム14は、ナビゲーション処理部13に2Dグラフィックスの描画及び表示機能を提供する2Dグラフィックエンジン141と、ナビゲーション処理部13に3Dグラフィックスの描画及び表示機能を提供する3Dグラフィックエンジン142とを備えている。また、VRAM15には、ナビゲーション装置1が、2Dグラフィックエンジン141や3Dグラフィックエンジン142を利用して描画しようとするグラフィックスのデータが格納される。そして、VRAMマネージャ16は、このようなVRAM15の管理制御を行うものである。
【0019】
なお、以上のナビゲーション装置1は、ハードウエア的には、マイクロプロセッサや、メモリや、その他のグラフィックプロセッサ等の周辺デバイスを有する一般的な構成を備えた電子計算機であって良く、この場合、以上に示したナビゲーション装置1の各部は、マイクロプロセッサが予め用意されたプログラムを実行することにより具現化するプロセスとして実現されるものであって良い。また、この場合、このようなプログラムは、記録媒体や適当な通信路を介して、ナビゲーション装置1に提供されるものであって良い。また、2Dグラフィックエンジン141や3Dグラフィックエンジン142は、グラフィックプロセッサの描画機能を用いて2Dグラフィックスや3Dグラフィックスを描画するものであってよい。
【0020】
次に、図2に地図データ記憶部6に記憶される地図データの内容を示す。
図示するように、地図データは、地図データの製作日時などを記述した管理データ、地図を表す地図基本データ、リソースデータとを含んで構成される。
そして、地図基本データは、区画毎に対応して設けた区画データと、各区画の地理的範囲と区画データの対応や、各区画と区画の識別子となる区画番号の対応などを記述した区画管理データを含む。
そして、各区画データは、対応する区画内の二次元の地図を表す2D地図ユニットと、対応する区画内の三次元の地図を表す3D地図ユニットと、対応する区画内の二次元または三次元の地図上に配置する地名や路線名称などのテキストを表すテキストユニットと、対応する区画内の二次元または三次元の地図上に配置するアイコンを表すアイコンユニットとを含んでいる。なお、ここで言うアイコンは、予め選定した、ユーザが興味を持つであろう地点(POI)の位置と種別を地図上で表すものであり、個々のアイコンとしては、そのアイコンが表す地点の種別を表す図形を用いる。
【0021】
次に、地図データのリソースデータは、各区画についての、区画データに従った地図描画に共通して用いられる色データや図形データなどの情報資源が格納されている。
さて、このような構成において、ナビゲーション処理部13は、I/Oマネージャ11を介して取得した車両状態センサ3やGPS受信機4の出力と、地図データ記憶部6から読み出した地図データの地図基本データが地図を用いて、マップマッチング処理などにより、現在位置として最も確からしい座標と、現在の進行方向として最も確からしい方向とを、それぞれ現在位置、現在進行方位として算定する処理を繰り返し行う。また、ナビゲーション処理部13は、I/Oマネージャ11を介して操作部5からユーザの目的地設定操作が入力されたならば、操作に従って目的地の設定を受け付け、算定した現在位置から目的地までの、最小コストの経路を、距離最小などの所定のコストモデルに基づいて推奨ルートとして、地図データ記憶部6から読み出した地図基本データに基づいて算出し、算出した推奨ルートを設定した目的地と共に保持する。
【0022】
また、ナビゲーション処理部13は、ウインドウシステム14の2Dグラフィックエンジン141や3Dグラフィックエンジン142を利用して、案内画像を表示装置2に表示する処理を行う。
ここで、ナビゲーション装置1は、ユーザが選択的に設定可能な、三次元地図表示モードと二次元地図表示モードとの二つの表示モードを有する。
そして、ナビゲーション処理部13は、二次元地図表示モードが設定されている場合には、2Dグラフィックエンジン141を利用して、図3aに示すように、二次元地図を表す2D地図画像301上に、二次元地図上で地名などを表すテキスト302や、前述したPOIを二次元地図上で表すアイコン303や、二次元地図上で算定した現在位置を表す現在位置図形304などを表した案内画像300を表示する。また、2D地図画像301として表す二次元地図の地理的範囲である地図表示範囲に含まれる推奨ルートを保持している場合には、案内画像300を、2D地図画像301上に、保持している推奨ルートの現在位置より目的地側の部分を二次元地図上で表す推奨ルート図形305を、さらに表したものとする。また、同様に、地図表示範囲に含まれる目的地を保持している場合には、案内画像300を、2D地図画像301上に、保持している目的地を二次元地図上で表す目的地図形を、さらに表したものとする。
【0023】
ここで、2D地図画像301として表す二次元地図の地理的範囲である地図表示範囲は、基準位置と、表示方位と、表示縮尺に従って、基準位置周辺の、決定した表示方位と決定した表示縮尺とに応じて定まる所定の大きさの地理的範囲として定まる。ナビゲーション処理部13は、通常は、現在位置を基準位置とし、算定した現在進行方位を表示方位とし、予め成されたユーザ設定や初期設定に応じて定まる縮尺を表示縮尺として設定する。一方、ユーザの地図スクロール操作に応じたスクロール表示を行っている最中は、ユーザ操作により定まる位置を基準位置とし、ユーザによって選定された方位を表示方位とし、予め成されたユーザ設定や初期設定に応じて定まる縮尺を表示縮尺として設定する。
【0024】
次に、ナビゲーション処理部13は、三次元地図表示モードが設定されている場合には、3Dグラフィックエンジン142を利用して、図3bに示すように、三次元表現の地図を表す3D地図画像311上に、三次元表現の地図上で地名などを表すテキスト312や、前述したPOIを三次元表現の地図上で表すアイコン313や、三次元表現の地図上で算定した現在位置を表す現在位置図形314などを表した案内画像310を表示する。また、3D地図画像31として表す三次元表現の地図の地理的範囲である地図表示範囲に含まれる推奨ルートを保持している場合には、案内画像310を、3D地図画像311上に、保持している推奨ルートの現在位置より目的地側の部分を三次元表現の地図上で表す推奨ルート図形315を、さらに表したものとする。また、同様に、地図表示範囲に含まれる目的地を保持している場合には、案内画像310を、3D地図画像311上に、保持している目的地を三次元表現の地図上で表す目的地図形を、さらに表したものとする。
【0025】
ここで、3D地図画像311として表す三次元地図の地理的範囲である地図表示範囲は、設定した視点位置と視線方向と視野角とに従って、地上上空に設定した視点位置から設定した視線方向に設定した視野角で、地上を観測した場合に観測される範囲として決定する。ナビゲーション処理部13は、通常は、算定した現在位置から算定した現在進行方位と逆方向に前述した表示縮尺に応じた距離進んだ位置から、上方に前述した表示縮尺に応じた距離昇った位置を視点位置とし、当該視点位置から、算定した現在位置から算定した現在進行方位方向に前述した表示縮尺に応じた距離進んだ位置に向かう方向を視線方向とし、視線方向と垂直な2方向について予め定めた角度を視野角とする。なお、この視線方向と垂直な2方向は、現在位置と視点位置と現在位置から算定した現在進行方位の方向に任意距離進んだ位置との3つの位置を含む面に垂直な方向と、当該面内の視線方向と垂直な方向とする。また、ナビゲーション処理部13は、ユーザの地図スクロール操作に応じたスクロール表示を行っている最中は、ユーザ操作に応じて、視点位置と視線方向と視野角を設定する。
【0026】
さて、ナビゲーション処理部13は、VRAM15にディスプレイリスト(DL)を書き込み、書き込んだDLの描画を要求するシステムコールを、2Dグラフィックエンジン141や3Dグラフィックエンジン142に発行することにより、以上のような案内画像を表示装置2に表示する。
【0027】
ここで、ナビゲーション処理部13が二次元地図表示モードが設定されている場合にVRAM15に書き込むDLには、図3aの案内画像300中に配置するテキスト302を規定するテキスト描画用のDLと、図3aの案内画像300中に配置するアイコン303を規定するアイコン描画用のDLと、図3aの案内画像300中に配置する現在位置図形304や推奨ルート図形305や目的地図形を規定する案内図形描画用のDLと、図3aの案内画像300中に描画する2D地図画像301の地図表示範囲に少なくとも一部が含まれる区画の各々に対応して書き込まれる、対応する区画の二次元の区画地図を規定する2D地図画像描画用のDLがある。
【0028】
また、ナビゲーション処理部13が三次元地図表示モードが設定されている場合にVRAM15に書き込むDLには、図3bの案内画像310中に配置するテキスト312を規定するテキスト描画用のDLと、図3bの案内画像310中に配置するアイコン313を規定するアイコン描画用のDLと、図3bの案内画像310中に配置する現在位置図形314や推奨ルート図形315や目的地図形を規定する案内図形描画用のDLと、図3bの案内画像310中に描画する3D地図画像311の地図表示範囲に少なくとも一部が含まれる区画の各々に対応して書き込まれる、対応する区画の三次元の区画地図を規定する3D地図画像描画用のDLがある。
【0029】
なお、ナビゲーション処理部13は、各表示モードにおけるテキスト描画用のDLと各表示モードにおけるアイコン描画用のDLと2D地図画像描画用のDLと3D地図画像描画用のDLについては、当該DLを、区画毎に作成しVRAM15に書き込む。
さて、図4aに示すようにVRAM15の記憶空間は、所定容量の複数のブロックに分割されており、各ブロックには、ブロック番号BL#が割り振られている。
また、図4bに示すように、VRAM15の記憶空間は、複数のブロックよりなるワンユースDL領域と、複数のブロックよりなるリーユーザブルDL領域とに分割されており、テキスト描画用のDLとアイコン描画用のDLと案内図形描画用のDLは、ナビゲーション処理部13によってワンユースDL領域に書き込まれ、2D地図画像描画用のDLと3D地図画像描画用のDLは、ナビゲーション処理部13によってリーユーザブルDL領域に書き込まれる。
【0030】
ここで、各DLの書き込みは、VRAMマネージャ16によって制御される。
すなわち、VRAMマネージャ16は、DLの書き込みをナビゲーション処理部13から要求されると、書き込みを要求されたDLのデータ容量分の空きブロックを集めた領域を当該DLの領域に割当て、割り当てた領域に書き込みを要求されたDLを書き込む。なお、書き込みを要求されたDLがテキスト描画用のDLとアイコン描画用のDLと案内図形描画用のDLとのいずれかである場合には、書き込みを要求されたDLのデータ容量分の、ワンユースDL領域の空きブロックを集めた領域を当該DLの領域に割当てる。また、書き込みを要求されたDLが2D地図画像または3D地図画像描画用のDLである場合には、書き込みを要求されたDLのデータ容量分の、リユーザブルDL領域の空きブロックを集めた領域を当該DLの領域に割当てる。なお、一つのDLの領域に割当てる複数の空きブロックは、VRAM15中において連続していない複数のブロックであってもよい。また、空きブロックとは、いずれのDLの領域にも割当てられていないブロックである。
【0031】
また、VRAMマネージャ16は、各DLの領域を管理するために、図5aに示すVRAMマッピングテーブルを保持する。
図示するように、VRAMマッピングテーブルは、VRAM15に保持されているDL毎のエントリを有し、各エントリにはDLの識別子であるDL番号と、当該DLの領域として割当てられたブロックのブロック番号の一覧である割当ブロックが記述される。
一方、ナビゲーション処理部13も、VRAM15に書き込んだDLを管理するためのDL管理テーブルを保持している。
そして、DL管理テーブルは、ナビゲーション処理部13がVRAM15に書き込みかつVRAM15から消去していないDL毎のエントリを有し、各エントリにはDLの識別子であるDL番号と、テキスト描画用のDL/アイコン描画用のDL/案内図形描画用のDL/2D地図画像のDL/3D地図画像描画用のDLのいずれかとなるDLの種別を表すDL種別と、DLに対応する区画の区画番号を表す対応区画番号と、DLのバイト数を表すデータ容量と、DLを最後に使用した日時を表す最終使用日時が記述される。なお、区画番号は、当該DLが案内図形描画用のDLでない場合にのみ記述される。また、最終使用日時に記述されるDLを最後に使用した日時は、そのDLの描画を要求するシステムコールを最後に発行した日時である。
【0032】
ここで、2D地図画像描画用のDLを用いた図3aに示す2D地図画像の描画手順の概要を説明する。
まず、図6aに示すように2D地図画像描画用のDLは、描画属性データと表示二次元地図描画コマンド群より構成される。また、描画属性データには、要と否のいずれかの値をとる表示範囲外描画要否を含む。
次に、この2D地図画像描画用のDLの描画を要求するシステムコールは、図6bに示すように、2D地図画像描画用のDLの描画を要求するオペコードである2D地図描画用DL描画命令の他、オペランドとして、描画する2D地図描画用DLのDL番号の一覧である描画DL番号リストと、描画画像表示範囲と、縮尺と、回転角と、オフセット座標リストとを含む。
【0033】
そして、いま、図7aに示すように、A、B、C、Dの区画があり、図示するように地図表示範囲701が算定された場合、ナビゲーション処理部13は、地図表示範囲701に少なくとも一部が含まれる区画Bと区画Dについての区画データの2D地図ユニットを地図データ記憶部6より読み出し、区画Bの2D地図画像描画用のDLであるDL-Bと、区画Dの2D地図画像描画用のDLであるDL-Dを生成し、VRAM15に書き込む。
【0034】
ここで、この区画Bの2D地図画像描画用のDL-Bの描画属性データの表示範囲外描画要否には否を設定する。また、DL-Bの表示二次元地図描画コマンドには、区画Bの区画データの2D地図ユニットと、ユーザの表示設定とに基づいて定まる、図7bに示すような区画Bの二次元地図を構成する各図形要素の描画を要求する、2Dグラフィックエンジン141が解釈可能な形式の描画コマンド群を含める。
【0035】
また、同様に、区画Dの2D地図画像描画用のDL-Dの描画属性データの表示範囲外描画要否には否を設定する。また、DL-Dの表示二次元地図描画コマンドには、区画Dの区画データの2D地図ユニットと、ユーザの表示設定とに基づいて定まる、図7cに示すような区画Dの二次元地図を構成する各図形要素の描画を要求する、2Dグラフィックエンジン141が解釈可能な形式の描画コマンド群を含める。
【0036】
ここで、表示する二次元地図を定めるユーザの表示設定としては、たとえば、表示する二次元地図の各構成図形要素の色や模様の設定などがある。
また、DL-Bの表示二次元地図描画コマンドによって規定される区画Bの二次元地図と、DL-Dの表示二次元地図描画コマンドによって規定される区画Dの二次元地図は、それぞれ、DL毎に独立した座標空間MX-MY上に規定される。また、DL-Bの表示二次元地図描画コマンドによって規定される区画Bの二次元地図と、DL-Dの表示二次元地図描画コマンドによって規定される区画Dの二次元地図とが、同じ方位を上とする同じ縮尺の二次元地図となるように、DL-Bの表示二次元地図描画コマンドと、DL-Dの表示二次元地図描画コマンドは、それぞれ生成される。
【0037】
次に、VRAM15に、DL-BとDL-Dを保持させたならば、ナビゲーション処理部13は、図6bに示した2D地図画像描画用のDLの描画を要求するシステムコールを生成し2Dグラフィックエンジン141に発行する。ここで、このシステムコールのオペランドの描画DL番号リストには、DL-BのDL番号とDL-DのDL番号を含める。
【0038】
また、システムコールのオペランドの縮尺と、回転角と、オフセット座標リストには、図7dに示すように、描画画像座標空間DX-DY上に、前述した表示方位を上として、前述した表示縮尺で、図7bに示したDL-Bで規定される区画Bの二次元地図と図7cに示したDL-Dで規定される区画Dの二次元地図を、両区画の位置関係に従って配置するための座標変換マトリックスを定める拡大変換量、回転変換量、移動変換量を記述する。なお、本例では、DL-Bの表示二次元地図描画コマンドによって規定される区画Bの二次元地図と、DL-Dの表示二次元地図描画コマンドによって規定される区画Dの二次元地図は同じ方位を上とする同じ縮尺の二次元地図となるようにしているので、拡大変換量と回転変換量は、DL-BとDL-Dとで共通となり、移動変換量のみがDL-BとDL-Dとで異なる値となり、この異なる値をとる移動変換量の一覧がオフセット座標リストとして記述される。
【0039】
また、システムコールの描画画像表示範囲711には、図7dに示すように区画Bの二次元地図と区画Dの二次元地図を配置して生成した、描画画像座標空間DX-DY上の描画画像のうちの、表示装置2に表示する範囲を記述する。ここで、この描画画像表示範囲711は、当該描画画像表示範囲711に描画される二次元地図に対応する地理的範囲が前述した地図表示範囲に一致するように設定する。
【0040】
次に、このようなシステムコールを受け取った2Dグラフィックエンジン141は、システムコールのオペランドの縮尺と、回転角と、オフセット座標リストに従って、描画画像座標空間DX-DY上に、描画DL番号リストで指定されたDL-BとDL-Dの表示二次元地図描画コマンドに含まれる描画コマンドで描画を要求された図形を、システムコールのオペランドの縮尺と、回転角と、オフセット座標リストに従って座標変換しながら描画して図7dに示す描画画像を生成し、描画した描画画像のうちの、システムコールのオペランドで指定された描画画像表示範囲711内の2D地図画像を図3aに示す2D地図画像301とする。なお、前述の通り、描画画像表示範囲711は、描画画像表示範囲に描画される二次元地図に対応する地理的範囲が前述した地図表示範囲に一致するようにナビゲーション処理部13によって設定されている。
【0041】
さて、ここで、2Dグラフィックエンジン141は、2D地図画像描画用のDLの描画属性データの表示範囲外描画要否に否が設定されている場合には、描画画像座標空間DX-DY上の描画画像表示範囲711外への、描画コマンドに従った図形の描画は、これを行わない。このようにすることにより、2Dグラフィックエンジン141の描画処理の負荷を軽減することができる。
【0042】
以上、2D地図画像描画用のDLを用いた図3aに示す2D地図画像301の描画手順の概要を説明した。
次に、3D地図画像描画用のDLを用いた図3bに示す3D地図画像311の描画手順の概要を説明する。
まず、図6cに示すように3D地図画像描画用のDLは、描画属性データと表示三次元地図データより構成される。また、描画属性データには、要と否のいずれかの値をとる表示範囲外描画要否と、要と否のいずれかの値をとる現在位置手前オブジェクト描画要否を含む。
【0043】
次に、この3D地図画像描画用のDLの描画を要求するシステムコールは、図6dに示すように、3D地図画像描画用のDLの描画を要求するオペコードである3D地図描画用DL描画命令の他、オペランドとして、描画する3D地図描画用DLのDL番号の一覧である描画DL番号リストと、描画視点位置と描画視野角と描画視線方向と、オフセット座標リストと、現在位置対応座標とを含む。
【0044】
そして、いま、図8aに示すように、A、B、C、Dの区画があり、図示するように地図表示範囲801が算定された場合、ナビゲーション処理部13は、地図表示範囲801に少なくとも一部が含まれる区画Bと区画Dについての区画データの3D地図ユニットを地図データ記憶部6より読み出し、区画Bの3D地図画像描画用のDLであるDL-Bと、区画Dの3D地図画像描画用のDLであるDL-Dを生成し、VRAM15に書き込む。
【0045】
ここで、この区画Bの3D地図画像描画用のDL-Bの描画属性データの表示範囲外描画要否と、現在位置手前オブジェクト描画要否とには共に否を設定する。また、DL-Bの表示三次元地図データには、区画Bの区画データの3D地図ユニットと、ユーザの表示設定とに基づいて定まる、図8bに示すような区画Bの三次元地図を表す三次元モデルのデータを含める。なお、この三次元モデルのデータは、3D地図ユニットそのままの形式データではなく、3Dグラフィックエンジン142が解釈可能な形式のデータである。
【0046】
また、同様に、区画Dの3D地図画像描画用のDL-Dの描画属性データの表示範囲外描画要否と、現在位置手前オブジェクト描画要否とには共に否を設定する。また、DL-Dの表示三次元地図データには、区画Dの区画データの3D地図ユニットと、ユーザの表示設定とに基づいて定まる、図8cに示すような区画Cの三次元地図を表す三次元モデルのデータを含める。
【0047】
ここで、表示する三次元地図を定めるユーザの表示設定としては、たとえば、表示する三次元地図の各構成要素の色や模様の設定や、表示する三次元オブジェクトの種類の設定(たとえば、4階以下のビルを表す三次元オブジェクトは表示しないなどの設定)などがある。
【0048】
また、DL-Bの表示三次元地図データによって規定される区画Bの三次元モデルが表す三次元地図と、DL-Dの表示三次元地データによって規定される区画Dの三次元モデルが表す三次元地図は、それぞれ、DL毎に独立した座標空間MX-MY-MZ上に規定される。また、DL-Bの表示三次元地図データによって規定される区画Bの三次元モデルが表す三次元地図と、DL-Dの表示三次元地図データによって規定される区画Dの三次元モデルが表す三次元地図とが、MX方向とMY方向が同じ方位となる、同じ縮尺の三次元地図となるように、DL-Bの表示三次元地図データと、DL-Dの表示三次元地図データは、それぞれ生成される。
【0049】
次に、VRAM15に、DL-BとDL-Dを保持させたならば、ナビゲーション処理部13は、図6dに示した3D地図画像描画用のDLの描画を要求するシステムコールを生成し3Dグラフィックエンジン142に発行する。ここで、このシステムコールのオペランドの描画DL番号リストには、DL-BのDL番号とDL-DのDL番号を含める。
【0050】
また、システムコールのオペランドのオフセット座標リストには、描画対象座標空間TX-TY-TZ上に、図8bに示したDL-Bで規定される区画Bの三次元地図を表す三次元モデルと図8cに示したDL-Dで規定される区画Dの三次元地図を表す三次元モデルとを両区画の位置関係に従って、図8dに示すように配置するための移動変換量を記述する。
【0051】
また、システムコールのオペランドの描画視点位置と描画視野角と描画視線方向には、描画対象座標空間TX-TY-TZ上の描画視点位置と描画視線方向と描画視野角を記述する。この描画視点位置と描画視線方向と描画視野角は、前述した視点位置、視線方向と地理的座標との関係を、図8dに示すように配置した三次元モデルが表す区画B、Dの三次元地図との間で満たすように設定する。
【0052】
また、システムコールのオペランドの現在位置対応座標には、算定されている現在位置に対応する、描画対象座標空間TX-TY-TZ上の位置(図8dに示すように配置した三次元モデルが表す三次元地図上の現在位置に相当する座標)を記述する。
次に、このようなシステムコールを受け取った3Dグラフィックエンジン142は、システムコールのオペランドのオフセット座標リストに従って、図8dに示すように、描画対象座標空間TX-TY-TZ上に、描画DL番号リストで指定されたDL-BとDL-Dの表示三次元地図データが表す三次元モデルを配置する。そして、システムコールのオペランドの描画視点位置と描画視線方向と描画視野角を用いて、描画視点位置811から描画視線方向に描画視野角で、図8dに示すように配置した三次元モデルが表す区画B、Dの三次元地図を観測した場合に観測される二次元画像を描画(レンダリング)し、その上部に空を模擬する空画像を配置して図3bに示す3D地図画像311とする。
【0053】
さて、ここで、3Dグラフィックエンジン142は、3D地図画像描画用のDL-Bの描画属性データの表示範囲外描画要否に否が設定されている場合には、描画視点位置と描画視線方向と描画視野角より定まる、3D地図画像311として描画する描画対象座標空間TX-TY-TZの範囲812の範囲外に配置される三次元オブジェクトなどの各種オブジェクトについての処理は行わない。このようにすることにより、3Dグラフィックエンジン142の描画処理の負荷を軽減することができる。また、現在位置手前オブジェクト描画要否に否が設定されている場合には、システムコールのオペランドの現在位置対応座標より、描画視点位置811に対して手前にある三次元オブジェクトの描画処理は行わない。このようにすることにより、以上の手順によって3D地図画像311を描画しても、常に、案内画像310中に表示される現在位置図形314の良好な視認性を確保することができるようになる。
【0054】
以上、3D地図画像描画用のDLを用いた図3bに示す3D地図画像311の描画手順の概要を説明した。
さて、ナビゲーション処理部13は、二次元地図表示モードが設定されている場合には、2D案内画像描画処理を行って図3aに示した案内画像300を表示し、三次元地図表示モードが設定されている場合には、3D案内画像描画処理を行って図3bに示した案内画像310を表示する。
【0055】
また、図6a、図6b、図7を用いて概要を説明した2D地図画像描画用のDLを用いた図3aに示す2D地図画像301の描画手順は、この2D案内画像描画処理の実行中にナビゲーション処理部13と2Dグラフィックエンジン141において実施されるものであり、図6c、図6d、図8を用いて概要を説明した3D地図画像描画用のDLを用いた図3bに示す3D地図画像311の描画手順は、この3D案内画像描画処理の実行中にナビゲーション処理部13と3Dグラフィックエンジン142において実施されるものである。
【0056】
それでは、まず、図3aに示した案内画像300を表示するために行う2D案内画像描画処理について説明する。
図9に、この2D案内画像描画処理の手順を示す。
図示するように、この処理では、まず、案内画像300の表示の更新時間間隔(リフレッシュレート)を定めるタイマを設定する(ステップ902)。そして、前述のように設定される地図表示範囲内に少なくとも一部が含まれる区画を算定する(ステップ904)。
次に、VRAM15のワンユースDL領域のテキスト描画用のDLとアイコン描画用のDLと案内図形描画用のDLの全ての消去を、VRAMマネージャ16に要求する(ステップ906)。VRAMマネージャ16は、ワンユースDL領域のテキスト描画用のDLとアイコン描画用のDLと案内図形描画用のDLの全てを消去し、VRAMマッピングテーブルの消去したDLのエントリを消去し、当該DLのDL領域に割り当てていたブロックを解放する。また、ナビゲーション処理部13も、DL管理テーブルの消去したDLのエントリを消去する。
【0057】
次に、ナビゲーション処理部13は、算定している現在位置と現在進行方位と推奨ルートと目的地と、地図表示範囲と地図表示方位と地図表示縮尺とに応じて、案内画像300に含める現在位置図形304や推奨ルート図形305や目的地図形を描画するための案内図形描画用のDLを生成し、生成した案内図形描画用のDLのVRAM15への書き込みを、VRAMマネージャ16に要求する(ステップ906)。
【0058】
そして、ナビゲーション処理部13は、次に、DL管理テーブルを参照して、ステップ904で算定した区画の内、VRAM15に既に、その区画についての2D地図描画用のDLが格納されている区画をリユース区画に設定する(ステップ910)。ある区画についての2D地図描画用DLがVRAM15に格納されているかどうかの判定は、DL管理テーブルに、その区画の区画番号が対応区画番号として登録され、DL種別として2D地図描画用が登録されているエントリが存在している場合に、その区画についての2D地図描画用DLがVRAM15に格納されていると判定することにより行う。
【0059】
次にナビゲーション処理部13は、各リユース区画の区画データのテキストユニットと、地図表示範囲と地図表示方位と地図表示縮尺とに応じて、案内画像に含めるテキスト302を描画するためのテキスト描画用のDLを生成し、生成したテキスト描画用のDLのVRAM15への書き込みを、VRAMマネージャ16に要求する(ステップ912)。また、各リユース区画の区画データのアイコンユニットと、地図表示範囲と地図表示方位と地図表示縮尺とに応じて、案内画像に含めるアイコン303を描画するためのアイコン描画用のDLを生成し、生成したアイコン描画用のDLのVRAM15への書き込みを、VRAMマネージャ16に要求する(ステップ914)。
【0060】
ここで、VRAMマネージャ16は、案内図形描画用のDLやテキスト描画用のDLやアイコン描画用のDLの書き込みを要求されると、書き込みを要求されたDLのDL領域をワンユースDL領域中に確保し、確保したDL領域に当該DLを書き込むと共に、書き込んだDLのエントリをVRAMマッピングテーブルに作成し、書き込んだDLのDL番号と、書き込んだDLのDL領域に割り当てたブロックのブロック番号とを作成したエントリに登録する。また、ナビゲーション処理部13も、書き込んだDLのエントリをDL管理テーブルに作成し、作成したエントリに、書き込んだDLのDL番号と、DLの種別と、書き込んだDLに対応する区画の区画番号と、書き込んだ案内図形描画用のDLのデータ容量とを、それぞれDL番号、DL種別、対応区画番号、データ容量として登録する。
【0061】
次に、ナビゲーション処理部13は、ステップ904で算定した区画の内のリユース区画に設定した区画以外の区画を通常描画区画に設定する(ステップ916)。
そして、各通常描画区画について(ステップ918、928、940)、以下の処理を行う。
すなわち、まず、その区画の区画データのテキストユニットと、地図表示範囲と地図表示方位と地図表示縮尺とに応じて、案内画像に含めるテキスト302を描画するためのテキスト描画用のDLを生成し、生成したテキスト描画用のDLのVRAM15への書き込みを、VRAMマネージャ16に要求する(ステップ920)。また、その区画の区画データのアイコンユニットと、地図表示範囲と地図表示方位と地図表示縮尺とに応じて、案内画像に含めるアイコン303を描画するためのアイコン描画用のDLを生成し、生成したアイコン描画用のDLのVRAM15への書き込みを、VRAMマネージャ16に要求する(ステップ922)。
【0062】
そして、次に、その区画の2D描画用DLを前述の様に生成し、生成した2D地図画像描画用のDLの書き込みを、VRAMマネージャ16に要求する(ステップ924)。
ここで、VRAMマネージャ16は、2D地図画像描画用のDLの書き込みを要求されると、書き込みを要求されたDLのDL領域をリユーザブルDL領域中に確保し、DL領域を確保できたならば、確保したDL領域に当該DLを書き込むと共に、書き込んだDLのエントリをVRAMマッピングテーブルに作成し、書き込んだDLのDL番号と、書き込んだDLのDL領域に割り当てたブロックのブロック番号とを作成したエントリに登録し、書き込み成功をナビゲーション処理部13に応答する。また、書き込み成功を応答された場合、ナビゲーション処理部13は、書き込んだDLのエントリをDL管理テーブルに作成し、作成したエントリに、書き込んだDLのDL番号と、DLの種別と、書き込んだDLに対応する区画の区画番号と、書き込んだ案内図形描画用のDLのデータ容量とを、それぞれDL番号、DL種別、対応区画番号、データ容量として登録する。一方、VRAMマネージャ16は、空きブロック不足のために、書き込みを要求されたDLのDL領域をリユーザブルDL領域中に確保できなかった場合には、空き領域不足をナビゲーション処理部13に応答する。
【0063】
さて、ナビゲーション処理部13は、2D地図画像描画用のDLの書き込み成功が応答された場合には(ステップ926)、その通常区画についての処理を終了する。
一方、2D地図画像描画用のDLの書き込み要求に対して、空き領域不足が応答された場合には(ステップ926)、DL管理テーブルに登録されているDL種別が2D地図画像描画用のエントリのうちの、最終使用日時が最古のエントリのDL番号が示すDLの消去をVRAMマネージャ16に要求し(ステップ938)、ステップ924からの処理に戻る。ただし、ここでは、DL管理テーブルに登録されているDL種別が2D地図画像描画用のエントリのうちの、書き込み要求を発行したDLのデータ容量以上のデータ容量が登録されているエントリのうちで最終使用日時が最古のエントリのDL番号が示すDLの消去をVRAMマネージャ16に要求するようにしてもよい。
【0064】
ここで、2D地図画像描画用のDLの消去を要求されたVRAMマネージャ16は、VRAM15のリユーザブル領域から消去を要求された2D地図画像描画用のDLを消去すると共に、VRAMマッピングテーブルの消去したDLのエントリを消去し、当該DLのDL領域に割り当てていたブロックを解放して空きブロックを生成する。また、ナビゲーション処理部13も、DL管理テーブルの消去した2D地図画像描画用のDLのエントリを消去する。
【0065】
次に、全ての通常区画について以上のステップ924、926、938の処理を終了したならば、ステップ904で算定した各区画の2D地図画像描画用のDLの描画を要求するシステムコールを前述のように生成し、2Dグラフィックエンジン141に発行する(ステップ930)。ここで、ステップ904で算定した各区画の2D地図画像描画用のDLは、DL管理テーブルのDL種別が2D地図画像描画用のエントリであって、ステップ904で算定した区画の区画番号が対応区画番号として登録されているエントリに記述されたDL番号のDLとして求まる。
【0066】
次に、同様に、ステップ904で算定した各区画のテキスト描画用のDLの描画を要求するシステムコールとアイコン描画用のDLの描画を要求するシステムコールを2Dグラフィックエンジン141に発行する(ステップ932)。また、ステップ908でVRAM15に書き込んだ案内図形描画用のDLの描画を要求するシステムコールを2Dグラフィックエンジン141に発行する(ステップ934)。
【0067】
ここで、ナビゲーション処理部13は、以上のようにシステムコールでDLの描画を要求した場合には、描画を要求したDLのDL番号が登録されているDL管理テーブルのエントリに、最終使用日時として現在日時を登録する。
さて、ナビゲーション処理部13は、以上のように各DLの描画を要求するシステムコールを2Dグラフィックエンジン141に発行したならば、タイマのタイムアウトを待って、ステップ902からの処理を繰り返す。
以上、2D案内画像描画処理について説明した。
以上のように、この2D案内画像描画処理によれば、過去にVRAM15に書き込んだ2D地図画像描画用のDLが、今回表示しようとする案内画像300の2D地図画像301の描画に用いることのできるものである場合には、この過去にVRAM15に書き込んだ2D地図画像描画用のDLを流用して、2D地図画像301を描画する。したがって、ナビゲーション処理部13の、2D地図画像描画用のDLの生成の負荷を軽減することができるようになる。
【0068】
たとえば、この2D案内画像描画処理では、図7aに示すように区画Bと区画Dに跨って設定された地図表示範囲701に基づいて、図7b、cに示すような二次元地図を表す区画Bの2D地図画像描画用のDLであるDL-Bと区画Dの2D地図画像描画用のDLであるDL-Dを生成しVRAM15に書き込んで、システムコールを発行し、図7aに示す地図表示範囲701に対応する図7dの描画画像表示範囲711の画像を2D地図画像301として生成し、案内画像300に含めて表示した後、図10aに示すように、区画Aと区画Bの一部を含む地図表示範囲1001が設定された場合、ナビゲーション処理部13は、次のようにして、地図表示範囲1001の二次元地図を表す地図画像301を描画させる。
【0069】
すなわち、ナビゲーション処理部13は、地図表示範囲1001に一部が含まれる区画Aと区画Bとのうち、対応する2D地図画像描画用のDLがVRAM15に保持されていない区画Aについてのみ、図10bに示すような二次元地図を表す区画Aの2D地図画像描画用のDLであるDL-Aを生成しVRAM15に書き込む。そして、既にVRAM15に保持されている図10cに示すような二次元地図を表す区画Bの2D地図画像描画用のDLであるDL-Bと、書き込んだDL-Aとの描画を要求するシステムコールを発行し、2Dグラフィックエンジン141に、図10aに示す地図表示範囲1001に対応する図10dの描画画像表示範囲1011の画像を2D地図画像301として描画させる。この結果、この場合には、今回の2D地図画像301の生成のために、地図表示範囲1001に一部が含まれる区画Aと区画Bとのうちの区画Bについての2D地図画像描画用のDLの生成及びVRAM15への書き込みは行う必要がなくなる。
【0070】
次に、3D案内画像描画処理について説明する。
3D案内画像描画処理は、2D地図画像描画用のDLに代えて3D地図画像描画用のDLを対象として処理を行う点を除き図9に示した2D案内画像描画処理と同様の処理となる。なお、3D案内画像描画処理では、システムコールは2Dグラフィックエンジン141に代えて、3Dグラフィックエンジン142に対して発行されることになる。
【0071】
このような3D案内画像描画処理によれば、2D案内画像描画処理と同様に過去にVRAM15に書き込んだ3D地図画像描画用のDLが、今回表示しようとする案内画像310の3D地図画像311の描画に用いることのできるものである場合には、この過去にVRAM15に書き込んだ3D地図画像描画用のDLを流用して、3D地図画像311を描画する。したがって、ナビゲーション処理部13の、3D地図画像描画用のDLの生成の負荷を軽減することができるようになる。
【0072】
たとえば、この3D案内画像描画処理では、図8aに示すように区画Bと区画Dに跨って設定された地図表示範囲801に基づいて、図8b、cに示すような三次元地図を表す区画Bの3D地図画像描画用のDLであるDL-Bと区画Dの3D地図画像描画用のDLであるDL-Dを生成しVRAM15に書き込んで、システムコールを発行し、図8dの描画視点位置811から描画視線方向に描画視野角で観察した、図8aに示す地図表示範囲801に対応する範囲812の画像を3D地図画像311として生成し、案内画像310に含めて表示した後、図11aに示すように、区画Aと区画Bの一部を含むように地図表示範囲1101が設定された場合、ナビゲーション処理部13は、次のようにして、地図表示範囲1101の三次元地図を表す地図画像301を描画させる。
【0073】
すなわち、ナビゲーション処理部13は、地図表示範囲1101に一部が含まれる区画Aと区画Bとのうち、対応する3D地図画像描画用のDLがVRAM15に保持されていない区画Aについてのみ、図11bに示すような三次元地図を表す区画Aの3D地図画像描画用のDLであるDL-Aを生成しVRAM15に書き込む。そして、既にVRAM15に保持されている図11dに示すような三次元地図を表す区画Bの3D地図画像描画用のDLであるDL-Bと、書き込んだDL-Aとの描画を要求するシステムコールを発行し、3Dグラフィックエンジン142に、図11dの描画視点位置1111から描画視線方向に描画視野角で観察して得られる、図11aに示す地図表示範囲1101に対応する図11dの範囲1112の画像を3D地図画像311として描画させる。この結果、この場合には、今回の3D地図画像311の描画のために、地図表示範囲1111に一部が含まれる区画Aと区画Bとのうちの区画Bについての3D地図画像描画用のDLの生成及びVRAM15への書き込みは行う必要がなくなる。
【0074】
以上、本発明の実施形態について説明した。
【図面の簡単な説明】
【0075】
【図1】本発明の実施形態に係るナビゲーションシステムの構成を示すブロック図である。
【図2】本発明の実施形態に係るナビゲーションシステムが備える地図データを示す図である。
【図3】本発明の実施形態に係るナビゲーションシステムの表示画面例を示す図である。
【図4】本発明の実施形態に係るナビゲーションシステムが備えるVRAMの構造を示す図である。
【図5】本発明の実施形態に係るナビゲーションシステムが備えるVRAMマッピングテーブルとDL管理テーブルを示す図である。
【図6】本発明の実施形態に係るナビゲーションシステムで案内画像の表示のために用いるディスプレイリストとシステムコールを示す図である。
【図7】本発明の実施形態に係るナビゲーションシステムの2D地図画像の生成例を示す図である。
【図8】本発明の実施形態に係るナビゲーションシステムの3D地図画像の生成例を示す図である。
【図9】本発明の実施形態に係るナビゲーションシステムが行う2D案内画像描画処理を示すフローチャートである。
【図10】本発明の実施形態に係るナビゲーションシステムの2D地図画像の生成例を示す図である。
【図11】本発明の実施形態に係るナビゲーションシステムの3D地図画像の生成例を示す図である。
【符号の説明】
【0076】
1…ナビゲーション装置、2…表示装置、3…車両状態センサ、4…GPS受信機、5…操作部、6…地図データ記憶部、11…IOマネージャ、12…表示装置ドライバ、13…ナビゲーション処理部、14…ウインドウシステム、15…VRAM、16…VRAMマネージャ、141…2Dグラフィックエンジン、142…3Dグラフィックエンジン。
【技術分野】
【0001】
本発明は、地図を用いた位置案内を行うナビゲーション装置における地図表示の技術に関するものである。
【背景技術】
【0002】
ナビゲーション装置における地図表示の技術としては、三次元地図を表す地図データに基づいて、現在位置に基づいて定まる地理的領域の三次元地図をレンダリングして生成した三次元表現の地図画像を表示する技術が知られている(たとえば、特許文献1)。
【特許文献1】特開2004-219182号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
さて、ナビゲーション装置における地図の表示は、できるだけ高品質に行うことが好ましい。
しかしながら、ナビゲーション装置の地図データに基づいて地図を表示する処理、特に三次元表現の地図画像を表示する処理は処理量が比較的大きく、品質向上のために、精緻に表現された地図を高解像度に表示したり、表示する地図の更新の頻度を大きくすると、地図表示のための処理負荷が過大となる場合がある。
【0004】
そこで、本発明は、ナビゲーション装置において、地図表示に要する処理の負荷を軽減することを課題とする。
【課題を解決するための手段】
【0005】
前記課題達成のために、本発明は、地図を表示するナビゲーション装置に、複数の区画の各区画毎に対応して設けられた対応する区画内の地図を定義する区画地図データを含む地図データを記憶した地図データ記憶手段と、画像を描画する画像描画手段と、前記区画毎に生成された、当該区画の地図を表す画像を前記画像描画手段に対して規定するデータである表示区画地図データを格納する表示地図データ格納手段と、前記区画に対応して生成された対応する区画についての地図の描画に用いるデータである表示区画地図データを格納する表示地図データ格納手段と、地図を表示する地理的範囲である地図表示範囲に少なくとも一部が含まれる各区画について、当該区画についての前記表示区画地図データが前記表示地図データ格納手段に格納されていない場合に、前記地図データ記憶手段に記憶されている地図データに含まれる当該区画の区画地図データに基づいて、当該区画についての前記表示区画地図データを生成し、前記表示地図データ格納手段に格納する表示地図データ生成手段と備え、前記画像描画手段において、表示地図データ格納手段に格納された、前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データを用いて、前記地図表示範囲の地図の画像を、前記表示する地図の画像として描画するようにしたものである。
【0006】
ここで、より具体的には、このようなナビゲーション装置において、前記表示区画地図データは、対応する区画の地図を構成する各図形要素の描画を要求する描画コマンドを含むものであってよく、この場合、前記画像描画手段は、前記表示地図データ格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データに含まれる各描画コマンドが表す図形要素を、前記地図表示範囲の地図を構成する図形要素となるように座標変換して描画することにより前記地図表示範囲の地図の画像を、前記表示する地図の画像として描画するように構成する。
【0007】
または、このようなナビゲーション装置において、前記区画地図データは区画内の三次元地図を定義するものであり、前記表示区画地図データは、対応する区画の三次元地図を構成する図形要素の三次元形状データを含むものであってよい。そして、この場合には、前記画像描画手段は、前記表示地図データ格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データに含まれる三次元形状データの集合によって形成される仮想三次元世界の前記地図表示範囲に対応する領域を所定の視点を用いてレンダリングすることにより前記地図表示範囲の三次元表現の地図の画像を、前記表示する地図の画像として描画するように構成する。
【0008】
これらのようなナビゲーション装置によれば、過去に表示地図データ格納手段に格納した表示区画地図データが、今回表示しようとする地図に少なくとも一部が含まれる区画についてのものである場合には、この過去に表示地図データ格納手段に格納した表示区画地図データを流用して、今回表示する地図を描画し、この表示区画地図データを流用できる区画については表示区画地図データを生成しない。したがって、表示区画地図データの生成や表示地図データ格納手段への格納の処理の負荷を軽減することができるようになる。
【0009】
なお、前述のように前記区画地図データを区画内の三次元地図を定義したものとした場合、ナビゲーション装置に、現在位置を算定する現在位置算定手段と、算定した現在位置に対応する表示した地図上の位置に、現在位置を表す現在位置マークを表示する現在位置表示手段とを設け、前記画像描画手段において、三次元形状データが示す三次元オブジェクトの内、前記レンダリングに用いる視点に対して前記仮想三次元世界中の前記現在位置に対応する位置より手前に位置する三次元オブジェクトはレンダリングの対象から除外するようにしてもよい。
【0010】
このようにすることにより、過去に表示地図データ格納手段に格納した前記表示区画地図データを流用しつつ、常に、前記レンダリングに用いる視点に対して前記仮想三次元世界の現在位置より手前に位置する三次元オブジェクトをレンダリングしないようにして、ユーザが現在位置マークの視認を容易に行えるようにすることができる。
【0011】
なお、以上の各ナビゲーション装置は、前記表示地図データ生成手段において、前記生成した表示区画地図データを格納できるだけの空き容量が前記表示地図データ格納手段に存在しない場合に、当該表示地図データ格納手段に格納されている、所定の基準に従って選定した表示区画地図データを当該表示地図データ格納手段から消去するようにしてもよい。このようにすることにより、前記所定の基準を適当に設定すれば、表示地図データ格納手段の限られた記憶容量を用いて、効率よく表示区画地図データの生成や表示地図データ格納手段への格納の処理の負荷を軽減することができるようになる。
【0012】
また、以上の各ナビゲーション装置において、前記画像描画手段は、前記表示地図データ格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データに基づいた地図の画像の描画を、前記地図表示範囲外の領域については行わないようにすることが好ましい。
【0013】
このようにすることにより、画像描画手段の地図描画の処理負荷を軽減することができる。
また、前記課題達成のために、本発明は、地図データに基づいて地図を表示する地図表示方法として、地図を表示する地理的範囲に含まれる領域であって、表示する地図の画像の描画に用いるデータである表示地図データを格納するメモリに当該領域についての表示地図データが格納されていない領域を判定するステップと、判定した表示地図データが前記メモリに格納されていない領域についての前記表示地図データを生成し、前記メモリに格納するステップと、前記メモリに格納された前記表示地図データを用いて前記地図表示範囲の地図を描画し表示するステップとを備えた地図表示方法を提供する。
【0014】
このような地図表示方法によれば、過去にメモリに格納した表示地図データが、今回表示しようとする地図含まれる領域についてのものである場合には、この過去にメモリに格納した表示地図データを流用して、今回表示する地図を描画し、この表示地図データを流用できる領域については表示地図データを生成しない。したがって、表示地図データの生成やメモリへの格納の処理の負荷を軽減することができるようになる。
【発明の効果】
【0015】
以上のように、本発明によれば、ナビゲーション装置における地図表示の処理の負荷を軽減することができる。
【発明を実施するための最良の形態】
【0016】
以下、本発明の実施形態について説明する。
図1に、本実施形態に係るナビゲーションシステムの構成を示す。なお、本実施形態に係るナビゲーションシステムは、自動車に搭載されるものである。
図示するように、ナビゲーションシステムは、ナビゲーション装置1と、表示装置2と、車両状態センサ3と、GPS受信機4と、操作部5と、地図を表す地図データを記憶したDVDドライブやHDDなどの記憶装置である地図データ記憶部6とを備えて構成される。ここで、車両状態センサ3は、角加速度センサや地磁気センサなどである方位センサや、車速パルスセンサなどである車速センサなどの車両状態を検出するセンサ群である。
【0017】
そして、ナビゲーション装置1は、車両状態センサ3やGPS受信機4や操作部5や地図データ記憶部6とナビゲーション装置1との間の入出力を担うI/Oマネージャ11、表示装置2への表示出力を担う表示装置ドライバ12、ナビゲーション処理部13、ナビゲーション処理部13から要求された表示を表示装置ドライバ12を介して表示装置2に対して行うウインドウシステム14、VRAM15、VRAMマネージャ16を備えている。
【0018】
また、ウインドウシステム14は、ナビゲーション処理部13に2Dグラフィックスの描画及び表示機能を提供する2Dグラフィックエンジン141と、ナビゲーション処理部13に3Dグラフィックスの描画及び表示機能を提供する3Dグラフィックエンジン142とを備えている。また、VRAM15には、ナビゲーション装置1が、2Dグラフィックエンジン141や3Dグラフィックエンジン142を利用して描画しようとするグラフィックスのデータが格納される。そして、VRAMマネージャ16は、このようなVRAM15の管理制御を行うものである。
【0019】
なお、以上のナビゲーション装置1は、ハードウエア的には、マイクロプロセッサや、メモリや、その他のグラフィックプロセッサ等の周辺デバイスを有する一般的な構成を備えた電子計算機であって良く、この場合、以上に示したナビゲーション装置1の各部は、マイクロプロセッサが予め用意されたプログラムを実行することにより具現化するプロセスとして実現されるものであって良い。また、この場合、このようなプログラムは、記録媒体や適当な通信路を介して、ナビゲーション装置1に提供されるものであって良い。また、2Dグラフィックエンジン141や3Dグラフィックエンジン142は、グラフィックプロセッサの描画機能を用いて2Dグラフィックスや3Dグラフィックスを描画するものであってよい。
【0020】
次に、図2に地図データ記憶部6に記憶される地図データの内容を示す。
図示するように、地図データは、地図データの製作日時などを記述した管理データ、地図を表す地図基本データ、リソースデータとを含んで構成される。
そして、地図基本データは、区画毎に対応して設けた区画データと、各区画の地理的範囲と区画データの対応や、各区画と区画の識別子となる区画番号の対応などを記述した区画管理データを含む。
そして、各区画データは、対応する区画内の二次元の地図を表す2D地図ユニットと、対応する区画内の三次元の地図を表す3D地図ユニットと、対応する区画内の二次元または三次元の地図上に配置する地名や路線名称などのテキストを表すテキストユニットと、対応する区画内の二次元または三次元の地図上に配置するアイコンを表すアイコンユニットとを含んでいる。なお、ここで言うアイコンは、予め選定した、ユーザが興味を持つであろう地点(POI)の位置と種別を地図上で表すものであり、個々のアイコンとしては、そのアイコンが表す地点の種別を表す図形を用いる。
【0021】
次に、地図データのリソースデータは、各区画についての、区画データに従った地図描画に共通して用いられる色データや図形データなどの情報資源が格納されている。
さて、このような構成において、ナビゲーション処理部13は、I/Oマネージャ11を介して取得した車両状態センサ3やGPS受信機4の出力と、地図データ記憶部6から読み出した地図データの地図基本データが地図を用いて、マップマッチング処理などにより、現在位置として最も確からしい座標と、現在の進行方向として最も確からしい方向とを、それぞれ現在位置、現在進行方位として算定する処理を繰り返し行う。また、ナビゲーション処理部13は、I/Oマネージャ11を介して操作部5からユーザの目的地設定操作が入力されたならば、操作に従って目的地の設定を受け付け、算定した現在位置から目的地までの、最小コストの経路を、距離最小などの所定のコストモデルに基づいて推奨ルートとして、地図データ記憶部6から読み出した地図基本データに基づいて算出し、算出した推奨ルートを設定した目的地と共に保持する。
【0022】
また、ナビゲーション処理部13は、ウインドウシステム14の2Dグラフィックエンジン141や3Dグラフィックエンジン142を利用して、案内画像を表示装置2に表示する処理を行う。
ここで、ナビゲーション装置1は、ユーザが選択的に設定可能な、三次元地図表示モードと二次元地図表示モードとの二つの表示モードを有する。
そして、ナビゲーション処理部13は、二次元地図表示モードが設定されている場合には、2Dグラフィックエンジン141を利用して、図3aに示すように、二次元地図を表す2D地図画像301上に、二次元地図上で地名などを表すテキスト302や、前述したPOIを二次元地図上で表すアイコン303や、二次元地図上で算定した現在位置を表す現在位置図形304などを表した案内画像300を表示する。また、2D地図画像301として表す二次元地図の地理的範囲である地図表示範囲に含まれる推奨ルートを保持している場合には、案内画像300を、2D地図画像301上に、保持している推奨ルートの現在位置より目的地側の部分を二次元地図上で表す推奨ルート図形305を、さらに表したものとする。また、同様に、地図表示範囲に含まれる目的地を保持している場合には、案内画像300を、2D地図画像301上に、保持している目的地を二次元地図上で表す目的地図形を、さらに表したものとする。
【0023】
ここで、2D地図画像301として表す二次元地図の地理的範囲である地図表示範囲は、基準位置と、表示方位と、表示縮尺に従って、基準位置周辺の、決定した表示方位と決定した表示縮尺とに応じて定まる所定の大きさの地理的範囲として定まる。ナビゲーション処理部13は、通常は、現在位置を基準位置とし、算定した現在進行方位を表示方位とし、予め成されたユーザ設定や初期設定に応じて定まる縮尺を表示縮尺として設定する。一方、ユーザの地図スクロール操作に応じたスクロール表示を行っている最中は、ユーザ操作により定まる位置を基準位置とし、ユーザによって選定された方位を表示方位とし、予め成されたユーザ設定や初期設定に応じて定まる縮尺を表示縮尺として設定する。
【0024】
次に、ナビゲーション処理部13は、三次元地図表示モードが設定されている場合には、3Dグラフィックエンジン142を利用して、図3bに示すように、三次元表現の地図を表す3D地図画像311上に、三次元表現の地図上で地名などを表すテキスト312や、前述したPOIを三次元表現の地図上で表すアイコン313や、三次元表現の地図上で算定した現在位置を表す現在位置図形314などを表した案内画像310を表示する。また、3D地図画像31として表す三次元表現の地図の地理的範囲である地図表示範囲に含まれる推奨ルートを保持している場合には、案内画像310を、3D地図画像311上に、保持している推奨ルートの現在位置より目的地側の部分を三次元表現の地図上で表す推奨ルート図形315を、さらに表したものとする。また、同様に、地図表示範囲に含まれる目的地を保持している場合には、案内画像310を、3D地図画像311上に、保持している目的地を三次元表現の地図上で表す目的地図形を、さらに表したものとする。
【0025】
ここで、3D地図画像311として表す三次元地図の地理的範囲である地図表示範囲は、設定した視点位置と視線方向と視野角とに従って、地上上空に設定した視点位置から設定した視線方向に設定した視野角で、地上を観測した場合に観測される範囲として決定する。ナビゲーション処理部13は、通常は、算定した現在位置から算定した現在進行方位と逆方向に前述した表示縮尺に応じた距離進んだ位置から、上方に前述した表示縮尺に応じた距離昇った位置を視点位置とし、当該視点位置から、算定した現在位置から算定した現在進行方位方向に前述した表示縮尺に応じた距離進んだ位置に向かう方向を視線方向とし、視線方向と垂直な2方向について予め定めた角度を視野角とする。なお、この視線方向と垂直な2方向は、現在位置と視点位置と現在位置から算定した現在進行方位の方向に任意距離進んだ位置との3つの位置を含む面に垂直な方向と、当該面内の視線方向と垂直な方向とする。また、ナビゲーション処理部13は、ユーザの地図スクロール操作に応じたスクロール表示を行っている最中は、ユーザ操作に応じて、視点位置と視線方向と視野角を設定する。
【0026】
さて、ナビゲーション処理部13は、VRAM15にディスプレイリスト(DL)を書き込み、書き込んだDLの描画を要求するシステムコールを、2Dグラフィックエンジン141や3Dグラフィックエンジン142に発行することにより、以上のような案内画像を表示装置2に表示する。
【0027】
ここで、ナビゲーション処理部13が二次元地図表示モードが設定されている場合にVRAM15に書き込むDLには、図3aの案内画像300中に配置するテキスト302を規定するテキスト描画用のDLと、図3aの案内画像300中に配置するアイコン303を規定するアイコン描画用のDLと、図3aの案内画像300中に配置する現在位置図形304や推奨ルート図形305や目的地図形を規定する案内図形描画用のDLと、図3aの案内画像300中に描画する2D地図画像301の地図表示範囲に少なくとも一部が含まれる区画の各々に対応して書き込まれる、対応する区画の二次元の区画地図を規定する2D地図画像描画用のDLがある。
【0028】
また、ナビゲーション処理部13が三次元地図表示モードが設定されている場合にVRAM15に書き込むDLには、図3bの案内画像310中に配置するテキスト312を規定するテキスト描画用のDLと、図3bの案内画像310中に配置するアイコン313を規定するアイコン描画用のDLと、図3bの案内画像310中に配置する現在位置図形314や推奨ルート図形315や目的地図形を規定する案内図形描画用のDLと、図3bの案内画像310中に描画する3D地図画像311の地図表示範囲に少なくとも一部が含まれる区画の各々に対応して書き込まれる、対応する区画の三次元の区画地図を規定する3D地図画像描画用のDLがある。
【0029】
なお、ナビゲーション処理部13は、各表示モードにおけるテキスト描画用のDLと各表示モードにおけるアイコン描画用のDLと2D地図画像描画用のDLと3D地図画像描画用のDLについては、当該DLを、区画毎に作成しVRAM15に書き込む。
さて、図4aに示すようにVRAM15の記憶空間は、所定容量の複数のブロックに分割されており、各ブロックには、ブロック番号BL#が割り振られている。
また、図4bに示すように、VRAM15の記憶空間は、複数のブロックよりなるワンユースDL領域と、複数のブロックよりなるリーユーザブルDL領域とに分割されており、テキスト描画用のDLとアイコン描画用のDLと案内図形描画用のDLは、ナビゲーション処理部13によってワンユースDL領域に書き込まれ、2D地図画像描画用のDLと3D地図画像描画用のDLは、ナビゲーション処理部13によってリーユーザブルDL領域に書き込まれる。
【0030】
ここで、各DLの書き込みは、VRAMマネージャ16によって制御される。
すなわち、VRAMマネージャ16は、DLの書き込みをナビゲーション処理部13から要求されると、書き込みを要求されたDLのデータ容量分の空きブロックを集めた領域を当該DLの領域に割当て、割り当てた領域に書き込みを要求されたDLを書き込む。なお、書き込みを要求されたDLがテキスト描画用のDLとアイコン描画用のDLと案内図形描画用のDLとのいずれかである場合には、書き込みを要求されたDLのデータ容量分の、ワンユースDL領域の空きブロックを集めた領域を当該DLの領域に割当てる。また、書き込みを要求されたDLが2D地図画像または3D地図画像描画用のDLである場合には、書き込みを要求されたDLのデータ容量分の、リユーザブルDL領域の空きブロックを集めた領域を当該DLの領域に割当てる。なお、一つのDLの領域に割当てる複数の空きブロックは、VRAM15中において連続していない複数のブロックであってもよい。また、空きブロックとは、いずれのDLの領域にも割当てられていないブロックである。
【0031】
また、VRAMマネージャ16は、各DLの領域を管理するために、図5aに示すVRAMマッピングテーブルを保持する。
図示するように、VRAMマッピングテーブルは、VRAM15に保持されているDL毎のエントリを有し、各エントリにはDLの識別子であるDL番号と、当該DLの領域として割当てられたブロックのブロック番号の一覧である割当ブロックが記述される。
一方、ナビゲーション処理部13も、VRAM15に書き込んだDLを管理するためのDL管理テーブルを保持している。
そして、DL管理テーブルは、ナビゲーション処理部13がVRAM15に書き込みかつVRAM15から消去していないDL毎のエントリを有し、各エントリにはDLの識別子であるDL番号と、テキスト描画用のDL/アイコン描画用のDL/案内図形描画用のDL/2D地図画像のDL/3D地図画像描画用のDLのいずれかとなるDLの種別を表すDL種別と、DLに対応する区画の区画番号を表す対応区画番号と、DLのバイト数を表すデータ容量と、DLを最後に使用した日時を表す最終使用日時が記述される。なお、区画番号は、当該DLが案内図形描画用のDLでない場合にのみ記述される。また、最終使用日時に記述されるDLを最後に使用した日時は、そのDLの描画を要求するシステムコールを最後に発行した日時である。
【0032】
ここで、2D地図画像描画用のDLを用いた図3aに示す2D地図画像の描画手順の概要を説明する。
まず、図6aに示すように2D地図画像描画用のDLは、描画属性データと表示二次元地図描画コマンド群より構成される。また、描画属性データには、要と否のいずれかの値をとる表示範囲外描画要否を含む。
次に、この2D地図画像描画用のDLの描画を要求するシステムコールは、図6bに示すように、2D地図画像描画用のDLの描画を要求するオペコードである2D地図描画用DL描画命令の他、オペランドとして、描画する2D地図描画用DLのDL番号の一覧である描画DL番号リストと、描画画像表示範囲と、縮尺と、回転角と、オフセット座標リストとを含む。
【0033】
そして、いま、図7aに示すように、A、B、C、Dの区画があり、図示するように地図表示範囲701が算定された場合、ナビゲーション処理部13は、地図表示範囲701に少なくとも一部が含まれる区画Bと区画Dについての区画データの2D地図ユニットを地図データ記憶部6より読み出し、区画Bの2D地図画像描画用のDLであるDL-Bと、区画Dの2D地図画像描画用のDLであるDL-Dを生成し、VRAM15に書き込む。
【0034】
ここで、この区画Bの2D地図画像描画用のDL-Bの描画属性データの表示範囲外描画要否には否を設定する。また、DL-Bの表示二次元地図描画コマンドには、区画Bの区画データの2D地図ユニットと、ユーザの表示設定とに基づいて定まる、図7bに示すような区画Bの二次元地図を構成する各図形要素の描画を要求する、2Dグラフィックエンジン141が解釈可能な形式の描画コマンド群を含める。
【0035】
また、同様に、区画Dの2D地図画像描画用のDL-Dの描画属性データの表示範囲外描画要否には否を設定する。また、DL-Dの表示二次元地図描画コマンドには、区画Dの区画データの2D地図ユニットと、ユーザの表示設定とに基づいて定まる、図7cに示すような区画Dの二次元地図を構成する各図形要素の描画を要求する、2Dグラフィックエンジン141が解釈可能な形式の描画コマンド群を含める。
【0036】
ここで、表示する二次元地図を定めるユーザの表示設定としては、たとえば、表示する二次元地図の各構成図形要素の色や模様の設定などがある。
また、DL-Bの表示二次元地図描画コマンドによって規定される区画Bの二次元地図と、DL-Dの表示二次元地図描画コマンドによって規定される区画Dの二次元地図は、それぞれ、DL毎に独立した座標空間MX-MY上に規定される。また、DL-Bの表示二次元地図描画コマンドによって規定される区画Bの二次元地図と、DL-Dの表示二次元地図描画コマンドによって規定される区画Dの二次元地図とが、同じ方位を上とする同じ縮尺の二次元地図となるように、DL-Bの表示二次元地図描画コマンドと、DL-Dの表示二次元地図描画コマンドは、それぞれ生成される。
【0037】
次に、VRAM15に、DL-BとDL-Dを保持させたならば、ナビゲーション処理部13は、図6bに示した2D地図画像描画用のDLの描画を要求するシステムコールを生成し2Dグラフィックエンジン141に発行する。ここで、このシステムコールのオペランドの描画DL番号リストには、DL-BのDL番号とDL-DのDL番号を含める。
【0038】
また、システムコールのオペランドの縮尺と、回転角と、オフセット座標リストには、図7dに示すように、描画画像座標空間DX-DY上に、前述した表示方位を上として、前述した表示縮尺で、図7bに示したDL-Bで規定される区画Bの二次元地図と図7cに示したDL-Dで規定される区画Dの二次元地図を、両区画の位置関係に従って配置するための座標変換マトリックスを定める拡大変換量、回転変換量、移動変換量を記述する。なお、本例では、DL-Bの表示二次元地図描画コマンドによって規定される区画Bの二次元地図と、DL-Dの表示二次元地図描画コマンドによって規定される区画Dの二次元地図は同じ方位を上とする同じ縮尺の二次元地図となるようにしているので、拡大変換量と回転変換量は、DL-BとDL-Dとで共通となり、移動変換量のみがDL-BとDL-Dとで異なる値となり、この異なる値をとる移動変換量の一覧がオフセット座標リストとして記述される。
【0039】
また、システムコールの描画画像表示範囲711には、図7dに示すように区画Bの二次元地図と区画Dの二次元地図を配置して生成した、描画画像座標空間DX-DY上の描画画像のうちの、表示装置2に表示する範囲を記述する。ここで、この描画画像表示範囲711は、当該描画画像表示範囲711に描画される二次元地図に対応する地理的範囲が前述した地図表示範囲に一致するように設定する。
【0040】
次に、このようなシステムコールを受け取った2Dグラフィックエンジン141は、システムコールのオペランドの縮尺と、回転角と、オフセット座標リストに従って、描画画像座標空間DX-DY上に、描画DL番号リストで指定されたDL-BとDL-Dの表示二次元地図描画コマンドに含まれる描画コマンドで描画を要求された図形を、システムコールのオペランドの縮尺と、回転角と、オフセット座標リストに従って座標変換しながら描画して図7dに示す描画画像を生成し、描画した描画画像のうちの、システムコールのオペランドで指定された描画画像表示範囲711内の2D地図画像を図3aに示す2D地図画像301とする。なお、前述の通り、描画画像表示範囲711は、描画画像表示範囲に描画される二次元地図に対応する地理的範囲が前述した地図表示範囲に一致するようにナビゲーション処理部13によって設定されている。
【0041】
さて、ここで、2Dグラフィックエンジン141は、2D地図画像描画用のDLの描画属性データの表示範囲外描画要否に否が設定されている場合には、描画画像座標空間DX-DY上の描画画像表示範囲711外への、描画コマンドに従った図形の描画は、これを行わない。このようにすることにより、2Dグラフィックエンジン141の描画処理の負荷を軽減することができる。
【0042】
以上、2D地図画像描画用のDLを用いた図3aに示す2D地図画像301の描画手順の概要を説明した。
次に、3D地図画像描画用のDLを用いた図3bに示す3D地図画像311の描画手順の概要を説明する。
まず、図6cに示すように3D地図画像描画用のDLは、描画属性データと表示三次元地図データより構成される。また、描画属性データには、要と否のいずれかの値をとる表示範囲外描画要否と、要と否のいずれかの値をとる現在位置手前オブジェクト描画要否を含む。
【0043】
次に、この3D地図画像描画用のDLの描画を要求するシステムコールは、図6dに示すように、3D地図画像描画用のDLの描画を要求するオペコードである3D地図描画用DL描画命令の他、オペランドとして、描画する3D地図描画用DLのDL番号の一覧である描画DL番号リストと、描画視点位置と描画視野角と描画視線方向と、オフセット座標リストと、現在位置対応座標とを含む。
【0044】
そして、いま、図8aに示すように、A、B、C、Dの区画があり、図示するように地図表示範囲801が算定された場合、ナビゲーション処理部13は、地図表示範囲801に少なくとも一部が含まれる区画Bと区画Dについての区画データの3D地図ユニットを地図データ記憶部6より読み出し、区画Bの3D地図画像描画用のDLであるDL-Bと、区画Dの3D地図画像描画用のDLであるDL-Dを生成し、VRAM15に書き込む。
【0045】
ここで、この区画Bの3D地図画像描画用のDL-Bの描画属性データの表示範囲外描画要否と、現在位置手前オブジェクト描画要否とには共に否を設定する。また、DL-Bの表示三次元地図データには、区画Bの区画データの3D地図ユニットと、ユーザの表示設定とに基づいて定まる、図8bに示すような区画Bの三次元地図を表す三次元モデルのデータを含める。なお、この三次元モデルのデータは、3D地図ユニットそのままの形式データではなく、3Dグラフィックエンジン142が解釈可能な形式のデータである。
【0046】
また、同様に、区画Dの3D地図画像描画用のDL-Dの描画属性データの表示範囲外描画要否と、現在位置手前オブジェクト描画要否とには共に否を設定する。また、DL-Dの表示三次元地図データには、区画Dの区画データの3D地図ユニットと、ユーザの表示設定とに基づいて定まる、図8cに示すような区画Cの三次元地図を表す三次元モデルのデータを含める。
【0047】
ここで、表示する三次元地図を定めるユーザの表示設定としては、たとえば、表示する三次元地図の各構成要素の色や模様の設定や、表示する三次元オブジェクトの種類の設定(たとえば、4階以下のビルを表す三次元オブジェクトは表示しないなどの設定)などがある。
【0048】
また、DL-Bの表示三次元地図データによって規定される区画Bの三次元モデルが表す三次元地図と、DL-Dの表示三次元地データによって規定される区画Dの三次元モデルが表す三次元地図は、それぞれ、DL毎に独立した座標空間MX-MY-MZ上に規定される。また、DL-Bの表示三次元地図データによって規定される区画Bの三次元モデルが表す三次元地図と、DL-Dの表示三次元地図データによって規定される区画Dの三次元モデルが表す三次元地図とが、MX方向とMY方向が同じ方位となる、同じ縮尺の三次元地図となるように、DL-Bの表示三次元地図データと、DL-Dの表示三次元地図データは、それぞれ生成される。
【0049】
次に、VRAM15に、DL-BとDL-Dを保持させたならば、ナビゲーション処理部13は、図6dに示した3D地図画像描画用のDLの描画を要求するシステムコールを生成し3Dグラフィックエンジン142に発行する。ここで、このシステムコールのオペランドの描画DL番号リストには、DL-BのDL番号とDL-DのDL番号を含める。
【0050】
また、システムコールのオペランドのオフセット座標リストには、描画対象座標空間TX-TY-TZ上に、図8bに示したDL-Bで規定される区画Bの三次元地図を表す三次元モデルと図8cに示したDL-Dで規定される区画Dの三次元地図を表す三次元モデルとを両区画の位置関係に従って、図8dに示すように配置するための移動変換量を記述する。
【0051】
また、システムコールのオペランドの描画視点位置と描画視野角と描画視線方向には、描画対象座標空間TX-TY-TZ上の描画視点位置と描画視線方向と描画視野角を記述する。この描画視点位置と描画視線方向と描画視野角は、前述した視点位置、視線方向と地理的座標との関係を、図8dに示すように配置した三次元モデルが表す区画B、Dの三次元地図との間で満たすように設定する。
【0052】
また、システムコールのオペランドの現在位置対応座標には、算定されている現在位置に対応する、描画対象座標空間TX-TY-TZ上の位置(図8dに示すように配置した三次元モデルが表す三次元地図上の現在位置に相当する座標)を記述する。
次に、このようなシステムコールを受け取った3Dグラフィックエンジン142は、システムコールのオペランドのオフセット座標リストに従って、図8dに示すように、描画対象座標空間TX-TY-TZ上に、描画DL番号リストで指定されたDL-BとDL-Dの表示三次元地図データが表す三次元モデルを配置する。そして、システムコールのオペランドの描画視点位置と描画視線方向と描画視野角を用いて、描画視点位置811から描画視線方向に描画視野角で、図8dに示すように配置した三次元モデルが表す区画B、Dの三次元地図を観測した場合に観測される二次元画像を描画(レンダリング)し、その上部に空を模擬する空画像を配置して図3bに示す3D地図画像311とする。
【0053】
さて、ここで、3Dグラフィックエンジン142は、3D地図画像描画用のDL-Bの描画属性データの表示範囲外描画要否に否が設定されている場合には、描画視点位置と描画視線方向と描画視野角より定まる、3D地図画像311として描画する描画対象座標空間TX-TY-TZの範囲812の範囲外に配置される三次元オブジェクトなどの各種オブジェクトについての処理は行わない。このようにすることにより、3Dグラフィックエンジン142の描画処理の負荷を軽減することができる。また、現在位置手前オブジェクト描画要否に否が設定されている場合には、システムコールのオペランドの現在位置対応座標より、描画視点位置811に対して手前にある三次元オブジェクトの描画処理は行わない。このようにすることにより、以上の手順によって3D地図画像311を描画しても、常に、案内画像310中に表示される現在位置図形314の良好な視認性を確保することができるようになる。
【0054】
以上、3D地図画像描画用のDLを用いた図3bに示す3D地図画像311の描画手順の概要を説明した。
さて、ナビゲーション処理部13は、二次元地図表示モードが設定されている場合には、2D案内画像描画処理を行って図3aに示した案内画像300を表示し、三次元地図表示モードが設定されている場合には、3D案内画像描画処理を行って図3bに示した案内画像310を表示する。
【0055】
また、図6a、図6b、図7を用いて概要を説明した2D地図画像描画用のDLを用いた図3aに示す2D地図画像301の描画手順は、この2D案内画像描画処理の実行中にナビゲーション処理部13と2Dグラフィックエンジン141において実施されるものであり、図6c、図6d、図8を用いて概要を説明した3D地図画像描画用のDLを用いた図3bに示す3D地図画像311の描画手順は、この3D案内画像描画処理の実行中にナビゲーション処理部13と3Dグラフィックエンジン142において実施されるものである。
【0056】
それでは、まず、図3aに示した案内画像300を表示するために行う2D案内画像描画処理について説明する。
図9に、この2D案内画像描画処理の手順を示す。
図示するように、この処理では、まず、案内画像300の表示の更新時間間隔(リフレッシュレート)を定めるタイマを設定する(ステップ902)。そして、前述のように設定される地図表示範囲内に少なくとも一部が含まれる区画を算定する(ステップ904)。
次に、VRAM15のワンユースDL領域のテキスト描画用のDLとアイコン描画用のDLと案内図形描画用のDLの全ての消去を、VRAMマネージャ16に要求する(ステップ906)。VRAMマネージャ16は、ワンユースDL領域のテキスト描画用のDLとアイコン描画用のDLと案内図形描画用のDLの全てを消去し、VRAMマッピングテーブルの消去したDLのエントリを消去し、当該DLのDL領域に割り当てていたブロックを解放する。また、ナビゲーション処理部13も、DL管理テーブルの消去したDLのエントリを消去する。
【0057】
次に、ナビゲーション処理部13は、算定している現在位置と現在進行方位と推奨ルートと目的地と、地図表示範囲と地図表示方位と地図表示縮尺とに応じて、案内画像300に含める現在位置図形304や推奨ルート図形305や目的地図形を描画するための案内図形描画用のDLを生成し、生成した案内図形描画用のDLのVRAM15への書き込みを、VRAMマネージャ16に要求する(ステップ906)。
【0058】
そして、ナビゲーション処理部13は、次に、DL管理テーブルを参照して、ステップ904で算定した区画の内、VRAM15に既に、その区画についての2D地図描画用のDLが格納されている区画をリユース区画に設定する(ステップ910)。ある区画についての2D地図描画用DLがVRAM15に格納されているかどうかの判定は、DL管理テーブルに、その区画の区画番号が対応区画番号として登録され、DL種別として2D地図描画用が登録されているエントリが存在している場合に、その区画についての2D地図描画用DLがVRAM15に格納されていると判定することにより行う。
【0059】
次にナビゲーション処理部13は、各リユース区画の区画データのテキストユニットと、地図表示範囲と地図表示方位と地図表示縮尺とに応じて、案内画像に含めるテキスト302を描画するためのテキスト描画用のDLを生成し、生成したテキスト描画用のDLのVRAM15への書き込みを、VRAMマネージャ16に要求する(ステップ912)。また、各リユース区画の区画データのアイコンユニットと、地図表示範囲と地図表示方位と地図表示縮尺とに応じて、案内画像に含めるアイコン303を描画するためのアイコン描画用のDLを生成し、生成したアイコン描画用のDLのVRAM15への書き込みを、VRAMマネージャ16に要求する(ステップ914)。
【0060】
ここで、VRAMマネージャ16は、案内図形描画用のDLやテキスト描画用のDLやアイコン描画用のDLの書き込みを要求されると、書き込みを要求されたDLのDL領域をワンユースDL領域中に確保し、確保したDL領域に当該DLを書き込むと共に、書き込んだDLのエントリをVRAMマッピングテーブルに作成し、書き込んだDLのDL番号と、書き込んだDLのDL領域に割り当てたブロックのブロック番号とを作成したエントリに登録する。また、ナビゲーション処理部13も、書き込んだDLのエントリをDL管理テーブルに作成し、作成したエントリに、書き込んだDLのDL番号と、DLの種別と、書き込んだDLに対応する区画の区画番号と、書き込んだ案内図形描画用のDLのデータ容量とを、それぞれDL番号、DL種別、対応区画番号、データ容量として登録する。
【0061】
次に、ナビゲーション処理部13は、ステップ904で算定した区画の内のリユース区画に設定した区画以外の区画を通常描画区画に設定する(ステップ916)。
そして、各通常描画区画について(ステップ918、928、940)、以下の処理を行う。
すなわち、まず、その区画の区画データのテキストユニットと、地図表示範囲と地図表示方位と地図表示縮尺とに応じて、案内画像に含めるテキスト302を描画するためのテキスト描画用のDLを生成し、生成したテキスト描画用のDLのVRAM15への書き込みを、VRAMマネージャ16に要求する(ステップ920)。また、その区画の区画データのアイコンユニットと、地図表示範囲と地図表示方位と地図表示縮尺とに応じて、案内画像に含めるアイコン303を描画するためのアイコン描画用のDLを生成し、生成したアイコン描画用のDLのVRAM15への書き込みを、VRAMマネージャ16に要求する(ステップ922)。
【0062】
そして、次に、その区画の2D描画用DLを前述の様に生成し、生成した2D地図画像描画用のDLの書き込みを、VRAMマネージャ16に要求する(ステップ924)。
ここで、VRAMマネージャ16は、2D地図画像描画用のDLの書き込みを要求されると、書き込みを要求されたDLのDL領域をリユーザブルDL領域中に確保し、DL領域を確保できたならば、確保したDL領域に当該DLを書き込むと共に、書き込んだDLのエントリをVRAMマッピングテーブルに作成し、書き込んだDLのDL番号と、書き込んだDLのDL領域に割り当てたブロックのブロック番号とを作成したエントリに登録し、書き込み成功をナビゲーション処理部13に応答する。また、書き込み成功を応答された場合、ナビゲーション処理部13は、書き込んだDLのエントリをDL管理テーブルに作成し、作成したエントリに、書き込んだDLのDL番号と、DLの種別と、書き込んだDLに対応する区画の区画番号と、書き込んだ案内図形描画用のDLのデータ容量とを、それぞれDL番号、DL種別、対応区画番号、データ容量として登録する。一方、VRAMマネージャ16は、空きブロック不足のために、書き込みを要求されたDLのDL領域をリユーザブルDL領域中に確保できなかった場合には、空き領域不足をナビゲーション処理部13に応答する。
【0063】
さて、ナビゲーション処理部13は、2D地図画像描画用のDLの書き込み成功が応答された場合には(ステップ926)、その通常区画についての処理を終了する。
一方、2D地図画像描画用のDLの書き込み要求に対して、空き領域不足が応答された場合には(ステップ926)、DL管理テーブルに登録されているDL種別が2D地図画像描画用のエントリのうちの、最終使用日時が最古のエントリのDL番号が示すDLの消去をVRAMマネージャ16に要求し(ステップ938)、ステップ924からの処理に戻る。ただし、ここでは、DL管理テーブルに登録されているDL種別が2D地図画像描画用のエントリのうちの、書き込み要求を発行したDLのデータ容量以上のデータ容量が登録されているエントリのうちで最終使用日時が最古のエントリのDL番号が示すDLの消去をVRAMマネージャ16に要求するようにしてもよい。
【0064】
ここで、2D地図画像描画用のDLの消去を要求されたVRAMマネージャ16は、VRAM15のリユーザブル領域から消去を要求された2D地図画像描画用のDLを消去すると共に、VRAMマッピングテーブルの消去したDLのエントリを消去し、当該DLのDL領域に割り当てていたブロックを解放して空きブロックを生成する。また、ナビゲーション処理部13も、DL管理テーブルの消去した2D地図画像描画用のDLのエントリを消去する。
【0065】
次に、全ての通常区画について以上のステップ924、926、938の処理を終了したならば、ステップ904で算定した各区画の2D地図画像描画用のDLの描画を要求するシステムコールを前述のように生成し、2Dグラフィックエンジン141に発行する(ステップ930)。ここで、ステップ904で算定した各区画の2D地図画像描画用のDLは、DL管理テーブルのDL種別が2D地図画像描画用のエントリであって、ステップ904で算定した区画の区画番号が対応区画番号として登録されているエントリに記述されたDL番号のDLとして求まる。
【0066】
次に、同様に、ステップ904で算定した各区画のテキスト描画用のDLの描画を要求するシステムコールとアイコン描画用のDLの描画を要求するシステムコールを2Dグラフィックエンジン141に発行する(ステップ932)。また、ステップ908でVRAM15に書き込んだ案内図形描画用のDLの描画を要求するシステムコールを2Dグラフィックエンジン141に発行する(ステップ934)。
【0067】
ここで、ナビゲーション処理部13は、以上のようにシステムコールでDLの描画を要求した場合には、描画を要求したDLのDL番号が登録されているDL管理テーブルのエントリに、最終使用日時として現在日時を登録する。
さて、ナビゲーション処理部13は、以上のように各DLの描画を要求するシステムコールを2Dグラフィックエンジン141に発行したならば、タイマのタイムアウトを待って、ステップ902からの処理を繰り返す。
以上、2D案内画像描画処理について説明した。
以上のように、この2D案内画像描画処理によれば、過去にVRAM15に書き込んだ2D地図画像描画用のDLが、今回表示しようとする案内画像300の2D地図画像301の描画に用いることのできるものである場合には、この過去にVRAM15に書き込んだ2D地図画像描画用のDLを流用して、2D地図画像301を描画する。したがって、ナビゲーション処理部13の、2D地図画像描画用のDLの生成の負荷を軽減することができるようになる。
【0068】
たとえば、この2D案内画像描画処理では、図7aに示すように区画Bと区画Dに跨って設定された地図表示範囲701に基づいて、図7b、cに示すような二次元地図を表す区画Bの2D地図画像描画用のDLであるDL-Bと区画Dの2D地図画像描画用のDLであるDL-Dを生成しVRAM15に書き込んで、システムコールを発行し、図7aに示す地図表示範囲701に対応する図7dの描画画像表示範囲711の画像を2D地図画像301として生成し、案内画像300に含めて表示した後、図10aに示すように、区画Aと区画Bの一部を含む地図表示範囲1001が設定された場合、ナビゲーション処理部13は、次のようにして、地図表示範囲1001の二次元地図を表す地図画像301を描画させる。
【0069】
すなわち、ナビゲーション処理部13は、地図表示範囲1001に一部が含まれる区画Aと区画Bとのうち、対応する2D地図画像描画用のDLがVRAM15に保持されていない区画Aについてのみ、図10bに示すような二次元地図を表す区画Aの2D地図画像描画用のDLであるDL-Aを生成しVRAM15に書き込む。そして、既にVRAM15に保持されている図10cに示すような二次元地図を表す区画Bの2D地図画像描画用のDLであるDL-Bと、書き込んだDL-Aとの描画を要求するシステムコールを発行し、2Dグラフィックエンジン141に、図10aに示す地図表示範囲1001に対応する図10dの描画画像表示範囲1011の画像を2D地図画像301として描画させる。この結果、この場合には、今回の2D地図画像301の生成のために、地図表示範囲1001に一部が含まれる区画Aと区画Bとのうちの区画Bについての2D地図画像描画用のDLの生成及びVRAM15への書き込みは行う必要がなくなる。
【0070】
次に、3D案内画像描画処理について説明する。
3D案内画像描画処理は、2D地図画像描画用のDLに代えて3D地図画像描画用のDLを対象として処理を行う点を除き図9に示した2D案内画像描画処理と同様の処理となる。なお、3D案内画像描画処理では、システムコールは2Dグラフィックエンジン141に代えて、3Dグラフィックエンジン142に対して発行されることになる。
【0071】
このような3D案内画像描画処理によれば、2D案内画像描画処理と同様に過去にVRAM15に書き込んだ3D地図画像描画用のDLが、今回表示しようとする案内画像310の3D地図画像311の描画に用いることのできるものである場合には、この過去にVRAM15に書き込んだ3D地図画像描画用のDLを流用して、3D地図画像311を描画する。したがって、ナビゲーション処理部13の、3D地図画像描画用のDLの生成の負荷を軽減することができるようになる。
【0072】
たとえば、この3D案内画像描画処理では、図8aに示すように区画Bと区画Dに跨って設定された地図表示範囲801に基づいて、図8b、cに示すような三次元地図を表す区画Bの3D地図画像描画用のDLであるDL-Bと区画Dの3D地図画像描画用のDLであるDL-Dを生成しVRAM15に書き込んで、システムコールを発行し、図8dの描画視点位置811から描画視線方向に描画視野角で観察した、図8aに示す地図表示範囲801に対応する範囲812の画像を3D地図画像311として生成し、案内画像310に含めて表示した後、図11aに示すように、区画Aと区画Bの一部を含むように地図表示範囲1101が設定された場合、ナビゲーション処理部13は、次のようにして、地図表示範囲1101の三次元地図を表す地図画像301を描画させる。
【0073】
すなわち、ナビゲーション処理部13は、地図表示範囲1101に一部が含まれる区画Aと区画Bとのうち、対応する3D地図画像描画用のDLがVRAM15に保持されていない区画Aについてのみ、図11bに示すような三次元地図を表す区画Aの3D地図画像描画用のDLであるDL-Aを生成しVRAM15に書き込む。そして、既にVRAM15に保持されている図11dに示すような三次元地図を表す区画Bの3D地図画像描画用のDLであるDL-Bと、書き込んだDL-Aとの描画を要求するシステムコールを発行し、3Dグラフィックエンジン142に、図11dの描画視点位置1111から描画視線方向に描画視野角で観察して得られる、図11aに示す地図表示範囲1101に対応する図11dの範囲1112の画像を3D地図画像311として描画させる。この結果、この場合には、今回の3D地図画像311の描画のために、地図表示範囲1111に一部が含まれる区画Aと区画Bとのうちの区画Bについての3D地図画像描画用のDLの生成及びVRAM15への書き込みは行う必要がなくなる。
【0074】
以上、本発明の実施形態について説明した。
【図面の簡単な説明】
【0075】
【図1】本発明の実施形態に係るナビゲーションシステムの構成を示すブロック図である。
【図2】本発明の実施形態に係るナビゲーションシステムが備える地図データを示す図である。
【図3】本発明の実施形態に係るナビゲーションシステムの表示画面例を示す図である。
【図4】本発明の実施形態に係るナビゲーションシステムが備えるVRAMの構造を示す図である。
【図5】本発明の実施形態に係るナビゲーションシステムが備えるVRAMマッピングテーブルとDL管理テーブルを示す図である。
【図6】本発明の実施形態に係るナビゲーションシステムで案内画像の表示のために用いるディスプレイリストとシステムコールを示す図である。
【図7】本発明の実施形態に係るナビゲーションシステムの2D地図画像の生成例を示す図である。
【図8】本発明の実施形態に係るナビゲーションシステムの3D地図画像の生成例を示す図である。
【図9】本発明の実施形態に係るナビゲーションシステムが行う2D案内画像描画処理を示すフローチャートである。
【図10】本発明の実施形態に係るナビゲーションシステムの2D地図画像の生成例を示す図である。
【図11】本発明の実施形態に係るナビゲーションシステムの3D地図画像の生成例を示す図である。
【符号の説明】
【0076】
1…ナビゲーション装置、2…表示装置、3…車両状態センサ、4…GPS受信機、5…操作部、6…地図データ記憶部、11…IOマネージャ、12…表示装置ドライバ、13…ナビゲーション処理部、14…ウインドウシステム、15…VRAM、16…VRAMマネージャ、141…2Dグラフィックエンジン、142…3Dグラフィックエンジン。
【特許請求の範囲】
【請求項1】
地図を表示するナビゲーション装置であって、
複数の区画の各区画毎に対応して設けられた対応する区画内の地図を定義する区画地図データを含む地図データを記憶した地図データ記憶手段と、
画像を描画する画像描画手段と、
前記区画毎に生成された、当該区画の地図を表す画像を前記画像描画手段に対して規定するデータである表示区画地図データを格納する表示地図データ格納手段と、
地図を表示する地理的範囲である地図表示範囲に少なくとも一部が含まれる各区画について、当該区画についての前記表示区画地図データが前記表示地図データ格納手段に格納されていない場合に、前記地図データ記憶手段に記憶されている地図データに含まれる当該区画の区画地図データに基づいて、当該区画についての前記表示区画地図データを生成し、前記表示地図データ格納手段に格納する表示地図データ生成手段とを有し、
前記画像描画手段は、前記表示地図データ格納手段に格納された、前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データを用いて、前記地図表示範囲の地図の画像を、前記表示する地図の画像として描画することを特徴とするナビゲーション装置。
【請求項2】
請求項1記載のナビゲーション装置であって、
前記表示区画地図データは、対応する区画の地図を構成する各図形要素の描画を要求する描画コマンドを含み、
前記画像描画手段は、前記表示地図データ格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データに含まれる各描画コマンドが表す図形要素を、前記地図表示範囲の地図を構成する図形要素となるように座標変換して描画することにより前記地図表示範囲の地図の画像を、前記表示する地図の画像として描画することを特徴とするナビゲーション装置。
【請求項3】
請求項1記載のナビゲーション装置であって、
前記区画地図データは区画内の三次元地図を定義し、
前記表示区画地図データは、対応する区画の三次元地図を構成する図形要素の三次元形状データを含み、
前記画像描画手段は、前記表示地図データ格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データに含まれる三次元形状データの集合によって形成される仮想三次元世界の前記地図表示範囲に対応する領域を所定の視点を用いてレンダリングすることにより前記地図表示範囲の三次元表現の地図の画像を、前記表示する地図の画像として描画することを特徴とするナビゲーション装置。
【請求項4】
請求項3記載のナビゲーション装置であって、
現在位置を算定する現在位置算定手段と、
算定した現在位置に対応する表示した地図上の位置に、現在位置を表す現在位置マークを表示する現在位置表示手段とを有し、
前記画像描画手段は、三次元形状データが示す三次元オブジェクトの内、前記レンダリングに用いる視点に対して前記仮想三次元世界中の前記現在位置に対応する位置より手前に位置する三次元オブジェクトをレンダリングの対象から除外することを特徴とするナビゲーション装置。
【請求項5】
請求項1、2、3または4記載のナビゲーション装置であって、
前記表示地図データ生成手段は、前記生成した表示区画地図データを格納できるだけの空き容量が前記表示地図データ格納手段に存在しない場合に、当該表示地図データ格納手段に格納されている、所定の基準に従って選定した表示区画地図データを当該表示地図データ格納手段から消去することを特徴とするナビゲーション装置。
【請求項6】
請求項1、2、3、4または5記載のナビゲーション装置であって、
前記画像描画手段は、前記表示地図データ格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データに基づいた地図の画像の描画を、前記地図表示範囲外の領域については行わないことを特徴とするナビゲーション装置。
【請求項7】
地図データに基づいて地図を表示する地図表示方法であって、
地図を表示する地理的範囲に含まれる領域であって、前記表示する地図の画像の描画に用いるデータである表示地図データを格納するメモリに当該領域についての前記表示地図データが格納されていない領域を判定するステップと、
判定した表示地図データが前記メモリに格納されていない領域についての前記表示地図データを、地図を表す地図データに基づいて生成し、前記メモリに格納するステップと、
前記メモリに格納された前記表示地図データを用いて前記地図表示範囲の地図の画像を描画し表示するステップとを有することを特徴とする地図表示方法。
【請求項1】
地図を表示するナビゲーション装置であって、
複数の区画の各区画毎に対応して設けられた対応する区画内の地図を定義する区画地図データを含む地図データを記憶した地図データ記憶手段と、
画像を描画する画像描画手段と、
前記区画毎に生成された、当該区画の地図を表す画像を前記画像描画手段に対して規定するデータである表示区画地図データを格納する表示地図データ格納手段と、
地図を表示する地理的範囲である地図表示範囲に少なくとも一部が含まれる各区画について、当該区画についての前記表示区画地図データが前記表示地図データ格納手段に格納されていない場合に、前記地図データ記憶手段に記憶されている地図データに含まれる当該区画の区画地図データに基づいて、当該区画についての前記表示区画地図データを生成し、前記表示地図データ格納手段に格納する表示地図データ生成手段とを有し、
前記画像描画手段は、前記表示地図データ格納手段に格納された、前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データを用いて、前記地図表示範囲の地図の画像を、前記表示する地図の画像として描画することを特徴とするナビゲーション装置。
【請求項2】
請求項1記載のナビゲーション装置であって、
前記表示区画地図データは、対応する区画の地図を構成する各図形要素の描画を要求する描画コマンドを含み、
前記画像描画手段は、前記表示地図データ格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データに含まれる各描画コマンドが表す図形要素を、前記地図表示範囲の地図を構成する図形要素となるように座標変換して描画することにより前記地図表示範囲の地図の画像を、前記表示する地図の画像として描画することを特徴とするナビゲーション装置。
【請求項3】
請求項1記載のナビゲーション装置であって、
前記区画地図データは区画内の三次元地図を定義し、
前記表示区画地図データは、対応する区画の三次元地図を構成する図形要素の三次元形状データを含み、
前記画像描画手段は、前記表示地図データ格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データに含まれる三次元形状データの集合によって形成される仮想三次元世界の前記地図表示範囲に対応する領域を所定の視点を用いてレンダリングすることにより前記地図表示範囲の三次元表現の地図の画像を、前記表示する地図の画像として描画することを特徴とするナビゲーション装置。
【請求項4】
請求項3記載のナビゲーション装置であって、
現在位置を算定する現在位置算定手段と、
算定した現在位置に対応する表示した地図上の位置に、現在位置を表す現在位置マークを表示する現在位置表示手段とを有し、
前記画像描画手段は、三次元形状データが示す三次元オブジェクトの内、前記レンダリングに用いる視点に対して前記仮想三次元世界中の前記現在位置に対応する位置より手前に位置する三次元オブジェクトをレンダリングの対象から除外することを特徴とするナビゲーション装置。
【請求項5】
請求項1、2、3または4記載のナビゲーション装置であって、
前記表示地図データ生成手段は、前記生成した表示区画地図データを格納できるだけの空き容量が前記表示地図データ格納手段に存在しない場合に、当該表示地図データ格納手段に格納されている、所定の基準に従って選定した表示区画地図データを当該表示地図データ格納手段から消去することを特徴とするナビゲーション装置。
【請求項6】
請求項1、2、3、4または5記載のナビゲーション装置であって、
前記画像描画手段は、前記表示地図データ格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データに基づいた地図の画像の描画を、前記地図表示範囲外の領域については行わないことを特徴とするナビゲーション装置。
【請求項7】
地図データに基づいて地図を表示する地図表示方法であって、
地図を表示する地理的範囲に含まれる領域であって、前記表示する地図の画像の描画に用いるデータである表示地図データを格納するメモリに当該領域についての前記表示地図データが格納されていない領域を判定するステップと、
判定した表示地図データが前記メモリに格納されていない領域についての前記表示地図データを、地図を表す地図データに基づいて生成し、前記メモリに格納するステップと、
前記メモリに格納された前記表示地図データを用いて前記地図表示範囲の地図の画像を描画し表示するステップとを有することを特徴とする地図表示方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2007−163300(P2007−163300A)
【公開日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願番号】特願2005−360139(P2005−360139)
【出願日】平成17年12月14日(2005.12.14)
【出願人】(000101732)アルパイン株式会社 (2,424)
【Fターム(参考)】
【公開日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願日】平成17年12月14日(2005.12.14)
【出願人】(000101732)アルパイン株式会社 (2,424)
【Fターム(参考)】
[ Back to top ]