(57)【要約】【課題】歩行開始を正確に検出するための新たな手法を提案すること。【解決手段】歩数計１は、ジャイロセンサー４３の検出結果に基づいて、歩行者であるユーザーの姿勢角としてピッチ角を検出する。そして、加速度センサー４１の検出結果を合成することで得られる合成加速度が所定の閾値加速度を超えているか否かを判定し、超えている場合は歩行が開始されたと推定し、超えていない場合はピッチ角の時間変化に基づいて歩行開始を推定する。【選択図】図１
2010218078.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーの姿勢角を検出することと、
ユーザーの加速度を検出することと、
前記ユーザーの姿勢角と前記ユーザーの加速度とに基づいて歩行開始を推定することと、
を含む歩数検出方法。
【請求項２】
前記姿勢角を検出することは、前記ユーザーのピッチ角を検出することを少なくとも含み、
前記歩行開始を推定することは、
前記加速度が所定の高閾値条件を満たす場合に歩行が開始されたと推定することと、
前記高閾値条件を満たさない場合に前記ピッチ角の時間変化に基づいて歩行開始を推定することと、
を含む、
請求項１に記載の歩数検出方法。
【請求項３】
前記ユーザーのピッチ角の時間変化に対して所定の平滑化処理を行うことを更に含み、
前記歩行開始を推定することは、前記平滑化処理により得られたピッチ角の時間変化に基づいて歩行開始を推定することを含む、
請求項２に記載の歩数検出方法。
【請求項４】
前記ユーザーのピッチ角が所定の急峻変化条件を満たすか否かを判定することを更に含み、
前記歩行開始を推定することは、前記急峻変化条件を満たすと判定された場合に歩行が開始されたと推定することを含む、
請求項２又は３に記載の歩数検出方法。
【請求項５】
前記姿勢角を検出することは、前記ユーザーのヨー角を検出することを少なくとも含み、
前記歩行開始を推定することは、
前記加速度が所定の高閾値条件を満たす場合に歩行が開始されたと推定することと、
前記高閾値条件を満たさない場合に前記ヨー角の時間変化に基づいて歩行開始を推定することと、
を含む、
請求項１に記載の歩数検出方法。
【請求項６】
予め加速度の時間変化を定めた加速度変化パターンと、前記検出された加速度の時間変化との相関演算を行うことを更に含み、
前記歩行開始を推定することは、前記相関演算により得られた相関値に基づいて歩行開始を推定することを含む、
請求項１〜５の何れか一項に記載の歩数検出方法。
【請求項７】
最後に歩数が検出されてからの経過時間が所定の超過時間条件を満たしたことを検出することと、
前記加速度が所定の加速度急峻変化条件を満たしたことを検出することと、
前記超過時間条件及び前記加速度急峻条件の検出結果に基づいて、歩行終了を推定することと、
を更に含む、
請求項１〜６の何れか一項に記載の歩数検出方法。
【請求項８】
姿勢角を検出する姿勢角検出部と、
加速度を検出する加速度検出部と、
前記検出された姿勢角と前記検出された加速度とに基づいて歩行開始を推定する推定部と、
を備えた歩数検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、歩数検出方法及び歩数検出装置に関する。
【背景技術】
【０００２】
歩数検出装置を備えた電子機器として歩数計が市販されている。歩数計は、ユーザーがウォーキングやジョギング等をする際に装着し、歩数や歩行距離、消費カロリー等の情報を参照するために利用されている。歩数検出装置としては、加速度センサーを内蔵し、この加速度センサーの出力に基づいて歩数を検出するものが知られている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３６０５４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されている歩数検出装置では、加速度センサーの出力の時間変化を観測し、加速度の山の部分と谷の部分との差が所定の閾値を超えたか否かに基づいて“１歩”と検出している。しかし、歩行開始時の最初の１歩は、加速度センサーにより検出される加速度の大きさが微小となり、加速度の山の部分と谷の部分との差が明確に現れない傾向がある。そのため、特許文献１の手法では、歩行開始時の歩数をミスカウントする可能性が高く、歩行開始時を検出できない場合があった。
【０００５】
本発明は上述した課題に鑑みて為されたものであり、歩行開始を正確に検出するための新たな手法を提案することを目的としている。
【課題を解決するための手段】
【０００６】
以上の課題を解決するための第１の形態は、ユーザーの姿勢角を検出することと、ユーザーの加速度を検出することと、前記ユーザーの姿勢角と前記ユーザーの加速度とに基づいて歩行開始を推定することと、を含む歩数検出方法である。
【０００７】
また、他の形態として、姿勢角を検出する姿勢角検出部と、加速度を検出する加速度検出部と、前記検出された姿勢角と前記検出された加速度とに基づいて歩行開始を推定する推定部と、を備えた歩数検出装置を構成してもよい。
【０００８】
この第１の形態等によれば、ユーザーの姿勢角及び加速度を検出し、検出したユーザーの姿勢角と加速度とに基づいて歩行開始を推定する。ユーザーの加速度ばかりでなくユーザーの姿勢角を併用することで、歩行開始を正確に検出することが可能となる。
【０００９】
また、第２の形態として、第１の形態の歩数検出方法であって、前記姿勢角を検出することは、前記ユーザーのピッチ角を検出することを少なくとも含み、前記歩行開始を推定することは、前記加速度が所定の高閾値条件を満たす場合に歩行が開始されたと推定することと、前記高閾値条件を満たさない場合に前記ピッチ角の時間変化に基づいて歩行開始を推定することと、を含む歩数検出方法を構成してもよい。
【００１０】
この第２の形態によれば、ユーザーのピッチ角を検出する。そして、ユーザーの加速度が所定の高閾値条件を満たす場合に歩行が開始されたと推定し、高閾値条件を満たさない場合にピッチ角の時間変化に基づいて歩行開始を推定する。歩行開始時には、ユーザーの加速度が微小な値となり、高閾値条件を満たさない場合がある。かかる場合においても歩行開始を検出することを可能にするため、加速度が高閾値条件を満たさない場合は、ユーザーの姿勢角のうちのピッチ角の時間変化に基づいて歩行開始を推定するようにする。
【００１１】
また、第３の形態として、第２の形態の歩数検出方法であって、前記ユーザーのピッチ角の時間変化に対して所定の平滑化処理を行うことを更に含み、前記歩行開始を推定することは、前記平滑化処理により得られたピッチ角の時間変化に基づいて歩行開始を推定することを含む歩数検出方法を構成してもよい。
【００１２】
この第３の形態によれば、ユーザーのピッチ角の時間変化に対して所定の平滑化処理を行う。そして、平滑化処理により得られたピッチ角の時間変化に基づいて歩行開始を推定する。詳細は後述するが、本願発明者が実験を行った結果、平滑化されたピッチ角を用いて歩行開始を推定することで、歩行開始の検出の正確性が向上することがわかった。そのため、平滑化処理により得られたピッチ角の時間変化に基づいて歩行開始を推定するようにする。
【００１３】
また、第４の形態として、第２又は第３の形態の歩数検出方法であって、前記ユーザーのピッチ角が所定の急峻変化条件を満たすか否かを判定することを更に含み、前記歩行開始を推定することは、前記急峻変化条件を満たすと判定された場合に歩行が開始されたと推定することを含む歩数検出方法を構成してもよい。
【００１４】
この第４の形態によれば、ユーザーのピッチ角が所定の急峻変化条件を満たすか否かを判定する。そして、急峻変化条件を満たすと判定された場合に歩行が開始されたと推定する。ユーザーの加速度が高閾値条件を満たさない場合であっても、ユーザーのピッチ角が急峻に変化している場合は歩行が開始された可能性が高いため、ピッチ角が所定の急峻変化条件を満たすか否かによって歩行開始を推定するようにする。
【００１５】
また、第５の形態として、第１の形態の歩数検出方法であって、前記姿勢角を検出することは、前記ユーザーのヨー角を検出することを少なくとも含み、前記歩行開始を推定することは、前記加速度が所定の高閾値条件を満たす場合に歩行が開始されたと推定することと、前記高閾値条件を満たさない場合に前記ヨー角の時間変化に基づいて歩行開始を推定することと、を含む歩数検出方法を構成してもよい。
【００１６】
この第５の形態によれば、ユーザーのヨー角を検出する。そして、加速度が所定の高閾値条件を満たす場合に歩行が開始されたと推定し、高閾値条件を満たさない場合にヨー角の時間変化に基づいて歩行開始を推定する。歩行開始時には、ユーザーの姿勢角のうちのヨー角が大きく変化する場合があるため、ヨー角の時間変化に基づいて歩行開始を推定するようにする。
【００１７】
また、第６の形態として、第１〜第５の何れかの形態の歩数検出方法であって、予め加速度の時間変化を定めた加速度変化パターンと、前記検出された加速度の時間変化との相関演算を行うことを更に含み、前記歩行開始を推定することは、前記相関演算により得られた相関値に基づいて歩行開始を推定することを含む歩数検出方法を構成してもよい。
【００１８】
この第６の形態によれば、予め加速度の時間変化を定めた加速度変化パターンと、検出された加速度の時間変化との相関演算を行う。そして、相関演算により得られた相関値に基づいて歩行開始を推定する。予め定められた加速度変化パターンと実際に検出された加速度の時間変化との相関演算を行うことで、歩行開始の誤検出を防止することができ、歩行開始の検出の正確性が向上する。
【００１９】
また、第７の形態として、第１〜第６の何れかの形態の歩数検出方法であって、最後に歩数が検出されてからの経過時間が所定の超過時間条件を満たしたことを検出することと、前記加速度が所定の加速度急峻変化条件を満たしたことを検出することと、前記超過時間条件及び前記加速度急峻条件の検出結果に基づいて、歩行終了を推定することと、を更に含む歩数検出方法を構成してもよい。
【００２０】
この第７の形態によれば、最後に歩数が検出されてからの経過時間が所定の超過時間条件を満たしたこと、及び、加速度が所定の加速度急峻変化条件を満たしたことの検出結果に基づいて歩行終了を推定する。最後に歩数が検出されてから長時間が経過している場合は、ユーザーは歩行を終了した可能性が高い。それも、当該期間内に加速度が急峻に変化しているタイミングがあれば、当該タイミングがユーザーの歩行終了タイミングであると判断することができる。
【図面の簡単な説明】
【００２１】
【図１】歩数計の概略構成図。
【図２】最初の一歩の検出の原理の説明図。
【図３】最初の一歩の検出の原理の説明図。
【図４】最初の一歩の検出の原理の説明図。
【図５】歩行途中の歩数検出の原理の説明図。
【図６】最後の一歩の検出の原理の説明図。
【図７】相関演算の説明図。
【図８】歩数計の機能構成を示すブロック図。
【図９】ＲＯＭに格納されたデータの一例を示す図。
【図１０】ＲＡＭに格納されるデータの一例を示す図。
【図１１】センサーデータのデータ構成の一例を示す図。
【図１２】歩数検出用データのデータ構成の一例を示す図。
【図１３】メイン処理の流れを示すフローチャート。
【図１４】歩数検出処理の流れを示すフローチャート。
【図１５】歩数検出処理の流れを示すフローチャート。
【図１６】ヨー角を用いた最初の一歩検出の原理の説明図。
【発明を実施するための形態】
【００２２】
以下、図面を参照して、歩数検出装置を備えた電子機器の一種である歩数計に本発明を適用した場合の実施形態について説明する。但し、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけではない。
【００２３】
１．概略構成
図１は、本実施形態における歩数計１を歩行者であるユーザーが装着した様子及び歩数計１の概略構成を説明するための図である。歩数計１は、操作部２０からの指示操作に従って、歩行者であるユーザーの歩行に合わせて歩数及び歩行距離を算出する歩数検出装置を具備した電子機器であり、図１に示すように例えばユーザーの右腰に装着されて使用される。
【００２４】
歩数計１は、加速度センサー４１及びジャイロセンサー４３を有するセンサー部４０を具備しており、センサー部４０の検出結果に基づいてユーザーの歩数をカウントし、予め設定しておいた歩幅と乗算することで、ユーザーの歩行距離を算出する。そして、歩数及び歩行距離を表示部３０に表示させる。
【００２５】
加速度センサー４１は、直交３軸の加速度を検出するセンサーであり、歪みゲージ式や圧電式の何れであってもよく、またＭＥＭＳ（Micro Electro Mechanical Systems）センサーであってもよい。また、ジャイロセンサー４３は、直交３軸の角速度を検出するセンサーであり、加速度センサー４１と軸方向が同一となるように配置設定されている。尚、図１では、加速度センサー４１とジャイロセンサー４３とを独立したセンサーとして図示しているが、加速度センサー４１とジャイロセンサー４３とは一体型のセンサーであってもよい。
【００２６】
本実施形態では、加速度センサー４１及びジャイロセンサー４３の検出軸を、図１に示すような向きで歩数計１が装着された状態で、ユーザーから見て前後方向を「Ｘ軸」、鉛直方向を「Ｙ軸」、左右方向を「Ｚ軸」として説明する。尚、説明を分かり易くするために、加速度センサー４１及びジャイロセンサー４３の検出軸の軸方向を、Ｘ軸，Ｙ軸，Ｚ軸の軸方向と同じとして説明するが、実際には異なっていてもよい。加速度センサー４１及びジャイロセンサー４３の検出軸と、Ｘ軸，Ｙ軸，Ｚ軸の軸方向とは相対的な関係でユーザーに固定されて使用されるため、行列計算によって、加速度センサー４１及びジャイロセンサー４３の検出結果から、Ｘ，Ｙ，Ｚそれぞれの値を算出することができる。
【００２７】
２．原理
次に、歩数計１が行う歩数検出の原理について説明する。本実施形態では、歩数計１は、ユーザーの歩き始めの一歩である「最初の一歩」と、ユーザーが歩き始めてから歩行を終了するまでの「歩行途中の歩数」と、ユーザーが歩行を終了する際の「最後の一歩」とを、それぞれ異なる方法を用いて検出する。以下、それぞれの検出方法について詳細に説明する。
【００２８】
２−１．最初の一歩の検出
最初の一歩は、原則として、加速度センサー４１により検出された直交３軸の加速度を合成することで得られる合成加速度の大きさに基づいて検出する。合成加速度の大きさは、加速度センサーのＸ軸、Ｙ軸及びＺ軸の出力値の二乗和の平方根として算出される。合成加速度を使用することにしたのは、Ｘ軸、Ｙ軸及びＺ軸のそれぞれの出力値を個別に用いて最初の一歩を検出しようとすると、センサー部４０の傾きによって出力値が変化してしまい、歩数検出を正しく行うことができないためである。
【００２９】
合成加速度の大きさが一定以上の大きさの場合には、ユーザーにより一歩が踏み出された可能性が高い。そのため、合成加速度の大きさが歩数検出用の閾値として予め定められた閾値加速度を超えているか否かを判定し、超えていると判定した場合は、その極大値を検出することによって最初の一歩と判定し得る。
【００３０】
しかし、実験を行った結果、ユーザーが歩行を開始するその瞬間においては、合成加速度が大きな値を示さない場合があった。すなわち、合成加速度の大きさだけでは最初の一歩を正確に判定できない場合があることがわかった。そこで、本実施形態では、合成加速度が閾値加速度を超えていない場合であっても、ユーザーの姿勢角の一種であるピッチ角の時間変化が所定条件を満たす場合は、ユーザーにより最初の一歩が踏み出されたものと推定する手法を考案した。
【００３１】
ピッチ角は、ユーザーのＺ軸（左右軸）回りの姿勢角であり、ジャイロセンサー４３により検出されたＺ軸回りの角速度から算出することができる。本実施形態では、ユーザーが直立している状態を「０度」として、体を前方に傾けた状態を正の角度、体を後方に傾けた状態を負の角度とする。そして、ピッチ角が正となった場合の大きさを用いて最初の一歩を検出する。これは、ユーザーが最初の一歩を踏み出す場合は、一時的にしろ、必然的に前傾姿勢になるためである。
【００３２】
図２は、最初の一歩の検出の基本的な考え方を説明するための図である。本実施形態では、ユーザーのピッチ角をそのまま用いるのではなく、ピッチ角の時間変化に対して所定の平滑化処理を行うことで得られる平滑化されたピッチ角を用いて最初の一歩を検出する。図２では、ベジェ曲線を用いて平滑化処理を行った場合の結果を図示している。
【００３３】
図２において、横軸は時間を示しており、縦軸は合成加速度の大きさ及び平滑化されたピッチ角の大きさを示している。また、合成加速度を実線で、ピッチ角のベジェ曲線を破線で、ピッチ角のベジェ曲線の谷に相当する部分（極小値）を点線の丸で、ピッチ角のベジェ曲線の山に相当する部分（極大値）を×印でそれぞれ示している。
【００３４】
本実施形態では、ピッチ角の連続する２つの谷の間の時間範囲に最初の一歩が含まれているものと判定する。図２では、時刻「ｔ１」がピッチ角の谷であり、時刻「ｔ７」が連続する次のピッチ角の谷である。そのため、時刻「ｔ１〜ｔ７」の間に最初の一歩が含まれていると判定する。具体的には、時刻「ｔ１〜ｔ７」の間で合成加速度の大きさが最大となった時刻「ｔ６」が最初の一歩であると判定する。
【００３５】
平滑化されたピッチ角を用いるのは、次の理由によるものである。図３に、図２と同様に合成加速度の大きさとピッチ角の大きさの時間変化を示す。但し、図３では、平滑化処理を施していない検知された“生”のピッチ角の時間変化の模式的変化を破線で示している。
【００３６】
“生”のピッチ角は増減変化が続出し得る。図３では、時刻「ｔ１」がピッチ角の谷であり、時刻「ｔ４」が連続する次のピッチ角の谷である。そのため、時刻「ｔ１〜ｔ４」の間に最初の一歩が含まれていると判定する。具体的には、時刻「ｔ１〜ｔ４」の間で合成加速度が最大となった時刻「ｔ２」が最初の一歩であると判定する。
【００３７】
しかし、時刻「ｔ２」よりも後の時刻「ｔ６」において合成加速度が更に大きな値となっており、時刻「ｔ６」が真の最初の一歩である可能性が高い。ところが、この図３の処理では、歩数計は、時刻「ｔ２」が最初の一歩、時刻「ｔ６」が次の一歩であると判定する。このため、実際にはユーザーは１歩しか歩いていないのに、歩数計は２歩とカウントしてしまう。このような事態が発生することを防止するため、本実施形態では検知されたピッチ角を一旦平滑化して、ピッチ角の総体的な変化を求め、平滑化されたピッチ角を用いて最初の一歩を検出することにしている。
【００３８】
以上が最初の一歩の検出の基本的な考え方であるが、本実施形態では、更なる工夫を施している。図４を参照して、最初の一歩の検出方法の詳細について説明する。図４において、横軸は時間を示しており、縦軸は合成加速度の大きさ及び平滑化されたピッチ角の大きさを示している。また、合成加速度を実線で、平滑化されたピッチ角を破線で、平滑化されたピッチ角の谷に相当する部分（極小値）を点線の丸で、平滑化されたピッチ角の山に相当する部分（極大値）を×印でそれぞれ示している。
【００３９】
本実施形態では、平滑化されたピッチ角が所定の急峻変化条件を満たすか否かに基づいて最初の一歩かどうかの判定を行う。具体的には、平滑化されたピッチ角の谷の値と、次の山の値とを用いて、谷の値から山の値への時間変化（微分値）を求める。この時間変化は、いわば変化の速さの度合いといえる。尚、以下では説明を分かり易くするために、この時間変化（微分値）を、図４における「立ち上がり角α」として説明する。
【００４０】
また、谷から山への値の差と、谷から山となった時間との関係から、どの程度の急激な変化であるかの変化量の度合いを求める。以下では説明を分かり易くするために、この変化度合いを、図４における谷と山とを結ぶ線分の長さで表される「立ち上がり長Ｌ」として説明する。
【００４１】
立ち上がり角αが所定の閾値角度以上であって、立ち上がり長Ｌが所定の閾値長以上である場合に、平滑化されたピッチ角が急峻変化条件を満たすものと判定する。そして、立ち上がり部分の谷から次の谷までの時間範囲に最初の一歩が含まれているものと判断する。図４では、立ち上がり部分の谷に相当する「ｔ１０」と、次の谷に相当する時刻「ｔ１２」までの時間範囲に最初の一歩が含まれていると判断する。具体的には、この時間範囲において合成加速度の大きさが最大となる時刻「ｔ１１」が最初の一歩であると判定する。
【００４２】
このような処理を行うのは、歩行開始時には、ユーザーが前傾姿勢になることによって、ピッチ角が時間的にも大きさ的にも急激な変化を示すことを想定したものである。かかる処理により、合成加速度の大きさが微小となる場合であっても、ピッチ角の時間変化に基づいて最初の一歩を確実に検出することが可能となる。
【００４３】
２−２．歩行途中の歩数検出
図５は、歩行途中の歩数検出の方法を説明するための図である。ユーザーが歩き始めた後、歩行途中における歩数検出は、合成加速度の大きさに対する閾値判定を行うことで実現する。
【００４４】
具体的には、例えば図５に示すような合成加速度の大きさの時間変化において、合成加速度の大きさが所定の閾値加速度「Ａθ」を超えて山（極大値）となった場合に、その時点を「一歩」と判定する。図５では、丸印で示した合成加速度の山に相当する部分が「一歩」とカウントされることになる。
【００４５】
２−３．最後の一歩の検出
図６は、最後の一歩の検出方法を説明するための図である。最後の一歩を検出するためには、先ずユーザーが歩行を終了したか否かを判定する。ユーザーが歩行を終了したか否かの判定は、最後に歩数が検出されてからの経過時間が所定の閾値時間を超えたか否かによって判定する。
【００４６】
具体的には、図６に示すような合成加速度の大きさの時間変化において、合成加速度の大きさが閾値加速度「Ａθ」を超えて山（極大値）となった最後の時刻である時刻「ｔ２０」から所定の閾値時間（例えば１２０ミリ秒）が経過した時刻「ｔ２２」において歩行が終了したものと判定する。
【００４７】
この場合において、時刻「ｔ２０」から時刻「ｔ２２」の間に合成加速度の山（極大値）が存在し、且つ、当該山の部分において合成加速度が急峻に変化している場合は、当該山の部分が最後の一歩であると判定する。具体的には、合成加速度を微分することで合成加速度の傾きを算出し、算出した傾きが所定の閾値以上である場合は、合成加速度は急峻に変化していると判断する。これにより、図６では、時刻「ｔ２１」が最後の一歩であると判定される。
【００４８】
一方、時刻「ｔ２０」から時刻「ｔ２２」の間に合成加速度の山が存在しない場合や、山が存在しても合成加速度が急峻に変化していない場合は、時刻「ｔ２０」が最後の一歩であると判定する。
【００４９】
２−４．相関演算
ここまで、最初の一歩、歩行途中の歩数、最後の一歩の検出方法について説明してきたが、本実施形態では、検出した一歩の妥当性を判断するために、検出した一歩に相当する加速度の山の部分と、予め記憶しておいた加速度の時間変化パターンとの相関演算を行い、得られた相関値の大きさに基づいて当該一歩の妥当性を判断する。
【００５０】
具体的には、最初の一歩、歩行途中の歩数、最後の一歩のそれぞれについて、例えば右足の歩行パターン３種類及び左足の歩行パターン３種類の６種類の加速度の時間変化パターンを歩行パターンとして予め用意して、歩数計１に記憶させておく。すなわち、最初の一歩の判定用に６種類、途中の歩行における歩数判定用に６種類、最後の一歩の判定用に６種類の計１８種類の歩行パターンを予め記憶させておく。尚、用意する歩行パターンの数は適宜変更可能である。
【００５１】
そして、判定対象とする一歩が、最初の一歩に相当するものであるか、途中の歩行におけるものであるか、最後の一歩に相当するものであるかに応じて、対応する歩行パターンを選択する。そして、判定対象とする一歩のタイミングを含む時間的な合成加速度の変化と、選択した歩行パターンとの相関演算を行って相関値を算出する。
【００５２】
図７は、相関演算の説明図である。図７において、時刻「ｔ３０」が歩行途中の一歩の「候補」であるとする。この場合は、途中の歩行における歩数判定用として用意された右足用歩行パターン３種類（パターンＡ、パターンＢ、パターンＣ）及び左足用歩行パターン３種類（パターンＡ、パターンＢ、パターンＣ）それぞれと、時刻「ｔ３０」を含む所定の時間範囲の合成加速度の大きさとの相関演算を行って６個の相関値を得る。尚、具体的な相関演算の方法については、公知の手法を適用することができるため、詳細な説明を省略する。
【００５３】
相関値は、例えば「０〜１」までの値で表され、「０」が相関が最も低く、「１」が相関が最も高いことを示している。相関値が「０．４〜０．５」くらいの値であれば、中程度の相関があることを意味し、相関値が「０．５」以上の値であれば、相関が高いことを意味する。そのため、本実施形態では、得られた６つの相関値の平均値が「０．４５」以上であるか、得られた６つの相関値のうちの最大値が「０．５」以上である場合に、相関ありと判定する。また、これらの条件を満たさない場合は、相関なしと判定する。
【００５４】
そして、相関ありと判定した場合は、「候補」の一歩は「正当」な一歩であると判断し、歩数を更新する。一方、相関なしと判定した場合は、「候補」の一歩は正当な一歩ではないとみなし、歩数を更新しない。このように、最初の一歩、歩行途中の歩数、最後の一歩それぞれについて、予め定められた歩行パターンと合成加速度との相関演算を行い、検出された一歩の妥当性を判定することで、歩数のミスカウントを防止し、歩数を一層正確に検出することが可能となる。
【００５５】
３．機能構成
図８は、歩数計１の機能構成を示すブロック図である。歩数計１は、ＣＰＵ（Central Processing Unit）１０と、操作部２０と、表示部３０と、センサー部４０と、ＲＯＭ（Read Only Memory）５０と、ＲＡＭ（Random Access Memory）６０とを備え、各部がバス７０で接続されている。
【００５６】
ＣＰＵ１０は、ＲＯＭ５０に記憶されているシステムプログラム等の各種プログラムに従って歩数計１の各部を統括的に制御するプロセッサーである。ＣＰＵ１０は、メイン処理を行ってユーザーの歩数及び歩行距離を計測し、表示部３０に表示させる処理を行う。
【００５７】
操作部２０は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号をＣＰＵ１０に出力する。この操作部２０の操作により、歩数及び歩行距離の検出開始指示操作や、歩数及び歩行距離のリセット指示操作、電源切断指示操作等の各種指示入力がなされる。
【００５８】
表示部３０は、ＬＣＤ（Liquid Crystal Display）等により構成され、ＣＰＵ１０から入力される表示信号に基づいた各種表示を行う表示装置である。表示部３０には、歩数や歩行距離等の情報が表示される。
【００５９】
センサー部４０は、ユーザーの歩行状態を検出するための各種センサーで構成されており、本実施形態では、加速度センサー４１とジャイロセンサー４３とを備えて構成されている。センサー部４０は、検出結果をＣＰＵ１０に出力する。
【００６０】
ＲＯＭ５０は、読み取り専用の不揮発性の記憶装置であり、ＣＰＵ１０が歩数計１を制御するためのシステムプログラムや、歩数検出機能を実現するための各種プログラムやデータ等を記憶している。
【００６１】
ＲＡＭ６０は、読み書き可能な揮発性の記憶装置であり、ＣＰＵ１０により実行されるシステムプログラム、各種処理プログラム、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを形成している。
【００６２】
４．データ構成
図９は、ＲＯＭ５０に格納されたデータの一例を示す図である。ＲＯＭ５０には、ＣＰＵ１０により読み出され、メイン処理（図１３参照）として実行されるメインプログラム５０１と、歩行パターンデータベース５０３とが記憶されている。また、メインプログラム５０１には、歩数検出処理（図１４及び図１５参照）として実行される歩数検出プログラム５０１１がサブルーチンとして含まれている。
【００６３】
メイン処理とは、ＣＰＵ１０が、センサー部４０の検出結果に基づいて歩数を検出するとともに、検出した歩数に歩幅を乗算することで歩行距離を算出し、歩数及び歩行距離を表示部３０に表示させる処理である。また、歩数検出処理とは、ＣＰＵ１０が、上述した原理に従って歩数を検出する処理である。これらの処理については、フローチャートを用いて詳細に後述する。
【００６４】
歩行パターンデータベース５０３は、歩数検出処理において、検出された一歩の妥当性を判断するための相関演算に使用する加速度の時間変化パターンが歩行パターンとして記憶されたデータベースである。歩行パターンデータベース５０３には、最初の一歩の判定用のデータである最初の一歩パターンデータ５０３１と、歩行途中の歩数判定用のデータである途中の歩行パターンデータ５０３３と、最後の一歩の判定用のデータである最後の一歩パターンデータ５０３５とが含まれる。
【００６５】
図１０は、ＲＡＭ６０に格納されるデータの一例を示す図である。ＲＡＭ６０には、設定歩幅データ６０１と、センサーデータ６０２と、歩数検出用データ６０３と、平滑化ピッチ角データ６０４と、歩数データ６０５と、歩行距離データ６０６とが記憶される。
【００６６】
設定歩幅データ６０１は、最初に設定するユーザーの歩幅のデータである。歩幅の設定方法としては、例えば、ユーザーに歩幅を入力させ、操作部２０を介して入力された歩幅を設定することが挙げられる。また、ユーザーに身長を入力させ、入力された身長から歩幅を割り出して設定することにしてもよい。
【００６７】
図１１は、センサーデータ６０２のデータ構成の一例を示す図である。センサーデータ６０２には、検出時刻６０２１（例えばミリ秒）と対応付けて、加速度センサー４１により検出された３軸の加速度６０２３と、ジャイロセンサー４３により検出された３軸の軸回りの角速度６０２５とが対応付けて記憶される。例えば、検出時刻「ｔ１」において検出された加速度６０２３は「（Ａｘ１，Ａｙ１，Ａｚ１）」であり、角速度６０２５は「（ωｘ１，ωｙ１，ωｚ１）」である。
【００６８】
図１２は、歩数検出用データ６０３のデータ構成の一例を示す図である。歩数検出用データ６０３には、センサー部４０の検出時刻と対応付けて、３軸の加速度を合成した大きさである合成加速度６０３３と、Ｚ軸回りの角速度に基づいて算出されるユーザーのピッチ角６０３５とが対応付けて記憶される。例えば、検出時刻「ｔ１」において算出された合成加速度６０３３は「Ａ１」、ピッチ角６０３５は「θ１」である。
【００６９】
平滑化ピッチ角データ６０４は、歩数検出用データ６０３に含まれるピッチ角６０３５を平滑化することで得られるピッチ角のデータであり、ピッチ角６０３５を、例えば所定の平滑化フィルタ演算することで得られたデータが記憶される。
【００７０】
歩数データ６０５は、歩数検出処理を行うことで更新される歩数のデータである。また、歩行距離データ６０６は、歩数検出処理で得られた歩数に歩幅を乗算することで得られる歩行距離のデータである。
【００７１】
５．処理の流れ
図１３は、ＲＯＭ５０に記憶されているメインプログラム５０１がＣＰＵ１０により読み出されて実行されることで、歩数計１において実行されるメイン処理の流れを示すフローチャートである。メイン処理は、ＣＰＵ１０が、操作部２０を介してユーザーにより電源投入操作がなされたことを検出した場合に実行を開始する処理である。
【００７２】
先ず、ＣＰＵ１０は、歩幅を設定する（ステップＡ１）。具体的には、例えばユーザーに歩幅を入力させ、入力された歩幅を設定歩幅データ６０１としてＲＡＭ６０に記憶させる。
【００７３】
次いで、ＣＰＵ１０は、センサー部４０から検出結果を取り込んで、ＲＡＭ６０のセンサーデータ６０２への記憶を開始する（ステップＡ３）。そして、ＣＰＵ１０は、ＲＯＭ５０に記憶されている歩数検出プログラム５０１１を読み出して実行することで、歩数検出処理を行う（ステップＡ５）。
【００７４】
図１４及び図１５は、歩数検出処理の流れを示すフローチャートである。
先ず、ＣＰＵ１０は、センサーデータ６０２に記憶されている３軸の加速度６０２３に基づいて合成加速度の大きさ６０３３を算出し、ＲＡＭ６０の歩数検出用データ６０３に記憶させる（ステップＢ１）。
【００７５】
また、ＣＰＵ１０は、センサーデータ６０２に記憶されているＺ軸回りの角速度に基づいてピッチ角６０３５を算出し、歩数検出用データ６０３に記憶させる（ステップＢ３）。そして、ＣＰＵ１０は、ピッチ角平滑化処理を行ってピッチ角を平滑化し、得られたデータをＲＡＭ６０のピッチ角平滑化データ６０４に記憶させる（ステップＢ５）。
【００７６】
その後、ＣＰＵ１０は、ステップＢ１で算出した合成加速度の大きさが所定の閾値加速度を超えているか否かを判定し（ステップＢ７）、超えていると判定した場合は（ステップＢ７；Ｙｅｓ）、合成加速度が減少したか否かを判定する（ステップＢ９）。そして、合成加速度が減少したと判定した場合は（ステップＢ９；Ｙｅｓ）、合成加速度の山に相当する部分を検出する（ステップＢ１１）。
【００７７】
そして、ＣＰＵ１０は、ＲＯＭ５０に記憶されている途中の歩行パターンデータ５０３３と、ステップＢ１１で検出した山に相当する部分の前後の合成加速度との相関演算を行う（ステップＢ１３）。そして、ＣＰＵ１０は、相関があったか否かを判定し（ステップＢ１５）、相関があったと判定した場合は（ステップＢ１５；Ｙｅｓ）、ＲＡＭ６０の歩数データ６０５に記憶されている歩数を更新して（ステップＢ１７）、歩数検出処理を終了する。
【００７８】
また、ステップＢ９において合成加速度が減少していない、すなわち同じであるか増加していると判定した場合（ステップＢ９；Ｎｏ）、又は、ステップＢ１５において相関がないと判定した場合は（ステップＢ１５；Ｎｏ）、ＣＰＵ１０は、歩数検出処理を終了する。
【００７９】
一方、ステップＢ７において合成加速度の大きさが閾値加速度以下であると判定した場合は（ステップＢ７；Ｎｏ）、ＣＰＵ１０は、最初の一歩を検出済みであるか否かを判定する（ステップＢ１９）。そして、最初の一歩をまだ検出していないと判定した場合は（ステップＢ１９；Ｎｏ）、最初の一歩検出処理を行う（ステップＢ２１〜Ｂ３５）。
【００８０】
具体的には、ＣＰＵ１０は、ステップＢ５において平滑化されたピッチ角は山の部分であるか否かを判定する（ステップＢ２１）。そして、山の部分であると判定した場合は（ステップＢ２１；Ｙｅｓ）、ＣＰＵ１０は、当該山の部分と当該山の部分の直前の谷の部分とを判定して立ち上がり角αを算出する（ステップＢ２３）。また、ＣＰＵ１０は、立ち上がり長Ｌを算出する（ステップＢ２５）。
【００８１】
その後、ＣＰＵ１０は、平滑化されたピッチ角が急峻変化条件を満たすか否かを判定する（ステップＢ２７）。具体的には、立ち上がり角αが所定の閾値角度以上であり、且つ、立ち上がり長Ｌが所定の閾値長以上である場合に、急峻変化条件を満たすと判定する。
【００８２】
そして、急峻変化条件を満たすと判定した場合は（ステップＢ２７；Ｙｅｓ）、ＣＰＵ１０は、最初の一歩の対応する合成加速度の山の部分を検出する（ステップＢ２９）。そして、ＣＰＵ１０は、ＲＯＭ５０に記憶されている最初の一歩パターンデータ５０３１と、ステップＢ２９で検出した山の部分の前後の合成加速度との相関演算を実行する（ステップＢ３１）。
【００８３】
そして、ＣＰＵ１０は、相関があったか否かを判定し（ステップＢ３３）、相関があったと判定した場合は（ステップＢ３３；Ｙｅｓ）、ＲＡＭ６０の歩数データ６０５に記憶されている歩数を更新して（ステップＢ３５）、歩数検出処理を終了する。
【００８４】
また、ステップＢ２１において平滑化されたピッチ角は山の部分ではないと判定した場合（ステップＢ２１；Ｎｏ）、ステップＢ２７において急峻変化条件が満たされなかったと判定した場合（ステップＢ２７；Ｎｏ）、又は、ステップＢ３３において相関がないと判定した場合は（ステップＢ３３；Ｎｏ）、ＣＰＵ１０は、歩数検出処理を終了する。
【００８５】
一方、ステップＢ１９において最初の一歩を検出済みであると判定した場合は（ステップＢ１９；Ｙｅｓ）、ＣＰＵ１０は、最後の一歩が検出済みであるか否かを判定する（ステップＢ３７）。そして、最後の一歩をまだ検出していないと判定した場合は（ステップＢ３７；Ｎｏ）、ＣＰＵ１０は、最後の一歩検出処理を行う（ステップＢ３９〜Ｂ５１）。
【００８６】
具体的には、ＣＰＵ１０は、最後に歩数が検出されてから所定時間以上が経過しているか否かを判定し（ステップＢ３９）、所定時間以上が経過していると判定した場合は（ステップＢ３９；Ｙｅｓ）、当該所定時間における合成加速度に対して微分処理を行って合成加速度の傾きを算出する（ステップＢ４１）。
【００８７】
そして、ＣＰＵ１０は、傾きが所定の閾値を超えた時刻が存在するか否かを判定し（ステップＢ４３）、存在すると判定した場合は（ステップＢ４３；Ｙｅｓ）、当該時刻における合成加速度を最後の一歩に対応する山と判定する（ステップＢ４５）。そして、ＲＯＭ５０に記憶されている最後の一歩パターンデータ５０３５と、ステップＢ４５で判定した山の部分の前後の合成加速度との相関演算を実行する（ステップＢ４７）。
【００８８】
そして、ＣＰＵ１０は、相関があったか否かを判定し（ステップＢ４９）、相関があったと判定した場合は（ステップＢ４９；Ｙｅｓ）、ＲＡＭ６０の歩数データ６０５に記憶されている歩数を更新して（ステップＢ５１）、歩数検出処理を終了する。
【００８９】
また、ステップＢ３７において最後の一歩が検出済みであると判定した場合（ステップＢ３７；Ｙｅｓ）、又は、ステップＢ３９において最後に歩数が検出されてから所定時間以上が経過していないと判定した場合は（ステップＢ３９；Ｎｏ）、ＣＰＵ１０は、歩数検出処理を終了する。また、ステップＢ４３において合成加速度の傾きが閾値を超えた時刻が存在しないと判定した場合（ステップＢ４３；Ｎｏ）、又は、ステップＢ４９において相関がないと判定した場合は（ステップＢ４９；Ｎｏ）、ＣＰＵ１０は、歩数検出処理を終了する。
【００９０】
図１３のメイン処理に戻って、歩数検出処理を行った後、ＣＰＵ１０は、検出された歩数に、ステップＡ１で設定した歩幅を乗算することで歩行距離を算出し、ＲＡＭ６０の歩行距離データ６０６に記憶させる（ステップＡ７）。そして、ＣＰＵ１０は、ＲＡＭ６０の歩数データ６０５及び歩行距離データ６０６にそれぞれ記憶されている歩数及び歩行距離を表示部３０に表示させる（ステップＡ９）。
【００９１】
その後、ＣＰＵ１０は、操作部２０を介してユーザーによりリセット指示操作がなされたか否かを判定し（ステップＡ１１）、なされなかったと判定した場合は（ステップＡ１１；Ｎｏ）、ステップＡ１５へと処理を移行する、また、リセット指示操作がなされたと判定した場合は（ステップＡ１１；Ｙｅｓ）、ＲＡＭ６０の歩数データ６０５及び歩行距離データ６０６にそれぞれ記憶されている歩数及び歩行距離をリセットする（ステップＡ１３）。
【００９２】
次いで、ＣＰＵ１０は、操作部２０を介してユーザーにより電源切断指示操作がなされたか否かを判定し（ステップＡ１５）、なされなかったと判定した場合は（ステップＡ１５；Ｎｏ）、ステップＡ５に戻る。また、電源切断指示操作がなされたと判定した場合は（ステップＡ１５；Ｙｅｓ）、メイン処理を終了する。
【００９３】
６．作用効果
歩数計１は、ジャイロセンサー４３の検出結果に基づいて、歩行者であるユーザーの姿勢角としてピッチ角を検出する。そして、加速度センサー４１の検出結果を合成することで得られる合成加速度が所定の閾値加速度を超えているか否かを判定し、超えている場合は歩行が開始されたと推定し、超えていない場合はピッチ角の時間変化に基づいて歩行開始を推定する。
【００９４】
具体的には、立ち上がり角度及び立ち上がり長を算出し、これらの値がそれぞれ所定の閾値を超えている場合に、ピッチ角が急峻変化条件を満たしたと判定して、最初の一歩が踏み出されたものと判定する。歩行開始時には、ユーザーが前傾姿勢になることによりピッチ角が急峻に変化する場合が多いため、ピッチ角が急峻変化条件を満たすか否かを判定することによって、歩行開始を適切に推定することができる。
【００９５】
また、本実施形態では、予め加速度の時間変化を定めた歩行パターンと、合成加速度の時間変化との相関演算を行う。そして、相関演算により得られた相関値に基づいて歩行開始を推定する。予め定められた走行パターンと合成加速度の時間変化との相関演算を行うことで、歩行開始の誤検出を防止し、歩行開始の検出の正確性を向上させることができる。
【００９６】
さらに、本実施形態では、最後に歩数が検出されてからの経過時間が所定時間を超過したことをもって歩行終了と判定し、この期間中に合成加速度が急峻に変化したタイミングが最後の一歩であると判定する。最後に歩数が検出されてから長時間が経過している場合は、ユーザーは歩行を終了した可能性が高い。それも、当該期間中に合成加速度が急峻に変化しているタイミングがあれば、当該タイミングがユーザーの最後の一歩であったと判断することができる。
【００９７】
７．変形例
７−１．電子機器
本発明は、歩数計の他にも、歩数検出装置を備えた電子機器であれば何れの電子機器にも適用可能である。例えば、腕時計等についても同様に適用可能である。
【００９８】
７−２．ヨー角を用いた最初の一歩の検出
上述した実施形態では、ユーザーのピッチ角を用いて最初の一歩を検出するものとして説明した。これは、歩き始めにおいては、ユーザーのピッチ角が大きく変化するという知見に基づくものである。しかし、実験を行った結果、歩き始めにおいては、ユーザーのヨー角（Ｙ軸回りの角度）も大きな時間変化を示すことがわかった。そのため、ユーザーのヨー角を用いて最初の一歩を検出することにしてもよい。
【００９９】
図１６は、ユーザーの合成加速度の大きさとヨー角の大きさの時間変化の一例を示す図である。同図において、横軸は時間を示しており、縦軸は合成加速度の大きさ及びヨー角の大きさを示している。また、合成加速度を実線で、ヨー角を破線でそれぞれ示している。
【０１００】
ヨー角は正負の値をとり得るため、正の閾値角度「Ｙθ」と負の閾値角度「−Ｙθ」とを予め定めておく。そして、ヨー角の検出を開始してから正の方向に変化する場合は、最初に正の閾値角度「Ｙθ」を超えた時間範囲において値が最大となった時刻に最初の一歩があったものと推定する。また、ヨー角の検出を開始してから負の方向に変化する場合は、最初に負の閾値角度「−Ｙθ」よりも小さくなった時間範囲において値が最小となった時刻に最初の一歩があったものと推定する。
【０１０１】
図１６では、ヨー角の検出を開始してから負の方向にヨー角が変化しており、ヨー角が最初に負の閾値角度「−Ｙθ」よりも小さくなった時刻「ｔ４０〜ｔ４２」の時間範囲において、時刻「ｔ４１」でヨー角が最小となっている。そのため、時刻「ｔ４１」に最初の一歩があったものと推定する。実際に、合成加速度の大きさを見ると、時刻「ｔ４１」の近傍において合成加速度が極大となっている。
【０１０２】
尚、上述した実施形態と同様に、この場合は、時刻「ｔ４１」の前後の時間範囲を対象として、当該時間範囲における合成加速度の大きさの時間変化と、予め記憶された歩行パターンとの相関演算を行い、相関がありと判定した場合は、検出した最初の一歩は妥当であると判定するようにする。
【０１０３】
７−３．合成加速度の平滑化処理
上述した実施形態では、合成加速度の“生”の値を用いて歩数を検出するものとして説明したが、合成加速度に対して平滑化処理を行い、平滑化された合成加速度を用いて歩数を検出することにしてもよい。
【符号の説明】
【０１０４】
１  歩数計、  １０  ＣＰＵ、  ２０  操作部、  ３０  表示部、
４０  センサー部、  ４１  加速度センサー、  ４３  ジャイロセンサー、
５０  ＲＯＭ、  ６０  ＲＡＭ、  ７０  バス
【図１】
2010218078.tif 000003
【図２】
2010218078.tif 000004
【図３】
2010218078.tif 000005
【図４】
2010218078.tif 000006
【図５】
2010218078.tif 000007
【図６】
2010218078.tif 000008
【図７】
2010218078.tif 000009
【図８】
2010218078.tif 000010
【図９】
2010218078.tif 000011
【図１０】
2010218078.tif 000012
【図１１】
2010218078.tif 000013
【図１２】
2010218078.tif 000014
【図１３】
2010218078.tif 000015
【図１４】
2010218078.tif 000016
【図１５】
2010218078.tif 000017
【図１６】
2010218078.tif 000018