(57)【要約】オーディオ信号を処理する方法が、開示される。本方法の実施形態によると、プロトタイプフィルタ大きさ応答情報が、決定される。大きさ応答情報は、複数の利得値を含み、そのうちの少なくとも１つは、第１の周波数に対応する第１の利得を含む。プロトタイプフィルタの大きさ応答情報は、記憶される。第１の周波数におけるプロトタイプフィルタの大きさ応答情報が、読み出される。利得は、第１の周波数におけるプロトタイプフィルタの読み出された大きさ応答情報に基づいて、複数の制御周波数に関して算出され、算出された利得は、オーディオ信号に適用される。
2021525980.tif 000002
【特許請求の範囲】
【請求項１】
オーディオ信号を処理する方法であって、前記方法は、
プロトタイプフィルタの大きさ応答情報を決定することであって、前記大きさ応答情報は、複数の利得値を含み、前記複数の利得値のうちの少なくとも１つは、第１の周波数に対応する第１の利得を含む、ことと、
前記プロトタイプフィルタの大きさ応答情報を記憶することと、
前記第１の周波数における前記プロトタイプフィルタの大きさ応答情報を読み出すことと、
前記第１の周波数における前記プロトタイプフィルタの読み出された大きさ応答情報に基づいて、複数の制御周波数に関する利得を算出することと、
前記算出された利得を前記オーディオ信号に適用することと
を含む、方法。
【請求項２】
前記プロトタイプフィルタの大きさ応答情報の決定は、
高シェルビングイコライザの大きさ応答情報を決定することと、
前記高シェルビングイコライザの大きさ応答情報をスケーリングすることと、
所定の周波数量だけ周波数軸に沿って前記高シェルビングイコライザのスケーリングされた大きさ応答情報を偏移させることであって、前記偏移されたスケーリングされた大きさ応答は、前記プロトタイプフィルタの大きさ応答情報である、ことと
を含む、請求項１に記載の方法。
【請求項３】
前記所定の周波数量は、前記高シェルビングイコライザのスケーリングされた大きさ応答情報を前記プロトタイプフィルタの大きさ応答情報に合致させるために必要とされる量に等しい、請求項２に記載の方法。
【請求項４】
前記プロタイプフィルタの大きさ応答情報の決定は、
低シェルビングイコライザの大きさ応答情報を決定することと、
前記低シェルビングイコライザの大きさ応答情報をスケーリングすることと、
所定の周波数量だけ周波数軸に沿って前記低シェルビングイコライザのスケーリングされた大きさ応答情報を偏移させることであって、前記偏移されたスケーリングされた大きさ応答は、前記プロトタイプフィルタの大きさ応答情報である、ことと
を含む、請求項１に記載の方法。
【請求項５】
前記プロトタイプフィルタの大きさ応答情報の決定は、周波数軸に沿って低シェルビングイコライザの大きさ応答を反転させることを含む、請求項１に記載の方法。
【請求項６】
前記プロトタイプフィルタの大きさ応答情報の決定は、周波数軸に沿って高シェルビングイコライザの大きさ応答を反転させることを含む、請求項１に記載の方法。
【請求項７】
前記プロトタイプフィルタの大きさ応答情報の記憶は、ルックアップテーブル内に前記プロトタイプフィルタの大きさ応答情報を記憶することを含む、請求項１に記載の方法。
【請求項８】
前記ルックアップテーブルは、前記プロトタイプフィルタの大きさ応答情報の等間隔エントリを含む、請求項７に記載の方法。
【請求項９】
前記第１の周波数は、ＤＣまたはナイキストに近接し、前記第１の周波数における前記プロトタイプフィルタの大きさ応答情報の読出は、飽和値に等しいように前記大きさ応答情報を設定することを含む、請求項７に記載の方法。
【請求項１０】
環境の１つ以上の性質を決定することと、
前記環境の決定された１つ以上の性質に基づいて、１つ以上のパラメータを決定することと
をさらに含み、
前記決定された１つ以上のパラメータは、前記第１の周波数における前記プロトタイプフィルタの大きさ応答情報の読出のために使用される、請求項１に記載の方法。
【請求項１１】
前記環境の１つ以上の性質の決定は、
試験オーディオ信号を発生させることと、
前記発生された試験オーディオ信号への応答を決定することと、
前記試験オーディオ信号と前記応答との間の変化に基づいて、前記環境の１つ以上の性質を決定することと
を含む、請求項１０に記載の方法。
【請求項１２】
ウェアラブル頭部デバイスのユーザの１つ以上のアクションを決定することと、
１つ以上のパラメータを決定することであって、前記第１の周波数における前記プロトタイプフィルタの大きさ応答情報の読出は、前記決定された１つ以上のアクションに基づく、ことと
をさらに含み、
前記決定された１つ以上のパラメータは、前記第１の周波数における前記プロトタイプフィルタの大きさ応答情報の読出のために使用される、請求項１に記載の方法。
【請求項１３】
前記プロトタイプフィルタの大きさ応答情報の読出は、
前記第１の周波数と関連付けられるインデックスを決定することと、
前記決定されたインデックスを使用し、前記大きさ応答情報の読出のためにルックアップテーブル内の対応するインデックスを見出すことと
を含む、請求項１に記載の方法。
【請求項１４】
システムであって、
オーディオ信号をユーザに提供するように構成されるウェアラブル頭部デバイスと、
回路であって、
プロトタイプフィルタの大きさ応答情報を決定することであって、前記大きさ応答情報は、複数の利得値を含み、前記複数の利得値のうちの少なくとも１つは、第１の周波数に対応する第１の利得を含む、ことと、
前記第１の周波数における前記プロトタイプフィルタの大きさ応答情報を読み出すことと、
前記第１の周波数における前記プロトタイプフィルタの読み出された大きさ応答情報に基づいて、複数の制御周波数に関する利得を算出することと、
前記算出された利得を前記オーディオ信号に適用することによって、前記オーディオ信号を処理することと、
前記処理されたオーディオ信号を前記ウェアラブル頭部デバイスに送信することと
を行うように構成される、回路と
を備える、システム。
【請求項１５】
前記プロトタイプフィルタの大きさ応答情報を記憶するメモリをさらに備える、請求項１４に記載のシステム。
【請求項１６】
前記プロトタイプフィルタの大きさ応答情報は、前記プロトタイプフィルタの大きさ応答情報の等間隔エントリを含むルックアップテーブル内に記憶される、請求項１５に記載のシステム。
【請求項１７】
前記プロトタイプフィルタの大きさ応答情報は、ルックアップテーブル内に記憶され、前記ルックアップテーブルは、複数のインデックスを含み、各インデックスは、複数の周波数と関連付けられる、請求項１５に記載のシステム。
【請求項１８】
前記ウェアラブル頭部デバイスは、１つ以上のセンサを備え、
前記システムは、環境の１つ以上の性質を決定するように構成され、
前記回路はさらに、前記環境の決定された１つ以上の性質に基づいて、１つ以上のパラメータを決定するように構成され、
前記第１の周波数における前記プロトタイプフィルタの大きさ応答情報の読出は、前記決定された１つ以上のパラメータに基づく、
請求項１４に記載のシステム。
【請求項１９】
前記ウェアラブル頭部デバイスは、
試験オーディオ信号を発生させるように構成される１つ以上のスピーカと、
前記発生された試験オーディオ信号への応答を決定するように構成される１つ以上のセンサと
を備え、
前記環境の１つ以上の性質は、前記試験オーディオ信号と前記応答との間の変化に基づいて、前記回路によって決定される、請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、参照することによってその全体として本明細書に組み込まれる、２０１８年５月３０日に出願された、米国仮特許出願第６２／６７８，２５９号の利益を主張する。
【０００２】
本開示は、一般に、オーディオ信号を捕捉、処理、および再生するためのシステムおよび方法に関し、特に、仮想または拡張現実システムにおけるユーザへの提示のためにオーディオ信号を捕捉、処理、および再生するためのシステムおよび方法に関する。
【背景技術】
【０００３】
仮想環境は、コンピューティング環境において普遍的であって、ビデオゲーム（仮想環境が、ゲーム世界を表し得る）、マップ（仮想環境が、ナビゲートされるべき地形を表し得る）、シミュレーション（仮想環境が、実環境をシミュレートし得る）、デジタルストーリーテリング（仮想キャラクタが、仮想環境内で相互に相互作用し得る）、および多くの他の用途において使用を見出している。現代のコンピュータユーザは、概して、快適に仮想環境を知覚し、それと相互作用する。しかしながら、仮想環境を伴うユーザの体験は、仮想環境を提示するための技術によって限定され得る。例えば、従来のディスプレイ（例えば、２Ｄディスプレイ画面）およびオーディオシステム（例えば、固定スピーカ）は、人を引き付け、現実的で、かつ没入型の体験を作成するように、仮想環境を実現することが不可能であり得る。
【０００４】
仮想現実（「ＶＲ」）、拡張現実（「ＡＲ」）、複合現実（「ＭＲ」）、および関連技術（集合的に、「ＸＲ」）は、ＸＲシステムのユーザにコンピュータシステム内のデータによって表される仮想環境に対応する感覚情報を提示する能力を共有する。そのようなシステムは、仮想視覚およびオーディオキューを現実の視界および音と組み合わせることによって、一意に強調された没入感および臨場感を提供することができる。故に、音が、ユーザの実環境内で自然に、かつユーザの予期する音と一貫して発生しているように現れるように、ＸＲシステムのユーザにデジタル音を提示することが、望ましくあり得る。概して言えば、ユーザは、仮想音が、それらが聞こえる実環境の音響性質を帯びるであろうと予期する。例えば、大きいコンサートホール内のＸＲシステムのユーザは、ＸＲシステムの仮想音が、大きい洞窟に似た音性品質を有することを予期し、逆に、小さいアパートメント内のユーザは、音が、より減衰され、近接し、即時であることを予期するであろう。加えて、ユーザは、仮想音が、遅延を伴わずに提示されるであろうと予期する。
【０００５】
これらの予期に応えるために、オーディオ信号は、正確な大きさ応答制御のために処理される必要があり得る。オーディオ信号処理のために使用される１つの例示的機構は、比例パラメトリックイコライザ（ＰＰＥ）である。ＰＰＥは、オーディオ信号のパラメータに対する、およびオーディオ信号の周波数コンテンツに対する連続的制御を提供することが可能である。ＰＰＥは、定義された制約内で、正確な大きさ応答制御のための効率的なツールであり得る。より具体的には、シェルビングフィルタのカスケードが、処理オーバーヘッドを殆ど伴わずにマルチバンド（例えば、３バンド）パラメトリックイコライザまたはトーン制御を作成するために使用されることができる。しかしながら、有意なコンピューティングサイクルおよびリソースが、ＡＲまたは動的空間化オーディオ捕捉と同程度に動的な環境内でそのようなフィルタを連続的に制御するために要求され得る。
【０００６】
プロトタイプフィルタの大きさ応答を決定するための１つの方法は、フィルタを試験信号に適用し、出力信号を測定することであり得る。そのようなアプローチは、コンピューティングリソースの観点から法外であり得る。別の方法は、フィルタの応答を事前算出し、これを、例えば、ルックアップテーブル内に記憶することであり得る。ランタイム時、着目周波数に対応するデータが、記憶装置からフェッチされることができる。記憶装置から情報をフェッチすることは、非常に低いコンピューティングコストを要求し得るが、そのようなコストは、新しいフィルタデータが、必要とされる度に、コンピュータオーバーヘッドを追加する。故に、増加された効率を伴うフィルタ信号に対する大きさ応答制御が、所望される。
【発明の概要】
【課題を解決するための手段】
【０００７】
３バンドパラメトリックイコライザを作成するためにシェルビングフィルタのカスケードを使用してオーディオ信号を処理するシステムおよび方法が、開示される。いくつかの実施形態では、プロトタイプフィルタパラメータから導出される利得値が、測定されることができ、次いで、指定されたフィルタに関する既知の利得値を記憶するルックアップテーブルが、使用されることができる。ルックアップテーブルは、頭部搭載型ＡＲディスプレイデバイス等のコンピューティングデバイスによってアクセスされる。本指定またはプロトタイプフィルタの大きさ応答もまた、ルックアップテーブル内に記憶される。大きさ応答は、読み出され、次いで、ユーザによって使用される制御周波数の特定の組み合わせに関して必要に応じて適用および補間される。
【０００８】
いくつかの実施形態では、ルックアップテーブルに関するインデックス化スキームが、使用される。インデックス化スキームは、着目周波数を検索する必要性なくフィルタデータの読出を可能にする。インデックス化スキームは、プロトタイプフィルタおよびその関連付けられる測定された利得値に基づくことができる。いくつかの実施例では、フィルタパラメータを算出するために、フィルタの大きさ応答が、必要とされてもよい。近似的応答が、対応するプロトタイプフィルタの大きさ応答から導出されることができる。プロトタイプフィルタの応答は、次いで、所望のフィルタパラメータに合致するように修正されることができる。プロトタイプの制御周波数に対するデータは、ルックアップテーブル内でインデックス化され、制御周波数の異なる値は、オフセットされ、読み出すことが容易である。
【図面の簡単な説明】
【０００９】
【図１】図１は、いくつかの実施形態による、例示的ウェアラブルシステムを図示する。
【００１０】
【図２】図２は、いくつかの実施形態による、例示的ウェアラブルシステムと併用され得る例示的ハンドヘルドコントローラを図示する。
【００１１】
【図３】図３は、いくつかの実施形態による、例示的ウェアラブルシステムと併用され得る例示的補助ユニットを図示する。
【００１２】
【図４】図４は、いくつかの実施形態による、例示的ウェアラブルシステムに関する例示的機能ブロック図を図示する。
【００１３】
【図５】図５は、いくつかの実施形態による、ＸＲシステムによって実行され得る例示的プロセスを図示する。
【００１４】
【図６】図６は、いくつかの実施形態による、例示的低シェルビングプロトタイプフィルタの大きさ応答を図示する。
【００１５】
【図７Ａ】図７Ａは、いくつかの実施形態による、例示的低シェルビングイコライザの測定された大きさ応答を図示する。
【００１６】
【図７Ｂ】図７Ｂは、いくつかの実施形態による、例示的低シェルビングイコライザの近似された大きさ応答を図示する。
【００１７】
【図７Ｃ】図７Ｃは、いくつかの実施形態による、図７Ｂ上にオーバーレイされた図７Ａを図示する。
【００１８】
【図８Ａ】図８Ａは、いくつかの実施形態による、例示的高シェルビングイコライザの測定された大きさ応答を図示する。
【００１９】
【図８Ｂ】図８Ｂは、いくつかの実施形態による、例示的高シェルビングイコライザの近似された大きさ応答を図示する。
【００２０】
【図８Ｃ】図８Ｃは、いくつかの実施形態による、図８Ｂ上にオーバーレイされた図８Ａを図示する。
【００２１】
【図９Ａ】図９Ａは、いくつかの実施形態による、プロトタイプフィルタに関する周波数および関連付けられる利得値を含む、例示的ルックアップテーブルを図示する。
【００２２】
【図９Ｂ】図９Ｂは、いくつかの実施形態による、インデックスおよび関連付けられる周波数および利得値を含む、例示的ルックアップテーブルを図示する。
【００２３】
【図９Ｃ】図９Ｃは、いくつかの実施形態による、半分の数のインデックスを含む、例示的ルックアップテーブルを図示する。
【００２４】
【図１０】図１０は、いくつかの実施形態による、低シェルビングイコライザ、高シェルビングイコライザ、および二重シェルビングイコライザに関する周波数の関数としての例示的大きさ応答を示す。
【００２５】
【図１１】図１１Ａおよび１１Ｂは、いくつかの実施形態による、それぞれ、周波数とともに単調に減少する標的大きさ応答を有する、二重シェルビングイコライザの例示的大きさ応答および例示的位相応答を図示する。
【００２６】
【図１２】図１２Ａおよび１２Ｂは、いくつかの実施形態による、それぞれ、周波数とともに単調に減少しない標的大きさ応答を有する、二重シェルビングイコライザの例示的大きさ応答および例示的位相応答を図示する。
【００２７】
【図１３】図１３Ａおよび１３Ｂは、いくつかの実施形態による、それぞれ、その動作範囲の外側で動作される二重シェルビングイコライザの例示的大きさ応答および例示的位相応答を図示する。
【発明を実施するための形態】
【００２８】
実施例の以下の説明では、本明細書の一部を形成し、例証として、実践され得る具体的実施例が示される、付随の図面が、参照される。他の実施例も、使用され得、構造変更が、開示される実施例の範囲から逸脱することなく、行われ得ることを理解されたい。
【００２９】
米国特許出願第１５／９０７，１５５号は、参照することによってその全体として本明細書に組み込まれる。
【００３０】
例示的ウェアラブルシステム
【００３１】
図１は、ユーザの頭部上に装着されるように構成される、例示的ウェアラブル頭部デバイス１００を図示する。ウェアラブル頭部デバイス１００は、頭部デバイス（例えば、ウェアラブル頭部デバイス１００）、ハンドヘルドコントローラ（例えば、下記に説明されるハンドヘルドコントローラ２００）、および／または補助ユニット（例えば、下記に説明される補助ユニット３００）等の１つ以上のコンポーネントを備える、より広範なウェアラブルシステムの一部であってもよい。いくつかの実施例では、ウェアラブル頭部デバイス１００は、仮想現実、拡張現実、または複合現実システムまたは用途のために使用されることができる。ウェアラブル頭部デバイス１００は、ディスプレイ１１０Ａおよび１１０Ｂ（左および右透過性ディスプレイと、直交瞳拡大（ＯＰＥ）格子セット１１２Ａ／１１２Ｂおよび射出瞳拡大（ＥＰＥ）格子セット１１４Ａ／１１４Ｂ等、ディスプレイからユーザの眼に光を結合するための関連付けられるコンポーネントとを備え得る）等の１つ以上のディスプレイと、スピーカ１２０Ａおよび１２０Ｂ（それぞれ、つるアーム１２２Ａおよび１２２Ｂ上に搭載され、ユーザの左および右耳に隣接して位置付けられ得る）等の左および右音響構造と、赤外線センサ、加速度計、ＧＰＳユニット、慣性測定ユニット（ＩＭＵ）（例えば、ＩＭＵ１２６）、音響センサ（例えば、マイクロホン１５０）等の１つ以上のセンサと、直交コイル電磁受信機（例えば、左つるアーム１２２Ａに搭載されるように示される受信機１２７）と、ユーザから離れるように配向される、左および右カメラ（例えば、深度（飛行時間）カメラ１３０Ａおよび１３０Ｂ）と、ユーザに向かって配向される、左および右眼カメラ（例えば、ユーザの眼移動を検出するため）（例えば、眼カメラ１２８および１２８Ｂ）とを備えることができる。しかしながら、ウェアラブル頭部デバイス１００は、本発明の範囲から逸脱することなく、任意の好適なディスプレイ技術およびセンサまたは他のコンポーネントの任意の好適な数、タイプ、または組み合わせを組み込むことができる。いくつかの実施例では、ウェアラブル頭部デバイス１００は、ユーザの音声によって発生されるオーディオ信号を検出するように構成される、１つ以上のマイクロホン１５０を組み込んでもよく、そのようなマイクロホンは、ユーザの口に隣接してウェアラブル頭部デバイス内に位置付けられてもよい。いくつかの実施例では、ウェアラブル頭部デバイス１００は、他のウェアラブルシステムを含む、他のデバイスおよびシステムと通信するために、ネットワーキング特徴（例えば、Ｗｉ−Ｆｉ能力）を組み込んでもよい。ウェアラブル頭部デバイス１００はさらに、バッテリ、プロセッサ、メモリ、記憶ユニット、または種々の入力デバイス（例えば、ボタン、タッチパッド）等のコンポーネントを含んでもよい、または１つ以上のそのようなコンポーネントを備えるハンドヘルドコントローラ（例えば、ハンドヘルドコントローラ２００）または補助ユニット（例えば、補助ユニット３００）に結合されてもよい。いくつかの実施例では、センサは、ユーザの環境に対する頭部搭載型ユニットの座標のセットを出力するように構成されてもよく、入力をプロセッサに提供し、同時位置特定およびマッピング（ＳＬＡＭ）プロシージャおよび／またはビジュアルオドメトリアルゴリズムを実施してもよい。いくつかの実施例では、ウェアラブル頭部デバイス１００は、下記にさらに説明されるように、ハンドヘルドコントローラ２００および／または補助ユニット３００に結合されてもよい。
【００３２】
図２は、例示的ウェアラブルシステムの例示的モバイルハンドヘルドコントローラコンポーネント２００を図示する。いくつかの実施例では、ハンドヘルドコントローラ２００は、ウェアラブルヘッドデバイス１００および／または下記に説明される補助ユニット３００と有線または無線通信してもよい。いくつかの実施例では、ハンドヘルドコントローラ２００は、ユーザによって保持されるべきハンドル部分２２０と、上面２１０に沿って配置される１つ以上のボタン２４０とを含む。いくつかの実施例では、ハンドヘルドコントローラ２００は、光学追跡標的として使用するために構成されてもよく、例えば、ウェアラブル頭部デバイス１００のセンサ（例えば、カメラまたは他の光学センサ）は、ハンドヘルドコントローラ２００の位置および／または配向を検出するように構成されることができ、これは、転じて、ハンドヘルドコントローラ２００を保持するユーザの手の位置および／または配向を示し得る。いくつかの実施例では、ハンドヘルドコントローラ２００は、プロセッサ、メモリ、記憶ユニット、ディスプレイ、または上記に説明されるもの等の１つ以上の入力デバイスを含んでもよい。いくつかの実施例では、ハンドヘルドコントローラ２００は、１つ以上のセンサ（例えば、ウェアラブル頭部デバイス１００に関して上記に説明されるセンサまたは追跡コンポーネントのうちのいずれか）を含む。いくつかの実施例では、センサは、ウェアラブル頭部デバイス１００に対する、またはウェアラブルシステムの別のコンポーネントに対するハンドヘルドコントローラ２００の位置または配向を検出することができる。いくつかの実施例では、センサは、ハンドヘルドコントローラ２００のハンドル部分２２０内に位置付けられてもよい、および／またはハンドヘルドコントローラに機械的に結合されてもよい。ハンドヘルドコントローラ２００は、例えば、ボタン２４０の押下状態、またはハンドヘルドコントローラ２００の位置、配向、および／または運動（例えば、ＩＭＵを介して）に対応する、１つ以上の出力信号を提供するように構成されることができる。そのような出力信号は、ウェアラブル頭部デバイス１００のプロセッサへの、補助ユニット３００への、またはウェアラブルシステムの別のコンポーネントへの入力として使用されてもよい。いくつかの実施例では、ハンドヘルドコントローラ２００は、音（例えば、ユーザの発話、環境音）を検出し、ある場合には、検出された音に対応する信号をプロセッサ（例えば、ウェアラブル頭部デバイス１００のプロセッサ）に提供するために、１つ以上のマイクロホンを含むことができる。
【００３３】
図３は、例示的ウェアラブルシステムの例示的補助ユニット３００を図示する。いくつかの実施例では、補助ユニット３００は、ウェアラブル頭部デバイス１００および／またはハンドヘルドコントローラ２００と有線または無線通信してもよい。補助ユニット３００は、ウェアラブル頭部デバイス１００および／またはハンドヘルドコントローラ２００（ディスプレイ、センサ、音響構造、プロセッサ、マイクロホン、および／またはウェアラブル頭部デバイス１００またはハンドヘルドコントローラ２００の他のコンポーネントを含む）等のウェアラブルシステムの１つ以上のコンポーネントを動作させるためのエネルギーを提供するために、バッテリを含むことができる。いくつかの実施例では、補助ユニット３００は、プロセッサ、メモリ、記憶ユニット、ディスプレイ、１つ以上の入力デバイス、および／または上記に説明されるもの等の１つ以上のセンサを含んでもよい。いくつかの実施例では、補助ユニット３００は、補助ユニットをユーザに取り付けるためのクリップ３１０（例えば、ユーザによって装着されるベルト）を含む。ウェアラブルシステムの１つ以上のコンポーネントを格納するために補助ユニット３００を使用する利点は、そのように行うことが、大きいまたは重いコンポーネントが、（例えば、ウェアラブル頭部デバイス１００内に格納される場合）ユーザの頭部に搭載される、または（例えば、ハンドヘルドコントローラ２００内に格納される場合）ユーザの手によって担持されるのではなく、大きく重い物体を支持するために比較的に良好に適しているユーザの腰部、胸部、または背部の上に担持されることを可能にし得ることである。これは、バッテリ等の比較的に重いまたは嵩張るコンポーネントに関して特に有利であり得る。
【００３４】
図４は、上記に説明される、例示的ウェアラブル頭部デバイス１００と、ハンドヘルドコントローラ２００と、補助ユニット３００とを含み得る等、例示的ウェアラブルシステム４００に対応し得る、例示的機能ブロック図を示す。いくつかの実施例では、ウェアラブルシステム４００は、仮想現実、拡張現実、または複合現実用途のために使用され得る。図４に示されるように、ウェアラブルシステム４００は、ここでは「トーテム」と称される（および上記に説明されるハンドヘルドコントローラ２００に対応し得る）例示的ハンドヘルドコントローラ４００Ｂを含むことができ、ハンドヘルドコントローラ４００Ｂは、トーテム／ヘッドギヤ６自由度（６ＤＯＦ）トーテムサブシステム４０４Ａを含むことができる。ウェアラブルシステム４００はまた、（上記に説明されるウェアラブルヘッドギヤデバイス１００に対応し得る）例示的ウェアラブル頭部デバイス４００Ａを含むことができ、ウェアラブル頭部デバイス４００Ａは、トーテム／ヘッドギヤ６ＤＯＦヘッドギヤサブシステム４０４Ｂを含む。実施例では、６ＤＯＦトーテムサブシステム４０４Ａおよび６ＤＯＦヘッドギヤサブシステム４０４Ｂは、協働し、ウェアラブル頭部デバイス４００Ａに対するハンドヘルドコントローラ４００Ｂの６つの座標（例えば、３つの平行移動方向におけるオフセットおよび３つの軸に沿った回転）を決定する。６自由度は、ウェアラブル頭部デバイス４００Ａの座標系に対して表されてもよい。３つの平行移動オフセットは、そのような座標系内におけるＸ、Ｙ、およびＺオフセット、平行移動行列、またはある他の表現として表されてもよい。回転自由度は、ヨー、ピッチ、およびロール回転のシーケンス、ベクトル、回転行列、四元数、またはある他の表現として表されてもよい。いくつかの実施例では、ウェアラブル頭部デバイス４００Ａ内に含まれる１つ以上の深度カメラ４４４（および／または１つ以上の非深度カメラ）および／または１つ以上の光学標的（例えば、上記に説明されるようなハンドヘルドコントローラ２００のボタン２４０またはハンドヘルドコントローラ内に含まれる専用光学標的）は、６ＤＯＦ追跡のために使用されることができる。いくつかの実施例では、ハンドヘルドコントローラ４００Ｂは、上記に説明されるようなカメラを含むことができ、ヘッドギヤ４００Ａは、カメラと併せた光学追跡のための光学標的を含むことができる。いくつかの実施例では、ウェアラブル頭部デバイス４００Ａおよびハンドヘルドコントローラ４００Ｂは、それぞれ、３つの直交して配向されるソレノイドのセットを含み、これは、３つの区別可能な信号を無線で送信および受信するために使用される。受信するために使用される、コイルのそれぞれの中で受信される３つの区別可能な信号の相対的大きさを測定することによって、ウェアラブル頭部デバイス４００Ａに対するハンドヘルドコントローラ４００Ｂの６ＤＯＦが、決定されてもよい。いくつかの実施例では、６ＤＯＦトーテムサブシステム４０４Ａは、改良された正確度および／またはハンドヘルドコントローラ４００Ｂの高速移動に関するよりタイムリーな情報を提供するために有用である、慣性測定ユニット（ＩＭＵ）を含むことができる。
【００３５】
拡張現実または複合現実用途を伴ういくつかの実施例では、座標をローカル座標空間（例えば、ウェアラブル頭部デバイス４００Ａに対して固定される座標空間）から慣性座標空間に、または環境座標空間に変換することが、望ましくあり得る。例えば、そのような変換は、ウェアラブル頭部デバイス４００Ａのディスプレイが、ディスプレイ上の固定位置および配向において（例えば、ウェアラブル頭部デバイス４００Ａのディスプレイにおける同一の位置において）ではなく、仮想オブジェクトを実環境に対する予期される位置および配向において提示する（例えば、ウェアラブル頭部デバイス４００Ａの位置および配向にかかわらず、前方に面した実椅子に着座している仮想人物）ために必要であり得る。これは、仮想オブジェクトが、実環境内に存在する（かつ、例えば、ウェアラブル頭部デバイス４００Ａが、偏移および回転するにつれて、実環境内に不自然に位置付けられて現れない）という錯覚を維持することができる。いくつかの実施例では、座標空間の間の補償変換が、慣性または環境座標系に対するウェアラブル頭部デバイス４００Ａの変換を決定するために、（例えば、同時位置特定およびマッピング（ＳＬＡＭ）および／またはビジュアルオドメトリプロシージャを使用して）深度カメラ４４４からの画像を処理することによって決定されることができる。図４に示される実施例では、深度カメラ４４４は、ＳＬＡＭ／ビジュアルオドメトリブロック４０６に結合されることができ、画像をブロック４０６に提供することができる。ＳＬＡＭ／ビジュアルオドメトリブロック４０６実装は、本画像を処理し、次いで、頭部座標空間と実座標空間との間の変換を識別するために使用され得る、ユーザの頭部の位置および配向を決定するように構成される、プロセッサを含むことができる。同様に、いくつかの実施例では、ユーザの頭部姿勢および場所に関する情報の付加的源が、ウェアラブル頭部デバイス４００ＡのＩＭＵ４０９から取得される。ＩＭＵ４０９からの情報は、ＳＬＡＭ／ビジュアルオドメトリブロック４０６からの情報と統合され、改良された正確度および／またはユーザの頭部姿勢および位置の高速調節に関するよりタイムリーな情報を提供することができる。
【００３６】
いくつかの実施例では、深度カメラ４４４は、ウェアラブル頭部デバイス４００Ａのプロセッサ内に実装され得る、手のジェスチャトラッカ４１１に、３Ｄ画像を供給することができる。手のジェスチャトラッカ４１１は、例えば、深度カメラ４４４から受信された３Ｄ画像を手のジェスチャを表す記憶されたパターンに合致させることによって、ユーザの手のジェスチャを識別することができる。ユーザの手のジェスチャを識別する他の好適な技法も、明白となるであろう。
【００３７】
いくつかの実施例では、１つ以上のプロセッサ４１６は、ヘッドギヤサブシステム４０４Ｂ、ＩＭＵ４０９、ＳＬＡＭ／ビジュアルオドメトリブロック４０６、深度カメラ４４４、マイクロホン（図示せず）、および／または手のジェスチャトラッカ４１１からのデータを受信するように構成されてもよい。プロセッサ４１６はまた、制御信号を６ＤＯＦトーテムシステム４０４Ａに送信し、それから受信することができる。プロセッサ４１６は、ハンドヘルドコントローラ４００Ｂがテザリングされない実施例等では、無線で、６ＤＯＦトーテムシステム４０４Ａに結合されてもよい。プロセッサ４１６はさらに、視聴覚コンテンツメモリ４１８、グラフィカル処理ユニット（ＧＰＵ）４２０、および／またはデジタル信号プロセッサ（ＤＳＰ）オーディオ空間化装置４２２等の付加的コンポーネントと通信してもよい。ＤＳＰオーディオ空間化装置４２２は、頭部関連伝達関数（ＨＲＴＦ）メモリ４２５に結合されてもよい。ＧＰＵ４２０は、画像毎に変調された光の左源４２４に結合される、左チャネル出力と、画像毎に変調された光の右源４２６に結合される、右チャネル出力とを含むことができる。ＧＰＵ４２０は、立体視画像データを画像毎に変調された光の源４２４、４２６に出力することができる。ＤＳＰオーディオ空間化装置４２２は、オーディオを左スピーカ４１２および／または右スピーカ４１４に出力することができる。ＤＳＰオーディオ空間化装置４２２は、プロセッサ４１６から、ユーザから仮想音源（例えば、ハンドヘルドコントローラ４００Ｂを介して、ユーザによって移動され得る）への方向ベクトルを示す入力を受信することができる。方向ベクトルに基づいて、ＤＳＰオーディオ空間化装置４２２は、対応するＨＲＴＦを決定することができる（例えば、ＨＲＴＦにアクセスすることによって、または複数のＨＲＴＦを補間することによって）。ＤＳＰオーディオ空間化装置４２２は、次いで、決定されたＨＲＴＦを仮想オブジェクトによって発生された仮想音に対応するオーディオ信号等のオーディオ信号に適用することができる。これは、複合現実環境内の仮想音に対するユーザの相対的位置および配向を組み込むことによって、すなわち、その仮想音が、実環境内の実音である場合に聞こえるであろうもののユーザの予期に合致する仮想音を提示することによって、仮想音の信憑性および現実性を向上させることができる。
【００３８】
図４に示されるもの等のいくつかの実施例では、プロセッサ４１６、ＧＰＵ４２０、ＤＳＰオーディオ空間化装置４２２、ＨＲＴＦメモリ４２５、およびオーディオ／視覚的コンテンツメモリ４１８のうちの１つ以上のものは、補助ユニット４００Ｃ（上記に説明される補助ユニット３００に対応し得る）内に含まれてもよい。補助ユニット４００Ｃは、バッテリ４２７を含み、そのコンポーネントを給電する、および／または電力をウェアラブル頭部デバイス４００Ａおよび／またはハンドヘルドコントローラ４００Ｂに供給してもよい。そのようなコンポーネントを、ユーザの腰部に搭載され得る、補助ユニット内に含むことは、ウェアラブル頭部デバイス４００Ａのサイズおよび重量を限定することができ、これは、ひいては、ユーザの頭部および頸部の疲労を低減させることができる。
【００３９】
図４は、例示的ウェアラブルシステム４００の種々のコンポーネントに対応する要素を提示するが、これらのコンポーネントの種々の他の好適な配列も、当業者に明白となるであろう。例えば、補助ユニット４００Ｃと関連付けられているような図４に提示される要素は、代わりに、ウェアラブル頭部デバイス４００Ａまたはハンドヘルドコントローラ４００Ｂと関連付けられ得る。さらに、いくつかのウェアラブルシステムは、ハンドヘルドコントローラ４００Ｂまたは補助ユニット４００Ｃを完全に無くしてもよい。そのような変更および修正は、開示される実施例の範囲内に含まれるものとして理解されるものである。
【００４０】
複合現実環境
【００４１】
全ての人々のように、複合現実システムのユーザは、実環境、すなわち、ユーザによって知覚可能である、「実世界」の３次元部分およびその内容全ての中に存在している。例えば、ユーザは、その通常の人間感覚、すなわち、視覚、聴覚、触覚、味覚、嗅覚を使用して実環境を知覚し、実環境内でその自身の身体を移動させることによって実環境と相互作用する。実環境内の場所は、座標空間内の座標として説明されることができ、例えば、座標は、緯度、経度、および海面に対する高度、基準点からの３つの直交する次元における距離、または他の好適な値を含むことができる。同様に、ベクトルは、座標空間内の方向および大きさを有する品質を説明することができる。
【００４２】
コンピューティングデバイスは、例えば、本デバイスと関連付けられるメモリ内で、仮想環境の表現を維持することができる。本明細書に使用されるように、仮想環境は、３次元空間のコンピュータ表現である。仮想環境は、任意のオブジェクト、アクション、信号、パラメータ、座標、ベクトル、またはその空間と関連付けられる他の特性の表現を含むことができる。いくつかの実施例では、コンピューティングデバイスの回路（例えば、プロセッサ）は、仮想環境の状態を維持および更新することができ、すなわち、プロセッサは、第１の時間に、仮想環境と関連付けられるデータおよび／またはユーザによって提供される入力に基づいて、第２の時間における仮想環境の状態を決定することができる。例えば、仮想環境内のオブジェクトが、ある時間に第１の座標に位置し、あるプログラムされた物理的パラメータ（例えば、質量、摩擦係数）を有し、ユーザから受信された入力が、力が、ある方向ベクトルにおいてオブジェクトに印加されるべきであると示す場合、プロセッサは、運動学の法則を適用し、基本的力学を使用してその時間におけるオブジェクトの場所を決定することができる。プロセッサは、仮想環境についての既知の任意の好適な情報および／または任意の好適な入力を使用し、ある時間における仮想環境の状態を決定することができる。仮想環境の状態を維持および更新する際、プロセッサは、仮想環境内の仮想オブジェクトの作成および削除に関連するソフトウェア、仮想環境内の仮想オブジェクトまたはキャラクタの挙動を定義するためのソフトウェア（例えば、スクリプト）、仮想環境内の信号（例えば、オーディオ信号）の挙動を定義するためのソフトウェア、仮想環境と関連付けられるパラメータを作成および更新するためのソフトウェア、仮想環境内のオーディオ信号を発生させるためのソフトウェア、入力および出力を取り扱うためのソフトウェア、ネットワーク動作を実装するためのソフトウェア、アセットデータ（例えば、経時的に仮想オブジェクトを移動させるためのアニメーションデータ）を適用するためのソフトウェア、または多くの他の可能性を含む、任意の好適なソフトウェアを実行することができる。
【００４３】
ディスプレイまたはスピーカ等の出力デバイスは、仮想環境の任意または全ての側面をユーザに提示することができる。例えば、仮想環境は、ユーザに提示され得る仮想オブジェクト（無生物オブジェクト、人物、動物、光等の表現を含み得る）を含んでもよい。プロセッサは、仮想環境のビュー（例えば、原点座標、視軸、および錐台を伴う「カメラ」に対応する）を決定し、ディスプレイに、そのビューに対応する仮想環境の視認可能な場面をレンダリングすることができる。任意の好適なレンダリング技術が、本目的のために使用されてもよい。いくつかの実施例では、視認可能な場面は、仮想環境内のいくつかの仮想オブジェクトのみを含み、ある他の仮想オブジェクトを除外してもよい。同様に、仮想環境は、１つ以上のオーディオ信号としてユーザに提示され得るオーディオ側面を含んでもよい。例えば、仮想環境内の仮想オブジェクトが、オブジェクトの場所座標から生じる音を発生させてもよい（例えば、仮想キャラクタが、発話する、または効果音を引き起こしてもよい）、または仮想環境は、特定の場所と関連付けられる場合とそうではない場合がある音楽的キューまたは周囲音と関連付けられてもよい。プロセッサが、「聴者」座標に対応するオーディオ信号、例えば、仮想環境内の音の複合物に対応し、聴者座標における聴者に聞こえるであろうオーディオ信号をシミュレートするために混合および処理されるオーディオ信号を決定し、１つ以上のスピーカを介してユーザにオーディオ信号を提示することができる。
【００４４】
仮想環境は、コンピュータ構造としてのみ存在するため、ユーザは、その通常の感覚を使用して仮想環境を直接知覚することができない。代わりに、ユーザは、例えば、ディスプレイ、スピーカ、触覚出力デバイス等によって、ユーザに提示されるような仮想環境を間接的にのみ知覚することができる。同様に、ユーザは、仮想環境に直接触れる、それを操作する、または別様にそれと相互作用することができないが、入力デバイスまたはセンサを介して、仮想環境を更新するためにデバイスまたはセンサデータを使用し得るプロセッサに入力データを提供することができる。例えば、カメラセンサは、ユーザが仮想環境内のオブジェクトを移動させようとしていることを示す光学データを提供することができ、プロセッサは、そのデータを使用し、オブジェクトに仮想環境内でそれに応じて応答させることができる。
【００４５】
デジタル反響および環境オーディオ処理
【００４６】
ＸＲシステムは、ユーザに、原点座標を伴う音源において生じ、本システム内の配向ベクトルの方向に進行するように現れる、オーディオ信号を提示することができる。ユーザは、それらが、音源の原点座標から生じ、配向ベクトルに沿って進行する、実オーディオ信号であるかのように、これらのオーディオ信号を知覚し得る。
【００４７】
ある場合には、オーディオ信号は、それらが、仮想環境内のコンピュータ信号に対応し、必ずしも、実環境内の実音に対応するわけではないという点で、仮想と見なされ得る。しかしながら、仮想オーディオ信号は、人間の耳によって検出可能な実オーディオ信号として、例えば、図１におけるウェアラブル頭部デバイス１００のスピーカ１２０Ａおよび１２０Ｂを介して発生されたものとして、ユーザに提示されることができる。
【００４８】
いくつかの仮想または複合現実環境は、環境が現実または本物であるように感じられないという知覚に悩まされる。本知覚の１つの理由は、オーディオおよび視覚的キューが、常時、仮想環境内で相互に合致するわけではないことである。仮想体験全体が、部分的に、実世界相互作用に基づく自身の予期に適合しないため、偽物であって、かつ本物ではないように感じ得る。わずかな点においてさえ、ユーザの環境内のオブジェクトと現実的に相互作用するように現れる、オーディオ信号を提示することによって、ユーザの体験を改良することが、望ましい。そのようなオーディオ信号が、実世界体験に基づく自身の予期により一貫するほど、ユーザの体験は、より没入型かつ魅力のあるものとなるであろう。
【００４９】
上記に議論されるように、プロセッサは、仮想環境内の音の複合物に対応するオーディオ信号を決定することができる。音の複合物は、ユーザの現在の環境の性質に基づいて発生されることができる。例示的性質は、限定ではないが、サイズ、形状、材料、および音響特性を含む。例えば、レンガ壁は、ガラス壁と異なる音を引き起こし得る。別の実施例として、音の音響特性は、長椅子が、不在であるときに対して、長椅子が、現在の環境内に位置しているときに異なり得る。プロセッサは、ユーザの現在の環境についての情報（例えば、１つ以上の性質）を使用し、下記に詳細に議論されるオーディオ信号処理に関する種々のパラメータを設定してもよい。パラメータは、ルックアップテーブルからの情報を決定するために使用されることができる。下記に開示される実施形態の利点は、低減されたメモリ要件、低減されたネットワーク帯域幅、低減された電力消費、低減された算出複雑性、および低減された算出遅延を含む。これらの利点は、処理リソース、ネットワーキングリソース、バッテリ容量、および物理的サイズおよび重量が、多くの場合、限られている、ウェアラブルシステムを含む、モバイルシステムに特に有意であり得る。
【００５０】
いくつかの実施形態では、プロセッサは、動的にパラメータを決定してもよい（例えば、オンザフライでインパルス応答を算出してもよい）。例えば、本システムは、メモリ内に１つ以上の所定の信号を記憶してもよい。ウェアラブル頭部ユニットは、試験オーディオ信号を発生させ、例えば、ウェアラブル頭部ユニットのセンサを介して、ユーザの現在の環境内のその応答を決定してもよい。応答は、例えば、ユーザの現在の環境を通して伝搬した反射オーディオ信号であってもよい。プロセッサは、試験オーディオ信号と反射オーディオ信号との間の変化に基づいて、パラメータを決定してもよい。反射オーディオ信号は、発生された試験オーディオ信号に応答してもよい。
【００５１】
いくつかの実施形態では、プロセッサは、ユーザの１つ以上のアクションに基づいて、パラメータを決定してもよい。例えば、プロセッサは、ウェアラブル頭部デバイス上のセンサを使用して、ユーザが、その注視標的を変化させたかどうか、ユーザが、そのバイタルサインを変化させたかどうか等を決定してもよい。プロセッサは、決定されたセンサ情報を使用し、ユーザのアクションをもたらすであろう現在の環境内のパラメータを決定してもよい。
【００５２】
ＡＲと同程度に動的な環境内で、オーディオ信号処理のために使用されるフィルタは、連続的に制御されなければならない。連続的制御は、ＰＰＥ、より具体的には、処理オーバーヘッドを殆ど伴わずに３バンドパラメトリックイコライザまたはトーン制御を作成するシェルビングフィルタのカスケードを使用して達成されることができる。
【００５３】
本システムは、パラメータ均等化を促進する二次無限インパルス応答（ＩＩＲ）フィルタトポロジを使用してもよい。１つのそのようなトポロジは、Ｒｅｇａｌｉａ−Ｍｉｔｒａトポロジである。Ｒｅｇａｌｉａ−Ｍｉｔｒａトポロジは、制御周波数の所与の値ωに関する「相互に相似の」応答を伴うパラメトリックシェルビングフィルタを取得するように修正されてもよい。
【００５４】
いくつかの実施例では、正確な３バンドパラメトリックイコライザ（例えば、ベース／ミドル／トレブル）が、２つの比例シェルビングフィルタをカスケードすることによって形成されてもよい。２つのフィルタをカスケードすることは、その利得ｋが、２つのフィルタの利得の積である、１つのフィルタを使用することと同等であり得る。一方のフィルタは、パラメトリック低シェルビングイコライザであってもよく、他方のフィルタは、パラメトリック高シェルビングイコライザであってもよい。低シェルビングイコライザを高シェルビングイコライザとカスケードすることは、二重シェルビングイコライザをもたらすことができる。二重シェルビングイコライザは、調節可能なクロスオーバ周波数を有してもよく、双二次ＨＲフィルタとして効率的に実装されてもよい。
【００５５】
例示的実装
【００５６】
図５は、ＸＲシステムの１つ以上のプロセッサによって等、ＸＲシステムによって実行され得る、例示的プロセス５００を図示する。例示的プロセス５００は、パラメトリックフィルタパラメータを決定するためにプロトタイプフィルタを使用し、対応する利得値を記憶するためにルックアップテーブルを使用し、ルックアップテーブルから利得情報を効率的に読み出すためにインデックス化スキームを使用する。いったん利得情報が、ルックアップテーブルから取得されると、制御周波数に関するデータ（例えば、利得値）が、算出される。各ステップは、下記にさらに詳細に議論され、非限定的実施例として例証される。
【００５７】
ステップ５１０において、本システムは、ある周波数におけるフィルタの大きさ応答を決定する。いくつかの実施形態では、本ステップは、１つ以上のフィルタの大きさ応答を算出するステップを含む。フィルタは、低シェルビングイコライザおよび高シェルビングイコライザ等の２つの別個のフィルタであり得る。上記に議論されるように、低シェルビングイコライザは、制御周波数Ｆｌを有することができ、高シェルビングイコライザは、制御周波数Ｆｈを有することができる。
【００５８】
いくつかの実施形態では、第１のフィルタの大きさ応答は、第２のフィルタの大きさ応答から決定されることができる（例えば、概算で導出されることができる）。本決定は、第２のフィルタの大きさ応答情報（例えば、利得）をスケーリングするステップと、所定の周波数量だけ周波数軸に沿ってデータ（例えば、スケーリングされた大きさ応答情報）を偏移させるステップとを含むことができる。所定の周波数量は、第２のフィルタのスケーリングされた大きさ応答情報を第１のフィルタに合致させるために必要とされる量であり得る。
【００５９】
いくつかの実施形態では、フィルタは、対称的であってもよい。したがって、第１のフィルタ（例えば、高シェルビングイコライザ）の大きさ応答は、周波数軸に沿って第２のフィルタ（例えば、低シェルビングイコライザ）の大きさ応答を反転させることによって決定されることができる。本開示の実施例はさらに、第１のフィルタが低シェルビングイコライザであり、第２のフィルタが高シェルビングイコライザであることを含む。
【００６０】
いくつかの実施形態では、プロトタイプフィルタの周波数応答は、事前算出されることができる。対応する大きさ応答もまた、事前算出され、メモリ内に記憶されることができる（ステップ５２０）。大きさ応答は、周波数値および関連付けられる利得値等の他の情報とともに、ルックアップテーブル内に記憶されることができる。
【００６１】
ステップ５３０において、ランタイム時、本システムは、ルックアップテーブルから大きさ応答情報を読み出す。ステップ５４０において、本システムは、本大きさ応答情報を使用し、制御周波数Ｆｌ、Ｆｍ、およびＦｈの所望の組み合わせに関する利得Ｇｈｌ、Ｇｈｍ、Ｇｌｍ、およびＧｌｈを算出する。次いで、本システムは、フィルタを実装し、算出された利得をオーディオ信号に適用することによって、オーディオ信号を処理することができる（ステップ５５０）。いくつかの実施形態では、プロセス５００は、処理されたオーディオ信号をウェアラブル頭部デバイスに送信する付加的ステップを含むことができる。
【００６２】
例示的大きさ応答決定
【００６３】
実施例目的のみのために、６４０Ｈｚの制御周波数を伴うプロトタイプフィルタが、選択されてもよい。６４０Ｈｚ制御周波数の１つの利点は、オーディオ用途のためのその適応性であり得る。６４０Ｈｚは、有用な人間の聴取距離に及ぶ、対数スケールで２０Ｈｚと２０ｋＨｚとの間のほぼ中間である。６４０Ｈｚ制御周波数の別の利点は、これが、（４４．１ｋＨｚまたは４８ｋＨｚサンプルレートを仮定して）ＤＣおよびナイキストから十分に離れ、ワーピング問題を回避することであり得る。本開示の実施例は、６４０Ｈｚ以外の制御周波数を含む。
【００６４】
図６は、例示的低シェルビングプロトタイプフィルタの大きさ応答を図示する。細い縦線は、サンプリング周波数点を示す。サンプリング周波数点は、ルックアップテーブル内の等間隔エントリであり得る。例えば、サンプリング周波数点は、１２オクターブ間隔を有してもよい。本開示全体を通して使用されるように、用語「フィルタ利得」は、制御周波数における利得を指す。いくつかの事例では、低シェルビングプロトタイプフィルタは、図に示されるように、６４０Ｈｚの制御周波数における１ｄＢの利得と、ＤＣにおける２ｄＢの利得とを有してもよい。
【００６５】
いくつかの実施形態では、それらの１２オクターブ周波数点におけるプロトタイプフィルタの大きさ応答は、ルックアップテーブル内に記憶されてもよい（ステップ５２０）。
【００６６】
いくつかの事例では、本ルックアップテーブルは、ＤＣまたはナイキストに近接する制御周波数を伴うフィルタに関して後で使用されてもよい（ステップ５３０）。大きさ応答決定からのデータは、十分に広い周波数範囲を網羅しない場合がある。いくつかの実施形態では、本システムは、飽和値に等しいようにそのようなフィルタの大きさ応答を設定してもよい。例えば、飽和値は、制御周波数が、２０Ｈｚを下回るとき、２ｄＢであってもよい、または、制御周波数が、２０ｋＨｚを上回るとき、０ｄＢであってもよい。本仮定される情報は、ルックアップテーブル内に記憶されてもよい（ステップ５２０において）。代替として、本システムは、制御周波数が、ルックアップテーブルに関する閾値範囲外であると決定してもよく、決定の結果として仮定される情報を使用してもよい。
【００６７】
図７Ａは、例示的低シェルビングイコライザの測定された大きさ応答を図示し、図７Ｂは、例示的低シェルビングイコライザの近似された大きさ応答を図示する。図７Ｃは、図７Ｂ上にオーバーレイされた図７Ａを図示する。図７Ｂに示される近似された大きさ応答は、周波数軸に沿って所定の周波数量だけプロトタイプフィルタを偏移させることによって取得されることができる。図に示されるように、プロトタイプフィルタは、非常に良好な近似を提供することができる。いくつかの実施例では、制御周波数が、ナイキストに接近するとき、低シェルビングイコライザに関する近似誤差が、存在し得る。いくつかの事例では、近似誤差は、制御周波数Ｆｌが、ナイキストに近接する可能性が低くあり得るため、性能に影響を及ぼさない場合がある。（概して言えば、Ｆｌは、Ｆｍよりも低く、Ｆｍは、Ｆｈよりも低い。）
【００６８】
図８Ａは、例示的高シェルビングイコライザの測定された大きさ応答を図示し、図８Ｂは、例示的高シェルビングイコライザの近似された大きさ応答を図示する。図８Ｃは、図８Ｂ上にオーバーレイされた図８Ａを図示する。図８Ｂに示される近似された大きさ応答は、周波数軸に沿ってプロトタイプフィルタを偏移させることによって取得されることができる。図に示されるように、プロトタイプフィルタは、非常に良好な近似を提供することができる。いくつかの実施例では、２つの利得ＧｈｌおよびＧｈｍの算出に影響を及ぼす、高シェルビングイコライザに関する近似誤差が、存在し得る。近似誤差は、制御周波数Ｆｈ、Ｆｌ、およびＦｍが、かなり高く（例えば、２ｋＨｚを上回って）設定される場合に顕著であり得る。
【００６９】
ルックアップテーブルおよびインデックス化スキーム
【００７０】
上記に議論されるように、ステップ５２０において、所与の周波数における大きさ応答が、ルックアップテーブル内に記憶されることができる。大きさ応答は、プロトタイプフィルタの関連付けられる利得値を示すことができる。図９Ａは、プロトタイプフィルタに関する周波数および関連付けられる利得値を含む、例示的ルックアップテーブルを図示する。１２オクターブ間隔を有する大きさ応答の前述の実施例に再び目を向けると、ルックアップテーブルは、サンプリング周波数点毎のエントリを含むことができる。例えば、図に示されるように、周波数Ｆ１は、テーブル内に記憶される関連付けられる利得Ｇ１を有することができ、周波数Ｆ２は、テーブル内に記憶される関連付けられる利得Ｇ２を有することができ、周波数Ｆ１２は、テーブル内に記憶される関連付けられる利得Ｇ１２を有することができ、以下同様である。このように、本システムは、ステップ５３０において、所与の着目周波数点に関してルックアップテーブルから対応する利得値を読み出してもよい。
【００７１】
いくつかの実施形態では、本システムは、インデックスを使用して利得情報を読み出すことができる。各周波数および対応する利得値のインデックスが、ルックアップテーブル内に記憶されることができる。図９Ｂは、インデックスおよび関連付けられる周波数および利得値を含む、例示的ルックアップテーブルを図示する。１２オクターブ間隔を有する大きさ応答の前述の実施例に再び目を向けると、ルックアップテーブルは、サンプリング周波数点毎のインデックスを含むことができる。任意の２つの周波数点（例えば、周波数点Ｆ１およびＦ２）のインデックスｉｄＦ２およびｉｄＦ１の間の関係は、以下のように表されることができる。
【化１】
2021525980.tif 000003
【００７２】
したがって、利得は、相対インデックスを算出するように方程式（１）を使用することによってテーブルから（図９Ｂにおける）アクセスされてもよい。例えば、Ｇｌｍ（その利得が、＋１ｄＢに設定されるとき、Ｆｍにおける低シェルビングイコライザのｄＢ利得）が、以下のそのインデックスを算出することによって導出されてもよい。
【化２】
2021525980.tif 000004
式中、ｉｄＦｃｐは、ルックアップテーブル内の制御周波数のインデックスである。いくつかの実施形態では、ルックアップテーブル内のインデックスは、図に示されるように、整数値であってもよい。一実施例として、図９Ｂのテーブル内の周波数Ｆ６は、インデックス６に対応し得る、６４０Ｈｚであってもよい。
【００７３】
いくつかの実施形態では、インデックス関係は、ｎオクターブ間隔上でサンプリングされるプロトタイプフィルタに一般化されてもよい。インデックス関係は、以下のように表されることができる。
【化３】
2021525980.tif 000005
【００７４】
いくつかの実施形態では、図９Ｂのルックアップテーブルは、低シェルビングフィルタおよび高シェルビングフィルタ等の複数のフィルタのために使用されることができる。例えば、ルックアップテーブルは、低シェルビングフィルタからの値を記憶することができ、高シェルビングフィルタ応答は、周波数軸に沿ってプロトタイプフィルタデータを反転させることによって取得されることができる。例えば、Ｇｈｌのインデックスは、以下のように算出されることができる。
【化４】
2021525980.tif 000006
【００７５】
いくつかの実施形態では、ルックアップテーブルは、大きさ応答情報の読出のために使用されるインデックスの半分の数を含むことができる。１２オクターブ間隔を有する大きさ応答の前述の実施例に再び目を向けると、ルックアップテーブルは、半分（例えば、６つ）のインデックスを含むことができる。６つのインデックスは、第１のフィルタ（例えば、低シェルビングフィルタ）に関する大きさ応答情報を記憶することができる。第２のフィルタ（例えば、高シェルビングフィルタ）に関する大きさ応答情報は、方程式（４）を使用することによって、テーブル内に記憶される第１のフィルタからの情報を使用することによって取得されることができる。このように、テーブル内の各インデックスは、複数の周波数のために使用されることができる。
【００７６】
図９Ｃは、半分の数のインデックスを含む、例示的ルックアップテーブルを図示する。インデックス１は、周波数Ｆ１（第１のフィルタ）および周波数Ｆ１２（第２のフィルタ）のために使用されることができ、インデックス２は、周波数Ｆ２（第１のフィルタ）および周波数Ｆ１１（第２のフィルタ）のために使用されることができ、以下同様である。
【００７７】
上記の方程式（１）−（４）は、本システムが、最近傍の制御周波数に対応する利得値を読み出すことを可能にするインデックス化公式である。本開示の実施例は、読み出された利得情報に対して１つ以上の補間方法を使用し、これを実際の周波数に対応するより正確な値に変換するステップを含むことができる。
【００７８】
例えば、残りのインデックスｉｄｒｅｍが、以下のように表されることができ、
【化５】
2021525980.tif 000007
フローリングインデックスｉｄＦが、以下のように表されることができる。
【化６】
2021525980.tif 000008
【００７９】
線形補間が、次いで、以下を用いて標的インデックスを生成してもよい。
【化７】
2021525980.tif 000009
【００８０】
利得算出
【００８１】
上記に議論されるように、ステップ５３０において、本システムは、ルックアップテーブルから大きさ応答情報を読み出す。大きさ応答情報は、利得値であり得る。二重シェルビングイコライザの低、中、および高制御周波数における所望のｄＢ利得が、以下のように表されることができる。
【化８】
2021525980.tif 000010
式中、ＫｌおよびＫｈは、それぞれ、それらの制御周波数における低および高シェルビングフィルタのｄＢ利得であり（図１に示されるように）、Ｋは、付加的広帯域利得であり、Ｇは、利得変換行列である。
【００８２】
利得変換行列Ｇは、以下のように記載されることができる。
【化９】
2021525980.tif 000011
式中、（１）Ｇｈｌは、その利得が、＋１ｄＢに設定されるとき、制御周波数Ｆｌにおける高シェルビングイコライザのｄＢ利得であり、（２）Ｇｈｍは、その利得が、＋１ｄＢに設定されるとき、制御周波数Ｆｍにおける高シェルビングイコライザのｄＢ利得であり、（３）Ｇｌｍは、その利得が、＋１ｄＢに設定されるとき、制御周波数Ｆｍにおける低シェルビングイコライザのｄＢ利得であり、（４）Ｇｌｈは、その利得が、＋１ｄＢに設定されるとき、制御周波数Ｆｈにおける低シェルビングイコライザのｄＢ利得である。
【００８３】
方程式（９）の行列反転から、内部利得に関する閉形式解が、以下のように決定され、表されることができる。
【化１０】
2021525980.tif 000012
【００８４】
利得行列の逆数が、以下のように表されることができ、
【化１１】
2021525980.tif 000013
式中、
【化１２】
2021525980.tif 000014
および、
【化１３】
2021525980.tif 000015
である。
【００８５】
方程式（１１）−（１３）から、本システムは、低および高シェルビングイコライザ利得を算出することができる。
【００８６】
独立した制御周波数
【００８７】
いくつかの実施形態では、３バンドパラメトリックイコライザの制御周波数は、二重シェルビングフィルタの制御周波数と異なってもよい。例えば、３バンドパラメトリックイコライザの制御周波数は、頭部サイズ等のユーザの１つまたは複数の性質に関連してもよい。一方、シェルビングフィルタの制御周波数は、本システムを通して制御されてもよく、これは、ユーザの性質に基づかない場合がある。このように、３バンドパラメトリックイコライザの制御周波数は、二重シェルビングフィルタの制御周波数から独立してもよい。
【００８８】
二重シェルビングイコライザの低、中、および高制御周波数における所望のｄＢ利得は、以下のように表されることができる。
【化１４】
2021525980.tif 000016
式中、ＫｌｃおよびＫｈｃは、それぞれ、それらの制御周波数における低および高シェルビングフィルタのｄＢ利得であり、Ｋは、付加的広帯域利得であり、Ｇは、利得変換行列である。
【００８９】
方程式（１４）から、利得変換行列Ｇは、以下のように記載されることができる。
【化１５】
2021525980.tif 000017
式中、（１）Ｇｈｃｌは、その利得が、＋１ｄＢに設定されるとき、制御周波数Ｆｌにおける高シェルビングイコライザのｄＢ利得であり、（２）Ｇｈｃｍは、その利得が、＋１ｄＢに設定されるとき、制御周波数Ｆｍにおける高シェルビングイコライザのｄＢ利得であり、（３）Ｇｈｃｈは、その利得が、＋１ｄＢに設定されるとき、制御周波数Ｆｈにおける高シェルビングイコライザのｄＢ利得であり、（４）Ｇｌｃｌは、その利得が、＋１ｄＢに設定されるとき、制御周波数Ｆｌにおける低シェルビングイコライザのｄＢ利得であり、（５）Ｇｌｃｍは、その利得が、＋１ｄＢに設定されるとき、制御周波数Ｆｍにおける低シェルビングイコライザのｄＢ利得であり、（６）Ｇｌｃｈは、その利得が、＋１ｄＢに設定されるとき、制御周波数Ｆｈにおける低シェルビングイコライザのｄＢ利得である。
【００９０】
方程式（１５）の行列反転から、内部利得に関する閉形式解が、以下のように決定され、表されることができる。
【化１６】
2021525980.tif 000018
【００９１】
利得行列の逆数が、以下のように表されることができ、
【化１７】
2021525980.tif 000019
式中、
【化１８】
2021525980.tif 000020
および、
【化１９】
2021525980.tif 000021
である。
【００９２】
方程式（１７）−（１９）から、本システムは、低および高シェルビングイコライザ利得を算出することができる。
【００９３】
フィルタの実装
【００９４】
フィルタは、次いで、それらの伝達関数に基づいて、容易に実装されることができる。図１０は、低シェルビングイコライザ、高シェルビングイコライザ、および二重シェルビングイコライザに関する周波数の関数としての例示的大きさ応答を示す。二重シェルビングイコライザは、複数の制御周波数、すなわち、低制御周波数Ｆｌ、中制御周波数Ｆｍ、および高制御周波数Ｆｈを有する、３バンドイコライザであってもよい。いくつかの実施例では、低シェルビングイコライザおよび高シェルビングイコライザの制御周波数は、それぞれ、二重シェルビングイコライザの低制御周波数Ｆｌおよび高制御周波数Ｆｈに合致することができる。
【００９５】
パラメトリック低シェルビングイコライザの伝達関数は、以下のように表されることができ、
【化２０】
2021525980.tif 000022
式中、
【化２１】
2021525980.tif 000023
であり、ｋは、ＤＣにおけるフィルタ利得であり、ＦＣは、低シェルビングイコライザの制御周波数であり、ＦＳは、サンプリング周波数である。いくつかの実施例では、制御周波数ωにおける利得は、√ｋであり、これは、ＤＣにおけるデシベル利得の半分である。
【００９６】
パラメトリック高シェルビングイコライザの伝達関数は、以下のように表されることができる。
【化２２】
2021525980.tif 000024
ここでは、ｋは、ナイキストにおけるフィルタ利得である。いくつかの実施例では、制御周波数ωにおける利得は、ｋであり、これは、ナイキストにおけるデシベル利得の半分である。
【００９７】
図１１Ａおよび１１Ｂは、それぞれ、周波数とともに単調に減少する標的大きさ応答を有する、二重シェルビングイコライザの例示的大きさ応答および例示的位相応答を図示する。本二重シェルビングイコライザは、環境音響モデリング用途等の多くの用途において有用であり得る。図に示されるように、大きさ応答は、周波数が、増加するにつれて、連続的に減少してもよい。図はまた、低シェルビングイコライザおよび高シェルビングイコライザの大きさ応答を示す。上記に開示される方法を使用して、３つの制御周波数における二重シェルビングイコライザの利得値は、２００Ｈｚにおいて−２．５ｄＢ、１，０００Ｈｚにおいて−５．０ｄＢ、および５，０００Ｈｚにおいて−１２．０ｄＢであるように決定される。したがって、開示される３バンドパラメトリックイコライザは、高正確度で制御周波数において規定される大きさ応答を達成する。
【００９８】
図１２Ａおよび１２Ｂは、それぞれ、周波数とともに単調に減少しない標的大きさ応答を有する、二重シェルビングイコライザの例示的大きさ応答および例示的位相応答を図示する。図に示されるように、２つのシェルビングイコライザは、同一のｄＢ利得符号を有するカスケードされたシェルビングイコライザであり得る。図はまた、低シェルビングイコライザおよび高シェルビングイコライザの大きさ応答を示す。上記に開示される方法を使用して、３つの制御周波数における二重シェルビングイコライザの利得値は、７５Ｈｚにおいて−３．０ｄＢ、１，５００Ｈｚにおいて４．５ｄＢ、および１２，０００Ｈｚにおいて−６．０ｄＢであるように決定される。したがって、開示される３バンドパラメトリックイコライザは、高正確度で制御周波数において規定される大きさ応答を達成する。
【００９９】
図１３Ａおよび１３Ｂは、それぞれ、その動作範囲の外側で動作される二重シェルビングイコライザの例示的大きさ応答および例示的位相応答を図示する。二重シェルビングイコライザは、要求される利得が、制御点に関して離れすぎ、したがって、周波数において近接するとき、その動作範囲の外側で動作され得る。図はまた、低シェルビングイコライザおよび高シェルビングイコライザの大きさ応答を示す。上記に開示される方法を使用して、３つの制御周波数における二重シェルビングイコライザの利得値は、３００Ｈｚにおいて４．０ｄＢ、１，２００Ｈｚにおいて−２．０ｄＢ、および４，０００Ｈｚにおいて１０．０ｄＢであるように決定される。図に示されるように、中間利得Ｇｍは、達成され得ない（約５ｄＢだけオフセットされる）。
【０１００】
上記に示されるように、Ｒａｇａｌｉａ−Ｍｉｔｒａ構造の修正は、３つの点、すなわち、ＤＣ、ナイキスト、およびフィルタの制御周波数におけるシェルビングフィルタに関する比例性質を厳密に尊重する設計を提供する。他の周波数において、比例関係は、おおよそで検証されている。実践では、［−１２ｄＢ、＋１２ｄＢ］内の利得ｋの設定に関して、正確度は、多くのオーディオ用途に関して十分に正確である。
【０１０１】
上記に説明されるシステムおよび方法に関して、本システムおよび方法の要素は、適宜、１つ以上のコンピュータプロセッサ（例えば、ＣＰＵまたはＤＳＰ）によって実装されることができる。本開示は、これらの要素を実装するために使用される、コンピュータプロセッサを含むコンピュータハードウェアの任意の特定の構成に限定されない。ある場合には、複数のコンピュータシステムが、上記に説明されるシステムおよび方法を実装するために採用されることができる。例えば、第１のコンピュータプロセッサ（例えば、マイクロホンに結合されるウェアラブルデバイスのプロセッサ）が、入力マイクロホン信号を受信し、それらの信号の初期処理（例えば、上記に説明されるもの等の信号調整および／またはセグメント化）を実施するために利用されることができる。第２の（おそらく、よりコンピュータ的に強力な）プロセッサが、次いで、それらの信号の発話セグメントと関連付けられる確率値の決定等のよりコンピュータ的に集約的な処理を実施するために利用されることができる。クラウドサーバ等の別のコンピュータデバイスが、発話認識エンジンをホストすることができ、それに入力信号が、最終的に提供される。他の好適な構成も、明白になり、本開示の範囲内である。
【０１０２】
開示される実施例は、付随の図面を参照して完全に説明されたが、種々の変更および修正が、当業者に明白となるであろうことに留意されたい。例えば、１つ以上の実装の要素は、組み合わせられ、削除され、修正され、または補完され、さらなる実装を形成してもよい。そのような変更および修正は、添付される請求項によって定義されるような開示される実施例の範囲内に含まれるものとして理解されるものである。
【図１】
2021525980.tif 000025
【図２】
2021525980.tif 000026
【図３】
2021525980.tif 000027
【図４】
2021525980.tif 000028
【図５】
2021525980.tif 000029
【図６】
2021525980.tif 000030
【図７Ａ】
2021525980.tif 000031
【図７Ｂ】
2021525980.tif 000032
【図７Ｃ】
2021525980.tif 000033
【図８Ａ】
2021525980.tif 000034
【図８Ｂ】
2021525980.tif 000035
【図８Ｃ】
2021525980.tif 000036
【図９Ａ】
2021525980.tif 000037
【図９Ｂ】
2021525980.tif 000038
【図９Ｃ】
2021525980.tif 000039
【図１０】
2021525980.tif 000040
【図１１】
2021525980.tif 000041
【図１２】
2021525980.tif 000042
【図１３】
2021525980.tif 000043
【国際調査報告】
2021525980.tif 000044
2021525980.tif 000045
2021525980.tif 000046
2021525980.tif 000047
2021525980.tif 000048