(57)【要約】【課題】使用者の動作の種別によらずに正確に歩数を計数することを、従来よりも少ない消費電力で実現する。【解決手段】加速度センサの出力信号が増加から減少に転じたこと（すなわち、ピークとなったこと）を検出する毎に当該ピーク値を第１の閾値と比較し、さらに、その１つ手前のピークの検出タイミングとの時間間隔を第２の閾値と比較して歩数の計数の要否を判定する。次いで、検出したピーク値を第１の閾値よりも大きい第３の閾値と比較し、さらに、一つ手前のピークとの時間間隔を第２の閾値よりも短い時間を表す第４の閾値と比較して使用者の動作の種別（歩行、走行、または、何れでもない）を判定し、歩行中または走行中と判定された場合に、加速度の時間波形にピークが現れてからの波形の立下りの急峻さをその判定結果に応じて評価し、動作種別毎に歩数を累算する。【選択図】図２
2012008637.tif 000002
【特許請求の範囲】
【請求項１】
運動に伴って生じる物理量を示す信号を出力する運動センサと、
前記運動センサの出力信号を解析し、前記物理量の時間波形に周期的に現れる特徴点を検出する特徴点検出手段と、
前記特徴点検出手段により検出された特徴点における前記物理量の大きさを第１の閾値と比較するとともに、当該特徴点の一つ手前に現れた特徴点についての前記特徴点検出手段による検出タイミングとの時間間隔を第２の閾値と比較して、当該歩数計を装着して使用する使用者の歩数の計数の要否を判定する第１の判定手段と、
歩数の計数を要すると前記第１の判定手段により判定された特徴点ついて、当該特徴点における前記物理量の大きさを前記第１の閾値よりも大きい第３の閾値と比較するとともに、当該特徴点の一つ手前に現れた特徴点についての前記特徴点検出手段による検出タイミングとの時間間隔を前記第２の閾値よりも長い時間を表す第４の閾値と比較して前記使用者の運動状態が歩行状態であるのか、走行状態であるのか、その何れでもない状態であるのかを判定する第２の判定手段と、
歩行状態または走行状態に応じたものであると前記第２の判定手段により判定された特徴点に関し、当該特徴点が現れてからの前記運動センサの出力信号の立下りの急峻さを前記第２の判定手段の判定結果に応じて評価して歩行または走行における一歩を検出し、使用者の動作の種別毎に歩数を累算する計数手段と、
を有することを特徴とする歩数計。
【請求項２】
前記特徴点は前記運動センサの出力波形に現れるピークであり、前記特徴点検出手段は、前記運動センサの出力信号が増加から減少に転じたとき、または、前記運動センサの出力信号が増加から減少に転じ、かつその減少の幅が所定の閾値を超えていた場合に前記特徴点としてのピークを検出することを特徴とする請求項１に記載の歩数計。
【請求項３】
前記特徴点は前記運動センサの出力波形に現れるピークであり、前記運動センサは、互いに直交する３つの軸方向の前記物理量の成分を表す信号を出力し、前記特徴点検出手段は、前記３つの軸方向の成分を合成して得られる前記物理量の大きさが増加から減少に転じ、かつ、その時点における前記３つの軸方向の成分の少なくとも１つが所定の閾値を上回っている場合に、前記特徴点としてのピークを検出することを特徴とする請求項１に記載の歩数計。
【請求項４】
前記物理量は加速度であるとともに、前記運動センサは加速度センサであることを特徴とする請求項２または３の何れか１に記載の歩数計。
【請求項５】
コンピュータを、
当該コンピュータに接続される運動センサであって、運動に伴って生じる物理量を示す信号を出力する運動センサの出力信号を解析し、前記物理量の時間波形に周期的に現れる特徴点を検出する特徴点検出手段と、
前記特徴点検出手段により検出された特徴点における前記物理量の大きさを第１の閾値と比較するとともに、当該特徴点の一つ手前に現れた特徴点についての前記特徴点検出手段による検出タイミングとの時間間隔を第２の閾値と比較して、当該歩数計を装着して使用する使用者の歩数の計数の要否を判定する第１の判定手段と、
歩数の計数を要すると前記第１の判定手段により判定された特徴点ついて、当該特徴点における前記物理量の大きさを前記第１の閾値よりも大きい第３の閾値と比較するとともに、当該特徴点の一つ手前に現れた特徴点についての前記特徴点検出手段による検出タイミングとの時間間隔を前記第２の閾値よりも長い時間を表す第４の閾値と比較して前記使用者の運動状態が歩行状態であるのか、走行状態であるのか、その何れでもない状態であるのかを判定する第２の判定手段と、
歩行状態または走行状態に応じたものであると前記第２の判定手段により判定された特徴点に関し、当該特徴点が現れてからの前記運動センサの出力信号の立下りの急峻さを前記第２の判定手段の判定結果に応じて評価して歩行または走行における一歩を検出し、使用者の動作の種別毎に歩数を累算する計数手段と、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、使用者の歩数を計数する歩数計に関し、特に、加速度センサなどの運動センサを用いて使用者の一歩を検出する歩数計に関する。
【背景技術】
【０００２】
この種の歩数計の一例としては、特許文献１〜８に開示されたものが挙げられる。これら特許文献に開示された歩数計は、加速度センサの出力波形に特徴的なパターンが現れたか否かによって使用者の一歩を検出するもの（特許文献１および特許文献２）と、加速度センサにより計測された物理量（加速度）と所定の閾値との比較により使用者の一歩を検出するもの（特許文献３〜８）とに大別される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−０３９９７１号公報
【特許文献２】特開２００６−１２７１９２号公報
【特許文献３】特開２００７−１１５２４２号公報
【特許文献４】特開２００７−１１５２４３号公報
【特許文献５】特開２００８−２６２５２２号公報
【特許文献６】特開２００６−１１８９０９号公報
【特許文献７】特開２００６−２９３８６０号公報
【特許文献８】特開２００８−２５０９６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、歩数計の使用者が走っている状態（両方の足が宙に浮いている瞬間があるような移動状態）と歩いている状態（何れの瞬間においても、少なくとも一方の足が地面に接しているような移動状態）とでは、一歩として検出するべき加速度の大きさは当然に異なったものとなる。このため、加速度センサにより検出された加速度と予め定めた閾値との比較により歩数を計数する態様の歩数計では、使用者の動作種別（歩いているのか、走っているのか）や移動速度（ゆっくり歩いているのか、早く歩いているのかなど）によっては歩数を正確に計数できない場合がある。また、この態様の歩数計では、使用者の歩行（或いは走行）に伴う加速度の時間変化に外部ノイズ（例えば、使用者の周囲の音や振動など）が重畳し歩数の計数に支障が生じる場合がある。さらに、この態様の歩数計においては、当該歩数計が使用者の腰に着けられているのか、それとも鞄などに入れられているのかという歩数計の装着箇所によっても歩数の計数に支障が生じる場合がある。歩数計がどのような態様で使用者の身に着けられているのかによっても、一歩として検出するべき加速度の大きさが異なることがあり得るからである。このように、加速度センサにより検出された加速度と予め定めた閾値との比較により歩数を計数する態様の歩数計の場合、正確に歩数を計数することが難しいことが多い。これに対して、加速度センサの出力波形のパターン解析により歩数を計測する態様の歩数計では、前者の態様の歩数計に比較して歩数を正確に計数することができるといった利点があるものの、複雑な処理の実行が必要となり、消費電力が高くなる、といった不具合がある。
【０００５】
本発明は上記課題に鑑みてなされたものであり、使用者の動作種別や移動速度によらずに正確に歩数を計測することを、従来よりも少ない消費電力で実現することを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために本発明は、運動に伴って生じる物理量を示す信号を出力する運動センサと、前記運動センサの出力信号を解析し、前記物理量の時間波形に周期的に現れる特徴点を検出する特徴点検出手段と、前記特徴点検出手段により検出された特徴点における前記物理量の大きさを第１の閾値と比較するとともに、当該特徴点の一つ手前に現れた特徴点についての前記特徴点検出手段による検出タイミングとの時間間隔を第２の閾値と比較して、当該歩数計を装着して使用する使用者の歩数の計数の要否を判定する第１の判定手段と、歩数の計数を要すると前記第１の判定手段により判定された特徴点ついて、当該特徴点における前記物理量の大きさを前記第１の閾値よりも大きい第３の閾値と比較するとともに、当該特徴点の一つ手前に現れた特徴点についての前記特徴点検出手段による検出タイミングとの時間間隔を前記第２の閾値よりも長い時間を表す第４の閾値と比較して前記使用者の運動状態が歩行状態であるのか、走行状態であるのか、その何れでもない状態であるのかを判定する第２の判定手段と、歩行状態または走行状態に応じたものであると前記第２の判定手段により判定された特徴点に関し、当該特徴点が現れてからの前記運動センサの出力信号の立下りの急峻さを前記第２の判定手段の判定結果に応じて評価して歩行または走行における一歩を検出し、使用者の動作の種別毎に歩数を累算する計数手段とを有することを特徴とする歩数計、を提供する。
【０００７】
このような歩数計によれば、まず、使用者の歩数の計数の要否が第１の判定手段により判定され、計数を要すると判定された場合に、当該使用者の運動の種別が第２の判定手段により判定され、その判定結果に応じて動作の種別毎に計数手段による歩数の計数が行われる。このため、運動センサ（例えば、加速度センサ）の時間波形に現れた特徴点（例えば、ピーク（より正確にはローカルピーク））における物理量（すなわち、加速度）の大きさが上記第１の閾値に満たない場合（すなわち、極めて小さいピークである場合）や上記第２の閾値未満の短時間のうちに連続して発生したものである場合など、外部ノイズ等に起因して現れたと推測される特徴点である場合には、歩数の計数は行われず、正確に歩数を計数することが可能になる。加えて、本発明の歩数計においては、２段階の閾値の判定と、物理量の時間波形に上記特徴点が現れてからの当該波形の立ち下がりの急峻さの評価によって歩行（或いは走行）の一歩が検出されるため、物理量の時間波形を詳細に解析して一歩の検出を行う従来技術に比較して少ない消費電力で歩数を正確に計数することが可能になる。なお、本発明の別の態様においては、コンピュータを上記各手段として機能させるプログラム、或いは当該プログラムを記録したコンピュータ読み取り可能な記録媒体を提供する態様であっても良い。
【０００８】
ここで、上記特徴点としてピークを用いる場合には、その検出態様として種々のものが考えられる。例えば、物理量が増加から減少に転じたとき、または、物理量が増加から減少に転じ、かつその減少の幅が所定の閾値を超えていた場合に上記特徴点としてのピークを検出する態様が考えられる。また、運動センサとして、互いに直交する３つの軸方向の物理量の成分を表す信号を出力するものを用いる態様の場合には、物理量の大きさが増加から減少に転じ、かつ、上記各信号を所定のサンプリング間隔でサンプリングして得られるデータのうちの少なくとも１つが所定の閾値以上である場合に上記特徴点としてのピークを検出する態様であっても良い。
【０００９】
より好ましい態様としては、上記特徴点としてピークを用い、かつ上記物理量として加速度を用いる（すなわち、運動センサとして加速度センサを用いる）場合には、上記特徴点検出手段は、静止時の加速度の大きさが重力加速度の大きさと一致するもとのなるように、予め求めたばらつき補正値によるばらつき補正を前記運動センサの出力信号に施した後に前記特徴点の検出を行うことを特徴とする。運動センサの製造ばらつき等に起因した歩数の計数誤りを回避するためである。また、さらに好ましい態様においては、使用者が静止したことを検出した場合に前記ばらつき補正値を更新する処理を特徴点検出手段に実行させるようにしても良い。使用者が鞄などに入れた状態で当該歩数計を身に着けている場合には、歩行（或いは走行）中に鞄内を歩数計が転がるなどして上記ばらつき補正値を求めた際の姿勢とは異なる姿勢で歩数の計数が行われ、不適切なばらつき補正値を用いることに起因した歩数の計数誤りが発生し得る。しかし、本態様によれば、使用者が静止する度にばらつき補正値の更新が行われ、不適切なばらつき補正値が使い続けられることに起因した歩数の計数誤りを回避することが可能になる。つまり、このような態様によれば、使用者が歩いているのか、それとも走っているのかに依らないことは勿論、歩数計の身に着け方にも影響されることなく正確に歩数を計数することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態の携帯電話機１０の構成例を示す図である。
【図２】本実施形態における歩数の計数の概略を説明するための図である。
【図３】同携帯電話機１０の制御部１１０が歩数計プログラムにしたがって実行する歩数計処理の流れを示すフローチャートである。
【図４】同歩数計処理のステップＳＡ１００において実行される判定用加速度データ生成処理の流れを示すフローチャートである。
【図５】同歩数計処理のステップＳＡ１１０において実行される状況判定処理を説明するための図である。
【図６】同歩数計処理のステップＳＡ１２０において実行される動作種別判定処理の流れを示すフローチャートである。
【図７】同歩数計処理のステップＳＡ１３０において実行される計数処理の流れを示すフローチャートである。
【図８】同歩数計処理のステップＳＡ１４０において実行される停止エリア判定処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照しつつ本発明の実施形態について説明する。
（Ａ：構成）
図１は、本発明の一実施形態の歩数計として機能する携帯電話機１０の構成例を示すブロック図である。この携帯電話機１０は、通話音声の入出力を行うための音声入出力部や移動電話網の基地局との無線通信を行う無線通信部（何れも図示略）の他に、制御部１１０、運動センサ１２０、操作部１３０、表示部１４０、記憶部１５０、およびこれら構成要素間のデータ授受を仲介するバス１６０を有している。
【００１２】
制御部１１０は、例えばＣＰＵ（Central Processing Unit）である。この制御部１１０は、記憶部１５０（より正確には不揮発性記憶部１５４）に記憶されている各種プログラムを実行し、携帯電話機１０の制御中枢として機能する。制御部１１０が各種プログラムにしたがって実行する処理については後に詳細に説明する。
【００１３】
運動センサ１２０は、運動に伴って生じる物理量を示す信号を出力する装置である。本実施形態では、運動センサ１２０としてピエゾ抵抗型３軸加速度センサが用いられている。運動センサ１２０は、運動に伴って時間変化する物理量（本実施形態では、加速度）を互い直交する３つの軸（Ｘ軸、Ｙ軸およびＺ軸）方向の成分に分解して検出し、各成分を表す３つのアナログ信号（以下、加速度信号ＳＡＸ、ＳＡＹおよびＳＡＺ）を出力する。携帯電話機１０の使用者が、その携帯電話機１０を身に着けて（或いは携帯電話機１０を把持して）何らかの運動を行うと、その運動に起因した外力が運動センサ１２０の検出部（図示略）に加わり、その外力に応じて生じた物理量を表わす信号である加速度信号ＳＡＸ、ＳＡＹおよびＳＡＺが出力されるのである。なお、本実施形態では、運動センサ１２０として、上記３つの軸方向の各々について−２Ｇ〜２Ｇの範囲の加速度を検出することができる加速度センサが使用されているが、より狭い範囲（或いは広い範囲）の加速度を検出するものを用いても勿論良い。
【００１４】
加速度信号ＳＡＸ、ＳＡＹおよびＳＡＺの各々はバス１６０を介して制御部１１０に与えられる。制御部１１０は、これらアナログ信号ＳＡＸ、ＳＡＹおよびＳＡＺの各々を所定のサンプリング周期（例えば、５ミリ秒周期）でサンプリングし、８ビットのデジタル形式の加速度データ（すなわち、０〜２５５の範囲のデータ）ＤＡＸ、ＤＡＹおよびＤＡＺに変換するＡ／Ｄ変換処理を実行する。前述したように運動センサ１２０は、Ｘ軸、Ｙ軸およびＺ軸の各軸方向について−２Ｇ〜２Ｇの範囲の加速度を検出する３軸加速度センサである。このため、運動センサ１２０のＺ軸を鉛直方向（重力加速度方向）に向けた状態で携帯電話機１０をＸ軸の正方向に動かすと１２８から２５５の範囲の加速度データＤＡＸが得られ、逆に、同Ｘ軸の負方向に動かすと１２８〜０の範囲の加速度データＤＡＸが得られる（正負何れの方向にも動かしていない状態（すなわち、Ｘ軸方向に関して静止している状態）では、加速度データＤＡＸ＝１２８が得られる）。なお、本実施形態では、上記Ａ／Ｄ変換処理を制御部１１０に実行させたが、運動センサ１２０をＡ／Ｄ変換器を介してバス１６０に接続し、当該Ａ／Ｄ変換に上記Ａ／Ｄ変換処理を実行させても良く、また、上記Ａ／Ｄ変換処理を実行するＡ／Ｄ変換器と１チップ化されたもの（すなわち、デジタル出力の加速度センサなど）を運動センサ１２０として用いても勿論良い。
【００１５】
操作部１３０と表示部１４０は、携帯電話機１０の使用者に各種ユーザインタフェースを提供するためのものである。操作部１３０は、例えばテンキーなどの複数の操作子を有しており、それら操作子に対する使用者の操作内容を表すデータ（以下、操作内容データ）を出力する。この操作内容データはバス１６０を介して制御部１１０に与えられる。これにより、操作部１３０に対して行ったユーザの操作内容が制御部１１０に伝達される。表示部１４０は、例えば液晶ディスプレイとその駆動回路とを含んでおり（何れも図示略）、制御部１１０から引渡される画像データに応じた画像を表示する。
【００１６】
記憶部１５０は、揮発性記憶部１５２と不揮発性記憶部１５４を含んでいる。揮発性記憶部１５２は例えばＲＡＭ（Random Access Memory）である。この揮発性記憶部１５２は、各種プログラムを実行する際にワークエリアとして制御部１１０によって使用される。揮発性記憶部１５２に格納されるデータの一例としては、歩数計プログラム１５４ｂの実行過程で参照および更新される各種フラグ（補正値更新フラグ、動作種別判定フラグ、歩数累算フラグ、および停止エリア判定フラグ：これら各フラグの役割については動作例において明らかにする）や、携帯電話機１０の使用者が歩いた歩数や走った歩数を各々別個に累算するためのカウンタが挙げられる。
【００１７】
一方、不揮発性記憶部１５４はＥＰＲＯＭ（Erasable Programmable ROM）などの不揮発性メモリである。この不揮発性記憶部１５４には各種データと各種プログラムが記憶されている。不揮発性記憶部１５４に記憶されているデータの一例としては、移動通信網を介してダウンロードした楽曲データや携帯電話機１０の使用者の友人の電話番号や電子メールアドレス等からなるアドレス帳データが挙げられる（何れも図示略）。また、不揮発性記憶部１５４に格納されているプログラムの一例としては、所謂ＯＳ（Operating System）を実現するカーネルプログラム１５４ａ、移動通信網を介して楽曲データや映像データをダウンロードするためのブラウザプログラム（図示略）、楽曲データにしたがって楽音の再生を行う音楽プレイヤプログラム（同図示略）、および携帯電話機１０を歩数計として機能させる歩数計プログラム１５４ｂが挙げられる。なお、図１では、不揮発性記憶部１５４に記憶されているプログラムのうち、カーネルプログラム１５４ａと歩数計プログラム１５４ｂのみが図示されている。音楽プレイヤプログラムなど他のプログラムについては、本発明には直接的に関連しないからである。以下、カーネルプログラム１５４ａおよび歩数計プログラム１５４ｂを中心に説明する。
【００１８】
制御部１１０は、携帯電話機１０の電源（図示略）が投入されたことを契機としてカーネルプログラム１５４ａを揮発性記憶部１５２に読み出し、その実行を開始する。カーネルプログラム１５４ａにしたがって作動している制御部１１０には、携帯電話機１０の各部の作動制御を行う機能や、操作部１３０を介して与えられるユーザの指示に応じて１または複数のプログラムを実行する機能が付与される。なお、本実施形態では複数のプログラムの実行を指示された場合には、それらは並列に実行される。例えば、音楽プレイヤプログラムと歩数計プログラム１５４ｂの実行を指示された場合には、音楽プレイヤプログラムにしたがって楽音を再生する処理と、歩数計プログラム１５４ｂにしたがって携帯電話機１０の使用者の歩数を計数する処理とが並列に実行される。つまり、携帯電話機１０の使用者は、この携帯電話機１０を使用して楽音等を聴きながら同時に歩数等の計数を行わせることができるのである。
【００１９】
歩数計プログラム１５４ｂは、前述したＡ／Ｄ変換処理と、携帯電話機１０を歩数計として機能させる歩数計処理とを制御部１１０に実行させるプログラムである。この歩数計処理では、制御部１１０は、加速度データＤＡＸ、ＤＡＹおよびＤＡＺから、後述の処理を経て、携帯電話機１０の使用者の運動に起因して生じた加速度の大きさを表す判定用加速度データＡＣＣを生成し、図２に示すように、判定用加速度データＡＣＣの時間波形（各サンプリングタイミングにおける判定用加速度データＡＣＣを座標平面にプロットして得られる時系列データである波形）に現れる特徴点に基づいて携帯電話機１０の使用者の一歩を検出して歩数を計数する。携帯電話機１０の使用者が歩行或いは走行している場合、その歩行或いは走行に伴って略周期的に特徴点が現れるからである。なお、本実施形態では、上記特徴点としてローカルピーク（判定用加速度データＡＣＣが増加から減少に転じる極大点：以下、単に「ピーク」と呼ぶ）が用いられている。詳細については重複を避けるために動作例において明らかにするが、本実施形態では、歩数計処理の処理手順を工夫することによって、携帯電話機１０の使用者の動作種別（歩いているのかそれとも走っているのかなど）や携帯電話機１０の身に着け方、或いは外部ノイズの有無などによらずに正確に歩数を計測することを、従来よりも少ない消費電力で実現しているのである。
以上が携帯電話機１０の構成である。
【００２０】
（Ｂ：動作）
次いで歩数計処理における動作を中心に、歩数計プログラム１５４ｂにしたがって制御部１１０が実行する動作を説明する。
【００２１】
制御部１１０は、操作部１３０を介して歩数計プログラム１５４ｂの実行指示を与えられると、当該歩数計プログラム１５４ｂを不揮発性記憶部１５４から揮発性記憶部１５２へ読み出し、その実行を開始する。当該歩数計プログラム１５４ｂの実行開始時点では、前述した各種フラグには初期値としてＯＦＦ（０）がセットされ、歩数累算用の各カウンタには初期値（０または前回の起動時までに計数した歩数）がセットされる。
【００２２】
図３は、制御部１１０が歩数計プログラム１５４ｂにしたがって実行する歩数計処理の流れを示すフローチャートである。図３に示すように、制御部１１０は、まず、判定用加速度データ生成処理（ステップＳＡ１００）を実行する。この判定用加速度データ生成処理は、Ａ／Ｄ変換処理によって生成される加速度データＤＡＸ、ＤＡＹおよびＤＡＺから判定用加速度データＡＣＣを生成する処理である。この判定用加速度データ生成処理は、Ａ／Ｄ変換処理によって加速度データＤＡＸ、ＤＡＹおよびＤＡＺが生成される毎に（すなわち、サンプリング周期毎に）実行される。
【００２３】
図４は、判定用加速度データ生成処理の流れを示すフローチャートである。
図４に示すように、制御部１１０は、Ａ／Ｄ変換処理により得られた加速度データＤＡＸ、ＤＡＹおよびＤＡＺをプロセス間通信等により受信（ステップＳＡ１０１０）すると、これら加速度データに対してゼロ原点オフセット処理（ステップＳＡ１０２０）を施して加速度データＤＡＸ´、ＤＡＹ´およびＤＡＺ´を生成する。ここで、ゼロ原点オフセット処理とは、例えば、Ｚ軸を鉛直方向に向けた携帯電話機１０がＸ軸、Ｙ軸およびＺ軸の何れの方向に関しても静止している場合には、加速度データＤＡＸ´およびＤＡＹ´は０となり、ＤＡＺ´は鉛直下向き１Ｇを表す値となるように、加速度データを補正する処理である。このゼロ原点オフセット処理は、以下の式（１Ｘ）、（１Ｙ）および（１Ｚ）に示す演算を行うことで実現される。
ＤＡＸ´＝１０×（ＤＡＸ−１２８）・・・（１Ｘ）
ＤＡＹ´＝１０×（ＤＡＹ−１２８）・・・（１Ｙ）
ＤＡＺ´＝１０×（ＤＡＺ−１２８）・・・（１Ｚ）
このようなゼロ原点オフセット処理を施すことにより、携帯電話機１０の使用者が静止している場合には、加速度ＤＡＸ´、ＤＡＹ´およびＤＡＺ´の２乗の和の平方根は６４０（或いはその近傍の値）となり、この値は重力加速度（鉛直下向き１Ｇの加速度）の大きさを表すのである。なお、式（１Ｘ）、（１Ｙ）および（１Ｚ）においては上述したゼロ原点補正の他に信号強度を増強させるための受信倍率（本実施形態では、１０倍）の乗算も行っているが、受信場率は１０倍に限定されるものではなく、また、このような受信倍率の乗算は必ずしも必須ではない。
【００２４】
次いで、制御部１１０は、揮発性記憶部１５２に格納されている補正値更新フラグを参照し、ばらつき補正値の更新の要否を判定する（ステップＳＡ１０３０）。ここで、ばらつき補正値とは、静止時の加速度の大きさが重力加速度の大きさと一致するもとのなるように加速度データＤＡＸ´、ＤＡＹ´およびＤＡＺ´を補正するための値である。そして、補正値更新フラグとは、上記ばらつき補正値の更新の要否を示すフラグであり、その値がＯＮ（１）であれば（すなわち、ＳＡ１０３０の判定結果がＹｅｓであれば）、ばらつき補正値の更新を要することを、その値がＯＦＦ（０）であれば（すなわち、ＳＡ１０３０の判定結果がＮｏであれば）同更新を要さないことを示す。詳細については後述するが、本実施形態では、携帯電話機１０の使用者が一定時間に亘って静止し続けていることが検出された場合に制御部１１０は補正値更新フラグにＯＮをセットし（図３：ステップＳＡ１５０およびＳＡ１６０参照）、ばらつき補正値の更新を完了すると補正値更新フラグをＯＦＦに戻す。
【００２５】
図４に示すように、ステップＳＡ１０３０の判定結果が“Ｎｏ”である場合（すなわち、補正値更新フラグがＯＦＦである場合）には、制御部１１０は、揮発性記憶部１５２に格納されているばらつき補正値を用いて加速度データＤＡＸ´、ＤＡＹ´およびＤＡＺ´を補正する（ステップＳＡ１０５０）。逆に、ステップＳＡ１０３０の判定結果が“Ｙｅｓ”である場合（すなわち、補正値更新フラグがＯＮである場合）には、ばらつき補正値の更新および補正値更新フラグをＯＦＦに戻す処理（ステップＳＡ１０４０）を行った後にステップＳＡ１０５０の処理を実行する。このように、本実施形態では、携帯電話機１０の使用者が一定時間に亘って静止し続けている場合にのみ、ばらつき補正値の更新が行われるのである。なお、ばらつき補正値の算出手法については公知のものを用いるようにすれば良い。
【００２６】
次いで、制御部１１０は、ばらつき補正を施した加速度データＤＡＸ´、ＤＡＹ´およびＤＡＺ´の各々の二乗の和の平方根を合成加速度データＡＣＣ´として算出し、揮発性記憶部１５２内のリングバッファに書き込む（ステップＳＡ１０６０）。このリングバッファは１２個分の合成加速度データＡＣＣ´を格納する記憶容量を有しており、新たな合成加速度データＡＣＣ´の書き込みを行う際に上記リングバッファに空きが無い場合には、制御部１１０は最も古いものを消去した後に新たな合成加速度データＡＣＣ´の書き込みを行う。
【００２７】
ステップＳＡ１０６０に後続して実行されるステップＳＡ１０７０は、上記リングバッファに所定数（本実施形態では、１２）分の合成加速度データＡＣＣ´が格納されているか否かを判定する処理である。そして、制御部１１０は、ステップＳＡ１０７０の判定結果が“Ｎｏ”である場合には、ステップＳＡ１０１０以降の処理を繰り返し実行する一方、ステップＳＡ１０７０の判定結果が“Ｙｅｓ”である場合には、上記所定数分の合成加速度データＡＣＣ´の平均値（例えば相加平均）を算出し、この平均値を判定用加速度データＡＣＣとしてバッファ（揮発性記憶部１５２内に確保される記憶領域であって、数十サンプル等、充分な数の判定用加速度データを記憶可能な記憶領域）に書き込む（ステップＳＡ１０８０）。前述したように、上記リングバッファの格納内容はＡ／Ｄ変換処理による加速度データＤＡＸ、ＤＡＹおよびＤＡＺの生成（すなわち、加速度信号のサンプリング）に同期して順次書き換えられるのであるから、上記ステップＳＡ１０８０の処理は１２個分の合成加速度データの移動平均を算出する処理に他ならない。本実施形態では、このようにして算出される移動平均が判定用加速度データＡＣＣとして用いられるのである。
【００２８】
本実施形態では、以上のようにして生成された判定用加速度データＡＣＣを処理対象としてステップＳＡ１１０以降の処理が実行され、歩数の計数が行われる。ここで注目すべき点は、判定用加速度データＡＣＣは、携帯電話機１０の使用者の運動により生じた加速度の大きさ（より正確には、その移動平均）を表すデータである、という点である。本来、加速度は大きさと方向を有するベクトルであり、携帯電話機１０をどのような向きで使用者が身に着けているのか（すなわち、使用者と運動センサ１２０の検出軸であるＸ軸、Ｙ軸およびＺ軸の相対的な位置関係）によって、使用者の動作が同じであっても異なる値の加速度データＤＡＸ、ＤＡＹおよびＤＡＺが得られる。このため、加速度データＤＡＸ、ＤＡＹおよびＤＡＺをそのまま用いて歩数の計数を行う場合には、使用者の進行方向と鉛直方向とを特定し、さらに各方向の波形を解析して歩数の計数を行うといった複雑な処理を行う必要がある。これに対して本実施形態では、使用者と運動センサ１２０との相対的な位置関係には依存しない加速度の大きさを示す判定用加速度データＡＣＣを用いて歩数を計数するようにしたため、簡素な処理で歩数を計数することができるのである。また、判定用加速度データＡＣＣは移動平均値であるため、外部ノイズ等に起因して発生した微小なピークが均され、それら外部ノイズに起因した計数誤りを回避することができるのである。
以上が判定用加速度データ生成処理の流れである。
【００２９】
図３に戻って、判定用加速度データ生成処理ＳＡ１００に後続して実行される状況判定処理ＳＡ１１０は、携帯電話機１０の使用者の動作が歩数の計数の対象とすべきものであるか否か、を判定用加速度データＡＣＣの時間波形における特徴点（本実施形態では、ピーク）の現れ方に基づいて判定する処理である。この状況判定処理ＳＡ１１０も、判定用加速度データＡＣＣが生成される毎（すなわち、リングバッファへの所定数分のデータの蓄積期間を除けば、サンプリング周期毎）に実行される。以下、図５を参照しつつ状況判定処理の詳細について説明する。
【００３０】
図５（Ａ）は、状況判定処理の流れを示すフローチャートである。
図５（Ａ）に示すように、制御部１１０は、まず、上記バッファに書き込まれた最新の判定用加速度データＡＣＣを参照し、判定用加速度データＡＣＣの時間波形にピークが現れたか否かを判定する（ステップＳＡ１１１０）。前述したように、本実施形態では、判定用加速度データＡＣＣが増加から減少に転じたときに、ピークが現れたと判定する。例えば、図５(Ｂ)に示すようにｋ番目からｎ番目（ｋ＜ｎ）のサンプリングタイミングまでは判定用加速度データＡＣＣが次第に増加し、ｎ＋１番目のサンプリングタイミングにおいて判定用加速度データＡＣＣが減少に転じたとすると、ｎ＋１番目のサンプリングタイミングおいてステップＳＡ１１１０の判定結果は“Ｙｅｓ”になる（換言すれば、その１つ手前のサンプリングタイミング（すなわち、ｎ番目）をピークとする）。図５（Ａ）に示すように、制御部１１０は、ステップＳＡ１１１０の判定結果が“Ｙｅｓ”である場合にのみ、ステップＳＡ１１２０以降の処理を実行する。前述したように、本実施形態では、判定用加速度データＡＣＣの時間波形に現れるピークに基づいて歩数の計数を行うからである。
【００３１】
このように本実施形態においては、判定用加速度データＡＣＣが増加から減少に転じたときにピークと判定するのであるが、ピーク検出の具体的な手法としては他の態様も考えられる。具体的には、判定用加速度データＡＣＣが増加から減少に転じ、かつその減少の幅が所定の閾値を上回っている場合にピークと判定する態様や、判定用加速度データＡＣＣが増加から減少に転じた時点の加速度データＤＡＸ、ＤＡＹおよびＤＡＺのうちの少なくとも１つが所定の閾値を上回っている場合にピークと判定する態様などが考えられる。なお、当該閾値はＸ，ＹおよびＺの各軸方向について同一であっても良く、軸ごとに異なる値であっても良い。携帯電話機１０の使用者の歩き方（或いは、走り方）によっては、各軸のピークに時間的なずれが発生する場合があり、判定用加速度データＡＣＣの時間波形に複数のピークが連続して発生することがあるが、上述の他の態様によれば本実施形態に比較してピーク検出にかかる処理が複雑にはなるものの、使用者の歩き方（走り方）のクセによらずにより正確にピーク検出を行うことができると期待される。
【００３２】
ステップＳＡ１１１０の判定結果が“Ｙｅｓ”である場合に実行されるステップＳＡ１１２０では、制御部１１０は、ステップＳＡ１１１０にて検出されたピークの大きさＰＡＣＣ（前述したように、ｎ＋１番目のサンプルについてステップＳＡ１１１０の判定結果が“Ｙｅｓ”となった場合には、ｎ番目のサンプリングタイミングにおける判定用加速度データＡＣＣ）が第１の閾値ｔｈ１以上であるか否かを判定する。このステップＳＡ１１２０の判定結果が“Ｎｏ”であれば、制御部１１０は、ステップＳＡ１１３０以降の処理を実行することなく、本状況判定処理を終了する。逆に、ステップＳＡ１１２０の判定結果が“Ｙｅｓ”である場合には、制御部１１０はステップＳＡ１１３０以降の処理を実行する。このように、ステップＳＡ１１１０にて検出されるピークの大きさが第１の閾値ｔｈ１以上の場合にのみ後続の処理を行うようにしたのは、外部ノイズ等に起因して生じる微小なピーク（図５（Ｃ）参照）によって歩数の計数誤りが生じないようにするためである。このように微小ピークか否かの判別を行うための第１の閾値ｔｈ１としてどのような値を用いるのかについては適宜実験を行って定めれば良い。
【００３３】
ステップＳＡ１１２０の判定結果が“Ｙｅｓ”である場合に実行されるステップＳＡ１１３０では、制御部１１０は、ステップＳＡ１１１０にて検出されたピークとその１つ手前のピークの時間間隔が第２の閾値ｔｈ２以上であるか否かを判定する。ここで、ステップＳＡ１１１０にて検出されたピークとその１つ手前のピークの時間間隔とは、動き始めの場合（歩き始めや走り始めなど、初めてピークが検出された場合）には、静止状態を脱してからピークに到るまでの経過時間をいい、図５（Ｂ）に示すように、ｍ番目およびｎ番目（ｎ，ｍは自然数：ｍ＜ｎ）のサンプリングタイミングにおいて各々ピークとなっている場合には、（ｎ−ｍ）×サンプリング周期で算出される。
【００３４】
このステップＳＡ１１３０の判定結果が“Ｎｏ”であれば、制御部１１０は、ステップＳＡ１１４０以降の処理を実行することなく、本状況判定処理を終了する。逆に、ステップＳＡ１１３０の判定結果が“Ｙｅｓ”である場合には、制御部１１０はステップＳＡ１１４０以降の処理を実行する。このように、ステップＳＡ１１１０にて検出されるピークとその一つ手前に検出されたピークの時間間隔が第２の閾値ｔｈ２を超える場合にのみ後続の処理を行うようにしたのは、外部ノイズやチャタリング等に起因してピークが二重或いは三重など多重に生じた場合（図５（Ｃ）参照）に、歩数の計数誤りが生じないようにするためである。このような多重ピークに起因した計数誤りを排除するための第２の閾値ｔｈ２についても、前述した第１の閾値ｔｈ１と同様に適宜実験を行って好適な値を求めれば良い。
【００３５】
ステップＳＡ１１３０の判定結果が“Ｙｅｓ”である場合に実行されるステップＳＡ１１４０では、制御部１１０は、停止待ち（判定用加速度データＡＣＣがピークとなってから、所定の停止エリア値まで下降するのを待っている状態：詳細については後述する）であるか否かを判定する。具体的には、制御部１１０は、停止エリア判定フラグの値がＯＮであれば、停止待ち状態であると判定し（すなわち、ステップＳＡ１１４０の判定結果はＹｅｓになる）、逆に、停止エリア判定フラグの値がＯＦＦであれば停止待ち状態ではないと判定する（すなわち、ステップＳＡ１１４０の判定結果はＮｏになる）。この停止待ちか否かの判定も、前述したチャタリング等に起因した計数誤りを排除することを目的としたものである。このステップＳＡ１１４０の判定結果が“Ｎｏ”であれば、制御部１１０は、動作種別判定フラグをＯＮ（ステップＳＡ１１５０）した後に、本状況判別処理を終了する。逆に、ステップＳＡ１１４０の判定結果が“Ｙｅｓ”であれば、制御部１１０は、ステップＳＡ１１５０の処理を行うことなく、本状況判定処理を終了する。
以上が状況判定処理の詳細である。
【００３６】
図３において状況判定処理ＳＡ１１０に後続する動作種別判定処理ＳＡ１２０は、判定用加速度データＡＣＣの時間波形から携帯電話機１０の使用者の動作の種別（歩いているのか、それとも、走っているのか、またはその何れでもないのか）を判定する処理である。図６は、動作種別判定処理の流れを示すフローチャートである。図６に示すように、制御部１１０は、まず、動作種別判定フラグがＯＮであるか否かを判定し（ステップＳＡ１２１０）、その判定結果が“Ｎｏ”であれば、ステップＳＡ１２２０以降の処理を実行することなく本動作種別判定処理を終了する。つまり、動作種別判定処理の要部（図６：ステップＳＡ１２２０〜ＳＡ１２７０の処理）は、動作種別判定フラグがＯＮである場合にのみ実行される。前述したように、動作種別判定フラグが“ＯＮ”になるのは、状況判定処理のステップＳＡ１１１０〜ＳＡ１１３０の判定結果が“Ｙｅｓ”であり、かつ、ステップＳＡ１１４０の判定結果が“Ｎｏ”である場合のみであり、この場合に限って動作種別判定処理の要部が実行される。
【００３７】
ステップＳＡ１２１０の判定結果が“Ｙｅｓ”である場合に実行されるステップＳＡ１２２０では、制御部１１０は、状況判定処理のステップＳＡ１１１０にて検出されたピークの大きさが第３の閾値ｔｈ３以下であるか否かを判定する。そして、制御部１１０は、ステップＳＡ１２２０の判定結果が“Ｙｅｓ”である場合にはステップＳＡ１２３０の処理を実行し、逆に、ステップＳＡ１２２０の判定結果が“Ｎｏ”である場合にはステップＳＡ１２６０の処理を実行する。ここで、第３の閾値ｔｈ３は、前述した第１の閾値ｔｈ１と同様に判定用加速度データＡＣＣの時間波形に現れるピークの大きさを評価するための閾値であり、前述した第１の閾値ｔｈ１よりも大きな値が用いられる。この第３の閾値ｔｈ３についても実験等により適宜好適な値を求めれば良い。
【００３８】
ステップＳＡ１２２０の判定結果が“Ｙｅｓ”である場合に実行されるステップＳＡ１２３０では、制御部１１０は、状況判定処理のステップＳＡ１１１０にて検出されたピークとその一つ手前に検出されたピークの時間間隔が第４の閾値ｔｈ４の示す時間間隔以上であるか否かを判定する。この第４の閾値ｔｈ４は、前述した第２の閾値ｔｈ２と同様に判定用加速度データＡＣＣの時間波形に現れるピークの時間間隔を評価するための閾値であり、前述した第２の閾値ｔｈ２よりも長い時間を示すものが用いられる。この第４の閾値ｔｈ４についても実験等により適宜好適な値を求めれば良い。
【００３９】
ステップＳＡ１２３０の判定結果が“Ｎｏ”である場合、制御部１１０は、歩数累算フラグをＯＦＦ（ステップＳＡ１２４０）にした後に、動作種別判定フラグをＯＦＦにする処理（ステップＳＡ１２８０）を実行し、本動作種別判定処理を終了する。逆に、ステップＳＡ１２３０の判定結果が“Ｙｅｓ”である場合には、歩数累算フラグをＯＮにし、さらに歩数計数用の評価パラメータとして「歩き」用のものをセットし（ステップＳＡ１２５０）、ステップＳＡ１２８０の処理を実行して本動作種別判定処理を終了する。ここで、歩数累算フラグとは、携帯電話機１０の使用者の動作種別が歩数の計数を要するもの（すなわち、「歩き」または「走り」）であるか、それとも歩数の計数を要さないもの（「歩き」ではなく、また「走り」でもない状態）であるのかを示すフラグであり、その値がＯＮであれば歩数の計数を要することを、ＯＦＦであれば歩数の計数を要さないことを示す。本実施形態では、上記ステップＳＡ１２５０および後述のステップＳＡ１２７０において、歩数累算フラグがＯＮにセットされる。また、ステップＳＡ１２５０にてセットされる歩数計数用の評価パラメータとは、判定用加速度データの時間波形の立ち下がりの急峻さを評価するためのパラメータであり、後述する計数処理にて使用される。つまり、本実施形態では、判定用加速度データの時間波形に現れたピークの大きさが第３の閾値ｔｈ３以下であって、かつピーク間の時間間隔が第４の閾値ｔｈ４の示す時間長以上である場合に、携帯電話機１０の使用者の動作種別は「歩き」であると判定され、歩きにおける一歩を検出するための評価パラメータがセットされるのである。
【００４０】
これに対して、ステップＳＡ１２２０の判定結果が“Ｎｏ”である場合に実行されるステップＳＡ１２６０では、制御部１１０は、状況判定処理のステップＳＡ１１１０にて検出されたピークとその一つ手前に検出されたピークの時間間隔が第４の閾値ｔｈ４の示す時間間隔未満であるか否かを判定する。このステップＳＡ１２６０の判定結果が“Ｎｏ”である場合、制御部１１０は、前述したステップＳＡ１２４０およびステップＳＡ１２８０の処理を実行して、本動作種別判定処理を終了する。逆に、ステップＳＡ１２６０の判定結果が“Ｙｅｓ”である場合には、歩数累算フラグをＯＮにし、さらに歩数計数用の評価パラメータとして「走り」用のものをセットし（ステップＳＡ１２７０）、その後、ステップＳＡ１２８０の処理を実行して本動作種別判定処理を終了する。つまり、本実施形態では、判定用加速度データの時間波形に現れたピークの大きさが第３の閾値ｔｈ３を上回っており、かつピーク間の時間間隔が第４の閾値ｔｈ４の表す時間長未満である場合には、携帯電話機１０の使用者の動作種別は「走り」であると判定され、走りにおける一歩を検出するための評価パラメータがセットされるのである。
【００４１】
以上が動作種別判定処理の詳細である。なお、本実施形態では、判定用加速度データＡＣＣの時間波形に現れるピークの大きさと第３の閾値ｔｈ３との比較、およびピーク間隔と第４の閾値ｔｈ４との比較によって、携帯電話機１０の使用者の動作種別を判定したが、ピークに到るまでの波形の立ち上がりの急峻さ、或いはピークに到るまでの運動の強さを示すデータ（例えば、停止エリアからピークに到るまでの判定用加速度データＡＣＣの総和）に基づいて動作種別を判定しても勿論良い。
【００４２】
次いで、動作種別判定処理ＳＡ１２０に後続して実行される計数処理ＳＡ１３０について説明する。
図３の計数処理ＳＡ１３０は、動作種別判定処理ＳＡ１２０において動作種別が「歩き」または「走り」と判定された使用者の「歩行の一歩」或いは「走行の一歩」を、判定用加速度データＡＣＣの時間波形にピークが現れてからの立下りの急峻さを評価することにより検出し、歩数を計数する処理である。図７は、計数処理の流れを示すフローチャートである。図７に示すように、制御部１１０は、まず、歩数累算フラグがＯＮであるか否かを判定し（ステップＳＡ１３１０）、その判定結果が“Ｎｏ”であれば、ステップＳＡ１３２０以降の処理を実行することなく、本計数処理を終了する。つまり、本実施形態の計数処理の要部（図７：ステップＳＡ１３２０〜ＳＡ１３６０の処理）は、歩数累算フラグがＯＮである場合（すなわち、動作種別判定処理ＳＡ１２０において、携帯電話機１０の使用者の動作種別が「歩き」または「走り」と判定された場合）にのみ実行されるのである。
【００４３】
ステップＳＡ１３１０の判定結果が“Ｙｅｓ”である場合に実行されるステップＳＡ１３２０では、制御部１１０は、状況判定処理のステップＳＡ１１１０の判定結果が“Ｙｅｓ”となった判定用加速度データＡＣＣ（図５（Ｂ）に示すように、ｎ番目のサンプリングタイミングがピークであれば、ｎ＋１番目のサンプリングタイミングにおける判定用加速度データＡＣＣ）が、動作種別判定処理にてセットされた評価パラメータの表すピークエリア値以上であるか否かを判定する。そして、制御部１１０は、ステップＳＡ１３２０の判定結果が“Ｎｏ”であれば、歩数累算フラグをＯＦＦに、かつ停止エリア判定フラグをＯＮにして（ステップＳＡ１３６０）、本計数処理を終了する。逆にステップＳＡ１３２０の判定結果が“Ｙｅｓ”であれば、制御部１１０は、ステップＳＡ１３３０以降の処理を実行する。このピークエリア値は、歩きの場合におけるものよりも走りの場合におけるもののほうが大きな値となっている。このピークエリア値についても、歩きの場合と走りの場合の各々について適宜実験を行って好適な値を定めるようにすれば良い。
【００４４】
ステップＳＡ１３２０の判定結果が“Ｙｅｓ”である場合に実行されるステップＳＡ１３３０では、制御部１１０は、状況判定処理のステップＳＡ１１１０の判定結果が“Ｙｅｓ”となった判定用加速度データＡＣＣとその１つ手前のサンプリングタイミングにおける判定用加速度データＡＣＣ（すなわち、ピーク値）との差が評価パラメータの示す所定値以上であるか否か（すなわち、ピークからの下降量が当該所定値以上であるか否か）を判定する。制御部１１０は、このステップＳＡ１３３０の判定結果が“Ｎｏ”であれば、ステップＳＡ１３６０の処理を実行して本計数処理を終了し、逆に、ステップＳＡ１３３０の判定結果が“Ｙｅｓ”であれば、ステップＳＡ１３４０の処理を実行する。このステップＳＡ１３４０の処理では、制御部１１０は、状況判定処理にて検出されたピークとその１つ手前に検出されたピークの時間間隔が、評価パラメータの示すチャタリング時間（このチャタリング時間については、「歩き」の場合における値のほうが「走り」の場合における値よりも大きい。このチャタリング時間についても実験により好適な値を求めるようにすれば良い。）以上であるか否かを判定する。そして、制御部１１０は、ステップＳＡ１３４０の判定結果が“Ｙｅｓ”であれば、動作種別判定処理にて判定された種別毎に歩数累算用カウンタの歩進を行い、そのカウント値を表示部１４０に表示（ステップＳＡ１３５０）させた後に、ステップＳＡ１３６０の処理を実行して本計数処理を終了する。逆に、ステップＳＡ１３４０の判定結果が“Ｎｏ”であれば、制御部１１０はステップＳＡ１３５０の処理を行うことなく（すなわち、歩数の累算を行うことなく）、ステップＳＡ１３６０の処理を実行して本計数処理を終了する。
以上が計数処理の詳細である。
【００４５】
この計数処理ＳＡ１３０に後続して実行される停止エリア判定処理ＳＡ１４０は、判定用加速度データＡＣＣの時間波形が特徴点（本実施形態では、ピーク）に対して充分に立下り、歩数の計数を再開し得る状態になったか否かを判定する処理であり、図５（Ｃ）に示すような多重ピークが各々一歩として検出されることを排除するための処理である。図８は、停止エリア判定処理の流れを示すフローチャートである。図８に示すように、制御部１１０は、まず、停止エリア判定フラグがＯＮであるか否かを判定し（ステップＳＡ１４１０）、その判定結果が“Ｎｏ”であれば（すなわち、停止エリア判定フラグがＯＦＦであれば）、ステップＳＡ１４２０以降の処理を実行することなく、本停止エリア判定処理を終了する。つまり、本実施形態の停止エリア判定処理の要部を為す処理（図８：ステップＳＡ１４２０およびＳＡ１４３０の処理）は、ステップＳＡ１４１０の判定結果がＹｅｓである場合（すなわち、停止エリア判定フラグがＯＮである場合）にのみ実行されるのである。
【００４６】
ステップＳＡ１４１０の判定結果が“Ｙｅｓ”である場合に後続して実行されるステップＳＡ１４２０では、制御部１１０は、その時点のサンプリングタイミングにおける判定用加速度データＡＣＣの値が、動作種別判定処理にて設定した評価パラメータの示す停止エリア値以下であるか否かを判定する。この停止エリア値については、「歩き」の場合におけるもののほうが「走り」の場合におけるものよりも小さい値が用いられる。本実施形態では停止エリア値としてピークエリア値と同じ値が用いられているが、ピークエリア値よりも小さい値を用いても勿論良い。この停止エリア値についても実験等により好適な値を定めるようにすれば良い。
【００４７】
そして、制御部１１０は、ステップＳＡ１４２０の判定結果が“Ｙｅｓ”であれば、歩数計数用の各種データ（直近のピークの値や、当該ピークのサンプリング時刻を示す値等）を揮発性記憶部１５２内の所定の記憶領域に書き込んで、それらデータの退避を行い、さらに停止エリア判定フラグをＯＦＦにして（ステップＳＡ１４３０）、本停止エリア判定処理を終了する。逆に、ステップＳＡ１４２０の判定結果が“Ｎｏ”であれば、制御部１１０はステップＳＡ１４３０の処理を実行することなく、本停止エリア判定処理を終了する。
【００４８】
前述したように、本実施形態では、停止エリア判定フラグの値が“ＯＮ”である間は、動作種別判別フラグがＯＮになることはなく（図５（Ａ）参照）、動作種別判定処理および計数処理の要部が実施されることはない。このため、例えば、図５（Ｂ）に示すｎ＋１番目のサンプリングタイミングにおいてステップＳＡ１１２０およびＳＡ１１３０の条件が満たされ、歩数の計数が行われて停止エリア判定フラグの値が“ＯＮ”にセットされると、以降、判定用加速度データＡＣＣが停止エリア値を下回るまで判定用加速度データ生成処理ＳＡ１００、状況判定処理ＳＡ１１０、および停止エリア判定処理ＳＡ１４０と、静止判定（ステップＳＡ１５０）以降の処理のみが繰り返し実行され、チャタリングに起因した歩数の計数誤りが排除されるとともに、無駄な電力消費を抑えることができるのである。
以上が停止エリア判定処理の詳細である。
【００４９】
図３に戻って、停止エリア判定処理ＳＡ１４０に後続して実行されるステップＳＡ１５０では制御部１１０は、携帯電話機１０の使用者が一定時間に亘って静止し続けたか否かを判定する。具体的には、制御部１１０は、上記バッファに格納されている最新の判定用加速度データＡＣＣの値が重力加速度のみを示す値（或いはその近傍の値）である場合、その手前の所定サンプル数（上記一定時間に相当するサンプル数）分の判定用加速度データＡＣＣを参照し、その全てが重力加速度のみを示す値（或いはその近傍の値）である場合に、携帯電話機１０の使用者は一定時間に亘って静止し続けたと判定する。そして、制御部１１０は、ステップＳＡ１５０の判定結果が“Ｙｅｓ”であれば、補正値更新フラグをＯＮ（ステップＳＡ１６０）にした後に、ステップＳＡ１７０の処理を実行し、逆に、ステップＳＡ１５０の判定結果が“Ｎｏ”であれば、制御部１１０は、ステップＳＡ１６０の処理を実行することなくステップＳＡ１７０の処理を実行する。このステップＳＡ１７０では、制御部１１０は、操作部１３０を介して与えられる操作内容データを参照して歩数計プログラム１５４ｂの実行終了を指示されたか否かを判定し、その判定結果が“Ｙｅｓ”であれば、歩数のカウント値を不揮発性記憶部１５４に退避した後に本歩数計処理を終了する。逆に、ステップＳＡ１７０の判定結果が“Ｎｏ”であれば、制御部１１０は、ステップＳＡ１００以降の処理を繰り返し実行する。
以上が本実施形態の歩数計処理の詳細である。
【００５０】
以上説明したように、本実施形態では、加速度データＤＡＸ、ＤＡＹおよびＤＡＺから算出される判定用加速度データＡＣＣ（すなわち、携帯電話機１０の使用者の運動により生じた加速度の大きさの移動平均）に基づいて携帯電話機１０の使用者の動作状況（歩数を計数すべき状況か否か）および動作の種別が判定され、その動作種別毎に歩数が計数される。このように、携帯電話機１０の使用者の運動により生じた加速度の大きさに基づいて歩数を計数するようにしたため、運動センサ１２０と携帯電話機１０の使用者との相対的な位置関係（使用者がどのような向きで携帯電話機１０を身に着けているのか）を考慮することなく、簡素な処理で歩数を計数することができる。加えて、本実施形態では、携帯電話機１０の使用者が所定時間に亘って静止し続けていることを検出したことを契機として、ばらつき補正値の再計算が行われる。このため、例えば鞄などに入れた状態で使用者の身に着けられている携帯電話機１０が使用者の動作に伴ってその鞄内を転がるような場合であっても、携帯電話機１０の使用者の静止が検出される毎にばらつき補正値の再計算が行われ、不適切なばらつき補正値が使用され続けることが回避される。このため、本実施形態によれば、携帯電話機１０をどのような態様で身に着けているのかによらずに使用者の歩数を正確に計数することができる。
【００５１】
また、本実施形態では、歩数の計数を行うための判定処理（判定用加速度データＡＣＣと閾値との比較）を、状況判定処理ＳＡ１１０と動作種別判定処理ＳＡ１２０の二段階に分けて直列的（すなわち、経時的）に行うように構成したことにも特徴がある。携帯電話機１０の使用者の動作種別や移動速度によらずに正確に歩数を計数する、ということのみを目的とするのであれば、サンプリング周期毎に動作種別判定処理ＳＡ１２０および計数処理ＳＡ１３０を行う態様でもその目的を達成することができる。これに対して、本実施形態では、歩数の計数を行うべき状況であるか否かを第１の閾値ｔ１および第２の閾値ｔｈ２により表わされる緩やかな基準に基づいて判定する状況判定処理ＳＡ１１０はサンプリング周期毎に実行される一方、この状況判定処理ＳＡ１１０において歩数の計数を行うべき状況であると判定された場合にのみ、動作種別判定処理ＳＡ１２０および計数処理ＳＡ１３０が実行され、より厳しい基準（具体的には、第１の閾値ｔｈ１より大きい第３の閾値ｔｈ３と、第２の閾値ｔｈ２よりも長い時間を表わす第４の閾値ｔｈ４と、により表わされる基準）に基づいて動作種別が詳細に判定されるとともに、その判定結果に応じて歩数の計数が行われる。したがって、本実施形態によれば、サンプリング周期毎に動作種別判定処理ＳＡ１２０および計数処理ＳＡ１３０を行う態様に比較して消費電力を低く抑えることができるのである。
【００５２】
加えて、本実施形態では、携帯電話機１０を歩数計として機能させると同時に音楽プレイヤとしても機能させるといった使用態様も考えられ、このような使用態様においては携帯電話機１０により再生される楽音による携帯電話機１０の筐体の振動が前述した外部ノイズとなり得る。しかし、本実施形態では、このような外部ノイズに起因して生じる微小ピークは状況判定処理ＳＡ１１０において動作種別の判定対象から除外され、外部ノイズやチャタリング等に起因して生じる多重ピークに起因した歩数の誤計数も状況判定処理ＳＡ１１０によって回避される。このように、本実施形態によれば、音楽再生を並行して実行するような場合であっても正確に歩数を計数することができるのである。
【００５３】
以上説明したように、本実施形態によれば、使用者が歩いているのかそれとも走っているのかなどの使用者の動作の種別や移動速度、或いは携帯電話機１０の身に着け方などによらずに正確に歩数を計測することを、従来よりも少ない消費電力で実現することが可能になる。
【００５４】
（Ｃ：変形）
以上本発明の実施形態について説明したが、上記実施形態に以下に述べる変形を加えても勿論良い。
（１）上述した実施形態では、プログラム実行機能を有し、かつ運動センサとして３軸加速度センサを有する携帯電話機に本発明を適用し歩数計として機能させた。しかし、本発明の適用対象は、このような携帯電話機に限定されるものではなく、プログラム実行機能と３軸加速度センサとを有する携帯端末であれば、携帯型音楽プレイヤや携帯型ゲーム機、ＰＤＡなどの携帯型情報端末であっても良い。
【００５５】
（２）上述した実施形態では、プログラム実行機能を有し、かつ運動センサとして３軸加速度センサを有する携帯電話機を歩数計として機能させた。しかし、歩数計そのものを提供する態様であっても勿論良い。具体的には、３軸加速度センサと、図３に示す歩数計処理を実行する制御部と、その計数結果を表示する表示部と、各種入力操作を行うための操作部とを組み合わせて歩数計を構成するようにすれば良い。
【００５６】
（３）上述した実施形態では、プログラム実行機能と３軸加速度センサとを備えた携帯電話機を歩数計として機能させ、その携帯電話機を身に着けて使用する使用者の歩数を計数させた。しかし、歩行距離や走行距離、或いは運動の強さを示す運動量（例えば、ＭＥＴＳ）などを計数させることも可能である。例えば、歩行距離の計数を行う態様の場合は、図３に示すフローチャートにしたがって算出される「歩きの歩数」に「歩きの歩幅」を乗算することで歩行距離を算出すれば良い。走行距離についても同様に、図３に示すフローチャートにしたがって算出される「走りの歩数」に「走りの歩幅」を乗算して走行距離を算出すれば良い。なお、「歩きの歩幅」や「走りの歩幅」については、携帯電話機１０の使用者に実際の計測値を操作部１３０の操作により入力させ、その値を用いる態様であっても良く、また、当該使用者の身長や性別を入力させ、それら身長や性別等に基づいて統計的に求まる値を用いるようにしても良い。
【００５７】
また、ＭＥＴＳなどの運動の強さを示す運動量の算出の仕方についても種々の態様が考えられる。例えば、判定用加速度のピークが検出されたことを契機として、当該ピークの手前の所定数（例えば、１５個）分の判定用加速度データの合計値を算出し、その合計値を運動量とする態様や、ピークから所定時間だけ手前の判定用加速度データとピーク値との差（すなわち、判定用加速度の立ち上がりの急峻さ）を運動量とする態様が考えられる。
【００５８】
（４）上述した実施形態では、携帯電話機１０の記憶部１５０に本発明の特徴を顕著に示す歩数計プログラム１５４ｂが予め記憶されていた。しかし、歩数計プログラム１５４ｂをＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）などのコンピュータ読み取り可能な記録媒体に書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより配布しても良い。このようにして配布される歩数計プログラムを、プログラム実行機能と３軸加速度センサとを有する携帯端末にインストールし、その制御部を当該歩数計プログラムにしたがって作動させることで、その携帯端末を本発明の歩数計として機能させることが可能になる。
【００５９】
（５）上述した実施形態では、３軸加速度センサを運動センサ１２０として用いたが、１軸或いは２軸加速度センサを運動センサ１２０として用いても良く、速度、変位、角速度、傾斜、方位、圧力等の各種物理量を計測しその計測結果に応じた信号を出力するセンサを運動センサ１２０として用いても良い。例えば、歩行や走行などの運動に伴う角速度の周期的な時間変化を計測する態様であれば運動センサとしてジャイロセンサを用いれば良く、歩行や走行などの運動に伴う方位の周期的な時間変化を計測する態様であれば地磁気センサを運動センサとして用いるようにすれば良い。要は、歩行や走行などの運動に伴って周期的に時間変化する物理量を計測しその計測結果を示す信号を出力するセンサであればどのようなものであっても運動センサとして用いることができる。また、上述した実施形態では、加速度の時間波形に現れるピークを運動の種別を反映した特徴点として検出したが、計測する物理量との関係でゼロクロス点や変曲点、当該物理量（或いはその積分地）が所定の閾値を上回る（或いは下回る点）を上記特徴点として用いても勿論良い。要は、歩行や走行に伴って変化する各物理量の時間波形に周期的に現れる特徴点であれば良い。そのような特徴点であれば、上記ピークと同様に運動の種別の弁別に役立つと考えられるからである。
【符号の説明】
【００６０】
１０…携帯電話機、１１０…制御部、１２０…運動センサ、１３０…操作部、１４０…表示部、１５０…記憶部、１５２…揮発性記憶部、１５４…不揮発性記憶部、１６０…バス。
【図１】
2012008637.tif 000003
【図２】
2012008637.tif 000004
【図３】
2012008637.tif 000005
【図４】
2012008637.tif 000006
【図５】
2012008637.tif 000007
【図６】
2012008637.tif 000008
【図７】
2012008637.tif 000009
【図８】
2012008637.tif 000010