(57)【特許請求の範囲】
【請求項１】
コンピュータで生成された三次元仮想環境のユーザ間で音声を選択的に送信する方法において、
（Ａ）三次元仮想環境内で第１アバターの位置を決定するステップと、
（Ｂ）前記三次元仮想環境内で、前記第１アバターが向く方向を決定するステップと、
（Ｃ）第２アバターに関連する第２ユーザからの音声を、前記第１アバターに関連する第１ユーザの混合した音声ストリーム内に含めるステップと、
前記（Ｃ）ステップは、前記第２アバターが、前記第１アバターの第１距離内におり、前記第１アバターが前記第２アバターに向いている時に行われ、
（Ｄ）第２アバターに関連する第２ユーザからの音声を、前記第１アバターに関連する第１ユーザの混合した音声ストリーム内に含めないステップと、
前記（Ｄ）ステップは、前記第２アバターが、前記第１アバターの第１距離内にいるが、前記第１アバターが前記第２アバターに向いていない時に行われ、
（Ｅ）前記第１アバターの音声分散範囲を規定するステップと、
を有し、その結果、
前記第２アバターが前記音声分散範囲内にいる場合、前記第２アバターに関連するユーザからの音声は、前記第１ユーザの混合した音声・ストリーム内に含まれ、
前記第２アバターが前記音声分散範囲外にいる場合、前記第２アバターに関連するユーザからの音声は、前記第１ユーザの混合した音声・ストリーム内に含まれず、
前記第１アバターの音声分散範囲は、前記第１アバターに関連する第１ユーザにより制御可能であり、
前記音声分散範囲は、前記第１ユーザにより、マウス・ホイールを介して制御される
ことを特徴とするコンピュータで生成された三次元仮想環境のユーザ間で音声を選択的に送信する方法。
【請求項２】
前記第１アバターの前記音声分散範囲は、前記第１アバターが前記三次元仮想環境内で叫ぶことができるよう、前記第１アバターが向いている方向に向けてより長い距離伸びる
ことを特徴とする請求項１記載の方法。
【請求項３】
前記第１アバターの前記音声分散範囲は、前記第１アバターが前記三次元仮想環境内でささやくことができるよう、前記第１アバターが向いている方向に向けてより短い距離しか伸びない
ことを特徴とする請求項１記載の方法。
【請求項４】
前記第１アバターの前記音声分散範囲は、前記三次元仮想環境の空間内と一致するように増加し、
その結果、前記第１アバターに関連する前記第１ユーザにより生成された音声は、前記三次元仮想環境内の空間内にいるアバターに関係する他の全てのユーザの混合した音声・ストリーム内に含まれる
ことを特徴とする請求項１記載の方法。
【請求項５】
前記第１アバターが、前記三次元仮想環境の所定の位置に入った時に、前記第１アバターの前記音声分散範囲は、前記三次元仮想環境の空間内と一致するように自動的に増加する
ことを特徴とする請求項４記載の方法。
【請求項６】
（Ｆ）前記三次元仮想環境内で前記第１アバターと前記第２アバターの間に障害物があるか否かを決定するステップと、
前記第１アバターと前記第２アバターの間に障害物がある場合には、前記第２ユーザからの音声は、前記第１ユーザの混合した音声・ストリーム内に含めない
ことを特徴とする請求項１記載の方法。
【請求項７】
前記第１アバターの前記音声分散範囲は、前記三次元仮想環境内のアバターの位置に依存する
ことを特徴とする請求項１記載の方法。
【請求項８】
第２アバターが、前記第１アバターの前記第１の音声分散範囲内にある場合には、前記第２アバターに関連する第２ユーザは、前記第１ユーザからの音声を聞くことができる
ことを特徴とする請求項１記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータで生成された三次元仮想環境（以下、単に、「三次元仮想環境」と称する）に関し、特に、三次元仮想環境内の現実的な音声通信を実行する方法と装置に関する。
【背景技術】
【０００２】
三次元仮想環境は、現実の或いは空想上の三次元環境をシミュレートし、多くの参加者が、互いに相互作用（対話）し、また三次元仮想環境内の構築物と相互作用する。これは、遠隔地のあるクライアントを介して行われる。三次元仮想環境が使用される１つのコンテキストは、ゲームに関連するが、三次元仮想環境用の他の使用例も開発されている。
【０００３】
三次元仮想環境においては、現実の世界或いは空想上の世界は、コンピュータ・プロセッサ／メモリ内にシミュレートされる。多くの人は、コンピュータ・ネットワーク（例、ＬＡＮ、ＷＡＮ、インターネット）を介して、三次元仮想環境に参加する。各プレーヤは「アバター」を選択する。この「アバター」は、三次元仮想環境内でプレーヤを代表する人或いは他のオブジェクトの三次元表示である。参加者は、コマンドを三次元仮想環境サーバに送る。この三次元仮想環境サーバが、三次元仮想環境を制御して、彼等のアバターが三次元仮想環境内で動けるようにする。かくして、参加者は、彼等のアバターが三次元仮想環境内の他のアバター或いは他のオブジェクトと相互作用させることができる。
【０００４】
三次元仮想環境は、仮想−現実の三次元マップの形態をとり、実際、現実の世界で一般的に経験する屋内、屋外或いは他の三次元仮想環境表示を含む。三次元仮想環境は、複数のオブジェクト、人々、動物、ロボット、アバター、ロボットアバター、特殊なエレメント、オブジェクト／環境を含み、これにより、アバターがアクティビティに参加できる。参加者は、彼等のコンピュータ上で三次元仮想環境クライアントを介して、三次元仮想環境内にプレゼンスを確立する。それを通して、彼等は、アバターを創設し、このアバターを三次元仮想環境内で活動（生活）させる。
【０００５】
アバターが、三次元仮想環境内を移動すると、アバターが見るビューは、アバターが三次元仮想環境内のどこにいるかによって、変わる。このビューは参加者に表示され、その結果、アバターをコントロールしている参加者は、アバターが見ているものを見ることができる。更に多くの三次元仮想環境により、参加者は、様々なビューポイントに、例えばアバターの外の好ましいポイントから、切り替わることができる。その結果、アバターが、三次元仮想環境内にいる場所を見ることができる。
【０００６】
参加者は、アバターを従来の入力デバイス（例、マウスとキーボード）を用いて制御できる。この入力は、三次元仮想環境クライアントに送られる。この三次元仮想環境クライアントが、コマンド（入力）を三次元仮想環境サーバに送る。この三次元仮想環境サーバが、三次元仮想環境を制御し、三次元仮想環境の表示を参加者のコンピュータのディスプレイを介して、参加者に提供する。
【０００７】
三次元仮想環境が如何に設定されるかに応じて、アバターは、三次元仮想環境を観測し、三次元仮想環境内の他のアバター、モデル化されたオブジェクト、三次元仮想環境内のロボット化されたオブジェクト、或いは三次元仮想環境そのものと相互作用する（即ち、アバターが三次元仮想環境内で湖或いは川に泳ぎに行く）ことができる。このような場合、クライアントの制御入力は、モデル化されたオブジェクトの変化を引き起こすことができる。例えば、他のオブジェクトを動かしたりドアを開けたりすることができる。これは、三次元仮想環境内の他のアバターがその後経験することである。
【０００８】
三次元仮想環境内で、あるアバターによる他のモデル化されたオブジェクトとの「相互作用」は、アバターに対するクライアント制御入力の受領に応じて、三次元仮想環境サーバが、モデル化された環境内の相互作用をシミュレートすることを意味する。あるアバターによる他のアバター又はオブジェクト又は三次元仮想環境或いは自動化された又はロボット化されたアバターとの「相互作用」は、ある場合は、他のアバター、オブジェクト、三次元仮想環境、自動化された又はロボット化されたアバターに影響する、或いはそれ等が観測したり経験する結果となる。
【０００９】
三次元仮想環境は、ユーザのために生成されるが、より一般的には、三次元仮想環境は、永続的である。この状態においては、三次元仮想環境は、継続し続け、ユーザが三次元仮想環境と相互作用しない時でも、三次元仮想環境サーバによりサポートされている。かくして、三次元仮想環境に複数のユーザがいる場合には、三次元仮想環境は、ユーザがログインしていない時でも展開し続け、その結果、ユーザは、前回見えていたものから変化した三次元仮想環境に、次回は入ることができる。
【００１０】
三次元仮想環境は、オンラインゲームで一般的に使用される。例えばオンラインのロールプレイングゲームで使用される。このゲームでは、ユーザは、キャラクターの役目を果たし、そのキャラクターのアクションの大部分を制御する。ゲーム以外に、三次元仮想環境は、実生活環境をシミュレートするのにも使われる。例えば、オンライン教育、トレーニング、ショッピング、会議、ユーザのグループ間の相互作用、或いは会社とユーザとの間の相互作用を提供できる。
【００１１】
アバターが、三次元仮想環境内で他のアバターと遭遇すると、アバターにより表された参加者は、互いに通信（会話）することを選択できる。例えば参加者は、他の参加者と互いにタイプを打つことにより参加することができる。或いは音声・ブリッジが確立されて、参加者が互いに話しをする事もできる。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
大きな発展が、アバターとアニメーションの視覚化に関連して起こったが、音声の改良実現は遅れた。時に三次元仮想環境の音声特性は、あまり実際的では無かった。従って、三次元仮想環境において、現実的な音声通信（会話）を実行する方法と装置が求められている。
【課題を解決するための手段】
【００１３】
本発明により、三次元仮想環境内の現実的な音声会話を実現する方法と装置が、提供できる。一実施例においては、三次元仮想環境の参加者は、自分のアバターの音声の拡散パターンを制御し、アバターの音声は、簡単な制御を用いて分散方向を向上できる。
【００１４】
一実施例においては、音声分散エンベロープ（以下、単に「音声分散範囲」と称する）は、アバターの前の方向では伸びて、側面と後方向には余り伸びないようデザインされる。音声分散範囲の形状は、三次元仮想環境の他の態様、例えば、天井、床、壁により影響される。音声分散範囲は、静的である、あるいは選択的事項として参加者により制御可能である。これにより、アバターの音声が、アバターの前の方向に向いて外に伸びる。これにより、アバターは、三次元仮想環境内で「叫ぶ」ことができ、その結果、アバターの可聴範囲外にいる他のアバターであるユーザは、ユーザの声を聴くことができる。同様に、音声の音量レベルを下げ、アバターは、ささやいたり、或いは、アバター間の相対的位置と、アバターが向く方向によって、調節される。個々の音声ストリームは、三次元仮想環境の各ユーザに為に混合されるが、これは、三次元仮想環境内のユーザのアバターの位置と方向、ユーザの音声分散範囲の形状、どのアバターがユーザの音声分散範囲内にいるかに、応じて決められる。
【図面の簡単な説明】
【００１５】
【図１】ユーザが三次元仮想環境にアクセスできるシステムの一部の機能ブロック図。
【図２】三次元仮想環境内のユーザの二次元ビューで、そのユーザの通常（円形）の音声分散範囲を表す図。
【図３】三次元仮想環境内のユーザの二次元ビューで、そのユーザの方向性のある（長円形の）音声分散範囲を表す図。
【図４】本発明の一実施例により、ユーザが三次元仮想環境内で自分の声を出すことのできる、ユーザが制御可能な音声分散範囲の一例を表す図。
【図５】本発明の一実施例により、ユーザが三次元仮想環境内で自分の声を出すことのできる、ユーザが制御可能な音声分散範囲の一例を表す図。
【図６】本発明の一実施例により、三次元仮想環境内で、障害物と音声分散範囲の相互作用を表す図。
【図７】本発明の一実施例により、三次元仮想環境内で、障害物と音声分散範囲の相互作用を表す図。
【図８】三次元仮想環境内で、現実的な音声通信（会話）を実行するプロセスのフローチャート図。
【図９】図１のシステムの構成要素を表す機能ブロック図で、音声が三次元仮想環境のユーザの間で伝送される相互作用を表す図。
【図１０】三次元空間内の音声分散範囲を表す三次元座標軸の空間を表す図。
【図１１】三次元仮想環境の三次元ビューを表す図。
【発明を実施するための形態】
【００１６】
図１において、本発明のシステム１０では、複数のユーザ１２と三次元仮想環境１４は、相互作用している。ユーザ１２は、三次元仮想環境１４に、コンピュータ２２から、パケット・ネットワーク１６又は他の共通通信インフラを介して、アクセスできる。三次元仮想環境１４は、三次元仮想環境サーバ１８により実行（実現）される。ユーザ１２間で音声（以下、「音声」と称する）は、通信サーバ２０により実行（実現）される。以下、本明細書において、「相互作用」「通信」「会話」は、特に断りのないかぎり、同意である。
【００１７】
三次元仮想環境は、インスタンスを用いて実現（実行）される。各インスタンスは、三次元仮想環境サーバによりホストされている。複数のインスタンスがある場合には、１つのインスタンス内のアバターは、他のインスタンス内のアバターのことについては、知らない。従来、三次元仮想環境の各インスタンスは、別個の世界と称する。
以下の説明においては、次の事を仮定する。アバターは、同一の世界でインスタンスとして挙げられ、それ故に互いに見たり話したりすることができる。世界は、１個の三次元仮想環境サーバ１８により実現されるか、あるいは複数の三次元仮想環境サーバ１８により実現される。三次元仮想環境は、実世界環境の視覚的表現としてデザインされ、その結果、人間は互いに相互作用（会話）し、他の者とリアルタイムで通信できる。
【００１８】
三次元仮想環境は、それ自身の三次元（の座標軸）空間を有する。ユーザを表すアバターは、この三次元空間内を移動し、三次元空間内のオブジェクト又は他のアバターと相互作用する。三次元仮想環境サーバは三次元仮想環境を保持し、三次元仮想環境内のユーザのアバターの位置に基づいて、各ユーザの為に視覚的表示を生成する。このビュー（視覚的表示）は、アバターが向いている方向と選択されたビューのオプションに依存する。この選択されたビューのオプションの一例は、ユーザがアバターの目を通して見ているかのような見え方を選択するか、ユーザがアバターがいる三次元ビューを見るためにアバターから引き戻るのを選択するか、三次元仮想環境内でアバターが何をしているか、である。
【００１９】
ユーザ１２はコンピュータ２２を有する。このコンピュータ２２を用いて、コンピュータで生成された三次元仮想環境にアクセスする。コンピュータ２２は、三次元仮想環境クライアント２４とユーザ・インターフェース２６を、三次元仮想環境上で動かす。ユーザ・インターフェース２６は、三次元仮想環境クライアント２４の一部又は別個のプロセスとして実行される。別々の三次元仮想環境クライアントが、ユーザがアクセスしたい各三次元仮想環境に必要とされる。しかし、特定の三次元仮想環境クライアントは、複数の三次元仮想環境サーバとインターフェースできる。通信クライアント２８により、ユーザは、三次元仮想環境に参加している他のユーザと会話できる。通信クライアント２８は、三次元仮想環境クライアント２４とユーザ・インターフェース２６の一部であり、或いはコンピュータ２２上を走る別個のプロセスである。
【００２０】
ユーザは、三次元仮想環境の一部の表示を、ディスプレイ／音声装置３０上で見て、コマンドを、ユーザ入力装置３２（例、マウス、タッチパッド、キーボード）を介して、入力する。ディスプレイ／音声装置３０をユーザが用いて、三次元仮想環境に関連しながら、音声情報を送受信する。例えば、ディスプレイ／音声装置３０は、スピーカーとマイクとを有するディスプレイ・スクリーンである。ユーザ・インターフェースが、三次元仮想環境クライアントの制御の下で、ディスプレイに示された出力を生成し、ユーザからの入力を受領し、このユーザ入力を三次元仮想環境クライアントに転送する。三次元仮想環境クライアントは、このユーザ入力を三次元仮想環境サーバに転送する。三次元仮想環境サーバにより、ユーザのアバター３４又は他のオブジェクトは、ユーザの制御の下で、三次元仮想環境内で所望の動作を実行する。かくして、ユーザは、三次元仮想環境の一部を制御する。例えば、その人のアバター又はこのアバターに接触している他のオブジェクトを制御し、三次元仮想環境の他のユーザの為に、三次元仮想環境を変化させる。
【００２１】
アバターは、三次元仮想環境内のユーザを表す人或いは他の創造物の三次元表現である。ユーザは、三次元仮想環境用にプロファイルを生成した時に、アバターが見る方向を選択し、三次元仮想環境内でこのアバターの動きを制御する。「アバターの動き」とは、例えば、アバターが、歩いたり、走ったり、泳いだり、話したり或いは他の類似の動きを言う。かくして、三次元仮想環境１４内のアバターを表すブロック３４は、アバターが三次元仮想環境でどのように見えるかと期待されているものを示すものではない。アバターのアピアランス（外観）は、現実のものではない。その理由は、アバターの実際のアピアランスは、幾分異なっており、ユーザのプリファレンスに基づいて、カスタマイズされているからである。三次元仮想環境内のアバターの実際のアピアランスは、本発明の説明にとって重要なことではない。アバターは、簡単な形状或いは二次元の素描で表され、複雑な三次元の形状例えば人又は動物で、必ずしも表さなくてもよい。
【００２２】
図２は、三次元仮想環境の一部を示し、この三次元仮想環境内のアバターに関連する通常の音声分散範囲を示す。図２は、例示を容易にするために二次元で示しており、音声分散がいかに起きるかをより詳しく説明するものである。音声分散は、垂直方向にも同様に起きる。説明を簡略化するために、説明の大部分は二次元の図を用いて、音声分散が三次元仮想環境内でいかに行われるかを示す。多くの三次元仮想環境は三次元であり、それ故に音声分散範囲は、３つの方向（三次元）に伸びる。二次元の音声分散範囲を三次元に拡張することは簡単であり、この一例を図１０、１１を用いて説明する。かくして本発明は、二次元を例に説明しているが、本発明は、Ｘ軸とＹ軸の分散特性を制御するのと同様に、垂直方向（Ｚ軸方向）を制御するために同一の原理を用いる。
【００２３】
図１０は、第１のアバターが、ＸＹＺ軸の座標点（２、２、２５）にあり、第２のアバターが、座標点（１５、１５、４）にある状態を示す。Ｘ軸とＹ軸のみを見ると、２個のアバターは、１８．３４ユニット離れている。音声分散範囲が２０ユニットであるとすると、Ｘ軸とＹ軸のみを見ると、２個のアバターは互いに話すことができる。しかし、Ｚ軸をファクターに加えると、三次元空間における２個のアバター間の分離距離は２８．４６ユニットであり、音声が到達できる２０ユニットを超えている。従って、三次元仮想環境において、２個のアバター間のＺ軸の分離距離と、Ｘ軸とＹ軸の分離距離を考慮に入れて、２個のアバターが話すことができるか否かを決定しなければならない。音声ストリームが、各ユーザ用に、ユーザのアバターとそのアバターに対する音声分散範囲に基づいて生成されると、ユーザの音声分散範囲内にあるアバターにより表示されるユーザからの音声は、混合され、ユーザに与えられる。かくして、個々の音声ストリームは、各ユーザに対し生成され、その結果、ユーザは、三次元仮想環境内のアバター近傍にいる他のユーザからの音声を聴くことができる。特定のユーザの音量は、混合プロセスの間調整され、その結果、近傍のアバターからの音声は、遠くのアバターからの音声よりも音が大きくなる。
【００２４】
図２に示すように、５個のアバター３４が、三次元仮想環境１４の見える範囲内にあると仮定する。各アバターには、符号Ａ−Ｅが付されている。各アバターは、個々のユーザにより制御されるが、ユーザは、複数のアバターを制御できる場合もある。同図において矢印は、アバターが三次元仮想環境内で向いている方向を示す。
【００２５】
図２に示す実施例において、アバターに関連するユーザは、彼らが互いに特定の距離内にいる場合には、互いに話しをすることができる。一例として、アバターＡは、他のアバターの範囲内にはいない。従って、アバターＡのユーザは、他のアバターのいずれのユーザとも話しをすることができない。同様にアバターＤとＥは、互いに話しをできるほど十分近傍にはいないが、彼らは互いに見ることはできる。アバターＢとＣは、互いに話しを聴くことはできるが、それは彼らが互いに十分近傍にいるからである。図２の実施例において、各アバターの音声分散範囲は、球状（三次元空間）であり、その結果、アバターは特定の半径距離内にある他のアバターと会話はできる。アバターに関連するユーザが話すと、その半径距離内にいる他のアバターは、そのユーザの話しを聴くことができる。アバターが離れ過ぎて三次元仮想環境内で「話し」をすることができないと、音声のパケット／データは、ユーザ間で送信されない。
【００２６】
ユーザ同士が近づくと、ユーザは、互いの話をよりはっきりと聞くことができ、ユーザ同士が、離れると、音声音量は、音声分散範囲のエッジでユーザの音声の寄与分がゼロになるまで、減少する。一実施例においては、ユーザの寄与分の音量は、線形ベースで増減する。かくして図３に示す実施例を見ると、ユーザＡは音声分散範囲内にいる。ユーザに近い音量が最も高く、それらが音声分散範囲内でユーザＡから離れると、寄与分の音量は、音声分散範囲のエッジに達するまで、線形ベースで減少する。
【００２７】
音声は、三次元仮想環境の各ユーザに対し、個別に混合される。音声の特定の混合は、どの他のユーザがそのユーザの音声分散範囲内にいるかに、又、音声分散範囲内の彼らのロケーション（居場所）に依存する。音声分散範囲内のロケーションは、ユーザの音声が音声分散範囲に関連するユーザに提示される音量に影響する。音声は、各ユーザに対し個別に混合されるので、音声（オーディオ）ブリッジはユーザ毎に要求されず、音声ストリームは、各ユーザ毎に個別に、どの他のユーザが、三次元仮想環境内のそのユーザの近傍にいるかに基づいて、形成される。
【００２８】
図３によれば、音声分散範囲は、アバターの前方に伸び、後方で短くなり、アバターの右側と左側にも伸びる。この為、アバターは、三次元仮想環境内の特定の方向に向かって話すことができ、三次元仮想環境の他のユーザに対しアバターが生成したノイズの量を最少にできる。かくして、ユーザが他のユーザと話すことのできる程度は、一部は三次元仮想環境内のユーザのアバターの向いている方向に依存する。これは実生活を反映している。実生活においては、話者に面と向かった人は、違う方向を向いている人よりも、話者の話をより良く聴くことができる。その結果、音声分散範囲は、ユーザにより簡単に制御できる。例えば、アバターが向いている方向を制御して、音量を制御できる。選択的事項として、音声分散範囲の音量と距離を制御して、ユーザの三次元仮想環境内の音量制御を行う。
【００２９】
図３の実施例において、アバターは、図２の実施例と同様な位置にいる。しかし、音声分散範囲は、アバターが向いている方向に長く伸び、アバターの横方向と後方向には少ししか伸びないよう、調整されている。これにより、どのアバターが他のアバターと通信できるかに影響を及ぼす。例えば、図３に示すように、アバターＢとＣは、彼らは比較的近くに立っているにもかかわらず、互いに話しをすることができないが、それは彼らが互いに向かい合っていないからである。同様にアバターＤとＥの間の距離は、アバターＢとＣとの間の距離よりは離れているけれども、互いに向かい合っているために、アバターＤとＥは、話し合うことができる。アバターＡは、依然と一人であり、そのため他のアバターと話すことはできない。
【００３０】
図３の実施例において、互いに音声通信（会話）するためには、アバターは他のアバターの音声分散範囲内に入らなければならない。アバターの少なくとも一つが、他のアバターの音声分散範囲内にいる場合には、音声の交換（会話）が可能となる。例えば、アバターＢはアバターＣの音声分散範囲内にいるが、アバターＣはアバターＢの音声分散範囲内にいない場合には、音声は、アバターＣとアバターＢに関連するユーザ間で送信（会話）されない。選択的事項として、音声は、アバターＣに関連するユーザは、アバターＢに関連するユーザの話を聴くことができるが、アバターＢに関連するユーザは、アバターＣに関連するユーザの話を聴くことができないような方向に、発することもできる。
【００３１】
音声分散範囲の形状は、ユーザのプリファレンスと三次元仮想環境のプロバイダのプリファレンスに依存する。例えば、三次元仮想環境のプロバイダは、ユーザに、音声分散範囲の形状は、彼らのアバターが三次元仮想環境内に入った時に、彼らのアバターに関連するよう選択するオプションを与えることもできる。音声分散範囲の形状は、ユーザが変えるまで、永続的である。ユーザは、あるユーザは大きな音声を発するが、他のユーザは静かな音声を発するよう構成することもできる。別の構成として、三次元仮想環境のプロバイダは、様々なタイプのアバターに対し、特定の音声分散範囲のプロファイルを提供することもできる。例えば、警察官役のアバターは、他のタイプのアバターよりもより広い範囲の音声を聴くことができる。さらに音声分散範囲の形状は、他の環境ファクタに依存する。このファクタの一例は、三次元仮想環境内にいるアバターの位置と、三次元仮想環境内の周囲ノイズの有無である。
【００３２】
図４の実施例において、アバターには、彼らの音声の音量を増加するようなオプションを与えられ、その結果、彼らの音声は、三次元仮想環境内でさらに遠くまで届くようになる。これによりアバターは、三次元仮想環境内で「叫ぶ」ことができる。図４に示すように、アバターＡに関連するユーザが、アバターＢに関連するユーザと話そうと思っているとする。するとユーザＡのアバターＡが、アバターＢに向かい合うことにより、ユーザＡはアバターＢに三次元仮想環境内で向かい合う。図３で議論したように、音声分散範囲のプロファイルは、アバターの前方向に長く伸びるようデザインされているが、これにより、メインの音声分散範囲のプロファイルのローブ（弧）は、アバターＢの方向に伸びる。しかし、図４に示すように、音声分散範囲のプロファイルのメインの音声分散は、アバターＡとアバターＢが三次元仮想環境内で離れ過ぎている場合には、アバターＢに届くほど十分には大きくなっていない。
【００３３】
本発明の一実施例によれば、ユーザＡは、アバターＢの方向に向かって「叫ぶ」と、音声分散範囲のプロファイルは、アバターＢの方向にさらに伸びることになる。ユーザＢに向かって叫ぼうとする意図は、ユーザにより簡単な制御操作により示すことができる。例えば、ホイール付きのマウス上では、マウスのホイールは、ユーザが彼のアバターの音声分散範囲のプロファイルを伸ばすために使用できる「叫び」制御となる。この実施例において、ユーザは、単にマウスホイールをスクロールして離すだけである。この動作は、自分の指をマウスホイールに接触させ、前方向に動かすことにより行われる。これは、多くのコンピュータのユーザ・インターフェースのマウスホイールの使用例であり、マウスホイールを用いることでスクロールアップする。逆に、ユーザが叫ぶことを望まない場合には、ユーザはマウスホイールの上部を手前に引く。この動作は、マウスホイールを大部分のユーザ・インターフェースにおけるのと同様に、スクロールダウンするのと同様の動きである。
【００３４】
ユーザが、三次元仮想環境内のある空間部分内のあらゆるユーザと会話（通信）したい）と望む場合がある。例えば、ある人がアバターの部屋全体に対し、プレゼンテーションを行いたいと望む場合がある。こうするために、ユーザは自分の音声分散範囲を、全方向に広げて、三次元仮想環境内空間全体を満たそうとする。これを図４、５の点線５で示す。この実施例においては、ユーザの音量は大きくせずに、その空間内にいる全てのユーザが、プレゼンタであるユーザの声を聴くことができる。この様な特徴は、本明細書では、「オムニ・ボイス（Omni Voice）」と称する。ユーザがオムニ・ボイスを起動すると、ユーザからの音声は、その空間内にいる他のユーザに提示される音声・ストリームに混合され、他のユーザは、そのユーザが起動したオムニ・ボイスを聴くことができる。ユーザがオムニ・ボイスを起動すると、ユーザのアピアランスは幾分変わり、三次元仮想環境内にいる他の人は、誰がオムニ・ボイスの特徴を起動したかを知ることができる。
【００３５】
ユーザは、オムニ・ボイスを起動する制御を使用するか、好ましくは、オムニ・ボイスは、アバターが三次元仮想環境内にいる位置に依存して自動的に起動される。例えば、ユーザがステージの演台に上がると、ステージ上のプレゼンタであるユーザの存在により、ユーザにより提供される音量が、三次元仮想環境内の特定の空間内にいる他のアバターの混合された音声・ストリーム内に含まれるようになる。
【００３６】
マウスホイールには、特定の三次元仮想環境とアバターに利用可能な他のアクティビティに基づいて、三次元仮想環境内で複数の使用方法がある。入力を組み合わせることにより、音声分散範囲のプロファイルを制御する。例えば、マウスの左クリックとマウスホイールのスクローリングの組み合わせると、あるいはキーボード上のキーを押すこととマウスのスクローリングを組み合わせると、マウスのスクローリングのアクションが、他のアクションではなく、アバターの音声に関連しているというシグナルとなる。別の構成として、マウスホイールを使用せずに、キーボード上のキーストロークあるいはキーストロークの組み合わせを用いて、音声分散範囲を拡張するか、音声分散範囲を元の状態に戻す。かくして、三次元仮想環境内のアバターの方向に基づいて音声分散範囲の方向性を制御を実行することに加えて、ユーザは、リアルタイムで、音声分散範囲をワープさせて、アバターの音声分散範囲を三次元仮想環境内で制御できる。
【００３７】
ユーザが三次元仮想環境内で他のユーザに向かって叫ぶことを選択すると、アバターの顔の表情が変わるか、あるいは誰が叫んでいるかという視覚的表示が与えられる。これにより、ユーザは、彼らが誰が叫んでいるかを知ることができ、かつ他のユーザは、何故視覚的表示が変わったかが理解できる。例えば、アバターが自分の口の周りに両手で筒を作ると、これは彼が特定の方向に向かって叫んでいることの視覚的な証となる。アバターの音声のより大きな拡張は、アバターとして表示されるか、さらにはアバターのゴーストが音声範囲内の新たな中心に近付くことにより、与えられる。その結果、他のユーザは、誰が叫んでいるかを決定できる。他の視覚的表示も与えることもできる。
【００３８】
ユーザにより制御された音声分散範囲のワーピングは、図４に示すように、切り替えることができる。その結果、ユーザは、平常時のように話しているか、あるいは叫んでいるかは、切り替え制御の状態に、依存する。別の構成として、ユーザが制御した音声分散範囲のワーピングは、よりなだらかな複数のレベルを有してもよい（図５）。具体的には、図５に示すように、ユーザは、三次元仮想環境内で、自分の音声の発する方向と範囲を増やすことができる。その結果、自分の音声の届く範囲は、ユーザが三次元仮想環境内で叫びたい程度に応じて、様々な距離まで伸びる。図５においては、ユーザには、４つのレベルが与えられ、そしてオムニ・ベースと組み合わせて使用すると５つのレベルが与えられる。他の数のレベルも用いることができる。さらに区分をぼやかすと制御は、実施の仕方によっては、より連続的にすることもできる。
【００３９】
他の実施例において、ユーザが叫ぶことを選択することは、ユーザが他のアバターにポイントを合わせてマウスのボタンを押す時に行われる。例えば、他のアバター上で左クリック又は右クリックを行うことにより、実行できる。あるユーザが他のアバターの通常のお話し距離内にいる場合には、他のアバターからの音声は、ユーザに提示される音声・ストリーム内に混合される。可聴距離内にいる他のアバターからの音声も同様に、そのユーザに提示される混合された音声・ストリーム内に含めることができる。他のアバターが可聴距離内にいない場合、即ち通常の音声分散範囲内にいない場合には、ユーザには、他のアバターに向かって叫ぶオプションが与えられる。この実施例において、ユーザには、叫ばせるために、他のアバター上でダブルクリックする指示が与えられる。叫ぶ機能を実行する様々な方法は、ユーザ・インターフェースのデザイナーのプリファレンスに依存して、実現可能である。
【００４０】
一実施例おいて、アバターの近さ（近接性）は、音声がユーザの音声ストリームに混合された時には、彼らの音声の音量を調整する。その結果、ユーザには、似通った通常の現実的な音声ストリームが与えられる。他の環境ファクターも、三次元仮想環境内のアバター間の通信に影響を及ぼす。
【００４１】
上記の説明は、アバターが、三次元仮想環境内で叫ぶために、音声分散範囲を増加する例を中心に説明したが、同様な制御を用いて、音声分散範囲を小さくして、ユーザが、三次元仮想環境内でささやくようにすることもできる。この実施例において、ユーザは、反対方向に音声を制御して、音声分散範囲のサイズを小さくする。その結果、ユーザは、他のユーザと通信するために、そのユーザのアバターにさらに近付かなければならない。マウスコントロールあるいは他のコントロールを用いて、音声分散範囲のサイズを必要により減らすことができる。
【００４２】
図６、７は、音声分散範囲のプロファイルが、三次元仮想環境内の障害物により影響を受ける実施例を示す。三次元仮想環境内の２つのアバターは、彼らが互いのお話し範囲内にいる時には、互いの声を聴くことができる。これは、他のオブジェクトが三次元仮想環境内にあってもなくても同じである。例えば、アバターＡがある部屋におり、アバターＢが別の部屋にいるとする。通常、三次元仮想環境サーバによ、りアバターは、互いに通信できる（音声分散範囲を表す点線で示すように）。それは、彼らが三次元仮想環境内で互いに近くにいるからである。図１１は、２つのアバターは互いに近くにいるが、三次元仮想環境の別のフロアーにいる場合を示す。２つのアバターは、壁、又は床、又は天井を通して、互いに視ることはできない。アバターは、これらの障害物を通して互いに聴くことができるのは不自然である。このような特徴により、あるアバターは、他のアバターとの間の三次元仮想環境内で起こる会話を聴くことができるが、他のアバターからは視ることはできない。
【００４３】
本発明の一実施によれば、音声分散範囲のプロファイルを調整して、三次元仮想環境内の障害物を考慮に入れることができる。障害物は、音声分散範囲の特定の方向の大きさを減らすような、プロファイル上のシャドー（影）を形成するものと考えられる。これにより、アバター間の通信が阻止されるが、障害物がない場合には、彼らは通信（会話）することができる。図６において、アバターＡは、ある部屋にいて、ドア通路を通して話している。ドアの両側にあるドアの枠(ドアが開閉するためのドアの周囲の枠)と壁は、障害物として機能し、これがユーザの音声分散範囲を、部分的に遮る。ドアが閉じていると、これは音声分散範囲にも影響を及ぼす。かくして、壁際に立っているアバターＢは、アバターＡと話すことはできない。その理由は、アバターＢは壁の影にあり、アバターＡの音声分散範囲のプロファイルの外側にいるからである。これに対し、アバターＣは、アバターＡとドア通路越しに直接見える場所にいて、アバターＡと会話できる。アバターＢは、アバターＣと会話ができる。その為、アバターＡとＣの間の会話の内アバターＣの話しは聴くことができる。かくして、特定のアバターは、他のパーティー（アバター）間の通信に部分的に含まれる。この特徴の実施例を実行するために、個別のミキサーが、クライアント毎に配置される。自主的に全ての属性と特性が、クライアント・ベースで計算される。ミキサーは、近くのアバターからのどの音声が、特定のユーザにより聞こえるかを決定し、それにより得られた音声・ストリームを混合する。これをクライアント・ベースで実行することは、利点がある。その理由は、二人のユーザは、ある時点で全く同じ位置にいる必要はなく、それ故に、各クライアントの最終的な出力は、必ず異なる。
【００４４】
図１１は、２つのアバターが別のフロアーに居るため、垂直方向に離れている。このフロアーは、図５、６の壁と同様に機能する。具体的には、別々のフロアーにある部屋は、別々の空間として定義され、あるフロアーの音は別のフロアーには入っていかず、その結果、２つのアバターがＸ軸とＹ軸で互いに極めて近くにあったとしても、これらのアバターは、垂直方向に離れており、２つのアバターは話すことはできない。
【００４５】
シャドー・オブジェクトは、音の伝搬に対し完全に遮蔽するか、あるいは単に減衰させるだけのものである。例えば、コンクリート性の壁は、減衰率が１００％であるが、通常の壁は減衰率が９０％であり、その結果、ある音の一部はそこを通過できる。ある壁の減衰率は僅か１０％である。減衰のレベルは、オブジェクトが三次元仮想環境内に置かれた時に、特定される。
【００４６】
音声は、三次元仮想環境内の各ユーザに対し、個別に音声を混合するような通信サーバを用いて、実現される。通信サーバは、三次元仮想環境の全てのユーザからの音声を受領し、特定のユーザ用に音声ストリームを生成する。これは、どの他のユーザが、そのユーザの音声分散範囲内にアバターを有するかを決定することにより、行う。参加者を選択するために、方向性の概念を選択プロセスに導入する。その結果、その選択プロセスは、単に参加者の相対的距離を見るのではなく、参加者が三次元仮想環境内にどの方向を向いているかを見る。これはベクトルを各参加者に関連づけ、このベクトルが他のアバターに十分近いか否かを決定する。これにより、音声を音声・ストリーム内のユーザからの音声を含める。さらにシャドーが、決定に含まれると、このプロセスは、ベクトルが、三次元仮想環境内のシャドーオブジェクトを横切るか否かを決定するために、見る。横切る場合には、シャドーの量が計算されて、音声を含めるべきか否かを決定する。音声接続決定プロセスを実行する他の方法も用いることもができ、本発明は、この特定の実施例に限定されるものではない。
【００４７】
他の実施例において、２つのアバター間で交わされる音声は、アバター間のベクトルに沿って減衰量を組み込むことで、決定される。この実施例において、三次元仮想環境内の通常の空気すなわち「空間」には、単位距離当たり５％の減衰ファクターを入る。三次元仮想環境内の他のオブジェクトには、意図した材料に応じて別の減衰係数を与える。この実施例において、アバター間の音声伝搬は、アバター間の距離に依存し、それ故に音声が通過する空気とベクトルが通るオブジェクトの量に依存する。ベクトルの強さ、すなわち通信中の減衰量は、アバターが向いている方向に依存する。さらにユーザは、一時的にアバターを叫ばせることにより、ベクトルの強度を増やすことができる。
【００４８】
上記の説明において、ユーザは、三次元仮想環境内で叫ぶことを選択できると仮定した。選択的事項として、プリビレッジ（特権）は、三次元仮想環境内でアバターが処理する特定のアイテム用に得られる。アバターが特定のアイテム、例えば、仮想の角笛を見出したり、購入したりして、アバターに叫ばせる必要がある。他の実施例も同様に可能である。
【００４９】
図８は、音声が三次元仮想環境内の特定の参加者間で伝送されるべきか否かを決定するために、エンティティにより使用されるプロセスの一部のフローチャートである。図８のプロセスにおいて、三次元仮想環境サーバは、三次元仮想環境を生成し、それを参加者が使用できるようになる（ステップ１００）。かくして三次元仮想環境サーバにより、ユーザＡは三次元仮想環境内に入り、ユーザＡのアバターＡが三次元仮想環境内に入る（ステップ１０２）。同様に三次元仮想環境サーバにより、ユーザＢは、三次元仮想環境内に入り、ユーザＢのアバターＢが三次元仮想環境内に入る（ステップ１０２’）。他のユーザも三次元仮想環境内にアバターを有することができる。
【００５０】
三次元仮想環境サーバは、アバターＡに対する音声分散範囲を決定する。これによりアバターが、三次元仮想環境内でいかに通信（会話）するかを規定する（ステップ１０４）。各アバターは、三次元仮想環境内で、全てのアバターの特性である所定の音声分散範囲を有する。又は、三次元仮想環境サーバは、各ユーザ用にカスタムメイドされた特定の音声分散範囲を規定する。かくして、音声分散範囲を規定するステップは、アバターが、他のアバター（別の方向にある他のアバターよりも、そのアバターの前でより離れた距離にあるアバター）と通信できると指定することにより、実行される。
【００５１】
自動的に又はアバターＡをユーザが制御を開始することにより、三次元仮想環境サーバは、アバターＢが、アバターＡの音声分散範囲内にあるか否かを決定する（ステップ１０６）。これは、アバターＡがアバターＢの方を向き、その後アバターＢがアバターＡからいかに離れているかを決定することにより、行われる。アバターＢが、アバターＡの音声分散範囲内にある場合には、三次元仮想環境サーバにより、アバターＢからの音声は、アバターＡに関連するユーザに送信される音声・ストリーム内に含められる。
【００５２】
アバターＢが、アバターＡの音声分散範囲内に居ない場合には、ユーザには、音声分散範囲の形状を制御する機会が与えられる。例えば、ユーザがアバターＢに向かって叫べるようにすることにより、与えられる。特に、ユーザＡは、自分のユーザ・インターフェースを操作して、アバターＡがアバターＢに向かって叫べるようにする（ステップ１１０）。ユーザＡが自分のユーザ・インターフェースを介してアバターＢに向かって叫びたいとの信号を与えると、三次元仮想環境サーバは、叫ぶ方向に向かって、アバターの音声分散範囲を拡大する（ステップ１１２）。
【００５３】
三次元仮想環境サーバは、アバターＢがアバターＡの拡大した音声分散範囲内にいるか否かを決定する（ステップ１１４）。その音声分散範囲にいる場合には、三次元仮想環境サーバにより、音声は、アバターに関連したユーザ間で送信される。その中にない場合には、２つのアバターは、三次元仮想環境内で互いに近付き、音声が、アバターＡとアバターＢに関連するユーザ間で送信されるようになる（ステップ１１８）。
【００５４】
図９は、本発明の一実施例により、三次元仮想環境内で現実的な音声を実行するのに用いられるシステムを示す。図９に示すように、ユーザ１２には、三次元仮想環境１４へのアクセス権が与えられる。これは、三次元仮想環境サーバ１８を用いて行われる。
【００５５】
ユーザ１２Ａ、１２Ｂは、三次元仮想環境１４内でアバター３４Ａ、３４Ｂに置き換えられる。ユーザが互いに近付き互いに向かい合っている時には、音声位置と方向検知サブシステム６４が、その音声はアバターに関連したユーザ間で送信されていると決定する。音声は、混合機能７８により混合されて、個別に決定された音声・ストリームを各アバターに与える。
【００５６】
図９の実施例において、混合機能はサーバで行われる。本発明は、混合機能は、三次元仮想環境クライアントで行ってもよい。この他の実施例において、複数のユーザからの音声は、ユーザの三次元仮想環境クライアントに送られ、この三次元仮想環境クライアントが、音声の特定の部分がユーザに提示されるよう選択することもできる。サーバで混合機能を実行することにより、各ユーザに送信しなければならない音声の量を減らすことができるが、サーバの負荷は増す。クライアントでこの機能を実行すると、負荷を分散させて、個々の混合した音声・ストリームを形成するが、それはサーバ側にとってより容易となる。複数の音声・ストリームが、各クライアントに送信されなければならない。特定のソリューションが、利用可能なバンド幅と処理パワーにより選択することができる。
【００５７】
上記の説明は、コンピュータで読みとり可能なメモリ内に記憶されるプログラミング・インストラクションとして実行され、コンピュータ内のプロセッサで実行される。しかし、当業者は、個別のコンポーネント、集積回路例えばＡＳＩＣ、プログラムロジック装置と共に使用されるプログラマブル・ロジック例えばＦＰＧＡ（Field Programmable Gate Array）、マイクロプロセッサ、状態機械、或いはそれ等の組み合わせを利用して、本発明を実行可能である。プログラマブル・ロジックは、一時的或いは永続的でメモリチップ、コンピュータメモリ、メモリスティック、ディスク、或いは他の記憶媒体で固定（記憶）される。
【００５８】
以上の説明は、本発明の一実施例に関するもので、この技術分野の当業者であれば、本発明の種々の変形例を考え得るが、それらはいずれも本発明の技術的範囲に包含される。特許請求の範囲の構成要素の後に記載した括弧内の番号は、図面の部品番号に対応し、発明の容易なる理解の為に付したものであり、発明を限定的に解釈するために用いてはならない。また、同一番号でも明細書と特許請求の範囲の部品名は必ずしも同一ではない。これは上記した理由による。用語「又は」に関して、例えば「Ａ又はＢ」は、「Ａのみ」、「Ｂのみ」ならず、「ＡとＢの両方」を選択することも含む。特に記載のない限り、装置又は手段の数は、単数か複数かを問わない。
【符号の説明】
【００５９】
１０  システム
１２  ユーザ
１４  三次元仮想環境
１６  パケット・ネットワーク
１８  三次元仮想環境サーバ
２０  通信サーバ
２２  コンピュータ
２４  三次元仮想環境クライアント
２６  ユーザ・インターフェース
２８  通信クライアント
３０  ディスプレイ／オーディオ
３２  ユーザ入力装置
図８
１００：仮想環境の生成
１０２：ユーザＡが仮想環境に入り、ユーザＡのアバターＡを生成する
１０２’：ユーザＢが仮想環境に入り、ユーザＢのアバターＢを生成する
１０４：アバターＡの音声分散範囲を規定する
１０６：アバターＢは、アバターＡの音声分散範囲内にいるか？
１０８：音声がユーザＡとＢの間で送信される
１１０：ユーザＡがユーザインターフェースを操作して、アバターＡをアバターＢに向かって叫ばさせる
１１２：叫ぶ方向に向かってアバターＡの音声分散範囲を拡大する
１１４：アバターＡの拡大した音声分散範囲内にアバターＢがいるか？
１１６：音声がユーザＡとＢの間で送信される
１１８：アバターＡとＢが三次元仮想環境内に近付き、音声がユーザＡとＢの間で送信される
図９
１８    仮想環境サーバ
オーディオ・サブシステム
アバターの位置と方向決定サブシステム
３４ａ  アバターＡのインスタンス
３４ｂ  アバターＢのインスタンス
６８    音声制御サブシステム
７８    混合機能
【図１】
0005405557.tif 000002
【図２】
0005405557.tif 000003
【図３】
0005405557.tif 000004
【図４】
0005405557.tif 000005
【図５】
0005405557.tif 000006
【図６】
0005405557.tif 000007
【図７】
0005405557.tif 000008
【図８】
0005405557.tif 000009
【図９】
0005405557.tif 000010
【図１０】
0005405557.tif 000011
【図１１】
0005405557.tif 000012