(57)【要約】【課題】地図データの更新に必要なデータを好適に情報端末に提供する。【解決手段】配信システムからナビゲーション装置へは、地図データを更新するためのデータとして、更新対象データのＩＤコードと、この更新対象データにおける更新対象エリア毎の詳細指示データと、を含んだ指示データが送信される。詳細指示データは、更新対象エリアを特定可能なオフセット値と、更新対象エリアに上書きすべき上書きデータとを備える。ナビゲーション装置は、受信した指示データに含まれる各詳細指示データを配列順に処理し、自己が備える地図データの詳細指示データが示す更新対象エリアに上書きデータを書き込んで、地図データを更新する。詳細指示データには、オフセット値として、配列順が一つ前の詳細指示データのオフセット値が示す更新対象データ内の地点からの相対位置が記述される。この記述によって、オフセット値及び指示データのデータサイズは抑えられる。【選択図】図６
2012208402.tif 000002
【特許請求の範囲】
【請求項１】
ＩＤコードが割り当てられた単位データの一群により構成される地図データを記憶する情報端末に対し、前記情報端末に前記地図データを更新させるための指示データを送信する送信手段を備えたデータ提供装置であって、
前記送信手段は、更新対象の前記単位データに対応する前記ＩＤコードと、この単位データにおける更新対象エリアの位置が記述された詳細指示データの一群と、を備えた指示データであって、前記詳細指示データの一群が配列された構成の前記指示データを、更新対象の前記単位データ毎に送信する構成され、
前記指示データが備える前記詳細指示データの夫々は、前記単位データ内における前記更新対象エリアの位置を表す更新先位置データと、この更新対象エリアに上書きするデータである上書きデータと、を有し、
配列順が先頭の前記詳細指示データは、前記更新対象の単位データ先頭を基点とした前記基点からの相対位置によって、前記更新対象エリアの位置が記述されてなる前記更新先位置データを有し、
配列順が先頭以外の前記詳細指示データの夫々は、前記配列順が一つ前の前記詳細指示データが有する前記更新先位置データが示す位置を基点とした当該基点からの相対位置により、前記更新対象エリアの位置が記述されてなる前記更新先位置データを有すること
を特徴とするデータ提供装置。
【請求項２】
前記更新先位置データは、記述可能な前記相対位置の範囲に上限のある固定長のデータとして構成され、
前記指示データは、前記基点からの相対位置が前記上限を超える特殊な前記詳細指示データに関しては、前記詳細指示データの一群が配列されてなる配列データ内における前記特殊な詳細指示データの直前に、ダミーデータを備える構成にされ、
前記ダミーデータは、前記詳細指示データと同一様式のデータとして構成され、前記配列データにおいて後続する前記特殊な詳細指示データの更新対象エリアと、この特殊な詳細指示データに対応する前記基点との中間地点の位置を表すデータを、前記更新先位置データとして有し、
前記ダミーデータに続く前記特殊な詳細指示データは、前記更新先位置データとして、前記基点からの相対位置に代えて、前記配列データ内において直前に位置する前記ダミーデータが示す前記中間地点からの相対位置が記述されてなるデータを有すること
を特徴とする請求項１記載のデータ提供装置。
【請求項３】
前記ダミーデータは、前記更新先位置データを備える一方で前記上書きデータを備えない構成のデータ、又は、前記更新先位置データ及び前記上書きデータを備えるものの前記上書きデータが前記更新対象エリアの更新前データと同一内容であるデータとして構成されていること
を特徴とする請求項２記載のデータ提供装置。
【請求項４】
前記詳細指示データの夫々は、固定長のデータであること
を特徴とする請求項１〜請求項３のいずれか一項記載のデータ提供装置。
【請求項５】
請求項１記載のデータ提供装置から送信される前記指示データを受信可能な情報端末であって、
前記地図データを記憶する記憶手段と、
前記データ提供装置から受信した前記指示データに基づき、前記記憶手段が記憶する前記地図データを更新する更新手段と、
を備え、
前記更新手段は、前記受信した前記指示データが備える前記詳細指示データを配列順に参照し、各詳細指示データの参照時には、参照先の前記詳細指示データが有する前記更新先位置データ及び前記参照先よりも配列順の若い前記詳細指示データが有する前記更新先位置データの夫々が示す前記相対位置の累積値を算出することにより、前記参照先の詳細指示データに対応する前記更新対象エリアを特定し、前記単位データにおける特定した前記更新対象エリア内のデータを、前記参照先の詳細指示データが備える前記上書きデータにより更新することによって、前記指示データに基づく前記地図データの更新動作を実現すること
を特徴とする情報端末。
【請求項６】
請求項２又は請求項３記載のデータ提供装置から送信される前記指示データを受信可能な情報端末であって、
前記地図データを記憶する記憶手段と、
前記データ提供装置から受信した前記指示データに基づき、前記記憶手段が記憶する前記地図データを更新する更新手段と、
を備え、
前記更新手段は、前記受信した前記指示データが備える前記詳細指示データを配列順に参照し、各詳細指示データの参照時には、参照先の前記詳細指示データと、前記参照先よりも配列順の若い前記詳細指示データ及び前記ダミーデータと、が備える前記更新先位置データが示す前記相対位置の累積値を算出することにより、前記参照先の詳細指示データに対応する前記更新対象エリアを特定し、前記単位データにおける特定した前記更新対象エリア内のデータを、前記参照先の詳細指示データが備える前記上書きデータにより更新することによって、前記指示データに基づく前記地図データの更新動作を実現すること
を特徴とする情報端末。
【請求項７】
請求項１記載のデータ提供装置と、
請求項５記載の情報端末と、
を備えることを特徴とする地図更新システム。
【請求項８】
請求項２又は請求項３記載のデータ提供装置と、
請求項６記載の情報端末と、
を備えることを特徴とする地図更新システム。
【請求項９】
ＩＤコードが割り当てられた単位データの一群により構成される地図データを記憶する情報端末に、前記地図データを更新させるための指示データを生成する生成手段を備えたデータ生成装置であって、
前記生成手段は、更新対象の前記単位データ毎に、更新対象の前記単位データに対応する前記ＩＤコードと、この単位データにおける更新対象エリアの位置が記述された詳細指示データの一群と、を備える前記指示データであって、前記詳細指示データの一群が配列された構成の前記指示データを生成し、
前記詳細指示データとしては、前記単位データ内における前記更新対象エリアの位置を表す更新先位置データと、この更新対象エリアに上書きするデータである上書きデータと、を備えるデータを生成し、
配列順が先頭の前記詳細指示データとしては、前記更新対象の単位データ先頭を基点とした前記基点からの相対位置によって、前記更新対象エリアの位置を記述した前記更新先位置データを格納したデータを生成し、
配列順が先頭以外の前記詳細指示データについては、前記配列順が一つ前の前記詳細指示データが有する前記更新先位置データが示す位置を基点とした当該基点からの相対位置により、前記更新対象エリアの位置を記述した前記更新先位置データを格納した前記詳細指示データを生成すること
を特徴とするデータ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報端末が備える地図データを更新するためのシステム、並びに、このシステムを構成するデータ提供装置及び情報端末、並びに、地図データを更新するためのデータを生成する装置に関する。
【背景技術】
【０００２】
従来、地図データを記憶する電子機器としては、画面上に地図を表示する地図表示装置や、目的地までの経路案内を行うナビゲーション装置等が知られている。ナビゲーション装置としては、特に、車両の走行案内を行う車載型のナビゲーション装置が良く知られている。ところで、この電子機器が記憶する地図データは、最新の地図データであるのが好ましい。新設された道路等の情報が地図データに反映されていないと、電子機器が地図データに基づいてユーザに提供する情報に誤りが生じ、このことが、ユーザに不満を与えるためである。
【０００３】
電子機器が記憶する地図データを更新するための技術としては、セルラー網などの通信ネットワークを通じて、配信システムから電子機器に、地図データを更新するためのデータを提供する技術が知られている。例えば、この種の技術としては、地図データをバイト単位で更新可能な技術が知られている（特許文献１参照）。この技術によれば、地図データを構成する所定単位のデータ（以下「単位データ」という。）の夫々に対し、ＩＤコードを割り当てる。そして、配信システムからは、このＩＤコードに関連付けて、ＩＤコードに対応する単位データを更新するための指示データをネットワークを通じて送信する。
【０００４】
指示データには、更新対象の単位データに対応するＩＤコードと、当該単位データの先頭からの相対位置によって、この単位データにおける更新対象エリアの位置が記されたオフセット情報と、更新対象エリアに書き込む対象のデータ（以下「上書きデータ」という。）と、が格納される。特に、指示データには、オフセット情報として、単位データ先頭から更新対象エリアの始点までの距離を、バイト（ｂｙｔｅ）単位で表現した値が格納される。この技術によれば、更新対象エリアの始点をバイト単位で指定可能である。
【０００５】
そして、この指示データを受信する電子機器では、受信した指示データに記述されたＩＤコードに基づき、更新対象の単位データを特定し、当該指示データに記述されたオフセット情報に基づき、この単位データにおける更新対象エリアを特定して、このエリアに指示データが備える上書きデータを書き込む。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２９８５７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記構成の指示データを通じて地図データを更新する従来技術では、次のような問題があった。即ち、この技術では、単位データにおける更新対象エリアを、単位データ先頭からの相対位置により記述する。このため、ＩＤコードを割り当てる単位データのデータサイズを大きくすると、オフセット情報として記述すべき相対位置の範囲も広がり、オフセット情報のデータサイズも大きくする必要があるといった問題があった。
【０００８】
例えば、オフセット情報を１バイトのデータとすると、このオフセット情報によっては、単位データ先頭から２５６バイトまでの位置までしか更新対象エリアの始点を指定することができない。従って、単位データを、２５６バイトを大きく上回るデータサイズで定義する場合には、オフセット情報を２バイトのデータにする必要がある。
【０００９】
また、このようにオフセット情報を２バイトのデータとすると、１バイトで指定可能な更新対象エリアに対してまでオフセット情報として２バイトのデータを記述することになる。従来技術によれば、このことが指示データのデータサイズを大きくする結果となっていた。
【００１０】
ここで、指示データを、ネットワークを通じて情報端末に提供することを考えた場合、通信速度の限界等を考慮して、指示データは少量化されるのが好ましい。しかしながら、従来技術では、指示データを十分に少量化できるとは言えず、改善の余地があった。
【００１１】
本発明は、こうした問題に鑑みなされたものであり、データ提供装置から、地図データを記憶する情報端末へ地図データの更新に必要なデータを好適に提供可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するためになされた本発明（請求項１）は、地図データを記憶する情報端末に対し、この情報端末に地図データを更新させるための指示データを送信する送信手段を備えたデータ提供装置であって、送信手段が次に説明する構造の指示データを送信するように構成されていることを特徴とする。但し、地図データは、ＩＤコードが割り当てられた単位データの一群により構成されるものとする。
【００１３】
送信手段が送信する指示データは、更新対象の単位データに対応するＩＤコードと、この単位データにおける更新対象エリアの位置が記述された詳細指示データの一群と、を備え、上記詳細指示データの一群が配列された構成にされる。送信手段は、このような構成の指示データを、更新対象の単位データ毎に送信する。
【００１４】
詳細指示データは、単位データ内における更新対象エリアの位置を表す更新先位置データと、この更新対象エリアに上書きすべきデータである上書きデータと、を有した構成にされる。
【００１５】
そして、配列順が先頭の詳細指示データは、更新対象の単位データ先頭を基点とした当該基点からの相対位置によって、更新対象エリアの位置が記述されてなる更新先位置データを有した構成にされる。
【００１６】
一方、配列順が先頭以外の詳細指示データの夫々は、配列順が一つ前の詳細指示データが有する更新先位置データが示す位置を基点とした当該基点からの相対位置によって、更新対象エリアの位置が記述されてなる更新先位置データを有した構成にされる。
【００１７】
即ち、従来技術では、更新対象の単位データ先頭からの相対位置によって更新対象エリアの位置が記述されるが、本発明では、配列順が一つ前の詳細指示データが示す更新対象エリアの位置を基点とする相対位置によって更新対象エリアの位置が詳細指示データに記述される。
【００１８】
従来技術に対するこのような差異によって、本発明は、次のような効果を発揮する。即ち、従来技術によれば、更新先位置データを１バイトとすると、単位データ先頭から２５５バイトまでの位置までしか更新対象エリアの始点を指定することができなかった。これに対し、本発明によれば、従来技術が有するような単位データ先頭から指定可能な範囲の制限を受けることなく、更新対象エリアを指定することができる。
【００１９】
詳述すると、本発明によれば、少なくとも更新対象エリア間の間隔が更新先位置データにて表現可能な範囲にある条件下では、単位データ先頭からの距離に制限を受けることなく、更新対象エリアを指定することができる。従って、本発明によれば、不必要に更新先位置データのデータサイズを大きくする必要がなく、指示データをコンパクトにすることができる。結果、本発明によれば、データ提供装置から、地図データを記憶する情報端末へ、地図データの更新に必要なデータを好適に提供することができる。
【００２０】
尚、送信手段は、人やコンピュータ等によって予め生成された指示データを、データベースから読み出して、これを情報端末に送信する構成にすることができる。この他、送信手段は、データベースに記録された旧バージョンの地図データと新バージョンの地図データとの差分を抽出し、この抽出結果に基づいて上記構成の指示データを生成する機能を備えた構成にされてもよい。
【００２１】
また、更新先位置データは、固定長のデータとして構成されるのが好ましい。更新先位置データを可変長とすると、データ境界を明確にするための付属情報が必要になり、かえって更新先位置データの実質的なデータサイズが大きくなってしまう可能性がある。これに対し、更新先位置データを固定長とすると、上述したような付属情報を設ける必要がないといった利点がある。
【００２２】
但し、更新先位置データを固定長とすると、更新先位置データに記述可能な相対位置の範囲に上限が生じる。このため、指示データは、上述した規則に従う上記基点からの相対位置が上限を超える特殊な詳細指示データに関しては、詳細指示データの一群が配列されてなる配列データにおける特殊な詳細指示データの直前に、ダミーデータを備える構成にされるとよい（請求項２）。
【００２３】
ダミーデータは、詳細指示データと同一様式のデータとして構成することができる。更に、このダミーデータは、配列データにおいて後続する上記特殊な詳細指示データの更新対象エリアと、この詳細指示データに対応する上記基点との中間地点の位置を表すデータを、更新先位置データとして有する構成にすることができる。
【００２４】
そして、配列データ内において、上記ダミーデータに続く上記特殊な詳細指示データは、上記基点からの相対位置に代えて、配列データ内において直前に位置するダミーデータが示す上記中間地点からの相対位置が記述された更新先位置データを有する構成にすることができる。
【００２５】
このような指示データの構成によれば、配列順が一つ前の詳細指示データにおける更新対象エリアの位置を基点とした相対位置を、ダミーデータを用いて多段階に記述することができる。よって、配列順が一つ前の詳細指示データにおける更新対象エリアの位置を基点とした相対位置が、固定長の更新先位置データにて表現可能な範囲を超える場合でも、これを原因として、所望のエリアを更新対象エリアに指定できない事態が生じるのを抑えることができる。
【００２６】
尚、上記特殊な詳細指示データの直前に挿入されるダミーデータは、一つに限られない。ダミーデータを複数設ければ、上記基点からの相対位置が大きく離れている更新対象エリアに対するデータ更新動作についても、上記指示データを用いて実現することが可能である。
【００２７】
また、ダミーデータは、更新先位置データが示すエリアに対してデータ更新を行うことを目的としたデータではないため、詳細指示データと同一様式のデータとして構成しつつも、具体的には、次のような構成を採用することができる（請求項３）。
【００２８】
例えば、ダミーデータは、更新先位置データ及び上書きデータを備えるものの、上書きデータが更新対象エリアの更新前データと同一内容である構成のデータとして構成することができる。この場合には、ダミーデータに基づいて情報端末が地図データを更新する場合でも、地図データの内容が実質的に変更されることはない。
【００２９】
この他、ダミーデータは、更新先位置データを備える一方で上書きデータを備えない構成のデータとして構成されてもよい。ここで言う「上書きデータを備えない構成」のダミーデータとは、上書きデータを格納すべき領域に、上書きデータがないことを示すデータが格納された構成のダミーデータをも含む。尚、ダミーデータに上書きデータ又はそれに代わる代替データを格納しない場合には、ダミーデータのデータサイズが、詳細指示データのデータサイズと異なる結果となる。従って、この場合には、データサイズに関する情報を記述するための領域を含むデータフォーマットを、詳細指示データ及びダミーデータ共通のデータフォーマットとして採用することが考えられる。
【００３０】
このデータフォーマットを採用すれば、詳細指示データを可変長のデータとすることができるため、例えば、更新対象エリアの幅を詳細指示データ毎に可変とすることも可能である。但し、詳細指示データを可変長のデータとすると、指示データを受信する情報端末側での処理が複雑化する。従って、詳細指示データは、固定長のデータとされるのが好ましい（請求項４）。
【００３１】
また、データ提供装置から送信される指示データを受信する情報端末は、地図データを記憶する記憶手段と、データ提供装置から受信した指示データに基づき、記憶手段が記憶する地図データを更新する更新手段と、を備える構成にすることができる。そして、更新手段は、受信した指示データが備える詳細指示データを配列順に参照し、各詳細指示データの参照時には、次に説明する処理を実行することにより、指示データに基づく地図データの更新動作を実現する構成にすることができる（請求項５）。
【００３２】
即ち、更新手段は、詳細指示データの参照時に、参照先の詳細指示データが有する更新先位置データ及び、この参照先よりも配列順の若い詳細指示データが有する更新先位置データの夫々が示す相対位置の累積値を算出する構成にすることができる。
【００３３】
更に、更新手段は、上記累積値の算出によって更新対象エリアを特定し、単位データにおける上記特定した更新対象エリア内のデータを、参照先の詳細指示データが備える上書きデータにより更新する構成にすることができる。上記累積値によれば、参照先の詳細指示データに対応する更新対象エリアを、更新対象の単位データの先頭位置を基準として特定することができる。従って、上記一連の動作によって、指示データに基づく地図データの更新動作を実現することができる。
【００３４】
また、指示データにダミーデータが含まれる場合、更新手段は、次のように構成することができる（請求項６）。即ち、更新手段は、詳細指示データの参照時に、参照先の詳細指示データ、参照先よりも配列順の若い詳細指示データ、及び、参照先よりも配列順の若いダミーデータが備える更新先位置データが示す相対位置の累積値を算出することにより、参照先の詳細指示データに対応する更新対象エリアを特定する構成にすることができる。
【００３５】
このような構成の情報端末とデータ提供装置とを用いて、情報端末が備える地図データを更新する地図更新システムを構成すれば（請求項７及び請求項８）、通信によって、情報端末が備える地図データを好適に更新することが可能である。
【００３６】
また、指示データについては、情報処理装置により生成して、データ提供装置が参照可能なデータベース装置に登録することができる。若しくは、データ提供装置には、このような指示データを生成する機能を組み込むことができる。
【００３７】
本発明のデータ生成装置は、上記地図データを記憶する情報端末に、地図データを更新させるための指示データを生成する生成手段を備えるものである（請求項９）。生成手段は、更新対象の単位データに対応するＩＤコードと、この単位データにおける更新対象エリアの位置を記述した詳細指示データの一群と、を備える指示データであって、詳細指示データの一群を配列してなる構成の上記指示データを、更新対象の単位データ毎に生成する。
【００３８】
具体的に、生成手段は、情報端末が備える旧バージョンの地図データと、この旧バージョンの地図データに対する新パージョンの地図データとの差分を抽出して、差分のある単位データを、更新対象の単位データに設定し、更新対象の単位データ毎に、上記構成の指示データを生成する構成にすることができる。
【００３９】
この他、データ提供装置が備える送信手段としての機能は、プログラムを通じてコンピュータに実現させることができる。この場合には、ハードウェアとしての通信デバイスをコンピュータが上記プログラムに基づき制御することによって、上記送信手段としての機能が実現される。また、このプログラムは、ＤＶＤ−ＲＯＭ等の光ディスクや、フレキシブルディスク等の磁気ディスクや、半導体製メモリ（メモリカード等）などの記録媒体に記録して、ユーザに提供することができる。
【００４０】
同様に、情報端末が備える更新手段としての機能や、データ生成装置が備える生成手段としての機能も、プログラムを通じてコンピュータに実現させることができる。また、これらのプログラムは、上記記録媒体に記録して、ユーザに提供することができる。
【図面の簡単な説明】
【００４１】
【図１】地図更新システム１の構成図である。
【図２】ナビゲーション装置１０及び配信システム５０の構成を表すブロック図である。
【図３】地図データの構成図である。
【図４】指示データの送受信による地図データの更新態様を説明した図である。
【図５】指示データの構成図である。
【図６】オフセット値の記述態様を説明した図である。
【図７】詳細指示データの具体例を記した図である。
【図８】詳細指示データに基づく更新前後の地図データの値を記した図である。
【図９】更新対象エリア間が離れている場合の指示データの構成図である。
【図１０】ダミーデータを含む指示データの具体例を説明した図である。
【図１１】ナビゲーション装置１０の制御デバイス１９及び配信システム５０の情報処理装置７０が実行する処理を表すフローチャートである。
【図１２】制御デバイス１９が実行する更新処理を表すフローチャートである。
【図１３】変形例の指示データの構成図である。
【発明を実施するための形態】
【００４２】
以下に本発明の実施例について、図面と共に説明する。
図１に示す本実施例の地図更新システム１は、車両に搭載される情報端末としてのナビゲーション装置１０と、地図データを更新するためのデータをナビゲーション装置１０に提供する配信システム５０と、を備え、ナビゲーション装置１０と配信システム５０とが、無線局４０を通じて無線通信可能に接続された通信システムである。
【００４３】
地図更新システム１を構成するナビゲーション装置１０は、図２に示すように、位置検出デバイス１１、記憶デバイス１３、操作デバイス１５、音声出力デバイス１６、表示デバイス１７、制御デバイス１９、及び、通信デバイス２０を備える。位置検出デバイス１１は、ナビゲーション装置１０を搭載した車両の現在位置を検出するためのものであり、周知のジャイロスコープ、距離センサ及びＧＰＳ受信機等を有した構成にされる。
【００４４】
一方、記憶デバイス１３は、全国の道路ネットワークを表す地図データが格納されたものであり、例えば、ハードディスク装置により構成される。記憶デバイス１３が記憶する地図データは、図３に示すように、地図の構成要素に関する情報が記述された所定単位のデータ（単位データ）の夫々に、ＩＤコードが割り当てられた構成にされている。この単位データは、例えば、道路ネットワークを構成するリンク毎やノード毎、リンク及びノードを含む一連の路線毎に設けられる。具体的に、単位データの例としては、リンクデータやノードデータ、路線データなどを挙げるができる。
【００４５】
即ち、記憶デバイス１３が記憶する地図データは、地図構成要素に関する情報を含む単位データ及びこの単位データに対応するＩＤコードが記述されたデータの一群を備えた構成にされる。
【００４６】
また、操作デバイス１５は、ユーザからの指示を制御デバイス１９に入力するものであり、表示デバイス１７に配置されたタッチパネルや、ナビゲーション装置１０の本体表面やリモートコントローラに設けられた操作スイッチ群等により構成される。この操作デバイス１５を通じて、ユーザは、地図の縮尺変更やスクロール等の操作や目的地設定などナビゲーション装置１０に対するあらゆる操作を行うことが可能である。
【００４７】
また、音声出力デバイス１６は、スピーカ等から構成され、制御デバイス１９からの信号を受けてユーザへの案内音声等を出力するものである。この他、表示デバイス１７は、フルカラー表示が可能なものであり、表示デバイス１７には、例えば、位置検出デバイス１１により検出された車両の現在位置を表すマークや誘導経路等が、記憶デバイス１３が記憶する地図データに基づく地図画像に重ねて表示される。
【００４８】
また、制御デバイス１９は、周知のマイクロコンピュータと同様の構成にされ、ＣＰＵ１９ａ、ＲＯＭ１９ｂ及びＲＡＭ１９ｃ等を備える。そして、ＣＰＵ１９ａは、ＲＯＭ１９ｂに記憶されるプログラムに従って、ナビゲーション機能を実現するための各種処理を実行する。具体的に、制御デバイス１９は、ＣＰＵ１９ａによるプログラムの実行により、記憶デバイス１３から地図データを読み込んで、この読込データに基づき、地図表示や経路探索・経路案内等の処理を実行する。
【００４９】
この他、通信デバイス２０は、無線局４０を介して配信システム５０と通信可能なインタフェースである。この通信デバイス２０は、制御デバイス１９に制御されて、送信対象のデータを配信システム５０に送信し、又、配信システム５０から受信したデータを、制御デバイス１９に入力する。
【００５０】
また、配信システム５０は、通信デバイス６０、情報処理装置７０、及び、データベース装置８０を備える。通信デバイス６０は、無線局４０を介して車両に搭載されたナビゲーション装置１０と通信可能なデバイスである。この通信デバイス６０は、情報処理装置７０から提供される送信対象のデータを、無線局４０を通じて、ナビゲーション装置１０に送信し、ナビゲーション装置１０から受信したデータを情報処理装置７０に入力する。
【００５１】
また、情報処理装置７０は、プログラムに従う各種処理を行うＣＰＵ７０ａと、ＣＰＵ７０ａにより実行されるプログラムを記憶する記憶デバイス７０ｂと、を備える。この他、データベース装置８０は、最新バージョンを含む各バーションの地図データが格納された大容量のハードディスク装置により構成される。
【００５２】
この配信システム５０における情報処理装置７０は、記憶デバイス７０ｂが備えるプログラムに従って、サーバ側地図更新処理（図４及び図１１参照）を実行する。そして、このサーバ側地図更新処理では、データベース装置８０が記憶する地図データに基づき、ナビゲーション装置１０に、このナビゲーション装置１０が有する旧バージョンの地図データを、最新バーションの地図データに更新させるための指示データを生成し、この指示データを、通信デバイス６０を通じてナビゲーション装置１０に送信する（図４参照）。
【００５３】
一方、ナビゲーション装置１０は、制御デバイス１９でクライアント側地図更新処理（図４、図１１及び図１２参照）を実行することによって、配信システム５０から受信した指示データに基づき、記憶デバイス１３が記憶する旧バージョンの地図データを更新する。例えば、図４に示すように情報処理装置７０は、ナビゲーション装置１０に、このナビゲーション装置１０が有するバージョン２の地図データを、最新バーションであるバージョン３の地図データに更新させるための指示データを生成し、これを、通信デバイス６０を通じてナビゲーション装置１０に送信する。そして、ナビゲーション装置１０は、この指示データに従って、記憶デバイス１３が記憶するバージョン２の地図データを、バージョン３の地図データに更新する。
【００５４】
本実施例では、このようにして配信システム５０及びナビゲーション装置１０間の通信により、ナビゲーション装置１０が備える地図データを更新する。
ここで、情報処理装置７０による指示データの生成手順について説明する。情報処理装置７０は、次の手順１〜手順３によって指示データを生成する。
【００５５】
手順１）データベース装置８０が記憶する各バージョンの地図データを用いて、ナビゲーション装置１０が有する旧バージョンの地図データと、最新バージョンの地図データとの差分を抽出し、更新の必要な単位データの一群を特定する。
【００５６】
手順２）更新の必要な単位データの一つを、指示データ生成対象の単位データとして選択する。
手順３）選択した単位データについての、旧バージョンの地図データと最新バージョンの地図データとの差分から、旧バージョンの単位データを、最新バージョンの単位データに置換するための図５に示す構成の指示データを生成する。
【００５７】
情報処理装置７０は、この手順２及び手順３を繰返し実行することにより、更新の必要な単位データ毎に、指示データを生成する。
続いて、図５を用いて、更新対象の単位データ毎に生成される指示データの詳細構成について説明する。指示データは、更新対象の単位データに付与されたＩＤコードを表すデータと、この指示データのデータサイズを表すデータと、詳細指示データの一群と、から構成される。詳細指示データの一群は、これら詳細指示データが配列されてなる配列データとして、指示データに格納される。また、「ＩＤコード」及び「データサイズ」のデータは、固定長のデータとして構成される。
【００５８】
詳細指示データの夫々は、指示データが示すＩＤコードに対応する更新対象の単位データにおける更新対象エリアを指定するものであり、更新対象エリアの位置が記述されたデータとして構成される。換言すると、本実施例の指示データは、ＩＤコードが示す単位データ内の更新対象エリア毎に、詳細指示データを有した構成にされる（図６参照）。
【００５９】
具体的に、詳細指示データは、オフセット値を表すデータと、変更フラグを表すデータと、オフセット値により特定される更新対象エリアに上書きすべきデータとしての上書きデータと、から構成される。オフセット値を表すデータ及び変更フラグを表すデータは固定長のデータとして構成される。
【００６０】
オフセット値は、詳細指示データによって指定する更新対象エリアの始点位置を表すものであり、次の規則に従って詳細指示データに記述される。即ち、オフセット値の記述先が、配列データにおいて配列順が先頭の詳細指示データである場合には、更新対象の単位データ先頭を基点とした当該基点からの相対位置によって数値化された更新対象エリアの始点位置が、オフセット値として詳細指示データに記述される。尚、基点からの相対位置は、バイトを単位とする距離で数値化される。
【００６１】
配列順が先頭の詳細指示データには、上記オフセット値として、単位データ先頭に最も近い第一の更新対象エリア（図６に示す「変更箇所１」）始点の単位データ先頭からの相対位置が記述される。図６に示す例によれば、単位データ先頭から第一の更新対象エリアまでの距離は、ΔＸ１バイトであるので、オフセット値としては、ΔＸ１が記述される。
【００６２】
一方、オフセット値の記述先が配列データにおいて配列順が先頭以外の詳細指示データである場合、この詳細指示データには、配列順が一つ前の詳細指示データが示すオフセット値に対応する単位データ上の地点を基点とした当該基点からの相対位置によって数値化された更新対象エリアの始点位置が、オフセット値として記述される。
【００６３】
ここで、図６に示す例に従って、指示データを構成する詳細指示データの配列、及び、各詳細指示データに記述されるオフセット値について説明する。図６に示す更新対象の単位データには、先頭からΔＸ１バイトの地点を始点とする第一の更新対象エリアが存在することは、上述した通りである。
【００６４】
更に、この単位データには、第一の更新対象エリアの始点から、ΔＸ２バイト離れた地点に、この地点を始点とする第二の更新対象エリアが存在する（図６に示す「変更箇所２」）。更に、第二の更新対象エリアの始点からΔＸ３バイト離れた地点に、この地点を始点とする第三の更新対象エリアが存在し（図６に示す「変更箇所３」）、第三の更新対象エリアの始点からΔＸ４バイト離れた地点に、この地点を始点とする第四の更新対象エリアが存在する（図６に示す「変更箇所４」）。
【００６５】
このため、この単位データに対する指示データには、図６右図に示すように第一〜第四の各更新対象エリアに対応した合計四つの詳細指示データが、単位データ先頭からの更新対象エリアの配列順に、配列される。
【００６６】
そして、配列順が先頭の詳細指示データには、オフセット値として、上述したように値ΔＸ１が記述されるが、配列順が二番目の詳細指示データには、第二の更新対象エリアの始点位置を表すオフセット値として、第一の更新対象エリア始点からの相対位置ΔＸ２が記述される。また、配列順が三番目の詳細指示データには、第三の更新対象エリアの始点位置を表すオフセット値として、第二の更新対象エリア始点からの相対位置ΔＸ３が記述される。この他、配列順が四番目の詳細指示データには、第四の更新対象エリアの始点位置を表すオフセット値として、第三の更新対象エリア始点からの相対位置ΔＸ４が記述される。
【００６７】
続いて、詳細指示データが有する上書きデータの構成について説明する（図５参照）。この詳細指示データが有する上書きデータは、Ｊバイトのエリアとして定義される更新対象エリアを１バイト毎に分割して得られる小領域（以下、「バイト領域」と表現する。）毎に、このバイト領域に対して書き込むべき１バイトの値（以下「変更値」と表現する。）が記述されてなるデータである。但し、本実施例の上書きデータには、更新対象エリアのバイト数に対応するＪバイト分全ての変更値が記述されるとは限らない。即ち、上書きデータには、Ｊバイト分の更新対象エリアの内、更新が必要なバイト領域に対応する変更値が選択的に記述される。
【００６８】
例えば、Ｊ＝８バイトの更新対象エリア全体を更新する必要がある場合には、図７（ａ）に示すように、８バイト分の変更値が記述された上書きデータが詳細指示データに格納されるが、図７（ｂ）に示すように、この更新対象エリアの内、３バイト分のみ更新する必要がある場合には、３バイト分の変更値が記述された上書きデータが詳細指示データに格納される。図７（ａ）は、８バイト分の変更値が記述された上書きデータを備える詳細指示データの構成図であり、図７（ｂ）は、３バイト分の変更値が記述された上書きデータを備える詳細指示データの構成図である。
【００６９】
この上書きデータには、更新対象エリアの始点に近いバイト領域の変更値から、バイト領域の配列順に、変更値が記述される。更新対象エリアの始点から始まる先頭のバイト領域を、０番目のバイト領域とし、更新対象エリアの終点で終わる末尾のバイト領域を、（Ｊ−１）番目のバイト領域として、バイト領域の配列番号ｊ＝０〜Ｊ−１を、その配列順に定義すると、上書きデータには、配列番号の若いバイト領域の順に、そのバイト領域に対応する変更値が記述される。
【００７０】
また、上書きデータに記述された変更値が、何番目のバイト領域に対応する変更値であるのかを特定するための情報は、詳細指示データを構成する変更フラグに記述される。
変更フラグは、更新対象エリアの各バイト領域に対応する変更値の有無を表すフラグである。変更フラグは、Ｊビットの固定長データとして構成される。この変更フラグを構成する各ビットは、更新対象エリア内の、このビットに対応するバイト領域に対する変更値が、上記「上書きデータ」に存在するか否かを表す。
【００７１】
具体的に、変更フラグの最下位ビットを第０ビット、最上位ビットを第（Ｊ−１）ビットとして定義すると、第ｊビットの値は、上記定義に従うｊ番目のバイト領域に対応する変更値の有無を表す。例えば、第ｊビットの値が「１」である場合には、ｊ番目のバイト領域に対応する変更値が上書きデータに記述されていることを示し、第ｊビットの値が「０」である場合には、ｊ番目のバイト領域に対応する変更値が上書きデータに記述されていないことを示す（図７（ａ）及び図７（ｂ）参照）。
【００７２】
このように構成される変更フラグによって、上書きデータに配列された変更値が、どのバイト領域の変更値であるのかは、特定される。
例えば、ナビゲーション装置１０の制御デバイス１９は、配信システム５０から受信した指示データに格納される図７（ｂ）に示す構成の詳細指示データに従って、地図データを更新するとき、この詳細指示データが示す変更フラグに基づき、更新が必要なバイト領域が、更新対象エリア始点から０番目（０バイト目）のバイト領域、１番目（１バイト目）のバイト領域、及び、２番目（２バイト目）のバイト領域であると特定する。そして、図８に示すように、上書きデータにおける０番目の変更値Ｄ０*に基づき、０番目のバイト領域を現在値Ｄ０から値Ｄ０*に更新し、１番目の変更値Ｄ１*に基づき、１番目のバイト領域を現在値Ｄ１から値Ｄ１*に更新し、２番目の変更値Ｄ２*に基づき、２番目のバイト領域を現在値Ｄ２から値Ｄ２*に更新する。一方で、３〜７番目のバイト領域については、その値を現在値Ｄ３〜Ｄ７から変更しない。
【００７３】
ところで、詳細指示データに記述されるオフセット値は、固定長のデータとして構成されるため、オフセット値として記述可能な上記相対位置の範囲には、上限がある。例えば、オフセット値が１バイトのデータで構成される場合、オフセット値は、値０ｘ００から値０ｘＦＦの範囲に制限され、２５６バイト以上の相対位置を指定できない。
【００７４】
このため、図９（ａ）に示すように、隣接する更新対象エリアの間隔（同図に示す「変更箇所２」と「変更箇所３」との間）がオフセット値の上限を超える場合には、オフセット値の上限を超えた位置の更新対象エリアを更新するための詳細指示データを、上記規則によっては生成することができないことになる。
【００７５】
そこで、本実施例では、上記規則に従う基点からの相対位置がオフセット値の上限を超える特殊な詳細指示データに関しては、配列データ内におけるこの特殊な詳細指示データの直前に、ダミーデータを挿入して、この問題を解決する。
【００７６】
図９（ａ）（ｂ）に示す例によれば、更新対象の単位データに、第一の更新対象エリア（変更箇所１）、第二の更新対象エリア（変更箇所２）及び第三の更新対象エリア（変更箇所３）が存在する。そして、「第一の更新対象エリア」始点の単位データ先頭からの相対位置ΔＸ１、及び、「第二の更新対象エリア」始点の「第一の更新対象エリア」始点からの相対位置ΔＸ２は、オフセット値により表現可能な範囲内にある。しかしながら、「第三の更新対象エリア」始点の「第二の更新対象エリア」始点からの相対位置ΔＸ５は、オフセット値により表現可能な範囲を超えている。
【００７７】
このような単位データを更新するための指示データには、第一の更新対象エリアを更新するための第一の詳細指示データ、第二の更新対象エリアを更新するための第二の詳細指示データ、第三の更新対象エリアを更新するための第三の詳細指示データが配列された配列データにおける第三の詳細指示データの直前に、ダミーデータが挿入される（図９（ｂ）右図参照）。
【００７８】
挿入されるダミーデータは、詳細指示データと同一フォーマットのデータである。但し、ダミーデータ自体は、データ更新を行うことを目的としたデータではないため、このダミーデータには、変更フラグとして全ビットが値「０」の変更フラグが格納される。また、ダミーデータは、上書きデータに記述すべき変更値がないデータであるため、上記「上書きデータ」を備えない構成にされる（図９右下図参照）。また、ダミーデータには、オフセット値として上限値（０ｘＦＦ）が記述される。尚、以下では、オフセット値が１バイトで構成されている場合の実施例を具体例として説明する。
【００７９】
また、配列データにおいてダミーデータが配列された直後の詳細指示データには、上記基点からの相対位置に代えて、直前のダミーデータが示すオフセット値に対応する単位データ上の地点からの更新対象エリアの相対位置がオフセット値として記述される。
【００８０】
図９（ｂ）に示す例によれば、第三の詳細指示データの前に一つのダミーデータが挿入されるため、第三の詳細指示データには、第二の更新対象エリア始点からの相対位置ΔＸ５からオフセット値の上限値０ｘＦＦを引いた値ΔＸ６＝ΔＸ５−０ｘＦＦが記述される。
【００８１】
尚、図９（ｂ）では、値（ΔＸ５−０ｘＦＦ）がオフセット値の上限を超えないことを前提としているが、仮に、値（ΔＸ５−０ｘＦＦ）がオフセット値の上限を超える場合には、第三の詳細指示データと第二の詳細指示データとの間に、更に上記構成のダミーデータが挿入される。そして、第三の詳細指示データには、第二の更新対象エリアの始点を基点とした相対位置ΔＸ５から値０ｘＦＦのα倍を引いた値ΔＸ６＝ΔＸ５−α・０ｘＦＦが、オフセット値として記述される。ここで、αは、オフセット値の記述先の詳細指示データ（第三の詳細指示データ）と、この詳細指示データに対して配列順が一つ前の詳細指示データ（第二の詳細指示データ）との間に挿入されるダミーデータの個数である。
【００８２】
本実施例では、このようなダミーデータの挿入によって、オフセット値を固定長とすることによる更新対象エリアの指定範囲の制限を受けることがないようにしている。
ここで、図９（ｂ）に示す第一〜第三の更新対象エリア（変更箇所１〜３）の「単位データ」先頭からの距離が図１０上段に示す値を採る場合の指示データの構成を、図１０下段に示す。尚、図１０下段では、ダミーデータに対して、上書きデータを表現しているが、この上書きデータは、後述する変形例２を考慮して表現したものであり、本実施例の場合には、ダミーデータに上書きデータは存在しない。
【００８３】
この例によれば、第一の更新対象エリアの「単位データ」先頭からの距離（従来技術と同一定義でのオフセット値）は、０ｘ００８０（バイト）である。また、第二の更新対象エリアの「単位データ」先頭からの距離は、０ｘ０１００（バイト）であり、第三の更新対象エリアの「単位データ」先頭からの距離は、０ｘ０２７Ｆ（バイト）である。
【００８４】
このようなケースにおいて、指示データを構成する第一の詳細指示データは、第一の更新対象エリア（変更箇所１）に対応するオフセット値として、値０ｘ８０が記述された構成にされ、第二の詳細指示データは、第二の更新対象エリア（変更箇所２）に対応するオフセット値として、値０ｘ８０（＝０ｘ０１００−０ｘ００８０）が記述された構成にされる。また、指示データは、第二の詳細指示データと、第三の詳細指示データとの間に、ダミーデータが挿入された構成にされ、第三の詳細指示データは、第三の更新対象エリア（変更箇所３）に対応する値として、値０ｘ８０（＝０ｘ２７Ｆ−０ｘ１００−０ｘＦＦ）が記述された構成にされる。
【００８５】
この説明からも理解できるように、従来技術によるオフセット値の定義によれば、オフセット値を２バイトのデータとしなければならないケースにおいて、本実施例の指示データの構成を採用すると、オフセット値を２バイトのデータとしなくとも、第二の更新対象エリア及び第三の更新対象エリアを指定することができる。
【００８６】
続いて、ナビゲーション装置１０の制御デバイス１９がプログラムに従って実行するクライアント側地図更新処理、及び、配信システム５０の情報処理装置７０がプログラムに従って実行するサーバ側地図更新処理について、その詳細を、図１１を用いて説明する。
【００８７】
本実施例では、ナビゲーション装置１０からの要求によって、ナビゲーション装置１０と配信システム５０との間で上記指示データの送受信が行われ、この指示データに基づく地図データの更新動作がナビゲーション装置１０で実行される。
【００８８】
例えば、ナビゲーション装置１０の制御デバイス１９は、定期的に、又は、操作デバイス１５を通じて入力されるユーザからの指示に従って図１１に示すクライアント側地図更新処理を開始する。そして、クライアント側地図更新処理の開始時には、まず、記憶デバイス１３が記憶する地図データよりバージョンの新しい地図データが存在するか否かを配信システム５０に問い合せるための問合せ信号を、配信システム５０に送信する（Ｓ１００）。この問合せ信号には、記憶デバイス１３が記憶する地図データのバージョン情報が含まれる。
【００８９】
配信システム５０の情報処理装置７０は、上記問合せ信号を受信すると、図１１に示すサーバ側地図更新処理を開始し、受信した問合せ信号に含まれるバージョン情報に基づき、問合せ元のナビゲーション装置１０が記憶する地図データが、データベース装置８０が記憶する最新バージョンの地図データと同一バージョンの地図データであるか否かを判断する（Ｓ５００）。即ち、問合せ元のナビゲーション装置１０が記憶する地図データが、最新バージョンの地図データであるか否かを判断する（Ｓ５００）。
【００９０】
そして、問合せ元の地図データが最新バージョンの地図データであると判断すると（Ｓ５００でＹｅｓ）、その判断結果を記した問合せ信号に対する応答信号を、問合せ元に返信し（Ｓ９００）、当該サーバ側地図更新処理を終了する。
【００９１】
一方、問合せ元の上記地図データが旧バージョンの地図データであると判断すると（Ｓ５００でＮｏ）、その判断結果を記した問合せ信号に対する応答信号を、問合せ元に返信する（Ｓ５５０）。その後、問合せ元のナビゲーション装置１０が記憶する地図データを最新バージョンの地図データに更新するための指示データを、上述した規則（手順１，２，３）に従って生成する（Ｓ６００）。
【００９２】
そして、生成した指示データを、ナビゲーション装置１０に送信する（Ｓ７００）。情報処理装置７０は、このようなＳ６００の処理（特に上記手順２，３に対応する処理）及びＳ７００の処理を、完了条件が満足するまで繰返し実行することで、更新対象の単位データ毎の指示データを逐次、ナビゲーション装置１０に送信する。そして、完了条件が満足すると（Ｓ８００でＹｅｓ）、当該サーバ側地図更新処理を終了する。例えば、情報処理装置７０は、ナビゲーション装置１０が備える地図データの更新に必要な全ての指示データをナビゲーション装置１０に送信すると、完了条件が満足されたと判断して（Ｓ８００でＹｅｓ）、当該サーバ側地図更新処理を終了する。この他、情報処理装置７０は、通信エラーが生じると、完了条件が満足されたと判断して、サーバ側地図更新処理を終了する。
【００９３】
一方、ナビゲーション装置１０の制御デバイス１９は、問合せ信号に対する応答信号を受信すると（Ｓ１３０）、その応答信号に基づき、記憶デバイス１３が記憶する地図データが最新バージョンの地図データであるか否かを判断する（Ｓ１５０）。そして、最新バージョンの地図データであると判断すると（Ｓ１５０でＹｅｓ）、当該クライアント側地図更新処理を終了する。
【００９４】
一方、記憶デバイス１３が記憶する地図データが最新バージョンの地図データではないと判断すると（Ｓ１５０でＮｏ）、配信システム５０から送信されてくる各指示データを受信する（Ｓ２００）。そして、記憶デバイス１３が記憶する地図データを最新バージョンの地図データに更新するために必要な全ての指示データを受信すると、これらの指示データに基づき、記憶デバイス１３が記憶する地図データを更新する（Ｓ３００）。具体的には、指示データ毎に、図１２に示す更新処理を実行する。そして、地図データの更新が完了すると、当該クライアント側地図更新処理を終了する。尚、通信エラー等により、記憶デバイス１３が記憶する地図データを最新バージョンの地図データに更新するために必要な全ての指示データを受信できなかった場合には、Ｓ２００での処理を中断して、当該クライアント側地図更新処理を異常終了する。
【００９５】
続いて、図１２に示す更新処理について説明する。以下では、各更新処理に用いられる指示データのことを「受付データ」と表現する。
更新処理を開始すると、制御デバイス１９は、受付データ（指示データ）を構成する配列データに含まれる詳細指示データ及びダミーデータの内の一つを、処理対象データとして選択する。但し、ここでは、未選択の詳細指示データ及びダミーデータの内、受付データを構成する配列データ内で配列順が最も若いデータを、処理対象データに選択する（Ｓ３１０）。
【００９６】
そして、処理対象データ（詳細指示データ又はダミーデータ）の配列データ内における配列順位が先頭であるか否かを判断し（Ｓ３２０）、先頭である場合には（Ｓ３２０でＹｅｓ）、この処理対象データが示すオフセット値を、パラメータＡに設定する（Ｓ３３０）。
【００９７】
その後、制御デバイス１９は、Ｓ３５０に移行し、処理対象データがダミーデータであるか否かを判断する。処理対象データがダミーデータであるか否かは、変更フラグを参照することにより判断することができる。即ち、変更フラグの全ビットがオールゼロである場合には、処理対象データがダミーデータであると判断し、オールゼロでない場合には、処理対象データが詳細指示データであると判断することができる。
【００９８】
そして、処理対象データがダミ−データであると判断すると、Ｓ３８０に移行し、処理対象データがダミーデータではないと判断すると、Ｓ３６０に移行する。
Ｓ３６０に移行すると、制御デバイス１９は、パラメータＡの現在値に基づき、今回の更新対象エリアを特定する。具体的には、受付データが示すＩＤコードから特定される更新対象の単位データ先頭からパラメータＡの現在値に対応する距離離れた地点を、更新対象エリアの始点であると判定し、この始点からＪバイトの領域を、更新対象エリアと判定する。
【００９９】
そして、処理対象データ（詳細指示データ）が示す変更フラグ及び上書きデータに従って、記憶デバイス１３が記憶する地図データの上記特定した更新対象エリアに、上書きデータが示す変更値を書き込む。この動作によって、地図データの更新対象エリアの内容を更新する（Ｓ３７０）。具体的には、変更フラグにおいて値「１」に設定されたビットに対応するバイト領域の値を、上書きデータが示す、そのバイト領域に対応する変更値に更新して、更新対象エリアの内容を更新する。その後、Ｓ３８０に移行する。
【０１００】
Ｓ３８０に移行すると、制御デバイス１９は、受付データが備える全ての詳細指示データを処理対象データに選択してＳ３７０までの処理を実行したか否かを判断し、未選択の詳細指示データがあると判断すると（Ｓ３８０でＮｏ）、Ｓ３１０に戻り、配列データに含まれる詳細指示データ及びダミーデータの内の一つを、上述の規則に従って、新たに処理対象データとして選択し、Ｓ３２０以降の処理を実行する。
【０１０１】
尚、Ｓ３８０で未選択の詳細指示データがあると判断した後に選択される処理対象データの配列データ内における配列順位は先頭以外であるので、Ｓ３１０に戻った後のＳ３２０では、処理対象データの配列順位が先頭ではないと判断し、Ｓ３４０に移行する。
【０１０２】
そして、Ｓ３４０では、直前のＳ３１０で新たに選択した処理対象データが示すオフセット値を、パラメータＡの現在値に加算した値を、新たなパラメータＡの値に設定することにより、これまでに処理対象データに選択された詳細指示データ及びダミーデータが示すオフセット値の累計値を、パラメータＡに設定する。
【０１０３】
そして、この処理対象データが詳細指示データであると判断すると（Ｓ３５０でＮｏ）、制御デバイス１９は、Ｓ３６０，Ｓ３７０の処理を実行することで、処理対象データが示す更新対象エリアに、この処理対象データの上書きデータが示す値を書き込んで、更新対象エリアの内容を更新する。その後、Ｓ３８０に移行する。一方、処理対象データがダミーデータであると判断すると（Ｓ３５０でＹｅｓ）、Ｓ３６０，Ｓ３７０の処理を実行せずに、Ｓ３８０に移行する。
【０１０４】
制御デバイス１９は、このような処理を、受付データが備える全ての詳細指示データについて実行するまで繰返し実行し、受付データが備える全ての詳細指示データを処理対象データに選択してＳ３７０までの処理を実行したと判断すると（Ｓ３８０でＹｅｓ）、更新処理を終了する。このようにして、更新処理では、指示データが有する各詳細指示データに基づき、指示データが示すＩＤコードにて特定される更新対象の単位データにおける各更新対象エリアの内容を更新する。
【０１０５】
そして、本実施例の制御デバイス１９は、このような更新処理を指示データ毎に実行することにより、記憶デバイス１３が記憶する旧バージョンの地図データを最新バージョンの地図データに更新する。
【０１０６】
以上に、本実施例の地図更新システム１について説明したが、この地図更新システム１によれば、詳細指示データに記述するオフセット値を、従来のように、更新対象の単位データ先頭を基点とした相対位置として記述せずに、配列順が一つ前の詳細指示データ又はダミーデータが示すオフセット値に対応する単位データ上の地点を基点とした相対位置として記述する。従って、本実施例によれば、オフセット値を固定長としても、このオフセット値を通じて、単位データ内の任意のエリアをバイト単位で更新対象エリアに指定することができる。この結果、本実施例によれば、単位データのデータサイズを大きくしても、従来技術のように、それに伴ってオフセット値のデータサイズを大きくしなくて済む。即ち、従来技術のように、オフセット値のデータサイズを大きくするのに伴って、指示データのデータサイズが大きくなり、これが原因で、通信を用いた地図データの更新に、不都合が生じるのを抑えることができる。
【０１０７】
補足すると、オフセット値のデータサイズを１バイトから２バイトに代えても、オフセット値単体のデータ増加量は、高々１バイトである。しかしながら、単位データが５１２バイトのデータである場合には、その全体を更新するのに、６４個の詳細指示データが必要になる。そして、この場合には、オフセット値のデータサイズの増大が、指示データ全体で６４バイトの増加となる。仮に、単位データの半分の領域を更新する場合でも、オフセット値のデータサイズの増大が、指示データ全体では、３２バイトの増加となってしまう。そして、地図データを旧バージョンから新バージョンに更新する場合には、多数の単位データを更新することになるので、オフセット値のデータサイズの増大は、地図データを更新するのに必要な指示データの全体量に大きく影響する。
【０１０８】
従って、本実施例のように指示データを構成してデータ量を抑制する手法は、地図データの更新に必要なデータのダウンロードに要する時間の短縮等に、非常に有効に機能する。
【０１０９】
尚、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができることは言うまでもない。続いては、上記実施例の変形例について説明する。
［変形例１］
上記実施例では、ナビゲーション装置１０からの問合せ信号を受信する度に、このナビゲーション装置１０の地図データを更新するための指示データを生成したが、同じ指示データを問合せ信号の受信の度に生成しなくて済むように、地図更新システム１は、次のように構成されてもよい。即ち、地図更新システム１は、配信システム５０とは別装置、又は、配信システム５０内で予め指示データを生成して、これらをデータベース装置８０に蓄積する構成にされてもよい。そして、Ｓ６００の処理は、指示データを生成するのに代えて、対応する指示データを、データベース装置８０から読み出す処理に変更されてもよい。図１には、データベース装置８０が指示データを備える構成を点線によって示す。
【０１１０】
この他、Ｓ６００の処理は、データベース装置８０に対応する指示データが記憶されている場合には、これをデータベース装置８０から読み出し、対応する指示データが記憶されていない場合には、これを生成する処理に変更されてもよい。
【０１１１】
また、データベース装置８０に指示データを予め蓄積する場合には、コンピュータによるプログラムの実行により指示データを生成して、これらをデータベース装置８０に蓄積する手法の他、人の手作業により指示データを生成し、これらをデータベース装置８０に蓄積する手法を採用することができる。
［変形例２］
上記実施例では、変更フラグを用いることにより、更新対象エリアの一部領域のみを更新できるようにしたが、更新対象エリアの一部領域のみを更新する必要があまりない環境では、変更フラグを詳細指示データから削除し、詳細指示データを固定長としてもよい。図１３には、オフセット値及び上書きデータのみからなる詳細指示データの構成を示す。このように変更フラグを削除し、詳細指示データを、オフセット値及び上書きデータからなる固定長のデータとして構成する場合には、上書きデータに、更新対象エリアの全バイト領域（Ｊバイト分）の変更値を、そのバイト領域の配列順に記述する。換言すると、変更の必要がないバイト領域があっても、そのバイト領域に対応する変更値として、変更前の現在値と同一値を記述することで、形式的に変更値を上書きデータに記述する。
【０１１２】
この詳細指示データの構成によれば、変更の必要がないバイト領域の変更値についても上書きデータに形式的に書き込まれることになる。このため、上記実施例に対しては、上書きデータのデータ量が増加することになる。しかしながら、更新対象エリアの一部領域のみが更新されるケースが少ない場合には、変更フラグの削除によるデータ削減効果のほうが、上書きデータのデータ量増加によるデメリットよりも有利に働く。また、図１３に示す指示データの構成を採用する場合には、変更フラグを参照して、上書きデータに記述された変更値が、どのバイト領域に対応する値であるのかを特定する必要がないので、ナビゲーション装置１０におけるＳ３７０の処理を簡略化することができる。また、その結果として、ナビゲーション装置１０の処理負荷を抑えることができる。
【０１１３】
尚、図１３に示す指示データの構成を採用する場合には、同一データフォーマットのダミーデータについても、変更フラグを削除することになる。但し、変更フラグのない詳細指示データでは、上記実施例のように変更フラグによって上書きデータの構成を特定できない。このため、ダミーデータであっても、上書きデータには、Ｊバイト分の各バイト領域に対応する変更値を記述する必要がある。
【０１１４】
一方で、ダミーデータそのものは、基本的に、オフセット値に対応する単位データ内の更新対象エリア（ダミーの更新対象エリア）に変更を加えるものであってはならない。
このため、本変形例のダミーデータは、そのダミーデータが備えるオフセット値から特定される更新対象エリアの内容が変更されないような上書きデータを備えた構成にされる。即ち、本変形例のダミーデータは、オフセット値として上限値（０ｘＦＦ）を示すデータと、上書きデータとして、このオフセット値により特定される更新対象エリアの現在値と同一内容の値（各バイト領域の変更値）が記述されたデータと、からなるデータとして構成される。
【０１１５】
尚、このような指示データの構成を採用する場合、ナビゲーション装置１０の制御デバイス１９が実行する更新処理は、図１２点線で示す処理（Ｓ３５０）を実行しない内容に変更することができる。この場合、ダミーデータは、詳細指示データと同様に取り扱われて、ダミーデータに基づく単位データへの上書き処理が実行されることになる。但し、ダミーデータが有する上書きデータは、上述したように、この内容に従って単位データに対する書込が行われても、単位データの内容が変更されないような構成となっている。従って、ダミーデータによって不都合なデータ変更がなされることは基本的にない。
【０１１６】
また、図１３に示す指示データの構成を採用しつつも、Ｓ３５０の処理を削除しない場合には、Ｓ３５０において、次の判断を行えばよい。即ち、Ｓ３５０では、処理対象データが有する上書きデータの値と、処理対象データが指定する更新対象エリアの現在値とを比較して、両者が一致している場合には、ダミーデータと判断し、両者が一致しなければ、ダミーデータではないと判断すればよい。
［その他の変形例］
また、上記実施例では、ナビゲーション装置１０からの問合せに応じて配信システム５０が指示データを送信するように地図更新システム１を構成したが、地図更新システム１は、ナビゲーション装置１０からの問合せを必要とせずに、配信システム５０が能動的に動作してナビゲーション装置１０の一群に指示データをブロードキャストする構成にされてもよい。この他、上述の技術は、車載用のナビゲーション装置１０に限らず、ナビゲーション機能や地図表示機能を備える携帯電話等の各種電子機器が記憶する地図データの更新に用いることができる。
［対応関係］
以上に、変形例を含む本発明の実施例について説明したが、用語間の対応関係は次の通りである。即ち、ナビゲーション装置１０は、情報端末の一例に対応し、配信システム５０は、データ提供装置及びデータ生成装置の一例に対応する。また、情報処理装置７０が実行するＳ６００の処理は、データ生成装置が備える生成手段にて実現される処理の一例に対応し、情報処理装置７０が実行するＳ７００の処理は、データ提供装置が備える送信手段にて実現される処理の一例に対応する。また、オフセット値を表すデータは、更新先位置データの一例に対応する。また、記憶デバイス１３は、情報端末が備える記憶手段の一例に対応し、制御デバイス１９が実行する更新処理は、情報端末が備える更新手段にて実現される処理の一例に対応する。
【符号の説明】
【０１１７】
１…地図更新システム、１０…ナビゲーション装置、１１…位置検出デバイス、１３…記憶デバイス、１５…操作デバイス、１６…音声出力デバイス、１７…表示デバイス、１９…制御デバイス、１９ａ…ＣＰＵ、１９ｂ…ＲＯＭ、１９ｃ…ＲＡＭ、２０…通信デバイス、４０…無線局、５０…配信システム、６０…通信デバイス、７０…情報処理装置、７０ａ…ＣＰＵ、７０ｂ…記憶デバイス、８０…データベース装置
【図１】
2012208402.tif 000003
【図２】
2012208402.tif 000004
【図３】
2012208402.tif 000005
【図４】
2012208402.tif 000006
【図５】
2012208402.tif 000007
【図６】
2012208402.tif 000008
【図７】
2012208402.tif 000009
【図８】
2012208402.tif 000010
【図９】
2012208402.tif 000011
【図１１】
2012208402.tif 000012
【図１２】
2012208402.tif 000013
【図１３】
2012208402.tif 000014
【図１０】
2012208402.tif 000015