(57)【要約】 【課題】仮想空間に配置されたキャラクターの頭部において目や口が開閉する画像をアニメーションで広く用いられている描法で生成する画像生成装置等を提供する。【解決手段】画像生成装置９０１において、記憶部９０２は、第１種もしくは第２種の制御点が固定され、互いに連結されたボーンについてのボーン情報を記憶し、更新部９０３は、ユーザからの指示や時間経過に基づいてボーン情報を更新し、交点位置計算部９０４は、第２種の制御点が固定されたボーンから、当該第２種の制御点へ向かう半直線が、いずれかのボーンに固定された制御曲面と交差する交点の位置を計算し、スキン形状計算部９０５は、第１種の制御点の位置と、交点の位置とから、スキン形状を計算し、生成部９０６は、計算されたスキン形状から、画像を生成する。【選択図】図９
2008186219.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成する画像生成装置であって、
当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、
当該複数の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、その種類は、第１種もしくは第２種のいずれかであり、
当該制御曲面は、当該複数のボーンのうち相対的な位置が固定される制御点がいずれも第１種であるボーンのいずれかに対して、相対的な位置が固定され、
（ａ）当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
（ｂ）当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
（ｃ）当該複数の制御点のそれぞれについて、当該制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御点の種類と、を示す制御点情報と、
を記憶する記憶部、
時間の経過もしくはユーザからの指示に基づいて、前記記憶部に記憶されるボーン情報のそれぞれを更新する更新部、
当該複数の制御点のうち、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な位置が固定されるボーンから当該第２種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する交点位置計算部、
当該複数の制御点のうち、第１種の制御点のそれぞれの位置と、前記計算された交点のそれぞれの位置と、から、スキンの形状を計算するスキン形状計算部、
前記計算されたスキンの形状を所定の視点から見た画像を生成する生成部
を備えることを特徴とする画像生成装置。
【請求項２】
仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成する画像生成装置であって、
当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、
当該複数の制御点のうち、第１種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、第２種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な距離が固定され、
当該制御曲面は、当該複数のボーンのいずれかに対して、相対的な位置が固定され、
（ａ）当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
（ｂ）当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
（ｃ）当該複数の制御点のうち、第１種の制御点のそれぞれについて、当該第１種の制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、を示す第１種の制御点情報と、
（ｄ）当該複数の制御点のうち、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な距離が固定されるボーンと、当該ボーンに対する相対的な位置と、を示す第２種の制御点情報と、
を記憶する記憶部、
時間の経過もしくはユーザからの指示に基づいて、前記記憶部に記憶されるボーン情報に指定される姿勢、および、第２種の制御点情報に指定される相対的な位置のそれぞれを更新する更新部、
当該複数の制御点のうち、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な位置が固定されるボーンから当該第２種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する交点位置計算部、
当該複数の制御点のうち、第１種の制御点のそれぞれの位置と、前記計算された交点のそれぞれの位置と、から、スキンの形状を計算するスキン形状計算部、
前記計算されたスキンの形状を所定の視点から見た画像を生成する生成部
を備えることを特徴とする画像生成装置。
【請求項３】
請求項１または２に記載の画像生成装置であって、
当該複数のボーンは、仮想空間に配置されるキャラクターの頭部の姿勢を定め、
当該複数のボーンのそれぞれの姿勢が所定の基準姿勢にあるときの当該複数の制御点は、当該キャラクターの頭部の基準形状を定め、
当該交点のそれぞれは、当該キャラクターの頭部において変形する口または目の形状を定め、
当該制御曲面は、当該キャラクターの頭部の基準形状のうち口または目の近傍の形状を近似する
ことを特徴とする画像生成装置。
【請求項４】
請求項３に記載の画像生成装置であって、
当該制御曲面は、ＮＵＲＢＳ（Non Uniform Rational B Spline）曲面であり、
当該交点位置計算部は、ニュートン・ラフソン法により、当該交点の位置を計算する
ことを特徴とする画像生成装置。
【請求項５】
請求項３に記載の画像生成装置であって、
当該制御曲面は、２次曲面、平面、もしくは、多面体の表面であり、
当該交点位置計算部は、当該半直線に含まれる座標を表す１次式を、当該制御曲面を表す２次以下の式に代入して得られる２次以下の方程式を解くことにより、当該交点の位置を計算する
ことを特徴とする画像生成装置。
【請求項６】
請求項４または５に記載の画像生成装置であって、
前記計算されるスキンは、当該第１種制御点と、当該交点と、を頂点とする多角形の集合体である
ことを特徴とする画像生成装置。
【請求項７】
請求項４または５に記載の画像生成装置であって、
前記計算されるスキンは、当該第１種制御点と、当該交点と、を制御点とするＮＵＲＢＳ（Non Uniform Rational B Spline）曲面である
ことを特徴とする画像生成装置。
【請求項８】
記憶部、更新部、交点位置計算部、スキン形状計算部、生成部を備える画像生成装置にて実行され、仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成する画像生成方法であって、
当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、
当該複数の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、その種類は、第１種もしくは第２種のいずれかであり、
当該制御曲面は、当該複数のボーンのうち相対的な位置が固定される制御点がいずれも第１種であるボーンのいずれかに対して、相対的な位置が固定され、
前記記憶部には、
（ａ）当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
（ｂ）当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
（ｃ）当該複数の制御点のそれぞれについて、当該制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御点の種類と、を示す制御点情報と、
が記憶され、
前記更新部が、時間の経過もしくはユーザからの指示に基づいて、前記記憶部に記憶されるボーン情報のそれぞれを更新する更新工程、
前記交点位置計算部が、当該複数の制御点のうち、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な位置が固定されるボーンから当該第２種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する交点位置計算工程、
前記スキン形状計算部が、当該複数の制御点のうち、第１種の制御点のそれぞれの位置と、前記計算された交点のそれぞれの位置と、から、スキンの形状を計算するスキン形状計算工程、
前記生成部が、前記計算されたスキンの形状を所定の視点から見た画像を生成する生成工程
を備えることを特徴とする画像生成方法。
【請求項９】
記憶部、更新部、交点位置計算部、スキン形状計算部、生成部を備える画像生成装置にて実行され、仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成する画像生成方法であって、
当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、
当該複数の制御点のうち、第１種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、第２種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な距離が固定され、
当該制御曲面は、当該複数のボーンのいずれかに対して、相対的な位置が固定され、
前記記憶部には、
（ａ）当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
（ｂ）当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
（ｃ）当該複数の制御点のうち、第１種の制御点のそれぞれについて、当該第１種の制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、を示す第１種の制御点情報と、
（ｄ）当該複数の制御点のうち、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な距離が固定されるボーンと、当該ボーンに対する相対的な位置と、を示す第２種の制御点情報と、
が記憶され、
前記更新部が、時間の経過もしくはユーザからの指示に基づいて、前記記憶部に記憶されるボーン情報に指定される姿勢、および、第２種の制御点情報に指定される相対的な位置のそれぞれを更新する更新工程、
前記交点位置計算部が、当該複数の制御点のうち、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な位置が固定されるボーンから当該第２種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する交点位置計算工程、
前記スキン形状計算部が、当該複数の制御点のうち、第１種の制御点のそれぞれの位置と、前記計算された交点のそれぞれの位置と、から、スキンの形状を計算するスキン形状計算工程、
前記生成部が、前記計算されたスキンの形状を所定の視点から見た画像を生成する生成工程
を備えることを特徴とする画像生成方法。
【請求項１０】
コンピュータに、仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成させるプログラムであって、
当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、
当該複数の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、その種類は、第１種もしくは第２種のいずれかであり、
当該制御曲面は、当該複数のボーンのうち相対的な位置が固定される制御点がいずれも第１種であるボーンのいずれかに対して、相対的な位置が固定され、
当該プログラムは、当該コンピュータを、
（ａ）当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
（ｂ）当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
（ｃ）当該複数の制御点のそれぞれについて、当該制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御点の種類と、を示す制御点情報と、
を記憶する記憶部、
時間の経過もしくはユーザからの指示に基づいて、前記記憶部に記憶されるボーン情報のそれぞれを更新する更新部、
当該複数の制御点のうち、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な位置が固定されるボーンから当該第２種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する交点位置計算部、
当該複数の制御点のうち、第１種の制御点のそれぞれの位置と、前記計算された交点のそれぞれの位置と、から、スキンの形状を計算するスキン形状計算部、
前記計算されたスキンの形状を所定の視点から見た画像を生成する生成部
として機能させることを特徴とするプログラム。
【請求項１１】
コンピュータに、仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成させるプログラムであって、
当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、
当該複数の制御点のうち、第１種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、第２種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な距離が固定され、
当該制御曲面は、当該複数のボーンのいずれかに対して、相対的な位置が固定され、
当該プログラムは、当該コンピュータを、
（ａ）当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
（ｂ）当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
（ｃ）当該複数の制御点のうち、第１種の制御点のそれぞれについて、当該第１種の制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、を示す第１種の制御点情報と、
（ｄ）当該複数の制御点のうち、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な距離が固定されるボーンと、当該ボーンに対する相対的な位置と、を示す第２種の制御点情報と、
を記憶する記憶部、
時間の経過もしくはユーザからの指示に基づいて、前記記憶部に記憶されるボーン情報に指定される姿勢、および、第２種の制御点情報に指定される相対的な位置のそれぞれを更新する更新部、
当該複数の制御点のうち、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な位置が固定されるボーンから当該第２種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する交点位置計算部、
当該複数の制御点のうち、第１種の制御点のそれぞれの位置と、前記計算された交点のそれぞれの位置と、から、スキンの形状を計算するスキン形状計算部、
前記計算されたスキンの形状を所定の視点から見た画像を生成する生成部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間に配置されたキャラクターの頭部において目や口が開閉する画像をアニメーションで広く用いられている描法で生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、コンピュータグラフィックス（Computer Graphics；ＣＧ）において人物や動物などのキャラクターを表現する際に、その骨格をボーンという線分オブジェクトで抽象化し、各ボーンの回りにボーンに対して位置が固定される点の位置によって、皮膚の形状を抽象化したスキンの形状を求めて、頭部の形状を表す技術が提案されている。すなわち、ボーンは、キャラクターのおおまかな姿勢や形状を決めるものであり、スキンは、キャラクターの表面形状・外観形状に相当するものである。
【０００３】
制御点は、いずれかのボーンに対してその相対的な位置が固定されている。したがって、制御点と、当該制御点が固定されるボーンとの距離は一定である。そして、仮想空間内において制御点の位置を変化させたい場合には、ボーンの姿勢を変化させ、この変化に連動させることによって行う。
【０００４】
このほか、あるボーンの周囲において、ボーンと制御点との距離を一定に保ったまま制御点を移動させる処理も、座標系の回転による計算によって容易に行うことができる。
【０００５】
このようなボーン、制御点、スキンに基づくコンピュータ・グラフィックスの技術は、以下の文献に開示されている。
【非特許文献１】Tim Coleman，Sherri Sheridan著、デジタル・スタジオ飜訳、目指せプロアニメータ Mayaキャラクタアニメーション、２５５頁〜２７７頁、株式会社ボーンデジタル、２００２年４月２５日発行、（原書： Nathan Vogel，Sherri Sheridan，Tim Coleman，and Nathan Nogel, MAYA 2 CHARACTER ANIMATION, ISBN:0735708665, New Riders Publishing, pp.431-433，Dec 1999）
【０００６】
[非特許文献１]では、キャラクターの頭部に配置された目、鼻、口などのオブジェクトの形状を変化させて、キャラクターの表情を変化させる技術が開示されている。
【０００７】
この際には、目や口を開閉させる骨やその骨に付随する筋肉に相当する機能をボーンが担う。開閉される目蓋や唇に対応付けられるボーンの姿勢を変化させることで、そのボーンに固定される目蓋や唇の制御点の位置を変化させて、目や口を開閉させるのである。
【０００８】
ここで、海外制作のアニメーションでは、[非特許文献１]にも開示されるように、顔、目、口の形状を大袈裟に変形させることが多い。
【０００９】
一方で、特に日本のアニメーションにおけるキャラクターの描法には、独特の特徴がある。すなわち、目や口といった顔の皮膚に設けられる開孔を開閉させる場合には、顔の全体形状は変化させず、目や口の形状のみを変化させる「目パチ」「口パク」と呼ばれる手法である。
【００１０】
本手法は、アニメーションにおける動画の枚数をできるだけ減らすために、顔全体の形状を表すセル画に目や口の形状のみを変化させたセル画を重ねて撮影することとしたことから始まるものであるが、シンプルであるが故に技術を要し、奥が深い描法であることから、日本独自の文化を表す表現手法の一つとして、世界に広く認められるようになっている。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ボーン、制御点、スキンの組み合わせによる技術は、３次元グラフィックスの分野で広く用いられており、各種のライブラリやハードウェアも提供されているため、仮想空間に配置されたオブジェクトとしてモデル化されたキャラクターをＣＧ技術で画面に表示する際に、これらの技術をできるだけ利用することにより、処理の高速化を図りたい、という要望は強い。
【００１２】
しかしながら、上記のような日本独自のアニメーション表現に対して、従来のボーン、制御点、スキンの組み合わせによる技術を採用すると、目や口が顔の表面からずれてしまう、という問題が生じる。これは、日本独自の描法による目や口の動きは、現実の骨や関節や筋肉による動きを模したものではなく、独自の単純化がなされており、ボーンの姿勢に制御点の位置を連動させるだけでは対応ができないからである。
【００１３】
そこで、上記のようなボーン、制御点、スキンの組み合わせによるグラフィックス技術を応用しつつ、日本独自の描法にも対応して、高速に処理を行う技術が強く望まれている。
【００１４】
本発明は、上記のような課題を解決するもので、仮想空間に配置されたキャラクターの頭部において目や口が開閉する画像をアニメーションで広く用いられている描法で生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【００１６】
本発明の第１の観点に係る画像生成装置は、仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成し、記憶部、更新部、交点位置計算部、スキン形状計算部、生成部を備え、以下のように構成する。
【００１７】
すなわち、当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、当該複数の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、その種類は、第１種もしくは第２種のいずれかであり、当該制御曲面は、当該複数のボーンのうち相対的な位置が固定される制御点がいずれも第１種であるボーンのいずれかに対して、相対的な位置が固定される。
【００１８】
ボーンおよび制御点を使用して、キャラクターの顔の形状などの画像を生成する手法は、従来から用いられている３次元グラフィックスの技術を適用することができる。
【００１９】
本発明では、ボーンに対して制御点の位置が固定されており、制御点の位置を移動させる際には、ボーンの姿勢を変更する技術を前提とするが、これは、３次元グラフィックスの分野では広く用いられている技術であり、本技術に対する変更をできるだけ少なくすることで、既存の高速なグラフィックスハードウェアやライブラリを利用することができるようになる。
【００２０】
一方、制御曲面は、本発明特有の３次元グラフィックスの要素であり、いずれかのボーンにその相対的な位置が固定されている。
【００２１】
さらに、制御点には、第１種のものと第２種のものとがある。本発明がキャラクターの頭部の画像を生成する状況に適用される場合、第１種の制御点は、顔の中でほとんど動かない部位の形状を定めるためのものであり、第２種の制御点は、目蓋や唇など、顔の開孔付近の（第１種の制御点に制御される部分に比べて）動きが激しい部分の形状を定めるものである。
【００２２】
ここで、制御曲面が固定されるボーンに連動する制御点は、第１種のもののみである。したがって、制御曲面は、顔の中でほとんど動かないこととなる。
【００２３】
一方、記憶部には、以下の情報が記憶される。
（ａ）当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報。
（ｂ）当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報。
（ｃ）当該複数の制御点のそれぞれについて、当該制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御点の種類と、を示す制御点情報。
【００２４】
あるボーンＡが他のボーンＢに連結されている場合、ボーンＢに固定されている座標系において、ボーンＡの端点の位置は動かない。そこで、ボーンＢに固定される座標系をどのように回転させれば、ボーンＡに固定される座標系と同じ向きとなるか、の情報をボーン情報とする。
【００２５】
本発明においては、ボーンの長さは固定されているから、ボーンＢの先端にボーンＡが連結されているものとすれば、ボーンＢに固定される座標系におけるボーンＡの端点の位置は自ずと定まる。たとえば、ボーンＢの長さをLとし、ボーンＢに固定されるｘ軸の方向をボーンＢの長さ方向とすれば、ボーンＢの先端（ボーンＡの端点）の位置は、ボーンＢに固定される座標系において、(L,0,0)となる。
【００２６】
制御点および曲面については、これらが固定されるボーンがいずれであるか、ならびに、当該ボーンに固定される座標系における位置を、制御曲面情報および制御点情報として記憶する。
【００２７】
制御点については、第１種か第２種かを区別できるようにしておく必要があるが、それぞれの制御点の情報を記憶する構造体に、制御点の種類を記憶するフラグ領域を用意しても良いし、当該構造体の配列を２つ用意し、一方は第１種の制御点用、他方は第２種の制御点用として、記憶する配列領域を区別して記憶することとしても良い。
【００２８】
一方、更新部は、時間の経過もしくはユーザからの指示に基づいて、記憶部に記憶されるボーン情報のそれぞれを更新する。
【００２９】
たとえば、キャラクターの声の再生の経過時間に応じて唇の制御点が固定されたボーンを動かすように情報を更新することによって、キャラクターが発生する声に合わせて口を開閉させたり、一定時間を周期に目蓋の制御点が固定されたボーンを動かすように情報を更新することによってキャラクターにまばたきをさせることができる。このほか、ユーザがウィンクコマンドを出すことによって、キャラクターの目蓋を開閉させたり、ユーザが入力したチャットの文章の内容に応じてキャラクターの口を動かすことも可能である。
【００３０】
一方、交点位置計算部は、当該複数の制御点のうち、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な位置が固定されるボーンから当該第２種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する。
【００３１】
上記のように、第２種の制御点はボーンに連動して移動するため、当該ボーンの端点を中心とする球面上を移動可能範囲とする。一方、キャラクターの口や目の付近の形状は、この球面と合致しないことが殆どである。したがって、第２種の制御点の位置をそのまま唇や目蓋のスキン形状を決定する制御点とすると、口や目の付近が不自然に飛び出したり凹んだりするおそれがある。
【００３２】
制御曲面は、このような凹凸を防止するためのもので、口付近の基本形状や目付記の基本形状を近似するもので、このために、ほとんど動かないボーンに固定されている。そして、第２種の制御点の位置をそのまま利用してスキンを作るかわりに、ボーンから第２種の制御点へ伸びる半直線が制御曲面と交差する交点の位置を採用するのである。
【００３３】
さらに、スキン形状計算部は、当該複数の制御点のうち、第１種の制御点のそれぞれの位置と、計算された交点のそれぞれの位置と、から、スキンの形状を計算する。
【００３４】
上記のように、第１種の制御点は、キャラクターの顔の形状であまり動かない部分の形状を定め、交点は、キャラクターの顔の表面（を近似する制御曲面）を移動して口や目の形状を定める。このため、口や目の付近が不自然に飛び出したり凹んだりする問題を防止することができる。
【００３５】
そして、生成部は、計算されたスキンの形状を所定の視点から見た画像を生成する。
【００３６】
生成部による画像生成の処理には、広く利用されている３次元コンピュータグラフィックスの処理を適用することが可能である。
【００３７】
本発明によれば、端点を中心とするボーンの姿勢の回転に連動して制御点の位置を変更する処理を前提とするコンピュータグラフィックス処理において、一部の制御点（第２種の制御点）について、当該第２種の制御点をスキン形状の決定に用いるのではなく、当該第２種の制御点が固定されるボーンから当該第２種の制御点へ伸びる半直線がいずれかのボーンに連動して位置を変更する制御曲面と交差する交点をかわりに、スキン形状の決定に用いることで、たとえば仮想空間に配置されたキャラクターの目や口が開閉する様子をあらわす画像を、アニメーションで広く用いられている描法で生成することができるようになる。
【００３８】
また、本発明のその他の観点に係る画像生成装置は、複数のボーン、複数の制御点、および、制御曲面から、画像を生成し、記憶部、更新部、交点位置計算部、スキン形状計算部、生成部を備え、以下のように構成する。
【００３９】
ここで、当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、当該複数の制御点のうち、第１種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、第２種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な距離が固定され、当該制御曲面は、当該複数のボーンのいずれかに対して、相対的な位置が固定される。
【００４０】
上記の発明では、どの制御点も、いずれかのボーンに固定されており、ボーンがその端点を中心に回転して姿勢を変化させると、それに連動して位置を変更するものとしていたが、本発明では、第２種の制御点は、いずれかのボーンを基準として、当該ボーンから距離一定で回転するように位置を変更する点が異なる。
【００４１】
すなわち、本発明は、上記発明において、第２種の制御点のそれぞれについて、当該第２種の制御点のみが固定されるボーンが１つ用意されているのと同等の構成と考えることができる。
【００４２】
一方、記憶部は、以下の情報を記憶する。
（ａ）当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
（ｂ）当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
（ｃ）当該複数の制御点のうち、第１種の制御点のそれぞれについて、当該第１種の制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、を示す第１種の制御点情報と、
（ｄ）当該複数の制御点のうち、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な距離が固定されるボーンと、当該ボーンに対する相対的な位置と、を示す第２種の制御点情報。
【００４３】
上記発明と同様であるが、第１種の制御点情報と第２種の制御点情報とが区別されており、第２種の制御点情報については、当該第２種の制御点が一定の距離を保つボーンに関する情報が記憶されている点が異なる。
【００４４】
さらに、更新部は、時間の経過もしくはユーザからの指示に基づいて、記憶部に記憶されるボーン情報に指定される姿勢、および、第２種の制御点情報に指定される相対的な位置のそれぞれを更新する。
【００４５】
上記発明では、ボーン情報を更新することによって制御点の位置が変化されることとなっていたが、本発明では、第２種の制御点については、直接位置を変更するような処理を行う必要があるため、当該処理が追加されている。なお、この場合においても、第２種の制御点と、これに対する基準となるボーンの距離は一定である。
【００４６】
さらに、交点位置計算部は、当該複数の制御点のうち、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な位置が固定されるボーンから当該第２種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算し、スキン形状計算部は、当該複数の制御点のうち、第１種の制御点のそれぞれの位置と、計算された交点のそれぞれの位置と、から、スキンの形状を計算し、生成部は、計算されたスキンの形状を所定の視点から見た画像を生成する。
【００４７】
これら各部において実行される処理は、上記発明と同様である。
【００４８】
本発明は上記発明の変形例に相当するもの、もしくは、上記発明において、第２種の制御点が固定されるボーンを他と重複しないようにし、当該第２種の制御点と当該ボーンとをまとめて「'第２種の制御点」として考えた発明に相当するものであり、仮想空間に配置されたキャラクターの目や口が開閉する様子をあらわす画像を、アニメーションで広く用いられている描法で生成することができるようになる。
【００４９】
また、本発明の画像生成装置において、当該複数のボーンは、仮想空間に配置されるキャラクターの頭部の姿勢を定め、当該複数のボーンのそれぞれの姿勢が所定の基準姿勢にあるときの当該複数の制御点は、当該キャラクターの頭部の基準形状を定め、当該交点のそれぞれは、当該キャラクターの頭部において変形する口または目の形状を定め、当該制御曲面は、当該キャラクターの頭部の基準形状のうち口または目の近傍の形状を近似するように構成することができる。
【００５０】
本発明は上記発明の好適実施形態に係るもので、ボーンの姿勢が基準姿勢（典型的にはキャラクターが直立し、口を閉じ、目を開けた状態）にあるときの第１種および第２種の制御点の位置によって、キャラクターの頭部の基本的なスキン形状（基準形状）が定められ、当該基準形状に基づいて制御曲面を定める。
【００５１】
したがって、本発明によれば、キャラクターの口や目の開閉の際に口や目の近傍に不自然な凹凸が生じないようにすることができるようになる。
【００５２】
また、本発明の画像生成装置において、当該制御曲面は、ＮＵＲＢＳ（Non Uniform Rational B Spline）曲面であり、当該交点位置計算部は、ニュートン・ラフソン法により、当該交点の位置を計算するように構成することができる。
【００５３】
本発明においては、制御曲面として、３次元コンピュータグラフィックスの分野で広く用いられるＮＵＲＢＳ曲面を採用するが、当該ＮＵＲＢＳ曲面の形状は２つのパラメータに基づく多次多項式によって表される。したがって、半直線との交点を求める問題は、一般には、解析的に解くことが不可能である。
【００５４】
一方で、ニュートン・ラフソン法には、初期値によって収束する解が異なったり、重根を求めることが難しい場合がある等の問題があるが、当該半直線と制御曲面とは、１つの交点を有するように設定されているものであり、これらの問題は交点を求める上で何らの障害とはならない。そこで、計算の収束が高速であるニュートン・ラフソン法を適用するものである。
【００５５】
本発明によれば、制御曲面の形状をＮＵＲＢＳ曲面によって自然にキャラクター等の顔の形状に沿うように定義することができる一方で、高速に交点の位置を求めることができるようになる。
【００５６】
また、本発明の画像生成装置において、当該制御曲面は、２次曲面、平面、もしくは、多面体の表面であり、当該交点位置計算部は、当該半直線に含まれる座標を表す１次式を、当該制御曲面を表す２次以下の式に代入して得られる２次以下の方程式を解くことにより、当該交点の位置を計算するように構成することができる。
【００５７】
上記の発明では、ＮＵＲＢＳ曲面によって制御曲面を定義したが、本発明では、球面、双曲面、放物面およびこれらを各軸方向へ適宜拡大縮小したものや、平面や、ポリゴンの集合体により表現することが可能である多角形の表面により制御曲面を定義する。
【００５８】
上記のような２次曲面、平面、多角形の表面は、いずれも、制御曲面の形状を、各座標を用いた２次以下の多項式によって表現することができる。
【００５９】
一方で、半直線は、１次多項式によって表現することが可能であるから、交点の位置の計算は、２次方程式を解くことに帰着され、解の公式により解析的に解くことが可能である。
【００６０】
本発明によれば、制御曲面の形状を２次曲面、平面、多角形の表面によって自然にキャラクター等の顔の形状に沿うように定義することができる一方で、高速に交点の位置を求めることができるようになる。
【００６１】
また、本発明の画像生成装置において、計算されるスキンは、当該第１種制御点と、当該交点と、を頂点とする多角形の集合体であるように構成することができる。
【００６２】
また、本発明の画像生成装置において、計算されるスキンは、当該第１種制御点と、当該交点と、を制御点とするＮＵＲＢＳ（Non Uniform Rational B Spline）曲面であるように構成することができる。
【００６３】
これらの発明は、上記発明の好適実施形態に係るもので、本発明によれば、キャラクターの顔の形状をポリゴンやＮＵＲＢＳ曲面によって、自然な形状で表現することができるようになる。
【００６４】
本発明のその他の観点に係る画像生成方法は、記憶部、更新部、交点位置計算部、スキン形状計算部、生成部を備える画像生成装置にて実行され、仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成し、更新工程、交点位置計算工程、スキン計算工程、生成工程を備え、以下のように構成する。
【００６５】
すなわち、当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、当該複数の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、その種類は、第１種もしくは第２種のいずれかであり、当該制御曲面は、当該複数のボーンのうち相対的な位置が固定される制御点がいずれも第１種であるボーンのいずれかに対して、相対的な位置が固定される。
【００６６】
一方、記憶部には、
（ａ）当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
（ｂ）当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
（ｃ）当該複数の制御点のそれぞれについて、当該制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御点の種類と、を示す制御点情報と、
が記憶される。
【００６７】
さらに、更新工程では、更新部が、時間の経過もしくはユーザからの指示に基づいて、記憶部に記憶されるボーン情報のそれぞれを更新する。
【００６８】
そして、交点位置計算工程では、交点位置計算部が、当該複数の制御点のうち、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な位置が固定されるボーンから当該第２種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する。
【００６９】
一方、スキン形状計算工程では、スキン形状計算部が、当該複数の制御点のうち、第１種の制御点のそれぞれの位置と、計算された交点のそれぞれの位置と、から、スキンの形状を計算する。
【００７０】
さらに、生成工程では、生成部が、計算されたスキンの形状を所定の視点から見た画像を生成する。
【００７１】
また、本発明の画像生成方法は、記憶部、更新部、交点位置計算部、スキン形状計算部、生成部を備える画像生成装置にて実行され、仮想空間に配置される複数のボーン、複数の制御点、および、制御曲面から、画像を生成し、更新工程、交点位置計算工程、スキン計算工程、生成工程を備え、以下のように構成する。
【００７２】
すなわち、当該複数のボーンのそれぞれは、長さが固定されており、その端点が他のボーンに連結され、当該複数の制御点のうち、第１種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な位置が固定され、第２種の制御点のそれぞれは、当該複数のボーンのいずれかに対する相対的な距離が固定され、当該制御曲面は、当該複数のボーンのいずれかに対して、相対的な位置が固定される。
【００７３】
一方、記憶部には、
（ａ）当該複数のボーンのそれぞれについて、その端点が連結される他のボーンに対する相対的な姿勢を示すボーン情報と、
（ｂ）当該制御曲面の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、当該制御曲面の形状と、を示す制御曲面情報と、
（ｃ）当該複数の制御点のうち、第１種の制御点のそれぞれについて、当該第１種の制御点の相対的な位置が固定されるボーンと、当該固定される相対的な位置と、を示す第１種の制御点情報と、
（ｄ）当該複数の制御点のうち、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な距離が固定されるボーンと、当該ボーンに対する相対的な位置と、を示す第２種の制御点情報と、
が記憶される。
【００７４】
さらに、更新工程では、更新部が、時間の経過もしくはユーザからの指示に基づいて、記憶部に記憶されるボーン情報に指定される姿勢、および、第２種の制御点情報に指定される相対的な位置のそれぞれを更新する。
【００７５】
そして、交点位置計算工程では、交点位置計算部が、当該複数の制御点のうち、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な位置が固定されるボーンから当該第２種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する。
【００７６】
一方、スキン形状計算工程では、スキン形状計算部が、当該複数の制御点のうち、第１種の制御点のそれぞれの位置と、計算された交点のそれぞれの位置と、から、スキンの形状を計算する。
【００７７】
さらに、生成工程では、生成部が、計算されたスキンの形状を所定の視点から見た画像を生成する。
【００７８】
本発明のその他の観点に係るプログラムは、コンピュータを上記の画像生成装置として機能させ、コンピュータに上記の画像生成方法を実行させるように構成する。
【００７９】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【００８０】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００８１】
本発明によれば、仮想空間に配置されたキャラクターの頭部において目や口が開閉する画像をアニメーションで広く用いられている描法で生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００８２】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００８３】
図１は、プログラムを実行することにより、本発明の画像生成装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００８４】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ  １０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェイス１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０と、マイク１１１と、を備える。
【００８５】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態の画像生成装置が実現される。
【００８６】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００８７】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００８８】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００８９】
インターフェイス１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【００９０】
インターフェイス１０４を介して着脱自在に接続された外部メモリ１０６には、ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００９１】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００９２】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００９３】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００９４】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００９５】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００９６】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００９７】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００９８】
音声処理部１１０では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００９９】
さらに、情報処理装置１００には、インターフェイス１０４を介してマイク１１１を接続することができる。この場合、マイク１１１からのアナログ信号に対しては、適当なサンプリング周波数でＡ／Ｄ変換を行い、ＰＣＭ形式のディジタル信号として、音声処理部１１０でのミキシング等の処理ができるようにする。
【０１００】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【０１０１】
以上で説明した情報処理装置１００は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【０１０２】
たとえば、一般的なコンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣを備え、情報処理装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ１０５ではなく、キーボードやマウスなどを入力装置として利用する。
【０１０３】
図２は、仮想空間内におけるボーン、制御点、スキンの関係を示す説明図である。以下、本図を参照して説明する。
【０１０４】
本図に示す例では、仮想空間２００内には、２つのボーン２０１ａ、２０１ｂが配置されている。各ボーン２０１ａ、２０１ｂの長さは一定である。ボーン２０１ｂの端点２０２ｂは、ボーン２０１ａの突端２０３ａに連結されており、ボーン２０１ｂは、端点２０２ｂを回転中心にして、ボーン２０１ａに対して回転することができる。
【０１０５】
したがって、ボーン２０１ａの端点２０２ｂに原点が一致し、ボーン２０１ａに固定された座標系２０４ａにおけるボーン２０１ｂの端点２０２ｂの座標は、一定となる。
【０１０６】
本図では、ボーン２０１ａ、２０１ｂは、長い角錐に楕円球を連結した形状で表現されており、角錐の上頂点が突端２０３ａ、２０３ｂに、楕円球が端点２０２ａ、２０２ｂに、それぞれ対応している。
【０１０７】
また、ボーン２０１ａに固定された座標系２０４ａにおける回転量（姿勢）を与えることにより、ボーン２０１ａに対するボーン２０１ｂの相対的な姿勢が一意に定まることになる。なお、ここでいう回転は、「ある１つの軸を中心に回転する」の意味ではなく、「ある１つの点を中心に回転する」の意味であり、たとえばユニバーサルジョイントなどによって実現されるような回転に相当するものである。
【０１０８】
このように、あるボーン２０１ｂの端点２０２ｂが他のボーン２０１ａの突端２０３ａに一致して、端点２０２ｂを中心にボーン２０１ｂが回転する姿勢によって、ボーン２０１ａに対するボーン２０１ｂの相対的な位置が定まる場合、ボーン２０１ａとボーン２０１ｂとには、座標系の依存関係の順序を定めることができる。
【０１０９】
たとえばキャラクターの頭部の位置や形状を定めるには、表す場合には、一般的には、
（１）背骨に相当するボーンに対して首の骨に相当するボーンの位置を定め、
（２）首の骨に相当するボーンに対して頭蓋骨に相当するボーンの位置を定め、
（３ａ）頭蓋骨に相当するボーンに対して顎の骨に相当するボーンの位置を定め、
（３ｂ）頭蓋骨に相当するボーンに対して目蓋に相当するボーンの位置を定め、……
のように、複数のボーンを連結させることによって行う。また、ボーンは、現実の人間や動物の骨格と一致するように設定しても良いし、適宜省略したり、追加したりしても良い。たとえば目蓋のように、筋肉のみによって動作するような部分であっても、上記のように仮想的にボーンを設定することで、キャラクターの表情の設計を行うのが一般的である。
【０１１０】
さて、ボーン２０１ａには、複数の制御点２０５ａが割り当てられている（割当の対応関係を点線で示している）。各制御点２０５ａの、ボーン２０１ａに割り当てられた座標系２０４ａにおける座標は一定である。したがって、各制御点２０５ａは、ボーン２０１ａに固定されている。
【０１１１】
一方、ボーン２０１ｂにも、複数の制御点２０５ｂが割り当てられている。各制御点２０５ｂの、ボーン２０１ｂに割り当てられた座標系２０４ｂにおける座標は一定である。したがって、各制御点２０５ｂは、ボーン２０１ｂに固定されている。
【０１１２】
したがって、ボーン２０１ｂが端点２０２ｂを中心にボーン２０１ａに対して回転すると、制御点２０５ｂもこれに連動してボーン２０１ａに対して回転することになる。
【０１１３】
ある座標系に対する他の座標系の原点の位置、ならびに、当該ある座標系に対する当該他の座標系の各軸の方向（回転量）が定まれば、当該ある座標系と当該他の座標系において、相互に点の座標値を一意に変換することが可能である。
【０１１４】
したがって、ボーン２０１ａに対するボーン２０１ｂの相対的な姿勢を変化させることによって、ボーン２０１ａに対する制御点２０５ｂの相対的な位置を計算により求めることができる。一方、ボーン２０１ａに対する制御点２０５ａの相対的な位置は、上記のように固定されているから、２つのボーン２０１ａ、２０１ｂに固定された全制御点２０１ａ、２０１ｂの座標系２０４ａに対する座標値や、座標系２０４ｂに対する座標値は、座標変換の計算によって求めることができ、これらの処理を連結されたすべてのボーンについて繰り返すことにより、すべての制御点の、ある座標系（典型的には背骨に固定された座標系、もしくは、グローバル座標系）における位置を確定させることができる。
【０１１５】
さて、上記のようにして制御点２０５ａ、２０５ｂのある座標系における位置が定まったら、これらの制御点２０５ａ、２０５ｂの位置に基づいて、スキン２０６を定めることができる。
【０１１６】
本実施形態では、スキン２０６は、ポリゴン２０７の集合体であり、制御点２０５ａ、２０５ｂをあらかじめ定めた対応付けで各ポリゴン２０７の頂点としている。本図に示す例では、人の腕の表面の一部のような形状をなしている。
【０１１７】
制御点２０５ａ、２０５ｂをポリゴン２０７の頂点としてポリゴン２０７によってスキン２０６の形状を定める手法のほか、各制御点２０５ａ、２０５ｂに重みを割り振ることによって定義されるＮＵＲＢＳ（Non Uniform Rational B Spline）曲面をスキンとする手法を採用しても良い。この手法では、制御点の数をさらに増やすことも可能である。この場合には、スキン２０６の形状は、２つのパラメータu，vの有理多項式により当該スキン２０６内の点の座標値が定められることとなる。
【０１１８】
ボーンの突端には別のボーンが連結されておらず、ボーンに固定される制御点２０５ｂがただ一つである場合、当該ボーンを「単制御点ボーン」と呼ぶこととする。
【０１１９】
ボーン２０１ｂが単制御点ボーンである場合には、制御点２０５ｂの座標値をボーン２０１ｂに固定された座標系２０４ｂにおいて固定したものとする上記の手法のほか、ボーン２０１ｂの突端２０３ｂそのものを制御点２０５ｂとしてしまう手法もありうる。これは、いずれの手法を採用しても良い。
【０１２０】
この場合、わざわざ座標系２０４ｂを想定する必要はなくなる。すなわち、制御点２０５ｂは、ボーン２０１ａの突端２０３ａ（単制御点ボーン２０１ｂの端点２０２ｂ）からの距離が一定（単制御点ボーン２０１ｂの長さに等しい）であるから、当該突端２０３ａを中心とする球面上を移動することとなる。そして、単制御点ボーン２０１ｂの座標系２０４ａにおける姿勢を定めることと、制御点２０５ｂの座標系２０４ａにおける座標値を定めることとは、実質的に等価となる。そこで、以下の説明では、単制御点ボーンについては、その端点を制御点とするものとする。
【０１２１】
さて、本実施形態では、後述するように、いわゆる「口パク」に本発明を適用している。もっとも、本発明は、「目パチ」に同様に適用することができるほか、たとえば鼻の穴や、そのキャラクター特有の、よく動く部分に適用することもでき、それらの態様も本発明の範囲に含まれる。
【０１２２】
キャラクターの口の形状を定めるに際して、唇の縁は比較的自由に移動することとしておけば、いわゆる「口パク」のほか、口を上下や横に非対称に曲げたりすることもできるようになる。そこで、本実施形態では、頭蓋骨に相当するボーンに複数の単制御点ボーンを連結し、当該複数の単制御点ボーンの突端により、唇の縁の形状を定めることとする。
【０１２３】
図３は、キャラクターの頭部を形成するボーン、制御点、スキンの様子を示す説明図である。本図（ａ）は、キャラクターの頭部の透視図に相当し、本図（ｂ）は、キャラクターの頭部の斜視図に相当する。以下、本図を参照して説明する。
【０１２４】
首の骨ボーン３０１は頭蓋骨ボーン３０２と連結されており、ポリゴン３０３の頂点３０４のほとんどは、頭蓋骨ボーン３０２に固定されている。
【０１２５】
ただし、唇の縁に相当する頂点３０５については、頭蓋骨ボーン３０２に連結点３１１において連結された単制御点ボーン３０６によりその位置が定められている。すなわち、連結点３１１は、頭蓋骨ボーン３０２の突端であり、単制御点ボーン３０６の端点である。
【０１２６】
そして、頂点３０５を制御点として、唇の縁の形状を表す頂点３０５の位置が定められている。
【０１２７】
そして、頂点３０４、頂点３０５により辺の位置が定められるポリゴン３０３によりキャラクターの顔のスキン３０８の形状を定められることから、頂点３０４は、頭蓋骨ボーン３０２に固定された制御点であり、頂点３０５は、単制御点ボーン３０６に固定された制御点に相当する。
【０１２８】
図４は、頭蓋骨ボーン、単制御点ボーン、キャラクターの頭部の基本形状の関係を示す断面図である。本断面図は、キャラクターの顔を左右の中心で切ったものであり、理解を容易にするため、位置関係を一部誇張して描いている。以下、本図を参照して説明する。
【０１２９】
本図に示すように、キャラクターの頭部が基本形状（もっとも頻繁に現れる表情に相当する）をとるとき、頭蓋骨ボーン３０２に連結された単制御点ボーン３０６の突端は、キャラクターの顔の基本形状４０１に重なって、唇の上端および下端の縁の頂点３０５（本図白丸印「○」で表す。）と一致している。ところが、本図に示すように頭蓋骨ボーン３０２の突端から、基本形状４０１までの距離は一定ではない。
【０１３０】
したがって、単制御点ボーン３０６を上下に回転させる（本図では、唇の下端に相当する部分を回転させている。点線で示す。）と、突端３０７（本図黒丸印「●」で示す。）は、基本形状４０１の中にめり込んだり、基本形状４０１の外へ突き出されたりしてしまう。
【０１３１】
しかしながら、日本の伝統的なアニメーションの描法においては、「口パク」によって唇の形状は変化するものの、顔の形状そのものは変形しないようにする。したがって、本実施形態では、突端３０７そのものを上端および下端の縁の頂点３０５として使用するのではなく、「制御曲面」による手法を用いる。
【０１３２】
図５は、本実施形態に係る頭蓋骨ボーン、単制御点ボーン、制御曲面、キャラクターの頭部の基本形状の関係を図４と同様の位置関係で示す断面図である。図６は、本実施形態に係る頭蓋骨ボーン、単制御点ボーン、制御曲面、キャラクターの頭部の基本形状の関係を図３と同様の位置関係で示す抽出図である。図７、図８は、本実施形態に係る頭蓋骨ボーン、単制御点ボーン、制御曲面、キャラクターの頭部の基本形状の関係をキャラクターの横から見た説明図であり、図７は、口を閉じている様子、図８は、口を開いている様子を表す。以下、これらの図を参照して説明する。
【０１３３】
制御曲面５０１は、キャラクターの基本形状４０１に沿う曲面であり、図６に示すように、本実施形態では、２×２のメッシュ、９個の制御点からなるＮＵＲＢＳ曲面によってその形状が定義されている。
【０１３４】
そして、唇の縁の頂点３０５（図５では、白四角印「□」で表す。）として、単制御点ボーン３０６の突端３０７そのものではなく、「連結点３１１から単制御点ボーン３０６の突端３０７へ進む半直線（すなわち、単制御点ボーン３０６に沿って伸びる半直線）が、制御曲面５０１と交差する交点」を採用する。
【０１３５】
本手法を採用すれば、図５に示すように、単制御点ボーン３０６を上下に回転させて（本図点線で示す。）、突端３０７が基本形状４０１の中にめり込んだり、基本形状４０１の外へ突き出されたりしたとしても、唇の縁の頂点３０５は、キャラクターの頭部の基本形状４０１に沿う制御曲面５０１上にあるため、顔そのものの形状の変化は極めて小さくすることができ、日本の伝統的なアニメーションの描法を実現することができるのである。
【０１３６】
なお、本実施形態では、連結点３１１の位置を、頭蓋骨ボーン３０２の突端の位置、すなわち、単制御点ボーン３０６の端点の位置とし、キャラクターの顔の頭頂近傍に配置しているが、連結点３１１の位置は、必ずしもこの位置に限られない。たとえば、顔の形状の重心に相当するような位置としても良いし、頚骨の位置としても良い。すなわち、連結点３１１の位置は、キャラクターの口に対して、キャラクターの後方に配置すれば良いこととなる。また、本実施形態では、頭蓋骨ボーン３０２を口の形状とそれ以外の部分の形状を定めるために両用していることとなるが、それぞれのために異なるボーンを用意することとしても良い。
【０１３７】
また、図４においては、理解を容易にするため、基本形状では、単制御点ボーン３０６の突端３０７が、基本形状４０１に一致して唇の縁の頂点３０５をなすものとしていたが、唇の縁の頂点３０５は、上記のように、「連結点３１１から単制御点ボーン３０６の突端３０７へ進む半直線（すなわち、単制御点ボーン３０６に沿って伸びる半直線）が、制御曲面５０１と交差する交点」であるから、単制御点ボーン３０６をもっと長くしたり短くしたりしても良い。
【０１３８】
この場合、基本的な表情において、突端３０７の位置は基本形状４０１の外へ突き出されたり、基本形状４０１の中へ引っ込んだりするが、唇の縁の頂点３０５の位置は、制御曲面５０１に含まれることとなるから、基本形状４０１に沿うこととなる。
【０１３９】
ここで、制御曲面５０１が基本形状４０１に「沿う」とは、キャラクターが基本的な表情をしているときの基本形状４０１の頂点３０４、３０５からの制御曲面５０１の距離が、所定の許容誤差範囲内であることを意味する。この許容誤差は、当該キャラクターの用途やデザインの内容に応じて、適宜変更が可能である。
【０１４０】
制御曲面５０１としてＮＵＲＢＳ曲面を採用した場合、制御曲面５０１に含まれる点の位置ベクトルをpとし、ある基準位置・方向を意味するベクトルをa，b，c（これらは、本実施形態では、頭蓋骨ボーン３０２に固定された座標系における定数ベクトルである。）とすると、位置ベクトルpは、スカラーのパラメータu，vを用いて、以下のように表現できる。
p = f(u,v)a + g(u,v)b + c
【０１４１】
ここで、f(u,v)，g(u,v)は、いずれもスカラーの関数で、u，vに関するn次の多項式により表現される。
【０１４２】
一方、単制御点ボーン３０６に沿って伸びる半直線に含まれる点の位置ベクトルをqとし、ある基準位置・方向を意味するベクトルをr，sとすると、位置ベクトルqは、スカラーのパラメータt (t≧0)を用いて、以下のように表現できる。
q = t r + s
【０１４３】
すなわち、tに関する１次の多項式により表現されることになる。制御曲面５０１と、単制御点ボーン３０６に沿って伸びる半直線と、の交点を求めるには、
p = q
とおいて、パラメータu，v，tに関するn次３元連立方程式を解くことになる。
【０１４４】
n≧5である場合には、n次の方程式を一般的に解く解法は存在しないから、このような場合には、ニュートン・ラフソン法などを用いて解を求めることとなる。一般に、ニュートン・ラフソン法は、解への高速な収束が期待できる、という利点がある一方で、初期値によっては解が求まるとは限らないこと、初期値によって求められる解が変化してしまうこと、が欠点である、とされているが、頭蓋骨ボーン３０２の突端である連結点３１１と、制御曲面５０１との典型的な位置関係を考慮すれば、上記のようなニュートン・ラフソン法の欠点は、本発明においては問題とはならない。
【０１４５】
このほか、制御曲面５０１として２次曲面を採用することも可能である。２次曲面とは、ある座標系（本実施形態では、頭蓋骨ボーン３０２に固定された座標系を採用するのが典型的である。）において、制御曲面５０１に含まれる点の座標を(x,y,z)とおいたときに、２次の多項式h(x,y,z)により、
h(x,y,z) = 0
が成立するような曲面である。２次曲面には、球面、双曲面、放物面ならびに、これをその対称軸方向に適宜拡大縮小して変形したものが含まれるほか、平面も２次曲面の一種と考えることができる。
【０１４６】
一方、単制御点ボーン３０６に沿って伸びる半直線について、上記のベクトル表記に、
q = (qx,qy,qz)
などのように、x，y，zに関する添字をつけたものを、当該座標系における座標値とすると、
qx = trx + sx；
qy = try + sy；
qz = trz + sz；
が得られる。
【０１４７】
したがって、これらの交点を求めるには、
x = qx；
y = qy；
z = qz；
とおくこととなり、交点を求める問題は、パラメータt (t≧0)に関する２次方程式
h(trx + sx，try + sy，trz + sz) = 0
を解くことに帰着される。２次方程式には、解の公式があるため、これを用いれば、容易に交点の座標値を計算することが可能である。
【０１４８】
このほか、制御曲面５０１を、ポリゴンの集合体として定義することも可能である。各ポリゴンは、平面の領域を制限したもの、と考えることができるから、制御曲面５０１と単制御点ボーン３０６に沿って伸びる半直線と、の交点を求める問題は、平面群（各ポリゴン）と半直線の交点を求める問題に帰着される。ポリゴンの形状が比較的単純であり、ポリゴンの数が少ない場合には、交点を求める計算が高速にできることが期待される。
【０１４９】
上記の基本的な考え方に基づいて、以下ではさらに具体的に、本実施形態に係る画像生成装置の構成について説明する。図９は、本実施形態に係る画像生成装置の概要構成を示す説明図である。図１０は、当該画像生成装置にて実行される画像生成処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【０１５０】
本実施形態に係る画像生成装置９０１は、記憶部９０２、更新部９０３、交点位置計算部９０４、スキン形状計算部９０５、生成部９０６を備える。
【０１５１】
ここで、記憶部９０２には以下の情報が記憶される。
（ａ）キャラクターの頭部の形状を定めるためのボーンの姿勢を定めるボーン情報。すなわち、首の骨ボーン３０１、頭蓋骨ボーン３０２、単制御点ボーン３０６の連結の関係および相対的な位置関係を示す情報である。上記のように、あるボーンが連結される他のボーンに対する相対的な姿勢を示すものである。典型的には、各軸方向の回転量や、クオータニオンにより表現される回転量により表現される。
（ｂ）制御曲面５０１の相対的な位置が固定されるボーンと、固定される相対的な位置と、制御曲面５０１の形状と、を示す制御曲面情報。本実施形態では、制御曲面５０１は頭蓋骨ボーン３０２に固定されており、その形状は、ＮＵＲＢＳ曲面や２次曲面によって、上記のように定義されている。
（ｃ）制御点のそれぞれについて、制御点の相対的な位置が固定されるボーンと、固定される相対的な位置と、制御点の種類と、を示す制御点情報。本実施形態では、制御点として、頂点３０４に相当するもの（ボーンに連動して動く制御点であって、頂点３０４と位置が一致するもの）と、頂点３０５に相当するもの（単制御点ボーン３０６の突端）と、の２種類があるが、前者を第１種の制御点、後者を第２種の制御点と呼ぶ。第１種の制御点は、直ちに頂点３０４となるが、第２種の制御点は、連結点３１１を起点として第２種の制御点を通過する半直線が、制御曲面５０１と交差する点が頂点３０５となる。
【０１５２】
第１種か第２種かを区別するための手法であるが、それぞれの制御点の情報を記憶する構造体に、制御点の種類を記憶するフラグ領域を用意しても良いし、当該構造体の配列を２つ用意し、一方は第１種の制御点用、他方は第２種の制御点用として、記憶する配列領域を区別して記憶することとしても良い。
【０１５３】
さて、本処理が開始されると、ＣＰＵ  １０１は、ＲＡＭ  １０３に用意された各領域を初期化する（ステップＳ９５１）。この領域には、上記記憶部９０２を実現するものも含まれる。したがって、ＲＡＭ  １０３は、記憶部９０２として機能する。
【０１５４】
一方、更新部９０３は、時間の経過もしくはユーザからの指示に基づいて、記憶部９０２に記憶されるボーン情報のそれぞれを更新する（ステップＳ９５２）。
【０１５５】
たとえば、キャラクターの声の再生の経過時間に応じて唇の制御点が固定されたボーンを動かすように情報を更新することによって、キャラクターが発生する声に合わせて口を開閉させたり、一定時間を周期に目蓋の制御点が固定されたボーンを動かすように情報を更新することによってキャラクターにまばたきをさせることができる。
【０１５６】
このほか、ユーザがウィンクコマンドを出すことによって、キャラクターの目蓋を開閉させたり、ユーザが入力したチャットの文章の内容に応じてキャラクターの口を動かすことも可能である。ある時点からの時間の経過に対する制御点の位置の変化を時系列的にあらかじめ定めておくのが典型的である。
【０１５７】
これは、丁度アニメーションにおいて、「口パク」のセル画を複数枚用意し、時間の経過によってこのセル画を適宜交換して利用することに相当する。
【０１５８】
このほか、各ボーンの位置関係を時間の経過やユーザからの指示に基づいて変化させることで、キャラクターが首を振ったり、頷いたりする様子を表現することも可能である。
【０１５９】
したがって、ＣＰＵ  １０１は、ＲＡＭ  １０３と共働して、更新部９０３として機能する。
【０１６０】
さらに、交点位置計算部９０４は、第２種の制御点のそれぞれについて、当該第２種の制御点の相対的な位置が固定されるボーンから当該第２種の制御点へ伸びる半直線が、当該制御曲面と交差する交点の位置を計算する。すなわち、各単制御点ボーン３０６につき、当該単制御点ボーン３０６の連結点３１１から単制御点ボーン３０６の突端へ伸びる半直線が、制御曲面５０１と交差する交点の位置を計算する（ステップＳ９５３）。
【０１６１】
当該計算には、上記のように、ニュートン・ラフソン法や２次方程式を解く手法などを採用することができる。
【０１６２】
したがって、ＣＰＵ  １０１は、ＲＡＭ  １０３と共働して、交点位置計算部９０４として機能する。
【０１６３】
ついで、スキン形状計算部９０５は、当該複数の制御点のうち、第１種の制御点のそれぞれの位置と、計算された交点のそれぞれの位置と、から、スキンの形状を計算する（ステップＳ９５４）。第１種の制御点は、頂点３０４に相当し、交点の位置は、頂点３０５に相当するから、これらの頂点３０４、３０５に基づいて、上記のように、スキン３０８の形状を計算するのである。
【０１６４】
そして、生成部９０６は、計算されたスキンの形状を所定の視点から見た画像を生成して、ＲＡＭ  １０３内に用意されたフレームバッファに展開する（ステップＳ９５５）。
【０１６５】
生成部９０６による画像生成の処理には、広く利用されている３次元コンピュータグラフィックスの処理を適用することが可能である。
【０１６６】
したがって、ＣＰＵ  １０１は、ＲＡＭ  １０３や画像処理部１０７と共働して、スキン形状計算部９０５ならびに生成部９０６として機能する。
【０１６７】
そして、ＣＰＵ  １０１は、次の垂直同期割込が生じるまで待機する（ステップＳ９５６）。この待機の間には、他に必要な各種の計算処理を、コルーチン的に実行することも可能である。
【０１６８】
ついで、ＣＰＵ  １０１の制御の下、ＲＡＭ  １０３内に用意されたフレームバッファの内容を、画像処理部１０７が備えるフレームメモリに転送することによって、当該キャラクターの画像が、モニタに表示される（ステップＳ９５７）。ステップＳ９５２に戻り、これらの処理を繰り返すことによって、仮想空間内でキャラクターが表情を変化させて動くアニメーションを提示することができるようになる。
【０１６９】
なお、上記実施形態では、制御曲面５０１は、頭蓋骨ボーン３０２に完全に固定されているものとしていたが、口の変形を大袈裟にしたい、というアニメーション演出上の要望がある場合には、制御曲面５０１の位置を頭蓋骨ボーン３０２に対して変化させることで、これを容易に実現することができる。
【０１７０】
図１１、図１２は、制御曲面５０１の位置を頭蓋骨ボーン３０２に対して変化させることで変化するキャラクターの表情を示す説明図である。以下、本図を参照して説明する。図１１は、キャラクターの表情の透視図であり、図１２は、キャラクターの表情の外観図である。また、図１２においては、符号を省略している。
【０１７１】
また、図１１（ａ）、図１２（ａ）においては、制御曲面５０１（図１１では灰色に描かれている。）を基本形状４０１に沿う位置に配置したキャラクターの顔の形状を、前者では斜め前方から透視して図示しており、後者では斜めから俯瞰して図示している。したがって、図１１（ａ）と図１２（ａ）における各制御点やボーンの位置関係は、一致している。
【０１７２】
一方、図１１（ｂ）、図１２（ｂ）においては、制御曲面５０１（図１１では灰色に描かれている。）を基本形状４０１から離れた位置に配置したキャラクターの顔の形状を、前者では斜め前方から透視して図示しており、後者では斜めから俯瞰して図示している。したがって、図１１（ｂ）と図１２（ｂ）における各制御点やボーンの位置関係は、一致している。
【０１７３】
また、図１１（ａ）における単制御点ボーン（本図では符号を省略している。）の位置と、図１１（ｂ）における単制御点ボーン（本図では符号を省略している。）の位置と、は同じである。しかしながら上記のように、制御曲面５０１が基本形状４０１に対してとる位置が異なる。したがって、唇の縁９９０の形状も、本図（ａ）では、基本的な表情に合わせたものとなっているのに対し、本図（ｂ）では、たとえば驚愕して口を突き出したような表情となっている。
【０１７４】
このように、本手法によれば、制御曲面の位置を変化させるだけで、キャラクターの表情を極端に大きく変化させることが容易にできる。
【産業上の利用可能性】
【０１７５】
以上説明したように、本発明によれば、仮想空間に配置されたキャラクターの頭部において目や口が開閉する画像をアニメーションで広く用いられている描法で生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【０１７６】
【図１】プログラムを実行することにより、本発明の画像生成装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。
【図２】仮想空間内におけるボーン、制御点、スキンの関係を示す説明図である。
【図３】キャラクターの頭部を形成するボーン、制御点、スキンの様子を示す説明図である。
【図４】頭蓋骨ボーン、単制御点ボーン、キャラクターの頭部の基本形状の関係を示す断面図である。
【図５】本実施形態に係る頭蓋骨ボーン、単制御点ボーン、制御曲面、キャラクターの頭部の基本形状の関係を図４と同様の位置関係で示す断面図である。
【図６】本実施形態に係る頭蓋骨ボーン、単制御点ボーン、制御曲面、キャラクターの頭部の基本形状の関係を図３と同様の位置関係で示す抽出図である。
【図７】本実施形態に係る頭蓋骨ボーン、単制御点ボーン、制御曲面、キャラクターの頭部の基本形状の関係をキャラクターの横から見た説明図である。
【図８】本実施形態に係る頭蓋骨ボーン、単制御点ボーン、制御曲面、キャラクターの頭部の基本形状の関係をキャラクターの横から見た説明図である。
【図９】本実施形態に係る画像生成装置の概要構成を示す説明図である。
【図１０】当該画像生成装置にて実行される画像生成処理の制御の流れを示すフローチャートである。
【図１１】制御曲面の位置を頭蓋骨ボーンに対して変化させることで変化するキャラクターの表情を示す透視図である。
【図１２】制御曲面の位置を頭蓋骨ボーンに対して変化させることで変化するキャラクターの表情を示す外観図である。
【符号の説明】
【０１７７】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェイス
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
１１１  マイク
２００  仮想空間
２０１  ボーン
２０２  端点
２０３  突端
２０４  座標系
２０５  制御点
２０６  スキン
２０７  ポリゴン
３０１  首の骨ボーン
３０２  頭蓋骨ボーン
３０３  ポリゴン
３０４  頂点
３０５  頂点
３０６  単制御点ボーン
３０７  単制御点ボーンの突端
３０８  スキン
３１１  連結点
４０１  基本形状
５０１  制御曲面
９０１  画像生成装置
９０２  記憶部
９０３  更新部
９０４  交点位置計算部
９０５  スキン形状計算部
９０６  生成部
【図１】
2008186219.tif 000003
【図２】
2008186219.tif 000004
【図３】
2008186219.tif 000005
【図４】
2008186219.tif 000006
【図５】
2008186219.tif 000007
【図６】
2008186219.tif 000008
【図７】
2008186219.tif 000009
【図８】
2008186219.tif 000010
【図９】
2008186219.tif 000011
【図１０】
2008186219.tif 000012
【図１１】
2008186219.tif 000013
【図１２】
2008186219.tif 000014