(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-21
(45)【発行日】2022-10-31
(54)【発明の名称】歩数計測プログラム及び携帯端末
(51)【国際特許分類】
G06M 3/00 20060101AFI20221024BHJP
H04M 1/00 20060101ALI20221024BHJP
A61B 5/11 20060101ALI20221024BHJP
【FI】
G06M3/00 L
H04M1/00 R
A61B5/11 200
(21)【出願番号】P 2020194312
(22)【出願日】2020-11-24
(62)【分割の表示】P 2017075339の分割
【原出願日】2017-04-05
【審査請求日】2020-12-07
(73)【特許権者】
【識別番号】000133179
【氏名又は名称】株式会社タニタ
(74)【代理人】
【識別番号】100115808
【氏名又は名称】加藤 真司
(72)【発明者】
【氏名】谷田 千里
(72)【発明者】
【氏名】久米川 功壮
【審査官】吉田 久
(56)【参考文献】
【文献】米国特許出願公開第2015/0285659(US,A1)
【文献】特開2009-093440(JP,A)
【文献】特開2000-227342(JP,A)
【文献】特開2001-170029(JP,A)
【文献】特開2009-134572(JP,A)
【文献】特開2013-196442(JP,A)
【文献】特開2009-028312(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06M 3/00
H04M 1/00
A61B 5/11
(57)【特許請求の範囲】
【請求項1】
プロセッサで実行されて、前記プロセッサを、
加速度センサから出力される加速度値に基づいて生成されたユーザの歩行に関する歩行情報を取得し、取得した前記歩行情報に基づいて所定タイミングから累積した歩数を示す第1歩数を計数する第1計数部、
第2計数部によって前記第1歩数と比較して高い精度で計数された、前記所定のタイミングから累積した歩数を示す第2歩数と、前記第1歩数と、の関係を示す関係式を記憶する記憶部、及び
前記記憶部に記憶された前記関係式に、前記第1計数部で計数された前記第1歩数を代入して、前記第1歩数と比較して精度の高い累積歩数を算出する補正部、
として機能させ
、
前記第2計数部は、前記第1計数部と比較して処理負荷が重い計数部であり、前記加速度センサから出力される加速度値に基づいて前記第2歩数を算出し、前記関係式は、前記第1歩数から前記第2歩数を推定する式として生成されたものである歩数計測プログラム。
【請求項2】
プロセッサで実行されて、前記プロセッサを、
加速度センサから出力される加速度値に基づいて生成されたユーザの歩行に関する歩行情報を取得し、取得した前記歩行情報に基づいて所定タイミングから累積した歩数を示す第1歩数を計数する第1計数部、
前記第1歩数と比較して精度の高い累積歩数と前記第1歩数との関係を示す関係式を記憶する記憶部、及び
前記記憶部に記憶された前記関係式に、前記第1計数部で計数された前記第1歩数を代入して、前記第1歩数と比較して精度の高い累積歩数を算出する補正部、
として機能させ、
前記関係式は、前記第1歩数と、前記第1計数部と比較して処理負荷が重い計数部によって前記加速度センサから出力される加速度値に基づいて算出された第2歩数とを用いて、前記第1歩数から前記第2歩数を推定する式として生成されたものである、歩数計測プログラム。
【請求項3】
前記関係式は、前記第1歩数を代入することで出力される前記累積歩数を前記第1計数部と比較して処理負荷が重い計数部によって前記加速度センサから出力される加速度値に基づいて算出される第2歩数に近づけるように生成されたものである、請求項
2に記載の歩数計測プログラム。
【請求項4】
前記プロセッサを、更に、連続歩行の回数を計数する連続歩行計数部として機能させ、前記関係式は、前記第1歩数、前記累積歩数、及び連続歩行の回数の関係を示し、
前記補正部は、前記第1歩数及び前記連続歩行の回数を前記関係式に代入することで、前記累積歩数を算出する、
請求項1~
3のいずれか1項に記載の歩数計測プログラム。
【請求項5】
前記連続歩行計数部は、前記第1歩数が更新された直前のタイミングから現在までの歩行時間と既定時間とを比較してユーザが歩行中であるかユーザが静止しているかを判定し、判定結果に基づいて連続歩行の回数を計数する請求項
4に記載の歩数計測プログラム。
【請求項6】
前記プロセッサを、更に、ユーザの移動速度を特定する特定部として機能させ、
前記記憶部は、前記関係式として、前記移動速度が大きい場合に適用する第1速度関係式と、前記移動速度が小さい場合に適用する第2速度関係式とを記憶し、
前記補正部は、前記特定部から前記移動速度を取得し、前記記憶部に記憶された前記第1速度関係式及び前記第2速度関係式のいずれかを前記移動速度に基づいて選択し、選択した関係式に前記第1歩数を代入することで前記累積歩数を算出する、
請求項1~
5のうちいずれか1項に記載の歩数計測プログラム。
【請求項7】
加速度値を出力する加速度センサと、
加速度センサから出力される加速度値に基づいてユーザの歩行に関する歩行情報を生成するサブプロセッサと、
前記歩行情報に基づいて所定タイミングから累積した歩数を示す第1歩数を計数する第1計数部と、
第2計数部によって前記第1歩数と比較して高い精度で計数された、前記所定のタイミングから累積した歩数を示す第2歩数と、前記第1歩数と、の関係を示す関係式を記憶する記憶部と、
前記記憶部に記憶された前記関係式に、前記第1計数部で計数された前記第1歩数を代入して、前記第1歩数と比較して精度の高い累積歩数を算出する補正部と、
を備え
、
前記第2計数部は、前記第1計数部と比較して処理負荷が重い計数部であり、前記加速度センサから出力される加速度値に基づいて前記第2歩数を算出し、前記関係式は、前記第1歩数から前記第2歩数を推定する式として生成されたものである携帯端末。
【請求項8】
加速度値を出力する加速度センサと、
加速度センサから出力される加速度値に基づいてユーザの歩行に関する歩行情報を生成するサブプロセッサと、
前記歩行情報に基づいて所定タイミングから累積した歩数を示す第1歩数を計数する第1計数部と、
前記第1歩数と比較して精度の高い累積歩数と前記第1歩数との関係を示す関係式を記憶する記憶部と、
前記記憶部に記憶された前記関係式に、前記第1計数部で計数された前記第1歩数を前記関係式に代入して、前記第1歩数と比較して精度の高い累積歩数を算出する補正部と、を備え、
前記関係式は、前記第1歩数と、前記第1計数部と比較して処理負荷が重い計数部によって前記加速度センサから出力される加速度値に基づいて算出された第2歩数とを用いて、前記第1歩数から前記第2歩数を推定する式として生成されたものである、携帯端末。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、歩数計測プログラム及び携帯端末に関する。
【背景技術】
【0002】
歩数を計数する機能を持つスマートフォンが提供されている。そのようなスマートフォンは、スマートフォン自身に発生する加速度の変化に基づいて歩数を計数する。
【0003】
上述のスマートフォンでは、例えば、ユーザがすり足で移動した場合、加速度の小さな変化を捉えることができず、すり足が歩数に計数されないことがあった。その結果、歩数が実際より少なく計数されてしまう。そこで、ユーザの歩行の特性を考慮して歩数を計数することにより、歩数の計測精度を高める技術が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示されるユーザの歩行の特性を考慮するための処理技術を、スマートフォンで実現しようとすると、スマートフォンに搭載されたCPU(Central Processing Unit)で、ユーザの歩行の特性を考慮するための処理を行わなければならず、CPUの負荷が増大するといった問題があった。その結果、スマートフォンのバッテリが早く消耗するといった問題があった。
【0006】
本発明は、上述の事情に鑑みてなされたものであり、消費電力を低減しつつ歩数を高い精度で計数する歩数計測プログラム及び携帯端末を提供することを解決課題の一つとする。
【課題を解決するための手段】
【0007】
以上の課題を解決するために、本発明に係る歩数計測プログラムの一態様は、プロセッサに実行させる歩数計測プログラムであって、前記プロセッサを、加速度センサから出力される加速度値に基づいて生成されたユーザの歩行に関する歩行情報を取得し、取得した前記歩行情報に基づいて所定タイミングから累積した歩数を示す第1歩数を出力する第1計数部と、前記加速度値を取得し、取得した前記加速度値に基づいて前記所定タイミングから累積した歩数を示す第2歩数を出力する第2計数部と、前記第1歩数及び前記第2歩数に基づいて、少なくとも前記第1歩数と前記第2歩数の関係を示す関係式を生成する生成部と、前記第1歩数と前記関係式とに基づいて、累積歩数を出力する補正部として機能させる。
【0008】
上述した歩数計測プログラムの一態様によれば、少なくとも第1歩数と第2歩数との関係を示す関係式を生成部が生成する。補正部は、関係式を用いて累積歩数を生成するので、累積歩数を第2歩数に近づけることができる。この結果、関係式を生成した後は、第2計数部を動作させなくても、第1計数部のみを動作させて精度の高い累積歩数を生成することができる。よって、消費電力を低減しつつ歩数を高い精度で計数することが可能となる。
【0009】
上述した歩数計測プログラムの一態様は、歩数を計測する準備段階において前記プロセッサを、前記第1計数部と、前記第2計数部と、前記生成部として機能させ、歩数を計測する実測段階において前記プロセッサを、前記第1計数部と、前記補正部として機能させることが好ましい。
【0010】
この態様によれば、準備段階で機能させる要素と、実測段階で機能させる要素を異ならせることができ、実測段階では第2計数部及び生成部の機能を停止させる。よって、実測段階における処理負荷を軽減し、消費電力を低減しつつ歩数を高い精度で計数することが可能となる。
【0011】
上述した歩数計測プログラムの一態様は、前記準備段階において前記プロセッサを、更に、連続歩行の回数を計数する連続歩行計数部として機能させ、前記関係式は、前記第1歩数、前記第2歩数、及び前記連続歩行の回数の関係を示し、前記生成部は、前記第1歩数、前記第2歩数及び前記連続歩行の回数に基づいて、当該関係式を生成し、前記実測段階において前記プロセッサを、更に、前記連続歩行計数部として機能させ、前記補正部は、前記第1歩数及び前記連続歩行の回数と当該関係式とに基づいて、累積歩数を出力する、ことが好ましい。
【0012】
この態様によれば、連続歩行の回数を考慮して、累積歩数を生成することができる。一定の距離を歩行する場合、連続歩行の回数が多ければ、歩行と静止を繰り返すことになる一方、連続歩行の回数が少なくなれば、歩き続ける時間が長くなる。従って、連続歩行の回数は歩行の態様を示している。この態様によれば、歩行の態様を考慮して累積歩数を生成するので、消費電力を低減しつつ、連続歩行の回数を考慮しない場合と比較して累積歩数の精度を更に向上させることができる。
【0013】
上述した歩数計測プログラムの一態様は、前記連続歩行計数部は、前記第1歩数が更新された直前のタイミングから現在までの時間と既定時間とを比較してユーザが歩行中であるかユーザが静止しているかを判定し、判定結果に基づいて連続歩行の回数を計数することが好ましい。
【0014】
この態様によれば、歩数の更新から既定時間が経過すると、ユーザが静止していると判定するので、判定結果に基づいて連続歩行の回数を計数することができる。また、既定時間を調整することによって、連続歩行の回数の精度を向上させることが可能となる。よって、消費電力を低減しつつ、連続歩行の回数を考慮しない場合と比較して累積歩数の精度を更に向上させることができる。
【0015】
上述した歩数計測プログラムの一態様は、前記準備段階において前記プロセッサを、更に、ユーザの移動速度を特定する特定部として機能させ、前記生成部は、前記特定部で特定した移動速度を取得し、前記関係式を、前記移動速度が大きい場合に適用する第1速度関係式と、前記移動速度が小さい場合に適用する第2速度関係式とに分けて生成し、前記実測段階において前記プロセッサを、更に、前記特定部として機能させ、前記補正部は、前記特定部から移動速度を取得し、前記第1速度関係式及び前記第2速度関係式のいずれかを前記移動速度に基づいて選択し、選択した関係式と前記第1歩数とに基づいて累積歩数を出力することが好ましい。
【0016】
この態様によれば、移動速度に応じた2種類の関係式が用意されているので、ユーザが乗り物に乗っている場合と乗り物に乗っていない場合とで関係式を使い分けることができる。この結果、消費電力を低減しつつ、乗り物の振動による影響を低減し、累積歩数の精度を更に向上させることができる。
【0017】
上述した歩数計測プログラムの一態様は、前記第1計数部の処理負荷は、前記第2計数部の処理負荷と比較して軽く、前記第2歩数の精度は、前記第1歩数の精度と比較して高い、ことが好ましい。
【0018】
この態様によれば、関係式を生成する準備段階では、精度が高いが処理負荷が重い第2計数部を用いるが、関係式を生成した後の実測段階では、処理負荷が軽く消費電力の低い第1計数部を用いて、累積歩数を生成する。従って、実測段階では、消費電力を削減しつつ、累積歩数の精度を向上させることができる。
【0019】
本発明に係る携帯端末の一態様は、加速度値を出力する加速度センサと、加速度センサから出力される加速度値に基づいてユーザの歩行に関する歩行情報を生成するサブプロセッサと、前記歩行情報に基づいて所定タイミングから累積した歩数を示す第1歩数を計数する第1計数部と、前記加速度値に基づいて前記所定タイミングから累積した歩数を示す第2歩数を計数する第2計数部と、前記第1歩数及び前記第2歩数に基づいて、前記第1歩数と前記第2歩数の関係を示す関係式を生成する生成部と、前記第1歩数と前記関係式とに基づいて、累積歩数を出力する補正部と、を備える。
【0020】
上述した携帯端末の一態様によれば、サブプロセッサで生成される歩行情報を用いて第1歩数を計数するので、第1歩数を簡易に計数することができる。また、第1歩数と第2歩数との間の関係式を生成部が生成する。補正部は、関係式を用いて累積歩数を補正するので、累積歩数を第2歩数に近づけることができる。この結果、関係式を生成した後は、第2計数部を動作させなくても、第1計数部のみを動作させて精度の高い累積歩数を生成することができる。よって、消費電力を低減しつつ歩数を高い精度で計数することが可能となる。
【0021】
上述した携帯端末の一態様は、歩数を計測する準備段階において、前記第1計数部、前記第2計数部、及び前記生成部を動作させ、歩数を計測する実測段階において、前記第1計数部及び前記補正部を動作させることが好ましい。
【0022】
この態様によれば、準備段階で機能させる要素と、実測段階で機能させる要素を異ならせることができ、実測段階では第2計数部及び生成部の機能を停止させる。よって、実測段階における処理負荷を軽減し、消費電力を低減することができる。
【図面の簡単な説明】
【0023】
【
図1】第1実施形態における携帯端末1の構成を示す機能ブロック図である。
【
図2】第1実施形態におけるテーブル230の記憶内容の一例を示す図である。
【
図3A】第1実施形態における準備段階の携帯端末1の動作を例示するフローチャートである。
【
図3B】第1実施形態における準備段階の携帯端末1の動作を例示するフローチャートである。
【
図3C】第1実施形態における実測段階の携帯端末1の動作を例示するフローチャートである。
【
図4】第2実施形態における携帯端末1の構成を示す機能ブロック図である。
【
図5A】第2実施形態における準備段階の携帯端末1の動作を例示するフローチャートである。
【
図5B】第2実施形態における準備段階の携帯端末1の動作を例示するフローチャートである。
【
図5C】第2実施形態における実測段階の携帯端末1の動作を例示するフローチャートである。
【
図6】第3実施形態における携帯端末1の機能ブロック図である。
【
図7】第3実施形態におけるテーブル230の記憶内容の一例を示す図である。
【
図8A】第1歩数ST1と第2歩数ST2との関係を例示するグラフである。
【
図8B】累積歩数ST10と第2歩数ST2と関係を例示するグラフである。
【発明を実施するための形態】
【0024】
以下、図面を参照しながら本発明に係る実施形態を説明する。また、以下に記載する実施形態は、本発明の好適な具体例である。このため、本実施形態には、技術的に好ましい種々の限定が付されている。しかしながら、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの形態に限られるものではない。
【0025】
<第1実施形態>
図1は、第1実施形態における携帯端末1の構成を示す機能ブロック図である。携帯端末1は、メインプロセッサ10と、記憶部20と、加速度センサ30と、操作表示部40と、通信部50と、サブプロセッサ60とを備える。なお、携帯端末1の構成は、
図21の例に限定されない。例えば、携帯端末1がカメラを更に有していてもよい。
【0026】
メインプロセッサ10は、歩数計測プログラム221を記憶部20から読み出し、読み出した歩数計測プログラム221を実行することで、計時、演算及び制御を行い、メインプロセッサ10の各種の機能を実現する。特に、メインプロセッサ10は、第1計数部110の機能と、第2計数部120の機能と、生成部130の機能と、補正部140の機能とを実現する。
【0027】
詳細は後述するが、歩数計測プログラム221は、歩数の計測において、処理負荷が重い準備段階と処理負荷が軽い実測段階とにおいて、実現する機能が異なる。メインプロセッサ10は、準備段階では、精度の低い第1歩数ST1を出力する第1計数部110と、精度の高い第2歩数ST2を出力する第2計数部120とをほぼ同時(同時を含む)に動作させ、第1歩数ST1と第2歩数ST2との関係を示す第1関係式F1を生成部130によって生成する。一方、実測段階では、第1計数部110と補正部140を動作させ、第1計数部110で計数した第1歩数ST1を、第1関係式F1を用いて補正して歩数を出力する。また、メインプロセッサ10は、例えば、CPU、MPU(Micro Processor Unit)、MCU(Memory Control Unit)等のハードウェアである。
【0028】
記憶部20は、各種のプログラム及びデータを記憶すると共に、メインプロセッサ10及びサブプロセッサ60の作業領域として機能する。また、記憶部20は、不揮発性メモリと、揮発性メモリとを包含する。記憶部20は、操作表示部40や通信部50から取り込まれた各種情報やサブプロセッサ60やメインプロセッサ10で演算された各種結果を記憶する。特に、記憶部20は、サブプロセッサ60を機能させるためのデフォルト歩数計数プログラム210と、メインプロセッサ10を機能させるための歩数計測プログラム221と、実測段階における累積歩数ST10を求めるための第1関係式F1、並びにメインプロセッサ10が求めた第1歩数ST1及び第2歩数ST2などの計測結果を記憶するためのテーブル230とを記憶する。
【0029】
なお、記憶部20は、例えば、非一過性(non-transitory)の記憶媒体である。更に言えば、記憶部20は、公知の任意の形式の記憶媒体、例えば、半導体記憶媒体、磁気式記憶媒体又は光学式記憶媒体である。代替的に、記憶部20は、これらの記憶媒体が組み合わされた記憶媒体であってもよい。本願明細書において、非一過性の記憶媒体とは、一過性の伝播信号(transitory, propagating signal)を除く全てのコンピュータ読み取り可能な記憶媒体を含み、揮発性の記憶媒体を除外するものではない。
【0030】
加速度センサ30は、例えば、3軸加速度センサである。加速度センサ30は、歩行(走行も含む)によって生じた3軸方向の加速度値A、具体的には、X軸方向の加速度値AXと、Y軸方向の加速度値AYと、Z軸方向の加速度値AZとを検出する。加速度センサ30は、検出した3軸方向の加速度値Aをサブプロセッサ60に出力する。加速度センサ30の検出方式は、静電容量方式でもよいし、ピエゾ方式でもよく、特定の方式に限定されない。加速度センサ30の出力は、デジタル信号であってもよいし、アナログ信号であってもよい。
【0031】
操作表示部40は、例えば、静電容量方式のタッチパネルである。操作表示部40は、入力デバイス及び表示デバイスの双方の機能を持つ。操作表示部40は、入力デバイスの機能として、歩数計測プログラム221の起動や各種設定などをユーザによるタッチ操作を受けて検出し、検出結果をユーザの指示情報としてメインプロセッサ10に出力する。操作表示部40は、表示デバイスの機能として、メインプロセッサ10の指示に従って、メインプロセッサ10による出力結果(例えば、設定結果情報及び計測結果)を表示する。なお、操作表示部40の代わりに、入力デバイス(テンキーを含む複数のボタン)及び表示デバイスを別個に携帯端末1が有していてもよい。また、操作表示部40をユーザが操作する操作部と、ユーザに情報を表示する表示部とに分離してもよい。
【0032】
通信部50は、携帯端末1の外部と通信可能に構成されている。具体的には、通信部50は、例えば、携帯端末1が位置するセルの基地局を経由して通話先の携帯端末と音声通信する。また、通信部50は、例えば、携帯端末1が位置するセルの基地局を経由してインターネット回線に接続し、サーバ装置と通信し、歩数計測プログラム221をダウンロードする。更に、通信部50は、パーソナルコンピュータと有線又は無線などにより接続し、各種設定などの指示情報を受信し、メインプロセッサ10による出力結果(例えば、設定結果情報及び計測結果)を送信する。
【0033】
サブプロセッサ60は、デフォルト歩数計数プログラム210を記憶部20から読み出し、読み出したデフォルト歩数計数プログラム210を実行することで、デフォルト計数部610の機能を実現する。サブプロセッサ60は、メインプロセッサ10からの要求に応じて、デフォルト計数部610で計数した歩数ST0をメインプロセッサ10に出力する。また、サブプロセッサ60は、加速度センサ30から出力された加速度値Aを取得し、メインプロセッサ10からの要求に応じて、メインプロセッサ10に出力する。なお、デフォルト計数部610を含むサブプロセッサ60は、メインプロセッサ10の補助する役割、及びメインプロセッサ10の処理の一部を実行する役割を担う。このため、サブプロセッサ60は、メインプロセッサ10と比較して処理能力が低くてもよい。その一方、サブプロセッサ60は、メインプロセッサ10の消費電力よりも低い消費電力で動作する。サブプロセッサ60は、例えば、CPU、MPU、MCUなどのハードウェアで構成されている。
【0034】
次に、デフォルト歩数計数プログラム210によって実現される機能について説明する。デフォルト計数部610は、歩数の計測の準備段階(実測段階における歩数を求めるための第1関係式F1を生成するまでの過程)及び歩数の計測の実測段階(第1関係式F1を用いて実測段階における歩数を求める過程)で動作する。デフォルト計数部610は、加速度センサ30から出力された加速度値Aを取得し、取得した加速度値Aに基づいて、歩数ST0を計数する。この歩数ST0は、携帯端末1の電源がオンになってデフォルト歩数計数プログラム210が起動してから累積した歩数を示す。
【0035】
次に、歩数計測プログラム221によって実現される機能について説明する。第1計数部110は、準備段階及び実測段階で動作する。第1計数部110は、準備段階及び実測段階において、サブプロセッサ60からデフォルト計数部610が計数した歩数ST0を取得する。次いで、第1計数部110は、この取得した歩数ST0に基づいて、所定タイミングから累積処理をした第1歩数ST1を生成する。具体的には、第1計数部110は、この取得した歩数ST0に基づいて、一歩を検出し、一歩を検出するごとに検出回数を累積して第1歩数ST1とする。ここで、所定タイミングとは、歩数の計数が開始されるタイミングである。例えば、歩数計測プログラム221が起動され、ユーザが歩数の計測開始を入力したタイミングが所定タイミングである。あるいは、歩数計測プログラム211が起動と同時に計測を開始するのであれば、歩数計測プログラム211が起動されたタイミングが所定タイミングである。
【0036】
第1計数部110による歩数ST0の取得は、サブプロセッサ60に取得要求を送信することによって実行される。この例では、歩数計測プログラム221を実行すると、メインプロセッサ10は、取得要求を例えば16Hzでサブプロセッサ60に送信する。これによって、第1計数部110は、1秒間に16回、歩数ST0を取得することができる。
【0037】
n番目のタイミングで取得した歩数ST0をST0(n)で表すものとする。現在のタイミングがn番目である場合、第1計数部110は、ST0(n)とST0(n-1)とを比較し、ST0(n)-ST0(n-1)が「1」の場合、ユーザが一歩進んだことを検出する。一方、第1計数部110は、ST0(n)-ST0(n-1)が「0」の場合、ユーザが一歩進んだことを検出しない。この例では、1秒間に16回といった高い頻度で取得要求をサブプロセッサ60に送信しているので、ユーザが1歩進んだことを確実に検出することができる。
【0038】
第2計数部120は、準備段階でのみ動作する。まず、第2計数部120は、準備段階において、サブプロセッサ60から出力された加速度値Aを取得する。次いで、第2計数部120は、この取得した加速度値Aに基づいて、上述した所定タイミングから累積した歩数を示す第2歩数ST2を計数する。換言すると、第2計数部120は、この取得した加速度値Aに基づいて、一歩を検出し、一歩を検出するごとに検出回数を累積して第2歩数ST2とする。なお、第2計数部120は、加速度センサ30から直接出力された加速度値Aを用いて第2歩数ST2を生成することも可能である。
【0039】
また、準備段階において、第1計数部110及び第2計数部120は、第1計数部110が歩数ST0を取得するタイミングと、第2計数部120が加速度値Aを取得するタイミングとをほぼ同時(同時を含む)で、歩行の際にほぼ一歩となる間隔よりも短い間隔で行う。
【0040】
ここで、第2計数部120による加速度値Aに基づいて歩数を計数する処理は、デフォルト計数部610による加速度値Aに基づいて歩数を計数する処理よりも、高い精度で歩数を得ることができる。
例えば、デフォルト計数部610による加速度値Aに基づいて歩数を計数する処理は、X軸方向の加速度値AX、Y軸方向の加速度値AY及びZ軸方向の加速度値AZの各々について最大値と最小値との差を求め、いずれかの軸方向の加速度値の最大値と最小値との差が閾値以上であったときに一歩を検出し、検出回数を累積して歩数ST0を生成する。
【0041】
これに対して、第2計数部120による加速度値Aに基づいて歩数を計数する処理は、X軸方向の加速度値AX、Y軸方向の加速度値AY及びZ軸方向の加速度値AZを合成して、3軸方向の加速度値の絶対値|A|を算出し(|A|=(AX2+AY2+AZ2)1/2)する。さらに当該処理では、3軸方向の加速度値の絶対値|A|の最大値と最小値との差が閾値以上であり、その差が一定時間内に収まっているときに一歩を検出し、検出回数を累積して第2歩数ST2を生成する。
【0042】
更に、デフォルト計数部610による加速度値Aに基づいて歩数を計数する処理では、加速度センサ30から取得した加速度値Aをそのまま用いて、歩数として計数する。これに対して、第2計数部120による加速度値Aに基づいて歩数を計数する処理では、加速度センサ30から得られたX軸方向の加速度値AX、Y軸方向の加速度値AY及びZ軸方向の加速度値AZにノイズ成分を除去するフィルタリング処理を施して、フィルタリング処理後の加速度値AX、加速度値AY及び加速度値AZに基づいて第2歩数ST2を生成する。
【0043】
次に、生成部130は、準備段階でのみ動作する。まず、生成部130は、準備段階において、第1計数部110から第1歩数ST1を取得し、第2計数部120から第2歩数ST2を取得する。そして、生成部130は、単位時間あたりの第1歩数ST1と単位時間あたりの第2歩数ST2とを組として日時に関連付けてテーブル230に記憶する。なお、このテーブル230への記憶は、単位時間ごとに繰り返し、一定期間が経過するまで行う。また、生成部130は、準備段階において、テーブル230に記憶した単位時間あたりの第1歩数ST1と単位時間あたりの第2歩数ST2との組を用いて、実測段階における歩数を求めるための第1関係式F1を生成し、記憶部20に記憶する。
【0044】
単位時間とは、1日の時間を複数に分割し、分割された複数の時間の各々を指す。例えば、1日の時間を24等分した場合、単位時間は1時間となる。無論、単位時間は30分でもよい。また、第1関係式F1を生成するにあたって、1日あたりの歩数ではなく、単位時間あたりの歩数を用いることで、精度の高い第1関係式F1が得られる。それは、同じユーザでも、時間帯によって、歩き方が変わる傾向があるためである。例えば、家で家事をするときの一歩は、外を歩くときの一歩より小さいことが多い。そのような理由により、家で家事をする場合に得られた歩数は誤差を含みやすい。単位時間を1日より短くすることで、ユーザの歩き方の特徴を第1関係式F1に反映させることができる。
【0045】
生成部130の機能について、ある時刻をtn-1とし、ある時刻tn-1から単位時間が経過した現在の時刻をtnとし、nを任意の自然数として表し、より具体的に説明する。
先ず、生成部130は、準備段階において、ある時刻tn-1から単位時間が経過するまで、第1計数部110から第1歩数ST1を取得し、かつ第2計数部120から第2歩数ST2を取得し、この単位時間において取得した第1歩数ST1と第2歩数ST2とを組とし、年月日及び時間帯に関連付けてテーブル230に記憶する。以後、生成部130は、準備段階において、単位時間あたりの第1歩数ST1と単位時間あたりの第2歩数ST2との組を一定期間記憶する。
【0046】
ここで、生成部130の機能について、第1実施形態におけるテーブル230の一例を示す
図2を参照しながら、より詳細に説明する。
【0047】
図2の例では、単位時間が1時間に設定されている。例えば、テーブル230の1行目は、2016年6月1日の8時から9時までの時間帯において、第1歩数ST1が62歩であり、第2歩数ST2が10歩であったことを示している。2016年6月1日の8時の時点で、第1計数部110における第1歩数ST1が0にリセットされ、第2計数部120における第2歩数ST2も0にリセットされる。生成部130は、2016年6月1日の9時になると、第1歩数ST1=62、第2歩数ST2=10を取得する。生成部130は、第1歩数ST1=62と第2歩数ST2=10とを組にして、2016年6月1日及び8時から9時の時間帯に関連付けてテーブル230に記憶する。
【0048】
上述のように、生成部130は、準備段階において、一定期間が経過するまで、単位時間あたりの第1歩数ST1と単位時間あたりの第2歩数ST2との組を日時に関連付けてテーブル230に記憶する。一定期間は、実用的な観点からユーザの歩き方の特徴を十分に把握することができるように定められる。例えば、一定期間は一週間である。ただし、第1関係式F1の精度を向上させる観点から、第1歩数ST1と第2歩数ST2との組の数は多いほど好ましいため、一定期間は一週間を超えてもよい。
【0049】
次に、生成部130は、準備段階において、テーブル230に一定期間記憶した、単位時間あたりの第1歩数ST1と単位時間あたりの第2歩数ST2との組を読み出し、統計的手法(回帰分析)によって、第1歩数ST1から第2歩数ST2を推定する第1関係式F1を生成し記憶部20に記憶する。
【0050】
第1関係式F1は、次の式(1)で表される。但し、累積歩数ST10は、第1歩数ST1に基づいて推定される第2歩数ST2である。
F1(ST1)=ST10=ST1×α+γ …(1)
【0051】
式(1)は、回帰直線である。αは係数を、γは切片を表し、例えば、最小二乗法が適用されて導き出される。このような第1関係式F1とすることで、実測段階における累積歩数ST10は、第1歩数ST1に基づいて、第1歩数ST1よりも高い精度の第2歩数ST2に相当するものとなる。
【0052】
補正部140は、実測段階でのみ動作する。補正部140は、実測段階において、記憶部20に記憶した第1関係式F1を取得し、また、第1計数部110から第1歩数ST1を取得し、第1関係式F1に第1歩数ST1を代入して、実測段階における累積歩数ST10を求める。
【0053】
次に、携帯端末1の動作について説明する。携帯端末1は、主なる機能として、準備段階における機能と実測段階における機能とに大別される。まず、
図3A及び
図3Bに示すフローチャートを用いて、準備段階における携帯端末1の機能について説明する。
【0054】
操作表示部40からの操作により携帯端末1の電源(図示省略)が投入されると、各部の動作の実行が可能となる。この際、サブプロセッサ60は、デフォルト歩数計数プログラム210を記憶部20から読み出し、読み出したデフォルト歩数計数プログラム210を実行する。具体的には、デフォルト計数部610が、加速度センサ30から出力された加速度値Aを取得し、取得した加速度値Aに基づいて歩数ST0を計数する(ステップS1)。
【0055】
次に、メインプロセッサ10は、操作表示部40からの操作により歩数計測プログラム221を記憶部20から読み出し、読み出した歩数計測プログラム221を起動する。この起動状態の際に、操作表示部40からの操作により準備段階のモードが選択されると、歩数計測プログラム221における準備段階における機能を実行する。準備段階の開始として、まず、第1計数部110は第1歩数ST1を0(ST1=0)にリセットし、第2計数部120は第2歩数ST2を0(ST2=0)にリセットする(ステップS2)。
【0056】
続いて、第1計数部110は、デフォルト計数部610で計数された歩数ST0を取得し(ステップS11)、取得した歩数ST0に基づいて一歩を検出したか否かを判定する(ステップS12)。一歩を検出した場合には(ステップS12でYES)、第1歩数ST1をインクリメントする(ステップS13)。一方、一歩を検出してない場合には(ステップS12でNO)、第1歩数ST1をインクリメントしない。
【0057】
また、第2計数部120は、加速度センサ30から出力される加速度値Aを取得し(ステップS21)、取得した加速度値Aにノイズ除去などのフィルタリング処理を施す(ステップS22)。更に、第2計数部120は、フィルタリング処理が施された加速度値Aに基づいて、一歩を検出したか否かを判定する(ステップS23)。一歩を計数した場合には(ステップS23でYES)、第2計数部120は第2歩数ST2をインクリメントする(ステップS24)。一方、一歩を検出していない場合には(ステップS23でNO)、第2計数部120は第2歩数ST2をインクリメントしない。
【0058】
第1計数部110によるステップS12でNO又はステップS13の処理、及び第2計数部120によるステップS23でNO又はステップS24の処理の後、生成部130は
図3Bに示す処理を実行する。
【0059】
生成部130は、第1歩数ST1と第2歩数ST2とがリセットされてから、単位時間(例えば、1時間)を経過したか否かを判定する(ステップS31)。単位時間を経過した場合には(ステップS31でYES)、生成部130は、第1計数部110でインクリメントしたこの単位時間における第1歩数ST1と、第2計数部120でインクリメントしたこの単位時間における第2歩数ST2とを組とする。そして、生成部130は、第1歩数ST1と第2歩数ST2との組を、当該単位時間における日時に関連付けて、記憶部20のテーブル230に記憶した後、第1歩数ST1及び第2歩数ST2をリセットする(ステップS32)。一方、単位時間を経過してない場合には(ステップS31でNO)、ステップS11及びステップS21に戻り、処理を繰り返す。
【0060】
次いで、生成部130は、準備段階の開始から一定期間が経過したか否かを判定する(ステップS33)。一定期間を経過していない場合には(ステップS33でNO)、ステップS2に戻り、処理を繰り返す。一方、一定期間が経過した場合には(ステップS33でYES)、生成部130は、記憶部20に記憶したテーブル230から、一定期間に記憶された第1歩数ST1と第2歩数ST2との組を読み出す。そして、生成部130は、統計的手法によって、第1歩数ST1から第2歩数ST2を推定する第1関係式F1を生成し(ステップS34)、この生成した第1関係式F1を記憶部20に記憶して、準備段階における一連の処理を終了する。
【0061】
次に、
図3Cに示すフローチャートを用いて、実測段階における携帯端末1の動作について説明する。なお、ここでは、歩数計測プログラム221の起動状態が維持されているものとして説明する。
サブプロセッサ60は、準備段階における処理が終了した後も、引き続き、準備段階で説明したステップS1と同様に、デフォルト計数部610により歩数ST0を計数する処理を行う(ステップ41)。
【0062】
次に、メインプロセッサ10では、歩数計測プログラム221が起動状態の際に、操作表示部40からの操作により実測段階のモードが選択されると、歩数計測プログラム2210おける実測段階の機能を実行する。実測段階の開始として、まず、第1計数部110は、第1歩数ST1を0(ST1=0)にリセットする(ステップS42)。
【0063】
次に、この後のステップS43~ステップS45では、準備段階で説明した第1計数部110によるステップS11~ステップS13の処理と同様に、第1計数部110により処理を行い、ステップS44でNO又はステップS45の処理の後、ステップ46に進む。
【0064】
次に、補正部140は、操作表示部40における画面が表示中か否かを判定する(ステップS46)。画面が表示中である場合には(ステップS46でYES)、第1歩数ST1を取得し、記憶部20に記憶した第1関係式F1を読み出し、読みだした第1関係式F1に第1歩数ST1を代入して、実測段階における累積歩数ST10を求める(ステップS47)。
【0065】
次に、操作表示部40は、補正部140で算出した実測段階における累積歩数ST10を表示する(ステップS48)。ステップS46でNO又はステップS48の処理の後、第1計数部110は、操作表示部40から測定終了の指示を受けたか否かを判定する(ステップS49)。測定終了の指示を受けていない場合には(ステップS49でNO)、ステップS43に戻り、処理が繰り返される。一方、測定終了の指示を受けた場合にはステップS49でYES)、実測段階における一連の処理を終了する。
【0066】
第1実施形態によれば、準備段階において、第1計数部110と第2計数部120とを動作させて、第1歩数ST1と第2歩数ST2との関係を示す第1関係式F1を生成部130で生成し、実測段階では、第2計数部120の動作を停止させ、第1計数部110で計測された第1歩数ST1と第1関係式F1を用いて累積歩数ST10を生成した。第2計数部120は、第1計数部110と比較して、処理負荷が大きく消費電力が大きいが計数の精度は高い。準備段階では第1計数部110と第2計数部120とを動作させるので、消費電力は増加するが、実測段階では第1計数部110と補正部140のみを動作させれば、第1歩数ST1よりも精度の高い累積歩数ST10を、低消費電力で生成することができる。この結果、携帯端末1は、歩数計測プログラム221を実行することによって、消費電力を低減しつつ歩数を高い精度で計数することができる。
【0067】
<第2実施形態>
第1実施形態で説明した歩数計測プログラム221は、連続歩行を検出することを機能させるものでなかった。これに対して、第2実施形態の歩数計測プログラム222は、連続歩行の回数NCを計数することを機能させるもので、生成部130が第1歩数ST1及び第2歩数ST2の他に連続歩行の回数NCに基づいて関係式Fを生成する点で、第1実施形態と相違する。
なお、以下、第2実施形態において、第1実施形態で説明した同様な部分の説明を省略し、相違する部分について説明する。
【0068】
連続歩行とは、ユーザが立ち止まらずに連続して歩行することを意味する。また、連続歩行の回数NCとは、一連の連続歩行が行われた回数の意味である。例えば、ユーザが、郵便物を投函する場合に、自宅から郵便ポストまで歩き、投函のために立ち止り、郵便ポストから自宅に戻るといった歩行を、単位時間に行ったとする。この場合、行きの歩行と帰りの歩行の各々が、連続歩行に該当し、単位時間あたりの連続歩行の回数Nは「2」となる。
【0069】
図4は、第2実施形態における携帯端末1の構成を示す機能ブロック図である。メインプロセッサ10は、歩数計測プログラム222を記憶部20から読み出し、読み出した歩数計測プログラム222を実行することで、第1計数部110の機能、第2計数部120の機能、生成部130の機能及び補正部140の機能に加えて、連続歩行計数部111の機能を更に実現する。
【0070】
連続歩行計数部111は、準備段階及び実測段階で動作する。連続歩行計数部111は、第1歩数ST1に基づいて連続歩行の回数NCを計数する。具体的には、連続歩行計数部111は、第1歩数ST1が既定時間(例えば、1秒)に達する前に増加した場合にユーザの状態が歩行中であると判定する。一方、連続歩行計数部111は、第1歩数ST1が既定時間に達する前に増加しなかった場合、ユーザの連続歩行が中断され、ユーザの状態が静止であると判定する。この場合、連続歩行計数部111は、連続歩行の回数NCを「1」増加させる。連続歩行計数部111は、ユーザの状態を示す状態情報を管理する。状態情報は、ユーザの状態が歩行中であるか、ユーザの状態が静止であるかを示す。このように連続歩行計数部111は、第1歩数ST1が更新された直前のタイミングから現在までの歩行時間と既定時間とを比較してユーザが歩行中であるかユーザが静止しているかを判定する。
【0071】
生成部130は、連続歩行計数部111で計数された連続歩行の回数NCを取得する。そして、生成部130は、第1歩数ST1及び第2歩数ST2に加え、連続歩行の回数NCを用いて関係式Fを生成する。
【0072】
詳細には、生成部130は、単位時間あたりの第1歩数ST1と、単位時間あたりの第2歩数ST2と、単位時間あたりの連続歩行の回数NCとの組(ST1,ST2,NC)を日時に関連付けてテーブル230に記憶することを単位時間ごとに繰り返す。
生成部130は、一定期間が経過した後、記憶部20からテーブル230を読み出し、統計的手法(回帰分析)によって、第2関係式F2を生成する。第2関係式F2は、次の式(2)で表される。
F2(ST1,NC)=ST10=ST1×α+NC×β+γ …(2)
【0073】
式(2)は、上述の式(1)に示す回帰直線を連続歩行の回数NCで補正することを表している。βは、連続歩行の回数NCの係数である。式(2)に示すように、関係式Fは、第1歩数ST1及び連続歩行の回数NCを変数に持つ。値α、β及びγを算出するため、生成部130は、第1歩数ST1と、第2歩数ST2と、単位時間あたりの連続歩行の回数NCとの組(ST1,ST2,NC)をテーブル230から複数読み出す。そして、生成部130は、例えば、読み出した複数の組(ST1,ST2,NC)に最小二乗法を適用して式(2)の値α、β及びγを算出する。
【0074】
補正部140は、実測段階において、記憶部20に記憶した式(2)に示す第2関係式F2を取得し、また、第1計数部110から第1歩数ST1を取得し、連続歩行計数部111から連続歩行の回数NCを取得し、式(2)に示す第2関係式F2に第1歩数ST1と連続歩行の回数NCとを代入して、実測段階における累積歩数ST10を算出する。すなわち、第2計数部120が計数したと推定される累積歩数ST10が求められる。
【0075】
次に、第2実施形態に係る携帯端末1の動作を説明する。
図5A及び
図5Bは、第2実施形態の準備段階における携帯端末1の動作を例示するフローチャートである。第1実施形態で説明した歩数計測プログラム221に関する処理に対して、第2実施形態は、
図5Aに示すように、歩数計測プログラム222に関する処理において、ステップS13の後にステップS14乃至ステップS19が設けられている。
【0076】
ステップS12の判定結果が肯定であり、一歩が検出され、第1歩数ST1がインクリメントされた場合、連続歩行計数部111は、歩行時間をリセットする(ステップS14)。歩行時間は直前の一歩が検出されてから現在までの時間を示している。歩行時間が長くなるのは、次の一歩までの時間が掛かっていることになる。この後、連続歩行計数部111は、状態情報を歩行中に設定する(ステップS15)。
【0077】
次に、連続歩行計数部111は、状態情報が歩行中を示すか否かを判定する(ステップS16)。状態情報が歩行中を示す場合(ステップS16でYES)、連続歩行計数部111は、歩行時間が既定時間(例えば、1秒)を超えたか否かを判定する(ステップS17)。歩行時間が既定時間を超えた場合(ステップS17でYES)には、連続歩行計数部111は、連続歩行の回数NCをインクリメントし(ステップS18)、状態情報を静止に設定する(ステップS19)。
【0078】
ステップS16の判定結果が否定で状態情報が静止を示す場合(ステップS16でNO)、ステップS17の判定結果が否定で歩行時間が既定時間を超えていない場合(ステップS17でNO)、ステップS19が終了した場合、ステップS23の判定結果が否定で一歩が検出されなかった場合(ステップS23でNO)、又はステップS24の処理が終了した場合、生成部130は、第1歩数ST1と第2歩数ST2とがリセットされてから、単位時間(例えば、1時間)を経過したか否かを判定する(ステップS26)。単位時間を経過した場合には(ステップS26でYES)、生成部130は、この単位時間における、第1歩数ST1、第2歩数ST2及び連続歩行の回数NCの組を、当該単位時間における日時に関連付けて、記憶部20のテーブル230に記憶した後、第1歩数ST1、第2歩数ST2、及び連続歩行の回数NCをリセットする(ステップS27)。
【0079】
ステップS27の処理が終了するか、又はステップS26の判定結果が否定である場合(ステップS26でNO)、生成部130は、準備段階の開始から一定期間が経過したか否かを判定する(ステップS28)。一定期間を経過していない場合には(ステップS28でNO)、処理がステップS21及びステップS11に戻される。
【0080】
準備段階の開始から一定期間が経過した場合(ステップS28でYES)、生成部130は、記憶部20に記憶したテーブル230から、一定期間に記憶された第1歩数ST1、第2歩数ST2、及び連続歩行の回数NCの組を読み出す。そして、生成部130は、統計的手法によって、第1歩数ST1及び連続歩行の回数NCから第2歩数ST2を推定する第2関係式F2を生成し(ステップS29)、第2関係式F2を記憶部20に記憶して、準備段階における一連の処理を終了する。
【0081】
次に、第2実施形態における実測段階の携帯端末1の動作を説明する。
図5Cは、第2実施形態における実測段階の携帯端末1の動作の一例を示すフローチャートである。
図5Cに示すフローチャートが、
図3Cに示す第1実施形態のフローチャートと相違するのは、ステップS43~S45に替わりにステップS43bを実行する点と、ステップS47の替わりにステップS47bを実行する点である。以下、相違点について説明する。
【0082】
ステップS43bでは、第1歩数ST1及び連続歩行の回数NCが計数される。この処理は、
図5Aを参照して説明したステップS11~S19と同様である。また、ステップS47bにおいて、補正部140は、記憶部20から読み出した第2関係式F2に第1歩数ST1と連続歩行の回数NCを代入することによって、実測段階における累積歩数ST10を算出する。
【0083】
第2実施形態では、更に、連続歩行の回数を考慮した第2関係式F2を用いて累積歩数ST10を求めるので、メインプロセッサ10、延いては携帯端末1の消費電力を低減しつつ、第1実施形態よりも、歩数をより高い精度で計数することができる。
【0084】
<第3実施形態>
第2実施形態で説明した歩数計測プログラム222で実現される機能は、ユーザが乗り物に乗っている場合、乗り物に発生する振動が誤って歩数として計測されることがある。これに対して、第3実施形態の歩数計測プログラム223で実現される機能は、ユーザが乗り物に乗っているかどうかを判定して、移動速度が小さい場合に適用される第1速度関係式F31と移動速度が大きい場合に適用される第2速度関係式F32を生成する点で、第2実施形態と相違する。
なお、以下、第3実施形態において、第2実施形態で説明した同様な部分の説明を省略し、相違する部分について説明する。
【0085】
図6は、第3実施形態における携帯端末1の機能ブロック図である。第3実施形態は、次の点で第2実施形態と異なる。第1に、メインプロセッサ10は、歩数計測プログラム223を記憶部20から読み出し、読み出した歩数計測プログラム223を実行することで、第1計数部110の機能、第2計数部120の機能、生成部130の機能、連続歩行計数部111及び補正部140の機能に加えて、移動速度の大きさを特定する特定部112の機能を更に実現する。第2に、この特定部112から現在の移動速度Vを取得し、移動速度Vに基づいて生成部130が第1速度関係式F31及び第2速度関係式F32を生成する。第3に、補正部140は、移動速度Vを考慮した第1速度関係式F31及び第2速度関係式F32を用いて第1歩数ST1を補正して累積歩数ST10を生成する。
【0086】
特定部112は、準備段階及び実測段階で動作する。特定部112は、ユーザの移動速度Vを特定する。特定部112は、例えば、加速度センサ30から3軸方向の加速度値Aを取得し、取得した加速度値Aを用いて、ユーザの移動速度Vを算出する。
【0087】
移動速度Vを算出する方法は、任意の方法でよい。例えば、特定部112は、X軸方向の加速度値AX、Y軸方向の加速度値AY及びZ軸方向の加速度値AZを合成して、加速度値の大きさ|A|を算出する(|A|=(AX2+AY2+AZ2)1/2)。そして、特定部112は、算出した加速度値の大きさ|A|を時間について積分して、移動速度Vを算出して累積歩数ST10を生成する。
【0088】
生成部130は、ユーザが乗り物に乗っていない状態なのか、乗り物に乗っている状態なのかを判定して第1速度関係式F31及び第2速度関係式F32を生成する。具体的には、生成部130は、特定部112から現在の移動速度Vを取得する。そして、生成部130は、現在の移動速度Vに基づいて、式(2)に示す第2関係式F2を第1速度関係式F31と第2速度関係式F32とに分けて生成する。第1速度関係式F31は、現在の移動速度Vが基準値Vref未満の場合に適用する式である。第2速度関係式F32は、現在の移動速度Vが基準値Vref以上の場合に適用する式である。
【0089】
基準値Vrefは、移動速度Vが乗り物の速さであるかを判別するための基準である。また、基準値Vrefは、予め定められている値であって、例えば、時速8kmである。時速8kmは、歩く速度よりは早く、自転車の速度よりは一般に遅いことを根拠に決定された値である。
【0090】
生成部130は、現在の移動速度Vが基準値Vref未満の場合、ユーザは乗り物に乗っていない第1状態Wにあると判定する。言い換えれば、第1状態Wは、徒歩又は走っている状態である。一方、生成部130は、現在の移動速度Vが基準値Vref以上の場合、ユーザは乗り物に乗っている第2状態TRにあると判定する。そして、生成部130は、一定期間(例えば、一週間)が経過するまで、現在の移動速度Vに基づいて、第1歩数ST1、第2歩数ST2、及び連続歩行の回数NCの組(ST1,ST2,NC)並びに第1状態W又は第2状態TRを、年月日及び時間帯に関連付けてテーブル230に記憶することを単位時間ごとに繰り返す。
【0091】
図7は、第3実施形態におけるテーブル230の一例を示す図である。例えば、テーブル230の1行目は、2016年6月1日の8時から9時までの時間帯において、第1歩数ST1と第2歩数ST2と連続歩行の回数NCとの組(ST1,ST2,NC)が第1状態Wに関連付けられていることを示している。また、テーブル230の6行目は、13時から14時までの時間帯において、第1歩数ST1が1241歩であり、そのうちの120歩が第1状態Wに関連付けられ、残りの1121歩が第2状態TRに関連付けられていることを示している。同様に、第2歩数ST2が805歩であり、そのうちの95歩が第1状態Wに関連付けられ、残りの710歩が第2状態TRに関連付けられていることを示している。なお、テーブル230の3行目に示すように、第1歩数ST1及び第2歩数ST2の双方が0であった場合、生成部130は、例えば、NA(Not Applicable)を対応する組(ST1,ST2,NC)に関連付ける。
【0092】
生成部130は、一定期間が経過した後、第1状態Wに関連付けられている組を用いて第1速度関係式F31を生成し、第2状態TRに関連付けられている組を用いて第2速度関係式F32を生成する。具体的には、生成部130は、一定期間が経過した後、第1状態Wに関連付けられている組(ST1,ST2,NC)をテーブル230から複数抽出し、統計的手法(回帰分析)によって、抽出した複数の組を用いて第1速度関係式F31を生成する。同様に、生成部130は、第2状態TRに関連付けられている組(ST1,ST2,NC)をテーブル230から複数抽出し、統計的手法(回帰分析)によって、抽出した複数の組を用いて第2速度関係式F32を生成する。
【0093】
ユーザが乗り物に乗っていない第1状態Wに適用される第1速度関係式F31は、次の式(3)で表される。一方、ユーザが乗り物に乗っている第2状態TRに適用される第2速度関係式F32は、次の式(4)で表される。
F31(ST1,NC)=ST10=ST1×α1+NC×β1+γ1 …(3)
F32(ST1,NC)=ST10=ST1×α2+NC×β2+γ2 …(4)
【0094】
式(3)及び式(4)において、α1及びα2は、第1歩数ST1の係数である。β1及びβ2は、連続歩行の回数NCの係数である。γ1及びγ2は、切片である。α1、β1及びγ1を求めるため、生成部130は、第1状態Wに関連付けられている組に最小二乗法を適用する。同様に、α2、β2及びγ2を求めるため、生成部130は、第2状態TRに関連付けられている組に最小二乗法を適用する。
【0095】
補正部140は、実測段階において、記憶部20に記憶した第1速度関係式F31及び第2速度関係式F32のいずれかを現在の移動速度Vに基づいて選択し、また、第1計数部110から第1歩数ST1を取得し、連続歩行計数部111から連続歩行の回数NCを取得し、選択した方の関係式に第1歩数ST1と連続歩行の回数NCとを代入して、実測段階における累積歩数ST10を算出する。すなわち、第2計数部120が計数したと推定される累積歩数ST10が求められる。詳細には、補正部140は、実測段階において、特定部112から現在の移動速度Vを取得し、また、第1計数部110から第1歩数ST1を取得し、連続歩行計数部111から連続歩行の回数NCを取得する。そして、補正部140は、取得した現在の移動速度Vが基準値Vref未満の場合、ユーザは乗り物に乗っていない第1状態Wにあると判定し、第1速度関係式F31を選択し、この選択した第1速度関係式F31に、取得した第1歩数ST1と連続歩行の回数NCとを代入して、実測段階における累積歩数ST10を算出する。一方、補正部140は、現在の移動速度Vが基準値Vref以上の場合、ユーザは乗り物に乗っている第2状態TRにあると判定し、第2速度関係式F32選択し、この選択した第2速度関係式F32に、取得した第1歩数ST1と連続歩行の回数NCとを代入して、実測段階における累積歩数ST10を算出する。
【0096】
図8Aは、第1計数部110によって計数された第1歩数ST1と、第2計数部120によって計数された第2歩数ST2との間の関係を例示するグラフである。四角の記号は、ユーザが乗り物に乗っていない第1状態Wに関連付けられた組(ST1,ST2,NC)を示す。黒丸の記号は、ユーザが乗り物に乗っている第2状態TRに関連付けられた組(ST1,ST2,NC)を示す。また、点線は、第1歩数ST1が第2歩数ST2と一致する場合を仮想的に示す。
【0097】
四角の記号で示す複数の組は、点線から若干ずれて分布している。このずれの原因は、ユーザ個人の歩き方に起因すると考えられる。黒丸の記号で示す複数の組は、点線から大きくずれて分布している。このずれの原因は、乗り物の振動が歩数として計数されたことに起因すると考えられる。
【0098】
図8Bは、補正部140によって補正された累積歩数ST10と、第2計数部120によって計数された第2歩数ST2との間の関係を例示するグラフである。四角の記号は、ユーザが乗り物に乗っていない第1状態Wに関連付けられた組(ST1,ST2,NC)を示す。黒丸の記号は、ユーザが乗り物に乗っている第2状態TRに関連付けられた組(ST1,ST2,NC)を示す。また、点線は、第1歩数ST1が第2歩数ST2と一致する場合を仮想的に示す。
【0099】
図8Bに示すように、ユーザが乗り物に乗っていない第1状態Wに関連付けられた組(ST1,ST2,NC)は、概ね点線に沿って分布している。その上で、ユーザが乗り物に乗っている第2状態TRに関連付けられた組(ST1,ST2,NC)の誤計数が改善されている。よって、歩数がより高い精度で計数されていることが分かる。
【0100】
第3実施形態では、移動速度Vに基づいた第1速度関係式F31及び第2速度関係式F32を用いて累積歩数ST10を求めるので、メインプロセッサ10、延いては携帯端末1の消費電力を低減しつつ、第1及び第2実施形態よりも、歩数をより高い精度で計数することができる。
【0101】
<変形例>
本発明の一例として実施形態を説明したが、本発明はこれに限定されるものではなく、以下に述べる各種の変形が可能である。更に、以下の例示から任意に選択された2以上の態様は、技術的に矛盾しない限り適宜併合され得る。
【0102】
(1)上述した各実施形態では、一定期間が経過することを条件に関係式を生成したが本発明はこれに限定されるものではない。例えば、関係式Fを生成するのに必要なサンプル数がテーブル230に記憶された場合に、準備段階から実測段階へ移行させても良い。また、準備段階の期間をユーザが入力できるようにしても良い。
【0103】
(2)上述した各実施形態では、サブプロセッサ60においてデフォルト計数部610の機能を実現したが、加速度センサ30においてデフォルト計数部610の機能を実現することも可能である。具体的には、
図1においてデフォルト計数部610は、加速度センサ30の一部として備わり、デフォルト歩数計数プログラム210を記憶部20から読み出し、読み出したデフォルト歩数計数プログラム210を実行する。そして、デフォルト計数部610は、準備段階及び実測段階において、加速度センサ30で検出した加速度値Aに基づいて歩数ST0を計数し、サブプロセッサ60又はメインプロセッサ10の第1計数部110に出力しても良い。
【0104】
(3)上述した各実施形態では、メインプロセッサ10からの要求に応じてサブプロセッサ60は歩数ST0を出力したが、本発明はこれに限定されるものではなく、第1計数部110が、ユーザの歩行に関する歩行情報を取得できればよい。この歩行情報には、歩数ST0の他に、歩数が「1」増加したことを示す信号が含まれる。例えば、サブプロセッサ60が一歩を検出するごとに発生する割込信号が該当する。
第1計数部110は、歩行情報として割込信号を取得した場合、割込信号を検知すると一歩を検出する(
図3Aに示すステップS12)。
【0105】
(4)上述した各実施形態では、加速度センサ30を用いて、第1歩数ST1及び第2歩数ST2が計数された。ジャイロセンサを加速度センサ30と併用して、第1歩数ST1及び第2歩数ST2を計数してもよい。この場合、ジャイロセンサは、サブプロセッサ60に接続され、3軸における角速度ω、即ち、X軸回りの角速度ωX、Y軸回りの角速度ωY、Z軸回りの角速度ωZを検出する。デフォルト計数部610は、3軸方向の加速度値Aに加え、3軸における角速度ωを用いて歩数ST0を計数する。同様に、第2計数部120も、3軸方向の加速度値Aに加え、3軸における角速度ωを用いて第1歩数ST1を計数する。
【0106】
(5)上述した第3実施形態では、現在の移動速度Vは、3軸方向の加速度値Aに基づいて算出される。代替的に、現在の移動速度Vは、GPS(Global Positioning System)によって取得された現在位置に基づいて、算出されてもよい。この場合、特定部112は、位置の時間変化を算出すればよい。
【0107】
(6)上述した第3実施形態では、第1速度関係式F31及び第2速度関係式F32を連続歩行の回数NCを考慮して生成したが、本発明はこれに限定されるものではなく、第1歩数ST1と第2歩数ST2とに基づいて、第1速度関係式F31及び第2速度関係式F32を生成してもよい。
この場合ユーザが乗り物に乗っていない第1状態Wに適用される第1速度関係式F31は、次の式(5)で表される。一方、ユーザが乗り物に乗っている第2状態TRに適用される第2速度関係式F32は、次の式(6)で表される。
F31(ST1)=ST1×α1+γ1 …(5)
F32(ST1)=ST1×α2+γ2 …(6)
【符号の説明】
【0108】
1…携帯端末、10…メインプロセッサ、20…記憶部、30…加速度センサ、40…操作表示部、50…通信部、60…サブプロセッサ、110…第1計数部、120…第2計数部、130…生成部、140…補正部、111…連続歩行計数部、112…特定部、210…デフォルト歩数計数プログラム、221,222,223…歩数計測プログラム、230…テーブル、610…デフォルト計数部。