(57)【特許請求の範囲】
【請求項１】
オブジェクト指向オーディオストリームの送信を適応させるシステムにおいて、
前記システムは、
ネットワークを通して遠隔コンピュータシステムからオーディオコンテンツ要求を受信するようにと、前記ネットワークの利用可能なリソースについてのネットワークリソース情報にアクセスするように構成されているネットワークリソースモニタと、
前記利用可能なネットワークリソースと、複数のオーディオオブジェクトに対応する優先度情報とに少なくとも部分的に基づいて、前記複数のオーディオオブジェクトのうちの１つ以上を選択して、オーディオストリームから取り除くように構成され、１つ以上のプロセッサにより実現されるオブジェクト指向エンコーダと、
前記ネットワークを通して前記遠隔コンピュータシステムに前記オーディオストリームを送信するように構成されているオーディオ送信モジュールとを具備し、
前記複数のオーディオオブジェクトは、
それぞれの静的なオブジェクトがオーディオのチャネルを含む、静的なオブジェクトと、
それぞれの動的なオブジェクトがメタデータを含む、動的なオブジェクトとを備え、
前記静的なオブジェクトは、既存の固定チャネルシステムとの後方互換性を促進し、
前記動的なオブジェクトのそれぞれに対するメタデータは、オブジェクト属性を含み、
前記動的なオブジェクトのそれぞれに対するオブジェクト属性は、オブジェクトのロケーションとオブジェクトの速度とのうちの１つ以上に関する情報を含むシステム。
【請求項２】
前記ネットワークリソースモニタは、利用可能なネットワーク帯域幅を監視する請求項１記載のシステム。
【請求項３】
前記オブジェクト指向エンコーダは、前記利用可能なネットワーク帯域幅が相対的に狭いときに、相対的に多くのオーディオオブジェクトを選択して、前記オーディオストリームから取り除くようにと、前記利用可能なネットワーク帯域幅が相対的に広いときに、相対的に少ないオーディオオブジェクトを選択して、前記オーディオストリームから取り除くように、さらに構成されている請求項２記載のシステム。
【請求項４】
前記優先度情報は、前記複数のオーディオオブジェクトのそれぞれに対する優先度値を含む請求項１記載のシステム。
【請求項５】
前記オブジェクト指向エンコーダは、その優先度値が優先度しきい値を満たす前記１つ以上のオーディオオブジェクトを前記複数のオーディオオブジェクトから少なくとも選択することにより、前記複数のオーディオオブジェクトのうちの１つ以上を選択するように、さらに構成されている請求項４記載のシステム。
【請求項６】
前記オブジェクト指向エンコーダは、前記利用可能なネットワークリソースについての情報に少なくとも部分的に基づいて、前記優先度しきい値を選択するようにさらに構成されている請求項５記載のシステム。
【請求項７】
前記オブジェクト指向エンコーダは、コンピューティングリソースの利用可能性における変化を示すリソース情報を前記遠隔コンピュータシステムから受信することに応答して、前記優先度しきい値を動的に調節するようにさらに構成されている請求項５記載のシステム。
【請求項８】
前記オブジェクト指向エンコーダは、前記複数のオーディオオブジェクトの非ダイアログオーディオオブジェクトの優先度値よりも高い優先度値を、前記複数のオーディオオブジェクトのダイアログオーディオオブジェクトに割り当てるようにさらに構成されている請求項４記載のシステム。
【請求項９】
前記オブジェクト指向エンコーダは、前記ダイアログオーディオオブジェクトが前記オーディオストリーム中に存在しない一時的な時間期間の間、前記非ダイアログオーディオオブジェクトの優先度値を増加させるようにさらに構成されている請求項８記載のシステム。
【請求項１０】
前記オーディオ送信モジュールは、１つ以上のオーディオオブジェクトを単一のストリーム中で前記遠隔コンピュータシステムに少なくともストリーミングすることにより、前記オーディオストリームを送信するようにさらに構成されている請求項１記載のシステム。
【発明の詳細な説明】
【関連出願】
【０００１】
本出願は、２００９年８月１４日に出願され、“マルチ次元オーディオに対する生成、送信、記憶、および、レンダリングのシステム”と題し、その開示がすべて参照によりここに組み込まれている、米国仮特許出願番号第６１／２３３，９３１号について、米国特許法第１１９条の下での優先権の利益を主張する。
【背景】
【０００２】
ステレオおよびサラウンドサウンドのような、既存のオーディオ配信システムは、生成のポイントからプレーバック環境までの、固定数のチャネルを実現する柔軟性のないパラダイムに基づいている。従来、オーディオチェーン全体を通して、作成されるチャネルの数と、物理的に送信または記録されるチャネルの数との間には、１対１の対応がある。いくつかのケースでは、利用可能なチャネルの数は、送信ストリーム中に提供されている数よりも少ない再生チャネルを持つプレーバックコンフィギュレーションに適応するように、ミックスダウンとして知られるプロセスを通して減少される。ミックスダウンの一般的な例は、単一のスピーカーを通して再生するためにステレオをモノにミキシングすることと、２スピーカーでのプレーバックのためにマルチチャネルサラウンドサウンドをステレオにミキシングすることである。
【０００３】
また、オーディオ配信システムは、３次元空間中でサウンドを正確にレンダリングできないので、３Ｄビデオアプリケーションには適していない。スピーカーの数およびポジションによって、および、一般的に、心理音響原理は無視されるという事実によって、これらのシステムは制限されている。その結果、最も精巧なサウンドシステムでさえ、音響空間のおおざっぱなシミュレーションしか作り出せず、真の３Ｄプレゼンテーションまたはマルチ次元プレゼンテーションを近似しない。
【概要】
【０００４】
オブジェクト指向オーディオを提供するシステムおよび方法を説明する。ある実施形態では、ロケーション、速度、方向性、および、これらに類するもののような、サウンドソースの属性をそれらのサウンドソースに関係付けることにより、オーディオオブジェクトを作成する。例えば、ネットワークを通してクライアントデバイスにオーディオオブジェクトをストリーミングすることにより、サウンドを分配するチャネルの代わりに、または、サウンドを分配するチャネルに加えて、オーディオオブジェクトを使用することができる。オブジェクトは、関係する２次元または３次元の座標で、空間中のそれらのロケーションを規定することができる。利用可能なネットワークまたはクライアントデバイスのリソースに基づいて、クライアントデバイスにオブジェクトを適応的にストリーミングすることができる。クライアントデバイス上のレンダラは、オブジェクトの属性を使用して、オブジェクトをレンダリングする方法を決定することができる。クライアントデバイスのレンダリング環境についての情報に基づいて、レンダラは、オブジェクトのプレーバックをさらに適応させることができる。オーディオオブジェクト作成技術のさまざまな例も説明する。
【０００５】
ある実施形態では、オブジェクト指向オーディオストリームの送信を適応させる方法は、オーディオコンテンツに対する要求を遠隔コンピュータシステムから受信することと、遠隔コンピュータシステムの利用可能なコンピューティングリソースに関するリソース情報を、遠隔コンピュータシステムから受信することと、リソース情報と、複数のオーディオオブジェクトに対応する優先度情報とに少なくとも部分的に基づいて、１つ以上のプロセッサにより、オーディオコンテンツに関係付けられている複数のオーディオオブジェクトのうちの１つ以上をプログラム的に選択することと、ネットワークを通して、選択した１つ以上のオーディオオブジェクトを遠隔コンピュータシステムに送信することとを含むことができる。
【０００６】
ある実施形態では、オブジェクト指向オーディオストリームの送信を適応させるシステムは、ネットワークを通して遠隔コンピュータシステムからオーディオコンテンツ要求を受信するようにと、ネットワークの利用可能なリソースについてのネットワークリソース情報にアクセスするように構成されているネットワークリソースモニタを具備することができる。システムは、また、利用可能なネットワークリソースと、複数のオーディオオブジェクトに対応する優先度情報とに少なくとも部分的に基づいて、複数のオーディオオブジェクトのうちの１つ以上を選択して、オーディオストリームから取り除くように構成され、１つ以上のプロセッサにより実現されるオブジェクト指向エンコーダを具備することができる。システムは、また、ネットワークを通して遠隔コンピュータシステムにオーディオストリームを送信するように構成されているオーディオ送信モジュールを具備することができる。
【０００７】
ある実施形態では、オブジェクト指向オーディオストリームのレンダリングを適応させる方法は、コンピュータシステムにより、ネットワークを通して、遠隔サーバからオーディオストリームを受信し、オーディオストリームは、複数のオーディオオブジェクトを含んでいることと；コンピュータシステムに関係するプレーバック環境に関する環境情報にアクセスすることと、コンピュータシステムにより、環境情報に少なくとも部分的に基づいて、複数のオーディオオブジェクトのうちの１つ以上を選択することと、選択した１つ以上のオーディオオブジェクトをレンダリングして、出力オーディオを生成させることと、１つ以上のスピーカーに出力オーディオを供給することとを含むことができる。
【０００８】
さまざまなインプリメンテーションでは、オブジェクト指向オーディオストリームをレンダリングする方法は、ネットワークを通して遠隔サーバからオーディオストリームを受信し、オーディオストリームは、オブジェクトメタデータ部分とオーディオ信号部分とを含んでいることを含むことができる。方法は、また、オブジェクトメタデータ部分にアクセスして、オーディオストリーム中に含まれているオーディオオブジェクトの１つ以上のオブジェクト属性を識別することと、１つ以上のオブジェクト属性をレンダリングの手掛かりとして少なくとも使用することにより、オーディオ信号部分をレンダリングして、出力オーディオを生成させることと、１つ以上のスピーカーに出力オーディオを供給することとを含むことができる。
【０００９】
ある実施形態では、オブジェクト指向オーディオを作成するシステムは、第１のサウンドソースに対する第１のロケーションデータおよび第１のオーディオデータを受信し、第２のサウンドソースに対する第２のロケーションデータおよび第２のオーディオデータを受信し第１のオーディオデータと、第１のロケーションデータに対応する第１のポジションとを含む第１のオーディオオブジェクトを作成し、第２のオーディオデータと、第２のロケーションデータに対応する第２のポジションとを含む第２のオーディオオブジェクトを作成することができるオブジェクト作成モジュールを具備することができる。システムは、また、１つ以上のプロセッサにより実現されるオブジェクトリンキングモジュールを具備することができる。オブジェクトリンキングモジュールは、第１のオーディオオブジェクトと第２のオーディオオブジェクトとの間の関係付けを１つ以上のプロセッサにより作成することができ、第１のオーディオオブジェクトと第２のオーディオオブジェクトとの間の関係付けをコンピュータ記憶装置中に記憶させることができる。
【００１０】
ある実施形態では、オブジェクト指向オーディオを作成する方法は、サウンドソースから取得したオーディオデータを受信することと、サウンドソースに関係付けられているロケーション追跡デバイスからロケーションデータを受信することと、ロケーションデータからポジションを計算し、ポジションは、サウンドソースの１つ以上の画像を獲得するのに使用されるカメラに関して決定されることと、オーディオデータと計算したポジションとを関係付けるオーディオオブジェクトを自動的に作成することと、オーディオオブジェクトをコンピュータ記憶装置中に記憶させることとを含むことができる。
【００１１】
ある実施形態では、オブジェクト指向オーディオを作成する方法は、第１のサウンドソースに対する第１のロケーションデータおよび第１のオーディオデータを受信することと、第２のサウンドソースに対する第２のロケーションデータおよび第２のオーディオデータを受信することと、第１のオーディオデータと、第１のロケーションデータに対応する第１のポジションとを含む第１のオーディオオブジェクトを作成することと、第２のオーディオデータと、第２のロケーションデータに対応する第２のポジションとを含む第２のオーディオオブジェクトを作成することと、第１のオーディオオブジェクトと第２のオーディオオブジェクトとの間の関係付けを１つ以上のプロセッサにより作成することと、第１のオーディオオブジェクトと第２のオーディオオブジェクトとの間の関係付けをコンピュータ記憶装置中に記憶させることとを含むことができる。
【００１２】
本開示を要約する目的のために、本発明のある態様、利点、および、新規の特徴をここで説明する。ここで開示する本発明の何らかの特定の実施形態にしたがって、このようなすべての利点を必ずしも達成できるわけではないことを理解すべきである。したがって、ここで教示または示唆することがある他の利点を必ずしも達成することなく、ここで教示されている１つの利点または利点のグループを達成するあるいは最適化する方法で、ここで開示する発明を具現化または実行することができる。
【図面の簡単な説明】
【００１３】
図面全体を通して、参照するエレメント間の対応を示すために、参照番号を再使用する。ここで説明する本発明の実施形態を示し、それらの範囲を限定しないように、図面を提供する。
【図１Ａ】図１Ａは、オブジェクト指向オーディオシステムの実施形態を示している。
【図１Ｂ】図１Ｂは、オブジェクト指向オーディオシステムの実施形態を示している。
【図２】図２は、オブジェクト指向オーディオシステムの別の実施形態を示している。
【図３】図３は、ここで説明するオブジェクト指向オーディオシステムのうちのいずれかにおいて使用するためのストリーミングモジュールの実施形態を示している。
【図４】図４は、オブジェクト指向オーディオストリーミングフォーマットの実施形態を示している。
【図５Ａ】図５Ａは、オーディオストリームアセンブリプロセスの実施形態を示している。
【図５Ｂ】図５Ｂは、オーディオストリームレンダリングプロセスの実施形態を示している。
【図６】図６は、適応オーディオオブジェクトストリーミングシステムの実施形態を示している。
【図７】図７は、適応オーディオオブジェクトストリーミングプロセスの実施形態を示している。
【図８】図８は、適応オーディオオブジェクトレンダリングプロセスの実施形態を示している。
【図９】図９は、オブジェクト指向オーディオ捕捉に対する例示的なシーンを示している。
【図１０】図１０は、オブジェクト指向オーディオ捕捉に対するシステムの実施形態を示している。
【図１１】図１１は、オブジェクト指向オーディオ捕捉に対するプロセスの実施形態を示している。
【詳細な説明】
【００１４】
Ｉ．イントロダクション
上記で説明した既存のシステムでの問題に加えて、オーディオ配信システムは、リスナーのプレーバック環境を十分に考慮していない。その代わりに、環境や、リスナーの好みや、または、心理音響原理の実現を何ら補償することなく、最終的なリスニング環境に特定の数のチャネルを配信するように、オーディオシステムは設計されている。これらの機能および能力は、従来、システムインテグレータに残されている。
【００１５】
本開示は、これらの問題のうちの少なくともいくつかを取り扱う、オブジェクト指向オーディオをストリーミングするためのシステムおよび方法を説明している。ある実施形態では、ロケーション、速度、方向性、および、これらに類するもののような、サウンドソースの属性に、これらのサウンドソースを関係付けることにより、オーディオオブジェクトが作られる。例えば、ネットワークを通してクライアントデバイスにオーディオオブジェクトをストリーミングすることにより、サウンドを分配するチャネルの代わりに、または、サウンドを分配するチャネルに加えて、オーディオオブジェクトを使用することができる。ある実施形態では、これらのオブジェクトは、チャネルには、または、チャネル間でパンされたポジションには関連していないが、むしろ、関係する２次元または３次元の座標で、空間中のそれらのロケーションを規定している。レンダラまたはクライアントデバイスは、オブジェクトの属性を使用して、オブジェクトをレンダリングする方法を決定することができる。
【００１６】
レンダラは、利用可能なコンピューティングリソースに基づいて、レンダリングおよび／またはストリーミングを適応させることにより、ある実施形態におけるレンダラの環境に対処することもできる。同様に、利用可能な帯域幅のような、ネットワーク条件に基づいて、オーディオオブジェクトのストリーミングを適応させることができる。オーディオオブジェクト作成技術のさまざまな例も説明する。有利なことに、ここで説明するシステムおよび方法は、融通のきかないオーディオチャネル分配モデルに関係する欠点を減らすまたは克服することができる。
【００１７】
概要として、図１Ａおよび図１Ｂは、オブジェクト指向オーディオシステムの実施形態を紹介している。さらに後の図は、これらのオブジェクト指向オーディオシステムにより実現することができる技術を説明している。例えば、図２ないし図５Ｂは、オブジェクト指向オーディオをストリーミングするためのさまざまな例示的な技術を説明している。図６ないし図８は、環境とネットワーク条件とに基づいて、オブジェクト指向オーディオを適応的にストリーミングするおよびレンダリングするための例示的な技術を説明している。図９ないし図１１は、例示的なオーディオオブジェクト作成技術を説明している。
【００１８】
ここで使用するような用語“ストリーミング”およびその派生物は、それらの普通の意味を有することに加えて、（サーバのような）１つのコンピューティングシステムから（クライアントのような）別のコンピューティングシステムへのコンテンツの分配を意味することがある。用語“ストリーミング”およびその派生物は、ＢｉｔＴｏｒｒｅｎｔおよび関連するプロトコルを含む、さまざまなプロトコルのうちの任意のものを使用して、ピア・ツー・ピアネットワークを通してコンテンツを分配することを指すこともある。
【００１９】
ＩＩ．オブジェクト指向オーディオシステム概要
図１Ａおよび図１Ｂは、オブジェクト指向オーディオシステム１００Ａ、１００Ｂの実施形態を示している。コンピュータハードウェア中および／またはソフトウェア中で、オブジェクト指向オーディオシステム１００Ａ、１００Ｂを実現することができる。有利なことに、ある実施形態では、オブジェクト指向オーディオシステム１００Ａ、１００Ｂにより、コンテンツ作成者が、オーディオオブジェクトを作成し、このようなオブジェクトをストリーミングして、固定チャネルモデルに縛られることなくオブジェクトをレンダリングすることが可能になる。
【００２０】
特に図１Ａを参照すると、オブジェクト指向オーディオシステム１００Ａは、オーディオオブジェクト作成システム１１０Ａと、コンテンツサーバ１２０Ａ中で実現されるストリーミングモジュール１２２Ａと、ユーザシステム１４０中で実現されるレンダラ１４２Ａとを含んでいる。オーディオオブジェクト作成システム１１０Ａは、オーディオオブジェクトを作成して修正するための機能性をユーザに提供することができる。コンテンツサーバ１２０Ａ上にインストールされているものとして示されているストリーミングモジュール１２２Ａを使用して、ネットワーク１３０を通して、ユーザシステム１４０にオーディオオブジェクトをストリーミングすることができる。ネットワーク１３０は、ＬＡＮや、ＷＡＮや、インターネットや、または、それらのものの組み合わせを含むことができる。ユーザシステム１４０上のレンダラ１４２Ａは、１つ以上のラウドスピーカーに出力するためにオーディオオブジェクトをレンダリングすることができる。
【００２１】
表されている実施形態では、オーディオオブジェクト作成システム１１０Ａは、オブジェクト作成モジュール１１４およびオブジェクト指向エンコーダ１１２Ａを備えている。オブジェクト作成モジュール１１４は、例えば、オーディオデータの属性にオーディオデータを関係付けることによってオブジェクトを作成するための機能性を提供することができる。あらゆるタイプのオーディオを使用して、オーディオオブジェクトを発生させることができる。オブジェクト中に発生させてストリーミングすることができるオーディオのいくつかの例は、映画と、テレビと、映画のトレーラーと、音楽と、音楽ビデオと、他のオンラインビデオと、ビデオゲームと、これらに類するものとに関係するオーディオを含むことができる。
【００２２】
最初に、オーディオデータを記録するか、または、そうでなければ、取得することができる。オブジェクト作成モジュール１１４は、ユーザが、オーディオデータにアクセスし、オーディオデータを編集し、そうでなければ、オーディオデータを操作することを可能にするユーザインターフェースを提供することができる。オーディオデータは、サウンドソースまたはサウンドソースの集合を表すことができる。サウンドソースのいくつかの例は、ダイアログと、背景音楽と、（車や、飛行機や、または、何らかの小道具のような）何らかのアイテムにより発生されたサウンドとを含んでいる。さらに一般的には、サウンドソースは、何らかのオーディオクリップとすることができる。
【００２３】
サウンドソースは、オブジェクト作成モジュール１１４が、オブジェクトを作成するためにオーディオデータに関係付けることができる１つ以上の属性を有することができる。属性の例は、サウンドソースのロケーションと、サウンドソースの速度と、サウンドソースの方向性と、これらに類するものとを含んでいる。オーディオデータが記録された時間を反映した時間属性のような、いくつかの属性を、オーディオデータから直接取得してもよい。オーディオを発生させたサウンドソースのタイプ（例えば、車対アクター）のような、他の属性を、ユーザによってオブジェクト作成モジュール１１４に供給することができる。オブジェクト作成モジュール１１４により、他のデバイスから、さらに他の属性を自動的にインポートすることができる。例として、サウンドソースのロケーションをグローバルポジショニングシステム（ＧＰＳ）デバイスまたはこれに類するものから取り出すことができ、オブジェクト作成モジュール１１４中にインポートすることができる。属性の追加の例および属性を識別するための技術の追加の例を、下記でさらに詳細に説明する。オブジェクト作成モジュール１１４は、オブジェクトデータリポジトリ１１６中にオーディオオブジェクトを記憶させることができる。オブジェクトデータリポジトリ１１６は、データベースまたは他のデータ記憶装置を含むことができる。
【００２４】
オブジェクト指向エンコーダ１１２Ａは、１つ以上のオーディオオブジェクトを、ネットワークを通した送信に適したオーディオストリームにエンコードすることができる。１つの実施形態では、オブジェクト指向エンコーダ１１２Ａは、関係する属性メタデータとともに、オーディオオブジェクトを、圧縮されていないＰＣＭ（パルスコード変調された）オーディオとしてエンコードする。別の実施形態では、オブジェクト指向エンコーダ１１２Ａはまた、ストリームを作成するときに、オブジェクトに圧縮を適用する。
【００２５】
有利なことに、ある実施形態では、オブジェクト指向エンコーダにより発生されたオーディオストリームは、メタデータヘッダとオーディオペイロードとにより表されている少なくとも１つのオブジェクトを含むことができる。オーディオストリームは、それぞれがオブジェクトメタデータヘッダとオーディオペイロードとを含むことができるフレームから成ることがある。いくつかのオブジェクトは、メタデータのみを含み、オーディオペイロードを含んでいないことがある。他のオブジェクトは、オーディオペイロードを含んでいるが、メタデータをほとんどまたはまったく含んでいないことがある。このようなオブジェクトの例を、下記で詳細に説明する。
【００２６】
オーディオオブジェクト作成システム１１０Ａは、（示されていない）ネットワークを通して、コンテンツサーバ１２０Ａに、エンコードしたオーディオオブジェクトを供給することができる。コンテンツサーバ１２０Ａは、後の送信のために、エンコードしたオーディオオブジェクトをホスト管理することができる。コンテンツサーバ１２０Ａは、物理的なコンピューティングデバイスのような、１つ以上の機械を含むことができる。ユーザシステムは、ネットワーク１３０を通して、コンテンツサーバ１２０Ａにアクセス可能である。例えば、コンテンツサーバ１２０Ａは、ウェブサーバや、コンテンツ配信ネットワーク（ＣＤＮ）中のエッジノードや、または、これらに類するものとすることができる。
【００２７】
ユーザシステム１４０は、コンテンツサーバ１２０Ａにアクセスして、オーディオコンテンツを要求することができる。このような要求の受信に応答して、コンテンツサーバ１２０Ａは、ユーザシステム１４０にオーディオコンテンツをストリーミングし、このオーディオコンテンツをアップロードし、または、そうでなければ、このオーディオコンテンツを送信することができる。あらゆる形態のコンピューティングデバイスが、オーディオコンテンツにアクセスすることができる。例えば、ユーザシステム１４０は、デスクトップ、ラップトップ、タブレット、パーソナルデジタルアシスタント（ＰＤＡ）、テレビ、（電話機のような）ワイヤレスハンドヘルドデバイス、または、これらに類するものとすることができる。
【００２８】
ユーザシステム１４０上のレンダラ１４２Ａは、１つ以上のラウドスピーカーに出力するために、エンコードされたオーディオオブジェクトをデコードして、このオーディオオブジェクトをレンダリングすることができる。レンダラ１４２Ａは、さまざまな異なるレンダリング特徴、オーディオエンハンスメント、心理音響エンハンスメント、および、オーディオオブジェクトをレンダリングするためのこれらに類するものを含むことができる。レンダラ１４２Ａは、オーディオオブジェクトをレンダリングする方法に関する手掛かりとして、オーディオオブジェクトのオブジェクト属性を使用することができる。
【００２９】
図１Ｂを参照すると、オブジェクト指向オーディオシステム１００Ｂは、オーディオオブジェクト作成システム１１０Ｂと、コンテンツサーバ１２０Ｂと、ユーザシステム１４０とのような、システム１００Ａの特徴のうちの多くのものを含んでいる。示されているコンポーネントの機能性は、上記で説明したものと同じとすることができ、ここでは、ある違いを記している。例えば、表されている実施形態では、コンテンツサーバ１２０Ｂは、ユーザシステム１４０にストリーミングされるオブジェクトデータの量を動的に適応することができる適応ストリーミングモジュール１２２Ｂを含む。同じように、ユーザシステム１４０は、オーディオストリーミングを、および／または、ユーザシステム１４０によってオブジェクトをレンダリングする方法を、適応させることができる適応レンダラ１４２Ｂを含んでいる。
【００３０】
図１Ｂからわかるように、オーディオオブジェクト作成システム１１０Ｂからコンテンツサーバ１２０Ｂにオブジェクト指向エンコーダ１１２Ｂが移動されている。表されている実施形態では、オーディオオブジェクト作成システム１１０Ｂは、オーディオストリームの代わりにオーディオオブジェクトをコンテンツサーバ１２０Ｂにアップロードする。コンテンツサーバ１２０Ｂ上の適応ストリーミングモジュール１２２Ｂは、オブジェクト指向エンコーダ１１２Ｂを含んでいる。それゆえ、表されている実施形態では、オーディオオブジェクトのエンコーディングは、コンテンツサーバ１２０Ｂ上で実行される。代替的に、オーディオオブジェクト作成システム１１０Ｂは、エンコードしたオブジェクトを適応ストリーミングモジュール１２２Ｂにストリーミングすることができる。適応ストリーミングモジュール１２２Ｂは、さらに操作するために、および、後に再エンコーディングするために、オーディオオブジェクトをデコードする。
【００３１】
コンテンツサーバ１２０Ｂ上でオブジェクトをエンコードすることにより、適応ストリーミングモジュール１２２Ｂは、ストリーミングの前にオブジェクトをエンコードする方法を動的に適応させることができる。適応ストリーミングモジュール１２２Ｂは、ネットワーク帯域幅や、待ち時間等のような、利用可能なネットワーク１３０リソースを監視することができる。利用可能なネットワークリソースに基づいて、適応ストリーミングモジュール１２２Ｂは、より多いまたはより少ないオーディオオブジェクトをオーディオストリーム中にエンコードすることができる。例えば、ネットワークリソースがより多く利用可能になると、適応ストリーミングモジュール１２２Ｂは、相対的に多くのオーディオオブジェクトをオーディオストリーム中にエンコードすることができ、逆もまた同じである。
【００３２】
適応ストリーミングモジュール１２２Ｂはまた、数よりもむしろ（または、数に加えて）、オーディオストリーム中にエンコードされるオブジェクトのタイプを調節することができる。例えば、適応ストリーミングモジュール１２２Ｂは、ネットワークリソースが制約されているときに、（ダイアログのような）より高い優先度のオブジェクトをエンコードすることができるが、（ある背景サウンドのような）より低い優先度のオブジェクトをエンコードすることはできない。オブジェクトの優先度に基づく適応ストリーミングの概念は、下記でより詳細に説明する。
【００３３】
適応レンダラ１４２Ｂもまた、オーディオオブジェクトがユーザシステム１４０にどのようにストリーミングされるかに影響を与えることがある。例えば、適応レンダラ１４２Ｂは、適応ストリーミングモジュール１２２Ｂと通信して、ユーザシステム１４０にストリーミングされるオーディオオブジェクトの量および／またはタイプを制御することができる。適応レンダラ１４２Ｂはまた、オーディオストリームがレンダリングされる方法を、プレーバック環境に基づいて、調節することができる。例えば、より大きなシアターは、数十または数百の多くの増幅器ならびにスピーカーのロケーションおよび能力を特定してもよい一方で、内蔵型のＴＶは、２つの増幅器チャネルとスピーカーとだけが利用可能であることを特定してもよい。この情報に基づいて、システム１００Ａ、１００Ｂは、音響フィールドプレゼンテーションを最適化することができる。到来オーディオストリームは記述的とすることができ、プレーバック環境の物理的な特性に依存しないので、システム１００Ａ、１００Ｂ中の多くの異なるタイプのレンダリング特徴は、再生されるリソースおよび環境に依存して適用することができる。適応レンダラ１４２Ｂのこれらの特徴および他の特徴は、下記でより詳細に説明する。
【００３４】
いくつかの実施形態では、（エンコーダ１１２Ａのような）オブジェクト指向エンコーダが、適応ストリーミングモジュール１２２Ｂに、エンコードしたストリームを送る場合でさえ、ここで説明する適応特徴を実現することができる。進行中に新しいオーディオストリームをアセンブリする代わりに、適応ストリーミングモジュール１２２Ｂは、利用可能なコンピューティングリソースまたはネットワークリソースが少なくなったときに、オーディオストリームからオブジェクトを取り除くことができる、または、そうでなければ、オーディオストリームをフィルタリングすることができる。例えば、適応ストリーミングモジュール１２２Ｂは、レンダリングする重要性が相対的に低いオブジェクトに対応しているパケットをストリームから取り除くことができる。ストリーミングおよび／またはレンダリングのためにオブジェクトに重要性を割り当てるための技術を、下記でより詳細に説明する。
【００３５】
上記の実施形態からわかるように、オーディオ分配およびプレーバックのための開示したシステム１００Ａ、１００Ｂは、オーディオコンテンツの初期の生成からリスナーの知覚システムまでのチェーン全体を含むことができる。システム１００Ａ、１００Ｂは、送信／記憶またはマルチ次元のレンダリングシステムにおける概念的な改善を容易に組み込むことができるという点で、スケーリング可能で、将来も使い続けられるものである。システム１００Ａ、１００Ｂはまた、大きなフォーマットのシアターベースのプレゼンテーションから、ホームシアターのコンフィギュレーションおよび内蔵型ＴＶオーディオシステムまで容易にスケーリングすることができる。
【００３６】
既存の物理チャネルベースシステムとは対照的に、システム１００Ａ、１００Ｂは、シーンの構造についてとともに、シーン内の個別のコンポーネントについての情報を提供する一連のオーディオオブジェクトへと、オーディオコンテンツの生成を抽象化することができる。リソースが利用可能な場合に、各オブジェクトに関係する情報をシステム１００Ａ、１００Ｂによって使用して、提供された情報の最も正確な表現を作成することができる。システム１００Ａ、１００Ｂに対する追加の入力として、これらのリソースを特定することができる。
【００３７】
物理的なスピーカーおよび増幅器を使用することに加えて、システム１００Ａ、１００Ｂは、心理音響処理を取り入れて、音響環境におけるリスナーの熱中を高めるとともに、視覚的なフィールドにおけるそれらのポジションに正確に対応している３Ｄオブジェクトのポジショニングを実現してもよい。送信ストリーム中に含まれているオーディオオブジェクト情報のプレゼンテーションを向上させるために、または、そうでなければ、送信ストリーム中に含まれているオーディオオブジェクト情報のプレゼンテーションを最適化するために、利用可能なリソースとして、この処理も、システム１００Ａ、１００Ｂに対して（例えば、レンダラ１４２に対して）定義することができる。
【００３８】
いかなるときにおいても追加の情報を加えることができるように、ストリームは拡張可能に設計されている。レンダラ１４２Ａ、１４２Ｂは、一般的なものとすることができ、または、特定の環境およびリソースの組み合わせをサポートするように設計することができる。オーディオ再生における将来的な改善および新しい概念を自由自在に取り入れることができ、送信／記憶ストリーム中に含まれる同じ記述情報が、潜在的にさらに正確なレンダリングにより利用することができる。システム１００Ａ、１００Ｂは、何らかの将来的な物理的または概念的改善を、いかなる時点においてもシステム１００Ａ、１００Ｂ内に容易に組み込むことができるレベルに抽象化されている一方で、以前のコンテンツおよびレンダリングシステムとの互換性が維持されている。現在のシステムとは異なり、システム１００Ａ、１００Ｂは、柔軟性があり、適応可能である。
【００３９】
例示を容易にするために、本明細書は、主に、ネットワークを通してオーディオをストリーミングする文脈でのオブジェクト指向オーディオ技術を説明している。しかしながら、非ネットワーク環境においても、オブジェクト指向オーディオ技術を実現することができる。例えば、ＤＶＤディスクや、ブルーレイ（登録商標）ディスクや、または、これらに類するもののような、コンピュータ読取可能記憶媒体上にオブジェクト指向オーディオストリームを記憶させることができる。（ブルーレイプレーヤーのような）メディアプレーヤーは、ディスク上に記憶されているオブジェクト指向オーディオストリームをプレーバックすることができる。オブジェクト指向オーディオパッケージも、ユーザシステム上のローカルの記憶装置にダウンロードすることができ、その後、ローカルの記憶装置からプレーバックすることができる。他の多くのバリエーションが可能である。
【００４０】
図１Ａおよび図１Ｂに関して説明したあるコンポーネントの機能性を組み合わせたり、修正したり、省略したりできることを正しく認識すべきである。例えば、１つのインプリメンテーションでは、コンテンツサーバ１２０上でオーディオオブジェクト作成システム１１０を実現することができる。オーディオオブジェクト作成システム１１０からユーザシステム１４０に直接オーディオストリームをストリーミングすることができる。他の多くのコンフィギュレーションも可能である。
【００４１】
ＩＩＩ．オーディオオブジェクトストリーミング実施形態
オーディオオブジェクトストリームのより詳細な実施形態を、ここで図２ないし図５Ｂに関して説明する。図２を参照すると、オブジェクト指向オーディオシステム２００の別の実施形態が示されている。システム２００は、上記で説明したシステム１００Ａ、１００Ｂの特徴のうちのいずれかのものを実現することができる。システム２００は、デコードし、レンダリングし、１つ以上のスピーカーにより出力することができるオブジェクト指向オーディオストリームを発生させることができる。
【００４２】
システム２００では、オブジェクト指向エンコーダ２１２にオーディオオブジェクト２０２が提供される。上記で説明したように、オーディオコンテンツ作成システムによりまたはコンテンツサーバ上のストリーミングモジュールにより、オブジェクト指向エンコーダ２１２を実現することができる。オブジェクト指向エンコーダ２１２は、オーディオオブジェクトをビットストリーム２１４中にエンコードおよび／または圧縮することができる。オブジェクト指向エンコーダ２１２は、（例えば、ＭＰ３ファイルを作成するための）ムービングピクチャエキスパートグループ（ＭＰＥＧ）標準規格のうちのいずれかに基づく圧縮技術を含む、オブジェクトをエンコードするための何らかのコーデックまたは圧縮技術を使用することができる。
【００４３】
ある実施形態では、オブジェクト指向エンコーダ２１２は、異なるオーディオオブジェクトに対するメタデータヘッダとオーディオペイロードとを有する、単一のビットストリーム２１４を作成する。オブジェクト指向エンコーダ２１２は、ネットワークを通して、ビットストリーム２１４を送信することができる（例えば、図１Ｂ参照）。ユーザシステム上で実現されるデコーダ２２０は、ビットストリーム２１４を受信することができる。デコーダ２２０は、ビットストリーム２１４をその構成オーディオオブジェクト２０２中にデコードすることができる。デコーダ２２０は、レンダラ２４２にオーディオオブジェクト２０２を提供する。いくつかの実施形態では、レンダラ２４２は、デコーダ２２０の機能性を直接実現することができる。
【００４４】
レンダラ２４２は、１つ以上のスピーカー２５０上でプレーバックするのに適したオーディオ信号２４４中に、オーディオオブジェクトをレンダリングすることができる。上記で説明したように、レンダラ１４２Ａは、オーディオオブジェクトをレンダリングする方法に関する手掛かりとして、オーディオオブジェクトのオブジェクト属性を使用することができる。有利なことに、ある実施形態では、オーディオオブジェクトは、このような属性を含んでいるので、オーディオオブジェクトのフォーマットを変更することなく、レンダラ１４２Ａの機能性を変更することができる。例えば、１つのタイプのレンダラ１４２Ａは、オーディオオブジェクトのポジション属性を使用して、１つのスピーカーから別のスピーカーにオーディオをパンするかもしれない。第２のレンダラ１４２Ａは、心理音響エンハンスメントがレンダラ１４２Ａに対して利用可能であるという決定に応答して、同じポジション属性を使用して、オーディオオブジェクトに対して３Ｄの心理音響フィルタリングを実行するかもしれない。一般に、レンダラ１４２Ａは、いくつかのまたはすべての利用可能なリソースを考慮して、最良の可能性あるプレゼンテーションを作成することができる。レンダリング技術が改善すると、以前から存在するフォーマットのオーディオオブジェクトを利用するユーザシステム１４０に、追加のレンダラ１４２Ａまたはレンダリングリソースを加えることができる。
【００４５】
上記で説明したように、オブジェクト指向エンコーダ２１２および／またはレンダラ２４２もまた、適応特徴を有することができる。
【００４６】
図３は、ここで説明するオブジェクト指向オーディオシステムのうちのいずれかで使用するためのストリーミングモジュール３２２の実施形態を示している。ストリーミングモジュール３２２は、オブジェクト指向エンコーダ３１２を含んでいる。ハードウェア中および／またはソフトウェア中で、ストリーミングモジュール３２２およびエンコーダ３１２を実現することができる。表されている実施形態は、異なるタイプのオーディオオブジェクトを単一のビットストリーム３１４中にどのようにエンコードすることができるのかを示している。
【００４７】
示されている例示的なストリーミングモジュール３２２は、静的なオブジェクト３０２と動的なオブジェクト３０４という２つの異なるタイプのオブジェクトを受信する。静的なオブジェクト３０２は、５．１チャネルサラウンドサウンドのような、オーディオのチャネルを表すことができる。静的なオブジェクト３０２として、各チャネルを表すことができる。何人かのコンテンツ作成者は、システム１００Ａ、１００Ｂのオブジェクトベースの機能性の代わりに、または、システム１００Ａ、１００Ｂのオブジェクトベースの機能性に加えて、チャネルを使用することを望んでいることがある。静的なオブジェクト３０２は、これらのコンテンツ作成者がチャネルを使用するための方法を提供し、既存の固定チャネルシステムとの後方互換性を促進し、採用の容易さを推進する。
【００４８】
動的なオブジェクト３０４は、静的なオブジェクト３０２の代わりに、または、静的なオブジェクト３０２に加えて、使用することができる何らかのオブジェクトを含むことができる。動的なオブジェクト３０４は、静的なオブジェクト３０２とともにレンダリングされるときに、静的なオブジェクト３０２に関係付けられているオーディオを向上させるエンハンスメントを含むことができる。例えば、動的なオブジェクト３０４は、静的なオブジェクト３０２を向上させるためにレンダラが使用することができる心理音響情報を含むことができる。動的なオブジェクト３０４はまた、オーディオシーンを向上させるためにレンダラが使用することができる背景オブジェクト（例えば、通過する飛行機）を含むこともできる。しかしながら、動的なオブジェクト３０４は、背景オブジェクトである必要はない。動的なオブジェクト３０４は、ダイアログまたは他の何らかのオーディオデータを含むことができる。
【００４９】
静的なオブジェクト３０２に関係付けられているメタデータは、ほとんどないか、または、存在しないことがある。１つの実施形態では、このメタデータは、単に、静的なオブジェクト３０２がどのチャネルに対応しているのかを示す、“チャネル”のオブジェクト属性を含んでいる。このメタデータは、いくつかのインプリメンテーションでは変わらないので、それゆえ、静的なオブジェクト３０２は、それらのオブジェクト属性において静的である。対照的に、動的なオブジェクト３０４は、変化するポジション、速度等のような、変化するオブジェクト属性を含むことができる。したがって、これらのオブジェクト３０４に関係付けられているメタデータは、動的とすることができる。しかしながら、いくつかの状況では、静的なオブジェクト３０２に関係付けられているメタデータは、経時的に変わることがある一方で、動的なオブジェクト３０４に関係付けられているメタデータは、同じままであることがある。
【００５０】
さらに、上記で述べたように、いくつかの動的なオブジェクト３０４は、オーディオペイロードをほとんど含まないか、または、まったく含まないことがある。例えば、環境オブジェクト３０４は、シーンが行われる音響環境の所望の特性を特定することができる。これらの動的なオブジェクト３０４は、部屋や、オフィスや、大聖堂や、スタジアムや、または、これらに類するもののような、オーディオシーンが起こる建物のタイプまたは屋外エリアのタイプに関する情報を含むことができる。レンダラは、この情報を使用して、例えば、示されている環境に対応する適切な量の残響または遅延を適用することにより、静的なオブジェクト３０２中のオーディオのプレーバックを調節することができる。環境の動的なオブジェクト３０４はまた、いくつかのインプリメンテーションでは、オーディオペイロードを含むことがある。環境オブジェクトのいくつかの例は、図４に関して下記で説明する。
【００５１】
メタデータを含むが、ペイロードをほとんどまたはまったく含まないことがある別のタイプのオブジェクトは、オーディオ定義オブジェクトである。１つの実施形態では、ユーザシステムは、オーディオクリップまたはサウンドのライブラリを含むことができ、オーディオクリップまたはサウンドのライブラリは、オーディオ定義オブジェクトを受信したときに、レンダラによってレンダリングすることができるものである。オーディオ定義オブジェクトは、ユーザシステム上に記憶されているオーディオクリップまたはサウンドに対する参照とともに、クリップをどのくらい長くプレーするのか、クリップをループさせるか否か等についての命令を含むことができる。オーディオ定義オブジェクトから、オーディオストリームを部分的にまたは全部でさえ構築することができ、実際のオーディオデータのうちのいくつかまたはすべてが、ユーザシステム上に記憶される（または別のサーバからアクセス可能である）。別の実施形態では、ストリーミングモジュール３２２は、ユーザシステムに複数のオーディオ定義オブジェクトを送ることができ、その後に、複数のオーディオペイロードオブジェクトが続き、メタデータと実際のオーディオとを分離する。他の多くのコンフィギュレーションが可能である。
【００５２】
コンテンツ作成者は、記述的なコンピュータ言語を使用して（例えば、オーディオオブジェクト作成システム１１０を使用して）、静的なオブジェクト３０２または動的なオブジェクト３０４を宣言することができる。後にストリーミングすることになるオーディオコンテンツを作成したときに、コンテンツ作成者は、所望の数の静的なオブジェクト３０２を宣言することができる。例えば、コンテンツ作成者は、（例えば、中央のチャネルに対応する）ダイアログの静的なオブジェクト３０２または他の何らかの数の静的なオブジェクト３０２が、常時オンであることを要求することができる。この“常時オン”の性質は、静的なオブジェクト３０２を静的にさせることができる。対照的に、動的なオブジェクト３０４は、移り変わり、オーディオストリーム中に常に存在しているわけではない。当然、これらの特徴が逆になることもある。例えば、静的なオブジェクト３０２をゲート制御するか、または、そうでなければ、トグルすることが望ましいことがある。例えば、所定の静的なオブジェクト３０２中にダイアログが存在しないときには、その静的なオブジェクト３０２をオーディオストリーム中に含めないことにより、コンピューティングリソースおよびネットワークリソースを節約することができる。
【００５３】
図４は、オブジェクト指向オーディオストリーミングフォーマット４００の実施形態を示している。オーディオストリーミングフォーマットは、ビットストリーム４１４を含んでおり、ビットストリーム４１４は、上記で説明したビットストリームのうちのいずれかに対応することができる。ビットストリーム４１４のフォーマット４００は、連続したより詳細な図（４２０、４３０）に分けられる。示されているビットストリームフォーマット４００は、単に、例示的な実施形態であり、インプリメンテーションに依存して変化することがある。
【００５４】
表されている実施形態では、ビットストリーム４１４は、ストリームヘッダ４１２と、マクロフレーム４２０とを含んでいる。ストリームヘッダ４１２は、ビットストリーム４１４の開始時または終了時に生じることがある。ストリームヘッダ４１２中に含まれることがある情報のうちのいくつかの例は、ストリームの作者、ストリームの出所、著作権情報、ストリームの作成および／または配信に関連するタイムスタンプ、ストリームの長さ、ストリームをエンコードするのにどのコーデックが使用されたかに関する情報、および、これらに類するものを含んでいる。デコーダおよび／またはレンダラによってストリームヘッダ４１２を使用して、ストリーム４１４を適切にデコードすることができる。
【００５５】
マクロフレーム４２０は、ビットストリーム４１４をデータのセクションに分割する。各マクロフレーム４２０は、オーディオシーンにまたはオーディオのタイムスライスに対応することができる。各マクロフレーム４２０は、さらに、マクロフレームヘッダ４２２および個別のフレーム４３０を含んでいる。マクロフレームヘッダ４２２は、マクロフレーム中に含まれるオーディオオブジェクトの数や、マクロフレーム４２０に対応するタイムスタンプ等を定義することができる。いくつかのインプリメンテーションでは、マクロフレームヘッダ４２２は、マクロフレーム４２０中でフレーム４３０の後に配置することができる。個別のフレーム４３０は、それぞれ、単一のオーディオオブジェクトを表すことができる。しかしながら、いくつかのインプリメンテーションでは、フレーム４３０は、複数のオーディオオブジェクトを表すこともできる。１つの実施形態では、レンダラは、マクロフレーム４２０に関係付けられているオーディオオブジェクトをレンダリングする前に、マクロフレーム４２０全体を受信する。
【００５６】
各フレーム４３０は、オブジェクトメタデータを含むフレームヘッダ４３２と、オーディオペイロード４３４とを含んでいる。いくつかのインプリメンテーションでは、フレームヘッダ４３２は、オーディオペイロード４３４の後に配置することができる。しかしながら、上記で論じたように、いくつかのオーディオオブジェクトは、メタデータ４３２のみか、または、オーディオペイロード４３４のみかのいずれかを有することがある。したがって、いくつかのフレーム４３０は、オブジェクトメタデータをほとんど持たないか、または、まったく持たないフレームヘッダを含むことがあり（あるいは、ヘッダをまったく含まないことがある）、いくつかのフレーム４３０は、オーディオペイロード４３４をほとんど含まないか、または、まったく含まないことがある。
【００５７】
フレームヘッダ４３２中のオブジェクトメタデータは、オブジェクト属性に関する情報を含んでいることがある。以下の表は、オブジェクト属性を定義するのに使用することができるメタデータの例を示している。特に、表１は、さまざまなオブジェクト属性を示しており、属性名と属性の説明とによりまとめられている。いくつかの設計では、示されている属性よりも少ない属性や、または、示されている属性よりも多い属性を実現してもよい。
【表１−１】
0005635097.tif 000002
【表１−２】
0005635097.tif 000003
【００５８】
表１中にリストされているＯＢＳＴＲＵＣＴ＿ＰＲＥＳＥＴ（障害プリセット）に対する例示的な値が、下記の表２中で示されている。障害プリセット値は、サウンドソースが、カメラまたはリスナーの視点からさえぎられている程度、あるいは、ブロックされている程度に影響を及ぼすことがある。したがって、例えば、厚いドアの後ろから発せられたサウンドソースは、カーテンの後ろから発せられたサウンドソースとは異なるようにレンダリングされることがある。上記で論じたように、レンダラは、これらのオブジェクト属性の値および他のオブジェクト属性の値に基づいて、何らかの所望のレンダリング技術を実行することができる（または、まったく実行しない）。
【表２】
0005635097.tif 000004
【００５９】
（時には、遮蔽として呼ばれる）障害プリセットと同様に、ＲＥＶＥＲＢ＿ＰＲＥＳＥＴ（残響プリセット）が、表３中で示されているような例示的な値を含んでいることがある。これらの残響値は、サウンドソースが位置しているかもしれない環境のタイプに対応している。したがって、講堂で発するサウンドソースは、居間で発するサウンドソースとは異なるようにレンダリングされるかもしれない。１つの実施形態では、環境オブジェクトは、下記で説明するもののようなプリセット値を含む残響属性を含んでいる。
【表３】
0005635097.tif 000005
【００６０】
いくつかの実施形態では、環境オブジェクトは、上記で説明した残響プリセットを使用して単に説明されるものではない。その代わりに、環境オブジェクトは、（プリセットする必要がない）残響の量や、エコーの量や、背景ノイズの程度等のような、１つ以上の属性で説明することができる。他の多くのコンフィギュレーションが可能である。同様に、オーディオオブジェクトの属性は、一般的に、値以外の形態を有していることがある。例えば、属性は、サウンドソースの振る舞いまたは特性を定義するコードあるいは命令のスニペットを含んでいることがある。
【００６１】
図５Ａは、オーディオストリームアセンブリプロセス５００Ａの実施形態を示している。オーディオストリームアセンブリプロセス５００Ａは、ここで説明するシステムのうちのいずれかによって実現することができる。例えば、ストリームアセンブリプロセス５００Ａは、上記で説明したオブジェクト指向エンコーダまたはストリーミングモジュールのうちのいずれかによって実現することができる。ストリームアセンブリプロセス５００Ａは、少なくとも１つのオーディオオブジェクトからオーディオストリームをアセンブリする。
【００６２】
ブロック５０２において、ストリームに対するオーディオオブジェクトを選択する。オーディオオブジェクトは、上記で説明したオーディオオブジェクト作成モジュール１１０により作成されたものであるかもしれない。そうであるので、オーディオオブジェクトの選択は、オブジェクトデータリポジトリ１１６中のオーディオオブジェクトへのアクセスを含むことができる。代替的に、ストリーミングモジュール１２２は、コンピュータ記憶装置からのオーディオオブジェクトにアクセスすることができる。例示を簡単にするために、この例示的な図は、単一のオブジェクトのストリーミングを説明するが、オーディオストリーム中で複数のオブジェクトをストリーミングすることができることを理解すべきである。選択したオブジェクトは、静的なオブジェクトまたは動的なオブジェクトとすることができる。この特定の例では、選択したオブジェクトは、メタデータおよびオーディオペイロードを有している。
【００６３】
ブロック５０４において、オブジェクトのメタデータを有するオブジェクトヘッダをアセンブリする。このメタデータは、オブジェクト属性の何らかの記述を含むことができ、そのうちのいくつかの例を上記で説明した。ブロック５０６において、オブジェクトのオーディオ信号データを有するオーディオペイロードを提供する。
【００６４】
ブロック５０８において、オブジェクトヘッダとオーディオペイロードとを組み合わせて、オーディオストリームを形成する。オーディオストリームの形成は、オーディオストリームのエンコーディングと、オーディオストリームの圧縮と、これらに類するものとを含むことができる。ブロック５１０において、ネットワークを通して、オーディオストリームを送信する。何らかのストリーミング技術を使用して、オーディオストリームをストリーミングすることができる一方で、ユーザシステムにオーディオストリームをアップロードすることもできる（または、反対に、ユーザシステムによりダウンロードすることもできる）。その後、図５Ｂに関して下記で説明するように、ユーザシステムによりオーディオストリームをレンダリングすることができる。
【００６５】
図５Ｂは、オーディオストリームレンダリングプロセス５００Ｂの実施形態を示している。オーディオストリームレンダリングプロセス５００Ｂは、ここで説明するシステムのうちのいずれかによって実現することができる。例えば、ストリームレンダリングプロセス５００Ｂは、ここで説明するレンダラのうちのいずれかによって実現することができる。
【００６６】
ブロック５２２において、オブジェクト指向オーディオストリームを受信する。このオーディオストリームは、プロセス５００Ａの技術を使用して、または、上記で説明した他の技術によって、作成されたものであるかもしれない。ブロック５２４において、オーディオストリーム中のオブジェクトメタデータにアクセスする。例えば、このストリームをエンコードするのに使用したのと同じコーデックを使用して、このストリームをデコードすることにより、このメタデータを取得してもよい。
【００６７】
ブロック５２６において、メタデータ中の１つ以上のオブジェクト属性を識別する。ストリーム中のオーディオオブジェクトをレンダリングするための手掛かりとして、レンダラによって、これらのオブジェクト属性の値を識別することができる。
【００６８】
ブロック５２８において、オーディオストリーム中のオーディオ信号をレンダリングする。表されている実施形態では、１つ以上のオブジェクト属性にしたがってオーディオストリームをレンダリングして、出力オーディオを生成させる。ブロック５３０において、１つ以上のラウドスピーカーに出力オーディオを供給する。
【００６９】
ＩＶ．適応ストリーミングおよびレンダリングの実施形態
図１Ｂに関して、適応ストリーミングモジュール１２２Ｂと適応レンダラ１４２Ｂを上記で説明した。図６のシステム６００では、適応ストリーミングモジュール６２２と適応レンダラ６４２のさらに詳細な実施形態が示されている。
【００７０】
図６では、適応ストリーミングモジュール６２２は、優先度モジュール６２４と、ネットワークリソースモニタ６２６と、オブジェクト指向エンコーダ６１２と、オーディオ通信モジュール６２８とを含む、いくつかのコンポーネントを有している。適応レンダラ６４２は、コンピューティングリソースモニタ６４４と、レンダリングモジュール６４６とを含んでいる。異なるインプリメンテーションでは、示されているコンポーネントのうちのいくつかを省略してもよい。オブジェクト指向エンコーダ６１２は、上記で説明したエンコーディングの特徴のうちのいずれかを含むことができる。オーディオ通信モジュール６２８は、（示されていない）ネットワークを通して適応レンダラ６４２にビットストリーム６１４を送信することができる。
【００７１】
優先度モジュール６２４は、優先度値また他の優先度情報をオーディオオブジェクトに適用することができる。１つの実施形態では、各オブジェクトは、優先度値を有することができ、優先度値は、数値またはこれに類するものであってもよい。優先度値は、レンダリングの観点から、オブジェクトの相対的な重要性を示すことができる。より高い優先度を持つオブジェクトは、より低い優先度のオブジェクトよりもレンダリングする重要性が高いことがある。したがって、リソースが制約されている場合には、相対的に低い優先度を持つオブジェクトを無視することがある。優先度は、上記で説明したオーディオオブジェクト作成システム１１０を使用して、コンテンツ作成者により最初に確立することができる。
【００７２】
例として、ビデオに対するダイアログを含むダイアログオブジェクトが、背景サウンドオブジェクトよりも相対的に高い優先度を有しているかもしれない。優先度値が、例えば、１から５までのスケール上にある場合に、ダイアログオブジェクトは、（最も高い優先度を意味する）１の優先度値を有しているかもしれない一方で、背景サウンドオブジェクトは、より低い優先度（例えば、２から５までのどこか）を有しているかもしれない。優先度モジュール６２４は、ある優先度レベルを満たすオブジェクトを送信するためにしきい値を確立することができる。例えば、優先度モジュール６２４は、１、２、および、３の優先度を有するオブジェクトがユーザシステムに送信される一方で、４または５の優先度を持つオブジェクトは送信されないように、３のしきい値を確立することができる。
【００７３】
優先度モジュール６２４は、ネットワークリソースモニタ６２６により決定されるような、変化するネットワーク条件に基づいて、このしきい値を動的に設定することができる。ネットワークリソースモニタ６２６は、利用可能なネットワークリソースを、または、帯域幅、待ち時間等のような、他のサービス品質手段を監視することができる。ネットワークリソースモニタ６２６は、この情報を優先度モジュール６２４に提供することができる。この情報を使用して、優先度モジュール６２４は、ネットワークリソースが多い場合には、より低い優先度のオブジェクトをユーザシステムに送信できるようにしきい値を調節する。同様に、優先度モジュール６２４は、ネットワークリソースが少ないときには、より低い優先度のオブジェクトの送信を防ぐようにしきい値を調節することができる。
【００７４】
優先度モジュール６２４はまた、適応レンダラ６４２から受け取った情報に基づいて、優先度しきい値を調節することができる。適応レンダラ６４２のコンピューティングリソースモジュール６４４は、ユーザシステムに接続されているスピーカーの数や、ユーザシステムの処理能力等のような、ユーザシステムのプレーバック環境の特性を識別することができる。コンピューティングリソースモジュール６４４は、制御チャネル６５０を通して、優先度モジュール６２４にコンピューティングリソース情報を通信することができる。この情報に基づいて、優先度モジュール６２４は、コンピューティングリソースが多い場合には、より高い優先度のオブジェクトとより低い優先度のオブジェクトの双方を送ることができるようにしきい値を調節し、コンピューティングリソースが少ない場合には、より高い優先度のオブジェクトのみを送ることができるようにしきい値を調節する。それゆえ、適応レンダラ６４２のコンピューティングリソースモニタ６４４は、ユーザシステムにストリーミングされるオーディオオブジェクトの量および／またはタイプを制御することができる。
【００７５】
適応レンダラ６４２はまた、プレーバック環境に基づいて、オーディオストリームをレンダリングする方法を、調節することができる。例えば、ユーザシステムが２つのスピーカーに接続されている場合に、適応レンダラ６４２は、２つのスピーカー上でオーディオオブジェクトをレンダリングすることができる。追加のスピーカーがユーザシステムに接続されている場合には、適応レンダラ６４２は、追加のチャネル上でもオーディオオブジェクトをレンダリングすることができる。１つまたは２つ（または、時にはさらに多く）のスピーカー上でオーディオオブジェクトをレンダリングするときに、適応レンダラ６４２は、心理音響技術も適用してもよい。
【００７６】
優先度モジュール６２４は、オーディオオブジェクトの優先度を動的に変化させることができる。例えば、優先度モジュール６２４は、互いに対する相対的な優先度を有するようにオブジェクトを設定することができる。例えば、優先度モジュール６２４によって、ダイアログオブジェクトには、より高い優先度値が割り当てられることがある。他のオブジェクトの優先度値は、ダイアログオブジェクトの優先度と比較したものとすることができる。したがって、ダイアログオブジェクトがオーディオストリーム中の時間期間の間に存在しない場合に、他のオブジェクトは、相対的に高い優先度を有することができる。
【００７７】
図７は、適応ストリーミングプロセス７００の実施形態を示している。システム６００のような、上記で説明したシステムのうちのいずれかによって、適応ストリーミングプロセス７００を実現することができる。適応ストリーミングプロセス７００は、ストリーミングリソースの効率的な使用を促進する。
【００７８】
上記で説明した優先度モジュール６２４により、ブロック７０２ないし７０８を実行することができる。ブロック７０２において、オーディオコンテンツに対する要求を遠隔コンピュータから受信する。例えば、ユーザシステムは、コンテンツサーバに要求を送ることができる。ブロック７０４において、遠隔コンピュータシステムのリソースに関するコンピューティングリソース情報を受信する。このコンピューティングリソース情報は、ユーザシステムのさまざまな利用可能なリソースを記述することができ、オーディオコンテンツ要求とともに提供することができる。ブロック７０６において、利用可能なネットワークリソースに関するネットワークリソース情報も受信する。ネットワークリソースモニタ６２６によって、このネットワークリソース情報を取得することができる。
【００７９】
ブロック７０８において、コンピュータおよび／またはネットワークのリソース情報に少なくとも部分的に基づいて、優先度しきい値を設定する。１つの実施形態では、優先度モジュール６２４は、コンピューティングリソースおよびネットワークリソースの双方が相対的に多いときに、（例えば、ストリーム中のより低い優先度のオブジェクトを許容するように）より低いしきい値を確立する。優先度モジュール６２４は、コンピューティングリソースまたはネットワークリソースのいずれかが相対的に少ないときに、（例えば、ストリーム中のより高い優先度のオブジェクトを許容するように）より高いしきい値を確立することができる。
【００８０】
オブジェクト指向エンコーダ６１２により、ブロック７１０ないし７１４を実行することができる。決定ブロック７１０において、要求されたオーディオコンテンツ中の所定のオブジェクトに対して、そのオブジェクトに対する優先度値が、以前に確立されたしきい値を満たしているか否かを決定する。そうである場合には、ブロック７１２において、オーディオストリームにオブジェクトが追加される。そうでなければ、オーディオストリームにオブジェクトは追加されず、これにより、ある実施形態ではネットワークおよび／またはコンピューティングのリソースを有効に節約する。
【００８１】
ブロック７１４において、追加のオブジェクトをストリームに追加することが依然として考えられているか否かをさらに決定する。そうである場合には、プロセス７００は、ブロック７１０にループバックする。そうでなければ、ブロック７１６において、例えば、オーディオ通信モジュール６２８により、遠隔コンピューティングシステムにオーディオストリームが送信される。
【００８２】
オーディオストリームを進行中にアセンブリする代わりに、いくつかのインプリメンテーションでは、プロセス７００を修正して、予めエンコードされたオーディオストリームからオブジェクトを取り除くことができる。例えば、ブロック７１０において、所定のオブジェクトが、しきい値を満たさない優先度を有している場合に、ブロック７１２において、オーディオストリームからオブジェクトを取り除くことができる。したがって、コンテンツ作成者は、コンテンツサーバへのオーディオストリームにさまざまなオブジェクトを提供することができ、コンテンツサーバにおける適応ストリーミングモジュールは、オブジェクトの優先度に基づいて、オブジェクトのうちのいくつかを動的に取り除くことができる。それゆえ、ストリーミングするためのオーディオオブジェクトの選択は、ストリームにオブジェクトを追加すること、ストリームからオブジェクトを取り除くこと、または、その双方を含むことができる。
【００８３】
図８は、適応レンダリングプロセス８００の実施形態を示している。システム６００のような、上記で説明したシステムのうちのいずれかによって、適応レンダリングプロセス８００を実現することができる。適応レンダリングプロセス８００は、ストリーミングリソースの効率的な使用も促進する。
【００８４】
ブロック８０２において、ユーザシステムのレンダラにより、複数のオーディオオブジェクトを有するオーディオストリームを受信する。例えば、適応レンダラ６４２は、オーディオオブジェクトを受信することができる。ブロック８０４において、プレーバック環境情報にアクセスする。適応レンダラ６４２のコンピューティングリソースモニタ６４４により、プレーバック環境情報にアクセスすることができる。このリソース情報は、スピーカーコンフィギュレーション、計算能力等に関する情報を含むことができる。
【００８５】
適応レンダラ６４２のレンダリングモジュール６４６により、ブロック８０６ないし８１０を実現することができる。ブロック８０６において、環境情報に少なくとも部分的に基づいて、１つ以上のオーディオオブジェクトを選択する。レンダリングモジュール６４６は、オブジェクトの優先度値を使用して、レンダリングするオブジェクトを選択することができる。別の実施形態では、レンダリングモジュール６４６は、優先度値に基づいてオブジェクトを選択しないが、その代わりに、オブジェクトをより少ないスピーカーチャネル中にダウンミックスするか、または、そうでなければ、より少ない処理リソースを使用して、オーディオをレンダリングする。ブロック８０８において、オーディオオブジェクトをレンダリングして、出力オーディオを生成させる。ブロック８１０において、レンダリングしたオーディオを１つ以上のスピーカーに出力する。
【００８６】
Ｖ．オーディオオブジェクト作成の実施形態
図９ないし図１１は、映画、テレビ、ポッドキャスト、および、これらに類するもののような、オーディオビジュアル再生の文脈での例示的なオーディオオブジェクト作成技術を説明している。しかしながら、（例えば、ビデオを伴うことのない）純粋なオーディオの文脈でも、図９ないし図１１に関して説明する特徴のうちのいくつかまたはすべてを実現することができる。
【００８７】
図９は、オブジェクト指向オーディオ捕捉に対する例示的なシーン９００を示している。シーン９００は、映画、テレビ、または、他のビデオに対して構築することができるような、オーディオビジュアルシーンの簡略化された図を表している。シーン９００では、２人のアクター９１０が演じていて、彼らのサウンドおよびアクションは、マイクロフォン９２０とカメラ９３０とによりそれぞれ記録されている。簡潔にするために、単一のマイクロフォン９２０が示されているが、いくつかのケースでは、アクター９１０は個別のマイクロフォンを身に付けていてもよい。同様に、（示されていない）小道具に対して個別のマイクロフォンを供給することもできる。
【００８８】
現在のシーン９００におけるサウンドソース（例えば、アクター）のロケーション、速度、および、他の属性を決定するために、ロケーション追跡デバイス９１２が提供されている。これらのロケーション追跡デバイス９１２は、ＧＰＳデバイス、モーション捕捉スーツ、レーザーレンジファインダー、および、これらに類するものを含むことができる。マイクロフォン９２０（または、マイクロフォン）からのデータとともに、ロケーション追跡デバイス９１２からのデータを、オーディオオブジェクト作成システム１１０に送信することができる。オーディオの各インスタンスに対するポジションデータを提供するために、ロケーション追跡デバイス９１２からのデータ中に含まれているタイムスタンプは、マイクロフォン９２０および／またはカメラ９３０から取得したタイムスタンプと相関させることができる。このポジションデータを使用して、ポジション属性を有するオーディオオブジェクトを作成することができる。同様に、速度データは、ロケーション追跡デバイス９１２から取得することができ、または、ポジションデータから導出することができる。
【００８９】
（ＧＰＳ導出の緯度および経度のような）ロケーション追跡デバイス９１２からのロケーションデータは、ポジションデータとして直接使用することができ、または、座標系に翻訳することができる。例えば、３次元（ｘ、ｙ、および、ｚ）でのデカルト座標９４０を使用して、オーディオオブジェクトポジションを追跡することができる。球座標または円柱座標のような、デカルト座標以外の座標系も使用してもよい。１つの実施形態では、座標系９４０に対する原点は、カメラ９３０とすることができる。この配置を促進するために、カメラ９３０は、オーディオオブジェクトと比較したそのロケーションを決定するためにロケーション追跡デバイス９１２も含むことができる。したがって、カメラ９３０のポジションが変化した場合でさえも、シーン９００中のオーディオオブジェクトのポジションは、なお、カメラ９３０のポジションと比較したものとすることができる。
【００９０】
オーディオビジュアル生成のポスト生成の間に、オーディオオブジェクトにポジションデータを適用することもできる。アニメーションの生成のために、（キャラクターのような）アニメ化されたオブジェクトの座標をコンテンツ作成者に知らせることができる。各アニメ化されたオブジェクトにより生成されるオーディオに、これらの座標を自動的に関係付けて、オーディオオブジェクトを作成することができる。
【００９１】
図１０は、図９に関して上記で説明した特徴を実現することができるオブジェクト指向オーディオ捕捉のためのシステム１０００を概略的に示している。システム１０００において、サウンドソースロケーションデータ１００２およびマイクロフォンデータ１００６が、オブジェクト作成モジュール１０１４に提供される。オブジェクト作成モジュール１０１４は、上記で説明したオブジェクト作成モジュール１１４Ａ、１１４Ｂの特徴をすべて含むことができる。オブジェクト作成モジュール１０１４は、図９に関して上記で説明したように、タイムスタンプ１００４、１００８に基づいて、所定のサウンドソースに対するサウンドソースロケーションデータ１００２を、マイクロフォンデータ１００６に相関させることができる。
【００９２】
付加的に、オブジェクト作成モジュール１０１４は、オブジェクトを共にリンクすることができる、または、そうでなければ、オブジェクトを共に関係付けることができるオブジェクトリンカ１０２０を含んでいる。あるオーディオオブジェクトは、元来、互いに関連していることがあり、それゆえ、オブジェクトリンカ１０２０により自動的に共にリンクすることができる。下記で説明する方法で、リンクされたオブジェクトを共にレンダリングすることができる。
【００９３】
オブジェクトは、より高い同じクラスのオブジェクトに関連しているので、これらのオブジェクトは元来互いに関連していることがある。言い換えると、オブジェクト作成モジュール１０１４は、親のオブジェクトと、親のオブジェクトに関連し、親のオブジェクトの性質を継承している子のオブジェクトとを含む、オブジェクトのヒエラルキーを形成することができる。この方法で、オーディオオブジェクトは、コンピュータプログラミング言語から、あるオブジェクト指向の原理を借りることができる。子のオブジェクトを有することがある親のオブジェクトの例は、マーチングバンドである。マーチングバンドは、トロンボーンや、フルートや、クラリネット等のような、異なるグループの楽器に対応するいくつかのセクションを有することができる。オブジェクト作成モジュール１０１４を使用するコンテンツ作成者は、バンドを親のオブジェクトに割り当て、各セクションを子のオブジェクトに割り当てることができる。さらに、コンテンツ作成者はまた、個別のバンドメンバーを、セクションオブジェクトの子のオブジェクトに割り当てることができる。ヒエラルキーにおけるレベルの数を含む、オブジェクトヒエラルキーの複雑さは、コンテンツ作成者により確立することができる。
【００９４】
上記で述べたように、子のオブジェクトは、それらの親のオブジェクトの性質を継承することがある。したがって、子のオブジェクトは、それらの親のオブジェクトのメタデータのうちのいくつかまたはすべてを継承することができる。いくつかのケースでは、子のオブジェクトはまた、それらの親のオブジェクトに関係付けられているオーディオ信号データのうちのいくつかまたはすべてを継承することができる。子のオブジェクトは、このメタデータおよび／またはオーディオ信号データのうちのいくつかまたはすべてを修正することができる。例えば、子のオブジェクトは、子と親とが、異なるポジションを有するが、他の類似するメタデータを有するように、親から継承したポジション属性を修正することができる。
【００９５】
子のオブジェクトのポジションは、親のオブジェクトのポジションからのオフセットとして表すこともでき、または、そうでなければ、親のオブジェクトのポジションから導出することができる。マーチングバンドの例を参照すると、バンドのセクションは、バンドのポジションからのオフセットであるポジションを有することがある。バンドがポジションを変化させるにつれて、バンドのセクションを表す子のオブジェクトは、オフセットと、親のバンドのポジションとに基づいて、そのポジションを自動的に更新することができる。この方法で、異なるポジションオフセットを有する、バンドの異なるセクションが、共に動くことができる。
【００９６】
子のオブジェクトと親のオブジェクトとの間の継承は、結果として、子のオブジェクトと親のオブジェクトとの間の共通のメタデータとなることがある。メタデータにおけるこのオーバーラップを、上記で説明したオブジェクト指向エンコーダのうちのいずれかにより活用して、オーディオストリーム中のデータを最適化するか、または、減少させることができる。１つの実施形態では、オブジェクト指向エンコーダは、子のオブジェクトから冗長なメタデータを取り除き、冗長なメタデータを親のメタデータへの参照に置き換えることができる。同様に、冗長なオーディオ信号データが、子のオブジェクトと親のオブジェクトとに共通している場合に、オブジェクト指向エンコーダは、冗長なオーディオ信号データを減少させるか、または、削除することができる。これらの技術は、単に、オーディオストリーム中の冗長なデータを減少させるか、または、削除するために、オブジェクト指向エンコーダが実現することができる多くの最適化技術の例に過ぎない。
【００９７】
さらに、オブジェクト作成モジュール１０１４のオブジェクトリンカ１０２０は、子のオブジェクトと親のオブジェクトを共にリンクすることができる。オブジェクトリンカ１０２０は、２つのオブジェクト間の関係付けを作成することにより、このリンキングを実行することができ、この関係付けを、２つのオブジェクトのメタデータ中に反映してもよい。オブジェクトリンカ１０２０は、この関係付けをオブジェクトデータリポジトリ１０１６中に記憶させることができる。また、いくつかの実施形態では、例えば、オブジェクトが親子関係を有していないときでさえ、コンテンツ作成者は、オブジェクトを手動で共にリンクすることができる。
【００９８】
２つのリンクされたオブジェクトをレンダラが受信したときに、レンダラは、２つのオブジェクトを別々にレンダリングするか、または、共にレンダリングするかを選ぶことができる。したがって、マーチングバンドを、単一ポイントソースとして１つのスピーカー上でレンダリングする代わりに、例えば、レンダラは、マーチングバンドを、オーディオオブジェクトのサウンドフィールドとしてさまざまなスピーカー上で共にレンダリングすることができる。例えば、バンドは、ビデオ中で動くので、レンダラは、スピーカー間にわたって、サウンドフィールドを動かすことができる。
【００９９】
さらに一般的に、レンダラは、さまざまな方法でリンキング情報を解釈することができる。例えば、レンダラは、互いに遅らせた異なる時間において、リンクされているオブジェクトを同じスピーカー上でレンダリングしてもよく、または、異なるスピーカー上で同時にレンダリングしてもよく、または、これらに類することをしてもよい。リンクされているオブジェクトが、リスナーの頭の周りの異なるポイントにあるという印象をリスナーに与えるように、レンダラはまた、心理音響的に決定された空間中の異なるポイントにおいて、リンクされているオブジェクトをレンダリングしてもよい。したがって、例えば、レンダラは、トロンボーンのセクションが、リスナーの左を行進しているように出現させる一方で、クラリネットのセクションがリスナーの右を行進しているように出現させることができる。
【０１００】
図１１は、オブジェクト指向オーディオ捕捉に対するプロセス１１００の実施形態を示している。システム１０００のような、ここで説明したシステムのうちのいずれかによってプロセス１１００を実現することができる。例えば、オブジェクト作成モジュール１０１４のオブジェクトリンカ１０２０によって、プロセス１１００を実現することができる。
【０１０１】
ブロック１１０２において、第１および第２のサウンドソースに対するオーディオおよびロケーションデータを受信する。マイクロフォンを使用してオーディオデータを取得できる一方で、図９に関して上記で説明した技術のうちのいずれかを使用して、ロケーションデータを取得することができる。
【０１０２】
ブロック１１０４において、第１のサウンドソースに対する第１のオーディオオブジェクトを作成する。同様に、ブロック１１０６において、第２のサウンドソースに対する第２のオーディオオブジェクトを作成する。ブロック１１０８において、第１のサウンドソースと第２のサウンドソースの間に関係付けを作成する。この関係付けは、２つのオブジェクトがオブジェクトのヒエラルキーにおいて関連しているか否かに基づいて、オブジェクトリンカ１０２０により自動的に作成することができる。さらに、オブジェクトリンカ１０２０は、何らかの２つの類似する属性のような、オブジェクトに関係付けられている他のメタデータに基づいて、関係付けを自動的に作成することができる。ブロック１１１０において、コンピュータ記憶装置中に関係付けを記憶させる。
【０１０３】
ＶＩ．専門用語
実施形態に依存して、ここで説明したアルゴリズムのうちの任意の、あるアクト、イベント、または機能を、異なるシーケンス中で実行することができ、ひとまとめにして追加したり、マージしたり、または、除外することができる（例えば、説明したアクトまたはイベントのすべてが、アルゴリズムの実施のために必要なわけではない）。さらに、ある実施形態では、例えば、マルチスレッド処理、割り込み処理、あるいは、複数のプロセッサまたはプロセッサコアを通して、もしくは、他のパラレルアーキテクチャ上で、シーケンシャルにではなく、並行してアクトまたはイベントを実行することができる。
【０１０４】
ここで開示した実施形態に関連して説明した、さまざまな例示的な論理ブロック、モジュール、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、あるいは双方の組み合わせたものとして実現することができる。ハードウェアおよびソフトウェアのこの交換可能性を明確に示すために、さまざまな例示的なコンポーネント、ブロック、モジュール、およびステップを一般的にこれらの機能性に関して上記で説明した。このような機能性がハードウェアあるいはソフトウェアとして実現されるか否かは、特定の応用およびシステム全体に課せられた設計の制約に依存する。それぞれの特定の応用に対して方法を変化させて、説明した機能性を実現することができるが、このようなインプリメンテーション決定は、本開示の範囲からの逸脱を生じさせるものとして解釈すべきではない。
【０１０５】
ここで開示した実施形態に関連して説明した、さまざまな例示的な論理的ブロックおよびモジュールは、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポーネント、あるいは、ここで説明した機能を実行するために設計されたこれらの何らかの組み合わせで、機械により、実現することができ、あるいは、実行することができる。汎用プロセッサはマイクロプロセッサとすることができるが、代替実施形態では、プロセッサは、制御装置、マイクロ制御装置、状態機械、または、これらの組み合わせ、あるいは、これらに類するものとすることができる。プロセッサはまた、コンピューティングデバイスの組み合わせとして、例えば、ＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアを備えた１つ以上のマイクロプロセッサ、あるいは、このようなコンフィギュレーションの他の何らかのものとして実現することができる。
【０１０６】
ここで開示した実施形態に関連して説明した方法、プロセスまたはアルゴリズムのステップは、直接、ハードウェアで、プロセッサにより実行されるソフトウェアモジュールで、あるいは、２つの組み合わせで具現化することができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーブバルディスク、ＣＤ−ＲＯＭ、あるいは、技術的に知られている他の何らかの形態のコンピュータ読取可能記憶媒体に存在することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合することができる。代替実施形態では、記憶媒体はプロセッサと一体化することができる。プロセッサおよび記憶媒体は、ＡＳＩＣに存在することができる。ＡＳＩＣはユーザ端末に存在することができる。代替実施形態では、プロセッサおよび記憶媒体は、ユーザ端末中のディスクリートコンポーネントとして存在することができる。
【０１０７】
数ある中で、“できる”、“かもしれない”、“してもよい”、“例えば”、および、これらに類するもののような、ここで使用されている条件付きの言葉は、そうではないと特に述べられていない限り、または、そうでなければ、使用されているような文脈内で理解されない限り、一般的に、ある実施形態は、ある特徴、エレメントおよび／または状態を含む一方で、他の実施形態は、ある特徴、エレメントおよび／または状態を含まないことを伝えることを意図している。したがって、特徴、エレメント、および／または、状態が、どんな方法であれ、１つ以上の実施形態に対して必要とされていることを、あるいは、作者のインプットまたはプロンプティングの有無にかかわらず、これらの特徴、エレメント、および／または、状態が、何らかの特定の実施形態中に含まれているか否かを、もしくは、これらの特徴、エレメント、および／または、状態が、何らかの特定の実施形態中で実行されることになるか否かを決めるためのロジックを１つ以上の実施形態が必ず含んでいることを意味するように、このような条件付きの言葉は、一般的に意図していない。
【０１０８】
上記の詳細な説明は、さまざまな実施形態に適用されるような新規の特徴を示し、説明し、指摘したが、示されているデバイスまたはアルゴリズムの形態ならびに詳細において、本開示の精神から逸脱することなく、さまざまな省略、置換、および、変更を行うことができることが理解されるだろう。認識されるように、いくつかの特徴は、他のものとは別々に使用または実施することができるので、ここで説明されている本発明のある実施形態は、ここで述べた特徴および利益のすべてを提供しない形態内で具現化することができる。ここで開示したある発明の範囲は、先の説明によってではなく、添付の特許請求の範囲によって示されている。特許請求の範囲の均等物の意味および範囲内に入るすべての変更は、それらの範囲内に含まれるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］オブジェクト指向オーディオストリームの送信を適応させる方法において、
前記方法は、
オーディオコンテンツに対する要求を遠隔コンピュータシステムから受信することと、
前記遠隔コンピュータシステムの利用可能なコンピューティングリソースに関するリソース情報を、前記遠隔コンピュータシステムから受信することと、
前記リソース情報と、複数のオーディオオブジェクトに対応する優先度情報とに少なくとも部分的に基づいて、１つ以上のプロセッサにより、前記オーディオコンテンツに関係付けられている複数のオーディオオブジェクトのうちの１つ以上をプログラム的に選択することと、
ネットワークを通して、前記選択した１つ以上のオーディオオブジェクトを前記遠隔コンピュータシステムに送信することとを含む方法。
［２］前記１つ以上のオーディオオブジェクトは、１つ以上のサウンドソースを表し、前記１つ以上のオーディオオブジェクトのそれぞれは、１つ以上のオブジェクト属性とオーディオ信号データとを含む［１］に記載の方法。
［３］前記優先度情報は、前記複数のオーディオオブジェクトのそれぞれに対する優先度値を含む［１］に記載の方法。
［４］前記複数のオーディオオブジェクトのうちの１つ以上をプログラム的に選択することは、それらの優先度値が優先度しきい値を満たす前記１つ以上のオーディオオブジェクトを前記複数のオーディオオブジェクトから選択することを含む［３］に記載の方法。
［５］前記リソース情報に少なくとも部分的に基づいて、前記優先度しきい値を選択することをさらに含む［４］に記載の方法。
［６］前記調節することは、前記コンピューティングリソースのうち相対的に多くのものが利用可能であるときに、前記優先度しきい値を増加させて、相対的に低い優先度のオーディオオブジェクトを選択することと、前記コンピューティングリソースのうち相対的に少ないものが利用可能であるときに、前記優先度しきい値を低下させて、相対的に高い優先度のオーディオオブジェクトを選択することとを含む［５］に記載の方法。
［７］前記コンピューティングリソースの利用可能性における変化を示す第２のリソース情報を前記遠隔コンピュータシステムから受信することに応答して、前記優先度しきい値を動的に調節することをさらに含む［６］に記載の方法。
［８］前記送信することは、前記１つ以上のオーディオオブジェクトを単一のストリーム中で前記遠隔コンピュータシステムにストリーミングすることを含む［１］に記載の方法。
［９］前記複数のオーディオオブジェクトの非ダイアログオブジェクトの優先度値よりも高い優先度値を、前記複数のオーディオオブジェクトのダイアログオーディオオブジェクトに割り当てることをさらに含む［３］に記載の方法。
［１０］前記ダイアログオーディオオブジェクトが前記オーディオストリーム中に存在しない一時的な時間期間の間、前記非ダイアログオーディオオブジェクトの優先度値を増加させることをさらに含む［９］に記載の方法。
［１１］オブジェクト指向オーディオストリームの送信を適応させるシステムにおいて、
前記システムは、
ネットワークを通して遠隔コンピュータシステムからオーディオコンテンツ要求を受信するようにと、前記ネットワークの利用可能なリソースについてのネットワークリソース情報にアクセスするように構成されているネットワークリソースモニタと、
前記利用可能なネットワークリソースと、複数のオーディオオブジェクトに対応する優先度情報とに少なくとも部分的に基づいて、前記複数のオーディオオブジェクトのうちの１つ以上を選択して、オーディオストリームから取り除くように構成され、１つ以上のプロセッサにより実現されるオブジェクト指向エンコーダと、
前記ネットワークを通して前記遠隔コンピュータシステムに前記オーディオストリームを送信するように構成されているオーディオ送信モジュールとを具備するシステム。
［１２］前記ネットワークリソースモニタは、利用可能なネットワーク帯域幅を監視する［１１］に記載のシステム。
［１３］前記オブジェクト指向エンコーダは、前記利用可能なネットワーク帯域幅が相対的に狭いときに、相対的に多くのオーディオオブジェクトを選択して、前記オーディオストリームから取り除くようにと、前記利用可能なネットワーク帯域幅が相対的に広いときに、相対的に少ないオーディオオブジェクトを選択して、前記オーディオストリームから取り除くように、さらに構成されている［１２］に記載のシステム。
［１４］前記優先度情報は、前記複数のオーディオオブジェクトのそれぞれに対する優先度値を含む［１１］に記載のシステム。
［１５］前記オブジェクト指向エンコーダは、その優先度値が優先度しきい値を満たす前記１つ以上のオーディオオブジェクトを前記複数のオーディオオブジェクトから少なくとも選択することにより、前記複数のオーディオオブジェクトのうちの１つ以上を選択するように、さらに構成されている［１４］に記載のシステム。
［１６］前記オブジェクト指向エンコーダは、前記利用可能なネットワークリソースについての情報に少なくとも部分的に基づいて、前記優先度しきい値を選択するようにさらに構成されている［１５］に記載のシステム。
［１７］オブジェクト指向オーディオストリームのレンダリングを適応させる方法において、
前記方法は、
コンピュータシステムにより、ネットワークを通して、遠隔サーバからオーディオストリームを受信し、前記オーディオストリームは、複数のオーディオオブジェクトを含んでいることと、
前記コンピュータシステムに関係するプレーバック環境に関する環境情報にアクセスすることと、
前記コンピュータシステムにより、前記環境情報に少なくとも部分的に基づいて、前記複数のオーディオオブジェクトのうちの１つ以上を選択することと、
前記選択した１つ以上のオーディオオブジェクトをレンダリングして、出力オーディオを生成させることと、
１つ以上のスピーカーに前記出力オーディオを供給することとを含む方法。
［１８］前記環境情報は、前記コンピュータシステムのコンピューティングリソースに関する情報を含む［１７］に記載の方法。
［１９］前記環境情報は、前記コンピュータシステムに接続されているスピーカーの数と、前記コンピュータシステムのデバイスのタイプと、前記コンピューティングシステムの心理音響処理能力と、前記コンピューティングシステム上にインストールされているソフトウェアと、前記コンピューティングシステムのハードウェア特性とのうちの１つ以上に関する情報を含む［１８］に記載の方法。
［２０］前記選択することは、前記複数のオーディオオブジェクトのそれぞれに関係付けられている優先度情報に少なくとも部分的に基づいて、さらに実行される［１７］に記載の方法。
［２１］前記レンダリングすることは、前記プレーバック環境中のスピーカーの数の決定に応答して、前記１つ以上のオーディオオブジェクトに心理音響エンハンスメントを適用することを含む［１７］に記載の方法。
［２２］オブジェクト指向オーディオストリームをレンダリングする方法において、
前記方法は、
ネットワークを通して遠隔サーバからオーディオストリームを受信し、前記オーディオストリームは、オブジェクトメタデータ部分とオーディオ信号部分とを含んでいることと、
前記オブジェクトメタデータ部分にアクセスして、前記オーディオストリーム中に含まれているオーディオオブジェクトの１つ以上のオブジェクト属性を識別することと、
前記１つ以上のオブジェクト属性をレンダリングの手掛かりとして少なくとも使用することにより、前記オーディオ信号部分をレンダリングして、出力オーディオを生成させることと、
１つ以上のスピーカーに前記出力オーディオを供給することとを含む方法。
［２３］前記１つ以上のオブジェクト属性は、前記オーディオオブジェクトのロケーションと、前記オーディオオブジェクトの速度と、前記オーディオオブジェクトの遮蔽と、前記オーディオオブジェクトに関係する環境とのうちの１つ以上を含む［２２］に記載の方法。
［２４］前記オーディオ信号部分をレンダリングすることは、前記オーディオ信号部分に心理音響エンハンスメントを適用することを含む［２２］に記載の方法。
［２５］前記レンダリングすることは、前記心理音響エンハンスメントを実行するためのリソースがレンダラに利用可能であるとの決定に応答して、心理音響エンハンスメントを適用する［２４］に記載の方法。
［２６］前記オブジェクトメタデータは、前記オーディオオブジェクトに関係する環境の特性を識別する環境定義を含む［２２］に記載の方法。
［２７］前記レンダリングすることは、前記オーディオ信号部分にエンハンスメントを適用することを含み、前記エンハンスメントは、前記環境定義に対応する［２６］に記載の方法。
［２８］前記エンハンスメントは、残響を含む［２７］に記載の方法。
［２９］前記レンダリングすることは、前記レンダラに利用可能なリソースを考慮に入れ、より少ないリソースが利用可能であるときに実行されるレンダリングと比較してより多くのリソースが利用可能であるときに、向上したレンダリングを適用する［２２］に記載の方法。
［３０］オブジェクト指向オーディオを作成するシステムにおいて、
前記システムは、
第１のサウンドソースに対する第１のロケーションデータおよび第１のオーディオデータを受信するようにと、
第２のサウンドソースに対する第２のロケーションデータおよび第２のオーディオデータを受信するようにと、
前記第１のオーディオデータと、前記第１のロケーションデータに対応する第１のポジションとを含む第１のオーディオオブジェクトを作成するようにと、
前記第２のオーディオデータと、前記第２のロケーションデータに対応する第２のポジションとを含む第２のオーディオオブジェクトを作成するように構成されているオブジェクト作成モジュールと、
前記第１のオーディオオブジェクトと前記第２のオーディオオブジェクトとの間の関係付けを１つ以上のプロセッサにより作成するようにと、
前記第１のオーディオオブジェクトと前記第２のオーディオオブジェクトとの間の前記関係付けをコンピュータ記憶装置中に記憶させるように構成され、前記１つ以上のプロセッサにより実現されるオブジェクトリンキングモジュールとを具備するシステム。
［３１］前記オブジェクトリンキングモジュールは、前記第１のオーディオオブジェクトと前記第２のオーディオオブジェクトが、共通の親のオーディオオブジェクトの子のオーディオオブジェクトであるとの決定に応答して、前記関係付けを自動的に作成するようにさらに構成されている［３０］に記載のシステム。
［３２］前記第１のオーディオオブジェクトと前記第２のオーディオオブジェクトとの間の前記関係付けは、前記第１のオーディオオブジェクトと前記第２のオーディオオブジェクトとを共にレンダリングするためにレンダラにより使用されるように構成されている［３０］に記載のシステム。
［３３］遠隔コンピューティングデバイス上で共にプレーバックするために、前記第１のオーディオオブジェクトと前記第２のオーディオオブジェクトとを前記遠隔コンピューティングデバイスにストリーミングするように構成されているストリーミングモジュールをさらに具備する［３０］に記載のシステム。
［３４］オブジェクト指向オーディオを作成する方法において、
前記方法は、
サウンドソースから取得したオーディオデータを受信することと、
前記サウンドソースに関係付けられているロケーション追跡デバイスからロケーションデータを受信することと、
前記ロケーションデータからポジションを計算し、前記ポジションは、前記サウンドソースの１つ以上の画像を獲得するのに使用されるカメラに関して決定されることと、
前記オーディオデータと前記計算したポジションとを関係付けるオーディオオブジェクトを自動的に作成することと、
前記オーディオオブジェクトをコンピュータ記憶装置中に記憶させることとを含む方法。
［３５］前記ロケーション追跡デバイスは、グローバルポジショニングシステム（ＧＰＳ）デバイスを含む［３４］に記載の方法。
［３６］前記ロケーション追跡デバイスは、モーション捕捉スーツを含む［３４］に記載の方法。
［３７］前記ロケーション追跡デバイスは、前記カメラに接続されるように構成されている［３４］に記載の方法。
［３８］遠隔コンピューティングデバイスに前記オーディオオブジェクトをストリーミングすることをさらに含み、前記ストリーミングすることは、前記ロケーションデータを含むヘッダと、前記オーディオデータを含むオーディオペイロードとを含むオーディオストリームをストリーミングすることを含む［３４］に記載の方法。
［３９］前記ポジションは、座標系中の座標を含む［３４］に記載の方法。
［４０］第２のポジションを有する第２のオーディオオブジェクトに前記オーディオオブジェクトを自動的にリンクすることをさらに含む［３４］に記載の方法。
［４１］オブジェクト指向オーディオを作成する方法において、
前記方法は、
第１のサウンドソースに対する第１のロケーションデータおよび第１のオーディオデータを受信することと、
第２のサウンドソースに対する第２のロケーションデータおよび第２のオーディオデータを受信することと、
前記第１のオーディオデータと、前記第１のロケーションデータに対応する第１のポジションとを含む第１のオーディオオブジェクトを作成することと、
前記第２のオーディオデータと、前記第２のロケーションデータに対応する第２のポジションとを含む第２のオーディオオブジェクトを作成することと、
前記第１のオーディオオブジェクトと前記第２のオーディオオブジェクトとの間の関係付けを１つ以上のプロセッサにより作成することと、
前記第１のオーディオオブジェクトと前記第２のオーディオオブジェクトとの間の前記関係付けをコンピュータ記憶装置中に記憶させることとを含む方法。
［４２］前記関係付けを作成することは、前記第１のオーディオオブジェクトと前記第２のオーディオオブジェクトが、共通の親のオーディオオブジェクトの子のオーディオオブジェクトであるとの決定に応答して、自動的に実行される［４１］に記載の方法。
［４３］前記第１のロケーションデータを受信することは、前記第１のサウンドソースに関係付けられているロケーション追跡デバイスから前記第１のロケーションデータを受信することを含む［４１］に記載の方法。
［４４］前記ロケーション追跡デバイスは、グローバルポジショニングシステム（ＧＰＳ）デバイスを含む［４３］に記載の方法。
［４５］前記第２のロケーションデータを受信することは、前記第１のロケーションデータからのロケーションオフセットを計算することを含む［４３］に記載の方法。
［４６］前記第１および第２のポジションは、座標を含む［４１］に記載の方法。
［４７］前記座標は、前記第１および第２のサウンドソースの１つ以上の画像を獲得するのに使用される１つ以上のカメラに関して確立される［４６］に記載の方法。
［４８］遠隔コンピューティングデバイス上で共にプレーバックするために、前記第１のオーディオオブジェクトと前記第２のオーディオオブジェクトとを前記遠隔コンピューティングデバイスにストリーミングすることをさらに含む［４１］に記載の方法。
［４９］前記第１のオーディオオブジェクトと前記第２のオーディオオブジェクトとの間の前記関係付けは、前記第１のオーディオオブジェクトと前記第２のオーディオオブジェクトとを共にレンダリングするためにレンダラにより使用されるように構成されている［４１］に記載の方法。
【図１Ａ】
0005635097.tif 000006
【図１Ｂ】
0005635097.tif 000007
【図２】
0005635097.tif 000008
【図３】
0005635097.tif 000009
【図４】
0005635097.tif 000010
【図５Ａ】
0005635097.tif 000011
【図５Ｂ】
0005635097.tif 000012
【図６】
0005635097.tif 000013
【図７】
0005635097.tif 000014
【図８】
0005635097.tif 000015
【図９】
0005635097.tif 000016
【図１０】
0005635097.tif 000017
【図１１】
0005635097.tif 000018