(57)【特許請求の範囲】
【請求項１】
ヒトの行動をモニタする方法であって、
少なくとも１個所は脚部でない人体の複数の個所の１つに設置された慣性センサを使用して加速度をモニタする段階と、
前記加速度に基づいて複数のステップをカウントする段階と、
前記複数のステップの歩行特性を求める段階と、
前記慣性センサによって収集された検出ユーザデータに少なくとも部分的に基づいて、
一つ以上のユーザ属性を求める段階と、
歩幅と前記歩行特性との間の相関関係及び前記求められた一つ以上のユーザ属性を使用して、前記歩行特性から歩幅を求める段階であって、前記相関関係が前記求められた一つ以上のユーザ属性に少なくとも部分的に基づいている、段階と、
前記歩幅に基づいて、移動距離及び移動速度の少なくとも一方を求める段階と、
を含み、前記歩行特性が、所定の単一時間内に生じる歩数である歩調を含むことを特徴とする方法。
【請求項２】
前記歩幅を求める段階が、前記歩行特性に関連する歩幅をデータ構造内に位置付ける段階を含む、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記データ構造が複数の入力を含み、前記複数の入力の各々が、異なる歩幅を１又はそれ以上の異なる歩行特性に関連付け、
１又はそれ以上のユーザ属性を求める段階と、
前記複数の入力の１又はそれ以上を変更することにより、前記１又はそれ以上のユーザ属性に基づいて前記データ構造を修正して前記歩幅を較正する段階と、
をさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
１又はそれ以上のユーザ属性のユーザ入力を受け取る段階と、
前記１又はそれ以上のユーザ属性を使用して前記データ構造を生成する段階と、
をさらに含むことを特徴とする請求項２に記載の方法。
【請求項５】
距離情報を受け取る段階と、
前記受け取った距離情報に基づいて前記歩幅を自動的に較正する段階と、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記距離情報が、全地球測位システム（ＧＰＳ）データ、ネットワーク三角測量データ、又はユーザ入力のうち少なくとも１つに基づき、前記方法が、前記受け取った距離情報と前記求められた移動距離との間の差異に基づいて前記歩幅を調整する段階をさらに含む、
ことを特徴とする請求項５に記載の方法。
【請求項７】
心拍数センサから心拍数を受け取る段階と、
前記心拍数に基づいて前記移動距離に関する情報を判断する段階と、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
情報を判断する段階が、傾斜を判断する段階と、前記傾斜に基づいて歩幅対歩行特性の相関を調整する段階とを含む、
ことを特徴とする請求項７に記載の方法。
【請求項９】
前記移動距離及び移動速度を記憶済みのレースデータと比較して比較結果を生成する段階と、
前記比較結果を含むリアルタイムの成績表示を示す段階と、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記記憶済みのレースデータをサーバ及びモバイル機器の一方から受け取る段階をさらに含む、
ことを特徴とする請求項９に記載の方法。
【請求項１１】
比較段階の前に、前記移動距離、前記移動速度、前記記憶済みの移動距離、前記記憶済みの移動速度のうちの少なくとも１つを標準化する段階をさらに含む、
ことを特徴とする請求項９に記載の方法。
【請求項１２】
少なくとも１個所は脚部でない人体の複数の個所の１つから加速度をモニタするための慣性センサと、
前記慣性センサに結合されて、前記加速度に基づいて複数のステップをカウントするステップカウントロジックと、
前記ステップカウントロジックに結合されて、前記複数のステップの歩行特性を求める歩行ロジックと、
前記歩行ロジックに結合されて、前記歩行特性と前記慣性センサによって収集されたユーザデータに少なくとも部分的に基づいて求められたユーザ属性とに基づいて前記複数のステップの歩幅を求めるとともに、前記複数のステップに前記歩幅を適用して移動距離及び移動速度の少なくとも一方を求める距離ロジックと、
前記距離ロジックと接続されて距離情報を受け取るとともに、該受け取った距離情報に基づき且つ１又はそれ以上のユーザ属性に従って前記歩幅を自動的に較正する較正ロジックと、
を含み、前記歩行特性が、所定の単一時間内に生じる歩数である歩調を含むことを特徴とするモバイル装置。
【請求項１３】
前記ユーザの心拍数に基づいて前記移動距離に関する情報を判断するための前記距離ロジックをさらに含む、
ことを特徴とする請求項１２に記載のモバイル装置。
【請求項１４】
情報を判断する段階が傾斜を判断する段階を含み、前記装置が、前記傾斜に基づいて歩幅対歩行特性の相関を調整するための前記距離ロジックをさらに含む、
ことを特徴とする請求項１３に記載のモバイル装置。
【請求項１５】
前記移動距離及び前記移動速度を記憶済みのレースデータと比較して比較結果を生成するとともに、該比較結果を含むリアルタイムの成績表示を示すための競争ロジックをさらに含む、
ことを特徴とする請求項１２に記載のモバイル装置。
【請求項１６】
ユーザがタイムシフト競争を開始できるようにするための競争ロジックをさらに含む、
ことを特徴とする請求項１２に記載のモバイル装置。
【請求項１７】
命令を含む機械アクセス可能記憶媒体であって、前記命令は、機械により実行された場合に前記機械に、
少なくとも１個所は脚部でない人体の複数の個所の１つに設置された慣性センサを使用して加速度をモニタする段階と、
前記加速度に基づいて複数のステップをカウントする段階と、
前記複数のステップの歩行特性を求める段階と、
前記歩行特性を使用して、ユーザ属性によって修正された歩幅を求める段階であって、前記ユーザ属性が前記慣性センサによって収集されたユーザデータに少なくとも部分的に基づいて求められ、前記歩行特性に関連する歩幅をデータ構造内に位置付ける段階を含み、前記データ構造が複数の入力を含み、前記複数の入力の各々が、異なる歩幅を１又はそれ以上の異なる歩行特性に関連付け、１又はそれ以上のユーザ属性を求める段階と、前記複数の入力の１又はそれ以上を変更することにより、前記１又はそれ以上のユーザ属性に基づいて前記データ構造を修正して前記歩幅を較正する段階と、をさらに含む、前記歩幅を求める段階と、
心拍数センサから心拍数データを受け取る段階と、
前記心拍数データに少なくとも部分的に基づいて傾斜を判断し、且つ前記傾斜に基づいて歩幅対歩調の相関を調整する段階と、
前記傾斜に基づいて調整された前記歩幅に基づいて、移動距離及び移動速度の少なくとも一方を求める段階と、
を含み、前記歩行特性が、所定の単一時間内に生じる歩数である歩調を含む方法を実行させることを特徴とする機械アクセス可能記憶媒体。
【請求項１８】
前記方法が、１又はそれ以上のユーザ属性のユーザ入力を受け取る段階と、前記１又はそれ以上のユーザ属性を使用して前記データ構造を生成する段階とをさらに含む、
ことを特徴とする請求項１７に記載の機械アクセス可能記憶媒体。
【請求項１９】
前記方法が、距離情報を受け取る段階と、前記受け取った距離情報に基づいて前記歩幅を自動的に較正する段階とをさらに含む、
ことを特徴とする請求項１７に記載の機械アクセス可能記憶媒体。
【請求項２０】
前記距離情報が、全地球測位システム（ＧＰＳ）データ、ネットワーク三角測量データ、又はユーザ入力のうち少なくとも１つに基づき、前記方法が、前記受け取った距離情報と前記求められた移動距離との間の差異に基づいて前記歩幅を調整する段階をさらに含む、
ことを特徴とする請求項１９に記載の機械アクセス可能記憶媒体。
【請求項２１】
前記方法が、前記移動距離及び移動速度を記憶済みのレースデータと比較して比較結果を生成する段階と、前記比較結果を含むリアルタイムの成績表示を示す段階とをさらに含む、
ことを特徴とする請求項１７に記載の機械アクセス可能記憶媒体。
【請求項２２】
前記方法が、前記記憶済みのレースデータをサーバ及びモバイル機器の一方から受け取る段階をさらに含む、
ことを特徴とする請求項２１に記載の機械アクセス可能記憶媒体。
【請求項２３】
前記方法が、比較段階の前に、前記移動距離、前記移動速度、前記記憶済みの移動距離、前記記憶済みの移動速度のうちの少なくとも１つを標準化する段階をさらに含む、
ことを特徴とする請求項２２に記載の機械アクセス可能記憶媒体。
【請求項２４】
前記ユーザ属性がユーザの身長、体重、年齢及び運動能力の少なくとも１つを含むことを特徴とする請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はヒトの行動をモニタすることに関し、より詳細には、モニタしたヒトの行動に関して移動距離を正確に測定することに関する。
【背景技術】
【０００２】
微小電気機械システム（ＭＥＭＳ）技術の発達により、製造業者は、携帯用電子機器に適合するように大きさ、コスト、消費電力を十分に小さくした（加速度計などの）慣性センサを生産できるようになってきた。このような慣性センサは、携帯電話、携帯用音楽プレーヤ、万歩計、ゲームコントローラ、及びポータブルコンピュータなどの限られた数の市販の電子機器でしか見ることができない。
【０００３】
歩いた歩数を把握することによって個人の日常行動をモニタするために（万歩計などの）歩数カウント装置が使用される。一般に、歩数カウント装置はユーザの腰にクリップ留めされ、ユーザの身体の別の場所に設置した場合には正確にステップをカウントしない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願第１１／６４４，４５５号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
歩数カウント装置のなかには、（ユーザの靴の中などの）ユーザの身体の特定の個所に設置された慣性センサを含むものがある。足は１ステップごとに一度停止するので、ユーザの靴の中に設置された（フットポッドとして知られる）慣性センサを使用してユーザの速度及び距離を求めることができる。しかしながら、従来の装置は、ユーザの体の他の個所に設置された慣性センサに基づいて距離及び速度を正確に求めることができない。このような従来の装置は一般に歩いた歩数のみを測定する。
【課題を解決するための手段】
【０００６】
本発明は、限定ではなく例示として示すものであり、以下の詳細な説明を参照しながら以下の図面に関連して考察すればより十分に理解することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の１つの実施形態による電子機器を示すブロック図である。
【図２】本発明の１つの実施形態によるメモリを接続した運動プロセッサの詳細図を示すブロック図である。
【図３】本発明の１つの実施形態による行動モニタシステムのブロック図である。
【図４】本発明の１つの実施形態による、慣性センサを使用してヒトの行動をモニタする方法を説明するフロー図である。
【図５】本発明の別の実施形態による、慣性センサを使用してヒトの行動をモニタする方法を説明するフロー図である。
【図６】本発明のさらに別の実施形態による、慣性センサを使用してヒトの行動をモニタする方法を説明するフロー図である。
【図７Ａ】本発明の１つの実施形態による電子機器を較正する方法のフロー図である。
【図７Ｂ】本発明の別の実施形態による電子機器を較正する方法のフロー図である。
【図７Ｃ】本発明のさらに別の実施形態による電子機器を較正する方法のフロー図である。
【図８】本発明の１つの実施形態によるパフォーマンスデータを比較する方法のフロー図である。
【図９】本発明の１つの実施形態による例示的なコンピュータシステムの形の機械のブロック図である。
【発明を実施するための形態】
【０００８】
本発明の実施形態は、慣性センサを使用してヒトの行動をモニタするように設計される。１つの実施形態では、ヒトの体の複数の個所のうちの１つに設置した慣性センサから加速度がモニタされる。慣性センサを配置できる個所の例として、手首、腰、胸、頭、眼の近くなどが挙げられる。慣性センサからモニタされた加速度に基づいて、ステップがカウントされる。ステップの歩行特性を求め、これを使用して歩幅を求めることができる。１つの実施形態では、歩幅を求める段階が、１又はそれ以上の歩行特性に関連する歩幅をデータ構造内に位置付ける段階を含む。歩幅に基づいて、移動距離及び移動速度の少なくとも一方が求められる。
【０００９】
個人は、歩くため又は走るために、最初の足を持ち上げ、これを前方へ動かしてしっかりと立て、その後次の足に関して同じ一連の動作を繰り返す必要がある。比較的安定した速度で移動する特定の個人の場合、一連の歩く動作及び／又は走る動作の各々は、通常およそ同じ時間内に行われる。反復される動作のセットを１つの単位と考えることができ、これが動作サイクルを定める。１つの動作サイクルを完了するのにかかる時間が歩行周期を定め、所定の時間単位内に発生する動作サイクルの数が歩調を定める。一般に、歩調の増大は歩幅の増大を反映する。
【００１０】
図１は、本発明の１つの実施形態による電子機器１００を示すブロック図である。１つの実施形態では、電子機器１００は、１又はそれ以上の慣性センサを含む携帯用電子機器である。電子機器１００は、携帯電話、腕時計、ｍｐ３プレーヤ、携帯情報端末（ＰＤＡ）、携帯用ゲーム機、ラップトップコンピュータなどであってもよい。慣性センサは、単一の軸又は複数の軸に沿って加速度を測定することができ、線形加速度だけでなく回転（角）加速度を測定することもできる。別の実施形態では、１又はそれ以上の慣性センサが一体となって三次元加速度測定データを提供する。
【００１１】
電子機器１００を使用して、ユーザが歩いているか又は走っているかを識別するとともに、歩いた及び／又は走ったステップをカウントすることができる。１つの実施形態では、装置１００を設置したユーザの個所及び／又は方向にかかわらず、ステップを正確にカウントするとともに速度及び移動距離を正確に求めることもできる。別の実施形態では、電子機器１００が使用中に方向が一定を保つか又は方向が変化するかにかかわらず、ステップを正確にカウントするとともに速度及び距離を正確に求めることもできる。１つの実施形態では、電子機器１００が、ステップをカウントし、移動速度を求め、移動距離を求めるためなどの（サーバ又はモバイルコンピュータ装置などの）追加の装置及び／又はセンサと連動して動作する。
【００１２】
図１に示す実施形態の電子機器１００は、運動プロセッサ１２０と、慣性センサ１３５と、メモリ１１０と、無線プロトコル１２５と、１又はそれ以上の無線構成要素１５０とを備える。電子機器１００は、１又はそれ以上の追加センサ１４０と、競争ロジック１５５と、１又はそれ以上のフィードバック要素１６０と、ディスプレイドライバ１３０とをさらに備えることができる。
【００１３】
慣性センサ１３５は、加速度測定データ１７５を継続的に、或いは一定又は可変であってもよいサンプリングレートで生成することができる。１つの実施形態では、慣性センサ１３５がタイマ（図示せず）からタイミング信号を受け取ってサンプリングレートで測定を行う。１つの実施形態では、慣性センサ１３５が運動プロセッサ１２０に結合され、この運動プロセッサ１２０へ加速度測定データ１７５が送信されて処理される。一定又は可変であってもよい予め設定したサンプリングレートで運動プロセッサ１２０から加速度測定データ１７５を受け取ることもできる。１つの実施形態では、加速度測定データ１７５を記憶するために慣性センサ１３５がメモリ１１０と結合される。１つの実施形態では、バッファが加速度測定データ１７５を収集し、運動プロセッサ１２０がバッファ済みデータを計算に使用することができる。
【００１４】
運動プロセッサ１２０は、加速度測定データ１７５を処理してステップを検出することができる。１つの実施形態では、加速度測定データ１７５に一連の動作基準を適用してステップを検出する。動作基準として、（例えば、測定された加速度が第１の閾値よりも低く及び／又は第２の閾値よりも高い場合にステップをカウントできるような）加速度閾値、（例えば、加速度の現在の測定値が１又はそれ以上の以前に測定した加速度よりも高い又は低い場合にステップをカウントできるような）加速度比較要件、（例えば、ステップの加速度特性が以前のステップから測定したような一定の時間枠内で生じる場合にステップをカウントできるような）歩調ウィンドウ（ｃａｄｅｎｃｅ  ｗｉｎｄｏｗ）などを挙げることができる。１つの実施形態では、「ヒトの行動モニタ装置」という名称の同時係属中の米国特許出願第１１／６４４，４５５号に記載される方法を使用してステップを検出することができる。
【００１５】
１つの実施形態では、動作基準の各々が満たされた場合にステップを識別してカウントすることができる。或いは、十分な数の動作基準が満たされた場合にステップをカウントすることができる。１つの実施形態では、走行及び歩行に異なる動作基準のセットを適用することができる。例えば、第１の閾値及び第１の歩調ウィンドウを使用して、ユーザが走っている間にステップが生じたかどうかを判断することができ、第２の閾値及び第２の歩調ウィンドウを使用して、ユーザが歩いている間にステップが生じたかを判断することができる。
【００１６】
１つの実施形態では、１又はそれ以上の追加センサ１４０もデータを取得し、運動プロセッサ１２０、メモリ１１０及び／又はバッファへデータを送信する。１又はそれ以上の追加センサ１４０は、心電計（ＥＫＧ又はＥＣＧ）などの心拍数センサを含むことができる。運動プロセッサ１２０が、心拍数センサから得られた心拍数測定データを加速度測定データ１７５と組み合わせて、ユーザが歩いている又は走っている環境／地形について判断を行うことができる。例えば、ユーザの歩調は一定のままであり又は減少しているのにユーザの心拍数は上昇しているという場合には、ユーザが坂道又は階段を上り始めた（上り坂を進んでいる）と推測される。心拍数測定データがユーザの歩調データに較正されると、心拍数と歩調との間の相互作用に基づいて傾斜（勾配）を求めることができる。従って、例えば特定の歩調及び特定の心拍数から、ユーザが２〜３度の間の傾斜を上っていると判断することができる。図２に関連してさらに説明するように、例えば、圧力センサ、又は上った距離のユーザ入力を使用することによりこのような較正を行うことができる。
【００１７】
追加センサ１４０として、追加の慣性センサ、（高度計などの）圧力センサ、湿度センサ、静電容量センサ、（マイクなどの）音センサ、（温度計、サーミスタなどの）熱センサ、全地球測位システム（ＧＰＳ）、又は携帯装置に設置できる他のあらゆるセンサを挙げることもできる。このような追加センサを使用して、ユーザの移動する環境、地形、ユーザの体調及び／又は健康などに関する追加情報を求めることができる。１つの実施形態では、１又はそれ以上の追加センサ１４０が、一定又は可変であってもよい１又はそれ以上のサンプリングレートで測定を行う。１つの実施形態では、設定されるサンプリングレートが、加速度測定を行うときのサンプリングレートと同じである。或いは、１又はそれ以上の設定されるサンプリングレートは、加速度測定を行うときのサンプリングレートと異なるものであってもよい。
【００１８】
１つの実施形態では、電子機器１００が１又はそれ以上のフィードバック要素１６０を含む。フィードバック要素１６０は、電子機器１００の内部（例えば、その一部）又は外部（例えば、取り付けられていない）に存在してもよい。フィードバック要素１６０は、（ブザー、ビープ音、旋律、話し言葉などの）聴覚フィードバック、（点滅又は連続光、番号表示などの）視覚フィードバック、（振動、動き、又はわずかな衝撃などの）触覚フィードバックのうちの１又はそれ以上を提供することができる。フィードバックを使用して、例えばユーザに速度を上げ又は下げるように通知したり、ユーザに指定した時間が経過したことを通知したりなどを行うことができる。１つの実施形態では、ユーザフィードバックの種類及びユーザフィードバックをいつ行うかをユーザが選択できる。例えば、ユーザは、ユーザの心拍数が上限閾値を超えたら速度を落とすように、及びユーザの心拍数が下限閾値よりも下がったら速度を上げるように通知されるように選択を行うことができる。別の実施形態では、ユーザへのフィードバックは用途固有のものであってもよい。例えばユーザが競争中の場合、特定のフィードバックを使用してユーザに速度を上げるように促したり、及び（例えば、競争相手がユーザよりも先行しているのか、ユーザが競争相手よりも先行しているのかなどの）他の競争者と比較した場合のユーザの順位を知らせたりすることができる。
【００１９】
複数のフィードバック条件を同時にアクティブにすることもできる。例えば、ユーザは、走る速度が下限閾値を下回った場合に、及び心拍数が下限閾値を下回った場合にフィードバックを受け取るように選択を行うことができる。これにより、ユーザは運動強度をより正確に制御できるようになる。
【００２０】
１つの実施形態では、電子機器１００が、無線プロトコル１２５及び１又はそれ以上の無線構成要素１５０を含む。無線プロトコル１２５は、Ｂｌｕｅｔｏｏｔｈ、Ｚｉｇｂｅｅ、赤外線、無線周波数（ＲＦ）、パーソナルエリアネットワーク（ＰＡＮ）、又はその他のいずれの無線通信プロトコルであってもよい。或いは、電子機器１００は、ファイヤワイヤ、ユニバーサルシリアルバス（ＵＳＢ）などの有線プロトコル（図示せず）を含むことができる。１つの実施形態では、電子機器１００は、無線プロトコル１２５及び有線プロトコルの両方を含む。無線及び／又は有線プロトコルにより、電子機器１００がサーバ、モバイル機器、パーソナルコンピュータなどの追加装置と通信できるようになる。
【００２１】
１つの実施形態では、電子機器１００がディスプレイドライバ１３０を含む。ディスプレイドライバ１３０は、電子機器の内蔵ディスプレイ（図示せず）、又は有線又は無線接続を介して装置１００と接続できる外部ディスプレイ（図示せず）を制御することができる。
【００２２】
メモリ１１０は、（ランダムアクセスメモリ（ＲＡＭ）などの）１又はそれ以上の揮発性メモリ、（読み出し専用メモリ（ＲＯＭ）、又はフラッシュメモリなどの）不揮発性メモリ、ハードディスクドライブ、光学式ドライブなどを含むことができる。メモリ１１０は複数のメモリ、すなわちバッファとして使用されるＲＡＭメモリ、及びその他のデータの記憶に使用されるフラッシュメモリを含むことができる。１つの実施形態では、メモリ１１０が加速度測定データ１７５を記憶する。１つの実施形態では、メモリ１１０がレースデータ１１０を記憶する。図２に示すように、メモリ１１０は、１又はそれ以上のユーザの行動統計、歩幅の相関関係データ、及びユーザの属性を記憶することもできる。
【００２３】
データによっては、特定のフォーマットに変換でき、及び／又はこのフォーマットで記憶できるものもある。１つの実施形態では、フォーマットは、複数の異なるコンピュータ装置で読む込むことができる汎用フォーマットを含むことができる。レースデータ１８０の汎用フォーマットの例として、拡張マークアップ言語（ＸＭＬ）及び標準汎用マークアップ言語（ＳＧＭＬ）が挙げられる。
【００２４】
図１に戻ると、記憶されるレースデータ１８０は、他の電子機器により収集された速度及び距離データであってもよい。レースデータ１８０を使用して、複数のユーザが同じ場所にいなくても、また同じ時間に走っていなくても互いにレースの形で競うことができるようになる。１つの実施形態では、ユーザのシステムが他の競争者のレースデータを受け取る。レースデータ１８０を前もって収集し、直接又はサーバを介して電子機器１００のメモリ１１０へ転送することができる。或いは、異なる電子機器又はサーバから無線プロトコル１２５を介してレースデータ１８０をリアルタイムで受け取ることもできる。
【００２５】
１つの実施形態では、電子機器１００が競争ロジック１５５を含む。競争ロジック１５５は、運動プロセッサ１２０から（距離、歩数、速度などの）パフォーマンスデータを受け取り、このデータを、他の競争者から得られる記憶済みのレースデータ１８０と比較する。競争ロジック１５５は、異なる電子機器のユーザ間の競争への参加を開始し、及び／又はこれを可能にすることができる。競争はランニング競争及びウォーキング競争を含むことができ、これらの例として、一定の距離に関する最速時間、所定の時間における最長距離などが挙げられる。競争は、リアルタイム（ユーザが同時に走るか又は歩く）又は異なる時間（タイムシフト競争と呼ばれる）で行うことができる。タイムシフト競争では制限時間を設定することができ、この制限時間後に全ての競争者が競争を終了しているかいないかにかかわらず競争を終了することができる。
【００２６】
競争がリアルタイム競争であってもタイムシフト競争であっても、競争者は同じ又は異なる位置から競うことができる。例えば、第１のユーザが第１の場所で走ったときにレースデータ１８０を収集しておき、第２のユーザが第２の場所で走ったときにパフォーマンスデータを収集しておくことができる。
【００２７】
１つの実施形態では、レースデータ１８０及び／又は現在のパフォーマンスデータを標準化することができる。１つの実施形態では、標準化段階が、レースデータ１８０及び／又はパフォーマンスデータに補正率を適用する段階を含む。補正率は、例えば、ユーザの終了時間にある時間を加算すること、ユーザの終了に必要な距離からある距離を減算することなどを含むことができる。傾斜、気温、高度、年齢、運動能力などのいくつかの因子に基づいて、レースデータ１８０及びパフォーマンスデータを標準化することができる。例えば、第１のユーザが３度の傾斜を走り、第２のユーザが平地を走ったとした場合、標準化により、終了までの実効時間を第１のユーザのパフォーマンスデータから減算することができる。
【００２８】
１つの実施形態では、傾斜に基づいて標準化を行うかどうか及びどのように行うかを決定するために、圧力センサを使用して傾斜を検出することができる。或いは、較正された心拍数対歩調の相関関係を使用して、傾斜に対してどのように標準化を行うかを決定することができる。気温に対してどのように標準化を行うかを決定するためには温度計を使用することができ、高度に対してどのように標準化を行うかを決定するためには圧力センサを使用することができる。その他のセンサを使用して、追加の環境変数に対して標準化を行うこともできる。
【００２９】
１つの実施形態では、ユーザの年齢、運動能力、及び／又は過去の成績に基づいてレースデータ１８０及び／又はパフォーマンスデータを標準化することができる。このような標準化は、競争者の運動能力レベルにおける及び／又は過去の成績における差異に基づいて、１又はそれ以上の競争者に（時間又は距離などの）ハンデを与えることを含むことができる。従って、異なる能力レベルのユーザが互いに競争力を保つことができ、仮想レースの形で走ることができる。
【００３０】
競争ロジック１５５は、ユーザの現在の成績をレースデータ１８０とリアルタイムで比較することができる。従って、レースデータ１８０を時間移動して、全ての競争者が同じ時間にレースを開始したかのごとく表示されるようにすることができる。これによりユーザに実際のレースのようにフィードバックが提供され、ユーザが他の競争者に対して先行しているのか遅れているのかを知ることができるようになる。この結果、１又はそれ以上のフィードバック要素１６０から提供されるフィードバックにより、例えば勝つためにもっと速く走る必要がある、或いは別の競争者が追いついてきているという通知をユーザに行うことができる。このようにして、ユーザは競争全体を通じて自分の順位を知ることができる。
【００３１】
競争の参加者がリアルタイムで競争する（同時に競争する）場合、１つの実施形態では、競争者の電子機器間でレースデータ１８０を無線でストリーミングすることができる。ストリーミングは１又はそれ以上のサーバを介して行うこともでき、或いは電子機器間で直接行うこともできる。競争中、ユーザは、自分の成績と他の競争者の成績との比較を継続的に又は周期的に更新することができる。
【００３２】
ユーザが競争を完了すると、そのユーザのレースデータ１８０をサーバ又はその他の単複の電子機器に記録及び／又はアップロードすることができる。競争がタイムシフト競争の場合、他のユーザはアップロード済みのレースデータ１８０をダウンロードしてこれと競争することができる。
【００３３】
１つの実施形態では、ユーザは自身の過去のタイムと競争することもできる。レースデータ１８０は、ユーザの過去の（単複の）成績を示すことができる。これによりユーザはトレーニングし、向上を確認し、自分自身と競争できるようになる。
【００３４】
１つの実施形態では、運動プロセッサ１２０、ディスプレイドライバ１３０、無線プロトコル１２５及び競争ロジック１５５は、マイクロコントローラ１０５、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、又はその他の専用処理装置により実行される論理である。別の実施形態では、運動プロセッサ１２０、ディスプレイドライバ１３０、無線プロトコル１２５及び競争ロジック１５５のうちの１又はそれ以上は、中央処理装置により実行される論理であってもよい。或いは、運動プロセッサ１２０、ディスプレイドライバ１３０、無線プロトコル１２５及び競争ロジック１５５のうちの１又はそれ以上は、状態機械（例えば、一連の動作の実行方法がわかっている内部論理）、論理回路（例えば、時間内に一連のイベントを実行する論理、又は入力が変わるとすぐに出力が変わる論理）、又は状態機械と論理回路との組み合わせを含むことができる。１つの実施形態では、上述の要素の１又はそれ以上が、電子機器の一部ではなくサーバの一部であってもよい。１つの実施形態では、電子機器が慣性センサ及び通信機構のみを含み、全ての計算及び処理をサーバなどの遠隔装置において行うことができる。
【００３５】
図２は、メモリ２０２と接続された運動プロセッサ２００の詳細図を示すブロック図である。１つの実施形態では、運動プロセッサ２００及びメモリ２０２は、図１の運動プロセッサ１２０及びメモリ１１０に対応する。運動プロセッサ２００は、ステップカウントロジック２０５と、歩行ロジック２１０と、距離ロジック２１５と、属性ロジック２２５と、較正ロジック２２０とを含むことができる。メモリ２０２は、加速度測定データ２３０と、ユーザ行動統計２３５と、歩幅相関データ２４０と、ユーザ属性２５０とを含むことができる。１つの実施形態では、メモリ２０２を複数のメモリ要素及び／又はメモリタイプに渡って分散することができる。１つの実施形態では、メモリ２０２は、サーバ又は他の遠隔装置に記憶された遠隔メモリのほか、携帯用電子機器に内蔵されたメモリを含むことができる。
【００３６】
ユーザ行動統計２３５は、走行及び／又は歩行に関連する複数の統計を含むことができる。ユーザ行動統計の例として、最近のトレーニング、トレーニング当たりの移動距離、一日当たりの移動距離、平均速度、最高速度、移動面の平均傾斜、平均心拍数などに関するデータが挙げられる。
【００３７】
ユーザ属性２５０は、ユーザの体重、身長、年齢、性別、運動能力などを含むことができる。ユーザ属性を使用して、歩幅相関データ２４０を較正したり、消費カロリーを計算したり、ユーザの最大心拍数を求めたりなどを行うことができる。ユーザ属性は、ユーザが入力してもよく、他の情報源から取得してもよく、又は自動的に求められてもよい。
【００３８】
歩幅相関データ２４０は、ステップに関連する歩行特性に基づいて、このステップに特定の歩幅を割り当てることができる。歩行特性の例として、歩調、かかとの着地、及び加速度測定から導出できるその他の歩行特性が挙げられる。１つの実施形態では、歩幅相関データ２４０が、１又はそれ以上の歩行特性を入力として使用する際に特定の歩幅を識別する歩幅アルゴリズムを含む。例えば、毎分７０歩の歩調及び特定のかかとの着地が検出された場合、２フィートの歩幅が特定される。歩幅アルゴリズムは、ユーザ属性に応じて（例えばユーザの体重、身長、運動能力などに応じて）様々であってもよい。
【００３９】
１つの実施形態では、歩幅相関データ２４０が、（１０個の入力、２０個の入力、１００個の入力などの）入力の集合を有する（ルックアップテーブル、ツリーなどの）歩幅データ構造を含む。個々の入力は、特定の歩行特性のセットを特定の歩幅に関連付けることができる。例えば、データ構造は、毎分７０歩の歩調を２．６フィートの歩幅に関連付ける第１の入力、毎分１００歩の歩調を３フィートの歩幅に関連付ける第２の入力などを含むことができる。データ構造内の個々の入力をある範囲の歩行特性に関連付けることができる。従って、例えば、毎分５〜１０歩の歩調を入力内の２フィートの歩幅に全て関連付けることができる。データ構造の利用は、アルゴリズムの利用よりも計算能力が少なくてすむ。入力数が多くなるほどデータ構造はより正確になるが、より多くのメモリが必要となる可能性がある。
【００４０】
歩幅と歩行特性との間の相関関係は、ユーザが歩いているか又は走っているかに応じて異なる場合がある。従って、歩幅相関データ２４０は、２つの異なるセットの相関値、すなわち走行のための第１のセット、及び歩行のための第２のセットを含むことができる。第１の相関値のセットは、走行のアルゴリズム又はデータ構造を含むことができ、第２の相関値のセットは、歩行のアルゴリズム又はデータ構造を含むことができる。歩行データ構造は、走行データ構造よりも増分が小さいことによって区別される入力値を有することができる。例えば、歩行データ構造は毎時１０分の１マイルずつ増分する入力値を有することができ、走行のデータ構造は毎時５分の１マイルずつ増分する入力値を有することができる。１つの実施形態では、１つの実施形態において１ｍｐｈから５ｍｐｈの範囲に及ぶ個々の毎時１０分の１マイルを特定の歩行の歩幅に関連付けることができ、１つの実施形態において５ｍｐｈ及びそれ以上に及ぶ個々の毎時５分の１マイルを特定の走行の歩幅に関連付けることができる。
【００４１】
ステップカウントロジック２０５は、加速度測定データ１７５、及び／又は追加センサから受け取ったデータに基づいてステップをカウントすることができる。ステップは、加速度測定データ１７５を供給する慣性センサの方向にかかわらずカウントすることができ、慣性センサが一定の方向のままでも、或いはステップを測定する前、途中、後に慣性センサが方向を変えてもカウントすることができる。ステップが検出されると、これをユーザ行動統計２３５の１つとしてメモリ１１０に記録することができる。ステップをカウントする方法の１つの実施形態を、「ヒトの行動モニタ装置」という名称の同時係属の米国特許出願第１１／６４４，４５５号に見出すことができる。ステップをカウントする代替の方法を使用することもできる。
【００４２】
１つの実施形態では、歩行ロジック２１０がステップカウントロジック２０５と接続されて、ステップが検出されたときにステップの通知を受け取る。ステップカウントロジック２０５が歩行ロジック２１０にステップが生じた旨を通知すると、歩行ロジック２１０は、加速度測定データ１７５を分析し、これからステップを識別することができる。加速度測定データ１７５の分析に基づいて、歩行ロジック２１０はそのステップに関連する１又はそれ以上の歩行特性を求めることができる。
【００４３】
距離ロジック２１５は、歩行ロジック２１０と接続できるとともに、ステップの通知及びステップに関連する歩行特性を受け取ることができる。距離ロジック２１５は、歩行特性を、メモリ１１５に記憶された歩幅相関データ２４０と比較することができる。１つの実施形態では、歩行特性を歩幅相関データ２４０と比較する段階が、歩行特性を歩幅アルゴリズムへの入力として使用する段階を含む。別の実施形態では、歩行特性を歩幅相関データ２４０と比較する段階が、入力を歩幅データ構造内に位置付けて、この位置付けられた入力値に関連する歩幅を求める段階を含む。この比較に基づいて、距離ロジック２１５は、そのステップで移動する距離を求めることができる。１つの実施形態では、距離ロジックが、（２歩、４歩などの）歩数に関して歩行特性を平均し、この平均歩行特性を使用して歩幅を求める。複数のステップの歩幅を組み合わせて移動距離を求める。
【００４４】
１つの実施形態では、距離ロジック２１５が、１又はそれ以上の追加センサから追加センサデータを受け取る。距離ロジック２１５は、追加センサデータを分析して歩幅及び／又は移動距離に関する情報を判断することができる。例えば、距離ロジック２１５は、心拍数センサから心拍数データを受け取り、（心拍数対歩調の相関関係を適用することなどにより）この心拍数データを使用して距離が正の傾斜を含むか又は負の傾斜を含むかを判断することができる。
【００４５】
１つの実施形態では、移動距離の特性が変化したときに、（歩幅相関データ２４０を使用して求められた）追加センサデータを使用して歩幅対歩行特性の相関関係を調整する。例えば、ユーザの歩幅は、水平面を歩く場合、上り坂を歩く場合、下り坂を歩く場合で異なる可能性がある。（高度計、気圧計、ＧＰＳシステム、加速度計データ、又は心拍対歩調の相関関係などを使用して）傾斜が検出されると、歩幅相関データ２４０に調整係数を加えることができる。例えば、ユーザが上り坂を歩いていることが検出された場合、特定の歩行特性に関連する歩幅を短くすることができる。上り坂又は下り坂の移動が検出された場合、距離ロジック２１５は垂直移動距離をモニタすることもできる。
【００４６】
１つの実施形態では、運動プロセッサ１２０が属性ロジック２２５を含む。属性ロジック２２５は、ユーザの１又はそれ以上の属性を検出することができる。１つの実施形態では、ユーザの属性を検出する段階が、ユーザ属性２５０のユーザ入力を受け取る段階を含む。例えば、ユーザに、ユーザの体重、身長、性別、年齢、健康状態などを入力するように促すことができる。１つの実施形態では、このデータを他の情報源から取得することもできる。例えば、ユーザは、診療記録又はその他のこのようなデータ源にアクセスすることができる。或いは、属性ロジック２２５が、加速度測定データ１７５及び／又はユーザ行動統計２３５を分析して、ユーザの１又はそれ以上の特性を判定することができる。ユーザ属性２５０の分析及び／又は判定を周期的又は継続的に自動で行うことができる。或いは、（ユーザ又はトリガなどからの）較正コマンドの受け取り時に分析及び／又は判定を行うことができる。
【００４７】
１つの実施形態では、ユーザの身長及び体重が属性ロジック２２５により判定される。平均して、特定の身長及び体重のユーザは特定の歩行特性のセットを示す。例えば、一般に所定の速度では、個人の身長が高いほど歩調は遅くなり歩幅が長くなる。さらに、所定の速度では、体重が重い人の歩調は体重が軽い人の歩調よりも速くなる可能性もある。このような歩行特性を、記憶済みの加速度測定データから判定することができる。或いは、歩行特性の記録（図示せず）をメモリ１１５に保持することもできる。
【００４８】
１つの実施形態では、ユーザの運動能力が属性ロジック２２５により求められる。ユーザ行動統計２３５及び／又は加速度測定データ１７５を分析することにより、ユーザの運動能力を求めることができる。例えば、最近一週間、一ヶ月などを通じてユーザに関して記録された運動量を計算することにより、ユーザの運動能力を求めることができる。属性ロジック２２５は、トレーニングあたりの歩数、トレーニングあたりの平均距離、ある期間にわたるトレーニング回数、各トレーニングの持続時間などを考察することができる。１つの実施形態では、運動の強度、及び入手可能であれば運動に関連する心拍数データを使用して運動能力を求めることもできる。これらのユーザ行動統計２３５に基づいて、例えば、ユーザの一般的健康レベルを反映する数値を生成することができる。例えば、健康レベル１は、ユーザが頻繁に運動せず、一般的に不健康であることを示すことができる。一方で、健康レベル５は、ユーザが頻繁に運動し、一般的に健康であることを示すことができるのに対し、健康レベル１０はユーザがプロの運動選手であることを示すことができる。
【００４９】
属性ロジック２２５は、検出されたユーザ属性に基づいて記憶済みのユーザ属性２５０を修正することができる。記憶済みのユーザ属性２５０の入力が、検出されたユーザ属性と異なる場合、このような修正を行うことができる。１つの実施形態では、記憶済みのユーザ属性２５０が検出されたユーザ属性と少なくとも閾値量だけ異なる場合にユーザ属性が修正される。例えば、（例えば、体重２００ポンドで身長６フィートのユーザが、５００ポンド及び５フィートと入力された場合などの）誤った属性データが記憶されている場合、属性ロジック２２５は、歩行特性がこのようなユーザ属性と一致しないことを検出することができる。その後、属性ロジック２２５は、このような検出された誤った属性を調整することができる。属性ロジック２２５はまた、ユーザの体重が増加又は減少したとき、運動能力が向上したときなどに記憶済みのユーザ属性２５０に調整を加えることもできる。１つの実施形態では、このような不一致が検出された場合、属性ロジック２２５がユーザのために通知を生成し、ユーザにデータを修正するように促すことができる。
【００５０】
ユーザが最初に電子機器１００を使用する場合、歩幅相関データ２４０がこのユーザに対して較正されていないことがある。初めに、歩幅相関データ２４０は、デフォルトのデータ構造及び／又は歩行特性を歩幅に関連付けるアルゴリズムを含むことができる。１つの実施形態では、デフォルトのデータ構造及び／又はアルゴリズムは、（５フィート１０インチ、１８０ポンド、３０歳、平均的健康度などの）平均的な人物の歩行特性対歩幅を表す。ユーザが想定された平均的な人物から大きく異なるほど、測定された距離と実際の移動距離との間の逸脱が大きくなる。
【００５１】
較正ロジック２２０は、受け取った実際のデータに基づいて、歩幅相関データ２４０を較正（例えば、更新又は置換）して正確さを向上させることができる。１つの実施形態では、較正ロジック２２０が、受け取った及び／又は属性ロジック２２５が決定したユーザ属性に基づいて歩幅相関データ２４０を較正する。一般に、特定の（単複の）歩行特性を有するステップは、所定のユーザに関する特定の歩幅を有することができる。歩幅と歩行特性との間の関係に影響を及ぼす可能性のある因子として、ユーザの体重、身長、年齢、性別、運動能力などが挙げられる。従って、これらのユーザ属性２５０の１又はそれ以上が分かれば、ステップごとのより正確な歩幅を求めることができる。この結果、より正確な総移動距離及び移動速度を求めることができる。
【００５２】
別の実施形態では、較正ロジック２２０が、受け取った経験的距離情報に基づいて歩幅相関データ２４０を較正する。受け取った距離を歩行又は走行する間に、このような受け取った距離情報を収集した歩行特性と相関させることができる。その後、この相関を歩幅相関データ２４０と比較することができる。受け取った距離情報に基づく相関が歩幅相関データ２４０と一致しない場合、歩幅相関データ２４０を修正又は置換することができる。
【００５３】
受け取った距離情報をＧＰＳ装置から収集し、（携帯電話塔などの）ネットワーク三角測量を使用して収集し、ＲＦＩＤリーダ間の既知の距離、ユーザによる入力などに基づいて収集することができる。その後、較正ロジック２２０は、受け取った距離情報に基づいて歩幅相関データ２４０を自動的に較正することができる。１つの実施形態では、この較正は、分析される距離全体においてユーザが一定の歩調を維持することを必要とする。
【００５４】
１つの実施形態では、歩幅相関データ２４０を較正する段階が、データ構造生成アルゴリズムを使用して新しいデータ構造を生成する段階を含む。データ構造生成アルゴリズムは、ユーザ属性及び／又は受け取った距離情報に基づいて決定した歩調対歩調特性の相関を入力として使用することができる。従って、特定のユーザのユーザ属性に合わせた及び／又は取り込んだ特定のユーザの経験的データに基づく新しいデータ構造を作成することができる。新しいデータ構造内の個々の入力は、未較正のデータ構造内の入力よりもユーザにとって正確なものとすることができる。
【００５５】
別の実施形態では、歩幅相関データ２４０を較正する段階が、既存のデータ構造の入力を調整する段階を含む。このような調整は、（入力値を上下に調整することなどの）入力をシフトすること、（入力がより小さな範囲の歩行特性を表すようにすることなどの）入力を圧縮すること、（入力がより大きな範囲の歩行特性を表すようにすることなどの）入力を引き伸ばすこと、（入力に百分率又は倍率を乗算することなどの）入力を拡大縮小することなどを含むことができる。ユーザ属性の１又はそれ以上及び受け取った距離情報に基づいて決定される歩調対歩行特性の相関に基づいて調整を行うことができる。例えば、ユーザが１マイル歩いたのに１．５マイルが測定された場合、入力に全体的シフトを加えることができる。このような全体的シフトは、入力を下方にシフトして実際の歩幅がデータ構造が示す歩幅よりも短いことを反映するようにする段階を含むことができる。或いは、データ構造内のいくつかの入力のみが誤っている場合、これらの入力のみをシフトすることができる。
【００５６】
さらに別の実施形態では、歩幅相関データ２４０を較正する段階が、歩幅アルゴリズムを修正する段階を含む。ユーザ属性に適用する定数及び／又は変数を修正することができる。さらに、受け取った距離情報に基づいて決定される歩幅対歩行特性の相関に基づいてアルゴリズムに調整を行うことができる。
【００５７】
１つの実施形態では、（ユーザ属性が最初に検出されたときなどの）歩幅相関データが最初に較正されたときに新しいデータ構造が生成され、その後の較正ではこの新しいデータ構造が調整される。
【００５８】
歩幅相関データ２４０を較正することに加え、較正ロジック２２０は傾斜相関データ（図示せず）を較正することもできる。傾斜相関データは、心拍数と歩調との組み合わせに傾斜を相関させることができる。従って、例えば特定の傾斜及び特定の心拍数が検出された場合、傾斜を予測することができる。１つの実施形態では、時間に伴う心拍数対歩調の変化を比較することにより傾斜が予測される。従って、例えば心拍数対歩調比が特定の量だけ増加した場合、ユーザが歩いている又は走っている傾斜が、この比率の増加に対応する量だけ変化したと判断することができる。較正ロジックに利用可能な加速度測定データ及び／又は心拍数データが多いほど、傾斜相関データの較正をより正確なものにすることができる。
【００５９】
較正ロジック２２０は、傾斜調整係数（図示せず）をさらに較正することができる。傾斜が検出された場合、歩調相関データに傾斜調整係数を加えることができる。例えば、ユーザが上り坂を歩く場合、ユーザは水平な地形上を歩くときよりも小さな歩幅をとる傾向にある。傾斜調整係数を使用して、この歩幅の違いを考慮することができる。歩幅相関データ２４０に適用される傾斜調整係数の値は、傾斜の程度及びユーザ属性に依存することができる。傾斜調整係数は、歩幅相関データ２４０を参照しながら上述したように較正することができる。傾斜調整係数を、図１に関して上述した競争ロジック１５５で使用して距離を標準化することもできる。
【００６０】
図３は、本発明の１つの実施形態による行動モニタシステム３００のブロック図である。行動モニタシステム３００は、このシステムに接続された１又はそれ以上のユーザの行動をモニタすることができる。このようなユーザの行動の記録を行動モニタシステム３００により保持することができ、またこれを他のユーザの行動と比較することができる。１つの実施形態では、行動モニタシステム３００が、第１のモバイル機器３０５と、サーバ３１０と、第２のモバイル機器３２０とを含む。別の実施形態では、行動モニタシステム３００がサーバ３１０を含まなくてもよい。さらに別の実施形態では、行動モニタシステム３００が、図示よりも多くの又は少ない数のモバイル機器を含むことができ、また２以上のサーバを含むこともできる。
【００６１】
図示の実施形態では、第１のモバイル機器３０５、第２のモバイル機器３２０及びサーバ３１０がネットワーク３２５を介して接続され、このネットワークは（インターネットなどの）公衆ネットワークであっても、又は（ローカルエリアネットワーク（ＬＡＮ）、イントラネットなどの）私設ネットワークであってもよい。或いは、装置間で直接（例えば、モバイル機器間で直接、又はサーバ３１０とモバイル機器との間で直接）接続を確立することもできる。Ｂｌｕｅｔｏｏｔｈ、無線周波数（ＲＦ）、無線ローカルエリアネットワーク（ＷＬＡＮ）、赤外線、移動通信用広域システム（ＧＳＭ）を含むセルラネットワーク、符号分割多元接続（ＣＤＭＡ）、ｉｎｔｅｇｒａｔｅｄ  ｄｉｇｉｔａｌ  ｅｎｈａｎｃｅｄ  ｎｅｔｗｏｒｋ（ｉＤＥＮ）などのあらゆる無線データ転送プロトコルを使用して（装置間で直接又はネットワーク３２５を介して）無線接続を確立することができる。ファイヤワイヤ、イーサネット、ユニバーサルシリアルバス（ＵＳＢ）などを使用して有線接続を確立することもできる。
【００６２】
第１のモバイル機器３０５及び第２のモバイル機器３２０は、他の装置への（無線又は有線）接続を確立できるいずれの電子機器であってもよい。１つの実施形態では、第１のモバイル機器３０５及び第２のモバイル機器３２０が図１の電子機器１００に対応する。
【００６３】
図３を参照すると、サーバ３１０は、パーソナルコンピュータ（デスクトップ又はラップトップ）、ネットワークサーバ、ゲームキオスクなどであってもよい。サーバ３１０は、第１のモバイル機器３０５、第２のモバイル機器３２０及び／又は追加のモバイル機器（図示せず）から、ユーザ行動統計、歩行特性、加速度測定データなどを受け取ることができる。このようなデータをデータベース３１５に記憶することができる。データベース３１５は、歩幅相関データ、歩行特性、ユーザ行動統計などの幅広いユーザベースを含むことができる。
【００６４】
統計分析を通じて、歩幅対歩行特性データを決定及び／又は精密化することができる。追加データをデータベース３１５に加えると、モバイル機器のための歩幅相関データの生成に使用するアルゴリズムを改善することができる。このような改善されたアルゴリズムをモバイル機器に周期的にダウンロードして装置を更新することができる。或いは、例えば（同じユーザ属性の他のユーザから収集されたデータなどの）第１のモバイル機器３０５のユーザに関連するデータベース３１５に記憶されたデータを使用して、第１のモバイル機器３０５のユーザに対して固有のアルゴリズム又は（ルックアップテーブルなどの）データ構造を更新することができる。アルゴリズム又はデータ構造を更新するために、関連するデータを第１のモバイル機器３０５にダウンロードすることができる。１つの実施形態では、新しい更新が可能になると、第１のモバイル機器３０５が自動的に更新される。或いは、ユーザの更新コマンドに基づいて更新を開始することもできる。
【００６５】
第１のモバイル機器３０５及び第２のモバイル機器３２０は、図１の競争ロジック１５５を参照しながら上述したように競争の参加者であってもよい。競争は、例えばランニング競争、ウォーキング競争等であってもよく、ライブ競争又はタイムシフト競争であってもよい。競争がライブ競争である場合、競争中に第１のモバイル機器３０５と第２のモバイル機器３２０との間でレースデータをストリーミングすることができる。競争がタイムシフト競争である場合、（第１のモバイル機器３０５のユーザなどの）第１のユーザが自身の競争の部分を終了すると、終了した競争の部分に基づくレースデータをサーバ３１０及び／又は第２のモバイル機器３２０にアップロードすることができる。その後、第２のモバイル機器３２０の第２のユーザが、自身の競争の部分を終了したときに、自身のパフォーマンスデータとダウンロードしたレースデータとを比較できるようになる。
【００６６】
図４は、本発明の１つの実施形態による慣性センサを使用してヒトの行動をモニタする方法４００のフロー図である。この方法は、（回路、専用ロジック、プログラム可能ロジック、マイクロコードなどの）ハードウェア、（処理装置上で実行される命令などの）ソフトウェア、又はこれらの組み合わせを含むことができる処理ロジックにより実行することができる。１つの実施形態では、方法４００が図１の電子機器１００により実行される。
【００６７】
図４を参照すると、方法４００は加速度をモニタする段階（ブロック４０５）から開始する。加速度をモニタする段階は、１又はそれ以上の慣性センサ及び／又はその他の加速度モニタ装置から加速度測定データを取得する段階を含むことができる。ブロック４１０において、加速度を処理して歩数をカウントする。加速度測定データにより１又はそれ以上の動作基準が満たされたときに歩数をカウントすることができる。
【００６８】
ブロック４１５において、カウントした歩数に関連する歩行特性が求められる。歩行特性を求める段階は、加速度測定データを調べて、歩調、かかとの着地、足の持ち上げなどのうちの１又はそれ以上を求める段階を含むことができる。
【００６９】
ブロック４２０において、求められた歩行特性に基づいてステップの歩幅が求められる。１つの実施形態では、歩行特性が歩幅アルゴリズムへの入力として使用され、この出力が歩幅となる。別の実施形態では、求められた歩行特性を特定の歩幅に関連付ける（ルックアップテーブルなどの）データ構造内の入力が位置付けられる。関連する歩幅はステップの歩幅であってもよい。
【００７０】
ブロック４２５において移動距離が求められる。移動距離は、カウントされた歩幅を加算することにより求めることができる。ブロック４３０において移動速度が求められる。移動速度は、平均移動速度、現在の移動速度などを含むことができる。移動速度は、移動距離を時間で除算することにより求めることができる。１つの実施形態では、総移動距離を保持するために、この処理がユーザの歩調及びその他の機能をモニタし続ける。１つの実施形態では、ユーザが移動距離及び移動速度にアクセスすることができる。１つの実施形態では、総移動距離が毎日、毎週、及びその他の適当な基準で保持される。１つの実施形態では、平均速度も毎日、毎週、及びその他の適当な基準で保持される。
【００７１】
図５は、本発明の別の実施形態による慣性センサを使用してヒトの行動をモニタする方法５００のフロー図である。この方法は、（回路、専用ロジック、プログラム可能ロジック、マイクロコードなどの）ハードウェア、（処理装置上で実行される命令などの）ソフトウェア、又はこれらの組み合わせを含むことができる処理ロジックにより実行することができる。１つの実施形態では、方法５００が図１の電子機器１００により実行される。
【００７２】
図５を参照すると、方法５００は、１又はそれ以上のユーザ属性を決定する段階から開始する（ブロック５０２）。ユーザ属性は、体重、身長、性別、年齢、運動能力などを含むことができる。１つの実施形態では、１又はそれ以上のユーザ属性がユーザにより入力される。別の実施形態では、１又はそれ以上のユーザ属性が（図２の属性ロジック２２５などにより）自動的に検出される。ユーザ属性は、記憶済みの加速度測定データ及び／又はユーザ行動統計に基づいて決定することができる。１つの実施形態では、属性が別の情報源から取得され、ダウンロードされる。
【００７３】
ブロック５０５においてデータ構造が取得される。このデータ構造は、複数の入力を含むルックアップテーブルであってもよい。個々の入力は、１又はそれ以上の歩行特性を特定の歩幅に関連付けることができる。１つの実施形態では、データ構造がサーバ又はその他のコンピュータ装置から受け取られる。或いは、データ構造を生成することもできる。１つの実施形態では、決定されたユーザ属性に固有のデータ構造を生成するデータ構造アルゴリズムによりデータ構造が生成される。
【００７４】
ブロック５１０において加速度がモニタされる。ブロック５１５において、加速度を処理して歩数をカウントする。ブロック５２０において、カウントされた歩数に関連する歩行特性が求められる。ブロック５２５において、決定された歩行特性に関してデータ構造内の入力が位置付けられる。ブロック５３０において、データ構造内で位置付けられた入力に基づいて歩幅が求められる。ブロック５３５において移動距離が求められる。ユーザが動くのをやめるまで、この方法は、加速度をモニタし、歩数をカウントし、移動距離を計算し続ける。１つの実施形態では、累積距離が日々保持される。
【００７５】
図６は、本発明のさらに別の実施形態による慣性センサを使用してヒトの行動をモニタする方法６００のフロー図である。この方法は、（回路、専用ロジック、プログラム可能ロジック、マイクロコードなどの）ハードウェア、（処理装置上で実行される命令などの）ソフトウェア、又はこれらの組み合わせを含むことができる処理ロジックにより実行することができる。１つの実施形態では、方法６００が図１の電子機器１００により実行される。
【００７６】
図６を参照すると、方法６００は、加速度をモニタする段階から開始する（ブロック６０２）。加速度をモニタする段階は、１又はそれ以上の慣性センサ及び／又はその他の加速度モニタ装置から加速度測定データを取得する段階を含むことができる。
【００７７】
ブロック６０５において、追加センサから追加センサデータが受け取られる。１つの実施形態では、（ＥＫＧなどの）心拍数センサから心拍数データが受け取られる。或いは、（高度計、温度計、サーミスタ、磁力計などの）その他のセンサから（圧力、温度、方向などの）その他のセンサデータを受け取ることができる。
【００７８】
ブロック６１０において、加速度を処理して歩数をカウントする。加速度測定データにより１又はそれ以上の動作基準が満たされたときにステップをカウントすることができる。
【００７９】
ブロック６１５において移動距離が求められる。移動距離を求める段階は、カウントされたステップに関連する歩行特性を求める段階を含むことができる。次に、システムは歩幅を計算することができ、歩数及び歩幅に基づいて移動距離が計算される。
【００８０】
ブロック６２０において、追加センサデータを使用して、移動距離に関する追加情報を判断する。例えば、ユーザの歩調が一定のままであり又は遅くなったのに心拍数が増加した場合、移動距離は傾斜におけるものであったと判断することができる。或いは、傾斜及び／又は高度を求め、圧力センサに基づいて距離と関連付けることができる。センサの異なる組み合わせを使用してその他の情報を導き出すこともできる。
【００８１】
追加センサデータを使用して移動距離を調整することもできる。１つの実施形態では、追加センサデータを使用して傾斜を求める。その後、この傾斜を使用して、求められた傾斜で踏み出されたステップに関連する歩幅を調整することができる。次に、この調整が移動距離に対して行われる。この処理は、ユーザの歩調が変化するか又はユーザが動くのをやめるまで継続される。その後処理は終了する。
【００８２】
図７Ａは、本発明の１つの実施形態による電子機器を較正する方法７００のフロー図である。この方法は、（回路、専用ロジック、プログラム可能ロジック、マイクロコードなどの）ハードウェア、（処理装置上で実行される命令などの）ソフトウェア、又はこれらの組み合わせを含むことができる処理ロジックにより実行することができる。１つの実施形態では、方法７００が図１の電子機器１００により実行される。
【００８３】
図７Ａを参照すると、方法７００は、較正モードを開始する段階から開始する（ブロック７０６）。較正モードは、ユーザにより、又は１又はそれ以上の較正トリガに基づいて自動的に開始することができる。例えば、（毎日、毎週、又は毎月、１００００歩カウントごとなどの）周期的に較正を自動で開始することができる。別の例では、（ＲＦＩＤリーダが検出されたり、ＧＰＳ信号が検出されたり、セルラ信号が検出されたりなどの）外部較正データ提供装置が検出されたときに較正を自動的に開始することができる。
【００８４】
ブロック７１０においてステップがカウントされる。ステップは、慣性センサにより収集される加速度測定データに基づいてカウントすることができる。ブロック７１６において、そのステップの歩行特性が求められる。ブロック７１８では、ステップに関して第１の歩幅が求められる。これとは別に、或いはこれに加えて、ステップの第１の速度を求めることができる。第１の速度は、歩幅を動作時間と比較することにより求めることができる。１つの実施形態では、第１の速度は、ユーザが動いている間に測定されたステップの各々に関連する速度を平均した平均速度である。
【００８５】
ブロック７２０において、実際の移動距離に関して距離情報が受け取られる。距離情報は、ユーザが入力することができる。或いは、ＧＰＳ信号、ネットワーク三角測量などの１又はそれ以上に基づいて、距離情報を自動的に受け取ることもできる。ブロック７２６において、受け取った移動距離をカウントした歩数で除算してステップの第２の歩幅を求める。これとは別に、或いはこれに加えて、受け取った移動距離を動作時間で除算することにより第２の速度を求めることができる。
【００８６】
ブロック７３０において、十分な歩幅及び／又は速度が求められたかどうかが判断される。１つの実施形態では、歩幅相関データを較正するために少なくとも２つの異なる歩幅及び／又は速度を求める必要がある。従って、ユーザは一定の距離を少なくとも２回、それぞれ異なる歩幅及び／又は速度で歩くことができる。これにより、追加の歩幅を外挿及び／又は内挿するのに十分な歩幅相関データを得ることができる。１つの実施形態では、単一の歩幅及び／又は速度しか求めなくてよい。十分な歩幅及び／又は速度が求められていなければ、方法はブロック７１０へ戻りステップのカウントを継続する。十分な歩幅及び／又は速度が求められていれば、方法はブロック７３５へ進む。
【００８７】
ブロック７３５において、（歩幅相関データに基づく）第１の歩幅を（受け取った距離情報に基づく）第２の歩幅と比較することができる。これとは別に、或いはこれに加えて、第１の速度を第２の速度と比較することができる。第１の歩幅が第２の歩幅と一致し、及び／又は第１の速度が第２の速度と一致した場合、調整は必要なく、方法は終了する。第１の歩幅が第２の歩幅と一致せず、及び／又は第１の速度が第２の速度と一致しない場合、方法はブロック７３８へ進む。
【００８８】
ブロック７３８において、第１の歩幅（歩幅相関データに基づく歩幅）と第２の歩幅（受け取った距離情報に基づく歩幅）との差分に基づいて歩幅相関データが更新（調整）される。これとは別に、或いはこれに加えて、第１の速度と第２の速度との差分に基づいて歩幅相関データを更新することができる。１つの実施形態では、歩幅相関データ２４０が、最初の計算でシステムが使用した第１の歩幅及び／又は速度に関連する歩行特性に関してのみ更新される。別の実施形態では、内挿及び／又は外挿された歩幅及び／又は速度に基づいて、他の歩行特性に関する歩幅相関データを更新することもできる。例えば、測定された全ての第１の歩幅が全ての第２の歩幅よりも０．１フィート短い場合、（歩幅データ構造内の全ての入力などの）全ての歩幅を０．１フィート増加させることができる。さらに、測定された全ての第１の速度が第２の速度よりも０．５ｍｐｈ速い場合には、第１の速度が０．５ｍｐｈ減るように全ての歩幅を調整することができる。１つの実施形態では、歩幅相関データを更新する段階が、データ構造内の入力を更新する段階を含む。或いは、歩幅相関データを更新する段階が、１又はそれ以上の歩行特性を入力として取り込み、出力として歩幅を生成する歩幅アルゴリズムを更新する段階を含むことができる。
【００８９】
ブロック７４０において、１つの実施形態では、求められた歩幅、歩行特性及び／又は移動距離がサーバへ転送される。１つの実施形態では、データ構造の調整が必要なければ、確認メッセージのみがサーバへ送信される。サーバは、この調整情報を歩幅対歩行特性データのデータベースに加えることができる。
【００９０】
図７Ｂは、本発明の別の実施形態による電子機器を較正する方法７５０のフロー図である。この方法は、（回路、専用ロジック、プログラム可能ロジック、マイクロコードなどの）ハードウェア、（処理装置上で実行される命令などの）ソフトウェア、又はこれらの組み合わせを含むことができる処理ロジックにより実行することができる。１つの実施形態では、方法７５０が図１の電子機器１００により実行される。
【００９１】
図７Ｂを参照すると、方法７５０は、記憶済みのユーザ行動統計及び／又は加速度測定データを受け取る段階から開始する（ブロック７５５）。ユーザ行動統計は、（合計、１日毎、一週間毎などの）歩数、移動距離、運動の頻度などを含むことができる。
【００９２】
ブロック７６０において、記憶済みのユーザ行動統計及び／又は加速度測定データに基づいて１又はそれ以上のユーザ属性が求められる。１つの実施形態では、おおよそのユーザの身長、ユーザの体重、ユーザの性別などが求められる。別の実施形態では、ユーザの運動能力レベルが求められる。
【００９３】
ブロック７６５において、求められたユーザ属性、及び歩調に基づいて歩幅が自動的に較正される。歩調は、図２の較正ロジック２２０を参照しながら上述したように調整することができる。その後この方法は終了する。
【００９４】
図７Ｃは、本発明のさらに別の実施形態による電子機器を較正する方法７７０のフロー図である。この方法は、（回路、専用ロジック、プログラム可能ロジック、マイクロコードなどの）ハードウェア、（処理装置上で実行される命令などの）ソフトウェア、又はこれらの組み合わせを含むことができる処理ロジックにより実行することができる。１つの実施形態では、方法７７０が図１の電子機器１００により実行される。
【００９５】
図７Ｃを参照すると、方法７７０は、サーバから較正データを受け取る段階から開始する（ブロック７７５）。較正データは、歩幅相関データ構造を生成するためのアルゴリズム、歩幅を求めるためのアルゴリズム、及び各々が１又はそれ以上の歩行特性を歩幅に関連付ける複数の入力を有するデータ構造のうちの１又はそれ以上を含むことができる。或いは、較正データは、歩行特性に関連する歩幅を求めるのに使用するアルゴリズム又はデータ構造に適用するための１又はそれ以上の補正率を含むことができる。
【００９６】
ブロック７８０において、受け取った較正データに基づいて歩幅が自動的に較正される。歩幅を較正する段階は、既存のアルゴリズム及び／又はデータ構造を置換する段階を含むことができる。或いは、歩幅を較正する段階は、（補正率を適用するなどして）既存のアルゴリズム及び／又はデータ構造を更新する段階を含むことができる。
【００９７】
図８は、本発明の１つの実施形態によるパフォーマンスデータを比較する方法８００のフロー図である。１つの実施形態では、パフォーマンスデータを比較して、レースにおける競争者の順位を求める。この方法は、（回路、専用ロジック、プログラム可能ロジック、マイクロコードなどの）ハードウェア、（処理装置上で実行される命令などの）ソフトウェア、又はこれらの組み合わせを含むことができる処理ロジックにより実行することができる。１つの実施形態では、方法８００が図１の電子機器１００により実行される。
【００９８】
図８を参照すると、方法８００は、レースデータを受け取る段階から開始する（ブロック８０５）。レースデータは、１又はそれ以上のユーザの１又はそれ以上の電子機器から収集した距離及び／又は速度データを含むことができる。レースデータは、サーバ又は別のモバイル機器から受け取ることができる。
【００９９】
ブロック８１０において、パフォーマンスデータが収集される。パフォーマンスデータは、現在使用中の電子機器によって収集した距離及び／又は速度データを含むことができる。
【０１００】
ブロック８１５において、レースデータ及びパフォーマンスデータの１又はそれ以上が標準化される。データを標準化する段階は、データに変更子又はオフセットを適用する段階を含むことができる。傾斜、高度、温度などに関してレースデータ及びパフォーマンスデータを標準化することができる。これにより、異なる競争者が異なる場所において異なる地形特性で異なる時間に競争した場合でも競争が公平性を保つことが確実になる。１つの実施形態では、標準化は、相対的運動能力、身長、年齢、及びその他のユーザ属性に対する調整をさらに含むことができる。
【０１０１】
ブロック８２０において、現在のユーザのパフォーマンスデータがレースデータと比較される。ブロック８２５において、リアルタイムの成績表示が示される。リアルタイムの成績表示は、ディスプレイ内に、又は１又はそれ以上のフィードバック要素を介して示すことができる。例えば、聴覚又は触覚フィードバックを使用して、ユーザが遅れていること、別の競争者に先行していることなどをユーザに通知することができる。
【０１０２】
ブロック８３０において、パフォーマンスデータが転送される。これは、ユーザが（レースを終了した後などの）競争を終了した後に行うことができる。或いは、パフォーマンスデータを収集したときにストリーミングすることもでき、又は周期的に転送することもできる。パフォーマンスデータをモバイルコンピュータ装置及び／又はサーバへ転送することができる。１つの実施形態では、他の競争者がパフォーマンスデータを利用できるようにして、これらの競争者がリアルタイム競争又はタイムシフト競争においてこのデータと競争できるようにする。その後この方法は終了する。
【０１０３】
図９は、本明細書で説明した方法のいずれかの１又はそれ以上を機械に行わせるための命令セットを実行することができる例示的なコンピュータシステム９００の形の機械のブロック図である。例示的なコンピュータシステム９００は、処理装置（プロセッサ）９０５と、（読み出し専用メモリ（ＲＯＭ）、記憶装置、スタティックメモリなどの）メモリ９１０と、入力／出力９１５とを含み、これらはバス９２０を介して互いに通信する。本発明の実施形態は、コンピュータシステム９００により、及び／又は追加のハードウェア構成要素（図示せず）により実行することができ、或いは機械実行可能命令の形で具体化し、これを使用して、この命令でプログラムした場合に上述した方法をプロセッサ９０５に実行させることができる。或いは、ハードウェア及びソフトウェアの組み合わせによって方法を実行することもできる。
【０１０４】
処理装置９０５は、マイクロプロセッサ、又は中央処理装置などの１又はそれ以上の汎用処理装置を表す。より具体的には、処理装置９０５は、複合命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、又はその他の命令セットを実行するプロセッサ又は命令セットの組み合わせを実行するプロセッサであってもよい。処理装置９０５はまた、特定用途向集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、又はネットワークプロセッサなどの１又はそれ以上の専用処理装置であってもよい。
【０１０５】
本発明は、メモリ９１０に記憶できるコンピュータプログラム製品又はソフトウェアとして実現することができる。メモリ９１０は、命令を記憶した機械可読媒体を含むことができ、これを使用して、例示的なコンピュータシステム９００（又はその他の電子機器）を、本発明による処理を実行するようにプログラムすることができる。例示的なコンピュータシステム９００（又はその他の電子機器）をプログラムするための命令を記憶できるその他の機械可読媒体として、以下に限定されるわけではないが、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、及び光磁気ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光カード、フラッシュメモリ、又は電子命令の記憶に適したその他の種類の媒体又は機械可読媒体が挙げられる。
【０１０６】
入力／出力９１５は、追加の装置及び／又は構成要素との通信を提供することができる。１つの実施形態では、入力／出力９１５は、例えば、ネットワークコンピュータ、サーバ、モバイル機器などへデータを転送し、及びこれらからデータを受信することができる。
【０１０７】
上記の説明では、本発明の完全な理解を提供するために、特定のシステム、言語、構成要素などの例のような数多くの特定の詳細を記載した。しかしながら、本発明を実施するためにこれらの特定の詳細を使用する必要はないことが当業者には明らかであろう。他の例では、本発明を不必要に曖昧にしないために、周知の材料又は方法については詳細に説明していない。
【０１０８】
上記明細書では、本発明の例示的な実施形態を参照しながら本発明について説明した。しかしながら、添付の特許請求の範囲に記載する本発明の範囲から逸脱することなく本発明に様々な修正又は変更を加えることができることが明らかであろう。従って、明細書及び図面については、限定的な意味ではなく例示的な意味で受け止めるべきである。
【符号の説明】
【０１０９】
１００  電子機器
１１０  マイクロコントローラ
１１０  メモリ
１２０  運動プロセッサ
１２５  無線プロトコル
１３０  ディスプレイドライバ
１３５  慣性センサ
１４０  追加センサ
１５０  無線構成要素
１５５  競走ロジック
１６０  フィードバック要素
１７５  加速度測定データ
１８０  レースデータ
【図１】
0005591699.tif 000002
【図２】
0005591699.tif 000003
【図３】
0005591699.tif 000004
【図４】
0005591699.tif 000005
【図５】
0005591699.tif 000006
【図６】
0005591699.tif 000007
【図７Ａ】
0005591699.tif 000008
【図７Ｂ】
0005591699.tif 000009
【図７Ｃ】
0005591699.tif 000010
【図８】
0005591699.tif 000011
【図９】
0005591699.tif 000012