IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブームクラウド 360 インコーポレイテッドの特許一覧

特許7511638動的レンダリングデバイスメタデータ情報に基づいたオーディオエンハンスメントシステム
<>
  • 特許-動的レンダリングデバイスメタデータ情報に基づいたオーディオエンハンスメントシステム 図1
  • 特許-動的レンダリングデバイスメタデータ情報に基づいたオーディオエンハンスメントシステム 図2
  • 特許-動的レンダリングデバイスメタデータ情報に基づいたオーディオエンハンスメントシステム 図3
  • 特許-動的レンダリングデバイスメタデータ情報に基づいたオーディオエンハンスメントシステム 図4
  • 特許-動的レンダリングデバイスメタデータ情報に基づいたオーディオエンハンスメントシステム 図5
  • 特許-動的レンダリングデバイスメタデータ情報に基づいたオーディオエンハンスメントシステム 図6
  • 特許-動的レンダリングデバイスメタデータ情報に基づいたオーディオエンハンスメントシステム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-27
(45)【発行日】2024-07-05
(54)【発明の名称】動的レンダリングデバイスメタデータ情報に基づいたオーディオエンハンスメントシステム
(51)【国際特許分類】
   H04S 7/00 20060101AFI20240628BHJP
   H04S 1/00 20060101ALI20240628BHJP
