(57)【要約】【課題】ナビゲーションの性能への影響を抑えつつ、地図情報を更新し得るナビゲーション装置を提供する。【解決手段】ナビゲーション装置であって、地図を構成する区画ごとに地図情報を記憶する記憶部と、記憶部に記憶されている地図情報を更新する地図更新部と、記憶部に記憶されている地図情報を読込む地図読込部と、地図読込部により読込まれた地図情報に基づいてナビゲーションを行うナビゲーション部と、を備え、地図更新部は、記憶部に記憶されている複数の区画の地図情報を更新する場合、ナビゲーション部により行われるナビゲーションの状態に応じて、複数の区画のうち一度に更新する区画の数を変更するようにした。【選択図】図１
2020016814.tif 000002
【特許請求の範囲】
【請求項１】
ナビゲーション装置であって、
地図を構成する区画ごとに地図情報を記憶する記憶部と、
前記記憶部に記憶されている地図情報を更新する地図更新部と、
前記記憶部に記憶されている地図情報を読込む地図読込部と、
前記地図読込部により読込まれた地図情報に基づいてナビゲーションを行うナビゲーション部と、
を備え、
前記地図更新部は、前記記憶部に記憶されている複数の区画の地図情報を更新する場合、前記ナビゲーション部により行われるナビゲーションの状態に応じて、前記複数の区画のうち一度に更新する区画の数を変更する、
ことを特徴とするナビゲーション装置。
【請求項２】
前記ナビゲーション部は、前記地図読込部により読込まれた地図情報に基づいて、表示部に地図を表示するナビゲーションを行い、
前記地図更新部は、前記ナビゲーション部により表示される対象の区画に基づいて、前記複数の区画のうち一度に更新する区画の数を変更する、
ことを特徴とする請求項１に記載のナビゲーション装置。
【請求項３】
前記地図更新部は、前記ナビゲーション部により表示される領域を示す表示領域に係る所定の区画が前記複数の区画に含まれていないと判定した場合、前記複数の区画の地図情報を一括で更新する第１の更新処理を行い、前記所定の区画が前記複数の区画に含まれていると判定した場合、前記複数の区画の地図情報を区画ごとに更新する第２の更新処理を行う、
ことを特徴とする請求項２に記載のナビゲーション装置。
【請求項４】
前記地図更新部は、前記第２の更新処理では、前記複数の区画のうち前記表示領域の中心に近い区画の地図情報から更新を行うと共に、地図情報を更新するごとに更新が完了したことを示す更新完了情報を前記地図読込部に通知し、
前記地図読込部は、前記地図更新部から更新完了情報を受信すると、更新された区画の地図情報を読込む、
ことを特徴とする請求項３に記載のナビゲーション装置。
【請求項５】
前記複数の区画は、詳細な地図を表示するための第１の階層に属する複数の第１の区画と、前記第１の階層よりも広域な地図を表示するための第２の階層に属する前記複数の第１の区画に対応する１つの第２の区画とにより構成され、
前記地図更新部は、前記第２の更新処理では、前記所定の区画が前記第１の階層に属する区画である場合、前記複数の第１の区画の地図情報を更新してから前記１つの第２の区画の地図情報を更新する、
ことを特徴とする請求項３に記載のナビゲーション装置。
【請求項６】
前記地図更新部は、前記表示領域の中心座標と前記１つの第２の区画の中心座標との距離と、閾値とを比較し、前記所定の区画が前記複数の区画に含まれているか否かを判定する、
ことを特徴とする請求項５に記載のナビゲーション装置。
【請求項７】
前記地図読込部は、目的地が入力された場合、入力された目的地の区画を含む複数の区画の地図情報を前記地図更新部に要求し、
前記地図更新部は、前記地図読込部からの要求に基づいて、地図配信サーバから前記目的地の区画を含む複数の区画の地図情報を取得し、取得した地図情報を用いて前記第２の更新処理を行い、前記第２の更新処理では、前記目的地の区画の地図情報の更新を行い、更新が完了したことを示す更新完了情報を前記地図読込部に通知し、
前記地図読込部は、前記地図更新部から更新完了情報を受信すると、前記目的地の区画の地図情報を読込み、読込んだ地図情報を前記ナビゲーション部に通知し、
前記ナビゲーション部は、前記地図読込部から地図情報を受信すると、前記地図情報を前記表示部に表示する、
ことを特徴とする請求項３に記載のナビゲーション装置。
【請求項８】
前記地図読込部は、目的地が入力された場合、入力された目的地の区画を含む複数の区画の地図情報を前記地図更新部に要求する前に、前記記憶部から前記目的地の区画の地図情報である未更新地図情報を読込み、読込んだ未更新地図情報を前記ナビゲーション部に通知し、
前記ナビゲーション部は、前記地図読込部から未更新地図情報を受信すると、前記未更新地図情報を前記表示部に表示し、前記地図読込部から前記地図配信サーバで記憶される前記目的地の区画の地図情報である更新地図情報を受信すると、前記表示部に表示している前記未更新地図情報を前記更新地図情報に切り替える、
ことを特徴とする請求項７に記載のナビゲーション装置。
【請求項９】
前記ナビゲーション部は、現在地から目的地までの経路を計算する際、前記地図読込部に経路の計算に用いる区画の地図情報を要求し、
前記地図読込部は、前記地図読込部からの要求に基づいて、前記経路の計算に用いる区画の地図情報を前記地図更新部に要求し、
前記地図更新部は、前記地図読込部からの要求に基づいて、地図配信サーバから前記経路の計算に用いる区画の地図情報を取得し、取得した地図情報を用いて前記第１の更新処理を行い、
前記地図読込部は、前記地図更新部により更新された前記経路の計算に用いる区画の地図情報を前記ナビゲーション部に通知し、
前記ナビゲーション部は、前記地図読込部から前記地図情報を受信すると、前記地図情報に基づいて前記経路の計算を行う、
ことを特徴とする請求項３に記載のナビゲーション装置。
【請求項１０】
前記記憶部に記憶される各区画の地図情報は、複数のデータベースに分割されて格納され、
前記地図読込部は、前記地図更新部により更新された更新済みの区画の地図情報を読込む際、前記複数のデータベースのうちの一のデータベースに格納される区画の地図情報が更新されているとき、前記一のデータベースとは異なる前記複数のデータベースのうちの他のデータベースに格納される前記更新済みの区画の地図情報を読込む、
ことを特徴とする請求項１に記載のナビゲーション装置。
【請求項１１】
前記地図読込部は、前記一のデータベースに格納される前記更新済みの区画の地図情報を最後に読込む、
ことを特徴とする請求項１０に記載のナビゲーション装置。
【請求項１２】
前記地図更新部は、前記ナビゲーション部により表示される領域を示す表示領域に係る所定の区画が前記複数の区画に含まれていないと判定した場合、前記複数の区画の地図情報をデータベースごとに一括で更新する第１の更新処理を行い、前記所定の区画が前記複数の区画に含まれていると判定した場合、前記複数の区画の地図情報をデータベースごと、かつ、区画ごとに更新する第２の更新処理を行う、
ことを特徴とする請求項１０に記載のナビゲーション装置。
【請求項１３】
地図を構成する区画ごとに地図情報を記憶する記憶部を備えるナビゲーションシステムにおけるナビゲーション方法であって、
地図更新部が、前記記憶部に記憶されている地図情報を更新する第１のステップと、
地図読込部が、前記記憶部に記憶されている地図情報を読込む第２のステップと、
ナビゲーション部が、前記地図読込部により読込まれた地図情報に基づいてナビゲーションを行う第３のステップと、
を備え、
前記地図更新部は、前記記憶部に記憶されている複数の区画の地図情報を更新する場合、前記ナビゲーション部により行われるナビゲーションの状態に応じて、前記複数の区画のうち一度に更新する区画の数を変更する、
ことを特徴とするナビゲーション方法。
【請求項１４】
前記ナビゲーション部は、前記地図読込部により読込まれた地図情報に基づいて、表示部に地図を表示するナビゲーションを行い、
前記地図更新部は、前記ナビゲーション部により表示される対象の区画に基づいて、前記複数の区画のうち一度に更新する区画の数を変更する、
ことを特徴とする請求項１３に記載のナビゲーション方法。
【請求項１５】
前記記憶部に記憶される各区画の地図情報は、複数のデータベースに分割されて格納され、
前記地図読込部は、前記地図更新部により更新された更新済みの区画の地図情報を読込む際、前記複数のデータベースのうちの一のデータベースに格納される区画の地図情報が更新されているとき、前記一のデータベースとは異なる前記複数のデータベースのうちの他のデータベースに格納される前記更新済みの区画の地図情報を読込む、
ことを特徴とする請求項１３に記載のナビゲーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はナビゲーション装置およびナビゲーション方法に関し、例えば車両に搭載されるナビゲーション装置およびナビゲーション方法に適用して好適なものである。
【背景技術】
【０００２】
カーナビゲーションシステム（以降、カーナビ）は、ストレージに格納された地図データを参照してドライバーに案内情報を提供する装置である。カーナビが提示する案内情報は、収録されている地図データに依存するため、可能な限り新しい地図データを用いることが望ましい。そのため、カーナビの実行中にバックグラウンドで地図データを更新するための技術の開発が進められている。
【０００３】
近年、判定手段によって実行地図データに更新用データを適用すると判定された場合に、更新用データを参照してナビゲーション処理をおこなう一方、判定手段によって実行地図データに更新用データを適用しないと判定された場合に、非更新地図データを参照してナビゲーション処理をおこなう参照手段と、更新用データを用いて地図データを更新する更新手段と、を有することを特徴とする地図データ処理装置地図データ処理装置が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１０／１１６５１３号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されている技術では、ナビゲーション処理と並行して地図の更新を行うことによるナビゲーションの性能の低下について考慮されていない。
【０００６】
本発明は以上の点を考慮してなされたもので、ナビゲーションの性能への影響を抑えつつ、地図情報を更新し得るナビゲーション装置等を提案しようとするものである。
【課題を解決するための手段】
【０００７】
かかる課題を解決するため本発明においては、例えば、ナビゲーション装置であって、地図を構成する区画ごとに地図情報を記憶する記憶部と、前記記憶部に記憶されている地図情報を更新する地図更新部と、前記記憶部に記憶されている地図情報を読込む地図読込部と、前記地図読込部により読込まれた地図情報に基づいてナビゲーションを行うナビゲーション部と、を備え、前記地図更新部は、前記記憶部に記憶されている複数の区画の地図情報を更新する場合、前記ナビゲーション部により行われるナビゲーションの状態に応じて、前記複数の区画のうち一度に更新する区画の数を変更するようにした。
【０００８】
上記構成によれば、ナビゲーションの状態に応じて、更新対象の複数の区画のうち一度に更新する区画の数を変更することで、一度の更新に要する時間を調整できるので、例えば、表示に必要な場合は更新時間が短くなるように更新する区画の数を減らすことで、表示に要する時間への影響を抑えることができる。
【発明の効果】
【０００９】
本発明によれば、地図情報を適切に更新することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態によるナビゲーションシステムに係る構成の一例を示す図である。
【図２】第１の実施の形態による地図データの一例を示す図である。
【図３】第１の実施の形態による更新データの一例を示す図である。
【図４】第１の実施の形態による配信データの一例を示す図である。
【図５】第１の実施の形態によるパーセル更新態様の一例を示す図である。
【図６】第１の実施の形態による表示態様の一例を示す図である。
【図７】第１の実施の形態による動作シーケンスの一例を示す図である。
【図８】第１の実施の形態による動作シーケンスの一例を示す図である。
【図９】第１の実施の形態による動作シーケンスの一例を示す図である。
【図１０】第１の実施の形態による地図データ更新処理に係るフローチャートの一例を示す図である。
【図１１】第１の実施の形態による地図更新処理Ａに係るフローチャートの一例を示す図である。
【図１２】第１の実施の形態による地図更新処理Ｂに係るフローチャートの一例を示す図である。
【図１３】第１の実施の形態による動作シーケンスの一例を示す図である。
【図１４】第２の実施の形態によるナビゲーションシステムに係る構成の一例を示す図である。
【図１５】第２の実施の形態による更新データの一例を示す図である。
【図１６】第２の実施の形態による配信データの一例を示す図である。
【図１７】第２の実施の形態による地図更新処理Ａに係るフローチャートの一例を示す図である。
【図１８】第２の実施の形態による地図更新処理Ｂに係るフローチャートの一例を示す図である。
【図１９】第２の実施の形態による読込処理に係るフローチャートの一例を示す図である。
【図２０】第２の実施の形態による動作シーケンスの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下図面について、本発明の一実施の形態を詳述する。以下、図１〜図１３を用いて第１の実施の形態を説明し、図１４〜図２０を用いて第２の実施の形態を説明する。
【００１２】
（１）第１の実施の形態
図１において、１は全体として第１の実施の形態によるナビゲーションシステムを示す。ナビゲーションシステム１は、ナビゲーション処理を実行中に地図データを更新する。ナビゲーションシステム１は、地図データの更新を行う際のナビゲーション装置１０の状態に応じて地図更新処理を切り替えることで、地図データの更新中における地図の描画性能を向上するものである。
【００１３】
図１は、ナビゲーションシステム１に係る構成の一例を示す図である。ナビゲーションシステム１は、ナビゲーション装置１０および地図配信サーバ２０を備える。ナビゲーション装置１０および地図配信サーバ２０は、通信網３０を介して通信可能に接続されている。
【００１４】
ナビゲーション装置１０は、例えば、自動車などの車両に搭載されるカーナビゲーション装置であり、地図配信サーバ２０から配信される最新の地図データを用いて、目的地までの走行経路を算出し、所定の範囲の地図、特に自車両の周辺の地図を描画して表示部１３０に表示する。本実施の形態では、ナビゲーション装置１０が自動車に搭載されるケースを例に挙げて説明する。
【００１５】
なお、図１では、ナビゲーション装置１０は、１台しか示されていないが、複数台であってもよく、地図配信サーバ２０は、複数のナビゲーション装置１０と接続可能である。ただし、地図配信サーバ２０は、何れのナビゲーション装置１０に対しても同様に処理を行うので、本実施の形態では、１台のナビゲーション装置１０が接続されている場合を例に挙げて説明する。
【００１６】
ナビゲーション装置１０は、制御部１１０、記憶部１２０、表示部１３０、操作部１４０、センサ部１５０、および通信部１６０を備える。
【００１７】
制御部１１０は、ナビゲーションに係る一連の処理を実行する。記憶部１２０は、地図データ１２１と、バージョンＤＢ１２２および更新データＤＢ１２３を含んで構成される更新データ１２４とを記憶する。表示部１３０は、ナビゲーション画面（例えば、地図画面）を表示してユーザに提示する。操作部１４０は、ユーザによる目的地等の入力を受け付ける。センサ部１５０は、ナビゲーション装置１０の位置等を取得する。通信部１６０は、地図配信サーバ２０と通信を行う。
【００１８】
より具体的には、制御部１１０は、図示は省略するＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）を備え、ＣＰＵがＲＯＭに格納されたプログラムをＲＡＭに展開して実行することによりナビゲーション装置１０の機能を実現する。記憶部１２０は、例えば、不揮発性で書き換え可能な記憶デバイスであり、フラッシュメモリ、ハードディスク等である。表示部１３０は、例えば、液晶ディスプレイである。操作部１４０は、例えば、複数のボタンである。ただし、表示部１３０と操作部１４０がタッチパネルとして一体に構成されてもよい。
【００１９】
なお、ナビゲーション装置１０の機能（地図更新部１１１、地図読込部１１２、地図描画部１１３、経路計算部１１４等）は、専用のハードウェアとして実現する構成としてもよいし、制御部１１０が実行するソフトウェアモジュールとして実現する構成としてもよい。また、ナビゲーション装置１０の機能の一部は、ナビゲーション装置１０と通信可能な他のコンピュータにより実現されてもよい。
【００２０】
ここで、ナビゲーション装置１０の機能として、制御部１１０は、地図更新部１１１と、地図読込部１１２と、地図描画部１１３および経路計算部１１４を含んで構成され、ユーザを案内するナビゲーション処理全般を行うナビゲーション部１１５とを実現する。地図更新部１１１は、地図配信サーバ２０から配信データ１８１を取得して更新データ１２４を更新する。地図読込部１１２は、記憶部１２０から地図データ１２１および更新データ１２４を読込み、地図描画部１１３および経路計算部１１４に提供する。地図描画部１１３は、ナビゲーション部１１５の１つの処理として自車両の位置（自車両位置）の周辺の地図等を描画する。経路計算部１１４は、ナビゲーション部１１５の１つの処理として自車両位置から目的地までの経路を計算する。
【００２１】
地図配信サーバ２０は、制御部１７０、記憶部１８０、および通信部１９０を備える。制御部１７０は、地図データを配信する一連の処理を行う。記憶部１８０は、配信データ１８１を記憶している。通信部１９０は、ナビゲーション装置１０と通信を行う。
【００２２】
制御部１７０は、例えばコンピュータであり、図示は省略するＣＰＵ、ＲＯＭ、およびＲＡＭを備え、ＣＰＵがＲＯＭに格納されたプログラムをＲＡＭに展開して実行することにより後述する機能を実現する。なお、地図配信サーバ２０の機能（例えば、地図配信部１７１）は、専用のハードウェアとして実現する構成としてもよいし、制御部１７０が実行するソフトウェアモジュールとして実現する構成としてもよい。また、地図配信サーバ２０の機能の一部は、地図配信サーバ２０と通信可能な他のコンピュータにより実現されてもよい。記憶部１８０は、例えば、不揮発性で書き換え可能な記憶デバイスであり、フラッシュメモリ、ハードディスク等である。
【００２３】
地図配信サーバ２０の機能として、制御部１７０は、配信データ１８１をナビゲーション装置１０に配信する地図配信部１７１を実現する。
【００２４】
なお、地図配信サーバ２０は、物理マシンに限られるものではなく、例えば、仮想マシンであってもよい。
【００２５】
図２は、ナビゲーション装置１０に格納されている地図データ１２１の一例を示す図である。
【００２６】
ここで、一般的に、カーナビ用の地図データは、小さな矩形で区切られた複数の区画（以降、パーセルと称する。）で構成されている。また、複数の階層を持ち、上位階層の１個のパーセルは、下位階層の複数のパーセルに対応している。このような構成にして、例えば、上位階層には高速道路のみを収録し、下位階層には細街路等まで含めた全道路を収録することにより、縮尺に応じた地図表示、経路計算の高速化を可能にしている。
【００２７】
地図データ１２１は、パーセルＩＤ２１０、背景データ２２０、道路データ２３０、および形状データ２４０を含んで構成されている。パーセルＩＤ２１０は、各パーセルを一意に識別するＩＤ（identification）である。背景データ２２０は、地図画面に描画する建物、公園の形状などを格納するデータである。道路データ２３０は、道路の種別（高速道路、細街路等）、各道路リンクを通過する際のコスト等を格納するデータである。形状データ２４０は、地図画面に描画する道路の形状などを格納するデータである。
【００２８】
本実施の形態では、地図データ１２１が、レベル１の階層２５０とレベル２の階層２６０との２つの階層で構成され、レベル２の階層２６０の１個のパーセルは、レベル１の階層２５０の１６個のパーセルに対応しているケースを例に挙げて説明する。また、本実施の形態では、表示部１３０に表示される地図画面の領域を示す表示領域２７０に係るパーセルに応じて地図更新処理が変更されるように構成されている。
【００２９】
地図描画部１１３は、表示領域２７０に係る各パーセルの全てのデータ２８０（例えば、レベル１のパーセル「Ｐ１−１６」の背景データ２２０、道路データ２３０、および形状データ２４０）を参照して各パーセルの表示用の表示地図２９０（例えば、レベル１の階層２５０のパーセル「Ｐ１−１６」の表示地図）を作成し、表示部１３０に表示する。
【００３０】
なお、図２では、レベル１の階層２５０とレベル２の階層２６０とに、表示領域２７０を示しているが、表示部１３０に表示されるのは、基本的には、レベル１の階層２５０の地図とレベル２の階層２６０の地図との何れか一方である。ただし、レベル１の階層２５０の地図とレベル２の階層２６０の地図とが、例えば表示部１３０の画面の上下に分かれて、同時に表示される構成であってもよい。
【００３１】
図３は、ナビゲーション装置１０に格納されている更新データ１２４の一例を示す図である。更新データ１２４は、バージョンＤＢ１２２および更新データＤＢ１２３を含んで構成される。
【００３２】
バージョンＤＢ１２２は、各パーセルのバージョンを格納するデータベースである。バージョンＤＢ１２２には、パーセルＩＤ３０１とバージョン３０２との情報が対応付けて格納される。
【００３３】
更新データＤＢ１２３は、地図配信サーバ２０から取得した配信データ１８１を格納するデータベースである。更新データＤＢ１２３は、パーセルＩＤ３１１、背景データ３１２、道路データ３１３、および形状データ３１４を含んで構成されている。なお、背景データ３１２、道路データ３１３、および形状データ３１４は、図２で説明した地図データ１２１の背景データ２２０、道路データ２３０、および形状データ２４０と同様であるので、その説明を省略する。
【００３４】
図４は、地図配信サーバ２０に格納されている配信データ１８１の一例を示す図である。配信データ１８１は、地図データのレベル２の階層２６０の１個のパーセル単位で作成されている。配信データ１８１は、レベル２の階層２６０の１個のパーセルのデータと、当該パーセルに対応するレベル１の階層２５０の１６個のパーセルのデータとを格納している。
【００３５】
配信データ１８１は、パーセルＩＤ４０１、背景データ４０２、道路データ４０３、および形状データ４０４を含んで構成される。背景データ４０２、道路データ４０３、および形状データ４０４は、図２で説明した地図データ１２１の背景データ２２０、道路データ２３０、および形状データ２４０と同様であるので、その説明を省略する。
【００３６】
以下、ナビゲーションシステム１の動作の流れを説明する。
【００３７】
図５は、ナビゲーション装置１０が目的地までの経路を計算する際に、各パーセルを処理（例えば、更新）していく様子を例示する図（パーセル更新態様５００の一例を示す図）である。
【００３８】
パーセル更新態様５１０，５２０，５３０，５４０は、レベル２の階層２６０の複数のパーセルを示している。パーセル更新態様５１０，５２０，５３０，５４０において、模様を付したパーセルは、未処理のパーセル（未更新のパーセル）を意味し、模様を付していないパーセルは、処理済みのパーセル（更新済みのパーセル）を意味する。
【００３９】
また、自宅５１１は、ユーザが設定した自宅の位置を示すものである。初期状態では、何れのパーセルも未更新である（パーセル更新態様５１０）。次に、ナビゲーションシステム１は、ナビゲーション装置１０が起動すると、自宅５１１周辺の２５枚のパーセル５２１を更新する（パーセル更新態様５２０）。次に、ナビゲーションシステム１は、ユーザが目的地５３１を設定すると、目的地５３１が存在するパーセル５３２を更新する（パーセル更新態様５３０）。次に、ナビゲーションシステム１は、目的地５３１までの経路５４１が決まると、経路５４１沿いの複数のパーセル５４２を更新する（パーセル更新態様５４０）。
【００４０】
このように、ナビゲーションシステム１は、ナビゲーション処理が参照するパーセルを常に最新のデータ（最新のバージョンのパーセル）に更新する。
【００４１】
なお、自車両が更新済みのパーセル（例えば、パーセル５４３）から進行方向の未更新のパーセル（例えば、パーセル５４４）に近づいた場合、経路を外れて自車両が走行しても、リルートできるように、自車両の進行方向の未更新のパーセル（例えば、パーセル５４４）を最新にするように構成してもよい。
【００４２】
図６は、図５に示すように地図（更新データ１２４）が最新に処理される際の、ナビゲーション装置１０の表示部１３０に表示される画面を例示する図（表示部１３０の表示態様の一例を示す図）である。
【００４３】
画面６１０は、自宅周辺の地図が初期設定されている様子（初期状態）を示す。画面６２０は、図５のパーセル更新態様５２０のように、自宅周辺のパーセルが処理されることにより、自宅周辺の最新の地図が表示される様子を示している。
【００４４】
画面６３０は、ユーザが目的地の名称等を入力した際に表示される、目的地候補の一覧が表示されている様子である。画面６３０では、右側に目的地候補の一覧、左側に目的地周辺（目的地が含まれる複数のパーセル）の地図が表示されている。目的地周辺の地図については、目的地を選択した直後は処理が終わっていないために古い地図が表示されるが、目的地周辺の処理が完了次第、最新の地図が表示される。
【００４５】
画面６４０は、目的地が決まり、目的地周辺の最新の地図が表示された後の様子を示している。画面６５０は、目的地までの経路が決まり、ナビゲーションを開始した直後の様子を示している。画面６６０は、目的地周辺に到着したときの様子を示している。
【００４６】
このように、ナビゲーション装置１０は、ナビゲーション処理と並行して経路沿いのパーセルを処理し、目的地周辺に到達するまで常に最新のデータで案内を行う。
【００４７】
図７は、図６の画面６２０に係る動作を行う際の、ナビゲーションシステム１の動作を示すシーケンス（動作シーケンス）の一例を示す図である。
【００４８】
地図更新部１１１は、ナビゲーション装置１０の起動後に、地図配信部１７１に対して、新しい地図データ（新地図データ）の有無を問い合わせる（ステップＳ７０１）。
【００４９】
次に、地図配信部１７１は、地図更新部１１１に、新しい地図データの有無を識別可能な情報（例えば、ベースバージョン）を応答する（ステップＳ７０２）。なお、ベースバージョンとは、地図データ１２１および更新データ１２４全体のバージョンを示すものである。
【００５０】
新地図データがない場合（ナビゲーション装置１０が有するベースバージョンと、地図配信サーバ２０が有するベースバージョンとが一致する場合）、ナビゲーション装置１０は、特に何もせず、通常のナビゲーション処理を行う。新地図データがある場合（ナビゲーション装置１０が有するベースバージョンと、地図配信サーバ２０が有するベースバージョンとが一致しない場合）、地図更新部１１１は、地図配信部１７１に対して、自宅周辺の最新の地図データを要求する（ステップＳ７０３）。
【００５１】
次に、地図配信部１７１は、地図更新部１１１に対して、自宅周辺の最新の地図データ（配信データ１８１）を配信する（ステップＳ７０４）。
【００５２】
次に、地図更新部１１１は、地図データ更新処理を行う（ステップＳ７０５）。地図データ更新処理では、受信した自宅周辺の最新の地図データ（配信データ１８１）で、更新データ１２４が更新される。なお、地図データ更新処理については、図１０等を用いて後述する。
【００５３】
次に、地図更新部１１１は、地図データ１２１および更新データ１２４のベースバージョンをアップする（ステップＳ７０６）。
【００５４】
図８は、図６の画面６３０および画面６４０に係る動作を行う際の、ナビゲーションシステム１の動作シーケンスの一例を示す図である。
【００５５】
地図描画部１１３は、ユーザが目的地の名称等を入力した際、地図読込部１１２に対して、目的地周辺の地図データを要求する（ステップＳ８０１）。例えば、レベル１の階層２５０の１６個のパーセルの中心付近に目的地がある場合、目的地周辺の地図データには、当該１６個のパーセルの地図データと、当該１６個のパーセルと対応付けられているレベル２の階層２６０の１個のパーセルの地図データとが含まれる。
【００５６】
次に、地図読込部１１２は、バージョンＤＢ１２２から、要求された目的地周辺の地図データのパーセルのバージョンを取得する（ステップＳ８０２）。
【００５７】
次に、地図読込部１１２は、取得したバージョンとベースバージョンとを比較し、ベースバージョンの方が大きい場合（即ち、要求された目的地周辺のパーセルが未更新である場合）、ステップＳ８０３からステップＳ８０９までの処理を実行する。
【００５８】
なお、地図読込部１１２は、ステップＳ８０２では、レベル１の階層２５０のバージョンを取得すると、比較に時間を要してしまうので、レベル２の階層２６０のバージョンを取得することが好適である。このように、上位の階層のバージョンで比較することで、要求された地図データが最新であるか否かを確認する処理を迅速に終わらせることができるようになる。
【００５９】
地図読込部１１２は、まず、地図データ１２１または更新データ１２４から旧地図データを読込む（ステップＳ８０３）。
【００６０】
次に、地図読込部１１２は、読込んだ旧地図データを地図描画部１１３に応答する（ステップＳ８０４）。地図描画部１１３により、表示部１３０に目的地周辺の地図データ（旧地図データ）が表示される。
【００６１】
次に、地図読込部１１２は、地図更新部１１１に対して、目的地周辺の地図データの更新を要求する（ステップＳ８０５）。
【００６２】
次に、地図更新部１１１は、地図配信部１７１に対して、目的地周辺の地図データを要求する（ステップＳ８０６）。
【００６３】
次に、地図配信部１７１は、地図更新部１１１に対して、目的地周辺の地図データ（配信データ１８１）を配信する（ステップＳ８０７）。
【００６４】
次に、地図更新部１１１は、地図データ更新処理を行う（ステップＳ８０８）。地図データ更新処理では、受信した目的地周辺の最新の地図データ（配信データ１８１）で、更新データ１２４が更新される。なお、地図データ更新処理については、図１０等を用いて後述する。
【００６５】
次に、地図更新部１１１は、地図読込部１１２に対して、目的地周辺の地図データの更新が完了したことを通知（更新完了通知）する（ステップＳ８０９）。なお、更新完了通知は、後述するように適宜のタイミングで行われる。
【００６６】
ステップＳ８０２で取得したパーセルのバージョンがベースバージョン以上である場合（即ち、要求されたパーセルが更新済みである場合）、または、ステップＳ８０９において地図更新部１１１からの更新完了通知を受信した際、地図読込部１１２は、更新データＤＢ１２３の更新データ１２４を読込む（ステップＳ８１０）。
【００６７】
次に、地図読込部１１２は、読込んだ更新データ１２４を地図描画部１１３に応答する（ステップＳ８１１）。なお、地図描画部１１３は、表示に必要な地図データを受け取ると、表示部１３０に目的地周辺の地図を表示する。
【００６８】
以上のように、表示部１３０に目的地周辺の地図（最新の地図）が表示される。
【００６９】
図９は、図６の画面６５０および画面６６０に係る動作を行う際の、ナビゲーションシステム１の動作シーケンスの一例を示す図である。
【００７０】
経路計算部１１４は、ユーザが目的地までの経路計算を要求した際、経路計算処理を開始する（ステップＳ９０１）。経路計算処理は、一般的な最短経路計算アルゴリズム等により実現可能である。
【００７１】
経路計算部１１４は、地図読込部１１２に対して、経路計算に必要な地図データを要求する（ステップＳ９０２）。例えば、経路計算に必要な地図データには、レベル２の階層２６０の複数のパーセルの地図データと、当該複数のパーセルの各々と対応付けられているレベル１の階層２５０の１６個のパーセルの地図データとが含まれる。
【００７２】
次に、地図読込部１１２は、バージョンＤＢ１２２から、要求された地図データのパーセルのバージョンを取得する（ステップＳ９０３）。
【００７３】
次に、地図読込部１１２は、取得したバージョンと、ベースバージョンとを比較し、ベースバージョンの方が大きい場合（即ち、要求されたパーセルが未更新である場合）、ステップＳ９０４からステップＳ９０８までの処理を実行する。なお、上述したように、地図読込部１１２は、レベル２の階層２６０のバージョンを取得して比較することが好適である。
【００７４】
地図読込部１１２は、まず、地図更新部１１１に対して、経路計算に必要な地図データの更新を要求する（ステップＳ９０４）。
【００７５】
次に、地図更新部１１１は、地図配信部１７１に対して、経路計算に必要な地図データを要求する（ステップＳ９０５）。
【００７６】
次に、地図配信部１７１は、地図更新部１１１に対して、経路計算に必要な地図データ（配信データ１８１）を配信する（ステップＳ９０６）。
【００７７】
次に、地図更新部１１１は、地図データ更新処理を行う（ステップＳ９０７）。地図データ更新処理では、受信した最新の地図データ（配信データ１８１）で、更新データ１２４が更新される。なお、地図データ更新処理については、図１０等を用いて後述する。
【００７８】
次に、地図更新部１１１は、地図読込部１１２に対して、経路計算に必要な地図データの更新が完了したことを通知（更新完了通知）する（ステップＳ９０８）。
【００７９】
ステップＳ９０３で取得したバージョンがベースバージョン以上である場合（即ち、要求されたパーセルが更新済みである場合）、またはステップＳ９０８において地図更新部１１１から更新の完了を通知された際、地図読込部１１２は、更新データＤＢ１２３から更新データ１２４を読込む（ステップＳ９０９）。
【００８０】
次に、地図読込部１１２は、読込んだ更新データ１２４を経路計算部１１４に応答する（ステップＳ９１０）。
【００８１】
経路計算部１１４は、地図読込部１１２から渡された更新データ１２４を用いて経路計算を再開する（ステップＳ９１１）。
【００８２】
以降、ナビゲーションシステム１は、目的地までの最短経路が計算されるまで、ステップＳ９０１からステップＳ９１１までの処理を繰り返す。これにより、最新の地図データによる経路が表示される。
【００８３】
なお、図９に示した動作では、経路計算を実行する上で必要な範囲の地図データ（パーセル）を順次更新していく（即ち、経路計算に必要なデータの更新が完了しないと最短経路が決定しない）が、本発明はこのような方法に限るものではない。例えば、経路計算に必要な道路データは、ナビゲーション装置１０の起動時に全国分を一括で更新することとした上で、目的地までの経路計算を実行した後に、図９と同様の手順で経路沿いの背景データおよび形状データを更新していく処理としてもよい。このようにすることで、最新の地図データによる最短経路を決定してユーザに提示してから、順次経路沿いの地図データを更新していくことが可能になる。
【００８４】
図１０は、図７のステップＳ７０５、図８のステップＳ８０８、および図９のステップＳ９０７における、地図データ更新処理に係るフローチャートの一例を示す図である。
【００８５】
地図更新部１１１は、まず、更新を要求されたパーセルの中心座標と、表示部１３０に表示している地図（例えば、表示領域２７０）の中心座標との距離Ｌを計算する（ステップＳ１００１）。
【００８６】
次に、地図更新部１１１は、距離Ｌと閾値Ｍとを比較する（ステップＳ１００２）。ここで閾値Ｍは、更新を要求されたパーセルが表示部１３０に表示中であるかどうかを判定するための値である。地図更新部１１１は、距離Ｌが閾値Ｍより大きいと判定した場合（即ち、更新を要求されたパーセルが表示部１３０に表示されていない場合）、ステップＳ１００３に処理を移し、距離Ｌが閾値Ｍ以下であると判定した場合（即ち、更新を要求されたパーセルが表示部１３０に表示されている場合）、ステップＳ１００４に処理を移す。
【００８７】
ステップＳ１００３では、地図更新部１１１は、地図更新処理Ａを実行し、地図データ更新処理を終了する。なお、地図更新処理Ａについては、図１１を用いて後述する。
【００８８】
ステップＳ１００４では、地図更新部１１１は、地図更新処理Ｂを実行し、地図データ更新処理を終了する。なお、地図更新処理Ｂについては、図１２を用いて後述する。
【００８９】
図１１は、図１０のステップＳ１００３で実行される、地図更新処理Ａに係るフローチャートの一例を示す図である。
【００９０】
地図更新部１１１は、まず、地図配信部１７１から受信した配信データ１８１に含まれるパーセル（例えば、レベル２の階層２６０の１個のパーセル、およびレベル１の階層２５０の１６個のパーセル）を参照して、更新データＤＢ１２３を一括して更新する（ステップＳ１１０１）。
【００９１】
この一括して更新する処理は、例えば、図１１に記載したＳＱＬ文１１１０により実行可能である。ここで、ＴａｂｌｅＡは、図３に示す更新データＤＢ１２３に対応し、ＴａｂｌｅＢは、図４に示す配信データ１８１に対応する。当該ＳＱＬ文１１１０の意味は、１行目は、配信データ１８１に含まれるパーセルＩＤに対応する行を更新データＤＢ１２３から全て削除し、２行目は、配信データ１８１に含まれる全ての行を、更新データＤＢ１２３に挿入するものである。なお、更新の方法は、削除して追加する方法に限られるものではなく、上書きする方法（例えば、ＵＰＤＡＴＥ文）を採用してもよい。
【００９２】
次に、地図更新部１１１は、バージョンＤＢ１２２に格納されているパーセルのバージョンを更新する（ステップＳ１１０２）。
【００９３】
次に、地図更新部１１１は、更新データＤＢ１２３の更新が完了したことを示す更新完了情報を地図読込部１１２に通知（更新完了通知）し（ステップＳ１１０３）、地図更新処理Ａを終了する。
【００９４】
図１２は、図１０のステップＳ１００４で実行される、地図更新処理Ｂに係るフローチャートの一例を示す図である。
【００９５】
地図更新部１１１は、まず、変数Ｉに「１」をセットする（ステップＳ１２０１）。
【００９６】
次に、地図更新部１１１は、配信データ１８１に含まれるレベル１の階層２５０のパーセル１６個のうち、表示部１３０に表示されている地図（表示領域２７０）の中心座標に最も近い未処理のパーセルを処理対象のパーセル（レベル１パーセル）として選び、処理対象のパーセルについて更新データＤＢ１２３を更新する（ステップＳ１２０２）。
【００９７】
次に、地図更新部１１１は、ステップＳ１２０１で更新したレベル１の階層２５０のパーセル（処理対象のパーセル）について、バージョンＤＢ１２２に格納されているバージョンを更新する（ステップＳ１２０３）。
【００９８】
次に、地図更新部１１１は、処理対象のパーセルの更新が完了したことを示す更新完了情報を地図読込部１１２に通知（更新完了通知）する（ステップＳ１２０４）。
【００９９】
次に、地図更新部１１１は、変数Ｉに「１」を加算する（ステップＳ１２０５）。
【０１００】
次に、地図更新部１１１は、変数Ｉが「１６」より大きい値であるかを判定する（ステップＳ１２０６）。地図更新部１１１は、変数Ｉが「１６」以下であると判定した場合、ステップＳ１２０２に処理を戻し、処理を繰り返し、変数Ｉが「１６」より大きいと判定した場合、ステップＳ１２０７に処理を移す。
【０１０１】
地図更新部１１１は、配信データ１８１に含まれるレベル２の階層２６０のパーセル１個（レベル２パーセル）について、更新データＤＢ１２３を更新する（ステップＳ１２０７）。
【０１０２】
次に、地図更新部１１１は、ステップＳ１２０６で更新したレベル２の階層２６０のパーセルについて、バージョンＤＢ１２２に格納されているバージョンを更新する（ステップＳ１２０８）。
【０１０３】
次に、地図更新部１１１は、レベル２の階層２６０のパーセルの更新が完了したことを示す更新完了情報を地図読込部１１２に通知（更新完了通知）し（ステップＳ１２０９）、地図更新処理Ｂを終了する。
【０１０４】
このように、通常は、経路計算などのバックグラウンドでは地図更新処理Ａが実行され、目的地周辺を表示するとき等のフォアグランドでは地図更新処理Ｂが実行されるので、最新の地図データを高速に表示することが可能となる。
【０１０５】
図１３は、図１１に示した地図更新処理Ａ、および図１２に示した地図更新処理Ｂに関して、地図更新部１１１と地図読込部１１２とが更新データＤＢ１２３を参照するタイミングを説明するための動作シーケンスの一例を示す図である。
【０１０６】
動作シーケンス図１３１０は、地図更新処理Ａに関する動作シーケンス図であり、直ぐには表示に用いない１セットのパーセル（レベル２の階層２６０の１個のパーセル、およびレベル１の階層２５０の１６個のパーセル）の更新を行うときの動作シーケンスの例を示す。地図更新処理Ａでは、地図読込部１１２が地図更新部１１１に対して１セットのパーセルの地図更新要求を行った後、１セットのパーセルを更新する時間は、時間Ｔ（ＡＷ）である。なお、仮に、更新データＤＢ１２３から必要な１つのパーセルのデータを読込む場合、１つのパーセルの読込みが終わるまでの時間は、時間Ｔ（ＡＲ）となる。
【０１０７】
動作シーケンス図１３２０は、地図更新処理Ｂに関する動作シーケンス図であり、直ぐに表示に用いる１セットのパーセルの更新を行うときの動作シーケンスの例を示す。地図更新処理Ｂでは、地図読込部１１２が地図更新部１１１に対して１セットのパーセルの地図更新要求を行った後、更新データＤＢ１２３から表示に必要な１つのパーセルのデータの読込みが終わるまでの時間は、時間Ｔ（ＢＲ）となる。なお、１セットのパーセルの更新が終わる時間は、時間Ｔ（ＢＷ）となる。
【０１０８】
ここで、ナビゲーションシステム１において、地図更新処理Ａだけを採用した場合、１セットのパーセルの更新を完了する時間は、時間Ｔ（ＡＷ）となり、更新の完了までに複数回の更新を行ったり読込みを行ったりする時間Ｔ（ＢＷ）よりも短くなる。よって、直ぐには表示に用いないパーセルの更新には、好適である。しかしながら、更新後の地図データが直ぐに表示に用いられる場合は、読み終わるまでの時間が時間Ｔ（ＡＲ）となり、表示に用いられる１つのパーセルを更新して読込む時間Ｔ（ＢＲ）よりも長くなる。他方、地図更新処理Ｂだけを採用した場合、地図更新処理Ａの場合とは、逆の結果になってしまう。
【０１０９】
この点、本実施の形態では、直ぐには表示に用いないパーセルの更新を行う場合、地図更新処理Ａを行い、直ぐに表示に用いるパーセルの更新を行う場合、地図更新処理Ｂを行うように構成している。かかる構成によれば、バックグラウンドの処理とフォアグランドの処理との何れの処理も迅速に行うことができる。
【０１１０】
本実施の形態によれば、ナビゲーションの性能への影響を抑えつつ、地図データを更新することができる。
【０１１１】
（２）第２の実施の形態
図１４〜図２０を用いて、本実施の形態のナビゲーションシステム２を説明する。第１の実施の形態と同様の構成については、同一の符号を用いて、その説明を適宜省略する。
【０１１２】
本実施の形態は、第１の実施の形態と同様にナビゲーション処理を実行中に地図データを更新するナビゲーションシステム２において、地図更新部１１１と地図読込部１１２とが同時に同一のデータベースにアクセスすることになる時間を削減し、地図データの更新中における地図の描画性能を向上するものである。
【０１１３】
本実施の形態のナビゲーションシステム２は、第１の実施の形態のナビゲーションシステム１と基本的に同様であるが、ナビゲーション装置１０の記憶部１２０に格納する更新データの構成と、地図配信サーバ２０の記憶部１８０に格納する配信データの構成と、ナビゲーション装置１０の地図更新部１１１における処理と、ナビゲーション装置１０の地図読込部１１２における処理とが、以降で述べるように第１の実施の形態と異なる。
【０１１４】
図１４は、ナビゲーションシステム２に係る構成の一例を示す図である。
【０１１５】
ナビゲーション装置１０の記憶部１２０には、バージョンＤＢ１２２と、背景ＤＢ１４０１、道路ＤＢ１４０２、および形状ＤＢ１４０３を含んで構成される更新データ１４０４とが記憶される。なお、更新データ１４０４については、図１５を用いて後述する。地図配信サーバ２０の記憶部１８０には、配信データ１４１１が記憶される。なお、配信データ１４１１については、図１６を用いて後述する。
【０１１６】
図１５は、更新データ１４０４の一例を示す図である。更新データ１４０４は、バージョンＤＢ１２２、背景ＤＢ１４０１、道路ＤＢ１４０２、および形状ＤＢ１４０３を含んで構成される。
【０１１７】
背景ＤＢ１４０１は、地図配信サーバ２０から取得した配信データ１４１１の背景データを格納するデータベースである。背景ＤＢ１４０１は、パーセルＩＤ１５０１と背景データ１５０２とを含んで構成されている。
【０１１８】
道路ＤＢ１４０２は、地図配信サーバ２０から取得した配信データ１４１１の道路データを格納するデータベースである。道路ＤＢ１４０２は、パーセルＩＤ１５１１と、道路データ１５１２とを含んで構成されている。
【０１１９】
形状ＤＢ１４０３は、地図配信サーバ２０から取得した配信データ１４１１の形状データを格納するデータベースである。形状ＤＢ１４０３は、パーセルＩＤ１５２１と、形状データ１５２２とを含んで構成されている。
【０１２０】
なお、背景データ１５０２、道路データ１５１２、および形状データ１５２２は、図２で説明した地図データ１２１の背景データ２２０、道路データ２３０、および形状データ２４０と同様であるので、その説明を省略する。
【０１２１】
図１６は、配信データ１４１１の一例を示す図である。第１の実施の形態と同様に、配信データ１４１１は、地図データのレベル２の階層２６０の１個のパーセル単位で作成されている。配信データ１４１１は、レベル２の階層２６０の１個のパーセルのデータと、当該パーセルに対応するレベル１の階層２５０の１６個のパーセルのデータとを格納している。
【０１２２】
配信データ１４１１は、パーセルＩＤ１６０１および背景データ１６０２を含んで構成されるデータベースと、パーセルＩＤ１６０３および道路データ１６０４を含んで構成されるデータベースと、パーセルＩＤ１６０５および形状データ１６０６を含んで構成されるデータベースとに分割されて作成される。
【０１２３】
ナビゲーションシステム２の動作については、ナビゲーション装置１０が目的地までの経路を計算する際に各パーセルを更新していく様子（図５）と、ナビゲーション装置１０の表示部１３０に表示される画面（図６）と、地図更新システムの動作シーケンス（図７、図８、および図９）と、地図データ更新処理のフローチャート（図１０）は、第１の実施の形態と同様である。
【０１２４】
図１７は、ナビゲーションシステム２で行われる地図データ更新処理における地図更新処理Ａ（ステップＳ１００３）に係るフローチャートの一例を示す図である。
【０１２５】
ナビゲーションシステム２の地図更新処理Ａでは、地図更新部１１１は、まず、地図配信部１７１から受信した背景データに含まれるパーセル（例えば、レベル２の階層２６０の１個のパーセル、およびレベル１の階層２６０の１６個のパーセル）を参照して、背景ＤＢ１４０１を一括して更新する（ステップＳ１７０１）。一括して更新する処理は、第１の実施の形態と同様に図１１に記載したＳＱＬ文１１１０により実行可能である。ここで、ＴａｂｌｅＡは、図１５に示す背景ＤＢ１４０１を、ＴａｂｌｅＢは、図１６に示す配信データ１４１１における背景データを格納しているデータベースに対応する。
【０１２６】
同様に、地図更新部１１１は、地図配信部１７１から受信した道路データに含まれるパーセル（例えば、レベル２の階層２６０の１個のパーセル、およびレベル１の階層２５０の１６個のパーセル）を参照して、道路ＤＢ１４０２を一括して更新する（ステップＳ１７０２）。
【０１２７】
同様に、地図更新部１１１は、地図配信部１７１から受信した形状データに含まれるパーセル（例えば、レベル２の階層２６０の１個のパーセル、およびレベル１の階層２５０の１６個のパーセル）を参照して、形状ＤＢ１４０３を一括して更新する（ステップＳ１７０３）。
【０１２８】
次に、地図更新部１１１は、バージョンＤＢ１２２に格納されているパーセルのバージョンを更新する（ステップＳ１７０４）。
【０１２９】
次に、地図更新部１１１は、背景ＤＢ１４０１、道路ＤＢ１４０２、および形状ＤＢ１４０３の更新が完了したことを示す更新完了情報を地図読込部１１２に通知（更新完了通知）し（ステップＳ１７０５）、地図更新処理Ａを終了する。
【０１３０】
図１８は、ナビゲーションシステム２で行われる地図データ更新処理における地図更新処理Ｂ（ステップＳ１００４）に係るフローチャートの一例を示す図である。
【０１３１】
ナビゲーションシステム２の地図更新処理Ｂでは、地図更新部１１１は、まず、変数Ｉに「１」をセットする（ステップＳ１８０１）。
【０１３２】
次に、地図更新部１１１は、配信データ１４１１に含まれる背景データからレベル１の階層２５０のパーセル１６個のうち表示部１３０に表示されている地図（表示領域２７０）の中心座標に最も近い未処理のパーセルを処理対象のパーセル（レベル１パーセル）として選び、処理対象のパーセルについて背景ＤＢ１４０１を更新する（ステップＳ１８０２）。この際、地図更新部１１１は、例えば、更新の前に、背景ＤＢ１４０１を更新しているか否かを識別可能な背景ＤＢ更新フラグをオンにセットし、更新の後に背景ＤＢ更新フラグをオフにセットし、背景ＤＢ１４０１の更新中であるか否かを判定可能にする。
【０１３３】
同様に、地図更新部１１１は、処理対象のパーセルについて道路ＤＢ１４０２を更新する（ステップＳ１８０３）。この際、地図更新部１１１は、例えば、更新の前に、道路ＤＢ１４０２を更新しているか否かを識別可能な道路ＤＢ更新フラグをオンにセットし、更新の後に道路ＤＢ更新フラグをオフにセットし、道路ＤＢ１４０２の更新中であるか否かを判定可能にする。
【０１３４】
同様に、地図更新部１１１は、処理対象のパーセルについて形状ＤＢ１４０３を更新する（ステップＳ１８０４）。この際、地図更新部１１１は、例えば、更新の前に、形状ＤＢ１４０３を更新しているか否かを識別可能な形状ＤＢ更新フラグをオンにセットし、更新の後に形状ＤＢ更新フラグをオフにセットし、形状ＤＢ１４０３の更新中であるか否かを判定可能にする。
【０１３５】
次に、地図更新部１１１は、ステップＳ１８０２〜ステップＳ１８０４で更新したレベル１の階層２５０のパーセル（処理対象のパーセル）について、バージョンＤＢ１２２に格納されているバージョンを更新する（ステップＳ１８０５）。
【０１３６】
次に、地図更新部１１１は、処理対象のパーセルの更新が完了したことを示す更新完了情報を地図読込部１１２に通知（更新完了通知）する（ステップＳ１８０６）。
【０１３７】
次に、地図更新部１１１は、変数Ｉに「１」を加算する（ステップＳ１８０７）。
【０１３８】
次に、地図更新部１１１は、変数Ｉが「１６」より大きい値であるか否かを判定する（ステップＳ１８０８）。地図更新部１１１は、変数Ｉが「１６」より大きい値でないと判定した場合、ステップＳ１８０２に処理を戻し、処理を繰り返し、変数Ｉが「１６」より大きい値であると判定した場合、ステップＳ１８０９に処理を移す。
【０１３９】
地図更新部１１１は、背景データのレベル２の階層２６０のパーセル１個（レベル２パーセル）について、背景ＤＢ１４０１を更新する（ステップＳ１８０９）。この際、地図更新部１１１は、例えば、更新の前に、背景ＤＢ更新フラグをオンにセットし、更新の後に背景ＤＢ更新フラグをオフにセット、背景ＤＢ１４０１の更新中であるか否かを判定可能にする。
【０１４０】
同様に、地図更新部１１１は、道路データのレベル２の階層２６０のパーセル１個について、道路ＤＢ１４０２を更新する（ステップＳ１８１０）。この際、地図更新部１１１は、例えば、更新の前に、道路ＤＢ更新フラグをオンにセットし、更新の後に道路ＤＢ更新フラグをオフにセットし、道路ＤＢ１４０２の更新中であるか否かを判定可能にする。
【０１４１】
同様に、地図更新部１１１は、形状データのレベル２の階層２６０のパーセル１個について、形状ＤＢ１４０３を更新する（ステップＳ１８１１）。この際、地図更新部１１１は、例えば、更新の前に、形状ＤＢ更新フラグをオンにセットし、更新の後に形状ＤＢ更新フラグをオフにセット、形状ＤＢ１４０３の更新中であるか否かを判定可能にする。
【０１４２】
次に、地図更新部１１１は、ステップＳ１８０９〜ステップＳ１８１１で更新したレベル２の階層２６０のパーセル（レベル２パーセル）について、バージョンＤＢ１２２に格納されているバージョンを更新する（ステップＳ１８１２）。
【０１４３】
次に、地図更新部１１１は、レベル２パーセルの更新が完了したことを示す更新完了情報を地図読込部１１２に通知（更新完了通知）し（ステップＳ１８１３）、地図更新処理Ｂを終了する。
【０１４４】
図１９は、地図読込部１１２が実行する読込処理に係るフローチャートの一例を示す図である。
【０１４５】
地図読込部１１２は、まず、地図更新部１１１が背景ＤＢ１４０１を更新中であるか否か（例えば、背景ＤＢフラグがオンであるか否か）を判定する（ステップＳ１９０１）。地図読込部１１２は、背景ＤＢ１４０１を更新中であると判定した場合、ステップＳ１９０２に処理を移し、背景ＤＢ１４０１を更新中でないと判定した場合、ステップＳ１９０５に処理を移す。
【０１４６】
ステップＳ１９０２では、地図読込部１１２は、要求されたパーセルの形状データを形状ＤＢ１４０３から読込む。
【０１４７】
続いて、地図読込部１１２は、要求されたパーセルの道路データを道路ＤＢ１４０２から読込む（ステップＳ１９０３）。
【０１４８】
続いて、地図読込部１１２は、要求されたパーセルの背景データを背景ＤＢ１４０１から読込み（ステップＳ１９０４）、読込処理を終了する。
【０１４９】
ステップＳ１９０５では、地図読込部１１２は、地図更新部１１１が道路ＤＢ１４０２を更新中であるか否か（例えば、道路ＤＢフラグがオンであるか否か）を判定する。地図読込部１１２は、道路ＤＢ１４０２を更新中ではないと判定した場合、ステップＳ１９０６に処理を移し、道路ＤＢ１４０２を更新中であると判定した場合、ステップＳ１９０９に処理を移す。
【０１５０】
ステップＳ１９０６では、地図読込部１１２は、要求されたパーセルの道路データを道路ＤＢ１４０２から読込む。
【０１５１】
続いて、地図読込部１１２は、要求されたパーセルの背景データを背景ＤＢ１４０１から読込む（ステップＳ１９０７）。
【０１５２】
続いて、地図読込部１１２は、要求されたパーセルの形状データを形状ＤＢ１４０３から読込み（ステップＳ１９０８）、読込処理を終了する。
【０１５３】
ステップＳ１９０９では、地図読込部１１２は、要求されたパーセルの背景データを背景ＤＢ１４０１から読込む。
【０１５４】
続いて、地図読込部１１２は、要求されたパーセルの形状データを形状ＤＢ１４０３から読込む（ステップＳ１９１０）。
【０１５５】
続いて、地図読込部１１２は、要求されたパーセルの道路データを道路ＤＢ１４０２から読込み（ステップＳ１９１１）、読込処理を終了する。
【０１５６】
なお、読込みの順序は、上述の内容に限られるものではない。例えば、背景ＤＢ１４０１が更新中である場合は、背景ＤＢ１４０１の読込みが後に行われる構成を適宜に採用できる。例えば、道路ＤＢ１４０２の読込みを行ってから、形状ＤＢ１４０３の読込みを行い、最後に背景ＤＢ１４０１の読込みを行うようにしてもよい。また、例えば、道路ＤＢ１４０２が更新中である場合は、道路ＤＢ１４０２の読込みが後に行われる構成を適宜に採用できる。例えば、形状ＤＢ１４０３の読込みを行ってから、背景ＤＢ１４０１の読込みを行い、最後に道路ＤＢ１４０２の読込みを行うようにしてもよい。また、例えば、形状ＤＢ１４０３が更新中である場合は、形状ＤＢ１４０３の読込みが後に行われる構成を適宜に採用できる。例えば、背景ＤＢ１４０１の読込みを行ってから、道路ＤＢ１４０２の読込みを行い、最後に形状ＤＢ１４０３の読込みを行うようにしてもよい。
【０１５７】
上述した処理によれば、更新中でないデータベースの地図データから読込まれるので、更新中のデータベースがロックされて地図データを読込みできない時間を削減でき、地図の更新中におけるナビゲーション性能を向上できる。
【０１５８】
図２０は、図１７に示した地図更新処理Ａ、図１８に示した地図更新処理Ｂ、および図１９に示した読込処理に関して、地図更新部１１１と地図読込部１１２とが更新データ１４０４を参照するタイミングを説明するための動作シーケンスの一例を示す図である。
【０１５９】
図２０では、地図更新部１１１が地図更新処理Ｂにおいて、パーセル「Ｐ１−１６」、「Ｐ１−１２」、「Ｐ１−１５」、「Ｐ１−１１」、・・・の順に更新を行う場合に、パーセル「Ｐ１−１６」の更新が完了し、更新完了情報が地図読込部１１２に通知されたケースを例に挙げて説明する。
【０１６０】
かかるケースでは、地図更新部１１１は、パーセル「Ｐ１−１２」の背景ＤＢ１４０１の更新を行う（ステップＳ１８０２）。この際、地図読込部１１２は、パーセル「Ｐ１−１６」の更新完了情報の通知を受信したので、パーセル「Ｐ１−１６」の読込処理を開始し、背景ＤＢ１４０１が更新中であるので、形状ＤＢ１４０３の読込みを行い（ステップＳ１９０２）、続けて、道路ＤＢ１４０２の読込み（ステップＳ１９０３）、最後に、背景ＤＢ１４０１の読込みを行う（ステップＳ１９０４）。なお、地図更新部１１１は、パーセル「Ｐ１−１２」の背景ＤＢ１４０１の更新を完了し、形状ＤＢ１４０３の読込みが完了している場合、パーセル「Ｐ１−１２」の道路ＤＢ１４０２の更新を行い（ステップＳ１８０３）、続けて、パーセル「Ｐ１−１２」の形状ＤＢ１４０３の更新を行う（ステップＳ１８０４）。
【０１６１】
このように、地図更新部１１１が背景ＤＢ１４０１を更新しているときは、地図読込部１１２は、背景ＤＢ１４０１とは異なる道路ＤＢ１４０２または形状ＤＢ１４０３からパーセル「Ｐ１−１６」の地図データを読込み、背景ＤＢ１４０１のパーセル「Ｐ１−１６」の地図データを読込むことにより、パーセル「Ｐ１−１６」の地図データを読込む時間Ｔを短縮することができる。
【０１６２】
本実施の形態によれば、地図更新部１１１と地図読込部１１２とが同時に同一のデータベースにアクセスすることになる時間を削減し、最新の地図データを高速に表示することが可能になる。
【０１６３】
（３）他の実施の形態
なお上述の実施の形態においては、本発明を自動車等の車両に搭載されるナビゲーションシステム１に適用するようにした場合について述べたが、本発明はこれに限らず、ロボット、ドローンなどの移動体、スマートフォン、タブレット端末等の移動可能な媒体などに搭載されてもよく、この他種々のナビゲーションシステム、ナビゲーション装置、ナビゲーション方法など、広く適用することができる。
【０１６４】
また上述の実施の形態においては、ナビゲーション装置１０が起動時されると、ステップＳ７０１の処理を行う場合について述べたが、本発明はこれに限らず、ナビゲーション装置１０が起動時されると、地図データ１２１または更新データ１２４の旧地図データの地図を表示してから、ステップＳ７０１の処理を行うようにしてもよい。
【０１６５】
また上述の実施の形態においては、図１２では、レベル１の階層２５０を表示している場合について述べたが、本発明はこれに限らず、レベル２の階層２６０を表示している場合、ステップＳ１２０７〜ステップＳ１２０９の処理を行ってから、ステップＳ１２０１〜ステップＳ１２０６の処理を行うようにしてもよい。
【０１６６】
また上述の実施の形態においては、図１２および図１８では、レベル１の階層２５０のパーセル１６個のうち表示部１３０に表示されている地図（表示領域２７０）の中心座標に最も近い未処理のパーセルから１つずつ更新する場合について述べたが、本発明はこれに限らず、レベル１の階層２５０のパーセル１６個のうち表示対象の一または複数のパーセルを一括で更新した後に、残りのパーセルを一括で更新するようにしてもよい。
【０１６７】
また上述の実施の形態においては、地図データ１２１と、更新データ１２４，１４０４とを分けて記憶する場合について述べたが、本発明はこれに限らず、地図データ１２１と、更新データ１２４，１４０４とを一体とした地図データ（例えば、データベース）として記憶するようにしてもよい。この場合、地図データ１２１を更新データ１２４，１４０４で更新（なお、削除して追加するものであってもよいし、上書きするものであってもよい。）する構成であってもよいし、地図データ１２１に更新データ１２４，１４０４を識別可能に追加する構成であってもよいし、その他の構成であってもよい。
【０１６８】
また上述の実施の形態においては、説明の便宜上、ＸＸテーブル、ＸＸデータベースを用いて各種のデータを説明したが、データ構造は限定されるものではなく、ＸＸ情報などと表現してもよい。
【０１６９】
また、上記の説明において各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記憶装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１７０】
また上述した構成については、本発明の要旨を超えない範囲において、適宜に、変更したり、組み替えたり、組み合わせたり、省略したりしてもよい。
【０１７１】
以上の通り、ナビゲーション装置（例えば、ナビゲーション装置１０）は、地図を構成する区画ごとに地図情報（例えば、更新データ１２４，１４０４）を記憶する記憶部（例えば、記憶部１２０）と、上記記憶部に記憶されている地図情報を更新する地図更新部（例えば、制御部１１０、地図更新部１１１）と、上記記憶部に記憶されている地図情報を読込む地図読込部（例えば、制御部１１０、地図読込部１１２）と、上記地図読込部により読込まれた地図情報に基づいてナビゲーションを行うナビゲーション部（例えば、制御部１１０、ナビゲーション部１１５）と、を備え、上記地図更新部は、上記記憶部に記憶されている複数の区画（例えば、１セットのパーセル、レベル２の階層２６０のパーセル「Ｐ２−１」、およびレベル１の階層２５０のパーセル「Ｐ１−１」〜「Ｐ１−１６」）の地図情報を更新する場合、上記ナビゲーション部により行われるナビゲーションの状態（ナビゲーションの開始時、目的地の設定時、経路計算時、複数の区画が表示対象の区画であるか否か、複数の区画が表示されるレベルの階層、ユーザのスクロース操作など）に応じて、上記複数の区画のうち一度に更新する区画の数を変更することを特徴とする。
【０１７２】
上記構成によれば、一度に更新する区画の数を変更することで、一度の更新に要する時間を調整できるので、例えば、表示に必要な場合は更新時間が短くなるように更新する区画の数を減らすことで、表示に要する時間への影響を抑えることができる。
【０１７３】
上記ナビゲーション部は、上記地図読込部により読込まれた地図情報に基づいて、表示部に地図を表示するナビゲーションを行い、上記地図更新部は、上記ナビゲーション部により表示される対象の区画（例えば、表示領域２７０に係る区画）に基づいて、上記複数の区画のうち一度に更新する区画の数を変更することが望ましい。
【０１７４】
上記構成によれば、フォアグラウンドに係る区画とバックグラウンドに係る区画とで、一度に更新する区画の数を変更できるので、例えば、フォアグラウンドに係る区画の地図情報を更新してから、バックグラウンドに係る区画の地図情報を更新することで、地図を更新しているときのナビゲーションの性能を向上することができる。
【０１７５】
上記地図更新部は、上記ナビゲーション部により表示される領域を示す表示領域に係る所定の区画（例えば、レベル１の階層２５０が表示されているときは表示領域２７０に係るパーセルは、パーセル「Ｐ１−１１」、「Ｐ１−１２」、「Ｐ１−１５」、「Ｐ１−１６」、・・・、レベル２の階層２６０が表示されているときは表示領域２７０に係るパーセルは、パーセル「Ｐ２−１」、「Ｐ２−２」、「Ｐ２−５」、「Ｐ２−６」）が上記複数の区画に含まれていないと判定した場合（なお、判定方法としては、更新地点と表示地点の距離Ｌと閾値Ｍとを比較する方法であってもよいし、表示領域２７０と複数の区画との重なりを判定する方法であってもよいし、その他の方法であってよい。）、上記複数の区画の地図情報を一括で更新する第１の更新処理（例えば、図１１または図１７に示す地図更新処理Ａ）を行い、上記所定の区画が上記複数の区画に含まれていると判定した場合、上記複数の区画の地図情報を区画ごとに更新する第２の更新処理（例えば、図１２または図１８に示す地図更新処理Ｂ）を行うことが望ましい。
【０１７６】
上記構成によれば、例えば、バックグラウンドに係る区画の地図情報を一度に更新することで、更新に係る時間を短縮し、フォアグラウンドに係る区画の地図情報から更新することで、表示に係る時間を短縮できるので、ナビゲーションの性能を向上することができる。
【０１７７】
上記地図更新部は、上記第２の更新処理では、上記複数の区画のうち上記表示領域の中心に近い区画の地図情報から更新を行うと共に、地図情報を更新するごとに更新が完了したことを示す更新完了情報を上記地図読込部に通知し、上記地図読込部は、上記地図更新部から更新完了情報を受信すると、更新された区画の地図情報を読込むことが望ましい。
【０１７８】
上記構成によれば、表示領域に係る区画の地図情報から更新されるので、例えば、表示に係る時間を短縮できるようになる。また、表示領域に近くの区画の地図情報から更新されるので、ユーザによりスクロール操作が行われる場合でも、例えば、スクロール後に必要になる区画の地図情報を迅速に表示することができるようになる。
【０１７９】
上記複数の区画は、詳細な地図を表示するための第１の階層（例えば、レベル１の階層２５０）に属する複数の第１の区画（例えば、パーセル「Ｐ１−１」〜「Ｐ１−１６」）と、上記第１の階層よりも広域な地図を表示するための第２の階層（例えば、レベル２の階層２６０）に属する上記複数の第１の区画に対応する１つの第２の区画（パーセル「Ｐ２−１」）とにより構成され、上記地図更新部は、上記第２の更新処理では、上記所定の区画が上記第１の階層に属する区画である場合、上記複数の第１の区画の地図情報を更新してから上記１つの第２の区画の地図情報を更新することが望ましい。
【０１８０】
上記構成によれば、上記構成によれば、表示領域に係る第１の区画の地図情報から更新されるので、例えば、表示に係る時間を短縮できるようになる。
【０１８１】
上記地図更新部は、上記表示領域の中心座標と上記１つの第２の区画の中心座標との距離と、閾値とを比較し、上記所定の区画が上記複数の区画に含まれているか否かを判定することが望ましい。
【０１８２】
上記地図読込部は、目的地が入力された場合、入力された目的地の区画を含む複数の区画の地図情報を上記地図更新部に要求し、上記地図更新部は、上記地図読込部からの要求に基づいて、地図配信サーバから上記目的地の区画を含む複数の区画の地図情報を取得し、取得した地図情報を用いて上記第２の更新処理を行い、上記第２の更新処理では、上記目的地の区画の地図情報の更新を行い、更新が完了したことを示す更新完了情報を上記地図読込部に通知し、上記地図読込部は、上記地図更新部から更新完了情報を受信すると、上記目的地の区画の地図情報を読込み、読込んだ地図情報を上記ナビゲーション部に通知し、上記ナビゲーション部は、上記地図読込部から地図情報を受信すると、上記地図情報を上記表示部に表示することが望ましい。
【０１８３】
目的地が入力された場合、目的地の地図を更新して表示する必要がある。この点、上記構成によれば、表示に必要な目的地の区画の地図情報が優先的に更新されるので、目的地の地図を迅速に表示することができる。
【０１８４】
上記地図読込部は、目的地が入力された場合、入力された目的地の区画を含む複数の区画の地図情報を上記地図更新部に要求する前に、上記記憶部から上記目的地の区画の地図情報である未更新地図情報を読込み、読込んだ未更新地図情報を上記ナビゲーション部に通知し、上記ナビゲーション部は、上記地図読込部から未更新地図情報を受信すると、上記未更新地図情報を上記表示部に表示し、上記地図読込部から上記地図配信サーバで記憶される上記目的地の区画の地図情報である更新地図情報を受信すると、上記表示部に表示している上記未更新地図情報を上記更新地図情報に切り替えることが望ましい。
【０１８５】
上記構成によれば、目的地の最新の地図を表示するまでの間は、旧地図を表示することができる。
【０１８６】
上記ナビゲーション部は、現在地から目的地までの経路を計算する際、上記地図読込部に経路の計算に用いる区画の地図情報を要求し、上記地図読込部は、上記地図読込部からの要求に基づいて、上記経路の計算に用いる区画の地図情報を上記地図更新部に要求し、上記地図更新部は、上記地図読込部からの要求に基づいて、地図配信サーバから上記経路の計算に用いる区画の地図情報を取得し、取得した地図情報を用いて上記第１の更新処理を行い、上記地図読込部は、上記地図更新部により更新された上記経路の計算に用いる区画の地図情報を上記ナビゲーション部に通知し、上記ナビゲーション部は、上記地図読込部から上記地図情報を受信すると、上記地図情報に基づいて上記経路の計算を行うことが望ましい。
【０１８７】
上記構成によれば、現在地から目的地までの経路の計算に用いる区画は、表示しない区画であるので、一括で更新することにより、例えば、更新に係る時間を短縮でき、経路の計算に係る時間を低減することができる。
【０１８８】
上記記憶部に記憶される各区画の地図情報は、複数のデータベース（例えば、背景ＤＢ１４０１、道路ＤＢ１４０２、形状ＤＢ１４０３）に分割されて格納され、上記地図読込部は、上記地図更新部により更新された更新済みの区画の地図情報を読込む際、上記複数のデータベースのうちの一のデータベースに格納される区画の地図情報が更新されているとき、上記一のデータベースとは異なる上記複数のデータベースのうちの他のデータベースに格納される上記更新済みの区画の地図情報を読込むことが望ましい。
【０１８９】
上記構成では、例えば、一のデータベースの読込み（リード）と更新（ライト）との衝突を回避することで、ナビゲーションの性能を向上させることができる。
【０１９０】
上記地図読込部は、上記一のデータベースに格納される上記更新済みの区画の地図情報を最後に読込むことが望ましい。
【０１９１】
上記構成によれば、例えば、一のデータベースの更新に要する時間が残りのデータベースの読込みに要する時間よりも長い場合、一のデータベースの読込みの待ち時間を最大限に短くすることができる。
【０１９２】
上記地図更新部は、上記ナビゲーション部により表示される領域を示す表示領域に係る所定の区画が上記複数の区画に含まれていないと判定した場合、上記複数の区画の地図情報をデータベースごとに一括で更新する第１の更新処理を行い、上記所定の区画が上記複数の区画に含まれていると判定した場合、上記複数の区画の地図情報をデータベースごと、かつ、区画ごとに更新する第２の更新処理を行うことが望ましい。
【０１９３】
上記構成によれば、例えば、バックグラウンドに係る区画の地図情報をデータベースごとに一度に更新することで、更新に係る時間を短縮しつつ、フォアグラウンドに係る区画の地図情報をデータベースのごとに更新し、更新していないデータベースから更新済みの区画の読込みを行うことで、表示に係る時間を更に短縮できるので、ナビゲーションの性能を更に向上することができる。
【０１９４】
上記構成によれば、地図情報を適切に更新することができる。
【符号の説明】
【０１９５】
１……ナビゲーションシステム、１０……ナビゲーション装置、２０……地図配信サーバ。
【図１】
2020016814.tif 000003
【図２】
2020016814.tif 000004
【図３】
2020016814.tif 000005
【図４】
2020016814.tif 000006
【図５】
2020016814.tif 000007
【図６】
2020016814.tif 000008
【図７】
2020016814.tif 000009
【図８】
2020016814.tif 000010
【図９】
2020016814.tif 000011
【図１０】
2020016814.tif 000012
【図１１】
2020016814.tif 000013
【図１２】
2020016814.tif 000014
【図１３】
2020016814.tif 000015
【図１４】
2020016814.tif 000016
【図１５】
2020016814.tif 000017
【図１６】
2020016814.tif 000018
【図１７】
2020016814.tif 000019
【図１８】
2020016814.tif 000020
【図１９】
2020016814.tif 000021
【図２０】
2020016814.tif 000022