(57)【要約】【課題】  自律測位により取得した位置情報と、他の位置特定部からの位置情報との対応関係を考慮して、精度よく位置情報の補正を行う測位装置、電子機器及び測位方法等を提供すること。【解決手段】  測位装置２０は、自律測位用のセンサー１０からのセンサー情報に基づいて、自律測位の演算処理を行って、移動体の位置情報を求める処理部２１と、処理部２１で求められた位置情報と位置情報を特定する特定情報とを関連づけて記憶する記憶部２３を含み、処理部２１は、移動体の第１の位置情報を求め、他の位置特定部３０により特定された移動体の第２の位置情報と第２の特定情報を取得し、記憶部２３に記憶された位置情報のうち第２の特定情報に対応する第３の位置情報を取得し、第２の位置情報及び第３の位置情報に基づいて第１の位置情報を補正する。【選択図】      図１
2014190707.tif 000002
【特許請求の範囲】
【請求項１】
自律測位用のセンサーからのセンサー情報に基づいて、自律測位の演算処理を行って、移動体の位置情報を求める処理部と、
前記処理部で求められた前記位置情報と前記位置情報を特定する特定情報とを関連づけて記憶する記憶部と、
を含み、
前記処理部は、
前記移動体の第１の位置情報を求め、
他の位置特定部により特定された前記移動体の第２の位置情報と第２の特定情報を取得し、
前記記憶部に記憶された前記位置情報のうち前記第２の特定情報に対応する第３の位置情報を取得し、
前記第２の位置情報及び前記第３の位置情報に基づいて前記第１の位置情報を補正することを特徴とする測位装置。
【請求項２】
請求項１において、
前記処理部は、
前記第１の位置情報と前記第３の位置情報との差分情報を求め、
求めた前記差分情報と前記第２の位置情報との演算処理を行うことで求められた情報に基づく補正処理の結果を、前記移動体の前記位置情報とすることを特徴とする測位装置。
【請求項３】
請求項１又は２において、
前記処理部は、
所与のタイミングにおいて前記処理部から出力された前記位置情報に対する、前記位置特定部でのマップマッチング処理の結果を、前記第２の位置情報として取得することを特徴とする測位装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記処理部は、
第４の特定情報が関連づけられた第４の位置情報を前記位置特定部に出力した後に、前記位置特定部から前記第２の特定情報が関連づけられた前記第２の位置情報を取得した場合に、前記第２の特定情報に基づいて、前記第４の位置情報を前記第３の位置情報として特定することを特徴とする測位装置。
【請求項５】
請求項４において、
前記処理部は、
出力された前記第４の特定情報が、取得された前記第２の特定情報と対応する場合に、前記第４の位置情報を前記第３の位置情報として特定することを特徴とする測位装置。
【請求項６】
請求項４又は５において、
前記記憶部は、
Ｎ（Ｎは２以上の整数）個の前記位置情報を前記特定情報と関連づけて記憶し、
前記処理部は、
前記記憶部に記憶された前記Ｎ個の前記位置情報の中から、前記第２の位置情報に関連づけられた前記第２の特定情報に基づいて、前記第２の位置情報に対応する前記第３の位置情報を特定することを特徴とする測位装置。
【請求項７】
請求項６において、
前記処理部は、
前記記憶部に記憶された前記Ｎ個の前記位置情報の中から、前記第２の位置情報に対応する前記第３の位置情報を特定できなかった場合に、前記記憶部に記憶された前記Ｎ個の前記位置情報のうち、時間的に最も前に記憶された前記位置情報を前記第３の位置情報とすることを特徴とする測位装置。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記処理部は、
前記位置情報の処理タイミングを表すタイムスタンプ情報を、前記特定情報として前記位置情報に関連づけることを特徴とする測位装置。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記処理部は、
第１の周期の更新タイミングにおいて、前記自律測位の前記演算処理に基づいて前記位置情報の更新処理を行い、
第２の周期の取得タイミングにおいて、前記位置特定部から前記第２の位置情報を取得し、
所与の前記位置情報が更新される前記更新タイミングと、前記所与の位置情報に対応する前記第２の位置情報が前記位置特定部から取得される前記取得タイミングとが異なることを特徴とする測位装置。
【請求項１０】
請求項９において、
前記処理部は、
前記更新タイミングにおいて前記更新処理が行われた前記位置情報を、第３の周期の出力タイミングにおいて、前記位置特定部に対して出力し、
前記所与の位置情報が更新された前記更新タイミングと、前記所与の位置情報が出力される前記出力タイミングとが異なり、且つ
前記所与の位置情報が出力される前記出力タイミングと、前記所与の位置情報に対応する前記第２の位置情報が前記位置特定部から取得される前記取得タイミングとが異なることを特徴とする測位装置。
【請求項１１】
請求項１０において、
前記処理部は、
前記移動体であるユーザーの歩行を検出する歩行検出タイミングにより、前記更新タイミングを特定することを特徴とする測位装置。
【請求項１２】
請求項１乃至１１のいずれかに記載の測位装置を含むことを特徴とする電子機器。
【請求項１３】
請求項１２において、
前記位置特定部をさらに含むことを特徴とする電子機器。
【請求項１４】
自律測位用のセンサーからのセンサー情報に基づいて、自律測位の演算処理を行って、移動体の第１の位置情報を求め、
他の位置特定部により特定された前記移動体の第２の位置情報と第２の特定情報を取得し、
記憶部に記憶された前記自律測位の前記演算処理の結果である位置情報のうち、前記第２の特定情報に対応する第３の位置情報を取得し、
前記第２の位置情報及び前記第３の位置情報に基づいて前記第１の位置情報を補正する処理を行うことを特徴とする測位方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測位装置、電子機器及び測位方法等に関する。
【背景技術】
【０００２】
近年、何らかの手法により移動体（狭義には人であってもよいが、これに限定されない）の位置情報を取得し、当該位置情報を提示する装置等が用いられている。位置情報を利用したサービスとしては、例えば目的地までユーザーを案内するナビゲーションサービスや、位置情報の変化履歴を蓄積するロギングサービス等が考えられる。
【０００３】
特にスマートフォン等の携帯端末では、ＧＰＳ（Global Positioning System）を用いてマップアプリケーション上で、ユーザーの現在位置を提示したり、目的地までの経路を提示するナビゲーション機能が提供されている。また、カーナビゲーションシステムでも同様のアプリケーションが提供されている。
【０００４】
しかし、ＧＰＳは一般的に消費電力が大きく、スマートフォンのようにバッテリー容量に制限が大きい装置においては、アプリケーションの長時間の実行は困難であることも多い。そこでそのような装置では、ＧＰＳのように外部から絶対的な位置情報を取得するのではなく、装置自身が有する種々のセンサー（例えば加速度センサーやジャイロセンサー等）を用いて、当該装置、或いは当該装置を携帯するユーザーの位置情報を測位する自律測位（デッドレコニング。或いは慣性航法とも表記する）を用いる手法が考えられる。
【０００５】
例えば特許文献１には、ＧＰＳにより取得した位置情報と、自律測位により取得した位置情報の両方を用いて補正処理を行って、最終的な移動体の位置情報を求める手法が開示されている。また、特許文献２には、取得した位置情報に対して、マップ情報を用いた補正処理（マップマッチング処理）を行って現在位置情報を求める手法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−２９７０３０号公報
【特許文献２】特開２０１２−２３３７９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
自律測位では、原理的にはセンサーからの加速度情報を二階積分することで距離情報を求めることができるため、初期位置を何らかの手法で決定すれば、当該初期位置に対する変位である前記距離情報を積算することで現在位置を推定することができる。しかしながら、センサー情報により求められる距離情報は十分な精度を持たせることが難しく、当然自律測位の結果である位置情報の精度も低くなってしまう。さらに、自律測位では上述したように、推定した変位を積算するため、誤差も蓄積されてしまい精度低下が著しい。
【０００８】
よって自律測位を用いる場合には、位置情報の精度を向上させるために種々の手法を用いることが一般的であり、特許文献１及び特許文献２においても、補正処理を行うものとしている。
【０００９】
しかし、特許文献１ではある程度の頻度でＧＰＳの信号を取得するものとしており、上述した消費電力の観点から考えれば、本発明のように測位処理を低消費電力で実現する必要がある場合には適用できない。
【００１０】
また特許文献２では、補正処理にマップマッチングを用いているが、当該マップマッチング処理は処理負荷、及び消費電力が大きいことから、測位装置内において常時実行することは好ましくない。低消費電力という観点から考えると、自律測位を行う測位装置とは別に、マップマッチング処理に対応する位置特定処理を行う装置を設けることになる。そのような構成とすると、測位装置で求めた位置情報を外部へ出力し、出力された位置情報に対して外部で処理が行われ、処理後の位置情報を測位装置に入力する、という情報のやりとりが発生する。この場合、当該情報のやりとりによる遅延が問題となり、マップマッチング処理の結果を用いたとしても適切な補正処理を行うことができないが、この点については特許文献２では考慮されていない。
【００１１】
本発明の幾つかの態様によれば、自律測位により取得した位置情報と、他の位置特定部からの位置情報との対応関係を考慮して、精度よく位置情報の補正を行う測位装置、電子機器及び測位方法等を提供することができる。
【課題を解決するための手段】
【００１２】
本発明の一態様は、自律測位用のセンサーからのセンサー情報に基づいて、自律測位の演算処理を行って、移動体の位置情報を求める処理部と、前記処理部で求められた前記位置情報と前記位置情報を特定する特定情報とを関連づけて記憶する記憶部と、を含み、前記処理部は、前記移動体の第１の位置情報を求め、他の位置特定部により特定された前記移動体の第２の位置情報と第２の特定情報を取得し、前記記憶部に記憶された前記位置情報のうち前記第２の特定情報に対応する第３の位置情報を取得し、前記第２の位置情報及び前記第３の位置情報に基づいて前記第１の位置情報を補正する測位装置に関係する。
【００１３】
本発明の一態様では、測位装置は、他の位置特定部により特定された第２の位置情報に対応する第３の位置情報を特定し、第２の位置情報及び第３の位置情報に基づき第１の位置情報の補正処理を行う。よって、自律測位の演算処理により得られた位置情報と、他の位置特定部で特定された第２の位置情報との対応をとった上で処理を行うことができるため、より精度よく位置情報の補正処理を行うこと等が可能になる。
【００１４】
また、本発明の一態様は、自律測位用のセンサーからのセンサー情報に基づいて、自律測位の演算処理を行って、移動体の位置情報を求める処理部と、前記処理部で求められた前記位置情報と前記位置情報を特定する特定情報とを関連づけて記憶する記憶部と、を含み、前記処理部は、前記移動体の第１の位置情報と第１の特定情報を求め、他の位置特定部により特定された前記移動体の第２の位置情報と第２の特定情報を取得し、前記記憶部に記憶された前記位置情報のうち前記第２の特定情報に対応する第３の位置情報を取得し、前記第２の位置情報及び前記第３の位置情報に基づいて前記第１の位置情報を補正する測位装置に関係する。
【００１５】
本発明の一態様では、各タイミングにおいて第１の位置情報とともに第１の特定情報を求めること等が可能になる。
【００１６】
また、本発明の一態様では、前記処理部は、前記第１の位置情報と前記第３の位置情報との差分情報を求め、求めた前記差分情報と前記第２の位置情報との演算処理を行うことで求められた情報に基づく補正処理の結果を、前記移動体の前記位置情報としてもよい。
【００１７】
これにより、第１の位置情報と第３の位置情報の差分情報と、第２の位置情報とから移動体の位置情報を求めること等が可能になる。
【００１８】
また、本発明の一態様では、前記処理部は、所与のタイミングにおいて前記処理部から出力された前記位置情報に対する、前記位置特定部でのマップマッチング処理の結果を、前記第２の位置情報として取得してもよい。
【００１９】
これにより、処理部から出力した位置情報に対するマップマッチング処理の結果を、第２の位置情報とすること等が可能になる。
【００２０】
また、本発明の一態様では、前記処理部は、第４の特定情報が関連づけられた第４の位置情報を前記位置特定部に出力した後に、前記位置特定部から前記第２の特定情報が関連づけられた前記第２の位置情報を取得した場合に、前記第２の特定情報に基づいて、前記第４の位置情報を前記第３の位置情報として特定してもよい。
【００２１】
これにより、位置情報を特定する特定情報を用いて、測位装置が出力した第４の位置情報を、第２の位置情報に対応する第３の位置情報として特定すること等が可能になる。
【００２２】
また、本発明の一態様では、前記処理部は、出力された前記第４の特定情報が、取得された前記第２の特定情報と対応する場合に、前記第４の位置情報を前記第３の位置情報として特定してもよい。
【００２３】
これにより、第４の特定情報と第２の特定情報が対応する場合に、第４の位置情報と第２の位置情報が対応すると判定すること等が可能になる。
【００２４】
また、本発明の一態様では、前記記憶部は、Ｎ（Ｎは２以上の整数）個の前記位置情報を前記特定情報と関連づけて記憶し、前記処理部は、前記記憶部に記憶された前記Ｎ個の前記位置情報の中から、前記第２の位置情報に関連づけられた前記第２の特定情報に基づいて、前記第２の位置情報に対応する前記第３の位置情報を特定してもよい。
【００２５】
これにより、記憶部に記憶した複数の位置情報の中から、特定情報を用いて第２の位置情報に対応する第３の位置情報を特定すること等が可能になる。
【００２６】
また、本発明の一態様では、前記処理部は、前記記憶部に記憶された前記Ｎ個の前記位置情報の中から、前記第２の位置情報に対応する前記第３の位置情報を特定できなかった場合に、前記記憶部に記憶された前記Ｎ個の前記位置情報のうち、時間的に最も前に記憶された前記位置情報を前記第３の位置情報としてもよい。
【００２７】
これにより、記憶部に記憶した複数の位置情報から第３の位置情報を特定できない場合にも、誤差の発生を抑止した補正処理を行うこと等が可能になる。
【００２８】
また、本発明の一態様では、前記処理部は、前記位置情報の処理タイミングを表すタイムスタンプ情報を、前記特定情報として前記位置情報に関連づけてもよい。
【００２９】
これにより、タイムスタンプ情報を特定情報として用いることが可能になる。
【００３０】
また、本発明の一態様では、前記処理部は、第１の周期の更新タイミングにおいて、前記自律測位の前記演算処理に基づいて前記位置情報の更新処理を行い、第２の周期の取得タイミングにおいて、前記位置特定部から前記第２の位置情報を取得し、所与の前記位置情報が更新される前記更新タイミングと、前記所与の位置情報に対応する前記第２の位置情報が前記位置特定部から取得される前記取得タイミングとが異なってもよい。
【００３１】
これにより、所与の位置情報についての更新タイミングと、当該所与の位置情報に対応する第２の位置情報の取得タイミングとが異なる場合に、本実施形態の手法を適用すること等が可能になる。
【００３２】
また、本発明の一態様では、前記処理部は、前記更新タイミングにおいて前記更新処理が行われた前記位置情報を、第３の周期の出力タイミングにおいて、前記位置特定部に対して出力し、前記所与の位置情報が更新された前記更新タイミングと、前記所与の位置情報が出力される前記出力タイミングとが異なり、且つ前記所与の位置情報が出力される前記出力タイミングと、前記所与の位置情報に対応する前記第２の位置情報が前記位置特定部から取得される前記取得タイミングとが異なってもよい。
【００３３】
これにより、所与の位置情報についての更新タイミングと、出力タイミングが異なり、且つ出力タイミングと当該所与の位置情報に対応する第２の位置情報の取得タイミングとが異なる場合に、本実施形態の手法を適用すること等が可能になる。
【００３４】
また、本発明の一態様では、前記処理部は、前記移動体であるユーザーの歩行を検出する歩行検出タイミングにより、前記更新タイミングを特定してもよい。
【００３５】
これにより、歩行検出タイミングにより更新タイミングを特定する場合に、本実施形態の手法を適用すること等が可能になる。
【００３６】
また、本発明の他の態様は、上記の測位装置を含む電子機器に関連する。
【００３７】
本発明の他の態様では、電子機器は前記位置特定部をさらに含んでもよい。
【００３８】
また、本発明の他の態様は、自律測位用のセンサーからのセンサー情報に基づいて、自律測位の演算処理を行って、移動体の第１の位置情報を求め、他の位置特定部により特定された前記移動体の第２の位置情報と第２の特定情報を取得し、記憶部に記憶された前記自律測位の前記演算処理の結果である位置情報のうち、前記第２の特定情報に対応する第３の位置情報を取得し、前記第２の位置情報及び前記第３の位置情報に基づいて前記第１の位置情報を補正する処理を行う測位方法に関係する。
【図面の簡単な説明】
【００３９】
【図１】図１（Ａ）、図１（Ｂ）は本実施形態の測位装置、及び測位装置を含む電子機器のシステム構成例。
【図２】図２（Ａ）、図２（Ｂ）は本実施形態に係る電子機器の具体例。
【図３】本実施形態の処理を説明する図。
【図４】第１の実施形態の処理タイミング及び遅延を説明する図。
【図５】第１の実施形態に関連する従来手法を説明するフローチャート。
【図６】第１の実施形態の処理を説明するフローチャート。
【図７】第２の実施形態の処理タイミング及び遅延を説明する図。
【図８】第２の実施形態に関連する従来手法を説明するフローチャート。
【図９】第２の実施形態の処理を説明するフローチャート。
【図１０】図１０（Ａ）、図１０（Ｂ）はバッファーの記憶されるデータ構造例、及び第３の位置情報の特定処理を説明する図。
【図１１】第３の位置情報を特定できない場合の処理の説明図。
【発明を実施するための形態】
【００４０】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４１】
１．本実施形態の手法
まず本実施形態の手法について説明する。上述したように、近年では移動体の位置情報を取得、提示する装置が用いられている。そして、位置情報の取得にはＧＰＳが広く用いられているが、消費電力等の観点から、ＧＰＳに比べて低消費電力で実現できる自律測位を用いる手法も有用である。なお、本実施形態は自律測位を用いるものであるが、ＧＰＳの使用を一切しないものには限定されない。自律測位は相対位置を求めることしかできないため、絶対的な初期位置の設定にＧＰＳを用いる可能性はあるし、消費電力の観点から問題にならない程度の低い頻度で、ＧＰＳ信号を取得する等の変形実施を行うことを妨げない。
【００４２】
自律測位により位置情報を取得する場合に問題となるのは、推定した位置情報に誤差が生じることで、移動体の実際の位置と、推定した位置とが大きく異なる可能性が生じることである。例えば、加速度センサーから加速度情報を取得し、それを二階積分すれば距離情報（狭義には距離の変動）を求めることができるが、その値には誤差が大きい。さらに、自律測位では基準位置に対する変動として位置が求められるため、現在の位置情報はそれまでの推定結果（距離の変動）の加算処理となり、各タイミングでの推定結果に誤差が生じる場合には、当該誤差まで蓄積されてしまい推定精度の低下が著しい。加速度情報を単純に二階積分するのではなく、他の手法を用いること等で精度向上を図ることは可能であるが、誤差の蓄積という点を考慮すれば、何らかの補正処理を行うことが望ましい。
【００４３】
推定した位置情報に対する補正処理の一例としては、マップマッチング処理が考えられる。マップマッチング処理とは、マップ情報（例えば道路等の交通網を表す情報であってもよいし、他の情報であってもよい）を保持、或いは取得し、補正処理前の位置情報（ここでは自律測位により得られた位置情報）に対して、当該マップ情報を用いて補正処理を行うものである。例えば、移動体として自動車を考え、マップ情報として自動車が通行可能な道路とそれ以外とを区別可能な情報を保持していたとする。その場合、自律測位により得られた位置情報が、建物の内部等、自動車が進入不可能な位置に対応した場合には、当該位置情報は適切なものではないとして、適切な位置、すなわち自動車が位置することが可能である道路上に、前記位置情報を補正する処理が行われる。マップマッチング処理については広く知られているため、詳細な説明は省略する。また、本実施形態でのマップマッチング処理は種々の実施形態を広く適用可能である。
【００４４】
ただし、マップマッチング処理やその他の位置情報の補正処理は、自律測位での位置情報の推定処理に比べて処理負荷が重いことが一般的である。よって自律測位を行う測位装置を低消費電力で実現したとしても、マップマッチング処理等を行うブロック（以下、位置特定部と表記）を常時、或いは高頻度で起動していたのでは消費電力の低減効果が低い。つまり、自律測位の処理を行う測位装置と、位置特定部とは、そもそも別の電子機器に設けられるか、同一の電子機器に設けられるとしても、別ブロックとして実現される必要がある。別の電子機器として実現される例としては、後述する図２（Ｂ）が考えられ、ここでは測位装置はスマートフォン１００２にマイコン２０１として設けられ、位置特定部３０は、ネットワーク４０を介してスマートフォン１００２に接続されるサーバーシステム３００に設けられる。また、同一の電子機器に別ブロックで設けられる例としては、後述する図２（Ａ）が考えられ、ここでは測位装置はスマートフォン１００１にマイコン２０１として実現され、位置特定部３０はスマートフォン１００１のＣＰＵ３０１により実現される。図２（Ａ）では、ＣＰＵ３０１を多くの時間でスリープさせ（低頻度で起動させ）、マイコン２０１と自律測位用センサー１０だけをアクティブにするという構成が可能であるものとすれば、スマートフォン１００１全体として、位置情報の推定処理に関して低消費電力を実現できる。
【００４５】
ここで問題となるのが、測位装置で自律測位により所与の位置情報を取得した場合に、当該位置情報が位置特定部による処理を経て測位装置に返されるまでにタイムラグが生じる点である。ここでのタイムラグは、測位装置で取得された位置情報を外部に送信するために要する時間（位置情報取得から送信処理までの待機時間や、図２（Ｂ）の場合であればネットワーク遅延等を含む）と、位置特定部での処理に要する時間、及び処理後の位置情報を外部から測位装置に送信するために要する時間、とにより生じることになる。
【００４６】
具体例を図３及び図４に示す。図４は各処理のタイミングを示した図であり、更新タイミングとは、測位装置において１つの位置情報が求められ、最新の位置情報として更新されたタイミングを表す。更新タイミングは例えば後述するように３２Ｈｚ等の周波数で行われる。それに対して、更新タイミングで更新された位置情報の全てがマップマッチング処理の対象となるわけではなく、位置特定部への位置情報の出力は、更新タイミングの周期とは異なる周期である出力タイミングで行われる。出力タイミングは例えば後述するように１Ｈｚ程度である。図４では、Ｄ１のタイミングで更新された位置情報が、Ｅ１のタイミングで出力されることになる。なお図４ではＤ１とＥ１の間の遅延は考慮していない。
【００４７】
Ｅ１のタイミングで出力された位置情報は、位置特定部への出力、位置特定部でのマップマッチング処理を経てＦ１のタイミングに測位装置で取得される。Ｅ１とＦ１の間には上述した遅延が生じる。その結果、Ｄ１での位置情報に対するマップマッチング処理の結果が、Ｄ１よりも遅いＤ３のタイミングで取得されることになる。この際、図４の更新タイミングを見ればわかるように、Ｄ３においては既に新たな位置情報が取得されており、一般的にＤ３での位置情報はＤ１での位置情報と異なる位置を表す。つまり、Ｆ１で取得されたマップマッチング処理後の位置情報は、Ｄ１での位置情報を補正する値であるにもかかわらず、従来手法をそのまま適用するとＦ１で取得された位置情報でＤ３での位置情報を補正してしまうという問題が生じる。
【００４８】
これを模式的に表したものが図３である。図３のＡ１〜Ａ４は測位装置で自律測位により取得された位置情報である。ここでは道路が縦方向に走っているにもかかわらず、Ａ３では道路から外れてしまっている。よって、Ａ３の位置情報を位置特定部へ出力し、マップマッチング処理を行って道路上の位置へ補正することでＢ３の位置情報を取得して、Ａ３をＢ３で補正する（狭義には単純に置き換えればよいが、これに限定されない）とよい。
【００４９】
しかし、Ａ３が図４のタイミングＤ１に対応すると、Ａ３に対するマップマッチング処理の結果であるＢ３はタイミングＤ３（＝Ｆ１）で取得されることになり、この間にも移動体の移動が行われる。図３でいえば、Ａ４がタイミングＤ３での自律測位の結果として取得される位置情報を表す。図４ではタイミングＤ３での位置情報はマップマッチング処理の対象ではないが、仮にＡ４に対してマップマッチング処理が行われるとするならば、その結果としてＢ４が得られるはずである。つまり、タイミングＤ３（＝Ｆ１）でマップマッチング処理の結果を利用するのであれば、Ｂ４を本来用いるべきところ、図４に示した遅延が原因となり、Ｂ３を用いることになってしまう。このようにすると、Ａ３からＡ４の間で移動体の移動が行われていたにもかかわらず、当該移動がなかったものとする補正処理が行われてしまう。結果として、移動体の移動距離は本来の値よりも小さいものとなってしまう。この距離減少は１回当たりの値は小さいものと想定されるが、上述したように自律測位ではそれまでの結果を積算するため誤差が蓄積され、ある程度の期間において測位を行った場合には、当該誤差は無視できないものとなる。
【００５０】
なお、図４のＤ２，Ｄ４，Ｅ２，Ｆ２に示したように、上記遅延は複数の出力タイミング、取得タイミングの各タイミングにおいて発生するものである。また、図４ではＥ１，Ｆ１間の遅延と、Ｅ２，Ｆ２間の遅延を同一の時間として表記したが、位置特定部３０での処理状況やネットワーク遅延等によっては、タイミング毎に遅延の長さは異なることが想定される。
【００５１】
そこで本出願人は、従来手法であればないものとされてしまうＡ３からＡ４の間の差分情報（図３でいうΔ）を求め、当該差分情報を用いる手法を提案する。具体的には、タイミングＤ３（＝Ｆ１）で得られたマップマッチング処理の結果であるＢ３をそのまま用いるのではなく、Ｂ３とΔの加算処理を行いＣ１を求め、求めたＣ１を用いて位置情報を補正する。これはタイミングＤ３での位置情報Ａ４を単純にＣ１で置き換えるものであってもよいし、Ｃ１を用いて何らかの処理を行った結果でＡ４を補正するものであってもよい。
【００５２】
この際には、タイミングＦ１でマップマッチング処理の結果が取得された場合に、当該結果が、どのタイミングで更新された位置情報に対するマップマッチング処理の結果であるかを特定する必要がある。図３でいえば、Ａ４の位置情報に更新したところで、位置特定部からＢ３の情報が取得されるが、当該Ｂ３はＡ１〜Ａ３のいずれに対応するのか（或いはＡ１以前のものに対応するか）を特定しなければ、Δを求めることができないためである。
【００５３】
そこで本実施形態では、位置情報を更新する際に、当該位置情報を特定する特定情報を関連づけて記憶し、位置特定部へ位置情報を出力する際にも、対応する特定情報を関連づけて出力する。そして、位置特定部からマップマッチング処理の結果を取得する際にも、特定情報と併せて取得し、当該特定情報を用いて、マップマッチング処理の結果がどの位置情報に対する処理結果であるのかを特定するものとする。
【００５４】
以下、第１の実施形態と第２の実施形態で詳細を説明する。第１の実施形態は図４に示したように、更新タイミングと出力タイミングとの間の遅延がないものとした場合を説明する。この場合、遅延としては出力タイミングと取得タイミングとのタイムラグを考慮することになる。一方、第２の実施形態では、図７を用いて後述するように、更新タイミングと出力タイミングとの間の遅延を考慮する場合を説明する。これは図７のように、３２Ｈｚ等で行われる処理ループのタイミングと、実際に位置情報が更新される更新タイミングとで周期が異なる場合が想定され、その際には更新タイミングと出力タイミングとのタイムラグである遅延１と、出力タイミングと取得タイミングとのタイムラグである遅延２を考慮する必要が生じる。ただし、実施形態２においても遅延の生じ方が異なるのみであり、測位装置での処理の考え方は基本的に同様である。
【００５５】
２．第１の実施形態
第１の実施形態について説明する。具体的には、測位装置及び当該測位装置を含む電子機器のシステム構成例について説明し、その後フローチャートを用いて処理の詳細について説明する。
【００５６】
２．１  システム構成例
図１（Ａ）、図１（Ｂ）に本実施形態の測位装置２０を含む電子機器１００の構成例を示す。図１（Ａ）は電子機器１００が位置特定部３０を含む例である。この場合、電子機器１００は、自律測位用センサー１０と、測位装置２０と、位置特定部３０と、を含む。ただし、電子機器１００や、電子機器１００を構成する各部は図１（Ａ）の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。また、後述する図１（Ｂ）〜図２（Ｂ）等についても、種々の変形実施が可能である点は同様である。
【００５７】
自律測位用センサー１０には、加速度センサー１１と、ジャイロセンサー１３と、圧力センサー１５と、地磁気センサー１７とが含まれる。各センサーについては広く用いられるものであるため、詳細な説明は省略する。また、各センサーの具体的な構成（構造例）は種々考えられるが、本実施形態は特定の構成に限定されるものでなく、種々の構成を広く適用可能である。また、自律測位用センサー１０として上記以外のセンサーを用いてもよいし、自律測位用センサー１０から上記センサーの１又は複数を除外してもよい。また、上記センサーを自律測位以外の用途で用いる等の変形実施が可能である。
【００５８】
測位装置２０は、処理部２１と、記憶部２３を含む。処理部２１は、自律測位用センサー１０からのセンサー情報や、位置特定部３０から取得した情報に基づいて、種々の処理を行う。この処理部２１の機能は、各種プロセッサー（ＣＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムなどにより実現できる。処理部２１での処理の詳細については、図６のフローチャート等を用いて後述する。
【００５９】
記憶部２３は、処理部２１等のワーク領域となるもので、その機能はＲＡＭ等のメモリーやＨＤＤ（ハードディスクドライブ）などにより実現できる。記憶部２３では、処理部２１において自律測位用センサー１０からのセンサー情報に基づいて取得された位置情報を、当該位置情報を特定する特定情報と関連づけて記憶する。
【００６０】
位置特定部３０は、処理部２１から自律測位により求められた位置情報を取得し、取得した位置情報に対して位置特定処理（狭義には上述したようにマップマッチング処理）を行い、処理結果を処理部２１に対して出力する。位置特定部３０での処理内容は公知の手法を適用すればよいため、詳細な説明は省略する。なお、マップマッチング処理を行う場合のマップ情報は、電子機器１００に記憶しておいてもよいし、マップマッチング処理の際に外部（例えばデータサーバー）から取得するものであってもよい。
【００６１】
図１（Ａ）の電子機器１００の一例を示したものが図２（Ａ）である。図２（Ａ）の例では、電子機器１００はスマートフォン１００１に対応し、スマートフォン１００１は、自律測位用センサー１０と、マイコン２０１と、ＣＰＵ３０１を含み、マイコン２０１により測位装置が実現され、ＣＰＵ３０１により位置特定部が実現される。この場合、マイコン２０１がＣＰＵ３０１を介さずに自律測位用センサー１０からの信号を取得するものとすれば、自律測位の演算処理は消費電力の多いＣＰＵ３０１をスリープにした状態でも実行することができ、低消費電力での自律測位が可能になる。
【００６２】
或いは、本実施形態の測位装置２０、及び当該測位装置２０を含む電子機器１００は図１（Ｂ）に示した構成であってもよい。電子機器１００は、自律測位用センサー１０と、測位装置２０とを含む。そして電子機器１００は、ネットワーク４０を介して位置特定部３０と接続される。図１（Ａ）と比べた場合、位置特定部３０が電子機器１００の外部に設けられる点以外は同様であるため、各部の詳細な説明は省略する。
【００６３】
図１（Ｂ）の電子機器１００の一例を示したものが図２（Ｂ）である。図２（Ｂ）の例では、電子機器１００はスマートフォン１００２に対応し、スマートフォン１００２は、自律測位用センサー１０と、マイコン２０１と、ＣＰＵ３０１を含み、マイコン２０１により測位装置が実現される。また、スマートフォン１００２はネットワーク４０を介してサーバーシステム３００に接続され、サーバーシステム３００には位置特定部３０が含まれる。この場合、処理負荷の比較的に重い位置特定部３０での処理がスマートフォン１００２の外部で行われることになるため、位置特定部３０の処理電力については考慮する必要がない。
【００６４】
２．２  処理の詳細
次に図５、図６のフローチャートを用いて本実施形態の処理の詳細について説明する。なお、以下の処理では移動体は人であり、人の歩行時における位置情報の推定処理を行うものとして説明するが、これに限定されるものではない。
【００６５】
まず図５を用いて従来手法について簡単に説明する。従来手法においては、まずＧＰＳ等を用いて、初期位置の設定を行う（Ｓ１０１）。上述したように自律測位では相対位置しか取得できないため、基準となる位置の設定が必要なためである。
【００６６】
そして、所定の周期（ここでは１／３２秒周期）でのループ処理を開始する（Ｓ１０２）。ループ内では、センサー情報を用いて、歩行速度と歩行方位を算出する（Ｓ１０３，Ｓ１０４）。そして算出した歩行速度と歩行方位を用いて、位置情報Ｐを求める（Ｓ１０５）。Ｓ１０５のタイミングが、図４における更新タイミングに対応する。
【００６７】
そして、位置特定部３０からのフィードバック（具体的にはマップマッチング処理後の位置情報であり、ここでは当該位置情報をＰｒｏａｄとする）があるかの判定を行う（Ｓ１０６）。これは図４でいえば、現在のタイミングが取得タイミングであるか否かの判定に対応する。Ｐｒｏａｄが取得された場合には、それを用いてＰの補正処理を行う（Ｓ１０７）。Ｐｒｏａｄは直近のＳ１０５の処理により更新されたＰに対するマップマッチング処理の結果ではなく、過去のループでのＰに対する処理結果である可能性があるが、上述したように従来手法ではその点を考慮しないため、Ｓ１０７で示したようにＰｒｏａｄでＰを補正することになる。
【００６８】
そして求めたＰを位置特定部３０に出力し（Ｓ１０８）、１回のループを終了してＳ１０３に戻る。
【００６９】
なお、図４では更新タイミングは１／３２秒周期であり、出力タイミングは更新タイミングよりも長い周期であるものとして表記したが、図５（及び後述する図６）に示したように、出力タイミングについても１／３２秒周期とすることを妨げない。出力タイミングが高頻度であったとしても、所与の出力タイミングで出力された位置情報が、ある程度の遅延をもって処理部２１にフィードバックされる点に変わりはなく、図４と同様に考えることができる。
【００７０】
図５の手法では、上述したように位置情報がフィードバックされるまでの遅延が考慮されず、Ｓ１０７での処理を行うことで移動距離が短く算出されてしまう。それに対して本実施形態の処理の詳細を示したものが図６のフローチャートである。
【００７１】
Ｓ２０１〜Ｓ２０４については図５のＳ１０１〜Ｓ１０４と同様である。Ｓ２０３，Ｓ２０４で求めた歩行速度、歩行方位に基づいて位置情報Ｐが求められたら、位置情報を更新するとともに、当該位置情報を特定する特定情報を関連づける（Ｓ２０５）。ここでの特定情報とは、位置情報を特定できる（狭義には所与の位置情報と他の位置情報を区別可能な）情報である。例えば、Ｓ２０５でＰを求めたタイミングを表すタイムスタンプ等の時間情報を特定情報としてもよい。或いは、時刻そのものを表す情報でなくてもよく、例えば位置情報１つ１つに割り振られるＩＤ等の情報であってもよい。
【００７２】
その後、位置特定部３０からＰｒｏａｄがフィードバックされたかの判定を行う（Ｓ２０６）。処理部２１から位置特定部３０へのＰの出力の際には、Ｓ２１１で後述するようにＰに対応する特定情報も出力されており、Ｓ２０６でＰｒｏａｄを取得した場合には、当該Ｐｒｏａｄにも出力時の特定情報が関連づけられている。本実施形態では、Ｓ２０６で取得した特定情報と、過去のループで記憶された（具体的にはＳ２１０でバッファーに記憶された）特定情報とを比較し、Ｓ２０６で取得したＰｒｏａｄが、過去に更新された位置情報Ｐのいずれに対応するかを判定する（Ｓ２０７）。これは図３でいえば、Ｂ３が取得された場合に、Ａ１〜Ａ４（或いはそれ以前の位置情報）からＡ３を特定する処理に対応する。
【００７３】
そして、特定した位置情報Ｐｏｌｄと、現在の位置情報（現ループのＳ２０５で更新されたＰ）との差分情報Δを求める（Ｓ２０８）。これは図３でいえばＡ４（Ｐ）とＡ３（Ｐｏｌｄ）との差分を求める処理に対応する。さらに、取得したＰｒｏａｄをそのまま用いるのではなく、Ｐｒｏａｄ＋Δを求め、求めた情報を用いてＰの補正を行う（Ｓ２０９）。これは図３でいえば、Ｂ３とΔからＣ１を求め、Ｃ１をＡ４の補正に用いる処理に対応する。
【００７４】
Ｓ２０６でＮｏだった場合は、Ｓ２０５で求めたＰと、Ｐに対応する特定情報とを後のループでのＳ２０７での比較処理用にバッファーに記憶する（Ｓ２１０）。一方、Ｓ２０６でＹｅｓだった場合にはＳ２０９の処理後のＰと、Ｐに対応する特定情報とを後のループでのＳ２０７での比較処理用にバッファーに記憶する（Ｓ２１０）。ここでのバッファーとは図１（Ａ）、図１（Ｂ）の記憶部２３に対応する。なおバッファーに保持されるＰ及び特定情報の数は種々の設定が可能である。ただし、遅延時間がある程度想定される場合には、当該遅延時間以内の情報はバッファーに記憶しておくことが望ましい。上述してきたように、本実施形態では位置特定部３０からのフィードバックＰｒｏａｄが取得された場合に、Ｐｒｏａｄに対応する位置情報Ｐｏｌｄを適切に特定し差分情報Δを求める必要がある。バッファーに保持される情報が少なすぎて、Ｐｒｏａｄ取得時には対応するＰｏｌｄがバッファーから消去されてしまうケースは、適切な処理を行うことができないため好ましくない。図６のフローチャートであれば、Ｐ及び特定情報は１／３２秒周期で記憶されるため、遅延時間τがわかっている場合には、τ＜１／３２×Ｎを満たすＮ個だけ、Ｐ及び特定情報をバッファーに保持しておくとよい。
【００７５】
Ｓ２１０でバッファーに記憶されるデータ構造の例、及びＳ２０７でのＰｏｌｄの特定処理の例を図１０（Ａ）、図１０（Ｂ）に示す。図１０（Ａ）がバッファーに記憶されるデータ構造の一例を示すものであり、ここでは位置情報Ｐと特定情報ｔとを関連づけたものを１組とし、それらをＮ組保持するものとする。ｔ１はＰ１を特定可能な情報であり、ｔ２はＰ２を特定可能な情報である。つまり、ｔ１〜ｔＮは相互に区別可能な情報となる必要がある。なお、図１０（Ａ）では位置情報をＰで表したが、位置情報の表現形式は、開始位置に対する相対位置関係を表すベクトルであってもよいし、緯度経度を用いてもよく、任意の表現が可能である。また、特定情報ｔも時刻情報に限定されないことは上述したとおりである。
【００７６】
図１０（Ｂ）がＳ２０７でのＰｏｌｄの特定処理を説明する図である。バッファーには図１０（Ａ）に示したように、Ｓ２１０の処理が複数回繰り返されることで、Ｎ組の情報が記憶されている。図１０（Ｂ）に示したように、マップマッチング処理の結果であるＰｒｏａｄが特定情報ｔｋと関連づけられて取得された場合に、処理部２１はバッファーに保持している特定情報から、ｔｋと対応するもの（狭義には一致するもの）を探索する。図１０（Ｂ）に示したように、ｋ番目の位置情報Ｐｋに関連づけられた特定情報ｔｋが、Ｐｒｏａｄに関連づけられた特定情報ｔｋと一致する場合には、Ｐｋに対してマップマッチング処理が行われた結果がＰｒｏａｄである、すなわちＰｋ＝Ｐｏｌｄであると判定することができる。
【００７７】
以上の本実施形態では、測位装置２０は図１（Ａ）或いは図１（Ｂ）に示したように、自律測位用のセンサー（自律測位用センサー１０）からのセンサー情報に基づいて、自律測位の演算処理を行って、移動体の位置情報を求める処理部２１と、処理部２１で求められた位置情報と、位置情報を特定する特定情報とを関連づけて記憶する記憶部２３を含む。そして処理部２１は、移動体の第１の位置情報を求め、他の位置特定部３０により特定された移動体の第２の位置情報と第２の特定情報を取得し、記憶部２３に記憶された位置情報のうち第２の特定情報に対応する第３の位置情報を取得し、第２の位置情報及び第３の位置情報に基づいて第１の位置情報を補正する。
【００７８】
具体的には、処理部２１は、第１の位置情報と第３の位置情報との差分情報を求め、求めた差分情報と第２の位置情報との演算処理を行うことで求められた情報に基づく補正処理の結果を、移動体の位置情報としてもよい。
【００７９】
ここで、「他の位置特定部３０」とは、当該位置特定部３０が、自律測位を行う測位装置２０とは別途設けられることを意味する。上述してきたように、本実施形態は測位装置２０で求めた位置情報と、位置特定部３０で求めた位置情報との対応付けを行うことを想定している。逆に考えれば、位置情報の対応付け処理を別段必要としない程度に、測位装置２０と位置特定部３０とが情報を共有している（例えば測位装置２０に位置特定部３０が含まれる）場合は、本実施形態で考慮する必要はない。つまり、位置特定部３０を「他の」と表記したのは、位置特定部３０が測位装置２０の外部（図１（Ａ）に示したように、同一の電子機器内に、別ブロックとして設けられる場合を含む）に設けられる等の状況を考慮したものである。
【００８０】
また第２の位置情報とは、位置特定部３０から取得される位置情報であり、狭義には上述したＰｒａｏｄに対応する。また、第３の位置情報とは、測位装置２０で取得され、記憶部２３に記憶された位置情報のうち、第２の位置情報に対応する情報であり、狭義には上述したＰｏｌｄに対応する。差分情報とは、狭義には上述したΔに対応する。差分情報と第２の位置情報との演算処理（例えば加算処理）を行うことで求められた情報とは、狭義には上述したＰｒｏａｄ＋Δに対応するが、ここでの加算処理とは単純な加算に限定されず、加算に基づいて行われる種々の処理が含まれる。また、加算処理を行うことで求められた情報に基づく補正処理とは、上述したようにＰｒｏａｄ＋Δで現在のＰを置き換える処理であってもよいし、Ｐｒｏａｄ＋Δを入力値とした他の補正処理であってもよく、種々の変形実施が可能である。
【００８１】
なお、本明細書における「別ブロック」とは、所与の電子機器１００を複数のブロックから構成されるものとした場合に、測位装置２０と位置特定部３０が異なるブロックに対応することを意味する。ここで電子機器１００の各ブロックは、物理的な位置関係に基づいて設定されるものであってもよいが、省電力という観点から考えれば、独立に電源管理を行うことができる（アクティブ、非アクティブを独立に決定できる）単位をブロックとすること等が望ましい。或いは、電気的な接続関係からブロックを設定する等、他の観点を用いてもよい。
【００８２】
これにより、測位装置２０が他の位置特定部３０から位置情報（第２の位置情報）を取得する場合にも、当該第２の位置情報と、測位装置２０自身が保持している位置情報との対応付けを行った上で現在の位置情報（第１の位置情報）の補正処理を行うことができる。よって、測位装置２０において補正処理の対象としている現在の位置情報と、第２の位置情報とでタイミングのずれ（例えば図４に示した遅延や、図７を用いて後述する遅延）が生じている場合であっても、推定した移動距離が短くなる等の悪影響を抑止すること等が可能になる。
【００８３】
また、処理部２１は、所与のタイミングにおいて処理部２１から出力された位置情報に対する、位置特定部３０でのマップマッチング処理の結果を、第２の位置情報として取得してもよい。
【００８４】
これにより、第２の位置情報としてマップマッチング処理の結果を取得できるため、マップマッチング処理に基づいて現在の位置情報の補正処理を行うことが可能になる。図３に示したように、マップマッチング処理を行うことで、対象となる位置情報に誤差が生じている場合に、現実的な位置（例えば移動体が移動することができる位置）に補正を行うことができる。なお、マップマッチング処理では、一般的にデータ量が多くなるマップ情報を保持しておくか、処理の際にネットワーク等を介してマップデータベースから取得する処理等が必要になり、且つマップマッチング処理自体も処理負荷が軽いわけではない。マップマッチング処理は位置情報の補正処理として有用ではあるが、低消費電力を前提とする本実施形態の手法において用いる際には、測位装置２０の外部で行うことが現実的であり、結果として、上述した現在の位置情報と第２の位置情報との間の遅延が生じる可能性が高い。つまり、マップマッチング処理を行う際には、遅延を考慮して処理を行う本実施形態の手法を用いる利点が高いと言うことができる。
【００８５】
また、処理部２１は、第４の特定情報が関連づけられた第４の位置情報を位置特定部３０に出力した後に、位置特定部３０から第２の特定情報が関連づけられた第２の位置情報を取得した場合に、第２の特定情報に基づいて、第４の位置情報を第３の位置情報として特定してもよい。
【００８６】
具体的には、処理部２１は、出力された第４の特定情報が、取得された第２の特定情報と対応する場合に、第４の位置情報を第３の位置情報として特定してもよい。さらに具体的には、処理部２１は、位置情報の処理タイミングを表すタイムスタンプ情報を、特定情報として位置情報に関連づけてもよい。
【００８７】
これにより、測位装置２０から位置特定部３０に出力されるとともに、記憶部２３で保持している位置情報（第４の位置情報）と、第２の位置情報との対応付けを、特定情報を用いて行うことが可能になる。具体的には、第４の特定情報と第２の特定情報による判定処理を行えばよく、上述の例であれば第４の特定情報と第２の特定情報が一致する場合に、第２の位置情報と第４の位置情報が対応する、すなわち第４の位置情報が上述した第３の位置情報であると判定する。ただし、第４の特定情報と第２の特定情報は必ずしも一致する必要はなく、誤差が所与の閾値よりも小さければ対応するものと判定するといったように、他の変形実施が可能である。なお、特定情報は上述したようにタイムスタンプ情報（或いはそれに類する時間情報）であってもよいが、それに限定されず、位置情報を一意に特定可能な種々の情報を用いることができる。
【００８８】
また、記憶部２３は、Ｎ（Ｎは２以上の整数）個の位置情報を特定情報と関連づけて記憶し、処理部２１は、記憶部に記憶されたＮ個の位置情報の中から、第２の位置情報に関連づけられた第２の特定情報に基づいて、第２の位置情報に対応する第３の位置情報を特定してもよい。
【００８９】
これにより、図１０（Ａ）、図１０（Ｂ）に示したようなデータ構造を用いて、第２の位置情報に対応する第３の位置情報を特定することが可能になる。バッファーに記憶されるデータ数（図１０（Ａ）の例であれば位置情報と特定情報の組の数）をＮ個に限定することで、バッファーサイズが過剰に大きくなることを抑止できる。処理部２１から出力した位置情報が、位置特定部３０での処理を経て処理部２１に返されるまでの時間（遅延）はある程度の上限値が想定可能であることが多く、その場合当該上限値より以前の位置情報を保持しておいても、当該位置情報が第３の位置情報とされることは考えにくい。よって例えば、Ｎの値を当該上限値から決定することで、適切なバッファーサイズを設定することができる。また、特定情報に基づく第３の位置情報の特定処理は、図１０（Ｂ）に示したように、一致する特定情報の探索処理であってもよいし、他の処理（例えば、一方の特定情報のハッシュ値を求め他方の特定情報と比較する等、種々の例が考えられる）により実現されてもよい。
【００９０】
また、処理部２１は、記憶部２３に記憶されたＮ個の位置情報の中から、第２の位置情報に対応する第３の位置情報を特定できなかった場合に、記憶部２３に記憶されたＮ個の位置情報のうち、時間的に最も前に記憶された位置情報を第３の位置情報としてもよい。
【００９１】
これにより、バッファー内に第３の位置情報が保持されていない場合にも、適切に対応することが可能になる。ここで、記憶部２３に記憶された位置情報の中に第３の位置情報がない場合とは、遅延が大きかったために、第３の位置情報となるはずの位置情報がバッファーから消去されてしまった場合が想定される。この場合には、全く見当違いの位置情報を第３の位置情報として特定するという事態を避け、可能な限り誤差を小さくするという次善策を講じることが重要である。
【００９２】
具体的な処理の例を図１１に示す。図１１ではＲ１〜Ｒ４が自律測位の結果、位置情報として取得され、Ｒ４が現在の位置情報であり、Ｒ３，Ｒ２はバッファーに記憶され（Ｎ＝２）、Ｒ１はバッファーから削除済みである状況を考えている。ここで、Ｒ４を取得したタイミングにおいて、位置特定部３０からＲ１に対するマップマッチング処理の結果であるＳ１が取得されたとする。この場合、バッファーにはＲ１は保持されていないため、第３の位置情報を特定することができない。本来はＲ１を第３の位置情報として特定し、Ｒ１とＲ４の差分情報Δ１を求め、Ｓ１とΔ１から求めたＳ２を補正処理に用いることが望ましい。しかし、遅延が大きく、第３の位置情報となるべき情報がバッファーから失われている状況では、バッファー中のどの位置情報を第３の位置情報としても、求められる差分情報は本来の差分情報に比べて小さくなってしまう（図１１の例であれば、Ｒ４とＲ３の差分情報、Ｒ４とＲ２の差分情報のいずれも、Ｒ４とＲ１の差分情報に比べて小さい）ことが想定される。そこで本実施形態では、本来求めるべき差分情報に比べて小さかったとしても、現在バッファーに保持されている情報から求められる中では最も大きい値を差分情報とすることで、可能な限り誤差を小さくする。図１１の例であれば、Ｒ３とＲ２ではＲ２の方が差分情報を大きくできるため、Ｒ２を第３の位置情報とするものである。この場合、本来Ｓ２を用いたいところでＳ３を用いることになるため、第３の位置情報を適切に特定できる場合に比べれば誤差は生じるが、バッファーに保持された他の位置情報（ここではＲ３）を第３の位置情報とする場合に比べれば誤差は小さい。図１１の例でＲ２を第３の位置情報とするということは、一般化して考えれば記憶部２３に保持されている位置情報のうち、最も古い情報を第３の位置情報とするということに対応する。
【００９３】
また、処理部２１は、第１の周期の更新タイミングにおいて、自律測位の演算処理に基づいて位置情報の更新処理を行い、第２の周期の取得タイミングにおいて、位置特定部３０から第２の位置情報を取得してもよい。そして、所与の位置情報が更新される更新タイミングと、所与の位置情報に対応する第２の位置情報が位置特定部３０から取得される取得タイミングとが異なる。
【００９４】
これにより、図４及び後述する図７に示したように、更新タイミングと取得タイミングとの間でタイムラグがある場合に、本実施形態の手法を適用することが可能になる。本実施形態の手法は、一般化すれば、測位装置２０での位置情報と、外部からの第２の位置情報との間の対応関係がとれていない場合に、それが時間的なずれに起因しない場合でも広く適用可能であるが、時間的なずれ（遅延）によるものが典型的であり、上述した本実施形態においても、タイミングのずれを例にとって説明している。
【００９５】
また以上の本実施形態は、図１（Ｂ）に示したように、上記の測位装置２０を含む電子機器（狭義には位置特定部３０を含まない電子機器）に適用することができるし、図１（Ａ）に示したように上記の測位装置２０に加えて位置特定部３０を含む電子機器にも適用することができる。
【００９６】
これらの電子機器の例については、図２（Ａ）や図２（Ｂ）等を用いて上述したとおりであるため、詳細な説明は省略する。
【００９７】
３．第２の実施形態
次に第２の実施形態について説明する。第２の実施形態に係る測位装置、及び当該測位装置を含む電子機器の構成例については、第１の実施形態で説明した図１（Ａ）や図１（Ｂ）と同様であるため、詳細な説明は省略する。
【００９８】
第１の実施形態との差異は主に更新タイミングの周期が異なる点にある。図７が本実施形態でのタイミングの例であり、処理ループタイミングは、例えば１／３２秒周期で行われるものであり、センサー情報から歩行速度と歩行周期が求められ、それらに基づいて一応の位置情報を求めることができるタイミングである。第１の実施形態では、このタイミングで求めた位置情報をそのまま用いるものとしていた。
【００９９】
しかし、上述したように自律測位は精度が低くなりやすく、処理ループタイミングでの位置情報に対して何らかの処理を行って精度を高めることが望ましい。ここで、移動体が人であり、当該人が歩行（或いは走行）を行う場合の位置情報の推定を対象とした場合には、１歩１歩の情報を用いることで、自律測位における位置情報の推定精度を向上させることが可能である。これは人の歩行においては、１歩の歩行を行う間で行われる運動は、他の１歩の歩行の間での運動とほぼ同様のものとなり、加速度や角速度の特性も歩行周期に対応した周期性を有すること、及び１歩の歩行の間でも加速度等が大きい期間と小さい期間があり、センサー情報に対して適切に処理を行うことで移動体の運動特性を特定しやすいことに起因する。
【０１００】
この点を考えると、１／３２秒周期等で取得される位置情報をそのまま用いるのではなく、まずセンサー情報に基づいて１歩を検出し、人の歩行が検出されたタイミングで処理を行って、１歩毎に位置情報を求めることで位置情報の推定精度を測ることができる。なお、具体的な手法としては、１歩毎に処理を行うだけでなく、当該１歩毎の処理においてカルマンフィルター等を用いてもよい。カルマンフィルターでは、誤差のある観測値（センサー情報、或いはそこから求められる位置情報）に基づいて、直接観測できない値（ここでは真の位置情報）を推定する処理を行うことになる。
【０１０１】
この場合、図７に示したように処理ループタイミングとは異なり、歩行周期に相当する周期である更新タイミングで位置情報が更新されることになる。なお、人の歩行は１秒当たり１．５歩〜２歩程度であるため、更新タイミングは１／２〜１／１．５秒程度の周期となる。また、更新タイミングは歩行周期により決定されるため、高い周期性を有することが想定されるものの、周期は一定とはならない。
【０１０２】
そのため、所与の一定周期であることが想定される出力タイミング（例えば１秒周期）と、上記更新タイミングとは基本的には一致しない。結果として、あるタイミングで更新された位置情報が位置特定部３０に出力されるまでにタイムラグを生じる場合がある。図７の例では、処理ループタイミングでの処理の結果、Ｇ１のタイミングで歩行が検出され、Ｈ１（＝Ｇ１）のタイミングで位置情報が更新された。しかしＨ１は出力タイミングではなく、Ｈ１で更新された位置情報は、次の出力タイミングであるＪ１において出力される。よって本実施形態では、Ｈ１とＪ１とのタイムラグである遅延１を考慮して処理を行う必要がある。なお、出力タイミングＪ１と取得タイミングＫ１との遅延である遅延２は第１の実施形態で説明した遅延と同様である。
【０１０３】
また、Ｇ２，Ｈ２，Ｊ２に示したように、歩行検出のタイミングによっては更新タイミングと出力タイミングとが一致し、遅延１を０としてもよいケースもあるが、一致しない場合が多数であると考えられる。
【０１０４】
以下、上記の点を踏まえて図８、図９のフローチャートを用いて処理の詳細を説明する。まず図８を用いて、第１の実施形態と同様に従来手法から説明する。Ｓ３０１〜Ｓ３０７については図５のＳ１０１〜Ｓ１０７と同様である。Ｓ３０５からわかるように、実際に歩行を考慮した位置情報は３２Ｈｚよりも低頻度の更新タイミングでしか取得されないものであるが、図８では３２Ｈｚで一応の位置情報は求めておくことを想定している。そして、Ｓ３０７でＰｒｏａｄを用いて補正処理を行う場合は、更新タイミングでのＰではなく、３２Ｈｚで取得されるＰを補正対象としている。
【０１０５】
その後、１歩を検出したかの判定を行い（Ｓ３０８）、歩行が検出された場合には、歩行の情報に基づいて位置情報を補正し（Ｓ３０９）、検出されなかった場合にはＳ３１０に移行する。図７でいえば、Ｓ３０９の行われたタイミングが更新タイミングに対応する。
【０１０６】
そして、現在が出力タイミングであるかの判定を行い（Ｓ３１０）、出力タイミングであれば最新のＰを位置特定部３０に出力する（Ｓ３１１）。同一ループのＳ３０９で、補正処理により１歩に対応するＰが求められていればそのＰを出力するし、同一ループでは歩行が検出されずＳ３０９がスキップされていれば、過去のループのＳ３０９で求められたＰのうち最新のものを出力することになる。
【０１０７】
図８の処理では、第１の実施形態と同様に図７のＫ１（＝Ｇ３）で取得されたマップマッチング処理の結果はＧ１での位置情報の補正に用いるべきであるのに、Ｋ１で取得した情報をＧ３の位置情報の補正に用いるものとしており、求められる移動距離が短くなるという問題を生じる。
【０１０８】
それに対して本実施形態の処理を図９に示す。図９のＳ４０１〜Ｓ４０６については、図８のＳ３０１〜Ｓ３０６と同様である。Ｓ４０６で位置特定部３０からＰｒｏａｄが取得された場合には、Ｐｒｏａｄに関連づけられた特定情報（時刻情報）と、バッファーに記憶されている特定情報とを比較して一致するものを探索する（Ｓ４０７）。なお、バッファーへの位置情報及び当該位置情報を特定する特定情報の記憶は、後述するＳ４１２で行われる。そして、バッファーに記憶された位置情報のうち、上記特定情報を用いた処理により特定された、Ｐｒｏａｄに対応する位置情報を第３の位置情報Ｐｏｌｄとする。
【０１０９】
そして、現在の位置情報Ｐ（狭義には、現在のループでのＳ４０５で求められたＰ）とＳ４０７で特定したＰｏｌｄとの差分情報Δを求める（Ｓ４０８）。その後、Ｐｒｏａｄ＋Δを補正用情報として用いて、Ｐを更新する（Ｓ４０９）。つまり、Ｓ４０９の処理が行われた場合には、Ｓ４０５で求めたＰではなく、Ｓ４０９により補正処理が行われた値をＰとして用いることになる。なお、Ｓ４０６でＰｒｏａｄが取得されない場合には、Ｓ４０７〜Ｓ４０９の処理はスキップされる。
【０１１０】
Ｓ４１０、Ｓ４１１は図８のＳ３０８、Ｓ３０９の処理と同様である。ただし本実施形態の手法では、Ｓ４１１の処理後、Ｐと当該Ｐを特定する特定情報とを関連づけてバッファーに記憶する（Ｓ４１２）。
【０１１１】
Ｓ４１２の処理後、或いはＳ４１０でＮｏの場合には、図８のＳ３１０と同様に出力タイミング（１秒周期）であるかの判定を行い（Ｓ４１３）、出力タイミングである場合には、位置特定部３０に対してＰと当該Ｐを特定する特定情報とを関連づけて出力する（Ｓ４１４）。位置特定部３０では、出力されたＰに対してマップマッチング処理を行い、マップマッチング処理の結果であるＰｒｏａｄを、取得したＰに対応する特定情報と関連づけて測位装置２０に戻すことになり、それによりＳ４０７での特定処理が可能になる。
【０１１２】
以上の本実施形態では、処理部２１は、更新タイミングにおいて更新処理が行われた位置情報を、第３の周期の出力タイミングにおいて、位置特定部３０に対して出力する。そして、所与の位置情報が更新された更新タイミングと、所与の位置情報が出力される出力タイミングとが異なり、且つ所与の位置情報が出力される出力タイミングと、所与の位置情報に対応する第２の位置情報が位置特定部３０から取得される取得タイミングとが異なる。
【０１１３】
ここで、処理部２１は、移動体であるユーザーの歩行を検出する歩行検出タイミングにより、更新タイミングを特定してもよい。
【０１１４】
これにより、図７に示したタイミングにおいて各処理を行う測位装置２０について、本実施形態の手法を適用することが可能になる。人の歩行を例にとって上述したように、処理ループタイミングで取得される位置情報をそのまま用いるのではなく、何らかの処理（狭義には精度を向上させるための処理）を行ってから外部出力等に利用することは十分考えられることである。その場合には、更新タイミングと取得タイミングとの間の遅延とは、第１の実施形態で述べた出力タイミングと取得タイミングとの間の遅延だけではなく、図７に遅延１として示したように、出力タイミングと取得タイミングとの間の遅延も考慮する必要がある。
【０１１５】
以上、本発明を適用した２つの実施の形態１〜２およびその変形例について説明したが、本発明は、各実施の形態１〜２やその変形例そのままに限定されるものではなく、実施段階では、発明の要旨を逸脱しない範囲内で構成要素を変形して具体化することができる。例えば、図６及び図９において自律測位装置は、他の位置特定部としてマップマッチングにより取得した位置情報を用いて自律測位の位置情報を補正する。このマップマッチングに替えてＧＰＳ等の無線による位置測位手段を他の位置特定部として用いてもよい。ＧＰＳ等の位置測位手段を用いる場合には、マップマッチングとは異なり、自律測位装置は現在位置情報を他の位置特定部に出力する必要はない。また、上記した各実施の形態１〜２や変形例に開示されている複数の構成要素を適宜組み合わせることによって、種々の発明を形成することができる。例えば、各実施の形態１〜２や変形例に記載した全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態や変形例で説明した構成要素を適宜組み合わせてもよい。また、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。このように、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能である。
【符号の説明】
【０１１６】
１０  自律測位用センサー、１１  加速度センサー、１３  ジャイロセンサー、
１５  圧力センサー、１７  地磁気センサー、２０  測位装置、２１  処理部、
２３  記憶部、３０  位置特定部、４０  ネットワーク、１００  電子機器、
２０１  マイコン、３００  サーバーシステム、１００１，１００２  スマートフォン
【図１】
2014190707.tif 000003
【図２】
2014190707.tif 000004
【図３】
2014190707.tif 000005
【図４】
2014190707.tif 000006
【図５】
2014190707.tif 000007
【図６】
2014190707.tif 000008
【図７】
2014190707.tif 000009
【図８】
2014190707.tif 000010
【図９】
2014190707.tif 000011
【図１０】
2014190707.tif 000012
【図１１】
2014190707.tif 000013