説明

歩数計、およびプログラム

【課題】使用者の動作の種別によらずに正確に歩数を計数することを、従来よりも少ない消費電力で実現する。
【解決手段】加速度センサの出力信号が増加から減少に転じたこと(すなわち、ピークとなったこと)を検出する毎に当該ピーク値を第1の閾値と比較し、さらに、その1つ手前のピークの検出タイミングとの時間間隔を第2の閾値と比較して歩数の計数の要否を判定する。次いで、検出したピーク値を第1の閾値よりも大きい第3の閾値と比較し、さらに、一つ手前のピークとの時間間隔を第2の閾値よりも短い時間を表す第4の閾値と比較して使用者の動作の種別(歩行、走行、または、何れでもない)を判定し、歩行中または走行中と判定された場合に、加速度の時間波形にピークが現れてからの波形の立下りの急峻さをその判定結果に応じて評価し、動作種別毎に歩数を累算する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、使用者の歩数を計数する歩数計に関し、特に、加速度センサなどの運動センサを用いて使用者の一歩を検出する歩数計に関する。
【背景技術】
【0002】
この種の歩数計の一例としては、特許文献1〜8に開示されたものが挙げられる。これら特許文献に開示された歩数計は、加速度センサの出力波形に特徴的なパターンが現れたか否かによって使用者の一歩を検出するもの(特許文献1および特許文献2)と、加速度センサにより計測された物理量(加速度)と所定の閾値との比較により使用者の一歩を検出するもの(特許文献3〜8)とに大別される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−039971号公報
【特許文献2】特開2006−127192号公報
【特許文献3】特開2007−115242号公報
【特許文献4】特開2007−115243号公報
【特許文献5】特開2008−262522号公報
【特許文献6】特開2006−118909号公報
【特許文献7】特開2006−293860号公報
【特許文献8】特開2008−250964号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、歩数計の使用者が走っている状態(両方の足が宙に浮いている瞬間があるような移動状態)と歩いている状態(何れの瞬間においても、少なくとも一方の足が地面に接しているような移動状態)とでは、一歩として検出するべき加速度の大きさは当然に異なったものとなる。このため、加速度センサにより検出された加速度と予め定めた閾値との比較により歩数を計数する態様の歩数計では、使用者の動作種別(歩いているのか、走っているのか)や移動速度(ゆっくり歩いているのか、早く歩いているのかなど)によっては歩数を正確に計数できない場合がある。また、この態様の歩数計では、使用者の歩行(或いは走行)に伴う加速度の時間変化に外部ノイズ(例えば、使用者の周囲の音や振動など)が重畳し歩数の計数に支障が生じる場合がある。さらに、この態様の歩数計においては、当該歩数計が使用者の腰に着けられているのか、それとも鞄などに入れられているのかという歩数計の装着箇所によっても歩数の計数に支障が生じる場合がある。歩数計がどのような態様で使用者の身に着けられているのかによっても、一歩として検出するべき加速度の大きさが異なることがあり得るからである。このように、加速度センサにより検出された加速度と予め定めた閾値との比較により歩数を計数する態様の歩数計の場合、正確に歩数を計数することが難しいことが多い。これに対して、加速度センサの出力波形のパターン解析により歩数を計測する態様の歩数計では、前者の態様の歩数計に比較して歩数を正確に計数することができるといった利点があるものの、複雑な処理の実行が必要となり、消費電力が高くなる、といった不具合がある。
【0005】
本発明は上記課題に鑑みてなされたものであり、使用者の動作種別や移動速度によらずに正確に歩数を計測することを、従来よりも少ない消費電力で実現することを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために本発明は、運動に伴って生じる物理量を示す信号を出力する運動センサと、前記運動センサの出力信号を解析し、前記物理量の時間波形に周期的に現れる特徴点を検出する特徴点検出手段と、前記特徴点検出手段により検出された特徴点における前記物理量の大きさを第1の閾値と比較するとともに、当該特徴点の一つ手前に現れた特徴点についての前記特徴点検出手段による検出タイミングとの時間間隔を第2の閾値と比較して、当該歩数計を装着して使用する使用者の歩数の計数の要否を判定する第1の判定手段と、歩数の計数を要すると前記第1の判定手段により判定された特徴点ついて、当該特徴点における前記物理量の大きさを前記第1の閾値よりも大きい第3の閾値と比較するとともに、当該特徴点の一つ手前に現れた特徴点についての前記特徴点検出手段による検出タイミングとの時間間隔を前記第2の閾値よりも長い時間を表す第4の閾値と比較して前記使用者の運動状態が歩行状態であるのか、走行状態であるのか、その何れでもない状態であるのかを判定する第2の判定手段と、歩行状態または走行状態に応じたものであると前記第2の判定手段により判定された特徴点に関し、当該特徴点が現れてからの前記運動センサの出力信号の立下りの急峻さを前記第2の判定手段の判定結果に応じて評価して歩行または走行における一歩を検出し、使用者の動作の種別毎に歩数を累算する計数手段とを有することを特徴とする歩数計、を提供する。
【0007】
このような歩数計によれば、まず、使用者の歩数の計数の要否が第1の判定手段により判定され、計数を要すると判定された場合に、当該使用者の運動の種別が第2の判定手段により判定され、その判定結果に応じて動作の種別毎に計数手段による歩数の計数が行われる。このため、運動センサ(例えば、加速度センサ)の時間波形に現れた特徴点(例えば、ピーク(より正確にはローカルピーク))における物理量(すなわち、加速度)の大きさが上記第1の閾値に満たない場合(すなわち、極めて小さいピークである場合)や上記第2の閾値未満の短時間のうちに連続して発生したものである場合など、外部ノイズ等に起因して現れたと推測される特徴点である場合には、歩数の計数は行われず、正確に歩数を計数することが可能になる。加えて、本発明の歩数計においては、2段階の閾値の判定と、物理量の時間波形に上記特徴点が現れてからの当該波形の立ち下がりの急峻さの評価によって歩行(或いは走行)の一歩が検出されるため、物理量の時間波形を詳細に解析して一歩の検出を行う従来技術に比較して少ない消費電力で歩数を正確に計数することが可能になる。なお、本発明の別の態様においては、コンピュータを上記各手段として機能させるプログラム、或いは当該プログラムを記録したコンピュータ読み取り可能な記録媒体を提供する態様であっても良い。
【0008】
ここで、上記特徴点としてピークを用いる場合には、その検出態様として種々のものが考えられる。例えば、物理量が増加から減少に転じたとき、または、物理量が増加から減少に転じ、かつその減少の幅が所定の閾値を超えていた場合に上記特徴点としてのピークを検出する態様が考えられる。また、運動センサとして、互いに直交する3つの軸方向の物理量の成分を表す信号を出力するものを用いる態様の場合には、物理量の大きさが増加から減少に転じ、かつ、上記各信号を所定のサンプリング間隔でサンプリングして得られるデータのうちの少なくとも1つが所定の閾値以上である場合に上記特徴点としてのピークを検出する態様であっても良い。
【0009】
より好ましい態様としては、上記特徴点としてピークを用い、かつ上記物理量として加速度を用いる(すなわち、運動センサとして加速度センサを用いる)場合には、上記特徴点検出手段は、静止時の加速度の大きさが重力加速度の大きさと一致するもとのなるように、予め求めたばらつき補正値によるばらつき補正を前記運動センサの出力信号に施した後に前記特徴点の検出を行うことを特徴とする。運動センサの製造ばらつき等に起因した歩数の計数誤りを回避するためである。また、さらに好ましい態様においては、使用者が静止したことを検出した場合に前記ばらつき補正値を更新する処理を特徴点検出手段に実行させるようにしても良い。使用者が鞄などに入れた状態で当該歩数計を身に着けている場合には、歩行(或いは走行)中に鞄内を歩数計が転がるなどして上記ばらつき補正値を求めた際の姿勢とは異なる姿勢で歩数の計数が行われ、不適切なばらつき補正値を用いることに起因した歩数の計数誤りが発生し得る。しかし、本態様によれば、使用者が静止する度にばらつき補正値の更新が行われ、不適切なばらつき補正値が使い続けられることに起因した歩数の計数誤りを回避することが可能になる。つまり、このような態様によれば、使用者が歩いているのか、それとも走っているのかに依らないことは勿論、歩数計の身に着け方にも影響されることなく正確に歩数を計数することが可能になる。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施形態の携帯電話機10の構成例を示す図である。
【図2】本実施形態における歩数の計数の概略を説明するための図である。
【図3】同携帯電話機10の制御部110が歩数計プログラムにしたがって実行する歩数計処理の流れを示すフローチャートである。
【図4】同歩数計処理のステップSA100において実行される判定用加速度データ生成処理の流れを示すフローチャートである。
【図5】同歩数計処理のステップSA110において実行される状況判定処理を説明するための図である。
【図6】同歩数計処理のステップSA120において実行される動作種別判定処理の流れを示すフローチャートである。
【図7】同歩数計処理のステップSA130において実行される計数処理の流れを示すフローチャートである。
【図8】同歩数計処理のステップSA140において実行される停止エリア判定処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照しつつ本発明の実施形態について説明する。
(A:構成)
図1は、本発明の一実施形態の歩数計として機能する携帯電話機10の構成例を示すブロック図である。この携帯電話機10は、通話音声の入出力を行うための音声入出力部や移動電話網の基地局との無線通信を行う無線通信部(何れも図示略)の他に、制御部110、運動センサ120、操作部130、表示部140、記憶部150、およびこれら構成要素間のデータ授受を仲介するバス160を有している。
【0012】
制御部110は、例えばCPU(Central Processing Unit)である。この制御部110は、記憶部150(より正確には不揮発性記憶部154)に記憶されている各種プログラムを実行し、携帯電話機10の制御中枢として機能する。制御部110が各種プログラムにしたがって実行する処理については後に詳細に説明する。
【0013】
運動センサ120は、運動に伴って生じる物理量を示す信号を出力する装置である。本実施形態では、運動センサ120としてピエゾ抵抗型3軸加速度センサが用いられている。運動センサ120は、運動に伴って時間変化する物理量(本実施形態では、加速度)を互い直交する3つの軸(X軸、Y軸およびZ軸)方向の成分に分解して検出し、各成分を表す3つのアナログ信号(以下、加速度信号SAX、SAYおよびSAZ)を出力する。携帯電話機10の使用者が、その携帯電話機10を身に着けて(或いは携帯電話機10を把持して)何らかの運動を行うと、その運動に起因した外力が運動センサ120の検出部(図示略)に加わり、その外力に応じて生じた物理量を表わす信号である加速度信号SAX、SAYおよびSAZが出力されるのである。なお、本実施形態では、運動センサ120として、上記3つの軸方向の各々について−2G〜2Gの範囲の加速度を検出することができる加速度センサが使用されているが、より狭い範囲(或いは広い範囲)の加速度を検出するものを用いても勿論良い。
【0014】
加速度信号SAX、SAYおよびSAZの各々はバス160を介して制御部110に与えられる。制御部110は、これらアナログ信号SAX、SAYおよびSAZの各々を所定のサンプリング周期(例えば、5ミリ秒周期)でサンプリングし、8ビットのデジタル形式の加速度データ(すなわち、0〜255の範囲のデータ)DAX、DAYおよびDAZに変換するA/D変換処理を実行する。前述したように運動センサ120は、X軸、Y軸およびZ軸の各軸方向について−2G〜2Gの範囲の加速度を検出する3軸加速度センサである。このため、運動センサ120のZ軸を鉛直方向(重力加速度方向)に向けた状態で携帯電話機10をX軸の正方向に動かすと128から255の範囲の加速度データDAXが得られ、逆に、同X軸の負方向に動かすと128〜0の範囲の加速度データDAXが得られる(正負何れの方向にも動かしていない状態(すなわち、X軸方向に関して静止している状態)では、加速度データDAX=128が得られる)。なお、本実施形態では、上記A/D変換処理を制御部110に実行させたが、運動センサ120をA/D変換器を介してバス160に接続し、当該A/D変換に上記A/D変換処理を実行させても良く、また、上記A/D変換処理を実行するA/D変換器と1チップ化されたもの(すなわち、デジタル出力の加速度センサなど)を運動センサ120として用いても勿論良い。
【0015】
操作部130と表示部140は、携帯電話機10の使用者に各種ユーザインタフェースを提供するためのものである。操作部130は、例えばテンキーなどの複数の操作子を有しており、それら操作子に対する使用者の操作内容を表すデータ(以下、操作内容データ)を出力する。この操作内容データはバス160を介して制御部110に与えられる。これにより、操作部130に対して行ったユーザの操作内容が制御部110に伝達される。表示部140は、例えば液晶ディスプレイとその駆動回路とを含んでおり(何れも図示略)、制御部110から引渡される画像データに応じた画像を表示する。
【0016】
記憶部150は、揮発性記憶部152と不揮発性記憶部154を含んでいる。揮発性記憶部152は例えばRAM(Random Access Memory)である。この揮発性記憶部152は、各種プログラムを実行する際にワークエリアとして制御部110によって使用される。揮発性記憶部152に格納されるデータの一例としては、歩数計プログラム154bの実行過程で参照および更新される各種フラグ(補正値更新フラグ、動作種別判定フラグ、歩数累算フラグ、および停止エリア判定フラグ:これら各フラグの役割については動作例において明らかにする)や、携帯電話機10の使用者が歩いた歩数や走った歩数を各々別個に累算するためのカウンタが挙げられる。
【0017】
一方、不揮発性記憶部154はEPROM(Erasable Programmable ROM)などの不揮発性メモリである。この不揮発性記憶部154には各種データと各種プログラムが記憶されている。不揮発性記憶部154に記憶されているデータの一例としては、移動通信網を介してダウンロードした楽曲データや携帯電話機10の使用者の友人の電話番号や電子メールアドレス等からなるアドレス帳データが挙げられる(何れも図示略)。また、不揮発性記憶部154に格納されているプログラムの一例としては、所謂OS(Operating System)を実現するカーネルプログラム154a、移動通信網を介して楽曲データや映像データをダウンロードするためのブラウザプログラム(図示略)、楽曲データにしたがって楽音の再生を行う音楽プレイヤプログラム(同図示略)、および携帯電話機10を歩数計として機能させる歩数計プログラム154bが挙げられる。なお、図1では、不揮発性記憶部154に記憶されているプログラムのうち、カーネルプログラム154aと歩数計プログラム154bのみが図示されている。音楽プレイヤプログラムなど他のプログラムについては、本発明には直接的に関連しないからである。以下、カーネルプログラム154aおよび歩数計プログラム154bを中心に説明する。
【0018】
制御部110は、携帯電話機10の電源(図示略)が投入されたことを契機としてカーネルプログラム154aを揮発性記憶部152に読み出し、その実行を開始する。カーネルプログラム154aにしたがって作動している制御部110には、携帯電話機10の各部の作動制御を行う機能や、操作部130を介して与えられるユーザの指示に応じて1または複数のプログラムを実行する機能が付与される。なお、本実施形態では複数のプログラムの実行を指示された場合には、それらは並列に実行される。例えば、音楽プレイヤプログラムと歩数計プログラム154bの実行を指示された場合には、音楽プレイヤプログラムにしたがって楽音を再生する処理と、歩数計プログラム154bにしたがって携帯電話機10の使用者の歩数を計数する処理とが並列に実行される。つまり、携帯電話機10の使用者は、この携帯電話機10を使用して楽音等を聴きながら同時に歩数等の計数を行わせることができるのである。
【0019】
歩数計プログラム154bは、前述したA/D変換処理と、携帯電話機10を歩数計として機能させる歩数計処理とを制御部110に実行させるプログラムである。この歩数計処理では、制御部110は、加速度データDAX、DAYおよびDAZから、後述の処理を経て、携帯電話機10の使用者の運動に起因して生じた加速度の大きさを表す判定用加速度データACCを生成し、図2に示すように、判定用加速度データACCの時間波形(各サンプリングタイミングにおける判定用加速度データACCを座標平面にプロットして得られる時系列データである波形)に現れる特徴点に基づいて携帯電話機10の使用者の一歩を検出して歩数を計数する。携帯電話機10の使用者が歩行或いは走行している場合、その歩行或いは走行に伴って略周期的に特徴点が現れるからである。なお、本実施形態では、上記特徴点としてローカルピーク(判定用加速度データACCが増加から減少に転じる極大点:以下、単に「ピーク」と呼ぶ)が用いられている。詳細については重複を避けるために動作例において明らかにするが、本実施形態では、歩数計処理の処理手順を工夫することによって、携帯電話機10の使用者の動作種別(歩いているのかそれとも走っているのかなど)や携帯電話機10の身に着け方、或いは外部ノイズの有無などによらずに正確に歩数を計測することを、従来よりも少ない消費電力で実現しているのである。
以上が携帯電話機10の構成である。
【0020】
(B:動作)
次いで歩数計処理における動作を中心に、歩数計プログラム154bにしたがって制御部110が実行する動作を説明する。
【0021】
制御部110は、操作部130を介して歩数計プログラム154bの実行指示を与えられると、当該歩数計プログラム154bを不揮発性記憶部154から揮発性記憶部152へ読み出し、その実行を開始する。当該歩数計プログラム154bの実行開始時点では、前述した各種フラグには初期値としてOFF(0)がセットされ、歩数累算用の各カウンタには初期値(0または前回の起動時までに計数した歩数)がセットされる。
【0022】
図3は、制御部110が歩数計プログラム154bにしたがって実行する歩数計処理の流れを示すフローチャートである。図3に示すように、制御部110は、まず、判定用加速度データ生成処理(ステップSA100)を実行する。この判定用加速度データ生成処理は、A/D変換処理によって生成される加速度データDAX、DAYおよびDAZから判定用加速度データACCを生成する処理である。この判定用加速度データ生成処理は、A/D変換処理によって加速度データDAX、DAYおよびDAZが生成される毎に(すなわち、サンプリング周期毎に)実行される。
【0023】
図4は、判定用加速度データ生成処理の流れを示すフローチャートである。
図4に示すように、制御部110は、A/D変換処理により得られた加速度データDAX、DAYおよびDAZをプロセス間通信等により受信(ステップSA1010)すると、これら加速度データに対してゼロ原点オフセット処理(ステップSA1020)を施して加速度データDAX´、DAY´およびDAZ´を生成する。ここで、ゼロ原点オフセット処理とは、例えば、Z軸を鉛直方向に向けた携帯電話機10がX軸、Y軸およびZ軸の何れの方向に関しても静止している場合には、加速度データDAX´およびDAY´は0となり、DAZ´は鉛直下向き1Gを表す値となるように、加速度データを補正する処理である。このゼロ原点オフセット処理は、以下の式(1X)、(1Y)および(1Z)に示す演算を行うことで実現される。
DAX´=10×(DAX−128)・・・(1X)
DAY´=10×(DAY−128)・・・(1Y)
DAZ´=10×(DAZ−128)・・・(1Z)
このようなゼロ原点オフセット処理を施すことにより、携帯電話機10の使用者が静止している場合には、加速度DAX´、DAY´およびDAZ´の2乗の和の平方根は640(或いはその近傍の値)となり、この値は重力加速度(鉛直下向き1Gの加速度)の大きさを表すのである。なお、式(1X)、(1Y)および(1Z)においては上述したゼロ原点補正の他に信号強度を増強させるための受信倍率(本実施形態では、10倍)の乗算も行っているが、受信場率は10倍に限定されるものではなく、また、このような受信倍率の乗算は必ずしも必須ではない。
【0024】
次いで、制御部110は、揮発性記憶部152に格納されている補正値更新フラグを参照し、ばらつき補正値の更新の要否を判定する(ステップSA1030)。ここで、ばらつき補正値とは、静止時の加速度の大きさが重力加速度の大きさと一致するもとのなるように加速度データDAX´、DAY´およびDAZ´を補正するための値である。そして、補正値更新フラグとは、上記ばらつき補正値の更新の要否を示すフラグであり、その値がON(1)であれば(すなわち、SA1030の判定結果がYesであれば)、ばらつき補正値の更新を要することを、その値がOFF(0)であれば(すなわち、SA1030の判定結果がNoであれば)同更新を要さないことを示す。詳細については後述するが、本実施形態では、携帯電話機10の使用者が一定時間に亘って静止し続けていることが検出された場合に制御部110は補正値更新フラグにONをセットし(図3:ステップSA150およびSA160参照)、ばらつき補正値の更新を完了すると補正値更新フラグをOFFに戻す。
【0025】
図4に示すように、ステップSA1030の判定結果が“No”である場合(すなわち、補正値更新フラグがOFFである場合)には、制御部110は、揮発性記憶部152に格納されているばらつき補正値を用いて加速度データDAX´、DAY´およびDAZ´を補正する(ステップSA1050)。逆に、ステップSA1030の判定結果が“Yes”である場合(すなわち、補正値更新フラグがONである場合)には、ばらつき補正値の更新および補正値更新フラグをOFFに戻す処理(ステップSA1040)を行った後にステップSA1050の処理を実行する。このように、本実施形態では、携帯電話機10の使用者が一定時間に亘って静止し続けている場合にのみ、ばらつき補正値の更新が行われるのである。なお、ばらつき補正値の算出手法については公知のものを用いるようにすれば良い。
【0026】
次いで、制御部110は、ばらつき補正を施した加速度データDAX´、DAY´およびDAZ´の各々の二乗の和の平方根を合成加速度データACC´として算出し、揮発性記憶部152内のリングバッファに書き込む(ステップSA1060)。このリングバッファは12個分の合成加速度データACC´を格納する記憶容量を有しており、新たな合成加速度データACC´の書き込みを行う際に上記リングバッファに空きが無い場合には、制御部110は最も古いものを消去した後に新たな合成加速度データACC´の書き込みを行う。
【0027】
ステップSA1060に後続して実行されるステップSA1070は、上記リングバッファに所定数(本実施形態では、12)分の合成加速度データACC´が格納されているか否かを判定する処理である。そして、制御部110は、ステップSA1070の判定結果が“No”である場合には、ステップSA1010以降の処理を繰り返し実行する一方、ステップSA1070の判定結果が“Yes”である場合には、上記所定数分の合成加速度データACC´の平均値(例えば相加平均)を算出し、この平均値を判定用加速度データACCとしてバッファ(揮発性記憶部152内に確保される記憶領域であって、数十サンプル等、充分な数の判定用加速度データを記憶可能な記憶領域)に書き込む(ステップSA1080)。前述したように、上記リングバッファの格納内容はA/D変換処理による加速度データDAX、DAYおよびDAZの生成(すなわち、加速度信号のサンプリング)に同期して順次書き換えられるのであるから、上記ステップSA1080の処理は12個分の合成加速度データの移動平均を算出する処理に他ならない。本実施形態では、このようにして算出される移動平均が判定用加速度データACCとして用いられるのである。
【0028】
本実施形態では、以上のようにして生成された判定用加速度データACCを処理対象としてステップSA110以降の処理が実行され、歩数の計数が行われる。ここで注目すべき点は、判定用加速度データACCは、携帯電話機10の使用者の運動により生じた加速度の大きさ(より正確には、その移動平均)を表すデータである、という点である。本来、加速度は大きさと方向を有するベクトルであり、携帯電話機10をどのような向きで使用者が身に着けているのか(すなわち、使用者と運動センサ120の検出軸であるX軸、Y軸およびZ軸の相対的な位置関係)によって、使用者の動作が同じであっても異なる値の加速度データDAX、DAYおよびDAZが得られる。このため、加速度データDAX、DAYおよびDAZをそのまま用いて歩数の計数を行う場合には、使用者の進行方向と鉛直方向とを特定し、さらに各方向の波形を解析して歩数の計数を行うといった複雑な処理を行う必要がある。これに対して本実施形態では、使用者と運動センサ120との相対的な位置関係には依存しない加速度の大きさを示す判定用加速度データACCを用いて歩数を計数するようにしたため、簡素な処理で歩数を計数することができるのである。また、判定用加速度データACCは移動平均値であるため、外部ノイズ等に起因して発生した微小なピークが均され、それら外部ノイズに起因した計数誤りを回避することができるのである。
以上が判定用加速度データ生成処理の流れである。
【0029】
図3に戻って、判定用加速度データ生成処理SA100に後続して実行される状況判定処理SA110は、携帯電話機10の使用者の動作が歩数の計数の対象とすべきものであるか否か、を判定用加速度データACCの時間波形における特徴点(本実施形態では、ピーク)の現れ方に基づいて判定する処理である。この状況判定処理SA110も、判定用加速度データACCが生成される毎(すなわち、リングバッファへの所定数分のデータの蓄積期間を除けば、サンプリング周期毎)に実行される。以下、図5を参照しつつ状況判定処理の詳細について説明する。
【0030】
図5(A)は、状況判定処理の流れを示すフローチャートである。
図5(A)に示すように、制御部110は、まず、上記バッファに書き込まれた最新の判定用加速度データACCを参照し、判定用加速度データACCの時間波形にピークが現れたか否かを判定する(ステップSA1110)。前述したように、本実施形態では、判定用加速度データACCが増加から減少に転じたときに、ピークが現れたと判定する。例えば、図5(B)に示すようにk番目からn番目(k<n)のサンプリングタイミングまでは判定用加速度データACCが次第に増加し、n+1番目のサンプリングタイミングにおいて判定用加速度データACCが減少に転じたとすると、n+1番目のサンプリングタイミングおいてステップSA1110の判定結果は“Yes”になる(換言すれば、その1つ手前のサンプリングタイミング(すなわち、n番目)をピークとする)。図5(A)に示すように、制御部110は、ステップSA1110の判定結果が“Yes”である場合にのみ、ステップSA1120以降の処理を実行する。前述したように、本実施形態では、判定用加速度データACCの時間波形に現れるピークに基づいて歩数の計数を行うからである。
【0031】
このように本実施形態においては、判定用加速度データACCが増加から減少に転じたときにピークと判定するのであるが、ピーク検出の具体的な手法としては他の態様も考えられる。具体的には、判定用加速度データACCが増加から減少に転じ、かつその減少の幅が所定の閾値を上回っている場合にピークと判定する態様や、判定用加速度データACCが増加から減少に転じた時点の加速度データDAX、DAYおよびDAZのうちの少なくとも1つが所定の閾値を上回っている場合にピークと判定する態様などが考えられる。なお、当該閾値はX,YおよびZの各軸方向について同一であっても良く、軸ごとに異なる値であっても良い。携帯電話機10の使用者の歩き方(或いは、走り方)によっては、各軸のピークに時間的なずれが発生する場合があり、判定用加速度データACCの時間波形に複数のピークが連続して発生することがあるが、上述の他の態様によれば本実施形態に比較してピーク検出にかかる処理が複雑にはなるものの、使用者の歩き方(走り方)のクセによらずにより正確にピーク検出を行うことができると期待される。
【0032】
ステップSA1110の判定結果が“Yes”である場合に実行されるステップSA1120では、制御部110は、ステップSA1110にて検出されたピークの大きさPACC(前述したように、n+1番目のサンプルについてステップSA1110の判定結果が“Yes”となった場合には、n番目のサンプリングタイミングにおける判定用加速度データACC)が第1の閾値th1以上であるか否かを判定する。このステップSA1120の判定結果が“No”であれば、制御部110は、ステップSA1130以降の処理を実行することなく、本状況判定処理を終了する。逆に、ステップSA1120の判定結果が“Yes”である場合には、制御部110はステップSA1130以降の処理を実行する。このように、ステップSA1110にて検出されるピークの大きさが第1の閾値th1以上の場合にのみ後続の処理を行うようにしたのは、外部ノイズ等に起因して生じる微小なピーク(図5(C)参照)によって歩数の計数誤りが生じないようにするためである。このように微小ピークか否かの判別を行うための第1の閾値th1としてどのような値を用いるのかについては適宜実験を行って定めれば良い。
【0033】
ステップSA1120の判定結果が“Yes”である場合に実行されるステップSA1130では、制御部110は、ステップSA1110にて検出されたピークとその1つ手前のピークの時間間隔が第2の閾値th2以上であるか否かを判定する。ここで、ステップSA1110にて検出されたピークとその1つ手前のピークの時間間隔とは、動き始めの場合(歩き始めや走り始めなど、初めてピークが検出された場合)には、静止状態を脱してからピークに到るまでの経過時間をいい、図5(B)に示すように、m番目およびn番目(n,mは自然数:m<n)のサンプリングタイミングにおいて各々ピークとなっている場合には、(n−m)×サンプリング周期で算出される。
【0034】
このステップSA1130の判定結果が“No”であれば、制御部110は、ステップSA1140以降の処理を実行することなく、本状況判定処理を終了する。逆に、ステップSA1130の判定結果が“Yes”である場合には、制御部110はステップSA1140以降の処理を実行する。このように、ステップSA1110にて検出されるピークとその一つ手前に検出されたピークの時間間隔が第2の閾値th2を超える場合にのみ後続の処理を行うようにしたのは、外部ノイズやチャタリング等に起因してピークが二重或いは三重など多重に生じた場合(図5(C)参照)に、歩数の計数誤りが生じないようにするためである。このような多重ピークに起因した計数誤りを排除するための第2の閾値th2についても、前述した第1の閾値th1と同様に適宜実験を行って好適な値を求めれば良い。
【0035】
ステップSA1130の判定結果が“Yes”である場合に実行されるステップSA1140では、制御部110は、停止待ち(判定用加速度データACCがピークとなってから、所定の停止エリア値まで下降するのを待っている状態:詳細については後述する)であるか否かを判定する。具体的には、制御部110は、停止エリア判定フラグの値がONであれば、停止待ち状態であると判定し(すなわち、ステップSA1140の判定結果はYesになる)、逆に、停止エリア判定フラグの値がOFFであれば停止待ち状態ではないと判定する(すなわち、ステップSA1140の判定結果はNoになる)。この停止待ちか否かの判定も、前述したチャタリング等に起因した計数誤りを排除することを目的としたものである。このステップSA1140の判定結果が“No”であれば、制御部110は、動作種別判定フラグをON(ステップSA1150)した後に、本状況判別処理を終了する。逆に、ステップSA1140の判定結果が“Yes”であれば、制御部110は、ステップSA1150の処理を行うことなく、本状況判定処理を終了する。
以上が状況判定処理の詳細である。
【0036】
図3において状況判定処理SA110に後続する動作種別判定処理SA120は、判定用加速度データACCの時間波形から携帯電話機10の使用者の動作の種別(歩いているのか、それとも、走っているのか、またはその何れでもないのか)を判定する処理である。図6は、動作種別判定処理の流れを示すフローチャートである。図6に示すように、制御部110は、まず、動作種別判定フラグがONであるか否かを判定し(ステップSA1210)、その判定結果が“No”であれば、ステップSA1220以降の処理を実行することなく本動作種別判定処理を終了する。つまり、動作種別判定処理の要部(図6:ステップSA1220〜SA1270の処理)は、動作種別判定フラグがONである場合にのみ実行される。前述したように、動作種別判定フラグが“ON”になるのは、状況判定処理のステップSA1110〜SA1130の判定結果が“Yes”であり、かつ、ステップSA1140の判定結果が“No”である場合のみであり、この場合に限って動作種別判定処理の要部が実行される。
【0037】
ステップSA1210の判定結果が“Yes”である場合に実行されるステップSA1220では、制御部110は、状況判定処理のステップSA1110にて検出されたピークの大きさが第3の閾値th3以下であるか否かを判定する。そして、制御部110は、ステップSA1220の判定結果が“Yes”である場合にはステップSA1230の処理を実行し、逆に、ステップSA1220の判定結果が“No”である場合にはステップSA1260の処理を実行する。ここで、第3の閾値th3は、前述した第1の閾値th1と同様に判定用加速度データACCの時間波形に現れるピークの大きさを評価するための閾値であり、前述した第1の閾値th1よりも大きな値が用いられる。この第3の閾値th3についても実験等により適宜好適な値を求めれば良い。
【0038】
ステップSA1220の判定結果が“Yes”である場合に実行されるステップSA1230では、制御部110は、状況判定処理のステップSA1110にて検出されたピークとその一つ手前に検出されたピークの時間間隔が第4の閾値th4の示す時間間隔以上であるか否かを判定する。この第4の閾値th4は、前述した第2の閾値th2と同様に判定用加速度データACCの時間波形に現れるピークの時間間隔を評価するための閾値であり、前述した第2の閾値th2よりも長い時間を示すものが用いられる。この第4の閾値th4についても実験等により適宜好適な値を求めれば良い。
【0039】
ステップSA1230の判定結果が“No”である場合、制御部110は、歩数累算フラグをOFF(ステップSA1240)にした後に、動作種別判定フラグをOFFにする処理(ステップSA1280)を実行し、本動作種別判定処理を終了する。逆に、ステップSA1230の判定結果が“Yes”である場合には、歩数累算フラグをONにし、さらに歩数計数用の評価パラメータとして「歩き」用のものをセットし(ステップSA1250)、ステップSA1280の処理を実行して本動作種別判定処理を終了する。ここで、歩数累算フラグとは、携帯電話機10の使用者の動作種別が歩数の計数を要するもの(すなわち、「歩き」または「走り」)であるか、それとも歩数の計数を要さないもの(「歩き」ではなく、また「走り」でもない状態)であるのかを示すフラグであり、その値がONであれば歩数の計数を要することを、OFFであれば歩数の計数を要さないことを示す。本実施形態では、上記ステップSA1250および後述のステップSA1270において、歩数累算フラグがONにセットされる。また、ステップSA1250にてセットされる歩数計数用の評価パラメータとは、判定用加速度データの時間波形の立ち下がりの急峻さを評価するためのパラメータであり、後述する計数処理にて使用される。つまり、本実施形態では、判定用加速度データの時間波形に現れたピークの大きさが第3の閾値th3以下であって、かつピーク間の時間間隔が第4の閾値th4の示す時間長以上である場合に、携帯電話機10の使用者の動作種別は「歩き」であると判定され、歩きにおける一歩を検出するための評価パラメータがセットされるのである。
【0040】
これに対して、ステップSA1220の判定結果が“No”である場合に実行されるステップSA1260では、制御部110は、状況判定処理のステップSA1110にて検出されたピークとその一つ手前に検出されたピークの時間間隔が第4の閾値th4の示す時間間隔未満であるか否かを判定する。このステップSA1260の判定結果が“No”である場合、制御部110は、前述したステップSA1240およびステップSA1280の処理を実行して、本動作種別判定処理を終了する。逆に、ステップSA1260の判定結果が“Yes”である場合には、歩数累算フラグをONにし、さらに歩数計数用の評価パラメータとして「走り」用のものをセットし(ステップSA1270)、その後、ステップSA1280の処理を実行して本動作種別判定処理を終了する。つまり、本実施形態では、判定用加速度データの時間波形に現れたピークの大きさが第3の閾値th3を上回っており、かつピーク間の時間間隔が第4の閾値th4の表す時間長未満である場合には、携帯電話機10の使用者の動作種別は「走り」であると判定され、走りにおける一歩を検出するための評価パラメータがセットされるのである。
【0041】
以上が動作種別判定処理の詳細である。なお、本実施形態では、判定用加速度データACCの時間波形に現れるピークの大きさと第3の閾値th3との比較、およびピーク間隔と第4の閾値th4との比較によって、携帯電話機10の使用者の動作種別を判定したが、ピークに到るまでの波形の立ち上がりの急峻さ、或いはピークに到るまでの運動の強さを示すデータ(例えば、停止エリアからピークに到るまでの判定用加速度データACCの総和)に基づいて動作種別を判定しても勿論良い。
【0042】
次いで、動作種別判定処理SA120に後続して実行される計数処理SA130について説明する。
図3の計数処理SA130は、動作種別判定処理SA120において動作種別が「歩き」または「走り」と判定された使用者の「歩行の一歩」或いは「走行の一歩」を、判定用加速度データACCの時間波形にピークが現れてからの立下りの急峻さを評価することにより検出し、歩数を計数する処理である。図7は、計数処理の流れを示すフローチャートである。図7に示すように、制御部110は、まず、歩数累算フラグがONであるか否かを判定し(ステップSA1310)、その判定結果が“No”であれば、ステップSA1320以降の処理を実行することなく、本計数処理を終了する。つまり、本実施形態の計数処理の要部(図7:ステップSA1320〜SA1360の処理)は、歩数累算フラグがONである場合(すなわち、動作種別判定処理SA120において、携帯電話機10の使用者の動作種別が「歩き」または「走り」と判定された場合)にのみ実行されるのである。
【0043】
ステップSA1310の判定結果が“Yes”である場合に実行されるステップSA1320では、制御部110は、状況判定処理のステップSA1110の判定結果が“Yes”となった判定用加速度データACC(図5(B)に示すように、n番目のサンプリングタイミングがピークであれば、n+1番目のサンプリングタイミングにおける判定用加速度データACC)が、動作種別判定処理にてセットされた評価パラメータの表すピークエリア値以上であるか否かを判定する。そして、制御部110は、ステップSA1320の判定結果が“No”であれば、歩数累算フラグをOFFに、かつ停止エリア判定フラグをONにして(ステップSA1360)、本計数処理を終了する。逆にステップSA1320の判定結果が“Yes”であれば、制御部110は、ステップSA1330以降の処理を実行する。このピークエリア値は、歩きの場合におけるものよりも走りの場合におけるもののほうが大きな値となっている。このピークエリア値についても、歩きの場合と走りの場合の各々について適宜実験を行って好適な値を定めるようにすれば良い。
【0044】
ステップSA1320の判定結果が“Yes”である場合に実行されるステップSA1330では、制御部110は、状況判定処理のステップSA1110の判定結果が“Yes”となった判定用加速度データACCとその1つ手前のサンプリングタイミングにおける判定用加速度データACC(すなわち、ピーク値)との差が評価パラメータの示す所定値以上であるか否か(すなわち、ピークからの下降量が当該所定値以上であるか否か)を判定する。制御部110は、このステップSA1330の判定結果が“No”であれば、ステップSA1360の処理を実行して本計数処理を終了し、逆に、ステップSA1330の判定結果が“Yes”であれば、ステップSA1340の処理を実行する。このステップSA1340の処理では、制御部110は、状況判定処理にて検出されたピークとその1つ手前に検出されたピークの時間間隔が、評価パラメータの示すチャタリング時間(このチャタリング時間については、「歩き」の場合における値のほうが「走り」の場合における値よりも大きい。このチャタリング時間についても実験により好適な値を求めるようにすれば良い。)以上であるか否かを判定する。そして、制御部110は、ステップSA1340の判定結果が“Yes”であれば、動作種別判定処理にて判定された種別毎に歩数累算用カウンタの歩進を行い、そのカウント値を表示部140に表示(ステップSA1350)させた後に、ステップSA1360の処理を実行して本計数処理を終了する。逆に、ステップSA1340の判定結果が“No”であれば、制御部110はステップSA1350の処理を行うことなく(すなわち、歩数の累算を行うことなく)、ステップSA1360の処理を実行して本計数処理を終了する。
以上が計数処理の詳細である。
【0045】
この計数処理SA130に後続して実行される停止エリア判定処理SA140は、判定用加速度データACCの時間波形が特徴点(本実施形態では、ピーク)に対して充分に立下り、歩数の計数を再開し得る状態になったか否かを判定する処理であり、図5(C)に示すような多重ピークが各々一歩として検出されることを排除するための処理である。図8は、停止エリア判定処理の流れを示すフローチャートである。図8に示すように、制御部110は、まず、停止エリア判定フラグがONであるか否かを判定し(ステップSA1410)、その判定結果が“No”であれば(すなわち、停止エリア判定フラグがOFFであれば)、ステップSA1420以降の処理を実行することなく、本停止エリア判定処理を終了する。つまり、本実施形態の停止エリア判定処理の要部を為す処理(図8:ステップSA1420およびSA1430の処理)は、ステップSA1410の判定結果がYesである場合(すなわち、停止エリア判定フラグがONである場合)にのみ実行されるのである。
【0046】
ステップSA1410の判定結果が“Yes”である場合に後続して実行されるステップSA1420では、制御部110は、その時点のサンプリングタイミングにおける判定用加速度データACCの値が、動作種別判定処理にて設定した評価パラメータの示す停止エリア値以下であるか否かを判定する。この停止エリア値については、「歩き」の場合におけるもののほうが「走り」の場合におけるものよりも小さい値が用いられる。本実施形態では停止エリア値としてピークエリア値と同じ値が用いられているが、ピークエリア値よりも小さい値を用いても勿論良い。この停止エリア値についても実験等により好適な値を定めるようにすれば良い。
【0047】
そして、制御部110は、ステップSA1420の判定結果が“Yes”であれば、歩数計数用の各種データ(直近のピークの値や、当該ピークのサンプリング時刻を示す値等)を揮発性記憶部152内の所定の記憶領域に書き込んで、それらデータの退避を行い、さらに停止エリア判定フラグをOFFにして(ステップSA1430)、本停止エリア判定処理を終了する。逆に、ステップSA1420の判定結果が“No”であれば、制御部110はステップSA1430の処理を実行することなく、本停止エリア判定処理を終了する。
【0048】
前述したように、本実施形態では、停止エリア判定フラグの値が“ON”である間は、動作種別判別フラグがONになることはなく(図5(A)参照)、動作種別判定処理および計数処理の要部が実施されることはない。このため、例えば、図5(B)に示すn+1番目のサンプリングタイミングにおいてステップSA1120およびSA1130の条件が満たされ、歩数の計数が行われて停止エリア判定フラグの値が“ON”にセットされると、以降、判定用加速度データACCが停止エリア値を下回るまで判定用加速度データ生成処理SA100、状況判定処理SA110、および停止エリア判定処理SA140と、静止判定(ステップSA150)以降の処理のみが繰り返し実行され、チャタリングに起因した歩数の計数誤りが排除されるとともに、無駄な電力消費を抑えることができるのである。
以上が停止エリア判定処理の詳細である。
【0049】
図3に戻って、停止エリア判定処理SA140に後続して実行されるステップSA150では制御部110は、携帯電話機10の使用者が一定時間に亘って静止し続けたか否かを判定する。具体的には、制御部110は、上記バッファに格納されている最新の判定用加速度データACCの値が重力加速度のみを示す値(或いはその近傍の値)である場合、その手前の所定サンプル数(上記一定時間に相当するサンプル数)分の判定用加速度データACCを参照し、その全てが重力加速度のみを示す値(或いはその近傍の値)である場合に、携帯電話機10の使用者は一定時間に亘って静止し続けたと判定する。そして、制御部110は、ステップSA150の判定結果が“Yes”であれば、補正値更新フラグをON(ステップSA160)にした後に、ステップSA170の処理を実行し、逆に、ステップSA150の判定結果が“No”であれば、制御部110は、ステップSA160の処理を実行することなくステップSA170の処理を実行する。このステップSA170では、制御部110は、操作部130を介して与えられる操作内容データを参照して歩数計プログラム154bの実行終了を指示されたか否かを判定し、その判定結果が“Yes”であれば、歩数のカウント値を不揮発性記憶部154に退避した後に本歩数計処理を終了する。逆に、ステップSA170の判定結果が“No”であれば、制御部110は、ステップSA100以降の処理を繰り返し実行する。
以上が本実施形態の歩数計処理の詳細である。
【0050】
以上説明したように、本実施形態では、加速度データDAX、DAYおよびDAZから算出される判定用加速度データACC(すなわち、携帯電話機10の使用者の運動により生じた加速度の大きさの移動平均)に基づいて携帯電話機10の使用者の動作状況(歩数を計数すべき状況か否か)および動作の種別が判定され、その動作種別毎に歩数が計数される。このように、携帯電話機10の使用者の運動により生じた加速度の大きさに基づいて歩数を計数するようにしたため、運動センサ120と携帯電話機10の使用者との相対的な位置関係(使用者がどのような向きで携帯電話機10を身に着けているのか)を考慮することなく、簡素な処理で歩数を計数することができる。加えて、本実施形態では、携帯電話機10の使用者が所定時間に亘って静止し続けていることを検出したことを契機として、ばらつき補正値の再計算が行われる。このため、例えば鞄などに入れた状態で使用者の身に着けられている携帯電話機10が使用者の動作に伴ってその鞄内を転がるような場合であっても、携帯電話機10の使用者の静止が検出される毎にばらつき補正値の再計算が行われ、不適切なばらつき補正値が使用され続けることが回避される。このため、本実施形態によれば、携帯電話機10をどのような態様で身に着けているのかによらずに使用者の歩数を正確に計数することができる。
【0051】
また、本実施形態では、歩数の計数を行うための判定処理(判定用加速度データACCと閾値との比較)を、状況判定処理SA110と動作種別判定処理SA120の二段階に分けて直列的(すなわち、経時的)に行うように構成したことにも特徴がある。携帯電話機10の使用者の動作種別や移動速度によらずに正確に歩数を計数する、ということのみを目的とするのであれば、サンプリング周期毎に動作種別判定処理SA120および計数処理SA130を行う態様でもその目的を達成することができる。これに対して、本実施形態では、歩数の計数を行うべき状況であるか否かを第1の閾値t1および第2の閾値th2により表わされる緩やかな基準に基づいて判定する状況判定処理SA110はサンプリング周期毎に実行される一方、この状況判定処理SA110において歩数の計数を行うべき状況であると判定された場合にのみ、動作種別判定処理SA120および計数処理SA130が実行され、より厳しい基準(具体的には、第1の閾値th1より大きい第3の閾値th3と、第2の閾値th2よりも長い時間を表わす第4の閾値th4と、により表わされる基準)に基づいて動作種別が詳細に判定されるとともに、その判定結果に応じて歩数の計数が行われる。したがって、本実施形態によれば、サンプリング周期毎に動作種別判定処理SA120および計数処理SA130を行う態様に比較して消費電力を低く抑えることができるのである。
【0052】
加えて、本実施形態では、携帯電話機10を歩数計として機能させると同時に音楽プレイヤとしても機能させるといった使用態様も考えられ、このような使用態様においては携帯電話機10により再生される楽音による携帯電話機10の筐体の振動が前述した外部ノイズとなり得る。しかし、本実施形態では、このような外部ノイズに起因して生じる微小ピークは状況判定処理SA110において動作種別の判定対象から除外され、外部ノイズやチャタリング等に起因して生じる多重ピークに起因した歩数の誤計数も状況判定処理SA110によって回避される。このように、本実施形態によれば、音楽再生を並行して実行するような場合であっても正確に歩数を計数することができるのである。
【0053】
以上説明したように、本実施形態によれば、使用者が歩いているのかそれとも走っているのかなどの使用者の動作の種別や移動速度、或いは携帯電話機10の身に着け方などによらずに正確に歩数を計測することを、従来よりも少ない消費電力で実現することが可能になる。
【0054】
(C:変形)
以上本発明の実施形態について説明したが、上記実施形態に以下に述べる変形を加えても勿論良い。
(1)上述した実施形態では、プログラム実行機能を有し、かつ運動センサとして3軸加速度センサを有する携帯電話機に本発明を適用し歩数計として機能させた。しかし、本発明の適用対象は、このような携帯電話機に限定されるものではなく、プログラム実行機能と3軸加速度センサとを有する携帯端末であれば、携帯型音楽プレイヤや携帯型ゲーム機、PDAなどの携帯型情報端末であっても良い。
【0055】
(2)上述した実施形態では、プログラム実行機能を有し、かつ運動センサとして3軸加速度センサを有する携帯電話機を歩数計として機能させた。しかし、歩数計そのものを提供する態様であっても勿論良い。具体的には、3軸加速度センサと、図3に示す歩数計処理を実行する制御部と、その計数結果を表示する表示部と、各種入力操作を行うための操作部とを組み合わせて歩数計を構成するようにすれば良い。
【0056】
(3)上述した実施形態では、プログラム実行機能と3軸加速度センサとを備えた携帯電話機を歩数計として機能させ、その携帯電話機を身に着けて使用する使用者の歩数を計数させた。しかし、歩行距離や走行距離、或いは運動の強さを示す運動量(例えば、METS)などを計数させることも可能である。例えば、歩行距離の計数を行う態様の場合は、図3に示すフローチャートにしたがって算出される「歩きの歩数」に「歩きの歩幅」を乗算することで歩行距離を算出すれば良い。走行距離についても同様に、図3に示すフローチャートにしたがって算出される「走りの歩数」に「走りの歩幅」を乗算して走行距離を算出すれば良い。なお、「歩きの歩幅」や「走りの歩幅」については、携帯電話機10の使用者に実際の計測値を操作部130の操作により入力させ、その値を用いる態様であっても良く、また、当該使用者の身長や性別を入力させ、それら身長や性別等に基づいて統計的に求まる値を用いるようにしても良い。
【0057】
また、METSなどの運動の強さを示す運動量の算出の仕方についても種々の態様が考えられる。例えば、判定用加速度のピークが検出されたことを契機として、当該ピークの手前の所定数(例えば、15個)分の判定用加速度データの合計値を算出し、その合計値を運動量とする態様や、ピークから所定時間だけ手前の判定用加速度データとピーク値との差(すなわち、判定用加速度の立ち上がりの急峻さ)を運動量とする態様が考えられる。
【0058】
(4)上述した実施形態では、携帯電話機10の記憶部150に本発明の特徴を顕著に示す歩数計プログラム154bが予め記憶されていた。しかし、歩数計プログラム154bをCD−ROM(Compact Disk-Read Only Memory)などのコンピュータ読み取り可能な記録媒体に書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより配布しても良い。このようにして配布される歩数計プログラムを、プログラム実行機能と3軸加速度センサとを有する携帯端末にインストールし、その制御部を当該歩数計プログラムにしたがって作動させることで、その携帯端末を本発明の歩数計として機能させることが可能になる。
【0059】
(5)上述した実施形態では、3軸加速度センサを運動センサ120として用いたが、1軸或いは2軸加速度センサを運動センサ120として用いても良く、速度、変位、角速度、傾斜、方位、圧力等の各種物理量を計測しその計測結果に応じた信号を出力するセンサを運動センサ120として用いても良い。例えば、歩行や走行などの運動に伴う角速度の周期的な時間変化を計測する態様であれば運動センサとしてジャイロセンサを用いれば良く、歩行や走行などの運動に伴う方位の周期的な時間変化を計測する態様であれば地磁気センサを運動センサとして用いるようにすれば良い。要は、歩行や走行などの運動に伴って周期的に時間変化する物理量を計測しその計測結果を示す信号を出力するセンサであればどのようなものであっても運動センサとして用いることができる。また、上述した実施形態では、加速度の時間波形に現れるピークを運動の種別を反映した特徴点として検出したが、計測する物理量との関係でゼロクロス点や変曲点、当該物理量(或いはその積分地)が所定の閾値を上回る(或いは下回る点)を上記特徴点として用いても勿論良い。要は、歩行や走行に伴って変化する各物理量の時間波形に周期的に現れる特徴点であれば良い。そのような特徴点であれば、上記ピークと同様に運動の種別の弁別に役立つと考えられるからである。
【符号の説明】
【0060】
10…携帯電話機、110…制御部、120…運動センサ、130…操作部、140…表示部、150…記憶部、152…揮発性記憶部、154…不揮発性記憶部、160…バス。

