状態検出装置、電子機器及びプログラム
【課題】 平均加速度、基準平均加速度及び基準歩幅に基づく処理を行うことで、歩幅の推定精度を高める状態検出装置、電子機器及びプログラム等を提供すること。
【解決手段】 状態検出装置100は、加速度センサー10からの加速度検出値を取得する取得部110と、加速度検出値に基づいて、所与の期間ごとの平均加速度を算出する平均加速度算出部162と、基準平均加速度と基準歩幅を取得する基準情報取得部164と、基準平均加速度に対する平均加速度の比、前記基準歩幅に基づいて、歩幅を推定する歩幅推定部160を含む。
【解決手段】 状態検出装置100は、加速度センサー10からの加速度検出値を取得する取得部110と、加速度検出値に基づいて、所与の期間ごとの平均加速度を算出する平均加速度算出部162と、基準平均加速度と基準歩幅を取得する基準情報取得部164と、基準平均加速度に対する平均加速度の比、前記基準歩幅に基づいて、歩幅を推定する歩幅推定部160を含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、状態検出装置、電子機器及びプログラム等に関する。
【背景技術】
【0002】
状態を検出する対象に加速度センサーを装着し、装着した加速度センサーからの加速度値に基づいて、対象の状態を検出する装置等が知られている。例えば、状態検出対象が人であれば、そのユーザーの体に加速度センサーを装着し、ユーザーの状態(例えば歩行しているか走行しているか等の運動状態)を検出する。代表的なものとしては、ユーザーの歩行・走行を検出して、当該歩行等のステップ数をカウントする歩数計が考えられる。また、ユーザーの歩幅を算出することで、移動距離を測定するものもある。
【0003】
従来、距離測定では歩行・走行ステップ(1歩の検出に対応)と、歩幅の積を取ることで距離を推定する手法が提案されてきた。しかし、そのような手法は処理が容易な反面、歩幅の算出精度が悪いと距離測定精度も悪くなってしまう。
【0004】
特許文献1には、ユーザーのピッチに基づいて歩幅を算出することで、距離推定の精度を向上させる手法が提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平7−333000号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1の手法では、ピッチに基づいて歩幅を算出しているが、ピッチと歩幅の関係は線形とはならない上、ユーザーごとの個人差が大きく、歩幅の算出において充分な精度が得られないこともあり、結果として距離推定の精度も充分ではない。
【0007】
本発明の幾つかの態様によれば、平均加速度、基準平均加速度及び基準歩幅に基づく処理を行うことで、歩幅の推定精度を高める状態検出装置、電子機器及びプログラム等を提供することができる。
【課題を解決するための手段】
【0008】
本発明の一態様は、加速度センサーからの加速度検出値を取得する取得部と、前記加速度検出値に基づいて、所与の期間ごとの平均加速度を算出する平均加速度算出部と、基準平均加速度と基準歩幅を取得する基準情報取得部と、前記基準平均加速度に対する前記平均加速度の比、及び前記基準歩幅に基づいて、歩幅を推定する歩幅推定部と、を含む状態検出装置に関係する。
【0009】
本発明の一態様によれば、加速度センサーからの加速度検出値に基づいて平均加速度を取得するとともに、基準平均加速度と基準歩幅を取得する。そして、基準平均加速度に対する平均加速度の比、及び基準歩幅に基づいて歩幅を推定する。平均加速度に基づいた処理を行うことで、歩幅推定の精度を向上させること等が可能になる。
【0010】
また、本発明の一態様では、ステップ検出部を含み、前記基準情報取得部は、入力距離情報と、基準情報取得期間で前記ステップ検出部が検出したステップ数とに基づいて、前記基準歩幅を取得してもよい。
【0011】
これにより、入力距離情報とステップ数に基づいて基準歩幅を取得することが可能になる。
【0012】
また、本発明の一態様では、前記基準情報取得部は、前記基準情報取得期間で取得された前記平均加速度と、前記ステップ数とに基づいて、前記基準平均加速度を取得してもよい。
【0013】
これにより、平均加速度とステップ数に基づいて基準平均加速度を取得することが可能になる。
【0014】
また、本発明の一態様では、前記歩幅推定部は、前記基準平均加速度をNA、前記基準歩幅をNS、係数をC、所与のタイミングで取得された前記平均加速度をAnとした場合に、前記平均加速度Anが取得されたタイミングに対応する前記歩幅Snを、Sn=C×(An/NA)×NSにより求めてもよい。
【0015】
これにより、具体的には上述の式から歩幅を推定することが可能になる。
【0016】
また、本発明の一態様では、前記入力距離情報は、ユーザー入力情報又は外部データであってもよい。
【0017】
これにより、基準歩幅算出に用いる入力距離情報として、ユーザー入力情報又は外部データを用いることが可能になる。
【0018】
また、本発明の一態様では、前記基準情報取得部は、信号値取得期間での前記平均加速度、及び前記信号値取得期間で検出された前記ステップ数に基づいて、基準平均加速度候補を求め、基準情報取得指示があった場合には、前記信号値取得期間での前記基準歩幅に対応付けて前記基準平均加速度候補を前記基準平均加速度として取得してもよい。
【0019】
これにより、信号値取得期間においては基準平均加速度候補を求めておき、基準情報取得指示の有無に基づいて、基準平均加速度候補を基準平均加速度として用いるか否かを決定すること等が可能になる。
【0020】
また、本発明の一態様では、前記基準情報取得部は、前記基準情報取得指示の際に、前記信号値取得期間での前記走行又は前記歩行の基準距離情報を取得してもよい。
【0021】
これにより、基準情報取得指示の際に基準距離情報が取得されるため、基準歩幅を算出すること等が可能になる。
【0022】
また、本発明の一態様では、前記基準距離情報は、ユーザー入力情報又は外部データであってもよい。
【0023】
これにより、基準歩幅算出に用いる基準距離情報として、ユーザー入力情報又は外部データを用いることが可能になる。
【0024】
また、本発明の一態様では、前記平均加速度算出部は、前記ステップ検出部でステップが検出されたタイミングに基づいて設定された前記所与の期間ごとに前記平均加速度を算出してもよい。
【0025】
これにより、ステップ検出タイミングに基づいて平均加速度を算出することが可能になる。
【0026】
また、本発明の一態様では、前記加速度検出値に対してバンドパスフィルター処理を行うフィルター処理部と、前記フィルター処理部での前記バンドパスフィルター処理のフィルター特性を変化させる制御部と、を含み、前記ステップ検出部は、前記バンドパスフィルター処理後の前記加速度検出値に基づいて、ステップ周期情報を検出し、前記制御部は、前記ステップ検出部において検出した前記ステップ周期情報に基づいて、前記バンドパスフィルター処理の前記フィルター特性を適応的に変化させてもよい。
【0027】
これにより、加速度検出値に対してフィルター処理を行うとともに、当該フィルター処理に用いるフィルターの特性をステップ周期に基づいて適応的に変化させること等が可能になる。
【0028】
また、本発明の一態様では、前記歩幅推定部により推定された前記歩幅に基づいて、走行又は歩行の距離情報を算出する距離情報算出部を含んでもよい。
【0029】
これにより、推定した歩幅に基づいて距離情報を算出すること等が可能になる。
【0030】
また、本発明の一態様では、前記加速度検出値に基づいて、走行状態か歩行状態かを判定する判定部を含み、前記距離情報算出部は、前記判定部で前記走行状態であると判定された場合には、前記歩幅推定部で推定された前記歩幅に基づいて前記距離情報を算出し、前記判定部で前記歩行状態であると判定された場合には、所定歩幅に基づいて前記距離情報を算出してもよい。
【0031】
これにより、走行状態か歩行状態かを判定した上で、判定結果に基づいて距離情報算出に用いる歩幅を決定すること等が可能になる。
【0032】
また、本発明の他の態様は、加速度センサーからの加速度検出値を取得する取得部と、前記加速度検出値に基づいて、所与の期間ごとの平均速度を算出する平均速度算出部と、基準平均速度と基準歩幅を取得する基準情報取得部と、前記基準平均速度に対する前記平均速度の比、及び前記基準歩幅に基づいて、歩幅を推定する歩幅推定部と、を含む状態検出装置に関係する。
【0033】
また、本発明の他の態様は、上記のいずれかに記載の状態検出装置を含む電子機器に関係する。
【0034】
また、本発明の他の態様は、上記の各部としてコンピューターを機能させるプログラムに関係する。
【図面の簡単な説明】
【0035】
【図1】加速度検出値の周波数特性例を説明する図。
【図2】フィルター処理前とフィルター処理後の加速度検出値の波形図。
【図3】従来手法と本実施形態の手法による距離算出精度の差を説明する図。
【図4】本実施形態の状態検出装置を含む電子機器等のシステム構成例。
【図5】本実施形態の状態検出装置のシステム構成例。
【図6】フィルター処理に用いるフィルターの構成例。
【図7】平均加速度の説明図。
【図8】入力距離情報を取得する場合の距離算出処理の説明図。
【図9】フィルター処理及びフィルター特性の適応的な変更処理を説明するフローチャート。
【図10】歩行走行判定処理を説明するためのフローチャート。
【図11】歩幅推定処理を説明するためのフローチャート。
【図12】入力距離情報を取得する場合の歩幅推定処理を説明するためのフローチャート。
【図13】本実施形態にかかるプログラムを実行するシステムの構成例。
【発明を実施するための形態】
【0036】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0037】
1.本実施形態の手法
まず本実施形態の手法について説明する。本実施形態の状態検出装置は、人(ユーザー)に装着してその人の歩行・走行に関する状態を検出するものである。具体的には、加速度センサーからのセンサー信号に基づいて、歩行・走行のステップ数、ステップ周期(ステップ周波数)の検出や、走行状態判別(歩行であるか走行であるかの判別等)、歩幅推定及びそれに伴う距離情報算出等を行う。
【0038】
従来、FFT等を用いた周波数分析によりこれらの処理を行う手法が提案されているが、ステップ数の正確な検出やステップ周波数の変動への対処が難しく、FFTのフレーム期間の変動を捉えることも困難である。よって、本実施形態では周波数分析ではなく、加速度検出値を用いて処理を行う。つまり、周波数軸ではなく例えば加速度検出値の時間変化等を用いることになる。
【0039】
しかし、加速度検出値は図1に示したように、本来処理対象としたいステップ周波数以外にも、様々な周波数の信号を含んでしまっており、加速度検出値の時間変化は例えば図2の破線のように複雑な形となってしまう。よって、加速度検出値をそのまま用いるのではなく、フィルター処理を施す。具体的には、ステップ周波数は通過させ、他の周波数は非通過とするフィルター処理を施せばよい。このようにすることで、図2の実線で示したようなきれいな信号波形を取得することができる。
【0040】
ここで問題となるのは、ステップ周波数が変動した場合である。ステップ周波数はユーザーの歩行・走行のピッチに対応するものであるが、ユーザーが一定の運動の継続を意図した場合であっても当該ピッチは当然変化する。ましてや、運動そのものが変化する(ジョギングからダッシュへの変化、歩行から走行への変化等)場合には、ピッチの変化を考慮しない訳にはいかない。上述したように、フィルター処理はステップ周波数を通過させ、他を非通過とするためのものであるが、ステップ周波数が変化したのであれば、フィルターの通過帯域とステップ周波数との対応関係が崩れてしまう。
【0041】
そこで本出願人は、ステップ周期情報(ステップ周期であってもよいしステップ周波数であってもよい)に基づいて、フィルター処理に用いるフィルターの特性(狭義には周波数特性)を適応的に変化させる手法を提案する。このようにすることで、ステップ周波数が変化した場合にも、ステップ周波数を通過させ、他を非通過とするフィルター処理を行うことが可能になり、正確な状態検出ができる。具体的には、あるタイミングで検出したステップ周波数に基づいて、次のタイミングでのフィルター処理に用いるフィルターの特性を変更すればよい。
【0042】
なお、本実施形態では加速度センサーを腕部に装着(例えば腕時計のように手首に装着)することを想定している。これは、運動中にも検出データを閲覧したいというユーザーの要請によるものである。例えば脚部に加速度センサーを装着した場合、加速度センサーと一体として表示部を設けてしまっては、当該表示部をユーザーが運動中に見ることは困難である。つまり、腕時計型デバイス、ヘッドマウントディスプレイ、スマートフォン等の表示閲覧に適した他のデバイスと連動して動作しなくてはならない。そのため、通信機能等を頻繁に利用する必要が生じ、省電力化等の観点からも不利である。その点、上述したように腕時計型デバイスであれば、一体として表示部を設けても問題ないため、内部の閉じた処理で十分である(ただし別体として設けられたホストコンピューター等と通信することを妨げるものではない)。
【0043】
しかし、腕部に加速度センサーを装着することで、脚部に装着した場合には生じない問題を考慮する必要がある。脚部に装着した場合には、ステップ数に直結する脚部の運動に起因する加速度検出値を直接得られる。そして、人間の歩行・走行時には当該歩行等によるステップ周波数が最も低い周波数ピークとして現れるため、ステップ周波数を通過させ、他を非通過とするフィルター処理とはローパスフィルターで足りる。しかし、腕部に装着した場合、腕を一回振る間に足は右足と左足の両方が動いていることになるため、図1に示したようにステップ周波数の半分の周波数に、腕振りに対応する周波数ピークが現れる。つまりローパスフィルターでは腕振り周波数が残ってしまうため、バンドパスフィルターを用いる必要がある。
【0044】
なお、ローパスフィルターを用いて腕振り周波数を通過させ、他を非通過として、腕振り周波数に対応する周波数成分の加速度検出値に基づく処理を行なっても、ステップの検出や歩幅の推定等は一応可能である。しかし、腕振りの1周期は2歩の歩行・走行に対応する以上、2歩単位での処理しかできない。歩数のカウントは1歩単位で行いたいというユーザーからの要求が大きいこと等を考慮すると、腕部装着時にはローパスフィルターではなくバンドパスフィルターによる処理を行うことが望ましい。
【0045】
また、上述のフィルター処理を行うことで、きれいな加速度信号波形を取得すること及びステップ検出を行うこと等が可能になるものの、運動によるユーザーの移動距離の推定には別の問題が存在する。従来、歩行・走行のステップカウント数(歩数)と歩幅の積を取ることで距離を推定する手法が提案されていたが、手法が容易な反面、歩幅の算出精度が低く距離の推定精度も低くなってしまっていた。
【0046】
例えば、3人のユーザーが、高速・中速・低速の3つの異なる速度で既知の距離(800m)を走行した場合の距離推定結果を図3に示す。この際、破線では中速での運動結果に基づいて算出した歩幅と、歩数の積から距離を推定している。図3から明らかなように、歩幅の算出時と同様の状況である中速の運動では正解(800m)に近い値が得られる反面、高速・低速での運動時には推定精度が大きく低下している。これは、高速ではストライドが伸び、中速時に比べて歩数が少なくなる傾向があることから、移動距離が短く見積もられるためである。同様に、低速ではストライドが縮み、中速時に比べて歩数が多くなる傾向があることから、移動距離が長く見積もられる。
【0047】
これに対して、ピッチ(ステップ周波数)を基準に歩幅を推定する手法等が提案されているが、ピッチと歩幅の関係は線形でなく、また個人差による影響が大きく効果的でない。
【0048】
そこで、本出願人は平均加速度及び基準情報(基準平均加速度・基準歩幅)に基づいて歩幅を推定し、推定した歩幅に基づいて移動距離を算出する。平均加速度等の詳細については図7等を用いて後述するが、本実施形態の手法を用いることで、距離推定の精度を向上させることが可能になる。具体的には、図3の実線が本実施形態の手法を用いた場合の実測値であり、歩幅(基準歩幅)の算出時と距離推定時とで、運動状態(例えば移動速度等)が変化したとしても、従来手法に比べて正解に近い値が得られることがわかる。
【0049】
以下、システム構成例を説明した後、フィルター適応化処理、適応的に特性を変更したフィルター処理後の信号を用いた歩行走行判定処理、及び歩幅推定処理と、それに基づく距離情報算出処理についても述べるものとする。最後に、各処理の詳細について、フローチャートを用いて説明する。
【0050】
2.システム構成例
本実施形態にかかる状態検出装置と、それを含む電子機器の構成例を図4に示す。電子機器(例えば状態検出装置を含む腕時計型デバイス等)は、加速度センサー10と、記憶部20と、通信部30と、表示部40と、操作部50と、状態検出装置100とを含む。ただし電子機器は図4の構成に限定されず、これらの一部の構成要素を省略したり(例えば通信部30等を省略してもよい)、他の構成要素を追加するなどの種々の変形実施が可能である。
【0051】
加速度センサー10は、例えば3軸の加速度センサーである。記憶部20は、状態検出装置100等のワーク領域となるもので、その機能はRAM等のメモリーやHDD(ハードディスクドライブ)などにより実現できる。記憶部20では、距離情報算出部170で算出されたユーザーの移動距離情報等の、ユーザーに対する提示が想定される情報を記憶するとともに、フィルター処理部120で用いられるフィルターの特性パラメーター等の、ユーザーに対する提示が想定されない内部情報も記憶する。
【0052】
通信部30は、外部機器との通信を行うものであり、外部機器としては状態検出装置100で検出した情報の解析処理等を行うホストコンピューターが考えられる。通信部30は、ユーザーが装着している状態での通信を考慮すれば無線で実現されることが望ましいが、有線であってもよい。
【0053】
表示部40は、各種の表示画面を表示するためのものであり、例えば液晶ディスプレイや有機ELディスプレイなどにより実現できる。表示部40は、状態検出装置100による情報を表示するものとするが、他の情報を表示してもよい。例えば、電子機器が腕時計型デバイスであれば、時刻表示を行なってもよい。また、表示部40がタッチパネルにより実現されるのであれば、操作のためのインターフェースを表示してもよい。その場合、操作部50の機能の一部又は全部が表示部40により実現されることになる。
【0054】
操作部50は、ユーザーが電子機器の各種操作を行うためのものであり、各種ボタン等により実現できる。各種ボタンは、機械的なボタンであってもよいし、タッチパネル等に表示される画像であってもよい。
【0055】
状態検出装置100は、電子機器(狭義には当該電子機器を装着したユーザー)の状態を検出する。状態とは、立っているか寝ているかという姿勢に関する状態であってもよいし、乗り物に乗っているか否かという移動に関する状態であってもよい。狭義には、歩行や走行等に代表される運動状態を表すものであってもよい。
【0056】
次に、図5を用いて状態検出装置100の詳細な構成例について説明する。図5に示したように、状態検出装置100は、取得部110と、フィルター処理部120と、制御部130と、ステップ検出部140と、ステップ周期情報検出部142と、ステップカウント部144と、判定部150と、歩幅推定部160と、平均加速度算出部162と、基準情報取得部164と、距離情報算出部170と、を含む。ただし状態検出装置100は図5の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0057】
取得部110は、加速度センサー10からのセンサー情報を取得する。加速度センサー10が3軸の加速度センサーであれば、xyz各軸に対応する3つの値を取得することになる。取得部110は、加速度センサー10と状態検出装置100の間のインターフェースとして構成され、加速度センサー10からのセンサー信号をそのままフィルター処理部120に出力してもよいし、フィルター処理部120に出力する際に前処理を行なってもよい。
【0058】
前処理としては、例えばxyzの3つの加速度信号値を合成して(例えば2乗和の平方根を求める処理等)合成加速度を算出してもよいし、ユーザーの足が着地することによる加速度を除去するためのローパスフィルター処理であってもよいし、この両方であってもよい。ローパスフィルター処理を行うのは、歩行・走行の検出はユーザーの体の移動による加速度に基づいて行うため、着地衝撃による加速度は処理の妨げになること、及び着地衝撃の加速度は主に高周波に現れることが理由である。また、合成加速度を算出するのではなく、センサー座標系とは異なる座標系への座標変換処理を施した上で特定の軸に関する値を求める処理を行なってもよい。
【0059】
なお、本実施形態では、加速度センサー10から取得部110へ入力される情報をセンサー情報と表記し、取得部110からフィルター処理部120へ出力される情報を加速度検出値と表記する。前処理が全く行われなければ、センサー情報と加速度検出値は同じ情報を表すことになるが、一般的には、上述の処理やノイズリダクション処理等が行われるため、センサー情報と加速度検出値は異なる情報となる。
【0060】
フィルター処理部120は、取得部110から出力された加速度検出値に対してフィルター処理を行う。本実施形態では、歩行・走行の検出(判定)や、その後の歩幅推定等を想定しているため、ユーザーの歩行・走行のピッチに対応するステップ周波数を通過させ、ステップ周波数以外の周波数を非通過とするフィルター処理を行えばよい。本実施形態は、ステップ周波数よりも低い周波数に、非通過とすべきピーク周波数が発生するケース(例えば腕部に加速度センサーを装着した場合等)を考えて、フィルター処理はバンドパスフィルター処理であるものとして説明する。
【0061】
制御部130は、ステップ周期情報検出部142から出力されたステップ周期情報(例えばステップ周波数)に基づいて、フィルター処理部120で用いられるフィルターの特性を制御する。詳細については後述する。
【0062】
ステップ検出部140は、フィルター処理部120でのフィルター処理後の信号に基づいて、ステップを検出する。ステップはユーザーの歩行・走行に対応し、一歩ごとに一回ステップが検出されることになる。フィルター処理後の加速度検出値は、図2の実線で示したように主にステップ周波数成分の正弦波に近似できるから、当該信号の1周期に1回ステップ検出信号を出力すればよい。具体的には、信号波形の上ピーク(下ピーク)を検出すればよく、ピーク検出は対象のタイミングと前後のタイミングとの差分値(傾き)を求め、当該差分値のゼロクロスから行うことができる。例えば、隣接するタイミングでの信号値の差分値がプラス(マイナス)からマイナス(プラス)へ切り替わる点を上(下)ピークとすればよい。また、差分値は隣接するタイミングから求めるだけでなく、2タイミング前及び2タイミング後の信号値との差分を用いてもよい。例えば、2タイミング前との差分値及び1タイミング前との差分値が両方共プラス(マイナス)であり、1タイミング後との差分値及び2タイミング後との差分値が両方共マイナス(プラス)である場合に、現在のタイミングを上(下)ピークとしてもよい。
【0063】
ステップ検出部140からの出力は、単純にはステップを検出したことを知らせるパルス信号であってもよい。パルス信号とは検出があったか否かを出力する情報であり、情報の中身に特に意味がなくてもよい。ただしステップ検出部140は、上述したようにステップ検出を行うためにフィルター処理後の加速度検出値を取得している。よって、ステップの検出だけではなく、その際の加速度検出値の大きさ(ピーク検出によりステップ検出を行うのであれば、加速度検出値のピークである加速度ピーク値)を出力情報に含めることも可能である。さらに言えば、ステップ検出時以外のタイミングでの加速度検出値を出力してもよい。ここでは、ステップ検出部140の出力をステップ検出情報と表記する。ステップ検出情報はステップ周期情報検出部142と、ステップカウント部144と、判定部150と、平均加速度算出部162に出力される。ステップ検出情報の内容は出力先となる各部に応じて異なってもよく、詳細については各部の説明の箇所で後述する。
【0064】
ステップ周期情報検出部142は、ステップ検出部140からのステップ検出情報に基づいて、ステップ周期情報を検出する。ここで、ステップ周期情報とは、ステップ周期であってもよいし、ステップ周波数であってもよい。ここでのステップ検出情報は、上述したパルス信号であればよく、前回のパルス信号の入力から、今回のパルス信号の入力までの時間がステップ周期に相当し、逆数がステップ周波数に相当する。また、ステップ周期情報はステップ周期或いはステップ周波数に基づいて求められる他の情報であってもよい。ステップ周波数情報は、制御部130に出力される。
【0065】
ステップカウント部144は、ステップをカウントする。ステップカウント部144でカウントされた値は、ユーザーの歩数に相当する。単純にはステップ検出部140からのステップ検出情報(ここではパルス信号)が入力されるごとにインクリメントが実行されるカウンター等であってもよい。また、ステップカウント部144は、単純なカウンターではなく、その他の処理を行なってもよい。例えば、歩行以外の運動やノイズ等によるステップ検出を除外することで、歩数検出の正確性向上を図ってもよい。
【0066】
判定部150は、ユーザーが歩行状態であるか走行状態であるかの判定を行う。判定は、ステップ検出部140からのステップ検出情報に基づいて行われる。詳細については後述するが、ここでのステップ検出情報はパルス信号だけではなく、加速度ピーク値を含むことが想定される。
【0067】
歩幅推定部160は、ユーザーの歩幅を推定する。歩幅の推定は平均加速度・基準情報(基準平均加速度・基準歩幅)に基づいて行われる。また、歩幅の推定の際に判定部150での判定結果を用いてもよい。
【0068】
平均加速度算出部162は、ステップ検出部140からのステップ検出情報に基づいて、平均加速度を算出する。平均加速度とは、あるステップ検出から次のステップ検出までの時間での、フィルター処理後の加速度検出値の平均値に相当する。よって、ここでのステップ検出情報は、パルス信号だけでなく、ステップ検出時以外のタイミングでのフィルター処理後の加速度検出値も含む必要がある。よって、図5には不図示であるが、平均加速度算出部162はフィルター処理部120と接続され、フィルター処理後の加速度検出値をフィルター処理部120から直接取得してもよい。その場合には、ステップ検出情報はパルス信号のようにシンプルなもので足りる。
【0069】
基準情報取得部164は、平均加速度算出部162で算出された平均加速度、ステップカウント部144でのステップカウント数等に基づいて基準情報を取得する。基準情報取得部164は、基準平均加速度を算出する基準平均加速度算出部166と、基準歩幅を算出する基準歩幅算出部168を含んでもよい。歩幅推定部160以降の各部については、歩幅推定処理に関するものであるため、詳細は後述する。
【0070】
距離情報算出部170は、歩幅推定部160で推定された歩幅に基づいて、ユーザーの歩行・走行による距離情報(移動距離)を算出する。詳細については後述する。
【0071】
3.フィルター適応化
取得部110で取得した加速度検出値に対するフィルター処理について説明する。ここでは、腕部に加速度センサーを装着するケースを想定し、フィルター処理としてはバンドパスフィルターを用いた処理について述べる。しかし、センサーの装着部位は必ずしも腕部に限定されるものではない。
【0072】
本実施形態の状態検出装置では、ユーザーの歩行・走行に関する情報を取得する。しかし、加速度検出値は歩行・走行のステップ周波数以外の周波数にもピーク値を持つため、加速度検出値の時間変化波形は図2の破線のように複雑な形状となる。例えば、加速度センサーを腕部に装着したのであれば、ステップ周波数を2Fとした場合に、半分の周波数であるFに腕振り周波数のピークが現れる(足が二歩歩く間に腕は一振りされるため)。また、腕振り周波数やステップ周波数の合成として、3Fや4F等の高い周波数帯にもピークが現れる。
【0073】
よって、フィルター処理部120では、2Fを通過させ、他を非通過とするバンドパスフィルター処理を行う。ただし、厳密に2Fの周波数のみを通過させる必要はない。バンドパスフィルターの現実的な設計上、通過域はある程度幅を持つが、Fと2Fの間、及び2Fと3Fの間の周波数を通過させたとしても、当該周波数帯域にはピーク値はないため、その後の処理に与える影響は大きくない。つまりバンドパスフィルターの特性は、狭義には2Fを通過させ、F以下及び3F以上を非通過とするものであればよい。通過・非通過は例えば、カットオフ周波数により決定される通過域に含まれる周波数帯域を通過とし、それ以外の周波数帯域を非通過と定義すればよい。
【0074】
バンドパスフィルターは例えば図6に示した一般的な双2次フィルター(IIRフィルター)で構成すればよい。このフィルターは入力値をx、出力値をyとした場合に、下式(1)で表される。また、図6におけるフィルター係数は、具体的には下式(2)〜(8)となる。
【0075】
y[n]=(b0/a0)*x[n]+(b1/a0)*x[n-1]+(b2/a0)*x[n-2]-(a1/a0)*y[n-1]-(a2/a0)*y[n-2]
・・・・・(1)
b0=α ・・・・・(2)
b1=0 ・・・・・(3)
b2=-α ・・・・・(4)
a0=1+α ・・・・・(5)
a1=-2cos(2πf) ・・・・・(6)
a2=1-α ・・・・・(7)
α=sin(2πf)/Q ・・・・・(8)
ここで、fはバンドパスフィルターの中心周波数を表し、Qはフィルター帯域幅を決定する係数である。つまり、fとQを設定することで、様々なバンドパスフィルターを構成することができる。
【0076】
つまり、制御部130は、ステップ周期情報検出部142からの出力値からステップ周波数を求め(或いはステップ周波数そのものが出力されてもよい)、上述の式(1)〜(8)におけるfをステップ周波数に変更する処理を行う。
【0077】
これにより、現在のタイミングで得られたステップ周波数(例えば1タイミング前のステップ検出と最新のステップ検出との間の時間をステップ周期とした時の逆数)に基づいて、フィルター処理部120で用いるフィルター特性を変更し、以降のタイミングでのフィルター処理を行うことが可能になる。検出したステップ周期情報に基づいて適応的にフィルター特性が変化するため、運動中にステップ周波数が変化したとしても、適切なフィルター処理を行うことが可能になる。
【0078】
なお、上式(8)のQは固定値であってもよいし、フィルター周期情報に基づいて適応的に変化させてもよい。ただし、通過域にFや3Fの周波数が含まれないことが条件となる。
【0079】
また、本実施形態はユーザーの運動状態に応じて適応的にフィルター特性を変更するため、運動開始時(システムの動作開始時)には所与のフィルター特性を決定しておく必要がある。これは固定値であってもよいが、実行する運動がわかるのであれば(例えば短距離をダッシュするのか、長距離をジョギングするのか等)、運動に合わせて値を変更することが望ましい。初期値が適切に設定されれば、その後のフィルター特性は本実施形態の手法により適応的に設定することができる。
【0080】
制御部130でのフィルター特性の変更は、ステップごと(一歩ごと)に行なってもよいし、特定歩数ごとに行なってもよい。ステップごとに行えば、ステップ周波数の変化に高速で対応することが可能になる。また、特定歩数ごと(例えば10歩ごと)に行えば、制御部130での処理の頻度を低くすることができるため、省電力化等が期待できる。また、加速度センサーの装着位置によっては、右足の踏み出し時と左足の踏み出し時とで、ステップ周波数に偏りが生じることが考えられる。そのような場合にはステップごとではなく特定歩数ごと(例えば2歩ごと)に行うとよい。偏りがあるにもかかわらずステップごとに特性変更を行いたいのであれば、処理が煩雑になるが右足用フィルターパラメーターと左足用フィルターパラメーターの2組のパラメーターを用意しておき、踏み出し足に応じて用いるパラメーターを変更してもよい。この場合、右足踏み出し時のステップ周波数を用いて右足用フィルターパラメーターを更新し、左足踏み出し時のステップ周波数を用いて左足用フィルターパラメーターを更新する。
【0081】
4.歩行走行判定
次に、判定部150での歩行走行判定処理について説明する。ここでは単純に、フィルター処理部120でのフィルター処理後の加速度信号(主にステップ周波数の正弦波となる)の信号値に基づいて判定を行う。
【0082】
例えば、加速度のピーク値であるピーク加速度を求め、当該ピーク加速度と閾値との比較処理を行う。第1の閾値をTh1、第2の閾値をTh2(<Th1)とした場合に、ピーク加速度がTh2よりも小さい場合には歩行状態でも走行状態でもないと判定する。これは、停止時に腕を動かした場合等、歩行・走行以外の腕振り動作に相当する。また、ピーク加速度がTh2以上であり、Th1よりも小さい場合には歩行状態と判定する。ピーク加速度がTh1以上の場合には、走行状態と判定する。
【0083】
ここで、Th2としては0.2(G)程度の値が想定され、Th1としては0.5(G)程度の値が想定される。加速度センサーで検出されるセンサー値は、10(G)程度の大きさを持つこともあり得るが、バンドパスフィルター処理により直流成分が除去されるため、閾値は上述の水準の値でよい。
【0084】
また、加速度信号の大きさだけでなく、ステップ検出に関する情報を用いて歩行走行判定を行なってもよい。例えば、本実施形態の状態検出装置を含む電子機器が腕時計型デバイスである場合には、図4に示したように表示部40を備えてもよいため、運動中であってもユーザーが表示部40に表示された情報(その時点での移動距離や移動速度等)を参照する事が考えられる。その際には、腕時計で時間を見るのと同様に、ユーザーの体に対する腕部の相対位置はある程度一定に保たれ、腕振り動作は行われないことが想定される。加速度センサーは腕時計型デバイスに含まれ、腕部に関する加速度信号を取得するのであるから、腕振り動作が行われないと加速度信号の大きさは小さくなってしまう。
【0085】
このような場合であっても、ユーザーが歩行又は走行を行なっているのであれば、それらの運動に起因する加速度は加速度センサーで検出することができる。よって、センサー情報はステップ周波数2Fにピークを持つことになり、上述したステップ検出処理、ステップ周期情報検出処理、及び制御部130でのフィルター特性の変更処理等を変更する必要はない。
【0086】
しかし、ユーザーが走行中に腕時計型デバイスを見た場合、運動としては走行状態が継続されているにもかかわらず、加速度検出値が小さくなってしまい、上述の閾値判定では歩行状態或いは停止状態(走行状態でも歩行状態でもない状態)と判定されてしまう。
【0087】
そこで、このような場合を考慮して、加速度信号値に加えてステップ検出に関する情報(例えばステップ周期)を用いて歩行走行判定を行なってもよい。具体的な手法の一例を示す。なお、ここでは簡単のため歩行状態か走行状態かの判別を行い、停止状態については考慮しないものとする。まず、第1段階の処理として、加速度信号値の大きさを用いた閾値判定を行い、閾値よりも大きい場合には走行状態と判定し、閾値以下の場合には歩行状態と判定する。そして、運動状態が直前の運動状態に対して変化しない場合(走行→走行、歩行→歩行)、及び運動状態が高速な方向へシフトした場合(歩行→走行)については、閾値判定による判定結果をそのまま用いる。上述したように、表示部40を参照することで加速度信号値が小さくなることが問題であるから、加速度信号値が同等或いはより大きい方向へ変化しているのであれば、表示部40の参照は行われていないと考えられるためである。
【0088】
それに対して、運動状態が低速な方向へシフトした場合(走行→歩行)には、運動自体が本当に変化したのか、表示部40の参照が行われているのかを適切に判別する必要がある。そのため、ここでは直前の状態でのステップ周期と、最新のステップ周期の比較処理を行う。例えば、ユーザーの運動自体が走行から歩行へ変化したのであれば、加速度信号値が小さくなるとともにステップ周期も変化するはずである(ユーザーにより変化の方向は異なるが、例えば歩行は走行に比べてステップ周期が長い傾向にあることが多い)。つまり、ステップ周期がある程度変化したのであれば、それは運動自体が変化していると判断し、当初の閾値判定の結果である歩行状態をそのまま用いる。それに対して、ステップ周期の変化が小さいのであれば、同等の運動状態が継続していると考えられるため、加速度信号値の減少は表示部40の参照によるものと判定する。この際には、閾値判定では歩行状態とされたものを、走行状態に修正することになる。
【0089】
なお、単純には運動状態の変化まで考慮しなくてもよい。つまり、歩行状態と判定されたのであれば、それ以前が走行状態であろうと歩行状態であろうとステップ周期に基づく判定処理を行なってしまってもよい。この例については図10のフローチャートを用いて後述する。
【0090】
5.歩幅推定・距離情報算出処理
次に歩幅推定処理及び推定した歩幅等に基づく距離情報算出処理について説明する。本実施形態では平均加速度及び基準情報(基準平均加速度、基準歩幅)に基づいてユーザーの歩幅を推定する。
【0091】
5.1 平均加速度
まず、本実施形態の歩幅推定に用いられる平均加速度について説明する。平均加速度とは、所与の期間における加速度信号値の平均値に相当する。具体的には、フィルター処理部120でのフィルター処理後の加速度検出値と、ステップ検出部140からのステップ検出情報(パルス信号等)に基づいて、平均加速度算出部162において平均加速度を算出する。
【0092】
詳細について図7を用いて説明する。なお、図7の横軸は時間を表す。図7のステップ検出とは、ステップ検出部140においてステップが検出されたタイミングに対応し、例えば平均加速度算出部162がステップ検出部140からのパルス信号を受け取ったタイミングである。n−1、n、n+1等はステップの検出回数の相当し、例えばnはn回目のステップ検出タイミングとなる。1回のステップ検出がユーザーの一歩に対応することから、ステップ検出のレートは1秒あたり1〜2回程度であるのに対して、加速度センサーからのセンサー情報取得レートはこれよりも高いことが想定される。従って、フィルター処理部120からの加速度検出値の出力レートもステップ検出に比べて高レートとなり、その出力タイミングは図7における加速度検出値の1つ1つの線に対応する。
【0093】
平均加速度とは、1つ前のステップ検出から対象となるステップ検出までの時間におけるフィルター処理後の加速度検出値の平均値である。つまり、加速度検出値の大きさをf(s)、第n−1のステップ検出から第nのステップ検出までの時間をTnとすると、第nのステップ検出に対応する平均加速度Anは下式(9)で表される。
【0094】
【数1】
【0095】
5.2 キャリブレーション
また、本実施形態の歩幅推定では、平均加速度の基準である基準平均加速度と、歩幅の基準である基準歩幅を用いる。基準平均加速度及び基準歩幅は、所与の値を用いてもよい。しかし、平均加速度及び歩幅はユーザーが異なれば基準的な値が変わってくるし、同一ユーザーであっても運動状態(歩行かジョギングかダッシュか等)により変わってくることを考えると、実際に歩行・走行を行なって得られた値に基づいて決定されることが望ましい。つまり、実際に歩行・走行を行なって基準平均加速度、基準歩幅を取得するキャリブレーションを行うとよい。なお、本実施形態の歩幅推定処理では、図3に示したように基準情報取得時の運動状態(走行速度)と、歩幅推定・距離算出時の運動状態とが変化したとしても、精度の高い歩幅推定・距離算出が可能である。よって、キャリブレーションでの運動は、本質的にはその後想定される歩幅推定時の運動と同等のものであることが望ましいが、必ずしもそのようにする必要はなく、ある程度異なる運動状態でのキャリブレーションであってもよい。
【0096】
キャリブレーションの一例を示す。モードをキャリブレーションモードに設定した上で、ユーザーは既知の距離D(例えば400mトラックを1周するのであればD=400mは既知である)を歩行(走行)するとともに、距離Dを入力する。歩行・走行により、加速度検出値が取得されるとともに、ステップが検出される。さらに、ステップカウント部144ではステップ検出の回数であるステップカウント数N(歩数)もカウントされる。
【0097】
上述したように、1回のステップ検出ごとに平均加速度が算出されることになるため、N回のステップ検出により、平均加速度算出部162では上式(9)に基づいてN個の平均加速度(A1〜AN)が取得されることになる。なお、0回目のステップ検出時とは基準情報取得期間(例えばD=400mの歩行・走行の開始から終了までの期間)の開始時とすればよい。D、N、A1〜ANが与えられれば、基準歩幅NS及び基準平均加速度NAは下式(10)、(11)で表される。
【0098】
【数2】
【0099】
【数3】
【0100】
つまり、基準歩幅NSは移動距離Dと歩数Nの除算で求められるし、基準平均加速度NAはA1〜ANの平均値として求められる。
【0101】
5.3 歩幅推定・距離情報算出
本実施形態では、歩幅推定・距離情報算出処理は、当該処理よりも前に取得された基準情報(基準平均加速度・基準歩幅)を用いて行われる。歩幅推定部160での歩幅推定処理は、ステップ検出ごとに当該ステップに対応する歩幅を推定することになる。ステップに対応する歩幅の推定は、事前に取得されたNA及びNSと、当該ステップに対応する平均加速度Anに基づいて行われる。具体的には、処理開始時から数えてn回目のステップ検出(n歩目の歩行)での平均加速度をAn、その際の推定歩幅をSnとした場合に、Snは下式(12)で与えられる。
【0102】
【数4】
【0103】
ここでCは個人や走行状態に応じて決定される係数である。つまり、推定歩幅は基準平均加速度に対する平均加速度の比と、基準歩幅の積から求めることができる。
【0104】
距離情報算出部170での距離情報算出処理は、推定歩幅の総和を取ればよい。本実施形態では1歩ごとの歩幅(つまり1歩ごとの移動距離)が推定されるのであるから、全移動距離は推定された歩幅の総和に他ならない。なお、距離情報算出処理は判定部150での判定結果に基づいて、処理を変更してもよい。例えば、走行状態と判定された場合には、歩幅推定部160での推定結果を用いて距離情報を算出し、歩行状態と判定された場合には、所与の固定値を歩幅として距離情報を算出してもよい。これは、走行に比べて歩行は安定した動作であり、歩幅の変動が小さいため、固定値を用いても大きな問題とならないためである。
【0105】
5.4 変形例1(キャリブレーションの変形例)
なお、キャリブレーションの手法は上述したものに限定されない。上述の例では、キャリブレーションを行うことは事前にわかっており、キャリブレーション動作時には歩幅推定・距離情報算出を行うことを想定していない。例えば、本実施形態の状態検出装置を搭載した商品を購入して最初に使用する時等、基準情報を保持していない場合には上述のキャリブレーションが行われる。
【0106】
しかし、基準情報をすでに保持しているのであれば、歩幅推定・距離情報算出を行いつつ、キャリブレーションを行うことも可能である。上述したように、キャリブレーション時でなくても、歩幅推定のためには平均加速度を算出することになる。また、ステップ検出も必須であるからステップカウント数Nの算出も行われることが想定される。つまり、キャリブレーションではない通常の使用時でも、A1〜AN、Nは取得されているのであるから、あとは移動距離Dがわかれば基準平均加速度、基準歩幅は算出できることになる。
【0107】
本実施形態の手法では、歩幅推定に基づく距離情報算出により移動距離が推定できるため、基本的には未知の距離を歩行・走行することが考えられる(例えば公道でのジョギング等)。しかし、本実施形態の状態検出装置を搭載したデバイスでは移動速度や歩数等、他の情報も提示できることに鑑みれば、既知の距離を走行・歩行する(例えばトラックを走る等)場合にも、当該デバイスを装着することは十分考えられる。
【0108】
そのような場合には、ユーザーは走行・歩行の終了後、自身の移動距離Dをデバイスに入力することで、キャリブレーションを行うことができる。上述したように、運動時に平均加速度A1〜AN及びステップカウント数Nが取得されているため、入力されたDを用いれば上式(10)(11)から基準平均加速度と基準歩幅が算出できるためである。
【0109】
5.5 変形例2(基準距離情報を取得する場合の歩幅推定・距離情報算出)
本実施形態の状態検出装置とともに、基準距離情報を取得する外部機器を用いてもよい。基準距離情報とは、ユーザーの移動距離に関する情報であり、本実施形態の歩幅推定に基づく距離情報算出に比べて、値の正確性が高いものを想定している。外部機器としては、例えばGPS等が考えられる。
【0110】
GPSを用いることで、ユーザーの位置情報を取得することができるため、当該位置情報の変化に基づいてユーザーの移動距離を算出することが可能である。GPSを用いることで正確な距離情報の算出が可能になるが、GPSによる距離情報算出だけでは、あるタイミングでGPS信号を取得してから、つぎのGPS信号の取得タイミングの間では、距離情報が全く更新されなくなる。つまり、移動距離の算出を詳細に行うためには、GPSからの信号を高頻度で取得する必要がある。しかし、一般的にGPSは消費電力が大きいという問題があり、高頻度で信号を取得するのではデバイスの稼働時間が短くなってしまう。特に従来の腕時計に本実施形態の状態検出装置を組み込む場合、腕時計は数千〜数万時間の連続稼動が求められるものであるから、GPS等の動作による消費電力は無視できない問題となる。
【0111】
そこで、本実施形態の手法を補助的に用いることでこの問題を解決することが考えられる。つまり、GPSの信号取得レートを低く設定することで、消費電力の低減を図る。それに伴い、GPS信号を得られない期間(つまり、このままでは移動距離が更新されない時間)が長くなるため、当該期間では本実施形態の手法により移動距離を算出する。
【0112】
具体的には、GPS信号を取得する第1のタイミングを基準とし、当該第1のタイミングよりも前にNS及びNAを取得しておく。そして、第1のタイミングから、次のGPS信号取得タイミングである第2のタイミングの間で、加速度検出値を取得し上式(9)、(12)に基づいて移動距離を算出する。
【0113】
具体例を図8に示す。図8の横軸は時間を表し、GPS信号の取得タイミングと、ステップ検出タイミングを示したものである。なお、図8では説明を簡単にするために、GPS信号の取得タイミングは、ステップ検出タイミングの1つと一致するものとして記載したが、このようにはならないことのほうが一般的である。
【0114】
まず、時刻T1においてGPS信号を取得し、T1以前のGPS信号との比較処理等を行うことで、基準位置(例えば歩行・走行開始時の位置)からの移動距離を表す基準距離情報D1を算出する。次のGPS信号はT2まで取得できないため、T1〜T2の期間では歩幅推定に基づく距離情報算出を行う。T1及びt1でステップが検出されたとすれば、その間の加速度検出値に基づいて、上式(9)(12)よりT1〜t1の一歩に相当する歩幅d1を算出できる。そうすれば、時刻t1での基準位置からの移動距離はD1+d1として算出可能である。同様にt1の次にt2でステップが検出されたとすれば、上述の手法でt1〜t2の歩幅d2が算出され、移動距離はD1+d1+d2として求められる。以下T2までは、D1+Σdを移動距離とすればよい。
【0115】
そして、T2において次のGPS信号が取得されたら、過去のGPS信号等を用いて、T2での基準位置からの移動距離を表す基準距離情報D2を算出する。ここではGPS信号に基づく移動距離情報算出のほうが正確性に勝るものとしているため、GPS信号が得られた時点で、それまでの歩幅推定に基づく移動距離はリセットするものとする。図8の例で言えば、時刻T2での基準位置からの移動距離として「D1+Σd」及び「D2」の2つを考えることができるが、より正確なD2を採用することとなる。
【0116】
また、T2からT3の間では、歩幅推定に基づいてD2からの差分値を求めて、移動距離情報算出をすればよく、T3でGPS信号が取得されたら、D3を移動距離とする。それ以降についても同様である。
【0117】
5.6 変形例3(基準平均速度による例)
以上では平均加速度及び基準平均加速度を用いた処理について説明した。しかし、本実施形態の手法はこれに限定されるものではなく、平均速度及び基準平均速度を用いてもよい。
【0118】
具体的には、バンドパスフィルター処理後の加速度信号f(s)が取得されれば、加速度信号のサンプリング周期をdtとすることで、タイミングsでの速度信号g(s)は下式(13)で与えられる。
【0119】
【数5】
【0120】
これにより加速度信号f(s)と同じタイミングにおいて、速度信号g(s)を取得することができる。よって、上式(9)と同様に下式(14)により平均加速度Vnを求めることができる。
【0121】
【数6】
【0122】
基準平均速度は、上式(11)と同様に下式(15)で表されるため、歩幅は上式(12)と同様に下式(16)で求められる。
【0123】
【数7】
【0124】
【数8】
【0125】
6.詳細な処理
上述した各処理の詳細について図9〜図12を用いて説明する。
【0126】
6.1 フィルター適応化処理
フィルター適応化処理の詳細について図9を用いて説明する。この処理が開始されると、まず歩行或いは走行が終了されたかの判定が行われる(S101)。これは処理の終了条件であり、Yesの場合にはフィルター適応化処理が終了されることになる。S101でNoの場合には、加速度センサーからのセンサー信号(3軸の加速度センサーであればx,y,zの3つのセンサー信号)を取得する(S102)。
【0127】
取得したセンサー信号を合成し(例えばx,y,zの二乗和の平方根を求め)合成加速度を算出する(S103)。算出した合成加速度に対してローパスフィルター処理を行うことで、着地の衝撃による加速度成分を除去する(S104)。
【0128】
そして、ローパスフィルター処理後の信号に対して、予め設定された特性を有するバンドパスフィルターを用いてバンドパスフィルター処理を行う(S105)。バンドパスフィルター処理後の信号に基づいて、ユーザーの歩行に対応するステップを検出したか否かの判定を行い(S106)、ステップが検出されなかった場合にはS101に戻り、センサー信号の取得とフィルター処理を繰り返す。S106においてステップが検出された場合には、ステップ周期を算出し(S107)、算出したステップ周期に基づいてバンドパスフィルターの特性を変更する(S108)。具体的には、上述したように最新のステップ検出と1つ前のステップ検出の間に相当する時間をステップ周期とし、当該ステップ周期の逆数であるステップ周波数が中心周波数となるようにバンドパスフィルターの周波数特性を変更すればよい。
【0129】
なお、図9では1回のステップ検出ごとにバンドパスフィルターの特性を変更しているが、複数回のステップ検出ごとにバンドパスフィルターの特性を変更してもよい。
【0130】
6.2 歩行走行判定処理
歩行走行判定処理の詳細について図10を用いて説明する。この処理が開始されると、まずフィルター処理後の加速度検出値のピーク値(加速度ピーク値)を検出する(S201)。これは加速度検出値の時間変化波形における上ピーク或いは下ピークを検出するものであるが、図10のフローチャートでは上ピークであるものとする(下ピークを用いるのであれば、ピーク値が負の値になることが想定されるため符号を反転する、或いは絶対値を取る必要がある)。
【0131】
そして、加速度ピーク値が検出されたタイミングに対応するステップ周期T1と、当該タイミングよりも過去のタイミングに対応するステップ周期T2を取得する(S202)。T1及びT2は、ステップ検出部140でのステップ検出に基づいて、判定部150で算出してもよいし、ステップ周期情報検出部142で検出した値を判定部150が取得してもよい。また、T2は具体的にはT1の1つ前のタイミングでのステップ周期に相当するが、これに限定されず、過去数ステップの値を用いて算出されてもよい。
【0132】
歩行走行判定は、まず加速度ピーク値に基づく判定から行う。加速度ピーク値を閾値Th1(例えば0.5G)と比較し、Th1以上であれば走行状態と判定し(S204)、処理を終了する。
【0133】
また、加速度ピーク値がTh1より小さい場合(S203でNoの場合)には、Th2<Th1を満たす閾値Th2(例えば0.2G)との比較を行う(S205)。加速度ピーク値がTh2よりも小さい場合には停止状態と判定し(S208)、処理を終了する。
【0134】
加速度ピーク値がTh1よりも小さく、かつTh2以上の場合には、S202で取得したステップ周期T1,T2を用いた判定を行う。具体的には、T2に対するT1の変動が所与の閾値以内に収まっているか否かの判定を行う。例えば、許容変動を10%とすれば、T1/T2が0.9〜1.1の範囲にあるかの判定を行えばよい(S206)。
【0135】
ステップ周期の変動が小さい場合(S206でYesの場合)には、実際の運動状態は走行状態に相当するのに、腕時計型デバイスの表示部40を参照すること等により腕振りが行われずに加速度ピーク値が小さくなったものと判断し、S204に移行し、走行状態と判定し処理を終了する。また、ステップ周期の変動が大きい場合(S206でNoの場合)には、加速度ピーク値は腕時計型デバイスの参照等の影響を受けていない(つまり運動状態の変化により加速度ピーク値は小さい値を取った)と判断し、歩行状態と判定して(S207)、処理を終了する。
【0136】
6.3 歩幅推定・距離情報算出処理
歩幅推定・距離情報算出処理の詳細について図11を用いて説明する。図11は歩行・走行の開始から終了までの処理に相当する。この処理が開始されると、まず基準平均加速度NA及び基準歩幅NSを取得する(S301)。NA,NSは上述したとおり、現在の処理よりも前のタイミングにおいて基準情報取得部164により取得されていた値を用いるものとする。
【0137】
次に加速度検出値f(s)を取得する。f(s)はフィルター処理部120でバンドパスフィルター処理が施された後の加速度検出値であり、例えば加速度センサーのセンサー情報取得レートに相当するレートで取得される。つまり、一般的にステップ検出部140でのステップ検出レートに比べて高いレートとなる。そして、f(s)の累和を求める(S303、図11では累和を表す変数がFである)。
【0138】
そして、ステップが検出されたかの判定を行い(S304)、ステップが検出されない場合には、S302に戻りf(s)の取得と累和が繰り返される。なお、S312で後述するようにステップ検出後にはFの初期化が行われるため、Fはあるステップ検出から次のステップ検出までの期間での加速度検出値f(s)の総和に相当することになる。
【0139】
ステップが検出された場合には、1つ前のステップ検出から当該ステップ検出までの時間Tを取得する。ここでTはステップ周期に相当するものである。
【0140】
そして、最新のステップに対応する平均加速度AをA=F/Tとして求める(S306)。S303及びS306での処理は、上述した式(9)に相当する。さらに、歩行・走行の開始時からの平均加速度の累和であるAΣを算出するとともに(S307)、ステップカウント数(歩数に対応)を表す変数Nをインクリメントする(S308)。
【0141】
その後、最新のステップに対応する歩幅Sを上述した式(12)から求め(S309)、歩行・走行開始時からの歩幅Sの累和であるSΣを算出する(S310)。
【0142】
S310までの処理により、種々の情報が取得されるため、このタイミングで表示部40に表示する等の処理を行なってもよい(図11には不図示)。例えば、歩数を表すN、歩行・走行開始時からの移動距離を表すSΣ等を表示することが考えられる。
【0143】
そして、歩行・走行が終了したかの判定を行い(S311)、終了しない場合には、Fを初期化した上で(S312)、S302に戻る。Fは隣接ステップ間での加速度検出値の総和を表すため、S312において初期化が必要となる。それに対して、N,AΣ,SΣは歩行・走行開始時からの累和に意味がある値であるため、初期化は必要ない。なお、A,Sはステップごとに取得される値であるため、S312のタイミングで初期化されてもよいが、S306,S309で上書き処理が行われるため、必ずしも初期化の必要はない。
【0144】
S311で歩行・走行が終了したと判定された場合には、キャリブレーションを実行するか否かの判定を行う(S313)。キャリブレーションを行わない場合には、処理を終了する。キャリブレーションを行うのであれば、歩行・走行での正確な移動距離Dを取得し(S314)、上述した式(10)(11)から基準平均加速度NAと基準歩幅NSを取得する(S315)。ここで取得したNA,NSは次回以降の歩行・走行時に用いられることになる。
【0145】
なお、正確な歩幅推定(及び距離情報算出)を行うためには、キャリブレーション時に用いるデータはできるだけ正確である必要がある。よって、図11ではSΣが推定移動距離となるが、SΣはあくまで推定値であり正確性が担保されていないため、S314で取得するDとしてSΣを用いることは想定していない。Dは例えばユーザーが自身にとって既知の距離を入力することになる。
【0146】
6.4 歩幅推定・距離情報算出処理の変形例
歩幅推定・距離情報算出処理の変形例について図12を用いて詳細に説明する。図12は何らかの手段により基準となる移動距離(基準距離情報)が取得できる場合の例であり、例えばGPS信号を取得する場合に相当する。
【0147】
S401〜S404についてはS301〜S304でと同様であるため詳細な説明は省略する。また、S404においてYesの場合のS405〜S412の処理は、S304においてYesの場合のS305〜S312での処理と同様である。
【0148】
S411でYes、つまり歩行・走行が終了された場合には、図11のフローチャートと異なりキャリブレーションに関する処理は行われずに処理が終了する。
【0149】
S404でステップが検出されなかった場合には、基準距離情報D(例えばGPS信号に基づく距離情報)が取得されたか否かの判定が行われる(S414)。取得されなかった場合には、S402に戻る。Dが取得された場合には、当該Dは前回の基準距離情報取得時からの移動距離を表すものであり、かつ歩幅推定に基づく距離情報算出等の手法に比べて正確性が高い。よって、取得したD及び、その時点での(正確には前回の基準距離情報の取得時から現在までの)ステップカウント数N、平均加速度の累和AΣを用いて、キャリブレーションを行うことができる(S415)。
【0150】
図12のフローチャートでは、基準距離情報の取得ごとにキャリブレーションを行うこととなっているため、次回のキャリブレーションに影響を与えないために必要な変数について初期化を行い(S416)、S402に戻る。
【0151】
この例では、明示的にキャリブレーションの指示等がなかったとしても、適宜キャリブレーションを行うことができる。また基準距離情報は、歩幅推定に基づいて算出された距離情報に比べて信頼性が高いことを想定しているため、基準距離情報が取得されたタイミングでは、取得した基準距離情報に基づいて移動距離を求める(詳細は図8を用いて上述したとおりである)。そして、基準距離情報が取得されない期間において、基準距離情報に対する差分値を求める処理として、歩幅推定に基づく距離情報算出を行う。つまり、S407のAΣ、S408のN、S410のSΣは基準距離情報取得時にリセットされる。よって、歩行・走行の開始時から終了時までの値が必要であれば、各値を保持しておく別の変数を用意しておかなければならない(歩数に相当するNについては必要であることが想定される)。
【0152】
6.5 処理の詳細
以上の本実施形態では、状態検出装置100は、図5に示したように加速度センサー10からの加速度検出値を取得する取得部110と、加速度検出値に基づいて所与の期間ごとの平均加速度を算出する平均加速度算出部162と、基準平均加速度及び基準歩幅を取得する基準情報取得部164と、歩幅を推定する歩幅推定160とを含む。歩幅推定部160は、基準平均加速度と平均加速度の比、及び基準歩幅に基づいて歩幅を推定する。なお、ステップ検出部140でステップが検出されたタイミングに基づいて上記所与の期間を設定し、設定した所与の期間ごとに平均加速度を算出してもよい。
【0153】
ここで、所与の期間とは、あるステップ検出タイミングから次のステップ検出タイミングまでの期間(1ステップ)であることが望ましい。このようにすれば、歩幅として1ステップ(1歩の歩行)での移動距離を求めることができ、移動距離を細かく推定していくことができるためである。ただし、複数ステップごとに平均加速度を求め、複数ステップ単位での移動距離を推定することを妨げるものではない。
【0154】
また、平均加速度とは、上記所与の期間での加速度検出値の平均値に相当する。具体的には図7を用いて説明したとおりであり、上式(9)に対応する。なお、上式(9)では、所与の期間での加速度検出値の数ではなく、当該所与の期間を表す時間間隔Tnで除算をしている。これは、ステップ検出等とは異なり、加速度検出値は一定の間隔で取得することが想定されるためである。また、基準平均加速度とは平均加速度の基準となる情報であり、基準歩幅とは歩幅の基準となる情報である。
【0155】
具体的には、第1〜第M(Mは2以上の整数)の期間を設定し、第i(1≦i≦M−1)の期間は第i+1の期間よりも時間的に前の期間とする。その場合、本実施形態の状態検出装置100は、第iの期間よりも前の期間において、基準平均加速度及び基準歩幅を取得する基準情報取得部164と、第iの期間での加速度センサー10からの加速度検出値を取得する取得部110と、加速度検出値に基づいて第iの期間に含まれる所与の期間ごとの平均加速度を算出する平均加速度算出部162と、第iの期間での歩行又は走行に対応する歩幅を推定する歩幅推定部160とを含む。歩幅推定部160は、基準平均加速度と平均加速度の比、及び基準歩幅に基づいて歩幅を推定する。第1〜Mの各期間は、キャリブレーションの開始から終了までの期間、或いは歩幅推定対象となる運動の開始から終了までの期間に相当する。また、上述したように、1つの期間において歩幅推定とキャリブレーションの両方が行われてもよい。
【0156】
これにより、平均加速度、基準平均加速度及び基準歩幅に基づいた歩幅推定処理が可能になる。具体的には、基準平均加速度と平均加速度は、比の形で用いる。つまり、基準平均加速度に対して平均加速度の変動が大きいか小さいか、また変動の方向はどちらであるかに応じて、推定する歩幅の値が変化することになる。また、比に応じて推定する歩幅を変化させる際には、基準となる変化前の値が設定されていることが望ましく、本実施形態では基準歩幅を用いるものとする。ピッチを基準に歩幅を推定していた従来例では、ピッチが歩幅と線形でない等の要因により、推定した歩幅の精度が低かったが、本実施形態の手法によれば図3に示したように、精度の高い歩幅推定を行うことができる。
【0157】
また、状態検出装置100は、図5に示したようにステップ検出部140を含んでもよい。そして、基準情報取得部164(狭義には基準情報取得部164に含まれる基準歩幅算出部168)は、入力距離情報と、基準情報取得期間でステップ検出部140が検出したステップ数とに基づいて、基準歩幅を取得する。なお、入力距離情報はユーザー入力情報であってもよいし、外部データであってもよい。また、図5等の説明では、ステップ検出部140はステップの検出を行うものであり、ステップ数の検出はステップカウント部144で、ステップ周期の検出はステップ周期情報検出部142で、それぞれ行われるものとしていた。しかし、これらの各部は独立である必要はなく、広義のステップ検出部として1つのブロックで構成されてもよい。以降の説明ではステップ検出部140は広義のステップ検出部であるものとし、ステップの検出だけではなく、ステップ数及びステップ周期情報の検出も行なうものとする。
【0158】
なお、本実施形態のステップ検出部140は、ユーザーの走行又は歩行のステップ等を検出してもよい。つまり、本実施形態の状態検出装置100は、走行又は歩行のステップ数を少なくとも検出する(例えば、走行又は歩行のステップ、ステップ数及びステップ周期情報を検出する)ステップ検出部140を含み、基準情報取得部164は、入力距離情報と、基準情報取得期間でステップ検出部140が検出したステップ数とに基づいて、基準歩幅を取得してもよい。
【0159】
ここで、ステップとは加速度センサー10の装着対象の一単位あたりの動きに対応するものである。例えば、加速度センサー10が人(ユーザー)に装着され、状態検出装置100がユーザーの走行又は歩行のステップ等を検出する場合であれば、ステップとはユーザーの歩行に対応するものであり、ユーザーの一歩の歩行によりステップが1回検出されることになる。また、本実施形態ではステップは走行又は歩行に関するものであることが想定されるが、広義のステップはこれに限定されるものではない。加速度センサー10が乗り物(或いは当該乗り物に乗っているユーザー)に装着される場合であれば、ステップとは当該乗り物の動作において、一単位となる動作に対応する。例えば、乗り物が車であるとすれば、ステップとは搭載されたエンジンの回転に対応することが考えられる。具体的には、タービンを有するガスタービンエンジンであれば、タービンの1回転が1ステップに対応すると考えてもよい。
【0160】
また、基準情報取得期間とは、基準情報を取得するための期間のことであり、例えば歩行・走行の開始時から終了時までの期間であってもよい。入力距離情報とは、ユーザー或いは外部機器等から入力される距離情報のことであり、基準情報取得期間でのユーザーの移動距離に対応する情報である。ステップ数とは、基準情報取得期間において検出されたステップの数を表す。
【0161】
典型的な例としては、キャリブレーション(基準情報の取得)を主目的とした歩行・走行が考えられる。つまり、その際には歩幅推定が行われる必要はない。ユーザーは、キャリブレーションのために既知の距離(例えば800m)を走行し、当該既知の距離を入力距離情報として入力する。この際の基準情報取得期間とは800mの走行を開始してから終了するまでの期間である。
【0162】
これにより、入力距離情報及びステップ数に基づいて基準歩幅を算出することが可能になる。具体的には、入力距離情報をD、ステップ数をNとした場合に、基準歩幅NSは上式(10)で与えられてもよい。つまり、移動距離を歩数で除算することで1歩あたりの移動距離を求め、それを基準歩幅としている。基準歩幅はその後の運動での歩幅推定に用いられるため、適切な値を設定するべきであり、入力距離情報は基準情報取得期間でのユーザーの移動距離を正確に反映していることが望ましい。よって、入力距離情報は、ユーザーが既知の距離を入力するユーザー入力情報であるか、外部機器(例えばGPS等)により得られる正確性の高い外部データであるとよい。
【0163】
また、基準情報取得部164(狭義には基準情報取得部164に含まれる基準平均加速度算出部166)は、基準情報取得期間で取得された平均加速度とステップ数とに基づいて、基準平均加速度を取得してもよい。
【0164】
これにより、平均加速度とステップ数から基準平均加速度を算出することが可能になる。基準情報取得期間とは、歩行・走行の開始から終了までの期間や、外部データ取得タイミングによって決まる期間であることが想定される。よって、基準情報取得期間で検出されるステップ数(歩数)Nは一般的にある程度の大きさであり、少なくとも2以上の整数となる(N=1であることを妨げないが、そのような場合算出される基準情報の信頼性には疑問が残ることになる)。そして、平均加速度は1ステップに1回算出されることが想定されるため、基準情報取得期間ではA1〜ANのN個の平均加速度が取得される。このN、及びA1〜ANに基づいて、平均加速度の基準となりうる情報を求めて基準平均加速度とすればよく、例えば上式(11)に示したように、A1〜ANの平均値を取ればよい。
【0165】
また、歩幅推定部160は、基準平均加速度をNA、基準歩幅をNS、係数をC、所与のタイミングで取得された平均加速度をAnとした場合に、Anが取得されたタイミングに対応する歩幅Snを、Sn=C×(An/NA)×NSにより求めてもよい。
【0166】
これにより、上式(12)に基づいて歩幅を推定することが可能になる。つまり、一旦係数Cを考慮しないものとすれば、平均加速度Anが基準平均加速度NAと一致するときは、歩幅Snは基準歩幅NSと同じになり、AnがNAのk倍であれば、SnもNSのk倍となる。よって、ピッチを用いた従来例においては、ピッチと歩幅が線形ではないため充分な精度が得られなかったが、平均加速度を用いることにより、線形性を有する容易な演算により歩幅を推定することが可能になる。なお、Cは運動状態や個人差によって決まる係数であり、Cを適切に設定することで更なる精度向上を図ることができる。
【0167】
また、基準情報取得部164は、信号値取得期間での平均加速度及びステップ数に基づいて基準平均加速度候補を求めてもよい。そして、基準情報取得指示があった場合には、基準平均加速度候補を基準平均加速度として取得する。その際、取得された基準平均加速度は、基準情報取得指示に基づいて取得される信号値取得期間での基準歩幅との対応付けがされることになる。なお、基準情報取得指示の際には、基準情報取得部164は信号値取得期間での走行・歩行の移動距離を表す基準距離情報を取得する。基準距離情報はユーザー入力情報であってもよいし、外部データであってもよい。
【0168】
ここで、信号値取得期間とは、信号値(狭義には加速度センサーのセンサー情報)を取得する期間のことであり、例えば歩行・走行の開始から終了までの期間である。基準情報取得指示とは、基準情報の取得を求める指示のことであり、ユーザーが操作部50を操作することにより行われてもよいし、外部機器からの信号に基づいて行われてもよい。基準情報取得指示は、信号値取得期間でのユーザーの移動距離に対応する基準距離情報の入力を伴うことが想定される。
【0169】
これにより、歩幅推定を主目的として取得した平均加速度に基づいて、基準情報を取得することが可能になる。本実施形態の状態検出装置100の典型的な使用例としては、まず基準情報取得期間での運動で歩幅推定を伴わないキャリブレーションを行い、基準情報を取得し、取得した基準情報を用いて以後の運動(各運動は信号値取得期間で行われる)において歩幅推定を行う(その際はキャリブレーションを伴わない)ものが考えられる。もし基準情報を更新したい場合には、再度歩幅推定を伴わないキャリブレーションを行う。つまり、キャリブレーションと歩幅推定は排他的に行われることが典型例となる。
【0170】
しかし、上述したように、歩幅の推定においても平均加速度(A1〜AN)の算出は行われるし、ステップ検出に伴いステップ数Nの取得も行われる。つまり、キャリブレーションを目的としない運動であっても、上式(11)によりNAを算出することが可能である。通常の運動では、当該運動での移動距離Dが取得されないため、上式(10)を用いた基準歩幅の算出ができないことになり、NAが算出できてもさほど意味はない。基準歩幅と基準平均加速度とは同じ期間での運動に基づいて、対応付けて取得されるべきだからである。しかし、裏を返せばDさえ取得できるのであれば、歩幅推定を目的とした運動においてもキャリブレーションを行うことができるということになる。つまり、目的がキャリブレーションでなくても、NAを毎回算出しておき基準平均加速度候補としておく。そして、基準情報取得指示を受け、基準距離情報Dが入力された場合には、DとNに基づき基準歩幅を算出するとともに、基準平均加速度候補を基準平均加速度として採用すればよい。このようにすれば、歩幅推定とキャリブレーションの両方を1回の運動で行うことが可能になる。
【0171】
なお、本実施形態では、キャリブレーションを主目的とする運動での処理期間を基準情報取得期間とし、基準情報取得期間での精度の高い移動距離を入力距離情報としている。一方、歩幅推定を主目的とする運動での処理期間を信号値取得期間とし、信号値取得期間での精度の高い移動距離を基準距離情報としている。つまり、運動の目的に応じて用語を使い分けているが、基準情報取得期間と信号値取得期間、入力距離情報と基準距離情報の持つ物理的な意味については、差異はほとんどないといってもよい。
【0172】
また、状態検出装置100は、加速度検出値に対してバンドパスフィルター処理を行うフィルター処理部120と、バンドパスフィルター処理のフィルター特性を変化させる制御部130を含んでもよい。そして、ステップ検出部140は、バンドパスフィルター処理後の加速度検出値に基づいてステップ周期を検出する。制御部130は、ステップ検出部140において検出されたステップ周期に基づいて、バンドパスフィルター処理のフィルター特性を変化させる。
【0173】
これにより、取得部110が取得した加速度検出値に対して、適切にフィルター処理を施すことが可能になる。さらに、ステップ周期に基づいて適応的にフィルター特性を変化させることも可能になる。図1に示したように、加速度検出値にはステップ周波数に対応する周波数以外にもピークが存在し、それらの成分は処理の妨げとなる。よって、ステップ周波数を通過させ、他のピークを非通過とするフィルター処理を行うことで、その後の処理を容易にできる。ただし、ステップ周波数は運動状態(具体的にはユーザーの歩行・走行ピッチ)に応じて変化してしまうため、運動状態の変化に追随してフィルターの特性も変化させるとよい。なお、フィルターの通過・非通過とは、カットオフ周波数により決定されてもよい。バンドパスフィルターであれば、カットオフ周波数を上限値、下限値とする通過帯域を設定し、当該通過帯域に含まれる周波数は通過、それ以外の周波数を非通過と定義できる。
【0174】
また、状態検出装置100は、図5に示したように歩幅推定部160により推定された歩幅に基づいて、走行又は歩行の距離を算出する距離情報算出部170を含んでもよい。
【0175】
これにより、推定された歩幅に基づいて、ユーザーの移動距離を算出することが可能になる。例えば、歩幅が1歩ごとに推定されるのであれば、当該歩幅の累和を求めればよい。また、平均加速度がM(Mは2以上の整数)ステップごとに算出される等の要因により、Mステップごとに1歩あたりの歩幅が推定されるのであれば、算出された歩幅とMの積を取ることで移動距離を求めることができる。
【0176】
また、状態検出装置100は、加速度検出値に基づいて、ユーザーの運動状態が走行状態か歩行状態かを判定する判定部150を含んでもよい。そして、距離情報算出部170は、走行状態と判定された場合には歩幅推定部160で推定された歩幅に基づいて距離情報を算出する。また、歩行状態と判定された場合には所定歩幅に基づいて距離情報を算出する。
【0177】
ここで、判定部150での判定は、走行状態或いは歩行状態のどちらか一方であるという判定に限定されず、走行状態でも歩行状態でもない第3の状態であるという判定を行なってもよい。
【0178】
これにより、走行状態と歩行状態とで、距離情報の算出に用いる歩幅を変えることが可能になる。走行状態では、歩行状態に比べて激しい運動であるため、歩幅は激しく変動することが想定される。よって、そのような変動に対応するためにも、歩幅は歩幅推定部160での推定結果を用いるとよい。それに対して、歩行状態は比較的緩やかな運動であるから歩幅の変動は小さい。よって、所定歩幅を用いて距離情報を算出したとしても問題は生じにくいと考えられる。このようにすることで、歩行状態と判定された場合には歩幅推定処理を行う必要がなくなるため、処理負荷を軽減することが可能になる。
【0179】
また、以上の本実施形態は上述した状態検出装置100を含む電子機器に適用してもよい。
【0180】
これにより、図4に示したような状態検出装置100を含む電子機器を実現することが可能になる。電子機器としては典型的には、上述してきた腕時計型デバイスが考えられる。腕時計型デバイスは、図4に示したように状態検出装置100、加速度センサー10の他、表示部40等を含んでもよい。図4では外部のホストコンピューターとの通信を考慮して通信部30を設けているが、通信を行わない(或いは頻度が低い)のであれば、基本的に腕時計型デバイス内ですべての処理を行うことができる。
【0181】
また、以上の本実施形態は、加速度センサー10からの加速度検出値を取得する取得部110と、加速度検出値に基づいて所与の期間ごとの平均加速度を算出する平均加速度算出部162と、基準平均加速度及び基準歩幅を取得する基準情報取得部164と、歩幅を推定する歩幅推定160としてコンピューターを機能させるプログラムにてきようしてもよい。その際、歩幅推定部160は、基準平均加速度と平均加速度の比、及び基準歩幅に基づいて歩幅を推定する。
【0182】
これにより、上述してきた状態検出装置100と同様の処理をプログラムにより実現することが可能になる。そして、上記プログラムは、情報記憶媒体に記録される。ここで、情報記録媒体としては、DVDやCD等の光ディスク、光磁気ディスク、ハードディスク(HDD)、不揮発性メモリーやRAM等のメモリーなど、システムによって読み取り可能な種々の記録媒体を想定できる。例えば、図13のシステム(CPUやGPU等により実現される処理部70を含む電子機器等)では、プログラムは情報記憶媒体60に記憶され、処理部70により読み出されて処理が行われることになる。また、図13から加速度センサー10を除いた構成として、ユーザーが装着する加速度センサー10とは別体のシステム(例えばPC等)を考えた場合に、プログラムは当該システムに含まれる情報記憶媒体60に記憶されてもよい。PC等の場合、ユーザーが装着することは一般的に想定されないため、別体として構成された加速度センサー10から無線通信等によりセンサー情報を取得し、当該センサー情報に対して、情報記憶媒体60に記憶されたプログラムに基づいて処理部70(CPU等)で処理が行われることになる。
【0183】
また、以上の本実施形態は、加速度センサー10からの加速度検出値を取得する取得部110と、加速度検出値に基づいて所与の期間ごとの平均速度を算出する平均速度算出部と、基準平均速度及び基準歩幅を取得する基準情報取得部164と、歩幅を推定する歩幅推定160とを含む状態検出装置100に適用してもよい。歩幅推定部160は、基準平均速度と平均速度の比、及び基準歩幅に基づいて歩幅を推定する。
【0184】
また、以上の本実施形態は、加速度センサー10からの加速度検出値を取得する取得部110と、加速度検出値に基づいて所与の期間ごとの平均速度を算出する平均速度算出部と、基準平均速度及び基準歩幅を取得する基準情報取得部164と、歩幅を推定する歩幅推定160としてコンピューターを機能させるプログラムに適用してもよい。歩幅推定部160は、基準平均速度と平均速度の比、及び基準歩幅に基づいて歩幅を推定する。
【0185】
これにより、平均加速度ではなく、平均速度に基づいた処理を行うことが可能になる。具体的には、上式(13)〜(16)に対応する。その他の処理の内容については平均加速度を用いた場合と同様であるため、詳細な説明は省略する。なお、プログラムに適用した場合に、当該プログラムが図13に示した情報記憶媒体60に記憶される点も同様である。
【0186】
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また状態検出装置の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【0187】
10 加速度センサー、20 記憶部、30 通信部、40 表示部、50 操作部、
60 情報記憶媒体、70 処理部、100 状態検出装置、110 取得部、
120 フィルター処理部、130 制御部、140 ステップ検出部、
142 ステップ周期情報検出部、144 ステップカウント部、150 判定部、
160 歩幅推定部、162 平均加速度算出部、164 基準情報取得部、
166 基準平均加速度算出部、168 基準歩幅算出部、170 距離情報算出部
【技術分野】
【0001】
本発明は、状態検出装置、電子機器及びプログラム等に関する。
【背景技術】
【0002】
状態を検出する対象に加速度センサーを装着し、装着した加速度センサーからの加速度値に基づいて、対象の状態を検出する装置等が知られている。例えば、状態検出対象が人であれば、そのユーザーの体に加速度センサーを装着し、ユーザーの状態(例えば歩行しているか走行しているか等の運動状態)を検出する。代表的なものとしては、ユーザーの歩行・走行を検出して、当該歩行等のステップ数をカウントする歩数計が考えられる。また、ユーザーの歩幅を算出することで、移動距離を測定するものもある。
【0003】
従来、距離測定では歩行・走行ステップ(1歩の検出に対応)と、歩幅の積を取ることで距離を推定する手法が提案されてきた。しかし、そのような手法は処理が容易な反面、歩幅の算出精度が悪いと距離測定精度も悪くなってしまう。
【0004】
特許文献1には、ユーザーのピッチに基づいて歩幅を算出することで、距離推定の精度を向上させる手法が提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平7−333000号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1の手法では、ピッチに基づいて歩幅を算出しているが、ピッチと歩幅の関係は線形とはならない上、ユーザーごとの個人差が大きく、歩幅の算出において充分な精度が得られないこともあり、結果として距離推定の精度も充分ではない。
【0007】
本発明の幾つかの態様によれば、平均加速度、基準平均加速度及び基準歩幅に基づく処理を行うことで、歩幅の推定精度を高める状態検出装置、電子機器及びプログラム等を提供することができる。
【課題を解決するための手段】
【0008】
本発明の一態様は、加速度センサーからの加速度検出値を取得する取得部と、前記加速度検出値に基づいて、所与の期間ごとの平均加速度を算出する平均加速度算出部と、基準平均加速度と基準歩幅を取得する基準情報取得部と、前記基準平均加速度に対する前記平均加速度の比、及び前記基準歩幅に基づいて、歩幅を推定する歩幅推定部と、を含む状態検出装置に関係する。
【0009】
本発明の一態様によれば、加速度センサーからの加速度検出値に基づいて平均加速度を取得するとともに、基準平均加速度と基準歩幅を取得する。そして、基準平均加速度に対する平均加速度の比、及び基準歩幅に基づいて歩幅を推定する。平均加速度に基づいた処理を行うことで、歩幅推定の精度を向上させること等が可能になる。
【0010】
また、本発明の一態様では、ステップ検出部を含み、前記基準情報取得部は、入力距離情報と、基準情報取得期間で前記ステップ検出部が検出したステップ数とに基づいて、前記基準歩幅を取得してもよい。
【0011】
これにより、入力距離情報とステップ数に基づいて基準歩幅を取得することが可能になる。
【0012】
また、本発明の一態様では、前記基準情報取得部は、前記基準情報取得期間で取得された前記平均加速度と、前記ステップ数とに基づいて、前記基準平均加速度を取得してもよい。
【0013】
これにより、平均加速度とステップ数に基づいて基準平均加速度を取得することが可能になる。
【0014】
また、本発明の一態様では、前記歩幅推定部は、前記基準平均加速度をNA、前記基準歩幅をNS、係数をC、所与のタイミングで取得された前記平均加速度をAnとした場合に、前記平均加速度Anが取得されたタイミングに対応する前記歩幅Snを、Sn=C×(An/NA)×NSにより求めてもよい。
【0015】
これにより、具体的には上述の式から歩幅を推定することが可能になる。
【0016】
また、本発明の一態様では、前記入力距離情報は、ユーザー入力情報又は外部データであってもよい。
【0017】
これにより、基準歩幅算出に用いる入力距離情報として、ユーザー入力情報又は外部データを用いることが可能になる。
【0018】
また、本発明の一態様では、前記基準情報取得部は、信号値取得期間での前記平均加速度、及び前記信号値取得期間で検出された前記ステップ数に基づいて、基準平均加速度候補を求め、基準情報取得指示があった場合には、前記信号値取得期間での前記基準歩幅に対応付けて前記基準平均加速度候補を前記基準平均加速度として取得してもよい。
【0019】
これにより、信号値取得期間においては基準平均加速度候補を求めておき、基準情報取得指示の有無に基づいて、基準平均加速度候補を基準平均加速度として用いるか否かを決定すること等が可能になる。
【0020】
また、本発明の一態様では、前記基準情報取得部は、前記基準情報取得指示の際に、前記信号値取得期間での前記走行又は前記歩行の基準距離情報を取得してもよい。
【0021】
これにより、基準情報取得指示の際に基準距離情報が取得されるため、基準歩幅を算出すること等が可能になる。
【0022】
また、本発明の一態様では、前記基準距離情報は、ユーザー入力情報又は外部データであってもよい。
【0023】
これにより、基準歩幅算出に用いる基準距離情報として、ユーザー入力情報又は外部データを用いることが可能になる。
【0024】
また、本発明の一態様では、前記平均加速度算出部は、前記ステップ検出部でステップが検出されたタイミングに基づいて設定された前記所与の期間ごとに前記平均加速度を算出してもよい。
【0025】
これにより、ステップ検出タイミングに基づいて平均加速度を算出することが可能になる。
【0026】
また、本発明の一態様では、前記加速度検出値に対してバンドパスフィルター処理を行うフィルター処理部と、前記フィルター処理部での前記バンドパスフィルター処理のフィルター特性を変化させる制御部と、を含み、前記ステップ検出部は、前記バンドパスフィルター処理後の前記加速度検出値に基づいて、ステップ周期情報を検出し、前記制御部は、前記ステップ検出部において検出した前記ステップ周期情報に基づいて、前記バンドパスフィルター処理の前記フィルター特性を適応的に変化させてもよい。
【0027】
これにより、加速度検出値に対してフィルター処理を行うとともに、当該フィルター処理に用いるフィルターの特性をステップ周期に基づいて適応的に変化させること等が可能になる。
【0028】
また、本発明の一態様では、前記歩幅推定部により推定された前記歩幅に基づいて、走行又は歩行の距離情報を算出する距離情報算出部を含んでもよい。
【0029】
これにより、推定した歩幅に基づいて距離情報を算出すること等が可能になる。
【0030】
また、本発明の一態様では、前記加速度検出値に基づいて、走行状態か歩行状態かを判定する判定部を含み、前記距離情報算出部は、前記判定部で前記走行状態であると判定された場合には、前記歩幅推定部で推定された前記歩幅に基づいて前記距離情報を算出し、前記判定部で前記歩行状態であると判定された場合には、所定歩幅に基づいて前記距離情報を算出してもよい。
【0031】
これにより、走行状態か歩行状態かを判定した上で、判定結果に基づいて距離情報算出に用いる歩幅を決定すること等が可能になる。
【0032】
また、本発明の他の態様は、加速度センサーからの加速度検出値を取得する取得部と、前記加速度検出値に基づいて、所与の期間ごとの平均速度を算出する平均速度算出部と、基準平均速度と基準歩幅を取得する基準情報取得部と、前記基準平均速度に対する前記平均速度の比、及び前記基準歩幅に基づいて、歩幅を推定する歩幅推定部と、を含む状態検出装置に関係する。
【0033】
また、本発明の他の態様は、上記のいずれかに記載の状態検出装置を含む電子機器に関係する。
【0034】
また、本発明の他の態様は、上記の各部としてコンピューターを機能させるプログラムに関係する。
【図面の簡単な説明】
【0035】
【図1】加速度検出値の周波数特性例を説明する図。
【図2】フィルター処理前とフィルター処理後の加速度検出値の波形図。
【図3】従来手法と本実施形態の手法による距離算出精度の差を説明する図。
【図4】本実施形態の状態検出装置を含む電子機器等のシステム構成例。
【図5】本実施形態の状態検出装置のシステム構成例。
【図6】フィルター処理に用いるフィルターの構成例。
【図7】平均加速度の説明図。
【図8】入力距離情報を取得する場合の距離算出処理の説明図。
【図9】フィルター処理及びフィルター特性の適応的な変更処理を説明するフローチャート。
【図10】歩行走行判定処理を説明するためのフローチャート。
【図11】歩幅推定処理を説明するためのフローチャート。
【図12】入力距離情報を取得する場合の歩幅推定処理を説明するためのフローチャート。
【図13】本実施形態にかかるプログラムを実行するシステムの構成例。
【発明を実施するための形態】
【0036】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0037】
1.本実施形態の手法
まず本実施形態の手法について説明する。本実施形態の状態検出装置は、人(ユーザー)に装着してその人の歩行・走行に関する状態を検出するものである。具体的には、加速度センサーからのセンサー信号に基づいて、歩行・走行のステップ数、ステップ周期(ステップ周波数)の検出や、走行状態判別(歩行であるか走行であるかの判別等)、歩幅推定及びそれに伴う距離情報算出等を行う。
【0038】
従来、FFT等を用いた周波数分析によりこれらの処理を行う手法が提案されているが、ステップ数の正確な検出やステップ周波数の変動への対処が難しく、FFTのフレーム期間の変動を捉えることも困難である。よって、本実施形態では周波数分析ではなく、加速度検出値を用いて処理を行う。つまり、周波数軸ではなく例えば加速度検出値の時間変化等を用いることになる。
【0039】
しかし、加速度検出値は図1に示したように、本来処理対象としたいステップ周波数以外にも、様々な周波数の信号を含んでしまっており、加速度検出値の時間変化は例えば図2の破線のように複雑な形となってしまう。よって、加速度検出値をそのまま用いるのではなく、フィルター処理を施す。具体的には、ステップ周波数は通過させ、他の周波数は非通過とするフィルター処理を施せばよい。このようにすることで、図2の実線で示したようなきれいな信号波形を取得することができる。
【0040】
ここで問題となるのは、ステップ周波数が変動した場合である。ステップ周波数はユーザーの歩行・走行のピッチに対応するものであるが、ユーザーが一定の運動の継続を意図した場合であっても当該ピッチは当然変化する。ましてや、運動そのものが変化する(ジョギングからダッシュへの変化、歩行から走行への変化等)場合には、ピッチの変化を考慮しない訳にはいかない。上述したように、フィルター処理はステップ周波数を通過させ、他を非通過とするためのものであるが、ステップ周波数が変化したのであれば、フィルターの通過帯域とステップ周波数との対応関係が崩れてしまう。
【0041】
そこで本出願人は、ステップ周期情報(ステップ周期であってもよいしステップ周波数であってもよい)に基づいて、フィルター処理に用いるフィルターの特性(狭義には周波数特性)を適応的に変化させる手法を提案する。このようにすることで、ステップ周波数が変化した場合にも、ステップ周波数を通過させ、他を非通過とするフィルター処理を行うことが可能になり、正確な状態検出ができる。具体的には、あるタイミングで検出したステップ周波数に基づいて、次のタイミングでのフィルター処理に用いるフィルターの特性を変更すればよい。
【0042】
なお、本実施形態では加速度センサーを腕部に装着(例えば腕時計のように手首に装着)することを想定している。これは、運動中にも検出データを閲覧したいというユーザーの要請によるものである。例えば脚部に加速度センサーを装着した場合、加速度センサーと一体として表示部を設けてしまっては、当該表示部をユーザーが運動中に見ることは困難である。つまり、腕時計型デバイス、ヘッドマウントディスプレイ、スマートフォン等の表示閲覧に適した他のデバイスと連動して動作しなくてはならない。そのため、通信機能等を頻繁に利用する必要が生じ、省電力化等の観点からも不利である。その点、上述したように腕時計型デバイスであれば、一体として表示部を設けても問題ないため、内部の閉じた処理で十分である(ただし別体として設けられたホストコンピューター等と通信することを妨げるものではない)。
【0043】
しかし、腕部に加速度センサーを装着することで、脚部に装着した場合には生じない問題を考慮する必要がある。脚部に装着した場合には、ステップ数に直結する脚部の運動に起因する加速度検出値を直接得られる。そして、人間の歩行・走行時には当該歩行等によるステップ周波数が最も低い周波数ピークとして現れるため、ステップ周波数を通過させ、他を非通過とするフィルター処理とはローパスフィルターで足りる。しかし、腕部に装着した場合、腕を一回振る間に足は右足と左足の両方が動いていることになるため、図1に示したようにステップ周波数の半分の周波数に、腕振りに対応する周波数ピークが現れる。つまりローパスフィルターでは腕振り周波数が残ってしまうため、バンドパスフィルターを用いる必要がある。
【0044】
なお、ローパスフィルターを用いて腕振り周波数を通過させ、他を非通過として、腕振り周波数に対応する周波数成分の加速度検出値に基づく処理を行なっても、ステップの検出や歩幅の推定等は一応可能である。しかし、腕振りの1周期は2歩の歩行・走行に対応する以上、2歩単位での処理しかできない。歩数のカウントは1歩単位で行いたいというユーザーからの要求が大きいこと等を考慮すると、腕部装着時にはローパスフィルターではなくバンドパスフィルターによる処理を行うことが望ましい。
【0045】
また、上述のフィルター処理を行うことで、きれいな加速度信号波形を取得すること及びステップ検出を行うこと等が可能になるものの、運動によるユーザーの移動距離の推定には別の問題が存在する。従来、歩行・走行のステップカウント数(歩数)と歩幅の積を取ることで距離を推定する手法が提案されていたが、手法が容易な反面、歩幅の算出精度が低く距離の推定精度も低くなってしまっていた。
【0046】
例えば、3人のユーザーが、高速・中速・低速の3つの異なる速度で既知の距離(800m)を走行した場合の距離推定結果を図3に示す。この際、破線では中速での運動結果に基づいて算出した歩幅と、歩数の積から距離を推定している。図3から明らかなように、歩幅の算出時と同様の状況である中速の運動では正解(800m)に近い値が得られる反面、高速・低速での運動時には推定精度が大きく低下している。これは、高速ではストライドが伸び、中速時に比べて歩数が少なくなる傾向があることから、移動距離が短く見積もられるためである。同様に、低速ではストライドが縮み、中速時に比べて歩数が多くなる傾向があることから、移動距離が長く見積もられる。
【0047】
これに対して、ピッチ(ステップ周波数)を基準に歩幅を推定する手法等が提案されているが、ピッチと歩幅の関係は線形でなく、また個人差による影響が大きく効果的でない。
【0048】
そこで、本出願人は平均加速度及び基準情報(基準平均加速度・基準歩幅)に基づいて歩幅を推定し、推定した歩幅に基づいて移動距離を算出する。平均加速度等の詳細については図7等を用いて後述するが、本実施形態の手法を用いることで、距離推定の精度を向上させることが可能になる。具体的には、図3の実線が本実施形態の手法を用いた場合の実測値であり、歩幅(基準歩幅)の算出時と距離推定時とで、運動状態(例えば移動速度等)が変化したとしても、従来手法に比べて正解に近い値が得られることがわかる。
【0049】
以下、システム構成例を説明した後、フィルター適応化処理、適応的に特性を変更したフィルター処理後の信号を用いた歩行走行判定処理、及び歩幅推定処理と、それに基づく距離情報算出処理についても述べるものとする。最後に、各処理の詳細について、フローチャートを用いて説明する。
【0050】
2.システム構成例
本実施形態にかかる状態検出装置と、それを含む電子機器の構成例を図4に示す。電子機器(例えば状態検出装置を含む腕時計型デバイス等)は、加速度センサー10と、記憶部20と、通信部30と、表示部40と、操作部50と、状態検出装置100とを含む。ただし電子機器は図4の構成に限定されず、これらの一部の構成要素を省略したり(例えば通信部30等を省略してもよい)、他の構成要素を追加するなどの種々の変形実施が可能である。
【0051】
加速度センサー10は、例えば3軸の加速度センサーである。記憶部20は、状態検出装置100等のワーク領域となるもので、その機能はRAM等のメモリーやHDD(ハードディスクドライブ)などにより実現できる。記憶部20では、距離情報算出部170で算出されたユーザーの移動距離情報等の、ユーザーに対する提示が想定される情報を記憶するとともに、フィルター処理部120で用いられるフィルターの特性パラメーター等の、ユーザーに対する提示が想定されない内部情報も記憶する。
【0052】
通信部30は、外部機器との通信を行うものであり、外部機器としては状態検出装置100で検出した情報の解析処理等を行うホストコンピューターが考えられる。通信部30は、ユーザーが装着している状態での通信を考慮すれば無線で実現されることが望ましいが、有線であってもよい。
【0053】
表示部40は、各種の表示画面を表示するためのものであり、例えば液晶ディスプレイや有機ELディスプレイなどにより実現できる。表示部40は、状態検出装置100による情報を表示するものとするが、他の情報を表示してもよい。例えば、電子機器が腕時計型デバイスであれば、時刻表示を行なってもよい。また、表示部40がタッチパネルにより実現されるのであれば、操作のためのインターフェースを表示してもよい。その場合、操作部50の機能の一部又は全部が表示部40により実現されることになる。
【0054】
操作部50は、ユーザーが電子機器の各種操作を行うためのものであり、各種ボタン等により実現できる。各種ボタンは、機械的なボタンであってもよいし、タッチパネル等に表示される画像であってもよい。
【0055】
状態検出装置100は、電子機器(狭義には当該電子機器を装着したユーザー)の状態を検出する。状態とは、立っているか寝ているかという姿勢に関する状態であってもよいし、乗り物に乗っているか否かという移動に関する状態であってもよい。狭義には、歩行や走行等に代表される運動状態を表すものであってもよい。
【0056】
次に、図5を用いて状態検出装置100の詳細な構成例について説明する。図5に示したように、状態検出装置100は、取得部110と、フィルター処理部120と、制御部130と、ステップ検出部140と、ステップ周期情報検出部142と、ステップカウント部144と、判定部150と、歩幅推定部160と、平均加速度算出部162と、基準情報取得部164と、距離情報算出部170と、を含む。ただし状態検出装置100は図5の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0057】
取得部110は、加速度センサー10からのセンサー情報を取得する。加速度センサー10が3軸の加速度センサーであれば、xyz各軸に対応する3つの値を取得することになる。取得部110は、加速度センサー10と状態検出装置100の間のインターフェースとして構成され、加速度センサー10からのセンサー信号をそのままフィルター処理部120に出力してもよいし、フィルター処理部120に出力する際に前処理を行なってもよい。
【0058】
前処理としては、例えばxyzの3つの加速度信号値を合成して(例えば2乗和の平方根を求める処理等)合成加速度を算出してもよいし、ユーザーの足が着地することによる加速度を除去するためのローパスフィルター処理であってもよいし、この両方であってもよい。ローパスフィルター処理を行うのは、歩行・走行の検出はユーザーの体の移動による加速度に基づいて行うため、着地衝撃による加速度は処理の妨げになること、及び着地衝撃の加速度は主に高周波に現れることが理由である。また、合成加速度を算出するのではなく、センサー座標系とは異なる座標系への座標変換処理を施した上で特定の軸に関する値を求める処理を行なってもよい。
【0059】
なお、本実施形態では、加速度センサー10から取得部110へ入力される情報をセンサー情報と表記し、取得部110からフィルター処理部120へ出力される情報を加速度検出値と表記する。前処理が全く行われなければ、センサー情報と加速度検出値は同じ情報を表すことになるが、一般的には、上述の処理やノイズリダクション処理等が行われるため、センサー情報と加速度検出値は異なる情報となる。
【0060】
フィルター処理部120は、取得部110から出力された加速度検出値に対してフィルター処理を行う。本実施形態では、歩行・走行の検出(判定)や、その後の歩幅推定等を想定しているため、ユーザーの歩行・走行のピッチに対応するステップ周波数を通過させ、ステップ周波数以外の周波数を非通過とするフィルター処理を行えばよい。本実施形態は、ステップ周波数よりも低い周波数に、非通過とすべきピーク周波数が発生するケース(例えば腕部に加速度センサーを装着した場合等)を考えて、フィルター処理はバンドパスフィルター処理であるものとして説明する。
【0061】
制御部130は、ステップ周期情報検出部142から出力されたステップ周期情報(例えばステップ周波数)に基づいて、フィルター処理部120で用いられるフィルターの特性を制御する。詳細については後述する。
【0062】
ステップ検出部140は、フィルター処理部120でのフィルター処理後の信号に基づいて、ステップを検出する。ステップはユーザーの歩行・走行に対応し、一歩ごとに一回ステップが検出されることになる。フィルター処理後の加速度検出値は、図2の実線で示したように主にステップ周波数成分の正弦波に近似できるから、当該信号の1周期に1回ステップ検出信号を出力すればよい。具体的には、信号波形の上ピーク(下ピーク)を検出すればよく、ピーク検出は対象のタイミングと前後のタイミングとの差分値(傾き)を求め、当該差分値のゼロクロスから行うことができる。例えば、隣接するタイミングでの信号値の差分値がプラス(マイナス)からマイナス(プラス)へ切り替わる点を上(下)ピークとすればよい。また、差分値は隣接するタイミングから求めるだけでなく、2タイミング前及び2タイミング後の信号値との差分を用いてもよい。例えば、2タイミング前との差分値及び1タイミング前との差分値が両方共プラス(マイナス)であり、1タイミング後との差分値及び2タイミング後との差分値が両方共マイナス(プラス)である場合に、現在のタイミングを上(下)ピークとしてもよい。
【0063】
ステップ検出部140からの出力は、単純にはステップを検出したことを知らせるパルス信号であってもよい。パルス信号とは検出があったか否かを出力する情報であり、情報の中身に特に意味がなくてもよい。ただしステップ検出部140は、上述したようにステップ検出を行うためにフィルター処理後の加速度検出値を取得している。よって、ステップの検出だけではなく、その際の加速度検出値の大きさ(ピーク検出によりステップ検出を行うのであれば、加速度検出値のピークである加速度ピーク値)を出力情報に含めることも可能である。さらに言えば、ステップ検出時以外のタイミングでの加速度検出値を出力してもよい。ここでは、ステップ検出部140の出力をステップ検出情報と表記する。ステップ検出情報はステップ周期情報検出部142と、ステップカウント部144と、判定部150と、平均加速度算出部162に出力される。ステップ検出情報の内容は出力先となる各部に応じて異なってもよく、詳細については各部の説明の箇所で後述する。
【0064】
ステップ周期情報検出部142は、ステップ検出部140からのステップ検出情報に基づいて、ステップ周期情報を検出する。ここで、ステップ周期情報とは、ステップ周期であってもよいし、ステップ周波数であってもよい。ここでのステップ検出情報は、上述したパルス信号であればよく、前回のパルス信号の入力から、今回のパルス信号の入力までの時間がステップ周期に相当し、逆数がステップ周波数に相当する。また、ステップ周期情報はステップ周期或いはステップ周波数に基づいて求められる他の情報であってもよい。ステップ周波数情報は、制御部130に出力される。
【0065】
ステップカウント部144は、ステップをカウントする。ステップカウント部144でカウントされた値は、ユーザーの歩数に相当する。単純にはステップ検出部140からのステップ検出情報(ここではパルス信号)が入力されるごとにインクリメントが実行されるカウンター等であってもよい。また、ステップカウント部144は、単純なカウンターではなく、その他の処理を行なってもよい。例えば、歩行以外の運動やノイズ等によるステップ検出を除外することで、歩数検出の正確性向上を図ってもよい。
【0066】
判定部150は、ユーザーが歩行状態であるか走行状態であるかの判定を行う。判定は、ステップ検出部140からのステップ検出情報に基づいて行われる。詳細については後述するが、ここでのステップ検出情報はパルス信号だけではなく、加速度ピーク値を含むことが想定される。
【0067】
歩幅推定部160は、ユーザーの歩幅を推定する。歩幅の推定は平均加速度・基準情報(基準平均加速度・基準歩幅)に基づいて行われる。また、歩幅の推定の際に判定部150での判定結果を用いてもよい。
【0068】
平均加速度算出部162は、ステップ検出部140からのステップ検出情報に基づいて、平均加速度を算出する。平均加速度とは、あるステップ検出から次のステップ検出までの時間での、フィルター処理後の加速度検出値の平均値に相当する。よって、ここでのステップ検出情報は、パルス信号だけでなく、ステップ検出時以外のタイミングでのフィルター処理後の加速度検出値も含む必要がある。よって、図5には不図示であるが、平均加速度算出部162はフィルター処理部120と接続され、フィルター処理後の加速度検出値をフィルター処理部120から直接取得してもよい。その場合には、ステップ検出情報はパルス信号のようにシンプルなもので足りる。
【0069】
基準情報取得部164は、平均加速度算出部162で算出された平均加速度、ステップカウント部144でのステップカウント数等に基づいて基準情報を取得する。基準情報取得部164は、基準平均加速度を算出する基準平均加速度算出部166と、基準歩幅を算出する基準歩幅算出部168を含んでもよい。歩幅推定部160以降の各部については、歩幅推定処理に関するものであるため、詳細は後述する。
【0070】
距離情報算出部170は、歩幅推定部160で推定された歩幅に基づいて、ユーザーの歩行・走行による距離情報(移動距離)を算出する。詳細については後述する。
【0071】
3.フィルター適応化
取得部110で取得した加速度検出値に対するフィルター処理について説明する。ここでは、腕部に加速度センサーを装着するケースを想定し、フィルター処理としてはバンドパスフィルターを用いた処理について述べる。しかし、センサーの装着部位は必ずしも腕部に限定されるものではない。
【0072】
本実施形態の状態検出装置では、ユーザーの歩行・走行に関する情報を取得する。しかし、加速度検出値は歩行・走行のステップ周波数以外の周波数にもピーク値を持つため、加速度検出値の時間変化波形は図2の破線のように複雑な形状となる。例えば、加速度センサーを腕部に装着したのであれば、ステップ周波数を2Fとした場合に、半分の周波数であるFに腕振り周波数のピークが現れる(足が二歩歩く間に腕は一振りされるため)。また、腕振り周波数やステップ周波数の合成として、3Fや4F等の高い周波数帯にもピークが現れる。
【0073】
よって、フィルター処理部120では、2Fを通過させ、他を非通過とするバンドパスフィルター処理を行う。ただし、厳密に2Fの周波数のみを通過させる必要はない。バンドパスフィルターの現実的な設計上、通過域はある程度幅を持つが、Fと2Fの間、及び2Fと3Fの間の周波数を通過させたとしても、当該周波数帯域にはピーク値はないため、その後の処理に与える影響は大きくない。つまりバンドパスフィルターの特性は、狭義には2Fを通過させ、F以下及び3F以上を非通過とするものであればよい。通過・非通過は例えば、カットオフ周波数により決定される通過域に含まれる周波数帯域を通過とし、それ以外の周波数帯域を非通過と定義すればよい。
【0074】
バンドパスフィルターは例えば図6に示した一般的な双2次フィルター(IIRフィルター)で構成すればよい。このフィルターは入力値をx、出力値をyとした場合に、下式(1)で表される。また、図6におけるフィルター係数は、具体的には下式(2)〜(8)となる。
【0075】
y[n]=(b0/a0)*x[n]+(b1/a0)*x[n-1]+(b2/a0)*x[n-2]-(a1/a0)*y[n-1]-(a2/a0)*y[n-2]
・・・・・(1)
b0=α ・・・・・(2)
b1=0 ・・・・・(3)
b2=-α ・・・・・(4)
a0=1+α ・・・・・(5)
a1=-2cos(2πf) ・・・・・(6)
a2=1-α ・・・・・(7)
α=sin(2πf)/Q ・・・・・(8)
ここで、fはバンドパスフィルターの中心周波数を表し、Qはフィルター帯域幅を決定する係数である。つまり、fとQを設定することで、様々なバンドパスフィルターを構成することができる。
【0076】
つまり、制御部130は、ステップ周期情報検出部142からの出力値からステップ周波数を求め(或いはステップ周波数そのものが出力されてもよい)、上述の式(1)〜(8)におけるfをステップ周波数に変更する処理を行う。
【0077】
これにより、現在のタイミングで得られたステップ周波数(例えば1タイミング前のステップ検出と最新のステップ検出との間の時間をステップ周期とした時の逆数)に基づいて、フィルター処理部120で用いるフィルター特性を変更し、以降のタイミングでのフィルター処理を行うことが可能になる。検出したステップ周期情報に基づいて適応的にフィルター特性が変化するため、運動中にステップ周波数が変化したとしても、適切なフィルター処理を行うことが可能になる。
【0078】
なお、上式(8)のQは固定値であってもよいし、フィルター周期情報に基づいて適応的に変化させてもよい。ただし、通過域にFや3Fの周波数が含まれないことが条件となる。
【0079】
また、本実施形態はユーザーの運動状態に応じて適応的にフィルター特性を変更するため、運動開始時(システムの動作開始時)には所与のフィルター特性を決定しておく必要がある。これは固定値であってもよいが、実行する運動がわかるのであれば(例えば短距離をダッシュするのか、長距離をジョギングするのか等)、運動に合わせて値を変更することが望ましい。初期値が適切に設定されれば、その後のフィルター特性は本実施形態の手法により適応的に設定することができる。
【0080】
制御部130でのフィルター特性の変更は、ステップごと(一歩ごと)に行なってもよいし、特定歩数ごとに行なってもよい。ステップごとに行えば、ステップ周波数の変化に高速で対応することが可能になる。また、特定歩数ごと(例えば10歩ごと)に行えば、制御部130での処理の頻度を低くすることができるため、省電力化等が期待できる。また、加速度センサーの装着位置によっては、右足の踏み出し時と左足の踏み出し時とで、ステップ周波数に偏りが生じることが考えられる。そのような場合にはステップごとではなく特定歩数ごと(例えば2歩ごと)に行うとよい。偏りがあるにもかかわらずステップごとに特性変更を行いたいのであれば、処理が煩雑になるが右足用フィルターパラメーターと左足用フィルターパラメーターの2組のパラメーターを用意しておき、踏み出し足に応じて用いるパラメーターを変更してもよい。この場合、右足踏み出し時のステップ周波数を用いて右足用フィルターパラメーターを更新し、左足踏み出し時のステップ周波数を用いて左足用フィルターパラメーターを更新する。
【0081】
4.歩行走行判定
次に、判定部150での歩行走行判定処理について説明する。ここでは単純に、フィルター処理部120でのフィルター処理後の加速度信号(主にステップ周波数の正弦波となる)の信号値に基づいて判定を行う。
【0082】
例えば、加速度のピーク値であるピーク加速度を求め、当該ピーク加速度と閾値との比較処理を行う。第1の閾値をTh1、第2の閾値をTh2(<Th1)とした場合に、ピーク加速度がTh2よりも小さい場合には歩行状態でも走行状態でもないと判定する。これは、停止時に腕を動かした場合等、歩行・走行以外の腕振り動作に相当する。また、ピーク加速度がTh2以上であり、Th1よりも小さい場合には歩行状態と判定する。ピーク加速度がTh1以上の場合には、走行状態と判定する。
【0083】
ここで、Th2としては0.2(G)程度の値が想定され、Th1としては0.5(G)程度の値が想定される。加速度センサーで検出されるセンサー値は、10(G)程度の大きさを持つこともあり得るが、バンドパスフィルター処理により直流成分が除去されるため、閾値は上述の水準の値でよい。
【0084】
また、加速度信号の大きさだけでなく、ステップ検出に関する情報を用いて歩行走行判定を行なってもよい。例えば、本実施形態の状態検出装置を含む電子機器が腕時計型デバイスである場合には、図4に示したように表示部40を備えてもよいため、運動中であってもユーザーが表示部40に表示された情報(その時点での移動距離や移動速度等)を参照する事が考えられる。その際には、腕時計で時間を見るのと同様に、ユーザーの体に対する腕部の相対位置はある程度一定に保たれ、腕振り動作は行われないことが想定される。加速度センサーは腕時計型デバイスに含まれ、腕部に関する加速度信号を取得するのであるから、腕振り動作が行われないと加速度信号の大きさは小さくなってしまう。
【0085】
このような場合であっても、ユーザーが歩行又は走行を行なっているのであれば、それらの運動に起因する加速度は加速度センサーで検出することができる。よって、センサー情報はステップ周波数2Fにピークを持つことになり、上述したステップ検出処理、ステップ周期情報検出処理、及び制御部130でのフィルター特性の変更処理等を変更する必要はない。
【0086】
しかし、ユーザーが走行中に腕時計型デバイスを見た場合、運動としては走行状態が継続されているにもかかわらず、加速度検出値が小さくなってしまい、上述の閾値判定では歩行状態或いは停止状態(走行状態でも歩行状態でもない状態)と判定されてしまう。
【0087】
そこで、このような場合を考慮して、加速度信号値に加えてステップ検出に関する情報(例えばステップ周期)を用いて歩行走行判定を行なってもよい。具体的な手法の一例を示す。なお、ここでは簡単のため歩行状態か走行状態かの判別を行い、停止状態については考慮しないものとする。まず、第1段階の処理として、加速度信号値の大きさを用いた閾値判定を行い、閾値よりも大きい場合には走行状態と判定し、閾値以下の場合には歩行状態と判定する。そして、運動状態が直前の運動状態に対して変化しない場合(走行→走行、歩行→歩行)、及び運動状態が高速な方向へシフトした場合(歩行→走行)については、閾値判定による判定結果をそのまま用いる。上述したように、表示部40を参照することで加速度信号値が小さくなることが問題であるから、加速度信号値が同等或いはより大きい方向へ変化しているのであれば、表示部40の参照は行われていないと考えられるためである。
【0088】
それに対して、運動状態が低速な方向へシフトした場合(走行→歩行)には、運動自体が本当に変化したのか、表示部40の参照が行われているのかを適切に判別する必要がある。そのため、ここでは直前の状態でのステップ周期と、最新のステップ周期の比較処理を行う。例えば、ユーザーの運動自体が走行から歩行へ変化したのであれば、加速度信号値が小さくなるとともにステップ周期も変化するはずである(ユーザーにより変化の方向は異なるが、例えば歩行は走行に比べてステップ周期が長い傾向にあることが多い)。つまり、ステップ周期がある程度変化したのであれば、それは運動自体が変化していると判断し、当初の閾値判定の結果である歩行状態をそのまま用いる。それに対して、ステップ周期の変化が小さいのであれば、同等の運動状態が継続していると考えられるため、加速度信号値の減少は表示部40の参照によるものと判定する。この際には、閾値判定では歩行状態とされたものを、走行状態に修正することになる。
【0089】
なお、単純には運動状態の変化まで考慮しなくてもよい。つまり、歩行状態と判定されたのであれば、それ以前が走行状態であろうと歩行状態であろうとステップ周期に基づく判定処理を行なってしまってもよい。この例については図10のフローチャートを用いて後述する。
【0090】
5.歩幅推定・距離情報算出処理
次に歩幅推定処理及び推定した歩幅等に基づく距離情報算出処理について説明する。本実施形態では平均加速度及び基準情報(基準平均加速度、基準歩幅)に基づいてユーザーの歩幅を推定する。
【0091】
5.1 平均加速度
まず、本実施形態の歩幅推定に用いられる平均加速度について説明する。平均加速度とは、所与の期間における加速度信号値の平均値に相当する。具体的には、フィルター処理部120でのフィルター処理後の加速度検出値と、ステップ検出部140からのステップ検出情報(パルス信号等)に基づいて、平均加速度算出部162において平均加速度を算出する。
【0092】
詳細について図7を用いて説明する。なお、図7の横軸は時間を表す。図7のステップ検出とは、ステップ検出部140においてステップが検出されたタイミングに対応し、例えば平均加速度算出部162がステップ検出部140からのパルス信号を受け取ったタイミングである。n−1、n、n+1等はステップの検出回数の相当し、例えばnはn回目のステップ検出タイミングとなる。1回のステップ検出がユーザーの一歩に対応することから、ステップ検出のレートは1秒あたり1〜2回程度であるのに対して、加速度センサーからのセンサー情報取得レートはこれよりも高いことが想定される。従って、フィルター処理部120からの加速度検出値の出力レートもステップ検出に比べて高レートとなり、その出力タイミングは図7における加速度検出値の1つ1つの線に対応する。
【0093】
平均加速度とは、1つ前のステップ検出から対象となるステップ検出までの時間におけるフィルター処理後の加速度検出値の平均値である。つまり、加速度検出値の大きさをf(s)、第n−1のステップ検出から第nのステップ検出までの時間をTnとすると、第nのステップ検出に対応する平均加速度Anは下式(9)で表される。
【0094】
【数1】
【0095】
5.2 キャリブレーション
また、本実施形態の歩幅推定では、平均加速度の基準である基準平均加速度と、歩幅の基準である基準歩幅を用いる。基準平均加速度及び基準歩幅は、所与の値を用いてもよい。しかし、平均加速度及び歩幅はユーザーが異なれば基準的な値が変わってくるし、同一ユーザーであっても運動状態(歩行かジョギングかダッシュか等)により変わってくることを考えると、実際に歩行・走行を行なって得られた値に基づいて決定されることが望ましい。つまり、実際に歩行・走行を行なって基準平均加速度、基準歩幅を取得するキャリブレーションを行うとよい。なお、本実施形態の歩幅推定処理では、図3に示したように基準情報取得時の運動状態(走行速度)と、歩幅推定・距離算出時の運動状態とが変化したとしても、精度の高い歩幅推定・距離算出が可能である。よって、キャリブレーションでの運動は、本質的にはその後想定される歩幅推定時の運動と同等のものであることが望ましいが、必ずしもそのようにする必要はなく、ある程度異なる運動状態でのキャリブレーションであってもよい。
【0096】
キャリブレーションの一例を示す。モードをキャリブレーションモードに設定した上で、ユーザーは既知の距離D(例えば400mトラックを1周するのであればD=400mは既知である)を歩行(走行)するとともに、距離Dを入力する。歩行・走行により、加速度検出値が取得されるとともに、ステップが検出される。さらに、ステップカウント部144ではステップ検出の回数であるステップカウント数N(歩数)もカウントされる。
【0097】
上述したように、1回のステップ検出ごとに平均加速度が算出されることになるため、N回のステップ検出により、平均加速度算出部162では上式(9)に基づいてN個の平均加速度(A1〜AN)が取得されることになる。なお、0回目のステップ検出時とは基準情報取得期間(例えばD=400mの歩行・走行の開始から終了までの期間)の開始時とすればよい。D、N、A1〜ANが与えられれば、基準歩幅NS及び基準平均加速度NAは下式(10)、(11)で表される。
【0098】
【数2】
【0099】
【数3】
【0100】
つまり、基準歩幅NSは移動距離Dと歩数Nの除算で求められるし、基準平均加速度NAはA1〜ANの平均値として求められる。
【0101】
5.3 歩幅推定・距離情報算出
本実施形態では、歩幅推定・距離情報算出処理は、当該処理よりも前に取得された基準情報(基準平均加速度・基準歩幅)を用いて行われる。歩幅推定部160での歩幅推定処理は、ステップ検出ごとに当該ステップに対応する歩幅を推定することになる。ステップに対応する歩幅の推定は、事前に取得されたNA及びNSと、当該ステップに対応する平均加速度Anに基づいて行われる。具体的には、処理開始時から数えてn回目のステップ検出(n歩目の歩行)での平均加速度をAn、その際の推定歩幅をSnとした場合に、Snは下式(12)で与えられる。
【0102】
【数4】
【0103】
ここでCは個人や走行状態に応じて決定される係数である。つまり、推定歩幅は基準平均加速度に対する平均加速度の比と、基準歩幅の積から求めることができる。
【0104】
距離情報算出部170での距離情報算出処理は、推定歩幅の総和を取ればよい。本実施形態では1歩ごとの歩幅(つまり1歩ごとの移動距離)が推定されるのであるから、全移動距離は推定された歩幅の総和に他ならない。なお、距離情報算出処理は判定部150での判定結果に基づいて、処理を変更してもよい。例えば、走行状態と判定された場合には、歩幅推定部160での推定結果を用いて距離情報を算出し、歩行状態と判定された場合には、所与の固定値を歩幅として距離情報を算出してもよい。これは、走行に比べて歩行は安定した動作であり、歩幅の変動が小さいため、固定値を用いても大きな問題とならないためである。
【0105】
5.4 変形例1(キャリブレーションの変形例)
なお、キャリブレーションの手法は上述したものに限定されない。上述の例では、キャリブレーションを行うことは事前にわかっており、キャリブレーション動作時には歩幅推定・距離情報算出を行うことを想定していない。例えば、本実施形態の状態検出装置を搭載した商品を購入して最初に使用する時等、基準情報を保持していない場合には上述のキャリブレーションが行われる。
【0106】
しかし、基準情報をすでに保持しているのであれば、歩幅推定・距離情報算出を行いつつ、キャリブレーションを行うことも可能である。上述したように、キャリブレーション時でなくても、歩幅推定のためには平均加速度を算出することになる。また、ステップ検出も必須であるからステップカウント数Nの算出も行われることが想定される。つまり、キャリブレーションではない通常の使用時でも、A1〜AN、Nは取得されているのであるから、あとは移動距離Dがわかれば基準平均加速度、基準歩幅は算出できることになる。
【0107】
本実施形態の手法では、歩幅推定に基づく距離情報算出により移動距離が推定できるため、基本的には未知の距離を歩行・走行することが考えられる(例えば公道でのジョギング等)。しかし、本実施形態の状態検出装置を搭載したデバイスでは移動速度や歩数等、他の情報も提示できることに鑑みれば、既知の距離を走行・歩行する(例えばトラックを走る等)場合にも、当該デバイスを装着することは十分考えられる。
【0108】
そのような場合には、ユーザーは走行・歩行の終了後、自身の移動距離Dをデバイスに入力することで、キャリブレーションを行うことができる。上述したように、運動時に平均加速度A1〜AN及びステップカウント数Nが取得されているため、入力されたDを用いれば上式(10)(11)から基準平均加速度と基準歩幅が算出できるためである。
【0109】
5.5 変形例2(基準距離情報を取得する場合の歩幅推定・距離情報算出)
本実施形態の状態検出装置とともに、基準距離情報を取得する外部機器を用いてもよい。基準距離情報とは、ユーザーの移動距離に関する情報であり、本実施形態の歩幅推定に基づく距離情報算出に比べて、値の正確性が高いものを想定している。外部機器としては、例えばGPS等が考えられる。
【0110】
GPSを用いることで、ユーザーの位置情報を取得することができるため、当該位置情報の変化に基づいてユーザーの移動距離を算出することが可能である。GPSを用いることで正確な距離情報の算出が可能になるが、GPSによる距離情報算出だけでは、あるタイミングでGPS信号を取得してから、つぎのGPS信号の取得タイミングの間では、距離情報が全く更新されなくなる。つまり、移動距離の算出を詳細に行うためには、GPSからの信号を高頻度で取得する必要がある。しかし、一般的にGPSは消費電力が大きいという問題があり、高頻度で信号を取得するのではデバイスの稼働時間が短くなってしまう。特に従来の腕時計に本実施形態の状態検出装置を組み込む場合、腕時計は数千〜数万時間の連続稼動が求められるものであるから、GPS等の動作による消費電力は無視できない問題となる。
【0111】
そこで、本実施形態の手法を補助的に用いることでこの問題を解決することが考えられる。つまり、GPSの信号取得レートを低く設定することで、消費電力の低減を図る。それに伴い、GPS信号を得られない期間(つまり、このままでは移動距離が更新されない時間)が長くなるため、当該期間では本実施形態の手法により移動距離を算出する。
【0112】
具体的には、GPS信号を取得する第1のタイミングを基準とし、当該第1のタイミングよりも前にNS及びNAを取得しておく。そして、第1のタイミングから、次のGPS信号取得タイミングである第2のタイミングの間で、加速度検出値を取得し上式(9)、(12)に基づいて移動距離を算出する。
【0113】
具体例を図8に示す。図8の横軸は時間を表し、GPS信号の取得タイミングと、ステップ検出タイミングを示したものである。なお、図8では説明を簡単にするために、GPS信号の取得タイミングは、ステップ検出タイミングの1つと一致するものとして記載したが、このようにはならないことのほうが一般的である。
【0114】
まず、時刻T1においてGPS信号を取得し、T1以前のGPS信号との比較処理等を行うことで、基準位置(例えば歩行・走行開始時の位置)からの移動距離を表す基準距離情報D1を算出する。次のGPS信号はT2まで取得できないため、T1〜T2の期間では歩幅推定に基づく距離情報算出を行う。T1及びt1でステップが検出されたとすれば、その間の加速度検出値に基づいて、上式(9)(12)よりT1〜t1の一歩に相当する歩幅d1を算出できる。そうすれば、時刻t1での基準位置からの移動距離はD1+d1として算出可能である。同様にt1の次にt2でステップが検出されたとすれば、上述の手法でt1〜t2の歩幅d2が算出され、移動距離はD1+d1+d2として求められる。以下T2までは、D1+Σdを移動距離とすればよい。
【0115】
そして、T2において次のGPS信号が取得されたら、過去のGPS信号等を用いて、T2での基準位置からの移動距離を表す基準距離情報D2を算出する。ここではGPS信号に基づく移動距離情報算出のほうが正確性に勝るものとしているため、GPS信号が得られた時点で、それまでの歩幅推定に基づく移動距離はリセットするものとする。図8の例で言えば、時刻T2での基準位置からの移動距離として「D1+Σd」及び「D2」の2つを考えることができるが、より正確なD2を採用することとなる。
【0116】
また、T2からT3の間では、歩幅推定に基づいてD2からの差分値を求めて、移動距離情報算出をすればよく、T3でGPS信号が取得されたら、D3を移動距離とする。それ以降についても同様である。
【0117】
5.6 変形例3(基準平均速度による例)
以上では平均加速度及び基準平均加速度を用いた処理について説明した。しかし、本実施形態の手法はこれに限定されるものではなく、平均速度及び基準平均速度を用いてもよい。
【0118】
具体的には、バンドパスフィルター処理後の加速度信号f(s)が取得されれば、加速度信号のサンプリング周期をdtとすることで、タイミングsでの速度信号g(s)は下式(13)で与えられる。
【0119】
【数5】
【0120】
これにより加速度信号f(s)と同じタイミングにおいて、速度信号g(s)を取得することができる。よって、上式(9)と同様に下式(14)により平均加速度Vnを求めることができる。
【0121】
【数6】
【0122】
基準平均速度は、上式(11)と同様に下式(15)で表されるため、歩幅は上式(12)と同様に下式(16)で求められる。
【0123】
【数7】
【0124】
【数8】
【0125】
6.詳細な処理
上述した各処理の詳細について図9〜図12を用いて説明する。
【0126】
6.1 フィルター適応化処理
フィルター適応化処理の詳細について図9を用いて説明する。この処理が開始されると、まず歩行或いは走行が終了されたかの判定が行われる(S101)。これは処理の終了条件であり、Yesの場合にはフィルター適応化処理が終了されることになる。S101でNoの場合には、加速度センサーからのセンサー信号(3軸の加速度センサーであればx,y,zの3つのセンサー信号)を取得する(S102)。
【0127】
取得したセンサー信号を合成し(例えばx,y,zの二乗和の平方根を求め)合成加速度を算出する(S103)。算出した合成加速度に対してローパスフィルター処理を行うことで、着地の衝撃による加速度成分を除去する(S104)。
【0128】
そして、ローパスフィルター処理後の信号に対して、予め設定された特性を有するバンドパスフィルターを用いてバンドパスフィルター処理を行う(S105)。バンドパスフィルター処理後の信号に基づいて、ユーザーの歩行に対応するステップを検出したか否かの判定を行い(S106)、ステップが検出されなかった場合にはS101に戻り、センサー信号の取得とフィルター処理を繰り返す。S106においてステップが検出された場合には、ステップ周期を算出し(S107)、算出したステップ周期に基づいてバンドパスフィルターの特性を変更する(S108)。具体的には、上述したように最新のステップ検出と1つ前のステップ検出の間に相当する時間をステップ周期とし、当該ステップ周期の逆数であるステップ周波数が中心周波数となるようにバンドパスフィルターの周波数特性を変更すればよい。
【0129】
なお、図9では1回のステップ検出ごとにバンドパスフィルターの特性を変更しているが、複数回のステップ検出ごとにバンドパスフィルターの特性を変更してもよい。
【0130】
6.2 歩行走行判定処理
歩行走行判定処理の詳細について図10を用いて説明する。この処理が開始されると、まずフィルター処理後の加速度検出値のピーク値(加速度ピーク値)を検出する(S201)。これは加速度検出値の時間変化波形における上ピーク或いは下ピークを検出するものであるが、図10のフローチャートでは上ピークであるものとする(下ピークを用いるのであれば、ピーク値が負の値になることが想定されるため符号を反転する、或いは絶対値を取る必要がある)。
【0131】
そして、加速度ピーク値が検出されたタイミングに対応するステップ周期T1と、当該タイミングよりも過去のタイミングに対応するステップ周期T2を取得する(S202)。T1及びT2は、ステップ検出部140でのステップ検出に基づいて、判定部150で算出してもよいし、ステップ周期情報検出部142で検出した値を判定部150が取得してもよい。また、T2は具体的にはT1の1つ前のタイミングでのステップ周期に相当するが、これに限定されず、過去数ステップの値を用いて算出されてもよい。
【0132】
歩行走行判定は、まず加速度ピーク値に基づく判定から行う。加速度ピーク値を閾値Th1(例えば0.5G)と比較し、Th1以上であれば走行状態と判定し(S204)、処理を終了する。
【0133】
また、加速度ピーク値がTh1より小さい場合(S203でNoの場合)には、Th2<Th1を満たす閾値Th2(例えば0.2G)との比較を行う(S205)。加速度ピーク値がTh2よりも小さい場合には停止状態と判定し(S208)、処理を終了する。
【0134】
加速度ピーク値がTh1よりも小さく、かつTh2以上の場合には、S202で取得したステップ周期T1,T2を用いた判定を行う。具体的には、T2に対するT1の変動が所与の閾値以内に収まっているか否かの判定を行う。例えば、許容変動を10%とすれば、T1/T2が0.9〜1.1の範囲にあるかの判定を行えばよい(S206)。
【0135】
ステップ周期の変動が小さい場合(S206でYesの場合)には、実際の運動状態は走行状態に相当するのに、腕時計型デバイスの表示部40を参照すること等により腕振りが行われずに加速度ピーク値が小さくなったものと判断し、S204に移行し、走行状態と判定し処理を終了する。また、ステップ周期の変動が大きい場合(S206でNoの場合)には、加速度ピーク値は腕時計型デバイスの参照等の影響を受けていない(つまり運動状態の変化により加速度ピーク値は小さい値を取った)と判断し、歩行状態と判定して(S207)、処理を終了する。
【0136】
6.3 歩幅推定・距離情報算出処理
歩幅推定・距離情報算出処理の詳細について図11を用いて説明する。図11は歩行・走行の開始から終了までの処理に相当する。この処理が開始されると、まず基準平均加速度NA及び基準歩幅NSを取得する(S301)。NA,NSは上述したとおり、現在の処理よりも前のタイミングにおいて基準情報取得部164により取得されていた値を用いるものとする。
【0137】
次に加速度検出値f(s)を取得する。f(s)はフィルター処理部120でバンドパスフィルター処理が施された後の加速度検出値であり、例えば加速度センサーのセンサー情報取得レートに相当するレートで取得される。つまり、一般的にステップ検出部140でのステップ検出レートに比べて高いレートとなる。そして、f(s)の累和を求める(S303、図11では累和を表す変数がFである)。
【0138】
そして、ステップが検出されたかの判定を行い(S304)、ステップが検出されない場合には、S302に戻りf(s)の取得と累和が繰り返される。なお、S312で後述するようにステップ検出後にはFの初期化が行われるため、Fはあるステップ検出から次のステップ検出までの期間での加速度検出値f(s)の総和に相当することになる。
【0139】
ステップが検出された場合には、1つ前のステップ検出から当該ステップ検出までの時間Tを取得する。ここでTはステップ周期に相当するものである。
【0140】
そして、最新のステップに対応する平均加速度AをA=F/Tとして求める(S306)。S303及びS306での処理は、上述した式(9)に相当する。さらに、歩行・走行の開始時からの平均加速度の累和であるAΣを算出するとともに(S307)、ステップカウント数(歩数に対応)を表す変数Nをインクリメントする(S308)。
【0141】
その後、最新のステップに対応する歩幅Sを上述した式(12)から求め(S309)、歩行・走行開始時からの歩幅Sの累和であるSΣを算出する(S310)。
【0142】
S310までの処理により、種々の情報が取得されるため、このタイミングで表示部40に表示する等の処理を行なってもよい(図11には不図示)。例えば、歩数を表すN、歩行・走行開始時からの移動距離を表すSΣ等を表示することが考えられる。
【0143】
そして、歩行・走行が終了したかの判定を行い(S311)、終了しない場合には、Fを初期化した上で(S312)、S302に戻る。Fは隣接ステップ間での加速度検出値の総和を表すため、S312において初期化が必要となる。それに対して、N,AΣ,SΣは歩行・走行開始時からの累和に意味がある値であるため、初期化は必要ない。なお、A,Sはステップごとに取得される値であるため、S312のタイミングで初期化されてもよいが、S306,S309で上書き処理が行われるため、必ずしも初期化の必要はない。
【0144】
S311で歩行・走行が終了したと判定された場合には、キャリブレーションを実行するか否かの判定を行う(S313)。キャリブレーションを行わない場合には、処理を終了する。キャリブレーションを行うのであれば、歩行・走行での正確な移動距離Dを取得し(S314)、上述した式(10)(11)から基準平均加速度NAと基準歩幅NSを取得する(S315)。ここで取得したNA,NSは次回以降の歩行・走行時に用いられることになる。
【0145】
なお、正確な歩幅推定(及び距離情報算出)を行うためには、キャリブレーション時に用いるデータはできるだけ正確である必要がある。よって、図11ではSΣが推定移動距離となるが、SΣはあくまで推定値であり正確性が担保されていないため、S314で取得するDとしてSΣを用いることは想定していない。Dは例えばユーザーが自身にとって既知の距離を入力することになる。
【0146】
6.4 歩幅推定・距離情報算出処理の変形例
歩幅推定・距離情報算出処理の変形例について図12を用いて詳細に説明する。図12は何らかの手段により基準となる移動距離(基準距離情報)が取得できる場合の例であり、例えばGPS信号を取得する場合に相当する。
【0147】
S401〜S404についてはS301〜S304でと同様であるため詳細な説明は省略する。また、S404においてYesの場合のS405〜S412の処理は、S304においてYesの場合のS305〜S312での処理と同様である。
【0148】
S411でYes、つまり歩行・走行が終了された場合には、図11のフローチャートと異なりキャリブレーションに関する処理は行われずに処理が終了する。
【0149】
S404でステップが検出されなかった場合には、基準距離情報D(例えばGPS信号に基づく距離情報)が取得されたか否かの判定が行われる(S414)。取得されなかった場合には、S402に戻る。Dが取得された場合には、当該Dは前回の基準距離情報取得時からの移動距離を表すものであり、かつ歩幅推定に基づく距離情報算出等の手法に比べて正確性が高い。よって、取得したD及び、その時点での(正確には前回の基準距離情報の取得時から現在までの)ステップカウント数N、平均加速度の累和AΣを用いて、キャリブレーションを行うことができる(S415)。
【0150】
図12のフローチャートでは、基準距離情報の取得ごとにキャリブレーションを行うこととなっているため、次回のキャリブレーションに影響を与えないために必要な変数について初期化を行い(S416)、S402に戻る。
【0151】
この例では、明示的にキャリブレーションの指示等がなかったとしても、適宜キャリブレーションを行うことができる。また基準距離情報は、歩幅推定に基づいて算出された距離情報に比べて信頼性が高いことを想定しているため、基準距離情報が取得されたタイミングでは、取得した基準距離情報に基づいて移動距離を求める(詳細は図8を用いて上述したとおりである)。そして、基準距離情報が取得されない期間において、基準距離情報に対する差分値を求める処理として、歩幅推定に基づく距離情報算出を行う。つまり、S407のAΣ、S408のN、S410のSΣは基準距離情報取得時にリセットされる。よって、歩行・走行の開始時から終了時までの値が必要であれば、各値を保持しておく別の変数を用意しておかなければならない(歩数に相当するNについては必要であることが想定される)。
【0152】
6.5 処理の詳細
以上の本実施形態では、状態検出装置100は、図5に示したように加速度センサー10からの加速度検出値を取得する取得部110と、加速度検出値に基づいて所与の期間ごとの平均加速度を算出する平均加速度算出部162と、基準平均加速度及び基準歩幅を取得する基準情報取得部164と、歩幅を推定する歩幅推定160とを含む。歩幅推定部160は、基準平均加速度と平均加速度の比、及び基準歩幅に基づいて歩幅を推定する。なお、ステップ検出部140でステップが検出されたタイミングに基づいて上記所与の期間を設定し、設定した所与の期間ごとに平均加速度を算出してもよい。
【0153】
ここで、所与の期間とは、あるステップ検出タイミングから次のステップ検出タイミングまでの期間(1ステップ)であることが望ましい。このようにすれば、歩幅として1ステップ(1歩の歩行)での移動距離を求めることができ、移動距離を細かく推定していくことができるためである。ただし、複数ステップごとに平均加速度を求め、複数ステップ単位での移動距離を推定することを妨げるものではない。
【0154】
また、平均加速度とは、上記所与の期間での加速度検出値の平均値に相当する。具体的には図7を用いて説明したとおりであり、上式(9)に対応する。なお、上式(9)では、所与の期間での加速度検出値の数ではなく、当該所与の期間を表す時間間隔Tnで除算をしている。これは、ステップ検出等とは異なり、加速度検出値は一定の間隔で取得することが想定されるためである。また、基準平均加速度とは平均加速度の基準となる情報であり、基準歩幅とは歩幅の基準となる情報である。
【0155】
具体的には、第1〜第M(Mは2以上の整数)の期間を設定し、第i(1≦i≦M−1)の期間は第i+1の期間よりも時間的に前の期間とする。その場合、本実施形態の状態検出装置100は、第iの期間よりも前の期間において、基準平均加速度及び基準歩幅を取得する基準情報取得部164と、第iの期間での加速度センサー10からの加速度検出値を取得する取得部110と、加速度検出値に基づいて第iの期間に含まれる所与の期間ごとの平均加速度を算出する平均加速度算出部162と、第iの期間での歩行又は走行に対応する歩幅を推定する歩幅推定部160とを含む。歩幅推定部160は、基準平均加速度と平均加速度の比、及び基準歩幅に基づいて歩幅を推定する。第1〜Mの各期間は、キャリブレーションの開始から終了までの期間、或いは歩幅推定対象となる運動の開始から終了までの期間に相当する。また、上述したように、1つの期間において歩幅推定とキャリブレーションの両方が行われてもよい。
【0156】
これにより、平均加速度、基準平均加速度及び基準歩幅に基づいた歩幅推定処理が可能になる。具体的には、基準平均加速度と平均加速度は、比の形で用いる。つまり、基準平均加速度に対して平均加速度の変動が大きいか小さいか、また変動の方向はどちらであるかに応じて、推定する歩幅の値が変化することになる。また、比に応じて推定する歩幅を変化させる際には、基準となる変化前の値が設定されていることが望ましく、本実施形態では基準歩幅を用いるものとする。ピッチを基準に歩幅を推定していた従来例では、ピッチが歩幅と線形でない等の要因により、推定した歩幅の精度が低かったが、本実施形態の手法によれば図3に示したように、精度の高い歩幅推定を行うことができる。
【0157】
また、状態検出装置100は、図5に示したようにステップ検出部140を含んでもよい。そして、基準情報取得部164(狭義には基準情報取得部164に含まれる基準歩幅算出部168)は、入力距離情報と、基準情報取得期間でステップ検出部140が検出したステップ数とに基づいて、基準歩幅を取得する。なお、入力距離情報はユーザー入力情報であってもよいし、外部データであってもよい。また、図5等の説明では、ステップ検出部140はステップの検出を行うものであり、ステップ数の検出はステップカウント部144で、ステップ周期の検出はステップ周期情報検出部142で、それぞれ行われるものとしていた。しかし、これらの各部は独立である必要はなく、広義のステップ検出部として1つのブロックで構成されてもよい。以降の説明ではステップ検出部140は広義のステップ検出部であるものとし、ステップの検出だけではなく、ステップ数及びステップ周期情報の検出も行なうものとする。
【0158】
なお、本実施形態のステップ検出部140は、ユーザーの走行又は歩行のステップ等を検出してもよい。つまり、本実施形態の状態検出装置100は、走行又は歩行のステップ数を少なくとも検出する(例えば、走行又は歩行のステップ、ステップ数及びステップ周期情報を検出する)ステップ検出部140を含み、基準情報取得部164は、入力距離情報と、基準情報取得期間でステップ検出部140が検出したステップ数とに基づいて、基準歩幅を取得してもよい。
【0159】
ここで、ステップとは加速度センサー10の装着対象の一単位あたりの動きに対応するものである。例えば、加速度センサー10が人(ユーザー)に装着され、状態検出装置100がユーザーの走行又は歩行のステップ等を検出する場合であれば、ステップとはユーザーの歩行に対応するものであり、ユーザーの一歩の歩行によりステップが1回検出されることになる。また、本実施形態ではステップは走行又は歩行に関するものであることが想定されるが、広義のステップはこれに限定されるものではない。加速度センサー10が乗り物(或いは当該乗り物に乗っているユーザー)に装着される場合であれば、ステップとは当該乗り物の動作において、一単位となる動作に対応する。例えば、乗り物が車であるとすれば、ステップとは搭載されたエンジンの回転に対応することが考えられる。具体的には、タービンを有するガスタービンエンジンであれば、タービンの1回転が1ステップに対応すると考えてもよい。
【0160】
また、基準情報取得期間とは、基準情報を取得するための期間のことであり、例えば歩行・走行の開始時から終了時までの期間であってもよい。入力距離情報とは、ユーザー或いは外部機器等から入力される距離情報のことであり、基準情報取得期間でのユーザーの移動距離に対応する情報である。ステップ数とは、基準情報取得期間において検出されたステップの数を表す。
【0161】
典型的な例としては、キャリブレーション(基準情報の取得)を主目的とした歩行・走行が考えられる。つまり、その際には歩幅推定が行われる必要はない。ユーザーは、キャリブレーションのために既知の距離(例えば800m)を走行し、当該既知の距離を入力距離情報として入力する。この際の基準情報取得期間とは800mの走行を開始してから終了するまでの期間である。
【0162】
これにより、入力距離情報及びステップ数に基づいて基準歩幅を算出することが可能になる。具体的には、入力距離情報をD、ステップ数をNとした場合に、基準歩幅NSは上式(10)で与えられてもよい。つまり、移動距離を歩数で除算することで1歩あたりの移動距離を求め、それを基準歩幅としている。基準歩幅はその後の運動での歩幅推定に用いられるため、適切な値を設定するべきであり、入力距離情報は基準情報取得期間でのユーザーの移動距離を正確に反映していることが望ましい。よって、入力距離情報は、ユーザーが既知の距離を入力するユーザー入力情報であるか、外部機器(例えばGPS等)により得られる正確性の高い外部データであるとよい。
【0163】
また、基準情報取得部164(狭義には基準情報取得部164に含まれる基準平均加速度算出部166)は、基準情報取得期間で取得された平均加速度とステップ数とに基づいて、基準平均加速度を取得してもよい。
【0164】
これにより、平均加速度とステップ数から基準平均加速度を算出することが可能になる。基準情報取得期間とは、歩行・走行の開始から終了までの期間や、外部データ取得タイミングによって決まる期間であることが想定される。よって、基準情報取得期間で検出されるステップ数(歩数)Nは一般的にある程度の大きさであり、少なくとも2以上の整数となる(N=1であることを妨げないが、そのような場合算出される基準情報の信頼性には疑問が残ることになる)。そして、平均加速度は1ステップに1回算出されることが想定されるため、基準情報取得期間ではA1〜ANのN個の平均加速度が取得される。このN、及びA1〜ANに基づいて、平均加速度の基準となりうる情報を求めて基準平均加速度とすればよく、例えば上式(11)に示したように、A1〜ANの平均値を取ればよい。
【0165】
また、歩幅推定部160は、基準平均加速度をNA、基準歩幅をNS、係数をC、所与のタイミングで取得された平均加速度をAnとした場合に、Anが取得されたタイミングに対応する歩幅Snを、Sn=C×(An/NA)×NSにより求めてもよい。
【0166】
これにより、上式(12)に基づいて歩幅を推定することが可能になる。つまり、一旦係数Cを考慮しないものとすれば、平均加速度Anが基準平均加速度NAと一致するときは、歩幅Snは基準歩幅NSと同じになり、AnがNAのk倍であれば、SnもNSのk倍となる。よって、ピッチを用いた従来例においては、ピッチと歩幅が線形ではないため充分な精度が得られなかったが、平均加速度を用いることにより、線形性を有する容易な演算により歩幅を推定することが可能になる。なお、Cは運動状態や個人差によって決まる係数であり、Cを適切に設定することで更なる精度向上を図ることができる。
【0167】
また、基準情報取得部164は、信号値取得期間での平均加速度及びステップ数に基づいて基準平均加速度候補を求めてもよい。そして、基準情報取得指示があった場合には、基準平均加速度候補を基準平均加速度として取得する。その際、取得された基準平均加速度は、基準情報取得指示に基づいて取得される信号値取得期間での基準歩幅との対応付けがされることになる。なお、基準情報取得指示の際には、基準情報取得部164は信号値取得期間での走行・歩行の移動距離を表す基準距離情報を取得する。基準距離情報はユーザー入力情報であってもよいし、外部データであってもよい。
【0168】
ここで、信号値取得期間とは、信号値(狭義には加速度センサーのセンサー情報)を取得する期間のことであり、例えば歩行・走行の開始から終了までの期間である。基準情報取得指示とは、基準情報の取得を求める指示のことであり、ユーザーが操作部50を操作することにより行われてもよいし、外部機器からの信号に基づいて行われてもよい。基準情報取得指示は、信号値取得期間でのユーザーの移動距離に対応する基準距離情報の入力を伴うことが想定される。
【0169】
これにより、歩幅推定を主目的として取得した平均加速度に基づいて、基準情報を取得することが可能になる。本実施形態の状態検出装置100の典型的な使用例としては、まず基準情報取得期間での運動で歩幅推定を伴わないキャリブレーションを行い、基準情報を取得し、取得した基準情報を用いて以後の運動(各運動は信号値取得期間で行われる)において歩幅推定を行う(その際はキャリブレーションを伴わない)ものが考えられる。もし基準情報を更新したい場合には、再度歩幅推定を伴わないキャリブレーションを行う。つまり、キャリブレーションと歩幅推定は排他的に行われることが典型例となる。
【0170】
しかし、上述したように、歩幅の推定においても平均加速度(A1〜AN)の算出は行われるし、ステップ検出に伴いステップ数Nの取得も行われる。つまり、キャリブレーションを目的としない運動であっても、上式(11)によりNAを算出することが可能である。通常の運動では、当該運動での移動距離Dが取得されないため、上式(10)を用いた基準歩幅の算出ができないことになり、NAが算出できてもさほど意味はない。基準歩幅と基準平均加速度とは同じ期間での運動に基づいて、対応付けて取得されるべきだからである。しかし、裏を返せばDさえ取得できるのであれば、歩幅推定を目的とした運動においてもキャリブレーションを行うことができるということになる。つまり、目的がキャリブレーションでなくても、NAを毎回算出しておき基準平均加速度候補としておく。そして、基準情報取得指示を受け、基準距離情報Dが入力された場合には、DとNに基づき基準歩幅を算出するとともに、基準平均加速度候補を基準平均加速度として採用すればよい。このようにすれば、歩幅推定とキャリブレーションの両方を1回の運動で行うことが可能になる。
【0171】
なお、本実施形態では、キャリブレーションを主目的とする運動での処理期間を基準情報取得期間とし、基準情報取得期間での精度の高い移動距離を入力距離情報としている。一方、歩幅推定を主目的とする運動での処理期間を信号値取得期間とし、信号値取得期間での精度の高い移動距離を基準距離情報としている。つまり、運動の目的に応じて用語を使い分けているが、基準情報取得期間と信号値取得期間、入力距離情報と基準距離情報の持つ物理的な意味については、差異はほとんどないといってもよい。
【0172】
また、状態検出装置100は、加速度検出値に対してバンドパスフィルター処理を行うフィルター処理部120と、バンドパスフィルター処理のフィルター特性を変化させる制御部130を含んでもよい。そして、ステップ検出部140は、バンドパスフィルター処理後の加速度検出値に基づいてステップ周期を検出する。制御部130は、ステップ検出部140において検出されたステップ周期に基づいて、バンドパスフィルター処理のフィルター特性を変化させる。
【0173】
これにより、取得部110が取得した加速度検出値に対して、適切にフィルター処理を施すことが可能になる。さらに、ステップ周期に基づいて適応的にフィルター特性を変化させることも可能になる。図1に示したように、加速度検出値にはステップ周波数に対応する周波数以外にもピークが存在し、それらの成分は処理の妨げとなる。よって、ステップ周波数を通過させ、他のピークを非通過とするフィルター処理を行うことで、その後の処理を容易にできる。ただし、ステップ周波数は運動状態(具体的にはユーザーの歩行・走行ピッチ)に応じて変化してしまうため、運動状態の変化に追随してフィルターの特性も変化させるとよい。なお、フィルターの通過・非通過とは、カットオフ周波数により決定されてもよい。バンドパスフィルターであれば、カットオフ周波数を上限値、下限値とする通過帯域を設定し、当該通過帯域に含まれる周波数は通過、それ以外の周波数を非通過と定義できる。
【0174】
また、状態検出装置100は、図5に示したように歩幅推定部160により推定された歩幅に基づいて、走行又は歩行の距離を算出する距離情報算出部170を含んでもよい。
【0175】
これにより、推定された歩幅に基づいて、ユーザーの移動距離を算出することが可能になる。例えば、歩幅が1歩ごとに推定されるのであれば、当該歩幅の累和を求めればよい。また、平均加速度がM(Mは2以上の整数)ステップごとに算出される等の要因により、Mステップごとに1歩あたりの歩幅が推定されるのであれば、算出された歩幅とMの積を取ることで移動距離を求めることができる。
【0176】
また、状態検出装置100は、加速度検出値に基づいて、ユーザーの運動状態が走行状態か歩行状態かを判定する判定部150を含んでもよい。そして、距離情報算出部170は、走行状態と判定された場合には歩幅推定部160で推定された歩幅に基づいて距離情報を算出する。また、歩行状態と判定された場合には所定歩幅に基づいて距離情報を算出する。
【0177】
ここで、判定部150での判定は、走行状態或いは歩行状態のどちらか一方であるという判定に限定されず、走行状態でも歩行状態でもない第3の状態であるという判定を行なってもよい。
【0178】
これにより、走行状態と歩行状態とで、距離情報の算出に用いる歩幅を変えることが可能になる。走行状態では、歩行状態に比べて激しい運動であるため、歩幅は激しく変動することが想定される。よって、そのような変動に対応するためにも、歩幅は歩幅推定部160での推定結果を用いるとよい。それに対して、歩行状態は比較的緩やかな運動であるから歩幅の変動は小さい。よって、所定歩幅を用いて距離情報を算出したとしても問題は生じにくいと考えられる。このようにすることで、歩行状態と判定された場合には歩幅推定処理を行う必要がなくなるため、処理負荷を軽減することが可能になる。
【0179】
また、以上の本実施形態は上述した状態検出装置100を含む電子機器に適用してもよい。
【0180】
これにより、図4に示したような状態検出装置100を含む電子機器を実現することが可能になる。電子機器としては典型的には、上述してきた腕時計型デバイスが考えられる。腕時計型デバイスは、図4に示したように状態検出装置100、加速度センサー10の他、表示部40等を含んでもよい。図4では外部のホストコンピューターとの通信を考慮して通信部30を設けているが、通信を行わない(或いは頻度が低い)のであれば、基本的に腕時計型デバイス内ですべての処理を行うことができる。
【0181】
また、以上の本実施形態は、加速度センサー10からの加速度検出値を取得する取得部110と、加速度検出値に基づいて所与の期間ごとの平均加速度を算出する平均加速度算出部162と、基準平均加速度及び基準歩幅を取得する基準情報取得部164と、歩幅を推定する歩幅推定160としてコンピューターを機能させるプログラムにてきようしてもよい。その際、歩幅推定部160は、基準平均加速度と平均加速度の比、及び基準歩幅に基づいて歩幅を推定する。
【0182】
これにより、上述してきた状態検出装置100と同様の処理をプログラムにより実現することが可能になる。そして、上記プログラムは、情報記憶媒体に記録される。ここで、情報記録媒体としては、DVDやCD等の光ディスク、光磁気ディスク、ハードディスク(HDD)、不揮発性メモリーやRAM等のメモリーなど、システムによって読み取り可能な種々の記録媒体を想定できる。例えば、図13のシステム(CPUやGPU等により実現される処理部70を含む電子機器等)では、プログラムは情報記憶媒体60に記憶され、処理部70により読み出されて処理が行われることになる。また、図13から加速度センサー10を除いた構成として、ユーザーが装着する加速度センサー10とは別体のシステム(例えばPC等)を考えた場合に、プログラムは当該システムに含まれる情報記憶媒体60に記憶されてもよい。PC等の場合、ユーザーが装着することは一般的に想定されないため、別体として構成された加速度センサー10から無線通信等によりセンサー情報を取得し、当該センサー情報に対して、情報記憶媒体60に記憶されたプログラムに基づいて処理部70(CPU等)で処理が行われることになる。
【0183】
また、以上の本実施形態は、加速度センサー10からの加速度検出値を取得する取得部110と、加速度検出値に基づいて所与の期間ごとの平均速度を算出する平均速度算出部と、基準平均速度及び基準歩幅を取得する基準情報取得部164と、歩幅を推定する歩幅推定160とを含む状態検出装置100に適用してもよい。歩幅推定部160は、基準平均速度と平均速度の比、及び基準歩幅に基づいて歩幅を推定する。
【0184】
また、以上の本実施形態は、加速度センサー10からの加速度検出値を取得する取得部110と、加速度検出値に基づいて所与の期間ごとの平均速度を算出する平均速度算出部と、基準平均速度及び基準歩幅を取得する基準情報取得部164と、歩幅を推定する歩幅推定160としてコンピューターを機能させるプログラムに適用してもよい。歩幅推定部160は、基準平均速度と平均速度の比、及び基準歩幅に基づいて歩幅を推定する。
【0185】
これにより、平均加速度ではなく、平均速度に基づいた処理を行うことが可能になる。具体的には、上式(13)〜(16)に対応する。その他の処理の内容については平均加速度を用いた場合と同様であるため、詳細な説明は省略する。なお、プログラムに適用した場合に、当該プログラムが図13に示した情報記憶媒体60に記憶される点も同様である。
【0186】
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また状態検出装置の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【0187】
10 加速度センサー、20 記憶部、30 通信部、40 表示部、50 操作部、
60 情報記憶媒体、70 処理部、100 状態検出装置、110 取得部、
120 フィルター処理部、130 制御部、140 ステップ検出部、
142 ステップ周期情報検出部、144 ステップカウント部、150 判定部、
160 歩幅推定部、162 平均加速度算出部、164 基準情報取得部、
166 基準平均加速度算出部、168 基準歩幅算出部、170 距離情報算出部
【特許請求の範囲】
【請求項1】
加速度センサーからの加速度検出値を取得する取得部と、
前記加速度検出値に基づいて、所与の期間ごとの平均加速度を算出する平均加速度算出部と、
基準平均加速度と基準歩幅を取得する基準情報取得部と、
前記基準平均加速度に対する前記平均加速度の比、及び前記基準歩幅に基づいて、歩幅を推定する歩幅推定部と、
を含むことを特徴とする状態検出装置。
【請求項2】
請求項1において、
ステップ検出部を含み、
前記基準情報取得部は、
入力距離情報と、基準情報取得期間で前記ステップ検出部が検出したステップ数とに基づいて、前記基準歩幅を取得することを特徴とする状態検出装置。
【請求項3】
請求項2において、
前記基準情報取得部は、
前記基準情報取得期間で取得された前記平均加速度と、前記ステップ数とに基づいて、前記基準平均加速度を取得することを特徴とする状態検出装置。
【請求項4】
請求項2又は3において、
前記歩幅推定部は、
前記基準平均加速度をNA、前記基準歩幅をNS、係数をC、所与のタイミングで取得された前記平均加速度をAnとした場合に、前記平均加速度Anが取得されたタイミングに対応する前記歩幅Snを、Sn=C×(An/NA)×NSにより求めることを特徴とする状態検出装置。
【請求項5】
請求項2乃至4のいずれかにおいて、
前記入力距離情報は、ユーザー入力情報又は外部データであることを特徴とする状態検出装置。
【請求項6】
請求項2乃至5のいずれかにおいて、
前記基準情報取得部は、
信号値取得期間での前記平均加速度、及び前記信号値取得期間で検出された前記ステップ数に基づいて、基準平均加速度候補を求め、
基準情報取得指示があった場合には、前記信号値取得期間での前記基準歩幅に対応付けて前記基準平均加速度候補を前記基準平均加速度として取得することを特徴とする状態検出装置。
【請求項7】
請求項6において、
前記基準情報取得部は、
前記基準情報取得指示の際に、前記信号値取得期間での前記走行又は前記歩行の基準距離情報を取得することを特徴とする状態検出装置。
【請求項8】
請求項7において、
前記基準距離情報は、ユーザー入力情報又は外部データであることを特徴とする状態検出装置。
【請求項9】
請求項2乃至8のいずれかにおいて、
前記平均加速度算出部は、
前記ステップ検出部でステップが検出されたタイミングに基づいて設定された前記所与の期間ごとに前記平均加速度を算出することを特徴とする状態検出装置。
【請求項10】
請求項9において、
前記加速度検出値に対してバンドパスフィルター処理を行うフィルター処理部と、
前記フィルター処理部での前記バンドパスフィルター処理のフィルター特性を変化させる制御部と、
を含み、
前記ステップ検出部は、
前記バンドパスフィルター処理後の前記加速度検出値に基づいて、ステップ周期情報を検出し、
前記制御部は、
前記ステップ検出部において検出した前記ステップ周期情報に基づいて、前記バンドパスフィルター処理の前記フィルター特性を適応的に変化させることを特徴とする状態検出装置。
【請求項11】
請求項1乃至10のいずれかにおいて、
前記歩幅推定部により推定された前記歩幅に基づいて、走行又は歩行の距離情報を算出する距離情報算出部を含むことを特徴とする状態検出装置。
【請求項12】
請求項11において、
前記加速度検出値に基づいて、走行状態か歩行状態かを判定する判定部を含み、
前記距離情報算出部は、
前記判定部で前記走行状態であると判定された場合には、前記歩幅推定部で推定された前記歩幅に基づいて前記距離情報を算出し、前記判定部で前記歩行状態であると判定された場合には、所定歩幅に基づいて前記距離情報を算出することを特徴とする状態検出装置。
【請求項13】
加速度センサーからの加速度検出値を取得する取得部と、
前記加速度検出値に基づいて、所与の期間ごとの平均速度を算出する平均速度算出部と、
基準平均速度と基準歩幅を取得する基準情報取得部と、
前記基準平均速度に対する前記平均速度の比、及び前記基準歩幅に基づいて、歩幅を推定する歩幅推定部と、
を含むことを特徴とする状態検出装置。
【請求項14】
請求項1乃至13のいずれかに記載の状態検出装置を含むことを特徴とする電子機器。
【請求項15】
加速度センサーからの加速度検出値を取得する取得部と、
前記加速度検出値に基づいて、所与の期間ごとの平均加速度を算出する平均加速度算出部と、
基準平均加速度と基準歩幅を取得する基準情報取得部と、
前記基準平均加速度に対する前記平均加速度の比、及び前記基準歩幅に基づいて、歩幅を推定する歩幅推定部として、
コンピューターを機能させることを特徴とするプログラム。
【請求項16】
加速度センサーからの加速度検出値を取得する取得部と、
前記加速度検出値に基づいて、所与の期間ごとの平均速度を算出する平均速度算出部と、
基準平均速度と基準歩幅を取得する基準情報取得部と、
前記基準平均速度に対する前記平均速度の比、及び前記基準歩幅に基づいて、歩幅を推定する歩幅推定部として、
コンピューターを機能させることを特徴とするプログラム。
【請求項1】
加速度センサーからの加速度検出値を取得する取得部と、
前記加速度検出値に基づいて、所与の期間ごとの平均加速度を算出する平均加速度算出部と、
基準平均加速度と基準歩幅を取得する基準情報取得部と、
前記基準平均加速度に対する前記平均加速度の比、及び前記基準歩幅に基づいて、歩幅を推定する歩幅推定部と、
を含むことを特徴とする状態検出装置。
【請求項2】
請求項1において、
ステップ検出部を含み、
前記基準情報取得部は、
入力距離情報と、基準情報取得期間で前記ステップ検出部が検出したステップ数とに基づいて、前記基準歩幅を取得することを特徴とする状態検出装置。
【請求項3】
請求項2において、
前記基準情報取得部は、
前記基準情報取得期間で取得された前記平均加速度と、前記ステップ数とに基づいて、前記基準平均加速度を取得することを特徴とする状態検出装置。
【請求項4】
請求項2又は3において、
前記歩幅推定部は、
前記基準平均加速度をNA、前記基準歩幅をNS、係数をC、所与のタイミングで取得された前記平均加速度をAnとした場合に、前記平均加速度Anが取得されたタイミングに対応する前記歩幅Snを、Sn=C×(An/NA)×NSにより求めることを特徴とする状態検出装置。
【請求項5】
請求項2乃至4のいずれかにおいて、
前記入力距離情報は、ユーザー入力情報又は外部データであることを特徴とする状態検出装置。
【請求項6】
請求項2乃至5のいずれかにおいて、
前記基準情報取得部は、
信号値取得期間での前記平均加速度、及び前記信号値取得期間で検出された前記ステップ数に基づいて、基準平均加速度候補を求め、
基準情報取得指示があった場合には、前記信号値取得期間での前記基準歩幅に対応付けて前記基準平均加速度候補を前記基準平均加速度として取得することを特徴とする状態検出装置。
【請求項7】
請求項6において、
前記基準情報取得部は、
前記基準情報取得指示の際に、前記信号値取得期間での前記走行又は前記歩行の基準距離情報を取得することを特徴とする状態検出装置。
【請求項8】
請求項7において、
前記基準距離情報は、ユーザー入力情報又は外部データであることを特徴とする状態検出装置。
【請求項9】
請求項2乃至8のいずれかにおいて、
前記平均加速度算出部は、
前記ステップ検出部でステップが検出されたタイミングに基づいて設定された前記所与の期間ごとに前記平均加速度を算出することを特徴とする状態検出装置。
【請求項10】
請求項9において、
前記加速度検出値に対してバンドパスフィルター処理を行うフィルター処理部と、
前記フィルター処理部での前記バンドパスフィルター処理のフィルター特性を変化させる制御部と、
を含み、
前記ステップ検出部は、
前記バンドパスフィルター処理後の前記加速度検出値に基づいて、ステップ周期情報を検出し、
前記制御部は、
前記ステップ検出部において検出した前記ステップ周期情報に基づいて、前記バンドパスフィルター処理の前記フィルター特性を適応的に変化させることを特徴とする状態検出装置。
【請求項11】
請求項1乃至10のいずれかにおいて、
前記歩幅推定部により推定された前記歩幅に基づいて、走行又は歩行の距離情報を算出する距離情報算出部を含むことを特徴とする状態検出装置。
【請求項12】
請求項11において、
前記加速度検出値に基づいて、走行状態か歩行状態かを判定する判定部を含み、
前記距離情報算出部は、
前記判定部で前記走行状態であると判定された場合には、前記歩幅推定部で推定された前記歩幅に基づいて前記距離情報を算出し、前記判定部で前記歩行状態であると判定された場合には、所定歩幅に基づいて前記距離情報を算出することを特徴とする状態検出装置。
【請求項13】
加速度センサーからの加速度検出値を取得する取得部と、
前記加速度検出値に基づいて、所与の期間ごとの平均速度を算出する平均速度算出部と、
基準平均速度と基準歩幅を取得する基準情報取得部と、
前記基準平均速度に対する前記平均速度の比、及び前記基準歩幅に基づいて、歩幅を推定する歩幅推定部と、
を含むことを特徴とする状態検出装置。
【請求項14】
請求項1乃至13のいずれかに記載の状態検出装置を含むことを特徴とする電子機器。
【請求項15】
加速度センサーからの加速度検出値を取得する取得部と、
前記加速度検出値に基づいて、所与の期間ごとの平均加速度を算出する平均加速度算出部と、
基準平均加速度と基準歩幅を取得する基準情報取得部と、
前記基準平均加速度に対する前記平均加速度の比、及び前記基準歩幅に基づいて、歩幅を推定する歩幅推定部として、
コンピューターを機能させることを特徴とするプログラム。
【請求項16】
加速度センサーからの加速度検出値を取得する取得部と、
前記加速度検出値に基づいて、所与の期間ごとの平均速度を算出する平均速度算出部と、
基準平均速度と基準歩幅を取得する基準情報取得部と、
前記基準平均速度に対する前記平均速度の比、及び前記基準歩幅に基づいて、歩幅を推定する歩幅推定部として、
コンピューターを機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2013−113761(P2013−113761A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−261497(P2011−261497)
【出願日】平成23年11月30日(2011.11.30)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願日】平成23年11月30日(2011.11.30)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]