【手続補正書】
【提出日】平成17年7月28日(2005.7.28)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】      明細書
【発明の名称】  動作データ生成装置，動作データ生成方法および動作データ生成プログラム記録媒体
【特許請求の範囲】
【請求項１】  接続する２つの時系列動作データを記憶する記憶部と、
接続時間配分率γに応じて、（ａ）前時系列動作データの最終時刻から、γ×（接続時間）分の動作データを推定して推定後延長動作データを生成し、（ｂ）後時系列動作データの初期時刻から時間的に過去の方向へ（１−γ）×（接続時間）分の動作データを推定して推定前延長動作データを生成し、（ｃ）上記前時系列動作データの最終時刻より（１−γ）×（接続時間）分だけ過去の動作データと上記推定前延長動作データに基づき、前半部接続動作データを生成し、（ｄ）上記後時系列データの初期時刻からγ×（接続時間）までの動作データと前記推定後延長動作データに基づき、後半部接続動作データを生成する動作接続部とを備えた、
ことを特徴とする動作データ生成装置。
【請求項２】  請求項１記載の動作データ生成装置において、
接続する２つの時系列動作データをそれぞれ前時系列動作データと後時系列動作データとすると、上記動作接続部は、上記前時系列動作データの最終時刻から接続時間分の動作データを推定して推定延長動作データを生成し、上記後時系列動作データの初期時刻から接続時間までの動作データと上記推定延長動作データに基づき、接続動作データを生成するものである、
ことを特徴とする動作データ生成装置。
【請求項３】  請求項２記載の動作データ生成装置において、
上記動作接続部は、（ａ）接続時間の初期時刻で０であり、接続時間の最終時刻で１であり、（ｂ）単調増加し、（ｃ）微分可能で、（ｄ）接続時間内で、接続時間の中点時刻に関して１８０度の回転対称となるような関数を用いた、
ことを特徴とする動作データ生成装置。
【請求項４】  請求項２記載の動作データ生成装置において、
上記動作接続部は、（ａ）接続時間の初期時刻で１であり、接続時間の最終時刻で０であり、（ｂ）単調減少し、（ｃ）微分可能で、（ｄ）接続時間内で、接続時間の中点時刻に関して１８０度の回転対称となるような関数を用いた、
ことを特徴とする動作データ生成装置。
【請求項５】  請求項２記載の動作データ生成装置において、
上記動作接続部は、最終時刻における前時系列動作データが、上記最終時刻から接続時間分だけ続くと推定して、推定延長動作データを生成する、
ことを特徴とする動作データ生成装置。
【請求項６】  請求項２記載の動作データ生成装置において、
上記動作接続部は、動作データは、最終時刻における前時系列動作データへ、上記最終時刻から接続時間後に滑らかに移行すると推定して、推定延長動作データを生成する、
ことを特徴とする動作データ生成装置。
【請求項７】  請求項２記載の動作データ生成装置において、
上記動作接続部は、前時系列動作データの最終時刻から接続時間後の時刻の前時系列動作データの動作状態が、後時系列動作データの初期時刻から接続時間後の時刻の後時系列動作データの動作状態であると推定して、推定延長動作データを生成する、
ことを特徴とする動作データ生成装置。
【請求項８】  請求項２記載の動作データ生成装置において、
上記動作接続部は、数値表現した推定延長動作の生成方法に関する付加情報を保持した時系列動作データに対して、該付加情報に応じて、推定延長動作や、推定後延長動作、推定前延長動作を生成する、
ことを特徴とする動作データ生成装置。
【請求項９】  請求項１記載の動作データ生成装置において、
接続する２つの時系列動作データを前時系列動作データと後時系列動作データとすると、上記動作接続部は、上記後時系列動作データの初期時刻から時間的に過去の方向における接続時間分の動作データを推定して推定延長動作データを生成し、上記前時系列動作データの最終時刻より接続時間分だけ過去の動作データと上記推定延長動作データから接続動作データを生成するものである、
ことを特徴とする動作データ生成装置。
【請求項１０】  請求項９記載の動作データ生成装置において、
上記動作接続部は、初期時刻における後時系列動作データが、該初期時刻から時間的に過去の方向において接続時間分だけ続いていたと推定して、推定延長動作データを生成する、
ことを特徴とする動作データ生成装置。
【請求項１１】  請求項９記載の動作データ生成装置において、
上記動作接続部は、後時系列動作データの初期時刻から接続時間分過去の時刻における上記後時系列動作データの動作状態が、初期時刻における上記後時系列動作データの動作状態でもって、滑らかに上記後時系列動作データへ移行すると推定して、推定延期動作データを生成する、
ことを特徴とする動作データ生成装置。
【請求項１２】  請求項１１記載の動作データ生成装置において、
上記動作接続部は、時系列動作データの重要度を数値表現した値を付加情報として保持した時系列動作データに対して、前時系列動作データに対する付加情報の重要度の値と、後時系列動作データに対する付加情報の重要度の値とに基づいて、推定後延長動作と推定前延長動作の生成方法を決定し、接続時間配分率の算出を行い、推定後延長動作と推定前延長動作を生成する、
ことを特徴とする動作データ生成装置。
【請求項１３】  請求項９記載の動作データ生成装置において、
上記動作接続部は、後時系列動作データの初期時刻から接続時間分過去の時刻の上記後時系列動作データの動作状態が、前時系列動作データの最終時刻から上記接続時間分過去の時刻の上記前時系列動作データの動作状態に滑らかに移動すると推定して、推定延長動作データを生成する、
ことを特徴とする動作データ生成装置。
【請求項１４】  請求項１記載の動作データ生成装置において、
上記動作接続部は、付加情報として接続時間配分率の値を保持した時系列動作データに対して、前時系列動作データに対する付加情報の接続時間配分率と、後時系列動作データに対する付加情報の接続時間配分率とに基づき、接続時における接続時間配分率を算出し、上記接続時間配分率に応じて、推定前延長動作と推定後延長動作を生成する、
ことを特徴とする動作データ生成装置。
【請求項１５】  請求項１記載の動作データ生成装置において、
上記動作接続部は、付加情報としての接続時間配分率を保持した時系列動作データに対して、前時系列動作データに対する付加情報の接続時間配分率γ１と、後時系列動作データに対する付加情報の接続時間配分率γ２とに基づき、接続時における接続時間配分率γをγ＝（γ１＋γ２）／２により算出し、推定前延長動作と推定後延長動作を生成する、
ことを特徴とする動作データ生成装置。
【請求項１６】  請求項１記載の動作データ生成装置において、
上記動作接続部は、時系列動作データの重要度を数値表現した値を付加情報として保持した時系列動作データに対して、前時系列動作データに対する付加情報の重要度の値δ１と、後時系列動作データに対する付加情報の重要度の値δ２（０≦δ１，δ２≦１）とに基づき、推定後延長動作と推定前延長動作の生成方法を決定し、接続時間配分率γの算出をγ＝（δ１−δ２＋１）／２で行ない、推定後延長動作と推定前延長動作を生成する、
ことを特徴とする動作データ生成装置。
【請求項１７】  接続する２つの時系列データを記憶する工程と、
（ａ）前時系列動作データの最終時刻から、γ×（接続時間）分の動作データを推定して推定後延長動作データを生成し、（ｂ）後時系列動作データの初期時刻から時間的に過去の方向へ（１−γ）×（接続時間）分の動作データを推定して推定前延長動作データを生成し、（ｃ）上記前時系列動作データの最終時刻より（１−γ）×（接続時間）分だけ過去の動作データと上記推定前延長動作データとに基づき、前半部接続動作データを生成し、（ｄ）上記後時系列データの初期時刻からγ×（接続時間）までの動作データと前記推定後延長動作データとに基づき、後半部接続動作データを生成する接続動作とを含む、
ことを特徴とする動作データ生成方法。
【請求項１８】  動作データ生成プログラムを記憶する記憶媒体であって、
該プログラムは、
接続する２つの時系列データを記憶する工程と、
（ａ）前時系列動作データの最終時刻から、γ×（接続時間）分の動作データを推定して推定後延長動作データを生成し、（ｂ）後時系列動作データの初期時刻から時間的に過去の方向へ（１−γ）×（接続時間）分の動作データを推定して推定前延長動作データを生成し、（ｃ）上記前時系列動作データの最終時刻より（１−γ）×（接続時間）分だけ過去の動作データと上記推定前延長動作データとに基づき、前半部接続動作データを生成し、（ｄ）上記後時系列データの初期時刻からγ×（接続時間）までの動作データと前記推定後延長動作データとに基づき、後半部接続動作データを生成する接続動作とを含む、
ことを特徴とする動作データ生成プログラム記憶媒体。
【請求項１９】  記憶部と、
（ａ）剛体多関節物体の各時刻における全体の位置データ、姿勢角度データ、関節スライドベクトルデータ、および各時刻における剛体多関節物体の関節角度データを含む時系列動作データを受信し、（ｂ）受信した時系列動作データを上記記憶部に記憶し、（ｃ）上記記憶部に保存された時系列動作データから生成された閉ループ周期化動作データを読み出す入出力部と、
（ａ）上記記憶部に記憶された時系列動作データを読み出し、（ｂ）剛体多関節物体の局所部分を周期化することにより開放周期化時系列動作データを生成し、（ｃ）上記記憶部に該開放周期化時系列動作データを格納する開放周期化動作生成部と、
（ａ）上記開放周期化時系列動作データのうちの剛体多関節物体全体の位置データを読み出し、（ｂ）剛体多関節物体全体の位置データを閉ループ化する、すなわち、剛体多関節物体全体の動きを閉ループ化することにより閉ループ化動作データを生成し、（ｃ）上記記憶部に記憶された開放周期化時系列動作データを、該閉ループ動作データに置き換え、（ｄ）上記記憶部に該閉ループ動作データを格納する閉ループ動作生成部とを備えた、
ことを特徴とする閉ループ周期化動作データ生成装置。
【請求項２０】  （ａ）剛体多関節物体の各時刻における全体の位置データ、姿勢角度データ、関節スライドベクトルデータ、および各時刻における剛体多関節物体の関節角度データを含む時系列動作データを受信し、（ｂ）受信した時系列動作データを上記記憶部に記憶し、（ｃ）上記記憶部に保存された時系列動作データから生成された閉ループ周期化動作データを読み出す入出力管理工程と、
（ａ）上記記憶部に記憶された時系列動作データを読み出し、（ｂ）剛体多関節物体の局所部分を周期化することにより開放周期化時系列動作データを生成し、（ｃ）上記記憶部に該開放周期化時系列動作データを格納する開放周期化動作生成工程と、
（ａ）上記開放周期化時系列動作データのうちの剛体多関節物体全体の位置データを読み出し、（ｂ）剛体多関節物体全体の位置データを閉ループ化する、すなわち、剛体多関節物体全体の動きを閉ループ化することにより閉ループ化動作データを生成し、（ｃ）上記記憶部に記憶された開放周期化時系列動作データを、該閉ループ動作データに置き換え、（ｄ）上記記憶部に該閉ループ動作データを格納する閉ループ動作生成工程とを含む、
ことを特徴とする閉ループ周期化動作データ生成方法。
【請求項２１】  閉ループ周期化動作データ生成プログラムを記憶する記憶媒体であって、
該プログラムは、
（ａ）剛体多関節物体の各時刻における全体の位置データ、姿勢角度データ、関節スライドベクトルデータ、および各時刻における剛体多関節物体の関節角度データを含む時系列動作データを受信し、（ｂ）受信した時系列動作データを上記記憶部に記憶し、（ｃ）上記記憶部に保存された時系列動作データから生成された閉ループ周期化動作データを読み出す入出力管理工程と、
（ａ）上記記憶部に記憶された時系列動作データを読み出し、（ｂ）剛体多関節物体の局所部分を周期化することにより開放周期化時系列動作データを生成し、（ｃ）上記記憶部に該開放周期化時系列動作データを格納する開放周期化動作生成工程と、
（ａ）上記開放周期化時系列動作データのうちの剛体多関節物体全体の位置データを読み出し、（ｂ）剛体多関節物体全体の位置データを閉ループ化する、すなわち、剛体多関節物体全体の動きを閉ループ化することにより閉ループ化動作データを生成し、（ｃ）上記記憶部に記憶された開放周期化時系列動作データを、該閉ループ動作データに置き換え、（ｄ）上記記憶部に該閉ループ動作データを格納する閉ループ動作生成工程とを含む、
ことを特徴とする閉ループ周期化動作データ生成プログラム記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動作データ生成装置，動作データ生成方法および動作データ生成プログラム記録媒体に関し、これはコンピュータグラフィックス・アニメーションの分野に属するもので、特に、剛体多関節物体を動かすために与えられた単数の開放系時系列動作データ、または複数の開放系時系列動作データを接続し、その結果生成された時系列動作データから閉ループ系の周期動作データを自動的に生成する装置，方法およびこのプログラムを記録した媒体に関するものである。
【０００２】
【従来の技術】
まず、本論に入る前に定義について述べる。コンピュータグラフィックス・アニメーションにおいて、剛体多関節物体でモデル化した人間や生物などの物体をリアルの動かす場合、図６（ａ）に示すように、剛体多関節物体の骨に相当する骨格構造を定義し、この骨格構造の動作によって規定される。
【０００３】
図において、ＥＳは人体の端部に相当するエンドサイト、ＪＴは人体の関節に相当するジョイント、ＬＫは人体の骨格に相当するリンク、ＳＴは首，腕，足等の人体を構成する上位階層の部位に相当するセグメントである。
【０００４】
これらの骨格構造の動作データは時系列データとして与えられる。これは、図６（ｂ）に示すように、コンピュータグラフィックス・アニメーションにおける、剛体多関節物体でモデル化した人間や生物などの物体の動作データの概念を以下に示す。同図においては、剛体多関節物体のモデルとして人間が採用されている。前述のように、動作データは、一般に、時系列データとして与えられる。これは、その物体全体の姿勢を制御するために使用する３つの姿勢角度Ａａ、Ａｖ、及びＡｈと、各関節の運動制御に使用する平行移動量を表したスライドベクトルと回転量を表した関節角Ａｊで構成される。
【０００５】
物体Ｏの全体位置を表すための点Ｐは予め物体毎に固有に、固定して定められている。また、物体Ｏの全体の姿勢を表す、進行方向ベクトルＶａ、上方向ベクトルＶｖ、及び横方向ベクトルＶｈも物体毎に予め定義されており、これらの３つのベクトルＶａ、Ｖｖ、及びＶｈを姿勢ベクトルと呼ぶ。
【０００６】
この固定点Ｐと姿勢ベクトルＶａ、Ｖｖ、及びＶｈから導入される座標系を用いれば、この物体の角関節の位置などを固有に決めることができる。逆に、コンピュータグラフィックスでは、物体には物体座標系と呼ばれる、形状を定義するため使う物体毎に固有の座標系を持っているので、この物体座標系の原点を物体Ｏの全体の位置を表すための点Ｐとし、物体座標系を定義している単位ベクトルを姿勢ベクトルとする。
【０００７】
姿勢角度Ａａ、Ａｖ、及びＡｈはワールド座標系（ｘ、ｙ、ｚ）における３つの座標軸回りの回転量として与えられる。その回転量で初期状態における姿勢ベクトルを各座標軸ｘ、ｙ、ｚの回りに回転変換することで、その時刻の姿勢ベクトルＶａ、Ｖｖ、及びＶｈを算出できる。これにより、各時刻における物体全体の姿勢を制御する。関節の運動については、関節毎に定義されている局所座標系における、スライドベクトル量による平行移動やその局所座標系の各座標軸回りの回転によって制御する。なお、剛体多関節物体について説明したが、剛体あるいは多関節物体に限られる訳ではなく、何体あるいは単関節、そしてそれらの組み合わせであっても同様である。
【０００８】
これは、その物体全体の位置（基準位置）を表す代表点の３次元座標値と、その物体全体の姿勢を制御するために使用する３つの姿勢角度、及び各関節の運動制御に使用する、平行移動量を表したスライドベクトルと回転量を表した関節角とで構成される。物体全体の位置を表すための点は予め物体毎に固有に、固定されて定められている。
【０００９】
また、物体の全体の姿勢を表す、進行方向ベクトル、上方向ベクトル、横方向ベクトルも物体毎に予め定義されており、これらの３つベクトルを姿勢ベクトルと呼ぶ。この様子を図６（ｂ）に示す。この固定点と姿勢ベクトルから導入される座標系を用いれば、この物体の各関節の位置などを固有に決めることができる。
【００１０】
逆に、コンピュータグラフィックスでは、物体には物体座標系と呼ばれる、形状を定義するため使う物体毎に固有の座標系を持っているので、この物体座標系の原点を物体全体の位置を表すための点、物体座標系を定義している単位ベクトルを姿勢ベクトルとすることもできる。姿勢角度はワールド座標系における３つの座標軸回りの回転量として与えられ、この回転量で初期状態における姿勢ベクトルを各座標軸回りに回転変換することで、その時刻の姿勢ベクトルが算出できる。これにより、各時刻における物体全体の姿勢を制御する。関節の運動については、関節毎に定義されている局所座標系における、スライドベクトル量による平行移動やその局所座標系の各座標軸回りの回転によって制御する。
【００１１】
これらの時系列動作データは、普通、図７（ａ）に示すように、初期時刻と最終時刻の位置が一致せず、また、物体の局所的な動作状態も初期時刻と最終時刻では全く異なる。これを、開放系非周期動作と呼ぶ。つまり、開放系非周期動作を繰り返したとすると、最終時刻の物体の状態から初期時刻の状態へ突然遷移すると同時に、物体の位置も最終時刻の位置から初期時刻の位置へと突然飛ぶ。従って、このような動作は繰り返して使用することができない。
【００１２】
また、開放系周期動作とは、図７（ｂ）に示すように、初期時刻の物体の位置と最終時刻の物体の位置は一致していないものの、最終時刻の物体の状態と初期時刻の物体の状態はほぼ同様であり、最終時刻の物体の状態から初期時刻の物体の状態への遷移は自然で滑らかな動作である。
開放系周期動作を繰り返した場合、物体の状態の遷移は常に自然で滑らかであるが、物体の位置に関しては、最終時刻の物体の位置から初期時刻の位置へと突然飛ぶため、やはり繰り返して使用することができない。
【００１３】
これに対し、閉ループ系周期動作とは図７（ｃ）に示すような動作で、物体の状態遷移に関しても、物体の位置に関しても突然遷移したり、突然どこかへ飛んでいってしまうことが起きない動作のことをいう。従って、繰り返して動作させることができる。
【００１４】
なお、複数の時系列動作データを接続したものは、以下に述べる、本発明のように特別の処理を行なわなければ開放系非周期動作となる。
【００１５】
ところで、近年、コンピュータグラフィックス・アニメーションの分野では、剛対多関節物体によってモデル化された、人間などの生物をリアルに動かすことが必須になりつつある。
このような動きを表す３次元時系列データは、アニメータと呼ばれる人々によってキーフレーム補間を使った手法で生成されたり、モーション・キャプチャリングという３次元動作計測技術によって現実の動きを捕捉することによって生成される。
【００１６】
このような手法で生成された動きは、処理に時間がかかることや、生成した動きの再利用などを考慮して、動きとして最低限の意味を持つような単位で、基本的には開放系の時系列データとして生成される。
【００１７】
従って、一連の長時間に亘る動きとするためには、これらの細切れの動きを接続する必要が生じるが、開放系の時系列動作データを接続してできる動作データは、当然、開放系の時系列動作データである。
【００１８】
動作データの接続方法に関しては、従来例がいくつか存在するが、その中で最も原始的な接続方法は、先のアニメータと呼ばれる専門技能職の人々が、手作業で動作間の接続動作を推定して接続部の動作データを作り上げていく方法である。しかし、この方法は生産性が低い上に、アニメータの経験により３次元空間における動作を推定してゆく作業であることから、作成された接続動作が不自然であることがしばしば起こる。当然、閉ループ系の動作を生成した場合も、この不自然さが存在する。
【００１９】
そのような中、物体や身体の局所的な動きが周期的な動作に対して動作接続の自動化を目指した第１の従来例としては、
Munetoshi Unuma, et al., "Fourier Principles for Emotion-based Human Figure Animation", SIGGRAPH95 Proceeding, pp91-96.1995.
がある。
【００２０】
これは互いに接続する前後の動作の時系列データをフーリエ展開し、接続区間における動作を周波数空間で外挿補間し、それを逆フーリエ展開することで接続区間の動作を生成するものである。別の言い方をすれば、周期性を利用して予測を行うことを前提に動作接続データを生成していることになる。しかしながら、物体全体の動作として、閉ループ系の周期化動作を生成することはできない。
【００２１】
一方、物体や身体の局所的な動きの周期性を必ずしも前提としない動作の接続方法の第２の従来例としては、
Charles Rose, et al., "Efficient Generation of Motion Transitions using Spacetime Constraints", SIGGRAPH96 Proceeding, pp147-154.1996.
がある。
【００２２】
これは、互いに接続する前後の動作の時系列データから、インバース・キネマティクスやインバース・ダイナミクス、最適化計算などを駆使して、接続区間における動作を推定して接続区間の動作を生成するものである。しかしながら、この方法は単に動作の接続を行なうものであるので、閉ループ系の周期化動作を生成することはできない。
【００２３】
【発明が解決しようとする課題】
このように、第１の従来例の手法は、始めから周期性のある動作にしか適用できない上に、物体や身体全体の動きとして閉ループ系の周期化動作を生成することができない。また、フーリエ展開と逆フーリエ展開を実行しなければならないため、多大な計算時間を要する。
【００２４】
また、第２の従来例の手法も、動作の接続に関しては、前後の動きから外挿推定することで、接続動作を生成するが、各種の数値計算を含むため、長時間の計算時間を要する。また、そもそもこのような前後の動作から予測した動作による接続は、不良設定問題であることから、最適化計算における目的関数がその時点での接続における条件と合致した場合にのみ、適切な動作が生成されるが、そのような接続条件は前後の動作毎や接続状況によって個別的であることから、一般的な状況下で成り立つような条件は存在せず、しばしば不自然な動きとなる。
【００２５】
ちなみに、この第２の従来例では、目的関数としてトルク消費量のみを考慮し、これを最小にするように最適化を行なっているが、トルク消費量が最小という条件は必要条件にすぎず、十分条件ではないため、全ての状況下に対応することはできない。例えば、滑らかな動きや高速な動きを必要とする場合には、対応していない。
【００２６】
つまり、第２の従来例による手法は処理時間が長大に掛かる割には、接続動作が不自然になるような状況がしばしば生じる。そして、接続を行った結果、生成された動作は、元の動作が開放系の場合は、当然、開放系の非周期的な動作となる。
【００２７】
このように、第１の従来例にしろ第２の従来例にしろ、動作の接続に関しては、接続を行なう前後の動作からその接続部における動作を推定することによって、接続部の動作を求めようというもので、その推定が当たらなければ接続動作は不適切なものとなる。しかもその上、閉ループ系の周期化動作を生成することはできない。
【００２８】
しかしながら、コンピュータグラフィックスアニメーションを制作する場合、閉ループ系の周期化動作は非常に重要な役割を果たす。例えば、ダンスやエキストラの動きなどの生成を行いたい場合、一連の動きを全て制作するとすれば、動作データ量が膨大なものとなるため、制作が非常に困難になる。さらに、リアルタイムアニメーションを実現する場合には、この問題は致命的であり、実際の制作はほとんど不可能であるといえる。
【００２９】
本発明は、上記問題に鑑みなされたもので、剛体多関節物体を動かすために与えられた単数の開放系時系列動作データ、または複数の開放系時系列動作データを接続し、その結果生成された時系列動作データから閉ループ系の周期化動作データを自動的に生成する装置を提供せんとするものである。
【００３０】
【課題を解決するための手段】
上記問題を解決するために、
本願の請求項１の発明に係る動作データ生成装置は、
接続する２つの時系列動作データを記憶する記憶部と、
接続時間配分率γに応じて、（ａ）前時系列動作データの最終時刻から、γ×（接続時間）分の動作データを推定して推定後延長動作データを生成し、（ｂ）後時系列動作データの初期時刻から時間的に過去の方向へ（１−γ）×（接続時間）分の動作データを推定して推定前延長動作データを生成し、（ｃ）上記前時系列動作データの最終時刻より（１−γ）×（接続時間）分だけ過去の動作データと上記推定前延長動作データに基づき、前半部接続動作データを生成し、（ｄ）上記後時系列データの初期時刻からγ×（接続時間）までの動作データと前記推定後延長動作データに基づき、後半部接続動作データを生成する動作接続部とを備えた、
ことを特徴とするものである。
【００３１】
また、本願の請求項２の発明に係る動作データ生成装置は、
請求項１記載の動作データ生成装置において、
接続する２つの時系列動作データをそれぞれ前時系列動作データと後時系列動作データとすると、上記動作接続部は、上記前時系列動作データの最終時刻から接続時間分の動作データを推定して推定延長動作データを生成し、上記後時系列動作データの初期時刻から接続時間までの動作データと上記推定延長動作データに基づき、接続動作データを生成するものである、
ことを特徴とするものである。
【００３２】
また、本願の請求項３の発明に係る動作データ生成装置は、
請求項２記載の動作データ生成装置において、
上記動作接続部は、（ａ）接続時間の初期時刻で０であり、接続時間の最終時刻で１であり、（ｂ）単調増加し、（ｃ）微分可能で、（ｄ）接続時間内で、接続時間の中点時刻に関して１８０度の回転対称となるような関数を用いた、
ことを特徴とするものである。
【００３３】
また、本願の請求項４の発明に係る動作データ生成装置は、
請求項２記載の動作データ生成装置において、
上記動作接続部は、（ａ）接続時間の初期時刻で１であり、接続時間の最終時刻で０であり、（ｂ）単調減少し、（ｃ）微分可能で、（ｄ）接続時間内で、接続時間の中点時刻に関して１８０度の回転対称となるような関数を用いた、
ことを特徴とするものである。
【００３４】
また、本願の請求項５の発明に係る動作データ生成装置は、
請求項２記載の動作データ生成装置において、
上記動作接続部は、最終時刻における前時系列動作データが、上記最終時刻から接続時間分だけ続くと推定して、推定延長動作データを生成する、
ことを特徴とするものである。
【００３５】
また、本願の請求項６の発明に係る動作データ生成装置は、
請求項２記載の動作データ生成装置において、
上記動作接続部は、動作データは、最終時刻における前時系列動作データへ、上記最終時刻から接続時間後に滑らかに移行すると推定して、推定延長動作データを生成する、
ことを特徴とするものである。
【００３６】
また、本願の請求項７の発明に係る動作データ生成装置は、
請求項２記載の動作データ生成装置において、
上記動作接続部は、前時系列動作データの最終時刻から接続時間後の時刻の前時系列動作データの動作状態が、後時系列動作データの初期時刻から接続時間後の時刻の後時系列動作データの動作状態であると推定して、推定延長動作データを生成する、
ことを特徴とするものである。
【００３７】
また、本願の請求項８の発明に係る動作データ生成装置は、
請求項２記載の動作データ生成装置において、
上記動作接続部は、数値表現した推定延長動作の生成方法に関する付加情報を保持した時系列動作データに対して、該付加情報に応じて、推定延長動作や、推定後延長動作、推定前延長動作を生成する、
ことを特徴とするものである。
【００３８】
また、本願の請求項９の発明に係る動作データ生成装置は、
請求項１記載の動作データ生成装置において、
接続する２つの時系列動作データを前時系列動作データと後時系列動作データとすると、上記動作接続部は、上記後時系列動作データの初期時刻から時間的に過去の方向における接続時間分の動作データを推定して推定延長動作データを生成し、上記前時系列動作データの最終時刻より接続時間分だけ過去の動作データと上記推定延長動作データから接続動作データを生成するものである、
ことを特徴とするものである。
【００３９】
また、本願の請求項１０の発明に係る動作データ生成装置は、
請求項９記載の動作データ生成装置において、
上記動作接続部は、初期時刻における後時系列動作データが、該初期時刻から時間的に過去の方向において接続時間分だけ続いていたと推定して、推定延長動作データを生成する、
ことを特徴とするものである。
【００４０】
また、本願の請求項１１の発明に係る動作データ生成装置は、
請求項９記載の動作データ生成装置において、
上記動作接続部は、後時系列動作データの初期時刻から接続時間分過去の時刻における上記後時系列動作データの動作状態が、初期時刻における上記後時系列動作データの動作状態でもって、滑らかに上記後時系列動作データへ移行すると推定して、推定延期動作データを生成する、
ことを特徴とするものである。
【００４１】
また、本願の請求項１２の発明に係る動作データ生成装置は、
請求項１１記載の動作データ生成装置において、
上記動作接続部は、時系列動作データの重要度を数値表現した値を付加情報として保持した時系列動作データに対して、前時系列動作データに対する付加情報の重要度の値と、後時系列動作データに対する付加情報の重要度の値とに基づいて、推定後延長動作と推定前延長動作の生成方法を決定し、接続時間配分率の算出を行い、推定後延長動作と推定前延長動作を生成する、
ことを特徴とするものである。
【００４２】
また、本願の請求項１３の発明に係る動作データ生成装置は、
請求項９記載の動作データ生成装置において、
上記動作接続部は、後時系列動作データの初期時刻から接続時間分過去の時刻の上記後時系列動作データの動作状態が、前時系列動作データの最終時刻から上記接続時間分過去の時刻の上記前時系列動作データの動作状態に滑らかに移動すると推定して、推定延長動作データを生成する、
ことを特徴とするものである。
【００４３】
また、本願の請求項１４の発明に係る動作データ生成装置は、
請求項１記載の動作データ生成装置において、
上記動作接続部は、付加情報として接続時間配分率の値を保持した時系列動作データに対して、前時系列動作データに対する付加情報の接続時間配分率と、後時系列動作データに対する付加情報の接続時間配分率とに基づき、接続時における接続時間配分率を算出し、上記接続時間配分率に応じて、推定前延長動作と推定後延長動作を生成する、
ことを特徴とするものである。
【００４４】
また、本願の請求項１５の発明に係る動作データ生成装置は、
請求項１記載の動作データ生成装置において、
上記動作接続部は、付加情報としての接続時間配分率を保持した時系列動作データに対して、前時系列動作データに対する付加情報の接続時間配分率γ１と、後時系列動作データに対する付加情報の接続時間配分率γ２とに基づき、接続時における接続時間配分率γをγ＝（γ１＋γ２）／２により算出し、推定前延長動作と推定後延長動作を生成する、
ことを特徴とするものである。
【００４５】
また、本願の請求項１６の発明に係る動作データ生成装置は、
請求項１記載の動作データ生成装置において、
上記動作接続部は、時系列動作データの重要度を数値表現した値を付加情報として保持した時系列動作データに対して、前時系列動作データに対する付加情報の重要度の値δ１と、後時系列動作データに対する付加情報の重要度の値δ２（０≦δ１，δ２≦１）とに基づき、推定後延長動作と推定前延長動作の生成方法を決定し、接続時間配分率γの算出をγ＝（δ１−δ２＋１）／２で行ない、推定後延長動作と推定前延長動作を生成する、
ことを特徴とするものである。
【００４６】
また、本願の請求項１７の発明に係る動作データ生成方法は、
接続する２つの時系列データを記憶する工程と、
（ａ）前時系列動作データの最終時刻から、γ×（接続時間）分の動作データを推定して推定後延長動作データを生成し、（ｂ）後時系列動作データの初期時刻から時間的に過去の方向へ（１−γ）×（接続時間）分の動作データを推定して推定前延長動作データを生成し、（ｃ）上記前時系列動作データの最終時刻より（１−γ）×（接続時間）分だけ過去の動作データと上記推定前延長動作データとに基づき、前半部接続動作データを生成し、（ｄ）上記後時系列データの初期時刻からγ×（接続時間）までの動作データと前記推定後延長動作データとに基づき、後半部接続動作データを生成する接続動作とを含む、
ことを特徴とするものである。
【００４７】
また、本願の請求項１８の発明に係る動作データ生成プログラム記憶媒体は、
動作データ生成プログラムを記憶する記憶媒体であって、
該プログラムは、
接続する２つの時系列データを記憶する工程と、
（ａ）前時系列動作データの最終時刻から、γ×（接続時間）分の動作データを推定して推定後延長動作データを生成し、（ｂ）後時系列動作データの初期時刻から時間的に過去の方向へ（１−γ）×（接続時間）分の動作データを推定して推定前延長動作データを生成し、（ｃ）上記前時系列動作データの最終時刻より（１−γ）×（接続時間）分だけ過去の動作データと上記推定前延長動作データとに基づき、前半部接続動作データを生成し、（ｄ）上記後時系列データの初期時刻からγ×（接続時間）までの動作データと前記推定後延長動作データとに基づき、後半部接続動作データを生成する接続動作とを含む、
ことを特徴とするものである。
【００４８】
また、本願の請求項１９の発明に係る閉ループ周期化動作データ生成装置は、
記憶部と、
（ａ）剛体多関節物体の各時刻における全体の位置データ、姿勢角度データ、関節スライドベクトルデータ、および各時刻における剛体多関節物体の関節角度データを含む時系列動作データを受信し、（ｂ）受信した時系列動作データを上記記憶部に記憶し、（ｃ）上記記憶部に保存された時系列動作データから生成された閉ループ周期化動作データを読み出す入出力部と、
（ａ）上記記憶部に記憶された時系列動作データを読み出し、（ｂ）剛体多関節物体の局所部分を周期化することにより開放周期化時系列動作データを生成し、（ｃ）上記記憶部に該開放周期化時系列動作データを格納する開放周期化動作生成部と、
（ａ）上記開放周期化時系列動作データのうちの剛体多関節物体全体の位置データを読み出し、（ｂ）剛体多関節物体全体の位置データを閉ループ化する、すなわち、剛体多関節物体全体の動きを閉ループ化することにより閉ループ化動作データを生成し、（ｃ）上記記憶部に記憶された開放周期化時系列動作データを、該閉ループ動作データに置き換え、（ｄ）上記記憶部に該閉ループ動作データを格納する閉ループ動作生成部とを備えた、
ことを特徴とするものである。
【００４９】
また、本願の請求項２０の発明に係る閉ループ周期化動作データ生成方法は、
（ａ）剛体多関節物体の各時刻における全体の位置データ、姿勢角度データ、関節スライドベクトルデータ、および各時刻における剛体多関節物体の関節角度データを含む時系列動作データを受信し、（ｂ）受信した時系列動作データを上記記憶部に記憶し、（ｃ）上記記憶部に保存された時系列動作データから生成された閉ループ周期化動作データを読み出す入出力管理工程と、
（ａ）上記記憶部に記憶された時系列動作データを読み出し、（ｂ）剛体多関節物体の局所部分を周期化することにより開放周期化時系列動作データを生成し、（ｃ）上記記憶部に該開放周期化時系列動作データを格納する開放周期化動作生成工程と、
（ａ）上記開放周期化時系列動作データのうちの剛体多関節物体全体の位置データを読み出し、（ｂ）剛体多関節物体全体の位置データを閉ループ化する、すなわち、剛体多関節物体全体の動きを閉ループ化することにより閉ループ化動作データを生成し、（ｃ）上記記憶部に記憶された開放周期化時系列動作データを、該閉ループ動作データに置き換え、（ｄ）上記記憶部に該閉ループ動作データを格納する閉ループ動作生成工程とを含む、
ことを特徴とするものである。
【００５０】
また、本願の請求項２１の発明に係る閉ループ周期化動作データ生成プログラム記憶媒体は、
閉ループ周期化動作データ生成プログラムを記憶する記憶媒体であって、
該プログラムは、
（ａ）剛体多関節物体の各時刻における全体の位置データ、姿勢角度データ、関節スライドベクトルデータ、および各時刻における剛体多関節物体の関節角度データを含む時系列動作データを受信し、（ｂ）受信した時系列動作データを上記記憶部に記憶し、（ｃ）上記記憶部に保存された時系列動作データから生成された閉ループ周期化動作データを読み出す入出力管理工程と、
（ａ）上記記憶部に記憶された時系列動作データを読み出し、（ｂ）剛体多関節物体の局所部分を周期化することにより開放周期化時系列動作データを生成し、（ｃ）上記記憶部に該開放周期化時系列動作データを格納する開放周期化動作生成工程と、
（ａ）上記開放周期化時系列動作データのうちの剛体多関節物体全体の位置データを読み出し、（ｂ）剛体多関節物体全体の位置データを閉ループ化する、すなわち、剛体多関節物体全体の動きを閉ループ化することにより閉ループ化動作データを生成し、（ｃ）上記記憶部に記憶された開放周期化時系列動作データを、該閉ループ動作データに置き換え、（ｄ）上記記憶部に該閉ループ動作データを格納する閉ループ動作生成工程とを含む、
ことを特徴とするものである。
【００５１】
【発明の実施の形態】
実施の形態１．
以下、本発明の実施の形態１の動作データ生成装置について、図面を参照しながら説明する。
図１は本発明の実施の形態１による動作データ生成装置の構成を示す。図において、１００は閉ループ系周期化動作データを生成するＣＰＵ、１０１はこのＣＰＵ１００を動作させるためのプログラムメモリ、１０３はワークエリアとしてのＲＡＭ、１０４は外部から時系列動作データを入力し、ＣＰＵ１００が生成した閉ループ系周期化動作データを外部に出力するＩ／Ｏ手段、１０２はデータバスである。
【００５２】
この図１の動作データ生成装置の動作は、Ｉ／Ｏ手段１０４により外部から入力した時系列動作データを、ＣＰＵ１００がプログラムメモリ１０１に記憶されたプログラムに基づいて、ＲＡＭ１０３をワークエリアとして使用しながら処理して閉ループ系周期化動作データを生成し、Ｉ／Ｏ手段１０４により、これを外部に出力するというものである。
【００５３】
図２は本発明の実施の形態１における動作データ生成装置の機能的な構成を示すものである。図２において、１は時系列動作データを外部から入力し閉ループ系周期化動作データを外部へ出力する入出力手段、２はこの入出力手段１と後述する各手段との間でデータのやりとりを行うためのデータバス、３は時系列動作データに基づいて開放系周期化動作を生成する開放系周期化動作生成手段、４は開放系周期化動作を接続し閉ループ化動作を生成する閉ループ化動作生成手段、５は時系列動作データを記憶するための記憶手段である。
【００５４】
以上のように構成された動作データ生成装置の動作について、以下、図３を用いて詳細に説明をする。
入出力手段１は、外部から入力される時系列動作データの管理を行ない、この時系列動作データをデータバス２を介して記憶手段５へ保存する（図３のステップＳ１）。また、外部出力管理も行ない、記憶手段５に保存された、時系列データから生成された閉ループ系周期化動作データを、データバス２を介して読み出して外部に出力する。但し、閉ループ系周期動作もデータ構造上は、他の場合の時系列動作データと差異はないので、一般の時系列動作データを外部に出力できれば十分である。
【００５５】
開放系周期化動作生成手段３は、記憶手段５に保存された時系列動作データをデータバス２を介して読み出し、剛体多関節物体の局所的な部分を周期化した開放系周期化時系列動作データを生成する（図３のステップＳ２）。この開放系周期化時系列動作データの生成方法については以下の３つの処理方法がある。
【００５６】
まず、第１の処理方法について、図１４および図１５を参照しながら説明する。
まず、周期化したい動作を被周期化動作ＰＭとすると、被周期化動作の最終時刻ＴＴから与えられた合成時間分に相当するだけの時系列動作データを推定して、推定延長動作ＥＭを生成する（図１５のステップＳ８１）。
【００５７】
また、この被周期化動作ＰＭと同じ動作を行いかつ被周期化動作ＰＭの最終時刻ＴＴと初期時刻が一致するダミーの被周期化動作ＤＰＭを生成し（図１５のステップＳ８２）、このダミーの被周期化動作と、先に生成した推定延長動作の初期時刻から最終時刻までを合成して合成時間ＳＴ分の被周期化動作の時系列動作データを合成し、合成動作ＳＭを生成する（図１５のステップＳ８３）。
【００５８】
但し、図１４では説明のために、便宜上、ダミーとして描いている。なお、推定の方法については、後述の動作接続手段で述べる推定の方法と同様に行なう。
【００５９】
次に、合成動作の生成の仕方について説明する。
推定延長動作の速度を合成時間における時系列動作データの物体全体の位置を表す３次元座標データの差を計算することから算出する。つまり、時刻ｉにおける速度は時刻ｉ＋１における物体全体の位置と時刻ｉにおける物体全体の位置との差によって算出する。この速度は３次元ベクトルである。同様に、初期時刻から合成時間分の被周期化動作の時系列動作データから、被周期化動作の速度も算出する。速度算出後、それぞれの速さを速度から求める。速さは通常通り、速度（ベクトル）の大きさとして定義されるものである。推定延長動作の速度と被周期化動作の速度を合成関数によって合成した合成速度を算出する。
【００６０】
合成関数を、合成時間の初期時刻で「１」、合成時間の終りで「０」、単調減少でｎ回微分可能かつ合成時間の中点時刻での値に関して合成時間内の値が１８０度の回転対称となるような関数とした場合、
（合成速度）＝（予測延長動作の速度）×（合成関数）＋（初期時刻から合成時間分の被周期化動作の速度）×（１−合成関数）
によって計算する。
なお、この算出式は、合成関数値による比例配分式を示すものである。従って、合成関数が時間に関して非線形の場合、配分率も時間に関して非線形に変化する。
【００６１】
合成の初期時刻をｔ０、合成時間の終りの時刻をｔｅ、現時刻をＴとし、ｔ＝（Ｔ−ｔ０）／（ｔｅ−ｔ０）の正規化を行なったとき、このようなｔを独立変数とする合成関数としては次のようなものがある。
（１）  １−ｔ
（２）  （１＋ｃｏｓ（πｔ））／２
（３）  （２ｔ＋１）（１−ｔ）（１−ｔ）
（４）  （（６ｔ＋３）ｔ＋１）（１−ｔ）（１−ｔ）（１−ｔ）
（５）  （（（（７０ｔ＋３５）ｔ＋１５）ｔ＋５）ｔ＋１）（１−ｔ）（１−ｔ）（１−ｔ）（１−ｔ）（１−ｔ）
（１）の合成関数を用いた場合は、線形の合成となるため、合成時間での連続性のみしか保証されない。（２）〜（５）の場合は非線形の合成で、（２）、（３）では１階連続までが保証され、（４）では２階連続が、（５）では４階連続が保証される。
【００６２】
また、合成関数として、合成時間の初期時刻で「０」、合成時間の終りで「１」、単調増加で微分可能かつ合成時間の中点時刻での値に関して合成時間での値が１８０度の回転対称となるような関数とした場合、（合成速度）＝（予測延長動作の速度）×（１−合成関数）＋（初期時刻から合成時間分の被周期化動作の速度）×（合成関数）、によって計算する。
【００６３】
前述の正規化を行なったとき、このような接続関数としては次のようなものがある。
（１）  ｔ
（２）  １−（１＋ｃｏｓ（πｔ））／２
（３）  １−（２ｔ＋１）（１−ｔ）（１−ｔ）
（４）  １−（（６ｔ＋３）ｔ＋１）（１−ｔ）（１−ｔ）（１−ｔ）
（５）  １−（（（（７０ｔ＋３５）ｔ＋１５）ｔ＋５）ｔ＋１）（１−ｔ）（１−ｔ）（１−ｔ）（１−ｔ）（１−ｔ）
各関数の性質については前述と同様である。
【００６４】
推定延長動作の速さと初期時刻から合成時間分の被周期化動作の速さについても、合成速度の算出場合と同様の合成を行なって、合成速さを算出する。但し、合成関数は必ずしも合成速度の算出の場合と同一である必要はない。接続の滑らかさや計算時間などを考慮して適当に選択する。なお、合成時間内の現時刻ｉの位置は、前時刻ｉ−１から算出式、（現時刻ｉの位置）＝（前時刻ｉ−１）＋（前時刻ｉ−１の合成速度）×（前時刻ｉ−１の合成速さ）÷（前時刻ｉ−１の合成速度の大きさ）、によって求めることができる。
【００６５】
推定延長動作の時系列動作データの姿勢角度から、前姿勢ベクトルを算出し、初期時刻から合成時間分の被周期化動作の時系列動作データの姿勢角度から、後姿勢ベクトルを算出する。前姿勢ベクトルと後姿勢ベクトルを前述の合成速度の算出の場合と同様の合成を行なって、合成姿勢ベクトルを算出する。但し、合成関数は必ずしも合成速度の算出の場合と同一である必要はない。接続の滑らかさや計算時間などを考慮して適当に選択する。合成姿勢ベクトルから合成姿勢角度を算出する。合成姿勢ベクトルと合成姿勢角度の対応は一般に１対多のため、何の条件もなければ一意的に決めることはできない。しかし、姿勢ベクトルを構成する３つの方向ベクトルの回転角度について条件を付加することで、一意的な決定が行なえる。例えば、上方向ベクトルの回転角度は、−９０°以上９０°以下というような条件を付加して解く。このような制限は、当然、合成姿勢角度から合成姿勢ベクトルの算出には影響しない。
【００６６】
推定延長動作の時系列動作データの関節のスライドベクトルから、前スライド向きと前スライド量を算出し、初期時刻から合成時間分の被周期化動作の時系列動作データのスライドベクトルから、後スライド向きと後スライド量を算出する。但し、スライド向きとは、スライドベクトルそのもの、もしくは大きさ「１」に正規化したベクトルのことで、スライド量とはスライドベクトルの大きさである。前スライド向きと後スライド向き、及び前スライド量と後スライド量とを前述の合成速度の算出の場合と同様の合成を行なって、合成スライド向きと合成スライド量を算出する。但し、合成関数は必ずしも合成速度の算出の場合と同一である必要はない。接続の滑らかさや計算時間などを考慮して適当に選択する。次に、合成スライド向きと合成スライド量から合成スライドベクトルを算出式、（合成スライドベクトル）＝（合成スライド向き）×（合成スライド量）÷（合成スライド向きの大きさ）、によって求める。
【００６７】
推定延長動作の時系列動作データの関節角と、初期時刻から合成時間分の被周期化動作の時系列動作データの関節角を前述の合成速度の算出の場合と同様の合成を行なって、合成関節角を算出する。但し、合成関数は必ずしも合成速度の算出の場合と同一である必要はない。接続の滑らかさや計算時間などを考慮して適当に選択する。
【００６８】
生成した合成動作は、図１４に示すように、初期時刻から合成時間分の被周期化動作時系列動作データのうち、姿勢角度データ、及び関節のスライドベクトルデータと関節角データについては、合成動作の時系列動作データのものに交換する（図１５のステップＳ８４）。全体の位置データに関しては、合成時間の最終時刻における合成動作の全体の位置データと、初期時刻から合成時間後の被周期化動作の全体の位置データが一致するように平行移動量を計算し、この平行移動を合成動作の全体の位置データに施しながら交換して、開放系周期化時系列動作データを生成する。
【００６９】
次に、第２の処理方法について、図１６，図１７を参照しながら説明する。第２の処理方法では被周期化動作ＰＭの時系列動作データに対し、その最終時刻動作と初期時刻動作ＩＴが一致しかつ同様の動作を行うようにダミーの被周期化動作ＤＰＭを生成し（図１７のステップＳ９１参照）、このダミーの被周期化動作を図１６のように初期時刻から過去の方向に合成時間分だけ推定し、推定延長動作ＥＭを生成する（図１７のステップＳ９２参照）。このように、図１６では説明の便宜上、ダミーに対して推定延長動作を生成している。合成動作の生成については、推定延長動作と被周期化動作の最終時刻から合成時間分ＳＴだけ過去の時系列動作データに対して、第１の処理方法と同様に行なう（図１７のステップＳ９３参照）。なお、推定の方法は後述の動作接続手段における推定の方法と同様である。
【００７０】
生成した合成動作ＳＭは、図１６に示すように、最終時刻から過去の方向に合成時間分だけスライドさせた被周期化動作時系列動作データのうち、姿勢角度データ、及び関節のスライドベクトルデータと関節角データについては、合成動作の時系列動作データのものに交換する（図１７のステップＳ９４参照）。全体の位置データに関しては、合成時間の初期時刻における合成動作の全体の位置データと、最終時刻から合成時間前の被周期化動作の全体の位置データが一致するように平行移動量を計算し、この平行移動を合成動作の全体の位置データに施しながら交換して、開放系周期化時系列動作データを生成する。
【００７１】
さらに、第３の処理方法について、図１８，図１９を参照しながら説明する。
第３の処理方法では被周期化動作ＰＭの最終時刻ＴＴからα×（合成時間）分だけの時系列動作データを推定して、推定後延長動作ＥＢＭを生成する（図１９のステップＳ１０１）。また、被周期化動作ＰＭの最終時刻ＴＴと初期時刻ＩＴが一致し、かつ被周期化動作ＰＭと同じ動作を行うダミーの被周期化動作ＤＰＭを作成し（図１９のステップＳ１０２）、このダミーの被周期化動作の初期時刻から過去の方向に（１−α）×（合成時間）分だけの時系列動作データを推定して推定前延長動作ＥＦＭを生成する（図１９のステップＳ１０３）。但し、αは０≦α≦１の実数で、合成時間分配率と呼ぶ。
【００７２】
この合成時間分配率は図２７に示すように、開放系周期化動作生成手段３に合成時間分配率可変手段３ａを設けることにより、使用者がその値を可変することも可能である。
【００７３】
このように、図１８では説明の便宜上、ダミーＤＰＭに対して推定前延長動作ＥＦＭを生成している。このとき、被周期化動作の最終時刻から過去の方向に（１−α）×（合成時間）分だけ前の時系列動作データに推定後延長動作の時系列動作データを付け加えたものと、推定前延長動作の時系列動作データに初期時刻からα×（合成時間）分の被周期化動作を付け加えたものを第１の処理方法と同様の処理方法で合成する（図１３のステップＳ１０４）。このとき生成される合成動作は、合成時間の初期時刻から（１−α）×（合成時間）時間の後合成動作ＳＢＭと、残りのα×（合成時間）時間の前合成動作ＳＦＭに分けることができる。
なお、推定の方法は後述の動作接続手段での推定の方法と同様である。
【００７４】
生成した前合成動作ＳＦＭは、図１８に示すように、初期時刻からα×（合成時間）分の被周期化動作時系列動作データのうち、姿勢角度データ、及び関節のスライドベクトルデータと関節角データについては、前合成動作の時系列動作データのものに交換する。全体の位置データに関しては、α×（合成時間）後の時刻における前合成動作の全体の位置データと、初期時刻からα×（合成時間）後の被周期化動作の全体の位置データが一致するように平行移動量を計算し、この平行移動を合成動作の全体の位置データに施しながら交換する。また、生成した後合成動作は、図１８に示すように、最終時刻から過去の方向に（１−α）×（合成時間）時間分の被周期化動作時系列動作データのうち、姿勢角度データ、及び関節のスライドベクトルデータと関節角データについては、後合成動作の時系列動作データのものに交換する（図１９のステップＳ１０５）。全体の位置データに関しては、合成時間の初期時刻における後合成動作の全体の位置データと、最終時刻から（１−α）×（合成時間）時間前の被周期化動作の全体の位置データが一致するように平行移動量を計算し、この平行移動を合成動作の全体の位置データに施しながら交換する。以上の処理により、開放系周期化時系列動作データを生成する。
【００７５】
以上の３つの方法のいずれかの処理によって生成した開放系周期化時系列動作の時系列動作データはデータバス２を介して記憶手段５に保存される。
【００７６】
閉ループ化動作生成手段４は、記憶手段５に保存された開放系周期化時系列動作データのうち物体の位置データを、データバス２を介して読み出し、以下の処理をすることで、この開放系周期動作を閉ループ化する（図３のステップＳ３）。閉ループ化の処理について、図１１を参照しながら説明する。
【００７７】
前述のように、全体の位置データは物体全体の位置（基準位置）を表す代表点の座標値の時系列データであるので、時刻ｔの全体の位置データを
（ｘ（ｔ），ｙ（ｔ），ｚ（ｔ））
とし、時系列データの初期時刻をｔｓ、最終時刻をｔｅとする。今、φ（ｔ）を区間［０，１］で定義された関数とし、φ（０）＝０、φ（１）＝１、かつ単調増加な関数とする。予め与えられた影響時間をＴとするとき、時刻ｔｅ−Ｔからｔｅの間の時刻ｔの全体の位置データ
（ｘ（ｔ），ｙ（ｔ），ｚ（ｔ））に対して以下の式で示す処理を行ない、
（Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を算出し、これを新たな全体の位置データとすることで、位置データを閉ループ化する。
Ｘ（ｔ）＝ｘ（ｔ）−（ｘ（ｔｅ）−ｘ（ｔｓ））φ（（ｔ＋Ｔ−ｔｅ）／Ｔ）
Ｙ（ｔ）＝ｙ（ｔ）−（ｙ（ｔｅ）−ｙ（ｔｓ））φ（（ｔ＋Ｔ−ｔｅ）／Ｔ）
Ｚ（ｔ）＝ｚ（ｔ）−（ｚ（ｔｅ）−ｚ（ｔｓ））φ（（ｔ＋Ｔ−ｔｅ）／Ｔ）
但し、ｔｅ−Ｔ≦ｔ≦ｔｅである。
なお、このようなφ（ｔ）としては、具体的にはｔやｔのβ乗（１≦β）などを用いることができる。
【００７８】
以上の処理で生成した、閉ループ化した全体の位置データを、データバス２を介して、記憶手段５に保存された開放系周期化時系列動作データの全体の位置データと交換して保存する。
以上の一連の処理を行うことにより閉ループ系周期化動作データを生成することができる。
そして、この閉ループ化したデータを記憶手段２に格納し（図３のステップＳ４）、記憶手段２の内容を入出力手段１を介して外部に出力する（図３のステップＳ５）。
【００７９】
このように、本実施の形態１による閉ループ系周期化動作データ生成装置によれば、開放系非周期化動作の先頭あるいは末尾の動作時間を推定により延長し、これと開放系非周期化動作の末尾あるいは先頭を合成し、その合成動作により、開放系非周期化動作の先頭あるいは末尾を変更するようにしたので、開放系非周期化動作の時間長を変化することなく、開放系周期化動作を作成することが可能となる。
なお、本発明の実施の形態１は、コンピュータのプログラムとして実現することが可能である。従って、何らかの記録媒体を介してそのプログラムは伝達できる。
【００８０】
実施の形態２．
本発明の実施の形態２の閉ループ系周期化動作データ生成装置について、図面を参照しながら説明する。
図４は本発明の実施の形態２における閉ループ系周期化動作データ生成装置の構成を示すものであり、この図４の装置も本発明の実施の形態１による閉ループ系周期化動作データ生成装置と同様に構成できるものである。図４において、１１は時系列動作データを外部から入力し閉ループ系周期化動作データを外部へ出力する入出力手段、１２はこの入出力手段１１と後述する各部との間でデータのやりとりを行うためのデータバス、１３は外部から入力した時系列動作データを接続する動作接続手段、１４は時系列動作データに基づいて開放系周期化動作を生成する開放系周期化動作生成手段、１５は開放系周期化動作を接続し閉ループ化動作を生成する閉ループ化動作生成手段、１６は時系列動作データを記憶するための記憶手段である。
【００８１】
以上のように構成された閉ループ系周期化動作データ生成装置の動作について、以下、図５を用いて詳細に説明をする。
入出力手段１１は、複数の時系列動作データに対して、本発明の第１の実施例と同様の処理を行なう（図５のステップＳ１１）。
【００８２】
動作接続手段１３は、記憶手段１６に保存された複数の時系列動作データをデータバス１２を介して読み出し、これら複数の時系列動作データの接続を行なって一連の時系列動作データを生成する（図５のステップＳ１２）。この生成処理については３通りの処理方法がある。
【００８３】
第１の処理方法については図８を用いて、また、第２の処理方法については図１０を用いて、さらに、第３の処理方法については図１２を用いてそれぞれ説明を行う。図８、図１０、図１２においては、動作１Ｍ１、動作２Ｍ２、動作３Ｍ３の３つの動作の接続を行なう様子を示しているが、例えば、まず動作１Ｍ１と動作２Ｍ２の接続を行ない、その結果できた動作と動作３Ｍ３の接続を行なうというように、２つの動作の接続を順次繰り返すことで任意数の動作の接続が行なえるので、以下では、動作１Ｍ１と動作２Ｍ２の接続処理についてのみ説明を行なう。
【００８４】
図８，図９に示すように、第１の処理方法では、動作１Ｍ１の最終時刻ＴＴ１から接続時間分ＣＴ１の時系列動作データを推定し、推定延長動作ＥＭ１を生成する（図９のステップＳ５１）。この推定延長動作と初期時刻から接続時間ＣＴ２分の動作２Ｍ２の時系列動作データに対して、本発明の実施の形態１における開放系周期化動作生成手段３の第１の処理方法による合成動作の生成処理と同様の処理を行ない（図９のステップＳ５２）、接続動作ＣＴ１を生成する。動作１の時系列動作データに、接続動作の時系列動作データと初期時刻から接続時間後の動作２Ｍ２の時系列動作データとを順次付加することで（図９のステップＳ５３）、接続された一連の動作が生成される。
【００８５】
次に推定延長動作を生成するための３つの推定の方法について述べる。まず、第１の推定方法は、物体に静的な状態が続いているという仮定に基づき、図２１（ａ）に示すように、前時系列動作データＦＴＭの最終時刻における動作データと同じデータが与えられた接続時間分ＣＴだけ続くという推定をする。つまり、最終時刻における動作状態を接続時間分ＣＴだけ繰り返したコピーを生成すれば良い（図２３（ａ）のステップＳ１２ａ参照）ため、高速な処理が可能である。
【００８６】
第２の推定方法は、物体がスムーズに停止するという仮定に基づくものである。図２３（ａ）に示すように、前時系列動作データＦＴＭの最終時刻における動作データと同じ動作データへ、最終時刻から与えられた接続時間後に滑らかに移行すると推定して、推定延長動作データＥＭを生成する方法である。これは元々の前時系列動作データの最終時刻の動作状態を、時間的に最終時刻から接続時間分移動し（図２４（ａ）のステップＳ１３ａ参照）、最終時刻以前の前時系列動作データを用いて、スプライン関数などの補間関数ＩＣにより補間する（図２４（ａ）のステップＳ１３ｂ参照）ことで推定延長動作ＥＭを生成すればよい。
【００８７】
第３の推定方法は、推定延長動作は後時系列動作データに近いものであったという仮定に基づくものである。
【００８８】
図２４（ａ）に示すように、前時系列動作データＦＴＭの最終時刻から与えられた接続時間後ＣＴの時刻の動作状態が、後時系列動作データＢＴＭの初期時刻から接続時間後の時刻の動作状態に等しいものであると推定して、推定延長動作データＥＭを生成するものである。これは前時系列動作データの最終時刻から接続時間後の動作状態を（図２６（ａ）のステップＳ１４ａ参照）、後時系列動作データＢＴＭの初期時刻から接続時間ＣＴ後の動作データとし（図２６（ｂ）のステップＳ１４ｂ参照）、前時系列動作データの最終時刻以前の動作データを使って（図２６（ｃ）のステップＳ１４ｃ参照）、スプライン関数などの補間関数により補間して推定延長動作を生成すればよい。
【００８９】
動作接続手段１３における第２の処理方法について説明する。図１０，図１１に示すように、まず動作２Ｍ２の初期時刻から過去の方向に接続時間分だけの時系列動作データを推定して、推定延長動作ＥＭを生成する（図１１のステップＳ６１参照）。
【００９０】
動作１Ｍ１の最終時刻から接続時間分ＣＴだけ過去の時系列動作データと、動作２の初期時刻から過去の方向への接続時間分ＣＴだけの推定延長動作に対して、本発明の実施の形態１における開放系周期化動作生成手段３の第１の処理方法による合成動作の生成処理と同様の処理を行ない、接続動作ＣＭを生成する（図１１のステップＳ６２参照）。初期時刻から（最終時刻）−（接続時間）時刻までの動作１Ｍ１の時系列動作データに、接続動作の時系列動作データと動作２の時系列動作データとを順次付加することで、接続された一連の動作が生成される（図１１のステップＳ６３参照）。
【００９１】
次に推定延長動作を生成するための３つの推定の方法について述べる。まず、第１の推定方法は、過去においては静的な状態であったという仮定に基づくものである。図２１（ｂ）に示すように、後時系列動作データＢＴＭの初期時刻における動作データと同じデータが、与えられた接続時間分だけ過去の方向に続いているという推定をする。つまり、初期時刻における動作状態を接続時間分だけ、過去の方向に繰り返しコピーすることで（図２２（ｂ）のステップＳ１２ｂ参照）、推定延長動作ＥＭが生成できるので、高速な処理が可能である。
【００９２】
第２の推定方法は、停止状態からスムーズに動作を始めたという仮定に基づくものである。図２２（ｂ）に示すように、後時系列動作データの初期時刻における動作データと同じデータを、初期時刻から与えられた接続時間分ＣＴ過去に移動し、この状態から滑らかに動作が始まると推定するものである。これは元々の後時系列動作データＢＴＭの最終時刻の動作状態を、時間的に過去の方向へ初期時刻から接続時間分ＣＴだけ移動し（図２４（ｂ）のステップＳ１３ｃ参照）、初期時刻以後の動作データを用いて、スプライン関数などの補間関数ＩＣにより補間する（図２４（ｂ）のステップＳ１３ｄ参照）ことで推定延長動作を生成すればよい。
【００９３】
第３の推定方法は、推定延長動作は前時系列動作データＦＴＭに近いものであったという仮定に基づくものである。図２４（ｂ）に示すように、後時系列動作データＢＴＭの初期時刻から与えられた接続時間前の時刻の動作状態が、前時系列動作データの最終時刻から接続時間前の時刻の動作状態であると推定するものである。これは後時系列動作データＢＴＭの初期時刻から接続時間前の動作状態を、前時系列動作データＦＴＭの最終時刻から接続時間前の動作データとし（図２６（ｂ）のステップＳ１４ｄ，Ｓ１４ｅ参照）、後時系列動作データの初期時刻以後の動作データを使って、スプライン関数などの補間関数ＩＣにより補間する（図２６（ｂ）のステップＳ１４ｆ参照）ことで推定延長動作を生成する。
【００９４】
動作接続手段１３における第３の処理方法について説明する。図１２，図１３に示すように、動作１Ｍ１の最終時刻動作ＴＴ１と動作２Ｍ２の初期時刻動作ＩＴ１の時刻が一致するように、動作１Ｍ１と動作２Ｍ２を時間軸上で配置し（図１３のステップＳ７１参照）、動作１Ｍ１の最終時刻から、γ×（接続時間）時間分だけの時系列動作データを推定して、推定後延長動作を生成し（図１３のステップＳ７２参照）、また、動作２Ｍ２の初期時刻から過去の方向に（１−γ）×（接続時間）時間分だけの時系列動作データを推定して推定前延長動作ＥＭＦ１を生成する（図１３のステップＳ７３参照）。但し、γは０≦γ≦１で接続時間配分率と呼ぶ。
この接続時間分配率は図２８に示すように、動作接続手段１３に接続時間分配率可変手段１３ａを設けることにより、使用者がその値を可変することも可能である。
【００９５】
動作１Ｍ１の最終時刻から（１−γ）×（接続時間）時間分だけ過去の時系列動作データと動作２から推定して生成した推定前延長動作の時系列動作データと（図１３のステップＳ７４参照）、動作１から推定して生成した推定後延長動作の時系列動作データと動作２の初期時刻からγ×（接続時間）時間分の時系列動作データに対して、本発明の実施の形態１における開放系周期化動作生成手段３の第１の処理方法による合成動作の生成処理と同様の処理を行ない（図１３のステップＳ７４，Ｓ７５参照）、前接続動作ＣＭＦ１と後接続動作ＣＭＢ１を生成する。但し、前接続動作ＣＭＦ１と後接続動作ＣＭＢ１をまとめて接続動作ＣＭ１とする。
【００９６】
このように、動作１Ｍ１の初期時刻から（最終時刻）−（１−γ）×（接続時間）時刻までの時系列動作データに、接続動作の時系列動作データと、動作２Ｍ２の初期時刻のγ×（接続時間）時間後から最終時刻までの時系列動作データとを順次付加することで、接続された一連の動作が生成される（図１３のステップＳ７６参照）。
【００９７】
次に推定後延長動作と推定前延長動作の生成方法について述べる。推定後延長動作の生成については、動作接続手段１３における第１の方法で述べた、３つの推定方法によって動作を推定して生成を行なう。また、推定前延長動作の生成方法については、動作接続手段１３における第２の方法で述べた、３つの推定方法によって推定して生成を行なう。推定後延長動作と推定前延長動作の生成に関するこれらの３つの推定方法は、互いに独立であることから、組合せとしては９つの生成方法が可能となる。
【００９８】
元の動作１Ｍ１と動作２Ｍ２が接続されると、接続後の動作は元のそれぞれ動作に変更が加えられたものとなる。時間に関しては、接続時間配分率γによって、動作１Ｍ１と動作２Ｍ２に対する接続による動作変更の影響時間をどの程度にするかを制御できる。つまり、γが「０」に近付くほど、接続結果による動作変更の影響は、動作１Ｍ１に対して大きくなり（動作２Ｍ２に対して小さくなり）、逆にγが０に近付くほど、動作１Ｍ１への影響が小さくなる（動作２Ｍ２への影響が大きくなる）。特に、γ＝１／２のときは時間的に等価な影響を受ける。
次に、影響の受け方は推定方法にも関係し、実験の結果では、動作接続手段１３における第１の方法と第２の方法で述べた、それぞれの３つの推定方法のうち、いずれも第３の推定方法がもっとも影響が少ない。これは、第３の推定方法が、いずれも推定動作を接続する動作に近付けた推定をすることに起因しているものと考えられる。しかしながら、第１の推定方法に比べ処理時間は大きい。以上のことから、接続による動作変更の影響を制御するために次の方法が考えられる。
【００９９】
まず、第１の方法は、時系列動作データ毎に、付加情報として、接続時間配分率γの値を持つものである。これらの値は、推定後延長動作の生成の場合と推定前延長動作の生成の場合で共通で持ってもよいが、別々に保持してもよく、別々に保持した方がより細かな制御が可能となる。接続する２つの時系列動作データを前時系列動作データと後時系列動作データとすると、前述したが、接続時間配分率は、「０」に近いほど前時系列動作データへの影響が大きく、後時系列動作データへの影響が小さくなる。逆に、「１」に近いほど前時系列動作データへの影響が小さく、率γ（図１２参照）を算出する関数を、γ＝ｆ（γ１，γ２）とする。このときこの関数に必要な性質として次の条件を満たすことが考えられる。
【０１００】
（１）γ１＝０、γ２＝０ならばγ＝ｆ（γ１，γ２）＝０
（２）γ１＝１、γ２＝１ならばγ＝ｆ（γ１，γ２）＝１
（３）γ１＝１／２、γ２＝１／２ならばγ＝ｆ（γ１，γ２）＝１／２
（４）γ１＝０、γ２＝１ならばγ＝ｆ（γ１，γ２）＝１／２
（５）γ１＝１、γ２＝０ならばγ＝ｆ（γ１，γ２）＝１／２
このような関数としては、例えば、線形関数の場合、γ＝ｆ（γ１，γ２）＝（γ１＋γ２）／２、がある。この接続時間配分率γに応じ、推定前延長動作と推定後延長動作を生成する。
【０１０１】
第２の方法は、時系列動作データに、推定延長動作の生成方法を数値化し、この数値を付加情報として与える方法である。前述の接続時間配分率については、更に付加情報として加えてもよいし、共通の値として予め指定しても構わない。
但し、接続時間配分率を付加情報に加えた方が、より細かな影響制御ができる。
【０１０２】
例えば、推定後延長動作の生成方法と推定前延長動作の生成方法のそれぞれに対して、第１の処理方法に対して「１」、第２の処理方法に対して「２」、第３の処理方法に対して「３」を、各時系列動作データに付加情報として与える。この付加情報に応じて、推定後延長動作や推定前延長動作を生成すれば良い。
【０１０３】
第３の方法は、時系列動作データに、その動作の重要度（優先度）を示すような値を付加情報として与える方法である。但し、重要度（優先度）が高いものはなるべく接続による影響を受けない方が良いものとする。例えば、前時系列動作データ、動作１Ｍ１に対する付加情報の重要度をδ１、後時系列動作データ、動作２Ｍ２に対する付加情報の重要度をδ２とする。但し、０≦δ１，δ２≦１とする。推定後延長動作の生成方法は次のルールで決定する。
（１）０≦δ２≦１／３ならば第１の推定方法
（２）１／３≦δ２≦２／３ならば第２の推定方法
（３）２／３≦δ２≦１ならば第３の推定方法
また、推定前延長動作の生成方法は次のルールで決定する。
（１）０≦δ１≦１／３ならば第１の推定方法
（２）１／３≦δ１≦２／３ならば第２の推定方法
（３）２／３≦δ１≦１ならば第３の推定方法
次に、接続時間配分率γは、γ＝ｇ（δ１，δ２）＝（δ１−δ２＋１）／２、により決定する。この決め方は、１−δ２が非重要度を表すことから、この値が大きければ接続による影響時間が長くてもいいことを表す。従って、前述の関数γ＝ｆ（γ１，γ２）＝（γ１＋γ２）／２、に対して、γ１＝δ１，γ２＝１−δ２として代入したものである。また、δ１＝δ２ならば、常にγ＝１／２になるという、非常に自然な性質を持っている。なお、この重要度を表す付加情報は、時系列動作データに対して、推定後延長動作用と推定前延長動作用を別々に保持しても良い。この場合はより、細かな制御が可能となる。
以上に述べた動作の接続に関する方法は、全て前述の合成配分率の場合にも適用可能である。
【０１０４】
そして、このような、接続時間配分率γや重要度δは図３１に示すように、時系列データのヘッダＨＤに添付して外部に向けて送信する。なお、その場合のフォーマットは図３１（ａ），図３１（ｂ）に示すように２通りあり、図３１（ａ）に示すように、基準位置ＲＰ，姿勢Ｐ，関節角ＪＡを同じ時間帯にまとめて送るものと、図３１（ｂ）に示すように、基準位置ＲＰ，姿勢Ｐ，関節角ＪＡをこの順で繰り返し送るものの２通りがある。
【０１０５】
複数の動作の接続によって生成された一連の動作の時系列動作データは、データバス１２を介して記憶手段１６に保存される。
【０１０６】
開放系周期化動作生成手段１４は、動作接続手段１３により生成され、記憶手段１６に保存された一連の動作の時系列動作データに対して、本発明の実施の形態１における開放系周期化動作生成手段３と同様の処理を行って、開放系周期化時系列動作の生成を行なう（図５のステップＳ１３）。生成した開放系周期化時系列動作の時系列動作データはデータバス２を介して記憶手段１６に保存される。
【０１０７】
閉ループ化動作生成手段１５は、記憶手段１６に保存された開放系周期化時系列動作データうち全体の位置データをデータバス１２を介して読みだし、この開放系周期動作を本発明の実施の形態１における閉ループ化動作生成手段４と同様の処理を行なうことで閉ループ化する（図５のステップＳ１４）。閉ループ化した全体の位置データはデータバス１２を介して、記憶手段１６に保存された開放系周期化時系列動作データの全体の位置データと交換して保存する（図５のステップＳ１５）。
【０１０８】
そして、記憶手段１２の内容を入出力手段１１を介して外部に出力する（図５のステップＳ１６）。
【０１０９】
このように、本実施の形態２による動作データ生成装置によれば、開放系非周期化動作の先頭あるいは末尾の動作時間を推定により延長し、これと開放系非周期化動作の末尾あるいは先頭を合成し、その合成動作により、開放系非周期化動作の先頭あるいは末尾を変更することにより開放系非周期化動作を接続し、さらに、開放系非周期化動作の先頭あるいは末尾の動作時間を推定により延長し、これと開放系非周期化動作の末尾あるいは先頭を合成し、その合成動作により、開放系非周期化動作の先頭あるいは末尾を変更するようにしたので、複数の開放系非周期化動作の時間長を変化することなく、開放系周期化動作を作成することが可能となる。
【０１１０】
なお、本発明の実施の形態２は、コンピュータのプログラムとして実現することが可能である。従って、何らかの記録媒体を介してそのプログラムは伝達できる。
また、本発明の実施の形態２における合成動作の生成処理と接続動作の生成処理は共通化できる。
また、本発明の実施の形態２において、開放系周期化動作生成手段１４、及び閉ループ化動作生成手段１５における処理を行なわなければ、動作接続装置として使用することができる。この場合も、コンピュータのプログラムとしての実現が可能で、記録媒体を介して伝達可能である。
また、本発明の実施の形態２によれば、動作接続装置として使用することができる。このような閉ループ系周期化動作データ生成や動作接続は、ゲームやグラフィカル・エージェント等の制作において、今後重要となる技術の根幹をなすものであり、本発明の意義は大きい。
【０１１１】
実施の形態３．
なお、上記実施の形態１．では外部から入力される時系列動作データは元データそのものであるが、これはインターネット等の通信ネットワークを介して送られるものである場合、予めデータの送信側で圧縮されているものであってもよく、この場合、図２９の装置のように、伸長手段６を設けて、入出力手段１により入力した，予めデータの送信側で圧縮されている時系列動作データを伸長し、これを図２の装置と同様に、開放系周期化動作生成手段３により開放系周期化動作を生成し、これを受けた閉ループ化動作生成手段４により、閉ループ化動作を生成するものであり、これにより、圧縮された時系列動作データであっても、開放系非周期化動作の時間長を変化することなく、開放系周期化動作を作成することが可能となる。
【０１１２】
実施の形態４．
また、上記実施の形態２．では外部から入力される時系列動作データは元データそのものであるが、これはインターネット等の通信ネットワークを介して送られるものである場合、予めデータの送信側で圧縮されているものであってもよく、この場合、図３０の装置のように、伸長手段１７を設けて、入出力手段１１により入力した，予めデータの送信側で圧縮されている時系列動作データを伸長し、これを図３の装置と同様に、動作接続手段１３により複数の時系列動作データを接続し、開放系周期化動作生成手段１４により開放系周期化動作を生成し、これを受けた閉ループ化動作生成手段１５により、閉ループ化動作を生成するものであり、これにより、圧縮された時系列動作データであっても、複数の開放系非周期化動作の時間長を変化することなく、開放系周期化動作を作成することが可能となる。
【０１１３】
【発明の効果】
以上のように、本願の請求項１の発明に係る動作データ生成装置によれば、
接続する２つの時系列動作データを記憶する記憶部と、
接続時間配分率γに応じて、（ａ）前時系列動作データの最終時刻から、γ×（接続時間）分の動作データを推定して推定後延長動作データを生成し、（ｂ）後時系列動作データの初期時刻から時間的に過去の方向へ（１−γ）×（接続時間）分の動作データを推定して推定前延長動作データを生成し、（ｃ）上記前時系列動作データの最終時刻より（１−γ）×（接続時間）分だけ過去の動作データと上記推定前延長動作データに基づき、前半部接続動作データを生成し、（ｄ）上記後時系列データの初期時刻からγ×（接続時間）までの動作データと前記推定後延長動作データに基づき、後半部接続動作データを生成する動作接続部とを備えるようにしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる効果がある。
【０１１４】
また、本願の請求項２の発明に係る動作データ生成装置によれば、
請求項１記載の動作データ生成装置において、
接続する２つの時系列動作データをそれぞれ前時系列動作データと後時系列動作データとすると、上記動作接続部は、上記前時系列動作データの最終時刻から接続時間分の動作データを推定して推定延長動作データを生成し、上記後時系列動作データの初期時刻から接続時間までの動作データと上記推定延長動作データに基づき、接続動作データを生成するものである、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる動作データ生成装置が得られる効果がある。
【０１１５】
また、本願の請求項３の発明に係る動作データ生成装置によれば、
請求項２記載の動作データ生成装置において、
上記動作接続部は、（ａ）接続時間の初期時刻で０であり、接続時間の最終時刻で１であり、（ｂ）単調増加し、（ｃ）微分可能で、（ｄ）接続時間内で、接続時間の中点時刻に関して１８０度の回転対称となるような関数を用いた、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる動作データ生成装置が実際に得られる効果がある。
【０１１６】
また、本願の請求項４の発明に係る動作データ生成装置によれば、
請求項２記載の動作データ生成装置において、
上記動作接続部は、（ａ）接続時間の初期時刻で１であり、接続時間の最終時刻で０であり、（ｂ）単調減少し、（ｃ）微分可能で、（ｄ）接続時間内で、接続時間の中点時刻に関して１８０度の回転対称となるような関数を用いた、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる動作データ生成装置が実際に得られる効果がある。
【０１１７】
また、本願の請求項５の発明に係る動作データ生成装置によれば、
請求項２記載の動作データ生成装置において、
上記動作接続部は、最終時刻における前時系列動作データが、上記最終時刻から接続時間分だけ続くと推定して、推定延長動作データを生成する、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる動作データ生成装置が実際に得られる効果がある。
【０１１８】
また、本願の請求項６の発明に係る動作データ生成装置によれば、
請求項２記載の動作データ生成装置において、
上記動作接続部は、動作データは、最終時刻における前時系列動作データへ、上記最終時刻から接続時間後に滑らかに移行すると推定して、推定延長動作データを生成する、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる動作データ生成装置が実際に得られる効果がある。
【０１１９】
また、本願の請求項７の発明に係る動作データ生成装置によれば、
請求項２記載の動作データ生成装置において、
上記動作接続部は、前時系列動作データの最終時刻から接続時間後の時刻の前時系列動作データの動作状態が、後時系列動作データの初期時刻から接続時間後の時刻の後時系列動作データの動作状態であると推定して、推定延長動作データを生成する、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる動作データ生成装置が実際に得られる効果がある。
【０１２０】
また、本願の請求項８の発明に係る動作データ生成装置によれば、
請求項２記載の動作データ生成装置において、
上記動作接続部は、数値表現した推定延長動作の生成方法に関する付加情報を保持した時系列動作データに対して、該付加情報に応じて、推定延長動作や、推定後延長動作、推定前延長動作を生成する、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる動作データ生成装置が実際に得られる効果がある。
【０１２１】
また、本願の請求項９の発明に係る動作データ生成装置によれば、
請求項１記載の動作データ生成装置において、
接続する２つの時系列動作データを前時系列動作データと後時系列動作データとすると、上記動作接続部は、上記後時系列動作データの初期時刻から時間的に過去の方向における接続時間分の動作データを推定して推定延長動作データを生成し、上記前時系列動作データの最終時刻より接続時間分だけ過去の動作データと上記推定延長動作データから接続動作データを生成するものである、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる動作データ生成装置が実際に得られる効果がある。
【０１２２】
また、本願の請求項１０の発明に係る動作データ生成装置によれば、
請求項９記載の動作データ生成装置において、
上記動作接続部は、初期時刻における後時系列動作データが、該初期時刻から時間的に過去の方向において接続時間分だけ続いていたと推定して、推定延長動作データを生成する、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる動作データ生成装置が実際に得られる効果がある。
【０１２３】
また、本願の請求項１１の発明に係る動作データ生成装置によれば、
請求項９記載の動作データ生成装置において、
上記動作接続部は、後時系列動作データの初期時刻から接続時間分過去の時刻における上記後時系列動作データの動作状態が、初期時刻における上記後時系列動作データの動作状態でもって、滑らかに上記後時系列動作データへ移行すると推定して、推定延期動作データを生成する、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる動作データ生成装置が実際に得られる効果がある。
【０１２４】
また、本願の請求項１２の発明に係る動作データ生成装置によれば、
請求項１１記載の動作データ生成装置において、
上記動作接続部は、時系列動作データの重要度を数値表現した値を付加情報として保持した時系列動作データに対して、前時系列動作データに対する付加情報の重要度の値と、後時系列動作データに対する付加情報の重要度の値とに基づいて、推定後延長動作と推定前延長動作の生成方法を決定し、接続時間配分率の算出を行い、推定後延長動作と推定前延長動作を生成する、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる動作データ生成装置が実際に得られる効果がある。
【０１２５】
また、本願の請求項１３の発明に係る動作データ生成装置によれば、
請求項９記載の動作データ生成装置において、
上記動作接続部は、後時系列動作データの初期時刻から接続時間分過去の時刻の上記後時系列動作データの動作状態が、前時系列動作データの最終時刻から上記接続時間分過去の時刻の上記前時系列動作データの動作状態に滑らかに移動すると推定して、推定延長動作データを生成する、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる動作データ生成装置が実際に得られる効果がある。
【０１２６】
また、本願の請求項１４の発明に係る動作データ生成装置によれば、
請求項１記載の動作データ生成装置において、
上記動作接続部は、付加情報として接続時間配分率の値を保持した時系列動作データに対して、前時系列動作データに対する付加情報の接続時間配分率と、後時系列動作データに対する付加情報の接続時間配分率とに基づき、接続時における接続時間配分率を算出し、上記接続時間配分率に応じて、推定前延長動作と推定後延長動作を生成する、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる動作データ生成装置が実際に得られる効果がある。
【０１２７】
また、本願の請求項１５の発明に係る動作データ生成装置によれば、
請求項１記載の動作データ生成装置において、
上記動作接続部は、付加情報としての接続時間配分率を保持した時系列動作データに対して、前時系列動作データに対する付加情報の接続時間配分率γ１と、後時系列動作データに対する付加情報の接続時間配分率γ２とに基づき、接続時における接続時間配分率γをγ＝（γ１＋γ２）／２により算出し、推定前延長動作と推定後延長動作を生成する、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができ、しかもその接続時間配分率γを可変することができる動作データ生成装置が実際に得られる効果がある。
【０１２８】
また、本願の請求項１６の発明に係る動作データ生成装置によれば、
請求項１記載の動作データ生成装置において、
上記動作接続部は、時系列動作データの重要度を数値表現した値を付加情報として保持した時系列動作データに対して、前時系列動作データに対する付加情報の重要度の値δ１と、後時系列動作データに対する付加情報の重要度の値δ２（０≦δ１，δ２≦１）とに基づき、推定後延長動作と推定前延長動作の生成方法を決定し、接続時間配分率γの算出をγ＝（δ１−δ２＋１）／２で行ない、推定後延長動作と推定前延長動作を生成する、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができ、しかもその接続時間配分率γを可変することができる動作データ生成装置が実際に得られる効果がある。
【０１２９】
また、本願の請求項１７の発明に係る動作データ生成方法によれば、
接続する２つの時系列データを記憶する工程と、
（ａ）前時系列動作データの最終時刻から、γ×（接続時間）分の動作データを推定して推定後延長動作データを生成し、（ｂ）後時系列動作データの初期時刻から時間的に過去の方向へ（１−γ）×（接続時間）分の動作データを推定して推定前延長動作データを生成し、（ｃ）上記前時系列動作データの最終時刻より（１−γ）×（接続時間）分だけ過去の動作データと上記推定前延長動作データとに基づき、前半部接続動作データを生成し、（ｄ）上記後時系列データの初期時刻からγ×（接続時間）までの動作データと前記推定後延長動作データとに基づき、後半部接続動作データを生成する接続動作とを含む、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる動作データ生成方法が得られる効果がある。
【０１３０】
また、本願の請求項１８の発明に係る動作データ生成プログラム記憶媒体によれば、
動作データ生成プログラムを記憶する記憶媒体であって、
該プログラムは、
接続する２つの時系列データを記憶する工程と、
（ａ）前時系列動作データの最終時刻から、γ×（接続時間）分の動作データを推定して推定後延長動作データを生成し、（ｂ）後時系列動作データの初期時刻から時間的に過去の方向へ（１−γ）×（接続時間）分の動作データを推定して推定前延長動作データを生成し、（ｃ）上記前時系列動作データの最終時刻より（１−γ）×（接続時間）分だけ過去の動作データと上記推定前延長動作データとに基づき、前半部接続動作データを生成し、（ｄ）上記後時系列データの初期時刻からγ×（接続時間）までの動作データと前記推定後延長動作データとに基づき、後半部接続動作データを生成する接続動作とを含む、
ことを特徴とするものとしたので、
２つの時系列動作データを接続してその時間長が２つの時系列動作データの和に等しい新たな時系列動作データを生成することができる動作データ生成プログラム記録媒体が得られる効果がある。
【０１３１】
また、本願の請求項１９の発明に係る閉ループ周期化動作データ生成装置によれば、
記憶部と、
（ａ）剛体多関節物体の各時刻における全体の位置データ、姿勢角度データ、関節スライドベクトルデータ、および各時刻における剛体多関節物体の関節角度データを含む時系列動作データを受信し、（ｂ）受信した時系列動作データを上記記憶部に記憶し、（ｃ）上記記憶部に保存された時系列動作データから生成された閉ループ周期化動作データを読み出す入出力部と、
（ａ）上記記憶部に記憶された時系列動作データを読み出し、（ｂ）剛体多関節物体の局所部分を周期化することにより開放周期化時系列動作データを生成し、（ｃ）上記記憶部に該開放周期化時系列動作データを格納する開放周期化動作生成部と、
（ａ）上記開放周期化時系列動作データのうちの剛体多関節物体全体の位置データを読み出し、（ｂ）剛体多関節物体全体の位置データを閉ループ化する、すなわち、剛体多関節物体全体の動きを閉ループ化することにより閉ループ化動作データを生成し、（ｃ）上記記憶部に記憶された開放周期化時系列動作データを、該閉ループ動作データに置き換え、（ｄ）上記記憶部に該閉ループ動作データを格納する閉ループ動作生成部とを備えた、
ことを特徴とするものとしたので、
剛体多関節物体を動かすために与えられた単数の開放系時系列動作データから閉ループ系の周期化動作データを生成する装置を提供できる効果がある。
【０１３２】
また、本願の請求項２０の発明に係る閉ループ周期化動作データ生成方法によれば、
（ａ）剛体多関節物体の各時刻における全体の位置データ、姿勢角度データ、関節スライドベクトルデータ、および各時刻における剛体多関節物体の関節角度データを含む時系列動作データを受信し、（ｂ）受信した時系列動作データを上記記憶部に記憶し、（ｃ）上記記憶部に保存された時系列動作データから生成された閉ループ周期化動作データを読み出す入出力管理工程と、
（ａ）上記記憶部に記憶された時系列動作データを読み出し、（ｂ）剛体多関節物体の局所部分を周期化することにより開放周期化時系列動作データを生成し、（ｃ）上記記憶部に該開放周期化時系列動作データを格納する開放周期化動作生成工程と、
（ａ）上記開放周期化時系列動作データのうちの剛体多関節物体全体の位置データを読み出し、（ｂ）剛体多関節物体全体の位置データを閉ループ化する、すなわち、剛体多関節物体全体の動きを閉ループ化することにより閉ループ化動作データを生成し、（ｃ）上記記憶部に記憶された開放周期化時系列動作データを、該閉ループ動作データに置き換え、（ｄ）上記記憶部に該閉ループ動作データを格納する閉ループ動作生成工程とを含む、
ことを特徴とするものとしたので、
剛体多関節物体を動かすために与えられた単数の開放系時系列動作データから閉ループ系の周期化動作データを生成する方法を提供できる効果がある。
【０１３３】
また、本願の請求項２１の発明に係る閉ループ周期化動作データ生成プログラム記憶媒体によれば、
閉ループ周期化動作データ生成プログラムを記憶する記憶媒体であって、
該プログラムは、
（ａ）剛体多関節物体の各時刻における全体の位置データ、姿勢角度データ、関節スライドベクトルデータ、および各時刻における剛体多関節物体の関節角度データを含む時系列動作データを受信し、（ｂ）受信した時系列動作データを上記記憶部に記憶し、（ｃ）上記記憶部に保存された時系列動作データから生成された閉ループ周期化動作データを読み出す入出力管理工程と、
（ａ）上記記憶部に記憶された時系列動作データを読み出し、（ｂ）剛体多関節物体の局所部分を周期化することにより開放周期化時系列動作データを生成し、（ｃ）上記記憶部に該開放周期化時系列動作データを格納する開放周期化動作生成工程と、
（ａ）上記開放周期化時系列動作データのうちの剛体多関節物体全体の位置データを読み出し、（ｂ）剛体多関節物体全体の位置データを閉ループ化する、すなわち、剛体多関節物体全体の動きを閉ループ化することにより閉ループ化動作データを生成し、（ｃ）上記記憶部に記憶された開放周期化時系列動作データを、該閉ループ動作データに置き換え、（ｄ）上記記憶部に該閉ループ動作データを格納する閉ループ動作生成工程とを含む、
ことを特徴とするものとしたので、
剛体多関節物体を動かすために与えられた単数の開放系時系列動作データから閉ループ系の周期化動作データを生成するプログラムを記録した媒体を提供できる効果がある。
【図面の簡単な説明】
【図１】  本発明の実施の形態１における動作データ生成装置のブロック構成図である。
【図２】  本発明の実施の形態１における動作データ生成装置の機能的な構成図である。
【図３】  本発明の実施の形態１における動作データ生成装置の動作を示すフローチャート図である。
【図４】  本発明の実施の形態２における動作データ生成装置の機能的な構成図である。
【図５】  本発明の実施の形態２における動作データ生成装置の動作を示すフローチャート図である。
【図６】  時系列動作データのデータ構造の説明に必要な骨格構造および剛体多関節物体（人間）を示した図である。
【図７】  開放系非周期動作および開放系周期動作および閉ループ系周期動作の説明図である。
【図８】  本発明の実施の形態２による動作接続の説明図である。
【図９】  本発明の実施の形態２による動作接続を示すフローチャート図である。
【図１０】  本発明の実施の形態２による動作接続の説明図である。
【図１１】  本発明の実施の形態２による動作接続を示すフローチャート図である。
【図１２】  本発明の実施の形態２による動作接続の説明図である。
【図１３】  本発明の実施の形態２による動作接続を示すフローチャート図である。
【図１４】  開放系周期化動作生成の説明図である。
【図１５】  開放系周期化動作生成を示すフローチャート図である。
【図１６】  開放系周期化動作生成の説明図である。
【図１７】  開放系周期化動作生成を示すフローチャート図である。
【図１８】  開放系周期化動作生成の説明図である。
【図１９】  開放系周期化動作生成を示すフローチャート図である。
【図２０】  閉ループ化動作生成の説明図である。
【図２１】  推定延長動作生成の説明図である。
【図２２】  推定延長動作生成の説明図である。
【図２３】  推定延長動作生成のフローチャート図である。
【図２４】  推定延長動作生成のフローチャート図である。
【図２５】  推定延長動作生成の説明図である。
【図２６】  推定延長動作生成のフローチャート図である。
【図２７】  合成時間分配率可変手段を付加した，本発明の実施の形態１による動作データ生成装置の機能的な構成図である。
【図２８】  接続時間配分率可変手段を付加した実施の形態２による動作データ生成装置の機能的な構成図である。
【図２９】  本発明の実施の形態３による動作データ生成装置の機能的な構成図である。
【図３０】  本発明の実施の形態４による動作データ生成装置の機能的な構成図である。
【図３１】  本発明で送信されるデータのデータ構造を示す図である。
【符号の説明】
１，１１  入出力手段
２，１２  データバス
３，１４  開放系周期化動作生成手段
４，１５  閉ループ化動作生成手段
５，１６  記憶手段
１３  動作接続手段
６，１７  伸長手段