地図更新システム、データ提供装置、情報端末、及び、データ生成装置
【課題】地図データの更新に必要なデータを好適に情報端末に提供する。
【解決手段】配信システムからナビゲーション装置へは、地図データを更新するためのデータとして、更新対象データのIDコードと、この更新対象データにおける更新対象エリア毎の詳細指示データと、を含んだ指示データが送信される。詳細指示データは、更新対象エリアを特定可能なオフセット値と、更新対象エリアに上書きすべき上書きデータとを備える。ナビゲーション装置は、受信した指示データに含まれる各詳細指示データを配列順に処理し、自己が備える地図データの詳細指示データが示す更新対象エリアに上書きデータを書き込んで、地図データを更新する。詳細指示データには、オフセット値として、配列順が一つ前の詳細指示データのオフセット値が示す更新対象データ内の地点からの相対位置が記述される。この記述によって、オフセット値及び指示データのデータサイズは抑えられる。
【解決手段】配信システムからナビゲーション装置へは、地図データを更新するためのデータとして、更新対象データのIDコードと、この更新対象データにおける更新対象エリア毎の詳細指示データと、を含んだ指示データが送信される。詳細指示データは、更新対象エリアを特定可能なオフセット値と、更新対象エリアに上書きすべき上書きデータとを備える。ナビゲーション装置は、受信した指示データに含まれる各詳細指示データを配列順に処理し、自己が備える地図データの詳細指示データが示す更新対象エリアに上書きデータを書き込んで、地図データを更新する。詳細指示データには、オフセット値として、配列順が一つ前の詳細指示データのオフセット値が示す更新対象データ内の地点からの相対位置が記述される。この記述によって、オフセット値及び指示データのデータサイズは抑えられる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報端末が備える地図データを更新するためのシステム、並びに、このシステムを構成するデータ提供装置及び情報端末、並びに、地図データを更新するためのデータを生成する装置に関する。
【背景技術】
【0002】
従来、地図データを記憶する電子機器としては、画面上に地図を表示する地図表示装置や、目的地までの経路案内を行うナビゲーション装置等が知られている。ナビゲーション装置としては、特に、車両の走行案内を行う車載型のナビゲーション装置が良く知られている。ところで、この電子機器が記憶する地図データは、最新の地図データであるのが好ましい。新設された道路等の情報が地図データに反映されていないと、電子機器が地図データに基づいてユーザに提供する情報に誤りが生じ、このことが、ユーザに不満を与えるためである。
【0003】
電子機器が記憶する地図データを更新するための技術としては、セルラー網などの通信ネットワークを通じて、配信システムから電子機器に、地図データを更新するためのデータを提供する技術が知られている。例えば、この種の技術としては、地図データをバイト単位で更新可能な技術が知られている(特許文献1参照)。この技術によれば、地図データを構成する所定単位のデータ(以下「単位データ」という。)の夫々に対し、IDコードを割り当てる。そして、配信システムからは、このIDコードに関連付けて、IDコードに対応する単位データを更新するための指示データをネットワークを通じて送信する。
【0004】
指示データには、更新対象の単位データに対応するIDコードと、当該単位データの先頭からの相対位置によって、この単位データにおける更新対象エリアの位置が記されたオフセット情報と、更新対象エリアに書き込む対象のデータ(以下「上書きデータ」という。)と、が格納される。特に、指示データには、オフセット情報として、単位データ先頭から更新対象エリアの始点までの距離を、バイト(byte)単位で表現した値が格納される。この技術によれば、更新対象エリアの始点をバイト単位で指定可能である。
【0005】
そして、この指示データを受信する電子機器では、受信した指示データに記述されたIDコードに基づき、更新対象の単位データを特定し、当該指示データに記述されたオフセット情報に基づき、この単位データにおける更新対象エリアを特定して、このエリアに指示データが備える上書きデータを書き込む。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−298571号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記構成の指示データを通じて地図データを更新する従来技術では、次のような問題があった。即ち、この技術では、単位データにおける更新対象エリアを、単位データ先頭からの相対位置により記述する。このため、IDコードを割り当てる単位データのデータサイズを大きくすると、オフセット情報として記述すべき相対位置の範囲も広がり、オフセット情報のデータサイズも大きくする必要があるといった問題があった。
【0008】
例えば、オフセット情報を1バイトのデータとすると、このオフセット情報によっては、単位データ先頭から256バイトまでの位置までしか更新対象エリアの始点を指定することができない。従って、単位データを、256バイトを大きく上回るデータサイズで定義する場合には、オフセット情報を2バイトのデータにする必要がある。
【0009】
また、このようにオフセット情報を2バイトのデータとすると、1バイトで指定可能な更新対象エリアに対してまでオフセット情報として2バイトのデータを記述することになる。従来技術によれば、このことが指示データのデータサイズを大きくする結果となっていた。
【0010】
ここで、指示データを、ネットワークを通じて情報端末に提供することを考えた場合、通信速度の限界等を考慮して、指示データは少量化されるのが好ましい。しかしながら、従来技術では、指示データを十分に少量化できるとは言えず、改善の余地があった。
【0011】
本発明は、こうした問題に鑑みなされたものであり、データ提供装置から、地図データを記憶する情報端末へ地図データの更新に必要なデータを好適に提供可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するためになされた本発明(請求項1)は、地図データを記憶する情報端末に対し、この情報端末に地図データを更新させるための指示データを送信する送信手段を備えたデータ提供装置であって、送信手段が次に説明する構造の指示データを送信するように構成されていることを特徴とする。但し、地図データは、IDコードが割り当てられた単位データの一群により構成されるものとする。
【0013】
送信手段が送信する指示データは、更新対象の単位データに対応するIDコードと、この単位データにおける更新対象エリアの位置が記述された詳細指示データの一群と、を備え、上記詳細指示データの一群が配列された構成にされる。送信手段は、このような構成の指示データを、更新対象の単位データ毎に送信する。
【0014】
詳細指示データは、単位データ内における更新対象エリアの位置を表す更新先位置データと、この更新対象エリアに上書きすべきデータである上書きデータと、を有した構成にされる。
【0015】
そして、配列順が先頭の詳細指示データは、更新対象の単位データ先頭を基点とした当該基点からの相対位置によって、更新対象エリアの位置が記述されてなる更新先位置データを有した構成にされる。
【0016】
一方、配列順が先頭以外の詳細指示データの夫々は、配列順が一つ前の詳細指示データが有する更新先位置データが示す位置を基点とした当該基点からの相対位置によって、更新対象エリアの位置が記述されてなる更新先位置データを有した構成にされる。
【0017】
即ち、従来技術では、更新対象の単位データ先頭からの相対位置によって更新対象エリアの位置が記述されるが、本発明では、配列順が一つ前の詳細指示データが示す更新対象エリアの位置を基点とする相対位置によって更新対象エリアの位置が詳細指示データに記述される。
【0018】
従来技術に対するこのような差異によって、本発明は、次のような効果を発揮する。即ち、従来技術によれば、更新先位置データを1バイトとすると、単位データ先頭から255バイトまでの位置までしか更新対象エリアの始点を指定することができなかった。これに対し、本発明によれば、従来技術が有するような単位データ先頭から指定可能な範囲の制限を受けることなく、更新対象エリアを指定することができる。
【0019】
詳述すると、本発明によれば、少なくとも更新対象エリア間の間隔が更新先位置データにて表現可能な範囲にある条件下では、単位データ先頭からの距離に制限を受けることなく、更新対象エリアを指定することができる。従って、本発明によれば、不必要に更新先位置データのデータサイズを大きくする必要がなく、指示データをコンパクトにすることができる。結果、本発明によれば、データ提供装置から、地図データを記憶する情報端末へ、地図データの更新に必要なデータを好適に提供することができる。
【0020】
尚、送信手段は、人やコンピュータ等によって予め生成された指示データを、データベースから読み出して、これを情報端末に送信する構成にすることができる。この他、送信手段は、データベースに記録された旧バージョンの地図データと新バージョンの地図データとの差分を抽出し、この抽出結果に基づいて上記構成の指示データを生成する機能を備えた構成にされてもよい。
【0021】
また、更新先位置データは、固定長のデータとして構成されるのが好ましい。更新先位置データを可変長とすると、データ境界を明確にするための付属情報が必要になり、かえって更新先位置データの実質的なデータサイズが大きくなってしまう可能性がある。これに対し、更新先位置データを固定長とすると、上述したような付属情報を設ける必要がないといった利点がある。
【0022】
但し、更新先位置データを固定長とすると、更新先位置データに記述可能な相対位置の範囲に上限が生じる。このため、指示データは、上述した規則に従う上記基点からの相対位置が上限を超える特殊な詳細指示データに関しては、詳細指示データの一群が配列されてなる配列データにおける特殊な詳細指示データの直前に、ダミーデータを備える構成にされるとよい(請求項2)。
【0023】
ダミーデータは、詳細指示データと同一様式のデータとして構成することができる。更に、このダミーデータは、配列データにおいて後続する上記特殊な詳細指示データの更新対象エリアと、この詳細指示データに対応する上記基点との中間地点の位置を表すデータを、更新先位置データとして有する構成にすることができる。
【0024】
そして、配列データ内において、上記ダミーデータに続く上記特殊な詳細指示データは、上記基点からの相対位置に代えて、配列データ内において直前に位置するダミーデータが示す上記中間地点からの相対位置が記述された更新先位置データを有する構成にすることができる。
【0025】
このような指示データの構成によれば、配列順が一つ前の詳細指示データにおける更新対象エリアの位置を基点とした相対位置を、ダミーデータを用いて多段階に記述することができる。よって、配列順が一つ前の詳細指示データにおける更新対象エリアの位置を基点とした相対位置が、固定長の更新先位置データにて表現可能な範囲を超える場合でも、これを原因として、所望のエリアを更新対象エリアに指定できない事態が生じるのを抑えることができる。
【0026】
尚、上記特殊な詳細指示データの直前に挿入されるダミーデータは、一つに限られない。ダミーデータを複数設ければ、上記基点からの相対位置が大きく離れている更新対象エリアに対するデータ更新動作についても、上記指示データを用いて実現することが可能である。
【0027】
また、ダミーデータは、更新先位置データが示すエリアに対してデータ更新を行うことを目的としたデータではないため、詳細指示データと同一様式のデータとして構成しつつも、具体的には、次のような構成を採用することができる(請求項3)。
【0028】
例えば、ダミーデータは、更新先位置データ及び上書きデータを備えるものの、上書きデータが更新対象エリアの更新前データと同一内容である構成のデータとして構成することができる。この場合には、ダミーデータに基づいて情報端末が地図データを更新する場合でも、地図データの内容が実質的に変更されることはない。
【0029】
この他、ダミーデータは、更新先位置データを備える一方で上書きデータを備えない構成のデータとして構成されてもよい。ここで言う「上書きデータを備えない構成」のダミーデータとは、上書きデータを格納すべき領域に、上書きデータがないことを示すデータが格納された構成のダミーデータをも含む。尚、ダミーデータに上書きデータ又はそれに代わる代替データを格納しない場合には、ダミーデータのデータサイズが、詳細指示データのデータサイズと異なる結果となる。従って、この場合には、データサイズに関する情報を記述するための領域を含むデータフォーマットを、詳細指示データ及びダミーデータ共通のデータフォーマットとして採用することが考えられる。
【0030】
このデータフォーマットを採用すれば、詳細指示データを可変長のデータとすることができるため、例えば、更新対象エリアの幅を詳細指示データ毎に可変とすることも可能である。但し、詳細指示データを可変長のデータとすると、指示データを受信する情報端末側での処理が複雑化する。従って、詳細指示データは、固定長のデータとされるのが好ましい(請求項4)。
【0031】
また、データ提供装置から送信される指示データを受信する情報端末は、地図データを記憶する記憶手段と、データ提供装置から受信した指示データに基づき、記憶手段が記憶する地図データを更新する更新手段と、を備える構成にすることができる。そして、更新手段は、受信した指示データが備える詳細指示データを配列順に参照し、各詳細指示データの参照時には、次に説明する処理を実行することにより、指示データに基づく地図データの更新動作を実現する構成にすることができる(請求項5)。
【0032】
即ち、更新手段は、詳細指示データの参照時に、参照先の詳細指示データが有する更新先位置データ及び、この参照先よりも配列順の若い詳細指示データが有する更新先位置データの夫々が示す相対位置の累積値を算出する構成にすることができる。
【0033】
更に、更新手段は、上記累積値の算出によって更新対象エリアを特定し、単位データにおける上記特定した更新対象エリア内のデータを、参照先の詳細指示データが備える上書きデータにより更新する構成にすることができる。上記累積値によれば、参照先の詳細指示データに対応する更新対象エリアを、更新対象の単位データの先頭位置を基準として特定することができる。従って、上記一連の動作によって、指示データに基づく地図データの更新動作を実現することができる。
【0034】
また、指示データにダミーデータが含まれる場合、更新手段は、次のように構成することができる(請求項6)。即ち、更新手段は、詳細指示データの参照時に、参照先の詳細指示データ、参照先よりも配列順の若い詳細指示データ、及び、参照先よりも配列順の若いダミーデータが備える更新先位置データが示す相対位置の累積値を算出することにより、参照先の詳細指示データに対応する更新対象エリアを特定する構成にすることができる。
【0035】
このような構成の情報端末とデータ提供装置とを用いて、情報端末が備える地図データを更新する地図更新システムを構成すれば(請求項7及び請求項8)、通信によって、情報端末が備える地図データを好適に更新することが可能である。
【0036】
また、指示データについては、情報処理装置により生成して、データ提供装置が参照可能なデータベース装置に登録することができる。若しくは、データ提供装置には、このような指示データを生成する機能を組み込むことができる。
【0037】
本発明のデータ生成装置は、上記地図データを記憶する情報端末に、地図データを更新させるための指示データを生成する生成手段を備えるものである(請求項9)。生成手段は、更新対象の単位データに対応するIDコードと、この単位データにおける更新対象エリアの位置を記述した詳細指示データの一群と、を備える指示データであって、詳細指示データの一群を配列してなる構成の上記指示データを、更新対象の単位データ毎に生成する。
【0038】
具体的に、生成手段は、情報端末が備える旧バージョンの地図データと、この旧バージョンの地図データに対する新パージョンの地図データとの差分を抽出して、差分のある単位データを、更新対象の単位データに設定し、更新対象の単位データ毎に、上記構成の指示データを生成する構成にすることができる。
【0039】
この他、データ提供装置が備える送信手段としての機能は、プログラムを通じてコンピュータに実現させることができる。この場合には、ハードウェアとしての通信デバイスをコンピュータが上記プログラムに基づき制御することによって、上記送信手段としての機能が実現される。また、このプログラムは、DVD−ROM等の光ディスクや、フレキシブルディスク等の磁気ディスクや、半導体製メモリ(メモリカード等)などの記録媒体に記録して、ユーザに提供することができる。
【0040】
同様に、情報端末が備える更新手段としての機能や、データ生成装置が備える生成手段としての機能も、プログラムを通じてコンピュータに実現させることができる。また、これらのプログラムは、上記記録媒体に記録して、ユーザに提供することができる。
【図面の簡単な説明】
【0041】
【図1】地図更新システム1の構成図である。
【図2】ナビゲーション装置10及び配信システム50の構成を表すブロック図である。
【図3】地図データの構成図である。
【図4】指示データの送受信による地図データの更新態様を説明した図である。
【図5】指示データの構成図である。
【図6】オフセット値の記述態様を説明した図である。
【図7】詳細指示データの具体例を記した図である。
【図8】詳細指示データに基づく更新前後の地図データの値を記した図である。
【図9】更新対象エリア間が離れている場合の指示データの構成図である。
【図10】ダミーデータを含む指示データの具体例を説明した図である。
【図11】ナビゲーション装置10の制御デバイス19及び配信システム50の情報処理装置70が実行する処理を表すフローチャートである。
【図12】制御デバイス19が実行する更新処理を表すフローチャートである。
【図13】変形例の指示データの構成図である。
【発明を実施するための形態】
【0042】
以下に本発明の実施例について、図面と共に説明する。
図1に示す本実施例の地図更新システム1は、車両に搭載される情報端末としてのナビゲーション装置10と、地図データを更新するためのデータをナビゲーション装置10に提供する配信システム50と、を備え、ナビゲーション装置10と配信システム50とが、無線局40を通じて無線通信可能に接続された通信システムである。
【0043】
地図更新システム1を構成するナビゲーション装置10は、図2に示すように、位置検出デバイス11、記憶デバイス13、操作デバイス15、音声出力デバイス16、表示デバイス17、制御デバイス19、及び、通信デバイス20を備える。位置検出デバイス11は、ナビゲーション装置10を搭載した車両の現在位置を検出するためのものであり、周知のジャイロスコープ、距離センサ及びGPS受信機等を有した構成にされる。
【0044】
一方、記憶デバイス13は、全国の道路ネットワークを表す地図データが格納されたものであり、例えば、ハードディスク装置により構成される。記憶デバイス13が記憶する地図データは、図3に示すように、地図の構成要素に関する情報が記述された所定単位のデータ(単位データ)の夫々に、IDコードが割り当てられた構成にされている。この単位データは、例えば、道路ネットワークを構成するリンク毎やノード毎、リンク及びノードを含む一連の路線毎に設けられる。具体的に、単位データの例としては、リンクデータやノードデータ、路線データなどを挙げるができる。
【0045】
即ち、記憶デバイス13が記憶する地図データは、地図構成要素に関する情報を含む単位データ及びこの単位データに対応するIDコードが記述されたデータの一群を備えた構成にされる。
【0046】
また、操作デバイス15は、ユーザからの指示を制御デバイス19に入力するものであり、表示デバイス17に配置されたタッチパネルや、ナビゲーション装置10の本体表面やリモートコントローラに設けられた操作スイッチ群等により構成される。この操作デバイス15を通じて、ユーザは、地図の縮尺変更やスクロール等の操作や目的地設定などナビゲーション装置10に対するあらゆる操作を行うことが可能である。
【0047】
また、音声出力デバイス16は、スピーカ等から構成され、制御デバイス19からの信号を受けてユーザへの案内音声等を出力するものである。この他、表示デバイス17は、フルカラー表示が可能なものであり、表示デバイス17には、例えば、位置検出デバイス11により検出された車両の現在位置を表すマークや誘導経路等が、記憶デバイス13が記憶する地図データに基づく地図画像に重ねて表示される。
【0048】
また、制御デバイス19は、周知のマイクロコンピュータと同様の構成にされ、CPU19a、ROM19b及びRAM19c等を備える。そして、CPU19aは、ROM19bに記憶されるプログラムに従って、ナビゲーション機能を実現するための各種処理を実行する。具体的に、制御デバイス19は、CPU19aによるプログラムの実行により、記憶デバイス13から地図データを読み込んで、この読込データに基づき、地図表示や経路探索・経路案内等の処理を実行する。
【0049】
この他、通信デバイス20は、無線局40を介して配信システム50と通信可能なインタフェースである。この通信デバイス20は、制御デバイス19に制御されて、送信対象のデータを配信システム50に送信し、又、配信システム50から受信したデータを、制御デバイス19に入力する。
【0050】
また、配信システム50は、通信デバイス60、情報処理装置70、及び、データベース装置80を備える。通信デバイス60は、無線局40を介して車両に搭載されたナビゲーション装置10と通信可能なデバイスである。この通信デバイス60は、情報処理装置70から提供される送信対象のデータを、無線局40を通じて、ナビゲーション装置10に送信し、ナビゲーション装置10から受信したデータを情報処理装置70に入力する。
【0051】
また、情報処理装置70は、プログラムに従う各種処理を行うCPU70aと、CPU70aにより実行されるプログラムを記憶する記憶デバイス70bと、を備える。この他、データベース装置80は、最新バージョンを含む各バーションの地図データが格納された大容量のハードディスク装置により構成される。
【0052】
この配信システム50における情報処理装置70は、記憶デバイス70bが備えるプログラムに従って、サーバ側地図更新処理(図4及び図11参照)を実行する。そして、このサーバ側地図更新処理では、データベース装置80が記憶する地図データに基づき、ナビゲーション装置10に、このナビゲーション装置10が有する旧バージョンの地図データを、最新バーションの地図データに更新させるための指示データを生成し、この指示データを、通信デバイス60を通じてナビゲーション装置10に送信する(図4参照)。
【0053】
一方、ナビゲーション装置10は、制御デバイス19でクライアント側地図更新処理(図4、図11及び図12参照)を実行することによって、配信システム50から受信した指示データに基づき、記憶デバイス13が記憶する旧バージョンの地図データを更新する。例えば、図4に示すように情報処理装置70は、ナビゲーション装置10に、このナビゲーション装置10が有するバージョン2の地図データを、最新バーションであるバージョン3の地図データに更新させるための指示データを生成し、これを、通信デバイス60を通じてナビゲーション装置10に送信する。そして、ナビゲーション装置10は、この指示データに従って、記憶デバイス13が記憶するバージョン2の地図データを、バージョン3の地図データに更新する。
【0054】
本実施例では、このようにして配信システム50及びナビゲーション装置10間の通信により、ナビゲーション装置10が備える地図データを更新する。
ここで、情報処理装置70による指示データの生成手順について説明する。情報処理装置70は、次の手順1〜手順3によって指示データを生成する。
【0055】
手順1)データベース装置80が記憶する各バージョンの地図データを用いて、ナビゲーション装置10が有する旧バージョンの地図データと、最新バージョンの地図データとの差分を抽出し、更新の必要な単位データの一群を特定する。
【0056】
手順2)更新の必要な単位データの一つを、指示データ生成対象の単位データとして選択する。
手順3)選択した単位データについての、旧バージョンの地図データと最新バージョンの地図データとの差分から、旧バージョンの単位データを、最新バージョンの単位データに置換するための図5に示す構成の指示データを生成する。
【0057】
情報処理装置70は、この手順2及び手順3を繰返し実行することにより、更新の必要な単位データ毎に、指示データを生成する。
続いて、図5を用いて、更新対象の単位データ毎に生成される指示データの詳細構成について説明する。指示データは、更新対象の単位データに付与されたIDコードを表すデータと、この指示データのデータサイズを表すデータと、詳細指示データの一群と、から構成される。詳細指示データの一群は、これら詳細指示データが配列されてなる配列データとして、指示データに格納される。また、「IDコード」及び「データサイズ」のデータは、固定長のデータとして構成される。
【0058】
詳細指示データの夫々は、指示データが示すIDコードに対応する更新対象の単位データにおける更新対象エリアを指定するものであり、更新対象エリアの位置が記述されたデータとして構成される。換言すると、本実施例の指示データは、IDコードが示す単位データ内の更新対象エリア毎に、詳細指示データを有した構成にされる(図6参照)。
【0059】
具体的に、詳細指示データは、オフセット値を表すデータと、変更フラグを表すデータと、オフセット値により特定される更新対象エリアに上書きすべきデータとしての上書きデータと、から構成される。オフセット値を表すデータ及び変更フラグを表すデータは固定長のデータとして構成される。
【0060】
オフセット値は、詳細指示データによって指定する更新対象エリアの始点位置を表すものであり、次の規則に従って詳細指示データに記述される。即ち、オフセット値の記述先が、配列データにおいて配列順が先頭の詳細指示データである場合には、更新対象の単位データ先頭を基点とした当該基点からの相対位置によって数値化された更新対象エリアの始点位置が、オフセット値として詳細指示データに記述される。尚、基点からの相対位置は、バイトを単位とする距離で数値化される。
【0061】
配列順が先頭の詳細指示データには、上記オフセット値として、単位データ先頭に最も近い第一の更新対象エリア(図6に示す「変更箇所1」)始点の単位データ先頭からの相対位置が記述される。図6に示す例によれば、単位データ先頭から第一の更新対象エリアまでの距離は、ΔX1バイトであるので、オフセット値としては、ΔX1が記述される。
【0062】
一方、オフセット値の記述先が配列データにおいて配列順が先頭以外の詳細指示データである場合、この詳細指示データには、配列順が一つ前の詳細指示データが示すオフセット値に対応する単位データ上の地点を基点とした当該基点からの相対位置によって数値化された更新対象エリアの始点位置が、オフセット値として記述される。
【0063】
ここで、図6に示す例に従って、指示データを構成する詳細指示データの配列、及び、各詳細指示データに記述されるオフセット値について説明する。図6に示す更新対象の単位データには、先頭からΔX1バイトの地点を始点とする第一の更新対象エリアが存在することは、上述した通りである。
【0064】
更に、この単位データには、第一の更新対象エリアの始点から、ΔX2バイト離れた地点に、この地点を始点とする第二の更新対象エリアが存在する(図6に示す「変更箇所2」)。更に、第二の更新対象エリアの始点からΔX3バイト離れた地点に、この地点を始点とする第三の更新対象エリアが存在し(図6に示す「変更箇所3」)、第三の更新対象エリアの始点からΔX4バイト離れた地点に、この地点を始点とする第四の更新対象エリアが存在する(図6に示す「変更箇所4」)。
【0065】
このため、この単位データに対する指示データには、図6右図に示すように第一〜第四の各更新対象エリアに対応した合計四つの詳細指示データが、単位データ先頭からの更新対象エリアの配列順に、配列される。
【0066】
そして、配列順が先頭の詳細指示データには、オフセット値として、上述したように値ΔX1が記述されるが、配列順が二番目の詳細指示データには、第二の更新対象エリアの始点位置を表すオフセット値として、第一の更新対象エリア始点からの相対位置ΔX2が記述される。また、配列順が三番目の詳細指示データには、第三の更新対象エリアの始点位置を表すオフセット値として、第二の更新対象エリア始点からの相対位置ΔX3が記述される。この他、配列順が四番目の詳細指示データには、第四の更新対象エリアの始点位置を表すオフセット値として、第三の更新対象エリア始点からの相対位置ΔX4が記述される。
【0067】
続いて、詳細指示データが有する上書きデータの構成について説明する(図5参照)。この詳細指示データが有する上書きデータは、Jバイトのエリアとして定義される更新対象エリアを1バイト毎に分割して得られる小領域(以下、「バイト領域」と表現する。)毎に、このバイト領域に対して書き込むべき1バイトの値(以下「変更値」と表現する。)が記述されてなるデータである。但し、本実施例の上書きデータには、更新対象エリアのバイト数に対応するJバイト分全ての変更値が記述されるとは限らない。即ち、上書きデータには、Jバイト分の更新対象エリアの内、更新が必要なバイト領域に対応する変更値が選択的に記述される。
【0068】
例えば、J=8バイトの更新対象エリア全体を更新する必要がある場合には、図7(a)に示すように、8バイト分の変更値が記述された上書きデータが詳細指示データに格納されるが、図7(b)に示すように、この更新対象エリアの内、3バイト分のみ更新する必要がある場合には、3バイト分の変更値が記述された上書きデータが詳細指示データに格納される。図7(a)は、8バイト分の変更値が記述された上書きデータを備える詳細指示データの構成図であり、図7(b)は、3バイト分の変更値が記述された上書きデータを備える詳細指示データの構成図である。
【0069】
この上書きデータには、更新対象エリアの始点に近いバイト領域の変更値から、バイト領域の配列順に、変更値が記述される。更新対象エリアの始点から始まる先頭のバイト領域を、0番目のバイト領域とし、更新対象エリアの終点で終わる末尾のバイト領域を、(J−1)番目のバイト領域として、バイト領域の配列番号j=0〜J−1を、その配列順に定義すると、上書きデータには、配列番号の若いバイト領域の順に、そのバイト領域に対応する変更値が記述される。
【0070】
また、上書きデータに記述された変更値が、何番目のバイト領域に対応する変更値であるのかを特定するための情報は、詳細指示データを構成する変更フラグに記述される。
変更フラグは、更新対象エリアの各バイト領域に対応する変更値の有無を表すフラグである。変更フラグは、Jビットの固定長データとして構成される。この変更フラグを構成する各ビットは、更新対象エリア内の、このビットに対応するバイト領域に対する変更値が、上記「上書きデータ」に存在するか否かを表す。
【0071】
具体的に、変更フラグの最下位ビットを第0ビット、最上位ビットを第(J−1)ビットとして定義すると、第jビットの値は、上記定義に従うj番目のバイト領域に対応する変更値の有無を表す。例えば、第jビットの値が「1」である場合には、j番目のバイト領域に対応する変更値が上書きデータに記述されていることを示し、第jビットの値が「0」である場合には、j番目のバイト領域に対応する変更値が上書きデータに記述されていないことを示す(図7(a)及び図7(b)参照)。
【0072】
このように構成される変更フラグによって、上書きデータに配列された変更値が、どのバイト領域の変更値であるのかは、特定される。
例えば、ナビゲーション装置10の制御デバイス19は、配信システム50から受信した指示データに格納される図7(b)に示す構成の詳細指示データに従って、地図データを更新するとき、この詳細指示データが示す変更フラグに基づき、更新が必要なバイト領域が、更新対象エリア始点から0番目(0バイト目)のバイト領域、1番目(1バイト目)のバイト領域、及び、2番目(2バイト目)のバイト領域であると特定する。そして、図8に示すように、上書きデータにおける0番目の変更値D0*に基づき、0番目のバイト領域を現在値D0から値D0*に更新し、1番目の変更値D1*に基づき、1番目のバイト領域を現在値D1から値D1*に更新し、2番目の変更値D2*に基づき、2番目のバイト領域を現在値D2から値D2*に更新する。一方で、3〜7番目のバイト領域については、その値を現在値D3〜D7から変更しない。
【0073】
ところで、詳細指示データに記述されるオフセット値は、固定長のデータとして構成されるため、オフセット値として記述可能な上記相対位置の範囲には、上限がある。例えば、オフセット値が1バイトのデータで構成される場合、オフセット値は、値0x00から値0xFFの範囲に制限され、256バイト以上の相対位置を指定できない。
【0074】
このため、図9(a)に示すように、隣接する更新対象エリアの間隔(同図に示す「変更箇所2」と「変更箇所3」との間)がオフセット値の上限を超える場合には、オフセット値の上限を超えた位置の更新対象エリアを更新するための詳細指示データを、上記規則によっては生成することができないことになる。
【0075】
そこで、本実施例では、上記規則に従う基点からの相対位置がオフセット値の上限を超える特殊な詳細指示データに関しては、配列データ内におけるこの特殊な詳細指示データの直前に、ダミーデータを挿入して、この問題を解決する。
【0076】
図9(a)(b)に示す例によれば、更新対象の単位データに、第一の更新対象エリア(変更箇所1)、第二の更新対象エリア(変更箇所2)及び第三の更新対象エリア(変更箇所3)が存在する。そして、「第一の更新対象エリア」始点の単位データ先頭からの相対位置ΔX1、及び、「第二の更新対象エリア」始点の「第一の更新対象エリア」始点からの相対位置ΔX2は、オフセット値により表現可能な範囲内にある。しかしながら、「第三の更新対象エリア」始点の「第二の更新対象エリア」始点からの相対位置ΔX5は、オフセット値により表現可能な範囲を超えている。
【0077】
このような単位データを更新するための指示データには、第一の更新対象エリアを更新するための第一の詳細指示データ、第二の更新対象エリアを更新するための第二の詳細指示データ、第三の更新対象エリアを更新するための第三の詳細指示データが配列された配列データにおける第三の詳細指示データの直前に、ダミーデータが挿入される(図9(b)右図参照)。
【0078】
挿入されるダミーデータは、詳細指示データと同一フォーマットのデータである。但し、ダミーデータ自体は、データ更新を行うことを目的としたデータではないため、このダミーデータには、変更フラグとして全ビットが値「0」の変更フラグが格納される。また、ダミーデータは、上書きデータに記述すべき変更値がないデータであるため、上記「上書きデータ」を備えない構成にされる(図9右下図参照)。また、ダミーデータには、オフセット値として上限値(0xFF)が記述される。尚、以下では、オフセット値が1バイトで構成されている場合の実施例を具体例として説明する。
【0079】
また、配列データにおいてダミーデータが配列された直後の詳細指示データには、上記基点からの相対位置に代えて、直前のダミーデータが示すオフセット値に対応する単位データ上の地点からの更新対象エリアの相対位置がオフセット値として記述される。
【0080】
図9(b)に示す例によれば、第三の詳細指示データの前に一つのダミーデータが挿入されるため、第三の詳細指示データには、第二の更新対象エリア始点からの相対位置ΔX5からオフセット値の上限値0xFFを引いた値ΔX6=ΔX5−0xFFが記述される。
【0081】
尚、図9(b)では、値(ΔX5−0xFF)がオフセット値の上限を超えないことを前提としているが、仮に、値(ΔX5−0xFF)がオフセット値の上限を超える場合には、第三の詳細指示データと第二の詳細指示データとの間に、更に上記構成のダミーデータが挿入される。そして、第三の詳細指示データには、第二の更新対象エリアの始点を基点とした相対位置ΔX5から値0xFFのα倍を引いた値ΔX6=ΔX5−α・0xFFが、オフセット値として記述される。ここで、αは、オフセット値の記述先の詳細指示データ(第三の詳細指示データ)と、この詳細指示データに対して配列順が一つ前の詳細指示データ(第二の詳細指示データ)との間に挿入されるダミーデータの個数である。
【0082】
本実施例では、このようなダミーデータの挿入によって、オフセット値を固定長とすることによる更新対象エリアの指定範囲の制限を受けることがないようにしている。
ここで、図9(b)に示す第一〜第三の更新対象エリア(変更箇所1〜3)の「単位データ」先頭からの距離が図10上段に示す値を採る場合の指示データの構成を、図10下段に示す。尚、図10下段では、ダミーデータに対して、上書きデータを表現しているが、この上書きデータは、後述する変形例2を考慮して表現したものであり、本実施例の場合には、ダミーデータに上書きデータは存在しない。
【0083】
この例によれば、第一の更新対象エリアの「単位データ」先頭からの距離(従来技術と同一定義でのオフセット値)は、0x0080(バイト)である。また、第二の更新対象エリアの「単位データ」先頭からの距離は、0x0100(バイト)であり、第三の更新対象エリアの「単位データ」先頭からの距離は、0x027F(バイト)である。
【0084】
このようなケースにおいて、指示データを構成する第一の詳細指示データは、第一の更新対象エリア(変更箇所1)に対応するオフセット値として、値0x80が記述された構成にされ、第二の詳細指示データは、第二の更新対象エリア(変更箇所2)に対応するオフセット値として、値0x80(=0x0100−0x0080)が記述された構成にされる。また、指示データは、第二の詳細指示データと、第三の詳細指示データとの間に、ダミーデータが挿入された構成にされ、第三の詳細指示データは、第三の更新対象エリア(変更箇所3)に対応する値として、値0x80(=0x27F−0x100−0xFF)が記述された構成にされる。
【0085】
この説明からも理解できるように、従来技術によるオフセット値の定義によれば、オフセット値を2バイトのデータとしなければならないケースにおいて、本実施例の指示データの構成を採用すると、オフセット値を2バイトのデータとしなくとも、第二の更新対象エリア及び第三の更新対象エリアを指定することができる。
【0086】
続いて、ナビゲーション装置10の制御デバイス19がプログラムに従って実行するクライアント側地図更新処理、及び、配信システム50の情報処理装置70がプログラムに従って実行するサーバ側地図更新処理について、その詳細を、図11を用いて説明する。
【0087】
本実施例では、ナビゲーション装置10からの要求によって、ナビゲーション装置10と配信システム50との間で上記指示データの送受信が行われ、この指示データに基づく地図データの更新動作がナビゲーション装置10で実行される。
【0088】
例えば、ナビゲーション装置10の制御デバイス19は、定期的に、又は、操作デバイス15を通じて入力されるユーザからの指示に従って図11に示すクライアント側地図更新処理を開始する。そして、クライアント側地図更新処理の開始時には、まず、記憶デバイス13が記憶する地図データよりバージョンの新しい地図データが存在するか否かを配信システム50に問い合せるための問合せ信号を、配信システム50に送信する(S100)。この問合せ信号には、記憶デバイス13が記憶する地図データのバージョン情報が含まれる。
【0089】
配信システム50の情報処理装置70は、上記問合せ信号を受信すると、図11に示すサーバ側地図更新処理を開始し、受信した問合せ信号に含まれるバージョン情報に基づき、問合せ元のナビゲーション装置10が記憶する地図データが、データベース装置80が記憶する最新バージョンの地図データと同一バージョンの地図データであるか否かを判断する(S500)。即ち、問合せ元のナビゲーション装置10が記憶する地図データが、最新バージョンの地図データであるか否かを判断する(S500)。
【0090】
そして、問合せ元の地図データが最新バージョンの地図データであると判断すると(S500でYes)、その判断結果を記した問合せ信号に対する応答信号を、問合せ元に返信し(S900)、当該サーバ側地図更新処理を終了する。
【0091】
一方、問合せ元の上記地図データが旧バージョンの地図データであると判断すると(S500でNo)、その判断結果を記した問合せ信号に対する応答信号を、問合せ元に返信する(S550)。その後、問合せ元のナビゲーション装置10が記憶する地図データを最新バージョンの地図データに更新するための指示データを、上述した規則(手順1,2,3)に従って生成する(S600)。
【0092】
そして、生成した指示データを、ナビゲーション装置10に送信する(S700)。情報処理装置70は、このようなS600の処理(特に上記手順2,3に対応する処理)及びS700の処理を、完了条件が満足するまで繰返し実行することで、更新対象の単位データ毎の指示データを逐次、ナビゲーション装置10に送信する。そして、完了条件が満足すると(S800でYes)、当該サーバ側地図更新処理を終了する。例えば、情報処理装置70は、ナビゲーション装置10が備える地図データの更新に必要な全ての指示データをナビゲーション装置10に送信すると、完了条件が満足されたと判断して(S800でYes)、当該サーバ側地図更新処理を終了する。この他、情報処理装置70は、通信エラーが生じると、完了条件が満足されたと判断して、サーバ側地図更新処理を終了する。
【0093】
一方、ナビゲーション装置10の制御デバイス19は、問合せ信号に対する応答信号を受信すると(S130)、その応答信号に基づき、記憶デバイス13が記憶する地図データが最新バージョンの地図データであるか否かを判断する(S150)。そして、最新バージョンの地図データであると判断すると(S150でYes)、当該クライアント側地図更新処理を終了する。
【0094】
一方、記憶デバイス13が記憶する地図データが最新バージョンの地図データではないと判断すると(S150でNo)、配信システム50から送信されてくる各指示データを受信する(S200)。そして、記憶デバイス13が記憶する地図データを最新バージョンの地図データに更新するために必要な全ての指示データを受信すると、これらの指示データに基づき、記憶デバイス13が記憶する地図データを更新する(S300)。具体的には、指示データ毎に、図12に示す更新処理を実行する。そして、地図データの更新が完了すると、当該クライアント側地図更新処理を終了する。尚、通信エラー等により、記憶デバイス13が記憶する地図データを最新バージョンの地図データに更新するために必要な全ての指示データを受信できなかった場合には、S200での処理を中断して、当該クライアント側地図更新処理を異常終了する。
【0095】
続いて、図12に示す更新処理について説明する。以下では、各更新処理に用いられる指示データのことを「受付データ」と表現する。
更新処理を開始すると、制御デバイス19は、受付データ(指示データ)を構成する配列データに含まれる詳細指示データ及びダミーデータの内の一つを、処理対象データとして選択する。但し、ここでは、未選択の詳細指示データ及びダミーデータの内、受付データを構成する配列データ内で配列順が最も若いデータを、処理対象データに選択する(S310)。
【0096】
そして、処理対象データ(詳細指示データ又はダミーデータ)の配列データ内における配列順位が先頭であるか否かを判断し(S320)、先頭である場合には(S320でYes)、この処理対象データが示すオフセット値を、パラメータAに設定する(S330)。
【0097】
その後、制御デバイス19は、S350に移行し、処理対象データがダミーデータであるか否かを判断する。処理対象データがダミーデータであるか否かは、変更フラグを参照することにより判断することができる。即ち、変更フラグの全ビットがオールゼロである場合には、処理対象データがダミーデータであると判断し、オールゼロでない場合には、処理対象データが詳細指示データであると判断することができる。
【0098】
そして、処理対象データがダミ−データであると判断すると、S380に移行し、処理対象データがダミーデータではないと判断すると、S360に移行する。
S360に移行すると、制御デバイス19は、パラメータAの現在値に基づき、今回の更新対象エリアを特定する。具体的には、受付データが示すIDコードから特定される更新対象の単位データ先頭からパラメータAの現在値に対応する距離離れた地点を、更新対象エリアの始点であると判定し、この始点からJバイトの領域を、更新対象エリアと判定する。
【0099】
そして、処理対象データ(詳細指示データ)が示す変更フラグ及び上書きデータに従って、記憶デバイス13が記憶する地図データの上記特定した更新対象エリアに、上書きデータが示す変更値を書き込む。この動作によって、地図データの更新対象エリアの内容を更新する(S370)。具体的には、変更フラグにおいて値「1」に設定されたビットに対応するバイト領域の値を、上書きデータが示す、そのバイト領域に対応する変更値に更新して、更新対象エリアの内容を更新する。その後、S380に移行する。
【0100】
S380に移行すると、制御デバイス19は、受付データが備える全ての詳細指示データを処理対象データに選択してS370までの処理を実行したか否かを判断し、未選択の詳細指示データがあると判断すると(S380でNo)、S310に戻り、配列データに含まれる詳細指示データ及びダミーデータの内の一つを、上述の規則に従って、新たに処理対象データとして選択し、S320以降の処理を実行する。
【0101】
尚、S380で未選択の詳細指示データがあると判断した後に選択される処理対象データの配列データ内における配列順位は先頭以外であるので、S310に戻った後のS320では、処理対象データの配列順位が先頭ではないと判断し、S340に移行する。
【0102】
そして、S340では、直前のS310で新たに選択した処理対象データが示すオフセット値を、パラメータAの現在値に加算した値を、新たなパラメータAの値に設定することにより、これまでに処理対象データに選択された詳細指示データ及びダミーデータが示すオフセット値の累計値を、パラメータAに設定する。
【0103】
そして、この処理対象データが詳細指示データであると判断すると(S350でNo)、制御デバイス19は、S360,S370の処理を実行することで、処理対象データが示す更新対象エリアに、この処理対象データの上書きデータが示す値を書き込んで、更新対象エリアの内容を更新する。その後、S380に移行する。一方、処理対象データがダミーデータであると判断すると(S350でYes)、S360,S370の処理を実行せずに、S380に移行する。
【0104】
制御デバイス19は、このような処理を、受付データが備える全ての詳細指示データについて実行するまで繰返し実行し、受付データが備える全ての詳細指示データを処理対象データに選択してS370までの処理を実行したと判断すると(S380でYes)、更新処理を終了する。このようにして、更新処理では、指示データが有する各詳細指示データに基づき、指示データが示すIDコードにて特定される更新対象の単位データにおける各更新対象エリアの内容を更新する。
【0105】
そして、本実施例の制御デバイス19は、このような更新処理を指示データ毎に実行することにより、記憶デバイス13が記憶する旧バージョンの地図データを最新バージョンの地図データに更新する。
【0106】
以上に、本実施例の地図更新システム1について説明したが、この地図更新システム1によれば、詳細指示データに記述するオフセット値を、従来のように、更新対象の単位データ先頭を基点とした相対位置として記述せずに、配列順が一つ前の詳細指示データ又はダミーデータが示すオフセット値に対応する単位データ上の地点を基点とした相対位置として記述する。従って、本実施例によれば、オフセット値を固定長としても、このオフセット値を通じて、単位データ内の任意のエリアをバイト単位で更新対象エリアに指定することができる。この結果、本実施例によれば、単位データのデータサイズを大きくしても、従来技術のように、それに伴ってオフセット値のデータサイズを大きくしなくて済む。即ち、従来技術のように、オフセット値のデータサイズを大きくするのに伴って、指示データのデータサイズが大きくなり、これが原因で、通信を用いた地図データの更新に、不都合が生じるのを抑えることができる。
【0107】
補足すると、オフセット値のデータサイズを1バイトから2バイトに代えても、オフセット値単体のデータ増加量は、高々1バイトである。しかしながら、単位データが512バイトのデータである場合には、その全体を更新するのに、64個の詳細指示データが必要になる。そして、この場合には、オフセット値のデータサイズの増大が、指示データ全体で64バイトの増加となる。仮に、単位データの半分の領域を更新する場合でも、オフセット値のデータサイズの増大が、指示データ全体では、32バイトの増加となってしまう。そして、地図データを旧バージョンから新バージョンに更新する場合には、多数の単位データを更新することになるので、オフセット値のデータサイズの増大は、地図データを更新するのに必要な指示データの全体量に大きく影響する。
【0108】
従って、本実施例のように指示データを構成してデータ量を抑制する手法は、地図データの更新に必要なデータのダウンロードに要する時間の短縮等に、非常に有効に機能する。
【0109】
尚、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができることは言うまでもない。続いては、上記実施例の変形例について説明する。
[変形例1]
上記実施例では、ナビゲーション装置10からの問合せ信号を受信する度に、このナビゲーション装置10の地図データを更新するための指示データを生成したが、同じ指示データを問合せ信号の受信の度に生成しなくて済むように、地図更新システム1は、次のように構成されてもよい。即ち、地図更新システム1は、配信システム50とは別装置、又は、配信システム50内で予め指示データを生成して、これらをデータベース装置80に蓄積する構成にされてもよい。そして、S600の処理は、指示データを生成するのに代えて、対応する指示データを、データベース装置80から読み出す処理に変更されてもよい。図1には、データベース装置80が指示データを備える構成を点線によって示す。
【0110】
この他、S600の処理は、データベース装置80に対応する指示データが記憶されている場合には、これをデータベース装置80から読み出し、対応する指示データが記憶されていない場合には、これを生成する処理に変更されてもよい。
【0111】
また、データベース装置80に指示データを予め蓄積する場合には、コンピュータによるプログラムの実行により指示データを生成して、これらをデータベース装置80に蓄積する手法の他、人の手作業により指示データを生成し、これらをデータベース装置80に蓄積する手法を採用することができる。
[変形例2]
上記実施例では、変更フラグを用いることにより、更新対象エリアの一部領域のみを更新できるようにしたが、更新対象エリアの一部領域のみを更新する必要があまりない環境では、変更フラグを詳細指示データから削除し、詳細指示データを固定長としてもよい。図13には、オフセット値及び上書きデータのみからなる詳細指示データの構成を示す。このように変更フラグを削除し、詳細指示データを、オフセット値及び上書きデータからなる固定長のデータとして構成する場合には、上書きデータに、更新対象エリアの全バイト領域(Jバイト分)の変更値を、そのバイト領域の配列順に記述する。換言すると、変更の必要がないバイト領域があっても、そのバイト領域に対応する変更値として、変更前の現在値と同一値を記述することで、形式的に変更値を上書きデータに記述する。
【0112】
この詳細指示データの構成によれば、変更の必要がないバイト領域の変更値についても上書きデータに形式的に書き込まれることになる。このため、上記実施例に対しては、上書きデータのデータ量が増加することになる。しかしながら、更新対象エリアの一部領域のみが更新されるケースが少ない場合には、変更フラグの削除によるデータ削減効果のほうが、上書きデータのデータ量増加によるデメリットよりも有利に働く。また、図13に示す指示データの構成を採用する場合には、変更フラグを参照して、上書きデータに記述された変更値が、どのバイト領域に対応する値であるのかを特定する必要がないので、ナビゲーション装置10におけるS370の処理を簡略化することができる。また、その結果として、ナビゲーション装置10の処理負荷を抑えることができる。
【0113】
尚、図13に示す指示データの構成を採用する場合には、同一データフォーマットのダミーデータについても、変更フラグを削除することになる。但し、変更フラグのない詳細指示データでは、上記実施例のように変更フラグによって上書きデータの構成を特定できない。このため、ダミーデータであっても、上書きデータには、Jバイト分の各バイト領域に対応する変更値を記述する必要がある。
【0114】
一方で、ダミーデータそのものは、基本的に、オフセット値に対応する単位データ内の更新対象エリア(ダミーの更新対象エリア)に変更を加えるものであってはならない。
このため、本変形例のダミーデータは、そのダミーデータが備えるオフセット値から特定される更新対象エリアの内容が変更されないような上書きデータを備えた構成にされる。即ち、本変形例のダミーデータは、オフセット値として上限値(0xFF)を示すデータと、上書きデータとして、このオフセット値により特定される更新対象エリアの現在値と同一内容の値(各バイト領域の変更値)が記述されたデータと、からなるデータとして構成される。
【0115】
尚、このような指示データの構成を採用する場合、ナビゲーション装置10の制御デバイス19が実行する更新処理は、図12点線で示す処理(S350)を実行しない内容に変更することができる。この場合、ダミーデータは、詳細指示データと同様に取り扱われて、ダミーデータに基づく単位データへの上書き処理が実行されることになる。但し、ダミーデータが有する上書きデータは、上述したように、この内容に従って単位データに対する書込が行われても、単位データの内容が変更されないような構成となっている。従って、ダミーデータによって不都合なデータ変更がなされることは基本的にない。
【0116】
また、図13に示す指示データの構成を採用しつつも、S350の処理を削除しない場合には、S350において、次の判断を行えばよい。即ち、S350では、処理対象データが有する上書きデータの値と、処理対象データが指定する更新対象エリアの現在値とを比較して、両者が一致している場合には、ダミーデータと判断し、両者が一致しなければ、ダミーデータではないと判断すればよい。
[その他の変形例]
また、上記実施例では、ナビゲーション装置10からの問合せに応じて配信システム50が指示データを送信するように地図更新システム1を構成したが、地図更新システム1は、ナビゲーション装置10からの問合せを必要とせずに、配信システム50が能動的に動作してナビゲーション装置10の一群に指示データをブロードキャストする構成にされてもよい。この他、上述の技術は、車載用のナビゲーション装置10に限らず、ナビゲーション機能や地図表示機能を備える携帯電話等の各種電子機器が記憶する地図データの更新に用いることができる。
[対応関係]
以上に、変形例を含む本発明の実施例について説明したが、用語間の対応関係は次の通りである。即ち、ナビゲーション装置10は、情報端末の一例に対応し、配信システム50は、データ提供装置及びデータ生成装置の一例に対応する。また、情報処理装置70が実行するS600の処理は、データ生成装置が備える生成手段にて実現される処理の一例に対応し、情報処理装置70が実行するS700の処理は、データ提供装置が備える送信手段にて実現される処理の一例に対応する。また、オフセット値を表すデータは、更新先位置データの一例に対応する。また、記憶デバイス13は、情報端末が備える記憶手段の一例に対応し、制御デバイス19が実行する更新処理は、情報端末が備える更新手段にて実現される処理の一例に対応する。
【符号の説明】
【0117】
1…地図更新システム、10…ナビゲーション装置、11…位置検出デバイス、13…記憶デバイス、15…操作デバイス、16…音声出力デバイス、17…表示デバイス、19…制御デバイス、19a…CPU、19b…ROM、19c…RAM、20…通信デバイス、40…無線局、50…配信システム、60…通信デバイス、70…情報処理装置、70a…CPU、70b…記憶デバイス、80…データベース装置
【技術分野】
【0001】
本発明は、情報端末が備える地図データを更新するためのシステム、並びに、このシステムを構成するデータ提供装置及び情報端末、並びに、地図データを更新するためのデータを生成する装置に関する。
【背景技術】
【0002】
従来、地図データを記憶する電子機器としては、画面上に地図を表示する地図表示装置や、目的地までの経路案内を行うナビゲーション装置等が知られている。ナビゲーション装置としては、特に、車両の走行案内を行う車載型のナビゲーション装置が良く知られている。ところで、この電子機器が記憶する地図データは、最新の地図データであるのが好ましい。新設された道路等の情報が地図データに反映されていないと、電子機器が地図データに基づいてユーザに提供する情報に誤りが生じ、このことが、ユーザに不満を与えるためである。
【0003】
電子機器が記憶する地図データを更新するための技術としては、セルラー網などの通信ネットワークを通じて、配信システムから電子機器に、地図データを更新するためのデータを提供する技術が知られている。例えば、この種の技術としては、地図データをバイト単位で更新可能な技術が知られている(特許文献1参照)。この技術によれば、地図データを構成する所定単位のデータ(以下「単位データ」という。)の夫々に対し、IDコードを割り当てる。そして、配信システムからは、このIDコードに関連付けて、IDコードに対応する単位データを更新するための指示データをネットワークを通じて送信する。
【0004】
指示データには、更新対象の単位データに対応するIDコードと、当該単位データの先頭からの相対位置によって、この単位データにおける更新対象エリアの位置が記されたオフセット情報と、更新対象エリアに書き込む対象のデータ(以下「上書きデータ」という。)と、が格納される。特に、指示データには、オフセット情報として、単位データ先頭から更新対象エリアの始点までの距離を、バイト(byte)単位で表現した値が格納される。この技術によれば、更新対象エリアの始点をバイト単位で指定可能である。
【0005】
そして、この指示データを受信する電子機器では、受信した指示データに記述されたIDコードに基づき、更新対象の単位データを特定し、当該指示データに記述されたオフセット情報に基づき、この単位データにおける更新対象エリアを特定して、このエリアに指示データが備える上書きデータを書き込む。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−298571号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記構成の指示データを通じて地図データを更新する従来技術では、次のような問題があった。即ち、この技術では、単位データにおける更新対象エリアを、単位データ先頭からの相対位置により記述する。このため、IDコードを割り当てる単位データのデータサイズを大きくすると、オフセット情報として記述すべき相対位置の範囲も広がり、オフセット情報のデータサイズも大きくする必要があるといった問題があった。
【0008】
例えば、オフセット情報を1バイトのデータとすると、このオフセット情報によっては、単位データ先頭から256バイトまでの位置までしか更新対象エリアの始点を指定することができない。従って、単位データを、256バイトを大きく上回るデータサイズで定義する場合には、オフセット情報を2バイトのデータにする必要がある。
【0009】
また、このようにオフセット情報を2バイトのデータとすると、1バイトで指定可能な更新対象エリアに対してまでオフセット情報として2バイトのデータを記述することになる。従来技術によれば、このことが指示データのデータサイズを大きくする結果となっていた。
【0010】
ここで、指示データを、ネットワークを通じて情報端末に提供することを考えた場合、通信速度の限界等を考慮して、指示データは少量化されるのが好ましい。しかしながら、従来技術では、指示データを十分に少量化できるとは言えず、改善の余地があった。
【0011】
本発明は、こうした問題に鑑みなされたものであり、データ提供装置から、地図データを記憶する情報端末へ地図データの更新に必要なデータを好適に提供可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するためになされた本発明(請求項1)は、地図データを記憶する情報端末に対し、この情報端末に地図データを更新させるための指示データを送信する送信手段を備えたデータ提供装置であって、送信手段が次に説明する構造の指示データを送信するように構成されていることを特徴とする。但し、地図データは、IDコードが割り当てられた単位データの一群により構成されるものとする。
【0013】
送信手段が送信する指示データは、更新対象の単位データに対応するIDコードと、この単位データにおける更新対象エリアの位置が記述された詳細指示データの一群と、を備え、上記詳細指示データの一群が配列された構成にされる。送信手段は、このような構成の指示データを、更新対象の単位データ毎に送信する。
【0014】
詳細指示データは、単位データ内における更新対象エリアの位置を表す更新先位置データと、この更新対象エリアに上書きすべきデータである上書きデータと、を有した構成にされる。
【0015】
そして、配列順が先頭の詳細指示データは、更新対象の単位データ先頭を基点とした当該基点からの相対位置によって、更新対象エリアの位置が記述されてなる更新先位置データを有した構成にされる。
【0016】
一方、配列順が先頭以外の詳細指示データの夫々は、配列順が一つ前の詳細指示データが有する更新先位置データが示す位置を基点とした当該基点からの相対位置によって、更新対象エリアの位置が記述されてなる更新先位置データを有した構成にされる。
【0017】
即ち、従来技術では、更新対象の単位データ先頭からの相対位置によって更新対象エリアの位置が記述されるが、本発明では、配列順が一つ前の詳細指示データが示す更新対象エリアの位置を基点とする相対位置によって更新対象エリアの位置が詳細指示データに記述される。
【0018】
従来技術に対するこのような差異によって、本発明は、次のような効果を発揮する。即ち、従来技術によれば、更新先位置データを1バイトとすると、単位データ先頭から255バイトまでの位置までしか更新対象エリアの始点を指定することができなかった。これに対し、本発明によれば、従来技術が有するような単位データ先頭から指定可能な範囲の制限を受けることなく、更新対象エリアを指定することができる。
【0019】
詳述すると、本発明によれば、少なくとも更新対象エリア間の間隔が更新先位置データにて表現可能な範囲にある条件下では、単位データ先頭からの距離に制限を受けることなく、更新対象エリアを指定することができる。従って、本発明によれば、不必要に更新先位置データのデータサイズを大きくする必要がなく、指示データをコンパクトにすることができる。結果、本発明によれば、データ提供装置から、地図データを記憶する情報端末へ、地図データの更新に必要なデータを好適に提供することができる。
【0020】
尚、送信手段は、人やコンピュータ等によって予め生成された指示データを、データベースから読み出して、これを情報端末に送信する構成にすることができる。この他、送信手段は、データベースに記録された旧バージョンの地図データと新バージョンの地図データとの差分を抽出し、この抽出結果に基づいて上記構成の指示データを生成する機能を備えた構成にされてもよい。
【0021】
また、更新先位置データは、固定長のデータとして構成されるのが好ましい。更新先位置データを可変長とすると、データ境界を明確にするための付属情報が必要になり、かえって更新先位置データの実質的なデータサイズが大きくなってしまう可能性がある。これに対し、更新先位置データを固定長とすると、上述したような付属情報を設ける必要がないといった利点がある。
【0022】
但し、更新先位置データを固定長とすると、更新先位置データに記述可能な相対位置の範囲に上限が生じる。このため、指示データは、上述した規則に従う上記基点からの相対位置が上限を超える特殊な詳細指示データに関しては、詳細指示データの一群が配列されてなる配列データにおける特殊な詳細指示データの直前に、ダミーデータを備える構成にされるとよい(請求項2)。
【0023】
ダミーデータは、詳細指示データと同一様式のデータとして構成することができる。更に、このダミーデータは、配列データにおいて後続する上記特殊な詳細指示データの更新対象エリアと、この詳細指示データに対応する上記基点との中間地点の位置を表すデータを、更新先位置データとして有する構成にすることができる。
【0024】
そして、配列データ内において、上記ダミーデータに続く上記特殊な詳細指示データは、上記基点からの相対位置に代えて、配列データ内において直前に位置するダミーデータが示す上記中間地点からの相対位置が記述された更新先位置データを有する構成にすることができる。
【0025】
このような指示データの構成によれば、配列順が一つ前の詳細指示データにおける更新対象エリアの位置を基点とした相対位置を、ダミーデータを用いて多段階に記述することができる。よって、配列順が一つ前の詳細指示データにおける更新対象エリアの位置を基点とした相対位置が、固定長の更新先位置データにて表現可能な範囲を超える場合でも、これを原因として、所望のエリアを更新対象エリアに指定できない事態が生じるのを抑えることができる。
【0026】
尚、上記特殊な詳細指示データの直前に挿入されるダミーデータは、一つに限られない。ダミーデータを複数設ければ、上記基点からの相対位置が大きく離れている更新対象エリアに対するデータ更新動作についても、上記指示データを用いて実現することが可能である。
【0027】
また、ダミーデータは、更新先位置データが示すエリアに対してデータ更新を行うことを目的としたデータではないため、詳細指示データと同一様式のデータとして構成しつつも、具体的には、次のような構成を採用することができる(請求項3)。
【0028】
例えば、ダミーデータは、更新先位置データ及び上書きデータを備えるものの、上書きデータが更新対象エリアの更新前データと同一内容である構成のデータとして構成することができる。この場合には、ダミーデータに基づいて情報端末が地図データを更新する場合でも、地図データの内容が実質的に変更されることはない。
【0029】
この他、ダミーデータは、更新先位置データを備える一方で上書きデータを備えない構成のデータとして構成されてもよい。ここで言う「上書きデータを備えない構成」のダミーデータとは、上書きデータを格納すべき領域に、上書きデータがないことを示すデータが格納された構成のダミーデータをも含む。尚、ダミーデータに上書きデータ又はそれに代わる代替データを格納しない場合には、ダミーデータのデータサイズが、詳細指示データのデータサイズと異なる結果となる。従って、この場合には、データサイズに関する情報を記述するための領域を含むデータフォーマットを、詳細指示データ及びダミーデータ共通のデータフォーマットとして採用することが考えられる。
【0030】
このデータフォーマットを採用すれば、詳細指示データを可変長のデータとすることができるため、例えば、更新対象エリアの幅を詳細指示データ毎に可変とすることも可能である。但し、詳細指示データを可変長のデータとすると、指示データを受信する情報端末側での処理が複雑化する。従って、詳細指示データは、固定長のデータとされるのが好ましい(請求項4)。
【0031】
また、データ提供装置から送信される指示データを受信する情報端末は、地図データを記憶する記憶手段と、データ提供装置から受信した指示データに基づき、記憶手段が記憶する地図データを更新する更新手段と、を備える構成にすることができる。そして、更新手段は、受信した指示データが備える詳細指示データを配列順に参照し、各詳細指示データの参照時には、次に説明する処理を実行することにより、指示データに基づく地図データの更新動作を実現する構成にすることができる(請求項5)。
【0032】
即ち、更新手段は、詳細指示データの参照時に、参照先の詳細指示データが有する更新先位置データ及び、この参照先よりも配列順の若い詳細指示データが有する更新先位置データの夫々が示す相対位置の累積値を算出する構成にすることができる。
【0033】
更に、更新手段は、上記累積値の算出によって更新対象エリアを特定し、単位データにおける上記特定した更新対象エリア内のデータを、参照先の詳細指示データが備える上書きデータにより更新する構成にすることができる。上記累積値によれば、参照先の詳細指示データに対応する更新対象エリアを、更新対象の単位データの先頭位置を基準として特定することができる。従って、上記一連の動作によって、指示データに基づく地図データの更新動作を実現することができる。
【0034】
また、指示データにダミーデータが含まれる場合、更新手段は、次のように構成することができる(請求項6)。即ち、更新手段は、詳細指示データの参照時に、参照先の詳細指示データ、参照先よりも配列順の若い詳細指示データ、及び、参照先よりも配列順の若いダミーデータが備える更新先位置データが示す相対位置の累積値を算出することにより、参照先の詳細指示データに対応する更新対象エリアを特定する構成にすることができる。
【0035】
このような構成の情報端末とデータ提供装置とを用いて、情報端末が備える地図データを更新する地図更新システムを構成すれば(請求項7及び請求項8)、通信によって、情報端末が備える地図データを好適に更新することが可能である。
【0036】
また、指示データについては、情報処理装置により生成して、データ提供装置が参照可能なデータベース装置に登録することができる。若しくは、データ提供装置には、このような指示データを生成する機能を組み込むことができる。
【0037】
本発明のデータ生成装置は、上記地図データを記憶する情報端末に、地図データを更新させるための指示データを生成する生成手段を備えるものである(請求項9)。生成手段は、更新対象の単位データに対応するIDコードと、この単位データにおける更新対象エリアの位置を記述した詳細指示データの一群と、を備える指示データであって、詳細指示データの一群を配列してなる構成の上記指示データを、更新対象の単位データ毎に生成する。
【0038】
具体的に、生成手段は、情報端末が備える旧バージョンの地図データと、この旧バージョンの地図データに対する新パージョンの地図データとの差分を抽出して、差分のある単位データを、更新対象の単位データに設定し、更新対象の単位データ毎に、上記構成の指示データを生成する構成にすることができる。
【0039】
この他、データ提供装置が備える送信手段としての機能は、プログラムを通じてコンピュータに実現させることができる。この場合には、ハードウェアとしての通信デバイスをコンピュータが上記プログラムに基づき制御することによって、上記送信手段としての機能が実現される。また、このプログラムは、DVD−ROM等の光ディスクや、フレキシブルディスク等の磁気ディスクや、半導体製メモリ(メモリカード等)などの記録媒体に記録して、ユーザに提供することができる。
【0040】
同様に、情報端末が備える更新手段としての機能や、データ生成装置が備える生成手段としての機能も、プログラムを通じてコンピュータに実現させることができる。また、これらのプログラムは、上記記録媒体に記録して、ユーザに提供することができる。
【図面の簡単な説明】
【0041】
【図1】地図更新システム1の構成図である。
【図2】ナビゲーション装置10及び配信システム50の構成を表すブロック図である。
【図3】地図データの構成図である。
【図4】指示データの送受信による地図データの更新態様を説明した図である。
【図5】指示データの構成図である。
【図6】オフセット値の記述態様を説明した図である。
【図7】詳細指示データの具体例を記した図である。
【図8】詳細指示データに基づく更新前後の地図データの値を記した図である。
【図9】更新対象エリア間が離れている場合の指示データの構成図である。
【図10】ダミーデータを含む指示データの具体例を説明した図である。
【図11】ナビゲーション装置10の制御デバイス19及び配信システム50の情報処理装置70が実行する処理を表すフローチャートである。
【図12】制御デバイス19が実行する更新処理を表すフローチャートである。
【図13】変形例の指示データの構成図である。
【発明を実施するための形態】
【0042】
以下に本発明の実施例について、図面と共に説明する。
図1に示す本実施例の地図更新システム1は、車両に搭載される情報端末としてのナビゲーション装置10と、地図データを更新するためのデータをナビゲーション装置10に提供する配信システム50と、を備え、ナビゲーション装置10と配信システム50とが、無線局40を通じて無線通信可能に接続された通信システムである。
【0043】
地図更新システム1を構成するナビゲーション装置10は、図2に示すように、位置検出デバイス11、記憶デバイス13、操作デバイス15、音声出力デバイス16、表示デバイス17、制御デバイス19、及び、通信デバイス20を備える。位置検出デバイス11は、ナビゲーション装置10を搭載した車両の現在位置を検出するためのものであり、周知のジャイロスコープ、距離センサ及びGPS受信機等を有した構成にされる。
【0044】
一方、記憶デバイス13は、全国の道路ネットワークを表す地図データが格納されたものであり、例えば、ハードディスク装置により構成される。記憶デバイス13が記憶する地図データは、図3に示すように、地図の構成要素に関する情報が記述された所定単位のデータ(単位データ)の夫々に、IDコードが割り当てられた構成にされている。この単位データは、例えば、道路ネットワークを構成するリンク毎やノード毎、リンク及びノードを含む一連の路線毎に設けられる。具体的に、単位データの例としては、リンクデータやノードデータ、路線データなどを挙げるができる。
【0045】
即ち、記憶デバイス13が記憶する地図データは、地図構成要素に関する情報を含む単位データ及びこの単位データに対応するIDコードが記述されたデータの一群を備えた構成にされる。
【0046】
また、操作デバイス15は、ユーザからの指示を制御デバイス19に入力するものであり、表示デバイス17に配置されたタッチパネルや、ナビゲーション装置10の本体表面やリモートコントローラに設けられた操作スイッチ群等により構成される。この操作デバイス15を通じて、ユーザは、地図の縮尺変更やスクロール等の操作や目的地設定などナビゲーション装置10に対するあらゆる操作を行うことが可能である。
【0047】
また、音声出力デバイス16は、スピーカ等から構成され、制御デバイス19からの信号を受けてユーザへの案内音声等を出力するものである。この他、表示デバイス17は、フルカラー表示が可能なものであり、表示デバイス17には、例えば、位置検出デバイス11により検出された車両の現在位置を表すマークや誘導経路等が、記憶デバイス13が記憶する地図データに基づく地図画像に重ねて表示される。
【0048】
また、制御デバイス19は、周知のマイクロコンピュータと同様の構成にされ、CPU19a、ROM19b及びRAM19c等を備える。そして、CPU19aは、ROM19bに記憶されるプログラムに従って、ナビゲーション機能を実現するための各種処理を実行する。具体的に、制御デバイス19は、CPU19aによるプログラムの実行により、記憶デバイス13から地図データを読み込んで、この読込データに基づき、地図表示や経路探索・経路案内等の処理を実行する。
【0049】
この他、通信デバイス20は、無線局40を介して配信システム50と通信可能なインタフェースである。この通信デバイス20は、制御デバイス19に制御されて、送信対象のデータを配信システム50に送信し、又、配信システム50から受信したデータを、制御デバイス19に入力する。
【0050】
また、配信システム50は、通信デバイス60、情報処理装置70、及び、データベース装置80を備える。通信デバイス60は、無線局40を介して車両に搭載されたナビゲーション装置10と通信可能なデバイスである。この通信デバイス60は、情報処理装置70から提供される送信対象のデータを、無線局40を通じて、ナビゲーション装置10に送信し、ナビゲーション装置10から受信したデータを情報処理装置70に入力する。
【0051】
また、情報処理装置70は、プログラムに従う各種処理を行うCPU70aと、CPU70aにより実行されるプログラムを記憶する記憶デバイス70bと、を備える。この他、データベース装置80は、最新バージョンを含む各バーションの地図データが格納された大容量のハードディスク装置により構成される。
【0052】
この配信システム50における情報処理装置70は、記憶デバイス70bが備えるプログラムに従って、サーバ側地図更新処理(図4及び図11参照)を実行する。そして、このサーバ側地図更新処理では、データベース装置80が記憶する地図データに基づき、ナビゲーション装置10に、このナビゲーション装置10が有する旧バージョンの地図データを、最新バーションの地図データに更新させるための指示データを生成し、この指示データを、通信デバイス60を通じてナビゲーション装置10に送信する(図4参照)。
【0053】
一方、ナビゲーション装置10は、制御デバイス19でクライアント側地図更新処理(図4、図11及び図12参照)を実行することによって、配信システム50から受信した指示データに基づき、記憶デバイス13が記憶する旧バージョンの地図データを更新する。例えば、図4に示すように情報処理装置70は、ナビゲーション装置10に、このナビゲーション装置10が有するバージョン2の地図データを、最新バーションであるバージョン3の地図データに更新させるための指示データを生成し、これを、通信デバイス60を通じてナビゲーション装置10に送信する。そして、ナビゲーション装置10は、この指示データに従って、記憶デバイス13が記憶するバージョン2の地図データを、バージョン3の地図データに更新する。
【0054】
本実施例では、このようにして配信システム50及びナビゲーション装置10間の通信により、ナビゲーション装置10が備える地図データを更新する。
ここで、情報処理装置70による指示データの生成手順について説明する。情報処理装置70は、次の手順1〜手順3によって指示データを生成する。
【0055】
手順1)データベース装置80が記憶する各バージョンの地図データを用いて、ナビゲーション装置10が有する旧バージョンの地図データと、最新バージョンの地図データとの差分を抽出し、更新の必要な単位データの一群を特定する。
【0056】
手順2)更新の必要な単位データの一つを、指示データ生成対象の単位データとして選択する。
手順3)選択した単位データについての、旧バージョンの地図データと最新バージョンの地図データとの差分から、旧バージョンの単位データを、最新バージョンの単位データに置換するための図5に示す構成の指示データを生成する。
【0057】
情報処理装置70は、この手順2及び手順3を繰返し実行することにより、更新の必要な単位データ毎に、指示データを生成する。
続いて、図5を用いて、更新対象の単位データ毎に生成される指示データの詳細構成について説明する。指示データは、更新対象の単位データに付与されたIDコードを表すデータと、この指示データのデータサイズを表すデータと、詳細指示データの一群と、から構成される。詳細指示データの一群は、これら詳細指示データが配列されてなる配列データとして、指示データに格納される。また、「IDコード」及び「データサイズ」のデータは、固定長のデータとして構成される。
【0058】
詳細指示データの夫々は、指示データが示すIDコードに対応する更新対象の単位データにおける更新対象エリアを指定するものであり、更新対象エリアの位置が記述されたデータとして構成される。換言すると、本実施例の指示データは、IDコードが示す単位データ内の更新対象エリア毎に、詳細指示データを有した構成にされる(図6参照)。
【0059】
具体的に、詳細指示データは、オフセット値を表すデータと、変更フラグを表すデータと、オフセット値により特定される更新対象エリアに上書きすべきデータとしての上書きデータと、から構成される。オフセット値を表すデータ及び変更フラグを表すデータは固定長のデータとして構成される。
【0060】
オフセット値は、詳細指示データによって指定する更新対象エリアの始点位置を表すものであり、次の規則に従って詳細指示データに記述される。即ち、オフセット値の記述先が、配列データにおいて配列順が先頭の詳細指示データである場合には、更新対象の単位データ先頭を基点とした当該基点からの相対位置によって数値化された更新対象エリアの始点位置が、オフセット値として詳細指示データに記述される。尚、基点からの相対位置は、バイトを単位とする距離で数値化される。
【0061】
配列順が先頭の詳細指示データには、上記オフセット値として、単位データ先頭に最も近い第一の更新対象エリア(図6に示す「変更箇所1」)始点の単位データ先頭からの相対位置が記述される。図6に示す例によれば、単位データ先頭から第一の更新対象エリアまでの距離は、ΔX1バイトであるので、オフセット値としては、ΔX1が記述される。
【0062】
一方、オフセット値の記述先が配列データにおいて配列順が先頭以外の詳細指示データである場合、この詳細指示データには、配列順が一つ前の詳細指示データが示すオフセット値に対応する単位データ上の地点を基点とした当該基点からの相対位置によって数値化された更新対象エリアの始点位置が、オフセット値として記述される。
【0063】
ここで、図6に示す例に従って、指示データを構成する詳細指示データの配列、及び、各詳細指示データに記述されるオフセット値について説明する。図6に示す更新対象の単位データには、先頭からΔX1バイトの地点を始点とする第一の更新対象エリアが存在することは、上述した通りである。
【0064】
更に、この単位データには、第一の更新対象エリアの始点から、ΔX2バイト離れた地点に、この地点を始点とする第二の更新対象エリアが存在する(図6に示す「変更箇所2」)。更に、第二の更新対象エリアの始点からΔX3バイト離れた地点に、この地点を始点とする第三の更新対象エリアが存在し(図6に示す「変更箇所3」)、第三の更新対象エリアの始点からΔX4バイト離れた地点に、この地点を始点とする第四の更新対象エリアが存在する(図6に示す「変更箇所4」)。
【0065】
このため、この単位データに対する指示データには、図6右図に示すように第一〜第四の各更新対象エリアに対応した合計四つの詳細指示データが、単位データ先頭からの更新対象エリアの配列順に、配列される。
【0066】
そして、配列順が先頭の詳細指示データには、オフセット値として、上述したように値ΔX1が記述されるが、配列順が二番目の詳細指示データには、第二の更新対象エリアの始点位置を表すオフセット値として、第一の更新対象エリア始点からの相対位置ΔX2が記述される。また、配列順が三番目の詳細指示データには、第三の更新対象エリアの始点位置を表すオフセット値として、第二の更新対象エリア始点からの相対位置ΔX3が記述される。この他、配列順が四番目の詳細指示データには、第四の更新対象エリアの始点位置を表すオフセット値として、第三の更新対象エリア始点からの相対位置ΔX4が記述される。
【0067】
続いて、詳細指示データが有する上書きデータの構成について説明する(図5参照)。この詳細指示データが有する上書きデータは、Jバイトのエリアとして定義される更新対象エリアを1バイト毎に分割して得られる小領域(以下、「バイト領域」と表現する。)毎に、このバイト領域に対して書き込むべき1バイトの値(以下「変更値」と表現する。)が記述されてなるデータである。但し、本実施例の上書きデータには、更新対象エリアのバイト数に対応するJバイト分全ての変更値が記述されるとは限らない。即ち、上書きデータには、Jバイト分の更新対象エリアの内、更新が必要なバイト領域に対応する変更値が選択的に記述される。
【0068】
例えば、J=8バイトの更新対象エリア全体を更新する必要がある場合には、図7(a)に示すように、8バイト分の変更値が記述された上書きデータが詳細指示データに格納されるが、図7(b)に示すように、この更新対象エリアの内、3バイト分のみ更新する必要がある場合には、3バイト分の変更値が記述された上書きデータが詳細指示データに格納される。図7(a)は、8バイト分の変更値が記述された上書きデータを備える詳細指示データの構成図であり、図7(b)は、3バイト分の変更値が記述された上書きデータを備える詳細指示データの構成図である。
【0069】
この上書きデータには、更新対象エリアの始点に近いバイト領域の変更値から、バイト領域の配列順に、変更値が記述される。更新対象エリアの始点から始まる先頭のバイト領域を、0番目のバイト領域とし、更新対象エリアの終点で終わる末尾のバイト領域を、(J−1)番目のバイト領域として、バイト領域の配列番号j=0〜J−1を、その配列順に定義すると、上書きデータには、配列番号の若いバイト領域の順に、そのバイト領域に対応する変更値が記述される。
【0070】
また、上書きデータに記述された変更値が、何番目のバイト領域に対応する変更値であるのかを特定するための情報は、詳細指示データを構成する変更フラグに記述される。
変更フラグは、更新対象エリアの各バイト領域に対応する変更値の有無を表すフラグである。変更フラグは、Jビットの固定長データとして構成される。この変更フラグを構成する各ビットは、更新対象エリア内の、このビットに対応するバイト領域に対する変更値が、上記「上書きデータ」に存在するか否かを表す。
【0071】
具体的に、変更フラグの最下位ビットを第0ビット、最上位ビットを第(J−1)ビットとして定義すると、第jビットの値は、上記定義に従うj番目のバイト領域に対応する変更値の有無を表す。例えば、第jビットの値が「1」である場合には、j番目のバイト領域に対応する変更値が上書きデータに記述されていることを示し、第jビットの値が「0」である場合には、j番目のバイト領域に対応する変更値が上書きデータに記述されていないことを示す(図7(a)及び図7(b)参照)。
【0072】
このように構成される変更フラグによって、上書きデータに配列された変更値が、どのバイト領域の変更値であるのかは、特定される。
例えば、ナビゲーション装置10の制御デバイス19は、配信システム50から受信した指示データに格納される図7(b)に示す構成の詳細指示データに従って、地図データを更新するとき、この詳細指示データが示す変更フラグに基づき、更新が必要なバイト領域が、更新対象エリア始点から0番目(0バイト目)のバイト領域、1番目(1バイト目)のバイト領域、及び、2番目(2バイト目)のバイト領域であると特定する。そして、図8に示すように、上書きデータにおける0番目の変更値D0*に基づき、0番目のバイト領域を現在値D0から値D0*に更新し、1番目の変更値D1*に基づき、1番目のバイト領域を現在値D1から値D1*に更新し、2番目の変更値D2*に基づき、2番目のバイト領域を現在値D2から値D2*に更新する。一方で、3〜7番目のバイト領域については、その値を現在値D3〜D7から変更しない。
【0073】
ところで、詳細指示データに記述されるオフセット値は、固定長のデータとして構成されるため、オフセット値として記述可能な上記相対位置の範囲には、上限がある。例えば、オフセット値が1バイトのデータで構成される場合、オフセット値は、値0x00から値0xFFの範囲に制限され、256バイト以上の相対位置を指定できない。
【0074】
このため、図9(a)に示すように、隣接する更新対象エリアの間隔(同図に示す「変更箇所2」と「変更箇所3」との間)がオフセット値の上限を超える場合には、オフセット値の上限を超えた位置の更新対象エリアを更新するための詳細指示データを、上記規則によっては生成することができないことになる。
【0075】
そこで、本実施例では、上記規則に従う基点からの相対位置がオフセット値の上限を超える特殊な詳細指示データに関しては、配列データ内におけるこの特殊な詳細指示データの直前に、ダミーデータを挿入して、この問題を解決する。
【0076】
図9(a)(b)に示す例によれば、更新対象の単位データに、第一の更新対象エリア(変更箇所1)、第二の更新対象エリア(変更箇所2)及び第三の更新対象エリア(変更箇所3)が存在する。そして、「第一の更新対象エリア」始点の単位データ先頭からの相対位置ΔX1、及び、「第二の更新対象エリア」始点の「第一の更新対象エリア」始点からの相対位置ΔX2は、オフセット値により表現可能な範囲内にある。しかしながら、「第三の更新対象エリア」始点の「第二の更新対象エリア」始点からの相対位置ΔX5は、オフセット値により表現可能な範囲を超えている。
【0077】
このような単位データを更新するための指示データには、第一の更新対象エリアを更新するための第一の詳細指示データ、第二の更新対象エリアを更新するための第二の詳細指示データ、第三の更新対象エリアを更新するための第三の詳細指示データが配列された配列データにおける第三の詳細指示データの直前に、ダミーデータが挿入される(図9(b)右図参照)。
【0078】
挿入されるダミーデータは、詳細指示データと同一フォーマットのデータである。但し、ダミーデータ自体は、データ更新を行うことを目的としたデータではないため、このダミーデータには、変更フラグとして全ビットが値「0」の変更フラグが格納される。また、ダミーデータは、上書きデータに記述すべき変更値がないデータであるため、上記「上書きデータ」を備えない構成にされる(図9右下図参照)。また、ダミーデータには、オフセット値として上限値(0xFF)が記述される。尚、以下では、オフセット値が1バイトで構成されている場合の実施例を具体例として説明する。
【0079】
また、配列データにおいてダミーデータが配列された直後の詳細指示データには、上記基点からの相対位置に代えて、直前のダミーデータが示すオフセット値に対応する単位データ上の地点からの更新対象エリアの相対位置がオフセット値として記述される。
【0080】
図9(b)に示す例によれば、第三の詳細指示データの前に一つのダミーデータが挿入されるため、第三の詳細指示データには、第二の更新対象エリア始点からの相対位置ΔX5からオフセット値の上限値0xFFを引いた値ΔX6=ΔX5−0xFFが記述される。
【0081】
尚、図9(b)では、値(ΔX5−0xFF)がオフセット値の上限を超えないことを前提としているが、仮に、値(ΔX5−0xFF)がオフセット値の上限を超える場合には、第三の詳細指示データと第二の詳細指示データとの間に、更に上記構成のダミーデータが挿入される。そして、第三の詳細指示データには、第二の更新対象エリアの始点を基点とした相対位置ΔX5から値0xFFのα倍を引いた値ΔX6=ΔX5−α・0xFFが、オフセット値として記述される。ここで、αは、オフセット値の記述先の詳細指示データ(第三の詳細指示データ)と、この詳細指示データに対して配列順が一つ前の詳細指示データ(第二の詳細指示データ)との間に挿入されるダミーデータの個数である。
【0082】
本実施例では、このようなダミーデータの挿入によって、オフセット値を固定長とすることによる更新対象エリアの指定範囲の制限を受けることがないようにしている。
ここで、図9(b)に示す第一〜第三の更新対象エリア(変更箇所1〜3)の「単位データ」先頭からの距離が図10上段に示す値を採る場合の指示データの構成を、図10下段に示す。尚、図10下段では、ダミーデータに対して、上書きデータを表現しているが、この上書きデータは、後述する変形例2を考慮して表現したものであり、本実施例の場合には、ダミーデータに上書きデータは存在しない。
【0083】
この例によれば、第一の更新対象エリアの「単位データ」先頭からの距離(従来技術と同一定義でのオフセット値)は、0x0080(バイト)である。また、第二の更新対象エリアの「単位データ」先頭からの距離は、0x0100(バイト)であり、第三の更新対象エリアの「単位データ」先頭からの距離は、0x027F(バイト)である。
【0084】
このようなケースにおいて、指示データを構成する第一の詳細指示データは、第一の更新対象エリア(変更箇所1)に対応するオフセット値として、値0x80が記述された構成にされ、第二の詳細指示データは、第二の更新対象エリア(変更箇所2)に対応するオフセット値として、値0x80(=0x0100−0x0080)が記述された構成にされる。また、指示データは、第二の詳細指示データと、第三の詳細指示データとの間に、ダミーデータが挿入された構成にされ、第三の詳細指示データは、第三の更新対象エリア(変更箇所3)に対応する値として、値0x80(=0x27F−0x100−0xFF)が記述された構成にされる。
【0085】
この説明からも理解できるように、従来技術によるオフセット値の定義によれば、オフセット値を2バイトのデータとしなければならないケースにおいて、本実施例の指示データの構成を採用すると、オフセット値を2バイトのデータとしなくとも、第二の更新対象エリア及び第三の更新対象エリアを指定することができる。
【0086】
続いて、ナビゲーション装置10の制御デバイス19がプログラムに従って実行するクライアント側地図更新処理、及び、配信システム50の情報処理装置70がプログラムに従って実行するサーバ側地図更新処理について、その詳細を、図11を用いて説明する。
【0087】
本実施例では、ナビゲーション装置10からの要求によって、ナビゲーション装置10と配信システム50との間で上記指示データの送受信が行われ、この指示データに基づく地図データの更新動作がナビゲーション装置10で実行される。
【0088】
例えば、ナビゲーション装置10の制御デバイス19は、定期的に、又は、操作デバイス15を通じて入力されるユーザからの指示に従って図11に示すクライアント側地図更新処理を開始する。そして、クライアント側地図更新処理の開始時には、まず、記憶デバイス13が記憶する地図データよりバージョンの新しい地図データが存在するか否かを配信システム50に問い合せるための問合せ信号を、配信システム50に送信する(S100)。この問合せ信号には、記憶デバイス13が記憶する地図データのバージョン情報が含まれる。
【0089】
配信システム50の情報処理装置70は、上記問合せ信号を受信すると、図11に示すサーバ側地図更新処理を開始し、受信した問合せ信号に含まれるバージョン情報に基づき、問合せ元のナビゲーション装置10が記憶する地図データが、データベース装置80が記憶する最新バージョンの地図データと同一バージョンの地図データであるか否かを判断する(S500)。即ち、問合せ元のナビゲーション装置10が記憶する地図データが、最新バージョンの地図データであるか否かを判断する(S500)。
【0090】
そして、問合せ元の地図データが最新バージョンの地図データであると判断すると(S500でYes)、その判断結果を記した問合せ信号に対する応答信号を、問合せ元に返信し(S900)、当該サーバ側地図更新処理を終了する。
【0091】
一方、問合せ元の上記地図データが旧バージョンの地図データであると判断すると(S500でNo)、その判断結果を記した問合せ信号に対する応答信号を、問合せ元に返信する(S550)。その後、問合せ元のナビゲーション装置10が記憶する地図データを最新バージョンの地図データに更新するための指示データを、上述した規則(手順1,2,3)に従って生成する(S600)。
【0092】
そして、生成した指示データを、ナビゲーション装置10に送信する(S700)。情報処理装置70は、このようなS600の処理(特に上記手順2,3に対応する処理)及びS700の処理を、完了条件が満足するまで繰返し実行することで、更新対象の単位データ毎の指示データを逐次、ナビゲーション装置10に送信する。そして、完了条件が満足すると(S800でYes)、当該サーバ側地図更新処理を終了する。例えば、情報処理装置70は、ナビゲーション装置10が備える地図データの更新に必要な全ての指示データをナビゲーション装置10に送信すると、完了条件が満足されたと判断して(S800でYes)、当該サーバ側地図更新処理を終了する。この他、情報処理装置70は、通信エラーが生じると、完了条件が満足されたと判断して、サーバ側地図更新処理を終了する。
【0093】
一方、ナビゲーション装置10の制御デバイス19は、問合せ信号に対する応答信号を受信すると(S130)、その応答信号に基づき、記憶デバイス13が記憶する地図データが最新バージョンの地図データであるか否かを判断する(S150)。そして、最新バージョンの地図データであると判断すると(S150でYes)、当該クライアント側地図更新処理を終了する。
【0094】
一方、記憶デバイス13が記憶する地図データが最新バージョンの地図データではないと判断すると(S150でNo)、配信システム50から送信されてくる各指示データを受信する(S200)。そして、記憶デバイス13が記憶する地図データを最新バージョンの地図データに更新するために必要な全ての指示データを受信すると、これらの指示データに基づき、記憶デバイス13が記憶する地図データを更新する(S300)。具体的には、指示データ毎に、図12に示す更新処理を実行する。そして、地図データの更新が完了すると、当該クライアント側地図更新処理を終了する。尚、通信エラー等により、記憶デバイス13が記憶する地図データを最新バージョンの地図データに更新するために必要な全ての指示データを受信できなかった場合には、S200での処理を中断して、当該クライアント側地図更新処理を異常終了する。
【0095】
続いて、図12に示す更新処理について説明する。以下では、各更新処理に用いられる指示データのことを「受付データ」と表現する。
更新処理を開始すると、制御デバイス19は、受付データ(指示データ)を構成する配列データに含まれる詳細指示データ及びダミーデータの内の一つを、処理対象データとして選択する。但し、ここでは、未選択の詳細指示データ及びダミーデータの内、受付データを構成する配列データ内で配列順が最も若いデータを、処理対象データに選択する(S310)。
【0096】
そして、処理対象データ(詳細指示データ又はダミーデータ)の配列データ内における配列順位が先頭であるか否かを判断し(S320)、先頭である場合には(S320でYes)、この処理対象データが示すオフセット値を、パラメータAに設定する(S330)。
【0097】
その後、制御デバイス19は、S350に移行し、処理対象データがダミーデータであるか否かを判断する。処理対象データがダミーデータであるか否かは、変更フラグを参照することにより判断することができる。即ち、変更フラグの全ビットがオールゼロである場合には、処理対象データがダミーデータであると判断し、オールゼロでない場合には、処理対象データが詳細指示データであると判断することができる。
【0098】
そして、処理対象データがダミ−データであると判断すると、S380に移行し、処理対象データがダミーデータではないと判断すると、S360に移行する。
S360に移行すると、制御デバイス19は、パラメータAの現在値に基づき、今回の更新対象エリアを特定する。具体的には、受付データが示すIDコードから特定される更新対象の単位データ先頭からパラメータAの現在値に対応する距離離れた地点を、更新対象エリアの始点であると判定し、この始点からJバイトの領域を、更新対象エリアと判定する。
【0099】
そして、処理対象データ(詳細指示データ)が示す変更フラグ及び上書きデータに従って、記憶デバイス13が記憶する地図データの上記特定した更新対象エリアに、上書きデータが示す変更値を書き込む。この動作によって、地図データの更新対象エリアの内容を更新する(S370)。具体的には、変更フラグにおいて値「1」に設定されたビットに対応するバイト領域の値を、上書きデータが示す、そのバイト領域に対応する変更値に更新して、更新対象エリアの内容を更新する。その後、S380に移行する。
【0100】
S380に移行すると、制御デバイス19は、受付データが備える全ての詳細指示データを処理対象データに選択してS370までの処理を実行したか否かを判断し、未選択の詳細指示データがあると判断すると(S380でNo)、S310に戻り、配列データに含まれる詳細指示データ及びダミーデータの内の一つを、上述の規則に従って、新たに処理対象データとして選択し、S320以降の処理を実行する。
【0101】
尚、S380で未選択の詳細指示データがあると判断した後に選択される処理対象データの配列データ内における配列順位は先頭以外であるので、S310に戻った後のS320では、処理対象データの配列順位が先頭ではないと判断し、S340に移行する。
【0102】
そして、S340では、直前のS310で新たに選択した処理対象データが示すオフセット値を、パラメータAの現在値に加算した値を、新たなパラメータAの値に設定することにより、これまでに処理対象データに選択された詳細指示データ及びダミーデータが示すオフセット値の累計値を、パラメータAに設定する。
【0103】
そして、この処理対象データが詳細指示データであると判断すると(S350でNo)、制御デバイス19は、S360,S370の処理を実行することで、処理対象データが示す更新対象エリアに、この処理対象データの上書きデータが示す値を書き込んで、更新対象エリアの内容を更新する。その後、S380に移行する。一方、処理対象データがダミーデータであると判断すると(S350でYes)、S360,S370の処理を実行せずに、S380に移行する。
【0104】
制御デバイス19は、このような処理を、受付データが備える全ての詳細指示データについて実行するまで繰返し実行し、受付データが備える全ての詳細指示データを処理対象データに選択してS370までの処理を実行したと判断すると(S380でYes)、更新処理を終了する。このようにして、更新処理では、指示データが有する各詳細指示データに基づき、指示データが示すIDコードにて特定される更新対象の単位データにおける各更新対象エリアの内容を更新する。
【0105】
そして、本実施例の制御デバイス19は、このような更新処理を指示データ毎に実行することにより、記憶デバイス13が記憶する旧バージョンの地図データを最新バージョンの地図データに更新する。
【0106】
以上に、本実施例の地図更新システム1について説明したが、この地図更新システム1によれば、詳細指示データに記述するオフセット値を、従来のように、更新対象の単位データ先頭を基点とした相対位置として記述せずに、配列順が一つ前の詳細指示データ又はダミーデータが示すオフセット値に対応する単位データ上の地点を基点とした相対位置として記述する。従って、本実施例によれば、オフセット値を固定長としても、このオフセット値を通じて、単位データ内の任意のエリアをバイト単位で更新対象エリアに指定することができる。この結果、本実施例によれば、単位データのデータサイズを大きくしても、従来技術のように、それに伴ってオフセット値のデータサイズを大きくしなくて済む。即ち、従来技術のように、オフセット値のデータサイズを大きくするのに伴って、指示データのデータサイズが大きくなり、これが原因で、通信を用いた地図データの更新に、不都合が生じるのを抑えることができる。
【0107】
補足すると、オフセット値のデータサイズを1バイトから2バイトに代えても、オフセット値単体のデータ増加量は、高々1バイトである。しかしながら、単位データが512バイトのデータである場合には、その全体を更新するのに、64個の詳細指示データが必要になる。そして、この場合には、オフセット値のデータサイズの増大が、指示データ全体で64バイトの増加となる。仮に、単位データの半分の領域を更新する場合でも、オフセット値のデータサイズの増大が、指示データ全体では、32バイトの増加となってしまう。そして、地図データを旧バージョンから新バージョンに更新する場合には、多数の単位データを更新することになるので、オフセット値のデータサイズの増大は、地図データを更新するのに必要な指示データの全体量に大きく影響する。
【0108】
従って、本実施例のように指示データを構成してデータ量を抑制する手法は、地図データの更新に必要なデータのダウンロードに要する時間の短縮等に、非常に有効に機能する。
【0109】
尚、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができることは言うまでもない。続いては、上記実施例の変形例について説明する。
[変形例1]
上記実施例では、ナビゲーション装置10からの問合せ信号を受信する度に、このナビゲーション装置10の地図データを更新するための指示データを生成したが、同じ指示データを問合せ信号の受信の度に生成しなくて済むように、地図更新システム1は、次のように構成されてもよい。即ち、地図更新システム1は、配信システム50とは別装置、又は、配信システム50内で予め指示データを生成して、これらをデータベース装置80に蓄積する構成にされてもよい。そして、S600の処理は、指示データを生成するのに代えて、対応する指示データを、データベース装置80から読み出す処理に変更されてもよい。図1には、データベース装置80が指示データを備える構成を点線によって示す。
【0110】
この他、S600の処理は、データベース装置80に対応する指示データが記憶されている場合には、これをデータベース装置80から読み出し、対応する指示データが記憶されていない場合には、これを生成する処理に変更されてもよい。
【0111】
また、データベース装置80に指示データを予め蓄積する場合には、コンピュータによるプログラムの実行により指示データを生成して、これらをデータベース装置80に蓄積する手法の他、人の手作業により指示データを生成し、これらをデータベース装置80に蓄積する手法を採用することができる。
[変形例2]
上記実施例では、変更フラグを用いることにより、更新対象エリアの一部領域のみを更新できるようにしたが、更新対象エリアの一部領域のみを更新する必要があまりない環境では、変更フラグを詳細指示データから削除し、詳細指示データを固定長としてもよい。図13には、オフセット値及び上書きデータのみからなる詳細指示データの構成を示す。このように変更フラグを削除し、詳細指示データを、オフセット値及び上書きデータからなる固定長のデータとして構成する場合には、上書きデータに、更新対象エリアの全バイト領域(Jバイト分)の変更値を、そのバイト領域の配列順に記述する。換言すると、変更の必要がないバイト領域があっても、そのバイト領域に対応する変更値として、変更前の現在値と同一値を記述することで、形式的に変更値を上書きデータに記述する。
【0112】
この詳細指示データの構成によれば、変更の必要がないバイト領域の変更値についても上書きデータに形式的に書き込まれることになる。このため、上記実施例に対しては、上書きデータのデータ量が増加することになる。しかしながら、更新対象エリアの一部領域のみが更新されるケースが少ない場合には、変更フラグの削除によるデータ削減効果のほうが、上書きデータのデータ量増加によるデメリットよりも有利に働く。また、図13に示す指示データの構成を採用する場合には、変更フラグを参照して、上書きデータに記述された変更値が、どのバイト領域に対応する値であるのかを特定する必要がないので、ナビゲーション装置10におけるS370の処理を簡略化することができる。また、その結果として、ナビゲーション装置10の処理負荷を抑えることができる。
【0113】
尚、図13に示す指示データの構成を採用する場合には、同一データフォーマットのダミーデータについても、変更フラグを削除することになる。但し、変更フラグのない詳細指示データでは、上記実施例のように変更フラグによって上書きデータの構成を特定できない。このため、ダミーデータであっても、上書きデータには、Jバイト分の各バイト領域に対応する変更値を記述する必要がある。
【0114】
一方で、ダミーデータそのものは、基本的に、オフセット値に対応する単位データ内の更新対象エリア(ダミーの更新対象エリア)に変更を加えるものであってはならない。
このため、本変形例のダミーデータは、そのダミーデータが備えるオフセット値から特定される更新対象エリアの内容が変更されないような上書きデータを備えた構成にされる。即ち、本変形例のダミーデータは、オフセット値として上限値(0xFF)を示すデータと、上書きデータとして、このオフセット値により特定される更新対象エリアの現在値と同一内容の値(各バイト領域の変更値)が記述されたデータと、からなるデータとして構成される。
【0115】
尚、このような指示データの構成を採用する場合、ナビゲーション装置10の制御デバイス19が実行する更新処理は、図12点線で示す処理(S350)を実行しない内容に変更することができる。この場合、ダミーデータは、詳細指示データと同様に取り扱われて、ダミーデータに基づく単位データへの上書き処理が実行されることになる。但し、ダミーデータが有する上書きデータは、上述したように、この内容に従って単位データに対する書込が行われても、単位データの内容が変更されないような構成となっている。従って、ダミーデータによって不都合なデータ変更がなされることは基本的にない。
【0116】
また、図13に示す指示データの構成を採用しつつも、S350の処理を削除しない場合には、S350において、次の判断を行えばよい。即ち、S350では、処理対象データが有する上書きデータの値と、処理対象データが指定する更新対象エリアの現在値とを比較して、両者が一致している場合には、ダミーデータと判断し、両者が一致しなければ、ダミーデータではないと判断すればよい。
[その他の変形例]
また、上記実施例では、ナビゲーション装置10からの問合せに応じて配信システム50が指示データを送信するように地図更新システム1を構成したが、地図更新システム1は、ナビゲーション装置10からの問合せを必要とせずに、配信システム50が能動的に動作してナビゲーション装置10の一群に指示データをブロードキャストする構成にされてもよい。この他、上述の技術は、車載用のナビゲーション装置10に限らず、ナビゲーション機能や地図表示機能を備える携帯電話等の各種電子機器が記憶する地図データの更新に用いることができる。
[対応関係]
以上に、変形例を含む本発明の実施例について説明したが、用語間の対応関係は次の通りである。即ち、ナビゲーション装置10は、情報端末の一例に対応し、配信システム50は、データ提供装置及びデータ生成装置の一例に対応する。また、情報処理装置70が実行するS600の処理は、データ生成装置が備える生成手段にて実現される処理の一例に対応し、情報処理装置70が実行するS700の処理は、データ提供装置が備える送信手段にて実現される処理の一例に対応する。また、オフセット値を表すデータは、更新先位置データの一例に対応する。また、記憶デバイス13は、情報端末が備える記憶手段の一例に対応し、制御デバイス19が実行する更新処理は、情報端末が備える更新手段にて実現される処理の一例に対応する。
【符号の説明】
【0117】
1…地図更新システム、10…ナビゲーション装置、11…位置検出デバイス、13…記憶デバイス、15…操作デバイス、16…音声出力デバイス、17…表示デバイス、19…制御デバイス、19a…CPU、19b…ROM、19c…RAM、20…通信デバイス、40…無線局、50…配信システム、60…通信デバイス、70…情報処理装置、70a…CPU、70b…記憶デバイス、80…データベース装置
【特許請求の範囲】
【請求項1】
IDコードが割り当てられた単位データの一群により構成される地図データを記憶する情報端末に対し、前記情報端末に前記地図データを更新させるための指示データを送信する送信手段を備えたデータ提供装置であって、
前記送信手段は、更新対象の前記単位データに対応する前記IDコードと、この単位データにおける更新対象エリアの位置が記述された詳細指示データの一群と、を備えた指示データであって、前記詳細指示データの一群が配列された構成の前記指示データを、更新対象の前記単位データ毎に送信する構成され、
前記指示データが備える前記詳細指示データの夫々は、前記単位データ内における前記更新対象エリアの位置を表す更新先位置データと、この更新対象エリアに上書きするデータである上書きデータと、を有し、
配列順が先頭の前記詳細指示データは、前記更新対象の単位データ先頭を基点とした前記基点からの相対位置によって、前記更新対象エリアの位置が記述されてなる前記更新先位置データを有し、
配列順が先頭以外の前記詳細指示データの夫々は、前記配列順が一つ前の前記詳細指示データが有する前記更新先位置データが示す位置を基点とした当該基点からの相対位置により、前記更新対象エリアの位置が記述されてなる前記更新先位置データを有すること
を特徴とするデータ提供装置。
【請求項2】
前記更新先位置データは、記述可能な前記相対位置の範囲に上限のある固定長のデータとして構成され、
前記指示データは、前記基点からの相対位置が前記上限を超える特殊な前記詳細指示データに関しては、前記詳細指示データの一群が配列されてなる配列データ内における前記特殊な詳細指示データの直前に、ダミーデータを備える構成にされ、
前記ダミーデータは、前記詳細指示データと同一様式のデータとして構成され、前記配列データにおいて後続する前記特殊な詳細指示データの更新対象エリアと、この特殊な詳細指示データに対応する前記基点との中間地点の位置を表すデータを、前記更新先位置データとして有し、
前記ダミーデータに続く前記特殊な詳細指示データは、前記更新先位置データとして、前記基点からの相対位置に代えて、前記配列データ内において直前に位置する前記ダミーデータが示す前記中間地点からの相対位置が記述されてなるデータを有すること
を特徴とする請求項1記載のデータ提供装置。
【請求項3】
前記ダミーデータは、前記更新先位置データを備える一方で前記上書きデータを備えない構成のデータ、又は、前記更新先位置データ及び前記上書きデータを備えるものの前記上書きデータが前記更新対象エリアの更新前データと同一内容であるデータとして構成されていること
を特徴とする請求項2記載のデータ提供装置。
【請求項4】
前記詳細指示データの夫々は、固定長のデータであること
を特徴とする請求項1〜請求項3のいずれか一項記載のデータ提供装置。
【請求項5】
請求項1記載のデータ提供装置から送信される前記指示データを受信可能な情報端末であって、
前記地図データを記憶する記憶手段と、
前記データ提供装置から受信した前記指示データに基づき、前記記憶手段が記憶する前記地図データを更新する更新手段と、
を備え、
前記更新手段は、前記受信した前記指示データが備える前記詳細指示データを配列順に参照し、各詳細指示データの参照時には、参照先の前記詳細指示データが有する前記更新先位置データ及び前記参照先よりも配列順の若い前記詳細指示データが有する前記更新先位置データの夫々が示す前記相対位置の累積値を算出することにより、前記参照先の詳細指示データに対応する前記更新対象エリアを特定し、前記単位データにおける特定した前記更新対象エリア内のデータを、前記参照先の詳細指示データが備える前記上書きデータにより更新することによって、前記指示データに基づく前記地図データの更新動作を実現すること
を特徴とする情報端末。
【請求項6】
請求項2又は請求項3記載のデータ提供装置から送信される前記指示データを受信可能な情報端末であって、
前記地図データを記憶する記憶手段と、
前記データ提供装置から受信した前記指示データに基づき、前記記憶手段が記憶する前記地図データを更新する更新手段と、
を備え、
前記更新手段は、前記受信した前記指示データが備える前記詳細指示データを配列順に参照し、各詳細指示データの参照時には、参照先の前記詳細指示データと、前記参照先よりも配列順の若い前記詳細指示データ及び前記ダミーデータと、が備える前記更新先位置データが示す前記相対位置の累積値を算出することにより、前記参照先の詳細指示データに対応する前記更新対象エリアを特定し、前記単位データにおける特定した前記更新対象エリア内のデータを、前記参照先の詳細指示データが備える前記上書きデータにより更新することによって、前記指示データに基づく前記地図データの更新動作を実現すること
を特徴とする情報端末。
【請求項7】
請求項1記載のデータ提供装置と、
請求項5記載の情報端末と、
を備えることを特徴とする地図更新システム。
【請求項8】
請求項2又は請求項3記載のデータ提供装置と、
請求項6記載の情報端末と、
を備えることを特徴とする地図更新システム。
【請求項9】
IDコードが割り当てられた単位データの一群により構成される地図データを記憶する情報端末に、前記地図データを更新させるための指示データを生成する生成手段を備えたデータ生成装置であって、
前記生成手段は、更新対象の前記単位データ毎に、更新対象の前記単位データに対応する前記IDコードと、この単位データにおける更新対象エリアの位置が記述された詳細指示データの一群と、を備える前記指示データであって、前記詳細指示データの一群が配列された構成の前記指示データを生成し、
前記詳細指示データとしては、前記単位データ内における前記更新対象エリアの位置を表す更新先位置データと、この更新対象エリアに上書きするデータである上書きデータと、を備えるデータを生成し、
配列順が先頭の前記詳細指示データとしては、前記更新対象の単位データ先頭を基点とした前記基点からの相対位置によって、前記更新対象エリアの位置を記述した前記更新先位置データを格納したデータを生成し、
配列順が先頭以外の前記詳細指示データについては、前記配列順が一つ前の前記詳細指示データが有する前記更新先位置データが示す位置を基点とした当該基点からの相対位置により、前記更新対象エリアの位置を記述した前記更新先位置データを格納した前記詳細指示データを生成すること
を特徴とするデータ生成装置。
【請求項1】
IDコードが割り当てられた単位データの一群により構成される地図データを記憶する情報端末に対し、前記情報端末に前記地図データを更新させるための指示データを送信する送信手段を備えたデータ提供装置であって、
前記送信手段は、更新対象の前記単位データに対応する前記IDコードと、この単位データにおける更新対象エリアの位置が記述された詳細指示データの一群と、を備えた指示データであって、前記詳細指示データの一群が配列された構成の前記指示データを、更新対象の前記単位データ毎に送信する構成され、
前記指示データが備える前記詳細指示データの夫々は、前記単位データ内における前記更新対象エリアの位置を表す更新先位置データと、この更新対象エリアに上書きするデータである上書きデータと、を有し、
配列順が先頭の前記詳細指示データは、前記更新対象の単位データ先頭を基点とした前記基点からの相対位置によって、前記更新対象エリアの位置が記述されてなる前記更新先位置データを有し、
配列順が先頭以外の前記詳細指示データの夫々は、前記配列順が一つ前の前記詳細指示データが有する前記更新先位置データが示す位置を基点とした当該基点からの相対位置により、前記更新対象エリアの位置が記述されてなる前記更新先位置データを有すること
を特徴とするデータ提供装置。
【請求項2】
前記更新先位置データは、記述可能な前記相対位置の範囲に上限のある固定長のデータとして構成され、
前記指示データは、前記基点からの相対位置が前記上限を超える特殊な前記詳細指示データに関しては、前記詳細指示データの一群が配列されてなる配列データ内における前記特殊な詳細指示データの直前に、ダミーデータを備える構成にされ、
前記ダミーデータは、前記詳細指示データと同一様式のデータとして構成され、前記配列データにおいて後続する前記特殊な詳細指示データの更新対象エリアと、この特殊な詳細指示データに対応する前記基点との中間地点の位置を表すデータを、前記更新先位置データとして有し、
前記ダミーデータに続く前記特殊な詳細指示データは、前記更新先位置データとして、前記基点からの相対位置に代えて、前記配列データ内において直前に位置する前記ダミーデータが示す前記中間地点からの相対位置が記述されてなるデータを有すること
を特徴とする請求項1記載のデータ提供装置。
【請求項3】
前記ダミーデータは、前記更新先位置データを備える一方で前記上書きデータを備えない構成のデータ、又は、前記更新先位置データ及び前記上書きデータを備えるものの前記上書きデータが前記更新対象エリアの更新前データと同一内容であるデータとして構成されていること
を特徴とする請求項2記載のデータ提供装置。
【請求項4】
前記詳細指示データの夫々は、固定長のデータであること
を特徴とする請求項1〜請求項3のいずれか一項記載のデータ提供装置。
【請求項5】
請求項1記載のデータ提供装置から送信される前記指示データを受信可能な情報端末であって、
前記地図データを記憶する記憶手段と、
前記データ提供装置から受信した前記指示データに基づき、前記記憶手段が記憶する前記地図データを更新する更新手段と、
を備え、
前記更新手段は、前記受信した前記指示データが備える前記詳細指示データを配列順に参照し、各詳細指示データの参照時には、参照先の前記詳細指示データが有する前記更新先位置データ及び前記参照先よりも配列順の若い前記詳細指示データが有する前記更新先位置データの夫々が示す前記相対位置の累積値を算出することにより、前記参照先の詳細指示データに対応する前記更新対象エリアを特定し、前記単位データにおける特定した前記更新対象エリア内のデータを、前記参照先の詳細指示データが備える前記上書きデータにより更新することによって、前記指示データに基づく前記地図データの更新動作を実現すること
を特徴とする情報端末。
【請求項6】
請求項2又は請求項3記載のデータ提供装置から送信される前記指示データを受信可能な情報端末であって、
前記地図データを記憶する記憶手段と、
前記データ提供装置から受信した前記指示データに基づき、前記記憶手段が記憶する前記地図データを更新する更新手段と、
を備え、
前記更新手段は、前記受信した前記指示データが備える前記詳細指示データを配列順に参照し、各詳細指示データの参照時には、参照先の前記詳細指示データと、前記参照先よりも配列順の若い前記詳細指示データ及び前記ダミーデータと、が備える前記更新先位置データが示す前記相対位置の累積値を算出することにより、前記参照先の詳細指示データに対応する前記更新対象エリアを特定し、前記単位データにおける特定した前記更新対象エリア内のデータを、前記参照先の詳細指示データが備える前記上書きデータにより更新することによって、前記指示データに基づく前記地図データの更新動作を実現すること
を特徴とする情報端末。
【請求項7】
請求項1記載のデータ提供装置と、
請求項5記載の情報端末と、
を備えることを特徴とする地図更新システム。
【請求項8】
請求項2又は請求項3記載のデータ提供装置と、
請求項6記載の情報端末と、
を備えることを特徴とする地図更新システム。
【請求項9】
IDコードが割り当てられた単位データの一群により構成される地図データを記憶する情報端末に、前記地図データを更新させるための指示データを生成する生成手段を備えたデータ生成装置であって、
前記生成手段は、更新対象の前記単位データ毎に、更新対象の前記単位データに対応する前記IDコードと、この単位データにおける更新対象エリアの位置が記述された詳細指示データの一群と、を備える前記指示データであって、前記詳細指示データの一群が配列された構成の前記指示データを生成し、
前記詳細指示データとしては、前記単位データ内における前記更新対象エリアの位置を表す更新先位置データと、この更新対象エリアに上書きするデータである上書きデータと、を備えるデータを生成し、
配列順が先頭の前記詳細指示データとしては、前記更新対象の単位データ先頭を基点とした前記基点からの相対位置によって、前記更新対象エリアの位置を記述した前記更新先位置データを格納したデータを生成し、
配列順が先頭以外の前記詳細指示データについては、前記配列順が一つ前の前記詳細指示データが有する前記更新先位置データが示す位置を基点とした当該基点からの相対位置により、前記更新対象エリアの位置を記述した前記更新先位置データを格納した前記詳細指示データを生成すること
を特徴とするデータ生成装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図12】
【図13】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図12】
【図13】
【図10】
【公開番号】特開2012−208402(P2012−208402A)
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願番号】特願2011−75407(P2011−75407)
【出願日】平成23年3月30日(2011.3.30)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願日】平成23年3月30日(2011.3.30)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
[ Back to top ]