第1の実施の形態.
<1.電子機器>
<1−1.外観>
図1は電子機器1の外観を示す前面図である。図2は電子機器1の概観を示す裏面図である。電子機器1は、例えばタブレット、PDA(Personal Digital Assistant)、または、携帯電話機(スマートフォンを含む)などである。この電子機器1は、例えば、基地局及びサーバ等を通じて、或いは、直接に、他の通信装置と通信することが可能である。
図1および図2に示されるように、電子機器1は、カバーパネル2とケース部分3を備えており、カバーパネル2とケース部分3とが組み合わされることによって、平面視で略長方形の板状を成す筐体(以下、機器ケースとも呼ぶ)4が構成されている。
カバーパネル2は、平面視において略長方形を成しており、電子機器1の前面部分における、周縁部分以外の部分を構成している。カバーパネル2は、例えば、透明のガラスあるいは透明のアクリル樹脂で形成されている。あるいは、カバーパネル2は、例えばサファイアで形成されている。ここで、サファイアとは、アルミナ(Al2O3)を主成分とする単結晶のことをいい、本明細書では、Al2O3純度が約90%以上の単結晶のことをいう。傷がよりつき難くなるという点で、Al2O3純度は99%以上であることが好ましい。カバーパネル2の材料としては他に、例えば、ダイヤモンド、ジルコニア、チタニア、水晶、タンタル酸リチウム、酸化窒化アルミニウムなどが挙げられる。これらも、傷がよりつき難くなるという点で、純度が約90%以上の単結晶が好ましい。
カバーパネル2は、サファイアから成る層を含む複数層構造の複合パネル(積層パネル)であっても良い。例えば、カバーパネル2は、電子機器1の表面に設けられたサファイアから成る層(サファイアパネル)と、当該層に貼り付けられたガラスから成る層(ガラスパネル)とで構成された2層構造の複合パネルであっても良い。また、カバーパネル2は、電子機器1の表面に設けられたサファイアから成る層(サファイアパネル)と、当該層に貼り付けられたガラスから成る層(ガラスパネル)と、当該層に貼り付けられたサファイアから成る層(サファイアパネル)とで構成された3層構造の複合パネルであっても良い。また、カバーパネル2は、サファイア以外の結晶性材料、例えば、ダイヤモンド、ジルコニア、チタニア、水晶、タンタル酸リチウム、酸化窒化アルミニウムなどから成る層を含んでいても良い。
ケース部分3は、電子機器1の前面部分の周縁部分、側面部分及び裏面部分を構成している。ケース部分3は、例えばポリカーボネート樹脂で形成されている。
カバーパネル2の前面には、文字、記号、図形または画像等の各種情報が表示される表示領域2aが設けられている。この表示領域2aは例えば平面視で長方形を成している。カバーパネル2における、表示領域2aを取り囲む周縁部分2bは、例えばフィルム等が貼られることによって黒色となっており、情報が表示されない非表示部分となっている。カバーパネル2の裏面には後述するタッチパネル50が貼り付けられており、ユーザは、電子機器1の前面の表示領域2aを指等で操作することによって、電子機器1に対して各種指示を与えることができる。なお、ユーザは、指以外の操作子、例えば、スタイラスペンなどの静電式タッチパネル用ペンで表示領域2aを操作することによっても、電子機器1に対して各種指示を与えることができる。
機器ケース4内には、例えば操作キー5が設けられている。操作キー5は、例えばハードウェアキーであって、例えばカバーパネル2の前面の下側端部に設けられている。
タッチパネル50および操作キー5は、電子機器1への操作を行う操作部である。
<1−2.電子機器の電気的構成>
図3は電子機器1の電気的構成を示すブロック図である。図3に示されるように、電子機器1には、制御部10、無線通信部20、近接無線通信部22、表示部30、レシーバ42、スピーカ44、音声入力部46、タッチパネル50、キー操作部52、撮像部60、現在位置取得部70、および、移動距離算出部80が設けられている。電子機器1に設けられたこれらの構成要素は、機器ケース4に収められている。
制御部10は、例えばCPU(Central Processing Unit)101、DSP(Digital Signal Processor)102及び記憶部103等を備えており、電子機器1の他の構成要素を制御することによって、電子機器1の動作を統括的に管理する。記憶部103は、ROM(Read Only Memory)及びRAM(Random Access Memory)等で構成されている。記憶部103には、電子機器1の動作、具体的には電子機器1が備える無線通信部20、表示部30等の各構成要素を制御するための制御プログラムであるメインプログラム及び複数のアプリケーションプログラム(以後、単に「アプリケーション」とも呼ぶ)等が記憶されている。制御部10の各種機能は、CPU101及びDSP102が記憶部103内の各種プログラムを実行することによって実現される。なお図4の例示では、CPU101およびDSP102がそれぞれ一つ示されているものの、これらは複数設けられてもよい。そして、これらが互いに協働して各種機能を実現してもよい。また、図4の例示では、記憶部103は、制御部10の内部において示されているものの、制御部10の外部に設けられてもよい。換言すれば、記憶部103は制御部10とは別体であってもよい。また、制御部10の機能の一部または全部はハードウェアによって実現されても構わない。
無線通信部20は、アンテナ21を有している。無線通信部20は、他の携帯電話機あるいはインターネットに接続されたウェブサーバ等の通信装置からの信号を、基地局等を介してアンテナ21で受信する。無線通信部20は、受信信号に対して増幅処理及びダウンコンバートを行って制御部10に出力する。制御部10は、入力される受信信号に対して復調処理等を行う。また無線通信部20は、制御部10で生成された送信信号に対してアップコンバート及び増幅処理を行って、処理後の送信信号をアンテナ21から無線送信する。アンテナ21からの送信信号は、基地局等を通じて、他の携帯電話機あるいはインターネットに接続された通信装置で受信される。
また無線通信部20は、衛星からの信号をアンテナ21で受信することもできる。衛星からの信号は現在位置取得部70で用いられる。
近接無線通信部22は、アンテナ23を有している。近接無線通信部22は、無線通信部20の通信対象(例えば基地局)に比べて近い位置に存在する通信端末との通信を、アンテナ23を介して行なう。近接無線通信部22は、例えばBLUETOOTH(登録商標)規格などに則って通信を行なう。
表示部30は、例えば、液晶表示パネルあるいは有機ELパネルである。表示部30は、制御部10によって制御されることによって、文字、記号、図形または画像などの各種情報を表示する。表示部30に表示される情報は、カバーパネル2の前面の表示領域2aに表示される。したがって、表示部30は、表示領域2aに表示を行っていると言える。
タッチパネル50は、カバーパネル2の表示領域2aに対する操作指等の操作子による操作を検出する。タッチパネル50は、例えば、投影型静電容量方式のタッチパネルであって、カバーパネル2の裏面に貼り付けられている。ユーザが操作指等の操作子によってカバーパネル2の表示領域2aに対して操作を行うと、それに応じた信号がタッチパネル50から制御部10に入力される。制御部10は、タッチパネル50からの信号に基づいて、表示領域2aに対して行われた操作の内容を特定して、その画面に応じた処理を行う。
キー操作部52は、各操作キー5に対するユーザの押下操作を検出する。キー操作部52は、各操作キー5について、当該操作キー5が押下されているか否かを検出する。キー操作部52は、操作キー5が押下されていない場合には、当該操作キー5が操作されていないことを示す未操作信号を制御部10に出力する。また、キー操作部52は、操作キー5が押下されると、当該操作キー5が操作されたことを示す操作信号を制御部10に出力する。これにより、制御部10は、各操作キー5について、当該操作キー5が操作されているか否かを判断することができる。
タッチパネル50および操作キー5は、電子機器1への入力を受け付ける入力部の一例である。
レシーバ42は、受話音を出力するものであって、例えばダイナミックスピーカで構成されている。レシーバ42は、制御部10からの電気的な音信号を音に変換して出力する。レシーバ42から出力される音は、電子機器1の前面に設けられたレシーバ穴80aから外部に出力される。レシーバ穴80aから出力される音の音量は、スピーカ44からスピーカ穴34aを介して出力される音の音量よりも小さくなっている。
なおレシーバ42に替えて、圧電振動素子が設けられてもよい。圧電振動素子は、制御部10によって制御され、音声信号に基づいて振動する。圧電振動素子は例えばカバーパネル2の裏面に設けられており、音声信号に基づく自身の振動によってカバーパネル2を振動させる。これにより、カバーパネル2の振動が音声としてユーザの耳に伝達される。この場合、レシーバ穴80aは不要である。
スピーカ44は、例えばダイナミックスピーカであって、制御部10からの電気的な音信号を音に変換して出力する。スピーカ44から出力される音は、電子機器1の裏面に設けられたスピーカ穴34aから外部に出力される。スピーカ穴34aから出力される音が、電子機器1から離れた場所でも聞こえるように、その音量が調整されている。スピーカ44は例えば着信音などを出力する。
音声入力部46はマイクであって、電子機器1の外部から入力される音を電気的な音信号に変換して制御部10に出力する。電子機器1の外部からの音は、カバーパネル2の前面に設けられたマイク穴から電子機器1の内部に取り込まれて音声入力部46に入力される。
撮像部60は例えば第1撮像部62と第2撮像部64とを有している。第1撮像部62は撮像レンズ6aおよび撮像素子などで構成されており、制御部10による制御に基づいて、静止画像および動画像を撮像する。図1に示されるように、撮像レンズ6aは、電子機器1の前面に設けられていることから、電子機器1の前面側(カバーパネル2側)に存在する物体を撮像することが可能である。
第2撮像部64は、撮像レンズ7aおよび撮像素子などで構成されており、制御部10による制御に基づいて、静止画像および動画像を撮像する。図2に示されるように、撮像レンズ7aは、電子機器1の裏面に設けられていることから、電子機器1の裏面側に存在する物体を撮像することが可能である。
現在位置取得部70は、自身の現在位置を取得する。現在位置取得部70は電子機器1に収納されていることから、この現在位置は電子機器1の位置であるとも説明できる。現在位置取得部70は例えばGPS(Global Positioning System)を利用した装置であり、無線通信部20を介して複数の人工衛星からの電波(以下、受信信号とも呼ぶ)を受信し、当該電波に基づいて周知の手法により、現在位置を算出する。現在位置を示す現在位置情報には、緯度情報と経度情報とが含まれている。
移動距離算出部80は、ユーザが移動した距離を取得する。この移動距離は、現在位置取得部70によって得られる位置情報とは別の情報に基づいて生成される。移動距離算出部80の一例は後に詳述する。
<2.制御部>
図4は制御部10の内部構成の一例を概略的に示す機能ブロック図である。制御部10は、ルート処理部100を有している。ルート処理部100は、ユーザが移動したルート(以下、全体ルートとも呼ぶ)についてのルート情報を生成し、また、その全体ルートを表示する機能部である。
ルート処理部100は、判定部111と、ルート生成部112と、表示制御部113と、ルート修正部114とを備えている。なお、これらの機能部は、記憶部103のプログラムの実行によって実現されてもよく、あるいは、その一部または全部がハードウェアで構成されてもよい。この点は後に述べる他の機能部についても同様であるので、繰り返しの説明を避ける。
図5はルート処理部100の動作の一例を説明するためのフローチャートである。ステップST1にて、ユーザは、ルート処理部100の機能を選択するための入力を電子機器1に対して行う。例えば表示部30には、ホーム画面(不図示)が表示されており、当該ホーム画面には、複数の機能を選択するための図形(例えばアイコン)が表示されている。ユーザは、これらの図形のうち、ルート処理部100に対応する図形を選択する操作を行う。当該操作としては、例えば表示領域2aにおいて当該図形に操作子(例えば指)を近づけ、または、接触させた上で、再び操作子を表示領域2aから遠ざける操作(いわゆるタップ)を採用できる。この点は、後に述べる操作も同様である。
タッチパネル50は当該操作を検出し、その操作情報をルート処理部100へと出力する。ルート処理部100は当該操作情報の入力に応答して起動し、初期画面100aを表示部30に表示する。図6は初期画面100aの一例を概略的に示す図である。図6の例示では、初期画面100aには、「開始」ボタン101aが表示されている。このボタン101aは、ルート情報の生成を開始するためのボタンである。
ユーザは、ステップST2において、ボタン101aを選択するとともに、電子機器1を携帯して移動を開始する。また、この選択操作はタッチパネル50によって検出され、その操作情報がルート生成部112および距離算出部115へと入力される。距離算出部115については後に詳述する。ルート生成部112は、現在位置情報に基づいたルート情報の生成を開始する。ルート情報はユーザが移動したルートを示す情報である。
ルート情報の生成は、現在位置取得部70によって所定時間ごとに繰り返し取得される現在位置情報と、地図情報とに基づいて行う。地図情報は例えばリンクデータとノードデータとから構成される道路データを含んでいる。ノードデータは各道路が交差・分岐・合流する点を示すデータであり、信号機の有無などの情報を含んでいる。リンクデータは、ノード間を結ぶ道路の区間を示すデータである。リンクデータは、各区間の道路を識別する識別番号、各区間の道路の長さを示す道路長、各区間の道路の始点及び終点の座標(例えば緯度・経度)、道路の種別(例えば国道など)、車線数、右折・左折専用車線の有無、その専用車線の数、および、道路の幅などの情報を有している。この地図情報は、記憶部(例えば記憶部103など)に予め格納されていてもよく、あるいは、無線通信部20あるいは近接無線通信部22を用いて外部から取得してもよい。
ルート生成部112は、現在位置取得部70によって繰り返し取得される現在位置を、地図情報に順次に対応付ける。そして例えば、現在位置を含むリンクデータを地図情報から順次に抽出しつつ、これらのリンクデータを繋ぐノードデータも抽出して、ルート情報を生成する。この場合、ルート情報には、現在位置に対応するリンクデータと、当該リンクデータを繋ぐノードデータが含まれる。
ところで、現在位置取得部70は複数の衛星からの受信信号に基づいて現在位置を算出するので、例えば無線通信部20と衛星との間の受信状況が悪いときには、低い精度で現在位置を算出する可能性がある。
さて、衛星からの受信信号には、例えば次の2つの情報、即ち、衛星が信号を送信した送信時刻と、衛星の位置とが含まれる。この場合、現在位置取得部70は、衛星の送信時刻と受信時刻との差を算出する。この差は、衛星と電子機器1との間の直線距離に依存するので、当該差から当該直線距離が求まる。よって電子機器1は、衛星の位置を中心として当該直線距離を半径とする球のいずれかの上に位置していることとなる。
よって3つの衛星からの受信信号を得ることができれば、電子機器1の位置が一つ求まる。実際には、衛星と電子機器1との間の計時回路の誤差等を補正すべく、3個よりも多くの衛星からの受信信号を用いて、現在位置の測定精度を向上している。このような現在位置の算出は公知であるので詳細な説明を省略するものの、受信できた衛星の個数が少ない場合には、現在位置の取得精度が低くなる。
このように現在位置の取得精度が低くなる区間をユーザが移動した場合、ルート生成部112は、実際のルートとは異なるルートを生成する可能性がある。この場合、ルート情報には、実際にユーザが移動したルートとは異なるルートが含まれることになる。
そこで、例えばルート情報の生成後に、このような区間ルートを修正対象として、ユーザに示すことを企図する。これを実現すべく、第1の実施の形態では、ルート情報の生成の際に、現在位置の取得精度を反映する精度情報を各区間ルートに対応付ける。
このような精度情報としては、例えば適切に受信できた衛星の個数の情報を採用することができる。なぜなら、上述のように衛星の個数が少ないと、現在位置の取得精度が低くなるからである。
適切に受信信号を受信できたか否かは、例えば受信信号の受信レベル(電力)に基づいて判別することができる。つまり受信レベルが所定値よりも大きいときに、適切に受信信号を受信できたと判定することができる。或いは、受信信号を解析して、適切に送信時刻と衛星の位置とを判別できたことを以て、適切に受信信号を受信できたと判定してもよい。
そして、衛星ごとの受信信号に基づいて、その衛星から適切に受信信号を受信できたか否かを判別し、適切に受信信号を受信した衛星の個数を検出するのである。そしてこの個数が所定値よりも小さいときに、現在位置の取得精度が低いと判断する。
或いは、衛星の個数を判別せずに、より簡易的に、衛星からの受信信号の受信レベルの平均値が基準値よりも小さい場合に、低い精度で現在位置が取得されると推定してもよい。つまり、精度情報として、受信信号の受信レベルの平均値を採用することもできる。
また、現在位置取得部70が、衛星の受信信号のみならず、無線通信網に存在する中継装置または基地局との無線通信に基づいて現在位置を取得してもよい。無線通信網には複数の中継装置および複数の基地局が存在しており、各中継装置および各基地局は無線通信可能な範囲が決められている。よって、電子機器1が無線通信できる中継装置または基地局を特定することで、電子機器1が存在する範囲を特定することができる。例えば電子機器1が複数の中継装置および基地局と無線通信可能な場合には、その複数の中継装置および基地局の通信可能範囲が重複する範囲に、電子機器1が存在していることとなる。
さらに、現在位置取得部70は、衛星の個数が少ない場合に、衛星からの受信信号と、中継装置によって特定される範囲との両方を用いることで、現在位置の取得精度を向上してもよい。このような技術も公知であるので詳細な説明は省略する。
このような処理によって十分な精度で現在位置を取得できる場合がある。この場合には、衛星の個数が所定値よりも小さく、かつ、中継装置とも適切に受信信号を受信できない場合に、取得精度が低くなる、と推定してもよい。この場合には、精度情報として、適切に受信信号を受信した衛星の個数と、中継装置からの受信信号の受信レベルとを採用することができる。
なお中継装置または基地局による範囲の特定は、現在位置情報に比べれば精度が低い。よって中継装置または基地局を用いる場合であっても、受信信号を適切に受信した衛星の個数が所定値(例えば3個)よりも小さい場合には、取得精度が低いと判断してもよい。
ここでは、精度情報として、衛星からの受信信号の受信レベルの平均値を採用する。
図4の例示では、判定部111が設けられており、この判定部111は無線通信部20を介して複数の衛星からの受信信号を受け取り、その受信レベルを検出して、複数の衛星からの受信レベルの平均値を算出する。そして判定部111は、この平均値が所定の受信基準値よりも高いか否かを判定する。このような判定は周知の比較器を用いて行うことができる。そして、その判定結果がルート生成部112へと出力される。
ルート生成部112は、判定結果に基づいて、取得精度が低いと推定される第1区間ルートと、取得精度が高いと推定される第2区間ルートとを区別して、ルート情報を生成する。ここでは一例として、受信レベルの平均値を採用しているので、第1区間ルートは、当該平均値が受信基準値よりも小さい受信信号を用いて算出された現在位置によって形成される区間ルートとなる。
具体的な動作の一例としては、ルート生成部112は、受信レベルの平均値が受信基準値よりも大きい状態から小さい状態へと遷移したときに、そのときの現在位置を第1区間ルートの始点として記憶する。そして、受信レベルの平均値が受信基準値よりも小さい状態から大きい状態へと遷移したときに、そのときの現在位置を第1区間ルートの終点として記憶する。これにより、第1区間ルートと第2区間ルートとに区別して、全体ルートを検出できる。
生成されたルート情報には、現在位置に基づいて抽出される複数のリンクデータと、これらを繋ぐリンクデータのみならず、例えば第1区間ルートの情報が含まれる。第1区間ルートは複数存在し得るので、例えば第1区間ルートの情報には、第1区間ルートを識別するための識別情報と、各第1区間ルートの始点および終点の情報とが含まれる。
なおルート生成部112は、ルート情報を生成している最中に、初期画面100aとは異なる表示画面を表示してもよい。図7はこの表示画面100bの一例を概略的に示す図である。図7の例示では、表示画面100bには、ルート情報を生成している最中であることを意味する文章101bと、「終了」ボタン102bとが表示されている。「終了」ボタン102bは、全体ルートの終点を入力するためのボタンである。
ユーザは例えば全体ルートの終点に到達したときに、ステップST4にて、ボタン102bを選択する。ボタン102bが選択されると、その操作情報がタッチパネル50によって検出されて、ルート生成部112へと入力される。ルート生成部112は当該操作情報が入力されたときの現在位置を、全体ルートの終点として把握し、ルート情報の生成を終了する。ルート生成部112は、生成したルート情報を記憶部(例えば記憶部103など)に記憶する。ルート情報は、例えば、全体ルートの始点および終点の情報、これらの間の複数のリンクデータと、これらのリンクデータを繋ぐノードデータと、第1区間ルートの情報とを含んでいる。
さて、ステップST3においては、距離算出部115も動作する。距離算出部115は、現在位置情報とは別の情報を用いて、受信レベルの平均値が基準値よりも低い期間にユーザが移動した距離(以下、区間距離とも呼ぶ)の情報を生成する。
距離算出部115は例えば歩数計81を用いる。この歩数計81は例えば加速度センサを有しており、当該加速度センサが検出する加速度に基づいて、ユーザの歩数を計測する。距離算出部115は、この歩数計81を用いて、例えば移動の開始(即ちボタン101aの選択)時点からの歩数を測定する。この歩数は現在位置に対応付けて測定される。つまり、ある時点において取得された現在位置と、当該時点において測定された歩数とを互いに対応付ける。
例えば、現在位置取得部70は現在位置を算出するとともに現在時刻を取得し、位置と時刻とを対応付けて、記憶部(例えば記憶部103)などに記憶する。現在時刻は、例えば周知のタイマ回路によって把握される。同様に、距離算出部115は歩数計81を用いて歩数を測定するとともに、そのときの現在時刻を取得し、歩数と時刻とを対応付けて、記憶部(例えば記憶部103)などに記憶する。これにより、同じ時刻における歩数と現在位置とが互いに対応することとなる。なお歩数と現在位置とは直接に対応付けられてもよい。
距離算出部115は、第1区間ルートの終点に対応する歩数と、第1区間ルートの始点に対応する歩数との差を算出する。この差は、受信レベルの平均値が受信基準値よりも小さい期間内おけるユーザの歩数に相当する。そして当該差に、予め設定された1歩あたりの距離を乗算して、区間距離を算出する。この区間距離の情報はルート修正部114へと出力される。
以上のように、本ルート処理部100によれば、現在位置の取得精度が低いと推定される第1区間ルートが検出されるとともに、その第1区間ルートの始点から終点までをユーザが移動したときの区間移動距離が算出される。この区間移動距離は必ずしも第1区間ルートの距離に一致するとは限らない。なぜなら、現在位置取得部70が低い精度で現在位置を取得することによって、第1区間ルートが、実際にユーザが移動したルートとは異なり得るからである。つまり、この区間距離は、現在位置情報に基づいて生成される第1区間ルートの距離というよりも、第1区間ルートの始点からこの第1区間ルートの終点までの間に、ユーザが実際に移動した距離を表している、と推定することができる。
本ルート処理部100では、後に詳述するように、第1区間ルートは修正対象の区間ルートとしてユーザに示される。また、区間移動距離は、後に述べるように、第1区間ルートに替わる候補の選定に用いられる。
図8は、ステップST2〜ST4に対応するフローの一例を示している。ステップST300において、ルート処理部100は「開始」ボタン101aが選択されたか否かを判定し、否定的な判定がなされると、再びステップST300を実行する。ステップST300において肯定的な判定がなされると、ステップST301において、歩数計81は歩数測定を開始する。次にステップST302において、ルート生成部112は現在位置取得部70から現在位置情報を取得する。次にステップST303において、ルート生成部112は現在位置を含むリンクデータを地図情報から抽出するとともに、抽出されたリンクデータを繋ぐノードデータも抽出する。なお、そのリンクデータが既に抽出されていれば、再度の抽出は不要である。
次にステップST304において、判定部111は、受信レベルの平均値が受信基準値を下回ったか否かを判定する。すなわち、受信レベルの平均値が受信信号よりも大きい状態から小さい状態へと遷移したか否かを判定する。肯定的な判定がなされたときには、ステップST305において、ルート生成部112は現在位置を第1区間ルートの始点として把握する。次にステップST306において、距離算出部115は歩数計81からの歩数情報を取得し、これを始点に対応する歩数情報として把握する。
ステップST304において否定的な判定がなされたとき、または、ステップST306を実行した後に、ステップST307において、判定部111は、受信レベルの平均値が受信基準値を超えたか否かを判定する。すなわち、受信レベルの平均値が受信信号よりも小さい状態から大きい状態へと遷移したか否かを判定する。肯定的な判定がなされたときには、ステップST308において、ルート生成部112は現在位置を第1区間ルートの終点として把握する。次にステップST309において、距離算出部115は歩数計81からの歩数情報を取得し、これを終点に対応する歩数情報として把握する。次にステップST310において、距離算出部115は第1区間ルートに対応する区間距離を、歩数情報に基づいて算出する。例えば第1区間ルートの終点の歩数から第1区間ルートの始点の歩数を減算し、その減算結果とに、1歩あたりの距離を乗算して区間距離を生成する。
ステップST307にて否定的な判定がなされたとき、または、ステップST310を実行した後に、ステップST311にて、ルート処理部100は「終了」ボタン102bが選択されたか否かを判定する。否定的な判定がなされると、ステップST302を再び実行する。ステップST311にて肯定的な判定がなされると、ステップST312において、歩数計81は歩数測定を終了する。なお上述のように抽出されたリンクデータおよびノードデータ、ならびに、第1区間ルートの始点および終点の情報がルート情報の一例である。
次に、ステップST5にて、表示制御部113は、ルート生成部112から受け取ったルート情報に基づいて、全体ルートを表示部30に表示する。なお、図5の例示では、ステップST5はステップST4の終了をトリガとして実行されるものの、必ずしもこれに限らない。例えば初期画面100aに全体ルートを表示させる「表示」ボタンを設け、ステップST4が終了したときに、初期画面100aを表示させてもよい。そして、この「表示」ボタンの選択に応答して、ステップST5を実行してもよい。
図9は全体ルートが表示された表示画面100cの一例を示している。図9の例示によれば、表示制御部113は全体ルートR10の周辺地図を地図情報に基づいて表示している。そして、この地図上に、第1区間ルートと第2区間ルートとの表示態様を互いに異ならせて、全体ルートR10を表示している。図9の例示では、区間ルートR11,R12が第1区間ルートに相当し、区間ルートR13が第2区間ルートに相当する。
表示制御部113は、例えば第1区間ルートと第2区間ルートとを示す色を互いに異ならせて表示する。あるいは、区間ルートを示す線の太さ、または、線種を互いに異ならせることで、第1区間ルートおよび第2区間ルートを区別して表示してもよい。
これにより、ユーザは第1区間ルートを容易に視認することができる。そして、この第1区間ルートが実際に移動したルートと異なっている場合には、ステップST6において、ユーザは、この第1区間ルートを修正するための入力を行う。例えばユーザは修正対象のルートとして区間ルートR11を選択する。タッチパネル50が当該選択操作を検出すると、その操作情報がルート修正部114に入力される。
ステップST7にて、当該操作情報が入力されたルート修正部114は、ルート情報に基づいて区間ルートR11の終点と始点と把握し、これらを繋ぐ複数のルートを地図情報から抽出する。
このときルート修正部114は、距離算出部115が算出した区間距離を用いて、選択された第1区間ルートに替わる候補(以下、候補区間ルートと呼ぶ)を選定する。より具体的には、当該複数のルートのうち、距離算出部115が算出した区間ルートR11に対応する区間距離との差が所定値よりも小さい距離を有するルートを、候補区間ルートとして選定する。例えばルート修正部114は、当該複数のルートを形成するリンクデータの道路長さを適宜に積算することによって、各ルートの距離を算出する。そして、各ルートの距離と、距離算出部115によって生成された、区間ルートR11に対応する区間距離との差を算出し、当該差が距離差基準値よりも大きいか否かを判定する。肯定的な判定がなされると、ルート修正部114はそのルートを候補区間ルートとして抽出する。表示制御部113は、この候補区間ルートを表示部30の地図上に表示する。否定的な判定がなされると、ルート修正部114はそのルートを候補区間ルートとしない。なおこの距離差基準値は例えば予め設定されて、記憶部(例えば記憶部103)などに記憶されていてもよい。
図10はステップST7に対応するフローの一例を示している。ステップST700において、ルート修正部114は、選択された区間ルートR11の終点と始点とを繋ぐルートを地図情報から一つ抽出する。次にステップST701において、当該ルートの距離を地図情報に基づいて算出する。例えば当該ルートを構成するリンクデータの道路長さを適宜に積算する。次にステップST702において、ルート修正部114は、算出したルートの距離と、区間ルートR11に対応する区間距離との差が距離差基準値よりも小さいか否かを判定する。肯定的な判定がなされると、ルート修正部114は、当該ルートを候補区間ルートとして抽出する。表示制御部113は、この候補区間ルートを表示部30の地図上に表示する。ステップS702にて否定的な判定がなされたとき、または、ステップST703の実行後に、ステップST704において、ルート修正部114は、全てのルートを抽出したか否かを判定する。否定的な判定がなされると、再びステップST700を実行する。ステップST700では過去に抽出したルート以外のルートが一つ抽出される。ステップST704において肯定的な判定がなされると動作を終了する。
図11は、複数の候補区間ルートR21〜R23が表示された表示画面100dの一例を概略的に示している。例えば候補区間ルートR21〜R23は、互いに異なる表示態様(例えば互いに異なる色、互いに異なる線幅、または互いに異なる線種)で表示されてもよい。
以上のように、ルート修正部114によれば、距離算出部115によって生成された区間距離との差が距離差基準値よりも小さい距離を有するルートが、候補区間ルートとして表示される。よってユーザが移動した可能性が高いルートが表示される。したがってユーザの利便性を向上できる。なお選択された第1区間ルートの始点と終点とを繋ぐ複数のルートのうち、区間ルートとの差が距離差基準値よりも小さい距離を有するルートのみを、候補区間ルートとして表示してもよい。
次にステップST8にてユーザは、自身が移動したルートを候補区間ルートR21〜R23のうちから選択する。例えば候補区間ルートR21を選択する。この選択はタッチパネル50によって検出されて、その操作情報がルート修正部114へと入力される。ルート修正部114は、選択された候補区間ルートR21を、第1区間ルートR11に差し換えて、ルート情報を更新する。
また表示制御部113は更新後の全体ルートR10を表示する。図12は更新後の全体ルートR10を表示する表示画面100eの一例を概略的に示している。図12の例示では、選択された区間ルートR21と、区間ルートR12,R13とによって、全体ルートR10が形成されることになる。
なお図12の例示では、区間ルートR21を、区間ルートR12,R13と区別して表示している。これにより、ユーザは、区間ルートR21が修正した区間ルートであることを容易に視認することができる。また、図12の例示では、区間ルートR12を他の区間ルートと区別して表示している。これにより、区間ルートR11の修正後であっても、未修正の第1区間ルート(ここでは区間ルートR12)が存在していることを容易に視認することができる。
また図12の例示では、区間ルートR11が全体ルートR10とは別の表示態様で表示されている。これにより、ユーザは、誤って生成された区間ルートR11を容易に視認することができる。これにより、ルート修正後であっても、現在位置の取得精度が低い区間ルートを認識することができる。
なお、区間ルートR21,R12を同じ表示態様で表示してもよい。これにより、正しいルートを区別することなく表示できる。また、区間ルートR12,R13を同じ表示態様で表示してもよく、あるいは、区間ルートR21,R12,R13を同じ表示態様で表示してもよい。
また、表示画面に所定のボタンを設け、当該ボタンの選択に応答して、これらの表示態様を切り替えても構わない。
また候補区間ルートを選択する入力が入力部(例えばタッチパパネル50)を介して受け付けられると、第1区間ルートR11の表示を終了してもよい。これにより、誤ったルートが表示されなくなる。
以上のように、本ルート処理部100によれば、全体ルートR10を表示する際に、現在位置の取得精度が低いと推定される第1区間ルートを、現在位置の取得精度が高いと推定される第2区間と区別して表示する。よって、ユーザは、誤っている可能性が比較的高い第1区間ルートを容易に視認することができる。
しかも、この第1区間ルートを選択することで、その区間ルートに代わる候補区間ルートが表示される。そして候補区間ルートのうちから一つを選択することで、全体ルートを修正することができる。このように第1区間ルートを単位として修正することができる。よって、修正対象となる区間ルートの指定を簡単な入力で行うことができ、利便性を向上できる。
さらに、距離算出部115は、現在位置取得部70が取得する現在位置とは別の情報に基づいて、区間距離を算出する。そしてルート修正部114は、距離算出部115が算出した区間距離との差が距離差基準値よりも小さい距離を有する区間ルートを、候補区間ルートとして表示する。よって、ユーザが実際に移動した可能性が高い区間ルートが候補区間ルートとして表示される。これによっても、利便性を向上できる。
なお、複数の候補区間ルートとしては、距離の条件のみならず、例えば次の条件を満たす区間ルートを選定してもよい。例えば道路の幅が所定値よりも大きい区間ルート、信号機の個数が所定値よりも少ない区間ルート、または、曲り回数が所定値よりも少ない区間ルートなどを選んでもよい。各区間ルートの道路の幅、信号機の個数および曲り回数は地図情報に基づいて検出できる。
また表示制御部113は、初期的には、第1区間ルートと第2区間ルートとの区別なしに全体ルートを表示してもよい。このとき表示制御部113は、第1区間ルートと第2区間ルートとを区別するためのボタンを表示してもよい。そして当該ボタンの選択操作の情報をタッチパネル50から受け取ったときに、表示制御部113は、第1区間ルートと第2区間ルートとを区別して表示してもよい。
また上述の例では、図3の移動距離算出部80の機能は、図4の歩数計81および距離算出部115によって実現されることとなる。つまりユーザの歩数に基づいて区間距離を算出している。しかるに、必ずしもこれに限らない。例えば加速度センサによって検出される加速度を2回積分して距離を算出してもよい。
また必ずしも移動距離算出部80の全ての機能が電子機器1に設けられている必要はない。例えばユーザに装着される装着型機器に、加速度センサが設けられていてもよい。この装着型機器は装着具(例えばベルト、クリップなど)を有しており、装着具を介してユーザに装着される。またこの装着型機器には、無線通信部(例えば近接無線通信部)が設けられ、装着型機器と電子機器1とは互いに無線通信を行うことができる。かかるシステムにおいて、加速度センサが検出する加速度の情報が近接無線通信部を介して電子機器1へと送信されてもよい。
この加速度の情報は、電子機器1において、近接無線通信部22を介して距離算出部115へと入力される。そして、距離算出部115は、この加速度の情報に基づいて、例えば歩数を測定し、予め定められた1歩あたりの距離を当該歩数に乗算することで、距離を算出する。或いは、例えば加速度を2回積分して、距離を算出してもよい。
また、距離算出部115における演算の少なくとも一部を装着型機器において行い、その演算結果を電子機器1へと送信してもよい。例えば装着型機器が歩数、速度または距離を算出し、その情報を送信してもよい。
次に、電子機器1および装着型機器の両方に加速度センサが設けられている場合について考慮する。ここでは、電子機器1は携帯用機器であって装着具を備えていない場合を想定する。かかる電子機器1は例えば鞄等に収納される場合がある。一方で、装着型機器はユーザに装着される可能性が高い。よって、装着型機器の加速度の情報の方が、ユーザの動きを反映している可能性が高い。
そこで、電子機器1が携帯型の電子機器であり、かつ、装着型機器と電子機器1との両方に加速度センサが設けられている場合には、距離算出部115は、装着型機器の情報を優先的に用いて距離を取得してもよい。例えば、距離算出部115は、近接無線通信部22を介して装着型機器からの情報(加速度、歩数、速度または距離の情報)を要求し、当該情報を取得できる場合には、装着型機器からの情報を用いて距離を取得してもよい。一方で、当該情報を取得できない場合には、例えば電子機器1の加速度センサの情報を用いて距離を算出してもよい。
なおルート処理部100は、ユーザの移動に際して、移動時間、移動距離および平均移動速度を検出してもよい。移動時間は、例えば「開始」ボタン101aが選択されたときに、周知のタイマ回路を用いて計時を開始し、「終了」ボタン102bが選択されたときに、計時を終了することで取得できる。移動距離は例えばルート情報に含まれるリンクデータの道路長さを適宜に積算することによって行うことができる。なお始点または終点を含むリンクデータでは、単純に道路長さを加算するのではなく、始点の位置または終点の位置を考慮して加算を行うことは言うまでもない。例えば始点の位置を含むリンクデータでは、次のリンクデータとの端部と、始点との間の道路長さを加算すればよい。終点についても同様である。また、平均移動速度は、例えば移動距離を移動時間で除算することで算出される。図9、図11および図12では、移動時間t1、移動距離d1および平均移動速度v1が表示されている。また図12の例示によれば、ルート処理部100は、ルート情報が更新されるときに、移動距離d1および平均移動速度v1も更新して、表示部30に表示している。
図8のステップST304において判定部111は、受信レベルの平均値が受信基準値よりも大きい状態から小さい状態へと遷移したか否かを判定したが、この場合に限られない。例えば判定部111はST304において、受信レベルの平均値が受信基準値よりも小さい状態にあるか否かを判定してもよい。また、図8のステップST307において判定部111は、受信レベルの平均値が受信基準値を超えたか否かを判定したが、この場合に限られない。例えば、判定部111はステップST307において、受信レベルの平均値が受信基準値よりも大きい状態にあるか否かを判定してもよい。この場合、図8の処理を図30に示すように、修正される。図30では、図8のステップの符号がブロックの内部に表示されており、これは、そのブロックが図8のステップと同じであることを意味している。
ステップST300の後にステップST301が実行され(図30では「ST301」から図示)、ステップST301の後にステップST302が実行され、ステップST302の後にステップST303が実行され、ステップST303の後にステップST304が実行される。ステップST304が実行された場合に受信レベルの平均値が受信基準値よりも小さいときは、ステップST305が実行され、ステップST305が実行された後にステップST306が実行され、ステップST306の後にステップST307が実行され、ステップST307において受信レベルの平均値が受信基準値よりも大きい状態にないときは、ステップST302の処理が実行され、ステップST302の処理が実行された後にステップST303の処理が実行され、ステップST303の処理の後にステップST311の処理が実行され、ステップST311において否定的な判定がなされたときは、再度ステップST307の処理が実行され、ステップST311において肯定的な判定がなされたときは、ステップST308,ST309,ST310、及びST312の処理が順に実行され、終了する。
また、上記のST304において受信レベルの平均値が受信基準値よりも小さくない場合は、ステップST311の処理が実行される。ステップST311の処理において否定的な判定がなされた場合はステップST302及びステップST303を実行し、再度ステップST304の処理に戻り、そしてステップST311の処理において肯定的な判定がなされた場合はステップST312を実行し、終了する。
上記ステップST307の処理において受信レベルの平均値が受信基準値よりも大きい場合は、ステップST308,ST309、及びST310の処理を実行後、ステップST311に遷移し、そしてステップST311において否定的な判定がなされた場合はステップST302及びST303の処理を実行し、上記のステップST304の処理が実行され、そしてステップST311において肯定的な判定がなされた場合には、ステップST312の処理を実行後、処理を終了する。
尚、本実施例において、ステップST304及びST307は、受信レベルの平均値と受信基準値とに基づいて判断したが、この場合に限られない。段落0050等に記載されているように、受信信号を受信することができた衛星の数に基づいて判断してもよい。例えばステップST304において判定部111は、受信信号を受信することができた衛星の数が所定の数よりも少ないか否かを判定してもよく、ステップST307において判定部111は、受信信号を受信することができた衛星の数が所定の数以上であるか否かを判定してもよい。つまり、例えば受信レベルの平均値は、受信した衛星の数に置き換えることができる。このように置き換えることができるのは、本開示の実施例のすべてにあてはめることができる。
第2の実施の形態.
第2の実施の形態にかかる電子機器1の構成は第1の実施の形態と同様である。ただし、第2の実施の形態では、第1区間ルートと第2区間ルートとの区別は必ずしも行われない。以下では、第1区間ルートと第2区間ルートとの区別なしに全体ルートを表示する場合について説明する。
図13は、制御部10の一例を概略的に示す機能ブロック図であり、図4と比較して、ルート処理部100には、判定部111が設けられていない。よってルート生成部112は、ユーザの移動に際して、第1区間と第2区間とを区別せずに、現在位置情報に基づいてルート情報を生成する。
図14はルート処理部100の動作を説明するためのフローチャートの一例を示している。ステップST11,ST12はステップST1,ST2とそれぞれ同じである。ステップST13においては、ルート生成部112は現在位置情報に基づいてルート情報を生成する。ただし、ここでは、第1区間ルートおよび第2区間ルートの情報なしにルート情報を生成する。次にステップST14にてユーザが「終了」ボタン102bを選択する。
次にステップST15において、距離算出部115は、例えば全体ルートの始点から終点までの移動距離(以下、全体距離とも呼ぶ)を、次の2つの情報に基づいてそれぞれ取得する。
第1に、現在位置情報とは別の情報に基づいて全体距離D1を取得する。例えば第1の実施の形態と同様に歩数計81における歩数情報を用いる。より具体的な一例として、ユーザの移動の開始(例えば「開始」ボタン101aの選択)とともに、歩数計81による歩数のカウントを開始し、移動の終了(例えば「終了」ボタン102bの選択)とともに、歩数計81による歩数のカウントを終了する。これにより、全体ルートの移動に必要な歩数が測定される。そして、1歩あたりの距離を当該歩数に乗算することで、全体距離D1を算出する。
第2に、距離算出部115は現在位置情報に基づいて全体距離D2を算出する。より具体的には、現在位置情報に基づいて生成されるルート情報を用いて、全体距離D2を算出する。この算出は、例えばルート情報に含まれるリンクデータの道路長さを適宜に積算することによって行うことができる。
以上のように、第2の実施の形態では、現在位置情報に基づいて全体距離D2を算出しつつ、現在位置情報とは別の情報に基づいて全体距離D1を算出している。
図15はステップST12〜ST15に対応するルート処理部100の動作の一例をより具体的に示すフローチャートである。ステップST350〜ST353はステップST300〜303と同じである。ステップST353の次のステップST354において、ボタン102bが選択されたか否かを判定する。否定的な判定がなされると、ステップST352を再び実行する。肯定的な判定がなされると、ステップST355にて、歩数計81は歩数測定を終了する。次にステップST356において、距離算出部115は歩数情報に基づいて全体距離D1を算出し、ステップST357において、現在位置情報に基づいて全体距離D2を算出する。
次にステップST16において、表示制御部113はルート情報に基づいて全体ルートR10を表示する。図16は、このときの表示画面100fの一例を概略的に示している。図16の例示では、第1区間ルートおよび第2区間ルートの区別なしに、全体ルートR10が表示されている。
ところで、現在位置情報に基づいて算出される全体距離D2が、現在位置情報とは別の情報に基づいて算出される全体距離D1と大きく異なる場合には、ルート情報が誤っている可能性がある。
そこで、表示制御部113は、全体距離D1,D2の差を算出し、これが誤差基準値よりも大きいか否かを判定する。そして肯定的な判定がなされると、表示制御部113は、全体距離D1,D2の値を表示するとともに、後述の「補正」ボタンを表示する。否定的な判定がなされたときには、これらの表示を行わない。誤差基準値は予め記憶部(例えば記憶部103)に記憶されており、「補正」ボタンの表示の要否判定に用いられる値である。
図17は表示制御部113における上記動作の一例を示すフローチャートである。ステップST501において、判定部111は全体距離D1,D2の差が誤差基準値よりも大きいか否かを判定する。肯定的な判定がなされると、表示制御部113はステップST502において「補正」ボタンを表示し、否定的な判定がなされると、表示制御部113はステップST503において、「補正」ボタンを表示しない。
図18は、「補正」ボタン102gが表示された表示画面100gの一例を概略的に示している。表示画面100gには、移動距離領域101gが設けられており、この移動距離領域101gには、全体距離D1としての「歩数計距離」と、全体距離D2としての「GPS距離」とが表示されている。
これにより、ユーザは、全体距離D1,D2が大きく異なっていることを視認できる。よって、全体ルートR10が正しいか否かの確認を促すことができる。そして、ユーザは全体ルートR10が正しくないと判断すると、ステップST17において、「補正」ボタン102gを選択する。当該選択操作はタッチパネル50によって検出されて、その操作情報がルート修正部114へと入力される。当該操作情報を受け取ったルート修正部114は、ステップST18において、全体ルートR10の始点と終点とを繋ぐ複数のルートを地図情報から抽出し、これを全体ルートに替わる候補(以下、候補全体ルートと呼ぶ)として表示部30に表示する。
このとき、この複数のルートのうち、全体距離D1との差が距離差基準値よりも小さい距離を有するルートを、候補全体ルートと呼ぶとして表示部30に表示する。これにより、ユーザが実際に移動した可能性の高いルートが候補全体ルートとして採用されることとなる。
図19はルート修正部114の上記動作の一例を示すフローチャートである。ステップST750において、ルート修正部114は、全体ルートの始点と終点とを繋ぐルートの一つを地図情報から抽出する。次にステップST751において、ルート修正部114は当該ルートの距離を地図情報に基づいて算出する。例えば当該ルートを構成するリンクデータの道路長さを適宜に積算する。次にステップST752において、ルート修正部114は当該ルートの距離と全体距離D1との差が距離差基準値よりも小さいか否かを判定する。肯定的な判定がなされると、当該ルートを候補全体ルートとして抽出する。表示制御部113はこの候補全体ルートを表示部30に表示する。ステップST752において否定的な判定がなされたとき、または、ステップST753の実行後に、ステップST754において、ルート修正部114は、全てのルートを抽出したか否かを判定する。否定的な判定がなされると、再びステップST750を実行する。ステップST750では過去に抽出したルート以外のルートが抽出される。ステップST754において肯定的な判定がなされると動作を終了する。
図20は、候補全体ルートR31〜R33が表示された表示画面100hの一例を概略的に示している。なお図20の例示では、候補全体ルートR31〜R33の各々が全体ルートR10と重複する部分は、全体ルートR10の表示態様で示されている。
そして、ステップST19において、ユーザは自身が移動したルートを候補全体ルートR31〜R33の中から選択する。当該選択操作はタッチパネル50によって検出されて、その操作情報がルート修正部114へと入力される。ステップST20において、ルート修正部114は、選択された候補全体ルートを全体ルートR10としてルート情報を更新する。そして表示制御部113は、更新後のルート情報に基づいて全体ルートR10を表示する。図21は、候補全体ルートR31が選択された場合の表示画面100iの概略的な一例を示している。図21の例示では、修正前後において変化しない部分と、修正によって変化した部分とが異なる表示態様で表示されている。なお、これらの部分を同じ表示態様で表示しても構わない。
第2の実施の形態によれば、全体距離D1,D2の差が大きいときに、全体ルートの修正を受け付けるので、修正を要する可能性が高いときに、全体ルートの修正を受け付けることができる。その一方で、全体距離D1,D2の差が小さいときには、修正を受け付けなくてもよい。この場合、誤った修正操作を回避できる。例えばユーザが、意図せずに「補正」ボタン102gを選択することによって、ルート処理部100が修正動作を開始することを抑制できる。
第3の実施の形態.
第3の実施の形態にかかる電子機器1の構成および制御部10の構成は第1の実施の形態と同様である。第3の実施の形態では、第1及び第2の実施の形態の両方を行う。
即ち、ルート生成部112は、第1の実施の形態と同様に、第1区間ルートおよび第2区間ルートを区別してルート情報を生成する。また、距離算出部115は、第1の実施の形態と同様にして、現在位置情報とは別の情報に基づいて、第1区間ルートに対応する区間距離を算出するとともに、第2の実施の形態に基づいて、ルート情報に基づいて全体距離D2を算出するとともに、現在位置情報とは別の情報に基づいて全体距離D1を算出する。
表示制御部113は、第1の実施の形態と同様に、第1区間ルートおよび第2区間ルートの表示態様を互いに異ならせて全体ルートを表示しつつ、第2の実施の形態と同様に、全体距離D1,D2の差が誤差基準値よりも大きいときに、全体距離D1,D2の値とともに「補正」ボタンを表示する。図22は、第3の実施の形態における表示画面100jの一例を概略的に示す図である。図22の例示では、表示制御部113は、第1区間ルートと第2区間ルートとを区別して全体ルートR10を表示するとともに、全体距離D1,D2および「補正」ボタン102gを表示している。
以後の動作は第1及び第2の実施の形態と同様であるので、繰り返しの説明を避ける。
また第3の実施の形態の変形例として、表示制御部113は初期的には図16に示すように第1区間ルートおよび第2区間ルートを区別せずに全体ルートを表示してもよい。そして、第2の実施の形態で説明したように、表示制御部113は、全体距離D1,D2の差が誤差基準値よりも大きいときに、図18に示すように、「補正」ボタン102gを表示する。そして、当該ボタン102gの選択を受けて、表示制御部113は第1区間ルートおよび第2区間ルートを区別して全体ルートを表示してもよい(図9参照)。
そして、ユーザによって第1区間ルートが選択されたときには、第1の実施の形態と同様にして第1区間ルートに対する修正動作を行ってもよい。
なお、第1区間ルートおよび第2区間ルートを区別して全体ルートを表示した状態で、「補正」ボタン102gの表示を維持しておき、このボタン102gを再び選択したときに、第2の実施の形態で説明したように、全体ルートに対する修正動作を行ってもよい。或いは、「補正」ボタン102gとは別のボタンを設け、このボタンの選択をタッチパネル50で検出したときに、第2の実施の形態で説明した全体ルートに対する修正動作を行ってもよい。
第4の実施の形態.
第4の実施の形態にかかる電子機器1および制御部10の構成は第1の実施の形態と同様である。第4の実施の形態では、第1区間ルートに対する修正を受け付けるか否かを、現在位置情報とは別の情報に基づいて生成される、第1区間ルートに対応する区間距離と、ルート情報に基づいて算出される第1区間ルートの距離との差に基づいて決定する。以下に詳述する。
まず距離算出部115は、第1の実施の形態と同様に現在位置情報とは別の情報に基づいて第1区間ルートに対応する区間距離(以下、区間距離D10)を算出する。これは、例えば図8の動作によって得ることができる。さらに距離算出部115は、現在位置情報に基づいて第1区間ルートの距離(以下、距離D11と呼ぶ)も算出する。例えば第1区間ルートを構成するリンクデータの道路長さを適宜に積算して算出する。
区間距離D10と距離D11とが互いに略等しいときには、第1区間ルートが正しく生成されていると推定することができる。そこで表示制御部113は、図5のステップST5において、区間距離D10と距離D11との差が誤差基準値よりも小さいときには、第1区間ルートおよび第2区間ルートの区別なしに全体ルートを表示し、区間距離D10と距離D11との差が誤差基準値よりも小さいときに、第1区別ルートおよび第2区別ルートを区別して全体ルートを表示してもよい。
図23はステップST551において、判定部111は、区間距離D10と距離D11の差が誤差基準値よりも大きいか否かを判定する。否定的な判定がなされると、ステップST553において表示制御部113は、第1区間ルートと第2区間ルートとを区別せずに全体ルートを表示する。この場合の表示画面は例えば図16に示すとおりである。このとき、ルート修正部114は、ユーザが第1区間ルートを選択しても、その第1区間ルートの修正動作を行わなくてもよい。
一方で、区間距離D10と距離D11が大きく離れているときには、第1区間ルートが正しく生成されていない可能性がある。そこで、ステップST551にて肯定的な判定がなされると、即ち区間距離D10と距離D11の差が誤差基準値よりも大きいときには、表示制御部113は、第1区間ルートと第2区間ルートとを区別して全体ルートを表示するのである(図9参照)。このときには、第1の実施の形態と同様にしてルート修正が行われる。
以上のように、区間距離D10と距離D11との差が大きいときに、第1区間ルートと第2区間ルートとが互いに異なる表示態様で表示される。よって、ルートが誤って生成された可能性が高いときに、ユーザによる第1区間ルートの確認を容易にできる。逆に、区間距離D10と距離D11との差が小さいときには、ルートが正しく生成された可能性が高いところ、この場合には、ユーザによる第1区間ルートの確認を促さないので、ユーザによる不要な確認動作を抑制できる。
なお、第2の実施の形態と同様に、区間距離D10と距離D11との差が所定値よりも大きいときには、区間距離D10と距離D11の値を表示部30に表示してもよい。
第5の実施の形態.
第5の実施の形態にかかる電子機器1の構成および制御部10の構成は第2の実施の形態と同様である。第5の実施の形態では、修正対象となる区間ルートを、ユーザによる入力によって任意に設定する。つまり入力部(例えばタッチパネル50)には、全体ルートの少なくとも一部のルート(修正対象となる区間ルート)を指定する入力がユーザによって行われる。この点は後に詳述する。
ルート生成部112は、例えば第2の実施の形態と同様に、ユーザの移動に際して、例えば第1区間ルートと第2区間ルートの区別なしに、ルート情報を生成する。
距離算出部115は、現在位置情報とは別の情報に基づいて、各地点に対応する距離を算出する。例えば第1の実施の形態と同様にして、各地点に対応する歩数を測定し、1歩あたりの距離を歩数に乗算することで、例えば全体ルートの始点から各地点までのルートに対応する距離を算出する。ただし、この距離は、当該ルートの距離とは必ずしも一致するとは限らない。現在位置取得部の取得精度が低い場合には、当該ルートが実際にユーザが移動したルートとは異なり得るからである。
表示制御部113は、生成したルート情報に基づいて、全体ルートを表示部30に表示する。図24は、全体ルートR10が表示される表示画面100kの一例を概略的に示している。図24の例示によれば、表示制御部113は第1区間ルートおよび第2区間ルートの区別なしに全体ルートを表示部30に表示している。また図24の例示によれば、表示制御部113は「手動補正」ボタン101kを表示部30に表示する。
ユーザは、全体ルートR10が正しくないと判断したときに、「手動補正」ボタン101kを選択する。当該選択操作はタッチパネル50によって検出されて、その操作情報がルート修正部114へと入力される。ルート修正部114は当該操作情報に応答して、修正対象となる区間ルートの指定入力を受け付ける。このとき、図25に例示するように、ルート修正部114は始点の入力を促す文章101mを表示部30に表示してもよい。
ユーザは、例えば表示された地図上において、修正対象となる区間ルートの始点へと操作子を近づけ、或いは接触させる。タッチパネル50は、操作子が近づいた、あるいは、接触した点を検出して、これをルート修正部114へと出力する。ルート修正部114は、例えば当該点を始点と把握し、例えば始点を示す記号S1を表示部30における地図上に表示する。
続けてルート修正部114は、修正対象となる区間ルートの終点の入力を受け付ける。また図26に例示するように、ルート修正部114は、終点の入力を促す文章101mを表示部30に表示してもよい。
ユーザは、例えば表示された地図上において、当該終点へと操作子を近づけ、或いは接触させる。タッチパネル50は操作子が近づいた、あるいは、接触した点を検出して、これをルート修正部114へと出力する。ルート修正部114は当該点を終点として把握し、例えば終点を示す記号E1を表示部30における地図上に表示する。
そして、ルート修正部114は、始点S1と終点E1とを繋ぐ複数のルートを地図情報から抽出する。
またルート修正部114は、始点S1と終点E1との間の区間ルートに対応する区間距離を算出する。この区間距離は、距離算出部115によって生成された、終点E1および始点S1にそれぞれ対応する距離の差である。そして、当該複数のルートのうち、この区間距離との差が距離差基準値よりも小さい距離を有するルートを、候補区間ルートとして採用する。これにより、ユーザが実際に移動した可能性の高いルートのみが候補区間ルートとして表示される。
図27は、候補区間ルートR41,R42が表示された表示画面100pの一例を概略的に示す図である。ユーザは、自身が移動したルートを候補区間ルートR41,R42の中から選択する。例えば候補区間ルートR41を選択する。この選択操作がタッチパネル50によって検出されて、その操作情報がルート修正部114に入力される。ルート修正部114は始点S1から終点E1までのルートを候補区間ルートR41に差し換えて、ルート情報を更新する。
表示制御部113は更新後のルート情報に基づいて全体ルートR10を表示する。図28は更新後の全体ルートR10が表示された表示画面101qの一例を概略的に示している。図28の例示では、候補区間ルートR41が全体ルートR10の一部として表示されることとなる。
以上のように、第5の実施の形態によれば、ユーザが修正対象となる区間ルートを任意に指定することができるので、より細かな修正を行うことができる。
第5の実施の形態は、第1から第4の実施の形態に組み合わせることができる。例えば第1の実施の形態においても、表示制御部113が「手動補正」ボタン102gを表示すればよい。そして、このボタン102gの選択に応答して、ルート処理部100が上述の動作を行えばよい。これにより、第1区間ルート以外の任意のルートを修正することができる。
第6の実施の形態.
第1から第5の実施の形態では、距離算出部115は、加速度センサによって検出された加速度の情報に基づいて、距離を算出した。そして、この距離に基づく条件で、ルートの候補を選定した。
ところで、ルート情報に基づいて算出される距離は、高さを考慮せずに算出されることがある。例えば、ルート情報に基づいて各地点の緯度、経度情報に基づいて、各地点間の距離を算出する場合には、高さは考慮されない。一方で、加速度センサに基づいて得られる距離は、高さが考慮された値である。
これらを比較してルート候補を選定するに当たり、一方の距離が高さ情報を含み、他方の距離が高さ情報を含まないことは好ましくない。そこで、第6の実施の形態では、高さ情報の有無に起因して生じる距離の差を低減することを企図する。
図29は、第6の実施の形態にかかる電子機器の一例を概略的に示す図である。第6の実施の形態では、圧力センサ90が更に設けられている。圧力センサ90は大気圧を検出する。大気圧は一般的には地上から遠ざかるほど低くなる。また短時間では、大気圧の分布の変動は少ないと推定することができる。よって、移動の開始時点の大気圧と、各地点の大気圧の差は、各地点の高さを表すと推定することができる。
そこで、距離算出部115は、区間ルートに対応する距離を、圧力センサ90によって検出される大気圧に基づいて補正する。より具体的には、大気圧の差の絶対値が大きいほど小さくなるように、当該距離を補正する。これにより、高さによる変動量を抑制して区間距離を算出することができる。以下、具体的な動作の一例について説明する。
距離算出部115は、ユーザが移動を開始するときに、例えば歩数計81による歩数のカウントを開始するとともに、圧力センサ90を用いて大気圧(初期大気圧)を検出する。そして、各地点に対応して歩数を記憶するとともに、各地点における大気圧も記憶する。
距離算出部115は、各点における歩数と、1歩あたりの距離とを乗算して得られる値に対して、高さ方向における補正を行って、各地点間の距離を算出する。ここでは、区間ルートの始点から終点までの間の第1地点から第N地点に対応して、歩数および大気圧が記憶されているものと仮定する。まず、第(k+1)地点(kは1〜N−1までの自然数)に対応する歩数と第k地点に対応する歩数との差に対して、1歩あたりの距離を乗算して第k地点から第(k+1)地点までの補正前の距離を算出する。そして、第(k+1)地点に対応する大気圧と第k地点に対応する大気圧の差の絶対値が大きいほど、当該距離が小さくなるように、補正前の距離を補正し、第k地点から第(k+1)地点までの距離を算出する。
例えば大気圧の差の絶対値に所定値を乗算して補正値を算出する。次に、補正前の距離を補正値で除算することによって、第k地点から第(k+1)地点までの距離を算出する。そして、kの値を変えつつ、この距離を積算することで、区間ルートに対応する区間距離を算出する。これにより、高さによる変動量を低減した距離を算出することができる。
ルート修正部114は、区間ルートの始点と終点とを繋ぐ各ルートを地図情報から抽出し、そのルートの距離を地図情報に基づいて算出する。ここでは、この距離は高さ情報を含んでいない。そして、区間距離との差が距離差基準値よりも小さいルートを区間ルートに替わる候補として採用する。
以上のように、高さ情報に起因する距離の相違を抑制して、距離同士を比較できるので、より高い精度で区間ルートに替わる候補を選定できる。
また、本発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得る。
実施の形態は、相互に矛盾しない限り、互いに組み合わせて実施することができる。