(57)【特許請求の範囲】
【請求項１】
複数のパーツが関節で連結され、前記複数のパーツとして少なくとも脚部、腕部、腰部、胴部及び頭部のそれぞれのパーツを有する人型のキャラクタの複数のポイントの座標位置を変化させて前記キャラクタの動的な画像を生成するための画像生成装置において、
前記キャラクタの運動パターン毎に、当該運動パターンによる前記キャラクタの動作時間分の前記複数のポイントの座標位置を記憶する運動パターン記憶手段と、
２つの前記運動パターンの結合を、一方の運動パターンによる前記キャラクタの動作終了付近と他方の運動パターンによる前記キャラクタの動作開始付近のそれぞれの前記座標位置を合成することによって行う運動パターン結合手段と、
前記運動パターン結合手段によって結合した複数の運動パターンに基づいて、前記キャラクタの動的な画像を生成する画像生成手段と、を備え、
前記運動パターン結合手段は、
前記２つの運動パターンの結合開始付近で、これらの運動パターンにおける前記複数のポイントのうち、前記キャラクタの起立時の前記脚部のパーツの足部分、又は前記キャラクタの倒立時の前記腕部のパーツの手部分である特定のポイントの座標位置が、特定の座標方向で所定値以内の距離にある所定の位置関係にあるときに、前記２つの運動パターンのうち一方の運動パターンの前記動作終了付近のモーションデータと他方の運動パターンの前記動作開始付近のモーションデータを、前記一方の運動パターンのモーションデータのうち最終フレームの数フレーム前のフレームから順次最終フレームにかけて前記一方の運動パターンの結合比率を減少させ、一方で前記他方の運動パターンの初期フレームから順次所定期間後のフレームにかけて前記他方の運動パターンの結合比率を増加させて補間することによって作成した繋ぎ用のモーションデータを用いて前記運動パターンの結合を行い、
前記特定のポイントの座標位置が前記所定の位置関係にないときには、前記繋ぎ用のモーションデータを用いた前記運動パターンの結合を行わない
ことを特徴とする画像生成装置。
【請求項２】
前記運動パターン結合手段は、
前記２つの運動パターンの結合を、前記一方の運動パターンによるキャラクタ動作の終了から所定期間前までの間の動作期間におけるフレーム毎の座標位置と、前記他方の運動パターンによるキャラクタ動作の開始から前記所定期間後までの間にあるフレームの座標位置とを、前記フレーム毎にそれぞれの重み付けを変化させつつ演算した座標位置に置き換えることによって行うものであり、
前記一方の運動パターンによるキャラクタ動作の終了から所定期間前の時点の前記特定のポイントの座標位置と、前記他の運動パターンによるキャラクタ動作の開始時点の前記特定のポイントの座標位置とが所定の位置関係にあるときに、前記運動パターンの結合を行う
ことを特徴とする請求項１に記載の画像生成装置。
【請求項３】
複数のパーツが関節で連結され、前記複数のパーツとして少なくとも脚部、腕部、腰部、胴部及び頭部のそれぞれのパーツを有する人型のキャラクタの複数のポイントの座標位置を変化させて前記キャラクタの動的な画像を生成するための画像生成装置のコンピュータに、
前記キャラクタの運動パターン毎に、当該運動パターンによる前記キャラクタの動作時間分の前記複数のポイントの座標位置を記憶する運動パターン記憶手段に記憶された２つの前記運動パターンの結合を、一方の運動パターンによる前記キャラクタの動作終了付近と他方の運動パターンによる前記キャラクタの動作開始付近のそれぞれの前記座標位置を合成することによって行う運動パターン結合ステップであって、
前記２つの運動パターンの結合開始付近で、これらの運動パターンにおける前記複数のポイントのうち、前記キャラクタの起立時の前記脚部のパーツの足部分、又は前記キャラクタの倒立時の前記腕部のパーツの手部分である特定のポイントの座標位置が、特定の座標方向で所定値以内の距離にある所定の位置関係にあるときに、前記２つの運動パターンのうち一方の運動パターンの前記動作終了付近のモーションデータと他方の運動パターンの前記動作開始付近のモーションデータを、前記一方の運動パターンのモーションデータのうち最終フレームの数フレーム前のフレームから順次最終フレームにかけて前記一方の運動パターンの結合比率を減少させ、一方で前記他方の運動パターンの初期フレームから順次所定期間後のフレームにかけて前記他方の運動パターンの結合比率を増加させて補間することによって作成した繋ぎ用のモーションデータを用いて前記運動パターンの結合を行い、前記特定のポイントの座標位置が前記所定の位置関係にないときには、前記繋ぎ用のモーションデータを用いて前記運動パターンの結合を行わない運動パターン結合ステップと、
前記運動パターン結合ステップによって結合された複数の運動パターンに基づいて、前記キャラクタの動的な画像を生成する画像生成ステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成装置及びそのプログラムに関し、さらに詳細には、複数のパーツが関節で連結されたキャラクタの複数のポイントの座標位置を変化させて当該キャラクタの動的な画像を生成するための画像生成装置及びそのプログラムに関する。
【背景技術】
【０００２】
従来より３次元の仮想的な人型のキャラクタを動的に変化させた画像を生成する画像生成装置が知られており、当該キャラクタのリアルな動作を再現するために、人間の動作をモーションキャプチャ等で計測してモーションデータを作成するようにしている。
【０００３】
この種の画像生成装置においては、キャラクタの運動パターンが少ないときには問題がない。しかし、近年ではキャラクタの動作をよりリアルにかつ多様に行わせることが必要となっており、そのために多数の運動パターンのモーションデータを用意しなければならなくなってきている。
【０００４】
そこで、このようなモーションデータ量の増大を抑える技術として、複数の運動パターンを補間する技術が提案されている。
【０００５】
この補間技術として、補間用モーションデータを用意しておき、２つの運動パターン同士のモーションデータを結合するときに、この補間用モーションデータを用いることで複数の運動パターンを補間する方法を採用するものがある。
【０００６】
しかし、このような方法では、運動パターンの種類が多くなるにつれてその数に応じた補間用モーションデータを用意しなければならず、よりリアルに複雑な動作を再現しようとすると、無数の補間用モーションデータが必要となる。
【０００７】
そこで、特許文献１には、２つの運動パターンのモーションデータの結合を、一方の運動パターンのモーションデータの後半部分と他方の運動パターンのモーションデータの前半部分とをそれぞれの重み付け（補間度合い）を変化させて補間する演算を行って一つの繋ぎ用のモーションデータを作成し、この繋ぎ用のモーションデータを補間用モーションデータとして用いることにより複数の運動パターンを結合する技術が開示されている。
【０００８】
例えば、図１７に示すように、運動パターンＡのモーションデータ（フレーム(１)〜フレーム(ｎ)）と運動パターンＢのモーションデータ（フレーム(１)〜フレーム(ｍ）)とを結合する場合、運動パターンＡの終了付近のモーションデータ（フレーム(ｎ−４)〜フレーム(ｎ)）と運動パターンＢの開始付近のモーションデータ（フレーム(１)〜フレーム(５)）を補間することによって繋ぎ用のモーションデータ（フレーム(ａ)〜フレーム(ｅ)）を作成する。
【０００９】
このときの補間を、図１８に示すように、運動パターンＡのモーションデータのうち最終フレームの数フレーム前のフレーム（フレーム（ｎ−４））から順次最終フレーム（フレーム（ｎ））にかけてこの運動パターンＡの結合比率を下げ、一方で運動パターンＢの初期フレーム（フレーム（１））から順次所定期間後のフレーム（フレーム（５））にかけてこの運動パターンＢの結合比率を上げて補間することによって行うことで、キャラクタのリアルな動作を再現することができる。
【００１０】
上述のように運動パターンＡと運動パターンＢとを補間して作成した繋ぎ用パターンのモーションデータによって、運動パターンＡと運動パターンＢとを結合して作成したモーションデータによって生成されるキャラクタの動的な画像を図１９に示す。このモーションデータは、同図に示すように、運動パターンＡのフレーム(１)〜（ｎ−５)、繋ぎ用パターンのフレーム（ａ）〜（ｅ）、運動パターンＢのフレーム（６）〜（ｍ）のフレームから構成される。
【００１１】
このように、特許文献１の補間技術を用いることによって、キャラクタのリアルな動作を再現しつつも、補間用モーションデータを用意しておく必要がなくなり、予め用意し記憶すべきデータ量を大幅に削減することができる。
【特許文献１】特開２００３−８５５９２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかし、上記特許文献１の補間技術で補間して運動パターン同士を結合した場合、キャラクタの運動パターンによっては、生成したキャラクタ画像においてそのキャラクタ動作が不自然となってしまうことがある。
【００１３】
このようにキャラクタ動作が不自然となると、その画像を見る者に対して違和感や不快感を与えてしまうことになり、キャラクタをリアルに動作させる効果が半減してしまう虞がある。
【課題を解決するための手段】
【００１４】
そこで、かかる課題を解決すべく、請求項１に記載の発明は、複数のパーツが関節で連結され、前記複数のパーツとして少なくとも脚部、腕部、腰部、胴部及び頭部のそれぞれのパーツを有する人型のキャラクタの複数のポイントの座標位置を変化させて前記キャラクタの動的な画像を生成するための画像生成装置において、前記キャラクタの運動パターン毎に、当該運動パターンによる前記キャラクタの動作時間分の前記複数のポイントの座標位置を記憶する運動パターン記憶手段と、２つの前記運動パターンの結合を、一方の運動パターンによる前記キャラクタの動作終了付近と他方の運動パターンによる前記キャラクタの動作開始付近のそれぞれの前記座標位置を合成することによって行う運動パターン結合手段と、前記運動パターン結合手段によって結合した複数の運動パターンに基づいて、前記キャラクタの動的な画像を生成する画像生成手段と、を備え、前記運動パターン結合手段は、前記２つの運動パターンの結合開始付近で、これらの運動パターンにおける前記複数のポイントのうち、前記キャラクタの起立時の前記脚部のパーツの足部分、又は前記キャラクタの倒立時の前記腕部のパーツの手部分である特定のポイントの座標位置が、特定の座標方向で所定値以内の距離にある所定の位置関係にあるときに、前記２つの運動パターンのうち一方の運動パターンの前記動作終了付近のモーションデータと他方の運動パターンの前記動作開始付近のモーションデータを、前記一方の運動パターンのモーションデータのうち最終フレームの数フレーム前のフレームから順次最終フレームにかけて前記一方の運動パターンの結合比率を減少させ、一方で前記他方の運動パターンの初期フレームから順次所定期間後のフレームにかけて前記他方の運動パターンの結合比率を増加させて補間することによって作成した繋ぎ用のモーションデータを用いて前記運動パターンの結合を行い、前記特定のポイントの座標位置が前記所定の位置関係にないときには、前記繋ぎ用のモーションデータを用いた前記運動パターンの結合を行わないことを特徴とする。
【００１８】
また、請求項２に記載の発明は、請求項１に記載の画像生成装置において、前記運動パターン結合手段は、前記２つの運動パターンの結合を、前記一方の運動パターンによるキャラクタ動作の終了から所定期間前までの間の動作期間におけるフレーム毎の座標位置と、前記他方の運動パターンによるキャラクタ動作の開始から前記所定期間後までの間にあるフレームの座標位置とを、前記フレーム毎にそれぞれの重み付けを変化させつつ演算した座標位置に置き換えることによって行うものであり、前記一方の運動パターンによるキャラクタ動作の終了から所定期間前の時点の前記特定のポイントの座標位置と、前記他の運動パターンによるキャラクタ動作の開始時点の前記特定のポイントの座標位置とが所定の位置関係にあるときに、前記運動パターンの結合を行うことを特徴とする。
【００１９】
また、請求項３に記載の発明は、複数のパーツが関節で連結され、前記複数のパーツとして少なくとも脚部、腕部、腰部、胴部及び頭部のそれぞれのパーツを有する人型のキャラクタの複数のポイントの座標位置を変化させて前記キャラクタの動的な画像を生成するための画像生成装置のコンピュータに、前記キャラクタの運動パターン毎に、当該運動パターンによる前記キャラクタの動作時間分の前記複数のポイントの座標位置を記憶する運動パターン記憶手段に記憶された２つの前記運動パターンの結合を、一方の運動パターンによる前記キャラクタの動作終了付近と他方の運動パターンによる前記キャラクタの動作開始付近のそれぞれの前記座標位置を合成することによって行う運動パターン結合ステップであって、前記２つの運動パターンの結合開始付近で、これらの運動パターンにおける前記複数のポイントのうち、前記キャラクタの起立時の前記脚部のパーツの足部分、又は前記キャラクタの倒立時の前記腕部のパーツの手部分である特定のポイントの座標位置が、特定の座標方向で所定値以内の距離にある所定の位置関係にあるときに、前記２つの運動パターンのうち一方の運動パターンの前記動作終了付近のモーションデータと他方の運動パターンの前記動作開始付近のモーションデータを、前記一方の運動パターンのモーションデータのうち最終フレームの数フレーム前のフレームから順次最終フレームにかけて前記一方の運動パターンの結合比率を減少させ、一方で前記他方の運動パターンの初期フレームから順次所定期間後のフレームにかけて前記他方の運動パターンの結合比率を増加させて補間することによって作成した繋ぎ用のモーションデータを用いて前記運動パターンの結合を行い、前記特定のポイントの座標位置が前記所定の位置関係にないときには、前記繋ぎ用のモーションデータを用いて前記運動パターンの結合を行わない運動パターン結合ステップと、前記運動パターン結合ステップによって結合された複数の運動パターンに基づいて、前記キャラクタの動的な画像を生成する画像生成ステップと、を実行させることを特徴とするプログラムとした。
【発明の効果】
【００２０】
本発明によれば、２つの運動パターンの結合を、当該２つの運動パターンのモーションデータ（例えば、複数のポイントの座標位置の情報）を補間したモーションデータに基づいて生成したキャラクタの動画像が不自然な動作となることを抑制することができ、視覚的な違和感や不快感を与えることを抑えたキャラクタの動的な画像を生成することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明にかかる画像生成装置の一実施形態について、図面を参照して説明する。本実施形態における画像生成装置は、複数のパーツが関節で連結された３次元の仮想的なキャラクタの複数のポイントの座標位置を変化させ、当該キャラクタの動的な画像を生成する装置である。
【００２２】
本実施形態においては、３次元の仮想的なキャラクタを動的な画像を生成する画像生成装置を用いた運動支援システムを例に挙げて説明する。この運動支援システムは、３次元の仮想的なキャラクタをインストラクターとしてエアロビックスレッスンを行うものである。
【００２３】
［１．運動支援システムの概要］
まず、本発明の実施形態に係る運動支援システムについて図面を参照して説明する。図１は本実施形態に係る運動支援システムの概略構成図である。
【００２４】
本実施形態に係る運動支援システムＳは、スポーツクラブなどの施設に設置され、３次元の仮想的なインストラクター（以下、「バーチャルインストラクター」と呼ぶ。）を表示してエアロビックスレッスンを行うための装置である。
【００２５】
この運動支援システムＳは、図１に示すように、複数の運動パターンを組み合わせて１つの運動プログラムを作成する際に、当該運動プログラム用のバーチャルインストラクター動画情報（以下、「運動プログラム用動画情報」と呼ぶ。）を作成する画像生成装置として機能を有するサーバ装置１と、このサーバ装置１で生成した運動プログラム用動画情報及び楽曲情報に基づいた画像及び音声を再生する端末ユニット２とを備えている。なお、図示していないが、サーバ装置１には端末ユニット２を複数台接続可能となっており、システムの規模に応じて適宜増減可能となっている。
【００２６】
サーバ装置１は、ディスプレイ１０等の表示手段、キーボード１１、マウス１２等の入力手段を接続可能に構成されており、サーバ装置１の管理者は、ディスプレイ１０に表示された画像を見ながらキーボード１１やマウス１２などによりサーバ装置１の操作（例えば、端末ユニット２での運動プログラムの再生許可の設定など）が可能となっており、端末ユニット２からの要求に応じて、運動プログラム用動画情報を作成し、楽曲情報と共に端末ユニット２へネットワークケーブル３を介して送信する。
【００２７】
端末ユニット２は、運動ブースＨに設置されており、端末装置２０と、大型モニタ装置２１と、スピーカ２２と、入力操作器２３とから構成されている。端末装置２０は、ネットワークケーブル３を介してサーバ装置１に接続されており、サーバ装置１から送信される運動プログラム用動画情報及び楽曲情報を再生処理して、当該再生画像を大型モニタ装置２１の画面上に表示し、再生楽曲をスピーカ２２から出力する。
【００２８】
大型モニタ装置２１の表示に従って、ユーザＵ１が運動プログラムの楽曲を入力操作器２３により選択すると、この選択に応じてサーバ装置１により作成されたユーザＵ１専用の運動プログラムが端末装置２０で再生される。そして、ユーザＵ１は、端末装置２０によりスピーカ２２を介して出力されるその運動プログラムの楽曲を聴きながら、端末装置２０により大型モニタ装置２１を介して表示されるバーチャルインストラクターの動画像に合わせて身体運動を行うことになる。
【００２９】
ここで、サーバ装置１は、ユーザＵ１の操作に応じて選択される楽曲の情報を端末ユニット２から取得し、この楽曲の演奏時間の長さで複数の運動パターンを組み合わせた運動プログラムを作成する。この運動プログラムは、複数の運動パターンを組み合わせた動画情報とユーザＵ１によって選択された楽曲情報とからなる。
【００３０】
本実施形態におけるサーバ装置１では、複数の運動パターンの組み合わせの際に、結合する運動パターン同士のモーションデータを一部補間した繋ぎ用のモーションデータ（以下、「ブレンドモーションデータ」と呼ぶ。）を用いて運動パターンを結合することによって、モーションデータのデータ量を削減することとしている。
【００３１】
ここで、サーバ装置１では、ブレンドモーションデータを用いたときにバーチャルインストラクターの動作が不自然とならない運動パターン同士の結合を判断して結合処理を行うようにしており、これにより、その画像を見る者に対して違和感や不快感を与えてしまうことを回避するようにしている。
【００３２】
［２．サーバ装置の構成及び動作］
以下、このように運動プログラム用動画情報を作成するサーバ装置１について図面を参照して具体的に説明する。図２はサーバ装置の主要な内部構成等を表したブロック図、図３はサーバ装置の運動パターンデータベースの格納情報の内容を示す図、図４はモーションデータのイメージを示す概念図、図５はマーカに対応した点及びボーンの関係を示した図、図６はモーションデータを示す図表、図７はモーションデータに基づいて作成した各カウント位置のバーチャルインストラクター画像の例を示す図、図８〜図１０は２つの運動パターン同士の結合処理の説明図である。
【００３３】
（サーバ装置の構成）
サーバ装置１は、汎用のサーバコンピュータを適用可能であり、図２に示すように、各種制御処理を行うＭＰＵ（プロセッサ）１００と、ＲＡＭ１０１と、ＲＯＭ１０２と、通信インターフェイス１０３と、ハードディスク装置１０４とを備えており、これらは内部バス１０５によって相互に接続されている。なお、内部バス１０５には、ディスプレイ１０、キーボード１１及びマウス１２も接続されており、ＭＰＵ１００の処理に伴って各処理内容をディスプレイ１０へ表示可能とすると共に、キーボード１１やマウス１２への入力に応じた操作内容をＭＰＵ１００に送信するようにしている。
【００３４】
ＲＡＭ１０１は、ＭＰＵ１００の処理に従ってデータ及びフォルダ等を一時的に記憶するワーキングメモリとして使用されるものであり、ＲＯＭ１０２はＭＰＵ１００が行う基本的な処理内容を規定したプログラム等を予め記憶している。通信インターフェイス１０３は、ＭＰＵ１００の制御によって、ネットワークケーブル３等を介して、端末装置２０へ運動プログラム用動画情報や楽曲情報を送信したり、端末装置２０から送信される制御データなどを受信したりする。この通信インターフェイス１０３は例えば、ＬＡＮ（Local Area Network）インターフェイスを用いることができる。
【００３５】
ハードディスク装置１０４は、サーバ装置１が行う各種処理を規定するプログラム及び各種データを格納するデータベースなどを記憶するものであり、システムプログラム１１０やサーバプログラム１１１などのプログラムデータ、メニューデータベース１１２、ユーザデータベース１１３、運動パターンデータベース（運動パターン記憶手段に相当）１１４、足状態分類データベース１１５及び楽曲データベース１１６などのデータベースを記憶する。
【００３６】
システムプログラム１１０は、サーバ装置１が行う基本的な処理内容を規定したプログラムであり、サーバプログラム１１１は、サーバ装置１の各種機能を実行するための処理内容を規定したプログラムである。ＭＰＵ１００は、システムプログラム１１０を実行した状態で、サーバプログラム１１１を実行することによって、サーバ装置１としての各種機能を実行するようにしている。
【００３７】
メニューデータベース１１２は各種メニューに応じたデータを格納したものであり、これらのデータは端末装置２０へ送信され、大型モニタ装置２１に表示される。ユーザＵ１は、大型モニタ装置２１に表示される楽曲選択メニューを見ながら入力操作器２３を操作して、楽曲を決定する。すなわち、大型モニタ装置２１に楽曲を選択する楽曲選択メニュー画面が表示され、ユーザＵ１はこの楽曲選択メニュー画面に応じて楽曲を決定する。このとき、ユーザＵ１が入力操作器２３への操作によって楽曲を選択すると、この入力操作器２３への操作がネットワークケーブル３を介してＭＰＵ１００に通知され、ＭＰＵ１００は、当該選択された楽曲の演奏時間の長さの運動プログラム用動画情報を作成して、楽曲情報と共に、端末装置２０へ送信するようにしている。このように送信された運動プログラム用動画情報及び楽曲情報は、端末装置２０によって再生される。
【００３８】
このシステムプログラム１１０及びサーバプログラム１１１等は、例えば、ネットワークに接続されたサーバ等からネットワークケーブル３を介してハードディスク装置１０４にダウンロードされるようにしてもよく、また、ＣＤ−ＲやＤＶＤ−Ｒ等の記録媒体に記録して、図示しない記録媒体ドライブを介してハードディスク装置１０４に読み込まれるようにしてもよい。
【００３９】
ＭＰＵ１００は、サーバプログラム１１１を実行することによって、後述のように、運動パターンの結合を行う運動パターン結合手段、結合した複数の運動パターンに基づいてバーチャルインストラクターの動的な画像を生成する画像生成手段等として機能する。
【００４０】
ユーザデータベース１１３は、サーバ装置１への登録を行ったユーザの情報が格納されるものであり、ユーザの会員番号、年齢、体重、身長、運動履歴などが格納される。また、足状態分類データベース１１５は後述する足状態データを作成するためのデータを格納したデータベースであり、楽曲データベース１１６は運動プログラムで使用可能な複数の楽曲を格納したデータベースである。
【００４１】
運動パターンデータベース１１４は、バーチャルインストラクターが表現する各種運動パターン（以下、任意の運動パターンを表す場合には「モーション」と呼ぶことがある。）に応じたモーションデータが格納されるものであり、これらのモーションデータは、図３に示すように、運動パターン毎にそのパターン番号と対応付けて格納される。運動パターンとしては、例えば、「マーチ」、「サイドステップ１」、「サイドステップ２」、「オープン／クローズ」、「ボクササイズ」などがある。
【００４２】
ここで、運動パターンデータベース１１４に格納されるモーションデータは、複数のマーカを付した現実のインストラクターが行う動作をキャプチャーする等により各マーカの３次元空間の座標位置を計測して作成されるものであり、いわゆるバーチャルインストラクター（動体）を規定した内容となっている。１つのモーションデータは、８カウント（約４秒）の時間帯における各マーカの座標位置の変動内容を規定している。
【００４３】
図４は、具体的なモーションデータのイメージを示したものである。バーチャルインストラクターを表すキャラクタ画像４が、モーションデータに基づいて３次元コンピュータグラフィックス技術によりＸ軸、Ｙ軸、Ｚ軸で構成されるＸＹＺ座標系に位置するように作成されることになる。このＸＹＺ座標系とは異なるカメラ５の撮像方向（動画表示時の視点方向に相当）及び位置を定めるためのＵＶＷ座標系を設け、ＸＹＺ座標系とＵＶＷ座標系との相対関係を規定することで、ユーザが所望する方向及び位置からのバーチャルインストラクターの動画像が表示可能となる。
【００４４】
３次元コンピュータグラフィックス技術により生成されるキャラクタ画像４は、図５に示すように、人体の骨に相当するボーンＢと呼ばれるリンク部材を回動自在に連結したものに、人間の皮膚に相当するスキンを被せて作成されるものであり、これにより脚部Ｄ１ａ，Ｄ１ｂ、腕部Ｄ２ａ，Ｄ２ｂ、腰部Ｄ３、胴部Ｄ４及び頭部Ｄ５のそれぞれのパーツが関節で連結された人型のキャラクタが表現される（図４参照）。なお、人型のキャラクタではなく、猫型、犬型などの動物型のキャラクタとして表現するようにしてもよい。
【００４５】
図５に示すボーンＢの各ポイントに付された点Ｐ１〜Ｐ１７が、上述した現実のインストラクターに付したマーカ位置に相当し、インストラクターが各種動作を行った所定時間（８カウント分）の各点Ｐ１〜Ｐ１７の座標位置が各運動パターンのモーションデータの内容となっている。すなわち、各運動パターンのモーションデータには、図６に示すように、カウント（０）〜カウント（８）までの０．１カウント（１フレーム）毎の各ポイント（点Ｐ１〜Ｐ１７）の座標位置（Ｘ座標位置、Ｙ座標位置、Ｚ座標位置）の情報が含まれており、ＭＰＵ１００は画像生成手段として、このモーションデータのカウント番号の少ないものから順に座標位置を取得していき、バーチャルインストラクターの動的な画像を生成することになる。なお、０．１カウント毎の複数のポイント（点Ｐ１〜Ｐ１７）の座標位置をフレームデータと呼ぶ（図６参照）。また、図５に示す各点Ｐ１〜Ｐ１７の位置及び個数は一例であり、生成するキャラクタ画像４の仕様、要求精度及びハード的なスペック等に応じてマーカの位置及び個数は適宜変更できる。
【００４６】
このようにモーションデータに基づいて作成した各カウント位置（カウント（０）〜カウント（８））のバーチャルインストラクター画像の例を図７に示す。図７（ａ）には運動パターンが「マーチ」であるときの各カウント位置のバーチャルインストラクター画像が示され、図７（ｂ）には運動パターンが「サイドステップ１」であるときの各カウント位置のバーチャルインストラクター画像が示され、図７（ｃ）には運動パターンが「サイドステップ２」であるときの各カウント位置のバーチャルインストラクター画像が示されている。なお、カウント（０）とカウント（８）のフレームデータは同様となることから、カウント（０）に代えてカウント（８）のデータとすることもできるが、ここでは理解を容易にするためにカウント（０）とカウント（８）とを区別して説明するものとする。
【００４７】
上述のようにサーバ装置１のＭＰＵ１００は、ユーザＵ１によって選択された楽曲の演奏時間の長さに応じて、複数の運動パターンを組み合わせて運動プログラムを作成する。この運動パターン同士の結合は、一方の運動パターン（以下、「第１運動パターン」とも呼ぶ。）によるバーチャルインストラクターの動作終了付近と他方の運動パターン（以下、「第２運動パターン」とも呼ぶ。）によるバーチャルインストラクターの動作開始付近のそれぞれのモーションデータを合成することによって行うものであり、以下において図面を参照して具体的に説明する。図８〜図１０は本実施形態のサーバ装置１において２つの運動パターン同士の結合処理の内容を説明するための図である。
【００４８】
まず、運動パターン「マーチ」（図７（ａ）参照）に次の運動パターン「サイドステップ１」（図７（ｂ）参照）を結合するときの状態を例に挙げて説明する。
【００４９】
図８（ａ）に示すように、サーバ装置１のＭＰＵ１００は、運動パターン結合手段として、運動パターン「マーチ」と「サイドステップ１」との結合を、運動パターン「マーチ」によるバーチャルインストラクターの動作終了時付近と運動パターン「サイドステップ１」によるバーチャルインストラクターの動作開始時付近のそれぞれのモーションデータを合成することによって行う。
【００５０】
具体的には、運動パターン「マーチ」のカウント（７．５）からカウント（８）までのモーションデータのそれぞれに、運動パターン「サイドステップ１」によるバーチャルインストラクターの動作開始位置のカウント（０）のモーションデータを互いに重み付け（結合比率）を変化させつつ演算（図８（ｂ）参照）した座標位置に置き換えるようにしている。
【００５１】
運動パターン「マーチ」のカウント（７．６）のフレームでは、重み付けを「マーチ」が０．８、「サイドステップ１」が０．２となるようにそれぞれのモーションデータに重み付けを行う。すなわち、運動パターン「マーチ」のカウント（７．６）のフレームにおける各ポイント（点Ｐ１〜Ｐ１７）の座標位置のデータに０．８を積算し、運動パターン「サイドステップ１」のカウント（０）のフレームにおける各ポイント（点Ｐ１〜Ｐ１７）の座標位置のデータに０．２を積算して、これらを各ポイント（点Ｐ１〜Ｐ１７）毎に合算することによって、ブレンドモーションデータを作成する。同様にカウント（７．７）〜（８）まで順次、０．１カウント毎に、重み付け（「マーチ」，「サイドステップ１」）を（０．４，０．６）→（０．６，０．４）→（０．８，０．２）→（１，０）としてブレンドモーションデータを作成する。
【００５２】
すなわち、第１運動パターンＣに第２運動パターンＤを結合するとしたとき、補間するフレームにおいて各ポイント（点Ｐ１〜Ｐ１７）のそれぞれの座標位置が、（ＸCp1，ＹCp1，ＺCp1）〜（ＸCp17，ＹCp17，ＺCp17）である第１運動パターンＣと、（ＸDp1，ＹDp1，ＺDp1）〜（ＸDp17，ＹDp17，ＺDp17）である第２運動パターンＤとに重み付け（α，β）（α＋β＝１）を行って加算し、ブレンドモーションデータの各ポイント（点Ｐ１〜Ｐ１７）の位置座標を（αＸCp1＋βＸDp1，αＹCp1＋βYDp1，αZCp1＋βZDp1）〜（αＸCp17＋βＸDp17，αＹCp17＋βＹDp17，αＺCp17＋βＺDp17）とする演算を、重み付け（α，β）を変化（順次αを減少、βを増加）させつつ、第１運動パターンＣのフレーム（７．５）〜（８）のそれぞれのフレーム毎に行う。なお、α≧０，β≧０，α＋β＝１とする。
【００５３】
このように結合する運動パターンにおいて、互いの運動パターンのモーションデータで補間したブレンドモーションデータを作成することによって、運動パターンの切り替わり時に、バーチャルインストラクターを自然な切り替わり方で動作させることができる。
【００５４】
また、異なる組み合わせとして、運動パターン「サイドステップ１」に運動パターン「マーチ」を結合するために作成されるブレンドモーションデータは、図９に示すように、ブレンドモーションデータのうち中間のフレームでバーチャルインストラクターの両足が浮いた状態となるが、バーチャルインストラクターが右足立ちから左足立ちに軽くジャンプした動作となることから、バーチャルインストラクターを自然な切り替わり方で動作させることができることになる。
【００５５】
ところが、結合する運動パターンによっては、図８，９に示すような自然な切り替わり方で運動パターンの移行ができないことがある。
【００５６】
例えば、運動パターン「マーチ」に運動パターン「サイドステップ２」を結合するために作成されるブレンドモーションデータは、図１０に示すように、バーチャルインストラクターの右足が浮いた状態で左足が左側に滑りながら移動することになることから、バーチャルインストラクターが不自然な動作を行うことになり、その画像を見る者に対して違和感や不快感を与えてしまうことになり、バーチャルインストラクターをリアルに動作させる効果が半減してしまう虞が有る。
【００５７】
そこで、本実施形態におけるサーバ装置１では、２つの運動パターンの結合開始付近で、各運動パターンのバーチャルインストラクターにおける特定のポイントの座標位置が所定の位置関係にあるか否かの結合判定処理を行い、所定の位置関係にあるときに運動パターンの結合を行うようにし、所定の位置関係にないときには運動パターンの結合を行わないようにしている。そして、運動パターンを結合しないと判断したときには、別の運動パターンを選択して上記結合判定処理を行い、順次結合判定処理で結合可能と判断した運動パターンを結合することで、運動プログラムを作成する。このようにすることで、運動プログラム全体を通して、バーチャルインストラクターを自然に動作させることができ、ユーザは快適にバーチャルインストラクターを見ながらエアロビックスを行うことができる。
【００５８】
ここで、上記結合処理で着目するバーチャルインストラクターの上記「特定のポイント」は、バーチャルインストラクターの各ポイント（点Ｐ１〜Ｐ１７）のうち接地位置（Ｚ＝０）を含む所定の座標領域（例えば、０≦Ｚ≦３０）にあるポイントであり、バーチャルインストラクターの起立時には、その脚部Ｄ１ａ，Ｄ１ｂのパーツの足部分（ここでは、図５に示すＰ１７，Ｐ１４の位置とする。）、又はバーチャルインストラクターの倒立時には、その腕部Ｄ２ａ，Ｄ２ｂのパーツの手部分（図５に示すＰ９，Ｐ６の位置とする。）とする。また、「所定の位置関係」とは、特定の座標方向（Ｘ座標方向又はＹ座標方向）で所定値以内の距離にある関係であるものとする。
【００５９】
従って、例えば、図１０に示す例では、運動パターン「マーチ」のフレーム（７．５）における左足部分のＸ座標位置と運動パターン「サイドステップ２」のフレーム（０）における左足部分のＸ座標位置がかなり離れており、この距離を上記所定値を超えるように設定すれば、運動パターン「マーチ」と運動パターン「サイドステップ２」とは結合不可と判定することになり、運動パターン「マーチ」には、別の運動パターンが結合されることになる。
【００６０】
一方、図９に示す例では、運動パターン「サイドステップ１」のフレーム（７．５）における左足部分のＸ座標位置と運動パターン「マーチ」のフレーム（０）における左足部分のＸ座標位置は図１０に示す例のようには離れておらず、この距離を上記所定値以内と設定すれば、運動パターン「マーチ」と運動パターン「サイドステップ１」とは結合可能と判定することになる。
【００６１】
このようにバーチャルインストラクターの起立時には、脚部のパーツの足部分のＸ座標方向の距離に着目することで、不自然な動作とならない運動パターンの結合を選択することが可能となるが、バーチャルインストラクターの倒立時には、足部分に代えて手部分のＸ座標方向或いはＹ座標方向の距離に着目することで、同様に不自然な動作とならない運動パターンの結合を選択することができる。
【００６２】
ここで、本実施形態におけるサーバ装置１では、この運動パターンの結合判定を容易にするために、図３に示すように運動パターンデータベース１１４に各運動パターンのモーションデータに足状態データが関連付けて記憶される。
【００６３】
この足状態データは、足状態分類データベース１１５によって分類分けされるものであり、この分類分けは、図１１（ａ），（ｂ）に示すように、原点０を基準とした足部分の座標位置をＸ軸，Ｙ軸の各方向について大きく７区分の状態（逆極幅広、逆幅広、逆幅狭、中央、幅狭、幅広、極幅広）に分け、またＺ軸の方向について２区分（接地、浮き）に分けることによって行うこととしている。そして、ＭＰＵ１００は、各運動パターンのモーションデータをこの足状態分類データベース１１５に基づいて分類分けして運動パターンデータベース１１４に記憶する。なお、バーチャルインストラクターの倒立時には、同様に手状態データが必要となるが、同様の分類分けとすることができ、ここでは説明を省く。
【００６４】
また、この足状態データは、運動パターンにおける各カウント（図６参照）に対応させたデータとするが、運動パターンの結合判断に用いる特定のフレーム（第１運動パターンのフレーム（７．５）と、第２運動パターンのフレーム（０））のみを着目することとしているので、図１２に示すように、初期状態（フレーム（０））と最終状態（フレーム（７．５））のみの２つのフレームに対応させたデータのみを持たせることとしてもよい。
【００６５】
そして、結合する第１運動パターンのフレーム（７．５）における足部分の状態と第２運動パターンのフレーム（０）における足部分の初期状態とが、異なる区分にあるとき，結合不可と判断し，逆に同じ区分にあれば結合可能と判断する。
【００６６】
（サーバ装置１の動作）
以上のように構成されるサーバ装置１の動作のうち、その特徴的部分である画像生成処理動作について図面を参照して具体的に説明する。図１３はサーバ装置１における画像生成処理のフローチャート、図１４は図１３に示すモーション結合判定処理のフローチャート、図１５は図１３に示すモーション結合処理のフローチャート、図１６は足状態データ作成処理のフローチャートである。なお、以下の処理は、サーバ装置１のＭＰＵ１００が上述した運動パターン結合手段、画像生成手段等として機能することによって実行されるものである。
【００６７】
まず、サーバ装置１のＭＰＵ１００は、ネットワークケーブル３を介して、運動プログラム用の楽曲一覧を表示するための画像情報を端末装置２０へ送信する（ステップＳ１０）。端末装置２０はこの画像情報を受信すると、大型モニタ装置２１に受信した画像情報に応じて楽曲一覧を表示する。ＭＰＵ１００は、ユーザＵ１が入力操作器２３への操作により楽曲の選択を行うまで待つことになる（ステップＳ１１）。
【００６８】
ユーザが入力操作器２３を操作して運動プログラム用の楽曲を選択すると、端末装置２０からネットワークケーブル３を介して楽曲選択情報がサーバ装置１へ送信される。ＭＰＵ１００は、この楽曲選択情報を受信すると、当該情報に応じた楽曲の演奏時間を楽曲データベース１１６から抽出し、この演奏時間に応じた長さの運動プログラムを生成するために必要モーション数Ｎを取得する（ステップＳ１２）。
【００６９】
次に、ＭＰＵ１００は、運動パターンデータベース１１４から初期モーションの運動パターンをランダムに選択し、カウンタｉを１に設定して（ステップＳ１３）、ステップＳ１４の処理へ移行する。ステップＳ１４において、ＭＰＵ１００は、カウンタｉに１を加算する。
【００７０】
次に、ＭＰＵ１００は、結合用の運動パターンとして結合未判定のモーションｍを運動パターンデータベース１１４からランダムに取得し（ステップＳ１５）、ステップＳ１６のモーション結合判定処理に移行する。このモーション結合判定処理は、図１４におけるステップＳ３０〜Ｓ３５までの処理であり、後で詳述する。
【００７１】
その後、ＭＰＵ１００は、ステップＳ１６におけるモーション結合判定が「許可」であったか否かを判定する（ステップＳ１７）。この処理でモーション結合判定が「許可」ではなかったと判定すると（ステップＳ１７：Ｎｏ）、ＭＰＵ１００は、ステップＳ１５に処理を戻し、モーション結合判定が「許可」となるまで、ステップＳ１５からＳ１６の処理を繰り返す。
【００７２】
一方、ステップＳ１６におけるモーション結合判定が「許可」であるとき（ステップＳ１７：Ｙｅｓ）、ＭＰＵ１００は、モーションｍをモーションｉとして設定し（ステップＳ１８）、モーション結合判処理を行う（ステップＳ１９）。このモーション結合処理は、図１５におけるステップＳ４０〜Ｓ４４の処理であり、後で詳述する。
【００７３】
次に、ＭＰＵ１００は、カウンタｉが必要モーション数Ｎと同じ値になったか否かを判定する（ステップＳ２０）。この処理において、ｉとＮとが等しくないと判定したとき、すなわちＮ個の運動パターンのモーションデータが結合されていないとき（ステップＳ２０：Ｎｏ）、ＭＰＵ１００は、処理をステップＳ１４に戻し、ステップＳ１４〜Ｓ１９までの処理をＮ個の運動パターンのモーションデータを結合するまで繰り返す。
【００７４】
一方、ｉとＮとが等しくなったとき（ステップＳ２０：Ｙｅｓ）、ＭＰＵ１００は、ステップＳ１２で取得した楽曲選択に応じた楽曲情報を楽曲データベース１１６から取り出し、この楽曲情報と上記処理で作成した運動プログラムの画像情報（Ｎ個の運動パターンのモーションデータを結合した情報）とを通信インターフェイス１０３を介して端末装置２０へ送信し、端末装置２０において再生させる（ステップＳ２１）。すなわち、端末装置２０は、ユーザＵ１が入力操作器２３により選択した楽曲に応じた運動プログラム用画像情報及び楽曲情報を受信すると、受信した運動プログラム用画像情報に応じたバーチャルインストラクター動画像を大型モニタ装置２１に表示し、また受信した楽曲情報に応じた音波をスピーカ２２から出力する。これにより、ユーザＵ１は選択した楽曲をスピーカ２２から流しながら、複数の運動パターンでバーチャルインストラクターを動作させた画像を大型モニタ装置２１に表示して、楽曲の音楽に合わせてエアロビックスエクササイズを実行することができることとなる。
【００７５】
ステップＳ２１の処理を終了すると、ＭＰＵ１００は、キーボード１１やマウス１２の操作等によるユーザからの終了指令があったか否かを判定する（ステップＳ２２）。この処理において、ＭＰＵ１００は、ユーザからの終了指令があったと判定すると（ステップＳ２２：Ｙｅｓ）、動画生成処理を終了し、ユーザからの終了指令がないと判定すると（ステップＳ２２：Ｎｏ）、処理をステップＳ１０に移行する。
【００７６】
次に、ステップＳ１６におけるモーション結合判定処理について、図１４を参照して具体的に説明する。
【００７７】
図１４に示すように、モーション結合判定処理を開始すると、ＭＰＵ１００は、モーション（ｉ−１）の左足最終状態とモーションｍの左足初期状態が接地状態であるか否かを判定する（ステップＳ３０）。この判定は運動パターンデータベース１１４に格納した各運動パターン毎の足状態データに基づいて行われる。
【００７８】
この処理において、いずれのモーションについても左足が接地状態であると判定すると（ステップＳ３０：Ｙｅｓ）、ＭＰＵ１００は、モーション（ｉ−１）の左足最終状態とモーションｍの左足初期状態が所定距離内にあるか否かを判定する（ステップＳ３１）。
【００７９】
ステップＳ３１において、各モーションの左足状態が所定距離内にないと判定すると（ステップＳ３１：Ｎｏ）、ＭＰＵ１００は、結合判定を「不許可」とする（ステップＳ３２）。
【００８０】
ステップＳ３０において、各モーションの左足状態が接地状態ではないと判定したとき（ステップＳ３０：Ｎｏ）、或いは各モーションの左足状態が所定距離内にあると判定すると（ステップＳ３１：Ｙｅｓ）、ＭＰＵ１００は、モーション（ｉ−１）の右足最終状態とモーションｍの右足初期状態が接地状態であるか否かを判定する（ステップＳ３３）。
【００８１】
この処理において、各モーションの右足状態が接地状態にあると判定すると（ステップＳ３３：Ｙｅｓ）、ＭＰＵ１００は、モーション（ｉ−１）の右足最終状態とモーションｍの右足初期状態が所定距離内にあるか否かを判定する（ステップＳ３４）。
【００８２】
ステップＳ３４において、各モーションの右足状態が所定距離内にないと判定すると（ステップＳ３４：Ｎｏ）、ＭＰＵ１００は、結合判定を「不許可」とする（ステップＳ３２）。
【００８３】
一方、ステップＳ３３において、各モーションの右足状態が接地状態ではないと判定したとき（ステップＳ３３：Ｎｏ）、或いはステップＳ３４において、各モーションの右足状態が所定距離内にあると判定すると（ステップＳ３４：Ｙｅｓ）、ＭＰＵ１００は、結合判定を「許可」とする（ステップＳ３５）。ステップＳ３２、Ｓ３５の処理が終了すると、ＭＰＵ１００は、結合判定処理を終了する。
【００８４】
次に、ステップＳ１９におけるモーション結合処理について、図１５を参照して具体的に説明する。
【００８５】
図１５に示すように、モーション結合判定処理を開始すると、ＭＰＵ１００は、運動パターンデータベース１１４からモーション（ｉ−１）の終了付近の複数フレームのデータ（以下、「データＡ」とする。）を取得する（ステップＳ４０）。ここで、終了付近の複数フレームは、上述のようにフレーム（７．５）〜（８）までの６個のフレームとしている。
【００８６】
次に、ＭＰＵ１００は、モーション（ｉ）の動作開始時付近のデータである初期フレームのデータ（以下、「データＢ」とする。）を運動パターンデータベース１１４から取得する（ステップＳ４１）。ここでは、ＭＰＵ１００は、初期フレームのデータとしてフレーム（０）のデータを取得する。
【００８７】
次に、ＭＰＵ１００は、指定比率により、データＡをデータＢとブレンドする（ステップＳ４２）。具体的には、モーション（ｉ−１）の終了付近の各フレーム（フレーム（７．５）〜（８））の各フレームデータ〔各ポイント（点Ｐ１〜Ｐ１７）のそれぞれの座標位置（Ｘ(i-1)p1，Ｙ(i-1)p1，Ｚ(i-1)p1）〜（Ｘ(i-1)p17，Ｙ(i-1)p17，Ｚ(i-1)p17）〕にモーション（ｉ）の初期フレームのフレームデータ〔各ポイント（点Ｐ１〜Ｐ１７）のそれぞれの座標位置（Ｘip1，Ｙip1，Ｚip1）〜（Ｘip17，Ｙip17，Ｚip17）〕をフレーム（７．５）〜（８）ごとに順次モーション（ｉ−１）の加算比率（α，β）を変えながら加算して、ブレンドモーションデータのフレーム（ａ）〜（ｆ）（以下、「データＣ」とする。）の各ポイント（点Ｐ１〜Ｐ１７）の位置座標を（αＸ(i-1)p1＋βＸip1，αＹ(i-1)p1＋βＹip1，αＺ(i-1)p1＋βＺip1）〜（αＸ(i-1)p17＋βＸip17，αＹ(i-1)p17＋βＹip17，αＺ(i-1)p17＋βＺip17）とする演算する。なお、α≧０，β≧０，α＋β＝１とする。
【００８８】
なお、結合方法として、２つの運動パターンの結合を、一方の運動パターンによるバーチャルインストラクターの動作の終了から所定期間前までの間の動作期間におけるフレーム毎の各ポイント（点Ｐ１〜Ｐ１７）の座標位置と、他方の運動パターンによるバーチャルインストラクターの動作の開始から所定期間後までの間にあるフレームの各ポイント（点Ｐ１〜Ｐ１７）の座標位置とを、フレーム毎にそれぞれの重み付けを変化させつつ演算した座標位置に置き換えることによって行うものであればよく、勿論上述したようにモーション（ｉ−１）のフレーム（７．５）〜（８）を補間するデータを、モーション（ｉ）のフレーム（０）のみとすることが望ましいが、例えば、モーション（ｉ−１）のそれぞれのフレーム（７．５）〜（８）にモーション（ｉ−１）のそれぞれフレーム（０）〜（０．５）を対応させ、結合比率（重み付け）を変えながら演算（補間）してブレンドモーションデータを作成するようにしてもよい。
【００８９】
次に、ＭＰＵ１００は、モーション（ｉ−１）のデータＡをデータＣに置き換えてモーション（ｉ−１）’のモーションデータを作成する（ステップＳ４３）。すなわち、モーション（ｉ−１）のモーションデータのうちフレーム（７．５）〜（８）のデータを、ブレンドモーションデータのフレーム（ａ）〜（ｆ）のデータに置き換えて、モーション（ｉ−１）’のモーションデータを作成する。そして、ＭＰＵ１００は、このモーション（ｉ−１）’のモーションデータにモーション（ｉ）のモーションデータを結合する（ステップＳ４４）。このようにＭＰＵ１００は、２つの運動パターンの結合を、一方の運動パターンによるバーチャルインストラクターの動作終了付近と他方の運動パターンによるバーチャルインストラクターの動作開始付近のそれぞれの座標位置を合成することによって行う運動パターン結合手段として機能する。そして、２つの運動パターンの結合開始付近で、これらの運動パターンにおける複数のポイント（点Ｐ１〜Ｐ１７）のうちの特定のポイントの座標位置が所定の位置関係にあるときに運動パターンの結合を行い、所定の位置関係にないときには運動パターンの結合を行わないようにしている。例えば、一方の運動パターンによるバーチャルインストラクターの動作の終了から所定期間前の時点の特定のポイントの座標位置と、他の運動パターンによるバーチャルインストラクター動作の開始時点の特定のポイントの座標位置とが所定の位置関係にあるときに運動パターンの結合を行うようにする。
【００９０】
このように本実施形態におけるサーバ装置１では、２つの運動パターンの結合開始付近で、これらの運動パターンにおける複数のポイント（点Ｐ１〜Ｐ１７）のうちの特定のポイントの座標位置が所定の位置関係にあるときに運動パターンの結合を行い、所定の位置関係にないときには結合しないこととしているので、運動パターンの切り替わり時に、バーチャルインストラクターを自然な切り替わり方で動作させることができるものである。
【００９１】
ここで、図１２に示す足状態データをＭＰＵ１００により作成する処理について、図１６を参照して具体的に説明する。図１６は足状態データ作成処理のフローチャートである。  
【００９２】
図１６に示すように、足状態データ処理を開始すると、ＭＰＵ１００は、運動パターンデータベース１１４から足状態データを作成する運動パターンのモーションデータを取り出し（ステップＳ５０）、このモーションデータのうち足部分（右足と左足）の座標位置を抽出する（ステップＳ５１）。
【００９３】
次に、ＭＰＵ１００は、足部分の座標位置と足状態分類データベース１１５とからバーチャルインストラクターの足状態を分類して足状態データを作成し、各運動パターンに関連付けて運動パターンデータベース１１４に格納する（ステップＳ５２）。
【００９４】
このように本実施形態におけるサーバ装置１は、運動パターン毎に足状態データを作成するようにしていることから、運動パターン同士の結合の許可・不許可を容易に判定することができ、運動プログラムを作成するときに、サーバ装置１の処理負荷を低減することができる。なお、上述した手状態データも同様の手順及びデータベースを用いて作成することが可能である。
【００９５】
以上、本発明の実施形態をいくつかの図面に基づいて詳細に説明したが、これらは例示であり、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【００９６】
例えば、上述においては、運動パターンの結合の可否を判断するための特定ポイントを足部分又は手部分として説明したが、これは一例に過ぎず、他の部位であってもかまわない。例えば、バーチャルインストラクターの各ポイントのうち、壁やバーなどとの接触部分や、バーチャルインストラクターが横臥したときの床との接触部分に対応する領域であってもよい。このように、バーチャルインストラクターの各ポイントのうち、バーチャルインストラクターが壁、床、その他の障害物などに接触する領域及びその近傍を含む領域にあるポイントを特定ポイントとすることができる。また、運動パターンの結合の可否を判断するための「所定の位置関係」をＸ座標方向又はＹ座標方向として説明したが、バーチャルインストラクターの視点方向（カメラ５の撮像方向）によっては、Ｚ座標方向、或いはＸＹ座標方向などにしてもよい。
【００９７】
また、運動プログラムを作成する際に、運動パターンデータベースからランダムに運動パターンを選択することとしたが、楽曲に合うような運動パターンを選択するようにしても良い。
【図面の簡単な説明】
【００９８】
【図１】本発明の一実施形態に係る運動支援システムの概略構成図である。
【図２】サーバ装置の主要な内部構成等を表したブロック図である。
【図３】サーバ装置の運動パターンデータベースの格納情報の内容を示す図表である。
【図４】モーションデータのイメージを示す概念図である。
【図５】マーカに対応した点及びボーンの関係を示した図である。
【図６】モーションデータを示す図表である。
【図７】モーションデータに基づいて作成した各カウント位置のバーチャルインストラクター画像の例を示す図である。
【図８】２つの運動パターン同士の結合処理の説明図である。
【図９】２つの運動パターン同士の結合処理の説明図である。
【図１０】２つの運動パターン同士の結合処理の説明図である。
【図１１】足状態分類データベースの説明図である。
【図１２】動作パターンデータベースの足状態データの図表である。
【図１３】サーバ装置における画像生成処理のフローチャートである。
【図１４】図１３に示すモーション結合判定処理のフローチャートである。
【図１５】図１３に示すモーション結合処理のフローチャートである。
【図１６】足状態データ作成処理のフローチャートである。
【図１７】従来の画像生成装置における運動パターンの結合の説明図である。
【図１８】従来の画像生成装置における運動パターンの結合の説明図である。
【図１９】従来の画像生成装置における運動パターンの結合の説明図である。
【符号の説明】
【００９９】
１  サーバ装置
２  端末ユニット
４  キャラクタ画像
５  カメラ
１０  ディスプレイ
１１  キーボード
１２  マウス
２０  端末装置
２１  大型モニタ装置
２２  スピーカ
２３  入力操作器
１００  ＭＰＵ
１０１  ＲＡＭ
１０２  ＲＯＭ
１０３  通信インターフェイス
１０４  ハードディスク装置
１０５  内部バス
１１０  システムプログラム
１１１  サーバプログラム
１１２  メニューデータベース
１１３  ユーザデータベース
１１４  運動パターンデータベース
１１５  足状態分類データベース
１１６  楽曲データベース
【図１】
0004903115.tif 000002
【図２】
0004903115.tif 000003
【図３】
0004903115.tif 000004
【図４】
0004903115.tif 000005
【図５】
0004903115.tif 000006
【図６】
0004903115.tif 000007
【図７】
0004903115.tif 000008
【図８】
0004903115.tif 000009
【図９】
0004903115.tif 000010
【図１０】
0004903115.tif 000011
【図１１】
0004903115.tif 000012
【図１２】
0004903115.tif 000013
【図１３】
0004903115.tif 000014
【図１４】
0004903115.tif 000015
【図１５】
0004903115.tif 000016
【図１６】
0004903115.tif 000017
【図１７】
0004903115.tif 000018
【図１８】
0004903115.tif 000019
【図１９】
0004903115.tif 000020