Nothing Special   »   [go: up one dir, main page]

JP4182656B2 - Terminal device, transmission method, and computer program - Google Patents

Terminal device, transmission method, and computer program Download PDF

Info

Publication number
JP4182656B2
JP4182656B2 JP2001304909A JP2001304909A JP4182656B2 JP 4182656 B2 JP4182656 B2 JP 4182656B2 JP 2001304909 A JP2001304909 A JP 2001304909A JP 2001304909 A JP2001304909 A JP 2001304909A JP 4182656 B2 JP4182656 B2 JP 4182656B2
Authority
JP
Japan
Prior art keywords
data
terminal device
model
shape
animation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001304909A
Other languages
Japanese (ja)
Other versions
JP2003109036A (en
Inventor
修 遠山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2001304909A priority Critical patent/JP4182656B2/en
Publication of JP2003109036A publication Critical patent/JP2003109036A/en
Application granted granted Critical
Publication of JP4182656B2 publication Critical patent/JP4182656B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、メッセージに合わせて動作するアニメーションのためのデータの送受信を行う通信システムおよびこれに用いられる端末装置に関する。
【0002】
【従来の技術】
従来より、メッセージの送信者のアニメーションがメッセージに合わせて動作するように受信者側の端末装置の表示画面に表示する技術が提案されている。例えば、特開平8−307841号公報には、送信側からの音声信号に基づいて擬似動画(アニメーション)を生成し表示するTV電話装置が開示されている。このTV電話装置によると、送信側から画像データを受けることなく、アニメーションを表示することができる。
【0003】
ところで、最近は、メッセージのやり取りを行うための多くの種類の端末装置が多く提案されまたは普及している。例えば、パーソナルコンピュータ、PDA(Personal Digital Assistant)、携帯電話装置、またはPHS端末装置などがある。さらに、これらの装置は、各メーカまたは各通信会社から様々な機種が発売されている。
【0004】
【発明が解決しようとする課題】
これらの装置を用いて、特開平8−307841号のTV電話装置のように、送信側のメッセージに基づいて受信側の端末装置にアニメーションを表示することが考えられる。
【0005】
しかし、これらの端末装置は互いに仕様が異なる場合が多い。例えば、メッセージの送信側および受信側の端末装置がともにアニメーションの実行が可能であっても、アニメーションを実行するためのデータ形式が互いに異なる場合がある。このような場合は、一方の端末装置から他方の端末装置へアニメーションのためのデータを送信しても、他方の端末装置においてアニメーションを実行することはできない。
【0006】
特に、PDAまたは携帯電話などのモバイル機器は、各メーカおよび各通信会社が新機種および新規格の開発を行い、数多くの新旧の端末装置が混在しているので、データ形式を統一することは実際には難しい。
【0007】
本発明は、このような問題点に鑑み、メッセージの送信先の端末装置の機種に関わらず、メッセージに合わせてアニメーションの実行が可能なデータを当該端末装置に送信する通信システムおよび端末装置を提供することを目的とする。
【0008】
本発明の一形態に係る端末装置は、ユーザが入力したメッセージを他の端末装置に通信回線を介して送信する端末装置であって、前記他の端末装置がモデルの形状を変化させてアニメーションを生成するための動作制御データに対応しているか否かを判別する、動作制御データ対応判別手段と、前記動作制御データ対応判別手段によって前記他の端末装置が前記動作制御データに対応していると判別された場合は、前記モデルを用いたアニメーションのためのアニメーションデータとして、前記メッセージの音韻ごとに前記モデルの形状を変化させる動作制御データを生成して当該他の端末装置に送信し、対応していないと判別された場合は、当該アニメーションデータとして、前記メッセージに合わせて前記モデルを変化させたときの各タイミングでの画像データを送信する、アニメーションデータ送信手段と、を有してなる。
【0009】
本発明の一形態に係る送信方法は、ユーザが入力したメッセージを他の端末装置に通信回線を介して送信する端末装置における送信方法であって、前記端末装置に、前記他の端末装置がモデルの形状を変化させてアニメーションを生成するための動作制御データに対応しているか否かを判別する処理を実行させ、前記他の端末装置が前記動作制御データに対応していると判別された場合は、前記モデルを用いたアニメーションのためのアニメーションデータとして、前記メッセージの音韻ごとに前記モデルの形状を変化させる動作制御データを生成して当該他の端末装置に送信する処理を実行させ、前記他の端末装置が前記動作制御データに対応していないと判別された場合は、前記アニメーションデータとして、前記メッセージに合わせて前記モデルを変化させたときの各タイミングでの画像データを送信する処理、を実行させる。
【0010】
本発明の一形態に係るコンピュータプログラムは、ユーザが入力したメッセージを他の端末装置に通信回線を介して送信するコンピュータに用いられるコンピュータプログラムであって、前記他の端末装置がモデルの形状を変化させてアニメーションを生成するための動作制御データに対応しているか否かを判別する手段と、前記他の端末装置が前記動作制御データに対応していると判別された場合は、前記モデルを用いたアニメーションのためのアニメーションデータとして、前記メッセージの音韻ごとに前記モデルの形状を変化させる動作制御データを生成して当該他の端末装置に送信する手段と、前記他の端末装置が前記動作制御データに対応していないと判別された場合は、前記アニメーションデータとして、前記メッセージの出力中の各タイミングに合わせて前記モデルを変化させたときの各タイミングでの画像データを送信する手段として、前記コンピュータを機能させる。
【0014】
【発明の実施の形態】
図1は本発明に係るアニメーション通信システム1の構成を説明する図、図2は端末装置2α、2βの構成を説明する図、図3は送信側の端末装置2αの記憶装置22に記憶されるプログラムおよびデータを示す図、図4は受信側の端末装置2βの記憶装置22に記憶されるプログラムおよびデータを示す図、図5は送信側の端末装置2αの機能的構成を説明する図、図6は受信側の端末装置2βの機能的構成を説明する図である。
【0015】
本発明に係るアニメーション通信システム1は、図1に示すように、複数の端末装置2によって構成される。端末装置2として、携帯電話装置、パーソナルコンピュータ(パソコン)、またはPDA(Personal Digital Assistant)など、通信機能を有する種々の端末装置が用いられる。
【0016】
これらの端末装置2は、通信回線4を介して互いに接続し、データの送受信を行うことが可能である。通信回線4として、アナログ回線またはISDNなどの公衆回線、携帯電話回線、専用線、またはインターネットなどが用いられる。
【0017】
ユーザは、自分の端末装置2から他のユーザの端末装置2にメッセージを送信することができる。以下、メッセージの送信側の端末装置と受信側の端末装置とを区別するために、送信側、受信側の端末装置2をそれぞれ端末装置2α、2βと記載する。
【0018】
図2(a)は端末装置2α、2βがパソコンである場合の構成を示し、図2(b)は端末装置2α、2βが携帯電話装置である場合の構成を示す。図2(a)(b)に示すように、端末装置2α、2βは、処理装置20、表示装置21、記憶装置22、文字入力装置23、音声入力装置24、および音声出力装置25などによって構成される。
【0019】
処理装置20は、CPU20a、RAM20b、ROM20c、各種の入出力ポート20d、および各種のコントローラ20eなどによって構成される。
端末装置2α、2βがパソコンである場合は、記憶装置22として、磁気記憶装置などが用いられる。携帯電話装置である場合は、EEPROMなどの書き換え可能な記憶素子が用いられる。
【0020】
端末装置2αの記憶装置22には、図3に示すように、オペレーティングシステム(OS)22a、動作制御データ生成プログラム22b、モデリングプログラム22c、および後に説明する種々の処理のためのプログラムおよびデータなどが記憶されている。
【0021】
端末装置2βの記憶装置22には、図4に示すように、オペレーティングシステム(OS)22d、アニメーション実行プログラム22e、および後に説明する種々の処理のためのプログラムおよびデータなどが記憶されている。ただし、標準モデル情報71または顔形状情報72は、記憶されていない場合がある。端末装置2βには、機種X、Y、およびZの3種類の機種があり、図4(a)〜(c)に示すように、機種によって記憶装置22に記憶されるプログラムなどの内容が異なる。機種X〜Zの相違については、後に説明する。
【0022】
記憶装置22に記憶されているプログラムおよびデータは、必要に応じてRAM20bにロードされる。ロードされたプログラムは、CPU20aによって実行される。通信回線4を介して端末装置2α、2βを他のコンピュータに接続し、プログラムまたはデータをダウンロードしてもよい。または、フロッピディスク29a、CD−ROM29b、または光磁気ディスク(MO)29cなどの各種リムーバブルディスク(記録媒体)からプログラムまたはデータをロードしてもよい。
【0023】
端末装置2βの表示装置21には、処理装置20による処理結果が表示される。例えば、端末装置2αから受信したメッセージに合わせて口が動くようにメッセージの送信者(端末装置2αのユーザ)の顔画像HFが表示装置21の表示画面HGにアニメーションとして表示される。音声出力装置25は、アニメーションに合わせてメッセージを音声として出力する。これにより、送信者の顔画像HFがメッセージを読み上げているかのように端末装置2βのユーザに認識させることができる。
【0024】
顔画像HFは、送信者の頭部の3次元形状を示す3次元形状モデル(顔モデル)を所定の方向から2次元上に投影することによって得られる。つまり、顔画像HFが動作するアニメーションを生成するには、顔モデルの形状を変化させながら所定の方向から2次元上に投影すればよい。顔モデルに関するデータおよび顔モデルの制御については、後に説明する。
【0025】
このような構成によって、端末装置2αには、図5に示すように、データ生成部201、顔モデルデータ生成部202、音声テキスト変換部203、形状指定部204、通信状況判別部205、データ送信部206、およびデータ記憶部207などが設けられる。端末装置2βには、図6に示すような機能が設けられる。ただし、図6(a)〜(c)に示すように、機種ごとに機能的構成がそれぞれ異なる。
〔顔画像の生成のためのデータ〕
図5において、端末装置2αのデータ記憶部207は、標準モデル情報71、顔形状情報72、および符号形状情報73などを記憶する。
【0026】
図7は標準モデルDSまたは顔モデルDS' の構成の例を示す図、図8はエッジEとノードNとの対応関係を示す図、図9はノードNの影響を受ける構成頂点Vを示す図、図10はノードNが影響を与える範囲を説明する図である。
【0027】
標準モデル情報71は、図7(a)に示す標準モデルDSの構成頂点(Model Vertex)V、ポリゴンPg、ノード(Node)N、およびエッジ(Edge)Eなどに関する情報である。標準モデルDSは、標準的な顔のサイズおよび形状を有した、頭部の全周を構造化した3次元モデルである。図7(a)において、複数の細い直線同士の交点は、構成頂点Vを示す。各構成頂点Vの位置は、x、y、zの3次元座標(位置データ)によって決まる。各ポリゴンPgは、同一平面上にある複数の構成頂点Vの集合すなわち位相(topology)によって定義される。これら位置データおよび位相データによってジオメトリデータ(Geometry Data )が構成される。太い直線は、筋肉を意味するエッジ(Edge)Eを示す。黒い丸印は筋肉の端点を意味するノード(Node)Nを示す。
【0028】
ノードNの位置は、次に示す式(1)のように構成頂点Vの相対的位置として表される。
【0029】
【数1】

Figure 0004182656
【0030】
エッジE(E1、E2、…)の位置は、図8のエッジEの第一のパラメータに示すように、異なる2つのノードNによって決められる。ノードN(N1、N2、…)は、顔全体の各筋肉の端点となる位置に配置されている。なお、図7(b)は、ノードNとエッジEとの関係を分かりやすくするために図7(a)から構成頂点Vを省略して示している。図7(a)(b)は、顔の右半分のノードNおよびエッジEを省略して示しているが、実際には、左半分と同様にノードNおよびエッジEが存在する。
【0031】
エッジEの第二のパラメータは、そのエッジE(筋肉)を変位させた場合に、どちらの端点(ノードN)をどれだけの割合(ウェイト)で移動させるかを示す。例えば、エッジE3の第二のパラメータ「0.7,0.3」は、エッジE3が変位したときに、ノードN4とノードN3とを7対3の割合でそれぞれ移動させるということを示している。エッジEの変位量は、筋肉の収縮の度合によって表される。筋肉が収縮していない状態を「0」、最も収縮した状態を「20」とする。例えば、変位量(収縮の度合)が「15.0」であれば、その筋肉(エッジE)が75%収縮することを示す。
【0032】
エッジEが変位するとき、ノードNが移動する位置は、次に示す式(2)によって求められる。
【0033】
【数2】
Figure 0004182656
【0034】
ただし、実際には複数のエッジEに関係するノードNが存在するため、収束演算または連立演算によってノードNの移動後の位置が求められる。
各ノードNが移動したときに影響を受ける構成頂点Vは、図9の第二のパラメータのように示される。つまり、この第二のパラメータは、ノードNが移動したときの影響の範囲を示している。ノードNの移動による影響を受ける構成頂点Vは、そのノードNの周辺に集中している。例えば、図10において、大きい黒丸が示すノードNの移動による影響を受ける構成頂点Vは、小さい黒丸が示す9つの構成頂点Vである。
【0035】
図9の第一のパラメータは、ノードNが移動したときに構成頂点Vに対して与える影響の度合(Intensity )を示している。この値が大きいと、ノードNの移動に伴う構成頂点Vの移動量(変位量)が大きくなる。
【0036】
ノードNが移動するのに伴って構成頂点Vが移動する位置は、次に示す式(3)によって求められる。
【0037】
【数3】
Figure 0004182656
【0038】
このように、標準モデル情報71は、図8、図9、および式(1)〜式(3)に示すように、標準モデルDSの構成頂点V、ノードN、およびエッジEの位置および関係を表している。標準モデル情報71を制御することにより、標準モデルDSのエッジE(筋肉)を動かして標準モデルDSを任意の形状に変化させることができる。例えば、標準モデルDSの右目を閉じる(ウィンクさせる)には、右目の周辺の所定のエッジE(筋肉)をそれぞれ所定の値だけ変位(収縮)させればよい。すると、式(2)に従って各エッジEに関連する各ノードNの位置が移動し、式(3)に従って各ノードNの影響を受ける各構成頂点Vの位置が移動し、これにより標準モデルDSはウィンクした形状となる。
【0039】
顔形状情報72は、端末装置2αのユーザすなわちメッセージの送信者の顔の3次元形状モデル(顔モデル)の構成頂点に関する情報である。顔モデルは、標準モデルDSをユーザの3次元計測データにフィッティングすることによって生成される。顔モデルの生成は、後に説明する顔モデルデータ生成部202よって行われる。
【0040】
つまり、顔モデルの各構成頂点は、フィッティングの処理によって移動した標準モデルDSの各構成頂点Vに対応する。標準モデル情報71の各構成頂点Vを顔モデルの各構成頂点に置き換えると、式(1)および図8の関係に従って顔モデルのノードNおよびエッジEの位置が求められる。したがって、標準モデルDSの場合と同様に、エッジEを変位させることによって顔モデルの形状を変化させることができる。以下、標準モデルDSを端末装置2αのユーザの3次元計測データにフィッティングして得られた顔モデルを「顔モデルDS' 」と記載する。 図11は符号形状情報73の例を示す図、図12は標準モデルDSまたは顔モデルDS' を各形状グループの形状に変化させた場合の例を示す図である。
【0041】
ところで、顔モデルDS' または標準モデルDSの形状を連続して変化させる場合は、各エッジEに対して与える値の数が増えるので、全体のデータ量が増える。例えば、ある言葉に合わせて顔モデルDS' の形状を変化させる場合は、その言葉に含まれる音の数だけその音を発しているかのように口を開閉するように各エッジEの変位量を設定しなければならない。
【0042】
しかし、一般に、互いに異なる音韻であっても発音するときの口の形状の特徴が同一でありまたは類似するものがある。例えば、子音「m」および子音「n」は、ともに唇を合わせて発音されるという点で類似する。
【0043】
符号形状情報73は、このように、発音するときの口の形状の特徴が同一または類似の音韻をグループ化し、グループごとに各筋肉(エッジE1、E2、…)の変位量を定めている。本実施形態では、図11(a)に示すように、5つの母音のグループ(形状グループA、E、I、O、U)および3つの子音のグループ(形状グループ1〜3)が設けられている。
【0044】
形状グループA、E、I、O、Uには、それぞれ「a」、「e」、「i」、「o」、「u」の1種類ずつの母音が属する。形状グループ1は唇を合わせて発音する子音のグループ、形状グループ2は唇を合わせずに口を所定の形状にして発音する子音のグループ、形状グループ3は前に発した音の口の形状のまま発音する子音のグループである。係る分類によると、通常、形状グループ1には「b、f、m、p、v」の5種類の子音が属し、形状グループ2には「d、g、j、k、l、n、r、s、t、w、z」の11種類の子音が属し、形状グループ3には「h、y」の2種類の子音が属する。
【0045】
すなわち、符号形状情報73は、各形状グループA、E、I、O、U、1、2に属する音を発するときに、顔モデルDS' がそれぞれ図12(a)〜(g)に示す形状になるように顔モデルDS' の各筋肉(エッジE1、E2、…)を変位させるためのデータである。ただし、形状グループ3の場合は、顔モデルDS' は前に発した音(音韻)の形状のまま保たれるので、変位量の値を持たない。
【0046】
さらに、符号形状情報73は、図11(b)に示すように、「ウィンク」(形状グループ11)、「驚き」(形状グループ12)、および「喜び」(形状グループ13)などの表情をしたときの顔モデルDS' の形状についての各エッジEの変位量を有している。図11(b)に示す各値によると、図12(h)〜(j)に示す形状を得ることができる。
【0047】
符号形状情報73を用いると、形状グループ名を順次指定するだけで顔モデルDS' の形状を連続して変化させることができる。例えば、「かん(kan)」という言葉に合わせて顔モデルDS' の形状を変化させる場合は、形状グループ2、A、1と指定すればよい。
〔顔モデルの生成(標準モデルのフィッティング)〕
図5に戻って、顔モデルデータ生成部202は、メッセージに合わせて動作する顔画像HFすなわちアニメーションの基となる顔モデルDS' を生成する。次に、顔モデルすなわち3次元形状モデルを生成する方法について、フローチャートを参照して説明する。
【0048】
図13は3次元形状モデルの生成の処理の流れを説明するフローチャート、図14は標準モデルDSの例を示す図、図15は変形処理の流れを説明するフローチャート、図16は標準モデルDSの面Sと3次元計測データの点Pとを模式的に示す図、図17は標準モデルDSの異常変形を防ぐための仮想バネを説明するための図である。
【0049】
図13において、まず、図14に示す標準モデルDSと人物(例えば端末装置2αのユーザ)の3次元計測データとの概略の位置合わせを行う(#101)。標準モデルDSは、標準的な顔のサイズおよび形状を有した、頭部の全周を構造化した3次元データである。3次元計測データは、点群からなるユーザの顔の3次元データである。すなわち、ステップ#101では、標準モデルDSと3次元計測データとの距離が最小となるように、標準モデルDSの向き、大きさ、および位置を変更する。一般に、標準モデルDSおよび3次元計測データとして、無表情の状態のものが用いられる。なお、3次元計測データは、3次元計測装置でユーザを撮影するなどして予め用意されている。
【0050】
輪郭および特徴点を抽出する(#102)。標準モデルDSについての輪郭RKおよび特徴点TTと同じ位置に配置されるべき輪郭および特徴点を、3次元計測データ上に、またはそれに対応する2次元画像上に配置する。
【0051】
特徴点として、例えば、目や口の端部、鼻の頂部、顎の下端部のように実際に特徴のある部分、または、それらの中間のようなそれ自体では特徴はないが位置的に特定し易い部分などが選ばれる。輪郭として、顎のライン、唇のライン、または瞼のラインなどが選ばれる。
【0052】
計算量および誤差を削減するために、3次元計測データについてデータの削減を行う(#103)。
標準モデルDSの変形を行う(#104)。すなわち、3次元計測データの各点と標準モデルDSの面との間の距離に関連して定義されたエネルギー関数、または過剰な変形を回避するために定義されたエネルギー関数などを用い、それらが最小となるように標準モデルDSの面を変形させる。
【0053】
そして、対象とするエネルギー関数および制御点を変更し、ステップ#104と同様な変更のための処理を繰り返す(#105)。
次に、ステップ#104の変形処理について説明する。
【0054】
図16において、3次元計測データを構成する点群の1つが点Pkで示されている。標準モデルDSの面Sにおいて、点Pkに最も近い点がQkで示されている。点Qkは、点Pkから面Sに垂線を下ろしたときの交点である。
【0055】
点群に面Sをフィッティングする方法は次の通りである。ここでは、一般的なフィッティングについて説明する。
点群の中の1つの点Pk、それに対応する点Qk、および対応点群T={(Pk,Qk),k=1…n}について、フィッティングエネルギー(Fitting Energy) 関数Ff(U)を、次の式(4)のように設定する。
【0056】
【数4】
Figure 0004182656
【0057】
ただし、Qk(U)は、QkがUの関数であることを示す。
また、面Sの過度の変形を防ぐために、図17に示す仮想バネ(elastic bar) KBを導入する。仮想バネKBの制約に基づいて、面Sの形状安定化のための安定化エネルギー関数を導く。
【0058】
すなわち、図17において、フィッティング対象である標準モデルDSの面(曲面)Sの一部が示されている。面Sは、制御点群U=|ui,i=1…n|で形成されている。隣接する制御点間には、仮想バネKBが配置されている。仮想バネKBは、制御点間に引っ張り力による拘束を与え、面Sの異常変形を防ぐ働きをする。
【0059】
つまり、隣接する制御点uの間隔が大きくなった場合に、それに応じて仮想バネKBによる引っ張り力が大きくなる。例えば、点Qkが点Pkに近づく場合に、その移動にともなって制御点uの間隔が大きくなると、仮想バネKBによる引っ張り力が増大する。点Qkが移動しても制御点uの間隔が変わらなければ、つまり制御点u間の相対位置関係に変化がなければ、仮想バネKBによる引っ張り力は変化しない。仮想バネKBによる引っ張り力を面Sの全体について平均化したものを、安定化エネルギーとして定義する。したがって、面Sの一部が突出して変形した場合に安定化エネルギーは増大する。面Sの全体が平均して移動すれば安定化エネルギーは零である。
【0060】
安定化エネルギー関数Fs(U)は、次の式(5)で示される。
【0061】
【数5】
Figure 0004182656
【0062】
ここで、
【0063】
【数6】
Figure 0004182656
【0064】
は、それぞれ、仮想バネKBの初期端点、変形後の仮想バネKBの端点である。cはバネ係数であり、Mは仮想バネKBの本数である。また、次の関係が成り立つ。
【0065】
【数7】
Figure 0004182656
【0066】
したがって、バネ係数cを大きくすると、仮想バネKBは硬くなって変形し難くなる。
このような安定化エネルギー関数Fs(U)を導入することにより、面Sの形状変化に一定の拘束を設けることとなり、面Sの過度の変形を防ぐことができる。
【0067】
上に述べたフィッティングエネルギー関数Ff(U)、および安定化エネルギー関数Fs(U)を用い、フィッティングの評価関数F(U)を次の式(6)のように定義する。
【0068】
F(U)=WfFf(U)+WsFs(U) ……(6)
ここで、Wf,Wsは、それぞれ正規化のための重み係数である。
式(6)の評価関数F(U)が十分小さくなるように、面Sの変形および対応点の探索を繰り返し、面のフィッティングを行う。例えば、F(U)のUに関する微分が0に近づく方向にフィッティングを行う。
【0069】
図15において、変形処理では、まず、点Pkに対応する点Qkを計算で求め、点Pkと点Qkの組みを作成する(#111)。
面Sを変形し(#112)、変形後の評価関数F(U)を計算する(#113)。評価関数F(U)が収束するまで(#114でYes)、処理を繰り返す。
【0070】
評価関数F(U)の収束を判定する方法として、評価関数F(U)が所定の値よりも小さくなったときを収束とする方法、前回の計算と比較べた変化の割合が所定値以下となったときに収束とする方法など、公知の方法を用いることが可能である。
【0071】
このような処理によって標準モデルDSを変形し、ユーザの顔の形状をした3次元形状モデル(顔モデルDS' )を生成することができる。なお、ユーザの2次元画像に標準モデルをフィッティングして顔モデルを取得してもよい。または、種々のコンピュータグラフィック(CG)プログラムを用いて顔モデルを作成してもよい。
〔顔モデルの動作の制御のためのデータ〕
図18はエッジ変位データ76および符号データ75の例を示す図、図19は端末装置2βの機種の相違を説明する図である。
【0072】
前に述べたように、顔モデルDS' の形状を変化させるには、顔モデルDS' の各エッジEに対して変位量を直接与える方法と形状グループ名を指定する方法とがある。
【0073】
例えば、「こうみんかん」の言葉に合わせて口を動かした後にウィンクをするように顔モデルDS' の形状を連続して変化させる場合において、前者の方法であれば、図18(a)のエッジ変位データ76のように、顔モデルDS' の各エッジEの変位量を時間ごとに指定して直接的に顔モデルDS' の動作を指定する。よって、エッジ変位データ76を「動きデータ」と呼ぶことができる。
【0074】
後者の方法であれば、図18(b)の符号データ75のように、「1」、「A」、「11」などの符号を用いて形状グループを指定して間接的に顔モデルDS' の動作(各エッジEの変位量)を指定する。顔モデルDS' の形状を変化させる際に、この符号データ75は、図11に示す符号形状情報73に基づいてエッジ変位データ76に変換される。つまり、符号データ75は符号形状情報(動きデータ)73を得るためのパラメータを意味するので、符号データ75を「動きパラメータ」と呼ぶことができる。
【0075】
図5に戻って、通信状況判別部205は、通信に関する状況を判別し、端末装置2βに送信するためのデータの種類を決める。具体的には、メッセージの送信相手である端末装置2βがどのような機種または機能であるか、端末装置2βにどのようなデータが記憶されているか、または通信回線4がどれくらいの通信速度であるかのいずれかを判別し、標準モデル情報71、顔形状情報72、符号データ(動きパラメータ)75、およびエッジ変位データ(動きデータ)76などのうち、いずれのデータを送信するかを選択する。通信に関する状況の判別は、実際に端末装置2βとの間で通信を開始した後に行われる。なお、ユーザが端末装置2αを操作して、通信に関する状況を入力してもよいし、端末装置2βに送信するデータを選択してもよい。
【0076】
ここで、端末装置2βの機種X〜Zについて図19を参照して説明する。機種Xは、符号データ75に基づいて顔モデルDS' の形状を変化させ、アニメーションを生成し表示することができる。例えば、「2、A、1」という符号データ75が与えられると、符号形状情報73に基づいて符号データ75をエッジ変位データ76に変換し、順次、顔モデルDS' の形状を図12(g)(a)(f)のように変化させることができる。したがって、次に説明する機種Yのように、エッジ変位データ76を直接与えられた場合であっても、アニメーションを生成することができる。
【0077】
機種Yは、符号データ75に対応しておらず、符号データ75に基づいて顔モデルDS' を制御することができない。したがって、顔モデルDS' の形状を変化させるには、直接、エッジ変位データ76が与えられなければならない。
【0078】
機種Zは、符号データ75およびエッジ変位データ76のいずれにも対応しておらず、顔モデルDS' の形状を変化させてアニメーションを生成することができない。ただし、入力された画像データに基づいてアニメーションを表示することが可能である。
【0079】
さらに、機種X、Yは、標準モデルDSの標準モデル情報71を有する場合と有しない場合とがある。このように、機種および標準モデル情報71の有無によって、端末装置2βに対して送信されるアニメーションの生成のために必要なデータの量の多さは図19に示すような順番になる。
【0080】
図5のデータ生成部201は、符号生成部211、変位データ生成部212、および画像データ生成部213などからなり、通信状況判別部205による判別結果に従って端末装置2βに送信するためのデータを生成する。
【0081】
端末装置2βが機種Xであると判別された場合は、原則として、符号データ75を生成する。すなわち、符号生成部211によって、キーボードなどの文字入力装置23から入力された端末装置2αのユーザのメッセージであるテキストデータ74を音韻ごとに区切り、区切られた各音韻がいずれの形状グループに属するかを符号形状情報73に基づいて求める。例えば、テキストデータ74が「こうみんかん(kouminkan)」である場合は、「k、o、u、m、i、n、k、a、n」の9つの音韻に区切られ、「2、O、O、1、I、1、2、A、1」という符合データ75が得られる。
【0082】
ただし、3番目の音韻「u」は、形状グループOに置き換えられる。なぜなら、一般に、「こう(kou)」のように「u」の直前に「o」がある場合は、「u」は「o」と発音されるからである。このように、直前の音(音韻)の影響を受けて記述(スペル)通りに発音しない場合は、適宜、その音韻の属する形状グループを変更する。
【0083】
顔の形状を「ウィンクをする」または「驚き」などの動作または表情に変化させたい場合は、図11(b)に示すように予め定義されている文字列を用いればよい。例えば、「こうみんかん」という言葉を発した後にウィンクをさせたい場合は、「こうみんかん(^_−)」のようにウィンクを示す顔文字を用いてテキストデータ74を入力すればよい。この場合の符合データ75は、図18(b)に示すように、「2、O、O、1、I、1、2、A、1、11」となる。
【0084】
符号データ75の基となるテキストデータ74を音声データから取得してもよい。すなわち、マイクなどの音声入力装置24から入力された音声データを音声テキスト変換部203によってテキストデータ73に変換する。
【0085】
符号生成部211によって生成された符号データ75は、顔モデルDS' を制御するための動作制御データとしてテキストデータ74とともにデータ送信部206によって相手先の端末装置2βに送信される。符号データ75をエッジ変位データ76に変換ための符号形状情報73が端末装置2βにない場合は、符号形状情報73も送信される。
【0086】
また、端末装置2βが標準モデル情報71を有しないと判別された場合は、その端末装置2βに標準モデル情報71および端末装置αのユーザの顔形状情報72をモデル情報7として送信する。標準モデル情報71を有するが顔形状情報72を有しないと判別された場合は、顔形状情報72をモデル情報7として送信する。次に説明する機種Yの場合も同様である。
【0087】
端末装置2βが機種Yであると判別された場合は、変位データ生成部212によって符号生成部211で生成された符号データ75が示す各形状グループに対応する顔モデルDS' の各エッジEの変位量を求め、図18(a)に示すようなエッジ変位データ76を生成する。生成されたエッジ変位データ76は、顔モデルDS' を制御するための動作制御データとしてテキストデータ74とともに端末装置2βに送信される。ただし、通信状況判別部205によって通信回線4の通信速度が遅くデータ通信に時間を要すると判別された場合は、エッジ変位データ76を間引いてもよい。例えば、エッジ変位データ76のうち子音を発音する形状に該当するデータを間引いてもよい。
【0088】
端末装置2βが機種Zであると判別された場合は、画像データ生成部213によって変位データ生成部212で生成されたエッジ変位データ76に基づいて顔モデルDS' の形状を変化させ、端末装置2βにおいてメッセージの出力に合わせてアニメーションを表示するための画像データ77を生成する。画像データ77の生成については、後に説明する端末装置2βの機能と重複するので、ここでは説明を省略する。画像データ77は、テキストデータ74とともに端末装置2βに送信される。
【0089】
なお、端末装置2βが機種Xであっても、端末装置2αのユーザは、端末装置2βに送信する動作制御データとして符合データ75の代わりにエッジ変位データ76を選ぶことができる。
【0090】
符合データ75はエッジ変位データ76よりもデータ量が少ないので、通信時間などの点に鑑みると、符合データ75を端末装置2βに送信するほうが望ましい。しかし、符合データ75を用いた場合は、図11の符号形状情報73に定められた形状グループの形状以外には顔モデルDS' を変形させることができない。そこで、符号形状情報73に定められた形状に限られず、より細かな動きを顔モデルDS' に与えたい場合は、形状指定部204にて顔モデルDS' の各エッジEの変位量を自由に設定し変位データ76を作成すればよい。ただし、通信回線4の通信速度が遅いと判別された場合は、ユーザの選択に関わらず、符合データ75が端末装置2βに送信されるようにしてもよい。
〔端末装置2βの機能〕
次に、端末装置2βの機能的構成について説明する。図6(a)に示すように、端末装置2βの機種Xには、データ受信部231、変位データ生成部232、画像生成部233、データ記憶部234、および音声合成部235などが設けられる。
【0091】
データ受信部231は、端末装置2αからテキストデータ74および符合データ75などのデータを受信する。標準モデル情報71、顔形状情報72、または符号形状情報73を受信した場合は、これらの情報はデータ記憶部234に記憶され保存される。
【0092】
変位データ生成部232は、端末装置2αの変位データ生成部212と同様に、受信した符合データ75に基づいてエッジ変位データ76を生成する。
画像生成部233は、標準モデル情報71および顔形状情報72に基づいて標準モデルDSの構成頂点Vを置き換えて顔モデルDS' を取得し、エッジ変位データ76に基づいて顔モデルDS' の形状を変化させて顔画像HFのアニメーションを生成する。
【0093】
顔モデルDS' の形状は、次のように変化させる。図20はタイムテーブルの例を示す図である。
まず、エッジ変位データ76に示される時刻ごとの形状(形状グループ)をタイムテーブルに配置する。例えば、顔モデルDS' に「こうみんかん」と発音させる場合は、各形状グループ(2、O、…、1)を図20(a)に示す台形のように配置する。
【0094】
図20(b)に示すように、形状グループを示す台形の上辺の長さは、その形状グループの形状を保っている継続時間を意味する。継続時間は、母音よりも子音のほうが短く、母音が0.4秒、子音が0.1秒程度である。母音が連続する場合は、後の母音の継続時間を通常よりも短めに設定してもよい。
【0095】
立ち上がり時間T1は、ある形状(例えば無表情の形状)からその形状に変化するまでの時間を意味する。終息時間T3は、その形状が無表情の形状に戻るまでの時間を意味する。立ち上がり時間T1および終息時間T3は、ともに極めて短い時間であり、0.1秒以下である。
【0096】
図20(a)に戻って、隣り合う2つの台形は、前の台形の形状が終息したとき(t=tb)に後の台形の形状の立ち上がりが完了するように配置される。つまり、後の音韻は、tbよりも終息時間T3だけ前に立ち上がりはじめるように配置される(t=ta)。
【0097】
このように、各形状グループを配置したタイムテーブルに従って、顔モデルDS' の形状を変化させる。ただし、2つの形状グループの間(ta〜tb)の顔モデルDS' の形状すなわち各構成頂点Vの位置は、次の式(7)に基づいて直線近似して補間する。
【0098】
【数8】
Figure 0004182656
【0099】
そして、顔モデルDS' の形状を変化させながら所定の方向から顔モデルDS' を2次元上に投影して画像HFのアニメーションを生成する。
図6(a)の音声合成部235は、テキストデータ74に示される端末装置2αのユーザのメッセージを音声化し、アニメーションと同期して出力する。例えば、顔モデルDS' が所定の形状に変化をはじめる(立ち上がる)ときに画像生成部233から発せられる信号(トリガー)に合わせて順次音声を出力する。テキストデータを音声化する方法として、公知の音声合成技術が用いられる。
【0100】
端末装置2βの機種Yには、図6(b)に示すように、データ受信部241、画像生成部242、データ記憶部243、および音声合成部244などが設けられる。
【0101】
データ受信部241は、端末装置2αからテキストデータ74およびエッジ変位データ76などのデータを受信する。
図6(b)を図6(a)と比較すると、端末装置2βの機種Yには機種Xの変位データ生成部232に相当するものがないことが分かる。つまり、機種Yの画像生成部242は、機種Xのように自ら生成したエッジ変位データ76に基づいて画像HFのアニメーションを生成するのではなく、端末装置2αから受信したエッジ変位データ76に基づいて画像HFを生成する。その他の機能は、機種Xの場合と同様である。
【0102】
端末装置2βの機種Zには、図6(c)に示すように、データ受信部251、データ記憶部252、画像出力部253、および音声合成部254などが設けられる。
【0103】
データ受信部251は、端末装置2αからテキストデータ74および画像データ77を受信する。これらのデータは、データ記憶部252に記憶される。画像出力部253は、画像データ77に基づいて顔画像HFのアニメーションを表示画面HGに出力する。音声合成部254は、アニメーションに合わせて音声を出力する。
【0104】
次に、アニメーション通信システム1における処理の流れをフローチャートを参照して説明する。図21は送信側の端末装置2αの処理の流れを説明するフローチャート、図22は受信側の端末装置2βの処理の流れを説明するフローチャートである。
【0105】
図21に示すように、送信側の端末装置2αにおいて、端末装置2αのユーザのメッセージを図11に示す符号形状情報73に基づいて符号化し、符号データ75を生成する(#11)。
【0106】
メッセージの送信先である端末装置2βに問い合わせるなどして、その端末装置2βの機種、保有するデータ、および通信回線4の通信速度など、通信に関する状況を判別する(#12)。端末装置2βが顔モデルに非対応の機種すなわち機種Zであると判別された場合は(#13でNo)、符号データ75に基づいてアニメーションを作成し(#14)、適当な長さの時間ごとにアニメーションを画像データ化し、適当なタイミングで画像データ77を端末装置2βに送信する(#15)。ただし、一般に画像データはサイズが大きいので、通信速度などに応じてデータを間引いてもよい。なお、ステップ#14の処理は、後に説明する図22のステップ#32〜#34の一連の処理と同じである。
【0107】
端末装置2βが顔モデルに対応した機種と判別された場合は(#13でYes)、その端末装置2βが標準モデル情報71を有するか否かを判別する(#16)。標準モデル情報71を有しない場合は(#16でNo)、標準モデル情報71および端末装置2αのユーザの顔形状情報72を端末装置2βに送信する(#17、#18)。
【0108】
標準モデル情報71を有する場合は(#16でYes)、端末装置2βが顔形状情報72を有するか否かを判別し(#19)。有しないと判別された場合は端末装置2βにその顔形状情報72を送信する(#18)。
【0109】
端末装置2βが符号データに対応した機種か否かを判別する(#20)。端末装置2βが符号データ非対応の機種すなわち機種Yである場合は(#20でNo)、符号データ75より顔モデルDS' の形状変化データ(エッジ変位データ76)を生成し(#21)、端末装置2βに送信する(#22)。
【0110】
端末装置2βが符号データに対応した機種である場合は(#20でYes)、さらに、送信モードが符号モードであるか形状モードであるかを判別する(#23)。符号モードとは、端末装置2βに送信する顔モデルDS' の動作制御データとして符号データ75が選択されていることを意味する。形状モードとは、形状変化データ(エッジ変位データ76)が選択されていることを意味する。
【0111】
符号モードの場合は(#23でYes)、ステップ#11で生成した符号データ75を端末装置2βに送信する(#24)。形状モードの場合は(#23でNo)、符号データ75より顔モデルDS' の形状変化データ(エッジ変位データ76)を生成し(#21)、端末装置2βに送信する(#22)。なお、ステップ#21において、より細かな動きのアニメーションを実現するために、各エッジEの変位量を調整してもよい。
【0112】
一方、図22に示すように、受信側の端末装置2β(機種X)において、端末装置2αから受信したデータが符号データ75である場合は(#31でYes)、受信した符号データ75に基づいてエッジ変位データ76を生成する(#32)。端末装置2αから受信しまたはステップ#32で生成したエッジ変位データ76について形状補間の処理を行い(#33)、順次顔モデルDS' を所定の方向から2次元上に投影して顔画像HFを生成し、アニメーションを実行する(#34)。
【0113】
機種Yの場合は、ステップ#31および#32の処理が省略される。機種Zの場合は、ステップ#31ないし#33の処理が省略され、端末装置2αから受信した画像データ77に基づいてアニメーションを実行する。
【0114】
本実施形態によると、メッセージの送信先である端末装置2βの機種に関わらず、メッセージに合わせてアニメーションの実行が可能なデータを端末装置2βに送信することができる。
【0115】
端末装置2βが機種Xのように複数の動作制御データに対応している場合は、目的または通信の状況に適応した動作制御データを選択することができる。例えば、細かい動きのアニメーションを実行したい場合は、動作制御データとしてエッジ変位データ76を選択し、エッジEごとに変位量を設定することができる。通信のデータ量を減らして通信時間を短縮したい場合は、符号データ75を選ぶことができる。
【0116】
端末装置2についてはメッセージの送信側と受信側とに分けて機能を説明したが、端末装置2に両方の機能を設けてもよい。これにより、互いに相手の顔のアニメーションを表示しながら双方向にメッセージのやり取りを行うことができる。
【0117】
本実施形態では、端末装置2αのユーザのメッセージをテキストデータとして端末装置2βに送信したが、音声データとして送信してもよい。この場合は、端末装置2βにおいて、受信した音声データの出力とアニメーションの実行とのタイミングを図ればよい。
【0118】
本実施形態では、「こうみんかん」のような1単語をメッセージとして送信する例について説明したが、電子メールなどのように長い文書をメッセージとして送信する場合は、メッセージを適当な長さに区切って複数の符号データなどの動作制御データを生成してもよいし、全文について1つの動作制御データを生成してもよい。電話による会話またはパソコンによるチャットなどのようにリアルタイムでメッセージのやり取りを行う場合は、1音または1語ごとに動作制御データを生成してもよい、メッセージを短い時間ごとに区切って動作制御データを生成してもよい。
【0119】
端末装置2βの機種は、対応可能な動作制御データの種類に応じて3つの機種を例示したが、もっと多くの機種があってもよい。例えば、同じ動作制御データに対応した機種であっても、メーカ、通信会社、または処理速度、メモリ容量、または通信速度などの性能などに応じて別々の機種として判別するようにしてもよい。また、本実施形態では、動作制御データとして符号データおよびエッジ変位データの2種類を例示したが、その他の形式の動作制御データがあってもよい。
【0120】
顔モデルとして3次元形状モデルを用いたが、2次元の形状モデルであってもよい。
その他、アニメーション通信システム1、端末装置2α、2βの全体または各部の構成、処理内容、処理順序などは、本発明の趣旨に沿って適宜変更することができる。
【0121】
【発明の効果】
本発明によると、メッセージの送信先の端末装置の機種に関わらず、メッセージに合わせてアニメーションの実行が可能なデータを当該端末装置に送信することができる。
【図面の簡単な説明】
【図1】本発明に係るアニメーション通信システムの構成を説明する図である。
【図2】端末装置の構成を説明する図である。
【図3】送信側の端末装置の記憶装置に記憶されるプログラムおよびデータを示す図である。
【図4】受信側の端末装置の記憶装置に記憶されるプログラムおよびデータを示す図である。
【図5】送信側の端末装置の機能的構成を説明する図である。
【図6】受信側の端末装置の機能的構成を説明する図である。
【図7】標準モデルまたは顔モデルの構成の例を示す図である。
【図8】エッジとノードとの対応関係を示す図である。
【図9】ノードの影響を受ける構成頂点を示す図である。
【図10】ノードが影響を与える範囲を説明する図である。
【図11】符号形状情報の例を示す図である。
【図12】標準モデルまたは顔モデルを各形状グループの形状に変化させた場合の例を示す図である。
【図13】3次元形状モデルの生成の処理の流れを説明するフローチャートである。
【図14】標準モデルの例を示す図である。
【図15】変形処理の流れを説明するフローチャートである。
【図16】標準モデルの面Sと3次元計測データの点Pとを模式的に示す図である。
【図17】標準モデルの異常変形を防ぐための仮想バネを説明するための図である。
【図18】エッジ変位データおよび符号データの例を示す図である。
【図19】端末装置の機種の相違を説明する図である。
【図20】タイムテーブルの例を示す図である。
【図21】送信側の端末装置の処理の流れを説明するフローチャートである。
【図22】受信側の端末装置の処理の流れを説明するフローチャートである。
【符号の説明】
1 アニメーション通信システム(通信システム)
2α 端末装置(第二の端末装置)
2β 端末装置(第一の端末装置)
21 表示装置(表示手段)
22b 動作制御データ生成プログラム(コンピュータプログラム)
29a〜29c 記録媒体
205 通信状況判別部(動作制御データ対応判別手段、機能判別手段、モデルデータ有無判別手段、標準モデルデータ有無判別手段、エッジ変位データ対応判別手段
206 データ送信部(アニメーションデータ送信手段、モデルデータ送信手段、標準モデルデータ送信手段
211 符号生成部(符号データ生成手段)
212 変位データ生成部(形状変化データ生成手段)
233、242 画像生成部(表示手段)
4 通信回線
7 モデル情報(モデルデータ)
71 標準モデル情報(標準モデルデータ)
72 顔形状情報(モデル変形データ)
73 符号形状情報(位置決めデータ)
74 テキストデータ(メッセージ)
75 符号データ(アニメーションデータ)
76 エッジ変位データ(アニメーションデータ)
DS' 顔モデル(モデル)[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a communication system that transmits and receives data for animation that operates in accordance with a message, and a terminal device used therefor.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, a technique has been proposed in which an animation of a message sender is displayed on a display screen of a terminal device on the receiver side so as to operate in accordance with the message. For example, Japanese Patent Laid-Open No. 8-307841 discloses a TV phone device that generates and displays a pseudo moving image (animation) based on an audio signal from a transmission side. According to this TV telephone apparatus, animation can be displayed without receiving image data from the transmission side.
[0003]
Recently, many types of terminal devices for exchanging messages have been proposed or spread widely. For example, there are a personal computer, a PDA (Personal Digital Assistant), a mobile phone device, or a PHS terminal device. Furthermore, various types of these apparatuses are sold by manufacturers or communication companies.
[0004]
[Problems to be solved by the invention]
Using these devices, it is conceivable to display an animation on the terminal device on the receiving side based on the message on the transmitting side, as in the TV telephone device of JP-A-8-307841.
[0005]
However, these terminal devices often have different specifications. For example, even if both the terminal device on the message transmission side and the reception side can execute the animation, the data formats for executing the animation may be different from each other. In such a case, even if data for animation is transmitted from one terminal device to the other terminal device, the animation cannot be executed in the other terminal device.
[0006]
Especially for mobile devices such as PDAs or mobile phones, each manufacturer and each communication company develops new models and new standards, and many new and old terminal devices are mixed. It is difficult to do.
[0007]
In view of such problems, the present invention provides a communication system and a terminal device that transmit data that can be animated in accordance with a message to the terminal device regardless of the model of the terminal device to which the message is transmitted. The purpose is to do.
[0008]
  A terminal device according to an aspect of the present invention is provided.The message entered by the userTo other terminal devicesVia communication lineA terminal device for transmitting,The operation control data correspondence determining means for determining whether or not the other terminal device supports motion control data for generating an animation by changing the shape of the model, and the motion control data correspondence determining means When it is determined that another terminal device corresponds to the motion control data, motion control data that changes the shape of the model for each phoneme of the message is used as animation data for animation using the model. Is generated and transmitted to the other terminal device, and if it is determined that the model is not supported, image data at each timing when the model is changed in accordance with the message is transmitted as the animation data. And animation data transmission means.
[0009]
  A transmission method according to an aspect of the present invention is a transmission method in a terminal device that transmits a message input by a user to another terminal device via a communication line, and the other terminal device is a model of the terminal device. When it is determined that the other terminal device corresponds to the motion control data by executing a process of determining whether or not the motion control data for generating an animation is generated by changing the shape of Performs a process of generating operation control data for changing the shape of the model for each phoneme of the message and transmitting it to the other terminal device as animation data for animation using the model, If it is determined that the terminal device does not support the motion control data, the animation data is matched with the message. Process of transmitting the image data at each timing when changing the serial model is run.
[0010]
  A computer program according to an aspect of the present invention is a computer program used in a computer that transmits a message input by a user to another terminal device via a communication line, and the other terminal device changes the shape of the model. To determine whether it corresponds to motion control data for generating animationMeans,When it is determined that the other terminal device corresponds to the motion control data, motion control is performed to change the shape of the model for each phoneme of the message as animation data for animation using the model. Data is generated and transmitted to the other terminal deviceMeans,When it is determined that the other terminal device does not correspond to the motion control data, the animation data at each timing when the model is changed in accordance with each timing during the output of the message. Send image dataAs a means, the computer is caused to function.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a diagram illustrating a configuration of an animation communication system 1 according to the present invention, FIG. 2 is a diagram illustrating a configuration of terminal devices 2α and 2β, and FIG. 3 is stored in a storage device 22 of a terminal device 2α on a transmission side. FIG. 4 is a diagram illustrating programs and data, FIG. 4 is a diagram illustrating programs and data stored in the storage device 22 of the reception-side terminal device 2β, and FIG. 5 is a diagram illustrating a functional configuration of the transmission-side terminal device 2α. 6 is a diagram illustrating the functional configuration of the terminal device 2β on the receiving side.
[0015]
As shown in FIG. 1, the animation communication system 1 according to the present invention includes a plurality of terminal devices 2. As the terminal device 2, various terminal devices having a communication function such as a mobile phone device, a personal computer (personal computer), or a PDA (Personal Digital Assistant) are used.
[0016]
These terminal devices 2 can be connected to each other via a communication line 4 to transmit and receive data. As the communication line 4, a public line such as an analog line or ISDN, a mobile phone line, a dedicated line, or the Internet is used.
[0017]
A user can transmit a message from his / her terminal device 2 to the terminal device 2 of another user. Hereinafter, in order to distinguish between the terminal device on the message transmission side and the terminal device on the reception side, the terminal device 2 on the transmission side and the reception side are referred to as terminal devices 2α and 2β, respectively.
[0018]
2A shows a configuration when the terminal devices 2α and 2β are personal computers, and FIG. 2B shows a configuration when the terminal devices 2α and 2β are mobile phone devices. As shown in FIGS. 2A and 2B, the terminal devices 2α and 2β are constituted by a processing device 20, a display device 21, a storage device 22, a character input device 23, a voice input device 24, a voice output device 25, and the like. Is done.
[0019]
The processing device 20 includes a CPU 20a, a RAM 20b, a ROM 20c, various input / output ports 20d, various controllers 20e, and the like.
When the terminal devices 2α and 2β are personal computers, a magnetic storage device or the like is used as the storage device 22. In the case of a mobile phone device, a rewritable storage element such as an EEPROM is used.
[0020]
As shown in FIG. 3, the storage device 22 of the terminal device 2α includes an operating system (OS) 22a, an operation control data generation program 22b, a modeling program 22c, and programs and data for various processes described later. It is remembered.
[0021]
As shown in FIG. 4, the storage device 22 of the terminal device 2β stores an operating system (OS) 22d, an animation execution program 22e, programs and data for various processes described later, and the like. However, the standard model information 71 or the face shape information 72 may not be stored. The terminal device 2β has three types of models X, Y, and Z. As shown in FIGS. 4A to 4C, the contents of programs stored in the storage device 22 differ depending on the model. . The difference between the models X to Z will be described later.
[0022]
Programs and data stored in the storage device 22 are loaded into the RAM 20b as necessary. The loaded program is executed by the CPU 20a. The terminal devices 2α and 2β may be connected to other computers via the communication line 4 to download programs or data. Alternatively, a program or data may be loaded from various removable disks (recording media) such as a floppy disk 29a, a CD-ROM 29b, or a magneto-optical disk (MO) 29c.
[0023]
A processing result by the processing device 20 is displayed on the display device 21 of the terminal device 2β. For example, the face image HF of the message sender (user of the terminal device 2α) is displayed as an animation on the display screen HG of the display device 21 so that the mouth moves in accordance with the message received from the terminal device 2α. The voice output device 25 outputs a message as voice according to the animation. Thereby, the user of the terminal device 2β can be made to recognize as if the sender's face image HF is reading a message.
[0024]
The face image HF is obtained by projecting a three-dimensional shape model (face model) indicating the three-dimensional shape of the sender's head two-dimensionally from a predetermined direction. That is, in order to generate an animation in which the face image HF operates, it is only necessary to project the image of the face model two-dimensionally from a predetermined direction while changing the shape of the face model. Data related to the face model and control of the face model will be described later.
[0025]
With such a configuration, as shown in FIG. 5, the terminal device 2α includes a data generation unit 201, a face model data generation unit 202, a voice text conversion unit 203, a shape designation unit 204, a communication status determination unit 205, and data transmission. A unit 206, a data storage unit 207, and the like are provided. The terminal device 2β is provided with functions as shown in FIG. However, as shown in FIGS. 6A to 6C, the functional configuration differs for each model.
[Data for generating face images]
In FIG. 5, the data storage unit 207 of the terminal device 2α stores standard model information 71, face shape information 72, code shape information 73, and the like.
[0026]
7 is a diagram showing an example of the configuration of the standard model DS or the face model DS ′, FIG. 8 is a diagram showing the correspondence between the edge E and the node N, and FIG. 9 is a diagram showing the configuration vertex V affected by the node N. FIG. 10 is a diagram for explaining a range in which the node N affects.
[0027]
The standard model information 71 is information regarding the constituent vertices (Model Vertex) V, polygons Pg, nodes N, and edges E of the standard model DS shown in FIG. The standard model DS is a three-dimensional model having a standard face size and shape and structured around the entire circumference of the head. In FIG. 7A, the intersection of a plurality of thin straight lines indicates the constituent vertex V. The position of each constituent vertex V is determined by the three-dimensional coordinates (position data) of x, y, and z. Each polygon Pg is defined by a set of a plurality of constituent vertices V on the same plane, that is, a topology. These position data and phase data constitute geometry data. A thick straight line indicates an edge E that means muscle. A black circle indicates a node N which means an end point of a muscle.
[0028]
The position of the node N is expressed as a relative position of the constituent vertex V as shown in the following equation (1).
[0029]
[Expression 1]
Figure 0004182656
[0030]
The position of the edge E (E1, E2,...) Is determined by two different nodes N as shown in the first parameter of the edge E in FIG. Nodes N (N1, N2,...) Are arranged at positions serving as end points of each muscle of the entire face. In FIG. 7B, the configuration vertex V is omitted from FIG. 7A for easy understanding of the relationship between the node N and the edge E. FIGS. 7A and 7B show the node N and the edge E in the right half of the face omitted, but actually the node N and the edge E exist as in the left half.
[0031]
The second parameter of the edge E indicates which end point (node N) is moved at what rate (weight) when the edge E (muscle) is displaced. For example, the second parameter “0.7, 0.3” of the edge E3 indicates that when the edge E3 is displaced, the node N4 and the node N3 are moved at a ratio of 7 to 3, respectively. . The displacement amount of the edge E is represented by the degree of muscle contraction. The state where the muscle is not contracted is “0”, and the state where the muscle is most contracted is “20”. For example, if the displacement amount (degree of contraction) is “15.0”, this indicates that the muscle (edge E) contracts 75%.
[0032]
When the edge E is displaced, the position where the node N moves is obtained by the following equation (2).
[0033]
[Expression 2]
Figure 0004182656
[0034]
However, since there are actually nodes N related to a plurality of edges E, the position after movement of the node N is obtained by convergence calculation or simultaneous calculation.
The constituent vertex V that is affected when each node N moves is shown as the second parameter in FIG. That is, this second parameter indicates the range of influence when the node N moves. The configuration vertices V affected by the movement of the node N are concentrated around the node N. For example, in FIG. 10, the constituent vertices V that are affected by the movement of the node N indicated by the large black circle are nine constituent vertices V indicated by the small black circles.
[0035]
The first parameter in FIG. 9 indicates the degree of influence (Intensity) exerted on the constituent vertex V when the node N moves. When this value is large, the movement amount (displacement amount) of the constituent vertex V accompanying the movement of the node N increases.
[0036]
The position at which the constituent vertex V moves as the node N moves is obtained by the following equation (3).
[0037]
[Equation 3]
Figure 0004182656
[0038]
As described above, the standard model information 71 indicates the positions and relationships of the constituent vertex V, the node N, and the edge E of the standard model DS as shown in FIGS. 8 and 9 and Expressions (1) to (3). Represents. By controlling the standard model information 71, the standard model DS can be changed to an arbitrary shape by moving the edge E (muscle) of the standard model DS. For example, in order to close (wink) the right eye of the standard model DS, a predetermined edge E (muscle) around the right eye may be displaced (contracted) by a predetermined value. Then, the position of each node N related to each edge E is moved according to equation (2), and the position of each component vertex V affected by each node N is moved according to equation (3). It becomes a winked shape.
[0039]
The face shape information 72 is information regarding the constituent vertices of the three-dimensional shape model (face model) of the face of the user of the terminal device 2α, that is, the message sender. The face model is generated by fitting the standard model DS to the user's three-dimensional measurement data. The face model is generated by the face model data generation unit 202 described later.
[0040]
That is, each constituent vertex of the face model corresponds to each constituent vertex V of the standard model DS moved by the fitting process. When the constituent vertices V of the standard model information 71 are replaced with the constituent vertices of the face model, the positions of the node N and the edge E of the face model are obtained in accordance with the relationship of Expression (1) and FIG. Therefore, as in the case of the standard model DS, the shape of the face model can be changed by displacing the edge E. Hereinafter, the face model obtained by fitting the standard model DS to the three-dimensional measurement data of the user of the terminal device 2α is referred to as “face model DS ′”. FIG. 11 is a diagram showing an example of the code shape information 73, and FIG. 12 is a diagram showing an example when the standard model DS or the face model DS ′ is changed to the shape of each shape group.
[0041]
By the way, when the shape of the face model DS ′ or the standard model DS is continuously changed, the number of values given to each edge E increases, so that the entire data amount increases. For example, when the shape of the face model DS ′ is changed according to a certain word, the displacement amount of each edge E is set so that the mouth is opened and closed as if the sound is emitted by the number of sounds included in the word. Must be set.
[0042]
However, in general, even if the phonemes are different from each other, there are those having the same or similar mouth shape characteristics when pronounced. For example, the consonant “m” and the consonant “n” are similar in that both are pronounced with their lips together.
[0043]
In this way, the code shape information 73 groups phonemes having the same or similar mouth shape characteristics when sounding, and defines the displacement amount of each muscle (edge E1, E2,...) For each group. In the present embodiment, as shown in FIG. 11A, five vowel groups (shape groups A, E, I, O, U) and three consonant groups (shape groups 1 to 3) are provided. Yes.
[0044]
Each of the shape groups A, E, I, O, and U has one type of vowels “a”, “e”, “i”, “o”, and “u”. Shape group 1 is a group of consonants that are pronounced together with lips, shape group 2 is a group of consonants that is pronounced with a mouth in a predetermined shape without lips, and shape group 3 is a shape of the mouth of a previously emitted sound This is a group of consonants that sound as they are. According to such classification, normally, five types of consonants “b, f, m, p, v” belong to the shape group 1, and “d, g, j, k, l, n, r” belong to the shape group 2. , S, t, w, z ”belong, and shape group 3 contains two types of consonants“ h, y ”.
[0045]
That is, the code shape information 73 indicates that the shape of the face model DS ′ shown in FIGS. 12A to 12G when sounds belonging to the shape groups A, E, I, O, U, 1, and 2 are emitted. Is data for displacing each muscle (edges E1, E2,...) Of the face model DS ′. However, in the case of the shape group 3, since the face model DS ′ is kept in the shape of the sound (phoneme) that has been emitted before, it does not have a displacement value.
[0046]
Further, as shown in FIG. 11B, the code shape information 73 has expressions such as “wink” (shape group 11), “surprise” (shape group 12), and “joy” (shape group 13). The displacement amount of each edge E with respect to the shape of the face model DS ′ at that time is included. According to the values shown in FIG. 11B, the shapes shown in FIGS. 12H to 12J can be obtained.
[0047]
If the code shape information 73 is used, the shape of the face model DS ′ can be continuously changed by simply designating the shape group names sequentially. For example, when the shape of the face model DS ′ is changed in accordance with the word “kan”, the shape groups 2, A, and 1 may be designated.
[Generation of face model (standard model fitting)]
Returning to FIG. 5, the face model data generation unit 202 generates a face image HF that operates in accordance with the message, that is, a face model DS ′ that is the basis of the animation. Next, a method for generating a face model, that is, a three-dimensional shape model will be described with reference to a flowchart.
[0048]
FIG. 13 is a flowchart for explaining the flow of processing for generating a three-dimensional shape model, FIG. 14 is a diagram showing an example of the standard model DS, FIG. 15 is a flowchart for explaining the flow of deformation processing, and FIG. FIG. 17 is a diagram schematically illustrating S and a point P of the three-dimensional measurement data, and FIG. 17 is a diagram for explaining a virtual spring for preventing abnormal deformation of the standard model DS.
[0049]
In FIG. 13, first, rough alignment of the standard model DS shown in FIG. 14 and the three-dimensional measurement data of a person (for example, the user of the terminal device 2α) is performed (# 101). The standard model DS is three-dimensional data structured around the entire circumference of the head, having a standard face size and shape. The three-dimensional measurement data is three-dimensional data of the user's face made up of point clouds. That is, in step # 101, the orientation, size, and position of the standard model DS are changed so that the distance between the standard model DS and the three-dimensional measurement data is minimized. In general, as the standard model DS and the three-dimensional measurement data, those without an expression are used. Note that the three-dimensional measurement data is prepared in advance by photographing the user with a three-dimensional measurement device.
[0050]
Outlines and feature points are extracted (# 102). Contours and feature points to be placed at the same positions as the contours RK and feature points TT for the standard model DS are placed on the three-dimensional measurement data or on the corresponding two-dimensional image.
[0051]
As a feature point, for example, there is no actual feature such as the end of the eyes or mouth, the top of the nose, the lower end of the chin, or the middle of them, but the location is specific Parts that are easy to do are selected. As the contour, a chin line, a lip line, a heel line, or the like is selected.
[0052]
In order to reduce the amount of calculation and the error, data is reduced for the three-dimensional measurement data (# 103).
The standard model DS is deformed (# 104). That is, the energy function defined in relation to the distance between each point of the three-dimensional measurement data and the surface of the standard model DS or the energy function defined to avoid excessive deformation is used. The surface of the standard model DS is deformed so as to be minimized.
[0053]
Then, the target energy function and control point are changed, and the process for change similar to step # 104 is repeated (# 105).
Next, the deformation process in step # 104 will be described.
[0054]
In FIG. 16, one of the point groups constituting the three-dimensional measurement data is indicated by a point Pk. On the surface S of the standard model DS, the point closest to the point Pk is indicated by Qk. The point Qk is an intersection when a perpendicular is drawn from the point Pk to the surface S.
[0055]
A method of fitting the surface S to the point group is as follows. Here, general fitting will be described.
For one point Pk in the point group, the corresponding point Qk, and the corresponding point group T = {(Pk, Qk), k = 1... N}, the fitting energy function Ff (U) is The following equation (4) is set.
[0056]
[Expression 4]
Figure 0004182656
[0057]
However, Qk (U) indicates that Qk is a function of U.
In order to prevent excessive deformation of the surface S, a virtual spring (elastic bar) KB shown in FIG. 17 is introduced. A stabilization energy function for stabilizing the shape of the surface S is derived based on the constraints of the virtual spring KB.
[0058]
That is, in FIG. 17, a part of the surface (curved surface) S of the standard model DS to be fitted is shown. The surface S is formed by the control point group U = | ui, i = 1... N | A virtual spring KB is disposed between adjacent control points. The virtual spring KB acts to prevent abnormal deformation of the surface S by giving a restraint between the control points by a pulling force.
[0059]
That is, when the interval between adjacent control points u increases, the pulling force by the virtual spring KB increases accordingly. For example, when the point Qk approaches the point Pk, if the distance between the control points u increases with the movement, the pulling force by the virtual spring KB increases. Even if the point Qk moves, if the distance between the control points u does not change, that is, if the relative positional relationship between the control points u does not change, the pulling force by the virtual spring KB does not change. A value obtained by averaging the pulling force by the virtual spring KB over the entire surface S is defined as stabilization energy. Therefore, the stabilization energy increases when a part of the surface S protrudes and deforms. If the entire surface S moves on average, the stabilization energy is zero.
[0060]
The stabilization energy function Fs (U) is expressed by the following equation (5).
[0061]
[Equation 5]
Figure 0004182656
[0062]
here,
[0063]
[Formula 6]
Figure 0004182656
[0064]
Are the initial end point of the virtual spring KB and the end point of the deformed virtual spring KB, respectively. c is a spring coefficient, and M is the number of virtual springs KB. In addition, the following relationship holds.
[0065]
[Expression 7]
Figure 0004182656
[0066]
Therefore, when the spring coefficient c is increased, the virtual spring KB becomes hard and is not easily deformed.
By introducing such a stabilization energy function Fs (U), a constant constraint is provided for the shape change of the surface S, and excessive deformation of the surface S can be prevented.
[0067]
Using the fitting energy function Ff (U) and the stabilization energy function Fs (U) described above, the fitting evaluation function F (U) is defined as the following equation (6).
[0068]
F (U) = WfFf (U) + WsFs (U) (6)
Here, Wf and Ws are weighting factors for normalization, respectively.
The surface fitting is repeated by repeatedly deforming the surface S and searching for corresponding points so that the evaluation function F (U) of Expression (6) is sufficiently small. For example, the fitting is performed in a direction in which the derivative of F (U) with respect to U approaches zero.
[0069]
In FIG. 15, in the deformation process, first, a point Qk corresponding to the point Pk is obtained by calculation, and a set of the point Pk and the point Qk is created (# 111).
The surface S is deformed (# 112), and the evaluation function F (U) after deformation is calculated (# 113). The process is repeated until the evaluation function F (U) converges (Yes in # 114).
[0070]
As a method for determining the convergence of the evaluation function F (U), a method of convergence when the evaluation function F (U) becomes smaller than a predetermined value, and a rate of change compared to the previous calculation is less than a predetermined value. It is possible to use a publicly known method such as a method of converging when it becomes.
[0071]
By such processing, the standard model DS can be transformed to generate a three-dimensional shape model (face model DS ′) having the shape of the user's face. Note that a face model may be acquired by fitting a standard model to a user's two-dimensional image. Alternatively, the face model may be created using various computer graphic (CG) programs.
[Data for controlling the movement of the face model]
FIG. 18 is a diagram illustrating an example of the edge displacement data 76 and the code data 75, and FIG.
[0072]
As described above, to change the shape of the face model DS ′, there are a method of directly giving a displacement amount to each edge E of the face model DS ′ and a method of specifying a shape group name.
[0073]
For example, in the case of continuously changing the shape of the face model DS ′ so as to wink after moving the mouth in accordance with the word “Kominkan”, the former method shown in FIG. Like the edge displacement data 76, the displacement amount of each edge E of the face model DS ′ is designated for each time, and the operation of the face model DS ′ is directly designated. Therefore, the edge displacement data 76 can be called “motion data”.
[0074]
In the latter method, the face model DS ′ is indirectly specified by designating a shape group using codes such as “1”, “A”, and “11” as in the code data 75 of FIG. Is specified (the displacement amount of each edge E). When changing the shape of the face model DS ′, the code data 75 is converted into edge displacement data 76 based on the code shape information 73 shown in FIG. That is, since the code data 75 means a parameter for obtaining the code shape information (motion data) 73, the code data 75 can be called a “motion parameter”.
[0075]
Returning to FIG. 5, the communication status determination unit 205 determines the status related to communication, and determines the type of data to be transmitted to the terminal device 2β. Specifically, what type or function is the terminal device 2β that is the message transmission partner, what data is stored in the terminal device 2β, or what communication speed the communication line 4 has. Is selected, and one of the standard model information 71, the face shape information 72, the code data (motion parameter) 75, the edge displacement data (motion data) 76, and the like is selected. The situation regarding the communication is determined after actually starting communication with the terminal device 2β. Note that a user may operate the terminal device 2α to input a situation regarding communication, or may select data to be transmitted to the terminal device 2β.
[0076]
Here, the models X to Z of the terminal device 2β will be described with reference to FIG. The model X can generate and display an animation by changing the shape of the face model DS ′ based on the code data 75. For example, when the code data 75 of “2, A, 1” is given, the code data 75 is converted into the edge displacement data 76 based on the code shape information 73, and the shape of the face model DS ′ is sequentially changed as shown in FIG. ) (A) (f) can be changed. Therefore, an animation can be generated even when the edge displacement data 76 is directly given as in the model Y described below.
[0077]
The model Y does not correspond to the code data 75, and the face model DS ′ cannot be controlled based on the code data 75. Therefore, in order to change the shape of the face model DS ′, the edge displacement data 76 must be directly given.
[0078]
The model Z does not correspond to either the code data 75 or the edge displacement data 76 and cannot generate an animation by changing the shape of the face model DS ′. However, an animation can be displayed based on the input image data.
[0079]
Further, the models X and Y may or may not have the standard model information 71 of the standard model DS. Thus, depending on the model and the presence / absence of the standard model information 71, the amount of data necessary for generating the animation transmitted to the terminal device 2β is in the order shown in FIG.
[0080]
A data generation unit 201 in FIG. 5 includes a code generation unit 211, a displacement data generation unit 212, an image data generation unit 213, and the like, and generates data to be transmitted to the terminal device 2β according to the determination result by the communication status determination unit 205. To do.
[0081]
When it is determined that the terminal device 2β is the model X, in principle, the code data 75 is generated. That is, the code generator 211 divides the text data 74, which is a user message of the terminal device 2α input from the character input device 23 such as a keyboard, into phonemes, and to which shape group each divided phoneme belongs. Is obtained based on the code shape information 73. For example, when the text data 74 is “kouminkan”, it is divided into nine phonemes “k, o, u, m, i, n, k, a, n”, and “2, O , O, 1, I, 1, 2, A, 1 ”is obtained.
[0082]
However, the third phoneme “u” is replaced with the shape group O. This is because, in general, “u” is pronounced “o” when “o” is immediately before “u”, such as “kou”. As described above, when the sound is not generated according to the description (spell) due to the influence of the immediately preceding sound (phoneme), the shape group to which the phoneme belongs is changed as appropriate.
[0083]
In order to change the face shape to an action or expression such as “wink” or “surprise”, a predefined character string may be used as shown in FIG. For example, if it is desired to wink after uttering the word “Kominkan”, text data 74 may be input using an emoticon indicating wink such as “Kominkan (^ _−)”. The code data 75 in this case is “2, O, O, 1, I, 1, 2, A, 1, 11” as shown in FIG.
[0084]
The text data 74 that is the basis of the code data 75 may be acquired from the voice data. That is, the voice data input from the voice input device 24 such as a microphone is converted into the text data 73 by the voice text converter 203.
[0085]
The code data 75 generated by the code generation unit 211 is transmitted to the counterpart terminal device 2β by the data transmission unit 206 together with the text data 74 as operation control data for controlling the face model DS ′. When the code shape information 73 for converting the code data 75 into the edge displacement data 76 is not in the terminal device 2β, the code shape information 73 is also transmitted.
[0086]
When it is determined that the terminal device 2β does not have the standard model information 71, the standard model information 71 and the face shape information 72 of the user of the terminal device α are transmitted as model information 7 to the terminal device 2β. When it is determined that the standard model information 71 is included but the face shape information 72 is not included, the face shape information 72 is transmitted as the model information 7. The same applies to the model Y described below.
[0087]
When it is determined that the terminal device 2β is the model Y, the displacement of each edge E of the face model DS ′ corresponding to each shape group indicated by the code data 75 generated by the code generation unit 211 by the displacement data generation unit 212 The amount is obtained, and edge displacement data 76 as shown in FIG. 18A is generated. The generated edge displacement data 76 is transmitted to the terminal device 2β together with the text data 74 as motion control data for controlling the face model DS ′. However, when the communication status determining unit 205 determines that the communication speed of the communication line 4 is slow and requires time for data communication, the edge displacement data 76 may be thinned out. For example, data corresponding to a shape that generates a consonant in the edge displacement data 76 may be thinned out.
[0088]
When it is determined that the terminal device 2β is the model Z, the shape of the face model DS ′ is changed by the image data generation unit 213 based on the edge displacement data 76 generated by the displacement data generation unit 212, and the terminal device 2β The image data 77 for displaying the animation is generated in accordance with the output of the message. Since the generation of the image data 77 overlaps with the function of the terminal device 2β described later, the description thereof is omitted here. The image data 77 is transmitted to the terminal device 2β together with the text data 74.
[0089]
Even if the terminal device 2β is the model X, the user of the terminal device 2α can select the edge displacement data 76 instead of the code data 75 as the operation control data to be transmitted to the terminal device 2β.
[0090]
Since the code data 75 has a smaller data amount than the edge displacement data 76, it is desirable to transmit the code data 75 to the terminal device 2β in view of communication time and the like. However, when the code data 75 is used, the face model DS ′ cannot be deformed except for the shape group shape defined in the code shape information 73 of FIG. Therefore, not only the shape defined in the code shape information 73 but also a more detailed movement is desired to be given to the face model DS ′, the amount of displacement of each edge E of the face model DS ′ can be freely set by the shape designation unit 204. What is necessary is just to create the displacement data 76 by setting. However, if it is determined that the communication speed of the communication line 4 is low, the code data 75 may be transmitted to the terminal device 2β regardless of the user's selection.
[Function of terminal device 2β]
Next, a functional configuration of the terminal device 2β will be described. As shown in FIG. 6A, the model X of the terminal device 2β is provided with a data reception unit 231, a displacement data generation unit 232, an image generation unit 233, a data storage unit 234, a voice synthesis unit 235, and the like.
[0091]
The data receiving unit 231 receives data such as text data 74 and code data 75 from the terminal device 2α. When the standard model information 71, the face shape information 72, or the code shape information 73 is received, these pieces of information are stored and stored in the data storage unit 234.
[0092]
The displacement data generation unit 232 generates edge displacement data 76 based on the received code data 75 in the same manner as the displacement data generation unit 212 of the terminal device 2α.
The image generation unit 233 acquires the face model DS ′ by replacing the constituent vertex V of the standard model DS based on the standard model information 71 and the face shape information 72, and determines the shape of the face model DS ′ based on the edge displacement data 76. The animation of the face image HF is generated by changing.
[0093]
The shape of the face model DS ′ is changed as follows. FIG. 20 is a diagram illustrating an example of a time table.
First, the shape (shape group) for each time indicated in the edge displacement data 76 is arranged in the time table. For example, when the face model DS ′ is pronounced “Kominkan”, each shape group (2, O,..., 1) is arranged as a trapezoid shown in FIG.
[0094]
As shown in FIG. 20B, the length of the upper side of the trapezoid indicating the shape group means the duration of maintaining the shape of the shape group. The duration is shorter for consonants than for vowels, 0.4 seconds for vowels and 0.1 seconds for consonants. When vowels are continuous, the duration of subsequent vowels may be set shorter than usual.
[0095]
The rise time T1 means a time until the shape changes from a certain shape (for example, an expressionless shape). The end time T3 means the time until the shape returns to the expressionless shape. Both the rise time T1 and the end time T3 are extremely short times and are 0.1 seconds or less.
[0096]
Returning to FIG. 20A, two adjacent trapezoids are arranged so that the rise of the subsequent trapezoidal shape is completed when the previous trapezoidal shape ends (t = tb). That is, the subsequent phonemes are arranged so as to start rising before the end time T3 before tb (t = ta).
[0097]
In this way, the shape of the face model DS ′ is changed according to the time table in which each shape group is arranged. However, the shape of the face model DS ′ between the two shape groups (ta to tb), that is, the position of each constituent vertex V is interpolated by linear approximation based on the following equation (7).
[0098]
[Equation 8]
Figure 0004182656
[0099]
Then, the face model DS ′ is projected two-dimensionally from a predetermined direction while changing the shape of the face model DS ′ to generate an animation of the image HF.
The voice synthesizer 235 in FIG. 6A voices the user's message of the terminal device 2α indicated in the text data 74 and outputs it in synchronization with the animation. For example, sound is sequentially output in accordance with a signal (trigger) issued from the image generation unit 233 when the face model DS ′ starts to change (rises) into a predetermined shape. As a method for converting text data into speech, a known speech synthesis technique is used.
[0100]
As shown in FIG. 6B, the model Y of the terminal device 2β is provided with a data receiving unit 241, an image generating unit 242, a data storing unit 243, a voice synthesizing unit 244, and the like.
[0101]
The data receiving unit 241 receives data such as text data 74 and edge displacement data 76 from the terminal device 2α.
Comparing FIG. 6B with FIG. 6A, it can be seen that the model Y of the terminal device 2β has nothing equivalent to the displacement data generation unit 232 of the model X. That is, the image generation unit 242 of the model Y does not generate the animation of the image HF based on the edge displacement data 76 generated by itself like the model X, but based on the edge displacement data 76 received from the terminal device 2α. An image HF is generated. Other functions are the same as those of the model X.
[0102]
As shown in FIG. 6C, the model Z of the terminal device 2β is provided with a data reception unit 251, a data storage unit 252, an image output unit 253, a voice synthesis unit 254, and the like.
[0103]
The data receiving unit 251 receives text data 74 and image data 77 from the terminal device 2α. These data are stored in the data storage unit 252. The image output unit 253 outputs the animation of the face image HF to the display screen HG based on the image data 77. The voice synthesizer 254 outputs voice in accordance with the animation.
[0104]
Next, the flow of processing in the animation communication system 1 will be described with reference to a flowchart. FIG. 21 is a flowchart for explaining the processing flow of the terminal device 2α on the transmission side, and FIG. 22 is a flowchart for explaining the processing flow of the terminal device 2β on the reception side.
[0105]
As shown in FIG. 21, in the terminal device 2α on the transmission side, the message of the user of the terminal device 2α is encoded based on the code shape information 73 shown in FIG. 11 to generate code data 75 (# 11).
[0106]
The terminal device 2β that is the message transmission destination is inquired to determine the status of communication such as the model of the terminal device 2β, the data held, and the communication speed of the communication line 4 (# 12). When it is determined that the terminal device 2β is a model that does not support the face model, that is, the model Z (No in # 13), an animation is created based on the code data 75 (# 14), and an appropriate length of time Each time the animation is converted into image data, the image data 77 is transmitted to the terminal device 2β at an appropriate timing (# 15). However, since image data is generally large in size, the data may be thinned out according to the communication speed. Note that the process of step # 14 is the same as a series of processes of steps # 32 to # 34 of FIG.
[0107]
When it is determined that the terminal device 2β is a model corresponding to the face model (Yes in # 13), it is determined whether or not the terminal device 2β has the standard model information 71 (# 16). When the standard model information 71 is not included (No in # 16), the standard model information 71 and the face shape information 72 of the user of the terminal device 2α are transmitted to the terminal device 2β (# 17, # 18).
[0108]
When the standard model information 71 is included (Yes in # 16), it is determined whether or not the terminal device 2β has the face shape information 72 (# 19). If it is determined that the face shape information 72 is not included, the face shape information 72 is transmitted to the terminal device 2β (# 18).
[0109]
It is determined whether or not the terminal device 2β is a model corresponding to the code data (# 20). If the terminal device 2β is a model that does not support code data, that is, model Y (No in # 20), shape change data (edge displacement data 76) of the face model DS ′ is generated from the code data 75 (# 21), It transmits to the terminal device 2β (# 22).
[0110]
If the terminal device 2β is a model that supports code data (Yes in # 20), it is further determined whether the transmission mode is the code mode or the shape mode (# 23). The code mode means that the code data 75 is selected as the operation control data of the face model DS ′ transmitted to the terminal device 2β. The shape mode means that shape change data (edge displacement data 76) is selected.
[0111]
In the case of the code mode (Yes in # 23), the code data 75 generated in step # 11 is transmitted to the terminal device 2β (# 24). In the shape mode (No in # 23), shape change data (edge displacement data 76) of the face model DS ′ is generated from the code data 75 (# 21) and transmitted to the terminal device 2β (# 22). In step # 21, the displacement amount of each edge E may be adjusted in order to realize a finer motion animation.
[0112]
On the other hand, as shown in FIG. 22, in the receiving terminal device 2β (model X), when the data received from the terminal device 2α is the code data 75 (Yes in # 31), based on the received code data 75. Then, edge displacement data 76 is generated (# 32). A shape interpolation process is performed on the edge displacement data 76 received from the terminal device 2α or generated in step # 32 (# 33), and the face model DS ′ is sequentially projected onto a two-dimensional surface from a predetermined direction to generate a face image HF. Generate and execute the animation (# 34).
[0113]
In the case of model Y, steps # 31 and # 32 are omitted. In the case of the model Z, the processing of steps # 31 to # 33 is omitted, and animation is executed based on the image data 77 received from the terminal device 2α.
[0114]
According to this embodiment, regardless of the model of the terminal device 2β that is the message transmission destination, it is possible to transmit to the terminal device 2β data that can be animated according to the message.
[0115]
When the terminal device 2β supports a plurality of operation control data like the model X, the operation control data suitable for the purpose or the communication situation can be selected. For example, when it is desired to execute an animation of fine movement, the edge displacement data 76 can be selected as the operation control data, and the displacement amount can be set for each edge E. If it is desired to shorten the communication time by reducing the amount of communication data, the code data 75 can be selected.
[0116]
The functions of the terminal device 2 have been described separately for the message transmission side and the reception side, but both functions may be provided in the terminal device 2. As a result, messages can be exchanged bidirectionally while displaying each other's face animation.
[0117]
In the present embodiment, the message of the user of the terminal device 2α is transmitted as text data to the terminal device 2β, but may be transmitted as voice data. In this case, in the terminal device 2β, the timing of outputting the received audio data and executing the animation may be set.
[0118]
In the present embodiment, an example in which a single word such as “Kominkan” is transmitted as a message has been described. However, when a long document such as an e-mail is transmitted as a message, the message is divided into appropriate lengths. Thus, a plurality of operation control data such as code data may be generated, or one operation control data may be generated for the entire sentence. When exchanging messages in real time, such as by telephone conversation or chat on a personal computer, operation control data may be generated for each sound or word. It may be generated.
[0119]
As the model of the terminal device 2β, three models are illustrated according to the types of operation control data that can be handled, but there may be more models. For example, even models that correspond to the same operation control data may be identified as different models according to the manufacturer, communication company, or performance such as processing speed, memory capacity, or communication speed. In the present embodiment, two types of code data and edge displacement data are exemplified as the motion control data. However, other types of motion control data may be present.
[0120]
Although a three-dimensional shape model is used as the face model, a two-dimensional shape model may be used.
In addition, the whole of the animation communication system 1 and the terminal devices 2α and 2β, the configuration of each unit, the processing content, the processing order, and the like can be appropriately changed in accordance with the spirit of the present invention.
[0121]
【The invention's effect】
According to the present invention, regardless of the model of a terminal device to which a message is transmitted, data capable of executing animation in accordance with the message can be transmitted to the terminal device.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration of an animation communication system according to the present invention.
FIG. 2 is a diagram illustrating a configuration of a terminal device.
FIG. 3 is a diagram illustrating a program and data stored in a storage device of a transmission-side terminal device.
FIG. 4 is a diagram illustrating programs and data stored in a storage device of a terminal device on the receiving side.
FIG. 5 is a diagram illustrating a functional configuration of a terminal device on a transmission side.
FIG. 6 is a diagram illustrating a functional configuration of a terminal device on the reception side.
FIG. 7 is a diagram illustrating an example of a configuration of a standard model or a face model.
FIG. 8 is a diagram illustrating a correspondence relationship between edges and nodes.
FIG. 9 is a diagram illustrating constituent vertices affected by a node.
FIG. 10 is a diagram illustrating a range in which a node affects.
FIG. 11 is a diagram illustrating an example of code shape information.
FIG. 12 is a diagram illustrating an example when a standard model or a face model is changed to a shape of each shape group.
FIG. 13 is a flowchart illustrating a processing flow for generating a three-dimensional shape model.
FIG. 14 is a diagram illustrating an example of a standard model.
FIG. 15 is a flowchart illustrating a flow of deformation processing.
FIG. 16 is a diagram schematically illustrating a surface S of a standard model and a point P of three-dimensional measurement data.
FIG. 17 is a diagram for explaining a virtual spring for preventing abnormal deformation of a standard model.
FIG. 18 is a diagram illustrating an example of edge displacement data and code data.
FIG. 19 is a diagram for explaining a difference in model of a terminal device.
FIG. 20 is a diagram illustrating an example of a time table.
FIG. 21 is a flowchart illustrating a process flow of a transmission-side terminal device.
FIG. 22 is a flowchart for explaining the processing flow of the terminal device on the receiving side.
[Explanation of symbols]
1 Animation communication system (communication system)
2α terminal device (second terminal device)
2β terminal device (first terminal device)
21 Display device (display means)
22b Operation control data generation program (computer program)
29a-29c recording medium
205 Communication status discriminator (Compatible with motion control dataDiscrimination means,Function determination means, model data presence / absence determination means, standard model data presence / absence determination means, edge displacement data correspondence determination means)
206 Data transmission unit (Animation dataTransmission means, Model data transmission means, standard model data transmission means)
211 Code generation unit (code data generation means)
212 Displacement data generator (shape change data generator)
233, 242 Image generation unit (display means)
4 communication lines
7 Model information (model data)
71 Standard model information (standard model data)
72 Face shape information (model deformation data)
73 Code shape information (positioning data)
74 Text data (message)
75 Code data (animation data)
76 Edge displacement data (animation data)
DS 'face model (model)

Claims (3)

ユーザが入力したメッセージを他の端末装置に通信回線を介して送信する端末装置であって、
前記他の端末装置がモデルの形状を変化させてアニメーションを生成するための動作制御データに対応しているか否かを判別する、動作制御データ対応判別手段と、
前記動作制御データ対応判別手段によって前記他の端末装置が前記動作制御データに対応していると判別された場合は、前記モデルを用いたアニメーションのためのアニメーションデータとして、前記メッセージの音韻ごとに前記モデルの形状を変化させる動作制御データを生成して当該他の端末装置に送信し、対応していないと判別された場合は、当該アニメーションデータとして、前記メッセージに合わせて前記モデルを変化させたときの各タイミングでの画像データを送信する、アニメーションデータ送信手段と、
を有することを特徴とする端末装置。
A terminal device that transmits a message input by a user to another terminal device via a communication line,
Action control data correspondence determining means for determining whether or not the other terminal device corresponds to action control data for generating an animation by changing the shape of the model;
When it is determined by the motion control data correspondence determining means that the other terminal device corresponds to the motion control data, as the animation data for the animation using the model, for each phoneme of the message When motion control data that changes the shape of the model is generated and transmitted to the other terminal device, and it is determined that the model is not supported, when the model is changed in accordance with the message as the animation data Animation data transmission means for transmitting image data at each timing of
The terminal device characterized by having.
ユーザが入力したメッセージを他の端末装置に通信回線を介して送信する端末装置における送信方法であって、
前記端末装置に、
前記他の端末装置がモデルの形状を変化させてアニメーションを生成するための動作制御データに対応しているか否かを判別する処理を実行させ、
前記他の端末装置が前記動作制御データに対応していると判別された場合は、前記モデルを用いたアニメーションのためのアニメーションデータとして、前記メッセージの音韻ごとに前記モデルの形状を変化させる動作制御データを生成して当該他の端末装置に送信する処理を実行させ、
前記他の端末装置が前記動作制御データに対応していないと判別された場合は、前記アニメーションデータとして、前記メッセージに合わせて前記モデルを変化させたときの各タイミングでの画像データを送信する処理、を実行させる、
ことを特徴とする送信方法。
A transmission method in a terminal device for transmitting a message input by a user to another terminal device via a communication line,
In the terminal device,
A process for determining whether or not the other terminal device corresponds to motion control data for generating an animation by changing the shape of the model;
When it is determined that the other terminal device corresponds to the motion control data, motion control is performed to change the shape of the model for each phoneme of the message as animation data for animation using the model. Processing to generate data and send it to the other terminal device,
When it is determined that the other terminal device does not correspond to the motion control data, processing for transmitting image data at each timing when the model is changed according to the message as the animation data , Run,
A transmission method characterized by the above.
ユーザが入力したメッセージを他の端末装置に通信回線を介して送信するコンピュータに用いられるコンピュータプログラムであって、
前記他の端末装置がモデルの形状を変化させてアニメーションを生成するための動作制御データに対応しているか否かを判別する手段と、
前記他の端末装置が前記動作制御データに対応していると判別された場合は、前記モデルを用いたアニメーションのためのアニメーションデータとして、前記メッセージの音韻ごとに前記モデルの形状を変化させる動作制御データを生成して当該他の端末装置に送信する手段と、
前記他の端末装置が前記動作制御データに対応していないと判別された場合は、前記アニメーションデータとして、前記メッセージの出力中の各タイミングに合わせて前記モデルを変化させたときの各タイミングでの画像データを送信する手段として、前記コンピュータを機能させる、
ことを特徴とするコンピュータプログラム。
A computer program used in a computer that transmits a message input by a user to another terminal device via a communication line,
Means for determining whether or not the other terminal device corresponds to motion control data for generating an animation by changing a shape of a model ;
When it is determined that the other terminal device corresponds to the motion control data, motion control is performed to change the shape of the model for each phoneme of the message as animation data for animation using the model. Means for generating data and transmitting it to the other terminal device ;
When it is determined that the other terminal device does not correspond to the operation control data, the animation data at each timing when the model is changed in accordance with each timing during the output of the message. Causing the computer to function as means for transmitting image data ;
A computer program characterized by the above.
JP2001304909A 2001-10-01 2001-10-01 Terminal device, transmission method, and computer program Expired - Fee Related JP4182656B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001304909A JP4182656B2 (en) 2001-10-01 2001-10-01 Terminal device, transmission method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001304909A JP4182656B2 (en) 2001-10-01 2001-10-01 Terminal device, transmission method, and computer program

Publications (2)

Publication Number Publication Date
JP2003109036A JP2003109036A (en) 2003-04-11
JP4182656B2 true JP4182656B2 (en) 2008-11-19

Family

ID=19124772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001304909A Expired - Fee Related JP4182656B2 (en) 2001-10-01 2001-10-01 Terminal device, transmission method, and computer program

Country Status (1)

Country Link
JP (1) JP4182656B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103369289B (en) * 2012-03-29 2016-05-04 深圳市腾讯计算机系统有限公司 A kind of communication means of video simulation image and device
KR20140061620A (en) * 2012-11-13 2014-05-22 삼성전자주식회사 System and method for providing social network service using augmented reality, and devices
JP6044306B2 (en) 2012-12-03 2016-12-14 株式会社リコー Information processing apparatus, information processing system, and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08307841A (en) * 1995-05-10 1996-11-22 Hitachi Ltd Pseudo video TV phone device
JP2000099437A (en) * 1998-09-25 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> Method and system for realizing shared object in three-dimensional shared virtual space, and storage medium storing program for realizing shared object in three-dimensional shared virtual space
JP4034002B2 (en) * 1999-04-22 2008-01-16 三菱電機株式会社 Distributed virtual space information management transmission method
JP2001211443A (en) * 2000-01-27 2001-08-03 Mega Chips Corp Information distribution system

Also Published As

Publication number Publication date
JP2003109036A (en) 2003-04-11

Similar Documents

Publication Publication Date Title
US8125485B2 (en) Animating speech of an avatar representing a participant in a mobile communication
EP2140341B1 (en) Emotive advisory system and method
RU2488232C2 (en) Communication network and devices for text to speech and text to facial animation conversion
JP5510852B2 (en) Singing voice synthesis system reflecting voice color change and singing voice synthesis method reflecting voice color change
US20020024519A1 (en) System and method for producing three-dimensional moving picture authoring tool supporting synthesis of motion, facial expression, lip synchronizing and lip synchronized voice of three-dimensional character
JP2007272773A (en) Interactive interface control system
JP2005115896A (en) Communication apparatus and method
TW200828066A (en) An image-based instant message system and method for providing emotions expression
US11005796B2 (en) Animated delivery of electronic messages
CN112734889A (en) Mouth shape animation real-time driving method and system for 2D character
US20120013620A1 (en) Animating Speech Of An Avatar Representing A Participant In A Mobile Communications With Background Media
WO1997036288A1 (en) Image synthesis
JP4182656B2 (en) Terminal device, transmission method, and computer program
JP2022531056A (en) Interactive target drive methods, devices, devices, and recording media
JP4631077B2 (en) Animation creation device
US20040179043A1 (en) Method and system for animating a figure in three dimensions
JP2003058908A (en) Method and device for controlling face image, computer program and recording medium
JPH0766832A (en) Multimedia electronic mail system
KR100317036B1 (en) Automatic and adaptive synchronization method of image frame using speech duration time in the system integrated with speech and face animation
JP2003196678A (en) Three-dimensional model system and computer program
JP2003141564A (en) Animation generation apparatus and animation generation method
JP2003085582A (en) Communication system, and device and method for generating animation
JP4603902B2 (en) 3D graphic display system and display device, electronic message transfer system and display device
JP2003196677A (en) Three-dimensional model transformation method and computer program
JP2005216087A (en) Electronic mail reception device and electronic mail transmission device

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20040927

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040928

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20041112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080317

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080325

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080325

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080709

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080709

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080812

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080825

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130912

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees