(57)【特許請求の範囲】
【請求項１】
ユーザが入力したメッセージを他の端末装置に通信回線を介して送信する端末装置であって、
前記他の端末装置がモデルの形状を変化させてアニメーションを生成するための動作制御データに対応しているか否かを判別する、動作制御データ対応判別手段と、
前記動作制御データ対応判別手段によって前記他の端末装置が前記動作制御データに対応していると判別された場合は、前記モデルを用いたアニメーションのためのアニメーションデータとして、前記メッセージの音韻ごとに前記モデルの形状を変化させる動作制御データを生成して当該他の端末装置に送信し、対応していないと判別された場合は、当該アニメーションデータとして、前記メッセージに合わせて前記モデルを変化させたときの各タイミングでの画像データを送信する、アニメーションデータ送信手段と、
を有することを特徴とする端末装置。
【請求項２】
ユーザが入力したメッセージを他の端末装置に通信回線を介して送信する端末装置における送信方法であって、
前記端末装置に、
前記他の端末装置がモデルの形状を変化させてアニメーションを生成するための動作制御データに対応しているか否かを判別する処理を実行させ、
前記他の端末装置が前記動作制御データに対応していると判別された場合は、前記モデルを用いたアニメーションのためのアニメーションデータとして、前記メッセージの音韻ごとに前記モデルの形状を変化させる動作制御データを生成して当該他の端末装置に送信する処理を実行させ、
前記他の端末装置が前記動作制御データに対応していないと判別された場合は、前記アニメーションデータとして、前記メッセージに合わせて前記モデルを変化させたときの各タイミングでの画像データを送信する処理、を実行させる、
ことを特徴とする送信方法。
【請求項３】
ユーザが入力したメッセージを他の端末装置に通信回線を介して送信するコンピュータに用いられるコンピュータプログラムであって、
前記他の端末装置がモデルの形状を変化させてアニメーションを生成するための動作制御データに対応しているか否かを判別する手段と、
前記他の端末装置が前記動作制御データに対応していると判別された場合は、前記モデルを用いたアニメーションのためのアニメーションデータとして、前記メッセージの音韻ごとに前記モデルの形状を変化させる動作制御データを生成して当該他の端末装置に送信する手段と、
前記他の端末装置が前記動作制御データに対応していないと判別された場合は、前記アニメーションデータとして、前記メッセージの出力中の各タイミングに合わせて前記モデルを変化させたときの各タイミングでの画像データを送信する手段として、前記コンピュータを機能させる、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メッセージに合わせて動作するアニメーションのためのデータの送受信を行う通信システムおよびこれに用いられる端末装置に関する。
【０００２】
【従来の技術】
従来より、メッセージの送信者のアニメーションがメッセージに合わせて動作するように受信者側の端末装置の表示画面に表示する技術が提案されている。例えば、特開平８−３０７８４１号公報には、送信側からの音声信号に基づいて擬似動画（アニメーション）を生成し表示するＴＶ電話装置が開示されている。このＴＶ電話装置によると、送信側から画像データを受けることなく、アニメーションを表示することができる。
【０００３】
ところで、最近は、メッセージのやり取りを行うための多くの種類の端末装置が多く提案されまたは普及している。例えば、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant）、携帯電話装置、またはＰＨＳ端末装置などがある。さらに、これらの装置は、各メーカまたは各通信会社から様々な機種が発売されている。
【０００４】
【発明が解決しようとする課題】
これらの装置を用いて、特開平８−３０７８４１号のＴＶ電話装置のように、送信側のメッセージに基づいて受信側の端末装置にアニメーションを表示することが考えられる。
【０００５】
しかし、これらの端末装置は互いに仕様が異なる場合が多い。例えば、メッセージの送信側および受信側の端末装置がともにアニメーションの実行が可能であっても、アニメーションを実行するためのデータ形式が互いに異なる場合がある。このような場合は、一方の端末装置から他方の端末装置へアニメーションのためのデータを送信しても、他方の端末装置においてアニメーションを実行することはできない。
【０００６】
特に、ＰＤＡまたは携帯電話などのモバイル機器は、各メーカおよび各通信会社が新機種および新規格の開発を行い、数多くの新旧の端末装置が混在しているので、データ形式を統一することは実際には難しい。
【０００７】
本発明は、このような問題点に鑑み、メッセージの送信先の端末装置の機種に関わらず、メッセージに合わせてアニメーションの実行が可能なデータを当該端末装置に送信する通信システムおよび端末装置を提供することを目的とする。
【０００８】
本発明の一形態に係る端末装置は、ユーザが入力したメッセージを他の端末装置に通信回線を介して送信する端末装置であって、前記他の端末装置がモデルの形状を変化させてアニメーションを生成するための動作制御データに対応しているか否かを判別する、動作制御データ対応判別手段と、前記動作制御データ対応判別手段によって前記他の端末装置が前記動作制御データに対応していると判別された場合は、前記モデルを用いたアニメーションのためのアニメーションデータとして、前記メッセージの音韻ごとに前記モデルの形状を変化させる動作制御データを生成して当該他の端末装置に送信し、対応していないと判別された場合は、当該アニメーションデータとして、前記メッセージに合わせて前記モデルを変化させたときの各タイミングでの画像データを送信する、アニメーションデータ送信手段と、を有してなる。
【０００９】
本発明の一形態に係る送信方法は、ユーザが入力したメッセージを他の端末装置に通信回線を介して送信する端末装置における送信方法であって、前記端末装置に、前記他の端末装置がモデルの形状を変化させてアニメーションを生成するための動作制御データに対応しているか否かを判別する処理を実行させ、前記他の端末装置が前記動作制御データに対応していると判別された場合は、前記モデルを用いたアニメーションのためのアニメーションデータとして、前記メッセージの音韻ごとに前記モデルの形状を変化させる動作制御データを生成して当該他の端末装置に送信する処理を実行させ、前記他の端末装置が前記動作制御データに対応していないと判別された場合は、前記アニメーションデータとして、前記メッセージに合わせて前記モデルを変化させたときの各タイミングでの画像データを送信する処理、を実行させる。
【００１０】
本発明の一形態に係るコンピュータプログラムは、ユーザが入力したメッセージを他の端末装置に通信回線を介して送信するコンピュータに用いられるコンピュータプログラムであって、前記他の端末装置がモデルの形状を変化させてアニメーションを生成するための動作制御データに対応しているか否かを判別する手段と、前記他の端末装置が前記動作制御データに対応していると判別された場合は、前記モデルを用いたアニメーションのためのアニメーションデータとして、前記メッセージの音韻ごとに前記モデルの形状を変化させる動作制御データを生成して当該他の端末装置に送信する手段と、前記他の端末装置が前記動作制御データに対応していないと判別された場合は、前記アニメーションデータとして、前記メッセージの出力中の各タイミングに合わせて前記モデルを変化させたときの各タイミングでの画像データを送信する手段として、前記コンピュータを機能させる。
【００１４】
【発明の実施の形態】
図１は本発明に係るアニメーション通信システム１の構成を説明する図、図２は端末装置２α、２βの構成を説明する図、図３は送信側の端末装置２αの記憶装置２２に記憶されるプログラムおよびデータを示す図、図４は受信側の端末装置２βの記憶装置２２に記憶されるプログラムおよびデータを示す図、図５は送信側の端末装置２αの機能的構成を説明する図、図６は受信側の端末装置２βの機能的構成を説明する図である。
【００１５】
本発明に係るアニメーション通信システム１は、図１に示すように、複数の端末装置２によって構成される。端末装置２として、携帯電話装置、パーソナルコンピュータ（パソコン）、またはＰＤＡ（Personal Digital Assistant）など、通信機能を有する種々の端末装置が用いられる。
【００１６】
これらの端末装置２は、通信回線４を介して互いに接続し、データの送受信を行うことが可能である。通信回線４として、アナログ回線またはＩＳＤＮなどの公衆回線、携帯電話回線、専用線、またはインターネットなどが用いられる。
【００１７】
ユーザは、自分の端末装置２から他のユーザの端末装置２にメッセージを送信することができる。以下、メッセージの送信側の端末装置と受信側の端末装置とを区別するために、送信側、受信側の端末装置２をそれぞれ端末装置２α、２βと記載する。
【００１８】
図２（ａ）は端末装置２α、２βがパソコンである場合の構成を示し、図２（ｂ）は端末装置２α、２βが携帯電話装置である場合の構成を示す。図２（ａ）（ｂ）に示すように、端末装置２α、２βは、処理装置２０、表示装置２１、記憶装置２２、文字入力装置２３、音声入力装置２４、および音声出力装置２５などによって構成される。
【００１９】
処理装置２０は、ＣＰＵ２０ａ、ＲＡＭ２０ｂ、ＲＯＭ２０ｃ、各種の入出力ポート２０ｄ、および各種のコントローラ２０ｅなどによって構成される。
端末装置２α、２βがパソコンである場合は、記憶装置２２として、磁気記憶装置などが用いられる。携帯電話装置である場合は、ＥＥＰＲＯＭなどの書き換え可能な記憶素子が用いられる。
【００２０】
端末装置２αの記憶装置２２には、図３に示すように、オペレーティングシステム（ＯＳ）２２ａ、動作制御データ生成プログラム２２ｂ、モデリングプログラム２２ｃ、および後に説明する種々の処理のためのプログラムおよびデータなどが記憶されている。
【００２１】
端末装置２βの記憶装置２２には、図４に示すように、オペレーティングシステム（ＯＳ）２２ｄ、アニメーション実行プログラム２２ｅ、および後に説明する種々の処理のためのプログラムおよびデータなどが記憶されている。ただし、標準モデル情報７１または顔形状情報７２は、記憶されていない場合がある。端末装置２βには、機種Ｘ、Ｙ、およびＺの３種類の機種があり、図４（ａ）〜（ｃ）に示すように、機種によって記憶装置２２に記憶されるプログラムなどの内容が異なる。機種Ｘ〜Ｚの相違については、後に説明する。
【００２２】
記憶装置２２に記憶されているプログラムおよびデータは、必要に応じてＲＡＭ２０ｂにロードされる。ロードされたプログラムは、ＣＰＵ２０ａによって実行される。通信回線４を介して端末装置２α、２βを他のコンピュータに接続し、プログラムまたはデータをダウンロードしてもよい。または、フロッピディスク２９ａ、ＣＤ−ＲＯＭ２９ｂ、または光磁気ディスク（ＭＯ）２９ｃなどの各種リムーバブルディスク（記録媒体）からプログラムまたはデータをロードしてもよい。
【００２３】
端末装置２βの表示装置２１には、処理装置２０による処理結果が表示される。例えば、端末装置２αから受信したメッセージに合わせて口が動くようにメッセージの送信者（端末装置２αのユーザ）の顔画像ＨＦが表示装置２１の表示画面ＨＧにアニメーションとして表示される。音声出力装置２５は、アニメーションに合わせてメッセージを音声として出力する。これにより、送信者の顔画像ＨＦがメッセージを読み上げているかのように端末装置２βのユーザに認識させることができる。
【００２４】
顔画像ＨＦは、送信者の頭部の３次元形状を示す３次元形状モデル（顔モデル）を所定の方向から２次元上に投影することによって得られる。つまり、顔画像ＨＦが動作するアニメーションを生成するには、顔モデルの形状を変化させながら所定の方向から２次元上に投影すればよい。顔モデルに関するデータおよび顔モデルの制御については、後に説明する。
【００２５】
このような構成によって、端末装置２αには、図５に示すように、データ生成部２０１、顔モデルデータ生成部２０２、音声テキスト変換部２０３、形状指定部２０４、通信状況判別部２０５、データ送信部２０６、およびデータ記憶部２０７などが設けられる。端末装置２βには、図６に示すような機能が設けられる。ただし、図６（ａ）〜（ｃ）に示すように、機種ごとに機能的構成がそれぞれ異なる。
〔顔画像の生成のためのデータ〕
図５において、端末装置２αのデータ記憶部２０７は、標準モデル情報７１、顔形状情報７２、および符号形状情報７３などを記憶する。
【００２６】
図７は標準モデルＤＳまたは顔モデルＤＳ' の構成の例を示す図、図８はエッジＥとノードＮとの対応関係を示す図、図９はノードＮの影響を受ける構成頂点Ｖを示す図、図１０はノードＮが影響を与える範囲を説明する図である。
【００２７】
標準モデル情報７１は、図７（ａ）に示す標準モデルＤＳの構成頂点（Model Vertex）Ｖ、ポリゴンＰｇ、ノード（Node）Ｎ、およびエッジ（Edge）Ｅなどに関する情報である。標準モデルＤＳは、標準的な顔のサイズおよび形状を有した、頭部の全周を構造化した３次元モデルである。図７（ａ）において、複数の細い直線同士の交点は、構成頂点Ｖを示す。各構成頂点Ｖの位置は、ｘ、ｙ、ｚの３次元座標（位置データ）によって決まる。各ポリゴンＰｇは、同一平面上にある複数の構成頂点Ｖの集合すなわち位相（topology）によって定義される。これら位置データおよび位相データによってジオメトリデータ（Geometry Data ）が構成される。太い直線は、筋肉を意味するエッジ（Edge）Ｅを示す。黒い丸印は筋肉の端点を意味するノード（Node）Ｎを示す。
【００２８】
ノードＮの位置は、次に示す式（１）のように構成頂点Ｖの相対的位置として表される。
【００２９】
【数１】
0004182656.tif 000002
【００３０】
エッジＥ（Ｅ１、Ｅ２、…）の位置は、図８のエッジＥの第一のパラメータに示すように、異なる２つのノードＮによって決められる。ノードＮ（Ｎ１、Ｎ２、…）は、顔全体の各筋肉の端点となる位置に配置されている。なお、図７（ｂ）は、ノードＮとエッジＥとの関係を分かりやすくするために図７（ａ）から構成頂点Ｖを省略して示している。図７（ａ）（ｂ）は、顔の右半分のノードＮおよびエッジＥを省略して示しているが、実際には、左半分と同様にノードＮおよびエッジＥが存在する。
【００３１】
エッジＥの第二のパラメータは、そのエッジＥ（筋肉）を変位させた場合に、どちらの端点（ノードＮ）をどれだけの割合（ウェイト）で移動させるかを示す。例えば、エッジＥ３の第二のパラメータ「０．７，０．３」は、エッジＥ３が変位したときに、ノードＮ４とノードＮ３とを７対３の割合でそれぞれ移動させるということを示している。エッジＥの変位量は、筋肉の収縮の度合によって表される。筋肉が収縮していない状態を「０」、最も収縮した状態を「２０」とする。例えば、変位量（収縮の度合）が「１５．０」であれば、その筋肉（エッジＥ）が７５％収縮することを示す。
【００３２】
エッジＥが変位するとき、ノードＮが移動する位置は、次に示す式（２）によって求められる。
【００３３】
【数２】
0004182656.tif 000003
【００３４】
ただし、実際には複数のエッジＥに関係するノードＮが存在するため、収束演算または連立演算によってノードＮの移動後の位置が求められる。
各ノードＮが移動したときに影響を受ける構成頂点Ｖは、図９の第二のパラメータのように示される。つまり、この第二のパラメータは、ノードＮが移動したときの影響の範囲を示している。ノードＮの移動による影響を受ける構成頂点Ｖは、そのノードＮの周辺に集中している。例えば、図１０において、大きい黒丸が示すノードＮの移動による影響を受ける構成頂点Ｖは、小さい黒丸が示す９つの構成頂点Ｖである。
【００３５】
図９の第一のパラメータは、ノードＮが移動したときに構成頂点Ｖに対して与える影響の度合（Intensity ）を示している。この値が大きいと、ノードＮの移動に伴う構成頂点Ｖの移動量（変位量）が大きくなる。
【００３６】
ノードＮが移動するのに伴って構成頂点Ｖが移動する位置は、次に示す式（３）によって求められる。
【００３７】
【数３】
0004182656.tif 000004
【００３８】
このように、標準モデル情報７１は、図８、図９、および式（１）〜式（３）に示すように、標準モデルＤＳの構成頂点Ｖ、ノードＮ、およびエッジＥの位置および関係を表している。標準モデル情報７１を制御することにより、標準モデルＤＳのエッジＥ（筋肉）を動かして標準モデルＤＳを任意の形状に変化させることができる。例えば、標準モデルＤＳの右目を閉じる（ウィンクさせる）には、右目の周辺の所定のエッジＥ（筋肉）をそれぞれ所定の値だけ変位（収縮）させればよい。すると、式（２）に従って各エッジＥに関連する各ノードＮの位置が移動し、式（３）に従って各ノードＮの影響を受ける各構成頂点Ｖの位置が移動し、これにより標準モデルＤＳはウィンクした形状となる。
【００３９】
顔形状情報７２は、端末装置２αのユーザすなわちメッセージの送信者の顔の３次元形状モデル（顔モデル）の構成頂点に関する情報である。顔モデルは、標準モデルＤＳをユーザの３次元計測データにフィッティングすることによって生成される。顔モデルの生成は、後に説明する顔モデルデータ生成部２０２よって行われる。
【００４０】
つまり、顔モデルの各構成頂点は、フィッティングの処理によって移動した標準モデルＤＳの各構成頂点Ｖに対応する。標準モデル情報７１の各構成頂点Ｖを顔モデルの各構成頂点に置き換えると、式（１）および図８の関係に従って顔モデルのノードＮおよびエッジＥの位置が求められる。したがって、標準モデルＤＳの場合と同様に、エッジＥを変位させることによって顔モデルの形状を変化させることができる。以下、標準モデルＤＳを端末装置２αのユーザの３次元計測データにフィッティングして得られた顔モデルを「顔モデルＤＳ' 」と記載する。  図１１は符号形状情報７３の例を示す図、図１２は標準モデルＤＳまたは顔モデルＤＳ' を各形状グループの形状に変化させた場合の例を示す図である。
【００４１】
ところで、顔モデルＤＳ' または標準モデルＤＳの形状を連続して変化させる場合は、各エッジＥに対して与える値の数が増えるので、全体のデータ量が増える。例えば、ある言葉に合わせて顔モデルＤＳ' の形状を変化させる場合は、その言葉に含まれる音の数だけその音を発しているかのように口を開閉するように各エッジＥの変位量を設定しなければならない。
【００４２】
しかし、一般に、互いに異なる音韻であっても発音するときの口の形状の特徴が同一でありまたは類似するものがある。例えば、子音「ｍ」および子音「ｎ」は、ともに唇を合わせて発音されるという点で類似する。
【００４３】
符号形状情報７３は、このように、発音するときの口の形状の特徴が同一または類似の音韻をグループ化し、グループごとに各筋肉（エッジＥ１、Ｅ２、…）の変位量を定めている。本実施形態では、図１１（ａ）に示すように、５つの母音のグループ（形状グループＡ、Ｅ、Ｉ、Ｏ、Ｕ）および３つの子音のグループ（形状グループ１〜３）が設けられている。
【００４４】
形状グループＡ、Ｅ、Ｉ、Ｏ、Ｕには、それぞれ「ａ」、「ｅ」、「ｉ」、「ｏ」、「ｕ」の１種類ずつの母音が属する。形状グループ１は唇を合わせて発音する子音のグループ、形状グループ２は唇を合わせずに口を所定の形状にして発音する子音のグループ、形状グループ３は前に発した音の口の形状のまま発音する子音のグループである。係る分類によると、通常、形状グループ１には「ｂ、ｆ、ｍ、ｐ、ｖ」の５種類の子音が属し、形状グループ２には「ｄ、ｇ、ｊ、ｋ、ｌ、ｎ、ｒ、ｓ、ｔ、ｗ、ｚ」の１１種類の子音が属し、形状グループ３には「ｈ、ｙ」の２種類の子音が属する。
【００４５】
すなわち、符号形状情報７３は、各形状グループＡ、Ｅ、Ｉ、Ｏ、Ｕ、１、２に属する音を発するときに、顔モデルＤＳ' がそれぞれ図１２（ａ）〜（ｇ）に示す形状になるように顔モデルＤＳ' の各筋肉（エッジＥ１、Ｅ２、…）を変位させるためのデータである。ただし、形状グループ３の場合は、顔モデルＤＳ' は前に発した音（音韻）の形状のまま保たれるので、変位量の値を持たない。
【００４６】
さらに、符号形状情報７３は、図１１（ｂ）に示すように、「ウィンク」（形状グループ１１）、「驚き」（形状グループ１２）、および「喜び」（形状グループ１３）などの表情をしたときの顔モデルＤＳ' の形状についての各エッジＥの変位量を有している。図１１（ｂ）に示す各値によると、図１２（ｈ）〜（ｊ）に示す形状を得ることができる。
【００４７】
符号形状情報７３を用いると、形状グループ名を順次指定するだけで顔モデルＤＳ' の形状を連続して変化させることができる。例えば、「かん（ｋａｎ）」という言葉に合わせて顔モデルＤＳ' の形状を変化させる場合は、形状グループ２、Ａ、１と指定すればよい。
〔顔モデルの生成（標準モデルのフィッティング）〕
図５に戻って、顔モデルデータ生成部２０２は、メッセージに合わせて動作する顔画像ＨＦすなわちアニメーションの基となる顔モデルＤＳ' を生成する。次に、顔モデルすなわち３次元形状モデルを生成する方法について、フローチャートを参照して説明する。
【００４８】
図１３は３次元形状モデルの生成の処理の流れを説明するフローチャート、図１４は標準モデルＤＳの例を示す図、図１５は変形処理の流れを説明するフローチャート、図１６は標準モデルＤＳの面Ｓと３次元計測データの点Ｐとを模式的に示す図、図１７は標準モデルＤＳの異常変形を防ぐための仮想バネを説明するための図である。
【００４９】
図１３において、まず、図１４に示す標準モデルＤＳと人物（例えば端末装置２αのユーザ）の３次元計測データとの概略の位置合わせを行う（＃１０１）。標準モデルＤＳは、標準的な顔のサイズおよび形状を有した、頭部の全周を構造化した３次元データである。３次元計測データは、点群からなるユーザの顔の３次元データである。すなわち、ステップ＃１０１では、標準モデルＤＳと３次元計測データとの距離が最小となるように、標準モデルＤＳの向き、大きさ、および位置を変更する。一般に、標準モデルＤＳおよび３次元計測データとして、無表情の状態のものが用いられる。なお、３次元計測データは、３次元計測装置でユーザを撮影するなどして予め用意されている。
【００５０】
輪郭および特徴点を抽出する（＃１０２）。標準モデルＤＳについての輪郭ＲＫおよび特徴点ＴＴと同じ位置に配置されるべき輪郭および特徴点を、３次元計測データ上に、またはそれに対応する２次元画像上に配置する。
【００５１】
特徴点として、例えば、目や口の端部、鼻の頂部、顎の下端部のように実際に特徴のある部分、または、それらの中間のようなそれ自体では特徴はないが位置的に特定し易い部分などが選ばれる。輪郭として、顎のライン、唇のライン、または瞼のラインなどが選ばれる。
【００５２】
計算量および誤差を削減するために、３次元計測データについてデータの削減を行う（＃１０３）。
標準モデルＤＳの変形を行う（＃１０４）。すなわち、３次元計測データの各点と標準モデルＤＳの面との間の距離に関連して定義されたエネルギー関数、または過剰な変形を回避するために定義されたエネルギー関数などを用い、それらが最小となるように標準モデルＤＳの面を変形させる。
【００５３】
そして、対象とするエネルギー関数および制御点を変更し、ステップ＃１０４と同様な変更のための処理を繰り返す（＃１０５）。
次に、ステップ＃１０４の変形処理について説明する。
【００５４】
図１６において、３次元計測データを構成する点群の１つが点Ｐｋで示されている。標準モデルＤＳの面Ｓにおいて、点Ｐｋに最も近い点がＱｋで示されている。点Ｑｋは、点Ｐｋから面Ｓに垂線を下ろしたときの交点である。
【００５５】
点群に面Ｓをフィッティングする方法は次の通りである。ここでは、一般的なフィッティングについて説明する。
点群の中の１つの点Ｐｋ、それに対応する点Ｑｋ、および対応点群Ｔ＝｛（Ｐｋ，Ｑｋ），ｋ＝１…ｎ｝について、フィッティングエネルギー（Fitting Energy) 関数Ｆｆ（Ｕ）を、次の式（４）のように設定する。
【００５６】
【数４】
0004182656.tif 000005
【００５７】
ただし、Ｑｋ（Ｕ）は、ＱｋがＵの関数であることを示す。
また、面Ｓの過度の変形を防ぐために、図１７に示す仮想バネ(elastic bar) ＫＢを導入する。仮想バネＫＢの制約に基づいて、面Ｓの形状安定化のための安定化エネルギー関数を導く。
【００５８】
すなわち、図１７において、フィッティング対象である標準モデルＤＳの面（曲面）Ｓの一部が示されている。面Ｓは、制御点群Ｕ＝｜ｕｉ，ｉ＝１…ｎ｜で形成されている。隣接する制御点間には、仮想バネＫＢが配置されている。仮想バネＫＢは、制御点間に引っ張り力による拘束を与え、面Ｓの異常変形を防ぐ働きをする。
【００５９】
つまり、隣接する制御点ｕの間隔が大きくなった場合に、それに応じて仮想バネＫＢによる引っ張り力が大きくなる。例えば、点Ｑｋが点Ｐｋに近づく場合に、その移動にともなって制御点ｕの間隔が大きくなると、仮想バネＫＢによる引っ張り力が増大する。点Ｑｋが移動しても制御点ｕの間隔が変わらなければ、つまり制御点ｕ間の相対位置関係に変化がなければ、仮想バネＫＢによる引っ張り力は変化しない。仮想バネＫＢによる引っ張り力を面Ｓの全体について平均化したものを、安定化エネルギーとして定義する。したがって、面Ｓの一部が突出して変形した場合に安定化エネルギーは増大する。面Ｓの全体が平均して移動すれば安定化エネルギーは零である。
【００６０】
安定化エネルギー関数Ｆｓ（Ｕ）は、次の式（５）で示される。
【００６１】
【数５】
0004182656.tif 000006
【００６２】
ここで、
【００６３】
【数６】
0004182656.tif 000007
【００６４】
は、それぞれ、仮想バネＫＢの初期端点、変形後の仮想バネＫＢの端点である。ｃはバネ係数であり、Ｍは仮想バネＫＢの本数である。また、次の関係が成り立つ。
【００６５】
【数７】
0004182656.tif 000008
【００６６】
したがって、バネ係数ｃを大きくすると、仮想バネＫＢは硬くなって変形し難くなる。
このような安定化エネルギー関数Ｆｓ（Ｕ）を導入することにより、面Ｓの形状変化に一定の拘束を設けることとなり、面Ｓの過度の変形を防ぐことができる。
【００６７】
上に述べたフィッティングエネルギー関数Ｆｆ（Ｕ）、および安定化エネルギー関数Ｆｓ（Ｕ）を用い、フィッティングの評価関数Ｆ（Ｕ）を次の式（６）のように定義する。
【００６８】
Ｆ（Ｕ）＝ＷｆＦｆ（Ｕ）＋ＷｓＦｓ（Ｕ）  ……（６）
ここで、Ｗｆ，Ｗｓは、それぞれ正規化のための重み係数である。
式（６）の評価関数Ｆ（Ｕ）が十分小さくなるように、面Ｓの変形および対応点の探索を繰り返し、面のフィッティングを行う。例えば、Ｆ（Ｕ）のＵに関する微分が０に近づく方向にフィッティングを行う。
【００６９】
図１５において、変形処理では、まず、点Ｐｋに対応する点Ｑｋを計算で求め、点Ｐｋと点Ｑｋの組みを作成する（＃１１１）。
面Ｓを変形し（＃１１２）、変形後の評価関数Ｆ（Ｕ）を計算する（＃１１３）。評価関数Ｆ（Ｕ）が収束するまで（＃１１４でＹｅｓ）、処理を繰り返す。
【００７０】
評価関数Ｆ（Ｕ）の収束を判定する方法として、評価関数Ｆ（Ｕ）が所定の値よりも小さくなったときを収束とする方法、前回の計算と比較べた変化の割合が所定値以下となったときに収束とする方法など、公知の方法を用いることが可能である。
【００７１】
このような処理によって標準モデルＤＳを変形し、ユーザの顔の形状をした３次元形状モデル（顔モデルＤＳ' ）を生成することができる。なお、ユーザの２次元画像に標準モデルをフィッティングして顔モデルを取得してもよい。または、種々のコンピュータグラフィック（ＣＧ）プログラムを用いて顔モデルを作成してもよい。
〔顔モデルの動作の制御のためのデータ〕
図１８はエッジ変位データ７６および符号データ７５の例を示す図、図１９は端末装置２βの機種の相違を説明する図である。
【００７２】
前に述べたように、顔モデルＤＳ' の形状を変化させるには、顔モデルＤＳ' の各エッジＥに対して変位量を直接与える方法と形状グループ名を指定する方法とがある。
【００７３】
例えば、「こうみんかん」の言葉に合わせて口を動かした後にウィンクをするように顔モデルＤＳ' の形状を連続して変化させる場合において、前者の方法であれば、図１８（ａ）のエッジ変位データ７６のように、顔モデルＤＳ' の各エッジＥの変位量を時間ごとに指定して直接的に顔モデルＤＳ' の動作を指定する。よって、エッジ変位データ７６を「動きデータ」と呼ぶことができる。
【００７４】
後者の方法であれば、図１８（ｂ）の符号データ７５のように、「１」、「Ａ」、「１１」などの符号を用いて形状グループを指定して間接的に顔モデルＤＳ' の動作（各エッジＥの変位量）を指定する。顔モデルＤＳ' の形状を変化させる際に、この符号データ７５は、図１１に示す符号形状情報７３に基づいてエッジ変位データ７６に変換される。つまり、符号データ７５は符号形状情報（動きデータ）７３を得るためのパラメータを意味するので、符号データ７５を「動きパラメータ」と呼ぶことができる。
【００７５】
図５に戻って、通信状況判別部２０５は、通信に関する状況を判別し、端末装置２βに送信するためのデータの種類を決める。具体的には、メッセージの送信相手である端末装置２βがどのような機種または機能であるか、端末装置２βにどのようなデータが記憶されているか、または通信回線４がどれくらいの通信速度であるかのいずれかを判別し、標準モデル情報７１、顔形状情報７２、符号データ（動きパラメータ）７５、およびエッジ変位データ（動きデータ）７６などのうち、いずれのデータを送信するかを選択する。通信に関する状況の判別は、実際に端末装置２βとの間で通信を開始した後に行われる。なお、ユーザが端末装置２αを操作して、通信に関する状況を入力してもよいし、端末装置２βに送信するデータを選択してもよい。
【００７６】
ここで、端末装置２βの機種Ｘ〜Ｚについて図１９を参照して説明する。機種Ｘは、符号データ７５に基づいて顔モデルＤＳ' の形状を変化させ、アニメーションを生成し表示することができる。例えば、「２、Ａ、１」という符号データ７５が与えられると、符号形状情報７３に基づいて符号データ７５をエッジ変位データ７６に変換し、順次、顔モデルＤＳ' の形状を図１２（ｇ）（ａ）（ｆ）のように変化させることができる。したがって、次に説明する機種Ｙのように、エッジ変位データ７６を直接与えられた場合であっても、アニメーションを生成することができる。
【００７７】
機種Ｙは、符号データ７５に対応しておらず、符号データ７５に基づいて顔モデルＤＳ' を制御することができない。したがって、顔モデルＤＳ' の形状を変化させるには、直接、エッジ変位データ７６が与えられなければならない。
【００７８】
機種Ｚは、符号データ７５およびエッジ変位データ７６のいずれにも対応しておらず、顔モデルＤＳ' の形状を変化させてアニメーションを生成することができない。ただし、入力された画像データに基づいてアニメーションを表示することが可能である。
【００７９】
さらに、機種Ｘ、Ｙは、標準モデルＤＳの標準モデル情報７１を有する場合と有しない場合とがある。このように、機種および標準モデル情報７１の有無によって、端末装置２βに対して送信されるアニメーションの生成のために必要なデータの量の多さは図１９に示すような順番になる。
【００８０】
図５のデータ生成部２０１は、符号生成部２１１、変位データ生成部２１２、および画像データ生成部２１３などからなり、通信状況判別部２０５による判別結果に従って端末装置２βに送信するためのデータを生成する。
【００８１】
端末装置２βが機種Ｘであると判別された場合は、原則として、符号データ７５を生成する。すなわち、符号生成部２１１によって、キーボードなどの文字入力装置２３から入力された端末装置２αのユーザのメッセージであるテキストデータ７４を音韻ごとに区切り、区切られた各音韻がいずれの形状グループに属するかを符号形状情報７３に基づいて求める。例えば、テキストデータ７４が「こうみんかん（ｋｏｕｍｉｎｋａｎ）」である場合は、「ｋ、ｏ、ｕ、ｍ、ｉ、ｎ、ｋ、ａ、ｎ」の９つの音韻に区切られ、「２、Ｏ、Ｏ、１、Ｉ、１、２、Ａ、１」という符合データ７５が得られる。
【００８２】
ただし、３番目の音韻「ｕ」は、形状グループＯに置き換えられる。なぜなら、一般に、「こう（ｋｏｕ）」のように「ｕ」の直前に「ｏ」がある場合は、「ｕ」は「ｏ」と発音されるからである。このように、直前の音（音韻）の影響を受けて記述（スペル）通りに発音しない場合は、適宜、その音韻の属する形状グループを変更する。
【００８３】
顔の形状を「ウィンクをする」または「驚き」などの動作または表情に変化させたい場合は、図１１（ｂ）に示すように予め定義されている文字列を用いればよい。例えば、「こうみんかん」という言葉を発した後にウィンクをさせたい場合は、「こうみんかん（＾＿−）」のようにウィンクを示す顔文字を用いてテキストデータ７４を入力すればよい。この場合の符合データ７５は、図１８（ｂ）に示すように、「２、Ｏ、Ｏ、１、Ｉ、１、２、Ａ、１、１１」となる。
【００８４】
符号データ７５の基となるテキストデータ７４を音声データから取得してもよい。すなわち、マイクなどの音声入力装置２４から入力された音声データを音声テキスト変換部２０３によってテキストデータ７３に変換する。
【００８５】
符号生成部２１１によって生成された符号データ７５は、顔モデルＤＳ' を制御するための動作制御データとしてテキストデータ７４とともにデータ送信部２０６によって相手先の端末装置２βに送信される。符号データ７５をエッジ変位データ７６に変換ための符号形状情報７３が端末装置２βにない場合は、符号形状情報７３も送信される。
【００８６】
また、端末装置２βが標準モデル情報７１を有しないと判別された場合は、その端末装置２βに標準モデル情報７１および端末装置αのユーザの顔形状情報７２をモデル情報７として送信する。標準モデル情報７１を有するが顔形状情報７２を有しないと判別された場合は、顔形状情報７２をモデル情報７として送信する。次に説明する機種Ｙの場合も同様である。
【００８７】
端末装置２βが機種Ｙであると判別された場合は、変位データ生成部２１２によって符号生成部２１１で生成された符号データ７５が示す各形状グループに対応する顔モデルＤＳ' の各エッジＥの変位量を求め、図１８（ａ）に示すようなエッジ変位データ７６を生成する。生成されたエッジ変位データ７６は、顔モデルＤＳ' を制御するための動作制御データとしてテキストデータ７４とともに端末装置２βに送信される。ただし、通信状況判別部２０５によって通信回線４の通信速度が遅くデータ通信に時間を要すると判別された場合は、エッジ変位データ７６を間引いてもよい。例えば、エッジ変位データ７６のうち子音を発音する形状に該当するデータを間引いてもよい。
【００８８】
端末装置２βが機種Ｚであると判別された場合は、画像データ生成部２１３によって変位データ生成部２１２で生成されたエッジ変位データ７６に基づいて顔モデルＤＳ' の形状を変化させ、端末装置２βにおいてメッセージの出力に合わせてアニメーションを表示するための画像データ７７を生成する。画像データ７７の生成については、後に説明する端末装置２βの機能と重複するので、ここでは説明を省略する。画像データ７７は、テキストデータ７４とともに端末装置２βに送信される。
【００８９】
なお、端末装置２βが機種Ｘであっても、端末装置２αのユーザは、端末装置２βに送信する動作制御データとして符合データ７５の代わりにエッジ変位データ７６を選ぶことができる。
【００９０】
符合データ７５はエッジ変位データ７６よりもデータ量が少ないので、通信時間などの点に鑑みると、符合データ７５を端末装置２βに送信するほうが望ましい。しかし、符合データ７５を用いた場合は、図１１の符号形状情報７３に定められた形状グループの形状以外には顔モデルＤＳ' を変形させることができない。そこで、符号形状情報７３に定められた形状に限られず、より細かな動きを顔モデルＤＳ' に与えたい場合は、形状指定部２０４にて顔モデルＤＳ' の各エッジＥの変位量を自由に設定し変位データ７６を作成すればよい。ただし、通信回線４の通信速度が遅いと判別された場合は、ユーザの選択に関わらず、符合データ７５が端末装置２βに送信されるようにしてもよい。
〔端末装置２βの機能〕
次に、端末装置２βの機能的構成について説明する。図６（ａ）に示すように、端末装置２βの機種Ｘには、データ受信部２３１、変位データ生成部２３２、画像生成部２３３、データ記憶部２３４、および音声合成部２３５などが設けられる。
【００９１】
データ受信部２３１は、端末装置２αからテキストデータ７４および符合データ７５などのデータを受信する。標準モデル情報７１、顔形状情報７２、または符号形状情報７３を受信した場合は、これらの情報はデータ記憶部２３４に記憶され保存される。
【００９２】
変位データ生成部２３２は、端末装置２αの変位データ生成部２１２と同様に、受信した符合データ７５に基づいてエッジ変位データ７６を生成する。
画像生成部２３３は、標準モデル情報７１および顔形状情報７２に基づいて標準モデルＤＳの構成頂点Ｖを置き換えて顔モデルＤＳ' を取得し、エッジ変位データ７６に基づいて顔モデルＤＳ' の形状を変化させて顔画像ＨＦのアニメーションを生成する。
【００９３】
顔モデルＤＳ' の形状は、次のように変化させる。図２０はタイムテーブルの例を示す図である。
まず、エッジ変位データ７６に示される時刻ごとの形状（形状グループ）をタイムテーブルに配置する。例えば、顔モデルＤＳ' に「こうみんかん」と発音させる場合は、各形状グループ（２、Ｏ、…、１）を図２０（ａ）に示す台形のように配置する。
【００９４】
図２０（ｂ）に示すように、形状グループを示す台形の上辺の長さは、その形状グループの形状を保っている継続時間を意味する。継続時間は、母音よりも子音のほうが短く、母音が０．４秒、子音が０．１秒程度である。母音が連続する場合は、後の母音の継続時間を通常よりも短めに設定してもよい。
【００９５】
立ち上がり時間Ｔ１は、ある形状（例えば無表情の形状）からその形状に変化するまでの時間を意味する。終息時間Ｔ３は、その形状が無表情の形状に戻るまでの時間を意味する。立ち上がり時間Ｔ１および終息時間Ｔ３は、ともに極めて短い時間であり、０．１秒以下である。
【００９６】
図２０（ａ）に戻って、隣り合う２つの台形は、前の台形の形状が終息したとき（ｔ＝ｔｂ）に後の台形の形状の立ち上がりが完了するように配置される。つまり、後の音韻は、ｔｂよりも終息時間Ｔ３だけ前に立ち上がりはじめるように配置される（ｔ＝ｔａ）。
【００９７】
このように、各形状グループを配置したタイムテーブルに従って、顔モデルＤＳ' の形状を変化させる。ただし、２つの形状グループの間（ｔａ〜ｔｂ）の顔モデルＤＳ' の形状すなわち各構成頂点Ｖの位置は、次の式（７）に基づいて直線近似して補間する。
【００９８】
【数８】
0004182656.tif 000009
【００９９】
そして、顔モデルＤＳ' の形状を変化させながら所定の方向から顔モデルＤＳ' を２次元上に投影して画像ＨＦのアニメーションを生成する。
図６（ａ）の音声合成部２３５は、テキストデータ７４に示される端末装置２αのユーザのメッセージを音声化し、アニメーションと同期して出力する。例えば、顔モデルＤＳ' が所定の形状に変化をはじめる（立ち上がる）ときに画像生成部２３３から発せられる信号（トリガー）に合わせて順次音声を出力する。テキストデータを音声化する方法として、公知の音声合成技術が用いられる。
【０１００】
端末装置２βの機種Ｙには、図６（ｂ）に示すように、データ受信部２４１、画像生成部２４２、データ記憶部２４３、および音声合成部２４４などが設けられる。
【０１０１】
データ受信部２４１は、端末装置２αからテキストデータ７４およびエッジ変位データ７６などのデータを受信する。
図６（ｂ）を図６（ａ）と比較すると、端末装置２βの機種Ｙには機種Ｘの変位データ生成部２３２に相当するものがないことが分かる。つまり、機種Ｙの画像生成部２４２は、機種Ｘのように自ら生成したエッジ変位データ７６に基づいて画像ＨＦのアニメーションを生成するのではなく、端末装置２αから受信したエッジ変位データ７６に基づいて画像ＨＦを生成する。その他の機能は、機種Ｘの場合と同様である。
【０１０２】
端末装置２βの機種Ｚには、図６（ｃ）に示すように、データ受信部２５１、データ記憶部２５２、画像出力部２５３、および音声合成部２５４などが設けられる。
【０１０３】
データ受信部２５１は、端末装置２αからテキストデータ７４および画像データ７７を受信する。これらのデータは、データ記憶部２５２に記憶される。画像出力部２５３は、画像データ７７に基づいて顔画像ＨＦのアニメーションを表示画面ＨＧに出力する。音声合成部２５４は、アニメーションに合わせて音声を出力する。
【０１０４】
次に、アニメーション通信システム１における処理の流れをフローチャートを参照して説明する。図２１は送信側の端末装置２αの処理の流れを説明するフローチャート、図２２は受信側の端末装置２βの処理の流れを説明するフローチャートである。
【０１０５】
図２１に示すように、送信側の端末装置２αにおいて、端末装置２αのユーザのメッセージを図１１に示す符号形状情報７３に基づいて符号化し、符号データ７５を生成する（＃１１）。
【０１０６】
メッセージの送信先である端末装置２βに問い合わせるなどして、その端末装置２βの機種、保有するデータ、および通信回線４の通信速度など、通信に関する状況を判別する（＃１２）。端末装置２βが顔モデルに非対応の機種すなわち機種Ｚであると判別された場合は（＃１３でＮｏ）、符号データ７５に基づいてアニメーションを作成し（＃１４）、適当な長さの時間ごとにアニメーションを画像データ化し、適当なタイミングで画像データ７７を端末装置２βに送信する（＃１５）。ただし、一般に画像データはサイズが大きいので、通信速度などに応じてデータを間引いてもよい。なお、ステップ＃１４の処理は、後に説明する図２２のステップ＃３２〜＃３４の一連の処理と同じである。
【０１０７】
端末装置２βが顔モデルに対応した機種と判別された場合は（＃１３でＹｅｓ）、その端末装置２βが標準モデル情報７１を有するか否かを判別する（＃１６）。標準モデル情報７１を有しない場合は（＃１６でＮｏ）、標準モデル情報７１および端末装置２αのユーザの顔形状情報７２を端末装置２βに送信する（＃１７、＃１８）。
【０１０８】
標準モデル情報７１を有する場合は（＃１６でＹｅｓ）、端末装置２βが顔形状情報７２を有するか否かを判別し（＃１９）。有しないと判別された場合は端末装置２βにその顔形状情報７２を送信する（＃１８）。
【０１０９】
端末装置２βが符号データに対応した機種か否かを判別する（＃２０）。端末装置２βが符号データ非対応の機種すなわち機種Ｙである場合は（＃２０でＮｏ）、符号データ７５より顔モデルＤＳ' の形状変化データ（エッジ変位データ７６）を生成し（＃２１）、端末装置２βに送信する（＃２２）。
【０１１０】
端末装置２βが符号データに対応した機種である場合は（＃２０でＹｅｓ）、さらに、送信モードが符号モードであるか形状モードであるかを判別する（＃２３）。符号モードとは、端末装置２βに送信する顔モデルＤＳ' の動作制御データとして符号データ７５が選択されていることを意味する。形状モードとは、形状変化データ（エッジ変位データ７６）が選択されていることを意味する。
【０１１１】
符号モードの場合は（＃２３でＹｅｓ）、ステップ＃１１で生成した符号データ７５を端末装置２βに送信する（＃２４）。形状モードの場合は（＃２３でＮｏ）、符号データ７５より顔モデルＤＳ' の形状変化データ（エッジ変位データ７６）を生成し（＃２１）、端末装置２βに送信する（＃２２）。なお、ステップ＃２１において、より細かな動きのアニメーションを実現するために、各エッジＥの変位量を調整してもよい。
【０１１２】
一方、図２２に示すように、受信側の端末装置２β（機種Ｘ）において、端末装置２αから受信したデータが符号データ７５である場合は（＃３１でＹｅｓ）、受信した符号データ７５に基づいてエッジ変位データ７６を生成する（＃３２）。端末装置２αから受信しまたはステップ＃３２で生成したエッジ変位データ７６について形状補間の処理を行い（＃３３）、順次顔モデルＤＳ' を所定の方向から２次元上に投影して顔画像ＨＦを生成し、アニメーションを実行する（＃３４）。
【０１１３】
機種Ｙの場合は、ステップ＃３１および＃３２の処理が省略される。機種Ｚの場合は、ステップ＃３１ないし＃３３の処理が省略され、端末装置２αから受信した画像データ７７に基づいてアニメーションを実行する。
【０１１４】
本実施形態によると、メッセージの送信先である端末装置２βの機種に関わらず、メッセージに合わせてアニメーションの実行が可能なデータを端末装置２βに送信することができる。
【０１１５】
端末装置２βが機種Ｘのように複数の動作制御データに対応している場合は、目的または通信の状況に適応した動作制御データを選択することができる。例えば、細かい動きのアニメーションを実行したい場合は、動作制御データとしてエッジ変位データ７６を選択し、エッジＥごとに変位量を設定することができる。通信のデータ量を減らして通信時間を短縮したい場合は、符号データ７５を選ぶことができる。
【０１１６】
端末装置２についてはメッセージの送信側と受信側とに分けて機能を説明したが、端末装置２に両方の機能を設けてもよい。これにより、互いに相手の顔のアニメーションを表示しながら双方向にメッセージのやり取りを行うことができる。
【０１１７】
本実施形態では、端末装置２αのユーザのメッセージをテキストデータとして端末装置２βに送信したが、音声データとして送信してもよい。この場合は、端末装置２βにおいて、受信した音声データの出力とアニメーションの実行とのタイミングを図ればよい。
【０１１８】
本実施形態では、「こうみんかん」のような１単語をメッセージとして送信する例について説明したが、電子メールなどのように長い文書をメッセージとして送信する場合は、メッセージを適当な長さに区切って複数の符号データなどの動作制御データを生成してもよいし、全文について１つの動作制御データを生成してもよい。電話による会話またはパソコンによるチャットなどのようにリアルタイムでメッセージのやり取りを行う場合は、１音または１語ごとに動作制御データを生成してもよい、メッセージを短い時間ごとに区切って動作制御データを生成してもよい。
【０１１９】
端末装置２βの機種は、対応可能な動作制御データの種類に応じて３つの機種を例示したが、もっと多くの機種があってもよい。例えば、同じ動作制御データに対応した機種であっても、メーカ、通信会社、または処理速度、メモリ容量、または通信速度などの性能などに応じて別々の機種として判別するようにしてもよい。また、本実施形態では、動作制御データとして符号データおよびエッジ変位データの２種類を例示したが、その他の形式の動作制御データがあってもよい。
【０１２０】
顔モデルとして３次元形状モデルを用いたが、２次元の形状モデルであってもよい。
その他、アニメーション通信システム１、端末装置２α、２βの全体または各部の構成、処理内容、処理順序などは、本発明の趣旨に沿って適宜変更することができる。
【０１２１】
【発明の効果】
本発明によると、メッセージの送信先の端末装置の機種に関わらず、メッセージに合わせてアニメーションの実行が可能なデータを当該端末装置に送信することができる。
【図面の簡単な説明】
【図１】本発明に係るアニメーション通信システムの構成を説明する図である。
【図２】端末装置の構成を説明する図である。
【図３】送信側の端末装置の記憶装置に記憶されるプログラムおよびデータを示す図である。
【図４】受信側の端末装置の記憶装置に記憶されるプログラムおよびデータを示す図である。
【図５】送信側の端末装置の機能的構成を説明する図である。
【図６】受信側の端末装置の機能的構成を説明する図である。
【図７】標準モデルまたは顔モデルの構成の例を示す図である。
【図８】エッジとノードとの対応関係を示す図である。
【図９】ノードの影響を受ける構成頂点を示す図である。
【図１０】ノードが影響を与える範囲を説明する図である。
【図１１】符号形状情報の例を示す図である。
【図１２】標準モデルまたは顔モデルを各形状グループの形状に変化させた場合の例を示す図である。
【図１３】３次元形状モデルの生成の処理の流れを説明するフローチャートである。
【図１４】標準モデルの例を示す図である。
【図１５】変形処理の流れを説明するフローチャートである。
【図１６】標準モデルの面Ｓと３次元計測データの点Ｐとを模式的に示す図である。
【図１７】標準モデルの異常変形を防ぐための仮想バネを説明するための図である。
【図１８】エッジ変位データおよび符号データの例を示す図である。
【図１９】端末装置の機種の相違を説明する図である。
【図２０】タイムテーブルの例を示す図である。
【図２１】送信側の端末装置の処理の流れを説明するフローチャートである。
【図２２】受信側の端末装置の処理の流れを説明するフローチャートである。
【符号の説明】
１  アニメーション通信システム（通信システム）
２α  端末装置（第二の端末装置）
２β  端末装置（第一の端末装置）
２１  表示装置（表示手段）
２２ｂ  動作制御データ生成プログラム（コンピュータプログラム）
２９ａ〜２９ｃ  記録媒体
２０５  通信状況判別部（動作制御データ対応判別手段、機能判別手段、モデルデータ有無判別手段、標準モデルデータ有無判別手段、エッジ変位データ対応判別手段）
２０６  データ送信部（アニメーションデータ送信手段、モデルデータ送信手段、標準モデルデータ送信手段）
２１１  符号生成部（符号データ生成手段）
２１２  変位データ生成部（形状変化データ生成手段）
２３３、２４２  画像生成部（表示手段）
４  通信回線
７  モデル情報（モデルデータ）
７１  標準モデル情報（標準モデルデータ）
７２  顔形状情報（モデル変形データ）
７３  符号形状情報（位置決めデータ）
７４  テキストデータ（メッセージ）
７５  符号データ（アニメーションデータ）
７６  エッジ変位データ（アニメーションデータ）
ＤＳ'  顔モデル（モデル）
【図１】
0004182656.tif 000010
【図２】
0004182656.tif 000011
【図３】
0004182656.tif 000012
【図４】
0004182656.tif 000013
【図５】
0004182656.tif 000014
【図６】
0004182656.tif 000015
【図７】
0004182656.tif 000016
【図８】
0004182656.tif 000017
【図９】
0004182656.tif 000018
【図１０】
0004182656.tif 000019
【図１１】
0004182656.tif 000020
【図１２】
0004182656.tif 000021
【図１３】
0004182656.tif 000022
【図１４】
0004182656.tif 000023
【図１５】
0004182656.tif 000024
【図１６】
0004182656.tif 000025
【図１７】
0004182656.tif 000026
【図１８】
0004182656.tif 000027
【図１９】
0004182656.tif 000028
【図２０】
0004182656.tif 000029
【図２１】
0004182656.tif 000030
【図２２】
0004182656.tif 000031