本明細書で開示され、特許請求される事柄は、多種多様なパーソナルANRデバイスに、すなわち、ユーザの耳の少なくとも一方の近辺にユーザによって少なくとも部分的に着用されて、その少なくとも一方の耳に対するANR機能を提供するように構成されたデバイスに適用可能であることが意図されている。ヘッドフォン、双方向通信ヘッドセット、イヤフォン、イヤバッド、(「イヤセット」としても知られる)ワイヤレスヘッドセット、およびイヤプロテクタなどの、パーソナルANRデバイスの様々な特定の実施が、ある程度の詳細さで提示されるが、特定の実現形態のそのような提示は、例の使用によって理解を容易にすることを意図したものであり、開示の範囲または特許請求の範囲が包含する範囲を限定するものと解釈されるべきではないことに留意されたい。
本明細書で開示され、特許請求される事柄は、双方向オーディオ通信、一方向オーディオ通信(すなわち、別のデバイスによって電子的に提供されるオーディオの音響的な出力)を提供する、またはまったく通信を提供しない、パーソナルANRデバイスに適用可能であることが意図されている。本明細書で開示され、特許請求される事柄は、他のデバイスにワイヤレスで接続される、他のデバイスに電気的および/もしくは光学的な伝導ケーブリングを介して接続される、または他のデバイスにまったく接続されない、パーソナルANRデバイスに適用可能であることが意図されている。本明細書で開示され、特許請求される事柄は、限定することなく、1つまたは2つのイヤピース(earpiece)を有するヘッドフォン、オーバヘッド型(over-the-head)のヘッドフォン、ビハインドネック型(behind-the-neck)のヘッドフォン、通信マイクロフォン(たとえばブームマイクロフォン)を有するヘッドセット、ワイヤレスヘッドセット(すなわちイヤセット)、単一のイヤフォンまたは一対のイヤフォンに加えて、オーディオ通信および/または耳保護を可能にする1つまたは2つのイヤピースを組み込んだハットまたはヘルメットも含む、ユーザの一方または両方の耳の近辺に着用されるように構成された物理的構成を有する、パーソナルANRデバイスに適用可能であることが意図されている。本明細書で開示され、特許請求される事柄を適用可能なパーソナルANRデバイスのまた別の物理的構成も当業者には明らかであろう。
パーソナルANRデバイスばかりでなく、本明細書で開示され、特許請求される事柄は、限定することなく、公衆電話ボックス、乗物の客室などを含む、人が座ること、または立つことができる、相対的に狭い空間におけるANRの実行にも適用可能であることが意図されている。
図1は、ユーザによって着用されて、ユーザの耳の少なくとも一方の近辺においてアクティブノイズリダクション(ANR)を提供するように構成された、パーソナルANRデバイス1000のブロック図を提供する。やはりより詳細に説明されるように、パーソナルANRデバイス1000は、多くの物理的構成のいずれかを有することができ、いくつかの可能な構成が、図2aから図2fに示されている。これらの示される物理的構成のいくつかは、ユーザの耳の一方のみにANRを実行する、単一のイヤピース100を含み、他の構成は、ユーザの耳の両方にANRを実行する、一対のイヤピース100を含む。しかし、説明を簡潔にするため、図1に関しては、単一のイヤピース100のみが示され、説明されることに留意されたい。やはりより詳細に説明されるように、パーソナルANRデバイス1000は、おそらくはパススルーオーディオをさらに提供するのに加えて、フィードバックベースのANRおよびフィードフォワードベースのANRの一方または両方を提供できる、少なくとも1つのANR回路2000を含む。図3aおよび図3bは、少なくとも部分的に動的に構成可能なANR回路2000の2つの可能な内部アーキテクチャを示している。さらに図4aから図4gは、いくつかの可能な信号処理トポロジを示しており、図5aから図5eは、それを採用するようにANR回路2000を動的に構成できる、いくつかの可能なフィルタブロックトポロジを示している。さらに、各イヤピース100の構造によって提供される少なくともある程度のパッシブノイズリダクション(PNR)に加えて、フィードバックベースのANRおよびフィードフォワードベースのANRの一方または両方が提供される。さらにまた、図6aから図6cは、信号処理トポロジ、フィルタブロックトポロジ、および/またはさらに別のANR設定を動的に構成する際に利用できる、3重バッファリングの様々な形態を示している。
各イヤピース100は、ケーシング110を含み、ケーシング110は、ケーシング110と、ユーザの耳に音を音響的に出力するためにケーシング内に配置された音響ドライバ190の少なくとも一部とによって、少なくとも部分的に定められるキャビティ112を有する。音響ドライバ190のこのような配置は、音響ドライバ190によってキャビティ112から分離された、ケーシング110内の別のキャビティ119も部分的に定める。ケーシング110は、キャビティ112への開口を取り囲むイヤカップリング(ear coupling)115であって、イヤカップリング115を通り抜けるように形成され、キャビティ112への開口とつながる通路117を有するイヤカップリング115を支える。いくつかの実現形態では、美的な理由からキャビティおよび/もしくは通路117を見えにくくするように、ならびに/またはケーシング110内のコンポーネントを損傷から保護するために、音響的に透過的なスクリーン、グリル、または他の形態の有孔パネル(図示されず)を、通路117内または通路117の近くに配置することができる。ユーザによってイヤピース100がユーザの耳の一方の近辺に着用された場合、通路117は、キャビティ112をその耳の外耳道に音響的に結合するが、イヤカップリング115は、それらの間に少なくともある程度の音響密閉を形成するように、耳の部分と係合する。この音響密閉は、ケーシング110、イヤカップリング115、および外耳道を取り囲むユーザの頭部の部分(耳の部分を含む)が協調して、ケーシング110およびユーザの頭部の外部の環境から、キャビティ112、通路117、および外耳道を少なくともある程度は音響的に絶縁し、それによって、ある程度のPNRを提供することを可能にする。
いくつかの変形では、キャビティ119は、1つまたは複数の音響ポート(そのうちの1つのみが示されている)を介して、ケーシング110の外部の環境に結合することができ、各音響ポートは、音響ドライバ190による音の音響的な出力の特性を高めるために、当業者であれば容易に理解できる方法で、寸法によって、選択された範囲の可聴周波数に同調させられる。また、いくつかの変形では、1つまたは複数の同調されたポート(図示されず)は、キャビティ112とキャビティ119を結合することができ、および/またはキャビティ112をケーシング110の外部の環境に結合することができる。具体的に示されてはいないが、スクリーン、グリル、または他の形態の有孔もしくは繊維状構造を、そのようなポートの1つまたは複数の中に配置して、破片もしくは他の汚染物質がそこを通過するのを防止し、および/またはそれを介して選択された程度の音響抵抗を提供することができる。
フィードフォワードベースのANRを実行する実現形態では、フィードフォワードマイクロフォン130が、ケーシング110の外部の環境に音響的にアクセス可能なように、ケーシング110の外側(またはパーソナルANRデバイス1000の他の部分)に配置される。フィードフォワードマイクロフォン130のこの外部配置は、フィードフォワードマイクロフォン130が、パーソナルANRデバイス1000によって提供されるいかなる形態のPNRまたはANRの影響も受けることなく、ケーシング110の外部の環境内の音響ノイズ源9900によって発せられる環境ノイズ音などの、環境ノイズ音を検出することを可能にする。フィードフォワードベースのANRに精通した当業者であれば容易に理解するように、フィードフォワードマイクロフォン130によって検出されるこれらの音は、フィードフォワードアンチノイズ音が導出される基準として使用され、その後、フィードフォワードアンチノイズ音は、音響ドライバ190によってキャビティ112内に音響的に出力される。フィードフォワードアンチノイズ音の導出は、パーソナルANRデバイス1000によって提供されるPNRの特性、フィードフォワードマイクロフォン130に対する音響ドライバ190の特性および位置、ならびに/またはキャビティ112および/もしくは通路117の音響特性を考慮する。フィードフォワードアンチノイズ音は、音響ドライバ190によって音響的に出力され、その振幅および時間シフトは、キャビティ112、通路117、および/または外耳道に入ることができる音響ノイズ源9900のノイズ音と、それらを少なくとも減衰させる減法的な方法で、音響的に相互作用するように計算される。
フィードバックベースのANRを実行する実現形態では、フィードバックマイクロフォン120が、キャビティ112内に配置される。フィードバックマイクロフォン120は、イヤピース100がユーザによって着用されたときに、外耳道の入口近くに配置されるように、キャビティ112の開口および/または通路117のすぐ近くに配置される。フィードバックマイクロフォン120によって検出される音は、フィードバックアンチノイズ音が導出される基準として使用され、その後、フィードバックアンチノイズ音は、音響ドライバ190によってキャビティ112内に音響的に出力される。フィードバックアンチノイズ音の導出は、フィードバックマイクロフォン120に対する音響ドライバ190の特性および位置、ならびに/またはキャビティ112および/もしくは通路117の音響特性に加えて、フィードバックベースのANRの提供の際に安定性を向上させる事項を考慮する。フィードバックアンチノイズ音は、音響ドライバ190によって音響的に出力され、その振幅および時間シフトは、キャビティ112、通路117、および/または外耳道に入ることができる(いかなるPNRによっても減衰されなかった)音響ノイズ源9900のノイズ音と、それらを少なくとも減衰させる減法的な方法で、音響的に相互作用するように計算される。
パーソナルANRデバイス1000は、ANR回路2000とイヤピース100の間に1対1の対応が存在するように、パーソナルANRデバイス1000の各イヤピース100につき1つの関連付けられたANR回路2000をさらに含む。各ANR回路2000の一部または実質的に全体は、それが関連付けられたイヤピース100のケーシング110内に配置することができる。代替的および/または追加的に、各ANR回路2000の一部または実質的に全体は、パーソナルANRデバイス1000の別の部分の中に配置することができる。ANR回路2000に関連付けられたイヤピース100において、フィードバックベースのANRおよびフィードフォワードベースのANRの一方が提供されるか、それとも両方が提供されるかに応じて、ANR回路2000は、フィードバックマイクロフォン120およびフィードフォワードマイクロフォン130の一方または両方にそれぞれ結合される。ANR回路2000は、アンチノイズ音の音響的な出力を引き起こすために、音響ドライバ190にさらに結合される。
パススルーオーディオを提供するいくつかの実現形態では、ANR回路2000は、音響ドライバ190によって音響的に出力されるパススルーオーディオをオーディオ源9400から受け取るために、オーディオ源9400にも結合される。パススルーオーディオは、音響ノイズ源9900から発せられるノイズ音とは異なり、パーソナルANRデバイス1000のユーザが聴くことを望むオーディオである。実際、ユーザは、音響ノイズ音の侵入なしに、パススルーオーディオを聴くことができるように、パーソナルANRデバイス1000を着用することができる。パススルーオーディオは、録音されたオーディオ、送信されたオーディオ、またはユーザが聴くことを望む様々な他の形態のオーディオのいずれかの再生とすることができる。いくつかの実現形態では、オーディオ源9400は、限定することなく、統合オーディオ再生コンポーネントまたは統合オーディオレシーバコンポーネントを含む、パーソナルANRデバイス1000内に組み込むことができる。他の実現形態では、パーソナルANRデバイス1000は、ワイヤレスで、または電気的もしくは光学的な伝導ケーブルを介して、オーディオ源9400に結合するための機能を含み、その場合、オーディオ源9400は、パーソナルANRデバイス1000とは完全に別個のデバイス(たとえば、CDプレーヤ、デジタルオーディオファイルプレーヤ、セルフォンなど)である。
他の実現形態では、パススルーオーディオは、パーソナルANRデバイス1000の変形に統合された、双方向通信において利用される通信マイクロフォン140から受け取られ、その双方向通信では、通信マイクロフォン140がパーソナルANRデバイス1000のユーザによって発せられた言語音を検出するように配置される。そのような実現形態では、ユーザが、パーソナルANRデバイス1000を着用していないときに、自分の声を普通に聞くのと実質的に同様に、自分の声を聞くことができるように、ユーザによって発せられた言語音の減衰された形態または別の変更を受けた形態を、通信側音(communications sidetone)として、ユーザの一方の耳または両方の耳に音響的に出力することができる。
少なくともANR回路2000の動作のサポートにおいて、パーソナルANRデバイス1000は、記憶デバイス170および電源180の一方もしくは両方、ならびに/または処理デバイス(図示されず)をさらに含むことができる。より詳細に説明されるように、ANR回路2000は、フィードバックベースのANRおよび/またはフィードフォワードベースのANRを構成するために用いられるANR設定を取得するために、(おそらくはデジタルシリアルインタフェースを介して)記憶デバイス170にアクセスすることができる。やはりより詳細に説明されるように、電源180は、限られた容量の電力貯蔵デバイス(たとえばバッテリ)とすることができる。
図2aから図2fは、図1のパーソナルANRデバイス1000によって採用され得る様々な可能な物理的構成を示している。先に説明したように、パーソナルANRデバイス1000の異なる実現形態は、1つまたは2つのイヤピース100を有することができ、各イヤピース100がユーザの耳の近辺に配置され得るように、ユーザの頭部に、またはユーザの頭部の近くに着用されるように構成される。
図2aは、各々がイヤカップ(earcup)の形態をとり、ヘッドバンド102によって接続される、一対のイヤピース100を含む、パーソナルANRデバイス1000の「オーバヘッド」型の物理的構成1500aを示している。しかし、具体的には示されていないが、物理的構成1500aの代替的な変形は、ヘッドバンド102に接続されるただ1つのイヤピース100を含むことができる。物理的構成1500aの別の代替的な変形は、ヘッドバンド102を、後頭部の周りおよび/またはユーザの首の後に着用されるように構成される異なるバンドで置き換えることができる。
物理的構成1500aでは、イヤピース100の各々は、典型的な人間の耳の耳介に対するサイズに応じて、「オンイヤ(on-ear)」型(一般に「耳載せ(supra-aural)」型とも呼ばれる)または「アラウンドイヤ(around-ear)」型(一般に「耳覆い(circum-aural)」型とも呼ばれる)のイヤカップとすることができる。先に説明したように、各イヤピース100は、キャビティ112がその中に形成されるケーシング110を有し、ケーシング110は、イヤカップリング115を支える。この物理的構成では、イヤカップリング115は、キャビティ112への開口の周囲を取り囲み、キャビティ112とつながる通路117がそこを通って形成される、(おそらくはリング形の)柔軟なクッションの形態をとる。
イヤピース100がオーバイヤ型(over-the-ear)のイヤカップとして着用されるように構成される場合、ケーシング110とイヤカップリング115は、一緒になってユーザの耳の耳介を実質的に取り囲む。したがって、パーソナルANRデバイス1000のそのような変形が正しく着用された場合、ヘッドバンド102とケーシング110は、協力して、イヤカップリング115を、耳の耳介を取り囲むユーザの頭部の側面の部分に、実質的に耳介が隠されて見えなくなるように押し当てる。イヤピース100がオンイヤ型のイヤカップとして着用されるように構成される場合、ケーシング110とイヤカップリング115は、協力して、関連する外耳道の入口を取り囲む耳介の周囲部分を覆う。したがって、正しく着用された場合、ヘッドバンド102とケーシング110は、協力して、イヤカップリング115を、耳介の部分に、耳介の周囲の部分が見えたままになるように押し当てる。イヤカップリング115の柔軟な材料を、耳介の部分、または耳介を取り囲む頭部の側面の部分に押し当てることで、通路117を介して外耳道をキャビティ112に音響的に結合することと、PNRの提供を可能にする先に説明された音響密閉を形成することがともにもたらされる。
図2bは、実質的に物理的構成1500aに類似しているが、イヤピース100の一方がマイクロフォンブーム142を介してケーシング110に接続される通信マイクロフォン140を追加的に含む、別のオーバヘッド型の物理的構成1500bを示している。イヤピース100のうちのこの特定のイヤピース100が正しく着用された場合、マイクロフォンブーム142は、ケーシング110からユーザの頬の一部にほぼ沿って延びて、ユーザの口から音響的に出力される言語音を検出するために、ユーザの口のすぐ近くに通信マイクロフォン140を位置付ける。しかし、具体的には示されていないが、通信マイクロフォン140がより直接的にケーシング110上に配置され、マイクロフォンブーム142が中空のチューブであって、ユーザの口の近辺の一方の端部と、通信マイクロフォン140の近辺の他方の端部に開口を有し、口の近辺から通信マイクロフォン140の近辺まで音を伝える、物理的構成1500bの代替的な変形も可能である。
また、図2bは、マイクロフォンブーム142および通信マイクロフォン140を含むイヤピース100のうちの一方のみしか含まない、パーソナルANRデバイス1000の物理的構成1500bのまた別の変形も可能であることを明瞭にするために、破線を用いて他方のイヤピース100を示している。そのような別の変形でも、ヘッドバンド102は、依然として存在し、ユーザの頭にかぶせて着用され続ける。
図2cは、各々がインイヤ型のイヤフォンの形態をとり、コードおよび/または電気的もしくは光学的な伝導ケーブリング(図示されず)によって接続されてもよく、あるいは接続されなくてもよい、一対のイヤピース100を含む、パーソナルANRデバイス1000の「インイヤ(in-ear)」型(一般に「耳挿入(intra-aural)」型とも呼ばれる)の物理的構成1500cを示している。しかし、具体的には示されていないが、物理的構成1500cの代替的な変形は、イヤピース100のうちの一方のみしか含まなくてもよい。
先に説明したように、イヤピース100の各々は、オープンキャビティ112がその中に形成され、イヤカップリング115を支える、ケーシング110を有する。この物理的構成では、イヤカップリング115は、キャビティ112とつながる通路117を定める実質的に中空のチューブ状の形態をとる。いくつかの実現形態では、イヤカップリング115は、ケーシング110とは異なる材料(おそらくは、ケーシング110を形成する材料よりも柔軟な材料)から形成され、他の実現形態では、イヤカップリング115は、ケーシング110と一体で形成される。
ケーシング110および/またはイヤカップリング115の部分は、協力して、ユーザの耳の甲介および/または外耳道の部分と係合し、ケーシング110が、イヤカップリング115を介してキャビティ112を外耳道に音響的に結合する方向を向いて、外耳道の入口の近辺に留まることを可能にする。したがって、イヤピース100が適切に配置された場合、外耳道への入口は、PNRの提供を可能にする先に説明した音響密閉を生み出すように、実質的に「塞がれる」。
図2dは、実質的に物理的構成1500cに類似しているが、イヤピース100の一方がケーシング110上に配置される通信マイクロフォン140を追加的に含むシングルイヤヘッドセット(「イヤセット」と呼ばれることもある)の形態をとる、パーソナルANRデバイス1000の別のインイヤ型の物理的構成1500dを示している。このイヤピース100が正しく着用された場合、通信マイクロフォン140は、ユーザによって発せられる言語音を検出するように選択された、ユーザの口の近辺の方向をおおよそ向く。しかし、具体的には示されていないが、音がユーザの口の近辺からチューブ(図示されず)を介して通信マイクロフォン140まで伝えられる、またはケーシング110に接続され、通信マイクロフォン140をユーザの口の近辺に位置付けるブーム(図示されず)上に、通信マイクロフォン140が配置される、物理的構成1500dの代替的な変形も可能である。
図2dには具体的に示されていないが、通信マイクロフォン140を有する物理的構成1500dをとる示されたイヤピース100は、図2dに示されたイヤピース100にコードもしくは伝導ケーブリング(やはり図示されず)を介して接続されてもよく、または接続されなくてもよい、(図2cに示されたイヤピース100の一方などの)インイヤ型のイヤフォンの形態を有する別のイヤピースを伴ってもよく、または伴わなくてもよい。
図2eは、ケーシング110がハンドセットのケーシングとなるように、ハンドセットの残りの部分と一体で形成される単一のイヤピース100を含み、ハンドセットと対をなし得るクレードル台(cradle base)に伝導ケーブリング(図示されず)によって接続されてもよく、または接続されなくてもよい、パーソナルANRデバイス1000の双方向通信ハンドセット型の物理的構成1500eを示している。物理的構成1500aおよび1500bのどちらかのオンイヤ型の変形であるイヤピース100の一方とは異なって、物理的構成1500eのイヤピース100は、通路117がキャビティ112を外耳道に音響的に結合できるように、耳の耳介の部分に押し当てられるように構成されるイヤカップリング115の形態をとる。様々な可能な実現形態では、イヤカップリング115は、ケーシング110とは異なる材料で形成することができ、またはケーシング110と一体で形成することができる。
図2fは、実質的に物理的構成1500eと類似しているが、ケーシング110が、ポータブルワイヤレス通信用途にさらにいくぶん適した形状をなし、クレードル台を使用することなく、電話番号のダイアリングおよび/または無線周波数チャネルの選択を可能にする、ユーザインタフェースコントロールおよび/またはディスプレイをおそらくは含む、パーソナルANRデバイス1000の別の双方向通信ハンドセット型の物理的構成1500fを示している。
図3aおよび図3bは、ANR回路2000が動的に構成可能なデジタル回路から少なくとも部分的に構成されるパーソナルANRデバイス1000の実施において、ANR回路2000によってどちらかを利用することができる、可能な内部アーキテクチャを示している。言い換えると、図3aおよび図3bの内部アーキテクチャは、ANR回路2000の動作中に、多種多様な信号処理トポロジおよびフィルタブロックトポロジのいずれかを採用するように動的に構成可能である。図4aから図4gは、このようにANR回路2000によって採用され得る信号処理トポロジの様々な例を示しており、図5aから図5eは、このように採用された信号処理トポロジ内で使用するために、やはりANR回路2000によって採用され得るフィルタブロックトポロジの様々な例を示している。しかし、当業者であれば容易に理解するように、ANR回路2000が、大部分または完全に、アナログ回路および/またはそのような動的構成可能性を欠いたデジタル回路を用いて実施される、パーソナルANRデバイス1000の他の実施も可能である。
ANR回路2000の回路が少なくとも部分的にデジタルである実施において、ANR回路2000によって受け取られる、または出力される、音を表すアナログ信号は、やはりそれらの音を表すデジタルデータに変換する必要が、またはデジタルデータから生成する必要があることがある。より具体的には、内部アーキテクチャ2200aおよび2200bの両方において、フィードバックマイクロフォン120およびフィードフォワードマイクロフォン130から受け取られるアナログ信号は、ANR回路2000のアナログデジタル変換器(ADC)によってデジタル化され、加えて、オーディオ源9400または通信マイクロフォン140から受け取ることができるパススルーオーディオを表すアナログ信号はいずれも、ANR回路2000のアナログデジタル変換器(ADC)によってデジタル化される。また、音響ドライバ190に提供されて、音響ドライバ190にアンチノイズ音および/またはパススルーオーディオを音響的に出力させるアナログ信号はいずれも、ANR回路2000のデジタルアナログ変換器(DAC)によってデジタルデータから生成される。さらに、音を表すアナログ信号またはデジタルデータに、それぞれアナログ形式またはデジタル形式の可変利得増幅器(VGA)によって操作を施して、それらの表された音の振幅を変更することができる。
図3aは、音を表すデジタルデータを操作するデジタル回路が、スイッチングデバイスからなる1つまたは複数のアレイを介して選択的に相互接続される、ANR回路2000の可能な内部アーキテクチャ2200aを示しており、スイッチングデバイスは、ANR回路2000の動作中に、それらの相互接続を動的に構成することを可能にする。スイッチングデバイスのそのような使用は、様々なデジタル回路の間でデジタルデータを移動させるための経路を、プログラミングによって定義することを可能にする。より具体的には、様々な数量および/またはタイプのデジタルフィルタからなるブロックは、フィードバックベースのANR、フィードフォワードベースのANR、およびパススルーオーディオに関連するどのデジタルデータが、これらの機能を実行するために転送されるかによって定義することができる。内部アーキテクチャ2200aを利用する際、ANR回路2000は、ADC 210、310、410と、処理デバイス510と、ストレージ520と、インタフェース(I/F) 530と、スイッチアレイ540と、フィルタバンク550と、DAC 910とを含む。様々な可能な変形は、アナログVGA 125、135、145のうちの1つまたは複数、VGAバンク560、クロックバンク570、圧縮コントローラ950、さらなるADC 955、および/またはオーディオ増幅器960をさらに含むことができる。
ADC 210は、フィードバックマイクロフォン120からアナログ信号を受け取り、ADC 310は、フィードフォワードマイクロフォン130からアナログ信号を受け取り、ADC 410は、オーディオ源9400または通信マイクロフォン140からアナログ信号を受け取る。さらに詳細に説明されるように、ADC 210、310、410のうちの1つまたは複数は、関連するアナログ信号を、それぞれアナログVGA 125、135、145のうちの1つまたは複数を介して受け取ることができる。ADC 210、310、410の各々のデジタル出力は、スイッチアレイ540に結合される。ADC 210、310、410の各々は、広く知られたシグマデルタアナログデジタル変換アルゴリズム(sigma-delta analog-to-digital conversion algorithm)の変形を、電力節約を理由として、また他のアルゴリズムでは変換プロセスの結果として導入されることがある可聴ノイズ音を表すデジタルデータを低減する特有の能力を理由として、利用するように設計することができる。しかし、当業者であれば容易に理解するように、他の様々なアナログデジタル変換アルゴリズムのいずれでも利用することができる。さらに、いくつかの実現形態では、少なくともADC 410は、少なくともパススルーオーディオが、アナログ信号ではなく、デジタルデータとして、ANR回路2000に提供される場合は、バイパスしてもよく、および/または完全に省いてもよい。
フィルタバンク550は、複数のデジタルフィルタを含み、その各々は、スイッチアレイ540に結合される入力および出力を有する。いくつかの実現形態では、フィルタバンク550内のデジタルフィルタのすべては、同じタイプに属するが、他の実現形態では、フィルタバンク550は、異なるタイプのデジタルフィルタの混在を含む。示されるように、フィルタバンク550は、複数のダウンサンプリングフィルタ552と、複数の双2次(バイカッド)フィルタ(biquadratic (biquad) filter) 554と、複数の補間フィルタ556と、複数の有限インパルス応答(FIR)フィルタ(finite impulse response filter) 558の混在を含むが、当業者であれば容易に理解するように、他の様々なフィルタを含むこともできる。さらに、異なる各タイプのデジタルフィルタの間で、異なるデータ転送レートをサポートするように、デジタルフィルタを最適化することができる。例を挙げると、バイカッドフィルタ554のうちの異なるバイカッドフィルタは、異なるビット幅の係数値を利用することができ、またはFIRフィルタ558のうちの異なるFIRフィルタは、異なる数量のタップを有することができる。VGAバンク560は(存在するならば)、複数のデジタルVGAを含み、その各々は、スイッチアレイ540に結合される入力および出力を有する。また、DAC 910は、スイッチアレイ540に結合されるデジタル入力を有する。クロックバンク570は(存在するならば)、選択されたデータ転送レートでコンポーネント間のデータを刻時するため、および/または他の目的で、複数のクロック信号を同時に提供する、スイッチアレイ540に結合される複数のクロック信号出力を備える。いくつかの実現形態では、複数のクロック信号の少なくとも一部は、異なる経路における異なるデータ転送レートを同時にサポートするために、複数の組ごとに、互いに(multiples of one another)同期がとられ、それらの異なる経路におけるそれらの異なるデータ転送レートでのデータの移動は、同期がとられる。
スイッチアレイ540のスイッチングデバイスは、ADC 210、310、410のデジタル出力のうちの異なるデジタル出力と、フィルタバンク550のデジタルフィルタの入力および出力と、VGAバンク560のデジタルVGAの入力および出力と、DAC 910のデジタル入力とを選択的に結合して、様々な音を表すデジタルデータが移動するための経路のトポロジを定義する、それらの間の1組の相互接続を形成するように動作可能である。スイッチアレイ540のスイッチングデバイスは、クロックバンク570のクロック信号出力のうちの異なるクロック信号出力を、フィルタバンク550のデジタルフィルタのうちの異なるデジタルフィルタ、および/またはVGAバンク560のデジタルVGAのうちの異なるデジタルVGAに選択的に結合するようにも動作可能である。主にこのようにして、内部アーキテクチャ2200aのデジタル回路は、動的に構成可能になる。このように、様々な数量およびタイプのデジタルフィルタおよび/またはデジタルVGAを、フィードバックベースのANR、フィードフォワードベースのANR、およびパススルーオーディオに関連するデジタルデータのフローのために定義される異なる経路沿いの様々な地点に配置して、それらの経路の各々において、デジタルデータによって表される音を変更すること、および/または新しい音を表す新しいデジタルデータを導出することができる。また、このように、異なるデータ転送レートを選択することができ、それによって、デジタルデータは、経路の各々において異なるレートで刻時される。
フィードバックベースのANR、フィードフォワードベースのANR、および/またはパススルーオーディオのサポートにおいて、フィルタバンク550内のデジタルフィルタの入力および出力をスイッチアレイ540に結合することで、スイッチアレイ540を介して複数のデジタルフィルタの入力および出力を結合して、フィルタのブロックを作成することが可能になる。当業者であれば容易に理解するように、複数のより低次のデジタルフィルタを組み合わせて、フィルタのブロックを形成することによって、より高次のフィルタを使用することなく、複数のより低次のデジタルフィルタを協調させて、より高次の機能を実施することができる。さらに、様々なタイプのデジタルフィルタを有する実現形態では、フィルタの混在を利用して、より一層多様な機能を実行する、フィルタのブロックを作成することができる。例を挙げると、フィルタバンク550内に示された様々なフィルタを用いて、ダウンサンプリングフィルタ552の少なくとも1つ、バイカッドフィルタ554のうちの複数のバイカッドフィルタ、補間フィルタ556の少なくとも1つ、およびFIRフィルタ558の少なくとも1つを有する、フィルタブロック(すなわちフィルタのブロック)を作成することができる。
いくつかの実現形態では、スイッチアレイ540のスイッチングデバイスの少なくともいくつかは、2進論理デバイスを用いて実施することができ、2進論理デバイスは、基本的な2進算術演算を実施して加算ノードを作成するために、スイッチアレイ540自体を使用することを可能にし、加算ノードでは、デジタルデータの異なる部分が流れる経路が、デジタルデータのそれらの異なる部分が算術的に加算、平均、および/または他の方法で結合されるように合流する。そのような実現形態では、スイッチアレイ540は、動的にプログラム可能な論理デバイスのアレイの変形に基づくことができる。代替的および/または追加的に、2進論理デバイスのバンクまたは他の形態の算術論理回路(図示されず)は、ANR回路2000内に組み込むこともでき、それらの2進論理デバイスおよび/または他の形態の算術論理回路の入力および出力も、スイッチアレイ540に結合される。
音を表すデータのフローのための経路を作成することによってトポロジを採用する、スイッチアレイ540のスイッチングデバイスの動作において、フィードバックベースのANRに関連するデジタルデータのフローのための経路の作成に優先権を与えて、スイッチングデバイスを通る際の待ち時間をできるだけ短くすることができる。また、フィルタバンク550およびVGAバンク560において利用可能なデジタルフィルタおよびVGAの中から、それぞれデジタルフィルタおよびVGAを選択する際に、優先権を与えて、待ち時間をできるだけ短くすることができる。さらに、フィードバックベースのANRに関連するデジタルデータのための経路において利用される、フィルタバンク550のデジタルフィルタに提供される係数および/または他の設定は、経路を定義する際に利用されるスイッチアレイ540のスイッチングデバイスから、どれだけの待ち時間が生じるかに応答して、調整することができる。フィードバックアンチノイズ音を導出および/または音響的に出力する機能を実行する際に利用されるコンポーネントの待ち時間に対する敏感さが、フィードバックベースのANRの方がより高いことを認識して、そのような対策がとられることがある。そのような待ち時間は、フィードフォワードベースのANRにおいても関心事ではあるが、フィードフォワードベースのANRは一般に、そのような待ち時間に対して、フィードバックベースのANRよりも敏感さが低い。結果として、デジタルフィルタおよびVGAの選択、ならびにフィードフォワードベースのANRに関連するデジタルデータのフローのための経路の作成には、フィードバックベースのANRに与えられる優先度よりも低いが、パススルーオーディオに与えられる優先度よりも高い優先度を与えることができる。
処理デバイス510は、スイッチアレイ540に加えて、ストレージ520およびインタフェース530の両方にも結合される。処理デバイス510は、限定することなく、汎用中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、縮小命令セットコンピュータ(RISC)プロセッサ、マイクロコントローラ、またはシーケンサを含む、様々なタイプの処理デバイスのいずれかとすることができる。ストレージ520は、限定することなく、動的ランダムアクセスメモリ(DRAM)、静的ランダムアクセスメモリ(SRAM)、強磁性ディスク記憶、光ディスク記憶、または様々な不揮発性ソリッドステート記憶技術のいずれかを含む、様々なデータ記憶技術のいずれかに基づくことができる。実際、ストレージ520は、揮発性部分および不揮発性部分の両方を含むことができる。さらに、ストレージ520は、あたかも単一のコンポーネントであるかのように示され、説明されるが、おそらくは揮発性コンポーネントと不揮発性コンポーネントの組み合わせを含む、複数のコンポーネントから構成できることを当業者であれば理解されよう。インタフェース530は、記憶デバイス170(ストレージ520と混同してはならない)および/またはANR回路2000の外部の他のデバイス(たとえば、他の処理デバイスもしくは他のANR回路)をそれによって結合できる、デジタルシリアルバスを含む1つまたは複数のデジタル通信バスにANR回路2000を結合するのをサポートすることができる。さらに、インタフェース530は、手動操作可能なコントロール、インジケータ灯、または利用可能な電力の表示を提供する電源180の部分などの他のデバイスをサポートするために、1つまたは複数の汎用入力/出力(GPIO)電気接続および/またはアナログ電気接続を提供することができる。
いくつかの実現形態では、処理デバイス510は、ストレージ520にアクセスして、ローディングルーチン522の一連の命令を読み取り、ローディングルーチン522は、処理デバイス510によって実行された場合、インタフェース530が記憶デバイス170にアクセスして、ANRルーチン525およびANR設定527の一方または両方を取り出し、またそれらをストレージ520に記憶するように、処理デバイス510にインタフェース530を操作させる。他の実現形態では、ANRルーチン525およびANR設定527の一方または両方は、ANR回路2000に供給される電力が失われた場合でも、記憶デバイス170からそれらを取り出す必要がないように、ストレージ520の不揮発性部分に記憶される。
ANRルーチン525およびANR設定527の一方または両方が記憶デバイス170から取り出されるかどうかに関係なく、処理デバイス510は、ストレージ520にアクセスして、ANRルーチン525の一連の命令を読み取る。その後、処理デバイス510は、その一連の命令を実行し、一連の命令は、先に詳述したように、処理デバイス510に、音を表すデジタルデータのフローのための経路を定義するトポロジを採用するためにスイッチアレイ540のスイッチングデバイスを構成させ、ならびに/または異なるクロック信号を1つもしくは複数のデジタルフィルタおよび/もしくはVGAに提供させる。いくつかの実現形態では、やはり処理デバイス510にストレージ520から読み取らせたANR設定527の一部によって指定されるように、処理デバイス510にスイッチングデバイスを構成させる。さらに、ANR設定527の一部によって指定されるように、処理デバイス510に、フィルタバンク550の様々なデジタルフィルタのフィルタ係数、VGAバンク560の様々なVGAの利得設定、および/またはクロックバンク570のクロック信号出力のクロック周波数を設定させる。
いくつかの実現形態では、ANR設定527は、フィルタ係数、利得設定、クロック周波数、および/またはスイッチアレイ540のスイッチングデバイスの構成からなる複数の組を指定し、異なる状況に応じて、そのうちの異なる組が使用される。他の実現形態では、ANRルーチン525の一連の命令の実行は、処理デバイス510に、異なる状況に応じて、フィルタ係数、利得設定、クロック周波数、および/またはスイッチングデバイス構成からなる異なる組を導出させる。例を挙げると、電源180から利用可能な電力を示す電源180からの信号をインタフェース530が監視するように、処理デバイス510にインタフェース530を操作させることができ、処理デバイス510に、利用可能な電力の量の変化に応答して、フィルタ係数、利得設定、クロック周波数、および/またはスイッチングデバイス構成からなる異なる組の間で動的な切り替えを実行させることができる。
別の例を挙げると、提供されるフィードバックベースのANRおよび/またはフィードフォワードベースのANRの程度を変更したほうが望ましいかどうかを判定するために、処理デバイス510に、フィードバックベースのANR、フィードフォワードベースのANR、および/またはパススルーオーディオに係わるデジタルデータによって表される音の特性を監視させることができる。当業者であれば精通しているように、高程度のANRの実行は、かなりの環境ノイズが減衰される場合には非常に望ましいものになり得るが、高程度のANRの実行が、ANRの実行がより僅かな場合に比べて、パーソナルANRデバイスのユーザにとって、よりノイズの多いまたはさもなければより不快な音響環境を実際には生み出し得る、他の状況も存在し得る。したがって、1つまたは複数の音の観測された特性に応答して、減衰の程度、および/または実行されるANRによって減衰される環境ノイズの周波数の範囲を調整するために、処理デバイス510にANRの実行を変更させることができる。さらに、当業者であればやはり精通しているように、減衰の程度および/または周波数の範囲の低減が望ましい場合、フィードバックベースのANRおよび/またはフィードフォワードベースのANRを実施する際に使用されるフィルタの数量および/またはタイプを簡素化することが可能なことがあり、電力消費の低減という追加的な利益を伴う、そのような簡素化を実行するために、処理デバイス510に、フィルタ係数、利得設定、クロック周波数、および/またはスイッチングデバイス構成からなる異なる組の間で動的な切り替えを実行させることができる。
DAC 910には、パーソナルANRデバイス1000のユーザの耳に音響的に出力される音を表すデジタルデータがスイッチアレイ540から提供され、DAC 910は、デジタルデータを、それらの音を表すアナログ信号に変換する。オーディオ増幅器960は、このアナログ信号をDAC 910から受け取り、それらの音の音響的な出力を達成する音響ドライバ190を駆動するのに十分な大きさにアナログ信号を増幅する。
圧縮コントローラ950は(存在すれば)、振幅が大きすぎる兆候、クリッピングが発生しそうな兆候、クリッピングが実際に発生した事実、および/または他のオーディオアーチファクトが発生しそうな他の兆候もしくは実際に発生した他の事実がないかどうか、音響的に出力される音を監視する。圧縮コントローラ950は、DAC 910に提供されるデジタルデータを直接的に監視することができ、またはオーディオ増幅器960によって出力されるアナログ信号を(存在すればADC 955を介して)監視することができる。そのような兆候に応答して、圧縮コントローラ950は、さらに詳細に説明されるように、振幅を調節するために、アナログVGA 125、135、145(存在すれば)の1つもしくは複数についての利得設定、ならびに/またはフィードバックベースのANR機能、フィードフォワードベースのANR機能、およびパススルーオーディオ機能の1つもしくは複数に関連する経路に配置される、VGAバンク560のVGAの1つもしくは複数についての利得設定を変更することができる。さらに、いくつかの実現形態では、圧縮コントローラ950は、外部制御信号の受け取りに応答して、そのような調整を行うこともできる。そのような外部信号は、フィードバックベースのANR機能およびフィードフォワードベースのANR機能の一方または両方に予期できない反応を起こさせ得る例外的に大きな環境ノイズ音などの条件を検出したことに応答して、そのような外部制御信号を提供する、ANR回路2000に結合される別のコンポーネントによって提供することができる。
図3bは、処理デバイスが、記憶された機械可読の一連の命令にアクセスし、実行する、ANR回路2000の別の可能な内部アーキテクチャ2200bを示しており、一連の命令は、ANR回路2000の動作中に動的に構成できる方法で、処理デバイスに、音を表すデジタルデータを操作させる。処理デバイスのそのような使用は、トポロジにおけるデジタルデータを移動させるための経路を、プログラミングによって定義することを可能にする。より具体的には、様々な数量および/またはタイプのデジタルフィルタを定義し、具現化(instantiate)することができ、デジタルフィルタの各タイプは、一連の命令に基づく。内部アーキテクチャ2200bを利用する場合、ANR回路2000は、ADC 210、310、410と、処理デバイス510と、ストレージ520と、インタフェース530と、ダイレクトメモリアクセス(DMA)デバイス541と、DAC 910とを含む。様々な可能な変形は、アナログVGA 125、135、145のうちの1つまたは複数、ADC 955、および/またはオーディオ増幅器960をさらに含むことができる。処理デバイス510は、1つまたは複数のバスを介して、ストレージ520、インタフェース530、DMAデバイス541、ADC 210、310、410、およびDAC 910に、それらの動作を処理デバイス510が少なくとも制御できるように、直接的または間接的に結合される。処理デバイス510は、アナログVGA 125、135、145のうちの1つまたは複数(存在すれば)、およびADC 955(存在すれば)にも同様に結合することができる。
内部アーキテクチャ2200aと同様に、処理デバイス510は、様々なタイプの処理デバイスのいずれかとすることができ、やはり、ストレージ520も、様々なデータ記憶技術のいずれかに基づくことができ、複数のコンポーネントから構成することができる。さらに、インタフェース530は、ANR回路2000を1つまたは複数のデジタル通信バスに結合することをサポートすることができ、1つまたは複数の汎用入力/出力(GPIO)電気接続および/またはアナログ電気接続を提供することができる。DMAデバイス541は、セカンダリ処理デバイス、個別デジタル論理、バスマスタリングシーケンサ(bus mastering sequencer,)、または他の様々な技術のいずれかに基づくことができる。
ストレージ520内には、ローディングルーチン522、ANRルーチン525、ANR設定527、ANRデータ529、ダウンサンプリングフィルタルーチン553、バイカッドフィルタルーチン555、補間フィルタルーチン557、FIRフィルタルーチン559、およびVGAルーチン561のうちの1つまたは複数が記憶される。いくつかの実現形態では、処理デバイス510は、ストレージ520にアクセスして、ローディングルーチン522の一連の命令を読み取り、ローディングルーチン522は、処理デバイス510によって実行された場合、インタフェース530が記憶デバイス170にアクセスして、ANRルーチン525、ANR設定527、ダウンサンプリングフィルタルーチン553、バイカッドフィルタルーチン555、補間フィルタルーチン557、FIRルーチン559、およびVGAルーチン561のうちの1つまたは複数取り出し、またそれらをストレージ520に記憶するように、処理デバイス510にインタフェース530を操作させる。他の実現形態では、これらのうちの1つまたは複数は、記憶デバイス170からそれらを取り出す必要がないように、ストレージ520の不揮発性部分に記憶される。
内部アーキテクチャ2200aにおいてそうだったように、(デジタルデータを直接的に受け取ることによって、ADC 210、310、410のうちの1つまたは複数の使用が不要にならない限り)ADC 210は、フィードバックマイクロフォン120からアナログ信号を受け取り、ADC 310は、フィードフォワードマイクロフォン130からアナログ信号を受け取り、ADC 410は、オーディオ源9400または通信マイクロフォン140からアナログ信号を受け取る。やはり、ADC 210、310、410のうちの1つまたは複数は、関連するアナログ信号を、それぞれアナログVGA 125、135、145のうちの1つまたは複数を介して受け取ることができる。やはり内部アーキテクチャ2200aにおいてそうだったように、DAC 910は、パーソナルANRデバイス1000のユーザの耳に音響的に出力される音を表すデジタルデータをアナログ信号に変換し、オーディオ増幅器960は、それらの音の音響的な出力を達成する音響ドライバ190を駆動するのに十分な大きさにこの信号を増幅する。
しかし、音を表すデジタルデータがスイッチングデバイスのアレイを通して転送される、内部アーキテクチャ2200aとは異なり、そのようなデジタルデータは、ストレージ520内に記憶され、ストレージ520から取り出される。いくつかの実現形態では、処理デバイス510は、反復的にADC 210、310、410にアクセスして、それらが受け取ったアナログ信号に関連するデジタルデータを、ストレージ520に記憶するために取り出し、DAC 910によって出力されるアナログ信号に関連するデジタルデータをストレージ520から反復的に取り出し、そのアナログ信号の生成を可能にするために、そのデジタルデータをDAC 910に提供する。他の実現形態では、DMAデバイス541は(存在すれば)、処理デバイス510とは独立に、ADC 210、310、410、ストレージ520、およびDAC 910の間でデジタルデータを転送する。また別の実現形態では、ADC 210、310、410、および/またはDAC 910は、処理デバイス510とは独立に、各々がストレージ520にデジタルデータを書き込み、および/またはストレージ520からデジタルデータを読み取ることを可能にする、「バスマスタリング」機能を含む。ANRデータ529は、ADC 210、310、410から取り出されたデジタルデータ、ならびに処理デバイス510、DMAデバイス541、および/またはバスマスタリング機能によってDAC 910に提供されるデジタルデータから構成される。
ダウンサンプリングフィルタルーチン553、バイカッドフィルタルーチン555、補間フィルタルーチン557、およびFIRフィルタルーチン559は各々、処理デバイス510に、ダウンサンプリングフィルタ、バイカッドフィルタ、補間フィルタ、およびFIRフィルタをそれぞれ定義する計算の組み合わせを実行させる、一連の命令からから構成される。さらに、異なるタイプのデジタルフィルタの各々の中には、それらのデジタルフィルタの変形も存在してよく、そのような変形は、異なるデータ転送レートのために最適化され、限定することなく、異なるビット幅の係数または異なる数量のタップを含む。同様に、VGAルーチン561は各々、処理デバイス510に、VGAを定義する計算の組み合わせを実行させる、一連の命令からから構成される。具体的には示されていないが、同様に加算ノードを定義する一連の命令から構成される加算ノードルーチンも、ストレージ520内に記憶することができる。
ANRルーチン525は、フィードバックベースのANR、フィードフォワードベースのANR、および/またはパススルーオーディオをサポートするために、処理デバイス510に、ダウンサンプリングフィルタルーチン553、バイカッドフィルタルーチン555、補間フィルタルーチン557、FIRフィルタルーチン559、およびVGAルーチン561によって定義される、様々な数量のデジタルフィルタおよびVGAを含む経路を有する、信号処理トポロジを作成させる、一連の命令から構成される。ANRルーチン525は、処理デバイス510に、そのトポロジに含まれる様々なフィルタおよびVGAの各々を定義する計算も実行させる。さらに、ANRルーチン525は、処理デバイス510に、ADC 210、310、410、ストレージ520、およびDAC 910の間でのデータの移動を実行させ、あるいは処理デバイス510に、DMAデバイス541による(存在すれば)、またはADC 210、310、410、および/もしくはDAC 910によって実行されるバスマスタリング動作による、そのようなデータの移動の実行を調整させる。
ANR設定527は、トポロジ特性(デジタルフィルタの選択を含む)、フィルタ係数、利得設定、クロック周波数、データ転送レート、および/またはサイズを定義するデータから構成される。いくつかの実現形態では、トポロジ特性は、トポロジに組み込まれる任意の加算ノードの特性も定義することができる。信号処理トポロジを作成(デジタルフィルタの選択を含む)する際、トポロジに組み込まれる各デジタルフィルタのフィルタ係数を設定する際、およびトポロジに組み込まれる各VGAの利得を設定する際、ANRルーチン525は、処理デバイス510に、ANR設定527から取得されたそのようなデータを利用させる。さらに、ADC 210、310、410のため、トポロジに組み込まれるデジタルフィルタのため、トポロジに組み込まれるVGAのため、およびDAC 910のためのクロック周波数および/またはデータ転送レートを設定する際にも、ANRルーチン525は、処理デバイス510に、ANR設定527からのそのようなデータを利用させる。
いくつかの実現形態では、ANR設定527は、トポロジ特性、フィルタ係数、利得設定、クロック周波数、および/またはデータ転送レートからなる複数の組を指定し、異なる状況に応じて、その中の異なる組が使用される。他の実現形態では、ANRルーチン525の一連の命令の実行は、処理デバイス510に、異なる状況において、与えられた信号処理トポロジのための、フィルタ係数、利得設定、クロック周波数、および/またはデータ転送レートからなる異なる組を導出させる。例を挙げると、電源180から利用可能な電力を示す電源180からの信号をインタフェース530が監視するように、処理デバイス510にインタフェース530を操作させることができ、処理デバイス510に、利用可能な電力の量の変化に応答して、フィルタ係数、利得設定、クロック周波数、および/またはデータ転送レートからなる異なる組を利用させることができる。
別の例を挙げると、1つまたは複数の音の観測された特性に応答して、必要とされるANRの程度を調整するために、処理デバイス510に、ANRの実行を変更させることができる。減衰されるノイズ音の減衰の程度および/または周波数の範囲の低減が可能および/または望ましい場合、フィードバックベースのANRおよび/またはフィードフォワードベースのANRを実施する際に使用されるフィルタの数量および/またはタイプを簡素化することが可能なことがあり、電力消費の低減という追加的な利益を伴う、そのような簡素化を実行するために、処理デバイス510に、フィルタ係数、利得設定、クロック周波数、および/またはデータ転送レートからなる異なる組の間で動的な切り替えを実行させることができる。
したがって、ANRルーチン525の一連の命令を実行する際、フィードバックベースのANR、フィードフォワードベースのANR、およびパススルーオーディオを提供する際に処理デバイス510によって利用される経路を定義する信号処理トポロジを採用する準備として、処理デバイス510に、ANR設定527からデータを取り出させる。ANR設定527からのフィルタ係数、利得設定、および/または他のデータを利用する、デジタルフィルタ、VGA、および/または加算ノードの複数の具現例(instance)を、処理デバイス510に具現化させる。その場合、さらに、処理デバイス510に、ANR設定527から取り出されたデータに従った方法で、デジタルフィルタ、VGA、および加算ノードのそれらの具現例の各々を定義する計算を実行させ、デジタルフィルタ、VGA、および加算ノードのそれらの具現例の間でデジタルデータを移動させ、またADC 210、310、410、ストレージ520、およびDAC 910の間でのデジタルデータの移動を少なくとも調整させる。その後、ANRルーチン525は、パーソナルANRデバイス1000の動作中に、処理デバイス510に、信号処理トポロジ、デジタルフィルタ、フィルタ係数、利得設定、クロック周波数、および/またはデータ転送レートを変更させることができる。主にこのようにして、内部アーキテクチャ2200bのデジタル回路は、動的に構成可能になる。また、このように、様々な数量およびタイプのデジタルフィルタおよび/またはデジタルVGAを、デジタルデータのフローのために定義されたトポロジにおける経路沿いの様々な地点に配置して、より詳細に説明されるように、そのデジタルデータによって表される音を変更すること、および/または新しい音を表す新しいデジタルデータを導出することができる。
いくつかの実現形態では、ANRルーチン525は、処理デバイス510に、ADC 210の操作、ならびにフィードバックベースのANRに関連するデジタルデータのフローのために定義される経路沿いに配置される、デジタルフィルタ、VGA、および/または加算ノードの計算の実行に優先権を与えさせることができる。フィードバック基準音の検出とフィードバックアンチノイズ音の音響的な出力との間の待ち時間に対する敏感さが、フィードバックベースのANRの方がより高いことを認識して、そのような対策がとられることがある。
ANRルーチン525は、さらに、処理デバイス510に、振幅が大きすぎる兆候、クリッピング、クリッピングが発生しそうな兆候、および/または実際に発生している、もしくは発生しそうな兆候のある他のオーディオアーチファクトがないかどうか、音響的に出力される音を監視させることができる。そのような兆候がないかどうか、処理デバイス510に、DAC 910に提供されるデジタルデータを直接的に監視させること、またはオーディオ増幅器960によって出力されるアナログ信号を(ADC 955を介して)監視させることができる。より詳細に説明されるように、そのような兆候に応答して、処理デバイス510に、アナログ信号の少なくとも1つの振幅を調整するために、アナログVGA 125、135、145の1つもしくは複数を操作させることができ、および/またはデジタルデータによって表される少なくとも1つの音の振幅を調整するために、トポロジの経路内に配置される、VGAルーチン561に基づいたVGAの1つまたは複数を操作させることができる。
図4aから図4gは、図1のパーソナルANRデバイス1000のANR回路2000によって採用され得る、いくつかの可能な信号処理トポロジを示している。先に説明したように、パーソナルANRデバイス1000のいくつかの実現形態は、ANR回路2000の動作中に異なる信号処理トポロジを採用するために、ANR回路2000を動的に構成できるように、少なくとも部分的にプログラム可能なANR回路2000の変形を利用することができる。代替として、パーソナルANRデバイス1000の他の実現形態は、1つの変化しない信号処理トポロジを採用するように、実質的に変更不能に構成されたANR回路2000の変形を含むことができる。
先に説明したように、ANR回路2000のうちの別個のANR回路が、各イヤピース100に関連付けられ、したがって、一対のイヤピース100を有するパーソナルANRデバイス1000の実施も、一対のANR回路2000を含む。しかし、当業者であれば容易に理解するように、電源180など、一対のANR回路2000をサポートするために、パーソナルANRデバイス1000に組み込まれる他の電子コンポーネントは、重複しなくてもよい。説明を簡潔にし、理解を図るため、図4a〜図4gに関しては、ただ1つのANR回路2000についての信号処理トポロジが提示され、説明される。
やはり先に説明したように、パーソナルANRデバイス1000の異なる実現形態は、フィードバックベースのANRもしくはフィードフォワードベースのANRの一方のみを提供することができ、または両方を提供することができる。さらに、異なる実現形態は、パススルーオーディオを追加的に提供してもよく、または提供しなくてもよい。したがって、図4a〜図4gには、フィードバックベースのANR、フィードフォワードベースのANR、およびパススルーオーディオの3つすべてを実施する信号処理トポロジが示されるが、これら2つの形態のANRの一方もしくは他方だけしか提供されない、および/またはパススルーオーディオが提供されない、これらの信号処理トポロジの各々の変形が可能であることを理解されたい。ANR回路2000が少なくとも部分的にプログラム可能である実現形態では、これら2つの形態のANRのどちらが提供されるか、および/または両方の形態のANRが実行されるかどうかは、ANR回路2000の動作中に動的に選択可能とすることができる。
図4aは、ANR回路2000をそれ用に構成および/またはプログラムできる、可能な信号処理トポロジ2500aを示している。ANR回路2000が信号処理トポロジ2500aを採用する場合、ANR回路2000は、少なくともDAC 910、圧縮コントローラ950、およびオーディオ増幅器960を含む。フィードバックベースのANRおよびフィードフォワードベースのANRの一方をサポートするか、それとも両方をサポートするかに部分的に依存して、ANR回路2000は、ADC 210, 310, 410、および/もしくは955の1つまたは複数、フィルタブロック250、350、および/もしくは450、ならびに/または加算ノード270および/もしくは290をさらに含む。
フィードバックベースのANRの実行がサポートされる場合、ADC 210は、フィードバックマイクロフォン120によって検出されたフィードバック基準音を表す、フィードバックマイクロフォン120からのアナログ信号を受け取る。ADC 210は、フィードバックマイクロフォン120からのアナログ信号をデジタル化し、フィードバックマイクロフォン120によって出力されたアナログ信号に対応するフィードバック基準データを、フィルタブロック250に提供する。フィルタブロック250内の1つまたは複数のデジタルフィルタは、ADC 210からのデータを変更して、フィードバックアンチノイズ音を表すフィードバックアンチノイズデータを導出するために利用される。フィルタブロック250は、フィードフォワードベースのANRもサポートされる加算ノード270をおそらくは介して、フィードバックアンチノイズデータをVGA 280に提供する。
フィードフォワードベースのANRの実行もサポートされる場合、ADC 310は、フィードフォワードマイクロフォン130からアナログ信号を受け取り、それをデジタル化し、フィードフォワードマイクロフォン130によって出力されたアナログ信号に対応するフィードフォワード基準データを、フィルタブロック350に提供する。フィルタブロック350内の1つまたは複数のデジタルフィルタは、ADC310から受け取ったフィードフォワード基準データを変更して、フィードフォワードアンチノイズ音を表すフィードフォワードアンチノイズデータを導出するために利用される。フィルタブロック350は、フィードバックベースのANRもサポートされる加算ノード270をおそらくは介して、フィードフォワードアンチノイズデータをVGA 280に提供する。
VGA 280では、(加算ノード270を介して、または介さずに)VGA 280によって受け取られたデータによって表される、フィードバックアンチノイズ音およびフィードフォワードアンチノイズ音の一方または両方の振幅を、圧縮コントローラ950の制御下で変更することができる。VGA 280は、(振幅変更を施された、または施されない)データを、トークスルーオーディオ(talk-through audio)もサポートされる加算ノード290をおそらくは介して、DAC 910に出力する。
パススルーオーディオがサポートされるいくつかの実現形態では、ADC 410は、オーディオ源9400、通信マイクロフォン140、または別の音源から受け取ったパススルーオーディオを表すアナログ信号をデジタル化し、デジタル化された結果をフィルタブロック450に提供する。パススルーオーディオがサポートされる他の実現形態では、オーディオ源9400、通信マイクロフォン140、または別の音源は、アナログデジタル変換の必要なしに、パススルーオーディオを表すデジタルデータをフィルタブロック450に提供する。フィルタブロック450内の1つまたは複数のデジタルフィルタは、パススルーオーディオを表すデジタルデータを変更して、パススルーオーディオデータの変更された変形を導出するために利用され、そのような変形において、パススルーオーディオは、再等化および/または他の方法で良質化することができる。フィルタブロック450は、パススルーオーディオデータがVGA 280によって提供されたデータと合成されてDAC 910に渡される加算ノード290に、パススルーオーディオデータを提供する。
DAC 910によって出力されたアナログ信号は、オーディオ増幅器960に提供されて、フィードバックアンチノイズ音、フィードフォワードアンチノイズ音、およびパススルーオーディオのうちの1つまたは複数を音響的に出力する音響ドライバ190を駆動するのに十分な大きさに増幅される。圧縮コントローラ950は、圧縮コントローラ950によって検出された、クリッピングが発生しそうな兆候、実際に発生したクリッピング、および/または他の望ましくないオーディオアーチファクトに応答して、フィルタブロック250、350の一方または両方によって出力されるデータによって表される音の振幅を低減できるように、VGA 280の利得を制御する。圧縮コントローラ950は、加算ノード290によってDAC 910に提供されるデータを監視すること、またはオーディオ増幅器960のアナログ信号出力をADC 955を介して監視することができる。
図4aにおいてさらに説明されるように、信号処理トポロジ2500aは、フィードバックベースのANR、フィードフォワードベースのANR、およびパススルーオーディオに関連するデジタルデータがそれに沿って流れる、複数の経路を定義する。フィードバックベースのANRがサポートされる場合、少なくともADC 210、フィルタブロック250、VGA 280、およびDAC 910の間の、フィードバック基準データおよびフィードバックアンチノイズデータのフローが、フィードバックベースのANRの経路200を定義する。同様に、フィードフォワードベースのANRがサポートされる場合、少なくともADC 310、フィルタブロック350、VGA 280、およびDAC 910の間の、フィードフォワード基準データおよびフィードフォワードアンチノイズデータのフローが、フィードフォワードベースのANRの経路300を定義する。さらに、パススルーオーディオがサポートされる場合、少なくともADC 410、フィルタブロック450、加算ノード290、およびDAC 910の間の、パススルーオーディオデータおよび変更されたパススルーオーディオデータのフローが、パススルーオーディオの経路400を定義する。フィードバックベースのANRおよびフィードフォワードベースのANRの両方がサポートされる場合、経路200および経路300はともに、加算ノード270をさらに含む。さらに、パススルーオーディオもサポートされる場合、経路200および/または経路300は、加算ノード290を含む。
いくつかの実現形態では、音を表すデジタルデータは、存在する経路200、300、400のすべてにわたって、同じデータ転送レートで刻時することができる。したがって、経路200と経路300が加算ノード270において結合される場合、ならびに/または経路400が経路200および経路300の一方もしくは両方と加算ノード290において結合される場合、すべてのデジタルデータは、共通のデータ転送レートで刻時され、その共通のデータ転送レートは、共通の同期データ転送クロックによって設定することができる。しかし、当業者に知られているように、また先に説明したように、フィードフォワードベースのANR機能およびパススルーオーディオ機能は、待ち時間に対して、フィードバックベースのANR機能ほどには敏感ではない。さらに、フィードフォワードベースのANR機能およびパススルーオーディオ機能は、フィードバックベースのANR機能に比べて、より低いデータサンプリングレートを用いて、より容易に実施され、十分に高品質の音をもたらす。したがって、他の実現形態では、経路300および/または経路400の部分は、経路200よりも遅いデータ転送レートで動作することができる。好ましくは、経路200、300、400の各々についてのデータ転送レートは、より遅いデータ転送レートで動作させられる経路300および/または経路400の部分のために選択されたデータ転送レートの整数倍であるデータ転送レートで、経路200が動作するように選択される。
例を挙げると、経路200、300、400の3つすべてが存在する実現形態では、経路200は、(たとえば、減衰させようとしているノイズ音と位相がずれたアンチノイズ音を有すること、もしくは減衰させるよりも大きなノイズを実際には発生させるような負のノイズリダクションが生じることなどによって)ANRの実行が過度に損なわれない十分に高品質のフィードバックベースのANRを可能にする、および/または少なくともフィードバックアンチノイズ音の提供の際に十分に高品質の音を可能にする、十分に短い待ち時間を提供するように選択された、データ転送レートで動作させられる。その一方で、ADC 310から加算ノード270までの経路300の部分、およびADC 410から加算ノード290までの経路400の部分はともに、やはり依然として、経路300における十分に高品質のフィードフォワードベースのANRを可能にする、ならびに経路300を介するフィードフォワードアンチノイズおよび/または経路400を介するパススルーオーディオの提供の際に十分に高品質の音を可能にする、より低いデータ転送レート(同じまたは異なるより低いデータ転送レート)で動作させられる。
パススルーオーディオ機能が、フィードフォワードベースのANR機能に比べて、より長い待ち時間およびより低いサンプリングレートに対して、はるかに許容性が高いことがある可能性を認識して、経路400の部分において利用されるデータ転送レートは、経路300の部分のデータ転送レートよりもさらに低くすることができる。1つの変形では、転送レートのそのような違いをサポートするため、加算ノード270および加算ノード290の一方または両方は、異なるデータ転送レートで加算ノード270および加算ノード290によって受け取られるデジタルデータの合成を可能にするために、サンプルアンドホールド、バッファリング、または他の適切な機能を含むことができる。これは、加算ノード270および加算ノード290の各々への2つの異なるデータ転送クロックの提供を伴うことがある。代替として、別の変形では、転送レートのそのような違いをサポートするため、フィルタブロック350およびフィルタブロック450の一方または両方は、(おそらくは、補間フィルタまたはアップサンプリング機能を含む他の様々なフィルタを含むことによって)アップサンプリング機能を含むことができ、フィルタブロック350およびフィルタブロック450がそれぞれ加算ノード270および加算ノード290にデジタルデータを提供するデータ転送レートを高めて、フィルタブロック250が加算ノード270に、その後、加算ノード290にデジタルデータを提供するデータ転送レートに一致させることができる。
いくつかの実現形態では、複数の電力モードをサポートできることがあり、電源180からの電力の利用可能性に応答して、および/または変化したANR要件に応答して、経路300および経路400のデータ転送レートが動的に変更される。より具体的には、経路300および経路400の一方または両方の、それらが経路200と結合される地点までのデータ転送レートは、電源180から利用可能な電力が減少している兆候に応答して、ならびに/または処理デバイス510が、ANRによって減衰させるノイズ音の減衰の程度および/もしくは周波数の範囲を低減できることを示す特性を、デジタルデータによって表される音において検出したことに応答して、低減することができる。データ転送レートのそのような低減が可能であるかどうかの判定を行う際、処理デバイス510に、データ転送レートのそのような低減が、経路200、300、400のうちの1つまたは複数を介する音の品質、ならびに/または提供されるフィードバックベースのANRおよび/もしくはフィードフォワードベースのANRの品質に及ぼす影響を評価させることができる。
図4bは、ANR回路2000をそれ用に構成および/またはプログラムできる、可能な信号処理トポロジ2500bを示している。ANR回路2000が信号処理トポロジ2500bを採用する場合、ANR回路2000は、少なくともDAC 910、オーディオ増幅器960、ADC 210、一対の加算ノード230、270、および一対のフィルタブロック250、450を含む。ANR回路2000は、ADC 410、ADC 310、フィルタブロック350、および加算ノード370のうちの1つまたは複数をさらに含むことができる。
ADC 210は、フィードバックマイクロフォン120によって検出されたフィードバック基準音を表す、フィードバックマイクロフォン120からのアナログ信号を受け取り、デジタル化し、対応するフィードバック基準データを、加算ノード230に提供する。いくつかの実現形態では、ADC 410は、オーディオ源9400、通信マイクロフォン140、または別の音源から受け取ったパススルーオーディオを表すアナログ信号をデジタル化し、デジタル化された結果をフィルタブロック450に提供する。他の実現形態では、オーディオ源9400、通信マイクロフォン140、または別の音源は、アナログデジタル変換の必要なしに、パススルーオーディオを表すデジタルデータをフィルタブロック450に提供する。フィルタブロック450内の1つまたは複数のデジタルフィルタは、パススルーオーディオを表すデジタルデータを変更して、パススルーオーディオデータの変更された変形を導出するために利用され、そのような変形において、パススルーオーディオは、再等化および/または他の方法で良質化することができる。フィルタブロック450内の1つまたは複数のデジタルフィルタは、変更されたパススルーオーディオデータを、周波数がより高い音と周波数がより低い音とに分割するクロスオーバ(crossover)としても機能し、周波数がより高い音を表すデータは、加算ノード270に出力され、周波数がより低い音を表すデータは、加算ノード230に出力される。様々な実現形態では、フィルタブロック450において利用されるクロスオーバ周波数は、ANR回路2000の動作中に動的に選択可能であり、クロスオーバ機能を効果的に無効にして、変更されたパススルーオーディオのすべての周波数を、加算ノード230または加算ノード270の一方に出力させるように選択することができる。このように、変更されたパススルーオーディオが、信号処理トポロジ2500b内において、フィードバックANR機能のためのデータと合成される地点を、選択可能にすることができる。
今説明したように、ADC 210からのフィードバック基準データは、加算ノード230において、パススルーオーディオ機能のためのフィルタブロック450からのデータ(周波数がより低い音、または変更されたパススルーオーディオのすべて)と合成することができる。加算ノード230は、おそらくは合成されたデータを、フィルタブロック250に出力する。フィルタブロック250内の1つまたは複数のデジタルフィルタは、加算ノード230からのデータを変更して、少なくともフィードバックアンチノイズ音と、おそらくはさらに変更されたパススルーオーディオ音を表す、変更されたデータを導出するために利用される。フィルタブロック250は、変更されたデータを、加算ノード270に提供する。加算ノード270は、変更されたパススルーオーディオの周波数がより高い音をおそらくは表す、フィルタブロック450からのデータを、フィルタブロック250からの変更されたデータと合成し、その結果を、アナログ信号を生成するDAC 910に提供する。フィルタブロック450による加算ノード270へのデータの提供は、フィードフォワードベースのANRの実行もサポートされる、加算ノード370を介することができる。
フィルタブロック450において利用されるクロスオーバ周波数が動的に選択可能である場合、フィルタブロック450を構成するフィルタの様々な特性も、動的に構成することができる。例を挙げると、フィルタブロック450を構成するデジタルフィルタの数および/またはタイプが、動的に変更可能であるのに加えて、それらのデジタルフィルタの各々についての係数もそうである。そのような動的構成可能性は、ADC 210からのフィードバック基準データと合成される、フィルタブロック450からのデータが存在しない場合、ADC 210からのフィードバック基準データと合成される、周波数がより低い音を表すフィルタブロック450からのデータが存在する場合、およびADC 210からのフィードバック基準データと合成される、フィルタブロック450からの変更されたパススルーオーディオのすべてを表すデータが存在する場合の間で変化する状況に正しく対応するために望ましいとみなすことができる。
フィードフォワードベースのANRの実行もサポートされる場合、ADC 310は、フィードフォワードマイクロフォン130からアナログ信号を受け取り、それをデジタル化し、フィードフォワードマイクロフォン130によって出力されたアナログ信号に対応するフィードフォワード基準データを、フィルタブロック350に提供する。フィルタブロック350内の1つまたは複数のデジタルフィルタは、ADC 310から受け取ったフィードフォワード基準データを変更して、フィードフォワードアンチノイズ音を表すフィードフォワードアンチノイズデータを導出するために利用される。フィルタブロック350は、フィードフォワードアンチノイズデータが、フィルタブロック450によって提供され得るデータ(周波数がより高い音、または変更されたパススルーオーディオのすべて)とおそらくは合成される、加算ノード370に、フィードフォワードアンチノイズデータを提供する。
DAC 910によって出力されるアナログ信号は、オーディオ増幅器960に提供されて、フィードバックアンチノイズ音、フィードフォワードアンチノイズ音、およびパススルーオーディオのうちの1つまたは複数を音響的に出力する音響ドライバ190を駆動するのに十分な大きさに増幅される。
図4bにおいてさらに示されるように、信号処理トポロジ2500bは、フィードバックベースのANR、フィードフォワードベースのANR、およびパススルーオーディオに関連するデジタルデータがそれに沿ってそれぞれ流れる、経路200、300、400の独自の変形を定義する。信号処理トポロジ2500aの経路200とは異なる方法で、ADC 210、加算ノード230、270、フィルタブロック250、およびDAC 910の間の、フィードバック基準データおよびフィードバックアンチノイズデータのフローは、信号処理トポロジ2500bのフィードバックベースのANRの経路200を定義する。フィードフォワードベースのANRがサポートされる場合、信号処理トポロジ2500aの経路300とは異なる方法で、ADC 310、フィルタブロック350、加算ノード270、370、およびDAC 910の間の、フィードフォワード基準データおよびフィードフォワードアンチノイズデータのフローは、信号処理トポロジ2500bのフィードフォワードベースのANRの経路300を定義する。しかし、信号処理トポロジ2500aの経路400とは非常に異なる方法で、変更されたパススルーオーディオデータを周波数がより高い音と周波数がより低い音とに分割する、信号処理トポロジ2500bのフィルタブロック450の機能は、部分的に枝分かれした、信号処理トポロジ2500bの経路400をもたらす。より具体的には、ADC 410からフィルタブロック450へのデジタルデータのフローは、フィルタブロック450において分割される。経路400の枝分かれした一方の部分は、加算ノード230に向かい、そこで、経路200と結合され、その後、フィルタブロック250および加算ノード270を介して進み、DAC 910に到る。経路400の枝分かれした他方の部分は(存在する場合)、加算ノード370に向かい、そこで、経路300と結合され(存在する場合)、その後、加算ノード270を介して進み、DAC 910に到る。
また、信号処理トポロジ2500aの経路200、300、400とは異なり、信号処理トポロジ2500bの経路200、300、400は、異なるデータ転送レートで動作させることができる。しかし、経路400と経路200および経路300の両方との間のデータ転送レートの違いには、対処しなければならない。サンプルアンドホールド、バッファリング、または他の機能を、加算ノード230、270、および/または370の各々に組み込むことができる。代替的および/または追加的に、フィルタブロック350は、デジタルデータを加算ノード370に提供する際に、補間もしくは他のアップサンプリング機能を含むことができ、および/またはフィルタブロック450は、デジタルデータを加算ノード230および加算ノード370の各々(もしくは、経路300が存在しない場合は、加算ノード270)に提供する際に、同様の機能を含むことができる。
図4cは、ANR回路2000をそれ用に構成および/またはプログラムできる、別の可能な信号処理トポロジ2500cを示している。ANR回路2000が信号処理トポロジ2500cを採用する場合、ANR回路2000は、少なくともDAC 910、オーディオ増幅器960、ADC 210、加算ノード230、フィルタブロック250、450、VGA 280、別の加算ノード290、および圧縮コントローラ950を含む。ANR回路2000は、ADC 410、ADC 310、フィルタブロック350、加算ノード270、およびADC 955のうちの1つまたは複数をさらに含むことができる。信号処理トポロジ2500bおよび2500cは、多くの点で類似している。しかし、信号処理トポロジ2500bと信号処理トポロジ2500cの間の大きな違いは、圧縮コントローラ950が、クリッピングおよび/または他の望ましくないオーディオアーチファクトが実際に発生したこと、または発生しそうなことの兆候を検出したのに応答して、フィルタブロック250、350の両方によって出力されるデータによって表される音の振幅を低減させることができるように、信号処理トポロジ2500cに圧縮コントローラ950が追加されたことである。
フィルタブロック250は、変更されたデータをVGA 280に提供し、VGA 280では、VGA 280に提供されたデータによって表される音の振幅を、圧縮コントローラ950の制御下で、変更することができる。VGA 280は、(振幅変更を施された、または施されない)データを、加算ノード290に出力し、加算ノード290では、そのデータを、フィルタブロック450によって出力され得るデータ(おそらくは変更されたパススルーオーディオの周波数がより高い音、またはおそらくは変更されたパススルーオーディオの全体)と合成することができる。今度は、加算ノード290が、出力データをDAC 910に提供する。フィードフォワードベースのANRの実行もサポートされる場合、フィルタブロック250によってVGA 280に出力されるデータは、加算ノード270を通して転送され、加算ノード270では、そのデータが、フィードフォワードアンチノイズ音を表す、フィルタブロック350によって出力されたデータと合成され、この合成されたデータが、VGA 280に提供される。
図4dは、ANR回路2000をそれ用に構成および/またはプログラムできる、別の可能な信号処理トポロジ2500dを示している。ANR回路2000が信号処理トポロジ2500dを採用する場合、ANR回路2000は、少なくともDAC 910、圧縮コントローラ950、オーディオ増幅器960、ADC 210、加算ノード230、290、フィルタブロック250、450、VGA 280、およびまた別のVGA 445、455、460を含む。ANR回路2000は、ADC 310および/またはADC 410、フィルタブロック350、加算ノード270、ADC 955、ならびにまた別のVGA 360のうちの1つまたは複数をさらに含むことができる。信号処理トポロジ2500cおよび2500dは、多くの点で類似している。しかし、信号処理トポロジ2500cと信号処理トポロジ2500dの間の大きな違いは、他のオーディオと合成される変更されたパススルーオーディオの周波数がより高い音の提供を、信号処理トポロジ2500d内の2つの異なる場所の一方または両方において管理する機能が追加されたことである。
フィルタブロック450内の1つまたは複数のデジタルフィルタは、パススルーオーディオを表すデジタルデータを変更して、パススルーオーディオの変更された変形を導出するため、また変更されたパススルーオーディオデータを、周波数がより高い音と周波数がより低い音とに分割するクロスオーバとして機能するために利用される。周波数がより低い音を表すデータは、VGA 445を介して加算ノード230に出力される。周波数がより高い音を表すデータは、VGA 455を介して加算ノード230に、およびVGA 460を介してDAC 910に出力される。VGA 445、455、460は、フィルタブロック450によって出力されるデータによって表される、周波数がより低い音および周波数がより高い音の振幅を制御するように、また周波数がより高い音を表すデータのフローを選択的に管理するように動作可能である。しかし、先に説明したように、変更されたパススルーオーディオの全体を、加算ノード230およびDAC 910の一方または他方に選択的に転送するために、フィルタブロック450のクロスオーバ機能を利用することができる。
フィードフォワードベースのANRの実行もサポートされる場合、フィルタブロック450によるVGA 460を介したDAC 910への、周波数がより高い音(または変更されたパススルーオーディオの全体)の可能な提供は、加算ノード290を介することができる。フィルタブロック350は、フィードフォワードアンチノイズデータを、VGA 360を介して加算ノード270に提供する。
図4eは、ANR回路2000をそれ用に構成および/またはプログラムできる、別の可能な信号処理トポロジ2500eを示している。ANR回路2000が信号処理トポロジ2500eを採用する場合、ANR回路2000は、少なくともDAC 910、オーディオ増幅器960、ADC 210、310、加算ノード230、270、370、フィルタブロック250、350、450、コンプレッサ950、および一対のVGA 240、340を含む。ANR回路2000は、ADC 410およびADC 955の一方または両方をさらに含むことができる。信号処理トポロジ2500b、2500c、および2500eは、多くの点で類似している。信号処理トポロジ2500eにおいて、フィルタブロック250、350、450の各々によって出力されるデータが合成される方法は、信号処理トポロジ2500bの方法と実質的に類似している。また、信号処理トポロジ2500cと同様に、信号処理トポロジ2500eは、圧縮コントローラ950を含む。しかし、信号処理トポロジ2500cと信号処理トポロジ2500eの間の大きな違いは、信号処理トポロジ2500cにおける単一のVGA 280が、信号処理トポロジ2500eでは、個別に制御可能なVGA 240およびVGA 340に置き換えられていることである。
加算ノード230は、フィルタブロック450によって出力され得るデータ(おそらくは変更されたパススルーオーディオの周波数がより低い音、またはおそらくは変更されたパススルーオーディオの全体)とおそらくは合成される、フィードバック基準音を表すデータを、VGA 240を介してフィルタブロック250に提供し、ADC 310は、フィードフォワード基準音を表すデータを、VGA 340を介してフィルタブロック350に提供する。フィルタブロック350によって出力されるデータは、加算ノード370において、フィルタブロック450によって出力され得るデータ(おそらくは変更されたパススルーオーディオの周波数がより高い音、またはおそらくは変更されたパススルーオーディオの全体)と合成される。今度は、加算ノード370が、そのデータを、フィルタブロック250によって出力されるデータと合成するために、加算ノード270に提供する。今度は、加算ノード270が、合成されたデータをDAC 910に提供する。
圧縮コントローラ950は、クリッピングおよび/または他の望ましくないオーディオアーチファクトが実際に発生したこと、または発生しそうなことの兆候が圧縮コントローラ950によって検出されたのに応答して、それぞれ加算ノード230およびADC 310によって出力されるデータによって表される音の振幅を低減させることができるように、VGA 240、340の利得を制御する。VGA 240、340の利得は、調整された方法で制御することができ、または互いにまったく独立して制御することができる。
図4fは、ANR回路2000をそれ用に構成および/またはプログラムできる、別の可能な信号処理トポロジ2500fを示している。ANR回路2000が信号処理トポロジ2500fを採用する場合、ANR回路2000は、少なくともDAC 910、オーディオ増幅器960、ADC 210、310、加算ノード230、270、370、フィルタブロック250、350、450、圧縮コントローラ950、および一対のVGA 125、135を含む。ANR回路2000は、ADC 410およびADC 955の一方または両方をさらに含むことができる。信号処理トポロジ2500eおよび2500fは、多くの点で類似している。しかし、信号処理トポロジ2500eと信号処理トポロジ2500fの間の大きな違いは、信号処理トポロジ2500eにおける一対のVGA 240、340が、信号処理トポロジ2500fでは、VGA 125、135に置き換えられていることである。
それぞれADC 210およびADC 310のアナログ入力側に配置されるVGA 125、135は、信号処理トポロジ2500eのVGA 240、340とは異なり、アナログVGAである。これは、圧縮コントローラ950が、フィードバック基準音およびフィードフォワード基準音を表すアナログ信号の一方または両方の振幅を低減させることによって、音響ドライバ190を駆動する際に、クリッピングおよび/または他のオーディオアーチファクトが実際に発生したこと、および/または今にも発生しそうなことの兆候に応答することを可能にする。これは、音響ドライバ190を駆動する地点においてクリッピングをより容易に発生させ得るような大きすぎる振幅を、ADC 210、310に提供されるアナログ信号が有することがあり得る場合に、望ましいとみなされることがある。これらのアナログ信号(およびおそらくは、図示されていないVGA 145を介してADC 410に提供されるアナログ信号も含む)の振幅を低減させる機能の提供は、これらのアナログ信号間で振幅のバランスをとることを可能にするために、ならびに/またはADC 210、310、410のうちの1つもしくは複数によって生成されるデジタルデータの数値をより小さな大きさに制限して、記憶帯域幅および/もしくは伝送帯域幅の要件を低減させるために、望ましいとみなされることがある。
図4gは、ANR回路2000をそれ用にプログラムまたは構成できる、別の可能な信号処理トポロジ2500gを示している。ANR回路2000が信号処理トポロジ2500gを採用する場合、ANR回路2000は、少なくとも圧縮コントローラ950、DAC 910、オーディオ増幅器960、ADC 210、310、一対のVGA 220、320、加算ノード230、270、フィルタブロック250、350、別の一対のVGA 355、360、およびVGA 280を含む。ANR回路2000は、ADC 410、フィルタブロック450、また別のVGA 460、加算ノード290、およびADC 955のうちの1つまたは複数をさらに含むことができる。
ADC 210は、フィードバックマイクロフォン120からアナログ信号を受け取り、それをデジタル化し、その後、対応するフィードバック基準データをVGA 220に提供する。VGA 220は、フィードバック基準データを、おそらくはその振幅を変更した後に、加算ノード230に出力する。同様に、ADC 310は、フィードフォワードマイクロフォン130からアナログ信号を受け取り、それをデジタル化し、その後、対応するフィードフォワード基準データをVGA320に提供する。VGA 320は、フィードフォワード基準データを、おそらくはその振幅を変更した後に、フィルタブロック350に出力する。フィルタブロック350内の1つまたは複数のデジタルフィルタは、フィードフォワード基準データを変更して、フィードフォワードアンチノイズ音を表すフィードフォワードアンチノイズデータを導出するために利用され、フィルタブロック350は、フィードフォワードアンチノイズデータを、VGA 355、360の両方に提供する。様々な実現形態では、VGA 355、360の利得は、動的に選択可能であり、フィードフォワードアンチノイズデータを選択的に加算ノード230および加算ノード270の一方に提供できるように、3方向スイッチのような調整された方法で操作することができる。したがって、信号処理トポロジ2500g内において、フィードフォワードアンチノイズデータが、フィードバックANRに関連するデータと合成される場所は、選択可能になる。
したがって、VGA 355およびVGA 360のために選択された利得に応じて、フィルタブロック350からのフィードフォワードアンチノイズデータは、ADC 210からのフィードバック基準データと、加算ノード230において合成することができ、またはフィルタブロック250によってフィードバック基準データから導出されたフィードバックアンチノイズデータと、加算ノード270において合成することができる。フィードフォワードアンチノイズデータが、フィードバック基準データと、加算ノード230において合成される場合、フィルタブロック250は、フィードバックアンチノイズ音とさらに変更されたフィードフォワードアンチノイズ音の合成音を表すデータを導出し、このデータは、データの合成が発生しない加算ノード270を介して、VGA 280に提供される。代替として、フィードフォワードアンチノイズデータが、フィードバックアンチノイズデータと、加算ノード270において合成される場合、フィードバックアンチノイズデータは、データの合成が発生しない加算ノード230を介して受け取ったフィードバック基準データから、フィルタブロック250によって導出され、加算ノード270における合成から得られたデータが、VGA 280に提供される。振幅が変更される場合も、または変更されない場合も、VGA 280は、加算ノード270から受け取ったどちらの形態の合成されたデータでも、アナログ信号を生成するために、DAC 910に提供する。この合成されたデータのVGA 280によるこの提供は、パススルーオーディオの提供もサポートされる加算ノード290を介することができる。
パススルーオーディオの提供がサポートされる場合、オーディオ源9400は、ユーザに対して音響的に出力されるパススルーオーディオを表すアナログ信号を提供することができ、ADC 410は、アナログ信号をデジタル化し、アナログ信号に対応するパススルーオーディオデータをフィルタブロック450に提供する。代替として、オーディオ源9400がパススルーオーディオを表すデジタルデータを提供する場合、そのようなデジタルデータは、直接的にフィルタブロック450に提供することができる。フィルタブロック450内の1つまたは複数のデジタルフィルタは、パススルーオーディオを表すデジタルデータを変更して、パススルーオーディオデータの変更された変形を導出するために利用され、そのような変形は、再等化および/または他の方法で良質化することができる。フィルタブロック450は、変更されたパススルーオーディオデータをVGA 460に提供し、変更されたパススルーオーディオデータによって表されるパススルーオーディオ音の振幅が変更される場合も、変更されない場合も、VGA 460は、変更されたパススルーオーディオデータを、加算ノード290を介してDAC 910に提供する。
圧縮コントローラ950は、クリッピングおよび/または他のオーディオアーチファクトが実際に発生したこと、および/または発生しそうなことの兆候に応答して、VGA 280によって受け取られたフィードバックアンチノイズ音およびフィードフォワードアンチノイズ音の合成された形態がどのようなものでも、圧縮コントローラ950の制御下で、その振幅を低減させることができるように、VGA 280の利得を制御する。
図5aから図5eは、ANR回路2000によって採用される(信号処理トポロジ2500a〜2500gなどの)信号処理トポロジ内で、(フィルタブロック250、350、450などの)フィルタからなる1つまたは複数のブロックを作成する際に利用できる、いくつかの可能なフィルタブロックトポロジを示している。「フィルタブロック」と呼ばれる多数のデジタルフィルタは、先に提示された信号処理トポロジを簡略化することを意図した恣意的な構成であることに留意されたい。実際に、1つまたは複数のデジタルフィルタを選択し、任意の信号処理トポロジの(経路200、300、400などの)経路のいずれかに沿った任意の地点に配置することは、VGAおよび加算ノードを選択し、配置するのと同じ方法で達成することができる。したがって、フィルタからなる区別可能なブロックが作成されないように、様々なデジタルフィルタをVGAおよび/または加算ノードの間に散らばらせる方法で、それらのデジタルフィルタをデータの移動のための経路沿いに配置することが完全に可能である。または、示されるように、フィルタブロックのフィルタが結合される方法の一部として、フィルタブロックが、フィルタブロックのフィルタトポロジの一部として、加算ノードまたは他のコンポーネントを含むことが完全に可能である。
しかし、先に説明したように、複数のより低次のデジタルフィルタを、1つまたは複数のより高次のデジタルフィルタと等価の機能を実行するように、様々な方法で結合することができる。したがって、複数のデジタルフィルタを有する経路を定義する際、異なるフィルタブロックを作成する必要はないが、多くの状況では、そうすることが望ましいことがあり得る。さらに、経路沿いの単一地点におけるフィルタブロックの作成は、その経路において実行されるフィルタリングの特性の変更を、より容易に可能にすることができる。例を挙げると、間に置かれた他のコンポーネントと接続されない複数のより低次のデジタルフィルタは、単純にそれらの係数を変更することによって、および/またはそれらが相互接続される方法を変更することによって、様々なより高次のフィルタ機能のいずれかを協調して実行するように動的に構成することができる。また、いくつかの実現形態では、デジタルフィルタのそのような密な相互接続は、経路を動的に構成するタスクを軽減することができ、その経路を定義する相互接続に対する変更を最小限にとどめて、デジタルフィルタを追加または除去することができる。
図5aから図5eに示される、フィルタのタイプ、フィルタの数量、フィルタの相互接続、およびフィルタトポロジの選択は、理解を容易にするための例として役立つことが意図されており、本明細書で説明される事柄の範囲または特許請求される事柄の範囲を限定するものと解釈されるべきではないことに留意されたい。
図5aは、ANR回路2000をそれ用に構成および/またはプログラムして、フィルタブロック250、350、450の1つなどのフィルタブロックを定義できる、可能なフィルタブロックトポロジ3500aを示している。フィルタブロックトポロジ3500aは、入力側にダウンサンプリングフィルタ652と、バイカッドフィルタ654、655、656と、出力側にFIRフィルタ658とを有する、デジタルフィルタの直列チェーンから構成される。
図5aにより明示的に示されているように、いくつかの実現形態では、ANR回路2000は、ANR回路2000が、複数のダウンサンプリングフィルタ552、バイカッドフィルタ554、およびFIRフィルタ558を含むフィルタバンク550を含むように、内部アーキテクチャ2200aを利用する。ダウンサンプリングフィルタ552、バイカッドフィルタ554、およびFIRフィルタ558の各々のうちの1つまたは複数は、フィルタブロックトポロジ3500aを定義する方法を含む、多くの方法のいずれかで、スイッチアレイ540を介して、相互接続することができる。より具体的には、ダウンサンプリングフィルタ652は、ダウンサンプリングフィルタ552の1つであり、バイカッドフィルタ654、655、656は各々、バイカッドフィルタ554の1つであり、FIRフィルタ658は、FIRフィルタ558の1つである。
代替として、やはり図5aにより明示的に示されているように、他の実現形態では、ANR回路2000は、ANR回路2000が、ダウンサンプリングフィルタルーチン553、バイカッドフィルタルーチン555、およびFIRフィルタルーチン559が記憶されたストレージ520を含むように、内部アーキテクチャ2200bを利用する。様々な数量のダウンサンプリングフィルタ、バイカッドフィルタ、および/またはFIRフィルタは、フィルタブロックトポロジ3500aを定義するフィルタの数量および相互接続を含む、フィルタ間で定義される様々な相互接続のいずれかを用いて、ストレージ520の利用可能な記憶ロケーション内で具現化することができる。より具体的には、ダウンサンプリングフィルタ652は、ダウンサンプリングフィルタルーチン553による具現例であり、バイカッドフィルタ654、655、656は各々、バイカッドフィルタルーチン555による具現例であり、FIRフィルタ658は、FIRフィルタルーチン559による具現例である。
先に説明したように、信号処理トポロジにおいて、音を表すデジタルデータを異なる経路に沿って流すのに異なるデータ転送レートを利用することによって、電力節約および/または他の利益を実現することができる。1つのデータ転送レートで動作する1つの経路を別のデータ転送レートで動作する別の経路に結合する場合を含む、異なるデータ転送レートの間の変換をサポートする際、フィルタブロック内のデジタルフィルタのうちの異なるデジタルフィルタに、異なるデータ転送クロックを提供することができ、および/またはフィルタブロック内の1つもしくは複数のデジタルフィルタに、複数のデータ転送クロックを提供することができる。
例を挙げると、図5aは、1つのデータ転送レートで受け取られるデジタルデータ、別のデータ転送レートでこれらのデジタルフィルタの間で転送されるデジタルデータ、およびまた別のデータ転送レートで出力されるデジタルデータをサポートするために、フィルタブロックトポロジ3500a内で利用できる、異なるデータ転送レートの可能な組み合わせを示している。より具体的には、ダウンサンプリングフィルタ652は、音を表すデジタルデータを、データ転送レート672で受け取り、そのデジタルデータを、より低いデータ転送レート675に少なくともダウンサンプリングする。より低いデータ転送レート675は、ダウンサンプリングフィルタ652、バイカッドフィルタ654〜656、およびFIRフィルタ658の間で、デジタルデータを転送する際に利用される。FIRフィルタ658は、受け取ったデジタルデータが、フィルタブロックトポロジ3500a内のデジタルフィルタが属するフィルタブロックによって出力されるときに、そのデジタルデータを、より低いデータ転送レート675からより高いデータ転送レート678に少なくともアップサンプリングする。フィルタブロック内で2つ以上のデータ転送レートを使用する他の多くの可能な例、およびそれに対応して、フィルタブロック内で複数のデータ転送クロックの利用が必要になり得ることは、当業者には明らかであろう。
図5bは、フィルタブロックトポロジ3500aと実質的に類似しているが、フィルタブロックトポロジ3500aのFIRフィルタ658が補間フィルタ657で置き換えられた、可能なフィルタブロックトポロジ3500bを示している。内部アーキテクチャ2200aが利用される場合、フィルタブロックトポロジ3500aからフィルタブロックトポロジ3500bへのそのような変更は、FIRフィルタ558の1つを補間フィルタ556の1つと交換するために、少なくとも、スイッチアレイ540の構成を変更することを伴う。内部アーキテクチャ2200bが利用される場合、そのような変更は、少なくとも、FIRフィルタ658を提供するFIRフィルタルーチン559による具現化を、補間フィルタ657を提供する補間フィルタルーチン557による具現化で置き換えることを伴う。
図5cは、フィルタブロックトポロジ3500bと同じデジタルフィルタから構成されるが、フィルタブロックトポロジ3500bがただ1つの出力を有するのとは異なり、これらのデジタルフィルタの間の相互接続が再構成されて、2つの出力を提供する分岐トポロジをなした、可能なフィルタブロックトポロジ3500cを示している。内部アーキテクチャ2200aが利用される場合、フィルタブロックトポロジ3500bからフィルタブロックトポロジ3500cへのそのような変更は、バイカッドフィルタ656の入力をバイカッドフィルタ655の出力から切断し、代わりに、その入力をダウンサンプリングフィルタ652の出力に接続するために、少なくとも、スイッチアレイ540の構成を変更することを伴う。内部アーキテクチャ2200bが利用される場合、そのような変更は、少なくとも、ダウンサンプリングフィルタ652を提供するダウンサンプリングフィルタルーチン553による具現化から入力を受け取るように、バイカッドフィルタ656を提供するバイカッドフィルタルーチン555による具現化を変更することを伴う。フィルタブロックトポロジ3500cは、信号処理トポロジ2500b〜2500fの各々におけるフィルタブロック450の場合のように、フィルタブロックが2つの異なる出力を提供することができ、フィルタブロックにおいて、入力で提供されるオーディオを表すデータを異なる方法で変更して、そのデータの2つの異なる変更されたバージョンを生成することが望ましい場合に、利用することができる。
図5dは、フィルタブロックトポロジ3500aと実質的に類似しているが、デジタルフィルタの数量をフィルタブロックトポロジ3500aの5個から3個にしてデジタルフィルタのチェーンを短くするために、バイカッドフィルタ655、656が除去された、別の可能なフィルタブロックトポロジ3500dを示している。
図5eは、フィルタブロックトポロジ3500bと同じデジタルフィルタから構成されるが、フィルタブロックトポロジ3500bではこれらの同じフィルタが直列チェーン構成をなすのとは異なり、これらのデジタルフィルタの間の相互接続が、バイカッドフィルタ654、655、656を並列構成に配置するように再構成された、別の可能なフィルタブロックトポロジ3500eを示している。示されるように、ダウンサンプリングフィルタ652の出力は、バイカッドフィルタ654、655、656の3つすべての入力に結合され、これらのバイカッドフィルタの3つすべての出力は、追加的に含まれる加算ノード659を介して、補間フィルタ657の入力に結合される。
まとめると、図5aから図5eは、フィルタブロックの動作中に、フィルタのタイプ、フィルタの数量、および/またはデジタルフィルタの相互接続を変更することを可能にするために、フィルタブロックの与えられたフィルタブロックトポロジが動的に構成可能である方法を示している。しかし、当業者であれば容易に理解するように、デジタルフィルタのタイプ、数量、および相互接続のそのような変更は、そのような変更とともに達成することが求められる、より高次のフィルタ機能を達成するために、フィルタ係数および/または他の設定に対して施される対応する変更を必要とする可能性が高い。より詳細に説明するように、パーソナルANRデバイスの動作中にそのような変更を行うことから生じる、可聴歪みまたは他の望ましくないオーディオアーチファクトの生成を回避するため、または少なくとも緩和するため、相互接続、(デジタルフィルタを含む)コンポーネントの数量、コンポーネントのタイプ、フィルタ係数、および/またはVGA利得値のそのような変更は、1つまたは複数のデータ転送レートに合わせて調整された方法で変更を行うことが可能になるように、理想的にはバッファリングされる。
動的に構成可能な信号処理トポロジおよび動的に構成可能なフィルタブロックトポロジについての先の説明の全体にわたって例示されたような、内部アーキテクチャ2200a、2200bの両方の動的構成可能性は、電力を節約するための、ならびにマイクロフォン自己ノイズ、量子化誤差、およびパーソナルANRデバイス1000において利用されるコンポーネントから生じる他の影響の導入によって引き起こされる可聴アーチファクトを低減するための多くの手法を可能にする。実際、パーソナルANRデバイス1000のコンポーネントによって生成される可聴アーチファクトを低減するために取られる少なくともいくつかの対策は、電力消費の低減ももたらすことができるので、両方の目標達成の間には相乗効果が存在し得る。電力消費の低減は、パーソナルANRデバイス1000が、好ましくは、バッテリまたは電力供給能力がいくぶん制限される可能性が高い他のポータブル電力源から給電されることに鑑みて、かなり重要になり得る。
内部アーキテクチャ2200aおよび2200bのどちらにおいても、ANRルーチン525の一連の命令を実行することによって、処理デバイス510に、電源180からの電力の利用可能性を監視させることができる。代替的および/または追加的に、処理デバイス510に、1つまたは複数の音(たとえば、フィードバック基準音および/もしくはアンチノイズ音、フィードフォワード基準音および/もしくはアンチノイズ音、ならびに/またはパススルーオーディオ音)の特性を監視させ、観測された特性に応答して、実行されるANRの程度を変更させることができる。ANRに精通した当業者であれば容易に理解するように、程度が高められたANRを実行するには、より複雑な伝達関数の実施がしばしば必要となり、そのような伝達関数は、より多数のフィルタおよび/またはより複雑なタイプのフィルタの実施をしばしば必要とし、今度は、これがより大きな電力消費をしばしばもたらす場合が頻繁にある。同じように、より僅かな程度のANRは、より単純な伝達関数の実施をしばしば必要とし、そのような伝達関数は、より少数および/またはより単純なフィルタをしばしば必要とし、今度は、これがより僅かな電力消費をしばしばもたらす。
さらに、より大きな程度のANRの実行が、実際には、ANRを実行する際に使用されるコンポーネントに、減衰される環境ノイズ音よりも大きなノイズ音を発生させる、環境ノイズレベルが相対的に低い、または環境ノイズ音が相対的に狭い周波数範囲内で発生する環境などの、状況が生じることがあり得る。さらにまた、フィードバックベースのANRに係わる当業者であれば精通しているように、いくつかの環境下では、かなりの程度のフィードバックベースのANRを実行すると、望ましくない可聴フィードバックノイズの生成などの不安定性がもたらされることがあり得る。
電力の利用可能性が低減している兆候、またはより僅かな程度のANRが必要とされている(もしくはおそらくはより望ましい)兆候に応答して、処理デバイス510は、(フィードバックベースのANRおよびフィードフォワードベースのANRの一方もしくは両方を含む)1つもしくは複数の機能を無効にし、1つもしくは複数の経路のデータ転送レートを引き下げ、経路内の枝分かれを無効にし、フィルタブロック内のデジタルフィルタ間のデータ転送レートを引き下げ、より多くの電力を消費するデジタルフィルタをより僅かな電力を消費するデジタルフィルタで置き換え、ANRを実行する際に利用される伝達関数の複雑さを低減し、フィルタブロック内のデジタルフィルタの全数量を低減し、ならびに/または1つもしくは複数の音がこうむる利得を、VGA利得設定を低減することによって、および/もしくはフィルタ係数を変更することによって低減することができる。しかし、これらの対策または他の類似の対策のうちの1つまたは複数をとる際、ANRルーチン525によって、処理デバイス510にさらに、電力消費を低減するという目標およびあまりに程度が大きいANRの実行を回避するという目標の一方または両方と、パーソナルANRデバイス1000のユーザに提供される音の品質およびANRの品質を所定の望ましい程度に維持するという目標の一方または両方とのバランスを図った、ANRの実行の低減の程度を推定させることができる。最低のデータ転送レート、最大の信号対雑音比、または他の尺度を、ANRの品質および音の品質の所定の程度として使用することができる。
一例として、経路200、300、400が明示的に示された、図4aの信号処理トポロジ2500aを再び参照すると、実行されるANRの程度の低減および/または電力消費の低減は、フィードバックベースのANR機能、フィードフォワードベースのANR機能、およびパススルーオーディオ機能のうちの1つまたは複数を停止させることによって、実現することができる。これは、結果として、経路200、300、400のうちの1つまたは複数に沿って存在するコンポーネントの少なくともいくつかを、デジタルデータに係わる動作がそれらのコンポーネント内では停止する低電力状態に入るように操作し、または電源180から実質的に切断する。電力消費の低減および/または実行されるANRの程度の低減は、図4aに関して先に説明したように、経路200、300、400のうちの1つまたは複数の少なくとも一部分におけるデータ転送レートを引き下げることによっても、実現することができる。
別の例として、やはり経路200、300、400が明示的に示された、図4bの信号処理トポロジ2500bを再び参照すると、電力消費の低減および/または利用される伝達関数の複雑さの低減は、経路400内の分岐した枝の1つを流れるデータのフローを停止させることによって、実現することができる。より具体的には、図4bに関して先に説明したように、変更されたパススルーオーディオを周波数がより高い音と周波数がより低い音に分割するために、フィルタブロック450内のデジタルフィルタによって利用されるクロスオーバ周波数は、変更されたパススルーオーディオの全体を、経路400のただ1つの枝の方に流すように選択することができる。これは、結果として、加算ノード230および加算ノード370の一方または他方を流れる変更されたパススルーオーディオデータの転送を打ち切り、それによって、これらの加算ノードの一方または他方の合成機能が無効され、または少なくとも利用されなくすることを可能にすることによって、電力消費の低減および/またはコンポーネントからのノイズ音の導入の低減を可能にする。同様に、(経路を明示的に示す目印は描かれていないが)図4dの信号処理トポロジ2500dを再び参照すると、フィルタブロック450によって利用されるクロスオーバ周波数、またはVGA 445、455、460の利得設定は、変更されたパススルーオーディオデータの全体を、これらのVGAの各々が導入された3つの可能な経路の枝のうちの単一の枝に流すように選択することができる。したがって、電力消費の低減および/またはノイズ音の導入の低減は、加算ノード230および加算ノード290の一方または他方の合成機能が無効され、または少なくとも利用されなくすることを可能にすることによって可能になる。さらにまた、変更されたパススルーオーディオデータがそれを通して転送されないVGA 445、455、460のうちの1つまたは複数は、無効にすることができる。
他の例として、3つのデータ転送レート672、675、および678の割り当てが明示的に示されている図5aのフィルタブロックトポロジ3500aを再び参照すると分かるように、実行されるANRの程度の低下および/または電力消費量の削減は、これらのデータ転送レートのうちの1つまたは複数を下げることによって実現することができる。より具体的には、フィルタブロックトポロジ3500aを採用したフィルタブロック内では、デジタルデータがデジタルフィルタ652、654〜656、および658間で転送されるデータ転送レート675を下げてよい。データ転送レートのこのような変更は、1つまたは複数のデジタルフィルタを、より低い帯域幅を算出するとよりうまく最適化される同じ種類のデジタルフィルタの変形例と交換することによって実現されてもよい。デジタル信号処理分野の業者に知られているように、デジタル処理において所望の所定の程度の音質および/またはANR性能を維持するのに必要な計算精度のレベルは、サンプリングレートが変化するにつれて変化する。したがって、データ転送レート675を下げると、最初のデータ転送レートで所望の程度の音質および/または所望の程度のANR性能を維持するように最適化することができたバイカッドフィルタ654〜656のうちの1つまたは複数を、計算精度のレベルを下げ、それによって電力消費量も削減することによって、この新しいより低いデータ転送レートでほぼ同じ音質および/またはANR性能を維持するように最適化されたバイカッドフィルタの他の変形例で置き換えることができる。これによって、それぞれの異なるビット幅の係数値を使用しかつ/あるいはそれぞれの異なる量のタップを組み込んだ様々な種類のデジタルフィルタの1つまたは複数の様々な変形例を実現することができる。
他の例として、それぞれ図5cおよび5dのフィルタブロックトポロジ3500cおよび3500dと、フィルタブロックトポロジ3500aを再び参照すると分かるように、フィルタブロックで使用されるデジタルフィルタの全体的な数量を減らすことによって、実行されるANRの程度の低下および/または電力消費量の削減を実現することができる。より具体的には、フィルタブロックトポロジ3500aのシリアルチェーン内のデジタルフィルタの総量を、フィルタブロックトポロジ3500dのより短いシリアルチェーン内の3つのデジタルフィルタの総量まで減らすことができる。当業者には、デジタルフィルタの総量をそのように変更する場合には、それに応じて、残りの1つまたは複数のデジタルフィルタに供給される係数を変更する必要があることが容易に認識されよう。というのは、最初の5つのデジタルフィルタによって実行される1つまたは複数の伝達関数を、残りの3つのデジタルフィルタによって実行することのできる1つまたは複数の伝達関数によって変更するかあるいは該伝達関数で置き換えることが必要になる可能性が高いためである。同様により具体的には、1つの分岐の各フィルタ(たとえば、2つの出力のうちの1つを供給する1つの分岐のバイカッドフィルタ656および補間フィルタ657)を除去または非作動にすることによって、フィルタブロックトポロジ3500cの分岐トポロジ内の5つのデジタルフィルタの総量を3つのデジタルフィルタの総量に減らすことができる。このことは、デジタルデータによって表される音のすべての周波数を2つの出力のうちの一方のみに効果的に送る交差関数を実現するフィルタブロック用の交差周波数を選択することに合わせ、かつ/あるいはフィルタブロックの外部の1つまたは複数のVGAを、信号処理トポロジの分岐によるデジタルデータの転送を削除するかあるいは他の方法で停止するように動作させることに合わせて実行することができる。
データ転送レートを下げることは、内部アーキテクチャ2200aまたは2200b内で様々な方法で実施することができる。内部アーキテクチャ2200aにおける一例として、クロックバンク570によって実現される様々なデータ転送クロックをスイッチアレイ540を通じて信号処理トポロジおよび/またはフィルタブロックトポロジの様々なデジタルフィルタ、VGA、および加算ノードに送り、複数のデータ転送レートの使用および/またはこれらのコンポーネントのうちの1つまたは複数による様々なデータ転送レート間の変換を可能にすることができる。内部アーキテクチャ2200bにおける一例として、信号処理トポロジおよび/またはフィルタブロックトポロジのデジタルフィルタ、VGA、および加算ノードの様々なインスタンス化の命令のシーケンスをそれぞれの異なる時間間隔で処理デバイス510に実行させることができる。したがって、所与のコンポーネントの1つのインスタンス化に関する命令のシーケンスは、より低いデータ転送レートがサポートされる同じコンポーネントの他のインスタンス化に関する命令のシーケンスよりも高いデータ転送レートをサポートするためにより頻繁に実行される。
他の例として、前述の信号処理トポロジおよび/またはフィルタブロックトポロジを再び参照すると分かるように、実行されるANRの程度の低下および/または電力消費量の削減は、ANRを実行することに関連する1つまたは複数の音(たとえば、フィードバック基準および/またはアンチノイズ音あるいはフィードフォワード基準および/またはアンチノイズ音)が受ける利得を小さくすることによって実現することができる。フィードバックベースのANR経路およびフィードフォワードベースのANR経路の少なくとも一方にVGAを組み込むと、そのVGAの利得設定を小さくすることができる。その代わりにかつ/あるいはそれに加えて、所与のデジタルフィルタによって実現される伝達関数に応じて、そのデジタルフィルタの1つまたは複数の係数を、そのデジタルフィルタによって出力されるデジタルデータによって表されるあらゆる音に加えられる利得を小さくするように変更してよい。当業者に知られているように、経路内の利得を小さくすると、各コンポーネントによって生成されるノイズ音に対する知覚性を低下させることができる。環境ノイズ音が比較的少ない状況では、各コンポーネントによって生成されるノイズ音がより優勢になる可能性があり、したがって、各コンポーネントによって生成されるノイズ音を低減させることは、アンチノイズ音を生成して、僅かに存在する環境ノイズ音を減衰させることよりも重要である場合がある。いくつかの実現形態では、このように比較的低い環境ノイズ音レベルに応答して(1回または複数回にわたって)利得を小さくすると、低コストのマイクロフォンを使用することが可能になる。
いくつかの実現形態では、フィードバックベースのANR経路に沿ったある点で利得を小さくすることは、フィードフォワードベースのANR経路に沿ったある点で利得を小さくするよりも有用であることを証明することができる。なぜなら、環境ノイズ音は、フィードバックマイクロフォン120に到達する前にパーソナルANRデバイスによって実行されるPNRによってより減衰される傾向があるからである。フィードバックマイクロフォン120にはフィードフォワードマイクロフォン130よりも弱い種類の環境ノイズ音が供給される傾向があるため、フィードバックベースのANR機能では、環境ノイズ音が比較的少ないときに各コンポーネントによって導入されるノイズ音が環境ノイズ音よりも優勢になる状況に陥りやすい。フィードバックベースのANR経路にVGAを組み込んで、通常、利得値1を使用し、次に、該値を、処理デバイス510および/またはANR回路2000の外部に配置されかつANR回路2000が結合される他の処理デバイスに応答して2分の1の値またはそれよりも小さい事前に選択された他のある値にし、そのように利得を小さくすることがフィードバックアンチノイズ音を生成することよりも有利になるほどフィードバックベースのANR経路内のコンポーネントによって生成されるノイズ音が有意になるほど環境ノイズレベルが低いと判定することによって上記の機能を実行することができる。
ANR設定を変更するかどうかを判定することの一部として環境ノイズ音の特性を監視する場合、環境ノイズ音の強度、周波数、および/または特性を測定するいくつかの手法のいずれかを伴うことがある。いくつかの実現形態では、事前に選択された周波数範囲内でフィードバックマイクロフォン120および/またはフィードフォワードマイクロフォン130によって検出される環境ノイズ音について、単純音圧レベル(SPL)または重み付けなしの他の信号エネルギー測定値を得ることができる。あるいは、SPLまたは他の信号エネルギー測定値の事前に選択された周波数範囲内の周波数に対して、様々なオーディオ周波数に対する平均的な人間の耳の相対的な感度を反映するように作成された広く知られかつ使用されている「A加重」周波数加重曲線を使用してもよい。
図6a〜6cは、同期式ANR設定変更を可能にするとともに、音響出力音のクリッピングおよび/または過剰な振幅、誤動作に関連する特定の周波数範囲内の音の生成、少なくともフィードバックベースのANRの不能、または望ましくないかあるいは不快な音響出力を生成する可能性のある他の条件を含む範囲外条件が発生したことおよび/または範囲外条件が発生する可能性が高いことが示されたことに対するフェイルセーフ応答を可能にするトリプルバッファリングの態様および考えられる実現形態を示している。トリプルバッファリングのこれらの変形例はそれぞれ、少なくとも3つのバッファ620a、620b、および620cを備えている。トリブルバッファリングの図示の各変形例では、2つのバッファ620aおよび620bが、トポロジ相互接続、データクロック設定、データ幅設定、VGA利得設定、およびフィルタ係数設定を含むがそれらに限らない所望のANR設定を同期式に「直ちに」更新するように、ANR回路2000の通常の動作時に交互に使用される。また、トリプルバッファリングの図示の各変形例では、第3のバッファ620cは、範囲外条件が検出されたことに応答してANR回路2000を安定した動作に戻しかつ/あるいは安全な音響出力レベルに戻すのに使用することのできる「控えめな」設定または「フェイルセーフ」設定であるとみなされる1組のANR設定を維持する。
音響信号のデジタル信号処理を制御する分野の業者には知られているように、各オーディオデータの処理同士の間のインターバルに行われる様々なオーディオ処理設定の更新を調整することが必要になることが多く、同じインターバル中にそれらの設定の少なくともいくつかを更新させることが必要になることが多い。そうしないと、フィルタ係数のプログラミングが不完全になるか、伝達関数の定義が不完全または不正なものになるか、あるいは他の構成不一致問題が生じ、その結果、聞いている人を驚かすかあるいはギクリとさせる、突然発生するポンという音またはブーンという音、聞いている人に不快であり、場合によっては聞いている人に有害であるボリュームの急激な上昇、またはやはり場合によっては有害である、フィードバックベースのANR設定が更新される場合のハウリングフィードバック音を含むがそれらに限らない、望ましくない音が作成され、最終的に音響出力される。
いくつかの実現形態では、図6a〜6cのどの図のバッファ620a〜620cも、ハードウェアによって実現される専用のレジスタであり、これらのレジスタの内容をVGA、デジタルフィルタ、加算ノード、クロックバンク570(存在する場合)の各クロック、スイッチアレイ540(存在する場合)、DMAデバイス541(存在する場合)、および/または他のコンポーネント内のレジスタに同期的に送ることができる。他の実現形態では、図6a〜6cのバッファ620a〜620cにストレージ520内の位置が割り当てられ、ストレージ520の内容を処理デバイス510によって取り込み、VGA、デジタルフィルタ、および加算ノードのインスタンス化に関連するストレージ520内の他の位置に処理デバイス510によって書き込み、かつ/あるいはクロックバンク570(存在する場合)の各クロック、スイッチアレイ540(存在する場合)、DMAデバイス541(存在する場合)、および/または他のコンポーネント内のレジスタに処理デバイス510によって書き込むことができる。
図6aは、それぞれ異なるVGA設定626を格納するバッファ620a〜620cの変形例を使用する、利得値を含むVGA設定のトリプルバッファリングを示している。VGA利得値のこのようなトリプルバッファリングを使用する例には、音響ドライバ190の音響出力におけるクリッピングおよび/または可聴アーチファクトの発生および/または該クリッピングおよび/または可聴アーチファクトが発生しそうであることを示すことを検出したことに応答してデジタルデータで表される音の振幅を小さくするように1つまたは複数のVGAを動作させる圧縮コントローラ950がある。いくつかの実現形態では、圧縮コントローラ950は、バッファ620aおよび620bのうちの選択された一方のバッファに新しいVGA設定を記憶する。1つまたは複数のVGAを通過する各デジタルデータの流れに同期した以後の時間に、バッファ620aおよび620bのうちの選択された一方のバッファに記憶されている設定がこれらのVGAに供給され、それによって、可聴アーチファクトが発生するのが回避される。当業者には容易に認識されるように、圧縮コントローラ950は、ある期間にわたってVGAの利得設定を繰り返し更新し、1つまたは複数の音の振幅を所望のレベルの振幅まで直ちに小さくするのではなく、「一定の比率で小さくする」ことができる。このような状況では、圧縮コントローラ950は、更新された利得設定をバッファ620aに記憶することと更新された利得設定をバッファ620bに記憶することを交互に行い、それによって、バッファ620aおよび620bがそれぞれ圧縮コントローラ950によって書き込まれる時間と各バッファがそれに記憶されているVGA設定をVGAに供給する時間を切り離すことが可能になる。しかし、より控えめに選択された1組のVGA設定がバッファ620cに記憶され、範囲外条件が検出されたことに応答してこれらのフェイルセーフ設定をVGAに供給することができる。バッファ620cに記憶されているVGA設定をこのように供給することは、バッファ620aおよび620bのいずれかに記憶されているVGA設定を供給することよりも優先される。
図6bは、それぞれが異なるフィルタ設定625を記憶するバッファ620a〜620cの変形例を使用する、フィルタ係数を含むフィルタ設定のトリプルバッファリングを示している。フィルタ係数のこのようなトリプルバッファリングを使用する例として、パーソナルANRデバイス1000によって実行されるフィードバックベースのANRにおいて低減されるノイズ音の周波数範囲および/または減衰度を調整する場合が挙げられる。いくつかの実現形態では、処理デバイス510は、ANRルーチン525によって、バッファ620aおよび620bのうちの選択された一方のバッファに新しいフィルタ係数を記憶させられる。1つまたは複数のデジタルフィルタを通過する各デジタルデータの流れに同期した以後の時間に、バッファ620aおよび620bのうちの選択された一方のバッファに記憶されている設定がこれらのデジタルフィルタに供給され、それによって、可聴アーチファクトが発生するのが回避される。フィルタ係数のこのようなトリプルバッファリングを使用する他の例として、上記の信号処理技術のいくつかにおいてフィルタブロック450内のデジタルフィルタによって使用される交差周波数を調整して、修正されたパススルーオーディオの音をより低い周波数およびより高い周波数の音に分割する場合が挙げられる。フィルタブロック450の各デジタルフィルタを通過するパススルーオーディオに関連する少なくとも各デジタルデータの流れに同期した時間に、バッファ620aおよび620bの一方または他方に記憶されているフィルタ設定が少なくともいくつかのデジタルフィルタに供給される。
図6cは、それぞれトポロジ設定群622、フィルタ設定群625、VGA設定群626、およびクロック設定群627のうちの異なる設定群を記憶するバッファ620a〜620cの変形例を使用する、クロック設定、VGA設定、フィルタ設定、およびトポロジ設定のすべてまたは選択可能な一部のトリプルバッファリングを示している。これらの設定のすべてのトリプルバッファリングを使用する例として、ANRデバイス1000によって実行されるANRが、パーソナルANRデバイス1000を取り外すかあるいはANR機能を完全に停止させる必要なしに、ユーザが他の人の声をより容易に聞くのを可能にするように変更される「トークスルー」機能を作動させるように、パーソナルANRデバイス1000のユーザがコントロールを動作させたことに応答してある信号処理トポロジを別の信号処理トポロジに変更する場合が挙げられる。処理デバイス510は、声をフィードフォワードマイクロフォン130から音響ドライバ190により容易に送ることができる新しい信号処理トポロジを指定するのに必要な設定、ならびにVGA、デジタルフィルタ、データクロック、および/または他のコンポーネントの様々な設定をバッファ620aおよび620bの一方または他方内に記憶させることができる。次に、少なくとも1つのコンポーネント(たとえば、ADC、VGA、デジタルフィルタ、加算ノード、またはDAC)を通過する音を表す少なくともいくつかのデジタルデータの流れに同期した時間に、各設定が、(スイッチアレイ540が存在する場合にはスイッチアレイ540に供給されることによって)新しい信号処理トポロジ用の相互接続を作成するのに使用され、かつ新しい信号処理トポロジで使用される各コンポーネントに供給される。
しかし、図6cに示されているトリプルバッファリングのいくつかの変形例は、バッファ620aおよび620bのいずれかがそれに記憶されている内容を1つまたは複数のコンポーネントに供給するときにどの設定が実際に更新されるかを判定するのを可能にするマスク640をさらに備えてもよい。いくつかの実施形態では、バッファ620aおよび620bの一方または他方の内容が更新された設定を各コンポーネントに示すものであるときに、マスク内のビット位置が選択的に1または0に設定され、各ビット位置に対応する異なる設定の内容を1つまたは複数のコンポーネントに供給するのを選択的に可能にする。マスク640の粒度は、個々の各設定が選択的に更新可能になるような粒度であるか、あるいはトポロジ設定マスク642、フィルタ設定マスク645、VGA設定マスク646、およびクロック設定マスク647による更新が可能になるように各トポロジ設定622、フィルタ設定625、VGA設定626、およびクロック設定627全体を選択することができるような粒度であってよい。
図7aおよび7bはそれぞれ、ANR回路2000のそれぞれ内部アーキテクチャ2200aおよび2200bに対する考えられるいくつかの追加構成の各変形例を示している。したがって、説明を簡単にするために、内部アーキテクチャ2200aおよび2200bの、これらの考えられる追加構成に関連する部分のみが示されていることに留意されたい。これらの考えられる追加構成のいくつかは、ANR回路2000を少なくとも1つのバス535を介して他のデバイスに結合するインタフェース530を必ず使用する。これらの考えられる追加構成のうちの他の構成は、必ずインタフェース530を使用して手動操作可能な少なくとも1つのコントロールから信号を受け取る。
特に、その代わりに処理デバイス510に、ローディングルーチン522の命令シーケンスを実行し、場合によっては外部記憶デバイス(たとえば、記憶デバイス170)からANR設定527の内容の少なくとも一部を取り込む際に、ANR回路2000を外部処理デバイス9100からのこれらの内容を受け入れるように構成させることができる。また、フィードバックおよび/またはフィードフォワードベースのANR機能を実行するうえで適応的アルゴリズムをよりうまく使用できるようにするために、外部処理デバイス9100をANR回路2000に結合してANR回路2000の機能にフィードバック基準音、フィードフォワード基準音、および/またはパススルーオーディオに関する統計情報の分析を増補することができ、この場合、ダウンサンプリングおよび/または1つまたは複数のADC210、310、および410のうちの1つまたは複数に内蔵されるかあるいは他の方法で接続された他のフィルタによってサイドチェイン情報が供給される。また、2つのANR回路2000が協働することによってバイノーラルフィードフォワードベースのANRを実行することができるように、各ANR回路2000はフィードフォワード基準データのコピーを互いに送信することができる。また、1つまたは複数のANR回路2000および/または外部処理デバイス9100は、トークスルー機能を使用するためにユーザによって手動で操作される場合に、手動操作可能なトークスルーコントロール9300を監視することができる。
ANR回路2000は、直接他のANR回路2000(存在する場合)または外部処理デバイス9100(存在する場合)を通してANR回路2000に結合されたトークスルーコントロール9300からの入力を受け入れることができる。パーソナルANRデバイス1000が2つのANR回路2000を備えている場合、トークスルーコントロール9300を各ANR回路2000のインタフェース530に直接結合しても、あるいは両方のANR回路2000に結合された単一の外部処理デバイス9100(存在する場合)に結合しても、あるいは各処理デバイス9100が別個の各ANR回路2000に別個に結合されるように一対の外部処理デバイス9100(存在する場合)に結合してもよい。
トークスルーコントロール9300が他の1つまたは複数のコンポーネントに結合される厳密な方法にかかわらず、トークスルーコントロール9300が手動で操作されたことが検出されたときに、フィードフォワードマイクロフォン130によって検出される人間の音声帯域内の音の減衰が低減するように少なくともフィードフォワードベースのANRの実行内容が変更される。このように、フィードフォワードマイクロフォン130によって検出される人間の音声帯域内の音は実際には、音響ドライバ190によって音響出力されるフィードフォワードベースのANRに関連する少なくともデジタルデータ用の経路を通して伝達され、一方、フィードフォワードマイクロフォン130によって検出される他の音は、引き続きフィードフォワードベースのANRによって減衰される。このように、パーソナルANRデバイス1000のユーザは、環境ノイズ音を抑制する少なくともある程度のフィードフォワードベースのANRによる利益を依然として受けることができ、一方、誰かが近くで話す声を聞くこともできる。
当業者には知られているように、300Hzから4KHzまでの広い範囲から1KHz〜3KHzの狭い範囲までの人間の音声帯域を定める周波数範囲として一般にどの周波数範囲が受け入れられるかに関してある変形例がある。いくつかの実現形態では、処理デバイス510および/または外部処理デバイス9100(存在する場合)は、フィードフォワードベースのANR機能が、パーソナルANRデバイス1000用の人間の音声帯域を定める周波数範囲としてどのような周波数範囲が選択されようともそれよりも低い減衰周波数にほぼ制限されるように、フィードフォワードベースのANRによって減衰される環境ノイズ音の周波数範囲を狭くするように少なくともフィードフォワードベースのANR用の経路内のフィルタのANR設定を変更することによって、ユーザがトークスルーコントロール9300を操作したことに応答させられる。あるいは、少なくともこれらのフィルタ用のANR設定が、フィードフォワードベースのANRによって減衰される環境ノイズ音の周波数範囲における人間の音声帯域の形として「V字形」を形成し、それによって、フィードフォワードマイクロフォン130によって検出される人間の音声帯域内の音と比べてかなりの程度に、人間の音声帯域よりも低い周波数および人間の周波数帯域よりも高い周波数で生じる環境ノイズ音を減衰させる。いずれにしても、少なくとも1つまたは複数のフィルタ係数が人間の音声帯域の減衰を低減させるように変更される。また、フィードフォワードベースのANR用の経路に使用されるフィルタの数量および/または種類を変更し、かつ/あるいはフィードフォワードベースのANR用の経路自体を変更することができる。
具体的には示されていないが、アナログフィルタを使用する場合により好都合な形態のトークスルー機能を実行する他の手法では、それぞれフィードフォワードベースのANR機能の実行をサポートすることができるアナログフィルタの並列セットの対を実現し、フィードフォワードベースのANRを表す1つまたは複数のアナログ信号をアナログフィルタの並列セットの一方または他方まで送りかつ/あるいは該一方または他方から送る形態の手動操作可能なトークスルーコントロールを実現する。アナログフィルタの並列セットの一方は、トークスルー機能に対応することなくフィードフォワードベースのANRを実行するように構成され、一方、アナログフィルタの並列セットの他方は、人間のある形態の音声帯域内の音が減衰される程度がより低いフィードフォワードベースのANRを実行するように構成される。同様の手法を内部アーキテクチャ2200a内で他の代替手法として実施することができ、その場合、手動で操作可能なある形態のトークスルーコントロールがスイッチアレイ540内の切り替えデバイスの少なくともいくつかを直接操作してデジタルフィルタの2つの並列セット間のデジタルデータの流れを切り替える。
図8は、ストレージ520に記憶すべきANR設定527の内容の少なくとも一部をバス535を介して外部記憶デバイス170または処理デバイス9100から供給することができる考えられるローディングシーケンスの実現形態のフローチャートである。このローディングシーケンスは、ANR回路2000を、記憶デバイス170および処理デバイス9100の一方のみがバス535上に存在する状況、ならびに記憶デバイス170および処理デバイス9100の一方または他方が、その両方がバス上に存在するにもかかわらず上記のような内容を供給しない状況を含むがそれに限らない、様々なシナリオにそのまま対処するほど融通性に富ませるようになっている。バス535は、直列デジタル電子バスまたは並列デジタル電子バスであってよく、バス535に結合された様々なデバイスが、少なくともデータ転送を調整するバスマスタとして働くことができる。
処理デバイス510は、電力投入時および/またはリセット時に、ストレージ520にアクセスし、ローディングルーチン522の命令のシーケンスを取り込んで実行する。処理デバイス510は、632で命令のシーケンスを実行する際、インタフェース530を動作させ、ANR回路2000に、ANR回路2000がバス535上のバスマスタになるマスタモードに入らせ、次に、インタフェース530をさらに動作させ、記憶デバイス170のようなやはりバス535に結合された記憶デバイスからデータ(ANR設定527の内容の一部など)を取り込むことを試みる。633で、記憶デバイスからデータを取り込む試みが成功した場合、処理デバイス510は、インタフェース530を動作させ、ANR回路2000にバス535上でスレーブモードに入らせ、バス535上の他の処理デバイス(処理デバイス9100など)が634でANR回路2000にデータ(ANR設定527の内容の少なくとも一部を含む)を送信するのを可能にする。
しかし、633で、記憶デバイスからデータを取り込む試みが失敗した場合、処理デバイス510は、インタフェース530を動作させ、ANR回路2000にバス535上でスレーブモードに入らせ、635で外部処理デバイス(外部処理デバイス9100など)からデータを受け取るのを可能にする。636で、処理デバイス510は、他の処理デバイスから上記のようなデータを受け取るのを選択された期間にわたって待機する。637で、そのようなデータが他の処理デバイスから受け取られた場合、処理デバイス510は、インタフェース530を動作させ、ANR回路2000にバス535上でスレーブモードのままにさせ、バス535上の他の処理デバイスが638でANR回路2000にさらにデータを送信するのを可能にする。しかし、637で、そのようなデータが他の処理デバイスから受け取られなかった場合、処理デバイス510は、インタフェース530を動作させ、ANR回路2000にバス535上のマスタに戻らせ、632で、再び記憶デバイスからそのようなデータを取り込むことを試みる。
図9aおよび9bは、内部アーキテクチャ2200aおよび2200bのいずれも外部処理デバイス9100にサイドチェインデータを供給することをサポートし、場合によっては処理デバイス9100が、ANR回路2000によって実行されるフィードバックベースのANR機能および/またはフィードフォワードベースのANR機能に適応的機能を追加するのを可能にする。基本的に、ANR回路2000が、フィルタリングならびにフィードバックアンチノイズ音およびフィードフォワードアンチノイズ音を得るとともに、これらのアンチノイズ音をパススルーオーディオと合成する他の態様を実行するが、処理デバイス9100は、マイクロフォン120および/または130によって検出されるフィードバック基準音および/またはフィードフォワード基準音の様々な特性の分析を実行する。処理デバイス9100は、ANR回路2000の信号処理トポロジを変更すること(フィルタブロック250、350、および450の1つのフィルタブロックトポロジを変更することを含む)、VGA利得値を変更すること、フィルタ係数を変更すること、データが転送されるクロックタイミングを変更することなどの必要があると判定した場合、新しいANR設定をバス535を介してANR回路2000に供給する。前述のように、これらの新しいANR設定をバッファ620aおよび620bの一方または他方に記憶することができる。これらの新しいANR設定は、音を表す各デジタルデータがANR回路2000の各コンポーネント間で伝達される1つまたは複数のデータ転送レートに同期させたタイミングでANR回路2000内の各コンポーネントに供給されるのに備えて、バッファ620aおよび620bの一方または他方に記憶されてよい。すなわち、このように、ANR回路2000によるANRの実行は適応的にされてもよい。
ANR回路2000と外部処理デバイス9100とのこのような協働をサポートする際、フィードバック基準データ、フィードフォワード基準データ、および/またはパススルーオーディオデータのコピーをそのまま処理デバイス9100に供給することが望ましいとみなされる場合がある。しかし、このようなデータを場合によっては各フィードバック基準データ、フィードフォワード基準データ、およびパススルーオーディオデータについて1MHz程度の高いクロック周波数でサンプリングできると考えられる。したがって、すべてのそのようなデータのコピーをそのような高いサンプリングレートでバス535を通して処理デバイス9100に供給すると、望ましくないことにANR回路2000に重い負担がかかり、かつ望ましくないことにANR回路2000の電力消費量要件が増大する。また、そのようなANR回路2000との協働の一部として処理デバイス9100によって実行できる処理の少なくとも一部は、そのようなデータのそのような完全なコピーへのアクセスを必要としない場合がある。したがって、内部アーキテクチャ2200aおよび2200bのいずれかを使用してANR回路2000を実施すると、より低いサンプリングレートで上記のようなデータから構成されたより低速のサイドチェインデータおよび/またはそのようなデータに関する様々な指標を処理デバイス9100に供給することをサポートすることができる。
図9aは、フィードフォワードマイクロフォン130からADC310によって受け取られたフィードフォワード基準アナログ信号を表すフィードフォワード基準データと対応するサイドチェインデータの両方を出力する能力を有するADC310の変形例を示している。ADC310のこの変形例は、シグマ-デルタブロック322と、一次ダウンサンプリングブロック323と、二次ダウンサンプリングブロック325と、バンドパスフィルタ326と、RMSブロック327とを備えている。シグマ-デルタブロック322は、ADC310によって受け取られるアナログ信号の典型的なシグマ-デルタアナログ-デジタル変換の少なくとも一部を実行し、フィードフォワード基準データを比較的高いサンプリングレートで一次ダウンサンプリングブロック323に供給する。一次ダウンサンプリングブロック323は、様々な考えられるダウンサンプリング(および/または間引き)アルゴリズムのいずれかを使用して、音響ドライバ190によって音響的に出力されるアンチノイズ音を表すフィードフォワードアンチノイズデータを導出する際に使用されるVGA、デジタルフィルタ、および/または加算ノードの任意の組み合わせにより望ましいサンプリングレートでフィードフォワード基準データの変形データを導出する。しかし、一次ダウンサンプリングブロック323はまた、フィードフォワード基準データのコピーを二次ダウンサンプリングブロック325に供給し、フィードフォワード基準データのさらにダウンサンプリングされた(かつ/あるいは間引きされた)変形データを導出する。二次ダウンサンプリングブロック325は次に、フィードフォワード基準データのさらにダウンサンプリングされた変形データをバンドパスフィルタ326に供給し、バンドパスフィルタ326において、選択された周波数範囲内であるさらにダウンサンプリングされたフィードフォワード基準データによって表される音の一部をRMSブロック327に渡すことができる。RMSブロック327は、バンドパスフィルタ326の選択された周波数範囲内のさらにダウンサンプリングされたフィードフォワード基準データのRMS値を算出し、次に、RMS値をバス535を介して処理デバイス9100に送信できるようにインタフェース530に供給する。
上記の例では、フィードフォワードベースのANRの実行に関連するADC310およびデジタルデータが使用されたが、それぞれフィードバックベースのANRおよびパススルーオーディオのいずれかを伴うADC210および410のいずれかの同様な変形例が考えられることに留意されたい。また、データがバンドパスフィルタ326に供給されないうちにさらにダウンサンプリング(および/または間引き)が実行されることがないように二次ダウンサンプリングブロック325を備えていないADC310(またはADC210および410のいずれか)の他の変形例、バンドパスフィルタの代わりにあるいはバンドパスフィルタに加えてA強調フィルタまたはB強調フィルタを使用する他の変形例、RMSブロック327を異なる形態の信号強度計算(たとえば、絶対値計算)を実行する他のブロックで置き換える他の変形例、および二次ダウンサンプリングブロック325のダウンサンプリングされた(かつ/あるいは間引きされた)出力がほとんどあるいは実質的に修正なしでより多くインタフェースに伝達されるようにバンドパスフィルタ326および/またはRMSブロック327を備えていない他の変形例も考えられる。
図9bは、フィルタブロック350によって受け取られたフィードフォワード基準データに対応するフィードフォワードアンチノイズデータとサイドチェインデータの両方を出力する能力を有するフィルタブロック350の変形例を示している。上記に詳しく説明したように、フィルタブロック250、350、および450内のフィルタの数量、種類、および相互接続(すなわち、各フィルタブロックのフィルタブロックトポロジ)はそれぞれ、内部アーキテクチャ2200aおよび2200bのいずれかの動的構成機能の一部として動的に選択することができる。したがって、フィルタブロック350のこの変形例は、フィードフォワードアンチノイズデータを導出する機能とサイドチェインデータを導出する機能がどちらも実行される様々な考えられるフィルタブロックトポロジのうちの任意のフィルタブロックトポロジによって構成することができる。
図10aおよび10bはそれぞれ、フィードフォワード基準データが一対のANR回路2000間で共有される(各々のANR回路2000を具体化したものが、一対のイヤフォン100の別々のイヤフォンにフィードフォワードベースのANRを実行する)バイノーラルフィードフォワードベースのANRを内部アーキテクチャ2200aおよび2200bのどちらもがどのようにサポートできるかを示している。一対のイヤフォン100を有するパーソナルANRデバイス100のいくつかの実現形態では、各イヤフォン100と組み合わされた別個のフィードフォワードマイクロフォン130によって検出される音を表すフィードフォワード基準データが、各イヤフォンと組み合わされた別個のANR回路2000の両方に供給される。このことは、一対のANR回路2000を接続するバス上でフィードフォワード基準データを交換することによって実現される。
図10aは、2つの異なるフィードフォワードマイクロフォン130からのフィードフォワード基準データの入力を受け入れる能力を有するフィルタブロック350の変形例を含む信号処理トポロジ(場合によっては、上記に詳しく説明した信号処理トポロジのいずれか)の他の例を示している。特に、フィルタブロック350は、フィルタブロック350が存在する1つのANR回路2000も組み合わされた同じ一方のイヤフォンと組み合わされたフィードフォワードマイクロフォン130からフィードフォワード基準データをより直接的に受け取るためにADC310に結合されている。ADC310とフィルタブロック350とのこの結合は、上記に内部アーキテクチャ2200aおよび2200bに関して論じた方法の1つで行われる。しかし、フィルタブロック350は、他方のイヤフォン100と組み合わされたANR回路2000からインタフェース530を通して他方のイヤフォン100と組み合わされたフィードフォワードマイクロフォン130から他のフィードフォワード基準データを受け取るようにインタフェース530にも結合されている。これに応じて、フィードフォワード基準データをフィルタブロック350に供給するためのADC310の出力も、インタフェース530を通して他方のイヤフォン100と組み合わされたANR回路2000にADC310のフィードフォワード基準データを送信するためにインタフェース530に結合されている。他方のイヤフォン100と組み合わされたANR回路2000は、そのフィルタブロック350の同じ変形例を含むその信号処理トポロジに対して上記と同じ追加構成を使用し、この2つのANR回路2000を具体化したものは、そのそれぞれのインタフェース530を通し、両方のANR回路2000を具体化したものが結合されたバス535を介してフィードフォワード基準データを交換する。
図10bは、フィルタブロック350の変形例を含む信号処理トポロジに対する他の追加構成例を示している。しかし、フィルタブロック350のこの変形例は、一方のANR回路2000を具体化したものからのフィードフォワード基準データの受け取りに関連するだけでなく、他方のイヤフォン100と組み合わされたANR回路2000へのフィードフォワード基準データの送信に関連する変形例である。フィードフォワード基準データが他方のANR回路2000を具体化したものに送信されないうちにフィードフォワード基準データを何らかの方法でフィルタリングするかあるいは他の方法で処理することが望ましい実現形態では、このような追加的な機能をフィルタブロック350に組み込んでもよい。
図11は、過度に高い環境ノイズ音レベルが発生したことに応答してフィードバック基準音およびフィードフォワード基準音を調整された状態で圧縮する信号処理トポロジ態様を示している。環境ノイズ音が十分に高いレベルの音響エネルギーに達する状況では、フィードバックベースのANRおよびフィードフォワードベースのANRの一方または両方が、ANRの実行が損なわれる程度、場合によっては音響ノイズが実際に発生する程度に過負荷状態に陥ると考えられる。図11は、このような状況で上記のような調整された圧縮を実行するためにいくつかの信号処理トポロジ(それぞれ図4a〜4gの信号処理トポロジ2500a〜2500gなど)に施すことのできる追加および/または修正を簡略化して示している。
フィードフォワードベースのANRに関して、フィードフォワードマイクロフォン130の振動板は、そのような高い環境ノイズ音レベルによって、フィードフォワードマイクロフォン130によって出力され、フィードフォワード基準音を表すようになっている電気信号の電圧レベルが、その振動板の物理的移動との線形関係を終了する程度に、場合によっては、その電気信号でクリッピングが生じる程度に振動する可能性がある。その状態で、そのようなクリッピングされた非線形電気信号がフィードフォワード基準音を表すものとして使用された場合、効果的なフィードフォワードベースのANRを実行できないクリッピングされた形態のフィードフォワードアンチノイズ音が作成される。また、この結果として、これらのクリッピングされたフィードフォワードアンチノイズ音が音響ドライバ190によって音響的に出力されるときに結果的に環境ノイズ音を効果的に増幅させる追加的なノイズを実際に含むフィードフォワードアンチノイズ音も生成される。
また、フィードフォワード基準ノイズ音を表すようになっている歪んだ電気信号からフィードフォワードアンチノイズ音が生成されるか否かにかかわらず、このような高い環境ノイズ音は、オーディオ増幅器960および/または音響ドライバ190の限界に達する結果として、これらのアンチノイズ音の一方または両方の音響出力においてクリッピングを生じさせるのに十分な振幅を有するフィードフォワードアンチノイズ音および/またはフィードバックアンチノイズ音を生成する可能性がある。当業者には容易に認識されるように、音の音響出力においてクリッピング(または他の音響アーチファクト)が発生すると、このような出力音が歪む恐れがある。アンチノイズ音が歪むとその結果、実行されるANRの程度が低下し、場合によっては追加的なノイズ音が発生する恐れがある。
上記に、それぞれ図4f〜4gに示されている信号処理トポロジ2500f〜2500gを参照して概略的に論じるとともにより具体的に論じたように、圧縮コントローラ950は、VGA125および135(存在する場合)、VGA220および320(存在する場合)、および/またはフィードバック基準音およびフィードフォワード基準音がそれぞれ、アンチノイズ音を生成できるように様々なフィルタ(たとえば、フィルタブロック250および350)に供給される前に受ける利得を小さくするために存在してよい他のVGAを動作させることによって、いくつかのイベントのいずれにも応答することができる。上記にも論じたように、一対のアナログVGA125および135または一対のデジタルVGA220および320のような一対のVGAは、場合によってはフィードバック基準音およびフィードフォワード基準音を表すアナログ信号の相対振幅同士を平衡させ、かつ/あるいは場合によっては、フィードバック基準音およびフィードフォワード基準音を表すデジタル信号によって伝達されるデジタルデータの数値を制限するように調整しながら制御することができる。言い換えれば、一対のアナログVGA125および135または一対のデジタルVGA220および320のような一対のVGAは、(アナログ形式で表されるかそれともデジタル形式で表されるかにかかわらず)フィードバック基準音およびフィードフォワード基準音の相対振幅同士を平衡させるように調整しながら制御することができる。
より具体的には、図11に示されているように、圧縮コントローラ950は、(音響ノイズ源9900から放出される音のような)環境ノイズ音が少なくとも1つの所定の音響エネルギーレベル(たとえば、所定の音圧レベル)に達したことが示されたことに応答して、フィードバック基準音およびフィードフォワード基準音を表す信号が調整されながら受ける利得を小さくするように、一対のVGA125および135または一対のVGA220および320を動作させることができる。これは、(図11に具体的に示されているように)フィードフォワードマイクロフォン130によって検出されるようなフィードフォワード基準音の振幅を直接監視することによって行うことができる。いくつかの実施形態では、所定のエネルギーレベルに達したことを示すことは、フィードフォワードマイクロフォン130から送信されフィードフォワード基準音を伝達する信号において検出される所定のレベルを超える音響アーチファクトまたは振幅が発生することであってよい。他の実施形態では、所定の音響エネルギーレベルに達したことを示すことは、(図11に具体的に示されているように)音響ドライバ190によって音響的に出力される少なくともアンチノイズ音を伝達する信号において圧縮コントローラ950によって検出される所定のレベルを超える音の音響アーチファクト(たとえば、クリッピング)または振幅が発生することであってよい。他の実施形態では、所定のエネルギーレベルに達したことを示すことは、フィードバックベースのANR経路200および/またはフィードフォワードベースのANR経路300に沿った任意の場所で圧縮コントローラ950によって検出される所定のレベルを超える音の音響アーチファクトまたは振幅が発生することであってよい。他の実施形態では、所定のエネルギーレベルに達したことを示すものは、環境ノイズ音の音響レベルが所定のレベルに達したことを何らかの方法で判定しておくことができる他のデバイス(不図示)から受け取られる外部制御信号であってよい。
フィードフォワード基準音とフィードバック基準音の両方を調整しながら減衰させると、結果として得られるフィードフォワードアンチノイズ音およびフィードバックアンチノイズ音の強度の相対差を過度に大きくする状況を避けることができる。たとえば、フィードフォワード基準音の強度がフィードバック基準音の強度を大きく上回るようにフィードバック基準音を減衰させるときにフィードフォワード基準音を減衰させない場合、フィードバック基準音の圧縮が飽和する可能性がある。フィードフォワードベースのANRとフィードバックベースのANRを組み合わせる技術に精通した業者には容易に認識されるように、フィードフォワードANRアンチノイズ音がフィードバックループ出力に対して加算される場合、フィードフォワードアンチノイズ音の強度は、フィードバックベースのANRを実施する際に形成されるループの感度が不十分であることによって低下し、この場合、フィードフォワードアンチノイズ音の強度は、フィードバックベースのANRのループの利得がコンプレッサの動作によって小さくされるにつれて高くなる。いくつかの実施形態では、フィードフォワードアンチノイズ音の強度がこのように高くなり、フィードバックアンチノイズ音の強度に対して過度に高くなった場合、実際にはフィードバックベースのANRループの圧縮がさらに圧縮飽和点まで進行し、それによって、フィードバックアンチノイズ音の強度は実際には、フィードバックベースのANRがまったく実行されない程度に低下する。また、結果としてフィードバックベースのANRが行われなくなると、それを補償するためにフィードフォワードアンチノイズ音の強度がさらに高くなる可能性がある。このような条件の下では、フィードフォワードアンチノイズ音が、オーディオ増幅器960がオーディオを増幅する限界および/または音響ドライバ190がオーディオを音響的に出力する限界に達するかあるいは限界を超えたためにフィードフォワードアンチノイズ音のクリッピングが生じるような強度でオーディオ増幅器960および/または音響ドライバ190に供給され、それによって、ANRの実行がさらに妨げられる恐れがある。
また、図11により具体的に示されているように、圧縮コントローラ950は、フィードバック基準音を表す信号よりも大きい減衰勾配を有するフィードフォワード基準音を表す信号を圧縮するように一対のVGAを動作させることができる。言い換えれば、圧縮コントローラ950は、フィードフォワード基準音の振幅をフィードバック基準音よりも高い程度に圧縮するように一対のVGAを動作させることができる。これは、フィードバックベースのANRのループの圧縮が飽和する前述の状況が発生するのを避けるために行うことができる。環境ノイズ音の効果としてフィードバックマイクロフォン120に対する効果よりもフィードフォワードマイクロフォン130に対する効果の方がより直接的でより高いことを認識して上記の動作を実行させることが望ましいと考えられる。
音響出力用のフィードフォワード基準音またはアンチノイズ音を伝達する信号の振幅、電圧レベル、および/またはデータ値の大きさの指標が圧縮コントローラ950に供給される実施形態では可変圧縮度を使用することができ、この場合、そのような振幅、電圧レベル、および/または大きさと相対的にフィードフォワード基準ノイズ音およびフィードバック基準ノイズ音の可変減衰度が得られる。図11は、一対のVGAを動作させる際に圧縮コントローラによって使用される減衰勾配としてほぼ直線状の減衰勾配を示しているが、非直線状の曲線が、使用できる減衰度と振幅、電圧レベル、大きさ、および/または信号時間履歴のうちの1つまたは複数との様々な線形関係および/または非線形関係のいずれかを表すことに留意されたい。
図11により具体的に示されているように、少なくともフィードフォワード基準音の圧縮は、ある圧縮度に達した後で安定することができる。いくつかの実施形態では、(この場合も、図示のより険しい勾配によって示されるように)フィードフォワード基準音の圧縮度をフィードバック基準音の圧縮度よりも高速に上昇させることを考慮すると、このようなフィードフォワード基準音の圧縮の安定は、フィードバック基準音の最大可能圧縮に達する前にフィードフォワード基準音の最大可能圧縮に達する結果として生じてよい。言い換えれば、フィードフォワード基準音が、その振幅が零に近くなる(場合によっては完全に零になる)程度に圧縮され、一方、フィードバック基準音がそのように圧縮されないように、フィードフォワード基準音を圧縮する際に使用されるあらゆるVGAを動作させてよい。あるいは、フィードフォワード基準音の圧縮に関わるあらゆるVGAまたは他のコンポーネントの限界によって、超えることのできないフィードフォワード基準音の最大圧縮度を設定してよい。その代わりにかつ/あるいはそれに加えて、構成上の他の要件によって、フィードフォワード基準音の圧縮度を該音の振幅が零に近い値になる(あるいは完全に零になる)範囲に到達させないことが何らかの点で望ましいと考えられる。
図12aおよび12bはそれぞれ、ANR回路2000のそれぞれ内部アーキテクチャ2200aおよび2200bに対する考えられるいくつかの追加構成の変形例を示している。したがって、説明を簡単にするために、考えられるこれらの追加構成に関連する内部アーキテクチャ2200aおよび2200bの一部のみが示され、一方、他の部分(たとえば、存在する可能性があるパススルーオーディオに関係する部分)は省略されていることに留意されたい。考えられるこれらの追加構成のいくつかは、ANR回路2000を少なくとも1つのバス535を介して他のデバイスに結合するインタフェース530を必ず使用する。
特に、処理デバイス510は、一対のVGA125および135(存在する場合)または一対のVGA220および320(VGA220および320は、VGAバンク560から選択されるかあるいはVGAルーチン561からインスタンス化される)を動作させることに備えて、記憶デバイス170、他方のANR回路2000、および/または処理デバイス9100から、調整された利得値を指定するデータを受け入れるように(場合によってはローディングルーチン522によって)ANR回路2000を構成させることができる。いくつかの実施形態では、調整された利得値を指定するデータは、環境ノイズ音の音響エネルギー(たとえば、音圧レベル)の発生が少なくとも1つの所定のレベルに達したことに応答して一対のVGA125および135または一対のVGA220および320に供給すべき1つまたは複数の利得値対で構成されてよい。そのような実施形態では、1つまたは複数の利得値は、ANR設定527の一部としてストレージ520に記憶され、かつ/あるいはパーソナルANRデバイス1000の通常の動作時に他方のANR回路2000および処理デバイス9100の一方または両方からリアルタイムに供給されてよい。他の実施形態では、調整された利得値を指定するデータは、調整された利得値を指定するデータは、調整された利得値を処理デバイス510によって振幅、電圧レベル、大きさ、または信号時間履歴からANRルーチン525を実行することの一部として数学的に(あるいは他の何らかの方法で)導くための数学的関係または他の関係を指定するデータであってよい。
調整された利得値がANR回路2000によってインタフェース530を通じて他のデバイスから受け取られ、他のデバイスが他方のANR回路である場合、調整された利得値は、他方のANR回路2000のフィードフォワードマイクロフォン(不図示)において、エネルギーレベルが少なくとも1つの所定のレベルに達した環境ノイズ音が生じたことに応答して供給されてよい。このことが行われてよいのは、他方のANR回路2000のフィードフォワードマイクロフォンにおいて、フィードフォワードマイクロフォン130ではそのような環境ノイズ音が生じない状況でそのような環境ノイズ音が生じた場合、または他方のANR回路2000のフィードフォワードマイクロフォンにおいて、フィードフォワードマイクロフォン130よりも早くそのような環境ノイズ音が生じた場合である。ANR回路2000と他方のANR回路2000の間での調整された利得値のこのような伝達は、前述のように、バイノーラルフィードフォワードベースのANRの実行の一部として行うことができる。
調整された利得値がANR回路2000によってインタフェース530を通じて他のデバイスから受け取られ、他のデバイスが処理デバイス9100である場合、調整された利得値は、他方のANR回路2000のフィードフォワードマイクロフォン130および他方のフィードフォワードマイクロフォン(不図示)の一方または両方において、エネルギーレベルが所定のレベルに達した環境ノイズ音が生じたことに応答して供給されてよい。処理デバイス9100は通常、フィードフォワードマイクロフォン130および/または他方のフィードフォワードマイクロフォンによって検出される少なくともフィードフォワード基準音に関する1つまたは複数の形態の分析を処理デバイス9100に実行させる命令のシーケンスを実行するために使用されてよいが、調整された利得値をANR回路2000に供給するために圧縮コントローラの一形態として機能するように使用されてもよい。
一対のVGA用の調整された利得値がどのように受け取られるかあるいは導出されるかにかかわらず、該調整された利得値を一対のVGAに供給する場合に、前述のようにトリプルバッファリングを使用することができる。いくつかの実施形態では、少なくとも一対のVGA125および135(存在する場合)またはVGA220および320(存在する場合)の少なくとも利得設定をタイミングを調整しながら変更する際にバッファ620aおよび620b(図6a〜6c参照)が使用され、一方、バッファ620cは、ANRの実行が不安定であることが検出される例で使用すべき「フェイルセーフ」利得値対となるほど控えめであるとみなされる調整された利得値を保持する。
図12aを参照すると分かるように、前述のように、内部アーキテクチャ2200aでは、圧縮コントローラ950をANR回路2000内の異なる回路として実施することができる。図12bを参照すると分かるように、前述のように、内部アーキテクチャ2200bでは、圧縮コントローラ950を、ANRルーチン525の命令シーケンスを実行した結果として処理デバイス510によって実施させることができる。圧縮コントローラ950のいずれの実施方法でも、DAC910に供給されるデジタルデータを受け取るか、あるいはオーディオ増幅器960から出力されるアナログ信号からADC955(存在する場合)によって生成されるデジタルデータを受け取ることによって、音響ドライバ190から音響的に出力されるアンチノイズ音の特性を監視することができる。これは、上記に詳しく説明したように、フィードフォワードマイクロフォン130によって検出されるフィードフォワード基準ノイズ音の特性を監視するのと同時に行うことができる。この場合も、圧縮コントローラ950が(異なる回路によって実施されるか、あるいは処理デバイスによって実行される命令のシーケンスとして実施されるかにかかわらず)前述のように音が音響的に出力されるのをどのように監視するかが上記のように具体的に示されているにもかかわらず、圧縮コントローラ950は、フィードフォワードマイクロフォン130によって検出されるフィードフォワード基準音をより直接的に監視し、かつ/あるいはフィードバックベースのANR経路200およびフィードフォワードベースのANR経路300の一方または両方に沿った他の位置で音を監視することができる。
この場合も、本明細書では、少なくともあるデジタル回路を使用するANR回路2000の実現形態を詳しく図示し論じているが、本明細書で図示され論じられる信号処理トポロジおよび信号処理トポロジの一部の多数の実施形態の各々を、アナログ回路を使用して部分的または全体的に実施してよいことが当業者には容易に認識されることに留意されたい。したがって、より具体的には、フィードフォワード基準音およびフィードバック基準音の調整された圧縮を実施する図11に示された信号処理トポロジの修正例および/または一部を、アナログ回路を使用して全体的に実施することができる。
図13は、前述のように様々な勾配を有するフィードフォワード基準音とフィードバック基準音の両方を調整しながら圧縮する例を明確に示している。図13は、音響エネルギーの様々な所定の閾値を使用してフィードフォワード基準音の圧縮の開始をトリガする例とフィードバック基準音の圧縮の開始をトリガする例も対比して示し、フィードフォワードマイクロフォン130によって検出される環境ノイズ音の周波数特性に依存する閾値レベルを使用する例をさらに示している。
ある期間にわたる環境ノイズ音の音響エネルギーの直線的な上昇が示されているが、このように示されていることを、本明細書に記載されていることまたは本明細書で請求されていることの範囲をこのような環境ノイズ音の音響エネルギーの規則的な一定の変化にのみ応答することに制限するものとみなすべきではなく、かつ環境ノイズ音のそのような挙動が現実の条件で生じることが多少なりとも予想されるという考えを反映するものとみなすべきではない。このような環境ノイズ音の音響エネルギーの規則的で一定の変化が非常に簡略的に示されているのは、本明細書に記載されていることおよび本明細書で請求されていることによって環境ノイズ音の様々な音響エネルギーレベルにどのように応答できるかをよりよく理解できるようにするためのみのものであることを理解されたい。
図示のように、(音響ノイズ源9900から放出される音などの)環境ノイズ音の音響エネルギーのレベルが高くなると、フィードフォワード基準音の圧縮を開始させるトリガとして働くT1またはT2で、音響エネルギーの所定の閾値レベルに達する。環境ノイズ音の音響エネルギーのレベルが引き続き高くなるにつれて、フィードフォワード基準音の圧縮度が高くなる。環境ノイズ音の音響エネルギーのレベルがさらに引き続き高くなると、フィードバック基準音の圧縮を開始させるトリガとして働くT3またはT4で音響エネルギーの他の所定の閾値レベルに達する。環境ノイズ音の音響エネルギーのレベルがさらに引き続き高くなると、フィードバック基準音の圧縮度が高くなり、フィードフォワード基準音の圧縮度も高くなる。ただし、やはり図示されているように、フィードバック基準音の圧縮が増強されるよりも険しい勾配を辿るより速い速度でフィードフォワード基準音の圧縮が増強される。
やはり図示されているように、いくつかの実施形態では、環境ノイズ音の音響エネルギーの閾値レベルは、環境ノイズ音の周波数特性に応じて変更することができる。一例として、フィードフォワード基準音の圧縮がトリガされる音響エネルギーの閾値レベルを、環境ノイズ音の卓越周波数が(T1で閾値に達するような)より低い周波数であるかそれとも(T2で閾値に達するような)より高い周波数であるかに応じてT1またはT2で達するように変更することができる。同様に、フィードバック基準音の圧縮がトリガされる音響エネルギーの閾値レベルを、環境ノイズ音の卓越周波数が(T3で閾値に達するような)より低い周波数であるかそれとも(T4で閾値に達するような)より高い周波数であるかに応じてT3またはT4で達するように変更することができる。
閾値が環境ノイズ音の周波数特性にこのように依存することを使用して、各ノイズ低減形態が通常機能する様々な周波数範囲を認識することができる。通常、ケーシング110、ヘッドフォン115、および/またはパーソナルANRデバイス1000の他の物理的機能によって実行されるPNRは、周波数が高いほど顕著に環境ノイズ音を低減させ、フィードフォワードベースのANRは、より低い周波数で環境音を低減させるように働き、フィードバックベースのANRは、さらに低い周波数で環境音を低減させるように働く。したがって、フィードフォワードベースのANRおよびフィードバックベースのANRは、より低い周波数で非常に高い音響エネルギーレベルを有する環境ノイズ音の悪影響を受ける可能性がより高く、したがって、フィードフォワード基準音および/またはフィードバック基準音を圧縮することはより低い周波数では非常に有利である。したがって、環境ノイズ音が大部分が低い周波数の音で構成されている場合、フィードフォワード基準音および/またはフィードバック基準音の圧縮がトリガされる1つまたは複数の閾値を、フィードフォワード基準音の圧縮が(T2ではなく)T1でトリガされ、かつ/あるいはフィードバック基準音の圧縮が(T4ではなく)T3でトリガされるように小さくしてよい。
その代わりにかつ/あるいはそれに加えて、閾値が環境ノイズ音の周波数特性にこのように依存することを使用して、音響ドライバ190があるオーディオ周波数および/またはオーディオ周波数範囲の音を音響的に出力する際の考えられる限界を認識することができる。当業者には知られているように、音響ドライバは一般に、等しい電気エネルギーによってあるオーディオ周波数の音と異なるオーディオ周波数の他の音の両方の音を音響的に出力するオーディオ増幅器によって駆動されるにもかかわらず、一方の音を他方の音よりも高い音響エネルギーで音響的に出力する。前述のフィードバックベースのANRループが、そのような制限を受ける音響ドライバ190を含むことを考慮すると、このような制限を少なくとも部分的に認識して、フィードフォワード基準音の圧縮およびフィードバック基準音の圧縮をそれぞれ、大部分が高い周波数の環境ノイズ音および大部分が低い周波数の環境ノイズ音によってトリガするための閾値を選択することが望ましいと考えられる。
圧縮コントローラ950は、フィードフォワードマイクロフォン130から圧縮コントローラ950に供給される信号によって表されるフィードフォワード基準音を2つ以上の周波数内の音に分離し、かつ/あるいはこの2つ以上の周波数範囲内の音の相対的な音響エネルギーを求める1つまたは複数のフィルタを備えてよい。その代わりにかつ/あるいはそれに加えて、フィルタブロック250、350、および450のうちの1つまたは複数のフィルタブロックの各フィルタは、場合によっては圧縮コントローラ950がすでにこの2つ以上の周波数範囲に分離されている形態でフィードフォワード基準音を受け取るように使用されてもよい。内部アーキテクチャ2200aでは、これらのフィルタをフィルタバンク550から得ることができる。内部アーキテクチャ2200bでは、処理デバイス510によりフィルタルーチン553、555、557、および559のうちの1つまたは複数のルーチンを実行することによって、これらのフィルタをインスタンス化し実施することができる。
図14は、フィードバック基準音およびフィードフォワード基準音の一方または両方の圧縮を周波数に応じて制御するより高度な形態の信号処理トポロジ態様を示している。圧縮のトリガを可能にする圧縮コントローラ950への入力として使用されるオーディオとしてどんなオーディオが選択されるかにかかわらず、オーディオは、圧縮コントローラ950に供給される前にこのオーディオに変換処理を実行するフィルタ952を通るように転送され、そのオーディオの様々な周波数に対する圧縮コントローラ950の感度が変更される。このように、圧縮コントローラは、そのオーディオに存在する音の様々な周波数の大きさに応じてフィードバック基準音およびフィードフォワード基準音の一方または両方を程度の差はあるが積極的に圧縮する。図14は、周波数に応じた圧縮を実行するために(それぞれ図4a〜4gの信号処理トポロジ2500a〜2500gのような)信号処理トポロジに施すことのできるそのような追加および/または修正を簡略的に示している。視覚的なクラッタを少なくするために、フィードバック基準ノイズ音およびフィードフォワード基準ノイズ音からフィードバックアンチノイズ音およびフィードフォワードアンチノイズ音を得て合成するようにフィルタブロック250とフィルタブロック350を結合する特定の方法は特に示されていないことを理解されたい。言い換えれば、信号処理トポロジの、フィルタブロック250とフィルタブロック350をどのように結合するかに関する部分は、特に示されていない。
前述のように、過度の音響エネルギーを有するノイズ音が発生し、それによって、望ましくないことに、フィードバック基準音およびフィードフォワード基準音の一方または両方の圧縮を行わないと、フィードバックベースのANRおよびフィードフォワードベースのANRの一方または両方の機能が損なわれることを含むいくつかのイベントのいずれかに応答して、このような圧縮を行う必要が生じることがある。より一般的には、上記に詳しく論じたように、音響ドライバ190から音響的に出力される音を表すアナログ信号の振幅が、その振幅がオーディオ増幅器960および/または音響ドライバ190の特性によって課される限界を超えることによってクリッピングが生じる可能性があるほど高い場合に、上記のような圧縮を使用する必要が生じることがある。フィードバック基準音およびフィードフォワード基準音の一方または両方を圧縮することによって、アンチノイズ音を得る際に基礎となる音の振幅が小さくなり、それによって、このようなアンチノイズ音の振幅が小さくなり、クリッピングが防止される。このように結果的にアンチノイズ音の振幅が小さくなると、ANRの実行が抑制されるが、そのような圧縮を一時的に施すことは、アンチノイズ音の音響出力においてクリッピングを生じさせた場合の可聴結果よりもずっと心地よいものと考えられる。
その代わりにかつ/あるいはそれに加えて、いくつかの周波数でより高い音響エネルギーを有するアンチノイズ音を音響的に出力するように音響ドライバ190を駆動し、一方、オーディオ増幅器960および/または音響ドライバ190の特性によって課され、他の周波数では与える制約の程度が高くなると考えられる限界を超えるのを避ける必要から、フィードバック基準音およびフィードフォワード基準音の一方または両方を圧縮する必要が生じることがある。この必要は、パーソナルANRデバイス(パーソナルANRデバイス1000など)が、特に雑音の多い環境、たとえば、ある種の軍用車輌の内部、船の機関室、騒音を出す機械を伴う建設現場または採掘現場で環境ノイズ音を抑制するために使用される場合に生じる可能性がある。
フィルタ952は、圧縮コントローラ950への入力としてどんなオーディオが使用されるかにかかわらずオーディオに様々な種類の変換処理のうちのいずれかを実行するように構成された様々な種類のフィルタのいずれかであってよい。この変換処理としては、圧縮コントローラ950によって圧縮が適用される前に、少なくとも1つの下限を、1つの周波数を有する少なくとも1つの音を駆動することができる振幅に定め、圧縮コントローラ950によって圧縮が適用される前に、少なくとも1つの上限を、他の周波数を有する少なくとも1つの他の音を駆動することができる振幅に定める変換処理を選択してよい。フィルタ952を構成するための変換処理を選択することによって設定される振幅の様々な限界としては、クリッピングや機械的限界を超えることのような、振幅が過度に大きくなった結果として様々な周波数で生じる可能性がある様々な望ましくない状況を避ける限界を選択してよい。
音響ドライバの振動板が周囲の空気中で自由に動くことができるように音響ドライバが屋外環境で動作する(すなわち、ケーシングのキャビティ内に密閉されることなどによって妨害されることがない)一例(具体的には示されていない)として、圧縮をより低い周波数でより積極的に施すことが望ましいと考えられる。より具体的には、音響ドライバの動作に精通した業者には容易に認識されるように、周囲の空気から任意の音響ドライバの振動板に加えられる機械的インピーダンスは周波数に応じて決まる。(100Hz以下程度の)より低い周波数では、音響ドライバの周囲の空気および様々な機械的態様では音響ドライバの振動板の移動に対する抵抗が比較的少なく、したがって、十分に強力なオーディオ増幅器が、音響ドライバのコンポーネント(たとえば、振動板、磁石、可撓性の導体、その振動板の可撓性の支持体など)がその移動範囲の望ましくない限界に近付き過ぎるほど該振動板を遠くまで移動させるのがより容易である。すなわち、そのような状況では、音響ドライバの1つまたは複数のコンポーネントに損傷を与える可能性がある。これに対して、より高い周波数では、周囲の空気が振動板の移動に対して顕著な抵抗を与え、それによって、振動板はその移動が著しく制限され、したがって、望ましくないそのような限界への到達が生じなくなる(より低い周波数とより高い周波数がどちらも同じレベルに駆動されると仮定する)。したがって、一般に、音響ドライバコンポーネントが機械的に損傷する可能性を低くしつつ高い音響エネルギーを有するより高い周波数の音(周波数が概ね100Hzよりも高い音)を出力するように音響ドライバを安全に駆動することが可能である。ただし、周波数が低くなると、音響ドライバコンポーネントが機械的に損傷する可能性が高くなる。
したがって、この例では、より低い周波数ではある形態の圧縮をより積極的に加えて音響ドライバのコンポーネントへのそのような機械的損傷を防止し、一方、機械的損傷の可能性がかなり低いより高い周波数では圧縮をそれほど積極的には生じさせないことが望ましいと考えられる。言い換えれば、圧縮を加えないうちにより低い周波数を音響的に出力することができる振幅の下限、および圧縮を加えないうちにより高い周波数を音響的に出力することができる振幅の上限を定めることが望ましいと考えられる。
図14および1つのイヤフォン100のケーシング110内の音響ドライバ190の動作例について再び説明する。フィードバック基準ノイズ音およびフィードフォワード基準ノイズ音の圧縮の加え方が周波数に応じて決まるようにフィルタ952を構成する場合、キャビティ119(図1に最もよく示されている)がケーシング110の外部の環境に何らかの方法で音響的に結合されるかされないかに応じて変換処理をいくらか異ならせてよい。キャビティ119がそのように結合されない場合、かなりの振幅のノイズ音を抑制するようにかなりの振幅のアンチノイズ音を音響的に出力することが望ましい場合、およびオーディオ増幅器960が十分に強力である場合、周波数に応じた圧縮を使用することを望ましいこれらの状況は、前述のような屋外音響ドライバの例における状況にいくぶん類似している。
より具体的には、前述のような屋外音響ドライバの例と同様に、周波数がより高い(たとえば、概ね100Hzを超える周波数)ときには音響ドライバ190の振動板に顕著な機械的インピーダンスが加えられる。すなわち、キャビティ119が音響ドライバ190の振動板のサイズと比べて非常に小さいキャビティでないかぎり、前述のような屋外音響ドライバの例のより高い周波数での顕著な機械的インピーダンスは、キャビティ119が外部環境に結合されないケーシング110内の音響ドライバ190にかなり類似したものになると考えられる。したがって、この場合も、周波数がより高いときには、圧縮をそれほど積極的に加えないようにすることが望ましい場合があり、したがって、周波数がより高いときに大きい振幅に対する圧縮コントローラ950の感度が低くなるようにする変換処理を実施するようにフィルタ952を構成してよい。その結果、周波数がより高いときにはより大きい振幅閾値が定められ、それによって、より高い周波数の音が、圧縮コントローラ950が圧縮を加えないうちにそのより大きい閾値に到達する振幅を有することが必要になる。しかし、キャビティ119がケーシング110の外部の環境に音響的に結合されないため、音響ドライバ190の動作は、前述のように周波数がより低いとき(たとえば、周波数が100Hz以下程度)の音響ドライバの屋外動作例とかなり異なる。当業者には容易に認識されるように、キャビティ119が外部環境に結合されない状態で周波数がより低いときに音響ドライバ190の振動板に加えられる機械的インピーダンスはかなり高くなる。その結果、このように周波数がより低いとき、オーディオ増幅器960は、音響ドライバ190が屋外環境で動作する場合に必要になるよりもかなり大きな電気エネルギーによって、音響ドライバ190のコンポーネントの機械的限界に到達するように音響ドライバ190を動作させる必要がある。したがって、周波数がより低いとき、音響ドライバ190の振動板を移動させることによって音響ドライバ190の機械的限界に到達することが依然として問題であるが、その程度は低くなる。したがって、この場合も、周波数がより低いときには、圧縮を積極的に施すことが望ましい場合があり、したがって、周波数がより低いときに高い振幅に対する圧縮コントローラ950の感度が高くなるようにさせる変換処理を実施するようにフィルタ952を構成してよい。その結果、この場合も、周波数がより低いときにより小さい振幅閾値が定められ、それによって、より低い周波数の音が、圧縮コントローラ950が圧縮を加えないうちにそのより小さい閾値にのみ到達する振幅を有することが必要になる。しかし、このより小さい閾値は、音響ドライバ190が屋外環境で動作する場合に設定されるよりもいくらか大きい値に設定されてよい。
図15は、圧縮コントローラ950が周波数に応じて圧縮を施すようにすることが望ましい場合がある他の例を示している。より具体的には、図15は、音響ドライバ190がケーシング110内に密閉されているが、この例では、キャビティ119がケーシング110の外部の環境に結合されている前述の例の変形例を示している。このことは、単一の音響ポートがかなり簡略的に示されている前述の図1に示されているが、図1では複数の音響ポートによってこのような結合を実現してよいことが示されており、図15は、抵抗ポート195および質量ポート198によるこのようなより複雑な結合を示している。抵抗ポート195は、図示のように抵抗ポート195内に位置する1つの音響抵抗材料196、あるいはケーシング110の外部の環境に開放するかまたはキャビティ119内に開放する抵抗ポート195を覆う1つの抵抗材料によって形成されてよい。質量ポート198は、キャビティ119とケーシング110の外部の環境との間の開口部として形成されてよく、選択された同調周波数よりも低い周波数ではキャビティ119をケーシング110の外部の環境に効果的に音響的に結合し、一方、同調周波数よりも高い周波数ではキャビティ119をケーシングの外部の環境から音響的に分離するように質量ポート198とキャビティ119のコンプライアンスとの共振を調整する寸法および/または形状を有する。Roman Sapiejewskiによって2004年12月14日に発行され、マサチューセッツ州のBose Corporationに譲渡され、引用によって本明細書に組み込まれる米国特許第6831984号に詳しく記載されているように、抵抗ポート195および質量ポート198の一方または両方を設けて、(たとえば、より低い周波数を音響的に出力する際に)音響ドライバ190による音の音響出力の特性を向上させ、かつ/あるいはキャビティ119を小さくするのを可能にすることができる。
1つまたは複数の音響ポートによってキャビティ119を外部環境(たとえば、抵抗ポート195および質量ポート198)に結合することができるだけでなく、ケーシング110内に1つまたは複数の音響ポートを形成してキャビティ112をケーシング110の外部の環境に結合することができるイヤフォン100の他の変形例が考えられる。このようにキャビティ112を外部環境に結合することは、Jason Harlowらによって2010年3月9日に出願され、マサチューセッツ州フラミンガムのBose Corporationに譲渡され、引用によって本明細書に組み込まれる米国特許出願第12/719903号に詳しく記載されているように、ANRの実行を安定させる助けとしてキャビティ112と外部環境との間に予測可能で一定であるある程度の漏れを可能にすることを含む、いくつかの理由のいずれかで行われてよい。
外部環境とキャビティ112および119の一方または両方との間のこのような結合は、このような結合が、ある周波数では外部環境に対する開口部のように動作し、一方、他の周波数では外部環境に対して閉鎖されている場合と同様に動作する「同調」特性を有してよい。その結果、音響ドライバ190の振動板では、ある周波数においてそのようなポートが開口部のように動作する(それによって、1つまたは複数のキャビティ内の空気がこれらのポートを自由に通過する)ため周囲の空気によって加えられる機械的インピーダンスが低くなるが、これらのポートが閉鎖される場合と同様に動作する他の周波数では、周囲の空気からの機械的インピーダンスが高くなる。機械的インピーダンスが低くなる周波数では、音響ドライバ190の振動板は、音響ドライバ190のコンポーネントがその移動範囲の望ましくない限界に近付き過ぎるように過度に遠くまで移動する可能性があるほど自由に移動することができる。
図15に示されている例では、キャビティ119が約40Hz以下の周波数でケーシング110の外部の環境に結合され、約100Hz以上の周波数で外部環境に対して相対的に閉鎖され、40Hzから100Hzの間で開放状態から閉鎖状態に遷移するように抵抗ポート195と質量ポート198の組み合わせが同調される。したがって、前述のような屋外音響ドライバの例、および前述のようにキャビティ119を外部環境に結合するポートを有さないケーシング110内の音響ドライバ190の例といくらか同様に、音響ドライバ190の振動板では、概ね周波数が100Hz以下であると移動に対する周囲からの抵抗が弱くなり、周波数が100Hzを超えると移動に対する抵抗が顕著になる。これによって、より低い周波数で音響ドライバ190の機械的限界に達する可能性が、キャビティ119が外部環境に結合されない場合よりも高くなり、すなわち、この可能性は、音響ドライバ190が屋外環境で動作する場合の可能性と同様であると考えられる。したがって、この場合も、特にANRを実行してかなり大きいノイズ音を減衰させるのに十分なエネルギーによって振動板を駆動するのが望ましい場合、この場合も、圧縮コントローラ950により低い周波数ではフィードバック基準ノイズ音および/またはフィードフォワード基準ノイズ音をより積極的に圧縮し、より高い周波数ではそれほど積極的には圧縮しないようにさせる変換処理を実施するようにフィルタ952を構成することが望ましいと考えられる。
図15は、このような変換処理を具体的に示している。基本的に、フィルタ952は、シェルフフィルタとして機能するように構成される。周波数が最大で40Hzの音は、音の振幅に対する圧縮コントローラの感度が高くなるようにより大きな振幅でフィルタ952を通過し、周波数が100Hzよりも高い音は、音の振幅に対する圧縮コントローラの感度が低くなるようにより小さな振幅でフィルタ952を通過し、周波数が40Hz〜100Hzの範囲の音は、周波数がその範囲内で高くなるほど小さくなる振幅でフィルタ952を通過する。したがって、周波数が100Hz以上の音は、圧縮コントローラ950が圧縮を施すのを開始しないうちにより大きな振幅に達することができ、周波数が40Hz以下の音は、圧縮コントローラ950が圧縮を施すのを開始しないうちに同程度の振幅に達することはできない。この場合も、より低い周波数の音が、圧縮コントローラ950が圧縮を加えないうちに達することのできる振幅としては、少なくとも音響ドライバ190の振動板が過度に遠くまで移動するのが防止するような振幅が選択され、より高い周波数の音が、圧縮コントローラ950が圧縮を加えないうちに達することのできる振幅としては、少なくとも音響ドライバ190を駆動する増幅器960の出力のクリッピングを防止するような振幅が選択される。
図15は、共振周波数の存在を補償するのにフィルタ952をどのように使用できるかも示している。当業者には認識されるように、パーソナルANRデバイスの様々な電子コンポーネントおよび/または音響コンポーネント(たとえば、パーソナルANRデバイス1000のイヤフォン100のコンポーネント)が1つまたは複数の周波数で共振する傾向があると考えられ、これらの共振周波数では、音響ドライバ190の振動板は、その振動板と周囲の構造のインピーダンスの反応部分(たとえば、ケーシング110の、キャビティ112および119の一方または両方を定める部分)同士が相互作用することによってかなり広範囲に移動できると考えられる。したがって、このような共振周波数では、オーディオ増幅器960によって出力されるより少ない電気エネルギーによって振動板をより広い範囲に移動させるのがより容易になり、したがって、振動板が、音響ドライバ190に機械的損傷が生じる程度に遠くまで移動する可能性が高くなる。これを解消するために、図15に点線で示されているように、フィルタ952が実施するように設定されている変換処理は、共振周波数で生じるかあるいは共振周波数の近くで生じる音に対する圧縮コントローラ950の感度を高くし、それによって、圧縮コントローラ950が共振周波数よりも高いかあるいは低い周波数で発生する音よりも小さい振幅でそのような音に応答して圧縮をより積極的に施すように共振周波数を中心とする高次の「ピーク」を含んでよい。
そのような周波数に応じた圧縮を組み込む目的の厳密な内容にかかわらず、圧縮の実施の厳密な内容は様々な形態のいずれをとってもよい。一例として、圧縮コントローラ950がアナログオーディオ信号を直接受け取ることのできる異なる回路であり、かつ圧縮をトリガするために圧縮コントローラ950に供給されるオーディオがアナログ信号(たとえば、フィードバックマイクロフォン120またはフィードフォワードマイクロフォン130のアナログ信号出力、あるいはオーディオ増幅器960または音響ドライバ190のアナログ信号入力)で表される場合、フィルタ952全体をアナログ回路によって実施してよい。他の例として、圧縮コントローラ950が、異なるデジタル回路であるか、あるいは処理デバイス(たとえば、処理デバイス510)によって実行される命令のシーケンスとして実施され、圧縮をトリガするために圧縮コントローラ950に供給されるオーディオをデジタルデータで表さなければならない(たとえば、ADC210、310、410、または955のいずれかの出力でなければならない)場合、フィルタ952は、異なるデジタル回路(たとえば、フィルタバンク550から選択されるフィルタの1つ)であるか、あるいは処理デバイスによって実行される命令のシーケンス(たとえば、ダウンサンプリングフィルタルーチン553、バイカッドフィルタルーチン555、補間フィルタルーチン557、またはFIRフィルタルーチン559の1つのインスタンス化)として実施されてよい。
図15は、フィルタ952によって実施される簡素なシェルフフィルタ変換処理を具体的に示しているが、様々な変換処理のいずれもフィルタ952によって実施できることに留意されたい。単一のフィルタ952を使用して圧縮コントローラ950に供給されるオーディオに対して変換処理を実行することを図示し説明したが、複数のフィルタを直列的および/または並列的に使用してより複雑な変換処理を実施する他の変形例が考えられることにも留意されたい。フィルタ952によって実施される変換処理は(単一のフィルタであるかそれとも実際に複数のフィルタであるかにかかわらず)、キャビティ112内またはその他の場所で検出されるオーディオの特性に基づいてANR回路2000の動作時に処理デバイス(たとえば、処理デバイス510または処理デバイス9100)によって行われても、あるいはストレージ520および/または記憶デバイス170に記憶されている多数の変換処理から選択されてもよい。
また、フィルタ952が、通常の動作中に様々な動作態様を動的に構成可能であるパーソナルANRデバイス1000のANR回路2000の一部である場合、フィルタ952を実施する際に使用されるフィルタの種類は、フィルタバンク550またはストレージ520内に記憶されている複数のフィルタルーチンから動的に選択されてよく、かつ/あるいはフィルタ952によって実施される変換処理を、場合によっては前述のバッファ620a〜620cを使用することによって動的に変更してよい。すなわち、フィルタ952のこれらの態様の一方または両方を、フィルタブロック250、350、および/または450に組み込まれるフィルタの種類、フィルタの係数と一緒に変更可能にすることが望ましいと考えられる。すなわち、フィルタ952を実施する際に使用すべきフィルタの種類を「フェイルセーフ」に選択し、かつ他のフェイルセーフ値に含まれるフィルタ952をプログラムするための「フェイルセーフ」な1組の係数があると望ましいと考えられる。
かなり詳しく図示し論じたように、不安定性の事実、過剰な振幅を有する音の事実、オーディオアーチファクトの発生、音響的に出力すべき音を表すアナログ信号でクリッピングが起こりそうな状況などに対する応答として、付随的にこれらの音の振幅が小さくなるように1つまたは複数の音(たとえば、フィードバック基準音およびフィードフォワード基準音の一方または両方)が圧縮される。前述のように、かつ当業者には容易に認識されるように、フィードバックベースのANRまたはフィードフォワードベースのANRを実行すると、マイクロフォンによって基準ノイズ音として検出されるノイズ音が、ANR変換処理(「ANR補償処理」と呼ばれることもある)を実施する1つまたは複数のフィルタに供給され、音響ドライバによって所定の位置(たとえば、パーソナルANRデバイス1000のようなパーソナルANRデバイスの場合には、耳に隣接する位置)の方へ音響的に出力されたときにこの所定の位置でノイズ音と破壊的に相互作用するアンチノイズ音が得られる。したがって、フィードバック基準ノイズ音またはフィードフォワード基準ノイズ音の振幅を圧縮する場合、それに応じてその基準ノイズ音から得られるアンチノイズ音の振幅が小さくなる。振幅の圧縮をそのように使用することは、不安定性の事実、過剰な振幅の事実、オーディオアーチファクトの発生、またはクリッピングが起こりそうな状況(すなわち、クリッピングがまさに起こりそうなときにそれを防止する)を解消するうえで有効であると考えられるが、通常、アンチノイズ音の全周波数範囲の振幅が小さくなるという犠牲を伴う。
図16は、ANRの一形態が実行される周波数の範囲の下限または上限が、不安定性、過剰な振幅、オーディオアーチファクト、またはクリッピングが起こりそうな状況のようなイベントに応答して変更される、基準ノイズ音の振幅に対する他の圧縮処理が示されている。より具体的には、図16は、フィードバックベースのANRが実行される周波数範囲の下限が、該周波数範囲を一時的に狭くするように変更される例を示している。図示のように、フィードバックベースのANRが実行される周波数範囲に、10Hz〜100Hzの範囲内の少なくともいくつかのより低い周波数を含めるのを止めるように、該周波数範囲の下限が引き上げられる。図を見ると分かるように、フィードバックベースのANRの周波数範囲の下限を引き上げる場合は、下限を定めるカットオフ周波数および遷移帯域をスライドさせる。遷移帯域内の勾配は、このような下限の引き上げおよび引き下げ時にほぼ維持され、したがって、下限に対するこれらの変更は、下限をまずより高い周波数に「スライド」させ、次に後で元のより低い周波数に戻すことと言える。
これは、図示のように、フィードバックベースのANRを実行する際、フィードバックベースのANRおよびPNRがそれぞれ、周波数の大きさおよび範囲の点で、パーソナルANRデバイス(パーソナルANRデバイス1000など)におけるオーディオ周波数の広い範囲にわたって比較的一定の規模のノイズ低減を協働して実行するように設定される例で行われる。当業者には知られているように、ANRを実行するデバイスの各コンポーネントにおける音響伝搬遅延および電気伝搬遅延と、これらのコンポーネントの電気態様および/または音響態様によってサポートされる周波数範囲の限界によって、位相がノイズ音の位相に十分近くなるように揃えられたアンチノイズ音を生成し、周波数が高くなるにつれてノイズ音の有効な減衰を増強できるようにするのが困難になる。したがって、フィードバックベースのANRまたはフィードフォワードベースのANRの実行は通常、より低い周波数(たとえば、約20Hzから場合によっては2KHzまでのオーディオ周波数)に限定され、通常、より高い周波数で減衰を行うときは主としてPNRが使用される。
過去の経験から、不安定性の事実またはクリッピングの事実(場合によっては、ANRが実行される環境を密閉する際に使用される音響シールにおける漏れによって発生するかあるいは悪化する)に関連する少なくともいくつかのイベントでは、より低い周波数(たとえば、概ね10〜80Hzの周波数)でノイズ音が発生する傾向があることが分かっている。このようなイベントは、少なくともフィードバックベースのANRが音響環境内のノイズ音を減衰させるためにアンチノイズ音の振幅を大きくすることによって応答するようにANRが実行されるようになっている限られた容積の音響環境を形成するようになっている音響シールが失われた場合に起こることが多く、音響環境内のノイズ音の減衰が無駄に終わると、音響環境が最初に予定された限られた容積の音響環境を越えて延び、該環境よりもずっと大きくなる。したがって、ANR変換処理を実施するフィルタへの入力として供給される基準ノイズ音の振幅を小さくする他の方法として、アンチノイズ音が供給される周波数の下限を引き上げるようにANR変換処理を変更してもよい。いくつかの実施形態では、この下限が徐々に高い周波数に引き上げられ、下限をこのように引き上げる原因となったイベントまたはイベントの兆候が対処されるまで引き上げが継続される。下限の引き上げができなくなる限界となる所定の周波数が存在する場合があり、この限界に達する(あるいは極めて近くなる)ことが、従来技術による振幅の圧縮または他の手段を使用するトリガとして働くことができる。他の実施形態では、この下限が、そのような厄介な周波数のノイズ音を含めないように選択されたより控えめな所定の下限まで徐々に引き上げられる。言い換えれば、ANR変換処理は、上記のようなイベントに関連することが多いノイズ音からアンチノイズ音を得るのを避けるためにこれらのより低い周波数の基準ノイズ音からアンチノイズ音を得るのを止めるように変更される。そのような下限の引き上げを実施する際、下限を比較的高速に引き上げてよい(特に、不安定性の事実を検出したことに応答して行われる場合)が、「ポン」という音または「パチッ」という音あるいは他の可聴アーチファクトが生成されるほど高速に引き上げないほうがよい(たとえば、場合によっては10ミリ秒程度の時間をかけて引き上げる)。この後、下限をいくらか遅い速度で徐々に引き下げ、そのようなより低い周波数でのANRの実行に徐々に戻っていくことができる(たとえば、場合によっては100ミリ秒程度の時間をかけて)。このようなより低い周波数でのANRの実行に戻る際のこのいくらか遅い速度としては、下限がその引き上げをトリガするイベントが起こる前に設定された周波数にまだ戻ることができないことを示すことを検出する時間をこのような引き下げの間に確保する速度を選択されてよい。いくつかの実施形態では、下限をそのように戻すことができることが判明するまで、下限をその元の設定に戻す試みを所定のインターバルで繰り返すことができる。
図16は、フィードバックベースのANRが実行される周波数の下限の引き上げおよび引き下げのみを示しているが、フィードバックベースのANRの周波数の下限の引き上げおよび引き下げに代わる手段として、あるいは場合によっては、フィードバックベースのANRの周波数の下限の引き上げおよび引き下げと協働して、フィードフォワードベースのANRが実行される周波数の下限を同様に引き上げたり引き下げたりすることが望ましいと考えられる。たとえば、上記に、フィードバックベースのANRとフィードフォワードベースのANRの両方に使用される基準ノイズ音の振幅の圧縮を調整することが望ましいと論じたのと同様に、フィードバックベースのANRとフィードフォワードベースのANRの両方が実行される周波数範囲の下限の引き上げおよび引き下げを調整することも望ましいと考えられる。また、この場合も具体的には示されていないが、上限を引き下げ、後に引き上げる(いわゆる上限の「スライド」であり、まずより低い周波数にスライドさせ、次により高い周波数にスライドさせる)ことによって、フィードバックベースのANRおよびフィードフォワードベースのANRの一方または両方が実行される周波数範囲を少なくとも一次的に狭くすることが望ましいと考えられる。これは、より高い周波数(すなわち、上限の周波数または上限近くの周波数)でのクリッピングまたは不安定性の事実を防止しかつ/あるいはそれらを解消するために行われてよい。
図17は、ANRの一形態が実行される周波数範囲の下限または上限度の一方または他方での遷移帯域の勾配が、不安定性、過剰な振幅、オーディオアーチファクト、またはクリッピングが起こりそうな状況のようなイベントに応答して変更される。基準ノイズ音を圧縮する別の代替手法を示す。より具体的には、図17は、フィードバックベースのANRが実行される周波数範囲の下限または上限での勾配が緩やかになるように一時的に変更し、それによって、フィードバックベースのANRが実行される周波数範囲全体にわたってフィードバックベースのANRの実行規模を縮小することなしに下限または上限でフィードバックベースのANRが実現される規模を小さくする例を示している。この場合も、図16に示されている下限のスライドの場合と同様に、勾配を緩やかにする変更は、後で勾配が元の険しい勾配に戻るときに逆転される。図16と異なり、図17には、このことを明確にするために、フィードバックベースのANRの実行のみが示されていることに留意されたい。
これらの勾配の一方または他方を変更するこの例では、任意の明確な規模のフィードバックベースのANRが実行される周波数範囲は変更されず、下限または上限の所の遷移帯域内の勾配を変更することによって、その遷移帯域の対象となる周波数範囲を変更し、関連するカットオフ周波数をシフトさせる。カットオフ周波数は最初、フィードバックベースのANRが実行される周波数範囲内にシフトされ、後で該周波数範囲外の元の位置にシフトされる。ある条件に応答して下限または上限の所の遷移帯域内の勾配を変更し、かつ/あるいはある実施形態において、そのようなスライドが生じさせる可能性がある利得または位相マージンの望ましくない損失を避けることが好ましいと考えられる。この場合も、下限または上限をスライドさせる場合と同様に、勾配に対するこれらの変更(最初は緩やかにし、後で険しくする)を最初勾配を緩やかにすることをトリガしたイベントまたはイベントの兆候に対処できるほど高速であるが、「ポン」または「パチッ」という音が発生するのを避けられるほど低速に行うことが好ましい。一例として、勾配を緩やかにすることは10ミリ秒程度の時間をかけて徐々に行うのがよく、一方、勾配を元に戻るように険しくすることは100ミリ秒程度の時間をかけて徐々に行うのがよい。
フィードバックベースのANRおよび/またはフィードフォワードベースのANRの一方または両方が実行される周波数範囲の下限または上限のスライドおよび/または該下限または上限の勾配のそのような変更は、アナログフィルタを使用してANR変換処理を実施するときに行われる。ただし、現在アナログフィルタの基礎となっている現在利用可能な技術では、これは極めて困難でありかつ/あるいはコストがかかる。その代わり、デジタルフィルタを使用してANR変換処理の少なくとも一部を実施する場合、そのような下限または上限でそのような変更の一方または他方を行うのはより容易である。というのは、1つまたは複数のデジタルフィルタに供給される係数を単純に変更することによってそのようなスライドおよび/または勾配の変更を行うことが可能であるからである。これらのデジタルフィルタがパーソナルANRデバイス1000のANR回路2000のデジタルフィルタである場合、バッファ620aおよび620bのうちの1つまたは複数を使用してANR回路2000のデジタルフィルタの係数をインターバルを置いて繰り返し再設定することによって調整された時間にわたる下限および/または上限度でのスライドおよび/または勾配の変更を実施することができる。前述のように、1組の「フェイルセーフ」係数をバッファ620cに記憶し、そのような変更を行っても不安定性の事実に対処できず、かつ/あるいはそのような変更を行っても(たとえば、下限または上限をスライドさせても)不安定性の事実が生じる場合に使用することができる。
図18は、フィードバックベースのANRおよび/またはフィードフォワードベースのANRが実行される周波数範囲の下限および/または上限に対する上記のようなスライド、ならびに/あるいは下限および/または上限での勾配の変更を実施する信号処理トポロジ態様を示している。より具体的には、図18は、そのような周波数範囲の下限および/または上限でそのような変更を行うためにいくつかの信号処理トポロジ(それぞれの図4a〜4gの信号処理トポロジ2500a〜2500gなど)に対して行うことのできる追加および/または修正を簡略的に示している。
不安定性、過剰な振幅、オーディオアーチファクトなどを示すものについて監視することのできる音(フィードバックマイクロフォン120またはフィードフォワードマイクロフォン130によって検出される基準ノイズ音の一方または両方、あるいはオーディオ増幅器960によって増幅が行われる前またはその後に音響ドライバ190によって音響的に出力される音)ならどれでも圧縮コントローラ950に供給することができる。点線で示されているフィルタ952によって示されているように、監視された1つまたは複数の音を圧縮コントローラ950に供給することは、前述のように、ある周波数で生じる音のある振幅に対する圧縮コントローラ950の感度を他の周波数で生じる音の振幅に対する感度よりも高くすることができるようにフィルタ952を通して行ってよい。このように、ANRが実行される1つまたは複数の周波数範囲の下限および/または上限に対するそのようなスライドは、様々な周波数で得られるそれぞれの異なる振幅に応じて使用することができる。
圧縮コントローラ950は、フィードバックベースのANRおよび/またはフィードフォワードベースのANRの一方または両方が実行される下限および/または上限が一時的に変更されると判定するか、あるいは下限および/または上限の所の勾配が一時的に変更されると判定すると、フィルタブロック250および350の一方または両方で使用されるデジタルフィルタの係数を時間間隔を置いて繰り返し再設定させて、前述のようにこれらの変更の一方または他方を段階的に実施し、パーソナルANRデバイス1000のユーザがオーディオアーチファクトの音響出力を受けるのを避ける。限界のスライドを行う場合、圧縮コントローラ950はまず、下限を引き上げるかあるいは上限を引き下げて周波数範囲を狭くし、後で下限を引き下げるかあるいは上限を引き上げて元の周波数に戻す。勾配の変更を行う場合、圧縮コントローラ950はまず、下限または上限の所の遷移帯域の勾配を緩やかにし(したがって、遷移幅を大きくし、カットオフ周波数を下限と上限の間の周波数範囲内でさらに移動させ)、その限界の近くではANRの実行の規模を縮小し、一方、下限と上限の間の周波数全体にわたってはANRの実行の規模を縮小せず、後で、遷移帯域内の勾配を険しくして元の勾配にする(したがって、遷移帯域をその元の幅に戻し、かつカットオフ周波数をその元の周波数に戻す)。
ANR回路2000が内部アーキテクチャ2200a(または同様の内部アーキテクチャ)を使用し、したがって、圧縮コントローラ950が異なる電子回路である場合、圧縮コントローラ950は、処理デバイス510と協働して、処理デバイス510に、変更すべきフィルタブロック250および350の一方または両方内で任意のANR変換処理を実施する際に使用されるダウンサンプリングフィルタ552、バイカッドフィルタ554、補間フィルタ556、またはFIRフィルタ558の1つまたは複数の係数を繰り返し再設定させる。ANR回路2000が内部アーキテクチャ2200b(または同様の内部アーキテクチャ)を使用する場合、圧縮コントローラ950を異なる電子回路にする代わりに、ストレージ520内に記憶されているANRルーチン525によって、圧縮コントローラ950の機能を処理デバイス510によって実行させる。したがって、圧縮コントローラ950を実施するANRルーチン525の命令のシーケンスによって、処理デバイス510に、変更すべきフィルタブロック250および350の一方または両方内で任意のANR変換処理を実施する際に使用されるダウンサンプリングフィルタ553、バイカッドフィルタ555、補間フィルタ557、およびFIRフィルタ559の1つまたは複数の係数を繰り返し再設定させる。
ANRの一形態の実行についての下限を所定のより高い周波数にスライドさせる場合、この所定のより高い周波数をパーソナルANRデバイス1000を使用する前、場合によってはパーソナルANRデバイス1000の初期構成時に選択しておいてよい。所定のより高い周波数は、多数の異なるユーザが複数のパーソナルANRデバイス1000を使用する際に生じることが予想される音響特性の平均に基づいて選択されてよく、下限をより高い所定の周波数にスライドさせると、下限のスライドをトリガしたイベントに首尾よく対処する可能性を高くするある追加的な周波数マージンを含んでよい。あるいは、所定のより高い周波数は、特定のユーザについて、そのユーザに対するパーソナルANRデバイス1000のカスタマイズの一部として、パーソナルANRデバイス1000の試験によって生じる可能性が高いことが分かっている音響特性に基づいて選択されてよい。
ANRの一形態が実行される周波数範囲の下限または上限のスライド、および下限または上限での勾配の変更をそれぞれ、基準ノイズ音の振幅を圧縮する代替手法として提示し論じたが、いくつかの実施形態では、少なくともいくつかのイベントに応答して、上記のような限界のスライドと、上記のような勾配の変更と、上記のような振幅の圧縮との組み合わせを使用してよいことに留意されたい。同様に、圧縮コントローラ950が、検出されるイベントの性質に応じて、限界のスライド、勾配の変更、および振幅の圧縮のうちの1つまたは複数を使用してもよいことに留意されたい。この可能な組み合わせ機能は図18に示されており、すなわち、いくつかの実施形態では、圧縮コントローラ950が、そのような下限および上限のそのようなスライドおよび/またはそのような下限および上限の勾配の変更を実施することに加えてあるいはその代わりに、フィードバックノイズ基準音および/またはフィードフォワードノイズ基準音の振幅の圧縮を行うようにこれらのVGAのうちの1つまたは複数を動作させることもできることを明確にするために、圧縮コントローラ950がVGA125、135、220、および/または320のうちの1つまたは複数に結合されることが点線で示されている。
図19は、不安定性を検出する実施形態の各信号処理トポロジ態様を示している。より具体的には、図19は、フィードバックベースのANRの実行が不安定な事実を検出するために信号処理トポロジ(それぞれ図4a〜4gの信号処理トポロジ2500a〜2500gなど)に施すことのできる追加および/または修正を簡略的に示している。詳しく説明するように、不安定性の事実に関して音響ドライバ190によって音響的に出力される音を分析する際に圧縮コントローラ950の位相同期ループ(PLL)が使用される。音響的に出力されるこのオーディオは、フィードバックマイクロフォン120によって検出されるフィードバック基準ノイズ音から少なくともフィルタブロック250のフィルタによって得られるフィードバックアンチノイズ音を少なくとも含む。しかし、音響的に出力されるオーディオが、少なくともフィルタブロック350のフィルタによって得られるフィードフォワードアンチノイズ音と、少なくともフィルタブロック450のフィルタによって(前述のように)様々な方法のいずれかで修正することのできるパススルーオーディオとの一方または両方も含む実施形態も考えられる。フィルタブロック350および450の一方または両方が存在する場合、すでに示され論じられているように様々な方法のいずれかでこのフィルタブロックの出力をフィルタブロック250の出力と組み合わせてよい。
圧縮コントローラ950は、フィードフォワードベースのANRとパススルーオーディオ機能のどちらを実行するかに応じて、フィルタブロック350および450の一方または両方の出力に加算することのできる少なくともフィルタブロック250の出力に結合される。上記に示され論じられているように、圧縮コントローラ950は、アナログ回路によって少なくとも部分的に実施される場合、アナログ信号がオーディオ増幅器960によって増幅される前またはその後に、音響的に出力されるオーディオを表すアナログ信号をそのまま受け入れることができる。その代わりにかつ/あるいはそれに加えて、圧縮コントローラ950は、少なくとも部分的にデジタル回路によって(異なるデジタル回路としてあるいは処理デバイスによって実行される命令のシーケンスとして)実施される場合、音響的に出力されるオーディオを表すデジタルデータをフィルタブロック250から直接受け取っても、フィルタブロック250から出力されるデジタルデータが他のデジタルデータに加算される状況で加算ノードから直接受け取っても、あるいはアナログ信号がオーディオ増幅器960によって増幅される前またはその後に音響的に出力されるオーディオを表すアナログ信号をデジタルデータに変換するADC955から受け取ってもよい。
パススルーオーディオが存在し、かつパススルーオーディオの受け取り、可能な修正、および音響出力をサポートするためにVGA145およびフィルタブロック450が存在することが図19に示されているにもかかわらず、ある形態のパススルーオーディオの音響出力がサポートされないANR回路2000および/またはパーソナルANRデバイス1000の実施形態が可能であることに留意されたい。パススルーオーディオがサポートされない場合、圧縮コントローラ950は、PLLを使用して、所定の周波数範囲内の周波数を有し、フィードバックベースのANRの実行における不安定度が高くなっていることを示す所定の最小振幅を有し、通常やはり不安定性を示す正弦波形を有する音が存在するかどうかについて音響的に出力されるオーディオを分析する。パススルーオーディオがサポートされる場合、圧縮コントローラは、(パススルーオーディオの任意の供給源から受け取られた)パススルーオーディオを使用して、不安定度が高くなっていることを示す音を音響的に出力されるオーディオ内にも存在するパススルーオーディオから区別する。
パススルーオーディオの音響出力がサポートされる実施形態では、圧縮コントローラ950は、パーソナルANRデバイス1000のユーザが、アンチノイズ音と一緒に音響ドライバ190によって音響的に出力されるパススルーオーディオを供給するものとして選択する任意の供給源からパススルーオーディオを受け取る。パーソナルANRデバイス1000のいくつかの実施形態では、パススルーオーディオの供給源は、パーソナルANRデバイス1000から分離されているが何らかの点で結合されたデバイス(たとえば、ケーブルまたは無線によってパーソナルANRデバイス1000に結合されたラジオ、ディスクプレーヤなど)であってよい。他の実施形態では、パススルーオーディオの供給源は、パーソナルANRデバイス1000に組み込まれたオーディオ記憶デバイス(たとえば、半導体記憶デバイス、チューナなど)であってよい。この場合も、圧縮コントローラ950は、少なくとも部分的にアナログ回路によって実施される場合、パススルーオーディオを表すアナログ信号をそのまま受け入れることができる。その代わりにかつ/あるいはそれに加えて、圧縮コントローラ950は、少なくとも部分的にデジタル回路によって実施される場合、パススルーオーディオを表すデジタル信号を(場合によっては、供給源からのアナログ信号がデジタルデータに変換されるADC410を通して)受け取ることができる。
図20は、圧縮コントローラ950が少なくともPLL965を備えている圧縮コントローラ950の実施形態によって使用することのできる内部アーキテクチャの各態様を示している。パススルーオーディオの音響出力がサポートされない場合、PLL965は、音響的に出力されるオーディオをより直接的に受け取り、所定の周波数範囲内の周波数を有し、フィードバックベースのANRの実行が不安定であることを示す最小振幅を有するとともに、場合によってはやはり通常不安定性を示す正弦波形も有する音が存在するかどうかについて音響的に出力されるオーディオを分析する、圧縮コントローラ950の部分である。PLLの動作に精通した当業者には容易に認識されるように、PLL965には、中央周波数設定、帯域幅設定、および最小振幅設定が供給される。中央周波数設定および帯域幅設定は、PLL965が、帯域幅設定によって指定される周波数範囲の限界内の周波数を有する音響的に出力されたオーディオ内の音のみに同期するように構成するのに使用され、この場合、周波数範囲は中央周波数設定によって指定される周波数を中心とする範囲である。また、PLLを使用する技術に精通する業者には容易に認識されるように、PLL965は、このような周波数の音が正弦波形を有する場合にそれらの音のみに同期するように構成することができる。また、最小振幅設定は、このような周波数の音が少なくとも最小振幅設定によって指定される振幅を有する場合にのみPLL965がそれらの音に同期するように構成するために使用される。
パススルーオーディオの音響出力がサポートされる場合、圧縮コントローラは、PLL965と音響的に出力されるオーディオとの間に挿入され、やはりパススルーオーディオを受ける少なくとも加算ノード964をさらに備えている。加算ノード964は、パススルーオーディオが分離された音響的に出力されるオーディオの修正形態を生成するために音響的に出力されるオーディオからパススルーオーディオを減算する減法加算ノードである。加算ノード964の動作は、パススルーオーディオが偶然に、不安定性を示す周波数および正弦波形と最小振幅の両方を有する音を内部に有する結果として、そのような音があることが誤って示されるのを防止するために実行される。したがって、PLL965は、帯域幅設定によって指定される周波数範囲の限界内の周波数を有する音があるかどうかについて音響的に出力されるオーディオの修正形態を分析し、この場合、周波数範囲は中央周波数設定によって指定される周波数を中心とする範囲であり、これらの音は、最小振幅設定によって指定される少なくとも振幅を有し、場合によっては、これらの音は正弦波形を有する。
図20に点線で示されているように、音響的に出力されるオーディオおよびパススルーオーディオの一方または両方をそれぞれ、圧縮コントローラ950に組み込んでもよいハイパスフィルタ962および963を通るように転送されてよい。ハイパスフィルタ962は、圧縮コントローラ950によって受け取られる音響的に出力されるオーディオとPLL965または加算ノード964の一方または他方との間に挿入されてよい。その代わりにかつ/あるいはそれに加えて、圧縮コントローラ950によって受け取られるパススルーオーディオと加算ノード964との間にハイパスフィルタ963を挿入してよい。ハイパスフィルタ962および963は、ハイパスフィルタ962および963に供給されるパス周波数設定よりも低い周波数を有する信号を除外する働きをし、この場合、パス周波数設定は、中央周波数と帯域幅設定との組み合わせによってPLL965に指定された周波数範囲の下限の周波数と同様の周波数を指定することが好ましい。より低い周波数の信号をこのように除外すると、PLL965に供給される最小振幅設定をより低い振幅レベルを指定するように設定するのが可能になる。ハイパスフィルタ962および963がない場合、音響的に出力されるオーディオまたはパススルーオーディオ内のより低い周波数の音が、不安定性を示す周波数および最小振幅を有する音があることを誤って肯定的に示す可能性がある。より具体的には、帯域幅設定および中央周波数設定によって指定される周波数範囲内の周波数を有するが、振幅が最小振幅よりも小さい音が、より低い周波数の音の振幅が付加されることによって、最小振幅設定によって指定される少なくとも必要な最小振幅を有するように見えることがあり、それによって、PLL965は、不安定性を示す周波数および最小振幅を有する(かつ場合によっては、やはり通常不安定性を示す正弦波形も有する)音の存在を誤って検出する。
図20には具体的に示されていないが、圧縮コントローラ950が不安定性を検出する際に音響的に出力されるオーディオとパススルーオーディオの両方を使用する場合、音響的に出力されるオーディオおよびパススルーオーディオの一方または両方の相対的な振幅を調整する1つまたは複数のVGA(またはオーディオ振幅を変更するのに使用できる他のデバイス)を圧縮コントローラ950に組み込んでよいことに留意されたい。このことが必要になるのは、特に、音響的に出力されるオーディオが、オーディオ増幅器960によって増幅された後の点で受け取られ、かつ/あるいはパススルーオーディオが、音響的に出力されるオーディオの増幅レベルとは大きく異なる増幅レベルで供給源から受け取られ、それによって、これらのオーディオの相対的な振幅を平衡させ、それによって、減算ノード964によって一方が他方から減算されたときに適切な結果が得られるようにする場合であると考えられる。このような1つまたは複数のVGA(または他のコンポーネント)は、ハイパスフィルタ962および963の一方または両方が存在する場合、これらのオーディオの各々がハイパスフィルタ962および963の一方を通るように転送される前またはその後に振幅を調整するように位置させてよい。
図20は、フィードバックベースのANRの実行における不安定性に関連する音が開始し、時間の経過とともに振幅が指数関数的に大きくなっていく様子をさらに示している。最小振幅設定は、音響ノイズおよび/または電気的ノイズによってそのような音を誤って検出するのが避けられるほど大きいが、パーソナルANRデバイス1000のユーザが、不安定性に伴うことが非常に多い特徴的な「キーン」という音や「ハウリング」音を耳にする状況を避けようとするほど迅速に処置を講じることができるように比較的高速に不安定性の開始を検出できるほど小さい設定が選択される。このような音は、ユーザが、このような音に気付かず、該音を生じさせた不安定性を解消することによって該音を除去する処置を講じることがないように、該音の振幅が、電気的ノイズおよび/または音響ノイズによって十分にマスクされるほど小さい間に検出されることが好ましい。
PLL965に供給される中央周波数設定および帯域幅設定(ならびにハイパスフィルタ962および963が存在する場合、その一方または両方に供給されるパス周波数設定によって指定される対応するパス周波数)によって指定される周波数範囲は、パーソナルANRデバイス1000のイヤフォン100の一方を構成するコンポーネントの少なくともいくつかの既知の電気的特性および音響特性に基づいて選択される。デジタル回路のサンプリングレート、伝搬遅延および位相シフト、機械的エネルギーと電気的エネルギーの変換におけるマイクロフォンおよび音響ドライバの特性、ならびに機械的特性と電気的特性の両方によるコンポーネントの周波数制限などの因子は相互作用して、システム(パーソナル音響デバイス1000のイヤフォン100の一方においてフィードバックベースのANRを実行する際に関与するコンポーネントなど)に、不安定になることの一部として狭い周波数範囲内に正の強化フィードバックループ(positively reinforcing feedback loop)を作成させることができる。この狭い範囲は一般に、これらのコンポーネントのこれらの様々な特性を分析することによって予測することができ、したがって、前述のように、上記のような周波数を有する音が存在するかどうかについて音響的に出力されたオーディオを分析するようにPLL965をこれらの設定によって構成することができる。また、当業者には容易に認識されるように、このような不安定性に関連する音は通常、正弦波形を有し、PLLは正弦波形のみに同期するように構成されてよい。したがって、PLL965は、基本的に、正弦波形を有しない音を無視することによって、不安定性に関連する音をそれほど関連しない音から区別するのを助けるように構成されてよい。PLL965は、不安定性を示すものがあるかどうかについてオーディを分析する際、不安定性を示すこれらの特性を有する音を、その音が存在する場合にはその音に同期することによって検出する。PLL965がそのような音に同期した場合、圧縮コントローラ950は、不安定性の事実があると判定し、それに応答して、フィードバック基準ノイズ音およびフィードフォワード基準ノイズ音の一方または両方を圧縮することを含むがそれに限らない前述の様々な処置のいずれかを講じる。PLL965がそのような音に同期しない場合、圧縮コントローラ950は、不安定性の事実はないと判定する。
また、当業者にも認識されるように、システム(フィードバックベースのANRを実行する際に使用されるイヤフォン100の一方のコンポーネントなど)が不安定になり、その狭い周波数範囲内の音を含む正の強化フィードバックループが形成されるにつれて、フィードバックループの正の強化特性によって、その音の振幅レベルが絶えず高くなる傾向があるため、少なくともオーディオ増幅器960などのコンポーネントによって通常の量よりも多い電力を引き出されることがある。また、環境ノイズの音響エネルギーが増大すること、または持続時間が短くなる傾向があるアンチノイズ音響出力の振幅の急激な増大を生じさせる可能性がある他のイベントとは異なり、また、やはり持続時間が短くなる傾向があるパススルーオーディオとして供給される音楽の振幅の増大とは異なり、不安定性の事実は、不安定性の事実の継続を抑制する処置が講じられるまで継続する傾向がある。したがって、やはり図19および20に点線で示されているように、圧縮コントローラ950は、オーディオ増幅器960(またはオーディオ増幅器960に電力を供給する不図示の電力コンポーネント)に結合され、オーディオ増幅器960によって引き出される電力の量を示す電力増幅器960(またはその電力コンポーネント)からの信号を受け取り監視して、音響的に出力されるオーディオを表すアナログ信号の増幅形態によって音響ドライバ190を駆動する。電力モニタ969には、オーディオ増幅器960(および/または電力消費量について監視することのできる他のコンポーネント)による電力の消費レベルを示す電力レベル設定が供給される。電力レベル設定によって指定されるレベルよりも高く、所定の時間よりも長い間持続する電力消費量レベルが検出された場合、その原因は、不安定性が発生した結果としてフィードバックベースのANRが正常に機能しなくなり、そのため、現在、不安定性に関連する音(たとえば、「ハウリング」音または「キーン」という音)が大きい振幅で音響的に出力されていることであると仮定してよい。圧縮コントローラ950が、オーディオ増幅器960および/または少なくともフィードバックベースのANRの実行に関連する他のコンポーネントによって消費される電力を監視する能力を備えている場合、電力消費量のそのような監視を、PLL965によって実行される音響的に出力されたオーディオの分析と一緒に使用して、不安定性の事実があること、あるいは二次検出器として、PLL965によって実行された分析によって不安定性が検出されたことに応答して不安定性を抑制するために圧縮コントローラ950によってすでに最初の処置が講じられているもかかわらず不安定性の事実が継続していることをある程度確認することができる。
図21は、圧縮コントローラ950の各実施形態によって使用することができ、パススルーオーディオがサポートされる内部アーキテクチャの各態様を示しており、この場合、圧縮コントローラ950は、少なくとも加算ノード971と、一対のバンドパスフィルタ972および973と、一対のRMSブロック976および977と、一対の比較器978および979とを備える。以下に説明するように、圧縮コントローラ950は、図21に点線で示されているようにPLL965をさらに備えてよい。
加算ノード971は、パススルーオーディオとフィードフォワードオーディオ(フィードフォワードオーディオはフィードフォワード基準ノイズ音であってもフィードフォワードアンチノイズ音であってもよい)の両方をより直接的に受け取り、この2つのオーディオを加算し、加算されたオーディオを、加算ノード971が結合されたバンドパスフィルタ973に供給する、圧縮コントローラ950の部分である。バンドパスフィルタ972は、圧縮コントローラ950の、音響的に出力されるオーディオをより直接的に受け取る部分である。バンドパスフィルタ972は、バンドパスフィルタ972に供給される周波数範囲設定に指定された範囲外の周波数を有する音響的に出力されるオーディオ中の音を除外し、バンドパスフィルタ973は、加算ノード971から受け取られ、同じ範囲外の周波数を有する加算されたオーディオ中の音を除外する。バンドパスフィルタ972および973は、それぞれRMSブロック976および977に結合され、除外後のそれぞれの形態のオーディオをRMSブロック976および977に出力する。RMSブロック976および977は、それぞれバンドパスフィルタ972および973から受け取られた除外後の形態のオーディオのRMS値を算出する。RMSブロック976の出力は、比較器978の非反転入力に結合され、RMSブロック977の出力は、比較器979の反転入力に結合され、それによって、RMSブロック976および977がそのRMS計算の結果をそれぞれ比較器978および979に供給するのが可能になる。比較器978には、その反転入力に最小振幅設定が供給され、最小振幅設定によって指定された振幅と少なくとも同じ大きさの振幅を有する音とそのような振幅を有さない音とを区別することができる。比較器978の出力は、比較器979の反転入力に結合され、それによって、比較器979が(比較器978を通過した)RMSブロック976の出力の振幅とRMSブロック977の出力の振幅とを比較するのが可能になる。比較器979によって、音響的に出力されたオーディオ中の電気エネルギーの方がパススルーオーディオとフィードフォワードオーディオとを加算したオーディオ中の電気エネルギーよりも大きいことが検出された場合、圧縮コントローラ950は、不安定性の事実が発生していると判定する。比較器979によって、パススルーオーディオとフィードフォワードオーディオとを加算したオーディオ中の電気エネルギーの方が電気エネルギーよりも大きいことが検出された場合、圧縮コントローラ950は、不安定性ではないと判定する。
PLL965を追加的に組み込むことによって、不安定性が発生しているか否かに関する圧縮コントローラ950による判定の精度をさらに高めることが望ましいと考えられる。図示のように、この場合、PLL965の入力はバンドパスフィルタ972の出力に結合されている。また、PLL965には、中央周波数設定および帯域幅設定と一緒に最小振幅設定が供給される。前述のように、中央周波数設定および帯域幅設定は、PLL965を同期させることができる音の周波数範囲を指定する。このようにPLL965に対して指定される周波数範囲は、周波数範囲設定を介してバンドパスフィルタ972および973に対して指定される周波数範囲と同じであってよい。PLL965を追加すると、通常不安定性を示す正弦波形を有する音とそのような正弦波形を有さない音とを区別するのが可能になる。したがって、PLL965がある音に同期するか否かについての結果は、比較器979によって行われるエネルギーレベルの比較結果と一緒に使用することができる。PLL965を追加すると、圧縮コントローラ950は、音響的に出力されたオーディオ中の電気エネルギーの方がパススルーオーディオとフィードフォワードオーディオとを加算したオーディオ中の電気エネルギーよりも大きいことを比較器979が検出し、かつPLL965がある音に同期している場合に不安定性の事実があると判定する。
図21には具体的に示されていないが、1つまたは複数のVGA(またはオーディオ振幅を変更するのに使用できる他のデバイス)を圧縮コントローラ950に組み込んで、音響的に出力されるオーディオ、パススルーオーディオ、およびフィードフォワードオーディオのうちの1つまたは複数の相対的な振幅を調整することができる。このことが必要になるのは、特に、音響的に出力されるオーディオが、オーディオ増幅器960によって増幅された後の点で受け取られ、パススルーオーディオが、音響的に出力されるオーディオとは大きく異なる増幅レベルで供給源から受け取られ、かつ/あるいはフィードフォワードマイクロフォン130によって検出されたフィードフォワード基準ノイズ音がフィードフォワードオーディオとして使用され、それによって、これらのオーディオの相対的な振幅を平衡させ、それによって、減算ノード971によって実行される減算および比較器979によって行われる比較において適切な結果を得る場合であると考えられる。このような1つまたは複数のVGA(または他のコンポーネント)は、これらのオーディオの各々がハイパスフィルタ972および973の一方を通るように転送される前またはその後かつ/あるいは加算ノード971の前または後に振幅を調整するように位置させてよい。
不安定性を示す音(すなわち、少なくとも不安定性に関連すると考えられる周波数と最小振幅との組み合わせ、場合によっては、それに、やはり不安定性に関連すると考えられる正弦波形を加えた組み合わせを有する)、および/または不安定性を示す電力消費量レベルが検出されたときは、それに応じて、前述のように、不安定性を抑制する様々な処置のいずれかを講じることができる。このような処置には、フィードバックマイクロフォン120およびフィードフォワードマイクロフォン130によって検出されたフィードバック基準ノイズ音およびフィードフォワード基準ノイズ音の一方または他方の振幅を圧縮することを含めてよい(フィードフォワードマイクロフォン130が存在するようにフィードフォワードベースのANRが実行される場合)。やはり前述のように、不安定性を検出したことに応答して講じられる処置には、フィードバック基準ノイズ音とフィードフォワード基準ノイズ音の両方を調整しながら圧縮することを含めてよい。また、パーソナルANRデバイス1000のユーザによって選択され、不安定性が検出されたことに対する別の応答として音響ドライバ190によって音響的に出力されるパススルーオーディオの振幅をある程度圧縮することが望ましいと考えられる。したがって、図19に示されているように、圧縮コントローラ950は、VGA125、135、145、220、および/または320のうちの1つまたは複数に結合されている。
この場合も、圧縮コントローラ950をアナログ回路でも、デジタル回路でも、アナログ回路とデジタル回路の組み合わせでも実施できることに留意することが重要である。より具体的には、音響的に出力されるオーディオ、パススルーオーディオ、およびフィードフォワードオーディオのうちの1つまたは複数が、圧縮コントローラ950によって、これらのオーディオを表すアナログ信号として受け取られる場合、ハイパスフィルタ962および963、加算ノード971、およびバンドパスフィルタ972および973のうちの1つまたは複数をアナログ回路と、場合によってはPLL965のような圧縮コントローラ950の他のコンポーネントとによって実施してよい。あるいは、これらのオーディオの1つまたは複数が、圧縮コントローラ950によって、これらのオーディオを表すデジタルデータとして受け取られる場合、圧縮コントローラ950のこれらのコンポーネントのうちの1つまたは複数をデジタル回路によって実施してよい。また、これらのコンポーネントのうちの1つまたは複数を実施する際にデジタル回路が使用される場合、そのようなデジタル回路実現形態では、これらのコンポーネントのうちの1つまたは複数の機能をインスタンス化し実行する1つまたは複数の命令シーケンスを実行する処理デバイス(たとえば、処理デバイス510)が使用されることがある。また、ハイパスフィルタ962および963および/またはバンドパスフィルタ972および973は、(内部アーキテクチャ2200aのフィルタバンク550の場合と同様に)フィルタのバンクから得ることができ、あるいは(内部アーキテクチャ2200bのストレージ520の場合と同様に)ストレージに記憶されているフィルタを実施するルーチンのインスタンス化であってよい。
他の実現形態は、以下のクレーム、および本出願人が権利を有する他のクレームの範囲内である。