(57)【特許請求の範囲】
【請求項１】
コンピュータが、
加速度センサにより第１の座標系において検出された所定期間内の複数時刻における移動物体の加速度を表す複数の加速度ベクトルを、第２の座標系における複数の加速度ベクトルに変換し、
前記第２の座標系における前記複数の加速度ベクトルを周波数領域表現の級数に変換し、
前記級数における所定次数の項の係数から前記移動物体の移動距離と移動方向とを求め、
前記移動距離と前記移動方向とを示す移動情報を出力する、
ことを特徴とする移動情報計算方法。
【請求項２】
前記コンピュータは、フーリエ変換により前記第２の座標系における前記複数の加速度ベクトルを前記級数に変換し、前記級数における前記所定次数のコサイン係数から前記移動距離を求め、前記級数における前記所定次数のサイン係数から前記移動方向を求めることを特徴とする請求項１記載の移動情報計算方法。
【請求項３】
前記コンピュータは、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルと、地磁気センサにより検出された前記複数時刻における磁場を表す複数の磁場ベクトルとを用いて、前記第１の座標系から前記第２の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第２の座標系における前記複数の加速度ベクトルに変換することを特徴とする請求項１又は２記載の移動情報計算方法。
【請求項４】
前記コンピュータは、角速度センサにより検出された前記複数時刻における前記移動物体の角速度を表す複数の角速度ベクトルを用いて、前記第１の座標系から前記第２の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第２の座標系における前記複数の加速度ベクトルに変換することを特徴とする請求項１又は２記載の移動情報計算方法。
【請求項５】
前記コンピュータは、
前記加速度センサにより各時刻において検出された前記移動物体の加速度を表す加速度ベクトルを、重力加速度ベクトルと前記移動物体の移動により生じる移動加速度ベクトルとに分離し、
前記重力加速度ベクトルと前記移動加速度ベクトルとの内積を計算し、
前記内積の符号が反転してから前記符号が反転前の符号へ反転するまでの期間において検出される加速度の個数をカウントし、
カウントした前記加速度の個数に基づいて前記複数時刻の個数を決定する、
ことを特徴とする請求項１乃至４のいずれか１項に記載の移動情報計算方法。
【請求項６】
加速度センサにより第１の座標系において検出された所定期間内の複数時刻における移動物体の加速度を記憶する記憶部と、
前記複数時刻における前記移動物体の加速度を表す複数の加速度ベクトルを、第２の座標系における複数の加速度ベクトルに変換する変換部と、
前記第２の座標系における前記複数の加速度ベクトルを周波数領域表現の級数に変換し、前記級数における所定次数の項の係数から前記移動物体の移動距離と移動方向とを求める計算部と、
前記移動距離と前記移動方向とを示す移動情報を出力する出力部と、
を備えることを特徴とする移動情報計算装置。
【請求項７】
加速度センサにより第１の座標系において検出された所定期間内の複数時刻における移動物体の加速度を表す複数の加速度ベクトルを、第２の座標系における複数の加速度ベクトルに変換し、
前記第２の座標系における前記複数の加速度ベクトルを周波数領域表現の級数に変換し、
前記級数における所定次数の項の係数から前記移動物体の移動距離と移動方向とを求め、
前記移動距離と前記移動方向とを示す移動情報を出力する、
処理をコンピュータに実行させる移動情報計算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動情報計算方法、移動情報計算装置、及び移動情報計算プログラムに関する。
【背景技術】
【０００２】
近年、携帯電話機、スマートフォン等の携帯端末装置に加速度センサが搭載されるようになり、加速度センサが検出する加速度の情報を活用する方法が検討されている。
【０００３】
例えば、加速度の情報を用いた歩数計も知られている（例えば、特許文献１を参照）。この歩数計は、歩行体の加速度ベクトルを、重力加速度ベクトルと、歩行体の歩行により生じている歩行加速度ベクトルとに分離し、重力加速度ベクトルと歩行加速度ベクトルとの内積値を算出する。そして、歩数計は、算出された内積値の時間変化に基づいて歩数の計数を行う。
【０００４】
容易かつ正確に歩行と非歩行とを区別する歩数計数装置も知られている（例えば、特許文献２を参照）。この歩数計数装置は、加速度をデジタルのセンサ値に変換し、センサ値の二乗値を求め、二乗値がゼロとなるたびに、二乗値を積分してエネルギーを算出する。そして、歩数計数装置は、エネルギーが所定の閾値以上となった回数をカウントし、カウンタ値を２で除算して歩数を算出する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２５７３９５号公報
【特許文献２】特開２００８−１７１３４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、人の移動軌跡等に基づいてその人の行動を解析し、各人に特化したアドバイス又は情報を提供するビジネスが注目されている。携帯端末装置で人の移動軌跡を解析するためには、携帯端末装置に搭載された処理能力の低いCentral Processing Unit（ＣＰＵ）でも移動軌跡を計算できる簡便なアルゴリズムを実装することが望ましい。
【０００７】
特許文献１の歩数計数方法は、比較的処理能力の低いＣＰＵでも歩数を計数できるアルゴリズムである。しかしながら、この歩数計数方法は、人の移動軌跡を計算するアルゴリズムではない。また、移動軌跡の計算方法として、パーティクルフィルタを使用する方法が知られているが、この方法は計算量が多く、携帯端末装置のＣＰＵで動作させるのは困難である。
【０００８】
なお、かかる問題は、携帯端末装置で移動軌跡を計算する場合に限らず、サーバ等の他の情報処理装置で移動軌跡を計算する場合においても生ずるものである。
【０００９】
１つの側面において、本発明は、移動情報の計算負荷を低減することを目的とする。
【課題を解決するための手段】
【００１０】
１つの案では、コンピュータは、加速度センサにより第１の座標系において検出された所定期間内の複数時刻における移動物体の加速度を表す複数の加速度ベクトルを、第２の座標系における複数の加速度ベクトルに変換する。そして、コンピュータは、第２の座標系における複数の加速度ベクトルを周波数領域表現の級数に変換し、その級数における所定次数の項の係数から移動物体の移動距離と移動方向とを求め、移動距離と移動方向とを示す移動情報を出力する。
【発明の効果】
【００１１】
１つの実施形態によれば、移動情報の計算負荷を低減することができる。
【図面の簡単な説明】
【００１２】
【図１】移動情報計算装置の機能的構成図である。
【図２】移動情報計算処理のフローチャートである。
【図３】移動情報計算装置の第１の具体例を示す機能的構成図である。
【図４】移動情報計算処理の具体例を示すフローチャートである。
【図５】移動軌跡を示す図である。
【図６】装置座標系とグローバル座標系を示す図である。
【図７】追加された移動ベクトルを示す図である。
【図８】２歩の移動軌跡を示す図である。
【図９】歩行加速度の成分の時間変化を示す図である。
【図１０】ｘｙ平面上における単位ベクトルを示す図である。
【図１１】移動情報計算装置の第２の具体例を示す機能的構成図である。
【図１２】地磁気モードとジャイロモードを示す図である。
【図１３】座標系計算処理のフローチャートである。
【図１４】第１の更新処理のフローチャートである。
【図１５】第２の更新処理のフローチャートである。
【図１６】情報処理装置の構成図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、実施形態を詳細に説明する。
図１は、実施形態の移動情報計算装置の機能的構成例を示している。図１の移動情報計算装置１０１は、記憶部１１１、変換部１１２、計算部１１３、及び出力部１１４を含む。記憶部１１１は、加速度センサにより第１の座標系において検出された所定期間内の複数時刻における移動物体の加速度を記憶する。変換部１１２及び計算部１１３は、記憶部１１１が記憶する複数時刻における加速度を用いて移動情報を求め、出力部１１４は、移動情報を出力する。
【００１４】
図２は、図１の移動情報計算装置１０１が行う移動情報計算処理の例を示すフローチャートである。まず、変換部１１２は、記憶部１１１が記憶する複数時刻における加速度を表す複数の加速度ベクトルを、第２の座標系における複数の加速度ベクトルに変換する（ステップ２０１）。
【００１５】
次に、計算部１１３は、第２の座標系における複数の加速度ベクトルを周波数領域表現の級数に変換し（ステップ２０２）、その級数における所定次数の項の係数から移動物体の移動距離と移動方向とを求める（ステップ２０３）。そして、出力部１１４は、移動距離と移動方向とを示す移動情報を出力する（ステップ４０４）。
【００１６】
図１の移動情報計算装置１０１によれば、移動情報の計算負荷を低減することができる。
【００１７】
図３は、図１の移動情報計算装置１０１の第１の具体例を示している。図３の移動情報計算装置１０１は、例えば、携帯端末装置であり、記憶部１１１、変換部１１２、計算部１１３、出力部１１４、加速度センサ３０１、及び地磁気センサ３０２を含む。変換部１１２は、サイクル計算部３１１、座標系計算部３１２、及び加速度変換部３１３を含み、計算部１１３は、係数計算部３２１及び移動ベクトル計算部３２２を含む。
【００１８】
加速度センサ３０１は、各時刻における移動物体の加速度を検出し、記憶部１１１は、検出された加速度の情報を記憶する。移動物体は、例えば、移動情報計算装置１０１を携帯するユーザに対応し、検出された加速度は、そのユーザの身体に生じる加速度を表す。地磁気センサ３０２は、各時刻における地磁気の磁場を検出し、記憶部１１１は、検出された磁場の情報を記憶する。
【００１９】
サイクル計算部３１１は、所定期間に対応する１サイクルに含まれる時系列データの個数を計算する。例えば、特許文献１の歩数計は、各時刻における人の加速度ベクトルに基づいて歩数を計数するため、Ｐ歩（Ｐは１以上の整数）歩行する間に検出された加速度ベクトルの個数をカウントすることが可能である。Ｐ歩に相当する期間を１サイクルとして用いた場合、その間に検出された加速度ベクトルの個数を、１サイクルに含まれる時系列データの個数として用いることができる。
【００２０】
この場合、サイクル計算部３１１は、各時刻において検出された移動物体の加速度を表す加速度ベクトルを、重力加速度ベクトルと、移動物体の移動により生じる移動加速度ベクトルとに分離する。次に、サイクル計算部３１１は、重力加速度ベクトルと移動加速度ベクトルとの内積を計算し、内積の符号が反転してから反転前の符号へ反転するまでの期間において検出される加速度の個数をカウントする。この期間は、半歩に相当する期間である。
【００２１】
そして、サイクル計算部３１１は、カウントした個数に基づいて時系列データの個数を決定する。例えば、１サイクルがＰ歩に相当する場合、サイクル計算部３１１は、カウント動作を２Ｐ回繰り返してカウント値の総和を計算し、その総和を時系列データの個数に決定することができる。
【００２２】
座標系計算部３１２は、サイクル計算部３１１が計算した個数の時刻における加速度ベクトルと、それらの時刻における磁場を表す複数の磁場ベクトルとを用いて、移動情報計算装置１０１の座標系からグローバル座標系への変換行列を求める。通常、携帯端末装置は固定されておらず、ユーザが歩いたり走ったりすると位置及び姿勢が逐次変化するため、移動情報計算装置１０１の座標系は、逐次回転する状態になっている。このため、移動距離及び移動方向を計算する際には、固定されたグローバル座標系を用いることが好ましい。以下では、移動情報計算装置１０１の座標系を、装置座標系と記載することがある。
【００２３】
加速度変換部３１３は、座標系計算部３１２が求めた変換行列を用いて、装置座標系における複数の加速度ベクトルをグローバル座標系における複数の加速度ベクトルに変換し、変換後の加速度ベクトルを記憶部１１１に格納する。
【００２４】
係数計算部３２１は、フーリエ変換により、グローバル座標系における複数の加速度ベクトルをフーリエ級数に変換し、フーリエ級数における所定次数のコサイン係数及びサイン係数を計算する。移動ベクトル計算部３２２は、係数計算部３２１が求めたコサイン係数及びサイン係数から移動距離及び移動方向をそれぞれ求め、移動距離及び移動方向が示す移動ベクトルを計算して記憶部１１１に格納する。
【００２５】
図４は、図３の移動情報計算装置１０１が行う移動情報計算処理の具体例を示すフローチャートである。まず、サイクル計算部３１１は、検出された加速度を表す加速度ベクトルを用いて、１サイクルに含まれる時系列データの個数を計算する（ステップ４０１）。
【００２６】
次に、座標系計算部３１２は、サイクル計算部３１１が計算した個数の時刻における加速度ベクトルと、それらの時刻における磁場ベクトルとを用いて、座標変換の変換行列を求める（ステップ４０２）。
【００２７】
次に、加速度変換部３１３は、座標変換の変換行列を用いて、装置座標系における複数の加速度ベクトルをグローバル座標系における複数の加速度ベクトルに変換する（ステップ４０３）。
【００２８】
次に、係数計算部３２１は、グローバル座標系における複数の加速度ベクトルに対するフーリエ変換を行って、フーリエ級数におけるコサイン係数及びサイン係数を計算する（ステップ４０４）。
【００２９】
次に、移動ベクトル計算部３２２は、係数計算部３２１が求めたコサイン係数及びサイン係数から移動ベクトルを計算し（ステップ４０５）、出力部１１４は、移動ベクトルを画面上に表示する（ステップ４０６）。
【００３０】
次に、移動情報計算装置１０１は、次のサイクルの計算を行うか否かを判定する（ステップ４０７）。移動情報計算装置１０１は、ユーザから入力装置を介して入力される指示に基づいて、次のサイクルの計算を行うか否かを決定してもよい。移動情報計算装置１０１は、次のサイクルの計算を行う場合（ステップ４０７，ＮＯ）、ステップ４０１以降の処理を繰り返し、次のサイクルの計算を行わない場合（ステップ４０７，ＹＥＳ）、処理を終了する。
【００３１】
図５は、画面上に表示された移動軌跡の例を示している。図５のｘｙ平面において、ｘ軸の正の向きは東を表し、ｙ軸の正の向きは北を表す。この例では、４サイクルの処理結果が表示されている。まず、最初のサイクルで移動ベクトル５０１が計算され、ｘｙ平面の原点を始点として移動ベクトル５０１が表示され、次に、２番目のサイクルで移動ベクトル５０２が計算され、移動ベクトル５０１の終点を始点として移動ベクトル５０２が表示される。
【００３２】
３番目及び４番目のサイクルにおいても同様の計算が繰り返され、移動ベクトル５０３及び移動ベクトル５０４が追加される。移動ベクトル５０１〜移動ベクトル５０４が表す移動軌跡から、ユーザは、原点の位置を出発して、現在、移動ベクトル５０４の終点の位置にいることが分かる。
【００３３】
次に、５番目のサイクルで移動ベクトルを計算する例について説明する。時刻１〜時刻ｍ＋１（ｍは２以上の整数）において加速度センサ３０１が検出する加速度は、次のように表される。
【００３４】
（ａｘ，１，ａｙ，１，ａｚ，１），．．．，（ａｘ，ｍ，ａｙ，ｍ，ａｚ，ｍ），
（ａｘ，ｍ＋１，ａｙ，ｍ＋１，ａｚ，ｍ＋１）
【００３５】
ａｘ，ｉ（ｉ＝１〜ｍ＋１）は、装置座標系における時刻ｉの加速度のｘ成分を表し、ａｙ，ｉ及びａｚ，ｉは、それぞれ、時刻ｉの加速度のｙ成分及びｚ成分を表す。（ａｘ，ｉ，ａｙ，ｉ，ａｚ，ｉ）は、時刻ｉにおける加速度ベクトルを表す。
【００３６】
また、時刻１〜時刻ｍ＋１において地磁気センサ３０２が検出する磁場は、次のように表される。
【００３７】
（ｍｘ，１，ｍｙ，１，ｍｚ，１），．．．，（ｍｘ，ｍ，ｍｙ，ｍ，ｍｚ，ｍ），
（ｍｘ，ｍ＋１，ｍｙ，ｍ＋１，ｍｚ，ｍ＋１）
【００３８】
ｍｘ，ｉは、装置座標系における時刻ｉの磁場のｘ成分を表し、ｍｙ，ｉ及びｍｚ，ｉは、それぞれ、時刻ｉの磁場のｙ成分及びｚ成分を表す。（ｍｘ，ｉ，ｍｙ，ｉ，ｍｚ，ｉ）は、時刻ｉにおける磁場ベクトルを表す。
【００３９】
このうち、（ａｘ，１，ａｙ，１，ａｚ，１）〜（ａｘ，ｍ，ａｙ，ｍ，ａｚ，ｍ）及び（ｍｘ，１，ｍｙ，１，ｍｚ，１）〜（ｍｘ，ｍ，ｍｙ，ｍ，ｍｚ，ｍ）が、移動ベクトル５０１〜移動ベクトル５０４の計算に使用されたものとする。この場合、時刻ｍ＋１以降の加速度ベクトル及び磁場ベクトルを用いて、５番目のサイクルの移動ベクトルが計算される。
【００４０】
例えば、Ｐ歩に相当する期間を１サイクルとして用いた場合、サイクル計算部３１１は、その間に検出された加速度ベクトルの個数ｎを求める。そして、座標系計算部３１２は、時刻ｍ＋１以降のｎ個の加速度ベクトル及びｎ個の磁場ベクトルを用いて変換行列を求める。ここで、記述を簡単にするため、これらの加速度ベクトル及び磁場ベクトルの表記を、次のように変更する。
【００４１】
（ａｘ，ｍ＋１，ａｙ，ｍ＋１，ａｚ，ｍ＋１），（ａｘ，ｍ＋２，ａｙ，ｍ＋２，ａｚ，ｍ＋２），．．．，
（ａｘ，ｍ＋ｎ，ａｙ，ｍ＋ｎ，ａｚ，ｍ＋ｎ）
→（ａｘ，１，ａｙ，１，ａｚ，１），（ａｘ，２，ａｙ，２，ａｚ，２），．．．，
（ａｘ，ｎ，ａｙ，ｎ，ａｚ，ｎ）
【００４２】
（ｍｘ，ｍ＋１，ｍｙ，ｍ＋１，ｍｚ，ｍ＋１），（ｍｘ，ｍ＋２，ｍｙ，ｍ＋２，ｍｚ，ｍ＋２），．．．，
（ｍｘ，ｍ＋ｎ，ｍｙ，ｍ＋ｎ，ｍｚ，ｍ＋ｎ）
→（ｍｘ，１，ｍｙ，１，ｍｚ，１），（ｍｘ，２，ｍｙ，２，ｍｚ，２），．．．，
（ｍｘ，ｎ，ｍｙ，ｎ，ｍｚ，ｎ）
【００４３】
図６は、装置座標系とグローバル座標系の例を示している。座標系計算部３１２が求めた変換行列により、装置座標系６０１における加速度ベクトルがグローバル座標系６０２における加速度ベクトルに変換される。グローバル座標系６０２のｘ軸、ｙ軸、及びｚ軸の正の向きは、それぞれ、東、北、高さを表す。
【００４４】
まず、座標系計算部３１２は、次式によりｎ個の加速度ベクトルの平均を計算し、重力方向ベクトル（ｇｘ，ｇｙ，ｇｚ）を求める。
【００４５】
【数１】
0006536162.tif 000002
【００４６】
重力加速度は固定値の加速度であり、移動物体の移動により生じる移動加速度よりも大きな値を持つため、ｎ個の加速度ベクトルを平均すると、移動加速度の成分が相殺されて重力加速度の成分のみが残る。この例では、重力方向ベクトル（ｇｘ，ｇｙ，ｇｚ）は、グローバル座標系６０２におけるｚ軸の正の向きを表す。
【００４７】
次に、座標系計算部３１２は、次式によりｎ個の磁場ベクトルの平均を計算し、平均磁場ベクトル（ｍｘ，ｍｙ，ｍｚ）を求める。
【００４８】
【数２】
0006536162.tif 000003
【００４９】
平均磁場ベクトル（ｍｘ，ｍｙ，ｍｚ）は北方向の成分を含んでいるが、重力方向の成分も含むため、重力方向ベクトルと直交しているわけではない。そこで、座標系計算部３１２は、次式により平均磁場ベクトルと重力方向ベクトルとの外積を計算し、東方向ベクトル（ｅｘ，ｅｙ，ｅｚ）を求める。
【００５０】
（ｅｘ，ｅｙ，ｅｚ）
＝（ｍｙｇｚ−ｍｚｇｙ，ｍｚｇｘ−ｍｘｇｚ，ｍｘｇｙ−ｍｙｇｚ）      （３）
【００５１】
東方向ベクトル（ｅｘ，ｅｙ，ｅｚ）は、重力方向と北方向の両方に直交しており、東を向くベクトルである。
【００５２】
次に、座標系計算部３１２は、次式により重力方向ベクトルと東方向ベクトルとの外積を計算し、北方向ベクトル（ｎｘ，ｎｙ，ｎｚ）を求める。
【００５３】
（ｎｘ，ｎｙ，ｎｚ）
＝（ｇｙｅｚ−ｇｚｅｙ，ｇｚｅｘ−ｇｘｅｚ，ｇｘｅｙ−ｇｙｅｚ）      （４）
【００５４】
北方向ベクトル（ｎｘ，ｎｙ，ｎｚ）は、重力方向と東方向の両方に直交しており、北を向くベクトルである。重力方向ベクトル、東方向ベクトル、及び北方向ベクトルの３つの互いに直交するベクトルにより、グローバル座標系が決定される。
【００５５】
なお、加速度センサ３０１の仕様によっては、式（１）の重力方向ベクトル（ｇｘ，ｇｙ，ｇｚ）がグローバル座標系６０２におけるｚ軸の負の向きを表すこともある。この場合、式（３）において平均磁場ベクトルと重力方向ベクトルの順序を入れ替えて外積を計算し、式（４）において重力方向ベクトルと東方向ベクトルの順序を入れ替えて外積を計算すればよい。
【００５６】
座標系計算部３１２は、求めた３つのベクトルを正規化し、正規化された各ベクトルの成分を用いて、次式の変換行列Ｈを求める。
【００５７】
【数３】
0006536162.tif 000004
【００５８】
変換行列Ｈは、装置座標系６０１におけるベクトルをグローバル座標系６０２におけるベクトルに変換する回転行列である。
【００５９】
加速度変換部３１３は、変換行列Ｈを用いた１次変換により、装置座標系６０１における加速度ベクトル（ａｘ，ｉ，ａｙ，ｉ，ａｚ，ｉ）を、グローバル座標系６０２における加速度ベクトル（αｘ，ｉ，αｙ，ｉ，αｚ，ｉ）に変換する（ｉ＝１〜ｎ）。
【００６０】
【数４】
0006536162.tif 000005
【００６１】
これにより、グローバル座標系６０２における加速度ベクトル（αｘ，１，αｙ，１，αｚ，１）〜（αｘ，ｎ，αｙ，ｎ，αｚ，ｎ）が得られる。
【００６２】
係数計算部３２１は、（αｘ，１，αｙ，１，αｚ，１）〜（αｘ，ｎ，αｙ，ｎ，αｚ，ｎ）を用いて離散フーリエ変換を行い、次式により、ｋ次コサイン係数（ｃｘ，ｋ，ｃｙ，ｋ，ｃｚ，ｋ）及びｋ次サイン係数（ｓｘ，ｋ，ｓｙ，ｋ，ｓｚ，ｋ）を計算する。
【００６３】
【数５】
0006536162.tif 000006
【００６４】
１サイクルがＰ歩に相当する場合、係数計算部３２１は、ｋ＝ＰとしてＰ次コサイン係数及びＰ次サイン係数を計算する。そして、移動ベクトル計算部３２２は、Ｐ次コサイン係数及びＰ次サイン係数から、次式により移動ベクトル（ｐｏｓｘ，ｐｏｓｙ）を計算する。
【００６５】
【数６】
0006536162.tif 000007
【００６６】
式（９）により移動ベクトルを計算できる理由については後述する。式（９）の右辺において、ｃｚ，ｋの代わりにｎＴ、（ｄ１＋ｄ２・ｎＴ）、又は（ｃｚ，ｋ／｜ｃｚ，ｋ｜）（ｄ１＋ｄ２・ｎＴ）を用いてもよい。Ｔは加速度データのサンプリング時間を表し、ｄ１及びｄ２は所定の定数を表す。
【００６７】
出力部１１４は、図７に示すように、移動ベクトル５０４の終点を始点とする移動ベクトル（ｐｏｓｘ，ｐｏｓｙ）を、５番目のサイクルの移動ベクトル５０５として追加する。移動ベクトル５０１〜移動ベクトル５０５が表す移動軌跡から、ユーザは、現在、移動ベクトル５０５の終点の位置にいることが分かる。
【００６８】
次に、式（９）により移動ベクトルを計算できる理由について説明する。式（９）の右辺のｃｚ，ｋは、移動距離そのものではないが、移動距離に対応する長さを表しており、
0006536162.tif 000008
は、移動方向の単位ベクトルを表している。人の歩行モデルは、移動方向と重力方向の２つのベクトルで張られる平面上を歩行加速度が回転する数理モデルで表現できることから、式（９）の妥当性を説明することができる。
【００６９】
図８は、ユーザが２歩歩行した場合の頭の移動軌跡の例を示している。ユーザの頭がグローバル座標系の原点８０１の位置にある状態でユーザが歩き始める場合、頭は移動軌跡８０２に沿って移動する。歩行加速度８１１は、最初は真上を向いており、歩行中には、移動方向と重力方向の２つのベクトルで張られる平面上を回転し、１歩歩き終えると、再び真上を向く。そして、２歩目も同様に、歩行加速度８１１は、同じ平面上を１回転する。
【００７０】
各時刻における歩行加速度８１１は、ｘｙ平面成分８１２とｚ成分８１３とに分解することができ、ｘｙ平面成分８１２をｘｙ平面上に移動するとベクトル８１４が得られる。ｘｙ平面上の各ベクトル８１４は、さらにｘ成分８１５とｙ成分８１６とに分解することができる。
【００７１】
図９は、ユーザが２歩歩行する間におけるｚ成分８１３、ｘ成分８１５、及びｙ成分８１６の時間変化の例を示している。曲線９０１はｚ成分８１３の時間変化を表し、曲線９０２はｘ成分８１５の時間変化を表し、曲線９０３はｙ成分８１６の時間変化を表す。いずれの曲線も２周期分の周期波形であり、曲線９０１はコサイン波形になっており、曲線９０２及び曲線９０３はサイン波形になっている。
【００７２】
この場合、式（７）のｋ次コサイン係数ｃｚ，ｋ（ｋ＝２）は、曲線９０１の２次成分の振幅９１１を表している。また、式（８）のｋ次サイン係数ｓｘ，ｋ（ｋ＝２）は、曲線９０２の２次成分の振幅９１２を表し、ｋ次サイン係数ｓｙ，ｋ（ｋ＝２）は、曲線９０３の２次成分の振幅９１３を表している。
【００７３】
より詳しく説明すると、先願である特願２０１４−１８９１０３号に記載されたフィッティング方法により、グローバル座標系における加速度ベクトル（αｘ，１，αｙ，１，αｚ，１）〜（αｘ，ｎ，αｙ，ｎ，αｚ，ｎ）から連続時間加速度曲線を求めることができる。このとき、連続時間加速度曲線はフーリエ級数となり、そのフーリエ級数の２次コサイン係数ｃｚ，２は、２次コサイン曲線の係数となり、２次サイン係数ｓｘ，２及びｓｙ，２は、２次サイン曲線の係数となっている。
【００７４】
図９の曲線９０１〜曲線９０３は理想形であるため、きれいな２次コサイン曲線又は２次サイン曲線であるが、実際には、２次成分以外のコサイン曲線又はサイン曲線も含まれる。しかし、２次以外の成分はノイズとみなせるため、式（９）の移動ベクトル（ｐｏｓｘ，ｐｏｓｙ）の計算では省略されている。
【００７５】
図８に示されるように原点８０１の位置から歩き始める場合、歩行加速度８１１は最初は真上を向いており、ｘｙ平面成分を含まないため、曲線９０１が示すように、歩行加速度８１１の大きさは、２次コサイン係数ｃｚ，２により表すことができる。そして、式（９）の右辺のｃｚ，ｋ（ｋ＝２）は、移動距離そのものではなく、歩行加速度の大きさを表している。
【００７６】
また、式（９）の右辺の
0006536162.tif 000009
（ｋ＝２）は、図１０に示されるように、ｘｙ平面上における移動方向の単位ベクトル１００１を表している。歩行加速度の大きさと移動距離は比例するとみなせるため、式（９）により移動ベクトルを定義することが可能になる。ｋ＝２以外の場合についても同様である。
【００７７】
式（７）のｋ次コサイン係数ｃｚ，ｋ及び式（８）のｋ次サイン係数ｓｘ，ｋ及びｓｙ，ｋの近似値は、例えば、テイラー展開により求めることができ、式（９）の移動ベクトル（ｐｏｓｘ，ｐｏｓｙ）は、ニュートン法等により求めることができる。この場合、四則演算のみで移動ベクトルを計算することができ、計算負荷が低減されるため、処理能力の低いＣＰＵでも図４の移動情報計算処理を実行可能である。
【００７８】
また、ステップ４０１において、各時刻における加速度ベクトルを用いて１サイクルに含まれる時系列データの個数を求めることで、２歩、４歩等の歩数に応じた個数の加速度ベクトルの組が決定されるため、精度良く移動ベクトルを計算することができる。
【００７９】
ところで、地磁気センサ３０２が検出する磁場の代わりに、角速度センサが検出する移動物体の角速度に基づいてグローバル座標系を計算することも可能である。
【００８０】
図１１は、角速度センサを利用した、図１の移動情報計算装置１０１の第２の具体例を示している。図１１の移動情報計算装置１０１は、図３の移動情報計算装置１０１にジャイロセンサ１１０１を追加した構成を有する。ジャイロセンサ１１０１は、各時刻における移動物体の角速度を検出し、記憶部１１１は、検出された角速度の情報を記憶する。
【００８１】
図１２は、磁場に基づいてグローバル座標系を計算する地磁気モードと、角速度に基づいてグローバル座標系を計算するジャイロモードの例を示している。例えば、移動軌跡１２０１が示すように、ユーザが、地磁気が安定している屋外から地磁気が不安定な屋内へ移動する場合、移動情報計算装置１０１は、屋外では地磁気モードで動作し、屋内ではジャイロモードで動作する。
【００８２】
また、移動情報計算装置１０１は、グローバル座標系の座標軸を東西南北に固定することなく、移動軌跡１２０２が示すように、起点１２０４の位置と、起点１２０４における移動方向１２０３とを基準として、ジャイロモードでグローバル座標系を計算してもよい。
【００８３】
図１３は、図４のステップ４０２において、図１１の座標系計算部３１２が行う座標系計算処理の例を示すフローチャートである。まず、座標系計算部３１２は、地磁気センサ３０２が検出した磁場に基づいて、地磁気が安定しているか否かをチェックする（ステップ１３０１）。座標系計算部３１２は、例えば、磁場の強度又は伏角等の値を所定の閾値と比較することで、地磁気が安定しているか否かを判定することができる。
【００８４】
地磁気が安定している場合（ステップ１３０１，ＹＥＳ）、座標系計算部３１２は、地磁気センサ３０２が検出した磁場を用いてグローバル座標系を計算する（ステップ１３０２）。
【００８５】
一方、地磁気が安定していない場合（ステップ１３０１，ＮＯ）、座標系計算部３１２は、ジャイロセンサ１１０１が検出した角速度を用いてグローバル座標系を計算する（ステップ１３０３）。この場合、座標系計算部３１２は、前のサイクルにおいて計算された変換行列Ｈを、角速度に基づいて更新することで、変換行列Ｈを計算する。
【００８６】
図１４は、図１３のステップ１３０３における第１の更新処理の例を示すフローチャートである。変換行列Ｈを転置して得られる回転行列Ｒは、次式により表される。
【００８７】
【数７】
0006536162.tif 000010
【００８８】
このとき、正規化されたベクトルｘ、ベクトルｙ、及びベクトルｚは、次式により定義される。
【００８９】
ベクトルｘ＝（ｘ１，ｘ２，ｘ３）Ｔ      （１１）
ベクトルｙ＝（ｙ１，ｙ２，ｙ３）Ｔ      （１２）
ベクトルｚ＝（ｚ１，ｚ２，ｚ３）Ｔ      （１３）
【００９０】
また、１サイクルの間にジャイロセンサ１１０１により検出されたｎ個の角速度は、次式の角速度ベクトルｂｉ（ｉ＝１〜ｎ）により表される。
【００９１】
ｂｉ＝（ｂｘ，ｉ，ｂｙ，ｉ，ｂｚ，ｉ）Ｔ      （１４）
【００９２】
まず、座標系計算部３１２は、ｎ個の加速度ベクトルから、式（１）を用いて正規化された重力方向ベクトルｇを求める（ステップ１４０１）。
【００９３】
次に、座標系計算部３１２は、１番目の角速度ベクトルｂ１と重力方向ベクトルｇとの内積ｄθを用いて、次式により回転角φを計算する（ステップ１４０２）。
【００９４】
φ＝ｄθΔＴ＝角速度ベクトルｂ１・重力方向ベクトルｇΔＴ      （１５）
【００９５】
ΔＴは、各センサのサンプリング間隔を表し、ｄθは、鉛直軸周りの角速度を表し、φは、時間ΔＴの間における鉛直軸周りの回転角を表す。
【００９６】
次に、座標系計算部３１２は、回転角φを用いて、次式によりｚ軸の周りの回転行列Ｑを計算する（ステップ１４０３）。
【００９７】
【数８】
0006536162.tif 000011
【００９８】
次に、座標系計算部３１２は、回転行列Ｑを用いて、次式により更新前の回転行列Ｒ＝Ｒ１から、更新後の回転行列Ｒ＝Ｒ２を計算する（ステップ１４０４）。
【００９９】
Ｒ２＝Ｒ１Ｑ      （１７）
【０１００】
式（１７）の回転行列Ｒ１としては、前のサイクルにおける回転行列Ｒのベクトルｚを、ステップ１４０１で求めた重力方向ベクトルｇに置き換えた行列を用いることができる。回転行列Ｒ１に回転行列Ｑを乗算してもベクトルｚは変化しないため、更新後の回転行列Ｒ２のベクトルｚも、重力方向ベクトルｇに一致する。
【０１０１】
次に、座標系計算部３１２は、１サイクルに対応するｎ個の角速度ベクトルを処理したか否かをチェックする（ステップ１４０５）。未処理の角速度ベクトルが残っている場合（ステップ１４０５，ＮＯ）、座標系計算部３１２は、次の角速度ベクトルを用いてステップ１４０２以降の処理を繰り返す。このとき、式（１７）の新たな回転行列Ｒ１としては、ステップ１４０４で計算された更新後の回転行列Ｒ２が用いられる。
【０１０２】
そして、すべての角速度ベクトルを処理した場合（ステップ１４０５，ＹＥＳ）、座標系計算部３１２は、処理を終了する。最後に計算された回転行列Ｒ２を転置することで、変換行列Ｈが求められる。
【０１０３】
図１４の更新処理によれば、移動情報計算装置１０１が鉛直軸周り以外にあまり回転しない場合に、適切な変換行列Ｈを求めることができる。しかし、ユーザが移動情報計算装置１０１を手に持って傾けながら旋回した場合には、更新後の変換行列Ｈは、必ずしも正しい変換を表しているとは限らない。
【０１０４】
図１５は、図１３のステップ１３０３における第２の更新処理の例を示すフローチャートである。まず、座標系計算部３１２は、更新前の回転行列Ｒ１と１番目の角速度ベクトルｂ１とを用いて、次式により、グローバル座標系における角速度ベクトルｒを計算する（ステップ１５０１）。
【０１０５】
角速度ベクトルｒ＝Ｒ１Ｔｂ１      （２１）
【０１０６】
式（２１）の回転行列Ｒ１としては、前のサイクルにおける回転行列Ｒを用いることができる。
【０１０７】
次に、座標系計算部３１２は、角速度ベクトルｒを用いて回転行列Ｒの差分を計算する（ステップ１５０２）。このとき、座標系計算部３１２は、式（１０）の回転行列Ｒの要素を用いて、次式のベクトルｖ１〜ベクトルｖ３を生成する。
【０１０８】
ベクトルｖ１＝（ｘ１，ｙ１，ｚ１）Ｔ      （２２）
ベクトルｖ２＝（ｘ２，ｙ２，ｚ２）Ｔ      （２３）
ベクトルｖ３＝（ｘ３，ｙ３，ｚ３）Ｔ      （２４）
【０１０９】
次に、座標系計算部３１２は、角速度ベクトルｒを用いて、次式のような外積演算を行う。
【０１１０】
ベクトルｗ１＝（ｗ１１，ｗ１２，ｗ１３）Ｔ
＝角速度ベクトルｒ×ベクトルｖ１      （２５）
ベクトルｗ２＝（ｗ２１，ｗ２２，ｗ２３）Ｔ
＝角速度ベクトルｒ×ベクトルｖ２      （２６）
ベクトルｗ３＝（ｗ３１，ｗ３２，ｗ３３）Ｔ
＝角速度ベクトルｒ×ベクトルｖ３      （２７）
【０１１１】
式（２５）〜式（２７）の外積演算は、ベクトルｖ１〜ベクトルｖ３の微分を行うことに相当する。座標系計算部３１２は、ベクトルｗ１〜ベクトルｗ３の要素を用いて、次式のような差分ｄＲを生成する。
【０１１２】
【数９】
0006536162.tif 000012
【０１１３】
次に、座標系計算部３１２は、差分ｄＲを用いて、次式により更新前の回転行列Ｒ１から更新後の回転行列Ｒ２を計算する（ステップ１５０３）。
【０１１４】
Ｒ２＝Ｒ１＋ｄＲ      （２９）
【０１１５】
式（２９）の加算は、回転行列Ｒの積分を行うことに相当する。
【０１１６】
次に、座標系計算部３１２は、１サイクルに対応するｎ個の角速度ベクトルを処理したか否かをチェックする（ステップ１５０４）。未処理の角速度ベクトルが残っている場合（ステップ１５０４，ＮＯ）、座標系計算部３１２は、次の角速度ベクトルを用いてステップ１５０１以降の処理を繰り返す。このとき、式（２１）及び式（２９）の新たな回転行列Ｒ１としては、ステップ１５０３で計算された更新後の回転行列Ｒ２が用いられる。
【０１１７】
すべての角速度ベクトルを処理した場合（ステップ１５０４，ＹＥＳ）、座標系計算部３１２は、回転行列Ｒ２を前回補正してから一定期間が経過したか否かをチェックする（ステップ１５０５）。
【０１１８】
一定期間が経過している場合（ステップ１５０５，ＹＥＳ）、座標系計算部３１２は、重力方向ベクトルｇを用いて回転行列Ｒ２を補正する（ステップ１５０６）。このとき、座標系計算部３１２は、ｎ個の加速度ベクトルから、式（１）を用いて正規化された重力方向ベクトルｇを求め、更新後の回転行列Ｒ２のベクトルｚを重力方向ベクトルｇに置き換える。そして、座標系計算部３１２は、回転行列Ｒ２のベクトルｚとベクトルｘとの外積をベクトルｙに設定し、ベクトルｙとベクトルｚとの外積をベクトルｘに設定し、ベクトルｘ及びベクトルｙを正規化することで、補正後の回転行列Ｒ２を生成する。
【０１１９】
一方、一定期間が経過していない場合（ステップ１５０５，ＮＯ）、座標系計算部３１２は、処理を終了する。ステップ１５０３で最後に計算された回転行列Ｒ２、又はステップ１５０６で補正された回転行列Ｒ２を転置することで、変換行列Ｈが求められる。
【０１２０】
図１５の更新処理によれば、回転角を３次元的に処理することで変換行列Ｈの誤差を低減することができる。また、ステップ１５０６において定期的に回転行列Ｒ２を補正することで、誤差の累積を防止することができる。
【０１２１】
図１、図３、及び図１１の移動情報計算装置１０１の構成は一例に過ぎず、移動情報計算装置１０１の用途や条件に応じて、一部の構成要素を省略又は変更してもよい。例えば、図１１の移動情報計算装置１０１がジャイロモードのみで動作する場合は、地磁気センサ３０２を省略することができる。
【０１２２】
記憶部１１１があらかじめ加速度、磁場、角速度の情報を記憶している場合は、図３及び図１１の加速度センサ３０１、地磁気センサ３０２、及びジャイロセンサ１１０１を省略することができる。また、１サイクルに対応する時刻の個数があらかじめ決められている場合は、図３及び図１１のサイクル計算部３１１を省略することができる。
【０１２３】
図２、図４、及び図１３〜図１５のフローチャートは一例に過ぎず、移動情報計算装置１０１の構成や条件に応じて一部の処理を省略又は変更してもよい。例えば、１サイクルに対応する時刻の個数があらかじめ決められている場合は、図４のステップ４０１の処理を省略することができる。
【０１２４】
図４のステップ４０６において、出力部１１４は、移動ベクトルを画面上に表示する代わりに、通信ネットワークを介して、移動ベクトルを示す情報を別の情報処理装置へ送信してもよい。この場合、移動ベクトルを受信した情報処理装置は、その移動ベクトルを画面上に表示することができる。
【０１２５】
図５及び図７の移動軌跡は一例に過ぎず、出力部１１４は、別の形式で移動軌跡を画面上に表示してもよい。また、移動物体は、人以外の動物であってもよく、車両、ロボット等の物体であってもよい。
【０１２６】
式（１）〜式（２９）は一例に過ぎず、別の計算式又は座標系を用いて移動情報計算処理を行ってもよい。例えば、式（１）及び式（２）の代わりにローパスフィルタ演算を用いて、重力方向ベクトル（ｇｘ，ｇｙ，ｇｚ）及び磁場ベクトル（ｍｘ，ｍｙ，ｍｚ）を計算してもよい。また、フーリエ級数の代わりに別の周波数領域表現を用いて、移動ベクトルを計算してもよい。
【０１２７】
図５〜図１０のグローバル座標系は一例に過ぎず、別のグローバル座標系を用いて移動ベクトルを計算してもよい。例えば、図１２の起点１２０４及び移動方向１２０３を基準とするグローバル座標系を用いてもよい。
【０１２８】
図１６は、図１、図３、及び図１１の移動情報計算装置１０１を実現するための情報処理装置の構成例を示している。図１６の情報処理装置は、ＣＰＵ１６０１、メモリ１６０２、入力装置１６０３、出力装置１６０４、補助記憶装置１６０５、媒体駆動装置１６０６、及びネットワーク接続装置１６０７を備える。これらの構成要素はバス１６０８により互いに接続されている。バス１６０８には、図３及び図１１の加速度センサ３０１、地磁気センサ３０２、及びジャイロセンサ１１０１が接続されていてもよい。
【０１２９】
メモリ１６０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、移動情報計算処理に用いられるプログラム及びデータを格納する。メモリ１６０２は、図１、図３、及び図１１の記憶部１１１として用いることができる。
【０１３０】
ＣＰＵ１６０１（プロセッサ）は、例えば、メモリ１６０２を利用してプログラムを実行することにより、図１、図３、及び図１１の変換部１１２及び計算部１１３として動作する。ＣＰＵ１６０１は、図３及び図１１のサイクル計算部３１１、座標系計算部３１２、加速度変換部３１３、係数計算部３２１、及び移動ベクトル計算部３２２としても動作する。
【０１３１】
入力装置１６０３は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示や情報の入力に用いられる。出力装置１６０４は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。処理結果は、移動ベクトルであってもよい。出力装置１６０４は、図１、図３、及び図１１の出力部１１４として用いることができる。
【０１３２】
補助記憶装置１６０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置１６０５は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置１６０５にプログラム及びデータを格納しておき、それらをメモリ１６０２にロードして使用することができる。補助記憶装置１６０５は、図１、図３、及び図１１の記憶部１１１として用いることができる。
【０１３３】
媒体駆動装置１６０６は、可搬型記録媒体１６０９を駆動し、その記録内容にアクセスする。可搬型記録媒体１６０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体１６０９は、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体１６０９にプログラム及びデータを格納しておき、それらをメモリ１６０２にロードして使用することができる。
【０１３４】
このように、移動情報計算処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ１６０２、補助記憶装置１６０５、又は可搬型記録媒体１６０９のような、物理的な（非一時的な）記録媒体である。
【０１３５】
ネットワーク接続装置１６０７は、Local Area Network、Wide Area Network等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置１６０７を介して受け取り、それらをメモリ１６０２にロードして使用することができる。ネットワーク接続装置１６０７は、図１、図３、及び図１１の出力部１１４として用いることができる。
【０１３６】
情報処理装置は、ネットワーク接続装置１６０７を介して、ユーザ端末から処理要求を受信し、移動情報計算処理を行って処理結果をユーザ端末へ送信することもできる。
【０１３７】
なお、情報処理装置が図１６のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、情報処理装置がユーザ端末から通信ネットワーク経由で処理要求を受信する場合は、入力装置１６０３及び出力装置１６０４を省略してもよい。また、可搬型記録媒体１６０９又は通信ネットワークを利用しない場合は、媒体駆動装置１６０６又はネットワーク接続装置１６０７を省略してもよい。
【０１３８】
情報処理装置が通話機能を有する携帯端末装置である場合、マイク及びスピーカのような通話用の装置を含んでいてもよく、カメラのような撮像装置を含んでいてもよい。
【０１３９】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０１４０】
図１乃至図１６を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
コンピュータが、
加速度センサにより第１の座標系において検出された所定期間内の複数時刻における移動物体の加速度を表す複数の加速度ベクトルを、第２の座標系における複数の加速度ベクトルに変換し、
前記第２の座標系における前記複数の加速度ベクトルを周波数領域表現の級数に変換し、
前記級数における所定次数の項の係数から前記移動物体の移動距離と移動方向とを求め、
前記移動距離と前記移動方向とを示す移動情報を出力する、
ことを特徴とする移動情報計算方法。
（付記２）
前記コンピュータは、フーリエ変換により前記第２の座標系における前記複数の加速度ベクトルを前記級数に変換し、前記級数における前記所定次数のコサイン係数から前記移動距離を求め、前記級数における前記所定次数のサイン係数から前記移動方向を求めることを特徴とする付記１記載の移動情報計算方法。
（付記３）
前記コンピュータは、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルと、地磁気センサにより検出された前記複数時刻における磁場を表す複数の磁場ベクトルとを用いて、前記第１の座標系から前記第２の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第２の座標系における前記複数の加速度ベクトルに変換することを特徴とする付記１又は２記載の移動情報計算方法。
（付記４）
前記コンピュータは、角速度センサにより検出された前記複数時刻における前記移動物体の角速度を表す複数の角速度ベクトルを用いて、前記第１の座標系から前記第２の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第２の座標系における前記複数の加速度ベクトルに変換することを特徴とする付記１又は２記載の移動情報計算方法。
（付記５）
前記コンピュータは、
前記加速度センサにより各時刻において検出された前記移動物体の加速度を表す加速度ベクトルを、重力加速度ベクトルと前記移動物体の移動により生じる移動加速度ベクトルとに分離し、
前記重力加速度ベクトルと前記移動加速度ベクトルとの内積を計算し、
前記内積の符号が反転してから前記符号が反転前の符号へ反転するまでの期間において検出される加速度の個数をカウントし、
カウントした前記加速度の個数に基づいて前記複数時刻の個数を決定する、
ことを特徴とする付記１乃至４のいずれか１項に記載の移動情報計算方法。
（付記６）
加速度センサにより第１の座標系において検出された所定期間内の複数時刻における移動物体の加速度を記憶する記憶部と、
前記複数時刻における前記移動物体の加速度を表す複数の加速度ベクトルを、第２の座標系における複数の加速度ベクトルに変換する変換部と、
前記第２の座標系における前記複数の加速度ベクトルを周波数領域表現の級数に変換し、前記級数における所定次数の項の係数から前記移動物体の移動距離と移動方向とを求める計算部と、
前記移動距離と前記移動方向とを示す移動情報を出力する出力部と、
を備えることを特徴とする移動情報計算装置。
（付記７）
前記計算部は、フーリエ変換により前記第２の座標系における前記複数の加速度ベクトルを前記級数に変換し、前記級数における前記所定次数のコサイン係数から前記移動距離を求め、前記級数における前記所定次数のサイン係数から前記移動方向を求めることを特徴とする付記６記載の移動情報計算装置。
（付記８）
前記変換部は、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルと、地磁気センサにより検出された前記複数時刻における磁場を表す複数の磁場ベクトルとを用いて、前記第１の座標系から前記第２の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第２の座標系における前記複数の加速度ベクトルに変換することを特徴とする付記６又は７記載の移動情報計算装置。
（付記９）
前記変換部は、角速度センサにより検出された前記複数時刻における前記移動物体の角速度を表す複数の角速度ベクトルを用いて、前記第１の座標系から前記第２の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第２の座標系における前記複数の加速度ベクトルに変換することを特徴とする付記６又は７記載の移動情報計算装置。
（付記１０）
前記変換部は、
前記加速度センサにより各時刻において検出された前記移動物体の加速度を表す加速度ベクトルを、重力加速度ベクトルと前記移動物体の移動により生じる移動加速度ベクトルとに分離し、
前記重力加速度ベクトルと前記移動加速度ベクトルとの内積を計算し、
前記内積の符号が反転してから前記符号が反転前の符号へ反転するまでの期間において検出される加速度の個数をカウントし、
カウントした前記加速度の個数に基づいて前記複数時刻の個数を決定する、
ことを特徴とする付記６乃至９のいずれか１項に記載の移動情報計算装置。
（付記１１）
加速度センサにより第１の座標系において検出された所定期間内の複数時刻における移動物体の加速度を表す複数の加速度ベクトルを、第２の座標系における複数の加速度ベクトルに変換し、
前記第２の座標系における前記複数の加速度ベクトルを周波数領域表現の級数に変換し、
前記級数における所定次数の項の係数から前記移動物体の移動距離と移動方向とを求め、
前記移動距離と前記移動方向とを示す移動情報を出力する、
処理をコンピュータに実行させる移動情報計算プログラム。
（付記１２）
前記コンピュータは、フーリエ変換により前記第２の座標系における前記複数の加速度ベクトルを前記級数に変換し、前記級数における前記所定次数のコサイン係数から前記移動距離を求め、前記級数における前記所定次数のサイン係数から前記移動方向を求めることを特徴とする付記１１記載の移動情報計算プログラム。
（付記１３）
前記コンピュータは、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルと、地磁気センサにより検出された前記複数時刻における磁場を表す複数の磁場ベクトルとを用いて、前記第１の座標系から前記第２の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第２の座標系における前記複数の加速度ベクトルに変換することを特徴とする付記１１又は１２記載の移動情報計算プログラム。
（付記１４）
前記コンピュータは、角速度センサにより検出された前記複数時刻における前記移動物体の角速度を表す複数の角速度ベクトルを用いて、前記第１の座標系から前記第２の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第２の座標系における前記複数の加速度ベクトルに変換することを特徴とする付記１１又は１２記載の移動情報計算プログラム。
（付記１５）
前記コンピュータは、
前記加速度センサにより各時刻において検出された前記移動物体の加速度を表す加速度ベクトルを、重力加速度ベクトルと前記移動物体の移動により生じる移動加速度ベクトルとに分離し、
前記重力加速度ベクトルと前記移動加速度ベクトルとの内積を計算し、
前記内積の符号が反転してから前記符号が反転前の符号へ反転するまでの期間において検出される加速度の個数をカウントし、
カウントした前記加速度の個数に基づいて前記複数時刻の個数を決定する、
ことを特徴とする付記１１乃至１４のいずれか１項に記載の移動情報計算プログラム。
【符号の説明】
【０１４１】
１０１  移動情報計算装置
１１１  記憶部
１１２  変換部
１１３  計算部
１１４  出力部
３０１  加速度センサ
３０２  地磁気センサ
３１１  サイクル計算部
３１２  座標系計算部
３１３  加速度変換部
３２１  係数計算部
３２２  移動ベクトル計算部
５０１〜５０５  移動ベクトル
６０１  装置座標系
６０２  グローバル座標系
８０１  原点
８０２、１２０１、１２０２  移動軌跡
８１１  歩行加速度
８１２  ｘｙ平面成分
８１３  ｚ成分
８１４  ベクトル
８１５  ｘ成分
８１６  ｙ成分
９０１〜９０３  曲線
９１１〜９１３  振幅
１００１  単位ベクトル
１１０１  ジャイロセンサ
１２０３  移動方向
１２０４  起点
１６０１  ＣＰＵ
１６０２  メモリ
１６０３  入力装置
１６０４  出力装置
１６０５  補助記憶装置
１６０６  媒体駆動装置
１６０７  ネットワーク接続装置
１６０８  バス
１６０９  可搬型記録媒体
【図１】
0006536162.tif 000013
【図２】
0006536162.tif 000014
【図３】
0006536162.tif 000015
【図４】
0006536162.tif 000016
【図５】
0006536162.tif 000017
【図６】
0006536162.tif 000018
【図７】
0006536162.tif 000019
【図８】
0006536162.tif 000020
【図９】
0006536162.tif 000021
【図１０】
0006536162.tif 000022
【図１１】
0006536162.tif 000023
【図１２】
0006536162.tif 000024
【図１３】
0006536162.tif 000025
【図１４】
0006536162.tif 000026
【図１５】
0006536162.tif 000027
【図１６】
0006536162.tif 000028