(57)【要約】【課題】動作を測定して得られたアニメーションデータを所望の動きに変更可能とすること。【解決手段】画像生成システム１は、画像生成装置１００と、端末装置２００とを含む。画像生成装置１００は、アニメーション取得部１５０を備え、アニメーション取得部１５０は、複数のアニメーションデータを取得する。端末装置２００は、指標値取得部２５１と、合成スケルトン生成部２５２と、描画処理部２５３とを備えている。指標値取得部２５１は、アニメーションデータの運動に関する指標の値を入力し、合成スケルトン生成部２５２は、アニメーション取得部１５０により取得された複数のアニメーションデータを用いて、指標値取得部２５１によって入力された指標の値に応じたアニメーションデータ（合成スケルトン動作のデータ）を生成する。【選択図】図２０
2018026149.tif 000002
【特許請求の範囲】
【請求項１】
複数のアニメーションデータを取得するデータ取得手段と、
アニメーションデータの運動に関する指標の値を入力する入力手段と、
前記データ取得手段により取得された複数のアニメーションデータを用いて、前記入力手段によって入力された指標の値に応じたアニメーションデータを生成する第１の生成手段と、
前記入力手段によって入力された前記運動に関する指標の値に応じて変化するアニメーションの部分を識別して表示手段に表示させる表示制御手段と、
を備えることを特徴とする画像生成装置。
【請求項２】
前記表示制御手段は、前記入力手段によって前記運動に関する指標の値が入力された場合に、前記第１の生成手段によって生成されたアニメーションデータに基づくアニメーションを、当該入力された指標の値に対応する部分に矢印を表示して前記表示手段に表示させることを特徴とする請求項１に記載の画像生成装置。
【請求項３】
前記表示制御手段は、前記矢印の長さ又は大きさで、前記指標が入力される前とされた後の変化量を表すことを特徴とする請求項２に記載の画像生成装置。
【請求項４】
前記表示制御手段は、前記矢印の方向で、前記指標が入力される前とされた後の変化の方向を表すことを特徴とする請求項２又は３に記載の画像生成装置。
【請求項５】
前記表示制御手段は、前記入力手段によって入力された前記運動に関する指標の値に応じて変化する前記アニメーションの部分を、変化する前と後で異なる線種で前記表示手段に表示させることを特徴とする請求項１に記載の画像生成装置。
【請求項６】
前記表示制御手段は、前記入力手段によって入力された前記運動に関する指標の値に応じて変化する前記アニメーションの部分が明確となる視点に視点の変更を行って前記表示手段に表示させることを特徴とする請求項１から５の何れか１項に記載の画像生成装置。
【請求項７】
前記入力手段は、アニメーションデータの運動に関する複数の指標の値を入力し、
前記第１の生成手段は、前記入力手段によって入力された複数の指標の値に応じたアニメーションデータを生成することを特徴とする請求項１から６の何れか１項に記載の画像生成装置。
【請求項８】
前記データ取得手段により取得された複数のアニメーションデータから、運動に関する指標が対応付けられた標準のアニメーションデータを生成する第２の生成手段を更に備え、
前記第１の生成手段は、前記標準のアニメーションデータから前記入力手段により入力された指標の値に応じたアニメーションデータを生成することを特徴とする請求項１から７の何れか１項に記載の画像生成装置。
【請求項９】
前記標準のアニメーションデータには、前記運動に関する指標の基準値が設定され、
前記第１の生成手段は、前記標準のアニメーションデータにおける前記基準値に基づいて、前記入力手段により入力された指標の値に応じたアニメーションデータを生成することを特徴とする請求項８に記載の画像生成装置。
【請求項１０】
前記表示制御手段は、前記標準のアニメーションデータに基づくアニメーションと、当該アニメーションデータに設定されている前記運動に関する指標の値の入力のためのユーザインターフェースとを前記表示手段に表示させ、
前記入力手段は、前記ユーザインターフェースを操作することにより、前記運動に関する指標の値を入力することを特徴とする請求項８又は９に記載の画像生成装置。
【請求項１１】
前記表示制御手段は、前記入力手段による前記運動に関する値の入力後の前記アニメーションデータに対応する指標を前記表示手段に表示させることを特徴とする請求項１から１０の何れか１項に記載の画像生成装置。
【請求項１２】
前記表示制御手段は、前記入力手段によって前記運動に関する複数の指標の値のうち一つの指標が入力された場合に、前記第１の生成手段によって生成されたアニメーションデータに基づくアニメーションを、当該入力された指標に対応する部分を識別して表示手段に表示させることを特徴とする請求項７に記載の画像生成装置。
【請求項１３】
複数のアニメーションデータを取得するデータ取得ステップと、
アニメーションデータの運動に関する指標の値を入力する入力ステップと、
前記データ取得ステップにより取得された複数のアニメーションデータを用いて、前記入力ステップにおいて入力された指標の値に応じたアニメーションデータを生成する生成ステップと、
前記入力ステップによって入力された前記運動に関する指標の値に応じて変化するアニメーションの部分を識別して表示手段に表示させる表示制御ステップと、
を含むことを特徴とする画像生成方法。
【請求項１４】
コンピュータを、
複数のアニメーションデータを取得するデータ取得手段、
アニメーションデータの運動に関する指標の値を入力する入力手段、
前記データ取得手段により取得された複数のアニメーションデータを用いて、前記入力手段によって入力された指標の値に応じたアニメーションデータを生成する生成手段、
前記入力手段によって入力された前記運動に関する指標の値に応じて変化するアニメーションの部分を識別して表示手段に表示させる表示制御手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アニメーションデータを生成する画像生成装置、画像生成方法及びプログラムに関する。
【背景技術】
【０００２】
従来、人物に複数のマーカを設定して各マーカの動きを測定し、アニメーションデータを取得する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２４８２３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術においては、例えば、アニメーションデータの一部の動きを変更したい場合でも、その都度、人物にマーカを設定して新たなアニメーションデータを取得する必要があった。
そこで、本発明は、上述のような状況に鑑みてなされたものであり、取得されたアニメーションデータを容易にユーザの所望の動きに対応させたものにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明の一態様の画像生成装置は、
複数のアニメーションデータを取得するデータ取得手段と、
アニメーションデータの運動に関する指標の値を入力する入力手段と、
前記データ取得手段により取得された複数のアニメーションデータを用いて、前記入力手段によって入力された指標の値に応じたアニメーションデータを生成する第１の生成手段と、
前記入力手段によって入力された前記運動に関する指標の値に応じて変化する前記アニメーションの部分を識別して表示手段に表示させる表示制御手段と、
を備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、取得されたアニメーションデータを容易にユーザの所望の動きに対応させたものにできる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態に係る画像生成システムの構成を示している。
【図２】本発明の一実施形態に係る画像生成装置のハードウェアの構成を示すブロック図である。
【図３】本発明の一実施形態に係る端末装置のハードウェアの構成を示すブロック図である。
【図４】画像生成装置の機能的構成のうち、事前準備処理を実行するための機能的構成を示す機能ブロック図である。
【図５】スケルトンの概要を示す模式図である。
【図６】端末装置の機能的構成のうち、スケルトン描画処理を実行するための機能的構成を示す機能ブロック図である。
【図７】図４の機能的構成を有する図２の画像生成装置が実行する事前準備処理の流れの一例を説明するフローチャートである。
【図８】事前準備処理のうち正規化スケルトン取得処理の流れの一例を説明するフローチャートである。
【図９】事前準備処理のうち標準スケルトン取得処理の流れの一例を説明するフローチャートである。
【図１０】事前準備処理のうち指標関連付け処理の流れの一例を説明するフローチャートである。
【図１１】事前準備処理のうち軸パラメータ決定処理の流れの一例を説明するフローチャートである。
【図１２】図６の機能的構成を有する図３の端末装置が実行するスケルトン描画処理の流れの一例を説明するフローチャートである。
【図１３】スケルトン描画処理によって表示される表示画面例を示す模式図である。
【図１４】スケルトン描画処理のうち合成スケルトン生成処理の流れの一例を説明するフローチャートである。
【図１５】時系列のスケルトン空間を示す模式図である。
【図１６】図１５と異なるフレーム（フレーム番号＝ｋ）のスケルトン空間を示す模式図である。
【図１７】スケルトン空間における合成スケルトンを示す模式図であり、（ａ）は、スケルトン空間に標準スケルトン動作が設定された状態、（ｂ）は、異なる運動に関する指標値に応じた特徴スケルトン、（ｃ）は、合成スケルトンを示す図である。
【図１８】図５の機能的構成を有する図３の端末装置が実行する第１矢印描画処理の流れを説明するフローチャートである。
【図１９】スケルトンが繰り返し描画されている状態を示す図である。
【図２０】視点方向が変更された表示画面例を示す模式図である。
【図２１】図２０と異なる時刻における表示画面例を示す模式図である。
【図２２】図５の機能構成を有する図３の端末装置が実行する第２矢印描画処理の流れを説明するフローチャートである。
【図２３】スケルトンが繰り返し描画されている状態を示す図である。
【図２４】スケルトンの部位の変化の方向を示す矢印が表示された表示画面例を示す模式図である。
【図２５】図５の機能構成を有する図３の端末装置が実行する対応指標報知処理の流れを説明するフローチャートである。
【図２６】移動可能なジョイントが他のジョイントに比べて大きく描画されたスケルトンの表示画面例を示す模式図である。
【図２７】対応指標報知処理において割り込み処理として実行されるジョイント割り込み移動処理の流れを説明するフローチャートである。
【図２８】対応指標報知処理及びジョイント割り込み移動処理において割り込み処理として実行される終了割り込み処理の流れを説明するフローチャートである。
【図２９】図５の機能的構成を有する図３の端末装置が実行するリアルタイム表示処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について、図面を用いて説明する。
【０００９】
本実施形態に係る画像生成システムでは、モデルとなる人物に付されたマーカの位置を検出することにより、人間の動作を取り込んだモーションキャプチャデータを複数取得し、これらに基づき、標準とするスケルトン動作（ボーンとジョイントとからなる骨格で表されるモデルの動作）を取得する。また、本実施形態に係る画像生成システムでは、標準とするスケルトン動作に対して、運動に関する指標（最大キック加速度等）を設定し、この指標について軸パラメータを設定する。運動に関する指標の具体的な指標値は複数のスケルトンの動きに基づき、あるいは、モーションキャプチャデータを取得する際に併せて測定された動作のパラメータ（例えばキック加速度等）に基づき設定される。また、軸パラメータは、複数のスケルトン動作における指標値の分布に基づき設定される動きの度合いを示す値である。そして、ユーザが運動に関する指標値の変更を入力すると、軸パラメータに従って、標準のスケルトン動作が変更される。変更後のスケルトン動作は、標準のスケルトン動作からの変更部分が識別して表示される。
これにより、動作を測定して得られたスケルトン（アニメーション）を所望の動きに変更することが可能となる。
また、軸パラメータは、複数のスケルトンに基づき取得されたものである。そのため、軸パラメータに従って動作を変更することにより、標準のスケルトンの動きの変化が、人間の動きに基づくものとなり、より適切な動きの変化を実現することが可能となる。
さらに、標準のスケルトン動作を変更した場合の変更部分をユーザにわかりやすく提示することができる。
【００１０】
図１は、本発明の一実施形態に係る画像生成システム１の構成を示している。
図１において、画像生成システム１は、画像生成装置１００と、端末装置２００とを含み、画像生成装置１００と端末装置２００とは、インターネット等のネットワーク３００を介して通信可能に構成されている。
【００１１】
図２は、本発明の一実施形態に係る画像生成装置１００のハードウェアの構成を示すブロック図である。
画像生成装置１００は、例えばサーバによって構成される。
【００１２】
画像生成装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１３と、バス１１４と、入出力インターフェース１１５と、入力部１１６と、出力部１１７と、記憶部１１８と、通信部１１９と、ドライブ１２０と、を備えている。
【００１３】
ＣＰＵ１１１は、事前準備処理（後述）のためのプログラム等、ＲＯＭ１１２に記録されているプログラム、または、記憶部１１８からＲＡＭ１１３にロードされたプログラムに従って各種の処理を実行する。
【００１４】
ＲＡＭ１１３には、ＣＰＵ１１１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【００１５】
ＣＰＵ１１１、ＲＯＭ１１２及びＲＡＭ１１３は、バス１１４を介して相互に接続されている。このバス１１４にはまた、入出力インターフェース１１５も接続されている。入出力インターフェース１１５には、入力部１１６、出力部１１７、記憶部１１８、通信部１１９及びドライブ１２０が接続されている。
【００１６】
入力部１１６は、各種釦等で構成され、ユーザの指示操作に応じて各種情報を入力する。
出力部１１７は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
記憶部１１８は、ハードディスクあるいはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、スケルトンのデータや運動に関する指標の指標値あるいは軸パラメータ等のデータを記憶する。
通信部１１９は、インターネットを含むネットワークを介して他の装置との間で行う通信を制御する。
【００１７】
ドライブ１２０には、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等よりなる、リムーバブルメディア１３１が適宜装着される。ドライブ１２０によってリムーバブルメディア１３１から読み出されたプログラムは、必要に応じて記憶部１１８にインストールされる。また、リムーバブルメディア１３１は、記憶部１１８に記憶されている画像のデータ等の各種データも、記憶部１１８と同様に記憶することができる。
【００１８】
図３は、本発明の一実施形態に係る端末装置２００のハードウェアの構成を示すブロック図である。
端末装置２００は、例えばスマートフォンと呼ばれる携帯端末によって構成される。
図３において、端末装置２００は、ＣＰＵ２１１と、ＲＯＭ２１２と、ＲＡＭ２１３と、バス２１４と、入出力インターフェース２１５と、撮像部２１６と、入力部２１７と、出力部２１８と、記憶部２１９と、通信部２２０と、ドライブ２２１と、を備えている。
【００１９】
ＣＰＵ２１１は、スケルトン描画処理のためのプログラム等、ＲＯＭ２１２に記録されているプログラム、または、記憶部２１９からＲＡＭ２１３にロードされたプログラムに従って各種の処理を実行する。
【００２０】
ＲＡＭ２１３には、ＣＰＵ２１１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【００２１】
ＣＰＵ２１１、ＲＯＭ２１２及びＲＡＭ２１３は、バス２１４を介して相互に接続されている。このバス２１４にはまた、入出力インターフェース２１５も接続されている。入出力インターフェース２１５には、撮像部２１６、入力部２１７、出力部２１８、記憶部２１９、通信部２２０及びドライブ２２１が接続されている。
【００２２】
撮像部２１６は、図示はしないが、光学レンズ部と、イメージセンサと、を備えている。
光学レンズ部は、被写体を撮影するために、光を集光するレンズ、例えばフォーカスレンズやズームレンズ等で構成される。
フォーカスレンズは、イメージセンサの受光面に被写体像を結像させるレンズである。ズームレンズは、焦点距離を一定の範囲で自在に変化させるレンズである。
光学レンズ部にはまた、必要に応じて、焦点、露出、ホワイトバランス等の設定パラメータを調整する周辺回路が設けられる。
【００２３】
イメージセンサは、光電変換素子や、ＡＦＥ（Ａｎａｌｏｇ  Ｆｒｏｎｔ  Ｅｎｄ）等から構成される。
光電変換素子は、例えばＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）型の光電変換素子等から構成される。光電変換素子には、光学レンズ部から被写体像が入射される。そこで、光電変換素子は、被写体像を光電変換（撮像）して画像信号を一定時間蓄積し、蓄積した画像信号をアナログ信号としてＡＦＥに順次供給する。
ＡＦＥは、このアナログの画像信号に対して、Ａ／Ｄ（Ａｎａｌｏｇ／Ｄｉｇｉｔａｌ）変換処理等の各種信号処理を実行する。各種信号処理によって、ディジタル信号が生成され、撮像部２１６の出力信号（撮像画像のデータ）として出力される。
【００２４】
入力部２１７は、各種釦等で構成され、ユーザの指示操作に応じて各種情報を入力する。また、入力部２１７は、マイク及びＡ／Ｄ変換回路等を有しており、マイクを介して入力した音声のデータをＣＰＵ１１あるいは記憶部２１９に出力する。
出力部２１８は、ディスプレイや、スピーカ及びＤ／Ａ変換回路等を有しており、画像や音声を出力する。
記憶部２１９は、ハードディスクあるいはＤＲＡＭ等で構成され、各種画像のデータ及び属性を格納した画像データベース等を記憶する。
通信部２２０は、インターネットを含むネットワークを介して、他の装置との間で行う通信を制御する。
【００２５】
ドライブ２２１には、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等よりなる、リムーバブルメディア２３１が適宜装着される。ドライブ２２１によってリムーバブルメディア２３１から読み出されたプログラムは、必要に応じて記憶部２１９にインストールされる。また、リムーバブルメディア２３１は、記憶部２１９に記憶されている画像のデータ等の各種データも、記憶部２１９と同様に記憶することができる。
【００２６】
［画像生成装置の機能構成］
図４は、画像生成装置１００の機能的構成のうち、事前準備処理を実行するための機能的構成を示す機能ブロック図である。
事前準備処理とは、モーションキャプチャによって得られるモーションキャプチャデータから標準のスケルトン（以下、「標準スケルトン」と呼ぶ。）を取得し、標準スケルトンに対して、運動に関する軸パラメータを設定する一連の処理である。
なお、以下、ランニングを行う人物のアニメーションデータを対象とする場合を例に挙げて説明する。
【００２７】
事前準備処理が実行される場合、ＣＰＵ１１１においては、アニメーション取得部１５０として、正規化スケルトン取得部１５１と、標準スケルトン取得部１５２と、指標関連付け処理部１５３と、軸パラメータ決定部１５４とが機能する。
なお、正規化スケルトン取得部１５１、標準スケルトン取得部１５２、指標関連付け処理部１５３及び軸パラメータ決定部１５４の機能の一部をＧＡ（Ｇｒａｐｈｉｃ  Ａｃｃｅｌｅｒａｔｏｒ）等の画像処理を行う機能部に移譲してもよい。
【００２８】
正規化スケルトン取得部１５１は、後述する正規化スケルトン取得処理を実行する。具体的には、正規化スケルトン取得部１５１は、複数のスケルトン動作について、モーションキャプチャによって得られる人物の動作のデータ（モーションキャプチャデータ）及びフォースプレート装置（力を測定する装置）によって検出される力（ここでは地面反力）のデータを取得する。本実施形態において、モーションキャプチャデータ及び地面反力のデータは、予め測定されたものを正規化スケルトン取得部１５１によって取得するものとする。ただし、画像生成装置１００にモーションキャプチャの機能及びフォースプレート装置を備え、モーションキャプチャデータ及び地面反力のデータを測定することとしてもよい。また、正規化スケルトン取得部１５１は、モーションキャプチャデータからスケルトン動作のデータを生成し、生成したスケルトン動作のデータをランニングフォームの１周期で正規化する。これにより、複数の正規化されたスケルトン動作（正規化スケルトン動作）が取得される。
【００２９】
図５は、スケルトンの概要を示す模式図である。
スケルトンとは、一般に、動物や人間の全体的骨格を指すもので、スケルトンそのもので動作を表現したり、コンピュータグラフィックにてバインドしたモデルをアニメートするために用いられたりする。階層構造を持ち、可動部であるジョイント（関節）と、剛体であるボーンから構成される。
図５において、スケルトンＳは、基準となるルートジョイントＪ２０１、ボーンＢ２０１ａ、ジョイントＪ２０２、ボーンＢ２０２ａ、ジョイントＪ２０３の順に連結された構成を有している。
【００３０】
スケルトンＳが、時間軸上の姿勢変化を含んだ場合、時間的に変化するスケルトンであるスケルトン動作が構成される。スケルトン動作は、複数のフレームによって構成される。スケルトン動作の時間軸変数は、ルートジョイントＪ２０１のルートとしてのＸＹＺ座標位置、ルートジョイントＪ２０１のジョイントとしての世界座標からルートジョイントＪ２０１のローカル座標への座標変換情報（３軸の回転要素からなり角度情報として表される。本実施形態では、４次元のクォータニオンとして表される。）、ジョイントＪ２０２の座標変換情報（ルートジョイントＪ２０１からジョイントＪ２０２への座標変換情報）の計１２次元情報となる。クォータニオンを用いることで、位置座標への計算を高速に行うこと等が可能となる。
また、ボーンの長さは剛体であるので時間変化はせず定数となる。上述の座標変換情報は、関節からボーンが伸びていく回転方向を意味している。なお、以下、全ジョイントという場合、ルートジョイントとジョイントとを含むものとする。
【００３１】
図４に戻り、標準スケルトン取得部１５２は、後述する標準スケルトン取得処理を実行する。具体的には、標準スケルトン取得部１５２は、正規化された各スケルトンにおける各ジョイントの時間軸パラメータ（位置、回転等）を抽出し、それぞれのジョイントにおける平均値を算出する。そして、標準スケルトン取得部１５２は、算出した平均値を標準スケルトンの対応するジョイントについての時間軸パラメータとして設定する。ボーンについても平均を取り設定する。これにより、標準のスケルトン動作（標準スケルトン動作）が設定される。
【００３２】
指標関連付け処理部１５３は、後述する指標関連付け処理を実行する。具体的には、指標関連付け処理部１５３は、スケルトン動作におけるモーションキャプチャデータから特定の運動に関する指標の指標値を取得する。ここでは、指標関連付け処理部１５３は、平均前後体軸（鉛直方向から進行方向への体軸の傾きの平均値）を取得するものとする。また、指標関連付け処理部１５３は、スケルトン動作におけるフォースプレート装置の測定結果（地面反力）から運動に関する指標値（ここでは最大キック力を表す指標値）を取得する。そして、指標関連付け処理部１５３は、全てのスケルトン動作に対し、取得したこれらの指標値を関連付ける。
【００３３】
軸パラメータ決定部１５４は、全ての正規化スケルトン動作において、運動に関する指標値が上位及び下位の一定割合（ここでは２０％とする）のものを上位側特徴スケルトン動作及び下位側特徴スケルトン動作として選択し、選択した上位側特徴スケルトン動作及び下位側特徴スケルトン動作において、その指標値の上位の平均値及び下位の平均値を算出する。そして、軸パラメータ決定部１５４は、これらの平均値と正規化スケルトン動作とのユークリッド距離とが規定値（閾値）Ｄより大きいものを正規化スケルトン動作から除外する。また、軸パラメータ決定部１５４は、除外後の正規化スケルトン動作において、再度、上位側特徴スケルトン動作及び下位側特徴スケルトン動作を選択し、指標値における上位の平均値及び下位の平均値を算出して閾値Ｄに基づく正規化スケルトン動作の除外を行う。軸パラメータ決定部１５４は、このような除外のための処理を複数回（ここでは３回）実行する。これにより、次元数が大きいスケルトン動作のデータにおいて、指標値が上位及び下位のものをより高い精度で選択することができる。
【００３４】
軸パラメータ決定部１５４は、後述する軸パラメータ決定処理を実行する。具体的には、軸パラメータ決定部１５４は、各指標値の上位側特徴スケルトン動作及び下位側特徴スケルトン動作について、上述のように得られた上位の平均値及び下位の平均値を、各指標値に対応する軸パラメータの上位の基準値及び下位の基準値として、記憶部１１８に記憶する。
【００３５】
［端末装置の機能構成］
図６は、端末装置２００の機能的構成のうち、スケルトン描画処理を実行するための機能的構成を示す機能ブロック図である。
スケルトン描画処理とは、入力された指標値に応じて、動きの度合いを変化させたスケルトン動作（合成スケルトン動作）を生成し、生成した合成スケルトン動作を描画する一連の処理である。
【００３６】
スケルトン描画処理が実行される場合、ＣＰＵ２１１においては、指標値取得部２５１と、合成スケルトン生成部２５２と、描画処理部２５３とが機能する。
なお、指標値取得部２５１、合成スケルトン生成部２５２及び描画処理部２５３の機能の一部をＧＡ（Ｇｒａｐｈｉｃ  Ａｃｃｅｌｅｒａｔｏｒ）等の画像処理を行う機能部に移譲してもよい。
指標値取得部２５１は、ユーザインターフェースの画面において、ユーザによって入力された指標値（変更後の指標値）を取得する。例えば、ユーザインターフェースの画面において、標準スケルトン動作のキック力の指標値が「２５」であるときに、ユーザによって最大キック加速度の指標値として「４０」が入力されると、指標値取得部２５１は、変更後の最大キック加速度の指標値として「４０」を取得する。
【００３７】
合成スケルトン生成部２５２は、後述する合成スケルトン生成処理を実行する。具体的には、合成スケルトン生成部２５２は、指標値取得部２５１によって取得された変更後の指標値に基づいて、標準スケルトンの指標値を変更し、合成スケルトン動作を生成する。例えば、合成スケルトン生成部２５２は、指標値取得部２５１によって変更後の最大キック加速度の指標値「４０」が取得されている場合、標準スケルトンにおける最大キック加速度を「２５」から「４０」に変更したスケルトン動作を生成し、合成スケルトン動作とする。
【００３８】
描画処理部２５３は、合成スケルトン生成部２５２によって生成された合成スケルトン動作をアニメーションとして表示する。このとき、描画処理部２５３は、合成スケルトン動作において、標準スケルトン動作から変更されている指標を視覚的に識別して表示する。例えば、描画処理部２５３は、合成スケルトン動作の最大キック加速度が標準スケルトン動作から変更されている場合、最大キック加速度に関与する部分（例えば脚）に矢印を表示して、標準スケルトン動作から変更されていることを識別して表示する。
【００３９】
［動作］
次に、動作を説明する。
［事前準備処理］
図７は、図４の機能的構成を有する図２の画像生成装置１００が実行する事前準備処理の流れの一例を説明するフローチャートである。
事前準備処理は、端末装置２００等を介して事前準備処理の起動が入力されることに対応して開始される。
【００４０】
事前準備処理が開始されると、ステップＳ１０１において、正規化スケルトン取得部１５１は、正規化スケルトン取得処理（後述）を実行する。
ステップＳ１０２において、標準スケルトン取得部１５２は、標準スケルトン取得処理（後述）を実行する。
ステップＳ１０３において、指標関連付け処理部１５３は、指標関連付け処理（後述）を実行する。
ステップＳ１０４において、軸パラメータ決定部１５４は、軸パラメータ決定処理（後述）を実行する。
【００４１】
ステップＳ１０５において、軸パラメータ決定部１５４は、全ての指標について軸パラメータの決定処理が完了したか否かの判定を行う。
全ての指標について軸パラメータ決定処理が完了していない場合、ステップＳ１０５においてＮＯと判定され、処理はステップＳ１０４に戻る。
これに対し、全ての指標について軸パラメータ決定処理が完了した場合、ステップＳ１０５においてＹＥＳと判定されて、事前準備処理は終了する。
【００４２】
［正規化スケルトン取得処理］
次に、事前準備処理のステップＳ１０１において実行される正規化スケルトン取得処理について説明する。
図８は、事前準備処理のうち正規化スケルトン取得処理の流れの一例を説明するフローチャートである。
正規化スケルトン取得処理が開始されると、ステップＳ２０１において、正規化スケルトン取得部１５１は、光学式モーションキャプチャ装置及びフォースプレート装置によって測定されたモーションキャプチャデータ及び地面反力のデータ（ランニング時の動作のデータ）を取得する。
【００４３】
具体的には、正規化スケルトン取得部１５１は、光学式モーションキャプチャ装置から動作の測定対象に装着されたマーカの動きによって表されるランニング動作のフォームを取得する。光学式モーションキャプチャ装置は、人物における動きを測定したい部位に装着されたマーカを多数のカメラで追跡する装置である。
ここで、マーカは、動作の測定対象となる人物において、スケルトンを構築するためのジョイント部位が推定できる位置に装着される。つまり、モーションキャプチャにより、スケルトンのジョイント位置が追跡可能となる。
【００４４】
また、正規化スケルトン取得部１５１は、フォースプレート装置からランニング時の地面反力のデータを取得する。
一例として、フォースプレート装置は、地面に埋め込まれ、測定対象の人物がその上を走ることにより、地面反力（地面が測定対象に与える力）の情報を取得する。地面反力より、測定対象から地面への鉛直方向に向かうキック力と、進行方向への推進力を得ることができる。
地面反力は力であるため、ニュートンの運動の法則に従い、以下の（１）式から導き出すことができる。
Ｆ＝ｍ×ａ      （１）
ここで、「Ｆ」は力、「ｍ」は質量、「ａ」は加速度を示す。「Ｆ」は、質量に依存するので、測定対象の人物の体重に依存する。そのため、地面反力を力ではなく加速度として取り扱うことにより測定対象の人物の体重に依存しない指標となる。
【００４５】
本実施形態では、最大キック加速度（時系列のキック加速度のうち最も大きいもの）を動作の指標として用いているため、最大キック加速度を表す指標値をモーションキャプチャデータと関連づけて記憶しておき、後の処理で利用する。
ステップＳ２０２において、正規化スケルトン取得部１５１は、スケルトン動作を取得する。具体的には、正規化スケルトン取得部１５１は、モーションキャプチャ装置から取得したモーションキャプチャデータからスケルトン動作を生成する。正規化スケルトン取得部１５１は、モーションキャプチャデータからスケルトンのジョイント位置を推定し、ジョイント間をボーンとする。ただし、このようにボーンを決定した場合、ボーンが厳密には剛体とならず伸縮することがあるため、正規化スケルトン取得部１５１は、ボーンが剛体となるように制約をかけながら、推定したジョイント位置をできるだけ満足させるよう、全体最適化を行ってスケルトン動作を生成する。
【００４６】
ステップＳ２０３において、正規化スケルトン取得部１５１は、スケルトン動作を正規化する。
具体的には、正規化スケルトン取得部１５１は、ランニングフォームの周期性に従ってスケルトン動作の正規化を行う。本実施形態においては、右足の膝が左足の膝を追い越すポイントでスケルトン動作の動画像を切り出し、切り出したフレーム数を合わせるために、全て同一のフレーム数（例えば１００フレーム）となるように補間することで、正規化を行う。補間が行われる場合、ルートジョイントの位置情報と、ルートジョイント及びジョイントが持つ角度情報を対象としてデータの補間が施される。
【００４７】
正規化スケルトン取得部１５１は、スケルトン動作の正規化を複数のスケルトン動作（ここではＮ試技分とする）について行い、Ｎ個の正規化スケルトン動作を生成する。また、それぞれの正規化スケルトン動作には、指標値の１つとして、最大キック加速度を表す指標値が関連付けられている。
ステップＳ２０４において、正規化スケルトン取得部１５１は、スケルトン動作の正規化がＮ試技分行われたか否かの判定を行う。
スケルトン動作の正規化がＮ試技分行われていない場合、ステップＳ２０４においてＮＯと判定されて、処理はステップＳ２０１に戻る。
これに対し、スケルトン動作の正規化がＮ試技分行われた場合、ステップＳ２０４においてＹＥＳと判定されて、処理は事前準備処理に戻る。
【００４８】
［標準スケルトン取得処理］
次に、事前準備処理のステップＳ１０２において実行される標準スケルトン取得処理について説明する。
図９は、事前準備処理のうち標準スケルトン取得処理の流れの一例を説明するフローチャートである。
標準スケルトン取得処理が開始されると、ステップＳ３０１において、標準スケルトン取得部１５２は、全ジョイントの処理が終了しているか否かを判断する。即ち、標準スケルトン取得部１５２は、全ジョイント（ルートジョイント及び各ジョイント）ごとに、全てのフレームをそれぞれ処理したか否かの判定を行う。
【００４９】
全ジョイントごとに、全てのフレームをそれぞれ処理した場合、ステップＳ３０１においてＹＥＳと判定されて、処理は事前準備処理に戻る。
これに対し、全ジョイントごとに、全てのフレームをそれぞれ処理し終えていない場合、ステップＳ３０１においてＮＯと判定されて、処理はステップＳ３０２に移行する。
ステップＳ３０２において、標準スケルトン取得部１５２は、全試技のジョイントのパラメータを取得する。
【００５０】
ステップＳ３０３において、標準スケルトン取得部１５２は、標準スケルトンのジョイントのパラメータを算出する。標準スケルトンのジョイントについてのパラメータは、取り出した全試技のジョイントそれぞれにおける変数の平均値として求められる。ここでの平均値は、Ｘ軸、Ｙ軸、Ｚ軸の成分ごとに独立に算出される。
例えば、ルートジョイントの場合には、該当フレームの全試技の位置座標の平均を求め、標準スケルトン動作の該当フレームの位置座標とされる。
また、クォータニオンで示される角度情報であれば、以下の（２）式に従って算出される。即ち、ｑ１，ｑ２，ｑ３，ｑ４，ｑ５の５つのクォータニオンの平均の場合には、
Ｑｍｅａｎ＝ｅｘｐ（（１／５）×（ｌｎ（ｑ１）＋ｌｎ（ｑ２）＋ｌｎ（ｑ３）＋ｌｎ（ｑ４）＋ｌｎ（ｑ５））      （２）
として算出される。
ここで、「ｅｘｐ」は底がネイピア数である指数関数を表し、「ｌｎ」は自然対数を表す。
このように、対数クォータニオンに変換することで、標準スケルトン動作のための平均値を取得することができる。
【００５１】
ステップＳ３０４において、標準スケルトン取得部１５２は、全フレームを処理したか否かの判定を行う。
全フレームを処理した場合、ステップＳ３０４においてＹＥＳと判定されて、処理は事前準備処理に戻る。
これに対し、全フレームを処理していない場合、ステップＳ３０４においてＮＯと判定されて、処理はステップＳ３０２に戻る。
【００５２】
［指標関連付け処理］
次に、事前準備処理のステップＳ１０３において実行される指標関連付け処理について説明する。
図１０は、事前準備処理のうち指標関連付け処理の流れの一例を説明するフローチャートである。
指標関連付け処理が開始されると、ステップＳ４０１において、指標関連付け処理部１５３は、全てのスケルトン動作の処理（即ち、正規化スケルトン動作の全てについての標準スケルトン動作を生成するための処理）が終了しているか否かの判定を行う。
【００５３】
全てのスケルトン動作の処理が終了した場合、ステップＳ４０１においてＹＥＳと判定されて、処理は事前準備処理に戻る。
これに対し、全てのスケルトン動作の処理が終了していない場合、ステップＳ４０１においてＮＯと判定されて、処理はステップＳ４０２に進む。
ステップＳ４０２において、指標関連付け処理部１５３は、運動に関する指標全ての処理が終了しているか否かの判定を行う。
運動に関する指標全ての処理が終了している場合、ステップＳ４０２においてＹＥＳと判定されて、処理はステップＳ４０１に戻る。
これに対し、運動に関する指標全ての処理が終了していない場合、ステップＳ４０２においてＮＯと判定されて、処理はステップＳ４０３に進む。
【００５４】
ステップＳ４０３において、指標関連付け処理部１５３は、平均前後体軸を算出する。平均前後体軸は、正規化スケルトン動作から体軸の前後方向の傾きの平均値を求めることにより算出される。ここで、「体軸」とは、左右股関節の中心から左右肩関節の中心に向かうベクトルを意味する。本実施形態では、１つの正規化スケルトン動作の全フレームでの平均体軸ベクトルを算出し、鉛直方向からランニング進行方向への傾きを平均前後体軸としている。これは、標準スケルトン動作に関しても同様であり、全フレームにおける平均体軸ベクトルを算出し、平均前後体軸を計算する。そして、算出した平均前後体軸をそれぞれのスケルトン動作に対して関連付ける。
【００５５】
ステップＳ４０４において、指標関連付け処理部１５３は、最大キック加速度を算出する。
最大キック加速度は、フォースプレート装置によって取得された地面反力の鉛直方向の成分における最大値として取得される。そして、１周期の動作において、最大値に対応するフレームの正規化スケルトン動作に対して、最大キック加速度を表す指標値が関連づけられる。標準スケルトン動作については、標準スケルトン動作の生成時に用いた正規化スケルトン動作の最大キック加速度の平均が、標準スケルトン動作の最大キック加速度を表す指標値とされる。
ステップＳ４０４の後、処理はステップＳ４０２に戻る。
【００５６】
［軸パラメータ決定処理］
次に、事前準備処理のステップＳ１０４において実行される軸パラメータ決定処理について説明する。
図１１は、事前準備処理のうち軸パラメータ決定処理の流れの一例を説明するフローチャートである。
軸パラメータ決定処理が開始されると、ステップＳ５０１において、軸パラメータ決定部１５４は、運動に関する指標全ての処理が終了しているか否かの判定を行う。
運動に関する指標全ての処理が終了している場合、ステップＳ５０１においてＹＥＳと判定され、処理は事前準備処理に戻る。
運動に関する指標全ての処理が終了してはいない場合、ステップＳ５０１においてＮＯと判定され、処理はステップＳ５０２に進む。
【００５７】
ステップＳ５０２において、軸パラメータ決定部１５４は、全ての正規化スケルトン動作の中から、最大キック加速度が上位２０％の正規化スケルトン動作を取得する。但し、標準スケルトン動作の最大キック加速度より小さいものが含まれていた場合にはこれを除外する。
ステップＳ５０３において、軸パラメータ決定部１５４は、変数Ｌｏｏｐを０にセット（Ｌｏｏｐ＝０）する。
ステップＳ５０４において、軸パラメータ決定部１５４は、取得した正規化スケルトン動作の平均スケルトン動作（即ち、上位側特徴スケルトン動作の平均値）を算出する。
ステップＳ５０５において、軸パラメータ決定部１５４は、１ずつインクリメントされる変数Ｌｏｏｐが３未満（Ｌｏｏｐ＋＋＜３）であるか否かの判定を行う。
【００５８】
変数Ｌｏｏｐが３未満でない場合、ステップＳ５０５においてＮＯと判定されて、処理はステップＳ５０８に進む。
これに対し、変数Ｌｏｏｐが３未満である場合、ステップＳ５０５においてＹＥＳと判定されて、処理はステップＳ５０６に進む。
ステップＳ５０６において、軸パラメータ決定部１５４は、選択したスケルトン動作と、平均スケルトン動作とのユークリッド距離を算出する。即ち、軸パラメータ決定部１５４は、標準スケルトン動作の生成時と同様に上位側特徴スケルトン動作の平均値を算出し、上位側の平均スケルトン動作を生成する。そして、軸パラメータ決定部１５４は、生成した上位側の平均スケルトン動作を、位置空間に展開する。つまり、軸パラメータ決定部１５４は、全フレームで持つ変数と定数（ルートジョイントの位置及び角度情報、ボーン長、各ジョイントでの角度情報）から、空間位置座標となるルートジョイント位置とジョイント位置に変換する。そして、軸パラメータ決定部１５４は、生成した上位側の平均スケルトン動作と、上位側の平均スケルトン動作の生成に用いたそれぞれの正規化スケルトン動作との間で、全てのフレームで積算した空間位置誤差（ユークリッド誤差）を求める。求められたユークリッド誤差がユークリッド距離となる。
【００５９】
ステップＳ５０７において、軸パラメータ決定部１５４は、ユークリッド誤差（ユークリッド距離）が規定値Ｄより大きい正規化スケルトン動作を選択から除外する。即ち、位置座標で距離が離れたスケルトン動作を上位側の平均スケルトンから除外する。その後、処理はステップＳ５０４に戻り、再び、上位側の平均スケルトン動作を生成する。
ステップＳ５０８において、軸パラメータ決定部１５４は、上位側の特徴スケルトン動作を算出する。即ち、軸パラメータ決定部１５４は、生成した上位側の平均スケルトン動作を、最大キック加速度が大きいスケルトン動作の代表とし、最大キック加速度に関する上位側特徴スケルトン動作とする。また、軸パラメータ決定部１５４は、上位側特徴スケルトン動作に対応する上位側最大キック加速度指標を求める。上位側最大キック加速度指標値は、上位側特徴スケルトン動作の生成に用いた正規化スケルトン動作の最大キック加速度指標値の平均とする。
【００６０】
ステップＳ５０９において、軸パラメータ決定部１５４は、上位側特徴スケルトン動作の指標の平均値（上位の基準値）を算出する。即ち、軸パラメータ決定部１５４は、選択した上位側特徴スケルトン動作から最大キック加速度の平均を算出して、上位の基準値とする。
ステップＳ５１０において、軸パラメータ決定部１５４は、全ての正規化スケルトン動作の中から、最大キック加速度が小さい下位２０％の正規化スケルトン動作を取得する。但し、標準スケルトンの最大キック加速度より大きいものが含まれていたらこれを除外する。
ステップＳ５１１において、軸パラメータ決定部１５４は、変数Ｌｏｏｐを０にセット（Ｌｏｏｐ＝０）する。
ステップＳ５１２において、軸パラメータ決定部１５４は、取得した正規化スケルトン動作の平均スケルトン動作（即ち、下位側特徴スケルトン動作の平均値）を算出する。
【００６１】
ステップＳ５１３において、軸パラメータ決定部１５４は、１ずつインクリメントされる変数Ｌｏｏｐが３未満（Ｌｏｏｐ＋＋＜３）であるか否かの判定を行う。
変数Ｌｏｏｐが３未満でない場合、ステップＳ５１３においてＮＯと判定されて、処理はステップＳ５１６に進む。
これに対し、変数Ｌｏｏｐが３未満である場合、ステップＳ５１３においてＹＥＳと判定されて、処理はステップＳ５１４に進む。
【００６２】
ステップＳ５１４において、軸パラメータ決定部１５４は、選択したスケルトン動作と、平均スケルトン動作とのユークリッド距離を算出する。即ち、軸パラメータ決定部１５４は、標準スケルトン動作の生成時と同様に下位側特徴スケルトンの平均値を算出し、下位側の平均スケルトン動作を生成する。そして、軸パラメータ決定部１５４は、生成した下位側の平均スケルトン動作を、位置空間に展開する。つまり、軸パラメータ決定部１５４は、全フレームで持つ変数と定数（ルートジョイントの位置及び角度情報、ボーン長、各ジョイントでの角度情報）から、空間位置座標となるルートジョイント位置とジョイント位置に変換する。そして、軸パラメータ決定部１５４は、生成した下位側の平均スケルトン動作と、下位側の平均スケルトン動作の生成に用いたそれぞれの正規化スケルトン動作との間で、全てのフレームで積算した空間位置誤差（ユークリッド誤差）を求める。求められたユークリッド誤差がユークリッド距離となる。
【００６３】
ステップＳ５１５において、軸パラメータ決定部１５４は、ユークリッド誤差（ユークリッド距離）が規定値Ｄより大きい正規化スケルトン動作を選択から除外する。即ち、位置座標で距離が離れたスケルトン動作を下位側の平均スケルトンから除外する。その後、処理はステップＳ５１２に戻り、再び、下位側の平均スケルトン動作を生成する。
ステップＳ５１６において、軸パラメータ決定部１５４は、下位側の特徴スケルトン動作を算出する。即ち、軸パラメータ決定部１５４は、求めた下位側の平均スケルトン動作を、最大キック加速度が小さいスケルトン動作の代表とし、最大キック加速度に関する下位側特徴スケルトン動作とする。また、軸パラメータ決定部１５４は、下位側特徴スケルトン動作に対応する下位側最大キック加速度指標を求める。下位側最大キック加速度指標値は、下位側特徴スケルトン動作の生成に用いた正規化スケルトン動作の最大キック加速度指標値の平均とする。
【００６４】
ステップＳ５１７において、軸パラメータ決定部１５４は、下位側特徴スケルトン動作の指標の平均値（下位の基準値）を算出する。即ち、軸パラメータ決定部１５４は、選択した下位側特徴スケルトン動作から最大キック加速度の平均を算出して、下位の基準値とする。
ステップＳ５１８において、軸パラメータ決定部１５４は、最大キック加速度の軸パラメータとして、標準スケルトン動作の最大キック加速度を表す指標値、最大キック加速度の上位側特徴スケルトン動作、最大キック加速度の上位の基準値、最大キック加速度の下位側特徴スケルトン動作、最大キック加速度の下位の基準値を記憶部１１８に記憶させる。
ステップＳ５１８の後、処理はステップＳ５０１に戻る。
ステップＳ５０７、ステップＳ５１５にて、位置空間による評価を行ったが、全ジョイントの回転量そのものの偏差で評価を行っても良い。
【００６５】
［スケルトン描画処理］
図１２は、図５の機能的構成を有する図３の端末装置２００が実行するスケルトン描画処理の流れの一例を説明するフローチャートである。
スケルトン描画処理は、入力部２１７を介してスケルトン描画処理の起動が入力されることに対応して開始される。
スケルトン描画処理が開始されると、ステップＳ６０１において、描画処理部２５３は、フレーム変数の初期化（ＦｒａｍｅＮｏ＝０）を行う。
ステップＳ６０２において、指標値取得部２５１は、入力された各運動に関する指標値を取得する。例えば、ユーザインターフェースにおいて、スライドバーによって運動指標が与えられるとすると、指標値取得部２５１は、スライドバーが示す値を取得する。
【００６６】
ステップＳ６０３において、合成スケルトン生成部２５２は、合成スケルトン生成処理（後述）を実行する。合成スケルトン生成処理では、取得した運動に関する指標値に基づいて、そのフレーム番号（ＦｒａｍｅＮｏ）の合成スケルトンを生成する。
ステップＳ６０４において、描画処理部２５３は、合成スケルトンを描画するように出力部２１８を制御する。合成スケルトンの描画では、合成スケルトンが進行方向に動かないように、ルートジョイントの進行方向位置座標は固定される。
【００６７】
ステップＳ６０５において、描画処理部２５３は、描画するフレームが最大フレーム番号より小さい（ＦｒａｍｅＮｏ＜ＭａｘＦｒａｍｅＮｏ）か否かの判定を行う。
描画するフレームが最大フレーム番号より小さくない場合、ステップＳ６０５においてＮＯと判定されて、処理はステップＳ６０７に進む。
ステップＳ６０７において、描画処理部２５３は、フレーム番号をリセットする（ＦｒａｍｅＮｏ＝０）。
その後、処理はステップＳ６０８に進む。
これに対し、描画するフレームが最大フレーム番号より小さい場合、ステップＳ６０５においてＹＥＳと判定されて、処理はステップＳ６０６に進む。
【００６８】
ステップＳ６０６において、スケルトン描画処理部１１０は、フレーム番号を１インクリメント（ＦｒａｍｅＮｏ＋＋）する。
ステップＳ６０８において、描画処理部２５３は、描画タイミングを調整するか否かの判定を行う。即ち、運動に関する指標値が変更されることにより、フレームの補間や削除等の必要が生じ、フレームの描画タイミングが調整されるか否かが判定される。
描画タイミングを調整する場合、ステップＳ６０８の処理が繰り返される。
これに対し、描画タイミングを調整しない場合、ステップＳ６０８においてＮＯと判定されて、処理はステップＳ６０９に進む。
【００６９】
ステップＳ６０９において、描画処理部２５３は、スケルトン描画処理の終了操作がされたか否かの判定を行う。
終了操作されていない場合、ステップＳ６０９においてＮＯと判定されて、処理はステップＳ６０２に戻る。
これに対し、終了操作された場合、ステップＳ６０９においてＹＥＳと判定されて、スケルトン描画処理は終了する。
【００７０】
図１３は、スケルトン描画処理によって表示される表示画面例を示す模式図である。
図１３に示すように、表示画面の左側に運動に関する指標として、平均前後体軸及び最大キック加速度を示すスライドバー及び現在の設定値（平均前後体軸５．０［ｄｅｇ］、最大キック加速度２５［ｍ／ｓ２］）が表示されている。また、表示画面の右側に合成スケルトンＳＫ４０１が表示されている。
図１３に示す表示画面例において、運動に関する指標、即ち、平均前後体軸及び最大キック加速度それぞれについて、スライドバーによって指標値を変化させることができる。
【００７１】
［合成スケルトン生成処理］
次に、スケルトン描画処理のステップＳ６０３において実行される合成スケルトン生成処理について説明する。
図１４は、スケルトン描画処理のうち合成スケルトン生成処理の流れの一例を説明するフローチャートである。
なお、本実施形態では、最大キック加速度を表す指標値が変更される場合を例に挙げて説明を行う。
合成スケルトン生成処理が開始されると、ステップＳ７０１において、合成スケルトン生成部２５２は、全ての運動に関する指標の処理が終了したか否かの判定を行う。
【００７２】
全ての運動に関する指標の処理が終了している場合、ステップＳ７０１においてＹＥＳと判定されて、処理はステップＳ７０９に進む。
これに対し、全ての運動に関する指標の処理が終了していない場合、ステップＳ７０１においてＮＯと判定されて、処理はステップＳ７０２に進む。
ステップＳ７０２において、合成スケルトン生成部２５２は、入力された各運動に関する指標値及び最大キック加速度の軸パラメータ（軸パラメータ決定処理のステップＳ５１８で取得された標準スケルトン動作の最大キック加速度を表す指標値、最大キック加速度の上位側特徴スケルトン動作、最大キック加速度の上位の基準値、最大キック加速度の下位側特徴スケルトン動作、最大キック加速度の下位の基準値）を取得する。
【００７３】
ステップＳ７０３において、合成スケルトン生成部２５２は、変数Ｓｂａｓｅに標準スケルトン動作（時刻＝フレーム番号ＦｒａｍｅＮｏ）、変数Ｄｂａｓｅに標準スケルトン動作の運動に関する指標値（最大キック加速度を表す指標値）、変数Ｄｉｎに入力された最大キック加速度の指標値を設定する。
例えば、Ｓｂａｓｅ＝標準スケルトン動作（フレーム番号ＦｒａｍｅＮｏのフレーム）、Ｄｂａｓｅ＝標準スケルトン動作の最大キック加速度の指標値「２５」、Ｄｉｎ＝入力された最大キック加速度の指標値「４０」とする。
ステップＳ７０４において、合成スケルトン生成部２５２は、標準スケルトン動作の運動に関する指標値より入力された最大キック加速度の指標値の方が大きい（Ｄｂａｓｅ＜Ｄｉｎ）か否かの判定を行う。
標準スケルトン動作の運動に関する指標値より入力された最大キック加速度の指標値が大きい場合、ステップＳ７０４においてＹＥＳと判定されて、処理はステップＳ７０５に進む。
【００７４】
ステップＳ７０５において、合成スケルトン生成部２５２は、変数Ｓｓに軸パラメータの上位側特徴スケルトン動作（時刻＝フレーム番号ＦｒａｍｅＮｏ）、変数Ｄｓに軸パラメータの最大キック加速度の上位の基準値を設定する。
例えば、Ｓｓ＝軸パラメータの上位側特徴スケルトン動作（フレーム番号ＦｒａｍｅＮｏのフレーム）、Ｄｓ＝軸パラメータの上位の基準値「３５」を設定する。
その後、処理はステップＳ７０７に進む。
これに対し、標準スケルトン動作の運動に関する指標値より入力された最大キック加速度の指標値が小さい場合、ステップＳ７０４においてＮＯと判定されて、処理はステップＳ７０６に進む。
【００７５】
ステップＳ７０６において、合成スケルトン生成部２５２は、変数Ｓｓに軸パラメータの下位側特徴スケルトン動作（時刻＝フレーム番号ＦｒａｍｅＮｏ）、変数Ｄｓに軸パラメータの最大キック加速度の下位の基準値を設定する。
例えば、Ｓｓ＝軸パラメータの上位側特徴スケルトン動作（フレーム番号ＦｒａｍｅＮｏのフレーム）、Ｄｓ＝軸パラメータの下位の基準値「１０」を設定する。
ステップＳ７０７において、合成スケルトン生成部２５２は、比率ｒ＝（Ｄｉｎ−Ｄｂａｓｅ）/（Ｄｓ−Ｄｂａｓｅ）を算出する。
【００７６】
具体的には、Ｄｂａｓｅを基準としてＤｓまでを１とした時に、入力された指標値Ｄｉｎが位置する比率を求めてｒとする。つまり、ｒ＝０は、入力された指標値Ｄｉｎ＝Ｄｂａｓｅであり、ｒ＝１の時はＤｉｎ＝Ｄｓ、ｒ＞１の時はＤｉｎ＞Ｄｓ、０＜ｒ＜１の時はＤｂａｓｅ＜Ｄｉｎ＜Ｄｓとなる。
ステップＳ７０８において、合成スケルトン生成部２５２は、比率ｒに対応する特徴スケルトン（変更後のスケルトン）を求める。ルートジョイントの位置座標については、ＸＹＺ軸それぞれで独立に、例えばＸ座標では、以下の（３）式に従って算出される。
Ｘ’＝ｘ＿ｂａｓｅ＋ｒ×（ｘ＿ｓ−ｘ＿ｂａｓｅ）      （３）
【００７７】
ここで、「Ｘ’」は、特徴スケルトンのルートジョイントのＸ座標値となる。同様にＹ座標値、Ｚ座標値も求められる。また、「ｘ＿ｓ」は、Ｓｓが示す上位側特徴スケルトン動作のフレームにおけるルートジョイントのＸ座標値を示し、「ｘ＿ｂａｓｅ」は、Ｓｂａｓｅが示す標準スケルトン動作のフレームにおけるルートジョイントのＸ座標値を示している。
また、クォータニオンで示された角度情報についても同様に下記の補間式で変更後の値を求めることができる。
ｑ’＝ｑ＿ｂａｓｅ×（ｉｎｖ（ｑ＿ｂａｓｅ）×ｑ＿ｓ）ｒ
ここで、「ｑ＿ｂａｓｅ」は、標準スケルトンのクォータニオンを示し、「ｑ＿ｓ」は、上位側特徴スケルトン動作Ｓｓのクォータニオンを示し、「ｉｎｖ（  ）」は逆関数を示す。
【００７８】
合成スケルトン生成部２５２は、全ての角度情報について計算を行い、特徴スケルトンを求める。なお、ボーンについては、標準スケルトンのボーンを利用する。
その後、処理はステップＳ７０１に戻る。
ステップＳ７０９において、合成スケルトン生成部２５２は、全ての運動に関する指標の特徴スケルトンの平均を取り、合成スケルトンとする。
その後、処理はスケルトン描画処理に戻る。
【００７９】
図１５は、時系列のスケルトン空間を示す模式図である。
図１５に示すように、スケルトン空間の変数は、ルートジョイントの位置座標、ルートジョイント及びジョイントの角度情報からなる次元により構成される。
なお、ここでは説明を簡単にするため、角度情報がθ１、θ２の２次元からなるものとする。
所望のフレームにおいて、標準スケルトン動作がＳＫ３０１、上位側特徴スケルトン動作がＳＫ３０２、下位側特徴スケルトン動作がＳＫ３０３であるものとする。標準スケルトン動作ＳＫ３０１から上位側特徴スケルトン動作ＳＫ３０２に向けた軸３１２上に、変更後の特徴スケルトンＳＫ３０４が設定されることになる。特徴スケルトンＳＫ３０４は、時刻ごとに異なり、つまりフレームが異なれば、それぞれのスケルトン動作の変数も異なるので特徴スケルトンＳＫ３０４も異なる。
【００８０】
図１６は、図１５と異なるフレーム（フレーム番号＝ｋ）のスケルトン空間を示す模式図である。
軸３１２は、標準スケルトン動作ＳＫ３０１から上位側特徴スケルトン動作を見たときの補間軸である。また、軸３１３は、標準スケルトン動作ＳＫ３０１から下位側特徴スケルトン動作ＳＫ３０３を見たときの補間軸である。つまり、特定の運動に関する指標について、比率ｒが種々変化された場合、特徴スケルトンＳＫ３０４は、軸３１２もしくは軸３１３上に設定される。
【００８１】
図１７は、スケルトン空間における合成スケルトンを示す模式図である。
なお、図１７（ａ）には、スケルトン空間に、標準スケルトン動作ＳＫ３０１が設定された状態が示され、図１７（ｂ）には、異なる運動に関する指標値に応じた特徴スケルトンＳＫ３２４、ＳＫ３３４が示されている。また、図１７（ｃ）には、合成スケルトンＳＫ３４０が示されている。
図１７（ａ）に示す軸３２２，３２３及び軸３３２，３３３は、それぞれ異なる運動に関する指標に応じた補間軸であり、これらの運動に関する指標における比率ｒがそれぞれ入力されると、図１７（ｂ）における特徴スケルトンＳＫ３２４，ＳＫ３３４が設定される。
【００８２】
そして、図１７（ｃ）に示すように、特徴スケルトンＳＫ３２４，ＳＫ３３４の座標の平均値を取得することにより、合成スケルトンＳＫ３４０の角度情報が得られ、合成スケルトンＳＫ３４０が設定される。
なお、上述の説明では、１つの運動に関する指標について、上位側特徴スケルトン動作及び下位側特徴スケルトン動作の２つの補間方向を設定し、それぞれ１つのスケルトン動作で線形な軸を設定した。しかしながら複数のスケルトン動作を設定し、軸を直線でなく折れ線で設定した場合でも同様のアルゴリズムで合成スケルトンを設定できる。より折れ数が多い軸を設定した方が、より複雑な動作に適切に対応することができる。
【００８３】
［視覚化の具体的形態］
次に、端末装置２００の描画処理部２５３が合成スケルトンを描画する際の具体的形態について説明する。
【００８４】
［第１矢印描画処理］
図１８は、図５の機能的構成を有する図３の端末装置２００が実行する第１矢印描画処理の流れを説明するフローチャートである。
第１矢印描画処理とは、スケルトンの変更状態を可視化するために表示する矢印を生成する処理である。
第１矢印描画処理は、スケルトンが繰り返し描画されている状態（図１９参照）で、例えば、ユーザインターフェースにおける最大キック加速度のラベルをクリック操作し、最大キック加速度の指標値を選択する操作が行われることにより開始される。なお、このとき、描画対象のフレーム番号（ＦｒａｍｅＮｏ）及び最大キック加速度の指標値を引数として、第１矢印描画処理が呼び出される。
【００８５】
第１矢印描画処理が開始されると、ステップＳ８０１において、描画処理部２５３は、選択された運動に関する指標について、その時刻（ＦｒａｍｅＮｏ）での指標を最大とした場合、及び、最小とした場合のスケルトンの空間姿勢（合成スケルトンの空間位置座標）を計算する。
ステップＳ８０２において、描画処理部２５３は、算出されたスケルトン空間姿勢（合成スケルトンの空間位置座標）において、右足首、左足首、胸、右手首、左手首のジョイントを検索ジョイントとする。
【００８６】
ステップＳ８０３において、描画処理部２５３は、最大及び最小の２つの指標値でのスケルトン空間姿勢（合成スケルトンの空間位置座標）について、検索ジョイント間の各々で差分（ベクトル）を求める。
ステップＳ８０４において、描画処理部２５３は、差分量が大きい２つのジョイントを選択する。
ステップＳ８０５において、描画処理部２５３は、差分量を「矢印の長さ」とし、ベクトルの向きを「矢印の向き」とする矢印を生成する。具体的には、描画処理部２５３は、例えば、一番大きいジョイントが左足首のジョイント、次に大きいジョイントが右足首のジョイントである場合には、差分量を矢印の長さ（あるいは大きさ）で、差分方向を矢印の向きとして、それぞれのジョイントに矢印を描画する。
【００８７】
ステップＳ８０６において、描画処理部２５３は、求められた検索ジョイント間の差分が明確となる視点に地面から鉛直方向を軸として視点の変更を行う。なお、視点方向は、例えば差分量が最も大きいジョイントでの矢印の向きが描画面と平行（即ち正面視）となるように決定される。
ステップＳ８０７において、描画処理部２５３は、生成した矢印を対応するジョイント上に描画するように出力部２１８を制御する。
その後、第１矢印描画処理は終了する。
【００８８】
図２０は、視点方向が変更された表示画面例を示す模式図である。
図２０においては、図１９の表示画面例に対して、合成スケルトンが側面視された状態に変更され、左足首のジョイントにおける矢印Ａ４４１及び右足首のジョイントにおける矢印Ａ４４２が正面視される状態となっている。なお、図２０においては、選択された運動に関する指標（最大キック加速度）のスライドバー及び現在の設定値の領域が矩形のカーソルで囲まれている。
また、フレームごとに運動に関する指標値が変化することから、図２０のような表示画面例は、時刻と共に変化することとなる。
【００８９】
図２１は、図２０と異なる時刻における表示画面例を示す模式図である。
図２１に示す表示画面例では、右足首のジョイント及び胸部のジョイントに矢印Ａ４４２、Ａ４４３が表示されている。
このようなスケルトンの状態では、最大キック加速度の指標値が変化しても左足首のジョイントの位置変化が小さいため、図２１に示すフレームでは、最大キック加速度のスライドバーを操作しても、左足首のジョイントには矢印が表示されない。
【００９０】
［第２矢印描画処理］
図２２は、図５の機能構成を有する図３の端末装置２００が実行する第２矢印描画処理の流れを説明するフローチャートである。
第２矢印描画処理とは、運動に関する指標値を選択する操作が行われた場合に、その指標をさらに変更した場合におけるスケルトンの部位の変化の方向を示す矢印を描画する処理である。
第２矢印描画処理は、スケルトンが繰り返し描画されている状態（図２３参照）で、例えば、ユーザインターフェースにおける最大キック加速度のラベルをクリック操作し、最大キック加速度の指標値を選択する操作が行われることにより開始される。
【００９１】
第２矢印描画処理が開始されると、ステップＳ９０１において、描画処理部２５３は、指標が変更された後の時刻（ＦｒａｍｅＮｏ）での、合成スケルトンの空間位置座標Ｐ１を算出する。
ステップＳ９０２において、描画処理部２５３は、さらに同じ方向に指標値が変化した場合の合成スケルトンの空間位置座標Ｐ２を算出する。
ステップＳ９０３において、描画処理部２５３は、右足首、左足首、胸、右手首、左手首のジョイントを検索ジョイントとする。
【００９２】
ステップＳ９０４において、描画処理部２５３は、２つのスケルトン空間位置座標で、スケルトン空間位置座標Ｐ１を基準として検索ジョイント間の各々で差分（ベクトル）を求める。つまり、描画処理部２５３は、検索ジョイントでの空間位置座標Ｐ１からみた空間位置座標Ｐ２の差分を計算する。
ステップＳ９０５において、描画処理部２５３は、差分量が最も大きいジョイントを選択する。
【００９３】
ステップＳ９０６において、描画処理部２５３は、差分量を「矢印の大きさ」、ベクトルの向きを「矢印の向き」とする矢印Ａ４４３を、対応するジョイント上に描画するように出力部２１８を制御する。
その後、第２矢印描画処理は終了する。
【００９４】
図２４は、スケルトンの部位の変化の方向を示す矢印Ａ４４３が表示された表示画面例を示す模式図である。
図２４においては、図２３における指標値の変更前のスケルトンＳＫ４４１が破線で描画され、指標値の変更後のスケルトンＳＫ４４２が実線で描画されている。さらに、スケルトンＳＫ４４２の右足首のジョイント近傍には、指標値がさらに変更された場合に右足首が変化する方向を示す矢印Ａ４４３が表示されている。
なお、図２４に示す表示画面例において、指標値の変更前のスケルトンＳＫ４４１は、描画しないこととしてもよい。矢印４４３及び指標値の変更前スケルトンＳＫ４４１は、指標値を変更する操作の後、予め設定された時間後に消滅する。
【００９５】
［対応指標報知処理］
図２５は、図５の機能構成を有する図３の端末装置２００が実行する対応指標報知処理の流れを説明するフローチャートである。
【００９６】
対応指標報知処理とは、静止しているスケルトンを操作することにより、その操作部位に対応して変化する指標をユーザに報知する処理である。
対応指標報知処理は、スケルトンマニュアル操作モード（スケルトンに対するユーザの操作を受け付けるモード）が選択されることに対応して開始される。
【００９７】
対応指標報知処理が開始されると、ステップＳ１００１において、描画処理部２５３は、スケルトン動作のフレームの自動更新を停止させ、ユーザによって選択されたフレーム番号（ＦｒａｍｅＮｏ）で静止した状態でスケルトンを描画する。
ステップＳ１００２において、描画処理部２５３は、移動可能なジョイントを大きい円で描画する（図２６参照）。
ステップＳ１００３において、描画処理部２５３は、終了操作に対する割り込み設定、及び、ジョイントの移動操作に対する割り込み設定を行う。即ち、終了操作を示す割り込み信号及びジョイントの移動操作を示す割り込み信号を受け付ける状態に設定される。
ステップＳ１００３の後、描画処理部２５３は、待機モードに移行する。
【００９８】
図２６は、移動可能なジョイントが他のジョイントに比べて大きく描画されたスケルトンの表示画面例を示す模式図である。
図２６に示す表示画面例において、ユーザが、画面上の移動可能なジョイントを動かした場合（例えば、図２６中の矢印Ａ４６３の方向にジョイントＪ４６２が移動された場合）、ジョイントの移動操作を示す割り込み信号が発生し、ジョイント移動割り込み処理が実行される。
【００９９】
図２７は、対応指標報知処理において割り込み処理として実行されるジョイント割り込み移動処理の流れを説明するフローチャートである。
ジョイント割り込み移動処理が開始されると、ステップＳ１０１１において、描画処理部２５３は、移動されたジョイントの位置に対応する新たなスケルトンＮ１を生成する。なお、移動可能なジョイントであっても、自由な移動をさせることはできず、ボーンが剛体であるという制約の下、移動操作が許容される。
ステップＳ１０１２において、描画処理部２５３は、新たなスケルトンＮ１を描画する。
ステップＳ１０１３において、描画処理部２５３は、次の操作のため、移動されたジョイントの部位を描画する。
【０１００】
ステップＳ１０１４において、描画処理部２５３は、事前準備で取得した正規化スケルトン動作の集合において、フレーム番号がＦｒａｍｅＮｏのフレームの中から、移動されたジョイントの位置に最も近いスケルトンのフレームを検索する。このとき、動作パラメータ同士を比較して検索しても、空間位置座標に変換してから比較して検索してもよい。
ステップＳ１０１５において、描画処理部２５３は、検索された正規化スケルトン動作が有する指標値に対応させて、表示画面のスライドバーを移動させる。
図２６において、右足首のジョイントＪ４６２が、矢印Ａ４６３の方向に移動された場合に、移動後のスケルトンに応じた指標値が表示されている。
ステップＳ１０１５の後、描画処理部２５３は、再び待機モードに移行する。
また、対応指標報知処理及びジョイント割り込み移動処理で待機モードとなっている場合に、終了操作が行われると、当該終了操作を示す割り込み信号が発生し、終了割り込み処理が実行される。
【０１０１】
図２８は、対応指標報知処理及びジョイント割り込み移動処理において割り込み処理として実行される終了割り込み処理の流れを説明するフローチャートである。
終了割り込み処理が開始されると、ステップＳ１０２１において、対応指標報知処理の終了のための準備（必要なパラメータの記憶、設定のリセット等）を実行する。
ステップＳ１０２１の後、終了割り込み処理は終了となる。また、これにより、対応指標報知処理も終了となる。
【０１０２】
上記実施形態によれば、例えば、画像生成装置１００には、サンプルとして取得された複数の個人のモーションキャプチャデータに基づき構成された標準スケルトンを記憶しておき、端末装置２００では、端末装置２００のユーザ特有の動きを指標値として入力することができる。
これにより、複数の個人の動きを統合した標準スケルトン動作から、特定の個人の動きを反映させた合成スケルトン動作を生成することができる。
この場合、サービスの提供者が標準スケルトン動作のデータを提供し、サービスを利用するユーザそれぞれが、ユーザ自身の動きを反映させた合成スケルトン動作を生成するといった形態を実現できる。
【０１０３】
以上説明したように、本実施形態の画像生成システム１は、画像生成装置１００と、端末装置２００とを含んでいる。
画像生成装置１００は、アニメーション取得部１５０を備え、アニメーション取得部１５０は、複数のアニメーションデータを取得する。
端末装置２００は、指標値取得部２５１と、合成スケルトン生成部２５２と、描画処理部２５３とを備えている。
指標値取得部２５１は、アニメーションデータの運動に関する指標の値を入力し、合成スケルトン生成部２５２は、アニメーション取得部１５０により取得された複数のアニメーションデータを用いて、指標値取得部２５１によって入力された指標の値に応じたアニメーションデータ（合成スケルトン動作のデータ）を生成する。
したがって、動作を測定して得られたアニメーションデータ（スケルトンのデータ）を所望の動きに変更することが可能となる。
【０１０４】
また、指標値取得部２５１は、アニメーションデータの運動に関する複数の指標の値を入力し、合成スケルトン生成部２５２は、指標値取得部２５１によって入力された複数の指標の値に応じたアニメーションデータを生成する。
したがって、アニメーションデータにおいて、複数の運動に関する指標を関連付け、これらの指標それぞれを変更させることができるため、より複雑な動きの変更を実現することが可能となる。
【０１０５】
また、画像生成装置１００は、標準スケルトン取得部１５２を備え、標準スケルトン取得部１５２は、アニメーション取得部１５０により取得された複数のアニメーションデータから、運動に関する指標が対応付けられた標準のアニメーションデータを生成する。合成スケルトン生成部２５２は、標準のアニメーションデータから指標値取得部２５１により入力された指標の値に応じたアニメーションデータを生成する。
【０１０６】
また、標準のアニメーションデータには、運動に関する指標の基準値が設定され、合成スケルトン生成部２５２は、標準のアニメーションデータにおける基準値（例えば上位あるいは下位の基準値）に基づいて、指標値取得部２５１により入力された指標の値に応じたアニメーションデータを生成する。
したがって、動作を測定して得られた複数のアニメーションデータに基づき設定した基準値に基づいて、運動に関する指標を変更したアニメーションデータを生成することができるため、指標を変更した場合の動きの変化が、測定された動作に基づくものとなり、より適切な動きの変化を実現することが可能となる。
【０１０７】
また、端末装置２００は、標準のアニメーションデータに基づくアニメーションと、当該アニメーションデータに設定されている運動に関する指標値の入力のためのユーザインターフェースを出力部２１８に表示させる描画処理部２５３を備え、指標値取得部２５１は、ユーザインターフェースを操作することにより、運動に関する指標の値を入力する。
したがって、視覚的にわかりやすい形態で、運動に関する指標の値を入力することができる。
【０１０８】
描画処理部２５３は、指標値取得部２５１によって運動に関する指標の値が入力された場合に、合成スケルトン生成部２５２によって生成されたアニメーションデータに基づくアニメーションを、当該入力された指標の値に対応する部分を識別して出力部２１８に表示させる。
したがって、運動に関する指標の変更によるアニメーションの変化部分をわかりやすく表示することができる。
【０１０９】
また、描画処理部２５３は、指標値取得部２５１によって入力された運動に関する指標の値に応じて変化するアニメーションの部分を識別して出力部２１８に表示させる。
したがって、運動に関する指標を変化させた場合に影響の生じる部分をわかりやすく表示することができる。
【０１１０】
また、描画処理部２５３は、指標値取得部２５１による運動に関する値の入力後のアニメーションデータに対応する運動に関する指標を出力部２１８に表示させる。
したがって、アニメーションに対する直接的な操作に応じて、運動に関する指標を変更することができるため、アニメーションデータに対する変更を行う場合の操作性を高めることができる。
【０１１１】
［変形例］
上述の実施形態において、運動に関する指標値の入力は、アプリケーションによって生成される表示画面内のスライドバーによって行うこととした。
これに対し、リアルタイムな運動によって運動に関する指標値を入力し、スケルトン動作を表示することとしてもよい。
具体的には、ユーザの靴に加速度センサを装着し、腕に表示装置（例えば携帯端末等）を装着した状態でランニングを行い、ユーザの実際の動きによって指標値を入力して、スケルトン動作を生成することができる。
図２９は、図６の機能的構成を有する図３の端末装置２００が実行するリアルタイム表示処理の流れを説明するフローチャートである。
リアルタイム表示処理は、リアルタイムに運動に関する指標値を入力してスケルトン動作を表示する処理である。
リアルタイム表示処理は、ユーザの靴に加速度センサを装着し、腕に端末装置２００を装着した状態で、リアルタイム表示処理の起動が入力されることに対応して開始される。
【０１１２】
リアルタイム表示処理が開始されると、ステップＳ１０３１において、端末装置２００は、加速度センサから、運動に関する指標を取得する。例えば、運動に関する指標として、速度情報（ランニングの速度に関する情報）を取得する。速度情報は、靴に装着した加速度センサからランニングのピッチを取得し、予め設定した歩幅に基づき取得することができる。加速度センサによって取得した速度情報は、端末装置２００に無線通信で送信される。
ステップＳ１０３２において、端末装置２００は、運動に関する指標としての速度に応じた合成スケルトンを表示画面に描画する。
ステップＳ１０３３において、端末装置２００は、リアルタイム処理における時間調整のためのウェイトを実行する。
その後、リアルタイム表示処理が繰り返し実行される。
【０１１３】
なお、リアルタイム表示処理によってスケルトン動作を表示する場合にも、スケルトン動作の表示に利用される指標を対象として、事前準備処理による軸パラメータの設定が行われていることが前提となる。
また、靴に装着される加速度センサの他、複数種類のセンサを用いて複数種類の運動に関する指標を取得し、複数種類の運動に関する指標に応じた合成スケルトンをリアルタイムに表示することができる。この場合にも、事前準備処理によるデータが生成されていれば、低い計算コストで合成スケルトン動作を生成することができる。
【０１１４】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【０１１５】
上述の実施形態では、標準スケルトン動作に設定される指標値を、標準スケルトン動作を生成する母集合の正規化スケルトン動作から求めるものとした。これに対し、標準スケルトン動作に設定される指標値を、標準スケルトン動作を生成する母集合とは異なるスケルトン動作の集合から求めることができる。
これにより、標準スケルトン動作を生成した母集合の正規化スケルトン動作のデータが利用できない場合等であっても、他のスケルトン動作の集合から求めた指標値を標準スケルトンに設定することができるため、より柔軟に本発明を実現することが可能となる。
また、上述の実施形態において、標準スケルトン動作を生成するために用いられるスケルトン動作の集合は、特定の個人の複数のモーションキャプチャデータから構成することや、複数の個人のモーションキャプチャデータから構成することのいずれも可能である。
【０１１６】
また、上述の実施形態では、本発明が適用される画像生成装置１００は、サーバによって構成され、端末装置２００はスマートフォンによって構成される場合を例に挙げて説明したが、特にこれに限定されない。
例えば、本発明は、情報処理機能を有する電子機器一般によって実現することができる。具体的には、例えば、本発明における画像生成装置１００及び端末装置２００は、ノート型のパーソナルコンピュータ、プリンタ、テレビジョン受像機、ビデオカメラ、携帯型ナビゲーション装置、携帯電話機、ポータブルゲーム機等によって構成することが可能である。
【０１１７】
また、上述の実施形態では、画像生成装置１００と端末装置２００とを別個の装置として構成する場合を例に挙げて説明したが、特にこれに限定されない。
例えば、画像生成装置１００をＰＣ等によって構成し、画像生成装置１００に上述の実施形態における端末装置２００の機能を備えることができる。
【０１１８】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図４及び図６の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が画像生成装置１００及び端末装置２００に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図４及び図６の例に限定されない。
また、１つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【０１１９】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【０１２０】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図２のリムーバブルメディア１３１及び図３のリムーバブルメディア２３１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア１３１，２３１は、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、または光磁気ディスク等により構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等により構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図２のＲＯＭ１１２及び図３のＲＯＭ２１２や、図２の記憶部１１８及び図３の記憶部２１９に含まれるハードディスク等で構成される。
【０１２１】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１２２】
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【０１２３】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１２４】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
複数のアニメーションデータを取得するデータ取得手段と、
アニメーションデータの運動に関する指標の値を入力する入力手段と、
前記データ取得手段により取得された複数のアニメーションデータを用いて、前記入力手段によって入力された指標の値に応じたアニメーションデータを生成する第１の生成手段と、
を備えることを特徴とする画像生成装置。
［付記２］
前記入力手段は、アニメーションデータの運動に関する複数の指標の値を入力し、
前記第１の生成手段は、前記入力手段によって入力された複数の指標の値に応じたアニメーションデータを生成することを特徴とする付記１に記載の画像生成装置。
［付記３］
前記データ取得手段により取得された複数のアニメーションデータから、運動に関する指標が対応付けられた標準のアニメーションデータを生成する第２の生成手段を更に備え、
前記第１の生成手段は、前記標準のアニメーションデータから前記入力手段により入力された指標の値に応じたアニメーションデータを生成することを特徴とする付記１又は２に記載の画像生成装置。
［付記４］
前記標準のアニメーションデータには、前記運動に関する指標の基準値が設定され、
前記第１の生成手段は、前記標準のアニメーションデータにおける前記基準値に基づいて、前記入力手段により入力された指標の値に応じたアニメーションデータを生成することを特徴とする付記３に記載の画像生成装置。
［付記５］
前記標準のアニメーションデータに基づくアニメーションと、当該アニメーションデータに設定されている前記運動に関する指標の値の入力のためのユーザインターフェースとを表示手段に表示させる表示制御手段を更に備え、
前記入力手段は、前記ユーザインターフェースを操作することにより、前記運動に関する指標の値を入力することを特徴とする付記３又は４に記載の画像生成装置。
［付記６］
前記表示制御手段は、前記入力手段によって前記運動に関する指標の値が入力された場合に、前記第１の生成手段によって生成されたアニメーションデータに基づくアニメーションを、当該入力された指標の値に対応する部分を識別して前記表示手段に表示させることを特徴とする付記５に記載の画像生成装置。
［付記７］
前記表示制御手段は、前記入力手段によって入力された前記運動に関する指標の値に応じて変化する前記アニメーションの部分を識別して前記表示手段に表示させることを特徴とする付記５または６に記載の画像生成システム。
［付記８］
前記表示制御手段は、前記入力手段による前記運動に関する値の入力後の前記アニメーションデータに対応する指標を前記表示手段に表示させることを特徴とする付記５から７の何れか１つに記載の画像生成装置。
［付記９］
複数のアニメーションデータを取得するデータ取得ステップと、
アニメーションデータの運動に関する指標の値を入力する入力ステップと、
前記データ取得ステップにより取得された複数のアニメーションデータを用いて、前記入力ステップにおいて入力された指標の値に応じたアニメーションデータを生成する生成ステップと、
を含むことを特徴とする画像生成方法。
［付記１０］
コンピュータを、
複数のアニメーションデータを取得するデータ取得手段、
アニメーションデータの運動に関する指標の値を入力する入力手段、
前記データ取得手段により取得された複数のアニメーションデータを用いて、前記入力手段によって入力された指標の値に応じたアニメーションデータを生成する生成手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【０１２５】
１・・・画像生成システム，１００・・・画像生成装置，１１１、２１１・・・ＣＰＵ，１１２、２１２・・・ＲＯＭ，１１３、２１３・・・ＲＡＭ，１１４、２１４・・・バス，１１５、２１５・・・入出力インターフェース，２１６・・・撮像部，１１６、２１７・・・入力部，１１７、２１８・・・出力部，１１８、２１９・・・記憶部，１１９、２２０・・・通信部，１２０、２２１・・・ドライブ，１３１、２３１・・・リムーバブルメディア，１５０・・・アニメーション取得部，１５１・・・正規化スケルトン取得部，１５２・・・標準スケルトン取得部，１５３・・・指標関連付け処理部，１５４・・・軸パラメータ決定部，２５１・・・指標値取得部，２５２・・・合成スケルトン生成部，２５３・・・描画処理部
【図１】
2018026149.tif 000003
【図２】
2018026149.tif 000004
【図３】
2018026149.tif 000005
【図４】
2018026149.tif 000006
【図５】
2018026149.tif 000007
【図６】
2018026149.tif 000008
【図７】
2018026149.tif 000009
【図８】
2018026149.tif 000010
【図９】
2018026149.tif 000011
【図１０】
2018026149.tif 000012
【図１１】
2018026149.tif 000013
【図１２】
2018026149.tif 000014
【図１３】
2018026149.tif 000015
【図１４】
2018026149.tif 000016
【図１５】
2018026149.tif 000017
【図１６】
2018026149.tif 000018
【図１７】
2018026149.tif 000019
【図１８】
2018026149.tif 000020
【図１９】
2018026149.tif 000021
【図２０】
2018026149.tif 000022
【図２１】
2018026149.tif 000023
【図２２】
2018026149.tif 000024
【図２３】
2018026149.tif 000025
【図２４】
2018026149.tif 000026
【図２５】
2018026149.tif 000027
【図２６】
2018026149.tif 000028
【図２７】
2018026149.tif 000029
【図２８】
2018026149.tif 000030
【図２９】
2018026149.tif 000031
【手続補正書】
【提出日】平成29年10月10日(2017.10.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のアニメーションデータを取得するデータ取得手段と、
アニメーションデータの走る時の足の蹴りの強さと体軸の傾きのうち、少なくとも一つに関する指標の任意の値を入力する入力手段と、
前記データ取得手段により取得された複数のアニメーションデータを用いて、前記入力手段によって入力された指標の任意の値に応じたアニメーションデータを生成する第１の生成手段と、
を備えることを特徴とする画像生成装置。
【請求項２】
前記入力手段によって入力された指標の任意の値に応じて変化する前記アニメーションの部分を識別して表示手段に表示させる表示制御手段を備えることを特徴とする請求項１に記載の画像生成装置。
【請求項３】
前記表示制御手段は、前記入力手段によって指標の任意の値が入力された場合に、前記第１の生成手段によって生成されたアニメーションデータに基づくアニメーションを、当該入力された指標の任意の値に対応する部分に矢印を表示して前記表示手段に表示させることを特徴とする請求項２に記載の画像生成装置。
【請求項４】
前記表示制御手段は、前記矢印の長さ又は大きさで、前記指標の任意の値が入力される前とされた後の変化量を表すことを特徴とする請求項３に記載の画像生成装置。
【請求項５】
前記表示制御手段は、前記矢印の方向で、前記指標の任意の値が入力される前とされた後の変化の方向を表すことを特徴とする請求項３又は４に記載の画像生成装置。
【請求項６】
前記表示制御手段は、前記入力手段によって入力された指標の任意の値に応じて変化する前記アニメーションの部分を、変化する前と後で異なる線種で前記表示手段に表示させることを特徴とする請求項２に記載の画像生成装置。
【請求項７】
前記表示制御手段は、前記入力手段によって入力された指標の任意の値に応じて変化する前記アニメーションの部分が明確となる視点に視点の変更を行って前記表示手段に表示させることを特徴とする請求項２から６の何れか１項に画像生成装置。
【請求項８】
前記入力手段は、アニメーションデータの走る時の足の蹴りの強さと体軸の傾きに関する指標の任意の値を入力し、
前記第１の生成手段は、前記入力手段によって入力された二つの指標の任意の値に応じたアニメーションデータを生成することを特徴とする請求項１から７の何れか１項に記載の画像生成装置。
【請求項９】
前記データ取得手段により取得された複数のアニメーションデータから、走る時の足の蹴りの強さと体軸の傾きのうち、少なくとも一つに関する指標が対応付けられた標準のアニメーションデータを生成する第２の生成手段を更に備え、
前記第１の生成手段は、前記標準のアニメーションデータから前記入力手段により入力された指標の任意の値に応じたアニメーションデータを生成することを特徴とする請求項１から８の何れか１項に記載の画像生成装置。
【請求項１０】
前記標準のアニメーションデータには、走る時の足の蹴りの強さと体軸の傾きのうち、少なくとも一つに関する指標の基準値が設定され、
前記第１の生成手段は、前記標準のアニメーションデータにおける前記基準値に基づいて、前記入力手段により入力された指標の任意の値に応じたアニメーションデータを生成することを特徴とする請求項９に記載の画像生成装置。
【請求項１１】
前記表示制御手段は、前記標準のアニメーションデータに基づくアニメーションと、当該アニメーションデータに設定されている走る時の足の蹴りの強さと体軸の傾きのうち、少なくとも一つに関する指標の任意の値の入力のためのユーザインターフェースとを表示手段に表示させ、
前記入力手段は、前記ユーザインターフェースを操作することにより、走る時の足の蹴りの強さと体軸の傾きのうち、少なくとも一つに関する指標の任意の値を入力することを特徴とする請求項９又は１０に記載の画像生成装置。
【請求項１２】
前記表示制御手段は、前記入力手段による走る時の足の蹴りの強さと体軸の傾きのうち、少なくとも一つに関する指標の任意の値の入力後の前記アニメーションデータに対応する指標を表示手段に表示させることを特徴とする請求項２から１１の何れか１項に記載の画像生成装置。
【請求項１３】
前記表示制御手段は、前記入力手段によって走る時の足の蹴りの強さと体軸の傾きのうち、少なくとも一つに関する複数の指標の任意の値のうち一つの指標が入力された場合に、前記第１の生成手段によって生成されたアニメーションデータに基づくアニメーションを、当該入力された指標に対応する部分を識別して表示手段に表示させることを特徴とする請求項８に記載の画像生成装置。
【請求項１４】
複数のアニメーションデータを取得するデータ取得ステップと、
アニメーションデータの走る時の足の蹴りの強さと体軸の傾きのうち、少なくとも一つに関する指標の任意の値を入力する入力ステップと、
前記データ取得ステップにより取得された複数のアニメーションデータを用いて、前記入力ステップにおいて入力された指標の値に応じたアニメーションデータを生成する生成ステップと、
を含むことを特徴とする画像生成方法。
【請求項１５】
コンピュータを、
複数のアニメーションデータを取得するデータ取得手段、
アニメーションデータの走る時の足の蹴りの強さと体軸の傾きのうち、少なくとも一つに関する指標の任意の値を入力する入力手段、
前記データ取得手段により取得された複数のアニメーションデータを用いて、前記入力手段によって入力された指標の値に応じたアニメーションデータを生成する生成手段、
として機能させることを特徴とするプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
複数のアニメーションデータを取得するデータ取得手段と、
アニメーションデータの走る時の足の蹴りの強さと体軸の傾きのうち、少なくとも一つに関する指標の任意の値を入力する入力手段と、
前記データ取得手段により取得された複数のアニメーションデータを用いて、前記入力手段によって入力された指標の任意の値に応じたアニメーションデータを生成する第１の生成手段と、
を備えることを特徴とする。