(57)【要約】  水泳セッションの間におけるユーザの動きを分析するシステム及び方法が記載される。１つ以上の動きセンサはユーザの動きデータを収集することができる。プロセッサ回路は動きデータに基づき動きの分析を行うことができる。プロセッサ回路は、ユーザの腕の振りが本当の水泳ストロークであるかどうかを決定することができる。プロセッサ回路はまた、ユーザが泳いでいるのか、それともターンしているのかを決定することができる。プロセッサ回路はまた、ユーザの水泳ストロークスタイルを分類することができる。プロセッサ回路はまた、ユーザの水泳ストローク局面を決定することができる。プロセッサ回路はまた、ユーザのストローク軌道の一貫性を決定することができる。
2019534721.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの腕の動きを決定する際のウェアラブルデバイスの精度を改善する方法であって、前記方法は、
ウェアラブルデバイスのプロセッサ回路によって、前記ウェアラブルデバイスの１つ以上の動きセンサからの動きデータを受信することであって、前記１つ以上の動きセンサは加速度計又はジャイロスコープのうちの少なくとも一方を含む、ことと、
前記プロセッサ回路によって、前記動きデータを用いて、前記動きデータに基づき座標系において表される回転データを決定することと、
前記プロセッサ回路によって、前記回転データに基づきモーメントアーム長を算出することと、
前記プロセッサ回路によって、前記モーメントアーム長を閾値の長さと比較することと、
前記プロセッサ回路によって、前記モーメントアーム長を前記閾値の長さと比較したことに基づき、前記ユーザの腕の振りが水泳ストロークであると決定することと、
前記プロセッサ回路によって、前記ユーザの腕の振りが水泳ストロークであると決定したことに応じて、前記ユーザの水泳メトリック又はエネルギー消費のうちの少なくとも一方を算出することであって、前記水泳メトリックは、ターン、呼吸、ラップ、水泳ストローク、又は水泳ストロークスタイルのうちの少なくとも１つを含む、ことと、
前記プロセッサ回路によって、前記ユーザの前記水泳メトリック又は前記エネルギー消費のうちの前記少なくとも一方を出力することと、
を含む、方法。
【請求項２】
前記座標系が前記ユーザデバイスに対する物体固定座標系である、請求項１に記載の方法。
【請求項３】
前記モーメントアーム長を算出することが、最小二乗方程式を解くことを含む、請求項１に記載の方法。
【請求項４】
ユーザが泳いでいると決定する際のウェアラブルデバイスの精度を改善する方法であって、前記方法は、
ウェアラブルデバイスのプロセッサ回路によって、前記ユーザのトレーニングデータを受信することと、
前記プロセッサ回路によって、前記ウェアラブルデバイスの１つ以上の動きセンサからの動きデータを受信することであって、前記１つ以上の動きセンサは加速度計又はジャイロスコープのうちの少なくとも一方を含む、ことと、
前記プロセッサ回路によって、前記動きデータに基づき前記ユーザのヨー角を決定することと、
前記プロセッサ回路によって、前記トレーニングデータに基づき前記ヨー角に対応する尤度比の値を決定することと、
前記プロセッサ回路によって、尤度比の前記値を閾値と比較することと、
前記プロセッサ回路によって、尤度比の前記値を前記閾値と比較したことに基づき、前記ユーザが泳いでいると決定することと、
前記プロセッサ回路によって、前記ユーザが泳いでいると決定したことに応じて、前記ユーザの水泳メトリック又はエネルギー消費のうちの少なくとも一方を算出することであって、前記水泳メトリックは、ターン、呼吸、ラップ、水泳ストローク、又は水泳ストロークスタイルのうちの少なくとも１つを含む、ことと、
前記プロセッサ回路によって、前記ユーザの前記水泳メトリック又は前記エネルギー消費のうちの前記少なくとも一方を出力することと、
を含む、方法。
【請求項５】
ユーザの水泳ストロークスタイルを分類する際のウェアラブルデバイスの精度を改善する方法であって、前記方法は、
ウェアラブルデバイスのプロセッサ回路によって、前記ウェアラブルデバイスの１つ以上の動きセンサからの動きデータを受信することであって、前記１つ以上の動きセンサは加速度計又はジャイロスコープのうちの少なくとも一方を含む、ことと、
前記プロセッサ回路によって、前記受信された動きデータに基づき基本周期を算出することと、
前記プロセッサ回路によって、前記ウェアラブルデバイスの回転データを決定することであって、前記回転データは座標系において表される、ことと、
前記プロセッサ回路によって、前記回転データから１つ以上の特徴を抽出することと、
前記プロセッサ回路によって、前記１つ以上の特徴に基づき前記ユーザの水泳ストロークスタイルを決定することと、
前記プロセッサ回路によって、前記決定された水泳ストロークスタイルを出力することと、
を含む、方法。
【請求項６】
前記座標系が前記ウェアラブルデバイスに対する物体固定座標系である、請求項５に記載の方法。
【請求項７】
前記座標系が慣性座標系である、請求項５に記載の方法。
【請求項８】
前記１つ以上の特徴が、
前記ウェアラブルデバイスの平均のクラウンの向き、
ユーザの腕及び手首の回転の相関、あるいは
総角速度への前記ウェアラブルデバイスのクラウンの周りの回転の寄与、
のうちの少なくとも１つを含む、請求項５に記載の方法。
【請求項９】
前記１つ以上の特徴が、
プル局面の間における前記ウェアラブルデバイスのバンドの周りの相対的な腕の回転、
前記ユーザのモーメントアーム、
回転ｙに対する加速度ｚの比、
加速度によって重み付けされた平均重力クラウン、
前記ウェアラブルデバイスのバンドの上部の向きと前記ウェアラブルデバイスのバンドを中心とする回転との間の相関、
クラウン回転の二乗平均平方根（ＲＭＳ）、
前記ウェアラブルデバイスのクラウンを中心とする最小回転、
前記ウェアラブルデバイスのバンドを中心とする最大回転、又は最大回転ｘオーバーｙ、
のうちの少なくとも１つを含む、請求項５に記載の方法。
【請求項１０】
ユーザの水泳ストロークの局面を決定する際のウェアラブルデバイスの精度を改善する方法であって、前記方法は、
ウェアラブルデバイスのプロセッサ回路によって、前記ウェアラブルデバイスの１つ以上の動きセンサからの動きデータを受信することであって、前記１つ以上の動きセンサは加速度計又はジャイロスコープのうちの少なくとも一方を含む、ことと、
前記プロセッサ回路によって、前記動きデータを用いて、前記ウェアラブルデバイスの回転データの第１のセットを決定することであって、回転データの前記第１のセットは第１の座標系において表される、ことと、
前記プロセッサ回路によって、前記ウェアラブルデバイスの回転データの前記第１のセットを、第２の座標系において表される回転の第２のセットに変換することと、
前記プロセッサ回路によって、回転データの前記第２のセット基づきユーザの水泳ストロークのグライド局面を決定することと、
前記プロセッサ回路によって、回転データの前記第２のセットに基づき前記ユーザの水泳ストロークの移行局面を決定することと、
前記プロセッサ回路によって、前記決定されたグライド局面及び移行局面に基づき前記ユーザの水泳ストロークのプル局面及びリカバリー局面を決定することと、
前記プロセッサ回路によって、前記ユーザの水泳ストロークの前記決定されたグライド局面、移行局面、プル局面、及びリカバリー局面に基づき前記ユーザの１つ以上の水泳メトリックを算出することであって、前記１つ以上の水泳メトリックは、ターン、呼吸、ラップ、水泳ストローク、又は水泳ストロークスタイルのうちの少なくとも１つを含む、ことと、
前記プロセッサ回路によって、前記ユーザの前記算出された１つ以上の水泳メトリックを出力することと、
を含む、方法。
【請求項１１】
前記第１の座標系が前記ウェアラブルデバイスに対する物体固定座標系である、請求項１０に記載の方法。
【請求項１２】
前記第２の座標系が慣性座標系である、請求項１０に記載の方法。
【請求項１３】
ユーザのストローク軌道の一貫性を決定する際のウェアラブルデバイスの精度を改善する方法であって、前記方法は、
ウェアラブルデバイスのプロセッサ回路によって、前記ウェアラブルデバイスの１つ以上の動きセンサからの動きデータを受信することであって、前記１つ以上の動きセンサは加速度計又はジャイロスコープのうちの少なくとも一方を含む、ことと、
前記プロセッサ回路によって、前記動きデータを用いて、前記ユーザデバイスの回転データを決定することであって、前記回転データは座標系において表される、ことと、
前記プロセッサ回路によって、前記回転データが第１の過去の期間内において最小分散を有する第１の方向を決定することと、
前記プロセッサ回路によって、前記回転データが第２の過去の期間内において最小分散を有する第２の方向を決定することと、
前記プロセッサ回路によって、前記第１の方向と前記第２の方向との差を決定することと、
前記プロセッサ回路によって、前記第１の方向と前記第２の方向との前記差に基づき前記ユーザのストローク軌道の一貫性を決定することと、
前記プロセッサ回路によって、前記ユーザの前記決定されたストローク軌道の一貫性を出力することと、
を含む、方法。
【請求項１４】
前記座標系が前記ユーザデバイスに対する物体固定座標系である、請求項１３に記載の方法。
【請求項１５】
前記座標系が慣性座標系である、請求項１３に記載の方法。
【請求項１６】
前記第１の方向及び前記第２の方向付けを決定することが、回転軸を決定することを含む、請求項１３に記載の方法。
【請求項１７】
前記第１の過去の期間が実質的に１０秒である、請求項１３に記載の方法。
【請求項１８】
前記第２の過去の期間が実質的に３分である、請求項１３に記載の方法。
【請求項１９】
ユーザのストローク軌道の一貫性を決定する際のウェアラブルデバイスの精度を改善する方法であって、前記方法は、
ウェアラブルデバイスのプロセッサ回路によって、前記ウェアラブルデバイスの１つ以上の動きセンサからの動きデータを受信することであって、前記１つ以上の動きセンサは加速度計又はジャイロスコープのうちの少なくとも一方を含む、ことと、
前記プロセッサ回路によって、前記動きデータを用いて、座標系において表される回転データを決定することと、
前記プロセッサ回路によって、前記回転データを用いて前記ユーザのストローク軌道のヒストグラムを決定することと、
前記プロセッサによって、前記ヒストグラムに基づきエントロピーのレベルを決定することと、
前記プロセッサ回路によって、エントロピーの前記決定されたレベルに基づき前記ユーザの軌道の一貫性のレベルを決定することと、
前記プロセッサ回路によって、前記ユーザの軌道の一貫性の前記決定されたレベルを出力することと、
を含む、方法。
【請求項２０】
前記座標系が前記ユーザデバイスに対する物体固定座標系である、請求項１９に記載の方法。
【請求項２１】
前記座標系が慣性座標系である、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（優先権の主張）
本出願は、２０１６年８月３１日に出願され、全体が本明細書において参照により組み込まれる、「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｏｆ  Ａｒｍ  Ｓｗｉｎｇ  Ｍｏｔｉｏｎ  Ｄｅｔｅｒｍｉｎａｔｉｏｎ」と題する、米国仮特許出願第６２／３８１，８３６号に対する優先権及びその利益を主張する。
【０００２】
本出願は、２０１６年８月３１日に出願され、全体が本明細書において参照により組み込まれる、「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｄｅｔｅｒｍｉｎｉｎｇ  Ｏｒｂｉｔ  Ｃｏｎｓｉｓｔｅｎｃｙ」と題する、米国仮特許出願第６２／３８１，８５６号に対する優先権及びその利益を主張する。
【０００３】
本出願は、２０１６年８月３１日に出願され、全体が本明細書において参照により組み込まれる、「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｍｏｔｉｏｎ  Ｄｅｔｅｒｍｉｎａｔｉｏｎ  ｕｓｉｎｇ  Ｌｉｋｅｌｉｈｏｏｄ  Ｒａｔｉｏｓ」と題する、米国仮特許出願第６２／３８１，６４４号に対する優先権及びその利益を主張する。
【０００４】
本出願は、２０１６年８月３１日に出願され、全体が本明細書において参照により組み込まれる、「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｏｆ  Ｃｌａｓｓｉｆｙｉｎｇ  Ｓｗｉｍ  Ｓｔｒｏｋｅｓ」と題する、米国仮特許出願第６２／３８１，９７２号に対する優先権及びその利益を主張する。
【０００５】
本出願は、２０１６年８月３１日に出願され、全体が本明細書において参照により組み込まれる、「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｏｆ  Ｄｅｔｅｒｍｉｎｉｎｇ  Ｓｗｉｍ  Ｓｔｒｏｋｅ  Ｐｈａｓｅ」と題する、米国仮特許出願第６２／３８２，００６号に対する優先権及びその利益を主張する。
（関連出願の相互参照）
【０００６】
本出願は、＿＿＿＿＿＿＿に出願され、全体が本明細書において参照により組み込まれる、「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｄｅｔｅｒｍｉｎｉｎｇ  Ｓｗｉｍｍｉｎｇ  Ｍｅｔｒｉｃｓ」と題する、同時係属中の米国特許出願第＿＿＿＿＿＿＿号（弁護士整理番号３３７７２２−６２８００１）に関連する。
【０００７】
本出願は、＿＿＿＿＿＿＿に出願され、全体が本明細書において参照により組み込まれる、「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｏｆ  Ｓｗｉｍｍｉｎｇ  Ｃａｌｏｒｉｍｅｔｒｙ」と題する、同時係属中の米国特許出願第＿＿＿＿＿＿＿号（弁護士整理番号３３７７２２−６３６００１）に関連する。
【０００８】
本開示は概して水泳分析に関する。
【背景技術】
【０００９】
ユーザが、腕の振りの動きを含む活動を行っている際には、ユーザの腕の伸展を測定することがしばしば必要とされる。一例として、ユーザがラップスイミングをしている際には、ユーザの腕の伸展は、小さな偶然的な腕の振りの動きと真の水泳ストロークとを区別するのを助けることができる。加えて、腕の伸展の決定は、異なる種類の水泳ストロークを分類するために用いることができる。したがって、腕の振りの動きを決定する方法及びシステムを提供することが望まれる。
【００１０】
更に、ユーザが複数の種類の動きを含む活動を行っている際には、動きの種類を分類することがしばしば必要とされる。一例として、ユーザがラップスイミングをしている際には、ユーザは、２つの種類の動き、すなわち泳ぎとターンとを切り替えることができる。別の例として、ユーザが走っている際には、ユーザは走りと歩きとを切り替えることができる。どの種類の動きをユーザが行っているのかを知ることは、ユーザのエネルギー消費を推定することを含む多くの適用において有用である。したがって、ユーザの動きの種類を決定する方法及びシステムを提供することが望まれる。
【００１１】
概して、４つの共通水泳ストロークスタイル、すなわち、バタフライ、自由形、平泳ぎ及び背泳ぎが存在する。ユーザが泳いでいる際には、ユーザは、異なる水泳ストロークスタイルのうちの任意のものを実行し、ユーザの水泳セッションの全期間を通してスタイルを変更することができる。どの種類の水泳スタイルをユーザが行っているのかを知ることは、ユーザのエネルギー消費を推定すること、ストローク計数、ラップ計数、及び距離校正を含む、多くの適用において有用である。したがって、水泳ストロークスタイルを分類する方法及びシステムを提供することが望まれる。
【００１２】
しかし、水泳ストロークスタイルを共通の個々の局面（例えば、グライド、プル、移行及びリカバリー）に分解しなければ、異なる水泳ストロークスタイルを分類することは困難である。ユーザが実行している水泳ストローク局面を知ることは、水泳ストロークスタイルを特定するのに役立つだけでなく、ターン検出、ラップ計数、ストローク計数、泳ぎ対非泳ぎの検出、及びユーザのストロークを理想的な局面パラメータセットと比較することによる「ストロークの良さ」の指導／測定においても有用である。したがって、水泳ストローク局面を決定する方法及びシステムを提供することが望まれる。
【００１３】
ユーザが泳いでいる際には、ユーザの腕の動作、又は軌道の一貫性を決定することがしばしば必要とされる。追跡すべき動作の一例は、ユーザの水泳ストロークである。例えば、理想的な状況では、自由形で泳いでいる個人はストロークのほぼ正確な複製を呈するべきである。しかし、実際には、個人がストロークを正確に繰り返す能力は多くの因子によって影響を受け得る。したがって、ユーザのストローク軌道の一貫性の測度は、ユーザの技量、効率、疲労、及び／又は健康を示唆することができる（例えば、動作を繰り返せないことは、病気又は怪我の兆候であり得る）。したがって、泳いでいる際のユーザのストローク軌道の一貫性を決定する方法及びシステムを提供することが望まれる。
【発明の概要】
【００１４】
本開示は、ユーザの腕の動きを決定する際のウェアラブルデバイスの精度を改善する方法に関する。いくつかの実施形態では、本方法は、ウェアラブルデバイスのプロセッサ回路によって、ウェアラブルデバイスの１つ以上の動きセンサからの動きデータを受信することであって、１つ以上の動きセンサは加速度計又はジャイロスコープのうちの少なくとも一方を含む、ことと、プロセッサ回路によって、動きデータを用いて、動きデータに基づき第１の座標系において表される回転データを決定することと、プロセッサ回路によって、回転データに基づきモーメントアーム長を決定することと、プロセッサ回路によって、モーメントアーム長を閾値の長さと比較することと、プロセッサ回路によって、モーメントアーム長を閾値の長さと比較したことに基づき、ユーザの腕の振りが本当の水泳ストロークであると決定することと、プロセッサ回路によって、ユーザの腕の振りが水泳ストロークであると決定したことに応じて、ユーザの水泳メトリック又はエネルギー消費のうちの少なくとも一方を算出することであって、水泳メトリックは、ターン、呼吸、ラップ、水泳ストローク、又は水泳ストロークスタイルのうちの少なくとも１つを含む、ことと、プロセッサ回路によって、ユーザの水泳メトリック又はエネルギー消費のうちの少なくとも一方を出力することと、を含む。いくつかの実施形態では、第１の座標系はユーザデバイスに対する物体固定座標系であることができる。いくつかの実施形態では、本方法は、最小二乗方程式を解くことを含むことができる。
【００１５】
本開示はまた、ユーザが泳いでいると決定する際のウェアラブルデバイスの精度を改善する方法に関する。いくつかの実施形態では、本方法は、ウェアラブルデバイスのプロセッサ回路によって、ユーザのトレーニングデータのセットを受信することと、プロセッサ回路によって、ウェアラブルデバイスの１つ以上の動きセンサからの動きデータを受信することであって、１つ以上の動きセンサは加速度計又はジャイロスコープのうちの少なくとも一方を含む、ことと、プロセッサ回路によって、動きデータに基づきユーザのヨー角を決定することと、プロセッサ回路によって、ヨー角に対応する尤度比の値を取得することと、プロセッサ回路によって、尤度比の値を閾値と比較することと、プロセッサ回路によって、尤度比の値を閾値と比較したことに基づき、ユーザが泳いでいると決定することと、プロセッサ回路によって、ユーザが泳いでいると決定したことに応じて、ユーザの水泳メトリック又はエネルギー消費のうちの少なくとも一方を算出することであって、水泳メトリックは、ターン、呼吸、ラップ、水泳ストローク、又は水泳ストロークスタイルのうちの少なくとも１つを含む、ことと、プロセッサ回路によって、ユーザの水泳メトリック又はエネルギー消費のうちの少なくとも一方を出力することと、を含むことができる。
【００１６】
本開示はまた、ユーザの水泳ストロークスタイルを分類する際のウェアラブルデバイスの精度を改善する方法に関する。いくつかの実施形態では、本方法は、ウェアラブルデバイスのプロセッサ回路によって、ウェアラブルデバイスの１つ以上の動きセンサからの動きデータを受信することであって、１つ以上の動きセンサは加速度計又はジャイロスコープのうちの少なくとも一方を含む、ことと、プロセッサ回路によって、受信された動きデータに基づき基本周期を算出することと、プロセッサ回路によって、ウェアラブルデバイスの回転データを決定することであって、回転データは座標系において表される、ことと、プロセッサ回路によって、回転データから１つ以上の特徴を抽出することと、プロセッサ回路によって、１つ以上の特徴に基づきユーザの水泳ストロークスタイルを決定することと、プロセッサ回路によって、決定された水泳ストロークスタイルを出力することと、を含むことができる。いくつかの実施形態では、座標系はウェアラブルデバイスに対する物体固定座標系であることができる。いくつかの実施形態では、座標系は慣性座標系であることができる。
【００１７】
いくつかの実施形態では、１つ以上の特徴は、ウェアラブルデバイスの平均のクラウンの向き、ユーザの腕及び手首の回転の相関、あるいは総角速度へのウェアラブルデバイスのクラウンの周りの回転の寄与、のうちの少なくとも１つを含む。いくつかの実施形態では、１つ以上の特徴は、プル局面の間におけるウェアラブルデバイスのバンドの周りの相対的な腕の回転、ユーザのモーメントアーム、回転ｙに対する加速度ｚの比、加速度によって重み付けされた平均重力クラウン、ウェアラブルデバイスのバンドの上部の向きとウェアラブルデバイスのバンドを中心とする回転との間の相関、クラウン回転の二乗平均平方根（root mean square、ＲＭＳ）、ウェアラブルデバイスのクラウンを中心とする最小回転、ウェアラブルデバイスのバンドを中心とする最大回転、又は最大回転ｘオーバーｙ、のうちの少なくとも１つを含む。
【００１８】
本開示はまた、ユーザの水泳ストロークの局面を決定する際のウェアラブルデバイスの精度を改善する方法に関する。いくつかの実施形態では、本方法は、ウェアラブルデバイスのプロセッサ回路によって、ウェアラブルデバイスの１つ以上の動きセンサからの動きデータを受信することであって、１つ以上の動きセンサは加速度計又はジャイロスコープのうちの少なくとも一方を含む、ことと、プロセッサ回路によって、動きデータを用いて、ウェアラブルデバイスの回転データの第１のセットを決定することであって、回転データの第１のセットは第１の座標系において表される、ことと、プロセッサ回路によって、ウェアラブルデバイスの回転データの第１のセットを、第２の座標系において表される回転の第２のセットに変換することと、プロセッサ回路によって、回転データの第２のセット基づきユーザの水泳ストロークのグライド局面を決定することと、プロセッサ回路によって、回転データの第２のセットに基づきユーザの水泳ストロークの移行局面を決定することと、プロセッサ回路によって、決定されたグライド局面及び移行局面に基づきユーザの水泳ストロークのプル局面及びリカバリー局面を決定することと、プロセッサ回路によって、ユーザの水泳ストロークの決定されたグライド局面、移行局面、プル局面、及びリカバリー局面に基づきユーザの１つ以上の水泳メトリックを算出することであって、１つ以上の水泳メトリックは、ターン、呼吸、ラップ、水泳ストローク、又は水泳ストロークスタイルのうちの少なくとも１つを含む、ことと、ユーザの算出された１つ以上の水泳メトリックを出力することと、を含むことができる。いくつかの実施形態では、第１の座標系はウェアラブルデバイスに対する物体固定座標系であることができる。いくつかの実施形態では、第２の座標系は慣性座標系であることができる。
【００１９】
本開示はまた、ユーザのストローク軌道の一貫性を決定する際のウェアラブルデバイスの精度を改善する方法に関する。いくつかの実施形態では、本方法は、ウェアラブルデバイスのプロセッサ回路によって、ウェアラブルデバイスの１つ以上の動きセンサからの動きデータを受信することであって、１つ以上の動きセンサは加速度計又はジャイロスコープのうちの少なくとも一方を含む、ことと、プロセッサ回路によって、動きデータを用いて、ユーザデバイスの回転データを決定することであって、回転データは座標系において表される、ことと、プロセッサ回路によって、回転データが第１の過去の期間内において最小分散を有する第１の方向を決定することと、プロセッサ回路によって、回転データが第２の過去の期間内において最小分散を有する第２の方向を決定することと、プロセッサ回路によって、第１の方向と第２の方向との差を決定することと、プロセッサ回路によって、第１の方向と第２の方向との差に基づきユーザのストローク軌道の一貫性を決定することと、プロセッサ回路によって、決定されたストローク軌道の一貫性を出力することと、を含むことができる。いくつかの実施形態では、座標系はユーザデバイスに対する物体固定座標系であることができる。いくつかの実施形態では、座標系は慣性座標系であることができる。
【００２０】
いくつかの実施形態では、本方法は、回転軸を決定することを含むことができる。いくつかの実施形態では、第１の過去の期間は実質的に１０秒であることができる。いくつかの実施形態では、第２の過去の期間は実質的に３分であることができる。
【００２１】
本開示はまた、ユーザのストローク軌道の一貫性を決定する際のウェアラブルデバイスの精度を改善する方法に関する。いくつかの実施形態では、本方法は、ウェアラブルデバイスのプロセッサ回路によって、ウェアラブルデバイスの１つ以上の動きセンサからの動きデータを受信することであって、１つ以上の動きセンサは加速度計又はジャイロスコープのうちの少なくとも一方を含む、ことと、プロセッサ回路によって、動きデータを用いて、座標系において表される回転データを決定することと、プロセッサ回路によって、回転データを用いてユーザのストローク軌道のヒストグラムを決定することと、プロセッサによって、ヒストグラムに基づきエントロピーのレベルを決定することと、プロセッサ回路によって、エントロピーの決定されたレベルに基づきユーザの軌道の一貫性のレベルを決定することと、プロセッサ回路によって、ユーザの軌道の一貫性の決定されたレベルを出力することと、を含むことができる。いくつかの実施形態では、座標系はユーザデバイスに対する物体固定座標系であることができる。いくつかの実施形態では、座標系は慣性座標系であることができる。
【００２２】
以下の詳細な説明及び図面から他の特徴及び利点が明らかになるであろう。
【００２３】
本開示の以下の詳細な説明を、添付の図面に関連して考慮しつつ参照することで、本開示の様々な目的、特徴、及び利点をより完全に理解することができる。図面において、同様の参照符号は同様の要素を特定する。
【図面の簡単な説明】
【００２４】
【図１】本開示のいくつかの実施形態に係るウェアラブルデバイス（又は「ユーザデバイス」）を示す。
【図２】本開示のいくつかの実施形態に係るウェアラブルデバイスのブロック図を示す。
【図３】本開示のいくつかの実施形態に係るコンパニオンデバイスを示す。
【図４Ａ】本開示のいくつかの実施形態に係る、物体固定座標系の例を示す。
【図４Ｂ】本開示のいくつかの実施形態に係る、物体固定座標系の例を示す。
【図４Ｃ】本開示のいくつかの実施形態に係る、物体固定座標系の例を示す。
【図４Ｄ】本開示のいくつかの実施形態に係る、物体固定座標系の例を示す。
【図５】本開示のいくつかの実施形態に係る、物体固定座標系におけるウェアラブルデバイスの回転データのセットを示す。
【図６】本開示のいくつかの実施形態に係る、慣性座標系の例を示す。
【図７Ａ】本開示のいくつかの実施形態に係る、慣性座標系の例を示す。
【図７Ｂ】本開示のいくつかの実施形態に係る、慣性座標系の例を示す。
【図７Ｃ】本開示のいくつかの実施形態に係る、慣性座標系の例を示す。
【図７Ｄ】本開示のいくつかの実施形態に係る、慣性座標系の例を示す。
【図８】本開示のいくつかの実施形態に係る、慣性座標系におけるウェアラブルデバイスの回転データのセットを示す。
【図９】本開示のいくつかの実施形態に係る、重力方向を決定する方法を示す。
【図１０】本開示のいくつかの実施形態に係る、重力方向を決定する方法を示す。
【図１１】本開示のいくつかの実施形態に係る、ユーザのモーメントアームを決定する方法を示す。
【図１２】本開示のいくつかの実施形態に係る、モーメントアーム長の例を示す。
【図１３】本開示のいくつかの実施形態に係る、物体固定座標系におけるウェアラブルデバイスの動きデータを示す。
【図１４Ａ】本開示のいくつかの実施形態に係る、例示的なモーメントアームの算出を示す。
【図１４Ｂ】本開示のいくつかの実施形態に係る、例示的なモーメントアームの算出を示す。
【図１５】本開示のいくつかの実施形態に係る、泳いでいる間のユーザの動きの種類を分類する方法を示す。
【図１６Ａ】本開示のいくつかの実施形態に係る、ユーザの動きの種類を分類する例を示す。
【図１６Ｂ】本開示のいくつかの実施形態に係る、ユーザの動きの種類を分類する例を示す。
【図１７】本開示のいくつかの実施形態に係る、ウェアラブルデバイスの１つ以上のセンサからの動き情報を受信する方法を示す。
【図１８】本開示のいくつかの実施形態に係る、泳いでいる間のユーザのヨー角を示す。
【図１９】本開示のいくつかの実施形態に係る、泳いでいる間のユーザの水泳ストロークスタイルを分類する方法を示す。
【図２０】本開示のいくつかの実施形態に係る、ユーザの水泳ストロークスタイルを分類する例を示す。
【図２１】本開示のいくつかの実施形態に係る、ユーザの水泳ストロークスタイルを分類する例を示す。
【図２２】本開示のいくつかの実施形態に係る、ユーザの水泳ストロークスタイルを分類する例を示す。
【図２３】本開示のいくつかの実施形態に係る、ユーザの水泳ストロークスタイルを分類する例を示す。
【図２４】本開示のいくつかの実施形態に係る、ユーザの水泳ストロークスタイルを分類する例を示す。
【図２５】本開示のいくつかの実施形態に係る、ユーザの水泳ストロークスタイルを分類する例を示す。
【図２６】本開示のいくつかの実施形態に係る、ユーザの水泳ストロークスタイルを分類する例を示す。
【図２７】本開示のいくつかの実施形態に係る、ユーザの水泳ストロークスタイルを分類する例を示す。
【図２８】本開示のいくつかの実施形態に係る、ユーザの水泳ストロークスタイルを分類する例を示す。
【図２９Ａ】本開示のいくつかの実施形態に係る、異なる水泳ストロークスタイルの水泳ストローク局面を示す。
【図２９Ｂ】本開示のいくつかの実施形態に係る、異なる水泳ストロークスタイルの水泳ストローク局面を示す。
【図３０】本開示のいくつかの実施形態に係る、ユーザの水泳ストローク局面を決定する方法を示す。
【図３１Ａ】本開示のいくつかの実施形態に係る、異なる水泳ストローク局面を特定するグラフを示す。
【図３１Ｂ】本開示のいくつかの実施形態に係る、異なる水泳ストローク局面を特定するグラフを示す。
【図３１Ｃ】本開示のいくつかの実施形態に係る、異なる水泳ストローク局面を特定するグラフを示す。
【図３１Ｄ】本開示のいくつかの実施形態に係る、異なる水泳ストローク局面を特定するグラフを示す。
【図３２Ａ】本開示のいくつかの実施形態に係る、ユーザの動きの種類を分類する例を示す。
【図３２Ｂ】本開示のいくつかの実施形態に係る、ユーザの動きの種類を分類する例を示す。
【図３３】本開示のいくつかの実施形態に係る、水泳セッションの間におけるユーザのストローク軌道の一貫性を決定するプロセスを示し、本開示のいくつかの実施形態に係る、ウェアラブルデバイスの手首角度を示す。
【図３４】本開示のいくつかの実施形態に係る、ユーザのストロークの軌道を示す。
【図３５】本開示のいくつかの実施形態に係る、ユーザのストロークの軌道を示す。
【図３６】本開示のいくつかの実施形態に係る、異なるサンプリング点におけるユーザの短期ストローク軌道の回転軸方向とユーザの長期／平均ストローク軌道の回転軸方向との継続的な差を示す。
【図３７】本開示のいくつかの実施形態に係る、水泳セッションの間におけるユーザのストローク軌道の一貫性を決定するプロセスを示す。
【図３８】本開示のいくつかの実施形態に係る、ユーザのストローク軌道のヒートマップを示す。
【発明を実施するための形態】
【００２５】
以下の説明において、本開示の完全な理解を提供するために、本開示のシステム、方法、及び媒体、並びにこうしたシステム、方法、及び媒体が動作する環境等に関し、多くの具体的な詳細が述べられている。しかし、本開示はこのような具体的な詳細がなくても実施することができ、また、当技術分野でよく知られている一定の機能は、本開示の複雑さを避けるために、詳細に説明していないということは、当業者にとっては明らかであろう。加えて、以下に提供される例は例示的であり、本開示の範囲内にある他のシステム、方法、及び媒体が存在すると考えられることは理解されよう。
【００２６】
本開示では、ユーザの活動中にユーザの腕の伸びを決定するように構成することができる、ウェアラブルデバイスについて説明する。ウェアラブルデバイスは、空間におけるウェアラブルデバイスの位置及び向きについてのデータを収集し、経時的なウェアラブルデバイスの位置及び向きの変化を追跡する、１つ以上の動きセンサを含むことができる。ユーザは、ウェアラブルデバイスを装着することができるので、動き情報は、ユーザの動作に関する情報を提供することができる。例えば、ユーザが水泳している場合、ユーザの腕は、典型的には特定の経路に沿って、特定の周波数で揺動する。ユーザが手首にウェアラブルデバイスを装着している場合、ウェアラブルデバイスは、ユーザの腕がある経路を移動している方法を感知することによって、ユーザがあるスタイルで水泳していることを推定することができる。ユーザが水泳するとき、ウェアラブルデバイスによって追跡することができる、かなり周期的なユーザの腕／手首の動きがある。
【００２７】
図１は、本開示のいくつかの実施形態による、ウェアラブルデバイス（又は「ユーザデバイス」）１００の例である。いくつかの実施形態では、ウェアラブルデバイス１００は、時計、及び／又は、個人の手首の周りに装着されるように構成されたフィットネスバンドなどの、任意の適切なウェアラブルデバイスとすることができる。
【００２８】
図２は、本開示のいくつかの実施形態による、ウェアラブルデバイス１００内で見ることができる例示的な構成要素のブロック図を図示する。いくつかの実施形態では、ウェアラブルデバイス１００は、メインプロセッサ２１０（又は「アプリケーションプロセッサ」）、動きコプロセッサ２１５、メモリ２２０、１つ以上の動きセンサ２４０、ディスプレイ２７０、インターフェース２８０、及び、心拍数センサ２９０を含むことができる。ウェアラブルデバイス１００は、追加のモジュール、より少ない数のモジュール、又は、任意の適切な動作又は動作の組合せを実施する任意の他の適切なモジュールの組合せを含んでもよい。
【００２９】
いくつかの実施形態では、メインプロセッサ２１０は、１つ以上のコアを含み、様々なアプリケーション及びモジュールを実行する１つ以上のスレッドを収容することができる。ソフトウェアは、コンピュータ命令又はコンピュータコードを実行可能なメインプロセッサ２１０上で実行することができる。メインプロセッサ２１０はまた、特定用途向け集積回路（application specific integrated circuit、ＡＳＩＣ）、プログラマブル論理アレイ（programmable logic array、ＰＬＡ）、フィールドプログラマブルゲートアレイ（field programmable gate array、ＦＰＧＡ）、又は任意の他の集積回路を使用したハードウェアに実装することができる。
【００３０】
いくつかの実施形態では、ウェアラブルデバイス１００はまた、メインプロセッサ２１０よりも電力消費が少なくてすむ、動きコプロセッサ２１５を含むことができる。メインプロセッサ２１０は、汎用の演算及び通信のために構成されてもよいが、動きコプロセッサ２１５は、ウェアラブルデバイス１００内の動きセンサ２４０、心拍数センサ２９０、及び他のモジュールからデータを受信して処理するといった、比較的限られたタスクのセットを実施するように構成することができる。多くの実施形態では、メインプロセッサ２１０は、電力を節約するために一定の時間に電源をダウンしてもよいが、動きコプロセッサ２１５は電源がオンのままである。これにより、動きコプロセッサ２１５は、「常時オン」プロセッサ（“always-on”processor、ＡＯＰ）と呼ばれることがある。動きコプロセッサ２１５は、メインプロセッサ２１０の電源がオン又はオフするときに制御してもよい。
【００３１】
メモリ２２０は、非一時的なコンピュータ可読媒体、フラッシュメモリ、磁気ディスクドライブ、光学ドライブ、プログラマブル読出専用メモリ（programmable read-only memory、ＰＲＯＭ）、読出専用メモリ（read-only memory、ＲＯＭ）、又は任意の他のメモリ若しくはメモリの組合せとすることができる。メモリ２２０は、１つ以上のモジュール２３０を含むことができる。
【００３２】
メインプロセッサ２１０又は動きコプロセッサ２１５は、例えば図４、図１１及び図１２に関連して記述される方法など、本開示の中で議論される様々なステップをメインプロセッサ２１０又は動きコプロセッサ２１５に実施させるように構成された、メモリ２２０に格納されたモジュール２３０を実行するように構成することができる。
【００３３】
いくつかの実施形態では、ウェアラブルデバイス１００は、１つ以上の動きセンサ２４０を含むことができる。例えば、動きセンサ２４０は、ジャイロスコープ２５０及び加速度計２６０を含むことができる。いくつかの実施形態では、加速度計２６０は、直線加速度を３次元（例えば、ｘ軸、ｙ軸、及びｚ軸）で測定する３軸加速度計とすることができる。いくつかの実施形態では、ジャイロスコープ２５０は、回転運動及び／又は角速度などの回転データを３次元（例えば、ヨー、ピッチ、及びロール）で測定する３軸ジャイロスコープとしてよい。いくつかの実施形態では、加速度計２６０は、微小電気機械システム（microelectromechanical system、ＭＥＭＳ）加速度計であってもよく、ジャイロスコープ２５０は、ＭＥＭＳジャイロスコープであってもよい。ウェアラブルデバイス１００のメインプロセッサ２１０又は動きコプロセッサ２１５は、ウェアラブルデバイス１００の加速度、回転、位置又は向き情報を３次元空間を通して６つの自由度で追跡する１つ以上の動きセンサ２４０から、動き情報を受信することができる。
【００３４】
いくつかの実施形態では、ウェアラブルデバイス１００は、加速度計２６０及びジャイロスコープ２５０の他に、他のタイプのセンサを含むことができる。例えば、ウェアラブルデバイス１００は、高度計若しくは気圧計、又はＧＰＳセンサなどの他のタイプの位置センサを含んでもよい。ウェアラブルデバイス１００はまた、ディスプレイ２７０を含んでもよい。ディスプレイ２７０は、ユーザからタッチを介して入力を受けるとともに、ユーザに出力を提供するように構成された、結晶性（例えば、サファイア）又はガラスタッチスクリーンなどのスクリーンであってよい。例えば、ディスプレイ２７０は、現在の心拍数又は日々の平均的なエネルギー消費量を表示するように構成してもよい。ディスプレイ２７０は、例えば、どの情報を表示すべきか、又はユーザは、水泳セッション、ランニングセッション、重量挙げセッション、歩行セッション又はサイクリングセッションなど、身体的な活動を開始しようとしているのか（例えば、セッションの開始）それとも身体的な活動を終了しようとしているのか（例えば、セッションの終了）を選択するために、ユーザから入力を受け取る。いくつかの実施形態では、ウェアラブルデバイス１００は、スピーカ（図示せず）で音声を生成するなど他の方法でユーザに出力を提示し、マイクロフォン（図示せず）を介して音声コマンドを受信するなど他の方法でユーザからの入力を受けることができる。
【００３５】
いくつかの実施形態では、ウェアラブルデバイス１００は、インターフェース２８０を介して、出力をユーザに提示し、入力をユーザから受け取る構成を含む、外部装置と通信することができる。インターフェース２８０は、無線インターフェースであってよい。無線インターフェースは、「低エネルギーＢｌｕｅｔｏｏｔｈ（登録商標）」としても知られるＢｌｕｅｔｏｏｔｈ  ｖ４．０などの標準Ｂｌｕｅｔｏｏｔｈ（ＩＥＥＥ８０２．１５）インターフェースとすることができる。他の実施形態では、このインターフェースは、ロングタームエボリューション（Long Term Evolution、ＬＴＥ）又はＷｉ−Ｆｉ（ＩＥＥＥ８０２．１１）（登録商標）プロトコルなどの、携帯電話ネットワークプロトコルにしたがって動作することができる。他の実施形態では、インターフェース２８０は、ヘッドホンジャック又はバスコネクタ（例えば、ライトニング、サンダーボルト、ＵＳＢ、等）などの有線インターフェースを含んでもよい。
【００３６】
ウェアラブルデバイス１００は、心拍数センサ２９０から個人の現在の心拍数を測定することができる。心拍数センサ２９０はまた、所与の心拍数測定値の精度の相対尤度を示す信頼レベルを決定するように構成することができる。他の実施形態では、伝統的な心拍数モニタを使用してもよく、近接場通信方法（例えば、Ｂｌｕｅｔｏｏｔｈ）によってウェアラブルデバイス１００と通信してもよい。
【００３７】
ウェアラブルデバイス１００は、本明細書でより詳細に記載されるように、スマートフォンなどのコンパニオンデバイス３００（図３）と通信するように構成することができる。いくつかの実施形態では、ウェアラブルデバイス１００は、ノートブック又はデスクトップコンピュータ、タブレット、ヘッドホン、Ｂｌｕｅｔｏｏｔｈヘッドセットなどの他の外部デバイスと通信するように構成することができる。
【００３８】
上で説明したモジュールは例であり、ウェアラブルデバイス１００の実施形態は、図示していない他のモジュールを含んでもよい。例えば、ウェアラブルデバイス１００のいくつかの実施形態は、充電式バッテリ（例えば、リチウムイオンバッテリ）、マイクロフォン又はマイクロフォンアレイ、１つ以上のカメラ、１つ以上のスピーカ、時計バンド、耐水性ケーシング又はコーティングなどを含むことができる。いくつかの実施形態では、ウェアラブルデバイス１００内のすべてのモジュールは、電気的及び／又は機械的に共に結合することができる。いくつかの実施形態では、メインプロセッサ２１０は、各モジュール間の通信を調整することができる。
【００３９】
図３は、本発明のいくつかの実施形態によるコンパニオンデバイス３００の一例を示す。ウェアラブルデバイス１００は、有線又は無線通信チャネル（例えば、Ｂｌｕｅｔｏｏｔｈ、Ｗｉ−Ｆｉなど）を介して、コンパニオンデバイス３００と通信するように構成することができる。いくつかの実施形態では、コンパニオンデバイス３００は、スマートフォン、タブレットコンピュータ、又は同様なポータブルコンピューティングデバイスとすることができる。コンパニオンデバイス３００は、ユーザによって携帯され、ユーザのポケット内に収容され、腕バンド又は同様のデバイスでユーザの腕に巻き付けられ、取付デバイス内に置かれ、又はウェアラブルデバイス１００の通信可能範囲内に配置されてもよい。
いくつかの実施形態では、コンパニオンデバイス３００は、位置センサ及び動きセンサ（図示せず）などの様々なセンサを含むことができる。コンパニオンデバイス３００が、ウェアラブルデバイス１００との通信に利用可能な場合には、ウェアラブルデバイス１００は、コンパニオンデバイス３００から追加データを受信して、そのキャリブレーション又は熱量測定プロセスを改善又は補足することができる。例えば、いくつかの実施形態では、ウェアラブルデバイス１００は、ＧＰＳセンサを含んでいてもよい代替の実施形態とは逆に、ＧＰＳセンサを含んでいなくてもよい。ウェアラブルデバイス１００が、ＧＰＳセンサを含んでいなくてもよい場合には、コンパニオンデバイス３００のＧＰＳセンサがＧＰＳ位置情報を収集し、ウェアラブルデバイス１００が、コンパニオンデバイス３００からインターフェース２８０（図２）を介して、ＧＰＳ位置情報を受信することができる。
【００４０】
別の例では、ウェアラブルデバイス１００は、高度計又は気圧計を含むことができる代替の実施形態とは逆に、高度計又は気圧計を含んでいなくてもよい。ウェアラブルデバイス１００が、高度計又は気圧計を含んでいなくてもよい場合には、コンパニオンデバイス３００の高度計又は気圧計が高度又は相対高度情報を収集し、ウェアラブルデバイス１００が、コンパニオンデバイス３００からインターフェース２８０（図２）を介して、高度又は相対高度情報を受信することができる。
【００４１】
別の例では、ウェアラブルデバイス１００は、コンパニオンデバイス３００から動き情報を受信することができる。ウェアラブルデバイス１００は、コンパニオンデバイス３００からの動き情報を、ウェアラブルデバイス１００の１つ以上の動きセンサ２４０からの動き情報と比較することができる。加速度計２６０及び／又はジャイロスコープ２５０からのデータ等の動き情報は、その品質を向上させるために（例えば、高域、低域、帯域通過、又は帯域消去フィルタによって）フィルタリングしてもよい。例えば、低域フィルタを使用して、一部の周囲ノイズを除去することができる。
【００４２】
ウェアラブルデバイス１００は、感知及び収集された動き情報を使用して、ユーザの活動を予測することができる。活動の例としては、歩行、走行、サイクリング、水泳、重量挙げなどが挙げられるが、これだけには限定されない。ウェアラブルデバイス１００は、ユーザが静止しているとき（例えば、就寝、着座、静止状態、運転、又は車両の制御）にも、予測又は検出することができる。ウェアラブルデバイス１００は、いくつかの実施形態では、コンパニオンデバイスからの動き情報を含む様々な動き情報を使用することができる。
ウェアラブルデバイス１００は、様々なヒューリスティック、アルゴリズム、又は他の技術を使用して、ユーザの活動を予測することができる。ウェアラブルデバイス１００はまた、１つの特定の予測（例えば、ユーザが水泳している尤度９０％）、又は複数の予測（例えば、ユーザが水泳している尤度６０％及びユーザが非水泳活動を行っている尤度４０％）に関連付けられた信頼水準（例えば、尤度率、精度、等）を評価することができる。
【００４３】
デバイスの動きを特徴付ける際に考慮するのに役立つ複数の参照フレーム、例えば、身体固定参照フレーム及び慣性参照フレームがある。これら参照フレーム間の切り替えは、回転、又は一連の回転を行うことにより達成することができる。動きセンサによって収集されている大部分のデータは、身体固定参照フレーム内にあるので、そのデータを使用して水泳ストロークをカウントするために、データは身体固定参照フレームから慣性フレームへ変換される。
【００４４】
図４Ａは、本開示のいくつかの実施形態による、身体固定参照フレーム４００の例を示す。図４Ａにおいて、身体固定参照フレーム４００の回転軸は、ウェアラブルデバイス１００に対するものである。例えば、ｚ軸は、ウェアラブルデバイス１００の表示面１６０に対して垂直である。ｘ軸及びｙ軸は、３軸が相互に直交する限り、相対的に任意に選択することができる。図４Ａにおいて、ｘ軸は、ウェアラブルデバイス１００のクラウン１２０によって示される方向と平行であり、ｙ軸は、ウェアラブルデバイス１００のバンド１４０の方向と平行である（ウェアラブルデバイス１００のクラウン１２０によって示される方向は、ウェアラブルデバイス１００のバンド１４０の方向に垂直であると仮定する）。
【００４５】
図４Ｂ〜図４Ｄは、本開示のいくつかの実施形態による、身体固定参照フレーム４００における１つ以上の向きを表現する例を示す。図４Ｂにおいて、向き／方向４１０は、正のｘ軸に対して角度（φ）４０２、正のｙ軸に対して角度（θ）４０４、正のｚ軸に対して角度（Ψ）４０６を有する。方向４１０は、身体固定参照フレーム４００において、［ｃｏｓ（φ），ｃｏｓ（θ），ｃｏｓ（Ψ）］と表現することができるが、これは、３次元回転データの第１のセットの非限定的な例／フォーマットである。例えば、図４Ｂの方向４２０は、正のｘ軸と平行で、正のｘ軸を指し示しており、そのため、方向４２０と正のｘ軸との間の角度（φ）は０度であり、方向４２０と正のｙ軸との間の角度（θ）は９０度、方向４２０と正のｚ軸との間の角度（Ψ）は９０度である。したがって、方向４２０は［１，０，０］である［ｃｏｓ（０），ｃｏｓ（９０），ｃｏｓ（９０）］として表現することができる。別の例として、図４Ｂの方向４３０は、正のｚ軸と平行で、正のｚ軸を指し示しており、そのため、方向４３０と正のｘ軸との間の角度（φ）は９０度であり、方向４３０と正のｙ軸との間の角度（θ）は９０度、方向４３０と正のｚ軸との間の角度（Ψ）は０度である。したがって、方向４３０は［０，０，１］である［ｃｏｓ（９０），ｃｏｓ（９０），ｃｏｓ（０）］として表現することができる。更に別の例として、方向４４０は、図４Ｂの重力の方向を表し、負のｙ軸と平行で、負のｙ軸を指し示しており、そのため、方向４４０と正のｘ軸との間の角度（φ）は９０度であり、方向４４０と正のｙ軸との間の角度（θ）は１８０度、方向４４０と正のｚ軸との間の角度（Ψ）は９０度である。したがって、方向４４０は［０，−１，０］である［ｃｏｓ（９０），ｃｏｓ（１８０），ｃｏｓ（９０）］として表現することができる。
【００４６】
図４Ｃにおいて、ウェアラブルデバイス１００は垂直に保持されている。先に議論されているように、ｘ軸はクラウン１２０によって示された方向と平行で、ｙ軸はバンド１４０と平行で、ｚ軸は表示面１６０に垂直である。図４Ｃの方向４５０は、クラウン１２０によって示された方向を表し、そのため、方向４５０と正のｘ軸との間の角度（φ）は０度、方向４５０と正のｙ軸との間の角度（θ）は９０度、方向４５０と正のｚ軸との間の角度（Ψ）は９０度である。したがって、方向４５０は［１，０，０］である［ｃｏｓ（０），ｃｏｓ（９０），ｃｏｓ（９０）］として表現することができる。別の例として、方向４４０は、図４Ｃの重力の方向を表し、負のｙ軸と平行で、負のｙ軸を指し示しており、そのため、方向４４０と正のｘ軸との間の角度（φ）は９０度であり、方向４４０と正のｙ軸との間の角度（θ）は１８０度、方向４４０と正のｚ軸との間の角度（Ψ）は９０度である。したがって、図４Ｃの方向４４０は［０，−１，０］である［ｃｏｓ（９０），ｃｏｓ（１８０），ｃｏｓ（９０）］として表現することができる。
【００４７】
図４Ｄにおいて、ウェアラブルデバイス１００は、図４Ｃに比較して時計回りに４５度回転している。先に議論されているように、ｘ軸はクラウン１２０によって示された方向と平行で、ｙ軸はバンド１４０と平行で、ｚ軸は表示面１６０に垂直である。図４Ｄの方向４５０は、クラウン１２０によって示された方向を表し、そのため、方向４５０と正のｘ軸との間の角度（φ）は０度、方向４５０と正のｙ軸との間の角度（θ）は９０度、方向４５０と正のｚ軸との間の角度（Ψ）は９０度である。したがって、方向４５０は［１，０，０］である［ｃｏｓ（０），ｃｏｓ（９０），ｃｏｓ（９０）］として表現することができる。別の例として、方向４４０は、図４Ｄの重力の方向を表す。方向４４０と正のｘ軸との間の角度（φ）は４５度、方向４４０と正のｙ軸との間の角度（θ）は１３５度、方向４４０と正のｚ軸との間の角度（Ψ）は９０度である。したがって、図５Ｄの方向４４０は［０．７０７，−０．７０７，０］である［ｃｏｓ（４５），ｃｏｓ（１３５），ｃｏｓ（０）］として表現することができる。
【００４８】
方向４５０の表現は、ウェアラブルデバイス１００を回転させたとしても、図４Ｃ及び図４Ｄにおいて同じであることに留意されたい。これは、身体固定参照フレーム４００は、ウェアラブルデバイス１００に対して常に固定されているからである。その結果、ウェアラブルデバイス１００の位置が変化するとき、身体固定参照フレーム４００の３つの軸、並びに方向４５０も変化するが、方向４５０と３つの軸の間の相対位置はそのままで変化しない。一方、重力方向４４０は、「絶対」感覚では変化しないが、ウェアラブルデバイス１００が位置を変えたときには、ウェアラブルデバイス１００に対してその位置が変化する。このため、ウェアラブルデバイス１００が位置を変えるとき、重力方向４４０の表現は、身体固定参照フレーム４００内では固定したままではない。
【００４９】
図５は、本開示のいくつかの実施形態による、ウェアラブルデバイス１００の回転データの第１のセットを示す。具体的には、図５は、身体固定参照フレーム４００における重力の推定を示している。ｘ軸はｃｏｓ（φ）を示し、ここで、φは、身体固定参照フレーム４００における重力と正のｘ軸の間の角度である。ｙ軸はｃｏｓ（θ）を示し、ここで、θは、身体固定参照フレーム４００における重力と正のｙ軸の間の角度である。ｚ軸はｃｏｓ（ψ）示し、ここで、ψは、身体固定参照フレーム４００における重力と正のｚ軸の間の角度である。例えば、ウェアラブルデバイス１００が上空に向かって上向きで、表示面が地面と平行なときには、重力方向は［０，０，−１］として表すことができる。別の例として、クラウンが地面に向けて指し示された場合には、重力方向は［１，０，０］として表すことができる。身体固定参照フレームにおける重力の推定は、ウェアラブルデバイス１００がピッチ及び／又はロール運動をするとき、指示をする助けとなる。例えば、上で論じたように、クラウンが地面の方を指し示すような位置にユーザの手首があるとき、重力方向は［１，０，０］である。次いで、ユーザが、自分の手首を上に９０度回すと、ウェアラブルデバイス１００の表示面が上空に向かって上を向き、表示面が地面と平行になる。そして、重力方向は［０，０，−１］として表される。次いで、ユーザが、自分の手首を縦方向に上へ９０度放ると、ウェアラブルデバイス１００のクラウンが上空に向かって上を向き、重力方向は［−０，０，０］として表される。これらの例は、身体固定参照フレーム４００における重力方向は、ピッチ及び／又はロール運動に応答して変化しうることを示す。いくつかの実施形態では、身体固定参照フレーム４００における重力推定を加速度計２６０と共に使用して、重力を推定することができる。しかし、身体固定参照フレーム４００における重力方向は、ヨー運動に応答して変化することはない。例えば、ウェアラブルデバイス１００が上空に向かって上を向き、表示面が地面と平行な場合には、重力方向は［０，０，−１］として表示される。次いで、ユーザが地平面に沿ってヨー運動すると、重力方向は［０，０，−１］のままである。また、上で論じたように、ウェアラブルデバイス１００は、身体固定参照フレーム４００と同じように回転するので、ウェアラブルデバイス１００及びその構成部品の方向は固定される。例えば、クラウンが、上、真っ直ぐ、又は下を指し示しているかどうかに関わらず、クラウンの方向は常に、身体固定参照フレーム４００において［１，０，０］として表される。したがって、いくつかの実施形態では、外部の参照に対して、ウェアラブルデバイス１００の動作をより容易に示すために、身体固定ではない参照フレーム中のウェアラブルデバイス１００の位置を表すのがより適切である。
【００５０】
図６は、本開示のいくつかの実施形態による、慣性参照フレーム６００を示す。図６において、ｚ軸（又はヨー軸）は重力の方向に基づく。ｘ軸（又はロール軸）及びｙ軸（又はピッチ軸）は、３軸が相互に直交する限り相対的に任意に選択可能である。
【００５１】
図７Ａ〜図７Ｄは、本開示のいくつかの実施形態による慣性参照フレーム７００の一例を示す。図７Ａは、ユーザが水泳している状況における慣性参照フレーム７００を図示する。図７Ａにおいて、ユーザはウェアラブルデバイス１００を装着している。しかし、慣性参照フレームのｚ軸（又はヨー軸）は、ウェアラブルデバイスそれ自体よりも重力の方向に基づく。更に、ユーザがラップスイミングすることを想定すると、ｘ軸（又はロール軸）は、ラップの方向に実質的に平行であり、ｙ軸（又はピッチ軸）は、他の２つの軸に直交する。いくつかの実施形態では、ｘ軸（又はロール軸）及びｙ軸（又はピッチ軸）は、３軸が相互に直交する限り相対的に任意に選択可能である。図７Ａにおいて、ｚ軸はまた、任意のヨー運動がｚ軸の周りを回転するのでヨー軸とも呼ばれる。同様に、ｘ軸はまた、任意のロール運動がｘ軸の周りを回転するのでロール軸とも呼ばれる。また、ｙ軸は、任意のピッチ運動がｙ軸の周りを回転するのでピッチ軸とも呼ばれる。身体固定参照フレーム４００における３軸と慣性参照フレーム７００における３軸との差を知ることにより、身体固定参照フレーム４００内で表現された回転データは、Ｓａｂａｔｉｎｉに議論されるような当業者によって認められた技術を使用して、慣性参照フレーム７００内で表現される技術に変換することができる。
【００５２】
図７Ｂは、ウェアラブルデバイス１００が、慣性参照フレーム７００に対して回転運動を行うことができることを示している。図７Ｂにおいて、向き／方向７１０は、正のｘ軸に対して角度（φ）７０２、正のｙ軸に対して角度（θ）７０４、及び正のｚ軸に対して角度（ψ）７０６を有する。方向７１０は、身体固定参照フレーム７００において［ｃｏｓ（φ），ｃｏｓ（θ），ｃｏｓ（ψ）］として表すことができるが、これは、回転データの第２のセットの非限定的な例／フォーマットである。
【００５３】
図７Ｃ及び図７Ｄは、図４Ｃ及び図４Ｄにおける同一の向きが、慣性参照フレーム７００においていかに異なって表現できるかを示す。図７Ｃにおいて、ウェアラブルデバイス１００は、図４Ｃと同様に垂直に保持されている。先に論じたように、ｚ軸は、慣性参照フレーム７００において重力に基づく。図７Ｃにおいて、正のｚ軸が、重力の正反対の位置として選択され、ｘ軸はｚ軸に垂直で水平に右を指し、ｙ軸はｘ軸及びｙ軸の両方に垂直で図７Ｃから飛び出すように指す。図７Ｃの方向４５０は、クラウン１２０によって示された方向を表し、そのため、方向４５０と正のｘ軸との間の角度（φ）は０度、方向４５０と正のｙ軸との間の角度（θ）は９０度、方向４５０と正のｚ軸との間の角度（ψ）は９０度である。したがって、方向４５０は［１，０，０］である［ｃｏｓ（０），ｃｏｓ（９０），ｃｏｓ（９０）］として表現することができる。別の例として、方向４４０は、図７Ｃの重力の方向を表し、負のｚ軸と平行で、負のｚ軸を指し示しており、そのため、方向４４０と正のｘ軸との間の角度（φ）は９０度であり、方向４４０と正のｙ軸との間の角度（θ）は９０度、方向４４０と正のｚ軸との間の角度（ψ）は１８０度である。したがって、図７Ｃの方向４４０は［１，０，−０］である［ｃｏｓ（９０），ｃｏｓ（９０），ｃｏｓ（１８０）］として表現することができる。
【００５４】
図７Ｄにおいて、ウェアラブルデバイス１００を図７Ｃに比較して時計回りに４５度回転させる。３つの軸は重力に基づくので、それらは図７Ｃと同じように残すことができる。図７Ｄの方向４５０は、クラウン１２０によって示された方向を表し、方向４５０と正のｘ軸との間の角度（φ）は４５度、方向４５０と正のｙ軸との間の角度（θ）は９０度、方向４５０と正のｚ軸との間の角度（ψ）は１３５度である。したがって、方向４５０は［０．７０７，０，−０．７０７］である［ｃｏｓ（４５），ｃｏｓ（９０），ｃｏｓ（１３５）］として表現することができる。別の例として、方向４４０は、図７Ｄの重力の方向を表す。方向４４０と正のｘ軸との間の角度（φ）は９０度、方向４４０と正のｙ軸との間の角度（θ）は９０度、方向４４０と正のｚ軸との間の角度（ψ）は１８０度である。したがって、図７Ｄの方向４４０は［０，０，−１］である［ｃｏｓ（９０），ｃｏｓ（９０），ｃｏｓ（１８０）］として表現することができる。
【００５５】
ここで、重力方向４４０の表現は、たとえウェアラブルデバイス１００が回転したとしても、図７Ｃ及び図７Ｄと同じであることに留意されたい。これは、慣性参照フレーム７００は、重力に対して常に固定されるからである。この結果、ウェアラブルデバイス１００の位置が変化した場合には、慣性参照フレーム７００の３つの軸が一緒に移動することがない。一方、方向４５０は、３つの軸に対して移動するので、方向４５０の表現は、身体固定参照フレーム４００内で固定されていても、慣性参照フレーム４００内では変更することができる。
【００５６】
図８は、本開示のいくつかの実施形態による、ウェアラブルデバイス１００の回転データの第１のセットを示す。具体的には、図８は、ユーザがラップスイミングしている間の、慣性参照フレーム７００におけるクラウン方向の推定を示す。ｘ軸はｃｏｓ（φ）を示し、ここで、φは、慣性参照フレーム７００におけるクラウン方向と正のｘ軸の間の角度である。ｙ軸はｃｏｓ（θ）を示し、ここで、θは、慣性参照フレーム７００におけるクラウン方向と正のｙ軸の間の角度である。ｚ軸はｃｏｓ（ψ）示し、ここで、ψは、慣性参照フレーム７００におけるクラウン方向と正のｚ軸の間の角度である。例えば、ウェアラブルデバイス１００が上空に向かって上向きで、表示面が地面と平行で、クラウンがｘ軸の方を向いているときには、クラウン方向は［１，０，０］として表すことができる。ウェアラブルデバイス１００がヨー運動を行い、クラウンが負のｘ軸の方を向く場合には、クラウン方向は［−１，０，０］として表すことができる。別の例として、クラウンが地面の方を指し示す場合、クラウン方向は［０，０，１］として表すことができる。ユーザがターンする度に、慣性参照フレーム７００のクラウン方向と正のｘ軸の間の角度φが、実質的に１８０度程度変化するので、図８の回転データは，２つのクラスタ８０２及び８０４に大きく分割される。したがって、図８に示す回転データは、データをクラスタ８０２からクラスタ８０４へ、又はその逆に切り替えるときに、ウェアラブルデバイス１００が、切り替え時に定常的な状態変化を受けることを示すことができる。
【００５７】
図９は、本開示のいくつかの実施形態による、重力の方向を決定する方法９００を示す。重力の方向を知ることは、ウェアラブルデバイス１００の、回転データなどの動き情報のための参照フレームを決定するために重要である。いくつかの実施形態では、方法９００は、例えば、ステップを組み合わせ、分割、再配置、変更、追加、及び／又は除去することによって変更することができる。重力判定方法９００はステップ９１０から開始することができる。
【００５８】
ステップ９１０において、動き情報は、ユーザのウェアラブルデバイス（例えば、ウェアラブルデバイス１００）上の１つ以上の動きセンサ２４０から受信することができる。いくつかの実施形態では、動き情報は、ジャイロスコープ２５０などの１つ以上のセンサ２４０からの３次元回転情報、及び加速度計２６０などの１つ以上のセンサ２４０からの３次元加速度情報を含んでもよい。
【００５９】
ステップ９２０において、ウェアラブルデバイス１００の角速度を、身体固定参照フレーム又は慣性参照フレームなどの参照フレームに対して決定してもよい。
【００６０】
ステップ９３０において、重力判定方法９００は、ステップ９２０で決定されたウェアラブルデバイス１００の角速度が閾値を下回るか否かを判定してもよい。例えば、閾値は、概ね、１秒当たり０．０５ラジアン、０．２ラジアン、又は０．５ラジアン等としてもよい。角速度が閾値を超えた場合（例えば、ユーザが運動をしているとき）は、重力判定方法９００はステップ９１０に戻ってもよい。いくつかの実施形態では、重力判定方法９００は先に進む前に、ステップ９１０である時間（例えば、１秒、５秒、１分など）の間、休止又は待機してもよい。
【００６１】
角速度が閾値を下回る場合は（例えば、ユーザが相対的に静止しているとき）、重力判定方法９００は、ステップ９４０に進むことができる。いくつかの実施形態では、ステップ９４０に進む前に、ウェアラブルデバイス１００はまた、ステップ９３０で、ウェアラブルデバイス１００に作用する力の大きさが、通常の重力（１Ｇ）とほぼ等しいかどうかを判定する。大きさが概ね通常の大きさではない場合、重力判定方法９００はまたブロック９１０に戻ることができる。角速度が閾値を下回るとき（例えば、ユーザが相対的には静止しているとき）に重力の方向を推定することは、そうした場合には、ウェアラブルデバイス１００は、他の動作による加速度による干渉又は混乱を受けることがないため、重要である。仮に、ウェアラブルデバイス１００がｘ軸に沿って１ｇの加速度を有する場合、ウェアラブルデバイス１００は重力方向を誤ってもよい。
【００６２】
ステップ９４０において、ウェアラブルデバイス１００に対する重力の方向を推定してもよい。例えば、いくつかの実施形態では、ウェアラブルデバイス１００が比較的静止して保持されるとき、ウェアラブルデバイス１００内の加速度計２６０は、主として重力に起因する、ウェアラブルデバイス１００に作用する力の方向についてのデータを提供することができる。いくつかの実施形態では、重力の方向の推定を一層改善するために、重力判定方法９００は、ウェアラブルデバイス１００を装着したユーザが、加速しているか（例えば、速度を上げる又は速度を落とす）又は概ね一定の速度で移動しているかを判定することができる。
【００６３】
いくつかの実施形態では、重力判定方法９００は、推定された重力方向を出力した後で終了することができる。他の実施形態では、重力判定方法９００は、ウェアラブルデバイスに対する重力方向を推定する方法を、洗練又は繰り返すために、ステップ９１０に戻ってもよい。
【００６４】
図１０は、本開示のいくつかの実施形態による、重力方向を判定するための方法１０００を示す。いくつかの実施形態では、方法１０００は、ステップを組み合わせ、分割、再配置、変更、追加、及び／又は除去することによって変更することができる。重力判定方法１０００は、ユーザがコンパニオンデバイス３００を有する場合に使用することができ、ステップ１０１０から開始することができる。
【００６５】
ステップ１０１０において、重力判定方法１０００は、コンパニオンデバイス（例えば、コンパニオンデバイス３００）の存在を周期的に又は連続的にチェックすることができる。例えば、いくつかの実施形態では、ウェアラブルデバイス１００は、コンパニオンデバイス３００との間で、接続（例えば、Ｂｌｕｅｔｏｏｔｈ、ＩＥＥＥ８０２．１１、Ｗｉ−Ｆｉ、又は他の無線又は有線通信チャネル）が確立されたか、又は確立可能化どうか判定することができる。コンパニオンデバイス３００が存在する場合、重力判定方法１０００は、ステップ１０２０に進んでよい。
【００６６】
ステップ１０２０において、コンパニオンデバイス３００に対する重力の方向を推定することができる。いくつかの実施形態では、重力判定方法１０００とは対照的に、コンパニオンデバイス３００の角速度のほとんど又はすべての回転が、重力の方向に直交するので、コンパニオンデバイス３００の角速度が、閾値を下回るかどうかチェックすることは必要ないものとしてよい。
【００６７】
ステップ１０３０において、コンパニオンデバイス３００に対する重力の方向を出力してもよい。いくつかの実施形態では、コンパニオンデバイス３００に対する重力方向は、ウェアラブルデバイス１００に対する重力の方向と組み合わされてもよいし、又は比較されてもよい。いくつかの実施形態では、コンパニオンデバイス３００は更に、コンパニオンデバイスに対する重力の方向に関する回転速度を決定し、コンパニオンデバイス３００に対する重力の方向に代えて、又はそれに加えて回転速度を出力することができる。
【００６８】
いくつかの実施形態では、重力判定方法１０００は、推定された重力の方向を出力した後で終了することができる。他の実施形態では、重力判定方法１０００は、ウェアラブルデバイスに対する重力の方向を推定する方法を洗練又は繰り返すために、ステップ１０１０に戻ることができる。
腕の振りの動きの判定
【００６９】
図１１は、本開示のいくつかの実施形態による、ユーザの腕の振りの動きが、真正なスイムストロークか、又は偶然の動きかを判定するステップ１１００を図示した流れ図を示す。いくつかの実施形態では、本方法は、１つ以上の動きセンサ２４０から動き情報を受信するステップ（ステップ１１１０）を含む。いくつかの実施形態では、ステップ１１００は、例えば、ステップを組み合わせ、分割、再配置、変更、追加、及び／又は除去することによって変更することができる。
【００７０】
ステップ１１１０において、ウェアラブルデバイス１００は、３次元動き情報を動きセンサ２４０から受信する。ステップ１１２０において、ウェアラブルデバイス１００は、ウェアラブルデバイス１００の３次元回転データの第１のセットを決定する。回転データは、角速度及び角加速度を含むことができる。
【００７１】
角速度は下記の式１によって表すことができる。
ω＝［ｒａｄ／ｓ］    式１
【００７２】
角加速度は下記の式２によって表すことができる。
α＝Δω／Δｔ    式２
【００７３】
いくつかの実施形態では、回転データはジャイロスコープ２５０から受信され、ウェアラブルデバイス１００に対して身体固定参照フレーム内で表される。
【００７４】
動き情報はまた、３次元までのウェアラブルデバイス１００の加速度測定値を含むことができる。加速度測定値は、半径方向及び接線方向加速度の組合せとすることができ、下記の式３で表現することができる。
Ａ＝ω×（ω×ｒ）＋（α×ｒ）式３
ｒ＝モーメントアーム
【００７５】
いくつかの実施形態では、加速度測定は加速度計２６０から受信され、ウェアラブルデバイス１００に対して身体固定参照フレーム内で表される。
【００７６】
ステップ１１３０において、ジャイロスコープから受信した回転データ及び加速度計から受信した加速度測定値に基づいて、モーメントアームを計算することができる。いくつかの実施形態では、例えば図１２に示すように、ウェアラブルデバイス１２２５によって計算されたモーメントアーム１２１５は、肩関節１２１０からの腕の伸張部を表す。図１２に示すように、モーメントアーム１２１５は、肩関節１２１０と肩関節の力線１２２０との間への垂直距離である。力線１２２０は、ユーザの肩関節の周りの腕の振りに対して接線の方向にあり、常に方向が変化する。
【００７７】
一実施形態では、モーメントアームは、式３に示すように、ａ＝ω×（ω×ｒ）＋（α×ｒ）の外積の行列表現を取ることによって計算される。以下は、モーメントアームｒを求めるための加速度（ａ）の外積の計算である。
ａ＝ＷＷｒ（ここでＷｒは（ω×ｒ）の外積を表す）＋Ｕｒ（ここでＵｒは（α×ｒ）の外積を表す；
ａ＝（ＷＷ＋Ｕ）ｒ
例えば、Ｍｏｏｒｅ  Ｐｅｎｒｏｓｅ  ｐｓｅｕｄｏｉｎｖｅｒｓｅを使用して、ｒの最小二乗法を解くことによりｒの値を求めることができる。
【００７８】
モーメントアームは、加速度計及びジャイロスコープの測定値のいくつかのサンプルを取り出し、平均値を求めることにより正規化（Ｎ）することができる。これは下記の式で表すことができる：
ａN＝（ＷＷ＋Ｕ）Nｒ
ｒN＝（ＷＷ＋Ｕ）N＼ａN
【００７９】
計算されたモーメントアーム長は、ユーザの腕の伸びを表し、水泳者の腕の振りの動きが偶然か真正な水泳ストロークであるかを判定するために使用することができる。例えば、ユーザの偶然的な腕の振りは、一般的にユーザの肘関節又は手首を中心に回転するが、ユーザの真正な水泳ストロークは一般的にユーザの肩を中心に回転する。このため、偶然的な腕の振りでは、真正な水泳ストロークよりも短いモーメントアーム長を有する。その結果、モーメントアーム長が長いほど、ユーザの腕の振りの動きが真正な水泳ストロークに近くなる。
【００８０】
ステップ１１４０において、計算されたモーメントアームに基づいて、ウェアラブルデバイスは、水泳者の腕の振りの動きは正しい水泳ストロークであったかどうか判定し、及び／又はその腕の振りの動きを特定のタイプの水泳ストロークとして分類する。水泳ストロークのタイプとしては、自由形、バタフライ、背泳、及び平泳ぎがある。一実施形態では、ウェアラブルデバイスは、モーメントアーム長の最小閾値を正しい水泳ストロークと関連付けたトレーニングデータを記憶する。ウェアラブルデバイスは、計算したモーメントアーム長を記憶した閾値と比較し、計算したアームの長さが記憶している閾値よりも長い場合には、ユーザの腕の振りの動きを真の回転と判定する。トレーニングデータは、性別、年齢、若しくは水泳のレベル、及び／又は他の適切な特性に基づいて、特定の水泳者用にカスタマイズすることができる。いくつかの実施形態では、トレーニングデータのセットは、水泳者のトレーニングセッションから見ることができる。
【００８１】
例えば、５ｃｍ未満のモーメントアームは、ストロークとは言えず、２５ｃｍよりも大きなモーメントアームはまさにストロークである。しかし、５〜２５ｃｍの間の腕の振りは、ストロークと言えようが、様々なレベルの信頼度が各長さに関連付けられることになる。
【００８２】
図１３は、本開示のいくつかの実施形態による、適切な時間、例えば６０秒間にわたる、ウェアラブルデバイス１００の加速度データを含む回転データの第１のセットを示す。具体的には、図１３は、水泳セッション中にユーザの手首に装着されたウェアラブルデバイス１００の回転データの第１のセットを示し、この回転データの第１のセットは、図４Ａ〜図４Ｄに関連して記述した身体固定参照フレーム内で表現される。ｘ軸はＷＷ＋ｕを表し、ｒａｄ2／ｓ2で測定され、ｙ軸は重力で正規化された加速度を表し、ｍ／ｓ2で測定される。
【００８３】
時間周期はユーザが設定することも、固定することもできる。いくつかの実施形態では、この時間周期はユーザがいくつかストロークを完了するのに必要な周期に比例する。ウェアラブルデバイス１００は、ウェアラブルデバイス１００によって検出されたユーザのストロークの平均的な持続時間に基づいて、時間周期を動的に設定することができる。例えば、ユーザが１ストロークを終了するのに３秒かかるとすると、時間周期は９秒に設定することができる。いくつかの実施形態では、ウェアラブルデバイス１００は、サブストローク測定（例えば、２５０ｍｓ）又はマルチストローク測定（例えば、６〜９秒）を行うことができる。サブストローク測定は、近実時間測定値を入手するのに役立つが、ノイズの多い推定値となる可能性がある。一方、マルチストローク推定により、「平均的な」モーメントアームの推定値が入手できる。
【００８４】
図１３に示す実施形態では、加速度データを含む回転データが、２つの腕の振りのセッションから測定される。腕の振りの一方のセッションは、グラフの上部に見えるドットのクラスタ１３１０によって示されるように、肩関節を中心に回転する。他方の腕の振りのセッションは、グラフの下部に見えるドットのクラスタ１３２０によって示されるように、肘関節を中心に回転する。肩関節を中心とする腕の振りから測定されるデータの勾配は、肘関節を中心とする腕の振りから測定されるデータの勾配よりも急である。本実施形態では、勾配の険しさはモーメントアーム長に対応する。換言すると、勾配が急になるほどモーメントアーム長が長くなる。典型的には、水泳ストロークの場合、モーメントアーム長は、肘関節よりも肩関節からの方が（ドットクラスタ１３１０のより急な勾配によって図１３に示すように）より長い。腕の振りの回転が肩付近でのみ発生すると、モーメントアームは手首から肩にかけて算出される。腕の振りの回転が肘付近でのみ発生すると、モーメントアームは手首から肘にかけて算出される。しかしながら、腕の振りの動きは、肩回転と手首回転の組合せであるとすれば、この組み合わされた動きは、その組み合わされた動きのモーメントアームの近似値を提供することができる。
【００８５】
一実施形態では、ウェアラブルデバイス１００は、異なる水泳ストロークタイプのそれぞれの特性であるモーメントアーム長を関連付けるトレーニングデータを記憶する。ウェアラブルデバイスは、計算されたモーメントアーム長を特徴的なモーメントアーム長の値と比較して、水泳ストロークのタイプを判定することができる。異なる水泳ストロークタイプのそれぞれの特徴的なモーメントアーム長の値は、性別、年齢、水泳のレベル、及び／又は他の適切な特性に基づいて、特定の水泳者用にカスタマイズすることができる。いくつかの実施形態では、トレーニングデータのセットは、水泳者のトレーニングセッションから見ることができる。図１４Ａは、平泳ぎに特徴的な、例示的なモーメントアームの測定値を示す。図１４Ｂは、自由形に特徴的な、例示的なモーメントアームの測定値を示す。
【００８６】
いくつかの実施形態では、ウェアラブルデバイス１００は、ジャイロスコープからの回転データ及び加速度計からの加速度測定値を含む、動きセンサからの動きデータの第１のセットを、動き情報の第２のセットに変換する。しかし、身体固定参照フレーム内で表現された動き情報の１つの欠点は、身体固定参照フレームがウェアラブルデバイス１００に対するものであり、ウェアラブルデバイス１００もまた水泳中に変化するため、身体固定参照フレームが、ユーザの腕／手首の動作、及び／又は位置を容易に示すことができないことである。
【００８７】
この問題に対処するために、ウェアラブルデバイス１００は、身体固定参照フレーム内の動きデータを、「慣性／磁気センサを用いたカルマンフィルタに基づく向き判定：可観測性解析及び性能評価」（Ａｎｇｅｌｏ  Ｍａｒｉａ  Ｓａｂａｔｉｎｉ、２０１１年９月２７日発行、Ｓｅｎｓｏｒｓ  ２０１１．１１、９１８２〜９２０６）で論じられた技術などの当業者によって認められた技術を使用して、慣性参照フレーム内の回転データに変換する。
尤度比を用いた動き判定
【００８８】
試行として行われる多数の動き／フィットネス実験において、監督者は、ユーザによって行われる動きのタイプにタグ付けし、動きのタイプに関連付けられた１つ以上の特性を記録することができる。ユーザが動きのタイプを変更すると、監督者も動きのタイプの変更にタグを付けることができる。
【００８９】
例えば、ユーザが前後にラップスイミングしているとき、監督者は、ユーザが実際に前に水泳しているとき、及びユーザがターンしているときにタグ付けすることができる。監督者はまた、速度及びヨー角など、ユーザの水泳又はターンに関連付けられた１つ以上の特性を記録することできる。多数の実験後に、水泳行動対ターン行動を詳述するかなりの量のデータが得られることになる。以下でより詳細に論ずるように、次いで、これらのトレーニングデータは、ユーザが装着しているウェアラブルデバイスによって感知されたユーザの動き情報と共に使用して、ユーザの動きのタイプをリアルタイムに判定することができる。
【００９０】
図１５は、本開示のいくつかの実施形態による、水泳セッション中にユーザが水泳中であるかターン中であるかを判定するステップ１５００を示す流れ図を示す。いくつかの実施形態では、ステップ１５００は、例えば、ステップを組み合わせ、分割、再配置、変更、追加、及び／又は除去することによって変更することができる。以下でより詳細に記述するように、いくつかの実施形態では、ステップ１５００は５つのステップを含むことができる。ステップ１５１０において、ウェアラブルデバイス１００は、ユーザのトレーニングデータのセットを受信する。ステップ１５２０において、ウェアラブルデバイス１００は、ユーザのトレーニングデータのセットに基づいて、複数のヨー角に対する複数の尤度比ＬＲ（ヨー）を決定する。ステップ１５３０において、ウェアラブルデバイス１００は、ウェアラブルデバイス１００の１つ以上のセンサ２４０から受信した動き情報に基づいて、ユーザのヨー角を決定する。ステップ１５４０において、ウェアラブルデバイス１００は、ヨー角に対応するＬＲ（ヨー）の値を検索する。ステップ１５５０において、ウェアラブルデバイス１００は、ＬＲ（ヨー）の値を閾値と比較することにより、ユーザが水泳しているかターンしているかを判定する。
【００９１】
ステップ１５１０において、ウェアラブルデバイス１００は、ユーザのトレーニングデータのセットを受信する。いくつかの実施形態では、トレーニングデータのセットは、ユーザのトレーニングセッションから見ることができる。上で論じたように、これらのトレーニングセッション中に、監督者はユーザをモニタし、ユーザが水泳しているかターンしているか特定することができる。監督者はまた、水泳中のユーザの一定の特性を記録することができる。例えば、監督者は、ユーザの速度及び／又はヨー角を記録することができる。いくつかの実施形態では監督者を必要としない。代わりに、加速度計及び／又はジャイロスコープからの生データを分析することにより、ユーザが、いつ水泳し、ターンしたかを判断することができる。その結果、いくつかの実施形態では、セッション後に、学習データを分析し、タグ付けすることができる。
【００９２】
ヨー角は、ユーザの瞬間的な水泳方向とユーザの定常状態の水泳方向との間の角度を示すことができる。例えば、図１８は、本開示のいくつかの実施形態による、水泳中のユーザのヨー角を示す。図１８において、ユーザは、水泳プールの南端１８１０から北端１８２０へラップスイミングしている。方向１８３０は、ユーザの定常的な水泳方向を示す。方向１８４０、１８５０、１８６０、１８７０は、ユーザの瞬間的な水泳方向の４つのケースを示す。ユーザの瞬間的な水泳方向が１８４０であれば、方向１８４０と方向１８３０の間は０度であり、ユーザのヨー角は０度と示すことができる。ユーザの瞬間的な水泳方向が１８５０であれば、方向１８３０から方向１８５０まで時計周りに９０度であり、ユーザのヨー角は９０度として表示することができる。ユーザの瞬間的な水泳方向が１８６０であれば、方向１８３０から方向１８６０まで時計周りに１８０度であり、ユーザのヨー角は１８０度として表示することができる。ユーザの瞬間的な水泳方向が１８７０であれば、方向１８３０から方向１８７０まで時計周りに２７０度であり、ユーザのヨー角は２７０度として表示することができる。ヨー角を示す他の適切な方法も使用することができる。例えば、いくつかの実施形態では、ユーザの瞬間的な水泳方向が１８７０の場合、方向１８３０から方向１８７０までとは異なり、反時計周りに９０度であることを示すために、ヨー角は２７０度というよりは９０度と表すことができる。
【００９３】
いくつかの実施形態では、ヨー角及び／又は速度などのユーザの動きの特性は、トレーニングセッション中に監督者により直接見ることができる。いくつかの実施形態では、ユーザの動きの特性は、以下により詳細に記述するように、ウェアラブルデバイス１００の動きセンサ２４０によって見ることができる。監督者はまた、ユーザの動きのタイプ（例えば、水泳対ターン）を特定するため、１つ以上のトレーニングセッションの後に、水泳行動対ターン行動を詳述するかなりの量の生データを得ることができる。いくつかの実施形態では、トレーニングセッションは、３〜５分間とすることができる。いくつかの実施形態では、トレーニングセッションは、１０〜２０分などのより長い継続時間とすることができる。いくつかの実施形態では、トレーニングセッションは任意の適切な継続時間とすることができる。生データは、所与の瞬間及び監督者によって特定された動きのタイプに対応する、ユーザのヨー角を示すことができる。例えば、生データは、｛時間タグ、ヨー角、動きのタイプ｝としてフォーマットすることができる。生データはまた、他の適切な情報を含み、任意の他の適切なフォーマットにすることができる。いくつかの実施形態では、監督者は必要としない；代わりに、加速度計及び／又はジャイロスコープからの生データを分析することにより、ユーザが、いつ水泳し、ターンしたかを判断することができる。その結果、いくつかの実施形態では、セッション後に、学習データを分析し、タグ付けすることができる。
【００９４】
次いで、トレーニングデータのセットは、生データに基づいて統計的に決定される。一実施形態では、トレーニングデータのセットは、ターン中であるユーザの複数のヨー角の第１の確率分布、Ｐ（ヨー｜ターン）、水泳中であるユーザの複数のヨー角の第２の確率分布、Ｐ（ヨー｜水泳）、及び、ユーザがターンしていることを示す第１の尤度とユーザが水泳していることを示す第２の尤度との比を示す因子、Ｋを含む。いくつかの実施形態では、トレーニングデータのセットはまた、任意の他の適切な情報を含むことができる。
【００９５】
図１６Ａは、本開示のいくつかの実施形態による、水泳中及びターン中のユーザの複数のヨー角の確率分布を示す。ｘ軸はヨー（度）、ｙ軸は、ユーザが水泳している及びユーザがターンしていることを示す確率質量関数（probability mass functions、ＰＭＦ）である。図１６Ａにおいて、曲線１６１０は、水泳しているユーザの複数のヨー角の第２の確率分布、Ｐ（ヨー｜水泳）を示す。また図１６Ａにおいて、曲線１６２０は、ターンしているユーザの複数のヨー角の第１の確率分布、Ｐ（ヨー｜ターン）を示す。図１６Ａにおいて、ヨー角が概ね７５度よりも小さい場合は、Ｐ（ヨー｜水泳）＞Ｐ（ヨー｜ターン）である。このことは、ユーザが水泳しているときは、ヨー角は約７５度よりも小さい可能性が高く、ユーザがターンしているときは、ヨー角は約７５度よりも大きい可能性が高いことを示唆する。また図１６Ａにおいて、Ｐ（ヨー｜水泳）は、概ね０度で最大値を有し、Ｐ（ヨー｜ターン）は略ね１８０度で最大値を有する。このことは、ユーザが水泳しているときは、ヨー角はおそらく約０度であり、ユーザがターンしているときは、ヨー角はおそらく約１８０度であることを示唆する。
【００９６】
いくつかの実施形態では、係数Ｋは、ユーザが泳いでいることを示す第２の尤度Ｐ（泳ぎ中）に対する、ユーザが泳いでいることを示す第１の尤度Ｐ（ターン中）の比を示すことができ、式４によって表現されることができる。
Ｋ＝Ｐ（ターン中）／Ｐ（泳ぎ中）    式４
【００９７】
いくつかの実施形態では、Ｋは、ユーザのトレーニングセッションからの観測に基づいて推定されることができる。例えば、ユーザが１００ｍプールで泳ぐとき、ユーザは、５０秒間泳いで、５秒間のみでターンすることもある。この例では、何れのランダムな時間においても、ユーザは、ターンすることよりも１０倍泳いでいると見込まれ、Ｋは、０．１に等しくなり得る。
【００９８】
図１５に戻って参照すると、ステップ１５２０において、Ｐ（ヨー｜泳ぎ中）、Ｐ（ヨー｜ターン中）及びＫを含むトレーニングデータの組から、複数の尤度比、ＬＲ（ヨー）が、計算されることができる。一実施形態では、ＬＲ（ヨー）は、次の式５で表現されることができる。
ＬＲ（ヨー）＝Ｐ（ターン中｜ヨー）／Ｐ（泳ぎ中｜ヨー）    式５
【００９９】
式５において、Ｐ（泳ぎ中｜ヨー）は、ユーザが複数のヨー角で泳いでいる確率分布を示す。同様に、Ｐ（ターン中｜ヨー）は、ユーザが複数のヨー角でターンしている確率分布を示す。Ｐ（泳ぎ中｜ヨー）とＰ（ターン中｜ヨー）は、それぞれ、式６及び式７で、更に表現されることができる。
Ｐ（泳ぎ中｜ヨー）＝Ｐ（ヨー｜泳ぎ中）*Ｐ（泳ぎ中）／Ｐ（ヨー）          式６
Ｐ（ターン中｜ヨー）＝Ｐ（ヨー｜ターン中）*Ｐ（ターン中）／Ｐ（ヨー）    式７
【０１００】
式４、５、６及び７から、ＬＲ（ヨー）は、式８で更に表されることができる。
ＬＲ（ヨー）＝Ｐ（ターン中｜ヨー）／Ｐ（泳ぎ中｜ヨー）
＝（Ｐ（ヨー｜ターン中）*Ｐ（ターン中）／Ｐ（ヨー））／（Ｐ（ヨー｜泳ぎ中）*Ｐ（泳ぎ中）／Ｐ（ヨー））
＝Ｐ（ヨー｜ターン中）／Ｐ（ヨー｜泳ぎ中）*（Ｐ（ターン中）／Ｐ（泳ぎ中））
＝Ｋ*Ｐ（ヨー｜ターン中）／Ｐ（ヨー｜泳ぎ中）    式８
【０１０１】
式８は、ＬＲ（ヨー）が、トレーニングデータに含まれておりトレーニングセッションの生データから取得されることができる、Ｋ、Ｐ（ヨー｜泳ぎ中）及びＰ（ヨー｜ターン中）によって決定されることができることを示す。
【０１０２】
代替的に、いくつかの実施形態では、ＬＲ（ヨー）は、式９及び１０に示されているように、対数スケールで表現されることができる。
ＬＲ（ヨー）＝ｌｏｇ10（Ｐ（ターン中｜ヨー）／Ｐ（泳ぎ中｜ヨー））式９
＝ｌｏｇ10（Ｋ*Ｐ（ヨー｜ターン中）／Ｐ（ヨー｜泳ぎ中））    式１０
【０１０３】
ＬＲ（ヨー）が式５に示されているように、（Ｐ（ターン中｜ヨー）／Ｐ（泳ぎ中｜ヨー）と表現されるとき、ヨー角が１よりも大きいＬＲ（ヨー）の値を生ずる場合には、ユーザはこのヨー角でよりターン中でありそうであり、ヨー角が１よりも小さい値ＬＲ（ヨー）を生ずる場合には、ユーザはこのヨー角でより泳ぎ中でありそうである。
【０１０４】
同様に、ＬＲ（ヨー）が式１０に示されているように、ｌｏｇ１０（Ｐ（ターン中｜ヨー）／Ｐ（泳ぎ中｜ヨー））と表現されるとき、ヨー角が０よりも大きいＬＲ（ヨー）の値を生ずるとき、ユーザはこのヨー角でよりターン中でありそうであり、ヨー角が０よりも小さい値ＬＲ（ヨー）を生ずる場合には、ユーザはこのヨー角でより泳ぎ中でありそうである。
【０１０５】
図１６Ｂは、ＬＲ（ヨー）が式１０で表現されるときの複数のヨー角におけるＬＲ（ヨー）の値を表す。ｘ軸は、度で表されたヨーであり、ｙ軸は、尤度比である。図１６Ｂにおいて、曲線１６３０は、ＬＲ（ヨー）が０に等しいところを示す。図１６Ｂにおいて、曲線１６４０は、ヨー角が約７５度よりも大きいとき、ＬＲ（ヨー）は概ね０よりも大きいことを示唆し、それは、ユーザがよりターン中でありそうであることを意味し、ヨー角がヨー角が約７５度よりも小さいとき、ＬＲ（ヨー）は概ね０よりも小さく、それは、ユーザがより泳ぎ中でありそうであることを意味する。
【０１０６】
図１５について上で考察したように、ステップ１５１０及び１５２０において、複数のヨー角におけるユーザの動きの尤度比、ＬＲ（ヨー）は、トレーニングデータの組に基づいて決定されることができる。いくつかの実施形態では、ＬＲ（ヨー）の参照表は、各ヨー角におけるＬＲ（ヨー）の値を示すように決定されることができる。ユーザが未来の水泳セッションにあるときは、ユーザのヨー角が受けられ次第、対応するＬＲ（ヨー）値が、参照表から引き出されることができ、ユーザが泳ぎ中かターン中かどうかの決定がリアルタイムでなされることができる。参照表は、追加のトレーニングセッションからのデータに基づいていつも微調整される及び／又は更新されることができる。
【０１０７】
図１５を参照すると、ステップ１５３０において、ウェアラブルデバイス１００は、ウェアラブルデバイス１００の１つ以上のセンサ２４０から受けられた動き情報に基づいてユーザのリアルタイムのヨー角を決定することができる。ステップ１５３０が、更に、図１７に説明されている。図１７は、本開示のいくつかの実施形態に従う泳ぎ中の間のユーザのヨー角を決定するプロセス１７００を表すフローチャートを示す。いくつかの実施形態では、プロセス１７００は、例えば、ステップを、組合せ、分割し、再配置し、変更し、加え、及び／又は削除することによって、変更されることができる。以下により詳細に記載されているように、いくつかの実施形態では、プロセス１７００は、３つのステップを含むことができる。ステップ１７１０において、ウェアラブルデバイス１００は、１つ以上の動きセンサ２４０から動き情報を受ける。ステップ１７２０において、ウェアラブルデバイス１００は、ウェアラブルデバイス１００の回転データの第１の組を決定する。ステップ１７３０において、ウェアラブルデバイス１００は、回転データの第１の組を、ユーザのヨー角を含む、回転データの第２の組に変換する。
【０１０８】
ステップ１７１０において、動き情報は、ウェアラブルデバイス１００上の１つ以上の動きセンサ２４０から受けられてもよい。いくつかの実施形態では、動き情報は、ジャイロスコープ２５０からの、ウェアラブルデバイス１００の３次元回転データを含んでもよい。いくつかの実施形態では、動き情報は、加速度計２６０からのウェアラブルデバイス１００の３次元加速度を含んでもよい。
【０１０９】
ステップ１７２０において、ウェアラブルデバイス１００は、１つ以上の動きセンサ２４０から受けられた動き情報に基づいて、ウェアラブルデバイス１００の回転データの第１の組を決定する。いくつかの実施形態では、ウェアラブルデバイス１００の回転データは、座標系に対して、ウェアラブルデバイス１００の角位置、角速度及び／又は角加速度などの、ウェアラブルデバイス１００がどのように回転するかを含む。いくつかの実施形態では、ウェアラブルデバイス１００の回転データが角加速度である場合には、角速度及び／又は角位置は、角加速度を時間について積分することによって、得られることができる。同様に、ウェアラブルデバイス１００の回転データが角速度である場合には、角位置は、角速度を時間について積分することによって、得られることができる。いくつかの実施形態では、回転データの第１の組は、ジャイロスコープ２５０から受けられ、ウェアラブルデバイス１００について、身体固定の座標系で表現される。
【０１１０】
ステップ１７３０において、ウェアラブルデバイス１００は、回転データの第１の組を回転データの２の組に変換する。上記のように、身体固定の座標系における回転データは、ウェアラブルデバイス１００が外部の基準に対して動きをしているかどうかを容易に示すことはできない。この問題に対処するために、ウェアラブルデバイス１００は、「Ｋａｌｍａｎ−ｆｉｌｔｅｒ−ｂａｓｅｄ  ｏｒｉｅｎｔａｔｉｏｎ  ｄｅｔｅｒｍｉｎａｔｉｏｎ  ｕｓｉｎｇ  ｉｎｅｒｔｉａｌ／ｍａｇｎｅｔｉｃ  ｓｅｎｓｏｒｓ：ｏｂｓｅｒｖａｂｉｌｉｔｙ  ａｎａｌｙｓｉｓ  ａｎｄ  ｐｅｒｆｏｒｍａｎｃｅ  ｅｖａｌｕａｔｉｏｎ」  Ａｎｇｅｌｏ  Ｍａｒｉａ  Ｓａｂａｔｉｎｉ、２０１１年９月２７日に発行された、Ｓｅｎｓｏｒｓ  ２０１１、１１、９１８２〜９２０６において考察された技術のような当業者によって理解された技術を用いて、身体固定の座標系における回転データを慣性座標系における回転データへ返還する。
【０１１１】
図１５に戻って参照すると、ステップ１５４０において、ステップ１５３０において得られたヨー角は、対応するＬＲ（ヨー）の値を引き出すために、ウェアラブルデバイス１００によって用いられることができる。例えば、ＬＲ（ヨー）の値は、ＬＲ（ヨー）の参照表から引き出されることができる。
【０１１２】
ステップ１５５０において、引き出されたＬＲ（ヨー）の値に基づいて、ウェアラブルデバイス１００は、引き出された値ＬＲ（ヨー）を閾値と比較することによって、ユーザが泳ぎ中であるかターン中であるかを決定することができる。具体的には、ＬＲ（ヨー）が式５におけるように表現されている場合には、閾値は１に設定されることができ、引き出されたＬＲ（ヨー）の値が１よりも大きい場合、ユーザはより泳ぎ中でありそうであり、引き出されたＬＲ（ヨー）の値が１よりも小さい場合、ユーザはよりターン中でありそうである。同様に、ＬＲ（ヨー）が式１０におけるように表現されている場合には、閾値は０に設定されることができ、引き出されたＬＲ（ヨー）の値が０よりも大きい場合、ユーザはより泳ぎ中でありそうであり、引き出されたＬＲ（ヨー）の値が０よりも小さい場合、ユーザはよりターン中でありそうである。
泳法の分類
【０１１３】
いくつかの実施形態では、本開示は、ユーザの泳法を、自由形、背泳ぎ、平泳ぎ及びバタフライを含む４つの共通の形のうちの１つに分類するように構成されてもよいウェアラブルデバイスを記載する。
【０１１４】
図１９は、本開示のいくつかの実施形態に従う、ユーザの泳法の形を分類するプロセス１９００を表すフローチャートを示す。いくつかの実施形態では、動きセンサから情報を受けることと基本周期を計算するステップ（ステップ１９１０）、ウェアラブルデバイス１００の回転データの組を決定するステップ（ステップ１９２０）、回転データの組から特徴の第１の組を抽出して背泳ぎと平泳ぎを分類しこれらの泳法の形を自由形とバタフライから区別する第１段階の分析を行うステップ（ステップ１９３０）及び回転データの組から特徴の第２の組を抽出して自由形をバタフライから区別する第２段階の分析を行うステップ（ステップ１９４０）を含むことができる。いくつかの実施形態では、プロセス１９００は、例えば、ステップを、組合せ、分割し、再配置し、変更し、加え、及び／又は削除することによって、変更されることができる。
【０１１５】
ステップ１９１０において、ウェアラブルデバイス１００は、１つ以上の動きセンサ２４０からの出力情報を標本化する。いくつかの実施形態では、情報は、重力、加速度、回転又は姿勢のいかなる組合せも含むことができる。動きセンサ２４０からの標本化された情報出力に基づいて、基本周期が、計算されることができる。例えば、１つ以上の動きセンサ２４０からの情報が、１４Ｈｚで標本化されることができる。ストロークカウンタから取得されたストロークレートに基づいて、ウェアラブルデバイス１００は、２ストロークに相当する期間の動き情報を標本化する。いくつかの実施形態では、標本化されたデータが十分に周期的な信号を示さない場合、ウェアラブルデバイス１００は、十分に周期的な信号を受けるまで、動きセンサ情報を、再標本化する。ユーザのストロークを分類するプロセス１９００は、ストロークごとを基本に行われることができるが、ユーザがラップ又はデータを報知するためのある規定された期間を終了した後に、ユーザに報知されることができる。
【０１１６】
ステップ１９２０において、ウェアラブルデバイス１００は、１つ以上の動きセンサ２４０から受けられた情報に基づいて、３次元までの、ウェアラブルデバイス１００の、加速度データを含む、回転データの組を決定する。いくつかの実施形態では、ウェアラブルデバイス１００の回転データは、座標系に対する、ウェアラブルデバイス１００の角位置、角速度及び／又は角加速度などの、ウェアラブルデバイス１００がどのように回転しているか、を含む。いくつかの実施形態では、ウェアラブルデバイス１００の回転データが角加速度である場合、角速度及び／又は角位置は、角加速度を時間について積分することによって得られることができる。同様に、ウェアラブルデバイス１００の回転データが角速度である場合は、角位置は、角速度を時間について積分することによって得られることができる。いくつかの実施形態では、回転データの組は、ジャイロスコープ２５０から受けられ、ウェアラブルデバイス１００について身体固定の座標系で表現される。いくつかの実施形態では、加速度データは、加速度計２６０から受けられ、これもまたウェアラブルデバイス１００について身体固定の座標系で表現される。
【０１１７】
図２０は、水泳セッションの間ユーザによって身に着けられた、ウェアラブルデバイス１００の例示的な三次元の経路を示す、一連のグラフ２０００、２０１０、２０２０、２０３０を示す。具体的には、各グラフは、４つの泳法の形のうちの１つに対応し（すなわち、グラフ２０００は自由形に対応し、グラフ２０１０は背泳ぎに対応し、グラフ２０２０は平泳ぎに対応し、グラフ２０３０はバタフライに対応する）、その泳法の形の３０ストロークについてのウェアラブルデバイス１００の三次元の経路を示す。各グラフは、３軸すなわちウェアラブルデバイスの表の面の向きを表す軸、ウェアラブルデバイスのクラウンの向きを表す軸及びウェアラブルデバイスのバンドの向きを表す軸を含む。各軸は、地を指し示していることを表す、１から、天を指し示していることを表す、−１までの範囲にある。グラフ２０００、２０１０、２０２０及び２０３０によって示されているように、平泳ぎ（グラフ２０２０）と背泳ぎ（グラフ２０１０）の双方は、これらを自由形（グラフ２０００）とバタフライ（グラフ２０３０）から区別することを容易にする独特の軌道を示す。しかしながら、自由形とバタフライは、互いに区別することをより難しくする、類似する三次元の経路を示す。したがって、開示された主題のいくつかの実施形態では、２段階の分析を行うことができる。第１段階の分析の間に、ステップ１９３０に関連して以下のように記載されているように、特徴は、回転データの組から抽出されて、平泳ぎと背泳ぎを識別し、これらの泳法の形をバタフライと自由形から区別する。ストロークが平泳ぎ又は背泳ぎであると特定された場合、分析の第２のレベルは行われる必要はない。そうではなく、平泳ぎと背泳ぎが除外される場合、第２段階の分析は、ステップ４４０に関連して以下に記載されているように、回転データの組に実行されることができて、ストロークが自由形かバタフライかを識別する。いくつかの実施形態では、第２段階の分析は、第１段階の分析の結果にかかわらず実行されることができる。
【０１１８】
ステップ１９３０において、第１段階の分析は、回転データの組からある特徴を分析して背泳ぎと平泳ぎを識別しこれらのストロークの形をバタフライと自由形から区別することによって実行されることができる。開示された主題のいくつかの実施形態によれば、少なくとも３つの特徴が、背泳ぎと平泳ぎを識別しこれらのストロークの形をバタフライと自由形から区別するように用いられることができる。これらの３つの特徴は、（１）ユーザのストロークの最速部分の間の平均のクラウンの向き、（２）ユーザの腕と手首の回転の相関、及び（３）クラウンのまわりの回転のどのくらいが全角速度に寄与するか、を含むことができる。これらの前述の特徴は、自由形をバタフライから区別することは意図されていない。
【０１１９】
いくつかの実施形態によれば、図２１にグラフ２１００によって示されているように、第１段階の分析の３つの特徴のうちの２つは、異なる泳ぎの形のそれぞれについてグラフに表されている。具体的には、ｙ軸は、−１（負の相関、ここで手首と腕は異なる方向に回転する）から、０（相関なし）、１（正の相関、ここで手首と腕は同じ方向に回転する）までの範囲にわたる、ストロークの最速の部分の間の腕と手首の回転の相関を表す。グラフの左上部に示されているように、背泳ぎは、手首と腕の回転の正の相関を示し（すなわち、手首は内方に回転し、そして腕は下方に回転する）、一方、平泳ぎは、腕と手首の回転の負の相関を示す（すなわち、手首は外方に回転し、そして腕は下方に回転する）。更に、グラフ２１００のｘ軸は、ユーザの指先（又はクラウン）が天に向かって上を向いている、−１から、ユーザの指先（又はクラウン）が下方に向けられて地を向いている、１までの範囲にわたる、ストロークの最速の部分の間のウェアラブルデバイス１００の平均のクラウンの向き（これはユーザの指先の向きの代用となるものである）を表す。グラフ２１００に示されているように、背泳ぎ２１１０の最速の部分の間（すなわち、手が水から出ていて天に向かって弧を作っているときの戻しフェーズの間）、ユーザの指先は、天に向かって上方に向き、平泳ぎ２１４０の間、ユーザの指先は、手が最速に動いているとき地に向かって下方に向く。
【０１２０】
また、図２１において、グラフ２１００にも示されているように、バタフライ２１３０と自由形２１２０のストロークは、腕と手首との間の同様の相関を示す（すなわち、双方とも、腕と手首の回転の正の相関を示す）とともに、ストロークの最速の部分の間の同様のクラウンの向き（すなわち、指先は地に向かって下方を向いている）を示し、これらの２つの特徴に基づいてこれらのストロークを互いに区別することを難しくしている。これに対比して、背泳ぎは、（１）腕−手首の負の相関及び（２）平均のクラウンの向きがストロークの最速の部分の間天に向かって向いていることに基づいて容易に区別可能である。平泳ぎもまた、（１）腕−手首の正の相関及び（２）平均のクラウンの向きがストロークの最速の部分の間下方に向いていることに基づいて容易に区別可能である。
【０１２１】
図２２に示されている次の一連のグラフは、図２１に関連して上で考察されたように、平均のクラウンの向きの特徴に焦点を当てている。具体的には、図２２に示されている一連のグラフは、ストロークの最速の部分によって重みづけされた、重力に対する平均のクラウンの向きを示す。この特徴は、ユーザの腕が最も早く動いているとき、ユーザの指先が差している方向の代用となるものである。この平均のクラウンの向きの特徴は、次式で表現されることができる。
ｍｅａｎ＿ｇｘ＿ｗ１＝ｓｕｍ（ｇｒａｖｉｔｙ＿ｘ*ｔｏｔａｌ＿ｕｓｅｒ＿ａｃｃｅｌｅｒａｔｉｏｎ）／ｓｕｍ（ｔｏｔａｌ＿ｕｓｅｒ＿ａｃｃｅｌｅｒａｔｉｏｎ）  式１１
【０１２２】
図２２に示されている一連のグラフは、異なる泳法の形のそれぞれに対するクラウンの向きに対応する（すなわち、グラフ２２００は自由形に対応し、グラフ２２１０は平泳ぎに対応し、グラフ２２２０は背泳ぎに対応し、グラフ２２３０はバタフライに対応する）。グラフそれぞれのｙ軸は、クラウンの向きｚを表す。ここで、−１＝クラウンが天に向かって上に向いている、０＝クラウンが水平線に平行に向いている、及び１＝クラウンが地に向かって下を向いている、である。グラフそれぞれのｘ軸は、秒で示した時間を表す。
【０１２３】
クラウンの向きの特徴は、背泳ぎと平泳ぎを識別し、これらの泳法の形を他の泳法の形から区別するために用いられることができる。図２２２０に示されているように、背泳ぎにおけるユーザの指先は、ユーザの腕が水から出て速く動いているとき、水平線から天に向かい水平線に戻る弧をたどる。他の泳法の形とは異なり、背泳ぎにおけるクラウンの向きは、ストロークの半分の間水平線よりも上にあり、大きい加速度の点の間天を向いている。
【０１２４】
平泳ぎについては、グラフ２２１０に示されているように、クラウンは、ストロークの穏やか部分の間水平線よりも上に行き、ストロークの最速の部分の間下方に向いている。自由形（グラフ２２００）とバタフライ（グラフ２２３０）の双方については、クラウンは、これらのストロークの最速の部分の間水平線よりも上に行きかつ水平線に平行に向いており、この特徴に基づいてこれらのストロークを区別することを難しくしている。
【０１２５】
開示された主題のいくつかの実施形態によれば、図２３は、異なる泳法の形についてのクラウンの向きの特徴を図表で示すための他の方法である。この実施形態では、グラフ２３００のｘ軸は、ストロークの最速の部分の間のクラウンの向きを表し（−１＝クラウンが天に向かって上に向いている、０＝クラウンが水平線に平行に向いている、及び１＝クラウンが地に向かって下を向いている）、ｙ軸は、さまざまな技量の泳ぎ手の大きな集団にわたって取られたストロークの数を表す。具体的には、グラフ２３００は、異なる泳ストロークの形、すなわち、背泳ぎ（三角形からなる曲線２３１０によって示されている）、バタフライ（円からなる曲線２３２０によって示されている）、自由形（正方形からなる曲線２３３０によって示されている）及び平泳ぎ（星からなる曲線２３４０によって示されている）に対するクラウンの向きの分布を示す。グラフ２３００に示されているように、クラウンの向きの特徴を用いて、背泳ぎが、他のストロークの形から最も容易に区別可能である。
【０１２６】
図２４に示されている次の一連のグラフは、図２１に関連して考察されたように、手首−腕の相関の特徴に焦点を当てている。各グラフは、異なる泳法の形に対応する（すなわち、グラフ２４００はバタフライに対応し、グラフ２４１０は背泳ぎに対応し、グラフ２４２０は平泳ぎに対応し、グラフ２４３０は自由形に対応する）。具体的には、図２４に示されている一連のグラフは、前腕の回転に関して、バンドの頂部の位置（ｇｒａｖｉｔｙ＿ｙ）が前腕に垂直な軸のまわりにどのように回転するか（ｒｏｔａｔｉｏｎ＿ｙ）を示す。この特徴は、次式で表されることができる。
ｇｒａｖ＿ｒｏｔａｔｉｏｎ＿ｎｏｒｍ＿ｃｆｐｙ＿ｗ１＝ｇｒａｖｉｔｙ＿ｙとｒｏｔａｔｉｏｎ＿ｙとの間の重み付きピアソン相関    式１２
【０１２７】
以下に示されているように、相関は、各点における総角速度によって重み付けされることができて、ストロークのよりおそい部分の間に起こる集団を考慮に入れないようにする。
重み付き平均：
【数１】
2019534721.tif 000003
重み付き共分散：
【数２】
2019534721.tif 000004
重み付き相関：
【数３】
2019534721.tif 000005
【０１２８】
図２４の一連のグラフは、１４Ｈｚの標本化速度における標本の数を表す、ｘ軸、及び、時計回りの動き（２．５）又は反時計回りにおける動き（−２．５）を表すｙ軸を含む。図２４に示されている一連のグラフは、同じスケールとなるように正規化されている。具体的には、各信号は、可視化の目的のためにそれらのそれぞれの大きさを正規化するようにその標準偏差で除算されている。各グラフは、２つの曲線を示す。すなわち、破線によって示された、一方の曲線は、手首の回転（すなわち、前腕に垂直な軸の周りの回転を有するバンドの頂部の向き（ｇｒａｖｉｔｙ＿ｙ））を表し、実線によって示された、他方の曲線は、前腕の回転（ｒｏｔａｔｉｏｎ＿ｙ）を表す。
【０１２９】
泳法の形のそれぞれに対して手首−前腕の相関を分析することは、平泳ぎを除いて、全ての泳法の形に対して手首−前腕の正の相関を示す。平泳ぎは、手首−前腕の負の相関を示す。具体的には、平泳ぎについて（グラフ２４２０）、手首は外向きに回転し、腕は下向きに回転する。全ての他のストロークについては、グラフ２４００（バタフライ）、２４１０（背泳ぎ）及び２４３０（自由形）によって示されているように、手首は、内向きに回転し、そして腕は下向きに回転する（すなわち、正の相関）。したがって、この手首−前腕の相関の特徴は、平泳ぎを特定するために及びそれを他のストロークの形から区別するために用いられることができる。
【０１３０】
腕と手首の回転の相関の特徴を図表で示す他の方法は、図２５にグラフ２５００によって示されている。ｘ軸は、腕と手首の回転の相関を表し、ここで、−１は負の相関を示し、０は相関がないことを示し、１は正の相関を示す。ｙ軸は、さまざまな力量の泳ぎ手の大きな集団からのストロークの数を表す。具体的には、グラフ２５００は、異なるストロークの形、すなわち、平泳ぎ（星からなる曲線２５１０によって示されている）、自由形（正方形からなる曲線２５２０によって示されている）、背泳ぎ（三角形からなる曲線２５３０によって示されている）及びバタフライ（円からなる曲線２５４０によって示されている）に対する、腕と手首の回転の相関の分布を示す。グラフ２５００に示されているように、腕と手首の回転の相関の特徴を用いて、平泳ぎを他のストロークの形から区別することは容易である。
【０１３１】
図２６に示されている一連のグラフは、開示された主題のいくつかの実施形態に従う、第１段階の分析に用いられることができて背泳ぎと平泳ぎを自由形とバタフライから識別し区別する第３の特徴に、焦点を当てている。具体的には、この特徴は、クラウンのまわりの回転のどのくらいが総角速度（及び符号）に寄与するかを分析する。
【０１３２】
図２６に示されている一連のグラフは、クラウンのまわりの正規化された角速度を表す、ｙ軸、及び、１４Ｈｚの標本化速度における、標本の数を表すｘ軸を含む。自由形（２６００）とバタフライ（２６２０）についてのグラフは、ユーザの腕が水から出ているときに自由形とバタフライの間の内向きの回転を捕捉する、式３について負の回転の平均を示す。他方、平泳ぎ（２６１０）と背泳ぎ（２６３０）についてのグラフは、正の回転の平均を示す。
【０１３３】
クラウンのまわりの相対的な角速度の特徴を図表で示す他の方法は、図２７にグラフ２７００によって示されている。ｘ軸は、クラウンのまわりの相対的な角速度を表す。ｙ軸は、さまざまな技量レベルをもつ泳ぎ手の大集団からのストロークの数を表す。グラフは、異なるストロークの形に対するクラウンのまわりの相対的な角速度の分布を示す。グラフ２７００に示されているように、クラウンのまわりの相対的な角速度の特徴を用いて、背泳ぎ（三角形からなる曲線２７１０によって示されている）と平泳ぎ（星からなる曲線２７２０によって示されている）を、自由形（正方形からなる曲線２７３０によって示されている）とバタフライ（円からなる曲線２７４０によって示されている）から区別することは容易である。
【０１３４】
第１段階の分析について上で詳述された３つの特徴は、３法ロジスティック回帰において用いられ、泳法の形を分類することにおけるそれらの実用性によって重み付けされてもよい。本開示は、３法ロジスティック回帰に限定されることはなく、例えば、線形判別分析（ＬＤＡ）、サポートベクターマシン（ＳＶＭ）、ニューラルネットワーなどの、どのような選別器もここでは用いられることができ、同様の結果を生じることが、理解される。いくつかの実施形態では、腕−手首の相関の特徴と平均のクラウンの向きの特徴は、クラウンのまわりの回転の特徴よりもより大きな重み付けが与えられる。上で考察した３つの特徴は例示的であり、他の適切な特徴が用いられてもよい。
【０１３５】
ステップ１９４０において、第１段階の分析が回転データの組について行われた後、第２段階の分析が行われることができ、回転データの組からのある一定の特徴が、自由形をバタフライから区別するために検討されることができる。いくつかの実施形態では、９つの特徴が、バタフライと自由形との間の区別をするために、第２段階の分析の間に用いられることができる。
【０１３６】
用いられることができる第１の特徴は、次の式によって表現されることができる、引きフェーズの間のバンドのまわりの相対的な腕の回転である。
ＲＭＳ（引きフェーズの間の回転ｙ）／ＲＭＳ（全ストロークの間の回転ｙ）、ここでＲＭＳは二乗平均である  式１３
【０１３７】
相対的な腕の回転の特徴の比は、バタフライについてより大きい傾向がある。何故ならば、バタフライは、自由形に比較して、引きフェーズの間にウェアラブルデバイス１００のバンドのまわりのより多くの（より強い）回転を有する傾向があるが、戻しフェーズの間にバンドのまわりの同様の又はより少ない回転を有する傾向があるからである。バタフライの戻しフェーズの間、手のひらは、自由形の間よりも水平線により平行にとどまる傾向があり、これは、戻しの間バンドのまわりのより少ない回転の結果となる。両手は、バタフライにおいて戻しの間より平行であるので、回転は、顔のまわりにある傾向ある（バンドのまわりのより少ない回転）。自由形については、両手は、平行であるのはより少なく、そうなので、バンドのまわりのより多くの回転がある。
【０１３８】
用いられることができる第２の特徴は、モーメントアームの特徴ｒａｎｇｅ（ｕｘｚ）／ｒａｎｇｅ（ｗｙ）であり、ここで、
ｕｘｚ＝ｓｑｒｔ（ｓｕｍ（ｕｓｅｒ＿ｘ２＋ｕｓｅｒ＿ｚ２），ｗｙ＝ａｂｓ（ｒｏｔａｔｉｏｎ＿ｙ），ｒａｎｇｅ（ｘ）＝ｍａｘ（ｘ）−ｍｉｎ（ｘ）  式１４
である。
【０１３９】
モーメントアームの特徴は、自由形に比較して、バタフライの間、より長いモーメントアーム（すなわち、アームが延ばされている）を捕捉する。この特徴は、バンド（すなわち、軸ｙ）のまわりの回転をバンドに垂直な平面における直線的加速度と比較する。モーメントアームが長いほど、回転に相対的な直線的加速度は大きくなるであろう。
【０１４０】
図２８に示されているグラフ２８００は、上で考察した第１と第２の特徴をグラフ化している。具体的には、グラフ２８００は、モーメントアームの特徴を表す、ｘ軸、及び、引きフェーズの間の相対的な腕の回転の大きさを表す、ｙ軸を含む。グラフ１５００によって示されているように、これらの２つの特徴は、バタフライを自由形から区別することにおいて重要である。
【０１４１】
バタフライ（２８１０）を自由形（２８２０）から区別ために用いられることができる第３の特徴は、回転ｙに対する加速度ｚの比である。これは、モーメントアームの他のバージョンであり、ｕｚ／ｗｙ、ここで、
ｕｚ＝ｓｕｍ（ａｂｓ（ｒｏｔａｔｉｏｎ＿ｙ）），ｕｚ＋ｓｕｍ（ａｂｓ（ｕｓｅｒ＿ｚ））  式１５
によって表現されることができる。
【０１４２】
バタフライを自由形から区別するために用いられることができる第４の特徴は、図２１〜図２３に関連して上述された、第１段階の分析の間に用いられる特徴と同様の、加速度によって重み付けされた平均重力クラウンである。この特徴は、クラウンの向き（これは、ストロークの間のユーザの指先の向きについて代用となるものである）を測定する。それは、ストロークの最速の部分によって重み付けされてストロークの戻しフェーズにより大きい重み付けを与える。バタフライにおいて、重力に対するクラウンの向きは、０に近く、これは、ユーザの両手が、自由形に比較して、バタフライの間、水平線により平行にとどまることを捕捉する。
【０１４３】
バタフライを自由形から区別するために用いられることができる第５の特徴は、ｇｒａｖｉｔｙ＿ｙ（バンドの頂部）とｒｏｔａｔｉｏｎ＿ｙ（バンドのまわりの回転）との間の相関であり、
【数４】
2019534721.tif 000006
によって測定されることができる。
【０１４４】
具体的には、この特徴は、ストロークの間どのように手首と腕がいっしょに回転するかを測定する。手首と腕の相関は、自由形よりもバタフライについてより小さく、腕が回転しているが手首は回転しないことがバタフライストロークの間により多く起こることを示す。この特徴はまた、自由形に比較して、バタフライの間両手が水平線により平行にとどまる（すなわち、手首のより少ない回転ともに両腕の向きが変わる）ことを捕捉する。
【０１４５】
バタフライを自由形から区別するために用いられることができる第６の特徴は、クラウンの回転のＲＭＳであり、これは、式すなわち、
ＲＭＳ（ｒｏｔａｔｉｏｎ＿ｘ）        式１７
によって表現されることができる。
【０１４６】
この特徴は、自由形に比較して、バタフライによって発揮されるより強い回転エネルギを捕捉する。
【０１４７】
バタフライを自由形から区別するために用いられることができる第７の特徴は、クラウンのまわりの最小回転であり、これは、式すなわち、
ｍｉｎ（ｒｏｔａｔｉｏｎ＿ｘ）        式１８
によって表現されることができる。
【０１４８】
この特徴もまた、自由形に比較して、バタフライによって発揮されるより強い回転エネルギを捕捉する。
【０１４９】
バタフライを自由形から区別するために用いられることができる第８の特徴は、バンドのまわりの最大回転であり、これは、式すなわち、
ｍａｘ（ｒｏｔａｔｉｏｎ＿ｙ）        式１９
によって表現されることができる。
【０１５０】
この特徴もまた、自由形に比較して、バタフライによって発揮されるより強い回転エネルギを捕捉する。
【０１５１】
バタフライを自由形から区別するために用いられることができる第９の特徴は、ｙに対するｘの最大回転であり、これは、式すなわち、
ｍａｘ（ａｂｓ（ｒｏｔａｔｉｏｎ＿ｘ）／ｍａｘ（ａｂｓ（ｒｏｔａｔｉｏｎ＿ｙ））      式２０
によって表現されることができる。
【０１５２】
この特徴もまた、自由形に比較して、バタフライによって発揮されるより強い回転エネルギを捕捉する。
【０１５３】
これらの９つの特徴は、バタフライを自由形から区別することにおけるこれらの有用性に基づいて、バタフライを自由形から区別するために２法ロジスティク回帰においていっしょに用いられることができ、重み付けされることができる。ほとんどの分類器（ＳＶＭ、ＬＤＡなど）がこの同じ特徴の組を用いて同様に動作するであろうことが理解される。上述した９つの特徴は例示的であり、他の適切な特徴が使用されることもできることが更に理解される。いくつかの実施形態では、第２段階の分析の９つの特徴は、次の、最大から最小にランク付された、有用性の順序を有する。
【表１】
2019534721.tif 000007
ストロークのフェーズを決定すること
【０１５４】
本開示は、ユーザの泳法のフェーズを決定するように構成されることもできるウェアラブルデバイスを記載する。図２９Ａ〜図２９Ｂに示されているように、泳法（例えば、バタフライ２９２５、自由形２９３０、背泳ぎ２９３５及び平泳ぎ２９４０）は、４つのフェーズ、すなわち、グライド２９０５、引き２９１０、移行２９１５及び戻し２９２０に分けられることができる。各フェーズは、そのフェーズに特有の一定の特徴を示す。例えば、グライド２９０５−ユーザの腕が進行の方向にユーザの前に伸ばされているとき−は、該してストロークの最も穏やかな部分である。このフェーズは、ストロークの他の３つのフェーズに比較して、ユーザの加速度の最小量及び最も安定な手首の向きを示す。次のフェーズ（すなわち、引きフェーズ２９１０）は、ユーザの手が、水中にあり、泳ぎ手を前方へ推進するときに、起こる。このフェーズは、グライドフェーズ２９０５から増大した加速度及び泳ぎ手の指先の向きにおける変化を示す。バタフライ、自由形及び背泳ぎについては、指先は、このフェーズを通して下を指す傾向がある。背泳ぎについては、指先は、引きフェーズの間水平線により平行であるであろう。図２９Ａ〜図２９Ｂに示されている第３のフェーズは、移行フェーズ２９１５、引きフェーズ２９１０と戻しフェーズ２９２０との間のフェーズである。移行フェーズ２９１５では、泳ぎ手の指先の向きは、進行の方向とは逆であり、進行の方向とユーザの指先の現在の向きとの間で最大の角度を示すであろう。このフェーズは、通常最短の継続時間を有する。最後に、戻しフェーズ２９２０、泳ぎ手が泳ぎ手の手を進行の方向へ戻すときは、通常最大の加速度を示す。バタフライ用、自由形及び背泳ぎについては、手は、戻しフェーズの間水から出ている。平泳ぎについては、手は水の中にとどまる。戻しフェーズは、通常、全ての泳法にわたって最大の加速度を示すであろうが、違いは、平泳ぎについてより小さく表されるであろう。上で提供されたストロークは例示的であること、及び他のストロークは同様のフェーズに分けられることができることが、理解される。
【０１５５】
図３０は、本開示のいくつかの実施形態に従う、ユーザの泳法の形を決定するプロセス３０００を表すフローチャートである。いくつかの実施形態では、方法は、動きセンサから情報を受けること（ステップ３０１０）、ウェアラブルデバイス１００の、加速度データを含む、回転データの第１の組を決定すること（ステップ３０２０）、回転データの第１の組を回転データの第２の組に変換すること（ステップ３０３０）、データの第２の組に基づいてある一定のフェーズを決定すること（３０４０、３０５０）及びフェーズの特性を分析すること（ステップ３０６０）を含むことができる。いくつかの実施形態では、プロセス３０００は、例えば、ステップを、組合せ、分割し、再配置し、変更し、加え、及び／又は削除することによって、変更されることができる。
【０１５６】
ステップ３０１０において、ウェアラブルデバイス１００は、１つ以上の動きセンサ２４０から情報を受ける。いくつかの実施形態では、情報は、重力、加速度、回転又は姿勢のいずれの組み合わせも含むことができる。動きセンサ２４０から出力される情報に基づいて、基本周期が計算されることができる。ユーザが泳いでいないと決定される場合、いくつかの実施形態では、ウェアラブルデバイス１００は、ストロークのフェーズを決定しないであろう。
【０１５７】
１つ以上の動きセンサ２４０から出力される情報は、ユーザがストロークを完了するために必要な期間よりもわずかに長い期間に比例する時間定数に基づいて、遮断周波数をもつローパスフィルタを用いてフィルタにかけられることができる。
【０１５８】
時間間隔はユーザによって設定されることができるか、又は、時間間隔は固定されることができる。いくつかの実施形態では、時間間隔は、平均のユーザが単一のストロークを完了するために必要とする期間よりも長い期間に比例する。いくつかの実施形態では、ウェアラブルデバイス１００は、ウェアラブルデバイス１００によって検出されるユーザのストロークの平均継続時間に基づいて、時間間隔を動的に設定することができる。例えば、ユーザがストロークを終了するのに３秒要する場合、時間間隔は、６秒に設定されることができる。
【０１５９】
ステップ３０２０において、ウェアラブルデバイス１００は、１つ以上の動きセンサ２４０から受けられる情報に基づいて３次元までの、ウェアラブルデバイス１００の、加速度データを含む、回転データの第１の組を決定する。いくつかの実施形態では、ウェアラブルデバイス１００の回転データは、座標系に対する、ウェアラブルデバイス１００の角位置、角速度及び／又は角加速度などの、ウェアラブルデバイス１００がどのように回転しているか、を含む。いくつかの実施形態では、ウェアラブルデバイス１００の回転データが角加速度である場合、角速度及び／又は角位置は、角加速度を時間について積分することによって得られることができる。同様に、ウェアラブルデバイス１００の回転データが角速度である場合は、角位置は、角速度を時間について積分することによって得られることができる。いくつかの実施形態では、回転データの第１の組は、ジャイロスコープ２５０から受けられ、ウェアラブルデバイス１００について身体固定の座標系で表現される。いくつかの実施形態では、加速度データは、加速度計２６０から受けられ、これもまたウェアラブルデバイス１００について身体固定の座標系で表現される。
【０１６０】
ステップ３０３０において、ウェアラブルデバイス１００は、加速度データを含む、回転データの第１の組を、回転データの第２の組に変換する。上記のように、身体固定の座標系における回転データは、ウェアラブルデバイス１００が外部の系に対して動きをしているかどうかを容易に示すことはできない。この問題に対処するために、ウェアラブルデバイス１００は、「Ｋａｌｍａｎ−ｆｉｌｔｅｒ−ｂａｓｅｄ  ｏｒｉｅｎｔａｔｉｏｎ  ｄｅｔｅｒｍｉｎａｔｉｏｎ  ｕｓｉｎｇ  ｉｎｅｒｔｉａｌ／ｍａｇｎｅｔｉｃ  ｓｅｎｓｏｒｓ：ｏｂｓｅｒｖａｂｉｌｉｔｙ  ａｎａｌｙｓｉｓ  ａｎｄ  ｐｅｒｆｏｒｍａｎｃｅ  ｅｖａｌｕａｔｉｏｎ」Ａｎｇｅｌｏ  Ｍａｒｉａ  Ｓａｂａｔｉｎｉ、２０１１年９月２７日発行された、Ｓｅｎｓｏｒｓ  ２０１１、１１、９１８２〜９２０６において考察された技術のような当業者によって理解された技術を用いて、身体固定の座標系における、加速度データを含む、回転データを慣性座標系における回転データへ返還する。
【０１６１】
図３１Ａ〜図３１Ｄは、本開示のいくつかの実施形態に従う、時間の間隔に対する慣性系におけるウェアラブルデバイス１００の、加速度データを含む、回転データを表す。具体的には、図３１Ａ〜図３１Ｄは、身体固定座標から慣性座標系へ変換された、水泳セッションの間泳ぎ手の手首に着けられたウェアラブルデバイス１００についての、加速度データを含む、回転データの組を表す。ｘ軸は、１つ以上の動きセンサ２４０から受けられる信号の時間間隔を表し、（１／１００秒で）測定され、ｙ軸は、重力で正規化された加速度を表し、ｍ／ｓ2で測定される。ユーザ加速度は、曲線３１１０によって表され、ヨー角は、曲線３１２０によって表されている。ヨー角は、ウェアラブルデバイス１００のクラウンの向き（すなわち、ユーザの指先の方向）に対応する。
【０１６２】
いくつかの実施形態では、曲線３１４５（黄色で示されている）によって表された、ピッチ角もまた、異なるフェーズを決定するために用いられることができる。例えば、ピッチ角は、０近く（グライド）から０よりも大きい角度（引き）となってそれから０に戻る（戻し）移行を示すであろう。例えば、ピッチが加速度といっしょに０に近いときの状態、すなわち、
状態１番（グライド）：ピッチはゼロに近く、最小の加速度
状態２番（引き）：ピッチは０近くから０でなくなり０近くに戻るように移行する
状態３番（移行）：ピッチは再び０に近い
状態４番（戻し）：ピッチはここでは０でなくても又は０であってもよく（ストロークの形及びユーザに依存して）が、加速度は他の３つのフェーズよりも概ね大きいはずである、を追跡することによって手が反対にあることが推定されることがでる。
【０１６３】
図３１Ａ〜図３１Ｄのそれぞれは、回転データに基づいてユーザの泳法の異なるフェーズを強調している。ステップ３０４０において、いくつかの実施形態によれば、泳法のグライドフェーズは、図３１Ａに示されているように、１つのストロークにわたって、ユーザの加速度の最小Ｌ２ノルムを見つけることによって決定されることができる。加速度の最も小さい量に対応する、加速度曲線３１１０に沿う最も低い点は、３１３０によって示され、グライドフェーズの中間点を表す。グライドフェーズの始まりは、中間点前の最大加速度の１０％と定義されることができ、グライドフェーズの終わりは、中間点後の最大加速度の１０％と定義されることができる（例えば、加速度曲線３１１０の点Ａと点Ｂとの間の長さ）。一旦最小加速度が決定されると、基準ヨー角３１４０（すなわち、ヨー角が０度であるとき）は、最小加速度点に呼応して決定される。基準ヨー角３１４０は、最小加速度点の真下のヨー角曲線３１２０に沿う点である。
【０１６４】
他の実施形態では、グライドの継続時間は、ヨー基準角の１０度内の加速度曲線の部分に基づいて計算される。
【０１６５】
ステップ３０４０において、移行フェーズは、基準ヨー角３１４０に関連して、図３１Ｂに示されているように、最大ヨー角３１５０に基づいて決定される。移行期間の継続時間（すなわち、曲線の点Ｃと点Ｄとの間の部分）は、最大ヨー角の１０度以内である。最大ヨー角３１５０は、泳ぎ手の指先が進行の方向とほとんど逆であるときの泳ぎ手の指先の向きを表す。換言すれば、曲線に沿う点は、進行の方向と泳ぎ手の指先の現在の向きとの間の最大角度を示す。
【０１６６】
一旦泳法のグライドフェーズと移行フェーズが識別されると、戻しフェーズと引きフェーズは、グライドフェーズと移行フェーズの開始と終了に基づいて決定されることができる（ステップ３０５０）。例えば、図３１Ｃに示されているように、点Ｂと点Ｃとの間及び点Ｂ’と点Ｃ’との間の、引きフェーズは、単に、グライドフェーズの終了と移行の開始との間の加速度曲線３１１０とヨー角曲線３１２０の部分である。そして、図３１Ｄに示されているように、点Ｄと点Ｅとの間及び点Ｄ’と点Ｅ’との間の、戻しフェーズは、移行フェーズの終了と新たなグライドフェーズの開始との間（すなわち、旧グライドフェーズに１周期を加えた）の加速度曲線３１１０とヨー角曲線３１２０の部分である。戻しの期間は通常最大加速度を示す。
【０１６７】
ステップ３０６０において、一旦泳法の異なるフェーズが識別されると、個々のフェーズの特性が識別され分析されることができる。いくつかの実施形態では、泳法の形の間で異なる特定のフェーズの特性が、ストロークを分類するために用いられることができる。例えば、戻しフェーズの間のより長い腕のスイープは、自由形ストロークに比較して、典型的にはバタフライに関連付けられる。したがって、戻しの間の測定された腕のスイープは、バタフライストロークと自由形ストロークとの間の区別をするために用いられることができる。他の例では、より長い移行フェーズは、バタフライストロークに比較して、典型的には自由形ストロークに関連付けられ、したがって、自由形ストロークを識別するために用いられることができる。別の例では、バタフライは、全てのフェーズにわたって、全ての回転のｙ軸エネルギに相対的な引きフェーズの間のｙ軸まわりの回転エネルギに基づいて、自由形から区別されることができる。これは、次の式によって計算されることができる。
相対的な引き回転Ｙ＝ＲＭＳ（引きの間のｒｏｔａｔｉｏｎ−ｙ）／ＲＭＳ（全てフェーズにわたるｒｏｔａｔｉｏｎ−ｙ）
ＲＭＳ：ｒｏｏｔ−ｍｅａｎ−ｓｑｕａｒｅ（二乗平均平方根値）
【０１６８】
比は、自由形に比較してバタフライについてより大きい。バタフライは、自由形よりも、引きフェーズの間のバンドのまわりのより多くの（より強い）回転を有する傾向があるが、戻し（両腕が戻しを通して水平線により平行である傾向があるフェーズ）の間のバンドのまわりの同様か又はより少ない回転を有する傾向がある。これらは、少数のサンプルに過ぎず、他の区別するフェーズの特性が、泳法を分類するために用いられることができる。
【０１６９】
図３２Ａは、バタフライストロークの４つのフェーズに対する加速度とヨーのデータをグラフ化し、図３２Ｂは、自由形ストロークの４つのフェーズをグラフ化している。ｘ軸は、１つ以上の動きセンサ２４０から受けられた信号の時間間隔を表し、ｙ軸は、重力によって正規化された加速度を表し、ｍ／ｓ2で測定される。ユーザ加速度データは、グラフの灰色の陰影が付けられた部分によって表され、ヨー角データは、黒い曲線で表されている。
【０１７０】
図３２Ａ及び図３２Ｂの双方において、グライド、引き、移行及び戻しのフェーズが、ラベル付けされている。図３２Ａに示されているバタフライストロークのフェーズを図３２Ｂに示されている自由形ストロークの同様のフェーズと比較すると、同様のフェーズの間の次の違いが明瞭である。
【表２】
2019534721.tif 000008
【０１７１】
上に示された表は、自由形ストロークとバタフライストロークのフェーズの同様なものの間のいくつかの相違の例を表す。当業者は、自由形ストロークとバタフライストロークの同様のフェーズの間に他の相違が存在しこれら２つのストロークを区別するために用いられることができることを理解するであろう。
【０１７２】
本発明の他の応用において、特定のフェーズを決定することは、ターンの検出／ラップ計数の間の誤検出を抑制することに役立ち得る。例えば、グライドフェーズの間のヨー角のみが、ターンを検出する目的のために考慮されることができる。これは、ターン検出のために考慮された角度が、手がたいていは進行の方向を向いているときであり、したがってストローク間の相互の関係性のために何れのヨー角の効果も減少させることに役立つことを、確実にすることになる。換言すれば、ヨー角が全ストロークにわたって追跡される場合、それは、グライドから移行フェーズへの０度と１８０度との間になるであろうし、これは、ストロークの相互の関係性がフィルタされて除かれなければターンと混同されることになる。しかし、ヨーがグライドフェーズの間のみ追跡される場合、２つ連続するストローク間でグライドフェーズの間のヨーにおける１８０度の変化は、実際のターンである見込みがより大きい。
【０１７３】
他の応用では、フェーズの決定は、真の泳法を決定することに役立ち得る。例えば、ユーザのストロークのフェーズの継続時間が、ユーザが実際のストロークを行ったかどうかを決定するためにモデルのストロークのフェーズの継続期間と比較されることができる。同様に、特定のフェーズに対する加速度及び手首の向きを含む他の特性が、ユーザが実際のストロークを行ったかどうかを決定するようにモデルのストロークのフェーズの同様の特性と比較するために用いられることができる。別の例では、ユーザのストロークは、ユーザが実際のストロークを行ったかどうかを決定するように、ストロークの４つフェーズ全てが正しい順序で行われたかどうかを決定するために、調べられることができる。
【０１７４】
モデルのストロークは、性別、年齢又は泳ぎのレベル及び／又は他の適切な特性に基づいて特定の泳ぎ手に対しカストマイズされることができる。いくつかの実施形態では、モデルのストロークは、泳ぎ手のトレーニングセッションから観察される。
軌道の一貫性の決定
【０１７５】
本開示は、ユーザが泳いでいる間のユーザのストロークの軌道の一貫性を決定するいくつかの方法を記載する。例えば、図３３は、本開示のいくつかの実施形態に従う、水泳セッションの間のユーザのストロークの軌道の一貫性を決定するプロセス３３００を表すフローチャートを示す。いくつかの実施形態では、プロセス３３００は、例えば、ステップを、組合せ、分割し、再配置し、変更し、加え及び／又は削除することによって、変更されることができる。以下により詳細に記載されているように、プロセス３３００は、５つのステップを含むことができる。ステップ３３１０において、ウェアラブルデバイス１００は、１つ以上の動きセンサ２４０から動き情報を受ける。ステップ３３２０において、ウェアラブルデバイス１００は、ウェアラブルデバイス１００の回転データの組を決定する。ステップ３３３０において、ウェアラブルデバイス１００は、回転データの組が第１の過去の期間においてその方向に沿って最小の分散をもつ第１の方向を決定する。ステップ３３４０において、ウェアラブルデバイス１００は、回転データの組が第２の過去の期間においてその方向に沿って最小の分散をもつ第２の方向を決定する。ステップ３３５０において、ウェアラブルデバイス１００は、第１の方向と第２の方向と間の相違を決定してユーザのストロークの軌道の一貫性を決定する。
【０１７６】
ステップ３３３０において、ウェアラブルデバイス１００は、回転データの組が第１の過去の期間においてその方向に沿って最小の分散をもつ第１の方向を決定する。いくつかの実施形態では、第１の過去の期間は、相対的に短くてもよい。非限定的な例として、第１の過去の期間は、１０秒であることができ、ステップ３３３０は、１０秒毎に実行されることができる。いくつかの実施形態では、第２の回転データの組がその方向に沿って最小の分散を有する方向は、当業者によって理解される主成分を用いて決定されることができる。例えば、図３４を参照すると、図３４は、３つの軸、ｘ、ｙ及びｚを有する三次元空間におけるユーザのストロークの軌道３４１０を示す。図３４において、軌道３４１０は、楕円の形状を有し、ｘ−ｙ平面に沿っている。軌道３４１０に沿う位置は、ｘ軸とｙ軸に沿う分散を有するが、軌道３４１０の何れの位置もｚ軸に沿う０成分を有するので、ｚ軸に沿ういかなる分散も有しない。主成分分析を用いると、軌道３４１０の第３の主成分は、ｚ軸に平行でありかつｘ−ｙ平面に垂直である、方向３４２０であることになる。第３の主成分３４２０の１つの物理的な意味は、それが軌道３４１０の回転の軸を示すということである。この例では、軌道３４１０は、第１の過去の期間における回転データの組の軌道である場合、方向３４２０は、ステップ３３３０において決定された第１の方向である。第１の過去の期間が１０秒に設定される場合、過去の１０秒毎の回転データの組の軌道に対する新たな第１の方向となることになる。ユーザがストロークの完全な繰り返しを有するときの理想的な予想される展開では、１０秒毎に決定された第１の方向は、同じになることになる。なぜならば、回転データの組の軌道がある期間の間重なることになるからである。しかし、実際の水泳セッションにおいては、ユーザは、ストロークの完全な繰り返しを維持しないであろうし、第１の過去の期間毎に決定された第１の方向は、変化するであろう。ユーザのストロークの動きの一貫性を示す１つの方法は、現在の第１の方向と、例えば、３分間又は何れか適切な期間などの、より長い過去の期間にわたる平均の第１の方向との間の偏差を測定することである。
【０１７７】
図３３に戻って参照すると、ステップ３３４０において、ウェアラブルデバイス１００は、回転データの組が第２の過去の期間においてその方向に沿って最小の分散を有する第２の方向を決定する。いくつかの実施形態では、第２の方向は、ステップ３３３０において第１の方向が決定されるのと同じ方法によって決定されることができる。上記のように、いくつかの実施形態では、第２の過去の期間は、ステップ３３３０で用いられた第１の過去の期間よりも長い。例えば、第１の過去の期間が１０秒である場合、第２の過去の期間は、いくつかの実施形態では、３分であることができる。３分は１８０秒であるから、３分毎に、１つの第２の方向と１８個の第１の方向が決定されることができ、第２の方向は、過去３分において決定された平均の第１の方向である。
【０１７８】
図３５は、本開示のいくつかの実施形態に従うユーザのストロークの軌道を表す。図３５において、３５１０は、特定の水泳セッションに対するユーザのストロークの軌道を示す。図３４の軌道３４１０のようではなく、軌道３５１０は、完全に反復的ではなく、泳いでいる間のユーザのより現実的なストロークの動きを表す。図３５において、線３５２０は、相対的により短い時間の期間にわたる軌道３５１０の第３の主成分の方向を表し、破線３５３０は、相対的により長い時間の期間にわたる軌道３５１０の第３の主成分の方向を表す。例えば、軌道３５１０は、３分にわたって泳いでいる間のユーザの回転データの組であることができる。そして、一実施形態では、図３３に記載されているステップ３３３０は、１０秒毎に実行されることができて、各１０分の間の軌道３５１０の部分の第３の主成分を決定する。結果は、軌道３５１０の部分が各１０分の間に最小分散をもつ方向である、線３５２０であることができる。また、図３３に記載されているステップ３３４０は、全３分間にわたって軌道３５１０の第３の主成分を決定するように、実行されることができる。結果として、軌道３５１０が全３分間にわたって最小分散をもつ方向である、破線３５３０であることになり得る。軌道３５１０が１０秒毎に完全に反復的である場合、線３５２０は、破線３５３０とぴったり揃うことになる。図３５から、線３５２０と破線３５３０との間の偏差は、軌道３５１０がある期間の間にどのようにふらつくかの視覚的なインジケータを提供する。これは、ユーザのストロークの一貫性の尺度を提供する。
【０１７９】
図３３に戻って参照すると、ステップ３３５０において、ウェアラブルデバイス１００は、第１の方向と第２の方向との相違を決定する。いくつかの実施形態では、第２の過去の期間は、第１の過去の期間よりも長く、第２の方向は、過去における複数の第１の方向の平均とみなされることができる。それらの実施形態において、ステップ３３５０で得られた相違は、ユーザの短い期間のストロークの軌道の回転の軸の方向がユーザの長い期間／平均のストロークの軌道の回転の軸の方向からどのように外れるかを示す。いくつかの実施形態では、相違の大きさが小さいことは、第１の過去の期間の間のユーザの高いレベルの軌道の一貫性を示し、相違の大きさが大きいことは、第１の過去の期間の間のユーザの低いレベルの軌道の一貫性を示す。高いレベルの軌道の一貫性は、とりわけ、ユーザがより高い泳ぎの技量、より高い効率性及び／又はより少ない疲労を有することを示すこともある。低いレベルの軌道の一貫性は、その逆を示すこともある。
【０１８０】
図３６は、本開示のいくつかの実施形態に従う異なる標本化点における、ユーザの短い期間のストロークの軌道の回転の軸の方向とユーザの長い期間／平均のストロークの軌道の回転の軸の方向との間の進行中の相違を表す。図３６は、異なるフィルタによって処理されたデータを示す。ここで、３６０１は、拡張カルマンフィルタを表し、３６０２は相補フィルタを表す。図３６において、ｘ軸は、０．０１秒毎に標本化される、標本化点を示す。ｙ軸は、回転の平均の軸とストロークの各軌道に対する回転の瞬間的な軸との間の角度を示す。図３６における標本化周期は、０．１秒であるが、標本化周期は、他の場合において、０．００２秒と０．１秒との間などの、何れの他の適切な値でもあり得る。上述したように、いくつかの実施形態では、回転の瞬間的な軸は、相対的に短い期間にわたるユーザのストロークのストローク軌道の第３の主成分を決定することによって得られることができる。いくつかの実施形態では、かかる短い期間は、少なくとも１つから２つの軌道を得るために十分な時間であることができる。例えば、短い期間は、５秒から１０秒であることができる。いくつかの実施形態では、他の適切な値が使用されることができる。回転の平均の軸は、相対的に長い期間にわたるユーザのストロークのストローク軌道の第３の主成分を決定することによって得られることができる。図３６において、角度が０度である場合、回転の平均の軸と回転の瞬間的な軸との間の変動は無く、これは、ユーザのストローク軌道の一貫性のレベルが高いことを意味する。角度が０度から遠ざかるほど、ユーザのストロークの一貫性がより低くなる。いくつかの実施形態では、ユーザのストロークの低い一貫性のレベルは、ユーザが低い泳ぎの技量である、低い効率である、疲れている及び／又は健康に関連する問題を抱えていることを示すことができる。
【０１８１】
いくつかの実施形態では、主成分分析を用いることに加えて又は代えて、ユーザのストロークの一貫性は、空間エントロピー分析を用いて決定されることができる。例えば、図３７は、本開示のいくつかの実施形態に従う水泳セッションの間のユーザのストローク軌道の一貫性を決定するプロセス３７００を表すフローチャートを示す。いくつかの実施形態では、プロセス３７００は、例えば、ステップを、組合せ、分割し、再配置し、変更し、加え、及び／又は削除することによって、変更されることができる。以下により詳細に記載されているように、いくつかの実施形態では、プロセス３７００は、４つのステップを含むことができる。ステップ３７１０において、ウェアラブルデバイス１００は、１つ以上の動きセンサ２４０から動き情報を受ける。ステップ３７２０において、ウェアラブルデバイス１００は、ウェアラブルデバイス１００の回転データの組を決定する。ステップ３７３０において、ウェアラブルデバイス１００は、回転データの組に基づいてユーザのストローク軌道のヒストグラムを決定する。ステップ３７４０において、ウェアラブルデバイス１００は、ヒストグラムのエントロピーのレベルを決定する。
【０１８２】
ステップ３７３０において、ウェアラブルデバイス１００は、回転データの組に基づいてユーザのストローク軌道のヒストグラムを決定する。一実施形態では、ヒストグラムは、ユーザのストローク軌道のヒートマップであることができる。例えば、図３８は、本開示のいくつかの実施形態に従うユーザのストローク軌道のヒートマップを表す。図３８では、ヒートマップは、当業者によって理解される地平座標を表す２次元ヒストグラム３８００で表現されている。ヒストグラム３８００の水平軸は、地平座標の方位角であり、ここで、方位角は、０度から３６０度までの範囲のΦと示されることができる。ヒストグラム３８００の縦軸は、地平座標の高度である。ここで、高度は、０度から１８０度までの範囲のΘと示されることができる。ここで、一実施形態では、０度は地平座標の天頂に対応し、１８０度は地平座標の天底に対応する。ヒストグラム３８００は、ユーザのストローク軌道がどのように複数のΦ−Θビンに対応するかを示す。すなわち、各Φ−Θビンは、そのビンがユーザのストローク軌道にどのくらい対応しそうであるかを示すストロークの可能性を有することができる。ユーザのストローク軌道があるビンに高い頻度で対応する場合、そのビンは、ストロークの可能性のより高い値を有することができ、これは、ビン３８１０やビン３８２０などの、図３８におけるより明るい色に対応する。ユーザのストローク軌道があるビンにより低い頻度で対応する場合、そのビンは、ストロークの可能性のより低い値を有することができ、これは、図３８におけるより暗い色に対応する。
【０１８３】
ステップ３７４０において、ウェアラブルデバイス１００は、ヒストグラムのエントロピーのレベルを決定する。一実施形態では、エントロピーのレベルは、式２１で表現されるように各Φ−Θビンのストロークの可能性の合計の絶対値として計算されることができる。
【０１８４】
【数５】
2019534721.tif 000009
【０１８５】
式２１において、Ｐは、あるΦ−Θビンに点を有する軌道の経験確率測度を示す。いくつかの実施形態では、エントロピーは、軌道の確率測度が異なるΦ−Θビンにわたって広がっている程度を示す。図３８において、完全に一貫性のあるストロークは、最小の数のΦ−Θビンを占めることになり、したがってより低いエントロピーのレベルを有する。他方において、非常に一貫性が少ないストロークは、多くのΦ−Θビンを占めることになり、したがってより高いエントロピーのレベルを有する。例えば、全てのΦ−Θビンにわたって一様にランダムなプロセスは、最も一貫性のないストローク軌道であることになり、最大のエントロピーを生ずることになる。したがって、ユーザのストローク軌道の一貫性のレベルは、エントロピーのレベルによって特徴づけられることができる。すなわち、エントロピーのレベルが低いほど、ユーザのストローク軌道はより一貫性がある。いくつかの実施形態では、ヒストグラムのエントロピーのレベルは、ヒストグラムの分散のレベルに関連する。ヒストグラムが小さな数のΦ−Θビンに集中している場合、分散のレベルは低い。ヒストグラムが大きな数のΦ−Θビンに広がっている場合、分散のレベルは高い。いくつかの実施形態では、図３８は、抽出標本の総数によって正規化された２次元ヒストグラムとして見られることができる。
【０１８６】
本開示はその応用が明細書に述べられた又は図面に表された構成の詳細及び構成要素の配列に限定されないことが理解されるべきである。本開示は他の実施形態が可能であり様々な方法で実施され実行されることが可能である。また、本明細書に用いられている表現や用語は説明の目的のためのものであり限定とみなされるべきではない。例えば、本開示に記載されている技術は、腕の伸びの量に基づいて真の泳ぎのストロークを識別すること又は泳法の形を分類することに限定されない。他の応用は、歩行活動に対する歩容解析又はウェイトトレーニング活動に対する繰り返しの計数のために腕の伸びの量を用いることを含む。
【０１８７】
このようであるから、当業者は本開示が基づいている概念が本開示のいくつかの目的を実行するための他の構成、システム、方法及び媒体を設計するための基本として容易に利用されることもできることを理解するであろう。したがって、特許請求の範囲が本開示の趣旨及び範囲から逸脱することない限りそのような等価な構成を含むとみなされることは、重要である。
【０１８８】
本開示は上述の例示的な実施形態に説明され表されているが、本開示は一例としてのみなされたものであること、及び本開示の趣旨及び範囲から逸脱することなく、以下の特許請求の範囲によってのみ限定される、本開示の実施の詳細において数々の変更がなされることもできることが理解される。
【図１】
2019534721.tif 000010
【図２】
2019534721.tif 000011
【図３】
2019534721.tif 000012
【図４Ａ】
2019534721.tif 000013
【図４Ｂ】
2019534721.tif 000014
【図４Ｃ】
2019534721.tif 000015
【図４Ｄ】
2019534721.tif 000016
【図５】
2019534721.tif 000017
【図６】
2019534721.tif 000018
【図７Ａ】
2019534721.tif 000019
【図７Ｂ】
2019534721.tif 000020
【図７Ｃ】
2019534721.tif 000021
【図７Ｄ】
2019534721.tif 000022
【図８】
2019534721.tif 000023
【図９】
2019534721.tif 000024
【図１０】
2019534721.tif 000025
【図１１】
2019534721.tif 000026
【図１２】
2019534721.tif 000027
【図１３】
2019534721.tif 000028
【図１４Ａ】
2019534721.tif 000029
【図１４Ｂ】
2019534721.tif 000030
【図１５】
2019534721.tif 000031
【図１６Ａ】
2019534721.tif 000032
【図１６Ｂ】
2019534721.tif 000033
【図１７】
2019534721.tif 000034
【図１８】
2019534721.tif 000035
【図１９】
2019534721.tif 000036
【図２０】
2019534721.tif 000037
【図２１】
2019534721.tif 000038
【図２２】
2019534721.tif 000039
【図２３】
2019534721.tif 000040
【図２４】
2019534721.tif 000041
【図２５】
2019534721.tif 000042
【図２６】
2019534721.tif 000043
【図２７】
2019534721.tif 000044
【図２８】
2019534721.tif 000045
【図２９Ａ】
2019534721.tif 000046
【図２９Ｂ】
2019534721.tif 000047
【図３０】
2019534721.tif 000048
【図３１Ａ】
2019534721.tif 000049
【図３１Ｂ】
2019534721.tif 000050
【図３１Ｃ】
2019534721.tif 000051
【図３１Ｄ】
2019534721.tif 000052
【図３２Ａ】
2019534721.tif 000053
【図３２Ｂ】
2019534721.tif 000054
【図３３】
2019534721.tif 000055
【図３４】
2019534721.tif 000056
【図３５】
2019534721.tif 000057
【図３６】
2019534721.tif 000058
【図３７】
2019534721.tif 000059
【図３８】
2019534721.tif 000060
【手続補正書】
【提出日】平成31年2月27日(2019.2.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサと、
コンピュータプログラムコードを記憶する不揮発性メモリと、
を備えるシステムであって、前記コンピュータプログラムコードが、前記プロセッサ上で実行されたときに、前記プロセッサに、
ウェアラブルデバイスのプロセッサ回路によって、前記ウェアラブルデバイスの１つ以上の動きセンサからの動きデータを受信し、前記１つ以上の動きセンサは加速度計又はジャイロスコープのうちの少なくとも一方を含み、
前記動きデータを用いて、前記動きデータに基づき座標系において表される回転データを決定し、
前記回転データに基づきモーメントアーム長を算出し、
前記モーメントアーム長を閾値の長さと比較し、
前記モーメントアーム長を前記閾値の長さと比較したことに基づき、前記ユーザの腕の振りが水泳ストロークであると決定し、
前記ユーザの腕の振りが水泳ストロークであると決定したことに応じて、前記ユーザの水泳メトリック又はエネルギー消費のうちの少なくとも一方を算出し、前記水泳メトリックは、ターン、呼吸、ラップ、水泳ストローク、又は水泳ストロークスタイルのうちの少なくとも１つを含み、
前記ユーザの前記水泳メトリック又は前記エネルギー消費のうちの前記少なくとも一方を出力する、
ように動作可能なプロセスを実行させる、システム。
【請求項２】
前記座標系が前記ユーザデバイスに対する物体固定座標系である、請求項１に記載のシステム。
【請求項３】
前記モーメントアーム長を算出することが、最小二乗方程式を解くことを含む、請求項１に記載のシステム。
【請求項４】
前記コンピュータプログラムコードは、前記プロセッサ上で実行されたときに、前記プロセッサに、
前記ユーザのトレーニングデータを受信し、
前記動きデータに基づき前記ユーザのヨー角を決定し、
前記トレーニングデータに基づき前記ヨー角に対応する尤度比の値を決定し、
尤度比の前記値を閾値の比と比較し、
尤度比の前記値を前記閾値の比と比較したことに基づき、前記ユーザが泳いでいると決定し、
前記ユーザが泳いでいると決定したことに応じて前記ユーザの水泳メトリック又はエネルギー消費のうちの前記少なくとも一方を算出する、
ように動作可能なプロセスを実行させる、請求項１に記載のシステム。
【請求項５】
前記コンピュータプログラムコードは、前記プロセッサ上で実行されたときに、前記プロセッサに、
前記受信された動きデータに基づき基本周期を算出し、
前記回転データから１つ以上の特徴を抽出し、
前記１つ以上の特徴に基づき前記ユーザの水泳ストロークスタイルを決定し、
前記決定された水泳ストロークスタイルを出力する、
ように動作可能なプロセスを実行させる、請求項１に記載のシステム。
【請求項６】
前記座標系が前記ウェアラブルデバイスに対する物体固定座標系である、請求項５に記載のシステム。
【請求項７】
前記座標系が慣性座標系である、請求項５に記載のシステム。
【請求項８】
前記１つ以上の特徴が、
前記ウェアラブルデバイスの平均のクラウンの向き、
ユーザの腕及び手首の回転の相関、あるいは
総角速度への前記ウェアラブルデバイスのクラウンの周りの回転の寄与、
のうちの少なくとも１つを含む、請求項５に記載のシステム。
【請求項９】
前記１つ以上の特徴が、
プル局面の間における前記ウェアラブルデバイスのバンドの周りの相対的な腕の回転、
前記ユーザのモーメントアーム、
回転ｙに対する加速度ｚの比、
加速度によって重み付けされた平均重力クラウン、
前記ウェアラブルデバイスのバンドの上部の向きと前記ウェアラブルデバイスのバンドを中心とする回転との間の相関、
クラウン回転の二乗平均平方根（ＲＭＳ）、
前記ウェアラブルデバイスのクラウンを中心とする最小回転、
前記ウェアラブルデバイスのバンドを中心とする最大回転、又は
最大回転ｘオーバーｙ、
のうちの少なくとも１つを含む、請求項５に記載のシステム。
【請求項１０】
前記コンピュータプログラムコードは、前記プロセッサ上で実行されたときに、前記プロセッサに、
前記動きデータを用いて、前記ウェアラブルデバイスの回転データの第１のセットを決定し、回転データの前記第１のセットは第１の座標系において表され、
前記ウェアラブルデバイスの回転データの前記第１のセットを、第２の座標系において表される回転の第２のセットに変換し、
回転データの前記第２のセット基づきユーザの水泳ストロークのグライド局面を決定し、
回転データの前記第２のセットに基づき前記ユーザの水泳ストロークの移行局面を決定し、
前記決定されたグライド局面及び移行局面に基づき前記ユーザの水泳ストロークのプル局面及びリカバリー局面を決定し、
前記ユーザの水泳ストロークの前記決定されたグライド局面、移行局面、プル局面、及びリカバリー局面に基づき前記ユーザの１つ以上の水泳メトリックを算出し、前記１つ以上の水泳メトリックは、ターン、呼吸、ラップ、水泳ストローク、又は水泳ストロークスタイルのうちの少なくとも１つを含み、
前記ユーザの前記算出された１つ以上の水泳メトリックを出力する、
ように動作可能なプロセスを実行させる、請求項１に記載のシステム。
【請求項１１】
前記第１の座標系が前記ウェアラブルデバイスに対する物体固定座標系である、請求項１０に記載のシステム。
【請求項１２】
前記第２の座標系が慣性座標系である、請求項１０に記載のシステム。
【請求項１３】
前記コンピュータプログラムコードは、前記プロセッサ上で実行されたときに、前記プロセッサに、
前記回転データが第１の過去の期間内において最小分散を有する第１の方向を決定し、
前記回転データが第２の過去の期間内において最小分散を有する第２の方向を決定し、
前記第１の方向と前記第２の方向との差を決定し、
前記第１の方向と前記第２の方向との前記差に基づき前記ユーザのストローク軌道の一貫性を決定し、
前記ユーザの前記決定されたストローク軌道の一貫性を出力する、
ように動作可能なプロセスを実行させる、請求項１に記載のシステム。
【請求項１４】
前記座標系が前記ユーザデバイスに対する物体固定座標系である、請求項１３に記載のシステム。
【請求項１５】
前記座標系が慣性座標系である、請求項１３に記載のシステム。
【請求項１６】
前記第１の方向及び前記第２の方向付けを決定することが、回転軸を決定することを含む、請求項１３に記載のシステム。
【請求項１７】
前記第１の過去の期間が実質的に１０秒である、請求項１３に記載のシステム。
【請求項１８】
前記第２の過去の期間が実質的に３分である、請求項１３に記載のシステム。
【請求項１９】
前記コンピュータプログラムコードは、前記プロセッサ上で実行されたときに、前記プロセッサに、
前記回転データを用いて前記ユーザのストローク軌道のヒストグラムを決定し、
前記ヒストグラムに基づきエントロピーのレベルを決定し、
エントロピーの前記決定されたレベルに基づき前記ユーザの軌道の一貫性のレベルを決定し、
前記ユーザの軌道の一貫性の前記決定されたレベルを出力する、
ように動作可能なプロセスを実行させる、請求項１に記載のシステム。
【請求項２０】
ユーザの腕の動きを決定する際のウェアラブルデバイスの精度を改善する方法であって、前記方法は、
ウェアラブルデバイスのプロセッサ回路によって、前記ウェアラブルデバイスの１つ以上の動きセンサからの動きデータを受信することであって、前記１つ以上の動きセンサは加速度計又はジャイロスコープのうちの少なくとも一方を含む、ことと、
前記プロセッサ回路によって、前記動きデータを用いて、前記動きデータに基づき座標系において表される回転データを決定することと、
前記プロセッサ回路によって、前記回転データに基づきモーメントアーム長を算出することと、
前記プロセッサ回路によって、前記モーメントアーム長を閾値の長さと比較することと、
前記プロセッサ回路によって、前記モーメントアーム長を前記閾値の長さと比較したことに基づき、前記ユーザの腕の振りが水泳ストロークであると決定することと、
前記プロセッサ回路によって、前記ユーザの腕の振りが水泳ストロークであると決定したことに応じて、前記ユーザの水泳メトリック又はエネルギー消費のうちの少なくとも一方を算出することであって、前記水泳メトリックは、ターン、呼吸、ラップ、水泳ストローク、又は水泳ストロークスタイルのうちの少なくとも１つを含む、ことと、
前記プロセッサ回路によって、前記ユーザの前記水泳メトリック又は前記エネルギー消費のうちの前記少なくとも一方を出力することと、
を含む、方法。
【国際調査報告】
2019534721.tif 000061
2019534721.tif 000062