【特許請求の範囲】
【請求項1】
運動に伴って生じる物理量を示す信号を出力する運動センサと、
前記運動センサの出力信号を解析し、前記物理量の時間波形に周期的に現れる特徴点を検出する特徴点検出手段と、
前記特徴点検出手段により検出された特徴点における前記物理量の大きさを第1の閾値と比較するとともに、当該特徴点の一つ手前に現れた特徴点についての前記特徴点検出手段による検出タイミングとの時間間隔を第2の閾値と比較して、当該歩数計を装着して使用する使用者の歩数の計数の要否を判定する第1の判定手段と、
歩数の計数を要すると前記第1の判定手段により判定された特徴点ついて、当該特徴点における前記物理量の大きさを前記第1の閾値よりも大きい第3の閾値と比較するとともに、当該特徴点の一つ手前に現れた特徴点についての前記特徴点検出手段による検出タイミングとの時間間隔を前記第2の閾値よりも長い時間を表す第4の閾値と比較して前記使用者の運動状態が歩行状態であるのか、走行状態であるのか、その何れでもない状態であるのかを判定する第2の判定手段と、
歩行状態または走行状態に応じたものであると前記第2の判定手段により判定された特徴点に関し、当該特徴点が現れてからの前記運動センサの出力信号の立下りの急峻さを前記第2の判定手段の判定結果に応じて評価して歩行または走行における一歩を検出し、使用者の動作の種別毎に歩数を累算する計数手段と、
を有することを特徴とする歩数計。
【請求項2】
前記特徴点は前記運動センサの出力波形に現れるピークであり、前記特徴点検出手段は、前記運動センサの出力信号が増加から減少に転じたとき、または、前記運動センサの出力信号が増加から減少に転じ、かつその減少の幅が所定の閾値を超えていた場合に前記特徴点としてのピークを検出することを特徴とする請求項1に記載の歩数計。
【請求項3】
前記特徴点は前記運動センサの出力波形に現れるピークであり、前記運動センサは、互いに直交する3つの軸方向の前記物理量の成分を表す信号を出力し、前記特徴点検出手段は、前記3つの軸方向の成分を合成して得られる前記物理量の大きさが増加から減少に転じ、かつ、その時点における前記3つの軸方向の成分の少なくとも1つが所定の閾値を上回っている場合に、前記特徴点としてのピークを検出することを特徴とする請求項1に記載の歩数計。
【請求項4】
前記物理量は加速度であるとともに、前記運動センサは加速度センサであることを特徴とする請求項2または3の何れか1に記載の歩数計。
【請求項5】
コンピュータを、
当該コンピュータに接続される運動センサであって、運動に伴って生じる物理量を示す信号を出力する運動センサの出力信号を解析し、前記物理量の時間波形に周期的に現れる特徴点を検出する特徴点検出手段と、
前記特徴点検出手段により検出された特徴点における前記物理量の大きさを第1の閾値と比較するとともに、当該特徴点の一つ手前に現れた特徴点についての前記特徴点検出手段による検出タイミングとの時間間隔を第2の閾値と比較して、当該歩数計を装着して使用する使用者の歩数の計数の要否を判定する第1の判定手段と、
歩数の計数を要すると前記第1の判定手段により判定された特徴点ついて、当該特徴点における前記物理量の大きさを前記第1の閾値よりも大きい第3の閾値と比較するとともに、当該特徴点の一つ手前に現れた特徴点についての前記特徴点検出手段による検出タイミングとの時間間隔を前記第2の閾値よりも長い時間を表す第4の閾値と比較して前記使用者の運動状態が歩行状態であるのか、走行状態であるのか、その何れでもない状態であるのかを判定する第2の判定手段と、
歩行状態または走行状態に応じたものであると前記第2の判定手段により判定された特徴点に関し、当該特徴点が現れてからの前記運動センサの出力信号の立下りの急峻さを前記第2の判定手段の判定結果に応じて評価して歩行または走行における一歩を検出し、使用者の動作の種別毎に歩数を累算する計数手段と、
として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−8637(P2012−8637A)
【公開日】平成24年1月12日(2012.1.12)
【国際特許分類】
【出願番号】特願2010−141609(P2010−141609)
【出願日】平成22年6月22日(2010.6.22)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】