(57)【要約】【課題】  刻々変化する使用者の行動に追従して精度の良い歩数計測を実現できるようにする。【解決手段】制御部１は、歩数計測用のセンサ部９からのセンサ出力に基づいて使用者の動作に応じて振動状態を逐次検出すると共に、この振動状態から歩数を計測する場合に、行動特定用のセンサ部１０からのセンサ出力に基づいて複数種の使用者の行動の中からその１つの行動を逐次特定すると共に、特定した行動に基づいて、使用者の振動状態を歩数計測の対象として有効とするか否かを逐次判定する。【選択図】  図１
2019057237.tif 000002
【特許請求の範囲】
【請求項１】
使用者の振動状態から歩数を計測する歩数計測装置であって、
複数種の使用者の行動の中からその１つの行動を逐次特定する特定手段と、
前記使用者の振動状態を歩数計測の対象として有効とするか否かを逐次判定する判定手段と、
を備え、
前記判定手段は、前記特定手段により逐次特定された使用者の行動に基づいて、前記使用者の振動状態を歩数計測の対象として有効とするか否かを逐次判定する、
ようにしたことを特徴とする歩数計測装置。
【請求項２】
前記判定手段は、前記使用者の振動状態と予め設定されている判定用の閾値とに基づいて、歩数計測の対象としてその振動状態を有効とするか否かを逐次判定し、
前記使用者の行動に基づいて、前記判定用の閾値を逐次変更する変更手段を更に備える、
ことを特徴とする請求項１に記載の歩数計測装置。
【請求項３】
前記判定用の閾値は、前記使用者の振動状態として単位時間毎に逐次検出される各振動回数を累計した累計回数と比較される回数の閾値であり、
前記判定手段は、前記累計回数が前記回数の閾値を超えるか否かに基づいて、その累計回数を歩数計測の対象として有効とするか否かを逐次判定し、
前記変更手段は、前記逐次特定された使用者の行動に基づいて、前記回数の閾値を逐次変更する、
ことを特徴とする請求項２に記載の歩数計測装置。
【請求項４】
前記判定用の閾値は、前記使用者の振動状態として単位時間毎に逐次検出される各振動回数が所定数未満継続している時間と比較される時間の閾値であり、
前記判定手段は、前記所定数未満の振動回数が継続している時間が前記時間の閾値を超えた際に前記累計回数を初期化し、
前記変更手段は、前記逐次特定された使用者の行動に基づいて、前記時間の閾値を逐次変更する、
ことを特徴とする請求項３に記載の歩数計測装置。
【請求項５】
前記判定用の閾値は、前記使用者の振動状態として単位時間毎に逐次検出される各振動回数を累計した累計回数と比較される回数の閾値と、所定値未満の振動回数が継続している時間と比較される時間の閾値であり、
前記回数の閾値と前記時間の閾値のうち、その何れか一方を固定値とするか否かを任意に選択指定する指定手段を更に備え、
前記変更手段は、前記指定手段によって指定された閾値を固定値に変更すると共に、前記指定された閾値を除く他の閾値を、前記特定手段により逐次特定された使用者の行動に基づいて逐次変更する、
ことを特徴とする請求項２乃至４の何れか１項に記載の歩数計測装置。
【請求項６】
前記特定手段によって使用者の行動を逐次特定する動作と、前記変更手段によって判定用の閾値を逐次変更する動作とを所定時間毎に行う、
ことを特徴とする請求項１乃至５の何れか１項に記載の歩数計測装置。
【請求項７】
使用者の振動状態から歩数を計測する歩数計測装置における歩数計測方法であって、
複数種の使用者の行動の中からその１つの行動を逐次特定する処理と、
前記使用者の振動状態を歩数計測の対象として有効とするか否かを前記特定された使用者の行動に基づいて逐次判定する処理と、
を含むことを特徴とする歩数計測方法。
【請求項８】
使用者の振動状態から歩数を計測する歩数計測装置のコンピュータに対して、
複数種の使用者の行動の中からその１つの行動を逐次特定する機能と、
前記使用者の振動状態を歩数計測の対象として有効とするか否かを前記特定された使用者の行動に基づいて逐次判定する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、使用者の振動状態から歩数を計測する歩数計測装置、歩数計測方法及びプログラムに関する。
【背景技術】
【０００２】
一般に、歩数計測装置は、例えば、加速度センサによる検出結果からその加速度変化（振動変化）を認識して歩数を計測する。例えば、歩行中において、加速度センサの３軸方向（Ｘ軸、Ｙ軸、Ｚ軸）の各加速度成分のそれぞれの信号や、各加速度成分を組み合わせて合成した信号（例えば、Ｘ軸、Ｙ軸、Ｚ軸の各加速度成分をそれぞれ二乗してそれらの和を求め、この二乗和が変化する信号）が振動することを利用して歩数を計測するようにしている。
【０００３】
このような歩数計測装置では歩行動作以外のちょっとした動作も歩数として認識されて誤カウントされないように、歩行判定の基準値（閾値）を変更するようにしている。例えば、特許文献１の技術においては、歩行でないと判定した直後の所定時間内では、第１の歩行判定基準を使用して歩行中であるか否かを判定するが、その所定時間が経過した後は、第２の歩行判定基準を使用して歩行中であるか否かを判定するようにしている。すなわち、歩行が停止している時間が長いと歩行周期の変動が大きくなる可能性があるため、歩行停止時間が長い場合には、その時間が短い場合に設定される歩行判定基準値に比べて、歩行周期変動の許容範囲が広くなるような歩行判定基準値を設定するようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２８３３４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように特許文献１の技術は、歩行停止時間の長短に応じて歩行判定基準を設定するようにしているが、歩行周期は、必ずしも歩行の停止時間に影響されるとは限らないため、使用者の行動によっては誤カウントが多くなるという問題が残る。
【０００６】
本発明の課題は、刻々変化する使用者の行動に追従して精度の良い歩数計測を実現できるようにすることである。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために本発明は、
使用者の動作に応じて逐次検出される振動状態から歩数を計測する歩数計測装置であって、
複数種の使用者の行動の中からその１つの行動を逐次特定する特定手段と、
前記使用者の動作に応じて逐次検出された振動状態を歩数計測の対象として有効とするか否かを逐次判定する判定手段と、
を備え、
前記判定手段は、前記特定手段により逐次特定された使用者の行動に基づいて、前記振動状態を歩数計測の対象として有効とするか否かを逐次判定する、
ようにしたことを特徴とする歩数計測装置である。
【発明の効果】
【０００８】
本発明によれば、刻々変化する使用者の行動に追従して精度の良い歩数計測することができる。
【図面の簡単な説明】
【０００９】
【図１】歩数計測装置として適用した多機能型携帯電話機（スマートフォン）の基本的な構成要素を示したブロック図。
【図２】使用者の振動状態から歩数を計測する動作の一例を具体的な数値を挙げて説明するための図。
【図３】使用者の振動状態から歩数を計測する動作の他の例を具体的な数値を挙げて説明するための図。
【図４】歩数計測機能の開始に応答して所定時間（１秒）毎に実行開始される本実施形態の特徴的な動作（使用者の振動状態を歩数計測の対象として有効とするか否かを逐次判定する場合の動作）を示したフローチャート。
【図５】図４のステップＡ１（歩行判定用閾値の設定を変更する処理）を詳述するためのフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を図１〜図５を参照して説明する。
この実施形態は、歩数計測装置として、歩数計測機能を備えた多機能型携帯電話機（スマートフォン）に適用した場合を例示したもので、図１は、このスマートフォンの基本的な構成要素を示したブロック図である。
多機能型携帯電話機（スマートフォン）は、通話機能、電子メール機能、インターネット接続機能（Ｗｅｂアクセス機能）などの一般的な機能のほか、使用者の歩行や走行などの動作に応じて当該スマートフォンに伝わる振動状態を逐次検出して、歩数を計測する歩数計測機能を備え、制御部１を中核とする構成となっている。
【００１１】
制御部１は、電源部（二次電池）２からの電力供給によって動作し、記憶部３内に格納されている各種のプログラムに応じてこのスマートフォンの全体動作を制御するもので、この制御部１には図示しないＣＰＵ（中央演算処理装置）やメモリなどが設けられている。記憶部３は、例えば、ＲＯＭ、フラッシュメモリなどを有する構成で、図４及び図５に示した動作手順に応じて本実施形態を実現するためのプログラムや各種のアプリケーションなどが格納されている。なお、記憶部３は、例えば、ＳＤカード、ＵＳＢメモリなど、着脱自在な可搬型メモリ（記録メディア）を含む構成であってもよく、図示しないが、通信機能を介してネットワークに接続されている状態においては所定のサーバ装置側の記憶領域を含むものであってもよい。
【００１２】
制御部１には、その入出デバイスとして、操作部４、タッチ表示部５、通信部６、音声入出力部７、センサ部８が接続されている。操作部４は、電源キーなどを備えている。タッチ表示部５は、高精細液晶などのディスプレイ上にタッチパネルを積層配置した構成で、歩数計測機能で計測された計測結果（総歩数）などを表示したり、各種のソフトウェアキー（図示省略するが、歩数計測開始を指示するキー、歩数計測終了を指示する終了キー）を割り当て配置したり、指などによるタッチ操作を感知してそのタッチ操作に応じた操作信号を入力したりする。通信部６は、通話機能、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格の短距離無線通信機能、又は無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）機能を構成する。音声入出力部７は、図示省略したが、マイク、スピーカ、Ｄ／Ａ（デジタル／アナログ）・Ａ／Ｄ変換器、増幅器、音量調整器などを有する構成で、各種の音声（メッセージ、又はアラーム音）の入出力を制御する。
【００１３】
各種センサ部８は、歩数計測用のセンサ部９と、行動特定用のセンサ部１０を有し、この歩数計測用のセンサ部９には、使用者（ユーザ）の動作状態（スマートフォンに伝わる振動状態）を検出する振動センサとして、本実施形態では、３軸タイプの加速度センサ１１が備えられている。この３軸タイプの加速度センサ１１は、サンプリング周期（例えば、３０ｍｓ）毎に、使用者の動きに応じた加速度（振動）の大きさとして、互いに直交する３軸方向の加速度成分を検出するもので、この３軸方向の加速度成分のそれぞれの信号や、３軸方向の各加速度成分を合成した信号（二乗和した信号）が使用者の動作に応じた振動波形信号となる。なお、振動センサとしては、３軸タイプの加速度センサに限らないことは勿論である。
【００１４】
歩数計測用のセンサ部９からのセンサ出力（加速度センサ１１からの振動波形信号）に基づいて制御部１は、使用者の行動（歩行）に相当する振動状態として、単位時間毎（本実施形態では１秒毎）にその振動回数（歩数）を計数し、１秒毎の振動回数を累計した累計回数（累計歩数）を求めて、その１秒毎の振動回数及びその累計回数を記憶部３内のワークメモリ（図示省略）に一時記憶させるようにしている。
【００１５】
行動特定用のセンサ部１０は、複数種の使用者の行動の中からその１つの行動を逐次特定するために使用されるセンサとして、例えば、３軸タイプの加速度センサ１２、ジャイロセンサ１３などを備えている。なお、歩数計測用のセンサ部９と行動特定用のセンサ部１０とで３軸タイプの加速度センサを兼用するようにしてもよいが、本実施形態では、それぞれ別個の加速度センサを使用するようにしている。制御部１は、行動特定用のセンサ部１０からの各種のセンサ出力に基づいて単位時間毎（本実施形態では１秒毎）に使用者の行動を検出するようにしている。
【００１６】
この行動特定の結果として、本実施形態では歩行である確率、停留である確率を求めるようにしている。すなわち、本実施形態では、既知のパターン認識手法（分類手法）として、使用者の振動状態からその最も確からしい原因が何％の確率で起きているかを推定するパターン認識、例えば、非線形の識別関数を構成できるように拡張したパターン認識手法のサポートベクターマシン（ＳＶＭ）によって、例えば、Ｃ個の行動種類を分類する場合に、二組ずつ行動の種類を抜き出して、どちらの行動であるかを特定し（２クラス分類）、その特定を全ての組み合わせで行った後、２クラス分類の結果の投票を行い、その投票数に応じて、歩行あるいは停留しているという確率（尤度ｐ：０〜１）を算出するようにしている（この場合、例えば、比例計算などを行うが、それに限らない）。
【００１７】
他にも、行動種類を分類する場合に、例えば、マルコス性を仮定する確率モデルとしての隠れマルコフモデル（ＨＭＭ）やベイジアンネットワークによる分類を採用するようにすれば、直接確率を求めることができるようになる。更に、分類手法としては、サポートベクターマシン（ＳＶＭ）、隠れマルコフモデル（ＨＭＭ）、ベイジアンネットワークなどを組み合わせるようにしてもよい。ここで、停留とは、例えば摺足移動などのように歩行であると特定されない状態を意味する。尚、本実施形態では使用者の行動として歩行か停留かを特定しているが、これに限らず、行動として、走行を検出したり、掃き掃除時の行動などを検出したりするようにしてもよい。
【００１８】
このようにして使用者の行動を逐次特定すると、制御部１は、その特定の結果（歩行である確率、停留である確率）に基づいて、歩行判定用の閾値の設定を変更するようにしている。この判定用の閾値については、後で詳述するが、歩行計測機能において、使用者の振動状態（１秒毎の振動回数やその累計回数）を、歩数計測の対象として有効とするか否かを逐次判定する場合に使用される判定基準であり、本実施形態では、２種類の閾値（第１の閾値と第２の閾値）を使用して計測対象として有効とするか否かを判定するようにしている。
【００１９】
図２は、使用者の振動状態から歩数を計測する動作の一例を具体的な数値を挙げて説明するための図である。
図２の１列目の「秒」は、歩数計測機能の動作を開始してからの経過時間（秒単位）を示し、図示の例では、歩数計測機能の動作を開始してから１秒〜１７秒の時点を示している。２列目の「振動回数」は、歩数計測用のセンサ部９（その加速度センサ１１）からの振動波形信号に基づいて、その振動の大きさから単位時間毎（１秒毎）に計数した振動回数を示し、図示の例（１列目と２列目）は、歩数計測を開始してから１秒毎の経過時点、つまり、１秒時点（０〜１秒）で１回、２秒時点（１〜２秒）で２回、３秒時点（２〜３秒）で０回、４秒時点（３〜４秒）で２回、５秒時点（４〜５秒）で２回、…、１７秒時点（１６〜１７秒）で２回…、の場合を示している。
【００２０】
図２の３列目の「累計回数」は、１秒毎の「振動回数」を累計した値を示しいている。制御部１は、「振動回数」が所定値未満（本実施形態では“１”未満、つまり、“０”）の場合に、この振動回数＝“０”の状態が継続している時間（振動無し継続時間）を計時し、この振動無し継続時間が、予め設定されている歩行判定用の第１の閾値（時間の閾値）を超えると、使用者が歩行動作をしていないものとして、この「累計回数」の値を“０”にリセットするようにしている。このように「累計回数」は、振動無しの時間が所定時間（第１の閾値で示される時間）継続した際にリセットされる。以下、この第１の閾値を時間間隔閾値Ｔと呼称するものとする。図２の例は、時間間隔閾値Ｔを“１”に固定した場合を示している。このように時間間隔閾値Ｔが“１”に固定されていると、「振動回数」が“０”となる毎に、その「累計回数」はその都度リセットされることになる。
【００２１】
一方、制御部１は、「累計回数」が予め設定されている走行判定用の第２の閾値（回数の閾値）を超えた際に、使用者が歩行動作をしているものとして、そのときの「累計回数」を歩数計測の対象値（カウント対象値）として決定する。このように「累計回数」は、１秒毎の「振動回数」を逐次累計した値となるが、その値が所定回数（第２の閾値で示される回数）を超えた際に、そのときの「累計回数」を４列目の「計測対象値」としている。以下、この第２の閾値を累計回数閾値Ｎと呼称するものとする。
【００２２】
図２の４列目の「計測対象値」は、歩数計測の対象（カウント対象）となる値を示し、対応する「振動回数」又は「累計回数」が歩数計測の対象となる。制御部１は、この１秒毎の「計測対象値」を逐次計測することによって現時点までの総歩数を更新し、その総歩数を表示させたりする。上述したように「累計回数」が累計回数閾値Ｎを超えた際に、制御部１は、その「累計回数」を「計測対象値」として決定するが、「累計回数」が累計回数閾値Ｎを超えていなければ、「計測対象値」は“０”のままとなる。
【００２３】
図２の１列目〜４列目は、時間間隔閾値Ｔを“１”に固定し、かつ、累計回数閾値Ｎを“１０”に固定した場合の一般的な動作を説明するための図で、単位時間毎（１秒毎）の「振動回数」に応じて逐次変化する「累計回数」、「計測対象値」の内容を示している。すなわち、３列目及び４列目において、１秒〜１１秒時点の各「累計回数」は、累計回数閾値Ｎ＝“１０”以下であるため、各「計測対象値」の値は連続して“０”となるが、１２秒時点の「累計回数」が累計回数閾値Ｎを超えて“１１”となると、「計測対象値」は、そのときの累計回数＝“１１”となる。このように「計測対象値」が“０”でなくなると、それ以降は、「振動回数」が所定値未満（本実施形態では１未満：０）でないことを条件に、「振動回数」が「計測対象値」となる。図示の例では、１３〜１７秒時点の各「振動回数」は“０”ではないので、各「計測対象値」は、そのときの「振動回数」となる。
【００２４】
このように４列目の「計測対象値」において、歩数計測の対象となるのは、８〜１２秒時点で歩いた歩数となり、４〜６秒時点での歩数は計測対象から外れてしまう。そこで、本実施形態では、行動特定の結果（歩行である確率、停留である確率）に基づいて、累計回数閾値Ｎを変更することによって上述のような誤カウントを抑制するようにしている。図２の５列〜１０列目は、本実施形態の動作を説明するための図で、上述した図２の３列目及び４列目は、累計回数閾値Ｎ＝“１０”に固定した場合を例示したが、本実施形態の５列〜１０列目においては、行動特定の結果が停留であれば（その確率が高ければ）、累計回数閾値Ｎを“１０”に設定し、歩行であれば（その確率が高ければ）、累計回数閾値Ｎを“５”に設定した場合を例示したものである。
【００２５】
図２の５列目〜７列目の例（１）は、その場合の一例を示し、８列〜１０列目の例（２）は、他の例を示している。ここで、５列目の「行動特定」とは、行動特定用のセンサ部１０からのセンサ出力に基づいて、単位時間毎（１秒毎）に得られた行動特定の結果（歩行又は停留）を示している。なお、６列目の「累計回数」と７列目の「計測対象値」は、３列目と４列目と同様の意味である。図２の例（１）は、１〜１０秒時点の「行動特定」が“停留”、１１〜１７秒時点の「行動特定」が“歩行”の場合を示している。
【００２６】
１〜１０秒時点では、その各「累計回数」が“停留”の累計回数閾値Ｎ＝“１０”を超えていないので、図２の３列目と同様に、４〜６秒時点の歩数が計測対象から外されてしまうが、４〜６秒時点の「行動特定」は“停留”で、その間は歩行していないので、その間の歩数を計測対象から外した方が正しい計測結果となる。１１秒時点で「累計回数」が“９”となり、“歩行”の累計回数閾値Ｎ＝“５”を超えると、その累計回数＝“９”が「計測対象値」となる（累計回数が歩数計測の対象として有効な値となる）。その後、１２〜１７秒時点の各「振動回数」は“０”ではないので、各「振動回数」がそのまま「計測対象値」となる（振動回数が歩数計測の対象として有効な値となる）。
【００２７】
図２の例（２）は、１〜３秒時点の「行動特定」が“停留”、４〜１７秒時点の「行動特定」が“歩行”の場合を示している。ここで、６秒時点の「累計回数」が“６”となり、“歩行”の累計回数閾値Ｎ＝“５”を超えるので、この累計回数＝“６”が「計測対象値」となる。そして、７秒時点の「振動回数」が“０”となると、その「累計回数」がリセットされると共に「計測対象値」も“０”となる。その後、１０秒時点で再び、「累計回数」が“７”となり、“歩行”の累計回数閾値Ｎ＝“５”を超えると、そのときの累計回数＝“７”が「計測対象値」となる。それ以降、１１〜１７秒時点の各「振動回数」は“０”ではないので、その「振動回数」がそのまま「計測対象値」となる。
【００２８】
このように図２の例（２）においては、“歩行”の累計回数閾値Ｎ＝５とすることにより、つまり、図２の３列目及び４列目の場合よりも、その累計回数閾値Ｎを小さな値とすることにより、６秒時点の「累計回数」を「計測対象値」とすることができ、４〜６秒時点の歩数を計測対象として含めることができるようになる。すなわち、４〜６秒時点の「行動特定」が“歩行”となっているので、図２の４列目の場合のように、４〜６秒の「振動回数」が計測対象から外されず（捨てられず）、そのときの「振動回数」を「計測対象値」とすることができ、図２の４列目の場合に比べて、より正確な計測結果を得ることが可能となる。
【００２９】
図３は、使用者の振動状態から歩数を計測する動作の他の例を具体的な数値を挙げて説明するための図で、「秒」、「振動回数」、「累計回数」、「計測対象値」、「行動特定」は、図２と同様の意味である。上述した図２の例では、時間間隔閾値Ｔを“１”に固定した状態において、行動特定の結果（歩行である確率、停留である確率）に基づいて、累計回数閾値Ｎを変更する場合を示したが、図３は、累計回数閾値Ｎを“１０”に固定した状態において、行動特定の結果（歩行である確率、停留である確率）に基づいて、時間間隔閾値Ｔを変更する場合を示している。
【００３０】
図３の１列目〜４列目は、累計回数閾値Ｎを“１０”に固定し、かつ時間間隔閾値Ｔを“３”に固定した場合の一般的な動作を説明するための図で、単位時間毎（１秒毎）の「振動回数」に応じて逐次変化する「累計回数」、「計測対象値」の内容を示している。ここで、６秒時点の「累計回数」は、“５”となっているが、７秒〜１０秒時点の各「振動回数」は連続して“０”となるため、振動回数＝“０”の状態が継続している時間（振動無し継続時間）は、４秒となり、時間間隔閾値Ｔ＝“３”を超えるので、「累計回数」はリセットされて“０”となる。その後、１５秒時点の「累計回数」が“１１”となると、累計回数閾値Ｎ＝“１０”を超えるので、この累計回数＝“１１”が「計測対象値」となる。それ以降、１６秒及び１７秒時点の各「振動回数」は“０”ではないので、その「振動回数」がそのまま「計測対象値」となる。
【００３１】
このように図３の４列目の「計測対象値」において、歩数計測の対象となるのは、１１〜１５秒時点で歩いた歩数であり、４〜６秒時点の歩数は計測対象から外れてしまう。そこで、本実施形態では、行動特定の結果（歩行である確率、停留である確率）に基づいて、歩行判定用の閾値（時間間隔閾値）Ｔを変更することによって上述のような誤カウントを抑制するようにしている。図３の５列〜１０列目は、本実施形態の動作を説明するための図で、図３の３列目及び４列目では、時間間隔閾値Ｔ＝“３”に固定した場合を示したが、５列〜１０列目では、行動特定の結果、停留であれば（その確率が高ければ）、時間間隔閾値Ｔを“３”に設定し、歩行であれば（その確率が高ければ）、時間間隔閾値Ｔを“５”に設定した場合を示している。
【００３２】
図３の５列目〜７列目の例（１）は、その場合の一例を示し、８列〜１０列目の例（２）は、他の例を示している。図３の例（１）は、１〜１０秒時点の「行動特定」が“停留”、１１〜１７秒時点の「行動特定」が“歩行”の場合を示し、「累計回数」、「計測対象値」は、図３の１列目及び４列目と同様の内容となる。すなわち、７秒〜１０秒時点の各「振動回数」が“０”で、振動回数＝“０”の状態が連続していた時間（振動無し継続時間）が４秒となると、時間間隔閾値Ｔ＝“３”を超えるので、「累計回数」がリセットされる。この場合も４〜６秒時点の歩数は、計測対象から外されてしまうが、４〜６秒時点の「行動特定」は、“停留”で、歩行していないので、その間の歩数を計測対象から外した方が正しい計測結果となる。
【００３３】
図３の例（２）は、１〜３秒時点の「行動特定」が“停留”、４〜１７秒時点の「行動特定」が“歩行”の場合を示し、「振動回数」が“０”の状態が７秒〜１０秒時点で連続しているが、その時間（振動無し継続時間）は４秒で、“歩行”の時間間隔閾値Ｔ＝“５”を超えていないので、「累計回数」はリセットされず、そのまま現在値＝“５”が保持されるため、図３の例（１）の場合よりも「累計回数」はその分多くなる。この場合、図３の例（２）では１３秒時点で「累計回数」は“１１”となり、累計回数閾値Ｎ＝“１０”を超えるため、この累計回数＝“１１”が「計測対象値」となるが、図３の例（１）では、累計回数閾値Ｎ＝“１０”を超えるのは１５秒の時点となる。それ以降、１１〜１７秒時点の各「振動回数」は“０”ではないので、その「振動回数」がそのまま「計測対象値」となる。
【００３４】
このように図３の例（２）においては、“歩行”の時間間隔閾値Ｔ＝５とすることにより、つまり、“停留”の場合よりもその時間間隔閾値Ｔを大きな値とすることにより、４〜６秒時点の歩数も計測対象として含めることができるようになる。すなわち、４〜６秒時点の「行動特定」“歩行”であるため、振動無し継続時間が４〜６秒（４秒間）続いたとしても図３の４列目の場合のように、４〜６秒の歩数が計測対象から外されず（捨てられず）、その歩数を計測対象として有効とすることができ、図３の４列目の場合に比べて、より正確な計測結果を得ることが可能となる。
【００３５】
次に、本実施形態における、歩数計測機能を備えた多機能型携帯電話機（スマートフォン）の動作概念を図４及び図５に示すフローチャートを参照して説明する。ここで、これらのフローチャートに記述されている各機能は、読み取り可能なプログラムコードの形態で格納されており、このプログラムコードにしたがった動作が逐次実行される。また、ネットワークなどの伝送媒体を介して伝送されてきた上述のプログラムコードに従った動作を逐次実行することもできる。すなわち、記録媒体の他に、伝送媒体を介して外部供給されたプログラム／データを利用して本実施形態特有の動作を実行することもできる。なお、図４は、スマートフォンの全体動作のうち、本実施形態の特徴部分の動作概要を示したフローチャートであり、この図４のフローから抜けた際には、全体動作のメインフロー（図示省略）に戻る。
【００３６】
図４は、歩数計測機能の開始に応答して所定時間（１秒）毎に実行される本実施形態の特徴的な動作（使用者の振動状態を歩数計測の対象として有効とするか否かを逐次判定する場合の動作）を示したフローチャートである。
先ず、１秒毎に図４のフローの実行に移ると、制御部１は、行動特定の結果（歩行である確率、停留である確率）に基づいて、累計回数閾値Ｎ、時間間隔閾値Ｔの設定を変更する処理を行う（ステップＡ１）。この変更処理は、使用者の行動を特定する動作と、その行動特定の結果に基づいて累計回数閾値Ｎ、時間間隔閾値Ｔの設定を変更する動作を１秒毎に行う。
【００３７】
図５は、累計回数閾値Ｎ、時間間隔閾値Ｔの設定を変更する処理（図４のステップＡ１）を詳述するためのフローチャートである。
先ず、制御部１は、行動特定用のセンサ部１０からの各種のセンサ出力に基づいて、サポートベクターマシン（ＳＶＭ）により、歩行又は停留しているという確率を（尤度：０〜１）を算出して、使用者の現時点の行動を特定し（ステップＢ１）、その行動特定の結果として、歩行である確率、停留である確率（尤度ｐ：０〜１）を取得する（ステップＢ２）。ここで、予めユーザ操作によって時間間隔閾値Ｔを固定すべきことが指定されているかを調べたり（ステップＢ３）、累計回数閾値Ｎを固定すべきことが指定されているかを調べたりする（ステップＢ６）。
【００３８】
いま、時間間隔閾値Ｔの固定が指定されていれば（ステップＢ３でＹＥＳ）、次式（１）にしたがって累計回数閾値Ｎを算出して設定する処理（ステップＢ４）を行った後、時間間隔閾値Ｔに固定値を設定する処理に移る（ステップＢ５）。また、累計回数閾値Ｎの固定が指定されていれば（ステップＢ６でＹＥＳ）、次式（２）にしたがって時間間隔閾値Ｔを算出して設定する処理（ステップＢ７）を行った後、累計回数閾値Ｎに固定値を設定する処理に移る（ステップＢ８）。また、時間間隔閾値Ｔ、累計回数閾値Ｎの何れの固定も指定されていなければ（ステップＢ６でＮＯ）、次式（１）にしたがって累計回数閾値Ｎを算出して設定する処理（ステップＢ９）、及び次式（２）にしたがって時間間隔閾値Ｔを算出して設定する処理（ステップＢ１０）に移る。
【００３９】
Ｎ＝Ｎｓ＊（１−ｐ）＋Ｎｂ…（１）
Ｔ＝Ｔｓ＊ｐ＋Ｔｂ…（２）
ここで、ｐは行動特定の結果（尤度ｐ：０〜１）、Ｎｓ、Ｔｓは、予め設定されている比例定数、Ｎｂ、Ｔｂは、予め設定されている最低値を示している。なお、尤度ｐを０〜１とすることで、歩行中らしさを閾値に反映させているが、歩行の確率が５０％程度であれば、使用者の行動を停留としてもよい。
【００４０】
図２の例（１）及び例（２）は、上述したように時間間隔閾値Ｔを“１”に固定した場合において、比例定数最低値Ｎｓ＝５、最低値Ｎｂ＝５としたときに、行動特定の結果尤度ｐが“０”、つまり、１００％歩行中でなければ（停留の場合であれば）、累計回数閾値Ｎとして“１０”が設定され、尤度ｐが“１”、つまり、１００％歩行中であれば、累計回数閾値Ｎとして“５”が設定された場合である。図３の例（１）及び例（２）は、上述したように累計回数閾値Ｎを“１０”に固定した場合において、比例定数最低値Ｔｓ＝２、最低値Ｔｂ＝３としたときに、行動特定の結果の尤度ｐが“０”で１００％歩行中でなければ（停留の場合であれば）、時間間隔閾値Ｔとして“３”が設定され、尤度ｐが“１”で１００％歩行中であれば、時間間隔閾値Ｔとして“５”が設定された場合である。
【００４１】
このように行動特定の結果に基づいて累計回数閾値Ｎ、時間間隔閾値Ｔの設定を変更する処理（図４のステップＡ１）が終ると、制御部１は、歩数計測用のセンサ部９からのセンサ出力に基づいて、１秒当たりの「振動回数」を計数してその計数値として振動回数ｓを求め（ステップＡ２）、その振動回数ｓは“０（振動無し状態）”であるかを調べる（ステップＡ３）。いま、振動回数ｓが“１”以上であれば（ステップＡ３でＮＯ）、振動回数ｓ＝“０”の状態が連続している時間（振動無し継続時間）ｔをリセットしてその値を“０”にする処理（ステップＡ４）を行った後、歩数制御フラグｆを参照し、その値は“０”であるか（フラグオフか）を調べる（ステップＡ５）。
【００４２】
この歩数制御フラグｆは、振動回数ｓが歩数として有効であるか否かを示すフラグで、その値が“１”（フラグオン）の場合とは、例えば、図２の例（１）、例（２）の場合には、１１〜１７秒時点、図３の例（１）の場合には１６、１７秒時点、図３の例（２）の場合には１４〜１７秒時点のように、各振動回数ｓがそのまま「計測対象値」となる状態を意味している。いま、歩数制御フラグｆが“１”であれば（ステップＡ５でＹＥＳ）、ステップＡ６に移り、振動回数ｓを「累計回数」に加算することにより「累計回数」の値を更新する処理（累計回数Ａ＝Ａ＋ｓ）を行った後、振動回数ｓをそのまま「計測対象値」とする処理（ステップＡ１５）を行う。その後、図４のフローから抜ける。
【００４３】
また、歩数制御フラグｆが“０”であれば（ステップＡ５でＮＯ）、振動回数ｓを累計回数Ａに加算して累計回数Ａを更新する処理（ステップＡ７）を行った後、この累計回数ＡとステップＡ１で設定した累計回数閾値Ｎとを比較して、累計回数Ａは累計回数閾値Ｎを超えたかを調べる（ステップＡ８）。いま、累計回数Ａが累計回数閾値Ｎを超えていなければ（ステップＡ８でＮＯ）、このときの振動回数ｓを歩数計測の対象から外すために、その値を“０”にリセットして（ステップＡ９）、この振動回数ｓ＝“０”を「計測対象値」とする処理（ステップＡ１５）を行った後、図４のフローから抜ける。例えば、図２の例（１）の場合、１〜９秒時点の累計回数Ａは、“停留”の累計回数閾値Ｎ＝１０を超えていないので、その間の「計測対象値」は、全て“０”となる。図３の例（１）の場合、１〜１４秒時点の累計回数Ａは、固定値である累計回数閾値Ｎ＝１０を超えていないので、その間の「計測対象値」は、全て“０”となる。
【００４４】
一方、累計回数Ａが累計回数閾値Ｎを超えると（ステップＡ７でＹＥＳ）、例えば、図２の例（１）の場合には１１秒時点で累計回数が“９”となり、歩行”の累計回数閾値Ｎ＝“５”を超えると、又は、図２の例（２）の場合には６秒時点で累計回数Ａが“６”、１０秒時点で累計回数Ａが“７”となり、“歩行”の累計回数閾値Ｎ＝“５”を超えると、そのときの累計回数Ａを振動回数ｓとする処理、即ち、累計回数Ａの値を振動回数ｓに代入する処理（ｓ＝Ａ）を行う（ステップＡ１０）。そして、歩数制御フラグｆを“１”とする処理（ステップＡ１１）を行った後、この振動回数ｓ＝Ａを「計測対象値」とする処理（ステップＡ１５）に移る。例えば、図２の例（１）では１１秒時点の累計回数Ａ＝“９”が「計測対象値」となり、図２の例（２）では６秒時点の累計回数Ａ＝“６”、及び１０秒時点の累計回数Ａ＝“７”が「計測対象値」となる。そして、振動回数ｓをリセットしてその値を“０”にする処理（ステップＡ１６）を行なう。
【００４５】
他方、振動回数ｓが“０”であれば（ステップＡ３でＹＥＳ）、振動無し継続時間ｔを更新（１秒加算）する処理（ｔ＝ｔ＋１）を行う（ステップＡ１２）。そして、更新した振動無し継続時間ｔとステップＡ１で設定した時間間隔閾値Ｔとを比較して、振動無し継続時間ｔは時間間隔閾値Ｔを超えたかを調べる（ステップＡ１３）。いま、振動無し継続時間ｔが時間間隔閾値Ｔを超えると（ステップＡ１３でＮＯ）、例えば、図３の例（１）では７秒〜１０秒時点の各「振動回数」が“０”であるから、振動無し継続時間ｔが４秒となって“停留”の時間間隔閾値Ｔ＝“３”を超えるため、ステップＡ１４に移り、歩数制御フラグｆを“０”とし、累計回数Ａをリセットしてその値を“０”にする。
【００４６】
また、振動無し継続時間ｔが時間間隔閾値Ｔを超えていなければ（ステップＡ１３でＮＯ）、例えば、図３の例（２）では７秒〜１０秒時点の各振動回数が“０”で、振動無し継続時間ｔが４秒となるが、“歩行”の時間間隔閾値Ｔ＝“３”を超えていないので、振動回数ｓ＝“０”を「計測対象値」とする処理（ステップＡ１５）を行った後、図４のフローから抜ける。この場合、累計回数Ａ＝“５”は、そのまま保持される。
以下、図４のフローにしたがった動作を１秒毎に繰り返す。ここで、制御部１は、ステップＡ１５で「計測対象値」として決定した値を１秒間で歩いた歩数を取得してカウントし、総歩数を求めて１秒毎に表示内容を更新させる動作を行う。
【００４７】
以上のように、本実施形態においては、使用者の振動状態から歩数を計測する場合に、複数種の使用者の行動の中からその１つの行動を逐次特定すると共に、特定した行動に基づいて、使用者の振動状態を歩数計測の対象として有効とするか否かを逐次判定するようにしたので、使用者の行動に適さない計測動作を抑制することができ、例えば、歩行中のカウント漏れ（マイナスの誤カウント）や停留中の誤カウント（プラスの誤カウント）を抑制することが可能となり、刻々変化する使用者の行動に追従して精度の良い歩数計測を実現することができる。
【００４８】
制御部１は、使用者の振動状態と予め設定されている判定用の閾値とに基づいて、歩数計測の対象としてその振動状態を有効とするか否かを逐次判定する場合に、逐次特定した使用者の行動に基づいて、判定用の閾値を逐次変更するようにしたので、刻々変化する使用者の行動に追従して判定用の閾値を逐次変更することができ、使用者の行動に適した歩数計測が可能となる。
【００４９】
判定用の閾値は、使用者の振動状態として単位時間毎に逐次検出される各振動回数を所定の条件で累計した累計回数と比較される累計回数閾値Ｎであり、この累計回数が累計回数閾値Ｎを超えた際に、その累計回数を歩数計測の対象として有効とする場合に、逐次特定された使用者の行動に基づいて、累計回数閾値Ｎを逐次変更するようにしたので、刻々変化する使用者の行動に追従して累計回数閾値Ｎを逐次変更することができる。
【００５０】
判定用の閾値は、使用者の振動状態として単位時間毎に逐次検出される各振動回数を累計した累計回数と比較される累計回数閾値Ｎと、所定値未満の振動回数が継続している時間と比較される時間間隔閾値Ｔであり、制御部１は、所定値未満（１未満：“０”）の振動回数が継続している振動無し継続時間ｔが時間間隔閾値Ｔを超えた際に累計回数をリセットし、累計回数が累計回数閾値Ｎを超えた際にそのときの累計回数を歩数計測の対象として有効と判定を行うが、このような判定と共に、逐次特定した使用者の行動に基づいて、少なくとも累計回数閾値Ｎ、時間間隔閾値Ｔの何れか一方を逐次変更するようにしたので、刻々変化する使用者の行動に追従して、少なくとも累計回数閾値Ｎ、時間間隔閾値Ｔの何れか一方を逐次変更することができる。
【００５１】
制御部１は、特定した使用者の行動が歩行であれば、歩行ではない場合に比べて、累計回数閾値Ｎを小さな値、時間間隔閾値Ｔを大きな値に変更するようにしたので、歩行中の歩数を正確に計測することが可能となる。
【００５２】
累計回数閾値Ｎ、時間間隔閾値Ｔのうち、その何れか一方を固定値とするか否かをユーザ操作によって任意に選択指定しておくと、制御部１は、指定された閾値を固定値に変更し、他の閾値を、使用者の行動に基づいて逐次変更するようにしたので、ユーザの意向に応じた閾値の変更が可能となる。
【００５３】
制御部１は、使用者の行動を逐次特定する動作と、判定用の閾値を逐次変更する動作とを、所定時間毎に行うようにしたので、刻々変化する使用者の行動に追従して判定用の閾値を逐次変更することができる。
【００５４】
使用者の振動状態を検出する歩数計測用のセンサ部９とは別の行動特定用のセンサ部１０によって検出された振動状態から使用者の行動を逐次特定するようにしたので、歩数計測とは別系統で使用者の行動を特定することができ、兼用に比べて行動特定をより容易、かつ正確に行うことが可能となる。
【００５５】
制御部１は、サポートベクターマシン、隠れマルコフモデル、ベイジアンネットワークの何れかの分類手法、又はそれらの組み合わせによって複数種の使用者の行動の中からその１つの行動を逐次特定するようにしたので、使用者の状態から最も確からしい原因が何％の確率で起きているかを適切に推定することができる。
【００５６】
なお、上述した実施形態においては、使用者の行動を逐次特定する動作と、判定用の閾値を逐次変更する動作とを１秒毎に行うようにしたが、１秒毎に限らず、例えば、０．５秒、又は２秒毎に行うようにしてもよい。
【００５７】
上述した実施形態においては、振動無し継続時間を計時する場合に、所定値未満の振動回数として振動回数＝“０”としたが、例えば、使用者の行動が走行の場合には所定値未満を“１”以下としたり、“２”以下としたりしてもよい。
【００５８】
上述した実施形態において、累計回数閾値Ｎの設定を変更する場合には、Ｎ＝Ｎｓ＊（１−ｐ）＋Ｎｂ、時間間隔閾値Ｔの設定を変更する場合には、Ｔ＝Ｔｓ＊ｐ＋Ｔｂの式にしたがって累計回数閾値Ｎ、時間間隔閾値Ｔを算出して設定するようにしたが、累計回数閾値Ｎ、時間間隔閾値Ｔの算出方法は、これに限らず、例えば、歩行又は走行中と停留中で大小の関係が維持されるようになれば、非線形な関数によって算出するようにしてもよい。また、上述した実施形態では歩行又は停留の２種類の行動を特定して、その特定された行動に基づいて累計回数閾値Ｎと時間間隔閾値Ｔとを設定しているが、その他にも、歩行と停留と走行と掃除中といった３種類以上の行動のうち何れの行動をしているのかを特定して、それぞれの行動に基づいた累計回数閾値Ｎと時間間隔閾値Ｔとを算出して、その算出した閾値でもって歩数計測をするようにしてもよい。
【００５９】
上述した実施形態においては、使用者の行動を特定するアルゴリズムは、サポートベクターマシン（ＳＶＭ）、隠れマルコフモデル（ＨＭＭ）、ベイジアンネットワークに限らず、それ以外であってもよく、また尤度として算出しなくても、歩行／走行か停留かを判定できるだけであってもよい。
【００６０】
また、上述した実施形態においては、歩数計測機能を備えた多機能型携帯電話機（スマートフォン）に適用した場合を示したが、スマートフォンに限らず、歩数計測機能を備えたＰＤＡ（個人向け携帯型情報通信機器）・タブレット端末装置・電子ゲーム・音楽プレイヤーなどに適用するようにしてもよく、勿論、歩数を計測する専用機であってもよい。
【００６１】
また、上述した実施形態において示した“装置”や“部”とは、機能別に複数の筐体に分離されていてもよく、単一の筐体に限らない。また、上述したフローチャートに記述した各ステップは、時系列的な処理に限らず、複数のステップを並列的に処理したり、別個独立して処理したりするようにしてもよい。
【００６２】
以上、この発明の実施形態について説明したが、この発明は、これに限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲を含むものである。
以下、本願出願の特許請求の範囲に記載された発明を付記する。
（付記）
（請求項１）
請求項１に記載の発明は、
使用者の振動状態から歩数を計測する歩数計測装置であって、
複数種の使用者の行動の中からその１つの行動を逐次特定する特定手段と、
前記使用者の振動状態を歩数計測の対象として有効とするか否かを逐次判定する判定手段と、
を備え、
前記判定手段は、前記特定手段により逐次特定された使用者の行動に基づいて、前記使用者の振動状態を歩数計測の対象として有効とするか否かを逐次判定する、
ようにしたことを特徴とする。
（請求項２）
請求項２に記載の発明は、請求項１に記載の歩数計測装置において、
前記判定手段は、前記使用者の振動状態と予め設定されている判定用の閾値とに基づいて、歩数計測の対象としてその振動状態を有効とするか否かを逐次判定し、
前記使用者の行動に基づいて、前記判定用の閾値を逐次変更する変更手段を更に備える、
ことを特徴とする。
（請求項３）
請求項３に記載の発明は、請求項２に記載の歩数計測装置において、
前記判定用の閾値は、前記使用者の振動状態として単位時間毎に逐次検出される各振動回数を累計した累計回数と比較される回数の閾値であり、
前記判定手段は、前記累計回数が前記回数の閾値を超えるか否かに基づいて、その累計回数を歩数計測の対象として有効とするか否かを逐次判定し、
前記変更手段は、前記逐次特定された使用者の行動に基づいて、前記回数の閾値を逐次変更する、
ことを特徴とする。
（請求項４）
請求項４に記載の発明は、請求項３に記載の歩数計測装置において、
前記判定用の閾値は、前記使用者の振動状態として単位時間毎に逐次検出される各振動回数が所定数未満継続している時間と比較される時間の閾値であり、
前記判定手段は、前記所定数未満の振動回数が継続している時間が前記時間の閾値を超えた際に前記累計回数を初期化し、
前記変更手段は、前記逐次特定された使用者の行動に基づいて、前記時間の閾値を逐次変更する、
ことを特徴とする。
（請求項５）
請求項５に記載の発明は、請求項２乃至４の何れか１項に記載の歩数計測装置において、
前記判定用の閾値は、前記使用者の振動状態として単位時間毎に逐次検出される各振動回数を累計した累計回数と比較される回数の閾値と、所定値未満の振動回数が継続している時間と比較される時間の閾値であり、
前記回数の閾値と前記時間の閾値のうち、その何れか一方を固定値とするか否かを任意に選択指定する指定手段を更に備え、
前記変更手段は、前記指定手段によって指定された閾値を固定値に変更すると共に、前記指定された閾値を除く他の閾値を、前記特定手段により逐次特定された使用者の行動に基づいて逐次変更する、
ことを特徴とする。
（請求項６）
請求項６に記載の発明は、請求項１乃至５の何れか１項に記載の歩数計測装置において、
前記特定手段によって使用者の行動を逐次特定する動作と、前記変更手段によって判定用の閾値を逐次変更する動作とを所定時間毎に行う、
ことを特徴とする。
（請求項７）
請求項７に記載の発明は、
使用者の振動状態から歩数を計測する歩数計測装置における歩数計測方法であって、
複数種の使用者の行動の中からその１つの行動を逐次特定する処理と、
前記使用者の振動状態を歩数計測の対象として有効とするか否かを前記特定された使用者の行動に基づいて逐次判定する処理と、
を含むことを特徴とする。
（請求項８）
請求項８に記載の発明は、
使用者の振動状態から歩数を計測する歩数計測装置のコンピュータに対して、
複数種の使用者の行動の中からその１つの行動を逐次特定する機能と、
前記使用者の振動状態を歩数計測の対象として有効とするか否かを前記特定された使用者の行動に基づいて逐次判定する機能と、
を実現させるためのプログラムである。
【符号の説明】
【００６３】
１  制御部
３  記憶部
８  各種センサ部
９  歩数計測用のセンサ部
１０  行動特定用のセンサ部
１１、１２  加速度センサ
１３  ジャイロセンサ
Ｎ  累計回数閾値
Ｔ  時間間隔閾値
ｔ  振動無し継続時間
Ａ  累計回数
ｐ  尤度
【図１】
2019057237.tif 000003
【図２】
2019057237.tif 000004
【図３】
2019057237.tif 000005
【図４】
2019057237.tif 000006
【図５】
2019057237.tif 000007