以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
1.第1の実施の形態(ルート探索を情報処理端末側で行う例)
2.第2の実施の形態(ルート探索をサーバ側で行う例)
<第1の実施の形態>
[情報処理端末の構成]
図1は、本技術の一実施形態に係る情報処理端末の外観構成例を示す図である。
図1の情報処理端末1はPND(Portable Navigation Device)であり、ユーザが片手で把持可能な大きさの筐体を有している。情報処理端末1の筐体の前面にはLCD(Liquid Crystal Display)などよりなる表示部2が設けられる。例えば表示部2にはタッチパネルが積層して設けられており、表示部2に表示されるボタンなどをユーザが指で直接操作することができるようになっている。
情報処理端末1はGPS(Global Positioning System)機能を有し、自端末の位置を測位し、表示部2に表示した地図上に自端末の位置を表示する。また、情報処理端末1は、目的地が設定され、目的地までのルート(経路)の探索が指示された場合、探索を行い、探索により決定したルートを地図上に表示する。
情報処理端末1の筐体の背面には、情報処理端末1をクレードル3に固定させることが可能な部材が設けられている。ユーザは、例えば自動車のダッシュボードに吸盤3Aによって固定したクレードル3に情報処理端末1を取り付けたり、クレードル3から情報処理端末1を取り外して持ち出したりすることができる。
情報処理端末1のクレードルには、自動車用のクレードルであるクレードル3の他に、自転車用のクレードルなどの複数のクレードルが用意される。情報処理端末1は、クレードルに取り付けられたとき、例えばクレードルと電気的に接続され、クレードルから読み出したIDなどに基づいて、どのクレードルに取り付けられているのかを検出する。情報処理端末1のユースケースとしては、ユーザは、情報処理端末1を携帯して徒歩で移動することもあるし、自転車用のクレードルに情報処理端末1を取り付けて自転車で移動することもある。また、ユーザは、自動車用のクレードルに情報処理端末1を取り付けて自動車で移動することもある。
以下、主に、ユーザの移動形態が徒歩、自転車、または自動車である場合について説明するが、ユーザが情報処理端末1を持って移動する形態は、徒歩による移動、自転車による移動、自動車による移動に限られるものではない。
このような外観構成を有する情報処理端末1は、ユーザが徒歩、自転車、または自動車によって通行した道路の履歴を、移動形態毎に蓄積し、管理する。情報処理端末1の内部のメモリには、徒歩で通行した道路の履歴、自転車で通行した道路の履歴、自動車で通行した道路の履歴がそれぞれ記憶される。
情報処理端末1は、現在地から目的地までのルートの探索が指示されたとき、いまのユーザの移動形態に応じた通行履歴に基づいて通行頻度の低い道路を優先的に選択し、目的地までのルートを決定する。通行頻度の低い道路には、通行回数が少ない道路だけでなく、通行したことがない道路も含まれる。通行頻度の低い道路を優先的に選択するようにして決定された目的地までのルートは表示部2に表示され、ユーザに提示される。
図2は、通行頻度の低い道路を優先的に選択するようにして決定されたルートの表示例を示す図である。
図2の例においては、所定の範囲の地図が表示部2に表示され、情報処理端末1の現在地に対応する位置には、情報処理端末1の現在地であることを表すアイコンI1が表示されている。また、ユーザにより設定された目的地に対応する位置には、目的地であることを表すアイコンI2が表示されている。
また、現在地と目的地を結ぶルートのうち、通行頻度の低い道路を優先的に選択するようにして決定されたルートが実線矢印#1によって表示されている。破線矢印#2で示すルートは通行頻度が高い道路からなるルートであり、破線矢印#3で示すルートは最短距離のルートである。通行頻度が高い道路からなるルートと最短距離のルートについては表示部2に表示されないようにすることも可能である。
これにより、ユーザは、通行頻度の低い道路を確認することができ、表示されたルートに従って移動することによって、いつもと違う道路を使って目的地まで行くことができる。いつもと違う道路を使うことによって、ユーザは、道沿いにあるものについて新たな発見をしたり、道沿いの地域について詳しくなったりすることが可能になる。
なお、図2において通行頻度の低いルート沿いに示すアイコンI11,I12,I13は、それぞれケーキ屋の場所、オブジェの場所、公園の場所を表すアイコンである。これらのアイコンは、ユーザによってケーキ屋の場所、オブジェの場所、公園の場所が予め登録されることによって表示される。また、例えば、掲示板サイトへの書き込みなどのテキストデータをWebサーバから取得し、取得したテキストデータにケーキ屋、オブジェ、公園の情報が含まれることに応じて表示される。
すなわち、ルートの探索には、適宜、通行頻度だけでなく、ユーザによって登録された場所や、掲示板サイトに書き込まれた場所なども考慮される。これらの情報を考慮したルート探索については後述する。
図3は、情報処理端末1のハードウェア構成例を示すブロック図である。
情報処理端末1は、演算処理部11に対して、操作入力部12、出力部13、位置検出部14、センサ部15、通信部16、着脱検出部17、および記憶部18が接続されることによって構成される。
演算処理部11は、CPU(Central Processing Unit)31、ROM(Read Only Memory)32、RAM(Random Access Memory)33、不揮発性メモリ34、およびインターフェース部35がバスを介して接続されることによって構成される。CPU31は、ROM32や不揮発性メモリ34からプログラムをロードしてRAM33を用いて実行し、情報処理端末1の全体の動作を制御する。
不揮発性メモリ34は、書換え可能、かつ電源の供給が途絶えた時にもデータを保持できるメモリである。不揮発性メモリ34は、電池により電源がバックアップされたSRAM(Static Random Access Memory)や、フラッシュメモリなどにより構成される。
インターフェース部35は、演算処理部11に接続される各部との間のインターフェースとして機能する。CPU31から各部に対する制御情報や、各部からCPU31に対する情報がインターフェース部35を介して送受信される。
操作入力部12は、情報処理端末1の筐体に設けられたスイッチや、表示部2に積層されたタッチパネルに対するユーザの操作を検出し、ユーザの操作の内容を表す情報を演算処理部11に出力する。また、操作入力部12は、リモートコントローラからの信号を受信し、リモートコントローラに対するユーザの操作の内容を表す情報を演算処理部11に出力する。マイク等に対する音声入力、カメラ等による画像の入力が操作入力部12により検出されるようにしてもよい。
出力部13は、表示部2とスピーカ41により構成される。表示部2は、演算処理部11による制御に従って、地図や、探索結果のルートを表示してユーザに提示する。
スピーカ41は、探索結果のルートを画面表示ではなく音声によってユーザに提供する場合、演算処理部11による制御に従って、探索結果のルートを通知する音声を出力する。
位置検出部14は、GPSからの電波を受信し、情報処理端末1の位置を検出する。GPSからの電波を用いるのではなく、携帯電話機の基地局からの電波や、無線LAN(Local Area Network)のアクセスポイントからの電波などに基づいて測位が行われるようにしてもよい。
センサ部15は、ジャイロセンサ、加速度センサ、振動センサなどのセンサにより構成される。センサ部15により検出された情報は演算処理部11に出力され、位置検出部14により検出された位置の修正などに用いられる。
通信部16は、Bluetooth(登録商標)や無線LANなどの無線を介して、LANやインターネットなどのネットワーク上の装置と通信を行う。情報処理端末1が、USB(Universal Serial Bus)ケーブルなどの有線を介して外部の装置に接続されるようにしてもよい。
着脱検出部17は、クレードルに対する情報処理端末1の取り付けの状態を検出する。
また、着脱検出部17は、どのクレードルに取り付けられているのかを検出する。着脱検出部17による検出結果の情報は演算処理部11に供給される。
クレードルに対する取り付けの状態は、クレードルとの接合部分に設けられた端子に接触したときの電源電圧の変化に基づいて検出されるようにしてもよいし、クレードルとの接合部分にスイッチを設け、機械的に検出されるようにしてもよい。また、情報処理端末1の筐体に運搬用の取っ手を設け、その取っ手が格納されているか否かに基づいて検出されるようにしてもよい。例えば取っ手が格納されている場合、クレードルに取り付けられていることが検出される。取り付けられているクレードルの種類は、例えば、上述したようにクレードルに取り付けられたときにクレードルから読み出したIDに基づいて検出される。
記憶部18は、フラッシュメモリやハードディスクなどよりなり、地図データや通行履歴の情報を記憶する。記憶部18には、地図上の建物、店舗、公園などの情報であるPOI(Point Of Interest)情報、検索情報、音楽コンテンツ、ビデオコンテンツなども記憶される。
図4は、情報処理端末1の機能構成例を示すブロック図である。図4に示す機能部のうちの少なくとも一部は、図3のCPU31により所定のプログラムが実行されることによって実現される。
ユーザインターフェース部51は、操作入力部12から供給された情報を取得し、情報処理部52に出力する。また、ユーザインターフェース部51は、着脱検出部17から供給された情報を取得し、情報処理部52に出力するとともに、クレードルに対する着脱状態を表す情報を着脱状態記憶部53に記憶させる。
さらに、ユーザインターフェース部51は、情報処理部52、メニュー処理部54、文字表示処理部56から供給された情報に基づいて表示部2の表示を制御する。例えば、情報処理部52からは、地図の情報と探索結果のルートの情報が供給される。また、メニュー処理部54からは、メニュー画面の情報が供給される。文字表示処理部56からは、ユーザが入力した文字の情報が供給される。
メニュー処理部54は、車載用メニュー処理部54Aと家庭用メニュー処理部54Bから構成される。車載用メニュー処理部54Aは、情報処理端末1が自動車用のクレードルに取り付けられている場合においてメニュー画面の表示がユーザにより指示されたとき、車載用のメニュー画面の情報をユーザインターフェース部51に出力し、表示部2に表示させる。情報処理端末1が自動車用のクレードルに取り付けられているか否かは、着脱状態記憶部53に記憶されている情報に基づいて特定される。
家庭用メニュー処理部54Bは、情報処理端末1が自動車用のクレードルに取り付けられている場合以外の場合においてメニュー画面の表示がユーザにより指示されたとき、メニュー画面の情報をユーザインターフェース部51に出力し、表示部2に表示させる。情報処理端末1が自動車用のクレードルに取り付けられている場合とそれ以外の場合とで例えば異なるメニュー画面が表示される。
文字入力処理部55は、車載用文字入力処理部55Aと家庭用文字入力処理部55Bから構成される。車載用文字入力処理部55Aは、情報処理端末1が自動車用のクレードルに取り付けられている場合においてユーザにより文字の入力が要求されたとき、文字の入力欄を表示部2に表示させるなどして文字の入力を行わせる。ユーザによる文字の入力は場所を検索するときなどに行われる。
家庭用文字入力処理部55Bは、情報処理端末1が自動車用のクレードルに取り付けられている場合以外の場合においてユーザにより文字の入力が要求されたとき、文字の入力欄を表示部2に表示させるなどして文字の入力を行わせる。情報処理端末1が自動車用のクレードルに取り付けられている場合とそれ以外の場合とで、例えば異なる文字の入力欄が表示される。
文字表示処理部56は、車載用文字表示処理部56Aと家庭用文字表示処理部56Bから構成される。車載用文字表示処理部56Aは、情報処理端末1が自動車用のクレードルに取り付けられている場合においてユーザにより文字が入力されたとき、ユーザにより入力された文字の情報をユーザインターフェース部51に出力し、表示部2に表示させる。
家庭用文字表示処理部56Bは、情報処理端末1が自動車用のクレードルに取り付けられている場合以外の場合においてユーザにより文字が入力されたとき、ユーザにより入力された文字の情報をユーザインターフェース部51に出力し、表示部2に表示させる。
図5は、図4の情報処理部52の構成例を示すブロック図である。
情報処理部52は、移動形態検出部71、履歴管理部72、履歴記憶部73、通行頻度計算部74、登録情報/注目情報取得部75、探索用情報記憶部76、探索部77、地図データ記憶部78、および表示制御部79から構成される。履歴記憶部73、登録情報/注目情報取得部75、および地図データ記憶部78は、例えば記憶部18において実現される。サーバ上の記憶部、情報処理端末1に装着されたリムーバブルメディアなどの、記憶部18以外の記憶部に履歴記憶部73、登録情報/注目情報取得部75、および地図データ記憶部78が実現されるようにしてもよい。
着脱検出部17により検出されたクレードルに対する着脱状態を表す情報はユーザインターフェース部51から移動形態検出部71に入力される。また、位置検出部14による測位によって得られた現在地の情報はユーザインターフェース部51から履歴管理部72と探索部77に入力される。操作入力部12により検出されたユーザの操作の内容を表す情報はユーザインターフェース部51から登録情報/注目情報取得部75および探索部77に入力される。
移動形態検出部71は、着脱検出部17により検出されたクレードルに対する着脱状態を表す情報に基づいて、ユーザの移動形態を判別する。例えば、移動形態検出部71は、情報処理端末1がクレードルに取り付けられていない場合、ユーザの移動形態が徒歩であると判別し、自転車用のクレードルに取り付けられている場合、ユーザの移動形態が自転車であると判別する。また、移動形態検出部71は、自動車用のクレードルに取り付けられている場合、ユーザの移動形態が自動車であると判別する。
移動形態検出部71は、通行履歴の蓄積時、判別したユーザの移動形態を表す情報を履歴管理部72に出力する。また、移動形態検出部71は、ルートの探索時、判別したユーザの移動形態を表す情報を探索部77に出力する。
履歴管理部72は、移動形態検出部71から供給されたユーザの移動形態を表す情報と、ユーザが情報処理端末1を持って移動しているときに所定の周期で位置検出部14により検出された現在地の情報を取得する。履歴管理部72は、地図データ記憶部78に記憶されている地図データとのマッチングを行うなどして、ユーザが現在通行している道路を検出し、ユーザの移動形態毎に、通行した道路の情報を通行履歴として履歴記憶部73に記憶させる。通行履歴として記憶される通行した道路の情報には、どの道路を通行したのかといった道路の識別情報だけでなく、道路の勾配の情報も含まれる。
履歴記憶部73は、通行履歴を移動形態毎に記憶する。通行履歴には、ユーザがそれぞれの道路を通行した時刻の情報も含まれる。
通行頻度計算部74は、移動形態毎の通行履歴を履歴記憶部73から読み出し、各道路の通行頻度を通行履歴に基づいて計算する。通行頻度計算部74は、移動形態毎に、各道路の通行頻度の情報を探索用情報記憶部76に記憶させる。
登録情報/注目情報取得部75は、操作入力部12に対するユーザの操作に基づいて、ユーザのお気に入りの場所を特定する。お気に入りの場所の登録は、例えば、表示部2に表示された地図上でユーザが所定の位置を選択することによって行われる。登録情報/注目情報取得部75は、特定したユーザのお気に入りの場所の情報を探索用情報記憶部76に記憶させる。お気に入りの場所の情報には、お気に入りの場所の位置情報や、ユーザにより登録されたお気に入りの程度を表す情報が含まれる。
また、登録情報/注目情報取得部75は、通信部16を制御してWebサーバにアクセスし、テキストデータをダウンロードして取得する。例えば、Webサーバが掲示板サイトを管理するサーバである場合、掲示板に書き込まれたテキストデータが取得される。
登録情報/注目情報取得部75は、取得したテキストデータを解析することによって建物、店舗、公園などの名前を抽出する。登録情報/注目情報取得部75は、地図データ記憶部78に記憶されている地図に載っている建物、店舗、公園などの場所のうち、書き込みを行った人達の間で注目されている場所を特定する。また、登録情報/注目情報取得部75は、特定した注目場所の注目度を、例えば、同じ場所の名前がテキストデータに含まれる回数に基づいて求める。登録情報/注目情報取得部75は、注目場所の位置情報と注目度の情報を含む、注目場所の情報を探索用情報記憶部76に記憶させる。
探索用情報記憶部76は、通行頻度計算部74により計算された各道路の通行頻度の情報と、登録情報/注目情報取得部75から供給されたお気に入りの場所の情報、注目場所の情報を、ルートの探索に用いられる情報である探索用情報として記憶する。探索用情報には、地図上の各道路に関する情報も含まれる。
図6は、探索用情報記憶部76に記憶される探索用情報の例を示す図である。
探索用情報には、道路情報D1、道路接続情報D2、ユーザ情報D3、近隣情報D4、および交通情報D5が含まれる。図6に示す情報以外の情報が探索用情報に含まれるようにしてもよい。また、図6に示す情報のうちの一部の情報を用いてルート探索が行われるようにしてもよい。
道路情報D1には、地図上の各道路の長さ、各道路の幅、国道、県道、細街路、有料道路などの各道路の種別、側道であるか否かなどの各道路の道路構造、各道路の勾配、舗装道路であるか未舗装の道路であるかなどの各道路の状態の情報が含まれる。
道路接続情報D2には、各道路について右折道路であるか左折道路であるかを表す情報、交差点の有無の情報、踏切の有無の情報、信号機の有無の情報が含まれる。
ユーザ情報D3には、移動形態毎の各道路の通行頻度の情報、お気に入りの場所の情報、および、注目場所の情報が含まれる。ユーザ情報D3に含まれる通行頻度の情報が通行頻度計算部74により登録され、お気に入りの場所の情報と注目場所の情報が登録情報/注目情報取得部75により登録される。
近隣情報D4には、地図上の店舗の情報、公園の情報が含まれる。
交通情報D5には、渋滞の発生の有無、交通事故の発生の有無、通行の制限の有無の情報が含まれる。
図5の説明に戻り、探索部77は、地図上の所定の位置が目的地としてユーザにより設定され、現在地から目的地までのルートの探索が指示された場合、探索モードに応じて、所定の情報を探索用情報記憶部76から読み出す。探索モードには、いつもと違う道路を含むルートの探索を行うモードと、距離優先や時間優先で通常の探索を行うモードが含まれる。
例えば、探索部77は、いつもと違う道路を含むルートの探索を行うことが指示された場合、通行頻度の情報を含めて、図6の探索用情報全体を読み出す。また、探索部77は、通常の探索を行うことが指示された場合、図6の探索用情報のうち、少なくとも通行頻度の情報を除く情報を読み出す。すなわち、通行頻度の情報は、いつもと違う道路を含むルートの探索を行う場合にルート探索に用いられる。
探索部77は、探索用情報記憶部76から読み出した情報に基づいて、現在地から目的地までのルートの探索を行う。ルート探索のアルゴリズムには、例えば、現在地から目的地までの各ルートのコストを求め、コストの低いルートを選択するダイクストラ法が用いられる。A-star法などの他の探索アルゴリズムが用いられるようにしてもよい。なお、現在地は、位置検出部14により検出された位置に基づいて特定される。探索部77は、探索結果のルートの情報を表示制御部79に出力する。
地図データ記憶部78は、地図データとPOI情報を記憶する。
表示制御部79は、探索結果のルートの情報が探索部77から供給された場合、探索結果のルートを含む範囲の地図データを地図データ記憶部78から読み出し、地図上に探索結果のルートが表示される図2に示すような画面の情報を生成する。表示制御部79は、生成した画面の情報をユーザインターフェース部51に出力し、探索結果のルートを表示部2に表示させる。
[情報処理端末の動作]
ここで、情報処理端末1の動作について説明する。はじめに、図7のフローチャートを参照して、通行履歴を蓄積する情報処理端末1の処理について説明する。
図7の処理は、例えば、情報処理端末1の電源がオンにされ、ユーザが情報処理端末1を使っているときに繰り返し行われる。情報処理端末1の電源がオンにされたとき、位置検出部14により測位が行われ、現在地が検出される。
ステップS1において、移動形態検出部71は、着脱検出部17から供給された情報に基づいてユーザの移動形態を判別する。
ステップS2において、履歴管理部72は、位置検出部14により検出された現在地と、地図データ記憶部78に記憶されている地図データに基づいてユーザが通行している道路を特定する。
ステップS3において、履歴管理部72は、通行している道路の情報を移動形態毎に履歴記憶部73に記憶させ、処理を終了させる。図7の処理が繰り返し行われることによって、履歴記憶部73には、移動形態が徒歩である場合の通行履歴、自動車である場合の通行履歴、自転車である場合の通行履歴がそれぞれ記憶される。
次に、図8のフローチャートを参照して、情報処理端末1の学習処理について説明する。図8の処理は、通行履歴が履歴記憶部73に記憶される毎などの所定のタイミングで行われる。
ステップS11において、通行頻度計算部74は、所定の移動形態の通行履歴の情報を履歴記憶部73から読み出す。
ステップS12において、通行頻度計算部74は、履歴記憶部73から読み出した通行履歴の学習を行い、各道路の通行頻度を計算する。
ステップS13において、通行頻度計算部74は、計算により求めた通行頻度の情報を探索用情報記憶部76に記憶させ、処理を終了させる。
次に、図9のフローチャートを参照して、ルート探索を行う情報処理端末1の処理について説明する。図9の処理は、例えば、地図上の所定の位置が目的地としてユーザにより設定され、現在地から目的地までのルートの探索が指示されたときに開始される。
目的地を設定した後、表示部2には、探索に関する設定に用いられるメニュー画面が表示される。メニュー画面を用いることによって、ユーザは、いつもと違う道路を含むルートの探索を行うことを選択したり、有料道路を避けることを選択したりするなどの、探索に関する各種の設定を行うことができる。ユーザの選択内容を表す情報は操作入力部12により検出され、探索部77に供給される。
ステップS21において、探索部77は、いつもと違う道路を含むルートの探索を行うか否かを判定する。
いつもと違う道路を含むルートの探索を行うとステップS21において判定した場合、ステップS22において、探索部77は、移動形態に応じた通行頻度の情報を含む探索用情報を探索用情報記憶部76から読み出す。例えば、探索用情報記憶部76は、ユーザの移動形態が徒歩であると移動形態検出部71により判別されている場合、徒歩の通行履歴に基づいて学習された通行頻度の情報を含む探索用情報を探索用情報記憶部76から読み出す。
ステップS23において、探索部77はコスト計算処理を行う。コスト計算処理により、目的地までの任意のルートのコストが計算される。
ここで、図10のフローチャートを参照して、図9のステップS23において行われるコスト計算処理について説明する。
ステップS41において、探索部77は、探索に関するユーザによる設定のうち、コストの計算に関係する設定情報を取得する。有料道路を避けることの選択などが、コストの計算に関係する設定となる。
ステップS42において、探索部77は、探索用情報の各パラメータに重みを設定し、任意のルートのコストを計算する。
図11は、コスト計算について説明する図である。矢印で示すエッジが1本の道路に対応し、エッジの両端のノードが、道路によって結ばれる2地点に対応する。エッジを示す矢印の方向は通行可能な方向を表す。現在地に対応するノードをノードA、目的地に対応するノードをノードJとする。
この場合、はじめに、ノードAの隣の場所となるノードB,C,Dまでのルートである、ノードA−B間、ノードA−C間、ノードA−D間、ノードA−D−C間、ノードA−C−B間の各コストが計算される。
例えば、ノードA−B間のコストは、図6の各パラメータを用いて次のようにして求められる。道路情報D1のパラメータと道路接続情報D2のパラメータは、ノードAとノードBに対応する場所を結ぶ道路である道路A−Bに関するパラメータである。各パラメータに乗算される重みwが、ステップS41において取得された設定情報などに応じて変更される。
ノードA−B間のコスト
=(道路の長さ)×w11+(道路の幅)×w12+(道路の種別)×w13+(道路の構造)×w14+(道路の勾配)×w15+(道路の状態)×w16+(右左折)×w21+(交差点)×w22+(踏切の有無)×w23+(信号機の有無)×w24+(通行頻度)×w31+(お気に入りの場所)×w32+(注目場所)×w33+・・・・
この例においては、いつもと違う道路を含むルートの探索を行うことが指示されているから、通行頻度の情報もコスト計算に用いられる。図6に示す他のパラメータも、適宜、ノードA−B間のコスト計算に用いられる。時間、消費カロリーなどの、図6に示すパラメータ以外のパラメータにも重み付けが行われ、コストの計算に用いられるようにしてもよい。
通行頻度のパラメータに乗算される重みw31は、道路A−Bの通行頻度が多いほど大きい値となり、通行頻度が少ないほど小さい値となる。これにより、通行頻度のパラメータをコスト計算に用いる場合、求められるコストは、通行頻度が多いほど大きくなり、通行頻度が少ないほど小さくなる。これにより、通行頻度が少ない道路を含むルートが探索されやすくなることになる。
各パラメータに乗算される重みwはユーザの移動形態によっても変更される。例えば、移動形態が徒歩である場合、道路A−Bの幅のパラメータに乗算される重みw12は、移動形態が自動車である場合より小さく設定される。これにより、移動形態が徒歩である場合、狭い道を含むルートが探索されやすくなることになる。
また、移動形態が徒歩である場合、道路A−Bの勾配のパラメータに乗算される重みw15は、移動形態が自動車である場合より大きく設定される。これにより、移動形態が徒歩である場合、勾配が大きい道を含むルートが探索されにくくなることになる。
移動形態が自転車である場合も同様に、道路A−Bの幅のパラメータに乗算される重みw12は、移動形態が自動車である場合より小さく設定される。これにより、移動形態が自転車である場合、狭い道を含むルートが探索されやすくなることになる。
また、移動形態が自転車である場合、道路A−Bの勾配のパラメータに乗算される重みw15は、移動形態が自動車である場合より大きく設定される。これにより、移動形態が自転車である場合、勾配が大きい道を含むルートが探索されにくくなることになる。
通行履歴に含まれる道路の勾配の情報に基づいて、どの程度の勾配であればユーザが通行できるのかを移動形態毎に判別し、道路の勾配のパラメータに乗算される重みw15が設定され、ルート探索を行うことも可能である。例えば、移動形態が徒歩や自転車である場合、移動形態が自動車である場合より重みw15は大きくなる。
このように、情報処理端末1においては、移動形態に応じて、道路の幅や道路の勾配を考慮してルートの探索を行うことが可能とされる。
お気に入りの場所のパラメータは、例えば、現在地と目的地を結ぶ直線上の場所を基準として所定の範囲内にユーザにより登録されたお気に入りの場所がある場合に“1”などの所定の値が設定され、コスト計算に用いられる。お気に入りの場所のパラメータに乗算される重みw32は、お気に入りの場所が基準の場所に対して近いほど、または、お気に入りの程度が大きいほど、大きな値が設定される。お気に入りの場所がユーザにより登録されているが、その場所が所定の範囲内にない場合、お気に入りの場所のパラメータの値に“0”が設定され、コスト計算に用いられない。
注目場所のパラメータは、例えば、現在地と目的地を結ぶ直線を基準として所定の範囲内に注目場所がある場合に“1”などの所定の値が設定され、コスト計算に用いられる。
注目場所のパラメータに乗算される重みw33は、注目場所が基準の場所に対して近いほど、または注目度が大きいほど、大きな値が設定される。注目場所が所定の範囲内にない場合、注目場所のパラメータの値に“0”が設定され、コスト計算に用いられない。
図11の例においては、ノードA−B間のコストは10、ノードA−C間のコストは20、ノードA−D間のコストは8、ノードA−D−C間のコストは13(8+5)として求められている。この場合、ノードAからノードCに向かうルートにはノードA−C間のルートとノードA−D−C間のルートがあるが、コストが大きいノードA−C間のルートは候補から外され、ノードA−D−C間のルートが候補として残される。探索部77は、このようなコスト計算を繰り返し行うことによって各ルートのコストを求める。
例えば、ノードA−D−C−F−I−Jなどの、現在地から目的地までの任意のルートのコストの計算が行われた場合、図9のステップS23に戻り、それ以降の処理が行われる。
ステップS24において、探索部77は、コストを計算したルートが例外条件に該当するか否かを判定する。
図12は、例外条件の判定について説明する図である。図12に示すように、位置P11を現在地、位置P12を目的地として、位置P11から位置P12までのルートを探索する場合について説明する。
この場合、例えば探索部77は、位置P11と位置P12とを結ぶ直線#11を所定の長さだけ延ばした直線を長径とする楕円の領域を領域A1として設定する。領域A1には、現在地と目的地が含まれる。
探索部77は、領域A1から外れるルートを例外条件に該当するルートとして判定する。ルート全体を構成する道路のうちの一部が領域A1を越えた場合に例外条件に該当すると判定されるようにしてもよいし、ルート全体の距離に対して所定の割合の距離の道路が領域A1を越えた場合に例外条件に該当すると判定されるようにしてもよい。これにより、目的地までの距離が遠くなりすぎるようなルートが探索されるのを防ぐことができる。
通行頻度の学習の状況に応じて、例外条件の判定の基準となる領域を図13に示すように変えるようにしてもよい。図13の例においては、図12の領域A1が矢印#21,#22で示すように広げられ、領域A2の範囲まで拡張されている。通行履歴の情報量が多くなり、通行頻度の学習が進むにつれ、例外条件の判定の基準となる楕円の領域を大きく設定することにより、いつもと違う道路を含むルートの範囲を広げることが可能になる。
図9の説明に戻り、コストを計算したルートが例外条件に該当するとステップS24において判定した場合、ステップS25において、探索部77は、コストの再計算を行う。
コストの再計算は、例外条件に該当すると判定したルートのコストが高くなるように重みの設定を変更し、図10の処理と同様の処理を行うことによって実現される。最終的には、ルートを構成する各道路のコストの合計が低いルートが探索結果として選択されるから、例外条件に該当するルートは探索結果として選択されにくくなる。コストを計算したルートが例外条件に該当しないとステップS24において判定された場合、ステップS25の処理はスキップされる。
ステップS26において、探索部77は、探索終了条件を満たすか否かを判定する。例えば、所定の数のルートのコストの計算が終了した場合、探索終了条件を満たすとして判定される。探索終了条件を満たさないとステップS26において判定した場合、探索部77は、ステップS23に戻り、現在地から目的地までの他のルートのコストを計算する。
一方、探索終了条件を満たすとステップS26において判定した場合、ステップS27において、探索部77は、ルートを構成する各道路のコストの合計が最も低いルートを探索結果として決定する。探索部77は、決定した探索結果のルートを表す情報を表示制御部79に出力する。
ステップS28において、表示制御部79は、地図データ記憶部78に記憶されているデータに基づいて所定の範囲の地図を表示部2に表示させ、表示させた地図上に探索結果のルートを表示させる。なお、図2に示すケーキ屋、オブジェ、公園の場所を表すアイコンは、例えば地図データ記憶部78に記憶されているものである。
探索結果のルートの表示時、探索結果のルートを構成する道路全体のうち、いつもと違う道路(通行頻度が閾値より低い道路)の割合の情報が表示されるようにしてもよい。
また、いつもと違う道路の色が、通行頻度が閾値より高い道路の色と異なる色で表示されたり、いつもと違う道路の幅が、通行頻度が閾値より高い道路の幅と異なる幅で表示されるようにしてもよい。これにより、ユーザは、いつもと違う道路を容易に確認することができる。
一方、ステップS21において、いつもと違う道路を含むルートの探索を行わないと判定した場合、ステップS29において、探索部77は学習データを用いずに通常のルート探索を行う。通常のルート探索は、探索用情報のうちの通行頻度の情報がルート探索に用いられない点を除いて上述した探索と同じである。
通常の探索によって求められた各ルートのコストに基づいてステップS27において探索結果となるルートが決定され、ステップS28において表示部2に表示される。
以上の処理により、ユーザは、通行頻度の低い道路を確認することができ、表示されたルートに従って移動することによって、いつもと違う道路を使って目的地まで行くことができる。
また、ユーザは、いつもと違う道路を使用したルートを自分で検討する必要がなく、手間を省くことができる。いつもと違う道路を使用したルートを自分で検討するとした場合、ユーザは、記憶を頼り、どの道路を通行したことがないかを自分で考えて経由地を設定する作業を行う必要があるが、そのような手間を省くことが可能になる。いつもと違う道路を使用したルートを確認するまでの時間を短縮することができ、ユーザの利便性を向上させることが可能になる。
図7乃至図9の処理が繰り返し行われることによって、情報処理端末1は、ユーザが覚えていないような、通行頻度が低く、幅の狭いわき道をも案内するようになる。これにより、いつもと違う道路を使用したルートを提示するという観点からは、案内するルートの質を向上させることが可能になることになる。
いつもと違う道路を使用したルートをユーザが自分で検討するとした場合、検討結果のルートが現実的ではない遠回りのルートになってしまうことがあるが、例外条件の判定を行うことにより、そのようなことを防ぐことが可能になる。また、ユーザの移動形態毎に通行履歴を蓄積しておき、移動形態毎の通行頻度を考慮してルート探索を行うことにより、情報処理端末1は、移動形態毎に、いつもと違う道路を含むルートを案内することが可能になる。
<第2の実施の形態>
[通信システムの構成]
図14は、通信システムの構成例を示す図である。
図14の通信システムは、情報処理端末1と探索サーバ101がネットワーク102を介して接続されることによって構成される。
図14の通信システムにおいては、情報処理端末1と探索サーバ101の間で各種の情報の送受信が行われ、いつもと違う道路を使用したルートの探索などが探索サーバ101により行われる。探索サーバ101に対しては、情報処理端末1と同様の構成を有する複数の端末がネットワーク102を介して接続される。
すなわち、ユーザによる通行履歴の蓄積時、情報処理端末1は、ユーザの移動形態を判別し、移動形態の情報と現在地の情報を探索サーバ101に送信する。
探索サーバ101は、情報処理端末1から送信されてきた情報を受信し、情報処理端末1のユーザの通行履歴を移動形態毎に管理する。また、探索サーバ101は、情報処理端末1のユーザによる各道路の通行頻度を計算し、管理する。
探索サーバ101は、所定の目的地までのルートの探索が情報処理端末1から要求された場合、情報処理端末1からの要求に従って、図9を参照して説明したようにしてルートの探索を行う。探索サーバ101は、探索結果のルートの情報を情報処理端末1に送信し、情報処理端末1の表示部2に表示させる。
このように、情報処理端末1のユーザの通行頻度などを考慮したルート探索が探索サーバ101において行われるようにすることも可能である。
[各装置の構成]
図15は、図14の情報処理端末1が有する情報処理部52の構成例を示すブロック図である。図14の情報処理端末1のハードウェア構成は図3の構成と同じである。情報処理端末1においては、CPU31により所定のプログラムが実行されることによって、移動形態検出部111、取得部112、および探索結果取得部113が実現される。
移動形態検出部111は、通行履歴の蓄積時、またはルートの探索時、図5の移動形態検出部71と同様に、着脱検出部17により検出されたクレードルに対する着脱状態に基づいてユーザの移動形態を判別する。移動形態検出部111は、判別したユーザの移動形態を表す情報を取得部112に出力する。
取得部112は、通行履歴の蓄積時、移動形態検出部111から供給された情報と、ユーザが情報処理端末1を持って移動しているときに位置検出部14により検出された現在地の情報を取得する。取得部112は、通信部16を制御し、ユーザの移動形態を表す情報と現在地の情報を探索サーバ101に送信する。
また、取得部112は、ルートの探索時、移動形態検出部111から供給された情報、位置検出部14により検出された現在地の情報、および、ユーザにより設定された目的地の情報を取得する。取得部112は、現在地の情報と目的地の情報を、移動形態の情報や探索に関する各種の設定の情報とともに探索サーバ101に送信し、ルートの探索を要求する。探索に関する設定には、例えば、いつもと違う道路を使用したルートを探索することを指示する情報が含まれる。
探索結果取得部113は、通信部16を制御し、探索サーバ101から送信されてきた探索結果の情報を取得する。探索結果取得部113は、ユーザインターフェース部51を制御するなどして、探索結果のルートを表示部2に表示させ、ユーザに提示する。
図16は、探索サーバ101のハードウェアの構成例を示すブロック図である。
CPU121、ROM122、RAM123は、バス124により相互に接続される。
バス124には、さらに、入出力インターフェース125が接続されている。入出力インターフェース125には、キーボード、マウスなどよりなる入力部126、ディスプレイ、スピーカなどよりなる出力部127が接続される。また、入出力インターフェース125には、ハードディスクや不揮発性のメモリなどよりなる記憶部128、ネットワークインターフェースなどよりなり、ネットワーク102を介して情報処理端末1と通信を行う通信部129、リムーバブルメディア131を駆動するドライブ130が接続される。
図17は、探索サーバ101の機能構成例を示すブロック図である。探索サーバ101においては、図16のCPU121により所定のプログラムが実行されることによって、図5に示す構成のうちの一部が実現される。
探索サーバ101においては、取得部141、履歴管理部142、履歴記憶部143、通行頻度計算部144、注目情報取得部145、探索用情報記憶部146、探索部147、地図データ記憶部148、および送信制御部149が実現される。
履歴管理部142は図5の履歴管理部72に対応し、履歴記憶部143は図5の履歴記憶部73に対応する。通行頻度計算部144は図5の通行頻度計算部74に対応し、注目情報取得部145は図5の登録情報/注目情報取得部75に対応する。探索用情報記憶部146は図5の探索用情報記憶部76に対応し、探索部147は図5の探索部77に対応し、地図データ記憶部148は図5の地図データ記憶部78に対応する。重複する説明については適宜省略する。
取得部141は、通信部129を制御し、情報処理端末1から送信されてきた情報を取得する。取得部141は、通行履歴の蓄積時、情報処理端末1から送信されてきたユーザの移動形態を表す情報と現在地の情報を履歴管理部142に出力する。また、取得部141は、ルートの探索時、取得部141から送信されてきたユーザの移動形態を表す情報、現在地の情報、目的地の情報、および設定に関する情報を探索部147に出力する。
履歴管理部142は、取得部141から供給されたユーザの移動形態を表す情報と現在地の情報を取得する。履歴管理部142は、地図データ記憶部148に記憶されている地図データとのマッチングを行うなどして、情報処理端末1のユーザが通行している道路を特定し、移動形態毎に、通行した道路の情報を通行履歴として履歴記憶部143に記憶させる。
履歴記憶部143は、情報処理端末1のユーザの通行履歴を移動形態毎に記憶する。通行履歴には、ユーザがそれぞれの道路を通行した時刻の情報や、情報処理端末1の識別情報も含まれる。
通行頻度計算部144は、情報処理端末1のユーザの通行頻度の学習時、情報処理端末1のユーザの移動形態毎の通行履歴を履歴記憶部143から読み出し、各道路の通行頻度を計算する。通行頻度計算部144は、移動形態毎に、各道路の通行頻度の情報を探索用情報記憶部146に記憶させる。
注目情報取得部145は、通信部129を制御してWebサーバにアクセスし、テキストデータをダウンロードして取得する。注目情報取得部145は、取得したテキストデータを解析することによって注目場所を特定する。注目情報取得部145は、注目場所の位置情報と注目度の情報を含む、注目場所の情報を探索用情報記憶部146に記憶させる。
探索用情報記憶部146は、通行頻度計算部144により計算された各道路の通行頻度の情報と、注目情報取得部145から供給された注目場所の情報を探索用情報として記憶する。探索用情報には図6に示す情報が含まれる。
探索部147は、情報処理端末1のユーザの移動形態を表す情報、現在地の情報、目的地の情報、およびルート探索の設定に関する情報が取得部141から供給された場合、探索モードに応じて、所定の情報を探索用情報記憶部146から読み出す。探索部147は、探索用情報記憶部146から読み出した情報に基づいて、例えば図9を参照して説明したようにして目的地までのルートの探索を行う。探索部147は、探索結果のルートの情報を送信制御部149に出力する。
地図データ記憶部148は、地図データとPOI情報を記憶する。
送信制御部149は、探索結果のルートの情報が探索部147から供給された場合、探索結果のルートを含む範囲の地図データを地図データ記憶部148から読み出し、地図上に探索結果のルートが表示される画面の情報を生成する。送信制御部149は、生成した画面の情報を情報処理端末1に送信し、探索結果のルートを表示部2に表示させる。
地図データについては情報処理端末1に用意されているようにしてもよい。この場合、探索結果のルートの情報のみが探索サーバ101から送信され、それを受信した情報処理端末1において、探索結果のルートが地図上に表示される。
[各装置の動作]
ここで、図14の情報処理端末1と探索サーバ101の動作について説明する。はじめに、図18のフローチャートを参照して、通行履歴を送信する情報処理端末1の処理について説明する。
ステップS101において、情報処理端末1の移動形態検出部111(図15)は、着脱検出部17から供給された情報に基づいてユーザの移動形態を判別する。
ステップS102において、位置検出部14は、測位を行い、現在地を検出する。
ステップS103において、取得部112は、ユーザの移動形態を表す情報と現在地の情報を探索サーバ101に送信し、処理を終了させる。
次に、図19のフローチャートを参照して、情報処理端末1のユーザの通行履歴を管理する探索サーバ101の処理について説明する。図19の処理は、図18の処理が情報処理端末1において行われることに応じて行われる。
ステップS111において、探索サーバ101の取得部141(図17)は、情報処理端末1から送信されてきたユーザの移動形態を表す情報と現在地の情報を取得する。
ステップS112において、履歴管理部142は、取得部141により取得された現在地の情報に基づいて情報処理端末1のユーザが通行している道路を特定する。履歴管理部142は、情報処理端末1のユーザの通行履歴を移動形態毎に履歴記憶部143に記憶させ、処理を終了させる。
図18、図19の処理が繰り返し行われることによって、探索サーバ101の履歴記憶部143には、移動形態が徒歩である場合の通行履歴、自動車である場合の通行履歴、自転車である場合の通行履歴がそれぞれ記憶される。
次に、図20のフローチャートを参照して、ルート探索の結果を表示する情報処理端末1の処理について説明する。図20の処理は、例えば、ユーザにより目的地が設定され、ルート探索に関する設定が行われた後に開始される。
ステップS121において、情報処理端末1の移動形態検出部111は、着脱検出部17から供給された情報に基づいてユーザの移動形態を判別する。
ステップS122において、位置検出部14は、測位を行い、現在地を検出する。
ステップS123において、取得部112は、ユーザの移動形態の情報と現在地の情報を、目的地の情報、探索に関する設定の情報などとともに探索サーバ101に送信し、ルート探索を要求する。情報処理端末1からの要求を受信した探索サーバ101においては、図9を参照して説明した処理と基本的に同様の処理が行われる。ルート探索が終了したとき、探索結果のルートを含む情報が探索サーバ101から送信される。
ステップS124において、探索結果取得部113は、探索サーバ101から送信された情報を取得する。
ステップS125において、探索結果取得部113は、探索結果のルートを含む地図を表示部2に表示させ、ユーザに提示する。以上の処理によっても、情報処理端末1のユーザは、通行頻度の低い道路を確認することができ、表示されたルートに従って移動することによって、いつもと違う道路を使って目的地まで行くことができる。
なお、ユーザの移動形態の判別が探索サーバ101において行われるようにしてもよい。図17に示す構成のうちの一部の構成が情報処理端末1に設けられるようにすることも可能である。
<変形例>
以上においては、各道路の通行頻度が通行履歴に基づいて計算されるものとしたが、計算された通行頻度が所定のタイミングでリセットされ、直近の所定の期間内の通行履歴を用いて通行頻度が再計算されるようにしてもよい。
これにより、通行してから一定の期間が経過している道路についてはその通行頻度を減らすことができ、しばらくユーザが通行していないような道路を含むルートが探索されやすくすることが可能になる。
また、以上においては、ユーザの移動形態がクレードルの装着状態に基づいて判別されるものとしたが、当然、ユーザが移動形態を自ら情報処理端末1に入力するようにしてもよい。センサ部15の振動センサにより検出されたセンサデータに基づいてユーザの移動形態が判別されるようにしてもよい。
この場合、情報処理端末1には、徒歩で移動したときに検出されるセンサデータ、自動車で移動したときに検出されるセンサデータ、および自転車で移動したときに検出されるセンサデータが用意される。予め用意されるセンサデータの特徴と、センサ部15により検出されたセンサデータの特徴とのマッチングが行われることによってユーザの移動形態が判別される。
通行頻度を考慮したルート探索がPNDである情報処理端末1、または探索サーバ101において行われるものとしたが、通行頻度を考慮したルート探索は各種の装置に適用可能である。例えば、ナビゲーション機能を有する車載用の装置、携帯電話機、デジタルカメラ、パーソナルコンピュータにおいて、上述したような通行頻度を考慮したルート探索が行われるようにすることが可能である。
図21は、通行頻度を考慮したルート探索を行う携帯電話機の外観構成例を示す図である。
図21の携帯電話機201は、情報処理端末1と同様にユーザが片手で把持可能な大きさの筐体を有している。携帯電話機201の筐体の前面にはLCDなどよりなる表示部202が設けられる。
携帯電話機201はGPS機能を有し、自端末の位置を測位することができる。携帯電話機201は、表示部202に表示した地図上に自端末の位置を表示するとともに、目的地が設定され、目的地までのルートの探索が指示された場合、探索により決定したルートを地図上に表示する。
携帯電話機201の筐体前面の表示部202の周りには、スピーカ205、マイク204、および各種のボタンよりなる操作部206が設けられる。携帯電話機201の筐体背面には、携帯電話機201をクレードル203に固定させることが可能な部材が設けられている。
図22は、携帯電話機201の構成例を示すブロック図である。
携帯電話機201の携帯電話ユニット210は、マイク204、スピーカ205、送受信部211、デコーダ212、携帯電話制御部214、およびエンコーダ215から構成される。
マイク204は、通話時、ユーザの音声を集音し、音声信号をエンコーダ215に出力する。
エンコーダ215は、携帯電話制御部214による制御に従って、マイク204から供給された音声信号のエンコードを行い、エンコードによって得られた音声データを送受信部211に出力する。
送受信部211は、エンコーダ215から供給された音声データをアンテナAPから外部の基地局に送信し、通話相手の端末に送信させる。また、送受信部211は、通話相手の端末から基地局を介して音声データが送信されてきたとき、その音声データを受信し、デコーダ212に出力する。
デコーダ212は、携帯電話制御部214による制御に従って音声データをデコードし、音声をスピーカ205から出力させる。
携帯電話制御部214は、操作部206に対するユーザの操作を検出し、携帯電話機201の全体の動作を制御する。例えば、携帯電話制御部214は、携帯電話ユニット210の各部を制御して通話機能を実現するとともに、統括制御部209から供給された情報に基づいて、図2に示すような画面を表示部202に表示させる。
記憶部208はフラッシュメモリなどよりなり、携帯電話制御部214から供給された各種の情報を記憶する。
統括制御部209は、ナビゲーションユニット220から供給された情報を携帯電話制御部214に出力し、反対に、携帯電話制御部214から供給された情報をナビゲーションユニット220に出力する。ナビゲーションユニット220からは、例えば、ルート探索の結果を表す画面の情報が統括制御部209に対して供給され、携帯電話制御部214からは、ルート探索を行うときのユーザの操作の内容を表す情報が統括制御部209に対して供給される。
ナビゲーションユニット220は、図3の演算処理部11、位置検出部14、センサ部15、着脱検出部17、記憶部18などにより構成される。ナビゲーションユニット220においては、図4、図5の各構成が実現され、上述したような、ユーザの通行頻度を考慮したルート探索が行われる。
このように、ユーザの通行頻度を考慮したルート探索は各種の装置に適用可能である。
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、汎用のパーソナルコンピュータなどにインストールされる。
インストールされるプログラムは、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)や半導体メモリなどよりなる図16に示されるリムーバブルメディア131に記録して提供される。また、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供されるようにしてもよい。プログラムは、ROM122や記憶部128に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。