説明

形態変形装置、物体動作符号化装置および物体動作復号化装置

形態変形符号化装置は、形態変化前の物体の形態を表わす変化前形態データと前記形態変化後の前記物体の形態を表わす変化後形態データとの間の差分データを計算する計算部と、前記変化前形態データと、前記差分データとに基づいて、前記物体の前記形態変化の生じた動作領域と、前記形態変化のために前記動作領域に加えられる外力とを決定する決定部とを具備する。前記動作領域は、複数の小領域を含み、前記複数の小領域の各々は複数の制御点を含み、前記外力は、前記複数の小領域の各々の物理モデル構造に基づいて、前記形態変化の前後で前記複数の小領域を独立に変化させるのに必要な外力として計算される。前記物理モデル構造として、制御点どうしがバネとダンパーで結合された物理モデル構造が用いられる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体の形態を変形する形態変形装置、物体動作(形態変形)符号化装置および物体動作(形態変形)復号化装置に関し、特に顔の一部の領域の形状を変形させて表情を付与する形態変形装置、物体動作(形態変形)符号化装置および物体動作(形態変形)復号化装置に関する。
【背景技術】
【0002】
近年、バーチャルリアリティ(VR)やコンピュータグラフィック(CG)の分野において、表情を与えるために顔画像を変形する技術が利用されている。例えば、或る人物の顔の表情の変化が検出され、それと同じ変化を同じ人物あるいは別の人物の顔画像に施すことにより、特定の人物に同期してその人の表情が変えられる擬人化エージェントが実現されている。
【0003】
このような顔表情合成の技術には、大きく分けて2つの流れが存在する。1つは、顔の皮膚下にある表情筋に連動して動く皮膚表面が物理モデルとして取り扱われ、筋肉・骨の動きに基づいて運動方程式を解くことによって皮膚表面にあたるワイヤーフレームモデルを動かす方法である。この従来技術は、例えば、D.TerzopoulosとK.Watersによる”analysis and Synthesis of Facial Image Sequences Using Physical and Anatomical Models”,(IEEE Trans.PAMI,vol.15,No.6,pp.569−579,June 1993)に述べられている。もう1つは、ワイヤーフレームモデルに直接規則的な幾何学的変形を施して表情を作成する方法である。この従来技術は、例えば、特開平8−96162号公報に述べられている。
【0004】
他方、心理学者Ekmanらによって提案された表情記述法であるFACS(Facial Action Coding System)が情報工学の分野においても表情の研究で広く利用されている(例えば、”Facial Action coding system”,(Consulting Psychologist Press,1977)。FACSは、顔面筋肉の解剖学的知見に基づき、「眉の内側を上げる」、「唇両端を横に引く」、「口を大きく開ける」、「細目にする」など合計44の動作単位(AU:Action Unit)を要素として用いて、顔面動作を包括的かつ客観的に記述する方法である。AUの組み合わせで人間のあらゆる表情が記述可能だと言われている。このFACSは、ワイヤーフレームモデルに直接規則的な幾何学的変形を施して表情を作成する方法と組み合わせて使用される例が一般的である。
【0005】
上述したように、顔表情合成の技術として従来より、幾何学的な変形を用いる方法と物理モデルを用いる方法が知られている。幾何学的な変形を用いる方法では、表情を表出させるための規則が点の移動によってのみ定義されるので、比較的少ない計算量で高速な処理が可能であるという利点を有する。しかしながら、顔モデルに個人の特徴を反映させるのが難しく、また自然な表情を実現できない。これに対して、物理モデルを用いる方法では、表情筋の動きを直接表現することが可能であるので、表情の生成過程を滑らかに表現することができ、また表情筋の配置の変更により様々な顔の造作に対応することができる。しかしながら、計算量が膨大になってしまうという問題がある。
【0006】
上記と関連して、顔画像合成装置が特開平3−74777号公報に開示されている。この従来例によれば、人間の本能的動作若しくは無意識動作に基づく動きパラメータ及び表情パラメータが、表情及び動きパラメータを含む顔画像情報に付加され、それに基づいて顔画像が合成される。
【0007】
また、表情コードの再生表示装置が特開平6−76044に開示されている。この従来例の装置は、表情発生条件を設定する表情発生条件入力装置を有している。演算処理装置は、表情発生条件入力装置からの指示信号に従い顔面における前額、眉、口などの可動部分の移動量、移動方向、形態変化を計算し、表情の医学的解析に基づく表情要素コードを再生する表情コード再生部を備えている。表情表示装置は、演算処理装置で再生された表情要素コードに従い顔面の形態を再生表示するとともに、前額、眉、目、口などを移動、変形させる。
【0008】
また、表情のコード化装置が特開平6−76058に開示されている。この従来例の表情のコード化装置では、画像入力装置は、顔面画像を電気信号として取り込み、符号化して、所定の顔面画像データを生成する。特徴部位抽出処理部は、画像入力装置からの所定の顔面画像データを受けて、特徴部位抽出条件に基づき特徴部位画像を抽出する。表情要素抽出処理部は、その特徴部位画像から所定の表情要素と特徴部位の関連規則に基づいて表情要素を抽出して表情要素情報を生成する。表情要素定量化処理部は、その表情要素情報から所定の表情要素定量化規則に基づいて表情要素定量化処理して表情要素コードを算出する。更に、記憶部は、その表情要素コードを格納する。表情要素コード出力装置は、演算処理装置に保有された表情要素コードを出力する。
【0009】
また、顔画像作成装置が特開平8−305878に開示されている。この従来例の顔画像作成装置では、顔画像生成部は、顔の各部位を形成するパーツ画像を選定して顔画像を生成する。表情付与部は、指定された表情に応じて顔画像を形成するパーツ画像に対して画像変形、表示位置移動および表示・非表示処理を施し、その顔画像に表情変化を付与する。
【0010】
また、表情アニメーション生成装置が特開2002−304638(P2002−304638A)に開示されている。この従来例の表情アニメーション生成装置では、表情差分データ抽出部は、対象人物の表情顔サンプルから特徴点を抽出し、特徴点に基づいて表情顔サンプルを複数のパーツに分割し、各パーツごとに指定された2つの異なる表情間の表情遷移変化に伴う形状およびテクスチャの差分を求め、差分形状データと差分テクスチャを獲得する。動作パターン設定部は、各パーツごとの時間変化を規定するための動作パターン関数を指定する。時系列表情画像合成部は、動作パターン関数と差分形状データとに基づいて算出された任意時刻における中間差分形状データと、動作パターン関数と差分テクスチャとに基づいて算出された任意時刻における中間差分テキスチャとを所定の時間間隔で生成し、所定の時間間隔ごとの時系列表情形状データおよび時系列表情テクスチャを生成する。表情アニメーション再生部は、時系列表情形状データに基づく形状に時系列表情テクスチャをマッピングすることで生成された所定の時間間隔ごとに時系列表情画像を連続表示することによって、表情アニメーションを生成する。
【0011】
また、表情合成装置が特開2002−329214(P2002−329214A)に開示されている。この従来例の表情合成方法は、コンピュータグラフィックスを用いる。その合成方法は、顔の表情モデルを、顔の特徴点のデータとして入力する工程と、表情モデルの括約筋に囲まれた略楕円形の括約筋領域を抽出し、括約筋領域の長軸より上方の領域を、長軸と半楕円形状とで囲まれた半楕円領域として規定する抽出工程と、半楕円領域に含まれる特徴点を検索する工程と、顔の表情が変化した場合の、半楕円領域に含まれる特徴点の移動ベクトルを計算する計算工程と、移動ベクトルに従って特徴点を移動させ、表情変化後の表情モデルを合成する工程とを含む。
【発明の開示】
【0012】
本発明の目的は、顔表情合成など形態の変化を実現する際の計算量を削減することにある。
【0013】
本発明の観点では、形態変形符号化装置は、形態変化前の物体の形態を表わす変化前形態データと前記形態変化後の前記物体の形態を表わす変化後形態データとの間の差分データを計算する計算部と、前記変化前形態データと、前記差分データとに基づいて、前記物体の前記形態変化の生じた動作領域と、前記形態変化のために前記動作領域に加えられる外力とを決定する決定部とを具備する。
ここで、前記計算部は、3次元モデルに基づいて前記変化前形態データと前記変化後形態データを変化前形態モデルデータと変化後形態モデルデータに変換する変換部と、前記変化前形態モデルデータと前記変化後形態モデルデータとの差から前記差分データを計算する差分計算部とを具備する。前記モデルは、3次元ポリゴンメッシュモデルであり、前記変化前形態データと前記変化後形態データは3次元データであってもよい。前記動作領域は、複数の小領域を含み、前記複数の小領域の各々は複数の制御点を含み、前記外力は、前記複数の小領域の各々の物理モデル構造に基づいて、前記形態変化の前後で前記複数の小領域を独立に変化させるのに必要な外力として計算される。この場合、前記物理モデル構造として、制御点どうしがバネとダンパーで結合された物理モデル構造が用いられてもよい。前記複数の小領域の全てにおいて、前記制御点の個数および前記物理モデル構造が同じであることが望ましい。また、前記物体は人の顔を含み、前記形態変化前の物体の形態とは無表情な顔の状態を示し、前記形態変化後の物体の形態とは表情が表出された顔の状態を示してもよい。
【0014】
また、本発明の他の観点では、形態変形復号化装置は、形態変化前の物体の形態を表わす変化前形態データと、形態変化に対応する動作領域に加えられる外力の情報とに基づいて、前記動作領域内の制御点の移動位置を決定する復号部と、前記変化前形態データと前記複数の制御点の各々の移動位置とから前記形態変化後の前記物体の形態を表わす変化後形態データを生成する形態生成部とを具備する。前記動作領域は、複数の小領域を含み、前記複数の小領域の各々は複数の制御点を含み、前記複数の小領域の各々の前記制御点の移動位置は、前記複数の小領域単位で物理モデルを用いて決定される。
ここで、前記変化前形態データは3次元データであり、前記復号部は、前記形態変化前の前記物体の形態の3次元モデルと前記変化前形態データとに基づいて変化前形態モデルデータを生成するモデルデータ生成部と、前記外力情報に基づいて前記変化前形態モデルデータから前記動作領域内の制御点の各々の移動位置を決定する移動量計算部とを具備してもよい。代わりに、前記変化前形態データは3次元データであり、前記復号部は、3次元ポリゴンメッシュモデルと前記変化前形態データとに基づいて変化前形態メッシュモデルデータを生成するモメッシュデルデータ生成部と、前記外力情報に基づいて前記変化前形態メッシュモデルデータから前記動作領域内の制御点の各々の移動位置を決定する移動量計算部とを具備してもよい。
また、前記複数の小領域の各々において、前記小領域に含まれる制御点以外の非制御点の移動位置をその非制御点の近傍の前記制御点の移動位置から計算する動作内挿部を更に具備することが好ましい。前記形態生成部は、前記変化前形態データと前記複数の制御点の各々の移動位置とから前記複数の小領域の単位で前記形態変化後の前記物体の形態を生成する。このとき、前記形態変化後の前記複数の小領域のうちの隣接するものの境界部分に生じる不連続箇所を平滑化する隣接小領域調整部を更に具備してもよい。また、前記形態変化後の前記動作領域とその周囲の未動作領域との境界部分に生じる不連続箇所を平滑化する未動作領域調整部を更に具備してもよい。
ここで、前記複数の小領域の各々の物理モデルでは、前記制御点がバネとダンパーで結合されている。前記物体は人の顔を含み、前記形態変化前の形態は無表情な顔を示し、前記形態変化後の形態は、表情が表出された顔を示してもよい。前記変化後形態データに基づいて、可撓性を有する前記物体における前記動作領域を駆動する三次元アクチュエータ群を更に具備してもよい。
【0015】
また、本発明の他の観点で、形態変形符号復号化装置は、上記のいずれかの形態変形符号化装置と、請求項8乃至17の何れかに記載された形態変形復号化装置と、前記形態変化符号化装で生成された前記動作領域と前記外力情報を通信路を通じて前記形態変形復号化装置へ伝送する伝送装置とを具備する。
【0016】
また、本発明の他の観点で、形態変形符号化方法は、形態変化前の物体の形態を表わす変化前形態データと前記形態変化後の前記物体の形態を表わす変化後形態データとの間の差分データを計算するステップと、前記変化前形態データと、前記差分データとに基づいて、前記物体の前記形態変化の生じた動作領域と、前記形態変化のために前記動作領域に加えられる外力とを決定するステップとにより達成される。
【0017】
ここで、前記計算ステップは、3次元モデルに基づいて前記変化前形態データと前記変化後形態データを変化前形態モデルデータと変化後形態モデルデータに変換するステップと、前記変化前形態モデルデータと前記変化後形態モデルデータとの差から前記差分データを計算するステップとにより達成されてもよい。前記モデルは、3次元ポリゴンメッシュモデルであり、前記変化前形態データと前記変化後形態データは3次元データであってもよい。前記動作領域は、複数の小領域を含み、前記複数の小領域の各々は複数の制御点を含み、前記外力は、前記複数の小領域の各々の物理モデル構造に基づいて、前記形態変化の前後で前記複数の小領域を独立に変化させるのに必要な外力として計算されてもよい。前記物理モデル構造として、制御点どうしがバネとダンパーで結合された物理モデル構造が用いられることが好ましい。また、前記複数の小領域の全てにおいて、前記制御点の個数および前記物理モデル構造が同じであることが更に好ましい。前記物体は人の顔を含み、前記形態変化前の物体の形態とは無表情な顔の状態を示し、前記形態変化後の物体の形態とは表情が表出された顔の状態を示す。
【0018】
本発明の他の観点では、形態変形復号化方法は、形態変化前の物体の形態を表わす変化前形態データと、形態変化に対応する動作領域に加えられる外力の情報とに基づいて、前記動作領域内の制御点の移動位置を決定するステップと、前記変化前形態データと前記複数の制御点の各々の移動位置とから前記形態変化後の前記物体の形態を表わす変化後形態データを生成するステップとにより達成される。前記動作領域は、複数の小領域を含み、前記複数の小領域の各々は複数の制御点を含み、前記複数の小領域の各々の前記制御点の移動位置は、前記複数の小領域単位で物理モデルを用いて決定される。
ここで、前記変化前形態データは3次元データであり、前記移動位置を決定するステップは、前記形態変化前の前記物体の形態の3次元モデルと前記変化前形態データとに基づいて変化前形態モデルデータを生成するステップと、前記外力情報に基づいて前記変化前形態モデルデータから前記動作領域内の制御点の各々の移動位置を決定するステップとにより達成される。代わりに、前記変化前形態データは3次元データであり、前記移動位置を決定するステップは、3次元ポリゴンメッシュモデルと前記変化前形態データとに基づいて変化前形態メッシュモデルデータを生成するステップと、前記外力情報に基づいて前記変化前形態メッシュモデルデータから前記動作領域内の制御点の各々の移動位置を決定するステップとにより達成されてもよい。
前記複数の小領域の各々において、前記小領域に含まれる制御点以外の非制御点の移動位置をその非制御点の近傍の前記制御点の移動位置から計算するステップを更に具備してもよい。このとき、前記変化後形態データを生成するステップは、前記変化前形態データと前記複数の制御点の各々の移動位置とから前記複数の小領域の単位で前記形態変化後の前記物体の形態を生成する。また、前記形態変化後の前記複数の小領域のうちの隣接するものの境界部分に生じる不連続箇所を平滑化するステップを更に具備しても良いし、前記形態変化後の前記動作領域とその周囲の未動作領域との境界部分に生じる不連続箇所を平滑化するステップを更に具備してもよい。
前記複数の小領域の各々の物理モデルでは、前記制御点がバネとダンパーで結合されていることが好ましく、前記物体は人の顔を含み、前記形態変化前の形態は無表情な顔を示し、前記形態変化後の形態は、表情が表出された顔を示してもよい。あるいは、前記物体はロボットであり、前記変化後形態データに基づいて、可撓性を有する前記物体における前記動作領域を駆動するステップを更に具備してもよい。
【0019】
本発明の他の観点では、形態変化符号復号化方法は、上記のいずれかの形態変形符号化方法により前記動作領域の情報と、前記外力の情報を生成するステップと、前記動作領域の情報と前記外力情報を通信路を通じて伝送するステップと、上記のいずれかの形態変形復号化方法により、前記伝送された動作領域の情報と、前記伝送された外力の情報から前記物体の形態を表わす変化後形態データを生成するステップにより達成される。
【0020】
更に、本発明の他の観点では、本発明は、上記のいずれかの形態変形符号化方法あるいは上記のいずれかの形態変形復号化方法を実現するための計算機読み取り可能なソフトウェアプロダクトに関する。
【0021】
本発明によれば、顔表情合成などを物理モデルを用いて実現する際の計算量を削減することができる。バネモデルなどの物理モデルを用いて顔表情合成する従来の手法では、表情筋が配置されている領域全体を1つの領域として、その領域内に含まれる各点の移動位置を外力に基づいて計算するために計算量が膨大になるが、本発明ではより細かな小領域単位で独立に各制御点の移動位置を計算している。また、外力に応じた移動位置を求める対象を、小領域に属する点の一部である制御点に限定し、残りの点である非制御点はその非制御点の近傍の制御点の移動位置から内挿等によって求めている。
【0022】
また、動作領域を複数の小領域に分割し小領域単位に独立して移動位置を計算された場合に生じ易い小領域どうしの境界部分の段差などを目立たなくでき、動作領域とその周囲の未動作領域との境界部分に生じる段差などを目立たなくできる。また、小領域の物理モデル構造として、制御点どうしがバネとダンパーで結合された物理モデル構造を用いられるため、表情筋の動作に近い動作を再現することができる。このとき、全ての小領域の制御点の個数および物理モデル構造を等しくしたため、制御点の移動位置を計算する際のパラメータ数を少なくでき、また計算量をより一層削減することができる。物体モデルが人の顔モデルを含み、経時的な形態の変化が人の顔の表情の変化を含むとき、人の顔の表情の合成などが可能になる。
【0023】
また、本発明によれば、物体の形態変化前後で相違する領域である動作領域とその動作領域に含まれる各制御点に加える外力とを少ない計算量で求めることができる。バネモデルなどの物理モデルを用いて顔表情合成する従来の手法では、表情筋が配置されている領域全体を1つの領域として、その領域内に含まれる全ての点の移動量から外力を計算するために計算量が膨大になるが、本発明ではより細かな小領域単位で独立に各制御点の移動量から外力を計算している。小領域の物理モデル構造として、制御点どうしがバネとダンパーで結合された物理モデル構造を用いられるため、表情筋の動作に近い動作を再現するための外力を計算することができる。全ての小領域の制御点の個数および物理モデル構造を等しくしたため、外力計算に必要な計算量をより一層削減でき、また必要なパラメータ数も少なくできる。物体が人の顔を含み、形態変化前が無表情な状態、状態変化後が表情が表出された状態であるとき、人の顔を無表情から或る表情の顔にするために必要な外力を計算することができる。
【0024】
また、物体の三次元データを外力情報に基づいて変形(変換)した三次元データを少ない計算量で生成できる。バネモデルなどの物理モデルを用いて顔表情合成する従来の手法では、表情筋が配置されている領域全体を1つの領域として、その領域内に含まれる各点の移動位置を外力に基づいて計算するために計算量が膨大になるが、本発明ではより細かな小領域単位で独立に各制御点の移動位置を計算している。物体の画像を外力情報に基づいて変形した画像を少ない計算量で生成できる。バネモデルなどの物理モデルを用いて顔表情合成する従来の手法では、表情筋が配置されている領域全体を1つの領域として、その領域内に含まれる各点の移動位置を外力に基づいて計算するために計算量が膨大になるが、本発明ではより細かな小領域単位で独立に各制御点の移動位置を計算している。例えば「口を大きく開ける」ための外力情報と「上瞼を上げる」ための外力情報といった複数の外力情報に基づいて形態変化前の三次元データや画像に対応する形態変化後の各制御点の移動量を計算することができる。動作領域を複数の小領域に分割し小領域単位に独立して移動位置を計算された場合に生じ易い小領域どうしの境界部分の段差などを目立たなくでき、動作領域とその周囲の未動作領域との境界部分に生じる段差などを目立たなくできる。小領域の物理モデル構造として、制御点どうしがバネとダンパーで結合された物理モデル構造を用いられるため、表情筋の動作に近い動作を再現することができ、物体が人の顔を含み、形態変化前が無表情な状態、状態変化後が或る表情が表出された状態であるため、人の無表情顔に或る表情を与えることができる。
【0025】
本発明によれば、或る人物の顔の表情の変化を検出し、それと同じ変化を同じ人物あるいは別の人物の顔画像などに施すことにより、特定の人物に同期して表情を変える擬人化エージェントを少ない計算量で実現できる。バネモデルなどの物理モデルを用いて顔表情合成する従来の手法では、表情筋が配置されている領域全体を1つの領域として、その領域内に含まれる各点の移動位置から外力を計算するために計算量が膨大になるが、本発明ではより細かな小領域単位で独立に各制御点の移動位置から外力を計算している。また、バネモデルなどの物理モデルを用いて顔表情合成する従来の手法では、表情筋が配置されている領域全体を1つの領域として、その領域内に含まれる各点の移動位置を外力に基づいて計算するために計算量が膨大になるが、本発明ではより細かな小領域単位で独立に各制御点の移動位置を計算している。ロボットの頭部に装着した仮面などの物体に表情を表出させるための計算量を削減できる。バネモデルなどの物理モデルを用いて顔表情合成する従来の手法では、表情筋が配置されている領域全体を1つの領域として、その領域内に含まれる各点の移動位置を外力に基づいて計算するために計算量が膨大になるが、本発明ではより細かな小領域単位で独立に各制御点の移動位置を計算している。
【図面の簡単な説明】
【0026】
【図1】図1は、本発明の原理説明図である。
【図2】図2は、本発明の第1実施例にかかる形態変形装置の構成を示すブロック図である。
【図3】図3は、本発明の第1実施例にかかる形態変形装置における動作領域指定部の処理例を示すフローチャートである。
【図4】図4は、本発明の第1実施例にかかる形態変形装置における動作領域分割部の処理例を示すフローチャートである。
【図5】図5は、本発明の第1実施例にかかる形態変形装置における制御点データの構成例を示す図である。
【図6】図6は、本発明の第1実施例にかかる形態変形装置における制御点動作部の処理例を示すフローチャートである。
【図7A】図7Aは、本発明の第1実施例にかかる形態変形装置における動作内挿部の動作説明図である。
【図7B】図7Bは、本発明の第1実施例にかかる形態変形装置における動作内挿部の動作説明図である。
【図8】図8は、本発明の第1実施例にかかる形態変形装置における動作内挿部の処理例を示すフローチャートである。
【図9】図9は、本発明の第2の実施例にかかる形態変形装置のブロック図である。
【図10A】図10Aは、小領域の境界部分に段差などの不連続箇所が発生する様子を示す図である。
【図10B】図10Bは、小領域の境界部分に段差などの不連続箇所が発生する様子を示す図である。
【図10C】図10Cは、小領域の境界部分に段差などの不連続箇所が発生する様子を示す図である。
【図11】図11は、本発明の第2の実施例にかかる形態変形装置における隣接小領域調整部の処理例を示すフローチャートである。
【図12】図12は、本発明の第2の実施例にかかる形態変形装置における隣接小領域調整部で行われる平滑化処理のフローチャートである。
【図13】図13は、本発明の第2の実施例にかかる形態変形装置における隣接小領域調整部の動作説明図である。
【図14】図14は、本発明の第3の実施例にかかる形態変形装置のブロック図である。
【図15A】図15Aは、動作領域と未動作領域との境界部分に段差などの不連続箇所が発生する様子を示す図である。
【図15B】図15Bは、動作領域と未動作領域との境界部分に段差などの不連続箇所が発生する様子を示す図である。
【図16】図16は、本発明の第3の実施例にかかる形態変形装置における未動作領域調整部で行われる平滑化処理のフローチャートである。
【図17】図17は、本発明の第3の実施例にかかる形態変形装置における未動作領域調整部の動作説明図である。
【図18】図18は、本発明の第4の実施例にかかる顔動作(形態変形)符号化装置のブロック図である。
【図19】図19は、本発明の第4の実施例にかかる顔動作(形態変形)符号化装置で用いられる顔三角ポリゴンメッシュモデルの一例を示す図である。
【図20】図20は、本発明の第4の実施例にかかる顔動作(形態変形)符号化装置における三次元差分計算部の動作説明図である。
【図21】図21は、本発明の第4の実施例にかかる顔動作(形態変形)符号化装置における三次元差分計算部が生成する三次元差分データの内容例を示す図である。
【図22A】図22Aは、本発明の第4の実施例にかかる顔動作(形態変形)符号化装置における外力計算部の動作説明図である。
【図22B】図22Bは、本発明の第4の実施例にかかる顔動作(形態変形)符号化装置における外力計算部の動作説明図である。
【図23】図23は、本発明の第5の実施例にかかる顔動作(形態変形)復号化装置のブロック図である。
【図24】図24は、本発明の第6の実施例にかかる顔動作(形態変形)復号化装置のブロック図である。
【図25】図25は、本発明の第7の実施例にかかる顔動作(形態変形)符号化装置のブロック図である。
【図26】図26は、本発明の第8の実施例にかかる顔動作(形態変形)復号化装置のブロック図である。
【図27】図27は、本発明の第9の実施例にかかる顔動作(形態変形)復号化装置のブロック図である。
【図28】図28は、本発明の第10の実施例にかかる顔動作(形態変形)符号復号化装置のブロック図である。
【図29】図29は、本発明の第11の実施例にかかる顔動作(形態変形)符号復号化装置のブロック図である。
【図30】図30は、本発明の第12の実施例にかかる形態変形復号化装置を用いるロボット制御装置のブロック図である。
【発明を実施するための最良の形態】
【0027】
先ず、本発明の基本原理について図面を参照して詳細に説明する。図1を参照して、本発明で用いられる顔モデルの一例では、顔全体の領域1000上に少なくとも1つの動作領域1001が設定される。動作領域1001は、変形の対象領域であり、表出されるべき表情に対応して定められる。例えば、FACSにおける動作単位(AU:Action unit)毎に、その動作単位を生じさせる表情筋がついている部分が1つの動作領域として定められる。無表情顔と或る表情動作顔とが比較されるときに相違する領域が動作領域として定められてもよい。
【0028】
本発明では、このような動作領域1001が、複数の小領域1002に分割され、個々の小領域1002単位で外力に応じた移動量が計算される。1つの小領域1002に属する点(画素)は、黒丸で示される複数(3以上)の制御点1003と、制御点以外の白丸で示される非制御点1004とに分けられ、制御点1003どうしはバネ1005とダンパー1006でつながっている。また、外力は、図1で矢印1007により示されるように、制御点1003にのみ与えられる。個々の小領域1002における計算では、その小領域1002に属する各制御点1003の移動量が、その制御点1003に加わる外力、バネ1005およびダンパー1006の定数に基づいて計算され、制御点1003以外の非制御点1004の移動量は、その非制御点1004の近傍にある複数の制御点1003の移動量から内挿などによって計算される。これにより、個々の小領域1002全体が、内部の制御点1003に働く外力によって一体となって移動し、全ての小領域1002が同様に移動する。この結果、動作領域1001が変形し、所望の表情の表出が可能となる。
【0029】
このように、動作領域1001がバネモデルとして相互作用しながら一体になって動く小領域1002に分割され、各小領域1002中で相互がバネ1005とダンパー1006で接続された複数の制御点1003にのみ外力1007が働き、小領域1002全体がその外力1007が働く制御点1003に引きずられて動作するというモデルを用いて動作単位の動作が再現される。このモデルでの動作単位の動作は、動作領域1001単位でなく小領域1002単位でのバネモデル計算により表現されるので、パラメータ設定が簡単になり、計算量が削減される。また、直接移動量を扱うのではなく外力計算を行うので、表情の表出時の個人性と表情動作の普遍性が分離できるなどの利点がある。
【0030】
次に、1つの小領域1002内の制御点1003の移動位置を計算する具体的な方法について説明する。一例として、バネ1005とダンパー1006の定数がすべて等しい場合の移動位置の計算方法を説明する。このケースは、下記のように定式化することができる。即ち、1つの小領域内にn(>=3)個の制御点が存在し、i番目の制御点の質量をM、そこに働く外力をf、i番目とj番目の制御点をつなぐバネ、ダンパーの定数をそれぞれKij、Dijとする。このとき、i番目の制御点の位置xは、バネの基準位置をlとすると、下記式(1)で表される。
【数1】

ただし、
【数2】

とする。
【0031】
ここで、
【数3】

と置き換えると、式(1)は、
【数4】

で表される線形制御システムの標準的な式に書き直すことができる。ただし、A,Bはそれぞれ以下のように表される2nx2n、2nxnの行列である。
【数5】

但し、kij=Kij/M、dij=Dij/M
【数6】

但し、m=1/M
【0032】
上記の式(3)の解析解は、下記の式(5)で表される。
【数7】

但し、
【数8】

【0033】
式(5)の解は、A,Bによっては存在しないこともあり、存在してもt無限大で発散することがある。しかしながら、本発明のモデルでは、uが一定で、質量M、バネ係数Kij,ダンパー定数Dijが一定の場合、つまりm、k、dが一定値m,k,dの場合、質点数nの時の指数関数形式行列eAtは、P(t)、Q(t)は2x2の行列であり、各要素はそれぞれ以下のとおりである。
【数9】

【数10】

【数11】

【数12】

【数13】

【数14】

【数15】

【数16】

但し、
【数17】

とする。このとき、式(6)の行列は、
【数18】

で表すことが可能である。
【0034】
システムの固有値−nd/2+λn、−nd/2−λnの実数部は、必ず負であるので、tが無限大になったとき発散することはない。したがって、tとパラメータm,k,dが与えられ、uが一定であれば式(5)は、x(t)とx(0)、uの一次式になる。ただし、m,nは常に両者の積の形で現れ、分離できないので、これを一つの定数(uに統合する)としても差し支えない。こうすることによって、tが与えられた場合、パラメータはk,dのみになる。
【0035】
パラメータk,dの与え方は自由であるが、λnの根号内の値が正、0、負のいずれであるかによって、それぞれ過減衰、臨界減衰、減衰振動という挙動を行う。この3種の挙動(詳細に関しては、V.D.バージャー,M.G.オルソン著,戸田,田上訳,“力学 新しい視点にたって”,培風館,1975)は、いずれもt無限大に向かって減衰するが、減衰振動のみは周期的に増減を繰り返しながら減衰し、臨界振動は過減衰よりも早く収束する。以下では、周期的な増減のない速い動きをする臨界減衰の場合の実施例を述べる。
【0036】
パラメータt,k,dと式(2)の境界条件にあたる初速0の条件
【数19】

が与えられると、式(5)は、
【数20】

により、外力Fの一次式になり、移動位置x(t)は式(8)から容易に計算できる。なお、時刻tでの速度は、
【数21】

で表され、
【数22】

【数23】

【数24】

が0になるときのtで、収束する。
【0037】
本発明では、図1に示されるように、動作領域1001が複数の小領域1002に分割され、個々の小領域1002単位で外力1007に応じた各制御点1003の移動量が計算される。従って、本発明では、各制御点1003の移動量から外力1007が計算される場合にも、個々の小領域1002単位で各制御点1003の移動量から外力1007が計算される。この外力の計算にも前記式(8)が用いられることができる。
【0038】
以上では、小領域1002の制御点1003どうしがバネ1005とダンパー1006によりつながった構造の物理モデルが用いられた。しかしながら、より簡単な構造として、外力に単純比例する物理モデル、何れか1つの制御点あるいは小領域の重心などの特定点からの距離の二乗に反比例する重力モデルや電磁力モデルなどの他の種類の物理モデルを用いることも可能である。その場合には、それぞれに対応した方程式を解くことで、小領域1002内の制御点1003の移動量が計算されることができる。
【0039】
図2は、本発明の第1実施例による形態変形装置の構成を示すブロック図である。形態変形装置は、人の無表情顔画像を表情動作顔画像に変形する。本実施例の形態変形装置は、処理装置CNT1と記憶装置M1〜M6と表示装置DPYと入力装置KEYとを含んで構成されている。複数の記憶装置M1〜M6は、例えば磁気ディスクで構成され、そのうち、記憶装置M1は、人の無表情顔にかかる入力データS1を記憶する。記憶装置M6は、人の表情動作顔にかかる出力データS6を記憶する。残りの記憶装置M2〜M5は、中間結果や処理の過程で必要となる制御データを記憶する。表示装置DPYは、例えば液晶ディスプレイであり、出力データS6として得られた表情動作顔画像を表示し、処理過程のデータを表示するために使用される。入力装置KEYは、例えばキーボードとマウスで構成され、利用者から各種のデータや指示を受け付けるために利用される。制御装置CNT1は、例えばコンピュータの中央処理装置で構成され、本実施例の形態変形装置の主たる処理を実行する。制御装置CNT1は、動作領域指定部1、動作領域分割部2、制御点動作部3および動作内挿部4を有する。
【0040】
制御装置CNT1の各機能部1〜4は、制御装置CNT1を構成するコンピュータと形態変形装置用プログラムとで実現することができる。形態変形装置用プログラムは、磁気ディスク等のコンピュータ可読記録媒体PM1に記録されており、コンピュータの立ち上げ時などにそのコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータ上に各機能部1〜4を実現する。
【0041】
次に本発明の本実施例による形態変形装置の動作を説明する。制御装置CNT1は、記憶装置M1に記憶された入力データS1を入力して処理し、最終的に出力データS6を記憶装置M6に出力すると共に、出力データS6を表示するように表示装置DPYを制御する。その過程において、制御装置CNTは、記憶装置M3に記憶された制御点データS3をロードして利用し、記憶装置M2、M4およびM5に、動作領域指定済データS2、小領域分割済データS4および初期3D座標調整済制御点データS3’、終端3D座標設定済制御点データS3”を適宜保存する。以下、詳細に説明する。
【0042】
先ず制御装置CNT1の動作領域指定部1について説明する。動作領域指定部1は、記憶装置M1から入力データS1を入力し、この入力データS1の所望の領域が動作領域としてユーザにより指定される。ここで、動作領域として指定されるべき所望の領域は、表出されるべき表情に対応して予め定められている。本実施例の場合、FACSにおける動作単位毎に、その動作単位を生じさせる表情筋がついている部分が動作領域として指定される。例えば、FACSのNo.27の動作単位は、「口を大きく開ける」という内容を持つが、その動作単位の動作を行わせる場合には、口を含む領域が動作領域として指定される。このとき、後の制御点データS3の検索のために、その動作単位の番号(No.)が入力装置KEYからユーザにより入力され、制御装置CNT1内部に保存されている。
【0043】
動作領域指定部1によって指定された動作領域に関する情報は、入力データS1の画像や三次元データに付加され、動作領域指定済みデータS2として記憶装置M2に保存される。例えば、入力画像がRGBのカラー画像である場合は、動作領域指定済みデータS2は、各画像に1ビットのαを追加したRGBαとして保存され、αの値として、動作領域を1、それ以外を0にするという方法が考えられる。同様に、三次元データの場合は、(x、y、z、α)の形式で保存される。指定の方法は、例えばGUIを用いるツールで画像や三次元データが表示され、そこでマウスやタブレットにより動作領域を指定する方法が考えられる。
【0044】
動作領域指定部1の具体例を図3を参照して説明する。先ず、動作領域指定部1は、或る人物の顔の無表情画像を入力データS1として記憶装置M1からロードし、表示装置DPYの画面に表示する(ステップF101)。次に、動作領域指定部1は、FACSの動作単位番号をユーザから受け付ける(ステップF102)。動作領域指定部1は、FACSの各動作単位番号毎に、その動作単位を生じさせる表情筋がついている顔領域を示す典型的な動作領域の一覧を保有しており、ユーザから入力された動作単位番号に対応する動作領域を一覧から取得して表示装置DPYに表示する(ステップF103)。図3では破線で動作領域が表示されている。次に動作領域指定部1は、ユーザによるマウスのドラッグ操作などに従って動作領域の表示場所を移動させ、且つ動作領域のサイズや形を調整する(ステップF104)。図では、FACSのNo.27の動作単位を想定しており、口を含む適当な範囲に動作領域が調整されている。次に、動作領域指定部1は、指定された動作領域に関する情報を前述した方法で入力データS1に付加して動作領域指定済データS2を生成し、記憶装置M2に保存する(ステップF105)。
【0045】
次に動作領域分割部2について説明する。動作領域分割部2は、記憶装置M2から動作領域指定済データS2を入力し、記憶装置M3から入力した制御点データS3に基づいて、動作領域指定済データS2中の動作領域を複数の小領域に分割した小領域分割済データS4を生成し、制御点データS3の情報(初期3D座標調整済制御データS3’)と共に記憶装置M4に保存する。この小領域分割済データS4および初期3D座標調整済制御データS3’が、図1を参照して説明された顔モデルに相当する。以下、動作領域分割部2の処理の詳細を図4を参照して説明する。
【0046】
先ず、動作領域分割部2は、記憶装置M2から動作領域指定済データS2をロードし、その動作領域の全体が表示されるように必要に応じて拡大して表示装置DPYに表示する(ステップF111)。次に、動作領域分割部2は、動作領域指定済データS2で指定される動作領域に対応する制御点データS3を記憶装置M3からロードし、表示装置DPYに表示する(ステップF112)。例えば、動作領域指定済データS2で指定されている動作領域がFACSのNo.27の動作単位(口を大きく開ける)であった場合、No.27の動作単位に対応する制御点データをロードして表示する。或る動作単位に対応する制御点データS3は、その動作単位を生じさせる表情筋の端や内部に均等に配置した多数の制御点についての情報を含んでいる。
【0047】
図5は、1つの制御点データの構成例を示す。この例では、制御点データは、この制御点データに割り当てられた識別子である制御点番号(m)2001と、この制御点データの初期の三次元座標である初期3D座標(X0,Y0,Z0)2002と、この制御点データに割り当てられたタグ番号2003と、この制御点データに与えられる外力(fx,fy,fz)と、この制御点データの移動後の三次元座標である終端3D座標(Xt,Yt,Zt)2005と、この制御点データとつながる他の制御点データとの接続情報2006とを含んでいる。ここで、同じ小領域に属する制御点データには同じタグ番号2003が設定されている。また、初期3D座標2002には、標準顔における制御点の標準位置が初期設定されており、制御点の当初の表示はこの初期3D座標に基づいて行われる。終端3D座標2005はロード時点ではNULL値であり、後の移動量の計算時に値が設定される。接続情報2006には、接続先の制御点データの制御点番号と、接続先の制御点データとの間に介在するバネおよびダンパーの定数などが設定されている。なお、全ての制御点どうしが同じ定数のバネおよびダンパーでつながる場合、全ての制御点データの接続情報2006にそれらの情報を設定する必要はなく、どこか1箇所に設定されていればよい。
【0048】
次に動作領域分割部2は、ユーザによるマウスのドラッグ操作などに従って各制御点の位置を所望の場所に移動し、且つ微調整する(ステップF113)。この調整にあわせて、制御点データの初期3D座標2002が、無表情顔画像における画素のうち、その制御点データに最も近い画素の三次元座標に更新される。例えば、初期3D座標2002として(Xa,Ya,Za)を持つ或る制御点が三次元座標(Xb,Yb,Zb)に移動されたとき、その座標(Xb,Yb,Zb)に最も近い無表情顔画像における画素の三次元座標が(Xc,Yc,Zc)とすると、その制御点の初期3D座標2002が(Xc,Yc,Zc)に更新される。こうして、制御点の位置が無表情顔画像の画素にマッピングされる。
【0049】
次に動作領域分割部2は、動作領域を制御点でボロノイ分割し、ボロノイ分割により定められた領域にその制御点のタグ番号2003を割り当てる。同じタグ番号2003が割り当てられた隣接ボロノイ領域を一つの小領域にまとめることで、動作領域が複数の小領域に分割される(ステップF114)。各小領域にはそれを構成するボロノイ領域に割り当てられたタグ番号と同じタグ番号が割り当てられる。従って、小領域はタグ番号の数だけ生成される。次に、動作領域指定済データS2における分割領域内の各画素に、その画素が含まれる小領域のタグ番号を付けた画像を小領域分割済データS4として生成し、初期3D座標調整済の制御点データS3’と共に記憶装置M4に保存する(ステップF115)。小領域と小領域の境界上の画素は、それら複数の小領域に属するものとして扱われる。小領域分割済データS4として、各タグ番号毎に、そのタグ番号の小領域に含まれる画素の情報を記録したデータを用いられることもできる。
【0050】
次に、制御点動作部3の動作を説明する。制御点動作部3は、記憶装置M4から初期3D座標調整済の制御点データS3’を入力し、各小領域毎に、その小領域に含まれる全ての制御点の移動位置を計算する。計算方法は、その制御点を含む小領域がどのような物理モデルで表現されているかによって決まる。図1を参照して説明されたように小領域中の制御点がバネやダンパーでつながった物理モデルであれば、既に詳細に説明されたように初期位置と初速度の境界条件を与えて二階の常微分方程式を解くことで移動位置を計算することができる。より簡単な構造としては、外力に単純比例するモデル、制御点の一点や重心などの特定点からの距離の二乗に反比例する重力、電磁力モデルなども、それぞれに対応した方程式を解くことで解析的に計算できる。制御点動作部3の具体的な動作例を図6を参照して説明する。
【0051】
先ず、制御点動作部3は、記憶装置M4から初期3D座標調整済の制御点データS3’を入力する(ステップF121)。次に、1つの小領域、つまり1つのタグ番号に注目する(ステップF122)。次に、注目されている小領域に属する全ての制御点の移動位置が計算され、その制御点の終端3D座標2005に設定される(ステップF123)。注目されている小領域に属する全ての制御点とは、その小領域のタグ番号と同じタグ番号2003を持つ制御点である。図1を参照して説明されたように小領域中の制御点がバネやダンパーでつながった構造の場合、所定のパラメータを式(7)に代入することにより、各制御点データの初期3D座標2002と外力2004から終端3D座標が計算されることができる。ここで、所定のパラメータは、式(7)の場合、前述のt,k,dに相当する。これらは、制御点データS3に付加されておいて記憶装置M3からロードされても良いし、制御点動作部3に予め埋め込まれていてもよい。
【0052】
制御点動作部3は、1つの小領域に属する全ての制御点の移動位置が計算され、それらの制御点データの終端3D座標2005に設定されると、次の1つの小領域に注目を移し(ステップF124)、ステップF123に戻って前述と同様の処理を繰り返す。この処理を全ての小領域に対する処理が完了するまで繰り返した後(ステップF125でYES)、終端3D座標2005が設定された制御点データS3”は記憶装置M5に保存される(ステップF126)。
【0053】
次に動作内挿部4の動作を説明する。動作内挿部4は、記憶装置M4から小領域分割済データS4を入力すると共に記憶装置M5から終端3D座標設定済制御点データS3”を入力し、その小領域内の制御点の移動位置から、各小領域における制御点以外の画素の移動位置を図7Aと図7Bに示されるような線形内挿や外挿によって計算し、表情動作顔の画像もしくは三次元データを生成し、出力データS6として記憶装置M6に保存する。スプラインなどの高次の内挿、外挿を用いて計算が行われても良い。記憶装置M6に保存された出力データS6は、自動的あるいは入力装置KEYからの指示に応じて表示装置DPYに表示される。
【0054】
動作内挿部4の具体的な動作を図8を参照して説明する。先ず動作内挿部4は、記憶装置M4および記憶装置M5から小領域分割済データS4および終端3D座標設定済制御点データS3”を入力する(ステップF131)。次に、小領域分割済データS4における動作領域内の1つ小領域が注目され(ステップF132)、その小領域内の1つの画素が注目される(ステップF133)。その画素が属する注目中小領域内の制御点のうち、その画素の三次元座標に最も近い初期3D座標を持つ3つの制御点データが終端3D座標設定済制御点データS3”から検索される(ステップF134)。次に、検索された3つの制御点データの何れか1つの初期3D座標が注目されている画素の三次元座標と一致しているかどうかが判定される(ステップF135)。一致していれば、注目されている画素は制御点であるので、一致する制御点データの終端3D座標が注目小領域における注目画素の終端3D座標として保存される(ステップF136)。他方、一致していなければ、注目されている画素は非制御点であるので、3つの制御点データの終端3D座標から注目画素の移動位置が図7Aと図7Bに示されるような方法によって計算され(ステップF137)、計算された移動位置が注目小領域における注目された画素の終端3D座標として保存される(ステップF138)。
【0055】
動作内挿部4は、注目小領域内の1つの画素についての処理を終えると、注目小領域内の次の1つの画素に注目を移し(ステップF139)、前述の処理と同様の処理を繰り返す。注目小領域内の全ての画素についての処理を終えると(ステップS140でYES)、動作領域内の次の1つの小領域に注目を移し(ステップS141)、前述した処理と同様の処理を繰り返す。動作領域内の全ての小領域内の画素についての処理を終えると(ステップF142でYES)、動作領域内の各画素の終端3D座標を含む出力データS6を記憶装置M6に保存する(ステップF143)。
【0056】
図9は、本発明の第2実施例による形態変形装置を示している。図9を参照して、第2実施例による形態変形装置は、人の無表情顔画像を表情動作顔画像に変形する。第2実施例の形態変形装置は、記憶装置M7を備えている点と、処理装置CNT1が隣接小領域調整部5を更に有する点で、図2に示された第1実施例の形態変形装置と相違し、その他の点は第1実施例の形態変形装置と同じである。
【0057】
第2実施例では、動作領域が複数の小領域に分割され、各小領域単位で独立に移動量が計算されるので、隣接する小領域の移動量に明確な差があると、それらの小領域の境界部分に段差などの不連続箇所が発生する。例えば、図10Aに示されるように、移動前には互いに接していた2つの小領域1001、1002が、その移動量に差が生じると、図10Bに示されるように互いに離れた状態になったり、図10Cに示されるように互いに一部が重なったりする場合がある。本実施例の隣接小領域調整部5は、このような小領域の境界部分に発生する不連続な状態を調整する機能を有する。なお、隣接小領域調整部5は他の機能部1〜4と同様に記録媒体PM1に記憶されたプログラムと処理装置CNT1を構成するコンピュータとで実現されることができる。
【0058】
次に隣接小領域調整部5の動作を図11を参照して説明する。先ず隣接小領域調整部5は、記憶装置M4および記憶装置M6から小領域分割済データS4および出力データS6を入力する(ステップF201)。次に、小領域分割済データS4に基づいて、全ての小領域の境界点を全て探索する(ステップF202)。小領域の境界点とは、隣接する複数の小領域の境界上に位置する画素のことである。このような画素は複数の小領域に属しているので、小領域分割済データS4から複数の小領域に属する画素を全て抽出することで可能である。
【0059】
次に隣接小領域調整部5は、ステップF202で探索された境界点の1つに注目し(ステップF203)、その境界点が属する小領域を小領域分割済データS4から調べ、属する全ての小領域における終端3D座標を出力データS6から取り出してその平均(メジアンでも良い)を求める(ステップF204)。例えば、図10Aに示される或る1つの境界点1100が、移動後に図10B)や図10Cに示されるように、小領域1101については終端3D座標(Xa,Ya,Za)の点1103−1となり、小領域1102については終端3D座標(Xb,Yb,Zb)の点1103−2となった場合、{(Xa+Xb)/2,(Ya+Yb)/2,(Za+Zb)/2}が計算される。次に、この計算された平均値で、その境界点が属する全ての小領域における終端3D座標を更新する(ステップF205)。つまり、点1103−1の終端3D座標(Xa,Ya,Za)を{(Xa+Xb)/2,(Ya+Yb)/2,(Za+Zb)/2}に更新し、同じく点1103−2の終端3D座標(Xb,Yb,Zb)を{(Xa+Xb)/2,(Ya+Yb)/2,(Za+Zb)/2}に更新する。この更新は、処理装置CNT1内に入力された出力データS6のコピー上で行う。
【0060】
隣接小領域調整部5は、1つの境界点についての処理を終えると、次の1つの境界点に注目を移し(ステップF206)、ステップF204に戻って前述した処理と同様の処理を繰り返す。全ての境界点についての処理を終えると(ステップF207でYES)、次に小領域境界部の平滑化処理を行う(ステップF208)。
【0061】
小領域境界部の平滑化処理において、隣接小領域調整部5は、各小領域毎に、ステップS205で終端3D座標を変更した境界点の変更量をその境界点付近の画素に伝搬させることで、境界部を平滑化する。この平滑化処理F208の詳細を図12に示す。
【0062】
先ず隣接小領域調整部5は、1つの小領域に注目し(ステップF211)、補正係数をより小さく、且つ1に近い値に初期化する(ステップF212)。次に、注目小領域における隣接小領域との全ての境界点の3D補正量を計算する(ステップF213)。境界点の3D補正量とは、出力データS6に存在する注目小領域における当該境界点の終端3D座標と、図11のステップF204で計算されたその境界点が属する全ての小領域における終端3D座標の平均との差分である。例えば、或る境界点の或る小領域における終端3D座標が(Xa,Ya,Za)、図11のステップF204で計算されたその境界点が属する全ての小領域における終端3D座標の平均が{(Xa+Xb)/2,(Ya+Yb)/2,(Za+Zb)/2}とすると、3D補正量は、{(Xa+Xb)/2}−Xa、{(Ya+Yb)/2}−Ya、{(Za+Zb)/2}−Za}として求められる。
【0063】
次に、隣接小領域調整部5は、注目されている小領域における境界点に接する全ての画素を内接点として探索する(ステップF214)。例えば、図13に示されるように互いに接する2つの小領域1101、1102のうち、小領域1101が注目されている場合、小領域1102との境界上にある画素a〜fが当初の境界点になるので、画素a〜fに接する画素g〜lが内接点として求められる。
【0064】
次に、隣接小領域調整部5は、1つの内接点に注目し(ステップF215)、その内接点が接する全ての境界点の3D補正量の平均(メジアンでも良い)を計算する(ステップF216)。例えば、図13の画素gが1つの内接点として注目されている場合、それに接する境界点は画素a、bであるので、隣接小領域調整部5は、画素aの3D補正量と画素bの3D補正量の平均を計算する。次に、隣接小領域調整部5は、この計算された3D補正量の平均に補正係数を乗じて得られる3D補正量を、その内接点の終端3D座標に加算する(ステップF217)。その後、その内接点を新たな境界点として扱う(ステップF218)。隣接小領域調整部5は、1つの内接点に対する処理が終ると、次の1つの内接点に注目を移す(ステップF219)。例えば、図13の画素gの処理が終了すると、次に画素hに注目が移され、ステップF216に戻って上述した処理と同様の処理が繰り返される。こうして、ステップF214で見つけた全ての内接点g〜lに対する処理が終わると(ステップF220でYES)、隣接小領域調整部5は、補正係数の値から予め定められた一定値(例えば0.1、0.2など)を減じ(ステップF221)る。補正係数の値が0より大きければ(ステップF222でYES)、処理はステップF214に戻る。図13の場合、画素g〜lの処理が終了すると、それらの画素g〜lは新たな境界点として扱われるので、ステップF221で探索される新たな内接点の集合は画素m〜rとなる。こうして、当初の境界点a〜fの3D補正量が近隣の画素に伝搬されて平滑化されていく。
【0065】
隣接小領域調整部5は、補正係数の値が0以下になれば、注目している小領域に対する平滑化処理を終え、次の1つの小領域に注目を移し(ステップF223)、ステップF212に戻って前述した処理と同じ処理を繰り返す。隣接小領域調整部5は、全ての小領域に対する処理を終えると(ステップF224でYES)、小領域境界部の平滑化処理F208を終える。
【0066】
隣接小領域調整部5は、小領域境界部の平滑化処理を終えると、隣接小領域調整済データS7、つまり、出力データS6における小領域の境界部分に発生する不連続な状態を調整した出力データを記憶装置M7に出力する。記憶装置M7に保存された出力データS7は、自動的あるいは入力装置KEYからの指示に応じて表示装置DPYに表示される。
【0067】
図14は、本発明の第3実施例による形態変形装置を示している。第3実施例の形態変形装置は、人の無表情顔画像を表情動作顔画像に変形する。第3実施例の形態変形装置は、第2実施例の形態変形装置と同様であるが、記憶装置M8を備えている点と、処理装置CNT1が未動作領域調整部6を更に有する点で、図9に示した第2実施例の形態変形装置と相違する。
【0068】
図1で説明されたように、顔全体の領域1000上に少なくとも1つの動作領域1001が設定され、動作領域1001が変形の対象とされると、表情動作時に、動作領域1001と未動作領域の境界部分に段差などの不連続箇所が発生することがある。例えば、図15Aに示されるように、無表情画像では互いに接していた動作領域1201と未動作領域1202が、そのうち動作領域1201だけが移動するために、図15Bに示されるように動作領域1201と未動作領域1202とが重なる部分1203が生じたり、動作領域1201と未動作領域1202との間に隙間1204が生じたりする場合がある。本実施例の未動作領域調整部6は、このような動作領域と未動作領域との境界部分に発生する不連続な状態を調整する機能を有する。なお、未動作領域調整部6は他の機能部1〜5と同様に記録媒体PM1に記憶されたプログラムと処理装置CNT1を構成するコンピュータとで実現することが可能である。
【0069】
次に未動作領域調整部6の動作を図16を参照して説明する。先ず未動作領域調整部6は、記憶装置M2および記憶装置M7から動作領域指定済データS2および隣接小領域調整済データS7を入力する(ステップF301)。次に、未動作領域調整部6は、補正係数を1より小さく、且つ1に近い値に初期化し(ステップF302)、動作領域指定済データS2に基づいて、全ての内境界点の3D移動量を計算する(ステップF303)。内境界点とは、動作領域に属する画素のうち未動作領域との境界上に位置する画素のことである。例えば、図17に示されるように、ハッチングを施した桝目が当初の動作領域に属する画素とすると、ハッチングを施していない未動作領域との境界上に位置する画素a、b、cなどが内境界点である。また、内境界点の3D移動量とは、その内境界点の動作領域指定済データS2上での3D座標(つまり無表情時の位置)と隣接小領域調整済出力データS7上での3D座標(つまり表情動作時の位置)との差分のことである。
【0070】
次に、未動作領域調整部6は、動作領域指定済データS2に基づいて、全ての外境界点を探索する(ステップF304)。外境界点とは、未動作領域の画素のうち、動作領域の境界上に位置する画素のことである。例えば、図17の例では、画素d、e、fなどが外境界点である。
【0071】
次に、未動作領域調整部6は、ステップF304で探索された外境界点の1つに注目し(ステップF305)、その外境界点が接する全ての内境界点の3D移動量の平均(メジアンでも良い)を求める(ステップF306)。例えば、図17に示される画素eが外境界点として注目されている場合、その画素eに接する全ての内境界点は画素a、b、cであるので、それらの3D移動量の平均が計算される。次に、この計算された平均値に補正係数を乗じて得られる3D移動量が、その外境界点の終端3D座標に加算される(ステップF307)。そして、その外境界点が動作領域の点として扱われる(ステップF308)。1つの外境界点に対する処理が終ると、次の1つの外境界点に注目が移る(ステップF309)。例えば、図17の画素eの処理が終了すると、次に画素fに注目が移り、ステップF306に戻って上述の処理と同様の処理が繰り返される。こうして、ステップF304で見つけた全ての外境界点に対する処理を終えると(ステップF310でYES)、未動作領域調整部6は、補正係数の値から予め定められた一定値(例えば0.1や0.2など)を減じる。(ステップF311)。補正係数の値が0より大きければ(ステップF312でYES)、ステップF304の処理に戻る。図17の場合、画素d〜fなどの処理が終了すると、それらの画素d〜fなどは新たに動作領域として扱われるので、ステップF304で探索される新たな外境界点の集合は画素g〜mなどとなる。こうして、当初の境界点a〜cの3D移動量が未動作領域の画素に伝搬されて平滑化されていく。
【0072】
未動作領域調整部6は、補正係数の値が0以下になった時点で、未動作領域の調整処理を終え、未動作領域調整済データS8、つまり、隣接小領域調整済出力データS7における動作領域と未動作領域の境界部分に発生する不連続な状態を調整した出力データを記憶装置M8に出力する。記憶装置M8に保存された出力データS8は、自動的あるいは入力装置KEYからの指示に応じて表示装置DPYに表示される。
【0073】
図13の構成では、隣接小領域調整部5の実行後に未動作領域調整部6を実行したが、最初に未動作領域調整部6を実行して、出力データS6から動作領域と未動作領域との間の境界部分の不連続性を解消したデータを生成し、次に隣接小領域調整部5を実行して、更に小領域間の境界部分の不連続性を解消したデータを生成するようにしても良い。また。隣接小領域調整部5を省略し、未動作領域調整部6による調整だけを実行しても良い。
【0074】
図18は、本発明の第4実施例による顔動作符号化装置のブロック図であり、或る人物の無表情時と表情動作時の顔三次元データから、表情動作時の動作領域と外力を計算して出力する。本実施例の顔動作符号化装置は、処理装置CNT11と記憶装置M11〜M15と表示装置DPYと入力装置KEYとを含んでいる。複数の記憶装置M11〜M15は、例えば磁気ディスクで構成され、そのうち、記憶装置M11は入力データとなる無表情顔3DデータS100および表情動作顔3DデータS101を格納し、記憶装置M15は出力データとなる表情動作の外力データS12および表情動作の動作領域S13を格納し、残りの記憶装置M12〜M14は中間結果や処理の過程で必要となる制御データを格納する。表示装置DPYは、例えば液晶ディスプレイで構成され、処理過程のデータなどを表示するために使用される。入力装置KEYは、例えばキーボードとマウスで構成され、利用者から各種のデータや指示を受け付けるために利用される。制御装置CNT11は、例えばコンピュータの中央処理装置で構成され、本実施例の顔動作符号化装置の主たる処理を実行する。制御装置CNT11は、3D顔モデル付与部101、3D差分計算部102および外力計算部103を有する。
【0075】
制御装置CNT11の各機能部101〜103は、制御装置CNT11を構成するコンピュータと顔動作符号化装置用プログラムとで実現することができる。顔動作符号化装置用プログラムは、磁気ディスク等のコンピュータ可読記録媒体PM11に記録されており、コンピュータの立ち上げ時などにそのコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータ上に各機能部101〜103を実現する。
【0076】
次に本実施例にかかる顔動作符号化装置の動作を説明する。制御装置CNT11は、先ず3D顔モデル付与部101を用いて、記憶装置M11に記憶された符号化用に用いられる人物の無表情顔三次元データS100と表情動作顔三次元データS101を入力し、それぞれのデータに対して記憶装置M12に予め用意された顔三角ポリゴンメッシュモデルS105を整合させることにより、無表情時と表情動作時それぞれの顔三角ポリゴンメッシュモデルS102、S103を生成して記憶装置M13に保存する。次に、3D差分計算部102を用いて、記憶装置M13から無表情時と表情動作時それぞれの顔三角ポリゴンメッシュモデルS102、S103を入力し、両者を比較することにより、無表情顔から表情動作顔に表情が変わった際に動作(移動)したポリゴン及びその各頂点の移動前後の三次元座標を含む3D差分データS104を生成して記憶装置M14に保存する。次に、外力計算部103を用いて、記憶装置M14から3D差分データS104を入力し、無表情顔を表情動作顔に変形するために無表情顔の顔三角ポリゴンの各頂点に与えるべき外力を前述した式(7)によって計算し、無表情顔から表情動作顔に表情が変わった際に動作(移動)したポリゴンの情報を含む表情動作の動作領域S13およびそのポリゴンの各頂点に与える外力を含む表情動作の外力データS12を記憶装置M15に出力する。以下、より詳細に説明する。
【0077】
三次元顔モデル付与部101に入力される無表情時と表情動作時の顔三次元データS100、S101は、顔の三次元データを取得する部によって取得され、記憶装置M11に記憶される。顔の三次元データは、光照射型のレンジファインダ、ステレオ・多眼カメラによるステレオ画像計測、MRI計測、赤外線計測などの任意の部で計測されたデータで良く、あるいは人工的な三次元コンピュータグラフィックスで作成されたデータでも良い。なお、三次元データに付随される情報としてのテクスチャは、2つの顔データ間の部位の対応をとるためにあることが望ましいが、2つの顔データ間の部位の対応を見つける別の部がある場合は必須ではない。例えば、光照射型のレンジファインダで取得する場合、光に反射する特殊なマーカーを顔に貼り付けたり、赤外線画像で取得する場合、体温と異なる温度をもつマーカーを貼り付けて取得する場合などが考えられる。テクスチャを取得する場合でも、顔の一部にマーカーが描かれている場合等、顔全体のテクスチャは必須ではない。
【0078】
記憶装置M12には、図19に示されるような顔三角ポリゴンメッシュモデルS105が保存されている。ポリゴン数および個々のポリゴンのサイズは任意であるが、三角メッシュの頂点の一部が顔の特徴点に対応するよう生成されている。三次元顔モデル付与部101は、無表情顔三次元データS100に顔三角ポリゴンメッシュモデルS105を整合させることで、三次元化無表情顔三角ポリゴンメッシュモデルS102を生成する。具体的には、表示装置DPYの画面に無表情顔三次元データS100と顔三角ポリゴンメッシュモデルS105とを表示し、ユーザによる入力装置KEYからの操作によって、顔三角ポリゴンメッシュモデルS105の各頂点をその頂点に対応付けられるべき顔の特徴点にマッピングさせていく。無表情顔三次元データS100の特徴点を手がかりに、顔三角ポリゴンメッシュモデルS105の一部の頂点を自動で対応付けることも可能である。例えば、顔三角ポリゴンメッシュモデルS105の或る特定のポリゴンの或る特定の頂点が、鼻の先端部に対応させられる頂点である場合、鼻の先端部に付けられたマーカーの位置を検出して自動的に対応付けることができる。三次元顔モデル付与部101は、顔三角ポリゴンメッシュモデルS105における各ポリゴンの各頂点に、その頂点に対応付けられた無表情顔三次元データS100の点の三次元座標を割り当てていき、全てのポリゴンの頂点に無表情顔三次元データS100の点の三次元座標を割り当て終えたものを、三次元化無表情顔三角ポリゴンメッシュモデルS102として記憶装置M13に保存する。
【0079】
同様の方法で、三次元顔モデル付与部101は、表情顔三次元データS101に顔三角ポリゴンメッシュモデルS105を整合させることで、三次元表情動作顔三角ポリゴンメッシュモデルS103を生成する。
【0080】
三次元差分計算部102は、各ポリゴンの各頂点に無表情顔の三次元座標が割り当てられた三次元化無表情顔三角ポリゴンメッシュモデルS102と、各ポリゴンの各頂点に表情動作顔の三次元座標が割り当てられた三次元化表情動作顔三角ポリゴンメッシュモデルS103との同じポリゴンの同じ頂点どうしで三次元座標の差をとる。例えば、三次元差分計算部102は、モデルS102とS103の同じポリゴンを図20に示すS102−1、S103−1とすると、同じ頂点aとa’どうし、同じ頂点bとb’どうし、同じ頂点cとc’どうしで三次元座標の差をとる。そして、三次元座標の差のノルムつまり距離があらかじめ決めた閾値以上の領域を表情時の動作領域とし、領域外を未動作領域とする。この実施例では、点は三角ポリゴンの頂点しかないので、ポリゴン単位で動作領域が決められる。すなわち、ポリゴンの三頂点のいずれかが動作領域の点であれば、そのポリゴンは動作領域、そうでないポリゴンは未動作領域になる。また、この実施例では、動作領域を分割した小領域は各三角ポリゴンになる。三次元差分計算部102は、このようにして決めた動作領域の顔三角ポリゴンメッシュモデルのポリゴン番号、その頂点に割り当てられた無表情顔および表情動作顔の三次元座標を含むデータを三次元差分データS104として記憶装置M14に保存する。
【0081】
図21に三次元差分データS104の内容例を示す。顔三角ポリゴンメッシュモデルS105の各ポリゴン毎にポリゴン番号mが設定され、各ポリゴンの頂点毎に頂点番号iが設定され、その頂点を含むポリゴンが動作領域かどうかを示すフラグと、その頂点に対応する無表情顔の三次元座標と、その頂点に対応する表情動作顔の三次元座標とを含んで構成される。
【0082】
外力計算部103は、三次元差分データS104から動作領域になっているポリゴンのデータを入力し、そのポリゴンの頂点の無表情時の三次元座標、表情動作時の三次元座標および必要なパラメータを用いて、各頂点の位置を無表情時の位置から表情動作時の位置に移動させるのに必要な外力を計算する。具体的には、外力計算部103は、前述の式(7)に、パラメータt,k,dと、無表情時の制御点の三次元座標としてのxi(0)と、表情動作時の制御点の三次元座標としてのxi(t)と、その初期条件を与えて、外力Fiを計算する。制御点の取り方はポリゴン内で自由であるが、最も簡単なケースとして、本実施例では図22Aと図22Bのようにポリゴンの三頂点が制御点にとられている。この場合、(6)の行列の要素はn=3として計算可能になる。
【0083】
図23は本発明の第5実施例による顔動作復号化装置のブロック図であり、或る人物の無表情時の顔三次元データを表情動作時の外力情報に基づいて変形し、その人物の表情動作時の顔三次元データを生成して出力する。本実施例の顔動作復号化装置は、処理装置CNT21と記憶装置M21〜M26と表示装置DPYと入力装置KEYとを含んでいる。複数の記憶装置M21〜M26は、例えば磁気ディスクで構成されている。記憶装置M21、M22は入力データとなる無表情顔3DデータS300および表情動作時の外力情報S30を格納し、記憶装置M26は出力データとなる表情顔3Dデータ32を格納し、残りの記憶装置M23〜M25は中間結果や処理の過程で必要となる制御データを格納する。表示装置DPYは、例えば液晶ディスプレイで構成され、生成された表情顔3Dデータ32および処理過程のデータなどを表示するために使用される。入力装置KEYは、例えばキーボードとマウスで構成され、利用者から各種のデータや指示を受け付けるために利用される。制御装置CNT21は、例えばコンピュータの中央処理装置で構成され、本実施例の顔動作復号化装置の主たる処理を実行する。制御装置CNT21は、3D顔モデル対応部301、移動量計算部302および表情作成部31を有する。
【0084】
制御装置CNT21の各機能部301、302、31は、制御装置CNT21を構成するコンピュータと顔動作復号化装置用プログラムとで実現することができる。顔動作復号化装置用プログラムは、磁気ディスク等のコンピュータ可読記録媒体PM21に記録されており、コンピュータの立ち上げ時などにそのコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータ上に各機能部301、302、31を実現する。
【0085】
次に本実施例にかかる顔動作復号化装置の動作を説明する。制御装置CNT21は、先ず3D顔モデル対応部301を用いて、記憶装置M21に記憶された復号化用に用いられる或る人物の無表情顔三次元データS300を入力し、そのデータに対して記憶装置M23に予め用意された顔三角ポリゴンメッシュモデルS105を整合させることにより、三次元化無表情顔三角ポリゴンメッシュモデルS302を生成して記憶装置M24に保存する。次に、移動量計算部302を用いて、記憶装置M22に記憶された表情動作の外力情報S30に従って、記憶装置M24に保存された三次元化無表情顔三角ポリゴンメッシュモデルS302の動作領域における各制御点の移動位置を計算し、制御点の移動位置データS303として記憶装置M25に保存する。次に、表情作成部31を用いて、記憶装置M25に保存された制御点の移動位置データS303の基づいて、記憶装置M21に記憶された無表情顔三次元データS300を変形し、表情動作時の表情動作顔の三次元データを生成し、表情顔3DデータS32として記憶装置M26に保存し、また表示装置DPYに表示する。以下、詳細を説明する。
【0086】
記憶装置M22の表情動作の外力情報S30としては、図18に示される第4実施例の顔動作符号化装置で生成された表情動作の外力データS12および表情動作の動作領域S13に相当する情報が用いられる。また、記憶装置M23に用意される顔三角ポリゴンメッシュモデルS105としては、図18に示される第4実施例の顔動作符号化装置で使われた顔三角ポリゴンメッシュモデルS105と同じモデルが使われる。
【0087】
三次元顔モデル対応部301は、図18に示される第4実施例の顔動作符号化装置の三次元顔モデル付与部101と同様の方法で、無表情顔三次元データS300に顔三角ポリゴンメッシュモデルS105を整合させることで、三次元化無表情顔三角ポリゴンメッシュモデルS302を生成する。つまり、顔三角ポリゴンメッシュモデルS105における各ポリゴンの各頂点に、その頂点に対応する無表情顔三次元データS300の点の三次元座標が割り当てられ、全てのポリゴンの頂点に無表情顔三次元データS300の点の三次元座標が割り当てられたとき、その結果は、三次元化無表情顔三角ポリゴンメッシュモデルS302として記憶装置M24に保存する。
【0088】
移動量計算部302は、顔三角ポリゴンメッシュモデルS105に対応した表情動作時の外力情報S30を記憶装置M22から入力し、図2の第1実施例の制御点動作部3と同様の方法で、表情動作時の制御点の移動位置S303を計算する。例えば、図18の実施例4と同じような顔三角ポリゴンメッシュモデルが用いられている場合、移動量計算部302は、ポリゴンの三頂点の三次元座標と外力情報S30に記載されているポリゴンの頂点に働く外力を用いて、前記式(6)の要素をn=3として前記式(7)を計算することにより、各ポリゴンの頂点の表情動作時の移動位置を計算する。
【0089】
表情作成部31は、記憶装置M21に記憶された無表情顔3DデータS300を構成する点のうち、顔三角ポリゴンメッシュモデルS105の動作領域におけるポリゴンの頂点に対応する点の移動位置は位置データS303で既に計算されているので、それ以外の点(ポリゴン内点)の移動位置を、図2の第1実施例の動作内挿部4と同様の方法で算出する。例えば、顔三角ポリゴンメッシュモデルが用いられている場合は、表情作成部31は、各ポリゴン内点の移動位置を頂点の移動位置から内挿によって計算する。そして、無表情顔3DデータS300の各点の3次元座標をその移動位置だけ修正して、表情顔三次元データS32を生成する。
【0090】
ただし、ポリゴンの頂点は、複数の異なるポリゴンに含まれることが普通であるので、図10で説明されたように隣接する小領域(この場合、ポリゴン)の境界部分に段差などが生じ易い。このため、表情作成部31に、図9の第2実施例の隣接小領域調整部5と同様の機能を組み込んで、段差などを解消するのが望ましい。また、図14の第3実施例の未動作領域調整部6と同等の機能を表情作成部31に組み込んで、動作領域と未動作領域との境界部分に生じる段差などを解消するようにしても良い。
【0091】
図23の第5実施例では、或る人物の無表情時の顔三次元データS300を唯一の表情動作の外力情報S30に基づいて変形したが、無表情顔三次元データS300をそれぞれ異なる複数の表情動作の外力情報S30に基づいて変形することもできる。この場合、移動量計算部302は、同じ制御点にかかる外力どうしを加算することにより複数の表情動作の外力情報S30を1つの外力情報に合成し、その合成外力に基づいて制御点の移動位置データS303を算出する。これにより、複数の外力情報S30に応じた最終的な制御点の移動位置データが算出されるか、あるいは、それぞれの外力情報S30に基づいて制御点の移動位置データS303を算出した後、同じ制御点にかかる移動位置の平均を求めることにより、複数の外力情報S30に応じた最終的な制御点の移動位置データが算出される。
【0092】
図24は本発明の第6実施例による顔動作復号化装置のブロック図であり、或る人物の無表情時の顔画像(二次元顔画像)を表情動作時の外力情報に基づいて変形し、その人物の表情動作時の顔画像(二次元顔画像)を生成して出力する。つまり、本実施例の顔動作復号化装置では、図23に示される第5実施例の顔動作復号化装置における無表情顔三次元データS300が無表情顔画像S301により置換され、出力の表情顔三次元データS32が表情顔画像S32に置換されている。
【0093】
本実施例の顔動作復号化装置は、処理装置CNT31と記憶装置M31〜M36と表示装置DPYと入力装置KEYとを含んでいる。複数の記憶装置M31〜M36は、例えば磁気ディスクで構成され、記憶装置M31、M32は入力データとなる無表情顔画像S301および表情動作時の外力情報S30を記憶し、記憶装置M36は出力データとなる表情顔画像S33を格納し、残りの記憶装置M33〜M35は中間結果や処理の過程で必要となる制御データを格納する。表示装置DPYは、例えば液晶ディスプレイで構成され、生成された表情顔画像S33および処理過程のデータなどを表示する。入力装置KEYは、例えばキーボードとマウスで構成され、利用者から各種のデータや指示を受け付ける。制御装置CNT31は、例えばコンピュータの中央処理装置で構成され、本実施例の顔動作復号化装置の主たる処理を実行する。制御装置CNT31は、顔画像三次元化部300、動作量計算部302および表情画像作成部33を有する。
【0094】
制御装置CNT31の各機能部300、302、33は、制御装置CNT31を構成するコンピュータと顔動作復号化装置用プログラムとで実現することができる。顔動作復号化装置用プログラムは、磁気ディスク等のコンピュータ可読記録媒体PM31に記録されており、コンピュータの立ち上げ時などにそのコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータ上に各機能部300、302、33を実現する。
【0095】
次に本実施例にかかる顔動作復号化装置の動作を説明する。制御装置CNT31は、先ず顔画像三次元化部300を用いて、記憶装置M31に記憶された復号化用に用いられる或る人物の無表情顔画像S301を入力し、記憶装置M33に予め用意された無表情顔の三次元モデルS302に貼り付けることで、復号用の無表情顔三次元データS300を生成し、記憶装置M34に保存する。この保存された無表情顔三次元データS300が、図23の第5実施例の三次元化無表情顔三角ポリゴンメッシュモデルS302に相当する。次に、図23の第5実施例と同様に移動量計算部302を用いて、記憶装置M32に記憶された表情動作の外力情報S30に従って、記憶装置M34に保存された無表情顔三次元データS300の動作領域における各制御点の移動位置が計算され、制御点の移動位置データS303として記憶装置M35に保存される。次に、表情画像作成部33を用いて、図23の第5実施例の表情作成部31と同様の処理により、記憶装置M35に保存された制御点の移動位置データS303に基づいて、記憶装置M34に記憶された無表情顔三次元データS300が変形されて、表情動作時の表情動作顔の三次元データが生成される。次いで、この三次元データから表情顔画像S33が生成されて記憶装置M36に保存され、また表示装置DPYに表示される。以下、詳細を説明する。
【0096】
記憶装置M32の表情動作の外力情報S30としては、図18に示される第4実施例の顔動作符号化装置で生成された表情動作の外力データS12および表情動作の動作領域S13に相当する情報が用いられる。また、記憶装置M33に用意される無表情顔の三次元モデルS302としては、図18に示される第4実施例の顔動作符号化装置で使われた顔三角ポリゴンメッシュモデルS105と同じメッシュモデルを用いた或る人物の三次元モデルが使われる。
【0097】
顔画像三次元化部300は、復号用の無表情顔画像S301とともに無表情顔の三次元モデルS302を入力して、復号用の無表情顔画像S301を無表情顔の三次元モデルS302に貼り付け、復号用の無表情顔三次元データS300を作成する。貼り付け方の例としては、特定の人物の無表情顔三次元データを顔三次元モデルとして登録し、その顔モデルの特徴点を復号用の無表情顔画像S301の特徴点と対応させ、特徴点以外の点では特徴点との相対位置関係から図7に示されるように内挿、外挿によって対応を与える。この対応が与えられると、顔三次元モデルS302のテクスチャ情報として復号用の無表情顔画像S301が随伴したものが復号用の無表情顔三次元データS300として扱われることができる。なお、上記の特定の人物の無表情顔三次元データS302は、実在の人物のものである必要はなく、実在人物の無表情顔三次元データの平均をとった平均顔のようなものであっても良い。貼り付け方の他の例としては、図19に示されるように三角メッシュの頂点の一部が顔の特徴点に対応した顔メッシュモデルを無表情顔の三次元モデルS302として使う方法もある。図19からわかるように全体が顔の三次元形状を模すような三次元座標が三角メッシュの各頂点に与えられている。この顔メッシュモデルは人工的に作った非常に荒い表現の顔三次元データとみなすことができ、復号用の無表情顔画像S301と顔メッシュモデルを特徴点単位で対応づけ、特徴点外の点は図7に示されるような内挿、外挿によって対応を与え、無表情顔三次元データの場合と同様にして復号用の無表情顔三次元データS300を作成する。
【0098】
表情画像作成部33は、実施例5の表情作成部31と同様に出力する復号時の表情動作顔の三次元データを作成後、その顔三次元データを指定したビューに投影して復号時の表情動作顔画像S33を生成し、記憶装置M36に出力する。
【0099】
図24の第6実施例では、或る人物の無表情時の顔画像S301が唯一の表情動作の外力情報S30に基づいて変形されたが、図23の第5実施例と同様に、無表情顔画像S301がそれぞれ異なる複数の表情動作の外力情報S30に基づいて変形されてもよい。
【0100】
なお、第5実施例では、無表情顔三次元データS300が入力され、表情動作顔の三次元データS32が出力され、第6実施例では、無表情顔画像S301が入力され、表情動作顔画像S33が出力される。他の例として、無表情顔三次元データS300が入力され、表情動作顔画像S33が出力される顔動作復号化装置や、無表情顔画像S301が入力され、表情動作顔の三次元データS32が出力される顔動作復号化装置も考えられる。
【0101】
図25は本発明の第7実施例による顔動作符号化装置のブロック図であり、第4実施例と同様に、或る人物の無表情時と表情動作時の顔三次元データから、表情動作時の動作領域と外力を計算して出力する。本実施例の顔動作符号化装置は、処理装置CNT41と記憶装置M41〜M43と表示装置DPYと入力装置KEYとを含んでいる。複数の記憶装置M41〜M43は、例えば磁気ディスクで構成され、記憶装置M41は入力データとなる無表情顔3DデータS100および表情動作顔3DデータS101を格納し、記憶装置M43は出力データとなる表情動作の外力データS12および表情動作の動作領域S13を格納し、残りの記憶装置M42は中間結果を格納する。表示装置DPYは、例えば液晶ディスプレイで構成され、処理過程のデータなどを表示するために使用される。入力装置KEYは、例えばキーボードとマウスで構成され、利用者から各種のデータや指示を受け付けるために利用される。制御装置CNT41は、例えばコンピュータの中央処理装置で構成され、本実施例の顔動作符号化装置の主たる処理を実行する。制御装置CNT41は、差分計算部10および外力計算部11を有する。
【0102】
制御装置CNT41の各機能部10、11は、制御装置CNT41を構成するコンピュータと顔動作符号化装置用プログラムとで実現することができる。顔動作符号化装置用プログラムは、磁気ディスク等のコンピュータ可読記録媒体PM41に記録されており、コンピュータの立ち上げ時などにそのコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータ上に各機能部10、11を実現する。
【0103】
次に本実施例にかかる顔動作符号化装置の動作を説明する。制御装置CNT41は、先ず差分計算部10を用いて、記憶装置M11に記憶された符号化用に用いられる人物の無表情顔三次元データS100と表情動作顔三次元データS101を入力し、これらの入力データから三次元座標差S11を生成し、記憶装置M42に保存する。差分計算部10は具体的には以下のような処理を行う。
【0104】
差分計算部10は、無表情時と表情動作時の顔三次元データS100、S101の同じ部位間(例えば無表情顔右目目尻と表情動作顔右目目尻など)を対応つける。対応のつけ方は、前述のマーカー等を手がかりに自動化してもよいし、双方の画像を表示装置DPYに表示してGUIのツールを用いてユーザによる手動で対応づけても良い。現実にはすべての点において対応づけることは難しいので、マーカーのある部分や目、口、鼻等の特徴的な部分のみ対応をとり、その他の部分は、線形内挿のような方法で特徴的な部位との相対的な位置で対応づけるのが妥当である。対応づけが終わると、無表情顔三次元データS100と表情動作顔の三次元データS101の対応点間で三次元座標の差を計算する。次に、三次元座標の差のノルムつまり距離があらかじめ決められた閾値以上の領域、もしくはその動作に表情筋が付着している領域といった制限つきの領域を表情時の動作領域とし、領域外を未動作領域とする。そして、動作領域に属する点(動作点)について、無表情顔三次元データの位置(三次元座標もしくはそれを円筒など二次元面に投影した時のその面での座標上の二次元座標)とその三次元座標差を三次元座標差S11として出力する。
【0105】
外力計算部11は、動作点に関してのみ無表情顔三次元データの位置とその三次元座標差を記した三次元座標差S11を用いて、その動作点の位置を無表情顔三次元データの位置から三次元座標差だけ移動させるのに要する外力を計算し、表情動作の外力データS12として出力する。また、外力が働き表情動作が起こる動作領域S13を出力する。動作領域S13は、図1で説明されたようにバネとダンパーで相互に接続された3点以上の制御点が外力をうけ、制御点に引きずられて一体になって動く小領域に分割され、小領域それぞれの動作が全体の動作領域の動作になる。各小領域での力学システムは、すべてのバネとダンパーが同じバネ定数とダンパー定数をもつと仮定することで、前述したように定式化することができる。
【0106】
図26は本発明の第8の実施例のブロック図であり、図23の実施例5と同様に、或る人物の無表情時の顔三次元データを表情動作時の外力情報に基づいて変形し、その人物の表情動作時の顔三次元データを生成して出力する顔動作復号化装置に本発明を適用した実施例を示す。本実施例の顔動作復号化装置は、処理装置CNT51と記憶装置M51〜M54と表示装置DPYと入力装置KEYとを含んで構成されている。複数の記憶装置M51〜M54は、例えば磁気ディスクで構成され、そのうち、記憶装置M51、M52は入力データとなる無表情顔3DデータS300および表情動作時の外力情報S30を格納し、記憶装置M54は出力データとなる表情顔3Dデータ32を格納し、残りの記憶装置M53は中間結果を格納する。表示装置DPYは、例えば液晶ディスプレイで構成され、生成された表情顔3DデータS32および処理過程のデータなどを表示するために使用される。入力装置KEYは、例えばキーボードとマウスで構成され、利用者から各種のデータや指示を受け付けるために利用される。制御装置CNT51は、例えばコンピュータの中央処理装置で構成され、本実施例の顔動作復号化装置の主たる処理を実行する。制御装置CNT51は、外力復号部30および表情作成部31を有する。
【0107】
制御装置CNT51の各機能部30、31は、制御装置CNT51を構成するコンピュータと顔動作復号化装置用プログラムとで実現することができる。顔動作復号化装置用プログラムは、磁気ディスク等のコンピュータ可読記録媒体PM51に記録されており、コンピュータの立ち上げ時などにそのコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータ上に各機能部30、31を実現する。
【0108】
次に本実施例にかかる顔動作復号化装置の動作を説明する。制御装置CNT51は、先ず外力復号部30を用いて、記憶装置M51に記憶された無表情顔三次元データS300と記憶装置M52に記憶された無表情動作の外力情報S30を入力する。
【0109】
ここで、無表情動作の外力情報S30は、図25の実施例7における表情動作の外力データS12と表情動作の動作領域S13を統合したものである。具体的には、動作領域S13は、顔の一部を示す領域、両目や口裂点などの特徴点の位置や距離を基準にした相対的な位置で記述された領域として保存される。保存フォーマットとしては、顔面を平面、円筒、球面等の平面に投射して、二次元座標で保存する方法が考えられる。また本発明では動作領域を小領域にわけるので、二次元座標上でも動作領域を小領域に分割しておく。これは、地球を顔、地球上の一部の大陸を動作領域、その大陸内の国を小領域とし、世界地図を動作領域の投影面として考えると理解しやすい。小領域は、制御点の組を作るために付番しておく。外力データS12としては、小領域の制御点にかかる外力三次元ベクトルと小領域の番号、動作領域と同じ二次元座標上の制御点の位置が保存される。
【0110】
外力復号部30は、無表情顔三次元データS300と無表情動作の外力情報S30とから、例えば以下のようにして制御点の表情動作移動位置データS31を生成し、記憶装置M53に保存する。先ず、外力復号部30は、無表情顔三次元データS300を、外力情報S30の動作領域と同じく顔特徴点の位置や距離を基準にした相対的な位置で記述されたフォーマットに展開する。次に、外力情報S30の動作領域に対応する部分をその展開されたフォーマット上で探し、その部分を無表情顔三次元データs300の動作領域とする。小領域と制御点についても同様にして無表情顔三次元データS300の対応領域、対応点を探す。この処理は、無表情顔三次元データS300を表示装置DPYに表示し、外力情報30に記述されている制御点、小領域との対応付けをGUIなどのツールでユーザが手動で行ってもよいし、特徴点を元に自動的に行ってもよい。無表情顔三次元データS300の対応制御点が見つかると、外力復号部30は、その点の三次元座標を前記式(7)のxi(0)に割り当てる。また、その制御点(の対応点)の外力を外力情報S30から読み込み、前記式(7)の外力Fiとする。すべての制御点に関してこの処理を行った後、パラメータdと表情動作の強度を表すtを与えて外力情報30の小領域番号が同じ制御点組で前記式(7)から表情動作後の制御点の三次元位置xi(t)を計算する。この移動後の制御点の三次元位置情報と、位置復号用の無表情顔三次元データS300での動作領域、小領域、制御点の上記フォーマットでの位置情報を制御点の表情動作移動位置S31とする。
【0111】
表情生成部31は、無表情顔三次元データS300の制御点を表情動作移動位置S31で示される位置に移動させ、その他の点は同じ小領域に属する制御点との相対位置から内挿、外挿により移動位置の三次元座標を計算して、顔三次元データS300での対応位置をその移動位置に移動させる。すべての動作領域中の点を移動させると、表情動作顔の三次元データS32が完成する。表情動作顔の三次元データS32は、復号用の無表情動顔三次元データS300にテクスチャが付随していれば、色情報がついた顔三次元データになる。なお、図23に示した実施例5の表情作成部31と同様に、表情作成部31に、図9の隣接小領域調整部5と同様の機能を組み込んで、小領域の境界部分における段差などを解消するようにしても良く、また、図14の未動作領域調整部6と同等の機能を表情作成部31に組み込んで、動作領域と未動作領域との境界部分に生じる段差などを解消するようにしても良い。
【0112】
図26の実施例8では、或る人物の無表情時の顔三次元データS300を唯一の表情動作の外力情報S30に基づいて変形したが、無表情顔三次元データS300をそれぞれ異なる複数の表情動作の外力情報S30に基づいて変形することもできる。この場合、外力復号部30は、同じ制御点にかかる外力どうしを加算することにより複数の表情動作の外力情報S30を1つの外力情報に合成し、その合成外力に基づいて制御点の表情動作移動位置データS31を算出することにより、複数の外力情報S30に応じた最終的な制御点の表情動作移動位置データを算出するか、あるいは、それぞれの外力情報S30に基づいて制御点の表情動作移動位置データS31を算出した後、同じ制御点にかかる移動位置の平均を求めることにより、複数の外力情報S30に応じた最終的な制御点の表情動作移動位置データを算出する。
【0113】
図27は本発明の第9の実施例のブロック図であり、或る人物の無表情時の顔画像(二次元顔画像)を表情動作時の外力情報に基づいて変形し、その人物の表情動作時の顔画像(二次元顔画像)を生成して出力する顔動作復号化装置に本発明を適用した実施例を示す。つまり、本実施例の顔動作復号化装置は、図26に示した実施例8の顔動作復号化装置における入力である無表情顔三次元データS300を無表情顔画像S301に代え、出力の表情顔三次元データS32を表情顔画像S32に代えたものである。
【0114】
本実施例の顔動作復号化装置は、処理装置CNT61と記憶装置M61〜M66と表示装置DPYと入力装置KEYとを含んで構成されている。複数の記憶装置M61〜M66は、例えば磁気ディスクで構成され、そのうち、記憶装置M61、M62は入力データとなる無表情顔画像S301および表情動作時の外力情報S30を格納し、記憶装置M66は出力データとなる表情顔画像S33を格納し、残りの記憶装置M63〜M65は中間結果や処理の過程で必要となる制御データを格納する。表示装置DPYは、例えば液晶ディスプレイで構成され、生成された表情顔画像S33および処理過程のデータなどを表示する。入力装置KEYは、例えばキーボードとマウスで構成され、利用者から各種のデータや指示を受け付ける。制御装置CNT61は、例えばコンピュータの中央処理装置で構成され、本実施例の顔動作復号化装置の主たる処理を実行する。制御装置CNT61は、顔画像三次元化部32、外力復号部30および表情画像作成部33を有する。
【0115】
制御装置CNT61の各機能部32、30、33は、制御装置CNT61を構成するコンピュータと顔動作復号化装置用プログラムとで実現することができる。顔動作復号化装置用プログラムは、磁気ディスク等のコンピュータ可読記録媒体PM61に記録されており、コンピュータの立ち上げ時などにそのコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータ上に各機能部32、30、33を実現する。
【0116】
次に本実施例にかかる顔動作復号化装置の動作を説明する。制御装置CNT61は、先ず顔画像三次元化部32を用いて、記憶装置M61に記憶された復号化用に用いられる或る人物の無表情顔画像S301を入力し、記憶装置M63に予め用意された無表情顔の三次元モデルS302に貼り付けることで、復号用の無表情顔三次元データS300を生成し、記憶装置M64に保存する。次に、図26の第8実施例と同様に、外力復号部30を用いて、記憶装置M62に記憶された表情動作の外力情報S30に従って、記憶装置M64に保存された復号用の無表情顔三次元データS300の動作領域における各制御点の移動位置が計算され、制御点の表情動作移動位置データS31として記憶装置M65に保存される。次に、表情画像作成部33を用いて、図26の第8実施例の表情作成部31と同様に、記憶装置M65に保存された制御点の表情動作移動位置データS31に基づいて、記憶装置M64に格納された復元用の無表情顔三次元データS300が変形さされて表情動作時の表情動作顔の三次元データが生成され、次いで、この三次元データを指定したビューに投影して復号時の表情動作顔画像S33が生成され、記憶装置M36に出力される。
【0117】
なお、第8実施例では、無表情顔三次元データS300が入力され、表情動作顔の三次元データS32が出力され、第9実施例では、無表情顔画像S301が入力され、表情動作顔画像S33が出力された。他の例として、無表情顔三次元データS300が入力され、表情動作顔画像S33が出力される顔動作復号化装置や、無表情顔画像S301が入力され、表情動作顔の三次元データS32が出力される顔動作復号化装置も考えられる。
【0118】
図27の第9実施例では、或る人物の無表情顔画像S301が唯一の表情動作の外力情報S30に基づいて変形されたが、図26の第8実施例と同様に、無表情顔画像S301がそれぞれ異なる複数の表情動作の外力情報S30に基づいて変形されてもよい。
【0119】
図28は本発明の第10実施例による顔動作符号復号化装置のブロック図であり、或る人物Aの無表情時と表情動作時の三次元データの組から別の人物Bの無表情顔の三次元データに表情動作を付与する。
【0120】
本実施例の顔動作符号復号化装置は、符号化装置71、伝送装置72、復号化装置73を備えており、伝送装置72と復号化装置73とは通信路74によって通信可能に接続されている。また、復号化装置71の入力データとなる人物Aの無表情顔三次元データS100および人物Aの表情動作顔三次元データS101を記憶する記憶装置M71、復号化装置71で生成された表情動作の外力データS12および表情動作の動作領域S13を保存する記憶装置M72、伝送装置72が表情動作の外力データS12および動作領域S13を統合して作成した表情動作の外力情報S30を一時的に保存する記憶装置M73、人物Bの無表情顔三次元データS300を記憶する記憶装置M74、通信路74を通じて伝送装置72から送られてくる表情動作の外力情報S30と記憶装置M74に記憶された人物Bの無表情顔三次元データS300とに基づいて復号化装置73で生成された人物Bの表情顔三次元データS32を保存する記憶装置M75を備えている。
【0121】
符号化装置71は、図25に示される実施例7の顔動作符号化装置で実現することができる。つまり、符号化装置71は、図25の差分計算部10および外力計算部11を備える処理装置CNT41、記憶装置M42、表示装置DPYおよび入力装置KEYで構成される。従って、符号化装置71の動作は実施例7の顔動作符号化装置の動作と同じである。
【0122】
伝送装置72は、表情動作の外力データS12とその動作領域S13の復号化装置73への転送とその制御を行う。動作領域S13は、顔の一部を示す領域、両目や口裂点などの特徴点の位置や距離を基準にした相対的な位置で記述された領域として保存される。保存フォーマットとしては、顔面を平面、円筒、球面等の平面に投射して、二次元座標で保存する方法が考えられる。また動作領域が小領域に分けられるので、二次元座標上でも動作領域が小領域に分割されている。小領域には、制御点の組を作るために付番されている。外力データS12としては、小領域の制御点にかかる外力三次元ベクトルと小領域の番号、動作領域と同じ二次元座標上の制御点の位置が保存される。なお、動作領域や小領域は領域全体を送る必要はなく、その輪郭だけでもよい。伝送の仕方としては、単純にそのまま伝送しても良いし、可逆符号化を行ってから伝送し、受信側で復号することも可能である。復号化装置73へは、外力データS12とその動作領域S13を統合した外力情報S30として送られる。
【0123】
伝送装置72の機能として、非対称な表情動作の作成時の処理がある。非対称な表情動作とは、符号化側で複数の表情動作を作り、伝送装置72がそれらを同時に復号化装置73に送り、復号化装置73で複数の表情動作を混合させた表情動作を作ることである。この場合、複数の表情動作のための外力情報S30の情報を蓄積しておく必要がある。
【0124】
復号化装置73は、図26に示される第8実施例の顔動作復号化装置で実現することができる。つまり、復号化装置73は、図26の外力復号部30および表情作成部31を備える処理装置CNT51、記憶装置M53、表示装置DPYおよび入力装置KEYで構成することができる。従って、復号化装置73の動作は実施例8の顔動作復号化装置の動作と同じである。
【0125】
上記の説明では、符号化装置71として図25に示される第7実施例の顔動作符号化装置を用い、復号化装置73として図26に示される第8実施例の顔動作復号化装置を用いる。しかしながら、符号化装置71として図18に示される第4実施例の顔動作符号化装置を用い、復号化装置73として図23に示される第5実施例の顔動作復号化装置を用いられる顔動作符号復号化装置の実施例も考えられる。
【0126】
図29は本発明の第11実施例による顔動作符号復号化装置のブロック図であり、或る人物Aの無表情時と表情動作時の三次元データの組から別の人物Bの無表情顔画像に表情動作を付与する。つまり、本実施例の顔動作符号復号化装置では、図28に示される第10実施例の顔動作符号復号化装置における復号化装置の入力である無表情顔三次元データS300が無表情顔画像S301に置換され、出力の表情顔三次元データS32が表情顔画像S32に置換されている。
【0127】
本実施例の顔動作符号復号化装置は、符号化装置81、伝送装置82、復号化装置83を備えており、伝送装置82と復号化装置83とは通信路84によって通信可能に接続されている。また、復号化装置81の入力データとなる人物Aの無表情顔三次元データS100および人物Aの表情動作顔三次元データS101を記憶する記憶装置M81、復号化装置81で生成された表情動作の外力データS12および表情動作の動作領域S13を保存する記憶装置M82、伝送装置82が表情動作の外力データS12および動作領域S13を統合して作成した表情動作の外力情報S30を一時的に保存する記憶装置M83、人物Bの無表情顔画像S301を記憶する記憶装置M84、無表情顔の三次元モデルS302を記憶する記憶装置M85、通信路84を通じて伝送装置82から送られてくる表情動作の外力情報S30と記憶装置M84に記憶された人物Bの無表情顔画像S301と記憶装置M85に記憶された無表情顔の三次元モデルS302とに基づいて復号化装置83で生成された人物Bの表情顔画像S33を保存する記憶装置M86を備えている。
【0128】
符号化装置81および伝送装置82は、図28に示される第10実施例の符号化装置71および伝送装置72と同じである。従って符号化装置81は、図25に示される第7実施例の顔動作符号化装置で実現することができる。他方、復号化装置83は、図27に示される第9実施例の顔動作復号化装置で実現することができる。つまり、復号化装置83は、図27の顔画像三次元化部32、外力復号部30および表情画像作成部33を備える処理装置CNT61、記憶装置M63〜M65、表示装置DPYおよび入力装置KEYで構成することができる。従って、復号化装置83の動作は実施例9の顔動作復号化装置の動作と同じである。
【0129】
上記の説明では、符号化装置81として図25に示される第7実施例の顔動作符号化装置が用いられ、復号化装置83として図27に示される第9実施例の顔動作復号化装置が用いられる。しかしながら、符号化装置81として図18に示される第4実施例の顔動作符号化装置が用いられ、復号化装置83として図24に示される第6実施例の顔動作復号化装置が用いられる顔動作符号復号化装置も考えられる。
【0130】
なお、第10実施例は、無表情顔三次元データS300が入力され、表情動作顔の三次元データS32が出力される復号化装置73を備え、第11実施例は、無表情顔画像S301が入力され、表情動作顔画像S33が出力される復号化装置83を備えている。しかしながら、他の例として、無表情顔三次元データS300が入力され、表情動作顔画像S33が出力される復号化装置を備える顔動作符号復号化装置や、無表情顔画像S301が入力され、表情動作顔の三次元データS32が出力される復号化装置を備える顔動作符号復号化装置も考えられる。
【0131】
前述した実施例では、コンピュータグラフィックス技術を用いて顔画像や顔三次元データを変形することで顔に表情が付与された。しかしながら、本実施例は、ロボットの頭部に可撓性を有する仮面が装着され、その仮面の形状を変形することにより顔に表情が与えられる。図30は、ロボットの頭部に内蔵される制御機器の構成例を示す。図30において、1300はロボットの頭部に装着された仮面の断面を示す。仮面1300の裏面には、各動作領域における各制御点毎に、三次元アクチュエータ1301の可動片1302の端部1303が固定されており、その端部1303は、初期状態では無表情時の位置になるように設定されている。各三次元アクチュエータ1301は、制御装置1304と信号線1305で接続されており、制御装置1304から信号線1305を通じて与えられる移動位置信号に応じて可動片1302の端部1303のXYZ座標位置が変更される。可動片1302の端部1303は仮面の裏面の制御点に固定されているので、端部1303の位置が移動すると、仮面1300の各制御点がその周辺部分と一体となって移動し、仮面が変形して所望の表情が表出される。この場合、各制御点の周囲の領域は各制御点に引きずられて移動するので、隣接小領域間の境界部分の平滑化および動作領域と未動作領域の境界部分の平滑化は、特に必要はない。
【0132】
各制御点の移動後のXYZ座標位置は、記憶装置1306に記憶されている。この記憶装置1306に記憶される各制御点のXYZ座標位置の算出は、前述の第1実施例、第5実施例、第6実施例、第8実施例、第9実施例と同様に行われる。つまり、記憶装置1306は、図2に示される第1実施例における記憶装置M5、図23の第5実施例における記憶装置M25、図24に示される第6実施例における記憶装置M35、図26に示される第8実施例における記憶装置M53、図27に示される第9実施例における記憶装置M65に相当する。なお、制御装置1304はコンピュータと制御装置用プログラムとで実現することが可能である。
【0133】
以上本発明の実施例について説明されたが、本発明は以上の実施例にのみ限定されず、その他各種の付加変更が可能である。例えば、経時的な形態の変化を伴う物体として人間の顔やロボットの顔を例にしたが、犬や猫の顔など経時的な形態の変化を伴う任意の物体に対して本発明は適用可能である。

