(57)【要約】【課題】  利用者自身がアバターのオブジェクトデータやこのオブジェクトデータの変形処理内容を登録できるようにして、チャットの相手により感情を伝えやすくする。【解決手段】  映像通信サーバ１００は、端末装置４００から送信された変形テーマを登録する変形テーマ登録部４４を備える構成とした。また、映像通信サーバ１００は、端末装置４００から変形テーマの登録は受け付けるが、変形プログラムや変形処理内容の定義情報等、セキュリティ保持に影響を与えるデータについては登録を受け付けない構成とした。【選択図】  図３
2007013622.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク経由で、端末装置から送信される入力イベントに基づき、前記端末装置により選択されたオブジェクトデータの変形処理を行い、前記変形処理を行ったオブジェクトデータを前記端末装置へ送信する映像通信サーバであって、
前記端末装置との間で各種データの入出力を行う入出力部と、
前記オブジェクトデータの変形処理に用いる変形プログラムを格納する変形プログラム記憶部と、
前記変形処理のテーマである変形テーマごとに、前記変形処理に用いるオブジェクトデータと、前記オブジェクトデータに対する入力イベントごとに、前記オブジェクトデータに対する変形処理を示した変形内容テーブルとを備える変形テーマライブラリと、
前記変形処理の定義情報を格納する定義情報記憶部と、
前記変形テーマライブラリを参照して、前記端末装置から送信された入力イベントに対する前記オブジェクトデータの変形処理を決定し、前記定義情報記憶部から、前記決定した変形処理における各変形処理の定義情報を読み出す変形内容決定部と、
前記変形プログラム記憶部から、前記読み出した定義情報に記述された変形処理を実行するための変形プログラムを読み出し前記オブジェクトデータの変形処理を行い、前記変形処理を行ったオブジェクトデータを、前記端末装置へ送信する変形処理部と、
前記入出力部で、前記端末装置から送信された変形テーマを、前記変形テーマライブラリに登録する変形テーマ登録部と、
を備えることを特徴とする映像通信サーバ。
【請求項２】
前記映像通信サーバは、
前記映像通信サーバの記憶部に、前記端末装置の利用者の識別情報ごとに、前記変形内容決定部により決定された変形処理のうち、前記変形処理部で実行すべき変形処理を示した有効無効設定情報を格納し、
前記決定された変形処理のうち、前記変形処理部で実行すべき変形処理を、前記有効無効設定情報を参照して選択し、前記選択した前記変形処理部に出力する有効無効制御部をさらに備えることを特徴とする請求項１に記載の映像通信サーバ。
【請求項３】
前記変形内容テーブルに記述される入力イベントは、前記端末装置により入力されたキーワードまたはポインティングデバイスのポインタの移動速度に関する入力イベントであり、
前記変形内容決定部は、前記端末装置から送信された入力イベントに含まれるキーワードまたは所定時間内における前記ポインタの移動速度に関する情報と、前記変形内容テーブルとを参照して、前記変形処理を決定することを特徴とする請求項１または請求項２に記載の映像通信サーバ。
【請求項４】
前記変形テーマ登録部は、前記入出力部で、前記端末装置から前記変形プログラムおよび前記定義情報が送信されたとき、前記変形プログラムおよび前記定義情報の登録を受け付けないことを特徴とする請求項１ないし請求項３のいずれか１項に記載の映像通信サーバ。
【請求項５】
ネットワーク経由で、端末装置から送信される入力イベントに基づき、映像通信サーバが、前記端末装置により選択されたオブジェクトデータの変形処理を行い、前記変形処理を行ったオブジェクトデータを前記端末装置へ送信する映像通信方法であって、
前記オブジェクトデータの変形処理に用いる変形プログラムを格納する変形プログラム記憶部と、
前記変形処理のテーマである変形テーマごとに、前記変形処理に用いるオブジェクトデータと、前記オブジェクトデータに対する入力イベントごとに、前記オブジェクトに対する変形処理を示した変形内容テーブルとを格納する変形テーマライブラリと、
前記変形処理の定義情報を格納する定義情報記憶部と、
を備える前記映像通信サーバの処理部が、
前記ネットワーク経由で、前記端末装置から送信された変形テーマを、前記変形テーマライブラリに登録する登録ステップと、
前記端末装置から送信された選択情報に基づき、前記登録された変形テーマを含む変形テーマライブラリから、変形テーマを選択する選択ステップと、
前記選択された変形テーマを参照して、前記端末装置から送信された入力イベントに対応する前記オブジェクトの変形処理を決定する変形処理決定ステップと、
前記定義情報記憶部から、前記決定した変形処理の定義情報を読み出す定義情報読み出しステップと、
前記読み出した定義情報に記述された変形処理を実行するための変形プログラムを、前記変形プログラム記憶部から読み出して前記オブジェクトデータの変形処理を行う変形処理ステップと、
前記変形処理を行ったオブジェクトデータを、前記端末装置へ送信する送信ステップと、
を実行することを特徴とする映像通信方法。
【請求項６】
前記映像通信サーバは、
前記端末装置の利用者の識別情報ごとに、前記利用者の端末装置からの入力イベントに対し、実行すべき変形処理を示した有効無効設定情報をさらに格納し、
前記処理部は、
前記変形処理決定ステップで決定した変形処理のうち、前記変形処理ステップで実行すべき変形処理を、前記有効無効設定情報を参照して、選択するサブステップをさらに実行することを特徴とする請求項５に記載の映像通信方法。
【請求項７】
前記変形内容テーブルに記述される入力イベントは、前記端末装置により入力されたキーワードまたはポインティングデバイスのポインタの移動速度に関する入力イベントであり、
前記処理部は、変形処理決定ステップにおいて、
前記端末装置から送信された入力イベントに含まれる入力キーワードまたは所定時間内における前記ポインタの移動位置に関する情報と、前記変形内容テーブルとを参照して、前記変形処理を決定することを特徴とする請求項５または請求項６に記載の映像通信方法。
【請求項８】
コンピュータを、請求項１に記載の映像通信サーバとして機能させることを特徴とする映像通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アバター等の映像を用いたチャットサービスを提供する映像通信サーバ、映像通信方法およびそのプログラムに関する。
【背景技術】
【０００２】
映像通信により利用者同士のコミュニケーションを図る技術として、（１）利用者自身の映像や音声を送信する技術や、（２）アバターにより利用者の分身の映像を送信する技術がある。（１）の例としては、テレビ会議システムがあり、（２）の例としては、アバターを用いたチャットがある（非特許文献１参照）。（２）のアバターにより利用者の分身の映像を送信する技術では、利用者が、予め用意されたアバターの中から自分の好きなアバターを選択しておき、このアバターを用いて他の利用者とのチャット等を行う。このアバターは、人間だけでなく動物やロボット等のオブジェクトを選択できたり、髪型や服装、装飾品等を選んでオリジナルのキャラクターを作成できたりする。また、サーバの処理速度の向上に伴い、アニメーションや３次元グラフィックスを応用したアバター等も登場している（特許文献１参照）。利用者は、このようなアバターを使うことによって、豊かな感情表現を可能としている。
【特許文献１】特開２００１−１６５６３号公報
【非特許文献１】HABBO、[online]、[2005年3月30日検索]、インターネット、<URL:http://www.habbohotel.jp/habbo/jp/>
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、（１）の利用者自身の画像や音声を送信する技術では、実際に利用者に表現される表情以上の感情伝達はできないという問題がある。また、（２）のアバターを用いる技術も、アバターとして利用できる画像は、少数のパターンの組み合わせでしかなく、豊かな感情表現をすることができないという問題がある。
【０００４】
ここで、より豊かな感情表現をできるように、第三者がチャットを提供するサーバに、アバターの画像や、このアバターを動作させるプログラム等を自由に追加できるようにすることも考えられる。しかし、このように第三者にプログラムの追加を自由にさせてしまうと、サーバのセキュリティ上、好ましくないという問題がある。また、サーバは、アバターに対する各々の処理に応じてＣＰＵ（Central Processing Unit）処理量やメモリの割り当て等を適切に行うことができない場合があるという問題がある。
【課題を解決するための手段】
【０００５】
前記した課題を解決するため、本発明の映像通信サーバは、端末装置から送信された変形テーマを登録する変形テーマ登録部を備える構成とした。また、端末装置から送信された変形テーマを登録する領域（変形テーマライブラリ）を、変形プログラムを格納する領域（変形プログラム記憶部）や定義情報を格納する領域（定義情報記憶部）とは別の領域とした。また、変形テーマ登録部を、各利用者からオブジェクトデータや、変形テーマの登録を受け付けるが、その他の情報（変形プログラムや変形処理の定義情報）の登録は受け付けない構成とした。なお、請求項における入力イベントには、入力時刻（入力日時）、入力種別（マウスによる入力か、キーボードによる入力か）、入力情報（ポインタの位置座標、文字列）、その他補助情報（マウスの右クリック、左クリック）、端末装置の識別情報等が含まれる。
【発明の効果】
【０００６】
本発明によれば、映像通信サーバは、各利用者から送信された機能（変形テーマ、アバターのオブジェクトデータ等）を用いたチャットサービス等を提供することができる。つまり、各利用者は自分の好みに応じた変形テーマや、アバターを追加できるので、各利用者はチャットの相手に対し、より豊かな感情表現を行うことができる。また、映像通信サーバは、各利用者からオブジェクトデータや、変形テーマの登録を受け付けるが、その他の情報（変形プログラムや変形処理の定義情報）の登録は受け付けないようにしているので、映像通信サーバのセキュリティを保持することができる。さらに、映像通信サーバは、アバターに対する各々の処理に応じてＣＰＵ処理量やメモリの割り当て等を適切に行いやすくなる。
【発明を実施するための最良の形態】
【０００７】
本発明を実施するための最良の形態（以下、実施の形態とする）を、図面を参照しながら説明する。
【０００８】
（システムの全体構成）
図１は、本実施の形態の映像通信システムの構成を示した図である。
本実施の形態のシステムは、映像通信サーバ１００と、端末装置４００（４００Ａ,Ｂ）と、映像通信サーバ（サーバ）１００および端末装置４００を接続するネットワーク７００とを含んで構成される。このサーバ１００および端末装置４００は、ネットワーク７００経由での通信が可能なコンピュータにより実現される。ネットワーク７００は、例えば、インターネットやＬＡＮ（Local Area Network）であり、サーバ１００は、例えば、映像を用いてチャットサービスを提供するサーバである。
端末装置４００は、サーバ１００から受信したチャットの映像（オブジェクトデータ）を、ブラウザ等により表示装置に出力表示する。また、端末装置４００は、入力装置（キーボードや、マウス等のポインティングデバイス）から各種入力を受け付け、これをオブジェクトへの入力イベントとして、サーバ１００へ送信する。
【０００９】
すなわち、端末装置４００の利用者は、ブラウザ等により表示装置に表示された映像を見ながら、キーボードからテキスト情報を入力したり、マウスの操作をしたりしてチャットを行う。そして、端末装置４００は、入力されたテキスト情報やマウス操作の情報を、端末装置４００の入力イベントとしてサーバ１００へ送信する。サーバ１００は、受信した入力イベントに基づき、端末装置４００へ送信する映像を作成し、この映像を端末装置４００へ送信する。
【００１０】
例えば、図１の吹き出し１に示すように、サーバ１００は、端末装置４００Ｂから、「ふざけるな」というテキスト情報が入力されたという入力イベントを受信したとき、端末装置４００Ｂの利用者のアバターの表情を怒ったような表情に変形させたり、端末装置４００Ａの利用者のアバターにパンチの加えたような画像を作成したりして、端末装置４００（４００Ａ,Ｂ）へ送信する。
【００１１】
また、サーバ１００は、アバターやこのアバターの変形処理に関するデータ（後記する変形テーマ３７１）を端末装置４００から受信し、この変形テーマ３７１を記憶部３０（後記）に追加登録できるようにしている。つまり、サーバ１００は、端末装置４００から送信された変形テーマ３７１にしたがって、アバターや小道具等のオブジェクトデータの変形処理を行うこともできる。このようにすることで、端末装置４００の利用者は、自分自身の好みに応じたアバターの動作を実現できる。また、端末装置４００の利用者がチャットを行うときに、相手により豊かな感情表現を行うことができる。
【００１２】
（サーバのハードウェア構成）
図２は、図１のサーバのハードウェア構成を示した図である。
図２を用いて、サーバ１００の構成を説明する。サーバ１００は、ＲＡＭ（Random Access Memory）等のメインメモリ２０、ハードディスク装置等の記憶部３０、この記憶部３０に格納されたプログラム等をメインメモリ２０上に展開し、演算処理を行うＣＰＵ（Central Processing Unit）１０、ネットワーク７００経由で通信を行うためのネットワークインタフェース６０等を備える。なお、このサーバ１００は、このサーバ１００に接続される入力装置からデータ入力を受け付けたり、サーバ１００に接続される出力装置へデータを出力したりする入出力インタフェース５０を備えていてもよい。
【００１３】
（記憶部）
記憶部３０は、映像通信プログラム３３を格納し、所定領域に、利用者別設定情報記憶部３２と、変形プログラム記憶部３５と、変形プログラム定義情報記憶部（定義情報記憶部）３６と、変形テーマライブラリ３７とを備える。
【００１４】
映像通信プログラム３３は、各端末装置４００にアバターを用いたチャットサービスを提供するためのプログラムである。
【００１５】
変形プログラム記憶部３５は、オブジェクトデータ３７２（図４参照）の変形処理に用いる各種変形プログラム（変形操作エンジン）を格納する。ＣＰＵ１０が、オブジェクトデータ３７２に対し、この変形プログラムを実行することにより、アバター（オブジェクトデータ３７２）の動画（映像）が作成される。例えば、オブジェクトデータ３７２の顔部分にパンチが加えられ、変形する映像が作成される。
【００１６】
変形テーマライブラリ３７は、オブジェクトデータ３７２と変形内容テーブル３７３（後記）とを格納する。ここでの入力イベントとは、例えば、端末装置４００のキーボード等による文字（キーワード）入力や、マウス等の操作によるポインタの移動、クリック（選択入力）、ドラッグ操作（クリックしたままの状態での移動）等である。さらに詳細には、キーボードによる入力かマウスによる入力かを示す入力種別や、マウスのポインタの位置座標や、入力された文字情報、マウスがクリックされたか否か等の情報、この入力イベントの送信元の端末装置４００のネットワーク７００上での識別情報（ＩＰアドレス等）等から構成される。なお、変形処理とは、例えば、オブジェクトの移動や、変形等である。この変形テーマライブラリ３７の詳細は、図４および図５を用いて後記する。
【００１７】
定義情報記憶部３６は、様々な変形処理の基本パーツとなる変形処理（基本的変形処理）の定義情報を格納する。この定義情報は、例えば、オブジェクトの移動という処理（基本的変形処理）について、画面上におけるそのオブジェクトの移動始点座標および移動終点座標、移動に要する時間、刻み回数等を定義した情報である。この定義情報の詳細は、図６を用いて後記する。
【００１８】
利用者別設定情報記憶部３２は、利用者の識別情報（利用者ＩＤ）ごとに、その利用者の設定情報を格納する。この設定情報は、現在、利用者が選択している変形テーマ３７１（後記）の識別情報（変形テーマＩＤ）や、この変形テーマ３７１に示される変形処理のうち、有効とする変形処理、無効とする変形処理等を示した情報である。この設定情報の詳細は、図７を用いて後記する。
【００１９】
（サーバの機能）
図３は、図２のサーバを機能展開して示したブロック図である。
図３を用いて、サーバ１００の機能をさらに詳細に説明する。サーバ１００の機能は、入出力部７０と、記憶部３０と、サーバ１００全体の制御処理を行う処理部４０とに分けられる。
【００２０】
入出力部７０は、ネットワーク７００（図１参照）経由で、端末装置４００と各種データの送受信を行う。すなわち、ネットワーク７００経由で端末装置４００から送信されたデータを処理部４０に受け渡し、処理部４０から出力されたデータをネットワーク７００経由で端末装置４００へ送信する。この入出力部７０は、図１のネットワークインタフェース６０（および入出力インタフェース５０）に相当する。
【００２１】
記憶部３０は、前記したとおり、変形テーマライブラリ３７と、定義情報記憶部３６と、変形プログラム記憶部３５と、利用者別設定情報記憶部３２とを所定領域に備える。
【００２２】
（変形テーマライブラリ）
変形テーマライブラリ３７は、変形テーマ３７１の識別情報（変形テーマＩＤ）ごとに、変形テーマ３７１を格納する。この変形テーマ３７１について、図４を用いて説明する。図４は、図３の変形テーマライブラリに格納される変形テーマを例示した図である。
【００２３】
変形テーマ３７１は、変形処理の対象であるオブジェクトのオブジェクトデータ３７２と、変形内容テーブル３７３とを含んで構成される。例えば、図４の変形テーマＩＤ「ｘｘｘ」の変形テーマ３７１において、オブジェクトデータ３７２は、チャットのときに用いる利用者のアバター（例えば、生徒と先生）の顔や手足等のオブジェクトデータや、このアバターの動作等に用いる小道具（例えば、はりせん等）のオブジェクトデータである。なお、これらのオブジェクトデータには、各オブジェクトデータを識別するための識別情報が付されているものとする。
【００２４】
また、変形内容テーブル３７３は、オブジェクトデータ３７２に対する入力イベント（キーワードやポインタの移動方向、移動速度等）ごとに、このオブジェクトデータ３７２に対し、処理部４０（図３参照）がどのような変形処理を行うかを示したテーブルである。
図４の変形内容テーブル３７３は、オブジェクト「顔α」の近くで、マウスのポインタを横方法に速く（所定速度より速く）移動させたという入力イベントに対しては、この「顔α」を「表情変形（驚き）」に変形することを示す。さらに、オブジェクト「はりせん」の近くで、マウスのポインタを横方向に遅く（所定速度より遅く）移動させたという入力イベントがあったときは、「はりせんたたき」という変形を行うことを示す。また、テキスト入力で「ふざけるな」という入力イベントがあったときは、オブジェクト「顔α」を「表情変形（怒り）」に変形すること等を示す。
【００２５】
なお、以下の説明では、変形内容テーブル３７３には、変形処理（変形シーケンス）の名称等が記述され、その変形処理（変形シーケンス）の詳細は、別途、変形シーケンス定義３７４および定義情報記憶部３６の定義情報に記述されるものとして説明するが、変形処理（変形シーケンス）の詳細、つまり定義情報を直接、変形内容テーブル３７３に記述するようにしてもよい。
なお、記憶部３０に、ポインタの移動速度が速いか遅いかを判断するための速度の閾値（前記所定速度）が記憶され、変形内容決定部４３はこの閾値をもとに、ポインタの移動速度が速いか遅いかを判断する。
【００２６】
また、ここでは、変形の対象となるオブジェクトは、マウスのポインタから最も近い位置にあるオブジェクトや、チャットの相手側利用者のアバター（オブジェクト）である場合を例に説明するが、これに限定されない。例えば、パンチ、はりせんたたき等、チャットの相手のアバター（オブジェクト）に直接作用を及ぼすようなマウス操作や「ふざけるな」等のキーワード入力を行った場合、同時に（あるいは引き続き）自身のアバターの顔の表情も変形させるようにしてもよい。このようにすることで、パンチ、はりせんたたき等をした自分自身の感情を、チャットの相手にストレートに伝えることができる。
【００２７】
相手のアバター（オブジェクト）に直接作用を及ぼすようなマウス操作やキーワード入力を行った場合、同時に（あるいは引き続き）自身のアバターの顔の表情も変形させる場合の変形内容テーブル３７３を、以下の表１に例示する。
表１の変形内容テーブル３７３には、変形対象のオブジェクトとして、はりせんと、自分自身（人物Ａ）のアバターのオブジェクト（顔α）と、チャットの相手（人物Ｂ）のアバターのオブジェクト（顔β）と、入力イベントと、その補助情報とが記述される。この入力イベントの補助情報は、その入力イベントがマウス操作に関する入力イベントであれば、このマウスのポインタの座標位置に関する情報と、入力者の利用者ＩＤとが記述され、テキスト入力に関する入力イベントであれば、このテキスト入力の入力者の利用者ＩＤが記述される。つまり、補助情報として入力者の情報が記述され、かつ、１つの入力イベントに対し変形対象のオブジェクトが複数記述するようにする。
【００２８】
【表１】
2007013622.tif 000003
【００２９】
例えば、表１の変形内容テーブル３７３において、利用者ＩＤ「ｘｘ」の人物Ａが、自分自身（人物Ａ）のオブジェクトの近傍で、マウスを横方向に所定速度より遅く移動させたとき、処理部４０は「顔α（人物Ａ）」を「表情変形（怒り）」に変形し、かつ「顔β（人物Ｂ）」を「表情変形（驚き）」に変形することを示す。
また、利用者ＩＤ「ｘｘ」の人物Ａが、はりせんのオブジェクトの近傍から人物Ｂの近傍まで、マウスを横方向に所定速度より遅く移動させたとき、処理部４０は「はりせん」による「はりせんたたき」という変形を行い、「顔α（人物Ａ）」を「表情変形（怒り）」に変形し、かつ「顔β（人物Ｂ）」を「表情変形（驚き）」に変形することを示す。
さらに、利用者ＩＤ「ｘｘ」の人物Ａが、「ふざけるな」というテキスト入力をしたとき、処理部４０は「顔α（人物Ａ）」を「表情変形（怒り）」に変形し、かつ「顔β（人物Ｂ）」を「表情変形（驚き）」に変形することを示す。
【００３０】
変形テーブル３７３に以上のような設定を行うことで、処理部４０に、１つの入力イベントに対し、自分のアバターの顔と、相手のアバターの顔とを両方変形させる等、複数のオブジェクトの変形を行わせることができる。なお、複数のオブジェクトを変形させるとき、それぞれのオブジェクトの変形手順（はりせんで顔をたたいた後、たたいた顔を変形する等）に関する定義情報を記憶部３０に格納しておき、この定義情報に従った手順で処理部４０が複数のオブジェクトの変形処理を行うようにしてもよい。
【００３１】
図５は、図４の変形シーケンス定義を例示した図である。図５では、「表情変形」という変形処理の定義情報と、「はりせんたたき」という変形処理の定義情報を例示している。
例えば、「表情変形」という変形処理は、「感性（感情）」と、「変形対象」と、「強調度合」というパラメータにより決定される。この「強調度合」は、変形の強調度合のことである。「強調度合」は、入力イベントに含まれるマウスの移動速度等（所定時間内におけるポインタの位置情報）により計算してもよいし、前記した変形内容テーブル３７３を参照して決めるようにしてもよい。
例えば、「表情変形」については、「感性」が「驚き」であり、「変形対象」が「顔β」であり、「強調度合」が「強い」であれば、「変形度合」は「９０％」となる。したがって、オブジェクトの変形処理は「if（感性==驚き）」の欄に記述から、「顔β」の「顔部品（まぶた、目、唇、あご、…）それぞれについて、驚きを表す変形基本量を変形度合（９０％）ぶん増し、座標を、驚きを表す変形方向へ標準位置から移動し」、かつ「現在色から青白い色に顔の色を変える」という内容になる。なお、この変形シーケンス定義３７４に記述される変形処理は、複数の基本的変形処理の組み合わせにより記述される。つまり、基本的変形処理の連続（シーケンス）として記述される。この基本的変形処理の定義情報は、定義情報記憶部３６に格納される。
【００３２】
（定義情報記憶部）
図３の定義情報記憶部３６は、前記したとおり、オブジェクトの基本的な変形処理（基本的変形処理）の定義情報を格納する。
図６は、図２の定義情報記憶部に格納される基本的変形処理の定義情報を例示した図である。例えば、図５の変形シーケンス定義３７４の「はりせんたたき」を構成する「移動」（符号５０１参照）の定義情報は、図６の「移動」に関する定義情報（領域６０１参照）に記述される。変形内容決定部４３（後記）は、この定義情報記憶部３６からオブジェクトの変形処理に用いる基本的変形処理の定義情報を読み出し、変形処理内容を決定する。
【００３３】
（変形プログラム記憶部）
変形プログラム記憶部３５は、オブジェクトの変形処理を行うための各種変形プログラム（変形操作エンジン）を格納する。後記する変形処理部４１は、有効無効制御部４２により有効と判断された変形処理の定義情報（基本的変形処理の定義情報の組み合わせ）を受け取り、この定義情報に基づき、変形プログラム記憶部３５から変形処理に用いる変形プログラムを読み出し、オブジェクトの変形処理を行う。つまり、オブジェクトが変形する様子を示した動画を作成する。
【００３４】
（利用者別設定情報記憶部）
利用者別設定情報記憶部３２は、利用者の識別情報（利用者ＩＤ）ごとに、この利用者の設定情報を格納する。この設定情報は、利用者が選択している変形テーマ３７１のＩＤ（識別情報）や、この変形テーマ３７１において、有効とする変形処理、無効とする変形処理の設定情報（有効無効設定情報）を示した情報である。図７は、図２の利用者別設定情報記憶部に格納される利用者の設定情報を例示した図である。
【００３５】
例えば、図７の符号７０１に示す情報は、利用者ＩＤ「Ａ」の利用者の設定情報であり、現在選択されている変形テーマＩＤは「ｘｘｘ」であり、この利用者のチャットの相手の利用者ＩＤは「Ｂ」であることを示す。また、この利用者の端末装置４００から、はりせんのオブジェクトに対し、マウスを横方向に所定速度よりも遅い速度で移動したという入力イベントを受け取っても、「はりせんたたき」という変形処理を実行しない（無効である）ことを示す。
一方、この利用者の端末装置４００から、「顔α」のオブジェクトに対し、マウスを横方向に所定速度よりも速い速度で移動したという入力イベントを受け取ったときや、「ふざけるな」というテキスト入力をしたという入力イベントを受け取ったときは、「表情変形（怒り）」という変形処理を実行する（有効である）ことを示す。
【００３６】
このように、有効無効制御部４２がチャットを行う利用者ごとに、所定の変形処理について有効としたり、無効としたりする制御を行うことで、利用者間にヒエラルキー（上下関係）のあるチャットサービスを提供することができる。
なお、ここでは有効無効設定情報に、有効とする変形処理と、無効とする変形処理と両方を記述することとしたが、どちらか一方のみを記述するようにしてもよい。つまり、有効とする変形処理のみを記述するようにしてもよいし、無効とする変形処理のみを記述するようにしてもよい。
また、この有効無効設定情報は、利用者の設定情報とは別個の情報として格納するようにしてもよい。つまり、有効無効設定情報は、利用者ＩＤごとの情報にしなくてもよい。例えば、利用者の設定情報に、利用者の種別（例えば、ゲストとして無料で利用している利用者か、有料で利用している利用者か）を記録しておき、有効無効設定情報は、この利用者の種別ごとに、有効とする変形処理と、無効とする変形処理とを記述するようにしてもよい。このようにすることで、有効無効制御部４２は、利用者の種別に応じてオブジェクトの変形制御を行うことができる。
【００３７】
（処理部）
処理部４０は、変形処理部４１と、有効無効制御部４２と、変形内容決定部４３と、変形テーマ登録部４４とを備える。処理部４０は、前記したＣＰＵ１０が記憶部３０に格納される各種プログラムを実行することにより実現される。
【００３８】
（変形内容決定部）
変形内容決定部４３は、入出力部７０経由で、端末装置４００の入力イベントを受信すると、変形テーマライブラリ３７、利用者別設定情報記憶部３２の情報を参照して、この入力イベントに応じて行うべき変形処理（変形シーケンス）を決定する。また、この変形処理に用いる定義情報を定義情報記憶部３６から読み出す。そして、この変形処理と、その変形処理に用いる定義情報とを有効無効制御部４２に出力する。この変形内容決定部４３の処理の詳細は、フローチャートを用いて説明する。
【００３９】
（有効無効制御部）
有効無効制御部４２は、入出力部７０経由で、端末装置４００から、変形処理の有効無効設定情報（どの変形処理を無効とし、どの変形処理を有効とするかに関する設定情報）を受け付ける。そして、この有効無効設定情報を利用者別設定情報記憶部３２の設定情報に書き込む（図７参照）。また、有効無効制御部４２は、この有効無効設定情報を参照して、変形内容決定部４３から出力された変形処理の定義情報のうち、有効と設定されている変形処理の定義情報については、変形処理部４１に出力するが、無効と設定されている変形処理の定義情報については、変形処理部４１に出力しないようにする。
【００４０】
（変形処理部）
変形処理部４１は、有効無効制御部４２から出力された変形処理の定義情報に基づき、変形プログラム記憶部３５から所定のプログラムを読み出し、オブジェクトの変形処理を行う。そして、変形処理を行ったオブジェクトデータ３７２を入出力部７０経由で、端末装置４００へ送信する。
【００４１】
（変形テーマ登録部）
変形テーマ登録部４４は、入出力部７０経由で、端末装置４００から送信された変形テーマ３７１を受け取り、変形テーマライブラリ３７へ追加登録を行う。
このとき、端末装置４００から送信される変形テーマ３７１は、オブジェクトデータ３７２と、変形内容テーブル３７３と、変形シーケンス定義３７４とがセットになったものでもよいし、オブジェクトデータ３７２のみであってもよい。
【００４２】
（動作手順）
図８は、図１の映像通信サーバの動作手順を示したフローチャートである。図１〜図７を参照しつつ、図８を用いて、サーバ１００の各構成要素の動作手順を説明する。
【００４３】
まず、サーバ１００は、端末装置４００から、利用者ＩＤを含むログイン要求を受け付け、これに応じて端末装置４００のログイン処理を行う（Ｓ１）。次に、変形内容決定部４３は、端末装置４００から変形テーマ３７１の選択情報を受信すると、これに応じて、変形テーマライブラリ３７から変形テーマ３７１を選択する（Ｓ２）。そして、この選択した変形テーマ３７１の変形テーマＩＤを、利用者別設定情報記憶部３２に記憶しておく。
なお、Ｓ１のログイン後、端末装置４００の利用者ＩＤ（登録者ＩＤ）を含む変形テーマ３７１を受信したときには、変形テーマ登録部４４が、この受信した変形テーマ３７１を変形テーマライブラリ３７に追加登録する。そして、変形内容決定部４３は、この追加登録された変形テーマ３７１を含む変形テーマから変形テーマ３７１を選択する。このようにすることで、端末装置４００の利用者は自分の好みに応じた変形テーマ３７１を用いたチャットサービスを受けることができる。
【００４４】
有効無効制御部４２は、入出力部７０経由で端末装置４００から、変形処理の有効無効設定情報を受信すると、この情報を、利用者別設定情報記憶部３２に書き込む。例えば、端末装置４００から、有効無効設定情報の書き込み要求を受信すると、有効無効制御部４２は、当該端末装置４００により現在選択されている変形テーマ３７１の変形内容テーブル３７３を、変形テーマライブラリ３７からコピーする。次に、このコピーした変形内容テーブル３７３の変形処理ごとに、その変形処理を有効とするか無効とするかに関する情報を書き込み、有効無効設定情報を作成する。そして、有効無効制御部４２は、作成した有効無効設定情報を、利用者別設定情報記憶部３２の設定情報に書き込む（Ｓ３）。
【００４５】
次に、変形内容決定部４３は、入出力部７０経由で、端末装置４００から入力イベントを受信すると（Ｓ４）、この入力イベントに応じたオブジェクトの変形処理を決定する（Ｓ５）。つまり、変形内容決定部４３は、利用者別設定情報記憶部３２を参照して、現在、端末装置４００の利用者が選択している変形テーマ３７１を特定する。そして、変形内容決定部４３は、この変形テーマ３７１の変形シーケンス定義３７４および定義情報記憶部３６の定義情報を参照して、入力イベントに対する変形処理を決定する。
【００４６】
すなわち、変形内容テーブル３７３を参照して、当該入力イベントに応じて行うべき変形処理が、変形シーケンス定義３７４に定義されていれば、この変形シーケンス定義３７４を読み出す。そして、この変形シーケンス定義３７４に記述された変形処理を実行するために必要な定義情報（基本的変形処理の定義情報の組み合わせ）を、定義情報記憶部３６から読み出す。
例えば、変形内容テーブル３７３を参照して、当該入力イベントに応じて行うべき変形処理が、「表情変形（怒り）」であると判断した場合、変形シーケンス定義３７４から「表情変形（怒り）」の変形処理内容を読み出す。そして、この「表情変形（怒り）」という変形処理を実行するための基本的変形処理の定義情報を、定義情報記憶部３６から読み出す。
【００４７】
一方、変形内容テーブル３７３を参照して、当該入力イベントに応じて行うべき変形処理が、変形シーケンス定義３７４に記述されていないと判断した場合には、直接、定義情報記憶部３６の定義情報（基本的変形処理の定義情報）を読み出す。例えば、変形処理が、単なるオブジェクトの移動等であれば、直接、定義情報記憶部３６の「移動」の定義情報（始点座標から終点座標まで何回刻みで移動させる等の情報）を読み出す。
【００４８】
そして、変形内容決定部４３は、この決定した変形処理と、その定義情報とを有効無効制御部４２に出力する。そして、有効無効制御部４２は、利用者別設定情報記憶部３２の設定情報を参照して、変形内容決定部４３から出力された変形処理（変形シーケンス）を有効とするか無効とするかを判断する（Ｓ６）。
例えば、有効無効制御部４２が、利用者ＩＤ「Ａ」の端末装置４００の入力イベントに応じた変形処理が「はりせんたたき」であるという情報を受け取った場合、図７の符号７０１に示す設定情報において「はりせんたたき」は無効であるので、この変形処理の定義情報は変形処理部４１に出力しないようにする。つまり、この変形処理は無効であると判断し（Ｓ６の“無効”）、Ｓ９へ進む。一方、利用者ＩＤ「Ａ」の端末装置４００の入力イベントに応じた変形処理が「表情変形（怒り）」であるという情報を受け取った場合、この変形処理は設定情報において有効と記述されているので（図７の符号７０１参照）、この変形処理の定義情報を変形処理部４１に出力する。つまり、この変形処理は有効であると判断し（Ｓ６の“有効”）、Ｓ７へ進む。
【００４９】
変形処理部４１は、有効無効制御部４２から出力された定義情報に基づき、変形プログラム記憶部３５から当該変形処理に用いる変形プログラムを読み出し、変形処理を実行する（Ｓ７）。例えば、変形処理部４１は、出力された定義情報に基づき、顔αのオブジェクトに対し、怒った表情への変形をしたり、各表情を強調させる変形をしたりする処理を行う。あるいは、端末装置４００により選択された小道具（パンチ、はりせん等のオブジェクト）の動かすような処理を行ったり、所定のオブジェクトを消去したり、再描画の繰り返し等を行ったりする処理を行う。そして、変形処理部４１は、処理後のオブジェクトデータ３７２を、入出力部７０経由で、端末装置４００へ送信する（Ｓ８）。この後、端末装置４００がログアウトすれば（Ｓ９の“Ｙｅｓ”）、処理部４０は、処理を終了し、まだログアウトしていなければ（Ｓ９の“Ｎｏ”）、Ｓ４へ戻り、端末装置４００からの入力イベントを待つ。
【００５０】
ここで、処理部４０による変形処理を、具体例を用いて詳細に説明する。図９は、図４の変形内容テーブルを例示した図である。ここでは、サーバ１００は、図９に例示する変形内容テーブル３７３を用い、端末装置４００Ａの利用者は、端末装置４００Ｂの利用者を相手にチャットを行っている場合を例に説明する。なお、利用者別設定情報記憶部３２において、端末装置４００Ａ,Ｂの有効無効設定情報はすべての変形処理について「有効」と設定されているものとする。
【００５１】
サーバ１００の変形内容決定部４３は、端末装置４００Ａから「ウソだロー」というテキスト入力がされたという入力イベントを受信したとき、変形内容テーブル３７３を参照して（領域８０１参照）、端末装置４００Ｂの利用者のアバターに対し「はりせんたたき（激しく）」という変形処理を選択する。
【００５２】
このときの変形対象である端末装置４００Ｂのアバターのオブジェクトデータおよび端末装置４００Ａのアバターのオブジェクトデータは、変形内容決定部４３は、利用者別設定情報記憶部３２の設定情報を参照して、変形テーマライブラリ３７から選択する。また、変形に用いる小道具である「はりせん」のオブジェクトデータも、この変形テーマライブラリ３７から選択する。
【００５３】
次に、変形内容決定部４３は、変形内容テーブル３７３を参照して決定した変形処理と、定義情報記憶部３６から読み出した変形処理の定義情報とを、有効無効制御部４２へ出力する。
例えば、（１）「はりせん」を、端末装置４００Ｂの利用者のアバターの頭の上の座標位置まで移動するという変形処理と、（２）端末装置４００Ｂの利用者のアバターの頭の上で激しくふりおろすという変形処理と、（３）端末装置４００Ｂの利用者のアバターを驚いた顔表情にするという変形処理と、その定義情報とを有効無効制御部４２へ出力する。
【００５４】
ここでは、有効無効設定情報において各変形処理とも有効とする設定となっているので、有効無効制御部４２は、読み出した定義情報をすべて変形処理部４１へ出力する。そして、変形処理部４１は、出力された定義情報に基づき、各オブジェクトデータ３７２に前記した（１）〜（３）の変形処理を実行し、変形後のオブジェクトデータ３７２を入出力部７０経由で、端末装置４００（４００Ａ,Ｂ）へ送信する。そして、端末装置４００（４００Ａ,Ｂ）は、受信したオブジェクトデータを順次、表示装置（モニタ等）上に表示させる。
【００５５】
なお、変形内容テーブル３７３には、図９の領域８０２に示すように、「顔α」に対しマウスを横方向に所定速度よりも遅い速度で移動したときには、この「顔α」に「表情変形（同意しない）」という変形処理を行うという内容や、領域８０３に示すように、「顔α」に対しマウスを縦方向に移動したときには、この「顔α」に「表情変形（同意）」という変形処理を行うという内容を記述するようにしてもよい。
【００５６】
このように様々な変形処理を変形内容テーブル３７３に記述しておくことで、端末装置４００の利用者は、チャットの相手に対し、自分の感情をよりストレートに伝えることができる。また、チャットの相手も、端末装置４００の画面上で相手のアバターの表情が変化する様子を見ることで、相手が怒っている等の感情を即座に理解することができる。
【００５７】
なお、前記した実施の形態では、処理部４０は、テキスト入力や、マウスのポインタの移動等の操作をそれぞれ１つの入力イベントとして、変形処理の決定を行うものとしたが、これに限定されない。例えば、ある１つの入力イベント（操作Ａ）に対応する一連の入力イベント（変形シナリオ）を予め記憶部３０に登録しておき、処理部４０は、操作Ａがされたことを検知すると、この変形シナリオから一連の入力イベントを読み出し、これらに対応する変形処理（一連の変形処理）を行うようにしてもよい。
【００５８】
なお、変形テーマ登録部４４は、端末装置４００から変形テーマ３７１そのものの追加登録指示のほか、いったん登録された変形テーマ３７１の変更指示（更新指示）を受け付けるようにしてもよい。このようにすることで、各利用者は、いったん登録した変形テーマ３７１について自分の好きなようにカスタマイズすることができる。
【００５９】
また、変形テーマ登録部４４は、端末装置４００から、変形テーマ３７１の追加登録指示や更新指示を受け付けるが、定義情報記憶部３６の定義情報（基本的変形処理の定義情報）や変形プログラム記憶部３５の追加登録や更新指示を受け付けないようにしている。つまり、変形テーマ登録部４４は、端末装置４００が要求するアクセス先や処理内容をチェックし、定義情報記憶部３６や変形プログラム記憶部３５のリソース等、サーバ１００のセキュリティに重要な影響を与えるようなリソースへのアクセスを制限するものとする。このようにすることで、サーバ１００は、アバターを用いたチャットサービスついて、端末装置４００の利用者のカスタマイズを許容しつつ、セキュリティも確保することができる。
【００６０】
なお、変形テーマライブラリ３７に格納される変形テーマ３７１のうち、端末装置４００により登録（更新）されたものについては、登録（更新）した利用者の利用者ＩＤや、登録（更新）日時を記録しておく。このようにすることで、セキュリティ上問題のある変形テーマ３７１が登録（更新）されたときや、不正な登録（更新）がされたときに、その不正行為を行った利用者を特定しやすくなる。また、このような不正行為に対する抑制をすることにもなる。
【００６１】
また、処理部４０は、端末装置４００が、登録された変形テーマ３７１を利用するたびに、その変形テーマ３７１の利用回数を記憶部３０に記録しておき、その利用回数に応じ、この変形テーマ３７１の登録者に対しインセンティブ（報奨金や特典等）を付与するようにしてもよい。このようにすることで、各端末装置４００の利用者は優れた機能を持つ変形テーマ３７１を積極的に登録するようになり、サーバ１００がより多くの利用者に利用されるようになる。
【００６２】
本実施の形態に係るサーバ１００は、前記したような処理を実行させる映像通信プログラム３３および変形プログラムによって実現することができ、これらのプログラムをコンピュータによる読み取り可能な記憶媒体（ＣＤ−ＲＯＭ等）に記憶して提供することが可能である。また、これらのプログラムを、ネットワーク７００を通して提供することも可能である。
【図面の簡単な説明】
【００６３】
【図１】本実施の形態の映像通信システムの構成を示した図である。
【図２】図１のサーバのハードウェア構成を示した図である。
【図３】図２のサーバを機能展開して示したブロック図である。
【図４】図３の変形テーマライブラリに格納される変形テーマを例示した図である。
【図５】図４の変形シーケンス定義を例示した図である。
【図６】図２の定義情報記憶部に格納される定義情報を例示した図である。
【図７】図２の利用者別設定情報記憶部に格納される利用者の設定情報を例示した図である。
【図８】図１の映像通信サーバの動作手順を示したフローチャートである。
【図９】図４の変形内容テーブルを例示した図である。
【符号の説明】
【００６４】
１０    ＣＰＵ（Central Processing Unit）
２０    メインメモリ
３０    記憶部
３２    利用者別設定情報記憶部
３３    映像通信プログラム
３５    変形プログラム記憶部
３６    定義情報記憶部
３７    変形テーマライブラリ
４０    処理部
４１    変形処理部
４２    有効無効制御部
４３    変形内容決定部
４４    変形テーマ登録部
５０    入出力インタフェース
６０    ネットワークインタフェース
７０    入出力部
１００  映像通信サーバ（サーバ）
３７１  変形テーマ
３７２  オブジェクトデータ
３７３  変形内容テーブル
３７４  変形シーケンス定義
４００（４００Ａ,Ｂ）  端末装置
７００  ネットワーク
【図１】
2007013622.tif 000004
【図２】
2007013622.tif 000005
【図３】
2007013622.tif 000006
【図４】
2007013622.tif 000007
【図５】
2007013622.tif 000008
【図６】
2007013622.tif 000009
【図７】
2007013622.tif 000010
【図８】
2007013622.tif 000011
【図９】
2007013622.tif 000012