以下、図面を用いて本発明の実施の形態を説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態の地図データ配信システムの構成を示すブロック図である。
本実施形態の地図データ配信システムは、ネットワーク40に接続された地図配信サーバ10と、ネットワーク40を介して地図配信サーバ10と通信するナビゲーション端末20と、を備える。
地図配信サーバ10は、互いに接続されたプロセッサ16、メモリ17、ネットワークインターフェース(I/F)18、管理データ記憶部11、更新データ記憶部12及び地図データ記憶部19を備える計算機である。
プロセッサ16は、メモリ17に格納されたプログラムを実行する。
メモリ17は、例えば半導体メモリであり、プロセッサ16によって実行されるプログラム及びプロセッサ16によって参照されるデータ等を格納する。本実施形態のメモリ17には、少なくとも更新時間予測処理部13、更新データ抽出部14及び更新データ管理部15が格納される。プロセッサ16がプログラムを実行することによって実現される処理については後述する。以下の説明において更新時間予測処理部13等が実行する処理は、実際には、プロセッサ16によって実行される。
ネットワークI/F18は、ネットワーク40に接続され、ナビゲーション端末20等と通信する。
管理データ記憶部11、更新データ記憶部12及び地図データ記憶部19は、それぞれがハードディスクドライブ(HDD)又はフラッシュメモリのような記憶装置であってもよいし、一つの記憶装置内の記憶領域であってもよい。
地図データ記憶部19には、地図データが格納される。地図データは、地図の構成物(地物)の位置及び形状を示す座標値等を含む。現実の地物は随時更新される。その一例は、道路の新設、廃止又は付け替えのような道路ネットワークの更新である。地図データは、過去のある時点における地物に関する情報と、それより後の時点における地物に関する情報と、を含んでもよい。
なお、一般に地図データは、地図上の所定の矩形の範囲ごとに管理される。この矩形の範囲は、パーセル又はメッシュと呼ばれる。各パーセルには固有の識別子(パーセルID)が付与される。
更新データ記憶部12には、地物を単位とする地図更新データ(地図情報及び道路ネットワーク情報を含む)が格納される。地図更新データは、例えばナビゲーション端末20があるバージョンの地図データを保持している場合に、それをより新しいバージョンの地図データに更新するために作成及び送信されるデータであり、具体的には、少なくともこれらのバージョンの差分データを含む。具体的には、更新データ記憶部12には、少なくとも更新エレメント管理テーブル600が格納される。更新エレメント及び更新エレメント管理テーブルの詳細については後述する(図3及び図6参照)。
管理データ記憶部11には、地図更新データを管理するための情報が格納される。例えば、管理データ記憶部11には、地図更新データのバージョン(すなわち差分の世代)を示す情報、及び、地図更新データが適用されるべき位置を示すパーセルID等が格納される。具体的には、管理データ記憶部11には、少なくともパーセルID−エレメント対応テーブル400及びナビ型番−更新時間係数対応テーブル500が格納される。これらの詳細については後述する(図4及び図5参照)。
ナビゲーション端末20は、ユーザを目的地まで誘導するために、経路検索及び検索結果の出力等を行う移動端末である。本実施形態では典型的な例として、ナビゲーション端末20が自動車内機器60の一部として自動車に搭載される車載用ナビゲーション端末である場合について説明するが(図2参照)、例えば歩行者に携帯されるナビゲーション端末等、種々の移動端末に本発明を適用することができる。
本実施形態のナビゲーション端末20は、互いに接続されたプロセッサ28、メモリ29、ネットワークI/F21、画面入出力I/F25、管理データ記憶部26及び地図データ記憶部27を備える。
プロセッサ28は、メモリ29に格納されたプログラムを実行する。
メモリ29は、例えば半導体メモリであり、プロセッサ28によって実行されるプログラム及びプロセッサ28によって参照されるデータ等を格納する。本実施形態のメモリ29には、配信要求部22、地図更新部23及びナビゲーション処理部24が格納される。
配信要求部22は、地図更新データ配信要求を地図配信サーバ10に送信する。地図更新部23は、配信された地図更新データを用いて、地図データ記憶部27に格納された地図データを更新する。これらの処理については後述する。以下の説明において配信要求部22、地図更新部23及びナビゲーション処理部24が実行する処理は、実際にはプロセッサ28によって実行される。
ナビゲーション処理部24は、地図データ記憶部27に格納された地図データに基づいて、目的地までの経路を検索し、その経路に沿ってユーザを誘導する。このような経路検索及び誘導は従来の車載用ナビゲーション端末と同様であるため、これらに関する詳細な説明は省略する。
画面入出力I/F25は、ユーザに対して地図情報等を表示する画面と、ユーザからの入力を受け付ける入力装置と、を含む。例えば、画面入出力I/F25は、タッチパッド付きの液晶表示装置であってもよい。
ネットワークI/F21は、無線通信装置30に接続される。無線通信装置30は、ネットワーク40に接続された無線基地局31と無線通信を行う。ネットワークI/F21は、無線通信装置30、無線基地局31及びネットワーク40を介して地図配信サーバ10との間の通信を実行する。後述する地図データ配信要求の送信及び地図更新データの受信はこのような通信によって実現される。
なお、無線通信装置30は、ナビゲーション端末20に内蔵されてもよい。
管理データ記憶部26及び地図データ記憶部27は、それぞれがハードディスクドライブ(HDD)又はフラッシュメモリのような記憶装置であってもよいし、一つの記憶装置内の記憶領域であってもよい。
地図データ記憶部27には、ナビゲーション処理部24によって参照される地図データが格納される。この地図データは、地図配信サーバ10から送信された地図更新データに基づいて更新される。
管理データ記憶部26には、地図データを管理するための情報が格納される。例えば、管理データ記憶部26には、自車(すなわちナビゲーション端末20を搭載している車)の位置がどのパーセルに属するかを示す緯度経度−パーセルID対応情報、及び、地図に適用した地図更新データの識別情報等が格納される。
ネットワーク40はインターネット41に接続される。地図配信サーバ10は、インターネット41を介して新しいバージョンの地図データを取得してもよい。
図2は、本発明の第1の実施形態のナビゲーション端末20を含む自動車内機器60の説明図である。
本実施形態のナビゲーション端末20は、自動車内機器60の一部として自動車内に設置される。自動車内機器60は、少なくとも、ナビゲーション端末20、車載制御装置50、バッテリ55及び各種センサ(例えばハンドル角度センサ51、ブレーキペダルセンサ52、アクセルペダルセンサ53及び電圧・電流センサ54等)を含む。
バッテリ55は、ナビゲーション端末20を含む自動車内機器60に電力を供給する電源である。自動車内機器60が内燃機関を動力源とする自動車に設置される場合、バッテリ55は、自動車内機器60だけでなく、内燃機関を始動するモータへも電力を供給する。自動車内機器60が電気モータを動力源とする自動車(例えばいわゆるハイブリッド車又は電気自動車)に設置される場合、バッテリ55は、自動車内機器60だけでなく、さらに動力源である電気モータにも電力を供給する。
電圧・電流センサ54は、バッテリ55の出力電圧及び出力電流の少なくとも一方を測定する。
車載制御装置50は、一般に、プロセッサ及びメモリ等を含む処理装置であり、各種センサに接続され、各種センサから取得したデータに基づく処理を実行することができる。車載制御装置50は、さらにネットワークI/F21に接続され、各種センサから取得したデータ又はそれらに基づく処理の結果をナビゲーション端末20に送信することができる。例えば、車載制御装置50は、電圧・電流センサ54から取得した電圧及び電流の値をナビゲーション端末20に送信してもよいし、それらの値に基づいてバッテリ55の残容量を計算し、計算された残容量の値をナビゲーション端末20に送信してもよい。
車載制御装置50は、公知の方法によってバッテリ55の残容量を計算することができる。例えば、車載制御装置50は、電圧・電流センサ54が測定した出力電圧の変動に基づいて残容量を計算してもよいし、出力電流の積算値に基づいて残容量を計算してもよい。
図2には代表的な例として自動車に設置されるナビゲーション端末20を示したが、本実施形態はその他の種類のナビゲーション端末、例えば歩行者に携帯される端末にも適用することができる。その場合も、図2と同様、ナビゲーション端末20はバッテリ55に接続され、そこから電力の供給を受ける。また、バッテリ55には電圧・電流センサ54が接続される。
図3は、本発明の第1の実施形態におけるパーセル及び更新エレメントの説明図である。具体的には、図3は、地図データ記憶部19又は地図データ記憶部27に格納される地図データに含まれる道路ネットワークの更新の一例を示す。
周知のように、地図データは道路ネットワークに関する情報を含み、道路ネットワークは、ノードとリンクとの組み合わせによって表現される。ノードは交差点等に、リンクは二つの交差点等を接続する道路の区間に対応する。すなわち、地図データは、各ノードの座標を示す情報、及び、ノード間を接続するリンクの形状を示す情報等を含む。このような地図データの具体的な形式は従来のナビゲーションシステムにおいて使用されるものと同様であってよいため、詳細な説明は省略する。
前述のように、パーセルとは、地図上の空間を区切ることによって定義された、所定の大きさの領域である。地図データは、パーセルごとに管理される。より具体的には、例えば、一つのパーセル内のノード及びリンクに関する情報が、地図データを格納するデータベースの一つのレコードであってもよい。例えば、図3に示す道路ネットワーク300Aは、9個の矩形のパーセル301〜309ごとに管理される。この例において、円形の標識がノードを、ノード間を接続する太い線がリンクを表す。
ここで、パーセルごとの地図データの管理について説明する。
例えば、道路ネットワーク300Aのパーセル301には、ノード322及びそれに接続されるリンク362〜364が含まれる。パーセル302には、ノード323及びそれに接続されるリンク365〜368が含まれる。通常、一つのパーセルに含まれるデータは、地図データ記憶部27の連続した領域に格納される。これに対して、異なるパーセルに含まれるデータは連続した領域に書き込まれるとは限らない。このため、対象のデータ量が同じであっても、一般に、複数のパーセルに含まれるデータの読み出し及び書き込みに要する時間は、一つのパーセルに含まれるデータの読み出し及び書き込みに要する時間より長くなる。
また、上記のように一つのパーセルに対応する地図データが一つのレコードとして扱われる場合、一つのパーセル内の一部のデータのみを更新するためであっても、そのパーセルに対応する地図データ全体を読み出して、更新し、更新されたデータを元のデータに上書きする必要がある。したがって、実際に更新されるデータ量が同じであっても、そのデータが一つのパーセル内に集中している場合より、複数のパーセルに分散している場合の方が読み出し及び書き込みを行うデータ量が多く、そのために要する時間も長くなる。
さらに、このような場合において、複数のパーセルに対応するデータの読み出し及び書き込みをするために、パーセルごとにI/Oコマンドを発行する必要がある場合がある。その場合、例えば一つのパーセルに含まれるデータの読み出し及び書き込みは、それぞれ1回のI/Oによって実行することができるが、二つのパーセルに含まれるデータの読み出し及び書き込みは、それぞれ2回のI/Oによって実行される。
例えば、地図データ記憶部27に格納された地図データのうち、リンク363及び364の形状を更新する必要がある場合、ナビゲーション端末20の地図更新部23は、パーセル301に含まれる全てのノード及びリンクのデータを地図データ記憶部27から読み出し、読み出されたデータのうちリンク363及び364の形状を示すデータを更新し、更新されたデータを含む全てのノード及びリンクのデータを地図データ記憶部27に上書きしてもよい。
一方、リンク364及び365の形状を更新する必要がある場合、地図更新部23は、例えば、パーセル301及び302に含まれる全てのノード及びリンクのデータを地図データ記憶部27から読み出し、読み出されたデータのうちリンク364及び365の形状を示すデータを更新し、更新されたデータを含む全てのノード及びリンクのデータを地図データ記憶部27に上書きする。
仮に各パーセル全体のデータ量が概ね同じであるとすると、上記の二つの場合のうち後者の場合に読み出され、書き込まれるデータ量は、実際に更新されるリンクのデータ量にかかわらず、前者の場合の約2倍となる。
更新のために地図データ記憶部27から読み出されたデータはメモリ29に一時的に格納され、地図更新部23によって更新される。典型的なメモリ29はダイナミックランダムアクセスメモリ(DRAM)であり、典型的な地図データ記憶部27はHDD又はフラッシュメモリのような不揮発性の記憶装置である。したがって、一般に、メモリ29に対するI/O処理と比較して、地図データ記憶部27に対するI/O処理はずっと低速である。このため、地図データ記憶部27から読み出され、その後書き込まれるデータ量、及びそのためのI/O処理の回数は、地図データ記憶部27内の地図データの更新処理に要する時間の全体に対して無視できない程度の影響を与える。
次に、更新エレメントについて説明する。
一般に、地図データは、現実の道路の変更が反映されるように所定のタイミングで(例えば数ヶ月ごとに)更新される。更新された地図データは、例えば、地図情報を扱う出版社によって作成され、インターネット41を介して提供される。新しい地図データが提供された場合、地図配信サーバ10の地図データ記憶部19には、更新される前の(すなわち旧バージョンの)地図データと、更新された後の(すなわち新バージョンの)地図データの両方が格納される。図3の道路ネットワーク300A及び300Bは、それぞれ、旧バージョン(Ver.1)及び新バージョン(Ver.2)の地図データが示す道路ネットワークの例である。
道路ネットワーク300A及び300Bを比較すると、パーセル301、302、303、307及び308に含まれるノード及びリンクは変更されていない。
道路ネットワーク300Aにおいて、パーセル305はノード311と312とを接続するリンク351を含み、パーセル306はノード313と314とを接続するリンク352を含む。
道路ネットワーク300Bにおいて、リンク351及び352は削除され、ノード316、317、318、319、320、321、リンク353、354、355、356、357、358、359、360及び361が追加されている。
地図配信サーバ10が新バージョンの地図データを取得した時点で、ナビゲーション端末20の地図データ記憶部27には旧バージョンの地図データ(すなわち道路ネットワーク300A)が格納されている。このため、配信要求部22が地図データ配信要求を地図配信サーバ10に送信し、それに応じて送信された地図データ(すなわち更新データ)を用いて地図更新部23が地図データ記憶部27内の地図を更新する。地図データ配信要求は、種々のイベント、例えば前回の配信から所定の時間が経過したこと、所定の日時が到来したこと、ユーザから更新要求を入力されたこと、などを契機として送信され得る。
従来の地図データの更新方法として、パーセルごとの更新及び更新エレメントごとの更新が知られている。本実施形態では更新エレメントごとの更新が実行される。
仮にパーセルごとの更新が実行されるとすると、例えばパーセル305の更新が要求された場合、リンク351が削除され、ノード316、317、318、リンク354、355、及び357が追加される。この場合、リンク353及び358は追加されないため、リンク354及び357はそれぞれノード316及び318で途切れる。
一方、本実施形態では、連続するリンクに関する更新データが更新エレメントとしてまとめられ、更新エレメントごとに更新が実行される。なお、本実施形態において、二つのリンクが一つのノードに接続される場合、それらのリンクが連続すると記載する。例えば、リンク353及び354は、一つのノード316に接続されるため、連続する。同様に、リンク354、355、356及び357は一つのノード317に接続されるため、連続する。リンク357及び358は一つのノード318に接続されるため、連続する。リンク358、359及び360は一つのノード319に接続されるため、連続する。結局、リンク353〜360は連続する。このため、リンク353〜360の追加を示す更新データが一つの更新エレメント371としてまとめられる。
この更新エレメント371は、さらに、これらのリンクに接続されるノードの追加、削除又は変更を示す更新データも含む。図3の例では、ノード316〜319の追加を示す更新データが更新エレメント371に含まれる。ノード311〜315は上記のリンクのいずれかに接続されるノードであり、かつ、新バージョン及び旧バージョンの道路ネットワークのいずれにも含まれている。しかし、これらのノードの座標又はその他の属性値が変更される場合には、その変更を示す更新データも更新エレメント371に含まれる。
新バージョンで削除されるリンク351と、追加されるリンク355とは、同時に存在し得ないが、いずれも一つのノード311に接続されているため、リンク351の削除を示す更新データも更新エレメント371に含まれる。同様に、リンク352の削除を示す更新データも更新エレメント371に含まれる。
リンク361は更新エレメント371に含まれるいずれのリンクとも連続しない。このため、リンク361及びその両端のノード320及び321の追加を示す更新データは別の更新エレメント372に含まれる。
この例において、配信要求部22がパーセル305を対象とする地図データ配信要求を地図配信サーバ10に送信すると、地図配信サーバ10の更新データ管理部15は、パーセル305内のリンク又はノードに関する更新データを含む更新エレメント371をナビゲーション端末20に送信する。ナビゲーション端末20の地図更新部23は、送信された更新エレメント371に従って、リンク351及び352の削除、並びに、リンク353〜360及びノード316〜319の追加を実行する。これによって、地図データ記憶部27に格納された地図データが更新される。なお、この時点でまだ更新エレメント372が反映されていないとしても、道路の途切れのような矛盾は発生しない。
なお、以下の説明において、あるパーセル内のリンク又はノードの更新を示す情報を含む更新エレメントを、そのパーセルに対応する更新エレメントと記載する。例えば、更新エレメント371は、パーセル304にリンク353を追加することを示す情報を含むため、パーセル304に対応する。同様に、更新エレメント371は、パーセル305及び306にも対応する。同様に、更新エレメント372はパーセル306及び309に対応する。言い換えると、パーセル304、305及び306は、更新エレメント371によって更新される。同様に、パーセル306及び309は更新エレメント372によって更新される。
図3は説明のために単純化されているが、実際には一つのパーセルに複数の更新エレメントが対応する場合があり、また、1回の地図データ配信要求において複数のパーセルが更新対象として指定される場合がある。したがって、実際には1回の地図データ配信要求に応じて多数の更新エレメントが送信される可能性がある。本実施形態の更新データ管理部15は、指定されたパーセルに関連する複数の更新エレメントのうち、指定された時間内に更新が終了すると予測されるもののみを送信する。その詳細については後述する。
続いて、本実施形態の地図配信サーバ10が保持するデータ及びそれに基づく更新エレメントの送信について説明する。
図4は、本発明の第1の実施形態の地図配信サーバ10が保持するパーセルID−エレメント対応テーブル400の説明図である。
パーセルID−エレメント対応テーブル400は、パーセルと更新エレメントとを対応付ける情報及び各更新エレメントの更新時間等を示す情報を含む。このテーブルは、ナビゲーション端末20からの地図データ配信要求を受けた更新データ管理部15によって参照される。
具体的には、パーセルID−エレメント対応テーブル400は、パーセルID401、更新エレメントID402、更新時間403及びサイズ404を含む。
パーセルID401は、各パーセルの識別子である。
更新エレメントID402は、各パーセルに対応する更新エレメントの識別子である。
更新時間403は、各更新エレメントをナビゲーション端末20に反映させるために要すると予測される時間である。この時間の算出方法については後述する。
サイズ404は、各更新エレメントのデータサイズである。
例えば、行412にはパーセルID「0001」に対応する更新エレメントID「11」が格納され、行413にはパーセルID「0002」に対応する更新エレメントID「11」が格納される。これは、識別子「11」によって識別される一つの更新エレメント(ここでは「更新エレメント「11」」と記載する。他の更新エレメントIDについても同様)が、二つのパーセル、すなわち識別子「0001」によって識別されるパーセル及び識別子「0002」によって識別されるパーセルに跨っていることを示す。
また、行411及び412を参照して、更新エレメントID「10」で識別される更新エレメント「10」と更新エレメント「11」とを比較すると、前者のサイズ404は後者のそれより大きいが、前者の更新時間403は後者のそれより短い。一般にサイズ404が大きいほど更新時間403が長くなるが、前者が跨るパーセルの数が後者のそれより小さい場合には上記のような更新時間の逆転が起こりうる。
図5は、本発明の第1の実施形態の地図配信サーバ10が保持するナビ型番−更新時間係数対応テーブル500の説明図である。
ナビ型番−更新時間係数対応テーブル500は、ナビゲーション端末20の機種と、各更新エレメントの更新時間を計算するときに使用される係数とを対応付ける情報を保持する。具体的には、ナビ型番−更新時間係数対応テーブル500は、ナビ型番501及び係数502を含む。
ナビ型番501は、ナビゲーション端末20の機種を識別する情報である。図1には一つのナビゲーション端末20のみを示したが、実際には多数のナビゲーション端末20がネットワーク40を経由して地図配信サーバに地図データ配信要求を送信する。これらは、互いに機種の異なるナビゲーション端末20を含んでもよい。ナビ型番501には、地図配信サーバ10に地図データ配信要求を送信する可能性があるナビゲーション端末20の機種を識別する情報が格納される。
係数502は、各ナビゲーション端末20の機種に対応する更新時間係数である。ナビゲーション端末20の処理性能は搭載されたプロセッサ28等のハードウェア性能及びそれらを制御するソフトウェアの仕様等に依存するため、同一の更新エレメントに基づく更新に要する時間が機種ごとに異なる場合がある。例えば、ある機種のナビゲーション端末20がある更新エレメントに基づく地図データの更新に要した時間を基準として、各機種のナビゲーション端末20が同じ更新エレメントに基づく地図データの更新に要した時間と基準更新時間との比率を係数502として格納してもよい。
図5の例では、ナビ型番501の値「NAVI−1000」及び「NAVI−1001」に対応する係数502として、それぞれ「1.0」及び「1.1」が格納されている。これは、「NAVI−1001」によって識別される機種のナビゲーション端末20がある更新エレメントに基づく更新をするために要する時間が、「NAVI−1001」によって識別される機種のナビゲーション端末20が同じ更新エレメントに基づく更新をするために要する時間の1.1倍であることを示す。
図6は、本発明の第1の実施形態の地図配信サーバ10が保持する更新エレメント管理テーブル600の説明図である。
地図配信サーバ10は、新しいバージョンの地図データを取得すると、古いバージョンの地図データを新しいバージョンに更新するための更新エレメントを作成する(図3参照)。作成された更新エレメントは、更新エレメント管理テーブル600に格納される。
更新エレメント管理テーブル600は、更新エレメントID601及び更新データ602を含む。
更新エレメントID601は、各更新エレメントを一意に識別する。
更新データ602は、各更新エレメントに含まれる更新データである。この更新データは、具体的には、ノード又はリンクの追加、削除及び変更等を示す情報を含む。このような更新データのフォーマットは従来のナビゲーションシステムにおいて適用されるものと同様であってよいため、詳細な説明は省略する。
図7は、本発明の第1の実施形態の地図配信サーバ10が実行する更新時間計算処理を示すフローチャートである。
この処理は、地図配信サーバ10が新しいバージョンの地図データを取得した後、ナビゲーション端末にそのバージョンの更新データを送信するまでの間のいずれかの時点で実行される。
最初に、更新データ管理部15が新しいバージョンの地図データ(例えば図3の道路ネットワーク300Bに対応する地図データ)を取得し、それを地図データ記憶部19に格納する(S701)。
次に、更新データ抽出部14が、新しいバージョンの地図データと、地図データ記憶部19に格納されている古いバージョンの地図データ(例えば図3の道路ネットワーク300Aに対応する地図データ)とを比較し、古いバージョンの地図データを新しいバージョンの地図データに更新するための差分データとして、更新エレメントを作成し、それを更新エレメント管理テーブル600に格納する(S702)。更新エレメントは、図3を参照して説明した通りである。
なお、上記のS701及びS702は従来の地図配信サーバが実行するものと同様であってよい。
次に、更新時間予測処理部13が、作成された更新エレメントごとに、その更新エレメントを用いてナビゲーション端末20内の地図データを更新するために要する時間を計算し、計算された時間をパーセルID−エレメント対応テーブル400に更新時間403として格納する(S703)。
図3及び図5を参照して説明したように、地図データの更新に要する時間は、主に、更新エレメントに含まれるデータの量、更新エレメントが跨るパーセルの数、及び、ナビゲーション端末20の機種に依存する。ここで、更新エレメントが跨るパーセルの数とは、言い換えると、その更新エレメントによって更新されるパーセルの数である。例えば、図3の更新エレメント371は、少なくとも、パーセル304にリンク353を追加することを示す情報、パーセル305にリンク354等を追加することを示す情報、及び、パーセル306にリンク358等を追加することを示す情報を含む。この場合、更新エレメント371は、少なくとも三つのパーセルに跨る。
更新時間予測処理部13は、更新エレメントに含まれるデータの量が多いほど長く、かつ、更新エレメントが跨るパーセルの数が多いほど長くなるように、各更新エレメントに対応する更新時間を計算する。例えば、更新時間予測処理部13は、
更新時間=A×(更新エレメントに含まれるデータの量)+B×(更新エレメントが跨るパーセルの数) ・・・(1)
によって更新時間を計算してもよい。ここで、A及びBはナビゲーション端末20の機種に依存する係数である。本実施形態では代表的な機種(例えば図5のナビ型番「NAVI−1000」によって識別される機種)を用いてA及びBの値を決定し、その他の機種による更新時間は図5の係数502を用いて算出する。
なお、上記の式(1)は一例に過ぎず、本実施形態には種々の計算方法が適用され得る。
図8は、本発明の第1の実施形態の地図配信サーバ10及びナビゲーション端末20が実行する端末地図更新処理を示すフローチャートである。
最初に、ナビゲーション端末20の配信要求部22は、地図データ配信要求を地図配信サーバ10に送信する(S801)。地図データ配信要求は、少なくとも、希望更新時間、更新対象のパーセルの識別子、及び、現在保持している地図データのバージョン、を指定する情報を含む。
希望更新時間は、今回の地図データ配信要求に基づく地図データの更新処理に利用することが許容される時間である。後述するように、指定された希望更新時間内に終了するように更新処理が制御される。
既に説明したように、ナビゲーション端末20が地図データの更新処理を行っている間、他の機能(例えば経路検索又は経路案内)が大幅に制限される。本実施形態のナビゲーション端末20は、このような機能制限によってユーザの利便性が損なわれないように、種々の基準に基づいて希望更新時間を決定することができる。
例えば、ナビゲーション端末20は、ユーザから画面入出力I/F25を介して入力された希望更新時間をそのまま地図データ配信要求に含めて送信してもよい。ユーザは、ナビゲーション端末20の経路検索等の機能を使用しない時間、典型的にはナビゲーション端末20が搭載された自動車を運転しない時間を希望更新時間として入力することができる。例えば、ユーザは、休憩するとき、又は自動車に給油するとき等に、休憩又は給油が終了するまでの予定時間を希望更新時間として入力してもよいし、夜間などの自動車を使用しない時間を希望更新時間として入力してもよい。ナビゲーション端末20が電気自動車に搭載される場合、ユーザは、バッテリ55への充電を行う時間を希望更新時間として入力してもよい。
ただし、内燃機関を動力源とする自動車において、エンジンが停止している場合、地図データ更新のための電力消費によってバッテリ55の残容量が不足しないように更新時間を制限する必要がある。このため、ナビゲーション端末20は、車載制御装置50からバッテリ55の残容量を示す情報を取得し、取得した残容量とナビゲーション端末20自身の消費電力とに基づいて、取得した残容量を全て消費する更新時間より短い時間を希望更新時間として算出し、それを地図配信サーバ10に送信してもよい。このとき、少なくともエンジンの起動に必要な容量がバッテリ55に残るように希望更新時間を算出することが望ましい。
なお、ナビゲーション端末20が自動車に設置されない場合(例えば歩行者によって携帯される場合、)ナビゲーション端末20のプロセッサ28が電圧・電流センサ54から取得した情報に基づいてバッテリ55の残容量を計算してもよい。
地図データ配信要求によって指定される更新対象のパーセルは、どのように決定されてもよい。例えば、ユーザが画面入出力I/F25を介して任意のパーセルを更新対象として選択してもよい。具体的には、例えば、ユーザが現在地周辺又はこれから行く目的地の周辺のパーセルを更新対象として選択してもよい。あるいは、ナビゲーション端末20が自動的に更新対象を選択してもよい。具体的には、例えば、夜間に更新処理を行う場合、ナビゲーション端末20は、日本全国又は特定の地方のパーセルを更新対象として指定してもよい。
地図データ配信要求に含まれる地図データのバージョンを示す情報は、少なくとも、更新対象として指定されたパーセルのバージョンを示す情報を含む。なお、本実施形態では地図データが更新エレメントごとに更新される。したがって、古いバージョンのパーセルに対応する複数の更新エレメントのいくつかが既にナビゲーション端末20内の地図データに反映されている場合がある。このような更新エレメントを識別するため、上記の地図データのバージョンを示す情報は、各パーセルのバージョンを示す情報に加えて、そのパーセルに対応する更新エレメントのうち既に更新が終了したものを識別する情報を含んでもよい。
さらに、S801において送信される地図データ配信要求は、それを送信したナビゲーション端末20の機種を識別する情報を含んでもよい。
ナビゲーション端末20から地図データ配信要求を受信した地図配信サーバ10の更新データ管理部15は、指定された更新対象のパーセルの識別子、地図データのバージョン及び希望更新時間に基づいて、希望更新時間内に更新が終了する更新エレメントのリストを作成する(S802)。
更新対象として指定されたパーセルであっても、ナビゲーション端末20が保持しているそのパーセルの地図データのバージョンが最新である場合、そのパーセルの地図データを更新する必要がないため、そのパーセルに対応する更新エレメントはリストに登録されない。また、更新対象として指定されたパーセルの地図バージョンが最新でない場合であっても、そのパーセルに対応する更新エレメントが既にナビゲーション端末20の地図データに反映されている場合、その更新エレメントに基づく更新をもう一度実行する必要はないため、その更新エレメントはリストに登録されない。このようなバージョンに基づく更新の要否判定及びそれに基づく更新エレメントの選択は、従来の地図データ配信方法と同様であるため、詳細な説明は省略する。
更新データ管理部15は、更新対象として指定されたパーセルに対応する、まだナビゲーション端末に反映されていない更新エレメントについて、パーセルID−エレメント対応テーブル400の更新時間403を参照して、リストに登録された更新エレメントの更新時間の合計値が指定された希望更新時間を超えないように、リストに登録する更新エレメントを選択する。
例えば、更新データ管理部15は、更新対象として指定されたパーセルに対応する、まだナビゲーション端末20に反映されていない更新エレメントの更新時間403を順次参照して、既にリストに登録されている更新エレメントの更新時間と、今回参照した更新エレメントの更新時間との合計値が希望更新時間を超えるか否かを判定し、希望更新時間を超えない場合には今回参照された更新エレメントをリストに追加する。この処理を、更新対象として指定されたパーセルに対応する、まだナビゲーション端末に反映されていない全ての更新エレメントについて行うことによって、リストを作成してもよい。
なお、このような処理において、更新データ管理部15は、例えばサイズ404の値が大きい順に更新エレメントの更新時間を参照してもよいし、サイズ404の値が小さい順に参照してもよいし、ランダムな順序で参照してもよい。
図3を参照してS802の具体例を説明する。例えば更新対象としてパーセル304が指定された場合、更新データ管理部15は、地図データ配信要求に含まれるパーセル304のバージョン情報に基づいて、ナビゲーション端末20に格納されているパーセル304が最新か否かを判定する。例えばナビゲーション端末20内のパーセル304が道路ネットワーク300Aの通りであり、まだ更新エレメント371が反映されていない場合、更新データ管理部15は、更新エレメント371の更新時間403が希望更新時間を超えるか否かを判定する。既にリストに別の更新エレメントが登録されている場合、それらの更新エレメントの更新時間403と更新エレメント371の更新時間403との合計値が希望更新時間を超えるか否かを判定する。その結果が希望更新時間を超えない場合、更新エレメント371をリストに追加する。
地図データ配信要求にナビゲーション端末20の機種を識別する情報が含まれる場合、更新データ管理部15は、更新時間403の値にその機種に対応する係数502を乗じることによってその機種による更新時間を算出し、その値に基づいて、リストに登録される更新エレメントを選択する。
次に、更新データ管理部15は、S802で作成したリスト(更新エレメントリスト)及び更新エレメントデータをナビゲーション端末20に送信する(S803)。ここで、更新エレメントデータとは、更新エレメントリストに登録された更新エレメントの更新データ602である。
地図配信サーバ10から更新エレメントデータ等を受信したナビゲーション端末20の地図更新部23は、送信された更新エレメントデータに基づいて、地図データ記憶部27に格納されている地図データを更新する(S804)。これによって、送信された更新エレメントが指示するリンク及びノードの追加、削除及び変更等が地図データに反映される。
なお、上記の処理は一例であり、実際の更新に要する時間が希望更新時間を超えないように制御される限り、種々の処理が許容される。例えば、S802〜S804は次のように実行されてもよい。
S802において、更新データ管理部15は、更新時間にかかわらず、更新対象として指定されたパーセルに対応する、まだナビゲーション端末に反映されていない全ての更新エレメントを更新エレメントリストに登録する。S803において、更新データ管理部15は、S802で作成した更新エレメントリスト、それに対応する更新エレメントデータ、及び、更新エレメントリストに格納された各更新エレメントの更新時間をナビゲーション端末20に送信する。S804において、地図更新部23は、送信された更新エレメントリストに登録されている更新エレメントから、更新時間の合計値が希望更新時間を超えないように一つ以上の更新エレメントを選択し、それらに基づいて地図データを更新する。
以上の本発明の第1の実施形態によれば、更新エレメントごとに地図データが更新されるため、更新後の地図データに道路の途切れのような矛盾が生じない。さらに、指定された更新時間以内に更新が終了するように、反映すべき更新エレメントが選択されるため、ユーザの利便性を損なわずに地図データを更新することができる。
<第2の実施形態>
図9は、本発明の第2の実施形態の地図データ配信システムの構成を示すブロック図である。
第2の実施形態の地図データ配信システムは、次に挙げる相違点を除き、第1の実施形態と同様である。第1に、更新時間予測処理部が地図配信サーバ10ではなくナビゲーション端末20に含まれる。第2に、管理データ記憶部11がナビ型番−更新時間係数対応テーブル500を保持しない。第3に、管理データ記憶部11がパーセルID−エレメント対応テーブル400の更新時間403に相当する情報を保持しない。第4に、上記第1〜第3の相違点に対応するため、ナビゲーション端末20の地図データを更新する手順が第1の実施形態と異なる。以下、これらの相違点について説明する。第2の実施形態のうち第1の実施形態と同様の部分についての説明は省略する。
図10は、本発明の第2の実施形態の地図配信サーバ10が保持するパーセルID−エレメント対応テーブル1000の説明図である。
第2の実施形態の地図配信サーバ10は、パーセルID−エレメント対応テーブル400の代わりに、図10に示すパーセルID−エレメント対応テーブル1000を保持する。
パーセルID−エレメント対応テーブル1000は、パーセルID1001、更新エレメントID1002及びサイズ1003を含む。これらは、それぞれ図4に示すパーセルID401、更新エレメントID402及びサイズ404と同様であるため、説明を省略する。
なお、本実施形態のパーセルID−エレメント対応テーブル1000は、従来の更新エレメントごとの地図データ配信を行う地図配信サーバが保持するものと同様であってよい。
続いて、本実施形態の地図配信サーバ10及びナビゲーション端末20が実行する処理について説明する。
本実施形態の地図配信サーバは、新しいバージョンの地図データを取得すると、それを地図データ記憶部19に格納し、それに基づいて更新エレメントを作成する。これらの手順は、図7のS701及びS702を参照して説明した通りであり、従来の更新エレメントごとの地図データ配信を行う地図配信サーバが実行する手順と同じである。
すなわち、本実施形態の地図配信サーバ10は、従来の地図配信サーバと同じものであってもよい。
図11は、本発明の第2の実施形態の地図配信サーバ10及びナビゲーション端末20が実行する端末地図更新処理を示すフローチャートである。
最初に、ナビゲーション端末20の配信要求部22は、地図データ配信要求を地図配信サーバ10に送信する(S1101)。地図データ配信要求は、少なくとも、更新対象のパーセルの識別子、及び、現在保持している地図データのバージョン、を指定する情報を含む。この地図データ配信要求は、希望更新時間を含まないことを除いて、図8のS801で送信されるものと同じである。
ナビゲーション端末20から地図データ配信要求を受信した地図配信サーバ10の更新データ管理部15は、指定された更新対象のパーセルの識別子、及び地図データのバージョンに基づいて、ナビゲーション端末20に送信する更新エレメントのリストを作成する(S1102)。具体的には、更新データ管理部15は、更新対象として指定されたパーセルに対応する、まだナビゲーション端末に反映されていない更新エレメントを全てリストに登録する。この手順は、各更新エレメントの更新時間にかかわらず、上記の条件を満たす全ての更新エレメントが登録されることを除いて、図8のS802と同様である。
次に、更新データ管理部15は、S1102で作成したリスト(更新エレメントリスト)及び更新エレメントデータをナビゲーション端末20に送信する(S1103)。このとき、更新データ管理部15は、更新エレメントリストに登録された更新エレメントによって更新されるパーセルの識別子及びそれらの更新エレメントのサイズを示す情報を、更新エレメントデータ等に追加して送信する。これらの情報は、パーセルID−エレメント対応テーブル1000から取得される。
地図配信サーバ10から更新エレメントデータ等を受信したナビゲーション端末20の更新時間予測処理部13は、更新エレメントリストに登録された更新エレメントのサイズ及びそれらによって更新されるパーセルの数に基づいて、各更新エレメントに基づく更新に要する時間(更新時間)を計算する。そして、更新時間予測処理部13は、計算された更新時間の合計値が希望更新時間を超えないように、適用すべき更新エレメントを選択する(S1104)。
S1104において行われる更新時間の計算は、図7のS703において実行されるものと同様である。例えば、式(1)によって更新時間が計算されてもよい。ただし、その場合、係数A及びBはS1104を実行するナビゲーション端末20自体のハードウェア性能等に基づいて決定される。
更新時間の計算に用いられる各更新エレメントのサイズ及び各更新エレメントが跨るパーセルの数は、S1103で送信された、更新エレメントによって更新されるパーセルの識別子及びそれらの更新エレメントのサイズから取得される。なお、これらの情報が地図配信サーバ10から送信されなくても、更新時間予測処理部13は、更新エレメントデータから同様の情報を抽出することができる。しかし、その抽出に要する時間を省略するために、地図配信サーバ10がこれらの情報を送信することが望ましい。
S1104において行われる更新エレメントの選択は、図8のS802において行われるものと同様であってよい。希望更新時間は、第1の実施形態と同様に決定される(S801参照)。
次に、ナビゲーション端末20の地図更新部23は、S1104において選択された更新エレメントデータに基づいて、地図データ記憶部27に格納されている地図データを更新する(S1105)。
なお、上記の処理は一例であり、実際の更新に要する時間が希望更新時間を超えないように制御される限り、種々の処理が許容される。例えば、S1104及びS1105は次のように実行されてもよい。
S1104において、更新時間予測処理部13は、各更新エレメントの更新時間を計算する。そして、まだ地図データに反映されていない更新エレメントのいずれか一つを選択して、選択した更新エレメントの更新時間が希望更新時間の残り時間(後述)を超えるか否かを判定する。選択した更新エレメントの更新時間が残り時間を超えない場合、地図更新部23が、選択した更新エレメントデータに基づいて地図データを更新する(S1105)。そして、処理は再びS1104に戻り、まだ地図データに反映されていない更新エレメントのいずれか一つが選択される。
一方、選択した更新エレメントの更新時間が残り時間を超える場合、更新時間予測処理部13は、まだ地図データに反映されていない別の更新エレメントを選択する。まだ地図データに反映されていないいずれの更新エレメントの更新時間も残り時間を超える場合、いずれの更新エレメントを選択しても希望更新時間内に更新を終了させることができないため、残りの更新エレメントに基づく更新を実行せずに、ナビゲーション端末20は端末地図更新処理を終了する。
なお、S1104において残り時間が0以下になった場合、まだ地図データに反映されていないいずれの更新エレメントの更新時間も残り時間を超えるため、その時点でナビゲーション端末20は端末地図更新処理を終了する。
なお、希望更新時間の残り時間とは、更新希望時間から、地図データの更新が開始されてから現在までの時間を減じた残り、すなわち、更新時間から、既に選択された更新エレメントに基づく更新に実際に要した時間の合計値を減じた残りである。
上記のような残り時間に基づく更新の制御は、第1の実施形態のS804(図8)において実行されてもよい。
以上の本発明の第2の実施形態によれば、従来と同じ地図配信サーバを用いて、第1の実施形態と同様、更新後の地図データに矛盾が生じず、かつ、ユーザの利便性を損なわないように地図データを更新することができる。