(57)【要約】  情報処理システムは、情報処理装置の周囲の気圧を検知する気圧検知部と、少なくとも気圧検知部の検知結果を使用して移動体の移動状態を判断する判断部と、気圧検知部が検知した気圧の所定の変化を検出した場合、判断部とは異なる方法で移動体の移動状態を判断する修正部とを含む。
2017104646.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置の周囲の気圧を検知する気圧検知部と、
少なくとも前記気圧検知部の検知結果を使用して移動体の移動状態を判断する判断部と、
前記気圧検知部が検知した気圧の所定の変化を検出した場合、前記判断部とは異なる方法で前記移動体の移動状態を判断する修正部と
を含む情報処理システム。
【請求項２】
前記情報処理システムは、前記気圧を検知する外部通信装置をさらに含み、
前記情報処理装置は前記外部通信装置と通信して前記移動体の移動状態を判断する、請求項１に記載の情報処理システム。
【請求項３】
前記情報処理装置は、前記外部通信装置からの気圧情報が使用できない場合には、前記気圧検知部を使用して前記気圧を検知する、請求項２に記載の情報処理システム。
【請求項４】
前記気圧の所定の変化は、前記移動体の移動で生じる変化よりも急激な変化であり、
前記修正部は、前記気圧の所定の変化を検出した場合、前記判断部とは異なる方法で前記移動体の移動状態を判断する、請求項１〜３のいずれか１項に記載の情報処理システム。
【請求項５】
移動体の少なくとも昇降を含む移動状態を判断する情報処理装置であって、
情報処理装置の周囲の気圧を検知する気圧検知部と、
少なくとも前記気圧検知部の検知結果を使用して前記移動体の移動状態を判断する判断部と、
前記気圧検知部が検知した気圧の所定の変化を検出した場合、前記判断部とは異なる方法で前記移動体の移動状態を判断する修正部と
を含む情報処理装置。
【請求項６】
前記移動状態は歩行者の歩行状態を示し、
前記歩行状態に対応して歩幅を計算する歩幅計算部をさらに含む、請求項５に記載の情報処理装置。
【請求項７】
前記移動状態を移動履歴情報として時系列的に記録する記録部をさらに含む、請求項５または６に記載の情報処理装置。
【請求項８】
前記修正部は、前記気圧の所定の変化を検出した場合、前記判断部が判断した前記移動状態を時系列的に遡って修正する、請求項５〜７のいずれか１項に記載の情報処理装置。
【請求項９】
前記気圧の所定の変化は、前記移動体の移動で生じる変化よりも急激な変化であり、
前記修正部は、前記気圧の所定の変化を検出した場合、前記判断部とは異なる方法で前記移動体の移動状態を判断する、請求項５〜８のいずれか１項に記載の情報処理装置。
【請求項１０】
情報処理装置が移動体の少なくとも昇降を含む移動状態を判断する情報処理方法であって、前記情報処理装置が、
前記情報処理装置の周囲の気圧を検知する気圧検知ステップと、
少なくともの前記気圧検知ステップの検知結果を使用して前記移動体の移動状態を判断する判断ステップと、
前記気圧検知ステップにて検知された気圧の所定の変化を検出した場合、前記判断ステップとは異なる方法で前記移動体の移動状態を判断する修正ステップと
を有する情報処理方法。
【請求項１１】
前記移動状態は歩行者の歩行状態を示し、
前記歩行状態を歩行履歴情報として時系列的に記録するステップと、
前記歩行状態に対応して歩幅を計算するステップと
をさらに含む、請求項１０に記載の情報処理方法。
【請求項１２】
前記修正ステップは、前記気圧の所定の変化が検出された場合、前記判断ステップで判断された前記移動状態を時系列的に遡って修正するステップを含む、請求項１０または１１に記載の情報処理方法。
【請求項１３】
前記気圧の所定の変化は、前記移動体の移動で生じる変化よりも急激な変化であり、
前記修正ステップでは、前記気圧の所定の変化を検出した場合、前記判断ステップとは異なる方法で前記移動体の移動状態を判断する、請求項１０〜１２のいずれか１項に記載の情報処理方法。
【請求項１４】
コンピュータを請求項５〜９のいずれか１項に記載の情報処理装置として機能させるためのコンピュータ実行可能なプログラム。
【請求項１５】
請求項１４に記載のプログラムを格納したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、情報処理方法、プログラム、および記録媒体に関する。
【背景技術】
【０００２】
加速度センサ、角速度センサ、および気圧センサを用いて歩行状態を推定する技術として、例えば歩行者自律航法（ＰＤＲ）等が知られている。例えば、非特許文献１では、歩行状態を推定する方法として、階段の昇り時に表れる特有の角速度のパターンや階段の降り時の垂直方向と進行方向の加速度成分のピーク値の差分値から階段昇降状態を検出する方法が提案されている。【０００３】
また、特許文献１には、歩行周期を単位期間として気圧値の平均化を行い、気圧値の変化により被測定者の歩行が階段を上昇歩行または下降歩行したものであるかを判断する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、移動体の移動状態を精度良く判断し得る情報処理システム、情報処理装置、情報処理方法、プログラム、および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
情報処理システムは、情報処理装置の周囲の気圧を検知する気圧検知部と、少なくとも気圧検知部の検知結果を使用して移動体の移動状態を判断する判断部と、気圧検知部が検知した気圧の所定の変化を検出した場合、判断部とは異なる方法で移動体の移動状態を判断する修正部とを含む。
【発明の効果】
【０００６】
開示の技術によれば、移動体の移動状態を精度良く判断し得る情報処理システム、情報処理装置、情報処理方法、プログラム、および記録媒体を提供することができる。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態のナビゲーションシステムに使用される情報処理装置のハードウェアの一例を示すブロック図である。
【図２】第１の実施形態の情報処理装置におけるソフトウェアの機能の一例を示すブロック図である。
【図３】第１の実施形態の情報処理装置による歩行状態判断方法の一例を示すフローチャート（その１）である。
【図４】歩行時の加速度変化および歩幅を対比して示す図である。
【図５】第１の実施形態の情報処理装置による歩行状態判断方法の一例を示すフローチャート（その２）である。
【図６】第１の実施形態で使用する歩行履歴情報の一例を示す図である。
【図７】ユーザが通常歩行を行っている場合の歩行時間（ｓｅｃ）を横軸とし、縦軸に気圧センサ１１４が取得した気圧（ｈＰａ）を縦軸として、通常歩行時の圧力変動を示すグラフである。
【図８】電車通過時に気圧センサ１１４が検出する圧力変化を、図７と同様、歩行時間（ｓｅｃ）を横軸とし、縦軸に気圧センサ１１４が取得した気圧（ｈＰａ）を縦軸として、示すグラフである。
【図９】通常歩行時の圧力変動と、ホームにおける電車通過時の圧力変動とを、両者を比較する目的で１つのグラフに示す図である。
【図１０Ａ】第１の実施形態による歩行状態修正の一例を、歩行履歴情報を使用して説明する図（修正前）である。
【図１０Ｂ】第１の実施形態による歩行状態修正の一例を、歩行履歴情報を使用して説明する図（修正後）である。
【図１１】第２の実施形態のナビゲーションシステム１１００の機能の一例を示すブロック図である。
【図１２】第３の実施形態のナビゲーションシステム１２００の機能の一例を示すブロック図である。
【図１３】第４の実施形態のナビゲーションシステム１３００の機能の一例を示すブロック図である。
【図１４】第４の実施形態のナビゲーションシステムにおける歩行状態判断方法の一例を示すフローチャート（その１）である。
【図１５】第４の実施形態のナビゲーションシステムにおける歩行状態判断方法の一例を示すフローチャート（その２）である。
【図１６Ａ】第４の実施形態による歩行状態修正の一例を、歩行履歴情報を使用して説明する図（修正前）である。
【図１６Ｂ】第４の実施形態による歩行状態修正の一例を、歩行履歴情報を使用して説明する図（修正後）である。
【発明を実施するための形態】
【０００８】
従来の方法では、携帯装置を腰部に固定するものであったり、個人による歩き方の違い等により精度が低下したりする場合が考えられる。
【０００９】
また、例えば特許文献１に開示された技術では、歩行動作中に上下移動以外の動作等に起因する特定の気圧変化が起きた場合、正しく歩行状態を判断できない場合が考えられる。
【００１０】
以下、本発明を実施形態により説明するが、本発明は、以下に説明する実施形態に限定されるものではない。
【００１１】
図１は、第１の実施形態のナビゲーションシステムに使用される情報処理装置１００のハードウェアの一例を示すブロック図である。なお、情報処理装置１００が使用される第１の実施形態のナビゲーションシステムは情報処理システムの一例である。
【００１２】
情報処理装置１００は、例えば携帯電話、スマートフォン、ＰＤＡ（Personal Digital Assistant）またはノートブック型パーソナルコンピュータ等の移動体であり、ユーザが手に持って持ち運ぶことのできる装置である。
【００１３】
図1に示したブロック図は、情報処理装置１００が、スマートフォン等の携帯端末である場合におけるブロック図である。情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０８、ＲＡＭ(Random Access Memory)１０９、およびＲＯＭ(Read-Only Memory)１１０を備えている。ＣＰＵ１０８は、情報処理装置１００の動作を制御するプログラムを実行し、ＲＡＭ１０９は、ＣＰＵ１０８のワークエリア等を提供する。ＲＯＭ１１０は、ＣＰＵ１０８が実行するプログラムおよびプログラムの実行に必要なデータを記憶する。
【００１４】
さらに情報処理装置１００には、加速度センサ１１１と、角速度センサ１１２と、地磁気センサ１１３と、気圧検知部の一例である気圧センサ１１４とを含めることができる。加速度センサ１１１は、例えば３軸方向それぞれの加速度を検出する加速度検知部の一例である。角速度センサ１１２は、角速度検知部の一例であり、例えば３軸方向それぞれの角速度を検出する。地磁気センサ１１３は、磁気検知部の一例であり、磁北をあらわす３次元ベクトルを出力し、情報処理装置１００の向きを検出する際に使用される。加速度センサ１１１、角速度センサ１１２および地磁気センサ１１３はモーションセンサとして用いられ、ユーザの歩行速度、歩数および進行方向を検出する際に使用される。加速度センサ１１１、角速度センサ１１２、および地磁気センサ１１１は慣性情報を提供する。
【００１５】
気圧センサ１１４は、ユーザ、すなわちユーザが携行する情報処理装置１００の周囲の気圧を検出する。情報処理装置１００は気圧センサ１１４が得た情報を基にユーザの高度方向の位置の変化を検出し、モーションセンサが取得したユーザの２次元位置座標情報に、気圧センサ１１４が得た情報を、高度を示す高度情報として追加する。その結果、情報処理装置１００は、３次元位置座標内でのユーザの位置を判断することができる。
【００１６】
その他、情報処理装置１００は、マイク１０１と、スピーカ１０２と、第１通信部１０３と、第２通信部１０４とを備えている。マイク１０１は、ユーザの声等の音声を電気信号に変換し、電話通信等を可能にする。スピーカ１０２は、電話通信等の着呼の音声を発生させたり、電話通信回線で受信した電気信号から変換された音声信号を出力したりする。さらに第１通信部１０３は、情報処理装置１００を、Ｗｉｆｉ、３Ｇ、４Ｇ、ＬＴＥ（Long Term Evolution）等の広域ネットワークに接続するための通信処理を行う。第２通信部１０４は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）、ＩＲＤＡ（InfraRed Data Association）または近距離無線通信等の短距離の通信を提供する処理を行う。
【００１７】
さらに、情報処理装置１００は、位置情報受信部１０５と、表示部１０６と、入力部１０７とを含む。情報処理装置１００は、位置情報受信部１０５によってＧＰＳ衛星やＩＭＥＳ(Indoor Messaging Service)によって送信される測位信号を受信してユーザの位置座標を取得する。また、表示部１０６および入力部１０７は、例えば液晶ディスプレイ等を使用したタッチパネル機能を提供し、情報処理装置１００とユーザとの間のユーザインタフェースを提供する。なお、マイク１０１、スピーカ１０２、各通信部１０３、１０４、位置情報受信部１０５、表示部１０６および入力部１０７は任意的な構成要素であり、情報処理装置１００は図１に示したすべてのハードウェア要素を含まなくてもよい。
【００１８】
また、情報処理装置１００は、メモリカードインタフェース、ＵＳＢ（Universal Serial Bus）インタフェース、撮像デバイス等を含んでもよい。情報処理装置１００が使用するＣＰＵ１０８として、より具体的には、情報処理装置１００の実装に応じて、例えば、ＰＥＮＴＩＵＭ（登録商標）〜ＰＥＮＴＩＵＭ  ＩＶ（登録商標）、ＰＥＮＴＩＵＭ（登録商標）互換ＣＰＵ、ＰＯＷＥＲ  ＰＣ（登録商標）、ＭＩＰＳ、Ｔｅｇｒａ（登録商標）、Ｓｎａｐｄｒａｇｏｎ（登録商標）、Ｈｅｌｉｏ（登録商標）等を挙げることができる。
【００１９】
また情報処理装置１００が使用するオペレーティングシステム（ＯＳ）として、情報処理装置１００の実装に応じて、ＭａｃＯＳ（商標）、ｉ−ＯＳ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）、ＣＨＲＯＭＥ（登録商標）、ＡＮＤＲＯＩＤ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）２００Ｘ  Ｓｅｒｖｅｒ、ＵＮＩＸ（登録商標）、ＡＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）またはそれ以外の適切なＯＳを挙げることができる。さらに、情報処理装置１００は、上述したＯＳ上で動作する、Ｃ、Ｃ＋＋、Ｖｉｓｕａｌ  Ｃ＋＋、ＶｉｓｕａｌＢａｓｉｃ、Ｊａｖａ（登録商標）、Ｐｅｒｌ、Ｒｕｂｙ等のプログラミング言語、いわゆる「アプリ」と称される、スマートフォンに多く利用されるプログラミング言語等により記述されたアプリケーションプログラムを格納し、実行することができる。
【００２０】
図２は、第１の実施形態の情報処理装置１００におけるソフトウェアの機能の一例を示すブロック図である。なお、図２中、破線で囲われた各構成要素が、ＣＰＵ１０８がプログラムを実行することにより実現される機能の一例である。説明の便宜上、気圧センサ１１４、加速度センサ１１１、地磁気センサ１１３、および角速度センサ１１２も図２に示しているが、これらのセンサは、各信号のデータフローを説明するために記載したものであり、ソフトウェアの機能には含まれない。
【００２１】
情報処理装置１００におけるソフトウェアの機能には、気圧変化検出部２０１と、歩行検出部２０４と、歩行状態判断部２０５とが含まれる。気圧変化検出部２０１は、気圧センサ１１４が取得した気圧情報を取得して、気圧情報の時間的変化（すなわち気圧の時間的変化）を検出する。気圧変化検出部２０１は、例えば所定の気圧変化および所定時間範囲内の気圧分散値のいずれかの値から、例えば駅構内での電車の通過に伴う急激な気圧変化を検出する。
【００２２】
歩行検出部２０４は、加速度センサ１１１、地磁気センサ１１３、および角速度センサ１１２がそれぞれ取得した情報を使用してユーザの歩行を検出する。歩行状態判断部２０５もまた、加速度センサ１１１、地磁気センサ１１３、および角速度センサ１１２から取得した情報をそれぞれ使用して、ユーザの歩行の歩行履歴を示す歩行履歴情報６００を取得する。より具体的には、歩行状態判断部２０５は、ユーザの歩行の水平面内の情報に対し高さ次元の情報を付け加え、移動履歴情報の一例であるユーザの歩行履歴情報６００を３次元情報として生成する。さらに、歩行状態判断部２０５は、気圧センサ１１４が取得した気圧情報に基づき、ユーザの歩行状態が、平坦歩行（すなわち略水平面上の歩行）、階段昇降等のいずれの歩行状態であるかを、歩行状態別情報記録部２０３を参照して判断する。
【００２３】
さらに情報処理装置１００は、歩行状態修正部２０２と、高度演算部２０６と、歩幅計算部２０７と、歩行履歴蓄積部２０８とを含むことができる。歩行履歴蓄積部２０８は、歩行状態判断部２０５が生成したユーザの歩行履歴情報６００を格納する。高度演算部２０６は気圧センサ１１４が取得した気圧情報を歩行状態判断部２０５経由で受け取って高度情報を演算して歩行状態判断部２０５に返す。歩行状態判断部２０５は高度演算部２０６からの高度情報を用いて歩行状態を判断する。
【００２４】
歩幅計算部２０７は、歩行状態別情報記録部２０３を参照し、歩行状態判断部２０５が判断した（あるいはさらに歩行状態修正部２０２が判断した）ユーザの歩行状態におけるユーザの歩幅を計算し、計算した歩幅を歩行履歴蓄積部２０８に通知する。このようにして歩幅計算部２０７は、歩行状態により変化する歩幅を示す歩幅情報を、歩行履歴蓄積部２０８が格納する歩行履歴情報６００において更新する。歩行履歴蓄積部２０８は、上記したそれぞれのセンサが取得した情報に基づき、ユーザの歩行状態を時系列的に歩行ログとして格納する。さらに情報処理装置１００はユーザ位置計算部２０９を含むことができる。
【００２５】
ユーザ位置計算部２０９は、歩行履歴蓄積部２０８が格納する歩行履歴情報６００を使用し、例えば歩行者自律航法による位置の判断を行い、ユーザの歩行が最初に検出された位置を起点としたユーザの位置を３次元的に計算することで、ユーザの歩行経路を例えばマップ上に重畳して表示することを可能にする。ユーザの歩行が最初に検出された際のユーザの位置の検出は、例えば位置情報受信部１０５によってＧＰＳ衛星やＩＭＥＳ(Indoor Messaging Service)によって送信される測位信号を受信してユーザの位置座標を取得することによって行うことができる。
【００２６】
なお、歩行状態別情報記録部２０３には、ユーザの歩行のパラメータ、例えば平坦歩行の場合の高度変化を示す情報、階段昇降時の高度変化を示す情報、走った状態等の各種の歩行状態における高度変化を示す情報が記録されている。歩行状態別情報記録部２０３にはさらに、階段昇降時の段差を示す段差情報が、歩幅計算等を行うために記録されている。なお段差情報は、一般的な階段における値（例えば階段の規格の値等）に基づいて予め設定しておけばよい。
【００２７】
図３は、情報処理装置１００が実行する情報処理方法の一例である、歩行状態判断方法の一例のフローチャートである。
【００２８】
ステップＳ３００で図３の処理が、例えばユーザによる操作によって開始されると、ステップＳ３０１で、加速度センサ１１１が検出した加速度を示す加速度情報を使用して歩行検出部２０４がユーザの歩行を検出する。ステップＳ３０２では、検出された歩行が所定基準分、継続したか否かを歩行検出部２０４が判断する。歩行状態判断部２０５が、検出された歩行が所定基準分、継続しなかったと判断した場合（ＮＯ）、気圧情報の初期値を取得するため、ステップＳ３０６で歩行状態判断部２０５は、歩行が継続した期間の気圧情報を記憶してステップＳ３０１に戻る。
【００２９】
一方、ステップＳ３０２で歩行状態判断部２０５が、検出された歩行が所定基準分、継続したと判断した場合（ＹＥＳ）、歩行状態判断部２０５はステップＳ３０３に進む。なお、上記した、歩行の継続の有無を判断するための所定基準は、歩行時間、歩数等を使用して設定することができる。例えば検出された歩行が、歩数であれば５歩分、歩行時間であれば２．５秒間、継続した場合、検出された歩行が所定基準分、継続したと判断することができる。当該歩行の継続の有無を判断するための所定基準は、ユーザの歩行特性等に応じて適宜設定することができる。
【００３０】
ステップＳ３０３で歩行状態判断部２０５は、「所定歩数」連続してユーザの昇降状態が継続したか否かを判断する。所定歩数連続するユーザの昇降動作が検出された場合（ＹＥＳ）、歩行状態判断部２０５はステップＳ３０４に進む。歩行状態修正部２０２はステップＳ３０４で、歩行履歴蓄積部２０８に格納されている歩行履歴情報６００において、歩行状態の判断を「平坦歩行」に修正して記録する。そして当該「平坦歩行」の歩行状態に応じて、ステップＳ３０５にて、歩幅計算部２０７が「歩幅」を計算し、歩行履歴情報６００において、計算した歩幅を記録する
ここでステップＳ３０３では、後述する図５のステップＳ５００〜Ｓ５０３、Ｓ５０７，Ｓ５０８およびＳ５１１による歩行状態の判断結果として、「昇り」または「降り」の状態が「所定歩数」分連続したと判断された場合に、歩行状態修正部２０２が、所定歩数目の判断が誤りと判断し、ステップＳ３０４で当該判断を「平坦歩行」に修正する。これは、建物の規格等にしたがって、通常、建物の階段には所定段数ごとに踊り場を設ける。よって所定段数を超えて「昇り」または「降り」判断が連続した場合、最後の判断を誤りと判断し、当該判断を「平坦歩行」に修正する。すなわち当該所定段数に「１」を加えて得た値が上記「所定歩数」の値である。
【００３１】
他方、ステップＳ３０３で所定歩数連続する昇降状態が検出されていない（すなわち、「昇り」あるいは「降り」が所定歩数連続してはいない）場合（ＮＯ）、図５のステップＳ５００以降の処理が実行される。図５のフローチャートについては後述する。
【００３２】
次に図４を使用して上記した歩幅の計算について説明する。図４には、歩行時の垂直方向の加速度変化（グラフ）および歩行の一例を、平坦歩行時と階段昇降時とで対比して示す。
【００３３】
図４の上部に示される如く、平坦歩行時には、加速度センサ１１１が検出する垂直方向の加速度変化は比較的小さく、歩幅Ｗ１は、図４の下部に示される階段昇降の場合の歩幅Ｗ２に比較して広い。他方図４の下部に示される如く、階段昇降時、歩幅は、階段の各段の幅に略等しいＷ２となる一方、加速度センサ１１１が検出する垂直方向の加速度は比較的大きな範囲で変動している。なお歩行速度は、例えば垂直方向の加速度の振幅から水平方向の移動速度を計算することによって取得する。この場合、図４に示される如く、階段昇降時には平坦歩行時に比して垂直方向の加速度の振幅が大きいため、上記計算によって得られる階段昇降時の歩行速度が実際の歩行速度よりも高くなる傾向にある。さらに階段昇降の場合、実際には歩幅が階段の踏面によって制限されるため、上記傾向がさらに顕著になると考えられる。
【００３４】
平坦歩行と階段の昇降とは、加速度の垂直方向の分散値および／または気圧センサ１１４が取得する気圧情報を使用して区別することができる。上記の如く、階段昇降時の歩幅Ｗ２が平坦歩行時の歩幅Ｗ１に比して狭いため、平坦時の歩幅を基準として歩数を乗じてユーザの移動距離を計算すると、現在位置の検出誤差が生ずる場合が考えられる。このような事態を回避するため、情報処理装置１００は、ユーザの歩行が階段の昇降動作であると判断した場合、例えば歩幅を平坦歩行時の値から昇降動作時の歩幅に修正する。この場合さらに、ユーザの歩行が階段の昇降動作から平坦歩行動作へと変化した際、情報処理装置１００は、階段昇降時の歩幅を平坦歩行時の歩幅に戻す修正を行う。
【００３５】
なお、ＧＰＳ等が使用できる場合には、情報処理装置１００は現在位置をＧＰＳ等で得られた情報で修正することもできるが、例えば地下鉄等の地下構造物、建造物内部等ではＧＰＳが良好に機能しない場合もある。このような場合には、上記の如くの歩幅の修正（すなわち、平坦歩行と昇降歩行等との間で、歩幅の計算方法を異ならせること）は現在位置の検出誤差を低減するために有効である。
【００３６】
以下、図５を使用して歩行状態判断方法について引き続き説明する。図５の処理は、図３のステップＳ３０３における判断結果がＮＯとなった際に開始される。まずステップＳ５００で気圧変化検出部２０１が「予め設定された気圧変化」を検出したか否かを判断する。
【００３７】
上記した「予め設定された気圧変化」とは、例えば地下鉄駅内で、列車が到着または出発した場合の圧力変化等、通常の歩行時には発生しない急激な気圧変化（以下「急な気圧変化」と称する）を意味する。このような「急な気圧変化」を示す情報は、例えば情報処理装置１００のＲＯＭ１１０にデータとして記録しておくことができる。また上記した「急な気圧変化」の有無は、例えば、ユーザによる歩行の所定歩数前との間の気圧差が所定の閾値を超えているか、もしくは、所定時間範囲内の気圧の分散値が所定の閾値を超えているか、のいずれかによって判断することができる。なお、上記した「急な気圧変化」の有無を判断する判断基準は任意に設定することができる。
【００３８】
「急な気圧変化」（図５では「設定した気圧変化」）が検出されなかった場合（ステップＳ５００のＮＯ）、歩行状態判断部２０５はステップＳ５０１を実行し、ユーザの歩行が昇り動作か否かを判断し、昇り動作と判断された場合（ＹＥＳ）、歩行状態判断部２０５はステップＳ５０７に進む。歩行状態判断部２０５はステップＳ５０７で、でユーザの歩行状態を昇り動作（例えば「階段昇り」）として、歩行履歴情報６００において記録する。
【００３９】
次に歩幅計算部２０７はステップＳ５０９にて、図４とともに上述した方法によって歩幅の計算を行なう。その後歩行状態判断部２０５はステップＳ５１０にて、歩行状態別情報記録部２０３が格納している昇降時の階段の段差を示す情報を使用して高度情報を計算し、計算した高度情報を用いて歩行履歴蓄積部２０８に格納されている歩行履歴情報６００を更新する。なお昇降時の階段の段差を示す情報は、一般的な階段における値（階段の規格の値等）に基づいて予め設定しておけばよい。その後ステップＳ５０６が実行され、さらに図３のステップＳ３０１が実行されることで、図３とともに上述した処理が繰り返される。
【００４０】
歩幅の計算では、例えば、歩幅計算部２０７が、昇降時の歩行速度の計算において、垂直方向の加速度を用いて計算した歩行速度に対し、傾斜、段差等を考慮した係数を乗じて昇降時の水平方向の歩行速度を計算し、さらに、計算した歩行速度及び歩数を使用して歩幅を計算する。なお傾斜、段差等を考慮した係数を、一般的な階段、坂等における値（階段の規格による値等）に基づいて予め求めておき、歩行状態別情報記録部２０３に記録しておけばよい。そして歩幅計算部２０７が計算した歩幅を歩行状態判断部２０５に通知することで、歩行状態判断部２０５が、歩行履歴蓄積部２０８に格納されている歩行履歴情報６００において歩幅を記録する。
【００４１】
他方ステップＳ５０１で昇り動作とは判断されなかった場合（ＮＯ）、歩行状態判断部２０５はステップＳ５０２に進み、ユーザの歩行状態が降り動作か否かを判断する。ステップＳ５０２でユーザの歩行状態を降り動作と判断した場合（ＹＥＳ）、歩行状態判断部２０５はステップＳ５０８に進み、ユーザの歩行状態を降り動作（例えば「階段降り」）として、歩行履歴情報６００において記録する。
【００４２】
次に歩幅計算部２０７はステップＳ５０９にて、図４とともに上述した方法によって歩幅の計算を行なう。その後歩行状態判断部２０５はステップＳ５１０にて、歩行状態別情報記録部２０３が格納している昇降時の階段の段差を示す情報を使用して高度情報を計算し、計算した高度情報を用いて歩行履歴蓄積部２０８に格納されている歩行履歴情報６００を更新する。その後ステップＳ５０６が実行され、さらに図３のステップＳ３０１が実行されることで、図３とともに上述した処理が繰り返される。
【００４３】
一方、ステップＳ５０２で降り動作とは判断されなかった場合（ＮＯ）、歩行状態判断部２０５はステップＳ５０３に進み、ユーザの歩行状態を「平坦歩行」と判断し、歩行履歴情報６００において「平坦歩行」として記録するとともに、歩幅計算部２０７が「平坦歩行」に応じた歩数を計算し、歩行履歴情報６００において記録する。
【００４４】
さらに歩行状態判断部２０５はステップＳ５０４に進み、所定時間連続して平坦歩行が検出されたか否かを判断する。所定時間連続して平坦歩行が検出されなかった場合（ステップＳ５０４のＮＯ）、ステップＳ５０６が実行され、さらに図３のステップＳ３０１が実行されることで、図３とともに上述した処理が繰り返される。
【００４５】
ステップＳ５０４で、所定時間連続して平坦歩行が検出された場合（ＹＥＳ）、歩行状態判断部２０５はステップＳ５０５に進む。ステップＳ５０５で歩行状態判断部２０５は、ユーザの歩行状態が階段昇降等であるか否かを判断する際に参照する閾値であって歩行状態別情報記録部２０３が格納する閾値を、例えば当該連続して検出された平坦歩行時の加速度の垂直方向の分散値を用いて更新する。その結果、階段昇降等の判断の精度を向上することができる。その後ステップＳ５０６が実行され、さらに図３のステップＳ３０１が実行されることで、図３とともに上述した処理が繰り返される。
【００４６】
一方、ステップＳ５００で、「急な気圧変化」が検出された場合（ＹＥＳ）、歩行状態修正部２０２は、階段昇降等のユーザの移動以外の要因（例えば駅構内での電車の通過に伴う急激な気圧変化）で歩行状態が誤判断されると判断する。すなわち歩行状態修正部２０２は、気圧センサ１１４からの気圧情報による本来の判断方法によってはユーザの歩行状態を判断することはできないと判断する。このため、歩行状態修正部２０２はステップＳ５１１に進み、歩行履歴情報６００において記録する「歩行状態」を、本来の判断方法以外の方法で取得する。本来の判断方法以外の方法による歩行状態の取得とは、例えば、歩行状態修正部２０２が、歩行履歴情報６００に記録する「歩行状態」として、「急な気圧変化」が検出される前に判断された「歩行状態」を使用する。
【００４７】
以下図６を参照して、歩行履歴蓄積部２０８が格納する歩行履歴情報６００に置いて記録すべき歩行状態につき、歩行状態修正部２０２が行う歩行状態の判断の処理を更に詳細に説明する。図６は、歩行履歴情報６００の一例を示す。図６に示す歩行履歴情報６００は、ユーザが情報処理装置１００を使用して歩行状態の記録を開始したときから記録が開始され、歩数（累積）、歩行状態、歩幅、および位置情報等を含む。なお、位置情報は、ＧＰＳ等で取得される情報を使用可能な場合にはＧＰＳ等で取得した値を使用することができる。また、屋内、地下空間等で、ＧＰＳ等が使用できない場合には、歩数、歩幅、加速度、角速度等の慣性情報、気圧情報等を使用して計算した位置情報を使用することができる。
【００４８】
図６に示す歩行履歴情報６００において、歩数ｎが検出された時点で、予め設定された閾値以上の圧力変化（すなわち「急な気圧変化」）が検出されたとする。このような場合、仮に歩行状態判断部２０５が、上記した「急な気圧変化」に応じてユーザの歩行状態を「昇降動作」（すなわち「昇り」または「降り」）と判断したとすると、このような判断は歩行履歴情報６００において記録される歩行状態および歩幅に影響を与える。例えばこのような状況が数秒間継続した場合、ユーザの位置情報の無視できない検出誤差が生じる場合が考えられる。このため気圧変化検出部２０１は、例えば気圧が、所定の歩数前の気圧に比較して予め設定された閾値を超えて変化した場合、この気圧変動を「急な気圧変化」と判断し、当該気圧変動を、歩行によるものではなく、外部要因によるもの（例えば駅構内での電車の通過に伴う急激な気圧変化）と判断する。
【００４９】
このような判断がなされた場合、歩行状態修正部２０２は、歩行履歴情報６００に記録する「歩行状態」を、本来の判断方法とは異なる方法で判断する。本来の判断方法とは異なる方法による判断で取得すべき「歩行状態」は、所定歩数分の歩行状態、図６に示した実施形態では、２歩分の歩行状態である。すなわち歩行状態修正部２０２は、図６に示されるように、「急な気圧変化」が検出される以前の歩行状態６１０の値を、当該気圧変化が検出された後の歩行状態６２０としても使用する。図６の例では、歩行状態修正部２０２が、本来の判断方法（すなわち歩行状態判断部２０５が気圧センサ１１４からの気圧情報に基づいて行う判断）では「階段昇り」となる歩行状態の判断を「平坦歩行」に修正する。なお、「歩幅」は、歩行状態判断部２０５が判断した（あるいは歩行状態修正部２０２が判断した）「歩行状態」を使用して歩幅計算部２０７がｗ１からｗｎ＋２までリアルタイムで計算し歩行履歴情報６００において記録する。
【００５０】
また、歩行履歴情報６００において、例えば、ｎ歩目で「急な気圧変化」が検出された場合、ｎ歩目の「歩行状態」を（ｎ＋１）歩目の「歩行状態」としても使用し、さらに、「気圧変動継続」の矢線で示される間、すなわち当該気圧変化によって変化した気圧が継続する間、繰り返しｎ歩目の「歩行状態」をその後の「歩行状態」としても使用するようにしてもよい。
【００５１】
気圧変化検出部２０１は、上記急な気圧変化によって変化した気圧の継続が終了したとの判断を、例えば急な気圧変化が検出される以前の平均気圧のレベルに気圧が戻ったことで行うことができる。その際、例えば、急な気圧変化が生じた際、その後の「歩行状態」として、上記の如く過去または直近のデータを使用した「歩行状態」をリアルタイムに歩行履歴情報６００において記録する代わりに、とりあえず本来の判断方法で判断した「歩行状態」を歩行履歴情報６００において記録しておいてもよい。この場合、例えば当該急な気圧変化によって変化した気圧から気圧が徐々に低下して平均気圧のレベルに至り、その後さらに気圧が低下したとすると、気圧が平均気圧のレベルを横切った時点の「歩数」を記録しておき、記録した歩数に遡って歩行履歴情報６００における「歩行状態」を過去または直近のデータを使用して修正する。
【００５２】
図７は、気圧変動の一例として、ユーザが通常歩行を行っている場合の圧力変動の例を、歩行時間（ｓｅｃ）を横軸とし、気圧センサ１１４が取得した気圧（ｈＰａ）を縦軸として示す。図７に示されるように、ユーザが通常歩行を行っている間、圧力変動はあるものの、約１．２×１０―２ｈＰａ／ｓｅｃ以下の幅の圧力変動に収まっている。
【００５３】
図８は、電車通過時に気圧センサ１１４が検出する圧力変動の例を、図７と同様、歩行時間（ｓｅｃ）を横軸とし、気圧センサ１１４が取得した気圧（ｈＰａ）を縦軸として示す。図８に示されるように、例えば電車等がホームに進入してくる場合、約７．５×１０―２ｈＰａ／ｓｅｃ以上の幅の圧力変動が発生する。
【００５４】
これらの圧力変動の値は、「急な気圧変化」の有無を判断する際の閾値として使用することができる。ただし、図７および図８に示した気圧変動はあくまでも一例であり、ユーザが存在する場所、環境等により変化するものであり、具体的な閾値は適宜設定することができる。
【００５５】
図９は、通常歩行時の圧力変動と、ホームにおける電車通過時の圧力変動とを比較する目的で、図７および図８に示したそれぞれの圧力変動のデータを１つのグラフにおいて重複して示したものである。図９に示されるように、ホームにおける電車通過時の圧力変動等、外部要因で気圧が変動する場合、通常歩行時よりも遥かに急激に気圧が変化し、かつ変化後の気圧が比較的長時間継続している。以上のことから、上記した「急な気圧変化」として、例えば、気圧変動速度の絶対値が所定以上の大きさを有する気圧変化を設定することができる。
【００５６】
この他、例えば、「急な気圧変化」の有無を判断する際の閾値として、ユーザがエレベータに搭乗している場合、エスカレータに搭乗している場合等、それぞれの場合に対応して異なる値を設定し、各場合に応じた態様で歩行状態の判断および歩幅の計算を行うようにしてもよい。これは、例えばユーザがエレベータに搭乗している場合やエスカレータに搭乗している場合等では、歩行動作が検出されたとしても歩幅が通常歩行時とは異なる場合があり、あるいは検出された歩行動作を位置の変化として認識することが適切ではない場合があるからである。
【００５７】
また上記の如く、急な気圧変化の発生があっても、過去または直近のデータを使用した「歩行状態」をリアルタイムに記録する代わりに、本来の（気圧情報を用いた）判断方法による「歩行状態」の記録を継続するようにしてもよい。その場合、当該急な気圧変化によって変化した気圧の継続時間を測定しておき、その後圧力変動の開始時にまで遡って、当該継続時間分、歩行履歴情報６００において過去または直近のデータを使用した「歩行状態」に修正する。
【００５８】
図１０Ａ，図１０Ｂは、歩行履歴情報６００における「歩行状態」の取得の例を説明するための図である。図１０Ａ，図１０Ｂにおいて、歩行状態１０１０は列車がホームに進入した際に判断される歩行状態であり、歩行状態１０２０は、列車がホームを通過した際に判断される歩行状態である。この間、気圧変化検出部２０１は、閾値よりも大きな気圧変動速度（すなわち「急な気圧変化」）を検出し、このため、歩行状態修正部２０２は、当該急な気圧変化後の気圧が継続する期間、歩行履歴情報６００における「歩行状態」として過去または直近のデータを用いる。これに伴い、歩幅計算部２０７は歩行履歴情報６００における「歩幅」を、過去または直近のデータによる「歩行状態」に応じて計算する。
【００５９】
「歩幅」としては、図４で説明した歩幅Ｗ１、Ｗ２等の歩幅を、モーションセンサを使用して得られた歩行速度および歩数を使用してリアルタイムで計算することができる。また「歩行状態」としては、加速度センサ１１１による加速度の検出値に大きな差がない場合、「急な気圧変化」が発生する前のユーザの歩行状態が維持されていると判断することができる。
【００６０】
例えば、歩行履歴情報６００に記録すべきデータとして、所定の歩数前のデータを、適当な歩数分、コピーして使用することにより、本来の判断方法とは異なる方法によって歩行状態を取得することができ、当該取得された歩行状態に応じ、歩幅を計算することができる。例えば図１０Ａ、図１０Ｂにおける２歩数分の歩行状態１０１０は、それぞれ、２歩前の歩行状態および３歩前の歩行状態がコピーされて使用されている。また２歩数分の歩行状態１０２０は、それぞれ１歩前の歩行状態および２歩前の歩行状態がコピーされて使用されている。この場合、実際に何歩前の歩行状態をコピーして使用するかは、修正対象の歩行状態の発生状況に応じて適宜決定するようにしてもよい。なお、急な気圧変化が発生するのと同時に加速度センサ１１１の加速度値も変動する場合には、加速度センサ１１１から得られる歩行状態、例えば、ユーザが走り出した場合等に応じた歩行状態を歩行履歴情報６００において記録するようにしてもよい。
【００６１】
以下、図１１〜図１６を使用し、第２、第３および第４の実施形態をそれぞれ説明する。
【００６２】
図１１は、第２の実施形態のナビゲーションシステム１１００の機能ブロックを示す。第２の実施形態は、情報処理装置１００Ａが外部通信装置１１１０から気圧情報を受信してユーザの歩行状態の判断において使用する。図１１に示すナビゲーションシステム１１００は、例えば所定の構造物に設置された外部通信装置１１１０と、外部通信装置１１１０から気圧情報を受信して歩行状態の判断において使用する機能を有する情報処理装置１００Ａとを含む。情報処理装置１００Ａは上述した第１の実施形態の情報処理装置１００と同様の構成及び機能を有し、第１の実施形態の情報処理装置１００と同様の構成及び機能についての説明を省略する。
【００６３】
外部通信装置１１１０は、気圧センサ１１１１と通信部１１１２とを含む。外部通信装置１１１０は、外部通信装置１１１０が設置された地点の気圧情報を取得し、通信部１１１２を介して情報処理装置１００Ａに送信する。一方、情報処理装置１００Ａは、外部通信装置１１１０からの気圧情報を受信する通信部１１２０を含む。上記した通信部１１１２および通信部１１２０は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）等の通信プロトコルによる通信を使用することができるが、これに限定されるものではなく、ＩｒＤａ等の赤外線通信またはＩＥＥＥ．８０２．１１ｘ等の無線通信を使用することもできる。
【００６４】
情報処理装置１００Ａの通信部１１２０は、外部通信装置１１１０から受信した、外部通信装置１１１０が設置された地点の気圧情報を気圧変化検出部２０１Ａに渡す。気圧変化検出部２０１Ａは、使用できる気圧情報として、外部通信装置１１１０からの気圧情報と、情報処理装置１００Ａの気圧センサ１１４からの気圧情報とが存在する場合、外部通信装置１１１０からの気圧情報を優先的に使用して「急な気圧変化」の発生の有無を判断する。外部通信装置１１１０との間の通信リンクが確立できないか、または所定時間外部通信装置１１１０から気圧情報を受信できない場合、気圧変化検出部２０１Ａは、気圧検知部の一例である情報処理装置１００Ａの内部の気圧センサ１１４が取得した気圧情報を使用して「急な気圧変化」を検出する。
【００６５】
上述した点を除き、第２の実施形態の気圧変化検出部２０１Ａは第１の実施形態の気圧変化検出部２０１と同様の構成及び機能を有する。気圧変化検出部２０１Ａが急な気圧変化を検出すると、当該検出結果を歩行状態修正部２０２に渡す。その結果、情報処理装置１００Ａは、上述した第１の実施形態における場合と同様に、図５〜図１０Ａ、図１０Ｂとともに上述した処理を実行し、歩行履歴情報６００に記録すべき歩行状態を、上述した第１の実施形態と同様にして、本来の判断方法とは異なる方法で判断する（すなわち例えば過去または直近のデータを使用する）。なお、外部通信装置１１１０からの気圧情報は通信部１１２０において適切なバンドパスフィルタを使用して平滑化することができる。
【００６６】
なお図１１に示した第２の実施形態によるナビゲーションシステム１１００によれば、情報処理装置１００Ａと通信可能に接続された外部通信装置１１１０が存在する場合には、外部通信装置１１１０からの気圧情報に基づいて急な気圧変化が検出された場合、歩行履歴情報６００に記録すべき「歩行状態」を、第１の実施形態と同様にして、本来の判断方法とは異なる方法で判断する（すなわち例えば過去または直近のデータを使用する）。他方、情報処理装置１００Ａと通信可能に接続された外部通信装置１１１０が存在しない場合には、気圧センサ１１４からの気圧情報に基づいて急な気圧変化が検出された場合、歩行履歴情報６００に記録すべき「歩行状態」として、上述した第１の実施形態と同様にして、本来の判断方法とは異なる方法で判断する（すなわち例えば過去または直近のデータを使用する）ことが可能である。
【００６７】
図１２は、第３の実施形態のナビゲーションシステム１２００の機能ブロックを示す。第３の実施形態では、外部通信装置１２１０が気圧変化検出部１２１３を含む。気圧変化検出部１２１３は、気圧センサ１２１１が取得した、外部通信装置１２１０が設置された地点の気圧情報に基づいて「急な気圧変化」を検出すると、通信部１２１２から情報処理装置１００Ｂの通信部１２２０へ、当該検出結果を送信する。情報処理装置１００Ｂは外部通信装置１２１０から急な気圧変化の検出結果を受信すると、歩行履歴蓄積部２０８が格納している歩行履歴情報６００において記録すべき「歩行状態」として、上述した第１の実施形態と同様にして、本来の判断方法とは異なる方法で判断する（すなわち例えば過去または直近のデータを使用する）。情報処理装置１００Ｂは上述した第１の実施形態の情報処理装置１００と同様の構成及び機能を有し、第１の実施形態の情報処理装置１００と同様の構成及び機能についての説明を省略する。上記した通信部１２１２および通信部１２２０もまた、上述の第２の実施形態同様、例えばＢｌｕｅｔｏｏｔｈ（登録商標）等の通信プロトコルによる通信を使用することができるが、これに限定されるものではなく、ＩｒＤａ等の赤外線通信またはＩＥＥＥ．８０２．１１ｘ等の無線通信を使用することもできる。
【００６８】
情報処理装置１００Ｂの通信部１２２０は、外部通信装置１２１０から受信した急な気圧変化の検出結果を直ちに歩行状態修正部２０２に渡す。その後、情報処理装置１００Ｂは上述した第１の実施形態における場合と同様に、図５〜図１０Ａ、図１０Ｂとともに上述した処理を実行して、歩行履歴情報６００に記録すべき歩行状態を、本来の判断方法とは異なる方法で判断する（すなわち例えば過去または直近のデータを使用する）。なお、外部通信装置１２１０からの、急な気圧変化の検出結果は、通信部１２２０において適切なバンドパスフィルタを使用して平滑化しておくことができる点は、第２の実施形態と同様である。
【００６９】
図１２に示した第３の実施形態のナビゲーションシステム１２００によれば、外部通信装置１２１０からの急な気圧変化の検出結果に基づいて歩行履歴情報６００に記録すべき「歩行状態」を取得するため、情報処理装置１００Ｂの処理負荷を軽減することが可能である。なお当該ナビゲーションシステム１２００においては、外部通信装置１２１０との間の通信リンクが確立できないか、または所定時間外部通信装置１２１０から「急な気圧変化」の検出結果を受信することができない状態となった場合、情報処理装置１００Ｂは気圧変化検出部を含まないため、急な気圧変化の検出を行うことができない。したがってこの場合、情報処理装置１００Ｂは歩行状態を判断する処理を終了する。
【００７０】
図１３は、第４の実施形態のナビゲーションシステム１３００の機能ブロックを示す。第４の実施形態では、外部通信装置１３１０から取得した位置情報を使用して、外部通信装置１３１０からの気圧情報を使用するか否かを判断する。図１３に示すナビゲーションシステム１３００は、外部通信装置１３１０と、外部通信装置１３１０から気圧情報を受信してユーザの歩行状態の判断において使用する機能を有する情報処理装置１００Ｃとを含む。情報処理装置１００Ｃは上述した第１の実施形態の情報処理装置１００と同様の構成及び機能を有し、第１の実施形態の情報処理装置１００と同様の構成及び機能についての説明を省略する。
【００７１】
外部通信装置１３１０は、気圧センサ１３１１と、位置情報記憶部１３１３と、通信部１３１２とを含む。位置情報記憶部１３１３が記憶する位置情報として、外部通信装置１３１０の設置位置の緯度、経度および高度のそれぞれを示す情報（すなわち緯度情報、経度情報および高度情報）を含むことができる。また位置情報の代わりに、外部通信装置１３１０を固有に識別するための識別値を使用することができる。位置情報の代わりに識別値を使用する場合、情報処理装置１００Ｃは、外部に設置されたサーバ装置１３８０に問い合わせて、識別値に対応する位置情報を取得することができる。あるいは、情報処理装置１００Ｃ内の記憶装置または記憶領域内に位置情報と識別値との対応関係を示す情報を格納しておくことにより、情報処理装置１００Ｃが外部通信装置１３１０から受信した識別値に対応する位置情報を得るようにしてもよい。さらに、外部通信装置１３１０に代えて他の情報処理装置を使用し、情報処理装置１００Ｃが当該他の情報処理装置から位置情報と識別値との対応関係を示す情報を取得し、あるいは情報処理装置１００Ｃが、当該他の情報処理装置が有する、位置情報と識別値との対応関係を参照して対応する位置情報を得るようにしてもよい。また位置情報はさらに、当該外部通信装置１３１０が「周辺が平坦な場所に設置されているか否か」を示す情報を含むことができる。
【００７２】
外部通信装置１３１０は、気圧センサ１３１１から外部通信装置１３１０が設置された地点の気圧情報を取得し、通信部１３１２を介して、気圧情報と、位置情報記憶部１３１３からの位置情報または識別値とを送信する。情報処理装置１００Ｃは、外部通信装置１３１０からの気圧情報および位置情報または識別値を受信する通信部１３２０を含む。通信部１３２０は、外部通信装置１３１０から受信した気圧情報を気圧変化検出部２０１Ａに渡す。気圧変化検出部２０１Ａは上記した第２の実施形態の情報処理装置１００Ａにおける気圧変化検出部２０１Ａと同様の構成を有する。情報処理装置１００Ｃが外部通信装置１３１０との間で通信リンクを確立できて外部通信装置１３１０からの気圧情報を受信でき、かつ、外部通信装置１３１０が、周囲が平坦な場所に設置されている場合、気圧変化検出部２０１Ａは外部通信装置１３１０からの気圧情報を用いて急な気圧変化を検出する。他方情報処理装置１００Ｃが外部通信装置１３１０との間で通信リンクを確立できないか、または所定時間外部通信装置１３１０からの気圧情報が受信できない場合、あるいは外部通信装置１３１０が、周囲が平坦な場所に設置されていない場合、気圧変化検出部２０１Ａは情報処理装置１００Ｃの内部の気圧センサ１１４が取得した気圧情報を使用して急な気圧変化を検出する。上記した通信部１３１２および通信部１３２０は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）等の通信プロトコルによる通信を使用することができるが、これに限定されるものではなく、ＩｒＤａ等の赤外線通信またはＩＥＥＥ．８０２．１１ｘ等の無線通信を使用することもできる。
【００７３】
また通信部１３２０は、受信した位置情報または識別値を位置情報取得部１３３０に渡す。位置情報取得部１３３０は、渡された外部通信装置１３１０の位置情報を位置情報計算部１３４０に渡すか、または識別値に対応する位置情報を取得して位置情報計算部１３４０に渡す。位置情報計算部１３４０は、渡された位置情報が例えば再度の外部通信装置からの位置情報の受信によって更新されるまで当該位置情報を保持する。保持した位置情報と、高度演算部２０６および歩幅計算部２０７からの情報とを使用して、位置情報計算部１３４０が情報処理装置１００Ｃの位置を計算する。計算された情報処理装置１００Ｃの現在の位置を示す位置情報は位置情報計算部１３４０から位置情報記憶部１３５０に渡され、さらにユーザ位置計算部２０９に渡される。
【００７４】
また第４の実施形態による情報処理装置１００Ｃは、外部通信装置１３１０から受信した位置情報によって、外部通信装置１３１０が、周辺が平坦な場所に設置されていると判断した場合であり、かつ、歩行状態判断部２０５が歩行状態を昇降状態と判断した場合、歩行状態修正部２０２は、当該判断を誤りと判断する。その結果、歩行状態修正部２０２は歩行状態の判断を平坦歩行に修正して歩行履歴情報６００において記録する。これは上記の如く、情報処理装置１００Ｃが通信可能に接続している外部通信装置１３１０が、周辺が平坦な場所に設置されているため、当該外部通信装置１３１０と通信可能に接続された情報処理装置１００Ｃのユーザの歩行状態が昇降状態との判断は誤りだからである。
【００７５】
また、通信可能距離内に外部通信装置１３１０が複数（他の情報処理装置を含む）ある場合には、それぞれの外部通信装置１３１０の位置情報の精度や外部通信装置の設置状態（固定、移動等）、情報処理装置１００Ｃとの近接状態(同建物、同フロア、同部屋等)の情報に基づき、複数の外部通信装置１３１０のうちの何れの外部通信装置１３１０からの情報を用いるかを判断するための優先順位を設定してもよい。
【００７６】
第１の実施形態同様、情報処理装置１００Ｃの気圧変化検出部２０１Ａが急な気圧変化を検出すると、当該検出結果を歩行状態修正部２０２に渡す。その後、情報処理装置１００Ｃは上述した第１の実施形態における場合と同様に、図５〜図１０Ａ、図１０Ｂとともに上述した処理を実行し、歩行履歴情報６００に記録すべき「歩行状態」を、本来の判断方法とは異なる方法で判断する（すなわち例えば過去または直近のデータを使用する）。ただし第４の実施形態の場合上記の如く、外部通信装置１３１０から受信した位置情報によって、外部通信装置１３１０が、周辺が平坦な場所に設置されていると判断した場合であり、かつ、歩行状態判断部２０５が歩行状態を昇降状態と判断した場合（あるいはさらに、急な気圧変化の検出により歩行状態修正部２０２が一旦は歩行状態として過去または直近のデータを使用して昇降状態と判断した場合）、歩行状態修正部２０２は、当該判断を誤りと判断する。その結果、歩行状態修正部２０２は歩行状態の判断を「平坦歩行」に修正して歩行履歴情報６００において記録する。なお、外部通信装置１３１０からの気圧情報は、通信部１３２０において適切なバンドパスフィルタを使用して平滑化しておくことができる。
【００７７】
情報処理装置１００Ｃの歩行履歴蓄積部２０８およびユーザ位置計算部２０９は、情報処理装置１００Ｃが外部通信装置１３１０との通信可能に接続されていない（すなわち通信リンクが確立されていない）場合、通信部１３２０からの位置情報および気圧情報が取得できない。このような場合情報処理装置１００Ｃは、第１の実施形態と同様の方法でユーザの歩行状態を判断し、同判断結果に基づいてユーザの現在位置を計算して外部に出力する。一方、情報処理装置１００Ｃが外部通信装置１３１０との通信可能に接続されている（すなわち通信リンクが確立されている）場合、ユーザ位置計算部２０９は、位置情報記憶部１３５０から最新の位置情報を取得して情報処理装置１００Ｃの位置情報として外部に出力する。第４の実施形態のナビゲーションシステム１３００では、外部通信装置１３１０として、例えばｉ−Ｂｅａｃｏｎ等の位置情報通知装置等を使用することで、情報処理装置１００Ｃが歩行者自律航法による位置の判断結果を外部通信装置１３１０からの位置情報によって校正することが可能となり、より精度の高いナビゲーションが可能となる。
【００７８】
図１３に示したナビゲーションシステム１３００によれば、情報処理装置１００Ｃと通信可能に接続された外部通信装置１３１０が存在する場合には、外部通信装置１３１０からの気圧情報に基づいて急な気圧変化が検出された場合、歩行履歴情報６００に記録すべき「歩行状態」を、第１の実施形態の場合同様、本来の判断方法とは異なる方法で判断する（すなわち例えば過去または直近のデータを使用する）。ただし第４の実施形態の場合上記の如く、外部通信装置１３１０から受信した位置情報によって、外部通信装置１３１０が、周辺が平坦な場所に設置されていると判断した場合であり、かつ、歩行状態判断部２０５が歩行状態を昇降状態と判断した場合（あるいは歩行状態修正部２０２が急な気圧変化の検出によって歩行状態を過去または直近のデータを使用して昇降状態と判断した場合）、歩行状態修正部２０２は、当該判断を誤りと判断する。その結果、位置情報計算部１３４０は歩行状態の判断を平坦歩行に修正して歩行履歴情報６００において記録する。他方、外部通信装置１３１０が存在しない場合には、情報処理装置１００Ｃは気圧センサ１１４からの気圧情報に基づいて急な気圧変化が検出された場合、に記録すべき「歩行状態」を、第１の実施形態の場合同様、本来の判断方法とは異なる方法で判断する（すなわち例えば過去または直近のデータを使用する）ことが可能である。さらに、歩行者自律航法により情報処理装置１００Ｃが計算する位置情報が含み得る誤差を、外部通信装置１３１０からの位置情報を使用して修正することが可能となるので、より高精度のナビゲーションが可能となる。
【００７９】
次に図１４および図１５を使用して、図１３とともに上述した第４の実施形態のナビゲーションシステム１３００における情報処理装置１００Ｃの処理の詳細を説明する。なお第２の実施形態のナビゲーションシステム１１００における情報処理装置１００Ａでは、使用すべき気圧情報として外部通信装置１１１０の気圧センサ１１１１を使用する場合がある点が相違するが、その他の処理は第１の実施形態と同様なので、重複する説明を省略する。また第３実施形態のナビゲーションシステム１２００における情報処理装置１００Ｂでは、外部通信装置１２１０の気圧変化検出部１２１３が急な気圧変化を検出する点が相違するが、その他の処理は第１の実施形態と同様なので、重複する説明を省略する。
【００８０】
図１４の処理が例えばユーザによる操作によってステップＳ１４００で開始されると、ステップＳ１４０１で加速度センサ１１１が検出した加速度情報を使用して歩行検出部２０４がユーザの歩行を検出する。そして、検出された歩行が所定基準分、継続したか否かを歩行検出部２０４が判断する。検出された歩行が所定基準分、継続しなかった場合（ＮＯ）、気圧情報の初期値を取得するため、歩行状態判断部２０５が、歩行が継続した期間の気圧データを記憶してステップＳ１４０１に戻る。
【００８１】
ステップＳ１４０１で、歩行検出部２０４が、検出された歩行が所定基準分、継続したと判断した場合（ＹＥＳ）、次にステップＳ１４０２で通信部１３２０が、情報処理装置１００Ｃが外部通信装置１３１０と通信可能に接続しているか否かを判断する。情報処理装置１００Ｃが外部通信装置と１３１０と通信可能に接続されていない場合（ステップＳ１４０２のＮＯ）、図１５のステップＳ１５００以降の処理が実行される。なお、上記した歩行の継続の所定基準は、第１の実施形態同様、歩行時間、歩数等を使用して設定することができる。例えば検出された歩行が、歩数であれば５歩分、歩行時間であれば２．５秒間、継続した場合、検出された歩行が所定基準分、継続したと判断することができる。当該歩行の継続の所定基準は、ユーザの歩行特性等に応じて適宜設定することができる。
【００８２】
ステップＳ１４０２で外部通信装置１３１０と通信可能に接続されていると判断された場合（ＹＥＳ）、ステップＳ１４０３で歩行状態判断部２０５は、外部通信装置１３１０の位置情報を使用して、通信可能に接続されている外部通信装置１３１０が、周辺が平坦な場所に設置されているか否かを判断する。通信可能に接続されている外部通信装置１３１０が、周辺が平坦ではない場所に設置されている場合（ステップＳ１４０３のＮＯ）、図１５のステップＳ１５００以降の処理が実行される。他方、通信可能に接続されている外部通信装置１３１０が、周辺が平坦な場所に設置されている場合（ステップＳ１４０３のＹＥＳ）、ステップＳ１４０４が実行される。
【００８３】
ステップＳ１４０４で歩行状態判断部２０５は、図５とともに上述したステップＳ５００〜Ｓ５０３、Ｓ５０７，Ｓ５０８およびＳ５１１と同様の処理（ただしステップＳ５００に対応する処理は外部通信装置１３１０からの気圧情報を用いて行う）を行うことにより、ユーザの歩行状態を判断する。上記の如く、情報処理装置１００Ｃが通信可能に接続している外部通信装置１３１０が、周辺が平坦な場所に設置されている場合であって、かつ、歩行状態判断部２０５により歩行状態が昇降状態と判断された場合、当該判断は誤りである。よって歩行状態判断部２０５または歩行状態修正部２０２が歩行状態を昇降状態と判断した場合（ステップＳ１４０４のＹＥＳ），歩行状態修正部２０２は当該判断を誤りと判断し、同判断を平坦歩行に修正する。歩行状態修正部２０２はさらに修正後の歩行状態（平坦歩行）を、歩行状態判断部２０５を介して歩行履歴情報６００において記録する。さらに歩幅計算部２０７が「平坦歩行」にしたがって歩幅を計算して歩行履歴情報６００において記録する（ステップＳ１４０６）。
【００８４】
他方、ステップＳ１４０４で歩行状態判断部２０５が歩行状態を平坦歩行と判断した場合（ＮＯ）、歩行状態判断部２０５は歩行状態として「平坦歩行」を歩行履歴情報６００において記録し、歩幅計算部２０７が平坦歩行にしたがって歩幅を計算して歩行履歴情報６００において計算された歩幅を記録する（ステップＳ１４０７）。その後ステップＳ１４０１以降の処理が繰り返される。
【００８５】
第４の実施形態によれば、歩行状態が平坦歩行であるとの判断を外部通信装置１３１０から受信した位置情報を使用して行うことができるため、その場合、より精度良く歩行状態の判断を行うことが可能となる。
【００８６】
図１５は、情報処理装置１００Ｃが外部通信装置１３１０からの気圧情報が使用できないか、あるいは周辺が平坦ではない場所に設置されている外部通信装置１３１０としか通信できない状況において歩行状態の判断を行う場合の処理の例を示す。
【００８７】
図１５の処理は、図１４のステップＳ１４０２またはステップＳ１４０３の判断結果がＮＯの場合に開始される。なお、図１５の処理は、図５とともに上述した如くの処理によって、情報処理装置１００Ｃの気圧センサ１１４からの気圧情報を使用して行われる。ステップＳ１５００で気圧変化検出部２０１Ａが「急な気圧変化」を検出したか否かを判断する。
【００８８】
第４の実施形態においても、「急な気圧変化」は、第１の実施形態の場合と同様に、例えば地下鉄駅内で、列車が到着または出発した場合の圧力変化等、通常の歩行時には発生しない急激な気圧変化を意味する。
【００８９】
「急な気圧変化」が検出されなかった場合（ステップＳ１５００のＮＯ）、歩行状態判断部２０５はステップＳ１５０１に進み、ユーザの歩行が昇り動作か否かを判断し、昇り動作と判断された場合（ＹＥＳ）、歩行状態判断部２０５はステップＳ１５０７に進む。歩行状態判断部２０５はステップＳ１５０７で、でユーザの歩行状態を昇り動作（例えば「階段昇り」）として、歩行履歴情報６００において記録する。
【００９０】
次に歩幅計算部２０７はステップＳ１５０９にて、図４とともに上述した方法によって歩幅の計算を行なう。その後歩行状態判断部２０５はステップＳ１５１０にて、歩行状態別情報記録部２０３が格納している昇降時の階段の段差を示す情報および歩数を使用して高度情報を計算し、計算した高度情報を使用して歩行履歴蓄積部２０８が格納されている歩行履歴情報６００を更新する。その後ステップＳ１５０６が実行され、さらに図１４のステップＳ１４０１が実行されることで、図１４とともに上述した処理が繰り返される。
【００９１】
上記した「歩幅」の計算では、例えば、歩幅計算部２０７が、昇降時の歩行速度の計算において、垂直方向の加速度を用いて計算した歩行速度に対し、傾斜、段差等を考慮した係数を乗じて昇降時の水平方向の歩行速度を計算し、さらに、計算した歩行速度及び歩数を使用して歩幅を計算する。なお傾斜、段差等を考慮した係数は、一般的な階段、坂等における値（階段の規格による値等）に基づいて予め歩行状態別情報記録部２０３に記録しておけばよい。そして歩幅計算部２０７が計算した歩幅を歩行状態判断部２０５に通知することで、歩行状態判断部２０５が、歩行履歴蓄積部２０８に格納されている歩行履歴情報６００において歩幅を記録する。
【００９２】
他方ステップＳ１５０１で昇り動作とは判断されなかった場合（ＮＯ）、歩行状態判断部２０５はステップＳ１５０２に進み、ユーザの歩行状態が降り動作か否かを判断する。ステップＳ１５０２でユーザの歩行状態を降り動作と判断した場合（ＹＥＳ）、歩行状態判断部２０５はステップＳ１５０８に進み、ユーザの歩行状態を降り動作（例えば「階段降り」）として、歩行履歴情報６００において記録する。
【００９３】
次に歩幅計算部２０７はステップＳ１５０９にて、図４とともに上述した方法によって歩幅の計算を行なう。その後歩行状態判断部２０５はステップＳ１５１０にて、歩行状態別情報記録部２０３が格納している階段の段差を示す情報および歩数を使用して高度情報を計算し、計算した高度情報を使用して歩行履歴蓄積部２０８が格納する歩行履歴情報６００を更新する。その後ステップＳ１５０６が実行され、さらに図１４のステップＳ１４０１が実行されることで、図１４とともに上述した処理が繰り返される。
【００９４】
一方、ステップＳ１５０２で降り動作とは判断されなかった場合（ＮＯ）、歩行状態判断部２０５はステップＳ１５０３にて、ユーザの歩行状態を平坦歩行と判断し、歩行履歴情報６００において「平坦歩行」として記録する。次に歩幅計算部２０７が平坦歩行に応じた歩幅を計算して歩行履歴情報６００において記録する。さらに歩行状態判断部２０５はステップＳ１５０４に進み、所定時間連続して平坦歩行が検出されたか否かを判断する。所定時間連続して平坦歩行が検出されなかった場合（ステップＳ１５０４のＮＯ）、ステップＳ１５０６が実行され、さらに図１４のステップＳ１４０１が実行されることで、図１４とともに上述した処理が繰り返される。
【００９５】
また、ステップＳ１５０４で、所定時間連続して平坦歩行が検出された場合（ＹＥＳ）、歩行状態判断部２０５はステップＳ１５０５に進む。ステップＳ１５０５で歩行状態判断部２０５は、ユーザの歩行状態が階段昇降であるか否かを判断する際に参照する閾値であって歩行状態別情報記録部２０３が格納する閾値を平坦歩行時の加速度の垂直方向の分散値を用いて更新する。その結果、階段昇降の判断の精度を向上する。その後歩行状態判断部２０５はステップＳ１５０６に進み、さらに図１４のステップＳ１４０１に進み、図１４とともに上述した処理を繰り返す。
【００９６】
一方、ステップＳ１５００で、「急な気圧変化」が検出された場合（ＹＥＳ）、歩行状態修正部２０２は、階段昇降等のユーザの移動以外の要因（例えば駅構内での電車の通過に伴う急激な気圧変化）で歩行状態が誤判断されると判断する。このため、歩行状態修正部２０２はステップＳ１５１１に進み、歩行履歴蓄積部２０８に格納された歩行履歴情報６００における「歩行状態」を、本来の判断方法とは異なる方法で判断する。歩行状態の本来の判断方法とは異なる方法による判断は、例えば、第１の実施形態の場合同様、歩行状態修正部２０２が、歩行履歴蓄積部２０８に格納されている歩行履歴情報６００において、「急な気圧変化」が検出された後に記録すべき「歩行状態」として、当該気圧変化が検出される前に判断された「歩行状態」を使用する。
【００９７】
図１６Ａ，図１６Ｂは、第４の実施形態における、歩行履歴情報６００における「歩行状態」の本来の判断方法とは異なる方法による判断の例を説明する図である。図１６Ａ、図１６Ｂにおいて、当初判断された「歩行状態」と、記録すべき「歩行状態」とは、図１０Ａ、図１０Ｂの例と同一である。
【００９８】
図１６Ａ、図１６Ｂにおいて、歩行状態１６１０は列車がホームに進入した際に歩行状態判断部２０５が判断する歩行状態であり、歩行状態１６２０は、列車がホームを通過した際に歩行状態判断部２０５が判断する歩行状態である。この間、気圧センサ１３１１または気圧センサ１１４は、図８または図９に示す如くの「急な気圧変化」を検出する。その結果、情報処理装置１００Ｃの歩行状態修正部２０２は、歩行履歴情報６００において記録すべき「歩行状態」を、上記した第１の実施形態の場合と同様に、本来の判断方法とは異なる方法で判断する（すなわち例えば過去または直近のデータを使用する）。ただし第４の実施形態の場合上記の如く、外部通信装置１３１０から受信した位置情報によって、外部通信装置１３１０が、周辺が平坦な場所に設置されていると判断した場合であり、かつ、歩行状態判断部２０５が歩行状態を昇降状態と判断した場合、歩行状態修正部２０２は、当該判断を誤りと判断する。その結果、位置情報計算部１３４０は歩行状態の判断を平坦歩行に修正して歩行履歴情報６００において記録する。情報処理装置１００Ｃの歩幅計算部２０７は、当該判断された歩行状態に応じて歩行履歴情報６００において記録すべき「歩幅」を計算する。
【００９９】
第４の実施形態によれば、図１４のステップＳ１４０３の判断結果がＹＥＳの場合、歩行状態を平坦歩行と判断できるため、より確実な判断が可能となる。
【０１００】
以上、本発明の各実施形態によれば、移動体の移動状態を精度良く判断し得る情報処理システム、情報処理装置、情報処理方法、プログラムおよび記録媒体を提供することができる。
【０１０１】
以上、情報処理システム、情報処理装置、情報処理方法、プログラム、および記録媒体を実施形態により説明したが、本発明は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。
【０１０２】
本国際出願は２０１５年１２月１８日に出願した日本国特許出願第２０１５−２４７２０６号および２０１６年６月６日に出願した日本国特許出願第２０１６−１１２４２５号に基づく優先権を主張するものであり、日本国特許出願第２０１５−２４７２０６号および日本国特許出願第２０１６−１１２４２５号の全内容を本国際出願に援用する。
【符号の説明】
【０１０３】
１００、１００Ａ，１００Ｂ，１００Ｃ  情報処理装置
１０１  マイク
１０２  スピーカ
１０３  第１通信部
１０４  第２通信部
１０５  位置情報受信部
１０６  表示部
１０７  入力部
１０８  ＣＰＵ
１０９  ＲＡＭ
１１０  ＲＯＭ
１１１  加速度センサ
１１２  角速度センサ
１１３  地磁気センサ
１１４  気圧センサ
２０１、２０１Ａ  気圧変化検出部
２０２  歩行状態修正部
２０３  歩行状態別情報記録部
２０４  歩行検出部
２０５  歩行状態判断部
２０６  高度演算部
２０７  歩幅計算部
２０８  歩行履歴蓄積部
２０９  ユーザ位置計算部
１１００，１２００，１３００  ナビゲーションシステム
【先行技術文献】
【特許文献】
【０１０４】
【特許文献１】特開２０１５−２９８８４号公報
【非特許文献】
【０１０５】
【非特許文献１】興梠正克、蔵田武志、「慣性センサ群とウェアラブルカメラを用いた歩行動作解析に基づくパーソナルポジショニング手法」、信学技報 PRMU2004、vol.103、pp.25-30、2004
【図１】
2017104646.tif 000003
【図２】
2017104646.tif 000004
【図３】
2017104646.tif 000005
【図４】
2017104646.tif 000006
【図５】
2017104646.tif 000007
【図６】
2017104646.tif 000008
【図７】
2017104646.tif 000009
【図８】
2017104646.tif 000010
【図９】
2017104646.tif 000011
【図１０Ａ】
2017104646.tif 000012
【図１０Ｂ】
2017104646.tif 000013
【図１１】
2017104646.tif 000014
【図１２】
2017104646.tif 000015
【図１３】
2017104646.tif 000016
【図１４】
2017104646.tif 000017
【図１５】
2017104646.tif 000018
【図１６Ａ】
2017104646.tif 000019
【図１６Ｂ】
2017104646.tif 000020
【国際調査報告】
2017104646.tif 000021
2017104646.tif 000022
2017104646.tif 000023
2017104646.tif 000024