(57)【特許請求の範囲】
【請求項１】
加速度センサーから取得される検出加速度に基づいて、前記検出加速度の水平方向成分を求める水平方向成分抽出部と、
前記検出加速度の前記水平方向成分の変化量特定処理を行い、求めた前記水平方向成分の変化量の積算処理を行い、前記積算処理の結果に基づいて進行方向特定処理を行う進行方向特定部と、
を含み、
前記水平方向成分抽出部は、
前記検出加速度に基づいて、前記検出加速度の第１の座標軸成分と第２の座標軸成分とを求め、
前記進行方向特定部は、
前記変化量特定処理として、前記第１の座標軸成分の変化量である第１の変化量と前記第２の座標軸成分の変化量である第２の変化量とを求める処理を行い、
前記積算処理として、前記第１の変化量の積算処理を行って、第１の積算変化量を求め、前記第２の変化量の積算処理を行って、第２の積算変化量を求める処理を行い、
前記第１の積算変化量を前記第１の座標軸成分とし、第１の座標軸に沿ったベクトルを第１のベクトルとし、
前記第２の積算変化量を前記第２の座標軸成分とし、第２の座標軸に沿ったベクトルを第２のベクトルとした場合に、
前記進行方向特定部は、
前記進行方向特定処理として、前記第１の積算変化量と前記第２の積算変化量とに基づいて、前記第１のベクトルと前記第２のベクトルとがなす角の角度情報を求め、求めた前記角度情報に基づいて進行方向を特定する処理を行うことを特徴とする状態検出装置。
【請求項２】
請求項１において、
前記進行方向特定部は、
前回の前記進行方向特定処理において求められた前記角度情報により表される角度と、今回の前記進行方向特定処理において求められた前記角度情報により表される前記角度の平均角度を算出し、算出した前記平均角度に基づいて進行方向を特定することを特徴とする状態検出装置。
【請求項３】
請求項１又は２において、
前記検出加速度に基づいて歩行又は走行のステップ検出処理を行うステップ検出部と、
進行方向を特定するために用いる前記検出加速度の選択処理を行うサンプリング部と、
を含み、
前記サンプリング部は、
前記ステップ検出処理の結果に基づいて、異なるタイミングにおいて検出された前記検出加速度の中から、Ｎ個（Ｎは２以上の整数）の前記検出加速度を選択する前記選択処理を行い、
前記水平方向成分抽出部は、
選択されたＮ個の前記検出加速度の前記水平方向成分を求め、
前記進行方向特定部は、
求められたＮ個の前記水平方向成分に基づいて前記変化量特定処理を行い、求めた前記水平方向成分の前記変化量の前記積算処理を行って、前記進行方向を求めることを特徴とする状態検出装置。
【請求項４】
請求項３において、
前記ステップ検出部は、
前記ステップ検出処理として前記検出加速度の変化量特定処理を行い、
前記サンプリング部は、
前記選択処理として、取得された前記検出加速度の変化量が所定の閾値よりも小さくなるタイミングを選択開始タイミングとして設定し、前記選択開始タイミング以降に検出された前記検出加速度の中から、Ｎ個の前記検出加速度を選択する処理を行うことを特徴とする状態検出装置。
【請求項５】
請求項４において、
前記サンプリング部は、
前記選択処理として、取得された前記検出加速度の前記変化量がゼロになるタイミングを前記選択開始タイミングとして設定し、前記選択開始タイミング以降に検出された前記検出加速度の中から、Ｎ個の前記検出加速度を選択する処理を行うことを特徴とする状態検出装置。
【請求項６】
請求項４又は５において、
前記ステップ検出部は、
前記ステップ検出処理として、前記検出加速度を表す３軸の加速度合成ベクトルに基づいて前記変化量特定処理を行うことを特徴とする状態検出装置。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記水平方向成分抽出部は、
前記加速度センサーが設けられた電子機器の姿勢情報に基づいて、前記検出加速度の座標変換処理を行い、前記座標変換処理後の前記検出加速度の前記水平方向成分を求めることを特徴とする状態検出装置。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記進行方向特定部は、
前記積算処理の結果として得られる積算変化量に対してＤＣ成分抽出処理を行い、前記ＤＣ成分抽出処理によって得られた前記積算変化量のＤＣ成分に基づいて、前記進行方向特定処理を行うことを特徴とする状態検出装置。
【請求項９】
請求項１乃至８のいずれかに記載の状態検出装置を含むことを特徴とする電子機器。
【請求項１０】
加速度センサーから取得される検出加速度に基づいて、前記検出加速度の水平方向成分を求める水平方向成分抽出部と、
前記検出加速度の前記水平方向成分の変化量特定処理を行い、求めた前記水平方向成分の変化量の積算処理を行い、前記積算処理の結果に基づいて進行方向特定処理を行う進行方向特定部として、
コンピューターを機能させ、
前記水平方向成分抽出部は、
前記検出加速度に基づいて、前記検出加速度の第１の座標軸成分と第２の座標軸成分とを求め、
前記進行方向特定部は、
前記変化量特定処理として、前記第１の座標軸成分の変化量である第１の変化量と前記第２の座標軸成分の変化量である第２の変化量とを求める処理を行い、
前記積算処理として、前記第１の変化量の積算処理を行って、第１の積算変化量を求め、前記第２の変化量の積算処理を行って、第２の積算変化量を求める処理を行い、
前記第１の積算変化量を前記第１の座標軸成分とし、第１の座標軸に沿ったベクトルを第１のベクトルとし、
前記第２の積算変化量を前記第２の座標軸成分とし、第２の座標軸に沿ったベクトルを第２のベクトルとした場合に、
前記進行方向特定部は、
前記進行方向特定処理として、前記第１の積算変化量と前記第２の積算変化量とに基づいて、前記第１のベクトルと前記第２のベクトルとがなす角の角度情報を求め、求めた前記角度情報に基づいて進行方向を特定する処理を行うことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、状態検出装置、電子機器及びプログラム等に関係する。
【背景技術】
【０００２】
近年、歩行する人や走行する車両、飛行する航空機等の位置及び軌跡を推定する手法としてデッドレコニング（ＤＲ）が用いられている。これは、ＧＰＳ（Global Positioning System）等のように絶対的な位置情報を取得する手法とは異なり、既知の初期値に対する変動（移動量）を推定する相対的な位置推定手法である。
【０００３】
歩行する人を対象としてデッドレコニングを行う場合には、その人の所与の部位に加速度センサーを装着し、装着した加速度センサーのセンサー情報に基づいて変動を推定することが考えられる。ただしデッドレコニングを行うためには、移動した距離だけではなく、進行方向も推定する必要がある。
【０００４】
人の歩行は、長いスパンで見ればあたかも等速運動に近いものと捉えられるが、１歩１歩を短いスパンで見れば加速と減速を繰り返す運動となっている。よって、その加減速の変化を捉えれば進行方向を推定することができ、例えば特許文献１には検出加速度の水平方向成分（人の前後左右）のピークを検出し、検出したピーク値を用いることで、進行方向を推定する手法が開示されている。なお、水平方向成分の加速度は例えばＮＥＤ座標を基準としたものであり、これにより北方向を基準とした進行方向を推定することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−３０２４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、歩行による進行方向への加速度の変化は非常に小さい。そのため、前述した特許文献１の手法には、左右へのふらつきなどによる加速度の変化と進行方向への加速度の変化とを区別することが難しいという第１の問題点がある。したがって、本来検出したいピークが、ノイズ等によるピークに埋もれてしまう可能性がある。この場合には、正確なピーク検出が難しく、正しい進行方向を推定できないことがある。
【０００７】
また、ピーク検出が正常に行えたとしても、ピーク時の検出加速度の水平方向成分そのものにノイズがのっている可能性もある。そのため、前述した特許文献１の手法には、検出加速度の水平方向成分そのものにノイズがのっている場合にも正確な進行方向の推定が難しくなるという第２の問題点も存在する。ここで、ノイズとは、加速度センサーが持つ特有の初期バイアス（オフセット）成分等のことであり、推定誤差を発生させる原因となるものである。
【０００８】
本発明の幾つかの態様によれば、加速度センサーから取得される検出加速度に基づいて精度の高い進行方向推定を行う状態検出装置、電子機器及びプログラム等を提供することができる。
【課題を解決するための手段】
【０００９】
本発明の一態様は、加速度センサーから取得される検出加速度に基づいて、前記検出加速度の水平方向成分を求める水平方向成分抽出部と、前記検出加速度の前記水平方向成分の変化量特定処理を行い、求めた前記水平方向成分の変化量の積算処理を行い、前記積算処理の結果に基づいて進行方向特定処理を行う進行方向特定部と、を含む状態検出装置に関係する。
【００１０】
本発明の一態様では、検出加速度の水平方向成分の大きさではなく、検出加速度の水平方向成分の変化量に基づいて進行方向を推定する。よって、加速度センサーから取得される加速度に含まれる初期バイアス成分を除去することが可能となり、推定誤差を低減することが可能となる。
【００１１】
また、本発明の一態様では、前記水平方向成分抽出部は、前記検出加速度に基づいて、前記検出加速度の第１の座標軸成分と第２の座標軸成分とを求め、前記進行方向特定部は、前記変化量特定処理として、前記第１の座標軸成分の変化量である第１の変化量と前記第２の座標軸成分の変化量である第２の変化量とを求める処理を行い、前記積算処理として、前記第１の変化量の積算処理を行って、第１の積算変化量を求め、前記第２の変化量の積算処理を行って、第２の積算変化量を求める処理を行い、前記第１の積算変化量と前記第２の積算変化量とに基づいて、前記進行方向特定処理を行ってもよい。
【００１２】
これにより、積算処理の結果として、第１の積算変化量と第２の積算変化量とを求めること等が可能になる。
【００１３】
また、本発明の一態様では、前記進行方向特定部は、前記第１の積算変化量を前記第１の座標軸成分とするベクトルであり、第１の座標軸に沿ったベクトルである第１のベクトルと、前記第２の積算変化量を前記第２の座標軸成分とするベクトルであり、第２の座標軸に沿ったベクトルである第２のベクトルとがなす角の角度情報を求め、求めた前記角度情報に基づいて進行方向を特定する処理を行ってもよい。
【００１４】
これにより、例えば２つのベクトルのなす角の角度を求めるという単純な方法で進行方向を求めること等が可能になる。
【００１５】
また、本発明の一態様では、前記進行方向特定部は、前回の前記進行方向特定処理において求められた前記角度情報により表される角度と、今回の前記進行方向特定処理において求められた前記角度情報により表される前記角度の平均角度を算出し、算出した前記平均角度に基づいて進行方向を特定してもよい。
【００１６】
これにより、例えば右足踏み出し時と左足踏み出し時とで角度情報の平均化処理を行い、推定される進行方向のばらつきを解消すること等が可能になる。
【００１７】
また、本発明の一態様では、前記検出加速度に基づいて歩行又は走行のステップ検出処理を行うステップ検出部と、進行方向を特定するために用いる前記検出加速度の選択処理を行うサンプリング部と、を含み、前記サンプリング部は、前記ステップ検出処理の結果に基づいて、異なるタイミングにおいて検出された前記検出加速度の中から、Ｎ個（Ｎは２以上の整数）の前記検出加速度を選択する前記選択処理を行い、前記水平方向成分抽出部は、選択されたＮ個の前記検出加速度の前記水平方向成分を求め、前記進行方向特定部は、求められたＮ個の前記水平方向成分に基づいて前記変化量特定処理を行い、求めた前記水平方向成分の前記変化量の前記積算処理を行って、前記進行方向を求めてもよい。
【００１８】
これにより、検出加速度の選択範囲を限定すること等が可能となる。
【００１９】
また、本発明の一態様では、前記ステップ検出部は、前記ステップ検出処理として前記検出加速度の変化量特定処理を行い、前記サンプリング部は、前記選択処理として、取得された前記検出加速度の変化量が所定の閾値よりも小さくなるタイミングを選択開始タイミングとして設定し、前記選択開始タイミング以降に検出された前記検出加速度の中から、Ｎ個の前記検出加速度を選択する処理を行ってもよい。
【００２０】
これにより、選択開始タイミングを特定して、さらに厳密に検出加速度の選択範囲を限定すること等が可能となる。
【００２１】
また、本発明の一態様では、前記サンプリング部は、前記選択処理として、取得された前記検出加速度の前記変化量がゼロになるタイミングを前記選択開始タイミングとして設定し、前記選択開始タイミング以降に検出された前記検出加速度の中から、Ｎ個の前記検出加速度を選択する処理を行ってもよい。
【００２２】
これにより、選択開始タイミングとして最適なタイミングを指定すること等が可能となる。
【００２３】
また、本発明の一態様では、前記ステップ検出部は、前記ステップ検出処理として、前記検出加速度を表す３軸の加速度合成ベクトルに基づいて前記変化量特定処理を行ってもよい。
【００２４】
これにより、ピーク検出対象の加速度の大きさに比べて、歩行時の左右へのふらつきなどによる加速度の変化を相対的に小さくすること等が可能となり、検出したい加速度とノイズとの区別を容易にすること等が可能となる。
【００２５】
また、本発明の一態様では、前記水平方向成分抽出部は、前記加速度センサーが設けられた電子機器の姿勢情報に基づいて、前記検出加速度の座標変換処理を行い、前記座標変換処理後の前記検出加速度の前記水平方向成分を求めてもよい。
【００２６】
これにより、歩行者等が端末を自由な部位に装着すること等が可能になる。
【００２７】
また、本発明の一態様では、前記進行方向特定部は、前記積算処理の結果として得られる積算変化量に対してＤＣ成分抽出処理を行い、前記ＤＣ成分抽出処理によって得られた前記積算変化量のＤＣ成分に基づいて、前記進行方向特定処理を行ってもよい。
【００２８】
これにより、例えば、歩行時の横揺れ等の影響により推定した進行方向が不安定になることを軽減すること等が可能になる。
【００２９】
また、本発明の他の態様は、前記状態検出装置を含む電子機器に関係する。
【００３０】
また、本発明の他の態様は、上記各部としてコンピューターを機能させるプログラムに関係する。
【図面の簡単な説明】
【００３１】
【図１】歩行時の加速度と加速度の変化量の説明図。
【図２】本実施形態のシステム構成例。
【図３】図３（Ａ）〜図３（Ｃ）は、歩行時の片足の位置と速度と加速度の説明図。
【図４】歩行時の３軸加速度合成ベクトルと水平方向成分の関係の説明図。
【図５】ピーク検出処理の説明図。
【図６】ピーク検出処理の流れを説明するフローチャート。
【図７】進行方向特定処理の説明図。
【図８】本実施形態の処理全体の流れを説明するフローチャート。
【図９】評価条件の説明図。
【図１０】３軸加速度合成ベクトルのピーク検出処理結果を表す図。
【図１１】検出加速度の水平方向成分の算出結果を表す図。
【図１２】進行方向特定処理の評価結果を表す図。
【図１３】本実施形態による評価結果と比較手法による評価結果との比較図。
【図１４】進行方向の２歩平均処理の説明図。
【図１５】進行方向の２歩平均処理の流れを説明するフローチャート。
【図１６】ＤＣ成分抽出処理結果を表す図。
【図１７】ＤＣ成分抽出フィルターの構成例。
【図１８】本実施形態にかかる電子機器の構成例。
【図１９】本実施形態にかかるプログラムが記憶される情報記憶媒体を含むシステムの構成例。
【発明を実施するための形態】
【００３２】
以下、本実施形態について説明する。まず、本実施形態の概要を説明し、次に本実施形態のシステム構成例について説明する。そして、本実施形態の手法についての具体例を詳細に説明し、フローチャートを用いて本実施形態の処理の流れについて説明する。最後に、本実施形態の手法の作用と効果についてまとめる。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３３】
１．概要
まず本実施形態の概要について説明する。近年、歩行する人や走行する車両、飛行する航空機等の位置及び軌跡を推定する手法としてデッドレコニング（ＤＲ）が用いられている。これは、ＧＰＳ（Global Positioning System）等のように絶対的な位置情報を取得する手法とは異なり、既知の初期値に対する変動（移動量）を推定する相対的な位置推定手法である。
【００３４】
歩行する人を対象としてデッドレコニングを行う場合には、その人の所与の部位に加速度センサーを装着し、装着した加速度センサーのセンサー情報に基づいて変動を推定することが考えられる。ただし、デッドレコニングを行うためには、移動した距離だけではなく、進行方向も推定する必要がある。そのため、本実施形態では、より正確に移動体の進行方向を推定することを目的としている。
【００３５】
ここで、歩行者の歩行動作を観察すると、人の歩行は、長いスパンで見ればあたかも等速運動に近いものと捉えられるが、１歩１歩を短いスパンで見れば加速と減速を繰り返す運動となっていることが分かる。
【００３６】
例えば図１は、歩行者が１歩進む間に検出される加速度の様子を模式的なグラフにより表したものである。図１のグラフでは、縦軸が検出加速度の大きさ、横軸がサンプル数を表している。図１では、Ｐ６からＰ３の点までは加速度が小さくなり続けており、Ｐ３からＰ０の点までは加速度が大きくなり続けていることが分かる。また、別の見方をすれば、Ｐ６及びＰ５、Ｐ０の点では加速度が正であるため、歩行者が加速しており、Ｐ４からＰ１の点までは加速度が負であるため、歩行者が減速していることが分かる。なお、減速していることを表す加速度と対になる指標を減速度という。
【００３７】
さらに、歩行者の歩行動作を詳細に観察すると、歩行中に検出される加速度において、歩行者の進行方向が最も顕著に現れるのは、加速時、もしくは減速時であることも加えて分かる。また、多くの場合、歩行者は水平方向に進むため、進行方向は検出加速度の水平方向成分に現れることは明らかである。つまり、加速時、もしくは減速時における検出加速度の水平方向成分を知ることができれば、より正確に進行方向を推定できるということになる。
【００３８】
移動体の加減速の変化を捉える具体例として、例えば前述した特許文献１には、検出加速度の水平方向成分（人の前後左右）を求め、求めた検出加速度の水平方向成分のピークを検出し、検出したピーク値を用いて進行方向を推定する手法が開示されている。このように検出加速度の水平方向成分のピークを検出することで、加速と減速の切り替わりを知ることができる。つまり、ピークの前後で加速、減速が発生していることが分かる。なお、検出加速度の水平方向成分は、例えばＮＥＤ座標を基準としたものであり、これにより北方向を基準とした進行方向を推定することができる。
【００３９】
しかし、歩行による進行方向への加速度の変化は非常に小さく、歩行時の左右へのふらつきなどによる加速度の変化と同程度、またはそれ以下である場合もある。そのため、前述した特許文献１の手法には、左右へのふらつきなどによる加速度の変化と進行方向への加速度の変化とを区別することが難しいという第１の問題点がある。したがって、本来検出したいピークが、ノイズ等によるピークに埋もれてしまう可能性がある。この場合には、正確なピーク検出が難しく、正しい進行方向を推定できないことがある。
【００４０】
また、ピーク検出が正常に行えたとしても、ピーク時の検出加速度の水平方向成分そのものにノイズがのっている可能性もある。そのため、前述した特許文献１の手法には、検出加速度の水平方向成分そのものにノイズがのっている場合にも正確な進行方向の推定が難しくなるという第２の問題点も存在する。ここで、ノイズとは、加速度センサーが持つ特有の初期バイアス（オフセット）成分等のことであり、推定誤差を発生させる原因となるものである。
【００４１】
そこで本実施形態では、加速度のピーク検出において、特許文献１のように検出加速度の水平方向成分のピークを検出したり、他の手法において用いられている周波数解析を行ったりしてピークを検出するのではなく、３軸加速度の合成ベクトルにおけるピークを検出することにより、歩行動作における加減速区間を特定する。
【００４２】
これにより、ピーク検出対象の加速度の大きさに比べて、歩行時の左右へのふらつきなどによる加速度の変化を相対的に小さくして、区別を容易にし、前述した第１の問題点を回避することができる。また、周波数解析等も行わないため、歩行周期の正確さに依存せず進行方向の推定を行うことが可能となる。
【００４３】
さらに、本実施形態では、検出加速度の水平方向成分そのものから進行方向を求めるのではなく、検出加速度の水平方向成分の傾き（単位時間当たりの変化量）から進行方向を推定する。具体的には、後述するように、連続して加速もしくは減速している区間において、水平面上の座標軸であるＸ軸とＹ軸それぞれの加速度の傾き（変化量）を求める。例えば図１の検出加速度がＸ軸方向成分のみを表すものであれば、Δ０〜Δ２が検出加速度のＸ軸方向成分の変化量に相当する。そして、軸毎に加速度の傾きの変化量の積算値（合計値、積算変化量）を求め、求めた積算変化量に基づいて、進行方向を推定する。
【００４４】
これにより、加速度の初期バイアス成分による推定誤差を除去することができ、前述した第２の問題点を回避して、より正確に加速度のピーク検出等を行うことが可能となる。
【００４５】
２．システム構成例
次に、図２に本実施形態の状態検出装置の構成例を示す。
【００４６】
状態検出装置１００は、水平方向成分抽出部１１０と、進行方向特定部１２０と、ステップ検出部１３０と、サンプリング部１４０と、を含む。なお、状態検出装置１００は、図２の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。また、本実施形態の状態検出装置１００の一部又は全部の機能は、状態検出装置を含む電子機器と通信により接続されたサーバーにより実現されてもよい。
【００４７】
また、図２の加速度センサー２００は例えば３軸加速度センサーである。加速度センサー２００は、例えば外力によって抵抗値が増減する素子等で構成され、三軸の加速度情報を検知する。本実施形態では加速度センサーの装着位置や姿勢に関する自由度が高いことを前提とするため、加速度センサーの座標系と、処理に用いる座標系（例えば重力方向、北方向、東方向を軸とするＮＥＤ座標系）とは異なることが一般的である。
【００４８】
次に状態検出装置１００の各部で行われる処理について説明する。
【００４９】
まず、水平方向成分抽出部１１０は、加速度センサーから取得される検出加速度に基づいて、検出加速度の水平方向成分を求める。また、水平方向成分抽出部１１０は、座標変換処理部１１１を含んでもよい。
【００５０】
座標変換処理部１１１は、加速度センサーの座標系から、処理に用いる座標系への座標変換処理を行う。具体的に座標変換処理部１１１は、加速度センサーの座標系から、処理に用いる座標系への変換を行う座標変換行列を求め、当該座標変換行列に基づく変換を行う。座標変換行列は基準姿勢に対する加速度センサー（或いは加速度センサーを搭載した端末）の姿勢に基づいて求められる。姿勢に関する情報は、クォータニオンから求めればよく、クォータニオンは加速度センサーのセンサー情報から求めればよい。なお、クォータニオンを求める際に他のセンサー（例えば地磁気センサーやジャイロセンサー等）のセンサー情報を用いてもよい。また、センサー情報をそのまま用いるのではなく、デッドレコニング等の処理に用いられるカルマンフィルターの出力等を利用することで、より精度の高いクォータニオンを算出することも可能である。
【００５１】
次に、進行方向特定部１２０は、検出加速度の水平方向成分の変化量特定処理を行い、求めた水平方向成分の変化量の積算処理を行い、積算処理の結果に基づいて進行方向特定処理を行う。また、進行方向特定部１２０は、変化量特定処理部１２１や積算処理部１２３、ＤＣ成分抽出処理部１２５、進行方向特定処理部１２７を含んでもよい。
【００５２】
変化量特定処理部１２１は、検出加速度の水平方向成分の変化量特定処理を行う。積算処理部１２３は、変化量特定処理部１２１により求められた検出加速度の水平方向成分の変化量の積算処理を行い、積算変化量を求める。ＤＣ成分抽出処理部１２５は、積算処理部１２３により求められた積算変化量に基づいて、ＤＣ成分抽出処理を行う。進行方向特定処理部１２７は、積算変化量に基づいて進行方向特定処理を行う。また、進行方向特定部１２０がＤＣ成分抽出処理部１２５を含む場合には、進行方向特定処理部１２７は、積算変化量のＤＣ成分に基づいて進行方向特定処理を行う。なお、変化量特定処理や積算処理、ＤＣ成分抽出処理、進行方向特定処理の詳細については後述する。
【００５３】
そして、ステップ検出部１３０は、検出加速度に基づいて歩行又は走行のステップ検出処理を行う。ステップは狭義にはユーザーの歩行又は走行における一歩に相当するものである。詳細については後述する。また、ステップ検出部１３０は、変化量特定処理部１３１を含んでもよい。
【００５４】
変化量特定処理部１３１は、検出加速度の変化量特定処理を行う。なお、変化量特定処理部１３１は、変化量特定処理部１２１とは異なり、検出加速度の水平方向成分の変化量ではなく、検出加速度の３軸合成ベクトルの変化量の特定処理を行う。
【００５５】
さらに、サンプリング部１４０は、進行方向を特定するために用いる検出加速度の選択処理を行う。前述した進行方向特定部１２０は、サンプリング部１４０により選択された検出加速度について、進行方向特定処理を行う。
【００５６】
なお、水平方向成分抽出部１１０と、進行方向特定部１２０と、ステップ検出部１３０と、サンプリング部１４０等の機能は、各種プロセッサー（ＣＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムなどにより実現できる。また、水平方向成分抽出部１１０、進行方向特定部１２０、ステップ検出部１３０は、図２の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。
【００５７】
３．本実施形態の手法
次に、本実施形態の手法について説明する。
【００５８】
３．１．  歩行又は走行時の位置と速度と加速度の関係
まず本実施形態の手法の前提として、歩行又は走行時の位置と速度と加速度の関係について、図３（Ａ）〜図３（Ｃ）を用いて説明する。図３（Ａ）〜図３（Ｃ）は、人の右足の位置に注目したグラフである。
【００５９】
図３（Ａ）に示すように、右足を前に出している区間ＲＳＴ１（又はＲＳＴ２）では、右足の位置が前に移動する。一方、左足を前に出している区間ＬＳＴ１（又はＬＳＴ２）では、右足の位置に変化はない。なお、タイミングＳＴ１からタイミングＥＤ１までの区間ＲＳＴ１、タイミングＳＴ２からタイミングＥＤ２までの区間ＬＳＴ２が１ステップ（１歩）の区間となる。なおＬＳＴ１とＬＳＴ２も左足の１ステップ区間となる。
【００６０】
右足が図３（Ａ）のように移動した時には、右足の速度は図３（Ｂ）のようになっている。前述したように、１歩１歩を短いスパンで見た時には、人は加速と減速を繰り返しながら歩行（又は走行）している。さらに詳細に観察すると、区間ＲＳＴ１では点ＳＵＰ１を、区間ＲＳＴ２では点ＳＵＰ２を境界（頂点）として加速と減速が切り替わっている。
【００６１】
したがって、右足が図３（Ａ）のように移動した時には、右足の加速度は図３（Ｃ）のようになっている。つまり、歩行者の加速度を観察すると、人が１歩踏み出す間（ＲＳＴ１）に、グラフの正方向の加速度のピークＡＵＰ１と、負方向の加速度のピークＡＤＰ１が存在することが分かる。区間ＲＳＴ２においても同様である。
【００６２】
なお、程度の差はあるものの、検出加速度の３軸合成ベクトルの大きさでも、各座標軸成分の大きさでも、歩行時にはこのような傾向が観測される。
【００６３】
３．２．  ３軸加速度の合成ベクトルと水平方向成分
次に、歩行時における３軸加速度の合成ベクトルと水平方向成分の関係について説明する。まず、前提として本実施形態では、式（１）に表すような互いに直交するＸ軸、Ｙ軸、Ｚ軸の３軸の検出加速度を用いる。式（１）においては、ｘがＸ軸成分、ｙがＹ軸成分、ｚがＺ軸成分を表す。
【００６４】
【数１】
0005853742.tif 000002
【００６５】
そして、図４に北向きに歩行したときの加速度合成ベクトル（図４のＰｏｗｅｒ）と、ＮＥＤ座標系における検出加速度の水平方向成分（図４のＮ成分とＥ成分）を示す。なお、図４の検出加速度の各成分は、式（１）の検出加速度をＮＥＤ座標系に座標変換した後の成分に対応する。すなわち、加速度センサーが水平面から傾いて装着又は実装されているような場合には、検出加速度から進行方向を算出する際に、姿勢を現すクォータニオン（姿勢情報）を用いて、端末中心のボディー座標系から地表面中心のワールド（ＮＥＤ）座標系に変換する必要があり、座標変換後の検出加速度の合成ベクトルＡＮＥＤは、式（２）のようになる。式（２）においては、ｘＮがＮ軸成分、ｙＥがＥ軸成分、ｚＤがＤ軸成分を表す。
【００６６】
【数２】
0005853742.tif 000003
【００６７】
図４を見ると、進行方向が北であるため、水平方向成分の加速度がＮ成分に現れていることが分かる。また合成ベクトルと水平方向成分の関係を見てみると、合成ベクトルのピークＡ１に対して水平方向成分のピークＡ３が若干早く現れている。このような関係は、その他のピークにおいても観測することができる。例えば合成ベクトルのピークＡ２に対して水平方向成分のピークＡ４が若干早く現れている。なお、図４では、Ａ１はユーザーの足が最も上がったときに対応し、Ａ２は着地のときに対応する。
【００６８】
つまり、３軸加速度合成ベクトルの上ピーク（Ａ１等）を選択開始タイミングとして進行方向への加速度を所定の数だけ検出しようとした場合、進行方向への正の加速度だけでなく、負の加速度（すなわち正の減速度）まで検出してしまう可能性が高い。逆に、下ピーク（Ａ２等）を選択開始タイミングにすれば正の加速度だけを検出することが容易になる。しかし統計的には、歩行動作においては、加速時よりも減速時の方が、より進行方向を強く表す傾向があることが分かった。したがって、より正しい進行方向を推定するためには、３軸加速度の合成ベクトルの上ピークを選択開始タイミングとして、減速度を選択して用いた方が良いと言える。
【００６９】
一方で、３軸加速度の合成ベクトルではなく、水平方向成分の加速度合成ベクトルを用いた方がより簡単に検出できるようにも思えるが、ボディー座標系で検出された加速度を、ワールド座標系の水平方向成分へ変換するためには、前述したように端末の姿勢を用いて座標系を変換する必要がある。このときの姿勢情報に誤差が含まれると、正しくピークを検出できない可能性がある。したがって、３軸加速度合成ベクトルを用いることが望ましい。
【００７０】
３．３．  ステップ検出
次に実際のステップ検出部１３０でのステップ検出処理について説明する。本実施形態ではステップとして信号値のピーク（上ピーク及び下ピーク）を検出する。そして、前述したようにピーク検出の精度を向上させるため、信号値の小さい水平方向成分ではなく、比較的信号値の大きい合成加速度を用いるものとする。
【００７１】
ピーク値の検出手法は任意であるが、例えば図５に示した手法を用いればよい。ステップ検出部１３０への入力は、加速度センサーでのセンサー情報取得レート（例えば１６Ｈｚ）に対応するタイミングで行われることが想定され、図５のＴ０，Ｔ１等は１つ１つの入力値に相当する。ここでは判定対象となる入力値と、その前後３サンプルの値を比較してピーク検出を行う。上ピークの検出であれば、判定対象が前後３サンプルよりも大きく、且つ判定対象の値が所与の閾値（例えば０．４等）より大きい場合に、当該判定対象のサンプルを上ピークとして認識する。下ピークは逆に、判定対象が前後３サンプルよりも小さく、且つ判定対象の値が所与の閾値（例えば０．４等）より小さい場合に、当該判定対象のサンプルを下ピークとして認識すればよい。
【００７２】
なお、下ピークの検出後、上ピークが検出されずに下ピークが再度検出される（つまり下ピークが連続する）場合等には、何らかの例外処理が必要な状況（例えば典型的な歩行運動とは異なる運動が行われている、センサー情報の検出が正常に行われていない等）である可能性があるため、下ピークの検出条件として、前述のものに加えて対応する上ピークが検出済みであることを考慮してもよい。このようにすると、下ピークが検出されたことをもって、ユーザーの運動或いはセンサー情報の取得等がある程度正常に行われていることが担保できるため、その後の処理における例外処理をなくす、或いは簡易的なものにすることが可能になる。
【００７３】
ステップ検出部１３０は前述の処理により検出した上ピークと下ピークに関する情報をステップ情報として出力する。ステップ情報は、例えば上ピークの検出タイミング及び下ピークの検出タイミングに対応して出力されるパルス信号であってもよいし、ピーク検出タイミングに対応するタイムスタンプを含むデータであってもよい。また、処理によってはピーク検出タイミングにおける合成加速度の値等を含んでもよい。
【００７４】
なお、ステップとはユーザーの歩行走行の１歩１歩に相当するものであるから、ステップの検出だけであれば上ピークと下ピークの一方だけを出力すればよい。よって、出力先によってはステップ情報を簡素化することも可能であり、ステップ情報は多様な形態により実現できる。
【００７５】
以上のステップ検出処理の詳細を図６のフローチャートを用いて説明する。この処理が開始されると、まず加速度センサーからの検出加速度を取得する（Ｓ２０１）。３軸加速度であれば、各軸の値（ｘ，ｙ，ｚ）を取得することになる。そして、検出加速度に基づいて、合成加速度を算出する（Ｓ２０２）。合成の手法は任意であるが、ここでは最新の合成加速度Ｐ０として各軸の値の二乗和の平方根を用いている。なお、図６のフローチャートには不図示であるが、算出した合成加速度に対してフィルター処理を行ってもよい。
【００７６】
次に、取得した最新の合成加速度の値と、過去のタイミングでの合成加速度の値を用いてピークを検出する。具体的には、ｎタイミング前の合成加速度をＰｎとした場合に、Ｐ０〜Ｐ６の値を用いて、Ｐ３と他の値の比較、及びＰ３と所与の閾値との比較を行う。これはＰ３を基準として考えれば、前後３サンプルの値との比較処理に他ならない。
【００７７】
Ｐ３がＰ０〜Ｐ２の各値、及びＰ４〜Ｐ６の各値よりも大きく、且つ所与の閾値（ここでは０．４）よりも大きいかの判定を行い（Ｓ２０３）、条件を満たす場合にはＰ３を上ピークとして検出する（Ｓ２０４）。Ｓ２０３でＮｏの場合には、Ｐ３がＰ０〜Ｐ２の各値、及びＰ４〜Ｐ６の各値よりも小さく、且つ所与の閾値（ここでは０．４）よりも小さいかの判定を行い（Ｓ２０５）、条件を満たす場合にはＰ３を下ピークとして検出する（Ｓ２０６）。Ｓ２０５でＮｏの場合には、上ピークも下ピークも検出されなかったものとする。
【００７８】
その後Ｓ２０７で次のタイミングでの処理に備える。なお、比較処理に必要となる過去の合成加速度の情報を保持しておけばよく（ここでは過去６サンプル分を保持）、Ｓ２０７での処理は図６に示したように、変数Ｐｎの更新処理として行われるものに限定されない。
【００７９】
３．４．  加速度の変化量の算出と積算処理
３軸加速度の合成ベクトルの上ピークを検出できた場合には、ＮＥＤ座標系におけるＮ軸とＥ軸のそれぞれにおいて、加速度の水平方向成分の傾き（変化量）を求める。そして、座標軸毎に、続けて取得された加速度の変化量を所定の数だけ積算して積算変化量を求める。すなわち、Ｎ軸についての積算変化量は式（３）により、ΔＮａｄｄとして求められ、Ｅ軸についての積算変化量は式（４）により、ΔＥａｄｄとして求められる。
【００８０】
【数３】
0005853742.tif 000004
【００８１】
【数４】
0005853742.tif 000005
【００８２】
なお、式（３）及び（４）において、ΔｘＮ，ｉは、ｉ番目に検出された加速度のＮ軸成分の変化量であり、ΔｙＥ，ｊは、ｊ番目に検出された加速度のＥ軸成分の変化量である。また、ｉｎｉｔは積算処理を開始する加速度のインデックス（初期値）であり、正の整数である。さらに、ｍは積算処理を行うサンプル数であり、正の整数である。
【００８３】
図１等を見れば分かるように、加速度の傾きは前述した加速度センサーの初期バイアス成分を含まない。また、積算変化量は、加速度の傾きを積算した値であるため、積算変化量も初期バイアス成分を含まない。したがって、これらの積算変化量を利用することによって、加速度センサーにおけるバイアス影響を排除した推定が可能となる。
【００８４】
３．５．  進行方向の推定
前節で求めた水平方向成分における加速度の傾きは、歩行動作における加速、減速と同様の性質を持つ。例えば急に止まれば、加速度の傾きは負になり、加速度も小さくなる。積算変化量も同様にこのような性質を持つ。すなわち、歩行動作における加速、減速を積算変化量に置き換えて考えることができる。よって、各座標軸の積算変化量のなす角から進行方向を推定することが可能である。
【００８５】
すなわち、例えば式（５）、式（６）のようなベクトルＮ、Ｅを用いれば、本実施形態において求める進行方向は、図７に示すθとして表すことができる。θは、ＮＥＤ座標系における北とのずれを表す角度である。なお、式（５）のベクトルＮは、ＮＥＤ座標系において、式（３）で求めたＮ軸についての積算変化量をＮ軸成分とし、その他の成分を０とするベクトルである。同様に、式（６）のベクトルＥは、ＮＥＤ座標系において、式（４）で求めたＥ軸についての積算変化量をＥ軸成分とし、その他の成分を０とするベクトルである。
【００８６】
【数５】
0005853742.tif 000006
【００８７】
【数６】
0005853742.tif 000007
【００８８】
そして、θは式（７）により求めることが可能である。なお、このような処理は、図２においては進行方向特定処理部１２７において行われる。
【００８９】
【数７】
0005853742.tif 000008
【００９０】
４．処理の流れ
以下では、図８のフローチャートを用いて、本実施形態の全体の処理の流れについて説明する。
【００９１】
まず、３軸加速度合成ベクトルのピークを検出する。図４に示されるように、３軸加速度合成ベクトルのピークでは単位時間辺りの変化量（グラフの傾き）が０になる。そこで、まず現在を含めた前７サンプルの前７サンプルにおいて、３軸加速度合成ベクトルの変化量を算出する（Ｓ１０１）。
【００９２】
次に、算出した変化量のうち、変化量が（ほぼ）０であるサンプル（ピーク）があるか否かを判定する（Ｓ１０２）。なお、ピーク検出処理としては、ステップＳ１０１及びＳ１０２で示す方法以外にも、例えば前述した図６に示したピーク検出処理などを行ってもよい。
【００９３】
算出した変化量の中に、変化量が（ほぼ）０となるサンプルがないと判定した場合には、次のサンプリングタイミングを待ち（Ｓ１０３）、サンプリングタイミングとなった時点でステップＳ１０１から処理をやり直す。
【００９４】
一方、ステップＳ１０２において、算出した変化量の中に、変化量が（ほぼ）０となるサンプルがあると判定した場合には、変化量が（ほぼ）０となったタイミングを選択開始タイミングとして、選択開始タイミング以降の区間からサンプリング（選択処理）を行い、Ｎ個の検出加速度を選択する（Ｓ１０４）。ここでは、例えばＮ＝３とする。式（３）、（４）に置き換えれば、Ｎ＝ｍ＝３である。
【００９５】
そして、サンプリングされたＮ個の検出加速度の水平方向成分を抽出し（Ｓ１０５）、抽出したＮ個の水平方向成分の変化量を算出する（Ｓ１０６）。この際に、電子機器の姿勢を表すクォータニオンを用いて、検出加速度をボディー座標系（加速度センサー座標系）からワールド座標系（運動解析座標系）へ変換する。なお、加速度センサー座標系とは、加速度センサー２００が加速度を検出する際に基準とするローカル座標系（ボディー座標系）のことをいう。一方、運動解析座標系とは、運動解析処理を行う場合に、基準として用いる座標系のことをいう。
【００９６】
さらに、算出した変化量を座標軸毎に積算する（Ｓ１０７）。すなわち、水平面を表すＸ軸とＹ軸の２軸について、それぞれ検出加速度の変化量の積算値（積算変化量）を算出する。つまり、式（３）のΔｘＮ，ｉと、式（４）のΔｙＥ，ｊを算出する。
【００９７】
次に、算出した積算変化量のそれぞれについてＤＣ成分抽出処理を行い（Ｓ１０８）、抽出した積算変化量のＤＣ成分に基づいて進行方向特定処理を行う（Ｓ１０９）。ここで、進行方向特定処理では、図７に示すように、例えば式（５）のベクトルと式（６）のベクトルとがなす角θの角度情報を求め、求めた角度情報に基づいて進行方向を特定する。なお、ＤＣ成分抽出処理については後述する。
【００９８】
最後に、進行方向の２歩平均を行い、人が歩く際に右足と左足を交互に前に出すことによる体の向きの変化（誤差）を除去する。より詳細な説明は後述するが、ここでは、前回特定した進行方向と今回特定した進行方向の中間を指す方向を特定（平均処理）し（Ｓ１１０）、平均処理により特定された方向を進行方向として出力する（Ｓ１１１）。なお、この際に、算出した３軸加速度の合成ベクトル、検出加速度の水平方向成分、進行方向等をそれぞれ保存（記憶）しておいてもよい。そして、次のサンプリングタイミングを待ち（Ｓ１０３）、サンプリングタイミングとなった時点でステップＳ１０１から処理をやり直す。
【００９９】
５．評価結果
ここでは、本手法による評価結果を示す。評価条件は以下の通りである。第１に、３軸加速度センサーを搭載した端末を手に持つ。第２に、歩行者は端末を進行方向へ向けて、できるだけ固定させた状態で歩行する。第３に、歩行者ＵＳが進行する方位は、図９に示すように、北から東におよそ８０度傾いた方向である。第４に、基準となる方位は、地磁気センサーを用いて算出したものを採用する。第５に、図８のフローチャートに示したステップＳ１０８とステップＳ１１０の処理は行っていない。
【０１００】
図１０には、歩行時に検出した３軸加速度合成ベクトルの値を示している。なお、横軸はサンプル数である。また、異なる進行方向推定機会に取得されたデータについては、異なる系列データを用いて表している。さらにここでは、説明のため、系列データを限定して図示しているが、実際にはさらに多くの系列データを用いている。ただし、全ての系列データを用いた場合にも、ここで説明するような傾向と同様の傾向を観測することができる。
【０１０１】
前述したように３軸加速度の合成ベクトルの上ピークを選択開始タイミングとする場合には、図１０に示すように、歩行時に検出された７サンプルの合成ベクトルの中に上ピークが現れており、これ以降の区間で水平方向成分の合成ベクトルが減速していれば良い。
【０１０２】
次に、図１１に加速度の水平方向成分の合成ベクトルの推移を示す。図１１では、図１０において、３軸加速度の合成ベクトルのピークを検出した時点からの水平方向成分をプロットしている。すなわち、図１０の４サンプル目が図１１の１サンプル目に対応している。図１１からわかるように、全サンプルにおいて３サンプル目までは減速していることが分かる。本実施形態では、ピーク検出から３サンプル間の傾きを求めて、その和がなす角を進行方向としており、その結果が図１２に示したものとなる。
【０１０３】
図１２は、上記条件において進行方向の推定を行った結果である。図１２では、図８のフローチャートで推定が可能となる条件を満たした場合に推定結果がプロットされる。したがって、横軸は検出加速度のサンプル数ではなく、歩行中において進行方向を推定した回数を示している。また、縦軸は絶対方位(degree)である。結果を見ると、時折ばらつくものの、進行方向であるおよそ８０度を指し示していることがわかる。
【０１０４】
なお参考として、加速度の水平方向成分の傾きではなく、ピーク時の加速度の水平方向成分そのものがなす角を進行方向とした場合の結果を図１３に示す。なお、曲線Ｓ１は上記で示した本実施形態による結果、曲線Ｓ２がピーク検出時の水平方向成分そのものから求める手法（比較手法）による結果である。
【０１０５】
大きくばらつく点は同じであるものの、比較手法では、真の進行方向に対してオフセットがあるような結果となってしまうことから、本実施形態の方が正確に推定できていることが分かる。
【０１０６】
６．本実施形態の手法のまとめ
以上の本実施形態の状態検出装置１００は、加速度センサー２００から取得される検出加速度に基づいて、検出加速度の水平方向成分を求める水平方向成分抽出部１１０と、検出加速度の水平方向成分の変化量特定処理を行い、求めた水平方向成分の変化量の積算処理を行い、積算処理の結果に基づいて進行方向特定処理を行う進行方向特定部１２０と、を含む。
【０１０７】
ここで、検出加速度とは、加速度センサー２００により検出される加速度のことをいう。例えば、検出加速度は、前述した式（１）のようなベクトルＡで表される。ただし、検出加速度は、３軸の加速度を成分とするベクトル（後述する３軸の加速度合成ベクトル）であるとは限らない。
【０１０８】
また、検出加速度の水平方向成分とは、水平面を表す２つの座標軸成分のことをいう。具体的には、前述した式（２）におけるＮ軸成分とＥ軸成分が水平方向成分となる。
【０１０９】
さらに、検出加速度の水平方向成分の変化量とは、単位時間当たりに水平方向成分が変化する量のことであり、例えば検出加速度の水平方向成分を微分して得られる量のことをいう。言い換えれば、図４に示すような検出加速度の水平方向成分を表す曲線の任意の点における傾きのことをいう。なお、変化量を求める際の単位時間は所定の値に置き換えてもよい。また、前述した式（３）、（４）では、ΔｘＮ、ｉ、ΔｙＥ、ｊにより表される。
【０１１０】
またここで、積算処理の結果とは、例えば後述する積算変化量等のことをいう。
【０１１１】
このように、検出加速度の水平方向成分の大きさではなく、検出加速度の水平方向成分の変化量に基づいて進行方向を推定することで、加速度センサーから取得される加速度に含まれる初期バイアス成分を除去することが可能となり、推定誤差を低減することが可能となる。さらに、変化量の積算処理を行うことにより、各加速度検出タイミングにおける加速度の変化量のばらつきを抑制して、より正しい進行方向を推定することも可能となる。また、初期バイアス成分を除去するためのフィルター処理等を行う必要がないため、事前にフィルター処理を行う手法に比べて計算量を低減することも可能となる。
【０１１２】
また、変化量特定処理及び積算処理としては、具体的に以下のような処理を行っても良い。
【０１１３】
水平方向成分抽出部１１０は、検出加速度に基づいて、検出加速度の第１の座標軸成分と第２の座標軸成分とを求めてもよい。そして、進行方向特定部１２０は、変化量特定処理として、第１の座標軸成分の変化量である第１の変化量と第２の座標軸成分の変化量である第２の変化量とを求める処理を行い、積算処理として、第１の変化量の積算処理を行って、第１の積算変化量を求め、第２の変化量の積算処理を行って、第２の積算変化量を求める処理を行い、第１の積算変化量と第２の積算変化量とに基づいて、進行方向特定処理を行ってもよい。
【０１１４】
ここで、検出加速度の第１の座標軸成分とは、例えば水平面を表す２つの座標軸のうち、一方の座標軸の加速度成分のことをいう。また、検出加速度の第２の座標軸成分とは、例えば水平面を表す２つの座標軸のうち、第１の座標軸とは異なる他方の座標軸の加速度成分のことをいう。さらに具体的には、前述した式（１）において、Ｚ軸方向が鉛直方向と一致する場合には、例えばＸ軸成分が第１の座標軸成分であり、Ｙ軸成分が第２の座標軸成分である。前述した式（２）においては、例えばＮ軸成分が第１の座標軸成分であり、Ｅ軸成分が第２の座標軸成分である。なお、ここではＺ軸方向が鉛直方向と一致する場合を例にあげたが、必ずしもそうである必要はなく、第１の座標軸と第２の座標軸とが水平面に対して並行でなくてもよい。
【０１１５】
そして、第１の積算変化量は、例えば前述した式（３）のΔＮａｄｄであり、第２の積算変化量は、例えば式（４）のΔＥａｄｄである。
【０１１６】
これにより、積算処理の結果として、第１の積算変化量と第２の積算変化量とを求めること等が可能になり、後述する簡単な手法で進行方向特定処理を行うこと等が可能になる。
【０１１７】
また、進行方向特定処理としては、具体的に以下のような処理を行っても良い。
【０１１８】
進行方向特定部１２０は、第１の積算変化量を第１の座標軸成分とするベクトルであり、第１の座標軸に沿ったベクトルである第１のベクトルと、第２の積算変化量を第２の座標軸成分とするベクトルであり、第２の座標軸に沿ったベクトルである第２のベクトルとがなす角の角度情報を求め、求めた角度情報に基づいて進行方向を特定する処理を行ってもよい。
【０１１９】
ここで、第１のベクトルは、例えば前述した式（５）のベクトルＮであり、第２のベクトルとは、例えば前述した式（６）のベクトルＥである。
【０１２０】
また、第１のベクトルと第２のベクトルとがなす角とは、例えば図７のθである。
【０１２１】
そして、角度情報とは、前述した式（７）により求められる角度θのことである。ただし、角度情報はこれに限定されるものではなく、数学的にこれと等価な情報であればよい。
【０１２２】
またここで、進行方向とは、歩行者等の移動体が進行する方向のことをいい、本実施形態では北を基準とした方角を用いる。ただし、これも数学的にこれと等価な情報であれば表現方法は問わない。
【０１２３】
これにより、例えば２つのベクトルのなす角の角度を求めるという、単純な方法で進行方向を求めること等が可能になる。
【０１２４】
ここで、本実施形態で問題としているのは人の歩行又は走行である。人は体の構成上、右足を踏み出したときと左足を踏み出したときとで、腰の回転方向が異なる。具体的には、右足を踏み出したときには腰は反時計回りに回転するし、左足を踏み出したときには時計回りに回転する。よって、長いスパンで見たときの進行方向に対して、右足踏み出し時の進行方向は左方向にずれ、左足踏み出し時の進行方向は右にずれることになる。
【０１２５】
そのため、加速度センサーを搭載した端末を腰に装着した場合等では、センサーが腰の回転を検出してしまうことになる。この結果例えば、図１４の１歩毎θに示したように、踏み出し足によって推定した進行方向が大きく異なってしまう。よって、ユーザーはまっすぐ歩いているにもかかわらず、デッドレコニングにより描いた軌跡が三角波のような形状になる等の影響が考えられ好ましくない。
【０１２６】
そこで本実施形態では、右足踏み出し時と左足踏み出し時とで進行方向情報の平均化処理を行い、ばらつきを解消する。
【０１２７】
すなわち、進行方向特定部１２０は、前回の進行方向特定処理において求められた角度情報（進行方向情報）により表される角度と、今回の進行方向特定処理において求められた角度情報（進行方向情報）により表される角度の平均角度を算出し、算出した平均角度に基づいて進行方向を特定してもよい。
【０１２８】
なお、腰から離れた部位に端末を装着することで、ばらつきを抑えることが可能であるが、前述したように本実施形態では装着に関する制約を緩和することを前提としているため、平均化処理を考慮する必要性は高いといえる。
【０１２９】
具体的にここでは、２歩の平均値を求めて進行方向情報とする。例えば処理対象ステップでの進行方向情報と、１つ前のステップでの進行方向情報の平均化処理を行えばよい。このようにすることで、図１４の２歩平均θに示したように推定した進行方向を安定させることができる。ただし、平均化処理の手法はこれに限定されるものではなく、過去１ステップだけではなく、過去ｎステップの進行方向情報も用いて平均値（すなわち移動平均値）を求めてもよいし、その際には単純平均だけではなく重み付け平均であってもよい。ただし、ここでの平均化処理は右足と左足との違いを問題としている以上、右足踏み出し時の進行方向情報同士で平均化処理を行っても効果は得られない。つまり、右足踏み出し時の進行方向情報と左足踏み出し時の進行方向情報を少なくとも１つずつ用いる必要がある。
【０１３０】
以下、平均化処理の詳細を図１５のフローチャートを用いて説明する。なお、ここでの処理は例えば積算処理等により進行方向情報Ａｎ＿ｓｕｍとＡｅ＿ｓｕｍが算出されていることを前提としている。よって図１５の処理は、進行方向情報の算出レートに対応したタイミングにつき１回行われるものであり、狭義には１ステップに１回行われる。
【０１３１】
この処理が開始されると、まず進行方向情報Ａｎ＿ｓｕｍとＡｅ＿ｓｕｍを取得する（Ｓ３０１）。そして、１ステップ前で取得した進行方向情報Ａｎ＿ｓｕｍ＿ｏｌｄとＡｅ＿ｓｕｍ＿ｏｌｄ（平均化処理前の値）を用いて平均化処理を行って平均化処理後の進行方向情報として出力する（Ｓ３０２）。なお、Ｓ３０２ではそれぞれを２で除算せずに単純な和を求めているが、進行方向の推定にはＮ成分とＥ成分の比が保たれていればよいため、特に問題はない。当然、それぞれを２で除算したものを平均化処理後の進行方向情報としてもよい。
【０１３２】
そして、Ｓ３０３において次のステップの処理に備える。この例であれば１ステップ前の進行方向情報を保持しておけば充分であるが、平均化処理の内容によってはｎステップ前までのデータを保持しておいてもよい。
【０１３３】
これにより、例えば、右足踏み出し時と左足踏み出し時とで角度情報の平均化処理を行い、推定される進行方向のばらつきを解消すること等が可能になる。
【０１３４】
上述した手法により進行方向を求めるため、積算変化量の絶対値は大きい程良い。積算変化量の絶対値が小さい場合には、ノイズ等の誤差により、特定される進行方向の誤差も大きくなってしまうためである。そのため、より精度の高い進行方向推定を行うためには、積算変化量の算出方法が重要であり、積算変化量の算出に当たっては、どのタイミングの検出加速度の水平成分方向をサンプリングするかが重要であると言える。
【０１３５】
そこで、本実施形態では、ステップ検出処理を行い、ステップ検出結果に基づいて、検出加速度のサンプリング区間（選択範囲）を特定（限定）する。
【０１３６】
すなわち、本実施形態の状態検出装置１００は、検出加速度に基づいて歩行又は走行のステップ検出処理を行うステップ検出部１３０と、進行方向を特定するために用いる検出加速度の選択処理を行うサンプリング部１４０と、を含んでもよい。そして、サンプリング部１４０は、ステップ検出処理の結果に基づいて、異なるタイミングにおいて検出された検出加速度の中から、Ｎ個（Ｎは２以上の整数）の検出加速度を選択する選択処理を行ってもよい。また、水平方向成分抽出部１１０は、選択されたＮ個の検出加速度の水平方向成分を求めてもよい。さらに、進行方向特定部１２０は、求められたＮ個の水平方向成分に基づいて変化量特定処理を行い、求めた水平方向成分の変化量の積算処理を行って、進行方向を求めてもよい。
【０１３７】
また、ここでステップ検出処理におけるステップとは、狭義には歩行者等の１歩１歩の間隔のことをいうが、本実施形態ではそれに限定されることはなく、１歩の間に含まれる検出加速度のピーク値等であってもよい。すなわち、広義には、歩行者等のステップを識別することが可能な情報である。
【０１３８】
これにより、検出加速度の選択範囲を限定すること等が可能となる。したがって、検出加速度の選択範囲を限定して、進行方向特定処理において誤差が出にくくなるような積算変化量を求めること等が可能になる。
【０１３９】
また、検出加速度の選択範囲をさらに細かく特定するために、以下のような手法を行っても良い。
【０１４０】
すなわち、ステップ検出部１３０は、ステップ検出処理として検出加速度の変化量特定処理を行ってもよい。そして、サンプリング部は、選択処理として、取得された検出加速度の変化量が所定の閾値よりも小さくなるタイミングを選択開始タイミングとして設定し、選択開始タイミング以降に検出された検出加速度の中から、Ｎ個の検出加速度を選択する処理を行ってもよい。
【０１４１】
ここで、選択開始タイミングとは、Ｎ個の検出加速度を選択する範囲（区間）の開始タイミングのことをいう。実際に検出加速度を選択し始める際には、選択開始タイミングから多少のタイムラグがあってもよく、必ずしも選択開始タイミングに実際に検出加速度をサンプリングしなければならないわけではない。
【０１４２】
これにより、選択開始タイミングを特定して、さらに厳密に検出加速度の選択範囲を限定すること等が可能となる。
【０１４３】
ここで、本実施形態において、最も理想的な選択開始タイミングは、前述したように３軸加速度の合成ベクトルが上ピークとなったタイミングである。つまり、図４ではＡ１のタイミングである。
【０１４４】
そこで、サンプリング部１４０は、選択処理として、取得された検出加速度の変化量がゼロ（略ゼロ）になるタイミングを選択開始タイミングとして設定し、選択開始タイミング以降に検出された検出加速度の中から、Ｎ個の検出加速度を選択する処理を行ってもよい。すなわち、サンプリング部１４０は、選択処理として、検出加速度が最大となるタイミング以降に検出された検出加速度の中から、Ｎ個の検出加速度を選択してもよい。
【０１４５】
これにより、前述した理由で、選択開始タイミングとして最適なタイミングを指定すること等が可能となる。
【０１４６】
なお、本実施形態では、所定数の検出加速度を選択した時点で選択処理を終了するため、選択終了タイミングを明確に定めていないが、統計上では検出加速度が単調減少となる範囲から所定数の検出加速度を選択することが望ましい。そのため、そのようなサンプリング数（式（３）、（４）ではｍ）を設定することが望ましい。
【０１４７】
また、前述した最も理想的な選択開始タイミングは、３軸加速度の合成ベクトルを基準とするものであるため、当然これを用いてステップ検出処理を行った方が良い。
【０１４８】
そこで、ステップ検出部１３０は、ステップ検出処理として、検出加速度を表す３軸の加速度合成ベクトルに基づいて変化量特定処理を行ってもよい。
【０１４９】
ここで、３軸の加速度合成ベクトルとは、例えば前述した式（１）のベクトルＡである。
【０１５０】
これにより、ピーク検出対象の加速度の大きさに比べて、歩行時の左右へのふらつきなどによる加速度の変化を相対的に小さくして、区別を容易にすること等が可能となる。また、周波数解析等も行わないため、歩行周期の正確さに依存せず進行方向の推定を行うこと等が可能となる。
【０１５１】
また、従来手法では加速度の水平方向成分を取得するために、加速度センサー２００を搭載した端末の装着位置や姿勢に制約があった。例えば、３軸加速度センサーの１つの軸を重力方向と一致させ、残り２軸により表される平面が水平面と一致する状態を維持する等の制約である。従来手法であれば加速度センサー２００のセンサー情報そのままで、或いは単純な座標変換を行うだけで、水平方向成分を取得できるため処理は容易だが、ユーザーは端末の姿勢等を常に考慮せねばならず、利便性等の面で問題があった。
【０１５２】
そこで本出願人は、端末の姿勢等に関して自由度を高めることを前提とする。
【０１５３】
すなわち、水平方向成分抽出部１１０は、加速度センサー２００が設けられた電子機器の姿勢情報に基づいて、検出加速度の座標変換処理を行い、座標変換処理後の検出加速度の水平方向成分を求めてもよい。
【０１５４】
具体的には、座標変換処理として、クォータニオン等を用いて、端末姿勢に応じた座標変換行列を求め、座標変換後の値から水平方向成分を求める。
【０１５５】
このようにすることで端末の装着部位は、胸ポケット、ズボンのポケット、トートバッグやウエストバッグ、腰等、多くの箇所から自由に選択可能であり、その際の姿勢も問わない。また、体幹に対してある程度固定されていればよいため、状況によっては手で把持していてもよい。具体的には、端末（携帯電話等）の表示部を見ている状態で安定していれば当該端末を手で把持していても問題がない。
【０１５６】
ここで、上述してきた手法を用いたとしても、横揺れ等の影響により推定した進行方向が不安定になる可能性がある。特に端末を手で把持した場合には、体幹に対する手の相対位置を一定に保つことは難しく、横揺れの影響は大きい。
【０１５７】
そこで本実施形態では、ＤＣ成分を抽出するフィルター処理を行って、進行方向が不安定になることを抑制する。
【０１５８】
すなわち、進行方向特定部１２０は、積算処理の結果として得られる積算変化量に対してＤＣ成分抽出処理を行い、ＤＣ成分抽出処理によって得られた積算変化量のＤＣ成分に基づいて、進行方向特定処理を行ってもよい。
【０１５９】
ただし、単純にＤＣ成分を抽出するだけではユーザーが方向転換をした場合等の進行方向の変化まで抑制してしまい好ましくない。よって、変化の抑制度合いに対応するパラメーター（例えばフィルターのゲイン）を適切に調整する必要がある。
【０１６０】
次に具体的にＤＣ成分抽出処理について説明する。本実施形態では端末の装着部位、姿勢の自由度を高めている。よって、腰や胸ポケットに装着するように、端末姿勢が比較的安定し、水平方向における進行方向以外の加速度の検出を抑えることができるケースがある一方で、手で把持するように端末姿勢が不安定となるケースもある。例えば手で把持した場合には、手の横揺れ等により推定された進行方向が全く安定しない。具体例を図１６のｏｒｉｇｉｎａｌに示す。なお、図１６の縦軸は角度（radian）であり、本実施形態の角度範囲は−π〜πである。よって、＋πと−πは同じ方向を表すものであり、＋３付近から−３付近へと大きく値が変動していたとしても、実際の推定進行方向の変化は大きいとは限らず、本実施形態で問題としている進行方向の不安定さとは関係ないものである。
【０１６１】
図１６は時刻０から、θ＝３（ｒａｄ）で表される方向へ歩行し、時刻３５付近でθ＝−２（ｒａｄ）で表される方向へ進路を変えて歩行した場合の推定進行方向の変動を表したものである。実際の運動は安定していたにも関わらず、図１６のｏｒｉｇｉｎａｌに示したように、横揺れ等の影響で推定した進行方向は不安定になっている。
【０１６２】
よって本実施形態では推定した進行方向を安定させるために、変動を抑制するＤＣ成分抽出フィルターを用いる。ここで用いられるフィルターは図１７に示したものである。図１７のフィルターは出力値に１タイミングの遅延をかけて（つまり１タイミング前の出力値を用いて）、入力値との差分を取り、差分値にゲインをかける。そしてゲインをかけた値と入力値との差分を出力値とするものである。ゲインをかける対象は、１タイミング前の出力と、現在の入力との差分であるから、値の変動に相当するものである。よって、ゲインを１とすれば、入力値から変動値を引く処理になるため、出力値は変動が除去されたものとなる。つまり、このフィルターのゲインは変動の抑制度合いを表すものであり、１に近いほど変動を抑制し、値が小さいほど変動を容認するものになる。
【０１６３】
そして、図１７のフィルターのゲインを０．９に固定した場合の出力値が、図１６のＤＣ成分抽出である。ｏｒｉｇｉｎａｌに比べて不安定さは解消されていることが分かる。
【０１６４】
これにより、例えば、歩行時の横揺れ等の影響により推定した進行方向が不安定になることを軽減すること等が可能になる。
【０１６５】
また、以上の本実施形態は、前述してきた状態検出装置を含む電子機器にも適用できる。
【０１６６】
例えば図１８に示したように、状態検出装置１００と、加速度センサー２００と、出力部３００と、記憶部４００と、通信部５００と、操作部６００と、を含む電子機器が考えられる。なお、電子機器は図１８の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。また、図１８では状態検出装置１００は、加速度センサー２００と出力部３００を含まないものとしたが、これに限定されるものではない。さらに、本実施形態の電子機器の一部又は全部の機能は、電子機器と通信により接続されたサーバーにより実現されてもよい。
【０１６７】
次に電子機器の各部で行われる処理について説明する。状態検出装置１００及び加速度センサー２００は、前述した通りであるため、説明を省略する。
【０１６８】
出力部３００は、算出した進行方向等の情報を出力する。出力部３００は例えば、液晶ディスプレイや有機ＥＬディスプレイなどにより実現される表示部であってもよい。記憶部４００は、各部のワーク領域となるもので、その機能はＲＡＭ等のメモリーやＨＤＤ（ハードディスクドライブ）などにより実現できる。通信部５００は、外部機器等との通信を行うものであり、無線により実現されてもよいし有線により実現されてもよい。操作部６００は、ユーザーが電子機器の各種操作を行うためのものであり、各種ボタンやＧＵＩ等により実現できる。
【０１６９】
電子機器は、腕時計型のデバイスであってもよいし、スマートフォン等のデバイスであってもよい。また、図１８に示された各部が一体として形成される必要はなく、例えば、加速度センサー２００を別体としてもよい。そのようにすれば、出力部３００（狭義には表示部）を有する部分はユーザーからの視認が容易な箇所に設けることができ、且つ加速度センサー２００は装着の利便性或いは取得信号の正確性等を考慮して装着することが可能になる。
【０１７０】
なお、本実施形態の状態検出装置等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、ＣＰＵ等のプロセッサーがプログラムを実行することで、本実施形態の状態検出装置等が実現される。具体的には、情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをＣＰＵ等のプロセッサーが実行する。ここで、情報記憶媒体（コンピューターにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＣＤ等）、ＨＤＤ（ハードディスクドライブ）、或いはメモリー（カード型メモリー、ＲＯＭ等）などにより実現できる。そして、ＣＰＵ等のプロセッサーは、情報記憶媒体に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピューターに実行させるためのプログラム）が記憶される。
【０１７１】
さらに具体的には、図１９に示したように、加速度センサー２００と、出力部３００と、記憶部４００と、通信部５００と、操作部６００と、処理部７００と、情報記憶媒体８００を含むシステムにおいて、上記プログラムは情報記憶媒体８００に記憶される。そして、情報記憶媒体８００に記憶されたプログラムは処理部７００（例えばＣＰＵ等）に読み出され、当該プログラムにより指示される処理が行われる。図１９のシステムとしては例えばスマートフォン等が考えられる。本実施形態にかかるプログラムは、スマートフォンの情報記憶媒体に記憶され、当該スマートフォンのＣＰＵ等により実行されることになる。
【０１７２】
以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、状態検出装置、電子機器及びプログラムの構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１７３】
１００  状態検出装置、１１０  水平方向成分抽出部、１１１  座標変換処理部、
１２０  進行方向特定部、１２１  変化量特定処理部、１２３  積算処理部、
１２５  ＤＣ成分抽出処理部、１２７  進行方向特定処理部、
１３０  ステップ検出部、１３１  変化量特定処理部、１４０  サンプリング部、
２００  加速度センサー、３００  出力部、４００  記憶部、５００  通信部、
６００  操作部、７００  処理部、８００  情報記憶媒体
【図１】
0005853742.tif 000009
【図２】
0005853742.tif 000010
【図３】
0005853742.tif 000011
【図４】
0005853742.tif 000012
【図５】
0005853742.tif 000013
【図６】
0005853742.tif 000014
【図７】
0005853742.tif 000015
【図８】
0005853742.tif 000016
【図９】
0005853742.tif 000017
【図１０】
0005853742.tif 000018
【図１１】
0005853742.tif 000019
【図１２】
0005853742.tif 000020
【図１３】
0005853742.tif 000021
【図１４】
0005853742.tif 000022
【図１５】
0005853742.tif 000023
【図１６】
0005853742.tif 000024
【図１７】
0005853742.tif 000025
【図１８】
0005853742.tif 000026
【図１９】
0005853742.tif 000027