(57)【特許請求の範囲】
【請求項１】
複数のアバターを含む仮想環境における第一の計算装置に対応するアバターについてのオーディオシーンを作成する、一つまたは複数の計算装置によって実行される方法であって；
前記複数のアバター間の前記仮想環境におけるリンク構造を作る工程であって、前記リンク構造のリンク情報はアバターに対応する計算装置間の通信に関係する、工程と；
前記第一の計算装置に対応するアバターに対して、他のリンクされたアバターとの関連に基づいてオーディオシーンをレンダリングする工程と；
を含み、
作られた前記リンク構造は、前記第一の計算装置に対応するアバターについての着信するリンク上のオーディオストリームに適用するべき、前記第一の計算装置に対応するアバターについての前記オーディオシーンをレンダリングする角度または減衰係数の少なくとも1つに関する情報を含み、前記オーディオシーンをレンダリングする角度は前記オーディオシーンにおける前記第一の計算装置に対応する前記アバターと前記他のリンクされたアバターとの間のリンクによって形成される角度に対応し、前記仮想環境は：複数の遊戯者によるオンラインゲーム；仮想ビジネスミーティングまたは仮想教育機能の一つまたは複数を含み、各アバターは前記仮想環境での参加者を含む、
方法。
【請求項２】
前記リンク構造は最小スパニング木を含む、請求項１に記載のオーディオシーン作成方法。
【請求項３】
前記最小スパニング木リンク構造は、前記木におけるリンクの長さに関連付けられたコスト指標（cost  metric）に関して最小であり、前記木におけるリンクの長さは前記仮想環境における2体のアバター間の距離に比例する、請求項１に記載のオーディオシーン作成方法。
【請求項４】
前記減衰係数が、前記リンク構造におけるリンクの長さに対応する値を有する、請求項３に記載のオーディオシーン作成方法。
【請求項５】
前記リンク構造における前記2体のアバター間のリンクの角度が前記レンダリング角度を定義することを特徴とする請求項２乃至請求項４の何れか１項に記載のオーディオシーン作成方法。
【請求項６】
前記リンク構造は前記複数のアバターを接続する木構造であることを特徴とする請求項１乃至請求項４の何れか１項に記載のオーディオシーン作成方法。
【請求項７】
前記木構造は最小スパニング木であることを特徴とする請求項６に記載のオーディオシーン作成方法。
【請求項８】
さらに、ループの最小の長さが前記レンダリングされるオーディオシーン中でのエコーを回避する所定値未満であるように、前記最小スパニング木にループを、導入手段によって導入する工程を有することを特徴とする請求項７に記載のオーディオシーン作成方法。
【請求項９】
前記所定値はアバターの聴取距離の2倍であることを特徴とする請求項８に記載のオーディオシーン作成方法。
【請求項１０】
さらに、前記レンダリングされるオーディオシーンを前記複数のアバターの少なくとも1体によって生成されたオーディオストリームと、混ぜる手段によって混ぜる工程を有することを特徴とする請求項１乃至請求項９の何れか１項に記載のオーディオシーン作成方法。
【請求項１１】
さらに、別のリンクされたアバターに前記混ぜたオーディオシーンを、送信手段によって送る工程を有することを特徴とする請求項１０に記載のオーディオシーン作成方法。
【請求項１２】
複数のアバターを含む仮想環境における第一の計算装置に対応するアバターについてのオーディオシーンを作成する、一つまたは複数の計算装置を備えるシステムであって；
前記複数のアバター間の前記仮想環境におけるリンク構造を作る手段であって、前記リンク構造のリンク情報はアバターに対応する計算装置間の通信に関係する、手段と；
前記第一の計算装置に対応するアバターに対して、他のリンクされたアバターとの関連に基づいてオーディオシーンをレンダリングする手段とを有し、
作られた前記リンク構造は、前記第一の計算装置に対応するアバターについての着信するリンク上のオーディオストリームに適用するべき、前記第一の計算装置に対応するアバターについての前記オーディオシーンをレンダリングする角度または減衰係数の少なくとも1つに関する情報を含み、前記オーディオシーンをレンダリングする角度は前記オーディオシーンにおける前記第一の計算装置に対応する前記アバターと前記他のリンクされたアバターとの間のリンクによって形成される角度に対応し、前記仮想環境は：複数の遊戯者によるオンラインゲーム；仮想ビジネスミーティングまたは仮想教育機能の一つまたは複数を含み、各アバターは前記仮想環境での参加者を含む、
システム。
【請求項１３】
複数のアバターを含む仮想環境に対してオーディオシーンを作成するように構成されたシステムであって、前記複数のアバター間の前記仮想環境におけるリンク構造があり、前記リンク構造のリンク情報はアバターに対応する計算装置間の通信に関係し、当該システムは、複数の計算装置であって、それぞれ前記仮想環境で少なくとも1体のアバターを制御することができる計算装置を備え；
各計算装置は前記少なくとも1体のアバターに対して、前記少なくとも１体のアバターの他のリンクされたアバターとの関連に基づいて出力オーディオシーンをレンダリングするように構成され、かつ少なくとも1台の他の計算装置に前記出力オーディオシーンを通信するように構成され、
作られた前記リンク構造は、各計算装置に対応するアバターについての着信するリンク上のオーディオストリームに適用するべき、前記各計算装置に対応するアバターについての前記オーディオシーンをレンダリングする角度または減衰係数の少なくとも1つに関する情報を含み、前記オーディオシーンをレンダリングする角度は前記オーディオシーンにおける前記各アバターと前記他のリンクされたアバターとの間のリンクによって形成される角度に対応し、前記仮想環境は：複数の遊戯者によるオンラインゲーム；仮想ビジネスミーティングまたは仮想教育機能の一つまたは複数を含み、各アバターは前記仮想環境での参加者を含む、
オーディオシーン作成システム。
【請求項１４】
さらに、各計算装置は少なくとも1台の他の計算装置から入力オーディオシーンを受け取り、かつ前記出力オーディオシーンと共に前記入力オーディオシーンをレンダリングするように構成されたことを特徴とする請求項１３に記載のオーディオシーン作成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に没入型のオーディオ通信の分野に関し、更に詳しくは、ピアツーピア（peer  to  peer）環境中での没入型のオーディオシーンの作成に関するが、決してこれ専用に限定されるものではない。
【背景技術】
【０００２】
近年、視覚的に没入型仮想環境（immersive  virtual  environment）を作成する分野で著しい進歩があった。これらの進歩によって、大規模な複数の遊戯者（multi-player）によるロールプレーイングゲームが広範囲に取り込まれるようになった。参加者は、例えば戦場のような、共通の仮想環境に入ることができ、仮想環境でアバター（avatar）として表わされる。ここで、アバターは、典型的にはアニメ化されたキャラクタの形をしている。
【０００３】
視覚的に没入型の仮想環境が広範囲に取り込まれることは、高度に詳細で現実的なグラフィックスが仮想環境中で生成されることを可能にする画像処理技術と、高速処理ユニットを使用する三次元的音響カードの発達という二つの著しい進歩という要因を、部分的には、背景にしている。しかしながら、これらの環境における主な障害は、現在の遊戯者間の通信機構が原始的、即ち、通常は文章のチャットや携帯用無線電話機による音声通信であることである。遊戯者に関連する仮想世界のアバターから来るように思われる音声を、より自然な通信環境に埋め込むことは、実施するのが複雑であり、配信することも高価である。仮想環境に参加する各遊戯者によって生成されたオーディオは、聴取距離内にいる別の遊戯者に対して各別に、かつ全て送られるべきである。大規模な複数の遊戯者によるゲームには、そのようなオーディオ交換を容易にするような上流と下流の帯域幅要件は、特に厳しいものである。
【０００４】
さらに、全ての受信オーディオの流れを表現するのに必要なCPUコストは高く、仮想環境に参加するための最小ハードウェア要件に適合するために用いられる場合でも、著しく強力な演算処理装置が必要とされる。
【０００５】
定義
本明細書の全体にわたって使用される様々な術語について、以下に定義を定める：
オーディオシーン（Audio  Scene）−空間的に配置された音を組み合わせて構成されたオーディオ情報で、任意的に音の発生源と受け手との間の距離に従って音が減衰される。この組み合わせられたオーディオ情報は、例えば、仮想環境内の別のアバターに属する声や、別のリアルタイム音源を含む。オーディオシーンは、また環境の音響の特性を表わす音響効果を含んでいてもよい。
【発明の概要】
【０００６】
本発明の第1の態様では、複数のアバターを含む仮想環境にアバター用のオーディオシーンを作成する方法が提供される。この方法は、複数のアバター間のリンク構造を作るステップと、別のリンクしたアバターとの関連に基づいて各アバターに対してオーディオシーンを与えるステップを含む。
【０００７】
本発明の態様は、没入型のオーディオシーンを伝えるために、リンクしたピアツーピア形構造を用いて、低帯域幅の技術を有利に提供することである。上述のやり方でサービスを届けることで、中央サーバーでは実時間トラフィックで配信する必要性が除去される。上述のサービスを配信するためには通常帯域幅コストと大規模サーバーの請負者（farms）が必要とされるので、これには著しい原価の削減がある。これに反して、本発明の態様においては、サービスを利用するピア、またはリンクしたアバターのCPUリソースと帯域幅を使用してサービスが提供できる。さらに、新しくリンクしたアバターがそれぞれサービスを支援するためにリソースを加えるので、仮想環境中のアバターが増大しても、サービスの配信を容易に増やすことができる。
【０００８】
本発明の第２の態様は、本発明の第１の態様に従った方法を実現するようにコンピュータを制御するための少なくとも1つの指示を含むコンピュータ・プログラムを提供することである。
【０００９】
本発明の第３の態様は、本発明の第２の態様に従ったコンピュータ・プログラムを提供するコンピュータ読取可能媒体を提供することである。
【００１０】
本発明の第４の態様は、本発明の第１の態様に従った方法による工程を実現するように構成されたユーザー計算装置を提供することである。
【００１１】
本発明の第５の態様は、仮想環境でオーディオシーンを作成するように構成されたシステムを提供することである。このシステムは、複数の計算装置を備え、各計算装置は仮想環境で少なくとも1つのアバターを制御することができ、そこでは、各計算装置は少なくとも1つのアバターに対して出力オーディオシーンを提出し、かつ少なくとも1台の他の計算装置に出力オーディオシーンを通信するように構成されている。
【図面の簡単な説明】
【００１２】
本発明の範囲内にある実施形態は他にもあるけれども、本発明の一実施例を単なる例示のためだけに、添付の図面を参照して記載する。
【図１】図1は、本発明の一実施例を実行するように配置されたシステムのブロックダイヤグラムである。
【図２】図２は、仮想環境中でアバターのレイアウトの具体例を示す図である。
【図３】図３は、図2の仮想環境のアバターによって受け取られる各オーディオ流〔オーディオストリーム〕を表現〔レンダリング〕する（rendering）のに必要な角度と減衰レベルを示す図である。
【図４】図４は、図2の仮想環境でアバターをつなぐ網状結線〔メッシュ接続〕（mesh  connection）の具体例を示す図である。
【図５】図５は、図2のアバター間における最短の連結を決定するために最小全域木〔最小スパニング木〕（minimum  spanning  tree）の適用を描く図である。
【図６】図６は、本発明の実施例に従って最小全域木に加えられている辺〔エッジ〕（edge）を示す図である。
【発明を実施するための形態】
【００１３】
図1を参照して、システム１００は仮想環境サーバー１０２、制御サーバー１０３、ユーザー計算装置１０４および通信システム１０６を含んでいる。
【００１４】
仮想環境サーバー１０２の主要な機能は仮想環境の状態情報を保持することである。発明の本実施例では、仮想環境は複数の遊戯者によるオンラインゲームの戦場である。また、アバターは仮想環境での参加者（すなわちユーザー計算装置１０４の使用者）を表わし、アニメ化された兵士の形をしている。仮想環境サーバー１０２によって保持された状態情報では、例えば、仮想環境でのアバターの位置を含む。すなわち、アバターの位置は戦場の兵士の所在である。
【００１５】
本実施例が、複数の遊戯者のオンラインゲームのための仮想環境とアバターに制限されないことに注意されたい。実施例には例えば、仮想スタッフミーティングのようなビジネスコンテキストや、仮想講義のような教育のコンテキスト中の仮想環境を含む、一連の仮想環境へのアプリケーションがある。
【００１６】
状態情報を保持する主要な機能を行なうために、仮想環境サーバー１０２は、マザーボード、中央処理装置、ランダムアクセス記憶装置、ハードディスク、ネットワークのハードウェアおよび電源を含むコンピューター・ハードウェアで構成される。ハードウェアに加えて、仮想環境サーバー１０２は、ハードディスク上に存在し、ソフトウェア・アプリケーションを実行できる環境を提供するためにハードウェアと協同する、オペレーティング・システムを備えている。オペレーティング・システムは、例えばリナックスである。リナックスは、URL  http://www.redhat.comにあるウェブサイトからインターネット経由で入手できる。この点に関しては、仮想環境サーバー１０２のハードディスクに、状態情報の保持のために仮想環境サーバアプリケーションが載せられる。仮想環境サーバアプリケーションは、例えばクエーク（Quake）エンジンであり、URL  http://www.idsoftware.comにあるウェブサイトからインターネット経由で入手できる。
【００１７】
制御サーバー１０３は高速リンク１０５によって仮想環境サーバー１０２に接続される。制御サーバー１０３は仮想環境サーバーと同じハードウェアを組込み、仮想環境の中にある様々なアバターの特定と、仮想環境中のアバターの所在を識別する情報を得る仮想環境サーバー１０２と互いに影響しあうように配置された制御サーバアプリケーションが積み込まれている。またこの情報には、任意の動的な音の障壁の詳細や、例えば、活動中か静止状態にあるか等のアバターのステータスの詳細が含まれる。制御サーバー１０３は、制御サーバアプリケーション内に組み込まれたアルゴリズムを使用して、各ユーザー計算装置と通信する没入型オーディオレンダリング情報（immersive  audio  rendering  information）を生成する。図1に示すように、制御サーバー１０３もリンク１１４を経由してユーザー計算装置と通信するように配置される。
【００１８】
ユーザー計算装置１０４は、ラップトップまたはデスクトップ・コンピュータの形式をしている。しかしながら、実施例がラップトップやデスクトップ通信装置に制限されないことはたやすく認識される。本発明の変形実施例において（例えばデバイス０４ａ、…、０４ｈとして図示されたように）、ユーザー計算装置１０４は、ノキア製のN-ゲージ（国際登録商標）やプレイステーション・ポータブル（登録商標）のような携帯無線通信装置でもよい。各ユーザー計算装置１０４は、マザーボード、中央処理装置、ランダムアクセス記憶装置、ハードディスク又は同様の記憶装置、電源、モニター、および、例えばキーボード等のユーザー情報入力装置を含むコンピューター・ハードウェアで構成されている。ハードウェアに加えて、ソフトウェア・アプリケーションを実行できる環境を設けるために、各ユーザー計算装置１０４のハードディスクに、計算装置１０４のハードウェアと相互に作用するオペレーティング・システムが載せられる。この点に関しては、各ユーザー計算装置１０４のハードディスクに、仮想環境クライアント・アプリケーションおよび没入型オーディオ通信クライアント・アプリケーションが載せられる。
【００１９】
仮想環境クライアント・アプリケーションは、仮想環境サーバー１０２に載せられた仮想環境サーバアプリケーションとの間で、仮想環境のために状態情報を送受するように配置される。没入型オーディオ通信クライアント・アプリケーションは、別の没入型オーディオ通信クライアントとの間でオーディオ情報を送受するように配置される。各ユーザー計算装置１０４にオペレーティング・システムが載せられることは上述してある。実施例では、例えば、マイクロソフト（登録商標）ウィンドウＸＰ（登録商標）やリナックスを含む、ユーザー計算装置１０４に載せられるどんな種類のオペレーティング・システムでも動作するように容易に配置される。計算装置１０４がデスクトップ・コンピュータの形式であれば、ウィンドウＸＰ（登録商標）やリナックスの両方が典型的に使用される。
【００２０】
通信システム１０６は、各ユーザー計算装置１０４の仮想環境クライアント・アプリケーションと、仮想環境システム１０２の仮想環境サーバアプリケーションとの間で、互いのデータ交換を、より明確には、状態情報の交換を可能にする。また、通信システム１０６は、各ユーザー計算装置１０４の没入型オーディオ通信クライアント・アプリケーションと制御サーバー１０３との間で、互いのデータ交換を、より明確には、ピアツーピアグラフの形式をしているリンク構造の詳細の交換を可能にする。
【００２１】
データの交換を支えるために、通信システム１０６は、ユーザー計算装置１０４からデータを送受するためにデータ網１１０をインターネットの形で有する。本発明はインターネットと共に使用されることに制限されず、また、本発明の変形実施例では、例えば、802.11に基づいた無線ネットワーク又はその相当物を使用してもよい。仮想環境システム１０２とユーザー計算装置１０４が、通信システム１０６を経由してデータ交換できるように、仮想環境サーバー１０２は、高速度データリンクの形式を有する通信リンク１１４によってインターネット１１０に接続される。
【００２２】
本発明の実施例では、仮想環境に参加するユーザー計算装置１０４の使用者に没入型オーディオを提供することについて、低帯域幅のピアツーピア技術を主に問題にしている。そのため、以下の記述は、特に制御サーバー１０３にロードされた制御サーバアプリケーションと、各ユーザー計算装置１０４にロードされた没入型オーディオ通信クライアント・アプリケーションの機能性に焦点を当てている。
【００２３】
上述したように、制御サーバー１０３上に存在する制御サーバアプリケーションは仮想環境サーバアプリケーションから仮想環境中で作動するアバターの所在に関係のある情報を得るように配置される。ここに記述された実施例に従って、所在情報は三次元座標（ｘ、ｙ、ｚ）の形をとる。制御サーバアプリケーションは、仮想環境内の音声の伝搬に影響を及ぼす静的・動的な音の障壁（以下「障壁情報」という）の詳細を得るように、付加的に構成される。一旦所在情報および障壁情報が得られたならば、制御サーバアプリケーションは以下の作用を行なう：
【００２４】
(1)仮想環境中のアバターの所在（ｘ、ｙ、ｚ）に基づいて、木、あるいは一組の木を計算する。一組の木は、互いの聴取距離内にないような、アバターの数多くの異なるグループ分けがある場合に計算される。これらの木は、話し手のアバターを聞き手のアバターに接続する。制御サーバアプリケーションは、木がどのように構築されるか定めるために、ノード（即ち、各ユーザー計算装置に対応する）の利用可能な帯域幅および信頼度のような要因を考慮に入れる。例えば、木のノードに利用可能な高帯域幅がない場合、アプリケーションによってその木に接続される別のノードの数が制限される。ノードの信頼性の低い場合（例えばノードに大きな遅延かパケット損失の履歴がある場合）、制御サーバアプリケーションは、それが木の葉であることを確認しても良い。
【００２５】
(2)ピアツーピアグラフを形成する各話し手と聞き手との間の経路長を低減するために、木にループを導入する。制御サーバアプリケーションは、ユーザー計算装置によって最終的に出力されるオーディオ流（audio  stream）の中に、正帰還も認知可能なエコーもないことを保証するために、所定長よりも短いループ長を導入しない。そして、
【００２６】
(3)ピアツーピアグラフ中で識別されたユーザー計算装置１０４に対して、ピアツーピアグラフに関連した以下の詳細を通信する：
(a)ユーザー計算装置「Ａ」が接続を完成する必要があるアバターのセット；
(b)Ａがこれらの各接続に対して送信するオーディオ流に適用すべき減衰値α（αはグラフ・リンクの長さに相当する）；
(c)受信オーディオ流が提供される角度θ（θはグラフ・リンクの角度に相当する）。
【００２７】
木構造（上記のポイント１を参照)を作成する機能に関して、任意の適切な木構造が使用できる。しかしながら、現在の実施例の場合には、最小全域木（ＭＳＴ）が使用される。（最小全域木は、木のリンクの長さに関係するコスト距離（cost  metric）に関して最小である。木のリンクの長さは仮想環境中のアバター間の距離に比例する。)
【００２８】
各ユーザー計算装置１０４に存在する没入型オーディオクライアント・アプリケーションによって実現される2つのメイン作用がある。第1の機能は、ユーザー計算装置１０４のユーザーに対して再生用の没入型のオーディオシーンを作成するために受信オーディオ流を提供することである。このプロセスは、｛Ｅ１、Ｅ２、…、Ｅｎ｝に対して接続されるグラフの各辺でオーディオ流を受け取ると共に、没入型オーディオレンダリング情報によって指定された角度θでオーディオ流を与える、ユーザー計算装置１０４を基本的に含んでいる。第2の機能はすべての別の辺接続されたユーザー計算装置／アバターに対して、ユーザー計算装置１０４によって生成された混合オーディオ流を送ることを含む。混合オーディオ流は、ユーザー計算装置（つまりクライアントの音声）によって捕らえられたオーディオ流と、すべての別の辺（もちろん、混合オーディオ流が送信されるべき辺を除外して）上で受信されているオーディオ流の両方を混合して入れている。混合オーディオ流を送る前に、混合オーディオ流がその特定の辺に対する減衰値αを用いて減衰させられるが、これはまた没入型オーディオレンダリング情報によって指定される。
【００２９】
ここでは、図1〜6を参照して、ユーザー計算装置によって没入型のオーディオシーンを与える方法の一例を説明する。
【００３０】
第１段階では、仮想環境サーバー１０２は、仮想環境の状態情報を後の処理のためにクライアントサーバー１０３のクライアントサーバー・アプリケーションへ渡す。クライアント（Ｃ１、Ｃ２、…、ＣＮ）によって各々制御されたN個のアバター（Ａ１、Ａ２、…、ＡＮ）を備えた仮想世界を付与する。オーディオサンプル（Ｖｉ）は、これらN個のクライアントの各々によって生成される。グラフはＦ個の辺（Ｅ１、Ｅ２、…、ＥＦ）で構成される。これらの各辺は関連する角度θｊと減衰率αｊを有する。ここで、０＜ｊ≦Ｆである。
【００３１】
（ステップ１）図2に示されるような仮想環境中の（ｘ、ｙ）座標に対応する（ｘ、ｙ）座標で、平面にすべてのアバターを置く。
（ステップ２）グラフの全ノード間の網状結線を作成する。ここで壁が存在する場合には、壁の反対側にいるアバターとの間のどんなリンクも除去する。
（ステップ３）クラスカルのアルゴリズム（Kruskal's  algorithm）のような、適切なアルゴリズムを使用して、ノードをすべて接続するための最小全域木（ＭＳＴ）を計算する。
（ステップ４）最小全域木に含まれない、グラフ中のリンクをすべて除去する。
【００３２】
（ステップ５）ノードで伝送限界を超過せずに、ループを加えることができ、また、例えば聴取距離２倍のような、しきい値を越えるループがある場合には、次のような処理を行う：
（a)辺長さの最小値（min_edge_length）を無限大に設定する。
（b)互いに聞くことができる組のノードｉ、ｊの各々に対して、(i)と(ii)の処理をする。
(i)次式のような2つのノードの間の最小のループ距離を計算する。
min_loopij=SPij+VDij.
ここで、SPijは、iとjとの間の木の最短パス経路である。VDijは、iとjの間の直接のリンクが存在する場合の、iとjの間の直接のリンクの長さである。
(ii)ループ最小値（min_loopij）がループしきい値（loop  threshold）よりも大きい場合で、ノードｉ、ｊの距離Dijが辺長さの最小値（min_edge_length）よりも小さい場合：ここで、ループしきい値（loop  threshold）は聴取距離の2倍（2  x  hearing_range）である。
(1)辺長さの最小値（min_edge_length）に、iとjの間の直接のリンクの長さ（VDij）をセットする（min_edge_length=VDij）
(2)辺最小値（min_edge）に、ノードｉ、ｊの組をセットする（min_edge={i,j}）
(c)グラフへ辺最小値（min_edge）によって引用された辺を加える。これは受理可能なループを導入する最も小さな辺である。
【００３３】
さて7名の遊戯者が仮想環境に接続されたと考えよう。各遊戯者は、インターネットに接続された異なるPCを使用している。各遊戯者は別々のアバターを制御している。これらのアバターはA1からA7まで命名される。仮想世界でのこれらアバターの空間位置（ｘ、ｙ）は、表1に示される通りである。
【表１】
0005563014.tif 000002
【００３４】
アバターの各々はノードとみなしてよい。各ノードは、４個のオーディオ流を送ることができるとし、また、各ノードの聴取距離は115とする。
【００３５】
ステップ1では、アバターが仮想世界で占めていると同じｘ、ｙ座標を備えた平面にアバターを置く。これは図2に示される。
【００３６】
ステップ2では、ノード間で網状結線を作成する。つまり、網状結線では、すべてのノードは他の全てのノードに接続される。このステップは最小全域木アルゴリズムにより使用される基礎的ノードトポロジーを提供する。この例に対する網目状ネットワークは図4に示される。
【００３７】
各アバターの間の距離は、後でアルゴリズムの中で使用され、表２に示すような値（マトリックス）VDijとして計算される。
【表２】
0005563014.tif 000003
【００３８】
ステップ3では、クラスカルのアルゴリズムが最小全域木を計算するために使用された。クラスカルのアルゴリズムは、最小全域木を計算するための共通のアルゴリズムで、電気通信エンジニアやグラフ理論の専門家に有名である。
【００３９】
ステップ4では、最小全域木の一部に入らないリンクはグラフから取り除かれる。このステージの出力は図5に示される。
【００４０】
互いに「聞くことができる」ノードのセットはステップ5で計算される：
H=[(3,1),(3,5),(3,7),(3,4),(3,2),(2,4),(1,5),(1,6),(1,7),(5,6),(7,6),(7,5)]
また、表3に示されるように、各グラフ・リンクの距離も計算される：
【表３】
0005563014.tif 000004
【００４１】
結局、Hですべての要素に対する最短パス経路が計算される：
SP(3,1)=D(3,1)=47
SP(3,5)=D(3,1)+D(1,5)=47+46=93
SP(3,7)=D(3,1)+D(1,5)+D(5,6)+D(6,7)=47+46+75+68=236
SP(3,4)=D(3,4)=72
SP(3,2)=D(3,4)+D(4,2)=72+45=117
SP(2,4)=D(2,4)=45
SP(1,5)=D(1,5)=46
SP(1,6)=D(1,5)+D(5,6)=46+75=121
SP(1,7)=D(1,5)+D(5,6)+D(6,7)=46+75+68=189
SP(5,6)=D(5,6)=75
SP(7,6)=D(7,6)=68
SP(7,5)=D(7,6)+D(6,5)=68+75=143
min_loopij=SPij+VDij
min_loop(3,1)=47+47=94
min_loop(3,5)=93+86=179
min_loop(3,7)=236+105=341
min_loop(3,4)=72+72=144
min_loop(3,2)=117+105=222
min_loop(2,4)=45+45=90
min_loop(1,5)=46+46=92
min_loop(1,6)=46+115=181
min_loop(1,7)=189+105=194
min_loop(5,6)=75+75=150
min_loop(7,6)=68+68=136
min_loop(7,5)=143+90=233
【００４２】
次に、辺長さの最小値（min_edge_length）を無限大にセットすると、ループ最小値（min_loop(3,7)）は聴取距離の2倍（2  x  hearing_range）(230)より大きく、またノード３と７の間の直接のリンクの長さVD(3,7)は辺長さの最小値（min_edge_length）よりも小さいことが分かる。従って、辺長さの最小値（min_edge_length）はVD(3,7)=105となり、辺最小値（Min_edge）はノード{3,7}の組となる。
【００４３】
更に、別のループ最小値（min_loop(i,j)）で聴取距離の2倍（2  x  hearing_range）より大きいものは存在しない。そこで、辺｛３,７｝が図6に示すようにグラフに加えられる。
【００４４】
次に、ステップ5は、加算するためループが存在しなくなるまで、最新のグラフを使用して繰り返される。最新のグラフは、ステップ５の前回の繰り返しによってリンクに加えられたものである。
【００４５】
ステップ5の次回の繰り返しでは、加えるべき条件を満たしたループのないことが分かるので、アルゴリズムはリンク７,３を付加するだけで停止する。
【００４６】
図３を参照して、アバター３の視野から着信オーディオ流を与えるために必要とされる、提供角度（rendering  angle）と減衰レベルを表示するグラフが示される。先の図中で示されるように、アバター３はアバター１、７、４からオーディオ流を受け取る。アバター３を制御するユーザー計算装置上で存在する仮想環境クライアント・アプリケーションは、以下のようにオーディオシーンを再現する。アバター１から到着するオーディオは、アバター３の左側の角度θ31で描画される。アバター７から受領したオーディオは聞き手の左側の角度θ37で描画される。一方、図6に示されるように、アバター4から受領したオーディオは、聞き手の右側の角度θ34で描画される。
【００４７】
アバター１、７、４から受け取られるオーディオ流は、全上流ノードの減衰した混合物である。例えば、アバター１からアバター３に送られたオーディオ流は、アバター１の声と混じり合った、（リンク３,１上のオーディオを除いて）着信オーディオ流として受け取られた全オーディオのミックスである。アバター１の声はユーザー計算装置によってローカルに記録される。これらの声は、オーディオを受け取るリンクの長さに応じて減衰される。したがって、リンク３,１上で送られるオーディオ流は次のものと等しい：アバター１のローカルに生成された声と、α15で減衰したアバター５によって送られたオーディオとの混合されたもので、さらにα12で減衰したアバター2によって送られたオーディオ流がアバター５のオーディオ流に混合されている。
【００４８】
各アバターからのオーディオが全着信リンク上で受け取られたオーディオの減衰変形体と混合しているので、減衰の異なるレベルのせいで距離が変化していると共に、アバター１の方向から放射されたアバター１、5の声をアバター３が効果的に聞く。アバター6の音声は、アバター１、7の両方の方向からアバター３によって聞かれるオーディオに影響する。しかしながら、そのとき減衰レベルが正確にセットされれば、アバター6のボリュームは無視できる。この例で留意すべき点として、もしループが導入されていない場合には、アバター７がアバター５とアバター１を経由する経路上の減衰が大きすぎる為に、アバター３はアバター７の声を聞かなかったことである。
【００４９】
たとえ本発明の実施例が仮想環境を支えるために使用されるコンテキストについて記述されたが、仮想環境と共に使用されることに本発明が制限されないことはたやすく認識される。それゆえ、例えば音響だけの会議システムのような、没入型のオーディオ・システムに用いるために本発明を使用することができる。
【００５０】
本発明は当面の実施例に関して記述されているが、変更、変化および改良が行われてもよいことは当業者によって了解される。また、発明の範囲から外れることなく、等価物や等価物のステップが実施例の要素やステップに代えて用いられてもよい。さらに、多くの変更が本発明の核心の範囲から外れずに、本発明の思想を特定の状況や材料に本発明を適応させるためになされてもよい。そのような変更、変化、変更および改良は、明示的には記述されていないが、しかしながら、発明の思想の範囲内で意図され意味するものである。したがって、本発明はここに記述した特定の実施例に制限されるものではなく、独立クレームの範囲内にある全ての実施例をすべて含むものである。
【００５１】
いくつかの付番実施形態を記載しておく。
〔付番実施形態１〕
計算装置によって実行される、複数のアバターを含む仮想環境における前記計算装置に対応するアバターについてのオーディオシーンを作成する方法であって：
前記複数のアバター間のリンク構造についての情報をサーバーから受信する工程であって、前記情報は前記計算装置が通信する必要がある別のリンクされたアバターの集合を含む、工程と；
前記別のリンクされたアバターに対応する別の計算装置からオーディオストリームを受信する工程と；
前記別のリンクされたアバターとの関連および受信されたオーディオストリームに基づいて当該アバターについてのオーディオシーンをレンダリングする工程と；
を含む方法。
〔付番実施形態２〕
前記リンク構造についての前記情報は、着信するリンク上のオーディオストリームに適用するべきレンダリング角度および減衰係数（attenuation  factor）の少なくとも1つを定義することを特徴とする付番実施形態１に記載のオーディオシーン作成方法。
〔付番実施形態３〕
サーバーによって実行される、前記サーバーと通信する複数のアバターに対応する複数の計算装置において仮想環境における前記複数のアバターについてのオーディオシーンを作成するための方法であって：
前記複数のアバター間のリンク構造を生成する工程と；
前記リンク構造についての情報を前記計算装置の一つに送る工程とを含み、前記情報は前記計算装置の前記一つが通信する必要がある別のリンクされたアバターの集合を含む、
方法。
〔付番実施形態４〕
付番実施形態３記載の方法であって、さらに：
前記リンク構造における2体のアバター間のリンクについて、前記リンク構造における前記2体のアバター間の距離に基づいてコスト・メトリックを計算する工程と；
前記コスト・メトリックに基づいて前記リンクについての減衰係数を決定する工程とを含む、
方法。
〔付番実施形態５〕
付番実施形態３または４記載の方法であって、リンク構造を生成する前記工程が、前記計算装置の利用可能な帯域幅および信頼性の少なくとも一方を考慮に入れる、方法。
〔付番実施形態６〕
前記リンク構造は前記複数のアバターを接続する木構造であることを特徴とする付番実施形態１乃至付番実施形態５の何れか１項に記載の方法。
〔付番実施形態７〕
前記木構造は最小スパニング木であることを特徴とする付番実施形態６に記載の方法。
〔付番実施形態８〕
さらに、ループの最小の長さが作成されるオーディオシーン中でのエコーを回避する所定値未満であるように、前記最小スパニング木にループを導入する工程を有することを特徴とする、付番実施形態６が付番実施形態３ないし５のうちいずれか一項を引用する場合の付番実施形態７に記載の方法。
〔付番実施形態９〕
前記所定値はアバターの聴取距離の2倍であることを特徴とする付番実施形態８に記載の方法。
〔付番実施形態１０〕
さらに、前記レンダリングされるオーディオシーンを前記計算装置のアバターによって生成されたオーディオストリームと混ぜる工程を有することを特徴とする付番実施形態１または２に記載の方法。
〔付番実施形態１１〕
さらに、別のリンクされたアバターに前記混ぜたオーディオシーンを送る工程を有することを特徴とする付番実施形態１０に記載のオーディオシーン作成方法。
〔付番実施形態１２〕
付番実施形態１乃至付番実施形態１１の何れか１項に記載の方法を実現するようにコンピュータを制御するための少なくとも1つの命令を含むコンピュータ・プログラム。
〔付番実施形態１３〕
付番実施形態１２に記載のコンピュータ・プログラムを提供するコンピュータ読取可能媒体。
〔付番実施形態１４〕
付番実施形態１、２、１０および１１の何れか１項に記載の方法の工程を実践するように構成されたユーザー計算装置。
〔付番実施形態１５〕
仮想環境についてのオーディオシーンを生成するように構成された、複数の計算装置を含むシステムであって、各計算装置は前記仮想環境で少なくとも1体のアバターを制御することができ、各計算装置は：
サーバーから受信されるリンク構造についての情報によって指定される少なくとも一つの別の計算装置と通信し；
少なくとも1体のアバターについて出力オーディオシーンをレンダリングし；
少なくとも1台の他の計算装置に前記出力オーディオシーンを通信するように構成されたことを特徴とする、
オーディオシーン作成システム。
〔付番実施形態１６〕
さらに、各計算装置は少なくとも1台の他の計算装置から入力オーディオシーンを受け取り、かつ前記出力オーディオシーンと共に前記入力オーディオシーンをレンダリングするように構成されたことを特徴とする付番実施形態１５に記載のオーディオシーン作成システム。
【図１】
0005563014.tif 000005
【図２】
0005563014.tif 000006
【図３】
0005563014.tif 000007
【図４】
0005563014.tif 000008
【図５】
0005563014.tif 000009
【図６】
0005563014.tif 000010