(57)【特許請求の範囲】
【請求項１】
３自由度もしくは２自由度の関節により連結される２つの基礎ボーンの位置と、当該基礎ボーンのそれぞれと同じ位置に配置される２つの皮膚ボーンの向きと、当該皮膚ボーンのそれぞれに対するスキン制御点の相対的な位置と、を記憶する記憶部、
当該基礎ボーンのいずれかの端点の移動先の位置を指定する入力を受け付ける入力受付部、
前記入力を受け付けられた端点の移動先の位置に基づいて、前記基礎ボーンの位置をインバースキネマティクスにより計算して、その結果で前記記憶部を更新する位置計算部、
当該基礎ボーンの端点のそれぞれの当該関節に対する位置ベクトルに直交する軸ベクトルを計算する軸計算部、
当該皮膚ボーンのそれぞれについて、当該関節から当該皮膚ボーンの端点に向かう回転軸周りの回転量が、前記軸ベクトルに対して所定の角度となるように、当該皮膚ボーンの向きを計算して、その結果で前記記憶部を更新する向き計算部、
当該皮膚ボーンの位置および向きと、当該皮膚ボーンのそれぞれに対するスキン制御点の相対的な位置と、から、スキンの形状を表す画像を生成する画像生成部
を備えることを特徴とする画像生成装置。
【請求項２】
請求項１に記載の画像生成装置であって、
前記位置計算部は、当該基礎ボーンの端点のそれぞれの当該関節に対する位置ベクトル同士のなす角が、０度を超え１８０度未満であるという拘束条件を課して、当該基礎ボーンの位置をインバースキネマティクスにより計算する
ことを特徴とする画像生成装置。
【請求項３】
請求項２に記載の画像生成装置であって、
前記記憶部は、当該軸ベクトルの方向をさらに記憶し、
前記位置計算部、前記軸計算部、前記向き計算部は、当該皮膚ボーンのそれぞれの端点の位置は当該基礎ボーンのそれぞれの端点の位置に一致し、当該軸ベクトルは、当該基礎ボーンの端点のそれぞれの当該関節に対する位置ベクトルに直交し、当該皮膚ボーンのそれぞれについて、当該関節から当該皮膚ボーンの端点に向かう回転軸周りの回転量は当該軸ベクトルに対して所定の角度となる、という拘束条件を課して、前記入力を受け付けられた端点の移動先の位置に基づいて、前記基礎ボーンの位置、前記軸ベクトル、前記皮膚ボーンの向きを、インバースキネマティクスにより計算する
ことを特徴とする画像生成装置。
【請求項４】
記憶部、入力受付部、位置計算部、軸計算部、向き計算部、画像生成部を有する画像生成装置が実行する画像生成方法であって、前記記憶部には、３自由度もしくは２自由度の関節により連結される２つの基礎ボーンの位置と、当該基礎ボーンのそれぞれと同じ位置に配置される２つの皮膚ボーンの向きと、当該皮膚ボーンのそれぞれに対するスキン制御点の相対的な位置と、が記憶され、
前記入力受付部が、当該基礎ボーンのいずれかの端点の移動先の位置を指定する入力を受け付ける入力受付工程、
前記位置計算部が、前記入力を受け付けられた端点の移動先の位置に基づいて、前記基礎ボーンの位置をインバースキネマティクスにより計算して、その結果で前記記憶部を更新する位置計算工程、
前記軸計算部が、当該基礎ボーンの端点のそれぞれの当該関節に対する位置ベクトルに直交する軸ベクトルを計算する軸計算工程、
前記向き計算部が、当該皮膚ボーンのそれぞれについて、当該関節から当該皮膚ボーンの端点に向かう回転軸周りの回転量が、前記軸ベクトルに対して所定の角度となるように、当該皮膚ボーンの向きを計算して、その結果で前記記憶部を更新する向き計算工程、
前記画像生成部が、当該皮膚ボーンの位置および向きと、当該皮膚ボーンのそれぞれに対するスキン制御点の相対的な位置と、から、スキンの形状を表す画像を生成する画像生成工程
を備えることを特徴とする画像生成方法。
【請求項５】
コンピュータを、
３自由度もしくは２自由度の関節により連結される２つの基礎ボーンの位置と、当該基礎ボーンのそれぞれと同じ位置に配置される２つの皮膚ボーンの向きと、当該皮膚ボーンのそれぞれに対するスキン制御点の相対的な位置と、を記憶する記憶部、
当該基礎ボーンのいずれかの端点の移動先の位置を指定する入力を受け付ける入力受付部、
前記入力を受け付けられた端点の移動先の位置に基づいて、前記基礎ボーンの位置をインバースキネマティクスにより計算して、その結果で前記記憶部を更新する位置計算部、
当該基礎ボーンの端点のそれぞれの当該関節に対する位置ベクトルに直交する軸ベクトルを計算する軸計算部、
当該皮膚ボーンのそれぞれについて、当該関節から当該皮膚ボーンの端点に向かう回転軸周りの回転量が、前記軸ベクトルに対して所定の角度となるように、当該皮膚ボーンの向きを計算して、その結果で前記記憶部を更新する向き計算部、
当該皮膚ボーンの位置および向きと、当該皮膚ボーンのそれぞれに対するスキン制御点の相対的な位置と、から、スキンの形状を表す画像を生成する画像生成部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャラクターの肘・膝などの動きを補間する際に、ジンバルロックやフリップ等の好ましくない現象が生じるのを簡易に防止するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、人間の動作を仮想世界のキャラクターの動作に取り込むモーションキャプチャの技術が提案されている。
【０００３】
モーションキャプチャの分野では、たとえば、人間の手足の端点などの代表的な場所に発光体などを取り付けて各種の動作をさせ、その様子を撮影することにより、キャラクターの姿勢を定める制御点の座標の変化を求め、この変化に基づいて、キャラクターの姿勢を定義するボーン（人間や動物の「骨」に相当する。）の位置や向きを定める。
【０００４】
ボーンの位置や向きが定まれば、そのボーンに対して相対的な位置に配置された制御点によってスキン（人間や動物の「皮膚」や「服」に相当する。）の形状が定められ、当該スキンにテクスチャ画像を貼り込むことによって、キャラクターが動作する動画像が得られる。
【０００５】
このようなモーションキャプチャの分野において、計測した人間の動きのデータやデサイナーが修正したデータからキャラクターの動きのデータを生成する技術は、インバースキネマティクス（inverse kinematics；ＩＫ；逆運動学）と呼ばれる。ＩＫ技術では、関節の角度や移動量などの具体的な値は気にせずに、キャラクターの動きをモーションキャプチャしたデータから補間したり、デサイナーによる修正を行ったりすることができる。
【０００６】
たとえば、キャラクターの腕について考えた場合、「手先をある場所に置く」ということを指定するだけで、ＩＫでは、下腕から上腕に至るまでの関節の角度や移動量などの具体的な値を、拘束条件や重みパラメータ等に基づいて、自動的に計算する。たとえば、上腕と下腕はつながっているので、手（下腕の端）の位置が、肘関節（上腕と下腕の接続点）の位置を決めてしまい、手が動けば下腕はそれに従わなければならず、それにともなって上腕も動かなければならない、等の制約条件を利用する。ＩＫを用いたモデルでは、動きを制御する計算の流れは、階層モデルの一番下のレベルである手（下腕の端）から上腕の方へ進む。
【０００７】
このようなＩＫに関連する技術は、以下の文献に開示されている。
【特許文献１】特開２００４−０６２６９２
【特許文献２】特開２００７−３２２３９２
【非特許文献１】Ray Ogamio, CINEMA 4D R8 BRUSH UP, 6.ボーンを極める C4DのボーンシステムとMOCCAの解説, http://www.gashow.jp/cinemail/cinemail_book/brush8.html よりダウンロードできる http://www.gashow.jp/cinemail/docs/C4D_BrushUp.R8.zip 内の C4D_BrushUp.R8/C4D_BrushUp.R8.pdf, p.92-93, Cinemail-4D 8Book Group編集, ２００４年
【非特許文献２】拝御礼, ＩＫのためのボーン基礎知識, http://www.gashow.jp/cinemail/tips/ik-bone/index.html, ２００２年１１月以前に公表
【非特許文献３】Autodesk MOTIONBUILDER Support Center, Q & A，S146，オイラー角回転方式で作業する, http://alias.co.jp/support/motionbuilder/knowledgebase/S0146/index.shtml, Autodesk，２００７年
【０００８】
ここで、[特許文献１]では、仮想人間のコンピュータグラフィックス映像を生成するため、仮想人間の初期姿勢と終端効果器の位置を決定し、終端効果器の位置および副骨格の構成を用いて逆運動学により関節角度の変化量を計算し、算出された関節角度の変化量を用いて仮想人間の動作データを生成し描画処理を行う技術が開示されており、主骨格の構成とは独立して柔軟に構成することができる副骨格を用いて動作を生成することで、仮想人間の動作を人間の自然な動作に近づけることとしている。
【０００９】
一方、[特許文献２]では、関節周りの回転を考慮するためにクォータニオンを用いることとしている。すなわち、ブレを含むオリジナル姿勢情報の時系列を、姿勢を表現するクォータニオンの時系列と捉え、それに対して個々に異なる補正回転を施し、補正回転の量に基づいてオリジナル姿勢情報の時系列からの逸脱度を求め、補正回転が施された姿勢の時系列を通過する曲線に基づいて屈曲度を求め、それら逸脱度および屈曲度で定義した評価値が最小となるブレを取り除くこととしている。
【００１０】
一方でボーンの姿勢を定める手法としては、クォータニオンによるデザインよりも、オイラー角によるデザインの方が伝統的で直観的であるため、オイラー角に基づいたデザイン手法によってモーションを設計したい、という要望は強い。オイラー角表現では、３つの数値からなる三つ組で方向を表現するが、２つの軸が平行になると、ある向きに対するオイラー角が複数の種類の三つ組で表現できてしまい、一意でない、という特性がある。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、オイラー角に基づいたデザイン手法では、ジンバルロックやフリップ現象が生じやすい、という問題がある。たとえば、肩を固定したまま手先の位置を動かす動作をデサイナーが指定して、上腕と下腕との相対的な角度（肘の開き。これは本来１自由度である。）にオイラー角に基づく補間計算で求めると、上腕や下腕が不自然に捻れたり、肘が波打つように動いたりすることがある。
【００１２】
これはオイラー角の非一意性によるものであり、上記の例では、肘の開きが９０度のときに生じることが多い。これを防止するため、上腕ボーンと下腕ボーンの間にダミーボーンを配置して、ボーン同士の開きの角度が９０度付近とならないようにして、ジンバルロックやフリップを回避しようとする技術がある（[非特許文献１][非特許文献２][非特許文献３]）。
【００１３】
しかしながら、ボーンの親子関係の構成が複雑になるため、デサイナーの負担が増す、という問題がある。そこで、オイラー角に基づいたデザイン手法を利用したとしても、肘や膝などの自由度の低い関節において、ジンバルロックやフリップ現象を生じにくくするための簡易な技術が求められている。
【００１４】
本発明は、上記のような課題を解決するもので、キャラクターの肘・膝などの動きを補間する際に、ジンバルロックやフリップ等の好ましくない現象が生じるのを簡易に防止するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【００１６】
本願の第１の観点に係る画像生成装置は、記憶部、入力受付部、位置計算部、軸計算部、向き計算部、画像生成部を備え、以下のように構成する。
【００１７】
すなわち、記憶部には、３自由度もしくは２自由度の関節により連結される２つの基礎ボーンの位置と、当該基礎ボーンのそれぞれと同じ位置に配置される２つの皮膚ボーンの向きと、当該皮膚ボーンのそれぞれに対するスキン制御点の相対的な位置と、が記憶される。
【００１８】
通常、肘や膝の関節をボーンの連結点とする場合、回転は１自由度として、開閉のみができるようにすることが多いが、本発明においては、インバースキネマティクスによる計算においては、この関節の自由度を２または３と高くした基礎ボーンを考え、この基礎ボーンでは、任意の（物理的にはありえない）捻りが生じても良いものとする。一方、皮膚ボーンは、基礎ボーンと端点・関節が同じ位置に配置されるボーンで、端点と関節を結ぶ長手方向の軸周りにどれだけ回転するか、の自由度のみを持つ。スキン制御点は、スキンの形状を定め、その投影先にテクスチャを貼り込むことで、肘や膝の画像を生成するためのものである。
【００１９】
一方、入力受付部は、当該基礎ボーンのいずれかの端点の移動先の位置を指定する入力を受け付ける。
【００２０】
たとえば肘を関節とする上腕・下腕を考える場合、基礎ボーンの端点は、肩もしくは手先に相当する。デサイナーがキャラクターにモーションをつけたり、キャラクターが何かを掴もうとする動作をとろうとする例では、この入力によって、手先を移動する移動先を指定することになる。なお、肩を移動する移動先を指定することとしても良いし、２つある基礎ボーンの両方の移動先の位置を指定することとしても良い。
【００２１】
さらに、位置計算部は、入力を受け付けられた端点の移動先の位置に基づいて、基礎ボーンの位置をインバースキネマティクスにより計算して、その結果で記憶部を更新する。
【００２２】
従来の発明においては、肘や膝の関節を１自由度としてインバースキネマティクスによりボーン位置の計算を行っていたため、ジンバルロックが生じやすい角度のときに、計算誤差の影響に敏感に反応しすぎて、不自然な捻れやがたつきなどが生じていた。本発明においては、肘や膝の関節の自由度を２または３とすることにより、このような現象を生じにくくする。
【００２３】
さらに、軸計算部は、当該基礎ボーンの端点のそれぞれの当該関節に対する位置ベクトルに直交する軸ベクトルを計算する。
【００２４】
軸ベクトルは、基礎ボーンおよび皮膚ボーンが張る平面に垂直なベクトルであり、基礎ボーンと端点および関節の位置を同じくする皮膚ボーンは、当該軸ベクトルの周りで開閉するものと考えるのである。
【００２５】
そして、向き計算部は、当該皮膚ボーンのそれぞれについて、当該関節から当該皮膚ボーンの端点に向かう回転軸周りの回転量が、軸ベクトルに対して所定の角度となるように、当該皮膚ボーンの向きを計算して、その結果で記憶部を更新する。
【００２６】
軸ベクトルは膝や肘の開閉の回転軸であるから、その回転軸から垂直に伸びる皮膚ボーンの長手方向周りの回転、すなわち、捻りに相当する量を、所定の角度、すなわち、捻りが生じないものとして、皮膚ボーンの向きを決めるのである。これによって、不自然な捻りが生じることが抑制できる。
【００２７】
一方、画像生成部は、当該皮膚ボーンの位置および向きと、当該皮膚ボーンのそれぞれに対するスキン制御点の相対的な位置と、から、スキンの形状を表す画像を生成する。
【００２８】
不自然な捻りが生じうる基礎ボーンを基準としてスキン形状を定めるのではなく、捻りが生じない皮膚ボーンを基準としてスキン形状を定めることで、関節付近の自然な画像を得ることができる。
【００２９】
したがって、本発明によれば、キャラクターの肘・膝などの動きを補間する際に、ジンバルロックやフリップ等の好ましくない現象が生じるのを簡易に防止することができるようになる。
【００３０】
また、本発明の画像生成装置において、位置計算部は、当該基礎ボーンの端点のそれぞれの当該関節に対する位置ベクトル同士のなす角が、０度を超え１８０度未満であるという拘束条件を課して、当該基礎ボーンの位置をインバースキネマティクスにより計算するように構成することができる。
【００３１】
本発明は上記発明の好適実施形態に係るものである。関節から２つの端点に向かう位置ベクトルの外積を軸ベクトルとすれば、当該軸ベクトルは、基礎ボーンが張る平面に垂直になるが、両者の角度が０度もしくは１８０度となる場合には、基礎ボーンが張る平面が不定になる。
【００３２】
そこで、インバースキネマティクスにより計算を進める際に、両者の角度が０度より大きく１８０度より小さい、という拘束条件を付加するのである。なお、計算誤差等を考慮して、この角度の範囲をさらに小さくすることも可能であり、キャラクターの肘や膝の開閉角度に適宜合わせて、可動範囲を定めるのが典型的である。
【００３３】
もちろん、インバースキネマティクスに係る具体的な数値データの種類や移動先目標点の位置によっては、このような拘束条件を課さずとも良い場合も存在する。
【００３４】
本発明によれば、軸ベクトルが不定となることを確実に防止することができるようになる。
【００３５】
また、本発明の画像生成装置において、記憶部は、当該軸ベクトルの方向をさらに記憶し、位置計算部、軸計算部、向き計算部は、当該皮膚ボーンのそれぞれの端点の位置は当該基礎ボーンのそれぞれの端点の位置に一致し、当該軸ベクトルは、当該基礎ボーンの端点のそれぞれの当該関節に対する位置ベクトルに直交し、当該皮膚ボーンのそれぞれについて、当該関節から当該皮膚ボーンの端点に向かう回転軸周りの回転量は当該軸ベクトルに対して所定の角度となる、という拘束条件を課して、入力を受け付けられた端点の移動先の位置に基づいて、基礎ボーンの位置、軸ベクトル、皮膚ボーンの向きを、インバースキネマティクスにより計算するように構成することができる。
【００３６】
上記発明においては、基礎ボーンの関節および端点の位置（すなわち、皮膚ボーンの関節および端点の位置）を行う位置計算にはインバースキネマティクスを適用し、その後に、軸ベクトルや皮膚ボーンの長手方向軸周りの回転量を求めることとしていたが、本発明においては、インバースキネマティクスにおける拘束条件を利用して、これらをまとめて計算するものである。
【００３７】
本発明によれば、各種のインバースキネマティクス用ソフトウェアを利用して、容易に膝や肘の自然な形状を計算することができるようになる。
【００３８】
本発明のその他の観点に係る画像生成方法は、記憶部、入力受付部、位置計算部、軸計算部、向き計算部、画像生成部を有する画像生成装置が実行し、入力受付工程、位置計算工程、軸計算工程、向き計算工程、画像生成工程を備え、以下のように構成する。
【００３９】
すなわち、記憶部には、３自由度もしくは２自由度の関節により連結される２つの基礎ボーンの位置と、当該基礎ボーンのそれぞれと同じ位置に配置される２つの皮膚ボーンの向きと、当該皮膚ボーンのそれぞれに対するスキン制御点の相対的な位置と、が記憶される。
【００４０】
一方、入力受付工程では、入力受付部が、当該基礎ボーンのいずれかの端点の移動先の位置を指定する入力を受け付ける。
【００４１】
さらに、位置計算工程では、位置計算部が、入力を受け付けられた端点の移動先の位置に基づいて、基礎ボーンの位置をインバースキネマティクスにより計算して、その結果で記憶部を更新する。
【００４２】
そして、軸計算工程では、軸計算部が、当該基礎ボーンの端点のそれぞれの当該関節に対する位置ベクトルに直交する軸ベクトルを計算する。
【００４３】
一方、向き計算工程では、向き計算部が、当該皮膚ボーンのそれぞれについて、当該関節から当該皮膚ボーンの端点に向かう回転軸周りの回転量が、軸ベクトルに対して所定の角度となるように、当該皮膚ボーンの向きを計算して、その結果で記憶部を更新する。
【００４４】
さらに、画像生成工程では、画像生成部が、当該皮膚ボーンの位置および向きと、当該皮膚ボーンのそれぞれに対するスキン制御点の相対的な位置と、から、スキンの形状を表す画像を生成する。
【００４５】
本発明のその他の観点に係るプログラムは、コンピュータを上記の画像生成装置の各部として機能させるように構成する。
【００４６】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【００４７】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００４８】
本発明によれば、キャラクターの肘・膝などの動きを補間する際に、ジンバルロックやフリップ等の好ましくない現象が生じるのを簡易に防止するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００４９】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明する。以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００５０】
図１は、プログラムを実行することにより、本実施形態の画像生成装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００５１】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ  １０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェイス１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０と、マイク１１１と、を備えるように構成することができる。各種の入出力装置は、適宜省略することができる。
【００５２】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態の画像生成装置が実現される。
【００５３】
また、携帯ゲーム装置においては、携帯可能とするために、ＤＶＤ−ＲＯＭドライブ１０８を利用するのではなく、ＲＯＭカセット用スロットを利用することも可能である。この場合、プログラムが記録されたＲＯＭカセットを挿入して、当該プログラムを実行することで、本実施形態の画像生成装置が実現される。
【００５４】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００５５】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００５６】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００５７】
インターフェイス１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【００５８】
インターフェイス１０４を介して着脱自在に接続された外部メモリ１０６には、ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００５９】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００６０】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００６１】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００６２】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００６３】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００６４】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮを構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００６５】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカや、ヘッドホン（図示せず）、イヤフォン（図示せず）から出力させる。
【００６６】
音声処理部１１０では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００６７】
さらに、情報処理装置１００には、インターフェイス１０４を介してマイク１１１を接続することができる。この場合、マイク１１１からのアナログ信号に対しては、適当なサンプリング周波数でＡ／Ｄ変換を行い、ＰＣＭ形式のディジタル信号として、音声処理部１１０でのミキシング等の処理ができるようにする。
【００６８】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００６９】
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置１００にかえて、汎用のパーソナルコンピュータを利用することもできる。
【００７０】
以上で説明した情報処理装置１００は、いわゆるコンシューマ向けゲーム装置に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【００７１】
たとえば、一般的なコンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣを備え、情報処理装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ１０５ではなく、キーボードやマウスなどを入力装置として利用する。
【００７２】
図２は、本実施形態に係る各種ボーンと関節の位置関係を説明する説明図である。以下、本図を参照して説明する。
【００７３】
本実施形態で処理の対象となるボーンと関節は、キャラクターの全体形状を定める関節のうち、肘や膝など、折り曲げの自由度が１である関節と、その関節により連結されているボーンである。
【００７４】
本図に示すように、２本の皮膚ボーン２０１、２０２が関節２０３で連結されており、皮膚ボーン２０１、２０２には、そのそれぞれに固定された座標系２１１、２１２が配置されている。
【００７５】
皮膚ボーン２０１は、他のボーン２５１に自由度が３の関節で連結されており、皮膚ボーン２０２は、他のボーン２５２へ自由度が３の関節で連結されている。ボーン同士の連結関係を表す際には、キャラクターの中心側を「親ボーン」、末端側を「子ボーン」と呼ぶことが多い。
【００７６】
本図の例では、ボーン２５１が肩の骨、皮膚ボーン２０１が上腕の骨、皮膚ボーン２０２が下腕の骨、ボーン２５２が手の平の骨にそれぞれ相当し、ボーン２５１が皮膚ボーン２０１の親、皮膚ボーン２０１が皮膚ボーン２０２の親、皮膚ボーン２０２がボーン２５２の親、のような親子関係を有している。
【００７７】
親ボーンに対する子ボーンの位置（向き）は、親ボーンに固定された座標系における関節の位置と、当該座標系における子ボーンの他方の端点の位置と、で表現できるが、親ボーンに固定された座標系における関節の位置は、当該座標系において定点であり、子ボーンの長さは一定であることから、子ボーンの端点の位置をそのまま処理するのではなく、当該関節の位置周りの回転によって表現することが多い。このようなデータの表現手法としては、近年利用されるようになったクォータニオンのほか、従来から利用されているオイラー角が利用されている。本発明は、いずれの表現を採用している際にも利用することができる。
【００７８】
本実施形態では、皮膚ボーン２０１に固定された座標系２１１は、皮膚ボーン２０１のボーン２５１側関節が原点であり、皮膚ボーン２０１の長手方向にＺ軸が固定されている。
【００７９】
また、皮膚ボーン２０２に固定された座標系２１２は、皮膚ボーン２０１側関節が原点であり、皮膚ボーン２０２の長手方向にＺ軸が固定されている。
【００８０】
また、座標系２１１と座標系２１２のＹ軸は常に平行とし、皮膚ボーン２０１に固定された座標系２１１のＸ−Ｚ平面と、皮膚ボーン２０２に固定された座標系２１２のＸ−Ｚ平面と、が、常に重なるように、折り曲げられるものとする。
【００８１】
すると、折り曲げの回転軸２６１は、両者の関節を通り、皮膚ボーン２０１に固定された座標系２１１のＹ軸、皮膚ボーン２０２に固定された座標系２１２のＹ軸に平行となる。
【００８２】
このように設定すると、皮膚ボーン２０１と皮膚ボーン２０２の間の関節が、自由度１で折り曲げ可能な関節となる。
【００８３】
すなわち、折り曲げの回転軸２６１は、皮膚ボーン２０１の長手方向（座標系２１１のＺ軸）と、皮膚ボーン２０２の長手方向（座標系２１２のＺ軸）と、の両者に直交する。逆に言えば、皮膚ボーン２０１の長手方向（座標系２１１のＺ軸）と皮膚ボーン２０２の長手方向（座標系２１２のＺ軸）とが平行でない限り、両者の向きから、回転軸２６１の向きを一意に定めることができる。
【００８４】
なお、座標系２１１、２１２の位置関係は、本実施形態の表現に対して適宜回転を施したものに、適宜変更が可能である。
【００８５】
そして、皮膚ボーン２０１、２０２に対しては、スキン形状を定めるためのスキン制御点２７１が付与されている。スキン制御点２７１は、皮膚ボーン２０１に固定された座標系２１１において定点となるものと、皮膚ボーン２０２に固定された座標系２１２において定点となるものの２種類があり、前者は皮膚ボーン２０１の位置や向きに連動し、後者は皮膚ボーン２０２の位置や向きに連動して位置が変化する。
【００８６】
スキン制御点２７１から実際の肘や膝の外観を定める場合には、スキン制御点２７１をポリゴンの頂点であると考える手法や、制御点に適当な重みを与えて曲面を構成するＮＵＲＢＳ（Non-Uniform Rational B-Spline）による手法などによって、テクスチャを描画する領域を求めて、画像を生成する。この際には、各種の公知の技術が適用できる。
【００８７】
このように、ボーン２５１、２５２、皮膚ボーン２０１、２０２およびスキン制御点２７１の関係は、従来から利用されているボーンを用いたキャラクターのモデリングとほぼ同じと考えることができる。本実施形態における特徴は、皮膚ボーン２０１、２０２の関節の回転軸２６１の向き、すなわち、皮膚ボーン２０１、２０２に固定された座標軸２１１、２１２のＺ軸周りの向きを、基礎ボーン２８１、２８２によって定める点にある。
【００８８】
基礎ボーン２８１、２８２は、皮膚ボーン２０１、２０２の位置と向きを定めるためのボーンであり、両者の端点および関節は、互いに重なり合う位置に配置されるものと想定する。本図では、理解を容易にするため、基礎ボーン２８１、２８２の位置を皮膚ボーン２０１、２０２に対して平行にずらして図示している。
【００８９】
ＩＫによりボーン形状を変化させる際には、基礎ボーン２８１、２８２によって計算を行う。これによって、基礎ボーン２８１、２８２の関節や端点の位置が定まれば、これと同じ位置に皮膚ボーン２０１、２０２も移動する。したがって、ＩＫを適用する際には、ボーンの親子関係は、ボーン２５１が基礎ボーン２８１の親、基礎ボーン２８１が基礎ボーン２８２の親、基礎ボーン２８２がボーン２５２の親、のようになる。
【００９０】
上記のように、皮膚ボーン２０１、２０２に固定された座標系２１１、２１２のＹ軸と、皮膚ボーン２０１、２０２の関節における折り曲げの回転軸２６１と、は、互いに平行になる、という制約が課されている。これは、連結の自由度が１だからである。
【００９１】
一方、基礎ボーン２８１と基礎ボーン２８２とは、自由度３の関節で連結されていて、基礎ボーン２８１に固定されている座標系２９１と、基礎ボーン２８２に固定されている座標系２９２と、は、自由な向きを向いている。すなわち、皮膚ボーン２０１、２０２同士の連結に比べて、自由度を高くしているため、ＩＫの際に、基礎ボーン２８１、２８２の動きは、より滑らかになると考えられる。このため、ジンバルロックを原因とする肘や膝の波打ち現象が、より発生しにくくなる。
【００９２】
なお、用途によっては、基礎ボーン２８１、２８２の間の自由度を２としても良い。皮膚ボーン２０１、２０２の間の自由度よりは高いため、ＩＫの際の波打ち現象は生じにくいと考えられるからである。
【００９３】
本実施形態におけるキャラクターアニメーションの進め方は、以下のようになる。
（１）まず、キャラクターの骨格形状の変化を計算するＩＫの際には、基礎ボーン２８１、２８２により関節の自由度を高くして計算を進める。
（２）そして、基礎ボーン２８１、２８２の端点位置および関節位置と一致するように、皮膚ボーン２０１、２０２の位置を定める。
（３）すると、皮膚ボーン２０１、２０２の長手方向（両者に固定される座標系２１１、２１２のそれぞれのＺ軸）が定まるから、回転軸２６１の向きも定まる。
（４）回転軸２６１の向きが定まれば、皮膚ボーン２０１、２０２に固定される座標系２１１、２１２のそれぞれのＹ軸が定まる。これによって、座標系２１１、２１２の向きを一意に定めることができる。
（５）座標系２１１、２１２の向きが定まれば、スキン制御点２７１の位置も定まるので、キャラクターの外観を得ることができる。
【００９４】
上記のように、基礎ボーン２８１、２８２では関節周りの自由な運動を許しているため、ジンバルロックを原因とする捻れ（基礎ボーン２８１、２８２の長手方向周りの回転）が生じる可能性がある。
【００９５】
しかし、皮膚ボーン２０１、２０２に固定された座標系２１１、２１２の向きを定める際には、基礎ボーン２８１、２８２の長手方向周りの回転、すなわち、捻れは無視する。座標系２１１、２１２の向きは、皮膚ボーン２０１、２０２の相対的な位置関係のみによって定められるから、不自然な捻れが生じることはない。
【００９６】
このように、本実施形態では、ＩＫの際には積極的に高い自由度で関節周りの運動をシミュレーションし、そのシミュレーションによって定まったボーンの相対的な位置に合わせて、ボーンの長手方向周りの向きを定めることで、自由度が低い関節により連結されたボーンが、ジンバルロック等に起因する不自然な動きを見せることを防止できるのである。
【００９７】
また、ＩＫのシミュレーションを行うソフトウェアによっては、上記の（１）〜（４）における基礎ボーン２８１、２８２、皮膚ボーン２０１、２０２、回転軸２６１の位置関係をまとめて（場合によっては、上記（５）のスキン制御点２７１の位置もまとめて）、一体の拘束条件としてとりあつかって、シミュレーション計算を行うことができるものもある。この場合、基礎ボーン２８１、２８２や回転軸２６１は、スキン描画の対象とならないオブジェクト（「ロケータ」「ヌルオブジェクト」と呼ばれることもある。）により、表現することができる。
【００９８】
なお、回転軸２６１の方向を一意に定めるためには、基礎ボーン２８１、２８２の長手方向が平行になってはならない。したがって、ＩＫの際には、両者に固定された座標系２９１、２９２のZ軸方向のなす角が、０度より大きく１８０度より小さい、という条件を課すことになる。この条件は、きわめて広い範囲で成立するため、キャラクターの形状を定めるＩＫの計算上障害となる状況は、事実上生じないと考えられる。
【００９９】
図３は、本実施形態に係る画像生成装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【０１００】
本実施形態に係る画像生成装置３０１は、記憶部３０２、入力受付部３０３、位置計算部３０４、軸計算部３０５、向き計算部３０６、画像生成部３０７を備える。
【０１０１】
記憶部３０２には、以下の情報が記憶される。
（ａ）３自由度もしくは２自由度の関節により連結される２つの基礎ボーン２８１、２８２の位置。この情報は、両者に固定された座標系２９１、２９２が、その親ボーン（ボーン２５１および基礎ボーン２８１）に対してどのような位置、向きにあるのか、によって、表現する。
（ｂ）当該基礎ボーン２８１、２８２のそれぞれと同じ位置に配置される２つの皮膚ボーン２０１、２０２の向き。この情報も、両者に固定された座標系２１１、２１２が、その親ボーン（ボーン２５１および皮膚ボーン２０２）に対して、どのような位置、向きにあるのか、によって、表現する。
（ｃ）当該皮膚ボーン２０１、２０２のそれぞれに対するスキン制御点２７１の相対的な位置。両者に固定された座標系２１１、２１２における座標値によって表現する。
【０１０２】
上記のように、肘や膝の関節をボーンの連結点とする場合、回転は１自由度として、開閉のみができるようにすることが多いが、本実施形態では、インバースキネマティクスによる計算においては、この関節の自由度を２または３と高くした基礎ボーン２８１、２８２を考え、この基礎ボーン２８１、２８２では、任意の（物理的にはありえない）捻りが生じても良いものとする。
【０１０３】
一方、皮膚ボーン２０１、２０２は、基礎ボーン２８１、２８２と端点・関節が同じ位置に配置されるボーンで、端点と関節を結ぶ長手方向の軸周りにどれだけ回転するか、の自由度のみを持つ。スキン制御点２７１は、スキンの形状を定め、その投影先にテクスチャを貼り込むことで、肘や膝の画像を生成するためのものである。
【０１０４】
これらの情報は、所定のＩＫエンジンによって、後述する手順により、適宜更新される。図４は、本実施形態に係る画像生成装置３０１にて実行される画像処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【０１０５】
本処理が開始されると、ＣＰＵ  １０１は、記憶部３０２を構成するＲＡＭ  １０３を初期化する（ステップＳ４０１）。この際には、ボーン同士の親子関係や、ＩＫに必要な各種のデータ、ボーン同士が満たさなければならない制約条件などもあわせて初期化される。
【０１０６】
ついで、入力受付部３０３は、当該基礎ボーン２８１、２８２のいずれかの端点の移動先の位置を指定する入力を受け付ける（ステップＳ４０２）。移動先の位置の指定は、コントローラ１０５やキーボード、マウスなどによって入力されるのが典型的である。
【０１０７】
たとえば肘を関節とする上腕・下腕を考える場合、基礎ボーン２８１、２８２の端点は、肩もしくは手先に相当する。デサイナーがキャラクターにモーションをつけたり、キャラクターが何かを掴もうとする動作をとろうとする例では、この入力によって、手先を移動する移動先を指定することになる。なお、肩を移動する移動先を指定することとしても良いし、２つある基礎ボーン２８１、２８２の両方の移動先の位置を指定することとしても良い。
【０１０８】
すると、位置計算部３０４は、入力を受け付けられた端点の移動先の位置に基づいて、基礎ボーン２８１、２８２の関節および端点の位置をインバースキネマティクスにより計算して、その結果で記憶部３０２を更新する（ステップＳ４０３）。本ステップにおける計算は、ＣＰＵ  １０１がＲＡＭ  １０３に格納された情報を元に行う。
【０１０９】
また、ここで更新される関節および端点の位置は、皮膚ボーン２０１、２０２の関節および端点の位置と一致させる必要がある。そこで、ステップＳ４０３においては、あわせて、皮膚ボーン２０１、２０２の関節および端点の位置も更新するのが典型的である。
【０１１０】
従来の発明においては、肘や膝の関節を１自由度としてインバースキネマティクスによりボーン位置の計算を行っていたため、ジンバルロックが生じやすい角度のときに、計算誤差の影響に敏感に反応しすぎて、不自然な捻れやがたつきなどが生じていた。本発明においては、肘や膝の関節の自由度を２または３とすることにより、このような現象を生じにくくする。
【０１１１】
なお、ＩＫは、一種の時間差分方程式を解く過程と考えることができるため、基礎ボーン２８１、２８２の位置は、移動先の位置に近付くように、微小に移動させるのが典型的である。また、ＩＫの際には、記憶部３０２に記憶される各種の制約条件を満たすように、シミュレーションが行われる。
【０１１２】
さらに、軸計算部３０５は、当該基礎ボーン２８１、２８２の端点のそれぞれの当該関節に対する位置ベクトルに直交する軸ベクトルを計算する（ステップＳ４０４）。この計算も、ＣＰＵ  １０１がＲＡＭ  １０３に記憶された情報を元に行う。
【０１１３】
この軸ベクトルは、回転軸２６１の方向を表すものであり、基礎ボーン２８１、２８２および皮膚ボーン２０１、２０２が張る平面に垂直なベクトルである。基礎ボーン２８１、２８２と端点および関節の位置を同じくする皮膚ボーン２０１、２０２は、当該軸ベクトルの周りで開閉するものと考えるのである。
【０１１４】
最も簡単には、基礎ボーン２８１、２８２に固定された座標軸２９１、２９２のZ軸の方向を表すベクトルの外積を、軸ベクトルとすれば良い。上記のように、基礎ボーン２８１、２８２の長手方向は、平行にならない、という制約条件を課しておけば、軸ベクトルは一意に定まる。
【０１１５】
そして、向き計算部３０６は、当該皮膚ボーン２０１、２０２のそれぞれについて、当該関節から当該皮膚ボーン２０１、２０２の端点に向かう回転軸周りの回転量が、軸ベクトルに対して所定の角度となるように、当該皮膚ボーン２０１、２０２の向きを計算して、その結果で記憶部３０２を更新する（ステップＳ４０５）。この計算も、ＣＰＵ  １０１がＲＡＭ  １０３に記憶された情報を元に行う。
【０１１６】
軸ベクトルは膝や肘の開閉の回転軸であるから、その回転軸から垂直に伸びる皮膚ボーン２０１、２０２の長手方向周りの回転、すなわち、捻りに相当する量を、所定の角度、すなわち、捻りが生じないものとして、皮膚ボーン２０１、２０２の向きを決めるのである。これによって、不自然な捻りが生じることが抑制できる。
【０１１７】
一方、画像生成部３０７は、当該皮膚ボーン２０１、２０２の位置および向きと、当該皮膚ボーン２０１、２０２のそれぞれに対するスキン制御点２７１の相対的な位置と、から、スキンの形状を表す画像を生成する（ステップＳ４０６）。この計算は、ＣＰＵ  １０１がＲＡＭ  １０３に記憶された情報を元に、画像処理部１０７と共働して行う。
【０１１８】
不自然な捻りが生じうる基礎ボーン２８１、２８２を基準としてスキン形状を定めるのではなく、捻りが生じない皮膚ボーン２０１、２０２を基準としてスキン形状を定めることで、関節付近の自然な画像を得ることができる。
【０１１９】
そして、指定された移動先の位置にボーンの端点が移動する等、所定の終了条件が満たされるまで（ステップＳ４０７）ステップＳ４０３〜ステップＳ４０６の処理を繰り返す。繰り返しが終了したら、ステップＳ４０６において生成された画像を順次出力して、動画像とし（ステップＳ４０８）、キャラクターの動きのシミュレーションを出力して、本処理を終了する。
【０１２０】
また、ステップＳ４０３〜Ｓ４０５の処理は、インバースキネマティクス用ソフトウェアの種類によっては、ロケータ、ヌルオブジェクト等を利用してボーン同士の制約条件を適切に設定することで、まとめて計算を行うことができる。
【０１２１】
このほか、以上の説明では、デサイナーがキャラクターのモーションを設計する際を想定して説明したが、たとえば、画像が生成されるごとに垂直同期を待ち、垂直同期が生じたら当該画像を転送してモニタに表示し、ＩＫのシミュレーション計算の時間間隔を垂直同期周期として繰り返し計算をすることで、ユーザの指示にしたがってリアルタイムでキャラクターを動作させるゲーム等に応用することもできる。
【０１２２】
図５、図６は、従来の技術によって生成されたキャラクターの画像を表す説明図であり、図７、図８は、本実施形態の技術によって生成されたキャラクターの画像を表す説明図である。以下、これらの図を参照して説明する。
【０１２３】
これらの図に示すキャラクターは、背中側に右肘５０１を振り上げることで、上腕５０２と下腕５０３がＬ字型になった姿勢をとっている。ここで、図５、図６に示す画像では、上腕５０２に不自然な捻れ５０４が生じている（本図においては、理解を容易にするため、捻れ５０４を示すためにその外形を強調する太線を付している。）のに対して、図７、図８に示す画像では、そのような現象は生じていない。
【０１２４】
本実施形態においては、肘の曲がる角度を定めてから、肘の「捻れ」を計算するからである。
【０１２５】
このように、本実施形態によれば、各種のインバースキネマティクス用ソフトウェアを利用して、容易に膝や肘の自然な形状を計算することができるようになる。
【産業上の利用可能性】
【０１２６】
以上説明したように、本発明によれば、キャラクターの肘・膝などの動きを補間する際に、ジンバルロックやフリップ等の好ましくない現象が生じるのを簡易に防止するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【０１２７】
【図１】典型的な情報処理装置の概要構成を示す模式図である。
【図２】本実施形態に係る各種ボーンと関節の位置関係を説明する説明図である。
【図３】本実施形態に係る画像生成装置の概要構成を示す模式図である。
【図４】本実施形態に係る画像生成装置にて実行される画像処理の制御の流れを示すフローチャートである。
【図５】従来の技術によって生成されたキャラクターの画像を表す説明図である。
【図６】従来の技術によって生成されたキャラクターの画像を表す説明図である。
【図７】本実施形態の技術によって生成されたキャラクターの画像を表す説明図である。
【図８】本実施形態の技術によって生成されたキャラクターの画像を表す説明図である。
【符号の説明】
【０１２８】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェイス
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
１１１  マイク
２０１  皮膚ボーン（上腕）
２０２  皮膚ボーン（下腕）
２０３  関節
２１１  皮膚ボーン（上腕）に固定される座標系
２１２  皮膚ボーン（下腕）に固定される座標系
２５１  ボーン（肩）
２５２  ボーン（手の平）
２６１  肘関節の回転軸
２７１  スキン制御点
２８１  基礎ボーン（上腕）
２８２  基礎ボーン（下腕）
２９１  基礎ボーン（上腕）に固定される座標系
２９２  基礎ボーン（下腕）に固定される座標系
３０１  画像生成装置
３０２  記憶部
３０３  入力受付部
３０４  位置計算部
３０５  軸計算部
３０６  向き計算部
３０７  画像生成部
５０１  右肘
５０２  上腕
５０３  下腕
５０４  捻れ
【図１】
0004563461.tif 000002
【図２】
0004563461.tif 000003
【図３】
0004563461.tif 000004
【図４】
0004563461.tif 000005
【図５】
0004563461.tif 000006
【図６】
0004563461.tif 000007
【図７】
0004563461.tif 000008
【図８】
0004563461.tif 000009