(57)【特許請求の範囲】
【請求項１】
ユーザに携帯されたセンサが出力するセンサ信号を取得する取得部と、
前記ユーザが歩行動作した時間区間を推定する推定部であって、前記時間区間は、前記ユーザが予め定められた歩数を歩いたと推定される期間であり、前記推定部は、前記センサ信号が略同一の値となる時刻を検出して前記時間区間を推定する、推定部と、
前記センサ信号から前記時間区間における特徴量を抽出する抽出部と、
予め定められた歩数の歩行に対応するセンサ信号から抽出される特徴量に基づき、歩行動作をモデル化した歩行モデルを記憶する記憶部と、
前記特徴量と、前記歩行モデルとを比較する比較部と、
前記比較部の比較結果に基づき、前記ユーザが予め定められた歩数を歩行したかを判定する判定部と、
を備える歩数計数装置。
【請求項２】
ユーザに携帯されたセンサが出力するセンサ信号を取得する取得部と、
前記センサ信号から特徴量を抽出する抽出部と、
予め定められた歩数の歩行に対応するセンサ信号から抽出される特徴量に基づき、歩行動作をモデル化した歩行モデルを記憶する記憶部と、
前記特徴量と、前記歩行モデルとを比較する比較部と、
前記比較部の比較結果に基づき、前記ユーザが予め定められた歩数を歩行したかを判定する判定部と、
を備え、
前記抽出部は、前記ユーザの進行方向の候補に対して前記センサ信号の特徴量を抽出し、
前記比較部は、前記進行方向の候補に対して抽出した前記特徴量と前記歩行モデルとを比較し、
前記判定部は、前記比較部の比較結果に基づいて進行方向を更に判定する、歩数計数装置。
【請求項３】
前記記憶部は、歩行でない動作に対応するセンサ信号から抽出される特徴量に基づき、非歩行動作をモデル化した非歩行モデルを記憶し、
前記比較部は、前記抽出部で抽出した前記特徴量と、前記非歩行モデルとを比較する請求項１または２に記載の歩数計数装置。
【請求項４】
前記センサは、加速度センサを含む請求項１から３のいずれか一項に記載の歩数計数装置。
【請求項５】
前記センサは、角速度センサを含む請求項１から４のいずれか一項に記載の歩数計数装置。
【請求項６】
ユーザに携帯されたセンサが出力するセンサ信号を取得することと、
前記ユーザが歩行動作した時間区間を推定することであって、前記時間区間は、前記ユーザが予め定められた歩数を歩いたと推定される期間であり、前記センサ信号が略同一の値となる時刻を検出して前記時間区間を推定する、推定することと、
前記センサ信号から前記時間区間における特徴量を抽出することと、
予め定められた歩数の歩行に対応するセンサ信号から抽出される特徴量に基づき、歩行動作をモデル化した歩行モデルを記憶することと、
前記特徴量と、前記歩行モデルとを比較することと、
比較結果に基づき、前記ユーザが予め定められた歩数を歩行したかを判定することと、
を備える歩数計数方法。
【請求項７】
コンピュータにより実行され、前記コンピュータを、請求項１から５のいずれか一項に記載の歩数計数装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、歩数計数装置、歩数計数方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、ユーザの歩行動作を検出する装置は、角速度センサおよび加速度センサを備え、当該ユーザの鉛直方向の加速度が極大になった時点における進行方向の加速度の傾きに応じて、当該ユーザの動作が歩行動作か否かを判定していた（例えば、特許文献１参照）。
特許文献１  特開２００５−１１４５３７号公報
【解決しようとする課題】
【０００３】
しかしながら、このような加速度の傾きに応じた歩行動作の検出は、ユーザの足踏み等の移動を伴わない動作も歩行動作として検出してしまい、誤検出が頻発してしまうことがあった。したがって、歩行動作の検出に基づき、ユーザが歩行した歩数を計数した場合、計数結果に大きな誤差が含まれてしまうことがあった。また、ユーザの進行方向の情報も、正確に検出する方法が望まれていた。
【一般的開示】
【０００４】
（項目１）
歩数計数装置は、ユーザに携帯されたセンサが出力するセンサ信号を取得する取得部を備えてよい。
歩数計数装置は、ユーザが歩行動作した時間区間を推定する推定部であって、時間区間は、ユーザが予め定められた歩数を歩いたと推定される期間であり、推定部は、センサ信号が略同一の値となる時刻を検出して時間区間を推定する、推定部を備えてよい。
歩数計数装置は、センサ信号から時間区間における特徴量を抽出する抽出部を備えてよい。
歩数計数装置は、予め定められた歩数の歩行に対応するセンサ信号から抽出される特徴量に基づき、歩行動作をモデル化した歩行モデルを記憶する記憶部を備えてよい。
歩数計数装置は、特徴量と、歩行モデルとを比較する比較部を備えてよい。
歩数計数装置は、比較部の比較結果に基づき、ユーザが予め定められた歩数を歩行したかを判定する判定部を備えてよい。
（項目２）
歩数計数装置は、ユーザに携帯されたセンサが出力するセンサ信号を取得する取得部を備えてよい。
歩数計数装置は、センサ信号から特徴量を抽出する抽出部を備えてよい。
歩数計数装置は、予め定められた歩数の歩行に対応するセンサ信号から抽出される特徴量に基づき、歩行動作をモデル化した歩行モデルを記憶する記憶部を備えてよい。
歩数計数装置は、特徴量と、歩行モデルとを比較する比較部を備えてよい。
歩数計数装置は、比較部の比較結果に基づき、ユーザが予め定められた歩数を歩行したかを判定する判定部を備えてよい。
抽出部は、ユーザの進行方向の候補に対してセンサ信号の特徴量を抽出してよい。
比較部は、進行方向の候補に対して抽出した特徴量と歩行モデルとを比較してよい。
判定部は、比較部の比較結果に基づいて進行方向を更に判定してよい。
（項目３）
記憶部は、歩行でない動作に対応するセンサ信号から抽出される特徴量に基づき、非歩行動作をモデル化した非歩行モデルを記憶してよい。
比較部は、抽出部で抽出した特徴量と、非歩行モデルとを比較してよい。
（項目４）
センサは、加速度センサを含んでよい。
（項目５）
センサは、角速度センサを含んでよい。
（項目６）
歩数計数方法は、ユーザに携帯されたセンサが出力するセンサ信号を取得することを備えてよい。
歩数計数方法は、ユーザが歩行動作した時間区間を推定することであって、時間区間は、ユーザが予め定められた歩数を歩いたと推定される期間であり、センサ信号が略同一の値となる時刻を検出して時間区間を推定する、推定することを備えてよい。
歩数計数方法は、センサ信号から時間区間における特徴量を抽出することを備えてよい。
歩数計数方法は、予め定められた歩数の歩行に対応するセンサ信号から抽出される特徴量に基づき、歩行動作をモデル化した歩行モデルを記憶することを備えてよい。
歩数計数方法は、特徴量と、歩行モデルとを比較することを備えてよい。
歩数計数方法は、比較結果に基づき、ユーザが予め定められた歩数を歩行したかを判定することを備えてよい。
（項目７）
コンピュータにより実行され、コンピュータを、項目１から５のいずれか一項に記載の歩数計数装置として機能させるプログラム。
【０００５】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００６】
【図１】本実施形態に係る歩数計数装置１００の構成例をセンサ１０と共に示す。
【図２】本実施形態に係る歩数計数装置１００の動作フローの一例を示す。
【図３】本実施形態に係る取得部１１０が取得するセンサ信号の一例を示す。
【図４】本実施形態に係る抽出部１３０が抽出するセンサ信号の特徴量の一例を示す。
【図５】本実施形態に係る比較部１５０による比較を模式的に示した例を示す。
【図６】本実施形態に係る歩数計数装置１００が推定するユーザの進行方向の候補の一例を示す。
【図７】本実施形態に係る比較部１５０が出力する比較結果の一例を示す。
【図８】本実施形態に係る判定部１６０がユーザの進行方向を判定する過程の一例を示す。
【図９】本実施形態に係る歩数計数装置１００として機能するコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、本実施形態に係る歩数計数装置１００の構成例をセンサ１０と共に示す。歩数計数装置１００は、予め定められた歩数だけユーザが歩行したと推定される時間区間におけるセンサ信号の特徴量と、歩行動作をモデル化した歩行モデルとを比較することにより、当該ユーザの歩数を精度よく計数する。なお、歩行モデルは、予め定められた歩数の歩行に対応するセンサ信号から抽出した特徴量に基づいて、予め取得される。歩数計数装置１００は、取得部１１０と、推定部１２０と、抽出部１３０と、記憶部１４０と、比較部１５０と、判定部１６０と、を備える。
【０００９】
ここで、センサ１０は、ユーザに携帯され、ユーザの動作に応じたセンサ信号を出力する。センサは、ユーザの腰等に装着されることが望ましい。センサ１０は、複数種類のセンサを含んでよい。センサ１０は、例えば、加速度センサを含む。また、センサ１０は、角速度センサを含んでもよい。センサ１０は、ユーザの動きを検出できれば、加速度センサおよび角速度センサに限定されるものではなく、速度センサ、気圧センサ、および／または地磁気センサ等を含んでもよい。
【００１０】
取得部１１０は、ユーザに携帯されたセンサ１０が出力するセンサ信号を取得する。取得部１１０は、ユーザの歩行および静止といった動作に応じたセンサ１０からの出力信号を取得する。取得部１１０は、一例として、ユーザが歩行する場合、当該ユーザの歩行に伴うセンサ信号をセンサ１０から取得する。なお、当該歩数計数装置１００およびセンサ１０は、１つの筐体に収容されてよく、この場合、取得部１１０は、筐体内のセンサ１０から直接センサ信号を取得してよい。また、当該筐体は、携帯端末等の一部であってもよい。
【００１１】
また、当該歩数計数装置１００およびセンサ１０は、物理的に離間されてもよく、この場合、取得部１１０は、無線通信等によりセンサ信号を取得してよい。また、取得部１１０は、予めセンサ１０が検出して外部の記憶装置等に記憶したセンサ信号を取得してもよい。この場合、取得部１１０は、当該外部の記憶装置等に有線通信、無線通信、またはネットワーク接続等により、センサ信号を取得してもよい。取得部１１０は、取得したセンサ信号を、推定部１２０および抽出部１３０に供給してよい。
【００１２】
推定部１２０は、ユーザが歩行動作した時間区間を推定する。推定部１２０は、センサ信号に基づき、ユーザが予め定められた歩数を歩いたと推定される期間を時間区間として推定する。推定部１２０は、センサ信号の時間波形に基づき、当該区間を推定してよい。推定部１２０は、推定した区間を抽出部１３０に供給してよい。
【００１３】
抽出部１３０は、センサ信号から特徴量を抽出する。抽出部１３０は、推定された区間毎にセンサ信号の特徴量を抽出してよい。抽出部１３０は、例えば、センサ信号の時間波形の振幅および位相情報を含む特徴量を抽出する。抽出部１３０は、抽出した特徴量を比較部１５０に供給してよい。
【００１４】
記憶部１４０は、予め定められた歩数の歩行に対応するセンサ信号から抽出される特徴量に基づき、歩行動作をモデル化した歩行モデルを記憶する。記憶部１４０は、予め取得した歩行モデルを記憶する。歩行モデルは、モデル作成用データ収集者が予め定められた歩数だけ歩行した場合に、当該収集者が携帯していたセンサの出力信号から抽出される特徴量の分布情報でよい。また、記憶部１４０は、歩行でない動作に対応するセンサ信号から抽出される特徴量に基づき、非歩行動作をモデル化した非歩行モデルを記憶する。記憶部１４０は、予め取得した非歩行モデルを記憶してよい。非歩行モデルは、モデル作成用データ収集者が歩行でない動作をした場合に、当該収集者が携帯していたセンサの出力信号から抽出される特徴量の分布情報でよい。
【００１５】
また、記憶部１４０は、当該歩数計数装置１００が動作する過程で生成する（または利用する）中間データ、算出結果、およびパラメータ等をそれぞれ記憶してもよい。また、記憶部１４０は、当該歩数計数装置１００内の各部の要求に応じて、記憶したデータを要求元に供給してよい。記憶部１４０は、一例として、比較部１５０の要求に応じて、記憶した情報を当該比較部１５０に供給する。
【００１６】
比較部１５０は、推定された区間に基づくセンサ信号の特徴量と、歩行モデルとを比較する。比較部１５０は、抽出部１３０で抽出した特徴量と、記憶部１４０から読み出した歩行モデルとを比較してよい。また、比較部１５０は、推定された区間に基づくセンサ信号の特徴量と、非歩行モデルとを比較してよい。比較部１５０は、非歩行モデルを、記憶部１４０から読み出してよい。比較部１５０は、比較結果を判定部１６０に供給する。
【００１７】
判定部１６０は、比較部の比較結果に基づき、ユーザが予め定められた歩数を歩行したかを判定する。判定部１６０は、比較部１５０の比較結果に基づき、推定された区間でユーザが実際に予め定めた歩数だけ歩行したか否かを判定する。判定部１６０は、判定結果をユーザの歩数情報として出力する。
【００１８】
以上のように、本実施形態に係る歩数計数装置１００は、取得したセンサ信号をユーザが予め定められた歩数だけ歩行したと推定される区間に分割し、分割した区間毎にパターンマッチング等を実行して、区間毎に当該ユーザが本当に予め定めた歩数だけ歩行したか否かを判定する。このような歩数計数装置１００の動作について次に説明する。
【００１９】
図２は、本実施形態に係る歩数計数装置１００の動作フローの一例を示す。歩数計数装置１００は、図２に示す動作フローを実行して、ユーザの歩数情報を推定して出力する。なお、歩数計数装置１００は、リアルタイムでユーザの歩数情報を出力してもよい。
【００２０】
まず、取得部１１０は、ユーザが携帯したセンサ１０からセンサ信号を取得する（Ｓ２１０）。取得部１１０は、複数種類のセンサ１０からセンサ信号を取得してよい。取得部１１０は、予め定められた時間間隔またはデータ量毎にセンサ信号を取得してよい。取得部１１０は、少なくともユーザが数歩歩く程度の時間間隔のデータを取得することが望ましい。本実施形態において、取得部１１０は、加速度センサおよび角速度センサからセンサ信号を取得する例を説明する。
【００２１】
次に、推定部１２０は、センサ信号に基づき、ユーザが予め定められた歩数を歩行した時間区間を推定する（Ｓ２２０）。本実施形態において、推定部１２０は、ユーザが１歩歩行した区間を推定する例を説明する。推定部１２０は、センサ信号の時間波形に応じたユーザの重力方向の変動を検出して、当該区間を推定してよい。ユーザが歩行動作する場合、重力方向の速度および加速度は、ユーザの歩行動作に応じて時間的に変動する。例えば、ユーザが一方向に向かって略等速度に歩行した場合、重力方向のセンサ信号は、ユーザの歩行速度に応じて略一定の周期で変動する。
【００２２】
図３は、本実施形態に係る取得部１１０が取得するセンサ信号の一例を示す。図３は、取得部１１０がユーザに携帯された加速度センサから取得した、歩行しているユーザの重力方向の加速度の一例を示す。図３の横軸は時間を示し、縦軸は重力方向の加速度を示す。図３に示すように、センサ信号は、ユーザの歩行動作による上下方向の変動に応じて信号強度の大小を繰り返すように変動する。また、図３は、センサ信号が略一定の周期で変動しているように見えるので、ユーザが略一定の速度で歩行していることが推定される。
【００２３】
そこで、推定部１２０は、ユーザの重力方向の速度または加速度が極大値、極小値、および中間値といった略同一の値となる時刻を検出して、ユーザが１歩歩行した区間を推定してよい。推定部１２０は、一例として、加速度センサのセンサ信号が極大値となる時刻を検出し、１つ前に極大値が検出された時刻との期間（時間差）を、ユーザが１歩進んだ区間と推定する。図３は、推定部１２０が、センサ信号の極大値となる時刻をｔ０、ｔ１、ｔ２と検出し、ユーザが１歩進んだ区間をＴ１、Ｔ２、・・・と順次推定する例を示す。なお、推定部１２０は、センサ信号の極値が検出されない場合は、ユーザが立ち止まっているものとして、当該時間領域に対する区間の推定はしなくてよい。
【００２４】
次に、抽出部１３０は、センサ信号の特徴量を抽出する（Ｓ２３０）。抽出部１３０は、推定された区間毎に、それぞれのセンサ信号の特徴量を抽出してよい。また、抽出部１３０は、ユーザの進行方向に対して予め定められた方向のセンサ信号の特徴量を抽出してよい。抽出部１３０は、例えば、進行方向の加速度センサのセンサ信号および進行方向に対して水平方向の角速度センサのセンサ信号の特徴量を抽出する。抽出部１３０は、センサ信号の振幅強度および位相情報等を、特徴量として抽出してよい。
【００２５】
図４は、本実施形態に係る抽出部１３０が抽出するセンサ信号の特徴量の一例を示す。図４は、取得部１１０がユーザに携帯された加速度センサから取得した、歩行しているユーザの重力方向の加速度および進行方向の加速度の一例を示す。図４の横軸は時間を示し、縦軸はセンサ信号の相対強度（即ち、加速度）を示す。図４は、重力方向の加速度を信号Ａ、進行方向の加速度を信号Ｂとする。信号Ａおよび信号Ｂは、ユーザの歩行動作の上下動および前後動に応じて信号強度の大小を繰り返すように変動する。
【００２６】
図４に示すように、推定部１２０が信号Ａを用いて区間Ｔ１、Ｔ２、・・・を推定した場合に、抽出部１３０は、信号Ａおよび信号Ｂの特徴量を抽出する。なお、区間Ｔ１、Ｔ２、・・・は、信号Ａが極大値となった時刻ｔ１０、ｔ１１、ｔ１２、・・・の時間差ｔ１１−ｔ１０、ｔ１２−ｔ１１、・・・を示す。抽出部１３０は、信号Ａの区間Ｔ１において、極大値および極小値の差である振幅値α１１と、区間Ｔ１＝ｔ１１−ｔ１０とを特徴量として抽出してよい。また、抽出部１３０は、信号Ａの区間Ｔ２において、振幅値α１２と、区間Ｔ２＝ｔ１２−ｔ１１とを特徴量として抽出してよい。
【００２７】
抽出部１３０は、信号Ｂの区間Ｔ１において、振幅値α２１を特徴量として抽出してよい。また、抽出部１３０は、信号Ｂの特徴量として、信号Ａとの位相差の情報を特徴量として抽出してよい。例えば、推定部１２０が隣り合う極大値の時間差ｔ１１−ｔ１０として信号Ａの区間Ｔ１を推定した場合、抽出部１３０は、区間Ｔ１の開始時刻ｔ１０と区間Ｔ１における信号Ｂの極大値が観測された時刻ｔ２０との時間差を、位相差φ１として抽出する。また、抽出部１３０は、信号Ｂの区間Ｔ２において、振幅値α２２と、位相差φ２＝ｔ２１−ｔ１１とを特徴量として抽出してよい。
【００２８】
また、抽出部１３０は、取得部１１０が他のセンサのセンサ信号を取得している場合、同様に、区間毎の特徴量を抽出してよい。例えば、取得部１１０がユーザの進行方向に対して略水平方向の角速度のセンサ信号を取得した場合、抽出部１３０は、当該角速度の時間波形から特徴量を抽出する。抽出部１３０は、一例として、角速度の振幅（極大値および極小値の差）と、位相差（区間の開始時刻と極大値の検出時刻の差）とを特徴量として抽出してよい。
【００２９】
次に、比較部１５０は、推定された区間に基づくセンサ信号の特徴量と、歩行モデルとを比較する（Ｓ２４０）。比較部１５０は、抽出部１３０が抽出したセンサ信号の区間毎の特徴量と、記憶部１４０にあらかじめ記憶された歩行モデルとを比較してよい。また、比較部１５０は、推定された区間に基づくセンサ信号の特徴量と、非歩行モデルとを比較してよい。比較部１５０は、抽出部１３０が抽出したセンサ信号の区間毎の特徴量と、記憶部１４０にあらかじめ記憶された非歩行モデルとを比較してよい。
【００３０】
ここで、記憶部１４０は、予め定められた歩数の歩行動作および非歩行動作を実行した場合に抽出されるべき特徴量を、シミュレーション等で算出し、その分布情報を記憶してよい。また、記憶部１４０は、予め定められた歩数の歩行動作および非歩行動作を実行した場合に、実際に検出されたセンサ信号から抽出した特徴量の分布情報を記憶してもよい。
【００３１】
比較部１５０は、区間毎に、対応する特徴量を比較してよい。比較部１５０は、複数の特徴量を成分とする特徴ベクトルを生成して比較してよい。即ち、比較部１５０は、抽出部１３０が抽出する特徴量を成分とする特徴ベクトルと、記憶部に記憶された歩行動作モデルまたは非歩行動作モデルが示す特徴ベクトル分布とを比較してよい。この場合、比較部は、歩行モデルまたは非歩行モデルとの類似度を、比較結果として出力してよい。
【００３２】
図５は、本実施形態に係る比較部１５０による比較を模式的に示した例を示す。図５は、特徴量１を横軸とし、特徴量２を縦軸に示す。抽出部１３０が抽出する特徴量は、３以上であることが望ましいが、ｎ次元空間を簡易的に示すことが困難なので、図５は、特徴量空間を簡易的に２次元平面にした例を示す。この場合、例えば、特徴ベクトルは（特徴量１，特徴量２）で示される。
【００３３】
記憶部１４０に記憶された歩行モデルを構成する特徴量の分布は、歩行速度、歩行動作と共に実行する動作、および荷物の有無等により、有限の広がりをもつ。非歩行モデルを構成する特徴量の分布も同様に、動作の種類等により有限の広がりをもつ。図５は、このような歩行モデルを構成する特徴量の分布と、非歩行モデルを構成する特徴量の分布の例を示す。図５は、それぞれのモデルに対し、構成する特徴量が密集している範囲、即ち尤度が大きい範囲を示している。比較部１５０は、特徴量の分布と、抽出された特徴量とを比較する。例えば、比較部１５０は、区間ＴＮにおいて抽出部１３０が抽出した特徴量１Ｎおよび特徴量２Ｎで定まる点Ｘ（特徴量１Ｎ，特徴量２Ｎ）が、歩行モデルを構成する特徴量が密集している範囲内の場合、歩行モデルとの類似度Ｓ１１を大きい（一例として８）として比較結果としてよい。
【００３４】
また、比較部１５０は、当該点Ｘと非歩行モデルの類似度を算出して、比較結果（一例として３）としてよい。なお、それぞれのモデルとの類似度は、モデルを構成する特徴量との距離のうち、最小となる距離の逆数Ｓ１２でよい。また、それぞれのモデルとの類似度は、モデルを構成する特徴量の分布関数に基づき算出される値でもよい。また、類似度は相対的な値でよい。また、特定の特徴量の影響を増減させるべく、抽出部１３０は、特徴量に重みをつけてよい。この場合、記憶部１４０も、重みがついた特徴量を記憶してよい。
【００３５】
比較部１５０は、区間毎に、このような比較を順次実行してよい。例えば、比較部１５０は、抽出部１３０が次に抽出した次の区間ＴＮ＋１の特徴量が点Ｙ（特徴量１Ｎ＋１，特徴量２Ｎ＋１）となった場合、点Ｙの歩行モデルとの類似度Ｓ２１（一例として１）、および、点Ｙの非歩行モデルとの類似度Ｓ２２（一例として４）を比較結果とする。また、比較部１５０は、抽出部１３０が更に抽出した次の区間ＴＮ＋２の特徴量が点Ｚ（特徴量１Ｎ＋２，特徴量２Ｎ＋２）となった場合、点Ｚの歩行モデルとの類似度Ｓ３１（一例として２）、および、点Ｙの非歩行モデルとの距離Ｓ３２（一例として３）を比較結果とする。
【００３６】
次に、判定部１６０は、比較部１５０の比較結果に基づき、ユーザの動作を判定する（Ｓ２５０からＳ２７０）。判定部１６０は、抽出部１３０が抽出した特徴量と歩行モデルの類似度が大きい場合、ユーザは歩行していると判定する（Ｓ２５０：Ｙｅｓ）。判定部１６０は、例えば、比較結果である歩行モデルとの類似度が予め定められた閾値（一例として、５）よりも大きい場合、ユーザは歩行していると判定する。図５の例において、点Ｘは、歩行モデルとの類似度が８なので、区間ＴＮにおいてユーザは歩行動作であると判定する。そして、当該区間は、ユーザが１歩歩行した期間の推定値なので、判定部１６０は、区間ＴＮにおけるユーザの歩数を１と判定してよい（Ｓ２６０）。
【００３７】
また、判定部１６０は、抽出部１３０が抽出した特徴量と非歩行モデルの類似度が大きい場合、ユーザは歩行していないと判定する（Ｓ２５０：Ｎｏ）。判定部１６０は、例えば、比較結果である非歩行モデルとの類似度が予め定められた閾値（一例として、３．５）よりも大きい場合、ユーザは歩行していないと判定する。図５の例において、点Ｙは、非歩行モデルとの類似度が４なので、区間ＴＮ＋１においてユーザは非歩行動作であると判定する。判定部１６０は、区間ＴＮ＋１におけるユーザの歩数を０と判定してよい（Ｓ２７０）。
【００３８】
また、判定部１６０は、抽出部１３０が抽出した特徴量と、歩行モデルおよび非歩行モデルとの類似度が小さい場合、ユーザは歩行していないと判定してよい（Ｓ２５０：Ｎｏ）。判定部１６０は、例えば、比較結果である歩行モデルおよび非歩行モデルとの類似度がそれぞれ予め定められた閾値よりも小さい場合、ユーザは歩行していないと判定する。図５の例において、点Ｚは、歩行モデルとの類似度が２、非歩行モデルとの類似度が３と、いずれの値も閾値より小さいので、区間ＴＮ＋２においてユーザは非歩行動作であると判定する。判定部１６０は、区間ＴＮ＋２におけるユーザの歩数を０と判定してよい（Ｓ２７０）。
【００３９】
歩数計数装置１００は、ユーザの歩数計数を継続する場合（Ｓ２８０：Ｎｏ）、推定部１２０の区間の推定に戻る（Ｓ２２０）。即ち、歩数計数装置１００は、次の区間を推定し、推定した区間における特徴量を抽出して、歩行モデルおよび非歩行モデルとそれぞれ比較してユーザの歩数を判定する。
【００４０】
これに代えて、推定部１２０がセンサ信号の全ての区間の推定を最初に実行する場合、歩数計数装置１００は、抽出部１３０による特徴量の抽出に戻ってもよい（Ｓ２３０）。また、更に、抽出部１３０が特徴量の抽出を全ての区間において最初に実行する場合、歩数計数装置１００は、比較部１５０による比較に戻ってもよい（Ｓ２４０）。また、歩数計数装置１００は、取得部１１０が取得した時系列に並ぶセンサ信号の全てに対してユーザの歩数を判定した場合、センサ信号の取得に戻り（Ｓ２１０）、ユーザの歩数の判定を更に継続させてもよい。これらのように、歩数計数装置１００は、区間毎にユーザの歩数を順次判定してよい。
【００４１】
また、歩数計数装置１００は、外部からの指示等に応じて、ユーザの歩数の判定を中断または停止してよい（Ｓ２８０：Ｙｅｓ）。歩数計数装置１００は、ユーザの動作停止の入力、外部に接続されるシステム等からの中断または停止の指示に応じて、動作を中断または停止してよい。
【００４２】
以上のように、本実施形態に係る歩数計数装置１００は、ユーザの上下方向の変動を検出した期間を、予め定めた歩数だけユーザが歩行した区間と推定し、当該区間から抽出した特徴量とモデルとを比較することにより、ユーザが本当に予め定めた歩数だけ歩行したか否かを判定する。したがって、歩数計数装置１００は、ユーザが歩行していないにもかかわらず、足踏み、荷物等の上げ下ろし、および屈伸動作等によってユーザの上下方向の変動を検出しても、抽出した特徴量と、このような非歩行動作のモデルおよび歩行動作のモデルとをそれぞれ比較することで、ユーザの歩数の誤計数を低減することができる。
【００４３】
なお、ユーザは、歩行動作を継続する場合もあるが、電話の応答および携帯端末等の操作等をしていると、１歩毎に立ち止まる場合もあり、また、異なる速度で歩行する場合、進行方向を変更する場合、進行方向を変更しつつ歩行する場合、足踏みする場合もある。歩数計数装置１００は、歩行動作をしていると推定する区間を、一例として一歩毎といったように、より短い期間に設定することにより、このようなユーザの様々な動作に対応することができ、精度よくユーザの歩数を計数することができる。
【００４４】
なお、本実施形態に係る歩数計数装置１００は、ユーザの腰等の胴体部分に装着されたセンサからのセンサ信号を取得する例を説明した。これに代えて、センサは、ユーザの腕等に装着されてもよい。ここで、ユーザの腕は、歩行に伴って相対的に前後に動き、２歩進むことで相対的に元の位置に戻ることになる。即ち、腕に装着されたセンサは、このようなユーザの腕の振りに伴う上下方向の変動も検出することになる。
【００４５】
このような腕の振りを特徴量として抽出して、歩行動作と分離すべく、歩数計数装置１００は、腕の振りの動作が完結するまでの動作を１つの区間として推定することが望ましい。即ち、この場合、推定部１２０は、ユーザの歩数が２歩になった期間を１つの区間として推定してよい。この場合、判定部１６０は、一の区間でユーザが歩行していると判定する場合、当該一の区間のユーザの歩数を２歩と判定してよい。
【００４６】
以上の本実施形態に係る歩数計数装置１００において、取得部１１０が、ユーザの進行方向の加速度、および進行方向に対して略水平方向の角速度のセンサ信号を取得する例を説明した。即ち、歩数計数装置１００は、ユーザの進行方向が既知の場合のセンサ信号を用いて、ユーザの歩数を計数することになる。これに加えて、歩数計数装置１００は、ユーザの進行方向を更に推定してもよい。ただし、進行方向とはセンサ座標系における進行方向を指す。
【００４７】
この場合も、記憶部１４０に記憶される歩行モデルは、進行方向と略水平方向とが既知である条件のもとに、センサ信号から抽出される特徴量に基づく。
【００４８】
図６は、本実施形態に係る歩数計数装置１００が推定するユーザの進行方向の候補の一例を示す。図６は、ユーザが位置する水平面の一例を示す。図６は、歩数計数装置１００がユーザを中心に進行方向の候補を方向ａから方向ｌまでの１２方向に分割する例を示す。歩数計数装置１００は、各候補を仮に進行方向とした場合の特徴量をセンサ信号から抽出する。即ち、抽出部１３０は、ユーザの進行方向の候補に対してセンサ信号の特徴量を抽出する。
【００４９】
そして、比較部１５０は、抽出部１３０が進行方向の候補に対して抽出した特徴量と、記憶部１４０に記憶された歩行モデルとを比較する。各進行方向候補に対する類似度を算出し、比較結果として出力する。
【００５０】
図７は、本実施形態に係る比較部１５０が出力する比較結果の一例を示す。比較部１５０は、進行方向の候補である進行方向ａから進行方向ｌの方向毎に、抽出した特徴量と歩行モデルとの類似度Ｓａ１〜Ｓｌ１、および、抽出した特徴量と非歩行モデルとの類似度Ｓａ２〜Ｓｌ２をそれぞれ算出して出力する。判定部１６０は、このような比較結果に基づいて、進行方向を更に判定する。判定部１６０は、歩行モデルとの類似度が最大となる進行方向の候補を、ユーザの進行方向と判定してよい。
【００５１】
図８は、本実施形態に係る判定部１６０がユーザの進行方向を判定する過程の一例を示す。図８は、横軸がユーザの進行方向の候補を示し、縦軸が比較部１５０の比較結果を示す。判定部１６０は、ユーザの上下方向の変動を検出した区間の特徴量が、歩行モデル最も類似するような方向を、進行方向と判定する。図８の例において、判定部１６０は、方向ｅをユーザの進行方向と判定してよい。
【００５２】
判定部１６０は、ユーザの進行方向を判定した場合、当該方向に対応する比較部１５０の比較結果を用いて、ユーザの歩数を判定する。例えば、判定部１６０は、ユーザの進行方向を方向ｅと判定した場合、歩行モデルとの類似度Ｓｅ１および非歩行モデルとの類似度Ｓｅ２を用いて、ユーザが歩行動作であるか否かを判定する。即ち、判定部１６０は、距離Ｓｅ１および距離Ｓｅ２と予め定められた閾値との比較結果に応じて、ユーザの動作を判定する。判定部１６０は、ユーザの歩数を更に判定してもよい。即ち、判定部１６０は、比較部１５０の比較結果に基づいてユーザの歩数を判定する場合、当該ユーザの進行方向および歩数と共に判定することができる。
【００５３】
以上のように、本実施形態に係る歩数計数装置１００は、センサ１０から取得したセンサ信号に基づき、ユーザの進行方向と歩数を推定することができる。また、歩数計数装置１００は、ユーザの進行方向もユーザの上下方向の変動の周期毎に推定するので、例えばユーザが１歩毎に方向を変更して歩行した場合でも、精度よく進行方向の変化を推定することができる。また、歩数計数装置１００は、ユーザの進行方向の変化を精度よく推定できるので、当該進行方向に基づくユーザの歩数の推定も、精度よく行える。
【００５４】
図９は、本実施形態に係る歩数計数装置１００として機能するコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、例えば、センサ１０と共に筐体の内部に搭載される。これに代えて、コンピュータ１９００は、センサが収容される筐体の外部に備えられ、センサ１０からのセンサ出力を受信してよい。
【００５５】
コンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、および表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、記憶部２０４０、入出力部２０６０と、ＲＯＭ２０１０と、カードスロット２０５０と、入出力チップ２０７０とを備える。
【００５６】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００およびグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０およびＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００５７】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、記憶部２０４０、入出力部２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。記憶部２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラムおよびデータを格納する。記憶部２０４０は、不揮発性メモリであり、例えば、フラッシュメモリまたはハードディスク等である。
【００５８】
入出力部２０６０は、コネクタ２０９５と接続され、外部とプログラムまたはデータを送受信し、ＲＡＭ２０２０を介して記憶部２０４０に提供する。入出力部２０６０は、規格化されたコネクタおよび通信方式で外部と送受信してよく、この場合、入出力部２０６０は、ＵＳＢ、ＩＥＥＥ１３９４、ＨＤＭＩ（登録商標）、またはＴｈｕｎｄｅｒｂｏｌｔ（登録商標）等の規格を用いてよい。また、入出力部２０６０は、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の無線通信規格を用いて外部と送受信してもよい。
【００５９】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、カードスロット２０５０、および入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、および／または、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。カードスロット２０５０は、メモリカード２０９０からプログラムまたはデータを読み取り、ＲＡＭ２０２０を介して記憶部２０４０に提供する。入出力チップ２０７０は、カードスロット２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続してもよい。
【００６０】
ＲＡＭ２０２０を介して記憶部２０４０に提供されるプログラムは、入出力部２０６０を介して、またはメモリカード２０９０等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内の記憶部２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００６１】
プログラムは、コンピュータ１９００にインストールされ、コンピュータ１９００を取得部１１０、推定部１２０、抽出部１３０、記憶部１４０、比較部１５０、および判定部１６０として機能させる。
【００６２】
プログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である取得部１１０、推定部１２０、抽出部１３０、記憶部１４０、比較部１５０、および判定部１６０として機能させる。そして、この具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算または加工を実現することにより、使用目的に応じた特有の歩数計数装置１００が構築される。
【００６３】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、記憶部２０４０、メモリカード２０９０、または入出力部２０６０を介して接続される記憶装置等に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置または通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０または記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００６４】
また、ＣＰＵ２０００は、記憶部２０４０、メモリカード２０９０、または入出力部２０６０を介して接続される記憶装置等に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、および／または記憶装置に含まれるものとする。
【００６５】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（または不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００６６】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００６７】
以上に示したプログラムまたはモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、メモリカード２０９０の他に、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）、またはＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークまたはインターネットに接続されたサーバシステムに設けたハードディスクまたはＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００６８】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
【００６９】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
本願によれば、以下の各項目もまた開示される。
（項目１）
歩数計数装置は、ユーザに携帯されたセンサが出力するセンサ信号を取得する取得部を備えてよい。
歩数計数装置は、センサ信号から特徴量を抽出する抽出部を備えてよい。
歩数計数装置は、予め定められた歩数の歩行に対応するセンサ信号から抽出される特徴量に基づき、歩行動作をモデル化した歩行モデルを記憶する記憶部を備えてよい。
歩数計数装置は、特徴量と、歩行モデルとを比較する比較部を備えてよい。
歩数計数装置は、比較部の比較結果に基づき、ユーザが予め定められた歩数を歩行したかを判定する判定部を備えてよい。
（項目２）
記憶部は、歩行でない動作に対応するセンサ信号から抽出される特徴量に基づき、非歩行動作をモデル化した非歩行モデルを記憶してよい。
比較部は、抽出部で抽出した特徴量と、非歩行モデルとを比較してよい。
（項目３）
歩数計数装置は、ユーザが歩行動作した時間区間を推定する推定部を備えてよい。
（項目４）
時間区間は、ユーザが予め定められた歩数を歩いたと推定される期間でよい。
（項目５）
推定部は、センサ信号の時間波形に基づき、時間区間を推定してよい。
（項目６）
抽出部は、ユーザの進行方向の候補に対してセンサ信号の特徴量を抽出してよい。
比較部は、進行方向の候補に対して抽出した特徴量と歩行モデルとを比較してよい。
判定部は、比較部の比較結果に基づいて進行方向を更に判定してよい。
（項目７）
センサは、加速度センサを含んでよい。
（項目８）
センサは、角速度センサを含んでよい。
（項目９）
歩数計数方法は、ユーザに携帯されたセンサが出力するセンサ信号を取得することを備えてよい。
歩数計数方法は、センサ信号から特徴量を抽出することを備えてよい。
歩数計数方法は、予め定められた歩数の歩行に対応するセンサ信号から抽出される特徴量に基づき、歩行動作をモデル化した歩行モデルを記憶することを備えてよい。
歩数計数方法は、特徴量と、歩行モデルとを比較することを備えてよい。
歩数計数方法は、比較結果に基づき、ユーザが予め定められた歩数を歩行したかを判定することを備えてよい。
（項目１０）
コンピュータに、項目１から８のいずれか一項に記載の歩数計数装置として機能させるプログラム。
【符号の説明】
【００７０】
１０  センサ、１００  歩数計数装置、１１０  取得部、１２０  推定部、１３０  抽出部、１４０  記憶部、１５０  比較部、１６０  判定部、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インターフェイス、２０４０  記憶部、２０５０  カードスロット、２０６０  入出力部、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  メモリカード、２０９５  コネクタ
【図１】
0006697567.tif 000002
【図２】
0006697567.tif 000003
【図３】
0006697567.tif 000004
【図４】
0006697567.tif 000005
【図５】
0006697567.tif 000006
【図６】
0006697567.tif 000007
【図７】
0006697567.tif 000008
【図８】
0006697567.tif 000009
【図９】
0006697567.tif 000010