(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023181276
(43)【公開日】2023-12-21
(54)【発明の名称】送信装置、端末装置、送信方法、送信プログラム、地図データ更新方法および地図データ更新プログラム
(51)【国際特許分類】
G09B 29/00 20060101AFI20231214BHJP
G06F 16/29 20190101ALI20231214BHJP
【FI】
G09B29/00 Z
G06F16/29
【審査請求】有
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2023180069
(22)【出願日】2023-10-19
(62)【分割の表示】P 2022003557の分割
【原出願日】2016-03-23
(71)【出願人】
【識別番号】000005016
【氏名又は名称】パイオニア株式会社
(74)【代理人】
【識別番号】100104190
【弁理士】
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】内田 孝之
(72)【発明者】
【氏名】松本 祐樹
(72)【発明者】
【氏名】佐藤 均
(57)【要約】
【課題】ユーザからの操作回数を抑え、迅速且つ的確に検索結果を提示すること。
【解決手段】地点検索装置100は、キーワード入力部102と、設定部103と、抽出部105と、提示部106と、選択部107と、検索部109とを備える。抽出部105は、検索開始の指示を受け付けた際に、入力キーワードに設定されている属性により特定される検索手法において当該入力キーワードを含む検索項目を抽出する。提示部106は、検索項目が複数ある場合には、当該複数の検索項目を提示する。選択部107は、複数の検索項目の中から一の検索項目の選択をユーザから受け付ける。検索部109は、検索項目が複数ある場合には、選択部107によって受け付けた一の検索項目に該当する地点をデータベース108から検索する。一方、抽出部105によって抽出された検索項目が一つである場合には、当該検索項目に該当する地点をデータベース108から検索する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
端末装置から、地図データのバージョン情報を取得する取得手段と、
地図の更新データとして、変更があった道路に加え、変更がなかった道路のデータも更新する第1更新データと、変更があった道路のデータを更新する第2更新データとを記録する記録手段と、
前記バージョン情報と、前記更新データに対応するバージョン情報とを比較することにより、前記第1更新データと前記第2更新データとのいずれかを決定する決定手段と、
前記決定された更新データを送信する送信手段と、
を有することを特徴とする送信装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、地図の更新データの送信にかかる送信装置、端末装置、送信方法、送信プログラム、地図データ更新方法および地図データ更新プログラムに関する。ただし、この発明の利用は、送信装置、端末装置、送信方法、送信プログラム、地図データ更新方法および地図データ更新プログラムに限らない。
【背景技術】
【0002】
従来、地図データの更新について、ユーザの端末装置がセンターから新地図データと旧地図データとの差分を取得し、旧地図データを新地図データで更新する技術が開示されている(例えば、下記特許文献1参照。)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記従来の技術では、端末装置が記憶保持する元の地図データに対し、差分更新を永続的に続けようとすると、差分量が大きくなり過ぎてしまい、差分更新を行う時の処理時間が長くなることがあった。また、差分更新を行う頻度が少ないユーザでは、更新が必要な差分データがたまってしまい、更新を行う際の差分データのサイズが元の地図データのサイズを超える等、効率的な地図データの更新が行えない、という問題が一例として挙げられる。
【課題を解決するための手段】
【0005】
上述した課題を解決し、目的を達成するため、請求項1の発明にかかる送信装置は、端末装置から、地図データのバージョン情報を取得する取得手段と、地図の更新データとして、変更があった道路に加え、変更がなかった道路のデータも更新する第1更新データと、変更があった道路のデータを更新する第2更新データとを記録する記録手段と、前記バージョン情報と、前記更新データに対応するバージョン情報とを比較することにより、前記第1更新データと前記第2更新データとのいずれかを決定する決定手段と、前記決定された更新データを送信する送信手段と、を有することを特徴とする。
【0006】
また、請求項4の発明にかかる送信装置は、端末装置から、地図データのバージョン情報を取得する取得手段と、地図の更新データとして、前記地図データの道路の全更新を行うための第1更新データと、前記地図データの道路のうちの変更があった道路について差分更新を行うための第2更新データとを記録する記録手段と、前記バージョン情報と、前記更新データに対応するバージョン情報とを比較することにより、前記第1更新データと前記第2更新データとのいずれかを決定する決定手段と、前記決定された更新データを送信する送信手段と、を有することを特徴とする。
【0007】
また、請求項5の発明にかかる端末装置は、地図の更新データとして、変更があった道路に加え、変更がなかった道路のデータも更新する第1更新データと、変更があった道路のデータを更新する第2更新データとが記録されたサーバに対し、更新対象の地図データのバージョン情報を通知する通知手段と、前記サーバにより、前記バージョン情報と前記更新データに対応するバージョン情報とを比較することにより決定された前記更新データ
である、前記第1更新データ及び前記第2更新データのうちのいずれか一方の前記更新データを受信する受信手段と、前記受信手段が前記第1更新データを受信した場合には、前記第1更新データを用いてファイル更新により前記更新対象の地図データを更新し、前記受信手段が前記第2更新データを受信した場合には、前記第2更新データを用いてバイナリ差分のデータ更新により前記更新対象の地図データを更新する更新手段と、を有することを特徴とする。
【0008】
また、請求項6の発明にかかる送信方法は、送信装置が実施する送信方法において、端末装置から、地図データのバージョン情報を取得する取得工程と、地図の更新データとして、変更があった道路に加え、変更がなかった道路のデータも更新する第1更新データと、変更があった道路のデータを更新する第2更新データとを記録部に記録する記録工程と、前記バージョン情報と、前記更新データに対応するバージョン情報とを比較することにより、前記第1更新データと前記第2更新データとのいずれかを決定する決定工程と、前記決定された更新データを送信する送信工程と、を含むことを特徴とする。
【0009】
また、請求項7の発明にかかる送信プログラムは、請求項6に記載の送信方法をコンピュータに実行させることを特徴とする。
【0010】
また、請求項8の発明にかかる地図データ更新方法は、端末装置が実行する地図データ更新方法において、地図の更新データとして、変更があった道路に加え、変更がなかった道路のデータも更新する第1更新データと、変更があった道路のデータを更新する第2更新データとが記録されたサーバに対し、更新対象の地図データのバージョン情報を通知する通知工程と、前記サーバにより、前記バージョン情報と前記更新データに対応するバージョン情報とを比較することにより決定された前記更新データである、前記第1更新データ及び前記第2更新データのうちのいずれか一方の前記更新データを受信する受信工程と、前記受信工程で前記第1更新データが受信された場合には、前記第1更新データを用いてファイル更新により前記更新対象の地図データを更新し、前記受信工程で前記第2更新データが受信された場合には、前記第2更新データを用いてバイナリ差分のデータ更新により前記更新対象の地図データを更新する更新工程と、を含むことを特徴とする。
【0011】
また、請求項9の発明にかかる地図データ更新プログラムは、請求項8に記載の地図データ更新方法をコンピュータに実行させることを特徴とする。
【図面の簡単な説明】
【0012】
【
図1】
図1は、実施の形態にかかる送信装置の機能的構成の一例を示すブロック図である。
【
図2】
図2は、実施の形態にかかる送信装置の処理手順の一例を示すフローチャートである。
【
図3】
図3は、送信装置の実施例にかかるナビゲーション装置のハードウェア構成の一例を示すブロック図である。
【
図4】
図4は、実施例にかかるサーバが保持する地図データの例を示す図である。
【
図5】
図5は、実施例にかかる地図データの更新処理例を示すフローチャートである。
【
図6】
図6は、実施例にかかる地図データの更新例を説明する図である。(その1)
【
図7】
図7は、実施例にかかる地図データの更新例を説明する図である。(その2)
【発明を実施するための形態】
【0013】
(実施の形態)
以下に添付図面を参照して、この発明にかかる送信装置、端末装置、送信方法、送信プログラム、地図データ更新方法および地図データ更新プログラムの好適な実施の形態を詳細に説明する。
【0014】
図1は、実施の形態にかかる送信装置の機能的構成の一例を示すブロック図である。送信装置100は、例えば、外部の端末装置とネットワーク等を介して接続されるサーバである。端末装置は、地図データを記憶保持し、送信装置100は、端末装置に対して更新に必要な地図データを決定し、端末装置に送信する。
【0015】
送信装置100は、取得部101と、記録部102と、決定部103と、送信部104と、を含み構成される。
【0016】
取得部101は、端末装置から、端末装置が保持している地図データのバージョン情報を取得する。例えば、取得部101は、端末装置から地図データの更新要求があった場合に、地図データのバージョン情報を端末装置から取得する。
【0017】
記録部102は、時間経過とともに変化する地図データを更新可能に記憶保持する。地図データは、例えば、送信装置に外部接続される外部装置との間の通信接続や、更新データを記録したメモリ(USBメモリ)等の記録媒体のコネクタ接続、あるいは、作業者等による操作部を介した操作入力等により更新される。
【0018】
記録部102は、最新の更新データとして、第1更新データと、第2更新データとをそれぞれ記録保持する。第1更新データは、変更があった道路に加え、変更がなかった道路のデータも更新したデータである。例えば、地図データを全更新するときのデータ内容に相当する。第2更新データは、変更があった道路のデータを更新するためのデータである。第1更新データと第2更新データは、いずれも最新の更新データであり、この第1更新データもしくは第2更新データを用いることで、端末装置の地図データは最新の地図データとなる。また後述するように、端末装置の地図データのバージョン情報に応じて、この第1更新データもしくは第2更新データのいずれかが端末装置に送信される。
【0019】
この最新の更新データである第1更新データと第2更新データとは、同一のバージョン情報を保持している。このバージョン情報は、後述する第1更新によってカウントアップするジェネレーションバージョンと呼称する第1バージョン情報と、後述する第2更新によってカウントアップするマンスリーバージョンと呼称する第2バージョン情報とからなる。具体的には、バージョン情報は例えば「1.0」のような数値で表し、小数点の前を第1バージョン情報、小数点の後を第2バージョン情報とする。後述する第1更新があった場合は、第1バージョン情報をカウントアップし、「2.0」とする。その後、後述する第2更新があった場合は、第2バージョン情報をカウントアップし、「2.1」とする。
【0020】
上記の記録部102は、定期的に第1更新データと、第2更新データを更新記憶する。第1更新データは、例えば、半年に1回更新され、差分データ量が大きい大データである。さらに、記録部102は、後述する毎月の地図データの更新を含む第1更新データを月毎に記録する。
【0021】
記録部102は、第1更新データについて、前回更新以降に変更があった道路に加え、変更がなかった道路のデータ(前回更新用のデータ)も含めて更新(第1更新)を行う。この第1更新が発生した場合に、第1バージョン情報(ジェネレーションバージョン)の値(版数)をカウントアップする。
【0022】
第2更新データは、例えば、毎月更新され、差分データ量が小さい小データである。
【0023】
記録部102は、第2更新データについて、変更があった道路のデータを更新する第2更新が発生した場合に、第2バージョン情報(マンスリーバージョン)の値(版数)をカウントアップする。
【0024】
決定部103は、取得部101が取得した端末装置の地図データのバージョン情報と、記録部102が記録している更新データに対応するバージョン情報とを比較する。そして、端末に送信すべき更新データが第1更新データであるか、あるいは第2更新データであるか、のいずれかを決定する。
【0025】
ここで、上記の取得部101は、端末装置から地図データの更新の要求があったときに、端末装置の地図データのバージョン情報として、少なくとも第1バージョン情報を端末装置から取得し、決定部103に出力する。
【0026】
そして、決定部103は、端末装置の現在の第1バージョン情報(ジェネレーションバージョンと、送信装置100の記録部102が記録保持している最新の第1バージョン情報とを比較する。
【0027】
そして、決定部103は、比較の結果、端末装置の現在の第1バージョン情報よりも送信装置100の最新の地図データの第1バージョン情報のほうが値が大きい場合には、第1更新データを更新データとして決定する。
【0028】
一方、端末装置の現在の第1バージョン情報と送信装置100の最新の地図データの第1バージョン情報の値が同一であり、かつ端末装置の現在の第2バージョン情報よりも送信装置100の最新の地図データの第2バージョンのほうが値が大きい場合は、第2更新データを更新データとして決定する。
【0029】
送信部104は、決定部103が決定した更新データ(第1更新データあるいは第2更新データ)を端末装置に送信する。
【0030】
図2は、実施の形態にかかる送信装置の処理手順の一例を示すフローチャートである。送信装置100は、はじめに、取得部101は、端末装置が保持している地図データのバージョン情報を端末装置から取得する(ステップS201)。取得のタイミングは、例えば、端末装置から地図データの更新要求があった場合に行う。この際、取得部101は、端末装置が記録している地図データのバージョン情報として、少なくとも第1バージョン情報を端末装置から取得する。
【0031】
つぎに、送信装置100は、決定部103により、端末装置の地図データのバージョン情報と、送信装置100の記録部102が記録している更新データに対応するバージョン情報とを比較する(ステップS202)。この際、決定部103は、端末装置の現在の第1バージョン情報(ジェネレーションバージョン)の値と、送信装置100の記録部102が記録保持している最新の第1バージョン情報の値とを比較する。
【0032】
そして、決定部103は、比較の結果、端末装置の現在の第1バージョン情報よりも送信装置100の最新の地図データの第1バージョン情報のほうが値が大きい場合には(ステップS203:Yes)、現時点での第1更新データを更新データとして決定する(ステップS204)。
【0033】
一方、端末装置の現在の第1バージョン情報と送信装置100の最新の地図データの第
1バージョン情報の値が同一であり、かつ端末装置の現在の第2バージョン情報よりも送信装置100の最新の地図データの第2バージョンのほうが値が大きい場合は(ステップS203:No)、現時点での第2更新データを更新データとして決定する(ステップS205)。
【0034】
この後、送信部104は、決定部103が決定した更新データ(第1更新データあるいは第2更新データ)を端末装置に送信し(ステップS206)、処理を終了する。
【0035】
以上説明した実施の形態によれば、送信装置は、端末装置の現在のバージョン情報を取得して、端末装置で必要なデータの差分量によって、更新方法、更新データ形式を自動的に変更する。これによって、端末装置にとって最適な更新方法、更新データサイズで差分更新が行えるようになる。また、更新方法、更新データ形式を判別するためのバージョン運用を用いることで、送信装置側で端末装置の差分量を常に管理しなくても、端末装置のバージョンを取得することのみで最適な更新方法、更新データ形式を判断できるようになる。
【0036】
これにより、端末装置は、最適なデータ量でのデータ更新することができるようになり、同時に送信装置から端末装置に対して送信する更新データも最小限のデータ量で済むこととなり、端末装置およびデータ送信装置のいずれにおいても、データ更新を効率的かつデータ処理負荷および通信負荷を最小限にすることができる。
【実施例0037】
つぎに、本発明の実施例について説明する。実施例では、ユーザの車両にナビゲーション装置300が搭載され、サーバに通信接続されている。ナビゲーション装置300は、地図データを更新可能に記録保持し、更新時にサーバに取得要求を行い、サーバから地図データをダウンロードする。そして、サーバが上記送信装置100の機能を実行し、ナビゲーション装置300が上記端末装置の機能を実行する場合の一例について説明する。
【0038】
(ナビゲーション装置300のハードウェア構成)
図3は、送信装置の実施例にかかるナビゲーション装置のハードウェア構成の一例を示すブロック図である。
図3において、ナビゲーション装置300は、CPU301、ROM302、RAM303、磁気ディスクドライブ304、磁気ディスク305、光ディスクドライブ306、光ディスク307、音声I/F(インターフェース)308、マイク309、スピーカ310、入力デバイス311、映像I/F312、ディスプレイ313、通信I/F314、GPSユニット315、各種センサ316、カメラ317、を備えている。各構成部301~317は、バス320によってそれぞれ接続されている。
【0039】
CPU301は、ナビゲーション装置300の全体の制御を司る。ROM302は、ブートプログラム、撮影プログラムを記録している。RAM303は、CPU301のワークエリアとして使用される。すなわち、CPU301は、RAM303をワークエリアとして使用しながら、ROM302に記録された各種プログラムを実行することによって、ナビゲーション装置300の全体の制御を司る。
【0040】
磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータの読み取り/書き込みを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記録する。磁気ディスク305としては、例えば、HD(ハードディスク)やFD(フレキシブルディスク)を用いることができる。
【0041】
また、光ディスクドライブ306は、CPU301の制御にしたがって光ディスク30
7に対するデータの読み取り/書き込みを制御する。光ディスク307は、光ディスクドライブ306の制御にしたがってデータが読み出される着脱自在な記録媒体である。光ディスク307は、書き込み可能な記録媒体を利用することもできる。着脱可能な記録媒体として、光ディスク307のほか、MO、メモリカードなどを用いることができる。
【0042】
磁気ディスク305および光ディスク307に記録される情報の一例としては、地図データ、車両情報、道路情報、走行履歴などが挙げられる。地図データは、カーナビゲーションシステムにおいて経路探索するときに用いられ、建物、河川、地表面、エネルギー補給施設などの地物(フィーチャ)をあらわす背景データ、道路の形状をリンクやノードなどであらわす道路形状データなどを含むベクタデータである。
【0043】
なお、この地図データには、バージョン情報も含まれている。このバージョン情報は、上述した第1バージョン情報(ジェネレーションバージョン)と第2バージョン情報(マンスリーバージョン)とからなるバージョン情報である。
【0044】
音声I/F308は、音声入力用のマイク309および音声出力用のスピーカ310に接続される。マイク309に受音された音声は、音声I/F308内でA/D変換される。マイク309は、例えば、車両のダッシュボード部などに設置され、その数は単数でも複数でもよい。スピーカ310からは、所定の音声信号を音声I/F308内でD/A変換した音声が出力される。
【0045】
入力デバイス311は、文字、数値、各種指示などの入力のための複数のキーを備えたリモコン、キーボード、タッチパネルなどが挙げられる。入力デバイス311は、リモコン、キーボード、タッチパネルのうちいずれか一つの形態によって実現されてもよいが、複数の形態によって実現することも可能である。
【0046】
映像I/F312は、ディスプレイ313に接続される。映像I/F312は、具体的には、例えば、ディスプレイ313全体を制御するグラフィックコントローラと、即時表示可能な画像情報を一時的に記録するVRAM(Video RAM)などのバッファメモリと、グラフィックコントローラから出力される画像データに基づいてディスプレイ313を制御する制御ICなどによって構成される。
【0047】
ディスプレイ313には、アイコン、カーソル、メニュー、ウインドウ、あるいは文字や画像などの各種データが表示される。ディスプレイ313としては、例えば、TFT液晶ディスプレイ、有機ELディスプレイなどを用いることができる。
【0048】
カメラ317は、車両外部の道路を含む映像を撮影する。映像は静止画あるいは動画のどちらでもよく、例えば、カメラ317によって車両外部を撮影し、撮影した画像をCPU301において画像解析したり、映像I/F312を介して磁気ディスク305や光ディスク307などの記録媒体に出力したりする。
【0049】
通信I/F314は、無線を介してネットワークに接続され、ナビゲーション装置300およびCPU301のインターフェースとして機能する。ネットワークとして機能する通信網には、CANやLIN(Local Interconnect Network)などの車内通信網や、公衆回線網や携帯電話網、DSRC(Dedicated Short Range Communication)、LAN、WANなどがある。通信I/F314は、例えば、公衆回線用接続モジュールやETC(ノンストップ自動料金支払いシステム、登録商標)ユニット、FMチューナー、VICS(登録商標)/ビーコンレシーバなどである。
【0050】
この通信I/F314を用い、後述するサーバとの通信を行い、磁気ディスク305および光ディスク307に記録されている地図データのバージョン情報をサーバへ送信する。
【0051】
GPSユニット315は、GPS衛星からの電波を受信し、車両の現在位置を示す情報を出力する。GPSユニット315の出力情報は、後述する各種センサ316の出力値とともに、CPU301による車両の現在位置の算出に際して利用される。現在位置を示す情報は、例えば、緯度・経度、高度などの、地図データ上の1点を特定する情報である。
【0052】
各種センサ316は、車速センサ、加速度センサ、角速度センサ、傾斜センサなどの、車両の位置や挙動を判断するための情報を出力する。各種センサ316の出力値は、CPU301による車両の現在位置の算出や、速度や方位の変化量の算出に用いられる。
【0053】
(サーバの構成例)
図1に記載した送信装置として用いるサーバについても、
図3と同様の構成を有する。なお、このサーバにおいては、
図3に記載のGPSユニット315、各種センサ316、カメラ317等は不要である。
図1に示した送信装置100は、
図3に記載のROM302、RAM303、磁気ディスク305、光ディスク307などに記録されたプログラムやデータを用いて、CPU301が所定のプログラムを実行することによって
図1の決定部103の機能を実現する。また、
図3の通信I/F314を用いて
図1の取得部101、送信部104の機能を実現できる。また、
図3の磁気ディスク305や光ディスク307等を用いて
図1の記録部102の機能を実現できる。
【0054】
(更新に用いる地図データについて)
図4は、実施例にかかるサーバが保持する地図データの例を示す図である。つぎに、送信装置100であるサーバが保持する地図の更新データの管理状態について説明する。
図4には、上述した第1更新データV1と、第2更新データV2とを記載してある。
【0055】
第1更新データV1は、例えば、半年ごと(2016年11月の次は2017年5月)に更新され、地図データの内容が前回更新時の第1更新データV1に比して大幅に変更される。さらに、図示の例では第1更新データV1は2ヵ月ごとの更新を含む内容に2ヶ月ごとに更新される。第2更新データV2は、図示の例では、2ヶ月ごとに更新(2016年7月の次は2016年9月に更新)され、第1更新データV1に比して地図データの内容の変更は小さい(少ない)。
【0056】
サーバは、図示のように、奇数月毎に第1更新データV1および第2更新データV2をいずれも端末装置(ナビゲーション装置300)に提供可能に保持している。
【0057】
図4中、「大」は差分が大きいことを示し、「小」は差分が小さいことを示す。「小」の更新データは、前回更新データとの差分、すなわち前回更新データに比して変更している部分の差分データをバイナリ差分で保持している(データ量は、例えば100MByte)。「大」の更新データは、製品としての地図データ出荷時からの全データを含む、ファイル単位で保持している(データ量は、例えば2Gbyte)。
【0058】
図4の例で見て、例えば、2016年5月に発売されたナビゲーション装置300が記録保持していた地図データについて、ナビゲーション装置300のユーザが、2016年9月にデータの更新を実施する場合について説明する。この場合、サーバの決定部103(CPU301)は、前回データ(購入時)に比して、データの変化量が少ない状態であると判断し、2016年7月と9月の差分「小」の第2更新データV2をナビゲーション装置300にダウンロードし、ナビゲーション装置300での地図データの更新を行わせ
る。
【0059】
また、同じく2016年5月に購入したユーザが、2017年9月のデータの更新を実施する場合には、サーバは、データの変化量が大きくなると判断し、2017年9月の差分「大」の第1更新データV1をナビゲーション装置300にダウンロードする。このように、サーバは、ナビゲーション装置300の更新時に必要なデータの変化量に合わせ、必要な更新データが第1更新データV1であるか第2更新データV2であるかを判断して適切な更新データをナビゲーション装置300にダウンロードする。
【0060】
このようにサーバは、「小」のバイナリ差分の更新回数が多くなりすぎるとかえって更新時間が長くなる事を防ぐため、更新時期に応じて「大」のファイルを用いた更新に切り替えて、結果的にデータ更新時間の短縮化を図っている。
【0061】
上記のように、差分「大」の第1更新データV1を半年に1回行うのは、例えば下記の理由による。
1.追加された道路リンクIDと整合性を合わせるため、既存の道路リンクのIDが変更されるため。
2.半年に一回に大幅な元データの整備が行われるため、その整備前後では、編集後の様々なIDが変わってしまうため。例えば、道路が1本追加されると、その整合性を取るために既存の道路リンクIDにも変更が生じる。また、既存の道路リンクIDが変わることにより、既存の道路リンクIDに紐付いている様々なデータの整合性を取る必要がある。
【0062】
(地図データの更新処理例)
図5は、実施例にかかる地図データの更新処理例を示すフローチャートである。以下の処理において、ステップS501~ステップS506までがサーバが行う処理であり、ステップS507~ステップS512までがナビゲーション装置300が行う処理である。サーバおよびナビゲーション装置300のいずれもCPUが以下の処理を実行する。
【0063】
はじめに、ナビゲーション装置(ナビと称す)300は、地図データの更新時に、サーバに現在の地図データのバージョン情報をアップ(アップロード)する(ステップS501)。この際、ナビ300は、サーバに対し、第1バージョン情報(ジェネレーションバージョン)と第2バージョン情報(マンスリーバージョン)とを含むバージョン情報を通知する。
【0064】
そして、サーバは、サーバが現在保持するデータ(更新データ)のバージョン情報と、ナビ300のデータのバージョン情報とを比較する(ステップS502)。このとき、少なくとも、サーバは、第1バージョン情報(ジェネレーションバージョン)の比較を行う。
【0065】
次に、サーバは、サーバが保持するデータ(更新データ)の第1バージョン情報(ジェネレーションバージョン)のほうが、ナビ300の第1バージョン情報(ジェネレーションバージョン)よりも大きい(新しい)か判断する(ステップS503)。サーバの第1バージョン情報(ジェネレーションバージョン)がナビ300のデータの第1バージョン情報(ジェネレーションバージョン)よりも大きい場合は(ステップS503:Yes)、サーバは、差分が「大」のデータをナビ300にダウンロードし(ステップS504)、ステップS507に移行する。
【0066】
一方、サーバの第1バージョン情報(ジェネレーションバージョン)がナビ300の第1バージョン情報(ジェネレーションバージョン)と等しいか小さい(古い)場合は(ステップS503:No)、サーバは、サーバの第1バージョン情報(ジェネレーションバ
ージョン)がナビ300の第1バージョン情報(ジェネレーションバージョン)と等しく且つサーバの第2バージョン情報(マンスリーバージョン)が、ナビ300の第2バージョン情報(マンスリーバージョン)より大きいかを判断する(ステップS505)。
【0067】
ここで、サーバの第1バージョン情報(ジェネレーションバージョン)がナビ300の第1バージョン情報(ジェネレーションバージョン)と等しく且つサーバの第2バージョン情報(マンスリーバージョン)が、ナビ300の第2バージョン情報(マンスリーバージョン)より大きい場合は(ステップS505:Yes)、サーバは、差分「小」のデータをナビ300にダウンロードし(ステップS506)、ステップS507に移行する。
【0068】
一方、サーバの第1バージョン情報(ジェネレーションバージョン)がナビ300の第1バージョン情報(ジェネレーションバージョン)と等しくサーバの第2バージョン情報(マンスリーバージョン)がナビ300の第2バージョン情報(マンスリーバージョン)より小さい場合には(ステップS505:No)、ナビ300へのデータダウンロードを行わずステップS512に移行する。
【0069】
ステップS507では、ナビ300は、ナビ側の現在の地図データのバージョンとダウンロードされた更新データのバージョンとを比較する(ステップS507)。この後、ナビ300は、ダウンロードされたジェネレーションバージョンのほうがナビ300のバージョンより大きい場合には(ステップS508:Yes)、ダウンロードされた更新データ(第1更新データV1、ジェネレーションバージョン)のファイルをナビ300内のファイルと差し替え(ステップS509)、処理を終了する。
【0070】
一方、ダウンロードされた第1バージョン情報(ジェネレーションバージョン)がナビ300の第1バージョン情報(ジェネレーションバージョン)と等しい、あるいは小さい場合には(ステップS508:No)、ナビ300は、ステップS510に移行する。
【0071】
ステップS510では、ナビ300は、ダウンロードされたデータとナビ300の現在の地図データの第1バージョン情報(ジェネレーションバージョン)とが互いに等しく、且つダウンロードされた更新データの第2バージョン情報(マンスリーバージョン)がナビ300の現在の第2バージョン情報(マンスリーバージョン)より大きいか判断する(ステップS510)。そして、ダウンロードされたデータとナビ300の現在の地図データの第1バージョン情報(ジェネレーションバージョン)が等しく、且つダウンロードされた更新データの第2バージョン情報(マンスリーバージョン)がナビ300の現在の第2バージョン情報(マンスリーバージョン)より大きければ(ステップS510:Yes) 、ナビ300は、ダウンロードされた更新データ(第2更新データV2)を使用して、現在の地図データに対するバイナリ差分更新を行う(ステップS511)。
【0072】
ステップS510でダウンロードされたデータとナビ300の現在の地図データの第1バージョン情報(ジェネレーションバージョン)が互いに等しく、且つダウンロードされた更新データの第2バージョン情報(マンスリーバージョン)がナビ300の現在の第2バージョン情報(マンスリーバージョン)より小さい場合には(ステップS510:No)、今回地図データに対して対象となる差分データ(更新データ)がないので更新を行わない(ステップS512)。
【0073】
上記処理で示したように、地図データ更新時における前回更新時からのデータの変化量により、データや更新方法を変えており、差分が「大」の場合はファイル毎の差し替えを行い、差分が「小」の場合は、バイナリ差分更新とすることで、更新時のデータ量に対応していずれも効率的にデータ更新できるようになる。ただし、更新データや更新方法は上記ファイル更新とバイナリ差分更新に限らない。
【0074】
(地図データの更新例)
図6、
図7は、それぞれ実施例にかかる地図データの更新例を示す図である。
図5の処理例にしたがい、はじめに、
図6を用いて地図データの更新例1(case1)を説明する。この更新例1では、2016年5月に発売されたナビゲーション装置300が記録保持していた地図データについて、ナビゲーション装置300のユーザが、2016年9月にデータの更新を実施する場合について説明する。
【0075】
この場合、サーバの決定部103(CPU301)は、前回データ(購入時)に比して、データの変化量が少ない状態であると判断し、2016年7月と9月の差分「小」の第2更新データV2をナビゲーション装置300にダウンロードし、ナビゲーション装置300での地図データの更新を行わせる。
【0076】
そして、ナビゲーション装置300は、2016年7月の差分「小」の第2更新データV2に基づきバイナリ差分でデータ更新した後、2016年9月の差分「小」の第2更新データV2に基づきバイナリ差分でデータ更新を行う。
【0077】
次に、
図7を用いて地図データの更新例2(case2)を説明する。この更新例2では、2016年5月に発売されたナビゲーション装置300が記録保持していた地図データについて、ナビゲーション装置300のユーザが、2017年9月にデータの更新を実施する場合について説明する。
【0078】
この場合、サーバの決定部103(CPU301)は、前回データ(購入時)に比して、データの変化量が大きい状態であると判断し、2017年9月の差分「大」の第1更新データV1をナビゲーション装置300にダウンロードし、ナビゲーション装置300での地図データの更新を行わせる。
【0079】
そして、ナビゲーション装置300は、2017年9月の差分「大」の第1更新データV1に基づきファイル更新でデータ更新を行う。
【0080】
この2017年9月の差分データ「大」は、2017年5月の差分データ「大」のデータに、2017年7月分の差分データ「小」と、2017年9月分の差分データ「小」を反映させたデータである。
【0081】
このような差分データ「大」は、サーバにおいて地図データが更新されるたびに整備される。そして、
図7の更新例2のように、地図更新を長い間行っていなかったユーザ(ナビゲーション装置300においても1回の更新作業で地図データの更新が可能となる。
【0082】
なお、2017年9月の差分データ「大」、もしくは2017年9月の差分データ「小」をダウンロードすることにより、ユーザが使用する地図データは同一となるため、それぞれ同じバージョン情報が付与される。
【0083】
以上説明した実施例によれば、サーバは、ナビゲーション装置の現在の地図データのバージョン情報を取得して、ナビゲーション装置の地図データ更新に必要なデータが差分量が大きい第1更新データであるか、あるいは差分データ量が少ない第2更新データであるかを判断する。これによって、サーバは、ナビゲーション装置で必要な差分データ量に対応する更新データをナビゲーション装置に送信(ダウンロード)できるようになる。
【0084】
これにより、ナビゲーション装置は、記憶保持する元の地図データに対し、差分更新を永続的に続ける必要がなく、例えば、前回更新時から時間が経過して差分量が大きくなっ
てしまい差分更新の処理時間が長くなることを防ぐことができる。このように、差分更新を行う頻度が少ないユーザにおいて、更新が必要な差分データがたまってしまうと、更新を行う際の差分データのサイズが元の地図データのサイズを超えることがあるが、本実施例によれば、時間経過時には、差分量が大きい第1更新データを用いてファイル更新するため、地図データの更新を効率的に行えるようになる。
【0085】
また、実施例では、地図データを更新する端末装置としてナビゲーション装置を用いる構成としたが、地図データを保持するスマートフォンやタブレットなどの端末装置にも同様に適用することができる。
【0086】
なお、本実施の形態で説明した方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。