(57)【要約】 【課題】仮想空間に配置されたキャラクターの頭部の画像をマンガやアニメーションで広く用いられている描法で生成する画像生成技術を提供する。【解決手段】画像生成装置５０１の生成部５０４は、仮想空間内に配置されるキャラクターの顔を、当該仮想空間内に配置される視点から見た画像を生成し、修正部５０３は、当該キャラクターの頭部に固定された第１方向と、当該キャラクターの頭部から当該視点への第２方向と、がずれている場合、当該キャラクターの頭部に配置されるオブジェクトの位置を、当該視点に近付くように修正して、生成部５０４に当該画像を生成させる。【選択図】図１３
2007156773.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間内に配置されるキャラクターの頭部を、当該仮想空間内に配置される視点から見た画像を生成する生成部、
当該キャラクターの頭部に固定された第１方向と、当該キャラクターの頭部から当該視点への第２方向と、がずれている場合、当該キャラクターの頭部に配置されるオブジェクトの位置を、当該視点に近付くように修正して、前記生成部に当該画像を生成させる修正部
を備えることを特徴とする画像生成装置。
【請求項２】
請求項１に記載の画像生成装置であって、
前記修正部は、当該キャラクターの頭部に固定された回転軸の周りで、当該オブジェクトの位置を回転して、当該オブジェクトの位置を修正する
ことを特徴とする画像生成装置。
【請求項３】
請求項２に記載の画像生成装置であって、
前記修正部は、当該回転軸と当該第１方向とが張る平面から、当該回転軸と当該第２方向とが張る平面への、当該回転軸の周りの回転角を取得し、当該取得された回転角に０より大きく１より小さい比例定数を乗じた回転量だけ、当該オブジェクトの位置を回転して、当該オブジェクトの位置を修正する
ことを特徴とする画像生成装置。
【請求項４】
請求項１または２のいずれか１項に記載の画像生成装置であって、
前記修正部は、当該第１方向と、当該第２方向と、のずれの量にあらかじめ対応付けられた量だけ、当該オブジェクトの位置を修正する
ことを特徴とする画像生成装置。
【請求項５】
請求項１から４のいずれか１項に記載の画像生成装置であって、
前記修正部は、当該第１方向と、当該第２方向と、のずれが、所定の閾値以下である場合、当該オブジェクトの位置を修正する
ことを特徴とする画像生成装置。
【請求項６】
請求項１から５のいずれか１項に記載の画像生成装置であって、
当該オブジェクトは、当該キャラクターの鼻もしくは口を表現するオブジェクトである
ことを特徴とする画像生成装置。
【請求項７】
生成部と、修正部と、を備える画像生成装置にて実行される画像生成方法であって、
前記生成部が、仮想空間内に配置されるキャラクターの頭部を、当該仮想空間内に配置される視点から見た画像を表示する生成工程、
前記修正部が、当該キャラクターの頭部に固定された第１方向と、当該キャラクターの頭部から当該視点への第２方向と、がずれている場合、当該キャラクターの頭部に配置されるオブジェクトの位置を、当該視点に近付くように修正して、前記生成工程にて当該画像を生成させる修正工程
を備えることを特徴とする画像生成方法。
【請求項８】
コンピュータを、
仮想空間内に配置されるキャラクターの頭部を、当該仮想空間内に配置される視点から見た画像を生成する生成部、
当該キャラクターの頭部に固定された第１方向と、当該キャラクターの頭部から当該視点への第２方向と、がずれている場合、当該キャラクターの頭部に配置されるオブジェクトの位置を、当該視点に近付くように修正して、前記生成部に当該画像を生成させる修正部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間に配置されたキャラクターの頭部の画像をマンガやアニメーションで広く用いられている描法で生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、コンピュータグラフィックス（Computer Graphics；ＣＧ）において人物や動物などのキャラクターを表現する際に、その骨格をボーンという線分オブジェクトで抽象化し、各ボーンの回りにボーンに対して位置が固定される点の位置によって、皮膚の形状を抽象化したスキンの形状を求めて、頭部の形状を表す技術が提案されている。すなわち、ボーンは、キャラクターのおおまかな姿勢や形状を決めるものであり、スキンは、キャラクターの表面形状・外観形状に相当するものである。
【０００３】
このような技術は、以下の文献に開示されている。
【非特許文献１】Tim Coleman，Sherri Sheridan著、デジタル・スタジオ飜訳、目指せプロアニメータ Mayaキャラクタアニメーション、２５５頁〜２７７頁、株式会社ボーンデジタル、２００２年４月２５日発行
【０００４】
[非特許文献１]では、キャラクターの頭部に配置された目、鼻、口などのオブジェクトの形状を変化させて、キャラクターの表情を変化させる技術が開示されている。
【０００５】
一方で、特に日本のマンガやアニメーションにおけるキャラクターの描法には、独特の特徴がある。すなわち、キャラクターを斜め横から見たときの口や鼻等の位置が、仮に当該キャラクターを３次元的に構成して写真を撮影したとしたときに得られる口や鼻等の位置からずれているのである。
【０００６】
たとえばキャラクターの髪の毛が立っている場合や、キャラクターに角が生えている場合に、当該キャラクターの頭部部を目立たせるように、立っている髪の毛や角が重ならないように描くのも、このような描法の一つである。
【０００７】
これは、人物や動物を絵画として表現する際に、写真とは異なる描法を用いて、人物や動物のキャラクターを極立たせたり、観者の目を惹いて、キャラクターの頭部をより魅力的に見せたりするための絵画技術であり、たとえば浮世絵においても適用されている伝統的な手法でもある。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、仮想空間に配置されたオブジェクトとしてモデル化されたキャラクターを、ＣＧ技術で画面に表示する際には、写真を撮影するような透視投影のみによるのではなく、上記のような、マンガやアニメーションで用いられる独特の描法にも対応できるようにしたい、との要望は大きい。
【０００９】
本発明は、上記のような課題を解決するもので、仮想空間に配置されたキャラクターの頭部の画像をマンガやアニメーションで広く用いられている描法で生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【００１１】
本発明の第１の観点に係る画像生成装置は、生成部、修正部を備え、以下のように構成する。
【００１２】
ここで、生成部は、仮想空間内に配置されるキャラクターの頭部（キャラクターの「顔」を含む。）を、当該仮想空間内に配置される視点から見た画像を生成する。
【００１３】
キャラクターの頭部は、一般には、ボーンと制御点とスキンの組合せや、各種ポリゴンにより構成される多面体といった、平面形状・曲面形状・立体形状を表すオブジェクトによって形成される。そして、キャラクターの頭部のオブジェクトの表面には、鼻、口、目、耳、髪の毛などのオブジェクトが配置されている。
【００１４】
画像生成部は、透視投影や平行投影など、各種の３次元ＣＧ技術によって、視点から見た仮想空間の様子を示す画像を生成するのである。
【００１５】
一方、修正部は、当該キャラクターの頭部に固定された第１方向と、当該キャラクターの頭部から当該視点への第２方向と、がずれている場合、当該キャラクターの頭部に配置されるオブジェクトの位置を、当該視点に近付くように修正して、生成部に当該画像を生成させる。
【００１６】
修正部は、生成部による画像の生成に先立って、鼻、口、目、耳、髪の毛などのオブジェクトの位置を修正するものである。
【００１７】
キャラクターの頭部に固定された第１方向は、典型的にはキャラクターが正面を向くときの正面方向であり、キャラクターの頭部から視点へ向かう第２方向が第１方向と一致する場合は、キャラクターの頭部に真正面から相対する場合である。したがって、このような場合には、鼻や口などのオブジェクトは、基準位置に配置されたままとする。
【００１８】
一方、第２方向と第１方向がずれた場合、たとえば、キャラクターを起点として、第１方向から左側に第２方向が設定された場合は、キャラクターの頭部の左半分がより多く画像に表示されることとなる。
【００１９】
このような場合、マンガやアニメーションの表現では、口や鼻を、キャラクターを起点として左側に移動させたような、描法を用いることがある。
【００２０】
本発明では、オブジェクトの位置を視点に近付くように修正することによって、このような描法と同様の効果を得るのである。
【００２１】
本発明によれば、仮想空間に配置されたキャラクターの頭部の画像を、マンガやアニメーションで広く用いられている描法で、簡易に生成することができる。
【００２２】
また、本発明の画像生成装置において、修正部は、当該キャラクターの頭部に固定された回転軸の周りで、当該オブジェクトの位置を回転して、当該オブジェクトの位置を修正するように構成することができる。
【００２３】
鼻や口のオブジェクトを回転させる回転軸は、キャラクターの背骨や首の中心と頭部頂を結ぶ直線を採用するのが典型的である。当該直線を回転軸に鼻や口のオブジェクトを回転させると、鼻や口のオブジェクトがキャラクターの頭部の表面を左や右に移動することとなる。
【００２４】
本発明によれば、仮想空間に配置されたキャラクターの頭部の画像を生成する際に、オブジェクトの移動後の位置を容易に求めることができるようになる。
【００２５】
また、本発明の画像生成装置において、修正部は、当該回転軸と当該第１方向とが張る平面から、当該回転軸と当該第２方向とが張る平面への、当該回転軸の周りの回転角を取得し、当該取得された回転角に０より大きく１より小さい比例定数を乗じた回転量だけ、当該オブジェクトの位置を回転して、当該オブジェクトの位置を修正するように構成することができる。
【００２６】
本発明では、キャラクターの正面からどれだけ左右に視点がずれているかを調べ、その左右のずれを補間するような回転量だけ、オブジェクトを回転させて、鼻や口などのオブジェクトを移動させる。
【００２７】
このような回転量を得るには、第１方向の方向ベクトルと第２方向の方向ベクトルの外積の回転軸方向の成分を求め、当該回転軸方向の成分のベクトルに当該比例定数を乗じたものを、当該オブジェクトの回転ベクトルとして採用すれば良い。
【００２８】
本発明によれば、仮想空間に配置されたキャラクターの頭部の画像を生成する際に、オブジェクトの移動後の位置を容易に求めることができるようになる。
【００２９】
また、本発明の画像生成装置において、修正部は、当該第１方向と、当該第２方向と、のずれの量にあらかじめ対応付けられた量だけ、当該オブジェクトの位置を修正するように構成することができる。
【００３０】
すなわちキャラクターの頭部を中心とする球面を想定し、その球面を区画分けして、各区画ごとに、オブジェクトの位置の修正量を定めておく。そして、キャラクターの頭部から視点への半直線が交叉する当該球面の区画を調べ、当該区画に対応付けられた修正量により、オブジェクトの位置を修正するのである。
【００３１】
本発明によれば、仮想空間に配置されたキャラクターの頭部の画像を生成する際に、オブジェクトの移動後の位置を容易に求めることができるようになる。
【００３２】
また、本発明の画像生成装置において、修正部は、当該第１方向と、当該第２方向と、のずれが、所定の閾値以下である場合、当該オブジェクトの位置を修正するように構成することができる。
【００３３】
本発明は、オブジェクトの位置を修正するような視点の方向に制限を設けるものである。たとえば、視点がキャラクターの背面に存在する場合には、顔面に配置された目や口を移動させても無意味である。一方で、髪の毛や角等の、背面からも見えるオブジェクトについては、オブジェクトの移動の処理を行うことができる。
【００３４】
本発明によれば、仮想空間に配置されたキャラクターの頭部の画像を生成する際に、位置を修正するオブジェクトを適切に選択して、計算処理を抑制することができるようになる。
【００３５】
また、本発明の画像生成装置において、当該オブジェクトは、当該キャラクターの鼻もしくは口を表現するオブジェクトであるように構成することができる。
【００３６】
本発明は、上記発明の好適実施形態に係るものである。マンガやアニメーションの表現において、キャラクターを斜め左や斜め右から見た様子を描く場合に、３次元モデルを写真撮影した場合と大きく位置が異なるのは、鼻および口である。そこで、本発明では、これらについて、位置の修正を行う。
【００３７】
本発明によれば、仮想空間に配置されたキャラクターの頭部の画像を、マンガやアニメーションで広く用いられている描法に合わせて、鼻や口の位置を移動させて、簡易に生成することができる。
【００３８】
本発明のその他の観点に係る画像生成方法は、生成部と、修正部と、を備える画像生成装置にて実行され、以下のように構成する。
【００３９】
すなわち、生成工程では、生成部が、仮想空間内に配置されるキャラクターの頭部を、当該仮想空間内に配置される視点から見た画像を表示する。
【００４０】
一方、修正工程では、生成工程に先立って、修正部が、当該キャラクターの頭部に固定された第１方向と、当該キャラクターの頭部から当該視点への第２方向と、がずれている場合、当該キャラクターの頭部に配置されるオブジェクトの位置を、当該視点に近付くように修正して、生成工程にて当該画像を生成させる。
【００４１】
本発明のその他の観点に係るプログラムは、コンピュータを上記の画像生成装置として機能させ、コンピュータに上記の画像生成方法を実行させるように構成する。
【００４２】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【００４３】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００４４】
本発明によれば、仮想空間に配置されたキャラクターの頭部の画像をマンガやアニメーションで広く用いられている描法で生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００４５】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００４６】
図１は、プログラムを実行することにより、本発明の画像生成装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００４７】
情報処理装置１００は、ＣＰＵ（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）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００６２】
さらに、情報処理装置１００には、インターフェイス１０４を介してマイク１１１を接続することができる。この場合、マイク１１１からのアナログ信号に対しては、適当なサンプリング周波数でＡ／Ｄ変換を行い、ＰＣＭ形式のディジタル信号として、音声処理部１１０でのミキシング等の処理ができるようにする。
【００６３】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００６４】
以上で説明した情報処理装置１００は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【００６５】
たとえば、一般的なコンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣを備え、情報処理装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ１０５ではなく、キーボードやマウスなどを入力装置として利用する。
【００６６】
図２は、仮想空間内におけるキャラクターの顔のモデルを表す説明図である。以下、本図を参照して説明する。
【００６７】
キャラクターの顔２０１のモデルは、首２５２から頭頂２５１へ向かうボーン２０２と、目２５３、鼻２５４、口２５５など、顔の表面に配置されるオブジェクトの制御点２０３（図中では黒丸で表現されている。）と、を有する。
【００６８】
目２５３、鼻２５４、口２５５のそれぞれには、複数の制御点２０３が割り当てられている。これらの制御点２０３によって、スキン形状やキャラクターの顔２０１の表面に描かれる線画の線の形状が定められる。
【００６９】
仮想空間内におけるボーン２０２の姿勢は、キャラクターの顔２０１がどちらを向いているかを表す方向２０４（以下、「第１方向」という。）、と１対１に対応付けられる。理解を容易にするため、以下では、第１方向２０４として、キャラクターの顔２０１の中心点２０５を起点とするキャラクターの正面方向を採用することとする。第１方向２０４は、第１方向の方向ベクトルdによって、特定することができる。
【００７０】
そして、オブジェクトの制御点２０３の座標から、キャラクターの顔２０１の立体的な形状を表すスキンの形状が求められる。
【００７１】
このようにして得られたスキン形状は、一般には多角形（や曲面）の集合体であり、これらを仮想空間内に配置された視点２０６から見た様子を、透視投影や平行投影によって３次元グラフィックス技術に画像を生成し、これをディスプレイなどの表示装置に表示する。
【００７２】
以下、キャラクターの顔２０１に対する視点２０６の方向を示すため、キャラクターの顔２０１の中心点２０５から視点２０６への方向を第２方向２０７と呼ぶこととする。第２方向２０７は、第２方向の方向ベクトルsによって、特定することができる。
【００７３】
方向ベクトルdと方向ベクトルsは、単位ベクトルであり、|d| = |s| = 1である。
【００７４】
理解を容易にするため、キャラクターの顔２０１の中心点２０５に対する制御点２０３の位置ベクトルをrとする。本図では、唇の左端の制御点２０３について、位置ベクトルrを図示している。
【００７５】
以下の説明では、キャラクターの顔２０１に配置されるオブジェクトのうち、特に口２５５に注目して説明するが、目２５３、鼻２５４や図示しない髪の毛の形状など、各種のオブジェクトについて、同様の技術を適用することができ、そのような実施形態も本発明の範囲に含まれる。
【００７６】
従来、オブジェクトの制御点２０３は、ボーン２０２に対する相対的な基本位置は固定されていた。すなわち、キャラクターの顔の表情が一定のまま、ボーン２０２が仮想空間内で位置や姿勢を変化させても、それに連動して制御点２０３の基本位置が変化されており、キャラクターの顔の形状を表すスキン形状そのものには、変化がなかった。
【００７７】
また、オブジェクトの制御点２０３に対するボーン２０２に対する相対的な位置をその基本位置から変化させるのは、[非特許文献１]に示されるようにキャラクターの顔の目・鼻・口などの形状を変化させて、キャラクターの表情の変化をさせる場合のみであった。
【００７８】
したがって、仮想空間内に配置されたある一定の表情をしたキャラクターの顔２０１を、視点２０６から見た画像を生成する際には、オブジェクトの制御点２０３のボーンに対する相対的な位置は変化しないため、キャラクターの顔のスキン形状も一定であった。
【００７９】
図３、図４、図５は、従来技術において、さまざまな表情のキャラクターの顔２０１を、その正面に配置された視点２０６から見た様子を示す説明図である。図３は、通常の表情であり、図４は、笑っている表情であり、図５は、叫んでいる表情である。
【００８０】
これらの例では、第１方向２０４と第２方向２０７が一致している。すなわち、d = sである。
【００８１】
上記のように、キャラクターの顔２０１の表情を変化させるには、ボーン２０２に対する制御点２０３の位置を変化させるが、従来の技術では、一旦表情が決まってしまえば、視点２０６の位置を変化させても、ボーン２０２に対する制御点２０３の相対的位置は固定されたままである。
【００８２】
図６、図７、図８は、従来技術において、キャラクターの顔２０１を、キャラクターから見て右側に配置された視点２０６から見た様子を示す説明図である。それぞれ、図３、図４、図５の表情に対応するキャラクターの顔２０１を異なる視点２０６から見た様子に対応する。
【００８３】
これらの例では、第１方向２０４と第２方向２０７が一致しておらず、ずれがある。すなわち、d ≠ sである。ベクトルの外積d×sを考えると、外積d×sの向きは下向き（キャラクターの顔２０１の頭頂２５１から首２５２へ向かう向き）であり、２つのベクトルdとsがなす角（視点２０６の正面方向からのずれに相当する。）をθとすると、θ = arcsin(|d×s|)である。
【００８４】
さて、図６、図７、図８にあらわれたキャラクターの顔２０１の表情を見ると、日本のマンガやアニメーションを見慣れた観者にとっては、口の位置がキャラクターの顔の中心から左にずれているような印象を受けてしまう。特に、図７に示す例において、これが顕著である。
【００８５】
このような印象を観者が受ける理由であるが、日本のマンガやアニメーションの一般的な描法では、二次元の絵としての配置バランスを考慮して、キャラクターの顔の向きによって口や鼻などの位置を微調整することが伝統的な技法となっているからである。
【００８６】
本発明では、このように、第１方向２０４と第２方向２０７がずれている場合に、日本のマンガやアニメーションの一般的な描法に合わせて、口や鼻などの位置を微調整する。
【００８７】
理解を容易にするため、本発明の実施形態について詳細に説明する前に、生成された結果の画像について説明する。図９、図１０、図１１は、本発明の技術において、さまざまな表情のキャラクターの顔２０１を、その正面に配置された視点２０６から見た様子を示す説明図である。図９は、通常の表情であり、図１０は、笑っている表情であり、図１１は、叫んでいる表情である。
【００８８】
また、図１２は、図８と図１１に示されるキャラクターの顔２０１の画像を重ねて表示した説明図である。
【００８９】
図９〜図１１と図６〜図８を比較すればわかる通り、本発明の技術において生成された画像では、キャラクターの鼻と口は、若干左側に移動している。これは、図１２に示されている図において、顔の輪郭や目はぶれていないのに対して、鼻および口はぶれて二重に表示されていることからもわかる。
【００９０】
本技術において、このように口や鼻の位置を移動させるのは、視点２０６がキャラクターの顔２０１から見て右側にずれているからである。視点２０６がキャラクターの顔２０１から見て左側にずれていれば、日本のマンガやアニメーションにおける描法に基づく画像では、キャラクターの口は、若干右側に移動することとなる。すなわち、キャラクターの口を視点２０６に近付けるように、移動しているのである。
【００９１】
本発明の原理に基づき、以下に説明する実施形態では、第１方向２０４と第２方向２０７がずれている場合、キャラクターの顔２０１の口２５５の制御点２０３を、キャラクターの顔２０１のボーン２０２を回転軸に、視点２０６に若干近付くように移動させる。以下、詳細に説明する。
【００９２】
図１３は、本発明の実施形態に係る画像生成装置の概要構成を示す説明図である。以下、本図を参照して説明する。
【００９３】
画像生成装置５０１は、典型的には上記の情報処理装置１００上にてソフトウェアを動作させることによって実現され、記憶部５０２、修正部５０３、生成部５０４を備える。
【００９４】
記憶部５０２は、上記のキャラクターの顔２０１のモデルの種々の情報を記憶する。具体的には、以下のような情報を記憶する。
・仮想空間におけるボーン２０２の位置および姿勢の情報。仮想空間内でのグローバル座標系に基づいてこれらの情報を管理することとしても良いし、ボーン２０２が連結されるキャラクターの首のボーン２１１や背骨等のボーンに依存する形式でこれらの情報が管理されることとしても良い。これらの情報には、キャラクタの顔２０１の中心点２０５（典型的には、キャラクタの顔２０１の中心軸を構成するボーン２０２に固定されている。）の座標の情報や、ボーンの姿勢を特徴付ける第１方向２０４の方向ベクトルdの情報、もしくは、これらの情報を計算により一意に導出できるような情報も含まれる。
・ボーン２０２に固定された座標系における口２５５（前述の通り、目２５３や鼻２５４等についても同様に適用が可能であるが、理解を容易にするため、以下の説明では、口２５５についてのみ、例としてあげて説明する。）の制御点２０３の基準位置の情報。上記のように、キャラクターの各表情ごとに、制御点２０３の基準位置は異なるものとなる。また、キャラクターの顔２０１の正面に視点２０６がある場合には、この基準位置の情報そのものを利用して、画像を生成する。
・視点２０６の位置の情報。仮想空間内でのグローバル座標系に基づいて情報を管理するのが一般的であるが、たとえばキャラクターが連れて歩くペットやマスコットから見た様子を画面に表示したい場合には、ボーン２０２に固定された座標系における位置や、ボーン２０２が連結されるキャラクターのボーン２０２が連結されるキャラクターの首のボーン２１１や背骨等のボーンに固定された座標系における位置などを採用しても良い。
【００９５】
画像生成装置５０１を、ゲーム装置の実現に利用する場合、これらの情報は、ユーザからのコントローラ１０５を介した指示入力や、物理法則をシミュレートするＣＰＵ  １０１の計算処理によって、適宜更新される。
【００９６】
このほか、記憶部５０２には、処理を開始してから画像が生成までの間に、一時的に以下の情報を保持するための領域が確保されている。
・口２５５の制御点２０３の、画像生成用の位置座標の情報。これは、制御点２０３の位置の修正の手法は、後述するように、種々の技術を考えることができるので、どの座標系を基準に位置を記憶するか、は、修正の手法によって適宜選択することが可能である。
【００９７】
したがって、ＲＡＭ  １０３や外部メモリ１０６、ハードディスク等の外部記憶装置は、ＣＰＵ  １０１の制御の下、記憶部５０２として機能する。
【００９８】
図１４は、画像生成装置５０１で実行される画像生成処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【００９９】
処理が開始されると、まず、修正部５０３は、所定の座標系で、第２方向２０７の方向ベクトルsを計算する（ステップＳ６０１）。具体的には、記憶部５０２に記憶される情報を元に、当該座標系における視点２０６の位置座標を求め、これから、当該座標系における中心点２０５の位置座標を減算して得られるベクトルに、そのベクトルの長さの逆数を乗じれば、同じ方向・向きの単位ベクトルを得ることができる。このようにして得られる単位ベクトルが、方向ベクトルsである。
【０１００】
記憶部５０２に記憶される情報から、所定の座標系における位置座標を求める際には、公知の座標変換の技術を適用することができる。
【０１０１】
次に、第１方向２０４の方向ベクトルdを取得する（ステップＳ６０２）。ボーン２０２の姿勢から、方向ベクトルdは一意に計算することができる。
【０１０２】
方向ベクトルdと、方向ベクトルsとを対比し、これらにずれがあるか否かを判定する（ステップＳ６０３）。ずれがない場合（ステップＳ６０３；Ｎｏ）、制御点２０３のそれぞれの基準位置の情報を、記憶部５０２内の画像生成用の位置座標の情報格納領域にコピーする（ステップＳ６０４）。
【０１０３】
なお、ステップＳ６０３において、方向ベクトルdと方向ベクトルsとのずれが、所定の閾値より大きい場合にも、ステップＳ６０３に進むこととしても良い。たとえば、キャラクターを背後の視点２０６から見た場合などには、口２５５は画像には現われないので、修正を行う必要がないからである。
【０１０４】
そして、生成部５０４は、記憶部５０２の画像生成用の位置座標の情報格納領域に記憶された制御点の位置座標の情報、その他の種々の情報に基づいて、３次元グラフィックス画像を生成して（ステップＳ６０５）、本処理を終了する。
【０１０５】
３次元グラフィックス画像の生成には、[非特許文献１]に開示されるようなキャラクターのスキン形状を求めてキャラクターの外観をポリゴンや曲面によって形成する各種の技術、視点２０６から見た様子の画像を生成する透視投影や、平行投影（これは、「視点２０６を方向ベクトルsに沿って無限遠点に移動した透視変換」に相当する。）等の技術を採用することができる。
【０１０６】
したがって、ＣＰＵ  １０１は、ＲＡＭ  １０３等や、画像処理部１０７と共働して、生成部５０４として機能する。
【０１０７】
一方、方向ベクトルdと方向ベクトルsとにずれがある場合（ステップＳ６０３；Ｙｅｓ）、修正部５０３は、口２５５の制御点２０３の位置座標を、視点２０６に近付くように修正して（ステップＳ６０６）、修正結果を、記憶部５０２内の画像生成用の位置座標の情報格納領域にコピーして書き込み（ステップＳ６０７）、ステップＳ６０４に進む。図２に示す例においては、位置座標の修正の対象となる制御点は、口２５５の制御点２０３の４つ（および、鼻２５４の制御点２０３の３つ）である。
【０１０８】
したがって、ＣＰＵ  １０１は、ＲＡＭ  １０３等と共働して、修正部５０３として機能する。
【０１０９】
さて、以下では、１つの制御点２０３の位置座標の修正を行う技術について、種々説明する。なお、所定の座標系における制御点２０３の基準位置を表す位置ベクトルをrとし、制御点２０３の修正後位置２１３の位置ベクトルをr'としたときに、以下のように修正を行う。図２では、口２５５の左端の制御点２０３を処理対象となる制御点２０３の位置として示している。
【０１１０】
第１の手法は、制御点２０３を微小に制御点に近付けてしまう手法である。方向ベクトルdと方向ベクトルsのずれのスカラー量を計算する関数をf(d,s)としたとき、以下のように修正を行う。
r' = r + f(d,s) s
【０１１１】
図１５は、本手法により、制御点２０３の位置ベクトルrを視点に近付けてr'に修正する様子をキャラクターの顔２０１をその頭部上方から見た説明図である。以下、本図を参照して説明する。
【０１１２】
方向ベクトルsは、キャラクターの顔２０１の中心点２０５から視点２０６に向かう単位ベクトルであるから、制御点２０３の修正後の位置２１３の位置ベクトルr'は、制御点２０３の元の位置の位置ベクトルrに比べて、長さf(d,s)だけ視点２０６に近付いたことになる。
【０１１３】
本図に示す例では、キャラクターの顔２０１の中心点２０５から見て視点２０６が右側に存在するから、制御点２０３の修正後の位置２１３も、中心点２０５から見て視点２０６が存在する右側に移動することになる。
【０１１４】
なお、本図では、キャラクターの口２５５の左端の制御点２０３を修正する様子を示しており、理解を容易にするため、f(d,s) sの大きさを大きく描いているが、実際には、ごく微小な大きさで十分な効果が得られる。
【０１１５】
また、上記の表示例では、鼻２５４の制御点２０３も移動することとしているが、本図（および以降に示す図）に示す例では、理解を容易にするため、口２５５の制御点の左端の制御点２０３のみを修正する様子を示している。
【０１１６】
f(d,s)についても、種々の態様が考えられるが、方向ベクトルdと方向ベクトルsのずれが大きくなればなるほど、増加するような関数とすることが望ましい。たとえば、kを正の定数として、
f(d,s) = k |d-s|；
f(d,s) = k |d-s|2；
f(d,s) = k |d×s|；
f(d,s) = k |d×s|2；
f(d,s) = k arcsin(|d×s|)
f(d,s) = k arccos(|d・s|)
などの関数を採用する手法が考えられる。また、上記の各関数の右辺に、階段状の関数をさらに適用することとしても良い。このようにして、dとsのずれに対して、修正量を対応付けるのである。
【０１１７】
第２の手法は、キャラクターの顔２０１に固定された単位ベクトルである軸ベクトルc  (|c| = 1)を考え、この軸ベクトルcの周りに、位置ベクトルrを回転させる手法である。軸ベクトルcも、図２に示してある。
【０１１８】
図１６は、本手法により、制御点２０３の位置ベクトルrを視点に近付けてr'に修正する様子をキャラクターの顔２０１をその頭部上方から見た説明図である。以下、本図を参照して説明する。
【０１１９】
軸ベクトルcは、典型的には、ボーン２０２の方向と一致しており、首２５２から頭頂２５１に向かう方向である。この場合、視点２０６がキャラクターの正面から左右にずれ、さらに上下にもずれている場合であっても、口２５５は左右に修正されるのみであり、上下には修正されない。
【０１２０】
ある回転軸の周りで、与えられた位置座標を与えられた角度だけ回転させ、回転後の位置座標を求める手法も、種々の公知の座標変換の技術が存在し、いずれを採用することも可能である。以下、典型的な例を説明する。
【０１２１】
まず、視点２０６が、軸ベクトルcの周りの回転で、どれだけの角度回転しているかを求める。この回転角をθとする。方向ベクトルdと方向ベクトルsの外積d×sは、方向ベクトルdから方向ベクトルsへの回転を表すから、d×sのc方向の成分が、軸ベクトルcの周りの回転に相当する。すなわち、
(d×s)・c = |d×s| cosθ；
θ = arccos(|d×s|/((d×s)・c))
により、θを求めることができる。
【０１２２】
次に、位置ベクトルrを、軸ベクトルcの周りで、角度ψ = g(d,s)だけ回転して、修正後の位置ベクトルr'を求める。したがって、位置ベクトルrと位置ベクトルr'は、中心点２０５を中心とする円の円周２１４（本図では点線で示してある。）上に配置されることになる。
【０１２３】
上記のθを用いた場合は、定数h (0<h<1)を用いて、
ψ = g(d,s) = hθ = h arccos(|d×s|/((d×s)・c))
とする。
【０１２４】
本図に示す例では、キャラクターの顔２０１の中心点２０５から見て視点２０６が右側に存在するから、制御点２０３の修正後の位置２１３も、中心点２０５から見て視点２０６が存在する右側に移動することになる。
【０１２５】
一般には、g(d,s)は、dとsのずれが大きくなればなるほど大きくなる関数であり、0≦g(d,s)≦θを満たすものであれば、任意の関数を採用することができる。したがって、定数kの値を適切に選択することにより、
g(d,s) = f(d,s)；
g(d,s) = h f(d,s)
等とすることも可能である。このようにして、dとsのずれに対して、修正量を対応付けるのである。
【０１２６】
位置ベクトルrを軸ベクトルc = (cx，cy，cz)の周りで角度ψだけ回転させた結果r'を求めるには、クォータニオンを利用したり、回転行列を利用することが可能である。以下では、クォータニオンを用いる手法について説明するが、ボーン２０２に固定された座標系を用いる場合には、軸ベクトルcをいずれかの座標軸と一致させることで、簡単に回転演算を行うこともできる。
【０１２７】
さて、この回転を表すクォータニオンQは、
Q = (cxsin(ψ/2)，cysin(ψ/2)，czsin(ψ/2)，cos(ψ/2))
と表現することができる。
【０１２８】
また、位置ベクトルc = (rx，ry，rz)に対するクォータニオンRは、
R = (rx，ry，rz，0)
と表現することができる。
【０１２９】
すると、クォータニオンQによって、クォータニオンRを回転させる演算は、位置ベクトルr'に対するクォータニオンをR'としたとき、
R' = Q R Q*
と表現できる。ここで・*はクォータニオンの共役である。
R' = (rx'，ry'，rz'，rw')
であれば、
r' = (rx'，ry'，rz')
である。
【０１３０】
このほか、ベクトルrをベクトルd×sの周りに、上記の角度ψだけ回転させてベクトルr'を得る手法を採用することもできる。この場合は、視点２０６の位置によっては、口２５５の修正後の位置も上下する。
【０１３１】
また、ベクトルd，sの方向のずれの範囲と、そのときのベクトルcとの位置関係の組合せに対応付けて、修正量と修正方向をあらかじめ表形式で用意しておき、これらの表形式のデータを参照することによって、rからr'を求めることとしても良い。
【０１３２】
図１７、図１８、図１９は、本発明の技術において、さまざまな表情のキャラクターの顔２０１を、キャラクターから見て右側に視点２０６をずらすことによって、口２５５と鼻２５４の位置を修正した後、これをキャラクターの正面から見た様子を示す説明図である。それぞれ、図９〜図１１の例に対応している。
【０１３３】
これらの図を見てもわかる通り、口２５５と鼻２５４の形状を定める制御点２０３の位置が視点２０６に近付くように修正されることによって、口２５５と鼻２５４の位置が画像の左側に寄ることとなっている。
【０１３４】
特に、口２５５の位置の修正では、制御点２０３のすべてを左側に寄せているが、鼻２５４の位置の修正では、制御点２０３の一部（鼻２５４の下端の制御点）を左側に寄せている。このように、位置の修正を行う制御点２０３を、一部に限定することも可能である。
【０１３５】
このような、視点２０６の位置の変化によるオブジェクトの位置の移動修正は、現実には発生しないが、当該修正を行うことによって、視点２０６から見たときの画像におけるオブジェクトの位置は、マンガやアニメーションにおける描法に極めて類似したものとなる。
【０１３６】
したがって、本発明により、キャラクターの立体モデルと３次元グラフィックスによってキャラクターの顔の画像を生成する場合に、マンガやアニメーションの描法に親しんでいる観者に、当該描法に沿った、「バランスの良い自然な顔」の画像を提供することができるようになるのである。
【産業上の利用可能性】
【０１３７】
以上説明したように、本発明によれば、仮想空間に配置されたキャラクターの頭部の画像をマンガやアニメーションで広く用いられている描法で生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【０１３８】
【図１】プログラムを実行することにより、本発明の画像生成装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。
【図２】仮想空間内におけるキャラクターの顔のモデルを表す説明図である。
【図３】従来技術において、キャラクターの顔を、キャラクターの正面に配置された視点から見た様子を示す説明図である。
【図４】従来技術において、キャラクターの顔を、キャラクターの正面に配置された視点から見た様子を示す説明図である。
【図５】従来技術において、キャラクターの顔を、キャラクターの正面に配置された視点から見た様子を示す説明図である。
【図６】従来技術において、キャラクターの顔を、キャラクターから見て右側に配置された視点から見た様子を示す説明図である。
【図７】従来技術において、キャラクターの顔を、キャラクターから見て右側に配置された視点から見た様子を示す説明図である。
【図８】従来技術において、キャラクターの顔を、キャラクターから見て右側に配置された視点から見た様子を示す説明図である。
【図９】本実施形態において、キャラクターの顔を、キャラクターから見て右側に配置された視点から見た様子を示す説明図である。
【図１０】本実施形態において、キャラクターの顔を、キャラクターから見て右側に配置された視点から見た様子を示す説明図である。
【図１１】本実施形態において、キャラクターの顔を、キャラクターから見て右側に配置された視点から見た様子を示す説明図である。
【図１２】従来技術のキャラクターの顔の画像と本実施形態のキャラクターの顔の画像とを重ねて表示する説明図である。
【図１３】本実施形態に係る画像生成装置の概要構成を示す説明図である。
【図１４】画像生成装置にて実行される計算処理の制御の流れを示す説明図である。
【図１５】制御点の位置ベクトルrを視点に近付けてr'に修正する様子をキャラクターの頭部上方から見た説明図である。
【図１６】制御点の位置ベクトルrを視点に近付けてr'に修正する様子をキャラクターの頭部上方から見た説明図である。
【図１７】本実施形態において、キャラクターの顔を、キャラクターから見て右側に配置された視点から見ることとして口と鼻の位置が修正された後の様子を、キャラクターの正面から見た様子を示す説明図である。
【図１８】本実施形態において、キャラクターの顔を、キャラクターから見て右側に配置された視点から見ることとして口と鼻の位置が修正された後の様子を、キャラクターの正面から見た様子を示す説明図である。
【図１９】本実施形態において、キャラクターの顔を、キャラクターから見て右側に配置された視点から見ることとして口と鼻の位置が修正された後の様子を、キャラクターの正面から見た様子を示す説明図である。
【符号の説明】
【０１３９】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェイス
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
１１１  マイク
２０１  キャラクターの顔
２０２  顔のボーン
２０３  制御点
２０４  第１方向（キャラクターの正面方向）
２０５  中心点
２０６  視点
２０７  第２方向（キャラクターから視線へ向かう方向）
２１１  首のボーン
２１３  制御点の修正後の位置
２１４  中心点を中心とする円周
２５１  頭頂
２５２  首
２５３  目
２５４  鼻
２５５  口
５０１  画像生成装置
５０２  記憶部
５０３  修正部
５０４  生成部
【図１】
2007156773.tif 000003
【図２】
2007156773.tif 000004
【図３】
2007156773.tif 000005
【図４】
2007156773.tif 000006
【図５】
2007156773.tif 000007
【図６】
2007156773.tif 000008
【図７】
2007156773.tif 000009
【図８】
2007156773.tif 000010
【図９】
2007156773.tif 000011
【図１０】
2007156773.tif 000012
【図１１】
2007156773.tif 000013
【図１２】
2007156773.tif 000014
【図１３】
2007156773.tif 000015
【図１４】
2007156773.tif 000016
【図１５】
2007156773.tif 000017
【図１６】
2007156773.tif 000018
【図１７】
2007156773.tif 000019
【図１８】
2007156773.tif 000020
【図１９】
2007156773.tif 000021