(57)【要約】【課題】キーフレームを逐一指定することなく、抽象的な指示に基づいて顔の自然な表情を生成する。【解決手段】無意識表情アニメーションパラメータ保持部３１１は定常状態において無意識に表れる顔の表情を定義する無意識表情アニメーションパラメータを保持する。意識表情アニメーションパラメータ保持部３１２は定常状態に加えて意識的に表される顔の表情を定義する意識表情アニメーションパラメータを保持する。これらパラメータはアプリケーションからの指示によって更新される。アニメーション混合部３２２は無意識表情アニメーションパラメータおよび意識表情アニメーションパラメータを混合して、顔モデルデータを生成する。この顔モデルデータに基づいて描画部３４２が顔の表示を描画する。【選択図】図４
2007156650.tif 000002
【特許請求の範囲】
【請求項１】
定常状態において無意識に表れる顔の表情を定義するパラメータを無意識パラメータとして保持する無意識パラメータ保持手段と、
前記定常状態に加えて意識的に表される顔の表情を定義するパラメータを意識パラメータとして保持する意識パラメータ保持手段と、
前記無意識パラメータおよび前記意識パラメータを混合して顔モデルデータを生成する混合手段と、
前記顔モデルデータに基づいて顔の表情を描画する描画手段と
を具備することを特徴とする画像処理装置。
【請求項２】
所定の指示に応答して前記無意識パラメータ保持手段に保持される前記無意識パラメータまたは前記意識パラメータ保持手段に保持される前記意識パラメータを更新するパラメータ更新手段をさらに具備することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記顔モデルデータを保持する顔モデルデータ保持手段をさらに具備し、
前記混合手段は第１の指示に応答して前記顔モデルデータを生成して前記顔モデルデータ保持手段に保持させ、
前記描画手段は第２の指示に応答して前記顔モデルデータ保持手段から前記顔モデルデータを取得して前記描画を行うことを特徴とする請求項１記載の画像処理装置。
【請求項４】
顔の表情を描画するための顔モデルデータを保持する顔モデルデータ保持手段と、
定常状態において無意識に表れる顔の表情を定義するパラメータを無意識パラメータとして保持する無意識パラメータ保持手段と、
前記定常状態に加えて意識的に表される顔の表情を定義するパラメータを意識パラメータとして保持する意識パラメータ保持手段と、
前記無意識パラメータまたは前記意識パラメータの更新を指示するパラメータ更新指示手段と、
前記更新指示に応答して前記無意識パラメータ保持手段に保持される前記無意識パラメータまたは前記意識パラメータ保持手段に保持される前記意識パラメータを更新するパラメータ更新手段と、
前記顔モデルデータの生成を指示する顔モデルデータ生成指示手段と、
前記顔モデルデータの生成指示に応答して前記無意識パラメータおよび前記意識パラメータを混合して前記顔モデルデータを生成して前記顔モデルデータ保持手段に保持させる混合手段と、
顔の表情の描画を指示する描画指示手段と、
前記描画指示に応答して前記顔モデルデータ保持手段に保持された前記顔モデルデータに基づいて顔の表情を描画する描画手段と
を具備することを特徴とする画像処理装置。
【請求項５】
定常状態において無意識に表れる顔の表情を定義するパラメータを無意識パラメータとして保持する無意識パラメータ保持手段と、前記定常状態に加えて意識的に表される顔の表情を定義するパラメータを意識パラメータとして保持する意識パラメータ保持手段とを備える画像処理装置において、
前記無意識パラメータ保持手段から前記無意識パラメータを取得する手順と、
前記意識的に表される顔の表情が有効であれば前記意識パラメータ保持手段から前記意識パラメータを取得して前記無意識パラメータと混合する手順と、
前記意識的に表される顔の表情が有効であれば前記混合された前記意識パラメータおよび前記無意識パラメータから顔モデルデータを生成し、有効でなければ前記無意識パラメータから顔モデルデータを生成する手順と、
前記顔モデルデータに基づいて顔の表情を描画する手順と
を具備することを特徴とする画像処理方法。
【請求項６】
定常状態において無意識に表れる顔の表情を定義するパラメータを無意識パラメータとして保持する無意識パラメータ保持手段と、前記定常状態に加えて意識的に表される顔の表情を定義するパラメータを意識パラメータとして保持する意識パラメータ保持手段とを備える画像処理装置において、
前記無意識パラメータ保持手段から前記無意識パラメータを取得する手順と、
前記意識的に表される顔の表情が有効であれば前記意識パラメータ保持手段から前記意識パラメータを取得して前記無意識パラメータと混合する手順と、
前記意識的に表される顔の表情が有効であれば前記混合された前記意識パラメータおよび前記無意識パラメータから顔モデルデータを生成し、有効でなければ前記無意識パラメータから顔モデルデータを生成する手順と、
前記顔モデルデータに基づいて顔の表情を描画する手順と
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に顔の表情のアニメーションを生成する画像処理装置、および、その処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
コンピュータグラフィックス（ＣＧ：Computer Graphics）の分野において、顔の表情の変化を計算してアニメーションを行う技術は広く一般に用いられており、ゲームや映画の特殊効果などの分野で特に需要が高い。このような技術を、特に「フェーシャルアニメーション」とよぶ。
【０００３】
一般に、アニメーションを実現するにはキーフレーム（key frame）法が用いられる。キーフレーム法は、数フレームおきに物体の形や位置を指定し、その間を補間して動画を作成するアニメーションの技術である。アニメーションの制作をサポートするアプリケーションやライブラリの多くは、ユーザによって指定されたキーフレームを補間処理するような形態をとる。
【０００４】
このようなキーフレームの指定をフェーシャルアニメーションに適用するために、各種の表情を画面上で合成して表示するシステムが提案されている。その一例として、恐怖、怒り、嫌悪といった要素を合成して顔の形状をインタラクティブに表示する技術がある（例えば、特許文献１参照。）。
【特許文献１】特開２００２−１９７４８９号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
キーフレーム法を用いたアニメーションでは、上述したようにユーザがキーフレームを指定する必要がある。しかし、アニメーションは実際に動かしてみないと効果が確認できないため、補助的なツールを用いたとしても、キーフレームを逐一指定することは煩雑な作業となる。また、人間の顔の表情のパターンには生理学的な特徴があるため、それに関する知識が十分でない一般のユーザが自然な表情を白紙の状態から作り上げるのは困難を伴う。
【０００６】
そこで、本発明では、キーフレームを逐一指定することなく、抽象的な指示に基づいて顔の自然な表情を生成することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、定常状態において無意識に表れる顔の表情を定義するパラメータを無意識パラメータとして保持する無意識パラメータ保持手段と、上記定常状態に加えて意識的に表される顔の表情を定義するパラメータを意識パラメータとして保持する意識パラメータ保持手段と、上記無意識パラメータおよび上記意識パラメータを混合して顔モデルデータを生成する混合手段と、上記顔モデルデータに基づいて顔の表情を描画する描画手段とを具備することを特徴とする画像処理装置である。これにより、無意識な顔の表情に対して意識的な顔の表情を混合させて、自然な顔の表情を生成させるという作用をもたらす。
【０００８】
また、この第１の側面において、所定の指示に応答して上記無意識パラメータ保持手段に保持される上記無意識パラメータまたは上記意識パラメータ保持手段に保持される上記意識パラメータを更新するパラメータ更新手段をさらに具備するようにしてもよい。これにより、各パラメータを詳細もしくは抽象的な指示に基づいて更新して顔モデルデータに反映させるという作用をもたらす。
【０００９】
また、この第１の側面において、上記顔モデルデータを保持する顔モデルデータ保持手段をさらに具備し、上記混合手段は第１の指示に応答して上記顔モデルデータを生成して上記顔モデルデータ保持手段に保持させ、上記描画手段は第２の指示に応答して上記顔モデルデータ保持手段から上記顔モデルデータを取得して上記描画を行うようにしてもよい。これにより、顔モデルデータの生成と描画を非同期に行うことを可能とする。
【００１０】
また、本発明の第２の側面は、顔の表情を描画するための顔モデルデータを保持する顔モデルデータ保持手段と、定常状態において無意識に表れる顔の表情を定義するパラメータを無意識パラメータとして保持する無意識パラメータ保持手段と、上記定常状態に加えて意識的に表される顔の表情を定義するパラメータを意識パラメータとして保持する意識パラメータ保持手段と、上記無意識パラメータまたは上記意識パラメータの更新を指示するパラメータ更新指示手段と、上記更新指示に応答して上記無意識パラメータ保持手段に保持される上記無意識パラメータまたは上記意識パラメータ保持手段に保持される上記意識パラメータを更新するパラメータ更新手段と、上記顔モデルデータの生成を指示する顔モデルデータ生成指示手段と、上記顔モデルデータの生成指示に応答して上記無意識パラメータおよび上記意識パラメータを混合して上記顔モデルデータを生成して上記顔モデルデータ保持手段に保持させる混合手段と、顔の表情の描画を指示する描画指示手段と、上記描画指示に応答して上記顔モデルデータ保持手段に保持された上記顔モデルデータに基づいて顔の表情を描画する描画手段とを具備することを特徴とする画像処理装置である。これにより、詳細もしくは抽象的な指示を行うことにより無意識な顔の表情に対して意識的な顔の表情を混合させて、自然な顔の表情を生成させるという作用をもたらす。
【００１１】
また、本発明の第３の側面は、定常状態において無意識に表れる顔の表情を定義するパラメータを無意識パラメータとして保持する無意識パラメータ保持手段と、上記定常状態に加えて意識的に表される顔の表情を定義するパラメータを意識パラメータとして保持する意識パラメータ保持手段とを備える画像処理装置において、上記無意識パラメータ保持手段から上記無意識パラメータを取得する手順と、上記意識的に表される顔の表情が有効であれば上記意識パラメータ保持手段から上記意識パラメータを取得して上記無意識パラメータと混合する手順と、上記意識的に表される顔の表情が有効であれば上記混合された上記意識パラメータおよび上記無意識パラメータから顔モデルデータを生成し、有効でなければ上記無意識パラメータから顔モデルデータを生成する手順と、上記顔モデルデータに基づいて顔の表情を描画する手順とを具備することを特徴とする画像処理方法またはこれら手順をコンピュータに実行させることを特徴とするプログラムである。これにより、無意識な顔の表情に対して意識的な顔の表情を混合させて、自然な顔の表情を生成させるという作用をもたらす。
【発明の効果】
【００１２】
本発明によれば、抽象的な指示に基づいて顔の自然な表情を生成することができるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００１３】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００１４】
図１は、本発明の実施の形態における画像処理装置のハードウェア構成例を示す図である。この画像処理装置は、プロセッサ１１と、ＲＡＭ（Random Access Memory）１２と、ＲＯＭ（Read Only Memory）１３と、操作部１４と、表示部１５と、記録媒体ドライブ１６と、入出力インターフェース１７と、通信部１８とを備え、これらはバス１９によって接続されている。
【００１５】
プロセッサ１１は、画像処理等のためのプログラムを実行する処理装置である。ＲＡＭ１２は、プロセッサ１１におけるプログラム実行に必要な作業データ等を保持するメモリであり、例えばＳＲＡＭ（Static Random Access Memory）やＤＲＡＭ（Dynamic Random Access Memory）等により実現される。ＲＯＭ１３は、プロセッサ１１により実行されるプログラムや定数等を保持するメモリであり、例えば、フラッシュメモリ等のＥＰＲＯＭ（Erasable Programmable Read Only Memory）により実現される。
【００１６】
操作部１４は、ユーザによる操作入力を受け付けるものであり、例えば、キーボードやマウス等により実現される。表示部１５は、画像処理の結果等をＬＣＤ（Liquid Crystal Display）などのディスプレイに表示するものである。なお、これら操作部１４および表示部１５は、タッチパネルとして一体化して構成してもよい。
【００１７】
記録媒体ドライブ１６は、記録媒体を制御する機構であり、例えば、磁気ディスクや半導体メモリ等による可搬型記録媒体２６が装着され、その可搬型記録媒体２６に対する読み書きを行う。入出力インターフェース１７は、外部とのデータのやり取りを行うものであり、例えば、カメラ２７を接続して、撮像された画像を取り込むために用いられる。通信部１８は、有線もしくは無線通信により外部とのデータのやりとりを行うものであり、例えば、ＬＡＮ（Local Area Network）カード等により実現される。
【００１８】
図２は、本発明の実施の形態におけるソフトウェア階層の例を示す図である。ここでは上位階層から、アプリケーション１００、ランタイムＡＰＩ（Application Program Interface）２００、アニメーションライブラリ３００、および、下位プラットフォーム４００の順に役割が定義されているものとする。
【００１９】
アプリケーション１００は、顔の表情のアニメーションを行うアプリケーションプログラムである。アニメーションライブラリ３００は、アニメーションの実行および顔の描画を行うプログラムをライブラリ化したものである。ここで、ライブラリとは、アプリケーションに特定の機能を組み込むためのソフトウェア部品をいう。
【００２０】
ランタイムＡＰＩ２００は、アプリケーション１００からアニメーションライブラリ３００を呼び出すためのインターフェースである。一般に、ＡＰＩの実体は、ライブラリがＣ言語で実装されている場合は関数、Ｃ＋＋やＪａｖａ（登録商標）等の言語の場合はクラス定義である。本発明の他の実施例として単独のアプリケーションや他のソフトウェアの形態も考えられるが、その場合にも基本的な構成に変わりはない。
【００２１】
下位プラットフォーム４００は、基本ソフトウェアとしてのＯＳ（Operating System）やグラフィック環境などである。アニメーションライブラリ３００と下位プラットフォーム４００との間にさらにランタイムＡＰＩ２００とは別の下位レイヤーＡＰＩを設けるようにしてもよい。
【００２２】
図３は、本発明の実施の形態においてアプリケーション１００からランタイムＡＰＩ２００によってアニメーションライブラリ３００を呼び出す仕組みを示す図である。アニメーションライブラリ３００は、アニメーションの構成要素であるアニメーションパラメータを保持するアニメーションパラメータ保持部３１０、および、顔の表情を描画するモデルである顔モデルデータを保持する顔モデルデータ保持部３３０を備える。また、アニメーションライブラリ３００は、アニメーションパラメータを更新し、また、このアニメーションパラメータに基づいて顔モデルデータを更新するアニメーションエンジン３２０と、顔モデルデータに基づいて描画処理を行うレンダリングエンジン３４０とを備えている。
【００２３】
ランタイムＡＰＩ２００としては、アニメーションライブラリ３００を初期化するための関数（initLibrary関数）、顔モデルデータのデータ領域を生成するための関数（create関数）、アニメーションパラメータを更新するための関数（lean関数等）、アニメーションパラメータに基づいて顔モデルデータを更新するための関数（animate関数）、顔モデルデータに基づいて描画を行うための関数（draw関数）、顔モデルデータのデータ領域を解放するための関数（release関数）、および、アニメーションライブラリ３００を終了するための関数（closeLibrary関数）などがある。
【００２４】
アプリケーション１００の処理内容としては、アニメーションライブラリ３００を利用するための初期化処理１１０と、アニメーションパラメータを更新するイベントを管理するイベントハンドラ１２０と、アニメーションの描画を行う描画ルーチン１３０と、アニメーションライブラリ３００を終了する際の処理１４０とを含む。
【００２５】
初期化処理１１０では、アニメーションライブラリ３００の初期化１１１のために、initLibrary関数２１０が用いられる。これにより、アニメーションライブラリ３００では、アプリケーション１００のための初期化が行われる。さらに、初期化処理１１０として、１人分の顔モデルデータのデータ領域生成のためにcreate関数２２０が用いられる。このcreate関数は、個々の顔モデルデータを識別するためのハンドルfaceを戻り値として返す。これらにより、アプリケーション１００からアニメーションライブラリ３００を利用するための準備が整ったことになる。
【００２６】
なお、顔モデルデータのデータ領域は顔モデルデータ保持部３３０に確保される。この顔モデルデータの初期値は、写真や絵などの静止画（もしくは動画の１フレーム）から取得される。この静止画は可搬型記録媒体２６によって供給されたものでもよく、また、カメラ２７によって撮像されたものであってもよい。
【００２７】
イベントハンドラ１２０は、アニメーションパラメータを更新するために必要に応じて関数２３０を呼び出す。これによって、アニメーションライブラリ３００では、アニメーションエンジン３２０がアニメーションパラメータ保持部３１０に保持されるアニメーションパラメータを更新する。
【００２８】
描画ルーチン１３０としては、アニメーション１３１を行うために顔モデルデータを更新するanimate関数２４０が呼び出される。これによって、アニメーションライブラリ３００では、アニメーションエンジン３２０がアニメーションパラメータ保持部３１０に保持されるアニメーションパラメータを読み出して、そのアニメーションパラメータに基づいて顔モデルデータ保持部３３０に保持されている顔モデルデータを更新する。
【００２９】
さらに、描画ルーチン１３０において描画を行うためにdraw関数２５０が呼び出される。これによって、アニメーションライブラリ３００では、レンダリングエンジン３４０が顔モデルデータ保持部３３０から顔モデルデータを読み出して描画を行う。
【００３０】
その後、終了処理１４０として、顔モデルデータのデータ領域解放１４１のためにrelease関数２６０が用いられる。最後に、アニメーションライブラリ３００の終了処理１４２として、closeLibrary関数２７０が用いられる。
【００３１】
本発明の実施の形態では、これらの仕組みにおいて以下の考えに基づいて、顔の表情を意識および無意識に分けて取り扱う。すなわち、人間の表情は、自分で意識していなくても自然に変化する。瞬きや微妙な首の傾き、視線の変化などがそれに相当する。これらは一定の規則性を保ちながらもランダムに発現する。本発明の実施の形態では、ライブラリの内部でこの無意識の表情変化を模擬して表情のアニメーションを行う。これを無意識表情アニメーションとよぶ。この無意識表情アニメーションを行うために、ユーザは明示的に詳細を指定する必要はない。
【００３２】
一方、人間の表情は意識的もしくは感情の変化によって変化する。これを意識表情アニメーションとよぶ。本発明の実施の形態において意識表情アニメーションは抽象度の高いＡＰＩとして実現される。具体的には、ライブラリはキーフレームを用いる代わりに、"話す"、"指定された方向を見る"などといったアニメーションを用意し、ユーザはそれらをカスタマイズした上で組合せて任意の表情を作る。
【００３３】
ライブラリはこれら無意識表情アニメーションおよび意識表情アニメーションを個別に計算し、それらをブレンド（重み付けをした上で加算）することで、ある時点の顔モデル、すなわち動画の１フレーム分のデータを生成する。これを毎フレーム繰り返すことでアニメーションを実現する。
【００３４】
図４は、本発明の実施の形態におけるアニメーションライブラリ３００の機能構成例を示す図である。アニメーションパラメータ保持部３１０は、定常状態において無意識に表れる顔の表情を定義するパラメータ（以下、無意識表情アニメーションパラメータという。）を保持する無意識表情アニメーションパラメータ保持部３１１と、定常状態に加えて意識的に表される顔の表情を定義するパラメータ（以下、意識表情アニメーションパラメータという。）を保持する意識表情アニメーションパラメータ保持部３１２とを備える。無意識表情アニメーションパラメータは無意識表情アニメーションを行うために用いられ、意識表情アニメーションパラメータは意識表情アニメーションを行うために用いられる。
【００３５】
アニメーションエンジン３２０は、パラメータ更新部３２１と、アニメーション混合部３２２とを備えている。パラメータ更新部３２１は、アプリケーション１００のイベントハンドラ１２０からの指示に応じて、無意識表情アニメーションパラメータ保持部３１１に保持されている無意識表情アニメーションパラメータまたは意識表情アニメーションパラメータ保持部３１２に保持されている意識表情アニメーションパラメータを更新するものである。
【００３６】
アニメーション混合部３２２は、アプリケーション１００の描画ルーチン１３０からの指示に応じて、無意識表情アニメーションパラメータ保持部３１１に保持されている無意識表情アニメーションパラメータおよび意識表情アニメーションパラメータ保持部３１２に保持されている意識表情アニメーションパラメータを混合して顔モデルデータを生成するものである。無意識表情アニメーションパラメータおよび意識表情アニメーションパラメータの混合の度合いは、描画ルーチン１３０からの指示に含ませることができる。
【００３７】
顔モデルデータ保持部３３０は、アニメーション混合部３２２によって生成された顔モデルデータを保持するものである。この顔モデルデータのデータ領域は、アプリケーション１００の初期化処理１１０において確保され、その後、終了処理１４０において解放される。
【００３８】
レンダリングエンジン３４０は、顔モデルデータ取得部３４１と、描画部３４２とを備える。顔モデルデータ取得部３４１は、アプリケーション１００の描画ルーチン１３０からの指示に応じて、顔モデルデータ保持部３３０から顔モデルデータを取得するものである。描画部３４２は、顔モデルデータ取得部３４１によって取得された顔モデルデータに基づいてアニメーションの描画を行うものである。この描画結果は表示部１５に表示される。
【００３９】
図５は、本発明の実施の形態における意識表情アニメーションパラメータを更新するための関数群を示す図である。ここでは、一例として、lean関数、lookAt関数、express関数、speak関数、および、closeEye関数が挙げられている。
【００４０】
lean関数は、指定角度へ首を傾ける動作を指示する関数である。このlean関数の第１パラメータfaceは、アニメーション対象の顔モデルデータである。第２パラメータdurationは、アニメーションにかける時間である。第３パラメータrotationは、首の回転角である。第４パラメータweightは、無意識表情アニメーションパラメータと混合する際の度合いを表すものである。
【００４１】
lookAt関数は、指定位置に視線を向ける関数である。このlookAt関数の第１パラメータface、第２パラメータdurationおよび第４パラメータweightは、lean関数と同様である。第３パラメータpositionは、視線を向ける際の方向である。
【００４２】
express関数は、指定された表情を生成する関数である。このexpress関数の第１パラメータface、第２パラメータdurationおよび第４パラメータweightは、lean関数と同様である。第３パラメータgainsは、要素となる表情のそれぞれの重み係数である。この重み係数に応じて各表情が組み合わされて所望の表示が生成される。この具体的内容については後述する。
【００４３】
speak関数は、指定データに沿って口を動かす関数である。このspeak関数の第１パラメータfaceは、lean関数と同様にアニメーション対象の顔モデルデータである。第２パラメータvoiceは、アニメーションと同時に出力する音声データである。
【００４４】
closeEye関数は、指定具合に応じて目を閉じる関数である。このcloseEye関数の第１パラメータfaceおよび第２パラメータdurationは、lean関数と同様である。第２パラメータcloseは、目の閉じ具合を示す係数である。
【００４５】
これらの関数により意識表情アニメーションパラメータを更新し、顔モデルデータを更新する関数（animate関数）によって無意識表情アニメーションパラメータと混合することにより、無意識による表情と意識的にされる表情とが混ざった自然な表情を生成することができる。
【００４６】
なお、ここでは、５つの関数を例に挙げて説明したが、意識表情アニメーションパラメータを更新するための関数はこれらに限るものではない。
【００４７】
図６は、本発明の実施の形態において意識表情アニメーションと無意識表情アニメーションとが混合される様子を示す図である。ここでは、イベントハンドラ１２０によって上述のlookAt関数が呼び出された例を示している。
【００４８】
アニメーション表示中は、周期的に（例えば、１秒間に５９．９４回の周期で）animate関数が呼び出されて、顔モデルデータ保持部３３０に保持される顔モデルデータが更新される。領域Ａにおいては、意識表情アニメーションは指示されていないため、無意識表情アニメーションのみが行われる。このときの無意識表情アニメーションの重みは、「０．０」から「１．０」までの範囲をその変位とすれば、最大の「１．０」を示すことになる。
【００４９】
lookAt関数が呼び出されると、意識表情アニメーションパラメータが更新され、その次にanimate関数が呼び出されたタイミングで無意識表情アニメーションパラメータとの混合が行われる。すなわち、このlookAt関数は、animate関数とは非同期に発生するものであり、顔モデルデータに反映されるのはanimate関数が呼び出された時になる。これにより、領域Ｂにおいては、指定された方向を見るという意識的な表情と定常状態における無意識表情とが混合された表情になる。
【００５０】
この領域Ｂでは、無意識表情アニメーションの重みは、lookAt関数の第４パラメータｗ１によって指定される。一方、意識表情アニメーションの重みは最大の「１．０」を想定している。したがって、意識表情アニメーションと無意識表情アニメーションの重みの比は、「１．０」対ｗ１となる。
【００５１】
この領域Ｂの期間はlookAt関数の第２パラメータdurationによって指定される。意識表情アニメーションが行われるようになってからこのdurationの示す期間が経過すると、領域Ｃにおいて再び無意識表情アニメーションのみが行われるようになる。
【００５２】
図７は、本発明の実施の形態における各表情の内容例を示す図である。ここでは、イベントハンドラによって上述のexpress関数が呼び出された例を示している。
【００５３】
上述のように、アニメーション表示中は、周期的にanimate関数が呼び出されて顔モデルデータ保持部３３０に保持される顔モデルデータが更新される。この例では、３つの表情＃１乃至＃３、目の閉じ具合、および、首の傾きの計５つが無意識表情アニメーションパラメータの一例として示されている。これら無意識表情アニメーションパラメータは、時間ｔの関数であり、時間の経過に沿って変化し得るものである。ここでは、表情＃１をｆｕｅ１（ｔ）、表情＃２をｆｕｅ２（ｔ）、表情＃３をｆｕｅ３（ｔ）、目の閉じ具合をｆｕｅｙｅ（ｔ）、首の傾きをｆｕｎｅｃｋ（ｔ）の各関数としてそれぞれ表している。これらを組み合わせることにより、刻々と変化する無意識表情アニメーションが顔モデルデータに反映されていく。
【００５４】
express関数が呼び出されると、意識表情アニメーションパラメータが更新され、その次にanimate関数が呼び出されたタイミングで無意識表情アニメーションパラメータとの混合が行われる。これにより、それ以降は、意識表情アニメーションパラメータにより指定された意識的な表情と定常状態における無意識表情とが混合された表情になる。
【００５５】
ここで、無意識表情アニメーションにおける３つの表情＃１乃至＃３が、意識表情アニメーションの要素としての表情にも用いられるものとする。すなわち、意識表情アニメーションにおける表情＃１をｆｅ１（ｔ）、表情＃２をｆｅ２（ｔ）、表情＃３をｆｅ３（ｔ）の各関数によりそれぞれ表すことができるものとする。
【００５６】
このとき、意識表情アニメーションが有効な期間（ＴstartからＴendまで）では、以下の式に従って無意識表情アニメーションおよび意識表情アニメーションの混合（ブレンド）が行われる。
表情＃１＝ｆｅ１（ｔ）＋ｗ１×ｆｕｅ１（ｔ）
表情＃２＝ｆｅ２（ｔ）＋ｗ１×ｆｕｅ２（ｔ）
表情＃３＝ｆｅ３（ｔ）＋ｗ１×ｆｕｅ３（ｔ）
目の開き具合＝ｆｕｅｙｅ（ｔ）
首の傾き＝ｆｕｎｅｃｋ（ｔ）
【００５７】
したがって、時刻Ｔ１では、３つの表情＃１乃至＃３は次式により与えられる。
表情＃１＝ｆｕｅ１（Ｔ１）
表情＃２＝ｆｕｅ２（Ｔ１）
表情＃３＝ｆｕｅ３（Ｔ１）
【００５８】
また、時刻Ｔ２では、３つの表情＃１乃至＃３は次式により与えられる。
表情＃１＝ｆｅ１（Ｔ２）＋ｗ１×ｆｕｅ１（Ｔ２）
表情＃２＝ｆｅ２（Ｔ２）＋ｗ１×ｆｕｅ２（Ｔ２）
表情＃３＝ｆｅ３（Ｔ２）＋ｗ１×ｆｕｅ３（Ｔ２）
【００５９】
図８は、本発明の実施の形態において各表情が組み合わされる様子を示す図である。図８（ａ）は、基本となる顔の例である。この顔に対して、各表情を組み合わせることを考える。図８（ｂ）乃至（ｄ）は、図８（ａ）の顔にそれぞれ表情＃１乃至＃３を組み合わせたものである。
【００６０】
この例において、表情＃１は、図８（ｂ）のように口元の位置をＵ字型に持ち上げた表情である。表情＃２は、図８（ｃ）のように目を左右に垂れ下げた表情である。また、表情＃３は、図８（ｄ）のように口元を"への字"に曲げた表情である。
【００６１】
この図８（ｂ）乃至（ｄ）の表情＃１乃至＃３が図７の無意識表情アニメーションに適用されると、時間の経過に従って目が少し下がるとともに口が少し"への字"に曲がるという表情が微妙に変化していくことになる。この無意識表情アニメーションでは、表情＃１の要素は「０．０」であるため、口元の位置がＵ字型に持ち上がることはない。
【００６２】
その後、express関数が呼び出されると、表情＃１が「１．０」程度、表情＃２が「０．５」程度の割合で組み合わされて、図８（ｅ）のように口元の位置をＵ字型に持ち上げるとともに目を少し垂れ下げた表情が混合される。
【００６３】
図９は、図７の例において意識表情アニメーションおよび無意識表情アニメーションが混合された後の各表情の様子を示す図である。この図からわかるように、express関数による指定期間duration内（ＴstartからＴendまで）は、各表情＃１乃至＃３について意識表情アニメーションおよび無意識表情アニメーションが「１．０」対ｗ１の割合で混合されている。したがって、無意識表情アニメーションにおける表情の揺らぎ等を引き継いだ状態で、さらに意識表情アニメーションが加えられて、自然な表情を実現することができる。
【００６４】
図１０は、本発明の実施の形態における画像処理装置の処理手順例を示す流れ図である。まず、アプリケーション１００の初期化処理１１０において、アニメーションライブラリ３００の初期化が行われた後に（ステップＳ９１１）、顔モデルデータ保持部３３０に顔モデルデータのデータ領域が生成される（ステップＳ９１２）。
【００６５】
その後、アプリケーション１００のイベントハンドラ１２０によってアニメーションパラメータの更新指示がなされると（ステップＳ９１４）、アニメーションライブラリ３００のアニメーションパラメータ保持部３１０に保持されるアニメーションパラメータがアニメーションエンジン３２０によって更新される（ステップＳ９１５）。そして、アプリケーション１００の描画ルーチン１３０によって顔モデルデータの更新および描画（フレーム描画）が指示されると（ステップＳ９１５）、描画処理（ステップＳ９２０）が行われる。
【００６６】
アニメーションの終了の際には、顔モデルデータのデータ領域が解放された後に（ステップＳ９１８）、アニメーションライブラリ３００の終了処理が行われる（ステップＳ９１９）。
【００６７】
図１１は、本発明の実施の形態における描画処理（ステップＳ９２０）の処理手順例を示す流れ図である。この描画処理では、無意識表情アニメーションパラメータ保持部３１１から無意識表情アニメーションパラメータが取得される（ステップＳ９２１）。また、意識表情アニメーションが有効な期間であれば（ステップＳ９２２）、意識表情アニメーションパラメータ保持部３１２から意識表情アニメーションパラメータも取得され（ステップＳ９２３）、アニメーション混合部３２２において無意識表情アニメーションパラメータと意識表情アニメーションパラメータとが混合される（ステップＳ９２４）。
【００６８】
その結果、アニメーション混合部３２２は、顔モデルデータを生成して、これにより顔モデルデータ保持部３３０を更新する（ステップＳ９２５）。そして、顔モデルデータ取得部３４１が顔モデルデータ保持部３３０に保持された顔モデルデータを取得すると（ステップＳ９２６）、この顔モデルデータに基づいて描画部３４２が描画を行う（ステップＳ９２７）。
【００６９】
このように、本発明の実施の形態によれば、無意識表情アニメーションパラメータ保持部３１１に保持されている無意識表情アニメーションパラメータおよび意識表情アニメーションパラメータ保持部３１２に保持されている意識表情アニメーションパラメータをアニメーション混合部３２２によって混合して顔モデルデータを生成することにより、自然な表情を簡易な手順により実現することができる。
【００７０】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【００７１】
すなわち、請求項１において、無意識パラメータ保持手段は例えば無意識表情アニメーションパラメータ保持部３１１に対応する。また、意識パラメータ保持手段は例えば意識表情アニメーションパラメータ保持部３１２に対応する。また、混合手段は例えばアニメーション混合部３２２に対応する。また、描画手段は例えば描画部３４２に対応する。
【００７２】
また、請求項２において、パラメータ更新手段は例えばパラメータ更新部３２１に対応する。
【００７３】
また、請求項３において、顔モデルデータ保持手段は例えば顔モデルデータ保持部３３０に対応する。
【００７４】
また、請求項４において、顔モデルデータ保持手段は例えば顔モデルデータ保持部３３０に対応する。また、無意識パラメータ保持手段は例えば無意識表情アニメーションパラメータ保持部３１１に対応する。また、意識パラメータ保持手段は例えば意識表情アニメーションパラメータ保持部３１２に対応する。また、パラメータ更新指示手段は例えばイベントハンドラ１２０に対応する。また、パラメータ更新手段は例えばパラメータ更新部３２１に対応する。また、顔モデルデータ生成指示手段および描画指示手段は例えば描画ルーチン１３０に対応する。また、混合手段は例えばアニメーション混合部３２２に対応する。また、描画手段は例えば描画部３４２に対応する。
【００７５】
また、請求項５または請求項６において、無意識パラメータ保持手段は例えば無意識表情アニメーションパラメータ保持部３１１に対応する。また、意識パラメータ保持手段は例えば意識表情アニメーションパラメータ保持部３１２に対応する。また、無意識パラメータ保持手段から無意識パラメータを取得する手順は例えばステップＳ９２１に対応する。また、意識的に表される顔の表情が有効であれば意識パラメータ保持手段から意識パラメータを取得して無意識パラメータと混合する手順は例えばステップＳ９２２乃至Ｓ９２４に対応する。また、意識的に表される顔の表情が有効であれば混合された意識パラメータおよび無意識パラメータから顔モデルデータを生成し、有効でなければ無意識パラメータから顔モデルデータを生成する手順は例えばステップＳ９２５に対応する。また、顔モデルデータに基づいて顔の表情を描画する手順は例えばステップＳ９２７に対応する。
【００７６】
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施の形態における画像処理装置のハードウェア構成例を示す図である。
【図２】本発明の実施の形態におけるソフトウェア階層の例を示す図である。
【図３】本発明の実施の形態においてアプリケーション１００からランタイムＡＰＩ２００によってアニメーションライブラリ３００を呼び出す仕組みを示す図である。
【図４】本発明の実施の形態におけるアニメーションライブラリ３００の機能構成例を示す図である。
【図５】本発明の実施の形態における意識表情アニメーションパラメータを更新するための関数群を示す図である。
【図６】本発明の実施の形態において意識表情アニメーションと無意識表情アニメーションとが混合される様子を示す図である。
【図７】本発明の実施の形態における各表情の内容例を示す図である。
【図８】本発明の実施の形態において各表情が組み合わされる様子を示す図である。
【図９】図７の例において意識表情アニメーションおよび無意識表情アニメーションが混合された後の各表情の様子を示す図である。
【図１０】本発明の実施の形態における画像処理装置の処理手順例を示す流れ図である。
【図１１】本発明の実施の形態における描画処理の処理手順例を示す流れ図である。
【符号の説明】
【００７８】
１１  プロセッサ
１２  ＲＡＭ
１３  ＲＯＭ
１４  操作部
１５  表示部
１６  記録媒体ドライブ
１７  入出力インターフェース
１８  通信部
１９  バス
２６  可搬型記録媒体
２７  カメラ
１００  アプリケーション
１１０  初期化処理
１２０  イベントハンドラ
１３０  描画ルーチン
１４０  終了処理
２００  ランタイムＡＰＩ
３００  アニメーションライブラリ
３１０  アニメーションパラメータ保持部
３１１  無意識表情アニメーションパラメータ保持部
３１２  意識表情アニメーションパラメータ保持部
３２０  アニメーションエンジン
３２１  パラメータ更新部
３２２  アニメーション混合部
３３０  顔モデルデータ保持部
３４０  レンダリングエンジン
３４１  顔モデルデータ取得部
３４２  描画部
４００  下位プラットフォーム
【図１】
2007156650.tif 000003
【図２】
2007156650.tif 000004
【図３】
2007156650.tif 000005
【図４】
2007156650.tif 000006
【図５】
2007156650.tif 000007
【図６】
2007156650.tif 000008
【図７】
2007156650.tif 000009
【図９】
2007156650.tif 000010
【図１０】
2007156650.tif 000011
【図１１】
2007156650.tif 000012
【図８】
2007156650.tif 000013