(57)【要約】【課題】放射が潜在的に多くの知覚点から知覚でき、放射と知覚点がリアルタイムで変化する関係を有する、ストリーミングデータのセグメントを使用して表される放射をレンダリングするスケーラブルな技法の提供。【解決手段】技法では、あるタイムスライスの間、所与の放射が所与の知覚点から知覚できるかどうか判定することによって各セグメントをフィルタリングし、知覚できない場合、放射を表すストリーミングデータのセグメントは、所与の知覚点から知覚されるように放射をレンダリングするのに使用されない。技法は、ネットワーク接続された仮想環境において、ネットワーク接続された仮想現実システム内の各クライアントでオーディオ放射をレンダリングするのに使用される。オーディオ放射では、所与の放射が所与の知覚点において知覚できるかどうかの一つの決定要因は、他の放射の心理音響学的特性が所与の放射を遮断するかどうかである。【選択図】図１
2015053061.tif 000002
【特許請求の範囲】
【請求項１】
仮想現実システムにおけるフィルタであって、該仮想現実システムが、仮想環境におけるアバタよって知覚されるように該仮想環境をレンダリングし、該仮想環境が、該アバタによって仮想環境において知覚されるかどうかがリアルタイムで変化する放射の発生源を含み、および、該放射が仮想現実システムにおいてストリーミングデータを包含するセグメントによって表され、かつ、以下の特徴を含む、フィルタ：
フィルタが、該アバタと関連付けられており、
フィルタが、
該セグメントのストリーミングデータで表される該放射の現在の放射源情報と;
該フィルタのアバタの現在のアバタ情報と;
にアクセスすることができ、
フィルタが、該現在のアバタ情報と該セグメントのストリーミングデータの該現在の放射源情報とから、該セグメントのストリーミングデータで表される該放射を該アバタが知覚できるかどうか第一の判定し、かつ、その他の知覚できる放射を考慮して、該放射が該アバタにレンダリングされるべきかどうか第二の判定をし、該第一の判定が、該セグメントのストリーミングデータで表される該放射を該アバタが知覚できないことを示すとき、または、該第二の判定が、該放射が該アバタにレンダリングされるべきでないことを示すとき、該仮想現実システムが該仮想環境をレンダリングする際に該セグメントを使用せず、
仮想現実にアバタが知覚できる複数の放射があり、かつ
その他の知覚できる放射を考慮して、該放射がアバタにレンダリングされるべきかどうかの第二の判定が、該放射を前記アバタが他の知覚可能な放射と比べて心理音響学的効果に従って知覚できるかどうかに基づく。
【請求項２】
放射を知覚できるかどうかの第一の判定が、仮想環境における該放射の物理的特性に基づくものである
ことをさらに特徴とする、請求項1記載のフィルタ。
【請求項３】
アバタが、少なくともアバタのグループの構成メンバであることに基づいて、該アバタが仮想環境において、可聴放射として、知覚することのできない放射も、可視放射として、さらに知覚する
ことをさらに特徴とする、請求項1記載のフィルタ。
【請求項４】
アバタが放射を知覚できないようにする物理的特性が、仮想環境における、該放射と該アバタの間の距離である
ことをさらに特徴とする、請求項2記載のフィルタ。
【請求項５】
アバタによって知覚される際に、複数の放射は異なる強さを有し;
前記放射を前記アバタが心理学的に知覚できるかどうかは、該アバタが知覚できる他の放射の強さに対する該放射の相対的強さによって判定される
ことをさらに特徴とする、請求項1記載のフィルタ。
【請求項６】
第1の判定で放射を知覚できると判定した場合に限って第2の判定を行う
ことをさらに特徴とする、請求項1記載のフィルタ。
【請求項７】
放射が、仮想環境において聞き取れる可聴放射である
ことをさらに特徴とする、請求項1〜6のいずれか一項記載のフィルタ。
【請求項８】
放射が、仮想環境において目に見える可視放射である
ことをさらに特徴とする、請求項1〜6のいずれか一項記載のフィルタ。
【請求項９】
放射が、仮想環境において触ることによって知覚される触覚放射である
ことをさらに特徴とする、請求項1〜6のいずれか一項記載のフィルタ。
【請求項１０】
以下をさらに特徴とする、請求項1〜6のいずれか一項記載のフィルタ：
前記仮想現実システムが、ネットワークによって相互にアクセス可能な複数のコンポーネントからなる分散システムであり、前記放射が、複数のうちの第1のコンポーネントにおいて生成され、かつ別のコンポーネントにおいて仮想環境をレンダリングするのに使用され、前記セグメントが、該ネットワークを介して該コンポーネントと該別のコンポーネントの間で搬送され、該フィルタが、該第1のコンポーネントと該第2のコンポーネントの間の該分散システムのどこかに位置する。
【請求項１１】
分散システムのコンポーネントは少なくとも1台のクライアントとサーバとを含み、放射は該クライアントにおいてアバタのために生成され、かつ/またはレンダリングされ、該サーバはフィルタを含み、該クライアントから該放射を表すセグメントを受け取り、該フィルタを用いて、該アバタのためにレンダリングする目的で該クライアントに提供されるべきセグメントを選択する
ことをさらに特徴とする、請求項10記載のフィルタ。
【請求項１２】
セグメントには、該セグメントのストリーミングデータで表される放射の現在の放射源情報も包含される
ことをさらに特徴とする、請求項1〜6のいずれか一項記載のフィルタ。
【請求項１３】
そこからフィルタのアバタの現在のアバタ情報をフィルタが獲得する、現在のアバタ情報セグメントを、セグメントがさらに含む
ことをさらに特徴とする、請求項1〜6のいずれか一項記載のフィルタ。
【請求項１４】
ストリーミングデータのセグメントで表される放射をレンダリングするシステムにおけるフィルタであって、該放射が放射を潜在的に知覚することができる知覚点から、ある時点において知覚されるようにシステムによってレンダリングされ、かつ、
以下を特徴とする、フィルタ：
フィルタが、前記知覚点と関連付けられており;
フィルタが、
前記時点における前記セグメントのストリーミングデータで表される前記放射の現在の放射情報と;
前記時点における前記フィルタの知覚点の現在の知覚点情報と;
にアクセスすることができ、
フィルタが、前記現在の知覚点情報と前記現在の放射情報とから、前記セグメントのストリーミングデータで表される前記放射が前記フィルタの知覚点において知覚できるかどうか第一の判定し、かつ、その他の知覚できる放射を考慮して、該放射が該アバタにレンダリングされるべきかどうか第二の判定をし、該第一の判定が、該セグメントのストリーミングデータで表される該放射が該フィルタの知覚点において知覚できないことを示すとき、または、該第二の判定が、該放射が該アバタにレンダリングされるべきでないことを示すとき、前記システムが、該フィルタの知覚点における該放射をレンダリングする際に該セグメントを使用せず、
仮想現実にアバタが知覚できる複数の放射があり、かつ
その他の知覚できる放射を考慮して、該放射がアバタにレンダリングされるべきかどうかの第二の判定が、該放射を前記アバタが他の知覚可能な放射と比べて心理音響学的効果に従って知覚できるかどうかに基づく。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本特許出願の主題は、参照によりその全文が本明細書に組み入れられる以下の米国仮特許出願に関連し、その優先権を主張するものである。
2008年1月17日付けで出願された、米国仮特許出願第61/021729号,Rafal Boni, et al., Relevance routing system
【０００２】
連邦政府による資金提供を受けた研究開発の記載
該当せず
【０００３】
シーケンスリスト等の参照
該当せず
【背景技術】
【０００４】
発明の分野
本明細書において開示する技法は仮想現実システムに関し、より詳細には、マルチアバタ仮想環境におけるストリーミングデータのレンダリングに関する。
【０００５】
関連技術の説明
仮想環境
仮想環境という用語は、VEと略記され、本発明の状況においては、コンピュータシステムのユーザが現実世界の環境に期待するものに従うように振る舞うコンピュータシステムによって作成される環境をいう。仮想環境を生成するコンピュータシステムを、以下では、仮想現実システムといい、仮想現実システムによる仮想環境の作成を、仮想環境のレンダリングという。仮想環境はアバタを含んでいてもよく、アバタは、本発明の状況では、仮想環境において知覚点を有する仮想環境に属するエンティティである。仮想現実システムは、アバタのための仮想環境を、アバタの知覚点から知覚されるものとしてレンダリングし得る。仮想環境システムのユーザは、仮想環境内の特定のアバタと関連付けられていてもよい。仮想環境の歴史と発展の概要については、「Generation 3D:Living in Virtual Worlds」,IEEE Computer, October 2007（非特許文献１）に記載されている。
【０００６】
多くの仮想環境において、アバタと関連付けられているユーザは、アバタを介してその仮想環境と対話することができる。すなわちユーザは、アバタの知覚点から仮想環境を知覚することができるのみならず、仮想環境におけるアバタの知覚点を変更したり、別の方法でアバタと仮想環境の関係を変更したりすることもでき、または仮想環境自体を変更することもできる。そのような仮想環境を、以下では、インタラクティブ仮想環境と呼ぶ。高性能パーソナルコンピュータと高速ネットワーキングの到来と共に、仮想環境、特に、多くのユーザのアバタが仮想環境と同時に対話するマルチアバタインタラクティブ仮想環境が、工学研究所や専門応用領域から広範な利用へと転じた。そのようなマルチアバタ仮想環境の例には、World of Warcraft（登録商標）など、大規模マルチプレイヤ・オンライン・ゲーム（MMOG）の環境や、Second Life（登録商標）など、ユーザ定義の仮想環境のような、相当量のグラフィカルコンテンツおよびビジュアルコンテンツを備える環境が含まれる。そのようなシステムでは、仮想環境の各ユーザが仮想環境のアバタで表され、各アバタは、仮想環境における各アバタの仮想位置およびその他の局面に基づく仮想環境における知覚点を有する。仮想環境のユーザは、PCやワークステーションコンピュータなどクライアントコンピュータを介して、仮想環境内で各自のアバタを制御し、対話する。仮想環境はさらに、サーバコンピュータを使用して実施される。ユーザのアバタのためのレンダリングは、サーバコンピュータから送られるデータに従ってユーザのクライアントコンピュータ上で生成される。データは、ネットワークを介して仮想現実システムのクライアントコンピュータとサーバコンピュータの間で、データパケットとして送信される。
【０００７】
これらのシステムの大部分は、ユーザのアバタに仮想環境の視覚画像を提示する。仮想環境の中には、さらに、仮想環境内でユーザのアバタに聞こえる音や、アバタの仮想的触覚からの出力など、情報をユーザに提示するものもある。また、「Neuentwicklungen auf dem Gebiet der Audio Virtual Reality」, Fraunhofer-Institut fuer Medienkommunikation,Germany, July 2003（非特許文献２）に記載されている、Fraunhofer Instituteにおいて開発されたLISTENシステムによって生成されるような、主として、またはもっぱらユーザに対する可聴出力からなる仮想環境およびシステムも考案されている。
【０００８】
仮想環境が対話型である場合、あるユーザのアバタの外観および行動は、ユーザの外観および行動を表す際に、仮想環境内の他のアバタが知覚する、すなわち見たり聞いたりするところのものである。当然ながら、アバタが特定のエンティティに似ているように見え、または似ていると知覚される必要はなく、ユーザのアバタは、意図的に、ユーザの実際の外観と全く異なる外観をしていてもよい。このことが、「現実世界」における対話と比べて、仮想環境における対話が多くのユーザにとって魅力的とされる局面の一つである。
【０００９】
仮想環境内の各アバタは個々の知覚点を有するため、仮想現実システムは、マルチアバタ仮想環境においてアバタごとに別々に仮想環境をレンダリングしなければならない。第1のアバタが知覚する、例えば「見える」ものは、ある知覚点からのものであり、第2のアバタが知覚するものは、異なる。例えば、アバタ「Ivan」には、特定の位置および仮想の方向からアバタ「Sue」およびアバタ「David」と仮想のテーブルが「見える」が、アバタ「Lisa」は、仮想環境においてIvanの「背後に」おり、よって「視野外に」あるため見えない。別のアバタ「Sue」には、同時に、全く別の角度から、Ivan、Sue、LisaおよびDavidの各アバタと、2脚の椅子が見える。別のアバタ「Maurice」はそのとき、仮想環境内の全く異なる仮想位置におり、Ivan、Sue、LisaおよびDavidの各アバタのいずれも見えず（各アバタにもMauriceが見えず）、その代わり、Mauriceには、Mauriceと同じ仮想位置の近くにいる他のアバタが見える。本考察では、アバタによって異なるレンダリングをアバタ別のレンダリングと呼ぶ。
【００１０】
図2に、例示的な仮想環境における特定のアバタのアバタ別のレンダリングの一例を示す。図2はレンダリングからの静止画像である。実際には、仮想環境は、場面を動的にカラーでレンダリングするはずである。このレンダリング例における知覚点は、仮想現実システムが図2に示すレンダリングを行っている対象のアバタの知覚点である。この例では、8ユーザのアバタのグループが、仮想環境内の特定の場所に「行って」おり、場所は、221と223とに2段式の会議場を含む。この例では、現実世界では非常に遠く隔たった位置にいる場合もある各ユーザが、何かを議論する会議のために仮想環境内で（各ユーザのアバタによる）「会議を開く」よう準備しており、よって各ユーザのアバタは、仮想環境における各ユーザの存在を表す。
【００１１】
8人のアバタのうち7人が見えており、この例では、表示されるすべてのアバタが人の姿をしている。仮想現実システムがレンダリングを行っている対象のアバタは見えておらず、レンダリングはそのアバタの知覚点から行われている。便宜上図2では、レンダリングが行われている対象のアバタを299と呼ぶ。図は、レンダリングが、「299」で指示されるアバタの視点から行われたものであることを示すために、画像全体を囲む括弧を伴う独立のラベル299を包含する。
【００１２】
201、209、213とラベル付けされた各アバタを含む4人のアバタが会議場221上に立っているのが見える。205とラベル付けされたアバタを含む残り3人のアバタは、2つの会議場の間に立っているのが見える。
【００１３】
図2に示すように、アバタ209はアバタ213の背中の後に立っている。アバタ213の知覚点でのこの場面のレンダリングにおいては、アバタ209もアバタ299も、アバタ213にとって「視野外に」いるため、見えないはずである。
【００１４】
図2の例は、各ユーザが各自のアバタによって対話し得るが、各アバタは音声を発することができない仮想現実システムでのものである。この仮想現実システムにおいて各ユーザは、音声を発する代わりに、キーボード上でテキストを打ち込むことにより各自のアバタに「発話」させる。仮想環境はテキストを、ユーザのアバタの上に「吹き出し」としてレンダリングする。任意選択で、ユーザのアバタの名前が付いた吹き出しも同様の方法でレンダリングされる。アバタ201についての一例が203に示されている。
【００１５】
この特定の例示的な仮想現実システムでは、ユーザは、キーボードの矢印キーを使用して、各自のアバタをある仮想位置から別の仮想位置まで移動させたり、もしくは歩かせたりすることもでき、または異なる方向を向かせることもできる。また、手や腕を動かすことによってアバタに身振りをさせるキーボード入力もある。この身振りの2つの例が示されている。アバタ205は、207の円で囲まれている挙げた手と腕で示すように身振りしており、アバタ209は、211の円で囲まれている手と腕の位置で示すように身振りしている。
【００１６】
よってユーザは、各自のアバタを介して移動し、身振りし、互いに話し合うことができる。ユーザは、各自のアバタを介して、他の仮想位置および場所に移動し、他のユーザと会い、ミーティングを開き、友人を作り、仮想環境内の「仮想生活」の多くの局面に関与することができる。
【００１７】
大規模なマルチアバタレンダリング環境を実施する際の問題
大規模なマルチアバタレンダリング環境を実施するに際していくつかの問題が生じる。それらの問題の中には以下のものが含まれる:
仮想環境が多くのアバタのために作成しなければならない異なる個別レンダリングのシート数が非常に多いこと。
遅延、および利用可能なデータ帯域幅の制限を伴って、多くの接続を有するネットワーク接続を実施する必要に迫られること。
【００１８】
図2の仮想現実システムは吹き出しを使用して発話表示を処理するが、今日の仮想現実システムでは生の音が難題を生じさせる。生の音が難題を生じさせる理由の一つは、それが、以下において放射（emission）と呼ぶもの、すなわち、仮想環境内のエンティティによって生成され、仮想環境内のアバタが知覚できる仮想環境における出力の一例だからである。そのような放射の一例が、仮想環境内のあるアバタによって生成される、仮想環境内の他のアバタに聞き取れる音声である。放射の一特性は、それらが仮想現実システムにおいて、ストリーミングデータで表されることである。本発明の状況におけるストリーミングデータとは、高データ転送速度を有し、リアルタイムで予測できないほど変化する任意のデータである。ストリーミングデータは絶えず変化しているため、常時、連続したストリームとして送られなければならない。仮想環境の状況においては、一度にストリーミングデータを発する多くの発生源が生じ得る。さらに、放射の仮想位置および知覚する可能性のあるアバタにとっての知覚点もリアルタイムで変化し得る。
【００１９】
仮想環境における放射の種類の例には、聞くことのできる可聴放射、見ることのできる可視放射、触ることによって感知することのできる触覚放射、においをかぐことのできる嗅覚放射、味を感じることのできる味覚放射、および仮想のテレパシー放射や力場放射など、仮想環境に特有の放射が含まれる。大部分の放射の特性が強さである。強さの種類は、当然ながら、放射の種類に依存する。例えば、音の放射では、強さは音の大きさとして表される。ストリーミングデータの例には、音を表すデータ（オーディオデータ）や、動画を表すデータ（ビデオデータ）などがあり、連続した力や触覚を表すデータもある。新しい種類のストリーミングデータが絶えず開発されている。仮想環境における放射は、アバタと関連付けられたユーザからの音声や、生み出される、または記録された発生源からのものなど、現実世界の発生源から生じる場合もある。
【００２０】
仮想環境における放射の発生源は、仮想環境のどんなエンティティとすることもできる。音を例に取ると、仮想環境における可聴放射の例には、アバタのユーザがマイクロフォンに向かって発する音声を放射するアバタ、仮想の滝によって発せられる生み出された流水音、仮想の爆弾によって発せられる爆発音、仮想の床上で仮想のハイヒールによって発せられる不安定なコツコツ音など、仮想環境内のエンティティによって作り出される音や、仮想環境の領域によって発せられる仮想の微風や風の背景音、仮想の反すう動物の群れによって発せられる背景音などの背景音が含まれる。
【００２１】
一連の音に含まれる音、放射源とアバタの相対的位置、発生源によって発せられる音の品質、アバタにとっての音の可聴度および聴感上の音量、潜在的に知覚可能な各アバタの向きは、実際にはすべてリアルタイムで変化し得る。他の種類の放射および他の種類のストリーミングデータの場合も同じである。
【００２２】
仮想環境において各アバタによって個別に知覚されるように放射をレンダリングするという問題は複雑である。これらの問題は、発生源が放射している間に発生源および目標のアバタが仮想環境内で移動するとき、例えば、ユーザが、自分のアバタを介して、放射するアバタを移動させながら発話するときや、他のユーザが、放射を知覚しながら各自のアバタを移動させるときなどにも、非常に悪化する。後者の局面、すなわち、知覚するアバタが仮想環境内を移動することは、仮想環境における静止発生源からの放射にさえも影響を及ぼす。放射を表すストリーミングデータが絶えず変化するのみならず、そのデータがどのようにしてレンダリングされるべきか、およびそのデータがレンダリングされるべき対象の知覚側アバタも変化する。レンダリングおよび知覚側アバタは、潜在的に知覚可能なアバタが仮想環境内を移動する際に変化するのみならず、放射の発生源が仮想環境内を移動する際にも変化する。
【００２３】
この複雑さの第1のレベルでは、潜在的に知覚可能なアバタが、所与の瞬間に発生源によって発せられる一連の音を実際に知覚することができるかどうかは、少なくとも、各瞬間ごとにその発生源によって発せられる音の音量に依存する。さらに、これは各瞬間ごとの、仮想現実における発生源と潜在的に知覚可能なアバタの間の距離にも依存する。「現実世界」の場合と同様に、仮想環境内のある知覚点に対して「弱すぎる」音は、その知覚点のところのアバタには聞き取れない。「遠く離れたところ」から発する音は、それらの音がより近い距離から発するときより弱く聞こえ、または知覚される。距離が増大すると共に音がより弱く聞こえる度合いを、本発明の状況においては、距離重み係数と呼ぶ。発生源における音の強さを音の固有の音量と呼ぶ。知覚点における音の強さを聴感上の音量と呼ぶ。
【００２４】
第2のレベルでは、発せられた音を特定のアバタが聞き取れるかどうかは、発生源に対する特定のアバタの位置の他の局面、知覚側アバタに他の発生源から同時に聞こえている音によっても、またはそれらの音の品質によっても決まる場合がある。例えば、心理音響学の原理には、現実世界におけるより大きな音は、（個々の聴取者にとっての聴感上の音量に基づく）より小さい音を遮断し、または聴き取れなくする可能性があることが含まれる。これを音の相対的大きさまたは音量といい、その場合、ある音の聴感上の音量は、別の音の聴感上の音量との関連でより大きくなる。別の心理音響学的効果には、ある品質の音が他の音より聞こえやすい傾向にあることが含まれる。例えば人間は、乳児が泣いている音には、音が弱く、同時に他のより大きい音が発声しているときでさえも、特によく気付き、またはこれを聞き取る。
【００２５】
別の複雑さとして、音は、あらゆるアバタのためのあらゆる音がそのアバタにとっての適切な相対的方向から発していると知覚されるように、その音を聞き取れるあらゆるアバタに方向付けてレンダリングされるようにレンダリングすることが望ましい場合がある。よって方向性は、音を聞き取れるアバタの仮想位置のみならず、仮想環境における潜在的可聴音のあらゆる発生源の位置にも依存し、さらに、仮想環境においてアバタが「向いている」向きにも依存する。
【００２６】
ごく一握りの発生源およびアバタとの間で放射をレンダリングするのには十分に機能するはずの既存の技術の仮想現実システムが、大規模なマルチアバタレンダリング環境において何万という発生源およびアバタを処理することはとても不可能である。普通、そのようなシステムは、多数の発生源およびアバタを処理するように拡張することができない。
【００２７】
要約すると、複数の発生源からの可聴放射など、仮想環境内の複数の発生源からの放射をアバタ別にレンダリングすることは、各発生源からの放射を表すストリーミングデータが、
次々と途絶えることなく発せられ、変化し、
それに対応して高データ転送速度を伴い、
多くの別々の発生源から一度にレンダリングされなければならず、
各聴取アバタごとに個別に、一度にレンダリングされなければならず、
レンダリングが複雑であり、または高くつき、
多くの発生源およびアバタがあるときに処理が難しい
という点で特殊な問題を提起するものである。
【００２８】
マルチアバタレンダリング環境においてストリーミングデータを処理する現在の技法
仮想環境においてストリーミングデータをレンダリングする現在の技法は、前述の問題に対処するのにある程度しか成功していない。その結果、マルチアバタ仮想環境の実施者らは、以下のような一つまたは複数の不本意な妥協を強いられている:
可聴放射や可視放射など、ストリーミングデータを使用して表されなければならない放射をサポートしない。
オーディオ対話を提供することが難しすぎ、または高くつきすぎるために、仮想環境は、ブロードキャストまたはポイントツーポイント方式による「テキストチャット」または「インスタントメッセージ」だけしかサポートできず、各ユーザのアバタを介したユーザ間のオーディオ対話が行われない。
レンダリング環境のサイズおよび複雑さを制限する:
仮想環境の実施形態が、仮想環境にごく少数の最大アバタ数までしか許容せず、または仮想環境内の所与の「場面」において常時ごく少数の最大数だけしか提示されないようにアバタを分割し、または一度にごく限られた数のユーザにしかストリーミングデータの放射を使用して対話することを許容しない。
ストリーミングデータのアバタ別のレンダリングを行わない:
アバタは、開放された「パーティライン」でしか話したり聞いたりすることができず、すべての音、すなわち仮想環境における「場面」からのすべての音が常時提示され、すべてのアバタに、すべての音の同じレンダリングが与えられる。
非現実的なレンダリング:
各アバタは、各アバタのユーザが任意選択の「チャットセッション」、例えば、仮想のインターコムなどに参加するときにしか可聴対話を行うことができず、各アバタのユーザの音声は、各アバタの環境内の仮想位置にかかわらず、元の音量で方向を伴わずにレンダリングされる。
環境メディアの実施が制限される:
ストリーミングデータをサポートすることが難しいため、滝の背景音など、環境メディアは、仮想環境内の放射としてではなく、ディジタル記録を反復ループとして再生するなど、各ユーザごとのクライアントコンポーネントにおいてローカルで生成される音としてしかサポートできない。
ストリーミングメディアの制御による望ましくない副作用:
ストリーミングデータのサポートを提供するいくつかの既存のシステムでは、ネットワークにおいて、ストリーミングデータの流れを管理するために別個の制御プロトコルが使用される。副作用の一つは、一部はネットワーク上の伝送遅延の公知の問題によるものであり、特定の発生源からのストリーミングデータを「ミュート」したり、ストリーミングデータの配信を第1のアバタへの配信から第2のアバタへの配信に変更したりなど、ストリーミングデータの流れを変更するための制御事象により、それと気付くほどの遅延が生じるまで変更が行われない結果を生じる場合がある。すなわち、制御および配信の動作が十分に同期されない。
【先行技術文献】
【非特許文献】
【００２９】
【非特許文献１】「Generation 3D:Living in Virtual Worlds」,IEEE Computer, October 2007
【非特許文献２】「Neuentwicklungen auf dem Gebiet der Audio Virtual Reality」, Fraunhofer-Institut fuer Medienkommunikation,Germany, July 2003
【発明の概要】
【００３０】
発明の目的
本発明の一目的は、アバタ別のレンダリングを生成する仮想現実システムにおいて放射を処理するスケーラブルな技法を提供することである。本発明の別の目的は、心理音響学的原理を使用して放射をフィルタリングすることである。本発明のさらに別の目的は、ネットワーク接続されたシステムのエッジのところの機器において放射をレンダリングする技法を提供することである。
【００３１】
発明の簡単な概要
一局面において、本発明の目的は、ストリーミングデータのセグメントで表される放射をレンダリングするシステムにおけるフィルタによって達成される。放射はシステムによって、放射がそこから潜在的に知覚できる知覚点からある時点において知覚されるようにレンダリングされる。フィルタの特性には以下が含まれる:
フィルタは知覚点と関連付けられている。
フィルタは、
その時点におけるストリーミングデータのセグメントで表される放射の現在の放射情報、および
ストリーミングデータのセグメントで表される時点におけるフィルタの知覚点の現在の知覚点情報
にアクセスすることができる。
フィルタは、現在の知覚点情報と現在の放射情報とから、セグメントのストリーミングデータで表される放射がフィルタの知覚点において知覚できるかどうか判定する。判定が、セグメントのストリーミングデータで表される放射がフィルタの知覚点においてその時点に知覚できないことを示すとき、システムは、フィルタの知覚点における放射をレンダリングする際にセグメントを使用しない。
【００３２】
別の局面において、フィルタは、仮想環境内の発生源が、仮想環境内のアバタによって潜在的に知覚され得る放射を発する仮想環境を提供する仮想現実システムのコンポーネントである。フィルタはアバタと関連付けられており、セグメントで表される放射を、仮想環境においてアバタがアバタの現在の知覚点から知覚できるかどうか判定する。知覚できない場合、放射を表すセグメントは、アバタの知覚点での仮想環境をレンダリングするのに使用されない。
【００３３】
以下の図面および詳細な説明を読めば、本発明が関連する当業者には、他の目的および利点が明らかになるであろう。
[請求項1001]
仮想現実システムにおけるフィルタであって、該仮想現実システムが、仮想環境におけるアバタよって知覚されるように該仮想環境をレンダリングし、該仮想環境が、該アバタによって仮想環境において知覚されるかどうかがリアルタイムで変化する放射の発生源を含み、および、該放射が仮想現実システムにおいてストリーミングデータを包含するセグメントによって表され、かつ、以下の特徴を含む、フィルタ:
フィルタが、該アバタと関連付けられており、
フィルタが、
該セグメントのストリーミングデータで表される該放射の現在の放射源情報と;
該フィルタのアバタの現在のアバタ情報と;
にアクセスすることができ、かつ
フィルタが、該現在のアバタ情報と該セグメントのストリーミングデータの該現在の放射源情報とから、該セグメントのストリーミングデータで表される該放射を該アバタが知覚できるかどうか判定し、該判定が、該セグメントのストリーミングデータで表される該放射を該アバタが知覚できないことを示すとき、該仮想現実システムが該仮想環境をレンダリングする際に該セグメントを使用しない。
[請求項1002]
放射を知覚できるかどうかの判定が、仮想環境における該放射の物理的特性に基づくものである
ことをさらに特徴とする、請求項1001記載のフィルタ。
[請求項1003]
アバタが、少なくともアバタのグループの構成メンバであることに基づいて、該アバタが仮想環境において知覚することのできない放射もさらに知覚する
ことをさらに特徴とする、請求項1001記載のフィルタ。
[請求項1004]
アバタが放射を知覚できないようにする物理的特性が、仮想環境における、該放射と該アバタの間の距離である
ことをさらに特徴とする、請求項2記載のフィルタ。
[請求項1005]
仮想現実にアバタが知覚できる複数の放射があり;
前記放射を知覚できるかどうかの判定が、該放射を前記アバタが、他の知覚可能な放射と比べて心理学的に知覚できるかどうかを判定する
ことをさらに特徴とする、請求項1001記載のフィルタ。
[請求項1006]
アバタによって知覚される際に、複数の放射は異なる強さを有し;
前記放射を前記アバタが心理学的に知覚できるかどうかは、該アバタが知覚できる他の放射の強さに対する該放射の相対的強さによって判定される
ことをさらに特徴とする、請求項1005記載のフィルタ。
[請求項1007]
以下をさらに特徴とする、請求項1001記載のフィルタ:
仮想現実にアバタが知覚できる複数の放射があり;かつ
前記放射を知覚できるかどうかを、前記仮想環境における前記放射の物理的特性に基づいて、判定する第1の判定と、
前記放射を前記アバタが、他の知覚可能な放射と比べて心理学的に知覚できるかどうかを判定する第2の判定と
を含む判定を該フィルタが行う。
[請求項1008]
第1の判定で放射を知覚できると判定した場合に限って第2の判定を行う
ことをさらに特徴とする、請求項1007記載のフィルタ。
[請求項1009]
放射が、仮想環境において聞き取れる可聴放射である
ことをさらに特徴とする、請求項1001〜1008のいずれか一項記載のフィルタ。
[請求項1010]
放射が、仮想環境において目に見える可視放射である
ことをさらに特徴とする、請求項1001〜1008のいずれか一項記載のフィルタ。
[請求項1011]
放射が、仮想環境において触ることによって知覚される触覚放射である
ことをさらに特徴とする、請求項1001〜1008のいずれか一項記載のフィルタ。
[請求項1012]
以下をさらに特徴とする、請求項1001〜1008のいずれか一項記載のフィルタ:
前記仮想現実システムが、ネットワークによって相互にアクセス可能な複数のコンポーネントからなる分散システムであり、前記放射が、複数のうちの第1のコンポーネントにおいて生成され、かつ別のコンポーネントにおいて仮想環境をレンダリングするのに使用され、前記セグメントが、該ネットワークを介して該コンポーネントと該別のコンポーネントの間で搬送され、該フィルタが、該第1のコンポーネントと該第2のコンポーネントの間の該分散システムのどこかに位置する。
[請求項1013]
分散システムのコンポーネントは少なくとも1台のクライアントとサーバとを含み、放射は該クライアントにおいてアバタのために生成され、かつ/またはレンダリングされ、該サーバはフィルタを含み、該クライアントから該放射を表すセグメントを受け取り、該フィルタを用いて、該アバタのためにレンダリングする目的で該クライアントに提供されるべきセグメントを選択する
ことをさらに特徴とする、請求項1012記載のフィルタ。
[請求項1014]
セグメントには、該セグメントのストリーミングデータで表される放射の現在の放射源情報も包含される
ことをさらに特徴とする、請求項1001〜1008のいずれか一項記載のフィルタ。
[請求項1015]
そこからフィルタのアバタの現在のアバタ情報をフィルタが獲得する、現在のアバタ情報セグメントを、セグメントがさらに含む
ことをさらに特徴とする、請求項1001〜1008のいずれか一項記載のフィルタ。
[請求項1016]
ストリーミングデータのセグメントで表される放射をレンダリングするシステムにおけるフィルタであって、該放射が放射を潜在的に知覚することができる知覚点から、ある時点において知覚されるようにシステムによってレンダリングされ、かつ、
以下を特徴とする、フィルタ:
フィルタが、前記知覚点と関連付けられており;
フィルタが、
前記時点における前記セグメントのストリーミングデータで表される前記放射の現在の放射情報と;
前記時点における前記フィルタの知覚点の現在の知覚点情報と;
にアクセスすることができ;
フィルタが、前記現在の知覚点情報と前記現在の放射情報とから、前記セグメントのストリーミングデータで表される前記放射が前記フィルタの知覚点において知覚できるかどうかを判定し、該判定が、該セグメントのストリーミングデータで表される該放射が該フィルタの知覚点において知覚できないことを示すとき、前記システムが、該フィルタの知覚点における該放射をレンダリングする際に該セグメントを使用しない。
[請求項1017]
複数の発生源からの音をレンダリングするシステムにおけるフィルタであって、該発生源からの音がリアルタイムで変化する特性を有し、かつ、各発生源からの音がセグメントストリーム中のセグメントとして表され、
以下を特徴とする、フィルタ:
フィルタが、前記発生源からセグメントのタイムスライスストリームを受け取り;かつ
フィルタが、レンダリングのために、前記ストリームの中から、あるタイムスライスに属するセグメントを、該タイムスライスに属する該セグメントで表される該音の前記特性の相互作用から生じる心理音響学的効果に従って、選択する。
[請求項1018]
複数の発生源からの放射をレンダリングするレンダリング装置であって、該放射がリアルタイムで変化し、かつ、各発生源からの放射がストリーミングデータを包含するセグメントで表され、
以下を特徴とする、レンダリング装置:
発生源からのセグメントが、前記ストリーミングデータに加えて該発生源の放射に関する情報も含み、該セグメント内の該発生源の放射に関する該情報がさらに、前記複数の発生源からの該放射を表す該セグメントのサブセットがレンダリング装置から利用できるように、該セグメントをフィルタリングするのに使用され;かつ、
レンダリング装置が、前記サブセットに属する前記セグメント内の前記発生源の放射に関する前記情報を用いて、該サブセットに属する該セグメントをレンダリングする。
【図面の簡単な説明】
【００３４】
【図１】フィルタリングの技法の概念的概要を示す図である。
【図２】例示的な仮想環境における、アバタで表される仮想環境の各ユーザが、各ユーザのアバタに仮想環境内の特定の位置において会合を開かせることにより会議を開いている場面を示す図である。
【図３】好ましい態様におけるストリーミングデータのセグメントの内容を示す概念図である。
【図４】SIREN14-3D V2 RTPペイロード形式の一部分の仕様を示す図である。
【図５】段階1と段階2のフィルタリングの動作を示す図である。
【図６】段階2のフィルタリングをより詳細に示す図である。
【図７】隣接行列を示す図である。
【発明を実施するための形態】
【００３５】
図面中の符番は3桁以上の数であり、下2桁は、残りの桁で表される図面における符番である。よって、符番203を有する項目がまず、図2の項目203として示されている。
【００３６】
発明の詳細な説明
以下の本発明の詳細な説明では、仮想環境が可聴放射の発生源を含み、可聴放射がストリーミング・オーディオ・データで表される一態様を開示する。
【００３７】
本明細書において示す技法の原理は、どんな種類の放射とも一緒に使用され得る。
【００３８】
発明の技法の概要
この好ましい態様では、Second Lifeによって例示されるような種類などの仮想現実システムが、ネットワーク接続されたコンピュータシステムにおいて実施される。本発明の技法は仮想現実システムに統合される。仮想環境の発生源からの音放射を表すストリーミングデータが、データパケット内のストリーミング・オーディオ・データのセグメントとして伝達される。あるアバタが放射のあるセグメントを知覚できるかどうかを判定することに関連するそのセグメントの発生源に関する情報が、各セグメントと関連付けられる。仮想現実システムは、クライアントコンピュータなど、レンダリングコンポーネント上で、アバタ別のレンダリングを行う。アバタのためのレンダリングは、クライアントコンピュータ上で行われ、アバタに聞き取れるセグメントだけがネットワークを介してクライアントコンピュータに送られる。そこでセグメントは、アバタのユーザに対して、ヘッドフォンまたはスピーカによって可聴出力に変換される。
【００３９】
アバタは、ユーザと関連付けられなくてもよく、仮想現実システムがそのためのレンダリングを行う任意のエンティティとすることもできる。例えばアバタは、仮想環境内の仮想マイクロフォンとすることができる。仮想マイクロフォンを使用して行われる記録は、仮想マイクロフォンにおいて聞き取られた仮想環境内のオーディオ放射からなる仮想環境のレンダリングとなるはずである。
【００４０】
図1に、フィルタリングの技法の概念的概要を示す。
【００４１】
101に示すように、仮想環境内の異なる発生源からの放射を表すストリーミングデータのセグメントが、フィルタリングのために受け取られる。各セグメントは、仮想環境内の放射の発生源の位置や、放射が発生源においてどれ程の強さであるかなど、放射の発生源に関する情報と関連付けられている。好ましい態様では、放射は可聴放射であり、強さは発生源における放射音の大きさである。
【００４２】
これらのセグメントは、105に示すセグメント経路指定コンポーネントによってすべてのセグメントの結合ストリームへと集約される。セグメント経路指定コンポーネント105は、107で示すように、各セグメントを結合して集約ストリームにするセグメントストリーム結合コンポーネント103を備える。
【００４３】
107に示すように、（すべての音ストリームのセグメントからなる）集約ストリームは、いくつかのフィルタコンポーネントに送られる。フィルタコンポーネントの2つの例が111と121に示されており、その他の例は省略記号で示されている。仮想現実システムがレンダリングを生成する対象の各アバタごとに対応するフィルタコンポーネントがある。フィルタコンポーネント111は、アバタ（i）のレンダリングのためのフィルタコンポーネントである。フィルタ111の詳細が、113、114、115、および117に示されている。その他のフィルタも同様に動作する。
【００４４】
フィルタコンポーネント111は、アバタ（i）に適するように仮想環境をレンダリングするのに必要とされる所与の種類の放射のストリーミングデータのセグメントの集約ストリーム107をフィルタリングする。フィルタリングは、アバタ（i）の現在のアバタ情報113と、現在のストリーミングデータ発生源情報114とに基づくものである。現在のアバタ情報113は、アバタ（i）が放射を知覚することができるかどうかに影響を及ぼすアバタに関する任意の情報である。現在のアバタ情報がなにであるかは、仮想環境の性格に依存する。例えば、位置の概念を有する仮想環境では、現在のアバタ情報は、放射を検出するアバタの器官の仮想環境内での位置を含むことができる。以下では、多くの場合、仮想環境内の位置を仮想位置と呼ぶ。当然ながら、仮想位置がある場合には、それらの位置間の仮想距離も生じる。
【００４５】
現在のストリーミングデータ発生源情報は、アバタ（i）が特定の発生源からの放射を知覚することができるかどうかに影響を及ぼすストリーミングデータの発生源に関する現在の情報である。現在のストリーミングデータ発生源情報114の一例が、発生源の放射生成コンポーネントの仮想位置である。別の例が発生源における放射の強さである。
【００４６】
115に示すように、アバタ（i）が知覚でき、したがって、119でアバタ（i）の仮想環境をレンダリングするのに必要とされるストリーミングデータを有するセグメントだけがフィルタ111から出力される。好ましい態様では、知覚できるかどうかは、発生源と知覚側アバタの間の仮想距離、および/または知覚可能なセグメントの相対的な音量に基づくものとすることができる。フィルタ111によるフィルタリング後に残るセグメントは、レンダリングコンポーネント117への入力として提供され、レンダリングコンポーネント117は、仮想環境におけるアバタ（i）の現在の知覚点での仮想環境をレンダリングする。
【００４７】
好ましい態様の詳細
現在好ましいとされる一態様において、発生源の放射は可聴音であり、仮想現実システムは、アバタのための音のレンダリングが、アバタで表されるユーザが使用するクライアントコンピュータにおいて行われるネットワーク接続されたシステムである。
【００４８】
好ましい態様におけるセグメントの概要
前述のように、ユーザのクライアントコンピュータはストリーミング音入力をディジタル化し、ストリーミングデータの各セグメントを、ネットワークを介し、パケットとして送る。ネットワークを介してデータを送信するためのパケットは当技術分野において公知である。次に、ペイロードとも呼ばれる、好ましい態様におけるストリーミング・オーディオ・パケットの内容について論じる。この考察では、本発明の技法の各局面を例示する。
【００４９】
図3に、ストリーミング・オーディオ・セグメントのペイロードを概念的な形で示す。
【００５０】
好ましい態様では、アバタは、可聴放射を知覚し得るのみならず、可聴放射の発生源でもあり得る。さらに、アバタの発声器の仮想位置が、アバタの音検出器の仮想位置と異なる場合もある。結果、アバタは、音の発生源として、それが音の知覚器として有するのとは異なる仮想位置を有し得る。
【００５１】
要素300は、好ましい態様で用いられるストリーミング・データ・セグメントのペイロードを概念的な形で示すものである。330と340の括弧はそれぞれ、セグメントペイロードの2つの主要部分、すなわち、セグメントで表されるストリーミング・オーディオ・データに関するメタデータ情報を有するヘッダと、ストリーミング・オーディオ・データ自体とを示す。メタデータは、スピーカ位置や強さなど、情報を含む。好ましい態様では、セグメントのメタデータは、ストリーミングデータで表される放射の発生源のための現在のストリーミングデータ発生源情報114の一部である。
【００５２】
好ましい一態様では、メタデータ330は以下のものを含む:
セグメント内のストリーミングデータで表される音を発した発生源であるエンティティを識別するユーザID値301。発生源がアバタである場合、これはそのアバタを識別する。
セッションを識別するセッションID値302。本発明の状況において、セッションとは、発生源とアバタのセットである。フラグ303のセットは、ストリーミングデータのこのセグメントを表す放射の時点における発生源の状態に関する情報など、追加情報を指示する。あるフラグは、位置値305の性格、すなわち「スピーカ」か、または「聴取者」位置かを指示する。
位置305。仮想環境におけるセグメントで表される放射の発生源の現在の仮想位置を示し、またはアバタの場合には、アバタの「聴取」部分の現在の仮想位置を示す。
音エネルギーの強さ、または放射音の固有の音量の値307。
309では、もしあれば、追加のメタデータが表される。
【００５３】
好ましい態様では、可聴放射の強度値307が、関連技術で公知の原理に従って音の固有の音量から計算される。別の種類の放射では、放射の強さを表すのに別の値を用いてもよい。例えば、仮想環境においてテキストとして表示される放射では、強度値がユーザによって別個に入力されてもよく、または全大文字のテキストに、大小文字混在または全小文字のテキストより大きい強度値が与えられてもよい。本発明の技法による一態様では、強度値は、フィルタリングなどに際して、異なる種類の放射の強さを相互に比較することができるような設計上の問題として選択され得る。
【００５４】
340にストリーミング・データ・セグメントと、関連付けられた括弧が示されている。セグメントには、321から開始し、その後にセグメント内の全データが続いて323で終了するセグメントのデータ部分が示されている。好ましい態様では、ストリーミングデータ部分340のデータは、圧縮形式の放射音を表す。また、各セグメントを作成するクライアントソフトウェアは、ネットワークを介して送られるデータがより少なくて済む（よって各セグメントの数がより少なく、または各セグメントのサイズがより小さくて済む）ように、オーディオデータも圧縮表現に変換する。
【００５５】
好ましい態様では、離散コサイン変換に基づく圧縮形式を使用して、信号データが時間領域から周波数領域に変換され、心理音響学的原理に従っていくつかのサブバンドが量子化される。これらの技法は当技術分野において公知であり、SIREN14コーデック規格については、「Polycom(登録商標) Siren14（商標）, Information for Prospective Licensees」,www.polycom.com/common/documents/company/about＿us/technology/siren14＿g7221c/info＿for＿prospective＿licensees.pdf.に記載されている。
【００５６】
どんな放射の表現でも用いられ得る。表現は、異なる表現領域のものとすることもでき、さらに放射は、異なる領域においてレンダリングされてもよい。すなわち、音声放射が音声/テキストアルゴリズムを使用してテキストとして表され、またはレンダリングされてもよく、逆もまた同様であり、音放射が視覚的に表され、またはレンダリングされてもよく、逆もまた同様であり、仮想テレパシー放射が、異なる種類のストリーミングデータとして表され、またはレンダリングされてもよく、以下同様である。
【００５７】
好ましい態様のアーキテクチャ概要
図5は、段階1と段階2のフィルタリングの動作を示す、好ましい態様のシステム図である。次に図5の概要を説明する。
【００５８】
図3の考察で示したように、好ましい環境では、セグメントがセッションIDのフィールド302を有する。ストリーミングデータ320を包含する各セグメントはあるセッションに属し、各セグメントが属するセッションの識別子をフィールド320で搬送する。セッションは、セッションのメンバと呼ばれる発生源とアバタのグループを識別する。発生源をメンバとして有するセッションのセットは、その発生源のための現在の発生源情報114に含まれる。同様に、アバタがそのメンバであるセッションのセットは、そのアバタのための現在のアバタ情報113に含まれる。グループのメンバを表し、管理する技法、およびそのためのシステムを実施する技法は、関連技術において知られている。セッションメンバ構成を表したものを、好ましい態様では、セッション表という。
【００５９】
好ましい一態様では、位置セッションと静的セッションという2種類のセッションがある。位置セッションは、放射の発生源と、仮想環境においてそれらの発生源からの放射を、少なくとも潜在的に検出することのできるアバタをメンバとするセッションである。好ましい態様では、可聴放射の所与の発生源、および所与の発生源からの可聴放射を潜在的に聞くことのできる任意のアバタは、同じ位置セッションのメンバでなければならない。好ましい態様には、ただ一つの位置セッションしかない。他の態様には複数の位置セッションがあってもよい。静的セッションは、そのメンバ構成が仮想現実システムのユーザによって決定されるセッションである。静的セッションに属するアバタによって行われる可聴放射はどれも、仮想環境における各アバタの位置にかかわらず、その静的セッションに属する他のあらゆるアバタによって聞き取られる。よって静的セッションは、電話会議通話のように働く。好ましい態様の仮想現実システムは、ユーザが各自のアバタが属する静的セッションを指定することを可能にするユーザインターフェースを提供する。フィルタ111の他の態様には、異なる種類のセッションが関与してもよく、セッションが全く関与しなくてもよい。現在好ましいとされる態様におけるセッションの実施形態を拡張する場合、その一つは、単一のセッションではなく、セッションのグループを指示するセッションID特殊値のセットであろう。
【００６０】
好ましい態様では、セグメントのセッションIDで指定されるセッションの種類が、セグメントがフィルタ111によってどのようにフィルタリングされるかを決定する。セッションIDが位置セッションを指定する場合、セグメントは、フィルタのアバタが、仮想環境において発生源を知覚することができるかどうか判定するようにフィルタリングされる。次いで、フィルタのアバタが知覚することのできるセグメントは、各発生源の相対的な音量によってフィルタリングされる。後者のフィルタにおいて、フィルタのアバタが知覚できる位置セッションからのセグメントは、アバタをメンバとする静的セッションからのセグメントと共にフィルタリングされる。
【００６１】
好ましい態様では、仮想環境内の可聴放射のあらゆる発生源が、位置セッションのセッションIDを有する可聴放射のためのセグメントを作り出す。発生源が静的セッションのメンバでもあり、放射がその静的セッションにおいても聞き取れる場合、発生源はさらに、静的セッションのセッションIDを有するその可聴放射のためのセグメントそれぞれのコピーも作り出す。よって、仮想環境において可聴放射を知覚することができ、放射が聞き取れる静的セッションのメンバでもあるアバタは、そのフィルタにおいてセグメントの複数のコピーを受け取り得る。好ましい態様では、フィルタは、それらの重複するコピーを検出し、セグメントのうちの一つだけをアバタに渡す。
【００６２】
図5に戻って、要素501と要素509は、多数のクライアントコンピュータのうちの2台である。クライアントコンピュータは一般には、仮想環境との統合システム実施形態のためのハードウェアとソフトウェアを備える、「パーソナル」コンピュータである。例えばクライアントコンピュータには、マイクロフォン、キーボード、ディスプレイ、ヘッドフォンまたはスピーカが接続されており、統合システムのクライアント動作を行うためのソフトウェアを有する。クライアントコンピュータは、502と506とにそれぞれ示すように、ネットワークに接続されている。各クライアントは、クライアントのユーザによって指図されるようにアバタを制御し得る。アバタは、仮想態様において音を発し、かつ/または発生源によって発せられる音を聞くことができる。仮想現実システムにおいて放射を表すストリーミングデータは、クライアントのアバタが放射の発生源であるときにクライアントにおいて生成され、クライアントのアバタが放射を知覚することができるときにクライアントにおいてレンダリングされる。このことは、クライアント501とネットワーク502の間や、クライアント509とネットワーク506の間など、クライアントコンピュータとネットワークの間の両方向の矢印で示されている。
【００６３】
好ましい態様では、クライアント501やフィルタリングシステム517など、コンポーネント間のセグメントおよびストリーミングデータのためのネットワーク接続は、オーディオデータ用のRTPネットワークプロトコルやSIPネットワークプロトコルなど、標準ネットワークプロトコルを用いる。RTPプロトコルおよびSIPプロトコル、ならびにネットワーク接続および接続管理に適する他の多くの技法が、当技術分野においては公知である。本発明の状況において重要なRTPの特徴は、RTPが、その到着時刻によるデータの管理をサポートし、時刻値を含むデータを要求されると、時刻値と同じ、または時刻値より古い到着時刻を有するそのデータを返すことができる。好ましい態様の仮想現実システムが前述のようにRTPに要求するセグメントを、以下では、現在のセグメントと呼ぶ。
【００６４】
502と506のネットワークは、図5では別々のネットワークとして示されているが、当然ながらこれらは、同じネットワークまたは相互接続されたネットワークとすることもできる。
【００６５】
要素501を参照すると、仮想環境内のアバタと関連付けられたユーザが、501など、クライアントコンピュータにおいてマイクロフォンに向かって話す際に、コンピュータのソフトウェアは音をメタデータと共に圧縮形式のストリーミングデータのセグメントに変換し、そのセグメントとしてのセグメントデータ510をネットワークを介してフィルタリングシステム517に送る。
【００６６】
好ましい態様では、フィルタリングシステム517は、非統合仮想現実システムのサーバスタックとは別の統合システム内のサーバスタックにある。
【００６７】
以下では、圧縮形式およびメタデータについて説明する。フィルタリングシステムは、各クライアントのアバタのためのアバタ別フィルタ512、516を有する。各アバタ別フィルタは、仮想環境内のいくつかの発生源からの可聴放射を表すストリーミングデータをフィルタリングする。フィルタリングは、特定のクライアントのアバタが聞き取れる可聴放射を表すストリーミングデータのセグメントを判定し、可聴セグメントのストリーミングオーディオを、ネットワークを介してアバタのクライアントに送る。503に示すように、クライアント501のユーザを表すアバタが聞き取れるセグメントが、ネットワーク502を介してクライアント501に送られる。
【００６８】
放射の各発生源と関連付けられているのが現在の放射源情報、すなわち、放射およびその発生源に関する現在の情報、および/または情報がリアルタイムで変化し得る場合の放射の発生源に関する情報である。例としては、発生源における放射の品質、発生源における放射の強さ、放射源の位置などである。
【００６９】
この好ましい態様では、現在の放射源情報114は、発生源からの放射を表すセグメント内のメタデータから獲得される。
【００７０】
好ましい態様では、フィルタリングは2段階として行われる。フィルタリングシステム517で用いられるフィルタリングプロセスは、大きくは以下の通りである。
【００７１】
位置セッションに属するセグメントの場合:
段階1フィルタリング:セグメントおよびアバタについて、フィルタリングプロセスは、セグメントの発生源とアバタとを隔てる仮想距離を求め、セグメントの発生源がアバタの閾値仮想距離内にあることになるかどうか判定する。閾値距離は、アバタにとって可聴圏域を定義する。すなわちこの圏域外の発生源からの放射はアバタには聞き取れない。閾値外にあるセグメントはフィルタリング2に渡されない。この判定は、前述のセッションIDなど、セグメントのメタデータ情報、発生源114の現在の発生源情報、およびアバタ113の現在のアバタ情報を考慮することにより効率よく行われる。このフィルタリングは一般に、以下でフィルタリング2について説明するように、フィルタリングされなければならないセグメントの数を低減する。
【００７２】
静的セッションのセッションIDを有するセグメントの場合:
段階1フィルタリング:セグメントおよびアバタについて、フィルタリングプロセスは、フィルタのアバタが、セグメントのセッションIDによって識別されるセッションのメンバであるかどうか判定する。フィルタのアバタがセッションのメンバである場合、セグメントはフィルタリング2に渡される。このフィルタリングは一般に、以下でフィルタリング2について説明するように、フィルタリングされるべきセグメントの数を低減する。
【００７３】
フィルタのアバタの閾値内にある、またはアバタをそのメンバとするセッションに属するすべてのセグメントについて:
段階2フィルタリング:フィルタリングプロセスは、段階1フィルタリングによって渡されるこのアバタのすべてのセグメントの聴感上の音量を判定する。次いでセグメントは、各セグメントの聴感上の音量によってソートされ、異なるセッションからの重複セグメントが除去され、最大の聴感上の音量を有する3セグメントからなるサブセットがレンダリングのためにアバタに送られる。サブセットのサイズは、設計上の選択の問題である。判定は、メタデータを考慮することによって効率よく行われる。重複セグメントとは、同じユーザIDと異なるセッションIDを有するセグメントである。
【００７４】
位置セッションに属するセグメントだけをフィルタリングするフィルタシステム517のコンポーネントは、上の括弧541（541の右側にある上の括弧）で示されており、静的セッションに属するセグメントだけをフィルタリングするコンポーネントは下の括弧542で示されている。
【００７５】
段階1フィルタリングを行うコンポーネントは551の左側の下括弧で示されており、段階2フィルタリングを行うコンポーネントは552の右側の下括弧で示されている。
【００７６】
好ましい態様では、フィルタシステムコンポーネント517が、好ましい態様の仮想現実システムにおけるサーバ上に位置する。しかし、アバタのフィルタは、一般には、放射の発生源と、フィルタが関連付けられているアバタのレンダリングコンポーネントとの間のパスのどの地点に位置していてもよい。
【００７７】
セッションマネージャ504は、すべての着信パケットを受け取ってそれらをセグメント経路指定540に提供し、セグメント経路指定540は、段階1フィルタリングを行って、所与のアバタが知覚できるセグメントを、位置セッションまたは静的セッションを介して、段階2フィルタリングのための適切なアバタ別フィルタに方向付ける。
【００７８】
505に示すように、セグメント経路指定コンポーネント540から出力されるセグメントのセットは、各アバタごとの代表アバタ別フィルタ512、516に入力される。ストリーミングデータで表される種類の放射を知覚することのできる各アバタは、対応するアバタ別フィルタを有する。各アバタ別フィルタは、各発生源に属するセグメントの中から、目標のアバタが聞き取れるセグメントを選択し、それらのセグメントを聴感上の音量に関してソートし、重複セグメントがあれば除去し、残りのセグメントのうちで最も音量の大きい3セグメントを、ネットワークを介してアバタのクライアントに送る。
【００７９】
ストリーミング・オーディオ・セグメントの内容の詳細
図4に、これらの技法のペイロード形式の関連局面のより詳細な説明を示す。好ましい態様では、ペイロード形式は、仮想現実システムによって使用される非ストリーミングデータも含み得る。好ましい態様の統合システムは、技法を仮想現実システムまたは他のアプリケーションと統合することのできる多くの方法のうちのいくつかを例示するものである。この統合に際して使用される形式を、SIREN14-3D形式と呼ぶ。形式は、カプセル化を利用して、複数のペイロードを一つのネットワークパケットで搬送する。パケットのカプセル化、ヘッダ、フラグおよびその他一般の局面、ならびにデータ形式の技法は、当技術分野において周知であり、そのため、ここでは詳述しない。明確にするために、仮想環境との統合または仮想環境の動作の詳細が、本発明の技法の説明とあまり密接な関係にない場合には、それらの詳細をこの考察から除外する。
【００８０】
要素401は、仕様のこの部分が、この形式の好ましいSIREN14-3DバージョンであるV2 RTPバージョンに関するものであり、一つまたは複数のカプセル化ペイロードが、RTPネットワークプロトコルを使用してネットワークをまたいで送信されるネットワークパケットによって搬送されることを示している。
【００８１】
現在好ましいとされる態様では、SIREN14-3DバージョンV2 RTPペイロードは、オーディオデータを有するカプセル化メディアペイロードの後にゼロまたは複数の他のカプセル化ペイロードが続くものからなる。各カプセル化ペイロードの内容は、後述するヘッダフラグ（headerFlag）のフラグビット414で与えられる。
【００８２】
要素410は、V2形式のカプセル化ペイロードのヘッダ部分を記述する。要素410の詳細は、ヘッダ410内のメタデータの個々の要素を記述する。
【００８３】
411に示すように、ヘッダ中の第1の値は、32ビットのサイズのユーザID値である。この値は、このセグメントの放射の発生源を識別する。
【００８４】
この後に、セッションID412という名前の32ビット項目が続く。この値は、セグメントが属するセッションを識別する。
【００８５】
この後に、smoothedEnergyEstimate413という名前の、このセグメントの強度値の項目が続く。要素413は、ヘッダに続くオーディオデータのセグメントの固有の音量の強度値のメタデータ値である。値は、個々のシステム実施形態の単位の整数値である。
【００８６】
好ましい態様では、smoothedEnergyEstimate値413は、ストリーミング音データからのいくつかの元の、または「生の」値を合わせて平滑化することによって求められる長期間の「平滑」値である。これは、通常は、オーディオデータに存在し得る、クライアントコンピュータにおける音データのディジタル化プロセスによって生じる（「クリック音」など）突発的な雑音やデータアーチファクトからもたらされ得る望ましくないフィルタ結果を防止する。この好ましい態様における値は、あるセグメントについて、セグメントの音データによって反映されるオーディオエネルギーを計算する当技術分野において公知の技法を使用して計算される。好ましい態様では、0.125の「アルファ」値を有する一次の無限インパルス応答（Infinite Impulse response）（IIR）型フィルタを使用して、瞬間サンプルエネルギーE＝x［j］＊x［j］が平滑化され、セグメントのエネルギーの強度値が生成される。当然ながら、セグメントの強度値を計算し、または割り当てる他の方法も、設計上の選択の問題として使用され得る。
【００８７】
要素413の後には、32フラグビットからなるheaderFlags414が続く。これらのフラグビットのいくつかを使用して、ペイロード中でヘッダの後に続くデータおよび形式の種類が指示される。
【００８８】
420には、headerFlags414で設定され得るフラグビット定義のセットの一部分が示されている。
【００８９】
要素428は、0x1という数値フラグ値で、AUDIO＿ONLY（オーディオのみの）ペイロードのフラグを記述している。このフラグは、ペイロードデータが、ストリーミングオーディオのセグメントについての圧縮形式の80バイトのオーディオデータからなることを示している。
【００９０】
要素421は、0x2という数値フラグ値を用いて、SPEAKER＿POSITION（発話者位置）ペイロードのフラグを記述している。このフラグは、ペイロードデータが、発生源アバタの「口」または発話部分の現在の仮想位置からなるメタデータを含むことを示している。この後には、ストリーミングオーディオのセグメントについての圧縮形式の80バイトのオーディオデータが続くことが可能である。位置更新データは、仮想環境の座標におけるX、YおよびZの位置の3つの値からなる。
【００９１】
好ましい態様では、アバタである各発生源は、SPEAKER＿POSITION情報を有するペイロードを1秒間に2.5回送る。
【００９２】
要素422は、0x4という数値フラグ値を用いて、LISTENER＿POSITION（聴取者位置）ペイロードのフラグを記述する。このフラグは、ペイロードデータが、アバタの「耳」または聴取部分の現在の仮想位置からなるメタデータを含むことを示している。この後には、80バイトのオーディオデータが続く。位置情報は、フィルタ実施形態が、どの発生源が個々のアバタの「可聴圏域」にあるか判定することを可能にする。好ましい態様では、アバタである各発生源は、LlSTENER＿POSITION情報を有するペイロードを1秒間に2.5回送る。
【００９３】
要素423は、0x10という数値フラグ値を用いて、LISTENER＿ORIENTATION（聴取者向き）ペイロードのフラグを記述する。このフラグは、ペイロードデータが、ユーザのアバタの聴取部分の現在の仮想の向きまたは向いている方向からなるメタデータを含むことを示している。この情報は、フィルタ実施形態および仮想環境が、アバタが、「方向聴覚」、またはウサギやネコの耳のような聴覚のための特殊な仮想構造を有することができるように、仮想現実を拡張することを可能にする。要素424は、0x20という数値フラグ値を用いてSILENCE＿FRAME（無音フレーム）ペイロードのフラグを記述する。このフラグは、セグメントが無音を表すことを示している。
【００９４】
好ましい態様では、発生源に送るべきオーディオ放射セグメントがない場合、発生源は、前述のように位置メタデータと共にSPEAKER＿POSITIONペイロードおよびLISTENER＿POSITIONペイロードを送る際に、必要に応じてSILENCE＿FRAMEペイロードのペイロードを送る。
【００９５】
フィルタリング動作のためのセグメント形式のその他の局面
好ましい態様では、アバタからのオーディオ放射はその同じアバタには決してレンダリングされず、そのアバタのためのストリーミング・オーディオ・データのどんなフィルタリングにも入力されない。これは設計上の選択の問題である。この選択は、ディジタル電話技術およびビデオ通信においては「側音」オーディオ信号またはビデオ信号を抑圧し、またはレンダリングしないという公知の手法に沿ったものである。代替の一態様は、アバタでもある発生源からの放射を、その同じアバタが何を知覚できるか判定するときに処理し、フィルタリングし得る。
【００９６】
容易に理解されるように、本明細書で示すフィルタリングの技法は、ストリーミングデータのフィルタリングに際しても、仮想環境の管理においてもより高い効率を達成するために、仮想環境の管理諸機能と統合することができる。
【００９７】
フィルタ動作の詳細
次に、フィルタリングシステム517の動作を詳細に説明する。
【００９８】
セッションマネージャ504は、20ミリ秒周期で、信頼すべき主刻時機構から時刻値を読み取る。次いでセッションマネージャは、着信セグメントのための接続から、その時刻値と同じ、またはそれ以前の到着時刻を有するすべてのセグメントを獲得する。所与の発生源からの複数のセグメントが返される場合、その発生源からのより古いセグメントが廃棄される。残りのセグメントを、現在のセグメントのセットと呼ぶ。次いでセッションマネージャ504は、現在のセグメントのセットをセグメント経路指定コンポーネント540に提供し、セグメント経路指定コンポーネント540は、現在のセグメントを特定のアバタ別フィルタに経路指定する。以下でセグメント経路指定コンポーネントの動作を説明する。セグメント経路指定コンポーネント540に提供されないセグメントはフィルタリングされず、よって、レンダリングのためにアバタに配信されることはない。
【００９９】
セグメント経路指定コンポーネント540は、どの発生源がどのアバタの可聴圏域内にあるかを記録するデータ表である隣接行列535を使用して、位置セッションに属するセグメントに対して段階1フィルタリングを行う。アバタの可聴圏域は、アバタの聴覚部分から特定の仮想距離内にある仮想環境の部分である。好ましい態様では、この仮想距離は、仮想現実システムの仮想座標単位で80単位である。この仮想距離よりもアバタの聴覚部分から遠く離れている音放射は、アバタには聞き取れない。
【０１００】
図7には隣接行列535が詳細に示されている。隣接行列535は、2次元データ表である。各セルは発生源/アバタの組み合わせを表し、発生源/アバタの組み合わせの距離重み値を包含する。距離重み値は、発生源とアバタの間の仮想距離に従って、あるセグメントの固有の音量または強度値を調整するための係数である。距離重み係数は、仮想距離が大きいほど小さい。
【０１０１】
この好ましい態様では、距離重み値は、クランプされたロールオフの公式(clamped formula for roll-off)によって、距離の一次関数として計算される。代わりに他の方式が使用されてもよい。例えば、より効率のよい動作のための近似である公式が選択されてもよく、クランピング、最小および最大の音量、より飛躍的なまたはより緩やかなロールオフ効果、その他の効果など、効果を含む公式が選択されてもよい。例えば、以下の例示的な参照文献に記載されている中のいずれかなど、設計上の選択の問題として個々の用途に適するどんな公式も使用され得る。
2015053061.tif 000003
【０１０２】
隣接行列は、図7の710に左側に沿ってA、B、Cなどとして示すように、各発生源ごとに1行を有する。最上部の720に並んだA、B、C、およびDで示すように、各目標またはアバタごとに1列がある。好ましい態様では、アバタは発生源でもある。そのため、アバタBについては、732に列Bがあり730には行Bもあるが、アバタの数より多い、または少ない発生源があっても、アバタではない発生源があってもよく、逆もまた同様である。
【０１０３】
隣接行列中の各セルは、行と列の交差するところ（発生源,アバタ）にある。例えば、行731は発生源Dの行であり、列732はアバタBの列である。
【０１０４】
隣接行列中の各セルは、発生源がアバタの可聴圏域内にない、もしくはアバタには聞き取れないことを示す0という距離重み値、または0と1の間の距離重み値のどちらかを包含する。この値は、前述の公式に従って計算される距離重み係数であり、強度値と掛け合わせて、その発生源からのその目標における放射の聴感上の音量を求めるための係数である。行と列の交差のところのセル733は、（D,B）の重み係数の値を保持し、この値はこの例では0.5と示されている。
【０１０５】
重み係数は、セルの行で表される発生源の現在の仮想位置と、列で表されるアバタの「耳」の現在の仮想位置を使用して計算される。好ましい態様では、各アバタと各アバタ自体とのセルは、発生源であるエンティティからの音は宛先としてはエンティティには送信されないという、ディジタル通信の技術分野において公知の側音オーディオの処理に沿って、0に設定されており、変更されることはない。これは、すべて0である対角の値のセット735に示されている。すなわち、セル（発生源＝A,アバタ＝A）の距離重み係数は、この対角のその他すべてのセルと同様に0である。対角735に沿った各セルの値は、読み取りやすいように太字で示されている。
【０１０６】
好ましい態様では、各発生源および他のアバタは、ストリーミングデータのセグメントをそれらの仮想位置の位置データと共に、一秒間に2.5回送る。セグメントが位置を包含するとき、セッションマネージャ504は、セグメント114の位置値およびユーザIDを隣接行列更新器530に渡して、532に示すように、隣接行列535内のセグメントの発生源または他のアバタと関連付けられた位置情報を更新する。
【０１０７】
隣接行列更新器530は、隣接行列521のすべてのセルの距離重み係数を周期的に更新する。好ましい態様では、これは、以下のように、毎秒2.5回の周期で行われる。
【０１０８】
隣接行列更新器530は、隣接行列535から隣接行列535の各行ごとの関連付けられた位置情報を獲得する。この行の位置情報を獲得した後で、隣接行列更新器530は、隣接行列535の各列ごとのアバタの聴覚部分の位置情報を獲得する。位置情報の獲得は533に示されている。
【０１０９】
アバタの聴覚部分の位置情報を獲得した後で、隣接行列更新器530は、発生源位置とアバタの聴覚部分の位置の間の仮想距離を求める。距離が可聴圏域の閾値距離より大きい場合、隣接行列535中の発生源の行とアバタの列に対応するセルの距離重みは、図示のように0に設定される。発生源とアバタが同じである場合、値は、前述のように、0のままで変更されない。それ以外の場合には、発生源Xと目標Yの間の仮想距離が計算され、前述の公式に従って距離重み値が計算される。セルの距離重み値はこの値に設定される。距離重み値の更新は534に示されている。
【０１１０】
セグメント経路指定コンポーネント540は、発生源がアバタの可聴圏域外にあると判定すると、発生源からのセグメントをアバタのための段階2フィルタに経路指定せず、よって、これらのセグメントはアバタにはレンダリングされない。
【０１１１】
セッションマネージャ504に戻って、セッションマネージャ504は、512や516に示すような段階2フィルタコンポーネントへの配信の可能性を予期して、セグメント経路指定コンポーネント540に静的セッションに属する現在のセグメントも提供する。
【０１１２】
セグメント経路指定コンポーネント540は、ある放射の特定のセグメントが送られるべきアバタのセットを決定し、セグメントを、それらのアバタの1段階2フィルタに送る。個々のタイムスライスの間に個々の段階2フィルタに送られる個々の発生源からのセグメントは、異なるセッションからのセグメントを含む場合もあり、重複するセグメントを含む場合もある。
【０１１３】
セッションID値が静的セッションを示す場合、セグメント経路指定コンポーネントは、以下で説明するセッション表にアクセスして、そのセッションのメンバであるすべてのアバタのセットを決定する。これは525に示されている。次いでセグメント経路指定コンポーネントは、セグメントを、それらのアバタと関連付けられた段階2フィルタのそれぞれに送る。
【０１１４】
セッションID値が位置セッションの値である場合、セグメント経路指定コンポーネントは隣接行列535にアクセスする。セグメント経路指定コンポーネントは、パケットの発生源に対応する隣接行列の行から、0でない距離重み係数を有する隣接行列のすべての列と、そのような各列のアバタを決定する。これは、「隣接アバタ」とラベル付けされて、536に示されている。次いでセグメント経路指定コンポーネントはセグメントをそれらのアバタと関連付けられた段階2フィルタのそれぞれに送る。
【０１１５】
静的セッションのための段階1フィルタリングは、セグメント経路指定コンポーネント540とセッション表521を使用して行われる。セッション表521は、各セッションにおけるメンバ構成を定義する。セッション表は2列の表である。第1列はセッション値を包含し、第2列は、発生源やアバタの識別子など、エンティティ識別子を包含する。エンティティとは、エンティティの識別子が第2列にあるすべての行におけるセッションID値によって識別されるすべてのセッションのメンバである。セッションのメンバは、そのセッションのセッションIDを第1列に持つすべての行の第2列に示されるすべてのエンティティである。セッション表は、セッション表更新コンポーネント520によって更新され、セッション表更新コンポーネント520は、静的セッションメンバ構成の変化に応答して、セッション更新表に行を追加し、またはセッション更新表から行を削除する。セッション表521の実施についてもセッション表更新器520の実施についても、関連技術の当業者に周知の多くの技法がある。セッション表521が、セグメントの発生源とアバタが同じ静的セッションの属することを示すとき、セグメントルータ540は、セグメントをアバタの段階2フィルタに経路指定する。
【０１１６】
図6に、好ましい態様の512など、段階2フィルタリングコンポーネントの動作を示す。各段階2フィルタリングコンポーネントは単一のアバタと関連付けられている。600には、段階2フィルタリングコンポーネントに配信される現在のセグメント505のセットが示されている。代表セグメント611、612、613、614および615のセットが示されている。省略記号は、それらを任意の数のセグメントとし得ることを示している。
【０１１７】
フィルタリング2処理の開始が620に示されている。現在のセグメントの次のセット505が入力として獲得される。
【０１１８】
要素624、626、628および630の各工程は、工程620で獲得された現在のセグメントのセット内の各セグメントごとに行われる。624は、各セグメントから、セグメントのエネルギー値と、セグメントの発生源IDを取得する工程を示している。626で、各セグメントごとに、セッションID値が獲得される。セッションID値が位置セッションのものである場合、次の工程は図示のように628である。セッションID値が静的セッションのものである場合、次の工程は632である。
【０１１９】
628は、隣接行列535から、このセグメントの発生源である発生源と、このフィルタコンポーネントを段階2フィルタコンポーネントとするアバタであるアバタについての隣接行列535のセルから距離重みを取得する工程を示している。これは、511に点線矢印で示されている。
【０１２０】
630は、セグメントのエネルギー値を、セルからの距離重みと掛け合わせて、セグメントのエネルギー値を調整する工程を示している。すべてのセグメントが工程624、626、628、および630によって処理された後で、処理は工程632に進む。
【０１２１】
632は、工程622で獲得されたすべてのセグメントを、各セグメントのエネルギー値によってソートする工程を示している。各セグメントがソートされた後で、重複するセグメントのセットのうち一つを除くすべてのセグメントが除去される。634は、622で、フィルタリング2フィルタリングの出力として獲得されたセグメントのサブセットを出力する工程を示している。好ましい態様では、サブセットは、ソートする工程632で最大エネルギー値を有すると決定された3セグメントである。出力は、690に、代表セグメント611、614、および615を示すものとして表されている。
【０１２２】
当然ながら、本発明の技法によれば、アバタに出力されるべき各セグメントの選択は、好ましい態様で用いられるのとは異なるソートおよび選択の基準を含んでいてもよい。
処理は、634から工程636に進んだ後で、636からループして620の開始工程に戻る。636は、好ましい態様において、ループが20ミリ秒間隔で周期的に実行されることを示している。
【０１２３】
レンダリングのためのクライアント動作
この好ましい態様では、所与のアバタが知覚できるオーディオ放射を表すセグメントが、アバタの知覚点に従ってそのアバタにレンダリングされる。ある特定のユーザのアバタについて、レンダリングは、ユーザのクライアントコンピュータ上で行われ、オーディオデータのストリームが、発生源とユーザのアバタとの仮想距離および相対的方向に従って、適切な聴感上の音量と、立体音響または両耳方向でレンダリングされる。レンダリング装置に送られるセグメントは各セグメントのメタデータを含むため、フィルタリングに使用されたメタデータをレンダリング装置においても使用することができる。さらに、フィルタリング2の間に調整されている場合もあるセグメントのエネルギー値を、レンダリングプロセスで使用することもできる。よって、発生源によって最初に送られた符号化オーディオデータを変換し、または変更する必要がなく、よってレンダリングは、いかなる忠実度または了解度の損失も被らない。またレンダリングは、当然ながら、フィルタリングからもたらされる、レンダリングされるべきセグメントの数が低減されることによっても大幅に簡素化される。
【０１２４】
レンダリング音は、ユーザのために、クライアントコンピュータのヘッドフォンまたはスピーカを介して音を再生することによって出力される。
【０１２５】
好ましい態様の他の局面
容易に理解されるように、本発明の技法を実施し、または適用するのには多くの方法があり、本明細書で示す例は限定のためのものでは一切ない。例えば、フィルタリングは、分散された態様として、並列的に、またはコンピュータリソースの仮想化を用いて実施されてもよい。さらに、各技法によるフィルタリングは、様々な組み合わせとして、システム内の様々な箇所において行うことができ、仮想現実システムのネットワーク帯域幅および/または処理能力を最適に利用するための必要に応じて選択が行われる。
【０１２６】
その他の種類のフィルタリング、および複数の種類のフィルタリングの組み合わせ
特定のアバタが知覚できる放射を表すセグメントを、特定のアバタが知覚できない放射を表すセグメントから分離する任意の種類のフィルタリングの技法が用いられ得る。先に好ましい態様で示したように、本発明の技法を使用して、多くの種類のフィルタリングを単独で、連続して、または組み合わせて用いることができる。さらに、本発明の各技法によるフィルタリングは、どんな種類の放射とでも、放射の発生源と放射の知覚者との関係がリアルタイムで変化し得るどんな種類の仮想環境でも使用することができる。実際、好ましい態様の、静的セグメントに属するセグメントを用いた相対的音量フィルタリングの使用は、フィルタリングが位置に依存しない状況における技法の使用の一例である。静的セグメントと共に使用される技法は、例えば、電話会議通話の用途において使用され得る。
【０１２７】
容易に明らかになるように、先行技術に優る技法の利点の中には、本発明の技法を多くの種類の通信およびストリーミングデータに、容易に低コストで適用し得ることが含まれる。
【０１２８】
用途の種類
本発明の技法は、当然ながら、非常に幅広い用途を網羅するものである。わかりやすい例には以下のものが含まれる。
仮想音楽堂など、仮想オーディオ空間環境における知覚点についての集約されたオーディオをレンダリングするなど、記録のための多数のオーディオ入力のオーディオ混合およびレンダリングに対する改善。
多数のアバタからのテキスト・メッセージング・データのストリームが仮想環境において同時に表示され、またはレンダリングされなければならないときなどのテキストメッセージング通信。これは、本発明の技法が適用され得るストリーミング視覚データの多くの可能な例のうちの一つである。
電話/オーディオ仮想会議環境など、リアルタイム会議システムのためのストリーミングデータのフィルタリングおよびレンダリング。
仮想感覚環境における感覚入力のためのストリーミングデータのフィルタリングおよびレンダリング。
仮想環境内のアバタと関連付けられている現実世界エンティティのリアルタイムの地理的近接性に基づくストリーミングデータの配布。
【０１２９】
発生源の放射をフィルタリングするのに必要とされる情報の種類は、仮想環境の特性に依存し、仮想環境の特性はさらに、それが目的とする用途に依存し得る。例えば、会議システムの仮想環境において、会議出席者の相互に対する位置が重要でない場合もあり、そのような状況ではフィルタリングは、会議出席者のオーディオ放射の相対的な固有の音量や、会議出席者の特定のセッションとの関連付けなど、情報のみに基づいて行われる場合もある。
【０１３０】
フィルタリングと他の処理との組み合わせおよび統合
またフィルタリングは、効果的に他の処理と組み合わせられてもよい。例えば、メディアデータのいくつかのストリームは、仮想環境において、仮想環境内の仮想の噴水の流水音など、「背景音」として識別されることもある。仮想環境の設計者は、これらの技法の統合の一部として、背景音が他のストリーミング・オーディオ・データと同様にはフィルタリングされず、他のデータを除去させることもなく、通常は遮断され、フィルタリングされ得る他のストリーミングデータがあるときには、背景音のデータがフィルタリングされ、より低い聴感上の音量でレンダリングされるように処理されるよう選択してもよい。フィルタリングの技法のそのような適用は、背景音が、クライアントコンポーネントのレンダリングコンポーネントによってローカルで生み出されるのではなく、仮想現実システムのサーバコンポーネントによって生み出されることを可能にする。
【０１３１】
また、これらの技法による同じフィルタリングを、異なる種類の放射およびストリーミングデータにも適用できることも容易に明らかになる。例えば、聴覚障害のあるユーザは、仮想環境において、視覚テキストメッセージングによってやりとりし、別のユーザは言語音によってやりとりするなど、異なるユーザが仮想環境を介して異なる種類の放射によってやりとりしてもよく、よって設計者は、統合された様式で、2種類のストリーミングデータに同じフィルタリングを適用させるよう選択してもよい。そのような実施形態では、例えば、フィルタリングは、2つの異なる種類の放射について、2つの放射が異なる種類のものであることを気にせずに、発生源の位置、強さ、アバタ位置など、メタデータおよび現在のアバタ情報に従ってフィルタリングを行うことができる。必要とされるのは、強さデータが比較可能であることだけである。
【０１３２】
前述のように、本発明の技法は、レンダリングされなければならないデータの量を低減するのに使用することができ、よって、リアルタイムのストリーミングデータのレンダリングを、ネットワーク接続された仮想現実システムの「エッジ」に移すことができる、すなわち、レンダリングを行う負担をサーバコンポーネントに負わせるのではなく、宛先クライアント上でレンダリングを行うことができる可能性がより一層高まる。加えて、設計に際してこれらの技法を用いれば、記録するなど、これまではクライアント上で実施された機能をサーバコンポーネント上で行い得る程度までデータの量を低減することもでき、よって、個々の用途の設計者が、クライアントのコストを低減するのを選択し、またはクライアントコンピュータもしくはそのソフトウェア上でサポートされていない仮想機能を提供することも可能になる。
【０１３３】
本明細書で開示する新しい技法の多くの利点の中には、フィルタリングを経路指定およびその他の処理と組み合わせ、しかもそれをずっと改善された実施コストで行うことができる柔軟性および能力が含まれることが即座に理解されるであろう。
【０１３４】
本発明の技法の適用のその他のいくつかの局面の概要
以上に加えて、当然ながら、技法には他にも有用な局面がある。以下に、考察すれば明らかな多くの局面の中から、さらにいくつかの例を示す。
【０１３５】
好ましい態様では、位置および向きに関連するメタデータによって提供される情報など、現在の放射源情報はさらに、レンダリングされる音が、左から、右から、上からなど適切な相対的方向から来るよう知覚されるように、最終レンダリング点においてストリーミング・メディア・データを立体音響で、または両耳で聞くようにレンダリングするのにも役立ち得る。よって、フィルタリングのためにこの関連情報を含めることには、すでに述べた利点に加えて、レンダリングに際してさらに相乗的利点を有する場合もある。
【０１３６】
本発明の技法を用いるシステムは、一部には、先行技術に優るその有利な新規の簡潔さのために、非常に高速で動作することができ、さらに設計者自身も、技法を迅速に理解し、認識することができる。技法の一部は、特に、特殊なハードウェアまたはファームウェアにおける実施形態に向いている。技法は、設計上の選択の問題として、ネットワークパケット経路指定システムのインフラストラクチャのようなインフラストラクチャと統合することができる。よって、これらの新しい技法は、容易に、幅広く利用可能な種類のコンポーネント、および将来利用可能になるはずの新しい種類のコンポーネントを、非常に効率よく新たに利用して実施することができる。また技法は、当然ながら、まだ知られていない種類の放射にも、まだ実施されていない種類の仮想環境にも適用され得る。
【０１３７】
結論
以上の詳細な説明は、関連技術の当業者に対して、アバタ別レンダリング環境を用いる仮想現実システムにおいてリアルタイムのアバタ別ストリーミングデータを提供する本発明者らのスケーラブルな技法をどのように使用すべきかを開示し、さらに、本発明者らが現在知るところの、それらの技法を実施する最良の形態を開示するものである。
【０１３８】
関連技術の当業者には、ストリーミングデータがレンダリングされ、ストリーミングデータを配信し、またはレンダリングするのに必要とされるネットワーク帯域幅および/または処理リソースを低減することが求められている任意の領域において、技法の多くの可能な用途があることが即座に理解されるであろう。フィルタリングの技法は、ストリーミングデータが仮想環境における発生源からの放射を表し、仮想環境内の異なる知覚点のための必要に応じてレンダリングされる場合に特に有用である。このフィルタリングを行うための基礎は、当然ながら、仮想環境の性格と、放射の性格に依存するものになる。本明細書において開示する心理音響学的フィルタリングの技法はさらに、仮想環境においてのみならず、複数の発生源からのオーディオがレンダリングされるどんな状況においても有用である。最後に、ストリーミングデータを包含するセグメント内のメタデータを、フィルタリングの際にも、レンダリング装置におけるストリーミングデータのレンダリングの際にも使用する技法は、結果的に、ネットワーク帯域幅要件と処理リソースの両方の大幅な低減をもたらす。
【０１３９】
さらに、関連技術の当業者には、本発明者らの技法を実行する方法が実施者と同じ数だけあることも即座に明らかになるであろう。本発明の技法の所与の実施形態の詳細は、ストリーミングデータが何を表しているか、技法が使用されている環境の種類が仮想かそれ以外か、ならびに技法が使用されるシステムのコンポーネントの、システムの処理リソースおよび利用可能なネットワーク帯域幅の量および位置に関しての能力に依存する。
【０１４０】
以上のすべての理由で、詳細な説明は、あらゆる点において限定的ではなく例示的なものとみなされるべきであり、本明細書において開示する発明の広さは、詳細な説明からではなく、特許請求の範囲から、特許法によって許される十分な広さを有すると解釈されるように定められるべきである。
【図１】
2015053061.tif 000004
【図２】
2015053061.tif 000005
【図３】
2015053061.tif 000006
【図４】
2015053061.tif 000007
【図５】
2015053061.tif 000008
【図６】
2015053061.tif 000009
【図７】
2015053061.tif 000010