(57)【要約】【課題】地図データ更新中であっても、カーナビ機能の正常な動作を確保する。【解決手段】カーナビ装置１は、ＨＤＤ地図１１０、キャッシュ地図１０９を備え、ＨＤＤ地図１１０には全地域の地図データが格納され、キャッシュ地図１０９には、経路探索部１１５、誘導案内部１１６が用いる地域の地図データが格納される。キャッシュ地図エリア特定部１０８は、キャッシュ地図１０９に格納すべき地域の地図データファイルをナビアプリごとに特定し、その特定した地図データファイルの名称をナビアプリに対応付けてナビアプリ整合性管理テーブル１０３に格納する。整合性判断部１０４は、ナビアプリ整合性管理テーブル１０３にその名称が登録された地図データファイルの更新状況を監視するとともに、その監視により得られた更新状況（更新済または未済）をナビアプリ整合性管理テーブル１０３に格納する。【選択図】図１
2011007656.tif 000002
【特許請求の範囲】
【請求項１】
複数の地域の地図データをそれぞれの地図データファイルとして記憶する地図データ記憶手段と、その地図データを表示する表示手段と、自車位置を取得する位置取得手段と、目的地を設定する目的地設定手段と、を備え、前記地図データ記憶手段を参照して、前記自車位置から前記目的地までの誘導経路を探索し、その探索した誘導経路を前記表示手段に表示するカーナビゲーション装置であって、
前記カーナビゲーション装置の演算処理装置は、
前記地図データ記憶手段に記憶されている複数の地域の地図データファイルから、前記カーナビゲーション装置に含まれているアプリケーションプログラムごとに、そのアプリケーションプログラムの実行に必要な地域の地図データファイルを、前記目的地または前記誘導経路を含む地域およびその周辺地域の地図データファイルとして特定し、
前記地図データ記憶手段に記憶されている前記地図データファイルを更新する場合には、前記特定した地図データファイルについてその更新状況を監視し、
前記監視によって得られる前記特定した地図データファイルの更新状況とその地図データファイルの識別情報とを前記アプリケーションプログラムに対応付けた情報を、前記アプリケーションプログラムの動作の整合性を管理する管理情報として記憶装置に格納し、
前記管理情報にその識別情報が含まれている地図データファイルを更新する場合には、前記アプリケーションプログラムの実行状況と関連させて、その地図データファイルを更新し、前記管理情報にその識別情報が含まれている地図データファイル以外の地図データファイルを更新する場合には、前記アプリケーションプログラムの実行状況と関係なく、その地図データファイルを更新すること
を特徴とするカーナビゲーション装置。
【請求項２】
前記演算処理装置は、
誘導案内のアプリケーションプログラムを実行する場合には、前記管理情報を参照し、そのアプリケーションプログラムに対応付けられた地図データファイルの更新が完了しているか否かを判定し、その更新が完了しているときには、その更新された地図データファイルの地図データを用いて、再経路探索を行い、
前記再経路探索によって得られた新誘導経路と、前記地図データの更新前に得られていた旧誘導経路と、を比較し、新誘導経路のほうが目的地に早く到着すると判定される場合には、前記表示手段には、前記新誘導経路を表示すること
を特徴とする請求項１に記載のカーナビゲーション装置。
【請求項３】
前記演算処理装置は、
前記誘導経路に紐付けられた地図データを更新する場合には、その更新対象の地図データが示す位置へ自車が到達するまでの時間と、その更新対象の地図データを更新する時間と、を予測し、前記更新対象の地図データを更新する時間が、前記更新対象の地図データの示す位置へ自車が到達するまでの時間より小さいときに、前記更新対象の地図データを更新すること
を特徴とする請求項１に記載のカーナビゲーション装置。
【請求項４】
前記演算処理装置は、
前記地図データ記憶手段に記憶されている前記複数の地域についての地図データファイルのうち、前記管理テーブルにその識別情報が格納されている地図データファイルの更新を、それ以外の地図データファイルの更新よりも先に実行すること
を特徴とする請求項１に記載のカーナビゲーション装置。
【請求項５】
複数の地域の地図データをそれぞれの地図データファイルとして記憶する地図データ記憶手段と、その地図データを表示する表示手段と、自車位置を取得する位置取得手段と、目的地を設定する目的地設定手段と、を備え、前記地図データ記憶手段を参照して、前記自車位置から前記目的地までの誘導経路を探索し、その探索した誘導経路を前記表示手段に表示するカーナビゲーション装置のプログラムであって、
前記カーナビゲーション装置の演算処理装置に、
前記地図データ記憶手段に記憶されている複数の地域の地図データファイルから、前記カーナビゲーション装置に含まれているアプリケーションプログラムごとに、そのアプリケーションプログラムの実行に必要な地域の地図データファイルを、前記目的地または前記誘導経路を含む地域およびその周辺地域の地図データファイルとして特定する処理と、
前記地図データ記憶手段に記憶されている前記地図データファイルを更新する場合には、前記特定した地図データファイルについてその更新状況を監視する処理と、
前記監視によって得られる前記特定した地図データファイルの更新状況とその地図データファイルの識別情報とを前記アプリケーションプログラムに対応付けた情報を、前記アプリケーションプログラムの動作の整合性を管理する管理情報として記憶装置に格納する処理と、
前記管理情報にその識別情報が含まれている地図データファイルを更新する場合には、前記アプリケーションプログラムの実行状況と関連させて、その地図データファイルを更新し、前記管理情報にその識別情報が含まれている地図データファイル以外の地図データファイルを更新する場合には、前記アプリケーションプログラムの実行状況と関係なく、その地図データファイルを更新する処理と、
を実行させる
ことを特徴とするプログラム。
【請求項６】
前記演算処理装置に、
誘導案内のアプリケーションプログラムにおいて、前記管理情報を参照し、そのアプリケーションプログラムに対応付けられた地図データファイルの更新が完了しているか否かを判定し、その更新が完了しているときには、その更新された地図データファイルの地図データを用いて、再経路探索を行う処理と、
前記再経路探索によって得られた新誘導経路と、前記地図データの更新前に得られていた旧誘導経路と、を比較し、新誘導経路のほうが目的地に早く到着すると判定される場合には、前記表示手段には、前記新誘導経路を表示する処理と、
を実行させること
を特徴とする請求項５に記載のプログラム。
【請求項７】
前記演算処理装置に、
前記誘導経路に紐付けられた地図データを更新する場合には、その更新対象の地図データが示す位置へ自車が到達するまでの時間と、その更新対象の地図データを更新する時間と、を予測し、前記更新対象の地図データを更新する時間が、前記更新対象の地図データの示す位置へ自車が到達するまでの時間より小さいときに、前記更新対象の地図データを更新する処理を
を実行させること
を特徴とする請求項５に記載のプログラム。
【請求項８】
前記演算処理装置に、
前記地図データ記憶手段に記憶されている前記複数の地域についての地図データファイルのうち、前記管理テーブルにその識別情報が格納されている地図データファイルの更新を、それ以外の地図データファイルの更新よりも先に実行させること
を特徴とする請求項５に記載のプログラム。
【請求項９】
複数の地域の地図データをそれぞれの地図データファイルとして記憶する地図データ記憶手段と、その地図データを表示する表示手段と、自車位置を取得する位置取得手段と、目的地を設定する目的地設定手段と、を備え、前記地図データ記憶手段を参照して、前記自車位置から前記目的地までの誘導経路を探索し、その探索した誘導経路を前記表示手段に表示するカーナビゲーション装置における地図データ更新方法であって、
前記カーナビゲーション装置の演算処理装置は、
前記地図データ記憶手段に記憶されている複数の地域の地図データファイルから、前記カーナビゲーション装置に含まれているアプリケーションプログラムごとに、そのアプリケーションプログラムの実行に必要な地域の地図データファイルを、前記目的地または前記誘導経路を含む地域およびその周辺地域の地図データファイルとして特定し、
前記地図データ記憶手段に記憶されている前記地図データファイルを更新する場合には、前記特定した地図データファイルについてその更新状況を監視し、
前記監視によって得られる前記特定した地図データファイルの更新状況とその地図データファイルの識別情報とを前記アプリケーションプログラムに対応付けた情報を、前記アプリケーションプログラムの動作の整合性を管理する管理情報として記憶装置に格納し、
前記管理情報にその識別情報が含まれている地図データファイルを更新する場合には、前記アプリケーションプログラムの実行状況と関連させて、その地図データファイルを更新し、前記管理情報にその識別情報が含まれている地図データファイル以外の地図データファイルを更新する場合には、前記アプリケーションプログラムの実行状況と関係なく、その地図データファイルを更新すること
を特徴とする地図データ更新方法。
【請求項１０】
前記演算処理装置は、
前記誘導経路に紐付けられた地図データを更新する場合には、その更新対象の地図データが示す位置へ自車が到達するまでの時間と、その更新対象の地図データを更新する時間と、を予測し、前記更新対象の地図データを更新する時間が、前記更新対象の地図データの示す位置へ自車が到達するまでの時間より小さいときに、前記更新対象の地図データを更新すること
を特徴とする請求項９に記載の地図データ更新方法。
【請求項１１】
前記演算処理装置は、
前記地図データ記憶手段に記憶されている前記複数の地域についての地図データファイルのうち、前記管理テーブルにその識別情報が格納されている地図データファイルの更新を、それ以外の地図データファイルの更新よりも先に実行すること
を特徴とする請求項９に記載の地図データ更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カーナビゲーション装置およびそのプログラム、ならびに、そのカーナビゲーション装置で用いられる地図データの更新方法に関する。
【背景技術】
【０００２】
近年、道路を走行する車両用のナビゲーション装置（以下、カーナビゲーション装置、または、略して、カーナビ装置という）は、国内をはじめ、海外においても、急速に普及してきている。
【０００３】
カーナビ装置は、ハードディスク装置（ＨＤＤ：Hard Disk Drive）などに格納されている地図データと、ＧＰＳ（Global Positioning System）衛星の電波から取得される緯度・経度のデータと、に基づき、地図データ上で自車位置を特定し、その特定した自車位置とその近傍の地図とを表示装置に表示する。
【０００４】
また、カーナビ装置は、ユーザの入力操作に基づき、地図データ上で目的地を特定することにより、自車位置から目的地までの経路探索を行い、その探索した経路を、前記表示装置に表示した地図上に重ね合わせて表示するとともに、さらに、自車がその経路に沿って走行する場合には、経路誘導のための案内表示や音声出力などを行う。
【０００５】
カーナビ装置用の地図データは、いわゆるＫＩＷＩフォーマット、Ａフォーマット、Ｉフォーマットなどにフォーマットされたデータであり、エンドユーザへは、従来、カーナビ装置ベンダを介して、ＣＤ−ＲＯＭ（Compact Disk - Read Only Memory）／ＤＶＤ−ＲＯＭ（Digital Versatile Disk - Read Only Memory）などの可搬記憶媒体に格納された形態で提供されてきた。
【０００６】
そして、新地図データが可搬記憶媒体で提供されると、カーナビ装置のエンドユーザは、ハードディスク装置に格納されている旧地図データを、その可搬記憶媒体に格納されている新地図データで総入れ替えをして、新地図データに更新していた。
【０００７】
しかしながら、地図データの更新における実際の変更データは、多くても数パーセント程度であることを考慮した場合、このような可搬記憶媒体を介した地図更新は、必ずしも効率のよい方法とは言えない。また、可搬記憶媒体を介した地図更新では、日々、新しい道路などが建設または改修され、道路地図が変更されている実態に迅速に対応することができない。ちなみに、新地図データの提供は、よくても１年に１回程度しか行われておらず、そのため、相当箇所の地点で、カーナビ装置の地図データが実際の道路の実態と乖離する結果となっている。
【０００８】
こうしたなか、近年では、旧地図と新地図との差分地図データを作成し、その差分地図データを通信や放送を用いて配信するサービスが開始されている。この場合には、可搬記憶媒体などを介する必要がないので、新地図データを提供して更新するまでの業者およびエンドユーザの手数が軽減される。その結果、地図データの更新頻度を、例えば、１年に１回から、２〜３ヶ月に１回などに増やすことが可能となる。
【０００９】
一方、差分地図データを配信する場合には、その配信手段として通信または放送が用いられるため、差分地図データでデータ量が削減されているとはいえ、その地図データの配信および更新に長時間を要する。ちなみに、現状では、東京都の地図データを更新するだけでも３０分程度かかる。
【００１０】
例えば、特許文献１には、地図データを更新するとき、更新前の地図データを残しておき、その更新前の地図データを用いてカーナビ装置の動作を継続させ、全ての地図データ更新が完了したときに、全面的に新地図データに切り替えてカーナビ装置を動作させる地図データ更新方法が開示されている。
【００１１】
また、特許文献２には、地図データが階層的に構成され、車両の現在位置を含む地域の地図データを更新することにより地図データ配信の時間やコストを削減するカーナビ装置の例が開示されている。そのカーナビ装置は、更新中の地図データについては、更新前の地図データと更新後の地図データとの両方を記憶しておき、自車位置が更新地域内にあるときは更新前の地図データを用い、更新地域外にあるときは更新前の地図データを用いて経路誘導を行う。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平１１−９５６５７号公報
【特許文献２】特開２００３−３１５０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献１に開示された地図データ更新方法によれば、地図データ更新中であっても、カーナビ装置の機能を正常に動作させることができるが、新しい地図データが使用可能になるまで長時間かかるという欠点は解決されていない。しかも、地図データ更新中には、更新前の地図データを使用するので、現実にそぐわない経路誘導情報などが表示される可能性を避けることはできない。
【００１４】
また、特許文献２に開示されたカーナビ装置においては、更新した地域の境界付近の地図データと、その更新した地域に隣接する更新前の地図データと、の間で不整合が生じる可能性があり、そのため、表示する地図データと経路誘導データとが互いに矛盾するような結果が生じることがある。
【００１５】
以上のように、従来技術においては、更新した地図データを迅速に利用できるようにすることと、更新前の地域の地図データと更新後の地域の地図データとを利用して、矛盾なく経路探索をしたり、誘導データを表示したりすることと、をうまく両立させることができなかった。
【００１６】
そこで、本発明では、地図データ更新中であっても、カーナビ機能の正常な動作を確保し、かつ、更新した地図データを迅速に利用可能にすることができるようなカーナビゲーション装置、プログラムおよび地図データ更新方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明に係るカーナビゲーション装置は、複数の地域の地図データをそれぞれの地図データファイルとして記憶する地図データ記憶手段と、その地図データを表示する表示手段と、自車位置を取得する位置取得手段と、目的地を設定する目的地設定手段と、を備え、前記地図データ記憶手段を参照して、自車位置から目的地までの誘導経路を探索し、その探索した誘導経路を表示手段に表示する。そして、そのカーナビゲーション装置の演算処理装置は、次の処理を実行することを特徴とする。
（１）地図データ記憶手段に記憶されている複数の地域の地図データファイルから、当該カーナビゲーション装置に含まれているアプリケーションプログラムごとに、そのアプリケーションプログラムの実行に必要な地域の地図データファイルを、目的地または誘導経路を含む地域およびその周辺地域の地図データファイルとして特定する処理。
（２）地図データ記憶手段に記憶されている地図データファイルを更新する場合には、前記特定した地図データファイルについてその更新状況を監視する処理。
（３）前記監視によって得られる前記特定した地図データファイルの更新状況と、その地図データファイルの識別情報とを、前記アプリケーションプログラムに対応付けた情報を、前記アプリケーションプログラムの動作の整合性を管理する管理情報として記憶装置に格納する処理。
（４）前記管理情報にその識別情報が含まれている地図データファイルを更新する場合には、前記アプリケーションプログラムの実行状況と関連させて、その地図データファイルを更新し、前記管理情報にその識別情報が含まれている地図データファイル以外の地図データファイルを更新する場合には、前記アプリケーションプログラムの実行状況と関係なく、その地図データファイルを更新する処理。
【００１８】
以上のように、本発明においては、カーナビゲーション装置に含まれているアプリケーションプログラムごとに、そのアプリケーションプログラムの実行に必要な地域の地図データファイルを特定し、その特定した地図データファイルの更新状況を監視するようにしている。従って、本発明では、アプリケーションプログラムの実行に必要な地域の地図データファイルが更新されれば、全部の地域の地図データファイルの更新の完了を待つことなく、そのアプリケーションプログラムを正常に動作させることができる。
【００１９】
また、本発明では、前記特定した地図データファイルを更新するときには、アプリケーションプログラムの実行状況と関連させて更新するので、そのアプリケーションプログラムによって実現されるカーナビゲーション装置の正常な動作を確保することができる。
【発明の効果】
【００２０】
カーナビゲーション装置において、地図データ更新中であっても、その通常機能の正常な動作を実現することができ、かつ、更新した地図データを迅速に利用可能にすることができるようになる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係るカーナビ装置の機能ブロックの構成の例を示した図。
【図２】本発明の実施形態に係る地図配信センタの構成の例を示した図。
【図３】地図配信ホストコンピュータの内部構成の例を示した図。
【図４】地図配信ホストコンピュータのメイン処理の処理フローの例を示した図。
【図５】地図配信ホストコンピュータのメイン処理における差分抽出処理の処理フローの例を示した図。
【図６】地図データを構成するパーセルの概念を説明するための図。
【図７】地図データベースのファイル構成の概念を説明するための図。
【図８】カーナビ装置におけるメイン処理の処理フローの例を示した図。
【図９】カーナビ装置における地図更新処理の処理フローの例を示した図。
【図１０】カーナビ装置１における誘導案内処理の処理フローの例を示した図。
【図１１】カーナビ装置の地図更新処理におけるＤＢファイル更新処理の処理フローの例を示した図。
【図１２】ＤＢファイル名リストの構成の例を示した図。
【図１３】カーナビ装置の地図更新処理における差分更新処理の処理フローの例を示した図。
【図１４】カーナビ装置の誘導案内処理における誘導案内補正処理の処理フローの例を示した図。
【図１５】ナビアプリ整合性管理テーブルの構成の例を示した図。
【図１６】カーナビ装置の主記憶装置とＨＤＤとの間における関係データベース（ＲＤＢ）の動作を説明するための図。
【図１７】カーナビ装置の地図データベースにおける管理情報のデータ構成の例を示した図。
【図１８】ＨＤＤ上の地図データが地図メディア上の地図データにより更新される様子を表した第１の例を示した図（その１）。
【図１９】ＨＤＤ上の地図データが地図メディア上の地図データにより更新される様子を表した第１の例を示した図（その２）。
【図２０】ＨＤＤ上の地図データが地図メディア上の地図データにより更新される様子を表した第２の例を示した図（その１）。
【図２１】ＨＤＤ上の地図データが地図メディア上の地図データにより更新される様子を表した第２の例を示した図（その２）
【発明を実施するための形態】
【００２２】
以下、図面を参照して本発明の実施形態について詳しく説明する。
【００２３】
図１は、本発明の実施形態に係るカーナビ装置の機能ブロックの構成の例を示した図である。
【００２４】
図１に示すように、カーナビ装置１は、地図データベースを記憶したＨＤＤ地図１１０を備え、いわゆるカーナビとしての機能を実現する機能ブロックとして、車の走行速度を取得する車速取得部１１２、ＧＰＳ衛星からの電波から緯度・経度を特定して自車位置を決定する自車位置決定部１１３、ユーザにより選択されるＰＯＩ（Point of Interest）を目的地として設定する目的地設定部１１４、自車位置から目的地までの経路探索を行う経路探索部１１５、経路探索された結果に従って交差点案内などの誘導案内を行う誘導案内部１１６、地図や誘導案内を表示する表示部１１８などを備える。
【００２５】
これらの機能ブロックは、カーナビ装置１の図示しない演算処理装置（以下、「ＣＰＵ（Central Processing Unit）」という）が、半導体メモリなどからなる図示しない主記憶装置にロードされた所定のプログラムを実行することによって実現される。なお、本実施形態では、これらの機能ブロックを実現するためのプログラムを、以下、「ナビアプリ」という。
【００２６】
カーナビ装置１は、さらに、キャッシュ地図１０９を備え、本実施形態に特有の機能ブロックとして、更新用地図データ入力部１１７、キャッシュ地図エリア特定部１０８、キャッシュ地図更新部１０７、ファイル更新部１０１、差分更新部１０２、更新方式切替部１０５、更新時間計算部１０６、ナビアプリ整合性管理テーブル１０３、整合性判断部１０４、不整合補正部１１１などを備える。
【００２７】
更新用地図データ入力部１１７は、通信または放送を介して地図配信センタ２から配信され、通信装置４によって受信された更新用地図データを入力する、あるいは、可搬記憶媒体などからなる地図メディア５に記録された更新用地図データを読み取る。なお、通信装置４は、携帯電話機、データ放送の受信装置などである。
【００２８】
ファイル更新部１０１および差分更新部１０２は、更新用地図データ入力部１１７から入力された更新用地図データにより、ＨＤＤ地図１１０の地図データベースを構成する地図データのファイル（以下、「ＤＢファイル」という）を更新する。ここで、ＨＤＤ地図１１０は、図示しないハードディスク装置上に構成され、地図データベースの構成については、別途、図面を参照して説明する。
【００２９】
なお、ファイル更新部１０１は、ＨＤＤ地図１１０の地図データベースをＤＢファイルの単位で更新し、差分更新部１０２は、その地図データベースを差分データの単位で更新する。また、更新方式切替部１０５は、地図データを更新する方式（ファイル更新または差分更新）を切り替える。また、更新時間計算部１０６は、それぞれの更新方式ごとに地図データ更新に要する時間を計算する。
【００３０】
キャッシュ地図１０９は、ナビアプリによって高頻度で使用される地域の地図データをＨＤＤ地図１１０から取り出して、図示しない主記憶装置や高速の補助記憶装置（ハードディスク装置など）上に記憶したものであり、地図データのアクセスの高速化を目的として設けられたものである。
【００３１】
キャッシュ地図エリア特定部１０８は、自車位置または目的地までの誘導経路に基づき、キャッシュ地図１０９に記憶（キャッシュ）すべき地図データの対象地域（エリア）を特定する。その場合、キャッシュの対象となる地域は、それぞれのナビアプリ（自車位置決定、経路探索、誘導案内など）ごとに、そのナビアプリの正常な動作を確保するために必要な範囲の地域と定められる。そして、その範囲が、自車位置または目的地だけを含んだ地域なのか、隣接地域をも含むものかなどについては、ナビアプリごとにあらかじめ定められているものとする。
【００３２】
そこで、本実施形態では、キャッシュ地図エリア特定部１０８は、ナビアプリごとにそのキャッシュの対象となる地域を特定し、その特定した地域の地図データを記憶したＤＢファイルの名称（識別情報）を、そのナビアプリに対応付けて、ナビアプリ整合性管理テーブル１０３に格納する。なお、ナビアプリ整合性管理テーブル１０３の詳細については、別途、図１５を参照して説明する。
【００３３】
キャッシュ地図更新部１０７は、キャッシュ地図エリア特定部１０８により特定された地域に変更があった場合には、キャッシュ地図１０９にキャッシュされている地図データを、ＨＤＤ地図１１０の地図データに基づき更新する。また、更新用地図データ入力部１１７から、キャッシュ地図１０９にキャッシュされている地域の更新用地図データが入力された場合には、その地域の更新用地図データに基づき更新する。
【００３４】
なお、キャッシュ地図更新部１０７は、キャッシュ地図１０９を更新用地図データに基づき更新するときには、ナビアプリ整合性管理テーブル１０３を参照して、それぞれのナビアプリごとに地図データをキャッシュすべき地域としてリストアップされている地域の対応するＤＢファイルが更新された否かを監視し、その監視の結果を、ナビアプリ整合性管理テーブル１０３に格納する。
【００３５】
整合性判断部１０４は、ナビアプリ整合性管理テーブル１０３を参照して、各ナビアプリが使用する地域の地図のＤＢファイル、すなわち、キャッシュ地図１０９として記憶されている地域の地図のＤＢファイルが更新中（更新未済）であるか、または、更新完了した状態（更新済）であるかを判定する。そして、更新未済である場合には、そのナビアプリとの整合性がない（不整合有り）ものと判定する。不整合補正部１１１は、整合性判断部１０４により不整合有りと判定された場合には、そのナビアプリの中で、適宜、地図データの不整合を補正するための処理を実行する。
【００３６】
図２は、本発明の実施形態に係る地図配信センタ２の構成の例を示した図である。
【００３７】
図２に示すように、地図配信センタ２は、地図メディア作成装置２１、通信制御装置２２、地図配信ホストコンピュータ２３、データベース管理装置２４、並びに、複数のバージョンのＰＯＩデータベース２５および地図データベース２６を含んで構成される。
【００３８】
地図配信ホストコンピュータ２３は、地図メディア作成装置２１または通信制御装置２２を介して入力されるバージョン指定情報に基づき、全地図データまたは差分地図データを作成する。
【００３９】
ここで、全地図データとは、データベース管理装置２４で管理されている地図データベース２６のうち、前記バージョン指定情報により指定されたバージョンの地図データベース２６に含まれる全地図データをさす。ただし、地図データの更新に用いる全地図データの場合には、その全地図データとして、更新不要の地域の地図データを格納したＤＢファイルを含む必要はない。また、差分地図データとは、前記バージョン指定情報により指定されたバージョンの地図データベース２６の地図データと、最新バージョンの地図データベース２６の地図データと、の差分データをいう。
【００４０】
地図配信ホストコンピュータ２３は、その作成した全地図データまたは差分地図データを地図メディア作成装置２１へ出力して、その地図メディア作成装置２１により、全地図データまたは差分地図データが書き込まれた地図メディア５（図１参照、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなど）を作成する。地図配信ホストコンピュータ２３は、また、その作成した差分地図データを通信制御装置２２へ出力して、通信ネットワークや放送電波を介してカーナビ装置１へ配信する。
【００４１】
なお、図２に示すように、地図データベース２６と同様のデータベースとして、ＰＯＩデータベース２５があるが、本実施形態では、それらを総称して、単に、「地図データベース」という。また、地図データベースを構成するファイルを「ＤＢファイル」といい、そのＤＢファイルを構成するデータを「地図データ」という。
【００４２】
図３は、地図配信ホストコンピュータ２３の内部構成の例を示した図である。地図配信ホストコンピュータ２３は、地図配信センタ２の主要動作を司る中枢部であり、図３に示すように、地図メディア用地図データ選択部２３１、差分抽出部２３２、パケット処理部２３３、配信処理部２３４、地図コンテンツ決定部２３５、地図データベース選択部２３６、ＰＯＩデータベース選択部２３７、ネットワークＩ／Ｆ部２３８などを含んで構成される。
【００４３】
地図メディア用地図データ選択部２３１は、全地図データまたは差分地図データを地図メディア作成装置２１へ出力するとき、地図メディア５の作成の対象となる地域の地図データを格納したＤＢファイルを選択する。また、差分抽出部２３２は、２つの互いに異なるバージョン（通常は、その一方が最新バージョン）の地図データベースについて、その差分データを抽出する。
【００４４】
また、パケット処理部２３３は、差分抽出部２３２により抽出された差分データを配信する際の放送または通信パケットのフォーマットへ変換する。配信処理部２３４は、パケット処理を施した差分データを通信制御装置２２へ出力することにより、データ放送やデータ通信などのデータカルーセルやＩＰ（Internet Protocol）からなるデータ伝送路へ重畳する。
【００４５】
また、地図コンテンツ決定部２３５は、地図配信ホストコンピュータ２３に付属する入力装置（図示省略）などから入力されるデータに基づき、地図メディア作成装置２１または通信制御装置２２へ出力する地図データとしてどのような地図データ（地図データベース２６のデータ、ＰＯＩデータベース２５のデータ、または、両方のデータなど）を含ませるかを決定する。
【００４６】
地図データベース選択部２３６およびＰＯＩデータベース選択部２３７は、地図コンテンツ決定部２３５によって決定された地図データの種類に基づき、ネットワークＩ／Ｆ部２３８およびデータベース管理装置２４を介して、対象となるＰＯＩデータベース２５や地図データベース２６などを選択する。
【００４７】
なお、ここでは、地図配信ホストコンピュータ２３とデータベース管理装置２４とは、地図配信センタ２内に敷設された高速のＬＡＮ（Local Area Network）などで接続されているものとする。
【００４８】
図４は、地図配信ホストコンピュータ２３のメイン処理の処理フローの例を示した図である。
【００４９】
図４に示すように、地図配信ホストコンピュータ２３は、まず、地図メディア作成装置２１、通信制御装置２２またはキーボードなどの入力装置（図示せず）などから入力される地図配信または地図メディア作成の要求を受付ける（ステップＳ０１）。そして、その要求が地図配信要求であった場合には（ステップＳ０２でＹｅｓ）、地図配信ホストコンピュータ２３は、カーナビ装置１からそのカーナビ装置１がそのとき有している地図データベースおよびＰＩＯデータベースのバージョンを取得し（ステップＳ０３）、さらに、カーナビ装置１から自車位置の緯度・経度の情報を取得する（ステップＳ０４）。
【００５０】
次に、地図配信ホストコンピュータ２３は、それぞれの地域ごとの地図データについて差分データを抽出する差分抽出処理を実行する（ステップＳ０５）。さらに、地図配信ホストコンピュータ２３は、自車位置の緯度・経度の情報などに基づき、カーナビ装置１における差分更新順序を決定するとともに（ステップＳ０６）、その差分データの配信スケジュールを決定し（ステップＳ０７）、地図データの差分データをカーナビ装置１へ配信する（ステップＳ０８）。
【００５１】
また、ステップＳ０１で受付けられた要求が地図配信要求ではなく、地図メディア作成要求であった場合には（ステップＳ０２でＮｏ）、地図配信ホストコンピュータ２３は、キーボードなどの入力装置などからＰＯＩデータベース２５のバージョンおよび地図データベース２６のバージョンの入力を受付ける（ステップＳ１１）。
【００５２】
そして、地図配信ホストコンピュータ２３は、データベース管理装置２４を介して、前記受付けたバージョンのＰＯＩデータベース２５および地図データベース２６が地図配信センタ２の中に存在することを確認し（ステップＳ１２）、前記受付けたバージョンのＰＯＩデータベース２５および地図データベース２６を地図メディア５へ書き込む（ステップＳ１３）。なお、その存在が確認されなかった場合には、例えば、その旨を付属する表示装置などに表示する。
【００５３】
なお、ここでは、地図メディア作成装置２１で更新用地図データ作成する場合には、その更新用地図データは、全地図データであるとしているが、一般には、その限定は必要ではなく、差分データであってもよい。
【００５４】
図５は、地図配信ホストコンピュータ２３のメイン処理における差分抽出処理の処理フローの例を示した図である。図５に示すように、地図配信ホストコンピュータ２３は、まず、データベース管理装置２４を介して、地図配信センタ２における最新のＰＯＩデータベース２５のバージョンおよび最新の地図データベース２６のバージョンを取得し（ステップＳ０５１）、さらに、カーナビ装置１から送信される情報に基づき、カーナビ装置１に存在するＰＯＩデータベース２５のバージョンおよび地図データベース２６のバージョンを取得する（ステップＳ０５２）。
【００５５】
次に、地図配信ホストコンピュータ２３は、地図配信センタ２における最新バージョンのＰＯＩデータベース２５と、カーナビ装置１に存在するＰＯＩデータベースと同じバージョンのＰＯＩデータベース２５と、から新規ＩＤで管理されるＰＯＩレコードを検索し抽出し（ステップＳ０５３）、さらに、同様に、地図配信センタ２における最新バージョンのＰＯＩデータベース２５と、カーナビ装置１に存在するＰＯＩデータベースと同じバージョンのＰＯＩデータベース２５と、から既存ＩＤで管理されるＰＯＩレコードのうち、変更箇所があるＰＯＩレコードを検索し抽出する（ステップＳ０５４）。なお、これらの検索では、ＳＱＬ（Structured Query Language）によるクエリを用いてもよい。
【００５６】
次に、地図配信ホストコンピュータ２３は、地図配信センタ２における最新の地図データベース２６と、カーナビ装置１に存在する地図データベースと同じバージョンの地図データベース２６と、から新規ＩＤで管理される地図レコードを検索し抽出し（ステップＳ０５５）、さらに、同様に、地図配信センタ２における最新の地図データベース２６と、カーナビ装置１に存在する地図データベースと同じバージョンの地図データベース２６と、から既存ＩＤで管理される地図レコードのうち、変更箇所がある地図レコードを検索し抽出する（ステップＳ０５６）。これらの検索では、ＳＱＬによるクエリを行ってもよい。
【００５７】
次に、地図配信ホストコンピュータ２３は、以上のようにして差分として抽出されたＰＯＩレコードおよび地図レコードを、あらかじめ設定された放送や通信の仕様に従ってパケット化する（ステップＳ０５７）。
【００５８】
続いて、図６および図７を参照して、本実施形態で用いられるパーセルおよび地図データベースを構成するファイルについて説明する。ここで、図６は、地図データを構成するパーセルの概念を説明するための図、図７は、地図データベースのファイル構成の概念を説明するための図である。
【００５９】
図６に示すように、パーセルは、所定の大きさの区画に分割された１つの区画が表す地域の地図、または、その地図に含まれる地図データの総称であり、パーセルＩＤによって識別される。すなわち、パーセルＩＤは、矩形の大きさを指定するレベル情報と、その矩形の左下頂点の緯度および経度の情報とを連結した文字情報で表される。
【００６０】
ここで、レベル情報は、Ｌｖ１−Ｌｖ６まで６レベルあり、各レベルにおける矩形の大きさは、図７に示しているように、それぞれ、一辺が２．５ｋｍ、１０ｋｍ、４０ｋｍ、１６０ｋｍ、６４０ｋｍ、２５６０ｋｍである。また、緯度および経度の情報は、度表記の小数点以下２桁の１０進数で表される。
【００６１】
例えば、パーセルＩＤが“Ｌｖ４＋４０．００＋１４．００”である場合には、その矩形の左下頂点の位置は、北緯４０度、東経１４度であり、その一辺の大きさは１６０ｋｍとなる。なお、緯度および経度が、南緯および西経の場合には、それぞれ“＋”の代わりに“−”が付される。
【００６２】
パーセルＩＤの管理体系については、地図配信センタ２側で、あらかじめカーナビ装置の機種ならびにパーセルＩＤ管理体系（例えば、図６に示すようなパーセルＩＤフォーマット定義情報）を通信を介して取得し、地図配信センタ２側でパーセルＩＤフォーマット定義に基づいたＩＤ変換を行った後に地図更新データを配信するという手段を備えておくことでさまざまな機種のＰＮＤ（Personal Navigation Device）に対しても配信が可能となり、このような地図配信センタ２側の地図更新データを取得できるカーナビ装置であれば、新たな買い替えを必要とせずに機能実現を可能となる。
【００６３】
また、図７に示すように、地図データベース２６を構成する１つのファイル（本実施形態で「ＤＢファイル」と称しているもの）は、レベル情報がＬｖ１−ｌｖ４である場合には、一辺が３２０ｋｍの矩形の地域に含まれる地図データによって構成され、レベル情報がＬｖ５，ｌｖ６である場合には、一辺が２５６０ｋｍの矩形の地域に含まれる地図データによって構成される。
【００６４】
従って、Ｌｖ４のＤＢファイルには、１６０ｋｍ四方の地域の地図４枚分（Ｌｖ４のパーセル４個分）の地図データが格納され、Ｌｖ３のＤＢファイルには、４０ｋｍ四方の地域の地図６４枚分（Ｌｖ３のパーセル６４個分）の地図データが格納され、Ｌｖ２のＤＢファイルには、１０ｋｍ四方の地域の地図１０２４枚分（Ｌｖ２のパーセル１０２４個分）の地図データが格納され、Ｌｖ１のＤＢファイルには、２．５ｋｍ四方の地域の地図１６３８４枚分（Ｌｖ１のパーセル１６３８４個分）の地図データが格納される。
【００６５】
また、Ｌｖ５，ｌｖ６の地図データは、ともに１つのＤＢファイルに格納される。すなわち、２５６０ｋｍ四方の地域の地図１枚分（Ｌｖ６のパーセル１個分）の地図データおよび６４０ｋｍ四方の地域の地図１枚分（Ｌｖ５のパーセル４個分）の地図データが１つのＤＢファイルに格納される。
【００６６】
以上のように、全体を２５６０ｋｍ四方の地域とし、Ｌｖ１−Ｌｖ４のＤＢファイルに３２０ｋｍ四方の地域の地図データが含まれるとした場合には、Ｌｖ１−Ｌｖ４のＤＢファイルは、各レベル１６個、４レベル併せて６４個存在することになる。
【００６７】
なお、ＤＢファイルの名称も、パーセルＩＤと同様に、矩形の地域の大きさを指定するレベル情報と、その矩形の左下頂点の緯度および経度の情報とを連結した文字情報で表される。
【００６８】
図８は、カーナビ装置１におけるメイン処理の処理フローの例を示した図である。ここで、メイン処理とは、カーナビ装置１において電源が投入されて、電源が切断されるまでの一連の処理をいう。
【００６９】
図８に示すように、エンジンキーなどによりカーナビ装置１へ電源が投入される（電源ＯＮ）と、カーナビ装置１のＣＰＵ（以下、単に、「ＣＰＵ」という）は、補助記憶装置に記憶されているＯＳ（Operating System）、ナビアプリを主記憶装置にロードするなどの所定の初期化処理を実行する（ステップＳ２１）。
【００７０】
次に、ＣＰＵは、カーナビイベントを取得するループ処理へ入る（ステップＳ２２）。ここで、カーナビイベントとは、カーナビ装置１に付属する通信装置４、入力装置、センサインタフェースなどによって発生させられる割込イベントであり、また、タイマやプログラムにより発生させられるイベントを指す。
【００７１】
そこで、そのイベントが“自車位置更新イベント”であった場合には（ステップＳ２３でＹｅｓ）、ＣＰＵは、ＯＳが提供するメールボックスに、自車位置更新処理要求メッセージを送信する（ステップＳ２４）。このとき、ＣＰＵは、そのメールボックスに自車位置更新処理要求メッセージの存在を検知すると、自車位置更新処理の実行を開始し、そのとき受信しているＧＰＳ電波から自車位置の緯度・経度を取得する。
【００７２】
また、そのイベントが“地図表示イベント”であった場合には（ステップＳ２５でＹｅｓ）、ＣＰＵは、地図表示処理要求メッセージをメールボックスに送信する（ステップＳ２６）。このとき、ＣＰＵは、そのメールボックスに地図表示処理要求メッセージの存在を検知すると、そのとき取得されている自車位置をその中に含む所定の大きさの地図を表示装置上に表示する。
【００７３】
以下、同様に、そのイベントが“目的地設定イベント”であった場合には（ステップＳ２７でＹｅｓ）、ＣＰＵは、目的地設定処理要求メッセージをメールボックスに送信する（ステップＳ２８）。また、そのイベントが“経路探索イベント”であった場合には（ステップＳ２９でＹｅｓ）、ＣＰＵは、経路探索処理要求メッセージをメールボックスに送信する（ステップＳ３０）。また、そのイベントが“誘導案内イベント”であった場合には（ステップＳ３１でＹｅｓ）、ＣＰＵは、誘導案内処理要求メッセージをメールボックスに送信する（ステップＳ３２）。また、そのイベントが“地図更新イベント”であった場合には（ステップＳ３３でＹｅｓ）、ＣＰＵは、地図更新処理要求メッセージをメールボックスに送信する（ステップＳ３４）。また、そのイベントが“再起動イベント”であった場合には（ステップＳ３５でＹｅｓ）、ＣＰＵは、再起動処理要求メッセージをメールボックスに送信する（ステップＳ３６）。
【００７４】
さらに、そのイベントが“電源ＯＦＦイベント”であった場合には（ステップＳ３７でＹｅｓ）、ＣＰＵは、カーナビ終了処理要求メッセージをメールボックスに送信し（ステップＳ３８）、図８のメイン処理を終了する。
【００７５】
図９は、カーナビ装置１における地図更新処理の処理フローの例を示した図である。
【００７６】
図９に示すように、カーナビ装置１のＣＰＵは、まず、地図更新処理要求メッセージの有無を判定する（ステップＳ４１）。そして、その判定の結果、地図更新処理要求メッセージが有った場合には（ステップＳ４１でＹｅｓ）、ＣＰＵは、自車位置または誘導経路を含まない地図に対して、その地図データベースを構成するファイルのＤＢファイル更新方式を決定する（ステップＳ４２）。
【００７７】
ステップＳ４２の処理において、例えば、キャッシュ地図１０９にキャッシュしている地域の地図データのＤＢファイルについては、差分更新を行い、それ以外の地域の地図データのＤＢファイルについては、全地図データの更新（以下、「ファイル更新」という）を行うようにする。ファイル更新と差分更新のどちらを最初に実行するかを決定するために、更新時間計算部１０６により更新方式ごとの地図データ更新に要する時間を計算することで、更新時間が短いほうから先に実行するように決定する。例えば、ファイル更新および差分更新の更新時間を比較して、ファイル更新のほうが更新時間が短いことでファイル更新を差分更新よりも先にすると決定した場合には、ＣＰＵは、ステップＳ４２以降の処理を、次の順序に従って実行する。
【００７８】
ファイル更新は、ＤＢファイルを丸ごと書き換える通常のＦＩＬＥ処理のＩ／Ｆが活用できる。一方、差分更新を実現する上で関係データベース処理におけるＳＱＬ文の翻訳処理、表定義解析処理、ＨＤＤ上の物理空間上に対するページ検索処理などの一連の処理を組み込み機器上で実行する必要がある。このため、ファイル更新と差分更新の更新時間を比較したときに、更新データの量が一定以上になると差分更新よりもファイル更新のほうが早い場合が存在するため、本比較処理は、カーナビ装置１のような組み込み機器の処理特性を考慮して、ユーザに地図更新の時間を感じさせない処理を可能とする。
【００７９】
すなわち、ＣＰＵは、まず、地図データベースを構成するＤＢファイルについて、ＤＢファイル更新処理を実行する（ステップＳ４３）。なお、ＤＢファイル更新処理の詳細な処理フローについては、別途、図１１を参照して説明する。
【００８０】
次に、ＣＰＵは、差分更新の対象となるＤＢファイルを指定するＤＢファイル更新エリア情報（パーセルＩＤ）を地図配信センタ２へ送信し（ステップＳ４４）、さらに、自車位置の緯度・経度を地図配信センタ２へ送信する（ステップＳ４５）。
【００８１】
これに対し、地図配信センタ２は、カーナビ装置１から送信されるファイル更新エリア情報と自車位置の緯度・経度を受信すると、その自車位置が含まれる地域の地図データを含むパーセルまたはＤＢファイルについての差分データをカーナビ装置１へ配信する。そこで、カーナビ装置１のＣＰＵは、その配信される差分データを受信し（ステップＳ４６）、その受信した差分データに基づき、差分更新処理を行う（ステップＳ４７）。なお、差分更新処理の詳細な処理フローについては、別途、図１３を参照して説明する。
【００８２】
なお、地図更新処理の実行順序は、図９に示した順序に限定されることはなく、例えば、ＤＢファイル更新処理（ステップＳ４３）を差分更新処理（ステップＳ４７）の後に実行するようにしてもよい。その場合には、キャッシュ地図１０９のほうがＨＤＤ地図１１０よりも先に更新されるので、ナビアプリは、より早く更新された地図データを使用することができるようになる。
【００８３】
図１０は、カーナビ装置１における誘導案内処理の処理フローの例を示した図である。
【００８４】
図１０に示すように、カーナビ装置１のＣＰＵは、まず、誘導案内処理要求メッセージの有無を判定する（ステップＳ５１）。そして、その判定の結果、誘導案内処理要求メッセージが有った場合には（ステップＳ５１でＹｅｓ）、ＣＰＵは、ナビアプリ整合性管理テーブル１０３を参照し、ナビアプリ“誘導”についてパーセルＩＤで特定される地図データの地図更新処理が完了したか否かを判定する（ステップＳ５２）。そして、その判定の結果、地図更新処理が完了していた場合には（ステップＳ５２でＹｅｓ）、ＣＰＵは、ナビアプリ“誘導”が更新後の地図を参照するようにし（ステップＳ５３）、経路探索処理要求メッセージを送信することにより、経路探索処理に対し、誘導経路の再経路探索を要求する（ステップＳ５４）。
【００８５】
その後、ＣＰＵは、再経路探索後の誘導経路とそれまでの誘導経路とを比較し、再経路探索後の誘導経路のほうが目的地へ早く到着する場合には（ステップＳ５５でＹｅｓ）、
再経路探索後の誘導経路を表示装置に表示するとともに（ステップＳ５６）、再経路探索前と比べて誘導経路が変化した経路部分の道路や背景などを太線や目立つ色で強調表示する（ステップＳ５７）。一方、再経路探索後の誘導経路のほうが目的地へ早く到着しない場合には（ステップＳ５５でＮｏ）、表示装置には、再経路探索前の誘導経路を表示する（ステップＳ５８）。
【００８６】
また、ステップＳ５２の判定で、地図更新処理が完了していないと判定された場合には（ステップＳ５２でＮｏ）、誘導案内補正処理を行い（ステップＳ５９）、その誘導案内補正処理の結果に基づき、不整合の誘導情報を提示するときには、音声メッセージまたは表示装置に表示したメッセージによって、ユーザに対し「誘導案内が実際の道路と異なる場合がある」ことを通知する（ステップＳ６０）。
【００８７】
以上、ステップＳ５５の条件分岐処理を行うことによって、地図更新後に再経路探索した誘導経路が地図更新前の誘導経路よりも有利な誘導経路（例えば、最短時間経路）であるか否かが自動的に判定され、有利な誘導経路が表示装置に表示される。従って、ユーザの車両の運転は、地図更新によって妨げられることはない。そして、カーナビ装置１により提供される機能は、地図更新がされると即座に有効となるので、ユーザは、その機能をすぐに活用することが可能となる。
【００８８】
また、ステップＳ６０では、ユーザに「誘導案内が実際の道路と異なる場合がある」ことが通知されるため、ユーザは、誘導案内補正処理（ステップＳ５９）の後に地図に不整合があるか否かを、車両運転中であってもカーナビ装置１への操作をすることなく、その状況を把握することが可能となる。
【００８９】
図１１は、カーナビ装置１の地図更新処理におけるＤＢファイル更新処理の処理フローの例を示した図である。
【００９０】
カーナビ装置１のＣＰＵは、まず、地図メディア５を認識する（ステップＳ４３０１）。なお、ここでいう地図メディア５は、通常は、更新用地図データが記憶された可搬記憶媒体（ＣＤ−ＲＯＭ／ＤＶＤ−ＲＯＭなど）であるが、広義には、通信装置４などを介して通信可能に接続された地図配信センタ２を地図メディア５とみなしてもよい。
【００９１】
次に、ＣＰＵは、自車位置決定部１１３を介して自車位置を取得し（ステップＳ４３０２）、さらに、地図表示レベルを変更する（ステップＳ４３０３）。例えば、地図表示レベルがＬｖ５，６であった場合には、Ｌｖ４に変更する。
【００９２】
次に、ＣＰＵは、自車位置と地図データベースのＤＢファイル命名規則により、自車位置周辺に該当・非該当のＬｖ４−１のＤＢファイル名を特定し（ステップＳ４３０４）、ＤＢファイル名リストを作成する（ステップＳ４３０５）。
【００９３】
なお、ＤＢファイル名リストの構成については、別途、図１２を参照して説明するが、ＤＢファイル名リストには、それぞれのＤＢファイルのファイル名に対応付けて、“自車位置周辺ビット”、“削除ファイルサイズ”、“削除状態”、“コピー状態”の各情報が格納される。ここで、“自車位置周辺ビット”に“１”をセットするＤＢファイルは、実は、キャッシュ地図１０９にキャッシュされているＤＢファイルである。従って、ナビアプリ整合性管理テーブル１０３において自車位置決定アプリなどに対応付けられてリストされているＤＢファイルの名称に基づき、ＤＢファイル名リストにおける“自車位置周辺ビット”を“１”または“０”にセットしてもよい。
【００９４】
次に、ＣＰＵは、Ｌｖ５＿６に該当するＤＢファイルを地図データベースから切り離し（ステップＳ４３０６）、さらに、自車位置周辺に該当しないＬｖ４−１のＤＢファイルを地図データベースから切り離す（ステップＳ４３０７）。なお、このとき、自車位置周辺に該当するＬｖ４−１のＤＢファイルは、キャッシュ地図１０９上に残った状態にあり、これらのＤＢファイルを、以下、「旧自車位置周辺ＤＢファイル」という。
【００９５】
次に、ＣＰＵは、地図データベースを格納するハードディスク装置（以下、単に、「ＨＤＤ」という）の空き容量を確認する（ステップＳ４３０８）。ここまでの処理は、ＤＢファイル更新処理の前処理であり、ステップＳ４３０８でＨＤＤの空き容量がＤＢファイルの更新に充分な量であることが確認された場合には、以下のようにして更新処理そのものを実行する。
【００９６】
ＣＰＵは、まず、ＤＢファイル名リストを参照して、削除状態が“未削除”のファイルを１つずつ選択して削除し、ＤＢファイル名リスト上において、その削除したＤＢファイルの削除状態を“削除済み”に変更する（ステップＳ４３０９）。
【００９７】
次に、ＣＰＵは、ＤＢファイル名リストを参照して、自車位置周辺に該当するＤＢファイルを、地図メディア５からＨＤＤ（キャッシュ地図１０９）へリネームしてコピーする（ステップＳ４３１０）。なお、このステップにおいて、リネームしてコピーしたＤＢファイルを、以下、「新自車位置周辺リネームＤＢファイル」という。
【００９８】
次に、ＣＰＵは、ＤＢファイル名リストを参照して、自車位置周辺に該当しないＤＢファイルで、そのコピー状態が“未コピー”のＤＢファイルを選択してコピーし、ＤＢファイル名リスト上において、そのコピーしたＤＢファイルのコピー状態を“コピー済”に変更する（ステップＳ４３１１）。
【００９９】
次に、ＣＰＵは、旧自車位置周辺ＤＢファイルを削除し（ステップＳ４３１２）、新自車位置周辺リネームＤＢファイルの名称を対応する旧自車位置周辺ＤＢファイルと同じ名称に再リネームする（ステップＳ４３１３）。
【０１００】
以上により、地図データベースを構成するＤＢファイルの更新が完了したことになる。
【０１０１】
図１２は、ＤＢファイル名リストの構成の例を示した図である。図１２に示すように、ＤＢファイル名リスト１４０２には、地図データベースを構成するＤＢファイルそれぞれについて、“ファイル名”、“自車位置周辺ビット”、“削除ファイルサイズ”、“削除状態”、“コピー状態”の各情報が格納される。従って、このＤＢファイル名リスト１４０２を用いることによって、地図データベースを構成するＤＢファイルの更新状況を管理することができる。
【０１０２】
ちなみに、図１２（ａ）は、ステップＳ４３０５（図１１参照）が実行された直後のＤＢファイル名リスト１４０２に格納されたデータの例を示しており、ここでは、ステップＳ４３０４の処理結果を反映し、自車位置周辺に該当するＤＢファイルについては、その“自車位置周辺ビット”が“１”に設定されている。
【０１０３】
また、図１２の（ｂ）および（ｃ）は、それぞれ、ステップＳ４３０９およびステップＳ４３１１の処理実行中に、ＤＢファイル名リスト１４０２に格納されているデータの例を示している。図１２（ｂ）では、削除されたＤＢファイルについては、削除状態が“未削除”から“削除済”に変更されている。また、図１２（ｃ）では、コピーされたＤＢファイルについては、コピー状態が“未コピー”から“コピー済”に変更されている。
【０１０４】
なお、図１２において、ファイル名は、パーセルＩＤおよび地図表示レベルを示す値を所定のルールで符号化して生成した文字列である。
【０１０５】
図１３は、カーナビ装置１の地図更新処理における差分更新処理の処理フローの例を示した図である。
【０１０６】
カーナビ装置１のＣＰＵは、まず、差分更新処理対象の差分データから、そのとき誘導案内処理で利用中の誘導経路のノードデータに紐付けられた差分データを抽出する（ステップＳ４７０１）。すなわち、ＣＰＵは、誘導経路のノードデータに紐付けられた差分データを抽出することにより、誘導経路データを更新するための判断処理を実行できるようになる。次に、ＣＰＵは、車速取得部１１２を介して、自車の車速を取得する（ステップＳ４７０２）。なお、車速を取得するときには、例えば、１秒間隔で車速を取得し、その前１０秒分、すなわち、１０個の車速により移動平均をとった値を、そのときの車速とする。
【０１０７】
次に、ＣＰＵは、道路データの差分更新時間を計算し（ステップＳ４７０３）、さらに、誘導データの差分更新時間を計算する（ステップＳ４７０４）。この場合、その差分更新時間は、道路データまたは誘導データの差分データのサイズ、地図データベースを操作する命令（追加、削除、更新など）の単位データサイズについての処理完了時間などに基づき計算する。ちなみに、追加、削除、更新の単位データサイズについての処理完了時間は、それぞれ、０．１ms/byte，０．５ms/byte，０．２ms/byte程度である。
【０１０８】
なお、差分更新処理を通信または放送による差分データの配信を受けながら実行する場合には、その通信や放送による伝送時間も考慮する。その場合、伝送時間は、“差分データサイズ”×“伝送レート”により算出される。
【０１０９】
次に、ＣＰＵは、道路データの差分更新時間と自車の更新箇所への到達時間とを比較し、道路データの差分更新時間が更新箇所への到達時間より小さい場合には（ステップＳ４７０５でＹｅｓ）、道路データの差分更新を実施し（ステップＳ４７０６）、道路データの差分更新時間が更新箇所への到達時間より小さくない場合には（ステップＳ４７０５でＮｏ）、道路データの差分更新を実施しない。
【０１１０】
次に、ＣＰＵは、誘導の差分データが１ｋｍ先の交差点案内音声であった場合には（ステップＳ４７０７でＹｅｓ）、車速および自車位置を取得する（Ｓ４７０８）。さらに、ＣＰＵは、誘導データの差分更新時間が、自車位置から更新箇所間までの距離から１０００ｍを引いた距離を車速で割った値より小さいか否かを判定し、小さかった場合には（ステップＳ４７０９でＹｅｓ）、１ｋｍ先の交差点案内音声の誘導データの差分更新を実施する（ステップＳ４７１０）。
【０１１１】
一方、誘導データの差分更新時間が、自車位置から更新箇所間までの距離から１ｋｍを引いた距離を車速で割った値より小さくなかった場合には（ステップＳ４７０９でＮｏ）、その１ｋｍ先の交差点案内音声の誘導データの更新が間に合わないと判断し、ＨＤＤ地図１１０の管理情報の更新可否フラグに“不可”をセットする（ステップＳ４７１１）。なお、ＨＤＤ地図１１０の管理情報については、別途、図１７を参照して説明する。
【０１１２】
また、誘導の差分データが、１ｋｍ先の交差点案内音声でなく（ステップＳ４７０７でＮｏ）、３００ｍ先の交差点案内音声であった場合には（ステップＳ４７１２でＹｅｓ）、車速および自車位置を取得する（ステップＳ４７１３）。さらに、ＣＰＵは、誘導データの差分更新時間が、自車位置から更新箇所間までの距離から３００ｍを引いた距離を車速で割った値より小さいか否かを判定し、小さかった場合には（ステップＳ４７１４でＹｅｓ）、３００ｍ先の交差点案内音声の誘導データの差分更新を実施する（ステップＳ４７１５）。
【０１１３】
一方、誘導データの差分更新時間が、自車位置から更新箇所間までの距離から３００ｍを引いた距離を車速で割った値より小さくなかった場合には（ステップＳ４７１４でＮｏ）、その３００ｍ先の交差点案内音声の誘導データの更新が間に合わないと判断し、ＨＤＤ地図１１０の管理情報の更新可否フラグに“不可”をセットする（ステップＳ４７１６）。
【０１１４】
また、誘導の差分データが、３００ｍ先の交差点案内音声でなく（ステップＳ４７１２でＮｏ）、５０ｍ先の交差点案内音声であった場合には（ステップＳ４７１７でＹｅｓ）、車速および自車位置を取得する（ステップＳ４７１８）。さらに、ＣＰＵは、誘導データの差分更新時間が、自車位置から更新箇所間までの距離から５０ｍを引いた距離を車速で割った値より小さいか否かを判定し、小さかった場合には（ステップＳ４７１９でＹｅｓ）、５０ｍ先の交差点案内音声の誘導データの差分更新を実施する（ステップＳ４７２０）。
【０１１５】
一方、誘導データの差分更新時間が、自車位置から更新箇所間までの距離から５０ｍを引いた距離を車速で割った値より小さくなかった場合には（ステップＳ４７１９でＮｏ）、その５０ｍ先の交差点案内音声の誘導データの更新が間に合わないと判断し、ＨＤＤ地図１１０の管理情報の更新可否フラグに“不可”をセットする（ステップＳ４７２１）。
【０１１６】
以上、ステップＳ４７０７からステップＳ４７２１までのリアルタイム性が要求される誘導案内処理部分では、ＣＰＵは、誘導の差分データの更新が間に合うデータを優先して更新する。また、差分データの更新ができなかった場合には、更新できなかったことを更新可否フラグに保持するようにしたため、ＣＰＵは、誘導案内補正処理（図１０、ステップＳ５９参照）において、ＨＤＤ地図１１０の地図データを再検索することなく、その処理を実行することが可能となる。
【０１１７】
図１４は、カーナビ装置１の誘導案内処理における誘導案内補正処理の処理フローの例を示した図である。誘導案内補正処理は、道路データと誘導データとの間に矛盾がある場合に誘導案内を補正するための処理である。
【０１１８】
カーナビ装置１のＣＰＵは、まず、誘導データ列から自車位置に最も近いイベントを抽出する（ステップＳ５９０１）。次に、ＣＰＵは、道路リンクが更新されたか否かを判定し、道路リンクが更新されていた場合には（ステップＳ５９０２でＹｅｓ）、ＨＤＤ地図１１０の管理情報の更新可否フラグを参照する（ステップＳ５９０３）。
【０１１９】
そして、その道路リンクに紐付けられた誘導データの更新可否フラグおよび道路データの更新可否フラグのうち一方だけが“不可”であった場合には（ステップＳ５９０４でＹｅｓ）、ＣＰＵは、該当ノードＩＤごとにリンク数、リンク間の角度、道路種別などについて、道路データと誘導データとの間の差異を比較する（ステップＳ５９０５）。この処理により、一方だけが“不可”であった場合について、道路データと誘導データとの間の許容される差異が優先的に判断されることになるため、ＣＰＵは、ＨＤＤ地図１１０の地図データを再検索することなく、その判断処理（比較処理：ステップＳ５９０５）を実行することが可能となる。
【０１２０】
そして、その比較処理により、差異があった場合には（ステップＳ５９０６でＹｅｓ）、ＣＰＵは、ＨＤＤ地図１１０の管理情報において、当該誘導データの不一致フラグをセットする（ステップＳ５９０７）。このステップにおいて、誘導データの不一致フラグをセットしておくことにより、ＣＰＵは、リアルタイムの応答が要求されるユーザへの通知処理（図１０、ステップＳ６０参照）を、ＨＤＤ地図１１０の地図データを再検索することなく、即座に実行することが可能となる。
【０１２１】
一方、ステップＳ５９０２の判定で道路リンクが更新されていなかった場合（ステップＳ５９０２でＮｏ）、ステップＳ５９０４の判定で道路リンクに紐付けられた誘導データの更新可否フラグおよび道路データの更新可否フラグの両方がそろって“可”または“不可”であった場合（ステップＳ５９０４でＮｏ）、および、ステップＳ５９０５の比較で差異がなかった場合（ステップＳ５９０６でＮｏ）には、誘導案内の補正処理を行わない。
【０１２２】
図１５は、ナビアプリ整合性管理テーブル１０３の構成の例を示した図である。図１５に示すように、ナビアプリ整合性管理テーブル１０３は、アプリ名称、パーセル数、パーセルＩＤリスト、更新済フラグの各データによって構成される。
【０１２３】
ここで、アプリ名称は、カーナビ装置１で動作するナビアプリの名称、パーセル数は、当該ナビアプリが正常動作をする上で必要なパーセル数、パーセルＩＤリストは、当該ナビアプリが正常動作をする上で必要なパーセルのパーセルＩＤのリストである。なお、前記したように、このパーセルＩＤリストによって指定されるパーセルの地図データは、キャッシュ地図１０９に格納される。ナビアプリ整合性管理テーブル１０３の更新および参照は、前記の通りキャッシュ地図更新部１０７、キャッシュ地図エリア特定部１０８により実行される。
【０１２４】
更新済フラグは、パーセルＩＤリストによって指定されるすべてのパーセル（ＤＢファイル）の地図データの更新が終了したか否かを表す。すなわち、あるナビアプリに対応付けられた更新済フラグが、“済”である場合には、そのナビアプリの動作は保証される。一方、更新済フラグが、“未済”である場合には、そのナビアプリは、更新前のパーセルの地図データを使用して動作させる必要がある。
【０１２５】
また、ナビアプリ整合性管理テーブル１０３の中のパーセルＩＤリストは、自車位置の移動に伴って、適宜、書き換えられる。また、経路誘導アプリに対するパーセル数は、誘導経路を含む周辺のパーセルの数であって、誘導経路が探索されたとき、または、自車位置の移動に伴って、適宜、書き換えられる。
【０１２６】
このナビアプリ整合性管理テーブル１０３を備えることで、ナビアプリごとに、そのナビアプリの正常な動作に必要な地図データが格納されたパーセル（ＤＢファイル）の更新完了を検知することができる。従って、各ナビアプリは、すべての地図データの更新終了を待つことなく、自己の動作に必要な地図データの更新完了を検知することができ、その時点で、更新後の地図データの利用が可能となる。すなわち、カーナビ装置１のユーザにとってみれば、更新された新しい地図がより早く利用可能になる。
【０１２７】
なお、以上の図１５の説明において、なお、パーセル数をＤＢファイル数と言い換え、パーセルＩＤリストをＤＢファイルの名称のリストと言い換えてもよい。
【０１２８】
図１６は、カーナビ装置１の主記憶装置３０とＨＤＤ４０との間における関係データベース（ＲＤＢ：Relational Data Base）の動作を説明するための図である。
【０１２９】
図１６において、ＨＤＤ４０は、ＲＤＢが管理する地図データベースにおけるテーブルの名称、テーブルが保持するカラムの名称や型定義を定義するための表定義情報４１を備えている。表定義情報４１は、電源ＯＮ後の初期化処理によりＲＤＢが初期化されると、主記憶装置３０上のＤＢＭＳ（Database Management System）３１がロードされるメモリ空間中のメモリプール３１１上にロードされる。
【０１３０】
ＤＢＭＳ３１は、カーナビアプリから関数コールの形で地図アクセスの要求がくると、その関数コールの内容に応じてＳＱＬ文３２を生成する。ＳＱＬコンパイラ３３は、そのＳＱＬ文３２をすでにメモリプール３１１上にロードされている表定義情報を用いてＳＱＬ文３２の解釈を行う。
【０１３１】
データアクセス３４は、ＳＱＬ文３２の解釈の結果としての地図データベースにおける地図データの物理的な配置を解決し、地図データの管理単位であるページと、ページを管理する管理情報と、を特定し、主記憶装置３０上のグローバルバッファ３１２に逐次格納する。
【０１３２】
以上のように、管理情報４２とページとが主記憶装置３０にロードされることにより、ＣＰＵは、ナビアプリ実行時に、必要な地図データを主記憶装置３０から高速に参照することができ、ＲＤＢを介して参照するオーバーヘッドや、ＨＤＤ４０からデータをアクセスするオーバーヘッドをなくすことができる。
【０１３３】
図１７は、カーナビ装置１の地図データベースにおける管理情報４２のデータ構成の例を示した図である。図１７に示すように、管理情報４２は、ページサイズ、ページ数、ページ番号リスト、パーセルＩＤ、データ種別、更新可否フラグ、不一致フラグなどによって構成される。
【０１３４】
ここで、ページサイズは１ページのデータ容量、ページ数は当該地図データを保持するのに必要なページの数、ページ番号リストは当該地図データが保持されているページ番号（ページアドレス）のリスト、パーセルＩＤは当該地図データが属するパーセルのパーセルＩＤ、データ種別は当該地図データの種別（道路データ、誘導データ、背景データなど）である。
【０１３５】
また、更新可否フラグは、差分更新ができたか否かを示すフラグであり、差分更新処理（図１３参照）でセットされる。また、不一致フラグは、道路データと誘導データとが一致しているか否かを示すフラグであり、誘導案内補正処理（図１４参照）において該当する誘導データにセットされる。
【０１３６】
図１８および図１９は、ＨＤＤ上の地図データが地図メディア上の地図データにより更新される様子を表した第１の例を示した図である。
【０１３７】
図１８において、（ａ）は、地図更新を開始するときの地図データの状態を示した図であり、符号６１はＬｖ５＿６の地図、符号６２はＬｖ１−４の地図、符号６３は自車位置周辺地図、符号６４は自車位置を示している。
【０１３８】
ＤＢファイル更新処理（図１１参照）が実行されると、図１８（ｂ）に示すように、まず、古いＬｖ５＿６の地図６１と、自車位置周辺地図６３を除いた古いＬｖ１−４の地図６２と、が削除される。ここで、自車位置周辺地図６３は、キャッシュ地図１０３（図１参照）に格納されている。
【０１３９】
次に、図１９（ｃ）に示すように、Ｌｖ５＿６の地図６１および自車位置周辺地図６３を除いたＬｖ１−４の地図６２が、地図メディア５からＨＤＤへ、ファイル名を変えずにそのままコピーされる。また、自車位置周辺地図６３については、新しいファイルがリネーム後、キャッシュ地図１０３にコピーされる。
【０１４０】
次に、図１９（ｄ）に示すように、そのコピーが終了すると、図１９（ｅ）に示すように、古い自車位置周辺地図６３が削除され、リネーム後コピーされた新しい自車位置周辺地図６３が古い自車位置周辺地図６３と同じ名称に再リネームされる。以上により、図１９（ｆ）において、地図データの更新が完了する。
【０１４１】
図２０および図２１は、ＨＤＤ上の地図データが地図メディア上の地図データにより更新される様子を表した第２の例を示した図である。
【０１４２】
図２０において、（ａ）は、地図更新を開始するときの地図データの状態を示した図であり、符号７１はＬｖ５＿６の地図、符号７２はＬｖ１−４の地図、符号７３は自車位置周辺地図、符号７４は自車位置を示している。
【０１４３】
次に、ＤＢファイル更新処理（図１１参照）が実行されると、図２０（ｂ）に示すように、ＨＤＤ上の地図データにおいて、誘導経路７５が特定され、さらに、誘導経路周辺地図７７が特定される。さらに、図２０（ｃ）に示すように、まず、古いＬｖ５＿６の地図７１と、誘導経路周辺地図７７を除いた古いＬｖ１−４の地図７２と、が削除される。
【０１４４】
次に、図２１（ｄ）に示すように、Ｌｖ５＿６の地図７１および誘導経路周辺地図７７を除いたＬｖ１−４の地図７２が、地図メディア５からＨＤＤへ、ファイル名を変えずにそのままコピーされる。また、誘導経路周辺地図７７については、新しいファイルがリネーム後、キャッシュ地図１０３にコピーされる。
【０１４５】
次に、図２１（ｅ）に示すように、そのコピーが終了すると、図２１（ｆ）に示すように、古い誘導経路周辺地図７７が削除され、リネーム後コピーされた誘導経路周辺地図７７が古い誘導経路周辺地図７７と同じ名称に再リネームされる。以上により、図２１（ｇ）において、地図データの更新が完了する。
【符号の説明】
【０１４６】
１      カーナビ装置
２      地図配信センタ
４      通信装置
５      地図メディア
２１    地図メディア作成装置
２２    通信制御装置
２３    地図配信ホストコンピュータ
２４    データベース管理装置
２５    ＰＯＩデータベース
２６    地図データベース
１０１  ファイル更新部
１０２  差分更新部
１０３  ナビアプリ整合性管理テーブル
１０４  整合性判断部
１０５  更新方式切替部
１０６  更新時間計算部
１０７  キャッシュ地図更新部
１０８  キャッシュ地図エリア特定部
１０９  キャッシュ地図
１１１  不整合補正部
１１２  車速取得部
１１３  自車位置決定部
１１４  目的地設定部
１１５  経路探索部
１１６  誘導案内部
１１７  更新用地図データ入力部
１１８  表示部
２３１  地図メディア用地図データ選択部
２３２  差分抽出部
２３３  パケット処理部
２３４  配信処理部
２３５  地図コンテンツ決定部
２３６  地図データベース選択部
２３７  ＰＯＩデータベース選択部
２３８  ネットワークＩ／Ｆ部
【図１】
2011007656.tif 000003
【図２】
2011007656.tif 000004
【図３】
2011007656.tif 000005
【図４】
2011007656.tif 000006
【図５】
2011007656.tif 000007
【図６】
2011007656.tif 000008
【図７】
2011007656.tif 000009
【図８】
2011007656.tif 000010
【図９】
2011007656.tif 000011
【図１０】
2011007656.tif 000012
【図１１】
2011007656.tif 000013
【図１２】
2011007656.tif 000014
【図１３】
2011007656.tif 000015
【図１４】
2011007656.tif 000016
【図１５】
2011007656.tif 000017
【図１６】
2011007656.tif 000018
【図１７】
2011007656.tif 000019
【図１８】
2011007656.tif 000020
【図１９】
2011007656.tif 000021
【図２０】
2011007656.tif 000022
【図２１】
2011007656.tif 000023