(57)【要約】【課題】  アバターを利用したコミュニケーションにおいて、自然な動作を行うようにアバターの動作を制御するアバター制御システムを提供する。【解決手段】  アバター制御システムは、サーバ２において、クライアント、例えば、ユーザＡのクライアント６ａからネットワーク４を介して送信されたテキスト情報及びユーザＡが用いるアバターＡの仮想空間内での位置を示すアバター位置情報を受信し、受信したテキスト情報の文字数をカウントする。また、受信したアバター位置情報に基づいて、アバターＡを中心に他のアバターまでの距離を算出し、所定範囲内に存在するアバターのユーザを対話相手に決定する。次に、例えば、アバターＡとユーザＢのアバターＢの動作パラメータを算出し動作情報を作成して、アバターＡ及びアバターＢの各動作情報をクライアント６ａ及びユーザＢが用いるクライアント６ｂに、テキスト情報をクライアント６ｂに送信する。そして、クライアント６ａ及びクライアント６ｂにおいて、動作情報に基づくアバターＡの動作とアバターＢの動作が表示される。【選択図】  図１
2005202909.tif 000002
【特許請求の範囲】
【請求項１】
一のユーザから送信されるテキスト情報を受信するテキスト情報受信手段と、
前記テキスト情報受信手段により受信されたテキスト情報の文字数をカウントする文字数カウント手段と、
前記一のユーザを含む複数のユーザの各々から送信されるアバター位置情報を受信するアバター位置情報受信手段と、
前記アバター位置情報受信手段により受信されたアバター位置情報に基づいて、前記一のユーザの対話相手となる他のユーザを決定する対話相手決定手段と、
前記対話相手決定手段により対話相手に決定された他のユーザ及び前記一のユーザの各アバターの各々の動作パラメータを、前記文字数カウント手段によりカウントされた文字数に基づいて算出する動作パラメータ算出手段と、
前記動作パラメータ算出手段により算出された動作パラメータに基づいて、前記各アバターの動作を示す動作情報を作成する動作情報作成手段と、
前記動作情報作成手段により作成された各アバターの動作情報を、前記対話相手決定手段により対話相手に決定された他のユーザ及び前記一のユーザに送信する動作情報送信手段と、
前記テキスト情報受信手段により受信されたテキスト情報を、前記対話相手決定手段により対話相手に決定された他のユーザに送信するテキスト情報送信手段と
を備えることを特徴とするアバター制御システム。
【請求項２】
前記一のユーザと前記他のユーザとの間の親密度を設定する親密度設定手段を備え、
前記動作パラメータ算出手段は、
前記文字数カウント手段によりカウントされた文字数及び前記親密度設定手段により設定された親密度に基づいて前記動作パラメータを算出することを特徴とする請求項１記載のアバター制御システム。
【請求項３】
前記動作パラメータ算出手段は、
前記一のユーザと前記他のユーザとの間の会話量、対話時間及び対話履歴の少なくとも何れか一つに基づいて、前記親密度設定手段により設定された親密度を調整する親密度調整手段を更に備え、
前記文字数カウント手段によりカウントされた文字数及び前記親密度調整手段により調整された親密度に基づいて、前記動作パラメータを算出することを特徴とする請求項２記載のアバター制御システム。
【請求項４】
前記動作パラメータ算出手段は、
前記アバターの視線、顔表情及び頷きの少なくとも何れか一つの動作を示す動作パラメータを算出することを特徴とする請求項１〜請求項３の何れか一項に記載のアバター制御システム。
【請求項５】
前記動作パラメータ算出手段は、
前記アバターの視線、顔表情及び頷きの各動作について、各々の動作間における相関関係を維持した動作パラメータを算出することを特徴とする請求項４記載のアバター制御システム。
【請求項６】
複数のユーザの各々が使用する複数のクライアントと、前記複数のクライアントの各々とネットワークを介して接続されているサーバとを備えるアバター制御システムにおいて、
前記クライアントは、
他のユーザに対するメッセージを入力する入力手段と、
前記入力手段により入力されたメッセージをテキスト情報として前記サーバに送信するテキスト情報送信手段と、
テキスト情報を送信したユーザが用いるアバターが仮想空間上に存在する位置を示すアバター位置情報を前記サーバに送信するアバター位置情報送信手段と、
前記サーバから送信される前記他のユーザからのメッセージを示すテキスト情報を受信するテキスト情報受信手段と、
前記テキスト情報受信手段により受信されたテキスト情報に基づいて、前記他のユーザのメッセージを出力するメッセージ出力手段と、
表示画面に表示されている各アバターの動作を示す動作情報を受信する動作情報受信手段と、
前記動作情報受信手段により受信された動作情報に基づくアバターの動作を、前記表示画面に表示する表示手段とを備え、
前記サーバは、
前記複数のクライアントの何れかから送信されるテキスト情報を受信するテキスト情報受信手段と、
前記テキスト情報受信手段により受信されたテキスト情報の文字数をカウントする文字数カウント手段と、
前記複数のユーザの各々から送信されるアバター位置情報を受信するアバター位置情報受信手段と、
前記アバター位置情報受信手段により受信されたアバター位置情報に基づいて、前記複数のユーザの中で、前記テキスト情報を送信したユーザの対話相手となる他のユーザを決定する対話相手決定手段と、
前記対話相手決定手段により対話相手に決定された他のユーザ及び前記テキスト情報を送信したユーザの各アバターの各々の動作パラメータを、前記文字数カウント手段によりカウントされた文字数に基づいて算出する動作パラメータ算出手段と、
前記動作パラメータ算出手段により算出された動作パラメータに基づいて、前記各アバターの動作を示す動作情報を作成する動作情報作成手段と、
前記動作情報作成手段により作成された各アバターの動作情報を、前記対話相手決定手段により対話相手に決定された他のユーザ及び前記テキスト情報を送信したユーザに送信する動作情報送信手段と、
前記テキスト情報受信手段により受信されたテキスト情報を、前記対話相手決定手段により対話相手に決定された他のユーザに送信するテキスト情報送信手段と
を備えることを特徴とするアバター制御システム。
【請求項７】
前記サーバは、
前記テキスト情報を送信したユーザと前記他のユーザとの間の親密度を設定する親密度設定手段を備え、
前記動作パラメータ算出手段は、
前記文字数カウント手段によりカウントされた文字数及び前記親密度設定手段により設定された親密度に基づいて前記動作パラメータを算出することを特徴とする請求項６記載のアバター制御システム。
【請求項８】
前記動作パラメータ算出手段は、
前記テキスト情報を送信したユーザと前記他のユーザとの間の会話量、対話時間及び対話履歴の少なくとも何れか一つに基づいて、前記親密度設定手段により設定された親密度を調整する親密度調整手段を更に備え、
前記文字数カウント手段によりカウントされた文字数及び前記親密度調整手段により調整された親密度に基づいて、前記動作パラメータを算出することを特徴とする請求項７記載のアバター制御システム。
【請求項９】
前記動作パラメータ算出手段は、
前記アバターの視線、顔表情及び頷きの少なくとも何れか一つの動作を示す動作パラメータを算出することを特徴とする請求項６〜請求項８の何れか一項に記載のアバター制御システム。
【請求項１０】
前記動作パラメータ算出手段は、
前記アバターの視線、顔表情及び頷きの各動作について、各々の動作間における相関関係を維持した動作パラメータを算出することを特徴とする請求項９記載のアバター制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンピュータを用いた３次元の仮想空間でのアバター（ユーザの化身）を利用したコミュニケーションにおけるアバターの動作を制御するアバター制御システムに関するものである。
【背景技術】
【０００２】
近年、コンピュータを用いた３次元の仮想空間を利用したコミュニケーションでは、アバター（Ａｖａｔａｒ、サンスクリット語で「分身・化身」を意味する。多くの場合、ネットワーク上におけるユーザの「擬似人格」を意味している。）が多く利用されている。
例えば、インターネットを介したチャット（インターネットを利用してリアルタイムで文字による会話を行うものであり、１対１、１対多数、多数対多数で会話を行うことができる）を行う際に、それぞれのユーザがアバターを利用している。
【０００３】
なお、通信回線を介した音声コミュニケーションにおいて擬似人格（アバター）を用いる身体性メディア通信システムが存在する。この身体性メディア通信システムにおいては、ユーザが話し手になっている場合には、話し手であるユーザの音声に従って動作する話し手動作と、ユーザが聞き手になっている場合には、話し手である他のユーザの音声に従って動作する聞き手動作に基づいて擬似人格を動作させている（特許文献１参照）。
【０００４】
【特許文献１】特開２００３−１０８５０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、従来、チャット等のコミュニケーションにおいてアバターを用いた場合、ユーザの操作又はチャットサービスを提供しているサーバによる制御に基づいてランダムにアバターを動作させていた。また、上述の身体性メディア通信システムように、ユーザの音声に基づいてアバターを動作させる場合にも、ユーザの音声に基づいて個々のアバターを動作させており、アバター同士で相手の動きに合わせて動作させることは行われていなかった。そのため、アバターの動作が現実の対話における人物の動作と比べて著しく不自然であり、ユーザがアバターの動作に違和感を感じる等の問題があった。
【０００６】
この発明の課題は、コンピュータを用いた３次元の仮想空間でのアバターを利用したコミュニケーションにおいて、自然な動作を行うようにアバターの動作を制御するアバター制御システムを提供することである。
【課題を解決するための手段】
【０００７】
この請求項１記載のアバター制御システムは、一のユーザから送信されるテキスト情報を受信するテキスト情報受信手段と、前記テキスト情報受信手段により受信されたテキスト情報の文字数をカウントする文字数カウント手段と、前記一のユーザを含む複数のユーザの各々から送信されるアバター位置情報を受信するアバター位置情報受信手段と、前記アバター位置情報受信手段により受信されたアバター位置情報に基づいて、前記一のユーザの対話相手となる他のユーザを決定する対話相手決定手段と、前記対話相手決定手段により対話相手に決定された他のユーザ及び前記一のユーザの各アバターの各々の動作パラメータを、前記文字数カウント手段によりカウントされた文字数に基づいて算出する動作パラメータ算出手段と、前記動作パラメータ算出手段により算出された動作パラメータに基づいて、前記各アバターの動作を示す動作情報を作成する動作情報作成手段と、前記動作情報作成手段により作成された各アバターの動作情報を、前記対話相手決定手段により対話相手に決定された他のユーザ及び前記一のユーザに送信する動作情報送信手段と、前記テキスト情報受信手段により受信されたテキスト情報を、前記対話相手決定手段により対話相手に決定された他のユーザに送信するテキスト情報送信手段とを備えることを特徴とする。
【０００８】
この請求項１記載のアバター制御システムによれば、一のユーザから送信されたテキスト情報の文字数に基づいて、複数のユーザの各々が用いている各アバターの各動作パラメータを算出し、算出された動作パラメータに基づいて各アバターの動作を示す動作情報を作成して一のユーザ及び他のユーザに送信している。即ち、一のユーザのテキスト情報に基づいて一のユーザのアバター及び他のユーザのアバターの動作を示す動作情報を作成している。従って、ユーザの発言（テキスト情報）に対応させて自然に動作するようにアバターを制御することができる。
【０００９】
また、請求項２記載のアバター制御システムは、前記一のユーザと前記他のユーザとの間の親密度を設定する親密度設定手段を備え、前記動作パラメータ算出手段は、前記文字数カウント手段によりカウントされた文字数及び前記親密度設定手段により設定された親密度に基づいて前記動作パラメータを算出することを特徴とする。
【００１０】
この請求項２記載のアバター制御システムによれば、テキスト情報の文字数及び親密度に基づいてアバターの動作パラメータを算出し、アバターの動作を示す動作情報を作成している。従って、ユーザ間の親密度を反映してアバターを動作させることができ、自然な動作となるようにアバターを制御することができる。
【００１１】
また、請求項３記載のアバター制御システムは、前記動作パラメータ算出手段が前記一のユーザと前記他のユーザとの間の会話量、対話時間及び対話履歴の少なくとも何れか一つに基づいて、前記親密度設定手段により設定された親密度を調整する親密度調整手段を更に備え、前記文字数カウント手段によりカウントされた文字数及び前記親密度調整手段により調整された親密度に基づいて、前記動作パラメータを算出することを特徴とする。
【００１２】
この請求項３記載のアバター制御システムによれば、例えば、ユーザ間の会話量に基づいて親密度を調整し、調整された親密度及び文字数に基づいて動作パラメータを算出して動作情報を作成している。従って、会話の流れに沿って適切に、例えば、会話量の増加に応じて親密度を増加させる等の調整を行うことができ、アバターを用いたコミュニケーションを活性化させるようにアバターの動作を制御することができる。
【００１３】
また、請求項４記載のアバター制御システムは、前記動作パラメータ算出手段が、前記アバターの視線、顔表情及び頷きの少なくとも何れか一つの動作を示す動作パラメータを算出することを特徴とする。
【００１４】
この請求項４記載のアバター制御システムによれば、視線、顔表情及び頷きの少なくとも何れか一つの動作の動作パラメータを算出している。即ち、通常の対話において、発言量に比例することが知られている視線、顔表情及び頷きの動作を示す動作パラメータを算出している。従って、現実の対話における対話者間の動作についての関連性を適切に反映した動作をするようにアバターを制御することができる。
【００１５】
また、請求項５記載のアバター制御システムは、前記動作パラメータ算出手段が前記アバターの視線、顔表情及び頷きの各動作について、各々の動作間における相関関係を維持した動作パラメータを算出することを特徴とする。
【００１６】
この請求項５記載のアバター制御システムによれば、視線、顔表情及び頷きの各動作の相関関係を維持した動作パラメータを算出している。即ち、現実の対話においては、対話者の各動作が平衡状態を保つ関係にあることが知られているため、この関係を維持した動作を行うように動作パラメータを算出している。従って、現実の対話における対話者間の動作を反映した自然な動作を行うようにアバターを制御することができる。
【００１７】
また、請求項６記載のアバター制御システムは、複数のユーザの各々が使用する複数のクライアントと、前記複数のクライアントの各々とネットワークを介して接続されているサーバとを備えるアバター制御システムにおいて、前記クライアントは、他のユーザに対するメッセージを入力する入力手段と、前記入力手段により入力されたメッセージをテキスト情報として前記サーバに送信するテキスト情報送信手段と、テキスト情報を送信したユーザが用いるアバターが仮想空間上に存在する位置を示すアバター位置情報を前記サーバに送信するアバター位置情報送信手段と、前記サーバから送信される前記他のユーザからのメッセージを示すテキスト情報を受信するテキスト情報受信手段と、前記テキスト情報受信手段により受信されたテキスト情報に基づいて、前記他のユーザのメッセージを出力するメッセージ出力手段と、表示画面に表示されている各アバターの動作を示す動作情報を受信する動作情報受信手段と、前記動作情報受信手段により受信された動作情報に基づくアバターの動作を、前記表示画面に表示する表示手段とを備え、前記サーバは、前記複数のクライアントの何れかから送信されるテキスト情報を受信するテキスト情報受信手段と、前記テキスト情報受信手段により受信されたテキスト情報の文字数をカウントする文字数カウント手段と、前記複数のユーザの各々から送信されるアバター位置情報を受信するアバター位置情報受信手段と、前記アバター位置情報受信手段により受信されたアバター位置情報に基づいて、前記複数のユーザの中で、前記テキスト情報を送信したユーザの対話相手となる他のユーザを決定する対話相手決定手段と、前記対話相手決定手段により対話相手に決定された他のユーザ及び前記テキスト情報を送信したユーザの各アバターの各々の動作パラメータを、前記文字数カウント手段によりカウントされた文字数に基づいて算出する動作パラメータ算出手段と、前記動作パラメータ算出手段により算出された動作パラメータに基づいて、前記各アバターの動作を示す動作情報を作成する動作情報作成手段と、前記動作情報作成手段により作成された各アバターの動作情報を、前記対話相手決定手段により対話相手に決定された他のユーザ及び前記テキスト情報を送信したユーザに送信する動作情報送信手段と、前記テキスト情報受信手段により受信されたテキスト情報を、前記対話相手決定手段により対話相手に決定された他のユーザに送信するテキスト情報送信手段とを備えることを特徴とする。
【００１８】
この請求項６記載のアバター制御システムによれば、クライアントから送信されたテキスト情報に基づいて、複数のユーザの各々が用いている各アバターの動作パラメータを算出し、各アバターの動作を示す動作情報を作成してテキスト情報を送信したユーザ及び他のユーザに送信している。例えば、一のユーザが一のクライアントを用い、他のユーザが他のクライアントを用い、一のアバターと他のアバターにより仮想空間においてチャットを行っているとする。この場合に、一のユーザのチャットメッセージに基づくテキスト情報に基づいて、一のアバターと他のアバターの動作を示す動作情報を作成し、一のクライアント及び他のクライアントに動作情報を送信している。一のクライアントにおいては、一のアバターと他のアバターの動作を動作情報に基づいて表示画面に表示し、他のクライアントにおいては、一のアバターと他のアバターの動作を動作情報に基づいて表示すると共にテキスト情報に基づくチャットメッセージを出力している。従って、ユーザの発言（テキスト情報）に対応させて自然に動作するようにアバターを制御することができる。
【００１９】
また、請求項７記載のアバター制御システムは、前記サーバが、前記テキスト情報を送信したユーザと前記他のユーザとの間の親密度を設定する親密度設定手段を備え、前記動作パラメータ算出手段は、前記文字数カウント手段によりカウントされた文字数及び前記親密度設定手段により設定された親密度に基づいて前記動作パラメータを算出することを特徴とする。
【００２０】
この請求項７記載のアバター制御システムによれば、テキスト情報の文字数及び親密度に基づいてアバターの動作パラメータを算出し、アバターの動作を示す動作情報を作成している。従って、予め親密度を設定することにより、設定された親密度を反映してアバターを動作させることができ、ユーザの希望に合致した自然な動作となるようにアバターを制御することができる。
【００２１】
また、請求項８記載のアバター制御システムは、前記動作パラメータ算出手段が前記テキスト情報を送信したユーザと前記他のユーザとの間の会話量、対話時間及び対話履歴の少なくとも何れか一つに基づいて、前記親密度設定手段により設定された親密度を調整する親密度調整手段を更に備え、前記文字数カウント手段によりカウントされた文字数及び前記親密度調整手段により調整された親密度に基づいて、前記動作パラメータを算出することを特徴とする。
【００２２】
この請求項８記載のアバター制御システムによれば、例えば、ユーザ間の会話量に基づいて親密度を調整し、調整された親密度及び文字数に基づいて動作パラメータを算出して動作情報を作成している。従って、会話の流れに沿って適切に、例えば、会話量の増加に応じて親密度を増加させる等の調整を行うことができ、アバターの動作が自然な動作となるようにアバターの動作を制御することができる。
【００２３】
また、請求項９記載のアバター制御システムは、前記動作パラメータ算出手段が、前記アバターの視線、顔表情及び頷きの少なくとも何れか一つの動作を示す動作パラメータを算出することを特徴とする。
【００２４】
この請求項９記載のアバター制御システムによれば、通常の対話において、発言量に比例することが知られている視線、顔表情及び頷きの動作を示す動作パラメータを算出している。従って、現実の対話における対話者間の動作についての関連性を適切に反映してアバターを動作させることにより、アバターの動作が不自然にならないようにアバターを制御できる。
【００２５】
また、請求項１０記載のアバター制御システムは、前記動作パラメータ算出手段が前記アバターの視線、顔表情及び頷きの各動作について、各々の動作間における相関関係を維持した動作パラメータを算出することを特徴とする。
【００２６】
この請求項１０記載のアバター制御システムによれば、現実の対話においては、対話者の各動作が平衡状態を保つ関係にあることが知られているため、この関係を維持した動作を行うように動作パラメータを算出している。従って、現実の対話における対話者間の動作を反映した自然な動作を行うようにアバターを制御することができる。
【発明の効果】
【００２７】
この発明によれば、一のユーザのテキスト情報に基づいて一のユーザのアバター及び他のユーザのアバターの動作を示す動作情報を作成している。従って、アバターをユーザが操作することなく自然に動作させることができる。また、アバターに聞き手や話し手としての役割を与えることなく、ユーザの発言（テキスト情報）に対応して動作するようにアバターを制御することができ、アバターの動きに対するユーザの違和感を低減させることができる。
【００２８】
また、通常の対話において、視線、顔表情及び頷きの動作は発言量に比例し、同時に、対話者の各動作は平衡状態を保つことが知られていることから、現実の対話者間における動作の関連性と対話者の各動作の関連性とを反映した動作パラメータを算出している。従って、現実の対話における対話者間の動作を反映した自然な動作を行うようにアバターを制御し、アバターを用いたコミュニケーションを違和感なく行うことができる。
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照してこの発明の実施の形態に係るアバター制御システムについて説明する。
【００３０】
図１は、この発明の実施の形態に係るアバター制御システムのブロック構成図である。
アバター制御システムは、図１に示すように、チャット等のコミュニケーションサービスを提供するサーバ２を備えている。このサーバ２は、ネットワーク４を介して複数のユーザの各々が用いるクライアント６ａ、６ｂ、６ｃと接続されている。なお、クライアント６ａを用いるユーザをユーザＡ、クライアント６ｂを用いるユーザをユーザＢ、クライアント６ｃを用いるユーザをユーザＣとする。
【００３１】
図２は、この発明の実施の形態に係るサーバのブロック構成図である。サーバ２は、図２に示すように、サーバ２におけるデータの処理を制御するデータ制御部１０を備えている。このデータ制御部１０には、クライアント６ａ、６ｂ、６ｃとの間の通信を制御する通信制御部１２及びユーザに関する情報、例えば、各ユーザを識別するためのユーザＩＤ及びパスワード等を記憶するユーザ情報記憶部１４が接続されている。また、データ制御部１０にはユーザが用いるアバターの画像等、アバターに関する情報を記憶するアバター情報記憶部１６及びアバターを動作させるための動作パラメータや通信制御部１２を介して受信したユーザからのテキスト情報等を記憶するデータ記憶部１８が接続されている。
【００３２】
ユーザ情報記憶部１４には、サーバ２により提供されるコミュニケーションサービスを利用するユーザ、即ち、予めサーバ２にユーザ登録を行っているユーザのユーザ情報が記憶される。このユーザ情報には、例えば、ユーザを識別するためのユーザＩＤ、パスワード、ニックネーム（チャットを行う際に用いられるユーザ名等）及びユーザ間における親密度、例えば、ユーザＡとユーザＢの親密度を示す係数（ユーザにより任意に設定される係数）が含まれる。なお、ユーザの氏名や住所等の個人情報もユーザ情報に含めて記憶するようにしてもよい。
【００３３】
また、アバター情報記憶部１６には、サーバ２により提供されるコミュニケーションサービス、例えば、チャットを利用する際に用いられるアバターに関するアバター情報が記憶される。即ち、アバターの画像、各アバターを識別するためのアバターＩＤ、３次元の仮想空間においてチャットが行われている際のアバターの位置を示すアバター位置情報（３次元の仮想空間におけるアバターの位置を示す座標）等がアバター情報としてアバター情報記憶部１６に記憶される。
【００３４】
また、データ記憶部１８には、動作パラメータ、即ち、３次元の仮想空間におけるチャットに用いられるアバターの視線、顔表情及び頷きをそれぞれ示すパラメータや、動作パラメータに基づいて作成されたアバターの動作を示す動作情報が記憶される。また、データ記憶部１８には、テキスト情報、例えば、ユーザＡとユーザＢとがチャットを行っている場合に、ユーザＡからユーザＢに対して送信されたチャットメッセージに基づく文字列を示す情報や、ユーザＢからユーザＡに対して送信されたチャットメッセージに基づく文字列を示す情報が記憶される。更に、データ記憶部１８には、コミュニケーションサービスに関する履歴情報、例えば、チャットを利用したユーザ間の対話履歴、即ち、ユーザＡがユーザＢとチャットをした場合におけるユーザＡとユーザＢとの対話履歴等が記憶される。なお、チャットが行われる３次元の仮想空間、例えば、チャットルームの画像を示すデータもデータ記憶部１８に記憶されている。
【００３５】
図３は、この発明の実施の形態に係るクライアント６ａのブロック構成図である。クライアント６ａは、図３に示すように、クライアント６ａにおけるデータの処理を制御するデータ制御部２０を備えている。このデータ制御部２０には、サーバ２との間の通信を制御する通信制御部２２及びチャットメッセージとしてのテキスト情報等を入力するキーボード２４が接続されている。また、データ制御部２０には、サーバ２から送信されたテキスト情報やアバターを動作させるための動作情報等を記憶するデータ記憶部２６及び動作情報に基づいて動作するアバター等を表示する表示部２８が接続されている。
【００３６】
データ記憶部２６には、サーバ２から送信されるアバターを動作させるための動作情報、即ち、表示部２８に表示されているアバターを動作させるための情報が記憶される。また、データ記憶部２６には、ユーザがキーボード２４を介して入力したチャットメッセージ（テキスト情報）や、サーバ２を介してチャットの相手（対話相手）が用いるクライアントから送信されたチャットメッセージ等が記憶される。なお、クライアント６ｂ、６ｃの構成は、クライアント６ａの構成と同様の構成であるため説明を省略する。
【００３７】
次に、実施の形態に係るアバター制御システムによるアバターの制御処理について説明する。なお、以下においては、予めサーバ２にユーザ登録をしているユーザ間で行われるチャットにおけるアバターの動作を制御する場合を例として説明する。
【００３８】
まず、チャットを行うユーザがサーバ２にログインを行う。例えば、クライアント６ａのキーボード２４を介してユーザＡのユーザＩＤ及びパスワードを入力し、入力されたユーザＩＤ及びパスワードを通信制御部２２及びネットワーク４を介してサーバ２に送信する。
【００３９】
サーバ２においては、クライアント６ａから送信されたユーザＡのユーザＩＤ及びパスワードを通信制御部１２を介して受信し、受信したユーザＩＤ及びパスワードと、ユーザ情報記憶部１４に記憶されているユーザＡのユーザＩＤ及びパスワードとの照合を行う。
照合不一致となった場合には、「ユーザＩＤ又はパスワードが違います」等の照合不一致となったことを通知するメッセージをクライアント６ａに送信する。一方、照合一致となった場合には、チャットを行う際に用いるアバターを選択する画面、例えば、アバターのサムネイル画像を一覧形式で示したアバター選択画面のデータを通信制御部１２及びネットワーク４を介してクライアント６ａに送信する。
【００４０】
クライアント６ａにおいては、照合不一致となったことを通知するメッセージを受信した場合には、ユーザＩＤ及びパスワードを再度キーボード２４を介して入力しサーバ２に送信する。一方、アバター選択画面のデータを受信した場合には、表示部２８にアバター選択画面を表示する。そして、マウス等のポインティングデバイスを用いてチャットにおいて利用するアバターを指定してクリックすることによりアバターを選択する。
【００４１】
サーバ２において、クライアント６ａからアバターを選択したことを示すアバター選択情報を受信した場合には、選択されたアバターのアバターＩＤとユーザＩＤとを対応させてデータ記憶部１８に記憶する。また、選択されたアバターの画像データ、選択されたアバターのアバターＩＤ及びチャットルームの画像を示すデータをクライアント６ａに送信する。即ち、アバター情報記憶部１６に記憶されているアバター画像とデータ記憶部１８に記憶されているチャットルームの画像を示すデータを通信制御部１２を介してクライアント６ａに送信する。なお、チャットルーム内に既に他のアバターが存在する場合には、チャットルーム内に存在する他のアバターの画像及びアバターＩＤも送信する。
【００４２】
クライアント６ａにおいては、サーバ２から送信されたアバターの画像、アバターＩＤ及びチャットルームを示すデータを通信制御部２２を介して受信しデータ記憶部２６に記憶する。次に、データ記憶部２６に記憶されたアバターの画像データ及びチャットルームの画像を示すデータに基づいて、チャットルームにおいてアバターが存在することを示す画面を作成し表示部２８に表示する。ここで、チャットルーム内に他のアバターが存在する場合、例えば、ユーザＢのアバターであるアバターＢがチャットルームに存在する場合には、アバターＢの画像及びアバターＩＤも通信制御部２２を介して受信されデータ記憶部２６に記憶される。そして、ユーザＡのアバターＡと共にユーザＢのアバターＢがチャットルーム内に存在することを示す画面が作成され表示部２８に表示される。
【００４３】
次に、クライアント６ａにおいて、ユーザＢに対するチャットメッセージをキーボード２４を介して入力し、入力したチャットメッセージのテキスト情報（文字列）を通信制御部２２及びネットワーク４を介してサーバ２に送信する。また、テキスト情報と共に、チャットルーム内におけるアバターの位置を示すアバター位置情報、即ち、アバターＡの３次元の仮想空間内における位置を示す座標をサーバ２に送信する。なお、サーバ２に送信されたテキスト情報及びアバター位置情報は、データ記憶部２６に記憶される。
【００４４】
サーバ２においては、図４のフローチャートに示すように、クライアント６ａからネットワーク４を介して送信されたテキスト情報を通信制御部１２を介して受信する（ステップＳ１０）。なお、受信されたテキスト情報は、ユーザＩＤ及びアバターＩＤに対応させてデータ記憶部１８に記憶される。
【００４５】
次に、ステップＳ１０において受信されたテキスト情報の文字数をカウントする（ステップＳ１１）。即ち、データ記憶部１８に記憶されたテキスト情報の文字列を構成する文字数をカウントし、カウントされた文字数をテキスト情報に対応させてデータ記憶部１８に記憶する。
【００４６】
次に、クライアント６ａから送信されたアバター位置情報を通信制御部１２を介して受信する（ステップＳ１２）。即ち、クライアント６ａの表示部２８に表示されているチャットルームにおけるアバターの位置を示す３次元の仮想空間の座標を受信する。なお、受信されたアバター位置情報は、ユーザＩＤ及びアバターＩＤに対応させてデータ記憶部１８に記憶される。
【００４７】
次に、ステップＳ１２において受信されたアバター位置情報に基づいて対話相手を決定する（ステップＳ１３）。即ち、ステップＳ１０において受信されたテキスト情報の送信元であるクライアントを用いるユーザのアバターを中心とし、該アバターから所定の範囲内に存在するアバターとの距離を算出する。例えば、ユーザＡのアバターＡを中心とする所定の範囲内に存在するユーザＢのアバターＢとの距離を算出する。そして、アバターＡとアバターＢとの距離が所定の範囲内となっている場合には、アバターＡとアバターＢとがチャットを行う範囲内に存在すると判断され、アバターＢがアバターＡの対話相手として決定される。
【００４８】
次に、発言したユーザのアバター及びステップＳ１３において話し相手に決定されたユーザのアバターの動作パラメータを算出する（ステップＳ１４）。ここで、例えば、人が対面して行う通常の会話におけるノンバーバル表現、即ち、顔表情、視線及び頷き等の非言語表現には、（１）人物間の非言語表現の関連性、（２）人物内の非言語表現の関連性が存在する。即ち、人物間において対話が行われている場合、人物間の視線、顔表情、頷き、発話の量には一定の関連性があることが知られている。また、人物内の非言語表現はそれぞれの要素が一定の関連性を有していることが知られている。なお、視線は、相手を見つめる時間、顔表情は笑顔の強さ、頷きは頷く回数、発話は発話語数（例えば、チャットメッセージの文字数）である。
【００４９】
（１）の人物間の非言語表現の関連性は、非言語表現の表出量には対話者間の親密度に基づく平衡状態が存在するというものである。例えば、ユーザＡとユーザＢとの間で対面により会話が行われている場合、ユーザＡの視線、顔表情（表情）、頷き及び発話と、ユーザＢの視線、顔表情（表情）、頷き及び発話との関係は、図５（ａ）に示すように、線で結ばれた表現間において、一方が高まると他方も高まるという正の相関関係を有している。即ち、図５（ｂ）の表において「○」を付した表現間においては、例えば、ユーザＡの視線が高まることにより、ユーザＢの発話量及び視線が高まり、ユーザＢの笑顔が高まることによりユーザＡの発話量及び笑顔が高まる等の正の相関関係が存在する。
【００５０】
（２）の人物内の非言語表現の関連性とは、人物内の非言語表現は、対話者間の親密度に基づく平衡状態にあり、常に各種の表現の総和を平衡に保とうとするというものである。例えば、ユーザＡの視線、表情、頷き及び発話の中で、視線の値が高くなれば、頷きの値が低くなる等、各種の非言語表現の総和が一定（平衡）になるように保たれる。
【００５１】
ここで、ユーザＡの非言語表現の表出量をｘＡ、ユーザＢの非言語表現の表出量をｘＢとすると、上述の（１）に基づく非言語表現の人物間の関連性に基づいて、ｘＡとｘＢの関係を以下の（数式１）により示すことができる。
ｘＡ＝ｘＢ・・・（数式１）
また、ユーザの意図が働いた非言語表現のそれぞれの要素の表出量をｃｉとすると、上述の（２）に基づく非言語表現の人物内の関連性に基づいて、Σｃｉの値は常に一定となる。また、アバターによって表出される非言語表現の表出量をｅとし、ｅを以下の（数式２）により定義する。なお、「ａ」は、個人差を示す係数であり、ユーザが任意に設定することができる。
ｅ＝ｘ・ｃ・ａ・・・（数式２）
この時、アバターＡの顔表情の表出量を示す動作パラメータをｅＡｆ、視線の表出量を示す動作パラメータをｅＡｅ、頷きの表出量を示す動作パラメータをｅＡｎ、発話の表出量（発言量、ステップＳ１１においてカウントされた文字数）を示す動作パラメータをｅＡｓとし、アバターＢの顔表情の表出量を示す動作パラメータをｅＢｆ、視線の表出量を示す動作パラメータをｅＢｅ、頷きの表出量を示す動作パラメータをｅＢｎ、発話の表出量（発言量）を示す動作パラメータをｅＢｓとする。また、アバターＡの意図に基づく顔表現の表出量をｃＡｆ、意図に基づく視線の表出量をｃＡｅ、意図に基づく頷きの表出量をｃＡｎ、意図に基づく発話の表出量をｃＡｓとし、アバターＢの意図に基づく顔表情の表出量をｃＢｆ、意図に基づく視線の表出量をｃＢｅ、意図に基づく頷きの表出量をｃＢｎ、意図に基づく発話の表出量をｃＢｓとする。更に、アバターＡの顔表現の表出量に関する個人差を示す係数をａＡｆ、視線の表出量に関する個人差を示す係数をａＡｅ、頷きの表出量に関する個人差を示す係数をａＡｎ、発話の表出量に関する個人差を示す係数をａＡｓとし、アバターＢの顔表情の表出量に関する個人差を示す係数をａＢｆ、視線の表出量に関する個人差を示す係数をａＢｅ、頷きの表出量に関する個人差を示す係数をａＢｎ、発話の表出量に関する個人差を示す係数をａＢｓとする。
【００５２】
ここで、（数式１）よりアバターＡとアバターＢの非言語表現の表出量が等しく、また、アバターＡとアバターＢのそれぞれの非言語表現の要素の表出量は（数式２）に基づいて算出することができる。従って、上述の（１）に示す関連性に基づいて、例えば、アバターＡの視線とアバターＢの視線との間には、以下の（数式３）に示す関係が成立する。
ｅＡｅ／（ｃＡｅ・ａＡｅ）＝ｅＢｅ／（ｃＢｅ・ａＢｅ）・・・（数式３）
また、上述の（２）に示す関連性に基づいて、アバターＡの意図に基づく非言語表現の各々の要素とアバターＢの意図に基づく非言語表現の各々の要素と、ユーザＡとユーザＢとの間の親密度（Ｉ）との間には以下の（数式４）に示す関係が成立する。
ｃＡｆ＋ｃＢｆ＋ｃＡｅ＋ｃＢｅ＋ｃＡｎ＋ｃＢｎ＋ｃＡｓ＋ｃＢｓ＝Ｉ・・・（数式４）
以上より、（数式３）及び（数式４）に基づいて、図５（ｂ）に示す正の相関関係を有する非言語表現間の関係を以下の数式（数式５）〜（数式１３）により示すことができる。この時、以下の（数式５）〜（数式１３）においてＥ１〜Ｅ１２の各々の値が「０」となるように、それぞれの要素の表出量「ｅ」の値を算出することにより、上述の関連性（１）及び（２）を満たした非言語表現の表出量を示す動作パラメータの値を算出することができる。
Ｅ１＝｛ｅＡｅ／（ｃＡｅ・ａＡｅ）−ｅＢｅ／（ｃＢｅ・ａＢｅ）｝２・・・（数式５）
Ｅ２＝｛ｅＡｆ／（ｃＡｆ・ａＡｆ）−ｅＢｆ／（ｃＢｆ・ａＢｆ）｝２・・・（数式６）
Ｅ３＝｛ｅＡｓ／（ｃＡｓ・ａＡｓ）−ｅＢｅ／（ｃＢｅ・ａＢｅ）｝２・・・（数式７）
Ｅ４＝｛ｅＡｅ／（ｃＡｅ・ａＡｅ）−ｅＢｓ／（ｃＢｓ・ａＢｓ）｝２・・・（数式８）
Ｅ５＝｛ｅＡｓ／（ｃＡｓ・ａＡｓ）−ｅＢｆ／（ｃＢｆ・ａＢｆ）｝２・・・（数式９）
Ｅ６＝｛ｅＡｆ／（ｃＡｆ・ａＡｆ）−ｅＢｓ／（ｃＢｓ・ａＢｓ）｝２・・・（数式１０）
Ｅ７＝｛ｅＡｓ／（ｃＡｓ・ａＡｓ）−ｅＢｎ／（ｃＢｎ・ａＢｎ）｝２・・・（数式１１）
Ｅ８＝｛ｅＡｎ／（ｃＡｎ・ａＡｎ）−ｅＢｓ／（ｃＢｓ・ａＢｓ）｝２・・・（数式１２）
Ｅ９＝｛Ｉ−（ｃＡｆ＋ｃＢｆ＋ｃＡｅ＋ｃＢｅ＋ｃＡｎ＋ｃＢｎ＋ｃＡｓ＋ｃＢｓ）｝２・・・（数式１３）
なお、親密度Ｉは、予めユーザにより設定され、データ記憶部１８に記憶されている。また、算出されたそれぞれの動作パラメータは、ユーザＩＤ及びアバターＩＤに対応させてデータ記憶部１８に記憶される。
【００５３】
次に、ステップＳ１４において算出された動作パラメータに基づいて、発言したユーザのアバター及び対話相手に決定されたユーザのアバターのそれぞれの動作を示す動作情報を作成する（ステップＳ１５）。即ち、データ記憶部１８に記憶されている動作パラメータに基づいて、例えば、アバターＡがアバターＢに視線を向ける時間、笑顔の程度及び頷く回数と、アバターＢがアバターＡに視線を向ける時間、笑顔の程度及び頷く回数を示す動作情報をそれぞれ作成する。なお、作成された動作情報は、ユーザＩＤ及びアバターＩＤに対応させてデータ記憶部１８に記憶される。
【００５４】
図６は、アバターの動作情報の一例を示す図である。図６においては、ユーザＡがアバターＡを用い、ユーザＢがアバターＢを用いてユーザＡ及びユーザＢ間でチャットを行っている場合のアバターＡ、アバターＢの動作情報の一例を示している。ここで、視線は、相手に視線を向ける時間の割合を示し、顔表情は相手に見せる笑顔の強度を示している。
また、頷きは相手に返す頷きの回数であり、発話量は、発話語数、即ち、チャットメッセージの文字数である。図６に示すように、例えば、「ｄａｔａ１」において、アバターＡの視線の値は「０．２３」、顔表情の値は「０．２７」、頷きの値は「０」、発話量は「５」であり、アバターＢの視線の値は「０．２６」、顔表情の値は「０．２３」、頷きの値は「０」、発話量は「５」となっている。また、「ｄａｔａ４」において、アバターＡの視線の値は「０．４５」、顔表情の値は「０．５５」、頷きの値は「１．５」、発話量は「３０」であり、アバターＢの視線の値は「０．５１」、顔表情の値は「０．４８」、頷きの値は「１．５」、発話量は「３０」となっている。従って、発話量の増加に伴って視線、笑顔及び頷きの値が増加しており、非言語表現の各要素間において正の相関関係が成立している。また、アバターＡの非言語表現は、発話量の増加に伴い各要素の合計値が増加しており、アバターＡの非言語表現の表出量が平衡状態を保っている。同様に、アバターＢの非言語表現においても、非言語表現の表出量が平衡状態を保っている。
【００５５】
次に、データ記憶部１８に記憶されている動作情報をチャットを行っているクライアントに送信する（ステップＳ１６）。例えば、ユーザＡとユーザＢとの間でチャットを行っている場合には、クライアント６ａ及びクライアント６ｂのそれぞれに対して、アバターＡの動作情報及びアバターＢの動作情報を送信する。ここで、動作情報は、アバターＩＤと共に、例えば、アバターＡの動作情報はアバターＡのアバターＩＤと共に、アバターＢの動作情報はアバターＢのアバターＩＤと共に送信される。
【００５６】
次に、ステップＳ１３において対話相手に決定されたアバターのユーザが用いるクライアントに対して、データ記憶部１８に記憶されているテキスト情報を送信する（ステップＳ１７）。例えば、ステップＳ１３においてアバターＢがアバターＡの対話相手に決定された場合には、アバターＢを用いているユーザＢのクライアント６ｂに対してテキスト情報を送信する。
【００５７】
クライアント６ａにおいては、サーバ２からネットワーク４を介して送信されたアバターＡの動作情報及びアバターＢの動作情報を通信制御部２２を受信する。そして、アバターＡのアバターＩＤに対応する動作情報に基づいてアバターＡの視線、顔表情及び頷きの動作を処理して表示部２８に表示すると共に、アバターＢのアバターＩＤに対応する動作情報に基づいてアバターＢの視線、顔表情及び頷きの動作を処理して表示部２８に表示する。また、アバターの動作を表示する際に、データ記憶部２６に記憶されているユーザＡのチャットメッセージであるテキスト情報を表示部２８に表示する。
【００５８】
また、クライアント６ｂにおいては、クライアント６ａにおける場合と同様に、アバターＡ及びアバターＢの動作を処理して表示すると共に、サーバ２から送信されたテキスト情報を受信する。そして、受信されたテキスト情報に基づいてユーザＡのチャットメッセージを表示する。
【００５９】
この発明の実施の形態に係るアバター制御システムは、例えば、ユーザＡとユーザＢとがチャットを行っている場合、ユーザＡの発話量の文字数とユーザＡとユーザＢとの間の親密度に基づいてアバターの動作を示す動作パラメータを算出し、動作情報を作成している。従って、話し手と聞き手等のように予めアバターの役割を設定することなくアバターの動作を示す動作情報を作成しているため、通常の対話における場合と同様に、会話の流れに沿った自然な動きをするようにアバターの動作を制御することができる。
【００６０】
また、アバターの動作パラメータを算出する際に、予め設定されている親密度を考慮している。従って、ユーザ間の親密度を適切に反映させた動作情報を作成することができ、アバターの動作における違和感をそれほど感じさせることなくアバターの動作を自然な動きになるように制御することができる。
【００６１】
また、この発明の実施の形態に係るアバター制御システムは、通常の対話における人物間の非言語表現の各要素の関連性と人物内の非言語表現の各要素の関連性を反映した動作パラメータを算出している。従って、通常の対話における非言語表現に近く、対話の流れに沿った自然な動作をするようにアバターの動作を制御することができる。
【００６２】
なお、上述の実施の形態に係るアバター制御システムにおいては、予め設定された親密度に基づいて動作パラメータを算出しているが、親密度を調整するようにしてもよい。例えば、ユーザＡとユーザＢがアバターＡとアバターＢを用いてチャットを行っている場合、会話量、対話時間及び対話履歴の何れか一つに基づいて親密度を調整するようにしてもよい。即ち、サーバに記憶されているユーザＡの発言に基づく文字数とユーザＢの発言に基づく文字数の合計値が所定の値を超える毎に親密度の数値を大きくしてもよい。また、ユーザＡとユーザＢとの対話時間、即ち、ユーザＡとユーザＢとが対話を継続している時間が所定の時間を越える毎に親密度の数値を大きくしてもよい。更に、ユーザＡとユーザＢの過去の対話履歴、例えば、チャットを行った回数が所定の回数を越える毎に、また、累計チャット時間が所定の時間を越える毎に親密度の数値を大きくしてもよい。また、会話量、対話時間及び対話履歴を組み合わせて親密度の数値を大きくし、親密度の数値を調整するようにしてもよい。また、チャットを行っている最中にユーザが任意に親密度を調整してもよい。この場合には、チャットにおける対話状況を反映して親密度が調整されるため、対話状況に応じて自然な動作となるようにアバターの動作を制御することができる。
【００６３】
また、上述の実施の形態に係るアバター制御システムにおいては、入力部がキーボードにより構成されているが、音声認識装置により構成されていてもよい。即ち、音声認識装置を介してチャットメッセージとして音声を入力し、入力された音声に基づいて認識されたテキスト情報をサーバに送信するようにしてもよい。また、チャットメッセージを音声で入力している場合には、クライアントにおいてスピーカ等の出力部を備え、スピーカを介して音声によるチャットメッセージを出力すると共に、表示部に表示されるアバターの顔表情をスピーカを介して出力される音声に合わせて動作させてもよい。
【００６４】
また、上述の実施の形態に係るアバター制御システムにおいては、親密度及び文字数に基づいてアバターの動作を示す動作パラメータを算出しているが、アバター間の距離（座標上の距離）を考慮するようにしてもよい。例えば、アバター位置情報により示されるアバターＡとアバターＢの距離が離れている場合には、アバターの動作が大きくなるように動作情報を作成してアバターの動作を制御するようにしてもよい。
【００６５】
また、上述の実施の形態に係るアバター制御システムにおいては、視線、顔表情及び頷きの動作を示す動作パラメータをそれぞれ算出しているが、何れかの動作を重視するようにしてもよい。例えば、視線を重視するモード、顔表情を重視するモード、頷きを重視するモードを設け、何れかのモードを選択してチャットを行うことができるようにしてもよい。また、選択したモードをチャットを行っている最中に変更することができるようにしてもよい。この場合には、ユーザの好みを的確に反映してアバターの動作を制御することができる。
【００６６】
また、サーバにおいて特定のキーワードに対応するアバターの動作を示す動作辞書を作成し、所定のキーワードが入力された場合には、所定の動作を示す動作情報を作成するようにしてもよい。例えば、チャットメッセージに「涙」等という文字が含まれている場合には、アバターの顔表情が泣いている表情になることを示す動作情報を作成するようにしてもよい。
【００６７】
また、上述の実施の形態に係るアバター制御システムにおいては、チャットの際のアバターの動作を制御する場合を例としているが、チャット以外のコミュニケーションにおけるアバターの動作を制御するようにしてもよい。
【図面の簡単な説明】
【００６８】
【図１】この発明の実施の形態に係るアバター制御システムのブロック構成図である。
【図２】この発明の実施の形態に係るサーバのブロック構成図である。
【図３】この発明の実施の形態に係るクライアントのブロック構成図である。
【図４】この発明の実施の形態に係るアバターの制御処理を説明するためのフローチャートである。
【図５】この発明の実施の形態に係る非言語表現の各要素の関連性を説明するための図である。
【図６】この発明の実施の形態に係る動作情報の一例を示す図である。
【符号の説明】
【００６９】
２…サーバ、４…ネットワーク、６ａ、６ｂ、６ｃ…クライアント、１０…データ制御部、１２…通信制御部、１４…ユーザ情報記憶部、１６…アバター情報記憶部、１８…データ記憶部、２０…データ記憶部、２２…通信制御部、２４…キーボード、２６…データ記憶部、２８…表示部。
【図１】
2005202909.tif 000003
【図２】
2005202909.tif 000004
【図３】
2005202909.tif 000005
【図４】
2005202909.tif 000006
【図５】
2005202909.tif 000007
【図６】
2005202909.tif 000008