(57)【特許請求の範囲】
【請求項１】
オブジェクトを画像表示部に表示するためのデータを処理可能なコンピュータに、
記憶部に格納された、前記オブジェクトの複数の姿勢それぞれを決定し、複数の要素と複数の前記要素それぞれを互いに連結するための連結部とからなる前記オブジェクトにおいて前記連結部まわりに回転する前記要素の位置を規定するためのものであり、前記連結部に定義される姿勢決定用データを、制御部に認識させる姿勢決定用データ認識機能と、
複数の前記姿勢決定用データのうちのいずれか２つの姿勢決定用データを、基準姿勢決定用データとして制御部に認識させる第１基準姿勢決定用データ認識機能と、
前記基準姿勢決定用データを記憶部に格納する処理を制御部に実行させる第１基準姿勢決定用データ格納機能と、
前記基準姿勢決定用データを用いて複数の前記姿勢決定用データそれぞれに対応する対応データを算出する処理を、制御部に実行させる対応データ算出機能と、
前記姿勢決定用データと前記対応データとの差異を許容する許容範囲を規定するためのものであり、前記オブジェクトの基部に配置される前記連結部と、少なくとも１つの前記要素を介して前記オブジェクトの基部に配置された前記連結部に連なる末端部との距離が大きくなるにつれて、前記オブジェクトの基部側における前記姿勢決定用データと前記対応データとの差異を判断するための判別基準が厳しくなるような、許容差異データを設定し、制御部に認識させる許容差異データ認識機能と、
前記姿勢決定用データと前記姿勢決定用データに対応する前記対応データとを比較する処理を制御部に実行させることにより、前記姿勢決定用データと前記対応データとの差異が前記許容差異データに対応する許容範囲内であるか否かを、制御部に判別させるデータ差異判別機能と、
前記姿勢決定用データと前記対応データとの差異が前記許容差異データに対応する許容範囲外であると制御部に判別された場合に、最大の差異を有する前記姿勢決定用データを、前記基準姿勢決定用データとは異なる基準姿勢決定用データとして制御部に認識させる第２基準姿勢決定用データ認識機能と、
前記基準姿勢決定用データとは異なる基準姿勢決定用データを記憶部に格納する処理を制御部に実行させる第２基準姿勢決定用データ格納機能と、
前記姿勢決定用データと前記対応データとの差異が前記許容差異データに対応する許容範囲内であると制御部に判別された場合に、記憶部に格納された全ての前記基準姿勢決定用データを制御部に認識させる第３基準姿勢決定用データ認識機能と、
を実現させるための画像処理プログラム。
【請求項２】
前記許容差異データ認識機能では、前記距離が大きくなるにつれて前記オブジェクトの基部側における前記判別基準が厳しくなるように前記許容差異データを調節するための調節データを、設定する処理、および前記許容差異データに前記調節データを乗じる処理を、制御部に実行させることにより、前記許容差異データが設定される、
請求項１に記載の画像処理プログラム。
【請求項３】
前記対応データ算出機能では、前記基準姿勢決定用データを用いて複数の前記姿勢決定用データそれぞれに対応する前記対応データを補間により算出する処理が、制御部により実行され、
前記データ差異判別機能では、前記姿勢決定用データと前記姿勢決定用データに対応する前記対応データとの差を計算する処理を制御部に実行させることにより、前記姿勢決定用データと前記対応データとの差が前記許容差異データに対応する許容値未満であるか否かが、制御部により判別され、
前記第２基準姿勢決定用データ認識機能では、前記姿勢決定用データと前記対応データとの前記差が前記許容差異データに対応する許容値以上であると制御部に判別された場合に、前記差が最大である前記姿勢決定用データが、前記基準姿勢決定用データとは異なる基準姿勢決定用データとして制御部に認識され、
前記第３基準姿勢決定用データ認識機能では、前記姿勢決定用データと前記対応データとの前記差が前記許容差異データに対応する許容値未満であると制御部に判別された場合に、全ての前記基準姿勢決定用データが制御部に認識される、
請求項１又は２に記載の画像処理プログラム。
【請求項４】
前記姿勢決定用データ認識機能では、記憶部に格納された、連続的に変化する前記オブジェクトの複数の姿勢それぞれを決定するための前記姿勢決定用データが、制御部に認識され、
前記第１基準姿勢決定用データ認識機能では、複数の前記姿勢決定用データのうちの最初の前記姿勢決定用データおよび最後の前記姿勢決定用データが、前記基準姿勢決定用データとして制御部に認識され、
前記対応データ算出機能では、前記基準姿勢決定用データを用いて、最初の前記姿勢決定用データと最後の前記姿勢決定用データとの間の複数の前記姿勢決定用データそれぞれに対応する前記対応データを算出する処理が、制御部により実行される、
請求項１から３のいずれかに記載の画像処理プログラム。
【請求項５】
前記コンピュータに、
全ての前記基準姿勢決定用データに基づいて、前記オブジェクトの姿勢用の画像データを生成する処理を、制御部に実行させる画像データ生成機能と、
前記オブジェクトの姿勢用の画像データに基づいて、前記オブジェクトの複数の姿勢からなる動画を画像表示部に表示する動画表示機能と、
をさらに実現させるための請求項１から４のいずれかに記載の画像処理プログラム。
【請求項６】
オブジェクトを画像表示部に表示するためのデータを処理可能な画像処理装置であって、
記憶部に格納された、前記オブジェクトの複数の姿勢それぞれを決定し、複数の要素と複数の前記要素それぞれを互いに連結するための連結部とからなる前記オブジェクトにおいて前記連結部まわりに回転する前記要素の位置を規定するためのものであり、前記連結部に定義される姿勢決定用データを、制御部に認識させる姿勢決定用データ認識手段と、
複数の前記姿勢決定用データのうちのいずれか２つの姿勢決定用データを、基準姿勢決定用データとして制御部に認識させる第１基準姿勢決定用データ認識手段と、
前記基準姿勢決定用データを記憶部に格納する処理を制御部に実行させる第１基準姿勢決定用データ格納手段と、
前記基準姿勢決定用データを用いて複数の前記姿勢決定用データそれぞれに対応する対応データを算出する処理を、制御部に実行させる対応データ算出手段と、
前記姿勢決定用データと前記対応データとの差異を許容する許容範囲を規定するためのものであり、前記オブジェクトの基部に配置される前記連結部と、少なくとも１つの前記要素を介して前記オブジェクトの基部に配置された前記連結部に連なる末端部との距離が大きくなるにつれて、前記オブジェクトの基部側における前記姿勢決定用データと前記対応データとの差異を判断するための判別基準が厳しくなるような、許容差異データを設定し、制御部に認識させる許容差異データ認識手段と、
前記姿勢決定用データと前記姿勢決定用データに対応する前記対応データとを比較する処理を制御部に実行させることにより、前記姿勢決定用データと前記対応データとの差異が前記許容差異データに対応する許容範囲内であるか否かを、制御部に判別させるデータ差異判別手段と、
前記姿勢決定用データと前記対応データとの差異が前記許容差異データに対応する許容範囲外であると制御部に判別された場合に、最大の差異を有する前記姿勢決定用データを、前記基準姿勢決定用データとは異なる基準姿勢決定用データとして制御部に認識させる第２基準姿勢決定用データ認識手段と、
前記基準姿勢決定用データとは異なる基準姿勢決定用データを記憶部に格納する処理を制御部に実行させる第２基準姿勢決定用データ格納手段と、
前記姿勢決定用データと前記対応データとの差異が前記許容差異データに対応する許容範囲内であると制御部に判別された場合に、記憶部に格納された全ての前記基準姿勢決定用データを制御部に認識させる第３基準姿勢決定用データ認識手段と、
を備える画像処理装置。
【請求項７】
オブジェクトを画像表示部に表示するためのデータの処理をコンピュータにより制御する画像処理制御方法であって、
記憶部に格納された、前記オブジェクトの複数の姿勢それぞれを決定し、複数の要素と複数の前記要素それぞれを互いに連結するための連結部とからなる前記オブジェクトにおいて前記連結部まわりに回転する前記要素の位置を規定するためのものであり、前記連結部に定義される姿勢決定用データを、制御部に認識させる姿勢決定用データ認識ステップと、
複数の前記姿勢決定用データのうちのいずれか２つの姿勢決定用データを、基準姿勢決定用データとして制御部に認識させる第１基準姿勢決定用データ認識ステップと、
前記基準姿勢決定用データを記憶部に格納する処理を制御部に実行させる第１基準姿勢決定用データ格納ステップと、
前記基準姿勢決定用データを用いて複数の前記姿勢決定用データそれぞれに対応する対応データを算出する処理を、制御部に実行させる対応データ算出ステップと、
前記姿勢決定用データと前記対応データとの差異を許容する許容範囲を規定するためのものであり、前記オブジェクトの基部に配置される前記連結部と、少なくとも１つの前記要素を介して前記オブジェクトの基部に配置された前記連結部に連なる末端部との距離が大きくなるにつれて、前記オブジェクトの基部側における前記姿勢決定用データと前記対応データとの差異を判断するための判別基準が厳しくなるような、許容差異データを設定し、制御部に認識させる許容差異データ認識ステップと、
前記姿勢決定用データと前記姿勢決定用データに対応する前記対応データとを比較する処理を制御部に実行させることにより、前記姿勢決定用データと前記対応データとの差異が前記許容差異データに対応する許容範囲内であるか否かを、制御部に判別させるデータ差異判別ステップと、
前記姿勢決定用データと前記対応データとの差異が前記許容差異データに対応する許容範囲外であると制御部に判別された場合に、最大の差異を有する前記姿勢決定用データを、前記基準姿勢決定用データとは異なる基準姿勢決定用データとして制御部に認識させる第２基準姿勢決定用データ認識ステップと、
前記基準姿勢決定用データとは異なる基準姿勢決定用データを記憶部に格納する処理を制御部に実行させる第２基準姿勢決定用データ格納ステップと、
前記姿勢決定用データと前記対応データとの差異が前記許容差異データに対応する許容範囲内であると制御部に判別された場合に、記憶部に格納された全ての前記基準姿勢決定用データを制御部に認識させる第３基準姿勢決定用データ認識ステップと、
を備える画像処理制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理プログラム、特に、オブジェクトを画像表示部に表示するためのデータを処理可能なコンピュータにより実行される画像処理プログラムに関する。また、この画像処理プログラムを実行可能な画像処理装置、およびこの画像処理プログラムに基づいてコンピュータにより制御される画像処理制御方法に関する。
【背景技術】
【０００２】
従来から様々なビデオゲームが提案されている。これらビデオゲームは、ゲーム装置において実行されるようになっている。たとえば、一般的なゲーム装置は、モニタと、モニタとは別体のゲーム機本体と、ゲーム機本体とは別体の入力装置たとえばコントローラとを有している。コントローラには、複数の入力釦が配置されている。
【０００３】
このようなゲーム装置において実現されるビデオゲームの１つとして、たとえば、野球ゲームが知られている（非特許文献１を参照）。この野球ゲームでは、選手キャラクタが動作する状態が、モニタに表示されるようになっている。
【０００４】
ここでは、選手キャラクタの動作をモニタに表示するために、選手キャラクタのモーションデータが用いられる。この選手キャラクタのモーションデータは、予め用意されているデータであり、ゲームプログラムのロード時に記憶部に格納されている。記憶部に格納されるモーションデータは、一般的には、モーションキャプチャにより事前に生成されている。
ここに示したモーションキャプチャとは、役者に動作を実際に行ってもらうことにより、役者の動作をデジタルデータとして取得する技術のことである。具体的には、役者の関節部や関節部近傍には、マーカと呼ばれる目印たとえば小さな白い球が装着されている。この状態において、役者を取り囲むように配置された複数のカメラ（一般的には３〜６台程度のカメラ）により、役者の演技が撮影される。ここで撮影された複数の動画を用いることによりマーカの位置が追跡され、それぞれの動画に映されたマーカの位置関係によりマーカの３次元位置座標データが求められる。そして、マーカの３次元位置座標データ、役者の体型、取り付けたマーカの位置関係から各関節の回転角度が算出される。このようなモーションキャプチャ技術を用いることにより、役者の動作をデジタルデータとして取得することができる。
たとえば、野球ゲームにおける選手キャラクタの動作と同じ動作を、関節部にマーカを付けた役者に行ってもらった場合、選手キャラクタの動作に対応するデジタルデータを取得することができる。そして、このデジタルデータを修正することにより、ゲームで利用可能なモーションデータを生成することができる。
【非特許文献１】プロ野球スピリッツ４、コナミデジタルエンタテインメント、ＰＳ３版、２００７年４月１日
【発明の開示】
【発明が解決しようとする課題】
【０００５】
野球ゲームでは、選手キャラクタの動作をモニタに表示するために、選手キャラクタのモーションデータを用意する必要がある。
【０００６】
モーションデータは、モーションキャプチャにより取得されたデジタルデータをフレームごとに手動で修正することにより生成される。ここで生成されたモーションデータ（全フレームの姿勢データ）の容量は膨大であるため、このモーションデータをゲームにおいて直接利用しようとすると、ゲーム装置が有するメモリ容量を圧迫してしまうという問題があった。このため、全フレームの姿勢データから特徴的な姿勢を持つ姿勢データだけを手動で選別し、手動で選別された複数の姿勢データをモーションデータとして利用することにより、モーションデータの容量の削減が行われている。しかしながら、全フレームの姿勢データから特徴的な姿勢を持つ姿勢データだけを手動で選別する作業は、非常に大きな労力と非常に多くの時間が必要になるという問題があった。
【０００７】
このような問題を解決するために、本発明では、モーションデータを自動的に選別することができるようにし、動画の再生に必要となるデータの容量が小さくなるようにすることにある。
【課題を解決するための手段】
【０００８】
請求項１に係る画像処理プログラムは、オブジェクトを画像表示部に表示するためのデータを処理可能なコンピュータに、以下の機能を実現させるためのプログラムである。
（１）記憶部に格納された、オブジェクトの複数の姿勢それぞれを決定し、複数の要素と複数の要素それぞれを互いに連結するための連結部とからなるオブジェクトにおいて連結部まわりに回転する要素の位置を規定するためのものであり、連結部に定義される姿勢決定用データを、制御部に認識させる姿勢決定用データ認識機能。
（２）複数の姿勢決定用データのうちのいずれか２つの姿勢決定用データを、基準姿勢決定用データとして制御部に認識させる第１基準姿勢決定用データ認識機能。
（３）基準姿勢決定用データを記憶部に格納する処理を制御部に実行させる第１基準姿勢決定用データ格納機能。
（４）基準姿勢決定用データを用いて複数の姿勢決定用データそれぞれに対応する対応データを算出する処理を、制御部に実行させる対応データ算出機能。
（５）姿勢決定用データと対応データとの差異を許容する許容範囲を規定するためのものであり、オブジェクトの基部に配置される連結部と、少なくとも１つの要素を介してオブジェクトの基部に配置された連結部に連なる末端部との距離が大きくなるにつれて、オブジェクトの基部側における姿勢決定用データと対応データとの差異を判断するための判別基準が厳しくなるような、許容差異データを設定し、制御部に認識させる許容差異データ認識機能。
（６）姿勢決定用データと姿勢決定用データに対応する対応データとを比較する処理を制御部に実行させることにより、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲内であるか否かを、制御部に判別させるデータ差異判別機能。
（７）姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲外であると制御部に判別された場合に、最大の差異を有する姿勢決定用データを、上記の基準姿勢決定用データとは異なる基準姿勢決定用データとして制御部に認識させる第２基準姿勢決定用データ認識機能。
（８）上記の基準姿勢決定用データとは異なる基準姿勢決定用データを記憶部に格納する処理を制御部に実行させる第２基準姿勢決定用データ格納機能。
（９）姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲内であると制御部に判別された場合に、記憶部に格納された全ての基準姿勢決定用データを制御部に認識させる第３基準姿勢決定用データ認識機能。
【０００９】
この画像処理プログラムでは、姿勢決定用データ認識機能において、記憶部に格納された、オブジェクトの複数の姿勢それぞれを決定するための姿勢決定用データが、制御部に認識される。この姿勢決定用データは、複数の要素と複数の要素それぞれを互いに連結するための連結部とからなるオブジェクトにおいて連結部まわりに回転する要素の位置を規定するためのものであり、連結部に定義される。第１基準姿勢決定用データ認識機能においては、複数の姿勢決定用データのうちのいずれか２つの姿勢決定用データが、基準姿勢決定用データとして制御部に認識される。第１基準姿勢決定用データ格納機能においては、基準姿勢決定用データを記憶部に格納する処理が、制御部により実行される。
【００１０】
対応データ算出機能においては、基準姿勢決定用データを用いて複数の姿勢決定用データそれぞれに対応する対応データを算出する処理が、制御部により実行される。許容差異データ認識機能においては、姿勢決定用データと対応データとの差異を許容する許容範囲を規定するための許容差異データが、制御部に認識される。この許容差異データは、オブジェクトの基部に配置される連結部と、少なくとも１つの要素を介してオブジェクトの基部に配置された連結部に連なる末端部との距離が大きくなるにつれて、オブジェクトの基部側における姿勢決定用データと対応データとの差異を判断するための判別基準が厳しくなるような、許容差異データが設定される。データ差異判別機能においては、姿勢決定用データと姿勢決定用データに対応する対応データとを比較する処理を制御部に実行させることにより、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲内であるか否かが、制御部により判別される。
【００１１】
第２基準姿勢決定用データ認識機能においては、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲外であると制御部に判別された場合に、最大の差異を有する姿勢決定用データが、上記の基準姿勢決定用データとは異なる基準姿勢決定用データとして制御部に認識される。第２基準姿勢決定用データ格納機能においては、上記の基準姿勢決定用データとは異なる基準姿勢決定用データを記憶部に格納する処理が、制御部により実行される。第３基準姿勢決定用データ認識機能においては、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲内であると制御部に判別された場合に、記憶部に格納された全ての基準姿勢決定用データが、制御部に認識される。
【００１２】
たとえば、本画像処理プログラムを用いることにより、ゲームにおけるキャラクタ用のモーションデータが処理される場合を考える。モーションキャプチャにより生成されたキャラクタ用のモーションデータ（生データ）は、各瞬間のキャラクタの姿勢を示す姿勢データ（姿勢用の画像データ）から構成されている。たとえば、姿勢用の画像データが示す姿勢は姿勢決定用データを用いて設定され、姿勢用の画像データは姿勢決定用データに基づいて生成される。
【００１３】
まず、記憶部に格納された複数の姿勢決定用データが、制御部に認識される。そして、複数の姿勢決定用データのうちのいずれか２つの姿勢決定用データが、基準姿勢決定用データとして制御部に認識される。そして、これら基準姿勢決定用データが、記憶部に格納される。
【００１４】
そして、記憶部に格納された基準姿勢決定用データを用いて、複数の姿勢決定用データそれぞれに対応する対応データが制御部により算出される。そして、姿勢決定用データと対応データとの差異を許容する許容範囲を規定するための許容差異データが、制御部に認識される。そして、姿勢決定用データと姿勢決定用データに対応する対応データとを比較することにより、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲内であるか否かが、制御部により判別される。
【００１５】
そして、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲外であると制御部に判別された場合に、最大の差異を有する姿勢決定用データが、更なる基準姿勢決定用データとして制御部に認識される。そして、更なる基準姿勢決定用データが、記憶部に格納される。一方で、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲内であると制御部に判別された場合に、記憶部に格納された全ての基準姿勢決定用データが、制御部に認識される。
【００１６】
この場合、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲内になるまで、最大の差異を有する姿勢決定用データ（基準姿勢決定用データ）が記憶部に連続的に格納される。このため、姿勢決定用データと対応データとの差異が許容範囲内になったときには、特徴的な姿勢を決定するための姿勢決定用データ（基準姿勢決定用データ）が、選択的に記憶部に格納されていることになる。
【００１７】
このように、請求項１に係る発明では、姿勢決定用データを、許容差異データに基づいて自動的かつ選択的に記憶部に格納することにより、動画の再生に必要となるデータの容量を小さくすることができる。
【００１８】
また、この場合、記憶部に格納された、複数の骨要素と複数の骨要素それぞれを互いに連結するための関節部（連結部）とからなるキャラクタにおいて関節部まわりに回転する骨要素の位置を規定するための姿勢決定用データが、制御部に認識される。ここでは、複数の骨要素と複数の骨要素それぞれを互いに連結するための関節部（連結部）とからなるキャラクタに対応する画像データが、関節部まわりに回転する骨要素の位置を規定するための姿勢決定用データに基づいて生成される。このため、関節部まわりに回転する骨要素の位置を規定するための姿勢決定用データを用いて、キャラクタに対応する画像データを生成することにより、キャラクタの複数の姿勢からなる動画を、違和感なく画像表示部に表示することができる。
【００１９】
また、この場合、関節部に定義される姿勢決定用データが、制御部に認識される。そして、キャラクタの腰部（基部）に配置される関節部（基準関節部）と、少なくとも１つの骨要素を介してキャラクタの腰部に配置された関節部に連なる関節部との距離（関節間距離）に応じた許容差異データが、制御部に認識される。たとえば、キャラクタの基準関節部を基準として関節間距離が大きくなるにつれて許容差異データによる判別基準が異なるように設定された許容差異データが、制御部に認識される。具体的には、キャラクタの基準関節部を基準として関節間距離が大きくなるにつれて許容差異データによる判別基準が緩くなるような許容差異データが、制御部に認識される。
【００２０】
ここでは、キャラクタの基準関節部を基準として関節間距離が大きくなるにつれて許容差異データによる判別基準が緩くなるような許容差異データが、制御部に認識される。言い換えると、基準関節部に連結された骨要素の長さが長ければ長いほど、腰部側の関節部における許容差異データによる判別基準が厳しくなるように設定された許容差異データが、制御部に認識される。すなわち、基準関節部に連結された骨要素の長さが長ければ長いほど、腰部側の関節部における差異判別が厳しく行われる。このように、この発明では、キャラクタの主要部近傍の精度（腰部近傍の精度）を確保することができる。
【００２１】
なお、一般的には、キャラクタの主要部から離れれば離れるほど、主要部から離れた位置の連結部は、キャラクタの主要部における誤差の影響を強く受けることになる。しかしながら、この発明では、キャラクタの主要部近傍の精度が確保されているので、キャラクタの主要部における誤差が、主要部から離れた位置の連結部の誤差として反映されるという問題を解消することができる。
【００２２】
さらに、この場合、基準関節部に連結された骨要素の長さが長ければ長いほど、腰部側の関節部における差異判別が厳しく行われる。このように、この発明では、キャラクタの主要部近傍の精度（腰部近傍の精度）を確保することができる。また、一般的には、キャラクタの主要部から離れれば離れるほど、主要部から離れた位置の連結部は、キャラクタの主要部における誤差の影響を強く受けることになる。しかしながら、この発明では、キャラクタの主要部近傍の精度が確保されているので、キャラクタの主要部における誤差が、主要部から離れた位置の連結部の誤差として反映されるという問題を解消することができる。
【００２３】
請求項２に係る画像処理プログラムでは、請求項１に記載の画像処理プログラムにおいて、上記の距離が大きくなるにつれてオブジェクトの基部側における判別基準が厳しくなるように許容差異データを調節するための調節データを、設定する処理、および許容差異データに調節データを乗じる処理を、制御部に実行させることにより、許容差異データが設定される。この機能は、許容差異データ認識機能において実現される。
【００２４】
この場合、調整データを用いることによって、基準関節部に連結された骨要素の長さが長ければ長いほど、腰部側の関節部における差異判別が厳しく行われる。このように、この発明では、キャラクタの主要部近傍の精度（腰部近傍の精度）を確保することができる。また、一般的には、キャラクタの主要部から離れれば離れるほど、主要部から離れた位置の連結部は、キャラクタの主要部における誤差の影響を強く受けることになる。しかしながら、この発明では、キャラクタの主要部近傍の精度が確保されているので、キャラクタの主要部における誤差が、主要部から離れた位置の連結部の誤差として反映されるという問題を解消することができる。
【００２５】
請求項３に係る画像処理プログラムは、請求項１又は２に記載の画像処理プログラムにおいて、コンピュータに以下の機能をさらに実現させるためのプログラムである。
【００２６】
対応データ算出機能においては、基準姿勢決定用データを用いて複数の姿勢決定用データそれぞれに対応する対応データを補間により算出する処理が、制御部により実行される。データ差異判別機能においては、姿勢決定用データと姿勢決定用データに対応する対応データとの差を計算する処理を制御部に実行させることにより、姿勢決定用データと対応データとの差が許容差異データに対応する許容値未満であるか否かが、制御部により判別される。第２基準姿勢決定用データ認識機能においては、姿勢決定用データと対応データとの差が許容差異データに対応する許容値以上であると制御部に判別された場合に、差が最大である姿勢決定用データが、上記の基準姿勢決定用データとは異なる基準姿勢決定用データとして制御部に認識される。第３基準姿勢決定用データ認識機能においては、姿勢決定用データと対応データとの差が許容差異データに対応する許容値未満であると制御部に判別された場合に、全ての基準姿勢決定用データが制御部に認識される。
【００２７】
たとえば、本画像処理プログラムを用いることにより、ゲームにおけるキャラクタ用のモーションデータが処理される場合、基準姿勢決定用データに基づいた補間処理を制御部に実行させることにより、複数の姿勢決定用データそれぞれに対応する対応データが算出される。そして、姿勢決定用データと姿勢決定用データに対応する対応データとの差を計算することにより、姿勢決定用データと対応データとの差が許容差異データに対応する許容値未満であるか否かが、制御部により判別される。そして、姿勢決定用データと対応データとの差が許容差異データに対応する許容値以上であると制御部に判別された場合に、差が最大である姿勢決定用データが、更なる基準姿勢決定用データとして制御部に認識される。一方で、姿勢決定用データと対応データとの差が許容差異データに対応する許容値未満であると制御部に判別された場合に、全ての基準姿勢決定用データが制御部に認識される。
【００２８】
この場合、複数の姿勢決定用データそれぞれに対応する対応データが、基準姿勢決定用データに基づいた補間処理により算出される。具体的には、キャプチャ時の基準姿勢決定用データに基づいて、複数の姿勢決定用データそれぞれに対応する予想データ（対応データ）が、補間処理により算出される。すると、姿勢決定用データと予想データとの差が許容差異データに対応する許容値未満になるまで、差が最大である姿勢決定用データ（基準姿勢決定用データ）が記憶部に連続的に格納される。このため、姿勢決定用データと予想データとの差が許容値未満になったときには、特徴的な複数の姿勢を決定するための姿勢決定用データ（基準姿勢決定用データ）が、選択的に記憶部に格納されることになる。
【００２９】
このように、請求項３に係る発明では、姿勢決定用データを、許容差異データに基づいて自動的かつ選択的に記憶部に格納することにより、動画の再生に必要となるデータの容量を小さくすることができる。
【００３０】
請求項４に係る画像処理プログラムは、請求項１から３のいずれかに記載の画像処理プログラムにおいて、コンピュータに以下の機能をさらに実現させるためのプログラムである。
【００３１】
姿勢決定用データ認識機能においては、記憶部に格納された、連続的に変化するオブジェクトの複数の姿勢それぞれを決定するための姿勢決定用データが、制御部に認識される。第１基準姿勢決定用データ認識機能においては、複数の姿勢決定用データのうちの最初の姿勢決定用データおよび最後の姿勢決定用データが、基準姿勢決定用データとして制御部に認識される。対応データ算出機能においては、基準姿勢決定用データを用いて、最初の姿勢決定用データと最後の姿勢決定用データとの間の複数の姿勢決定用データそれぞれに対応する対応データを算出する処理が、制御部により実行される。
【００３２】
たとえば、本画像処理プログラムを用いることにより、ゲームにおけるキャラクタ用のモーションデータが処理される場合、記憶部に格納された、連続的に変化するキャラクタの複数の姿勢それぞれを決定するための姿勢決定用データが、制御部に認識される。そして、複数の姿勢決定用データのうちの最初の姿勢決定用データおよび最後の姿勢決定用データが、基準姿勢決定用データとして制御部に認識される。そして、制御部に認識された基準姿勢決定用データを用いて、最初の姿勢決定用データと最後の姿勢決定用データとの間の複数の姿勢決定用データそれぞれに対応する対応データが、制御部により算出される。
【００３３】
この場合、複数の姿勢決定用データのうちの最初の姿勢決定用データおよび最後の姿勢決定用データを用いて、最初の姿勢決定用データと最後の姿勢決定用データとの間の複数の姿勢決定用データそれぞれに対応する対応データが、制御部により算出される。具体的には、最初の姿勢決定用データと最後の姿勢決定用データとの間の複数の姿勢決定用データそれぞれに対応する対応データが、最初の姿勢決定用データおよび最後の姿勢決定用データに基づいた内挿により算出される。
【００３４】
このように、請求項４に係る発明では、最初の姿勢決定用データおよび最後の姿勢決定用データに基づいた内挿により対応データが算出されるようになっているので、最初の姿勢決定用データと最後の姿勢決定用データとの間の複数の姿勢決定用データそれぞれに対応する初期の対応データを、精度良く算出することができる。
【００３５】
請求項５に係る画像処理プログラムは、請求項１から４に記載の画像処理プログラムにおいて、コンピュータに以下の機能をさらに実現させるためのプログラムである。
（１０）全ての基準姿勢決定用データに基づいて、オブジェクトの姿勢用の画像データを生成する処理を、制御部に実行させる画像データ生成機能。
（１１）オブジェクトの姿勢用の画像データに基づいて、オブジェクトの複数の姿勢からなる動画を画像表示部に表示する動画表示機能。
【００３６】
この画像処理プログラムでは、画像データ生成機能において、全ての基準姿勢決定用データに基づいてオブジェクトの姿勢用の画像データを生成する処理が、制御部により実行される。動画表示機能においては、オブジェクトの姿勢用の画像データに基づいて、オブジェクトの複数の姿勢からなる動画が、画像表示部に表示される。
【００３７】
たとえば、本画像処理プログラムを用いることにより、ゲームにおけるキャラクタ用のモーションデータが処理される場合、全ての基準姿勢決定用データに基づいてキャラクタの姿勢用の画像データを生成する処理が、制御部により実行される。そして、キャラクタの姿勢用の画像データに基づいて、キャラクタの複数の姿勢からなる動画が、画像表示部に表示される。
【００３８】
このように、請求項５に係る発明では、選択的に抽出された姿勢決定用データ（基準姿勢決定用データ）に基づいて姿勢用の画像データを生成することができ、この姿勢用の画像データに基づいてキャラクタの複数の姿勢からなる動画を画像表示部に表示することができる。
【００３９】
請求項６に係る画像処理装置は、オブジェクトを画像表示部に表示するためのデータを処理可能な装置である。この装置は、記憶部に格納された、オブジェクトの複数の姿勢それぞれを決定し、複数の要素と複数の要素それぞれを互いに連結するための連結部とからなるオブジェクトにおいて連結部まわりに回転する要素の位置を規定するためのものであり、連結部に定義される姿勢決定用データを、制御部に認識させる姿勢決定用データ認識手段と、複数の姿勢決定用データのうちのいずれか２つの姿勢決定用データを、基準姿勢決定用データとして制御部に認識させる第１基準姿勢決定用データ認識手段と、基準姿勢決定用データを記憶部に格納する処理を制御部に実行させる第１基準姿勢決定用データ格納手段と、基準姿勢決定用データを用いて複数の姿勢決定用データそれぞれに対応する対応データを算出する処理を、制御部に実行させる対応データ算出手段と、姿勢決定用データと対応データとの差異を許容する許容範囲を規定するためのものであり、オブジェクトの基部に配置される連結部と、少なくとも１つの要素を介してオブジェクトの基部に配置された連結部に連なる末端部との距離が大きくなるにつれて、オブジェクトの基部側における姿勢決定用データと対応データとの差異を判断するための判別基準が厳しくなるような、許容差異データを設定し、制御部に認識させる許容差異データ認識手段と、姿勢決定用データと姿勢決定用データに対応する対応データとを比較する処理を制御部に実行させることにより、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲内であるか否かを、制御部に判別させるデータ差異判別手段と、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲外であると制御部に判別された場合に、最大の差異を有する姿勢決定用データを、上記の基準姿勢決定用データとは異なる基準姿勢決定用データとして制御部に認識させる第２基準姿勢決定用データ認識手段と、上記の基準姿勢決定用データとは異なる基準姿勢決定用データを記憶部に格納する処理を制御部に実行させる第２基準姿勢決定用データ格納手段と、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲内であると制御部に判別された場合に、記憶部に格納された全ての基準姿勢決定用データを制御部に認識させる第３基準姿勢決定用データ認識手段と、を備えている。
【００４０】
請求項７に係る画像処理制御方法は、オブジェクトを画像表示部に表示するためのデータの処理をコンピュータにより制御する制御方法である。この制御方法は、記憶部に格納された、オブジェクトの複数の姿勢それぞれを決定し、複数の要素と複数の要素それぞれを互いに連結するための連結部とからなるオブジェクトにおいて連結部まわりに回転する要素の位置を規定するためのものであり、連結部に定義される姿勢決定用データを、制御部に認識させる姿勢決定用データ認識ステップと、複数の姿勢決定用データのうちのいずれか２つの姿勢決定用データを、基準姿勢決定用データとして制御部に認識させる第１基準姿勢決定用データ認識ステップと、基準姿勢決定用データを記憶部に格納する処理を制御部に実行させる第１基準姿勢決定用データ格納ステップと、基準姿勢決定用データを用いて複数の姿勢決定用データそれぞれに対応する対応データを算出する処理を、制御部に実行させる対応データ算出ステップと、姿勢決定用データと対応データとの差異を許容する許容範囲を規定するためのものであり、オブジェクトの基部に配置される連結部と、少なくとも１つの要素を介してオブジェクトの基部に配置された連結部に連なる末端部との距離が大きくなるにつれて、オブジェクトの基部側における姿勢決定用データと対応データとの差異を判断するための判別基準が厳しくなるような、許容差異データを設定し、制御部に認識させる許容差異データ認識ステップと、姿勢決定用データと姿勢決定用データに対応する対応データとを比較する処理を制御部に実行させることにより、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲内であるか否かを、制御部に判別させるデータ差異判別ステップと、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲外であると制御部に判別された場合に、最大の差異を有する姿勢決定用データを、上記の基準姿勢決定用データとは異なる基準姿勢決定用データとして制御部に認識させる第２基準姿勢決定用データ認識ステップと、上記の基準姿勢決定用データとは異なる基準姿勢決定用データを記憶部に格納する処理を制御部に実行させる第２基準姿勢決定用データ格納ステップと、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲内であると制御部に判別された場合に、記憶部に格納された全ての基準姿勢決定用データを制御部に認識させる第３基準姿勢決定用データ認識ステップと、を備えている。
【発明の効果】
【００４１】
本発明では、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲内になるまで、最大の差異を有する姿勢決定用データが記憶部に連続的に格納される。このため、姿勢決定用データと対応データとの差異が許容範囲内になったときには、特徴的な複数の姿勢を決定するための姿勢決定用データが、選択的に記憶部に格納されることになる。このように、本発明では、姿勢決定用データを、許容差異データに基づいて自動的かつ選択的に記憶部に格納することができる。また、選択的に抽出された姿勢決定用データに基づいて姿勢用の画像データを生成することができ、この姿勢用の画像データに基づいてキャラクタの複数の姿勢からなる動画を画像表示部に表示することができる。このように、姿勢決定用データを選択的に抽出することにより、動画の再生に必要となるデータの容量を小さくすることができ、キャラクタの動画をスムーズに再生することができる。
【発明を実施するための最良の形態】
【００４２】
〔データ処理装置の構成と動作〕
図１は、データを処理するためのデータ処理装置の基本構成を示している。以下には、データ処理装置の一例として、家庭用コンピュータの構成が示されている。家庭用コンピュータは、家庭用コンピュータ本体およびモニタを備える。家庭用コンピュータ本体には、記録媒体１０が装填可能となっており、記録媒体１０からデータ処理用のプログラムが適宜読み出されて、データ処理用のプログラムが実行される。このようにデータ処理用のプログラムが実行されると、データ処理に関する内容を示す画像が、モニタに表示される。
【００４３】
家庭用コンピュータは、制御部１と、記憶部２と、画像表示部３と、音声出力部４と、操作入力部５、通信部２３とからなっており、それぞれがバス６を介して接続される。このバス６は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部１、記憶部２、音声出力部４および操作入力部５は、家庭用コンピュータ本体に含まれており、画像表示部３はモニタに含まれている。
【００４４】
制御部１は、主に、データ処理用のプログラムに基づいてデータ処理の進行を制御する。制御部１は、たとえば、ＣＰＵ（Central Processing Unit）７と、信号処理プロセッサ８と、画像処理プロセッサ９とから構成されている。ＣＰＵ７と信号処理プロセッサ８と画像処理プロセッサ９とは、それぞれがバス６を介して互いに接続されている。ＣＰＵ７は、データ処理用のプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、ＣＰＵ７は、信号処理プロセッサ８に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ８は、主に、３次元空間上における計算と、３次元空間上から擬似３次元空間上への位置変換計算と、光源計算処理と、３次元空間上又は擬似３次元空間上で実行された計算結果に基づいた画像および音声データの生成加工処理とを行っている。画像処理プロセッサ９は、主に、信号処理プロセッサ８の計算結果および処理結果に基づいて、描画すべき画像データをＲＡＭ１２ｂに書き込む処理を行っている。また、ＣＰＵ７は、信号処理プロセッサ８に対して、各種データを処理するように命令する。信号処理プロセッサ８は、主に、３次元空間上における各種データに対応する計算と、３次元空間上から擬似３次元空間上への位置変換計算とを行っている。
【００４５】
記憶部２は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納する。記憶部２は、たとえば、記録媒体１０と、インターフェース回路１１と、ハードディスク１２ａと、ＲＡＭ（Random Access Memory）１２ｂとから構成されている。記録媒体１０には、インターフェース回路１１が接続されている。そして、インターフェース回路１１とハードディスク１２ａおよびＲＡＭ１２ｂとはバス６を介して接続されている。記録媒体１０は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるデータなどを記録するためのものである。この記録媒体１０は、たとえば、ＲＯＭ（Read Only Memory）カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやプログラムで利用するデータなどが記憶される。なお、記録媒体１０にはカード型メモリも含まれている。ハードディスク１２ａは、記録媒体１０から読み出された各種データを格納したり、制御部１からの処理結果を記録したりする。ＲＡＭ１２ｂは、記録媒体１０から読み出された各種データを一時的に格納したり、制御部１からの処理結果を一時的に記録したりするために用いられる。このＲＡＭ１２ｂには、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
【００４６】
画像表示部３は、主に、画像処理プロセッサ９によってハードディスク１２ａやＲＡＭ１２ｂに書き込まれた画像データや、記録媒体１０から読み出される画像データなどを画像として出力するために設けられている。この画像表示部３は、たとえば、モニタ２０と、インターフェース回路２１と、Ｄ／Ａコンバータ（Digital-To-Analogコンバータ）２２とから構成されている。モニタ２０にはＤ／Ａコンバータ２２が接続されており、Ｄ／Ａコンバータ２２にはインターフェース回路２１が接続されている。そして、インターフェース回路２１にバス６が接続されている。ここでは、画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がモニタ２０に画像として出力される。
【００４７】
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ８により、ポリゴンアドレスデータの示す３次元空間上のポリゴンデータ（３次元ポリゴンデータ）が、画面自体(視点)の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、２次元空間上のポリゴンデータ（２次元ポリゴンデータ）に置換される。そして、複数の２次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータを書き込む。このようにして、各ポリゴンにテクスチャが貼り付けられた物体つまり各種キャラクタを表現することができる。
【００４８】
音声出力部４は、主に、記録媒体１０から読み出される音声データを音声として出力するために設けられている。音声出力部４は、たとえば、スピーカ１３と、増幅回路１４と、Ｄ／Ａコンバータ１５と、インターフェース回路１６とから構成されている。スピーカ１３には増幅回路１４が接続されており、増幅回路１４にはＤ／Ａコンバータ１５が接続されており、Ｄ／Ａコンバータ１５にはインターフェース回路１６が接続されている。そして、インターフェース回路１６にバス６が接続されている。ここでは、音声データが、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路１４によって増幅され、スピーカ１３から音声として出力される。音声データには、たとえば、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）データやＰＣＭ（Pulse Code Modulation）データなどがある。ＡＤＰＣＭデータの場合、上述と同様の処理方法で音声をスピーカ１３から出力することができる。ＰＣＭデータの場合、ＲＡＭ１２ｂにおいてＰＣＭデータをＡＤＰＣＭデータに変換しておくことで、上述と同様の処理方法で音声をスピーカ１３から出力することができる。
【００４９】
操作入力部５は、主に、キーボード１７と、操作情報インターフェース回路１８と、インターフェース回路１９とから構成されている。キーボード１７には、操作情報インターフェース回路１８が接続されており、操作情報インターフェース回路１８にはインターフェース回路１９が接続されている。そして、インターフェース回路１９にバス６が接続されている。キーボード１７は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をＣＰＵ７に送出する。キーボード１７には、アルファベット、数字、および記号等が記された複数のキーが設けられている。
【００５０】
通信部２３は、通信制御回路２４および通信インターフェース２５を有している。通信制御回路２４および通信インターフェース２５は、家庭用コンピュータをサーバや他のコンピュータ等に接続するために用いられる。通信制御回路２０および通信インターフェース２１は、バス１６を介してＣＰＵ７に接続されている。通信制御回路２０および通信インターフェース２１は、ＣＰＵ７からの命令に応じて、家庭用コンピュータをインターネットに接続するための接続信号を制御し発信する。また、通信制御回路２０および通信インターフェース２１は、インターネットを介して家庭用コンピュータをサーバや他のコンピュータに接続するための接続信号を制御し発信する。
【００５１】
以上のような構成からなる家庭用コンピュータの概略動作を、以下に説明する。電源スイッチ（図示省略）がオンにされ電源が投入されると、ＣＰＵ７が、ハードディスク１２ａ又は記録媒体１０に記憶されているオペレーティングシステムに基づいて、ハードディスク１２ａ又は記録媒体１０から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、ハードディスク１２ａやＲＡＭ１２ｂに格納される。そして、ＣＰＵ７が、ハードディスク１２ａやＲＡＭ１２ｂに格納されたプログラムデータに基づいて、画像データや音声データを画像や音声としてモニタ２０やスピーカ１３に出力するためのコマンドを発行する。
【００５２】
画像データの場合、ＣＰＵ７からのコマンドに基づいて、まず、信号処理プロセッサ８が、３次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ９が、信号処理プロセッサ８の計算結果に基づいて、描画すべき画像データのＲＡＭ１２ｂへの書き込み処理などを行う。そして、ＲＡＭ１２ｂに書き込まれた画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給される。ここで、画像データがＤ／Ａコンバータ２２でアナログ映像信号に変換される。そして、画像データはモニタ２０に供給され画像として表示される。
【００５３】
音声データの場合、まず、信号処理プロセッサ８が、ＣＰＵ７からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ８から出力されて、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路１４を介してスピーカ１３から音声として出力される。
【００５４】
〔データ処理装置における各種処理概要〕
本データ処理装置において実行されるプログラムは、たとえば、画像処理プログラムである。この画像処理プログラムを起動することにより、画像処理が実行される。図２は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。なお、ここでは、データの記憶部をＲＡＭ１２ｂとした場合の例を示すが、この例はデータの記憶部をＲＡＭ１２ｂに限定するものではない。たとえば、データの記憶部をハードディスク１２ａにしたり、データの記憶部をＲＡＭ１２ｂおよびハードディスク１２ａにしたりしても良い。
【００５５】
姿勢決定用データ認識手段５０は、ＲＡＭ１２ｂに格納された、オブジェクトの複数の姿勢それぞれを決定するための姿勢決定用データを、ＣＰＵ７に認識させる機能を備えている。
【００５６】
詳細には、姿勢決定用データ認識手段５０は、ＲＡＭ１２ｂに格納された、連続的に変化するオブジェクトの複数の姿勢それぞれを決定するための姿勢決定用データを、ＣＰＵ７に認識させる機能を備えている。
【００５７】
また、詳細には、姿勢決定用データ認識手段５０は、ＲＡＭ１２ｂに格納された、複数の要素と複数の要素それぞれを互いに連結するための連結部とからなるオブジェクトにおいて連結部まわりに回転する要素の位置を規定するための姿勢決定用データを、ＣＰＵ７に認識させる機能を備えている。この姿勢決定用データ認識手段５０は、連結部に定義される姿勢決定用データをＣＰＵ７に認識させる機能を備えている。
【００５８】
この手段では、たとえば、キャラクタが、複数の骨要素と複数の骨要素それぞれを互いに連結するための関節部とから構成されている。このキャラクタの関節部まわりに回転する骨要素の位置を規定するための姿勢決定用データが、ＣＰＵ７に認識される。ここでは、姿勢決定用データが、関節部の位置に定義されている。具体的には、骨要素は、関節部を原点として、互いに直交する３軸まわりに回転可能になっている。この骨要素が関節部を原点として回転したときの各軸まわりの回転角度および関節部の位置を示すデータが、姿勢決定用データには含まれている。
【００５９】
第１基準姿勢決定用データ認識手段５１は、複数の姿勢決定用データのうちのいずれか２つの姿勢決定用データを、基準姿勢決定用データとしてＣＰＵ７に認識させる機能を備えている。詳細には、第１基準姿勢決定用データ認識手段５１は、複数の姿勢決定用データのうちの最初の姿勢決定用データおよび最後の姿勢決定用データを、基準姿勢決定用データとしてＣＰＵ７に認識させる機能を備えている。
【００６０】
この手段では、たとえば、キャラクタの関節部における、複数の姿勢決定用データのうちの最初の姿勢決定用データおよび最後の姿勢決定用データが、基準姿勢決定用データとしてＣＰＵ７に認識される。具体的には、キャラクタの動作を時系列に沿ってみたときの、キャラクタの関節部における、複数の姿勢決定用データのうちの最初の姿勢決定用データおよび最後の姿勢決定用データが、基準姿勢決定用データとしてＣＰＵ７に認識される。より具体的には、キャラクタが動作を開始する時の関節部の姿勢決定用データ（最初の姿勢決定用データ）が、基準姿勢決定用データとしてＣＰＵ７に認識される。また、キャラクタが動作を終了する時の関節部の姿勢決定用データ（最後の姿勢決定用データ）が、基準姿勢決定用データとしてＣＰＵ７に認識される。
【００６１】
第１基準姿勢決定用データ格納手段５２は、基準姿勢決定用データをＲＡＭ１２ｂに格納する処理をＣＰＵ７に実行させる機能を備えている。
【００６２】
この手段では、たとえば、キャラクタの各関節部における基準姿勢決定用データをＲＡＭ１２ｂに格納する処理が、ＣＰＵ７により実行される。具体的には、キャラクタが動作を開始する時の各関節部の姿勢決定用データ、およびキャラクタが動作を終了する時の各関節部の姿勢決定用データ（２つの基準姿勢決定用データ）をＲＡＭ１２ｂに格納する処理が、ＣＰＵ７により実行される。
【００６３】
対応データ算出手段５３は、基準姿勢決定用データを用いて複数の姿勢決定用データそれぞれに対応する対応データを算出する処理を、ＣＰＵ７に実行させる機能を備えている。詳細には、対応データ算出手段５３は、基準姿勢決定用データを用いて複数の姿勢決定用データそれぞれに対応する対応データを補間により算出する処理を、ＣＰＵ７に実行させる機能を備えている。より詳細には、対応データ算出手段５３は、基準姿勢決定用データを用いて、最初の姿勢決定用データと最後の姿勢決定用データとの間の複数の姿勢決定用データそれぞれに対応する対応データを補間により算出する処理を、ＣＰＵ７に実行させる機能を備えている。
【００６４】
この手段では、たとえば、最初の姿勢決定用データと最後の姿勢決定用データとの間の複数の姿勢決定用データそれぞれに対応する予想データ（対応データ）が、一次式を用いた補間（線形補間）や多項式を用いた補間等により、ＣＰＵ７により算出される。ここでは、補間に用いられる初期条件としてのデータは、最初の姿勢決定用データおよび最後の姿勢決定用データ（２つの基準姿勢決定用データ）となっている。
【００６５】
許容差異データ認識手段５４は、姿勢決定用データと対応データとの差異を許容する許容範囲を規定するための許容差異データを、ＣＰＵ７に認識させる機能を備えている。また、許容差異データ認識手段５４は、オブジェクトの基部に配置される連結部と、少なくとも１つの要素を介してオブジェクトの基部に配置された連結部に連なる連結部との距離に応じた許容差異データを、ＣＰＵ７に認識させる機能を備えている。
【００６６】
この手段では、たとえば、姿勢決定用データと予想データ（対応データ）との間において許容する誤差を示す許容誤差データ（許容差異データ）が、ＣＰＵ７に認識される。具体的には、許容誤差データは、各関節部に定義されている。ここでは、許容誤差データが、キャラクタの主要部に配置された関節部と、骨要素を介してキャラクタの主要部に配置された関節部に連なる他の関節部との距離（関節間距離）に応じて変化するようになっている。ここでは、キャラクタの腰部を主要部に設定している。このように関節間距離に応じて変化する許容誤差データが、ＣＰＵ７に認識される。
【００６７】
データ差異判別手段５５は、姿勢決定用データと姿勢決定用データに対応する対応データとを比較する処理をＣＰＵ７に実行させることにより、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲内であるか否かを、ＣＰＵ７に判別させる機能を備えている。
【００６８】
詳細には、データ差異判別手段５５は、姿勢決定用データと姿勢決定用データに対応する対応データとの差を計算する処理をＣＰＵ７に実行させることにより、姿勢決定用データと対応データとの差が許容差異データに対応する許容値未満であるか否かを、ＣＰＵ７に判別させる機能を備えている。
【００６９】
この手段では、たとえば、姿勢決定用データと姿勢決定用データに対応する予想データとの差が、ＣＰＵ７により計算される。そして、姿勢決定用データと対応データとの差が許容誤差データが示す許容値未満であるか否かが、ＣＰＵ７により判別される。具体的には、姿勢決定用データと対応データとの差の絶対値が許容誤差データが示す許容値未満であるか否かが、ＣＰＵ７により判別される。
【００７０】
第２基準姿勢決定用データ認識手段５６は、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲外であるとＣＰＵ７に判別された場合に、最大の差異を有する姿勢決定用データを、基準姿勢決定用データとは異なる基準姿勢決定用データとしてＣＰＵ７に認識させる機能を備えている。
【００７１】
詳細には、第２基準姿勢決定用データ認識手段５６は、姿勢決定用データと対応データとの差が許容差異データに対応する許容値以上であるとＣＰＵ７に判別された場合に、差が最大である姿勢決定用データを、基準姿勢決定用データとは異なる基準姿勢決定用データとしてＣＰＵ７に認識させる機能を備えている。
【００７２】
この手段では、たとえば、姿勢決定用データと予想データとの差が許容誤差データに対応する許容値以上であるとＣＰＵ７に判別された場合に、予想データとの差が最大になる姿勢決定用データが、上記の基準姿勢決定用データとは異なる基準姿勢決定用データとしてＣＰＵ７に認識される。具体的には、姿勢決定用データと予想データとの差の絶対値が許容誤差データに対応する許容値以上であるとＣＰＵ７に判別された場合に、予想データとの差の絶対値が最大になる姿勢決定用データが、上記の基準姿勢決定用データとは異なる基準姿勢決定用データとしてＣＰＵ７に認識される。
【００７３】
第２基準姿勢決定用データ格納手段５７は、基準姿勢決定用データとは異なる基準姿勢決定用データをＲＡＭ１２ｂに格納する処理をＣＰＵ７に実行させる機能を備えている。
【００７４】
この手段では、たとえば、第２基準姿勢決定用データ認識手段５６においてＣＰＵ７に認識された基準姿勢決定用データをＲＡＭ１２ｂに格納する処理が、ＣＰＵ７により実行される。具体的には、予想データと差の絶対値が最大となる姿勢決定用データ（基準姿勢決定用データ）をＲＡＭ１２ｂに格納する処理が、ＣＰＵ７により実行される。
【００７５】
第３基準姿勢決定用データ認識手段５８は、姿勢決定用データと対応データとの差異が許容差異データに対応する許容範囲内であるとＣＰＵ７に判別された場合に、ＲＡＭ１２ｂに格納された全ての基準姿勢決定用データをＣＰＵ７に認識させる機能を備えている。
【００７６】
詳細には、第３基準姿勢決定用データ認識手段５８は、姿勢決定用データと対応データとの差が許容差異データに対応する許容値未満であるとＣＰＵ７に判別された場合に、ＲＡＭ１２ｂに格納された全ての基準姿勢決定用データをＣＰＵ７に認識させる機能を備えている。
【００７７】
この手段では、たとえば、姿勢決定用データと予想データとの差が許容誤差データに対応する許容値未満であるとＣＰＵ７に判別された場合に、ＲＡＭ１２ｂに格納された全ての基準姿勢決定用データが、ＣＰＵ７に認識される。
【００７８】
画像データ生成手段５９は、全ての基準姿勢決定用データに基づいてオブジェクトの姿勢用の画像データを生成する処理を、ＣＰＵ７に実行させる機能を備えている。
【００７９】
この手段では、たとえば、キャラクタの姿勢用の画像データを生成する処理が、ＣＰＵ７により実行される。ここでは、キャラクタの姿勢用の画像データは、第３基準姿勢決定用データ認識手段５９においてＣＰＵ７に認識された基準姿勢決定用データに基づいて生成される。
【００８０】
たとえば、基準姿勢決定用データは、骨要素が関節部を原点として回転したときの各軸まわりの回転角度および関節部の位置を示すデータから構成されている。この基準姿勢決定用データに基づいて、各関節に接続される骨要素の位置を定めることにより、キャラクタの姿勢用の画像データが生成される。このキャラクタの姿勢用の画像データは、ＲＡＭ１２ｂに格納される。
【００８１】
また、同様に、基準姿勢決定用データを除く姿勢決定用データは、骨要素が関節部を原点として回転したときの各軸まわりの回転角度および関節部の位置を示すデータから構成されている。この姿勢決定用データに基づいて、各関節に接続される骨要素の位置を定めることにより、キャラクタの姿勢用の画像データが生成される。このキャラクタの姿勢用の画像データは、ＲＡＭ１２ｂに格納される。
【００８２】
なお、基準姿勢決定用データを除いた姿勢決定用データは、基準姿勢決定用データに基づいてＣＰＵ７により算出される。たとえば、基準姿勢決定用データ以外の姿勢決定用データは、基準姿勢決定用データに基づいた補間をＣＰＵ７に実行させることにより生成される。
【００８３】
動画表示手段６０は、オブジェクトの姿勢用の画像データに基づいて、オブジェクトの複数の姿勢からなる動画をモニタ２０に表示する機能を備えている。
【００８４】
この手段では、たとえば、キャラクタの姿勢用の画像データに基づいて、キャラクタの複数の姿勢からなる動画が、モニタ２０に表示される。具体的には、画像データ生成手段５９において生成された、複数のキャラクタの姿勢用の画像データを、連続的にモニタ２０へと供給する命令がＣＰＵ７から発行されると、キャラクタの動作を示す動画が、モニタ２０に表示される。
【００８５】
〔画像処理システムの説明と処理フロー〕
次に、画像処理システムについて説明する。また、図７に示すフローについても同時に説明する。
【００８６】
まず、家庭用コンピュータの電源が投入され家庭用コンピュータが起動されると、画像処理プログラムが、記録媒体１０からＲＡＭ１２ｂにロードされ格納される。また、画像処理を実行する上で必要となる各種の基本データが、記録媒体１０からＲＡＭ１２ｂにロードされ格納される（Ｓ１）。
【００８７】
たとえば、基本データには、モーションキャプチャにより生成されたキャラクタ用のモーションデータが、含まれている。キャラクタ用のモーションデータは、実際に動作する人間の各瞬間の姿勢をデジタル的に記録することにより得られる生データである。このキャラクタ用のモーションデータは、実際に動作する人間の姿勢の変化を示す複数の画像データ（姿勢画像データ）から構成される。姿勢画像データは、図３に示すように、複数の骨要素（斜線で表示）と、複数の骨要素（斜線で表示）それぞれを互いに連結するための関節部（空白）とから構成されている。以下では、モーションキャプチャにより生成されたキャラクタ用のモーションデータを構成する姿勢画像データがｎフレームである場合を例として、説明を行う。ここで、ｎは自然数である。
【００８８】
なお、画像制作者は、キーボード１７を操作することにより、ｎフレーム分の姿勢画像データを時系列に沿って再生する処理をＣＰＵ７に実行させると、キャラクタが動作する状態をモニタ２０に表示し確認することができる。具体的には、１フレーム目の姿勢画像データからｎフレーム目の姿勢画像データまでを連続的に再生する命令をＣＰＵ７に発行させることにより、キャラクタが動作する状態をモニタ２０に表示することができる。このため、画像制作者は、モーションキャプチャにより生成されたモーションデータを用いたときの動画を、モニタ２０において確認することができる。
【００８９】
また、たとえば、基本データには、キャラクタの姿勢画像データが示す姿勢を決定するための姿勢決定用データが、含まれている。ここでは、図３に示すように、キャラクタの姿勢画像データが、複数の骨要素と複数の骨要素それぞれを互いに連結するための関節部とから構成されている。このキャラクタの関節部まわりに回転する骨要素の位置を規定するために、姿勢決定用データが用いられる。姿勢決定用データは、関節部に定義されている。具体的には、骨要素は、関節部を原点として、互いに直交する３つの軸まわりに回転可能になっている。この骨要素が関節部を原点として回転したときの各軸まわりの回転角度と関節部の位置座標とを示すデータが、姿勢決定用データである。姿勢決定用データは、キャラクタに定義された複数の関節部それぞれに対して定義されている。
【００９０】
なお、図３に示すように、各関節部の位置座標は、キャラクタの主要部（腰部）の関節部の中心位置Ｏを原点とした座標系において定義されている。また、関節部の回転角度は、関節部の中心位置Ｏｍを原点とした座標系において定義されている。ここでは、中心位置Ｏｍを原点とした座標系が、中心位置Ｏを原点とした座標系の中の相対座標系になっている。
【００９１】
続いて、ＲＡＭ１２に格納された基本データが、ＣＰＵ７に認識される（Ｓ２）。たとえば、ｎフレーム分の姿勢画像データが、ＣＰＵ７に認識される。そして、ｎフレーム分の姿勢画像データそれぞれに対応する姿勢決定用データが、ＣＰＵ７に認識される。以下では、図３に示すように、キャラクタがｍ個の関節部を有する場合を例として、説明を行う。ここで、ｍは、関節部の数に対応している。また、ｍは、１から１４までの自然数である。
【００９２】
また、たとえば、ｎフレーム分の姿勢決定用データのうちの１フレーム目の複数の姿勢決定用データＳ（１，ｍ，ｌ）およびｎフレーム目の複数の姿勢決定用データＳ（ｎ，ｍ，ｌ）が、基準姿勢決定用データＫ（１，ｍ，ｌ），Ｋ（ｎ，ｍ，ｌ）としてＣＰＵ７に認識される。すると、基準姿勢決定用データＫ（１，ｍ，ｌ），Ｋ（ｎ，ｍ，ｌ）をＲＡＭ１２ｂに格納する処理が、ＣＰＵ７により実行される（Ｓ３）。
【００９３】
ここで、ｌは、データの種類を区別するために設けられた変数である。また、ｌは、１から６までの自然数である。たとえば、姿勢決定用データＳ（ｎ，ｍ，１）の値はｘ座標値を示し、姿勢決定用データＳ（ｎ，ｍ，２）の値はｙ座標値を示し、姿勢決定用データＳ（ｎ，ｍ，３）の値はｚ座標値を示す。また、姿勢決定用データＳ（ｎ，ｍ，４）の値はｘ軸まわりの角度αｘを示し、姿勢決定用データＳ（ｎ，ｍ，５）の値はｙ軸まわりの角度αｙを示し、姿勢決定用データＳ（ｎ，ｍ，６）の値はｚ軸まわりの角度αｚを示す。
【００９４】
これにより、たとえば、ｎフレーム目のキャラクタのｍ番目の関節部の位置座標Ｘｎｍ（ｘ＿ｎｍ，ｙ＿ｎｍ，ｚ＿ｎｍ）は、（Ｓ（ｎ，ｍ，１），Ｓ（ｎ，ｍ，２），Ｓ（ｎ，ｍ，３））と表すことができる。また、たとえば、ｎフレーム目のキャラクタのｍ番目の関節部の回転角度Ａｎｍ（αｘ＿ｎｍ，αｙ＿ｎｍ，αｚ＿ｎｍ）は、（Ｓ（ｎ，ｍ，４），Ｓ（ｎ，ｍ，６），Ｓ（ｎ，ｍ，７））と表すことができる。
【００９５】
なお、関節部の位置座標Ｘｎｍ（ｘ＿ｎｍ，ｙ＿ｎｍ，ｚ＿ｎｍ）は、（Ｓ（ｎ，ｍ，１），Ｓ（ｎ，ｍ，２），Ｓ（ｎ，ｍ，３））は、原点Ｏに対する座標である。また、関節部の位置座標Ｘｎｍが示す位置に、相対座標系の原点Ｏｍが定義されている。
【００９６】
続いて、許容誤差データＧ（ｍ，ｌ）が、ＣＰＵ７に認識される（Ｓ４）。この許容誤差データＧ（ｍ，ｌ）は、姿勢決定用データＳ（ｐ，ｍ，ｌ）と後述する予想データＹ（ｐ，ｍ，ｌ）との間において許容する誤差を示すデータである。
【００９７】
具体的には、許容誤差データＧ（ｍ，ｌ）は、キャラクタの腰部に定義された関節部と、骨要素を介してキャラクタの腰部に定義された関節部に連なる他の関節部との距離Ｄ（ｍ）（関節間距離）に基づいて設定される。
【００９８】
ここで、許容誤差データＧ（ｍ，ｌ）の設定についての説明を行っておく。まず、初期条件としての許容誤差データＧ（ｍ，ｌ）がＣＰＵ７に認識される。初期条件としての許容誤差データＧ（ｍ，ｌ）は、画像処理プログラムにおいて予め規定されており、ＲＡＭ１２ｂに格納されている。
【００９９】
次に、関節間距離Ｄ（ｍ）を算出する処理が、ＣＰＵ７により実行される。たとえば、キャラクタの腰部に定義された関節部（ｍ＝１）の位置座標（Ｓ（ｎ，１，１），Ｓ（ｎ，１，２），Ｓ（ｎ，１，３））と、骨要素を介してキャラクタの腰部に定義された関節部に連なる他の関節部（ｍ＞１）の位置座標（Ｓ（ｎ，ｍ，１），Ｓ（ｎ，ｍ，２），Ｓ（ｎ，ｍ，３））とに基づいて、腰部の関節部から腰部の関節部に連なる他の関節部までの距離、すなわち腰部から各関節部までの関節間距離Ｄ（ｍ）が、ＣＰＵ７により算出される。
【０１００】
ここでは、たとえば、図４に示すように、腰部の関節部Ｏ１（Ｏ１１）から首関節部Ｏ２までの関節間距離Ｄ（２）が、関節部の位置座標に基づいてＣＰＵ７により算出される。また、腰部の関節部Ｏ１（Ｏ１２）から左肩の関節部Ｏ３までの関節間距離Ｄ（３）が、関節部の位置座標に基づいてＣＰＵ７により算出される。また、腰部の関節部Ｏ１（Ｏ１２）から左肘の関節部Ｏ４までの関節間距離Ｄ（４）が、関節部の位置座標に基づいてＣＰＵ７により算出される。さらに、腰部の関節部Ｏ１（Ｏ１２）から左手首の関節部Ｏ５までの関節間距離Ｄ（４）が、関節部の位置座標に基づいてＣＰＵ７により算出される。同様にして、関節間距離Ｄ（６）〜Ｄ（１４）が、関節部の位置座標に基づいてＣＰＵ７により算出される。
【０１０１】
なお、ここでは、腰部の関節部における姿勢決定用データを定義するための変数ｍには、数値「１」がＣＰＵ７により割り当てられている。また、腰部を除く関節部における姿勢決定用データを定義するための変数ｍには、所定の値（２以上の自然数）がＣＰＵ７により割り当てられている。腰部を除く関節部における姿勢決定用データを定義するための変数ｍに割り当てられる値（腰部を除く各関節部に対応する数値：２以上の自然数）は、画像処理プログラムにおいて予め規定されている（図４を参照）。
【０１０２】
図４（ｂ）は、各関節間距離Ｄ（ｍ）を算出するときの基点を説明するための図である。ここでは、腰部の関節部Ｏ１１，Ｏ１２，Ｏ１３，Ｏ１４，Ｏ１５が、各関節間距離Ｄ（ｍ）を算出するときの基点となっている。図４（ｂ）では、図を理解しやすいように、腰部の関節部Ｏ１１，Ｏ１２，Ｏ１３，Ｏ１４，Ｏ１５が異なる位置に表示されている。しかしながら、実際に計算に用いられる、腰部の関節部Ｏ１（Ｏ１１，Ｏ１２，Ｏ１３，Ｏ１４，Ｏ１５）の定義点は、図４（ｂ）における点Ｏｂである。
【０１０３】
そして、関節間距離Ｄ（ｍ）がＣＰＵ７により算出されると、関節間距離Ｄ（ｍ）に応じて許容誤差データＧ（ｍ，ｌ）を調節するための調節データＣ（ｍ，ｌ）が、ＣＰＵ７に認識される。ここでは、キャラクタの腰部（主要部）に定義された関節部Ｏ１１，Ｏ１２，Ｏ１３，Ｏ１４，Ｏ１５から末端部Ｏ２，Ｏ５，Ｏ８，Ｏ１１，Ｏ１４までの関節間距離Ｄ（２），Ｄ（５），Ｄ（８），Ｄ（１１），Ｄ（１４）に応じて、キャラクタの腰部から末端部までの各関節部Ｏ１（Ｏ１１，Ｏ１２，Ｏ１３，Ｏ１４，Ｏ１５）〜Ｏ１４における許容誤差データＧ（ｍ，ｌ）を調節するための調節データＣ（ｍ，ｌ）が、ＣＰＵ７に認識される。関節間距離Ｄ（ｍ）と調節データＣ（ｍ，ｌ）との対応関係は、プログラムにおいて規定されている。すなわち、図５に示すように、関節間距離Ｄ（ｍ）に対応する調節データＣ（ｍ，ｌ）が、対応テーブルに基づいてＣＰＵ７に認識される。
【０１０４】
なお、ここでは、関節間距離Ｄ（ｍ）が大きくなると、調節データＣ（ｍ，ｌ）が大きくなるようになっている。言い換えると、腰部に連結された骨要素の合計長さが長ければ長いほど、腰部側の関節部における調節データＣ（ｍ，ｌ）が小さくなるようになっている。これにより、腰部に連結された骨要素の合計長さが長くなったときに、腰部における誤差が、腰部から離れた位置の関節部の誤差として反映されるという問題を解消することができる。
【０１０５】
そして、調節データＣ（ｍ，ｌ）がＣＰＵ７に認識されると、調節データＣ（ｍ，ｌ）に基づいて許容誤差データＧ（ｍ，ｌ）を修正する処理が、ＣＰＵ７により実行される。たとえば、初期条件としての許容誤差データＧ（ｍ，ｌ）に調節データＣ（ｍ，ｌ）を乗算する処理（Ｇ（ｍ，ｌ）×Ｃ（ｍ，ｌ））が、ＣＰＵ７により実行される。そして、この乗算結果が、各関節部における、姿勢決定用データＳ（ｐ，ｍ，ｌ）と予想データＹ（ｐ，ｍ，ｌ）との間において許容する誤差に対応する許容誤差データＧ（ｍ，ｌ）として、ＣＰＵ７に認識される（Ｓ４）。
【０１０６】
続いて、１フレーム目の姿勢決定用データＳ（１，ｍ，ｌ）とｎフレーム目の姿勢決定用データＳ（ｎ，ｍ，ｌ）との間の少なくとも１つの姿勢決定用データＳ（ｐ，ｍ，ｌ）（１＜ｐ＜ｎ：ｐは自然数）それぞれに対応する予想データＹ（ｐ，ｍ，ｌ）が、ＣＰＵ７により算出される（Ｓ５）。ここでは、図６（ａ）に示すように、予想データＹ（ｐ，ｍ，ｌ）の算出には線形補間が用いられ、初期条件は１フレーム目の姿勢決定用データＳ（１，ｍ，ｌ）およびｎ＿ｍａｘフレーム目の姿勢決定用データＳ（ｎ＿ｍａｘ，ｍ，ｌ）である。具体的には、「Ｙ（ｐ，ｍ，ｌ）＝Ｓ（１，ｍ，ｌ）＋（ｐ−１）×（Ｓ（ｎ＿ｍａｘ，ｍ，ｌ）−Ｓ（１，ｍ，ｌ））／（ｎ＿ｍａｘ−１）」式に基づいて、予想データＹ（ｐ，ｍ，ｌ）がＣＰＵ７により算出される。
【０１０７】
なお、図６（ａ）では、初期条件としての１フレーム目の姿勢決定用データＳ（１，ｍ，ｌ）およびｎフレーム目（ｎ＿ｍａｘフレーム目）の姿勢決定用データＳ（ｎ，ｍ，ｌ）が、二重丸印で示されている。また、予想データＹ（ｐ，ｍ，ｌ）が、Ｘ印で示されている。ここでは、予想データＹ（ｐ，ｍ，ｌ）の算出に線形補間が用いられる場合の例を示しているが、予想データＹ（ｐ，ｍ，ｌ）の算出に多項式を用いた補間を用いても良い。
【０１０８】
続いて、姿勢決定用データＳ（ｐ，ｍ，ｌ）と予想データＹ（ｐ，ｍ，ｌ）との差の絶対値Ｚ（ｐ，ｍ，ｌ）（＝｜Ｙ（ｐ，ｍ，ｌ）―Ｓ（ｐ，ｍ，ｌ）｜）が、ＣＰＵ７により算出される（Ｓ６）。ここでは、２フレームから（ｎ−１）フレームまで間において、絶対値Ｚ（ｐ，ｍ，ｌ）が、ＣＰＵ７により算出される。
【０１０９】
すると、この差の絶対値Ｚ（ｐ，ｍ，ｌ）の値が、許容誤差データＧ（ｍ，ｌ）が示す値未満であるか否かが、ＣＰＵ７により判別される（Ｓ７）。具体的には、各関節部における、２フレームから（ｎ−１）フレームまでの絶対値Ｚ（ｐ，ｍ，ｌ）（１＜ｐ＜ｎ）の少なくともいずれか１つの値が、許容誤差データＧ（ｍ，ｌ）が示す値未満であるか否かが、ＣＰＵ７により判別される。
【０１１０】
そして、各関節部における、２フレームから（ｎ−１）フレームまでの絶対値Ｚ（ｐ，ｍ，ｌ）の少なくともいずれか１つの値が、許容誤差データＧ（ｍ，ｌ）が示す値以上であるとＣＰＵ７により判別された場合（Ｓ７でＮｏ）、絶対値Ｚ（ｐ，ｍ，ｌ）が最大となる姿勢決定用データＳ（ｐ＿ｍｘ１，ｍ，ｌ）が、上記の基準姿勢決定用データＫ（１，ｍ，ｌ），Ｋ（ｎ，ｍ，ｌ）とは異なる基準姿勢決定用データＫ（ｐ＿ｍｘ１，ｍ，ｌ）としてＣＰＵ７に認識される。すると、基準姿勢決定用データＫ（ｐ＿ｍｘ１，ｍ，ｌ）をＲＡＭ１２ｂに格納する処理が、ＣＰＵ７により実行される（Ｓ８）。
【０１１１】
具体的には、各関節部における、２フレームから（ｎ−１）フレームまでの絶対値Ｚ（ｐ，ｍ，ｌ）の少なくともいずれか１つの値が、許容誤差データＧ（ｍ，ｌ）が示す値以上であるとＣＰＵ７により判別された場合、１フレームからｎフレームまでの間において絶対値Ｚ（ｐ，ｍ，ｌ）が最大となる姿勢決定用データＳ（ｐ＿ｍｘ１，ｍ，ｌ）が、上記の基準姿勢決定用データＫ（１，ｍ，ｌ），Ｋ（ｎ，ｍ，ｌ）とは異なる基準姿勢決定用データＫ（ｐ＿ｍｘ１，ｍ，ｌ）としてＣＰＵ７に認識される。すると、基準姿勢決定用データＫ（ｐ＿ｍｘ１，ｍ，ｌ）をＲＡＭ１２ｂに格納する処理が、ＣＰＵ７により実行される。
【０１１２】
たとえば、図６（ａ）では、絶対値が最大となる姿勢決定用データは、７フレーム目の姿勢決定用データＳ（７，ｍ，ｌ）が、上記の基準姿勢決定用データＫ（１，ｍ，ｌ），Ｋ（ｎ，ｍ，ｌ）とは異なる基準姿勢決定用データＫ（７，ｍ，ｌ）としてＣＰＵ７に認識される（図６（ａ）の四角印を参照）。すると、この基準姿勢決定用データＫ（７，ｍ，ｌ）をＲＡＭ１２ｂに格納する処理が、ＣＰＵ７により実行される。
【０１１３】
続いて、ステップ５と同様の処理をＣＰＵ７に実行させることにより、１フレーム目の姿勢決定用データＳ（１，ｍ，ｌ）と、（ｐ＿ｍｘ１）フレーム目の姿勢決定用データＳ（ｐ＿ｍｘ１，ｍ，ｌ）との間の少なくとも１つの姿勢決定用データＳ（ｐ，ｍ，ｌ）（１＜ｐ＜ｐ＿ｍｘ１：ｐは自然数）それぞれに対応する予想データＹ（ｐ，ｍ，ｌ）が、ＣＰＵ７により算出される。
【０１１４】
また、同様に、ステップ５と同様の処理をＣＰＵ７に実行させることにより、（ｐ＿ｍｘ１）フレーム目の姿勢決定用データＳ（ｐ＿ｍｘ１，ｍ，ｌ）と、ｎフレーム目の姿勢決定用データＳ（ｎ，ｍ，ｌ）との間の少なくとも１つの姿勢決定用データＳ（ｐ，ｍ，ｌ）（ｐ＿ｍｘ１＜ｐ＜ｎ：ｐは自然数）それぞれに対応する予想データＹ（ｐ，ｍ，ｌ）が、ＣＰＵ７により算出される。
【０１１５】
なお、図６（ｂ）では、初期条件としての姿勢決定用データＳ（１，ｍ，ｌ），Ｓ（ｎ，ｍ，ｌ），Ｓ（ｐ＿ｍｘ１（＝７），ｍ，ｌ）が、二重丸印で示されている。また、図６（ｂ）では、予想データＹ（ｐ，ｍ，ｌ）が、Ｘ印で示されている。
【０１１６】
続いて、ステップ６と同様の処理をＣＰＵ７に実行させることにより、姿勢決定用データＳ（ｐ，ｍ，ｌ）と予想データＹ（ｐ，ｍ，ｌ）との差の絶対値Ｚ（ｐ，ｍ，ｌ）（＝｜Ｙ（ｐ，ｍ，ｌ）―Ｓ（ｐ，ｍ，ｌ）｜）が、ＣＰＵ７により算出される。ここでは、（ｐ＿ｍｘ１）フレームを除く、２フレームから（ｎ−１）フレームまで間のフレームにおいて、絶対値Ｚ（ｐ，ｍ，ｌ）が、ＣＰＵ７により算出される。
【０１１７】
すると、ステップ７と同様の処理をＣＰＵ７に実行させることにより、この差の絶対値Ｚ（ｐ，ｍ，ｌ）の値が、許容誤差データＧ（ｍ，ｌ）が示す値未満であるか否かが、ＣＰＵ７により判別される。具体的には、各関節部における、（ｐ＿ｍｘ１）フレームを除く２フレームから（ｎ−１）フレームまでの絶対値Ｚ（ｐ，ｍ，ｌ）（１＜ｐ＜ｎ、ｐ≠ｐ＿ｍｘ１）の少なくともいずれか１つの値が、許容誤差データＧ（ｍ，ｌ）が示す値未満であるか否かが、ＣＰＵ７により判別される。
【０１１８】
そして、各関節部における、（ｐ＿ｍｘ１）フレームを除く２フレームから（ｎ−１）フレームまでの絶対値Ｚ（ｐ，ｍ，ｌ）の少なくともいずれか１つの値が、許容誤差データＧ（ｍ，ｌ）が示す値以上であるとＣＰＵ７に判別された場合に、ステップ８と同様の処理がＣＰＵ７により実行される。ここでは、たとえば、許容誤差以上の絶対値が含まれるフレーム範囲において絶対値Ｚ（ｐ，ｍ，ｌ）が最大となる姿勢決定用データＳ（ｐ＿ｍｘ２  ｏｒ  ｐ＿ｍｘ３，ｍ，ｌ）が、上記の基準姿勢決定用データＫ（１，ｍ，ｌ），Ｋ（ｎ，ｍ，ｌ），Ｋ（ｐ＿ｍｘ１，ｍ，ｌ）とは異なる基準姿勢決定用データＫ（ｐ＿ｍｘ２  ｏｒ  ｐ＿ｍｘ３，ｍ，ｌ）としてＣＰＵ７に認識される。すると、基準姿勢決定用データＫ（ｐ＿ｍｘ２  ｏｒ  ｐ＿ｍｘ３，ｍ，ｌ）をＲＡＭ１２ｂに格納する処理が、ＣＰＵ７により実行される。ここで、ｐ＿ｍｘ２およびｐ＿ｍｘ３は、ｐ＿ｍｘ１を除く２から（ｎ−１）までのいずれか１つの自然数である。
【０１１９】
具体的には、各関節部における、（ｐ＿ｍｘ１）フレームを除く２フレームから（ｎ−１）フレームまでの絶対値Ｚ（ｐ，ｍ，ｌ）の少なくともいずれか１つの値が、許容誤差データＧ（ｍ，ｌ）が示す値以上であるとＣＰＵ７に判別され、許容誤差データＧ（ｍ，ｌ）が示す値以上の絶対値が１フレームからｐ＿ｍｘ１フレームまでの間に含まれる場合、１フレームからｐ＿ｍｘ１フレームまでの間において絶対値Ｚ（ｐ，ｍ，ｌ）が最大となる姿勢決定用データＳ（ｐ＿ｍｘ２，ｍ，ｌ）が、上記の基準姿勢決定用データＫ（１，ｍ，ｌ），Ｋ（ｎ，ｍ，ｌ），Ｋ（ｐ＿ｍｘ１，ｍ，ｌ）とは異なる基準姿勢決定用データＫ（ｐ＿ｍｘ２，ｍ，ｌ）としてＣＰＵ７に認識される。
【０１２０】
また、各関節部における、（ｐ＿ｍｘ１）フレームを除く２フレームから（ｎ−１）フレームまでの絶対値Ｚ（ｐ，ｍ，ｌ）の少なくともいずれか１つの値が、許容誤差データＧ（ｍ，ｌ）が示す値以上であるとＣＰＵ７に判別され、許容誤差データＧ（ｍ，ｌ）が示す値以上の絶対値がｐ＿ｍｘ１フレームからｎフレームまでの間に含まれる場合、ｐ＿ｍｘ１フレームからｎフレームまでの間において絶対値Ｚ（ｐ，ｍ，ｌ）が最大となる姿勢決定用データＳ（ｐ＿ｍｘ３，ｍ，ｌ）が、上記の基準姿勢決定用データＫ（１，ｍ，ｌ），Ｋ（ｎ，ｍ，ｌ），Ｋ（ｐ＿ｍｘ１，ｍ，ｌ）とは異なる基準姿勢決定用データＫ（ｐ＿ｍｘ３，ｍ，ｌ）としてＣＰＵ７に認識される。
【０１２１】
すると、基準姿勢決定用データＫ（ｐ＿ｍｘ２，ｍ，ｌ），Ｋ（ｐ＿ｍｘ３，ｍ，ｌ）をＲＡＭ１２ｂに格納する処理が、ＣＰＵ７により実行される。ここで、ｐ＿ｍｘ２およびｐ＿ｍｘ３は、ｐ＿ｍｘ１を除く２から（ｎ−１）までのいずれか１つの自然数である。
【０１２２】
たとえば、図６（ｂ）では、絶対値が最大となる姿勢決定用データが、４フレーム目の姿勢決定用データＳ（４，ｍ，ｌ）および（ｎ＿ｍａｘ−６）フレーム目の姿勢決定用データＳ（ｎ＿ｍａｘ−６，ｍ，ｌ）である場合の例を示している。この場合、４フレーム目の姿勢決定用データＳ（４，ｍ，ｌ）および（ｎ＿ｍａｘ−６）フレーム目の姿勢決定用データＳ（ｎ＿ｍａｘ−６，ｍ，ｌ）が、上記の基準姿勢決定用データＫ（１，ｍ，ｌ），Ｋ（ｎ，ｍ，ｌ），Ｋ（７，ｍ，ｌ）とは異なる基準姿勢決定用データＫ（４，ｍ，ｌ），Ｋ（ｎ＿ｍａｘ−６，ｍ，ｌ）としてＣＰＵ７に認識される（図６（ｂ）の四角印を参照）。すると、この基準姿勢決定用データＫ（４，ｍ，ｌ），Ｋ（ｎ＿ｍａｘ−６，ｍ，ｌ）をＲＡＭ１２ｂに格納する処理が、ＣＰＵ７により実行される。ここでは、ｐ＿ｍｘ２フレームが４フレームに対応しており、ｐ＿ｍｘ３フレームが（ｎ＿ｍａｘ−６）フレームに対応している。
【０１２３】
なお、ここでは、許容誤差以上の絶対値が、１フレームからｐ＿ｍｘ１フレームまでの間とｐ＿ｍｘ１フレームからｎフレームまでの間とに含まれる場合の例を示している。しかしながら、許容誤差以上の絶対値が、１フレームからｐ＿ｍｘ１フレームまでの間にのみ含まれる場合や、ｐ＿ｍｘ１フレームからｎフレームまでの間にのみ含まれる場合もある。この場合は、許容誤差以上の絶対値が含まれるフレーム範囲において、絶対値Ｚ（ｐ，ｍ，ｌ）が最大となる姿勢決定用データが、上記の基準姿勢決定用データとは異なる基準姿勢決定用データとしてＣＰＵ７に認識される。
【０１２４】
このようなステップ５からステップ８までの処理は、姿勢決定用データＳ（ｐ，ｍ，ｌ）と予想データＹ（ｐ，ｍ，ｌ）との差の絶対値Ｚ（ｐ，ｍ，ｌ）が、許容誤差データＧ（ｍ，ｌ）が示す値未満になるまで、ＣＰＵ７により繰り返し実行される。
【０１２５】
そして、姿勢決定用データＳ（ｐ，ｍ，ｌ）と予想データＹ（ｐ，ｍ，ｌ）との差の絶対値Ｚ（ｐ，ｍ，ｌ）が、許容誤差データＧ（ｍ，ｌ）が示す値未満であるとＣＰＵ７に判別された場合（Ｓ７でＹｅｓ）、ＲＡＭ１２ｂに格納された全ての基準姿勢決定用データＫ（１，ｍ，ｌ），Ｋ（ｐ＿ｍｘｉ，ｍ，ｌ），Ｋ（ｎ，ｍ，ｌ）が、ＣＰＵ７に認識される（Ｓ９）。
【０１２６】
ここで用いたｐ＿ｍｘｉは、上述した、ｐ＿ｍｘ１、ｐ＿ｍｘ２、およびｐ＿ｍｘ３を、一般的に表現した記号である。図６（ｃ）は、ステップ７における判別処理の回数ｉが「ｉ＿ｆｉｎ」回である場合の例を示している。この場合は、基準姿勢決定用データＫ（ｐ＿ｍｘ１，ｍ，ｌ），Ｋ（ｐ＿ｍｘ２，ｍ，ｌ），・・・，Ｋ（ｐ＿ｍｘｉ＿ｆｉｎ，ｍ，ｌ）が、ＣＰＵ７に認識される（図６（ｃ）の二重丸印を参照）。
【０１２７】
続いて、キャラクタの姿勢画像データを生成する処理が、ＣＰＵ７により実行される（Ｓ１０）。ここでは、キャラクタの姿勢画像データは、ＣＰＵ７に認識された全ての基準姿勢決定用データＫ（１，ｍ，ｌ），Ｋ（ｐ＿ｍｘｉ，ｍ，ｌ），Ｋ（ｎ，ｍ，ｌ）それぞれに基づいて生成される。
【０１２８】
まず、基準姿勢決定用データＫ（１，ｍ，ｌ），Ｋ（ｐ＿ｍｘｉ，ｍ，ｌ），Ｋ（ｎ，ｍ，ｌ）に対応するフレーム（基準フレーム：１フレーム、ｐ＿ｍｘｉフレーム、およびｎフレーム）を除いたフレームの姿勢決定用データが、基準姿勢決定用データＫ（１，ｍ，ｌ），Ｋ（ｐ＿ｍｘｉ，ｍ，ｌ），Ｋ（ｎ，ｍ，ｌ）を用いて、ＣＰＵ７により算出される。たとえば、図６（ｃ）に示すように、基準フレームを除いたフレームの姿勢決定用データは、基準姿勢決定用データＫ（１，ｍ，ｌ），Ｋ（ｐ＿ｍｘｉ，ｍ，ｌ），Ｋ（ｎ，ｍ，ｌ）を用いることにより算出される近似データである。この近似データ（基準フレームを除いたフレームの姿勢決定用データ）は、隣接する基準姿勢決定用データを初期データとした線形補間を行うことにより算出される。図６（ｃ）では、二重丸印に対応するデータが、基準姿勢決定用データＫ（１，ｍ，ｌ），Ｋ（ｐ＿ｍｘｉ，ｍ，ｌ），Ｋ（ｎ，ｍ，ｌ）を示している。
【０１２９】
具体的には、１フレームとｐ＿ｍｘｉフレームとの間のフレームｐ１の姿勢決定用データ（近似データ）は、「Ｓ（ｐ１，ｍ，ｌ）＝Ｓ（１，ｍ，ｌ）＋（ｐ１−１）×（Ｓ（ｐ＿ｍｘｉ，ｍ，ｌ）−Ｓ（１，ｍ，ｌ））／（ｐ＿ｍｘｉ−１）」式に基づいて算出される。また、あるｐ＿ｍｘｉフレーム（ｐ＿ｍｘ１フレーム）と他のｐ＿ｍｘｉフレーム（ｐ＿ｍｘ２フレーム）との間のフレームｐ２の姿勢決定用データ（近似データ）は、「Ｓ（ｐ２，ｍ，ｌ）＝Ｓ（ｐ＿ｍｘ１，ｍ，ｌ）＋（ｐ２−１）×（Ｓ（ｐ＿ｍｘ２，ｍ，ｌ）−Ｓ（ｐ＿ｍｘ１，ｍ，ｌ））／（ｐ＿ｍｘ２−ｐ＿ｍｘ１）」式に基づいて算出される。さらに、ｐ＿ｍｘｉフレームとｎフレームとの間のフレームｐ３の姿勢決定用データ（近似データ）は、「Ｓ（ｐ３，ｍ，ｌ）＝Ｓ（ｐ＿ｍｘｉ，ｍ，ｌ）＋（ｐ３−１）×（Ｓ（ｎ，ｍ，ｌ）−Ｓ（ｐ＿ｍｘｉ，ｍ，ｌ））／（ｎ−ｐ＿ｍｘ）」式に基づいて算出される。なお、図６（ｃ）では、上記の近似データが三角印で示されている。
【０１３０】
このように、基準フレームを除いたフレームの姿勢決定用データが算出されると、基準フレームを除いたフレームの姿勢決定用データＳ（ｐ，ｍ，ｌ）（１≦ｐ≦ｎ、ｐ≠１、ｐ≠ｐ＿ｍｘｉ、ｐ≠ｎ）および基準姿勢決定用データＫ（ｐ，ｍ，ｌ）（ｐ＝１、ｐ＝ｐ＿ｍｘｉ、ｐ＝ｎ）が、ＲＡＭ１２ｂに格納される。
【０１３１】
続いて、ＲＡＭ１２ｂに格納された、基準フレームを除くフレームの姿勢決定用データＳ（ｐ，ｍ，ｌ）（１≦ｐ≦ｎ、ｐ≠１、ｐ≠ｐ＿ｍｘｉ、ｐ≠ｎ）および基準姿勢決定用データＫ（ｐ，ｍ，ｌ）（ｐ＝１、ｐ＝ｐ＿ｍｘｉ、ｐ＝ｎ）が、キャラクタの姿勢画像データを生成するための姿勢決定用データＳ’（ｐ，ｍ，ｌ）（１≦ｐ≦ｎ）として、ＣＰＵ７に認識される。すると、姿勢決定用データＳ’（ｐ，ｍ，ｌ）それぞれに基づいて、各フレームのキャラクタの姿勢画像データを生成する処理が、ＣＰＵ７により実行される（Ｓ１０）。
【０１３２】
たとえば、全フレームの姿勢決定用データＳ’（ｐ，ｍ，ｌ）それぞれは、各フレームにおける、関節部の位置座標および関節部を原点として回転する骨要素の回転角度を示すデータである。具体的には、各フレームの姿勢決定用データＳ’（ｐ，ｍ，ｌ）の変数ｌに数値「１」、数値「２」および数値「３」を代入することにより、各フレームのキャラクタの関節部の位置座標（Ｓ’（ｐ，ｍ，１），Ｓ’（ｐ，ｍ，２），Ｓ’（ｐ，ｍ，３））が求められる。また、各フレームの姿勢決定用データＳ’（ｐ，ｍ，ｌ）の変数ｌに数値「４」、数値「５」および数値「６」を代入することにより、各フレームのキャラクタの関節部の回転角度（Ｓ’（ｐ，ｍ，４），Ｓ’（ｐ，ｍ，５），Ｓ’（ｐ，ｍ，６））が求められる。
【０１３３】
このようにして、各フレームにおいてキャラクタの関節部の位置座標および回転角度を求めることにより、各フレームにおけるキャラクタの関節部の位置が決定される。そして、骨要素に対応する画像を隣接する関節部の間に配置する処理が、ＣＰＵ７により実行される。すると、骨要素が配置された状態の画像データが姿勢画像データとしてＲＡＭ１２ｂに格納される。
【０１３４】
ここで、ＲＡＭ１２に格納された姿勢画像データを時系列に沿って再生する処理をＣＰＵ７に実行させることにより、キャラクタが動作する状態がモニタ２０に表示される（Ｓ１１）。具体的には、画像制作者が、キーボード１７を操作することにより、１フレーム目の姿勢画像データからｎフレーム目の姿勢画像データまでを連続的に再生する命令をＣＰＵ７に指示する。これにより、キャラクタが動作する状態が、モニタ２０に表示される。このため、画像制作者は、画像処理プログラムより生成されたキャラクタ用のモーションデータを動画として再生し、生成された動画の精度をモニタ２０において確認することができる。
【０１３５】
上記のように、本発明を用いた実施形態では、姿勢決定用データＳ’を、許容誤差データＧに基づいて自動的かつ選択的に記憶部に格納することができる。また、選択的に抽出された姿勢決定用データＳ’に基づいて姿勢用の画像データを生成することができ、この姿勢用の画像データに基づいてキャラクタの複数の姿勢からなる動画をモニタ２０に表示することができる。このように、選択的に抽出された姿勢決定用データＳ’に基づいて動画を再生することにより、動画の再生に必要となるデータの容量を小さくすることができる。
【０１３６】
たとえば、上記のようにして選択的に抽出された姿勢決定用データＳ’をゲームプログラムに格納しておくことにより、ゲーム装置においてゲームプログラムが実行されたときに、姿勢決定用データＳ’および要素データに基づいてキャラクタ用のモーションデータを生成することができる。このように、姿勢決定用データＳ’および要素データだけを用意しておけば、キャラクタ用のモーションデータをゲーム装置において生成することができるので、動画の再生に必要となるデータの容量を小さくすることができる。
【０１３７】
〔他の実施形態〕
（ａ）前記実施形態では、画像処理プログラムを適用しうるコンピュータの一例としての家庭用コンピュータを用いた場合の例を示したが、画像処理装置は、前記実施形態に限定されず、モニタが別体に構成された画像処理装置、モニタが一体に構成された画像処理装置、ゲームプログラムを実行することによって画像処理装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。また、画像処理装置は、前記実施形態に限定されず、携帯型コンピュータ、携帯型画像処理装置などにも同様に適用することができる。
（ｂ）本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＯＭカセット、その他のものが挙げられる。
【０１３８】
（ｃ）前記実施形態では、姿勢決定用データＳ（ｎ，ｍ，ｌ）の６成分（ｌ＝１，２，３，４，５，６）それぞれに対して予想データＹ（ｎ，ｍ，ｌ）との誤差判定を行うようになっている。しかしながら、姿勢決定用データＳ（ｎ，ｍ，ｌ）の６成分それぞれに対して予想データＹ（ｎ，ｍ，ｌ）との誤差判定を行うのではなく、代表的な成分に対してのみ誤差判定を行ったり、座標値や角度の各成分の２乗の和に対して誤差判定を行ったりしても良い。
【図面の簡単な説明】
【０１３９】
【図１】本発明の一実施形態による画像処理装置の基本構成図。
【図２】前記画像処理装置の機能ブロック図。
【図３】モデルの骨要素および関節部と、モデルの骨要素および関節部を定義する座標系とを説明するための図。
【図４】モデルの主要部から関節部までの関節間距離の算出形態を説明を行うための図。
【図５】関節間距離と調節データとの対応関係を示す図。
【図６】姿勢決定用データと姿勢決定用データに対応する予想データとの関係示す図。
【図７】画像処理システムを示すフロー。
【符号の説明】
【０１４０】
１  制御部
２  記憶部
３  画像表示部
４  音声出力部
５  操作入力部
７  ＣＰＵ
１２  ＲＡＭ
１７  コントローラ
２０  モニタ
２３  通信部
５０  姿勢決定用データ認識手段
５１  第１基準姿勢決定用データ認識手段
５２  第１基準姿勢決定用データ格納手段
５３  対応データ算出手段
５４  許容差異データ認識手段
５５  データ差異判別手段
５６  第２基準姿勢決定用データ認識手段
５７  第２基準姿勢決定用データ格納手段
５８  第３基準姿勢決定用データ認識手段
５９  画像データ生成手段
６０  動画表示手段
Ｓ（ｎ，ｍ，ｌ），Ｓ’（ｎ，ｍ，ｌ）  姿勢決定用データ
Ｋ（ｎ，ｍ，ｌ）  基準姿勢決定用データ
Ｙ（ｎ，ｍ，ｌ）  予想データ
Ｚ（ｐ，ｍ，ｌ）  姿勢決定用データと予想データとの差の絶対値
Ｇ（ｍ，ｌ）  許容誤差データ
Ｄ（ｍ）  関節間距離
【図１】
0004536095.tif 000002
【図２】
0004536095.tif 000003
【図３】
0004536095.tif 000004
【図４】
0004536095.tif 000005
【図５】
0004536095.tif 000006
【図６】
0004536095.tif 000007
【図７】
0004536095.tif 000008