(57)【要約】【課題】運動の採点方法を提供する。【解決手段】本発明の運動の採点方法は、コースビデオを再生し、対応するコーチ運動データを取得する工程１５１と、装着型加速度センサーによって利用者運動データを取得する工程１５３と、運動が中止され又は終了する時に、取得された利用者運動データを集める工程１５４と、コーチ運動データを複数のコーチセグメントに分け、各コーチセグメントが複数の学生セグメントに対応し、且つ一部の利用者セグメントが互いに部分的に重なる工程１５２と、コーチセグメント及び対応する各利用者セグメントによって動的時間ワーピングアルゴリズムを実行し、誤差の一番小さい利用者セグメントを取得し、運動点数を算出する工程１５５と、運動点数を表示する工程１５６と、を含む運動の採点方法。【選択図】図１Ｂ
2019136493.tif 000002
【特許請求の範囲】
【請求項１】
装着型加速度センサーを含む運動採点システムに適用される運動の採点方法であって、
コースビデオを再生し、前記コースビデオに対応するコーチ運動データを取得し、また前記コーチ運動データが複数のコーチサンプリングポイントを含み、各前記コーチサンプリングポイントが複数の加速度値を含む工程と、
前記装着型加速度センサーによって利用者運動データを取得し、また前記利用者運動データが複数の利用者サンプリングポイントを含み、各前記利用者サンプリングポイントが複数の加速度値を含む工程と、
前記コーチ運動データを複数のコーチセグメントに分け、各前記コーチセグメントを前記利用者運動データにおける複数の利用者セグメントに対応させ、一部の前記利用者セグメントが互いに部分的に重なる工程と、
各前記コーチセグメントに対して、前記コーチセグメント及び対応する各前記利用者セグメントに基づいて動的時間ワーピングアルゴリズムを実行して、誤差の一番小さい前記利用者セグメントを取得し運動点数を算出する工程と、
前記運動点数を表示する工程と、を含む運動の採点方法。
【請求項２】
各前記コーチセグメントに対して、前記コーチセグメントのタイムコードに基づいて前へ第１のサンプリングポイントに延ばし、後へ第２のサンプリングポイントに延ばし、第１のサンプリング間隔で前記利用者運動データに対して前記第１のサンプリングポイントから前記第２のサンプリングポイントにサンプリングして前記利用者セグメントを取得する工程を、更に含む請求項１に記載の運動の採点方法。
【請求項３】
前記利用者セグメントから誤差の一番小さい第１の利用者セグメントと第２の利用者セグメントを取得する工程と、
第２のサンプリング間隔で前記利用者運動データに対して前記第１の利用者セグメントから前記第２の利用者セグメントにかけてサンプリングを実行して少なくとも第３の利用者セグメントを取得し、また前記第２のサンプリング間隔が前記第１のサンプリング間隔よりも小さい工程と、
前記コーチセグメントと前記少なくとも第３の利用者セグメントに基づいて前記動的時間ワーピングアルゴリズムを実行する工程と、を更に含む請求項２に記載の運動の採点方法。
【請求項４】
前記少なくとも第３の利用者セグメントの誤差が前記第１の利用者セグメントの誤差と前記第２の利用者セグメントの誤差よりも大きい場合、
前記第１の利用者セグメントと前記第２の利用者セグメントの中の誤差の小さい方を誤差の一番小さい前記利用者セグメントとして設定する工程、を更に含む請求項３に記載の運動の採点方法。
【請求項５】
前記コーチセグメント及び対応する各前記利用者セグメントに基づいて前記動的時間ワーピングアルゴリズムを実行する工程は、
下記数式（１）に基づいて前記コーチサンプリングポイントと前記利用者サンプリングポイントとの誤差を算出する工程を含み、
【数１】
2019136493.tif 000012
xiは第i個目の前記コーチサンプリングポイントを示し、
yjは第j個目の前記利用者サンプリングポイントを示し、
errori,jは誤差を示し、
c1、c2、c3は実数である、請求項１に記載の運動の採点方法。
【請求項６】
前記運動点数を算出する工程は、
下記数式（２）に基づいて前記運動点数を算出する工程を含み、
【数２】
2019136493.tif 000013
siは第i個目のコーチセグメントの対応する前記運動点数であり、
lは前記コーチセグメントの長さであり、
pathiは前記第i個目のコーチセグメント及び対応する誤差の一番小さい前記利用者セグメントの間のワーピングパスの長さであり、
piは、前記第i個目のコーチセグメント及び対応する誤差の一番小さい前記利用者セグメントの経時的なオフセットと逆の相関関係がある実数である、請求項１に記載の運動の採点方法。
【請求項７】
前記運動点数を算出する工程は、
下記数式（３）、（４）に基づいて前記運動点数を算出する工程を含み、
【数３】
2019136493.tif 000014
【数４】
2019136493.tif 000015
siは第i個目のコーチセグメントの対応する前記運動点数であり、
lは前記コーチセグメントの長さであり、
piは、前記第i個目のコーチセグメント及び対応する誤差の一番小さい前記利用者セグメントの経時的なオフセットと逆の相関関係がある実数であり、
wjは前記第i個目のコーチセグメント及び対応する誤差の一番小さい前記利用者セグメントの間のワーピングパスの第j個目の素子の対応する誤差であり、
Tは閾値であり、
Kは前記ワーピングパスの長さである、請求項１に記載の運動の採点方法。
【請求項８】
各前記利用者サンプリングポイントの前記加速度値がＸ軸の加速度、Ｙ軸の加速度とＺ軸の加速度を含み、
前記運動の採点方法は、前記Ｘ軸の加速度又は前記Ｙ軸の加速度の正負符号を変え、誤差の一番小さい前記利用者セグメントを取得する工程を改めて実行し、誤差が小さい時の対応する前記運動点数を表示する工程を更に含む、請求項１に記載の運動の採点方法。
【請求項９】
前記運動点数を表示する工程は、
前記コーチセグメントにおける連続の複数の第１のコーチセグメントを取得し、各前記第１のコーチセグメントの第１の運動点数を取得する工程と、
前記第１の運動点数の最大値を表示する工程と、を含む請求項１に記載の運動の採点方法。
【請求項１０】
装着型加速度センサーと、
ディスプレイによってコースビデオを再生し、前記コースビデオに対応するコーチ運動データを取得することに用いられ、また前記コーチ運動データが複数のコーチサンプリングポイントを含み、各前記コーチサンプリングポイントが複数の加速度値を含むインテリジェント装置と、を含み、
前記インテリジェント装置は、前記装着型加速度センサーによって利用者運動データを取得し、また前記利用者運動データが複数の利用者サンプリングポイントを含み、各前記利用者サンプリングポイントが複数の加速度値を含み、
前記インテリジェント装置は、前記コーチ運動データを複数のコーチセグメントに分け、又は前記コーチ運動データと前記学生運動データをサーバーに伝え、前記サーバーにより前記コーチ運動データを前記コーチセグメントに分け、各前記コーチセグメントを前記利用者運動データにおける複数の利用者セグメントに対応させ、一部の前記利用者セグメントが互いに部分的に重なり、
各前記コーチセグメントに対して、前記インテリジェント装置又は前記サーバーは、前記コーチセグメント及び対応する各前記利用者セグメントに基づいて動的時間ワーピングアルゴリズムを実行して、誤差の一番小さい前記利用者セグメントを取得し運動点数を算出し、前記ディスプレイは前記運動点数を表示する、運動採点システム。
【請求項１１】
コンピューターに、
コースビデオを再生し、前記コースビデオに対応するコーチ運動データを取得し、また前記コーチ運動データが複数のコーチサンプリングポイントを含み、各前記コーチサンプリングポイントが複数の加速度値を含む工程と、
装着型加速度センサーによって利用者運動データを取得し、また前記利用者運動データが複数の利用者サンプリングポイントを含み、各前記利用者サンプリングポイントが複数の加速度値を含む工程と、
前記コーチ運動データを複数のコーチセグメントに分け、各前記コーチセグメントを前記利用者運動データにおける複数の利用者セグメントに対応させ、一部の前記利用者セグメントが互いに部分的に重なる工程と、
各前記コーチセグメントに対して、前記コーチセグメント及び対応する各前記利用者セグメントに基づいて動的時間ワーピングアルゴリズムを実行して、誤差の一番小さい前記利用者セグメントを取得し運動点数を算出する工程と、
前記運動点数を表示する工程と、の複数の工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、採点方法に関し、特に、加速度センサーによって採点する運動コース利用者の運動の採点方法に関する。
【背景技術】
【０００２】
近年、フィットネスが盛んになるにつれて、自分の運動習慣を確立しようとする人がますます多くなる。また、現在、情報が発達する環境では、多くの人がインターネット等のリソースを介してフィットネス関連の教学ビデオ（コースビデオ）を検索して、ビデオにおける動作を模倣することで運動しようとする。
しかしながら、普通の人では、模倣で所望の動作を正しく実行できないかもしれないので、運動効果が達成される前に間違った動作により傷つけられる可能性がある。また、評価を助ける他人がいない場合、普通の利用者は、運動中に徐々に改善したかを知る方法がないので、達成感がないことで運動を継続する意思がなくなる可能性がある。
このため、自分の運動習慣を確立しようとする人を補助するため、さまざまな運動の判定システムが提案されており、その一例は特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】実用新案登録第３２１２１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現在、よく見られる運動動作の判定システムとしては、マルチレンズ撮影装置を利用して、コンピュータビジョン処理技術によって利用者の運動動作姿勢を取って分析するものがある。しかし、このようなシステムでは、ハードウェアのコストもディジタルコンテンツの製造コストも高いので、推進しにくい。
よく見られる１つの方法としては、少なくとも加速度計及び磁力計を含む装着型慣性センサーを使用して、センサーの運動時の三次元空間での加速度及び角速度の変化を記録して、空間での運動軌跡を算出し、更に記録と分析比較をするものがある。
もう一つの方法としては、装着型加速度計を採用して、単に装置の運動時の空間での加速度の変化を記録するものがある。
このようなシステムにおいては、データサンプリングのタイミングが重要な参照座標であるため、一般的な適用範囲が主にセグメントの運動サンプリング、記録、及び比較分析にあり、連続した運動動作同士の動作の類似度の算出に適用することは困難である。
以上の問題を解決するため、出願人は研究及び開発を行い、本発明を完成させた。
【課題を解決するための手段】
【０００５】
本発明の実施例は、装着型加速度センサーを含む運動採点システムに適用される運動の採点方法である。
すなわち、コースビデオを再生し、コースビデオに対応するコーチ運動データを取得する。コーチ運動データが複数のコーチサンプリングポイントを含み、
各コーチサンプリングポイントが複数の加速度値を含む工程と、
装着型加速度センサーによって利用者運動データを取得し、また利用者運動データがそれぞれ複数の加速度値を含む複数の利用者サンプリングポイントを含む工程と、
コーチ運動データを複数のコーチセグメントに分け、各コーチセグメントを利用者運動データにおける複数の利用者セグメントに対応させ、一部の利用者セグメントが互いに部分的に重なる工程と、
各コーチセグメントに対して、コーチセグメント及び対応する各利用者セグメントによって動的時間ワーピング（dynamic time warping）アルゴリズムを実行して、誤差の一番小さい利用者セグメントを取得し運動点数を算出する工程と、
運動点数を表示する工程と、
がインテリジェント装置によって実行される運動の採点方法である。この方法により、利用者の動作を連続的に精確に採点することができる。
ある実施例において、前記運動の採点方法は、
各コーチセグメントに対して、コーチセグメントのタイムコードに基づいて、
前へ第１のサンプリングポイントに延ばし、後へ第２のサンプリングポイントに延ばし、
第１のサンプリング間隔で、利用者運動データに対して、第１のサンプリングポイントから第２のサンプリングポイントにかけてサンプリングを実行して利用者セグメントを取得する工程、を更に備える。
【０００６】
ある実施例において、前記運動の採点方法は、
利用者セグメントから、誤差の一番小さい第１の利用者セグメントと第２の利用者セグメントを取得する工程と、
第２のサンプリング間隔で、利用者運動データに対して、第１の利用者セグメントから第２の利用者セグメントにかけてサンプリングを実行して第３の利用者セグメントを取得し、第２のサンプリング間隔が第１のサンプリング間隔よりも小さい工程と、
コーチセグメントと第３の利用者セグメントに基づいて、動的時間ワーピングアルゴリズムを実行する工程、を更に備える。
【０００７】
ある実施例において、前記運動コースの採点方法は、
第３の利用者セグメントの誤差が、第１の利用者セグメントの誤差と第２の利用者セグメントの誤差よりも大きい場合、第１の利用者セグメントと第２の利用者セグメントの中の誤差の小さい方を、誤差の一番小さい利用者セグメントとして設定する工程、を更に備える。
【０００８】
ある実施例において、前記上記コーチセグメントと利用者セグメントに基づいて動的時間ワーピングアルゴリズムを実行する工程は、
下記数式（１）に基づいて、コーチサンプリングポイントと利用者サンプリングポイントとの誤差を算出する工程、を含む。
【数１】
2019136493.tif 000003
xiは第i個のコーチサンプリングポイントを示し、yjは第j個の利用者サンプリングポイントを示し、errori,jは誤差を示し、c1、c2、c3は実数である。
【０００９】
ある実施例において、下記数式（２）に基づいて運動点数を算出する。
【数２】
2019136493.tif 000004
siは第i個のコーチセグメントの対応する運動点数であり、lはコーチセグメントの長さであり、pathiは第i個のコーチセグメントに対応する誤差の一番小さい利用者セグメントとの間のワーピングパス（warping path）の長さであり、piは、第i個のコーチセグメント及び対応する誤差の一番小さい利用者セグメントの経時的なオフセットと逆の相関関係がある実数である。
【００１０】
ある実施例において、下記数式（３）、（４）に基づいて運動点数を算出する。
【数３】
2019136493.tif 000005
【数４】
2019136493.tif 000006
wjは第i個のコーチセグメントに対応する誤差の一番小さい利用者セグメントとの間のワーピングパスの第j個の各要素の対応する誤差であり、Tは閾値であり、Kはワーピングパスの長さである。
【００１１】
ある実施例において、前記各利用者サンプリングポイントの加速度値がＸ軸の加速度、Ｙ軸の加速度とＺ軸の加速度を含み、前記運動の採点方法は、
Ｘ軸の加速度又はＹ軸の加速度の正負符号を変え、誤差の一番小さい利用者セグメントを取得する工程を改めて実行し、誤差が小さい時の対応する前記運動点数を表示する工程、を更に備える。
【００１２】
ある実施例において、段落[０００４]における前記運動点数を表示する工程は、
コーチセグメントにおける連続の複数の第１のコーチセグメントを取得し、各第１のコーチセグメントの第１の運動点数を取得する工程と、
第１の運動点数の最大値を表示する工程と、を含む。
【００１３】
別の観点で、本発明の実施例は、以下のような運動コース採点システムである。
装着型加速度センサーと、
ディスプレイによってコースビデオを再生し、コースビデオに対応するコーチ運動データを取得し、またコーチ運動データが複数のコーチサンプリングポイントを含み、各コーチサンプリングポイントが複数の加速度値を含むインテリジェント装置と、を含む。
インテリジェント装置は、加速度センサーによって利用者運動データを取得する。また、利用者運動データが複数の利用者サンプリングポイントを含み、各利用者サンプリングポイントが複数の加速度値を含む。
また、インテリジェント装置は、コーチ運動データを複数のコーチセグメントに分け、各コーチセグメントを利用者運動データにおける複数の利用者セグメントに対応させ、一部の利用者セグメントが互いに部分的に重なる。各コーチセグメントに対して、インテリジェント装置は、コーチセグメント及び対応する各利用者セグメントによって動的時間ワーピングアルゴリズムを実行して、誤差の一番小さい利用者セグメントを取得して運動点数を算出し、ディスプレイによって運動点数を表示する。
【００１４】
別の観点で、本発明の実施例は、コンピューターに
コースビデオを再生し、コースビデオに対応するコーチ運動データを取得し、またコーチ運動データが複数のコーチサンプリングポイントを含み、各コーチサンプリングポイントが複数の加速度値を含む工程と、
装着型加速度センサーによって利用者運動データを取得し、また利用者運動データがそれぞれ複数の加速度値を含む複数の利用者サンプリングポイントを含み、コーチ運動データを複数のコーチセグメントに分け、各コーチセグメントを利用者運動データにおける複数の利用者セグメントに対応させ、一部の利用者セグメント互いに部分的に重なる工程と、
各コーチセグメントに対して、コーチセグメント及び対応する各利用者セグメントによって動的時間ワーピングアルゴリズムを実行して、誤差の一番小さい利用者セグメントを取得し運動点数を算出する工程と、
運動点数を表示する工程と、
の複数の工程を実行させるためのプログラムである。
【００１５】
上記の方法とシステムにおいて、コーチ運動データと利用者運動データを効果的に比較することで、適切な運動点数を算出することができる。
【００１６】
本発明の上記の特徴、及びメリットをより分かりやすくするために、以下では、特に、実施例を挙げて、添付の図面に合わせて、下記のように説明する。
【図面の簡単な説明】
【００１７】
【図１Ａ】一実施例による運動採点システムを示す模式図である。
【図１Ｂ】一実施例による運動採点システムを示すフロー図である。
【図２】一実施例によるコーチ運動データと利用者運動データを示す模式図である。
【図３】一実施例による動的時間ワーピングアルゴリズムでワーピングパスを捜す模式図である。
【図４】一実施例による誤差の一番小さい利用者セグメントを捜す模式図である。
【図５】一実施例による誤差の一番小さい利用者セグメントを捜すフロー図である。
【図６】一実施例による運動の採点方法を示すフロー図である。
【発明を実施するための形態】
【００１８】
本文に使用される「第１の」、「第２の」等については、順位を特定する意味ではなく、同一の技術用語で記述される要素又は操作を区別するためのものだけである。
【００１９】
本発明は、インテリジェント装置及びクラウドアプリケーションサービスを組み合わせた運動の採点方法であり、利用者が運動のコースビデオに基づいて運動する同時に、利用者の体の一部の運動データをキャプチャして、体の一部ごとにコーチ運動データと比較することで、利用者の運動成果を評価することのできる運動の採点方法を提供する。
これにより、利用者は、自分が必要な動作を正確に実行したかを明らかに分かり、更に運動効果を改善し、及び運動意欲を強化することができる。
【００２０】
図１Ａは、一実施例による運動採点システムを示す模式図である。図１Ａを参照されたい。運動採点システム１００は、少なくとも１つの装着型加速度センサー１１０と、ディスプレイ１２０と、インテリジェント装置１３０と、を備える。
【００２１】
装着型加速度センサー１１０は、例えば、実際にスポーツブレスレットとして利用者１１２に装着されてよいが、他の実施例において、実際に腕時計、ストラップ又は体に装着可能な他の装置であってもよい。
装着型加速度センサー１１０は、Ｘ、Ｙ、Ｚ等の３つの軸における加速度値を測量するための１つの三軸重力センサーを含む。
装着型加速度センサー１１０は、例えば、ブルートゥース（登録商標）通信モジュール、ＷｉＦｉ（登録商標）モジュール又は他の適切な低電力ワイヤレス伝送モジュールのような無線通信モジュールを更に含む。
ある実施例において、装着型加速度センサー１１０は、ディスプレイパネル又は他の任意の要素を更に含んでもよいが、本発明はこれらに限定されない。
ディスプレイ１２０は、コーチが動作を示範する１つのコースビデオを再生することに用いられる。
【００２２】
インテリジェント装置１３０は、プロセッサ１３１、メモリ１３２と無線通信モジュール１３３を含む。
メモリ１３２に、プロセッサ１３１により実行されるプログラムコードが記憶される。
プロセッサ１３１は、中央処理装置、マイクロプロセッサ、マイクロコントローラー、デジタル信号プロセッサ、画像処理チップ、特殊用途集積回路等であってよいが、本発明はこれらに限定されない。
無線通信モジュール１３３は、例えば、ブルートゥース（登録商標）通信モジュール、ＷｉＦｉ（登録商標）モジュール又は他の適切な低電力ワイヤレス伝送モジュールであり、装着型加速度センサー１１０から加速度値を受信することに用いられる。
【００２３】
図１Ｂは、一実施例による運動採点システム１００を示すフロー図である。図１Ａと図１Ｂを参照されたい。
まず、コースビデオを作る。工程１５１において、コースビデオを撮影すると共に、コーチ運動データを記録する。
ある実施例において、まず、異なる位置と角度に設けられる複数台のカメラによってコーチの動作を撮影して、これらの撮影されたビデオによってコースビデオを作成してもよい。特に、撮影中にコーチが１つ又は複数の装着型加速度センサー１１０を装着しておけば、装着型加速度センサー１１０により感知された加速度値もコーチ運動データとして記録される。
具体的には、コーチ運動データは、それぞれＸ、Ｙ、Ｚ等の３つの加速度値を含む複数のコーチサンプリングポイントを含む。
【００２４】
工程１５２において、コースビデオのポストプロダクションを行い、タイムコードに基づいてコーチ運動データとコースビデオとを同期させる。
なお、上記のタイムコードは、例えば、米国映画テレビ技術者協会（Society of Motion Picture and Television Engineers；ＳＭＰＴＥ）によって定められたタイムコードであるが、他の実施例において任意の形式のタイムコードを採用してもよく、また本発明はこれらに限定されない。
これにより、このタイムコードによってサンプリングポイントの各々がコースビデオにおける何れのビデオ又は何れの画像に対応するかに関する情報を取得することができる。
例として、装着型加速度センサー１１０のサンプリング周波数が２５Ｈｚであるとすると、１分間のビデオの対応する運動データには、６０×２５＝１５００個のサンプリングポイントがある。
なお、本発明は、サンプリングの周波数を制限しない。
次に、コースビデオとコーチ運動データは、クラウドデータベース１４０に記憶される。
【００２５】
利用者が運動し始める場合、プロセッサ１３１は、クラウドデータベース１４０からコースビデオとコーチ運動データを取得して、ディスプレイ１２０によってコースビデオを再生する。
同時に、工程１５３において、プロセッサ１３１は、装着型加速度センサー１１０によって利用者運動データ（例えば、無線通信モジュールによって）を取得する。具体的には、利用者運動データは、それぞれ複数の加速度値を含む複数の利用者サンプリングポイントを含む。
ある実施例において、プロセッサ１３１は、コースビデオが再生する前に装着型加速度センサー１１０から加速度値を受信し始めるが、コースビデオが再生して利用者運動データとして加速度値が記憶されはじめる以前の、これらの加速度データは破棄される。
このようにして取得された利用者運動データはコースビデオに対応し、例えば各利用者サンプリングポイントがコースビデオにおける何れの画面に対応するかが分かる。
【００２６】
工程１５４において、運動が中止し又は終了する時（コースビデオが終了する時）に、取得された利用者運動データを集める。
工程１５３で利用者運動データとコースビデオとの対応関係が既に分かっており、ＳＭＰＴＥタイムコードに基づいてコースビデオとコーチ運動データとの対応関係を取得できるので、コースビデオの画面番号に基づいて、対応する利用者運動データとコーチ運動データを取得することができる。つまり、画面番号に基づいて各利用者サンプリングポイントが何れのサンプリングポイントに対応するかが分かる。
【００２７】
工程１５５において、コーチ運動データを複数のコーチセグメントに分け、各コーチセグメントの運動点数を算出する。
最後に、工程１５６で運動点数１２１を表示させることで、利用者１１２は、自分が必要な動作を正確に実行したかを明確に知ることができ、更に運動効果を改善し及び運動意欲を強化することができる。
ある実施例において、運動点数は、プロセッサ１３１により算出されるが、他の実施例において、クラウドにおけるサーバー、又は他の電子装置により算出されてもよい。
例えば、図１Ａにおいて、インテリジェント装置１３０は、クラウドにおける算出モジュール１４１に接続されてもよい。この算出モジュール１４１は、コンピューター、サーバー、仮想マシン、又は計算サービスを提供するウェブアプリケーションであってもよいが、本発明はこれらに限定されない。
プロセッサ１３１は、コーチ運動データと利用者運動データを算出モジュール１４１に伝送し、算出モジュール１４１によって運動点数を算出した後で、プロセッサ１３１にフィードバックすることができる。
以下、運動点数の計算を詳しく説明する。
【００２８】
図２を参照されたい。図２は、一実施例によるコーチ運動データと利用者運動データを示す模式図である。
図２におけるコーチ運動データ２１０と利用者運動データ２２０は、１Ｄの信号（即ち、サンプリングポイントの各々に１つの加速度値しか含まない）として示されているが、これは運動データを示すための模式図であり、実際には各サンプリングポイントが複数の加速度値（即ち、１つのベクトルを形成する）を有するべきである。
コーチ運動データ２１０と利用者運動データ２２０はベクトルの集合である。図２において、コーチ運動データ２１０と利用者運動データ２２０が同じコースビデオに対応するので、コーチ運動データ２１０と利用者運動データ２２０が類似するほど、算出される点数が高くなるはずである。
注意すべきこととして、コーチ運動データ２１０の長さが利用者運動データ２２０の長さと異なることがある。
【００２９】
コーチ運動データ２１０と利用者運動データ２２０を取得した後で、まずコーチ運動データを複数のコーチセグメント（例えば、コーチセグメント２１１〜２１３）に分けてもよい。
ある実施例において、これらのコーチセグメント２１１〜２１３の長さが同じであり、例えば１０秒間（すなわちサンプリング周波数が２５Ｈｚ）である場合、各コーチセグメントは、２５０個のコーチサンプリングポイントを有する。
しかしながら、他の実施例において、これらのコーチセグメント２１１〜２１３の長さは異なっていてもよく、本発明はコーチセグメントの長さとサンプリング周波数を制限しない。
利用者運動データ２２０が複数の利用者運動セグメントを含み、各コーチセグメントに対して、１つの時間範囲内に誤差が小さい利用者セグメントを捜して、これに基づいて点数を算出する。
誤差の一番小さい利用者セグメントを捜す時に、各コーチセグメントを利用者運動データ２２０における複数の利用者セグメントに対応させる。この結果、利用者セグメントの長さとコーチセグメントの長さとは、同じであったり、また一部の利用者セグメントが互いに部分的に重なったりする。
コーチセグメント２１２を例に取ると、コーチセグメント２１２の開始点がサンプリングポイント２１４にあり、サンプリングポイント２１４は、利用者運動データ２２０のサンプリングポイント２２１と同期である。
コーチセグメント２１２のタイムコードに基づいて、前へサンプリングポイント２２２（第１のサンプリングポイントとも言われる）に延ばし、後へサンプリングポイント２２３（第２のサンプリングポイントとも言われる）に延ばし、１つのサンプリング間隔（第１のサンプリング間隔とも言われる）によって利用者運動データ２２０でサンプリングポイント２２２からサンプリングポイント２２３にかけてサンプリングを実行すると、複数の利用者セグメントが得られる。
例として、コーチセグメント２１２を前へ５秒間延ばし、後へ５秒間延ばすと、サンプリングポイント２２１とサンプリングポイント２２３との間に２×５×２５＝２５０個のサンプリングポイントがある。
サンプリング間隔が１０であると、２５０／１０＝２５個の利用者セグメントが生じる。サンプリングポイント２２２が利用者セグメント２３１の開始点であり、サンプリングポイント２２３が利用者セグメント２３２の開始点である。利用者セグメント２３１と利用者セグメント２３２との間には複数の利用者セグメント（未図示）があり、一部の利用者セグメントが互いに部分的に重なる。
【００３０】
次に、コーチセグメント２１２及び対応する各利用者セグメントによって動的時間ワーピング（dynamic time warping）アルゴリズムを実行することで、コーチセグメントと利用者セグメントとの誤差／類似性を判断してもよい。
ここで、動的時間ワーピングアルゴリズムを説明する。図３は、一実施例による動的時間ワーピングアルゴリズムでワーピングパスを捜す図である。図３を参照されたい。
ここで、長さ（何れも２５０個のサンプリングポイントを含む）が同じであるコーチセグメント２１２と利用者セグメント２３１を例とする。ここで、行（column）と列（row）の個数がそれぞれコーチセグメント２１２のサンプリングポイントの個数と利用者セグメント２３１のサンプリングポイントの個数と同じである１つのマトリックス３０１を作ってもよい。
このとき、マトリックス３０１における第i行第j列における要素は、第i個のコーチサンプリングポイントと第ｊ個の利用者サンプリングポイントとの誤差である。
ここで、xiは第i個のコーチサンプリングポイントを示し、yjは第j個の利用者サンプリングポイントを示すことを仮設定する。i、jは正整数である。errori,jは第i個のコーチサンプリングポイントと第j個の利用者サンプリングポイントとの誤差を示し、下記数式（１）によって表示されてもよい。
【数５】
2019136493.tif 000007
【００３１】
c1、c2、c3は実数であり、実験で好適な数値に設定されてよい。
注意すべきこととして、xi-yjは１つのベクトルであり、|xi-yj|はこのベクトルにおける全ての要素の絶対値の合計を示す。
別の注意すべきこととして、従来の動的時間ワーピングアルゴリズムにおいて、errori,jはxiとyjとのオイラー距離又は絶対値の合計だけであるが、この実施例に、信号のスロープ差を説明するための|(xi+1-xj)-(yj+1-yj)|及び|(xi-xi-1)-(yj-yj-1)|が更に加えられる。例えば、xiとyjが同じであるがxiが上昇傾向となりyjが下降傾向となる場合、従来の方法では誤差errori,j＝0を算出するが、この実施例では傾向が異なるので、0ではない誤差errori,jが算出される。
このように、更に信号の特性を説明することができる。
【００３２】
動的時間ワーピングアルゴリズムは、１つのワーピングパス（warping path）を捜し、開始点３０２から終点３０３まで走り、下記数式（５）の条件を満たすものである。
【数６】
2019136493.tif 000008
【００３３】
ベクトルwはワーピングパスを示す。ベクトルwの長さ（即ちワーピングパスの長さ）は正整数Kであり、このベクトルwにおける要素wk＝(i,j)はマトリックス３０１における第i行第j列の誤差errori,jである。しかしながら、当業者であれば、動的時間ワーピングアルゴリズムを理解できるはずであるので、ここで他の細部を説明しない。
コーチセグメント２１２と利用者セグメント２３１とが完全に同じであると、ワーピングパスは１本の４５度の斜めの直線となり、この時に一番短い長さKがある。コーチセグメント２１２と利用者セグメント２３１との誤差が大きいほど、路径の長さKは大きくなる。つまり、コーチセグメント２１２と利用者セグメント２３１との誤差は、長さKに反比例する。
【００３４】
図４は、一実施例による誤差の一番小さい利用者セグメントを捜す模式図である。図４を参照されたい。わかりやすく説明するために、ここでは１つのコーチサンプリングポイントに対して１つのコーチセグメントを示し、また１つの利用者サンプリングポイントに対して１つの利用者セグメントを示す。また、図４には利用者運動データを図示しない。
ここで第１回の検索時に、コーチセグメント２１２が利用者セグメント２３１〜２３５に対応し、利用者セグメント２３１〜２３５の間にサンプリング間隔４０１があること（例えば１０）を仮設定する。
コーチセグメント２１２と利用者セグメント２３１〜２３５の各々に対して、何れも上記の動的時間ワーピングアルゴリズムを実行してよく、誤差の一番小さい（一番短い長さKを有する）２つの利用者セグメントを捜して、利用者セグメント２３３、２３４（それぞれ第１の利用者セグメントと第２の利用者セグメントと称される）として仮設定することができる。
次に、更に検索するために、ここでサンプリング間隔を（例えば１０から５へ）減少させ、減少させられたサンプリング間隔４０２（第２のサンプリング間隔とも言われる）で利用者運動データに対して利用者セグメント２３３から利用者セグメント２３４にかけてサンプリングして利用者セグメント４１１〜４１３（第３の利用者セグメントとも言われる）を取得する。
このとき、サンプリング間隔４０２がサンプリング間隔４０１よりも小さい。つまり、本実施例は、粗から密へ（coarse to fine）のメカニズムによって、誤差の一番小さい利用者セグメントを捜す。
【００３５】
利用者セグメント４１１〜４１３の誤差が利用者セグメント２３３、２３４の誤差よりも大きければ、利用者セグメント２３３、２３４における誤差の小さい利用者セグメントを誤差の一番小さい利用者セグメントとして設定し、検索を停止してよい。
利用者セグメント４１１〜４１３のうちの、１つの利用者セグメントの誤差が小さければ、上記粗から密へのメカニズムを重複して実行し、引き続き捜してもよい。例えば誤差の一番小さい２つの利用者セグメント４１２、４１３を取得し、更にサンプリング間隔を減少させ、減少させられたサンプリング間隔４０３により、利用者セグメント４１２から利用者セグメント４１３にかけてサンプリングして利用者セグメント４２１を取得する。
ある実施例において、サンプリング間隔４０２が１つの閾値（例えば１、２又は他の数値）よりも小さければ、サンプリング間隔を減少させずに、現在の利用者セグメント４１１〜４１３から誤差の一番小さい利用者セグメントを取得する。
【００３６】
コーチセグメント２１２にとって、誤差の一番小さい利用者セグメントを取得した後で、１つの運動点数を算出し、この運動点数をディスプレイ１２０に表示させてよい。ある実施例において、下記数式（２）に基づいて運動点数を算出する。
【数７】
2019136493.tif 000009
【００３７】
siは第i個のコーチセグメントに対応する運動点数である。
lはコーチセグメントの長さである。
pathiは第i個のコーチセグメントに対応する誤差の一番小さい利用者セグメントとの間のワーピングパスの長さである。
例として、コーチセグメント２１２と利用者セグメント４１２との誤差が一番小さければ、コーチセグメント２１２と利用者セグメント４１２との間のワーピングパスの長さはpathiである。
piは、第i個のコーチセグメント及び対応する誤差の一番小さい利用者セグメントの経時的なオフセットと逆の相関関係がある実数である。
例えば、セグメント２１２と誤差の一番小さい利用者セグメント４１２とに経時的なオフセット（例えば２０個のサンプリングポイントの距離）があり、このオフセットが大きいほど、利用者の動作がコーチの動作と類似してはいるが早すぎたり遅すぎたりする、という状況があると考えられるので、必ず点数をやや低下させなければならない。
つまり、コーチセグメント２１２と利用者セグメント２３４との誤差が一番小さければ、経時的なオフセットがなく、この時に点数を低下させる必要はない。
ある実施例において、実数を取得するように上記のオフセットを１つのルックアップテーブル（lookup table）に入力してよい。例えば、オフセットが３以内にある場合に実数は１であり、オフセットが３〜６の範囲内にある場合に実数は０．９である等、本発明はルックアップテーブルの内容を制限しない。
しかしながら、他の実施例において、上記のオフセットを１つの関数に入力して実数を取得してもよいが、本発明はこれらに限定されない。
また、この実施例において、上記の運動点数は、０〜１００の範囲に正規化されてもよいし、他の実施例において他の点数範囲を採用してもよいが、本発明はこれらに限定されない。
【００３８】
ある実施例において、下記数式（３）、（４）に基づいて運動点数を算出する。
【数８】
2019136493.tif 000010
【数９】
2019136493.tif 000011
【００３９】
要素wjの定義は、前述の方程式（４）に示される。つまり、要素wjの各々に対して、この要素が１つの閾値Tよりも大きいかを判断し、ＹＥＳであれば１を加え、ＮＯであれば０を加え、閾値Tを実験で設定してよいが、本発明はこれらに限定されない。
コーチ運動データと利用者運動データとの誤差が大きければ大きいほど、算出されるcostiが大きくなるので、算出される運動点数siは小さくなる。
【００４０】
上記の検索メカニズムについては、図５を参照されたい。
工程５０１において、コースビデオを再生し、コーチ運動データと利用者運動データを取得する。
工程５０２において、次のコーチセグメントを取得し、工程５０２の初回実行時に、第１個のコーチセグメントを取得する。
工程５０３において、コーチセグメントの時間を前／後へ延び、サンプリング間隔で複数の利用者セグメントを取得する。
工程５０４において、コーチセグメントと各利用者セグメントに基づいて動的時間ワーピングアルゴリズムを実行して誤差を取得する。
【００４１】
工程５０５において、引き続き検索するかを判断する。
上記のように、サンプリング間隔が１つの閾値よりも小さい場合、検索を停止する。
又は、追加の利用者セグメントがより小さい誤差がない場合も、検索を停止する。
検索を続けようとする場合、工程５０６において、サンプリング間隔を減少し、工程５０７において、誤差の一番小さい２つの利用者セグメントを取得し、減少されたサンプリング間隔でサンプリングして利用者セグメントを追加する。
検索を続けようとしない場合、工程５０８において、誤差の一番小さい利用者セグメントに基づいて運動点数を算出する。
工程５０９において、全てのコーチセグメントを既に処理したかを判断し、ＹＥＳであれば工程５０２に戻り、ＮＯであればフローが終わる（工程５１０）。
【００４２】
注意すべきこととして、工程５０３においては、柔軟性を与えて、利用者の動作が早すぎたり遅すぎたりする状況を許容するために、コーチセグメントを前／後へ延ばすことがある。一方、隣接する２つのコーチセグメントの対応する誤差の一番小さい利用者セグメントが互いに重なることがある。
これらの特徴は、何れも従来の動的時間ワーピングアルゴリズムとは異なる。
【００４３】
図２を参照されたい。ある実施例において、運動点数を表示する時にまず連続の複数の第１のコーチセグメントを取得し、各第１のコーチセグメントの運動点数を取得した後で、最後にこれらの運動点数の最大値のみを表示させてもよい。
例えば、コーチセグメント２１１〜２１３の運動点数を算出した後で、この３つの運動点数の最大値のみを表示させ、これにより、運動点数が低すぎることで利用者の自信が挫かれることを避ける。
ある実施例において、複数の運動点数に対して平均値を取ってから、その平均値をディスプレイ１２０に表示させてもよいが、本発明はこれに限定されない。
【００４４】
図１Ａと図２を参照されたい。ある実施例において、利用者が装着型加速度センサー１１０を逆に装着することがあり、この時にＸ軸とＹ軸が１８０度回転する。
また、利用者は、コーチの動作を模倣する場合、例えば利用者の左手でコーチの右手の動作を模倣し、又は利用者の左手でコーチの左手の動作を模倣するといったような、鏡像の状況のまま模倣を行う可能性がある。
従って、装着方向と鏡像の状況と合わせると、多種多用な状況が発生する可能性がある。この場合、各状況に対して上記誤差の一番小さい利用者セグメントを検索する工程を実行して、誤差が小さい時の状況の対応する運動点数を表示することができる。
具体的には、第１状況では、Ｘ軸の加速度とＹ軸の加速度の正負符号を変えない。
第２の状況では、Ｘ軸の加速度の正負符号のみを変え、Ｙ軸の加速度の正負符号を変えない。
第３の状況では、Ｙ軸の加速度の正負符号のみを変え、Ｘ軸の加速度の正負符号を変えない。
第４の状況では、Ｘ軸の加速度とＹ軸の加速度の正負符号を同時に変える。
各状況に対して、何れも上記の誤差の一番小さい利用者セグメントを検索する工程を採用して、関連する誤差を取得できる。また、ある状況の誤差が小さければ、前記状況の計算結果を採用し、この状況での運動点数を表示することができる。
ある実施例において、上記４つの状況における２つないし３つの状況のみを算出し、例えば第２と第３の状況のみを算出して、何れの状況の誤差が小さいかを判断してもよいが、本発明は幾つ及び何れの状況を採用するかを制限しない。
ある実施例において、コーチセグメントの何れに対しても、上記複数の状況について算出する。これは、利用者がコーチの動作を模倣する時に、時々鏡像の状況が発生したり、時々鏡像の状況が発生しなかったりするので、コーチセグメントの何れに対しても複数の状況について算出することにより、適切な運動点数が得られる。
【００４５】
図６は、一実施例による運動の採点方法を示すフロー図である。図６を参照されたい。
工程６０１において、コースビデオを再生し、コースビデオに対応するコーチ運動データを取得する。
工程６０２において、装着型加速度センサーによって利用者運動データを取得する。
工程６０３において、コーチ運動データを複数のコーチセグメントに分ける。各コーチセグメントが複数の利用者セグメントに対応し、一部の利用者セグメントが互いに部分的に重なる。
工程６０４において、各コーチセグメントに対して、コーチセグメントに対応する各利用者セグメントに基づいて動的時間ワーピングアルゴリズムを実行し、誤差の一番小さい利用者セグメントを取得し、運動点数を算出する。
工程６０５において、運動点数を表示する。
【００４６】
ここで、図６において、各工程は既に上記のように詳しく説明されたので、ここで説明しないが、注意すべきこととして、図６において各工程は、実際に複数のプログラムコード又は回路であってもよいが、本発明はこれらに限定されない。
また、図６の方法は、以上の実施例に合わせて使用されてもよいし、単独で使用されてもよい。つまり、図６の各工程の間に、他の工程を加えてもよい。
【００４７】
別の角度から言えば、本発明はまた、任意のプログラム言語及び／又はプラットフォームによって編集されるプログラムを備えてもよい。このプログラムがコンピューターによって実行される場合、上記の方法を実行することができる。
ある実施例において、上記のプログラムは、インテリジェント装置１３０によって実行されてもよい。
【００４８】
本発明を一実施例により前述の通りに開示したが、これは本発明を限定するものではない。当業者なら誰でも、本発明の精神と領域から逸脱しない限り、多様の変更や修飾を加えることができる。従って、本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
【符号の説明】
【００４９】
１００                                          運動採点システム
１１０                                          装着型加速度センサー
１１２                                          利用者
１２０                                          ディスプレイ
１２１                                          点数
１３０                                          インテリジェント装置
１３１                                          プロセッサ
１３２                                          メモリ
１３３                                          無線通信モジュール
１４０                                          クラウドデータベース
１４１                                          算出モジュール
１５１〜１５６、５０１〜５１０、６０１〜６０５  工程
２１０                                          コーチ運動データ
２１１〜２１３                                  コーチセグメント
２１４、２２１〜２２３                          サンプリングポイント
２２０                                          利用者運動データ
２３１〜２３５、４１１〜４１３、４２１          利用者セグメント
３０１                                          マトリックス
３０２                                          開始点
３０３                                          終点
４０１〜４０３                                  サンプリング間隔
【図１Ａ】
2019136493.tif 000016
【図１Ｂ】
2019136493.tif 000017
【図２】
2019136493.tif 000018
【図３】
2019136493.tif 000019
【図４】
2019136493.tif 000020
【図５】
2019136493.tif 000021
【図６】
2019136493.tif 000022