【特許請求の範囲】
【請求項1】
形態変化前の物体の形態を表わす変化前形態データと前記形態変化後の前記物体の形態を表わす変化後形態データとの間の差分データを計算する計算部と、
前記変化前形態データと、前記差分データとに基づいて、前記物体の前記形態変化の生じた動作領域と、前記形態変化のために前記動作領域に加えられる外力とを決定する決定部と
を具備する形態変形符号化装置。
【請求項2】
請求項1記載の形態変形符号化装置において、
前記計算部は、
3次元モデルに基づいて前記変化前形態データと前記変化後形態データを変化前形態モデルデータと変化後形態モデルデータに変換する変換部と、
前記変化前形態モデルデータと前記変化後形態モデルデータとの差から前記差分データを計算する差分計算部と
を具備する形態変形符号化装置。
【請求項3】
請求項2記載の形態変形符号化装置において、
前記モデルは、3次元ポリゴンメッシュモデルであり、前記変化前形態データと前記変化後形態データは3次元データである形態変形符号化装置。
【請求項4】
請求項1乃至3のいずれかに記載の形態変形符号化装置において、
前記動作領域は、複数の小領域を含み、前記複数の小領域の各々は複数の制御点を含み、
前記外力は、前記複数の小領域の各々の物理モデル構造に基づいて、前記形態変化の前後で前記複数の小領域を独立に変化させるのに必要な外力として計算される形態変形符号化装置。
【請求項5】
請求項4記載の形態変形符号化装置において、
前記物理モデル構造として、制御点どうしがバネとダンパーで結合された物理モデル構造が用いられる形態変形符号化装置。
【請求項6】
請求項4又は5に記載の形態変形符号化装置において、
前記複数の小領域の全てにおいて、前記制御点の個数および前記物理モデル構造が同じである形態変形符号化装置。
【請求項7】
請求項1乃至6のいずれかに記載の形態変形符号化装置において、
前記物体は人の顔を含み、前記形態変化前の物体の形態とは無表情な顔の状態を示し、前記形態変化後の物体の形態とは表情が表出された顔の状態を示す形態変形符号化装置。
【請求項8】
形態変化前の物体の形態を表わす変化前形態データと、形態変化に対応する動作領域に加えられる外力の情報とに基づいて、前記動作領域内の制御点の移動位置を決定する復号部と、前記動作領域は、複数の小領域を含み、前記複数の小領域の各々は複数の制御点を含み、前記複数の小領域の各々の前記制御点の移動位置は、前記複数の小領域単位で物理モデルを用いて決定され、
前記変化前形態データと前記複数の制御点の各々の移動位置とから前記形態変化後の前記物体の形態を表わす変化後形態データを生成する形態生成部と
を具備する形態変形復号化装置。
【請求項9】
請求項8に記載の形態変形復号化装置において、
前記変化前形態データは3次元データであり、
前記復号部は、
前記形態変化前の前記物体の形態の3次元モデルと前記変化前形態データとに基づいて変化前形態モデルデータを生成するモデルデータ生成部と、
前記外力情報に基づいて前記変化前形態モデルデータから前記動作領域内の制御点の各々の移動位置を決定する移動量計算部と
を具備する形態変形復号化装置。
【請求項10】
請求項8に記載の形態変形復号化装置において、
前記変化前形態データは3次元データであり、
前記復号部は、
3次元ポリゴンメッシュモデルと前記変化前形態データとに基づいて変化前形態メッシュモデルデータを生成するモメッシュデルデータ生成部と、
前記外力情報に基づいて前記変化前形態メッシュモデルデータから前記動作領域内の制御点の各々の移動位置を決定する移動量計算部と
を具備する形態変形復号化装置。
【請求項11】
請求項8乃至10のいずれかに記載の形態変形復号化装置において、
前記複数の小領域の各々において、前記小領域に含まれる制御点以外の非制御点の移動位置をその非制御点の近傍の前記制御点の移動位置から計算する動作内挿部
を更に具備する形態変形復号化装置。
【請求項12】
請求項8乃至11のいずれかに記載の形態変形復号化装置において、
前記形態生成部は、
前記変化前形態データと前記複数の制御点の各々の移動位置とから前記複数の小領域の単位で前記形態変化後の前記物体の形態を生成する形態変形復号化装置。
【請求項13】
請求項12に記載の形態変形復号化装置において、
前記形態変化後の前記複数の小領域のうちの隣接するものの境界部分に生じる不連続箇所を平滑化する隣接小領域調整部
を更に具備する形態変形復号化装置。
【請求項14】
請求項12又は13に記載の形態変形復号化装置において、
前記形態変化後の前記動作領域とその周囲の未動作領域との境界部分に生じる不連続箇所を平滑化する未動作領域調整部
を更に具備する形態変形復号化装置。
【請求項15】
請求項8乃至14の何れかに記載の形態変形復号化装置において、
前記複数の小領域の各々の物理モデルでは、前記制御点がバネとダンパーで結合されている形態変形復号化装置。
【請求項16】
請求項8乃至15の何れかに記載の形態変形復号化装置において、
前記物体は人の顔を含み、前記形態変化前の形態は無表情な顔を示し、前記形態変化後の形態は、表情が表出された顔を示す形態変形復号化装置。
【請求項17】
請求項8乃至16の何れかに記載の形態変形復号化装置において、
前記変化後形態データに基づいて、可撓性を有する前記物体における前記動作領域を駆動する三次元アクチュエータ群
を更に具備する形態変形復号化装置。
【請求項18】
請求項1乃至7の何れかに記載された形態変形符号化装置と、
請求項8乃至17の何れかに記載された形態変形復号化装置と、
前記形態変化符号化装で生成された前記動作領域と前記外力情報を通信路を通じて前記形態変形復号化装置へ伝送する伝送装置と
を具備する形態変形符号復号化装置。
【請求項19】
形態変化前の物体の形態を表わす変化前形態データと前記形態変化後の前記物体の形態を表わす変化後形態データとの間の差分データを計算するステップと、
前記変化前形態データと、前記差分データとに基づいて、前記物体の前記形態変化の生じた動作領域と、前記形態変化のために前記動作領域に加えられる外力とを決定するステップと
を具備する形態変形符号化方法。
【請求項20】
請求項19記載の形態変形符号化方法において、
前記計算ステップは、
3次元モデルに基づいて前記変化前形態データと前記変化後形態データを変化前形態モデルデータと変化後形態モデルデータに変換するステップと、
前記変化前形態モデルデータと前記変化後形態モデルデータとの差から前記差分データを計算するステップと
を具備する形態変形符号化方法。
【請求項21】
請求項20記載の形態変形符号化方法において、
前記モデルは、3次元ポリゴンメッシュモデルであり、前記変化前形態データと前記変化後形態データは3次元データである形態変形符号化方法。
【請求項22】
請求項19乃至21のいずれかに記載の形態変形符号化方法において、
前記動作領域は、複数の小領域を含み、前記複数の小領域の各々は複数の制御点を含み、
前記外力は、前記複数の小領域の各々の物理モデル構造に基づいて、前記形態変化の前後で前記複数の小領域を独立に変化させるのに必要な外力として計算される形態変形符号化方法。
【請求項23】
請求項22記載の形態変形符号化方法において、
前記物理モデル構造として、制御点どうしがバネとダンパーで結合された物理モデル構造が用いられる形態変形符号化方法。
【請求項24】
請求項22又は23に記載の形態変形符号化方法において、
前記複数の小領域の全てにおいて、前記制御点の個数および前記物理モデル構造が同じである形態変形符号化方法。
【請求項25】
請求項19乃至24のいずれかに記載の形態変形符号化方法において、
前記物体は人の顔を含み、前記形態変化前の物体の形態とは無表情な顔の状態を示し、前記形態変化後の物体の形態とは表情が表出された顔の状態を示す形態変形符号化方法。
【請求項26】
形態変化前の物体の形態を表わす変化前形態データと、形態変化に対応する動作領域に加えられる外力の情報とに基づいて、前記動作領域内の制御点の移動位置を決定するステップと、前記動作領域は、複数の小領域を含み、前記複数の小領域の各々は複数の制御点を含み、前記複数の小領域の各々の前記制御点の移動位置は、前記複数の小領域単位で物理モデルを用いて決定され、
前記変化前形態データと前記複数の制御点の各々の移動位置とから前記形態変化後の前記物体の形態を表わす変化後形態データを生成するステップと
を具備する形態変形復号化方法。
【請求項27】
請求項26に記載の形態変形復号化方法において、
前記変化前形態データは3次元データであり、
前記移動位置を決定するステップは、
前記形態変化前の前記物体の形態の3次元モデルと前記変化前形態データとに基づいて変化前形態モデルデータを生成するステップと、
前記外力情報に基づいて前記変化前形態モデルデータから前記動作領域内の制御点の各々の移動位置を決定するステップと
を具備する形態変形復号化方法。
【請求項28】
請求項26に記載の形態変形復号化方法において、
前記変化前形態データは3次元データであり、
前記移動位置を決定するステップは、
3次元ポリゴンメッシュモデルと前記変化前形態データとに基づいて変化前形態メッシュモデルデータを生成するステップと、
前記外力情報に基づいて前記変化前形態メッシュモデルデータから前記動作領域内の制御点の各々の移動位置を決定するステップと
を具備する形態変形復号化方法。
【請求項29】
請求項26至28のいずれかに記載の形態変形復号化方法において、
前記複数の小領域の各々において、前記小領域に含まれる制御点以外の非制御点の移動位置をその非制御点の近傍の前記制御点の移動位置から計算するステップ
を更に具備する形態変形復号化方法。
【請求項30】
請求項26乃至29のいずれかに記載の形態変形復号化方法において、
前記変化後形態データを生成するステップは、
前記変化前形態データと前記複数の制御点の各々の移動位置とから前記複数の小領域の単位で前記形態変化後の前記物体の形態を生成する形態変形復号化方法。
【請求項31】
請求項30に記載の形態変形復号化方法において、
前記形態変化後の前記複数の小領域のうちの隣接するものの境界部分に生じる不連続箇所を平滑化するステップ
を更に具備する形態変形復号化方法。
【請求項32】
請求項30又は31に記載の形態変形復号化方法において、
前記形態変化後の前記動作領域とその周囲の未動作領域との境界部分に生じる不連続箇所を平滑化するステップ
を更に具備する形態変形復号化方法。
【請求項33】
請求項26乃至32の何れかに記載の形態変形復号化方法において、
前記複数の小領域の各々の物理モデルでは、前記制御点がバネとダンパーで結合されている形態変形復号化方法。
【請求項34】
請求項26乃至33の何れかに記載の形態変形復号化方法において、
前記物体は人の顔を含み、前記形態変化前の形態は無表情な顔を示し、前記形態変化後の形態は、表情が表出された顔を示す形態変形復号化方法。
【請求項35】
請求項26乃至34の何れかに記載の形態変形復号化方法において、
前記物体はロボットであり、
前記変化後形態データに基づいて、可撓性を有する前記物体における前記動作領域を駆動するステップ
を更に具備する形態変形復号化方法。
【請求項36】
請求項19乃至25の何れかに記載された形態変形符号化方法により前記動作領域の情報と、前記外力の情報を生成するステップと、
前記動作領域の情報と前記外力情報を通信路を通じて伝送するステップと
請求項26乃至35の何れかに記載された形態変形復号化方法により、前記伝送された動作領域の情報と、前記伝送された外力の情報から前記物体の形態を表わす変化後形態データを生成するステップ
を具備する形態変形符号復号化方法。
【請求項37】
形態変化前の物体の形態を表わす変化前形態データと前記形態変化後の前記物体の形態を表わす変化後形態データとの間の差分データを計算するステップと、
前記変化前形態データと、前記差分データとに基づいて、前記物体の前記形態変化の生じた動作領域と、前記形態変化のために前記動作領域に加えられる外力とを決定するステップと
を具備する形態変形符号化方法を実現するための、計算機読み取り可能なソフトウェアプロダクト。
【請求項38】
請求項37記載のソフトウェアプロダクトにおいて、
前記計算ステップは、
3次元モデルに基づいて前記変化前形態データと前記変化後形態データを変化前形態モデルデータと変化後形態モデルデータに変換するステップと、
前記変化前形態モデルデータと前記変化後形態モデルデータとの差から前記差分データを計算するステップと
を具備する計算機読み取り可能なソフトウェアプロダクト。
【請求項39】
請求項38記載のソフトウェアプロダクトにおいて、
前記モデルは、3次元ポリゴンメッシュモデルであり、前記変化前形態データと前記変化後形態データは3次元データである計算機読み取り可能なソフトウェアプロダクト。
【請求項40】
請求項37乃至39のいずれかに記載のソフトウェアプロダクトにおいて、
前記動作領域は、複数の小領域を含み、前記複数の小領域の各々は複数の制御点を含み、
前記外力は、前記複数の小領域の各々の物理モデル構造に基づいて、前記形態変化の前後で前記複数の小領域を独立に変化させるのに必要な外力として計算される計算機読み取り可能なソフトウェアプロダクト。
【請求項41】
請求項40記載のソフトウェアプロダクトにおいて、
前記物理モデル構造として、制御点どうしがバネとダンパーで結合された物理モデル構造が用いられる計算機読み取り可能なソフトウェアプロダクト。
【請求項42】
請求項40又は41に記載のソフトウェアプロダクトにおいて、
前記複数の小領域の全てにおいて、前記制御点の個数および前記物理モデル構造が同じである計算機読み取り可能なソフトウェアプロダクト。
【請求項43】
請求項37乃至42のいずれかに記載のソフトウェアプロダクトにおいて、
前記物体は人の顔を含み、前記形態変化前の物体の形態とは無表情な顔の状態を示し、前記形態変化後の物体の形態とは表情が表出された顔の状態を示す計算機読み取り可能なソフトウェアプロダクト。
【請求項44】
形態変化前の物体の形態を表わす変化前形態データと、形態変化に対応する動作領域に加えられる外力の情報とに基づいて、前記動作領域内の制御点の移動位置を決定するステップと、前記動作領域は、複数の小領域を含み、前記複数の小領域の各々は複数の制御点を含み、前記複数の小領域の各々の前記制御点の移動位置は、前記複数の小領域単位で物理モデルを用いて決定され、
前記変化前形態データと前記複数の制御点の各々の移動位置とから前記形態変化後の前記物体の形態を表わす変化後形態データを生成するステップと
を具備する形態変形復号化方法を実現するための、計算機読み取り可能なソフトウェアプロダクト。
【請求項45】
請求項44に記載のソフトウェアプロダクトにおいて、
前記変化前形態データは3次元データであり、
前記移動位置を決定するステップは、
前記形態変化前の前記物体の形態の3次元モデルと前記変化前形態データとに基づいて変化前形態モデルデータを生成するステップと、
前記外力情報に基づいて前記変化前形態モデルデータから前記動作領域内の制御点の各々の移動位置を決定するステップと
を具備する計算機読み取り可能なソフトウェアプロダクト。
【請求項46】
請求項44に記載のソフトウェアプロダクトにおいて、
前記変化前形態データは3次元データであり、
前記移動位置を決定するステップは、
3次元ポリゴンメッシュモデルと前記変化前形態データとに基づいて変化前形態メッシュモデルデータを生成するステップと、
前記外力情報に基づいて前記変化前形態メッシュモデルデータから前記動作領域内の制御点の各々の移動位置を決定するステップと
を具備する計算機読み取り可能なソフトウェアプロダクト。
【請求項47】
請求項44乃至46のいずれかに記載のソフトウェアプロダクトにおいて、
前記複数の小領域の各々において、前記小領域に含まれる制御点以外の非制御点の移動位置をその非制御点の近傍の前記制御点の移動位置から計算するステップ
を更に具備する計算機読み取り可能なソフトウェアプロダクト。
【請求項48】
請求項44乃至47のいずれかに記載のソフトウェアプロダクトにおいて、
前記変化後形態データを生成するステップは、
前記変化前形態データと前記複数の制御点の各々の移動位置とから前記複数の小領域の単位で前記形態変化後の前記物体の形態を生成する計算機読み取り可能なソフトウェアプロダクト。
【請求項49】
請求項48に記載のソフトウェアプロダクトにおいて、
前記形態変化後の前記複数の小領域のうちの隣接するものの境界部分に生じる不連続箇所を平滑化するステップ
を更に具備する計算機読み取り可能なソフトウェアプロダクト。
【請求項50】
請求項48又は49に記載のソフトウェアプロダクトにおいて、
前記形態変化後の前記動作領域とその周囲の未動作領域との境界部分に生じる不連続箇所を平滑化するステップ
を更に具備する計算機読み取り可能なソフトウェアプロダクト。
【請求項51】
請求項44乃至50の何れかに記載のソフトウェアプロダクトにおいて、
前記複数の小領域の各々の物理モデルでは、前記制御点がバネとダンパーで結合されている計算機読み取り可能なソフトウェアプロダクト。
【請求項52】
請求項44乃至51の何れかに記載のソフトウェアプロダクトにおいて、
前記物体は人の顔を含み、前記形態変化前の形態は無表情な顔を示し、前記形態変化後の形態は、表情が表出された顔を示す計算機読み取り可能なソフトウェアプロダクト。
【請求項53】
請求項44乃至52の何れかに記載のソフトウェアプロダクトにおいて、
前記物体はロボットであり、
前記変化後形態データに基づいて、可撓性を有する前記物体における前記動作領域を駆動するステップ
を更に具備する計算機読み取り可能なソフトウェアプロダクト。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図10C】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15A】
image rotate

【図15B】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22A】
image rotate

【図22B】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate


【国際公開番号】WO2005/024728
【国際公開日】平成17年3月17日(2005.3.17)
【発行日】平成19年11月8日(2007.11.8)
【国際特許分類】
【出願番号】特願2005−513622(P2005−513622)
【国際出願番号】PCT/JP2004/012181
【国際出願日】平成16年8月25日(2004.8.25)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】