(57)【特許請求の範囲】
【請求項１】
ユーザのコミュニケーションを支援するシステムであって、
ユーザごとに、当該ユーザがコミュニケーションのために利用する少なくとも１つの言語であるコミュニケーション手段のそれぞれを、当該ユーザが当該コミュニケーション手段を利用するスキルの高さを示すスコアに対応付けて記憶している記憶装置と、
第１のユーザおよび第２のユーザが共通して利用することができる少なくとも１つのコミュニケーション手段を前記記憶装置から検索する検索部と、
検索したそれぞれの前記コミュニケーション手段についての前記第１および第２のユーザの前記スコアを前記記憶装置から読み出して、読み出したそれぞれの前記スコアに基づいて、前記第１および第２のユーザのコミュニケーションに利用するべきコミュニケーション手段を選択する選択部と
を備えるシステム。
【請求項２】
前記記憶装置は、あるコミュニケーション手段を他のコミュニケーション手段に変換する変換手段ごとに、当該変換手段による変換の精度を更に記憶しており、
前記検索部は、さらに、前記第１のユーザが利用する第１のコミュニケーション手段の中から、何れかの前記変換手段によって、前記第２のユーザが利用する何れかの第２のコミュニケーション手段に一致する前記第１のコミュニケーション手段を検索し、
前記選択部は、検索された前記第１のコミュニケーション手段に対応する前記スコア、当該第１のコミュニケーション手段を当該第２のコミュニケーション手段に一致させる前記変換手段に対応する前記変換の精度、当該第２のコミュニケーション手段に対応する前記スコア、を、前記記憶装置から読み出して、読み出したそれぞれの前記スコアおよび前記変換の精度に更に基づいて、前記第１および第２のユーザのコミュニケーションに利用するべきコミュニケーション手段を選択する、請求項１に記載のシステム。
【請求項３】
前記検索部は、前記第１のユーザが利用するそれぞれの前記第１のコミュニケーション手段を、少なくとも１つの前記変換手段により、前記第２のユーザが利用する何れかの前記第２のコミュニケーションに変換する変換の経路を複数検索し、
前記選択部は、さらに、検索されたそれぞれの前記変換の経路について、変換前の前記第１のコミュニケーション手段に対応する前記スコア、当該変換の経路上のそれぞれの変換手段に対応する前記変換の精度、および、変換後の前記第２のコミュニケーション手段に対応する前記スコアに更に基づいて、前記第１および第２のユーザの間のコミュニケーションの成立性を判断し、当該成立性の最も高い経路を選択する、請求項２に記載のシステム。
【請求項４】
前記スコアおよび前記変換の精度のそれぞれは、共に、数値０から予め定められた定数値までの間の値をとり、
前記選択部は、検索されたそれぞれの前記変換の経路について、変換前の前記第１のコミュニケーション手段に対応する前記スコア、当該変換の経路上のそれぞれの変換手段に対応する前記変換の精度、および、変換後の前記第２のコミュニケーション手段に対応する前記スコアの積を算出して、算出した当該積に基づいて前記第１および第２のユーザの間のコミュニケーションの成立性を判断する、請求項３に記載のシステム。
【請求項５】
前記変換手段は、予め準備された機械翻訳システムである、請求項２に記載のシステム。
【請求項６】
それぞれの前記コミュニケーション手段は、さらに、送受信するデータがテキストデータおよび音声データの何れであるかの種別を示し、
前記変換手段は、さらに、予め準備された音声合成システム又は音声認識システムを含む、請求項５に記載のシステム。
【請求項７】
前記記憶装置は、ユーザごとに、それぞれのコミュニケーション手段を情報の発信に利用するスキルの高さを示す発信スコア、および、それぞれのコミュニケーション手段を情報の受信に利用するスキルの高さを示す受信スコアを記憶しており、
前記選択部は、検索したそれぞれの前記コミュニケーション手段について、前記第１のユーザの前記発信スコアおよび前記第２のユーザの前記受信スコアの積に基づくコミュニケーションの成立性である第１成立性、および、前記第１のユーザの前記受信スコアおよび前記第２のユーザの前記発信スコアの積に基づくコミュニケーションの成立性である第２成立性のそれぞれを算出し、第１成立性の最大値および第２成立性の最大値のうち何れか大きくない方の値を、当該コミュニケーション手段によるコミュニケーションの成立性と判断する、請求項４に記載のシステム。
【請求項８】
前記選択部は、検索された前記第１および第２のコミュニケーション手段について、対応するそれぞれのスコアの積がより高い場合に当該積がより低い場合よりもコミュニケーションの成立性をより高く評価すると共に、それぞれのスコアの差がより小さい場合にそれぞれのスコアの差がより多い場合よりも当該成立性をより高く評価する、請求項４に記載のシステム。
【請求項９】
前記記憶装置は、さらに、ユーザごとに、それぞれのコミュニケーション手段に対応付けて、当該コミュニケーション手段を優先して使用する優先度を記憶しており、
前記選択部は、検索された前記第１および第２のコミュニケーション手段について、前記第１および第２のコミュニケーション手段に対応するそれぞれの前記スコアを、前記第１および第２のコミュニケーション手段に対応するそれぞれの前記優先度で重み付けしたスコアに基づいて、コミュニケーションの成立性を判断する、請求項４に記載のシステム。
【請求項１０】
それぞれの前記ユーザを仮想世界において表すアバターを表示する表示部を更に備え、
前記表示部は、前記仮想世界において前記第１のユーザのアバターの視界に前記第２のユーザのアバターが含まれることを条件に、前記第１のユーザのアバターの視界を示す画面に、前記第２のユーザのアバターを、前記コミュニケーションの成立性を識別可能な形態で表示する、請求項１に記載のシステム。
【請求項１１】
コンピュータによって、ユーザのコミュニケーションを支援する方法であって、
前記コンピュータは、ユーザごとに、当該ユーザがコミュニケーションのために利用する少なくとも１つの言語であるコミュニケーション手段のそれぞれを、当該ユーザが当該コミュニケーション手段を利用するスキルの高さを示すスコアに対応付けて記憶している記憶装置を有し、
第１のユーザおよび第２のユーザが共通して利用することができる少なくとも１つのコミュニケーション手段を前記記憶装置から検索するステップと、
検索したそれぞれの前記コミュニケーション手段についての前記第１および第２のユーザの前記スコアを前記記憶装置から読み出して、読み出したそれぞれの前記スコアに基づいて、前記第１および第２のユーザのコミュニケーションに利用するべきコミュニケーション手段を選択するステップと
を備える方法。
【請求項１２】
コンピュータを、請求項１から１０のいずれか１項に記載のシステムとして機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザのコミュニケーションを支援する技術に関する。特に、本発明は、コミュニケーションに利用するべきコミュニケーション手段を選択する技術に関する。
【背景技術】
【０００２】
近年、機械翻訳技術、音声認識技術または音声合成技術などの、自然言語処理技術が開発されて、実用化されてきている。一方で、インターネットなどの通信ネットワークの普及により、世界中の様々な人々が様々な形式でコミュニケーションを行うようになってきている。例えば、電子メールまたはチャットなどのテキストデータによるコミュニケーションのほか、ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）などの音声データによるコミュニケーションが行われている。
仮想空間に関する背景的技術については例えば特許文献１を参照されたい。
【特許文献１】特開２００１−３２１５７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
近年、インターネット上に仮想的な世界を構築する試みが広がっている。例えば、ユーザは自分の分身であるアバターをその世界の中で操作する。アバターは例えば３Ｄ画像として画面に表示される。他のユーザの分身であるアバターも画面に表示される。自分のアバターが他人のアバターと近づくとテキストや音声によるコミュニケーションを開始できる。
【０００４】
しかしながら、アバターの外観はユーザ自身の外観とは異なるので、アバターの外観からそのアバターの人種、居住地または性格などを判断することは難しい。例えば、あるアバターに話しかけようと思っても、そのアバターがどのような言語を話すことができるのか判別するのは難しい。また、機械翻訳技術を利用すればコミュニケーションが成立するのかどうか、成立するのであればどのような翻訳技術の利用が最適なのか、などを判別するのは一層難しい。このため、ユーザはコミュニケーションを開始することに躊躇し、コミュニケーションが阻害されるおそれがある。
【０００５】
そこで本発明は、上記の課題を解決することのできるシステム、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の第１の形態においては、ユーザのコミュニケーションを支援するシステムであって、ユーザごとに、当該ユーザがコミュニケーションのために利用する少なくとも１つの言語であるコミュニケーション手段のそれぞれを、当該ユーザが当該コミュニケーション手段を利用するスキルの高さを示すスコアに対応付けて記憶している記憶装置と、第１のユーザおよび第２のユーザが共通して利用することができる少なくとも１つのコミュニケーション手段を前記記憶装置から検索する検索部と、検索したそれぞれの前記コミュニケーション手段についての前記第１および第２のユーザの前記スコアを前記記憶装置から読み出して、読み出したそれぞれの前記スコアに基づいて、前記第１および第２のユーザのコミュニケーションに利用するべきコミュニケーション手段を選択する選択部とを備えるシステムを提供する。また、当該システムとしてコンピュータを機能させるプログラムおよび当該システムによりコミュニケーションを支援させる方法を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための最良の形態】
【０００７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、本実施形態に係る情報システム１０の全体構成を示す。情報システム１０は、クライアント・コンピュータ１００と、サーバ・コンピュータ２００とを備える。サーバ・コンピュータ２００は、基本的なハードウェアとして、例えばハードディスクドライブなどの記憶装置２０４と、例えばネットワーク・インターフェイス・カードなどの通信インターフェイス２０６とを備える。そして、サーバ・コンピュータ２００は、記憶装置２０４から読み出したプログラムをＣＰＵにより実行することで、仮想世界サーバ２０２として機能する。仮想世界サーバ２０２は、仮想世界に含まれる様々なオブジェクト、例えば、ユーザの分身であるアバター、アバターが身につける衣類、仮想的な建造物、または、背景などについて、それらの立体形状を示すデータをクライアント・コンピュータ１００に提供する。
【０００９】
クライアント・コンピュータ１００は、基本的なハードウェアとして、例えばハードディスクドライブなどの記憶装置１０４と、例えばネットワーク・インターフェイス・カードなどの通信インターフェイス１０６とを備える。そして、クライアント・コンピュータ１００は、記憶装置１０４から読み出したプログラムをＣＰＵにより実行することで、仮想世界ブラウザ１０２として機能する。仮想世界ブラウザ１０２は、通信回線を経由してサーバ・コンピュータ２００から取得した立体形状のデータを２次元の画像にレンダリングして、ユーザに表示する。また、仮想世界ブラウザ１０２は、サーバ・コンピュータ２００と通信し、ユーザの入力に応じて、サーバ・コンピュータ２００に格納された立体形状のデータを更新する。
【００１０】
本実施形態に係る情報システム１０は、このような仮想世界を実現するシステムにおいて、ユーザ間のコミュニケーションを支援する様々な仕組みを提供することを目的とする。以下、具体的に説明をすすめてゆく。
【００１１】
図２は、本実施形態に係る仮想世界ブラウザ１０２により表示される画面の一例を示す。仮想世界ブラウザ１０２は、ユーザに対し、そのユーザの仮想世界における分身であるアバターの視点から見た画像を表示する。この画面において、アバターは表示オブジェクトの一例であり、例えば人型の画像として表示されている。画面手前側のアバター２０は、クライアント・コンピュータ１００のユーザ自身により操作されるアバターを示す。
【００１２】
これに対し、画面奥側のアバター２２およびアバター２４のそれぞれは、他のユーザに対応付けられており、当該他のユーザにより操作されるアバターを示す。このように、アバターはその立体形状をレンダリングした２次元画像として画面に表示される。そしてアバターがユーザの操作によって動作すると、そのアバターの立体形状も変化し、従ってこの２次元画像も変化する。この結果、仮想世界ブラウザ１０２に表示された画面も変更される。さらに、コミュニケーションに利用されるテキストデータは、例えば画面右下のサブ・ウィンドウに表示されてよい。
【００１３】
図３は、本実施形態に係るクライアント・コンピュータ１００およびサーバ・コンピュータ２００の機能構成を示す。サーバ・コンピュータ２００は、完全３ＤモデルＤＢ２１０と、全ユーザ情報ＤＢ２２０と、検索部２３０と、算出部２４０と、選択部２５０と、サーバ情報更新部２６０とを有する。完全３ＤモデルＤＢ２１０および全ユーザ情報ＤＢ２２０は、記憶装置２０４によって実現される。検索部２３０、算出部２４０、選択部２５０およびサーバ情報更新部２６０は、仮想世界サーバ２０２によって実現される。
【００１４】
完全３ＤモデルＤＢ２１０は、仮想世界の各オブジェクトの立体形状を示すデータを含む。全ユーザ情報ＤＢ２２０は、仮想世界の各アバターの属性を含む。アバターの属性は、そのアバターを操作するユーザ自身の属性であってもよいし、そのユーザがそのアバターのために仮想的に設定した属性であってもよい。
【００１５】
あるユーザの属性とは、例えば、そのユーザが利用する少なくとも１つのコミュニケーション手段を示してよい。その場合には、全ユーザ情報ＤＢ２２０は、属性として、そのユーザがそのコミュニケーション手段を利用するスキルの高さを示すスコアを更に記憶していてよい。
【００１６】
検索部２３０は、第１のユーザおよび第２のユーザが共通して利用することができる少なくとも１つのコミュニケーション手段を、全ユーザ情報ＤＢ２２０から検索する。そして、算出部２４０は、検索したそれぞれのコミュニケーション手段についての第１および第２のユーザのスコアを全ユーザ情報ＤＢ２２０から読み出す。
【００１７】
そして、算出部２４０は、読み出したそれぞれのスコアに基づいて、第１および第２のアバターの間の関係性の強さを算出する。例えば、読み出したスコアの積が基準値よりも大きければ、当該積が基準値より小さい場合よりも、関係性の強さは強い。算出された関係性の強さは、全ユーザ情報ＤＢ２２０に記憶される。
【００１８】
また、選択部２５０は、検索部２３０が検索したそれぞれのコミュニケーション手段についての第１および第２のユーザのスコアを全ユーザ情報ＤＢ２２０から読み出す。選択部２５０は、読み出したそれぞれのスコアに基づいて、第１および第２のユーザのコミュニケーションに利用するべきコミュニケーション手段を選択する。例えば、第１および第２のユーザのスコアの積が最も高いコミュニケーション手段が選択される。選択されたコミュニケーション手段は全ユーザ情報ＤＢ２２０に記憶される。
【００１９】
サーバ情報更新部２６０は、完全３ＤモデルＤＢ２１０および全ユーザ情報ＤＢ２２０が更新されると、その更新の差分をクライアント・コンピュータ１００に送信する。また、サーバ情報更新部２６０は、部分３ＤモデルＤＢ１１０および本人ユーザ情報ＤＢ１２０の更新の差分をクライアント・コンピュータ１００から受信すると、その更新の差分により完全３ＤモデルＤＢ２１０および全ユーザ情報ＤＢ２２０を更新する。このように、ユーザの操作に基づくアバターの変化は、完全３ＤモデルＤＢ２１０および全ユーザ情報ＤＢ２２０に順次反映されてゆくと共に、他のユーザの操作に基づくアバターの変化は、部分３ＤモデルＤＢ１１０および本人ユーザ情報ＤＢ１２０に順次反映されてゆく。
【００２０】
クライアント・コンピュータ１００は、部分３ＤモデルＤＢ１１０と、ローカル情報更新部１１５と、本人ユーザ情報ＤＢ１２０と、３Ｄ加工部１３０と、２Ｄレンダリング部１４０と、表示部１５０とを有する。部分３ＤモデルＤＢ１１０は、完全３ＤモデルＤＢ２１０の一部分をサーバ・コンピュータ２００から取得して記憶している。記憶している当該一部分は、例えば、クライアント・コンピュータ１００のユーザに対応するアバターの視界に入っている部分を含む。即ち例えば、ローカル情報更新部１１５は、そのアバターの視界（例えば視線の方向または視野の広さ）が変更される毎に、サーバ・コンピュータ２００に要求して完全３ＤモデルＤＢ２１０のうち必要部分を取得し、部分３ＤモデルＤＢ１１０に格納する。
【００２１】
本人ユーザ情報ＤＢ１２０は、クライアント・コンピュータ１００のユーザの属性を記憶している。この属性が更新されると、ローカル情報更新部１１５は、この更新の差分をサーバ・コンピュータ２００に送信する。その差分によって、サーバ・コンピュータ２００の全ユーザ情報ＤＢ２２０が更新される。
【００２２】
３Ｄ加工部１３０は、例えば、クライアント・コンピュータ１００のユーザにより操作されるアバターの向きが変更された場合、そのアバターの視界にあるオブジェクトが変化した場合、あるいは定期的に動作する。そして、３Ｄ加工部１３０は、部分３ＤモデルＤＢ１１０に記憶されたデータを、サーバ・コンピュータ２００から取得した関係性の強さに基づいて加工する。例えば、クライアント・コンピュータ１００のユーザのアバターの視界に、他のユーザのアバターが含まれている場合には、当該他のユーザのアバターの立体形状が部分３ＤモデルＤＢ１１０に記憶されている。
【００２３】
そして、３Ｄ加工部１３０は、クライアント・コンピュータ１００のユーザのアバターと当該他のあるアバターとの関係性の強さを示す指標値を、ローカル情報更新部１１５を介して全ユーザ情報ＤＢ２２０から読み出す。３Ｄ加工部１３０は、読み出した指標値が示す関係性の強さが基準よりも強いことを条件に、当該他のアバターの立体形状を、当該関係性を識別可能な形態に変更する。さらに、３Ｄ加工部１３０は、当該他のアバターの色彩を変更してもよいし、当該他のアバターの動作を変更してもよい。この変更は、部分３ＤモデルＤＢ１１０のみに局所的に反映されて、完全３ＤモデルＤＢ２１０には反映されない。
【００２４】
そして、２Ｄレンダリング部１４０は、部分３ＤモデルＤＢ１１０から読み出され、３Ｄ加工部１３０により加工されたデータに基づいて、アバターの視界にある各オブジェクトを当該アバターの視点を基準としてレンダリングして、２次元画像を生成する。例えば、２Ｄレンダリング部１４０は、クライアント・コンピュータ１００のユーザのアバターの視界に他のアバターが含まれていれば、当該アバターの形状・動作または色彩を、関係性の強さを識別可能な形態に変更した２次元画像を生成する。生成された画像は、表示部１５０により表示される。
【００２５】
図４は、本実施形態に係る部分３ＤモデルＤＢ１１０が記憶するデータの構造の一例を示す。部分３ＤモデルＤＢ１１０は、仮想世界のうち表示部１５０による表示に必要な部分の立体形状を示すデータを記憶している。例えば、部分３ＤモデルＤＢ１１０は、仮想世界のうち、クライアント・コンピュータ１００のユーザに対応するアバターの視界に含まれるそれぞれの表示オブジェクトについて、その表示オブジェクトの情報を記憶している。
【００２６】
表示オブジェクトとは、例えば他のユーザのアバターである。部分３ＤモデルＤＢ１１０は、他のそれぞれのユーザのアバターに対応付けて、そのアバターのＩＤ、そのアバターの仮想世界における位置、そのアバターに備わった各コンポーネント、そのアバターの体の向き、および、そのアバターの視線の向きを記憶している。
【００２７】
具体的には、ＩＤが１のアバターについて、そのアバターの仮想世界における位置は（５Ｆ２１，１Ｅ３Ａ，００Ａ０）という座標により定まる。ここでは位置の座標を１６進数の３次元座標により表現したが、その座標を示すデータの具体的構造についてはこれに限定されない。
【００２８】
また、そのアバターは、頭、衣類、手および足のコンポーネントを備える。一例として頭のコンポーネントの識別情報は３２３５３である。このコンポーネントの立体形状などの更なる詳細を示すデータは、部分３ＤモデルＤＢ１１０に記憶されていてもよいし、完全３ＤモデルＤＢ２１０その他のデータベースに記憶されている。このデータについても、２Ｄレンダリング部１４０により読み出されて２次元画像としてレンダリングされてよい。
【００２９】
また、そのアバターの体の向きの法線ベクトルは（Ｅ０，１Ｂ，０３）であり、視線の向きの法線ベクトルは（Ｅ０，１Ｂ，０３）である。ここでは体および視線の向きを１６進数の３次元ベクトルによって表現したが、体および視線の向きを示すデータの具体的構造についてはこれに限定されない。
【００３０】
これに加えて、部分３ＤモデルＤＢ１１０は、アバターの視界に入っているオブジェクトであれば、土地または空などの環境に関するオブジェクトについて、その立体形状を示すデータを記憶していてよい。そのほかにも、部分３ＤモデルＤＢ１１０は、仮想世界に含まれる各種オブジェクトについて、そのオブジェクトの立体形状を示すデータを記憶していてよい。
【００３１】
図５は、本実施形態に係る情報システム１０が順次表示を変更する処理のフローチャートを示す。ローカル情報更新部１１５およびサーバ情報更新部２６０は、仮想世界に参加している何れかのユーザが当該ユーザのアバターを操作する毎に、あるいは、予め定められた頻度で定期的に、以下のように動作する。
【００３２】
まず、ローカル情報更新部１１５およびサーバ情報更新部２６０は、クライアント・コンピュータ１００およびサーバ・コンピュータ２００間でユーザ情報（例えば活動履歴などの属性）を同期させる（Ｓ５００）。例えば、ローカル情報更新部１１５は、本人ユーザ情報ＤＢ１２０が変更されると、その変更の差分をサーバ情報更新部２６０に通知する。これに応じて、サーバ情報更新部２６０は、通知を受けたその差分により全ユーザ情報ＤＢ２２０を更新する。
【００３３】
次に、ローカル情報更新部１１５およびサーバ情報更新部２６０は、クライアント・コンピュータ１００およびサーバ・コンピュータ２００間で３Ｄモデルを同期させる（Ｓ５１０）。例えば、ローカル情報更新部１１５は、クライアント・コンピュータ１００のユーザの操作によりそのユーザのアバターの向きや形状その他の属性が変更されると、その変更の差分をサーバ情報更新部２６０に通知される。
【００３４】
この通知に応じて、サーバ情報更新部２６０は、その変更の差分により完全３ＤモデルＤＢ２１０を更新する。そして、サーバ情報更新部２６０は、更新の差分を、必要に応じて、他のそれぞれのクライアント・コンピュータに通知する。これにより、当該コンピュータにおいては当該該アバターを視界に含む他のアバターの視野を示す画像が変更される。
【００３５】
また、この通知に応じて、クライアント・コンピュータ１００のユーザのアバターの視界が変更された場合には、サーバ情報更新部２６０は、その視界に新たに含まれることとなったオブジェクトの立体形状を示すデータを完全３ＤモデルＤＢ２１０から読み出して、ローカル情報更新部１１５に返信する。ローカル情報更新部１１５は、受け取ったそのデータにより部分３ＤモデルＤＢ１１０を更新する。
【００３６】
以上の同期が終了すると、仮想世界サーバ２０２は、変更後のデータに基づいて、それぞれのアバターと他のそれぞれのアバターとの間の関係性の強さを示す指標値を算出する（Ｓ５２０）。仮想世界サーバ２０２がある第１ユーザの第１アバターと他の第２ユーザの第２アバターとの関係性の強さを判断する具体例について、図６−１２を参照して説明する。
【００３７】
図６は、Ｓ５２０における処理の詳細を示す。まず、検索部２３０は、第１アバターの活動履歴および第２ユーザの第２アバターの活動履歴を全ユーザ情報ＤＢ２２０から検索する。活動履歴の一例を図７に示す。
【００３８】
図７は、本実施形態に係る全ユーザ情報ＤＢ２２０が記憶する活動履歴の具体例を示す。全ユーザ情報ＤＢ２２０は、ユーザごとに、そのユーザまたはそのアバターの属性の一例として、そのアバターの活動履歴を記憶している。
【００３９】
具体的には、全ユーザ情報ＤＢ２２０は、ユーザごとに、ユーザＩＤおよびユーザ名などの基本的情報と共に、そのユーザの活動履歴を記憶している。活動履歴は、活動時間、活動場所および活動内容を示す。活動時間は、例えば時刻である。これに代えて、または、これに加えて、活動時間とは、例えば何時から何時までといった時間の幅、または、夜間、昼間または朝などの時間帯を示してよい。
【００４０】
活動場所は、例えば、仮想世界における位置を示す座標である。これに代えて、または、これに加えて、活動場所は、仮想世界におけるコミュニティの名前、または、仮想世界における不動産の名前（例えば展示場、美術館、遊園地、博物館、百貨店またはあるアバターの所有する自宅など）であってよい。
【００４１】
活動内容は、例えば、移動から到着、コミュニティへの参加、または、商品の購入などのアバターの行動を示す。これに代えて、または、これに加えて、活動内容は、発言という活動による発言の内容を示してもよいし、ユーザが仮想世界自体またはその中の特定のコミュニティにログインまたはログアウトしたということであってもよい。
【００４２】
さらに、全ユーザ情報ＤＢ２２０は、ユーザごとにそのユーザに付与された認定ポイントを記憶している。認定ポイントは、そのユーザのアバターが予め定められた活動を行うことによって与えられるポイントの累積値を示す。
【００４３】
ここでいう予め定められた活動とは、例えば、ある第１アバターが他の第２アバターに対し行う有益な情報提供などの良い活動をいう。その場合、第２アバターの意志で第１アバターの認定ポイントが加算される。
【００４４】
反対に、予め定められた活動とは、例えば、ある第１アバターが他の第２アバターに対し行う、約束違反などの悪い活動をいう。その場合、第２アバターの意志で第１アバターの認定ポイントが減算される。
【００４５】
また、認定ポイントは、アクセシビィティまたはオープンコミュニティ活動などに応じて、仮想世界または特定コミュニティの運営管理者によって付加されてもよい。さらに、認定ポイントの不正利用を防ぐために、一度の活動で加減算できるポイントの上限数は予め定められていてもよい。
【００４６】
また、以上のような活動履歴は全ユーザについて集計されて、全ユーザ情報ＤＢ２２０に記憶される。その一例を図８に示す。
図８は、本実施形態に係る全ユーザ情報ＤＢ２２０が記憶する統計情報の一例を示す。全ユーザ情報ＤＢ２２０は、仮想世界の全アバターの活動履歴を集計した統計情報を記憶している。例えば、全ユーザ情報ＤＢ２２０は、少なくとも何れか１つのアバターが行った活動のそれぞれについて、その活動がその仮想世界で行われた合計の回数を記憶している。さらに、全ユーザ情報ＤＢ２２０は、それぞれの活動について、その活動が過去の１ヶ月間で行われた合計の回数を記憶していてもよい。
【００４７】
また、活動回数に代えて、全ユーザ情報ＤＢ２２０は、活動頻度、即ち、活動回数を観測期間で割り算した値を記憶していてもよい。これに加えて、または、これに代えて、全ユーザ情報ＤＢ２２０は、仮想世界の全てのユーザではなく、仮想世界のあるコミュニティに所属するユーザのみについて集計した活動回数を記憶してもよい。
【００４８】
図６の説明に戻る。次に、算出部２４０は、検索した活動履歴に基づいて、第１および第２のアバターの間の関係性の強さを示す指標値を算出する（Ｓ６１０）。その算出方法の具体例を以下に示す。
【００４９】
まず、活動Ｘが行われる確率をＰ（Ｘ）とおく。また、第１アバターをアバターＡとし、第２アバターをアバターＢとする。そして、あるアバターＡが活動Ｘを行う確率をＰ（Ｘ｜Ａ）と表現する。ここで、活動Ｘを観測したとき、それがアバターＡによるものである確率は、以下の式（１）のように計算される。
【数１】
0005164061.tif 000002
【００５０】
また、仮想世界をブラウズしていてたまたま出会ったアバターがアバターＡである確率を、事前確率Ｐ（Ａ）とする。すると、その事前確率Ｐ（Ａ）に対して、活動Ｘを観測したことによる重みを掛け合わせた事後確率Ｐ（Ａ｜Ｘ）は、活動ＸとアバターＡの関係の強さを表している。
【００５１】
たとえば、どんなアバターも均等に活動Ｘを行うなら、Ｐ（Ｘ｜Ａ）＝Ｐ（Ｘ）なので、左辺の事後確率Ｐ（Ａ｜Ｘ）は事前確率Ｐ（Ａ）と等しい（活動Ｘにアバターを区別する情報は無い）。アバターＡがほとんど活動Ｘを行わないならば、Ｐ（Ｘ｜Ａ）がほぼ０なので、式（１）の値はほぼ０に等しい。
【００５２】
ほとんどアバターＡのみがいつも活動Ｘをするならば、Ｐ（Ｘ｜Ａ）の値はほぼ１に等しく、かつ、Ｐ（Ｘ）＝Ｐ（Ａ）なので、式（１）の値はほぼ１に等しい。なお、活動Ｘが行われる確率は、仮想世界に含まれる各アバターをアバターａとして、以下の式（２）により表される。
【数２】
0005164061.tif 000003
【００５３】
尤度Ｐ（Ｘ｜ａ）は、観測により決定される。事前確率Ｐ（ａ）についても、観測により決定されてもよいが、近似的に、仮想世界に含まれるアバターの総数の逆数としてもよい。本実施形態においては、図８を参照して説明した、全ユーザ情報ＤＢ２２０に記憶された活動の合計回数を、各活動ＸについてのＰ（Ｘ）として用いてよい。
【００５４】
さて、活動Ｘ、Ｙ、…のそれぞれに対応する事後確率Ｐ（Ａ｜Ｘ）、Ｐ（Ａ｜Ｙ）、…を要素とするベクトルｖＡをアバターＡの属性とすると、アバターＡおよびアバターＢの間における活動履歴の相関は以下の式（３）のように表される。
【数３】
0005164061.tif 000004
【００５５】
ここで、センタードットはベクトルの内積を表す。
この式（３）の値は、アバターＡの活動履歴およびアバターＢの活動履歴とが共通の活動履歴をより多く含む場合に、当該共通の活動履歴がより少ない場合と比較して、より大きい値をとる。したがって、算出部２４０は、この式（３）の値を指標値として算出すれば、その指標値は、第１アバターおよび第２アバターの間における関係性の強さを示すことができる。
【００５６】
また、式（１）の右辺においてＰ（Ｘ）が分数の分母にあることから、式（３）の右辺の算出に用いられるベクトルの各要素は、その要素が示す活動の頻度が大きいほど小さくなる。この結果、その要素がその内積の値に寄与する程度も小さくなる。従って、この指標値は、第１または第アバターの共通の活動履歴に、他の各アバターにより行われた頻度のより高い活動が含まれる場合と比較して、他の各アバターにより行われた頻度のより低い活動が含まれる場合に、より大きい値を採る。このため、算出部２４０は、第１および第２アバターの活動履歴がより珍しい活動を共有する場合に、第１および第２アバターの関係性がより強いものとして評価することができる。
【００５７】
他の例として、算出部２４０は、各アバターに対応する認定ポイントに基づいて、第１および第２アバターの間の関係性の強さを示す指標値を算出してよい。例えば、算出部２４０は、第１アバターに対応する認定ポイントと、第２アバターに対応する認定ポイントとの差分がより小さい場合に、当該差分がより大きい場合と比較して、関係性がより強いことを示す指標値を算出してよい。この指標値によれば、モラルの高さが類似しており、かつ、仮想世界における活動の活発さが類似しているアバターの組を、関係性がより強いアバターの組として判断できる。
【００５８】
更に他の例として、全ユーザ情報ＤＢ２２０が、それぞれのアバターの属性としてそのアバターまたは対応するユーザが興味を持っている事項の項目を記憶している場合において、算出部２４０は、第１アバターおよび第２アバターの間におけるその項目の相関に基づいて、関係性の強さを示す指標値を算出してよい。指標値を算出する具体的な方法は、仮想世界の設計その他に依存して異なってよいし、上記のような複数の方法を組み合わせた方法であってもよい。
【００５９】
図６の説明に戻る。次に、検索部２３０は、第１のユーザおよび第２のユーザが共通して利用することができる少なくとも１つのコミュニケーション手段を全ユーザ情報ＤＢ２２０から検索する。なお、仮想世界においてアバターがコミュニケーションを行うということは、そのアバターに対応するユーザがコミュニケーションを行うことと実質的に等しい場合が多いので、ここからの説明においては、「アバター」の用語に代えて「ユーザ」の用語を用いる。
【００６０】
全ユーザ情報ＤＢ２２０が記憶するコミュニケーション手段の具体例を図９に示す。
図９は、本実施形態に係る全ユーザ情報ＤＢ２２０が記憶するコミュニケーション手段の具体例を示す。全ユーザ情報ＤＢ２２０は、ユーザごとに、そのユーザのアバターのＩＤを記憶している。また、全ユーザ情報ＤＢ２２０は、ユーザごとに、そのユーザが利用する少なくとも１つのコミュニケーション手段のそれぞれを、そのユーザがそのコミュニケーション手段を利用するスキルの高さを示すスコアに対応付けて記憶している。
【００６１】
スコアには以下の２種類があってよい。即ち例えば、全ユーザ情報ＤＢ２２０は、ユーザごとに、それぞれのコミュニケーション手段を情報の発信に利用するスキルの高さを示す発信スコア、および、それぞれのコミュニケーション手段を情報の受信に利用するスキルの高さを示す受信スコアを記憶している。
【００６２】
例えば、ＩＤが１のアバターについて、そのユーザが日本語の音声を利用して情報を発信するスキルの高さは、１００％を満点として９０％である。このスキルは、即ち、そのユーザが日本語を話すスキルに相当する。
【００６３】
また、そのユーザが日本語のテキストを利用して情報を発信するスキルの高さは８０％である。このスキルは、即ち、そのユーザが日本語の文章を筆記するスキルに相当する。このように、コミュニケーション手段は、送受信するデータがテキストデータおよび音声データの何れであるかの種別を示してもよい。これに加えて、コミュニケーション手段は、ユーザが手話を用いてコミュニケーションをとるかどうかを示してもよい。
【００６４】
また、そのユーザが英語の音声を利用して情報を発信するスキルの高さは５０％である。このスキルは、即ち、そのユーザが英語を話すスキルに相当する。このように、コミュニケーション手段は、コミュニケーションのための言語の区別を示してもよい。
【００６５】
なお、スキルの高さを示すスコアは、上記の例においては、数値０から予め定められた定数値である１までの間の値を採る。これに代えて、スコアは、特に上限値を設けない数値であってよい。さらに、スコアは、ユーザ自身が自己申告して全ユーザ情報ＤＢ２２０に登録したものであってもよいし、ユーザが言語スキルの評価のための試験を受験した結果を示すものであってもよい。
【００６６】
さらに、全ユーザ情報ＤＢ２２０は、ユーザごとに、それぞれのコミュニケーション手段に対応付けて、そのコミュニケーション手段を優先して使用する優先度を記憶してもよい。例えば、全ユーザ情報ＤＢ２２０は、ユーザの指示に基づいて、格納している優先度を変更してもよい。これにより、ユーザは、例えばコミュニケーションについての特定のスキルを向上させたいなどの、ユーザの事情または好みなどを関係性の強さの評価に反映させることができる。
【００６７】
検索部２３０は、以上のようなデータ構造を有する全ユーザ情報ＤＢ２２０から、第１および第２のユーザが共通して利用することができる少なくとも１つのコミュニケーション手段を検索する。例えば図９の例において、アバターのＩＤが１のユーザおよびアバターのＩＤが２のユーザが共通して利用することができるのは、英語の音声および英語のテキストである。従って、英語の音声および英語のテキストがコミュニケーション手段として検索部２３０により検索される。
【００６８】
また、仮想世界におけるコミュニケーションは、機械翻訳などの所定の変換システムを利用して成立する場合もある。そのような場合に備えて、全ユーザ情報ＤＢ２２０は、仮想世界に備わる変換手段に関する情報を記憶している。その一例を図１０に示す。
【００６９】
図１０は、本実施形態に係る全ユーザ情報ＤＢ２２０が記憶する変換手段の一例を示す。全ユーザ情報ＤＢ２２０は、あるコミュニケーション手段を他のコミュニケーション手段に変換する変換手段ごとに、当該変換手段による変換の精度を記憶している。
【００７０】
例えば、日本語の音声合成は、仮想世界において予め準備された音声合成システムを示す。そしてそのシステムは、具体的には、日本語のテキストを日本語の音声に変換する変換手段を示し、その変換の精度は７５％である。
【００７１】
また、日本語の音声認識は、仮想世界において予め準備された音声認識システムを示す。そしてそのシステムは、具体的には、日本語の音声を日本語のテキストに変換する変換手段を示し、その変換の精度は６５％である。
【００７２】
また、日英翻訳は、日本語のテキストを英語のテキストに機械翻訳するための、予め準備された機械翻訳システムを示す。そして、その変換の精度は７０％である。
【００７３】
検索部２３０は、コミュニケーション手段のみならず変換手段についても全ユーザ情報ＤＢ２２０から検索する。その検索の処理の具体例を図１１および図１２に示す。
図１１は、アバター１がアバター２に情報を伝達する場合におけるデータ変換の経路を示す。まず、検索部２３０は、第１のユーザが利用する第１のコミュニケーション手段の中から、何れかの変換手段によって（複数の変換手段を順次利用する場合も含む）、第２のユーザが利用する何れかの第２のコミュニケーション手段に一致する、第１のコミュニケーション手段を検索する。
【００７４】
図１１の例において、第１のコミュニケーション手段である「日本語の音声」は、日本語の音声認識および日英翻訳を順次利用して、第２のコミュニケーション手段の１つである「英語のテキスト」に変換される。また、この例では、第１のコミュニケーション手段の何れもが、何らかの変換手段を利用して、何れかの第２のコミュニケーション手段に変換される。したがって、その結果、検索部２３０は、第１のユーザが利用する全ての第１のコミュニケーション手段を検索する。
【００７５】
次に、検索部２３０は、第１のユーザが利用するそれぞれの第１のコミュニケーション手段を、少なくとも１つの変換手段により、第２のユーザが利用する何れかの第２のコミュニケーション手段に変換する変換の経路を複数検索する。たとえば、「日本語の音声」を、日本語の音声認識、および、日英機械翻訳を利用して、「英語のテキスト」に変換する経路がその１つである。また、「英語の音声」を、英語の音声認識を利用して、「英語のテキスト」に変換する経路もその１つである。
【００７６】
図６の説明に戻る。次に、算出部２４０は、検索された各経路に基づいて、第１のユーザおよび第２のユーザの間のコミュニケーションの成立性を判断する。具体的には、算出部２４０は、検索されたそれぞれの変換の経路について、変換前の第１のコミュニケーション手段に対応するスコア、変換の経路上のそれぞれの変換手段に対応する変換の精度、および、変換後の第２のコミュニケーション手段に対応するスコアを、全ユーザ情報ＤＢ２２０から読み出す。
【００７７】
そして、算出部２４０は、それぞれの変換の経路について、変換前の第１のコミュニケーション手段に対応するスコア、変換の経路上のそれぞれの変換手段に対応する変換の精度、および、変換後の第２のコミュニケーション手段に対応するスコアの積を算出する。算出したスコアの積が、コミュニケーションの成立性を示す。なお、コミュニケーションの成立性は、スコアおよび変換の精度に基づけば、スコアおよび変換の精度の積として算出されることには限定されない。
【００７８】
具体例として図１１を参照すると、たとえば、「日本語の音声」を、日本語の音声認識、および、日英機械翻訳を利用して、「英語のテキスト」に変換する経路について、コミュニケーションの成立性として、第１ユーザによる日本語の音声の発信スコアである９０％、日本語の音声認識の精度である６５％、日英機械翻訳の精度である７０％、および、第２ユーザによる英語のテキストの受信スコアである８０％の積が算出される。積の値は、例えば３２．７％である。
【００７９】
他の例として、同じく図１１を参照すると、例えば、「英語の音声」を、英語の音声認識を利用して、「英語のテキスト」に変換する経路について、コミュニケーションの成立性として、第１ユーザによる英語の音声の発信スコアである５０％、英語の音声認識の精度である７０％、および、第２ユーザによる英語のテキストの受信スコアである７０％の積が算出される。積の値は、例えば２４．５％である。
【００８０】
そして、算出部２４０は、算出したコミュニケーションの成立性の最も高い経路を選択する。また、算出部２４０は、選択した経路の両端に含まれる各コミュニケーション手段を、第１および第２ユーザの間のコミュニケーションに利用するべきコミュニケーション手段として選択する。
【００８１】
また、算出部２４０は、選択した経路に基づいて、第１および第２ユーザの間の関係性の強さを示す指標値を算出する（Ｓ６４０）。例えば、コミュニケーションの成立性の最も高い経路について算出された、その経路におけるコミュニケーションの成立性それ自体が、第１および第２ユーザの間の関係性の強さを示す指標値として算出されてもよい。
【００８２】
これに代えて、関係性の強さには、第１ユーザから第２ユーザへの情報伝達のみならず、第２ユーザから第１ユーザへの情報伝達を含む、双方向のコミュニケーションが考慮されてもよい。その一例を、図１２を参照して説明する。
【００８３】
図１２は、アバター２がアバター１に情報を伝達する場合におけるデータ変換の経路を示す。図１１の例と反対に、検索部２３０は、まず、第２のユーザが利用する第２のコミュニケーション手段の中から、何れかの変換手段によって（複数の変換手段を順次利用する場合も含む）、第１のユーザが利用する何れかの第１のコミュニケーション手段に一致する、第２のコミュニケーション手段を検索する。
【００８４】
図１１の例において、第２のコミュニケーション手段である「英語のテキスト」は、英日翻訳を利用して、第１のコミュニケーション手段の１つである「日本語のテキスト」に変換される。また、この例では、アラビア語の音声を除く第２のコミュニケーション手段の何れもが、何らかの変換手段を利用して、何れかの第１のコミュニケーション手段に変換される。したがって、その結果、検索部２３０は、第２のユーザが利用するアラビア語のテキスト、英語の音声、および、英語のテキストを検索することができる。
【００８５】
次に、検索部２３０は、第２のユーザが利用するそれぞれの第２のコミュニケーション手段を、少なくとも１つの変換手段により、第１のユーザが利用する何れかの第１のコミュニケーション手段に変換する変換の経路を複数検索する。たとえば、「英語のテキスト」を、英日翻訳を利用して、「日本語のテキスト」に変換する経路がその１つである。また、「英語の音声」を、英語の音声認識および英日翻訳を順次利用して、「日本語のテキスト」に変換する経路もその１つである。
【００８６】
次に、算出部２４０は、算出部２４０は、検索されたそれぞれの変換の経路について、変換前の第２のコミュニケーション手段に対応する発信スコア、変換の経路上のそれぞれの変換手段に対応する変換の精度、および、変換後の第１のコミュニケーション手段に対応する受信スコアを、全ユーザ情報ＤＢ２２０から読み出す。
【００８７】
そして、算出部２４０は、それぞれの変換の経路について、変換前の第２のコミュニケーション手段に対応する発信スコア、変換の経路上のそれぞれの変換手段に対応する変換の精度、および、変換後の第１のコミュニケーション手段に対応する受信スコアの積を算出する。算出したスコアの積が、コミュニケーションの成立性を示す。なお、コミュニケーションの成立性は、スコアおよび変換の精度に基づけば、スコアおよび変換の精度の積として算出されることには限定されない。
【００８８】
具体例として図１２を参照すると、たとえば、「英語のテキスト」を、英日翻訳を利用して、「日本語のテキスト」に変換する経路について、コミュニケーションの成立性として、英語のテキストの発信スコアである８０％、英日翻訳の精度である７０％、および、日本語のテキストの受信スコアである９０％の積が算出される。一例としてその値は、５０．４％である。
【００８９】
また、「英語の音声」を、英語の音声認識および英日翻訳を順次利用して、「日本語のテキスト」に変換する経路について、コミュニケーションの成立性として、英語の音声の発信スコアである５０％、英語の音声認識の精度である７０％、英日翻訳の精度である７０％、および、日本語のテキストの受信スコアである９０％の積が算出される。一例としてその値は、２２．０５％である。
【００９０】
このようにして、算出部２４０は、双方向のコミュニケーションについてそのスコアの積を算出する。そのうえで、算出部２４０は、第１コミュニケーション手段および第２コミュニケーション手段のそれぞれの組について、第１ユーザの発信スコアおよび第２ユーザの受信スコアの積に基づくコミュニケーションの成立性（第１成立性）の最大値（図１１を参照されたい。）、および、第２ユーザの発信スコアおよび第１ユーザの受信スコアの積に基づくコミュニケーションの成立性（第２成立性）の最大値（図１２を参照されたい。）、のうち何れか大きくない方を、第１および第２ユーザによるコミュニケーションの成立性と判断する。
【００９１】
そして、算出部２４０は、このようにして判断された成立性に対応するコミュニケーション手段の組を選択して、そのコミュニケーション手段を利用した場合におけるコミュニケーションの成立性を上記指標値として算出する。この場合に選択されるコミュニケーション手段の組は、第１ユーザの発信、第１ユーザの受信、第２ユーザの発信、および、第２ユーザの受信、のための、合計４つのコミュニケーション手段を含む。
【００９２】
算出部２４０による上記の処理を数式を用いて以下に示す。まず、アバターＡが言語ｌを受信および送信するスキルのスコアをそれぞれＰＩＮ（Ａ，ｌ）、ＰＯＵＴ（Ａ，ｌ）とおく。これらのそれぞれは、ゼロ以上の実数の範囲の値を採る。また、値が大きいほどスキルが高いことを示す。確率値ではないので、あるユーザについて全ての言語スキルのスコアを合計しても１になるとは限らない。
【００９３】
このとき、アバターＡからアバターＢへ情報を伝達する場合に利用すべき最適な言語ｌＡ→Ｂは、以下の式（４）のように算出される。
【数４】
0005164061.tif 000005
【００９４】
ここで、Ｌは利用可能なコミュニケーション手段の全ての集合をあらわす。同様に、アバターＢからアバターＡへ情報を伝達する場合に利用すべき最適な言語ｌＢ→Ａは、以下の式（５）のように算出される。
【数５】
0005164061.tif 000006
【００９５】
この２者間でのコミュニケーションの成立性は上記いずれかの大きくない方なので、以下の式（６）のように計算できる。
【数６】
0005164061.tif 000007
【００９６】
各アバターにおいては送受信言語を一致させるようにし、または、必要に応じてアバター間に機械翻訳などを挿入して２者間で異なる言語で会話を行うとするならば、翻訳における変換の精度Ｔ（ｌ，ｌ´）を用いて、以下の式（７）により、コミュニケーションに成立性を算出することもできる。
【数７】
0005164061.tif 000008
【００９７】
ただし、各アバターにとって、ある言語に関する送信と受信の性能は同一としてＰ（Ａ，ｌ）で表現した。また、機械翻訳の性能も両方向で同一とした。
【００９８】
以上の例に加えて、算出部２４０は、第１ユーザおよび第２ユーザの間の一方向のコミュニケーション、および他方向のコミュニケーションの双方がバランスする場合に、コミュニケーションの成立性がより高いと判断してもよい。例えば、算出部２４０は、第１および第２のコミュニケーション手段について、それぞれのスコアの差がより小さい場合にそれぞれのスコアの差がより多い場合よりも当該成立性をより高く評価してよい。
【００９９】
さらに他の例として、算出部２４０は、第１および第２のコミュニケーション手段について、第１および第２のコミュニケーション手段に対応するそれぞれのスコアを、前記第１および第２のコミュニケーション手段に対応するそれぞれの優先度で重み付けしたスコアに基づいて、コミュニケーションの成立性を判断してもよい。これにより、使用すべきコミュニケーション手段にユーザの好みを反映できるので、ユーザ間の適切なコミュニケーションを一層促進できる。
【０１００】
以上により図６−１２の説明を終了し、図５の説明に戻る。次に、仮想世界ブラウザ１０２は、算出または更新された指標値に基づいて、第２アバターを示す表示オブジェクトを、関係性の強さを識別可能な形態で表示する（Ｓ５３０）。
【０１０１】
関係性の強さを識別可能な形態は、例えば、アバターの向きによって表される。例えば、ユーザの画面上に、そのユーザと関係性の強いアバターが、視線をユーザ側に向けて表示されれば、そのユーザはそのアバターとの間の関係性の強さを認識できる。そのような表示を実現する具体的方法を、図１３を参照して以下に示す。
【０１０２】
図１３は、アバター１およびアバター２の向きの関係を示す。アバター１の位置はＰＡ＝（ｘＡ，ｙＡ，ｚＡ）という座標によって表される。アバター１の体の向きは、ｄＡ＝（ｕＡ，ｖＡ，ｗＡ）という法線ベクトルによって表される。アバター２の位置はＰＢ＝（ｘＢ，ｙＢ，ｚＢ）という座標によって表される。アバター２の体の向きは、ｄＢ＝（ｕＢ，ｖＢ，ｗＢ）という法線ベクトルによって表される。
【０１０３】
この状態において、まず、以下の式（８）に示す２つの関数を用意する。
【数８】
0005164061.tif 000009
【０１０４】
アバター１の視界にアバター２が含まれるためには、以下の式（９）の条件が成立する必要がある。
【数９】
0005164061.tif 000010
【０１０５】
ここで、ＴＶは視野の範囲を表す閾値、ＬＡＢはアバター１およびアバター２の間の距離である。なお、方向ベクトルは単位長に正規化されているとする。また、アバター２が首を回して視線を動かせる範囲にアバター１が含まれている条件は、以下の式（１０）のとおりである。
【数１０】
0005164061.tif 000011
【０１０６】
ここで、ＴＲは首を回すことのできる上限に対応する閾値である。式（９）および式（１０）の双方の条件が満たされるときに限り、３Ｄ加工部１３０は、アバター２の首を回して、式（１１）のような方向に傾けるよう、部分３ＤモデルＤＢ１１０において立体形状を変更する。
【数１１】
0005164061.tif 000012
【０１０７】
ここで、αは０から１の間の値をとる実数であり、関係の強さを示す指標値Ｐそのものであってもよい。αが１ならば、アバター２はアバター１の方を向く。αがゼロなら、アバター２Ｂの向きは変わらない。変更された立体形状は、既に説明したように、２Ｄレンダリング部１４０によりレンダリングされて、表示部１５０により表示される。
【０１０８】
以上のように制御すれば、表示部１５０は、関係性がより強い場合に関係性がより弱い場合と比較して、アバター１の向きおよびアバター２の向きのなす角度がより小さくなるように、アバター２の向きを変更して表示できる。また、表示部１５０は、アバター２の体の向きと視線の向きのなす角度が予め定められた基準よりも小さいという条件を満たす範囲内で、アバター２の視線の向きを変更できる。
【０１０９】
なお、ここで変更する「向き」は、上述のように、首または顔の向きに伴って変化する視線の向きであることが好ましいが、それに限定されるものではない。例えば、表示部１５０は、アバターの体の向きを変更してもよい。
【０１１０】
これに代えて、または、これに加えて、表示部１５０は、アバターの動作または表情を変更してもよい。その一例を図１４を参照して説明する。
図１４は、アバターの表情を変更する手続きの一例を示す。表示部１５０は、アバターの表情を、予め定められた手順に従って変更している。図１４にはその一例としてアバターの目を変更する手順の一例を示す。
【０１１１】
表示部１５０は、アバターの表情を決定付けるパラメータとして１を設定している場合において、パターン１から８までのそれぞれに対応する目の画像を、予め定められた時間間隔で次々に表示する。
【０１１２】
例えばパターン４および８において、目の画像は目を閉じた画像を示し、その他のパターンにおいて、目の画像は目を開いた画像を示す。この結果、アバターの目は時々閉じられて、他の多くの時間は開いているように表示される。
【０１１３】
表示部１５０は、第１アバターおよび第２アバターの間の関係性の強さを示す指標値が、予め定められた基準よりも大きい値に変更されたことを条件に、第２アバターの表情を変更するための当該予め定められた手順を変更するパラメータを変更する。
【０１１４】
例えば、パラメータが１から２に変更されると、パターン２およびパターン６において新たに目が閉じられた画像が表示される。この結果、アバターの目は頻繁に瞬きするように表示される。
【０１１５】
以上に示す目の表示の例は一例である。このほかに、表示部１５０は、いわゆる表情パラメータまたは動作パラメータと呼ばれる、アバターのアニメーション・パターンを決定付けるパラメータを変更してよい。
【０１１６】
このようなパラメータの変更によれば、アバターの表情または表現を、例えば好意的な感情を示すように変更することができる。また、アバターの動作、例えばジャンプを繰り返し、または、宙に浮くというような動作をさせて、アバターの感情を表現させることができる。
【０１１７】
図１５は、本実施形態に係る仮想世界ブラウザ１０２により表示される画面の他の例を示す。図２の例と同様に、仮想世界ブラウザ１０２は、ユーザに対し、そのユーザの仮想世界における分身であるアバターの視点から見た画像を表示する。画面手前側のアバター２０は、クライアント・コンピュータ１００のユーザ自身により操作されるアバターを示す。これに対し、画面奥側のアバター２２およびアバター２４のそれぞれは、他のユーザに対応付けられており、当該他のユーザにより操作されるアバターを示す。
【０１１８】
但し、図２の例とは異なり、仮想世界ブラウザ１０２は、アバター２０との関係が予め定められた基準よりも強い他のアバターを、さらに他のアバターとは識別可能な形態で表示する。具体的には、いま、図２のアバター２２は、アバター２０との関係が予め定められた基準よりも強いアバターである。従って、仮想世界ブラウザ１０２は、そのアバター２２にエクスクラメーション・マークの吹き出しを付加して表示する。
【０１１９】
既に図１４を参照して説明したように、識別可能な形態とは、この吹き出しの例のみならず、表情または動作の変更など、様々な形態を含む。さらにそれに加えて、仮想世界ブラウザ１０２は、関係性の強さを示す指標値それ自体を表示してもよい。
【０１２０】
図１４の例では、例えば、仮想世界ブラウザ１０２は、ＨＵＤ（Ｈｅａｄ  Ｕｐ  Ｄｉｓｐｌａｙ）内に、指標値を示すレベルメータおよび指標値自体をアバター（ユーザー）毎に表示している。これにより、ユーザは関係性の強さをより詳細に知ることができる。
【０１２１】
さらに他の例として、仮想世界ブラウザ１０２は、関係性の強さに基づいてアバター２０またはアバター２２の属性を変更してもよい。属性としては、既に説明したように、アバターの向きの他、アバターが備えるコンポーネントまたはアバターの位置などが挙げられる。
【０１２２】
この属性変更の例としては、例えば、コンポーネントの色彩変更がある。即ち例えば、仮想世界ブラウザ１０２は、アバター２０との間の関係性が強いアバター２２について、アバター２２が身に着けている衣類またはアクセサリーなどの色彩を、例えば金色などの目立ち易い色彩、または、クライアント・コンピュータ１００のユーザの好みに沿った予め定められた色彩に変更すれば、クライアント・コンピュータ１００のユーザはその関係性の強さを容易に認識できる。
【０１２３】
図１６は、本実施形態に係るクライアント・コンピュータ１００またはサーバ・コンピュータ２００として機能するコンピュータ５００のハードウェア構成の一例を示す。コンピュータ５００は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【０１２４】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【０１２５】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、例えば図１を参照して説明した通信インターフェイス１０６または通信インターフェイス２０６の一例であり、ネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、図１を参照して説明した記憶装置１０４または記憶装置２０４の一例であり、コンピュータ５００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０又はハードディスクドライブ１０４０に提供する。
【０１２６】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、コンピュータ５００の起動時にＣＰＵ１０００が実行するブートプログラムや、コンピュータ５００のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、入出力チップ１０７０を介してＲＡＭ１０２０またはハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【０１２７】
コンピュータ５００に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して、記録媒体から読み出されコンピュータ５００にインストールされて実行される。プログラムがコンピュータ５００等に働きかけて行わせる動作は、図１から図１５において説明したクライアント・コンピュータ１００またはサーバ・コンピュータ２００における動作と同一であるから、説明を省略する。
【０１２８】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ５００に提供してもよい。
【０１２９】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。例えば、選択部２５０は、コミュニケーションに成立性が最も高いとして選択した変換の経路について、その経路上の変換手段を、アバターに自動的に装着してもよい（即ち直ちに利用可能な状態に設定してもよい。）。また、関係性の強いアバターではなく、関係性の弱いアバターを目立たせて表示すれば、コミュニケーションの幅を広げたいというユーザの希望に応じることができる。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【０１３０】
【図１】図１は、本実施形態に係る情報システム１０の全体構成を示す。
【図２】図２は、本実施形態に係る仮想世界ブラウザ１０２により表示される画面の一例を示す。
【図３】図３は、本実施形態に係るクライアント・コンピュータ１００およびサーバ・コンピュータ２００の機能構成を示す。
【図４】図４は、本実施形態に係る部分３ＤモデルＤＢ１１０が記憶するデータの構造の一例を示す。
【図５】図５は、本実施形態に係る情報システム１０が順次表示を変更する処理のフローチャートを示す。
【図６】図６は、Ｓ５２０における処理の詳細を示す。
【図７】図７は、本実施形態に係る全ユーザ情報ＤＢ２２０が記憶する活動履歴の具体例を示す。
【図８】図８は、本実施形態に係る全ユーザ情報ＤＢ２２０が記憶する統計情報の一例を示す。
【図９】図９は、本実施形態に係る全ユーザ情報ＤＢ２２０が記憶するコミュニケーション手段の具体例を示す。
【図１０】図１０は、本実施形態に係る全ユーザ情報ＤＢ２２０が記憶する変換手段の一例を示す。
【図１１】図１１は、アバター１がアバター２に情報を伝達する場合におけるデータ変換の経路を示す。
【図１２】図１２は、アバター２がアバター１に情報を伝達する場合におけるデータ変換の経路を示す。
【図１３】図１３は、アバター１およびアバター２の向きの関係を示す。
【図１４】図１４は、アバターの表情を変更する手続きの一例を示す。
【図１５】図１５は、本実施形態に係る仮想世界ブラウザ１０２により表示される画面の他の例を示す。
【図１６】図１６は、本実施形態に係るクライアント・コンピュータ１００またはサーバ・コンピュータ２００として機能するコンピュータ５００のハードウェア構成の一例を示す。
【符号の説明】
【０１３１】
１０  情報システム
２０  アバター
２２  アバター
２４  アバター
１００  クライアント・コンピュータ
１０２  仮想世界ブラウザ
１０４  記憶装置
１０６  通信インターフェイス
１１０  部分３ＤモデルＤＢ
１１５  ローカル情報更新部
１２０  本人ユーザ情報ＤＢ
１３０  ３Ｄ加工部
１４０  ２Ｄレンダリング部
１５０  表示部
２００  サーバ・コンピュータ
２０２  仮想世界サーバ
２０４  記憶装置
２０６  通信インターフェイス
２１０  完全３ＤモデルＤＢ
２２０  全ユーザ情報ＤＢ
２３０  検索部
２４０  算出部
２５０  選択部
２６０  サーバ情報更新部
５００  コンピュータ
【図１】
0005164061.tif 000013
【図２】
0005164061.tif 000014
【図３】
0005164061.tif 000015
【図４】
0005164061.tif 000016
【図５】
0005164061.tif 000017
【図６】
0005164061.tif 000018
【図７】
0005164061.tif 000019
【図８】
0005164061.tif 000020
【図９】
0005164061.tif 000021
【図１０】
0005164061.tif 000022
【図１１】
0005164061.tif 000023
【図１２】
0005164061.tif 000024
【図１３】
0005164061.tif 000025
【図１４】
0005164061.tif 000026
【図１５】
0005164061.tif 000027
【図１６】
0005164061.tif 000028