以下、本発明に係るサーバ装置、通信端末、情報配信システム及びコンピュータプログラムを具体化した実施形態について図面を参照しつつ詳細に説明する。先ず、本実施形態に係るサーバ装置と通信端末を含む情報配信システム1の概略構成について図1及び図2を用いて説明する。図1は本実施形態に係る情報配信システム1を示した概略構成図である。図2は本実施形態に係る情報配信システム1の構成を示したブロック図である。
図1に示すように、本実施形態に係る情報配信システム1は、地図情報センタ2が備えるサーバ装置3と、ユーザ4が所持する通信端末5と、を基本的に有する。また、サーバ装置3と通信端末5は通信ネットワーク網6を介して互いに電子データを送受信可能に構成されている。尚、通信端末5としては例えば携帯電話機、スマートフォン、タブレット型端末、パーソナルコンピュータ、ナビゲーション装置等がある。また、ユーザ4は車両に乗車している状態であっても良いし、車両に乗車していない状態であっても良い。
ここで、サーバ装置3は、通信端末5の要求に応じて経路探索の実行を行う。具体的には、通信端末5において目的地が設定された場合や経路の再探索(リルート)を行う場合に、通信端末5からサーバ装置3へと出発地や目的地等の経路探索に必要な情報が経路探索要求とともに送信される(但し、再探索の場合には目的地に関する情報は必ずしも送信する必要は無い)。そして経路探索要求を受信したサーバ装置3は、サーバ装置3の有する地図情報を用いて経路探索を行い、出発地から目的地までの推奨経路を特定する。その後、特定された推奨経路を要求元の通信端末5へと送信する。そして、通信端末5は受信した推奨経路を案内経路に設定し、案内経路に従って移動案内を行う。それによって、経路探索時点において通信端末5が有する地図情報が古いバージョンの地図情報であったとしても、サーバ装置3が有する最新バージョンの地図情報に基づいて適切な案内経路を設定することが可能となる。
また、サーバ装置3は、上記探索経路の配信に加えて、通信端末5においてユーザの移動案内を行う為の移動案内情報についても通信端末5の要求に応じて配信する。尚、移動案内情報は、最新バージョンの地図情報に基づいて作成され、後述のように最新バージョンの地図情報に対応して通信端末5における現在位置の特定、案内経路に沿った走行案内、画像の表示を行う為の情報である。そして、通信端末5はサーバ装置3から配信された移動案内情報を用いることによって、通信端末5が有する地図情報が古いバージョンの地図情報であったとしても、最新バージョンの地図情報に基づいてサーバ装置3において探索された案内経路に沿った移動案内を実施することが可能となる。
一方、通信端末5は、ユーザ4が所持し、ナビ機能を備えた情報端末が用いられ、例えば携帯電話機、スマートフォン、タブレット型端末、パーソナルコンピュータ、ナビゲーション装置等が該当する。
ここで、ナビ機能は、ユーザが指定した条件に該当する経路を探索したり、ユーザ4の現在位置周辺の地図画像を表示したり、表示された地図画像中においてユーザ4の現在位置を表示したり、設定された案内経路に沿った移動案内を行う機能が該当する。尚、上記ナビ機能の全てを通信端末5が備えている必要はなく、少なくともユーザの移動案内を行う機能を有していれば本願発明を構成することが可能である。
また、通信ネットワーク網6は全国各地に配置された多数の基地局と、各基地局を管理及び制御する通信会社とを含み、基地局及び通信会社を有線(光ファイバー、ISDN等)又は無線で互いに接続することにより構成されている。ここで、基地局は通信端末5との通信をするトランシーバー(送受信機)とアンテナを有する。そして、基地局は通信会社の間で無線通信を行う一方、通信ネットワーク網6の末端となり、基地局の電波が届く範囲(セル)にある通信端末5の通信をサーバ装置3との間で中継する役割を持つ。
続いて、情報配信システム1におけるサーバ装置3の構成について図2を用いてより詳細に説明する。サーバ装置3は、図2に示すようにサーバ制御ECU11と、サーバ制御ECU11に接続された情報記録手段としての装置側地図DB12と、サーバ側通信装置13とを備える。
サーバ制御ECU11(エレクトロニック・コントロール・ユニット)は、サーバ装置3の全体の制御を行う電子制御ユニットであり、演算装置及び制御装置としてのCPU21、並びにCPU21が各種の演算処理を行うにあたってワーキングメモリとして使用されるRAM22、制御用のプログラムのほか、後述のバージョン比較情報生成処理プログラム(図6参照)及び移動案内処理プログラム(図9、図10参照)等が記録されたROM23、ROM23から読み出したプログラムを記憶するフラッシュメモリ24等の内部記憶装置を備えている。尚、サーバ制御ECU11は、後述の通信端末5のECUとともに処理アルゴリズムとしての各種手段を有する。例えば、比較情報生成手段は、地図情報の区画単位毎にベースバージョンの地図情報に対してサーバ装置3が有する最も新しいバージョンの地図情報を比較したバージョン比較情報を生成する。バージョン受信手段は、通信端末5から通信端末5が有する地図情報のベースバージョンを特定する情報を受信する。比較情報配信手段は、通信端末5が有する地図情報のベースバージョンに対応するバージョン比較情報を通信端末5に配信する。
また、装置側地図DB12は、外部からの入力データや入力操作に基づいて登録及び更新された最新のバージョンの地図情報と最新のバージョンの1つ前のバージョンの地図情報とが装置側地図情報25として、エリア毎(例えば20km四方のレベル10のメッシュ毎)に区分されて記憶される記憶手段である。ここで、バージョンとは地図情報が作成された時期、最終的な更新が行われた時期、又は最終的な更新を行った際の地図更新情報(更新プログラム)が作成された時期を特定する為の作成時期情報であり、バージョンを参照することによって地図情報が作成された時期等を特定することが可能となっている。
ここで、本実施形態では地図情報のバージョンとして、基準となるベースバージョンとベースバージョン以外のバージョンが存在する。ベースバージョンは、所定期間経過毎(例えば半年毎)に実施される地図情報の全体を更新する全体更新(刷新)がされた時点の地図情報のバージョンである。従って、所定期間経過毎に新たなベースバージョンの地図情報が登録されることとなる。そして、ベースバージョンの地図情報はその後に新たなベースバージョンが登録されるまでの間において、以後に行われる差分更新の基準となる。一方、ベースバージョン以外のバージョンは、ベースバージョンの地図情報を基礎として地図情報の一部を更新する差分更新が行われた時点の地図情報のバージョンが該当する。そして、図3に示すようにサーバ装置3における地図情報の更新は、全体更新が行われた後に1回又は複数回の差分更新を行うという工程が繰り返し行われ、地図情報が順次更新される。
例えば、図3に示す例では初期の地図情報である「ver.01」の地図情報に基づいて地図情報が差分更新により順次更新され、「ver.02」、「ver.03」、「ver.04」の順に地図情報のバージョンが更新される。そして、「ver.04」の地図情報から全体更新が行われて「ver.05」の地図情報となる。その後は、「ver.01」の地図情報ではなく「ver.05」の地図情報に基づいて地図情報が差分更新により順次更新され、「ver.06」、「ver.07」、「ver.08」の順に地図情報のバージョンが更新される。そして、「ver.08」の地図情報から全体更新が行われて「ver.09」の地図情報となる。更に「ver.09」の地図情報に基づいて地図情報が差分更新により順次更新され、「ver.10」、「ver.11」、「ver.12」の順に地図情報のバージョンが更新され、現時点での最新のバージョンは「ver.12」の地図情報である。図3に示す例では「ver.01」、「ver.05」、「ver.09」がそれぞれベースバージョンとなる。
尚、装置側地図DB12には上述したように基本的に最新のバージョンの地図情報と最新のバージョンの1つ前のバージョンの地図情報(図3に示す例では「ver.11」と「ver.12」の地図情報)とが装置側地図情報25として格納されるが、それ以前の古いバージョンの地図情報についても格納する構成としても良い。
また、上記装置側地図情報25は、通信端末5に格納されている地図情報と基本的に同一の構成を有しており、道路網を始めとして経路探索、経路案内及び地図表示に必要な各種情報から構成されている。例えば、道路(リンク)に関するリンクデータ、ノード点に関するノードデータ、各交差点に関する交差点データ、施設等の地点に関する地点データ、地図を表示するための地図表示データ、経路を探索するための探索データ、地点を検索するための検索データ等からなる。
探索データとしては、後述のように出発地(例えば車両の現在位置)から設定された目的地までの経路を探索する経路探索処理に使用される各種データについて記録されている。例えば、交差点に対する経路として適正の程度を数値化したコスト(以下、交差点コストという)や道路を構成するリンクに対する経路として適正の程度を数値化したコスト(以下、リンクコストという)等の探索コストを算出する為に使用するコスト算出データが記憶されている。
また、装置側地図DB12には、上記装置側地図情報25とは別に最新バージョンの地図情報に対応して通信端末5において現在位置の特定や案内経路に沿った走行案内を行う為の情報である移動案内情報26についてもエリア毎(例えば2.5km四方のレベル13のメッシュ毎)に区分されて記憶されている。
ここで、移動案内情報26は、ユーザの現在位置のマップマッチングを行うのに必要となるマッチングデータと、案内交差点での右左折案内等の案内経路に沿ってユーザに移動を行わせる為の案内に必要となる案内データと、地図画像や案内画面を表示する為の表示データとを含む。尚、マッチングデータは例えば道路形状を特定する為のデータからなる。また、案内データは例えば交差点の形状や交差点と道路の接続関係を特定する為のデータからなる。また、表示データは、通信端末5のディスプレイに道路網を含む地図画像や移動案内を行う為の案内画面を表示する為のデータからなる。
更に、装置側地図DB12には、地図情報の区画単位毎(例えばメッシュ毎)にベースバージョンの地図情報に対してサーバ装置3が有する最も新しいバージョンの地図情報を比較したバージョン比較情報27についても記憶されている。尚、ベースバージョンが複数ある場合には、複数のベースバージョン毎にベースバージョンの地図情報に対してサーバ装置3が有する最も新しいバージョンの地図情報を比較したバージョン比較情報27が記憶される。例えば、図3に示す例では「ver.01」と「ver.12」を比較したバージョン比較情報27と、「ver.05」と「ver.12」を比較したバージョン比較情報27と、「ver.09」と「ver.12」を比較したバージョン比較情報27とが装置側地図DB12に記憶される。
ここで、本実施形態に係るバージョン比較情報27は、具体的にはベースバージョンの地図情報に対してサーバ装置3が有する最も新しいバージョンの地図情報が更新された区画(以下、更新対象エリアという)を特定した情報である。より具体的には、地図情報の区画単位(例えばメッシュ単位)毎に、更新対象エリアに該当する区画と、更新対象エリアに該当しない区画とを識別するフラグを対応付けたテーブルである。図4にバージョン比較情報27の一例を示す。
図4では、ベースバージョンの地図情報28が作成された後に道路の新設があり、ベースバージョンの地図情報28を構成する各メッシュの内、該当するエリアの計6か所のメッシュが以前のバージョン“50”から新たなバージョン“60”へと差分更新された最新の地図情報29をサーバ装置3が有する状況を示す。図4に示す状況では、ベースバージョンの地図情報に対してサーバ装置3が有する最も新しいバージョンの地図情報が更新された区画となる更新対象エリアが存在する。そこで、図4に示すようにバージョン比較情報27は、メッシュ単位で更新対象エリアに該当する区画と、更新対象エリアに該当しない区画とを識別するフラグを対応付ける。具体的には、更新対象エリアに該当するメッシュに対しては“0”を対応付け、更新対象エリアに該当しないメッシュに対しては“1”を対応付ける。尚、図4に示す例では、説明を簡略化する為に5×5のメッシュを対象としたバージョン比較情報27を示しているが、実際のバージョン比較情報27は全国エリアを構成する各メッシュ(メッシュが複数階層からなる場合にはエリア毎且つ階層毎)を対象としてフラグを対応付けたテーブルとなる。
そして、サーバ装置3は後述のように通信端末5に対して、装置側地図DB12に格納されたバージョン比較情報27の内、該通信端末5が有する地図情報のベースバージョンに対応するバージョン比較情報27を配信する。その結果、通信端末5では配信されたバージョン比較情報27を参照することによって、更新対象エリア(即ち通信端末5の有する地図情報に対してサーバ装置3が有する最も新しいバージョンの地図情報が更新されたエリア)を容易に特定することが可能となる。尚、バージョン比較情報27におけるエリアの区画基準は、サーバ装置3と通信端末5とで共通する基準を用いる。
また、サーバ装置3は通信端末5から経路探索要求を受信した場合には、装置側地図情報25を用いて出発地から目的地までの経路探索を行う。そして、探索された経路を要求のあった通信端末5へと配信する。また、サーバ制御ECU11は、移動案内情報26についても必要に応じて通信端末5に対して配信を行う。具体的には、通信端末5が今後に移動する可能性のあるエリア(例えば、通信端末5の現在位置周辺、通信端末5で設定された案内経路の周辺)であって、バージョン比較情報27によって特定される更新対象エリアを対象として、対象エリアの移動案内情報26を通信端末5に対して配信するように構成する。
一方、サーバ側通信装置13は通信端末5と通信ネットワーク網6を介して通信を行う為の通信装置である。また、通信端末5以外にインターネット網や、交通情報センタ、例えば、VICS(登録商標:Vehicle Information and Communication System)センタやプローブセンタ等から送信された渋滞情報、規制情報、交通事故情報等の各情報から成る交通情報の受信についても可能である。
次に、通信端末5の概略構成について図5を用いて説明する。尚、以下の説明では通信端末5として車両に設置されたナビゲーション装置を用い、移動体として特に車両の走行案内を行う場合を例に挙げて説明する。但し、ナビゲーション装置の代わりに、携帯電話機、タブレット型端末、パーソナルコンピュータ等を用いても良い。また、携帯電話機、タブレット型端末を用いる場合には、車両以外の移動体(例えば、歩行者、自転車等)の移動案内を行うことも可能である。図5は本実施形態に係る通信端末5であるナビゲーション装置の制御系を模式的に示すブロック図である。
図5に示すように本実施形態に係る通信端末5は、通信端末5であるナビゲーション装置が搭載された車両(移動体)の現在位置を検出する現在位置検出部31と、各種のデータが記録されたデータ記録部32と、入力された情報に基づいて、各種の演算処理を行うナビゲーションECU33と、ユーザからの操作を受け付ける操作部34と、ユーザに対して地図や目的地までの案内経路を表示する液晶ディスプレイ35と、経路案内に関する音声ガイダンスを出力するスピーカ36と、記憶媒体であるDVDを読み取るDVDドライブ37と、サーバ装置3やVICSセンタ等との間で通信を行う通信モジュール38と、を有する。
以下に、通信端末5を構成する各構成要素について順に説明する。
現在位置検出部31は、GPS41、車速センサ42、ステアリングセンサ43、ジャイロセンサ44等からなり、現在の車両の位置、方位、車両の走行速度、現在時刻等を検出することが可能となっている。ここで、特に車速センサ42は、車両の移動距離や車速を検出する為のセンサであり、車両の駆動輪の回転に応じてパルスを発生させ、パルス信号をナビゲーションECU33に出力する。そして、ナビゲーションECU33は発生するパルスを計数することにより駆動輪の回転速度や移動距離を算出する。尚、上記4種類のセンサを通信端末5が全て備える必要はなく、これらの内の1又は複数種類のセンサのみを通信端末5が備える構成としても良い。
また、データ記録部32は、外部記憶装置及び記録媒体としてのハードディスク(図示せず)と、ハードディスクに記録された端末側地図DB45、バージョン管理DB46、キャッシュ47及び所定のプログラム等を読み出すとともにハードディスクに所定のデータを書き込む為のドライバである記録ヘッド(図示せず)とを備えている。尚、データ記録部32をハードディスクの代わりに不揮発性メモリ、メモリーカード、CDやDVD等の光ディスクにより構成しても良い。
ここで、端末側地図DB45は、通信端末5における経路探索や走行案内に用いられる端末側地図情報48が記憶される記憶手段である。
ここで、端末側地図DB45に記憶される端末側地図情報48は、前記した装置側地図情報25と同様に道路網を始めとして経路探索、経路案内及び地図表示に必要な各種情報から構成されており、例えば、道路(リンク)に関するリンクデータ、ノード点に関するノードデータ、各交差点に関する交差点データ、施設等の地点に関する地点データ、地図を表示するための地図表示データ、経路を探索するための探索データ、地点を検索するための検索データ等からなる。
また、端末側地図DB45に記憶される端末側地図情報48は、不図示の地図配信サーバから配信された地図更新情報や記録メディアから取得した地図更新情報に基づいて、該当箇所のデータを新たなデータに書き換えることによって新たなバージョンの地図情報に更新される。地図情報の更新は地図情報の一部のみを更新する差分更新に加えて、地図情報の全体を対象とした全体更新についても行われる。尚、端末側地図情報48の更新はユーザの任意により行われるのが一般的であるので、端末側地図情報48は必ずしも最新のバージョンの地図情報であるとは限らない。即ち、通信端末5が有する端末側地図情報48とサーバ装置3が有する端末側地図DB45のバージョンが異なる場合も多い。また、本実施形態では前述したように地図情報のバージョンとして、ベースバージョンとベースバージョン以外のバージョンが存在する(図3参照)。端末側地図情報48の更新状況によって、端末側地図情報48はベースバージョンの地図情報である場合もあれば、ベースバージョン以外のバージョンの地図情報である場合もある。
また、端末側地図DB45には、端末側地図情報48に対応して通信端末5において現在位置の特定、案内経路に沿った走行案内、画像の表示を行う為の移動案内情報26についてもエリア毎(例えば2.5km四方のレベル13のメッシュ毎)に区分されて記憶されている。尚、移動案内情報26は端末側地図情報48に含まれるように構成しても良い。
また、バージョン管理DB46は、現在、端末側地図DB45に記憶されている現在の端末側地図情報48のバージョンを特定する情報(例えばバージョン番号、最終更新日時、最終的な更新を行った地図更新情報(更新プログラム)の作成日時等)について記憶される。また、“端末側地図情報48のベースバージョン”を特定する情報についても記憶される。端末側地図情報48がベースバージョンの地図情報(例えば図3の「ver.09」)である場合には、当該ベースバージョンが“端末側地図情報48のベースバージョン”に該当する。一方、端末側地図情報48がベースバージョン以外のバージョンの地図情報(例えば図3の「ver.10」)である場合には、当該バージョンの基礎となるベースバージョンが“端末側地図情報48のベースバージョン”に該当する。例えば、図3に示すようにバージョンが更新される地図情報において、端末側地図情報48の現在のバージョンが「ver.10」である場合には、“端末側地図情報48のベースバージョン”は「ver.09」となる。
また、バージョン管理DB46には、サーバ装置3から配信されたバージョン比較情報27についても格納される。前述したようにバージョン比較情報27は、地図情報の区画単位毎(例えばメッシュ毎)にベースバージョンの地図情報に対してサーバ装置3が有する最も新しいバージョンの地図情報を比較した情報である(図4)。特にサーバ装置3からは通信端末5が有する地図情報のベースバージョンの地図情報に対してサーバ装置3が有する最も新しいバージョンの地図情報を比較した情報が配信される。
一方、キャッシュ47は、サーバ装置3から配信された移動案内情報26が一時的に保管される記憶手段である。本実施形態に係る情報配信システム1では、前述したように車両が今後に走行する可能性のあるエリア(例えば、車両の現在位置周辺、通信端末5で設定された案内経路の周辺)であって、バージョン比較情報27によって特定される更新対象エリアを対象として、移動案内情報26がサーバ装置3から配信され、キャッシュ47に記憶される。ここで、移動案内情報26は前述したように最新のバージョンの地図情報に対応して通信端末5において現在位置の特定、案内経路に沿った走行案内、画像の表示を行う為の情報である。
そして、ナビゲーションECU33は、更新対象エリア、即ち通信端末5のベースバージョンの地図情報に対してサーバ装置3が有する最も新しいバージョンの地図情報が更新された区画に関しては、端末側地図DB45に格納する地図情報や移動案内情報ではなく、キャッシュ47に格納された新しいバージョンの移動案内情報26を用いて車両の現在位置の特定、案内経路に沿った走行案内、画像の表示等を行う。
また、サーバ装置3から配信された移動案内情報26はキャッシュ47に累積的に格納される。そして、キャッシュ47の残容量が閾値以下となると、キャッシュ47に格納された移動案内情報26は、残存優先度の低いものから優先的に削除される。尚、残存優先度は、例えば車両の現在位置周辺に位置するエリアや、通信端末5で設定されている案内経路の周辺に位置するエリアの移動案内情報26が、それ以外のエリアの移動案内情報26よりも高く設定される。
一方、ナビゲーションECU(エレクトロニック・コントロール・ユニット)33は、通信端末5の全体の制御を行う電子制御ユニットであり、演算装置及び制御装置としてのCPU51、並びにCPU51が各種の演算処理を行うにあたってワーキングメモリとして使用されるとともに、経路が探索されたときの経路データ等が記憶されるRAM52、制御用のプログラムのほか、後述の移動案内処理プログラム(図9、図10参照)等が記録されたROM53、ROM53から読み出したプログラムを記憶するフラッシュメモリ54等の内部記憶装置を備えている。尚、ナビゲーションECU33は、サーバ装置3のECUとともに処理アルゴリズムとしての各種手段を有する。例えば、バージョン送信手段は、サーバ装置3に対して通信端末5が有する地図情報のベースバージョンを特定する情報を送信する。比較情報受信手段は、地図情報の区画単位毎にベースバージョンの地図情報に対してサーバ装置3が有する最も新しいバージョンの地図情報を比較したバージョン比較情報27の内、通信端末5が有する地図情報のベースバージョンに対応するバージョン比較情報27をサーバ装置3から受信する。
操作部34は、走行開始地点としての出発地及び走行終了地点としての目的地を入力する際等に操作され、各種のキー、ボタン等の複数の操作スイッチ(図示せず)を有する。そして、ナビゲーションECU33は、各スイッチの押下等により出力されるスイッチ信号に基づき、対応する各種の動作を実行すべく制御を行う。尚、操作部34は液晶ディスプレイ35の前面に設けたタッチパネルを有しても良い。また、マイクと音声認識装置を有しても良い。
また、液晶ディスプレイ35には、道路を含む地図画像、交通情報、操作案内、操作メニュー、キーの案内、出発地から目的地までの案内経路、案内経路に沿った案内情報、ニュース、天気予報、時刻、メール、テレビ番組等が表示される。尚、液晶ディスプレイ35の代わりに、HUDやHMDを用いても良い。
また、スピーカ36は、ナビゲーションECU33からの指示に基づいて案内経路に沿った走行を案内する音声ガイダンスや、交通情報の案内を出力する。
また、DVDドライブ37は、DVDやCD等の記録媒体に記録されたデータを読み取り可能なドライブである。そして、読み取ったデータに基づいて音楽や映像の再生、端末側地図DB45の更新等が行われる。尚、DVDドライブ37に替えてメモリーカードを読み書きする為のカードスロットを設けても良い。
また、通信モジュール38は、例えば、サーバ装置3やVICS(登録商標)センタやプローブセンタ等から送信された地図更新情報、経路情報、移動案内情報、交通情報等の各情報を受信する為の通信装置であり、例えば携帯電話機やDCMが該当する。
続いて、前記構成を有する情報配信システム1において、サーバ装置3が実行する比較情報生成処理プログラムについて図6に基づき説明する。図6は本実施形態に係る比較情報生成処理プログラムのフローチャートである。ここで、比較情報生成処理プログラムは、例えばサーバ装置3が有する装置側地図情報25を更新する際に実行され、更新された装置側地図情報25に基づいて新たなバージョン比較情報27を生成するプログラムである。尚、以下の図6にフローチャートで示されるプログラムは、サーバ装置3が備えているRAMやROMに記憶されており、CPU21により実行される。
先ず、ステップ(以下、Sと略記する)1において、CPU21は、外部からの入力データや入力操作に基づいて装置側地図DB12に格納された装置側地図情報25の更新を行う。尚、装置側地図情報25の更新は、現在のベースバージョンの地図情報を基礎として地図情報の一部のみを更新する差分更新と、地図情報の全体を更新する全体更新(刷新)がある。尚、更新が行われると更新後の地図情報は新たなバージョンの地図情報となる。特に全体更新が行われると更新後の地図情報は新たなベースバージョンの地図情報となる。
次に、S2においてCPU21は、前記S1の更新後の新たな装置側地図情報25(即ち最も新しいバージョンの装置側地図情報25)と更新前の装置側地図情報25(即ち最も新しいバージョンの1つ前のバージョンの装置側地図情報25)との差異に関する差異情報を取得する。
ここで、差異情報は、具体的には更新前の装置側地図情報25に対して更新後の装置側地図情報25が更新された区画(以下、更新実施エリアという)を特定した情報である。より具体的には、地図情報の区画単位(例えばメッシュ単位)毎に、更新実施エリアに該当する区画と、更新実施エリアに該当しない区画とを識別するフラグを対応付けたテーブルである。図7に差異情報の一例を示す。
図7では、更新前の装置側地図情報25が作成された後に道路の新設があり、装置側地図情報25の地図情報28を構成する各メッシュの内、該当するエリアの計4か所のメッシュについて以前のバージョンから新たなバージョン“70”へと差分更新する例を示す。差異情報61は、メッシュ単位で更新実施エリアに該当する区画と、更新実施エリアに該当しない区画とを識別するフラグを対応付ける。具体的には、更新実施エリアに該当する4か所のメッシュに対しては“0”を対応付け、更新実施エリアに該当しないそれ以外のメッシュに対しては“1”を対応付ける。尚、図7に示す例では、説明を簡略化する為に5×5のメッシュを対象とした差異情報61を示しているが、実際の差異情報61は全国エリアを構成する各メッシュ(メッシュが複数階層からなる場合にはエリア毎且つ階層毎)を対象としてフラグを対応付けたテーブルとなる。また、差異情報61は、更新前の装置側地図情報25と更新後の装置側地図情報25とを比較してサーバ装置3が生成する構成としても良いし、装置側地図情報25を更新する為の更新地図情報から生成する構成としても良い。更に、差異情報61を外部から取得する構成としても良い。
続いて、S3においてCPU21は、前記S1の更新前の装置側地図情報25(即ち最も新しいバージョンの1つ前のバージョンの装置側地図情報25)に対応するバージョン比較情報27を装置側地図DB12から読み出す。具体的には、地図情報の区画単位毎(例えばメッシュ毎)にベースバージョンの地図情報に対して更新前の装置側地図情報25を比較したバージョン比較情報27が該当し、前回の装置側地図情報25の更新時において後述のS4で生成される。尚、ベースバージョンが複数ある場合には、複数のベースバージョン毎にベースバージョンの地図情報に対して更新前の装置側地図情報25を比較したバージョン比較情報27を読み出す。
その後、S4においてCPU21は、前記S2で取得した差異情報61と前記S3で読み出した更新前の装置側地図情報25に対応するバージョン比較情報27とに基づいて、前記S1の更新後の装置側地図情報25(即ち最も新しいバージョンの装置側地図情報25)に対応するバージョン比較情報27を新たに生成する。具体的には、地図情報の区画単位毎(例えばメッシュ毎)にベースバージョンの地図情報に対して更新後の装置側地図情報25を比較したバージョン比較情報27を生成する。尚、ベースバージョンが複数ある場合には、複数のベースバージョン毎にベースバージョンの地図情報に対して更新後の装置側地図情報25を比較したバージョン比較情報27を生成する。例えば、図3に示す例では「ver.01」と「ver.12」を比較したバージョン比較情報27と、「ver.05」と「ver.12」を比較したバージョン比較情報27と、「ver.09」と「ver.12」を比較したバージョン比較情報27とが生成される。
以下に、図8を用いて前記S4のバージョン比較情報27の生成処理について説明する。具体的には図8に示すように前記S2で取得した差異情報61と前記S3で読み出した更新前の装置側地図情報25に対応するバージョン比較情報27とを合成することにより、新たなバージョン比較情報27を生成する。即ち、更新前の装置側地図情報25に対応するバージョン比較情報27に含まれる各フラグの内、差異情報61において更新実施エリアに指定されたメッシュ(図9に示す例では計4か所のメッシュ)に対応付けたフラグを“0”に書き換える。尚、更新実施エリアに指定されたメッシュの内、既にフラグが“0”であったメッシュに関しては“0”の状態で維持される。
そして、前記S4において生成された新たなバージョン比較情報27は、ベースバージョンの地図情報に対してサーバ装置3が有する最も新しいバージョンの地図情報が更新された区画となる更新対象エリアに該当する区画と、更新対象エリアに該当しない区画とを識別するフラグを対応付けたテーブルとなる。尚、前記S1において装置側地図情報25が特にベースバージョンの地図情報に更新される場合においては、ベースバージョンの地図情報とサーバ装置3が有する最も新しいバージョンの地図情報とが同一となるので、全区間に対して更新対象エリアに該当しないフラグを対応付けたテーブルとなる。
次に、S5においてCPU51は、前記S4で生成されたバージョン比較情報27を装置側地図DB12に格納する。尚、過去に作成されたバージョン比較情報27が装置側地図DB12に存在する場合には基本的に上書きするが、過去のバージョン比較情報27についても一定期間はDBに残すようにしても良い。
続いて、情報配信システム1において、サーバ装置3及び通信端末5が実行する移動案内処理プログラムについて図9及び図10に基づき説明する。図9及び図10は本実施形態に係る移動案内処理プログラムのフローチャートである。ここで、移動案内処理プログラムは、車両のACC電源(accessory power supply)がONされた後に実行され、出発地から目的地までの経路を探索するとともに案内経路に沿った走行案内を行うプログラムである。但し、通信端末5がナビゲーション装置以外である場合には、ACC電源ではなく通信端末5の本体電源が投入された後(起動後)に実行する。尚、以下の図9及び図10にフローチャートで示されるプログラムは、サーバ装置3や通信端末5が備えているRAMやROMに記憶されており、CPU21或いはCPU51により実行される。
先ず、図9及び図10に基づいて通信端末5のCPU51が実行する移動案内処理プログラムについて説明する。S11においてCPU51は、端末側地図情報48のベースバージョンに対応するバージョン比較情報27の要求(以下、比較情報要求という)をサーバ装置3へと送信する。前述したようにバージョン比較情報27は、地図情報の区画単位(例えばメッシュ単位)毎に、更新対象エリアに該当する区画と、更新対象エリアに該当しない区画とを識別するフラグを対応付けたテーブルである(図4)。
また、前記S11において送信される比較情報要求には、比較情報要求の送信元の通信端末5を特定する端末IDと、現時点の“端末側地図情報48のベースバージョン”を特定する情報とを含む。端末側地図情報48がベースバージョンの地図情報(例えば図3の「ver.09」)である場合には、当該ベースバージョンが“端末側地図情報48のベースバージョン”に該当する。一方、端末側地図情報48がベースバージョン以外のバージョンの地図情報(例えば図3の「ver.10」)である場合には、当該バージョンの基礎となるベースバージョンが“端末側地図情報48のベースバージョン”に該当する。例えば、図3に示すようにバージョンが更新される地図情報において、端末側地図情報48の現在のバージョンが「ver.10」である場合には、“端末側地図情報48のベースバージョン”は「ver.09」となる。尚、現時点の“端末側地図情報48のベースバージョン”を特定する情報についてはバージョン管理DB46に記憶されている。
次に、S12においてCPU51は、比較情報要求に応じてサーバ装置3から送信されたバージョン比較情報27を受信する。ここで、前記S2で受信するバージョン比較情報27は、前述した比較情報生成処理プログラム(図6)において作成され、“端末側地図情報48のベースバージョン”の地図情報に対してサーバ装置3が有する最も新しいバージョンの地図情報が更新された区画である更新対象エリアを特定する情報である。
続いて、S13においてCPU51は、前記S12においてサーバ装置3から受信したバージョン比較情報27をバージョン管理DB46に格納する。尚、過去に取得したバージョン比較情報27がバージョン管理DB46に存在する場合には基本的に上書きするが、過去のバージョン比較情報27についても一定期間はDBに残すようにしても良い。
次に、S14においてCPU51は、通信端末5において経路の目的地を設定する。尚、目的地は基本的に操作部34において受け付けたユーザの操作(例えば登録地点の読出操作、施設の検索や選択操作)に基づいて設定する。但し、再探索(リルート)を行う場合に関しては、目的地を新たに設定することなく通信端末5において現在設定されている目的地を継続して設定する。
続いて、S15においてCPU51は、車両の現在位置を現在位置検出部31の検出結果や地図情報に基づいて特定する。尚、車両の現在位置を特定する際には、車両の現在位置を地図情報にマッチングさせるマップマッチング処理について行う。車両の現在位置の特定は基本的に通信端末5が有する端末側地図情報48に基づいて行われるが、車両の現在位置するエリアの端末側地図情報48のバージョンが装置側地図情報25よりも古い場合(即ち更新対象エリアである場合)には、端末側地図DB45に格納する古いバージョンの地図情報や移動案内情報ではなく、キャッシュ47に格納された移動案内情報26を用いて特定する。但し、キャッシュ47に該当するエリアの移動案内情報26が無い場合には、端末側地図DB45に格納する古いバージョンの地図情報や移動案内情報を用いて特定する。
その後、S16においてCPU51は、前記S13においてバージョン管理DB46に格納されたバージョン比較情報27と前記S15で特定された車両の現在位置に基づいて、“車両の現在位置周辺の更新対象エリア”を特定する。具体的には、CPU51は、先ず車両が現在位置するメッシュを中心とした3×3の計9メッシュを車両の現在位置周辺のメッシュとして特定する。例えば、図11に示す例では車両が現在位置するメッシュは“メッシュQ”となるので、車両の現在位置周辺のメッシュは、メッシュQを中心としたメッシュK,L,M,P,Q,R,U,V,Wとなる。その後、バージョン比較情報27を参照してメッシュK,L,M,P,Q,R,U,V,Wが更新対象エリアに該当するか否か判定し、更新対象エリアに該当すると判定されたメッシュ、即ちバージョン比較情報27においてフラグ“0”が対応付けられたメッシュを“車両の現在位置周辺の更新対象エリア”に特定する。
続いて、S17においてCPU51は、前記S16で特定された“車両の現在位置周辺の更新対象エリア”を対象とした移動案内情報26の要求をサーバ装置3へと送信する。但し、通信端末5のキャッシュ47に対して既に同一の移動案内情報26が格納されているエリアは要求対象から除外する。ここで、移動案内情報26は前述したようにサーバ装置3の有する最新バージョンの地図情報に対応して、通信端末5において現在位置の特定、案内経路に沿った走行案内、画像の表示を行う為の情報である。尚、前記S17で送信される移動案内情報の要求には、移動案内情報の要求の送信元の通信端末5を特定する端末IDと、移動案内情報を要求する対象となるエリア(前記S16で特定された“車両の現在位置周辺の更新対象エリア”)を特定する情報(例えばメッシュ識別番号)を含む。
その後、S18においてCPU51は、移動案内情報26の要求に応じてサーバ装置3から送信された移動案内情報26を受信する。尚、移動案内情報26は、車両のマップマッチングを行うのに必要となるマッチングデータと、案内交差点での右左折案内等の案内経路に沿って車両に走行を行わせる為の案内に必要となる案内データと、地図画像や案内画面を表示する為の表示データとを含む。即ち、前記S18で受信する移動案内情報26は、車両の現在位置周辺の更新対象エリアにおいて現在位置の特定、案内経路に沿った走行案内、画像の表示を行う為の情報である。
その後、S19においてCPU51は、通信端末5が有する端末側地図情報48を用いて出発地から前記S14で設定された目的地までの経路探索処理を行い、出発地から目的地までの推奨経路(以下、端末推奨経路という)を特定する。具体的には、端末側地図情報48に含まれるリンクデータ、ノードデータ、探索データ等に基づいて、リンク(道路)に対する経路として適正の程度を数値化したリンクコストや、交差点(ノード)に対する経路として適正の程度を数値化した交差点コストや、走行に必要な費用の程度を数値化した料金コスト等を算出し、算出された各探索コストを用いて端末推奨経路の探索を行う。例えば公知のダイクストラ法を用い、コスト値の合計が最小となる経路を端末推奨経路とする。尚、ダイクストラ法を用いた経路探索処理は既に公知であるので詳細は省略する。また、出発地は車両の現在位置としても良いし、ユーザにより指定された任意の地点(例えば自宅)としても良い。
続いて、S20においてCPU51は、出発地から目的地への経路の探索を要求する為の経路探索要求をサーバ装置3へと送信する。ここで、経路探索要求には、経路探索要求の送信元の通信端末5を特定する端末IDと、経路探索の探索条件である出発地(例えば車両の現在位置)と前記S14で設定された目的地とを特定する情報と、前記S19で探索された端末推奨経路を特定する経路情報が含まれている。但し、車両が案内経路を外れたことに伴うリルート時においては、前回の探索時と目的地が基本的に同一となるので、目的地を特定する情報については送信しなくても良い。
また、端末推奨経路を特定する経路情報としては、端末推奨経路の全体を特定する情報を送信しても良いが、端末推奨経路の内、特に出発地から所定距離以内における出発地から先の連続する道路列を特定する情報のみを送信しても良い。
その後、S21においてCPU51は、経路探索要求に応じてサーバ装置3から送信された探索経路情報を受信する。ここで、前記S21で受信する探索経路情報は、前記S20で送信した経路探索要求に基づいてサーバ装置3が最新のバージョンの地図情報である装置側地図情報25を用いて探索した出発地から目的地までの推奨経路(以下、サーバ推奨経路という)に関する情報である。
続いて、S22においてCPU51は、前記S21で受信したサーバ推奨経路を通信端末5の案内経路に設定するか否かを判定する。尚、サーバ装置3からサーバ推奨経路を受信した場合には、基本的に受信したサーバ推奨経路を通信端末5の案内経路に設定する。但し、例えば通信エラー等によってサーバ装置3からサーバ推奨経路を受信できなかった場合については、前記S19において通信端末5が探索した端末推奨経路等のサーバ推奨経路以外の経路を通信端末5の案内経路に設定する。
そして、サーバ推奨経路以外の経路を通信端末5の案内経路に設定すると判定された場合(S22:NO)には、S23へと移行する。
S23においてCPU51は、例えば前記S19の経路探索処理によって探索された端末推奨経路を、通信端末5において車両の走行案内を行う対象となる案内経路として設定する。その後、設定された案内経路に基づいて車両の走行案内が開始される。例えば、自車位置周辺の道路網を含む地図画像を表示したり、右左折の対象となる案内分岐点が車両の所定距離手前に接近した場合には、案内分岐点の拡大図を表示したり、案内分岐点での車両の進行方向を案内する。また、前記S23においてCPU51は、基本的に端末側地図DB45に格納された端末側地図情報48や移動案内情報26に基づいて上記走行案内を行う。ここで、前記S19の経路探索処理によって探索された端末推奨経路は、通信端末5が有する端末側地図情報48に基づいて探索された経路であるので、サーバ装置3から取得する新しいバージョンの移動案内情報26でなく、旧バージョンの移動案内情報26を用いても車両の現在位置は正しい位置に特定し案内することができ、案内交差点では正しい車両の進行方向を案内することが可能となる。但し、サーバ装置3から取得した新しいバージョンの移動案内情報26が存在するエリアに関しては、それらの移動案内情報26を用いて上記走行案内を行ってもよい。
一方、前記S21で受信したサーバ推奨経路を通信端末5の案内経路に設定すると判定された場合(S22:YES)には、S24へと移行する。
S24においてCPU51は、前記S21で受信したサーバ推奨経路を、通信端末5において車両の走行案内を行う対象となる案内経路として設定する。その後、設定された案内経路に基づいて車両の走行案内が開始される。例えば、自車位置周辺の道路網を含む地図画像を表示したり、右左折の対象となる案内分岐点が車両の所定距離手前に接近した場合には、案内分岐点の拡大図を表示したり、案内分岐点での車両の進行方向を案内する。また、前記S24においてCPU51は、基本的に端末側地図DB45に格納された端末側地図情報48や移動案内情報26に基づいて上記走行案内を行う。但し、端末側地図DB45に格納された端末側地図情報48や移動案内情報26が、車両の現在位置周辺エリアや案内経路周辺エリアにおいて最新のバージョンでない場合については、サーバ装置3から取得してキャッシュ47に格納された移動案内情報26も用いて上記走行案内を行う。尚、移動案内情報26は、車両のマップマッチングを行うのに必要となるマッチングデータと、案内交差点での右左折案内等の案内経路に沿って車両に走行を行わせる為の案内に必要となる案内データと、地図画像や案内画面を表示する為の表示データとを含むので、端末側地図DB45に格納された端末側地図情報48や移動案内情報26が最新バージョンでなかったとしても、最新バージョンの地図情報に基づいて探索された案内経路に沿った走行案内を適切に実施することが可能となる。
続いて、S25においてCPU51は、現時点で通信端末5に設定されている案内経路を取得する。
次に、S26においてCPU51は、前記S13においてバージョン管理DB46に格納されたバージョン比較情報27と前記S25で取得した案内経路に基づいて、“案内経路周辺の更新対象エリア”を特定する。具体的には、CPU51は、先ず車両の現在位置から目的地方向へ所定距離L以内の案内経路の少なくとも一部を含むメッシュを、案内経路周辺のメッシュとして特定する。例えば、図12に示す例では車両の現在位置から目的地方向へ所定距離L以内の案内経路65の少なくとも一部を含むメッシュは、メッシュH、M、Q、Rとなる。その後、バージョン比較情報27を参照してメッシュH、M、R、Qが更新対象エリアに該当するか否か判定し、更新対象エリアに該当すると判定されたメッシュ、即ちバージョン比較情報27においてフラグ“0”が対応付けられたメッシュを“案内経路周辺の更新対象エリア”に特定する。
続いて、S27においてCPU51は、前記S26で特定された“案内経路周辺の更新対象エリア”を対象とした移動案内情報26の要求をサーバ装置3へと送信する。但し、通信端末5のキャッシュ47に対して既に同一の移動案内情報26が格納されているエリアは要求対象から除外する。尚、前記S27で送信される移動案内情報の要求には、移動案内情報の要求の送信元の通信端末5を特定する端末IDと、移動案内情報を要求する対象となるエリア(前記S26で特定された“案内経路周辺の更新対象エリア”)を特定する情報(例えばメッシュ識別番号)を含む。
その後、S28においてCPU51は、移動案内情報26の要求に応じてサーバ装置3から送信された移動案内情報26を受信する。尚、移動案内情報26は、車両のマップマッチングを行うのに必要となるマッチングデータと、案内交差点での右左折案内等の案内経路に沿って車両に走行を行わせる為の案内に必要となる案内データと、地図画像や案内画面を表示する為の表示データとを含む。即ち、前記S28で受信する移動案内情報26は、案内経路周辺の更新対象エリアにおいて現在位置の特定、案内経路に沿った走行案内、画像の表示を行う為の情報である。
その後、S29においてCPU51は、車両が地図情報の区画(例えばメッシュ)を跨いだか否かを判定する。
そして、車両が地図情報の区画を跨いだと判定された場合(S29:YES)には、S30へと移行する。それに対して、車両が地図情報の区画を跨いでいないと判定された場合(S29:NO)には、S33へと移行する。
S30においてCPU51は、前記S13においてバージョン管理DB46に格納されたバージョン比較情報27と車両の現在位置と前記S25で取得した案内経路に基づいて、“車両の現在位置周辺の更新対象エリア”及び“案内経路周辺の更新対象エリア”をそれぞれ特定する。尚、“車両の現在位置周辺の更新対象エリア”に特定についてはS16、“案内経路周辺の更新対象エリア”についてはS26と同様の処理であるので詳細は省略する。
続いて、S31においてCPU51は、前記S30で特定された“車両の現在位置周辺の更新対象エリア”及び“案内経路周辺の更新対象エリア”を対象とした移動案内情報26の要求をサーバ装置3へと送信する。但し、通信端末5のキャッシュ47に対して既に同一の移動案内情報26が格納されているエリアは要求対象から除外する。尚、前記S31で送信される移動案内情報の要求には、移動案内情報の要求の送信元の通信端末5を特定する端末IDと、移動案内情報を要求する対象となるエリア(前記S30で特定された“車両の現在位置周辺の更新対象エリア”及び“案内経路周辺の更新対象エリア”)を特定する情報(例えばメッシュ識別番号)を含む。
その後、S32においてCPU51は、移動案内情報26の要求に応じてサーバ装置3から送信された移動案内情報26を受信する。尚、移動案内情報26は、車両のマップマッチングを行うのに必要となるマッチングデータと、案内交差点での右左折案内等の案内経路に沿って車両に走行を行わせる為の案内に必要となる案内データと、地図画像や案内画面を表示する為の表示データとを含む。即ち、前記S32で受信する移動案内情報26は、車両の現在位置周辺の更新対象エリア及び案内経路周辺の更新対象エリアにおいて現在位置の特定、案内経路に沿った走行案内、画像の表示を行う為の情報である。
その後、S33においてCPU51は、車両が目的地に到達したか否かを判定する。
そして、車両が目的地に到達したと判定された場合(S33:YES)には、当該移動案内処理プログラムを終了する。それに対して、車両が目的地に到達していないと判定された場合(S33:NO)にはS29へと戻り、継続して移動案内情報の受信及び受信した移動案内情報を用いた走行案内を行う。
次に、サーバ装置3のCPU21が実行する移動案内処理プログラムについて説明する。
先ず、S41においてCPU21は、起動後の通信端末5から送信される比較情報要求を受信する。尚、比較情報要求には、テーブル更新要求の送信元の通信端末5を特定する端末IDと、現時点の“端末側地図情報48のベースバージョン”を特定する情報とが含まれている。
続いて、S42においてCPU21は、前記S41で受信した比較情報要求に基づいて、“端末側地図情報48のベースバージョン”に対応するバージョン比較情報27を装置側地図DB12から読み出す。ここで、バージョン比較情報27は、前述した比較情報生成処理プログラム(図6)において作成され、装置側地図DB12に格納される。特に、ベースバージョンが複数存在する場合には複数のベースバージョン毎にバージョン比較情報27が生成されるが、その内から“端末側地図情報48のベースバージョン”に対応するバージョン比較情報27を読み出す。
その後、S43においてCPU21は、前記S42で読み出したバージョン比較情報27を要求のあった通信端末5へと送信する。
次に、S44においてCPU21は、通信端末5から送信される移動案内情報26の要求を受信する。尚、移動案内情報26の要求には、移動案内情報の要求の送信元の通信端末5を特定する端末IDと、移動案内情報を要求する対象となるエリア(前記S16で特定された車両の現在位置周辺の更新対象エリア)を特定する情報(例えばメッシュ番号)とが含まれている。
続いて、S45においてCPU21は、前記S44で受信した移動案内情報26の要求に基づいて、装置側地図DB12から該当するエリアの移動案内情報26を抽出する。
その後、S46においてCPU21は、前記S45で抽出された移動案内情報26を要求のあった通信端末5へと送信する。
次に、S47においてCPU21は、通信端末5から送信される経路探索要求を受信する。尚、経路探索要求には、経路探索要求の送信元の通信端末5を特定する端末IDと、経路探索の探索条件である出発地(例えば車両の現在位置)と前記S14で設定された目的地とを特定する情報と、前記S19で探索された端末推奨経路を特定する経路情報が含まれている。
次に、S48においてCPU21は、前記S47で受信した経路探索要求と、サーバ装置3が有する装置側地図情報25とを用いて、出発地から目的地までの経路探索処理を行い、出発地から目的地までの推奨経路(サーバ推奨経路)を特定する。尚、サーバ推奨経路は、通信端末5で探索された端末推奨経路の少なくとも一部を含む経路となる。より具体的には、出発地から所定距離以内の端末推奨経路に接続する目的地までの経路を探索し、出発地から所定距離以内の端末推奨経路と探索された経路とを組み合わせた経路をサーバ推奨経路とする。
続いて、S49においてCPU21は、前記S48で特定したサーバ推奨経路を特定する探索経路情報を、経路探索要求の送信元の通信端末5に対して送信する。その結果、サーバ推奨経路が通信端末5において案内経路に設定されることとなる。
その後、S50においてCPU21は、案内経路が設定された後の通信端末5から送信される移動案内情報26の要求を受信する。尚、移動案内情報26の要求には、移動案内情報の要求の送信元の通信端末5を特定する端末IDと、移動案内情報を要求する対象となるエリア(前記S26で特定された案内経路周辺の更新対象エリア)を特定する情報(例えばメッシュ番号)とが含まれている。
続いて、S51においてCPU21は、前記S50で受信した移動案内情報26の要求に基づいて、装置側地図DB12から該当するエリアの移動案内情報26を抽出する。
その後、S52においてCPU21は、前記S51で抽出された移動案内情報26を要求のあった通信端末5へと送信する。
更に、S53においてCPU21は、地図情報の区画を跨いだ後の通信端末5から送信される移動案内情報26の要求を受信する。尚、移動案内情報26の要求には、移動案内情報の要求の送信元の通信端末5を特定する端末IDと、移動案内情報を要求する対象となるエリア(前記S30で特定された車両の現在位置周辺及び案内経路周辺の更新対象エリア)を特定する情報(例えばメッシュ番号)とが含まれている。
続いて、S54においてCPU21は、前記S53で受信した移動案内情報26の要求に基づいて、装置側地図DB12から該当するエリアの移動案内情報26を抽出する。
その後、S55においてCPU21は、前記S54で抽出された移動案内情報26を要求のあった通信端末5へと送信する。その結果、通信端末5では配信された移動案内情報26を用いて各種移動案内が行われる。
以上詳細に説明した通り、本実施形態に係る情報配信システム1、サーバ装置3、通信端末5及びサーバ装置3や通信端末5で実行されるコンピュータプログラムでは、バージョンが順次更新される地図情報において基準となるベースバージョンを規定するとともに、地図情報の区画単位毎にベースバージョンの地図情報に対してサーバ装置3が有する最も新しいバージョンの地図情報を比較したバージョン比較情報27を生成し(S4)、通信端末5の有する地図情報のベースバージョンに対応するバージョン比較情報27をサーバ装置3から通信端末5へと配信する(S41〜S43)ので、バージョン比較情報27の生成に係る処理負担を軽減化し、より小さいサイズでバージョン比較情報27の管理及び配信を行うことを可能とする。また、バージョン比較情報27を用いれば、例えば通信端末5が移動体の移動案内を行うのに必要な移動案内情報26をサーバ装置3から取得するまでに必要な時間を短縮化することができる。
尚、本発明は前記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。
例えば、本実施形態では、通信端末5はサーバ装置3から配信されたバージョン比較情報27を用いて、移動体の移動案内を行うのに必要な移動案内情報26を要求するエリアを特定する(S16、S26、S30)構成としているが、通信端末5ではサーバ装置3から配信されたバージョン比較情報27を他の用途に用いることも可能である。例えば、通信端末5が有する端末側地図情報48を更新する場合に、更新対象とするエリアを特定するのに用いても良い。その場合には、地図更新情報をサーバ装置から取得するまでに必要な時間を従来に比べて短縮化することができる。
また、本実施形態では、サーバ装置3から通信端末5へのバージョン比較情報27の配信に係る処理(S11〜S13、S41〜S43)を、通信端末5の電源がONされた後であって経路探索を行う前に実施する構成としているが、他のタイミングで実施しても良い。例えば、サーバ装置3が有する地図情報が更新されたタイミング、通信端末5が有する地図情報が更新されたタイミング、所定期間毎(例えば1か月毎)で実施しても良い。
また、本実施形態では、比較情報生成処理プログラム(図6)において、サーバ装置3が有する装置側地図情報25の更新(S1)を行った後に更新後の装置側地図情報25に対応するバージョン比較情報を生成する(S2〜S5)が、S1とS2〜S5の順序は逆であっても良い。
また、本実施形態では、バージョン比較情報27は地図情報のメッシュ単位で更新対象エリアに該当するメッシュと更新対象エリアに該当しないメッシュとを識別したテーブルである(図4)が、メッシュ単位ではなく例えば市区町村等の行政区画単位で識別しても良い。
また、本実施形態では、通信端末5は、車両の現在位置周辺の更新対象エリア及び案内経路周辺の更新対象エリアを対象として移動案内情報26をサーバ装置3から要求する構成としているが、液晶ディスプレイ35に地図画像が表示されるエリア内の更新対象エリアについても対象として移動案内情報26をサーバ装置3から要求しても良い。その結果、例えば液晶ディスプレイ35に表示された地図画像をスクロール表示する場合において、最新のバージョンの地図情報に基づく地図画像の表示が可能となる。
また、本実施形態では、通信端末5は、目的地の設定(S14)が行われた後であって、且つサーバ装置3に対して経路探索要求を送信する(S20)前のタイミングで、現在位置周辺の移動案内情報26をサーバ装置3に対して要求している(S17)が、移動案内情報の要求は通信端末5の起動後であって案内経路が設定される前であれば他のタイミングで行っても良い。
また、本発明に係るサーバ装置、通信端末、情報配信システム及びコンピュータプログラムを具体化した実施例について上記に説明したが、サーバ装置は以下の構成を有することも可能であり、その場合には以下の効果を奏する。
例えば、第1の構成は以下のとおりである。
通信端末(5)と双方向通信可能に接続され、地図情報を有するサーバ装置において、サーバ装置が有する地図情報の更新は地図情報の全体を更新する全体更新と一部の更新のみを行う差分更新があって、全体更新が行われた後に全体更新が行われた地図情報をベースとして一又は複数回の差分更新を行う工程を繰り返すことによって、バージョンが順次更新され、前記サーバ装置が有する地図情報において過去に行われた複数回の前記全体更新を対象として、前記全体更新が行われた時点の地図情報が夫々ベースバージョンの地図情報として登録され、前記サーバ装置が有する地図情報において前記差分更新が行われる場合に、前記差分更新が行われる時点で登録されている複数の前記ベースバージョンの地図情報を対象として、地図情報の区画単位毎に前記ベースバージョンの地図情報に対して前記サーバ装置が有する前記差分更新後の地図情報の更新された区画を特定するバージョン比較情報を生成する比較情報生成手段(21)と、前記通信端末から前記通信端末が有する地図情報について、現在の地図情報が前記ベースバージョンの地図情報である場合には当該ベースバージョンの地図情報を特定する情報を受信するとともに、現在の地図情報が前記ベースバージョンの地図情報でない場合には現在の地図情報のベースとなったベースバージョンの地図情報を特定する情報を受信するバージョン受信手段(21)と、前記比較情報生成手段により生成された前記バージョン比較情報の内、前記バージョン受信手段で受信した情報において特定されるベースバージョンの地図情報に対して前記サーバ装置が有する最も新しいバージョンの地図情報の更新された区画を特定する前記バージョン比較情報を、前記通信端末に配信する比較情報配信手段(21)と、を有する。
上記構成を有するサーバ装置によれば、全てのバージョンの地図情報を比較したバージョン比較情報ではなく、特定のベースバージョンの地図情報に対してサーバ装置が有する最も新しいバージョンの地図情報を比較したバージョン比較情報を生成することによって、バージョン比較情報の生成に係る処理負担を軽減化し、より小さいサイズでバージョン比較情報の管理及び配信を行うことを可能とする。また、バージョン比較情報を用いれば、例えば通信端末が移動体の移動案内を行うのに必要な案内情報や地図更新を行う為の地図更新情報をサーバ装置から取得するまでに必要な時間を短縮化することができる。
また、上記構成を有するサーバ装置によれば、ベースバージョンの地図情報に対してサーバ装置が有する最も新しいバージョンの地図情報が更新された区画、即ちベースバージョンの地図情報の内、最新の地図情報に対応していないエリアを容易且つ迅速に特定することが可能となる。
また、上記構成を有するサーバ装置によれば、ベースバージョンの地図情報とサーバ装置が有する最も新しいバージョンの地図情報とが大きく相違する状況となることを防止する一方で、通信端末の更新状況に合わせたバージョン比較情報を通信端末に配信することが可能となる。例えば、地図情報の更新を頻繁に行わない通信端末に対しては、新しいベースバージョンではなく通信端末が有する古いベースバージョンの地図情報に対応するバージョン比較情報を配信することが可能となる。
また、第2の構成は以下のとおりである。
前記通信端末(5)から、前記バージョン比較情報に基づいて特定された区画における移動体の移動案内を行う為の案内情報の要求を受信する要求受信手段(21)と、前記通信端末からの要求に応じて前記案内情報を前記通信端末へと配信する配信手段(21)と、を有する。
上記構成を有するサーバ装置によれば、通信端末側に対して地図情報の区画単位毎に案内情報を要求する必要がある区画であるか否かを識別するバージョン比較情報を配信することによって、センタールート探索を行う際において、移動体の移動案内を行うのに必要な案内情報を取得するまでに必要な時間を短縮化することができる。その結果、通信端末がサーバ装置から案内経路を取得した後に、案内経路に基づく移動案内が行われなかったり、誤った案内が行われる事象が生じることをできる限り防止することが可能となる。