(57)【特許請求の範囲】
【請求項１】
利用者の操作情報に基づいて制御対象物の動きを制御する動作制御装置において、
前記利用者が行った操作に関する操作情報を入力する操作入力手段と、
前記入力された操作情報に基づいて、前記制御対象物の目標位置を計算して制約条件を算出する制約条件算出手段と、
予め与えられた複数種類の姿勢情報に基づいて学習がなされた姿勢学習モデル情報、及び前記制約条件に基づいて、所定の型を持たない姿勢の変化を制御する姿勢制御手段と、
予め与えられた複数種類の動作情報に基づいて学習がなされた各動作ごとの複数の動作学習モデル情報、及び前記制約条件に基づいて、所定の型を持つ前記制御対象物の任意の部位の動作を制御する動作制御手段と、
前記操作情報に基づいて、姿勢制御、又は動作制御を切り替える制御切替手段と、
前記姿勢制御手段、及び動作制御手段が計算した結果に基づいて、当該計算結果を追従して前記制御対象物の姿勢を計算する追従制御手段とを備えることを特徴とする動作制御装置。
【請求項２】
請求項１に記載の動作制御装置において、
前記操作入力手段が、複数の系の操作情報を同時に入力するマルチ入力であることを特徴とする動作制御装置。
【請求項３】
請求項１又は２に記載の動作制御装置において、
前記追従制御手段が、前記操作情報に含まれない前記制御対象物の部位について、物理シミュレーションで動きを計算することを特徴とする動作制御装置。
【請求項４】
請求項１ないし３のいずれかに記載の動作制御装置において、
前記制御切替手段が、前記動作学習モデル情報の学習に使用した前記任意の部位の軌道の平均と前記操作情報の軌道との画面上での位置、及び時間の変化の一致度に基づいて、切替の判定を行うことを特徴とする動作制御装置。
【請求項５】
請求項１ないし４のいずれかに記載の動作制御装置において、
前記制御対象物の動作中に、前記操作情報の入力がなくなるか、又は操作情報の変化がなくなった場合に、前記制御対象物の動作を進めるか戻すかを判定するためのタイミングに関する時間判定情報が予め設定されており、
前記動作制御手段が、
前記操作情報の入力がなくなるか、又は変化がなくなった場合に、前のフレームの潜在空間における姿勢の標準化時刻、及び前記予め設定された時間判定情報に基づいて、順時間方向に動作を進めるか、又は逆時間方向に動作を進めるかを判定する時間方向判定手段を備え、
前記時間方向判定手段の判定結果に基づいて、順時間方向又は逆時間方向に動作を進める制御を行うことを特徴とする動作制御装置。
【請求項６】
請求項１ないし５のいずれかに記載の動作制御装置において、
前記制御対象物の動作中に、前記操作情報の変化がなくなった場合に、前記制御対象物の動作を静止するか否かを判定するためのタイミングに関する静止判定情報が予め設定されており、
前記動作制御手段が、
前記操作情報の変化がなくなった場合に、前のフレームの潜在空間における姿勢の標準化時刻、及び前記予め設定された静止判定情報に基づいて、前記制御対象物の動作を静止するか否かを判定する静止判定手段を備え、
前記静止判定手段の判定結果に基づいて、動作を順時間方向もしくは逆時間方向に進めて制御するか、又は前のフレームと同じ動作の姿勢を維持する制御を行うことを特徴とする動作制御装置。
【請求項７】
請求項１ないし６のいずれかに記載の動作制御装置において、
前記動作制御手段が、
前記操作情報の入力が前のフレームから変化している場合に、前記入力された操作情報についての制約条件を満たす動作姿勢を生成し、当該生成した動作姿勢の標準化時刻が、前のフレームにおける動作姿勢の時刻から所定の閾値の範囲内であるか否かを判定する時間制御判定手段を備え、
前記時間制御判定手段の判定結果に基づいて、前記生成された動作姿勢の標準化時刻が、所定の閾値の範囲内である場合は、当該生成された動作姿勢で制御し、前記所定の閾値の範囲外である場合は、前記生成された動作姿勢に向かって潜在空間内を所定の時間、順時間方向又は逆時間方向に時間を進め、当該進めた時刻における潜在空間内の位置に基づいて前記動作姿勢を合成して制御することを特徴とする動作制御装置。
【請求項８】
利用者の操作情報に基づいて制御対象物の動きをコンピュータが制御する動作制御方法において、
前記利用者が行った操作に関する操作情報を入力する操作入力ステップと、
前記入力された操作情報に基づいて、前記制御対象物の目標位置を計算して制約条件を算出する制約条件算出ステップと、
前記操作情報に基づいて、姿勢の変化の制御、又は制御対象物の主要部位の動作の制御を切り替える制御切替手段と、
前記制御切替手段の切り替えにしたがい、予め与えられた複数種類の姿勢情報に基づいて学習がなされた姿勢学習モデル情報及び前記制約条件に基づいて、所定の型を持たない姿勢の変化を制御する姿勢制御処理、又は予め与えられた複数種類の動作情報に基づいて学習がなされた各動作ごとの複数の動作学習モデル情報及び前記制約条件に基づいて、所定の型を持つ前記制御対象物の任意の部位の動作を制御する動作制御処理を実行する制御ステップと、
前記姿勢制御ステップ、及び動作制御ステップが計算した結果に基づいて、当該計算結果を追従して前記制御対象物の姿勢を計算する追従制御ステップとを含むことを特徴とする動作制御方法。
【請求項９】
利用者の操作情報に基づいて制御対象物の動きを制御するようにコンピュータを機能させる動作制御プログラムにおいて、
前記利用者が行った操作に関する操作情報を入力する操作入力手段、
前記入力された操作情報に基づいて、前記制御対象物の目標位置を計算して制約条件を算出する制約条件算出手段、
予め与えられた複数種類の姿勢情報に基づいて学習がなされた姿勢学習モデル情報、及び前記制約条件に基づいて、所定の型を持たない姿勢の変化を制御する姿勢制御手段、
予め与えられた複数種類の動作情報に基づいて学習がなされた各動作ごとの複数の動作学習モデル情報、及び前記制約条件に基づいて、所定の型を持つ前記制御対象物の主要部位の動作を制御する動作制御手段、
前記操作情報に基づいて、姿勢の変化の制御、又は制御対象物の任意の部位の動作の制御を切り替える制御切替手段、
前記姿勢制御手段、及び動作制御手段が計算した結果に基づいて、当該計算結果を追従して前記制御対象物の姿勢を計算する追従制御手段としてコンピュータを機能させることを特徴とする動作制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者の操作情報に基づいて制御対象物の動きを制御する動作制御装置等に関する。
【背景技術】
【０００２】
現在、コンピュータゲームなどのインタラクティブなアプリケーションにおいて、利用者がキャラクタに行わせることのできる動作の自由度は非常に限られている。現在のインターフェースとしては、ゲームパッド、マウス、キーボードなどの入力機器を使用し、利用者がボタンを押すことで、歩行、パンチ、キックなどの予め決められた動作を実行するというものが一般的である。キャラクタの動作は、予め作成された短い動作データを再生することで実現されており、利用者が動作の姿勢や速度などのスタイルを自在に変えたり、新しい動作を作り出したりすることはできない。
【０００３】
しかし、キャラクタを自由に操作できるインターフェースは、例えば、格闘ゲームにおいてキャラクタに様々な格闘動作を行わせたり、３次元仮想世界等でのアバターを用いたコミュニケーションにおいてアバターに身振り手振りなどのジェスチャを行わせたり、音楽に合わせてキャラクタがダンスするアニメーションを制作したりといった、多様な動作をインタラクティブに表現することが要求される用途で非常に重要となる。
【０００４】
近年、統計学的アプローチを用いて、与えられた制約条件を満たす自然な姿勢や動作を生成する、Ｓｔｙｌｅ−ｂａｓｅｄ  ＩＫ（Ｓｔｙｌｅ−Ｂａｓｅｄ  Ｉｎｖｅｒｓｅ  Ｋｉｎｅｍａｔｉｃｓ：逆運動学計算）手法が提案されている（非特許文献１ないし３を参照）。Ｓｔｙｌｅ−ｂａｓｅｄ  ＩＫでは、あらかじめ多数の姿勢を低次元の潜在空間に写像することで、学習モデルを構築し、制約条件が与えられると、潜在空間内で制約条件を満たす姿勢（座標）を探索し、潜在空間内で周囲の複数の姿勢をブレンドすることで姿勢を計算する。
【０００５】
利用者が操作しているキャラクタの各部位の位置を制約条件として、Ｓｔｙｌｅ−ｂａｓｅｄ  ＩＫを適用することで、キャラクタの姿勢を生成できる。しかし、Ｓｔｙｌｅ−ｂａｓｅｄ  ＩＫをキャラクタの操作に利用するにはいくつかの問題がある。まず、一つ目の問題として、異なる種類の動作の姿勢を一つの学習モデルで表現することはできないということがある。姿勢が多数になると潜在空間へうまく写像できない、また、同じ制約条件でもどのような姿勢が期待されるかは動作によって異なるため、適切な姿勢が求められないといった問題が生じる。二つ目の問題として、３次元空間での部位の軌道が与えられたときに、与えられた軌道の制約条件を満たす潜在空間での軌道が連続になるとは限らない。そのため、部位の制約位置を連続的に変化させたとしても、出力姿勢も滑らかに変化するとは限らず、動作としては不自然になってしまう。
【０００６】
また、利用者の操作に応じてキャラクタの動作を生成する技術として、例えば、マウスやペンなどのインターフェースを用いて入力された１点の座標や軌道をもとに動作を生成する手法が研究されている。利用者がマウスやペンを用いて仮想空間の地面の上に軌道を描画し、その軌道に応じてキャラクタの歩行動作を生成するシステムは、多数開発されている（非特許文献４を参照）。
【０００７】
利用者がキャラクタの腰の軌道を描画したときに、入力された線の形（ジェスチャ）に応じて動作を選択することで、歩行、走行以外に、ジャンプや宙返りなどの動作を行わせるシステムが提案されている（非特許文献５を参照）。また、利用者が、動作の起点にな
る対象から、動作の終点になる対象に向かって画面上に線を引くことで、その２つの対象に応じて適切な動作を選択して実行する手法が提案されている（非特許文献６を参照）。
【０００８】
さらに、姿勢ではなく動作全体を統計モデルで表現することで、入力された部位の軌道に応じた動作生成を実現する技術が提案されている（非特許文献７を参照）。
【０００９】
さらにまた、予め利用者がキー姿勢を表すマーカを仮想空間上に配置しておき、利用者がマウスを操作したときのマウス座標と各マーカとの距離に応じて各キー姿勢をブレンドすることで、利用者が動作を生成できるインターフェースが提案されている（非特許文献８を参照）。
【００１０】
さらにまた、マウス操作により単純な多関節体の一部の関節のみの動きを操作し、全身の動きをＰＤ制御と動力学シミュレーションを用いて生成する手法が提案されている（非特許文献３を参照）。
【００１１】
さらにまた、３次元空間中でマーカを動かすことで、キャラクタの一部の部位の動きを入力するシステムが提案されている（非特許文献９を参照）。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】Keith  Grochow,  Steven  L.  Martin,  Aaron  Hertzmann,  Zoran  Popovic.  "Style-based  Inverse  Kinematics".ACM  Transactions  on  Graphics,  Vol.23,  Issue  3,  pp,522-531,  2004.
【非特許文献２】Hyun  Joon  Shin  and  Jehee  Lee.  Motion  Synthesis  and  Editing  in  Low-Dimensional  Spaces.  Computer  Animation  and  Virtual  Worlds  (CASA  2006),  Volume  17,  Issue  3-4,  pp.219-227,  2006.
【非特許文献３】Joe  Laszlo,  Michael  Neff,  Karan  Singh,  "Predictive  Feedback  for  Interactive  Control  of  Physics-based  Characters",  EUROGRAPHICS  2005,  pp.257-265,  2005.
【非特許文献４】Sang  Il  Park,  Hyun  Joon  Shin,  Sung  Yong  Shin,  "On-line  locomotion  generation  based  on  motion  blending",  Proc.  of  ACM  SIGGRAPH  Symposium  on  Computer  Animation  2002,  pp.105-111,  2002.
【非特許文献５】M.  Thorne,  D.  Burke.  M.  van  De  Panne.  "Motion  Doodles:  An  Interface  for  Sketching  Character  Motion",  ACM  Transactions  of  Graphics(Proc.  of  SIGGRAPH  2004),  Vol.23,  Issue  3,  pp.424-431,  2004.
【非特許文献６】Masaki  Oshita,  "Motion  Control  with  Strokes",  Computer  Animation  and  Virtual  Worlds,  Vol.16,  Issues  3-4,  pp.237-244,  October  2005.
【非特許文献７】Jianyuan  Min,  Yen-Lin  Chen,  Jinxiang  Chai."Interactive  Generation  of  Human  Animation  with  Deformable  Motion  Models",  ACM  Transactions  on  Graphics,  Vol.29,  Issue  1,  Article  No.9,  2009.
【非特許文献８】Takeo  Igarashi,  Tomer  Moscovich,  John  F.  Hughes.  "Spatial  Keyframing  for  Performance-driven  Animation",  ACM  SIGGRAPH/Eurographics  Symposium  on  Computer  Animation  2005,  pp.253-258,  2005.
【非特許文献９】Mira  Dontcheva,  Gray  Yngve,  Zoran  Popovic,  "Layered  Acting  for  Character  Animation",  ACM  Transactions  of  Graphics(Proc.  of  SIGGRAPH  2003),  Vol.22,  Issue  3,pp.409-416,  2003.
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述したようにＳｔｙｌｅ−ｂａｓｅｄ  ＩＫをキャラクタの操作に利用するには、異なる種類の動作の姿勢を一つの学習モデルで表現することはできないという課題を有する。また、姿勢が多数になると潜在空間へうまく写像できず、同じ制約条件でもどのような姿勢が期待されるかは動作によって異なるため、適切な姿勢が求められないといった課題を有する。さらに、３次元空間での部位の軌道が与えられたときに、部位の制約位置を連続的に変化させたとしても、出力姿勢も滑らかに変化するとは限らず、動作としては不自然になってしまうという課題を有する。
【００１４】
非特許文献３に示す技術は、人間の自然な動きを提案手法で生成することは困難であるという課題を有する。非特許文献４に示す技術は、キャラクタに行わせることができる動作が、歩行や走行の動作に限られてしまうという課題を有する。非特許文献５、６に示す技術は、入力に応じて動作を選択して再生するだけであるため、動作中の姿勢や動きを細かく制御することができないという課題を有する。
【００１５】
非特許文献７に示す技術は、動作全体をブレンドして再生するため、動作を途中で止めたり戻したり、自由に姿勢を変化させたりするといったことはできないという課題を有する。非特許文献８に示す技術は、自然な動作を生成するためには、適切な位置にキー姿勢を配置し、適切なタイミング、位置にポインタを動かす必要があり熟練を要するという課題を有する。また、Ｓｔｙｌｅ−ｂａｓｅｄ  ＩＫと同様、一組のキー姿勢だけで異なる種類の動作に対応することは難しいという課題を有する。非特許文献９に示す技術は、一度に一つの部位しか操作できないため、動作を作成するためには何度も入力を繰り返す必要があり、動作の操作には適さないという課題を有する。
【００１６】
市販のアニメーションソフトウェアは、ＩＫを用いてキー姿勢を変更できる機能があるが、リアルタイムに動作を制御することはできない。原理的には、マルチタッチ入力とＩＫを組み合わせて、複数の部位を同時に動かすことで、動作を制御できるが、自然な動きを生成するためには、多数の部位を同時に操作する必要があるため、現実的に利用することは難しい。先述の通り、Ｓｔｙｌｅ−ｂａｓｅｄ  ＩＫには、制約条件を連続的に変化させたとしても出力姿勢が連続的に変化するとは限らないという問題があるため、姿勢操作には向いているが、動作操作には適していない。非特許文献１、２においても、潜在空間に描画された軌道から動作生成、キーフレームの姿勢を変化させることで動作変形などの応用は行われているが、３次元空間もしくは画面上の軌道からの動作生成は行われていない。
【００１７】
そこで、本発明は一般に利用者がキャラクタを操作する場合、姿勢を変化させる姿勢制御と、パンチやキックなどの何らかの型のある動作を行わせる動作制御の２種類の制御があることに注目し、姿勢制御、及び各動作の動作制御に、異なる学習モデルを使用する。また、両制御において、学習モデルを用いた姿勢計算方法を使い分ける。使用する学習モデルは、利用者の操作に応じて切り替える。また、姿勢制御時に連続的な姿勢が出力されるとは限らないという問題や、単純に連続的に姿勢を生成するだけでは物理的に不自然な動きとなる可能性があるという問題、学習モデルの切り替え時に姿勢が急激に変化する問題を解決するため、物理シミュレーションを用いた追従制御を適用した動作制御装置等を提供する。
【課題を解決するための手段】
【００１８】
本願に開示する動作制御装置は、利用者の操作情報に基づいて制御対象物の動きを制御する動作制御装置において、前記利用者が行った操作に関する操作情報を入力する操作入力手段と、前記入力された操作情報に基づいて、前記制御対象物の目標位置を計算して制約条件を算出する制約条件算出手段と、予め与えられた複数種類の姿勢情報に基づいて学習がなされた姿勢学習モデル情報、及び前記制約条件に基づいて、所定の型を持たない姿
勢の変化を制御する姿勢制御手段と、予め与えられた複数種類の動作情報に基づいて学習がなされた各動作ごとの複数の動作学習モデル情報、及び前記制約条件に基づいて、所定の型を持つ前記制御対象物の主要部位の動作を制御する動作制御手段と、前記操作情報に基づいて、姿勢の変化の制御、又は制御対象物の任意の部位の動作の制御を切り替える制御切替手段と、前記姿勢制御手段、及び動作制御手段が計算した結果に基づいて、当該計算結果を追従して前記制御対象物の姿勢を計算する追従制御手段とを備えるものである。
【００１９】
このように、本願に開示する動作制御装置においては、姿勢学習モデル情報、及び制約条件に基づいて、所定の型を持たない姿勢の変化を制御し、複数の動作学習モデル情報、及び制約条件に基づいて、所定の型を持つ制御対象物の主要部位の動作を制御し、それらの制御の切り替えを行う制御切替手段を備えるため、多数の姿勢であっても潜在空間にうまく写像することができ、異なる種類の動作を同時に制御することができるという効果を奏する。
【００２０】
本願に開示する動作制御装置は、前記操作入力手段が、複数の系の操作情報を同時に入力するマルチ入力であるものである。
【００２１】
このように、本願に開示する動作制御装置においては、複数の系の操作情報を同時に入力するマルチ入力であるため、複数種類の動作や姿勢を同時に制御することで、制御対象の動きの自由度を大きくし、利用者の意図が反映された動作の制御を行うことができるという効果を奏する。
【００２２】
本願に開示する動作制御装置は、前記追従制御手段が、前記操作情報に含まれない前記制御対象物の部位について、物理シミュレーションで動きを計算するものである。
【００２３】
このように、本願に開示する動作制御装置においては、操作情報に含まれない前記制御対象物の部位について、物理シミュレーションで動きを計算するため、連続的な姿勢を出力し、物理的に自然な動きを実現し、動作ごとに学習モデルが切り替わる場合であっても急激な動きの変化がなく、自然な動きを実現することができるという効果を奏する。
【００２４】
本願に開示する動作制御装置は、前記制御切替手段が、前記動作学習モデル情報の学習に使用した前記任意の部位の軌道の平均と前記操作情報の軌道との画面上での位置、及び時間の変化の一致度に基づいて、切替の判定を行うものである。
【００２５】
このように、本願に開示する動作制御装置においては、動作学習モデル情報の学習に使用した任意の部位の軌道の平均と操作情報の軌道との画面上での位置、及び時間の変化の一致度に基づいて、切替の判定を行うため、姿勢制御と動作制御とを自動でスムーズに切り替えて、滑らかで自然な動作を実現することができるという効果を奏する。
【００２６】
本願に開示する動作制御装置は、前記制御対象物の動作中に、前記操作情報の入力がなくなるか、又は操作情報の変化がなくなった場合に、前記制御対象物の動作を進めるか戻すかを判定するためのタイミングに関する時間判定情報が予め設定されており、前記動作制御手段が、前記操作情報の入力がなくなるか、又は変化がなくなった場合に、前のフレームの潜在空間における姿勢の標準化時刻、及び前記予め設定された時間判定情報に基づいて、順時間方向に動作を進めるか、又は逆時間方向に動作を進めるかを判定する時間方向判定手段を備え、前記時間方向判定手段の判定結果に基づいて、順時間方向又は逆時間方向に動作を進める制御を行うものである。
【００２７】
このように、本願に開示する動作制御装置においては、動作中に操作情報の入力がなくなるか、又は変化がなくなった場合に、制御対象物が動作を順時間方向に進めるか逆時間
方向に進めるかを判定するため、物理的に自然な動作を実現し、状況に適した動作を実現することができるという効果を奏する。
【００２８】
本願に開示する動作制御装置は、前記制御対象物の動作中に、前記操作情報の変化がなくなった場合に、前記制御対象物の動作を静止するか否かを判定するためのタイミングに関する静止判定情報が予め設定されており、前記動作制御手段が、前記操作情報の変化がなくなった場合に、前のフレームの潜在空間における姿勢の標準化時刻、及び前記予め設定された静止判定情報に基づいて、前記制御対象物の動作を静止するか否かを判定する静止判定手段を備え、前記静止判定手段の判定結果に基づいて、動作を順時間方向もしくは逆時間方向に進めて制御するか、又は前のフレームと同じ動作の姿勢を維持する制御を行うものである。
【００２９】
このように、本願に開示する動作制御装置においては、動作中に操作情報の変化がなくなった場合に、制御対象物が動作を静止するか否かを判定するため、物理的に自然な動作を実現し、状況に適した動作を実現することができるという効果を奏する。
【００３０】
本願に開示する動作制御装置は、前記動作制御手段が、前記操作情報の入力が前のフレームから変化している場合に、前記入力された操作情報についての制約条件を満たす動作姿勢を生成し、当該生成した動作姿勢の標準化時刻が、前のフレームにおける動作姿勢の時刻から所定の閾値の範囲内であるか否かを判定する時間制御判定手段を備え、前記時間制御判定手段の判定結果に基づいて、前記生成された動作姿勢の標準化時刻が、所定の閾値の範囲内である場合は、当該生成された動作姿勢で制御し、前記所定の閾値の範囲外である場合は、前記生成された動作姿勢に向かって潜在空間内を所定の時間、順時間方向又は逆時間方向に時間を進め、当該進めた時刻における潜在空間内の位置に基づいて前記動作姿勢を合成して制御するものである。
【００３１】
このように、本願に開示する動作制御装置においては、必要に応じて動作姿勢を合成することで、特に急激な動作姿勢の変化に対しても、連続性を考慮した自然な動きを実現することができるという効果を奏する。
【図面の簡単な説明】
【００３２】
【図１】第１の実施形態に係る動作制御装置の操作入力の一例を示す図である。
【図２】第１の実施形態に係る動作制御装置における姿勢制御用の潜在空間の一例を示す図である。
【図３】第１の実施形態に係る動作制御装置における複数の動作の開始軌道の例を示す図である。
【図４】第１の実施形態に係る動作制御装置における動作状態を示す図である。
【図５】第１の実施形態に係る動作制御装置における動作制御用の潜在空間の一例を示す図である。
【図６】第１の実施形態に係る動作制御装置のハードウェア構成図である。
【図７】第１の実施形態に係る動作制御装置の機能ブロック図である。
【図８】第１の実施形態に係る動作制御装置における動作制御部の機能ブロック図である。
【図９】第１の実施形態に係る動作制御装置における追従制御部の機能ブロック図である。
【図１０】第１の実施形態に係る動作制御装置の動作を示すフローチャートである。
【図１１】第１の実施形態に係る動作制御装置における動作制御処理を示すフローチャートである。
【図１２】第１の実施形態に係る動作制御装置における追従制御処理を示すフローチャートである。
【発明を実施するための形態】
【００３３】
以下、本発明の実施の形態を説明する。本発明は多くの異なる形態で実施可能である。従って、本実施形態の記載内容のみで本発明を解釈すべきではない。また、本実施形態の全体を通して同じ要素には同じ符号を付けている。
【００３４】
（本発明の第１の実施形態）
本実施形態に係る動作制御装置について、図１ないし図１２を用いて説明する。図１は、本実施形態に係る動作制御装置の操作入力の一例を示す図、図２は、本実施形態に係る動作制御装置における姿勢制御用の潜在空間の一例を示す図、図３は、本実施形態に係る動作制御装置における複数の動作の開始軌道の例を示す図、図４は、本実施形態に係る動作制御装置における動作状態を示す図、図５は、本実施形態に係る動作制御装置における動作制御用の潜在空間の一例を示す図、図６は、本実施形態に係る動作制御装置のハードウェア構成図、図７は、本実施形態に係る動作制御装置の機能ブロック図、図８は、本実施形態に係る動作制御装置における動作制御部の機能ブロック図、図９は、本実施形態に係る動作制御装置における追従制御部の機能ブロック図、図１０は、本実施形態に係る動作制御装置の動作を示すフローチャート、図１１は、本実施形態に係る動作制御装置における動作制御処理を示すフローチャート、図１２は、本実施形態に係る動作制御装置における追従制御処理を示すフローチャートである。
【００３５】
本実施形態に係る動作制御装置は、図１に示すように、マルチタッチ入力に基づき、毎フレームのキャラクタの姿勢を制御して出力するものである。なお、入力機器は、マルチ入力をサポートするものであればよく、例えば複数のポインタ、複数のマウス等を用いる構成であってもよい。
【００３６】
マルチタッチ入力により、利用者がキャラクタの部位をタッチ・ドラッグすると、各タッチ点ごとに部位・目標位置の制約条件が生成され、その制約条件にもとづいて、出力姿勢が計算される。ここで、目標位置の制約条件は、２次元の画面上の位置であるため、実際には、３次元空間の直線となる。
【００３７】
先述の通り、本実施形態においては、姿勢制御時と動作制御時によって、学習モデルを切り替えて使用する。また、動作制御については、動作の種類ごとに異なる学習モデルを使用する。システムは、初期状態では姿勢制御を使用する。利用者がキャラクタの部位を動かしたときの軌道が、あらかじめ用意されたいずれかの動作に近ければ、その動作の学習モデルに切り替えて、動作制御を行う。利用者の入力により、実行中の動作が終了したときには、姿勢制御を使用する状態に戻る。
【００３８】
また、本実施形態では、自然な姿勢変化を実現するため、姿勢制御・動作制御による姿勢をそのまま出力するのではなく、追従制御を用いて出力姿勢を生成する。本実施形態では、キャラクタの部位以外の場所をタッチしたときの動作や、ピンチ・スワイプなどのマルチタッチによるジェスチャを行ったときの動作は、特に定義されていないため、これらは、アプリケーションに応じて、例えば視点操作などの別の機能に割り当てることができる。
【００３９】
姿勢制御について説明する。本実施形態における姿勢制御は、キャラクタが姿勢を変えたり、手や足を自由に動かしたりするような、特定の動作の型にはまらない動きの操作を目的としたものである。本実施形態では、Ｓｔｙｌｅ−ｂａｓｅｄ  ＩＫの手法を用いて姿勢を生成する。データ構造としては、姿勢制御と動作制御のそれぞれにおいて、異なる姿勢計算方法を用いる。
【００４０】
姿勢制御においては、予め与えられた姿勢情報に基づいて学習したモデルを用いる。サンプル姿勢を低次元の潜在空間（本実施形態では２次元の潜在空間を使用）に写像する方法として、幾つかの手法があるが（例えば、非特許文献１、２を参照）、本実施形態の実装では、多次元尺度構成法（ＭＤＳ）を用いて、サンプル姿勢同士の距離が潜在空間上でもできる限り近くなるよう写像する手法を用いる。サンプル姿勢間の距離は、腰の位置と体の向きが一致するよう両姿勢を移動・回転した上で、全関節の距離の平均により計算する。
【００４１】
学習に使うサンプル姿勢には、キャラクタが立った状態でのさまざまな姿勢変化を含む動作データから姿勢を取り出して使用する。また、キャラクタに各動作を行わせる場合も、動作開始判定が行われる前の動作の初期の姿勢は、姿勢制御を用いて生成されることになるため、各動作の学習に用いる動作データの開始部分の姿勢も使用する（動作開始判定、動作制御については詳細を後述する）。また、全てのサンプル姿勢について、左右にミラーリングした姿勢も学習に使用する。図２に学習結果の潜在空間の例を示す。
【００４２】
利用者からの入力により、一つまたは複数の部位の目標位置が指定されると、学習モデルを用いて、指定された制約条件に近い姿勢を生成する。指定された制約条件に対応する潜在空間の座標を探索し、周囲のサンプル姿勢を合成することで姿勢を生成する。
【００４３】
予め潜在空間をグリッドに分け、グリッドごとの代表となるサンプル姿勢を求めておき、それらと入力された制約条件を比較することで、効率的に探索を行うことができる。このとき、利用者が画面上で入力する制約条件は、画面上の２次元の座標であるため、三次元空間の直線に対応する。この直線と、サンプル姿勢の部位の位置との距離の平均値を計算することで、制約姿勢とサンプル姿勢の距離が求まる。入力された制約条件に最も合うグリッドが求まったら、その周囲のグリッドのサンプル姿勢と制約条件の距離を計算し、距離に応じてサンプル姿勢を合成（加重平均）することで姿勢を計算する。姿勢の合成は、関節の回転をブレンドすることにより行う。腰の位置・向きについては、サンプル姿勢を取り出したときの元の動作の開始状態からの相対的な移動・回転をブレンドし、姿勢制御開始時のキャラクタの位置・向きに加えることで計算する。
【００４４】
Ｓｔｙｌｅ−ｂａｓｅｄ  ＩＫにより生成した姿勢は、なるべく制約条件を満たすようサンプル姿勢を合成したものであるため、制約条件を完全に満たすとは限らない。そこで、本実施形態では、出力結果の姿勢に、従来のＩＫ計算を適用して、制約条件を満たすように変形する。本実施形態の実装では、比較的高速なＣＣＤ（Ｃｙｃｌｉｃ−Ｃｏｏｒｄｉｎａｔｅ−Ｄｅｓｃｅｎｔ）  ＩＫ手法を用いる。
【００４５】
上述したように、Ｓｔｙｌｅ−ｂａｓｅｄ  ＩＫでは、３次元空間で連続した制約条件の軌道を与えたときに、潜在空間でも連続した軌道になることは保証されないため、利用者がキャラクタの部位を連続的に動かしたとしても、潜在空間での座標は不連続な点に移動してしまい、結果的に急激に姿勢が変化する可能性がある。本実施形態では、姿勢制御においては、この問題は考慮せず、単純に姿勢を生成し、追従制御の処理を加えることで出力姿勢が連続になるようにする。後述する動作制御と同様に、潜在空間上で徐々に座標を変化させる方法を用いることもできるが、特に動きの型があるわけではない姿勢制御においては、そのような方法で連続的な姿勢変化を生成したとしても、意味のある動作になるとは限らないため、上記のような方法を用いる。
【００４６】
また、Ｓｔｙｌｅ−ｂａｓｅｄ  ＩＫにより動作を生成する場合、単純に制約条件に合う姿勢を連続的に生成しているだけであるため、動作として自然になるとは限らない。例えば、現実の人間の動作であれば、ある部位を急に動かすると、動きを急激に止めること
はできないため、動きを止めた後でも体が動いたり、動かした部位以外の部位にも力が伝わって揺れたり、といった動きが生じる。このような動作を再現するためには、何らかの方法で力学的な要素を考慮して動作を生成する必要がある。本実施形態では、この問題についても、後述する追従制御を用いることで解決する。
【００４７】
次に、動作制御について説明する。動作制御は、何らかの型のある動作の操作を目的としたものである。姿勢制御中に、利用者がキャラクタに何らかの動作を行うような入力をした場合、その動作に対応する動作制御に切り替える。
【００４８】
動作の開始条件は、利用者が部位を動かした画面上の軌道と、動作の部位の動き画面に投影した軌道との距離により判定する。予め各動作には、動作の主要部位を手動で指定し（例えば、右手でパンチをする動作であれば主要部位は右手など）、その動作の学習に使用した全動作データの当該部位の平均軌道を求めておく。図３に動作の開始軌道の例を示す。
【００４９】
利用者がその部位を動かしたときに、入力軌道と動作軌道の間の画面上での位置・時間変化の一致度から動作制御の開始判定を行う。一致度の計算では、両方の軌道を画面座標・時刻の配列により表現し、まずは、動的計画法により最も近い点同士の組み合わせを先頭から順番に求める。そして、各点同士の画面上での距離の平均値、及び入力・動作開始時間からの相対時間の差の平均値の合計により一致度を求める。一致度が閾値以下であれば、その動作の動作制御に切り替える。
【００５０】
なお、動作開始の判定のとき、視点によっては動作軌道が画面に対して垂直に近くなってしまい、軌道を入力しにくかったり、誤認識の可能性が高くなったりしてしまう。そこで、軌道全体を表すベクトルを予め計算しておき、そのベクトルと視線ベクトルとの間の角度が一定値以下の動作は、開始判定の候補から除くようにする。例えば、利用者がキャラクタにパンチ動作を行わせたいときには、キャラクタを正面から見た状態では行わせることはできず、視点を操作してキャラクタを側面から見る状態にした上で、パンチ動作を行うようにキャラクタの手先を動かす必要がある。一般に、利用者がキャラクタに何らかの動作を行わせたいときには、動きを入力しやすいよう視点を変えることは自然であるため、このような視点に関する制約を導入することは妥当であると考えられる。図３の例では、実行可能な動作の軌道が点線、実行不可能な動作の軌道が実線で示されている。
【００５１】
動作制御では、基本的には姿勢制御で用いたものと同様の手法により動作を生成する。しかし、動作制御では、型に従って動作する必要がある。例えば、パンチ動作において、利用者が急激に手先の位置を前に動かしたとしても、急にその位置に合った姿勢になるのではなく、パンチの動作を行いながら、その姿勢になる必要がある。ただし、動作制御では、動作を必ずしも順方向に実行するだけではなく、動きを逆の方向に戻したり、同じ動きを繰り返したりすることもあるため、そのような動作の生成にも対応する必要がある。
【００５２】
一方、利用者が部位の位置を固定するように入力を続けたとしても、不自然な姿勢で動きを静止させることは望ましくない。例えば、歩く途中の足を動かしている途中の姿勢で静止したり、ジャンプ中に空中で静止したりすると、物理的に正しくない不自然な動作になってしまう。同じく、利用者が動作の途中で入力をやめてしまった（全ての指を離した）ときには、動作の途中の姿勢で静止するのではなく、動作開始時点の姿勢に戻るか、動作を最後まで実行してしまうことが期待される。本実施形態では、このような制約も考慮して姿勢を生成する。
【００５３】
まず、各動作の学習処理では、サンプル姿勢を潜在空間に写像する際に、姿勢だけではなく、サンプル姿勢の動作時刻（もとの動作データでの動作開始時を０、終了時を１とし
たときの標準化時刻）と、以下の動作状態を記録しておく。
（１）静止可否：静止を許すか／許さないか
（２）自動再生：操作をやめた際に開始姿勢まで逆方向に再生するか／終了姿勢まで順方向に再生するか
上記の各種類の状態は独立であるため、種類ごとに状態を設定する。例えば、各動作データに手作業で状態の区間を指定しておき、その情報をもとに各サンプル姿勢の状態を決定するようにしてもよい（図４を参照）。また、動作制御のための潜在空間の例を図５に示す。図５では、もとの動作中で連続する姿勢（点）同士が線で結ばれており、各点は時刻の情報も含まれている。
【００５４】
姿勢生成時には、上記の目的を満たすために、連続性を考慮した動作生成を行う。まずは、姿勢制御時と同様、入力された制約条件にもとづいて、潜在空間内での座標を探索する。このとき、座標に対応する姿勢だけではなく、動作の標準化時刻もブレンドして求める。前フレームの動作時刻と探索姿勢の動作時刻の間が離れている場合は、探索姿勢を出力する代わりに、探索姿勢に向かって潜在空間内で一定時間を進めた（又は戻した）姿勢を出力する。各サンプル姿勢に、次の時刻の姿勢へのベクトルを記録しておくことで、潜在空間内でどちらの方向に進むかを決定する。
【００５５】
動作制御中に利用者が入力をやめた場合には、現在の姿勢の状態に基づいて、順方向に再生するか、逆方向に再生するかを決定し、上記と同様に潜在空間における進行方向のベクトルを求めて、姿勢を生成する。動作の終了姿勢に達した場合は、動作制御を終了し、姿勢制御の状態に戻る。姿勢制御と動作制御の間で制御方法を切り替える際、両者に共通のサンプル姿勢を含むようにしたとしても、姿勢が急激に変化し、不自然な動作になる可能性がある。本実施形態では、この問題についても、後述する追従制御を導入することにより解決する。
【００５６】
次に、追従制御について説明する。追従制御は、姿勢制御・動作制御により計算された目標姿勢にもとづいて、キャラクタの姿勢を変化させることで、自然な動作を生成することを目的とする。上述の通り、姿勢制御には姿勢が連続的に変化するとは限らない、身体を動かしたときの揺れなど物理法則にもとづく動きには対応できない、といった問題がある。また、姿勢制御・動作制御の切り替え時に姿勢が急激に変化する可能性がある。本実施形態では、物理シミュレーションを用いた追従制御を適用することでこれらの問題を解決する。
【００５７】
追従制御では、姿勢制御や動作制御により出力された姿勢を目標姿勢として、目標姿勢に追従するようなＰＤ制御を行い、物理シミュレーションによってキャラクタの姿勢変化を計算する。ＰＤ制御は、非特許文献３や参考文献１（Victor  B.Zordan,  Anna  Majkowska,  Bill  Chiu,  Matthew  Fast.  "Dynamic  Response  for  Motion  Capture  Animation",  ACM  Transaction  of  Graphics(Proc.  of  SIGGRAPH  2005),  Vol.24,  Issue  3,  pp.697-701,  2005）等でも広く使われているが、目標姿勢に近づくよう個々の関節を独立に制御するため、緩慢な動きとなってしまうなど、人間らしい自然な動作は再現できない。そこで、本実施形態では、姿勢制御中、及び制御切り替え直後の、利用者が直接操作していない部位にのみ追従制御結果の姿勢を用いる。他の部位については、姿勢制御・動作制御による姿勢をそのまま用いる。
【００５８】
本実施形態では、参考文献１と同様の手法を用い、追従制御による姿勢を計算する。姿勢制御・動作制御の出力から目標姿勢が決まったら、ＰＤ制御により、各関節のトルクを計算する。このトルクに従って、動力学シミュレーションを行うことにより、姿勢変化を計算する。下半身の姿勢変化に関しては、同様にＰＤ制御を用いて、腰の並進移動力・回転トルクを求め、動力学シミュレーションに適用する。このとき、全身の姿勢のうち、利
用者が操作をしていない部位の関節のみ、追従制御の結果を使用する。人体を、右肩〜右手、左肩〜左手、腰〜首、下半身、の範囲に分け、それぞれの範囲ごとに、利用者が操作をしている部位が全くなければ、追従制御の結果の関節角度を使用する。追従制御を用いることで、連続的な姿勢変化を実現する。また、例えば、姿勢制御中に右腕を動かしたときに、腰や左腕なども揺れが伝わって若干動くような、学習モデルに含まれていない動きも再現できる。
【００５９】
図６に、本実施形態に係る動作制御装置のハードウェアの構成を示す。動作制御装置１は、システムプログラムや各種プログラム（例えば、姿勢制御プログラム、動作制御プログラム等）が格納されているＲＯＭ１３と、各種データ（例えば、姿勢学習情報、動作学習情報等）が格納されているＨＤ（ハードディスク）１４と、各種プログラム等が必要に応じて読み出され、ＣＰＵ１１の作業領域として用いられるＲＡＭ１２と、読み出されたプログラム等に基づいて実際の演算を実行するＣＰＵ１１と、他の装置（例えば、ネットワークを通じてオンラインとなっている他の端末等）と通信を行うためのインタフェースである通信Ｉ／Ｆ１５と、コントローラ、ゲームパッド、キーボード、マウス等の入力機器からの入力を受け付けたり、ディスプレイ、プリンタ等にデータを出力するためのインタフェースである入出力Ｉ／Ｆ１６とを備える。この入出力Ｉ／Ｆ１６として、例えば家庭用ゲーム装置ではゲームプログラムが格納されている、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の光ディスクやゲームカセットに対応するドライブ等に加え、ＵＳＢ、ＲＳ２３２Ｃ等も含まれる。
【００６０】
図７に、本実施形態に係る動作制御装置の機能ブロック図を示す。動作制御装置１は、操作情報入力部２１と制約条件演算部２２と動作選択・切替部２３と動作制御部２４と姿勢制御部２５と追従制御部２６と姿勢学習モデル情報２７と動作学習モデル情報２８とディスプレイ３０とを備える。動作選択・切替部２３は、さらに動作選択部２３１と切替部２３２とを備える。
【００６１】
操作情報入力部２１は、利用者が行った操作に関する操作情報２９を入力する。利用者が行う操作として、コントローラ、ゲームパッド、キーボード、マウス等を用いた操作が含まれるが、ディスプレイ上のキャラクタの動きの自由度を増すために、本実施形態では特にマルチタッチデバイスを用いることが望ましい。
【００６２】
制約条件演算部２２は、操作情報入力部２１で入力された操作情報２１（ここでは、マルチタッチデバイスを用いたマルチタッチの操作情報とする）に基づいて、利用者がタッチしたタッチ点ごとに部位・目標位置（２次元画面上の座標）の制約条件を生成する。
【００６３】
動作選択・切替部２３は、キャラクタが姿勢を変えたり、手足を自由に動かしたりするような特定の動作の型にはまらない姿勢制御中に、何らかの型のある動作の操作が入力された場合に、その動作に対応する動作学習モデル情報２８を動作選択部２３１が選択し、切替部２３２が、その動作制御に切り替える。具体的には、上述したように、動作の主要部位を指定し、その動作の学習に使用した全動作データの当該部位の平均軌道と、操作により入力された入力軌道との間の画面上での位置・時間変化の一致度により切り替えの判定を行う。
【００６４】
姿勢制御部２５は、制約条件と、予め与えられた姿勢情報に基づいて学習がなされた姿勢学習モデル情報２７とに基づいて出力姿勢を計算することで、特定の動作の型にはまらない動きを制御する。
【００６５】
動作制御部２４は、動作選択・切替部２３が姿勢制御から動作制御に切り替えると共に、特定の動作を選択した場合に、その選択した動作に対応する動作学習モデル情報２８に
基づいて出力姿勢を計算することで、型のある動作を制御する。ここでは、動作学習モデル情報２８の作成時に、潜在空間内の各座標における動作の標準化時刻を記録しておき、動作の姿勢を生成する場合には、潜在空間内の座標に対応する姿勢だけでなく、動作の標準化時刻も求めることで上述したように連続性を実現する。
【００６６】
ここで、動作制御部２４についてさらに詳細に説明する。図８において、動作制御部２４は、静止判定部３１と時間方向判定部３２と動作時間制御判定部３３と動作時間制御部３４と姿勢計算部３５とを備える。
【００６７】
静止判定部３１は、例えば部位の位置を固定するような入力（マルチタッチのタッチ位置が固定）がある場合に、動作の途中であっても動作を静止するかどうかを、標準化時刻と予め設定された動作の区間におけるタイミング情報（図４を参照）とに基づいて判定する。静止する場合には、姿勢計算部３５が前のフレームと同じ動作姿勢を維持する姿勢計算を行い、静止しない場合には、以下に説明する時間方向の判定を行う。
【００６８】
時間方向判定部３２は、例えば部位の位置を固定するような入力があるものの動作を静止できない状態である場合や、利用者が動作の途中で入力を辞めてしまった（マルチタッチから全ての指を離した）ような場合に、順方向に時間を進めるか逆方向に時間を進めるかを、標準化時刻と予め設定された動作の区間におけるタイミング情報（図４を参照）とに基づいて判定する。判定の結果に応じて、動作時間制御部３４が順時間方向、又は逆時間方向に時間を制御し、姿勢計算部３５が姿勢を計算する。
【００６９】
動作時間制御判定部３３は、入力された操作情報についての制約条件を満たす動作姿勢の標準化時刻（一旦、姿勢計算部３５にて姿勢計算された計算情報における標準化時刻）が、前のフレームの潜在空間における動作姿勢の標準化時刻から所定の時刻の範囲内であるかどうかを判定する。所定の時刻の範囲内であれば、姿勢計算部３５がそのまま動作姿勢の計算を行う。所定の時刻の範囲外であれば、動作時間制御部３４が、順時間方向又は逆時間方向に時間を制御し、姿勢計算部３５が、その時刻における動作姿勢を合成して、姿勢の計算を行う。
【００７０】
図７に戻って、追従制御部２６は、姿勢制御部２５の制御、及び動作制御部２４により計算された目標姿勢に基づいて、姿勢を変化させて自然な動作を生成してディスプレイ３０に出力する。
【００７１】
ここで、追従制御部２６についてさらに詳細に説明する。図９において、追従制御部２６は、関節トルク算出部４１と物理シミュレーション部４２と入力部位特定部４３と出力姿勢特定部４４とを備える。この追従制御部２６は、動作制御中は処理を行わず動作姿勢をそのまま出力姿勢とする。
【００７２】
関節トルク算出部４１は、前のフレームの姿勢を目標姿勢に近づけるためにＰＤ制御により関節トルクを計算する。物理シミュレーション部４２は、計算した関節トルクに基づいて、動力学シミュレーションを行って姿勢を求める。ここで求められる姿勢を更新姿勢とする。入力部位特定部４３は、操作情報の入力がある部位と操作情報の入力がない部位とを、それぞれ特定する。出力姿勢設定部４４は、操作情報の入力がある部位については、目標姿勢の関節角度を出力姿勢に設定し、操作情報の入力がない部位については、更新姿勢の関節角度を出力姿勢に設定する。
【００７３】
図１０は、動作制御装置の処理手順を示すフローチャートである。まず、マルチタッチによる入力情報が、操作情報２９として操作情報入力部２１に入力される（Ｓ１１）。制約条件演算部２２が、タッチ点ごとに部位と目標位置の制約条件を演算する（Ｓ１２）。
初期状態では姿勢制御部２５が姿勢制御を行い（Ｓ１３）、動作が入力された場合に、動作選択・切替部２３が対応する動作の選択と制御の切り替えを行う。動作制御部２４は、選択された動作学習モデル情報に基づいて動作制御を行う（Ｓ１４）。
【００７４】
ここで、ステップＳ１４の動作制御の処理手順について、図１１を用いてさらに詳細に説明する。動作制御が開始されると、まず操作情報の入力があるかどうかを判定し（Ｓ２１）、入力がない場合は、時間方向判定部３２が、標準化時刻と予め設定された動作の区間におけるタイミング情報とに基づいて、時間方向の判定を行う（Ｓ２５）。順時間方向の場合は、動作姿勢を順時間方向（目標姿勢に進める方向）に進めて制御し（Ｓ２６）、逆時間方向の場合は、動作姿勢を逆時間方向（前の姿勢に戻す方向）に進めて制御して（Ｓ２７）、処理を終了する。
【００７５】
Ｓ２１で入力がある場合は、入力された操作情報が前のフレームと同じであるかどうかを判定し（Ｓ２２）、同じである場合は、静止判定部３１が静止判定を行い（Ｓ２３）、異なる場合は、動作時間制御判定部３３が動作時間の制御を行うかどうかの判定を行う（Ｓ２８）。Ｓ２３で静止判定部３１が静止しないと判定した場合は、前記で説明したＳ２５以降の処理を行う。静止判定部３１が静止すると判定した場合は、前のフレームと同じ動作姿勢を維持する制御をして（Ｓ２４）、処理を終了する。
【００７６】
Ｓ２８で動作時間制御判定部３３が動作時間の制御をしないと判定した場合は、入力された操作情報についての制約条件に従って、そのまま動作姿勢を制御して（Ｓ２９）、処理を終了する。動作時間を制御すると判定した場合は、順時間方向又は逆時間方向に所定時間だけ進めた時刻における動作姿勢を合成して制御し（Ｓ３０）、処理を終了する。なお、ここで言う所定時間だけ進めた時刻とは、合成判定部３３が、合成をするかどうかを判定する際に用いた、所定の時刻未満の範囲内である。
【００７７】
図１０に戻って、上記姿勢制御、動作制御により、目標姿勢を計算し（Ｓ１５）、追従制御部２６が追従制御を行う（Ｓ１６）。
【００７８】
ここで、ステップＳ１６の追従制御の処理手順について、図１２を用いてさらに詳細に説明する。追従制御が開始されると、まず制御モードが動作制御か姿勢制御かを判定する（Ｓ３１）。動作制御の場合は、目標姿勢をそのまま出力し（Ｓ３２、Ｓ３３）、処理を終了する。姿勢制御の場合は、関節トルクを計算し（Ｓ３４）、関節トルクに基づく動力学シミュレーションを実行する（Ｓ３５）。操作情報の入力がある部位とない部位とを特定し、入力がある部位については、目標姿勢に関節角度を設定して出力する動作姿勢として設定し、入力がない部位については、動力学シミュレーションで求めた更新姿勢に関節角度を設定して出力する動作姿勢として設定し（Ｓ３６）、動作姿勢を出力処理して（Ｓ３３）、処理を終了する。
【００７９】
図１０に戻って、追従制御された出力姿勢をディスプレイ３０に表示して（Ｓ１７）、処理を終了する。
【００８０】
以上の前記実施形態により本発明を説明したが、本発明の技術的範囲は実施形態に記載の範囲には限定されず、これら実施形態に多様な変更又は改良を加えることが可能である。
【実施例】
【００８１】
上記実施形態に示す手法を実装した。この実装したシステムを使用して、キャラクタの操作を行い、期待した通りの操作が行えることが確認された（図１を参照）。また、姿勢制御から動作制御に移る際の判定については、概ね正しく判定された。さらに、入力され
た部位の位置によっては、不自然な姿勢になってしまうことが稀にあったが、これは入力された制約条件を満たすように、Ｓｔｙｌｅ−ｂａｓｅｄ  ＩＫの後に従来のＩＫを適用して、姿勢を修正しているためであると考えられる。この問題は、より多数のサンプル姿勢を追加したり、ＩＫによる姿勢の修正を制限したりすることで、解決することができる。
【００８２】
開発したシステムを用いて実際にキャラクタの操作を行ってみた結果、利用者の操作に応じて、利用者が行わせようとしている動作を選択し、その動作を実現する工夫がなされているため、一つの部位を動かすだけでも、想定した動作が実現できていた。さらに、マルチタッチで複数の操作入力を同時に行った場合には、姿勢制御中に複数の部位を動かしたり、動作制御中に姿勢を変えて動きに変化をつけたりすることができた。また、キャラクタを操作する際には、必ずしも部位を動かすだけでなく、ある部位は動かさないように固定したい、ということもあり、そのような要求も、マルチタッチにより実現することができた。
【００８３】
画面を直接タッチして操作を行うと、画面が手で隠れてしまうため見にくくなるときがある。そのため、前の動作が終わるまでキャラクタの部位をタッチできず、次の動作を先行して入力することができない、といった問題がある。これらの問題については、複数の画面を用いたり、動作終了時の姿勢を仮に表示して操作できるようにしたり、といった解決方法が考えられる。
【００８４】
また、操作可能な動作の種類に関する問題として、予め登録されている動作以外の動作は実現できない、という問題がある。また、例えば、歩きながら手を振るなど、複数の動作の組み合わせも、実現が難しい。キャラクタの移動に関しては、現在は歩行動作や方向転換動作を腰の移動に応じて実行することは可能だが、任意の軌道に沿って歩かせるようなことは難しい。移動動作に関しては、特殊な動作判定・生成の手法を利用して、腰をある程度の距離以上ドラッグするとその軌道に応じてキャラクタを歩き回らせる、といった拡張が考えられる。
【符号の説明】
【００８５】
１  動作制御装置
１１  ＣＰＵ
１２  ＲＡＭ
１３  ＲＯＭ
１４  ＨＤ
１５  通信Ｉ／Ｆ
１６  入出力Ｉ／Ｆ
２１  操作情報入力部
２２  制約条件演算部
２３  動作選択・切替部
２３１  動作選択部
２３２  切替部
２４  動作制御部
２５  姿勢制御部
２６  追従制御部
２７  姿勢学習モデル情報
２８  動作学習モデル情報
２９  操作情報
３０  ディスプレイ
３１  静止判定部
３２  時間方向判定部
３３  合成判定部
３４  動作姿勢合成部
３５  制御処理部
４１  関節トルク算出部
４２  物理シミュレーション部
４３  入力部位特定部
４４  出力姿勢設定部
【図６】
0005458245.tif 000002
【図７】
0005458245.tif 000003
【図８】
0005458245.tif 000004
【図９】
0005458245.tif 000005
【図１０】
0005458245.tif 000006
【図１１】
0005458245.tif 000007
【図１２】
0005458245.tif 000008
【図１】
0005458245.tif 000009
【図２】
0005458245.tif 000010
【図３】
0005458245.tif 000011
【図４】
0005458245.tif 000012
【図５】
0005458245.tif 000013