(57)【要約】      （修正有）【課題】複数の動作データを組み合わせて、新しい自然な動作データを自動的に生成する動作合成システムを提供する。【解決手段】入力部は、複数の動作データ、時間軸上での配置、及び、動作データの時刻の自動調整を指定する。動作解析部は、動作データを解析し、各時刻において、動作対象の足が地面と接触するよう拘束条件を検出する。動作自動配置部では、時間軸上での配置の自動調整が指定された動作データについて、拘束条件にもとづいて、当該動作データをなるべく早く開始することができ、かつ、他の動作データと最も適切に動作合成できるように、時間を調整する。動作区間決定部は、出力動作を時間軸上で複数の動作区間に分割し、各動作区間における動作合成方法を決定する。動作合成部は、動作区間決定手段によって決定された動作区間、合成方法に従って、入力動作データを合成、全体としてひとつの連続した動作データを生成する。【選択図】図３
2009037572.tif 000002
【特許請求の範囲】
【請求項１】
利用者が入力する複数の動作データと、各動作データの時間軸上での配置の情報に従い、入力された複数の動作データを合成して、ひとつの動作データを生成する動作合成システムであって、利用者が入力する複数の動作データと、各動作データの時間軸上での配置の情報を受け取る入力手段と、入力された各動作データを解析して、動作データの各時刻において、動作対象の足が地面と接触しているかという拘束条件を検出する動作解析手段と、
動作データ、及び、拘束条件にもとづいて、出力動作を時間軸上で複数の動作区間に分割し、各動作区間おける、出力動作の生成に用いる動作合成方法を決定する動作区間決定手段と、前記動作区間決定手段によって決定された動作区間、動作合成方法に従って、それぞれの動作区間ごとに、入力動作データを合成して出力動作を生成し、全体としてひとつの連続した動作データを生成する動作合成手段とを有すること、を特徴とする動作合成システム。
【請求項２】
前記動作区間決定手段において、各動作区間における、出力動作の生成に使用する動作合成方法を、１つの動作の動作区間をそのまま使用する動作複製、２つの動作の動作区間同士を混合する動作遷移、２つの動作のうち、前の動作が、後の動作になめらかに接続するように、前の動作を変形するする動作接続、２つの動作のうち、後の動作が、前の動作になめらかに接続するように、後の動作を変形するする動作適応、２つの動作の間に、２つの動作をなめらかに接続するような動作を挿入する動作挿入手段、２つの動作を複合して新たな動作を生成する動作複合、の複数の動作合成方法のうちから、動作データ、及び、拘束条件にもとづいて決定し、前記動作合成手段において、動作区間決定手段において決定された動作区間、動作合成方法に従って、それぞれの動作区間ごとに、動作複製、動作遷移、動作接続、動作適応、動作挿入、動作複合、のいずれかの動作合成方法を用いて出力動作を生成すること、を特徴とする請求項１に記載の動作合成システム。
【請求項３】
前記入力手段において、利用者が入力する各動作データの時間軸上での配置の自動調整を行うかどうかの情報を受け取り、動作データ、及び、拘束条件にもとづいて、時間軸上での配置の自動調整が指定された動作データの時間軸上での配置を決定する動作自動配置手段を有すること、を特徴とする請求項１または請求項２に記載の動作合成システム。
【請求項４】
利用者が入力する複数の動作データと、各動作データの時間軸上での配置の情報に従い、入力された複数の動作データを合成して、ひとつの動作データを生成する動作合成システムであって、利用者が入力する複数の動作データと、各動作データの時間軸上での配置の情報を受け取る入力手段と、入力された各動作データを解析して、動作データの各時刻において、動作対象の足が地面と接触しているかという拘束条件を検出する動作解析手段と、
動作データ、及び、拘束条件にもとづいて、出力動作を時間軸上で複数の動作区間に分割し、各動作区間おける、出力動作の生成に用いる動作合成方法を決定する動作区間決定手段と、前記動作区間決定手段によって決定された動作区間、動作合成方法に従って、それぞれの動作区間ごとに、入力動作データを合成して出力動作を生成し、全体としてひとつの連続した動作データを生成する動作合成手段とを有すること、を特徴とする動作合成プログラム。
【請求項５】
前記動作区間決定手段において、各動作区間における、出力動作の生成に使用する動作合成方法を、１つの動作の動作区間をそのまま使用する動作複製、２つの動作の動作区間同士を混合する動作遷移、２つの動作のうち、前の動作が、後の動作になめらかに接続するように、前の動作を変形するする動作接続、２つの動作のうち、後の動作が、前の動作になめらかに接続するように、後の動作を変形するする動作適応、２つの動作の間に、２つの動作をなめらかに接続するような動作を挿入する動作挿入手段、２つの動作を複合して新たな動作を生成する動作複合、の複数の動作合成方法のうちから、動作データ、及び、拘束条件にもとづいて決定し、前記動作合成手段において、動作区間決定手段において決定された動作区間、動作合成方法に従って、それぞれの動作区間ごとに、動作複製、動作遷移、動作接続、動作適応、動作挿入、動作複合、のいずれかの動作合成方法を用いて出力動作を生成すること、を特徴とする請求項４に記載の動作合成プログラム。
【請求項６】
前記入力手段において、利用者が入力する各動作データの時間軸上での配置の自動調整を行うかどうかの情報を受け取り、動作データ、及び、拘束条件にもとづいて、時間軸上での配置の自動調整が指定された動作データの時間軸上での配置を決定する動作自動配置手段を有すること、を特徴とする請求項４または請求項５に記載の動作合成プログラム。
【請求項７】
利用者が入力する複数の動作データと、各動作データの時間軸上での配置の情報に従い、入力された複数の動作データを合成して、ひとつの動作データを生成する動作合成システムであって、利用者が入力する複数の動作データと、各動作データの時間軸上での配置の情報を受け取る入力工程と、入力された各動作データを解析して、動作データの各時刻において、動作対象の足が地面と接触しているかという拘束条件を検出する動作解析工程と、
動作データ、及び、拘束条件にもとづいて、出力動作を時間軸上で複数の動作区間に分割し、各動作区間おける、出力動作の生成に用いる動作合成方法を決定する動作区間決定工程と、前記動作区間決定工程によって決定された動作区間、動作合成方法に従って、それぞれの動作区間ごとに、入力動作データを合成して出力動作を生成し、全体としてひとつの連続した動作データを生成する動作合成工程とを有すること、を特徴とする動作合成手法。
【請求項８】
前記動作区間決定工程において、各動作区間における、出力動作の生成に使用する動作合成方法を、１つの動作の動作区間をそのまま使用する動作複製、２つの動作の動作区間同士を混合する動作遷移、２つの動作のうち、前の動作が、後の動作になめらかに接続するように、前の動作を変形するする動作接続、２つの動作のうち、後の動作が、前の動作になめらかに接続するように、後の動作を変形するする動作適応、２つの動作の間に、２つの動作をなめらかに接続するような動作を挿入する動作挿入手段、２つの動作を複合して新たな動作を生成する動作複合、の複数の動作合成方法のうちから、動作データ、及び、拘束条件にもとづいて決定し、前記動作合成工程において、動作区間決定手段において決定された動作区間、動作合成方法に従って、それぞれの動作区間ごとに、動作複製、動作遷移、動作接続、動作適応、動作挿入、動作複合、のいずれかの動作合成方法を用いて出力動作を生成すること、を特徴とする請求項７に記載の動作合成手法。
【請求項９】
前記入力工程において、利用者が入力する各動作データの時間軸上での配置の自動調整を行うかどうかの情報を受け取り、動作データ、及び、拘束条件にもとづいて、時間軸上での配置の自動調整が指定された動作データの時間軸上での配置を決定する動作自動配置工程を有すること、を特徴とする請求項７または請求項８に記載の動作合成手法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータアニメーションやコンピュータゲームなどの制作に利用される、複数の既存の動作データを組み合わせて、新しい動作データを生成する、動作合成手法に関するものである。
【背景技術】
【０００２】
コンピュータアニメーションやコンピュータゲームなどの作品を制作するためには、これらに登場するキャラクタの動きを表す、動作データを作成する必要がある。しかし、一般に、動作データの作成は、非常に手間のかかる困難な作業である。そこで、既存の動作データをうまく再利用することで、新しい動作データを制作したい、という要求がある。例えば、「歩く」、「キックする」、「手を振る」といった、基本的な動きを行う動作データがあらかじめ作成されていれば、これらの動作データを合成することで、「歩いてからキックする」、「歩きながら手を振る」、といった、より長い複雑な動作を生成することができる。しかしながら、このように、複数の動作データを適切に合成し、新しい動作データを生成するのは、容易な作業ではない。
【０００３】
市販のアニメーション編集ソフトウェア（Autodesk社のMotion Builderや、Avid社のSoftimageなど）には、このような、複数の動作データを合成して、新しい動作データを生成するための機能を備えたものがある。しかし、このようなソフトウェアの機能は、単純に複数の動作データを混合して新しい動作を生成するだけであるため、生成される動作データは、そのままでは不自然な動作となり、直接利用することは難しい。自然な動作を生成するためには、利用者は、これらのソフトウェア上で、動作を混合する範囲を適切に設定したり、足が不自然に動かないように足を固定する拘束条件を設定したり、動作の各区間における再生速度を適切に設定したり、といった動作編集の作業が必要になる。このような作業には、動作合成に関する専門知識が必要であり、また、多くの作業時間がかかってしまう。
【０００４】
そこで、このような手間のかかる作業を必要とせず、利用者が、複数の動作データと、各動作をどのようなタイミングで行うかという、各動作データの時間軸上での配置の情報（各動作の開始・終了時刻の情報）を与えると、適切な動作合成方法を決定し、新しい動作データを自動的に生成するような動作合成システムが必要とされている。複数の動作データを利用して新しい動作データを生成するための方法として、より高度な、さまざまな方法が提案されている。例えば、特許文献１、非特許文献１、非特許文献２などの方法が挙げられる。しかし、これらの方法は、適用可能な動作データの種類が限られていたり、あらかじめ動作データに対して利用者が前処理を行う必要があったり、利用に際して細かいパラメタを設定する必要があったりするため、上記のような、これらの方法を用いて容易な動作合成を行うことは難しい。
【０００５】
以下、本背景に関連のある文献を列挙する。
【特許文献１】望月義幸, 中俊弥, 動作データ接続方法および装置, 特願平9-277225
【非特許文献１】Charles Rose,Michael F. Cohen, Bobby Bodenheimer. Verbs andAdverbs: Multidimensional Motion Interpolation. IEEE Computer Graphics andApplications, Vol.18, No.5, pp.32-40, 1998
【非特許文献２】Lucas Kovar, Michael Gleicher, Fedderic Pighin. Motion Graphs.Proc. of SIGGRAPH 2002, pp. 473-482, 2002
【非特許文献３】S. Menardais, R. Kulpa, F. Multon, B. Arnaldi.Synchronization for dynamic blending of motions. ACM SIGGRAPH/Eurographics 2004, pp. 325-335, 2004
【非特許文献４】Charles Rose,Brian Guenter, Bobby Bodenheimer,Michael F. Cohen. Efficient Generation of Motion Transitions using Spacetime Constraints. SIGGRAPH '95 Proceedings,pp.147-154, 1995
【非特許文献５】Hyun Joon Shin, Jehee Lee, Michael Gleicher, Sung Young Shin. Computer Puppetry: AnImportance-Based Approach, ACM Transactions on Graphics, Vol. 18, Issue 1, pp.38-45, 1998
【非特許文献６】Masaki Oshita, Motion-Capture-Based Avatar Control Framework inThird-Person View Virtual Environments. ACM SIGCHI International Conference onAdvances in Computer Entertainment Technology 2006 (ACE 2006), 9 pages (DVDProceedings), Hollywood, U.S.A., June 2006
【非特許文献７】黒瀬 能聿, 3次元図形処理工学, 共立出版, 1999
【発明の開示】
【発明が解決しようとする課題】
【０００６】
背景技術で述べた問題を解決するための方法として、複数の動作データと、各動作データの時間軸上での配置の情報が与えられたとき、動作データの各時刻における地面と足の拘束条件（足が地面に触れているかどうかという情報）にもとづいて、もとの動作データのどの動作区間同士を混合するかどうかを決定する手法が提案されている。（非特許文献３参照）しかし、この手法では、動作合成に用いる手法として、常に動作混合という一種類の方法しか使用しないため、例えば、足の動きが少ない動作データや、足の動きが合わない動作データ同士が入力されたとき、自然な動作を生成することができないという問題がある。そこで、さまざまな動作データに対応するためには、入力された動作データや、動作データの拘束条件にもとづいて、適切な動作合成方法を使い分ける手法が必要である。
【０００７】
本発明は、このような課題を解決し、複数の動作データと、各動作をどのようなタイミングで行うかという各動作データの時間軸上での配置の情報（各動作の開始・終了時刻の情報）を与えると、合成動作のどの動作区間に対して、どの動作合成方法を用いて動作を生成するのが適切であるかを自動的に判定し、各動作区間での動作合成を行うことで、自然な動作データを自動的に生成する動作合成システムを提供するものである。
【課題を解決するための手段】
【０００８】
本発明による動作合成システムは、利用者が入力する複数の動作データと、各動作データの時間軸上での配置の情報に従い、入力された複数の動作データを合成して、ひとつの動作データを生成する動作合成システムであって、利用者が入力する複数の動作データと、各動作データの時間軸上での配置の情報を受け取る入力手段と、入力された各動作データを解析して、動作データの各時刻において、動作対象の足が地面と接触しているかという拘束条件を検出する動作解析手段と、動作データ、及び、拘束条件にもとづいて、出力動作を時間軸上で複数の動作区間に分割し、各動作区間おける、出力動作の生成に用いる動作合成方法を決定する動作区間決定手段と、前記動作区間決定手段によって決定された動作区間、動作合成方法に従って、それぞれの動作区間ごとに、入力動作データを合成して出力動作を生成し、全体としてひとつの連続した動作データを生成する動作合成手段とを有する。
【０００９】
本動作合成システムにより、利用者が入力する、複数の動作データと、各動作データをどのように時間軸上に配置するかという情報に従い、合成動作の各区間ごとに、どのような合成手法を適用するかを自動的に決定することで、入力された複数の動作データを合成して、ひとつの動作データを生成することができる。
【００１０】
また、本動作合成システムを、前記動作区間決定手段において、各動作区間における、出力動作の生成に使用する動作合成方法を、１つの動作の動作区間をそのまま使用する動作複製、２つの動作の動作区間同士を混合する動作遷移、２つの動作のうち、前の動作が、後の動作になめらかに接続するように、前の動作を変形するする動作接続、２つの動作のうち、後の動作が、前の動作になめらかに接続するように、後の動作を変形するする動作適応、２つの動作の間に、２つの動作をなめらかに接続するような動作を挿入する動作挿入手段、２つの動作を複合して新たな動作を生成する動作複合、の複数の動作合成方法のうちから、動作データ、及び、拘束条件にもとづいて決定し、前記動作合成手段において、動作区間決定手段において決定された動作区間、動作合成方法に従って、それぞれの動作区間ごとに、動作複製、動作遷移、動作接続、動作適応、動作挿入、動作複合、のいずれかの動作合成方法を用いて出力動作を生成する、動作合成システムとすることができる。
本動作合成システムにより、入力された動作データにおける拘束条件と、各動作データの開始・終了時刻に応じて、複数の動作合成方法のうちの適切な動作合成方法を適用することができる。
【００１１】
また、本動作合成システムを、前記入力手段において、利用者が入力する各動作データの時間軸上での配置の自動調整を行うかどうかの情報を受け取り、動作データ、及び、拘束条件にもとづいて、時間軸上での配置の自動調整が指定された動作データの時間軸上での配置を決定する動作自動配置手段を有する、動作合成システムとすることができる。
【００１２】
本システムにより、利用者が、各動作データの正確な開始・終了時刻を指定する代わりに、利用者が入力した仮の開始・終了時刻をもとに、の動作データと最も適切に動作合成できるように、当該動作データの適切な開始・終了時刻を、自動的に調整するような、動作合成システムとすることができる。
【発明の効果】
【００１３】
本発明により、複数の動作データと、各動作をどのようなタイミングで行うかという、各動作データの時間軸上での配置の情報（各動作の開始・終了時刻の情報）を与えると、入力された動作情報や、動作データを解析して得られた動作データの各時刻における拘束条件にもとづいて、合成動作のどの動作区間に対して、どの動作合成方法を用いて動作を生成するのが適切であるかを自動的に判定し、各動作区間での動作合成を行うことで、自然な動作データを生成することができるため、少ない手間で動作合成を実現することが可能となる。
【００１４】
また、本発明を用いることで、利用者が入力動作データの時間軸上での配置を変更すると、入力に応じた出力動作を即座に生成することができるため、利用者は対話的に動作合成を行いながら、動作データを制作することが可能となる。そのため、動作データの編集に関して専門知識を持たない初心者であっても、試行錯誤をしながら、望むような動作データを容易に制作できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について、図面を用いて詳細に説明する。
【００１６】
本実施形態のシステム構成は、パーソナル・コンピュータを利用することで構築できるが、用いるハードウェアはこれに限らず、例えば、アニメーション表示処理に特化されている家庭用ゲーム機などであってもよい。
【００１７】
［１．システム概要］
図１に、本システム全体の入出力を表す。利用者は、複数の動作データ、及び、それぞれの動作データの時間軸上での配置（動作の開始・終了時刻）を、グラフィカルユーザインターフェースを用いてシステムに入力する。また、それぞれの動作について、時刻の自動調整を行うかどうかを設定することができる。本システムは、これらの情報にもとづき、入力された複数の動作データを合成して、ひとつの連続した動作データを合成動作として出力する。図１の例では、５個の入力動作（立ちキック、垂直ジャンプ、歩きキック、歩行、手を振る）と、それぞれの開始・終了時刻が与えられており、これら５つの動作データを合成した結果の合成動作（立ちキック、垂直ジャンプ、歩きキック、手を振りながら歩行を続けて行う動作）が出力されている。図中上部の５本の短い長方形（21）は、各入力動作データの時間軸上での配置を表している。また、図中下部の下の１本の長い長方形（22）は、合成動作を表している。
【００１８】
図２は、図１の入力動作のひとつを示したものである。入力動作データを表す長方形の内部に描かれている２段の細い長方形（25・26）は、各時刻における両足と地面の間の拘束条件を表している。上段の長方形（25）が右足と地面の間の拘束条件、下段の長方形（26）が左足と地面の間の拘束条件である。長方形が表示されている区間は、足が地面に接していることを表す。これらの拘束条件は、後述する動作解析処理により、入力された動作データから自動的に検出される。また、図１の合成動作を表す長方形（22）中の縦線は、合成動作の各区間を表している。この例では、合成動作は全体で７つの各区間に分けられ、それぞれの区間ごとに、入力されたどの動作データをどのように合成して出力動作を生成するかが決定されている。この動作区間の情報は、後述する動作区間決定処理により、入力された動作データから自動的に決定される。
【００１９】
本システムのグラフィカルユーザインターフェースの例としては、図１のように、入力動作の情報（21）や出力動作（22）を画面に表示し、利用者はマウス操作によって、入力動作データ（21）を左右にドラッグすることで、動作データの時間配置を容易に変更できるようなインターフェースを提供することができる。利用者が動作データの時間配置を変更すると、合成動作が即座に変更されて、アニメーションとして再生されるため、利用者は、変更の結果をすぐに確認することができる。このように、対話的に合成動作を変更できるようなインターフェースを提供することで、利用者は、試行錯誤しながら、利用者の望む合成動作を容易に作成することができる。本システムに入力として与える動作データは、市販のアニメーション編集システムや、モーションキャプチャシステムなどを用いて作成することができる。同様に、動作データをアニメーションとして画面に表示するための、人体の形状モデルなども、従来の技術を用いて作成することができる。
【００２０】
［２．システム構成］
図３に、本システムのシステム構成を示す。本システムは、入力部、動作解析処理、動作自動配置処理、動作区間決定処理、動作合成処理の各処理からなる。入力部（11）は、グラフィカルユーザインターフェースを用いて、利用者の入力を受け取る。利用者が入力するのは、複数の動作データ、それぞれの動作データの時間軸上での配置（動作の開始・終了時刻）、及び、それぞれの動作データの時刻の自動調整を行うかどうかの指定、の情報である。動作解析部（12）は、入力されたそれぞれの動作データを解析し、動作データの各時刻において、動作対象の足が地面と接触しているかという拘束条件を検出する。動作自動配置部（13）では、入力において、時間軸上での配置の自動調整が指定された動作データについて、動作データ、及び、拘束条件にもとづいて、当該動作データをなるべく早く開始することができ、かつ、他の動作データと最も適切に動作合成できるように、当該動作データの時間を調整する。
【００２１】
動作区間決定部（14）は、出力動作を時間軸上で複数の動作区間に分割し、各動作区間において、どの入力動作データをどのように合成して出力動作を生成するかという動作合成方法を決定する。動作合成方法としては、後述する、動作複製、動作遷移、動作接続、動作適応、動作挿入、動作複合のいずれかの方法を選択する。動作合成部（15）は、前記、動作区間決定手段によって決定された動作区間、合成方法に従って、それぞれの動作区間ごとに、入力動作データを合成して出力動作を生成し、全体としてひとつの連続した動作データを生成する。
【００２２】
以下、本システムの詳細について、動作解析処理、動作区間決定・動作合成で使用する各動作合成方法、動作区間決定処理、動作自動配置処理、動作合成処理の順に説明する。
【００２３】
［３．動作解析］
本システムの動作解析部で行う、動作解析処理について説明する。動作解析処理では、入力された各動作データの各時刻における、各足と地面の間の拘束条件を判定する。一般に、人体の動作において、足が地面に接しており、足に力が加わっている場合（足が動いていない場合）は、足と地面に拘束条件があると判断される。そこで、動作データの各時刻において、足の移動速度（一定時刻前の足の位置からの足の移動量）が一定の値以下であり、足の高さが一定の値以下であれば、足と地面の間に拘束関係があると判断する。各動作データについて、各時刻、各足における、拘束条件の有無を判定し、結果として、図 2に示されるように、拘束条件のある区間、及び、拘束条件のない区間の範囲の情報として、記録する。
【００２４】
［４．動作合成方法］
本システムの動作区間決定部、及び、動作合成部の説明に先立ち、動作区間決定処理・動作合成処理で使用する各動作合成方法について説明する。
【００２５】
［４．１．動作複製］
動作複製とは、動作データの一部の区間の動作を、そのまま出力動作に使用する方法である。他の動作データとの合成が必要のない区間については、動作複製を適用し、もとの動作データの動作をそのまま使用する。
【００２６】
［４．２．動作遷移］
動作遷移とは、２つの動作データを続けて実行するときに、前後の動作データの動作区間の動作同士を混合し、前後の動作データの間でなめらかに動作を遷移させる方法である。動作遷移は、２つの動作データが、共通の足を動かす区間（足に拘束条件がない区間）を共に持っているとき（例えば、２つの動作データの両方で、右足を動かす区間があるとき）に、適用することができる。このとき、足を動かす区間の動作同士を混合することで、前後の動作データをなめらかにつなげる。
【００２７】
図４に、動作遷移を含む動作合成の例を示す。本例では、動作１（31〜33）と動作２（34〜36）の２つの動作データを合成し、出力動作（37〜39）を生成している。このとき、動作１と動作２には、共に、共通の足を動かす区間（足に拘束条件がない区間）があるとする（32・35）。図４では、動作１（31〜33）と動作２（34〜36）は、この区間、及び、前後の区間の３つの区間に分けられている。このとき、この共通の足を動かす区間同士（32・35）の動作を混合することで、動作遷移（38）を実現する。出力動作は３つの区間（37〜39）に分けられ、それぞれの区間ごとに、動作合成方法を決定する。最初の区間（37）には、動作１の一部の区間（31）を、動作複製によりそのまま使用する。また、出力動作の最後の区間（39）には、動作２の一部の区間（36）を、動作複製によりそのまま使用する。動作遷移の区間（38）において、動作１から動作２に遷移するように、２つの区間同士（32・35）の動作を混合する。
【００２８】
動作混合の方法について、以下に、図４の例に即して、具体的に説明する。なお、動作混合は、一般的に用いられている技術であり、非特許文献１などに、詳細な記述がある。動作混合では、２つの動作データの対応する姿勢同士の関節の回転角度を、徐々に変化するような割合で混合することで、各時刻の姿勢を求める。このとき、動作混合を行う区間（38）の開始時刻をTbegin、終了時刻をTendとする。また、動作混合に用いる、動作１の区間（32）の開始・終了時刻をT1beginとT1end、動作２の区間（35）の開始・終了時刻をT2beginとT2end、とする。このとき、動作混合によって、動作１におけるi番目の関節の回転角度R1i(t)、動作２におけるi番目の関節の回転角度R2i(t)から、動作混合区間におけるi番目の関節の回転角度Ri(t)を求める。
【００２９】
動作混合を行うためには、各時刻に対応する、もとの動作の時刻を求める必要がある。動作混合の区間（Tbegin〜Tend）と、もとの動作１の区間（T1begin〜T1end）は、異なるため、何らかの関数を用いて、前者の時刻tに対応する後者の時刻t1を決定する。最も簡単な方法としては、式（１）のような、線形変換の関数を用いることができる。
【００３０】
【数１】
2009037572.tif 000003
（１）
【００３１】
同様に、動作混合の区間（Tbegin〜Tend）の時刻ｔに対応する、もとの動作２の区間（T2begin〜T2end）の時刻t2も求めることができる。
【００３２】
【数２】
2009037572.tif 000004
（２）
【００３３】
このとき、時刻tがTbegin〜Tendに変化するに従って、0〜1に値が単調増加するような重み関数w(t)を用いることで、時刻tにおける動作混合の姿勢（i番目の関節の関節角度）を求めることができる。
【００３４】
【数３】
2009037572.tif 000005
（３）
【００３５】
このとき、重み関数w(t)の例としては、三角関数などを用いることができる。
【００３６】
【数４】
2009037572.tif 000006
（４）
【００３７】
式（１）〜（４）にもとづき、各時刻の各関節の回転角度を計算することで、動作遷移の区間（38）における、合成動作の姿勢が計算できる。
【００３８】
［４．３．動作接続］
動作接続とは、２つの動作データを続けて実行するときに、前の動作が後の動作になめらかに接続するように、前の動作を変形する方法である。
【００３９】
動作遷移は、前の動作データが、足を動かす区間（足に拘束条件がない区間）を持っているときに、適用することができる。このとき、足を動かす区間の動作を変形し、当該区間の動作の終了姿勢が、次の動作の姿勢になるようにすることで、前後の動作データをなめらかにつなげる。図５に、動作接続を含む動作合成の例を示す。本例では、動作１（41〜43）と動作２（44〜46）の２つの動作データを合成し、出力動作（47〜49）を生成している。このとき、動作１には、足を動かす区間（足に拘束条件がない区間）があるとする（42）。また、動作２には、動作１で動かした足を動かさない区間（足に拘束条件がある区間）があるとする（45）。このとき、動作１の足を動かす区間の動作を変形し、終了姿勢が、動作２の足を動かさない区間の開始姿勢となるようにすることで、動作接続（48）を実現する。なお、出力動作の最初の区間（47）には、動作１の一部の区間（41）を、動作複製によりそのまま使用する。また、出力動作の最後の区間（49）には、動作２の一部の区間（46）を、動作複製によりそのまま使用する。動作接続の区間（48）において、動作１から動作２に接続するように、動作１の動作区間（32）の動作と、動作２の足を動かさない区間（45）の開始姿勢を混合する。
【００４０】
動作と姿勢を混合する方法は、動作遷移で使用した動作混合の方法と、基本的に同様である。動作混合の式（３）を、動作２の区間の動作の代わりに、動作２の区間の開始姿勢を使うように変更する。
【００４１】
【数５】
2009037572.tif 000007
（５）
【００４２】
式（１）、（４）、（５）にもとづき、各時刻の各関節の回転角度を計算することで、動作接続の区間（48）における、合成動作の姿勢が計算できる。
【００４３】
［４．４．動作適用］
動作適応とは、２つの動作データを続けて実行するときに、前の動作が後の動作になめらかに接続するように、前の動作の変形に加えて、次の動作の足の動きを変形する方法である。
【００４４】
前記、動作遷移・動作接続は、前の動作における、足を動かす区間（足に拘束条件がない区間）に注目し、足を動かす際に次の動作に遷移・接続する方法である。これらの方法は、前の動作において、足を動かす区間がなければ、適用することはできない。動作適応は、前の動作データが、足を動かす区間を持っていないときであっても、適用することができる方法である。上半身の動作については、動作接続と同様に、前の姿勢の最後の区間の動作が、次の動作につながるように、動作を変形する。一方、下半身の動作については、次の動作につながるよう変形することができないため、次の動作が始まっても、前の動作の足の位置を維持するよう、次の動作を変形する。そして、次の動作において、足を動かす区間があったときに、前の動作の足の位置から、次の動作における足を動かす区間の足の位置に戻るように、次の動作を変形する。
【００４５】
図６に、動作接続を含む動作合成の例を示す。本例では、動作１（51〜52）と動作２（53〜55）の２つの動作データを合成し、出力動作（56〜60）を生成している。このとき、動作１には、動作終了部分に、足を動かさない区間（足に拘束条件がある区間）が一定時間あるものとする（52）。また、動作２には、足を動かす区間（足に拘束条件がない区間）があるとする（54）。このとき、動作１から動作２に動作を切り替える際に、動作２の開始姿勢に合わせて足を動かそうとすると、足に拘束条件がある区間に無理やり足を動かすことになり、不自然な合成動作となってしまう。そこで、足は無理に動かさず、上半身の姿勢のみ、動作１から動作２に切り替える。下半身の姿勢については、動作１の終了姿勢を保持し、次に足を動かすときに、足の位置を、動作１の終了姿勢の位置から動作２の動作の位置に徐々に変化させることで、動作適応（57〜59）を実現する。なお、出力動作の最初の区間（56）には、動作１の一部の区間（51）を、動作複製によりそのまま使用する。また、出力動作の最後の区間（60）には、動作２の一部の区間（55）を、動作複製によりそのまま使用する。
【００４６】
動作適応の区間（57〜59）は、３つに区間にさらに分けられる。最初の区間（57）では、上半身の姿勢が動作１から動作２に切り替わるように、上半身の姿勢については、動作１の動作区間（52）の動作と、動作２の最初の区間（53）の開始姿勢を混合する。そして、次の区間（58）では、動作１の終了姿勢（52）の足の位置をそのまま保持するように、動作２の足を動かすまでの区間（53）の動作の、下半身の動きを修正する。最後に、３つ目の区間（59）では、足の位置が、動作１の終了時刻（52）の足の位置から、動作２の足を動かす区間（54）の足に位置になるように、動作２の動作の足の姿勢を変化させる。
【００４７】
動作適応の処理において、動作適応の最初の区間（57）で行う上半身の動作の生成については、前期、動作接続で使用したものと同じ、式（５）で示したような、動作と姿勢を混合する方法が利用できる。一方、下半身の動作の生成については、動作適応の後の２つの区間において、動作１の足の位置・向きにもとづき、動作２の下半身の姿勢を変化させる必要がある。手足の位置・向きの変化にもとづいて、姿勢を変化させる方法として、逆運動学（インバース・キネマティックス）と呼ばれる、一般的な技術を用いることができる。逆運動学については、非特許文献５などに、詳細な記述がある。
【００４８】
動作適応の３つ目の区間において、足の位置P(t)を求める方法も、動作接続で使用した動作混合の方法と同様である。動作１の足の位置P1(t)を、動作２の足の位置をP2(t)とすると、式（３）の関節の回転角度を求める式を、足の位置P(t)を求める式に置き換えることができる。
【００４９】
【数６】
2009037572.tif 000008
（６）
【００５０】
また、足の向きも、同様のやり方で求めることができる。足の位置と向きが決まれば、前記の逆運動学の方法を適用することで、下半身の姿勢を変化させることができる。なお、以上の説明では、動作２に足を動かす区間がある場合の動作適応の方法を説明したが、動作２に足を動かす区間が全くなかったとしても、動作適応を適用することが可能である。この場合、動作適応の１つ目の区間（57）のみを使用し、動作２の動作の最後まで、動作１の最終姿勢の下半身の姿勢が保持されることになる。このとき、動作適応の２つ目・３つ目の区間（58・59）は、使用されない。
【００５１】
［４．５．動作挿入］
動作挿入とは、２つの動作データを続けて実行するときに、前の動作と次の動作の間に、新たな動作を追加し、３つの動作をなめらかに接続する方法である。
【００５２】
前の動作と次の動作の時間間隔が大きく離れているとき、動作遷移・動作接続により動作をつなげると、動作の移り変わりが非常にゆっくりした動きになり、不自然な合成動作になってしまう。また、前の動作の終了部分の姿勢と、次の動作の開始部分の姿勢が大きくなると、もとの動作や姿勢を大きく変形することになってしまい、同じく、不自然な合成動作になってしまう。このように、前後の動作の時間的・姿勢的な距離が大きいときには、前の動作と次の動作をつなぐような適切な挿入動作を、あらかじめ作成された挿入動作のデータベースより探索し、２つの動作の間に挿入する。このとき、２つの動作と、挿入動作の間をつなぐ動作は、前記の、動作挿入・動作接続・動作適応を用いることで、生成することができる。
【００５３】
挿入動作は、あらかじめ適当な動作を十分な数用意して、システムに格納しておく。例えば、両足で立った姿勢で足の位置を変えるような短い動作や、座っている姿勢から立っている姿勢に移るような短い動作を、挿入動作として用意しておく。このとき、挿入動作には、必ず足を動かす区間を含む動作データを使用するようにする。これにより、前の動作と挿入動作の間は、動作適応によりつなぐことができる。このとき、前の動作に足を動かす区間があれば、動作適応以外に、動作遷移や動作接続も適用できる。また、挿入動作と次の動作の間は、動作接続によりつなぐことができる。このとき、次の動作に足を動かす区間があれば、動作接続以外に、動作遷移も適用できる。
【００５４】
図７に、動作挿入を含む動作合成の例を示す。本例では、動作１（61）と動作２（63）の２つの動作データをもとに、検索した挿入動作（62）を加えて、全体を合成して出力動作（64〜68）を生成している。出力動作の各区間（64,66,68）は、各動作データの一部を動作複製によりそのまま使用する。また、各区間の間をつなぐ区間（65,67）の動作は、先述の通り、動作遷移、動作接続、動作適応のいずれかの手法によって生成する。
【００５５】
ここで、動作１と動作２から、両者をつなぐための挿入動作を探索する方法を説明する。動作１と動作２の間をつなぐ挿入動作としては、動作１の終了姿勢と挿入動作の開始姿勢が近く、動作２の開始姿勢と挿入動作の終了姿勢ができるだけ近いものが望ましい。しかし、姿勢は全関節の関節角度として表現され、また、各関節によって関節の動きが姿勢に与える影響は変わるため、単純に姿勢間の距離を評価するのは難しい。姿勢間の距離を評価する方法として、非特許文献２で用いられている人体の表面形状の近さを評価する方法や、手先や足先などの主要な部位同士の距離を評価する方法、非特許文献６などがある。本システムにおいても、例えば、後者の方法を利用することで、姿勢同士の距離を評価することができる。このような方法により、動作１の終了姿勢と挿入動作の開始姿勢の距離と、動作２の開始姿勢と挿入動作の終了姿勢の距離の和が、できるだけ小さくなるような挿入動作を決定することができる。
【００５６】
［４．６．動作複合］
動作複合とは、２つの動作データを同時に実行するときに、一方の動作の一部の部位の動作と、もう一方の動作の別の部位の動作とを組み合わせて、新しい動作を生成する方法である。動作複合は、ある動作の開始・終了時刻の範囲内に、もう一方の開始・終了時刻が完全に含まれているときに、適用される。
【００５７】
図８に、動作複合を含む動作合成の例を示す。本例では、動作１（基本動作）（71）と動作２（追加動作）（72）の２つの動作データを合成し、出力動作（73〜77）を生成している。このとき、基本動作の途中で、一部の部位については、追加動作の動作を行うように、２つの動作の混合、及び、組み合わせを行うことで、動作複合（74〜76）を実現する。なお、出力動作の最初の区間（73）、及び、最後の区間（77）には、動作１の一部の区間（71）を、動作複製によりそのまま使用する。動作複合の区間（74〜76）において、開始後一定区間（74）は、追加動作を使用する部位については、基本動作から追加動作に徐々に変化するように、動作遷移で利用したものと同様の動作混合を行う。同じく、終了前一定区間（76）は、追加動作から基本動作に徐々に変化するように、動作混合を行う。複合動作のそれ以外の区間（75）については、追加動作で使用する部位については追加動作の動きを使用し、それ以外の部位の動きには基本動作を使用して、２つの動作を組み合わせる。また、動作複合の区間（74〜76）全体に渡って、背骨や腰などの一部の関節については、追加動作中のゆれの成分を、出力動作に混合する処理を行なう。
以下、動作複合の処理について、追加動作のどの部位の動作を複合動作に使用するかどうかを判定する方法、追加動作からのゆれの成分の抽出方法、動作複合の計算方法を、順に詳しく説明する。
【００５８】
図９は、動作複合の概要を表している。複合動作に使用する２つの動作のうち、動作時間の長い方の動作を、基本動作とする。また、動作時間の短い方の動作を、追加動作とする。基本的に、基本動作は、下半身の動きを含むような、全身の動作であるとする。また、追加動作は、上半身の動きを含む動作であるとする。このとき、基本動作の一部の関節の動作（主に下半身の関節の動作）をコピーして複合動作に使用（81）し、追加動作の他の関節の動作（主に上半身の関節の動作）をコピーして複合動作に使用（82）することで、両者を組み合わせることで、複合動作を生成する。また、次に述べる通り、追加動作の一部の関節の動作による背骨や腰へのゆれの影響を抽出し、抽出したゆれを基本動作に適用する（83）ことで、より自然な動作を生成する。
【００５９】
複合動作において、単純に別の部位の動作同士を組み合わせるだけでは、互いの部位が独立に動いてしまい、不自然な動作になってしまう。例えば、図９の例のように、歩く動作を基本動作、手を振る動作を追加動作として、後者の右手の関節の動作と、前者の他の関節動作を組み合わせるとする。このとき、手を振る動作では、手の振りに従って、背骨や腰が左右に揺れるような動きがあるが、単純に２つの動作を組み合わせるだけでは、そのようなゆれが消えてしまうため、真っ直ぐ歩きながら手のみを動かして手を振るような、不自然な動作となってしまう。しかし、単純に追加動作の腰の動きを複合動作に使用すると、基本動作の腰の動きが消えてしまったり、追加動作と基本動作で大きく腰の位置が違うとき（例えば、座った姿勢で手を振るような動作を、追加動作として用いるとき）に、ゆれの成分だけでなく位置の差分までも適用されてしまったりするような問題が生じる。非特許文献３、非特許文献４などの従来手法では、単純に２つの動作を組み合わせる方法で動作複合を行っており、上記のような問題を解決できていない。
【００６０】
そこで、このような問題を回避しつつ、より自然な複合動作を生成するために、追加動作から、上半身の動きによって生じる背骨や腰のゆれの成分のみを抽出し、基本動作の背骨や腰の動作に加算することで、追加動作におけるゆれを再現する方法を用いる。
【００６１】
追加動作の動作データが与えられたとき、各部位の動作を追加動作として使用するか、あるいは、ゆれの成分のみを抽出して適用するかどうかを判定する。ここで、追加動作は、基本的に上半身の動作のみを使用することを想定している。一般に、下半身の動作については、下半身の全関節を同期して動作させる必要があるため、複数の動作からの別々の関節の動きを組み合わせても、きちんとした動作にはならない。
【００６２】
そこで、基本的に、下半身の動作については基本動作の動作を使用し、腰の動作や上半身の動作については、追加動作の動作を使用するか、追加動作から抽出したゆれの成分を基本動作の動作に混合する。追加動作が与えられると、まず、右手、左手、背骨の各部位の動きが大きいかどうかを判定し、動きが大きい部位の動きのみを、追加動作として使用する。各部位の動きが大きいかどうかは、それぞれ、右手先、左手先、頭部の各関節が、動作全体において一定の距離以上動いたかによって判定する。動きが小さな部位については、先述の理由により、追加動作として使用するのではなく、ゆれの成分のみを抽出して適用する。また、腰の移動・回転については、必ず下半身の動きと混合する必要があるため、常に、追加動作からゆれの成分を抽出して適用する。
【００６３】
次に、追加動作から、ゆれの成分を抽出し、基本動作に適用する方法を説明する。追加動作において、背骨や腰の動作は、もし腕や上半身が動いていなければ、そのゆれの影響によって振動したりするようなことがないため、単調な動きになると考えられる。そこで、背骨や腰の動作を、単純な関数によって近似し、実際の動作と近似動作の差を、振動している成分（ゆれによる影響）として抽出する。例えば、背骨の各関節におけるゆれの成分の時間関数Si(t2)は、もとの動作における関節の回転角度の時間関数R2i(t2)と、R2i(t2)を単純化した関数Bi(t2)の差から、計算することができる。
【００６４】
【数７】
2009037572.tif 000009
（７）
【００６５】
このとき、R2i(t2)を単純化した関数Bi(t2)は、追加動作の開始時刻・終了時刻における角度・角速度をもとにエルミート補間関数によって表したり、追加動作から取得したいくつかのサンプル時刻・角度をもとにスプライン補間関数によって表したりすることができる。これらの補間関数は、一般的に用いられている技術ありで、非特許文献７などに詳しい説明がある。このようにして抽出したゆれの成分を、式（３）の動作混合と同様に、基本動作に加えることで、ゆれの成分を基本動作に適用することができる。ここでは、基本動作の動きに、ゆれの成分を加えることになるため、基本動作の関節角度R1i(t1)には重みはかけずにそのまま使用し、ゆれの成分Si(t2)にのみ、複合動作の最初と最後で０になるような重みw(t)をかける。
【００６６】
【数８】
2009037572.tif 000010
（８）
【００６７】
以上、背骨の回転角度の例で説明したが、腰の位置や、腰の向きに関するゆれの抽出と適用も、同様の方法で実現できる。
【００６８】
［５．動作区間決定］
本システムの動作区間決定部で行う、出力動作の動作区間の決定と、それぞれの区間における動作合成方法の決定方法について説明する。
【００６９】
図１０は、動作区間決定処理のフローチャートである。基本的な流れとしては、入力された複数の動作データを、それぞれの開始時刻によって整列し、先頭の動作データから順に、次の動作データとの組み合わせに対して、どの動作合成方法を適用するかを判定する。そして、適用する動作合成方法に応じて、動作を生成するための複数の動作区間を生成して記録する。どの動作合成方法を適用するかどうかは、動作複合、動作挿入、動作遷移、動作接続、動作適応の順で判定していき、条件を満たす場合は、その方法を用いる。
【００７０】
各動作データについて、まず、その動作データと時間的に重なる動作データがあるかどうか探索する。ここで、時間的に重なるとは、判定を行う動作データの開始・終了時刻をT1beginとT1end、もう一方の動作データの区間の開始・終了時刻をT2beginとT2endとしたときに、T2begin＞T1beginかつT2end＜T1endとなるようなときである。このときは、もう一方の動作データを追加動作として、動作複合を適用する。
【００７１】
次に、（動作挿入）で説明した判定方法に従って、判定を行う動作データと、その次に実行される動作データが、時間的・姿勢的に一定以上離れていると判定されれば、動作挿入を適用する。また、判定を行う動作データと、次に実行される動作データが、共通の足を動かす区間を持っており、動作遷移が適用可能であれば、動作遷移を適用する。
【００７２】
さらに、判定を行う動作データが、足を動かす区間を持っており、動作接続が適用可能であれば、動作接続を適用する。
【００７３】
最後に、動作適応は、動作データの拘束条件に関係なく、どのような動作データにも適用可能であるため、動作適応以外の方法がすべて適用されなければ、自動的に動作適応が適用されることになる。
【００７４】
また、入力された複数の動作データを合成する際に、それぞれの動作データでの開始姿勢の位置・向きは異なるため、単純に動作データを合成するだけでは、きちんと連続した位置・向きとならない。そこで、２つ目以降の動作データについては、前の動作データとの切り替えタイミングに応じて、前の動作データの位置・向きと連続するように、動作データ全体を平行移動・回転する。このとき、どのように平行移動・回転を適用すれば良いかは、非特許文献４、非特許文献２などで、説明されており、一般的に用いられている。
【００７５】
図１１に、複数の動作データに動作区間決定処理を適用したときの結果の例を示す。この例では、５個の入力動作に対して、動作複製、動作接続、動作適応、動作遷移、動作複合を含む８個の動作区間が出力されている。
【００７６】
［６．動作自動配置］
本システムの動作自動配置部で行う、動作時間の自動調整を行うよう指定された動作データについて、他の動作データをもとに、開始・終了時刻を自動的に調整する、動作自動配置処理について説明する。
【００７７】
基本的な流れとしては、図１０のフローチャートによって示される、動作区間決定処理と同様の流れで、各動作データに適用する動作合成方法を判定する。その後、動作時間の自動調整を行うよう指定された動作データについては、仮に決定された動作決定方法にもとづいて、前の動作との相対時間が適切な時刻になるように、動作データの開始・終了時刻を決定する。
【００７８】
具体的には、次のような処理となる。まず、前記の通り、動作時間の自動調整を行うよう指定された動作データについて、動作区間決定と同様の処理により、前の動作データとの間に適用する動作合成の方法を仮に決定する。ただし、動作挿入を適用するかどうかの判定は行わず、必ず、動作複合、動作遷移、動作接続、動作適応のどれかの方法になるようにする。このとき、動作合成方法が動作複合の場合は、時間の調整処理は行わない。動作合成方法が動作遷移の場合は、２つの動作データの動作遷移に使用する区間のうち、長い方の区間の終了時刻、または、開始時刻に、もう一方の区間の開始時刻、または、終了時刻が一致するように、開始・終了時刻を調整する。動作時間の調整を行う動作データにおける、動作遷移に使用する区間の開始・終了時刻をT2beginとT2end、動作遷移を行うもう一方の動作データの区間の開始・終了時刻をT1beginとT1endとする。
【００７９】
このとき、（T2end
― T2begin）＞（T1end ― T1begin）であれば、T2beginがT1beginと同じになるように、動作データの開始・終了時刻を調整する。一方、（T2end ― T2begin）＜（T1end ― T1begin）であれば、T2endがT1endと同じになるように、動作データの開始・終了時刻を調整する。動作合成方法が動作接続の場合は、動作時間の調整を行う動作データの動作接続に使用する区間の開始時刻と、前の動作データの動作接続に使用する区間の終了時刻が同じになるように、動作データの開始・終了時刻を調整する。動作合成方法が動作適応の場合は、動作時間の調整を行う動作データの開始時刻と、前の動作データの終了時刻が同じになるように、動作データの開始・終了時刻を調整する。以上の処理にもとづき、動作データの開始・終了時刻を、先頭の動作から順に自動調整する。
【００８０】
［７．動作合成］
本システムの動作合成部で行う、動作合成処理について説明する。動作区間決定処理において、既に、出力動作の各区間において、どのような動作合成方法を用いて動作生成を行うかが決定されているので、動作合成処理では、その情報にもとづいて姿勢を計算するだけである。具体的には、各時刻において、その時刻が、どの区間に該当するかを、動作区間決定処理により出力された区間の情報から判定する。どの区間に該当するかが決定したら、その区間に記録された動作合成方法、及び、もとの動作データや使用する動作区間の情報に従って、当該時刻の出力動作の姿勢を計算する。各動作合成方法における、姿勢の計算方法は、［４．動作合成方法］に記述した通りである。
【図面の簡単な説明】
【００８１】
図１は、システム全体の入出力である。
図２は、動作データ中の足と地面の間の拘束条件の解析結果の例である。
図３は、システム構成である。
図４は、動作遷移である。
図５は、動作接続である。
図６は、動作適応である。
図７は、動作挿入である。
図８は、動作複合である。
図９は、動作複合の概要である。
図１０は、動作区間決定処理のフローチャートである。
図１１は、動作区間決定処理の具体例である。
【符号の説明】
【００８２】
２１    入力動作の情報
２２    出力動作
２５    右足と地面の間の拘束条件
２６    左足と地面の間の拘束条件
３１、３２、３３  動作１の各区間
３４、３５、３６  動作２の各区間
３７    出力動作の最初の区間
３８    動作混合を行う区間
３９    出力動作の最後の区間
４１    動作１の一部の区間
４２    動作１の足を動かす区間（足に拘束条件がない区間）
４３    動作１の区間
４４    動作２の一部の区間
４５    動作２の動作１で動かした足を動かさない区間（足に拘束条件がある区間）
４６    動作２の一部の区間
４７    出力動作の最初の区間
４８    動作接続
４９    出力動作の最後の区間
５１    動作１の一部の区間
５２    動作１には、動作終了部分に、足を動かさない区間（足に拘束条件がある区間）
５３    動作２の最初の区間
５４    動作２には、足を動かす区間（足に拘束条件がない区間）
５５    動作２の一部の区間
５６    出力動作の最初の区間
５７    動作適応の最初の区間
５８    動作適応の２つ目の区間
５９    動作適応の３つ目の区間
６０    出力動作の最後の区間
６１    動作１
６２    挿入動作
６３    動作２
６４、６６、６８    出力動作の各区間
６５、６７  出力動作の各区間の間をつなぐ各区間
７１    動作１（基本動作）
７２    動作２（追加動作）
７３    出力動作の最初の区間
７４、７５、７６  出力動作の動作複合の各区間
７７    出力動作の最後の区間  
８１  基本動作の一部の関節の動作（主に下半身の関節の動作）をコピーして複合動作に使用
８２  追加動作の他の関節の動作（主に上半身の関節の動作）をコピーして複合動作に使用
８３  追加動作の一部の関節の動作による背骨や腰へのゆれの影響を抽出し、抽出したゆれを基本動作に適用
【図１】
2009037572.tif 000011
【図２】
2009037572.tif 000012
【図３】
2009037572.tif 000013
【図４】
2009037572.tif 000014
【図５】
2009037572.tif 000015
【図６】
2009037572.tif 000016
【図７】
2009037572.tif 000017
【図８】
2009037572.tif 000018
【図９】
2009037572.tif 000019
【図１０】
2009037572.tif 000020
【図１１】
2009037572.tif 000021