【FI】
H04S7/00 300
H04S1/00 200
【請求項の数】 27
(21)【出願番号】P 2022527900
(86)(22)【出願日】2020-09-30
(65)【公表番号】
(43)【公表日】2023-02-01
(86)【国際出願番号】 US2020053660
(87)【国際公開番号】W WO2021096606
(87)【国際公開日】2021-05-20
【審査請求日】2022-07-13
(31)【優先権主張番号】62/936,327
(32)【優先日】2019-11-15
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/902,044
(32)【優先日】2020-06-15
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】518253875
【氏名又は名称】ブームクラウド 360 インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ザッカリー セルデス
(72)【発明者】
【氏名】ジョセフ アンソニー マリグリオ ザ サード
(72)【発明者】
【氏名】ポール ライカー
(72)【発明者】
【氏名】ダニエル エルワージ ロス
(72)【発明者】
【氏名】ラファエル アルバート メルガール
(72)【発明者】
【氏名】チュアン シュエ
【審査官】堀 洋介
(56)【参考文献】
【文献】特表2019-508978(JP,A)
【文献】特表2016-502345(JP,A)
【文献】特開2004-252279(JP,A)
【文献】特開2005-217559(JP,A)
【文献】特開2004-236192(JP,A)
【文献】米国特許出願公開第2019/0327559(US,A1)
【文献】特開2016-058798(JP,A)
【文献】米国特許出願公開第2015/0294675(US,A1)
【文献】米国特許出願公開第2018/0098151(US,A1)
【文献】米国特許出願公開第2016/0212532(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04S 1/00- 7/00
(57)【特許請求の範囲】
【請求項1】
オーディオ信号をエンハンスするための方法であって、デバイスの回路によって、
前記デバイスのオペレーティングシステムに問い合わせることにより、前記デバイスに関連付けられたオーディオレンダリングシステムのレンダリングシステム情報を決定することであって、前記レンダリングシステム情報は、前記デバイスと統合されている前記オーディオレンダリングシステムか、前記オーディオレンダリングシステムとの前記デバイスのワイヤード接続か、または前記オーディオレンダリングシステムとの前記デバイスのワイヤレス接続かを示す前記オーディオ信号の通信経路を表すデータを含む、ことと、
前記オーディオ信号の前記通信経路を表す前記データを用いてデータベースに問い合わせることと、
前記データベースに問い合わせることに応答してオーディオエンハンスメントを決定することであって、前記オーディオエンハンスメントは、前記データベースにおいて、前記オーディオ信号の前記通信経路を表す前記データに対応付けられている、ことと、
前記オーディオ信号に前記オーディオエンハンスメントを適用して、エンハンスされたオーディオ信号を生成することと、
前記オーディオレンダリングシステムに前記エンハンスされたオーディオ信号を提供することと
を備えることを特徴とする方法。
【請求項2】
前記データベースは前記デバイスにあることを特徴とする請求項1に記載の方法。
【請求項3】
前記データベースは、ネットワークを介して前記デバイスに接続されたリモートシステムにあることを特徴とする請求項1に記載の方法。
【請求項4】
前記レンダリングシステム情報は一意デバイス識別子を含むことを特徴とする請求項1に記載の方法。
【請求項5】
前記レンダリングシステム情報は、モデル識別子または製品識別子のうちの少なくとも1つを含むことを特徴とする請求項1に記載の方法。
【請求項6】
前記レンダリングシステム情報は、前記デバイスの位置または向きのうちの少なくとも1つを含むことを特徴とする請求項1に記載の方法。
【請求項7】
前記レンダリングシステム情報は、デバイスクラスを含むことを特徴とする請求項1に記載の方法。
【請求項8】
前記レンダリングシステム情報は、前記デバイスによって用いられるオーディオコーデックを含むことを特徴とする請求項1に記載の方法。
【請求項9】
前記レンダリングシステム情報は、前記オーディオ信号に関連付けられたアプリケーションを示すメタデータを含むことを特徴とする請求項1に記載の方法。
【請求項10】
前記レンダリングシステム情報は、製造業者情報を含むことを特徴とする請求項1に記載の方法。
【請求項11】
前記オーディオエンハンスメントは、前記オーディオ信号のサイドサブバンド成分およびミッドサブバンド成分をフィルタリングすることを含むことを特徴とする請求項1に記載の方法。
【請求項12】
前記オーディオエンハンスメントは、クロストーク処理を含むことを特徴とする請求項1に記載の方法。
【請求項13】
前記オーディオエンハンスメントは、フィルタ、時間遅延、またはゲインのうちの少なくとも1つを適用することにより、前記オーディオレンダリングシステムの左スピーカおよび右スピーカの間の非対称性を調整することを含むことを特徴とする請求項1に記載の方法。
【請求項14】
デバイスであって、
オーディオレンダリングシステムと、
前記デバイスのオペレーティングシステムに問い合わせることにより、前記デバイスに関連付けられたオーディオレンダリングシステムのレンダリングシステム情報を決定し、前記レンダリングシステム情報は、前記デバイスと統合されている前記オーディオレンダリングシステムか、前記オーディオレンダリングシステムとの前記デバイスのワイヤード接続か、または前記オーディオレンダリングシステムとの前記デバイスのワイヤレス接続かを示す、前記オーディオレンダリングシステムによってレンダリングされることになるオーディオ信号の通信経路を表すデータを含み、
前記オーディオ信号の前記通信経路を表す前記データを用いてデータベースに問い合わせ、
前記データベースに問い合わせることに応答してオーディオエンハンスメントを決定し、前記オーディオエンハンスメントは、前記データベースにおいて、前記オーディオ信号の前記通信経路を表す前記データに対応付けられており、
前記オーディオ信号に前記オーディオエンハンスメントを適用して、エンハンスされたオーディオ信号を生成し、
前記オーディオレンダリングシステムに前記エンハンスされたオーディオ信号を提供する
ように構成された回路と
を備えたことを特徴とするデバイス。
【請求項15】
前記データベースは前記デバイスにあることを特徴とする請求項14に記載のデバイス。
【請求項16】
前記データベースは、ネットワークを介して前記デバイスに接続されたリモートシステムにあることを特徴とする請求項14に記載のデバイス。
【請求項17】
前記レンダリングシステム情報は一意デバイス識別子を含むことを特徴とする請求項14に記載のデバイス。
【請求項18】
前記レンダリングシステム情報は、モデル識別子または製品識別子のうちの少なくとも1つを含むことを特徴とする請求項14に記載のデバイス。
【請求項19】
前記レンダリングシステム情報は、前記デバイスの位置または向きのうちの少なくとも1つを含むことを特徴とする請求項14に記載のデバイス。
【請求項20】
前記レンダリングシステム情報は、デバイスクラスを含むことを特徴とする請求項14に記載のデバイス。
【請求項21】
前記レンダリングシステム情報は、前記デバイスによって用いられるオーディオコーデックを含むことを特徴とする請求項14に記載のデバイス。
【請求項22】
前記レンダリングシステム情報は、前記オーディオ信号に関連付けられたアプリケーションを示すメタデータを含むことを特徴とする請求項14に記載のデバイス。
【請求項23】
前記レンダリングシステム情報は、製造業者情報を含むことを特徴とする請求項14に記載のデバイス。
【請求項24】
前記オーディオエンハンスメントは、前記オーディオ信号のサイドサブバンド成分およびミッドサブバンド成分をフィルタリングすることを含むことを特徴とする請求項14に記載のデバイス。
【請求項25】
前記オーディオエンハンスメントは、クロストーク処理を含むことを特徴とする請求項14に記載のデバイス。
【請求項26】
前記オーディオエンハンスメントは、フィルタ、時間遅延、またはゲインのうちの少なくとも1つを適用することにより、前記オーディオレンダリングシステムの左スピーカおよび右スピーカの間の非対称性を調整することを含むことを特徴とする請求項14に記載のデバイス。
【請求項27】
1つまたは複数のプロセッサによって実行されると、請求項1ないし13のいずれか一項に記載の方法を行うように前記1つまたは複数のプロセッサを構成する命令を格納することを特徴とする非一時的なコンピューター読取り可能媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、オーディオエンハンスメントに関し、より詳細には、デバイスメタデータ情報に基づいたオーディオエンハンスメントに関する。
【背景技術】
【0002】
関連出願の相互参照
本出願は、全体が参照によって組み込まれる、2019年11月15日に出願された米国仮出願第62/936327号、および2020年6月15日に出願された米国出願第16/902044号に基づく利益を主張する。
【0003】
オーディオレンダリングシステム(例えば、スピーカまたはヘッドホン)は、様々な能力および制限を有する、異なる特性を含み得る。例えば、異なるモバイルデバイス(例えば、スマートフォン)は、異なる数のスピーカを含み得る。スピーカは、スピーカの品質またはサイズに応じて、異なる周波数応答を含み得る。スピーカは、デバイス上の異なる場所にあり得、または異なる方向に向けられ得る。別の例では、スピーカは、それとともに製造された、システムオンチップ(system-on-chip:SoC)によって制限される、能力を有し得る。ユーザは、オーディオレンダリングシステムの特性に応じて、意図しない方法または望ましくない方法を含めて、オーディオコンテンツを相違して体験し得る。そのため、オーディオレンダリングシステムの相違を補償するように、オーディオコンテンツを調整することができることが望ましい。
【発明の概要】
【0004】
態様は、デバイスメタデータを使用する、オーディオエンハンスメントに関する。本明細書において説明されるオーディオエンハンスメントシステムは、オーディオエンハンスメントを適用することによって、エンハンスされたオーディオ信号をレンダリングし得、オーディオエンハンスメントは、オーディオ信号を出力するように構成された、デバイスまたはオーディオレンダリングシステムに固有である。オーディオエンハンスメントシステムは、デバイスのオペレーティングシステム(operating system:OS)に問い合わせてデバイス固有のエンハンスメントを決定することによって、エンハンスされたオーディオ信号のデバイス固有のレンダリングを提供することが可能である。いくつかの態様では、オーディオエンハンスメントシステムは、デバイス上に配置される。他の態様では、オーディオエンハンスメントシステムは、ネットワークを介してデバイス(例えば、クライアントデバイス)に接続された、サーバに配置される。
【0005】
いくつかの態様では、オーディオエンハンスメントシステムは、デバイスのOSに問い合わせることによって、デバイスと関連付けられたオーディオレンダリングシステムのレンダリングシステム情報を決定する。例えば、オーディオエンハンスメントシステムは、モバイルデバイス(例えば、モバイルホン)のOSに問い合わせて、モバイルデバイスの製造業者および現在の向きを決定する。オーディオエンハンスメントシステムは、レンダリングシステム情報に基づいて、オーディオ信号(例えば、エンハンスメント前に、デバイスと関連付けられたオーディオレンダリングシステムによって出力される信号)に対するオーディオエンハンスメントを決定し得る。例えば、オーディオエンハンスメントシステムは、オーディオ信号のサブバンド処理を伴う、オーディオエンハンスメントを決定し、サブバンド処理の特定の特性は、モバイルデバイスの特定の製造業者および現在の向きに対応付けられる。オーディオエンハンスメントシステムは、オーディオエンハンスメントをオーディオ信号に適用して、エンハンスされたオーディオ信号を生成することがある。例えば、オーディオエンハンスメントシステムは、エンハンスメント前に、モバイルデバイスが出力するように構成したオーディオ信号に、サブバンド処理を適用する。オーディオエンハンスメントシステムは、エンハンスされたオーディオ信号を、オーディオレンダリングシステムに提供し得る。例えば、オーディオエンハンスメントシステムが、モバイルデバイス上に配置される場合、エンハンスされた信号は、モバイルデバイスのバスまたは他の通信チャネルを通して、オーディオレンダリングシステムに送信され得る。別の例では、オーディオエンハンスメントシステムは、モバイルデバイスから遠隔にあるサーバ上に配置される場合、モバイルデバイスと関連付けられたオーディオレンダリングシステム(例えば、モバイルデバイスと一体化されたスピーカ、またはモバイルデバイスと通信可能に結合された1つもしくは複数のペリフェラルワイヤレススピーカもしくはペリフェラルワイヤードスピーカ)を通して再生されるように、エンハンスされた信号を、ワイヤレスネットワーク(例えば、セルラ通信ネットワーク、インターネットなど)を通して、モバイルデバイスに送信する。
【0006】
いくつかの態様は、デバイスを含む。デバイスは、オーディオレンダリングシステムと、オーディオ信号をエンハンスするように構成された回路とを含む。特に、回路は、デバイスと関連付けられたオーディオレンダリングシステムのレンダリングシステム情報を決定し、レンダリングシステム情報に基づいて、オーディオ信号に対するオーディオエンハンスメントを決定し、オーディオエンハンスメントをオーディオ信号に適用して、エンハンスされたオーディオ信号を生成し、エンハンスされたオーディオ信号を、オーディオレンダリングシステムに提供するよう構成される。
【0007】
いくつかの態様は、1つまたは複数のプロセッサによって実行されたとき、デバイスのオペレーティングシステムに問い合わせることによって、デバイスと関連付けられたオーディオレンダリングシステムのレンダリングシステム情報を決定し、レンダリングシステム情報に基づいて、オーディオ信号に対するオーディオエンハンスメントを決定し、オーディオエンハンスメントをオーディオ信号に適用して、エンハンスされたオーディオ信号を生成し、エンハンスされたオーディオ信号を、オーディオレンダリングシステムに提供するように、1つまたは複数のプロセッサを構成する命令を記憶する、非一時的コンピューター読取り可能媒体を含む。
【0008】
開示される態様は、詳細な説明、添付の特許請求の範囲、および添付の図面(または線画)から、よりただちに明らかになる、他の利点および特徴を有する。図面の簡単な紹介は、以下である。
【図面の簡単な説明】
【0009】
図1】少なくとも1つの態様に係るオーディオエンハンスメントシステムが動作する通信環境を例示するネットワーク図である。
図2】少なくとも1つの態様に係る図1のオーディオエンハンスメントシステムのブロック図である。
図3】少なくとも1つの態様に係るエンハンスされたオーディオ信号を提供するための処理のフローチャートである。
図4】少なくとも1つの態様に係るデバイスのビルトインオーディオレンダリングシステムを通してエンハンスされたオーディオ信号を提供するときにレンダリングシステム情報を決定するための処理のフローチャートである。
図5】少なくとも1つの態様に係るワイヤレス接続を通してデバイスに通信可能に結合されたオーディオレンダリングシステムを通してエンハンスされたオーディオ信号を提供するときにレンダリングシステム情報を決定するための処理のフローチャートである。
図6】少なくとも1つの態様に係るワイヤード接続を通してオーディオレンダリングシステムに通信可能に結合されたデバイスを通してエンハンスされたオーディオ信号を提供するときにレンダリングシステム情報を決定するための処理のフローチャートである。
図7】少なくとも1つの態様に係るコンピューターのブロック図である。
【発明を実施するための形態】
【0010】
図および以下の説明は、例示としてのみ、好ましい態様に関連する。以下の論考から、本明細書において開示される構造および方法の代替的な態様が、特許請求されるものの原理から逸脱することなく利用され得る、実行可能な代替として容易に認識されることが、留意されるべきである。
【0011】
今から、その例が添付の図において例示された、いくつかの態様に対する言及が、詳細に行われる。実行可能であれば常に、類似または同様の参照番号が、図において使用され得、類似または同様の機能性を示し得ることが留意される。図は、例示の目的でのみ、開示されるシステム(または方法)の態様を示す。当業者は、以下の説明から、本明細書において例示される構造および方法の代替的な態様が、本明細書において説明される原理から逸脱することなく利用され得ることを容易に認識する。
【0012】
例示的なオーディオエンハンスメントシステムアーキテクチャ
図1は、オーディオエンハンスメントシステム150がその中で動作する、通信環境100を例示するネットワーク図である。通信環境100は、ネットワーク110と、デバイス120、130、140、141と、オーディオエンハンスメントシステム150とを含む。代替的な構成では、異なるコンポーネント、および/または追加のコンポーネントが、通信環境100に含まれ得る。例えば、リモートデータベースは、示されていないが、デバイス120、130、または140のいずれかに関するオーディオレンダリングデータを取得するために、ネットワーク110を通して、オーディオエンハンスメントシステム150によってアクセスされ得る。いくつかの態様では、オーディオレンダリングデータを取得するためのデータベースは、(例えば、図2に示されるように)オーディオエンハンスメントシステム150の一部であり得る。
【0013】
ネットワーク110は、少なくとも1つのデバイス(例えば、デバイス120、デバイス130、およびデバイス140)、ならびにオーディオエンハンスメントシステム150と通信可能に結合される。ネットワーク110は、インターネット、ケーブルネットワーク、モバイルホンネットワーク、光ファイバネットワーク、または任意の適切なタイプの通信ネットワークを含む、1つまたは複数のネットワークであり得る。
【0014】
図1では、デバイス120、130、140とは別個のものとして(例えば、デバイスに結合されたリモートサーバ上に配置されるものとして)、示されているがオーディオエンハンスメントシステム150は、デバイス120、130、もしくは140、またはオーディオをレンダリングすることが可能な任意の適切なデバイスに組み込まれ得る。例えば、デバイス120は、本明細書において説明されるオーディオエンハンスメントシステム150によって実行されるように、オーディオを処理し、エンハンスする、ローカルオーディオエンハンスメントシステム151を用いて、アプリケーションを実行し得る。ソフトウェアモジュール(例えば、オペレーティングシステム問い合わせモジュール200)、およびデータベース(例えば、データベース210)など、オーディオエンハンスメントシステム150のコンポーネントのいくつかまたはすべては、デバイスに組み込まれ得る。
【0015】
デバイス120、130、140は、それぞれ、モバイルホン、ワイヤレススピーカ、およびスマートテレビである。デバイスは、モバイルホン、Bluetoothスピーカなどのワイヤレススピーカ(Bluetoothは、Bluetooth特別利益団体の商標である)、スマートウォッチ、ウェアラブルデバイス、仮想現実もしくは拡張現実デバイス、スマートグラス、ワイヤードもしくはワイヤレスヘッドホン、ワイヤードもしくはワイヤレススピーカ、スマートテレビ(TV)、ラップトップコンピューター、タブレットコンピューター、パーソナルコンピューター、ビデオゲームコンソール、または、オーディオコンテンツをレンダリングするためのオーディオレンダリングシステムを含む任意の適切な電子デバイスを含み得る。
【0016】
デバイス120、130、140の各々は、オーディオレンダリングシステムと関連付けられ得る。オーディオレンダリングシステムは、デバイス内に配置されるか、またはデバイスにペリフェラルに接続されるかのどちらかであり得る。例えば、モバイルホンは、スピーカを含む、ビルトインオーディオレンダリングシステムを有する。いくつかの態様では、オーディオレンダリングシステムは、別のデバイスにとってのペリフェラルデバイスであり得る。例えば、タブレットコンピューターは、オーディオ信号をBluetoothスピーカに転送するために、Bluetooth高度オーディオ配信プロファイル(A2DP)規格を使用することなどによって、Bluetoothスピーカを含む、オーディオレンダリングシステムと通信し得る。デバイスは、それらの接続を容易にするための、外部ネットワークルーティング機器を用いずに、別個のオーディオレンダリングシステムに結合され得る。例えば、デバイス120、すなわち、モバイルホンは、Wi-Fiルータ(Wi-Fiは、Wi-Fiアライアンスの商標)などの、ネットワーク110内に含まれる、ネットワークルーティング機器を用いずに、デバイス130、すなわち、ワイヤレススピーカと通信するために、それのビルトインBluetooth通信システムを使用し得る。例では、デバイス130が、デバイス120と関連付けられた、オーディオレンダリングシステムとして使用され、デバイス120のネイティブオーディオレンダリングシステムは、非アクティブである。別の例では、デバイス140、すなわち、スマートTVプラットフォームは、デバイス141への接続をサポートし得る(例えば、アナログオーディオジャック、ワイヤードUSB接続、またはBluetoothを通して、ワイヤードまたはワイヤレスヘッドホンをサポートし得る)。例では、デバイス141が、デバイス140と関連付けられた、オーディオレンダリングシステムとして使用され、デバイス140のネイティブオーディオレンダリングシステムは、非アクティブである。
【0017】
いくつかの態様では、デバイスと関連付けられたオーディオレンダリングシステムは、レンダリングシステム情報によって特徴付けられる。レンダリングシステム情報は、オーディオレンダリングシステムを含むデバイスの一意デバイス識別子、オーディオレンダリングシステムを含むデバイスのモデル識別子もしくは製品識別子、ユーザに対するデバイスもしくはオーディオレンダリングシステムの位置もしくは向き、オーディオレンダリングシステムを含むデバイスのデバイスクラス、オーディオレンダリングシステムに送信されるオーディオ信号の通信経路、デバイスによって使用されるオーディオコーデック、またはそれらの任意の適切な組み合わせなど、オーディオレンダリングシステムの音響特性を示す、様々なタイプのデータを含み得る。
【0018】
一意デバイス識別子は、特定のデバイスを識別する、識別子である。一意デバイス識別子は、デバイスシリアル番号、国際モバイル機器識別(IMEI)番号、または(例えば、Bluetoothスピーカデバイスのための)Bluetoothアドレスを含み得る。モデル識別子または製品識別子は、特定の製品を定義する。モデル識別子または製品識別子は、最小在庫管理単位(SKU)番号、製造業者ID(MID)、または製品名もしくはモデル名であり得る。ユーザに対するデバイスまたはオーディオレンダリングシステムの位置または向きは、ユーザが、(例えば、統合型スピーカを有する)デバイス、またはオーディオレンダリングシステムを、どのように置いたかを定義する。例えば、デバイス(例えば、スマートフォンまたはタブレット)は、ユーザがデバイスをどのように保持しているかに応じて、縦モードまたは横モードで動作し得、どのスピーカが左スピーカとして動作し、どのスピーカが右スピーカとして動作するかを変更し得る。別の例では、通話中のモバイルホンの向きは、オーディオコンテンツをレンダリングするために、どのスピーカが使用されているかを示し得る。オーディオレンダリングシステムのデバイスクラスは、モバイルホン、タブレット、パーソナルコンピューター、自動車、スピーカ、ヘッドホン、ウェアラブル、オーディオビジュアル(A/V)受信機、TV、サウンドバー、またはオーディオを出力することが可能なデバイスについての他の任意の適切なカテゴリなど、デバイスのカテゴリを定義する。オーディオ信号の通信経路は、オーディオコンテンツが、オーディオレンダリングシステムに、どのように送信されるかを定義する。通信経路は、デバイスと統合されたスピーカ、またはペリフェラルデバイスのスピーカを含み得る。通信経路は、モバイルホンもしくはタブレット上のビルトインスピーカを通るルート、Bluetooth A2DP上のワイヤレス通信(例えば、ワイヤレスストリーミング)、ミラーリングされたスクリーン間のWi-Fi対応ディスプレイなど、Wi-Fi上のワイヤレス通信、モバイルホンに接続されたワイヤードヘッドホンなど、アナログケーブル接続上の通信、高精細マルチメディアインターフェース(HDMI)上の通信(HDMIは、HDMIライセンス管理者インコーポレイテッドの商標)、または、モバイルホンに接続された他のケーブル接続タイプ上の通信を含み得る。オーディオコーデックは、オーディオコンテンツをエンコードまたはデコードする、デバイスによって使用されるプログラムを定義し、情報は、デバイスについての製造業者または他の情報を示し得る。
【0019】
オーディオエンハンスメントシステム150は、オーディオレンダリングシステムについてのレンダリングシステム情報を、デバイス120、130、140から受信し得る。いくつかの態様では、オーディオエンハンスメントシステム150は、受信されたレンダリングシステム情報を使用して、オーディオ信号に対するオーディオエンハンスメントを決定し、エンハンスされたオーディオ信号を生成するために、オーディオエンハンスメントをオーディオ信号に適用し、エンハンスされたオーディオ信号を、デバイス120、130、または140と関連付けられたオーディオレンダリングシステムに提供する。オーディオエンハンスメントシステム150は、本明細書において論じられる様々な動作を実行する、ソフトウェアモジュールを実行するように構成された、処理回路を含み得る。いくつかの態様では、オーディオエンハンスメントシステム150は、オーディオレンダリングシステムに固有のオーディオエンハンスメントを決定するための、少なくとも1つのデータベース(例えば、レンダリングシステム情報を定義されたオーディオエンハンスメントに対応付ける、データベース)を維持する。いくつかの態様では、オーディオエンハンスメントを決定するためのデータベースは、ネットワーク(例えば、ネットワーク110)上においてアクセス可能であり、オーディオエンハンスメントシステム150によってローカルに記憶されない、オンラインデータベースであり得る。オーディオエンハンスメントシステム150は、図2の説明において、さらに説明される。
【0020】
オーディオエンハンスメントシステム
図2は、図1のオーディオエンハンスメントシステム150のブロック図である。オーディオエンハンスメントシステム150は、複数のソフトウェアモジュール、すなわち、オペレーティングシステム問い合わせモジュール200と、オーディオエンハンサ220と、エンハンスト信号コミュニケータ230とを含む。オーディオエンハンスメントシステム150は、レンダリングシステム情報とオーディオエンハンスメント構成との間の関連付けを記憶する、オーディオエンハンスメントデータベース210をさらに含む。
【0021】
オペレーティングシステム問い合わせモジュール200は、デバイスのOSに問い合わせることによって、デバイスと関連付けられたオーディオレンダリングシステムのレンダリングシステム情報を決定するように構成される。デバイスのオペレーティングシステムは、デバイスと、デバイスと関連付けられたオーディオレンダリングシステムとを操作し、したがって、オペレーティングシステムは、本明細書で論じられる1つまたは複数のタイプのレンダリングシステム情報を認識し得る。オペレーティングシステム問い合わせモジュール200は、デバイスのOSに問い合わせ、次に、デバイスのOSが、レンダリングシステム情報を取得し、レンダリングシステム情報を、オペレーティングシステム問い合わせモジュール200に提供する。オペレーティングシステム問い合わせモジュール200は、レンダリングシステム情報を、オーディオエンハンサ220に出力し得る。いくつかの態様では、オペレーティングシステム問い合わせモジュール200は、異なるタイプのレンダリングシステム情報を問い合わせるための、ソフトウェアサブモジュールを含み得る。一例では、オペレーティングシステム問い合わせモジュール200は、スマートTVプラットフォームがHDMIを介して通信可能に結合されるTVモニタのための拡張ディスプレイ識別データ(EDID)について、スマートTVプラットフォームのOSに問い合わせる。本明細書において言及される場合、「スマートTVプラットフォーム」とは、標準的なTVセットのコンポーネントに通信可能に結合されたときに、メディアの記憶、再生、または視聴を容易にするように構成されたマイクロコンソール(例えば、セットトップボックス、デジタルメディアプレーヤ、またはストリーミングボックス)のことである。別の例では、オペレーティングシステム問い合わせモジュール200は、Android OSのBluetoothClassDeviceクラス(Androidは、Google LLCの商標である)アプリケーションプログラミングインターフェース(API)を使用して、モバイルホンに通信可能に結合されたBluetoothスピーカのデバイスクラス情報について、モバイルホンのOSに問い合わせる。
【0022】
例えば、オペレーティングシステム問い合わせモジュール200は、デバイスの一意デバイス識別子、またはオーディオレンダリングシステムの任意の適切な一意識別子を決定するために、デバイスのOSに問い合わせる。例えば、オペレーティングシステム問い合わせモジュール200は、モバイルホンの一意的な15桁のIMEI番号を決定するために、モバイルホンのOSに問い合わせる。別の例では、オペレーティングシステム問い合わせモジュール200は、スピーカのBluetoothスピーカアドレスを決定するために、Bluetoothスピーカと通信可能に結合された、モバイルホンのOSに問い合わせる。別の例では、オペレーティングシステム問い合わせモジュール200は、車両のスピーカのための一意デバイス識別子を決定するために、車両のオーディオレンダリングシステムと通信可能に結合された、モバイルホンのOSに問い合わせる。
【0023】
オペレーティングシステム問い合わせモジュール200は、デバイス内のオーディオ信号の通信経路を決定するために、デバイスのOSに問い合わせる。例えば、オペレーティングシステム問い合わせモジュール200は、オーディオが、代替的な通信経路である、ヘッドホンジャックを介して接続されたヘッドホンを通して、転送出力されるのではなく、モバイルホン上のビルトインスピーカを通して、転送出力されると決定するために、モバイルホンのOSに問い合わせる。別の例では、オペレーティングシステム問い合わせモジュール200は、オーディオが、BluetoothA2DP上において、Bluetoothスピーカに伝達されると決定するために、1対のBluetoothスピーカと通信可能に結合された、モバイルホンのOSに問い合わせる。追加の例として、オペレーティングシステム問い合わせモジュール200は、オーディオが、モバイルホンと車両のオーディオシステムとの間の接続(例えば、ユニバーサルシリアルバス(USB)ワイヤード接続、またはBluetoothワイヤレス接続)上において、伝達されると決定するために、車両のオーディオシステムと通信可能に結合された、モバイルホンのOSに問い合わせる。
【0024】
オペレーティングシステム問い合わせモジュール200は、デバイスのユースケース情報を決定するために、デバイスのOSに問い合わせる。本明細書で言及される場合、「ユースケース情報」とは、アクティブな通信経路についてのメタデータのことであり、メタデータは、オーディオ信号と関連付けられたアプリケーションを示す。例えば、ユースケース情報は、特定の通信経路上のオーディオ信号が、電話コール、音楽再生、ビデオ再生、ゲーム、またはデバイスからのオーディオの出力と同時にデバイスによって実行される、他の任意の適切なアプリケーションのためのものであることを示すことができる。加えて、ユースケース情報は、オーディオ信号がそれのために使用されるアプリケーションのオーディオ能力(例えば、2ch、または5.1サラウンドサウンド)を示すことができる。
【0025】
オペレーティングシステム問い合わせモジュール200は、デバイスのSKUなど、モデル識別子または製品識別子を決定するために、デバイスのOSに問い合わせる。例えば、オペレーティングシステム問い合わせモジュール200は、モバイルホンのSKU番号が、6323532であると決定するために、モバイルホンのOSに問い合わせる。いくつかの態様では、オペレーティングシステム問い合わせモジュール200は、追加的または代替的に、MIDまたは製品名など、SKU番号以外のモデルまたは製品識別子について、デバイスに問い合わせる。例えば、オペレーティングシステム問い合わせモジュール200は、Bluetoothスピーカの製品名を決定するために、1対のBluetoothスピーカと通信可能に結合された、モバイルホンのOSに問い合わせる。追加の例として、オペレーティングシステム問い合わせモジュール200は、車両のオーディオ機器のMIDを決定するために、車両のオーディオシステムと通信可能に結合された、モバイルホンのOSに問い合わせる。
【0026】
オペレーティングシステム問い合わせモジュール200は、デバイスまたは(例えば、デバイスから分離しているときの)オーディオレンダリングシステムの位置または向きを識別するために、デバイスのOSに問い合わせる。例えば、オペレーティングシステム問い合わせモジュール200は、モバイルホンが、(例えば、デバイスが、それの幅ではなく、それの長さに沿って寝かされた)横向き、または縦向きにおいて、90度の方向に向けられていると決定するために、モバイルホンのOSに問い合わせる。いくつかの態様では、デバイスは、デバイスの位置または向きに対するユーザの位置を決定するために使用されることができる、センサ(例えば、カメラ)をさらに含み得る。
【0027】
オペレーティングシステム問い合わせモジュール200は、デバイスが属するクラス(例えば、モバイルホン、タブレット、パーソナルコンピューター、自動車など)を決定するために、デバイスのOSに問い合わせる。例えば、オペレーティングシステム問い合わせモジュール200は、電話が、モバイルホンクラスに属すると決定するために、モバイルホンのOSに問い合わせる。別の例では、オペレーティングシステム問い合わせモジュール200は、デバイスが、スピーカデバイスクラス(例えば、ヘッドホン、自動車などではなく、ラウドスピーカ)に属すると決定するために、Bluetoothデバイスと通信可能に結合された、モバイルホンのOSに問い合わせる。追加の例として、オペレーティングシステム問い合わせモジュール200は、オーディオレンダリングシステムが、自動車デバイスクラスに属すると決定するために、車両のオーディオレンダリングシステムと通信可能に結合された、モバイルホンのOSに問い合わせる。
【0028】
オペレーティングシステム問い合わせモジュール200は、デバイスによって使用されるオーディオコーデックを決定するために、デバイスのOSに問い合わせる。オーディオコーデックは、デバイスの製造業者を示し、またはさもなければ、デバイスを識別し得る。例えば、オペレーティングシステム問い合わせモジュール200は、サポートされるコーデックが、Qualcomm AptXコーデックなど、特定のプロプライエタリオーディオコーデックを含むので、電話の製造業者は、第1の製造業者であると決定するために、モバイルホンのOSに問い合わせる。別の例では、オペレーティングシステム問い合わせモジュール200は、サポートされるコーデックが、ソニーLDACコーデックなど、特定のプロプライエタリオーディオコーデックを含むので、スピーカは、第2の製造業者によって製造されたものであると決定するために、1対のBluetoothスピーカと通信可能に結合された、モバイルホンのOSに問い合わせる。追加の例として、オペレーティングシステム問い合わせモジュール200は、サポートされるコーデックが、特定のプロプライエタリオーディオコーデックとAACコーデックの2つのバージョンであるので、オーディオレンダリングシステムは、第3の製造業者によって製造されたものであると決定するために、車両のオーディオレンダリングシステムと通信可能に結合された、モバイルホンのOSに問い合わせる。
【0029】
オーディオエンハンスメントデータベース210は、オーディオレンダリングシステム情報とオーディオエンハンスメントとの間の関連付けを記憶する。例えば、オーディオエンハンスメントデータベース210は、一意デバイス識別子のリストの、それぞれのオーディオエンハンスメントまたは最適化への対応付けを含む。本明細書において言及される場合、オーディオエンハンスメントまたは最適化は、オーディオレンダリングシステムの機能性を向上させる、任意の変更を含む。例えば、オーディオエンハンスメントデータベース210は、モバイルホンのIMEI番号、および/またはBluetoothスピーカアドレスの、それぞれの事前決定されたオーディオエンハンスメントへの対応付けを含む。追加の例として、オーディオエンハンスメントデータベース210は、車両のオーディオレンダリングシステムのためのシリアル番号-製造業者ペアリングの、(例えば、エンジンによって発生させられる一定のハミングノイズに対する)ノイズキャンセレーションなど、事前決定されたオーディオエンハンスメントへの対応付けを含む。追加の例では、オーディオエンハンサ220は、オーディオレンダリングシステムの一意デバイス識別子に基づいて、デバイスタイプまたは製造業者名を決定し、シリアル番号-製造業者ペアリングを使用して、データベース(例えば、オーディオエンハンスメントデータベース210)から、対応付けられたオーディオエンハンスメントを取得するために、デバイスタイプまたは製造業者名を使用する。
【0030】
その対応付けを通して、オーディオエンハンスメントシステム150は、複数のデバイスにわたって、ユーザ指定のオーディオエンハンスメントプリファレンスを伝え得る。例えば、オーディオエンハンスメントシステム150は、ユーザによって指定されたエンハンスメントを、特定のモバイルホン上に記録し、ユーザが、セルラホンキャリアを変更した後、または新しい電話を獲得した後、それらのオーディオエンハンスメントを移転させ得る。別の例では、ユーザは、同じモデルの2つの異なるBluetoothヘッドホンに対して、オーディオエンハンスメントをカスタマイズすることができ、オーディオエンハンスメントシステム150は、各ヘッドホンが、それ自身のカスタマイズされた対応付けを保持することを可能にする。
【0031】
オーディオエンハンスメントデータベース210は、通信経路のリストの、それぞれのオーディオエンハンスメントへの対応付けを含む。オーディオエンハンスメントは、サブバンド空間処理、クロストーク処理(例えば、クロストークキャンセレーションまたはクロストークシミュレーション)、クロストーク処理によって引き起こされたアーティファクトに対するクロストーク補償、左右スピーカの間の非対称性を調整するためのBチェーン処理など、オーディオ信号の空間特性のエンハンスメントを含み得る。オーディオエンハンスメントは、イコライゼーション、シングルバンドおよびマルチバンドダイナミクス処理(すなわち、圧縮、拡張など)、音響心理学的な低音強化、ならびに他の形態の線形および非線形オーディオ信号処理技法など、オーディオ信号の他の形態のエンハンスメントを含み得る。サブバンド空間処理は、オーディオ信号のサイドサブバンド成分およびミッドサブバンド成分をフィルタリングすることを含み得る。各ミッドおよびサイドサブバンド成分に対するフィルタの特性(例えば、適用ゲイン、時間遅延、周波数応答など)は、オーディオレンダリングシステム情報に基づいて、変化し得る。クロストークキャンセレーションは、クロストークの影響を除去するために、ラウドスピーカを含むオーディオレンダリングシステムに対して、使用され得る。クロストークシミュレーションは、ラウドスピーカリスニング体験をシミュレートするための、クロストーク効果を追加するために、ヘッドホンを含むオーディオレンダリングシステムに対して、使用され得る。クロストーク処理を提供する、オーディオエンハンスメントは、オーディオレンダリングシステム情報に基づいて、左または右チャンネルに適用される、異なるゲイン、時間遅延、および周波数応答を含み得る。クロストーク補償は、クロストーク処理によって引き起こされたスペクトル不良を補償し、したがって、(例えば、左、右、ミッド、またはサイドチャンネルに適用される)フィルタの周波数応答は、レンダリングシステム情報の相違、およびレンダリングシステム情報に基づいて適用されるクロストーク処理に基づいて、変化する。Bチェーン処理は、スピーカに提供される1つまたは複数のチャンネルに、フィルタ、時間遅延、またはゲインのうちの少なくとも1つを適用することによって、(例えば、周波数応答、リスナまでの距離、出力方向などに関する)左右スピーカの間の非対称性を調整する。Bチェーン処理において使用されるフィルタ、時間遅延、またはゲインは、異なるオーディオレンダリングシステム情報に基づいて、変化し得る。他のタイプのオーディオエンハンスメントは、制限または圧縮、オーディオホログラフィなどを含み得る。さらに、複数のタイプのオーディオエンハンスメントの組み合わせが、レンダリングシステム情報に基づいて、使用され得る。使用されるオーディオエンハンスメントのタイプ、およびオーディオエンハンスメントの特性は、オーディオレンダリングシステム情報に基づいて、変化し得る。
【0032】
オーディオエンハンスメントデータベース210は、モバイルホン上のビルトインスピーカを通して、Bluetooth A2DPを通して、および/またはケーブル接続(例えば、USBケーブル)を通して伝達されるオーディオの、それぞれの事前決定されたオーディオエンハンスメントへの対応付けを含む。
【0033】
オーディオエンハンスメントデータベース210は、デバイスモデルまたは製品識別子(例えば、SKU番号)のリストの、それぞれのオーディオエンハンスメントへの対応付けを含む。例えば、オーディオエンハンスメントデータベース210は、モバイルホンモデルについてのモバイルホン製造業者の製造識別子を、事前決定されたオーディオエンハンスメントに対応付けることを含む。別の例では、オーディオエンハンスメントデータベース210は、1対のBluetoothスピーカの製品名の、事前決定されたオーディオエンハンスメントへの対応付けを含む。追加の例として、オーディオエンハンスメントデータベース210は、車両のオーディオ機器のMIDの、事前決定されたオーディオエンハンスメントへの対応付けを含む。
【0034】
オーディオエンハンスメントデータベース210は、デバイスの向きまたは位置のリストの、それぞれのオーディオエンハンスメントへの対応付けを含む。例えば、オーディオエンハンスメントデータベース210は、0度の向きの、事前決定されたオーディオエンハンスメントへの対応付けを含む。
【0035】
オーディオエンハンスメントデータベース210は、デバイスがカテゴライズされ得るクラスのリストの、対応付けられたオーディオエンハンスメントへの対応付けを含む。例えば、オーディオエンハンスメントデータベース210は、モバイルホンクラス、モバイルタブレットクラス、スピーカクラス、ヘッドホンクラス、TVクラス、ラップトップPCクラス、および/または自動車クラスの、それぞれの事前決定されたオーディオエンハンスメントへの対応付けを含む。
【0036】
オーディオエンハンスメントデータベース210は、オーディオコーデックのリストの、それぞれのオーディオエンハンスメントへの対応付けを含む。例えば、オーディオエンハンスメントデータベース210は、サポートされるプロプライエタリオーディオコーデックおよびSBCコーデックの、第1の製造業者への対応付けを含む。別の例では、オーディオエンハンスメントデータベース210は、サポートされるAACおよびSBCコーデックの、第2の製造業者への対応付けを含む。追加の例として、オーディオエンハンスメントデータベース210は、サポートされるプロプライエタリオーディオコーデックおよびAACコーデックの、第3の製造業者への対応付けを含む。別の例では、デバイスによって使用されるオーディオコーデックは、特定のデバイス、デバイスタイプ、製造業者、または他のいくつかのオーディオレンダリングシステム情報を決定するために、使用され得、それらは、その後、オーディオエンハンスメントデータベース210に問い合わせて、オーディオエンハンスメントを決定するために、使用される。
【0037】
オーディオエンハンサ220は、各デバイスのオーディオレンダリングシステム(例えば、ビルトインスピーカまたはペリフェラルスピーカ)に基づいて、デバイス固有のオーディオエンハンスメントを適応的に適用する。いくつかの態様では、オーディオエンハンサ220は、オペレーティングシステム問い合わせモジュール200によって決定された、レンダリングシステム情報を受信し、オーディオエンハンスメントデータベース210に問い合わせることによって、オーディオエンハンスメントを決定する。オーディオエンハンサ220は、他のタイプのオーディオレンダリングシステム情報を決定するために、OSから受信されたオーディオレンダリングシステム情報を使用し、決定されたオーディオレンダリングシステム情報を使用して、オーディオエンハンスメントデータベース210に問い合わせるようにさらに構成され得る。例えば、オーディオエンハンサ220は、「モバイルホン」のデバイスクラスと、「横」における90度の向きとを受信し、オーディオエンハンスメントデータベース210内の対応付けられたオーディオエンハンスメントから、オーディオエンハンスメントを決定する。いくつかの態様では、オーディオエンハンサ220は、オペレーティングシステム問い合わせモジュール200から、決定された対応付けられたオーディオエンハンスメント設定を受信する。例えば、オーディオエンハンサ220は、「モバイルホン」クラスおよび「横」向きに対する、オーディオエンハンスメント構成を受信する。いくつかの態様では、適用されるオーディオエンハンスメントは、オーディオエンハンスメントを決定するために、複数のタイプのレンダリングシステム情報を組み合わせる。例えば、90度に向き付けられ、非対称に置かれたラウドスピーカを有するモバイルホンに対するオーディオエンハンスメントは、90度に向き付けられ、対称に置かれたラウドスピーカを有するモバイルホンに対するオーディオエンハンスメントのとは異なる。いくつかの態様では、オーディオエンハンサ220は、デバイスから、エンハンスされていない出力信号(例えば、デバイスが、オーディオエンハンスメントなしに、それのオーディオレンダリングシステムを通して出力する信号)を受信し、デバイス固有のオーディオエンハンスメントを、受信された信号に適用する。例えば、オーディオエンハンサ220は、エンハンスされていない出力信号を出力する代わりに、デバイス130が、デバイス120上のオーディオエンハンスメントシステム151によって送信された、エンハンスされたオーディオ信号を出力するように、デバイス120から、オーディオ信号を受信する。オーディオエンハンサ220は、エンハンスメント構成モジュール221、およびデジタル信号プロセッサ222などの、サブモジュールを含む。
【0038】
エンハンスメント構成モジュール221は、オペレーティングシステム問い合わせモジュール200から受信された、レンダリングシステム情報に基づいて、デバイス固有のオーディオエンハンスメントを決定する。いくつかの態様では、エンハンスメント構成モジュール221は、汎用対応付けと、汎用対応付けと関連付けられたカスタマイズされた対応付けの両方を決定する。汎用対応付けは、汎用デバイスクラスまたはSKU対応付けであり得、その各々は、他のデータ(例えば、デバイスの向き)に基づいて、追加のカスタマイズされた対応付けを指定し得る。追加のカスタマイズは、それぞれの対応付け(例えば、汎用対応付け)と関連付けられたサブ対応付けとして、オーディオエンハンスメントデータベース210内に記憶され得る。加えて、または代替として、追加のカスタマイズは、手続き的に(例えば、問い合わせされたオーディオレンダリングシステム情報のif-then分析に基づいて)、導出され得る。例えば、オペレーティングシステム問い合わせモジュール200は、スピーカのSKUを取得するために、Bluetoothスピーカにワイヤレスに結合された、モバイルホンに問い合わせる。オーディオエンハンサ220は、その後、取得されたSKU情報に対して適切な対応付けを決定し得る。オペレーティングシステム問い合わせモジュール200は、さらに、ユースケース情報のために、モバイルホン上の現在アクティブな通信経路についてのメタデータ属性について、モバイルホンに問い合わせることができ、オーディオエンハンサ220は、さらに、取得されたユースケース情報に基づいて、カスタマイズされた対応付けを決定し得る。
【0039】
いくつかの態様では、エンハンスメント構成モジュール221は、複数の対応付けられたオーディオエンハンスメントを決定し、(ただ1つの対応付けられたオーディオエンハンスメントから利用可能な解像度と比較して)より大きい解像度の識別情報を考慮した、組み合わされたオーディオエンハンスメントを決定する。例えば、エンハンスメント構成モジュール221は、1対のBluetoothスピーカの一意デバイス識別子についての、スピーカのそのモデルに固有のクロストークキャンセレーションのためのオーディオエンハンスメントに相当する、第1のオーディオエンハンスメントを決定し、現在のユースケース情報(例えば、オーディオ信号がゲームによって生成されたことを示すメタデータ)に適した、第2のオーディオエンハンスメントを決定する。2つのタイプのオーディオエンハンスメントを決定することに応答して、エンハンスメント構成モジュール221は、第1および第2のオーディオエンハンスメントを含む、組み合わされたオーディオエンハンスメントを決定する。組み合わされたオーディオエンハンスメントは、複数のレンダリングシステム情報データポイント(例えば、スピーカモデルと、ユースケース情報の両方)を含む、識別情報の解像度を考慮する。エンハンスメント構成モジュール211は、複数のオーディオエンハンスメントを適用する順序を決定し得る。いくつかの態様では、オーディオエンハンスメントは、並列、直列、またはそれらの適切な組み合わせで、組み合わされ得る。例えば、2chサウンドシステムを介して出力されると決定された、2chオーディオ信号については、エンハンスメント構成モジュール221は、最初に、元の2chオーディオ信号から、ステレオ信号のミッド(すなわち、非空間)コンポーネントのバンドパスされたバージョンから作成された第3のチャンネルを抽出するための処理を適用し、次に、クロストークキャンセレーションおよび音響心理学的な低音強化を、直列に、元のステレオ信号に適用しながら、並行して、(例えば、改善されたダイアログ/スピーチ理解度を可能にするために)イコライゼーションおよび圧縮を、第3のチャンネルに適用し、最後に、エンハンスされた第3のチャンネルを、エンハンスされた元のステレオ信号に戻してミックスし得る。
【0040】
デジタル信号プロセッサ222は、エンハンスメント構成モジュール221によって決定されたオーディオエンハンスメントを、オーディオ信号に適用する。利用可能性、識別情報の解像度、および/またはオーディオレンダリングユースケースに応じて、デジタル信号プロセッサ222は、様々な異なる手続き的手法を、オーディオ信号のオーディオ最適化に適用し得る。
【0041】
エンハンスト信号コミュニケータ230は、オーディオエンハンサ220によって出力された、エンハンスされたオーディオ信号を受信し、それを、オーディオ信号を出力するように構成されたデバイスに送信する。例えば、エンハンスト信号コミュニケータ230は、デバイスはビルトインスピーカを含む通信経路を有するモバイルホンであるという、オペレーティングシステム問い合わせモジュール200による決定に基づいてエンハンスされた、エンハンスされた信号を、オーディオエンハンサ220から受信する。エンハンスト信号コミュニケータ230は、その後、ビルトインスピーカから出力するために、エンハンスされた信号を、モバイルホンに送信し得る。別の例では、エンハンスト信号コミュニケータ230は、デバイスはBluetoothスピーカのオーディオレンダリングシステムに通信可能に結合されたモバイルホンであるという、オペレーティングシステム問い合わせモジュール200による決定に基づいてエンハンスされた信号を、オーディオエンハンサ220から受信する。エンハンスト信号コミュニケータ230は、その後、さらにスピーカに送信するために、エンハンスされた信号を、モバイルホンに送信し得る。追加の例として、エンハンスト信号コミュニケータ230は、デバイスが移動中の車両内のスピーカであり、スピーカは、スピーカによって再生されるオーディオのソースであるモバイルホンに通信可能に結合されるという、オペレーティングシステム問い合わせモジュール200による決定に基づいてエンハンスされた、エンハンスされた信号を、オーディオエンハンサ220から受信する。エンハンスト信号コミュニケータ230は、その後、(例えば、ワイヤードUSB接続を通して)さらに車両のスピーカに送信するために、エンハンスされた信号を、モバイルホンに送信し得る。オーディオエンハンスメントシステム151が、デバイス120の一部であるときなど、いくつかの態様では、エンハンスト信号コミュニケータ230は、省かれ得る。
【0042】
オーディオエンハンスメントシステム150のクライアント-サーバ構成では、オーディオエンハンスメントシステム150の様々なコンポーネントは、デバイス上に配置され得る。例えば、オペレーティングシステム問い合わせモジュール200は、デバイス上に配置され得(例えば、オーディオエンハンスメントシステム151内に含まれ)、デバイスは、オーディオシステムレンダリング情報を、サーバ上のオーディオエンハンスメントシステム150に提供し得る。サーバ上のオーディオエンハンスメントシステム150は、オーディオシステムレンダリング情報に基づいて、オーディオエンハンスメントを決定し、オーディオエンハンスメントを、デバイスに提供し得る。デバイスは、オーディオエンハンスメントを使用して、エンハンスされたオーディオ信号を生成し得る。例では、オーディオエンハンサ220と、オペレーティングシステム問い合わせモジュール200は、デバイス上に配置される。
【0043】
オーディオエンハンスメントシステム動作のためのプロセス
図3は、エンハンスされたオーディオ信号を提供するためのプロセス300のフローチャートである。いくつかの態様では、オーディオエンハンスメントシステム150は、プロセス300のステップを、並行して実行し、異なる順序で実行し、または異なるステップを実行する。例えば、図示されていないが、オーディオエンハンスメントシステム150は、プロセス300における追加のステップとして、オーディオエンハンスメントを適用するオーディオ信号を受信し得る。別の例では、プロセス300は、310においてオーディオエンハンスメントを決定することを繰り返し、決定されたオーディオエンハンスメントを組み合わせる追加のステップを含み得、組み合わされたエンハンスメントは、315において、オーディオ信号に適用される。
【0044】
オーディオエンハンスメントシステム150は、305において、デバイスと関連付けられたオーディオレンダリングシステムのレンダリングシステム情報を決定する。いくつかの態様では、オペレーティングシステム問い合わせモジュール200は、レンダリングシステム情報について、オーディオレンダリングシステムに結合されたデバイスのオペレーティングシステムに問い合わせる。例えば、オペレーティングシステム問い合わせモジュール200は、デバイスのモデル名、オーディオ信号の通信経路、電話の物理的な向きもしくは位置、および/またはデバイスのクラス(例えば、モバイルホン、タブレットなど)など、レンダリングシステム情報を取得するために、デバイス120のOSに問い合わせる。問い合わせは、成功することもあり、または成功しないこともある。例えば、オペレーティングシステム問い合わせモジュール200が、デバイスの向き、モデル名、通信経路、およびデバイスクラスを受信した場合、オーディオエンハンスメントシステム150は、デバイス120の現在の状態に対して最も適切なオーディオエンハンスメントを決定するために、レンダリングシステム情報のいくつかまたはすべてを使用し得る。あるいは、オペレーティングシステム問い合わせモジュール200が、デバイスの向きを受信しない場合、オーディオエンハンスメントシステム150は、デバイスの向きを考慮せず、代わりに、モデル名、通信経路、およびデバイスクラスなど、それが受信した情報を使用して、オーディオエンハンスメントを決定し得る。
【0045】
オーディオエンハンスメントシステム150は、310において、レンダリングシステム情報に基づいて、オーディオ信号に対するオーディオエンハンスメントを決定する。いくつかの態様では、オーディオエンハンサ220は、オペレーティングシステム問い合わせモジュール200によって305において決定された利用可能な情報に対して、適切なオーディオエンハンスメントを決定する。例えば、エンハンスメント構成モジュール221は、利用可能なレンダリングシステム情報の組み合わせに対して適切なオーディオエンハンスメントを決定するために、オーディオエンハンスメントデータベース210に問い合わせる。一例では、レンダリングシステム情報は、モデル名、ビルトインスピーカを通して転送されるオーディオを含む通信経路、モバイルホンデバイスクラス、および90度の向きを含み得る。情報は、エンハンスメント構成モジュール221に、電話の異なるエリアに配置された、電話上の2つのスピーカを利用することを含む、オーディオエンハンスメントを決定させ得る。例えば、サラウンドサウンドスピーカを最適にシミュレートするために、オーディオ信号に適用される特定のクロストークキャンセレーション設定を決定するオーディオエンハンスメントを考慮する、互いに関するスピーカの位置を含む決定された向き。利用可能なレンダリングシステム情報が、デバイスの向きを含まないならば、残りのレンダリングシステム情報コンポーネントは、エンハンスメント構成モジュール221に、標準的なまたはもっともありそうなスピーカの向きに基づいて、オーディオエンハンスメントを決定させることがある。
【0046】
いくつかの態様では、オーディオエンハンスメントシステム150は、レンダリングシステム情報の階層に依存し得、オーディオエンハンスメントシステム150は、最初に、より高い優先度のレンダリングシステム情報について、OSに問い合わせる。OSが、有効なレンダリングシステム情報を、オーディオエンハンスメントシステム150に返し、レンダリングシステム情報に対して、関連付けられたオーディオエンハンスメントが、存在する場合、そのオーディオエンハンスメントが、使用するために、選択される。OSが、有効なレンダリングシステム情報を提供しない、または受信されたレンダリングシステム情報に対して、関連付けられたオーディオエンハンスメントが、存在しない場合、オーディオエンハンスメントシステム150は、より低い優先度のレンダリングシステム情報などについて、OSに問い合わせることを試み続け得る。例えば、デバイスが知られていれる場合は、特定のオーディオレンダリングシステムが、決定されることができるが、同じクラスのデバイスは、類似しているが異なるオーディオレンダリングシステムを含み得るので、一意デバイス識別子は、デバイスクラスよりも高い優先度タイプのレンダリングシステム情報であり得る。
【0047】
オーディオエンハンスメントシステム150は、315において、エンハンスされたオーディオ信号を生成するために、オーディオエンハンスメントを、オーディオ信号に適用する。いくつかの態様では、デジタル信号プロセッサ222は、310において決定されたオーディオエンハンスメントを使用して、オーディオ信号を変換する。例えば、デジタル信号プロセッサ222は、オーディオ信号帯域幅をサブバンドに分割し、各周波数サブバンドにおいて、空間および/または非空間コンポーネントエネルギーを独立に調整し得る。
【0048】
オーディオエンハンスメントシステム150は、320において、エンハンスされたオーディオ信号を、オーディオレンダリングシステムに提供する。いくつかの態様では、エンハンスト信号コミュニケータ230は、デジタル信号プロセッサ222によって生成されたエンハンスされたオーディオ信号を、エンハンスされたオーディオ信号を出力するように構成されたオーディオレンダリングシステムに送信する。エンハンスト信号コミュニケータ230、デジタル信号プロセッサ222、およびオーディオレンダリングシステムの各々は、デバイス上に配置され得る。別の例では、エンハンスト信号コミュニケータ230と、デジタル信号プロセッサ222は、デバイス上にあり、オーディオレンダリングシステムは、デバイスに接続されたペリフェラルデバイスである。別の例では、エンハンスト信号コミュニケータ230は、デバイス110と関連付けられたオーディオレンダリングシステムを通して出力するために、ネットワーク110上において、エンハンスされたオーディオ信号を、デバイス110に送信する。
【0049】
図4は、モバイルデバイスのビルトインオーディオレンダリングシステムを通して、エンハンスされたオーディオ信号を提供するときの、レンダリングシステム情報を決定するためのプロセス400のフローチャートである。いくつかの態様では、オーディオエンハンスメントシステム150は、プロセス400のステップを、並行して実行し、異なる順序で実行し、または異なるステップを実行する。例えば、オーディオエンハンスメントを決定することに進むのに十分な情報があるかどうかを決定することは、デバイスのOSに対する各問い合わせの後に、行われ得る。いくつかの態様では、デバイスのOSに対する問い合わせは、プロセス400において示される順序である必要はない。例えば、オーディオエンハンスメントシステム150は、405においてデバイスのアクティブな通信経路を問い合わせる前に、415においてデバイスのモデル識別子を問い合わせ得る。
【0050】
オーディオエンハンスメントシステム150は、405において、デバイスのアクティブな通信経路について、デバイスのOSに問い合わせる。例えば、オーディオエンハンスメントシステム150は、電話の現在のアクティブな通信経路について、デバイス110、すなわち、モバイルホンのOSに問い合わせる。オペレーティングシステム問い合わせモジュール200は、アクティブな通信経路を決定するために、Android OSのAudioDeviceInfoクラスAPIを使用する。通信経路を決定した後、問い合わせモジュール200は、経路を、通信経路-最適化またはエンハンスメント対応付けのための、内部データベース(例えば、オーディオエンハンスメントデータベース210)またはオンラインデータベース内の経路のリストと比較し得る。経路-最適化対応付けは、特定のOSを用いるデバイス上の通信経路に固有の信号エンハンスメントを適用するための、命令を含み得る。そのような対応付けが、データベース内において見つかった場合、オーディオエンハンスメントシステム150は、対応付けられたオーディオエンハンスメントを直接的に使用し(例えば、310における決定に進み)、またはより大量のレンダリングシステム情報を考慮した、オーディオエンハンスメントを決定するために、追加の情報について、問い合わせ続け得る(例えば、410における問い合わせに進む)。
【0051】
オーディオエンハンスメントシステム150は、410において、デバイスの一意デバイス識別子について、デバイスのOSに問い合わせる。例えば、オーディオエンハンスメントシステム150は、デバイス110のOSに、それの一意デバイス識別子について、問い合わせる。オペレーティングシステム問い合わせモジュール200は、モバイルホンのシリアル番号について、問い合わせ、取得されたシリアル番号を、一意デバイス識別子-最適化またはエンハンスメント対応付けの、内部データベース(例えば、オーディオエンハンスメントデータベース210)またはオンラインデータベースと比較し得る。いくつかの態様では、以前の問い合わせは、データベースからの以降の取得のために、考慮され得る。例えば、オーディオエンハンスメントデータベース210は、モバイルホンのシリアル番号とアクティブな通信経路の組み合わせについてのオーディオエンハンスメント対応付けを含み得る。
【0052】
オーディオエンハンスメントシステム150は、405および410において問い合わせされたレンダリングシステム情報に基づいて、310においてオーディオ信号に対するオーディオエンハンスメントを決定することに進むのに、十分な情報があるかどうかを決定する。いくつかの態様では、オーディオエンハンスメントシステム150は、デバイスのOSに対する問い合わせの間に、情報充足チェックを導入することによって、不必要な処理遅延またはリソース消費を回避する。例えば、エンハンスメント構成モジュール221は、オーディオエンハンスメントを決定するために利用可能な十分なレンダリングシステム情報があるかどうかを決定し、より少ない遅延およびより少ない消費電力で、エンハンスされたオーディオ信号を提供する。このようにして、ユーザは、エンハンスされたオーディオ信号を、それほどの遅延なしに、聞くことができ、オーディオエンハンスメントシステム150が、バッテリ駆動デバイス上に存在する場合、次の再充電までのデバイス使用可能期間を最大化する。シリアル番号が、問い合わせ410の間に、取得可能でなかった場合、プロセス400は、415において、デバイスのモデル識別子について、デバイスのOSに問い合わせることに進み得る。さもなければ、オーディオエンハンスメントシステム150は、問い合わされたシリアル番号およびオーディオ経路が、310においてオーディオエンハンスメントを決定することに進むのに十分であると決定する。
【0053】
オーディオエンハンスメントシステム150は、415において、デバイスのモデル識別子について、デバイスのOSに問い合わせる。例えば、オーディオエンハンスメントシステム150は、デバイス110のOSに、それのモデル識別子について、問い合わせる。オペレーティングシステム問い合わせモジュール200は、モバイルホンのモデル識別子について、問い合わせ、取得されたモデル識別子を、モデル識別子-最適化またはエンハンスメント対応付けの、内部データベース(例えば、オーディオエンハンスメントデータベース210)またはオンラインデータベースと比較し得る。いくつかの態様では、以前の問い合わせは、データベースからの以降の取得のために、考慮され得る。例えば、オーディオエンハンスメントデータベース210は、モバイルホンのモデル識別子とアクティブな通信経路の組み合わせについてのオーディオエンハンスメント対応付けを含み得る。
【0054】
オーディオエンハンスメントシステム150は、420において、デバイスの向きについて、デバイスのOSに問い合わせる。例えば、オーディオエンハンスメントシステム150は、デバイス110のOSに、それの向きについて、問い合わせる。オペレーティングシステム問い合わせモジュール200は、モバイルホンの向きについて、問い合わせ、取得された向きを、向き-最適化またはエンハンスメント対応付けの、内部データベース(例えば、オーディオエンハンスメントデータベース210)またはオンラインデータベースと比較し得る。いくつかの態様では、以前の問い合わせは、データベースからの以降の取得のために、考慮され得る。例えば、オーディオエンハンスメントデータベース210は、モバイルホンの向きと、モデル識別子と、アクティブな通信経路の組み合わせについてのオーディオエンハンスメント対応付けを含み得る。プロセス400は、その組み合わせのためのオーディオエンハンスメント対応付けを使用して、310においてオーディオエンハンスメントを決定することに進み得る。
【0055】
図5は、ワイヤレス接続を通してデバイスに通信可能に結合されたオーディオレンダリングシステムを通して、エンハンスされたオーディオ信号を提供するときの、レンダリングシステム情報を決定するためのプロセス500のフローチャートである。いくつかの態様では、オーディオエンハンスメントシステム150は、プロセス500のステップを、並行して実行し、異なる順序で実行し、または異なるステップを実行する。
【0056】
オーディオエンハンスメントシステム150は、505において、ソースデバイスが、シンクデバイスのオーディオレンダリングシステムに接続されていると決定する。デバイスは、「シンク」デバイスのオーディオレンダリングシステムに結合された、「ソース」デバイスであり得る。例えば、ソースデバイス、すなわち、モバイルホンは、Bluetooth A2DP上において、シンクデバイス、すなわち、Bluetoothスピーカを通して、オーディオを出力するために、使用される。オーディオエンハンスメントシステム150は、ソースデバイス(例えば、デバイス120)が、Bluetooth A2DP上において、外部シンクデバイス(例えば、デバイス130)に接続され、オーディオ信号を伝達していると決定するために、OS APIを使用し得る。
【0057】
オーディオエンハンスメントシステム150は、510において、情報について、ソースデバイスのOSに問い合わせる。問い合わせは、510において、シンクデバイスの製造業者、SoC SKU、またはモデル名についての、ソースデバイスのOSに対する問い合わせ511を含み得る。例えば、オペレーティングシステム問い合わせモジュール200は、デバイス130の製造業者について、デバイス120のOSに問い合わせるために、BlueZ hcitoolなどのツールを使用する。図示されていないが、オーディオエンハンスメントシステム150は、レンダリングシステム情報が、オーディオエンハンスメントを決定するのに十分であるかどうかを決定するために、問い合わせ511の後に、チェックを実行し得る。例えば、Bluetoothスピーカ130の製造業者に応じて、オーディオエンハンスメントシステム150は、特定の製造業者によって提供されたSoCを使用して、Bluetoothシンクデバイスをエンハンスし得る。問い合わせは、510において、代替として、または加えて、シンクデバイスによってサポートされるBluetoothコーデックについての、ソースデバイスのOSに対する問い合わせ512を含み得る。例えば、製造業者-コーデック問い合わせモジュールは、サポートされるコーデックを決定するために、デバイス120のOSに問い合わせる。サポートされるコーデックに応じて、プロセス500は、図5には図示されていないが、310においてオーディオエンハンスメントを決定することに直接的に進み得る。例えば、エンハンスメント構成モジュール221は、特定のコーデックがサポートされているときに、エンハンスを適用すると決定し得る。問い合わせは、510において、代替として、または加えて、シンクデバイスモデル識別子についての、ソースデバイスのOSに対する問い合わせ513を含み得る。例えば、オペレーティングシステム問い合わせモジュール200は、デバイス130のモデル識別子を決定するために、デバイス120のOSに問い合わせる。シンクデバイスについてのモデル識別子が、オーディオエンハンスメントデータベース210内において見つかった場合、オーディオエンハンスメントシステム150は、定義されたようにオーディオエンハンスメントを構成すること(例えば、決定310)に進み得る。
【0058】
オーディオエンハンスメントシステム150は、510において問い合わされたレンダリングシステム情報に基づいて、310においてオーディオ信号に対するオーディオエンハンスメントを決定することに進むのに十分な情報があるかどうかを決定する。例えば、Bluetoothコーデックが、510において問い合わせの間に、取得可能でなかった場合、プロセス500は、515においてシンクデバイスのクラス情報についてソースデバイスのOSに問い合わせることに進み得る。さもなければ、オーディオエンハンスメントシステム150は、問い合わされた製造業者名、コーデック、および/またはシンクデバイスモデル識別子が、310においてオーディオエンハンスメントを決定することに進むのに十分であると決定する。
【0059】
オーディオエンハンスメントシステム150は、515において、シンクデバイスのデバイスクラス情報について、ソースデバイスのOSに問い合わせる。いくつかの態様では、オペレーティングシステム問い合わせモジュール200は、デバイス130のデバイス情報について、デバイス120のOSに問い合わせる。例えば、オペレーティングシステム問い合わせモジュール200は、デバイス130がスピーカクラスにあることを示す、レンダリングシステム情報を決定し得る。デバイスクラス情報が、オーディオエンハンスメントデータベース210内において見つかった場合、オーディオエンハンスメントシステム150は、定義されたようにオーディオエンハンスメントを構成し得る(例えば、決定310)。
【0060】
図6は、ワイヤード接続を通してオーディオレンダリングシステムに通信可能に結合されたデバイスを通して、エンハンスされたオーディオ信号を提供するときの、レンダリングシステム情報を決定するためのプロセス600のフローチャートである。デバイス140は、HDMI接続を通してオーディオレンダリングシステムに通信可能に結合された、スマートTVプラットフォームであり得る。例えば、デバイス140は、ビルトインスピーカを有するTVモニタ、またはサウンドバーに結合された、スマートTVプラットフォームであることができる。ワイヤード接続を介して結合されたデバイスの別の例では、デバイス120は、USB-C接続、または(例えば、ライトニングコネクタを使用する)他の任意のデジタル接続を通して、ヘッドホンに通信可能に結合された、モバイルホンである。いくつかの態様では、オーディオエンハンスメントシステム150は、プロセス600のステップを、並行して実行し、異なる順序で実行し、または異なるステップを実行する。
【0061】
オーディオエンハンスメントシステム150は、605において、デバイスのアクティブな通信経路について、デバイスのOSに問い合わせる。例えば、オペレーティングシステム問い合わせモジュール200は、デバイス140のアクティブな通信経路を決定するために、APIを使用して、デバイス140のOSに問い合わせる(例えば、Android OSのAudioDeviceInfoクラスAPIを使用して、スマートTVプラットフォームに問い合わせる)。いくつかの態様では、アクティブな通信経路は、HDMI接続を通したものであり得る。オーディオエンハンスメントシステム150は、オーディオエンハンスメントデータベース210内において、HDMIルートの、相当するオーディオエンハンスメントへの対応付けを見つけ得る。例えば、オーディオエンハンスメントデータベース210は、特定のTVモデルまたは製造業者と関連付けられた、HDMIオーディオ通信経路に対するオーディオエンハンスメントに関する命令を有する対応付けを含む。プロセス600には示されていないが、通信経路情報が、オーディオエンハンスメントデータベース210内において見つかった場合、オーディオエンハンスメントシステム150は、610においてデバイスに結合された外部デバイスが存在すると決定することに進むことなく、アクティブな通信経路に基づいて、310においてオーディオエンハンスメントを決定することに直接的に進み得る。
【0062】
オーディオエンハンスメントシステム150は、610において、オーディオレンダリングシステムが、デバイスに通信可能に結合された外部デバイスと関連付けられていると決定する。いくつかの態様では、問い合わせ605の結果に基づいて、オーディオエンハンスメントシステム150は、外部デバイスと関連付けられたオーディオレンダリングシステムが、デバイスから外部デバイスに送信されたオーディオを出力していると決定する。例えば、問い合わせ605が、オーディオがHDMI接続を通して転送されていることを示す場合、オーディオエンハンスメントシステム150は、デバイス140が、オーディオをそれのオーディオレンダリングシステムを通して出力している外部デバイス(例えば、ビルトインスピーカを有するTVモニタ)と通信可能に結合されていると決定し得る。
【0063】
オーディオエンハンスメントシステム150は、615において、外部デバイスの製造業者またはSoC情報について、デバイスに問い合わせる。例えば、オペレーティングシステム問い合わせモジュール200は、外部デバイスのEDID情報から製造業者IDを決定するために、スマートTVプラットフォーム上のAndroid OSのAudioDeviceClassを使用し得る。オーディオエンハンスメントシステム150が、外部デバイスについての十分な情報を有する場合、310においてオーディオ信号に対するオーディオエンハンスメントを決定することに進む。さもなければ、オーディオエンハンスメントシステム150は、620において、外部デバイスのモデル識別子など、外部デバイスについてのより多くの情報を決定する。
【0064】
オーディオエンハンスメントシステム150は、620において、外部デバイスのモデル識別子を決定する。いくつかの態様では、オペレーティングシステム問い合わせモジュール200は、外部デバイスのモデル識別子について、外部デバイスと関連付けられていると決定されたデバイスに問い合わせる。例えば、オペレーティングシステム問い合わせモジュール200は、HDMIケーブルを通してスマートTVプラットフォームに接続されたTVモニタのモデル識別子について、デバイス140、すなわち、スマートTVプラットフォームのOSに問い合わせる。オペレーティングシステム問い合わせモジュール200は、HDMI接続上において利用可能なEDID情報を使用して、TVモニタのモデル識別子、およびそれのオーディオレンダリングシステムについての情報を決定し得る。プロセス600は、レンダリングシステム情報(例えば、外部デバイスのモデル識別子)に基づいて、310においてオーディオエンハンスメントを決定することに進み得る。
【0065】
例示的なコンピューター
図7は、いくつかの態様に係るコンピューター700のブロック図である。コンピューター700は、オーディオ処理システム150などの、オーディオ処理システムを実施する、回路の例である。チップセット704に結合された少なくとも1つのプロセッサ702が、例示されている。チップセット704は、メモリコントローラハブ720と、入出力(I/O)コントローラハブ722とを含む。メモリ706、およびグラフィックスアダプタ712は、メモリコントローラハブ720に結合され、ディスプレイデバイス718は、グラフィックスアダプタ712に結合される。ストレージデバイス708、キーボード710、ポインティングデバイス714、およびネットワークアダプタ716は、I/Oコントローラハブ722に結合される。コンピューター700は、様々なタイプの入力または出力デバイスを含み得る。コンピューター700の他の態様は、異なるアーキテクチャを有する。例えば、メモリ706は、いくつかの態様では、プロセッサ702に直接的に結合される。
【0066】
ストレージデバイス708は、ハードドライブ、コンパクトディスクリードオンリメモリ(CD-ROM)、DVD、またはソリッドステートメモリデバイスなどの、1つまたは複数の非一時的コンピューター読取り可能な記録媒体を含む。メモリ706は、プロセッサ702によって使用される、(1つまたは複数の命令から構成される)プログラムコードと、データとを保持する。プログラムコードは、図1ないし図5を参照して説明される処理態様に相当し得る。
【0067】
ポインティングデバイス714は、データをコンピューターシステム700に入力するために、キーボード710と組み合わせて、使用される。グラフィックスアダプタ712は、画像および他の情報を、ディスプレイデバイス718上に表示する。いくつかの態様では、ディスプレイデバイス718は、ユーザ入力および選択を受け取るための、タッチスクリーン能力を含む。ネットワークアダプタ716は、コンピューターシステム700を、ネットワークに結合する。コンピューター700のいくつかの態様は、図7に示されるものと異なる、および/またはそれ以外のコンポーネントを有する。
【0068】
いくつかの態様では、オーディオ処理システム100または200などの、オーディオ処理システムを実施する回路は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他のタイプのコンピューティング回路を含み得る。
【0069】
追加の検討事項
開示された構成の例示的な利益および利点は、デバイスおよび関連付けられたオーディオレンダリングシステムに適合した、エンハンスされたオーディオシステムに起因する、動的オーディオエンハンスメント、ならびに(例えば、オーディオ信号が、ゲームのためではなく、音楽再生のために使用されることを示す)ユースケース情報など、デバイスOSによって利用可能にされる他の関連する情報を含む。エンハンスされたオーディオシステムは、(例えば、ソフトウェア開発キットを使用して)デバイスに統合され、またはオンデマンドでアクセス可能なリモートサーバ上に記憶され得る。このようにして、デバイスは、それのオーディオレンダリングシステムまたはオーディオレンダリング構成に固有のオーディオエンハンスメントシステムの維持に、ストレージまたは処理リソースを割く必要がない。いくつかの態様では、エンハンスされたオーディオシステムは、効果的なオーディオエンハンスメントが、様々なレベルの利用可能なデバイス固有のレンダリング情報にわたって、適用されることができるように、レンダリングシステム情報についての様々なレベルの問い合わせを可能にする。
【0070】
本明細書を通して、複数のインスタンスが、単一のインスタンスとして説明される、コンポーネント、動作、または構造を実施し得る。1つまたは複数の方法の個々の動作は、別個の動作として例示および説明されるが、個々の動作の1つまたは複数は、同時に実行され得、動作が例示された順序で実行されることを必要としない。例示された構成において別個のコンポーネントとして提示された、構造および機能は、組み合わされた構造またはコンポーネントとして実施され得る。同様に、単一のコンポーネントとして提示された構造および機能は、別個のコンポーネントとして実施され得る。これらおよび他の変形、変更、追加、および改良は、本明細書における主題の範囲内にある。
【0071】
ある態様は、ロジック、または複数のコンポーネント、モジュール、もしくはメカニズムを含むものとして、本明細書において説明された。モジュールは、ソフトウェアモジュール(例えば、マシン可読媒体上もしくは送信信号内に具現化されたコード)、またはハードウェアモジュールのどちらかを構成し得る。ハードウェアモジュールは、ある動作を実行することが可能な有形のユニットであり、ある方式で構成または配置され得る。例示的な態様では、1つもしくは複数のコンピューターシステム(例えば、スタンドアロン、クライアント、もしくはサーバコンピューターシステム)、またはコンピューターシステムの1つもしくは複数のハードウェアモジュール(例えば、プロセッサ、もしくはプロセッサのグループ)は、本明細書において説明されるような、ある動作を実行するために動作する、ハードウェアモジュールとして、ソフトウェア(例えば、アプリケーションまたはアプリケーション部分)によって、構成され得る。
【0072】
本明細書において説明される例示的な方法の様々な動作は、関連する動作を実行するように、(例えば、ソフトウェアによって)一時的に構成された、または永続的に構成された、1つまたは複数のプロセッサによって、少なくとも部分的に実行され得る。一時的に構成されるか、それとも永続的に構成されるかにかかわらず、そのようなプロセッサは、1つまたは複数の動作または機能を実行するために動作する、プロセッサ実装されるモジュールを構成し得る。本明細書において言及されるモジュールは、いくつかの例示的な態様では、プロセッサ実装されるモジュールを含み得る。
【0073】
同様に、本明細書に説明される方法は、少なくとも部分的にプロセッサ実装されることがある。例えば、方法の動作の少なくともいくつかは、1つまたは複数のプロセッサまたはプロセッサ実装のハードウェアモジュールによって行われることがある。いくつかの動作の性能は、単一のマシン内に常駐するだけでなく、複数のマシンにわたって配置された、1つまたは複数のプロセッサの間に分散されることがある。いくつかの例示的な態様では、1つまたは複数のプロセッサは、単一のロケーションにおいて(例えば、家庭環境内に、オフィス環境内に、またはサーバファームとして)配置されることがあるが、他の態様では、プロセッサは、複数のロケーションにわたって分散されることがある。
【0074】
特に別段の指摘がない限り、「処理する」、「計算する」、「算出する」、「決定する」、「提示する」、または「表示する」などの語を使用した本明細書における論考は、1つもしくは複数のメモリ(例えば、揮発性メモリ、不揮発性メモリ、もしくはそれらの組み合わせ)、レジスタ、または情報を受信し、記憶し、送信し、もしくは表示する他のマシンコンポーネント内の、物理的(例えば、電子的、磁気的、または光学的)量として表されるデータを操作または変換する、マシン(例えば、コンピューター)のアクションまたはプロセスに言及し得る。
【0075】
本明細書で使用される場合、「一態様」または「態様」に対するいかなる言及も、態様との関連において説明される、特定の要素、特徴、構造、または特性が、少なくとも1つの態様に含まれることを意味する。本明細書の様々な場所における「一態様において」というフレーズの出現は、必ずしもすべてが同じ態様に言及しているわけではない。
【0076】
いくつかの態様は、「結合された」および「接続された」という表現、ならびにそれらの派生語を使用して、説明されることがある。これらの用語は、互いの同義語として意図されていないことが、理解されるべきである。例えば、いくつかの態様は、2つ以上の要素が、互いに直接的な物理的または電気的接触をしていることを示すために、「接続された」という用語を使用して、説明されることがある。別の例では、いくつかの態様は、2つ以上の要素が、直接的な物理的または電気的接触をしていることを示すために、「結合された」という用語を使用して、説明されることがある。しかしながら、「結合された」という用語は、2つ以上の要素が、互いに直接的な接触をしていないが、それでもなお、互いに協力または相互作用することも意味することがある。態様は、文脈において限定されない。
【0077】
本明細書で使用される場合、「含む(comprises)」、「含む(comprising)」、「含む(includes)」、「含む(including)」、「有する(has)」、「有する(having)」という用語、またはそれらの他の任意の変形は、非排他的な包含をカバーすることを意図している。例えば、要素のリストを含む、プロセス、方法、物品、または装置は、必ずしもそれらの要素だけに限定されず、明示的に列挙されていない、またはそのようなプロセス、方法、物品、もしくは装置に固有の他の要素を含み得る。さらに、明示的に反対の指摘がない限り、「または(or)」は、包含的orに言及しており、排他的orには言及していない。例えば、条件AまたはBは、以下のいずれか1つ、すなわち、Aが真であり(または存在し)、Bが偽である(または存在しない)、Aが偽であり(または存在せず)、Bが真である(または存在する)、およびAとBの両方が真である(または存在する)によって満たされる。
【0078】
加えて、本明細書において態様の要素およびコンポーネントを説明するために、「a」または「an」の使用が、行われる。これは、便宜上、また本発明の一般的な意味を与えるために、行われるにすぎない。説明は、1つまたは少なくとも1つを含むように、読まれるべきであり、単数形は、それがそうでないことを意味することが明らかでない限り、複数形をも含む。
【0079】
説明のいくつかの部分は、情報に対する操作のアルゴリズムおよびシンボリック表現の観点から、態様を説明している。これらのアルゴリズム的な説明および表現は、データ処理技術の当業者によって、自分の仕事の内容を他の当業者に効果的に伝えるために、一般的に使用される。これらの操作は、機能的、計算的、または論理的に説明されるが、コンピュータープログラムもしくは等価の電気回路、またはマイクロコードなどによって実施されると理解される。さらに、一般性を損なうことなく、操作のこれらの配置をモジュールと呼ぶことが、時には便利であることも分かっている。説明された操作、およびそれらの関連付けられたモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせで、具現化され得る。
【0080】
本明細書において説明されたステップ、動作、またはプロセスのいずれも、1つまたは複数のハードウェアまたはソフトウェアモジュールを用いて、単独で、または他のデバイスと組み合わせて、実行または実施され得る。一態様では、ソフトウェアモジュールは、いずれかまたはすべての説明されたステップ、動作、またはプロセスを実行するために、コンピュータープロセッサによって実行されることができる、コンピュータープログラムコードを格納した、コンピューター読取り可能媒体を含む、コンピュータープログラム製品を用いて、実施される。
【0081】
態様は、本明細書における動作を実行するための装置にも関し得る。装置は、必要とされる目的のために、特別に構築され得、および/または、それは、コンピューター内に記憶されたコンピュータープログラムによって、選択的に起動または再構成される、汎用のコンピューティングデバイスを含み得る。そのようなコンピュータープログラムは、コンピューターシステムバスに結合され得る、非一時的な有形のコンピューター読取り可能な記録媒体、または電子命令を記憶するのに適した任意のタイプの媒体内に記憶され得る。さらに、本明細書において言及される任意のコンピューティングシステムは、単一のプロセッサを含み得、または高められたコンピューティング能力のための複数プロセッサ設計を利用した、アーキテクチャであり得る。
【0082】
態様は、本明細書において説明されるコンピューティングプロセスによって生成される、製品にも関連し得る。そのような製品は、コンピューティングプロセスからもたらされる情報を含み得、情報は、非一時的な有形のコンピューター読取り可能な記録媒体上に記憶され、本明細書において説明されるコンピュータープログラム製品または他のデータの組み合わせの任意の態様を含み得る。
【0083】
本開示を読むと、当業者は、本明細書において開示された原理を通して、デバイス固有のメタデータを使用する、オーディオエンハンスメントのためのシステムおよびプロセスのための、さらに追加の代替的な構造および機能設計を理解する。したがって、特定の態様および適用が、例示および説明されたが、開示された態様は、本明細書に開示された通りの正確な構造およびコンポーネントに限定されないことが、理解されるべきである。当業者に明らかな、様々な変更、変化、および変形が、添付の特許請求の範囲において定義される主旨および範囲から逸脱することなく、本明細書において開示される方法および装置の配置、動作、および詳細において施され得る。
【0084】
最後に、本明細書において使用される言葉は、主として、読みやすさおよび説明の目的で、選択されており、特許権を画定または制限するために、選択されていないことがある。したがって、特許権の範囲は、詳細な説明によってではなく、むしろ、本出願に基づいた適用において生じるいずれかの請求項によって限定されることが意図されている。したがって、態様の開示は、以下の特許請求の範囲において説明される、特許権の範囲を限定するものではなく、例示するものであることが意図される。
図1
図2
図3
図4
図5
図6
図7