(57)【要約】  情報処理装置（１００）は、３Ｄセンサによって競技者の動きをセンシングしたセンシングデータを取得する。コンピュータは、センシングデータに基づく競技者の各関節の曲がり具合の変化から、関節ごとの所定のタイミングを特定する。情報処理装置（１００）は、センシングデータに基づく競技者の動きモデルまたは該競技者を撮影した映像における再生タイミングを指定するためのスライドバーと対応付けて、関節ごとの所定のタイミングを把握可能な状態で表示する。
2019229818.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する表示方法であって、
３Ｄセンサによって競技者の動きをセンシングしたセンシングデータを取得し、
前記センシングデータに基づく前記競技者の各関節の曲がり具合の変化から、関節ごとの所定のタイミングを特定し、
前記センシングデータに基づく前記競技者の動きモデルまたは該競技者を撮影した映像における再生タイミングを指定するためのスライドバーと対応付けて、前記関節ごとの所定のタイミングを把握可能な状態で表示する
処理を実行することを特徴とする表示方法。
【請求項２】
前記コンピュータが、
前記各関節の曲がり具合の変化として、前記競技者の複数の関節それぞれの角速度を算出し、
前記関節ごとの所定のタイミングとして、該関節毎に前記角速度が最大となるタイミングを特定し、
前記スライドバーと対応付けて、前記角速度が最大となるタイミングを把握可能な状態で表示することを特徴とする請求項１に記載の表示方法。
【請求項３】
前記コンピュータが、
前記スライドバーで指定されたタイミングから、前記競技者の動きモデルまたは映像データを表示することを特徴とする請求項１または２に記載の表示方法。
【請求項４】
前記表示する処理は、前記スライドバーと対応付けて、第１競技者の各関節における所定のタイミングと、第２競技者の各関節における所定のタイミングとを表示することを特徴とする請求項１または２に記載の表示方法。
【請求項５】
３Ｄセンサによって競技者の動きをセンシングしたセンシングデータを取得し、
前記センシングデータに基づく前記競技者の各関節の曲がり具合の変化から、関節ごとの所定のタイミングを特定し、
前記センシングデータに基づく前記競技者の動きモデルまたは該競技者を撮影した映像における再生タイミングを指定するためのスライドバーと対応付けて、前記関節ごとの所定のタイミングを把握可能な状態で表示する
処理をコンピュータに実行させることを特徴とする表示プログラム。
【請求項６】
前記コンピュータに、
前記各関節の曲がり具合の変化として、前記競技者の複数の関節それぞれの角速度を算出し、
前記関節ごとの所定のタイミングとして、該関節毎に前記角速度が最大となるタイミングを特定し、
前記スライドバーと対応付けて、前記角速度が最大となるタイミングを把握可能な状態で表示する処理を実行させることを特徴とする請求項５に記載の表示プログラム。
【請求項７】
前記コンピュータに、
前記スライドバーで指定されたタイミングから、前記競技者の動きモデルまたは映像データを表示する処理を実行させることを特徴とする請求項５または６に記載の表示プログラム。
【請求項８】
前記表示する処理は、前記スライドバーと対応付けて、第１競技者の各関節における所定のタイミングと、第２競技者の各関節における所定のタイミングとを表示することを特徴とする請求項５または６に記載の表示プログラム。
【請求項９】
３Ｄセンサによって競技者の動きをセンシングしたセンシングデータを取得する取得部と、
前記センシングデータに基づく前記競技者の各関節の曲がり具合の変化から、関節ごとの所定のタイミングを特定する特定部と、
前記センシングデータに基づく前記競技者の動きモデルまたは該競技者を撮影した映像における再生タイミングを指定するためのスライドバーと対応付けて、前記関節ごとの所定のタイミングを把握可能な状態で表示する表示制御部と
を有することを特徴とする情報処理装置。
【請求項１０】
前記特定部は、前記各関節の曲がり具合の変化として、前記競技者の複数の関節それぞれの角速度を算出し、前記関節ごとの所定のタイミングとして、該関節毎に前記角速度が最大となるタイミングを特定し、前記表示制御部は、前記スライドバーと対応付けて、前記角速度が最大となるタイミングを把握可能な状態で表示することを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記表示制御部は、前記スライドバーで指定されたタイミングから、前記競技者の動きモデルまたは映像データを表示することを特徴とする請求項９または１０に記載の情報処理装置。
【請求項１２】
前記表示制御部は、前記スライドバーと対応付けて、第１競技者の各関節における所定のタイミングと、第２競技者の各関節における所定のタイミングとを表示することを特徴とする請求項９または１０に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示方法等に関する。
【背景技術】
【０００２】
各種の競技において、競技者が一連の動作を行う際のフォームは重要な役割を担っている。このため、競技者は自身のフォームを理想的なフォームに近づけるようなトレーニングを行っている。たとえば、競技者は、自身がトレーニングを行っている様子をカメラで撮影し、撮影した動画を確認することで、自身のフォームの改善に役立てている。【０００３】
従来技術には、複数の動画を比較しやすくするための技術が開示されている。この従来技術では、たとえば、ゴルフのスイングに関する各動画に、アドレス、トップ、インパクト、フィニッシュなどのチェックポイントを設定しておき、比較対象となる動画において、チェックポイントの再生タイミングが一致するように、各動画の再生速度を調整している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−３８４０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、トレーニングを行う競技者の関節の動きに基づき、体の動きおよび状態を把握することを支援することができないという問題がある。【０００６】
１つの側面では、本発明は、トレーニングを行う競技者の関節の動きに基づき、体の動きおよび状態を把握することを支援することができる表示方法、表示プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の案では、コンピュータが次の処理を実行する。コンピュータは、３Ｄセンサによって競技者の動きをセンシングしたセンシングデータを取得する。コンピュータは、センシングデータに基づく競技者の各関節の曲がり具合の変化から、関節ごとの所定のタイミングを特定する。コンピュータは、センシングデータに基づく競技者の動きモデルまたは該競技者を撮影した映像における再生タイミングを指定するためのスライドバーと対応付けて、関節ごとの所定のタイミングを把握可能な状態で表示する。
【発明の効果】
【０００８】
競技者のトレーニングにおいて、体の動きおよび状態を把握することを支援することができる。
【図面の簡単な説明】
【０００９】
【図１Ａ】図１Ａは、参考技術１を説明するための図である。
【図１Ｂ】図１Ｂは、参考技術２を説明するための図である。
【図２】図２は、本実施例に係る情報処理装置の処理を説明するための図である。
【図３】図３は、本実施例に係るシステムの構成を説明するための図である。
【図４】図４は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【図５】図５は、本実施例に係るセンシングＤＢのデータ構造の一例を示す図である。
【図６】図６は、本実施例に係る映像ＤＢのデータ構造の一例を示す図である。
【図７】図７は、本実施例に係る関節定義データの一例を示す図である。
【図８】図８は、本実施例に係る関節位置ＤＢのデータ構造の一例を示す図である。
【図９】図９は、本実施例に係る３ＤモデルＤＢのデータ構造の一例を示す図である。
【図１０】図１０は、本実施例に係る角速度ＤＢのデータ構造の一例を示す図である。
【図１１】図１１は、本実施例に係る第１中間テーブルのデータ構造の一例を示す図である。
【図１２】図１２は、本実施例に係る第２中間テーブルのデータ構造の一例を示す図である。
【図１３】図１３は、本実施例に係る表示制御部が生成する表示画面の一例を示す図である。
【図１４】図１４は、その他の表示画面例（１）を示す図である。
【図１５】図１５は、その他の表示画面例（２）を示す図である。
【図１６】図１６は、その他の表示画面例（３）を示す図である。
【図１７】図１７は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。
【図１８】図１８は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本発明にかかる表示方法、表示プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１１】
本実施例の説明を行う前に参考技術１および参考技術２について説明する。この参考技術１、２は従来技術ではない。図１Ａは、参考技術１を説明するための図である。一例として、競技者がバスケットボールのシュート練習を行う映像データを用いて説明を行う。【００１２】
たとえば、参考技術１では、競技者の一連の動作を撮影した映像データを解析して、映像データから、所定のチェックポイントに対応する画像フレームを特定し、時系列に表示する。図１Ａに示す例では、参考技術１は、画像フレーム１０ａ，１０ｂ，１０ｃ，１０ｄを順に表示する。なお、図１Ａの例では、バスケットボールのシュートの映像データにおいて、「Hold」、「Set」、「Release」、「Follow  Through」がチェックポイントとして、設定されている。【００１３】
画像フレーム１０ａは、競技者が「Hold」の姿勢を取った際の画像フレームである。画像フレーム１０ｂは、競技者が「Set」の姿勢を取った際の画像フレームである。画像フレーム１０ｃは、競技者が「Release」の姿勢を取った際の画像フレームである。画像フレーム１０ｄは、競技者が「Follow  Through」の姿勢を取った際の画像フレームである。【００１４】
競技者は、図１Ａに示した情報を参照することで、各チェックポイントにおける自身の姿勢の画像を確認することができる。しかしながら、かかる参考技術では、あくまで、自身の姿勢の画像を確認することのみであり、トレーニングを行う競技者の関節の動きに基づき、体の動きおよび状態を把握することは難しい。【００１５】
図１Ｂは、参考技術２を説明するための図である。参考技術２は、ある動作を行った時の競技者の各関節の角速度を算出し、関節毎に角速度が最大となる時刻をプロットした情報を表示するものである。図１Ｂの縦軸は時刻を示す軸であり、横軸は、各関節に対応している。たとえば、競技者の「Hip」の角速度が最大となる時刻がマーカ５ａで示される。競技者の「Knee」の角速度が最大となる時刻がマーカ５ｂで示される。競技者の「Ankle」の角速度が最大となる時刻がマーカ５ｃで示される。競技者の「Shoulder」の角速度が最大となる時刻がマーカ５ｄで示される。競技者の「Elbow」の角速度が最大となる時刻がマーカ５ｅで示される。競技者の「Wrist」の角速度が最大となる時刻がマーカ５ｆで示される。【００１６】
たとえば、参考技術２では、各関節について、角速度が最大となる時刻を把握することは可能であるが、カメラで撮影された競技者の映像データや競技者のセンシングデータと、各時刻との対応関係がシステム上で管理されていないため、ある時刻（たとえばHipの角速度が最大となった時刻）における、競技者の姿勢を、映像データやセンシングデータから確認することができない。【００１７】
続いて、本実施例に係る情報処理装置の処理の一例について説明する。本実施例に係る情報処理装置は、３Ｄ（three  dimension）レーザセンサを用いて、一連の動作を行う競技者をセンシングすることで、センシングデータを取得し、センシングデータを用いて、競技者の各関節の動きを特定する。情報処理装置は、各関節の動きから各関節の角速度を算出し、関節毎に、角速度が最大となるタイミングを特定し、タイミングを指定するためのスライドバーと対応付けて表示する。【００１８】
図２は、本実施例に係る情報処理装置の処理を説明するための図である。本実施例では一例として、競技者の「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が最大となるタイミングを特定し、スライドバー５０と対応付けて表示する。たとえば、「Hip」の角速度は、競技者の股関節の角度に関する角速度である。「Knee」の角速度は、競技者の膝の曲がり角度に関する角速度である。「Ankle」の角速度は、競技者の足首の曲げ角度に関する角速度である。「Shoulder」の角速度は、肩周りの角度に関する角速度である。「Elbow」の角速度は、競技者の肘の曲げ角度に関する角速度である。【００１９】
図２に示す例では、時刻ｔ１において「Hip」の角速度が最大となる。時刻ｔ２において「Knee」の角速度が最大となる。時刻ｔ３において「Ankle」の角速度が最大となる。時刻ｔ４において「Shoulder」の角速度が最大となる。時刻ｔ５において「Elbow」の角速度が最大となる。【００２０】
情報処理装置は、スライドバー５０のスライド５０ａを時系列に移動させ、スライド５０ａが時刻ｔ１に到達した時点で、マーカ１１ａを表示させる。情報処理装置は、スライド５０ａが時刻ｔ２に到達した時点で、マーカ１１ｂを表示させる。情報処理装置は、スライド５０ａが時刻ｔ３に到達した時点で、マーカ１１ｃを表示させる。情報処理装置は、スライド５０ａが時刻ｔ４に到達した時点で、マーカ１１ｄを表示させる。情報処理装置は、スライド５０ａが時刻ｔ５に到達した時点で、マーカ１１ｅを表示させる。なお、競技者が、入力装置を操作して、スライドバー５０のスライド５０ａを移動させてもよい。【００２１】
ここで、シュートが上手な競技者は、各関節の動きが連動しており、一連の動きで、股関節、膝関節、足首、肩、肘の順に伸びていく。たとえば、角速度が最大となる各関節の順番が、「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」となる場合に、フォームが理想的なフォームであるといえる。【００２２】
図２に示した情報をユーザ（競技者）が参照することで、角速度が最大となる各関節の順番を、スライド５０ａの動きに合わせて確認することができ、各関節の動きがうまく連動できているか否か（力がうまく伝わっているか否か）を確認することができる。このため、本実施例に係る情報処理装置では、トレーニングを行う競技者の体の動きおよび状態を把握することを支援できるので、参考技術１、２等で説明した問題点を改善することができる。【００２３】
つまり、図１Ｂのように、競技者の関節の動きの推移を示すグラフで表示するシステムを、本実施形態は、図２のようなＧＵＩにより、技術的に改良している。なぜなら、本実施例では、映像データやセンシングデータと、各関節の動きにおける特徴的なポイントとの対応関係を管理することで、ユーザが、関節の動きで特徴的なポイントを指定すると、対応するタイミングの映像データやセンシングデータを表示することが可能となる。本実施例にかかるＧＵＩは、ユーザによる動きや姿勢の把握の度合を向上させるとともに、ユーザの操作性を技術的に向上させることができる。【００２４】
次に、本実施例に係るシステムの構成の一例について説明する。図３は、本実施例に係るシステムの構成を説明するための図である。図３に示すように、このシステムは、３Ｄレーザセンサ６０ａと、カメラ６０と、情報処理装置１００とを有する。情報処理装置１００は、３Ｄレーザセンサ６０ａ、カメラ６０ｂに接続される。【００２５】
３Ｄレーザセンサ６０ａは、競技者２０に対して３Ｄセンシングを行うセンサである。３Ｄレーザセンサ６０ａは、センシング結果となるセンシングデータを、情報処理装置１００に出力する。なお、３Ｄレーザセンサ６０ａは、競技者２０までの距離を計測可能なセンサの一例である。センシングデータには複数のセンシングフレームが含まれ、昇順にフレーム番号が割り当てられる。【００２６】
カメラ６０ｂは、競技者２０の映像データを撮影する装置である。カメラ６０ｂは、映像データを、情報処理装置１００に出力する。映像データには、競技者２０の画像に相当する複数の映像フレームが含まれ、各映像フレームには、昇順にフレーム番号が割り振られる。映像データのフレーム番号と、センシングデータのフレーム番号とは、同期しているものとする。【００２７】
情報処理装置１００は、３Ｄレーザセンサ６０ａを用いて、一連の動作を行う競技者２０をセンシングすることで、センシングデータを取得し、センシングデータを用いて、競技者の各関節の動きを特定する。情報処理装置１００は、各関節の動きから各関節の角速度を算出し、関節毎に、角速度が最大となるタイミングを特定し、タイミングを指定するためのスライドバーと対応付けて表示する。【００２８】
図４は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。図４に示すように、この情報処理装置１００は、インタフェース部１１０、通信部１２０、入力部１３０、表示部１４０、記憶部１５０、制御部１６０を有する。【００２９】
インタフェース部１１０は、３Ｄレーザセンサ６０ａ、カメラ６０ｂと接続し、３Ｄレーザセンサ６０ａ、カメラ６０ｂからデータを取得する装置である。インタフェース部１１０は、取得したデータを、制御部１６０に出力する。たとえば、インタフェース部１１０は、３Ｄレーザセンサ６０ａから、センシングデータを取得する。インタフェース部１１０は、カメラ６０ｂから、映像データを取得する。【００３０】
通信部１２０は、ネットワークを介して、他の装置とデータ通信を行う装置である。通信部１２０は、通信装置に対応する。情報処理装置１００は、ネットワークを介して、３Ｄレーザセンサ６０ａ、カメラ６０ｂに接続されてもよい。この場合には、通信部１２０は、ネットワークを介して、３Ｄレーザセンサ６０ａ、カメラ６０ｂからデータを取得する。【００３１】
入力部１３０は、情報処理装置１００に各種の情報を入力するための入力装置である。入力部１３０は、キーボード、マウス、タッチパネル等に対応する。たとえば、ユーザは、入力部１３０を操作して、スライドバー５０のスライド５０ａを移動させてもよい。【００３２】
表示部１４０は、制御部１６０から出力される表示画面の情報を表示する表示装置である。たとえば、表示部１４０は、図２で説明した情報等を表示する。表示部１４０は、液晶ディスプレイ、タッチパネル等に対応する。【００３３】
記憶部１５０は、センシングＤＢ１５０ａ、映像ＤＢ１５０ｂ、関節定義データ１５０ｃ、関節位置ＤＢ１５０ｄ、３ＤモデルＤＢ１５０ｅ、角速度ＤＢ１５０ｆを有する。記憶部１５０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。【００３４】
センシングＤＢ１５０ａは、３Ｄレーザセンサ６０ａから取得するセンシングデータを格納するデータベースである。図５は、本実施例に係るセンシングＤＢのデータ構造の一例を示す図である。図５に示すように、このセンシングＤＢ１５０ａは、競技者ＩＤと、フレーム番号と、センシングフレームとを対応付ける。競技者ＩＤは、競技者を一意に識別する情報である。フレーム番号は、同一の競技者ＩＤに対応する各センシングフレームを、一意に識別する番号である。センシングフレームは、３Ｄレーザセンサ６０ａにセンシングされたセンシングフレームである。たとえば、センシングフレームには、３Ｄレーザセンサ６０ａの撮像範囲に含まれる対象物（競技者）上の各点と、３Ｄレーザセンサ６０ａとの距離情報がそれぞれ含まれる。【００３５】
映像ＤＢ１５０ｂは、カメラ６０から取得する映像データを格納するデータベースである。図６は、本実施例に係る映像ＤＢのデータ構造の一例を示す図である。図６に示すように、競技者ＩＤと、フレーム番号と、映像フレームとを対応付ける。競技者ＩＤは、競技者を一意に識別する情報である。フレーム番号は、同一の競技者ＩＤに対応する各映像フレームを、一意に識別する番号である。映像フレームは、カメラ６０ｂに撮影された映像フレームである。【００３６】
関節定義データ１５０ｃは、競技者の各関節位置を定義するものである。図７は、本実施例に係る関節定義データの一例を示す図である。図７に示すように、この関節定義データ１５０ｃは、公知の骨格モデルで特定される各関節をナンバリングした情報を記憶する。たとえば、図７に示すように、右肩関節（SHOULDER＿RIGHT）には７番が付与され、左肘関節（ELBOW＿LEFT）には５番が付与され、左膝関節（KNEE＿LEFT）には１１番が付与され、右股関節（HIP＿RIGHT）には１４番が付与される。たとえば、８番の右肩関節のＸ座標をＸ８、Ｙ座標をＹ８、Ｚ座標をＺ８と記載する場合がある。【００３７】
関節位置ＤＢ１５０ｄは、３Ｄレーザセンサ６０ａのセンシングデータを基に生成される競技者２０の各関節の位置データである。図８は、本実施例に係る関節位置ＤＢのデータ構造の一例を示す図である。図８に示すように、この関節位置ＤＢ１５０ｄは、競技者ＩＤと、フレーム番号と、「Ｘ０、Ｙ０、Ｚ０、・・・、Ｘ１７、Ｙ１７、Ｚ１７」を対応づける。競技者ＩＤは、競技者を一意に識別する情報である。【００３８】
図８において、フレーム番号は、同一の競技者ＩＤに対応する各センシングフレームを一意に識別する番号である。図８の競技者ＩＤ「Ｕ１０１」に対応するフレーム番号と、図５の競技者ＩＤ「Ｕ１０１」に対応するフレーム番号は、同期しているものとする。「Ｘ０、Ｙ０、Ｚ０、・・・、Ｘ１７、Ｙ１７、Ｚ１７」は、各関節のＸＹＺ座標であり、たとえば「Ｘ０、Ｙ０、Ｚ０」は、図７に示す０番号の関節の３次元座標である。【００３９】
３ＤモデルＤＢ１５０ｅは、センシングデータを基に生成される競技者２０の３Ｄモデルの情報を格納するデータベースである。図９は、本実施例に係る３ＤモデルＤＢのデータ構造の一例を示す図である。図９に示すように、この３ＤモデルＤＢ１５０ｅは、競技者ＩＤと、フレーム番号と、骨格データと、３Ｄモデルデータとを対応付ける。競技者ＩＤ、フレーム番号に関する説明は、センシングＤＢ１５０ａで行った説明と同様である。【００４０】
骨格データは、各関節位置を接続することで推定される競技者２０の骨格を示すデータである。３Ｄモデルデータは、センシングデータから得られる情報と、骨格データとを基にして推定される競技者２０の３Ｄモデルのデータである。【００４１】
角速度ＤＢ１５０ｆは、各関節の角速度の情報を保持するデータベースである。図１０は、本実施例に係る角速度ＤＢのデータ構造の一例を示す図である。図１０に示すように、この角速度ＤＢ１５０ｆは、競技者ＩＤと、フレーム番号と、各関節の角速度とを対応付ける。競技者ＩＤは、競技者を一意に識別する情報である。フレーム番号は、センシングフレームを一意に識別する番号である。たとえば、各関節の角速度として、「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が含まれる。【００４２】
「Hip」の角速度は、競技者の股関節の角度に関する角速度である。たとえば、競技者の股関節の角度を、「Hip」線分と、予め設定される「Hip」基準線とのなす角度とする。「Hip」線分を、図７の座標（Ｘ１０、Ｙ１０、Ｚ１０）と、座標（Ｘ１４、Ｙ１４、Ｚ１４）とを通る線分とする。【００４３】
「Knee」の角速度は、競技者の膝の曲がり角度に関する角速度である。たとえば、競技者の膝の曲がり角度を、第１「Knee」線分と、第２「Knee」線とのなす角度とする。第１「Knee」線分を、図７の座標（Ｘ１４、Ｙ１４、Ｚ１４）と、座標（Ｘ１５、Ｙ１５、Ｚ１５）とを通る線分とする。第２「Knee」線分を、図７の座標（Ｘ１５、Ｙ１５、Ｚ１５）と、座標（Ｘ１６、Ｙ１６、Ｚ１６）とを通る線分とする。【００４４】
「Ankle」の角速度は、競技者の足首の曲げ角度に関する角速度である。たとえば、競技者の足首の曲げ角度を、「Ankle」線分と、予め設定される「Ankle」基準線とのなす角度とする。「Ankle」線分を、図７の座標（Ｘ１６、Ｙ１６、Ｚ１６）と、座標（Ｘ１７、Ｙ１７、Ｚ１７）とを通る線分とする。【００４５】
「Shoulder」の角速度は、肩周りの角度に関する角速度である。たとえば、競技者の肩周りの角度を、「Shoulder」線分と、予め設定される「Shoulder」基準線とのなす角度とする。「Shoulder」線分を、図７の座標（Ｘ４、Ｙ４、Ｚ４）と、座標（Ｘ７、Ｙ７、Ｚ７）とを通る線分とする。【００４６】
「Elbow」の角速度は、競技者の肘の曲げ角度に関する角速度である。たとえば、競技者の肘の曲げ角度を、第１「Elbow」線分と、第２「Elbow」線とのなす角度とする。第１「Elbow」線分を、図７の座標（Ｘ７、Ｙ７、Ｚ７）と、座標（Ｘ８、Ｙ８、Ｚ８）とを通る線分とする。第２「Elbow」線分を、図７の座標（Ｘ８、Ｙ８、Ｚ８）と、座標（Ｘ９、Ｙ９、Ｚ９）とを通る線分とする。【００４７】
図４の説明に戻る。制御部１６０は、取得部１６０ａ、３Ｄモデル生成部１６０ｂ、受付部１６０ｃ、特定部１６０ｄ、表示制御部１６０ｅを有する。制御部１６０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１６０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。【００４８】
取得部１６０ａは、３Ｄレーザセンサ６０ａからセンシングデータを取得し、取得したセンシングデータを、センシングＤＢ１５０ａに格納する。取得部１６０ａは、センシングデータをセンシングＤＢ１５０ａに格納する場合に、競技者ＩＤと、フレーム番号と、センシングフレームとを対応付ける。競技者ＩＤは、センシングデータに設定されていてもよいし、競技者２０が入力部１３０を操作して、センシングデータに対する競技者ＩＤを指定してもよい。【００４９】
取得部１６０ａは、カメラ６０ｂから映像データを取得し、取得した映像データを映像ＤＢ１５０ｂに格納する。取得部１６０ａは、競技者ＩＤと、フレーム番号と、映像フレームとを対応付ける。競技者ＩＤは、映像データに設定されていてもよいし、競技者２０が入力部１３０を操作して、映像データに対する競技者ＩＤを指定してもよい。【００５０】
３Ｄモデル生成部１６０ｂは、センシングＤＢ１５０ａを基にして、各競技者ＩＤの各フレーム番号に対応する３Ｄモデルデータを生成する処理部である。以下において、３Ｄモデル生成部１６０ｂの処理の一例について説明する。３Ｄモデル生成部１６０ｂは、センシングＤＢ１５０ａのセンシングフレームと、関節定義データ１５０ｃに定義された各関節の位置関係とを比較して、センシングフレームに含まれる各関節の種別および関節の３次元座標を特定する。３Ｄモデル生成部１６０ｂは、各競技者ＩＤのフレーム番号毎に上記処理を繰り返し実行することで、関節位置ＤＢ１５０ｄを生成する。【００５１】
３Ｄモデル生成部１６０ｂは、関節位置ＤＢ１５０ｄに格納された各関節の３次元座標を、関節定義データ１５０ｃに定義された接続関係を基にしてつなぎ合わせることで、骨格データを生成する。また、３Ｄモデル生成部１６０ｂは、推定した骨格データを、競技者２０の体格に合わせた骨格モデルに当てはめることで、３Ｄモデルデータを生成する。３Ｄモデル生成部１６０ｂは、各競技者ＩＤのフレーム番号毎に上記処理を繰り返し実行することで、３ＤモデルＤＢ１５０ｅを生成する。【００５２】
受付部１６０ｃは、競技者ＩＤの指定を受け付ける処理部である。受付部１６０ｃは、受け付けた競技者ＩＤを、特定部１６０ｄに出力する。たとえば、競技者２０は、一連の動作を行って、３Ｄレーザセンサ６０ａにセンシングされた後に、自身のフォームを確認するべく、入力部１３０を操作して、自身の競技者ＩＤを入力する。【００５３】
特定部１６０ｄは、競技者ＩＤに対応する角速度ＤＢ１５０ｆを生成する処理部である。以下において、特定部１６０ｄの処理の一例について説明する。特定部１６０ｄは、競技者ＩＤを取得すると、競技者ＩＤに対応する各関節の座標情報のうち、各関節の角度を算出する際に用いる座標情報を抽出し、第１中間テーブルに格納する。【００５４】
図１１は、本実施例に係る第１中間テーブルのデータ構造の一例を示す図である。図１１に示すように、この第１中間テーブル１５５ａは、フレーム番号と、座標とを対応付ける。フレーム番号は、センシングフレームを一意に識別する番号である。座標は、各関節の角度を算出する場合に用いる座標情報であり、「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」に関する座標情報を有する。【００５５】
「Hip」の座標は、競技者ＩＤおよびフレーム番号の組に対応する各座標（図８のＸ０、Ｙ０、Ｚ０〜Ｘ１７、Ｙ１７、Ｚ１７）のうち、「Hip」線分を算出る場合に用いられる座標となる。「Hip」線分を算出する場合に用いられる座標は、座標（Ｘ１０、Ｙ１０、Ｚ１０）および座標（Ｘ１４、Ｙ１４、Ｚ１４）である。【００５６】
「Knee」の座標は、競技者ＩＤおよびフレーム番号の組に対応する各座標（図８のＸ０、Ｙ０、Ｚ０〜Ｘ１７、Ｙ１７、Ｚ１７）のうち、第１「Knee」線分および第２「Knee」線分を算出する場合に用いられる座標となる。第１「Knee」線分を算出する場合に用いられる座標は、座標（Ｘ１４、Ｙ１４、Ｚ１４）、座標（Ｘ１５、Ｙ１５、Ｚ１５）である。第２「Knee」線分を算出する場合に用いられる座標は、座標（Ｘ１５、Ｙ１５、Ｚ１５）、座標（Ｘ１６、Ｙ１６、Ｚ１６）である。【００５７】
「Ankle」の座標は、競技者ＩＤおよびフレーム番号の組に対応する各座標（図８のＸ０、Ｙ０、Ｚ０〜Ｘ１７、Ｙ１７、Ｚ１７）のうち、「Ankle」線分を算出する場合に用いられる座標となる。「Ankle」線分を算出する場合に用いられる座標は、座標（Ｘ１６、Ｙ１６、Ｚ１６）、座標（Ｘ１７、Ｙ１７、Ｚ１７）である。【００５８】
「Shoulder」の座標は、競技者ＩＤおよびフレーム番号の組に対応する各座標（図８のＸ０、Ｙ０、Ｚ０〜Ｘ１７、Ｙ１７、Ｚ１７）のうち、「Shoulder」線分を算出する場合に用いられる座標となる。「Shoulder」線分を算出する場合に用いられる座標は、座標（Ｘ４、Ｙ４、Ｚ４）、座標（Ｘ７、Ｙ７、Ｚ７）である。【００５９】
「Elbow」の座標は、競技者ＩＤおよびフレーム番号の組に対応する各座標（図８のＸ０、Ｙ０、Ｚ０〜Ｘ１７、Ｙ１７、Ｚ１７）のうち、第１「Elbow」線分および第２「Elbow」線分を算出する場合に用いられる座標となる。第１「Elbow」線分を算出する場合に用いられる座標は、座標（Ｘ７、Ｙ７、Ｚ７）、座標（Ｘ８、Ｙ８、Ｚ８）である。第２「Elbow」線分を算出する場合に用いられる座標は、座標（Ｘ８、Ｙ８、Ｚ８）、座標（Ｘ９、Ｙ９、Ｚ９）である。【００６０】
特定部１６０ｄは、関節位置ＤＢ１５０ｄから、フレーム番号毎に「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の座標情報を抽出することで、第１中間テーブル１５５ａを生成する。特定部１６０ｄは、第１中間テーブル１５５ａを基にして、第２中間テーブル１５５ｂを生成する。【００６１】
図１２は、本実施例に係る第２中間テーブルのデータ構造の一例を示す図である。図１２に示すように、この第２中間テーブル１５５ｂは、フレーム番号と、角度とを対応付ける。フレーム番号は、センシングフレームを一意に識別する情報である。角度は、各関節の角度を示すものであり、「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」に関する角度を有する。【００６２】
「Hip」の角度は、「Hip」線分と、予め設定される「Hip」基準線とのなす角度である。特定部１６０ｄは、フレーム番号ｎの「Hip」の角度θｈｎを、第１中間テーブル１５５ａのフレーム番号ｎの「Hip」の座標を基にして算出する。【００６３】
「Knee」の角度は、第１「Knee」線分と、第２「Knee」線とのなす角度である。特定部１６０ｄは、フレーム番号ｎの「Knee」の角度θｋｎを、第１中間テーブル１５５ａのフレーム番号ｎの「Knee」の座標を基にして算出する。【００６４】
「Ankle」の角度は、「Ankle」線分と、予め設定される「Ankle」基準線とのなす角度である。特定部１６０ｄは、フレーム番号ｎの「Ankle」の角度θａｎを、第１中間テーブル１５５ａのフレーム番号ｎの「Ankle」の座標を基にして算出する。【００６５】
「Shoulder」の角度は、「Shoulder」線分と、予め設定される「Shoulder」基準線とのなす角度である。特定部１６０ｄは、フレーム番号ｎの「Shoulder」の角度θｓｎを、第１中間テーブル１５５ａのフレーム番号ｎの「Shoulder」の座標を基にして算出する。【００６６】
「Elbow」の角度は、第１「Elbow」線分と、第２「Elbow」線とのなす角度である。特定部１６０ｄは、フレーム番号ｎの「Elbow」の角度θｅｎを、第１中間テーブル１５５ａのフレーム番号ｎの「Elbow」の座標を基にして算出する。【００６７】
特定部１６０ｄは、フレーム番号毎に「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角度を算出することで、第２中間テーブル１５５ｂを生成する。特定部１６０ｄは、第２中間テーブル１５５ｂを基にして、角速度ＤＢ１５０ｆを生成する。【００６８】
特定部１６０ｄが、角速度ＤＢ１５０ｆを生成する処理の一例について説明する。図１０で説明したように、角速度には、「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が含まれる。【００６９】
特定部１６０ｄが、「Hip」の角速度を算出する処理の一例について説明する。特定部１６０ｄは、式（１）に基づいて、各フレーム番号の「Hip」の角速度を算出する。フレームの時間間隔は、予め設定されるフレーム前後の時間間隔を示す。【００７０】
ωｈｎ＋１＝（角度θｈｎ＋１−角度θｈｎ）／フレームの時間間隔・・・（１）【００７１】
特定部１６０ｄが、「Knee」の角速度を算出する処理の一例について説明する。特定部１６０ｄは、式（２）に基づいて、各フレーム番号の「Knee」の角速度を算出する。【００７２】
ωｋｎ＋１＝（角度θｋｎ＋１−角度θｋｎ）／フレームの時間間隔・・・（２）【００７３】
特定部１６０ｄが、「Ankle」の角速度を算出する処理の一例について説明する。特定部１６０ｄは、式（３）に基づいて、各フレーム番号の「Ankle」の角速度を算出する。【００７４】
ωａｎ＋１＝（角度θａｎ＋１−角度θａｎ）／フレームの時間間隔・・・（３）【００７５】
特定部１６０ｄが、「Shoulder」の角速度を算出する処理の一例について説明する。特定部１６０ｄは、式（４）に基づいて、各フレーム番号の「Shoulder」の角速度を算出する。【００７６】
ωｓｎ＋１＝（角度θｓｎ＋１−角度θｓｎ）／フレームの時間間隔・・・（４）【００７７】
特定部１６０ｄが、「Elbow」の角速度を算出する処理の一例について説明する。特定部１６０ｄは、式（５）に基づいて、各フレーム番号の「Elbow」の角速度を算出する。【００７８】
ωｅｎ＋１＝（角度θｅｎ＋１−角度θｅｎ）／フレームの時間間隔・・・（５）【００７９】
続いて、特定部１６０ｄは、角速度ＤＢ１５０ｆを生成した後に、関節毎に、角速度が最大となるフレーム番号（時刻）を特定する。【００８０】
特定部１６０ｄは、角速度ＤＢ１５０ｆの角速度「Hip」の列を走査し、「Hip」角速度ωｈが最大となるフレーム番号を特定する。特定部１６０ｄは、フレーム番号を時刻に変換し、「Hip」角速度ωｈが最大となる時刻を特定する。以下の説明では適宜、「Hip」角速度ωｈが最大となる時刻を「Ｔｍｈ」と表記する。【００８１】
特定部１６０ｄは、角速度ＤＢ１５０ｆの角速度「Knee」の列を走査し、「Knee」角速度ωｋが最大となるフレーム番号を特定する。特定部１６０ｄは、フレーム番号を時刻に変換し、「Knee」角速度ωｋが最大となる時刻を特定する。以下の説明では適宜、「Knee」角速度ωｋが最大となる時刻を「Ｔｍｋ」と表記する。【００８２】
特定部１６０ｄは、角速度ＤＢ１５０ｆの角速度「Ankle」の列を走査し、「Ankle」角速度ωａが最大となるフレーム番号を特定する。特定部１６０ｄは、フレーム番号を時刻に変換し、「Ankle」角速度ωａが最大となる時刻を特定する。以下の説明では適宜、「Ankle」角速度ωａが最大となる時刻を「Ｔｍａ」と表記する。【００８３】
特定部１６０ｄは、角速度ＤＢ１５０ｆの角速度「Shoulder」の列を走査し、「Shoulder」角速度ωｓが最大となるフレーム番号を特定する。特定部１６０ｄは、フレーム番号を時刻に変換し、「Shoulder」角速度ωｓが最大となる時刻を特定する。以下の説明では適宜、「Shoulder」角速度ωｓが最大となる時刻を「Ｔｍｓ」と表記する。【００８４】
特定部１６０ｄは、角速度ＤＢ１５０ｆの角速度「Elbow」の列を走査し、「Elbow」角速度ωｅが最大となるフレーム番号を特定する。特定部１６０ｄは、フレーム番号を時刻に変換し、「Elbow」角速度ωｅが最大となる時刻を特定する。以下の説明では適宜、「Elbow」角速度ωｅが最大となる時刻を「Ｔｍｅ」と表記する。【００８５】
特定部１６０ｄは、上記処理を行うことで、関節毎の時刻Ｔｍｈ、Ｔｍｋ、Ｔｍａ、Ｔｍｓ、Ｔｍｅを特定し、特定した情報を、表示制御部１６０ｅに出力する。【００８６】
表示制御部１６０ｅは、センシングデータに基づく競技者の動きモデルまたは該競技者を撮影した映像における再生タイミングを指定するためのスライドバーと対応付けた表示画面の情報を生成し、関節ごとの所定のタイミングを把握可能な状態で表示部１４０に表示する処理部である。【００８７】
図１３は、本実施例に係る表示制御部が生成する表示画面の一例を示す図である。図１３に示すように、この表示画面７０は、表示領域７０ａ，７０ｂを有する。表示領域７０ａは、競技者２０の「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が最大となるタイミングを、スライドバー５０と対応付けて表示する領域である。【００８８】
スライドバー５０は時間を示すものであり、表示制御部１６０ｅは、スライドバー５０上のスライド５０ａの位置によって、時刻を特定する。スライド５０ａは、移動可能に設定されており、表示制御部１６０ｅがスライド５０ａを時系列に移動させてもよいし、ユーザが、入力部１３０を操作して、スライド５０ａを移動させてもよい。【００８９】
表示制御部１６０ｅは、時刻「Ｔｍｈ」において、「Hip」角速度ωｈが最大となる旨の情報を保持している。表示制御部１６０ｅは、スライド５０ａの位置が、時刻「Ｔｍｈ」に対応する時刻となった時点で、マーカ１１ａを表示させる。時刻「Ｔｍｈ」と、マーカ１１ａとの組を表示させることで、時刻「Ｔｍｈ」において、「Hip」角速度が最大となることが把握可能となる。【００９０】
表示制御部１６０ｅは、時刻「Ｔｍｋ」において、「Knee」角速度ωｋが最大となる旨の情報を保持している。表示制御部１６０ｅは、スライド５０ａの位置が、時刻「Ｔｍｋ」に対応する時刻となった時点で、マーカ１１ｂを表示させる。時刻「Ｔｍｋ」と、マーカ１１ｂとの組を表示させることで、時刻「Ｔｍｋ」において、「Knee」角速度が最大となることが把握可能となる。【００９１】
表示制御部１６０ｅは、時刻「Ｔｍａ」において、「Ankle」角速度ωａが最大となる旨の情報を保持している。表示制御部１６０ｅは、スライド５０ａの位置が、時刻「Ｔｍａ」に対応する時刻となった時点で、マーカ１１ｃを表示させる。時刻「Ｔｍａ」と、マーカ１１ｃとの組を表示させることで、時刻「Ｔｍａ」において、「Ankle」角速度が最大となることが把握可能となる。【００９２】
表示制御部１６０ｅは、時刻「Ｔｍｓ」において、「Shoulder」角速度ωｓが最大となる旨の情報を保持している。表示制御部１６０ｅは、スライド５０ａの位置が、時刻「Ｔｍｓ」に対応する時刻となった時点で、マーカ１１ｄを表示させる。時刻「Ｔｍｓ」と、マーカ１１ｄとの組を表示させることで、時刻「Ｔｍｓ」において、「Shoulder」角速度が最大となることが把握可能となる。【００９３】
表示制御部１６０ｅは、時刻「Ｔｍｓ」において、「Elbow」角速度ωｅが最大となる旨の情報を保持している。表示制御部１６０ｅは、スライド５０ａの位置が、時刻「Ｔｍｅ」に対応する時刻となった時点で、マーカ１１ｅを表示させる。時刻「Ｔｍｅ」と、マーカ１１ｅとの組を表示させることで、時刻「Ｔｍｅ」において、「Elbow」角速度が最大となることが把握可能となる。【００９４】
上記のように、表示制御部１６０ｅは、スライド５０ａの移動に合わせて、競技者２０の「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が最大となるタイミングを表示する。これにより、角速度が最大となる各関節の順番を確認することができるので、各関節の動きがうまく連動できているか否か（力がうまく伝わっているか否か）を確認することができる。図１３に示す例では、「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の順に、力が伝わっており、理想的なフォームであることが分かる。【００９５】
表示領域７０ｂは、競技者２０の３Ｄモデルを表示する領域である。たとえば、表示制御部１６０ｅは、スライド５０ａの位置に対応する時刻を特定し、特定した時刻に対応する３Ｄモデルデータを、３ＤモデルＤＢ１５０ｅから取得し、表示領域７０ｂに表示させる。これにより、スライド５０ａの移動に合わせた、競技者２０の体の動きを３Ｄモデルで確認することもできる。【００９６】
図１３のようなＧＵＩを採用することで、本実施例にかかる情報処理装置は、たとえば、スライド５０ａを、ひじ関節が最も大きく動いたタイミングであるマーカ１１ｅに合せる操作を、ユーザから受け付けることができる。さらに、情報処理装置は、ひじ関節が最も大きく動いたタイミングに対応する３Ｄモデルを、表示領域７０ｂに表示させることができる。よって、そのタイミングにおける競技者の姿勢や、ひじ関節が最も大きく動いたタイミングからの姿勢の推移（動き）を確認することができる。【００９７】
また、実施例にかかる情報処理装置は、たとえば、スライド５０ａを、ひじ関節が最も大きく動いたタイミングであるマーカ１１ｅの少し前に合せる操作を、ユーザから受け付けることができる。さらに、情報処理装置は、ひじ関節が最も大きく動いたタイミングの少し前に対応する３Ｄモデルを、表示領域７０ｂに表示させることができる。よって、ひじ関節が最も大きく動いたタイミングの少し前の競技者の姿勢や、ひじ関節が最も大きく動いたタイミングの少し前からの姿勢の推移（動き）を確認することができる。【００９８】
ところで、図１３に示した表示画面は一例であり、表示制御部１６０ｅは、他の表示画面を生成して、表示部１４０に表示させてもよい。以下の説明では、表示制御部１６０ｅが生成するその他の表示画面例（１）〜（３）について説明する。【００９９】
表示制御部１６０ｅが生成するその他の表示画面例（１）について説明する。表示制御部１６０ｅは、複数の競技者について、「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が最大となるタイミングを、スライドバー５０と対応付けて表示してもよい。【０１００】
図１４は、その他の表示画面例（１）を示す図である。図１４に示すように、この表示画面７１は、表示領域７１ａ，７１ｂ，７１ｃ，７１ｄを有する。表示領域７１ａは、複数の競技者の「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が最大となるタイミングを、スライドバー５０と対応付けて表示する領域である。【０１０１】
ここでは、第１競技者と第２競技者に関する情報を表示する場合について説明する。たとえば、ユーザは、入力部１３０を操作して、第１競技者および第２競技者に対応する競技者ＩＤを、情報処理装置１００に入力して指定する。説明を省略するが、特定部１６０ｄは、第１競技者の各関節の角速度が最大となる時刻、および、第２競技者の各関節の角速度が最大となる時刻を特定し、表示制御部１６０ｅに通知する。【０１０２】
図１３と同様にして、スライドバー５０には、スライド５０ａが移動可能に設定されている。表示制御部１６０ｅがスライド５０ａを時系列に移動させてもよいし、ユーザが、入力部１３０を操作して、スライド５０ａを移動させてもよい。ユーザは、入力部１３０を操作（ドラッグ操作）して、スライド５０ａを移動させてもよいし、スライド５０ａの移動に関して、時系列移動、スキップ移動、コマ送り、一時停止等の指示を行って、スライド５０ａの移動を制御してもよい。【０１０３】
たとえば、表示制御部１６０ｅは、時刻「Ｔｍｈ１」（図示略）において、第１競技者の「Hip」角速度が最大となる旨の情報を保持しているものとする。表示制御部１６０ｅは、スライド５０ａの位置が、時刻「Ｔｍｈ１」に対応する時刻となった時点で、マーカ１１ａを表示させる。時刻「Ｔｍｈ１」と、マーカ１１ａとの組を表示させることで、時刻「Ｔｍｈ１」において、第１競技者の「Hip」角速度が最大となることが把握可能となる。【０１０４】
表示制御部１６０ｅは、時刻「Ｔｍｈ２」（図示略）において、第２競技者の「Hip」角速度が最大となる旨の情報を保持しているものとする。表示制御部１６０ｅは、スライド５０ａの位置が、時刻「Ｔｍｈ２」に対応する時刻となった時点で、マーカ１２ａを表示させる。時刻「Ｔｍｈ２」と、マーカ１２ａとの組を表示させることで、時刻「Ｔｍｈ２」において、第２競技者の「Hip」角速度が最大となることが把握可能となる。【０１０５】
表示制御部１６０ｅは、時刻「Ｔｍｋ１」（図示略）において、第１競技者の「Knee」角速度が最大となる旨の情報を保持しているものとする。表示制御部１６０ｅは、スライド５０ａの位置が、時刻「Ｔｍｋ１」に対応する時刻となった時点で、マーカ１１ｂを表示させる。時刻「Ｔｍｋ１」と、マーカ１１ｂとの組を表示させることで、時刻「Ｔｍｋ１」において、第１競技者の「Knee」角速度が最大となることが把握可能となる。【０１０６】
表示制御部１６０ｅは、時刻「Ｔｍｋ２」（図示略）において、第２競技者の「Knee」角速度が最大となる旨の情報を保持しているものとする。表示制御部１６０ｅは、スライド５０ａの位置が、時刻「Ｔｍｋ２」に対応する時刻となった時点で、マーカ１２ｂを表示させる。時刻「Ｔｍｋ２」と、マーカ１２ｂとの組を表示させることで、時刻「Ｔｍｋ２」において、第２競技者の「Knee」角速度が最大となることが把握可能となる。【０１０７】
表示制御部１６０ｅは、時刻「Ｔｍａ１」（図示略）において、第１競技者の「Ankle」角速度が最大となる旨の情報を保持しているものとする。表示制御部１６０ｅは、スライド５０ａの位置が、時刻「Ｔｍａ１」に対応する時刻となった時点で、マーカ１１ｃを表示させる。時刻「Ｔｍａ１」と、マーカ１１ｃとの組を表示させることで、時刻「Ｔｍａ１」において、第１競技者の「Ankle」角速度が最大となることが把握可能となる。【０１０８】
表示制御部１６０ｅは、時刻「Ｔｍａ２」（図示略）において、第２競技者の「Ankle」角速度が最大となる旨の情報を保持しているものとする。表示制御部１６０ｅは、スライド５０ａの位置が、時刻「Ｔｍａ２」に対応する時刻となった時点で、マーカ１２ｃを表示させる。時刻「Ｔｍａ２」と、マーカ１２ｃとの組を表示させることで、時刻「Ｔｍａ２」において、第２競技者の「Ankle」角速度が最大となることが把握可能となる。【０１０９】
表示制御部１６０ｅは、時刻「Ｔｍｓ１」（図示略）において、第１競技者の「Shoulder」角速度が最大となる旨の情報を保持している。表示制御部１６０ｅは、スライド５０ａの位置が、時刻「Ｔｍｓ１」に対応する時刻となった時点で、マーカ１１ｄを表示させる。時刻「Ｔｍｓ１」と、マーカ１１ｄとの組を表示させることで、時刻「Ｔｍｓ１」において、第１競技者の「Shoulder」角速度が最大となることが把握可能となる。【０１１０】
表示制御部１６０ｅは、時刻「Ｔｍｓ２」（図示略）において、第２競技者の「Shoulder」角速度が最大となる旨の情報を保持している。表示制御部１６０ｅは、スライド５０ａの位置が、時刻「Ｔｍｓ２」に対応する時刻となった時点で、マーカ１２ｄを表示させる。時刻「Ｔｍｓ２」と、マーカ１２ｄとの組を表示させることで、時刻「Ｔｍｓ２」において、第２競技者の「Shoulder」角速度が最大となることが把握可能となる。【０１１１】
表示制御部１６０ｅは、時刻「Ｔｍｓ１」（図示略）において、第１競技者の「Elbow」角速度が最大となる旨の情報を保持している。表示制御部１６０ｅは、スライド５０ａの位置が、時刻「Ｔｍｅ１」に対応する時刻となった時点で、マーカ１１ｅを表示させる。時刻「Ｔｍｅ１」と、マーカ１１ｅとの組を表示させることで、時刻「Ｔｍｅ１」において、第１競技者の「Elbow」角速度が最大となることが把握可能となる。【０１１２】
表示制御部１６０ｅは、時刻「Ｔｍｓ２」（図示略）において、第２競技者の「Elbow」角速度が最大となる旨の情報を保持している。表示制御部１６０ｅは、スライド５０ａの位置が、時刻「Ｔｍｅ２」に対応する時刻となった時点で、マーカ１２ｅを表示させる。時刻「Ｔｍｅ２」と、マーカ１２ｅとの組を表示させることで、時刻「Ｔｍｅ２」において、第２競技者の「Elbow」角速度が最大となることが把握可能となる。【０１１３】
上記のように、表示制御部１６０ｅは、スライド５０ａの移動に合わせて、各競技者の「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が最大となるタイミングを表示する。これにより、各競技者について、角速度が最大となる各関節の順番を比較、確認することができる。【０１１４】
表示領域７１ｂは、第１競技者の３Ｄモデルを表示する領域である。たとえば、表示制御部１６０ｅは、スライド５０ａの位置に対応する時刻を特定し、特定した時刻に対応する第１競技者の３Ｄモデルデータを、３ＤモデルＤＢ１５０ｅから取得し、表示領域７１ｂに表示させる。これにより、スライド５０ａの移動に合わせた、第１競技者の体の動きを３Ｄモデルで確認することもできる。【０１１５】
表示領域７１ｃは、第２競技者の３Ｄモデルを表示する領域である。たとえば、表示制御部１６０ｅは、スライド５０ａの位置に対応する時刻を特定し、特定した時刻に対応する第２競技者の３Ｄモデルデータを、３ＤモデルＤＢ１５０ｅから取得し、表示領域７１ｃに表示させる。これにより、スライド５０ａの移動に合わせた、第２競技者の体の動きを３Ｄモデルで確認することもできる。【０１１６】
表示領域７１ｄは、第１競技者、第２競技者として選択する競技者の候補を表示する領域である。ユーザは、入力部１３０を操作して、表示領域７１ｄに表示された複数の競技者から、第１競技者、第２競技者を選択する。【０１１７】
図１４では説明を省略するが、表示制御部１６０ｅは、所定の関節の角度の指定を受け付けた場合には、指定された関節の角度の時系列の変化を、表示領域７１ｂ，７１ｃに表示させてもよい。また、図１４に示した表示領域７１ｂ，７１ｃは、各競技者を側面からとらえた場合の３Ｄモデルを示したがこれに限定されるものではない。ユーザは、入力部１３０を操作して、視点を変更し、他の視点から、各競技者のフォームを確認することも可能である。表示制御部１６０ｅは、競技者がボールを投げた場合の投射角度を更に表示してもよい。【０１１８】
続いて、表示制御部１６０ｅが生成するその他の表示画面例（２）について説明する。図１５は、その他の表示画面例（２）を示す図である。図１５に示すように、この表示画面７２は、表示領域７２ａ，７２ｂを有する。【０１１９】
表示領域７２ａは、スライドバー５０を表示する領域である。スライドバー５０には、スライド５０ａが移動可能に設定されている。スライドバー５０は時間を示すものであり、表示制御部１６０ｅは、スライドバー５０上のスライド５０ａの位置によって、時刻を特定する。スライド５０ａは、移動可能に設定されており、表示制御部１６０ｅがスライド５０ａを時系列に移動させてもよいし、ユーザが、入力部１３０を操作して、スライド５０ａを移動させてもよい。【０１２０】
表示領域７２ｂは、競技者（たとえば、競技者２０）の所定の関節に関する移動軌跡を３Ｄモデルで表示する領域である。図１５に示す例では、競技者２０の右手首（WRIST_RIGHT）の移動軌跡を示す。表示制御部１６０ｅは、競技者２０の全身の３Ｄモデルを、表示領域７２ｂに合わせて表示させてもよい。【０１２１】
表示制御部１６０ｅは、関節位置ＤＢ１５０ｄを参照して、右手首の関節位置の３次元座標と、時刻とを対応付けた情報を取得する。表示制御部１６０ｅは、各時刻に対応する右手首の各関節位置を、領域７２ｃに表示させる。たとえば、表示制御部１６０ｅは、領域７２ｃに表示させる各関節位置を、球により表示させる。【０１２２】
表示制御部１６０ｅは、スライド５０ａの位置が開始位置５０ｂに配置されている場合には、各関節位置に対応する球を、半透明で表示させる。表示制御部１６０ｅは、スライド５０ａの位置が移動した場合には、移動したスライド５０ａの位置に対応する時刻を特定し、特定した時刻以前の時刻に対応付けられた各関節位置の球を「半透明」から「黒色」に変更する処理を行う。【０１２３】
たとえば、スライド５０ａが移動し、移動したスライド５０ａに対応する時刻を時刻ＴＡとする。また、時刻ＴＡ以前の時刻に対応付けられた各関節位置の球を、図１５に示す各球７２ｄとする。この場合には、表示制御部１６０ｅは、各球７２ｄを、「半透明」から「黒色」に変更する処理を行う。【０１２４】
表示制御部１６０ｅは、表示領域７２ｂに、理想的な右手首の位置を示す基準線７２ｅを更に表示し、基準線７２ｅと、スライド５０ａで指定された時刻に対応する右手首の位置との差を算出して、表示してもよい。【０１２５】
図１５に示した表示画面７２は、競技者２０を正面からとらえた場合の表示画面である。ユーザは、入力部１３０を操作して、視点を変更し、他の視点から、競技者２０のフォームを確認することも可能である。【０１２６】
表示制御部１６０ｅが生成するその他の表示画面例（３）について説明する。表示制御部１６０ｅは、図１３の表示領域７０ｂ、図１４の表示領域７１ｂ，７１ｃ、図１５の表示領域７２ｂに示した競技者の３Ｄモデルに、映像ＤＢ１５０ｂに格納された映像フレームの映像を貼り付けて表示させてもよい。【０１２７】
図１６は、その他の表示画面例（３）を示す図である。図１６に示すように、この表示画面７３は、表示領域７３ａ，７３ｂを有する。表示領域７３ａは、競技者２０の「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が最大となるタイミングを、スライドバー５０と対応付けて表示する領域である。表示領域７３ａに関する他の説明は、図１３で説明した表示領域７０ａに関する説明と同様である。【０１２８】
表示領域７３ｂは、競技者２０の３Ｄモデルに、競技者２０の映像を添付したものを表示する領域である。たとえば、表示制御部１６０ｅは、スライド５０ａの位置に対応する時刻を特定し、特定した時刻に対応する３Ｄモデルデータを、３ＤモデルＤＢ１５０ｅから取得し、表示領域７０ｂに表示させる。また、表示制御部１６０ｅは、３Ｄモデルデータを表示させる場合に、映像ＤＢ１５０ｂから、競技者２０の各部分の画像データを取得し、３Ｄモデルデータに添付して、表示させる。これにより、スライド５０ａの移動に合わせた、競技者２０の体の動きをよりリアルな３Ｄモデルで確認することができる。【０１２９】
なお、表示制御部１６０ｅは、表示画面７３の他の表示領域に、映像ＤＢ１５０ｂに格納された映像フレームを表示させてもよい。たとえば、表示制御部１６０ｅは、スライド５０ａの位置に対応する時刻を特定し、特定した時刻に対応する映像フレームを、映像ＤＢ１５０ｂから取得し、表示領域に表示させる。【０１３０】
次に、本実施例に係る情報処理装置１００の処理手順の一例について説明する。図１７は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。図１７に示すように、情報処理装置１００の受付部１６０ｃは、競技者ＩＤの選択を受け付ける（ステップＳ１０１）。【０１３１】
情報処理装置１００の特定部１６０ｄは、選択された競技者ＩＤに対応する角速度を算出し、角速度ＤＢ１５０ｆを生成する（ステップＳ１０２）。特定部１６０ｄは、角速度を基にして、競技者ＩＤの関節毎に角速度が最大となるタイミングを特定する（ステップＳ１０３）。【０１３２】
情報処理装置１００の表示制御部１６０ｅは、スライドバーと、各関節の角速度が最大となるタイミングとを対応付けた表示画面を生成する（ステップＳ１０４）。表示画面を表示し、スライドバーのスライド位置に応じて、マーカを表示する（ステップＳ１０５）。【０１３３】
次に、本実施例に係る情報処理装置１００の効果について説明する。情報処理装置１００は、３Ｄレーザセンサ６０ａを用いて、一連の動作を行う競技者をセンシングすることで、センシングデータを取得し、センシングデータを用いて、競技者の各関節の動きを特定する。情報処理装置１００は、各関節の動きから各関節の角速度を算出し、関節毎に、角速度が最大となるタイミングを特定し、タイミングを指定するためのスライドバーと対応付けて表示する。表示された情報を参照することで、角速度が最大となる各関節の順番を確認することができるので、各関節の動きがうまく連動できているか否か（力がうまく伝わっているか否か）を確認することができる。このため、本実施例に係る情報処理装置１００では、トレーニングを行う競技者の体の動きおよび状態を把握することを支援でき、図１Ａの参考技術１等で説明した問題点を改善することができる。【０１３４】
情報処理装置１００によれば、図１３等で説明したように、各角速度が最大となるタイミングだけでなく、競技者の３Ｄモデルによる競技者の姿勢も、スライドバーと対応付けて表示する。このため、各関節の動きがうまく連動できているか否かを確認できだけでなく、各関節の動きで特徴的なポイントに対応した競技者のフォームを確認することができる。【０１３５】
情報処理装置１００は、スライドバーと対応付けて、第１競技者の一連の各関節の動きのポイントとなるタイミングと、第２競技者の一連の各関節の動きのポイントとなるタイミングとを表示する。このため、各関節の動きがうまく連動できているか否かを、異なる競技者同士で比較することができる。【０１３６】
本実施例に係る情報処理装置１００では、競技者２０が、バスケットボールに関する一連の動作を行い、情報処理装置１００が、関節毎に、角速度が最大となるタイミングを特定して、スライドバーと対応付けて表示していたが、これに限定されるものではない。たとえば、競技者２０は、他の競技に関する一連の動作を行い、情報処理装置１００が、関節毎に、角速度が最大となるタイミングを特定して、スライドバーと対応付けて表示してもよい。【０１３７】
他の競技は、トランポリン、水泳の飛び込み、フィギュアスケート、空手の型、社交ダンス、スノーボード、スケートボード、スキーエアリアル、サーフィンを含む。また、クラシックバレエ、スキージャンプ、モーグルのエアー、ターン、野球、バスケットボールのフォームチェック等にも適用してもよい。また、剣道、柔道、レスリング、相撲などの競技にも適用してもよい。【０１３８】
また、本実施例に係る情報処理装置１００は、各関節の動きから各関節の角速度を算出し、関節毎に、角速度が最大となるタイミングを特定し、タイミングを指定するためのスライドバーと対応付けて表示していたが、これに限定されるものではない。たとえば、情報処理装置１００は、角速度の代わりに角加速度を算出し、角加速度が最大となるタイミングを特定し、タイミングを指定するためのスライドバーと対応付けて表示してもよい。また、情報処理装置１００は、角度が最大となるタイミングを特定し、タイミングを指定するためのスライドバーと対応付けて表示してもよい。【０１３９】
次に、上記実施例に示した情報処理装置１００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１８は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。【０１４０】
図１８に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、ユーザからのデータの入力を受け付ける入力装置２０２と、ディスプレイ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る読み取り装置２０４と、有線または無線ネットワークを介して、３Ｄレーザセンサ、カメラ等との間でデータの授受を行うインタフェース装置２０５とを有する。コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０６と、ハードディスク装置２０７とを有する。そして、各装置２０１〜２０７は、バス２０８に接続される。【０１４１】
ハードディスク装置２０７は、取得プログラム２０７ａ、３Ｄモデル生成プログラム２０７ｂ、受付プログラム２０７ｃ、特定プログラム２０７ｄ、表示制御プログラム２０７ｅを有する。ＣＰＵ２０１は、取得プログラム２０７ａ、３Ｄモデル生成プログラム２０７ｂ、受付プログラム２０７ｃ、特定プログラム２０７ｄ、表示制御プログラム２０７ｅを読み出してＲＡＭ２０６に展開する。【０１４２】
取得プログラム２０７ａは、取得プロセス２０６ａとして機能する。３Ｄモデル生成プログラム２０７ｂは、３Ｄモデル生成プロセス２０６ｂとして機能する。受付プログラム２０７ｃは、受付プロセス２０６ｃとして機能する。特定プログラム２０７ｄは、特定プロセス２０６ｄとして機能する。表示制御プログラム２０７ｅは、表示制御プロセス２０６ｅとして機能する。【０１４３】
取得プロセス２０６ａの処理は、取得部１６０ａの処理に対応する。３Ｄモデル生成プロセス２０６ｂの処理は、３Ｄモデル生成部１６０ｂの処理に対応する。受付プロセス２０６ｃの処理は、受付部１６０ｃの処理に対応する。特定プロセス２０６ｄの処理は、特定部１６０ｄの処理に対応する。表示制御プロセス２０６ｅの処理は、表示制御部１６０ｅの処理に対応する。【０１４４】
なお、各プログラム２０７ａ〜２０７ｅについては、必ずしも最初からハードディスク装置２０７に記憶させておかなくてもよい。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ２００が各プログラム２０７ａ〜２０７ｃを読み出して実行するようにしてもよい。
【符号の説明】
【０１４５】
６０ａ  ３Ｄレーザセンサ
６０ｂ  カメラ
１００    情報処理装置
１１０    インタフェース部
１２０    通信部
１３０    入力部
１４０    表示部
１５０    記憶部
１５０ａ  センシングＤＢ
１５０ｂ  映像ＤＢ
１５０ｃ  関節定義データ
１５０ｄ  関節位置ＤＢ
１５０ｅ  ３ＤモデルＤＢ
１５０ｆ  角速度ＤＢ
１６０    制御部
１６０ａ  取得部
１６０ｂ  ３Ｄモデル生成部
１６０ｃ  受付部
１６０ｄ  特定部
１６０ｅ  表示制御部
【図１Ａ】
2019229818.tif 000003
【図１Ｂ】
2019229818.tif 000004
【図２】
2019229818.tif 000005
【図３】
2019229818.tif 000006
【図４】
2019229818.tif 000007
【図５】
2019229818.tif 000008
【図６】
2019229818.tif 000009
【図７】
2019229818.tif 000010
【図８】
2019229818.tif 000011
【図９】
2019229818.tif 000012
【図１０】
2019229818.tif 000013
【図１１】
2019229818.tif 000014
【図１２】
2019229818.tif 000015
【図１３】
2019229818.tif 000016
【図１４】
2019229818.tif 000017
【図１５】
2019229818.tif 000018
【図１６】
2019229818.tif 000019
【図１７】
2019229818.tif 000020
【図１８】
2019229818.tif 000021
【手続補正書】
【提出日】令和2年9月11日(2020.9.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータが実行する表示方法であって、
３Ｄセンサによって競技者の動きをセンシングしたセンシングデータを取得し、
前記センシングデータに基づく前記競技者の各関節の曲がり具合の変化から、関節ごとの所定のタイミングを特定し、
前記センシングデータに基づく前記競技者の動きモデルまたは該競技者を撮影した映像における再生タイミングを指定するためのスライドバーと対応付けて、前記関節ごとの所定のタイミングを把握可能な状態で表示する
処理を実行することを特徴とする表示方法。
【請求項２】
前記コンピュータが、
前記各関節の曲がり具合の変化として、前記競技者の複数の関節それぞれの角速度を算出し、
前記関節ごとの所定のタイミングとして、該関節毎に前記角速度が最大となるタイミングを特定し、
前記スライドバーと対応付けて、前記角速度が最大となるタイミングを把握可能な状態で表示することを特徴とする請求項１に記載の表示方法。
【請求項３】
前記コンピュータが、
前記スライドバーで指定されたタイミングから、前記競技者の動きモデルまたは映像データを表示することを特徴とする請求項１または２に記載の表示方法。
【請求項４】
前記表示する処理は、前記スライドバーと対応付けて、第１競技者の各関節における所定のタイミングと、第２競技者の各関節における所定のタイミングとを表示することを特徴とする請求項１または２に記載の表示方法。
【請求項５】
３Ｄセンサによって競技者の動きをセンシングしたセンシングデータを取得し、
前記センシングデータに基づく前記競技者の各関節の曲がり具合の変化から、関節ごとの所定のタイミングを特定し、
前記センシングデータに基づく前記競技者の動きモデルまたは該競技者を撮影した映像における再生タイミングを指定するためのスライドバーと対応付けて、前記関節ごとの所定のタイミングを把握可能な状態で表示する
処理をコンピュータに実行させることを特徴とする表示プログラム。
【請求項６】
３Ｄセンサによって競技者の動きをセンシングしたセンシングデータを取得する取得部と、
前記センシングデータに基づく前記競技者の各関節の曲がり具合の変化から、関節ごとの所定のタイミングを特定する特定部と、
前記センシングデータに基づく前記競技者の動きモデルまたは該競技者を撮影した映像における再生タイミングを指定するためのスライドバーと対応付けて、前記関節ごとの所定のタイミングを把握可能な状態で表示する表示制御部と
を有することを特徴とする情報処理装置。
【国際調査報告】
2019229818.tif 000022
2019229818.tif 000023
2019229818.tif 000024
2019229818.tif 000025