オブジェクト指向オーディオストリーミングシステム
オブジェクト指向オーディオを提供するシステムおよび方法を説明する。ロケーション、速度、方向性等のサウンドソースの属性をサウンドソースに関係付けて、オーディオオブジェクトを作成する。サウンドを分配するチャネルの代わりに、または、サウンドを分配するチャネルに加えて、オーディオオブジェクトを使用する。オブジェクトは、関係する2次元または3次元の座標で、空間中のそれらのロケーションを規定する。利用可能なネットワークまたはクライアントデバイスのリソースに基づいて、クライアントデバイスにオブジェクトを適応的にストリーミングする。クライアントデバイス上のレンダラは、オブジェクトの属性を使用して、オブジェクトをレンダリングする方法を決定する。クライアントデバイスのレンダリング環境についての情報に基づいて、レンダラは、オブジェクトのプレーバックをさらに適応させる。
【発明の詳細な説明】
【関連出願】
【0001】
本出願は、2009年8月14日に出願され、“マルチ次元オーディオに対する生成、送信、記憶、および、レンダリングのシステム”と題し、その開示がすべて参照によりここに組み込まれている、米国仮特許出願番号第61/233,931号について、米国特許法第119条の下での優先権の利益を主張する。
【背景】
【0002】
ステレオおよびサラウンドサウンドのような、既存のオーディオ配信システムは、生成のポイントからプレーバック環境までの、固定数のチャネルを実現する柔軟性のないパラダイムに基づいている。従来、オーディオチェーン全体を通して、作成されるチャネルの数と、物理的に送信または記録されるチャネルの数との間には、1対1の対応がある。いくつかのケースでは、利用可能なチャネルの数は、送信ストリーム中に提供されている数よりも少ない再生チャネルを持つプレーバックコンフィギュレーションに適応するように、ミックスダウンとして知られるプロセスを通して減少される。ミックスダウンの一般的な例は、単一のスピーカーを通して再生するためにステレオをモノにミキシングすることと、2スピーカーでのプレーバックのためにマルチチャネルサラウンドサウンドをステレオにミキシングすることである。
【0003】
また、オーディオ配信システムは、3次元空間中でサウンドを正確にレンダリングできないので、3Dビデオアプリケーションには適していない。スピーカーの数およびポジションによって、および、一般的に、心理音響原理は無視されるという事実によって、これらのシステムは制限されている。その結果、最も精巧なサウンドシステムでさえ、音響空間のおおざっぱなシミュレーションしか作り出せず、真の3Dプレゼンテーションまたはマルチ次元プレゼンテーションを近似しない。
【概要】
【0004】
オブジェクト指向オーディオを提供するシステムおよび方法を説明する。ある実施形態では、ロケーション、速度、方向性、および、これらに類するもののような、サウンドソースの属性をそれらのサウンドソースに関係付けることにより、オーディオオブジェクトを作成する。例えば、ネットワークを通してクライアントデバイスにオーディオオブジェクトをストリーミングすることにより、サウンドを分配するチャネルの代わりに、または、サウンドを分配するチャネルに加えて、オーディオオブジェクトを使用することができる。オブジェクトは、関係する2次元または3次元の座標で、空間中のそれらのロケーションを規定することができる。利用可能なネットワークまたはクライアントデバイスのリソースに基づいて、クライアントデバイスにオブジェクトを適応的にストリーミングすることができる。クライアントデバイス上のレンダラは、オブジェクトの属性を使用して、オブジェクトをレンダリングする方法を決定することができる。クライアントデバイスのレンダリング環境についての情報に基づいて、レンダラは、オブジェクトのプレーバックをさらに適応させることができる。オーディオオブジェクト作成技術のさまざまな例も説明する。
【0005】
ある実施形態では、オブジェクト指向オーディオストリームを発生させる方法は、オーディオストリーム中で送信するためのオーディオオブジェクトを選択することを含み、オーディオオブジェクトは、オーディオ信号データおよびオブジェクトメタデータを含む。オブジェクトメタデータは、1つ以上のオブジェクト属性を含むことができる。方法は、さらに、オブジェクトメタデータを有するオブジェクトヘッダをアセンブリすることと、オーディオ信号データを有するオーディオペイロードを提供することと、1つ以上のプロセッサにより、オブジェクトヘッダとオーディオペイロードとを組み合わせて、オーディオストリームの一部分を少なくとも形成することと、ネットワークを通してオーディオストリームを送信することとを含むことができる。
【0006】
さまざまなインプリメンテーションでは、オブジェクト指向オーディオストリームを発生させるシステムは、1つ以上のプロセッサ中で実現されるオブジェクト指向ストリーミングモジュールを具備することができる。オブジェクト指向ストリーミングモジュールは、サウンドソースを表すオーディオオブジェクトを選択することができ、オーディオオブジェクトは、オーディオ信号データおよびオブジェクトメタデータを含む。オブジェクトメタデータは、サウンドソースの1つ以上のオブジェクト属性を含むことができる。オブジェクト指向ストリーミングモジュールは、また、オーディオ信号データとともにオブジェクトメタデータをエンコードして、単一のオブジェクト指向オーディオストリームの一部分を少なくとも形成することができる。さらに、オブジェクト指向ストリーミングモジュールは、また、ネットワークを通してオブジェクト指向オーディオストリームを送信することができる。
【0007】
本開示を要約する目的のために、本発明のある態様、利点、および、新規の特徴をここで説明する。ここで開示する本発明の何らかの特定の実施形態にしたがって、このようなすべての利点を必ずしも達成できるわけではないことを理解すべきである。したがって、ここで教示または示唆することがある他の利点を必ずしも達成することなく、ここで教示されている1つの利点または利点のグループを達成するあるいは最適化する方法で、ここで開示する発明を具現化または実行することができる。
【図面の簡単な説明】
【0008】
図面全体を通して、参照するエレメント間の対応を示すために、参照番号を再使用する。ここで説明する本発明の実施形態を示し、それらの範囲を限定しないように、図面を提供する。
【図1A】図1Aは、オブジェクト指向オーディオシステムの実施形態を示している。
【図1B】図1Bは、オブジェクト指向オーディオシステムの実施形態を示している。
【図2】図2は、オブジェクト指向オーディオシステムの別の実施形態を示している。
【図3】図3は、ここで説明するオブジェクト指向オーディオシステムのうちのいずれかにおいて使用するためのストリーミングモジュールの実施形態を示している。
【図4】図4は、オブジェクト指向オーディオストリーミングフォーマットの実施形態を示している。
【図5A】図5Aは、オーディオストリームアセンブリプロセスの実施形態を示している。
【図5B】図5Bは、オーディオストリームレンダリングプロセスの実施形態を示している。
【図6】図6は、適応オーディオオブジェクトストリーミングシステムの実施形態を示している。
【図7】図7は、適応オーディオオブジェクトストリーミングプロセスの実施形態を示している。
【図8】図8は、適応オーディオオブジェクトレンダリングプロセスの実施形態を示している。
【図9】図9は、オブジェクト指向オーディオ捕捉に対する例示的なシーンを示している。
【図10】図10は、オブジェクト指向オーディオ捕捉に対するシステムの実施形態を示している。
【図11】図11は、オブジェクト指向オーディオ捕捉に対するプロセスの実施形態を示している。
【詳細な説明】
【0009】
I.イントロダクション
上記で説明した既存のシステムでの問題に加えて、オーディオ配信システムは、リスナーのプレーバック環境を十分に考慮していない。その代わりに、環境や、リスナーの好みや、または、心理音響原理の実現を何ら補償することなく、最終的なリスニング環境に特定の数のチャネルを配信するように、オーディオシステムは設計されている。これらの機能および能力は、従来、システムインテグレータに残されている。
【0010】
本開示は、これらの問題のうちの少なくともいくつかを取り扱う、オブジェクト指向オーディオをストリーミングするためのシステムおよび方法を説明している。ある実施形態では、ロケーション、速度、方向性、および、これらに類するもののような、サウンドソースの属性に、これらのサウンドソースを関係付けることにより、オーディオオブジェクトが作られる。例えば、ネットワークを通してクライアントデバイスにオーディオオブジェクトをストリーミングすることにより、サウンドを分配するチャネルの代わりに、または、サウンドを分配するチャネルに加えて、オーディオオブジェクトを使用することができる。ある実施形態では、これらのオブジェクトは、チャネルには、または、チャネル間でパンされたポジションには関連していないが、むしろ、関係する2次元または3次元の座標で、空間中のそれらのロケーションを規定している。レンダラまたはクライアントデバイスは、オブジェクトの属性を使用して、オブジェクトをレンダリングする方法を決定することができる。
【0011】
レンダラは、利用可能なコンピューティングリソースに基づいて、レンダリングおよび/またはストリーミングを適応させることにより、ある実施形態におけるレンダラの環境に対処することもできる。同様に、利用可能な帯域幅のような、ネットワーク条件に基づいて、オーディオオブジェクトのストリーミングを適応させることができる。オーディオオブジェクト作成技術のさまざまな例も説明する。有利なことに、ここで説明するシステムおよび方法は、融通のきかないオーディオチャネル分配モデルに関係する欠点を減らすまたは克服することができる。
【0012】
概要として、図1Aおよび図1Bは、オブジェクト指向オーディオシステムの実施形態を紹介している。さらに後の図は、これらのオブジェクト指向オーディオシステムにより実現することができる技術を説明している。例えば、図2ないし図5Bは、オブジェクト指向オーディオをストリーミングするためのさまざまな例示的な技術を説明している。図6ないし図8は、環境とネットワーク条件とに基づいて、オブジェクト指向オーディオを適応的にストリーミングするおよびレンダリングするための例示的な技術を説明している。図9ないし図11は、例示的なオーディオオブジェクト作成技術を説明している。
【0013】
ここで使用するような用語“ストリーミング”およびその派生物は、それらの普通の意味を有することに加えて、(サーバのような)1つのコンピューティングシステムから(クライアントのような)別のコンピューティングシステムへのコンテンツの分配を意味することがある。用語“ストリーミング”およびその派生物は、BitTorrentおよび関連するプロトコルを含む、さまざまなプロトコルのうちの任意のものを使用して、ピア・ツー・ピアネットワークを通してコンテンツを分配することを指すこともある。
【0014】
II.オブジェクト指向オーディオシステム概要
図1Aおよび図1Bは、オブジェクト指向オーディオシステム100A、100Bの実施形態を示している。コンピュータハードウェア中および/またはソフトウェア中で、オブジェクト指向オーディオシステム100A、100Bを実現することができる。有利なことに、ある実施形態では、オブジェクト指向オーディオシステム100A、100Bにより、コンテンツ作成者が、オーディオオブジェクトを作成し、このようなオブジェクトをストリーミングして、固定チャネルモデルに縛られることなくオブジェクトをレンダリングすることが可能になる。
【0015】
特に図1Aを参照すると、オブジェクト指向オーディオシステム100Aは、オーディオオブジェクト作成システム110Aと、コンテンツサーバ120A中で実現されるストリーミングモジュール122Aと、ユーザシステム140中で実現されるレンダラ142Aとを含んでいる。オーディオオブジェクト作成システム110Aは、オーディオオブジェクトを作成して修正するための機能性をユーザに提供することができる。コンテンツサーバ120A上にインストールされているものとして示されているストリーミングモジュール122Aを使用して、ネットワーク130を通して、ユーザシステム140にオーディオオブジェクトをストリーミングすることができる。ネットワーク130は、LANや、WANや、インターネットや、または、それらのものの組み合わせを含むことができる。ユーザシステム140上のレンダラ142Aは、1つ以上のラウドスピーカーに出力するためにオーディオオブジェクトをレンダリングすることができる。
【0016】
表されている実施形態では、オーディオオブジェクト作成システム110Aは、オブジェクト作成モジュール114およびオブジェクト指向エンコーダ112Aを備えている。オブジェクト作成モジュール114は、例えば、オーディオデータの属性にオーディオデータを関係付けることによってオブジェクトを作成するための機能性を提供することができる。あらゆるタイプのオーディオを使用して、オーディオオブジェクトを発生させることができる。オブジェクト中に発生させてストリーミングすることができるオーディオのいくつかの例は、映画と、テレビと、映画のトレーラーと、音楽と、音楽ビデオと、他のオンラインビデオと、ビデオゲームと、これらに類するものとに関係するオーディオを含むことができる。
【0017】
最初に、オーディオデータを記録するか、または、そうでなければ、取得することができる。オブジェクト作成モジュール114は、ユーザが、オーディオデータにアクセスし、オーディオデータを編集し、そうでなければ、オーディオデータを操作することを可能にするユーザインターフェースを提供することができる。オーディオデータは、サウンドソースまたはサウンドソースの集合を表すことができる。サウンドソースのいくつかの例は、ダイアログと、背景音楽と、(車や、飛行機や、または、何らかの小道具のような)何らかのアイテムにより発生されたサウンドとを含んでいる。さらに一般的には、サウンドソースは、何らかのオーディオクリップとすることができる。
【0018】
サウンドソースは、オブジェクト作成モジュール114が、オブジェクトを作成するためにオーディオデータに関係付けることができる1つ以上の属性を有することができる。属性の例は、サウンドソースのロケーションと、サウンドソースの速度と、サウンドソースの方向性と、これらに類するものとを含んでいる。オーディオデータが記録された時間を反映した時間属性のような、いくつかの属性を、オーディオデータから直接取得してもよい。オーディオを発生させたサウンドソースのタイプ(例えば、車対アクター)のような、他の属性を、ユーザによってオブジェクト作成モジュール114に供給することができる。オブジェクト作成モジュール114により、他のデバイスから、さらに他の属性を自動的にインポートすることができる。例として、サウンドソースのロケーションをグローバルポジショニングシステム(GPS)デバイスまたはこれに類するものから取り出すことができ、オブジェクト作成モジュール114中にインポートすることができる。属性の追加の例および属性を識別するための技術の追加の例を、下記でさらに詳細に説明する。オブジェクト作成モジュール114は、オブジェクトデータリポジトリ116中にオーディオオブジェクトを記憶させることができる。オブジェクトデータリポジトリ116は、データベースまたは他のデータ記憶装置を含むことができる。
【0019】
オブジェクト指向エンコーダ112Aは、1つ以上のオーディオオブジェクトを、ネットワークを通した送信に適したオーディオストリームにエンコードすることができる。1つの実施形態では、オブジェクト指向エンコーダ112Aは、関係する属性メタデータとともに、オーディオオブジェクトを、圧縮されていないPCM(パルスコード変調された)オーディオとしてエンコードする。別の実施形態では、オブジェクト指向エンコーダ112Aはまた、ストリームを作成するときに、オブジェクトに圧縮を適用する。
【0020】
有利なことに、ある実施形態では、オブジェクト指向エンコーダにより発生されたオーディオストリームは、メタデータヘッダとオーディオペイロードとにより表されている少なくとも1つのオブジェクトを含むことができる。オーディオストリームは、それぞれがオブジェクトメタデータヘッダとオーディオペイロードとを含むことができるフレームから成ることがある。いくつかのオブジェクトは、メタデータのみを含み、オーディオペイロードを含んでいないことがある。他のオブジェクトは、オーディオペイロードを含んでいるが、メタデータをほとんどまたはまったく含んでいないことがある。このようなオブジェクトの例を、下記で詳細に説明する。
【0021】
オーディオオブジェクト作成システム110Aは、(示されていない)ネットワークを通して、コンテンツサーバ120Aに、エンコードしたオーディオオブジェクトを供給することができる。コンテンツサーバ120Aは、後の送信のために、エンコードしたオーディオオブジェクトをホスト管理することができる。コンテンツサーバ120Aは、物理的なコンピューティングデバイスのような、1つ以上の機械を含むことができる。ユーザシステムは、ネットワーク130を通して、コンテンツサーバ120Aにアクセス可能である。例えば、コンテンツサーバ120Aは、ウェブサーバや、コンテンツ配信ネットワーク(CDN)中のエッジノードや、または、これらに類するものとすることができる。
【0022】
ユーザシステム140は、コンテンツサーバ120Aにアクセスして、オーディオコンテンツを要求することができる。このような要求の受信に応答して、コンテンツサーバ120Aは、ユーザシステム140にオーディオコンテンツをストリーミングし、このオーディオコンテンツをアップロードし、または、そうでなければ、このオーディオコンテンツを送信することができる。あらゆる形態のコンピューティングデバイスが、オーディオコンテンツにアクセスすることができる。例えば、ユーザシステム140は、デスクトップ、ラップトップ、タブレット、パーソナルデジタルアシスタント(PDA)、テレビ、(電話機のような)ワイヤレスハンドヘルドデバイス、または、これらに類するものとすることができる。
【0023】
ユーザシステム140上のレンダラ142Aは、1つ以上のラウドスピーカーに出力するために、エンコードされたオーディオオブジェクトをデコードして、このオーディオオブジェクトをレンダリングすることができる。レンダラ142Aは、さまざまな異なるレンダリング特徴、オーディオエンハンスメント、心理音響エンハンスメント、および、オーディオオブジェクトをレンダリングするためのこれらに類するものを含むことができる。レンダラ142Aは、オーディオオブジェクトをレンダリングする方法に関する手掛かりとして、オーディオオブジェクトのオブジェクト属性を使用することができる。
【0024】
図1Bを参照すると、オブジェクト指向オーディオシステム100Bは、オーディオオブジェクト作成システム110Bと、コンテンツサーバ120Bと、ユーザシステム140とのような、システム100Aの特徴のうちの多くのものを含んでいる。示されているコンポーネントの機能性は、上記で説明したものと同じとすることができ、ここでは、ある違いを記している。例えば、表されている実施形態では、コンテンツサーバ120Bは、ユーザシステム140にストリーミングされるオブジェクトデータの量を動的に適応することができる適応ストリーミングモジュール122Bを含む。同じように、ユーザシステム140は、オーディオストリーミングを、および/または、ユーザシステム140によってオブジェクトをレンダリングする方法を、適応させることができる適応レンダラ142Bを含んでいる。
【0025】
図1Bからわかるように、オーディオオブジェクト作成システム110Bからコンテンツサーバ120Bにオブジェクト指向エンコーダ112Bが移動されている。表されている実施形態では、オーディオオブジェクト作成システム110Bは、オーディオストリームの代わりにオーディオオブジェクトをコンテンツサーバ120Bにアップロードする。コンテンツサーバ120B上の適応ストリーミングモジュール122Bは、オブジェクト指向エンコーダ112Bを含んでいる。それゆえ、表されている実施形態では、オーディオオブジェクトのエンコーディングは、コンテンツサーバ120B上で実行される。代替的に、オーディオオブジェクト作成システム110Bは、エンコードしたオブジェクトを適応ストリーミングモジュール122Bにストリーミングすることができる。適応ストリーミングモジュール122Bは、さらに操作するために、および、後に再エンコーディングするために、オーディオオブジェクトをデコードする。
【0026】
コンテンツサーバ120B上でオブジェクトをエンコードすることにより、適応ストリーミングモジュール122Bは、ストリーミングの前にオブジェクトをエンコードする方法を動的に適応させることができる。適応ストリーミングモジュール122Bは、ネットワーク帯域幅や、待ち時間等のような、利用可能なネットワーク130リソースを監視することができる。利用可能なネットワークリソースに基づいて、適応ストリーミングモジュール122Bは、より多いまたはより少ないオーディオオブジェクトをオーディオストリーム中にエンコードすることができる。例えば、ネットワークリソースがより多く利用可能になると、適応ストリーミングモジュール122Bは、相対的に多くのオーディオオブジェクトをオーディオストリーム中にエンコードすることができ、逆もまた同じである。
【0027】
適応ストリーミングモジュール122Bはまた、数よりもむしろ(または、数に加えて)、オーディオストリーム中にエンコードされるオブジェクトのタイプを調節することができる。例えば、適応ストリーミングモジュール122Bは、ネットワークリソースが制約されているときに、(ダイアログのような)より高い優先度のオブジェクトをエンコードすることができるが、(ある背景サウンドのような)より低い優先度のオブジェクトをエンコードすることはできない。オブジェクトの優先度に基づく適応ストリーミングの概念は、下記でより詳細に説明する。
【0028】
適応レンダラ142Bもまた、オーディオオブジェクトがユーザシステム140にどのようにストリーミングされるかに影響を与えることがある。例えば、適応レンダラ142Bは、適応ストリーミングモジュール122Bと通信して、ユーザシステム140にストリーミングされるオーディオオブジェクトの量および/またはタイプを制御することができる。適応レンダラ142Bはまた、オーディオストリームがレンダリングされる方法を、プレーバック環境に基づいて、調節することができる。例えば、より大きなシアターは、数十または数百の多くの増幅器ならびにスピーカーのロケーションおよび能力を特定してもよい一方で、内蔵型のTVは、2つの増幅器チャネルとスピーカーとだけが利用可能であることを特定してもよい。この情報に基づいて、システム100A、100Bは、音響フィールドプレゼンテーションを最適化することができる。到来オーディオストリームは記述的とすることができ、プレーバック環境の物理的な特性に依存しないので、システム100A、100B中の多くの異なるタイプのレンダリング特徴は、再生されるリソースおよび環境に依存して適用することができる。適応レンダラ142Bのこれらの特徴および他の特徴は、下記でより詳細に説明する。
【0029】
いくつかの実施形態では、(エンコーダ112Aのような)オブジェクト指向エンコーダが、適応ストリーミングモジュール122Bに、エンコードしたストリームを送る場合でさえ、ここで説明する適応特徴を実現することができる。進行中に新しいオーディオストリームをアセンブリする代わりに、適応ストリーミングモジュール122Bは、利用可能なコンピューティングリソースまたはネットワークリソースが少なくなったときに、オーディオストリームからオブジェクトを取り除くことができる、または、そうでなければ、オーディオストリームをフィルタリングすることができる。例えば、適応ストリーミングモジュール122Bは、レンダリングする重要性が相対的に低いオブジェクトに対応しているパケットをストリームから取り除くことができる。ストリーミングおよび/またはレンダリングのためにオブジェクトに重要性を割り当てるための技術を、下記でより詳細に説明する。
【0030】
上記の実施形態からわかるように、オーディオ分配およびプレーバックのための開示したシステム100A、100Bは、オーディオコンテンツの初期の生成からリスナーの知覚システムまでのチェーン全体を含むことができる。システム100A、100Bは、送信/記憶またはマルチ次元のレンダリングシステムにおける概念的な改善を容易に組み込むことができるという点で、スケーリング可能で、将来も使い続けられるものである。システム100A、100Bはまた、大きなフォーマットのシアターベースのプレゼンテーションから、ホームシアターのコンフィギュレーションおよび内蔵型TVオーディオシステムまで容易にスケーリングすることができる。
【0031】
既存の物理チャネルベースシステムとは対照的に、システム100A、100Bは、シーンの構造についてとともに、シーン内の個別のコンポーネントについての情報を提供する一連のオーディオオブジェクトへと、オーディオコンテンツの生成を抽象化することができる。リソースが利用可能な場合に、各オブジェクトに関係する情報をシステム100A、100Bによって使用して、提供された情報の最も正確な表現を作成することができる。システム100A、100Bに対する追加の入力として、これらのリソースを特定することができる。
【0032】
物理的なスピーカーおよび増幅器を使用することに加えて、システム100A、100Bは、心理音響処理を取り入れて、音響環境におけるリスナーの熱中を高めるとともに、視覚的なフィールドにおけるそれらのポジションに正確に対応している3Dオブジェクトのポジショニングを実現してもよい。送信ストリーム中に含まれているオーディオオブジェクト情報のプレゼンテーションを向上させるために、または、そうでなければ、送信ストリーム中に含まれているオーディオオブジェクト情報のプレゼンテーションを最適化するために、利用可能なリソースとして、この処理も、システム100A、100Bに対して(例えば、レンダラ142に対して)定義することができる。
【0033】
いかなるときにおいても追加の情報を加えることができるように、ストリームは拡張可能に設計されている。レンダラ142A、142Bは、一般的なものとすることができ、または、特定の環境およびリソースの組み合わせをサポートするように設計することができる。オーディオ再生における将来的な改善および新しい概念を自由自在に取り入れることができ、送信/記憶ストリーム中に含まれる同じ記述情報が、潜在的にさらに正確なレンダリングにより利用することができる。システム100A、100Bは、何らかの将来的な物理的または概念的改善を、いかなる時点においてもシステム100A、100B内に容易に組み込むことができるレベルに抽象化されている一方で、以前のコンテンツおよびレンダリングシステムとの互換性が維持されている。現在のシステムとは異なり、システム100A、100Bは、柔軟性があり、適応可能である。
【0034】
例示を容易にするために、本明細書は、主に、ネットワークを通してオーディオをストリーミングする文脈でのオブジェクト指向オーディオ技術を説明している。しかしながら、非ネットワーク環境においても、オブジェクト指向オーディオ技術を実現することができる。例えば、DVDディスクや、ブルーレイ(登録商標)ディスクや、または、これらに類するもののような、コンピュータ読取可能記憶媒体上にオブジェクト指向オーディオストリームを記憶させることができる。(ブルーレイプレーヤーのような)メディアプレーヤーは、ディスク上に記憶されているオブジェクト指向オーディオストリームをプレーバックすることができる。オブジェクト指向オーディオパッケージも、ユーザシステム上のローカルの記憶装置にダウンロードすることができ、その後、ローカルの記憶装置からプレーバックすることができる。他の多くのバリエーションが可能である。
【0035】
図1Aおよび図1Bに関して説明したあるコンポーネントの機能性を組み合わせたり、修正したり、省略したりできることを正しく認識すべきである。例えば、1つのインプリメンテーションでは、コンテンツサーバ120上でオーディオオブジェクト作成システム110を実現することができる。オーディオオブジェクト作成システム110からユーザシステム140に直接オーディオストリームをストリーミングすることができる。他の多くのコンフィギュレーションも可能である。
【0036】
III.オーディオオブジェクトストリーミング実施形態
オーディオオブジェクトストリームのより詳細な実施形態を、ここで図2ないし図5Bに関して説明する。図2を参照すると、オブジェクト指向オーディオシステム200の別の実施形態が示されている。システム200は、上記で説明したシステム100A、100Bの特徴のうちのいずれかのものを実現することができる。システム200は、デコードし、レンダリングし、1つ以上のスピーカーにより出力することができるオブジェクト指向オーディオストリームを発生させることができる。
【0037】
システム200では、オブジェクト指向エンコーダ212にオーディオオブジェクト202が提供される。上記で説明したように、オーディオコンテンツ作成システムによりまたはコンテンツサーバ上のストリーミングモジュールにより、オブジェクト指向エンコーダ212を実現することができる。オブジェクト指向エンコーダ212は、オーディオオブジェクトをビットストリーム214中にエンコードおよび/または圧縮することができる。オブジェクト指向エンコーダ212は、(例えば、MP3ファイルを作成するための)ムービングピクチャエキスパートグループ(MPEG)標準規格のうちのいずれかに基づく圧縮技術を含む、オブジェクトをエンコードするための何らかのコーデックまたは圧縮技術を使用することができる。
【0038】
ある実施形態では、オブジェクト指向エンコーダ212は、異なるオーディオオブジェクトに対するメタデータヘッダとオーディオペイロードとを有する、単一のビットストリーム214を作成する。オブジェクト指向エンコーダ212は、ネットワークを通して、ビットストリーム214を送信することができる(例えば、図1B参照)。ユーザシステム上で実現されるデコーダ220は、ビットストリーム214を受信することができる。デコーダ220は、ビットストリーム214をその構成オーディオオブジェクト202中にデコードすることができる。デコーダ220は、レンダラ242にオーディオオブジェクト202を提供する。いくつかの実施形態では、レンダラ242は、デコーダ220の機能性を直接実現することができる。
【0039】
レンダラ242は、1つ以上のスピーカー250上でプレーバックするのに適したオーディオ信号244中に、オーディオオブジェクトをレンダリングすることができる。上記で説明したように、レンダラ142Aは、オーディオオブジェクトをレンダリングする方法に関する手掛かりとして、オーディオオブジェクトのオブジェクト属性を使用することができる。有利なことに、ある実施形態では、オーディオオブジェクトは、このような属性を含んでいるので、オーディオオブジェクトのフォーマットを変更することなく、レンダラ142Aの機能性を変更することができる。例えば、1つのタイプのレンダラ142Aは、オーディオオブジェクトのポジション属性を使用して、1つのスピーカーから別のスピーカーにオーディオをパンするかもしれない。第2のレンダラ142Aは、心理音響エンハンスメントがレンダラ142Aに対して利用可能であるという決定に応答して、同じポジション属性を使用して、オーディオオブジェクトに対して3Dの心理音響フィルタリングを実行するかもしれない。一般に、レンダラ142Aは、いくつかのまたはすべての利用可能なリソースを考慮して、最良の可能性あるプレゼンテーションを作成することができる。レンダリング技術が改善すると、以前から存在するフォーマットのオーディオオブジェクトを利用するユーザシステム140に、追加のレンダラ142Aまたはレンダリングリソースを加えることができる。
【0040】
上記で説明したように、オブジェクト指向エンコーダ212および/またはレンダラ242もまた、適応特徴を有することができる。
【0041】
図3は、ここで説明するオブジェクト指向オーディオシステムのうちのいずれかで使用するためのストリーミングモジュール322の実施形態を示している。ストリーミングモジュール322は、オブジェクト指向エンコーダ312を含んでいる。ハードウェア中および/またはソフトウェア中で、ストリーミングモジュール322およびエンコーダ312を実現することができる。表されている実施形態は、異なるタイプのオーディオオブジェクトを単一のビットストリーム314中にどのようにエンコードすることができるのかを示している。
【0042】
示されている例示的なストリーミングモジュール322は、静的なオブジェクト302と動的なオブジェクト304という2つの異なるタイプのオブジェクトを受信する。静的なオブジェクト302は、5.1チャネルサラウンドサウンドのような、オーディオのチャネルを表すことができる。静的なオブジェクト302として、各チャネルを表すことができる。何人かのコンテンツ作成者は、システム100A、100Bのオブジェクトベースの機能性の代わりに、または、システム100A、100Bのオブジェクトベースの機能性に加えて、チャネルを使用することを望んでいることがある。静的なオブジェクト302は、これらのコンテンツ作成者がチャネルを使用するための方法を提供し、既存の固定チャネルシステムとの後方互換性を促進し、採用の容易さを推進する。
【0043】
動的なオブジェクト304は、静的なオブジェクト302の代わりに、または、静的なオブジェクト302に加えて、使用することができる何らかのオブジェクトを含むことができる。動的なオブジェクト304は、静的なオブジェクト302とともにレンダリングされるときに、静的なオブジェクト302に関係付けられているオーディオを向上させるエンハンスメントを含むことができる。例えば、動的なオブジェクト304は、静的なオブジェクト302を向上させるためにレンダラが使用することができる心理音響情報を含むことができる。動的なオブジェクト304はまた、オーディオシーンを向上させるためにレンダラが使用することができる背景オブジェクト(例えば、通過する飛行機)を含むこともできる。しかしながら、動的なオブジェクト304は、背景オブジェクトである必要はない。動的なオブジェクト304は、ダイアログまたは他の何らかのオーディオデータを含むことができる。
【0044】
静的なオブジェクト302に関係付けられているメタデータは、ほとんどないか、または、存在しないことがある。1つの実施形態では、このメタデータは、単に、静的なオブジェクト302がどのチャネルに対応しているのかを示す、“チャネル”のオブジェクト属性を含んでいる。このメタデータは、いくつかのインプリメンテーションでは変わらないので、それゆえ、静的なオブジェクト302は、それらのオブジェクト属性において静的である。対照的に、動的なオブジェクト304は、変化するポジション、速度等のような、変化するオブジェクト属性を含むことができる。したがって、これらのオブジェクト304に関係付けられているメタデータは、動的とすることができる。しかしながら、いくつかの状況では、静的なオブジェクト302に関係付けられているメタデータは、経時的に変わることがある一方で、動的なオブジェクト304に関係付けられているメタデータは、同じままであることがある。
【0045】
さらに、上記で述べたように、いくつかの動的なオブジェクト304は、オーディオペイロードをほとんど含まないか、または、まったく含まないことがある。例えば、環境オブジェクト304は、シーンが行われる音響環境の所望の特性を特定することができる。これらの動的なオブジェクト304は、部屋や、オフィスや、大聖堂や、スタジアムや、または、これらに類するもののような、オーディオシーンが起こる建物のタイプまたは屋外エリアのタイプに関する情報を含むことができる。レンダラは、この情報を使用して、例えば、示されている環境に対応する適切な量の残響または遅延を適用することにより、静的なオブジェクト302中のオーディオのプレーバックを調節することができる。環境の動的なオブジェクト304はまた、いくつかのインプリメンテーションでは、オーディオペイロードを含むことがある。環境オブジェクトのいくつかの例は、図4に関して下記で説明する。
【0046】
メタデータを含むが、ペイロードをほとんどまたはまったく含まないことがある別のタイプのオブジェクトは、オーディオ定義オブジェクトである。1つの実施形態では、ユーザシステムは、オーディオクリップまたはサウンドのライブラリを含むことができ、オーディオクリップまたはサウンドのライブラリは、オーディオ定義オブジェクトを受信したときに、レンダラによってレンダリングすることができるものである。オーディオ定義オブジェクトは、ユーザシステム上に記憶されているオーディオクリップまたはサウンドに対する参照とともに、クリップをどのくらい長くプレーするのか、クリップをループさせるか否か等についての命令を含むことができる。オーディオ定義オブジェクトから、オーディオストリームを部分的にまたは全部でさえ構築することができ、実際のオーディオデータのうちのいくつかまたはすべてが、ユーザシステム上に記憶される(または別のサーバからアクセス可能である)。別の実施形態では、ストリーミングモジュール322は、ユーザシステムに複数のオーディオ定義オブジェクトを送ることができ、その後に、複数のオーディオペイロードオブジェクトが続き、メタデータと実際のオーディオとを分離する。他の多くのコンフィギュレーションが可能である。
【0047】
コンテンツ作成者は、記述的なコンピュータ言語を使用して(例えば、オーディオオブジェクト作成システム110を使用して)、静的なオブジェクト302または動的なオブジェクト304を宣言することができる。後にストリーミングすることになるオーディオコンテンツを作成したときに、コンテンツ作成者は、所望の数の静的なオブジェクト302を宣言することができる。例えば、コンテンツ作成者は、(例えば、中央のチャネルに対応する)ダイアログの静的なオブジェクト302または他の何らかの数の静的なオブジェクト302が、常時オンであることを要求することができる。この“常時オン”の性質は、静的なオブジェクト302を静的にさせることができる。対照的に、動的なオブジェクト304は、移り変わり、オーディオストリーム中に常に存在しているわけではない。当然、これらの特徴が逆になることもある。例えば、静的なオブジェクト302をゲート制御するか、または、そうでなければ、トグルすることが望ましいことがある。例えば、所定の静的なオブジェクト302中にダイアログが存在しないときには、その静的なオブジェクト302をオーディオストリーム中に含めないことにより、コンピューティングリソースおよびネットワークリソースを節約することができる。
【0048】
図4は、オブジェクト指向オーディオストリーミングフォーマット400の実施形態を示している。オーディオストリーミングフォーマットは、ビットストリーム414を含んでおり、ビットストリーム414は、上記で説明したビットストリームのうちのいずれかに対応することができる。ビットストリーム414のフォーマット400は、連続したより詳細な図(420、430)に分けられる。示されているビットストリームフォーマット400は、単に、例示的な実施形態であり、インプリメンテーションに依存して変化することがある。
【0049】
表されている実施形態では、ビットストリーム414は、ストリームヘッダ412と、マクロフレーム420とを含んでいる。ストリームヘッダ412は、ビットストリーム414の開始時または終了時に生じることがある。ストリームヘッダ412中に含まれることがある情報のうちのいくつかの例は、ストリームの作者、ストリームの出所、著作権情報、ストリームの作成および/または配信に関連するタイムスタンプ、ストリームの長さ、ストリームをエンコードするのにどのコーデックが使用されたかに関する情報、および、これらに類するものを含んでいる。デコーダおよび/またはレンダラによってストリームヘッダ412を使用して、ストリーム414を適切にデコードすることができる。
【0050】
マクロフレーム420は、ビットストリーム414をデータのセクションに分割する。各マクロフレーム420は、オーディオシーンにまたはオーディオのタイムスライスに対応することができる。各マクロフレーム420は、さらに、マクロフレームヘッダ422および個別のフレーム430を含んでいる。マクロフレームヘッダ422は、マクロフレーム中に含まれるオーディオオブジェクトの数や、マクロフレーム420に対応するタイムスタンプ等を定義することができる。いくつかのインプリメンテーションでは、マクロフレームヘッダ422は、マクロフレーム420中でフレーム430の後に配置することができる。個別のフレーム430は、それぞれ、単一のオーディオオブジェクトを表すことができる。しかしながら、いくつかのインプリメンテーションでは、フレーム430は、複数のオーディオオブジェクトを表すこともできる。1つの実施形態では、レンダラは、マクロフレーム420に関係付けられているオーディオオブジェクトをレンダリングする前に、マクロフレーム420全体を受信する。
【0051】
各フレーム430は、オブジェクトメタデータを含むフレームヘッダ432と、オーディオペイロード434とを含んでいる。いくつかのインプリメンテーションでは、フレームヘッダ432は、オーディオペイロード434の後に配置することができる。しかしながら、上記で論じたように、いくつかのオーディオオブジェクトは、メタデータ432のみか、または、オーディオペイロード434のみかのいずれかを有することがある。したがって、いくつかのフレーム430は、オブジェクトメタデータをほとんど持たないか、または、まったく持たないフレームヘッダを含むことがあり(あるいは、ヘッダをまったく含まないことがある)、いくつかのフレーム430は、オーディオペイロード434をほとんど含まないか、または、まったく含まないことがある。
【0052】
フレームヘッダ432中のオブジェクトメタデータは、オブジェクト属性に関する情報を含んでいることがある。以下の表は、オブジェクト属性を定義するのに使用することができるメタデータの例を示している。特に、表1は、さまざまなオブジェクト属性を示しており、属性名と属性の説明とによりまとめられている。いくつかの設計では、示されている属性よりも少ない属性や、または、示されている属性よりも多い属性を実現してもよい。
【表1−1】
【表1−2】
【0053】
表1中にリストされているOBSTRUCT_PRESET(障害プリセット)に対する例示的な値が、下記の表2中で示されている。障害プリセット値は、サウンドソースが、カメラまたはリスナーの視点からさえぎられている程度、あるいは、ブロックされている程度に影響を及ぼすことがある。したがって、例えば、厚いドアの後ろから発せられたサウンドソースは、カーテンの後ろから発せられたサウンドソースとは異なるようにレンダリングされることがある。上記で論じたように、レンダラは、これらのオブジェクト属性の値および他のオブジェクト属性の値に基づいて、何らかの所望のレンダリング技術を実行することができる(または、まったく実行しない)。
【表2】
【0054】
(時には、遮蔽として呼ばれる)障害プリセットと同様に、REVERB_PRESET(残響プリセット)が、表3中で示されているような例示的な値を含んでいることがある。これらの残響値は、サウンドソースが位置しているかもしれない環境のタイプに対応している。したがって、講堂で発するサウンドソースは、居間で発するサウンドソースとは異なるようにレンダリングされるかもしれない。1つの実施形態では、環境オブジェクトは、下記で説明するもののようなプリセット値を含む残響属性を含んでいる。
【表3】
【0055】
いくつかの実施形態では、環境オブジェクトは、上記で説明した残響プリセットを使用して単に説明されるものではない。その代わりに、環境オブジェクトは、(プリセットする必要がない)残響の量や、エコーの量や、背景ノイズの程度等のような、1つ以上の属性で説明することができる。他の多くのコンフィギュレーションが可能である。同様に、オーディオオブジェクトの属性は、一般的に、値以外の形態を有していることがある。例えば、属性は、サウンドソースの振る舞いまたは特性を定義するコードあるいは命令のスニペットを含んでいることがある。
【0056】
図5Aは、オーディオストリームアセンブリプロセス500Aの実施形態を示している。オーディオストリームアセンブリプロセス500Aは、ここで説明するシステムのうちのいずれかによって実現することができる。例えば、ストリームアセンブリプロセス500Aは、上記で説明したオブジェクト指向エンコーダまたはストリーミングモジュールのうちのいずれかによって実現することができる。ストリームアセンブリプロセス500Aは、少なくとも1つのオーディオオブジェクトからオーディオストリームをアセンブリする。
【0057】
ブロック502において、ストリームに対するオーディオオブジェクトを選択する。オーディオオブジェクトは、上記で説明したオーディオオブジェクト作成モジュール110により作成されたものであるかもしれない。そうであるので、オーディオオブジェクトの選択は、オブジェクトデータリポジトリ116中のオーディオオブジェクトへのアクセスを含むことができる。代替的に、ストリーミングモジュール122は、コンピュータ記憶装置からのオーディオオブジェクトにアクセスすることができる。例示を簡単にするために、この例示的な図は、単一のオブジェクトのストリーミングを説明するが、オーディオストリーム中で複数のオブジェクトをストリーミングすることができることを理解すべきである。選択したオブジェクトは、静的なオブジェクトまたは動的なオブジェクトとすることができる。この特定の例では、選択したオブジェクトは、メタデータおよびオーディオペイロードを有している。
【0058】
ブロック504において、オブジェクトのメタデータを有するオブジェクトヘッダをアセンブリする。このメタデータは、オブジェクト属性の何らかの記述を含むことができ、そのうちのいくつかの例を上記で説明した。ブロック506において、オブジェクトのオーディオ信号データを有するオーディオペイロードを提供する。
【0059】
ブロック508において、オブジェクトヘッダとオーディオペイロードとを組み合わせて、オーディオストリームを形成する。オーディオストリームの形成は、オーディオストリームのエンコーディングと、オーディオストリームの圧縮と、これらに類するものとを含むことができる。ブロック510において、ネットワークを通して、オーディオストリームを送信する。何らかのストリーミング技術を使用して、オーディオストリームをストリーミングすることができる一方で、ユーザシステムにオーディオストリームをアップロードすることもできる(または、反対に、ユーザシステムによりダウンロードすることもできる)。その後、図5Bに関して下記で説明するように、ユーザシステムによりオーディオストリームをレンダリングすることができる。
【0060】
図5Bは、オーディオストリームレンダリングプロセス500Bの実施形態を示している。オーディオストリームレンダリングプロセス500Bは、ここで説明するシステムのうちのいずれかによって実現することができる。例えば、ストリームレンダリングプロセス500Bは、ここで説明するレンダラのうちのいずれかによって実現することができる。
【0061】
ブロック522において、オブジェクト指向オーディオストリームを受信する。このオーディオストリームは、プロセス500Aの技術を使用して、または、上記で説明した他の技術によって、作成されたものであるかもしれない。ブロック524において、オーディオストリーム中のオブジェクトメタデータにアクセスする。例えば、このストリームをエンコードするのに使用したのと同じコーデックを使用して、このストリームをデコードすることにより、このメタデータを取得してもよい。
【0062】
ブロック526において、メタデータ中の1つ以上のオブジェクト属性を識別する。ストリーム中のオーディオオブジェクトをレンダリングするための手掛かりとして、レンダラによって、これらのオブジェクト属性の値を識別することができる。
【0063】
ブロック528において、オーディオストリーム中のオーディオ信号をレンダリングする。表されている実施形態では、1つ以上のオブジェクト属性にしたがってオーディオストリームをレンダリングして、出力オーディオを生成させる。ブロック530において、1つ以上のラウドスピーカーに出力オーディオを供給する。
【0064】
IV.適応ストリーミングおよびレンダリングの実施形態
図1Bに関して、適応ストリーミングモジュール122Bと適応レンダラ142Bを上記で説明した。図6のシステム600では、適応ストリーミングモジュール622と適応レンダラ642のさらに詳細な実施形態が示されている。
【0065】
図6では、適応ストリーミングモジュール622は、優先度モジュール624と、ネットワークリソースモニタ626と、オブジェクト指向エンコーダ612と、オーディオ通信モジュール628とを含む、いくつかのコンポーネントを有している。適応レンダラ642は、コンピューティングリソースモニタ644と、レンダリングモジュール646とを含んでいる。異なるインプリメンテーションでは、示されているコンポーネントのうちのいくつかを省略してもよい。オブジェクト指向エンコーダ612は、上記で説明したエンコーディングの特徴のうちのいずれかを含むことができる。オーディオ通信モジュール628は、(示されていない)ネットワークを通して適応レンダラ642にビットストリーム614を送信することができる。
【0066】
優先度モジュール624は、優先度値また他の優先度情報をオーディオオブジェクトに適用することができる。1つの実施形態では、各オブジェクトは、優先度値を有することができ、優先度値は、数値またはこれに類するものであってもよい。優先度値は、レンダリングの観点から、オブジェクトの相対的な重要性を示すことができる。より高い優先度を持つオブジェクトは、より低い優先度のオブジェクトよりもレンダリングする重要性が高いことがある。したがって、リソースが制約されている場合には、相対的に低い優先度を持つオブジェクトを無視することがある。優先度は、上記で説明したオーディオオブジェクト作成システム110を使用して、コンテンツ作成者により最初に確立することができる。
【0067】
例として、ビデオに対するダイアログを含むダイアログオブジェクトが、背景サウンドオブジェクトよりも相対的に高い優先度を有しているかもしれない。優先度値が、例えば、1から5までのスケール上にある場合に、ダイアログオブジェクトは、(最も高い優先度を意味する)1の優先度値を有しているかもしれない一方で、背景サウンドオブジェクトは、より低い優先度(例えば、2から5までのどこか)を有しているかもしれない。優先度モジュール624は、ある優先度レベルを満たすオブジェクトを送信するためにしきい値を確立することができる。例えば、優先度モジュール624は、1、2、および、3の優先度を有するオブジェクトがユーザシステムに送信される一方で、4または5の優先度を持つオブジェクトは送信されないように、3のしきい値を確立することができる。
【0068】
優先度モジュール624は、ネットワークリソースモニタ626により決定されるような、変化するネットワーク条件に基づいて、このしきい値を動的に設定することができる。ネットワークリソースモニタ626は、利用可能なネットワークリソースを、または、帯域幅、待ち時間等のような、他のサービス品質手段を監視することができる。ネットワークリソースモニタ626は、この情報を優先度モジュール624に提供することができる。この情報を使用して、優先度モジュール624は、ネットワークリソースが多い場合には、より低い優先度のオブジェクトをユーザシステムに送信できるようにしきい値を調節する。同様に、優先度モジュール624は、ネットワークリソースが少ないときには、より低い優先度のオブジェクトの送信を防ぐようにしきい値を調節することができる。
【0069】
優先度モジュール624はまた、適応レンダラ642から受け取った情報に基づいて、優先度しきい値を調節することができる。適応レンダラ642のコンピューティングリソースモジュール644は、ユーザシステムに接続されているスピーカーの数や、ユーザシステムの処理能力等のような、ユーザシステムのプレーバック環境の特性を識別することができる。コンピューティングリソースモジュール644は、制御チャネル650を通して、優先度モジュール624にコンピューティングリソース情報を通信することができる。この情報に基づいて、優先度モジュール624は、コンピューティングリソースが多い場合には、より高い優先度のオブジェクトとより低い優先度のオブジェクトの双方を送ることができるようにしきい値を調節し、コンピューティングリソースが少ない場合には、より高い優先度のオブジェクトのみを送ることができるようにしきい値を調節する。それゆえ、適応レンダラ642のコンピューティングリソースモニタ644は、ユーザシステムにストリーミングされるオーディオオブジェクトの量および/またはタイプを制御することができる。
【0070】
適応レンダラ642はまた、プレーバック環境に基づいて、オーディオストリームをレンダリングする方法を、調節することができる。例えば、ユーザシステムが2つのスピーカーに接続されている場合に、適応レンダラ642は、2つのスピーカー上でオーディオオブジェクトをレンダリングすることができる。追加のスピーカーがユーザシステムに接続されている場合には、適応レンダラ642は、追加のチャネル上でもオーディオオブジェクトをレンダリングすることができる。1つまたは2つ(または、時にはさらに多く)のスピーカー上でオーディオオブジェクトをレンダリングするときに、適応レンダラ642は、心理音響技術も適用してもよい。
【0071】
優先度モジュール624は、オーディオオブジェクトの優先度を動的に変化させることができる。例えば、優先度モジュール624は、互いに対する相対的な優先度を有するようにオブジェクトを設定することができる。例えば、優先度モジュール624によって、ダイアログオブジェクトには、より高い優先度値が割り当てられることがある。他のオブジェクトの優先度値は、ダイアログオブジェクトの優先度と比較したものとすることができる。したがって、ダイアログオブジェクトがオーディオストリーム中の時間期間の間に存在しない場合に、他のオブジェクトは、相対的に高い優先度を有することができる。
【0072】
図7は、適応ストリーミングプロセス700の実施形態を示している。システム600のような、上記で説明したシステムのうちのいずれかによって、適応ストリーミングプロセス700を実現することができる。適応ストリーミングプロセス700は、ストリーミングリソースの効率的な使用を促進する。
【0073】
上記で説明した優先度モジュール624により、ブロック702ないし708を実行することができる。ブロック702において、オーディオコンテンツに対する要求を遠隔コンピュータから受信する。例えば、ユーザシステムは、コンテンツサーバに要求を送ることができる。ブロック704において、遠隔コンピュータシステムのリソースに関するコンピューティングリソース情報を受信する。このコンピューティングリソース情報は、ユーザシステムのさまざまな利用可能なリソースを記述することができ、オーディオコンテンツ要求とともに提供することができる。ブロック706において、利用可能なネットワークリソースに関するネットワークリソース情報も受信する。ネットワークリソースモニタ626によって、このネットワークリソース情報を取得することができる。
【0074】
ブロック708において、コンピュータおよび/またはネットワークのリソース情報に少なくとも部分的に基づいて、優先度しきい値を設定する。1つの実施形態では、優先度モジュール624は、コンピューティングリソースおよびネットワークリソースの双方が相対的に多いときに、(例えば、ストリーム中のより低い優先度のオブジェクトを許容するように)より低いしきい値を確立する。優先度モジュール624は、コンピューティングリソースまたはネットワークリソースのいずれかが相対的に少ないときに、(例えば、ストリーム中のより高い優先度のオブジェクトを許容するように)より高いしきい値を確立することができる。
【0075】
オブジェクト指向エンコーダ612により、ブロック710ないし714を実行することができる。決定ブロック710において、要求されたオーディオコンテンツ中の所定のオブジェクトに対して、そのオブジェクトに対する優先度値が、以前に確立されたしきい値を満たしているか否かを決定する。そうである場合には、ブロック712において、オーディオストリームにオブジェクトが追加される。そうでなければ、オーディオストリームにオブジェクトは追加されず、これにより、ある実施形態ではネットワークおよび/またはコンピューティングのリソースを有効に節約する。
【0076】
ブロック714において、追加のオブジェクトをストリームに追加することが依然として考えられているか否かをさらに決定する。そうである場合には、プロセス700は、ブロック710にループバックする。そうでなければ、ブロック716において、例えば、オーディオ通信モジュール628により、遠隔コンピューティングシステムにオーディオストリームが送信される。
【0077】
オーディオストリームを進行中にアセンブリする代わりに、いくつかのインプリメンテーションでは、プロセス700を修正して、予めエンコードされたオーディオストリームからオブジェクトを取り除くことができる。例えば、ブロック710において、所定のオブジェクトが、しきい値を満たさない優先度を有している場合に、ブロック712において、オーディオストリームからオブジェクトを取り除くことができる。したがって、コンテンツ作成者は、コンテンツサーバへのオーディオストリームにさまざまなオブジェクトを提供することができ、コンテンツサーバにおける適応ストリーミングモジュールは、オブジェクトの優先度に基づいて、オブジェクトのうちのいくつかを動的に取り除くことができる。それゆえ、ストリーミングするためのオーディオオブジェクトの選択は、ストリームにオブジェクトを追加すること、ストリームからオブジェクトを取り除くこと、または、その双方を含むことができる。
【0078】
図8は、適応レンダリングプロセス800の実施形態を示している。システム600のような、上記で説明したシステムのうちのいずれかによって、適応レンダリングプロセス800を実現することができる。適応レンダリングプロセス800は、ストリーミングリソースの効率的な使用も促進する。
【0079】
ブロック802において、ユーザシステムのレンダラにより、複数のオーディオオブジェクトを有するオーディオストリームを受信する。例えば、適応レンダラ642は、オーディオオブジェクトを受信することができる。ブロック804において、プレーバック環境情報にアクセスする。適応レンダラ642のコンピューティングリソースモニタ644により、プレーバック環境情報にアクセスすることができる。このリソース情報は、スピーカーコンフィギュレーション、計算能力等に関する情報を含むことができる。
【0080】
適応レンダラ642のレンダリングモジュール646により、ブロック806ないし810を実現することができる。ブロック806において、環境情報に少なくとも部分的に基づいて、1つ以上のオーディオオブジェクトを選択する。レンダリングモジュール646は、オブジェクトの優先度値を使用して、レンダリングするオブジェクトを選択することができる。別の実施形態では、レンダリングモジュール646は、優先度値に基づいてオブジェクトを選択しないが、その代わりに、オブジェクトをより少ないスピーカーチャネル中にダウンミックスするか、または、そうでなければ、より少ない処理リソースを使用して、オーディオをレンダリングする。ブロック808において、オーディオオブジェクトをレンダリングして、出力オーディオを生成させる。ブロック810において、レンダリングしたオーディオを1つ以上のスピーカーに出力する。
【0081】
V.オーディオオブジェクト作成の実施形態
図9ないし図11は、映画、テレビ、ポッドキャスト、および、これらに類するもののような、オーディオビジュアル再生の文脈での例示的なオーディオオブジェクト作成技術を説明している。しかしながら、(例えば、ビデオを伴うことのない)純粋なオーディオの文脈でも、図9ないし図11に関して説明する特徴のうちのいくつかまたはすべてを実現することができる。
【0082】
図9は、オブジェクト指向オーディオ捕捉に対する例示的なシーン900を示している。シーン900は、映画、テレビ、または、他のビデオに対して構築することができるような、オーディオビジュアルシーンの簡略化された図を表している。シーン900では、2人のアクター910が演じていて、彼らのサウンドおよびアクションは、マイクロフォン920とカメラ930とによりそれぞれ記録されている。簡潔にするために、単一のマイクロフォン920が示されているが、いくつかのケースでは、アクター910は個別のマイクロフォンを身に付けていてもよい。同様に、(示されていない)小道具に対して個別のマイクロフォンを供給することもできる。
【0083】
現在のシーン900におけるサウンドソース(例えば、アクター)のロケーション、速度、および、他の属性を決定するために、ロケーション追跡デバイス912が提供されている。これらのロケーション追跡デバイス912は、GPSデバイス、モーション捕捉スーツ、レーザーレンジファインダー、および、これらに類するものを含むことができる。マイクロフォン920(または、マイクロフォン)からのデータとともに、ロケーション追跡デバイス912からのデータを、オーディオオブジェクト作成システム110に送信することができる。オーディオの各インスタンスに対するポジションデータを提供するために、ロケーション追跡デバイス912からのデータ中に含まれているタイムスタンプは、マイクロフォン920および/またはカメラ930から取得したタイムスタンプと相関させることができる。このポジションデータを使用して、ポジション属性を有するオーディオオブジェクトを作成することができる。同様に、速度データは、ロケーション追跡デバイス912から取得することができ、または、ポジションデータから導出することができる。
【0084】
(GPS導出の緯度および経度のような)ロケーション追跡デバイス912からのロケーションデータは、ポジションデータとして直接使用することができ、または、座標系に翻訳することができる。例えば、3次元(x、y、および、z)でのデカルト座標940を使用して、オーディオオブジェクトポジションを追跡することができる。球座標または円柱座標のような、デカルト座標以外の座標系も使用してもよい。1つの実施形態では、座標系940に対する原点は、カメラ930とすることができる。この配置を促進するために、カメラ930は、オーディオオブジェクトと比較したそのロケーションを決定するためにロケーション追跡デバイス912も含むことができる。したがって、カメラ930のポジションが変化した場合でさえも、シーン900中のオーディオオブジェクトのポジションは、なお、カメラ930のポジションと比較したものとすることができる。
【0085】
オーディオビジュアル生成のポスト生成の間に、オーディオオブジェクトにポジションデータを適用することもできる。アニメーションの生成のために、(キャラクターのような)アニメ化されたオブジェクトの座標をコンテンツ作成者に知らせることができる。各アニメ化されたオブジェクトにより生成されるオーディオに、これらの座標を自動的に関係付けて、オーディオオブジェクトを作成することができる。
【0086】
図10は、図9に関して上記で説明した特徴を実現することができるオブジェクト指向オーディオ捕捉のためのシステム1000を概略的に示している。システム1000において、サウンドソースロケーションデータ1002およびマイクロフォンデータ1006が、オブジェクト作成モジュール1014に提供される。オブジェクト作成モジュール1014は、上記で説明したオブジェクト作成モジュール114A、114Bの特徴をすべて含むことができる。オブジェクト作成モジュール1014は、図9に関して上記で説明したように、タイムスタンプ1004、1008に基づいて、所定のサウンドソースに対するサウンドソースロケーションデータ1002を、マイクロフォンデータ1006に相関させることができる。
【0087】
付加的に、オブジェクト作成モジュール1014は、オブジェクトを共にリンクすることができる、または、そうでなければ、オブジェクトを共に関係付けることができるオブジェクトリンカ1020を含んでいる。あるオーディオオブジェクトは、元来、互いに関連していることがあり、それゆえ、オブジェクトリンカ1020により自動的に共にリンクすることができる。下記で説明する方法で、リンクされたオブジェクトを共にレンダリングすることができる。
【0088】
オブジェクトは、より高い同じクラスのオブジェクトに関連しているので、これらのオブジェクトは元来互いに関連していることがある。言い換えると、オブジェクト作成モジュール1014は、親のオブジェクトと、親のオブジェクトに関連し、親のオブジェクトの性質を継承している子のオブジェクトとを含む、オブジェクトのヒエラルキーを形成することができる。この方法で、オーディオオブジェクトは、コンピュータプログラミング言語から、あるオブジェクト指向の原理を借りることができる。子のオブジェクトを有することがある親のオブジェクトの例は、マーチングバンドである。マーチングバンドは、トロンボーンや、フルートや、クラリネット等のような、異なるグループの楽器に対応するいくつかのセクションを有することができる。オブジェクト作成モジュール1014を使用するコンテンツ作成者は、バンドを親のオブジェクトに割り当て、各セクションを子のオブジェクトに割り当てることができる。さらに、コンテンツ作成者はまた、個別のバンドメンバーを、セクションオブジェクトの子のオブジェクトに割り当てることができる。ヒエラルキーにおけるレベルの数を含む、オブジェクトヒエラルキーの複雑さは、コンテンツ作成者により確立することができる。
【0089】
上記で述べたように、子のオブジェクトは、それらの親のオブジェクトの性質を継承することがある。したがって、子のオブジェクトは、それらの親のオブジェクトのメタデータのうちのいくつかまたはすべてを継承することができる。いくつかのケースでは、子のオブジェクトはまた、それらの親のオブジェクトに関係付けられているオーディオ信号データのうちのいくつかまたはすべてを継承することができる。子のオブジェクトは、このメタデータおよび/またはオーディオ信号データのうちのいくつかまたはすべてを修正することができる。例えば、子のオブジェクトは、子と親とが、異なるポジションを有するが、他の類似するメタデータを有するように、親から継承したポジション属性を修正することができる。
【0090】
子のオブジェクトのポジションは、親のオブジェクトのポジションからのオフセットとして表すこともでき、または、そうでなければ、親のオブジェクトのポジションから導出することができる。マーチングバンドの例を参照すると、バンドのセクションは、バンドのポジションからのオフセットであるポジションを有することがある。バンドがポジションを変化させるにつれて、バンドのセクションを表す子のオブジェクトは、オフセットと、親のバンドのポジションとに基づいて、そのポジションを自動的に更新することができる。この方法で、異なるポジションオフセットを有する、バンドの異なるセクションが、共に動くことができる。
【0091】
子のオブジェクトと親のオブジェクトとの間の継承は、結果として、子のオブジェクトと親のオブジェクトとの間の共通のメタデータとなることがある。メタデータにおけるこのオーバーラップを、上記で説明したオブジェクト指向エンコーダのうちのいずれかにより活用して、オーディオストリーム中のデータを最適化するか、または、減少させることができる。1つの実施形態では、オブジェクト指向エンコーダは、子のオブジェクトから冗長なメタデータを取り除き、冗長なメタデータを親のメタデータへの参照に置き換えることができる。同様に、冗長なオーディオ信号データが、子のオブジェクトと親のオブジェクトとに共通している場合に、オブジェクト指向エンコーダは、冗長なオーディオ信号データを減少させるか、または、削除することができる。これらの技術は、単に、オーディオストリーム中の冗長なデータを減少させるか、または、削除するために、オブジェクト指向エンコーダが実現することができる多くの最適化技術の例に過ぎない。
【0092】
さらに、オブジェクト作成モジュール1014のオブジェクトリンカ1020は、子のオブジェクトと親のオブジェクトを共にリンクすることができる。オブジェクトリンカ1020は、2つのオブジェクト間の関係付けを作成することにより、このリンキングを実行することができ、この関係付けを、2つのオブジェクトのメタデータ中に反映してもよい。オブジェクトリンカ1020は、この関係付けをオブジェクトデータリポジトリ1016中に記憶させることができる。また、いくつかの実施形態では、例えば、オブジェクトが親子関係を有していないときでさえ、コンテンツ作成者は、オブジェクトを手動で共にリンクすることができる。
【0093】
2つのリンクされたオブジェクトをレンダラが受信したときに、レンダラは、2つのオブジェクトを別々にレンダリングするか、または、共にレンダリングするかを選ぶことができる。したがって、マーチングバンドを、単一ポイントソースとして1つのスピーカー上でレンダリングする代わりに、例えば、レンダラは、マーチングバンドを、オーディオオブジェクトのサウンドフィールドとしてさまざまなスピーカー上で共にレンダリングすることができる。例えば、バンドは、ビデオ中で動くので、レンダラは、スピーカー間にわたって、サウンドフィールドを動かすことができる。
【0094】
さらに一般的に、レンダラは、さまざまな方法でリンキング情報を解釈することができる。例えば、レンダラは、互いに遅らせた異なる時間において、リンクされているオブジェクトを同じスピーカー上でレンダリングしてもよく、または、異なるスピーカー上で同時にレンダリングしてもよく、または、これらに類することをしてもよい。リンクされているオブジェクトが、リスナーの頭の周りの異なるポイントにあるという印象をリスナーに与えるように、レンダラはまた、心理音響的に決定された空間中の異なるポイントにおいて、リンクされているオブジェクトをレンダリングしてもよい。したがって、例えば、レンダラは、トロンボーンのセクションが、リスナーの左を行進しているように出現させる一方で、クラリネットのセクションがリスナーの右を行進しているように出現させることができる。
【0095】
図11は、オブジェクト指向オーディオ捕捉に対するプロセス1100の実施形態を示している。システム1000のような、ここで説明したシステムのうちのいずれかによってプロセス1100を実現することができる。例えば、オブジェクト作成モジュール1014のオブジェクトリンカ1020によって、プロセス1100を実現することができる。
【0096】
ブロック1102において、第1および第2のサウンドソースに対するオーディオおよびロケーションデータを受信する。マイクロフォンを使用してオーディオデータを取得できる一方で、図9に関して上記で説明した技術のうちのいずれかを使用して、ロケーションデータを取得することができる。
【0097】
ブロック1104において、第1のサウンドソースに対する第1のオーディオオブジェクトを作成する。同様に、ブロック1106において、第2のサウンドソースに対する第2のオーディオオブジェクトを作成する。ブロック1108において、第1のサウンドソースと第2のサウンドソースの間に関係付けを作成する。この関係付けは、2つのオブジェクトがオブジェクトのヒエラルキーにおいて関連しているか否かに基づいて、オブジェクトリンカ1020により自動的に作成することができる。さらに、オブジェクトリンカ1020は、何らかの2つの類似する属性のような、オブジェクトに関係付けられている他のメタデータに基づいて、関係付けを自動的に作成することができる。ブロック1110において、コンピュータ記憶装置中に関係付けを記憶させる。
【0098】
VI.専門用語
実施形態に依存して、ここで説明したアルゴリズムのうちの任意の、あるアクト、イベント、または機能を、異なるシーケンス中で実行することができ、ひとまとめにして追加したり、マージしたり、または、除外することができる(例えば、説明したアクトまたはイベントのすべてが、アルゴリズムの実施のために必要なわけではない)。さらに、ある実施形態では、例えば、マルチスレッド処理、割り込み処理、あるいは、複数のプロセッサまたはプロセッサコアを通して、もしくは、他のパラレルアーキテクチャ上で、シーケンシャルにではなく、並行してアクトまたはイベントを実行することができる。
【0099】
ここで開示した実施形態に関連して説明した、さまざまな例示的な論理ブロック、モジュール、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、あるいは双方の組み合わせたものとして実現することができる。ハードウェアおよびソフトウェアのこの交換可能性を明確に示すために、さまざまな例示的なコンポーネント、ブロック、モジュール、およびステップを一般的にこれらの機能性に関して上記で説明した。このような機能性がハードウェアあるいはソフトウェアとして実現されるか否かは、特定の応用およびシステム全体に課せられた設計の制約に依存する。それぞれの特定の応用に対して方法を変化させて、説明した機能性を実現することができるが、このようなインプリメンテーション決定は、本開示の範囲からの逸脱を生じさせるものとして解釈すべきではない。
【0100】
ここで開示した実施形態に関連して説明した、さまざまな例示的な論理的ブロックおよびモジュールは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポーネント、あるいは、ここで説明した機能を実行するために設計されたこれらの何らかの組み合わせで、機械により、実現することができ、あるいは、実行することができる。汎用プロセッサはマイクロプロセッサとすることができるが、代替実施形態では、プロセッサは、制御装置、マイクロ制御装置、状態機械、または、これらの組み合わせ、あるいは、これらに類するものとすることができる。プロセッサはまた、コンピューティングデバイスの組み合わせとして、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアを備えた1つ以上のマイクロプロセッサ、あるいは、このようなコンフィギュレーションの他の何らかのものとして実現することができる。
【0101】
ここで開示した実施形態に関連して説明した方法、プロセスまたはアルゴリズムのステップは、直接、ハードウェアで、プロセッサにより実行されるソフトウェアモジュールで、あるいは、2つの組み合わせで具現化することができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーブバルディスク、CD−ROM、あるいは、技術的に知られている他の何らかの形態のコンピュータ読取可能記憶媒体に存在することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合することができる。代替実施形態では、記憶媒体はプロセッサと一体化することができる。プロセッサおよび記憶媒体は、ASICに存在することができる。ASICはユーザ端末に存在することができる。代替実施形態では、プロセッサおよび記憶媒体は、ユーザ端末中のディスクリートコンポーネントとして存在することができる。
【0102】
数ある中で、“できる”、“かもしれない”、“してもよい”、“例えば”、および、これらに類するもののような、ここで使用されている条件付きの言葉は、そうではないと特に述べられていない限り、または、そうでなければ、使用されているような文脈内で理解されない限り、一般的に、ある実施形態は、ある特徴、エレメントおよび/または状態を含む一方で、他の実施形態は、ある特徴、エレメントおよび/または状態を含まないことを伝えることを意図している。したがって、特徴、エレメント、および/または、状態が、どんな方法であれ、1つ以上の実施形態に対して必要とされていることを、あるいは、作者のインプットまたはプロンプティングの有無にかかわらず、これらの特徴、エレメント、および/または、状態が、何らかの特定の実施形態中に含まれているか否かを、もしくは、これらの特徴、エレメント、および/または、状態が、何らかの特定の実施形態中で実行されることになるか否かを決めるためのロジックを1つ以上の実施形態が必ず含んでいることを意味するように、このような条件付きの言葉は、一般的に意図していない。
【0103】
上記の詳細な説明は、さまざまな実施形態に適用されるような新規の特徴を示し、説明し、指摘したが、示されているデバイスまたはアルゴリズムの形態ならびに詳細において、本開示の精神から逸脱することなく、さまざまな省略、置換、および、変更を行うことができることが理解されるだろう。認識されるように、いくつかの特徴は、他のものとは別々に使用または実施することができるので、ここで説明されている本発明のある実施形態は、ここで述べた特徴および利益のすべてを提供しない形態内で具現化することができる。ここで開示したある発明の範囲は、先の説明によってではなく、添付の特許請求の範囲によって示されている。特許請求の範囲の均等物の意味および範囲内に入るすべての変更は、それらの範囲内に含まれるべきである。
【関連出願】
【0001】
本出願は、2009年8月14日に出願され、“マルチ次元オーディオに対する生成、送信、記憶、および、レンダリングのシステム”と題し、その開示がすべて参照によりここに組み込まれている、米国仮特許出願番号第61/233,931号について、米国特許法第119条の下での優先権の利益を主張する。
【背景】
【0002】
ステレオおよびサラウンドサウンドのような、既存のオーディオ配信システムは、生成のポイントからプレーバック環境までの、固定数のチャネルを実現する柔軟性のないパラダイムに基づいている。従来、オーディオチェーン全体を通して、作成されるチャネルの数と、物理的に送信または記録されるチャネルの数との間には、1対1の対応がある。いくつかのケースでは、利用可能なチャネルの数は、送信ストリーム中に提供されている数よりも少ない再生チャネルを持つプレーバックコンフィギュレーションに適応するように、ミックスダウンとして知られるプロセスを通して減少される。ミックスダウンの一般的な例は、単一のスピーカーを通して再生するためにステレオをモノにミキシングすることと、2スピーカーでのプレーバックのためにマルチチャネルサラウンドサウンドをステレオにミキシングすることである。
【0003】
また、オーディオ配信システムは、3次元空間中でサウンドを正確にレンダリングできないので、3Dビデオアプリケーションには適していない。スピーカーの数およびポジションによって、および、一般的に、心理音響原理は無視されるという事実によって、これらのシステムは制限されている。その結果、最も精巧なサウンドシステムでさえ、音響空間のおおざっぱなシミュレーションしか作り出せず、真の3Dプレゼンテーションまたはマルチ次元プレゼンテーションを近似しない。
【概要】
【0004】
オブジェクト指向オーディオを提供するシステムおよび方法を説明する。ある実施形態では、ロケーション、速度、方向性、および、これらに類するもののような、サウンドソースの属性をそれらのサウンドソースに関係付けることにより、オーディオオブジェクトを作成する。例えば、ネットワークを通してクライアントデバイスにオーディオオブジェクトをストリーミングすることにより、サウンドを分配するチャネルの代わりに、または、サウンドを分配するチャネルに加えて、オーディオオブジェクトを使用することができる。オブジェクトは、関係する2次元または3次元の座標で、空間中のそれらのロケーションを規定することができる。利用可能なネットワークまたはクライアントデバイスのリソースに基づいて、クライアントデバイスにオブジェクトを適応的にストリーミングすることができる。クライアントデバイス上のレンダラは、オブジェクトの属性を使用して、オブジェクトをレンダリングする方法を決定することができる。クライアントデバイスのレンダリング環境についての情報に基づいて、レンダラは、オブジェクトのプレーバックをさらに適応させることができる。オーディオオブジェクト作成技術のさまざまな例も説明する。
【0005】
ある実施形態では、オブジェクト指向オーディオストリームを発生させる方法は、オーディオストリーム中で送信するためのオーディオオブジェクトを選択することを含み、オーディオオブジェクトは、オーディオ信号データおよびオブジェクトメタデータを含む。オブジェクトメタデータは、1つ以上のオブジェクト属性を含むことができる。方法は、さらに、オブジェクトメタデータを有するオブジェクトヘッダをアセンブリすることと、オーディオ信号データを有するオーディオペイロードを提供することと、1つ以上のプロセッサにより、オブジェクトヘッダとオーディオペイロードとを組み合わせて、オーディオストリームの一部分を少なくとも形成することと、ネットワークを通してオーディオストリームを送信することとを含むことができる。
【0006】
さまざまなインプリメンテーションでは、オブジェクト指向オーディオストリームを発生させるシステムは、1つ以上のプロセッサ中で実現されるオブジェクト指向ストリーミングモジュールを具備することができる。オブジェクト指向ストリーミングモジュールは、サウンドソースを表すオーディオオブジェクトを選択することができ、オーディオオブジェクトは、オーディオ信号データおよびオブジェクトメタデータを含む。オブジェクトメタデータは、サウンドソースの1つ以上のオブジェクト属性を含むことができる。オブジェクト指向ストリーミングモジュールは、また、オーディオ信号データとともにオブジェクトメタデータをエンコードして、単一のオブジェクト指向オーディオストリームの一部分を少なくとも形成することができる。さらに、オブジェクト指向ストリーミングモジュールは、また、ネットワークを通してオブジェクト指向オーディオストリームを送信することができる。
【0007】
本開示を要約する目的のために、本発明のある態様、利点、および、新規の特徴をここで説明する。ここで開示する本発明の何らかの特定の実施形態にしたがって、このようなすべての利点を必ずしも達成できるわけではないことを理解すべきである。したがって、ここで教示または示唆することがある他の利点を必ずしも達成することなく、ここで教示されている1つの利点または利点のグループを達成するあるいは最適化する方法で、ここで開示する発明を具現化または実行することができる。
【図面の簡単な説明】
【0008】
図面全体を通して、参照するエレメント間の対応を示すために、参照番号を再使用する。ここで説明する本発明の実施形態を示し、それらの範囲を限定しないように、図面を提供する。
【図1A】図1Aは、オブジェクト指向オーディオシステムの実施形態を示している。
【図1B】図1Bは、オブジェクト指向オーディオシステムの実施形態を示している。
【図2】図2は、オブジェクト指向オーディオシステムの別の実施形態を示している。
【図3】図3は、ここで説明するオブジェクト指向オーディオシステムのうちのいずれかにおいて使用するためのストリーミングモジュールの実施形態を示している。
【図4】図4は、オブジェクト指向オーディオストリーミングフォーマットの実施形態を示している。
【図5A】図5Aは、オーディオストリームアセンブリプロセスの実施形態を示している。
【図5B】図5Bは、オーディオストリームレンダリングプロセスの実施形態を示している。
【図6】図6は、適応オーディオオブジェクトストリーミングシステムの実施形態を示している。
【図7】図7は、適応オーディオオブジェクトストリーミングプロセスの実施形態を示している。
【図8】図8は、適応オーディオオブジェクトレンダリングプロセスの実施形態を示している。
【図9】図9は、オブジェクト指向オーディオ捕捉に対する例示的なシーンを示している。
【図10】図10は、オブジェクト指向オーディオ捕捉に対するシステムの実施形態を示している。
【図11】図11は、オブジェクト指向オーディオ捕捉に対するプロセスの実施形態を示している。
【詳細な説明】
【0009】
I.イントロダクション
上記で説明した既存のシステムでの問題に加えて、オーディオ配信システムは、リスナーのプレーバック環境を十分に考慮していない。その代わりに、環境や、リスナーの好みや、または、心理音響原理の実現を何ら補償することなく、最終的なリスニング環境に特定の数のチャネルを配信するように、オーディオシステムは設計されている。これらの機能および能力は、従来、システムインテグレータに残されている。
【0010】
本開示は、これらの問題のうちの少なくともいくつかを取り扱う、オブジェクト指向オーディオをストリーミングするためのシステムおよび方法を説明している。ある実施形態では、ロケーション、速度、方向性、および、これらに類するもののような、サウンドソースの属性に、これらのサウンドソースを関係付けることにより、オーディオオブジェクトが作られる。例えば、ネットワークを通してクライアントデバイスにオーディオオブジェクトをストリーミングすることにより、サウンドを分配するチャネルの代わりに、または、サウンドを分配するチャネルに加えて、オーディオオブジェクトを使用することができる。ある実施形態では、これらのオブジェクトは、チャネルには、または、チャネル間でパンされたポジションには関連していないが、むしろ、関係する2次元または3次元の座標で、空間中のそれらのロケーションを規定している。レンダラまたはクライアントデバイスは、オブジェクトの属性を使用して、オブジェクトをレンダリングする方法を決定することができる。
【0011】
レンダラは、利用可能なコンピューティングリソースに基づいて、レンダリングおよび/またはストリーミングを適応させることにより、ある実施形態におけるレンダラの環境に対処することもできる。同様に、利用可能な帯域幅のような、ネットワーク条件に基づいて、オーディオオブジェクトのストリーミングを適応させることができる。オーディオオブジェクト作成技術のさまざまな例も説明する。有利なことに、ここで説明するシステムおよび方法は、融通のきかないオーディオチャネル分配モデルに関係する欠点を減らすまたは克服することができる。
【0012】
概要として、図1Aおよび図1Bは、オブジェクト指向オーディオシステムの実施形態を紹介している。さらに後の図は、これらのオブジェクト指向オーディオシステムにより実現することができる技術を説明している。例えば、図2ないし図5Bは、オブジェクト指向オーディオをストリーミングするためのさまざまな例示的な技術を説明している。図6ないし図8は、環境とネットワーク条件とに基づいて、オブジェクト指向オーディオを適応的にストリーミングするおよびレンダリングするための例示的な技術を説明している。図9ないし図11は、例示的なオーディオオブジェクト作成技術を説明している。
【0013】
ここで使用するような用語“ストリーミング”およびその派生物は、それらの普通の意味を有することに加えて、(サーバのような)1つのコンピューティングシステムから(クライアントのような)別のコンピューティングシステムへのコンテンツの分配を意味することがある。用語“ストリーミング”およびその派生物は、BitTorrentおよび関連するプロトコルを含む、さまざまなプロトコルのうちの任意のものを使用して、ピア・ツー・ピアネットワークを通してコンテンツを分配することを指すこともある。
【0014】
II.オブジェクト指向オーディオシステム概要
図1Aおよび図1Bは、オブジェクト指向オーディオシステム100A、100Bの実施形態を示している。コンピュータハードウェア中および/またはソフトウェア中で、オブジェクト指向オーディオシステム100A、100Bを実現することができる。有利なことに、ある実施形態では、オブジェクト指向オーディオシステム100A、100Bにより、コンテンツ作成者が、オーディオオブジェクトを作成し、このようなオブジェクトをストリーミングして、固定チャネルモデルに縛られることなくオブジェクトをレンダリングすることが可能になる。
【0015】
特に図1Aを参照すると、オブジェクト指向オーディオシステム100Aは、オーディオオブジェクト作成システム110Aと、コンテンツサーバ120A中で実現されるストリーミングモジュール122Aと、ユーザシステム140中で実現されるレンダラ142Aとを含んでいる。オーディオオブジェクト作成システム110Aは、オーディオオブジェクトを作成して修正するための機能性をユーザに提供することができる。コンテンツサーバ120A上にインストールされているものとして示されているストリーミングモジュール122Aを使用して、ネットワーク130を通して、ユーザシステム140にオーディオオブジェクトをストリーミングすることができる。ネットワーク130は、LANや、WANや、インターネットや、または、それらのものの組み合わせを含むことができる。ユーザシステム140上のレンダラ142Aは、1つ以上のラウドスピーカーに出力するためにオーディオオブジェクトをレンダリングすることができる。
【0016】
表されている実施形態では、オーディオオブジェクト作成システム110Aは、オブジェクト作成モジュール114およびオブジェクト指向エンコーダ112Aを備えている。オブジェクト作成モジュール114は、例えば、オーディオデータの属性にオーディオデータを関係付けることによってオブジェクトを作成するための機能性を提供することができる。あらゆるタイプのオーディオを使用して、オーディオオブジェクトを発生させることができる。オブジェクト中に発生させてストリーミングすることができるオーディオのいくつかの例は、映画と、テレビと、映画のトレーラーと、音楽と、音楽ビデオと、他のオンラインビデオと、ビデオゲームと、これらに類するものとに関係するオーディオを含むことができる。
【0017】
最初に、オーディオデータを記録するか、または、そうでなければ、取得することができる。オブジェクト作成モジュール114は、ユーザが、オーディオデータにアクセスし、オーディオデータを編集し、そうでなければ、オーディオデータを操作することを可能にするユーザインターフェースを提供することができる。オーディオデータは、サウンドソースまたはサウンドソースの集合を表すことができる。サウンドソースのいくつかの例は、ダイアログと、背景音楽と、(車や、飛行機や、または、何らかの小道具のような)何らかのアイテムにより発生されたサウンドとを含んでいる。さらに一般的には、サウンドソースは、何らかのオーディオクリップとすることができる。
【0018】
サウンドソースは、オブジェクト作成モジュール114が、オブジェクトを作成するためにオーディオデータに関係付けることができる1つ以上の属性を有することができる。属性の例は、サウンドソースのロケーションと、サウンドソースの速度と、サウンドソースの方向性と、これらに類するものとを含んでいる。オーディオデータが記録された時間を反映した時間属性のような、いくつかの属性を、オーディオデータから直接取得してもよい。オーディオを発生させたサウンドソースのタイプ(例えば、車対アクター)のような、他の属性を、ユーザによってオブジェクト作成モジュール114に供給することができる。オブジェクト作成モジュール114により、他のデバイスから、さらに他の属性を自動的にインポートすることができる。例として、サウンドソースのロケーションをグローバルポジショニングシステム(GPS)デバイスまたはこれに類するものから取り出すことができ、オブジェクト作成モジュール114中にインポートすることができる。属性の追加の例および属性を識別するための技術の追加の例を、下記でさらに詳細に説明する。オブジェクト作成モジュール114は、オブジェクトデータリポジトリ116中にオーディオオブジェクトを記憶させることができる。オブジェクトデータリポジトリ116は、データベースまたは他のデータ記憶装置を含むことができる。
【0019】
オブジェクト指向エンコーダ112Aは、1つ以上のオーディオオブジェクトを、ネットワークを通した送信に適したオーディオストリームにエンコードすることができる。1つの実施形態では、オブジェクト指向エンコーダ112Aは、関係する属性メタデータとともに、オーディオオブジェクトを、圧縮されていないPCM(パルスコード変調された)オーディオとしてエンコードする。別の実施形態では、オブジェクト指向エンコーダ112Aはまた、ストリームを作成するときに、オブジェクトに圧縮を適用する。
【0020】
有利なことに、ある実施形態では、オブジェクト指向エンコーダにより発生されたオーディオストリームは、メタデータヘッダとオーディオペイロードとにより表されている少なくとも1つのオブジェクトを含むことができる。オーディオストリームは、それぞれがオブジェクトメタデータヘッダとオーディオペイロードとを含むことができるフレームから成ることがある。いくつかのオブジェクトは、メタデータのみを含み、オーディオペイロードを含んでいないことがある。他のオブジェクトは、オーディオペイロードを含んでいるが、メタデータをほとんどまたはまったく含んでいないことがある。このようなオブジェクトの例を、下記で詳細に説明する。
【0021】
オーディオオブジェクト作成システム110Aは、(示されていない)ネットワークを通して、コンテンツサーバ120Aに、エンコードしたオーディオオブジェクトを供給することができる。コンテンツサーバ120Aは、後の送信のために、エンコードしたオーディオオブジェクトをホスト管理することができる。コンテンツサーバ120Aは、物理的なコンピューティングデバイスのような、1つ以上の機械を含むことができる。ユーザシステムは、ネットワーク130を通して、コンテンツサーバ120Aにアクセス可能である。例えば、コンテンツサーバ120Aは、ウェブサーバや、コンテンツ配信ネットワーク(CDN)中のエッジノードや、または、これらに類するものとすることができる。
【0022】
ユーザシステム140は、コンテンツサーバ120Aにアクセスして、オーディオコンテンツを要求することができる。このような要求の受信に応答して、コンテンツサーバ120Aは、ユーザシステム140にオーディオコンテンツをストリーミングし、このオーディオコンテンツをアップロードし、または、そうでなければ、このオーディオコンテンツを送信することができる。あらゆる形態のコンピューティングデバイスが、オーディオコンテンツにアクセスすることができる。例えば、ユーザシステム140は、デスクトップ、ラップトップ、タブレット、パーソナルデジタルアシスタント(PDA)、テレビ、(電話機のような)ワイヤレスハンドヘルドデバイス、または、これらに類するものとすることができる。
【0023】
ユーザシステム140上のレンダラ142Aは、1つ以上のラウドスピーカーに出力するために、エンコードされたオーディオオブジェクトをデコードして、このオーディオオブジェクトをレンダリングすることができる。レンダラ142Aは、さまざまな異なるレンダリング特徴、オーディオエンハンスメント、心理音響エンハンスメント、および、オーディオオブジェクトをレンダリングするためのこれらに類するものを含むことができる。レンダラ142Aは、オーディオオブジェクトをレンダリングする方法に関する手掛かりとして、オーディオオブジェクトのオブジェクト属性を使用することができる。
【0024】
図1Bを参照すると、オブジェクト指向オーディオシステム100Bは、オーディオオブジェクト作成システム110Bと、コンテンツサーバ120Bと、ユーザシステム140とのような、システム100Aの特徴のうちの多くのものを含んでいる。示されているコンポーネントの機能性は、上記で説明したものと同じとすることができ、ここでは、ある違いを記している。例えば、表されている実施形態では、コンテンツサーバ120Bは、ユーザシステム140にストリーミングされるオブジェクトデータの量を動的に適応することができる適応ストリーミングモジュール122Bを含む。同じように、ユーザシステム140は、オーディオストリーミングを、および/または、ユーザシステム140によってオブジェクトをレンダリングする方法を、適応させることができる適応レンダラ142Bを含んでいる。
【0025】
図1Bからわかるように、オーディオオブジェクト作成システム110Bからコンテンツサーバ120Bにオブジェクト指向エンコーダ112Bが移動されている。表されている実施形態では、オーディオオブジェクト作成システム110Bは、オーディオストリームの代わりにオーディオオブジェクトをコンテンツサーバ120Bにアップロードする。コンテンツサーバ120B上の適応ストリーミングモジュール122Bは、オブジェクト指向エンコーダ112Bを含んでいる。それゆえ、表されている実施形態では、オーディオオブジェクトのエンコーディングは、コンテンツサーバ120B上で実行される。代替的に、オーディオオブジェクト作成システム110Bは、エンコードしたオブジェクトを適応ストリーミングモジュール122Bにストリーミングすることができる。適応ストリーミングモジュール122Bは、さらに操作するために、および、後に再エンコーディングするために、オーディオオブジェクトをデコードする。
【0026】
コンテンツサーバ120B上でオブジェクトをエンコードすることにより、適応ストリーミングモジュール122Bは、ストリーミングの前にオブジェクトをエンコードする方法を動的に適応させることができる。適応ストリーミングモジュール122Bは、ネットワーク帯域幅や、待ち時間等のような、利用可能なネットワーク130リソースを監視することができる。利用可能なネットワークリソースに基づいて、適応ストリーミングモジュール122Bは、より多いまたはより少ないオーディオオブジェクトをオーディオストリーム中にエンコードすることができる。例えば、ネットワークリソースがより多く利用可能になると、適応ストリーミングモジュール122Bは、相対的に多くのオーディオオブジェクトをオーディオストリーム中にエンコードすることができ、逆もまた同じである。
【0027】
適応ストリーミングモジュール122Bはまた、数よりもむしろ(または、数に加えて)、オーディオストリーム中にエンコードされるオブジェクトのタイプを調節することができる。例えば、適応ストリーミングモジュール122Bは、ネットワークリソースが制約されているときに、(ダイアログのような)より高い優先度のオブジェクトをエンコードすることができるが、(ある背景サウンドのような)より低い優先度のオブジェクトをエンコードすることはできない。オブジェクトの優先度に基づく適応ストリーミングの概念は、下記でより詳細に説明する。
【0028】
適応レンダラ142Bもまた、オーディオオブジェクトがユーザシステム140にどのようにストリーミングされるかに影響を与えることがある。例えば、適応レンダラ142Bは、適応ストリーミングモジュール122Bと通信して、ユーザシステム140にストリーミングされるオーディオオブジェクトの量および/またはタイプを制御することができる。適応レンダラ142Bはまた、オーディオストリームがレンダリングされる方法を、プレーバック環境に基づいて、調節することができる。例えば、より大きなシアターは、数十または数百の多くの増幅器ならびにスピーカーのロケーションおよび能力を特定してもよい一方で、内蔵型のTVは、2つの増幅器チャネルとスピーカーとだけが利用可能であることを特定してもよい。この情報に基づいて、システム100A、100Bは、音響フィールドプレゼンテーションを最適化することができる。到来オーディオストリームは記述的とすることができ、プレーバック環境の物理的な特性に依存しないので、システム100A、100B中の多くの異なるタイプのレンダリング特徴は、再生されるリソースおよび環境に依存して適用することができる。適応レンダラ142Bのこれらの特徴および他の特徴は、下記でより詳細に説明する。
【0029】
いくつかの実施形態では、(エンコーダ112Aのような)オブジェクト指向エンコーダが、適応ストリーミングモジュール122Bに、エンコードしたストリームを送る場合でさえ、ここで説明する適応特徴を実現することができる。進行中に新しいオーディオストリームをアセンブリする代わりに、適応ストリーミングモジュール122Bは、利用可能なコンピューティングリソースまたはネットワークリソースが少なくなったときに、オーディオストリームからオブジェクトを取り除くことができる、または、そうでなければ、オーディオストリームをフィルタリングすることができる。例えば、適応ストリーミングモジュール122Bは、レンダリングする重要性が相対的に低いオブジェクトに対応しているパケットをストリームから取り除くことができる。ストリーミングおよび/またはレンダリングのためにオブジェクトに重要性を割り当てるための技術を、下記でより詳細に説明する。
【0030】
上記の実施形態からわかるように、オーディオ分配およびプレーバックのための開示したシステム100A、100Bは、オーディオコンテンツの初期の生成からリスナーの知覚システムまでのチェーン全体を含むことができる。システム100A、100Bは、送信/記憶またはマルチ次元のレンダリングシステムにおける概念的な改善を容易に組み込むことができるという点で、スケーリング可能で、将来も使い続けられるものである。システム100A、100Bはまた、大きなフォーマットのシアターベースのプレゼンテーションから、ホームシアターのコンフィギュレーションおよび内蔵型TVオーディオシステムまで容易にスケーリングすることができる。
【0031】
既存の物理チャネルベースシステムとは対照的に、システム100A、100Bは、シーンの構造についてとともに、シーン内の個別のコンポーネントについての情報を提供する一連のオーディオオブジェクトへと、オーディオコンテンツの生成を抽象化することができる。リソースが利用可能な場合に、各オブジェクトに関係する情報をシステム100A、100Bによって使用して、提供された情報の最も正確な表現を作成することができる。システム100A、100Bに対する追加の入力として、これらのリソースを特定することができる。
【0032】
物理的なスピーカーおよび増幅器を使用することに加えて、システム100A、100Bは、心理音響処理を取り入れて、音響環境におけるリスナーの熱中を高めるとともに、視覚的なフィールドにおけるそれらのポジションに正確に対応している3Dオブジェクトのポジショニングを実現してもよい。送信ストリーム中に含まれているオーディオオブジェクト情報のプレゼンテーションを向上させるために、または、そうでなければ、送信ストリーム中に含まれているオーディオオブジェクト情報のプレゼンテーションを最適化するために、利用可能なリソースとして、この処理も、システム100A、100Bに対して(例えば、レンダラ142に対して)定義することができる。
【0033】
いかなるときにおいても追加の情報を加えることができるように、ストリームは拡張可能に設計されている。レンダラ142A、142Bは、一般的なものとすることができ、または、特定の環境およびリソースの組み合わせをサポートするように設計することができる。オーディオ再生における将来的な改善および新しい概念を自由自在に取り入れることができ、送信/記憶ストリーム中に含まれる同じ記述情報が、潜在的にさらに正確なレンダリングにより利用することができる。システム100A、100Bは、何らかの将来的な物理的または概念的改善を、いかなる時点においてもシステム100A、100B内に容易に組み込むことができるレベルに抽象化されている一方で、以前のコンテンツおよびレンダリングシステムとの互換性が維持されている。現在のシステムとは異なり、システム100A、100Bは、柔軟性があり、適応可能である。
【0034】
例示を容易にするために、本明細書は、主に、ネットワークを通してオーディオをストリーミングする文脈でのオブジェクト指向オーディオ技術を説明している。しかしながら、非ネットワーク環境においても、オブジェクト指向オーディオ技術を実現することができる。例えば、DVDディスクや、ブルーレイ(登録商標)ディスクや、または、これらに類するもののような、コンピュータ読取可能記憶媒体上にオブジェクト指向オーディオストリームを記憶させることができる。(ブルーレイプレーヤーのような)メディアプレーヤーは、ディスク上に記憶されているオブジェクト指向オーディオストリームをプレーバックすることができる。オブジェクト指向オーディオパッケージも、ユーザシステム上のローカルの記憶装置にダウンロードすることができ、その後、ローカルの記憶装置からプレーバックすることができる。他の多くのバリエーションが可能である。
【0035】
図1Aおよび図1Bに関して説明したあるコンポーネントの機能性を組み合わせたり、修正したり、省略したりできることを正しく認識すべきである。例えば、1つのインプリメンテーションでは、コンテンツサーバ120上でオーディオオブジェクト作成システム110を実現することができる。オーディオオブジェクト作成システム110からユーザシステム140に直接オーディオストリームをストリーミングすることができる。他の多くのコンフィギュレーションも可能である。
【0036】
III.オーディオオブジェクトストリーミング実施形態
オーディオオブジェクトストリームのより詳細な実施形態を、ここで図2ないし図5Bに関して説明する。図2を参照すると、オブジェクト指向オーディオシステム200の別の実施形態が示されている。システム200は、上記で説明したシステム100A、100Bの特徴のうちのいずれかのものを実現することができる。システム200は、デコードし、レンダリングし、1つ以上のスピーカーにより出力することができるオブジェクト指向オーディオストリームを発生させることができる。
【0037】
システム200では、オブジェクト指向エンコーダ212にオーディオオブジェクト202が提供される。上記で説明したように、オーディオコンテンツ作成システムによりまたはコンテンツサーバ上のストリーミングモジュールにより、オブジェクト指向エンコーダ212を実現することができる。オブジェクト指向エンコーダ212は、オーディオオブジェクトをビットストリーム214中にエンコードおよび/または圧縮することができる。オブジェクト指向エンコーダ212は、(例えば、MP3ファイルを作成するための)ムービングピクチャエキスパートグループ(MPEG)標準規格のうちのいずれかに基づく圧縮技術を含む、オブジェクトをエンコードするための何らかのコーデックまたは圧縮技術を使用することができる。
【0038】
ある実施形態では、オブジェクト指向エンコーダ212は、異なるオーディオオブジェクトに対するメタデータヘッダとオーディオペイロードとを有する、単一のビットストリーム214を作成する。オブジェクト指向エンコーダ212は、ネットワークを通して、ビットストリーム214を送信することができる(例えば、図1B参照)。ユーザシステム上で実現されるデコーダ220は、ビットストリーム214を受信することができる。デコーダ220は、ビットストリーム214をその構成オーディオオブジェクト202中にデコードすることができる。デコーダ220は、レンダラ242にオーディオオブジェクト202を提供する。いくつかの実施形態では、レンダラ242は、デコーダ220の機能性を直接実現することができる。
【0039】
レンダラ242は、1つ以上のスピーカー250上でプレーバックするのに適したオーディオ信号244中に、オーディオオブジェクトをレンダリングすることができる。上記で説明したように、レンダラ142Aは、オーディオオブジェクトをレンダリングする方法に関する手掛かりとして、オーディオオブジェクトのオブジェクト属性を使用することができる。有利なことに、ある実施形態では、オーディオオブジェクトは、このような属性を含んでいるので、オーディオオブジェクトのフォーマットを変更することなく、レンダラ142Aの機能性を変更することができる。例えば、1つのタイプのレンダラ142Aは、オーディオオブジェクトのポジション属性を使用して、1つのスピーカーから別のスピーカーにオーディオをパンするかもしれない。第2のレンダラ142Aは、心理音響エンハンスメントがレンダラ142Aに対して利用可能であるという決定に応答して、同じポジション属性を使用して、オーディオオブジェクトに対して3Dの心理音響フィルタリングを実行するかもしれない。一般に、レンダラ142Aは、いくつかのまたはすべての利用可能なリソースを考慮して、最良の可能性あるプレゼンテーションを作成することができる。レンダリング技術が改善すると、以前から存在するフォーマットのオーディオオブジェクトを利用するユーザシステム140に、追加のレンダラ142Aまたはレンダリングリソースを加えることができる。
【0040】
上記で説明したように、オブジェクト指向エンコーダ212および/またはレンダラ242もまた、適応特徴を有することができる。
【0041】
図3は、ここで説明するオブジェクト指向オーディオシステムのうちのいずれかで使用するためのストリーミングモジュール322の実施形態を示している。ストリーミングモジュール322は、オブジェクト指向エンコーダ312を含んでいる。ハードウェア中および/またはソフトウェア中で、ストリーミングモジュール322およびエンコーダ312を実現することができる。表されている実施形態は、異なるタイプのオーディオオブジェクトを単一のビットストリーム314中にどのようにエンコードすることができるのかを示している。
【0042】
示されている例示的なストリーミングモジュール322は、静的なオブジェクト302と動的なオブジェクト304という2つの異なるタイプのオブジェクトを受信する。静的なオブジェクト302は、5.1チャネルサラウンドサウンドのような、オーディオのチャネルを表すことができる。静的なオブジェクト302として、各チャネルを表すことができる。何人かのコンテンツ作成者は、システム100A、100Bのオブジェクトベースの機能性の代わりに、または、システム100A、100Bのオブジェクトベースの機能性に加えて、チャネルを使用することを望んでいることがある。静的なオブジェクト302は、これらのコンテンツ作成者がチャネルを使用するための方法を提供し、既存の固定チャネルシステムとの後方互換性を促進し、採用の容易さを推進する。
【0043】
動的なオブジェクト304は、静的なオブジェクト302の代わりに、または、静的なオブジェクト302に加えて、使用することができる何らかのオブジェクトを含むことができる。動的なオブジェクト304は、静的なオブジェクト302とともにレンダリングされるときに、静的なオブジェクト302に関係付けられているオーディオを向上させるエンハンスメントを含むことができる。例えば、動的なオブジェクト304は、静的なオブジェクト302を向上させるためにレンダラが使用することができる心理音響情報を含むことができる。動的なオブジェクト304はまた、オーディオシーンを向上させるためにレンダラが使用することができる背景オブジェクト(例えば、通過する飛行機)を含むこともできる。しかしながら、動的なオブジェクト304は、背景オブジェクトである必要はない。動的なオブジェクト304は、ダイアログまたは他の何らかのオーディオデータを含むことができる。
【0044】
静的なオブジェクト302に関係付けられているメタデータは、ほとんどないか、または、存在しないことがある。1つの実施形態では、このメタデータは、単に、静的なオブジェクト302がどのチャネルに対応しているのかを示す、“チャネル”のオブジェクト属性を含んでいる。このメタデータは、いくつかのインプリメンテーションでは変わらないので、それゆえ、静的なオブジェクト302は、それらのオブジェクト属性において静的である。対照的に、動的なオブジェクト304は、変化するポジション、速度等のような、変化するオブジェクト属性を含むことができる。したがって、これらのオブジェクト304に関係付けられているメタデータは、動的とすることができる。しかしながら、いくつかの状況では、静的なオブジェクト302に関係付けられているメタデータは、経時的に変わることがある一方で、動的なオブジェクト304に関係付けられているメタデータは、同じままであることがある。
【0045】
さらに、上記で述べたように、いくつかの動的なオブジェクト304は、オーディオペイロードをほとんど含まないか、または、まったく含まないことがある。例えば、環境オブジェクト304は、シーンが行われる音響環境の所望の特性を特定することができる。これらの動的なオブジェクト304は、部屋や、オフィスや、大聖堂や、スタジアムや、または、これらに類するもののような、オーディオシーンが起こる建物のタイプまたは屋外エリアのタイプに関する情報を含むことができる。レンダラは、この情報を使用して、例えば、示されている環境に対応する適切な量の残響または遅延を適用することにより、静的なオブジェクト302中のオーディオのプレーバックを調節することができる。環境の動的なオブジェクト304はまた、いくつかのインプリメンテーションでは、オーディオペイロードを含むことがある。環境オブジェクトのいくつかの例は、図4に関して下記で説明する。
【0046】
メタデータを含むが、ペイロードをほとんどまたはまったく含まないことがある別のタイプのオブジェクトは、オーディオ定義オブジェクトである。1つの実施形態では、ユーザシステムは、オーディオクリップまたはサウンドのライブラリを含むことができ、オーディオクリップまたはサウンドのライブラリは、オーディオ定義オブジェクトを受信したときに、レンダラによってレンダリングすることができるものである。オーディオ定義オブジェクトは、ユーザシステム上に記憶されているオーディオクリップまたはサウンドに対する参照とともに、クリップをどのくらい長くプレーするのか、クリップをループさせるか否か等についての命令を含むことができる。オーディオ定義オブジェクトから、オーディオストリームを部分的にまたは全部でさえ構築することができ、実際のオーディオデータのうちのいくつかまたはすべてが、ユーザシステム上に記憶される(または別のサーバからアクセス可能である)。別の実施形態では、ストリーミングモジュール322は、ユーザシステムに複数のオーディオ定義オブジェクトを送ることができ、その後に、複数のオーディオペイロードオブジェクトが続き、メタデータと実際のオーディオとを分離する。他の多くのコンフィギュレーションが可能である。
【0047】
コンテンツ作成者は、記述的なコンピュータ言語を使用して(例えば、オーディオオブジェクト作成システム110を使用して)、静的なオブジェクト302または動的なオブジェクト304を宣言することができる。後にストリーミングすることになるオーディオコンテンツを作成したときに、コンテンツ作成者は、所望の数の静的なオブジェクト302を宣言することができる。例えば、コンテンツ作成者は、(例えば、中央のチャネルに対応する)ダイアログの静的なオブジェクト302または他の何らかの数の静的なオブジェクト302が、常時オンであることを要求することができる。この“常時オン”の性質は、静的なオブジェクト302を静的にさせることができる。対照的に、動的なオブジェクト304は、移り変わり、オーディオストリーム中に常に存在しているわけではない。当然、これらの特徴が逆になることもある。例えば、静的なオブジェクト302をゲート制御するか、または、そうでなければ、トグルすることが望ましいことがある。例えば、所定の静的なオブジェクト302中にダイアログが存在しないときには、その静的なオブジェクト302をオーディオストリーム中に含めないことにより、コンピューティングリソースおよびネットワークリソースを節約することができる。
【0048】
図4は、オブジェクト指向オーディオストリーミングフォーマット400の実施形態を示している。オーディオストリーミングフォーマットは、ビットストリーム414を含んでおり、ビットストリーム414は、上記で説明したビットストリームのうちのいずれかに対応することができる。ビットストリーム414のフォーマット400は、連続したより詳細な図(420、430)に分けられる。示されているビットストリームフォーマット400は、単に、例示的な実施形態であり、インプリメンテーションに依存して変化することがある。
【0049】
表されている実施形態では、ビットストリーム414は、ストリームヘッダ412と、マクロフレーム420とを含んでいる。ストリームヘッダ412は、ビットストリーム414の開始時または終了時に生じることがある。ストリームヘッダ412中に含まれることがある情報のうちのいくつかの例は、ストリームの作者、ストリームの出所、著作権情報、ストリームの作成および/または配信に関連するタイムスタンプ、ストリームの長さ、ストリームをエンコードするのにどのコーデックが使用されたかに関する情報、および、これらに類するものを含んでいる。デコーダおよび/またはレンダラによってストリームヘッダ412を使用して、ストリーム414を適切にデコードすることができる。
【0050】
マクロフレーム420は、ビットストリーム414をデータのセクションに分割する。各マクロフレーム420は、オーディオシーンにまたはオーディオのタイムスライスに対応することができる。各マクロフレーム420は、さらに、マクロフレームヘッダ422および個別のフレーム430を含んでいる。マクロフレームヘッダ422は、マクロフレーム中に含まれるオーディオオブジェクトの数や、マクロフレーム420に対応するタイムスタンプ等を定義することができる。いくつかのインプリメンテーションでは、マクロフレームヘッダ422は、マクロフレーム420中でフレーム430の後に配置することができる。個別のフレーム430は、それぞれ、単一のオーディオオブジェクトを表すことができる。しかしながら、いくつかのインプリメンテーションでは、フレーム430は、複数のオーディオオブジェクトを表すこともできる。1つの実施形態では、レンダラは、マクロフレーム420に関係付けられているオーディオオブジェクトをレンダリングする前に、マクロフレーム420全体を受信する。
【0051】
各フレーム430は、オブジェクトメタデータを含むフレームヘッダ432と、オーディオペイロード434とを含んでいる。いくつかのインプリメンテーションでは、フレームヘッダ432は、オーディオペイロード434の後に配置することができる。しかしながら、上記で論じたように、いくつかのオーディオオブジェクトは、メタデータ432のみか、または、オーディオペイロード434のみかのいずれかを有することがある。したがって、いくつかのフレーム430は、オブジェクトメタデータをほとんど持たないか、または、まったく持たないフレームヘッダを含むことがあり(あるいは、ヘッダをまったく含まないことがある)、いくつかのフレーム430は、オーディオペイロード434をほとんど含まないか、または、まったく含まないことがある。
【0052】
フレームヘッダ432中のオブジェクトメタデータは、オブジェクト属性に関する情報を含んでいることがある。以下の表は、オブジェクト属性を定義するのに使用することができるメタデータの例を示している。特に、表1は、さまざまなオブジェクト属性を示しており、属性名と属性の説明とによりまとめられている。いくつかの設計では、示されている属性よりも少ない属性や、または、示されている属性よりも多い属性を実現してもよい。
【表1−1】
【表1−2】
【0053】
表1中にリストされているOBSTRUCT_PRESET(障害プリセット)に対する例示的な値が、下記の表2中で示されている。障害プリセット値は、サウンドソースが、カメラまたはリスナーの視点からさえぎられている程度、あるいは、ブロックされている程度に影響を及ぼすことがある。したがって、例えば、厚いドアの後ろから発せられたサウンドソースは、カーテンの後ろから発せられたサウンドソースとは異なるようにレンダリングされることがある。上記で論じたように、レンダラは、これらのオブジェクト属性の値および他のオブジェクト属性の値に基づいて、何らかの所望のレンダリング技術を実行することができる(または、まったく実行しない)。
【表2】
【0054】
(時には、遮蔽として呼ばれる)障害プリセットと同様に、REVERB_PRESET(残響プリセット)が、表3中で示されているような例示的な値を含んでいることがある。これらの残響値は、サウンドソースが位置しているかもしれない環境のタイプに対応している。したがって、講堂で発するサウンドソースは、居間で発するサウンドソースとは異なるようにレンダリングされるかもしれない。1つの実施形態では、環境オブジェクトは、下記で説明するもののようなプリセット値を含む残響属性を含んでいる。
【表3】
【0055】
いくつかの実施形態では、環境オブジェクトは、上記で説明した残響プリセットを使用して単に説明されるものではない。その代わりに、環境オブジェクトは、(プリセットする必要がない)残響の量や、エコーの量や、背景ノイズの程度等のような、1つ以上の属性で説明することができる。他の多くのコンフィギュレーションが可能である。同様に、オーディオオブジェクトの属性は、一般的に、値以外の形態を有していることがある。例えば、属性は、サウンドソースの振る舞いまたは特性を定義するコードあるいは命令のスニペットを含んでいることがある。
【0056】
図5Aは、オーディオストリームアセンブリプロセス500Aの実施形態を示している。オーディオストリームアセンブリプロセス500Aは、ここで説明するシステムのうちのいずれかによって実現することができる。例えば、ストリームアセンブリプロセス500Aは、上記で説明したオブジェクト指向エンコーダまたはストリーミングモジュールのうちのいずれかによって実現することができる。ストリームアセンブリプロセス500Aは、少なくとも1つのオーディオオブジェクトからオーディオストリームをアセンブリする。
【0057】
ブロック502において、ストリームに対するオーディオオブジェクトを選択する。オーディオオブジェクトは、上記で説明したオーディオオブジェクト作成モジュール110により作成されたものであるかもしれない。そうであるので、オーディオオブジェクトの選択は、オブジェクトデータリポジトリ116中のオーディオオブジェクトへのアクセスを含むことができる。代替的に、ストリーミングモジュール122は、コンピュータ記憶装置からのオーディオオブジェクトにアクセスすることができる。例示を簡単にするために、この例示的な図は、単一のオブジェクトのストリーミングを説明するが、オーディオストリーム中で複数のオブジェクトをストリーミングすることができることを理解すべきである。選択したオブジェクトは、静的なオブジェクトまたは動的なオブジェクトとすることができる。この特定の例では、選択したオブジェクトは、メタデータおよびオーディオペイロードを有している。
【0058】
ブロック504において、オブジェクトのメタデータを有するオブジェクトヘッダをアセンブリする。このメタデータは、オブジェクト属性の何らかの記述を含むことができ、そのうちのいくつかの例を上記で説明した。ブロック506において、オブジェクトのオーディオ信号データを有するオーディオペイロードを提供する。
【0059】
ブロック508において、オブジェクトヘッダとオーディオペイロードとを組み合わせて、オーディオストリームを形成する。オーディオストリームの形成は、オーディオストリームのエンコーディングと、オーディオストリームの圧縮と、これらに類するものとを含むことができる。ブロック510において、ネットワークを通して、オーディオストリームを送信する。何らかのストリーミング技術を使用して、オーディオストリームをストリーミングすることができる一方で、ユーザシステムにオーディオストリームをアップロードすることもできる(または、反対に、ユーザシステムによりダウンロードすることもできる)。その後、図5Bに関して下記で説明するように、ユーザシステムによりオーディオストリームをレンダリングすることができる。
【0060】
図5Bは、オーディオストリームレンダリングプロセス500Bの実施形態を示している。オーディオストリームレンダリングプロセス500Bは、ここで説明するシステムのうちのいずれかによって実現することができる。例えば、ストリームレンダリングプロセス500Bは、ここで説明するレンダラのうちのいずれかによって実現することができる。
【0061】
ブロック522において、オブジェクト指向オーディオストリームを受信する。このオーディオストリームは、プロセス500Aの技術を使用して、または、上記で説明した他の技術によって、作成されたものであるかもしれない。ブロック524において、オーディオストリーム中のオブジェクトメタデータにアクセスする。例えば、このストリームをエンコードするのに使用したのと同じコーデックを使用して、このストリームをデコードすることにより、このメタデータを取得してもよい。
【0062】
ブロック526において、メタデータ中の1つ以上のオブジェクト属性を識別する。ストリーム中のオーディオオブジェクトをレンダリングするための手掛かりとして、レンダラによって、これらのオブジェクト属性の値を識別することができる。
【0063】
ブロック528において、オーディオストリーム中のオーディオ信号をレンダリングする。表されている実施形態では、1つ以上のオブジェクト属性にしたがってオーディオストリームをレンダリングして、出力オーディオを生成させる。ブロック530において、1つ以上のラウドスピーカーに出力オーディオを供給する。
【0064】
IV.適応ストリーミングおよびレンダリングの実施形態
図1Bに関して、適応ストリーミングモジュール122Bと適応レンダラ142Bを上記で説明した。図6のシステム600では、適応ストリーミングモジュール622と適応レンダラ642のさらに詳細な実施形態が示されている。
【0065】
図6では、適応ストリーミングモジュール622は、優先度モジュール624と、ネットワークリソースモニタ626と、オブジェクト指向エンコーダ612と、オーディオ通信モジュール628とを含む、いくつかのコンポーネントを有している。適応レンダラ642は、コンピューティングリソースモニタ644と、レンダリングモジュール646とを含んでいる。異なるインプリメンテーションでは、示されているコンポーネントのうちのいくつかを省略してもよい。オブジェクト指向エンコーダ612は、上記で説明したエンコーディングの特徴のうちのいずれかを含むことができる。オーディオ通信モジュール628は、(示されていない)ネットワークを通して適応レンダラ642にビットストリーム614を送信することができる。
【0066】
優先度モジュール624は、優先度値また他の優先度情報をオーディオオブジェクトに適用することができる。1つの実施形態では、各オブジェクトは、優先度値を有することができ、優先度値は、数値またはこれに類するものであってもよい。優先度値は、レンダリングの観点から、オブジェクトの相対的な重要性を示すことができる。より高い優先度を持つオブジェクトは、より低い優先度のオブジェクトよりもレンダリングする重要性が高いことがある。したがって、リソースが制約されている場合には、相対的に低い優先度を持つオブジェクトを無視することがある。優先度は、上記で説明したオーディオオブジェクト作成システム110を使用して、コンテンツ作成者により最初に確立することができる。
【0067】
例として、ビデオに対するダイアログを含むダイアログオブジェクトが、背景サウンドオブジェクトよりも相対的に高い優先度を有しているかもしれない。優先度値が、例えば、1から5までのスケール上にある場合に、ダイアログオブジェクトは、(最も高い優先度を意味する)1の優先度値を有しているかもしれない一方で、背景サウンドオブジェクトは、より低い優先度(例えば、2から5までのどこか)を有しているかもしれない。優先度モジュール624は、ある優先度レベルを満たすオブジェクトを送信するためにしきい値を確立することができる。例えば、優先度モジュール624は、1、2、および、3の優先度を有するオブジェクトがユーザシステムに送信される一方で、4または5の優先度を持つオブジェクトは送信されないように、3のしきい値を確立することができる。
【0068】
優先度モジュール624は、ネットワークリソースモニタ626により決定されるような、変化するネットワーク条件に基づいて、このしきい値を動的に設定することができる。ネットワークリソースモニタ626は、利用可能なネットワークリソースを、または、帯域幅、待ち時間等のような、他のサービス品質手段を監視することができる。ネットワークリソースモニタ626は、この情報を優先度モジュール624に提供することができる。この情報を使用して、優先度モジュール624は、ネットワークリソースが多い場合には、より低い優先度のオブジェクトをユーザシステムに送信できるようにしきい値を調節する。同様に、優先度モジュール624は、ネットワークリソースが少ないときには、より低い優先度のオブジェクトの送信を防ぐようにしきい値を調節することができる。
【0069】
優先度モジュール624はまた、適応レンダラ642から受け取った情報に基づいて、優先度しきい値を調節することができる。適応レンダラ642のコンピューティングリソースモジュール644は、ユーザシステムに接続されているスピーカーの数や、ユーザシステムの処理能力等のような、ユーザシステムのプレーバック環境の特性を識別することができる。コンピューティングリソースモジュール644は、制御チャネル650を通して、優先度モジュール624にコンピューティングリソース情報を通信することができる。この情報に基づいて、優先度モジュール624は、コンピューティングリソースが多い場合には、より高い優先度のオブジェクトとより低い優先度のオブジェクトの双方を送ることができるようにしきい値を調節し、コンピューティングリソースが少ない場合には、より高い優先度のオブジェクトのみを送ることができるようにしきい値を調節する。それゆえ、適応レンダラ642のコンピューティングリソースモニタ644は、ユーザシステムにストリーミングされるオーディオオブジェクトの量および/またはタイプを制御することができる。
【0070】
適応レンダラ642はまた、プレーバック環境に基づいて、オーディオストリームをレンダリングする方法を、調節することができる。例えば、ユーザシステムが2つのスピーカーに接続されている場合に、適応レンダラ642は、2つのスピーカー上でオーディオオブジェクトをレンダリングすることができる。追加のスピーカーがユーザシステムに接続されている場合には、適応レンダラ642は、追加のチャネル上でもオーディオオブジェクトをレンダリングすることができる。1つまたは2つ(または、時にはさらに多く)のスピーカー上でオーディオオブジェクトをレンダリングするときに、適応レンダラ642は、心理音響技術も適用してもよい。
【0071】
優先度モジュール624は、オーディオオブジェクトの優先度を動的に変化させることができる。例えば、優先度モジュール624は、互いに対する相対的な優先度を有するようにオブジェクトを設定することができる。例えば、優先度モジュール624によって、ダイアログオブジェクトには、より高い優先度値が割り当てられることがある。他のオブジェクトの優先度値は、ダイアログオブジェクトの優先度と比較したものとすることができる。したがって、ダイアログオブジェクトがオーディオストリーム中の時間期間の間に存在しない場合に、他のオブジェクトは、相対的に高い優先度を有することができる。
【0072】
図7は、適応ストリーミングプロセス700の実施形態を示している。システム600のような、上記で説明したシステムのうちのいずれかによって、適応ストリーミングプロセス700を実現することができる。適応ストリーミングプロセス700は、ストリーミングリソースの効率的な使用を促進する。
【0073】
上記で説明した優先度モジュール624により、ブロック702ないし708を実行することができる。ブロック702において、オーディオコンテンツに対する要求を遠隔コンピュータから受信する。例えば、ユーザシステムは、コンテンツサーバに要求を送ることができる。ブロック704において、遠隔コンピュータシステムのリソースに関するコンピューティングリソース情報を受信する。このコンピューティングリソース情報は、ユーザシステムのさまざまな利用可能なリソースを記述することができ、オーディオコンテンツ要求とともに提供することができる。ブロック706において、利用可能なネットワークリソースに関するネットワークリソース情報も受信する。ネットワークリソースモニタ626によって、このネットワークリソース情報を取得することができる。
【0074】
ブロック708において、コンピュータおよび/またはネットワークのリソース情報に少なくとも部分的に基づいて、優先度しきい値を設定する。1つの実施形態では、優先度モジュール624は、コンピューティングリソースおよびネットワークリソースの双方が相対的に多いときに、(例えば、ストリーム中のより低い優先度のオブジェクトを許容するように)より低いしきい値を確立する。優先度モジュール624は、コンピューティングリソースまたはネットワークリソースのいずれかが相対的に少ないときに、(例えば、ストリーム中のより高い優先度のオブジェクトを許容するように)より高いしきい値を確立することができる。
【0075】
オブジェクト指向エンコーダ612により、ブロック710ないし714を実行することができる。決定ブロック710において、要求されたオーディオコンテンツ中の所定のオブジェクトに対して、そのオブジェクトに対する優先度値が、以前に確立されたしきい値を満たしているか否かを決定する。そうである場合には、ブロック712において、オーディオストリームにオブジェクトが追加される。そうでなければ、オーディオストリームにオブジェクトは追加されず、これにより、ある実施形態ではネットワークおよび/またはコンピューティングのリソースを有効に節約する。
【0076】
ブロック714において、追加のオブジェクトをストリームに追加することが依然として考えられているか否かをさらに決定する。そうである場合には、プロセス700は、ブロック710にループバックする。そうでなければ、ブロック716において、例えば、オーディオ通信モジュール628により、遠隔コンピューティングシステムにオーディオストリームが送信される。
【0077】
オーディオストリームを進行中にアセンブリする代わりに、いくつかのインプリメンテーションでは、プロセス700を修正して、予めエンコードされたオーディオストリームからオブジェクトを取り除くことができる。例えば、ブロック710において、所定のオブジェクトが、しきい値を満たさない優先度を有している場合に、ブロック712において、オーディオストリームからオブジェクトを取り除くことができる。したがって、コンテンツ作成者は、コンテンツサーバへのオーディオストリームにさまざまなオブジェクトを提供することができ、コンテンツサーバにおける適応ストリーミングモジュールは、オブジェクトの優先度に基づいて、オブジェクトのうちのいくつかを動的に取り除くことができる。それゆえ、ストリーミングするためのオーディオオブジェクトの選択は、ストリームにオブジェクトを追加すること、ストリームからオブジェクトを取り除くこと、または、その双方を含むことができる。
【0078】
図8は、適応レンダリングプロセス800の実施形態を示している。システム600のような、上記で説明したシステムのうちのいずれかによって、適応レンダリングプロセス800を実現することができる。適応レンダリングプロセス800は、ストリーミングリソースの効率的な使用も促進する。
【0079】
ブロック802において、ユーザシステムのレンダラにより、複数のオーディオオブジェクトを有するオーディオストリームを受信する。例えば、適応レンダラ642は、オーディオオブジェクトを受信することができる。ブロック804において、プレーバック環境情報にアクセスする。適応レンダラ642のコンピューティングリソースモニタ644により、プレーバック環境情報にアクセスすることができる。このリソース情報は、スピーカーコンフィギュレーション、計算能力等に関する情報を含むことができる。
【0080】
適応レンダラ642のレンダリングモジュール646により、ブロック806ないし810を実現することができる。ブロック806において、環境情報に少なくとも部分的に基づいて、1つ以上のオーディオオブジェクトを選択する。レンダリングモジュール646は、オブジェクトの優先度値を使用して、レンダリングするオブジェクトを選択することができる。別の実施形態では、レンダリングモジュール646は、優先度値に基づいてオブジェクトを選択しないが、その代わりに、オブジェクトをより少ないスピーカーチャネル中にダウンミックスするか、または、そうでなければ、より少ない処理リソースを使用して、オーディオをレンダリングする。ブロック808において、オーディオオブジェクトをレンダリングして、出力オーディオを生成させる。ブロック810において、レンダリングしたオーディオを1つ以上のスピーカーに出力する。
【0081】
V.オーディオオブジェクト作成の実施形態
図9ないし図11は、映画、テレビ、ポッドキャスト、および、これらに類するもののような、オーディオビジュアル再生の文脈での例示的なオーディオオブジェクト作成技術を説明している。しかしながら、(例えば、ビデオを伴うことのない)純粋なオーディオの文脈でも、図9ないし図11に関して説明する特徴のうちのいくつかまたはすべてを実現することができる。
【0082】
図9は、オブジェクト指向オーディオ捕捉に対する例示的なシーン900を示している。シーン900は、映画、テレビ、または、他のビデオに対して構築することができるような、オーディオビジュアルシーンの簡略化された図を表している。シーン900では、2人のアクター910が演じていて、彼らのサウンドおよびアクションは、マイクロフォン920とカメラ930とによりそれぞれ記録されている。簡潔にするために、単一のマイクロフォン920が示されているが、いくつかのケースでは、アクター910は個別のマイクロフォンを身に付けていてもよい。同様に、(示されていない)小道具に対して個別のマイクロフォンを供給することもできる。
【0083】
現在のシーン900におけるサウンドソース(例えば、アクター)のロケーション、速度、および、他の属性を決定するために、ロケーション追跡デバイス912が提供されている。これらのロケーション追跡デバイス912は、GPSデバイス、モーション捕捉スーツ、レーザーレンジファインダー、および、これらに類するものを含むことができる。マイクロフォン920(または、マイクロフォン)からのデータとともに、ロケーション追跡デバイス912からのデータを、オーディオオブジェクト作成システム110に送信することができる。オーディオの各インスタンスに対するポジションデータを提供するために、ロケーション追跡デバイス912からのデータ中に含まれているタイムスタンプは、マイクロフォン920および/またはカメラ930から取得したタイムスタンプと相関させることができる。このポジションデータを使用して、ポジション属性を有するオーディオオブジェクトを作成することができる。同様に、速度データは、ロケーション追跡デバイス912から取得することができ、または、ポジションデータから導出することができる。
【0084】
(GPS導出の緯度および経度のような)ロケーション追跡デバイス912からのロケーションデータは、ポジションデータとして直接使用することができ、または、座標系に翻訳することができる。例えば、3次元(x、y、および、z)でのデカルト座標940を使用して、オーディオオブジェクトポジションを追跡することができる。球座標または円柱座標のような、デカルト座標以外の座標系も使用してもよい。1つの実施形態では、座標系940に対する原点は、カメラ930とすることができる。この配置を促進するために、カメラ930は、オーディオオブジェクトと比較したそのロケーションを決定するためにロケーション追跡デバイス912も含むことができる。したがって、カメラ930のポジションが変化した場合でさえも、シーン900中のオーディオオブジェクトのポジションは、なお、カメラ930のポジションと比較したものとすることができる。
【0085】
オーディオビジュアル生成のポスト生成の間に、オーディオオブジェクトにポジションデータを適用することもできる。アニメーションの生成のために、(キャラクターのような)アニメ化されたオブジェクトの座標をコンテンツ作成者に知らせることができる。各アニメ化されたオブジェクトにより生成されるオーディオに、これらの座標を自動的に関係付けて、オーディオオブジェクトを作成することができる。
【0086】
図10は、図9に関して上記で説明した特徴を実現することができるオブジェクト指向オーディオ捕捉のためのシステム1000を概略的に示している。システム1000において、サウンドソースロケーションデータ1002およびマイクロフォンデータ1006が、オブジェクト作成モジュール1014に提供される。オブジェクト作成モジュール1014は、上記で説明したオブジェクト作成モジュール114A、114Bの特徴をすべて含むことができる。オブジェクト作成モジュール1014は、図9に関して上記で説明したように、タイムスタンプ1004、1008に基づいて、所定のサウンドソースに対するサウンドソースロケーションデータ1002を、マイクロフォンデータ1006に相関させることができる。
【0087】
付加的に、オブジェクト作成モジュール1014は、オブジェクトを共にリンクすることができる、または、そうでなければ、オブジェクトを共に関係付けることができるオブジェクトリンカ1020を含んでいる。あるオーディオオブジェクトは、元来、互いに関連していることがあり、それゆえ、オブジェクトリンカ1020により自動的に共にリンクすることができる。下記で説明する方法で、リンクされたオブジェクトを共にレンダリングすることができる。
【0088】
オブジェクトは、より高い同じクラスのオブジェクトに関連しているので、これらのオブジェクトは元来互いに関連していることがある。言い換えると、オブジェクト作成モジュール1014は、親のオブジェクトと、親のオブジェクトに関連し、親のオブジェクトの性質を継承している子のオブジェクトとを含む、オブジェクトのヒエラルキーを形成することができる。この方法で、オーディオオブジェクトは、コンピュータプログラミング言語から、あるオブジェクト指向の原理を借りることができる。子のオブジェクトを有することがある親のオブジェクトの例は、マーチングバンドである。マーチングバンドは、トロンボーンや、フルートや、クラリネット等のような、異なるグループの楽器に対応するいくつかのセクションを有することができる。オブジェクト作成モジュール1014を使用するコンテンツ作成者は、バンドを親のオブジェクトに割り当て、各セクションを子のオブジェクトに割り当てることができる。さらに、コンテンツ作成者はまた、個別のバンドメンバーを、セクションオブジェクトの子のオブジェクトに割り当てることができる。ヒエラルキーにおけるレベルの数を含む、オブジェクトヒエラルキーの複雑さは、コンテンツ作成者により確立することができる。
【0089】
上記で述べたように、子のオブジェクトは、それらの親のオブジェクトの性質を継承することがある。したがって、子のオブジェクトは、それらの親のオブジェクトのメタデータのうちのいくつかまたはすべてを継承することができる。いくつかのケースでは、子のオブジェクトはまた、それらの親のオブジェクトに関係付けられているオーディオ信号データのうちのいくつかまたはすべてを継承することができる。子のオブジェクトは、このメタデータおよび/またはオーディオ信号データのうちのいくつかまたはすべてを修正することができる。例えば、子のオブジェクトは、子と親とが、異なるポジションを有するが、他の類似するメタデータを有するように、親から継承したポジション属性を修正することができる。
【0090】
子のオブジェクトのポジションは、親のオブジェクトのポジションからのオフセットとして表すこともでき、または、そうでなければ、親のオブジェクトのポジションから導出することができる。マーチングバンドの例を参照すると、バンドのセクションは、バンドのポジションからのオフセットであるポジションを有することがある。バンドがポジションを変化させるにつれて、バンドのセクションを表す子のオブジェクトは、オフセットと、親のバンドのポジションとに基づいて、そのポジションを自動的に更新することができる。この方法で、異なるポジションオフセットを有する、バンドの異なるセクションが、共に動くことができる。
【0091】
子のオブジェクトと親のオブジェクトとの間の継承は、結果として、子のオブジェクトと親のオブジェクトとの間の共通のメタデータとなることがある。メタデータにおけるこのオーバーラップを、上記で説明したオブジェクト指向エンコーダのうちのいずれかにより活用して、オーディオストリーム中のデータを最適化するか、または、減少させることができる。1つの実施形態では、オブジェクト指向エンコーダは、子のオブジェクトから冗長なメタデータを取り除き、冗長なメタデータを親のメタデータへの参照に置き換えることができる。同様に、冗長なオーディオ信号データが、子のオブジェクトと親のオブジェクトとに共通している場合に、オブジェクト指向エンコーダは、冗長なオーディオ信号データを減少させるか、または、削除することができる。これらの技術は、単に、オーディオストリーム中の冗長なデータを減少させるか、または、削除するために、オブジェクト指向エンコーダが実現することができる多くの最適化技術の例に過ぎない。
【0092】
さらに、オブジェクト作成モジュール1014のオブジェクトリンカ1020は、子のオブジェクトと親のオブジェクトを共にリンクすることができる。オブジェクトリンカ1020は、2つのオブジェクト間の関係付けを作成することにより、このリンキングを実行することができ、この関係付けを、2つのオブジェクトのメタデータ中に反映してもよい。オブジェクトリンカ1020は、この関係付けをオブジェクトデータリポジトリ1016中に記憶させることができる。また、いくつかの実施形態では、例えば、オブジェクトが親子関係を有していないときでさえ、コンテンツ作成者は、オブジェクトを手動で共にリンクすることができる。
【0093】
2つのリンクされたオブジェクトをレンダラが受信したときに、レンダラは、2つのオブジェクトを別々にレンダリングするか、または、共にレンダリングするかを選ぶことができる。したがって、マーチングバンドを、単一ポイントソースとして1つのスピーカー上でレンダリングする代わりに、例えば、レンダラは、マーチングバンドを、オーディオオブジェクトのサウンドフィールドとしてさまざまなスピーカー上で共にレンダリングすることができる。例えば、バンドは、ビデオ中で動くので、レンダラは、スピーカー間にわたって、サウンドフィールドを動かすことができる。
【0094】
さらに一般的に、レンダラは、さまざまな方法でリンキング情報を解釈することができる。例えば、レンダラは、互いに遅らせた異なる時間において、リンクされているオブジェクトを同じスピーカー上でレンダリングしてもよく、または、異なるスピーカー上で同時にレンダリングしてもよく、または、これらに類することをしてもよい。リンクされているオブジェクトが、リスナーの頭の周りの異なるポイントにあるという印象をリスナーに与えるように、レンダラはまた、心理音響的に決定された空間中の異なるポイントにおいて、リンクされているオブジェクトをレンダリングしてもよい。したがって、例えば、レンダラは、トロンボーンのセクションが、リスナーの左を行進しているように出現させる一方で、クラリネットのセクションがリスナーの右を行進しているように出現させることができる。
【0095】
図11は、オブジェクト指向オーディオ捕捉に対するプロセス1100の実施形態を示している。システム1000のような、ここで説明したシステムのうちのいずれかによってプロセス1100を実現することができる。例えば、オブジェクト作成モジュール1014のオブジェクトリンカ1020によって、プロセス1100を実現することができる。
【0096】
ブロック1102において、第1および第2のサウンドソースに対するオーディオおよびロケーションデータを受信する。マイクロフォンを使用してオーディオデータを取得できる一方で、図9に関して上記で説明した技術のうちのいずれかを使用して、ロケーションデータを取得することができる。
【0097】
ブロック1104において、第1のサウンドソースに対する第1のオーディオオブジェクトを作成する。同様に、ブロック1106において、第2のサウンドソースに対する第2のオーディオオブジェクトを作成する。ブロック1108において、第1のサウンドソースと第2のサウンドソースの間に関係付けを作成する。この関係付けは、2つのオブジェクトがオブジェクトのヒエラルキーにおいて関連しているか否かに基づいて、オブジェクトリンカ1020により自動的に作成することができる。さらに、オブジェクトリンカ1020は、何らかの2つの類似する属性のような、オブジェクトに関係付けられている他のメタデータに基づいて、関係付けを自動的に作成することができる。ブロック1110において、コンピュータ記憶装置中に関係付けを記憶させる。
【0098】
VI.専門用語
実施形態に依存して、ここで説明したアルゴリズムのうちの任意の、あるアクト、イベント、または機能を、異なるシーケンス中で実行することができ、ひとまとめにして追加したり、マージしたり、または、除外することができる(例えば、説明したアクトまたはイベントのすべてが、アルゴリズムの実施のために必要なわけではない)。さらに、ある実施形態では、例えば、マルチスレッド処理、割り込み処理、あるいは、複数のプロセッサまたはプロセッサコアを通して、もしくは、他のパラレルアーキテクチャ上で、シーケンシャルにではなく、並行してアクトまたはイベントを実行することができる。
【0099】
ここで開示した実施形態に関連して説明した、さまざまな例示的な論理ブロック、モジュール、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、あるいは双方の組み合わせたものとして実現することができる。ハードウェアおよびソフトウェアのこの交換可能性を明確に示すために、さまざまな例示的なコンポーネント、ブロック、モジュール、およびステップを一般的にこれらの機能性に関して上記で説明した。このような機能性がハードウェアあるいはソフトウェアとして実現されるか否かは、特定の応用およびシステム全体に課せられた設計の制約に依存する。それぞれの特定の応用に対して方法を変化させて、説明した機能性を実現することができるが、このようなインプリメンテーション決定は、本開示の範囲からの逸脱を生じさせるものとして解釈すべきではない。
【0100】
ここで開示した実施形態に関連して説明した、さまざまな例示的な論理的ブロックおよびモジュールは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポーネント、あるいは、ここで説明した機能を実行するために設計されたこれらの何らかの組み合わせで、機械により、実現することができ、あるいは、実行することができる。汎用プロセッサはマイクロプロセッサとすることができるが、代替実施形態では、プロセッサは、制御装置、マイクロ制御装置、状態機械、または、これらの組み合わせ、あるいは、これらに類するものとすることができる。プロセッサはまた、コンピューティングデバイスの組み合わせとして、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアを備えた1つ以上のマイクロプロセッサ、あるいは、このようなコンフィギュレーションの他の何らかのものとして実現することができる。
【0101】
ここで開示した実施形態に関連して説明した方法、プロセスまたはアルゴリズムのステップは、直接、ハードウェアで、プロセッサにより実行されるソフトウェアモジュールで、あるいは、2つの組み合わせで具現化することができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーブバルディスク、CD−ROM、あるいは、技術的に知られている他の何らかの形態のコンピュータ読取可能記憶媒体に存在することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合することができる。代替実施形態では、記憶媒体はプロセッサと一体化することができる。プロセッサおよび記憶媒体は、ASICに存在することができる。ASICはユーザ端末に存在することができる。代替実施形態では、プロセッサおよび記憶媒体は、ユーザ端末中のディスクリートコンポーネントとして存在することができる。
【0102】
数ある中で、“できる”、“かもしれない”、“してもよい”、“例えば”、および、これらに類するもののような、ここで使用されている条件付きの言葉は、そうではないと特に述べられていない限り、または、そうでなければ、使用されているような文脈内で理解されない限り、一般的に、ある実施形態は、ある特徴、エレメントおよび/または状態を含む一方で、他の実施形態は、ある特徴、エレメントおよび/または状態を含まないことを伝えることを意図している。したがって、特徴、エレメント、および/または、状態が、どんな方法であれ、1つ以上の実施形態に対して必要とされていることを、あるいは、作者のインプットまたはプロンプティングの有無にかかわらず、これらの特徴、エレメント、および/または、状態が、何らかの特定の実施形態中に含まれているか否かを、もしくは、これらの特徴、エレメント、および/または、状態が、何らかの特定の実施形態中で実行されることになるか否かを決めるためのロジックを1つ以上の実施形態が必ず含んでいることを意味するように、このような条件付きの言葉は、一般的に意図していない。
【0103】
上記の詳細な説明は、さまざまな実施形態に適用されるような新規の特徴を示し、説明し、指摘したが、示されているデバイスまたはアルゴリズムの形態ならびに詳細において、本開示の精神から逸脱することなく、さまざまな省略、置換、および、変更を行うことができることが理解されるだろう。認識されるように、いくつかの特徴は、他のものとは別々に使用または実施することができるので、ここで説明されている本発明のある実施形態は、ここで述べた特徴および利益のすべてを提供しない形態内で具現化することができる。ここで開示したある発明の範囲は、先の説明によってではなく、添付の特許請求の範囲によって示されている。特許請求の範囲の均等物の意味および範囲内に入るすべての変更は、それらの範囲内に含まれるべきである。
【特許請求の範囲】
【請求項1】
オブジェクト指向オーディオストリームを発生させる方法において、
前記方法は、
オーディオストリーム中で送信するためのオーディオオブジェクトを選択し、前記オーディオオブジェクトは、オーディオ信号データおよびオブジェクトメタデータを含み、前記オブジェクトメタデータは、1つ以上のオブジェクト属性を含んでいることと、
前記オブジェクトメタデータを含むオブジェクトヘッダをアセンブリすることと、
前記オーディオ信号データを含むオーディオペイロードを提供することと、
1つ以上のプロセッサにより、前記オブジェクトヘッダと前記オーディオペイロードとを組み合わせて、前記オーディオストリームの一部分を少なくとも形成することと、
ネットワークを通して前記オーディオストリームを送信することとを含む方法。
【請求項2】
前記送信することは、前記ネットワークを通して、単一のストリームとして前記オーディオストリームを送信することを含む請求項1記載の方法。
【請求項3】
前記1つ以上のオブジェクト属性は、前記オーディオオブジェクトのロケーションと、前記オーディオオブジェクトの速度と、前記オーディオオブジェクトの遮蔽と、前記オーディオオブジェクトに関係する環境とのうちの少なくとも1つ以上を含む請求項1記載の方法。
【請求項4】
前記組み合わせることは、複数の可変長のフレームから前記オーディオストリームを形成することを含み、各フレームの長さは、前記各フレームに関係付けられているオブジェクトメタデータの量に少なくとも部分的に依存する請求項1記載の方法。
【請求項5】
前記ネットワークを通して前記オーディオストリームを送信する前に、前記オーディオストリームを圧縮することをさらに含む請求項1記載の方法。
【請求項6】
前記オーディオオブジェクトは、静的なオブジェクトを含む請求項1記載の方法。
【請求項7】
前記静的なオブジェクトは、オーディオのチャネルを表す請求項6記載の方法。
【請求項8】
前記オーディオストリーム中に動的なオーディオオブジェクトを配置することをさらに含み、前記動的なオーディオオブジェクトは、前記静的なオブジェクトを向上させるように構成されているエンハンスメントデータを含む請求項6記載の方法。
【請求項9】
前記オーディオストリーム中の冗長なオブジェクトメタデータを減少させることをさらに含む請求項1記載の方法。
【請求項10】
オブジェクト指向オーディオストリームを発生させるシステムにおいて、
前記システムは、
1つ以上のプロセッサ中で実現されるオブジェクト指向ストリーミングモジュールを具備し、
前記オブジェクト指向ストリーミングモジュールは、
サウンドソースを表すオーディオオブジェクトを選択し、前記オーディオオブジェクトは、オーディオ信号データおよびオブジェクトメタデータを含み、前記オブジェクトメタデータは、前記サウンドソースの1つ以上の属性を含んでいるようにと、
前記オーディオ信号データとともに前記オブジェクトメタデータをエンコードして、単一のオブジェクト指向オーディオストリームの一部分を少なくとも形成するようにと、
ネットワークを通して前記オブジェクト指向オーディオストリームを送信するように構成されているシステム。
【請求項11】
前記オブジェクト指向ストリーミングモジュールは、前記オブジェクト指向オーディオストリーム中に第2のオーディオオブジェクトを挿入するようにさらに構成され、前記第2のオーディオオブジェクトは、オーディオペイロードを持たず、第2のオブジェクトメタデータのみを含んでいる請求項10記載のシステム。
【請求項12】
前記第2のオーディオオブジェクトの前記第2のオブジェクトメタデータは、環境定義データを含んでいる請求項11記載のシステム。
【請求項13】
前記オブジェクト指向ストリーミングモジュールは、前記オブジェクトメタデータと前記オーディオ信号データのうちの1つまたは双方を少なくとも圧縮することにより、前記オーディオ信号データとともに前記オブジェクトメタデータをエンコードするようにさらに構成されている請求項10記載のシステム。
【請求項14】
前記サウンドソースの1つ以上の属性は、前記サウンドソースのロケーションを含む請求項10記載のシステム。
【請求項15】
前記サウンドソースのロケーションは、前記オーディオオブジェクトに関係付けられているビデオのカメラビューに関して決定される請求項14記載のシステム。
【請求項16】
前記サウンドソースの1つ以上の属性は、前記オーディオオブジェクトにより表されている前記サウンドソースのロケーションと、前記サウンドソースの速度と、前記サウンドソースの方向性と、前記サウンドソースの遮蔽と、前記サウンドソースに関係する環境とのうちの2つ以上を含む請求項10記載のシステム。
【請求項17】
前記オブジェクト指向ストリーミングモジュールは、前記オーディオストリーム中の冗長なオブジェクトメタデータを減少させるようにさらに構成されている請求項10記載のシステム。
【請求項1】
オブジェクト指向オーディオストリームを発生させる方法において、
前記方法は、
オーディオストリーム中で送信するためのオーディオオブジェクトを選択し、前記オーディオオブジェクトは、オーディオ信号データおよびオブジェクトメタデータを含み、前記オブジェクトメタデータは、1つ以上のオブジェクト属性を含んでいることと、
前記オブジェクトメタデータを含むオブジェクトヘッダをアセンブリすることと、
前記オーディオ信号データを含むオーディオペイロードを提供することと、
1つ以上のプロセッサにより、前記オブジェクトヘッダと前記オーディオペイロードとを組み合わせて、前記オーディオストリームの一部分を少なくとも形成することと、
ネットワークを通して前記オーディオストリームを送信することとを含む方法。
【請求項2】
前記送信することは、前記ネットワークを通して、単一のストリームとして前記オーディオストリームを送信することを含む請求項1記載の方法。
【請求項3】
前記1つ以上のオブジェクト属性は、前記オーディオオブジェクトのロケーションと、前記オーディオオブジェクトの速度と、前記オーディオオブジェクトの遮蔽と、前記オーディオオブジェクトに関係する環境とのうちの少なくとも1つ以上を含む請求項1記載の方法。
【請求項4】
前記組み合わせることは、複数の可変長のフレームから前記オーディオストリームを形成することを含み、各フレームの長さは、前記各フレームに関係付けられているオブジェクトメタデータの量に少なくとも部分的に依存する請求項1記載の方法。
【請求項5】
前記ネットワークを通して前記オーディオストリームを送信する前に、前記オーディオストリームを圧縮することをさらに含む請求項1記載の方法。
【請求項6】
前記オーディオオブジェクトは、静的なオブジェクトを含む請求項1記載の方法。
【請求項7】
前記静的なオブジェクトは、オーディオのチャネルを表す請求項6記載の方法。
【請求項8】
前記オーディオストリーム中に動的なオーディオオブジェクトを配置することをさらに含み、前記動的なオーディオオブジェクトは、前記静的なオブジェクトを向上させるように構成されているエンハンスメントデータを含む請求項6記載の方法。
【請求項9】
前記オーディオストリーム中の冗長なオブジェクトメタデータを減少させることをさらに含む請求項1記載の方法。
【請求項10】
オブジェクト指向オーディオストリームを発生させるシステムにおいて、
前記システムは、
1つ以上のプロセッサ中で実現されるオブジェクト指向ストリーミングモジュールを具備し、
前記オブジェクト指向ストリーミングモジュールは、
サウンドソースを表すオーディオオブジェクトを選択し、前記オーディオオブジェクトは、オーディオ信号データおよびオブジェクトメタデータを含み、前記オブジェクトメタデータは、前記サウンドソースの1つ以上の属性を含んでいるようにと、
前記オーディオ信号データとともに前記オブジェクトメタデータをエンコードして、単一のオブジェクト指向オーディオストリームの一部分を少なくとも形成するようにと、
ネットワークを通して前記オブジェクト指向オーディオストリームを送信するように構成されているシステム。
【請求項11】
前記オブジェクト指向ストリーミングモジュールは、前記オブジェクト指向オーディオストリーム中に第2のオーディオオブジェクトを挿入するようにさらに構成され、前記第2のオーディオオブジェクトは、オーディオペイロードを持たず、第2のオブジェクトメタデータのみを含んでいる請求項10記載のシステム。
【請求項12】
前記第2のオーディオオブジェクトの前記第2のオブジェクトメタデータは、環境定義データを含んでいる請求項11記載のシステム。
【請求項13】
前記オブジェクト指向ストリーミングモジュールは、前記オブジェクトメタデータと前記オーディオ信号データのうちの1つまたは双方を少なくとも圧縮することにより、前記オーディオ信号データとともに前記オブジェクトメタデータをエンコードするようにさらに構成されている請求項10記載のシステム。
【請求項14】
前記サウンドソースの1つ以上の属性は、前記サウンドソースのロケーションを含む請求項10記載のシステム。
【請求項15】
前記サウンドソースのロケーションは、前記オーディオオブジェクトに関係付けられているビデオのカメラビューに関して決定される請求項14記載のシステム。
【請求項16】
前記サウンドソースの1つ以上の属性は、前記オーディオオブジェクトにより表されている前記サウンドソースのロケーションと、前記サウンドソースの速度と、前記サウンドソースの方向性と、前記サウンドソースの遮蔽と、前記サウンドソースに関係する環境とのうちの2つ以上を含む請求項10記載のシステム。
【請求項17】
前記オブジェクト指向ストリーミングモジュールは、前記オーディオストリーム中の冗長なオブジェクトメタデータを減少させるようにさらに構成されている請求項10記載のシステム。
【図1A】
【図1B】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図1B】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公表番号】特表2013−502183(P2013−502183A)
【公表日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2012−524919(P2012−524919)
【出願日】平成22年8月13日(2010.8.13)
【国際出願番号】PCT/US2010/045530
【国際公開番号】WO2011/020065
【国際公開日】平成23年2月17日(2011.2.17)
【出願人】(500561300)エスアールエス・ラブス・インコーポレーテッド (10)
【氏名又は名称原語表記】SRS Labs,Inc.
【Fターム(参考)】
【公表日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願日】平成22年8月13日(2010.8.13)
【国際出願番号】PCT/US2010/045530
【国際公開番号】WO2011/020065
【国際公開日】平成23年2月17日(2011.2.17)
【出願人】(500561300)エスアールエス・ラブス・インコーポレーテッド (10)
【氏名又は名称原語表記】SRS Labs,Inc.
【Fターム(参考)】
[ Back to top ]