体動検出装置、体動検出方法および体動検出プログラム
【課題】種々のノイズの影響を受けることなく、ユーザーの鉛直方向の体動を正確に検出すると共に、必要に応じてユーザーの体動ピッチをも正確に検出できるようにする。
【解決手段】3軸の加速度センサ1からの使用者の体動に応じた加速度ベクトルから鉛直成分抽出手段2により鉛直成分を抽出し、この鉛直成分を高域/低域分解部3により高域成分と低域成分とに分解する。これらをピーク検出/判定処理部4において用いて、使用者の鉛直方向の動作のピーク位置の候補を検出すると共に、高域成分と低域成分のエネルギー比に基づいてピーク位置の候補を特定し、各ピーク位置の候補を含む所定範囲についての波形マッチングを行うことにより、ピーク位置を決定して、これに基づき体動を検出すると共に、ステップ位置解析部5において体動ピッチを検出する。
【解決手段】3軸の加速度センサ1からの使用者の体動に応じた加速度ベクトルから鉛直成分抽出手段2により鉛直成分を抽出し、この鉛直成分を高域/低域分解部3により高域成分と低域成分とに分解する。これらをピーク検出/判定処理部4において用いて、使用者の鉛直方向の動作のピーク位置の候補を検出すると共に、高域成分と低域成分のエネルギー比に基づいてピーク位置の候補を特定し、各ピーク位置の候補を含む所定範囲についての波形マッチングを行うことにより、ピーク位置を決定して、これに基づき体動を検出すると共に、ステップ位置解析部5において体動ピッチを検出する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、例えば、歩数計などの使用者(ユーザー)の体動を検出して利用する装置、方法、プログラムに関する。
【背景技術】
【0002】
自己の健康管理などのために、歩数計を用いて自己の運動量を把握することが広く行われている。従来の歩数計では、正確に歩数をカウントするためには、その構造上、本体の装着位置や装着方向に制約があるものが多かった。しかし、近年においては、使い勝手をより向上させるために、装着位置や装着方向を自由に設定できる体動検出装置が提案される。その中でも、多軸の加速度センサを用いて姿勢推定を行いつつ、同じセンサを用いて体動検出を行う方法および装置が提案されている。これは、姿勢の推定に角度センサ等を用いる方法と比較して、安価に実現できるという利点がある。
【0003】
例えば、後に記す特許文献1には、互いに検出方向が異なる複数の体動センサにより加速度を検出し、各センサの信号パターンを解析することによって作用軸を判定/選択し、作用軸の信号解析によって歩行検出を行う方法が開示されている。また、後に記す特許文献2には、互いに直交する2軸もしくは3軸の加速度センサを搭載し、各軸のセンサ信号の合成ベクトルから体動の運動方向を推定し、推定した運動方向の信号成分を解析することによって体動を検出する方法が開示されている。
【0004】
なお、上述した特許文献1、特許文献2は以下に示す通りである。
【特許文献1】特開2004−141669号公報
【特許文献2】特開2005−140533号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示された方法では、複数のセンサから測定に適したセンサを作用軸として一つだけ選択するため、検出する使用者の体動の方向(運動方向)と選定した作用軸とが一致しないケースもあり、歩行以外の体動の影響を受けて正確な歩数計測ができなくなる可能性があると考えられる。また、特許文献2に開示された方法では、信号波形の性質は考慮されず、信号の強度のみを問題としているために、歩行以外の体動もカウントしてしまう可能性があると考えられる。
【0006】
ここで、歩行以外の体動とは、歩行に応じて使用者の身体に発生する鉛直方向以外の動きを意味し、使用者の歩数を計測するための歩数計が使用者の手に持たれて水平方向に振られた場合の動きや例えば使用者の歩数を計測するための歩数計が吊り紐によって使用者の首に掛けられている場合に生じる振り子運動など、様々な動きが考えられる。
【0007】
このため、歩行以外の使用者の体動の影響を受けることなく、歩行時の使用者の鉛直方向の体動のみを正確に検出して、これをカウントできるようにし、使用者の歩数を正確に計測できるようにすることが望まれる。さらに、使用者の体動を詳しく見ると、静止している状態の場合もあれば、静止状態から歩行状態へ、あるいは、歩行状態から静止状態への過渡期の状態もある。また、動作状態であっても歩行(ウォーキング)状態と走行(ランニング)状態なども異なる。このため、使用者の歩行ピッチ(歩行速度、あるいは、単位時間当たりの歩数(回数))を正確に把握することができれば、使用者の動作状態を正確に把握でき、歩数の計測をさらに正確に行うことができるなど役立つことになる。
【0008】
以上のことにかんがみ、この発明は、種々のノイズの影響を受けることなく、ユーザーの鉛直方向の体動(動作)を正確に検出できるようにすると共に、必要に応じてユーザーの体動(動作)ピッチをも正確に検出して利用できるようにすることを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するため、請求項1に記載の発明の体動検出装置は、
使用者の身体に装着するようにされる加速度センサと、
前記加速度センサからの検出出力から加速度の鉛直成分を抽出する鉛直成分抽出手段と、
前記鉛直成分抽出手段によって抽出された前記鉛直成分を高域成分と低域成分とに成分分解する分解手段と、
前記分解手段によって分解された前記鉛直成分の前記低域成分に基づいてピーク位置の候補を検出する検出手段と、
前記検出手段によって検出されたピーク位置の候補を含む所定範囲における前記低域成分のエネルギーと前記高域成分のエネルギーとの比が所定値よりも小さい場合に前記ピーク位置の候補をピーク位置の候補として特定する特定手段と、
前記特定手段によって特定されるピーク位置の候補に基づいて、前記使用者の体動を検出する体動検出手段と
を備えることを特徴とする。
【0010】
この請求項1に記載の発明の体動検出装置によれば、加速度センサからの検出出力から鉛直成分抽出手段により使用者の体動の鉛直成分が抽出される。この抽出された鉛直成分は、分解手段によって高域成分と低域成分とに分解される。分解されて得られた低域成分は使用者の体動に応じた成分を含むものであり、検出手段により用いられて体動のピーク位置の候補が検出される。
【0011】
そして、検出された各ピーク位置の候補を含む所定の範囲毎に、低域成分のエネルギーに対する高域成分のエネルギーの比を求める。高域成分にはノイズが混入し易い。このため、低域成分のエネルギーに対する高域成分のエネルギーの比が所定値より小さい場合には、その所定範囲のピーク位置の候補をピーク位置として特定するが、逆に、低域成分のエネルギーに対する高域成分のエネルギーの比が所定値より大きい場合には、その所定範囲のピーク位置の候補は、ピーク位置の候補からは除外する。このようにして特定されたピーク位置の候補に基づいて、体動検出手段により使用者の体動が検出される。
【0012】
これにより、ノイズなどの影響を受けることなく、使用者の鉛直方向の体動を精度よく検出することができるようにされる。
【0013】
また、この出願の請求項2に記載の発明の体動検出装置は、請求項1に記載の体動検出装置であって、
前記特定手段によって特定された各ピーク位置の候補を含む所定範囲について、比較対象の範囲を定めて波形を比較し、一致した場合にそのピーク位置の候補をピーク位置として決定する決定手段を備え、
前記体動検出手段は、前記決定手段によって決定されたピーク位置に基づいて、使用者の体動を検出することを特徴とする。
【0014】
この請求項2に記載の発明の体動検出装置によれば、特定手段によって特定された各ピーク位置の候補を含む所定区間について、ペアとなる区間を定めて波形を比較し、両区間の波形が一致した場合には、比較元のピーク位置の候補をピーク位置として決定し、一致しない場合にはピーク位置からは除外する。
【0015】
これによって、ノイズが混入することによってたまたまピークが生じた場合を除去して、真に使用者の鉛直方向の体動に応じてピーク位置のみを抽出、特定して、使用者の体動を正確に検出することができるようにされる。
【0016】
また、請求項3に記載の発明の体動検出装置は、請求項1または請求項2に記載の体動検出装置であって、
前記特定手段によって特定された複数のピーク位置の候補からなる時系列パターンについて、あるいは、前記決定手段によって決定された複数のピーク位置からなる時系列パターンについて解析することにより、ステップ間隔を推定する間隔推定手段と、
前記間隔推定手段において推定された前記ステップ間隔に基づいて、少なくとも「静止」、「歩行/走行」、「不定」の3状態を使用者の動作状態として判別する判別手段と
を備えることを特徴とする。
【0017】
この請求項3に記載の発明の体動検出装置によれば、間隔推定手段によって、特定手段によって特定されたピーク位置の候補のステップ間隔(特定されたピーク位置の候補間の間隔)、あるいは、決定手段によって決定されたピーク位置のステップ間隔(決定されたピーク位置間の間隔)が推定され、この推定されたステップ間隔に基づいて、使用者の動作状態が、「静止」の状態にあるのか、「歩行/走行」の状態にあるのか、「不定」の状態にあるのかが判定手段により判定される。
【0018】
これにより、使用者の動作状態を正確に把握し、使用者の動作状態に応じた機器制御が可能になると共に、使用者が「歩行/走行」状態にある場合においては、そのステップ間隔を正確に把握することもできるようにされる。
【0019】
また、請求項11に記載の発明の体動検出装置は、請求項1に記載の体動検出装置であって、
前記加速度センサは多軸のものであり、
前記鉛直成分抽出手段は、前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出し、前記多軸の加速度センサからの前記加速度ベクトルと算出された前記重力加速度ベクトルとを用いて演算により加速度の鉛直成分を抽出するものであることを特徴とする。
【0020】
この請求項11に記載の発明の体動検出装置によれば、鉛直成分抽出手段は、多軸の加速度センサからの検出出力(加速度ベクトル)から重力加速度ベクトルを算出し、多軸の加速度センサからの検出出力と算出した重力加速度ベクトルとを用いた演算により、加速度の鉛直成分を抽出する。
【0021】
これにより、多軸の加速度センサが使用者の身体にどのような態様で装着されていても、その検出出力(加速度ベクトル)の鉛直成分を論理的に、かつ、正確に抽出することができるようにされる。
【発明の効果】
【0022】
この発明によれば、ノイズを除去し使用者の鉛直方向の体動を正確に検出することができる。すなわち、ノイズに強い(ノイズの影響を受け難い)体動を検出するための装置、方法、プログラムを実現できる。
【発明を実施するための最良の形態】
【0023】
以下、図を参照しながら、この発明による装置、方法、プログラムの一実施の形態について説明する。
【0024】
[体動検出装置の基本構成について]
図1は、この実施の形態の体動検出装置の基本的な構成について説明するためのブロック図である。図1に示すように、この実施の形態の体動検出装置は、加速度センサ1と、鉛直成分抽出部2と、高域/低域分解部3と、ピーク検出/判定処理部4と、ステップ位置解析部5とからなるものである。
【0025】
この実施の形態の体動検出装置は、使用者の身体に装着されて使用されるものである。加速度センサ1は、一定のタイミング毎に使用者の体動に応じた加速度を検出し、この検出出力を鉛直成分抽出部2に供給する。鉛直成分抽出部2は、加速度センサ1からの検出出力から、使用者が歩行や走行といった運動を行った場合の鉛直方向の体動に応じた成分を含む加速度ベクトルの鉛直成分を抽出し、これを高域/低域分解部3に供給する。なお、加速度センサ1において検出された加速度ベクトルのアナログ/デジタル(A/D)変換は、加速度センサ1側で行ってもよいし、鉛直成分抽出部2側で行ってもよいし、あるいは、加速度センサ1と鉛直成分抽出部2との間で行うようにしてもよい。
【0026】
高域/低域分解部3は、鉛直成分抽出部2からの加速度ベクトルの鉛直成分を、ノイズが混入し易い高域成分と、使用者の鉛直方向の体動に応じた成分を含む低域成分とに分解し、そのそれぞれをピーク検出/判定処理部4に供給する。ピーク検出/判定処理部4は、高域/低域分解部からの加速度ベクトルの鉛直成分の高域成分と低域成分の供給を受けて、ピーク検出と検出したピークに基づく体動検出とを行う部分である。
【0027】
すなわち、ピーク検出/判定処理部4は、高域/低域分解部3から供給された加速度ベクトルの鉛直成分のうちの低域成分に基づいて、ピーク位置の候補を検出し、当該ピーク位置の候補を含む所定範囲における低域成分のエネルギーに対する高域成分のエネルギーの比が予め決められた値よりも小さい場合に、当該ピーク位置を鉛直成分のピーク位置の候補として特定する。
【0028】
このように、低域成分のエネルギーに対する高域成分のエネルギーの比を用いるのは、後述もするように、高域成分にはノイズがのりやすく、ノイズの混入によって発生したピークを除外するためである。このようにして特定されたピーク位置の候補に基づいて使用者の鉛直方向の体動を比較的に精度よく検出することが可能である。しかし、より精度よく使用者の鉛直方向の体動を検出できるようにするために、この実施の形態の体動検出装置のピーク検出/判定処理部4は、波形マッチング処理をも行うようにしている。
【0029】
すなわち、ピーク検出/判定処理部4は、特定した各ピーク位置の候補毎に、ピーク位置の候補を含む所定範囲を設定し、この設定した所定範囲毎の波形を対象として他の所定範囲の波形とのマッチングを行い、マッチングが取れた場合に比較対象の波形に含まれるピーク位置の候補をピーク位置として決定する。このようにマッチングを行うのは、使用者の歩行や走行といった周期的な運動を確実に検出するためであり、異なるピーク位置の候補を含む所定区間同士の波形が類似していれば、ピーク位置の候補が周期的に発生していると判別することが可能になるためである。
【0030】
このようにして決定されたピーク位置は、使用者の鉛直方向の体動に応じて生じたものであることは間違いないので、決定されたピーク位置に従って、使用者の鉛直方向の体動を精度よく検出することができるようにされる。さらに、この実施の形態の体動検出装置においては、ステップ位置解析部5が設けられている。
【0031】
このステップ位置解析部5は、ピーク検出/判定処理部4において決定されたピーク位置を示す情報の提供を受けてこれを解析し、使用者の歩行や走行の体動ピッチ(歩行や走行のテンポ)を検出することができるようにしている。そして、詳しくは後述もするように、検出した使用者の体動ピッチに応じて異なる制御を行うようにするなどのことができるようにしている。
【0032】
なお、「ピッチ」という文言は、同じことを繰り返したり、また一定の間隔でことを行ったりする場合において、その速度や回数を意味する。したがって、「体動ピッチ」という文言は、体動の速さや回数を意味し、体動が歩行であるときには、歩行の速さ(歩行速度)あるいは単位時間当たりの歩数を意味する。
【0033】
そして、この明細書においては、「ピッチ」と同義の文言として、「テンポ」という文言を用いる場合もある。「テンポ」という文言は、本来、楽曲の演奏にあたって譜面に指定された速度(楽曲進行の速度)を意味するものである。したがって、楽曲の「再生テンポ」といったときには、音楽データの再生時の速さであり、1分間あたりの拍の数(BPM:Beat Per Minutes)を意味する。
【0034】
また、使用者の「体動テンポ(動作テンポ)」といったときには、体動(動作)の速度であって、例えば、使用者の体動(動作)が歩行(ウォーキング)や走行(ランニング)などの場合には、1分間あたりの歩数であり、また、動作がジャンプの場合には、1分間当たりのジャンプの回数であるというように、1分間当たりの使用者の計数可能な最小の動作の単位(1つの動作(体動))の数を意味する。このように、使用者の体動(動作)について用いる「ピッチ」という文言と「テンポ」という文言とは、この明細書においてはほぼ同義の文言として用いる。
【0035】
[体動検出装置の各部の機能、動作について]
以下に、この実施の形態の体動検出装置を構成する各部毎の機能や動作について、より詳細に説明する。
【0036】
[加速度センサ1について]
まず、加速度センサ1について説明する。この発明の体動検出装置は、使用者の身体に装着するようにされる加速度センサ1からの検出出力に基づいて、使用者の歩行や走行に応じた鉛直方向の体動を正確に検出できるようにするものである。加速度センサ1としては、1軸(単軸)のものや、2軸や3軸などの多軸のものを用いることが可能である。
【0037】
加速度センサ1として、1軸の加速度センサを用いた場合には、使用者の鉛直方向の体動を検出できるようにするために、装着位置や装着方向についてある程度制約を受ける。例えば、腕や足などに1軸の加速度センサを装着した場合には、腕や足の振りの影響を受けることが考えられるなど、装着する位置によって鉛直方向以外の影響を受ける可能性がある。
【0038】
このため、加速度センサ1として1軸の加速度センサを用いる場合には、使用者の歩行、走行に応じた鉛直方向の体動をできるだけ正確に検出できるようにするために、例えば、使用者の腰部に、加速度の検出方向が鉛直方向となるように当該1軸の加速度センサを装着しなければならないといった制約が生じる。しかし、このような制約を遵守した場合には、1軸の加速度センサからの検出出力は加速度の鉛直成分として用いることができる。この場合、1軸の加速度センサ自体が鉛直成分抽出部2としての機能を有することになる。
【0039】
これに対して、加速度センサ1として互いに直交する軸により構成される2軸や3軸の加速度センサを用いることにより、加速度センサ1の装着位置や装着方向に柔軟性を持たせることが可能になる。しかし、加速度センサ1として多軸の加速度センサを用いる場合には、多軸の検出出力から鉛直成分を抽出する必要が生じる。この実施の形態の体動検出装置において、加速度センサ1は、例えば3軸の加速度センサが用いられている。このため、加速度センサ1の後段に鉛直成分抽出部2を設けている。
【0040】
[鉛直成分抽出部2について]
鉛直成分抽出部2は、(1)当該多軸の加速度センサ1からの検出出力を用いて、その重力場における重力加速度ベクトルを推定し、(2)この重力加速度ベクトルの推定結果に基づいて、同じ加速度センサ1の検出出力から鉛直方向の信号成分を抽出する処理を行う。
【0041】
このように、多軸の加速度センサ1からの全ての軸についての検出出力を総合的に用いて、鉛直成分を抽出することによって、作用軸を推定する必要がなく、ユーザーに対する加速度センサ1の装着位置や装着方向に左右されること無く、ユーザーの鉛直方向の運動を正確に検出することができるようにしている。
【0042】
ここで、加速度センサ1として、3軸の加速度センサを用いる場合について具体的に説明する。加速度センサ1をX軸、Y軸、Z軸の3軸とし、当該加速度センサ1から得られるある時点nの加速度ベクトルanを図2の(1−1)式に示すように、axn(X軸成分)、ayn(Y軸成分)、azn(Z軸成分)で表すものとする。この図2の(1−1)式に示した加速度ベクトル(加速度ベクトルのデータ系列)anから重力加速度ベクトルgの推定を行うと共に、体動検出をも行うようにする。
【0043】
具体的には、重力加速度ベクトルgの推定は、より簡便には加速度ベクトルanの各軸の移動平均値を算出し、その平均ベクトルを重力加速度ベクトルgとする方法がある。この場合、体動による信号成分の影響を少なくするために、十分長い区間で移動平均の計算を行うことが望ましい。また、加速度ベクトルanの各軸の値を、最小二乗法などを用いて解析し、重力加速度ベクトルgの算出を行うようにする方法を用いるようにしてもよい。
【0044】
加速度ベクトルanを用いて重力加速度ベクトルgを推定した結果を、図2の(1−2)式に示すように、gx(X軸成分)、gy(Y軸成分)、gz(Z軸成分)で表すものとする。この場合、加速度ベクトルanの鉛直成分vnは、図2の(1−3)式に示す演算により求めることができる。すなわち、加速度ベクトルanの鉛直成分vnは、図2の(1−3)式に示したように、重力加速度ベクトルgの内積と加速度ベクトルanの積を重力加速度ベクトルgの絶対値(大きさ)で割り算することにより求めることができる。
【0045】
このように、3軸の加速度センサ1により検出される加速度ベクトルanと当該加速度ベクトルから求められる重力加速度gとから、鉛直成分vnを演算により正確に求めることができる。すなわち、3軸の加速度センサ1からの検出出力を総合的に用い、その中から鉛直成分のみを数値計算により分離することにより、ユーザーの鉛直方向の体動を正確に検出できるという着想に基づいてこの発明はなされている。
【0046】
また、重力加速度ベクトルgの3次元空間における偏角を求めたうえで、加速度ベクトルanを回転させることによっても同様の計算ができる。すなわち、重力加速度ベクトルgについての偏角θ、φを、図3の(2−1)、(2−2)に示すときに、図3の(2−3)式により計算されるa´xnは、加速度ベクトルanの鉛直成分であり、a´xnは、鉛直成分vnと一致する。また、ベクトルa´ynとベクトルa´znの内積は、重力加速度ベクトルgを法線ベクトルとする平面への加速度ベクトルanの正射影である。
【0047】
つまり、3軸の加速度センサ1からの検出出力により得られる加速度ベクトルanを鉛直成分と水平成分に成分分解できるため、鉛直成分のみならず、水平成分を解析することによって水平方向の体動をも検出することができる。具体的には、水平ベクトルの長さhnは、図4の(3−1)式や図4の(3−2)式によって求めることができる。
【0048】
このように、重力加速度ベクトルの偏角を考慮した演算式を用いる場合には、ユーザーの鉛直方向の体動と水平方向の体動とを、比較的に簡単に、しかも正確に求めることができる。
【0049】
なお、ここでは3軸の加速度センサ1を用いる場合を例にして説明したが、これに限るものではない。この発明の基本的なコンセプトは、2軸の加速度センサを用いる場合にも3軸の加速度センサを用いる場合と同様にして適用可能である。
【0050】
すなわち、2軸の加速度センサにより検出する加速度ベクトルanと重力加速度ベクトルgとを、図5の(4−1)式(加速度ベクトル)、図5の(4−2)式(重力加速度ベクトル)のように表すものとすると、3軸の加速度センサを用いる場合と同様に、図2の(1−3)式にしたがって鉛直成分を計算することができる。
【0051】
また、重力加速度ベクトルgの偏角θを、図5の(4−3)式に示すように表すものとすると、図5の(4−4)式にしたがって、加速度ベクトルanについて、その鉛直成分a´xnとこれに直交する水平成分a´ynに成分分解でき、a´xnと鉛直成分vnとは一致する。
【0052】
このように、図5に示した各式、および、図2に示した(1−3)式により、2軸の加速度センサを用いた場合であっても、ユーザーの鉛直方向の体動を正確に検出することができるし、また、重力加速度ベクトルgの偏角θを考慮するようにした場合には、ユーザーの水平方向の体動をも正確に検出することが可能となる。
【0053】
図6は、ユーザーに装着するようにした3軸の加速度センサにより、当該ユーザーが歩行など運動を行っている場合に、サンプリング周波数50Hzで4秒間、加速度データを取得した場合における、この取得した加速度データと、これを上述したこの発明の基本的なコンセプトにしたがって成分分解した場合に得られるデータとをグラフ化して示したものである。図6において、横軸は時間(ミリ秒)、縦軸は重力加速度(G)である。また、後述する図7、図8、図10、図12、図14においても、横軸は時間(ミリ秒)、縦軸は重力加速度(G)である。
【0054】
すなわち、図6Aは、3軸の加速度センサからの加速度データのグラフであり、図6Bは、3軸の加速度データから計算した加速度ベクトルの長さ(大きさ)のグラフであり、図6Cは、図2〜図4を用いて説明した方法によって、3軸の加速度データから計算して得られた鉛直成分のグラフである。また、図6Dは、図2〜図4を用いて説明した方法によって、3軸の加速度データから計算して得られた水平成分のグラフである。
【0055】
そして、この図6に示したグラフは、加速度データの検出時において、ユーザーは主に鉛直方向の運動を行っていたが、約80サンプル目、約100サンプル目および170サンプル目に水平方向の運動が発生し、これがノイズ成分として存在している場合を示している。
【0056】
しかし、ノイズ成分は水平成分に存在するものであるために、この発明の基本的なコンセプトにしたがって、加速度データ(加速度ベクトル)を鉛直成分(図6C)と水平成分(図6D)とに成分分解すれば、鉛直成分からは水平成分のノイズを除去することができるので、ユーザーの鉛直方向の体動を正確に検出できることが分かる。もちろん、水平成分からは鉛直成分のノイズを除去することができるので、ユーザーの水平方向の体動を正確に検出できる。すなわち、成分分解することにより、ノイズの低減効果がある。
【0057】
なお、ここでは、演算により加速度ベクトルの鉛直成分を抽出するようにしたが、これに限るものではない。例えば、各軸の加速度ベクトルの長さ(大きさ)を演算により求めて、一番長さのある加速度ベクトルを使用者の体動を一番反映した加速度ベクトルの鉛直成分として用いるようにしたり、あるいは、使用者の体動を一番反映していると推測される軸の検出出力(加速度ベクトル)を鉛直成分として用いるようにしたりしてもよい。
【0058】
しかし、加速度ベクトルの長さに応じて鉛直成分を特定したり、あるいは、鉛直成分に応じた軸を推定したりする場合には、多軸の加速度センサ1の使用者に対する装着位置や装着方向がある程度制限される場合もある。しかし、演算によって加速度ベクトルの鉛直成分を抽出するようにした場合には、上述もしたように、多軸の加速度センサ1の使用者に対する装着位置や装着方向の制約を受けることは無いので、体動検出装置の使用者に対する装着の自由度を向上させることができる。
【0059】
[高域/低域分解部3について]
次に、高域/低域分解部3の機能及び動作について説明する。上述したように、鉛直成分抽出部2において抽出された鉛直成分vnを関数x(n)で表すものとする。鉛直成分抽出部2からの加速度ベクトルの鉛直成分x(n)は、高域/低域分解部3に供給される。高域/低域成分分解部3は、例えばLPF(Low Pass Filter)の構成とされ、加速度ベクトルの鉛直成分x(n)を帯域分割し、高域成分xh(n)と低域成分xl(n)とに分離する。
【0060】
このとき、高域/低域分解部3のLPFとしての特性としては、歩行や走行による加速度の主要成分が含まれる2Hz〜4Hzが通過域となっていることが望ましい。また、鉛直成分x(n)と高域成分xh(n)および低域成分xl(n)の位相は揃っていることが望ましい。
【0061】
このように、鉛直成分x(n)について、高域成分xh(n)と低域成分xl(n)とに分離するのは、上述もしたように、低域成分xl(n)には使用者の鉛直方向の体動に応じて変化する成分が多く含まれ、高域成分xh(n)にはノイズ成分が混入し易いためである。このようにして高域/低域分解部3において分解された高域成分xh(n)と低域低分xl(n)とは、ピーク検出判定処理部4に供給される。
【0062】
[ピーク検出/判定処理部4の機能と動作について]
ピーク検出/判定処理部4は、上述もしたように、加速度ベクトルの鉛直成分x(n)の低域成分xl(n)に基づいて、ピーク位置の候補を検出すると共に、このピーク位置の候補を基準に用いた所定範囲毎に低域成分のエネルギーと高域成分のエネルギーの成分比に基づいてピーク位置の候補を特定する。
【0063】
このように、低域成分のエネルギーと高域成分のエネルギーの成分比を用いる理由について説明する。図7、図8は、この実施の形態の体動検出装置を使用者の異なる部位に装着した場合に検出される加速度信号のグラフを示す図である。具体的には、図7は、この実施の形態の体動検出装置を使用者の腰部に装着して用いた場合に検出される加速度信号のグラフを示す図であり、図8は、この実施の形態の体動検出装置を使用者のズボンのポケットに入れて用いた場合に検出される加速度信号のグラフを示す図である。
【0064】
図7、図8とも、使用者の歩行時における3軸の加速度センサ1において検出された加速度信号を50Hzでサンプリングすることにより計測したものである。また、図7、図8とも最上段のグラフが3軸の加速度ベクトルから抽出した鉛直成分、すなわちx(n)であり、中段に示したグラフが鉛直成分x(n)の内の低域成分xl(n)であり、最下段のグラフが鉛直成分x(n)の高域成分xh(n)である。
【0065】
そして、図7に示したように、この実施の形態の体動検出装置を使用者の腰部に装着した場合における3軸の加速度センサ1の検出出力においては、中段に示した低域成分xl(n)に周期的な変化が集中し、最下段に示した高域成分xh(n)には周期的な変化はほとんど無いことからほぼ歩行による上下動に対応する成分のみが加速度信号として計測されていることが分かる。
【0066】
したがって、この実施の形態の体動検出装置を使用者の腰部に装着して使用するようにした場合には、使用者の鉛直方向の体動に応じた成分のみを効率よく計測することができるので、鉛直成分x(n)の低域成分xl(n)の波形を閾値判定あるいはピーク検出することによって歩行や走行などの体動を検出することができ、これをカウント処理すれば、正確に歩数のカウント(計数)が可能な歩数計が実現出来る。
【0067】
これとは対称的に、図8に示したように、この実施の形態の体動検出装置を使用者のポケットに入れて用いるようにした場合における3軸の加速度センサ1の検出出力においては、歩行に応じた周期的な上下動以外の振動成分(ノイズ成分)が、中段に示した低域成分xl(n)にも、また、最下段に示した高域成分xh(n)にも現れており、特に、最下段に示した高域成分xh(n)に多く現れている。したがって、低域成分について閾値判定やピーク検出を行うようにしても、歩行以外のノイズ成分を歩行に応じた体動として誤検出してしまう可能性が非常に高くなる。
【0068】
ところで、図8において、区間A、区間B、区間Cに示すように、中段に示した低域成分のグラフにおいて、振幅が1Gを下回っている区間(領域)を区切った場合、周期的な運動である歩行による上下動に対応する波形は、区間Aの波形と区間Bの波形であり、区間Cの波形は、周期的なものではなく、歩行以外の振動、すなわちノイズ成分である。そして、図8に示したように、区間A及び区間Bでは高域成分が弱いのに対して、区間Cでは高域成分が強い。
【0069】
このように、周期的な運動である歩行による使用者の体の上下動に応じた成分は、低域成分xl(n)に顕著に現れ、ノイズ成分は高域成分xh(n)に顕著に現れる。そこで、ピーク位置の候補として検出したそれぞれのピーク位置の候補毎に、ピーク位置の候補の前後に予め決められた時間幅を有する所定領域を定める。
【0070】
例えば、ピーク位置の候補の前Mサンプル区間と後Mサンプル区間(Mは1以上の整数)というように所定範囲を定めればよい。なお、図7、図8においては、比較的にノイズの影響を受け難い極小値をピーク値として検出し、これに対応するピーク位置をピーク位置の候補として特定するようにしている。
【0071】
このようにして定めたピーク位置の候補を含む各所定領域において、低域成分xk(n)のエネルギーと高域成分xh(n)のエネルギーとのエネルギー比dを求める。図9は、エネルギー比dを求めるための計算方式を説明するための図である。加速度ベクトルの鉛直成分x(n)の高域成分xh(n)のエネルギーehは、図9の(5−1)式によって求めることができる。また、加速度ベクトルの鉛直成分x(n)の低域成分xl(n)のエネルギーelは、図9の(5−2)式によって求めることができる。
【0072】
なお、図9の(5−1)式と(5−2)式において、n1はピーク位置の候補を含む所定領域の開始位置を示し、n2はピーク位置の候補を含む所定領域の終了位置を示している。そして、低域成分xk(n)のエネルギーと高域成分xh(n)のエネルギーとのエネルギー比dは、図9の(5−3)式によって求めることができる。
【0073】
このようにして求めたエネルギー比dが、予め決められた閾値Dよりも小さい場合に、その所定領域に含まれるピーク位置の候補として検出された位置をピーク位置の候補として特定する。すなわち、ピーク位置の候補として特定した位置は、使用者の歩行あるいは走行といった運動に応じてピークになったものと判断し、このピーク位置の候補をカウントすることにより、歩行や走行を行った使用者の歩数を正確にカウントすることができる。すなわち、ある閾値Dを定めたうえで、エネルギー比d<閾値Dのときに限って歩行あるいは走行と判定することにより、歩行や走行以外の振動成分の影響を排除できる。
【0074】
しかしながら、上述のように、歩行や走行といった使用者の体動に応じた変化を検出するために、加速度ベクトルの鉛直成分x(n)の低域成分xl(n)に基づいて、ピーク位置の候補を検出し、低域成分xl(n)のエネルギーelと高域成分xh(n)のエネルギーehとのエネルギー比dを考慮してピーク位置の候補を特定するようにしても、まだ誤判定をする場合があると考えられる。
【0075】
図10は、歩行や走行といった使用者の周期的な体動以外の影響により、多軸の加速度センサ1により検出される加速度ベクトルの鉛直成分x(n)の低域成分xl(n)にも不規則な信号が混入した場合のグラフを示す図である。例えば、転んだり、体動検出装置を落としたり、あるいは、使用者がジャンプするなど、歩行や走行以外の不規則な動作が発生した場合には、図10の中段の低域成分xl(n)のグラフに表されるように、歩行や走行以外の不規則な体動成分が混入する場合がある。
【0076】
このように、歩行や走行以外の不規則な体動成分が、加速度ベクトルの鉛直成分x(n)の低域成分xl(n)に混入していた場合には、これを周期的な運動である歩行や走行に応じた体動と誤判定をしてしまう場合があると考えられる。そこで、ある区間において信号波形が似ているかどうかを比較して、波形が似ていれば歩行や走行であると判定をするようにする。
【0077】
例えば、歩行や走行以外の不規則な動作が発生した場合の加速度ベクトルの鉛直成分x(n)、低域成分xl(n)、高域成分xh(n)の例のグラフである図10において、ピーク位置として、位置A、位置B、位置Cを検出することができる。これらに関して、位置Aと位置B、位置Bと位置C、位置Aと位置Cというようにペアを作り、そのペア間において、それぞれのピーク位置の周辺の波形についてマッチングを取るようにする。
【0078】
この場合、図10からも明らかなように、位置Aの近傍の波形、位置Bの近傍の波形、位置Cの近傍の波形については、相互に類似するものがないために、周期的な体動である歩行や走行の体動とは異なるものと判断し、歩行や走行時の体動ではないものとして判断することが可能である。
【0079】
これに対して、図7や図8に示したように、加速度ベクトルの鉛直成分x(n)、低域低分xl(n)、高域成分xh(n)が検出された場合において、ピーク位置の候補として特定された位置を含む所定区間を設定し、その前、あるいは、後ろの1つ以上の所定区間の波形とマッチング処理した場合には、類似する場合があるためにピーク位置の候補として特定された位置を、正式なピーク位置として決定することができる。
【0080】
具体的には、図7に示した例の場合には、ノイズの影響が少ないように、低域成分xl(n)のグラフにおいて極小値をピーク値として取るようにすれば、隣り合うピーク位置を含む波形の類似度は非常に高いので、各ピーク位置の候補として特定された位置をピーク位置として決定することができる。また、図8に示した例の場合においても、ノイズの影響が少ないように、低域成分xl(n)のグラフにおいて極小値をピーク値として取るようにしているので、ピーク位置の候補の1つおきの当該ピーク位置を含む波形の類似度が非常に高く、各ピーク位置の候補として特定された位置をピーク位置として決定することができる。
【0081】
このように、ピーク位置の候補を特定し、その候補を含む所定区間の波形について、比較する(マッチングを取る)他の所定区間を定め、両所定区間同士の波形を比較して類似度が高い場合に、比較対象の所定区間に含まれるピーク位置の候補をピーク位置として決定することができる。
【0082】
なお、比較する他の所定区間は、例えば、隣り合う所定区間同士、あるいは、1つおきの所定区間同士、あるいは、2つおきの所定区間同士というように、適宜定めることができる。あるいは、前(過去方向)の1つ以上の所定区間の波形と比較し、2つ以上の所定区間との間で類似度が高い場合に、比較元の所定区間のピーク位置の候補をピーク位置と決定するなど、比較する所定区間の位置や数は任意に設定することが可能である。
【0083】
このように、この実施の形態の体動検出装置において、ピーク検出判定処理部4は、単に加速度ンベクトルの鉛直成分x(n)の低域成分xl(n)の情報(波形)からピーク位置の候補を検出し、低域成分のエネルギーelと高域成分のエネルギーehとのエネルギー比dを考慮してピーク位置の候補を特定するに止まらず、ピーク位置の候補を含む所定区間同士の波形比較(波形マッチング)を行うことによって、歩行や走行と言った使用者の周期的な体動を正確に検出することができるようにしている。
【0084】
そして、使用者の歩行や走行などの周期的な体動を正確に検出することができるので、使用者の体動をカウントすることにより、正確に使用者の歩行時や走行時における歩数のカウントが可能な歩数計を実現することができる。なお、精度を若干落としてよければ、上述もしたように、波形マッチングを行うことなく、エネルギー比dを用いて特定するようにしたピーク位置の候補に従って歩数をカウントしてもよい。
【0085】
[ステップ位置解析部5の機能と動作について]
上述した加速度センサ1、鉛直成分抽出部2、高域/低域分解部3、ピーク検出/判定処理部4の各部の機能により、使用者の身体に装着される加速度センサ1からの検出出力に基づいて、使用者の歩行や走行に応じて使用者の身体に生じる鉛直方向の体動を正確に検出することができる。このようにして検出した体動をカウントすれば、使用者の歩数を正確にカウントすることも可能となる。
【0086】
しかしながら、使用者の動作状態としては、歩行や走行を行っている動作状態ばかりではなく、静止している状態もあれば、静止状態でもなく動作態でもない不定な状態である場合もある。このため、使用者の動作状態を正確に把握できれば、歩数をカウントするなどのように、体動をカウントする場合においても、静止状態や不定状態にあるときにおいても体動のカウントを行うといった誤動作をさらに防止することが可能である。
【0087】
そして、歩行や走行など運動を行っている動作状態にあることが分ければ、その期間においては使用者の体動を正確に検出し、使用者の体動ピッチ(体動テンポ)を正確に把握し、使用者の他動ピッチに合わせた機器制御を行うことも可能となる。そこで、この実施の形態の体動検出装置において、ステップ位置解析部5は、ピーク検出/判定処理部42おいて決定されたピーク位置を示す情報の供給を受けて、これに基づき、使用者の動作状態を正確に把握することができると共に、使用者が歩行や走行などの周期的な運動を行っている場合においては、その体動ピッチをも正確に検出することができるようにしている。
【0088】
図11は、使用者の動作状態の遷移を説明するための図である。図11に示すように、使用者の動作状態として、「不定」、「静止」、「歩行/走行」の3つの状態があるものとする。ここで、「静止」は使用者の体の動きが全く無い状態を、「歩行/走行」は使用者が歩行または走行している状態を、「不定」は上記2つの状態以外の状態を意味する。また、初期状態は「不定」から開始するものとする。また、「静止」状態から「歩行/走行」状態に遷移する場合、あるいは、「歩行/走行」状態から「静止」状態に遷移する場合には、「不定」状態を経由するものとする。
【0089】
そして、ステップ位置解析部5においては、ピーク検出/判定処理部4からの決定されたピーク位置情報に基づいて、まず、使用者の動作状態を判定する。ここでは、図11において、遷移A〜遷移Gのそれぞれの遷移状態を判別することにより、使用者の動作状態を判別する。
【0090】
すなわち、「不定」状態が維持される場合を遷移A、「不定」状態から「歩行/走行」状態に変化する場合を遷移B、「歩行/走行」状態が維持される場合を遷移C、「歩行/走行」状態から「不定」状態に遷移する場合を遷移D、「不定」状態から「静止」状態に遷移する場合を遷移E、「静止」状態から「不定」状態に遷移する場合を遷移F、「静止」状態が維持される場合を遷移Gというように、各状態が維持される場合についても1つの遷移状態として動作状態の遷移を細かく把握するようにしている。
【0091】
次に、各遷移状態の判別のための条件について説明する。各遷移状態の判別は、上述もしたように、ピーク検出/判定処理部4において決定されたピーク位置に基づいて行う。以下においては、「決定されたピーク位置」を「検出されたステップ」とも言う。すなわち、ピーク検出/判定処理部4において決定されたピーク位置が、使用者の鉛直方向の体動に応じたステップとみなすようにしている。そして、(1)以下に説明する遷移Bである場合の条件も、遷移Cである場合の条件も満たさないときには、遷移Aの状態であると判定し、「不定」状態を維持する。
【0092】
また、(2)遷移Aの状態であると判定した後に、検出されたステップ(決定されたピーク位置)のうち新しい方から数個について、隣接するステップの時間間隔を計算し、時間間隔が一定である場合には、「不定」から「歩行/走行」へ遷移する遷移Bの状態であり、使用者の動作状態としては、「歩行/走行」状態になったと判定する。この場合、基準ステップ間隔(基準ピッチPs)を算出しておく。なお、基準ステップ間隔は、後述もするが、遷移Bであることの判定に用いたステップ間の間隔の平均値である。
【0093】
また、(3)遷移Bまたは遷移Cと判定した後に、新しく検出されたステップとその直前のステップとの間隔が、基準ステップ間隔(基準ピッチPs)の整数倍に対してある誤差範囲内である場合には、遷移Cの状態であると判定し、「歩行/走行」状態を維持する。また、遷移Bまたは遷移Cであると判定した後において、上述した(3)の遷移Cであると判定するための条件を満たさない場合には、遷移Dの状態であり、使用者の動作状態としては、「不定」状態であると判定する。
【0094】
また、(5)遷移Aまたは遷移Dであると判定した後において、一定時間以上、ステップが検出されない場合(ピーク位置が決定されない場合)には、「不定」から「静止」へ遷移する遷移Eの状態であり、使用者の動作状態としては「静止」状態であると判定する。また、(6)遷移Eまたは遷移Gであると判定した後において、ステップの検出がされた場合(ピーク位置が決定された場合)には、「静止」から「不定」へ遷移する遷移Fの状態であり、使用者の動作状態としては、「不定」状態になったと判定する。
【0095】
また、(7)遷移Eまたは遷移Gと判定された後において、ステップが検出されない場合(ピーク位置が決定されない場合)には、遷移Gであると判定し、使用者の動作状態としては。「静止」状態を維持する。
【0096】
なお、上述した(2)の遷移Bか否かの判定において、ステップ間隔が一定かどうかの判定基準は、ステップ間隔の分散や標準偏差があるかどうかで判定してもよいし、最大値と最小値の差が閾値以下であるかどうかで判定するのでもよい。また基準ステップ間隔は、上述もしたように判定に用いたステップの時間間隔の平均を用いたり、あるいは、判定に用いたステップの時間間隔の中間値を用いたりしてもよい。
【0097】
図12は、図1に示した体動検出装置の加速度センサ1、鉛直成分抽出部2、高域/低域分解部3、ピーク検出/判定処理部4の各部の機能を用いて、加速度センサ1からの検出出力からステップ検出(ピーク位置の決定)をした場合の波形を示す図である。この図12においても、ピークは極小値側で取るようにしている。図12Aに示す波形は、「不定」状態から4つのステップ(決定されたピーク位置)が検出された場合の波形を示す、図12Bは、図12Aの状態から、その直後のステップが検出された場合の波形を示している。このような図12を用いて、状態遷移の例について具体的に説明する。
【0098】
まず、図12Aに示した波形において、最初は「不定」の状態であったとする。この後、4つのステップが検出(2つのピーク位置が決定)されているため、ステップ位置解析部5は、隣接するステップ区間T1、T2、T3の各ステップ間隔を算出し、それらを比較する。この例の場合、ステップ区間T1、T2、T3の各区間の間隔はほぼ一定であるので、この場合には、「不定」から「歩行/走行」へ遷移する遷移Bの状態であると判定することができる。
【0099】
このとき、ステップ位置解析部5は、図13に示す(6−1)式により、基準ピッチ(基準ステップ間隔)Psを算出する。なお、図13に示した(6−1)式は、図12Aの状態にあるときの基準ピッチPsを算出するための式であり、ステップ区間が増えれば、分子の加算される区間と、分母の区間数が変わることになる。
【0100】
そして、図12Aに示した状態から、図12Bに示した状態に変化した場合には、最新のステップ区間T4のステップ間隔と、図13の(6−1)式によって算出した基準ピッチPsとを比較する。この場合、ステップ区間T4のステップ間隔と基準ピッチPsとはほぼ同じであり、差分は誤差範囲内であると判定されることにより、遷移Cの状態であると判定され、「歩行/走行」の状態が維持されることになる。
【0101】
なお、「歩行/走行」状態における歩行時や走行時におけるピッチの周期(ステップ間隔)は、基準ピッチを代表値として用いてもよいし、ある時間区間内のステップ間隔の平均値や、一定数のステップ間隔の平均値を用いてもよい。
【0102】
また、上述の説明においては、「歩行」状態と「走行」状態とを区別せずに、「歩行/走行」状態というように1つの状態として把握するようにした。しかし、これに限るものではない。「歩行」状態と「走行」状態とをそれぞれ別の状態として把握できるようにしてもよい。
【0103】
歩行と走行を分ける基準として、上述した(2)の遷移Bの判定の条件に加えて、(A)ステップ間隔がある一定未満の場合は「走行」状態と判定し、それ以外の場合には「歩行」と判定するようにしたり、あるいは、(B)加速度波形のピーク値が一定以上の場合は「走行」状態であると判定し、それ以外の場合には「歩行」状態であると判定したりすることが可能である。もちろん、上述のように、上述(A)または(B)の何れかの条件を用いてもよいし、上述の(A)と(B)との両方の条件用いるようにしてもよい。
【0104】
また、上述したように、「歩行」状態と「走行」状態とを全く別の動作状態として定義してもよいが、状態遷移は図11にしたがうものとして、「歩行/走行」状態の属性とし、上述した(A)、(B)の一方または両方の条件(基準)を用いて、「歩行」と「走行」とを分けて把握するようにしてもよい。
【0105】
また、遷移Cであるか否かの判定においては、ステップ間隔と基準ピッチ(基準ステップ間隔)Psとをそのまま比較するのではなく、基準ピッチPsの整数倍を基準に判定するようにした。このようにすることによって、ステップの検出漏れがあった場合の意図しない状態遷移を防止することに役立つ。
【0106】
例えば、この実施の形態の体動検出装置においては、上述もしたように、ピーク検出/判定処理部4において、ピーク位置の候補を検出して、高域と低域のエネルギーを考慮してピーク位置の候補を特定し、さらに、このピーク位置の候補を含む所定間隔毎に波形比較を行うことによって、ピーク位置を決定するようにしている。
【0107】
しかし、実際には使用者の歩行が続行しているのにも関わらず、一時的に加速度波形が乱れると周囲の波形とのマッチングが取れず、検出漏れが起こる可能性がある。このため、上述もしたように、ステップ位置解析部5において、遷移Cの判定を行う場合に、「基準ピッチの整数倍を基準に判定」することにより、前段のピーク検出/判定処理部4において、歩行ステップ検出漏れ(ピーク位置の決定漏れ)が起こっても安定した状態推定を行うことが可能となる。
【0108】
例えば、図14は、「歩行/走行」状態において、×印(ばつ印)で示した2つのステップ(ピーク位置)の検出漏れが生じ、一番最近に検出されたステップ(ピーク位置)とその直前に検出されたステップ(ピーク位置)との間隔が3ステップ分になる場合の例を示している。
【0109】
この図14に示した例の場合には、遷移Cであるか否かを判断するために条件において、新しく検出されたステップとその直前のステップとの間隔が、基準ステップ間隔(基準ピッチPs)の整数倍に対してある誤差範囲内である場合には、遷移Cの状態であると判断され、「歩行/走行」の状態は維持されることになる。
【0110】
従って、単純に検出されたステップを1つづつ積算するのではなく、ステップ(ピーク位置)が検出されない場合であっても、「歩行/走行」状態が維持されている場合においては、基準ピッチに対する倍数を積算の対象とすることで、より正確な歩数計測も可能となる。したがって、この発明を歩数計に適用することで、歩数計の精度向上にも役立つ。
【0111】
このように、この実施の形態の体動検出装置は、加速度センサ1、鉛直成分抽出部2、高域/低域分解部3、ピーク検出/判定処理部4、ステップ位置解析部5の各部が有機的に機能することによって、使用者の歩行や走行といった体動を正確に検出、これを把握することができる。
【0112】
[具体的な装置への適用]
次に、この発明による装置、方法、プログラムを具体的な装置に適用した場合について説明する。以下においては、この発明を歩数計に適用した場合と、音響再生装置に適用した場合とに分けて説明する。
【0113】
[歩数計への適用について]
まず、この発明の装置、方法、プログラムの一実施の形態を歩数計に適用した場合について説明する。図15は、この実施の形態の歩数計100を説明するためのブロック図である。図15に示すように、この実施の形態の歩数計100は、制御部110に対して、3軸の加速度センサ101がA/D変換部102を介して接続されると共に、表示部103、操作部104が接続されて形成されたものである。
【0114】
3軸の加速度センサ101は、1軸の加速度センサを互いに直交するX軸、Y軸、Z軸の3軸に配置して形成されたもの、あるいは、直交する3軸の加速度センサがひとつのパッケージに封入されて形成されたもののいずれを用いてもよい。3軸の加速度センサ101からのX軸、Y軸、Z軸のそれぞれの検出出力(アナログ出力)は、A/D変換部102に供給され、ここで制御部110において処理可能な形式のデジタルデータに変換されて制御部110に供給される。
【0115】
制御部110は、この実施の形態の歩数計100の各部を制御するものであり、図15に示すように、CPU(Central Processing Unit)111、ROM(Read Only Memory)112、RAM(Random Access Memory)113、不揮発性メモリ114が、CPUバス115を通じて接続されてマイクロコンピュータの構成とされたものである。
【0116】
ここで、CPU111は、各種のプログラムを実行し、各部に供給する制御信号を形成したり、各種の演算を行ったりするなど、制御部110における処理や制御の主体となるものである。ROM112は、CPU111が実行する各種のプログラムや処理に必要になるデータを記憶保持する。
【0117】
また、RAM113は、処理の途中結果を一時記憶するなど、主に作業領域として用いられるものであり、A/D変換部102を通じて供給される加速度センサ101からの数値化された加速度データを記憶保持するバッファメモリなどとしても用いられる。不揮発性メモリ114は、例えば、EEPROM(Electrically Erasable and Programmable ROM)やフラッシュメモリなどの電源が落とされても記憶データが消滅することのないメモリであり、電源が落とされても保持しておくべきデータ、例えば設定されたパラメータや追加されたプログラムなどを記憶保持する。
【0118】
また、制御部110に接続された表示部103は、表示制御回路を含み、例えば、LCD(Liquid Crystal Display)、有機EL(Electro Luminescence)ディスプレイ、CRT(Cathode-Ray Tube)等の表示素子を備え、制御部110の制御に応じて歩数のカウント値や種々のガイダンス情報等を表示する。具体的には、表示部103は、制御部110から表示データの供給を受けて、この表示データから表示素子に供給する映像信号を形成し、これを表示素子に供給することによって、制御部110からの表示データに応じた表示情報を表示素子の表示画面に表示する。
【0119】
また、操作部104は、リセットキーや各種のファンクションキーなどを備え、ユーザーからの操作入力を受け付けて、これに応じた電気信号を制御部110に供給することができるものである。これに応じて、制御部110は各部を制御し、ユーザーの指示に応じた処理を行うことができるようにしている。
【0120】
そして、この実施の形態の歩数計100において、制御部110が、図1に示す体動検出装置における鉛直成分抽出部2、高域/低域分解部3、ピーク検出/判定処理部4、ステップ位置解析部5としての機能を実現すると共に、ステップ計測を行うステップ計測部としての機能をも実現するようにしている。
【0121】
すなわち、この実施の形態の歩数計100の制御部110は、加速度センサ101からの検出出力に基づいて、図1を用いて説明したように、鉛直成分抽出、鉛直成分の高域/低域の分解、ピーク位置の候補の検出とピーク位置の候補の特定、波形マッチングによるピーク位置の決定を行って、決定したピーク位置に基づいて歩数を計測する。
【0122】
さらには、決定したピーク位置に基づいて、使用者の動作状態を正確に把握すると共に、歩行や走行などの体動ピッチを正確に把握し、使用者の動作状態が「歩行/走行」である場合において、体動ピッチに基づいて使用者の歩数をより正確に計測することもできるようにしている。
【0123】
以下、図16〜図21のフローチャートを参照しながら、図15に示したこの実施の形態の歩数計の主に制御部110において行われる種々の処理について詳細に説明する。
【0124】
[鉛直成分抽出処理について]
図16は、図15に示したこの実施の形態の歩数計100の主に制御部110において実行される鉛直成分抽出処理を説明するためのフローチャートである。この実施の形態の歩数計100に電源が投入され、操作部104を通じて歩数の計測を実行するようにする指示入力を受け付けると、制御部110のCPU111は、まず、図16に示す処理を実行する。
【0125】
制御部110は、A/D変換部102を通じて供給される加速度データ(加速度ベクトル)を取得してRAM113にバッファリングする処理を開始し(ステップS101)、取得した加速度ベクトルを用いて重力加速度ベクトルgの初期値を算出する(ステップS102)。そして、サンプルカウンタcをリセット(ゼロクリア)する(ステップS103)。このステップS101〜ステップS103までの処理が電源投入後のいわゆる初期処理に相当する。
【0126】
そして、制御部110は、サンプルカウンタcの値は、予め決められた値Nより大きいか否かを判断する(ステップS104)。この実施の形態においては、演算量を削減するために、重力加速度ベクトルgの再計算は、N(Nは、1以上の整数)サンプルおきに行うようにしている。
【0127】
ステップS104の判断処理において、サンプルカウンタcが規定値Nよりも大きいと判断したときには、制御部110は、重力加速度ベクトルgの再計算処理を行って(ステップS105)、この後、サンプルカウンタcに値0をセットする(ステップS106)。すなわち、ステップS106の処理は、サンプルカウンタcのリセット処理である。そして、最新に再計算して得た重力加速度ベクトルgと、加速度ベクトルanとを用いて、図2または図3を用いて説明したように演算により鉛直成分vnを求める(ステップS107)。
【0128】
また、制御部110は、ステップS104において、サンプルカウンタcの値は、値Nより大きくないと判断した場合には、ステップS102において算出した重力加速度ベクトルgの初期値と最新の加速度ベクトルanとを用いて、上述もしたように、図2または図3を用いて説明したように演算により鉛直成分vnを求める(ステップS107)。
【0129】
そして、ステップS107の処理の後、制御部110は、最新の加速度データを取得し(ステップS108)、サンプルカウンタcに1加算して(ステップS109)、ステップS104からの処理を繰り返す。このようにして、ステップS107で求められた加速度ベクトルの鉛直成分が、高域/低域分離処理に用いられる。
【0130】
なお、この実施の形態において、ステップS105の重力加速度ベクトルgの再計算処理と、ステップS102の重力加速度ベクトルの初期値の算出処理は、基本的に同じ処理であり、加速度ベクトルの各軸のデータの移動平均を取ることによって、重力加速度の推定値として、重力加速度ベクトルgを算出する。
【0131】
ステップS102、ステップS105で行われる処理を具体的に説明する。ここでは、現在のサンプル位置をn1として、過去Mサンプル分の加速度データから重力加速度を求める場合を考える。この場合において、X軸の重力加速度ベクトルgxを求めには、現在のサンプル位置よりもM+1サンプル前からn1までの各サンプルにおけるX軸の加速度データaxnを加算して合計値を求め、この合計値を値Mで割り算することにより、X軸の重力加速度ベクトルgxが求められる。
【0132】
同様に、Y軸の重力加速度ベクトルgyを求める場合には、現在のサンプル位置よりもM+1サンプル前からn1までの各サンプルにおけるY軸の加速度データaynを加算して合計値を求め、この合計値を値Mで割り算することにより、Y軸の重力加速度ベクトルgyが求められる。また、Z軸の重力加速度ベクトルgzを求める場合には、現在のサンプル位置よりもM+1サンプル前からn1までの各サンプルにおけるZ軸の加速度データaznを加算して合計値を求め、この合計値を値Mで割り算することにより、Z軸の重力加速度ベクトルgzが求められる。
【0133】
このようにして重力加速度ベクトルを算出する場合には、動きによる加速度成分が平均化されてキャンセルされるように十分長い区間で平均を取るようにすることが望ましい。しかし、あまり長すぎると装置の傾きに追従しなくなりため(装置の傾きを正しく反映させることができなくなるために)、例えば、数秒間程度に設定するのが適当である。
【0134】
そして、ステップS107の鉛直成分の抽出処理においては、上述もしたように、図2に示した(1−3)式により、あるいは、図3に示した(2−3)式により、最新の加速度ベクトルanと重力加速度ベクトルgとに基づいて、鉛直成分vnを求める(抽出する)ことができる。
【0135】
このように、制御部110は、図16に示した処理を実行することによって、鉛直成分抽出部2としての機能を実現するようにしている。
【0136】
なお、図16に示したように、この実施の形態の歩数計100においては、重力加速度の推定は、演算量削減のためにNサンプルおきに行うようにしたが、これに限るものではない。重力加速度の推定についても毎サンプルごとに行ってもよい。重力加速度の推定のための演算処理は、各軸のデータの移動平均をとるものに限るものではない。例えば、最小二乗法などを用いてもよい。
【0137】
[鉛直成分の高域/低域分離処理について]
そして、図16に示した処理により抽出された加速度ベクトルの鉛直成分を高域成分と低域成分とに分離するのであるが、これを上述もしたように、例えば、歩行や走行による加速度の主要成分が含まれる2Hz〜4Hzの帯域の成分を低域成分として抽出し、4Hzより高い帯域の成分を高域成分として抽出するようにすれば、鉛直成分を予め決められた帯域の高域成分と予め決められた帯域の低域成分とに分離することができる。
【0138】
図16に示した処理により抽出される鉛直成分x(n)には、使用者の歩行運動に伴う上下動に対応したピークが現れ、特に、鉛直成分x(n)の低域成分xl(n)には、使用者の歩行運動に伴う上下動に対応したピークが顕著に現れる。このため、鉛直成分x(n)を分離することにより得られた低域成分xl(n)に基づいて、ピーク位置の候補を検出し、低域成分xl(n)のエネルギーと高域成分xh(n)のエネルギーとの比に基づいて、ピーク位置の候補を特定する。
【0139】
[ピーク位置の候補の検出及び特定処理について]
図17は、図15に示したこの実施の形態の歩数計100の主に制御部110において実行されるピーク位置の候補の検出及び特定処理を説明するためのフローチャートである。この図17に示す処理は、図16を用いて説明した鉛直成分抽出処理により抽出された鉛直成分x(n)を分離することにより得られる低域成分xl(n)と高域成分xh(n)とに基づいて、例えば、サンプリング毎に実行される。
【0140】
まず、制御部110は、上述したように、鉛直成分x(n)から分離された低域成分xl(n)に基づいてピーク位置の候補を探索(検出)する処理を行う(ステップS201)。具体的には、低域成分xl(x)について、例えば、サンプリング毎に、最新に取得した低域成分データとその直前の低域成分データとを比較し、直前の低域成分データの方が大きく、かつ、当該直前の低域成分データが所定値以上の場合には、当該直前の低域成分データをピーク値の候補として検出すると共に、そのピーク値の位置をピーク位置の候補として検出するようにする。
【0141】
そして、制御部110は、ピーク位置の候補が検出されたか否かを判断し(ステップS202)、検出されていないと判断したときには、この図17に示す処理を終了して、次のサンプリングのタイミングで、再度、この図17に示す処理を実行するようにする。
【0142】
また、ステップS202の判断処理において、ピーク位置の候補が検出されたと判断したときには、制御部110は、ピーク位置の候補近傍の低域成分xl(n)を用いて、ピーク位置の候補を含む所定範囲における低域成分xl(n)のエネルギーelを図9の(5−2)式に従って算出する(ステップS203)。また、同様にして、制御部110は、ピーク位置の候補近傍の高域成分xh(n)を用いて、ピーク位置の候補を含む所定範囲における高域成分xh(n)のエネルギーehを図9の(5−1)式に従って算出する(ステップS204)。
【0143】
そして、制御部110は、図9の(5−3)式に従って、ステップS203において算出した低域成分xl(n)のエネルギーelとステップS204において算出した高域成分xh(n)のエネルギーehとのエネルギー比dを算出し(ステップS205)、算出したエネルギー比dが、予め決められた閾値Dより小さいか否かを判断する(ステップS206)。
【0144】
ステップS206の判断処理において、エネルギー比dが、予め決められた閾値Dより小さくない、すなわち、高域成分xh(n)にノイズが多いと判断した場合には、ピーク位置の候補として検出したものは誤検出の可能性が高いので、検出したピーク位置の候補をピーク位置の候補としては特定せずに、この図17に示す処理を終了して、次のサンプリングのタイミングで、再度、この図17に示す処理を実行するようにする。
【0145】
ステップS206の判断処理において、エネルギー比dが、予め決められた閾値Dより小さい、すなわち、高域成分xh(n)にノイズが少ないと判断した場合には、ピーク位置の候補として検出したものはピーク位置としての信憑性が高いので、検出したピーク位置の候補をピーク位置の候補として特定して、ピーク位置の候補を例えばRAM113などのピーク位置記録バッファに記録するようにし(ステップS207)、この後、この図17に示す処理を終了して、次のサンプリングのタイミングで、再度、この図17に示す処理を実行するようにする。
【0146】
このようにして、この実施の形態の歩数計100の制御部110は、加速度ベクトルanから抽出した鉛直成分x(n)を帯域分割することにより得られた低域成分xl(n)に基づいてピーク位置の候補を検出し、さらにピーク位置の候補として検出した位置を含む所定範囲における低域成分xl(n)のエネルギーelと高域成分xh(n)のエネルギーehとに基づいて、ピーク位置の候補として信憑性の高いものだけをピーク位置の候補として特定するようにしている。
【0147】
なお、この図17に示した処理は、制御部110が実現するピーク検出/判定処理部としての機能の内のピーク検出機能(ピーク位置の候補の検出と特定機能)を実現するものである。
【0148】
[波形マッチングと歩数カウント処理について]
図18は、図15に示したこの実施の形態の歩数計100の主に制御部110において実行される処理であって、ピーク位置の候補として特定されたものの中からピーク位置を決定し、これに基づいて使用者の歩数を計数する処理を説明するためのフローチャートである。
【0149】
この図18に示す処理は、図17に示した処理により特定されたピーク位置の候補に基づいて、ピーク位置の候補を含む所定区間同士の波形マッチングを行うことにより、真のピーク位置を決定し、決定したピーク位置をカウントすることによって、使用者の歩数を正確にカウントするものである。
【0150】
図17に示した処理により特定されたピーク位置の候補は、図17に示した処理のステップS207の処理により、例えば、RAM113などのピーク位置記録バッファに格納される。このため、制御部110は、ピーク位置記録バッファから未チェックのピーク位置の候補を探索(検索)する(ステップS301)。未チェックか否かは、後述もするように、特定されたピーク位置の候補毎に設定されるチェック済みフラグのオン/オフによって判別できるが、通常、最新に記録されたピーク位置の候補が未チェックのピーク位置の候補となる。
【0151】
そして、制御部110は、ステップS301の処理において、未チェックのピーク位置の候補p1が見つかったか否かを判断する(ステップS302)。ステップS302の判断処理において、未チェックのピーク位置の候補p1が見つかったと判断したときには、ピーク位置の候補p1から過去N秒以内の範囲において、ピーク位置の候補p1を含む所定範囲の波形と、他のピーク位置の候補を含む所定範囲の波形とのマッチング処理を行う(ステップS303)。
【0152】
なお、ステップS303の処理においては、サンプリング周波数にもよるが、過去の1つ以上の所定範囲の波形とのマッチングが行われることになる。また、マッチングに用いられる波形は、低域成分xl(n)の波形に基づいて行うようにすればよい。もちろん、比較する波形としては、鉛直成分x(n)の波形を用いるようにしてもよい。
【0153】
そして、制御部110は、ステップS303の処理に基づいて、未チェックのピーク位置の候補p1とマッチする過去のピーク位置の候補p2が見つかったか否かを判断する(ステップS304)。すなわち、ステップS304の判断処理においては、未チェックのピーク位置の候補p1を含む所定範囲の波形と類似度の高い過去のピーク位置の候補を含む所定範囲の波形が見つかったか否かを判断している。
【0154】
ステップS304の判断処理において、未チェックのピーク位置の候補p1とマッチする過去のピーク位置の候補p2が見つかったと判断したときには、未チェックのピーク位置の候補p1をピーク位置として決定して歩数カウントに値「1」を加算すると共に、未チェックのピーク位置の候補p1のカウント済みフラグをオンにする(ステップS305)。
【0155】
そして、今回、マッチするものとして見つかった過去のピーク位置の候補p2のカウント済みフラグはオンになっているか否かを判断する(ステップS306)。ステップS306の判断処理において、過去のピーク位置の候補p2のカウント済みフラグがオンになっていると判断した場合には、未チェックのピーク位置の候補p1についてのチェック済みフラグをオンにして(ステップS307)、この図18に示す処理を終了し、次の実行タイミングを待つ。
【0156】
また、ステップS306の判断処理において、過去のピーク位置の候補p2のカウント済みフラグはオンになっていないと判断したときには、過去のピーク位置の候補p2について、それ以前にマッチするピークは存在しなかったものの、新たにピーク位置の候補p1とマッチしたので、過去のピーク位置の候補p2についてもピーク位置として決定して歩数カウントに値「1」を加算すると共に、過去のピーク位置の候補p2のカウント済みフラグをオンにして(ステップS308)、ステップS307の処理に進み、未チェックのピーク位置の候補p1についてのチェック済みフラグをオンにして(ステップS307)、この図18に示す処理を終了し、次の実行タイミングを待つ。
【0157】
また、ステップS302の判断処理において、未チェックのピーク位置の候補p1が見つからないと判断した場合と、ステップS304の判断処理において、未チェックのピーク位置の候補p1とマッチする過去のピーク位置の候補p2が見つからないと判断した場合には、この図18に示す処理を終了し、次の実行タイミングを待つことになる。
【0158】
このように、図17を用いて説明した処理により、ピーク位置の候補を特定した後において、この図18に示した処理により、ピーク位置を決定し、決定したピーク位置をカウントすることにより、使用者の歩行や走行に応じた歩数を正確にカウントすることができる。
【0159】
なお、ここでは、図18の処理により、決定したピーク位置をカウントすることにより、使用者の歩行や走行に応じた歩数を正確にカウントするようにしたが、目的とする精度が確保できれば、図17の処理により、特定したピーク位置の候補をカウントすることにより、使用者の歩行や走行に応じた歩数をカウントするようにしてもよい。
【0160】
なお、この図18に示した処理は、制御部110が実現するピーク検出/判定処理部4としての機能の内のピーク位置の決定機能を実現するとともに、歩数計としての歩数計測の機能を実現するものである。
【0161】
[先頭のカウント漏れ防止処理について]
ところで、図18に示した処理の場合、静止状態から歩き始めた時など過去N秒以内にピークが無い場合についてはカウント漏れが生じてしまう。そこで、図19のように過去のピークから現在のピークに対してマッチングを取る処理を追加することによってカウント漏れを防ぐことができる。
【0162】
すなわち、使用者の動作(運動)開始直後の歩数のカウント漏れを防止する場合には、図19に示す処理を、図18に示した処理前段または後段に追加する。この場合、制御部110は、ピーク位置記録バッファから現在よりもN秒前のピーク位置の候補であって、未カウントのピーク位置の候補p1を探索(検索)する(ステップS401)。
【0163】
このステップS401の処理は、過去の未カウントのピーク位置の候補を見つける処理であり、端的に言えば、先頭のピーク位置の候補を検索する処理である。そして、制御部110は、未カウントのピーク位置の候補p1が見つかったか否かを判断する(ステップS402)。
【0164】
ステップS402の判断処理において、未カウントのピーク位置の候補p1が見つかったと判断したときには、未カウントのピーク位置の候補p1から現在にかけての範囲を対象として、未カウントのピーク位置の候補p1を含む所定範囲の波形と、未カウントのピーク位置の候補p1から現在にかけての範囲に存在するピーク位置の候補を含む所定範囲の波形とのマッチングを行う(ステップS403)。
【0165】
図18に示したステップS303の処理が現在から過去方向に向かう波形マッチング処理であるのに対して、ステップS403の処理は、過去から現在に向かう波形マッチング処理である。
【0166】
そして、制御部110は、ステップS403の処理に基づいて、未チェックのピーク位置の候補p1とマッチする現在方向のピーク位置の候補p2が見つかったか否かを判断する(ステップS404)。すなわち、ステップS404の判断処理においては、未カウントとなっているピーク位置の候補p1を含む所定範囲の波形と、ピーク位置の候補p1から見て現在方向(時間の経過方向)に類似度の高いピーク位置の候補を含む所定範囲の波形が見つかったか否かを判断している。
【0167】
ステップS404の判断処理において、未チェックのピーク位置の候補p1とマッチする現在方向のピーク位置の候補p2が見つかったと判断したときには、歩数カウントに値「1」を加算すると共に、未チェックのピーク位置の候補p1のカウント済みフラグをオンにする(ステップS405)。
【0168】
これにより、過去にピーク位置の候補が存在しないために、ピーク位置として決定できなかった過去のピーク位置の候補を、それよりも後の波形と比較することにより類似度の高い波形が存在した場合に、過去のピーク位置の候補をピーク位置として決定して、これをカウントすることができる。
【0169】
さらに、制御部110は、現在方向のピーク位置の候補p2についてのカウント済みフラグがオンか否かを判断する(ステップS406)。ステップS406の判断処理において、現在方向のピーク位置の候補p2についてのカウント済みフラグがオンでないと判断したときには、その現在方向のピーク位置の候補p2についてもピーク位置として決定して、歩数カウントに値「1」を加算すると共に、現在方向のピーク位置の候補p2についてのカウント済みフラグをオンにする(ステップS407)。
【0170】
そして、ステップS406の判断処理において、現在方向のピーク位置の候補p2についてのカウント済みフラグがオンであると判断した場合、または、ステップS407の処理の後においては、制御部110はこの図19に示す処理を終了し、次の実行タイミングを待つことになる。
【0171】
このような図19に示した処理を、図18に示した処理に加えて実行することにより、例えば、一番初めのピーク近傍の波形については、時間的に後(未来)のピーク近傍の波形とマッチングを取ることにより、真にピークか否かを判断し、ピークであるときにはこれをカウントすることができる。
【0172】
[体動種別の推定処理と歩数カウント処理について]
上述したように、ピーク位置の候補を特定して、これをカウントしたり、あるいは、ピーク位置の候補の中から真のピーク位置を決定して、これをカウントしたりすることにより、使用者の歩行や走行などの運動時における歩数を計測することが可能である。しかし、ノイズなどの影響で、マッチングが取れないピークが生ずることがある。
【0173】
このため、この実施の形態の歩数計100においては、制御部110が実現するステップ位置解析部5としての機能によって、使用者の動作状態(動作状態に応じた体動種別)をも正確に把握し、歩行や走行を行っている場合には、マッチングが取れないピークが存在する期間においても、使用者の歩数を正確にカウントすることができるようにしている。
【0174】
図20、図21は、この実施の形態の歩数計100の主に制御部110において実行される体動種別の推定処理と歩数カウント処理を説明するためのフローチャートである。この図20、図21に示す処理において用いられるピーク位置の情報としては、図17の処理により特定されピーク位置記録バッファに記録されたピーク位置の候補のデータを用い、波形マッチングによるピーク位置の決定処理と、体動種別の推定処理と、歩数カウント処理とを行うようにしているものである。
【0175】
すなわち、図16、図17の処理に続いて、この図20、図21に示す処理が実行される。この図20、図21の処理は、ピーク検出/判定処理部4の機能と、ステップ位置解析部5の機能とにより実現されるものである。
【0176】
そして、制御部110は、RAM113などのピーク位置記録バッファから未チェックのピーク位置の候補を探索(検索)する(ステップS501)。未チェックか否かは、後述もするように、特定されたピーク位置の候補毎に設定されるチェック済みフラグのオン/オフによって判別できるが、通常、最新に記録されたピーク位置の候補が未チェックのピーク位置の候補となる。
【0177】
そして、制御部110は、ステップS501の処理において、未チェックのピーク位置の候補p1が見つかったか否かを判断する(ステップS502)。ステップS502の判断処理において、未チェックのピーク位置の候補p1が見つかったと判断したときには、静止タイマCに値「0(ゼロ)」をセットする(ステップS503)。そして、制御部110は、ピーク位置の候補p1から過去N秒以内の範囲において、ピーク位置の候補p1を含む所定範囲の波形と、他のピーク位置の候補を含む所定範囲の波形とのマッチング処理を行う(ステップS504)。
【0178】
なお、ステップS504の処理においては、サンプリング周波数にもよるが、過去の1つ以上の所定範囲の波形とのマッチングが行われることになる。また、マッチングに用いられる波形は、低域成分xl(n)の波形に基づいて行うようにすればよい。もちろん、比較する波形としては、鉛直成分x(n)の波形を用いるようにしてもよい。
【0179】
そして、制御部110は、ステップS504の処理に基づいて、未チェックのピーク位置の候補p1とマッチする過去のピーク位置の候補p2が見つかったか否かを判断する(ステップS505)。すなわち、ステップS505の判断処理においては、未チェックのピーク位置の候補p1を含む所定範囲の波形と類似度の高い過去のピーク位置の候補を含む所定範囲の波形が見つかったか否かを判断している。
【0180】
ステップS505の判断処理において、未チェックのピーク位置の候補p1とマッチする過去のピーク位置の候補p2が見つかったと判断したときには、未チェックのピーク位置の候補p1をピーク位置として決定して歩数カウントに値「1」を加算すると共に、未チェックのピーク位置の候補p1のカウント済みフラグをオンにする(ステップS506)。
【0181】
そして、今回、マッチするものとして見つかった過去のピーク位置の候補p2のカウント済みフラグはオンになっているか否かを判断する(ステップS507)。ステップS507の判断処理において、過去のピーク位置の候補p2のカウント済みフラグがオンになっていると判断した場合には、図21に示す処理に進む。
【0182】
また、ステップS507の判断処理において、過去のピーク位置の候補p2のカウント済みフラグはオンになっていないと判断したときには、過去のピーク位置の候補p2について、それ以前にマッチするピークは存在しなかったものの、新たにピーク位置の候補p1とマッチしたので、過去のピーク位置の候補p2についてもピーク位置として決定して歩数カウントに値「1」を加算すると共に、過去のピーク位置の候補p2のカウント済みフラグをオンにして(ステップS508)、図21の処理に進む。
【0183】
また、図20に示したステップS502の判断処理において、未チェックのピーク位置の候補p1が見つからないと判断したときには、静止タイマCに値「1」を加算し(ステップS509)、静止タイマCが基準値よりも大きくなったか否かを判断する(ステップS510)。
【0184】
ステップS510の判断処理において、静止タイマCが基準値よりも大きくなったと判断したときには、使用者の動作状態は「静止」状態であると設定し(ステップS511)、この図20、図21の処理を終了し、次の実行タイミングを待つことになる。また、ステップS510の判断処理において、静止タイマCが基準値よりも大きくなっていないと判断したときには、何もせずに、この図20、図21に示す処理を終了し、次の実行タイミングを待つことになる。
【0185】
そして、上述したように、ステップS507の判断処理において、過去のピーク位置の候補p2のカウント済みフラグがオンになっていると判断した場合と、ステップS508の処理の後においては、図21に示す処理を行うことになる。図21に示す処理においては、制御部110は、まず、未チェックのピーク位置の候補p1についてのチェック済みフラグをオンにする(ステップS512)。
【0186】
次に、制御部110は、ステップS512の処理により、最新にチェック済みフラグがオンになったピーク位置p1に最も近い過去のピーク位置p1´を特定し(ステップS513)、ピーク位置p1とその直近のピーク位置p1´との間隔T0を算出する(ステップS514)。この実施の形態の歩数計100においては、図12を用いて説明したように、直近の4つのピーク位置のそれぞれによって挟まれた3つのピーク間隔T0、T1、T2を保持することができるようにしている。もちろん、より多くのピーク間隔を保持して用いるようにしてもよい。
【0187】
そして、制御部110は、最新の使用者の動作状態の判定結果が[歩行/走行]状態か否かを判断する(ステップS515)。ステップS515の判断処理において、使用者の動作状態が[歩行/走行]状態ではないと判断したときには、上述したように、直近の4つのピーク位置に応じて決まる3つの間隔T0、T1、T2の平均値Taを算出し(ステップS516)、全てのピーク間隔T0、T1、T2のそれぞれについて、平均値Taを減算した値を求め、この求めた値が全てのピーク間隔について、基準値よりも小さいか否かを判断する(ステップS517)。
【0188】
このステップS517の判断処理は、ピーク間隔T0、T1、T2のそれぞれがほぼ同じピッチであり、周期的な体動である歩行や走行が行われるようになったか否かを判断する処理である。ステップS517の判断処理において、ピーク間隔T0、T1、T2のそれぞれと平均値Taとの差分のそれぞれが、基準値以下であると判断したときには、制御部110は、平均値Taを基準ピッチPsとするとともに、使用者の動作状態を「歩行/走行」状態にあると判定(特定)する(ステップS518)。
【0189】
そして、制御部110は、ピーク間隔T0、T1、T2のシフト処理を行う(ステップS519)。すなわち、ピーク間隔T2にピーク間隔T1を移行し、ピーク間隔T1にピーク間隔T0を移行する。なお、ピーク間隔T0については、初期化を行うようにしてもよい。
【0190】
このステップS519の処理の後、および、ステップS517の判断処理において、ステップS517の判断処理において、ピーク間隔T0、T1、T2のそれぞれと平均値Taとの差分のそれぞれが、基準値以下ではないと判断したときには、制御部110は、この図20、図21に示す処理を終了し、次の実行タイミングを待つことになる。
【0191】
また、ステップS515の判断処理において、使用者の動作状態が[歩行/走行]状態であると判断したときには、制御部110は、最新のピーク間隔T0を基準ピッチPsで割り算することにより値rを算出する(ステップS520)。このステップS520の処理は、図14を用いて説明したように、ノイズ等の影響により、本来、ピーク値として検出されるべきものがピーク値として検出されない場合を考慮する処理であり、最新に検出したピーク間隔T0が、基準ピッチPsの何倍になるかを計算する処理である。
【0192】
そして、ステップS520において算出した値rに最も近い整数Rを算出する(ステップS521)。例えば、値rが「0.1」や「0.2」などである場合には、整数Rは「0」であり、値rが「0.9」や「1.1」などである場合には、整数Rは「1」であり、また、値rが「1.9」や「2.1」であれば、整数Rは「2」になる。そして、制御部110は、値rから整数Rを減算することにより得られる値の絶対値が、予め決められる基準値よりも小さいか否かを判断する(ステップS522)。
【0193】
このステップS522の判断処理は、最新のピーク間隔T0が、基準ピッチPsの整数倍か否かを判断する処理である。ステップS522の判断処理において、値rから整数Rを減算することにより得られる値の絶対値が、予め決められる基準値よりも小さくないと判断したときには、最新のピーク間隔T0が、基準ピッチPsの整数倍ではないと判断し、使用者の動作状態を「不定」状態にあると判定(特定)する(ステップS523)。そして制御部110は、この図20、図21に示す処理を終了し、次の実行タイミングを待つことになる。
【0194】
また、ステップS522の判断処理において、値rから整数Rを減算することにより得られる値の絶対値が、予め決められる基準値よりも小さいと判断したときには、最新のピーク間隔T0が、基準ピッチPsの整数倍であると判断し、整数R1は、値「1」より大きいか否かを判断する(ステップS524)。このステップS524の判断処理は、ピーク間隔T0が基準ピッチPsの2倍以上か否かを判断する処理である。
【0195】
ステップS524の判断処理において、整数Rは1より大きくないと判断したときには、最新のピーク間隔T0は、基準ピッチの2倍以上の区間ではないので、制御部110は、何もすることなく、この図20、図21に示す処理を終了し、次の実行タイミングを待つことになる。
【0196】
一方、ステップS524の判断処理において、整数Rは1より大きいと判断したときには、最新のピーク間隔T0は、基準ピッチの2倍以上の区間であるので、制御部110は、カウント数に、整数Rから1減算した値を加算して(ステップS525)、この図20、図21に示す処理を終了し、次の実行タイミングを待つことになる。
【0197】
このように、図20、図21に示した処理により、使用者の動作状態をも正確に判別しつつ、歩行や走行を行っている場合には、マッチングが取れないピークが存在する期間においても、使用者の歩数を正確にカウントすることができ、しかも、「静止」状態、「不定」状態、「歩行」状態、「走行」状態の4つの動作状態(動作状態に応じた体動種別)をリアルタイムに判別することもできるようにしている。
【0198】
なお、図20、図21を用いて説明した処理において、最新のピーク間隔T0が、基準ピッチの整数倍の区間であるときには、計測できなかったピーク位置に応じて、歩数の計測を行うようにしたが、これに限るものではない。すなわち、最新のピーク間隔T0が、基準ピッチの整数倍の区間であるときには、その区間における鉛直成分の低域成分の振幅、あるいは、鉛直成分自体の振幅をも考慮し、基準ピッチの整数倍の位置に確実にピーク位置が存在するか否かを判別するようにしてもよい。
【0199】
具体的には、基準ピッチの整数倍の位置の振幅に対する基準値を設けておき、この基準値以上であれば、ピーク値及びピーク位置として認識し、基準値より小さい場合には、ピーク値及びピーク位置として認識しないようにすればよい。なお、基準値は、実験を行うことにより、適切な値を説定することが可能である。
【0200】
[音響再生装置への適用について]
次に、この発明の装置、方法、プログラムの一実施の形態を音響再生装置に適用した場合について説明する。図22は、この実施の形態の音響再生装置200を説明するためのブロック図である。この実施の形態の音響再生装置200は、後述もするように、楽曲データ(音楽データ)を記憶するための比較的に大容量の記録媒体を用いることができるようにされた携帯型のものである。
【0201】
記録媒体としては、ハードディスク、MD(ミニディスク(登録商標))などの光磁気ディスク、CDやDVDなどの光ディスク、メモリカード、半導体メモリなど、種々の記憶媒体を用いるものが考えられる。しかし、ここでは、説明を簡単にするため、楽曲データなどのコンテンツデータを記憶する記録媒体はハードディスクであるものとして説明する。
【0202】
図22に示すように、この実施の形態の音響再生装置200は、制御部210に対して、3軸の加速度センサ201がA/D変換部202を介して接続されると共に、比較的に記憶容量の大きな記録媒体として、楽曲データベース(以下、楽曲DBという。)203と、プレイリスト格納部204とが接続される。
【0203】
また、制御部210に対しては、音声再生処理部205を介してスピーカ206が接続されると共に、ユーザインターフェースとしての操作部221と、表示部222とが接続され、さらに外部インターフェース(以下、外部I/Fという。)223を介して入出力端子224が接続された構成とされている。
【0204】
3軸の加速度センサ201は、上述した歩数計100の加速度センサ110の場合と同様に、1軸の加速度センサを互いに直交するX軸、Y軸、Z軸の3軸に配置して形成されたもの、あるいは、直交する3軸の加速度センサがひとつのパッケージに封入されて形成されたもののいずれを用いてもよい。3軸の加速度センサ201からのX軸、Y軸、Z軸のそれぞれの検出出力(アナログ出力)は、A/D変換部202に供給され、ここで制御部210において処理可能な形式のデジタルデータに変換されて制御部210に供給される。
【0205】
制御部210は、この実施の形態の音響再生装置200の各部を制御するものであり、上述した歩数計100の制御部110と同様に、CPU211、ROM212、RAM213、不揮発性メモリ214が、CPUバス215を通じて接続されてマイクロコンピュータの構成とされたものである。
【0206】
ここで、CPU211は、各種のプログラムを実行し、各部に供給する制御信号を形成したり、各種の演算を行ったりするなど、制御部210における処理や制御の主体となるものである。ROM212は、CPU211が実行する各種のプログラムや処理に必要になるデータを記憶保持する。
【0207】
また、RAM213は、処理の途中結果を一時記憶するなど、主に作業領域として用いられるものであり、A/D変換部202を通じて供給される加速度センサ201からの数値化された加速度データを記憶保持するバッファメモリなどとしても用いられる。不揮発性メモリ214は、例えば、EEPROMやフラッシュメモリなどの電源が落とされても記憶データが消滅することのないメモリであり、電源が落とされても保持しておくべきデータ、例えば設定されたパラメータや追加されたプログラムなどを記憶保持する。
【0208】
そして、楽曲DB203、プレイリスト格納部204は、上述もしたように、いずれもハードディスクである。楽曲DBには、この実施の形態の音響再生装置200において再生可能な多数の楽曲データが、例えば所定のデータ圧縮方式に従ってデータ圧縮されて記憶保持されている。
【0209】
また、プレイリスト格納部204には、使用者が「静止」状態にあるときに再生すべき楽曲を指示する静止時プレイリストと、使用者が「歩行」状態にあるときに再生すべき楽曲を指示する歩行時プレイリストと、使用者が「走行」状態にあるときに再生すべき楽曲を指示する走行時プレイリストとが記憶保持されている。
【0210】
すなわち、プレイリスト格納部204に格納されているプレイリストは、静止時プレイリスト、歩行時プレイリスト、走行時プレイリストの別が、例えば、各プレイリストに付加されるプレイリスト種別等の情報によって区別することができるようにされている。また、静止時プレイリスト、歩行時プレイリスト、走行時プレイリストのそれぞれは複数存在し、各プレイリストには、再生すべき1曲以上の楽曲を特定するファイル名などの楽曲ID(楽曲識別子)が例えば再生順に予め登録されて形成されたものである。
【0211】
なお、図22においては、構成を明確にするために、楽曲DB203と、プレイリスト格納部204とを別個に示したが、これらは同じハードディスク上に形成される場合ももちろんある。
【0212】
音声再生処理部205は、制御部210により楽曲DB203から読み出された楽曲データの供給を受けて、これを圧縮解凍処理してデータ圧縮前の元の楽曲データを復元すると共に、復元した楽曲データからスピーカ206に供給する形式のアナログ音声信号を形成し、これをスピーカ206に供給する。これにより、再生するようにされた楽曲データに応じた音声がスピーカ206から放音される。
【0213】
なお、図示しないが、この実施の形態の音声再生処理部205には、ヘッドホン端子も接続するようにされており、当該ヘッドホン端子にヘッドホンが接続された場合には、音声再生処理部205において処理された音声信号は、スピーカ206にではなくヘッドホン端子を介して、これに接続されたヘッドホンに供給され、当該ヘッドホンを通じて再生音声を聴取することができるようにしている。
【0214】
また、操作部221は、再生キー、停止キー、早送りキー、早戻しキー、その他、各種のファンクションキーなどを備え、ユーザーからの操作入力を受け付けて、これに応じた電気信号を制御部210に供給することができるものである。これに応じて、制御部210は各部を制御し、ユーザーの指示に応じた処理を行うことができるようにしている。
【0215】
また、表示部222は、表示制御回路を含み、例えば、LCD(Liquid Crystal Display)、有機EL(Electro Luminescence)ディスプレイ、CRT(Cathode-Ray Tube)等の表示素子を備え、制御部210の制御に応じて種々のガイダンス情報等を表示する。具体的には、表示部222は、制御部210から表示データの供給を受けて、この表示データから表示素子に供給する映像信号を形成し、これを表示素子に供給することによって、制御部210からの表示データに応じた表示情報を表示素子の表示画面に表示する。
【0216】
また、外部I/F223、入出力端子224を通じて、パーソナルコンピュータなどの外部機器に接続することができるようにされている。そして、入出力端子224、外部I/F223を通じて、外部機器から楽曲データやプレイリストの供給を受け、楽曲データについては楽曲DB203に格納し、プレイリストについては、プレイリスト格納部204に格納することができるようにしている。
【0217】
逆に、制御部210の制御により、楽曲DB203に格納されている楽曲データを制御部210、外部I/F223、入出力端子224を通じて外部機器に出力し、外部機器の記録媒体にバックアップを形成したり、同様にして、プレイリスト格納部204に記憶保持されているプレイリストのバックアップを外部機器の記録媒体に作成したりすることもできるようにしている。
【0218】
また、表示部222に楽曲DB203に格納されていえる楽曲データの一覧リストを表示させ、操作部221を通じて目的する楽曲データを選択すると共に、静止時プレイリスト、歩行時プレイリスト、走行時プレイリストの別を入力することにより、この実施の形態の音響再生装置200においてもプレイリストを作成することができる。
【0219】
そして、この実施の形態の音響再生装置200は、操作部221を通じて選択された楽曲データが制御部210により楽曲DB203から読み出され、これが音声再生処理部205に供給される。これにより、使用者から操作部221を通じて指示された楽曲を再生し、その楽曲を聴取することができるようにされる。
【0220】
また、操作部を通じて用いるプレイリストを指示した場合は、その指示したプレイリスに従って、制御部210により楽曲DB203から楽曲データが読み出され、音声再生処理部205に供給するようにされ、プレイリストに従って楽曲を再生することもできるようにしている。
【0221】
さらに、プレイリストを自動選択するモードが選ばれている場合には、使用者の動作状態に応じて適切なプレイリストを選択することもできるようにしている。この実施の形態の音響再生装置200において、制御部210が、図1に示す体動検出装置における鉛直成分抽出部2、高域/低域分解部3、ピーク検出/判定処理部4、ステップ位置解析部5としての機能を実現すると共に、使用者の動作ピッチ(動作テンポ)を正確に把握し、使用者の動作状態に応じて、静止時プレイリスト、歩行時プレイリスト、走行時プレイリストの中から適切なものを自動選択することができるようにしている。
【0222】
すなわち、この実施の形態の音響再生装置200の制御部210は、加速度センサ201からの検出出力に基づいて、図1を用いて説明したように、鉛直成分抽出、鉛直成分の高域/低域の分解、ピーク位置の候補の検出とピーク位置の候補の特定、波形マッチングによるピーク位置の決定などの処理を行う機能を有している。
【0223】
そして、決定したピーク位置に基づいて、使用者の動作状態を正確に把握すると共に、歩行や走行などの体動ピッチを正確に把握し、体動ピッチをも考慮して、使用者の動作状態に応じて適切なプレイリストを自動的に選択し、この選択したプレイリストを用いて楽曲の再生を行うことができるようにしている。
【0224】
以下、図23のフローチャートを参照しながら、この実施の形態の音響再生装置において、プレイリストを自動選択するモードが選ばれている場合において、使用者の動作状態に応じて適切なプレイリストを選択する場合の処理について説明する。図23は、この実施の形態の音響再生装置において、使用者の動作状態に応じて適切なプレイリストを選択する場合の処理について説明するためのフローチャートである。
【0225】
図23に示す処理は、主に、この実施の形態の音響再生装置200の制御部210において行われる。まず、制御部210は、図15に示した歩数計100の制御部110の場合と同様に、体動種別の推定処理を実行する(ステップS601)。このステップS601の処理は、(1)図16を用いて説明したように、3軸の加速度センサ201からの加速度ベクトルから鉛直成分を抽出すると共に、(2)この抽出した鉛直成分を高域成分と低域成分とに分離し、(3)これらを用いて、図17を用いて説明したように、ピーク位置の候補を特定して、(4)この特定したピーク位置の候補の情報を用いて、図20、図21に示した処理を実行することにより、使用者の動作状態と動作ピッチを把握する処理である。
【0226】
なお、図20、図21に示した処理においては、歩数をカウントする処理を行う必要はない。ステップS506〜ステップS508の処理、および、ステップS525の処理を行う必要はない。
【0227】
そして、制御部210は、使用者の動作状態が変化したか否かを判断する(ステップS602)。この判断処理は、例えば、動作状態の判定結果として、前回の判定結果と今回の判定結果とを保持しておき、両者が異なる場合に動作状態が変化したと判断することができる。
【0228】
ステップS602の判断処理において、動作状態は変化していないと判断したときには、この図23に示す処理を終了し、次の実行タイミングまで待つことになる。ステップS602の判断処理において、動作状態が変化したと判断したときには、変化後の状態、すなわち、今回の判定結果が、「静止」状態であるか否かを判断する(ステップS603)。
【0229】
ステップS603の判断処理において、今回の判定結果が「静止」状態であると判断したときには、プレイリスト格納部204に格納されている静止時プレイリストを用いるようにし、当該静止時プレイリストに従って楽曲(音楽)を再生する(ステップS604)。この後、この図23に示す処理を終了し、次の実行タイミングまで待つことになる。
【0230】
また、ステップS603の判断処理において、今回の判定結果が「静止」状態ではないと判断したときには、今回の判定結果が「歩行/走行」状態か否かを判断する(ステップS605)。ステップS605の判断処理において、「歩行/走行」状態であると判断したときには、ステップS601の処理であって、図20、図21の処理において求められた基準ピッチPsが規定値よりも小さいか否かを判断する(ステップS606)。
【0231】
このステップS606の判断処理において用いられる規定値は、使用者の動作状態が、歩行か走行かを判断するためのものであり、基準ピッチPsが規定値よりも小さくない場合には、基準ピッチはまだ十分に早くない状態であり、歩行状態であると判断することができる。逆に、基準ピッチが規定値よりも小さい場合には、基準ピッチは十分に早く走行状態であると判断することができる。
【0232】
このため、ステップS606の判断処理において、基準ピッチPSが規定値よりも小さくないと判断したときには、使用者の動作状態は、「歩行」状態であると判断し、プレイリスト格納部204に格納されている歩行時プレイリストを用いるようにし、当該歩行時プレイリストに従って楽曲(音楽)を再生する(ステップS607)。この後、制御部210は、図23に示す処理を終了し、次の実行タイミングまで待つことになる。
【0233】
また、ステップS606の判断処理において、基準ピッチPSが規定値よりも小さいと判断したときには、使用者の動作状態は、「走行」状態であると判断し、プレイリスト格納部204に格納されている走行時プレイリストを用いるようにし、当該走行時プレイリストに従って楽曲(音楽)を再生する(ステップS608)。この後、制御部210は、図23に示す処理を終了し、次の実行タイミングまで待つことになる。
【0234】
このように、この実施の形態の音響再生装置200は、使用者の動作状態を適切に判定し、使用者の動作状態に応じたプレイリストに自動的に切り換えて、使用者の体動に応じた楽曲を再生することができるようにされる。
【0235】
なお、上述もしたように、静止時プレイリスト、歩行時プレイリスト、走行時プレイリストのそれぞれが複数用意されている場合もある。このような場合には、使用する順番を予め定めておき、その順番に従って使用するようにしたり、各プレイリスト毎に使用頻度を記憶しておき、使用頻度の低いものを用いるようにしたり、逆に、使用頻度の高いものを用いるようにしたりしてもよい。また、静止時プレイリスト、歩行時プレイリスト、走行時プレイリストのそれぞれについて用いるものを予め使用者が指定するようにしてもよい。
【0236】
また、上述した歩数計100においても、図20、図21の処理に先立って、図19の処理を行うことにより、歩数の計測処理の初めから、正確の歩数の計測を行うようにすることができる。
【0237】
また、上述した歩数計100、音響再生装置200においては、3軸の加速度センサ101、201を用いるものとして説明した。しかし、これに限るものではない。1軸の加速度センサを用いてもよいし、2軸の加速度センサを用いてもよい。しかし、1軸または2軸の加速度センサを用いる場合は、体動の主要成分が信号として拾えるような向きに配置される必要がある。
【0238】
しかし、3軸の加速度センサを用い、上述もしたように、鉛直成分の抽出、高域成分と低域成分のエネルギー比の考慮といった処理を行うことによって、加速度センサの装着位置や装着方向に制限を生じさせることが無いので、3軸の加速度センサを用いることが好ましい。
【0239】
また、上述した実施の形態においては、3軸の加速度センサを用い、3軸の加速度ベクトルから鉛直成分を抽出するようにしたが、これに限るものではない。例えば、3軸の内で最も信号強度の強い軸の信号を鉛直成分とみなして選択するようにしてもよい。
【0240】
また、上述した歩数計100、音響再生装置200においては、加速度ベクトルの鉛直成分のピーク位置を検出していくことにより、体動のピッチ周期を求めるようにしたが、これに限るものではない。ピーク位置(ステップ位置)を特定するための手段としては、靴底にスイッチを配置し歩行または走行時足を踏み込むことでスイッチの接点が閉じるような機構を用いたり、靴底にひずみゲージを配置したりして踏み込みを検出する手段を用いてもよい。
【0241】
また、上述した実施の形態の音響再生装置200においては、使用者の体動ピッチ(歩行テンポや走行テンポ)を正確に計測することができるので、制御部210が音声再生処理部205を制御することにより、使用者の体動テンポに応じて、再生する楽曲の再生テンポを制御するようにすることもできる。
【0242】
このように、使用者の体動テンポに応じて、再生する楽曲の再生テンポを制御することにより、使用者は再生される楽曲に対して一体感を感じ、歩行や走行などの運動を効率よく行ったり、無理なく継続したりすることができるようにされる。
【0243】
また、上述した実施の形態の体動検出装置、体動検出方法、体動検出プログラムは、歩数計、携帯型の音響再生装置だけでなく、フィットネスクラブ等で用いられる室内用のランニングマシンなどのトレーニングマシンに適用したり、据え置き型の音響再生装置に適当したりするなど、使用者の鉛直方向の体動を検出して利用する必要性のある種々の電子機器に適用することができる。
【0244】
また、図16〜図21、図23は、この発明による、方法、プログラムが適用されたものであり、図16〜図21、図23に示したフローチャートに従って処理を行うことにより、この発明による方法を用いることができるし、また、図16〜図21、図23に示したフローチャートに従ったプログラムを作成することにより、この発明によるプログラムを実現することができる。
【0245】
また、図1に示した各部の機能を実現するように制御部での処理を規定することによりこの発明による方法を実現でき、同様に、図1に示した各部の機能を実現するように制御部で実行するプログラムを作成することにより、この発明によるプログラムを実現することができる。
【図面の簡単な説明】
【0246】
【図1】実施の形態の体動検出装置の基本的な構成について説明するためのブロック図である。
【図2】3軸の加速度センサを用いた場合における、加速度ベクトルan、重力加速度ベクトルg、加速度ベクトルanの鉛直成分vnについて説明するための図である。
【図3】3軸の加速度センサを用いた場合における、重力加速度ベクトルgの偏角を考慮して加速度ベクトルanの鉛直成分vnを求める場合を説明するための図である。
【図4】3軸の加速度センサを用いた場合における、加速度ベクトルanの水平成分hnを求める場合を説明するための図である。
【図5】2軸の加速度センサを用いた場合における、加速度ベクトルan、重力加速度ベクトルg、加速度ベクトルanの鉛直成分vnについて説明するための図である。
【図6】加速度データ、加速度ベクトルの長さ、鉛直成分、水平成分のグラフの一例を説明するための図である。
【図7】実施の形態の体動検出装置を使用者の腰部に装着して用いた場合に検出される加速度信号のグラフを示す図である。
【図8】実施の形態の体動検出装置を使用者のズボンのポケットに入れて用いた場合に検出される加速度信号のグラフを示す図である。
【図9】エネルギー比dを求めるための計算方式を説明するための図である。
【図10】多軸の加速度センサ1により検出される加速度ベクトルの鉛直成分x(n)の低域成分xl(n)にも不規則な信号が混入した場合のグラフを示す図である。
【図11】使用者の動作状態の遷移を説明するための図である。
【図12】図1に示した体動検出装置において加速度センサ1からの検出出力からステップ検出(ピーク位置の決定)をした場合の波形を示す図である。
【図13】基準ピッチPsの算出式の一例を説明するための図である。
【図14】「歩行/走行」状態において、ピーク位置の検出漏れが生じた場合の例を説明するための図である。
【図15】この発明の一実施の形態が適用された歩数計を説明するためのブロック図である。
【図16】鉛直成分抽出処理を説明するためのフローチャートである。
【図17】ピーク位置の候補の検出及び特定処理を説明するためのフローチャートである。
【図18】ピーク位置の候補として特定されたものの中からピーク位置を決定し、これに基づいて使用者の歩数を計数する処理を説明するためのフローチャートである。
【図19】主に先頭付近のカウント漏れを防止する処理を説明するためのフローチャートである。
【図20】体動種別の推定処理と歩数カウント処理を説明するためのフローチャートである。
【図21】図20に続くフローチャートである。
【図22】この発明の一実施の形態が適用された音響再生装置200を説明するためのブロック図である。
【図23】使用者の動作状態に応じて適切なプレイリストを選択する場合の処理について説明するためのフローチャートである。
【符号の説明】
【0247】
1…加速度センサ、2…鉛直成分抽出部、3…高域/低域分解部、4…ピーク検出/判定処理部、5…ステップ位置解析部、100…歩数計、110…制御部、111…CPU、112…ROM、113…RAM、114…不揮発性メモリ、115…CPUバス、101…3軸の加速度センサ、102…A/D変換部、103…表示部、104…操作部104、200…音響再生装置、210…制御部、201…3軸の加速度センサ、202…A/D変換部、203…楽曲DB、204…プレイリスト格納部、205…音声再生処理部、206…スピーカ、221…操作部、222…表示部、223…外部I/F、224…入出力端子
【技術分野】
【0001】
この発明は、例えば、歩数計などの使用者(ユーザー)の体動を検出して利用する装置、方法、プログラムに関する。
【背景技術】
【0002】
自己の健康管理などのために、歩数計を用いて自己の運動量を把握することが広く行われている。従来の歩数計では、正確に歩数をカウントするためには、その構造上、本体の装着位置や装着方向に制約があるものが多かった。しかし、近年においては、使い勝手をより向上させるために、装着位置や装着方向を自由に設定できる体動検出装置が提案される。その中でも、多軸の加速度センサを用いて姿勢推定を行いつつ、同じセンサを用いて体動検出を行う方法および装置が提案されている。これは、姿勢の推定に角度センサ等を用いる方法と比較して、安価に実現できるという利点がある。
【0003】
例えば、後に記す特許文献1には、互いに検出方向が異なる複数の体動センサにより加速度を検出し、各センサの信号パターンを解析することによって作用軸を判定/選択し、作用軸の信号解析によって歩行検出を行う方法が開示されている。また、後に記す特許文献2には、互いに直交する2軸もしくは3軸の加速度センサを搭載し、各軸のセンサ信号の合成ベクトルから体動の運動方向を推定し、推定した運動方向の信号成分を解析することによって体動を検出する方法が開示されている。
【0004】
なお、上述した特許文献1、特許文献2は以下に示す通りである。
【特許文献1】特開2004−141669号公報
【特許文献2】特開2005−140533号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示された方法では、複数のセンサから測定に適したセンサを作用軸として一つだけ選択するため、検出する使用者の体動の方向(運動方向)と選定した作用軸とが一致しないケースもあり、歩行以外の体動の影響を受けて正確な歩数計測ができなくなる可能性があると考えられる。また、特許文献2に開示された方法では、信号波形の性質は考慮されず、信号の強度のみを問題としているために、歩行以外の体動もカウントしてしまう可能性があると考えられる。
【0006】
ここで、歩行以外の体動とは、歩行に応じて使用者の身体に発生する鉛直方向以外の動きを意味し、使用者の歩数を計測するための歩数計が使用者の手に持たれて水平方向に振られた場合の動きや例えば使用者の歩数を計測するための歩数計が吊り紐によって使用者の首に掛けられている場合に生じる振り子運動など、様々な動きが考えられる。
【0007】
このため、歩行以外の使用者の体動の影響を受けることなく、歩行時の使用者の鉛直方向の体動のみを正確に検出して、これをカウントできるようにし、使用者の歩数を正確に計測できるようにすることが望まれる。さらに、使用者の体動を詳しく見ると、静止している状態の場合もあれば、静止状態から歩行状態へ、あるいは、歩行状態から静止状態への過渡期の状態もある。また、動作状態であっても歩行(ウォーキング)状態と走行(ランニング)状態なども異なる。このため、使用者の歩行ピッチ(歩行速度、あるいは、単位時間当たりの歩数(回数))を正確に把握することができれば、使用者の動作状態を正確に把握でき、歩数の計測をさらに正確に行うことができるなど役立つことになる。
【0008】
以上のことにかんがみ、この発明は、種々のノイズの影響を受けることなく、ユーザーの鉛直方向の体動(動作)を正確に検出できるようにすると共に、必要に応じてユーザーの体動(動作)ピッチをも正確に検出して利用できるようにすることを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するため、請求項1に記載の発明の体動検出装置は、
使用者の身体に装着するようにされる加速度センサと、
前記加速度センサからの検出出力から加速度の鉛直成分を抽出する鉛直成分抽出手段と、
前記鉛直成分抽出手段によって抽出された前記鉛直成分を高域成分と低域成分とに成分分解する分解手段と、
前記分解手段によって分解された前記鉛直成分の前記低域成分に基づいてピーク位置の候補を検出する検出手段と、
前記検出手段によって検出されたピーク位置の候補を含む所定範囲における前記低域成分のエネルギーと前記高域成分のエネルギーとの比が所定値よりも小さい場合に前記ピーク位置の候補をピーク位置の候補として特定する特定手段と、
前記特定手段によって特定されるピーク位置の候補に基づいて、前記使用者の体動を検出する体動検出手段と
を備えることを特徴とする。
【0010】
この請求項1に記載の発明の体動検出装置によれば、加速度センサからの検出出力から鉛直成分抽出手段により使用者の体動の鉛直成分が抽出される。この抽出された鉛直成分は、分解手段によって高域成分と低域成分とに分解される。分解されて得られた低域成分は使用者の体動に応じた成分を含むものであり、検出手段により用いられて体動のピーク位置の候補が検出される。
【0011】
そして、検出された各ピーク位置の候補を含む所定の範囲毎に、低域成分のエネルギーに対する高域成分のエネルギーの比を求める。高域成分にはノイズが混入し易い。このため、低域成分のエネルギーに対する高域成分のエネルギーの比が所定値より小さい場合には、その所定範囲のピーク位置の候補をピーク位置として特定するが、逆に、低域成分のエネルギーに対する高域成分のエネルギーの比が所定値より大きい場合には、その所定範囲のピーク位置の候補は、ピーク位置の候補からは除外する。このようにして特定されたピーク位置の候補に基づいて、体動検出手段により使用者の体動が検出される。
【0012】
これにより、ノイズなどの影響を受けることなく、使用者の鉛直方向の体動を精度よく検出することができるようにされる。
【0013】
また、この出願の請求項2に記載の発明の体動検出装置は、請求項1に記載の体動検出装置であって、
前記特定手段によって特定された各ピーク位置の候補を含む所定範囲について、比較対象の範囲を定めて波形を比較し、一致した場合にそのピーク位置の候補をピーク位置として決定する決定手段を備え、
前記体動検出手段は、前記決定手段によって決定されたピーク位置に基づいて、使用者の体動を検出することを特徴とする。
【0014】
この請求項2に記載の発明の体動検出装置によれば、特定手段によって特定された各ピーク位置の候補を含む所定区間について、ペアとなる区間を定めて波形を比較し、両区間の波形が一致した場合には、比較元のピーク位置の候補をピーク位置として決定し、一致しない場合にはピーク位置からは除外する。
【0015】
これによって、ノイズが混入することによってたまたまピークが生じた場合を除去して、真に使用者の鉛直方向の体動に応じてピーク位置のみを抽出、特定して、使用者の体動を正確に検出することができるようにされる。
【0016】
また、請求項3に記載の発明の体動検出装置は、請求項1または請求項2に記載の体動検出装置であって、
前記特定手段によって特定された複数のピーク位置の候補からなる時系列パターンについて、あるいは、前記決定手段によって決定された複数のピーク位置からなる時系列パターンについて解析することにより、ステップ間隔を推定する間隔推定手段と、
前記間隔推定手段において推定された前記ステップ間隔に基づいて、少なくとも「静止」、「歩行/走行」、「不定」の3状態を使用者の動作状態として判別する判別手段と
を備えることを特徴とする。
【0017】
この請求項3に記載の発明の体動検出装置によれば、間隔推定手段によって、特定手段によって特定されたピーク位置の候補のステップ間隔(特定されたピーク位置の候補間の間隔)、あるいは、決定手段によって決定されたピーク位置のステップ間隔(決定されたピーク位置間の間隔)が推定され、この推定されたステップ間隔に基づいて、使用者の動作状態が、「静止」の状態にあるのか、「歩行/走行」の状態にあるのか、「不定」の状態にあるのかが判定手段により判定される。
【0018】
これにより、使用者の動作状態を正確に把握し、使用者の動作状態に応じた機器制御が可能になると共に、使用者が「歩行/走行」状態にある場合においては、そのステップ間隔を正確に把握することもできるようにされる。
【0019】
また、請求項11に記載の発明の体動検出装置は、請求項1に記載の体動検出装置であって、
前記加速度センサは多軸のものであり、
前記鉛直成分抽出手段は、前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出し、前記多軸の加速度センサからの前記加速度ベクトルと算出された前記重力加速度ベクトルとを用いて演算により加速度の鉛直成分を抽出するものであることを特徴とする。
【0020】
この請求項11に記載の発明の体動検出装置によれば、鉛直成分抽出手段は、多軸の加速度センサからの検出出力(加速度ベクトル)から重力加速度ベクトルを算出し、多軸の加速度センサからの検出出力と算出した重力加速度ベクトルとを用いた演算により、加速度の鉛直成分を抽出する。
【0021】
これにより、多軸の加速度センサが使用者の身体にどのような態様で装着されていても、その検出出力(加速度ベクトル)の鉛直成分を論理的に、かつ、正確に抽出することができるようにされる。
【発明の効果】
【0022】
この発明によれば、ノイズを除去し使用者の鉛直方向の体動を正確に検出することができる。すなわち、ノイズに強い(ノイズの影響を受け難い)体動を検出するための装置、方法、プログラムを実現できる。
【発明を実施するための最良の形態】
【0023】
以下、図を参照しながら、この発明による装置、方法、プログラムの一実施の形態について説明する。
【0024】
[体動検出装置の基本構成について]
図1は、この実施の形態の体動検出装置の基本的な構成について説明するためのブロック図である。図1に示すように、この実施の形態の体動検出装置は、加速度センサ1と、鉛直成分抽出部2と、高域/低域分解部3と、ピーク検出/判定処理部4と、ステップ位置解析部5とからなるものである。
【0025】
この実施の形態の体動検出装置は、使用者の身体に装着されて使用されるものである。加速度センサ1は、一定のタイミング毎に使用者の体動に応じた加速度を検出し、この検出出力を鉛直成分抽出部2に供給する。鉛直成分抽出部2は、加速度センサ1からの検出出力から、使用者が歩行や走行といった運動を行った場合の鉛直方向の体動に応じた成分を含む加速度ベクトルの鉛直成分を抽出し、これを高域/低域分解部3に供給する。なお、加速度センサ1において検出された加速度ベクトルのアナログ/デジタル(A/D)変換は、加速度センサ1側で行ってもよいし、鉛直成分抽出部2側で行ってもよいし、あるいは、加速度センサ1と鉛直成分抽出部2との間で行うようにしてもよい。
【0026】
高域/低域分解部3は、鉛直成分抽出部2からの加速度ベクトルの鉛直成分を、ノイズが混入し易い高域成分と、使用者の鉛直方向の体動に応じた成分を含む低域成分とに分解し、そのそれぞれをピーク検出/判定処理部4に供給する。ピーク検出/判定処理部4は、高域/低域分解部からの加速度ベクトルの鉛直成分の高域成分と低域成分の供給を受けて、ピーク検出と検出したピークに基づく体動検出とを行う部分である。
【0027】
すなわち、ピーク検出/判定処理部4は、高域/低域分解部3から供給された加速度ベクトルの鉛直成分のうちの低域成分に基づいて、ピーク位置の候補を検出し、当該ピーク位置の候補を含む所定範囲における低域成分のエネルギーに対する高域成分のエネルギーの比が予め決められた値よりも小さい場合に、当該ピーク位置を鉛直成分のピーク位置の候補として特定する。
【0028】
このように、低域成分のエネルギーに対する高域成分のエネルギーの比を用いるのは、後述もするように、高域成分にはノイズがのりやすく、ノイズの混入によって発生したピークを除外するためである。このようにして特定されたピーク位置の候補に基づいて使用者の鉛直方向の体動を比較的に精度よく検出することが可能である。しかし、より精度よく使用者の鉛直方向の体動を検出できるようにするために、この実施の形態の体動検出装置のピーク検出/判定処理部4は、波形マッチング処理をも行うようにしている。
【0029】
すなわち、ピーク検出/判定処理部4は、特定した各ピーク位置の候補毎に、ピーク位置の候補を含む所定範囲を設定し、この設定した所定範囲毎の波形を対象として他の所定範囲の波形とのマッチングを行い、マッチングが取れた場合に比較対象の波形に含まれるピーク位置の候補をピーク位置として決定する。このようにマッチングを行うのは、使用者の歩行や走行といった周期的な運動を確実に検出するためであり、異なるピーク位置の候補を含む所定区間同士の波形が類似していれば、ピーク位置の候補が周期的に発生していると判別することが可能になるためである。
【0030】
このようにして決定されたピーク位置は、使用者の鉛直方向の体動に応じて生じたものであることは間違いないので、決定されたピーク位置に従って、使用者の鉛直方向の体動を精度よく検出することができるようにされる。さらに、この実施の形態の体動検出装置においては、ステップ位置解析部5が設けられている。
【0031】
このステップ位置解析部5は、ピーク検出/判定処理部4において決定されたピーク位置を示す情報の提供を受けてこれを解析し、使用者の歩行や走行の体動ピッチ(歩行や走行のテンポ)を検出することができるようにしている。そして、詳しくは後述もするように、検出した使用者の体動ピッチに応じて異なる制御を行うようにするなどのことができるようにしている。
【0032】
なお、「ピッチ」という文言は、同じことを繰り返したり、また一定の間隔でことを行ったりする場合において、その速度や回数を意味する。したがって、「体動ピッチ」という文言は、体動の速さや回数を意味し、体動が歩行であるときには、歩行の速さ(歩行速度)あるいは単位時間当たりの歩数を意味する。
【0033】
そして、この明細書においては、「ピッチ」と同義の文言として、「テンポ」という文言を用いる場合もある。「テンポ」という文言は、本来、楽曲の演奏にあたって譜面に指定された速度(楽曲進行の速度)を意味するものである。したがって、楽曲の「再生テンポ」といったときには、音楽データの再生時の速さであり、1分間あたりの拍の数(BPM:Beat Per Minutes)を意味する。
【0034】
また、使用者の「体動テンポ(動作テンポ)」といったときには、体動(動作)の速度であって、例えば、使用者の体動(動作)が歩行(ウォーキング)や走行(ランニング)などの場合には、1分間あたりの歩数であり、また、動作がジャンプの場合には、1分間当たりのジャンプの回数であるというように、1分間当たりの使用者の計数可能な最小の動作の単位(1つの動作(体動))の数を意味する。このように、使用者の体動(動作)について用いる「ピッチ」という文言と「テンポ」という文言とは、この明細書においてはほぼ同義の文言として用いる。
【0035】
[体動検出装置の各部の機能、動作について]
以下に、この実施の形態の体動検出装置を構成する各部毎の機能や動作について、より詳細に説明する。
【0036】
[加速度センサ1について]
まず、加速度センサ1について説明する。この発明の体動検出装置は、使用者の身体に装着するようにされる加速度センサ1からの検出出力に基づいて、使用者の歩行や走行に応じた鉛直方向の体動を正確に検出できるようにするものである。加速度センサ1としては、1軸(単軸)のものや、2軸や3軸などの多軸のものを用いることが可能である。
【0037】
加速度センサ1として、1軸の加速度センサを用いた場合には、使用者の鉛直方向の体動を検出できるようにするために、装着位置や装着方向についてある程度制約を受ける。例えば、腕や足などに1軸の加速度センサを装着した場合には、腕や足の振りの影響を受けることが考えられるなど、装着する位置によって鉛直方向以外の影響を受ける可能性がある。
【0038】
このため、加速度センサ1として1軸の加速度センサを用いる場合には、使用者の歩行、走行に応じた鉛直方向の体動をできるだけ正確に検出できるようにするために、例えば、使用者の腰部に、加速度の検出方向が鉛直方向となるように当該1軸の加速度センサを装着しなければならないといった制約が生じる。しかし、このような制約を遵守した場合には、1軸の加速度センサからの検出出力は加速度の鉛直成分として用いることができる。この場合、1軸の加速度センサ自体が鉛直成分抽出部2としての機能を有することになる。
【0039】
これに対して、加速度センサ1として互いに直交する軸により構成される2軸や3軸の加速度センサを用いることにより、加速度センサ1の装着位置や装着方向に柔軟性を持たせることが可能になる。しかし、加速度センサ1として多軸の加速度センサを用いる場合には、多軸の検出出力から鉛直成分を抽出する必要が生じる。この実施の形態の体動検出装置において、加速度センサ1は、例えば3軸の加速度センサが用いられている。このため、加速度センサ1の後段に鉛直成分抽出部2を設けている。
【0040】
[鉛直成分抽出部2について]
鉛直成分抽出部2は、(1)当該多軸の加速度センサ1からの検出出力を用いて、その重力場における重力加速度ベクトルを推定し、(2)この重力加速度ベクトルの推定結果に基づいて、同じ加速度センサ1の検出出力から鉛直方向の信号成分を抽出する処理を行う。
【0041】
このように、多軸の加速度センサ1からの全ての軸についての検出出力を総合的に用いて、鉛直成分を抽出することによって、作用軸を推定する必要がなく、ユーザーに対する加速度センサ1の装着位置や装着方向に左右されること無く、ユーザーの鉛直方向の運動を正確に検出することができるようにしている。
【0042】
ここで、加速度センサ1として、3軸の加速度センサを用いる場合について具体的に説明する。加速度センサ1をX軸、Y軸、Z軸の3軸とし、当該加速度センサ1から得られるある時点nの加速度ベクトルanを図2の(1−1)式に示すように、axn(X軸成分)、ayn(Y軸成分)、azn(Z軸成分)で表すものとする。この図2の(1−1)式に示した加速度ベクトル(加速度ベクトルのデータ系列)anから重力加速度ベクトルgの推定を行うと共に、体動検出をも行うようにする。
【0043】
具体的には、重力加速度ベクトルgの推定は、より簡便には加速度ベクトルanの各軸の移動平均値を算出し、その平均ベクトルを重力加速度ベクトルgとする方法がある。この場合、体動による信号成分の影響を少なくするために、十分長い区間で移動平均の計算を行うことが望ましい。また、加速度ベクトルanの各軸の値を、最小二乗法などを用いて解析し、重力加速度ベクトルgの算出を行うようにする方法を用いるようにしてもよい。
【0044】
加速度ベクトルanを用いて重力加速度ベクトルgを推定した結果を、図2の(1−2)式に示すように、gx(X軸成分)、gy(Y軸成分)、gz(Z軸成分)で表すものとする。この場合、加速度ベクトルanの鉛直成分vnは、図2の(1−3)式に示す演算により求めることができる。すなわち、加速度ベクトルanの鉛直成分vnは、図2の(1−3)式に示したように、重力加速度ベクトルgの内積と加速度ベクトルanの積を重力加速度ベクトルgの絶対値(大きさ)で割り算することにより求めることができる。
【0045】
このように、3軸の加速度センサ1により検出される加速度ベクトルanと当該加速度ベクトルから求められる重力加速度gとから、鉛直成分vnを演算により正確に求めることができる。すなわち、3軸の加速度センサ1からの検出出力を総合的に用い、その中から鉛直成分のみを数値計算により分離することにより、ユーザーの鉛直方向の体動を正確に検出できるという着想に基づいてこの発明はなされている。
【0046】
また、重力加速度ベクトルgの3次元空間における偏角を求めたうえで、加速度ベクトルanを回転させることによっても同様の計算ができる。すなわち、重力加速度ベクトルgについての偏角θ、φを、図3の(2−1)、(2−2)に示すときに、図3の(2−3)式により計算されるa´xnは、加速度ベクトルanの鉛直成分であり、a´xnは、鉛直成分vnと一致する。また、ベクトルa´ynとベクトルa´znの内積は、重力加速度ベクトルgを法線ベクトルとする平面への加速度ベクトルanの正射影である。
【0047】
つまり、3軸の加速度センサ1からの検出出力により得られる加速度ベクトルanを鉛直成分と水平成分に成分分解できるため、鉛直成分のみならず、水平成分を解析することによって水平方向の体動をも検出することができる。具体的には、水平ベクトルの長さhnは、図4の(3−1)式や図4の(3−2)式によって求めることができる。
【0048】
このように、重力加速度ベクトルの偏角を考慮した演算式を用いる場合には、ユーザーの鉛直方向の体動と水平方向の体動とを、比較的に簡単に、しかも正確に求めることができる。
【0049】
なお、ここでは3軸の加速度センサ1を用いる場合を例にして説明したが、これに限るものではない。この発明の基本的なコンセプトは、2軸の加速度センサを用いる場合にも3軸の加速度センサを用いる場合と同様にして適用可能である。
【0050】
すなわち、2軸の加速度センサにより検出する加速度ベクトルanと重力加速度ベクトルgとを、図5の(4−1)式(加速度ベクトル)、図5の(4−2)式(重力加速度ベクトル)のように表すものとすると、3軸の加速度センサを用いる場合と同様に、図2の(1−3)式にしたがって鉛直成分を計算することができる。
【0051】
また、重力加速度ベクトルgの偏角θを、図5の(4−3)式に示すように表すものとすると、図5の(4−4)式にしたがって、加速度ベクトルanについて、その鉛直成分a´xnとこれに直交する水平成分a´ynに成分分解でき、a´xnと鉛直成分vnとは一致する。
【0052】
このように、図5に示した各式、および、図2に示した(1−3)式により、2軸の加速度センサを用いた場合であっても、ユーザーの鉛直方向の体動を正確に検出することができるし、また、重力加速度ベクトルgの偏角θを考慮するようにした場合には、ユーザーの水平方向の体動をも正確に検出することが可能となる。
【0053】
図6は、ユーザーに装着するようにした3軸の加速度センサにより、当該ユーザーが歩行など運動を行っている場合に、サンプリング周波数50Hzで4秒間、加速度データを取得した場合における、この取得した加速度データと、これを上述したこの発明の基本的なコンセプトにしたがって成分分解した場合に得られるデータとをグラフ化して示したものである。図6において、横軸は時間(ミリ秒)、縦軸は重力加速度(G)である。また、後述する図7、図8、図10、図12、図14においても、横軸は時間(ミリ秒)、縦軸は重力加速度(G)である。
【0054】
すなわち、図6Aは、3軸の加速度センサからの加速度データのグラフであり、図6Bは、3軸の加速度データから計算した加速度ベクトルの長さ(大きさ)のグラフであり、図6Cは、図2〜図4を用いて説明した方法によって、3軸の加速度データから計算して得られた鉛直成分のグラフである。また、図6Dは、図2〜図4を用いて説明した方法によって、3軸の加速度データから計算して得られた水平成分のグラフである。
【0055】
そして、この図6に示したグラフは、加速度データの検出時において、ユーザーは主に鉛直方向の運動を行っていたが、約80サンプル目、約100サンプル目および170サンプル目に水平方向の運動が発生し、これがノイズ成分として存在している場合を示している。
【0056】
しかし、ノイズ成分は水平成分に存在するものであるために、この発明の基本的なコンセプトにしたがって、加速度データ(加速度ベクトル)を鉛直成分(図6C)と水平成分(図6D)とに成分分解すれば、鉛直成分からは水平成分のノイズを除去することができるので、ユーザーの鉛直方向の体動を正確に検出できることが分かる。もちろん、水平成分からは鉛直成分のノイズを除去することができるので、ユーザーの水平方向の体動を正確に検出できる。すなわち、成分分解することにより、ノイズの低減効果がある。
【0057】
なお、ここでは、演算により加速度ベクトルの鉛直成分を抽出するようにしたが、これに限るものではない。例えば、各軸の加速度ベクトルの長さ(大きさ)を演算により求めて、一番長さのある加速度ベクトルを使用者の体動を一番反映した加速度ベクトルの鉛直成分として用いるようにしたり、あるいは、使用者の体動を一番反映していると推測される軸の検出出力(加速度ベクトル)を鉛直成分として用いるようにしたりしてもよい。
【0058】
しかし、加速度ベクトルの長さに応じて鉛直成分を特定したり、あるいは、鉛直成分に応じた軸を推定したりする場合には、多軸の加速度センサ1の使用者に対する装着位置や装着方向がある程度制限される場合もある。しかし、演算によって加速度ベクトルの鉛直成分を抽出するようにした場合には、上述もしたように、多軸の加速度センサ1の使用者に対する装着位置や装着方向の制約を受けることは無いので、体動検出装置の使用者に対する装着の自由度を向上させることができる。
【0059】
[高域/低域分解部3について]
次に、高域/低域分解部3の機能及び動作について説明する。上述したように、鉛直成分抽出部2において抽出された鉛直成分vnを関数x(n)で表すものとする。鉛直成分抽出部2からの加速度ベクトルの鉛直成分x(n)は、高域/低域分解部3に供給される。高域/低域成分分解部3は、例えばLPF(Low Pass Filter)の構成とされ、加速度ベクトルの鉛直成分x(n)を帯域分割し、高域成分xh(n)と低域成分xl(n)とに分離する。
【0060】
このとき、高域/低域分解部3のLPFとしての特性としては、歩行や走行による加速度の主要成分が含まれる2Hz〜4Hzが通過域となっていることが望ましい。また、鉛直成分x(n)と高域成分xh(n)および低域成分xl(n)の位相は揃っていることが望ましい。
【0061】
このように、鉛直成分x(n)について、高域成分xh(n)と低域成分xl(n)とに分離するのは、上述もしたように、低域成分xl(n)には使用者の鉛直方向の体動に応じて変化する成分が多く含まれ、高域成分xh(n)にはノイズ成分が混入し易いためである。このようにして高域/低域分解部3において分解された高域成分xh(n)と低域低分xl(n)とは、ピーク検出判定処理部4に供給される。
【0062】
[ピーク検出/判定処理部4の機能と動作について]
ピーク検出/判定処理部4は、上述もしたように、加速度ベクトルの鉛直成分x(n)の低域成分xl(n)に基づいて、ピーク位置の候補を検出すると共に、このピーク位置の候補を基準に用いた所定範囲毎に低域成分のエネルギーと高域成分のエネルギーの成分比に基づいてピーク位置の候補を特定する。
【0063】
このように、低域成分のエネルギーと高域成分のエネルギーの成分比を用いる理由について説明する。図7、図8は、この実施の形態の体動検出装置を使用者の異なる部位に装着した場合に検出される加速度信号のグラフを示す図である。具体的には、図7は、この実施の形態の体動検出装置を使用者の腰部に装着して用いた場合に検出される加速度信号のグラフを示す図であり、図8は、この実施の形態の体動検出装置を使用者のズボンのポケットに入れて用いた場合に検出される加速度信号のグラフを示す図である。
【0064】
図7、図8とも、使用者の歩行時における3軸の加速度センサ1において検出された加速度信号を50Hzでサンプリングすることにより計測したものである。また、図7、図8とも最上段のグラフが3軸の加速度ベクトルから抽出した鉛直成分、すなわちx(n)であり、中段に示したグラフが鉛直成分x(n)の内の低域成分xl(n)であり、最下段のグラフが鉛直成分x(n)の高域成分xh(n)である。
【0065】
そして、図7に示したように、この実施の形態の体動検出装置を使用者の腰部に装着した場合における3軸の加速度センサ1の検出出力においては、中段に示した低域成分xl(n)に周期的な変化が集中し、最下段に示した高域成分xh(n)には周期的な変化はほとんど無いことからほぼ歩行による上下動に対応する成分のみが加速度信号として計測されていることが分かる。
【0066】
したがって、この実施の形態の体動検出装置を使用者の腰部に装着して使用するようにした場合には、使用者の鉛直方向の体動に応じた成分のみを効率よく計測することができるので、鉛直成分x(n)の低域成分xl(n)の波形を閾値判定あるいはピーク検出することによって歩行や走行などの体動を検出することができ、これをカウント処理すれば、正確に歩数のカウント(計数)が可能な歩数計が実現出来る。
【0067】
これとは対称的に、図8に示したように、この実施の形態の体動検出装置を使用者のポケットに入れて用いるようにした場合における3軸の加速度センサ1の検出出力においては、歩行に応じた周期的な上下動以外の振動成分(ノイズ成分)が、中段に示した低域成分xl(n)にも、また、最下段に示した高域成分xh(n)にも現れており、特に、最下段に示した高域成分xh(n)に多く現れている。したがって、低域成分について閾値判定やピーク検出を行うようにしても、歩行以外のノイズ成分を歩行に応じた体動として誤検出してしまう可能性が非常に高くなる。
【0068】
ところで、図8において、区間A、区間B、区間Cに示すように、中段に示した低域成分のグラフにおいて、振幅が1Gを下回っている区間(領域)を区切った場合、周期的な運動である歩行による上下動に対応する波形は、区間Aの波形と区間Bの波形であり、区間Cの波形は、周期的なものではなく、歩行以外の振動、すなわちノイズ成分である。そして、図8に示したように、区間A及び区間Bでは高域成分が弱いのに対して、区間Cでは高域成分が強い。
【0069】
このように、周期的な運動である歩行による使用者の体の上下動に応じた成分は、低域成分xl(n)に顕著に現れ、ノイズ成分は高域成分xh(n)に顕著に現れる。そこで、ピーク位置の候補として検出したそれぞれのピーク位置の候補毎に、ピーク位置の候補の前後に予め決められた時間幅を有する所定領域を定める。
【0070】
例えば、ピーク位置の候補の前Mサンプル区間と後Mサンプル区間(Mは1以上の整数)というように所定範囲を定めればよい。なお、図7、図8においては、比較的にノイズの影響を受け難い極小値をピーク値として検出し、これに対応するピーク位置をピーク位置の候補として特定するようにしている。
【0071】
このようにして定めたピーク位置の候補を含む各所定領域において、低域成分xk(n)のエネルギーと高域成分xh(n)のエネルギーとのエネルギー比dを求める。図9は、エネルギー比dを求めるための計算方式を説明するための図である。加速度ベクトルの鉛直成分x(n)の高域成分xh(n)のエネルギーehは、図9の(5−1)式によって求めることができる。また、加速度ベクトルの鉛直成分x(n)の低域成分xl(n)のエネルギーelは、図9の(5−2)式によって求めることができる。
【0072】
なお、図9の(5−1)式と(5−2)式において、n1はピーク位置の候補を含む所定領域の開始位置を示し、n2はピーク位置の候補を含む所定領域の終了位置を示している。そして、低域成分xk(n)のエネルギーと高域成分xh(n)のエネルギーとのエネルギー比dは、図9の(5−3)式によって求めることができる。
【0073】
このようにして求めたエネルギー比dが、予め決められた閾値Dよりも小さい場合に、その所定領域に含まれるピーク位置の候補として検出された位置をピーク位置の候補として特定する。すなわち、ピーク位置の候補として特定した位置は、使用者の歩行あるいは走行といった運動に応じてピークになったものと判断し、このピーク位置の候補をカウントすることにより、歩行や走行を行った使用者の歩数を正確にカウントすることができる。すなわち、ある閾値Dを定めたうえで、エネルギー比d<閾値Dのときに限って歩行あるいは走行と判定することにより、歩行や走行以外の振動成分の影響を排除できる。
【0074】
しかしながら、上述のように、歩行や走行といった使用者の体動に応じた変化を検出するために、加速度ベクトルの鉛直成分x(n)の低域成分xl(n)に基づいて、ピーク位置の候補を検出し、低域成分xl(n)のエネルギーelと高域成分xh(n)のエネルギーehとのエネルギー比dを考慮してピーク位置の候補を特定するようにしても、まだ誤判定をする場合があると考えられる。
【0075】
図10は、歩行や走行といった使用者の周期的な体動以外の影響により、多軸の加速度センサ1により検出される加速度ベクトルの鉛直成分x(n)の低域成分xl(n)にも不規則な信号が混入した場合のグラフを示す図である。例えば、転んだり、体動検出装置を落としたり、あるいは、使用者がジャンプするなど、歩行や走行以外の不規則な動作が発生した場合には、図10の中段の低域成分xl(n)のグラフに表されるように、歩行や走行以外の不規則な体動成分が混入する場合がある。
【0076】
このように、歩行や走行以外の不規則な体動成分が、加速度ベクトルの鉛直成分x(n)の低域成分xl(n)に混入していた場合には、これを周期的な運動である歩行や走行に応じた体動と誤判定をしてしまう場合があると考えられる。そこで、ある区間において信号波形が似ているかどうかを比較して、波形が似ていれば歩行や走行であると判定をするようにする。
【0077】
例えば、歩行や走行以外の不規則な動作が発生した場合の加速度ベクトルの鉛直成分x(n)、低域成分xl(n)、高域成分xh(n)の例のグラフである図10において、ピーク位置として、位置A、位置B、位置Cを検出することができる。これらに関して、位置Aと位置B、位置Bと位置C、位置Aと位置Cというようにペアを作り、そのペア間において、それぞれのピーク位置の周辺の波形についてマッチングを取るようにする。
【0078】
この場合、図10からも明らかなように、位置Aの近傍の波形、位置Bの近傍の波形、位置Cの近傍の波形については、相互に類似するものがないために、周期的な体動である歩行や走行の体動とは異なるものと判断し、歩行や走行時の体動ではないものとして判断することが可能である。
【0079】
これに対して、図7や図8に示したように、加速度ベクトルの鉛直成分x(n)、低域低分xl(n)、高域成分xh(n)が検出された場合において、ピーク位置の候補として特定された位置を含む所定区間を設定し、その前、あるいは、後ろの1つ以上の所定区間の波形とマッチング処理した場合には、類似する場合があるためにピーク位置の候補として特定された位置を、正式なピーク位置として決定することができる。
【0080】
具体的には、図7に示した例の場合には、ノイズの影響が少ないように、低域成分xl(n)のグラフにおいて極小値をピーク値として取るようにすれば、隣り合うピーク位置を含む波形の類似度は非常に高いので、各ピーク位置の候補として特定された位置をピーク位置として決定することができる。また、図8に示した例の場合においても、ノイズの影響が少ないように、低域成分xl(n)のグラフにおいて極小値をピーク値として取るようにしているので、ピーク位置の候補の1つおきの当該ピーク位置を含む波形の類似度が非常に高く、各ピーク位置の候補として特定された位置をピーク位置として決定することができる。
【0081】
このように、ピーク位置の候補を特定し、その候補を含む所定区間の波形について、比較する(マッチングを取る)他の所定区間を定め、両所定区間同士の波形を比較して類似度が高い場合に、比較対象の所定区間に含まれるピーク位置の候補をピーク位置として決定することができる。
【0082】
なお、比較する他の所定区間は、例えば、隣り合う所定区間同士、あるいは、1つおきの所定区間同士、あるいは、2つおきの所定区間同士というように、適宜定めることができる。あるいは、前(過去方向)の1つ以上の所定区間の波形と比較し、2つ以上の所定区間との間で類似度が高い場合に、比較元の所定区間のピーク位置の候補をピーク位置と決定するなど、比較する所定区間の位置や数は任意に設定することが可能である。
【0083】
このように、この実施の形態の体動検出装置において、ピーク検出判定処理部4は、単に加速度ンベクトルの鉛直成分x(n)の低域成分xl(n)の情報(波形)からピーク位置の候補を検出し、低域成分のエネルギーelと高域成分のエネルギーehとのエネルギー比dを考慮してピーク位置の候補を特定するに止まらず、ピーク位置の候補を含む所定区間同士の波形比較(波形マッチング)を行うことによって、歩行や走行と言った使用者の周期的な体動を正確に検出することができるようにしている。
【0084】
そして、使用者の歩行や走行などの周期的な体動を正確に検出することができるので、使用者の体動をカウントすることにより、正確に使用者の歩行時や走行時における歩数のカウントが可能な歩数計を実現することができる。なお、精度を若干落としてよければ、上述もしたように、波形マッチングを行うことなく、エネルギー比dを用いて特定するようにしたピーク位置の候補に従って歩数をカウントしてもよい。
【0085】
[ステップ位置解析部5の機能と動作について]
上述した加速度センサ1、鉛直成分抽出部2、高域/低域分解部3、ピーク検出/判定処理部4の各部の機能により、使用者の身体に装着される加速度センサ1からの検出出力に基づいて、使用者の歩行や走行に応じて使用者の身体に生じる鉛直方向の体動を正確に検出することができる。このようにして検出した体動をカウントすれば、使用者の歩数を正確にカウントすることも可能となる。
【0086】
しかしながら、使用者の動作状態としては、歩行や走行を行っている動作状態ばかりではなく、静止している状態もあれば、静止状態でもなく動作態でもない不定な状態である場合もある。このため、使用者の動作状態を正確に把握できれば、歩数をカウントするなどのように、体動をカウントする場合においても、静止状態や不定状態にあるときにおいても体動のカウントを行うといった誤動作をさらに防止することが可能である。
【0087】
そして、歩行や走行など運動を行っている動作状態にあることが分ければ、その期間においては使用者の体動を正確に検出し、使用者の体動ピッチ(体動テンポ)を正確に把握し、使用者の他動ピッチに合わせた機器制御を行うことも可能となる。そこで、この実施の形態の体動検出装置において、ステップ位置解析部5は、ピーク検出/判定処理部42おいて決定されたピーク位置を示す情報の供給を受けて、これに基づき、使用者の動作状態を正確に把握することができると共に、使用者が歩行や走行などの周期的な運動を行っている場合においては、その体動ピッチをも正確に検出することができるようにしている。
【0088】
図11は、使用者の動作状態の遷移を説明するための図である。図11に示すように、使用者の動作状態として、「不定」、「静止」、「歩行/走行」の3つの状態があるものとする。ここで、「静止」は使用者の体の動きが全く無い状態を、「歩行/走行」は使用者が歩行または走行している状態を、「不定」は上記2つの状態以外の状態を意味する。また、初期状態は「不定」から開始するものとする。また、「静止」状態から「歩行/走行」状態に遷移する場合、あるいは、「歩行/走行」状態から「静止」状態に遷移する場合には、「不定」状態を経由するものとする。
【0089】
そして、ステップ位置解析部5においては、ピーク検出/判定処理部4からの決定されたピーク位置情報に基づいて、まず、使用者の動作状態を判定する。ここでは、図11において、遷移A〜遷移Gのそれぞれの遷移状態を判別することにより、使用者の動作状態を判別する。
【0090】
すなわち、「不定」状態が維持される場合を遷移A、「不定」状態から「歩行/走行」状態に変化する場合を遷移B、「歩行/走行」状態が維持される場合を遷移C、「歩行/走行」状態から「不定」状態に遷移する場合を遷移D、「不定」状態から「静止」状態に遷移する場合を遷移E、「静止」状態から「不定」状態に遷移する場合を遷移F、「静止」状態が維持される場合を遷移Gというように、各状態が維持される場合についても1つの遷移状態として動作状態の遷移を細かく把握するようにしている。
【0091】
次に、各遷移状態の判別のための条件について説明する。各遷移状態の判別は、上述もしたように、ピーク検出/判定処理部4において決定されたピーク位置に基づいて行う。以下においては、「決定されたピーク位置」を「検出されたステップ」とも言う。すなわち、ピーク検出/判定処理部4において決定されたピーク位置が、使用者の鉛直方向の体動に応じたステップとみなすようにしている。そして、(1)以下に説明する遷移Bである場合の条件も、遷移Cである場合の条件も満たさないときには、遷移Aの状態であると判定し、「不定」状態を維持する。
【0092】
また、(2)遷移Aの状態であると判定した後に、検出されたステップ(決定されたピーク位置)のうち新しい方から数個について、隣接するステップの時間間隔を計算し、時間間隔が一定である場合には、「不定」から「歩行/走行」へ遷移する遷移Bの状態であり、使用者の動作状態としては、「歩行/走行」状態になったと判定する。この場合、基準ステップ間隔(基準ピッチPs)を算出しておく。なお、基準ステップ間隔は、後述もするが、遷移Bであることの判定に用いたステップ間の間隔の平均値である。
【0093】
また、(3)遷移Bまたは遷移Cと判定した後に、新しく検出されたステップとその直前のステップとの間隔が、基準ステップ間隔(基準ピッチPs)の整数倍に対してある誤差範囲内である場合には、遷移Cの状態であると判定し、「歩行/走行」状態を維持する。また、遷移Bまたは遷移Cであると判定した後において、上述した(3)の遷移Cであると判定するための条件を満たさない場合には、遷移Dの状態であり、使用者の動作状態としては、「不定」状態であると判定する。
【0094】
また、(5)遷移Aまたは遷移Dであると判定した後において、一定時間以上、ステップが検出されない場合(ピーク位置が決定されない場合)には、「不定」から「静止」へ遷移する遷移Eの状態であり、使用者の動作状態としては「静止」状態であると判定する。また、(6)遷移Eまたは遷移Gであると判定した後において、ステップの検出がされた場合(ピーク位置が決定された場合)には、「静止」から「不定」へ遷移する遷移Fの状態であり、使用者の動作状態としては、「不定」状態になったと判定する。
【0095】
また、(7)遷移Eまたは遷移Gと判定された後において、ステップが検出されない場合(ピーク位置が決定されない場合)には、遷移Gであると判定し、使用者の動作状態としては。「静止」状態を維持する。
【0096】
なお、上述した(2)の遷移Bか否かの判定において、ステップ間隔が一定かどうかの判定基準は、ステップ間隔の分散や標準偏差があるかどうかで判定してもよいし、最大値と最小値の差が閾値以下であるかどうかで判定するのでもよい。また基準ステップ間隔は、上述もしたように判定に用いたステップの時間間隔の平均を用いたり、あるいは、判定に用いたステップの時間間隔の中間値を用いたりしてもよい。
【0097】
図12は、図1に示した体動検出装置の加速度センサ1、鉛直成分抽出部2、高域/低域分解部3、ピーク検出/判定処理部4の各部の機能を用いて、加速度センサ1からの検出出力からステップ検出(ピーク位置の決定)をした場合の波形を示す図である。この図12においても、ピークは極小値側で取るようにしている。図12Aに示す波形は、「不定」状態から4つのステップ(決定されたピーク位置)が検出された場合の波形を示す、図12Bは、図12Aの状態から、その直後のステップが検出された場合の波形を示している。このような図12を用いて、状態遷移の例について具体的に説明する。
【0098】
まず、図12Aに示した波形において、最初は「不定」の状態であったとする。この後、4つのステップが検出(2つのピーク位置が決定)されているため、ステップ位置解析部5は、隣接するステップ区間T1、T2、T3の各ステップ間隔を算出し、それらを比較する。この例の場合、ステップ区間T1、T2、T3の各区間の間隔はほぼ一定であるので、この場合には、「不定」から「歩行/走行」へ遷移する遷移Bの状態であると判定することができる。
【0099】
このとき、ステップ位置解析部5は、図13に示す(6−1)式により、基準ピッチ(基準ステップ間隔)Psを算出する。なお、図13に示した(6−1)式は、図12Aの状態にあるときの基準ピッチPsを算出するための式であり、ステップ区間が増えれば、分子の加算される区間と、分母の区間数が変わることになる。
【0100】
そして、図12Aに示した状態から、図12Bに示した状態に変化した場合には、最新のステップ区間T4のステップ間隔と、図13の(6−1)式によって算出した基準ピッチPsとを比較する。この場合、ステップ区間T4のステップ間隔と基準ピッチPsとはほぼ同じであり、差分は誤差範囲内であると判定されることにより、遷移Cの状態であると判定され、「歩行/走行」の状態が維持されることになる。
【0101】
なお、「歩行/走行」状態における歩行時や走行時におけるピッチの周期(ステップ間隔)は、基準ピッチを代表値として用いてもよいし、ある時間区間内のステップ間隔の平均値や、一定数のステップ間隔の平均値を用いてもよい。
【0102】
また、上述の説明においては、「歩行」状態と「走行」状態とを区別せずに、「歩行/走行」状態というように1つの状態として把握するようにした。しかし、これに限るものではない。「歩行」状態と「走行」状態とをそれぞれ別の状態として把握できるようにしてもよい。
【0103】
歩行と走行を分ける基準として、上述した(2)の遷移Bの判定の条件に加えて、(A)ステップ間隔がある一定未満の場合は「走行」状態と判定し、それ以外の場合には「歩行」と判定するようにしたり、あるいは、(B)加速度波形のピーク値が一定以上の場合は「走行」状態であると判定し、それ以外の場合には「歩行」状態であると判定したりすることが可能である。もちろん、上述のように、上述(A)または(B)の何れかの条件を用いてもよいし、上述の(A)と(B)との両方の条件用いるようにしてもよい。
【0104】
また、上述したように、「歩行」状態と「走行」状態とを全く別の動作状態として定義してもよいが、状態遷移は図11にしたがうものとして、「歩行/走行」状態の属性とし、上述した(A)、(B)の一方または両方の条件(基準)を用いて、「歩行」と「走行」とを分けて把握するようにしてもよい。
【0105】
また、遷移Cであるか否かの判定においては、ステップ間隔と基準ピッチ(基準ステップ間隔)Psとをそのまま比較するのではなく、基準ピッチPsの整数倍を基準に判定するようにした。このようにすることによって、ステップの検出漏れがあった場合の意図しない状態遷移を防止することに役立つ。
【0106】
例えば、この実施の形態の体動検出装置においては、上述もしたように、ピーク検出/判定処理部4において、ピーク位置の候補を検出して、高域と低域のエネルギーを考慮してピーク位置の候補を特定し、さらに、このピーク位置の候補を含む所定間隔毎に波形比較を行うことによって、ピーク位置を決定するようにしている。
【0107】
しかし、実際には使用者の歩行が続行しているのにも関わらず、一時的に加速度波形が乱れると周囲の波形とのマッチングが取れず、検出漏れが起こる可能性がある。このため、上述もしたように、ステップ位置解析部5において、遷移Cの判定を行う場合に、「基準ピッチの整数倍を基準に判定」することにより、前段のピーク検出/判定処理部4において、歩行ステップ検出漏れ(ピーク位置の決定漏れ)が起こっても安定した状態推定を行うことが可能となる。
【0108】
例えば、図14は、「歩行/走行」状態において、×印(ばつ印)で示した2つのステップ(ピーク位置)の検出漏れが生じ、一番最近に検出されたステップ(ピーク位置)とその直前に検出されたステップ(ピーク位置)との間隔が3ステップ分になる場合の例を示している。
【0109】
この図14に示した例の場合には、遷移Cであるか否かを判断するために条件において、新しく検出されたステップとその直前のステップとの間隔が、基準ステップ間隔(基準ピッチPs)の整数倍に対してある誤差範囲内である場合には、遷移Cの状態であると判断され、「歩行/走行」の状態は維持されることになる。
【0110】
従って、単純に検出されたステップを1つづつ積算するのではなく、ステップ(ピーク位置)が検出されない場合であっても、「歩行/走行」状態が維持されている場合においては、基準ピッチに対する倍数を積算の対象とすることで、より正確な歩数計測も可能となる。したがって、この発明を歩数計に適用することで、歩数計の精度向上にも役立つ。
【0111】
このように、この実施の形態の体動検出装置は、加速度センサ1、鉛直成分抽出部2、高域/低域分解部3、ピーク検出/判定処理部4、ステップ位置解析部5の各部が有機的に機能することによって、使用者の歩行や走行といった体動を正確に検出、これを把握することができる。
【0112】
[具体的な装置への適用]
次に、この発明による装置、方法、プログラムを具体的な装置に適用した場合について説明する。以下においては、この発明を歩数計に適用した場合と、音響再生装置に適用した場合とに分けて説明する。
【0113】
[歩数計への適用について]
まず、この発明の装置、方法、プログラムの一実施の形態を歩数計に適用した場合について説明する。図15は、この実施の形態の歩数計100を説明するためのブロック図である。図15に示すように、この実施の形態の歩数計100は、制御部110に対して、3軸の加速度センサ101がA/D変換部102を介して接続されると共に、表示部103、操作部104が接続されて形成されたものである。
【0114】
3軸の加速度センサ101は、1軸の加速度センサを互いに直交するX軸、Y軸、Z軸の3軸に配置して形成されたもの、あるいは、直交する3軸の加速度センサがひとつのパッケージに封入されて形成されたもののいずれを用いてもよい。3軸の加速度センサ101からのX軸、Y軸、Z軸のそれぞれの検出出力(アナログ出力)は、A/D変換部102に供給され、ここで制御部110において処理可能な形式のデジタルデータに変換されて制御部110に供給される。
【0115】
制御部110は、この実施の形態の歩数計100の各部を制御するものであり、図15に示すように、CPU(Central Processing Unit)111、ROM(Read Only Memory)112、RAM(Random Access Memory)113、不揮発性メモリ114が、CPUバス115を通じて接続されてマイクロコンピュータの構成とされたものである。
【0116】
ここで、CPU111は、各種のプログラムを実行し、各部に供給する制御信号を形成したり、各種の演算を行ったりするなど、制御部110における処理や制御の主体となるものである。ROM112は、CPU111が実行する各種のプログラムや処理に必要になるデータを記憶保持する。
【0117】
また、RAM113は、処理の途中結果を一時記憶するなど、主に作業領域として用いられるものであり、A/D変換部102を通じて供給される加速度センサ101からの数値化された加速度データを記憶保持するバッファメモリなどとしても用いられる。不揮発性メモリ114は、例えば、EEPROM(Electrically Erasable and Programmable ROM)やフラッシュメモリなどの電源が落とされても記憶データが消滅することのないメモリであり、電源が落とされても保持しておくべきデータ、例えば設定されたパラメータや追加されたプログラムなどを記憶保持する。
【0118】
また、制御部110に接続された表示部103は、表示制御回路を含み、例えば、LCD(Liquid Crystal Display)、有機EL(Electro Luminescence)ディスプレイ、CRT(Cathode-Ray Tube)等の表示素子を備え、制御部110の制御に応じて歩数のカウント値や種々のガイダンス情報等を表示する。具体的には、表示部103は、制御部110から表示データの供給を受けて、この表示データから表示素子に供給する映像信号を形成し、これを表示素子に供給することによって、制御部110からの表示データに応じた表示情報を表示素子の表示画面に表示する。
【0119】
また、操作部104は、リセットキーや各種のファンクションキーなどを備え、ユーザーからの操作入力を受け付けて、これに応じた電気信号を制御部110に供給することができるものである。これに応じて、制御部110は各部を制御し、ユーザーの指示に応じた処理を行うことができるようにしている。
【0120】
そして、この実施の形態の歩数計100において、制御部110が、図1に示す体動検出装置における鉛直成分抽出部2、高域/低域分解部3、ピーク検出/判定処理部4、ステップ位置解析部5としての機能を実現すると共に、ステップ計測を行うステップ計測部としての機能をも実現するようにしている。
【0121】
すなわち、この実施の形態の歩数計100の制御部110は、加速度センサ101からの検出出力に基づいて、図1を用いて説明したように、鉛直成分抽出、鉛直成分の高域/低域の分解、ピーク位置の候補の検出とピーク位置の候補の特定、波形マッチングによるピーク位置の決定を行って、決定したピーク位置に基づいて歩数を計測する。
【0122】
さらには、決定したピーク位置に基づいて、使用者の動作状態を正確に把握すると共に、歩行や走行などの体動ピッチを正確に把握し、使用者の動作状態が「歩行/走行」である場合において、体動ピッチに基づいて使用者の歩数をより正確に計測することもできるようにしている。
【0123】
以下、図16〜図21のフローチャートを参照しながら、図15に示したこの実施の形態の歩数計の主に制御部110において行われる種々の処理について詳細に説明する。
【0124】
[鉛直成分抽出処理について]
図16は、図15に示したこの実施の形態の歩数計100の主に制御部110において実行される鉛直成分抽出処理を説明するためのフローチャートである。この実施の形態の歩数計100に電源が投入され、操作部104を通じて歩数の計測を実行するようにする指示入力を受け付けると、制御部110のCPU111は、まず、図16に示す処理を実行する。
【0125】
制御部110は、A/D変換部102を通じて供給される加速度データ(加速度ベクトル)を取得してRAM113にバッファリングする処理を開始し(ステップS101)、取得した加速度ベクトルを用いて重力加速度ベクトルgの初期値を算出する(ステップS102)。そして、サンプルカウンタcをリセット(ゼロクリア)する(ステップS103)。このステップS101〜ステップS103までの処理が電源投入後のいわゆる初期処理に相当する。
【0126】
そして、制御部110は、サンプルカウンタcの値は、予め決められた値Nより大きいか否かを判断する(ステップS104)。この実施の形態においては、演算量を削減するために、重力加速度ベクトルgの再計算は、N(Nは、1以上の整数)サンプルおきに行うようにしている。
【0127】
ステップS104の判断処理において、サンプルカウンタcが規定値Nよりも大きいと判断したときには、制御部110は、重力加速度ベクトルgの再計算処理を行って(ステップS105)、この後、サンプルカウンタcに値0をセットする(ステップS106)。すなわち、ステップS106の処理は、サンプルカウンタcのリセット処理である。そして、最新に再計算して得た重力加速度ベクトルgと、加速度ベクトルanとを用いて、図2または図3を用いて説明したように演算により鉛直成分vnを求める(ステップS107)。
【0128】
また、制御部110は、ステップS104において、サンプルカウンタcの値は、値Nより大きくないと判断した場合には、ステップS102において算出した重力加速度ベクトルgの初期値と最新の加速度ベクトルanとを用いて、上述もしたように、図2または図3を用いて説明したように演算により鉛直成分vnを求める(ステップS107)。
【0129】
そして、ステップS107の処理の後、制御部110は、最新の加速度データを取得し(ステップS108)、サンプルカウンタcに1加算して(ステップS109)、ステップS104からの処理を繰り返す。このようにして、ステップS107で求められた加速度ベクトルの鉛直成分が、高域/低域分離処理に用いられる。
【0130】
なお、この実施の形態において、ステップS105の重力加速度ベクトルgの再計算処理と、ステップS102の重力加速度ベクトルの初期値の算出処理は、基本的に同じ処理であり、加速度ベクトルの各軸のデータの移動平均を取ることによって、重力加速度の推定値として、重力加速度ベクトルgを算出する。
【0131】
ステップS102、ステップS105で行われる処理を具体的に説明する。ここでは、現在のサンプル位置をn1として、過去Mサンプル分の加速度データから重力加速度を求める場合を考える。この場合において、X軸の重力加速度ベクトルgxを求めには、現在のサンプル位置よりもM+1サンプル前からn1までの各サンプルにおけるX軸の加速度データaxnを加算して合計値を求め、この合計値を値Mで割り算することにより、X軸の重力加速度ベクトルgxが求められる。
【0132】
同様に、Y軸の重力加速度ベクトルgyを求める場合には、現在のサンプル位置よりもM+1サンプル前からn1までの各サンプルにおけるY軸の加速度データaynを加算して合計値を求め、この合計値を値Mで割り算することにより、Y軸の重力加速度ベクトルgyが求められる。また、Z軸の重力加速度ベクトルgzを求める場合には、現在のサンプル位置よりもM+1サンプル前からn1までの各サンプルにおけるZ軸の加速度データaznを加算して合計値を求め、この合計値を値Mで割り算することにより、Z軸の重力加速度ベクトルgzが求められる。
【0133】
このようにして重力加速度ベクトルを算出する場合には、動きによる加速度成分が平均化されてキャンセルされるように十分長い区間で平均を取るようにすることが望ましい。しかし、あまり長すぎると装置の傾きに追従しなくなりため(装置の傾きを正しく反映させることができなくなるために)、例えば、数秒間程度に設定するのが適当である。
【0134】
そして、ステップS107の鉛直成分の抽出処理においては、上述もしたように、図2に示した(1−3)式により、あるいは、図3に示した(2−3)式により、最新の加速度ベクトルanと重力加速度ベクトルgとに基づいて、鉛直成分vnを求める(抽出する)ことができる。
【0135】
このように、制御部110は、図16に示した処理を実行することによって、鉛直成分抽出部2としての機能を実現するようにしている。
【0136】
なお、図16に示したように、この実施の形態の歩数計100においては、重力加速度の推定は、演算量削減のためにNサンプルおきに行うようにしたが、これに限るものではない。重力加速度の推定についても毎サンプルごとに行ってもよい。重力加速度の推定のための演算処理は、各軸のデータの移動平均をとるものに限るものではない。例えば、最小二乗法などを用いてもよい。
【0137】
[鉛直成分の高域/低域分離処理について]
そして、図16に示した処理により抽出された加速度ベクトルの鉛直成分を高域成分と低域成分とに分離するのであるが、これを上述もしたように、例えば、歩行や走行による加速度の主要成分が含まれる2Hz〜4Hzの帯域の成分を低域成分として抽出し、4Hzより高い帯域の成分を高域成分として抽出するようにすれば、鉛直成分を予め決められた帯域の高域成分と予め決められた帯域の低域成分とに分離することができる。
【0138】
図16に示した処理により抽出される鉛直成分x(n)には、使用者の歩行運動に伴う上下動に対応したピークが現れ、特に、鉛直成分x(n)の低域成分xl(n)には、使用者の歩行運動に伴う上下動に対応したピークが顕著に現れる。このため、鉛直成分x(n)を分離することにより得られた低域成分xl(n)に基づいて、ピーク位置の候補を検出し、低域成分xl(n)のエネルギーと高域成分xh(n)のエネルギーとの比に基づいて、ピーク位置の候補を特定する。
【0139】
[ピーク位置の候補の検出及び特定処理について]
図17は、図15に示したこの実施の形態の歩数計100の主に制御部110において実行されるピーク位置の候補の検出及び特定処理を説明するためのフローチャートである。この図17に示す処理は、図16を用いて説明した鉛直成分抽出処理により抽出された鉛直成分x(n)を分離することにより得られる低域成分xl(n)と高域成分xh(n)とに基づいて、例えば、サンプリング毎に実行される。
【0140】
まず、制御部110は、上述したように、鉛直成分x(n)から分離された低域成分xl(n)に基づいてピーク位置の候補を探索(検出)する処理を行う(ステップS201)。具体的には、低域成分xl(x)について、例えば、サンプリング毎に、最新に取得した低域成分データとその直前の低域成分データとを比較し、直前の低域成分データの方が大きく、かつ、当該直前の低域成分データが所定値以上の場合には、当該直前の低域成分データをピーク値の候補として検出すると共に、そのピーク値の位置をピーク位置の候補として検出するようにする。
【0141】
そして、制御部110は、ピーク位置の候補が検出されたか否かを判断し(ステップS202)、検出されていないと判断したときには、この図17に示す処理を終了して、次のサンプリングのタイミングで、再度、この図17に示す処理を実行するようにする。
【0142】
また、ステップS202の判断処理において、ピーク位置の候補が検出されたと判断したときには、制御部110は、ピーク位置の候補近傍の低域成分xl(n)を用いて、ピーク位置の候補を含む所定範囲における低域成分xl(n)のエネルギーelを図9の(5−2)式に従って算出する(ステップS203)。また、同様にして、制御部110は、ピーク位置の候補近傍の高域成分xh(n)を用いて、ピーク位置の候補を含む所定範囲における高域成分xh(n)のエネルギーehを図9の(5−1)式に従って算出する(ステップS204)。
【0143】
そして、制御部110は、図9の(5−3)式に従って、ステップS203において算出した低域成分xl(n)のエネルギーelとステップS204において算出した高域成分xh(n)のエネルギーehとのエネルギー比dを算出し(ステップS205)、算出したエネルギー比dが、予め決められた閾値Dより小さいか否かを判断する(ステップS206)。
【0144】
ステップS206の判断処理において、エネルギー比dが、予め決められた閾値Dより小さくない、すなわち、高域成分xh(n)にノイズが多いと判断した場合には、ピーク位置の候補として検出したものは誤検出の可能性が高いので、検出したピーク位置の候補をピーク位置の候補としては特定せずに、この図17に示す処理を終了して、次のサンプリングのタイミングで、再度、この図17に示す処理を実行するようにする。
【0145】
ステップS206の判断処理において、エネルギー比dが、予め決められた閾値Dより小さい、すなわち、高域成分xh(n)にノイズが少ないと判断した場合には、ピーク位置の候補として検出したものはピーク位置としての信憑性が高いので、検出したピーク位置の候補をピーク位置の候補として特定して、ピーク位置の候補を例えばRAM113などのピーク位置記録バッファに記録するようにし(ステップS207)、この後、この図17に示す処理を終了して、次のサンプリングのタイミングで、再度、この図17に示す処理を実行するようにする。
【0146】
このようにして、この実施の形態の歩数計100の制御部110は、加速度ベクトルanから抽出した鉛直成分x(n)を帯域分割することにより得られた低域成分xl(n)に基づいてピーク位置の候補を検出し、さらにピーク位置の候補として検出した位置を含む所定範囲における低域成分xl(n)のエネルギーelと高域成分xh(n)のエネルギーehとに基づいて、ピーク位置の候補として信憑性の高いものだけをピーク位置の候補として特定するようにしている。
【0147】
なお、この図17に示した処理は、制御部110が実現するピーク検出/判定処理部としての機能の内のピーク検出機能(ピーク位置の候補の検出と特定機能)を実現するものである。
【0148】
[波形マッチングと歩数カウント処理について]
図18は、図15に示したこの実施の形態の歩数計100の主に制御部110において実行される処理であって、ピーク位置の候補として特定されたものの中からピーク位置を決定し、これに基づいて使用者の歩数を計数する処理を説明するためのフローチャートである。
【0149】
この図18に示す処理は、図17に示した処理により特定されたピーク位置の候補に基づいて、ピーク位置の候補を含む所定区間同士の波形マッチングを行うことにより、真のピーク位置を決定し、決定したピーク位置をカウントすることによって、使用者の歩数を正確にカウントするものである。
【0150】
図17に示した処理により特定されたピーク位置の候補は、図17に示した処理のステップS207の処理により、例えば、RAM113などのピーク位置記録バッファに格納される。このため、制御部110は、ピーク位置記録バッファから未チェックのピーク位置の候補を探索(検索)する(ステップS301)。未チェックか否かは、後述もするように、特定されたピーク位置の候補毎に設定されるチェック済みフラグのオン/オフによって判別できるが、通常、最新に記録されたピーク位置の候補が未チェックのピーク位置の候補となる。
【0151】
そして、制御部110は、ステップS301の処理において、未チェックのピーク位置の候補p1が見つかったか否かを判断する(ステップS302)。ステップS302の判断処理において、未チェックのピーク位置の候補p1が見つかったと判断したときには、ピーク位置の候補p1から過去N秒以内の範囲において、ピーク位置の候補p1を含む所定範囲の波形と、他のピーク位置の候補を含む所定範囲の波形とのマッチング処理を行う(ステップS303)。
【0152】
なお、ステップS303の処理においては、サンプリング周波数にもよるが、過去の1つ以上の所定範囲の波形とのマッチングが行われることになる。また、マッチングに用いられる波形は、低域成分xl(n)の波形に基づいて行うようにすればよい。もちろん、比較する波形としては、鉛直成分x(n)の波形を用いるようにしてもよい。
【0153】
そして、制御部110は、ステップS303の処理に基づいて、未チェックのピーク位置の候補p1とマッチする過去のピーク位置の候補p2が見つかったか否かを判断する(ステップS304)。すなわち、ステップS304の判断処理においては、未チェックのピーク位置の候補p1を含む所定範囲の波形と類似度の高い過去のピーク位置の候補を含む所定範囲の波形が見つかったか否かを判断している。
【0154】
ステップS304の判断処理において、未チェックのピーク位置の候補p1とマッチする過去のピーク位置の候補p2が見つかったと判断したときには、未チェックのピーク位置の候補p1をピーク位置として決定して歩数カウントに値「1」を加算すると共に、未チェックのピーク位置の候補p1のカウント済みフラグをオンにする(ステップS305)。
【0155】
そして、今回、マッチするものとして見つかった過去のピーク位置の候補p2のカウント済みフラグはオンになっているか否かを判断する(ステップS306)。ステップS306の判断処理において、過去のピーク位置の候補p2のカウント済みフラグがオンになっていると判断した場合には、未チェックのピーク位置の候補p1についてのチェック済みフラグをオンにして(ステップS307)、この図18に示す処理を終了し、次の実行タイミングを待つ。
【0156】
また、ステップS306の判断処理において、過去のピーク位置の候補p2のカウント済みフラグはオンになっていないと判断したときには、過去のピーク位置の候補p2について、それ以前にマッチするピークは存在しなかったものの、新たにピーク位置の候補p1とマッチしたので、過去のピーク位置の候補p2についてもピーク位置として決定して歩数カウントに値「1」を加算すると共に、過去のピーク位置の候補p2のカウント済みフラグをオンにして(ステップS308)、ステップS307の処理に進み、未チェックのピーク位置の候補p1についてのチェック済みフラグをオンにして(ステップS307)、この図18に示す処理を終了し、次の実行タイミングを待つ。
【0157】
また、ステップS302の判断処理において、未チェックのピーク位置の候補p1が見つからないと判断した場合と、ステップS304の判断処理において、未チェックのピーク位置の候補p1とマッチする過去のピーク位置の候補p2が見つからないと判断した場合には、この図18に示す処理を終了し、次の実行タイミングを待つことになる。
【0158】
このように、図17を用いて説明した処理により、ピーク位置の候補を特定した後において、この図18に示した処理により、ピーク位置を決定し、決定したピーク位置をカウントすることにより、使用者の歩行や走行に応じた歩数を正確にカウントすることができる。
【0159】
なお、ここでは、図18の処理により、決定したピーク位置をカウントすることにより、使用者の歩行や走行に応じた歩数を正確にカウントするようにしたが、目的とする精度が確保できれば、図17の処理により、特定したピーク位置の候補をカウントすることにより、使用者の歩行や走行に応じた歩数をカウントするようにしてもよい。
【0160】
なお、この図18に示した処理は、制御部110が実現するピーク検出/判定処理部4としての機能の内のピーク位置の決定機能を実現するとともに、歩数計としての歩数計測の機能を実現するものである。
【0161】
[先頭のカウント漏れ防止処理について]
ところで、図18に示した処理の場合、静止状態から歩き始めた時など過去N秒以内にピークが無い場合についてはカウント漏れが生じてしまう。そこで、図19のように過去のピークから現在のピークに対してマッチングを取る処理を追加することによってカウント漏れを防ぐことができる。
【0162】
すなわち、使用者の動作(運動)開始直後の歩数のカウント漏れを防止する場合には、図19に示す処理を、図18に示した処理前段または後段に追加する。この場合、制御部110は、ピーク位置記録バッファから現在よりもN秒前のピーク位置の候補であって、未カウントのピーク位置の候補p1を探索(検索)する(ステップS401)。
【0163】
このステップS401の処理は、過去の未カウントのピーク位置の候補を見つける処理であり、端的に言えば、先頭のピーク位置の候補を検索する処理である。そして、制御部110は、未カウントのピーク位置の候補p1が見つかったか否かを判断する(ステップS402)。
【0164】
ステップS402の判断処理において、未カウントのピーク位置の候補p1が見つかったと判断したときには、未カウントのピーク位置の候補p1から現在にかけての範囲を対象として、未カウントのピーク位置の候補p1を含む所定範囲の波形と、未カウントのピーク位置の候補p1から現在にかけての範囲に存在するピーク位置の候補を含む所定範囲の波形とのマッチングを行う(ステップS403)。
【0165】
図18に示したステップS303の処理が現在から過去方向に向かう波形マッチング処理であるのに対して、ステップS403の処理は、過去から現在に向かう波形マッチング処理である。
【0166】
そして、制御部110は、ステップS403の処理に基づいて、未チェックのピーク位置の候補p1とマッチする現在方向のピーク位置の候補p2が見つかったか否かを判断する(ステップS404)。すなわち、ステップS404の判断処理においては、未カウントとなっているピーク位置の候補p1を含む所定範囲の波形と、ピーク位置の候補p1から見て現在方向(時間の経過方向)に類似度の高いピーク位置の候補を含む所定範囲の波形が見つかったか否かを判断している。
【0167】
ステップS404の判断処理において、未チェックのピーク位置の候補p1とマッチする現在方向のピーク位置の候補p2が見つかったと判断したときには、歩数カウントに値「1」を加算すると共に、未チェックのピーク位置の候補p1のカウント済みフラグをオンにする(ステップS405)。
【0168】
これにより、過去にピーク位置の候補が存在しないために、ピーク位置として決定できなかった過去のピーク位置の候補を、それよりも後の波形と比較することにより類似度の高い波形が存在した場合に、過去のピーク位置の候補をピーク位置として決定して、これをカウントすることができる。
【0169】
さらに、制御部110は、現在方向のピーク位置の候補p2についてのカウント済みフラグがオンか否かを判断する(ステップS406)。ステップS406の判断処理において、現在方向のピーク位置の候補p2についてのカウント済みフラグがオンでないと判断したときには、その現在方向のピーク位置の候補p2についてもピーク位置として決定して、歩数カウントに値「1」を加算すると共に、現在方向のピーク位置の候補p2についてのカウント済みフラグをオンにする(ステップS407)。
【0170】
そして、ステップS406の判断処理において、現在方向のピーク位置の候補p2についてのカウント済みフラグがオンであると判断した場合、または、ステップS407の処理の後においては、制御部110はこの図19に示す処理を終了し、次の実行タイミングを待つことになる。
【0171】
このような図19に示した処理を、図18に示した処理に加えて実行することにより、例えば、一番初めのピーク近傍の波形については、時間的に後(未来)のピーク近傍の波形とマッチングを取ることにより、真にピークか否かを判断し、ピークであるときにはこれをカウントすることができる。
【0172】
[体動種別の推定処理と歩数カウント処理について]
上述したように、ピーク位置の候補を特定して、これをカウントしたり、あるいは、ピーク位置の候補の中から真のピーク位置を決定して、これをカウントしたりすることにより、使用者の歩行や走行などの運動時における歩数を計測することが可能である。しかし、ノイズなどの影響で、マッチングが取れないピークが生ずることがある。
【0173】
このため、この実施の形態の歩数計100においては、制御部110が実現するステップ位置解析部5としての機能によって、使用者の動作状態(動作状態に応じた体動種別)をも正確に把握し、歩行や走行を行っている場合には、マッチングが取れないピークが存在する期間においても、使用者の歩数を正確にカウントすることができるようにしている。
【0174】
図20、図21は、この実施の形態の歩数計100の主に制御部110において実行される体動種別の推定処理と歩数カウント処理を説明するためのフローチャートである。この図20、図21に示す処理において用いられるピーク位置の情報としては、図17の処理により特定されピーク位置記録バッファに記録されたピーク位置の候補のデータを用い、波形マッチングによるピーク位置の決定処理と、体動種別の推定処理と、歩数カウント処理とを行うようにしているものである。
【0175】
すなわち、図16、図17の処理に続いて、この図20、図21に示す処理が実行される。この図20、図21の処理は、ピーク検出/判定処理部4の機能と、ステップ位置解析部5の機能とにより実現されるものである。
【0176】
そして、制御部110は、RAM113などのピーク位置記録バッファから未チェックのピーク位置の候補を探索(検索)する(ステップS501)。未チェックか否かは、後述もするように、特定されたピーク位置の候補毎に設定されるチェック済みフラグのオン/オフによって判別できるが、通常、最新に記録されたピーク位置の候補が未チェックのピーク位置の候補となる。
【0177】
そして、制御部110は、ステップS501の処理において、未チェックのピーク位置の候補p1が見つかったか否かを判断する(ステップS502)。ステップS502の判断処理において、未チェックのピーク位置の候補p1が見つかったと判断したときには、静止タイマCに値「0(ゼロ)」をセットする(ステップS503)。そして、制御部110は、ピーク位置の候補p1から過去N秒以内の範囲において、ピーク位置の候補p1を含む所定範囲の波形と、他のピーク位置の候補を含む所定範囲の波形とのマッチング処理を行う(ステップS504)。
【0178】
なお、ステップS504の処理においては、サンプリング周波数にもよるが、過去の1つ以上の所定範囲の波形とのマッチングが行われることになる。また、マッチングに用いられる波形は、低域成分xl(n)の波形に基づいて行うようにすればよい。もちろん、比較する波形としては、鉛直成分x(n)の波形を用いるようにしてもよい。
【0179】
そして、制御部110は、ステップS504の処理に基づいて、未チェックのピーク位置の候補p1とマッチする過去のピーク位置の候補p2が見つかったか否かを判断する(ステップS505)。すなわち、ステップS505の判断処理においては、未チェックのピーク位置の候補p1を含む所定範囲の波形と類似度の高い過去のピーク位置の候補を含む所定範囲の波形が見つかったか否かを判断している。
【0180】
ステップS505の判断処理において、未チェックのピーク位置の候補p1とマッチする過去のピーク位置の候補p2が見つかったと判断したときには、未チェックのピーク位置の候補p1をピーク位置として決定して歩数カウントに値「1」を加算すると共に、未チェックのピーク位置の候補p1のカウント済みフラグをオンにする(ステップS506)。
【0181】
そして、今回、マッチするものとして見つかった過去のピーク位置の候補p2のカウント済みフラグはオンになっているか否かを判断する(ステップS507)。ステップS507の判断処理において、過去のピーク位置の候補p2のカウント済みフラグがオンになっていると判断した場合には、図21に示す処理に進む。
【0182】
また、ステップS507の判断処理において、過去のピーク位置の候補p2のカウント済みフラグはオンになっていないと判断したときには、過去のピーク位置の候補p2について、それ以前にマッチするピークは存在しなかったものの、新たにピーク位置の候補p1とマッチしたので、過去のピーク位置の候補p2についてもピーク位置として決定して歩数カウントに値「1」を加算すると共に、過去のピーク位置の候補p2のカウント済みフラグをオンにして(ステップS508)、図21の処理に進む。
【0183】
また、図20に示したステップS502の判断処理において、未チェックのピーク位置の候補p1が見つからないと判断したときには、静止タイマCに値「1」を加算し(ステップS509)、静止タイマCが基準値よりも大きくなったか否かを判断する(ステップS510)。
【0184】
ステップS510の判断処理において、静止タイマCが基準値よりも大きくなったと判断したときには、使用者の動作状態は「静止」状態であると設定し(ステップS511)、この図20、図21の処理を終了し、次の実行タイミングを待つことになる。また、ステップS510の判断処理において、静止タイマCが基準値よりも大きくなっていないと判断したときには、何もせずに、この図20、図21に示す処理を終了し、次の実行タイミングを待つことになる。
【0185】
そして、上述したように、ステップS507の判断処理において、過去のピーク位置の候補p2のカウント済みフラグがオンになっていると判断した場合と、ステップS508の処理の後においては、図21に示す処理を行うことになる。図21に示す処理においては、制御部110は、まず、未チェックのピーク位置の候補p1についてのチェック済みフラグをオンにする(ステップS512)。
【0186】
次に、制御部110は、ステップS512の処理により、最新にチェック済みフラグがオンになったピーク位置p1に最も近い過去のピーク位置p1´を特定し(ステップS513)、ピーク位置p1とその直近のピーク位置p1´との間隔T0を算出する(ステップS514)。この実施の形態の歩数計100においては、図12を用いて説明したように、直近の4つのピーク位置のそれぞれによって挟まれた3つのピーク間隔T0、T1、T2を保持することができるようにしている。もちろん、より多くのピーク間隔を保持して用いるようにしてもよい。
【0187】
そして、制御部110は、最新の使用者の動作状態の判定結果が[歩行/走行]状態か否かを判断する(ステップS515)。ステップS515の判断処理において、使用者の動作状態が[歩行/走行]状態ではないと判断したときには、上述したように、直近の4つのピーク位置に応じて決まる3つの間隔T0、T1、T2の平均値Taを算出し(ステップS516)、全てのピーク間隔T0、T1、T2のそれぞれについて、平均値Taを減算した値を求め、この求めた値が全てのピーク間隔について、基準値よりも小さいか否かを判断する(ステップS517)。
【0188】
このステップS517の判断処理は、ピーク間隔T0、T1、T2のそれぞれがほぼ同じピッチであり、周期的な体動である歩行や走行が行われるようになったか否かを判断する処理である。ステップS517の判断処理において、ピーク間隔T0、T1、T2のそれぞれと平均値Taとの差分のそれぞれが、基準値以下であると判断したときには、制御部110は、平均値Taを基準ピッチPsとするとともに、使用者の動作状態を「歩行/走行」状態にあると判定(特定)する(ステップS518)。
【0189】
そして、制御部110は、ピーク間隔T0、T1、T2のシフト処理を行う(ステップS519)。すなわち、ピーク間隔T2にピーク間隔T1を移行し、ピーク間隔T1にピーク間隔T0を移行する。なお、ピーク間隔T0については、初期化を行うようにしてもよい。
【0190】
このステップS519の処理の後、および、ステップS517の判断処理において、ステップS517の判断処理において、ピーク間隔T0、T1、T2のそれぞれと平均値Taとの差分のそれぞれが、基準値以下ではないと判断したときには、制御部110は、この図20、図21に示す処理を終了し、次の実行タイミングを待つことになる。
【0191】
また、ステップS515の判断処理において、使用者の動作状態が[歩行/走行]状態であると判断したときには、制御部110は、最新のピーク間隔T0を基準ピッチPsで割り算することにより値rを算出する(ステップS520)。このステップS520の処理は、図14を用いて説明したように、ノイズ等の影響により、本来、ピーク値として検出されるべきものがピーク値として検出されない場合を考慮する処理であり、最新に検出したピーク間隔T0が、基準ピッチPsの何倍になるかを計算する処理である。
【0192】
そして、ステップS520において算出した値rに最も近い整数Rを算出する(ステップS521)。例えば、値rが「0.1」や「0.2」などである場合には、整数Rは「0」であり、値rが「0.9」や「1.1」などである場合には、整数Rは「1」であり、また、値rが「1.9」や「2.1」であれば、整数Rは「2」になる。そして、制御部110は、値rから整数Rを減算することにより得られる値の絶対値が、予め決められる基準値よりも小さいか否かを判断する(ステップS522)。
【0193】
このステップS522の判断処理は、最新のピーク間隔T0が、基準ピッチPsの整数倍か否かを判断する処理である。ステップS522の判断処理において、値rから整数Rを減算することにより得られる値の絶対値が、予め決められる基準値よりも小さくないと判断したときには、最新のピーク間隔T0が、基準ピッチPsの整数倍ではないと判断し、使用者の動作状態を「不定」状態にあると判定(特定)する(ステップS523)。そして制御部110は、この図20、図21に示す処理を終了し、次の実行タイミングを待つことになる。
【0194】
また、ステップS522の判断処理において、値rから整数Rを減算することにより得られる値の絶対値が、予め決められる基準値よりも小さいと判断したときには、最新のピーク間隔T0が、基準ピッチPsの整数倍であると判断し、整数R1は、値「1」より大きいか否かを判断する(ステップS524)。このステップS524の判断処理は、ピーク間隔T0が基準ピッチPsの2倍以上か否かを判断する処理である。
【0195】
ステップS524の判断処理において、整数Rは1より大きくないと判断したときには、最新のピーク間隔T0は、基準ピッチの2倍以上の区間ではないので、制御部110は、何もすることなく、この図20、図21に示す処理を終了し、次の実行タイミングを待つことになる。
【0196】
一方、ステップS524の判断処理において、整数Rは1より大きいと判断したときには、最新のピーク間隔T0は、基準ピッチの2倍以上の区間であるので、制御部110は、カウント数に、整数Rから1減算した値を加算して(ステップS525)、この図20、図21に示す処理を終了し、次の実行タイミングを待つことになる。
【0197】
このように、図20、図21に示した処理により、使用者の動作状態をも正確に判別しつつ、歩行や走行を行っている場合には、マッチングが取れないピークが存在する期間においても、使用者の歩数を正確にカウントすることができ、しかも、「静止」状態、「不定」状態、「歩行」状態、「走行」状態の4つの動作状態(動作状態に応じた体動種別)をリアルタイムに判別することもできるようにしている。
【0198】
なお、図20、図21を用いて説明した処理において、最新のピーク間隔T0が、基準ピッチの整数倍の区間であるときには、計測できなかったピーク位置に応じて、歩数の計測を行うようにしたが、これに限るものではない。すなわち、最新のピーク間隔T0が、基準ピッチの整数倍の区間であるときには、その区間における鉛直成分の低域成分の振幅、あるいは、鉛直成分自体の振幅をも考慮し、基準ピッチの整数倍の位置に確実にピーク位置が存在するか否かを判別するようにしてもよい。
【0199】
具体的には、基準ピッチの整数倍の位置の振幅に対する基準値を設けておき、この基準値以上であれば、ピーク値及びピーク位置として認識し、基準値より小さい場合には、ピーク値及びピーク位置として認識しないようにすればよい。なお、基準値は、実験を行うことにより、適切な値を説定することが可能である。
【0200】
[音響再生装置への適用について]
次に、この発明の装置、方法、プログラムの一実施の形態を音響再生装置に適用した場合について説明する。図22は、この実施の形態の音響再生装置200を説明するためのブロック図である。この実施の形態の音響再生装置200は、後述もするように、楽曲データ(音楽データ)を記憶するための比較的に大容量の記録媒体を用いることができるようにされた携帯型のものである。
【0201】
記録媒体としては、ハードディスク、MD(ミニディスク(登録商標))などの光磁気ディスク、CDやDVDなどの光ディスク、メモリカード、半導体メモリなど、種々の記憶媒体を用いるものが考えられる。しかし、ここでは、説明を簡単にするため、楽曲データなどのコンテンツデータを記憶する記録媒体はハードディスクであるものとして説明する。
【0202】
図22に示すように、この実施の形態の音響再生装置200は、制御部210に対して、3軸の加速度センサ201がA/D変換部202を介して接続されると共に、比較的に記憶容量の大きな記録媒体として、楽曲データベース(以下、楽曲DBという。)203と、プレイリスト格納部204とが接続される。
【0203】
また、制御部210に対しては、音声再生処理部205を介してスピーカ206が接続されると共に、ユーザインターフェースとしての操作部221と、表示部222とが接続され、さらに外部インターフェース(以下、外部I/Fという。)223を介して入出力端子224が接続された構成とされている。
【0204】
3軸の加速度センサ201は、上述した歩数計100の加速度センサ110の場合と同様に、1軸の加速度センサを互いに直交するX軸、Y軸、Z軸の3軸に配置して形成されたもの、あるいは、直交する3軸の加速度センサがひとつのパッケージに封入されて形成されたもののいずれを用いてもよい。3軸の加速度センサ201からのX軸、Y軸、Z軸のそれぞれの検出出力(アナログ出力)は、A/D変換部202に供給され、ここで制御部210において処理可能な形式のデジタルデータに変換されて制御部210に供給される。
【0205】
制御部210は、この実施の形態の音響再生装置200の各部を制御するものであり、上述した歩数計100の制御部110と同様に、CPU211、ROM212、RAM213、不揮発性メモリ214が、CPUバス215を通じて接続されてマイクロコンピュータの構成とされたものである。
【0206】
ここで、CPU211は、各種のプログラムを実行し、各部に供給する制御信号を形成したり、各種の演算を行ったりするなど、制御部210における処理や制御の主体となるものである。ROM212は、CPU211が実行する各種のプログラムや処理に必要になるデータを記憶保持する。
【0207】
また、RAM213は、処理の途中結果を一時記憶するなど、主に作業領域として用いられるものであり、A/D変換部202を通じて供給される加速度センサ201からの数値化された加速度データを記憶保持するバッファメモリなどとしても用いられる。不揮発性メモリ214は、例えば、EEPROMやフラッシュメモリなどの電源が落とされても記憶データが消滅することのないメモリであり、電源が落とされても保持しておくべきデータ、例えば設定されたパラメータや追加されたプログラムなどを記憶保持する。
【0208】
そして、楽曲DB203、プレイリスト格納部204は、上述もしたように、いずれもハードディスクである。楽曲DBには、この実施の形態の音響再生装置200において再生可能な多数の楽曲データが、例えば所定のデータ圧縮方式に従ってデータ圧縮されて記憶保持されている。
【0209】
また、プレイリスト格納部204には、使用者が「静止」状態にあるときに再生すべき楽曲を指示する静止時プレイリストと、使用者が「歩行」状態にあるときに再生すべき楽曲を指示する歩行時プレイリストと、使用者が「走行」状態にあるときに再生すべき楽曲を指示する走行時プレイリストとが記憶保持されている。
【0210】
すなわち、プレイリスト格納部204に格納されているプレイリストは、静止時プレイリスト、歩行時プレイリスト、走行時プレイリストの別が、例えば、各プレイリストに付加されるプレイリスト種別等の情報によって区別することができるようにされている。また、静止時プレイリスト、歩行時プレイリスト、走行時プレイリストのそれぞれは複数存在し、各プレイリストには、再生すべき1曲以上の楽曲を特定するファイル名などの楽曲ID(楽曲識別子)が例えば再生順に予め登録されて形成されたものである。
【0211】
なお、図22においては、構成を明確にするために、楽曲DB203と、プレイリスト格納部204とを別個に示したが、これらは同じハードディスク上に形成される場合ももちろんある。
【0212】
音声再生処理部205は、制御部210により楽曲DB203から読み出された楽曲データの供給を受けて、これを圧縮解凍処理してデータ圧縮前の元の楽曲データを復元すると共に、復元した楽曲データからスピーカ206に供給する形式のアナログ音声信号を形成し、これをスピーカ206に供給する。これにより、再生するようにされた楽曲データに応じた音声がスピーカ206から放音される。
【0213】
なお、図示しないが、この実施の形態の音声再生処理部205には、ヘッドホン端子も接続するようにされており、当該ヘッドホン端子にヘッドホンが接続された場合には、音声再生処理部205において処理された音声信号は、スピーカ206にではなくヘッドホン端子を介して、これに接続されたヘッドホンに供給され、当該ヘッドホンを通じて再生音声を聴取することができるようにしている。
【0214】
また、操作部221は、再生キー、停止キー、早送りキー、早戻しキー、その他、各種のファンクションキーなどを備え、ユーザーからの操作入力を受け付けて、これに応じた電気信号を制御部210に供給することができるものである。これに応じて、制御部210は各部を制御し、ユーザーの指示に応じた処理を行うことができるようにしている。
【0215】
また、表示部222は、表示制御回路を含み、例えば、LCD(Liquid Crystal Display)、有機EL(Electro Luminescence)ディスプレイ、CRT(Cathode-Ray Tube)等の表示素子を備え、制御部210の制御に応じて種々のガイダンス情報等を表示する。具体的には、表示部222は、制御部210から表示データの供給を受けて、この表示データから表示素子に供給する映像信号を形成し、これを表示素子に供給することによって、制御部210からの表示データに応じた表示情報を表示素子の表示画面に表示する。
【0216】
また、外部I/F223、入出力端子224を通じて、パーソナルコンピュータなどの外部機器に接続することができるようにされている。そして、入出力端子224、外部I/F223を通じて、外部機器から楽曲データやプレイリストの供給を受け、楽曲データについては楽曲DB203に格納し、プレイリストについては、プレイリスト格納部204に格納することができるようにしている。
【0217】
逆に、制御部210の制御により、楽曲DB203に格納されている楽曲データを制御部210、外部I/F223、入出力端子224を通じて外部機器に出力し、外部機器の記録媒体にバックアップを形成したり、同様にして、プレイリスト格納部204に記憶保持されているプレイリストのバックアップを外部機器の記録媒体に作成したりすることもできるようにしている。
【0218】
また、表示部222に楽曲DB203に格納されていえる楽曲データの一覧リストを表示させ、操作部221を通じて目的する楽曲データを選択すると共に、静止時プレイリスト、歩行時プレイリスト、走行時プレイリストの別を入力することにより、この実施の形態の音響再生装置200においてもプレイリストを作成することができる。
【0219】
そして、この実施の形態の音響再生装置200は、操作部221を通じて選択された楽曲データが制御部210により楽曲DB203から読み出され、これが音声再生処理部205に供給される。これにより、使用者から操作部221を通じて指示された楽曲を再生し、その楽曲を聴取することができるようにされる。
【0220】
また、操作部を通じて用いるプレイリストを指示した場合は、その指示したプレイリスに従って、制御部210により楽曲DB203から楽曲データが読み出され、音声再生処理部205に供給するようにされ、プレイリストに従って楽曲を再生することもできるようにしている。
【0221】
さらに、プレイリストを自動選択するモードが選ばれている場合には、使用者の動作状態に応じて適切なプレイリストを選択することもできるようにしている。この実施の形態の音響再生装置200において、制御部210が、図1に示す体動検出装置における鉛直成分抽出部2、高域/低域分解部3、ピーク検出/判定処理部4、ステップ位置解析部5としての機能を実現すると共に、使用者の動作ピッチ(動作テンポ)を正確に把握し、使用者の動作状態に応じて、静止時プレイリスト、歩行時プレイリスト、走行時プレイリストの中から適切なものを自動選択することができるようにしている。
【0222】
すなわち、この実施の形態の音響再生装置200の制御部210は、加速度センサ201からの検出出力に基づいて、図1を用いて説明したように、鉛直成分抽出、鉛直成分の高域/低域の分解、ピーク位置の候補の検出とピーク位置の候補の特定、波形マッチングによるピーク位置の決定などの処理を行う機能を有している。
【0223】
そして、決定したピーク位置に基づいて、使用者の動作状態を正確に把握すると共に、歩行や走行などの体動ピッチを正確に把握し、体動ピッチをも考慮して、使用者の動作状態に応じて適切なプレイリストを自動的に選択し、この選択したプレイリストを用いて楽曲の再生を行うことができるようにしている。
【0224】
以下、図23のフローチャートを参照しながら、この実施の形態の音響再生装置において、プレイリストを自動選択するモードが選ばれている場合において、使用者の動作状態に応じて適切なプレイリストを選択する場合の処理について説明する。図23は、この実施の形態の音響再生装置において、使用者の動作状態に応じて適切なプレイリストを選択する場合の処理について説明するためのフローチャートである。
【0225】
図23に示す処理は、主に、この実施の形態の音響再生装置200の制御部210において行われる。まず、制御部210は、図15に示した歩数計100の制御部110の場合と同様に、体動種別の推定処理を実行する(ステップS601)。このステップS601の処理は、(1)図16を用いて説明したように、3軸の加速度センサ201からの加速度ベクトルから鉛直成分を抽出すると共に、(2)この抽出した鉛直成分を高域成分と低域成分とに分離し、(3)これらを用いて、図17を用いて説明したように、ピーク位置の候補を特定して、(4)この特定したピーク位置の候補の情報を用いて、図20、図21に示した処理を実行することにより、使用者の動作状態と動作ピッチを把握する処理である。
【0226】
なお、図20、図21に示した処理においては、歩数をカウントする処理を行う必要はない。ステップS506〜ステップS508の処理、および、ステップS525の処理を行う必要はない。
【0227】
そして、制御部210は、使用者の動作状態が変化したか否かを判断する(ステップS602)。この判断処理は、例えば、動作状態の判定結果として、前回の判定結果と今回の判定結果とを保持しておき、両者が異なる場合に動作状態が変化したと判断することができる。
【0228】
ステップS602の判断処理において、動作状態は変化していないと判断したときには、この図23に示す処理を終了し、次の実行タイミングまで待つことになる。ステップS602の判断処理において、動作状態が変化したと判断したときには、変化後の状態、すなわち、今回の判定結果が、「静止」状態であるか否かを判断する(ステップS603)。
【0229】
ステップS603の判断処理において、今回の判定結果が「静止」状態であると判断したときには、プレイリスト格納部204に格納されている静止時プレイリストを用いるようにし、当該静止時プレイリストに従って楽曲(音楽)を再生する(ステップS604)。この後、この図23に示す処理を終了し、次の実行タイミングまで待つことになる。
【0230】
また、ステップS603の判断処理において、今回の判定結果が「静止」状態ではないと判断したときには、今回の判定結果が「歩行/走行」状態か否かを判断する(ステップS605)。ステップS605の判断処理において、「歩行/走行」状態であると判断したときには、ステップS601の処理であって、図20、図21の処理において求められた基準ピッチPsが規定値よりも小さいか否かを判断する(ステップS606)。
【0231】
このステップS606の判断処理において用いられる規定値は、使用者の動作状態が、歩行か走行かを判断するためのものであり、基準ピッチPsが規定値よりも小さくない場合には、基準ピッチはまだ十分に早くない状態であり、歩行状態であると判断することができる。逆に、基準ピッチが規定値よりも小さい場合には、基準ピッチは十分に早く走行状態であると判断することができる。
【0232】
このため、ステップS606の判断処理において、基準ピッチPSが規定値よりも小さくないと判断したときには、使用者の動作状態は、「歩行」状態であると判断し、プレイリスト格納部204に格納されている歩行時プレイリストを用いるようにし、当該歩行時プレイリストに従って楽曲(音楽)を再生する(ステップS607)。この後、制御部210は、図23に示す処理を終了し、次の実行タイミングまで待つことになる。
【0233】
また、ステップS606の判断処理において、基準ピッチPSが規定値よりも小さいと判断したときには、使用者の動作状態は、「走行」状態であると判断し、プレイリスト格納部204に格納されている走行時プレイリストを用いるようにし、当該走行時プレイリストに従って楽曲(音楽)を再生する(ステップS608)。この後、制御部210は、図23に示す処理を終了し、次の実行タイミングまで待つことになる。
【0234】
このように、この実施の形態の音響再生装置200は、使用者の動作状態を適切に判定し、使用者の動作状態に応じたプレイリストに自動的に切り換えて、使用者の体動に応じた楽曲を再生することができるようにされる。
【0235】
なお、上述もしたように、静止時プレイリスト、歩行時プレイリスト、走行時プレイリストのそれぞれが複数用意されている場合もある。このような場合には、使用する順番を予め定めておき、その順番に従って使用するようにしたり、各プレイリスト毎に使用頻度を記憶しておき、使用頻度の低いものを用いるようにしたり、逆に、使用頻度の高いものを用いるようにしたりしてもよい。また、静止時プレイリスト、歩行時プレイリスト、走行時プレイリストのそれぞれについて用いるものを予め使用者が指定するようにしてもよい。
【0236】
また、上述した歩数計100においても、図20、図21の処理に先立って、図19の処理を行うことにより、歩数の計測処理の初めから、正確の歩数の計測を行うようにすることができる。
【0237】
また、上述した歩数計100、音響再生装置200においては、3軸の加速度センサ101、201を用いるものとして説明した。しかし、これに限るものではない。1軸の加速度センサを用いてもよいし、2軸の加速度センサを用いてもよい。しかし、1軸または2軸の加速度センサを用いる場合は、体動の主要成分が信号として拾えるような向きに配置される必要がある。
【0238】
しかし、3軸の加速度センサを用い、上述もしたように、鉛直成分の抽出、高域成分と低域成分のエネルギー比の考慮といった処理を行うことによって、加速度センサの装着位置や装着方向に制限を生じさせることが無いので、3軸の加速度センサを用いることが好ましい。
【0239】
また、上述した実施の形態においては、3軸の加速度センサを用い、3軸の加速度ベクトルから鉛直成分を抽出するようにしたが、これに限るものではない。例えば、3軸の内で最も信号強度の強い軸の信号を鉛直成分とみなして選択するようにしてもよい。
【0240】
また、上述した歩数計100、音響再生装置200においては、加速度ベクトルの鉛直成分のピーク位置を検出していくことにより、体動のピッチ周期を求めるようにしたが、これに限るものではない。ピーク位置(ステップ位置)を特定するための手段としては、靴底にスイッチを配置し歩行または走行時足を踏み込むことでスイッチの接点が閉じるような機構を用いたり、靴底にひずみゲージを配置したりして踏み込みを検出する手段を用いてもよい。
【0241】
また、上述した実施の形態の音響再生装置200においては、使用者の体動ピッチ(歩行テンポや走行テンポ)を正確に計測することができるので、制御部210が音声再生処理部205を制御することにより、使用者の体動テンポに応じて、再生する楽曲の再生テンポを制御するようにすることもできる。
【0242】
このように、使用者の体動テンポに応じて、再生する楽曲の再生テンポを制御することにより、使用者は再生される楽曲に対して一体感を感じ、歩行や走行などの運動を効率よく行ったり、無理なく継続したりすることができるようにされる。
【0243】
また、上述した実施の形態の体動検出装置、体動検出方法、体動検出プログラムは、歩数計、携帯型の音響再生装置だけでなく、フィットネスクラブ等で用いられる室内用のランニングマシンなどのトレーニングマシンに適用したり、据え置き型の音響再生装置に適当したりするなど、使用者の鉛直方向の体動を検出して利用する必要性のある種々の電子機器に適用することができる。
【0244】
また、図16〜図21、図23は、この発明による、方法、プログラムが適用されたものであり、図16〜図21、図23に示したフローチャートに従って処理を行うことにより、この発明による方法を用いることができるし、また、図16〜図21、図23に示したフローチャートに従ったプログラムを作成することにより、この発明によるプログラムを実現することができる。
【0245】
また、図1に示した各部の機能を実現するように制御部での処理を規定することによりこの発明による方法を実現でき、同様に、図1に示した各部の機能を実現するように制御部で実行するプログラムを作成することにより、この発明によるプログラムを実現することができる。
【図面の簡単な説明】
【0246】
【図1】実施の形態の体動検出装置の基本的な構成について説明するためのブロック図である。
【図2】3軸の加速度センサを用いた場合における、加速度ベクトルan、重力加速度ベクトルg、加速度ベクトルanの鉛直成分vnについて説明するための図である。
【図3】3軸の加速度センサを用いた場合における、重力加速度ベクトルgの偏角を考慮して加速度ベクトルanの鉛直成分vnを求める場合を説明するための図である。
【図4】3軸の加速度センサを用いた場合における、加速度ベクトルanの水平成分hnを求める場合を説明するための図である。
【図5】2軸の加速度センサを用いた場合における、加速度ベクトルan、重力加速度ベクトルg、加速度ベクトルanの鉛直成分vnについて説明するための図である。
【図6】加速度データ、加速度ベクトルの長さ、鉛直成分、水平成分のグラフの一例を説明するための図である。
【図7】実施の形態の体動検出装置を使用者の腰部に装着して用いた場合に検出される加速度信号のグラフを示す図である。
【図8】実施の形態の体動検出装置を使用者のズボンのポケットに入れて用いた場合に検出される加速度信号のグラフを示す図である。
【図9】エネルギー比dを求めるための計算方式を説明するための図である。
【図10】多軸の加速度センサ1により検出される加速度ベクトルの鉛直成分x(n)の低域成分xl(n)にも不規則な信号が混入した場合のグラフを示す図である。
【図11】使用者の動作状態の遷移を説明するための図である。
【図12】図1に示した体動検出装置において加速度センサ1からの検出出力からステップ検出(ピーク位置の決定)をした場合の波形を示す図である。
【図13】基準ピッチPsの算出式の一例を説明するための図である。
【図14】「歩行/走行」状態において、ピーク位置の検出漏れが生じた場合の例を説明するための図である。
【図15】この発明の一実施の形態が適用された歩数計を説明するためのブロック図である。
【図16】鉛直成分抽出処理を説明するためのフローチャートである。
【図17】ピーク位置の候補の検出及び特定処理を説明するためのフローチャートである。
【図18】ピーク位置の候補として特定されたものの中からピーク位置を決定し、これに基づいて使用者の歩数を計数する処理を説明するためのフローチャートである。
【図19】主に先頭付近のカウント漏れを防止する処理を説明するためのフローチャートである。
【図20】体動種別の推定処理と歩数カウント処理を説明するためのフローチャートである。
【図21】図20に続くフローチャートである。
【図22】この発明の一実施の形態が適用された音響再生装置200を説明するためのブロック図である。
【図23】使用者の動作状態に応じて適切なプレイリストを選択する場合の処理について説明するためのフローチャートである。
【符号の説明】
【0247】
1…加速度センサ、2…鉛直成分抽出部、3…高域/低域分解部、4…ピーク検出/判定処理部、5…ステップ位置解析部、100…歩数計、110…制御部、111…CPU、112…ROM、113…RAM、114…不揮発性メモリ、115…CPUバス、101…3軸の加速度センサ、102…A/D変換部、103…表示部、104…操作部104、200…音響再生装置、210…制御部、201…3軸の加速度センサ、202…A/D変換部、203…楽曲DB、204…プレイリスト格納部、205…音声再生処理部、206…スピーカ、221…操作部、222…表示部、223…外部I/F、224…入出力端子
【特許請求の範囲】
【請求項1】
使用者の身体に装着するようにされる加速度センサと、
前記加速度センサからの検出出力から加速度の鉛直成分を抽出する鉛直成分抽出手段と、
前記鉛直成分抽出手段によって抽出された前記鉛直成分を高域成分と低域成分とに成分分解する分解手段と、
前記分解手段によって分解された前記鉛直成分の前記低域成分に基づいてピーク位置の候補を検出する検出手段と、
前記検出手段によって検出されたピーク位置の候補を含む所定範囲における前記低域成分のエネルギーと前記高域成分のエネルギーとの比が所定値よりも小さい場合に前記ピーク位置の候補をピーク位置の候補として特定する特定手段と、
前記特定手段によって特定されるピーク位置の候補に基づいて、前記使用者の体動を検出する体動検出手段と
を備えることを特徴とする体動検出装置。
【請求項2】
請求項1に記載の体動検出装置であって、
前記特定手段によって特定された各ピーク位置の候補毎に、ピーク位置の候補を含む所定範囲を設定し、設定された所定範囲毎の波形を対象として他の所定範囲の波形とのマッチングを行い、類似度が高い場合に、対象となった波形に含まれるピーク位置の候補をピーク位置として決定する決定手段を備え、
前記体動検出手段は、前記決定手段によって決定されたピーク位置に基づいて、使用者の体動を検出することを特徴とする体動検出装置。
【請求項3】
請求項1または請求項2に記載の体動検出装置であって、
前記特定手段によって特定された複数のピーク位置の候補からなる時系列パターンについて、あるいは、前記決定手段によって決定された複数のピーク位置からなる時系列パターンについて解析することにより、ステップ間隔を推定する間隔推定手段と、
前記間隔推定手段において推定された前記ステップ間隔に基づいて、少なくとも「静止」、「歩行/走行」、「不定」の3状態を使用者の動作状態として判別する判別手段と
を備えることを特徴とする体動検出装置。
【請求項4】
請求項3に記載の体動検出装置であって、
判定手段は、ピーク位置が全く検出されない「静止」状態でもなく、ステップ間隔が等間隔でもない「不定」の状態にあるときに、前記間隔推定手段によって、数ステップの間、ステップ間隔が等間隔であることが推定された場合に、使用者の動作状態を「不定」から「歩行/走行」に変更することができるものであり、
前記判定手段によって、使用者の動作状態が「不定」から「歩行/走行」に変更された場合に、前記間隔推定手段によって推定されたステップ間隔に基づいて、基準ピッチを算出する基準ピッチ算出手段と
を備えることを特徴とする体動検出装置。
【請求項5】
請求項4に記載の体動検出装置であって、
前記判定手段は、前記間隔推定手段により推定された最新のステップ間隔と、前記基準ピッチとを比較し、その差が、予め設定された誤差範囲に収まっているか、基準ピッチの整数倍に対して所定の誤差範囲に収まっている場合には、「歩行/走行」の状態を維持することを特徴とする体動検出装置。
【請求項6】
請求項4に記載の体動検出装置であって、
前記間隔推定手段によって推定されたステップ間隔に基づいて、使用者のステップをカウントするカウント手段を備え、
前記判別手段によって使用者の動作状態が「歩行/走行」であると判別されている場合に、前記カウント手段は、前記ステップ間隔の前記基準ピッチに対する倍数に基づいて、カウントの補間を行うことを特徴とする体動検出装置。
【請求項7】
請求項4に記載の体動検出装置であって、
前記判別手段により、使用者の動作状態が「歩行/走行」の状態にあると判別されている場合において、前記間隔推定手段によって推定された前記ステップ間隔に基づいて、使用者の動作状態が「歩行」か「走行」かを判定する判定手段を備えたことを特徴とする体動検出装置。
【請求項8】
請求項1に記載の体動検出装置であって、
前記判別手段により、使用者の動作状態が「歩行/走行」の状態にあると判別されている場合において、前記取得手段によって取得された前記低域成分のピーク値と、前記間隔推定手段によって推定された前記ステップ間隔とに基づいて、使用者の動作状態が「歩行」か「走行」かを判定する判定手段を備えたことを特徴とする体動検出装置。
【請求項9】
請求項3に記載の体動検出装置であって、
使用者の動作状態に対応して形成された1以上の楽曲再生リストを記憶保持する楽曲再生リスト保持手段と、
前記判別手段によって判別された使用者の動作状態に応じて、前記楽曲再生リスト保持手段から楽曲の再生に用いる楽曲再生リストを選択する選択手段と
を備えることを特徴とする体動検出装置。
【請求項10】
請求項1に記載の体動検出装置であって、
楽曲データの再生手段と、
前記体動検出手段によって検出される使用者の体動の周期に応じて、前記再生手段における楽曲の再生速度を制御する再生制御手段と
を備え、楽曲再生装置としての機能を備えることを特徴とする体動検出装置。
【請求項11】
請求項1に記載の体動検出装置であって、
前記加速度センサは多軸のものであり、
前記鉛直成分抽出手段は、前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出し、前記多軸の加速度センサからの前記加速度ベクトルと算出された前記重力加速度ベクトルとを用いて演算により加速度の鉛直成分を抽出するものであることを特徴とする体動検出装置。
【請求項12】
使用者の身体に装着するようにされる前記加速度センサからの検出出力から加速度の鉛直成分を抽出する鉛直成分抽出工程と、
前記鉛直成分抽出工程において抽出した前記鉛直成分を高域成分と低域成分とに成分分解する分解工程と、
前記分解工程において分解した前記鉛直成分の前記低域成分に基づいてピーク位置の候補を検出する検出工程と、
前記検出工程において検出したピーク位置の候補を含む所定範囲における前記低域成分のエネルギーと前記高域成分のエネルギーとの比が所定値よりも小さい場合に前記ピーク位置の候補をピーク位置の候補として特定する特定工程と、
前記特定工程において特定したピーク位置の候補に基づいて、前記使用者の体動を検出する体動検出工程と
を有することを特徴とする体動検出方法。
【請求項13】
請求項12に記載の体動検出方法であって、
前記特定工程において特定した各ピーク位置の候補毎に、ピーク位置の候補を含む所定範囲を設定し、設定した所定範囲毎の波形を対象として他の所定範囲の波形とのマッチングを行い、類似度が高い場合に、対象となった波形に含まれるピーク位置の候補をピーク位置として決定する決定工程を有し、
前記体動検出工程においては、前記決定工程において決定したピーク位置に基づいて、使用者の体動を検出することを特徴とする体動検出方法。
【請求項14】
請求項12または請求項13に記載の体動検出方法であって、
前記特定工程において特定した複数のピーク位置の候補からなる時系列パターンについて、あるいは、前記決定工程において決定した複数のピーク位置からなる時系列パターンについて解析することにより、ステップ間隔を推定する間隔推定工程と、
前記間隔推定工程において推定した前記ステップ間隔に基づいて、少なくとも「静止」、「歩行/走行」、「不定」の3状態を使用者の動作状態として判別する判別工程と
を有することを特徴とする体動検出方法。
【請求項15】
請求項12に記載の体動検出方法であって、
使用者の身体に装着するようにされる前記加速度センサは多軸のものであり、
前記鉛直成分抽出工程においては、前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出し、前記多軸の加速度センサからの前記加速度ベクトルと算出された前記重力加速度ベクトルとを用いて演算により加速度の鉛直成分を抽出することを特徴とする体動検出方法。
【請求項16】
使用者の身体に装着するようにされる加速度センサを備え、当該加速度センサからの検出出力を用いて使用者の体動を検出する体動検出装置に搭載されたコンピュータに、
前記加速度センサからの検出出力から加速度の鉛直成分を抽出する鉛直成分抽出ステップと、
前記鉛直成分抽出ステップにおいて抽出した前記鉛直成分を高域成分と低域成分とに成分分解する分解ステップと、
前記分解ステップにおいて分解した前記鉛直成分の前記低域成分に基づいてピーク位置の候補を検出する検出ステップと、
前記検出ステップにおいて検出したピーク位置の候補を含む所定範囲における前記低域成分のエネルギーと前記高域成分のエネルギーとの比が所定値よりも小さい場合に前記ピーク位置の候補をピーク位置の候補として特定する特定ステップと、
前記特定ステップにおいて特定したピーク位置の候補に基づいて、前記使用者の体動を検出する体動検出ステップと
を実行させることを特徴とする体動検出プログラム。
【請求項17】
請求項16に記載の体動検出プログラムであって、
前記特定ステップにおいて特定した各ピーク位置の候補毎に、ピーク位置の候補を含む所定範囲を設定し、設定した所定範囲毎の波形を対象として他の所定範囲の波形とのマッチングを行い、類似度が高い場合に、対象となった波形に含まれるピーク位置の候補をピーク位置として決定する決定ステップを備え、
前記体動検出ステップにおいては、前記決定ステップにおいて決定したピーク位置に基づいて、使用者の体動を検出することを特徴とする体動検出プログラム。
【請求項18】
請求項16または請求項17に記載の体動検出プログラムであって、
前記特定ステップにおいて特定した複数のピーク位置の候補からなる時系列パターンについて、あるいは、前記決定ステップにおいて決定した複数のピーク位置からなる時系列パターンについて解析することにより、ステップ間隔を推定する間隔推定ステップと、
前記間隔推定ステップにおいて推定した前記ステップ間隔に基づいて、少なくとも「静止」、「歩行/走行」、「不定」の3状態を使用者の動作状態として判別する判別ステップと
を有することを特徴とする体動検出プログラム。
【請求項19】
請求項16に記載の体動検出プログラムであって、
使用者の身体に装着するようにされる前記加速度センサは多軸のものであり、
前記鉛直成分抽出ステップにおいては、前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出し、前記多軸の加速度センサからの前記加速度ベクトルと算出された前記重力加速度ベクトルとを用いて演算により加速度の鉛直成分を抽出することを特徴とする体動検出プログラム。
【請求項1】
使用者の身体に装着するようにされる加速度センサと、
前記加速度センサからの検出出力から加速度の鉛直成分を抽出する鉛直成分抽出手段と、
前記鉛直成分抽出手段によって抽出された前記鉛直成分を高域成分と低域成分とに成分分解する分解手段と、
前記分解手段によって分解された前記鉛直成分の前記低域成分に基づいてピーク位置の候補を検出する検出手段と、
前記検出手段によって検出されたピーク位置の候補を含む所定範囲における前記低域成分のエネルギーと前記高域成分のエネルギーとの比が所定値よりも小さい場合に前記ピーク位置の候補をピーク位置の候補として特定する特定手段と、
前記特定手段によって特定されるピーク位置の候補に基づいて、前記使用者の体動を検出する体動検出手段と
を備えることを特徴とする体動検出装置。
【請求項2】
請求項1に記載の体動検出装置であって、
前記特定手段によって特定された各ピーク位置の候補毎に、ピーク位置の候補を含む所定範囲を設定し、設定された所定範囲毎の波形を対象として他の所定範囲の波形とのマッチングを行い、類似度が高い場合に、対象となった波形に含まれるピーク位置の候補をピーク位置として決定する決定手段を備え、
前記体動検出手段は、前記決定手段によって決定されたピーク位置に基づいて、使用者の体動を検出することを特徴とする体動検出装置。
【請求項3】
請求項1または請求項2に記載の体動検出装置であって、
前記特定手段によって特定された複数のピーク位置の候補からなる時系列パターンについて、あるいは、前記決定手段によって決定された複数のピーク位置からなる時系列パターンについて解析することにより、ステップ間隔を推定する間隔推定手段と、
前記間隔推定手段において推定された前記ステップ間隔に基づいて、少なくとも「静止」、「歩行/走行」、「不定」の3状態を使用者の動作状態として判別する判別手段と
を備えることを特徴とする体動検出装置。
【請求項4】
請求項3に記載の体動検出装置であって、
判定手段は、ピーク位置が全く検出されない「静止」状態でもなく、ステップ間隔が等間隔でもない「不定」の状態にあるときに、前記間隔推定手段によって、数ステップの間、ステップ間隔が等間隔であることが推定された場合に、使用者の動作状態を「不定」から「歩行/走行」に変更することができるものであり、
前記判定手段によって、使用者の動作状態が「不定」から「歩行/走行」に変更された場合に、前記間隔推定手段によって推定されたステップ間隔に基づいて、基準ピッチを算出する基準ピッチ算出手段と
を備えることを特徴とする体動検出装置。
【請求項5】
請求項4に記載の体動検出装置であって、
前記判定手段は、前記間隔推定手段により推定された最新のステップ間隔と、前記基準ピッチとを比較し、その差が、予め設定された誤差範囲に収まっているか、基準ピッチの整数倍に対して所定の誤差範囲に収まっている場合には、「歩行/走行」の状態を維持することを特徴とする体動検出装置。
【請求項6】
請求項4に記載の体動検出装置であって、
前記間隔推定手段によって推定されたステップ間隔に基づいて、使用者のステップをカウントするカウント手段を備え、
前記判別手段によって使用者の動作状態が「歩行/走行」であると判別されている場合に、前記カウント手段は、前記ステップ間隔の前記基準ピッチに対する倍数に基づいて、カウントの補間を行うことを特徴とする体動検出装置。
【請求項7】
請求項4に記載の体動検出装置であって、
前記判別手段により、使用者の動作状態が「歩行/走行」の状態にあると判別されている場合において、前記間隔推定手段によって推定された前記ステップ間隔に基づいて、使用者の動作状態が「歩行」か「走行」かを判定する判定手段を備えたことを特徴とする体動検出装置。
【請求項8】
請求項1に記載の体動検出装置であって、
前記判別手段により、使用者の動作状態が「歩行/走行」の状態にあると判別されている場合において、前記取得手段によって取得された前記低域成分のピーク値と、前記間隔推定手段によって推定された前記ステップ間隔とに基づいて、使用者の動作状態が「歩行」か「走行」かを判定する判定手段を備えたことを特徴とする体動検出装置。
【請求項9】
請求項3に記載の体動検出装置であって、
使用者の動作状態に対応して形成された1以上の楽曲再生リストを記憶保持する楽曲再生リスト保持手段と、
前記判別手段によって判別された使用者の動作状態に応じて、前記楽曲再生リスト保持手段から楽曲の再生に用いる楽曲再生リストを選択する選択手段と
を備えることを特徴とする体動検出装置。
【請求項10】
請求項1に記載の体動検出装置であって、
楽曲データの再生手段と、
前記体動検出手段によって検出される使用者の体動の周期に応じて、前記再生手段における楽曲の再生速度を制御する再生制御手段と
を備え、楽曲再生装置としての機能を備えることを特徴とする体動検出装置。
【請求項11】
請求項1に記載の体動検出装置であって、
前記加速度センサは多軸のものであり、
前記鉛直成分抽出手段は、前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出し、前記多軸の加速度センサからの前記加速度ベクトルと算出された前記重力加速度ベクトルとを用いて演算により加速度の鉛直成分を抽出するものであることを特徴とする体動検出装置。
【請求項12】
使用者の身体に装着するようにされる前記加速度センサからの検出出力から加速度の鉛直成分を抽出する鉛直成分抽出工程と、
前記鉛直成分抽出工程において抽出した前記鉛直成分を高域成分と低域成分とに成分分解する分解工程と、
前記分解工程において分解した前記鉛直成分の前記低域成分に基づいてピーク位置の候補を検出する検出工程と、
前記検出工程において検出したピーク位置の候補を含む所定範囲における前記低域成分のエネルギーと前記高域成分のエネルギーとの比が所定値よりも小さい場合に前記ピーク位置の候補をピーク位置の候補として特定する特定工程と、
前記特定工程において特定したピーク位置の候補に基づいて、前記使用者の体動を検出する体動検出工程と
を有することを特徴とする体動検出方法。
【請求項13】
請求項12に記載の体動検出方法であって、
前記特定工程において特定した各ピーク位置の候補毎に、ピーク位置の候補を含む所定範囲を設定し、設定した所定範囲毎の波形を対象として他の所定範囲の波形とのマッチングを行い、類似度が高い場合に、対象となった波形に含まれるピーク位置の候補をピーク位置として決定する決定工程を有し、
前記体動検出工程においては、前記決定工程において決定したピーク位置に基づいて、使用者の体動を検出することを特徴とする体動検出方法。
【請求項14】
請求項12または請求項13に記載の体動検出方法であって、
前記特定工程において特定した複数のピーク位置の候補からなる時系列パターンについて、あるいは、前記決定工程において決定した複数のピーク位置からなる時系列パターンについて解析することにより、ステップ間隔を推定する間隔推定工程と、
前記間隔推定工程において推定した前記ステップ間隔に基づいて、少なくとも「静止」、「歩行/走行」、「不定」の3状態を使用者の動作状態として判別する判別工程と
を有することを特徴とする体動検出方法。
【請求項15】
請求項12に記載の体動検出方法であって、
使用者の身体に装着するようにされる前記加速度センサは多軸のものであり、
前記鉛直成分抽出工程においては、前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出し、前記多軸の加速度センサからの前記加速度ベクトルと算出された前記重力加速度ベクトルとを用いて演算により加速度の鉛直成分を抽出することを特徴とする体動検出方法。
【請求項16】
使用者の身体に装着するようにされる加速度センサを備え、当該加速度センサからの検出出力を用いて使用者の体動を検出する体動検出装置に搭載されたコンピュータに、
前記加速度センサからの検出出力から加速度の鉛直成分を抽出する鉛直成分抽出ステップと、
前記鉛直成分抽出ステップにおいて抽出した前記鉛直成分を高域成分と低域成分とに成分分解する分解ステップと、
前記分解ステップにおいて分解した前記鉛直成分の前記低域成分に基づいてピーク位置の候補を検出する検出ステップと、
前記検出ステップにおいて検出したピーク位置の候補を含む所定範囲における前記低域成分のエネルギーと前記高域成分のエネルギーとの比が所定値よりも小さい場合に前記ピーク位置の候補をピーク位置の候補として特定する特定ステップと、
前記特定ステップにおいて特定したピーク位置の候補に基づいて、前記使用者の体動を検出する体動検出ステップと
を実行させることを特徴とする体動検出プログラム。
【請求項17】
請求項16に記載の体動検出プログラムであって、
前記特定ステップにおいて特定した各ピーク位置の候補毎に、ピーク位置の候補を含む所定範囲を設定し、設定した所定範囲毎の波形を対象として他の所定範囲の波形とのマッチングを行い、類似度が高い場合に、対象となった波形に含まれるピーク位置の候補をピーク位置として決定する決定ステップを備え、
前記体動検出ステップにおいては、前記決定ステップにおいて決定したピーク位置に基づいて、使用者の体動を検出することを特徴とする体動検出プログラム。
【請求項18】
請求項16または請求項17に記載の体動検出プログラムであって、
前記特定ステップにおいて特定した複数のピーク位置の候補からなる時系列パターンについて、あるいは、前記決定ステップにおいて決定した複数のピーク位置からなる時系列パターンについて解析することにより、ステップ間隔を推定する間隔推定ステップと、
前記間隔推定ステップにおいて推定した前記ステップ間隔に基づいて、少なくとも「静止」、「歩行/走行」、「不定」の3状態を使用者の動作状態として判別する判別ステップと
を有することを特徴とする体動検出プログラム。
【請求項19】
請求項16に記載の体動検出プログラムであって、
使用者の身体に装着するようにされる前記加速度センサは多軸のものであり、
前記鉛直成分抽出ステップにおいては、前記多軸の加速度センサからの検出出力である加速度ベクトルから重力加速度ベクトルを算出し、前記多軸の加速度センサからの前記加速度ベクトルと算出された前記重力加速度ベクトルとを用いて演算により加速度の鉛直成分を抽出することを特徴とする体動検出プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2007−244495(P2007−244495A)
【公開日】平成19年9月27日(2007.9.27)
【国際特許分類】
【出願番号】特願2006−69343(P2006−69343)
【出願日】平成18年3月14日(2006.3.14)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成19年9月27日(2007.9.27)
【国際特許分類】
【出願日】平成18年3月14日(2006.3.14)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]