(57)【特許請求の範囲】
【請求項１】
ユーザにより携帯される携帯端末装置であって、
前記ユーザが前記携帯端末装置を携帯しつつ歩行しているときの前記ユーザの歩行速度を求めるためのパラメータ候補を記憶する記憶手段と、
前記携帯端末装置の移動に関する物理量を検出する第１検出手段と、
前記携帯端末装置の状態を推定する状態推定手段と、
前記状態推定手段による推定結果に応じて、前記記憶手段に記憶されているパラメータ候補の中から演算に使用するパラメータを選択する選択手段と、
前記第１検出手段の検出結果と前記選択手段により選択されたパラメータとに基づいて、前記ユーザの歩行動作の速度を演算する速度演算手段と、
を備える携帯端末装置。
【請求項２】
請求項１に記載の携帯端末装置であって、
ユーザの入力を受け付ける操作手段を備え、
前記状態推定手段は、前記操作手段に対する前記ユーザの操作履歴に応じて、前記携帯端末装置の状態を推定する携帯端末装置。
【請求項３】
請求項１または２に記載の携帯端末装置であって、
ユーザにサービスを提供するアプリケーション手段を備え、
前記状態推定手段は、前記アプリケーション手段の動作履歴に応じて、前記携帯端末装置の状態を推定する携帯端末装置。
【請求項４】
請求項１または２に記載の携帯端末装置であって、
ユーザに提供するサービスに応じて情報を生成するアプリケーション手段を備え、
前記状態推定手段は、前記アプリケーション手段により生成される情報に応じて、前記携帯端末装置の状態を推定する携帯端末装置。
【請求項５】
請求項１ないし４のいずれかに記載の携帯端末装置であって、
周囲の状況を検出する第２検出手段を備え、
前記状態推定手段は、前記第２検出手段による検出結果に応じて、前記携帯端末装置の状態を推定する携帯端末装置。
【請求項６】
ユーザにより携帯されるコンピュータにより実行されるプログラムであって、前記コンピュータによる前記プログラムの実行は、前記コンピュータを、
前記ユーザが前記コンピュータを携帯しつつ歩行しているときの前記ユーザの歩行速度を求めるためのパラメータ候補を記憶する記憶手段と、
前記コンピュータの移動に関する物理量を検出する第１検出手段と、
前記コンピュータの状態を推定する状態推定手段と、
前記状態推定手段による推定結果に応じて、前記記憶手段に記憶されているパラメータ候補の中から演算に使用するパラメータを選択する選択手段と、
前記第１検出手段の検出結果と前記選択手段により選択されたパラメータとに基づいて、前記ユーザの歩行動作の速度を演算する速度演算手段と、
を備える携帯端末装置として機能させるプログラム。
【請求項７】
ユーザが携帯端末装置を携帯しつつ歩行しているときの前記ユーザの歩行速度を求めるためのパラメータ候補を記憶手段に記憶する工程と、
前記携帯端末装置の移動に関する物理量を第１検出手段により検出する工程と、
前記携帯端末装置の状態を状態推定手段により推定する工程と、
前記状態推定手段による推定結果に応じて、前記記憶手段に記憶されているパラメータ候補の中から演算に使用するパラメータを選択手段により選択する工程と、
前記検出の結果と前記選択されたパラメータとに基づいて、前記ユーザの歩行動作の速度を速度演算手段により演算する工程と、
を有する歩行速度検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、相対的な位置を特定する測位技術において、より正確に測位する技術に関する。
【背景技術】
【０００２】
従来より、ユーザに対して地下鉄構内や屋内を案内する装置が開発されている。ユーザは、このような装置を携帯し、当該装置から提供される案内情報に従って行動することにより、地下街や店舗等で迷わずに目的の場所まで到達することが可能となる。このような装置において、詳細な案内情報を提供するためには、移動中のユーザの位置を、随時に、かつ、正確に把握することが求められる。移動中のユーザの位置をリアルタイムに測位しつつ案内するための測位技術としては、衛星を利用したＧＰＳ（Global Positioning System）がすでに一般的となっている。しかし、ＧＰＳによれば、駅ビルや地下街といった屋内において、衛星からの電波を受信することが困難であるために、測位ができないという問題がある。
【０００３】
そこで、屋内での案内を実現する技術として、自蔵センサ（加速度センサ、角速度センサあるいは磁気センサなど）を用いた相対的な測位が提案されている。自蔵センサによる測位は、例えばユーザの運動（移動変量）を自蔵センサにより検出し、進行方向と進行速度とを推定して当該ユーザの移動ベクトルを求める。
【０００４】
このような相対的な測位を実現する技術が、例えば、特許文献１ないし６に記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１７９８６９号公報
【特許文献２】特開２００９−２６４９１８号公報
【特許文献３】特開２０１０−２７１１６７号公報
【特許文献４】特開２０１１−１６３８６１号公報
【特許文献５】特開２０１０−２８１５７９号公報
【特許文献６】特許第４２４３６８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、特許文献１に記載されている技術は、加速度センサで検出される上下方向の振幅値の閾値を固定しているために、端末の状態によっては歩行動作が検出できないおそれがある。
【０００７】
また、特許文献２，３に記載されている技術は、端末を手で持ち、腕を振って歩行している状態であれば、歩行動作を検出できるが、その他の状態（通話状態や端末の画面を見ている状態等）では歩行動作を検出できないおそれがある。
【０００８】
また、特許文献４に記載されている技術は、端末を見ながら歩行している状態であれば、歩行動作を検出できるが、その他の状態（通話状態、端末を手で持ち、腕を振って歩行している状態等）では歩行動作を検出できないおそれがある。
【０００９】
また、特許文献５に記載されている技術は、端末を固定した状態でのみ、歩行動作および歩行速度の推定が可能であり、端末の状態が変化すると、却って誤差が大きくなるおそれがある。
【００１０】
また、特許文献６に記載されている技術は、端末を腰部に固定した状態でのみ、歩行動作および歩行速度の推定が可能な技術であり、端末の状態が変化すれば、却って誤差が大きくなるおそれがある。
【００１１】
本発明は、上記課題に鑑みてなされたものであり、ユーザの歩行動作を検出し、当該ユーザの歩行動作の速度を求める技術において、より正確に歩行動作の速度を求める技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するため、請求項１の発明は、ユーザにより携帯される携帯端末装置であって、前記ユーザが前記携帯端末装置を携帯しつつ歩行しているときの前記ユーザの歩行速度を求めるためのパラメータ候補を記憶する記憶手段と、前記携帯端末装置の移動に関する物理量を検出する第１検出手段と、前記携帯端末装置の状態を推定する状態推定手段と、前記状態推定手段による推定結果に応じて、前記記憶手段に記憶されているパラメータ候補の中から演算に使用するパラメータを選択する選択手段と、前記第１検出手段の検出結果と前記選択手段により選択されたパラメータとに基づいて、前記ユーザの歩行動作の速度を演算する速度演算手段とを備える。
【００１３】
また、請求項２の発明は、請求項１の発明に係る携帯端末装置であって、ユーザの入力を受け付ける操作手段を備え、前記状態推定手段は、前記操作手段に対する前記ユーザの操作履歴に応じて、前記携帯端末装置の状態を推定する。
【００１４】
また、請求項３の発明は、請求項１または２の発明に係る携帯端末装置であって、ユーザにサービスを提供するアプリケーション手段を備え、前記状態推定手段は、前記アプリケーション手段の動作履歴に応じて、前記携帯端末装置の状態を推定する。
【００１５】
また、請求項４の発明は、請求項１または２の発明に係る携帯端末装置であって、ユーザに提供するサービスに応じて情報を生成するアプリケーション手段を備え、前記状態推定手段は、前記アプリケーション手段により生成される情報に応じて、前記携帯端末装置の状態を推定する。
【００１６】
また、請求項５の発明は、請求項１ないし４のいずれかの発明に係る携帯端末装置であって、周囲の状況を検出する第２検出手段を備え、前記状態推定手段は、前記第２検出手段による検出結果に応じて、前記携帯端末装置の状態を推定する。
【００１７】
また、請求項６の発明は、ユーザにより携帯されるコンピュータにより実行されるプログラムであって、前記コンピュータによる前記プログラムの実行は、前記コンピュータを、前記ユーザが前記コンピュータを携帯しつつ歩行しているときの前記ユーザの歩行速度を求めるためのパラメータ候補を記憶する記憶手段と、前記コンピュータの移動に関する物理量を検出する第１検出手段と、前記コンピュータの状態を推定する状態推定手段と、前記状態推定手段による推定結果に応じて、前記記憶手段に記憶されているパラメータ候補の中から演算に使用するパラメータを選択する選択手段と、前記第１検出手段の検出結果と前記選択手段により選択されたパラメータとに基づいて、前記ユーザの歩行動作の速度を演算する速度演算手段とを備える携帯端末装置として機能させる。
【００１８】
また、請求項７の発明は、歩行速度検出方法であって、ユーザが携帯端末装置を携帯しつつ歩行しているときの前記ユーザの歩行速度を求めるためのパラメータ候補を記憶手段に記憶する工程と、前記携帯端末装置の移動に関する物理量を第１検出手段により検出する工程と、前記携帯端末装置の状態を状態推定手段により推定する工程と、前記状態推定手段による推定結果に応じて、前記記憶手段に記憶されているパラメータ候補の中から演算に使用するパラメータを選択手段により選択する工程と、前記検出の結果と前記選択されたパラメータとに基づいて、前記ユーザの歩行動作の速度を速度演算手段により演算する工程とを有する。
【発明の効果】
【００１９】
請求項１ないし７に記載の発明は、ユーザが前記携帯端末装置を携帯しつつ歩行しているときの前記ユーザの歩行速度を求めるためのパラメータ候補を記憶し、携帯端末装置の状態を推定して、推定結果に応じて、パラメータ候補の中から演算に使用するパラメータを選択することにより、携帯端末装置の状態に応じて適用するパラメータを動的に変更するので、より適切なパラメータを用いて歩行速度を求めることができる。したがって、測位精度が向上する。。
【図面の簡単な説明】
【００２０】
【図１】本発明にかかる携帯端末装置を示す図である。
【図２】携帯端末装置が備える機能ブロックをデータの流れとともに示す図である。
【図３】携帯端末装置の状態を例示する図である。
【図４】候補情報を例示する図である。
【図５】加速度センサの測定値（測定情報）を例示する図である。
【図６】携帯端末装置における測位処理を示す流れ図である。
【図７】状態推定処理の詳細を示す流れ図である。
【図８】スリープ状態推定処理を示す流れ図である。
【図９】電話または音楽視聴状態推定処理を示す流れ図である。
【図１０】撮影状態推定処理を示す流れ図である。
【発明を実施するための形態】
【００２１】
以下、本発明の好適な実施の形態について、添付の図面を参照しつつ、詳細に説明する。
【００２２】
＜１．  実施の形態＞
図１は、本発明にかかる携帯端末装置１を示す図である。本実施の形態における携帯端末装置１は、ユーザに携帯される携帯電話として構成されている。ただし、携帯端末装置１は、通話機能を有する携帯電話に限定されるものではない。例えば、デジタルカメラやＰＡＤ、電子手帳、携帯型ゲーム機などであってもよい。また、ユーザが携帯端末装置１を携帯している場合には、携帯端末装置１の位置はユーザの位置とみなせる。以下、特に断らない限り、携帯端末装置１の位置とユーザの位置とを区別せずに説明する。
【００２３】
携帯端末装置１は、ＣＰＵ１０、ＲＯＭ１１、ＲＡＭ１２、ハードディスク１３、操作部１４および表示部１５を備えており、一般的なコンピュータとしての構成および機能を有している。
【００２４】
ＣＰＵ１０は、ＲＯＭ１１に格納されているプログラム８に従って動作することにより、携帯端末装置１が備える各構成を制御する。ＣＰＵ１０の機能および動作の詳細については、後述する。
【００２５】
ＲＯＭ１１は、主にプログラム８を格納するために使用される読み取り専用の記憶装置である。ＲＯＭ１１に格納されているプログラム８は、ＣＰＵ１０によって順次読み出され、実行される。なお、プログラム８の一部または全部が後述のハードディスク１３またはメモリカード９に格納されていてもよい。
【００２６】
ＲＡＭ１２は、比較的高速にアクセス可能な揮発性の記憶装置であり、ＣＰＵ１０の一時的なワーキングエリアとして使用される。以下では、特に断らない限り、携帯端末装置１において作成または取得される各種の情報についてはＲＡＭ１２に格納されるものとして説明する。しかし、ＲＡＭ１２に格納されるこれらの情報の一部または全部が、適宜、ハードディスク１３やメモリカード９に転送され格納されてもよい。
【００２７】
ハードディスク１３は、ＣＰＵ１０による情報の読み取りのみならず、情報の書き込みも可能な不揮発性の記憶装置である。ハードディスク１３は、比較的大容量のデータを記憶することができるように構成されており、一般には、ダウンロードされたアプリケーションプログラムや撮像された画像データなどを格納するために使用される。本実施の形態においては、ハードディスク１３は、特に候補情報１３０を格納している。候補情報１３０とは、ユーザが携帯端末装置１を携帯しつつ歩行しているときの当該ユーザの歩行速度を求めるためのパラメータ候補に関する情報である。
【００２８】
操作部１４は、携帯端末装置１に対して様々な情報を入力するために、ユーザによって操作されるハードウェアである。操作部１４としては、例えば、ダイヤルや文字情報等を入力するキーや、電源を投入するためなどに設けられる専用のボタン類、ポインティングデバイスとしてのタッチパネルなどが該当する。
【００２９】
表示部１５は、様々な情報を出力することにより、主にユーザに対して当該情報を提示する機能を有する。表示部１５としては、例えば、画像や文字を画面表示する液晶パネルや、点滅状態により各種の状態を通知するＬＥＤ、ランプなどが該当する。
【００３０】
また、携帯端末装置１は、マイク１６、スピーカ１７、撮像部１８、通信部１９、アンテナ２０、カードスロット２１および外部インタフェース２２を備えている。
【００３１】
マイク１６は、周囲の音声を電気信号に変換する機能を有する。マイク１６は、例えば、通話しているときにおいて、ユーザの肉声（音声）を電気信号に変換する。このようにして変換された電気信号が相手方に伝達される。
【００３２】
スピーカ１７は、音声情報に応じて、人間の聴覚によって知得される音声を生成するハードウェアである。スピーカ１７は、通話時の相手方の肉声や、着信音、アプリケーションソフトウェアにおいて使用される楽曲等を再生する。
【００３３】
撮像部１８は、いわゆるデジタルカメラであって、図示しない光学素子および光電変換素子を備えており、被写体を撮像して、画像情報を作成する機能を有する。
【００３４】
通信部１９は、アンテナ２０から入力されるアナログ信号をデジタル信号に復調し、ＣＰＵ１０に伝達する。また、通信部１９は、ＣＰＵ１０から入力されるデジタル信号をアナログ信号に変調してアンテナ２０に伝達する。
【００３５】
アンテナ２０は、は、基地局（図示せず）から送信された電波を受信してアナログ信号に変換し、通信部１９に伝達する。また、アンテナ２０は、通信部１９から入力されるアナログ信号を電波に変換して当該基地局に向けて送信する機能を有する。
【００３６】
このように、通信部１９およびアンテナ２０により、携帯端末装置１において、無線を用いたデータ通信機能および通話機能が実現される。
【００３７】
カードスロット２１は、可搬性の記憶媒体であるメモリカード９を装着し、電気的に接続する機能を提供する。これにより、携帯端末装置１は、カードスロット２１に装着されたメモリカード９を、記憶装置として使用することができる。
【００３８】
外部インタフェース２２は、携帯端末装置１が外部の装置などと接続されるための端子類である。このような端子としては、例えば、ＵＳＢ端子やイヤホン端子、電源供給（充電）端子などが該当する。
【００３９】
さらに、携帯端末装置１は、当該携帯端末装置１の移動に関する物理量を検出する第１検出装置群３と、周囲の状況を検出する第２検出装置群４とを備えている。
【００４０】
第１検出装置群３は、加速度センサ３０、角速度センサ３１および磁気センサ３２を備えている。また、第２検出装置群４は、照度センサ４０および近接センサ４１を備えている。
【００４１】
加速度センサ３０は、携帯端末装置１の加速度ベクトルを検出する検出装置である。
【００４２】
角速度センサ３１は、携帯端末装置１の角速度ベクトルを検出する検出装置である。
【００４３】
磁気センサ３２は、地磁気の向きを検出して、方位を特定する検出装置である。
【００４４】
照度センサ４０は、周囲の明るさを検出する検出装置である。
【００４５】
近接センサ４１は、近くに物体が存在するか否かを検出する検出装置であり、いわゆる対物センサである。
【００４６】
なお、第１検出装置群３および第２検出装置群４は、いずれも便宜上の分類であって、各検出装置が必ずしもいずれか一方に分類されるわけではない。例えば、磁気センサ３２は、上記説明では移動方向を検出するため第１検出装置群３に分類しているが、周囲の磁気を検出するという意味では第２検出装置群４とみなすこともできる。
【００４７】
ユーザの歩行動作を検出するためには、加速度センサ３０および角速度センサ３１が必要である。一方で、その他の検出装置（磁気センサ３２、照度センサ４０および近接センサ４１）は、必須の構成要素ではないが、携帯端末装置１の状態を正確に判定するためには、これらの検出装置を備えていることが好ましい。なお、本実施の形態に示した検出装置は、あくまでも例示であって、例えば、これ以外にも、周囲の温度を計測する温度センサなどを備えていてもよい。
【００４８】
なお、図示を省略したが、携帯端末装置１は、上記の構成以外に、タイマ（時計）を備えており、時間を計測することも可能とされている。さらに、携帯端末装置１は、振動により着信等の状態を通知するバイブレータなどを備えていてもよいし、ＧＰＳ端末としての構成および機能を備えていてもよい。
【００４９】
図２は、携帯端末装置１が備える機能ブロックをデータの流れとともに示す図である。図３に示す、状態推定部１００、オペレーションシステム１０１、アプリケーション部１０２、選択部１０３および速度演算部１０４は、ＣＰＵ１０がプログラム８に従って動作することにより実現される機能ブロックである。
【００５０】
状態推定部１００は、携帯端末装置１の状態を推定し、推定結果を状態情報１２１として生成する機能を有している。
【００５１】
状態推定部１００は、測定情報１２０に応じて、携帯端末装置１が歩行中のユーザに携帯されている状態を検出する。状態推定部１００は、ユーザが歩行動作中の携帯端末装置１の状態を推定する機能を提供するものである。逆に言えば、ユーザが歩行動作中でなければ、状態推定部１００は携帯端末装置１の状態を推定する必要はない。したがって、状態推定部１００は、ユーザが歩行動作中であるか否かを測定情報１２０により推定する。
【００５２】
また、状態推定部１００は、操作部１４に対するユーザの操作履歴やアプリケーション部１０２の動作履歴に応じて、携帯端末装置１の状態を推定する。後述するが、これらの操作履歴や動作履歴は、オペレーションシステム１０１が生成する。より詳細には、オペレーションシステム１０１が生成するカーネルログやアプリケーションログを参照することにより、実現できる。
【００５３】
また、状態推定部１００は、アプリケーション部１０２により作成される情報に応じて、携帯端末装置１の状態を推定する。後述するが、アプリケーション部１０２は、ユーザに提供するサービスに応じて各種情報（以下、「ユーザデータ」と称する。）を作成する。
【００５４】
さらに、状態推定部１００は、第２検出装置群４による検出結果に応じて、携帯端末装置１の状態を推定する。
【００５５】
図３は、携帯端末装置１の状態を例示する図である。本実施の形態における状態推定部１００は、携帯端末装置１の状態を、図３に示す「状態１」ないし「状態７」のいずれかであると推定する。
【００５６】
例えば、携帯端末装置１がバッグなどに収納されていると推定されるときは、状態推定部１００は、状態１と推定し、その旨を示す状態情報１２１を作成する。したがって、状態情報１２１が「状態１」となっているとき、携帯端末装置１がバッグなどに収納されていると推定されたことがわかる。
【００５７】
ユーザが同じ速度で歩行動作を行っているときであっても、携帯端末装置１をバッグに収納しているとき（状態１）と、所持した手を振りながら歩行しているとき（状態４）とでは、加速度センサ３０および角速度センサ３１の出力（測定値）は、大きく異なる。また、一般に、所持した手を振らずに歩行しているとき（状態５）には、ユーザが携帯端末装置１を操作したり、画面を注視している蓋然性が高く、そのような場合には、歩幅が小さくなりがちである。すなわち、加速度センサ３０や角速度センサ３１の測定値を、測定されたときの状態を考慮せずに、画一的に処理すると測位誤差が大きくなるおそれがある。
【００５８】
したがって、本実施の形態における携帯端末装置１（状態推定部１００）は、携帯端末装置１の状態を推定し、後述する演算に反映させることにより、測位精度を向上させるのである。なお、状態推定部１００が、携帯端末装置１の状態をどのように推定するかについては後述する。また、図３に示す状態の分類は、あくまでも例示であって、これ以外の状態を定義して分類してもよいし、ここに挙げた分類をすべて使用しなければならないわけでもない。すなわち、携帯端末装置１の機能（携帯電話かゲーム機かなど）や、使用中のアプリケーションなどに応じて、分類する状態を変更することは容易に可能である。
【００５９】
図２に示すオペレーションシステム１０１は、いわゆる汎用のＯＳ（Operating System）により実現される機能ブロックである。一般的なコンピュータには、通常、汎用のＯＳが搭載され、ハードウェア割り込みやアプリケーションソフトウェアの動作等を監視している。そして、一般的なコンピュータとして構成されている携帯端末装置１においても、容易に、このようなＯＳを搭載することが可能である。
【００６０】
オペレーションシステム１０１は、操作部１４の操作履歴をカーネルログとして作成するとともに、アプリケーション部１０２の動作履歴をアプリケーションログとして作成する。これらの機能は、汎用のＯＳが通常備えている機能である。したがって、携帯端末装置１は、汎用のＯＳを搭載するだけで、特にこのような機能を実現する専用のプログラムを組み込む必要はない。このため、コストを抑制できるとともに、汎用性が向上する。
【００６１】
アプリケーション部１０２は、一般的なアプリケーションプログラムによって実現される機能ブロックであり、ユーザに様々なサービスを提供する機能を有する。このようなサービスとしては、各種ゲームによる遊技や、撮像部１８を動作させる写真撮影、インターネット内のサイトを閲覧するブラウジング、電子メールを作成するメーラー等が該当するが、もちろんこれらに限定されるものではない。
【００６２】
アプリケーション部１０２の動作状況は、オペレーションシステム１０１によって監視されており、その動作履歴は、先述のように、アプリケーションログとしてオペレーションシステム１０１によって作成され、状態推定部１００に参照される。これ以外に、アプリケーション部１０２は、提供するサービスに応じて、ユーザデータ（テキストデータ、画像データあるいは音声データ）を作成する。ユーザデータとは、例えば、メール作成によるテキストデータ、ゲームにおけるセーブデータ、写真撮影における画像データ、録音における音声データ、ダウンロードにおける転送ファイルデータなどが該当する。
【００６３】
選択部１０３は、状態推定部１００による推定結果（状態情報１２１）に応じて、ハードディスク１３に記憶されている候補情報１３０の中から演算に使用するパラメータを選択し、パラメータ情報１２２を作成する。このように、選択部１０３が、携帯端末装置１の状態に応じた適切なパラメータを選択する。
【００６４】
図４は、候補情報１３０を例示する図である。図４に示すように、候補情報１３０は、定義されている状態ごとに１つのレコードが作成されるテーブル構造の情報となっている。各レコードには、パラメータとして、「歩行係数ａ」、「歩行係数ｂ」、「極大値の閾値」および「極小値の閾値」がそれぞれ格納されている。すなわち、選択部１０３は、状態情報１２１に示される状態を検索キーとして、候補情報１３０を検索することにより、当該状態に関連づけられたパラメータ（「歩行係数ａ」、「歩行係数ｂ」、「極大値の閾値」および「極小値の閾値」）を選択し、パラメータ情報１２２を作成する。
【００６５】
なお、パラメータの種類は図４に示す例に限定されるものではない。また、これらのパラメータを用いて、歩行動作の速度を演算する手法については後述する。
【００６６】
速度演算部１０４は、第１検出装置群３の検出結果（測定情報１２０）と選択部１０３により選択されたパラメータ情報１２２とに基づいて、ユーザの歩行動作の速度を演算し、速度情報１２３を作成する。
【００６７】
図５は、加速度センサ３０の測定値（測定情報１２０）を例示する図である。なお、図５の縦軸は、加速度［m/s2］であり、横軸は時間［ms］である。また、図５では、鉛直方向の加速度（重力加速度を除いた下向きの加速度）と、水平方向の加速度（携帯端末装置１の進行方向の加速度）とを示している。
【００６８】
速度演算部１０４は、測定情報１２０に基づいて、鉛直方向加速度および水平方向加速度の極大値をそれぞれ求める。そして、パラメータ情報１２２に格納されている極大値の閾値（ｍａｘｎ：ｎは１から７までの整数。）と比較し、測定された極大値が閾値よりも小さい場合は、ユーザは歩行していないとみなす（すなわち、速度は「０」。）。また、鉛直方向加速度および水平方向加速度の極小値をそれぞれ求め、パラメータ情報１２２に格納されている極小値の閾値（ｍｉｎｎ）と比較し、測定された極小値が閾値よりも大きい場合は、ユーザは歩行していないとみなす（すなわち、速度は「０」。）。
【００６９】
このように、携帯端末装置１は、携帯端末装置１の状態に応じて選択されたパラメータ（極大値の閾値および極小値の閾値）によって、歩行動作を検出するため、より正確に、歩行動作を検出することができる。
【００７０】
また、極大値が検出された時間と、極小値が検出された時間との時間間隔を求め、これが閾値（人間の歩行動作の周期に応じた閾値）より長い場合には、ユーザは歩行していないとみなす（すなわち、速度は「０」。）。
【００７１】
上記の判定において「ユーザは歩行していない」と判定されなかった場合（すなわち、ユーザは歩行していると判定された場合）、速度演算部１０４は、「鉛直方向加速度の極大値−鉛直方向加速度の極小値」を演算して、鉛直方向加速度の振幅を求める。
【００７２】
次に、速度演算部１０４は、パラメータ情報１２２に格納されている歩行係数ａと歩行係数ｂとを用いて、「ａｎ×鉛直方向加速度の振幅＋ｂｎ」を演算して、ユーザの歩行動作の速さとする。
【００７３】
そして、ユーザの速さから、ユーザの速度を得るには、移動方向（進行方向）が必要になるが、これは角速度センサ３１および磁気センサ３２による測定値（測定情報１２０）に応じて決定できる。
【００７４】
このように、携帯端末装置１は、携帯端末装置１の状態に応じて選択されたパラメータ（歩行係数ａ，ｂ）によって、歩行動作の速度を演算するため、より正確な速度を求めることができ、測位精度が向上する。
【００７５】
以上が、携帯端末装置１の構成および機能の説明である。次に、携帯端末装置１によって、ユーザの位置を相対測位する測位方法（歩行動作検出方法を含む。）について説明する。
【００７６】
図６は、携帯端末装置１における測位処理を示す流れ図である。測位処理とは、携帯端末装置１において、携帯端末装置１の相対的な位置の測定が行われる処理である。なお、図６に示される各工程が開始されるまでに、携帯端末装置１のハードディスク１３に、候補情報１３０が記憶されているものとする。
【００７７】
図６に示すように、測位処理が実行されているときにおいて、携帯端末装置１では、検出処理（ステップＳ１）と、推定材料収集処理（ステップＳ２）とを実行しつつ、重力加速度以外の加速度が検出されたか否かを監視している（ステップＳ３）。
【００７８】
ステップＳ１における検出処理とは、携帯端末装置１の移動に関する物理量を検出する工程である。主には、第１検出装置群３によって、測定情報１２０が作成される処理である。すなわち、測位処理においては、加速度センサ３０、角速度センサ３１および磁気センサ３２による測定が随時実行され、これらによる測定結果が測定情報１２０として記録される。
【００７９】
ステップＳ２における推定材料収集処理とは、状態推定部１００が携帯端末装置１の状態を推定する際に参照するカーネルログ、アプリケーションログおよびユーザデータを記録するための処理である。すでに説明したように、カーネルログおよびアプリケーションログは、汎用のＯＳであるオペレーションシステム１０１の通常の処理により作成される。また、ユーザデータは、アプリケーション部１０２が通常の処理を実行する過程で作成されるデータである。すなわち、推定材料収集処理とは、測位処理に特化した特別な処理ではなく、携帯端末装置１において、各種のアプリケーションが起動している状況で、普通に実行されている処理である。
【００８０】
このように、携帯端末装置１における測位処理は、既存のアプリケーションと独立して並列的な処理が可能なようになっている。したがって、携帯端末装置１で実行されている他のアプリケーションの処理を邪魔することがない。また、使用しているアプリケーションのログを収集するため、これらのアプリケーションとデータを共有することができる。
【００８１】
測位処理において、重力加速度以外の加速度を検出すると、ＣＰＵ１０は、ステップＳ３においてＹｅｓと判定し、状態推定処理（ステップＳ４）を実行する。
【００８２】
図７は、状態推定処理の詳細を示す流れ図である。
【００８３】
状態推定処理が開始されると、まず、状態推定部１００は、推定材料収集処理（ステップＳ２）において記録されている情報（カーネルログ、アプリケーションログおよびユーザデータ）に基づいて、携帯端末装置１がスリープ状態か、電話または音楽視聴中か、あるいは撮影中かを判定する（ステップＳ１１，Ｓ１３，Ｓ１５）。
【００８４】
そして、携帯端末装置１がスリープ状態である場合（ステップＳ１１においてＹｅｓ。）、スリープ状態推定処理を実行する（ステップＳ１２）。
【００８５】
また、携帯端末装置１が電話または音楽視聴中である場合（ステップＳ１３においてＹｅｓ。）、電話または音楽視聴状態推定処理を実行する（ステップＳ１４）。
【００８６】
また、携帯端末装置１が撮影中である場合（ステップＳ１５においてＹｅｓ。）、撮影状態推定処理を実行する（ステップＳ１６）。
【００８７】
さらに、それ以外の場合（ステップＳ１５においてＮｏ。）、状態推定部１００は、携帯端末装置１が状態５であると推定し、その旨を示す状態情報１２１を作成する（ステップＳ１７）。
【００８８】
それ以外の場合とは、メール閲覧または作成、サイト閲覧または検索、地図や写真、動画などの閲覧、ゲーム、あるいは、テレビ電話といったサービスが提供されている状態である。このようなとき、ユーザは携帯端末装置１を手に所持しつつ、携帯端末装置１を操作しているか、あるいは、画面を注視していると推定できる。したがって、状態推定部１００は、携帯端末装置１が状態５であると推定するのである。
【００８９】
ステップＳ１７を実行すると、ＣＰＵ１０は、状態推定処理を終了して、図６に示す処理に戻る。
【００９０】
次に、携帯端末装置１がスリープ状態と推定された場合に実行されるスリープ状態推定処理（ステップＳ１２）について説明する。
【００９１】
図８は、スリープ状態推定処理を示す流れ図である。
【００９２】
まず、スリープ状態推定処理が開始されると、状態推定部１００は、カーネルログを参照して、外部インタフェース２２から携帯端末装置１に対して充電がされているかを判定する（ステップＳ２１）。そして、携帯端末装置１が充電中であれば、携帯端末装置１がバッグなどに収納されている状態であると推定し、状態１と推定する（ステップＳ２２）。したがって、状態推定部１００は、状態１を示す状態情報１２１を作成して、スリープ状態推定処理を終了する。
【００９３】
ステップＳ２１において充電中でない場合、状態推定部１００は、さらに照度センサ４０の値を参照し、当該値が閾値以下であるか否かを判定する（ステップＳ２３）。なお、照度センサ４０による測定は、すでに説明した推定材料収集処理（ステップＳ２）において随時実行されていてもよいが、ステップＳ２３を実行するときに測定されることが好ましい。
【００９４】
照度センサ４０の測定値が閾値以下の場合（ステップＳ２３においてＹｅｓ。）とは、携帯端末装置１の周囲は「暗い」状態である（そのような閾値を予め取得しておく。）。すなわち、携帯端末装置１は、スリープ状態であり、かつ、周囲が暗い状況にあることから、携帯端末装置１が、バッグなどに収納されている（状態１）か、または、ポケットに収納されているか（状態２）のいずれかであると推定できる。
【００９５】
そこで、ステップＳ２３においてＹｅｓと判定したとき、状態推定部１００は、撮像部１８に対して撮影を行わせる。このとき、携帯端末装置１の周囲は「暗い」と判断されているので、携帯端末装置１（撮像部１８）は、ストロボあるいはカメラライトを点灯させて撮影を行う（ステップＳ２４）。ステップＳ２４において、撮影される画像には、携帯端末装置１を収納している入れ物の内側が撮影されることになる。
【００９６】
次に、状態推定部１００は、ステップＳ２４において、所定の時間間隔で撮影された少なくとも２つの画像を比較し、その差分が閾値以下であるか否かを判定する（ステップＳ２５）。
【００９７】
撮影画像の差分が閾値以下のとき（ステップＳ２５においてＹｅｓ。）、携帯端末装置１は、比較的固定された状態で収納されていると推定される。したがって、状態推定部１００は、携帯端末装置１の状態は「上着、ズボン、ベルトケースなどのポケットに収納」されているとみなし、状態２と推定する（ステップＳ２６）。そして、その旨を示す状態情報１２１を作成し、スリープ状態推定処理を終了する。
【００９８】
一方、撮影画像の差分が閾値より大きいとき（ステップＳ２５においてＮｏ。）、携帯端末装置１は、比較的自由度の高い状態で収納されていると推定される。したがって、状態推定部１００は、携帯端末装置１の状態は「バッグなどに収納」されているとみなして、すでに説明したステップＳ２２を実行する。
【００９９】
ステップＳ２３の判定に戻って、照度センサ４０の測定値が閾値より大きい場合とは、携帯端末装置１が外部に取り出された状態であると推定できる。しかも、すでにスリープ状態であると判定されているので、携帯端末装置１は、首から提げられている（状態３）か、手振りの状態（状態４）かのいずれかと推定できる。
【０１００】
そこで、ステップＳ２３においてＮｏ（照度センサ４０の測定値が閾値より大きい）と判定すると、状態推定部１００は、撮像部１８に対して撮影を行わせ（ステップＳ２６）、撮影画像を比較し、その差分が閾値以下であるか否かを判定する（ステップＳ２７）。
【０１０１】
撮影画像の差分が閾値以下のとき（ステップＳ２７においてＹｅｓ。）、携帯端末装置１は、比較的小さく運動している状態と推定される。したがって、状態推定部１００は、携帯端末装置１の状態は「首から提げている」とみなし、状態３と推定する（ステップＳ２８）。そして、その旨を示す状態情報１２１を作成し、スリープ状態推定処理を終了する。
【０１０２】
一方、撮影画像の差分が閾値より大きいとき（ステップＳ２７においてＮｏ。）、携帯端末装置１は、比較的大きく運動している状態と推定される。したがって、状態推定部１００は、携帯端末装置１の状態は「手振り（所持した手を振っている）」とみなし、状態４と推定する（ステップＳ２９）。そして、その旨を示す状態情報１２１を作成し、スリープ状態推定処理を終了する。
【０１０３】
以上がスリープ状態推定処理の説明である。なお、スリープ状態推定処理を終了した場合は、状態推定処理も終了するので、図６に示す処理に戻ることになる。
【０１０４】
次に、携帯端末装置１が電話または音楽視聴中と推定された場合に実行される電話または音楽視聴状態推定処理（ステップＳ１４）について説明する。
【０１０５】
図９は、電話または音楽視聴状態推定処理を示す流れ図である。
【０１０６】
まず、電話または音楽視聴状態推定処理が開始されると、状態推定部１００は、カーネルログ等を参照して、外部スピーカ（イヤホン）が接続されているか否かを判定する（ステップＳ３１）。なお、ステップＳ３１の判定においては、外部インタフェース２２にプラグが接続されている場合のみならず、無線通信（Bluetooth（登録商標）など）によりワイヤレスイヤホン等が接続されている場合も、「接続されている」と判定する。
【０１０７】
外部スピーカが接続されている場合（ステップＳ３１においてＹｅｓ。）、状態推定部１００は、照度センサ４０の測定値を参照し、当該測定値が閾値以下か否かをさらに判定する（ステップＳ３２）。
【０１０８】
そして、照度センサの測定値が閾値以下の場合は、図７に戻り、ステップＳ１２のスリープ状態推定処理を実行することにより、携帯端末装置１の状態を推定する。すなわち、ステップＳ３２においてＹｅｓと判定される場合とは、ユーザがイヤホンを使用しつつ、周囲が暗い状態であるので、携帯端末装置１は、何らかの入れ物に収納されていると推定できるからである。
【０１０９】
一方、ステップＳ３２において照度センサの測定値が閾値より大きい場合、状態推定部１００は、携帯端末装置１の状態は「手持ち（所持した手を振っていない）」とみなし、状態５と推定する（ステップＳ３３）。そして、その旨を示す状態情報１２１を作成し、電話または音楽視聴状態推定処理を終了する。
【０１１０】
ステップＳ３１の判定に戻って、外部スピーカが接続されていない場合（ステップＳ３１においてＮｏ。）、状態推定部１００は、近接センサ４１が起動中か否かをさらに判定する（ステップＳ３４）。
【０１１１】
そして、近接センサ４１が起動されている場合（ステップＳ３４においてＹｅｓ。）、状態推定部１００は、携帯端末装置１の状態は「耳に当てている」状態とみなし、状態６と推定する（ステップＳ３５）。そして、その旨を示す状態情報１２１を作成し、電話または音楽視聴状態推定処理を終了する。
【０１１２】
一方、近接センサ４１が起動されていない場合（ステップＳ３４においてＮｏ。）、状態推定部１００は、携帯端末装置１の状態は「手持ち（所持した手を振っていない）」とみなし、状態５と推定する（ステップＳ３３）。そして、その旨を示す状態情報１２１を作成し、電話または音楽視聴状態推定処理を終了する。
【０１１３】
以上が電話または音楽視聴状態推定処理の説明である。なお、電話または音楽視聴状態推定処理を終了した場合は、状態推定処理も終了するので、図６に示す処理に戻ることになる。
【０１１４】
次に、携帯端末装置１が撮影中と推定された場合に実行される撮影状態推定処理（ステップＳ１６）について説明する。
【０１１５】
図１０は、撮影状態推定処理を示す流れ図である。
【０１１６】
撮影状態推定処理が開始されると、状態推定部１００は、撮影画像の差分が閾値以下か否かを判定する（ステップＳ４１）。
【０１１７】
そして、撮影画像の差分が閾値以下である場合（ステップＳ４１においてＹｅｓ。）、携帯端末装置１は静止していると推定する（ステップＳ４２）。この場合、ユーザは歩行動作を行っていないと推定できるので、移動速度は「０」となる。
【０１１８】
一方、撮影画像の差分が閾値より大きい場合（ステップＳ４１においてＮｏ。）、状態推定部１００は、携帯端末装置１の状態は「撮影」とみなし、状態７と推定する（ステップＳ４３）。そして、その旨を示す状態情報１２１を作成し、撮影状態推定処理を終了する。
【０１１９】
以上が撮影状態推定処理の説明である。なお、撮影状態推定処理を終了した場合は、状態推定処理も終了するので、図６に示す処理に戻ることになる。
【０１２０】
図６の処理に戻って、ステップＳ４の状態推定処理が終了すると、選択部１０３は、状態情報１２１を参照して、携帯端末装置１の状態が変化したか否かを判定する（ステップＳ５）。
【０１２１】
状態が変化している場合（ステップＳ５においてＹｅｓ。）、選択部１０３は、新たに推定された状態（状態情報１２１）に基づいて、候補情報１３０を検索し、当該状態に関連づけられているパラメータを選択して、パラメータ情報１２２を作成する（ステップＳ６）。一方、状態が変化していない場合（ステップＳ５においてＮｏ。）、パラメータを変更する必要はないので、ステップＳ６をスキップする。
【０１２２】
次に、速度演算部１０４が、測定情報１２０およびパラメータ情報１２２に応じて、歩行動作の速度を演算し（ステップＳ７）、速度情報１２３を作成する。
【０１２３】
速度情報１２３が作成されると、ＣＰＵ１０は、速度情報１２３およびタイマ（時間）に基づいて、ユーザの相対的な移動量を演算し、相対位置を特定する（ステップＳ８）。
【０１２４】
以上のように、ユーザにより携帯される携帯端末装置１は、当該ユーザが携帯端末装置１を携帯しつつ歩行しているときのユーザの歩行速度を求めるための候補情報１３０を記憶するハードディスク１３と、携帯端末装置１の移動に関する物理量を検出する第１検出装置群３と、携帯端末装置の状態を推定する状態推定部１００と、状態推定部１００による推定結果（状態情報１２１）に応じて、ハードディスク１３に記憶されている候補情報１３０の中から演算に使用するパラメータ（パラメータ情報１２２）を選択する選択部１０３と、第１検出装置群３の検出結果（測定情報１２０）と選択部１０３により選択されたパラメータ情報１２２とに基づいて、ユーザの歩行動作の速度を演算する速度演算部１０４とを備えることにより、携帯端末装置１の状態に応じて適用するパラメータを動的に変更することができるので、より適切なパラメータを用いて歩行速度を求めることができる。したがって、測位精度が向上する。
【０１２５】
ユーザの入力を受け付ける操作部１４を備え、状態推定部１００は、操作部１４に対するユーザの操作履歴（例えばカーネルログ）に応じて、携帯端末装置１の状態を推定することにより、さらに正確な状態判定が可能となるので、より測位精度が向上する。
【０１２６】
また、ユーザにサービスを提供するアプリケーション部１０２を備え、状態推定部１００は、当該アプリケーション部１０２の動作履歴（例えばアプリケーションログ）に応じて、携帯端末装置１の状態を推定することにより、さらに正確な状態判定が可能となるので、より測位精度が向上する。
【０１２７】
また、ユーザに提供するサービスに応じて情報を生成するアプリケーション部１０２を備え、状態推定部１００は、当該アプリケーション部１０２により生成される情報に応じて、携帯端末装置１の状態を推定することにより、さらに正確な状態判定が可能となるので、より測位精度が向上する。
【０１２８】
また、周囲の状況を検出する第２検出装置群４を備え、状態推定部１００は、第２検出装置群４による検出結果に応じて、携帯端末装置１の状態を推定することにより、さらに正確な状態判定が可能となるので、より測位精度が向上する。
【０１２９】
＜２．  変形例＞
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
【０１３０】
例えば、上記に示した各工程は、あくまでも例示であって、内容や順序を限定するものではない。例えば、図６に示す状態推定処理（ステップＳ４）は測位処理において随時実行されると説明したが、タイマを参照して、所定の時間間隔でのみ実行するように構成してもよい。このように、同様の効果が得られるならば、内容や順序が適宜変更されてもよい。
【０１３１】
また、上記に示した状態推定部１００や選択部１０３等は、プログラム８を実行することによりソフトウェア的に実現されると説明した。これにより、本発明は、新たなハードウェアを追加せずに、既存の端末装置にプログラム８を組み込むだけで実現が可能であるが、このような機能ブロックの一部または全部を専用の論理回路によりハードウェア的に実現してもよい。
【符号の説明】
【０１３２】
１  携帯端末装置
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１００  状態推定部
１０１  オペレーションシステム
１０２  アプリケーション部
１０３  選択部
１０４  速度演算部
１２０  測定情報
１２１  状態情報
１２２  パラメータ情報
１２３  速度情報
１３  ハードディスク
１３０  候補情報
１４  操作部
１５  表示部
１８  撮像部
１９  通信部
２２  外部インタフェース
３  第１検出装置群
３０  加速度センサ
３１  角速度センサ
３２  磁気センサ
４  第２検出装置群
４０  照度センサ
４１  近接センサ
８  プログラム
９  メモリカード
【図１】
0005868236.tif 000002
【図２】
0005868236.tif 000003
【図３】
0005868236.tif 000004
【図４】
0005868236.tif 000005
【図５】
0005868236.tif 000006
【図６】
0005868236.tif 000007
【図７】
0005868236.tif 000008
【図８】
0005868236.tif 000009
【図９】
0005868236.tif 000010
【図１０】
0005868236.tif 000011