(57)【要約】【課題】消費電力を低減しつつ歩数を高い精度で計数する。【解決手段】携帯端末１は、加速度値を出力する加速度センサ３０と、加速度値に基づいてユーザの歩行に関する歩行情報を生成するサブプロセッサ６０と、歩行情報に基づいて歩数を示す第１歩数ＳＴ１を計数する第１計数部１１０と、加速度値に基づいて歩数を示す第２歩数ＳＴ２を計数する第２計数部１２０と、第１歩数ＳＴ１及び第２歩数ＳＴ２に基づいて、両者の関係を示す第１関係式Ｆ１を生成する生成部１３０と、第１歩数ＳＴ１と第１関係式Ｆ１とに基づいて、第１歩数ＳＴ１を補正して累積歩数ＳＴ１０を出力する補正部１４０とを備える。【選択図】図１
2018180683.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサに実行させる歩数計測プログラムであって、
前記プロセッサを、
加速度センサから出力される加速度値に基づいて生成されたユーザの歩行に関する歩行情報を取得し、取得した前記歩行情報に基づいて所定タイミングから累積した歩数を示す第１歩数を出力する第１計数部と、
前記加速度値を取得し、取得した前記加速度値に基づいて前記所定タイミングから累積した歩数を示す第２歩数を出力する第２計数部と、
前記第１歩数及び前記第２歩数に基づいて、少なくとも前記第１歩数と前記第２歩数の関係を示す関係式を生成する生成部と、
前記第１歩数と前記関係式とに基づいて、累積歩数を出力する補正部として機能させる、
歩数計測プログラム。
【請求項２】
歩数を計測する準備段階において前記プロセッサを、
前記第１計数部と、前記第２計数部と、前記生成部として機能させ、
歩数を計測する実測段階において前記プロセッサを、
前記第１計数部と、前記補正部として機能させる、
請求項１に記載の歩数計測プログラム。
【請求項３】
前記準備段階において前記プロセッサを、
更に、連続歩行の回数を計数する連続歩行計数部として機能させ、
前記関係式は、前記第１歩数、前記第２歩数、及び前記連続歩行の回数の関係を示し、
前記生成部は、前記第１歩数、前記第２歩数及び前記連続歩行の回数に基づいて、当該関係式を生成し、
前記実測段階において前記プロセッサを、
更に、前記連続歩行計数部として機能させ、
前記補正部は、前記第１歩数及び前記連続歩行の回数と当該関係式とに基づいて、累積歩数を出力する、
請求項２に記載の歩数計測プログラム。
【請求項４】
前記連続歩行計数部は、前記第１歩数が更新された直前のタイミングから現在までの歩行時間と既定時間とを比較してユーザが歩行中であるかユーザが静止しているかを判定し、判定結果に基づいて連続歩行の回数を計数する請求項３に記載の歩数計測プログラム。
【請求項５】
前記準備段階において前記プロセッサを、
更に、ユーザの移動速度を特定する特定部として機能させ、
前記生成部は、
前記特定部で特定した移動速度を取得し、
前記関係式を、前記移動速度が大きい場合に適用する第１速度関係式と、前記移動速度が小さい場合に適用する第２速度関係式とに分けて生成し、
前記実測段階において前記プロセッサを、
更に、前記特定部として機能させ、
前記補正部は、前記特定部から移動速度を取得し、前記第１速度関係式及び前記第２速度関係式のいずれかを前記移動速度に基づいて選択し、選択した関係式と前記第１歩数とに基づいて累積歩数を出力する、
請求項２〜４のうちいずれか１項に記載の歩数計測プログラム。
【請求項６】
前記第１計数部の処理負荷は、前記第２計数部の処理負荷と比較して軽く、
前記第２歩数の精度は、前記第１歩数の精度と比較して高い、
請求項２〜５のうちいずれか１項に記載した歩数計測プログラム。
【請求項７】
加速度値を出力する加速度センサと、
加速度センサから出力される加速度値に基づいてユーザの歩行に関する歩行情報を生成するサブプロセッサと、
前記歩行情報に基づいて所定タイミングから累積した歩数を示す第１歩数を計数する第１計数部と、
前記加速度値に基づいて前記所定タイミングから累積した歩数を示す第２歩数を計数する第２計数部と、
前記第１歩数及び前記第２歩数に基づいて、前記第１歩数と前記第２歩数の関係を示す関係式を生成する生成部と、
前記第１歩数と前記関係式とに基づいて、累積歩数を出力する補正部と、
を備える携帯端末。
【請求項８】
歩数を計測する準備段階において、前記第１計数部、前記第２計数部、及び前記生成部を動作させ、歩数を計測する実測段階において、前記第１計数部及び前記補正部を動作させる、請求項７に記載の携帯端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、歩数計測プログラム及び携帯端末に関する。
【背景技術】
【０００２】
歩数を計数する機能を持つスマートフォンが提供されている。そのようなスマートフォンは、スマートフォン自身に発生する加速度の変化に基づいて歩数を計数する。
【０００３】
上述のスマートフォンでは、例えば、ユーザがすり足で移動した場合、加速度の小さな変化を捉えることができず、すり足が歩数に計数されないことがあった。その結果、歩数が実際より少なく計数されてしまう。そこで、ユーザの歩行の特性を考慮して歩数を計数することにより、歩数の計測精度を高める技術が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５３１０７４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されるユーザの歩行の特性を考慮するための処理技術を、スマートフォンで実現しようとすると、スマートフォンに搭載されたＣＰＵ（Central  Processing  Unit）で、ユーザの歩行の特性を考慮するための処理を行わなければならず、ＣＰＵの負荷が増大するといった問題があった。その結果、スマートフォンのバッテリが早く消耗するといった問題があった。
【０００６】
本発明は、上述の事情に鑑みてなされたものであり、消費電力を低減しつつ歩数を高い精度で計数する歩数計測プログラム及び携帯端末を提供することを解決課題の一つとする。
【課題を解決するための手段】
【０００７】
以上の課題を解決するために、本発明に係る歩数計測プログラムの一態様は、プロセッサに実行させる歩数計測プログラムであって、前記プロセッサを、加速度センサから出力される加速度値に基づいて生成されたユーザの歩行に関する歩行情報を取得し、取得した前記歩行情報に基づいて所定タイミングから累積した歩数を示す第１歩数を出力する第１計数部と、前記加速度値を取得し、取得した前記加速度値に基づいて前記所定タイミングから累積した歩数を示す第２歩数を出力する第２計数部と、前記第１歩数及び前記第２歩数に基づいて、少なくとも前記第１歩数と前記第２歩数の関係を示す関係式を生成する生成部と、前記第１歩数と前記関係式とに基づいて、累積歩数を出力する補正部として機能させる。
【０００８】
上述した歩数計測プログラムの一態様によれば、少なくとも第１歩数と第２歩数との関係を示す関係式を生成部が生成する。補正部は、関係式を用いて累積歩数を生成するので、累積歩数を第２歩数に近づけることができる。この結果、関係式を生成した後は、第２計数部を動作させなくても、第１計数部のみを動作させて精度の高い累積歩数を生成することができる。よって、消費電力を低減しつつ歩数を高い精度で計数することが可能となる。
【０００９】
上述した歩数計測プログラムの一態様は、歩数を計測する準備段階において前記プロセッサを、前記第１計数部と、前記第２計数部と、前記生成部として機能させ、歩数を計測する実測段階において前記プロセッサを、前記第１計数部と、前記補正部として機能させることが好ましい。
【００１０】
この態様によれば、準備段階で機能させる要素と、実測段階で機能させる要素を異ならせることができ、実測段階では第２計数部及び生成部の機能を停止させる。よって、実測段階における処理負荷を軽減し、消費電力を低減しつつ歩数を高い精度で計数することが可能となる。
【００１１】
上述した歩数計測プログラムの一態様は、前記準備段階において前記プロセッサを、更に、連続歩行の回数を計数する連続歩行計数部として機能させ、前記関係式は、前記第１歩数、前記第２歩数、及び前記連続歩行の回数の関係を示し、前記生成部は、前記第１歩数、前記第２歩数及び前記連続歩行の回数に基づいて、当該関係式を生成し、前記実測段階において前記プロセッサを、更に、前記連続歩行計数部として機能させ、前記補正部は、前記第１歩数及び前記連続歩行の回数と当該関係式とに基づいて、累積歩数を出力する、ことが好ましい。
【００１２】
この態様によれば、連続歩行の回数を考慮して、累積歩数を生成することができる。一定の距離を歩行する場合、連続歩行の回数が多ければ、歩行と静止を繰り返すことになる一方、連続歩行の回数が少なくなれば、歩き続ける時間が長くなる。従って、連続歩行の回数は歩行の態様を示している。この態様によれば、歩行の態様を考慮して累積歩数を生成するので、消費電力を低減しつつ、連続歩行の回数を考慮しない場合と比較して累積歩数の精度を更に向上させることができる。
【００１３】
上述した歩数計測プログラムの一態様は、前記連続歩行計数部は、前記第１歩数が更新された直前のタイミングから現在までの時間と既定時間とを比較してユーザが歩行中であるかユーザが静止しているかを判定し、判定結果に基づいて連続歩行の回数を計数することが好ましい。
【００１４】
この態様によれば、歩数の更新から既定時間が経過すると、ユーザが静止していると判定するので、判定結果に基づいて連続歩行の回数を計数することができる。また、既定時間を調整することによって、連続歩行の回数の精度を向上させることが可能となる。よって、消費電力を低減しつつ、連続歩行の回数を考慮しない場合と比較して累積歩数の精度を更に向上させることができる。
【００１５】
上述した歩数計測プログラムの一態様は、前記準備段階において前記プロセッサを、更に、ユーザの移動速度を特定する特定部として機能させ、前記生成部は、前記特定部で特定した移動速度を取得し、前記関係式を、前記移動速度が大きい場合に適用する第１速度関係式と、前記移動速度が小さい場合に適用する第２速度関係式とに分けて生成し、前記実測段階において前記プロセッサを、更に、前記特定部として機能させ、前記補正部は、前記特定部から移動速度を取得し、前記第１速度関係式及び前記第２速度関係式のいずれかを前記移動速度に基づいて選択し、選択した関係式と前記第１歩数とに基づいて累積歩数を出力することが好ましい。
【００１６】
この態様によれば、移動速度に応じた２種類の関係式が用意されているので、ユーザが乗り物に乗っている場合と乗り物に乗っていない場合とで関係式を使い分けることができる。この結果、消費電力を低減しつつ、乗り物の振動による影響を低減し、累積歩数の精度を更に向上させることができる。
【００１７】
上述した歩数計測プログラムの一態様は、前記第１計数部の処理負荷は、前記第２計数部の処理負荷と比較して軽く、前記第２歩数の精度は、前記第１歩数の精度と比較して高い、ことが好ましい。
【００１８】
この態様によれば、関係式を生成する準備段階では、精度が高いが処理負荷が重い第２計数部を用いるが、関係式を生成した後の実測段階では、処理負荷が軽く消費電力の低い第１計数部を用いて、累積歩数を生成する。従って、実測段階では、消費電力を削減しつつ、累積歩数の精度を向上させることができる。
【００１９】
本発明に係る携帯端末の一態様は、加速度値を出力する加速度センサと、加速度センサから出力される加速度値に基づいてユーザの歩行に関する歩行情報を生成するサブプロセッサと、前記歩行情報に基づいて所定タイミングから累積した歩数を示す第１歩数を計数する第１計数部と、前記加速度値に基づいて前記所定タイミングから累積した歩数を示す第２歩数を計数する第２計数部と、前記第１歩数及び前記第２歩数に基づいて、前記第１歩数と前記第２歩数の関係を示す関係式を生成する生成部と、前記第１歩数と前記関係式とに基づいて、累積歩数を出力する補正部と、を備える。
【００２０】
上述した携帯端末の一態様によれば、サブプロセッサで生成される歩行情報を用いて第１歩数を計数するので、第１歩数を簡易に計数することができる。また、第１歩数と第２歩数との間の関係式を生成部が生成する。補正部は、関係式を用いて累積歩数を補正するので、累積歩数を第２歩数に近づけることができる。この結果、関係式を生成した後は、第２計数部を動作させなくても、第１計数部のみを動作させて精度の高い累積歩数を生成することができる。よって、消費電力を低減しつつ歩数を高い精度で計数することが可能となる。
【００２１】
上述した携帯端末の一態様は、歩数を計測する準備段階において、前記第１計数部、前記第２計数部、及び前記生成部を動作させ、歩数を計測する実測段階において、前記第１計数部及び前記補正部を動作させることが好ましい。
【００２２】
この態様によれば、準備段階で機能させる要素と、実測段階で機能させる要素を異ならせることができ、実測段階では第２計数部及び生成部の機能を停止させる。よって、実測段階における処理負荷を軽減し、消費電力を低減することができる。
【図面の簡単な説明】
【００２３】
【図１】第１実施形態における携帯端末１の構成を示す機能ブロック図である。
【図２】第１実施形態におけるテーブル２３０の記憶内容の一例を示す図である。
【図３Ａ】第１実施形態における準備段階の携帯端末１の動作を例示するフローチャートである。
【図３Ｂ】第１実施形態における準備段階の携帯端末１の動作を例示するフローチャートである。
【図３Ｃ】第１実施形態における実測段階の携帯端末１の動作を例示するフローチャートである。
【図４】第２実施形態における携帯端末１の構成を示す機能ブロック図である。
【図５Ａ】第２実施形態における準備段階の携帯端末１の動作を例示するフローチャートである。
【図５Ｂ】第２実施形態における準備段階の携帯端末１の動作を例示するフローチャートである。
【図５Ｃ】第２実施形態における実測段階の携帯端末１の動作を例示するフローチャートである。
【図６】第３実施形態における携帯端末１の機能ブロック図である。
【図７】第３実施形態におけるテーブル２３０の記憶内容の一例を示す図である。
【図８Ａ】第１歩数ＳＴ１と第２歩数ＳＴ２との関係を例示するグラフである。
【図８Ｂ】累積歩数ＳＴ１０と第２歩数ＳＴ２と関係を例示するグラフである。
【発明を実施するための形態】
【００２４】
以下、図面を参照しながら本発明に係る実施形態を説明する。また、以下に記載する実施形態は、本発明の好適な具体例である。このため、本実施形態には、技術的に好ましい種々の限定が付されている。しかしながら、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの形態に限られるものではない。
【００２５】
＜第１実施形態＞
図１は、第１実施形態における携帯端末１の構成を示す機能ブロック図である。携帯端末１は、メインプロセッサ１０と、記憶部２０と、加速度センサ３０と、操作表示部４０と、通信部５０と、サブプロセッサ６０とを備える。なお、携帯端末１の構成は、図２１の例に限定されない。例えば、携帯端末１がカメラを更に有していてもよい。
【００２６】
メインプロセッサ１０は、歩数計測プログラム２２１を記憶部２０から読み出し、読み出した歩数計測プログラム２２１を実行することで、計時、演算及び制御を行い、メインプロセッサ１０の各種の機能を実現する。特に、メインプロセッサ１０は、第１計数部１１０の機能と、第２計数部１２０の機能と、生成部１３０の機能と、補正部１４０の機能とを実現する。
【００２７】
詳細は後述するが、歩数計測プログラム２２１は、歩数の計測において、処理負荷が重い準備段階と処理負荷が軽い実測段階とにおいて、実現する機能が異なる。メインプロセッサ１０は、準備段階では、精度の低い第１歩数ＳＴ１を出力する第１計数部１１０と、精度の高い第２歩数ＳＴ２を出力する第２計数部１２０とをほぼ同時（同時を含む）に動作させ、第１歩数ＳＴ１と第２歩数ＳＴ２との関係を示す第１関係式Ｆ１を生成部１３０によって生成する。一方、実測段階では、第１計数部１１０と補正部１４０を動作させ、第１計数部１１０で計数した第１歩数ＳＴ１を、第１関係式Ｆ１を用いて補正して歩数を出力する。また、メインプロセッサ１０は、例えば、ＣＰＵ、ＭＰＵ（Micro  Processor  Unit）、ＭＣＵ（Memory  Control  Unit）等のハードウェアである。
【００２８】
記憶部２０は、各種のプログラム及びデータを記憶すると共に、メインプロセッサ１０及びサブプロセッサ６０の作業領域として機能する。また、記憶部２０は、不揮発性メモリと、揮発性メモリとを包含する。記憶部２０は、操作表示部４０や通信部５０から取り込まれた各種情報やサブプロセッサ６０やメインプロセッサ１０で演算された各種結果を記憶する。特に、記憶部２０は、サブプロセッサ６０を機能させるためのデフォルト歩数計数プログラム２１０と、メインプロセッサ１０を機能させるための歩数計測プログラム２２１と、実測段階における累積歩数ＳＴ１０を求めるための第１関係式Ｆ１、並びにメインプロセッサ１０が求めた第１歩数ＳＴ１及び第２歩数ＳＴ２などの計測結果を記憶するためのテーブル２３０とを記憶する。
【００２９】
なお、記憶部２０は、例えば、非一過性（non-transitory）の記憶媒体である。更に言えば、記憶部２０は、公知の任意の形式の記憶媒体、例えば、半導体記憶媒体、磁気式記憶媒体又は光学式記憶媒体である。代替的に、記憶部２０は、これらの記憶媒体が組み合わされた記憶媒体であってもよい。本願明細書において、非一過性の記憶媒体とは、一過性の伝播信号（transitory, propagating signal）を除く全てのコンピュータ読み取り可能な記憶媒体を含み、揮発性の記憶媒体を除外するものではない。
【００３０】
加速度センサ３０は、例えば、３軸加速度センサである。加速度センサ３０は、歩行（走行も含む）によって生じた３軸方向の加速度値Ａ、具体的には、Ｘ軸方向の加速度値ＡＸと、Ｙ軸方向の加速度値ＡＹと、Ｚ軸方向の加速度値ＡＺとを検出する。加速度センサ３０は、検出した３軸方向の加速度値Ａをサブプロセッサ６０に出力する。加速度センサ３０の検出方式は、静電容量方式でもよいし、ピエゾ方式でもよく、特定の方式に限定されない。加速度センサ３０の出力は、デジタル信号であってもよいし、アナログ信号であってもよい。
【００３１】
操作表示部４０は、例えば、静電容量方式のタッチパネルである。操作表示部４０は、入力デバイス及び表示デバイスの双方の機能を持つ。操作表示部４０は、入力デバイスの機能として、歩数計測プログラム２２１の起動や各種設定などをユーザによるタッチ操作を受けて検出し、検出結果をユーザの指示情報としてメインプロセッサ１０に出力する。操作表示部４０は、表示デバイスの機能として、メインプロセッサ１０の指示に従って、メインプロセッサ１０による出力結果（例えば、設定結果情報及び計測結果）を表示する。なお、操作表示部４０の代わりに、入力デバイス（テンキーを含む複数のボタン）及び表示デバイスを別個に携帯端末１が有していてもよい。また、操作表示部４０をユーザが操作する操作部と、ユーザに情報を表示する表示部とに分離してもよい。
【００３２】
通信部５０は、携帯端末１の外部と通信可能に構成されている。具体的には、通信部５０は、例えば、携帯端末１が位置するセルの基地局を経由して通話先の携帯端末と音声通信する。また、通信部５０は、例えば、携帯端末１が位置するセルの基地局を経由してインターネット回線に接続し、サーバ装置と通信し、歩数計測プログラム２２１をダウンロードする。更に、通信部５０は、パーソナルコンピュータと有線又は無線などにより接続し、各種設定などの指示情報を受信し、メインプロセッサ１０による出力結果（例えば、設定結果情報及び計測結果）を送信する。
【００３３】
サブプロセッサ６０は、デフォルト歩数計数プログラム２１０を記憶部２０から読み出し、読み出したデフォルト歩数計数プログラム２１０を実行することで、デフォルト計数部６１０の機能を実現する。サブプロセッサ６０は、メインプロセッサ１０からの要求に応じて、デフォルト計数部６１０で計数した歩数ＳＴ０をメインプロセッサ１０に出力する。また、サブプロセッサ６０は、加速度センサ３０から出力された加速度値Ａを取得し、メインプロセッサ１０からの要求に応じて、メインプロセッサ１０に出力する。なお、デフォルト計数部６１０を含むサブプロセッサ６０は、メインプロセッサ１０の補助する役割、及びメインプロセッサ１０の処理の一部を実行する役割を担う。このため、サブプロセッサ６０は、メインプロセッサ１０と比較して処理能力が低くてもよい。その一方、サブプロセッサ６０は、メインプロセッサ１０の消費電力よりも低い消費電力で動作する。サブプロセッサ６０は、例えば、ＣＰＵ、ＭＰＵ、ＭＣＵなどのハードウェアで構成されている。
【００３４】
次に、デフォルト歩数計数プログラム２１０によって実現される機能について説明する。デフォルト計数部６１０は、歩数の計測の準備段階（実測段階における歩数を求めるための第１関係式Ｆ１を生成するまでの過程）及び歩数の計測の実測段階（第１関係式Ｆ１を用いて実測段階における歩数を求める過程）で動作する。デフォルト計数部６１０は、加速度センサ３０から出力された加速度値Ａを取得し、取得した加速度値Ａに基づいて、歩数ＳＴ０を計数する。この歩数ＳＴ０は、携帯端末１の電源がオンになってデフォルト歩数計数プログラム２１０が起動してから累積した歩数を示す。
【００３５】
次に、歩数計測プログラム２２１によって実現される機能について説明する。第１計数部１１０は、準備段階及び実測段階で動作する。第１計数部１１０は、準備段階及び実測段階において、サブプロセッサ６０からデフォルト計数部６１０が計数した歩数ＳＴ０を取得する。次いで、第１計数部１１０は、この取得した歩数ＳＴ０に基づいて、所定タイミングから累積処理をした第１歩数ＳＴ１を生成する。具体的には、第１計数部１１０は、この取得した歩数ＳＴ０に基づいて、一歩を検出し、一歩を検出するごとに検出回数を累積して第１歩数ＳＴ１とする。ここで、所定タイミングとは、歩数の計数が開始されるタイミングである。例えば、歩数計測プログラム２２１が起動され、ユーザが歩数の計測開始を入力したタイミングが所定タイミングである。あるいは、歩数計測プログラム２１１が起動と同時に計測を開始するのであれば、歩数計測プログラム２１１が起動されたタイミングが所定タイミングである。
【００３６】
第１計数部１１０による歩数ＳＴ０の取得は、サブプロセッサ６０に取得要求を送信することによって実行される。この例では、歩数計測プログラム２２１を実行すると、メインプロセッサ１０は、取得要求を例えば１６Ｈｚでサブプロセッサ６０に送信する。これによって、第１計数部１１０は、１秒間に１６回、歩数ＳＴ０を取得することができる。
【００３７】
ｎ番目のタイミングで取得した歩数ＳＴ０をＳＴ０（ｎ）で表すものとする。現在のタイミングがｎ番目である場合、第１計数部１１０は、ＳＴ０（ｎ）とＳＴ０（ｎ-１）とを比較し、ＳＴ０（ｎ）−ＳＴ０（ｎ-１）が「１」の場合、ユーザが一歩進んだことを検出する。一方、第１計数部１１０は、ＳＴ０（ｎ）−ＳＴ０（ｎ-１）が「０」の場合、ユーザが一歩進んだことを検出しない。この例では、１秒間に１６回といった高い頻度で取得要求をサブプロセッサ６０に送信しているので、ユーザが１歩進んだことを確実に検出することができる。
【００３８】
第２計数部１２０は、準備段階でのみ動作する。まず、第２計数部１２０は、準備段階において、サブプロセッサ６０から出力された加速度値Ａを取得する。次いで、第２計数部１２０は、この取得した加速度値Ａに基づいて、上述した所定タイミングから累積した歩数を示す第２歩数ＳＴ２を計数する。換言すると、第２計数部１２０は、この取得した加速度値Ａに基づいて、一歩を検出し、一歩を検出するごとに検出回数を累積して第２歩数ＳＴ２とする。なお、第２計数部１２０は、加速度センサ３０から直接出力された加速度値Ａを用いて第２歩数ＳＴ２を生成することも可能である。
【００３９】
また、準備段階において、第１計数部１１０及び第２計数部１２０は、第１計数部１１０が歩数ＳＴ０を取得するタイミングと、第２計数部１２０が加速度値Ａを取得するタイミングとをほぼ同時（同時を含む）で、歩行の際にほぼ一歩となる間隔よりも短い間隔で行う。
【００４０】
ここで、第２計数部１２０による加速度値Ａに基づいて歩数を計数する処理は、デフォルト計数部６１０による加速度値Ａに基づいて歩数を計数する処理よりも、高い精度で歩数を得ることができる。
例えば、デフォルト計数部６１０による加速度値Ａに基づいて歩数を計数する処理は、Ｘ軸方向の加速度値ＡＸ、Ｙ軸方向の加速度値ＡＹ及びＺ軸方向の加速度値ＡＺの各々について最大値と最小値との差を求め、いずれかの軸方向の加速度値の最大値と最小値との差が閾値以上であったときに一歩を検出し、検出回数を累積して歩数ＳＴ０を生成する。
【００４１】
これに対して、第２計数部１２０による加速度値Ａに基づいて歩数を計数する処理は、Ｘ軸方向の加速度値ＡＸ、Ｙ軸方向の加速度値ＡＹ及びＺ軸方向の加速度値ＡＺを合成して、３軸方向の加速度値の絶対値｜Ａ｜を算出し（｜Ａ｜＝（ＡＸ２＋ＡＹ２＋ＡＺ２）１／２）する。さらに当該処理では、３軸方向の加速度値の絶対値｜Ａ｜の最大値と最小値との差が閾値以上であり、その差が一定時間内に収まっているときに一歩を検出し、検出回数を累積して第２歩数ＳＴ２を生成する。
【００４２】
更に、デフォルト計数部６１０による加速度値Ａに基づいて歩数を計数する処理では、加速度センサ３０から取得した加速度値Ａをそのまま用いて、歩数として計数する。これに対して、第２計数部１２０による加速度値Ａに基づいて歩数を計数する処理では、加速度センサ３０から得られたＸ軸方向の加速度値ＡＸ、Ｙ軸方向の加速度値ＡＹ及びＺ軸方向の加速度値ＡＺにノイズ成分を除去するフィルタリング処理を施して、フィルタリング処理後の加速度値ＡＸ、加速度値ＡＹ及び加速度値ＡＺに基づいて第２歩数ＳＴ２を生成する。
【００４３】
次に、生成部１３０は、準備段階でのみ動作する。まず、生成部１３０は、準備段階において、第１計数部１１０から第１歩数ＳＴ１を取得し、第２計数部１２０から第２歩数ＳＴ２を取得する。そして、生成部１３０は、単位時間あたりの第１歩数ＳＴ１と単位時間あたりの第２歩数ＳＴ２とを組として日時に関連付けてテーブル２３０に記憶する。なお、このテーブル２３０への記憶は、単位時間ごとに繰り返し、一定期間が経過するまで行う。また、生成部１３０は、準備段階において、テーブル２３０に記憶した単位時間あたりの第１歩数ＳＴ１と単位時間あたりの第２歩数ＳＴ２との組を用いて、実測段階における歩数を求めるための第１関係式Ｆ１を生成し、記憶部２０に記憶する。
【００４４】
単位時間とは、１日の時間を複数に分割し、分割された複数の時間の各々を指す。例えば、１日の時間を２４等分した場合、単位時間は１時間となる。無論、単位時間は３０分でもよい。また、第１関係式Ｆ１を生成するにあたって、１日あたりの歩数ではなく、単位時間あたりの歩数を用いることで、精度の高い第１関係式Ｆ１が得られる。それは、同じユーザでも、時間帯によって、歩き方が変わる傾向があるためである。例えば、家で家事をするときの一歩は、外を歩くときの一歩より小さいことが多い。そのような理由により、家で家事をする場合に得られた歩数は誤差を含みやすい。単位時間を１日より短くすることで、ユーザの歩き方の特徴を第１関係式Ｆ１に反映させることができる。
【００４５】
生成部１３０の機能について、ある時刻をｔｎ−１とし、ある時刻ｔｎ−１から単位時間が経過した現在の時刻をｔｎとし、ｎを任意の自然数として表し、より具体的に説明する。
先ず、生成部１３０は、準備段階において、ある時刻ｔｎ−１から単位時間が経過するまで、第１計数部１１０から第１歩数ＳＴ１を取得し、かつ第２計数部１２０から第２歩数ＳＴ２を取得し、この単位時間において取得した第１歩数ＳＴ１と第２歩数ＳＴ２とを組とし、年月日及び時間帯に関連付けてテーブル２３０に記憶する。以後、生成部１３０は、準備段階において、単位時間あたりの第１歩数ＳＴ１と単位時間あたりの第２歩数ＳＴ２との組を一定期間記憶する。
【００４６】
ここで、生成部１３０の機能について、第１実施形態におけるテーブル２３０の一例を示す図２を参照しながら、より詳細に説明する。
【００４７】
図２の例では、単位時間が１時間に設定されている。例えば、テーブル２３０の１行目は、２０１６年６月１日の８時から９時までの時間帯において、第１歩数ＳＴ１が６２歩であり、第２歩数ＳＴ２が１０歩であったことを示している。２０１６年６月１日の８時の時点で、第１計数部１１０における第１歩数ＳＴ１が０にリセットされ、第２計数部１２０における第２歩数ＳＴ２も０にリセットされる。生成部１３０は、２０１６年６月１日の９時になると、第１歩数ＳＴ１＝６２、第２歩数ＳＴ２＝１０を取得する。生成部１３０は、第１歩数ＳＴ１＝６２と第２歩数ＳＴ２＝１０とを組にして、２０１６年６月１日及び８時から９時の時間帯に関連付けてテーブル２３０に記憶する。
【００４８】
上述のように、生成部１３０は、準備段階において、一定期間が経過するまで、単位時間あたりの第１歩数ＳＴ１と単位時間あたりの第２歩数ＳＴ２との組を日時に関連付けてテーブル２３０に記憶する。一定期間は、実用的な観点からユーザの歩き方の特徴を十分に把握することができるように定められる。例えば、一定期間は一週間である。ただし、第１関係式Ｆ１の精度を向上させる観点から、第１歩数ＳＴ１と第２歩数ＳＴ２との組の数は多いほど好ましいため、一定期間は一週間を超えてもよい。
【００４９】
次に、生成部１３０は、準備段階において、テーブル２３０に一定期間記憶した、単位時間あたりの第１歩数ＳＴ１と単位時間あたりの第２歩数ＳＴ２との組を読み出し、統計的手法（回帰分析）によって、第１歩数ＳＴ１から第２歩数ＳＴ２を推定する第１関係式Ｆ１を生成し記憶部２０に記憶する。
【００５０】
第１関係式Ｆ１は、次の式（１）で表される。但し、累積歩数ＳＴ１０は、第１歩数ＳＴ１に基づいて推定される第２歩数ＳＴ２である。
Ｆ１（ＳＴ１）＝ＳＴ１０＝ＳＴ１×α＋γ  …（１）
【００５１】
式（１）は、回帰直線である。αは係数を、γは切片を表し、例えば、最小二乗法が適用されて導き出される。このような第１関係式Ｆ１とすることで、実測段階における累積歩数ＳＴ１０は、第１歩数ＳＴ１に基づいて、第１歩数ＳＴ１よりも高い精度の第２歩数ＳＴ２に相当するものとなる。
【００５２】
補正部１４０は、実測段階でのみ動作する。補正部１４０は、実測段階において、記憶部２０に記憶した第１関係式Ｆ１を取得し、また、第１計数部１１０から第１歩数ＳＴ１を取得し、第１関係式Ｆ１に第１歩数ＳＴ１を代入して、実測段階における累積歩数ＳＴ１０を求める。
【００５３】
次に、携帯端末１の動作について説明する。携帯端末１は、主なる機能として、準備段階における機能と実測段階における機能とに大別される。まず、図３Ａ及び図３Ｂに示すフローチャートを用いて、準備段階における携帯端末１の機能について説明する。
【００５４】
操作表示部４０からの操作により携帯端末１の電源（図示省略）が投入されると、各部の動作の実行が可能となる。この際、サブプロセッサ６０は、デフォルト歩数計数プログラム２１０を記憶部２０から読み出し、読み出したデフォルト歩数計数プログラム２１０を実行する。具体的には、デフォルト計数部６１０が、加速度センサ３０から出力された加速度値Ａを取得し、取得した加速度値Ａに基づいて歩数ＳＴ０を計数する（ステップＳ１）。
【００５５】
次に、メインプロセッサ１０は、操作表示部４０からの操作により歩数計測プログラム２２１を記憶部２０から読み出し、読み出した歩数計測プログラム２２１を起動する。この起動状態の際に、操作表示部４０からの操作により準備段階のモードが選択されると、歩数計測プログラム２２１における準備段階における機能を実行する。準備段階の開始として、まず、第１計数部１１０は第１歩数ＳＴ１を０（ＳＴ１＝０）にリセットし、第２計数部１２０は第２歩数ＳＴ２を０（ＳＴ２＝０）にリセットする（ステップＳ２）。
【００５６】
続いて、第１計数部１１０は、デフォルト計数部６１０で計数された歩数ＳＴ０を取得し（ステップＳ１１）、取得した歩数ＳＴ０に基づいて一歩を検出したか否かを判定する（ステップＳ１２）。一歩を検出した場合には（ステップＳ１２でＹＥＳ）、第１歩数ＳＴ１をインクリメントする（ステップＳ１３）。一方、一歩を検出してない場合には（ステップＳ１２でＮＯ）、第１歩数ＳＴ１をインクリメントしない。
【００５７】
また、第２計数部１２０は、加速度センサ３０から出力される加速度値Ａを取得し（ステップＳ２１）、取得した加速度値Ａにノイズ除去などのフィルタリング処理を施す（ステップＳ２２）。更に、第２計数部１２０は、フィルタリング処理が施された加速度値Ａに基づいて、一歩を検出したか否かを判定する（ステップＳ２３）。一歩を計数した場合には（ステップＳ２３でＹＥＳ）、第２計数部１２０は第２歩数ＳＴ２をインクリメントする（ステップＳ２４）。一方、一歩を検出していない場合には（ステップＳ２３でＮＯ）、第２計数部１２０は第２歩数ＳＴ２をインクリメントしない。
【００５８】
第１計数部１１０によるステップＳ１２でＮＯ又はステップＳ１３の処理、及び第２計数部１２０によるステップＳ２３でＮＯ又はステップＳ２４の処理の後、生成部１３０は図３Ｂに示す処理を実行する。
【００５９】
生成部１３０は、第１歩数ＳＴ１と第２歩数ＳＴ２とがリセットされてから、単位時間（例えば、１時間）を経過したか否かを判定する（ステップＳ３１）。単位時間を経過した場合には（ステップＳ３１でＹＥＳ）、生成部１３０は、第１計数部１１０でインクリメントしたこの単位時間における第１歩数ＳＴ１と、第２計数部１２０でインクリメントしたこの単位時間における第２歩数ＳＴ２とを組とする。そして、生成部１３０は、第１歩数ＳＴ１と第２歩数ＳＴ２との組を、当該単位時間における日時に関連付けて、記憶部２０のテーブル２３０に記憶した後、第１歩数ＳＴ１及び第２歩数ＳＴ２をリセットする（ステップＳ３２）。一方、単位時間を経過してない場合には（ステップＳ３１でＮＯ）、ステップＳ１１及びステップＳ２１に戻り、処理を繰り返す。
【００６０】
次いで、生成部１３０は、準備段階の開始から一定期間が経過したか否かを判定する（ステップＳ３３）。一定期間を経過していない場合には（ステップＳ３３でＮＯ）、ステップＳ２に戻り、処理を繰り返す。一方、一定期間が経過した場合には（ステップＳ３３でＹＥＳ）、生成部１３０は、記憶部２０に記憶したテーブル２３０から、一定期間に記憶された第１歩数ＳＴ１と第２歩数ＳＴ２との組を読み出す。そして、生成部１３０は、統計的手法によって、第１歩数ＳＴ１から第２歩数ＳＴ２を推定する第１関係式Ｆ１を生成し（ステップＳ３４）、この生成した第１関係式Ｆ１を記憶部２０に記憶して、準備段階における一連の処理を終了する。
【００６１】
次に、図３Ｃに示すフローチャートを用いて、実測段階における携帯端末１の動作について説明する。なお、ここでは、歩数計測プログラム２２１の起動状態が維持されているものとして説明する。
サブプロセッサ６０は、準備段階における処理が終了した後も、引き続き、準備段階で説明したステップＳ１と同様に、デフォルト計数部６１０により歩数ＳＴ０を計数する処理を行う（ステップ４１）。
【００６２】
次に、メインプロセッサ１０では、歩数計測プログラム２２１が起動状態の際に、操作表示部４０からの操作により実測段階のモードが選択されると、歩数計測プログラム２２１０おける実測段階の機能を実行する。実測段階の開始として、まず、第１計数部１１０は、第１歩数ＳＴ１を０（ＳＴ１＝０）にリセットする（ステップＳ４２）。
【００６３】
次に、この後のステップＳ４３〜ステップＳ４５では、準備段階で説明した第１計数部１１０によるステップＳ１１〜ステップＳ１３の処理と同様に、第１計数部１１０により処理を行い、ステップＳ４４でＮＯ又はステップＳ４５の処理の後、ステップ４６に進む。
【００６４】
次に、補正部１４０は、操作表示部４０における画面が表示中か否かを判定する（ステップＳ４６）。画面が表示中である場合には（ステップＳ４６でＹＥＳ）、第１歩数ＳＴ１を取得し、記憶部２０に記憶した第１関係式Ｆ１を読み出し、読みだした第１関係式Ｆ１に第１歩数ＳＴ１を代入して、実測段階における累積歩数ＳＴ１０を求める（ステップＳ４７）。
【００６５】
次に、操作表示部４０は、補正部１４０で算出した実測段階における累積歩数ＳＴ１０を表示する（ステップＳ４８）。ステップＳ４６でＮＯ又はステップＳ４８の処理の後、第１計数部１１０は、操作表示部４０から測定終了の指示を受けたか否かを判定する（ステップＳ４９）。測定終了の指示を受けていない場合には（ステップＳ４９でＮＯ）、ステップＳ４３に戻り、処理が繰り返される。一方、測定終了の指示を受けた場合にはステップＳ４９でＹＥＳ）、実測段階における一連の処理を終了する。
【００６６】
第１実施形態によれば、準備段階において、第１計数部１１０と第２計数部１２０とを動作させて、第１歩数ＳＴ１と第２歩数ＳＴ２との関係を示す第１関係式Ｆ１を生成部１３０で生成し、実測段階では、第２計数部１２０の動作を停止させ、第１計数部１１０で計測された第１歩数ＳＴ１と第１関係式Ｆ１を用いて累積歩数ＳＴ１０を生成した。第２計数部１２０は、第１計数部１１０と比較して、処理負荷が大きく消費電力が大きいが計数の精度は高い。準備段階では第１計数部１１０と第２計数部１２０とを動作させるので、消費電力は増加するが、実測段階では第１計数部１１０と補正部１４０のみを動作させれば、第１歩数ＳＴ１よりも精度の高い累積歩数ＳＴ１０を、低消費電力で生成することができる。この結果、携帯端末１は、歩数計測プログラム２２１を実行することによって、消費電力を低減しつつ歩数を高い精度で計数することができる。
【００６７】
＜第２実施形態＞
第１実施形態で説明した歩数計測プログラム２２１は、連続歩行を検出することを機能させるものでなかった。これに対して、第２実施形態の歩数計測プログラム２２２は、連続歩行の回数ＮＣを計数することを機能させるもので、生成部１３０が第１歩数ＳＴ１及び第２歩数ＳＴ２の他に連続歩行の回数ＮＣに基づいて関係式Ｆを生成する点で、第１実施形態と相違する。
なお、以下、第２実施形態において、第１実施形態で説明した同様な部分の説明を省略し、相違する部分について説明する。
【００６８】
連続歩行とは、ユーザが立ち止まらずに連続して歩行することを意味する。また、連続歩行の回数ＮＣとは、一連の連続歩行が行われた回数の意味である。例えば、ユーザが、郵便物を投函する場合に、自宅から郵便ポストまで歩き、投函のために立ち止り、郵便ポストから自宅に戻るといった歩行を、単位時間に行ったとする。この場合、行きの歩行と帰りの歩行の各々が、連続歩行に該当し、単位時間あたりの連続歩行の回数Ｎは「２」となる。
【００６９】
図４は、第２実施形態における携帯端末１の構成を示す機能ブロック図である。メインプロセッサ１０は、歩数計測プログラム２２２を記憶部２０から読み出し、読み出した歩数計測プログラム２２２を実行することで、第１計数部１１０の機能、第２計数部１２０の機能、生成部１３０の機能及び補正部１４０の機能に加えて、連続歩行計数部１１１の機能を更に実現する。
【００７０】
連続歩行計数部１１１は、準備段階及び実測段階で動作する。連続歩行計数部１１１は、第１歩数ＳＴ１に基づいて連続歩行の回数ＮＣを計数する。具体的には、連続歩行計数部１１１は、第１歩数ＳＴ１が既定時間（例えば、１秒）に達する前に増加した場合にユーザの状態が歩行中であると判定する。一方、連続歩行計数部１１１は、第１歩数ＳＴ１が既定時間に達する前に増加しなかった場合、ユーザの連続歩行が中断され、ユーザの状態が静止であると判定する。この場合、連続歩行計数部１１１は、連続歩行の回数ＮＣを「１」増加させる。連続歩行計数部１１１は、ユーザの状態を示す状態情報を管理する。状態情報は、ユーザの状態が歩行中であるか、ユーザの状態が静止であるかを示す。このように連続歩行計数部１１１は、第１歩数ＳＴ１が更新された直前のタイミングから現在までの歩行時間と既定時間とを比較してユーザが歩行中であるかユーザが静止しているかを判定する。
【００７１】
生成部１３０は、連続歩行計数部１１１で計数された連続歩行の回数ＮＣを取得する。そして、生成部１３０は、第１歩数ＳＴ１及び第２歩数ＳＴ２に加え、連続歩行の回数ＮＣを用いて関係式Ｆを生成する。
【００７２】
詳細には、生成部１３０は、単位時間あたりの第１歩数ＳＴ１と、単位時間あたりの第２歩数ＳＴ２と、単位時間あたりの連続歩行の回数ＮＣとの組（ＳＴ１，ＳＴ２，ＮＣ）を日時に関連付けてテーブル２３０に記憶することを単位時間ごとに繰り返す。
生成部１３０は、一定期間が経過した後、記憶部２０からテーブル２３０を読み出し、統計的手法（回帰分析）によって、第２関係式Ｆ２を生成する。第２関係式Ｆ２は、次の式（２）で表される。
Ｆ２（ＳＴ１，ＮＣ）＝ＳＴ１０＝ＳＴ１×α＋ＮＣ×β＋γ  …（２）
【００７３】
式（２）は、上述の式（１）に示す回帰直線を連続歩行の回数ＮＣで補正することを表している。βは、連続歩行の回数ＮＣの係数である。式（２）に示すように、関係式Ｆは、第１歩数ＳＴ１及び連続歩行の回数ＮＣを変数に持つ。値α、β及びγを算出するため、生成部１３０は、第１歩数ＳＴ１と、第２歩数ＳＴ２と、単位時間あたりの連続歩行の回数ＮＣとの組（ＳＴ１，ＳＴ２，ＮＣ）をテーブル２３０から複数読み出す。そして、生成部１３０は、例えば、読み出した複数の組（ＳＴ１，ＳＴ２，ＮＣ）に最小二乗法を適用して式（２）の値α、β及びγを算出する。
【００７４】
補正部１４０は、実測段階において、記憶部２０に記憶した式（２）に示す第２関係式Ｆ２を取得し、また、第１計数部１１０から第１歩数ＳＴ１を取得し、連続歩行計数部１１１から連続歩行の回数ＮＣを取得し、式（２）に示す第２関係式Ｆ２に第１歩数ＳＴ１と連続歩行の回数ＮＣとを代入して、実測段階における累積歩数ＳＴ１０を算出する。すなわち、第２計数部１２０が計数したと推定される累積歩数ＳＴ１０が求められる。
【００７５】
次に、第２実施形態に係る携帯端末１の動作を説明する。図５Ａ及び図５Ｂは、第２実施形態の準備段階における携帯端末１の動作を例示するフローチャートである。第１実施形態で説明した歩数計測プログラム２２１に関する処理に対して、第２実施形態は、図５Ａに示すように、歩数計測プログラム２２２に関する処理において、ステップＳ１３の後にステップＳ１４乃至ステップＳ１９が設けられている。
【００７６】
ステップＳ１２の判定結果が肯定であり、一歩が検出され、第１歩数ＳＴ１がインクリメントされた場合、連続歩行計数部１１１は、歩行時間をリセットする（ステップＳ１４）。歩行時間は直前の一歩が検出されてから現在までの時間を示している。歩行時間が長くなるのは、次の一歩までの時間が掛かっていることになる。この後、連続歩行計数部１１１は、状態情報を歩行中に設定する（ステップＳ１５）。
【００７７】
次に、連続歩行計数部１１１は、状態情報が歩行中を示すか否かを判定する（ステップＳ１６)。状態情報が歩行中を示す場合（ステップＳ１６でＹＥＳ)、連続歩行計数部１１１は、歩行時間が既定時間（例えば、１秒）を超えたか否かを判定する(ステップＳ１７)。歩行時間が既定時間を超えた場合（ステップＳ１７でＹＥＳ)には、連続歩行計数部１１１は、連続歩行の回数ＮＣをインクリメントし(ステップＳ１８)、状態情報を静止に設定する(ステップＳ１９)。
【００７８】
ステップＳ１６の判定結果が否定で状態情報が静止を示す場合（ステップＳ１６でＮＯ)、ステップＳ１７の判定結果が否定で歩行時間が既定時間を超えていない場合（ステップＳ１７でＮＯ)、ステップＳ１９が終了した場合、ステップＳ２３の判定結果が否定で一歩が検出されなかった場合（ステップＳ２３でＮＯ)、又はステップＳ２４の処理が終了した場合、生成部１３０は、第１歩数ＳＴ１と第２歩数ＳＴ２とがリセットされてから、単位時間（例えば、１時間）を経過したか否かを判定する（ステップＳ２６）。単位時間を経過した場合には（ステップＳ２６でＹＥＳ）、生成部１３０は、この単位時間における、第１歩数ＳＴ１、第２歩数ＳＴ２及び連続歩行の回数ＮＣの組を、当該単位時間における日時に関連付けて、記憶部２０のテーブル２３０に記憶した後、第１歩数ＳＴ１、第２歩数ＳＴ２、及び連続歩行の回数ＮＣをリセットする（ステップＳ２７）。
【００７９】
ステップＳ２７の処理が終了するか、又はステップＳ２６の判定結果が否定である場合（ステップＳ２６でＮＯ)、生成部１３０は、準備段階の開始から一定期間が経過したか否かを判定する（ステップＳ２８）。一定期間を経過していない場合には（ステップＳ２８でＮＯ）、処理がステップＳ２１及びステップＳ１１に戻される。
【００８０】
準備段階の開始から一定期間が経過した場合（ステップＳ２８でＹＥＳ)、生成部１３０は、記憶部２０に記憶したテーブル２３０から、一定期間に記憶された第１歩数ＳＴ１、第２歩数ＳＴ２、及び連続歩行の回数ＮＣの組を読み出す。そして、生成部１３０は、統計的手法によって、第１歩数ＳＴ１及び連続歩行の回数ＮＣから第２歩数ＳＴ２を推定する第２関係式Ｆ２を生成し（ステップＳ２９）、第２関係式Ｆ２を記憶部２０に記憶して、準備段階における一連の処理を終了する。
【００８１】
次に、第２実施形態における実測段階の携帯端末１の動作を説明する。図５Ｃは、第２実施形態における実測段階の携帯端末１の動作の一例を示すフローチャートである。図５Ｃに示すフローチャートが、図３Ｃに示す第１実施形態のフローチャートと相違するのは、ステップＳ４３〜Ｓ４５に替わりにステップＳ４３ｂを実行する点と、ステップＳ４７の替わりにステップＳ４７ｂを実行する点である。以下、相違点について説明する。
【００８２】
ステップＳ４３ｂでは、第１歩数ＳＴ１及び連続歩行の回数ＮＣが計数される。この処理は、図５Ａを参照して説明したステップＳ１１〜Ｓ１９と同様である。また、ステップＳ４７ｂにおいて、補正部１４０は、記憶部２０から読み出した第２関係式Ｆ２に第１歩数ＳＴ１と連続歩行の回数ＮＣを代入することによって、実測段階における累積歩数ＳＴ１０を算出する。
【００８３】
第２実施形態では、更に、連続歩行の回数を考慮した第２関係式Ｆ２を用いて累積歩数ＳＴ１０を求めるので、メインプロセッサ１０、延いては携帯端末１の消費電力を低減しつつ、第１実施形態よりも、歩数をより高い精度で計数することができる。
【００８４】
＜第３実施形態＞
第２実施形態で説明した歩数計測プログラム２２２で実現される機能は、ユーザが乗り物に乗っている場合、乗り物に発生する振動が誤って歩数として計測されることがある。これに対して、第３実施形態の歩数計測プログラム２２３で実現される機能は、ユーザが乗り物に乗っているかどうかを判定して、移動速度が小さい場合に適用される第１速度関係式Ｆ３１と移動速度が大きい場合に適用される第２速度関係式Ｆ３２を生成する点で、第２実施形態と相違する。
なお、以下、第３実施形態において、第２実施形態で説明した同様な部分の説明を省略し、相違する部分について説明する。
【００８５】
図６は、第３実施形態における携帯端末１の機能ブロック図である。第３実施形態は、次の点で第２実施形態と異なる。第１に、メインプロセッサ１０は、歩数計測プログラム２２３を記憶部２０から読み出し、読み出した歩数計測プログラム２２３を実行することで、第１計数部１１０の機能、第２計数部１２０の機能、生成部１３０の機能、連続歩行計数部１１１及び補正部１４０の機能に加えて、移動速度の大きさを特定する特定部１１２の機能を更に実現する。第２に、この特定部１１２から現在の移動速度Ｖを取得し、移動速度Ｖに基づいて生成部１３０が第１速度関係式Ｆ３１及び第２速度関係式Ｆ３２を生成する。第３に、補正部１４０は、移動速度Ｖを考慮した第１速度関係式Ｆ３１及び第２速度関係式Ｆ３２を用いて第１歩数ＳＴ１を補正して累積歩数ＳＴ１０を生成する。
【００８６】
特定部１１２は、準備段階及び実測段階で動作する。特定部１１２は、ユーザの移動速度Ｖを特定する。特定部１１２は、例えば、加速度センサ３０から３軸方向の加速度値Ａを取得し、取得した加速度値Ａを用いて、ユーザの移動速度Ｖを算出する。
【００８７】
移動速度Ｖを算出する方法は、任意の方法でよい。例えば、特定部１１２は、Ｘ軸方向の加速度値ＡＸ、Ｙ軸方向の加速度値ＡＹ及びＺ軸方向の加速度値ＡＺを合成して、加速度値の大きさ｜Ａ｜を算出する（｜Ａ｜＝（ＡＸ２＋ＡＹ２＋ＡＺ２）１／２）。そして、特定部１１２は、算出した加速度値の大きさ｜Ａ｜を時間について積分して、移動速度Ｖを算出して累積歩数ＳＴ１０を生成する。
【００８８】
生成部１３０は、ユーザが乗り物に乗っていない状態なのか、乗り物に乗っている状態なのかを判定して第１速度関係式Ｆ３１及び第２速度関係式Ｆ３２を生成する。具体的には、生成部１３０は、特定部１１２から現在の移動速度Ｖを取得する。そして、生成部１３０は、現在の移動速度Ｖに基づいて、式（２）に示す第２関係式Ｆ２を第１速度関係式Ｆ３１と第２速度関係式Ｆ３２とに分けて生成する。第１速度関係式Ｆ３１は、現在の移動速度Ｖが基準値Ｖref未満の場合に適用する式である。第２速度関係式Ｆ３２は、現在の移動速度Ｖが基準値Ｖref以上の場合に適用する式である。
【００８９】
基準値Ｖrefは、移動速度Ｖが乗り物の速さであるかを判別するための基準である。また、基準値Ｖrefは、予め定められている値であって、例えば、時速８ｋｍである。時速８ｋｍは、歩く速度よりは早く、自転車の速度よりは一般に遅いことを根拠に決定された値である。
【００９０】
生成部１３０は、現在の移動速度Ｖが基準値Ｖref未満の場合、ユーザは乗り物に乗っていない第１状態Ｗにあると判定する。言い換えれば、第１状態Ｗは、徒歩又は走っている状態である。一方、生成部１３０は、現在の移動速度Ｖが基準値Ｖref以上の場合、ユーザは乗り物に乗っている第２状態ＴＲにあると判定する。そして、生成部１３０は、一定期間（例えば、一週間）が経過するまで、現在の移動速度Ｖに基づいて、第１歩数ＳＴ１、第２歩数ＳＴ２、及び連続歩行の回数ＮＣの組（ＳＴ１，ＳＴ２，ＮＣ）並びに第１状態Ｗ又は第２状態ＴＲを、年月日及び時間帯に関連付けてテーブル２３０に記憶することを単位時間ごとに繰り返す。
【００９１】
図７は、第３実施形態におけるテーブル２３０の一例を示す図である。例えば、テーブル２３０の１行目は、２０１６年６月１日の８時から９時までの時間帯において、第１歩数ＳＴ１と第２歩数ＳＴ２と連続歩行の回数ＮＣとの組（ＳＴ１，ＳＴ２，ＮＣ）が第１状態Ｗに関連付けられていることを示している。また、テーブル２３０の６行目は、１３時から１４時までの時間帯において、第１歩数ＳＴ１が１２４１歩であり、そのうちの１２０歩が第１状態Ｗに関連付けられ、残りの１１２１歩が第２状態ＴＲに関連付けられていることを示している。同様に、第２歩数ＳＴ２が８０５歩であり、そのうちの９５歩が第１状態Ｗに関連付けられ、残りの７１０歩が第２状態ＴＲに関連付けられていることを示している。なお、テーブル２３０の３行目に示すように、第１歩数ＳＴ１及び第２歩数ＳＴ２の双方が０であった場合、生成部１３０は、例えば、ＮＡ（Not  Applicable）を対応する組（ＳＴ１，ＳＴ２，ＮＣ）に関連付ける。
【００９２】
生成部１３０は、一定期間が経過した後、第１状態Ｗに関連付けられている組を用いて第１速度関係式Ｆ３１を生成し、第２状態ＴＲに関連付けられている組を用いて第２速度関係式Ｆ３２を生成する。具体的には、生成部１３０は、一定期間が経過した後、第１状態Ｗに関連付けられている組（ＳＴ１，ＳＴ２，ＮＣ）をテーブル２３０から複数抽出し、統計的手法（回帰分析）によって、抽出した複数の組を用いて第１速度関係式Ｆ３１を生成する。同様に、生成部１３０は、第２状態ＴＲに関連付けられている組（ＳＴ１，ＳＴ２，ＮＣ）をテーブル２３０から複数抽出し、統計的手法（回帰分析）によって、抽出した複数の組を用いて第２速度関係式Ｆ３２を生成する。
【００９３】
ユーザが乗り物に乗っていない第１状態Ｗに適用される第１速度関係式Ｆ３１は、次の式（３）で表される。一方、ユーザが乗り物に乗っている第２状態ＴＲに適用される第２速度関係式Ｆ３２は、次の式（４）で表される。
Ｆ３１（ＳＴ１，ＮＣ）＝ＳＴ１０＝ＳＴ１×α１＋ＮＣ×β１＋γ１  …（３）
Ｆ３２（ＳＴ１，ＮＣ）＝ＳＴ１０＝ＳＴ１×α２＋ＮＣ×β２＋γ２  …（４）
【００９４】
式（３）及び式（４）において、α１及びα２は、第１歩数ＳＴ１の係数である。β１及びβ２は、連続歩行の回数ＮＣの係数である。γ１及びγ２は、切片である。α１、β１及びγ１を求めるため、生成部１３０は、第１状態Ｗに関連付けられている組に最小二乗法を適用する。同様に、α２、β２及びγ２を求めるため、生成部１３０は、第２状態ＴＲに関連付けられている組に最小二乗法を適用する。
【００９５】
補正部１４０は、実測段階において、記憶部２０に記憶した第１速度関係式Ｆ３１及び第２速度関係式Ｆ３２のいずれかを現在の移動速度Ｖに基づいて選択し、また、第１計数部１１０から第１歩数ＳＴ１を取得し、連続歩行計数部１１１から連続歩行の回数ＮＣを取得し、選択した方の関係式に第１歩数ＳＴ１と連続歩行の回数ＮＣとを代入して、実測段階における累積歩数ＳＴ１０を算出する。すなわち、第２計数部１２０が計数したと推定される累積歩数ＳＴ１０が求められる。詳細には、補正部１４０は、実測段階において、特定部１１２から現在の移動速度Ｖを取得し、また、第１計数部１１０から第１歩数ＳＴ１を取得し、連続歩行計数部１１１から連続歩行の回数ＮＣを取得する。そして、補正部１４０は、取得した現在の移動速度Ｖが基準値Ｖref未満の場合、ユーザは乗り物に乗っていない第１状態Ｗにあると判定し、第１速度関係式Ｆ３１を選択し、この選択した第１速度関係式Ｆ３１に、取得した第１歩数ＳＴ１と連続歩行の回数ＮＣとを代入して、実測段階における累積歩数ＳＴ１０を算出する。一方、補正部１４０は、現在の移動速度Ｖが基準値Ｖref以上の場合、ユーザは乗り物に乗っている第２状態ＴＲにあると判定し、第２速度関係式Ｆ３２選択し、この選択した第２速度関係式Ｆ３２に、取得した第１歩数ＳＴ１と連続歩行の回数ＮＣとを代入して、実測段階における累積歩数ＳＴ１０を算出する。
【００９６】
図８Ａは、第１計数部１１０によって計数された第１歩数ＳＴ１と、第２計数部１２０によって計数された第２歩数ＳＴ２との間の関係を例示するグラフである。四角の記号は、ユーザが乗り物に乗っていない第１状態Ｗに関連付けられた組（ＳＴ１，ＳＴ２，ＮＣ）を示す。黒丸の記号は、ユーザが乗り物に乗っている第２状態ＴＲに関連付けられた組（ＳＴ１，ＳＴ２，ＮＣ）を示す。また、点線は、第１歩数ＳＴ１が第２歩数ＳＴ２と一致する場合を仮想的に示す。
【００９７】
四角の記号で示す複数の組は、点線から若干ずれて分布している。このずれの原因は、ユーザ個人の歩き方に起因すると考えられる。黒丸の記号で示す複数の組は、点線から大きくずれて分布している。このずれの原因は、乗り物の振動が歩数として計数されたことに起因すると考えられる。
【００９８】
図８Ｂは、補正部１４０によって補正された累積歩数ＳＴ１０と、第２計数部１２０によって計数された第２歩数ＳＴ２との間の関係を例示するグラフである。四角の記号は、ユーザが乗り物に乗っていない第１状態Ｗに関連付けられた組（ＳＴ１，ＳＴ２，ＮＣ）を示す。黒丸の記号は、ユーザが乗り物に乗っている第２状態ＴＲに関連付けられた組（ＳＴ１，ＳＴ２，ＮＣ）を示す。また、点線は、第１歩数ＳＴ１が第２歩数ＳＴ２と一致する場合を仮想的に示す。
【００９９】
図８Ｂに示すように、ユーザが乗り物に乗っていない第１状態Ｗに関連付けられた組（ＳＴ１，ＳＴ２，ＮＣ）は、概ね点線に沿って分布している。その上で、ユーザが乗り物に乗っている第２状態ＴＲに関連付けられた組（ＳＴ１，ＳＴ２，ＮＣ）の誤計数が改善されている。よって、歩数がより高い精度で計数されていることが分かる。
【０１００】
第３実施形態では、移動速度Ｖに基づいた第１速度関係式Ｆ３１及び第２速度関係式Ｆ３２を用いて累積歩数ＳＴ１０を求めるので、メインプロセッサ１０、延いては携帯端末１の消費電力を低減しつつ、第１及び第２実施形態よりも、歩数をより高い精度で計数することができる。
【０１０１】
＜変形例＞
本発明の一例として実施形態を説明したが、本発明はこれに限定されるものではなく、以下に述べる各種の変形が可能である。更に、以下の例示から任意に選択された２以上の態様は、技術的に矛盾しない限り適宜併合され得る。
【０１０２】
（１）上述した各実施形態では、一定期間が経過することを条件に関係式を生成したが本発明はこれに限定されるものではない。例えば、関係式Ｆを生成するのに必要なサンプル数がテーブル２３０に記憶された場合に、準備段階から実測段階へ移行させても良い。また、準備段階の期間をユーザが入力できるようにしても良い。
【０１０３】
（２）上述した各実施形態では、サブプロセッサ６０においてデフォルト計数部６１０の機能を実現したが、加速度センサ３０においてデフォルト計数部６１０の機能を実現することも可能である。具体的には、図１においてデフォルト計数部６１０は、加速度センサ３０の一部として備わり、デフォルト歩数計数プログラム２１０を記憶部２０から読み出し、読み出したデフォルト歩数計数プログラム２１０を実行する。そして、デフォルト計数部６１０は、準備段階及び実測段階において、加速度センサ３０で検出した加速度値Ａに基づいて歩数ＳＴ０を計数し、サブプロセッサ６０又はメインプロセッサ１０の第１計数部１１０に出力しても良い。
【０１０４】
（３）上述した各実施形態では、メインプロセッサ１０からの要求に応じてサブプロセッサ６０は歩数ＳＴ０を出力したが、本発明はこれに限定されるものではなく、第１計数部１１０が、ユーザの歩行に関する歩行情報を取得できればよい。この歩行情報には、歩数ＳＴ０の他に、歩数が「１」増加したことを示す信号が含まれる。例えば、サブプロセッサ６０が一歩を検出するごとに発生する割込信号が該当する。
第１計数部１１０は、歩行情報として割込信号を取得した場合、割込信号を検知すると一歩を検出する（図３Ａに示すステップＳ１２）。
【０１０５】
（４）上述した各実施形態では、加速度センサ３０を用いて、第１歩数ＳＴ１及び第２歩数ＳＴ２が計数された。ジャイロセンサを加速度センサ３０と併用して、第１歩数ＳＴ１及び第２歩数ＳＴ２を計数してもよい。この場合、ジャイロセンサは、サブプロセッサ６０に接続され、３軸における角速度ω、即ち、Ｘ軸回りの角速度ωＸ、Ｙ軸回りの角速度ωＹ、Ｚ軸回りの角速度ωＺを検出する。デフォルト計数部６１０は、３軸方向の加速度値Ａに加え、３軸における角速度ωを用いて歩数ＳＴ０を計数する。同様に、第２計数部１２０も、３軸方向の加速度値Ａに加え、３軸における角速度ωを用いて第１歩数ＳＴ１を計数する。
【０１０６】
（５）上述した第３実施形態では、現在の移動速度Ｖは、３軸方向の加速度値Ａに基づいて算出される。代替的に、現在の移動速度Ｖは、ＧＰＳ（Global  Positioning  System）によって取得された現在位置に基づいて、算出されてもよい。この場合、特定部１１２は、位置の時間変化を算出すればよい。
【０１０７】
（６）上述した第３実施形態では、第１速度関係式Ｆ３１及び第２速度関係式Ｆ３２を連続歩行の回数ＮＣを考慮して生成したが、本発明はこれに限定されるものではなく、第１歩数ＳＴ１と第２歩数ＳＴ２とに基づいて、第１速度関係式Ｆ３１及び第２速度関係式Ｆ３２を生成してもよい。
この場合ユーザが乗り物に乗っていない第１状態Ｗに適用される第１速度関係式Ｆ３１は、次の式（５）で表される。一方、ユーザが乗り物に乗っている第２状態ＴＲに適用される第２速度関係式Ｆ３２は、次の式（６）で表される。
Ｆ３１（ＳＴ１）＝ＳＴ１×α１＋γ１  …（５）
Ｆ３２（ＳＴ１）＝ＳＴ１×α２＋γ２  …（６）
【符号の説明】
【０１０８】
１…携帯端末、１０…メインプロセッサ、２０…記憶部、３０…加速度センサ、４０…操作表示部、５０…通信部、６０…サブプロセッサ、１１０…第１計数部、１２０…第２計数部、１３０…生成部、１４０…補正部、１１１…連続歩行計数部、１１２…特定部、２１０…デフォルト歩数計数プログラム、２２１,２２２,２２３…歩数計測プログラム、２３０…テーブル、６１０…デフォルト計数部。
【図１】
2018180683.tif 000003
【図２】
2018180683.tif 000004
【図３Ａ】
2018180683.tif 000005
【図３Ｂ】
2018180683.tif 000006
【図３Ｃ】
2018180683.tif 000007
【図４】
2018180683.tif 000008
【図５Ａ】
2018180683.tif 000009
【図５Ｂ】
2018180683.tif 000010
【図５Ｃ】
2018180683.tif 000011
【図６】
2018180683.tif 000012
【図７】
2018180683.tif 000013
【図８Ａ】
2018180683.tif 000014
【図８Ｂ】
2018180683.tif 000015