(57)【特許請求の範囲】
【請求項１】
地図を表す地図画像を表示するナビゲーション装置であって、
図形要素の描画を要求する描画コマンドを含むディスプレイリストを格納するディスプレイリスト格納手段と、
前記ディスプレイリスト格納手段に格納された前記ディスプレイリストを用いて、当該ディスプレイリストに含まれる描画コマンドが描画を要求する図形要素を描画した画像である描画像を生成するグラフィックエンジンと、
前記グラフィックエンジンが生成した描画像を前記地図画像として表示する地図表示手段と、
複数の区画の各区画毎に対応して設けられた対応する区画内の地図を定義する区画地図データを含む地図データを記憶した地図データ記憶手段と、
前記区画毎に生成された、当該区画の地図を表す画像を構成する各図形要素の描画を要求する描画コマンドを含む前記ディスプレイリストを、当該区画の前記ディスプレイリストとして生成し、前記ディスプレイリスト格納手段に格納するディスプレイリスト生成手段と、
前記グラフィックエンジンの前記ディスプレイリストを用いた前記描画像の生成を制御する描画像生成制御手段とを有し、
前記ディスプレイリスト生成手段は、地図を表示する地理的範囲である地図表示範囲に少なくとも一部が含まれる各区画について、当該区画の前記ディスプレイリストが、前記ディスプレイリスト格納手段に格納されていない場合に、前記地図データ記憶手段に記憶されている地図データに含まれる当該区画の区画地図データに基づいて、当該区画の前記ディスプレイリストを生成して、前記ディスプレイリスト格納手段に格納し、
前記描画像生成制御手段は、前記グラフィックエンジンの、前記ディスプレイリスト格納手段に格納された、前記地図表示範囲に少なくとも一部が含まれる各区画の前記ディスプレイリストを用いた前記地図表示範囲の地図の画像の、前記描画像としての生成を制御することを特徴とするナビゲーション装置。
【請求項２】
請求項１記載のナビゲーション装置であって、
前記描画像生成制御手段は、前記グラフィックエンジンに、前記ディスプレイリスト格納手段に格納された、前記地図表示範囲に少なくとも一部が含まれる各区画の前記ディスプレイリストに含まれる各描画コマンドが表す図形要素を、前記地図表示範囲の地図を構成する図形要素となるように座標変換して描画させることにより、前記グラフィックエンジンに、前記地図表示範囲の地図の画像を、前記描画像として生成させることを特徴とするナビゲーション装置。
【請求項３】
請求項１、２または３記載のナビゲーション装置であって、
前記ディスプレイリスト生成手段は、前記生成したディスプレイリストを格納できるだけの空き容量が前記ディスプレイリスト格納手段に存在しない場合に、当該ディスプレイリスト格納手段に格納されている、所定の基準に従って選定した前記ディスプレイリストを当該ディスプレイリスト格納手段から消去することを特徴とするナビゲーション装置。
【請求項４】
請求項１、２、または３記載のナビゲーション装置であって、
前記描画像生成制御手段は、前記グラフィックエンジンに、前記ディスプレイリスト格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画の前記ディスプレイリストを用いた地図の画像の描画を、前記地図表示範囲外の領域については行わせないことを特徴とするナビゲーション装置。
【請求項５】
図形要素の描画を要求する描画コマンドを含むディスプレイリストを格納するディスプレイリスト格納手段と、前記ディスプレイリスト格納手段に格納された前記ディスプレイリストを用いて、当該ディスプレイリストに含まれる描画コマンドが描画を要求する図形要素を描画した画像である描画像を生成するグラフィックエンジンと、前記グラフィックエンジンが生成した描画像を前記地図画像として表示する表示手段と、複数の区画の各区画毎に対応して設けられた対応する区画内の地図を定義する区画地図データを含む地図データを記憶した地図データ記憶手段とを備えたナビゲーション装置において、地図を表す地図画像を表示する地図表示方法であって、
前記ナビゲーション装置が、前記区画毎に生成された、当該区画の地図を表す画像を構成する各図形要素の描画を要求する描画コマンドを含む前記ディスプレイリストを、当該区画の前記ディスプレイリストとして生成し、前記ディスプレイリスト格納手段に格納するディスプレイリスト生成ステップと、
前記ナビゲーション装置が、前記グラフィックエンジンの前記ディスプレイリストを用いた前記描画像の生成を制御する描画像生成制御ステップとを有し、
前記ディスプレイリスト生成ステップにおいて、地図を表示する地理的範囲である地図表示範囲に少なくとも一部が含まれる各区画について、当該区画の前記ディスプレイリストが、前記ディスプレイリスト格納手段に格納されていない場合に、前記地図データ記憶手段に記憶されている地図データに含まれる当該区画の区画地図データに基づいて、当該区画の前記ディスプレイリストを生成して、前記ディスプレイリスト格納手段に格納し、
前記描画像生成制御ステップにおいて、前記グラフィックエンジンの、前記ディスプレイリスト格納手段に格納された、前記地図表示範囲に少なくとも一部が含まれる各区画の前記ディスプレイリストを用いた前記地図表示範囲の地図の画像の、前記描画像としての生成を制御することを特徴とする地図表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地図を用いた位置案内を行うナビゲーション装置における地図表示の技術に関するものである。
【背景技術】
【０００２】
ナビゲーション装置における地図表示の技術としては、三次元地図を表す地図データに基づいて、現在位置に基づいて定まる地理的領域の三次元地図をレンダリングして生成した三次元表現の地図画像を表示する技術が知られている（たとえば、特許文献１）。
【特許文献１】特開2004-219182号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
さて、ナビゲーション装置における地図の表示は、できるだけ高品質に行うことが好ましい。
しかしながら、ナビゲーション装置の地図データに基づいて地図を表示する処理、特に三次元表現の地図画像を表示する処理は処理量が比較的大きく、品質向上のために、精緻に表現された地図を高解像度に表示したり、表示する地図の更新の頻度を大きくすると、地図表示のための処理負荷が過大となる場合がある。
【０００４】
そこで、本発明は、ナビゲーション装置において、地図表示に要する処理の負荷を軽減することを課題とする。
【課題を解決するための手段】
【０００５】
前記課題達成のために、本発明は、地図を表示するナビゲーション装置に、複数の区画の各区画毎に対応して設けられた対応する区画内の地図を定義する区画地図データを含む地図データを記憶した地図データ記憶手段と、画像を描画する画像描画手段と、前記区画毎に生成された、当該区画の地図を表す画像を前記画像描画手段に対して規定するデータである表示区画地図データを格納する表示地図データ格納手段と、前記区画に対応して生成された対応する区画についての地図の描画に用いるデータである表示区画地図データを格納する表示地図データ格納手段と、地図を表示する地理的範囲である地図表示範囲に少なくとも一部が含まれる各区画について、当該区画についての前記表示区画地図データが前記表示地図データ格納手段に格納されていない場合に、前記地図データ記憶手段に記憶されている地図データに含まれる当該区画の区画地図データに基づいて、当該区画についての前記表示区画地図データを生成し、前記表示地図データ格納手段に格納する表示地図データ生成手段と備え、前記画像描画手段において、表示地図データ格納手段に格納された、前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データを用いて、前記地図表示範囲の地図の画像を、前記表示する地図の画像として描画するようにしたものである。
【０００６】
ここで、より具体的には、このようなナビゲーション装置において、前記表示区画地図データは、対応する区画の地図を構成する各図形要素の描画を要求する描画コマンドを含むものであってよく、この場合、前記画像描画手段は、前記表示地図データ格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データに含まれる各描画コマンドが表す図形要素を、前記地図表示範囲の地図を構成する図形要素となるように座標変換して描画することにより前記地図表示範囲の地図の画像を、前記表示する地図の画像として描画するように構成する。
【０００７】
または、このようなナビゲーション装置において、前記区画地図データは区画内の三次元地図を定義するものであり、前記表示区画地図データは、対応する区画の三次元地図を構成する図形要素の三次元形状データを含むものであってよい。そして、この場合には、前記画像描画手段は、前記表示地図データ格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データに含まれる三次元形状データの集合によって形成される仮想三次元世界の前記地図表示範囲に対応する領域を所定の視点を用いてレンダリングすることにより前記地図表示範囲の三次元表現の地図の画像を、前記表示する地図の画像として描画するように構成する。
【０００８】
これらのようなナビゲーション装置によれば、過去に表示地図データ格納手段に格納した表示区画地図データが、今回表示しようとする地図に少なくとも一部が含まれる区画についてのものである場合には、この過去に表示地図データ格納手段に格納した表示区画地図データを流用して、今回表示する地図を描画し、この表示区画地図データを流用できる区画については表示区画地図データを生成しない。したがって、表示区画地図データの生成や表示地図データ格納手段への格納の処理の負荷を軽減することができるようになる。
【０００９】
なお、前述のように前記区画地図データを区画内の三次元地図を定義したものとした場合、ナビゲーション装置に、現在位置を算定する現在位置算定手段と、算定した現在位置に対応する表示した地図上の位置に、現在位置を表す現在位置マークを表示する現在位置表示手段とを設け、前記画像描画手段において、三次元形状データが示す三次元オブジェクトの内、前記レンダリングに用いる視点に対して前記仮想三次元世界中の前記現在位置に対応する位置より手前に位置する三次元オブジェクトはレンダリングの対象から除外するようにしてもよい。
【００１０】
このようにすることにより、過去に表示地図データ格納手段に格納した前記表示区画地図データを流用しつつ、常に、前記レンダリングに用いる視点に対して前記仮想三次元世界の現在位置より手前に位置する三次元オブジェクトをレンダリングしないようにして、ユーザが現在位置マークの視認を容易に行えるようにすることができる。
【００１１】
なお、以上の各ナビゲーション装置は、前記表示地図データ生成手段において、前記生成した表示区画地図データを格納できるだけの空き容量が前記表示地図データ格納手段に存在しない場合に、当該表示地図データ格納手段に格納されている、所定の基準に従って選定した表示区画地図データを当該表示地図データ格納手段から消去するようにしてもよい。このようにすることにより、前記所定の基準を適当に設定すれば、表示地図データ格納手段の限られた記憶容量を用いて、効率よく表示区画地図データの生成や表示地図データ格納手段への格納の処理の負荷を軽減することができるようになる。
【００１２】
また、以上の各ナビゲーション装置において、前記画像描画手段は、前記表示地図データ格納手段に格納された前記地図表示範囲に少なくとも一部が含まれる各区画についての前記表示区画地図データに基づいた地図の画像の描画を、前記地図表示範囲外の領域については行わないようにすることが好ましい。
【００１３】
このようにすることにより、画像描画手段の地図描画の処理負荷を軽減することができる。
また、前記課題達成のために、本発明は、地図データに基づいて地図を表示する地図表示方法として、地図を表示する地理的範囲に含まれる領域であって、表示する地図の画像の描画に用いるデータである表示地図データを格納するメモリに当該領域についての表示地図データが格納されていない領域を判定するステップと、判定した表示地図データが前記メモリに格納されていない領域についての前記表示地図データを生成し、前記メモリに格納するステップと、前記メモリに格納された前記表示地図データを用いて前記地図表示範囲の地図を描画し表示するステップとを備えた地図表示方法を提供する。
【００１４】
このような地図表示方法によれば、過去にメモリに格納した表示地図データが、今回表示しようとする地図含まれる領域についてのものである場合には、この過去にメモリに格納した表示地図データを流用して、今回表示する地図を描画し、この表示地図データを流用できる領域については表示地図データを生成しない。したがって、表示地図データの生成やメモリへの格納の処理の負荷を軽減することができるようになる。
【発明の効果】
【００１５】
以上のように、本発明によれば、ナビゲーション装置における地図表示の処理の負荷を軽減することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施形態について説明する。
図１に、本実施形態に係るナビゲーションシステムの構成を示す。なお、本実施形態に係るナビゲーションシステムは、自動車に搭載されるものである。
図示するように、ナビゲーションシステムは、ナビゲーション装置１と、表示装置２と、車両状態センサ３と、ＧＰＳ受信機４と、操作部５と、地図を表す地図データを記憶したＤＶＤドライブやＨＤＤなどの記憶装置である地図データ記憶部６とを備えて構成される。ここで、車両状態センサ３は、角加速度センサや地磁気センサなどである方位センサや、車速パルスセンサなどである車速センサなどの車両状態を検出するセンサ群である。
【００１７】
そして、ナビゲーション装置１は、車両状態センサ３やＧＰＳ受信機４や操作部５や地図データ記憶部６とナビゲーション装置１との間の入出力を担うＩ/Ｏマネージャ１１、表示装置２への表示出力を担う表示装置ドライバ１２、ナビゲーション処理部１３、ナビゲーション処理部１３から要求された表示を表示装置ドライバ１２を介して表示装置２に対して行うウインドウシステム１４、ＶＲＡＭ１５、ＶＲＡＭマネージャ１６を備えている。
【００１８】
また、ウインドウシステム１４は、ナビゲーション処理部１３に２Ｄグラフィックスの描画及び表示機能を提供する２Ｄグラフィックエンジン１４１と、ナビゲーション処理部１３に３Ｄグラフィックスの描画及び表示機能を提供する３Ｄグラフィックエンジン１４２とを備えている。また、ＶＲＡＭ１５には、ナビゲーション装置１が、２Ｄグラフィックエンジン１４１や３Ｄグラフィックエンジン１４２を利用して描画しようとするグラフィックスのデータが格納される。そして、ＶＲＡＭマネージャ１６は、このようなＶＲＡＭ１５の管理制御を行うものである。
【００１９】
なお、以上のナビゲーション装置１は、ハードウエア的には、マイクロプロセッサや、メモリや、その他のグラフィックプロセッサ等の周辺デバイスを有する一般的な構成を備えた電子計算機であって良く、この場合、以上に示したナビゲーション装置１の各部は、マイクロプロセッサが予め用意されたプログラムを実行することにより具現化するプロセスとして実現されるものであって良い。また、この場合、このようなプログラムは、記録媒体や適当な通信路を介して、ナビゲーション装置１に提供されるものであって良い。また、２Ｄグラフィックエンジン１４１や３Ｄグラフィックエンジン１４２は、グラフィックプロセッサの描画機能を用いて２Ｄグラフィックスや３Ｄグラフィックスを描画するものであってよい。
【００２０】
次に、図２に地図データ記憶部６に記憶される地図データの内容を示す。
図示するように、地図データは、地図データの製作日時などを記述した管理データ、地図を表す地図基本データ、リソースデータとを含んで構成される。
そして、地図基本データは、区画毎に対応して設けた区画データと、各区画の地理的範囲と区画データの対応や、各区画と区画の識別子となる区画番号の対応などを記述した区画管理データを含む。
そして、各区画データは、対応する区画内の二次元の地図を表す２Ｄ地図ユニットと、対応する区画内の三次元の地図を表す３Ｄ地図ユニットと、対応する区画内の二次元または三次元の地図上に配置する地名や路線名称などのテキストを表すテキストユニットと、対応する区画内の二次元または三次元の地図上に配置するアイコンを表すアイコンユニットとを含んでいる。なお、ここで言うアイコンは、予め選定した、ユーザが興味を持つであろう地点（ＰＯＩ）の位置と種別を地図上で表すものであり、個々のアイコンとしては、そのアイコンが表す地点の種別を表す図形を用いる。
【００２１】
次に、地図データのリソースデータは、各区画についての、区画データに従った地図描画に共通して用いられる色データや図形データなどの情報資源が格納されている。
さて、このような構成において、ナビゲーション処理部１３は、Ｉ/Ｏマネージャ１１を介して取得した車両状態センサ３やＧＰＳ受信機４の出力と、地図データ記憶部６から読み出した地図データの地図基本データが地図を用いて、マップマッチング処理などにより、現在位置として最も確からしい座標と、現在の進行方向として最も確からしい方向とを、それぞれ現在位置、現在進行方位として算定する処理を繰り返し行う。また、ナビゲーション処理部１３は、Ｉ/Ｏマネージャ１１を介して操作部５からユーザの目的地設定操作が入力されたならば、操作に従って目的地の設定を受け付け、算定した現在位置から目的地までの、最小コストの経路を、距離最小などの所定のコストモデルに基づいて推奨ルートとして、地図データ記憶部６から読み出した地図基本データに基づいて算出し、算出した推奨ルートを設定した目的地と共に保持する。
【００２２】
また、ナビゲーション処理部１３は、ウインドウシステム１４の２Ｄグラフィックエンジン１４１や３Ｄグラフィックエンジン１４２を利用して、案内画像を表示装置２に表示する処理を行う。
ここで、ナビゲーション装置１は、ユーザが選択的に設定可能な、三次元地図表示モードと二次元地図表示モードとの二つの表示モードを有する。
そして、ナビゲーション処理部１３は、二次元地図表示モードが設定されている場合には、２Ｄグラフィックエンジン１４１を利用して、図３ａに示すように、二次元地図を表す２Ｄ地図画像３０１上に、二次元地図上で地名などを表すテキスト３０２や、前述したＰＯＩを二次元地図上で表すアイコン３０３や、二次元地図上で算定した現在位置を表す現在位置図形３０４などを表した案内画像３００を表示する。また、２Ｄ地図画像３０１として表す二次元地図の地理的範囲である地図表示範囲に含まれる推奨ルートを保持している場合には、案内画像３００を、２Ｄ地図画像３０１上に、保持している推奨ルートの現在位置より目的地側の部分を二次元地図上で表す推奨ルート図形３０５を、さらに表したものとする。また、同様に、地図表示範囲に含まれる目的地を保持している場合には、案内画像３００を、２Ｄ地図画像３０１上に、保持している目的地を二次元地図上で表す目的地図形を、さらに表したものとする。
【００２３】
ここで、２Ｄ地図画像３０１として表す二次元地図の地理的範囲である地図表示範囲は、基準位置と、表示方位と、表示縮尺に従って、基準位置周辺の、決定した表示方位と決定した表示縮尺とに応じて定まる所定の大きさの地理的範囲として定まる。ナビゲーション処理部１３は、通常は、現在位置を基準位置とし、算定した現在進行方位を表示方位とし、予め成されたユーザ設定や初期設定に応じて定まる縮尺を表示縮尺として設定する。一方、ユーザの地図スクロール操作に応じたスクロール表示を行っている最中は、ユーザ操作により定まる位置を基準位置とし、ユーザによって選定された方位を表示方位とし、予め成されたユーザ設定や初期設定に応じて定まる縮尺を表示縮尺として設定する。
【００２４】
次に、ナビゲーション処理部１３は、三次元地図表示モードが設定されている場合には、３Ｄグラフィックエンジン１４２を利用して、図３ｂに示すように、三次元表現の地図を表す３Ｄ地図画像３１１上に、三次元表現の地図上で地名などを表すテキスト３１２や、前述したＰＯＩを三次元表現の地図上で表すアイコン３１３や、三次元表現の地図上で算定した現在位置を表す現在位置図形３１４などを表した案内画像３１０を表示する。また、３Ｄ地図画像３１として表す三次元表現の地図の地理的範囲である地図表示範囲に含まれる推奨ルートを保持している場合には、案内画像３１０を、３Ｄ地図画像３１１上に、保持している推奨ルートの現在位置より目的地側の部分を三次元表現の地図上で表す推奨ルート図形３１５を、さらに表したものとする。また、同様に、地図表示範囲に含まれる目的地を保持している場合には、案内画像３１０を、３Ｄ地図画像３１１上に、保持している目的地を三次元表現の地図上で表す目的地図形を、さらに表したものとする。
【００２５】
ここで、３Ｄ地図画像３１１として表す三次元地図の地理的範囲である地図表示範囲は、設定した視点位置と視線方向と視野角とに従って、地上上空に設定した視点位置から設定した視線方向に設定した視野角で、地上を観測した場合に観測される範囲として決定する。ナビゲーション処理部１３は、通常は、算定した現在位置から算定した現在進行方位と逆方向に前述した表示縮尺に応じた距離進んだ位置から、上方に前述した表示縮尺に応じた距離昇った位置を視点位置とし、当該視点位置から、算定した現在位置から算定した現在進行方位方向に前述した表示縮尺に応じた距離進んだ位置に向かう方向を視線方向とし、視線方向と垂直な２方向について予め定めた角度を視野角とする。なお、この視線方向と垂直な２方向は、現在位置と視点位置と現在位置から算定した現在進行方位の方向に任意距離進んだ位置との３つの位置を含む面に垂直な方向と、当該面内の視線方向と垂直な方向とする。また、ナビゲーション処理部１３は、ユーザの地図スクロール操作に応じたスクロール表示を行っている最中は、ユーザ操作に応じて、視点位置と視線方向と視野角を設定する。
【００２６】
さて、ナビゲーション処理部１３は、ＶＲＡＭ１５にディスプレイリスト（ＤＬ）を書き込み、書き込んだＤＬの描画を要求するシステムコールを、２Ｄグラフィックエンジン１４１や３Ｄグラフィックエンジン１４２に発行することにより、以上のような案内画像を表示装置２に表示する。
【００２７】
ここで、ナビゲーション処理部１３が二次元地図表示モードが設定されている場合にＶＲＡＭ１５に書き込むＤＬには、図３ａの案内画像３００中に配置するテキスト３０２を規定するテキスト描画用のＤＬと、図３ａの案内画像３００中に配置するアイコン３０３を規定するアイコン描画用のＤＬと、図３ａの案内画像３００中に配置する現在位置図形３０４や推奨ルート図形３０５や目的地図形を規定する案内図形描画用のＤＬと、図３ａの案内画像３００中に描画する２Ｄ地図画像３０１の地図表示範囲に少なくとも一部が含まれる区画の各々に対応して書き込まれる、対応する区画の二次元の区画地図を規定する２Ｄ地図画像描画用のＤＬがある。
【００２８】
また、ナビゲーション処理部１３が三次元地図表示モードが設定されている場合にＶＲＡＭ１５に書き込むＤＬには、図３ｂの案内画像３１０中に配置するテキスト３１２を規定するテキスト描画用のＤＬと、図３ｂの案内画像３１０中に配置するアイコン３１３を規定するアイコン描画用のＤＬと、図３ｂの案内画像３１０中に配置する現在位置図形３１４や推奨ルート図形３１５や目的地図形を規定する案内図形描画用のＤＬと、図３ｂの案内画像３１０中に描画する３Ｄ地図画像３１１の地図表示範囲に少なくとも一部が含まれる区画の各々に対応して書き込まれる、対応する区画の三次元の区画地図を規定する３Ｄ地図画像描画用のＤＬがある。
【００２９】
なお、ナビゲーション処理部１３は、各表示モードにおけるテキスト描画用のＤＬと各表示モードにおけるアイコン描画用のＤＬと２Ｄ地図画像描画用のＤＬと３Ｄ地図画像描画用のＤＬについては、当該ＤＬを、区画毎に作成しＶＲＡＭ１５に書き込む。
さて、図４ａに示すようにＶＲＡＭ１５の記憶空間は、所定容量の複数のブロックに分割されており、各ブロックには、ブロック番号ＢＬ＃が割り振られている。
また、図４ｂに示すように、ＶＲＡＭ１５の記憶空間は、複数のブロックよりなるワンユースＤＬ領域と、複数のブロックよりなるリーユーザブルＤＬ領域とに分割されており、テキスト描画用のＤＬとアイコン描画用のＤＬと案内図形描画用のＤＬは、ナビゲーション処理部１３によってワンユースＤＬ領域に書き込まれ、２Ｄ地図画像描画用のＤＬと３Ｄ地図画像描画用のＤＬは、ナビゲーション処理部１３によってリーユーザブルＤＬ領域に書き込まれる。
【００３０】
ここで、各ＤＬの書き込みは、ＶＲＡＭマネージャ１６によって制御される。
すなわち、ＶＲＡＭマネージャ１６は、ＤＬの書き込みをナビゲーション処理部１３から要求されると、書き込みを要求されたＤＬのデータ容量分の空きブロックを集めた領域を当該ＤＬの領域に割当て、割り当てた領域に書き込みを要求されたＤＬを書き込む。なお、書き込みを要求されたＤＬがテキスト描画用のＤＬとアイコン描画用のＤＬと案内図形描画用のＤＬとのいずれかである場合には、書き込みを要求されたＤＬのデータ容量分の、ワンユースＤＬ領域の空きブロックを集めた領域を当該ＤＬの領域に割当てる。また、書き込みを要求されたＤＬが２Ｄ地図画像または３Ｄ地図画像描画用のＤＬである場合には、書き込みを要求されたＤＬのデータ容量分の、リユーザブルＤＬ領域の空きブロックを集めた領域を当該ＤＬの領域に割当てる。なお、一つのＤＬの領域に割当てる複数の空きブロックは、ＶＲＡＭ１５中において連続していない複数のブロックであってもよい。また、空きブロックとは、いずれのＤＬの領域にも割当てられていないブロックである。
【００３１】
また、ＶＲＡＭマネージャ１６は、各ＤＬの領域を管理するために、図５ａに示すＶＲＡＭマッピングテーブルを保持する。
図示するように、ＶＲＡＭマッピングテーブルは、ＶＲＡＭ１５に保持されているＤＬ毎のエントリを有し、各エントリにはＤＬの識別子であるＤＬ番号と、当該ＤＬの領域として割当てられたブロックのブロック番号の一覧である割当ブロックが記述される。
一方、ナビゲーション処理部１３も、ＶＲＡＭ１５に書き込んだＤＬを管理するためのＤＬ管理テーブルを保持している。
そして、ＤＬ管理テーブルは、ナビゲーション処理部１３がＶＲＡＭ１５に書き込みかつＶＲＡＭ１５から消去していないＤＬ毎のエントリを有し、各エントリにはＤＬの識別子であるＤＬ番号と、テキスト描画用のＤＬ／アイコン描画用のＤＬ／案内図形描画用のＤＬ／２Ｄ地図画像のＤＬ／３Ｄ地図画像描画用のＤＬのいずれかとなるＤＬの種別を表すＤＬ種別と、ＤＬに対応する区画の区画番号を表す対応区画番号と、ＤＬのバイト数を表すデータ容量と、ＤＬを最後に使用した日時を表す最終使用日時が記述される。なお、区画番号は、当該ＤＬが案内図形描画用のＤＬでない場合にのみ記述される。また、最終使用日時に記述されるＤＬを最後に使用した日時は、そのＤＬの描画を要求するシステムコールを最後に発行した日時である。
【００３２】
ここで、２Ｄ地図画像描画用のＤＬを用いた図３ａに示す２Ｄ地図画像の描画手順の概要を説明する。
まず、図６ａに示すように２Ｄ地図画像描画用のＤＬは、描画属性データと表示二次元地図描画コマンド群より構成される。また、描画属性データには、要と否のいずれかの値をとる表示範囲外描画要否を含む。
次に、この２Ｄ地図画像描画用のＤＬの描画を要求するシステムコールは、図６ｂに示すように、２Ｄ地図画像描画用のＤＬの描画を要求するオペコードである２Ｄ地図描画用ＤＬ描画命令の他、オペランドとして、描画する２Ｄ地図描画用ＤＬのＤＬ番号の一覧である描画ＤＬ番号リストと、描画画像表示範囲と、縮尺と、回転角と、オフセット座標リストとを含む。
【００３３】
そして、いま、図７ａに示すように、Ａ、Ｂ、Ｃ、Ｄの区画があり、図示するように地図表示範囲７０１が算定された場合、ナビゲーション処理部１３は、地図表示範囲７０１に少なくとも一部が含まれる区画Ｂと区画Ｄについての区画データの２Ｄ地図ユニットを地図データ記憶部６より読み出し、区画Ｂの２Ｄ地図画像描画用のＤＬであるＤＬ-Ｂと、区画Ｄの２Ｄ地図画像描画用のＤＬであるＤＬ-Ｄを生成し、ＶＲＡＭ１５に書き込む。
【００３４】
ここで、この区画Ｂの２Ｄ地図画像描画用のＤＬ-Ｂの描画属性データの表示範囲外描画要否には否を設定する。また、ＤＬ-Ｂの表示二次元地図描画コマンドには、区画Ｂの区画データの２Ｄ地図ユニットと、ユーザの表示設定とに基づいて定まる、図７ｂに示すような区画Ｂの二次元地図を構成する各図形要素の描画を要求する、２Ｄグラフィックエンジン１４１が解釈可能な形式の描画コマンド群を含める。
【００３５】
また、同様に、区画Ｄの２Ｄ地図画像描画用のＤＬ-Ｄの描画属性データの表示範囲外描画要否には否を設定する。また、ＤＬ-Ｄの表示二次元地図描画コマンドには、区画Ｄの区画データの２Ｄ地図ユニットと、ユーザの表示設定とに基づいて定まる、図７ｃに示すような区画Ｄの二次元地図を構成する各図形要素の描画を要求する、２Ｄグラフィックエンジン１４１が解釈可能な形式の描画コマンド群を含める。
【００３６】
ここで、表示する二次元地図を定めるユーザの表示設定としては、たとえば、表示する二次元地図の各構成図形要素の色や模様の設定などがある。
また、ＤＬ-Ｂの表示二次元地図描画コマンドによって規定される区画Ｂの二次元地図と、ＤＬ-Ｄの表示二次元地図描画コマンドによって規定される区画Ｄの二次元地図は、それぞれ、ＤＬ毎に独立した座標空間ＭＸ-ＭＹ上に規定される。また、ＤＬ-Ｂの表示二次元地図描画コマンドによって規定される区画Ｂの二次元地図と、ＤＬ-Ｄの表示二次元地図描画コマンドによって規定される区画Ｄの二次元地図とが、同じ方位を上とする同じ縮尺の二次元地図となるように、ＤＬ-Ｂの表示二次元地図描画コマンドと、ＤＬ-Ｄの表示二次元地図描画コマンドは、それぞれ生成される。
【００３７】
次に、ＶＲＡＭ１５に、ＤＬ-ＢとＤＬ-Ｄを保持させたならば、ナビゲーション処理部１３は、図６ｂに示した２Ｄ地図画像描画用のＤＬの描画を要求するシステムコールを生成し２Ｄグラフィックエンジン１４１に発行する。ここで、このシステムコールのオペランドの描画ＤＬ番号リストには、ＤＬ-ＢのＤＬ番号とＤＬ-ＤのＤＬ番号を含める。
【００３８】
また、システムコールのオペランドの縮尺と、回転角と、オフセット座標リストには、図７ｄに示すように、描画画像座標空間ＤＸ-ＤＹ上に、前述した表示方位を上として、前述した表示縮尺で、図７ｂに示したＤＬ-Ｂで規定される区画Ｂの二次元地図と図７ｃに示したＤＬ-Ｄで規定される区画Ｄの二次元地図を、両区画の位置関係に従って配置するための座標変換マトリックスを定める拡大変換量、回転変換量、移動変換量を記述する。なお、本例では、ＤＬ-Ｂの表示二次元地図描画コマンドによって規定される区画Ｂの二次元地図と、ＤＬ-Ｄの表示二次元地図描画コマンドによって規定される区画Ｄの二次元地図は同じ方位を上とする同じ縮尺の二次元地図となるようにしているので、拡大変換量と回転変換量は、ＤＬ-ＢとＤＬ-Ｄとで共通となり、移動変換量のみがＤＬ-ＢとＤＬ-Ｄとで異なる値となり、この異なる値をとる移動変換量の一覧がオフセット座標リストとして記述される。
【００３９】
また、システムコールの描画画像表示範囲７１１には、図７ｄに示すように区画Ｂの二次元地図と区画Ｄの二次元地図を配置して生成した、描画画像座標空間ＤＸ-ＤＹ上の描画画像のうちの、表示装置２に表示する範囲を記述する。ここで、この描画画像表示範囲７１１は、当該描画画像表示範囲７１１に描画される二次元地図に対応する地理的範囲が前述した地図表示範囲に一致するように設定する。
【００４０】
次に、このようなシステムコールを受け取った２Ｄグラフィックエンジン１４１は、システムコールのオペランドの縮尺と、回転角と、オフセット座標リストに従って、描画画像座標空間ＤＸ-ＤＹ上に、描画ＤＬ番号リストで指定されたＤＬ-ＢとＤＬ-Ｄの表示二次元地図描画コマンドに含まれる描画コマンドで描画を要求された図形を、システムコールのオペランドの縮尺と、回転角と、オフセット座標リストに従って座標変換しながら描画して図７ｄに示す描画画像を生成し、描画した描画画像のうちの、システムコールのオペランドで指定された描画画像表示範囲７１１内の２Ｄ地図画像を図３ａに示す２Ｄ地図画像３０１とする。なお、前述の通り、描画画像表示範囲７１１は、描画画像表示範囲に描画される二次元地図に対応する地理的範囲が前述した地図表示範囲に一致するようにナビゲーション処理部１３によって設定されている。
【００４１】
さて、ここで、２Ｄグラフィックエンジン１４１は、２Ｄ地図画像描画用のＤＬの描画属性データの表示範囲外描画要否に否が設定されている場合には、描画画像座標空間ＤＸ-ＤＹ上の描画画像表示範囲７１１外への、描画コマンドに従った図形の描画は、これを行わない。このようにすることにより、２Ｄグラフィックエンジン１４１の描画処理の負荷を軽減することができる。
【００４２】
以上、２Ｄ地図画像描画用のＤＬを用いた図３ａに示す２Ｄ地図画像３０１の描画手順の概要を説明した。
次に、３Ｄ地図画像描画用のＤＬを用いた図３ｂに示す３Ｄ地図画像３１１の描画手順の概要を説明する。
まず、図６ｃに示すように３Ｄ地図画像描画用のＤＬは、描画属性データと表示三次元地図データより構成される。また、描画属性データには、要と否のいずれかの値をとる表示範囲外描画要否と、要と否のいずれかの値をとる現在位置手前オブジェクト描画要否を含む。
【００４３】
次に、この３Ｄ地図画像描画用のＤＬの描画を要求するシステムコールは、図６ｄに示すように、３Ｄ地図画像描画用のＤＬの描画を要求するオペコードである３Ｄ地図描画用ＤＬ描画命令の他、オペランドとして、描画する３Ｄ地図描画用ＤＬのＤＬ番号の一覧である描画ＤＬ番号リストと、描画視点位置と描画視野角と描画視線方向と、オフセット座標リストと、現在位置対応座標とを含む。
【００４４】
そして、いま、図８ａに示すように、Ａ、Ｂ、Ｃ、Ｄの区画があり、図示するように地図表示範囲８０１が算定された場合、ナビゲーション処理部１３は、地図表示範囲８０１に少なくとも一部が含まれる区画Ｂと区画Ｄについての区画データの３Ｄ地図ユニットを地図データ記憶部６より読み出し、区画Ｂの３Ｄ地図画像描画用のＤＬであるＤＬ-Ｂと、区画Ｄの３Ｄ地図画像描画用のＤＬであるＤＬ-Ｄを生成し、ＶＲＡＭ１５に書き込む。
【００４５】
ここで、この区画Ｂの３Ｄ地図画像描画用のＤＬ-Ｂの描画属性データの表示範囲外描画要否と、現在位置手前オブジェクト描画要否とには共に否を設定する。また、ＤＬ-Ｂの表示三次元地図データには、区画Ｂの区画データの３Ｄ地図ユニットと、ユーザの表示設定とに基づいて定まる、図８ｂに示すような区画Ｂの三次元地図を表す三次元モデルのデータを含める。なお、この三次元モデルのデータは、３Ｄ地図ユニットそのままの形式データではなく、３Ｄグラフィックエンジン１４２が解釈可能な形式のデータである。
【００４６】
また、同様に、区画Ｄの３Ｄ地図画像描画用のＤＬ-Ｄの描画属性データの表示範囲外描画要否と、現在位置手前オブジェクト描画要否とには共に否を設定する。また、ＤＬ-Ｄの表示三次元地図データには、区画Ｄの区画データの３Ｄ地図ユニットと、ユーザの表示設定とに基づいて定まる、図８ｃに示すような区画Ｃの三次元地図を表す三次元モデルのデータを含める。
【００４７】
ここで、表示する三次元地図を定めるユーザの表示設定としては、たとえば、表示する三次元地図の各構成要素の色や模様の設定や、表示する三次元オブジェクトの種類の設定（たとえば、４階以下のビルを表す三次元オブジェクトは表示しないなどの設定）などがある。
【００４８】
また、ＤＬ-Ｂの表示三次元地図データによって規定される区画Ｂの三次元モデルが表す三次元地図と、ＤＬ-Ｄの表示三次元地データによって規定される区画Ｄの三次元モデルが表す三次元地図は、それぞれ、ＤＬ毎に独立した座標空間ＭＸ-ＭＹ-ＭＺ上に規定される。また、ＤＬ-Ｂの表示三次元地図データによって規定される区画Ｂの三次元モデルが表す三次元地図と、ＤＬ-Ｄの表示三次元地図データによって規定される区画Ｄの三次元モデルが表す三次元地図とが、ＭＸ方向とＭＹ方向が同じ方位となる、同じ縮尺の三次元地図となるように、ＤＬ-Ｂの表示三次元地図データと、ＤＬ-Ｄの表示三次元地図データは、それぞれ生成される。
【００４９】
次に、ＶＲＡＭ１５に、ＤＬ-ＢとＤＬ-Ｄを保持させたならば、ナビゲーション処理部１３は、図６ｄに示した３Ｄ地図画像描画用のＤＬの描画を要求するシステムコールを生成し３Ｄグラフィックエンジン１４２に発行する。ここで、このシステムコールのオペランドの描画ＤＬ番号リストには、ＤＬ-ＢのＤＬ番号とＤＬ-ＤのＤＬ番号を含める。
【００５０】
また、システムコールのオペランドのオフセット座標リストには、描画対象座標空間ＴＸ-ＴＹ-ＴＺ上に、図８ｂに示したＤＬ-Ｂで規定される区画Ｂの三次元地図を表す三次元モデルと図８ｃに示したＤＬ-Ｄで規定される区画Ｄの三次元地図を表す三次元モデルとを両区画の位置関係に従って、図８ｄに示すように配置するための移動変換量を記述する。
【００５１】
また、システムコールのオペランドの描画視点位置と描画視野角と描画視線方向には、描画対象座標空間ＴＸ-ＴＹ-ＴＺ上の描画視点位置と描画視線方向と描画視野角を記述する。この描画視点位置と描画視線方向と描画視野角は、前述した視点位置、視線方向と地理的座標との関係を、図８ｄに示すように配置した三次元モデルが表す区画Ｂ、Ｄの三次元地図との間で満たすように設定する。
【００５２】
また、システムコールのオペランドの現在位置対応座標には、算定されている現在位置に対応する、描画対象座標空間ＴＸ-ＴＹ-ＴＺ上の位置（図８ｄに示すように配置した三次元モデルが表す三次元地図上の現在位置に相当する座標）を記述する。
次に、このようなシステムコールを受け取った３Ｄグラフィックエンジン１４２は、システムコールのオペランドのオフセット座標リストに従って、図８ｄに示すように、描画対象座標空間ＴＸ-ＴＹ-ＴＺ上に、描画ＤＬ番号リストで指定されたＤＬ-ＢとＤＬ-Ｄの表示三次元地図データが表す三次元モデルを配置する。そして、システムコールのオペランドの描画視点位置と描画視線方向と描画視野角を用いて、描画視点位置８１１から描画視線方向に描画視野角で、図８ｄに示すように配置した三次元モデルが表す区画Ｂ、Ｄの三次元地図を観測した場合に観測される二次元画像を描画（レンダリング）し、その上部に空を模擬する空画像を配置して図３ｂに示す３Ｄ地図画像３１１とする。
【００５３】
さて、ここで、３Ｄグラフィックエンジン１４２は、３Ｄ地図画像描画用のＤＬ-Ｂの描画属性データの表示範囲外描画要否に否が設定されている場合には、描画視点位置と描画視線方向と描画視野角より定まる、３Ｄ地図画像３１１として描画する描画対象座標空間ＴＸ-ＴＹ-ＴＺの範囲８１２の範囲外に配置される三次元オブジェクトなどの各種オブジェクトについての処理は行わない。このようにすることにより、３Ｄグラフィックエンジン１４２の描画処理の負荷を軽減することができる。また、現在位置手前オブジェクト描画要否に否が設定されている場合には、システムコールのオペランドの現在位置対応座標より、描画視点位置８１１に対して手前にある三次元オブジェクトの描画処理は行わない。このようにすることにより、以上の手順によって３Ｄ地図画像３１１を描画しても、常に、案内画像３１０中に表示される現在位置図形３１４の良好な視認性を確保することができるようになる。
【００５４】
以上、３Ｄ地図画像描画用のＤＬを用いた図３ｂに示す３Ｄ地図画像３１１の描画手順の概要を説明した。
さて、ナビゲーション処理部１３は、二次元地図表示モードが設定されている場合には、２Ｄ案内画像描画処理を行って図３ａに示した案内画像３００を表示し、三次元地図表示モードが設定されている場合には、３Ｄ案内画像描画処理を行って図３ｂに示した案内画像３１０を表示する。
【００５５】
また、図６ａ、図６ｂ、図７を用いて概要を説明した２Ｄ地図画像描画用のＤＬを用いた図３ａに示す２Ｄ地図画像３０１の描画手順は、この２Ｄ案内画像描画処理の実行中にナビゲーション処理部１３と２Ｄグラフィックエンジン１４１において実施されるものであり、図６ｃ、図６d、図８を用いて概要を説明した３Ｄ地図画像描画用のＤＬを用いた図３ｂに示す３Ｄ地図画像３１１の描画手順は、この３Ｄ案内画像描画処理の実行中にナビゲーション処理部１３と３Ｄグラフィックエンジン１４２において実施されるものである。
【００５６】
それでは、まず、図３ａに示した案内画像３００を表示するために行う２Ｄ案内画像描画処理について説明する。
図９に、この２Ｄ案内画像描画処理の手順を示す。
図示するように、この処理では、まず、案内画像３００の表示の更新時間間隔（リフレッシュレート）を定めるタイマを設定する（ステップ９０２）。そして、前述のように設定される地図表示範囲内に少なくとも一部が含まれる区画を算定する（ステップ９０４）。
次に、ＶＲＡＭ１５のワンユースＤＬ領域のテキスト描画用のＤＬとアイコン描画用のＤＬと案内図形描画用のＤＬの全ての消去を、ＶＲＡＭマネージャ１６に要求する（ステップ９０６）。ＶＲＡＭマネージャ１６は、ワンユースＤＬ領域のテキスト描画用のＤＬとアイコン描画用のＤＬと案内図形描画用のＤＬの全てを消去し、ＶＲＡＭマッピングテーブルの消去したＤＬのエントリを消去し、当該ＤＬのＤＬ領域に割り当てていたブロックを解放する。また、ナビゲーション処理部１３も、ＤＬ管理テーブルの消去したＤＬのエントリを消去する。
【００５７】
次に、ナビゲーション処理部１３は、算定している現在位置と現在進行方位と推奨ルートと目的地と、地図表示範囲と地図表示方位と地図表示縮尺とに応じて、案内画像３００に含める現在位置図形３０４や推奨ルート図形３０５や目的地図形を描画するための案内図形描画用のＤＬを生成し、生成した案内図形描画用のＤＬのＶＲＡＭ１５への書き込みを、ＶＲＡＭマネージャ１６に要求する（ステップ９０６）。
【００５８】
そして、ナビゲーション処理部１３は、次に、ＤＬ管理テーブルを参照して、ステップ９０４で算定した区画の内、ＶＲＡＭ１５に既に、その区画についての２Ｄ地図描画用のＤＬが格納されている区画をリユース区画に設定する（ステップ９１０）。ある区画についての２Ｄ地図描画用ＤＬがＶＲＡＭ１５に格納されているかどうかの判定は、ＤＬ管理テーブルに、その区画の区画番号が対応区画番号として登録され、ＤＬ種別として２Ｄ地図描画用が登録されているエントリが存在している場合に、その区画についての２Ｄ地図描画用ＤＬがＶＲＡＭ１５に格納されていると判定することにより行う。
【００５９】
次にナビゲーション処理部１３は、各リユース区画の区画データのテキストユニットと、地図表示範囲と地図表示方位と地図表示縮尺とに応じて、案内画像に含めるテキスト３０２を描画するためのテキスト描画用のＤＬを生成し、生成したテキスト描画用のＤＬのＶＲＡＭ１５への書き込みを、ＶＲＡＭマネージャ１６に要求する（ステップ９１２）。また、各リユース区画の区画データのアイコンユニットと、地図表示範囲と地図表示方位と地図表示縮尺とに応じて、案内画像に含めるアイコン３０３を描画するためのアイコン描画用のＤＬを生成し、生成したアイコン描画用のＤＬのＶＲＡＭ１５への書き込みを、ＶＲＡＭマネージャ１６に要求する（ステップ９１４）。
【００６０】
ここで、ＶＲＡＭマネージャ１６は、案内図形描画用のＤＬやテキスト描画用のＤＬやアイコン描画用のＤＬの書き込みを要求されると、書き込みを要求されたＤＬのＤＬ領域をワンユースＤＬ領域中に確保し、確保したＤＬ領域に当該ＤＬを書き込むと共に、書き込んだＤＬのエントリをＶＲＡＭマッピングテーブルに作成し、書き込んだＤＬのＤＬ番号と、書き込んだＤＬのＤＬ領域に割り当てたブロックのブロック番号とを作成したエントリに登録する。また、ナビゲーション処理部１３も、書き込んだＤＬのエントリをＤＬ管理テーブルに作成し、作成したエントリに、書き込んだＤＬのＤＬ番号と、ＤＬの種別と、書き込んだＤＬに対応する区画の区画番号と、書き込んだ案内図形描画用のＤＬのデータ容量とを、それぞれＤＬ番号、ＤＬ種別、対応区画番号、データ容量として登録する。
【００６１】
次に、ナビゲーション処理部１３は、ステップ９０４で算定した区画の内のリユース区画に設定した区画以外の区画を通常描画区画に設定する（ステップ９１６）。
そして、各通常描画区画について（ステップ９１８、９２８、９４０）、以下の処理を行う。
すなわち、まず、その区画の区画データのテキストユニットと、地図表示範囲と地図表示方位と地図表示縮尺とに応じて、案内画像に含めるテキスト３０２を描画するためのテキスト描画用のＤＬを生成し、生成したテキスト描画用のＤＬのＶＲＡＭ１５への書き込みを、ＶＲＡＭマネージャ１６に要求する（ステップ９２０）。また、その区画の区画データのアイコンユニットと、地図表示範囲と地図表示方位と地図表示縮尺とに応じて、案内画像に含めるアイコン３０３を描画するためのアイコン描画用のＤＬを生成し、生成したアイコン描画用のＤＬのＶＲＡＭ１５への書き込みを、ＶＲＡＭマネージャ１６に要求する（ステップ９２２）。
【００６２】
そして、次に、その区画の２Ｄ描画用ＤＬを前述の様に生成し、生成した２Ｄ地図画像描画用のＤＬの書き込みを、ＶＲＡＭマネージャ１６に要求する（ステップ９２４）。
ここで、ＶＲＡＭマネージャ１６は、２Ｄ地図画像描画用のＤＬの書き込みを要求されると、書き込みを要求されたＤＬのＤＬ領域をリユーザブルＤＬ領域中に確保し、ＤＬ領域を確保できたならば、確保したＤＬ領域に当該ＤＬを書き込むと共に、書き込んだＤＬのエントリをＶＲＡＭマッピングテーブルに作成し、書き込んだＤＬのＤＬ番号と、書き込んだＤＬのＤＬ領域に割り当てたブロックのブロック番号とを作成したエントリに登録し、書き込み成功をナビゲーション処理部１３に応答する。また、書き込み成功を応答された場合、ナビゲーション処理部１３は、書き込んだＤＬのエントリをＤＬ管理テーブルに作成し、作成したエントリに、書き込んだＤＬのＤＬ番号と、ＤＬの種別と、書き込んだＤＬに対応する区画の区画番号と、書き込んだ案内図形描画用のＤＬのデータ容量とを、それぞれＤＬ番号、ＤＬ種別、対応区画番号、データ容量として登録する。一方、ＶＲＡＭマネージャ１６は、空きブロック不足のために、書き込みを要求されたＤＬのＤＬ領域をリユーザブルＤＬ領域中に確保できなかった場合には、空き領域不足をナビゲーション処理部１３に応答する。
【００６３】
さて、ナビゲーション処理部１３は、２Ｄ地図画像描画用のＤＬの書き込み成功が応答された場合には（ステップ９２６）、その通常区画についての処理を終了する。
一方、２Ｄ地図画像描画用のＤＬの書き込み要求に対して、空き領域不足が応答された場合には（ステップ９２６）、ＤＬ管理テーブルに登録されているＤＬ種別が２Ｄ地図画像描画用のエントリのうちの、最終使用日時が最古のエントリのＤＬ番号が示すＤＬの消去をＶＲＡＭマネージャ１６に要求し（ステップ９３８）、ステップ９２４からの処理に戻る。ただし、ここでは、ＤＬ管理テーブルに登録されているＤＬ種別が２Ｄ地図画像描画用のエントリのうちの、書き込み要求を発行したＤＬのデータ容量以上のデータ容量が登録されているエントリのうちで最終使用日時が最古のエントリのＤＬ番号が示すＤＬの消去をＶＲＡＭマネージャ１６に要求するようにしてもよい。
【００６４】
ここで、２Ｄ地図画像描画用のＤＬの消去を要求されたＶＲＡＭマネージャ１６は、ＶＲＡＭ１５のリユーザブル領域から消去を要求された２Ｄ地図画像描画用のＤＬを消去すると共に、ＶＲＡＭマッピングテーブルの消去したＤＬのエントリを消去し、当該ＤＬのＤＬ領域に割り当てていたブロックを解放して空きブロックを生成する。また、ナビゲーション処理部１３も、ＤＬ管理テーブルの消去した２Ｄ地図画像描画用のＤＬのエントリを消去する。
【００６５】
次に、全ての通常区画について以上のステップ９２４、９２６、９３８の処理を終了したならば、ステップ９０４で算定した各区画の２Ｄ地図画像描画用のＤＬの描画を要求するシステムコールを前述のように生成し、２Ｄグラフィックエンジン１４１に発行する（ステップ９３０）。ここで、ステップ９０４で算定した各区画の２Ｄ地図画像描画用のＤＬは、ＤＬ管理テーブルのＤＬ種別が２Ｄ地図画像描画用のエントリであって、ステップ９０４で算定した区画の区画番号が対応区画番号として登録されているエントリに記述されたＤＬ番号のＤＬとして求まる。
【００６６】
次に、同様に、ステップ９０４で算定した各区画のテキスト描画用のＤＬの描画を要求するシステムコールとアイコン描画用のＤＬの描画を要求するシステムコールを２Ｄグラフィックエンジン１４１に発行する（ステップ９３２）。また、ステップ９０８でＶＲＡＭ１５に書き込んだ案内図形描画用のＤＬの描画を要求するシステムコールを２Ｄグラフィックエンジン１４１に発行する（ステップ９３４）。
【００６７】
ここで、ナビゲーション処理部１３は、以上のようにシステムコールでＤＬの描画を要求した場合には、描画を要求したＤＬのＤＬ番号が登録されているＤＬ管理テーブルのエントリに、最終使用日時として現在日時を登録する。
さて、ナビゲーション処理部１３は、以上のように各ＤＬの描画を要求するシステムコールを２Ｄグラフィックエンジン１４１に発行したならば、タイマのタイムアウトを待って、ステップ９０２からの処理を繰り返す。
以上、２Ｄ案内画像描画処理について説明した。
以上のように、この２Ｄ案内画像描画処理によれば、過去にＶＲＡＭ１５に書き込んだ２Ｄ地図画像描画用のＤＬが、今回表示しようとする案内画像３００の２Ｄ地図画像３０１の描画に用いることのできるものである場合には、この過去にＶＲＡＭ１５に書き込んだ２Ｄ地図画像描画用のＤＬを流用して、２Ｄ地図画像３０１を描画する。したがって、ナビゲーション処理部１３の、２Ｄ地図画像描画用のＤＬの生成の負荷を軽減することができるようになる。
【００６８】
たとえば、この２Ｄ案内画像描画処理では、図７ａに示すように区画Ｂと区画Ｄに跨って設定された地図表示範囲７０１に基づいて、図７ｂ、ｃに示すような二次元地図を表す区画Ｂの２Ｄ地図画像描画用のＤＬであるＤＬ-Ｂと区画Ｄの２Ｄ地図画像描画用のＤＬであるＤＬ-Ｄを生成しＶＲＡＭ１５に書き込んで、システムコールを発行し、図７ａに示す地図表示範囲７０１に対応する図７ｄの描画画像表示範囲７１１の画像を２Ｄ地図画像３０１として生成し、案内画像３００に含めて表示した後、図１０ａに示すように、区画Ａと区画Ｂの一部を含む地図表示範囲１００１が設定された場合、ナビゲーション処理部１３は、次のようにして、地図表示範囲１００１の二次元地図を表す地図画像３０１を描画させる。
【００６９】
すなわち、ナビゲーション処理部１３は、地図表示範囲１００１に一部が含まれる区画Ａと区画Ｂとのうち、対応する２Ｄ地図画像描画用のＤＬがＶＲＡＭ１５に保持されていない区画Ａについてのみ、図１０ｂに示すような二次元地図を表す区画Ａの２Ｄ地図画像描画用のＤＬであるＤＬ-Ａを生成しＶＲＡＭ１５に書き込む。そして、既にＶＲＡＭ１５に保持されている図１０ｃに示すような二次元地図を表す区画Ｂの２Ｄ地図画像描画用のＤＬであるＤＬ-Ｂと、書き込んだＤＬ-Ａとの描画を要求するシステムコールを発行し、２Ｄグラフィックエンジン１４１に、図１０ａに示す地図表示範囲１００１に対応する図１０ｄの描画画像表示範囲１０１１の画像を２Ｄ地図画像３０１として描画させる。この結果、この場合には、今回の２Ｄ地図画像３０１の生成のために、地図表示範囲１００１に一部が含まれる区画Ａと区画Ｂとのうちの区画Ｂについての２Ｄ地図画像描画用のＤＬの生成及びＶＲＡＭ１５への書き込みは行う必要がなくなる。
【００７０】
次に、３Ｄ案内画像描画処理について説明する。
３Ｄ案内画像描画処理は、２Ｄ地図画像描画用のＤＬに代えて３Ｄ地図画像描画用のＤＬを対象として処理を行う点を除き図９に示した２Ｄ案内画像描画処理と同様の処理となる。なお、３Ｄ案内画像描画処理では、システムコールは２Ｄグラフィックエンジン１４１に代えて、３Ｄグラフィックエンジン１４２に対して発行されることになる。
【００７１】
このような３Ｄ案内画像描画処理によれば、２Ｄ案内画像描画処理と同様に過去にＶＲＡＭ１５に書き込んだ３Ｄ地図画像描画用のＤＬが、今回表示しようとする案内画像３１０の３Ｄ地図画像３１１の描画に用いることのできるものである場合には、この過去にＶＲＡＭ１５に書き込んだ３Ｄ地図画像描画用のＤＬを流用して、３Ｄ地図画像３１１を描画する。したがって、ナビゲーション処理部１３の、３Ｄ地図画像描画用のＤＬの生成の負荷を軽減することができるようになる。
【００７２】
たとえば、この３Ｄ案内画像描画処理では、図８ａに示すように区画Ｂと区画Ｄに跨って設定された地図表示範囲８０１に基づいて、図８ｂ、ｃに示すような三次元地図を表す区画Ｂの３Ｄ地図画像描画用のＤＬであるＤＬ-Ｂと区画Ｄの３Ｄ地図画像描画用のＤＬであるＤＬ-Ｄを生成しＶＲＡＭ１５に書き込んで、システムコールを発行し、図８ｄの描画視点位置８１１から描画視線方向に描画視野角で観察した、図８ａに示す地図表示範囲８０１に対応する範囲８１２の画像を３Ｄ地図画像３１１として生成し、案内画像３１０に含めて表示した後、図１１ａに示すように、区画Ａと区画Ｂの一部を含むように地図表示範囲１１０１が設定された場合、ナビゲーション処理部１３は、次のようにして、地図表示範囲１１０１の三次元地図を表す地図画像３０１を描画させる。
【００７３】
すなわち、ナビゲーション処理部１３は、地図表示範囲１１０１に一部が含まれる区画Ａと区画Ｂとのうち、対応する３Ｄ地図画像描画用のＤＬがＶＲＡＭ１５に保持されていない区画Ａについてのみ、図１１ｂに示すような三次元地図を表す区画Ａの３Ｄ地図画像描画用のＤＬであるＤＬ-Ａを生成しＶＲＡＭ１５に書き込む。そして、既にＶＲＡＭ１５に保持されている図１１ｄに示すような三次元地図を表す区画Ｂの３Ｄ地図画像描画用のＤＬであるＤＬ-Ｂと、書き込んだＤＬ-Ａとの描画を要求するシステムコールを発行し、３Ｄグラフィックエンジン１４２に、図１１ｄの描画視点位置１１１１から描画視線方向に描画視野角で観察して得られる、図１１ａに示す地図表示範囲１１０１に対応する図１１ｄの範囲１１１２の画像を３Ｄ地図画像３１１として描画させる。この結果、この場合には、今回の３Ｄ地図画像３１１の描画のために、地図表示範囲１１１１に一部が含まれる区画Ａと区画Ｂとのうちの区画Ｂについての３Ｄ地図画像描画用のＤＬの生成及びＶＲＡＭ１５への書き込みは行う必要がなくなる。
【００７４】
以上、本発明の実施形態について説明した。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施形態に係るナビゲーションシステムの構成を示すブロック図である。
【図２】本発明の実施形態に係るナビゲーションシステムが備える地図データを示す図である。
【図３】本発明の実施形態に係るナビゲーションシステムの表示画面例を示す図である。
【図４】本発明の実施形態に係るナビゲーションシステムが備えるＶＲＡＭの構造を示す図である。
【図５】本発明の実施形態に係るナビゲーションシステムが備えるＶＲＡＭマッピングテーブルとＤＬ管理テーブルを示す図である。
【図６】本発明の実施形態に係るナビゲーションシステムで案内画像の表示のために用いるディスプレイリストとシステムコールを示す図である。
【図７】本発明の実施形態に係るナビゲーションシステムの２Ｄ地図画像の生成例を示す図である。
【図８】本発明の実施形態に係るナビゲーションシステムの３Ｄ地図画像の生成例を示す図である。
【図９】本発明の実施形態に係るナビゲーションシステムが行う２Ｄ案内画像描画処理を示すフローチャートである。
【図１０】本発明の実施形態に係るナビゲーションシステムの２Ｄ地図画像の生成例を示す図である。
【図１１】本発明の実施形態に係るナビゲーションシステムの３Ｄ地図画像の生成例を示す図である。
【符号の説明】
【００７６】
１…ナビゲーション装置、２…表示装置、３…車両状態センサ、４…ＧＰＳ受信機、５…操作部、６…地図データ記憶部、１１…ＩＯマネージャ、１２…表示装置ドライバ、１３…ナビゲーション処理部、１４…ウインドウシステム、１５…ＶＲＡＭ、１６…ＶＲＡＭマネージャ、１４１…２Ｄグラフィックエンジン、１４２…３Ｄグラフィックエンジン。
【図１】
0004711818.tif 000002
【図２】
0004711818.tif 000003
【図３】
0004711818.tif 000004
【図４】
0004711818.tif 000005
【図５】
0004711818.tif 000006
【図６】
0004711818.tif 000007
【図７】
0004711818.tif 000008
【図８】
0004711818.tif 000009
【図９】
0004711818.tif 000010
【図１０】
0004711818.tif 000011
【図１１】
0004711818.tif 000012