(57)【要約】【課題】装置本体の装着位置や装着方向の影響を受けることなく、ユーザーの体動の方向（運動方向）に応じて、正確にユーザーの体動を検出できるようにする。【解決手段】制御部１１０により、３軸の加速度センサ１０１からの検出出力である加速度ベクトルを演算処理し、重力加速度ベクトルを算出する。算出した重力加速度ベクトルと、加速度ベクトルとを考慮した所定の演算処理により、加速度ベクトルに含まれる鉛直成分を抽出する。この鉛直成分を解析することにより、ユーザーの鉛直方向の体動を正確に検出する。【選択図】図１
2007226371.tif 000002
【特許請求の範囲】
【請求項１】
多軸の加速度センサと、
前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出手段と、
前記加速度センサからの前記加速度ベクトルと前記重力加速度算出手段により算出された前記重力加速度ベクトルとを用いて加速度の鉛直成分を抽出する鉛直成分抽出手段と、
前記鉛直成分抽出手段によって抽出された加速度の前記鉛直成分を解析することにより、鉛直方向の体動を検出する鉛直体動検出手段と
を備えることを特徴とする体動検出装置。
【請求項２】
請求項１に記載の体動検出装置であって、
前記鉛直検出手段によって検出された鉛直方向の体動をカウントするカウント手段を備えることを特徴とする体動検出装置。
【請求項３】
多軸の加速度センサと、
前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出手段と、
前記加速度センサからの加速度ベクトルと前記重力加速度算出手段により算出された前記重力加速度ベクトルの３次元空間における偏角に応じた演算式に基づいて加速度の水平成分を抽出する水平成分抽出手段と、
前記水平成分抽出手段によって抽出された加速度の前記水平成分を解析することにより、水平方向の体動を検出する水平体動検出手段と
を備えることを特徴とする体動検出装置。
【請求項４】
請求項３に記載の体動検出装置であって、
前記水平検出手段によって検出された水平方向の体動に応じて制御信号を形成する制御手段を備えることを特徴とする体動検出装置。
【請求項５】
多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出工程と、
前記加速度センサからの前記加速度ベクトルと前記重力加速度算出工程において算出した前記重力加速度ベクトルを用いて加速度の鉛直成分を抽出する鉛直成分抽出工程と、
前記鉛直成分抽出工程において抽出した加速度の前記鉛直成分を解析することにより、鉛直方向の体動を検出する鉛直体動検出工程と
を有することを特徴とする体動検出方法。
【請求項６】
請求項５に記載の体動検出方法であって、
前記鉛直検出工程において検出した鉛直方向の体動をカウントするカウント工程を有することを特徴とする体動検出方法。
【請求項７】
多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出工程と、
前記加速度センサからの前記加速度ベクトルと前記重力加速度算出工程において算出した前記重力加速度ベクトルの３次元空間における偏角に応じた演算式に基づいて加速度の水平成分を抽出する水平成分抽出工程と、
前記水平成分抽出工程において抽出した加速度の前記水平成分を解析することにより、水平方向の体動を検出する水平体動検出工程と
を有することを特徴とする体動検出方法。
【請求項８】
請求項７に記載の体動検出方法であって、
前記水平検出工程において検出した水平方向の体動に応じて制御信号を形成する制御工程を有することを特徴とする体動検出方法。
【請求項９】
多軸の加速度センサからの検出出力の供給を受けて、ユーザーの体動を検出する装置に搭載されたコンピュータに、
前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出ステップと、
前記加速度センサからの前記加速度ベクトルと前記重力加速度算出ステップにおいて算出した前記重力加速度ベクトルを用いて加速度の鉛直成分を抽出する鉛直成分抽出ステップと、
前記鉛直成分抽出ステップにおいて抽出した加速度の前記鉛直成分を解析することにより、鉛直方向の体動を検出する鉛直体動検出ステップと
を実行させることを特徴とする体動検出プログラム。
【請求項１０】
請求項９に記載の体動検出プログラムであって、
前記鉛直検出ステップにおいて検出した鉛直方向の体動をカウントするカウントステップを実行することを特徴とする体動検出プログラム。
【請求項１１】
多軸の加速度センサからの検出出力の供給を受けて、ユーザーの体動を検出する装置に搭載されたコンピュータに、
前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出ステップと、
前記加速度センサからの前記加速度ベクトルと前記重力加速度算出ステップにおいて算出した前記重力加速度ベクトルの３次元空間における偏角に応じた演算式に基づいて加速度の水平成分を抽出する水平成分抽出ステップと、
前記水平成分抽出ステップにおいて抽出した加速度の前記水平成分を解析することにより、水平方向の体動を検出する水平体動検出ステップと
を実行させることを特徴とする体動検出プログラム。
【請求項１２】
請求項１１に記載の体動検出プログラムであって、
前記水平検出ステップにおいて検出した水平方向の体動に応じて制御信号を形成する制御ステップを有することを特徴とする体動検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、歩数計などのユーザー（使用者）の体動を検出して計測できるようにするいわゆる体動検出装置に関する。
【背景技術】
【０００２】
従来の歩数計では、本体の装着位置や装着方向に制約があるものが多かったが、近年装着位置や装着方向を自由に設定できる体動検出装置が提案される。その中でも、多軸の加速度センサを用いて姿勢推定を行いつつ、同じセンサを用いて体動検出を行う方法および装置が提案されている。これは、姿勢の推定に角度センサ等を用いる方法と比較して、安価に実現できるという利点がある。
【０００３】
例えば、後に記す特許文献１には、互いに検出方向が異なる複数の体動センサにより加速度を検出し、各センサの信号パターンを解析することによって作用軸を判定/選択し、作用軸の信号解析によって歩行検出を行う方法が開示されている。また、後に記す特許文献２には、互いに直交する２軸もしくは３軸の加速度センサを搭載し、各軸のセンサ信号の合成ベクトルから体動の運動方向を推定し、推定した運動方向の信号成分を解析することによって体動を検出する方法が開示されている。
【０００４】
なお、上述した特許文献１、特許文献２は以下に示す通りである。
【特許文献１】特開２００４−１４１６６９号公報
【特許文献２】特開２００５−１４０５３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された方法では、複数のセンサから測定に適したセンサを作用軸として一つだけ選択するため、検出するユーザーの体動の方向（運動方向）と選定した作用軸とが一致しないケースも多く、装置本体の装着方向に依存しない信号検出方法としては十分ではないと考えられる。
【０００６】
また、特許文献２に開示された方法では、たとえば吊り紐で装置をぶら下げたような場合に、各軸のセンサ信号から算出された合成ベクトルに振り子運動などユーザーの運動方向とは関係のないノイズ成分が混入し、方向の推定が正しく出来なくなる。したがって、この特許文献２に開示された方法も装置本体の装着方向に依存しない信号検出手段として十分ではないと考えられる。
【０００７】
以上のことにかんがみ、この発明は、装置本体の装着位置や装着方向の影響を受けることなく、ユーザーの体動の方向（運動方向）に応じて、正確にユーザーの体動を検出できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、請求項１に記載の発明の体動検出装置は、
多軸の加速度センサと、
前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出手段と、
前記加速度センサからの前記加速度ベクトルと前記重力加速度算出手段により算出された前記重力加速度ベクトルとを用いて加速度の鉛直成分を抽出する鉛直成分抽出手段と、
前記鉛直成分抽出手段によって抽出された加速度の前記鉛直成分を解析することにより、鉛直方向の体動を検出する鉛直体動検出手段と
を備えることを特徴とする。
【０００９】
この請求項１に記載の発明の体動検出装置によれば、重力加速度算出手段により、多軸の加速度センサからの検出出力である加速度ベクトルが演算処理されることにより、重力加速度ベクトルが算出される。算出された重力加速度ベクトルは、鉛直成分抽出手段に供給され、ここで加速度ベクトルをも考慮した所定の演算処理により、加速度ベクトルに含まれる鉛直成分が抽出される。この鉛直成分が鉛直体動検出手段により解析され、ユーザーの鉛直方向の体動を正確に検出することができるようにされる。
【００１０】
このように、加速度センサからの検出出力である加速度ベクトルから、重力加速度ベクトルを求め、この重力加速度ベクトルと加速度ベクトルとを総合的に用いて加速度ベクトルの鉛直成分を求めるようにしているので、当該体動検出装置の装着位置や装着方向の影響を受けることなく、ユーザーの鉛直方向の体動を正確に検出することができるようにされる。
【００１１】
また、請求項３に記載の発明の体動検出装置は、
多軸の加速度センサと、
前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出する重力加速度算出手段と、
前記加速度センサからの加速度ベクトルと前記重力加速度算出手段により算出された前記重力加速度ベクトルの３次元空間における偏角に応じた演算式に基づいて加速度の水平成分を抽出する水平成分抽出手段と、
前記水平成分抽出手段によって抽出された加速度の前記水平成分を解析することにより、水平方向の体動を検出する水平体動検出手段と
を備えることを特徴とする。
【００１２】
この請求項３に記載の発明の体動検出装置によれば、重力加速度算出手段により、多軸の加速度センサからの検出出力である加速度ベクトルが演算処理されることにより、重力加速度ベクトルが算出される。算出された重力加速度ベクトルは、水平成分抽出手段に供給され、加速度ベクトルと、重力加速度ベクトルの３次元空間における偏角を考慮した所定の演算式に基づいて、加速度ベクトルの水平成分が分離され抽出される。この水平成分が水平体動検出手段により解析され、ユーザーの水平方向の体動を正確に検出することができるようにされる。
【００１３】
このように、加速度センサからの検出出力である加速度ベクトルから、重力加速度ベクトルを求め、加速度ベクトルと重力加速度ベクトルとを総合的に用いて、加速度ベクトルの水平成分を求めるようにしているので、当該体動検出装置の装着位置や装着方向の影響を受けることなく、ユーザーの水平方向の体動を正確に検出することができるようにされる。
【発明の効果】
【００１４】
ユーザーに対する装置の装着位置や装着方向の影響を受けて、ユーザーの体動の検出精度に違いが発生することを防止し、安定した体動検出を実現することができる。また、角度センサなど付加的なセンサを必要とせずに安価にて実現することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図を参照しながら、この発明による装置、方法、プログラムの一実施の形態について説明する。
【００１６】
［この発明の基本的な考え方について］
まず、この発明による装置、方法、プログラムの一実施の形態の具体的な説明に先立って、当該一実施の形態の説明を容易にするため、この発明の基本的な考え方について説明する。この発明の基本的な考え方を簡単に示すと、「（１）互いに直交する軸により構成された多軸の加速度センサを用い、当該多軸の加速度センサからの検出出力を用いて、その重力場における重力加速度ベクトルを推定し、（２）この重力加速度ベクトルの推定結果に基づいて、同じ加速度センサの検出出力から鉛直方向の信号成分を抽出する。」というものである。
【００１７】
このように、多軸の加速度センサからの全ての軸についての検出出力を総合的に用いて、鉛直成分を抽出することによって、作用軸を推定する必要がなく、ユーザーに対する加速度センサの装着位置や装着方向に左右されること無く、ユーザーの少なくとも鉛直方向の運動を正確に検出することができるようにするものである。
【００１８】
ここで、３軸の加速度センサを用いる場合について具体的に説明する。加速度センサをＸ軸、Ｙ軸、Ｚ軸の３軸とし、当該加速度センサから得られるある時点ｎの加速度ベクトルａｎを図６の（１−１）式に示すように、ａｘｎ（Ｘ軸成分）、ａｙｎ（Ｙ軸成分）、ａｚｎ（Ｚ軸成分）で表すものとする。この図６の（１−１）式に示した加速度ベクトル（加速度ベクトルのデータ系列）ａｎから重力加速度ベクトルｇの推定を行うと共に、体動検出をも行うようにする。
【００１９】
具体的には、重力加速度ベクトルｇの推定は、より簡便には加速度ベクトルａｎの各軸の移動平均値を算出し、その平均ベクトルを重力加速度ベクトルｇとする方法がある。この場合、体動による信号成分の影響を少なくするために、十分長い区間で移動平均の計算を行うことが望ましい。また、加速度ベクトルａｎの各軸の値を、最小二乗法などを用いて解析し、重力加速度ベクトルｇの算出を行うようにする方法を用いるようにしてもよい。
【００２０】
加速度ベクトルａｎを用いて重力加速度ベクトルｇを推定した結果を、図６の（１−２）式に示すように、ｇｘ（Ｘ軸成分）、ｇｙ（Ｙ軸成分）、ｇｚ（Ｚ軸成分）で表すものとする。この場合、加速度ベクトルａｎの鉛直成分ｖｎは、図６の（１−３）式に示す演算により求めることができる。すなわち、加速度ベクトルａｎの鉛直成分ｖｎは、図６の（１−３）式に示したように、重力加速度ベクトルｇの内積と加速度ベクトルａｎの積を重力加速度ベクトルｇの絶対値（大きさ）で割り算することにより求めることができる。
【００２１】
このように、３軸の加速度センサにより検出される加速度ベクトルａｎと当該加速度ベクトルから求められる重力加速度ｇとから、鉛直成分ｖｎを演算により正確に求めることができる。すなわち、３軸の加速度センサからの検出出力を総合的に用い、その中から鉛直成分のみを数値計算により分離することにより、ユーザーの鉛直方向の体動を正確に検出できるという着想に基づいてこの発明はなされている。
【００２２】
また、重力加速度ベクトルｇの３次元空間における偏角を求めたうえで、加速度ベクトルａｎを回転させることによっても同様の計算ができる。すなわち、重力加速度ベクトルｇについての偏角θ、φを、図７の（２−１）、（２−２）に示すときに、図７の（２−３）式により計算されるａ´ｘｎは、加速度ベクトルａｎの鉛直成分であり、ａ´ｘｎは、鉛直成分ｖｎと一致する。また、ベクトルａ´ｙｎとベクトルａ´ｚｎの内積は、重力加速度ベクトルｇを法線ベクトルとする平面への加速度ベクトルａｎの正射影である。
【００２３】
つまり、３軸の加速度センサからの検出出力により得られる加速度ベクトルａｎを鉛直成分と水平成分に成分分解できるため、鉛直成分のみならず、水平成分を解析することによって水平方向の体動をも検出することができる。具体的には、水平ベクトルの長さｈｎは、図８の（３−１）式や図８の（３−２）式によって求めることができる。
【００２４】
このように、重力加速度ベクトルの偏角を考慮した演算式を用いる場合には、ユーザーの鉛直方向の体動と水平方向の体動とを、比較的に簡単に、しかも正確に求めることができる。
【００２５】
なお、ここでは３軸の加速度センサを用いる場合を例にして説明したが、これに限るものではない。この発明の基本的なコンセプトは、２軸の加速度センサを用いる場合にも３軸の加速度センサを用いる場合と同様にして適用可能である。
【００２６】
すなわち、２軸の加速度センサにより検出する加速度ベクトルａｎと重力加速度ベクトルｇとを、図９の（４−１）式（加速度ベクトル）、図９の（４−２）式（重力加速度ベクトル）のように表すものとすると、３軸の加速度センサを用いる場合と同様に、図６の（１−３）式にしたがって鉛直成分を計算することができる。
【００２７】
また、重力加速度ベクトルｇの偏角θを、図９の（４−３）式に示すように表すものとすると、図９の（４−４）式にしたがって、加速度ベクトルａｎについて、その鉛直成分ａ´ｘｎとこれに直交する水平成分ａ´ｙｎに成分分解でき、ａ´ｘｎと鉛直成分ｖｎとは一致する。
【００２８】
このように、図９に示した各式、および、図６に示した（１−３）式により、２軸の加速度センサを用いた場合であっても、ユーザーの鉛直方向の体動を正確に検出することができるし、また、重力加速度ベクトルｇの偏角θを考慮するようにした場合には、ユーザーの水平方向の体動をも正確に検出することが可能となる。
【００２９】
図１０は、ユーザーに装着するようにした３軸の加速度センサにより、当該ユーザーが歩行など運動を行っている場合に、サンプリング周波数５０Ｈｚで４秒間、加速度データを取得した場合における、この取得した加速度データと、これを上述したこの発明の基本的なコンセプトにしたがって成分分解した場合に得られるデータとをグラフ化して示したものである。
【００３０】
すなわち、図１０Ａは、３軸の加速度センサからの加速度データのグラフであり、図１０Ｂは、３軸の加速度データから計算した加速度ベクトルの長さ（大きさ）のグラフであり、図１０Ｃは、図６〜図８を用いて説明した方法によって、３軸の加速度データから計算して得られた鉛直成分のグラフである。また、図１０Ｄは、図６〜図８を用いて説明した方法によって、３軸の加速度データから計算して得られた水平成分のグラフである。
【００３１】
そして、この図１０に示したグラフは、加速度データの検出時において、ユーザーは主に鉛直方向の運動を行っていたが、約８０サンプル目、約１００サンプル目および１７０サンプル目に水平方向の運動が発生し、これがノイズ成分として存在している場合を示している。
【００３２】
しかし、ノイズ成分は水平成分に存在するものであるために、この発明の基本的なコンセプトにしたがって、加速度データ（加速度ベクトル）を鉛直成分（図１０Ｃ）と水平成分（図１０Ｄ）とに成分分解すれば、鉛直成分からは水平成分のノイズを除去することができるので、ユーザーの鉛直方向の体動を正確に検出できることが分かる。もちろん、水平成分からは鉛直成分のノイズを除去することができるので、ユーザーの水平方向の体動を正確に検出できる。すなわち、成分分解することにより、ノイズの低減効果がある。
【００３３】
［発明の具体的な適用例について］
上述したこの発明の基本的な考え方を適用して実現する、この発明による装置、方法、プログラムの一実施の形態について、以下に具体的に説明する。
【００３４】
［歩数計への適用］
まず、この発明の装置、方法、プログラムの一実施の形態を歩数計に適用した場合を例にして説明する。図１は、この実施の形態の歩数計１００を説明するためのブロック図である。図１に示すように、この実施の形態の歩数計１００は、制御部１１０に対して、３軸の加速度センサ１０１がＡ／Ｄ変換部１０２を介して接続されると共に、表示部１０３、操作部１０４が接続されて形成されたものである。
【００３５】
３軸の加速度センサ１０１は、１軸の加速度センサを互いに直交するＸ軸、Ｙ軸、Ｚ軸の３軸に配置して形成されたもの、あるいは、直交する３軸の加速度センサがひとつのパッケージに封入されて形成されたもののいずれを用いてもよい。３軸の加速度センサ１１０からのＸ軸、Ｙ軸、Ｚ軸のそれぞれの検出出力（アナログ出力）は、Ａ／Ｄ変換部１０２に供給され、ここで制御部１１０において処理可能な形式のデジタルデータに変換されて制御部１１０に供給される。
【００３６】
制御部１１０は、この実施の形態の歩数計１００の各部を制御するものであり、図１に示すように、ＣＰＵ（Central Processing Unit）１１１、ＲＯＭ（Read Only Memory）１１２、ＲＡＭ（Random Access Memory）１１３、不揮発性メモリ１１４が、ＣＰＵバス１１５を通じて接続されてマイクロコンピュータの構成とされたものである。
【００３７】
ここで、ＣＰＵ１１１は、各種のプログラムを実行し、各部に供給する制御信号を形成したり、各種の演算を行ったりするなど、制御部１１０における処理や制御の主体となるものである。ＲＯＭ１１２は、ＣＰＵ１１１が実行する各種のプログラムや処理に必要になるデータを記憶保持する。
【００３８】
また、ＲＡＭ１１３は、処理の途中結果を一時記憶するなど、主に作業領域として用いられるものである。不揮発性メモリ１１４は、例えば、ＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）やフラッシュメモリなどの電源が落とされても記憶データが消滅することのないメモリであり、電源が落とされても保持しておくべきデータ、例えば設定されたパラメータや追加されたプログラムなどを記憶保持する。
【００３９】
また、制御部１１０に接続された表示部１０３は、表示制御回路を含み、例えば、ＬＣＤ（Liquid Crystal Display）、有機ＥＬ（Electro Luminescence）ディスプレイ、ＣＲＴ（Cathode-Ray Tube）等の表示素子を備え、制御部１１０の制御に応じて歩数のカウント値や種々のガイダンス情報等を表示する。具体的には、表示部１０３は、制御部１１０から表示データの供給を受けて、この表示データから表示素子に供給する映像信号を形成し、これを表示素子に供給することによって、制御部１１０からの表示データに応じた表示情報を表示素子の表示画面に表示する。
【００４０】
また、操作部１０４は、リセットキーや各種のファンクションキーなどを備え、ユーザーからの操作入力を受け付けて、これに応じた電気信号を制御部１１０に供給することができるものである。これに応じて、制御部１１０は各部を制御し、ユーザーの指示に応じた処理を行うことができるようにしている。
【００４１】
そして、この実施の形態の歩数計１００において、制御部１１０が、３軸の加速度センサ１０１からの検出出力（加速度ベクトルのデータ）の供給を受けて、この検出出力から所定の計算式に基づいて重力加速度ベクトルを算出する。そして、制御部１１０は、算出した重力加速度ベクトルと、３軸の加速度センサ１０１からの加速度ベクトルとを考慮した所定の計算式に基づいて、加速度ベクトルの鉛直成分を抽出する。
【００４２】
そして、制御部１１０は、抽出した加速度ベクトルの鉛直成分を解析することによって、ユーザーの鉛直方向の体動、すなわち歩行に応じた体動を検出し、これをカウントすることによりユーザーの歩数を正確に計測することができるようにしている。すなわち、制御部１１０は、重力加速度算出手段としての機能と、鉛直成分抽出手段としての機能と、鉛直方向の体動を検出する鉛直体動検出手段としての機能と、検出した鉛直方向の体動をカウントするカウント手段としての機能とを実現するものである。
【００４３】
図２は、図１に示したこの実施の形態の歩数計１００の主に制御部１１０において実行される歩数カウントを行う処理を説明するためのフローチャートである。この実施の形態の歩数計１００に電源が投入され、操作部１０４を通じて歩数の計測を実行するようにする指示入力を受け付けると、制御部１１０のＣＰＵ１１１は、図２に示す処理を実行する。
【００４４】
まず、制御部１１０は、Ａ／Ｄ変換部１０２を通じて供給される加速度データ（加速度ベクトル）の取得を開始し（ステップＳ１０１）、重力加速度ベクトルｇの初期値を算出する（ステップＳ１０２）。そして、サンプルカウンタｃをリセット（ゼロクリア）する（ステップＳ１０３）。このステップＳ１０１〜ステップＳ１０３までの処理が電源投入後のいわゆる初期処理に相当する。
【００４５】
そして、制御部１１０は、サンプルカウンタｃの値は、予め決められた値Ｎより大きいか否かを判断する（ステップＳ１０４）。この実施の形態においては、演算量を削減するために、重力加速度ベクトルｇの再計算は、Ｎ（Ｎは、１以上の整数）サンプルおきに行うようにしている。
【００４６】
ステップＳ１０４の判断処理において、サンプルカウンタｃが規定値Ｎよりも大きいと判断したときには、制御部１１０は、重力加速度ベクトルｇの再計算処理を行って（ステップＳ１０５）、この後、サンプルカウンタｃに値０をセットする（ステップＳ１０６）。すなわち、ステップＳ１０６の処理は、サンプルカウンタｃのリセット処理である。
【００４７】
そして、制御部１１０は、ステップＳ１０４において、サンプルカウンタｃの値は、値Ｎより大きくないと判断した場合には、ステップＳ１０２において算出した重力加速度ベクトルｇの初期値と最新の加速度ベクトルａｎとを用いて、加速度ベクトルの鉛直成分ｖｎを抽出する（ステップＳ１０７）。
【００４８】
すなわち、この実施の形態において、ステップＳ１０５の重力加速度ベクトルｇの再計算処理と、ステップＳ１０２の重力加速度ベクトルの初期値の算出処理は、基本的に同じ処理であり、加速度ベクトルの各軸のデータの移動平均を取ることによって、重力加速度の推定値として、重力加速度ベクトルｇを算出する。
【００４９】
ステップＳ１０３、ステップＳ１０５で行われる処理を具体的に説明すると、現在のサンプル位置をｎ１として、過去Ｍサンプル分の加速度データから重力加速度を求める場合には、図３に示す計算により求めることができる。すなわち、Ｘ軸の重力加速度ベクトルｇｘを求める場合には、図３（１）式に示したように、現在のサンプル位置よりもＭ＋１サンプル前からｎ１までの各サンプルにおけるＸ軸の加速度データａｘｎを加算して合計値を求め、この合計値を値Ｍで割り算することにより、Ｘ軸の重力加速度ベクトルｇｘが求められる。
【００５０】
同様に、Ｙ軸の重力加速度ベクトルｇｙを求める場合には、図３（２）式に示したように、現在のサンプル位置よりもＭ＋１サンプル前からｎ１までの各サンプルにおけるＹ軸の加速度データａｙｎを加算して合計値を求め、この合計値を値Ｍで割り算することにより、Ｙ軸の重力加速度ベクトルｇｙが求められる。また、Ｚ軸の重力加速度ベクトルｇｚを求める場合には、図３（３）式に示したように、現在のサンプル位置よりもＭ＋１サンプル前からｎ１までの各サンプルにおけるＺ軸の加速度データａｚｎを加算して合計値を求め、この合計値を値Ｍで割り算することにより、Ｚ軸の重力加速度ベクトルｇｚが求められる。
【００５１】
そして、図３に示した計算式にしたがって重力加速度ベクトルを算出する場合には、動きによる加速度成分が平均化されてキャンセルされるように十分長い区間で平均を取るようにすることが望ましい。しかし、あまり長すぎると装置の傾きに追従しなくなりため（装置の傾きを正しく反映させることができなくなるために）、例えば、数秒間程度に設定するのが適当である。
【００５２】
そして、ステップＳ１０７の鉛直成分の抽出処理においては、図６に示した(１−３)式により、あるいは、図７に示した（２−３）式により、最新の加速度ベクトルａｎと重力加速度ベクトルｇとに基づいて、鉛直成分ｖｎを求める（抽出する）ことができる。このようにして求めた鉛直成分ｖｎには、ユーザーの歩行運動に伴う上下動に対応したピークが現れる。
【００５３】
したがって、制御部１１０は、ステップＳ１０７において抽出した鉛直成分について、適宜閾値判定することによってユーザーの鉛直方向の体動を検出することができ、これをカウントすることによって、ユーザーの歩行に対応する歩数を正確にカウントすることができる（ステップＳ１０８）。
【００５４】
そして、制御部１１０は、３軸の加速度センサ１０１からの最新の加速度ベクトルを取得し（ステップＳ１０９）、サンプルカウンタｃに１加算して（ステップＳ１１０）、ステップＳ１０４からの処理を繰り返すようにする。
【００５５】
このようにして、この実施の形態の歩数計１００は、３軸の加速度センサ１０１からの加速度ベクトルａｎの提供を受けて、重力加速度ベクトルｇを算出し、この重力加速度ベクトルｇと、加速度ベクトルａｎとを用いて数値計算により、加速度ベクトルａｎの鉛直成分ｖｎを抽出することができる。
【００５６】
ユーザーの身体にこの実施の形態の歩数計１００を装着した状態での歩行時の計測データから鉛直成分を抽出したものは、歩行にともなう上下動に対応したピークが現れるので、上述もしたように、これを適宜閾値判定することによって歩行をカウントできる。すなわち、歩数計１００をユーザーの身体に装着する場合において、作用軸を想定した通りに設定できるように、歩数計の装着位置や装着方向などに左右されることなく、ユーザーの身体の適宜の位置に装着して、ユーザーの歩数を正確に計測可能な歩数計を実現することができる。
【００５７】
なお、図２に示したように、この実施の形態の歩数計１００においては、重力加速度の推定は、演算量削減のためにＮサンプルおきに行うようにしたが、これに限るものではない。重力加速度の推定についても毎サンプルごとに行ってもよい。重力加速度の推定のための演算処理は、各軸のデータの移動平均をとるものに限るものではない。例えば、最小二乗法などを用いてもよい。
【００５８】
なお、図２に示したフローチャートの処理は、この発明の方法に対応するものである。そして、上述の説明においては、重力加速度算出手段としての機能と、鉛直成分抽出手段としての機能と、鉛直方向の体動を検出する鉛直体動検出手段としての機能と、検出した鉛直方向の体動をカウントするカウント手段としての機能を制御部１１０が実現するものとして説明した。
【００５９】
すなわち、図２に示したフローチャートの各ステップの処理を実行するプログラム（ソフトウェア）を作成し、これを制御部１１０のＲＯＭ１１２に格納しておくことにより、上述した歩数計１００を実現することができる。もちろん、重力加速度算出手段としての機能と、鉛直成分抽出手段としての機能と、鉛直方向の体動を検出する鉛直体動検出手段としての機能と、検出した鉛直方向の体動をカウントするカウント手段としての機能とのそれぞれは異なる回路によって構成するようにすることも可能である。
【００６０】
［ユーザーインターフェース装置への適用］
次に、この発明の装置、方法、プログラムの一実施の形態をユーザーインターフェース装置に適用した場合を例にして説明する。この実施の形態のユーザーインターフェース装置２００は、ユーザーの水平方向の体動を検出し、これをユーザーからの入力情報として用いて装置の動作を制御することができるものである。
【００６１】
図４は、この実施の形態のユーザーインターフェース装置２００を説明するためのブロック図である。図４に示すように、この実施の形態のインターフェース装置２００は、出力部２０１が設けられている点を除けば、図１に示した歩数計１００と同様に構成されるものである。このため、図４に示したユーザーインターフェース装置２００において、図１に示した歩数計１００と同様に構成される部分には同じ参照符号を付し、その部分の詳細な説明については省略する。
【００６２】
そして、図１を用いて説明した歩数計１００が、加速度センサ１０１からの加速度ベクトルａｎの鉛直成分ｖｎを抽出／処理したのにたいし、この実施の形態のユーザーインターフェース装置２００は、加速度センサ１０１からの加速度ベクトルａｎの水平成分ｈｎを抽出／処理する点で異なっている。
【００６３】
この実施の形態のユーザーインターフェース装置２００は、ユーザーの水平方向の体動を検出した場合に、これを通知する信号を出力部２０１が出力し、外部機器に供給することによって、当該外部機器を制御することができるものである。この場合、出力部２０１としては、赤外線発光部からなる赤外線のリモコン信号の送出部や無線電波信号の送信部、あるいは、有線により接続された外部機器に対して電気信号を送出する出力端などとして実現される部分である。
【００６４】
そして、この実施の形態のユーザーインターフェース装置２００は、ユーザーが手に持って使用するようにされ、ユーザーが当該ユーザーインターフェース装置２００を水平に振ったことを検出した場合に、例えば、電源のオン／オフ信号を生成して、出力部２０１を通じて外部機器に対して送出し、外部機器を遠隔制御することができるものである。
【００６５】
なお、電源のオン／オフ以外の操作については、操作部１０４を通じて受け付けたユーザーからの操作入力に応じた信号を制御部１１０において生成し、これを出力部２０１を通じて相手先に送出することによって種々の遠隔制御を行うことができる。そして、上述したように、電源のオン／オフについては、当該ユーザーインターフェース装置を水平方向に振るだけで行うことができるし、また、鉛直方向に振っても電源のオン／オフは行なわれないので、誤操作も防止することができる。
【００６６】
そして、当該ユーザーインターフェース装置２００においても、制御部１１０が、３軸の加速度センサ１０１からの検出出力（加速度ベクトルのデータ）の供給を受けて、この検出出力から所定の計算式に基づいて重力加速度ベクトルを算出する。そして、制御部１１０は、算出した重力加速度ベクトルと、３軸の加速度センサ１０１からの加速度ベクトルとを考慮した所定の計算式に基づいて、加速度ベクトルの水平成分を抽出する。
【００６７】
そして、制御部１１０は、抽出した加速度ベクトルの水平成分を解析することによって、ユーザーの水平方向の体動、すなわち、当該ユーザーインターフェース装置２００がユーザーによって水平方向に振られたか否かを検出し、水平方向に振られたことを検出した場合には、電源のオン／オフ制御信号を形成して出力部２０１から送出することができるようにしている。
【００６８】
すなわち、このユーザーインターフェース装置２００において、制御部１１０は、重力加速度算出手段としての機能と、水平成分抽出手段としての機能と、水平方向の体動を検出する水平体動検出手段としての機能と、検出した水平方向の体動に応じて制御信号を形成する制御手段としての機能とを実現するものである。
【００６９】
図５は、図４に示したこの実施の形態のユーザーインターフェース装置２００の主に制御部１１０において実行される処理を説明するためのフローチャートである。この実施の形態のユーザーインターフェース装置２００に電源が投入されると、制御部１１０のＣＰＵ１１１は、図５に示す処理を実行する。
【００７０】
まず、制御部１１０は、Ａ／Ｄ変換部１０２を通じて供給される加速度データ（加速度ベクトル）の取得を開始し（ステップＳ２０１）、重力加速度ベクトルｇの初期値を算出する（ステップＳ２０２）。そして、サンプルカウンタｃをリセット（ゼロクリア）する（ステップＳ２０３）。このステップＳ２０１〜ステップＳ２０３までの処理が電源投入後のいわゆる初期処理に相当する。
【００７１】
そして、制御部１１０は、サンプルカウンタｃの値は、予め決められた値Ｎより大きいか否かを判断する（ステップＳ２０４）。このユーザーインターフェース装置２００においても、図２を用いて説明した歩数計１００の処理と同様に、演算量を削減するために、重力加速度ベクトルｇの再計算は、Ｎ（Ｎは、１以上の整数）サンプルおきに行うようにしている。
【００７２】
ステップＳ２０４の判断処理において、サンプルカウンタｃが規定値Ｎよりも大きいと判断したときには、制御部１１０は、重力加速度ベクトルｇの再計算処理を行って（ステップＳ２０５）、この後、サンプルカウンタｃに値０をセットする（ステップＳ２０６）。すなわち、ステップＳ２０６の処理は、サンプルカウンタｃのリセット処理である。
【００７３】
そして、制御部１１０は、ステップＳ２０４において、サンプルカウンタｃの値は、値Ｎより大きくないと判断した場合には、ステップＳ２０２において算出した重力加速度ベクトルｇの初期値と最新の加速度ベクトルａｎとを用いて、加速度ベクトルの水平成分ｈｎを抽出する（ステップＳ２０７）。
【００７４】
すなわち、図５に示す処理においても、ステップＳ２０５の重力加速度ベクトルｇの再計算処理と、ステップＳ２０２の重力加速度ベクトルの初期値の算出処理は、基本的に同じ処理であり、加速度ベクトルの各軸のデータの移動平均を取ることによって、重力加速度の推定値として、重力加速度ベクトルｇを算出する。ステップＳ２０３、ステップＳ２０５で行われる具体的な処理内容は、図３を用いて説明した通りである。
【００７５】
そして、ステップＳ２０７の水平成分の抽出処理においては、図７に示した（２−３）式および図８に示した(３−１)式により、あるいは、図８の（３−２）式により、最新の加速度ベクトルａｎと重力加速度ベクトルｇとに基づいて、水平成分ｈｎを求める（抽出する）ことができる。このようにして求めた水平成分ｖｎには、ユーザーが当該ユーザーインターフェース装置を水平に振るようにした場合の動きに対応したピークが現れる。
【００７６】
したがって、制御部１１０は、ステップＳ２０７において抽出した水平成分について、適宜閾値判定することによってユーザーの水平方向の体動を検出するようにし、検出できた場合には、これに応じて制御信号を形成して、これを出力する（ステップＳ２０８）。そして、制御部１１０は、３軸の加速度センサ１０１からの最新の加速度ベクトルを取得し（ステップＳ２０９）、サンプルカウンタｃに１加算して（ステップＳ２１０）、ステップＳ２０４からの処理を繰り返すようにする。
【００７７】
このようにして、この実施の形態のユーザーインターフェース装置２００は、３軸の加速度センサ１０１からの加速度ベクトルａｎの提供を受けて、重力加速度ベクトルｇを算出し、この重力加速度ベクトルｇと、加速度ベクトルａｎとを用いて数値計算により、加速度ベクトルａｎの水平成分ｈｎを抽出することができる。
【００７８】
そして、この実施の形態のユーザーインターフェース装置２００の場合にも、上述した歩数計１００の場合と同様に、ユーザーインターフェース装置２００の持つ向きや持ち方などに左右されることなく、ユーザーがユーザーインターフェース装置を持って水平方向に振る動作を正確に検出して、これを利用することができる。
【００７９】
なお、図５に示したように、この実施の形態のユーザーインターフェース装置２００においては、重力加速度の推定は、演算量削減のためにＮサンプルおきに行うようにしたが、これに限るものではない。重力加速度の推定についても毎サンプルごとに行ってもよい。重力加速度の推定のための演算処理は、各軸のデータの移動平均をとるものに限るものではない。例えば、最小二乗法などを用いてもよい。
【００８０】
なお、図４に示したフローチャートの処理は、この発明の方法に対応するものである。そして、上述の説明においては、重力加速度算出手段としての機能と、水平成分抽出手段としての機能と、水平方向の体動を検出する水平体動検出手段としての機能と、検出した水平方向の体動に応じて制御信号を形成する制御手段としての機能を制御部１１０が実現するものとして説明した。
【００８１】
すなわち、図２に示したフローチャートの各ステップの処理を実行するプログラム（ソフトウェア）を作成し、これを制御部１１０のＲＯＭ１１２に格納しておくことにより、上述したユーザーインターフェース装置２００を実現することができる。もちろん、重力加速度算出手段としての機能と、水平成分抽出手段としての機能と、水平方向の体動を検出する水平体動検出手段としての機能と、検出した水平方向の体動に応じて制御信号を形成する制御手段としての機能とのそれぞれを異なる回路によって構成するようにすることも可能である。
【００８２】
また、ここではユーザーインターフェース装置２００は、ユーザーによって水平方向に振られた場合に、例えば電源のオン／オフ制御信号を形成して外部機器に対して送出するものとして説明した。ここで、外部機器としては、テレビ受像機、ラジオ受信機、ＶＴＲ（Video Tape Recorder）やＤＶＤプレーヤやＣＤプレーヤなどの再生装置や記録再生装置、その他の種々の電子機器が想定できる。
【００８３】
また、携帯型の音楽再生装置、携帯電話端末、携帯情報端末など種々の携帯電子機器が用いられているが、このような機器に上述したユーザーインターフェース装置２００を搭載し、水平方向に振られた場合、電源がオフの状態にあればオンにし、オンの状態にあればオフにするなど、水平方向の体動を検出した場合に制御を実行するなどのこともできる。
【００８４】
なお、この場合、電源がオンの状態にあるときにオフにする場合には、処理の実行中か否かを判断し、処理の実行中でない場合においてのみ、電源をオフにし、何らかの処理が実行されている場合には、警告音を放音するなどして、電源をオフにした場合に不都合が生じる可能性がある場合には、電源をオフにしないように制御するなどのことももちろん可能である。
【００８５】
また、上述した実施の形態においては、歩数計１００において鉛直方向の体動検出を行い、ユーザーインターフェース装置２００において水平方向の体動検出を行うようにしたが、これに限るものではない。１つの機器において、鉛直方向の体動検出と水平方向の体動検出とを行うようにすることもできる。
【００８６】
例えば、歩数計１００において、水平方向の体動検出をも行うようにすれば、歩数計１００を水平方向に振ることによって、電源のオン／オフを行い、電源がオンにされた後においては、鉛直方向の体動を検出してこれをカウントすることにより、正確に歩数を計測する歩数計として機能するようにすることもできる。
【００８７】
また、ユーザーインターフェース装置２００において、鉛直方向の体動検出をも行うようにし、鉛直方向の体動を検出した場合と、水平方向の体動を検出した場合とで、異なる制御を行うようにすることもできる。
【００８８】
また、この発明を、例えば携帯型のハードディスクプレーヤ、ＭＤ（ミニディスク（登録商標））プレーヤ、音楽再生機能付きの携帯情報端末や携帯電話端末などの種々の携帯型の音楽再生機に適用し、ユーザーの鉛直方向の体動を正確に検出すると共に、その鉛直方向の体動の周期からユーザーの鉛直方向の体動のテンポを把握し、このユーザーの体動のテンポに一致するように、音楽の再生テンポを制御するようにすることもできる。もちろん、鉛直方向の体動だけでなく、水平方向の体動に応じて制御することも可能である。
【００８９】
なお、ここで、音楽の再生テンポは、音楽データの再生時の速さであり、１分間あたりの拍の数（ＢＰＭ：Beat Per Minutes）を意味する。また、ユーザーの体動テンポは、具体的には、動作（体動）の速度であって、例えば、使用者の動作（体動）がウォーキングやランニングなどの場合には、１分間あたりの歩数であり、また、動作がジャンプの場合には、１分間当たりのジャンプの回数であるというように、１分間当たりの使用者の計数可能な最小の動作の単位（１つの動作（体動））の数を意味する。
【００９０】
このように、この発明は、単にユーザーの体動を正確に検出するだけでなく、検出した体動に基づいて、体動のテンポをも把握し、これに応じて音楽（楽曲）等のコンテンツの再生制御などを行うようにすることができる。もちろん、音楽などの再生制御に限らず、ユーザーの体動に合わせて制御すべき種々の機器の動作を制御する場合にも利用可能である。
【図面の簡単な説明】
【００９１】
【図１】この発明の一実施の形態が適用された歩数計を説明するためのブロック図である。
【図２】図１に示した歩数計において実行される処理を説明するためのフローチャートである。
【図３】図１に示した歩数計においての重力加速度ベクトルの算出式を説明するための図である。
【図４】この発明の一実施の形態が適用されたユーザーインターフェース装置を説明するためのブロック図である。
【図５】図４に示したユーザーインターフェース装置において実行される処理を説明するためのフローチャートである。
【図６】３軸の加速度センサを用いた場合における、加速度ベクトルａｎ、重力加速度ベクトルｇ、加速度ベクトルａｎの鉛直成分ｖｎについて説明するための図である。
【図７】３軸の加速度センサを用いた場合における、重力加速度ベクトルｇの偏角を考慮して加速度ベクトルａｎの鉛直成分ｖｎを求める場合を説明するための図である。
【図８】３軸の加速度センサを用いた場合における、加速度ベクトルａｎの水平成分ｈｎを求める場合を説明するための図である。
【図９】２軸の加速度センサを用いた場合における、加速度ベクトルａｎ、重力加速度ベクトルｇ、加速度ベクトルａｎの鉛直成分ｖｎについて説明するための図である。
【図１０】加速度データ、加速度ベクトルの長さ、鉛直成分、水平成分のグラフの一例を説明するための図である。
【符号の説明】
【００９２】
１００…歩数計、１０１…３軸の加速度センサ、１０２…Ａ／Ｄ変換部、１０３…表示部、１０４…操作部、１１０…制御部、１１１…ＣＰＵ、１１２…ＲＯＭ、１１３…ＲＡＭ、１１４…不揮発性メモリ、２００…ユーザーインターフェース装置、２０１…出力部
【図１】
2007226371.tif 000003
【図２】
2007226371.tif 000004
【図３】
2007226371.tif 000005
【図４】
2007226371.tif 000006
【図５】
2007226371.tif 000007
【図６】
2007226371.tif 000008
【図７】
2007226371.tif 000009
【図８】
2007226371.tif 000010
【図９】
2007226371.tif 000011
【図１０】
2007226371.tif 000012