第1の制御局から第1の音声発生局に第1のプレイバック実行ファイルを無線で送信するステップと、前記第1の音声発生局に前記第1のプレイバック実行ファイルを記憶するステップと、前記第1の制御局から前記第1の音声発生局にデジタル音声情報を送信するステップと、前記第1の音声発生局内でプレイバックプロセッサを用いて前記デジタル音声情報を復号するステップとを含み、前記第1のプレイバック実行ファイルが、前記プレイバックプロセッサが前記デジタル音声情報を復号する方法を制御することを特徴とする方法。前記デジタル音声情報に応えて、前記プレイバックプロセッサを用いてデジタル音声サンプルを生成するステップをさらに含むことを特徴とする請求項1に記載の方法。前記音声発生局内で前記デジタル音声サンプルをアナログ出力信号に変換するステップをさらに含むことを特徴とする請求項2に記載の方法。前記アナログ出力信号を増幅するステップと、前記増幅されたアナログ出力信号を用いてスピーカを駆動するステップとをさらに含むことを特徴とする請求項3に記載の方法。前記プレイバックプロセッサを用いて前記デジタル音声情報を復号する前記ステップが、定められた周波数範囲と関連付けられたデジタル音声サンプルを前記デジタル音声情報から抽出するステップを含むことを特徴とする請求項1に記載の方法。前記第1の制御局内で発生する第1の導体クロック信号に応えて、前記第1の制御局から前記デジタル音声情報を送信するステップと、前記第1の音声発生局内で発生する第2の導体クロック信号に応えて、前記第1の音声発生局を用いて前記デジタル音声情報を受信するステップと、前記第1の導体クロック信号及び前記第2の導体クロック信号を同期させるステップとをさらに含むことを特徴とする請求項1に記載の方法。前記第1の音声発生局から前記第1の制御局に構成情報を送信するステップと、前記構成情報に応えて前記第1の制御局で前記第1のプレイバック実行ファイルを生成するステップとをさらに含むことを特徴とする請求項1に記載の方法。前記構成情報が、前記第1の音声発生局の動作特性を定義することを特徴とする請求項7に記載の方法。前記構成情報が、前記第1の音声発生局のプレイバックチャネルを識別することを特徴とする請求項8に記載の方法。前記構成情報が、前記第1の音声発生局と関連付けられた処理遅延を含むことを特徴とする請求項8に記載の方法。相補周波数ホッピングパルス変調CFHPM方式を使用して、前記デジタル音声情報を送信するステップをさらに含むことを特徴とする請求項1に記載の方法。第1の制御局から第2の音声発生局に第2のプレイバック実行ファイルを無線で送信するステップと、前記第2の音声発生局に前記第2のプレイバック実行ファイルを格納するステップと、前記第1の制御局から前記第2の音声発生局に前記デジタル音声情報を送信するステップと、前記第2の音声発生局内で第2のプレイバックプロセッサを用いて前記デジタル音声情報を復号するステップとをさらに含み、前記第2のプレイバック実行ファイルが、前記第2のプレイバックプロセッサが前記デジタル音声情報を復号する方法を制御することを特徴とする請求項1に記載の方法。前記第1のプレイバック実行ファイルが、前記第2のプレイバック実行ファイルと異なることを特徴とする請求項12に記載の方法。前記第1のプレイバックプロセッサ及び前記第2のプレイバックプロセッサによって提供される復号されたデジタル音声情報を、共通クロックに同期させるステップをさらに含むことを特徴とする請求項13に記載の方法。前記第1のプレイバック実行ファイルが、前記第1の制御局から前記第1の音声発生局に無線送信された後に、第2のプレイバック実行ファイルが、前記第1の制御局から前記第2の音声発生局に無線で送信されることを特徴とする請求項12に記載の方法。前記第1の音声発生局から前記第1の制御局に構成情報を送信するステップと、次いで前記第2の音声発生局から前記第1の制御局に構成情報を送信するステップと、前記第1の音声発生局及び前記第2の音声発生局から受信される前記構成情報に応えて、前記第1の制御局内で前記第1のプレイバック実行ファイル及び前記第2のプレイバック実行ファイルを生成するステップとをさらに含むことを特徴とする請求項12に記載の方法。前記第1の制御局を用いて、第1のコード化フォーマットを有するデジタル音声ストリームを受信するステップと、前記第1の音声発生局及び前記第2の音声発生局から受信される前記構成情報、及び前記デジタル音声ストリームの前記第1のコード化フォーマットに応えて、前記第1の制御局内で前記第1のプレイバック実行ファイル及び前記第2のプレイバック実行ファイルを生成するステップとをさらに含むことを特徴とする請求項16に記載の方法。前記第1の制御局から前記第1の音声発生局に第2のプレイバック実行ファイルを無線で送信するステップと、前記第1の音声発生局に前記第2のプレイバック実行ファイルを格納するステップと、前記第1の制御局から前記第1の音声発生局にデジタル音声情報を送信するステップと、前記第1の音声発生局内で前記プレイバックプロセッサを用いて前記デジタル音声情報を復号するステップとをさらに含み、前記第2のプレイバック実行ファイルが、前記プレイバックプロセッサが前記デジタル音声情報を復号する方法を制御することを特徴とする請求項1に記載の方法。第2の制御局から前記第1の音声発生局に第2のプレイバック実行ファイルを無線で送信するステップと、前記第1の音声発生局に前記第2のプレイバック実行ファイルを格納するステップと、前記第2の制御局から前記第1の音声発生局にデジタル音声情報を送信するステップと、前記第1の音声発生局内で、前記プレイバックプロセッサを用いて前記第2の制御局によって送信される前記デジタル音声情報を復号するステップとをさらに含み、前記第2のプレイバック実行ファイルが、前記プレイバックプロセッサが前記第2の制御局によって送信される前記デジタル音声情報を復号する方法を制御することを特徴とする請求項1に記載の方法。前記第1の制御局から前記第1の音声発生局への前記デジタル音声情報の前記送信と関連付けられたパラメータを識別するプレイバックシステム情報を、前記第1の制御局に格納するステップと、前記第1の制御局から前記第2の制御局に前記プレイバックシステム情報を転送するステップとをさらに含むことを特徴とする請求項18に記載の方法。第1のクロック信号に応えて、前記第1の音声発生局に前記デジタル音声情報を格納するステップと、前記第1のクロック信号よりも速い第2のクロック信号に応えて、前記プレイバックプロセッサ内で前記デジタル情報を処理するステップとをさらに含むことを特徴とする請求項1に記載の方法。前記第1の制御局を用いて、第1のコード化フォーマットを有するデジタル音声ストリームを受信するステップと、前記第1の制御局内で、前記第1のコード化フォーマットから第2の復号フォーマットに前記デジタル音声ストリームを変換し、それによって前記デジタル音声情報を作成するステップとをさらに含むことを特徴とする請求項1に記載の方法。認知ラウドスピーカシステムであって、デジタル音声情報を無線で送信する送受信機を有する制御局と、前記制御局から無線で送信される前記デジタル音声情報を受信する送受信機をそれぞれが有する、複数の音声発生局とを備え、前記各音声発生局が、前記受信されたデジタル音声情報に応えて可聴出力を生成し、前記音声発生局の各送受信機が、前記制御局に構成情報を無線で送信するようにしたことを特徴とする認知ラウドスピーカシステム。デジタル音声ビットストリームは、通常、高度に圧縮されたビットストリームで符号化される。多様なチャネルのための情報の大部分は、各追加チャネルに対するビットレートの線形的な増加を回避するために、デジタルビットストリームになんらかの余分な情報が入った単一のチャネルとしてコード化される。したがって、音声デコーダ120を使用してデジタル音声ビットストリームを復号し、各チャネルを再現する。音声デコーダ120は、各チャネルを同期するために音声サンプルクロックも生成する。音声サンプルクロックは、通常、20~20kHzの音声スペクトルに基づき、44kHzの周波数を有する。各チャネルのサンプルクロックの同期が合わないと、音声品質及び効果が悪化する。音声プロセッサ102はまた、各チャネルに対してデジタル/アナログD/A変換器121~123を含む。各D/A変換器121~123は、音声デコーダ120から、関連付けられたチャネル及び音声サンプルクロックのための復号されたデジタルビットストリームを受信する。それに応じて、各D/A変換器121~123は、関連付けられたチャネルにアナログ出力信号を提供する。電力増幅器131~133は、各D/A変換器121~123からアナログ出力信号を受信する。それに応じて、電力増幅器131~133が、増幅されたアナログ出力信号をスピーカケーブルを介してスピーカ111~113にそれぞれ駆動する。集中音声プロセッサモデルを実装する典型的なデジタル音声システムでは、音声デコーダ120、D/A変換器121~123及び電力増幅器131~133が同じボックス内に含まれている。このタイプの装置の例は、オーディオ/ビデオA/Vプロセッサ、メディアサーバクライアント及びメディアデバイスを含む。一般に、音声プロセッサ102は、チャネルの全てに所要電力増幅を提供することが要求される。その結果、音声プロセッサ102は、相対的に高価な装置となる。さらに、音声プロセッサ102はプリセット信号処理及び復号機能を実装し、それがこの装置の将来の拡張を制限し得る。さらに、音声プロセッサ102を各関連付けられたラウドスピーカ111~113に接続するために、スピーカワイヤが必要とされる。チャネル数が増加すると、必要なスピーカワイヤ数も増加する。市場調査によれば、スピーカワイヤのルーティングがサラウンドサウンドシステムの採用の大きな障害となっていることが示されている。アクティブラウドスピーカモデルでは、電力増幅器131~133は、音声プロセッサ102内ではなく、ラウドスピーカ111~113と同じボックス内に含まれる。ただし、このモデルは、依然として上述した問題を示している。ラウドスピーカの音声品質は多くの要因に影響され、そのような要因として、全体周波数応答、ドライバ数、クロスオーバ回路、動作周波数範囲全体でのドライバの精度及びインピーダンス、エンクロージャ特性、電力増幅の精度マッチング、スピーカケーブル及び電力増幅器での損失が挙げられる。ラウドスピーカの音質を改善するための従来の電気機械的な方法は、非常に高価である。例として、各音声チャネルに対して非常に高い電流及び低歪み電力増幅器を提供する一体式;高度に最適化されたクロスオーバ回路により音声スペクトルを複数の周波数バンドに分離し、高度に最適化されたドライバ装置を使用して各バンドを別々に駆動する;大規模なコンピュータ支援設計CAD法を適用して、周波数応答、位相、エンクロージャボックスの着色及び入力インピーダンスを含むラウドスピーカパラメータを最適化する;非常に高価な材料を使用して、ラウドスピーカ筺体を構築する;超低損失スピーカケーブルを使用する、が含まれる。典型的な5.1ホームシアターシステムは、音声プロセッサ102からの2対のワイヤを部屋の後方の1対のサラウドスピーカに接続する必要がある。上述したように、このことは、サラウンドサウンドシステムの採用に非常に重大な不都合を招く。この問題を解決するために利用可能な1つの解決策が、ワイヤレススピーカ技術である。ワイヤレススピーカは、物理的なスピーカケーブルの代わりに、間に見えない電波を使用して、部屋の前方にある音声プロセッサ102から部屋の後方にあるサラウドスピーカまで音声を運ぶ。この場合、音声プロセッサ102は無線送信機を含まなければならず、望ましくないことに、この装置の費用及び複雑さを増加させる。通常は部屋の後方近く例えばソファの下に小型の電力増幅器/RF受信機が配置され、この電力増幅器/RF受信機から数フィート離れたサラウドスピーカまでスピーカワイヤが配線される。したがって、このシステムでは依然としてスピーカワイヤを使用しなければならない。音声チャネルつまり、サラウドスピーカを通して再生される音声チャネルのサブセットは、ワイヤレスインタフェースを介して音声プロセッサ102から遠隔電力増幅器/RF受信機に送信され、サラウドスピーカを通して再生される。音声チャネルのサブセットを無線で送信することによって、スピーカケーブルを通じて残りの音声チャネルを送信する間に、音質及びサラウンド効果が大幅に悪化することがあることに留意されたい。したがって、従来の音声システムの上述した欠陥を克服する音声システムがあれば望ましいであろう。したがって、本発明は、複数の音声発生局とワイヤレスでかつ双方向で通信するアクティブ制御局を含む認知ラウドスピーカシステムcognitiveloudspeakersystemを提供する。制御局及び音声発生局は、最初に導体クロックconductorclockに同期される。セットアッププロセス中、音声発生局からアクティブ制御局に構成情報チャネル識別及び処理遅延を含むが送信される。受信した構成情報に応えて、アクティブ制御局は、音声発生局のそれぞれにプレイバック実行ファイルを生成する。アクティブ制御局は、音声発生局にプレイバック実行ファイルを無線で送信する。セットアッププロセスが完了した後、アクティブ制御局は、デジタル音源から受信されるデジタル音声情報を音声発生局に無線で送信する。各音声発生局内では、受信されたデジタル音声情報の復号及び処理を制御するために、以前に受信したプレイバック実行ファイルが使用される。各音声発生局は、受信したデジタル音声情報及び関連付けられたプレイバック実行ファイルに応えて、デジタル音声出力サンプルを生成する。デジタル音声サンプルは、アナログ出力信号に変換され、増幅されてスピーカを通じて再生される。本発明の一実施形態に従って、アクティブ制御局は、各音声発生局内に仮想デコーダを確立する。これは、多様なソースからの再生を可能にする。各音声発生局内において、クロスオーバフィルタリング、補償及び等化イコライゼーションを個々に実現することができる。仮想デコーダは、認知ラウドスピーカシステムを、新しいコード化プロトコルを処理するように容易に修正/更新することができる。本発明の別の実施形態に従い、ハンドオーバプロセスを用いてアクティブ制御局を別の制御局に切り換えることができる。本発明は、以下の説明及び図面を考慮してより完全に理解されるであろう。一般に、本発明は、デジタル音源から再生するための認知ラウドスピーカシステムを提供する。認知ラウドスピーカシステムは、アクティブ制御局CSと、1若しくは複数の音声発生局SPSとを含み、音声発生局は、システムのラウドスピーカを含む。認知ラウドスピーカシステムの多様な構成要素は、同期させた超広帯域UWBインタフェースを介して無線で通信する。アクティブ制御局は、音声発生局にフレキシブルに関連付けることができる。制御局ハンドオーバプロセスを用いて非アクティブ制御局をアクティブ制御局になるように切り替えることができるが、これについては以下にさらに詳細に説明する。音声発生局は、音声コード化に関して中立的である。つまり、アクティブ制御局は、各音声発生局内に仮想デコーダを確立する。これは、多様なソースからの再生を可能にする。各音声発生局内において、クロスオーバフィルタリング、補償及び等化を個々に実現することができる。ラウドスピーカ設置及び室内音響のための等化も、認知ラウドスピーカシステムによって実現することができる。以下により詳細に説明するように、本発明の認知ラウドスピーカシステムは、システムアーキテクチャと、無線通信アーキテクチャと、ソフトウェア構成要素のフレームワークと、無線インタフェースを通して多くの物理的に分離した音声チャネルを同期させる方法と、音声プレイバック信号処理に構成要素に特定の信号処理を追加できるようにする方法と、デジタル音声プレイバックシステムの構成、セットアップ、再生、リソース共用及び更新のための使用モデルとを含む。図2は、本発明の一実施形態に係る認知ラウドスピーカシステムCLS200のブロック図である。CLS200は、制御局201~203と、制御局ハンドオーバ論理回路205と、複数の音声発生局210~217とを含む。例えば、7.1サラウンドサウンドを実装するために8つの音声発生局210~217が示されているが、他の実施形態では他の数の音声発生局を使用できることが理解される。各音声発生局210~217は、音声発生論理回路SPLと、1若しくは複数の電力増幅器PAと、1若しくは複数のラウドスピーカとを含む。例えば、音声発生局210は、音声発生論理回路221と、電力増幅器222~223と、スピーカ224~225とを含む。各音声発生局210~216は2つの電力増幅器及び2つのスピーカを含み、音声発生局217は1つの電力増幅器及び1つのスピーカ例えばサブウーファーを含むが、音声発生局210~217が、他の実施形態では他の数の電力増幅器/スピーカを有し得ることを理解されたい。通常、ラウドスピーカは、特定の周波数を処理するための対応するドライバ装置、例えば2ウェイまたは3ウェイスピーカ等を有することになる。これは、実際には音声発生の物理的特性によって制限される。本発明の一実施形態に従って、図2に示されている音声発生論理回路SPLは、効率的なデジタルクロスオーバ回路として動作する。音源の大部分は、周波数領域内で送られる。図示されている実施形態ではSPS217が.1チャンネルを実装し、それによってLFE低周波効果例えばサブウーファーボックスを提供することに留意されたい。デジタル音声ストリームの再生を実現するためには、1つの制御局例えば制御局201のみが必要とされる。ただし、制御局ハンドオーバ論理回路205が複数の制御局間で再生を容易に切り替えることを可能にする。本明細書で説明されている種々の実施形態では、制御局201は、最初に、アクティブ制御局として動作する。他の制御局202~203は、ハンドオーバプロセスを通じてアクティブ制御局として制御局201に取って代ることができるが、これについては以下にさらに詳細に説明する。制御局201~203は、音声発生局210~217と無線で通信する。一実施形態に従って、認知ラウドスピーカシステム200の無線特性には、以下のものが含まれる。音声コード化のための100Mb/秒またはそれ以下、5メートル範囲、アクティブ制御局201及びSPS210~217のために利用可能なAC電力、低移動度、見通し内伝搬一部屋、低遅延、或る範囲内での正確な多点同期、2地点間デュプレックス通信、一点から多点への一斉送信、セキュリティが問題とならないように一時データ、高密度共同住宅内での複数の認知ラウドスピーカネットワークの共存をサポートするための単一MAC層、他のメディア再生のためのフック、異なる領域の異なるスペクトル要件で機能する能力。一実施形態に従って、認知ラウドスピーカシステム200内での無線通信は、超広帯域UWB周波数スペクトルを用いて実現される。UWBは、FCCによって商業目的に使用できるようにされた無認可広帯域周波数スペクトルである。UWB周波数スペクトルを使用することによって、認知ラウドスピーカシステム200によって実装される回路は、ビットレート、範囲及びチャネル環境に関して比較的単純なものとすることができる。より具体的には、制御局201~203及び音声発生局210~217内にインパルス無線送受信機を実装することにより、マルチチャネル音声再生に不可欠な、拡張可能な超低ジッタの低遅延同期システムを確立することができる。別の実施形態では、異なる周波数スペクトルを用いて、認知ラウドスピーカシステム200内で無線通信を実現することができる。図3は、本発明の一実施形態に係る、図2の認知ラウドスピーカシステムにおいて用いられるUWB送受信機CLSPHY300のブロック図である。各音声発生ステーション210~217のみならず、各制御局201~203に、送受信機300と同一の送受信機が含まれる。送受信機300は、アンテナ301と、低雑音増幅器LNA302と、電力増幅器PA303と、UWB周波数範囲で動作する必要がある信号ミキサ回路304~305とを含む。送受信機300はまた、データ復元回路306~307と、デジタイザ308と、周波数合成器310~311と、周波数ホッピングシーケンス制御論理ブロック312~313と、スイッチ315~316と、マルチプレクサ321~325と、パルス整形論理回路330と、チャネル同期回路335と、クロック発生回路340と、分周器/デューティサイクルコントローラ345と、遅延ロック350と、データ入力レジスタ355と、データ出力レジスタ360とを含む。クロック発生回路340は、認知ラウドスピーカシステム200が同期的に動作することを可能にする導体クロック信号を発生させる。説明されている実施形態では、導体クロック信号は250MHzの周波数を有するが、他の実施形態では他のクロック周波数を実現することができる。分周器/デューティサイクルコントローラ345は、導体クロックで分割機能を実行し、分割された導体クロックのデューティークロックを制御して、システムクロック信号を発生させる。250MHzの導体クロック信号を分割する論理的根拠は、このクロック信号によって提供される最大ビットレートが250Mb/秒であることである。しかしながら、音声データのビットレートはこの250Mb/秒よりもはるかに低い。導体クロックのデューティサイクルを削減することによって、例えば高密度都市地域において他の近傍のCLSシステムがある場合に符号間干渉ISIの可能性が減る。上記の使用可能な帯域幅を用いて、ビデオストリーム等の他のデータを送信することもできる。ビットレートとISIとの間にはトレードオフの関係があることに留意されたい。システムクロック信号は、導体クロック信号Nサイクル毎にNは1以上の整数、効果的に、導体クロック信号の一部中にデータ送信が生じることを可能にする。これにより、導体クロック信号の異なるサイクル中に異なるシステムがデータを送信できるので、複数の認知ラウドスピーカシステムが互いに近接して動作できるようになる。また、これはISIも減らす。音声チャネルの全てを同期させるために依存される1つの主要因が、単純なパルス無線である。以前の信号からの干渉を補正しようと試みるための信号処理はない。周波数ホッピングは、ISIの大部分を排除する。しかし、デューティサイクルを低くすると、近傍の他のCLSシステムのみならず自身の送信からの干渉の可能性を大幅に減らすことにもなる。システムクロック信号は送受信機300の送信機能を制御し、そのような機能には、データ出力レジスタ360への出力データ値のラッチ、周波数ホッピングシーケンス制御論理回路313の遷移、パルス整形論理回路330を通る出力データの経路指定、出力スイッチ316の動作が含まれる。送信された信号に、UWB無線仕様の要件に従って500MHzスペクトルを占有させるために、パルス整形論理回路330が用いられる。遅延ロック回路350は、システムクロック信号を遅延させて遅延システムクロック信号を発生させる。この遅延システムクロック信号は、送受信機300によって実装される送信機能と受信機能との間にオフセットを提供する。送信機回路内の導体クロックが受信機回路内の導体クロックと同期されることを保証するために、この遅延が選択される。遅延システムクロック信号は送受信機300の受信機能を制御し、そのような機能には、入力レジスタ355への入力データ値のラッチ、周波数ホッピングシーケンス制御論理回路312の遷移、入力スイッチ315の動作が含まれる。以下にさらに詳細に説明するように、チャネル同期論理回路335は、遅延ロック回路350によって導入される遅延を制御する。一般的に、クロックシステムは、受信機回路が送信機から正しくデータを受信できるように同期される。SPS210~217は全て、同じプレイバックストリームを同期的に受信する。以下にさらに詳細に説明するように、全てのSPSのサンプルクロックは、アクティブ制御局201によって送信されるメッセージユニットに応えて、同期的に起動される。SPS210~217内のサンプルクロックのドリフトは、アクティブ制御局201によって送信されるタイミング情報により妨げられる。以下にさらに詳細に説明するように、各SPS210~217は、専用のクロックシステムに応えて動作するプレイバックプロセッサを含む。周波数合成器310~311は、送受信機300によって実装される周波数計画周波数プランのための周波数トーン全てを生成する。説明されている実施形態では、周波数合成器310及び311はそれぞれ、8つの周波数トーンを生成することができる。周波数ホッピングシーケンス制御論理回路312~311は、周波数ホッピングのシーケンスを制御する状態機械を含む。より具体的には、周波数ホッピングシーケンス制御論理回路313は、マルチプレクサ323が、周波数合成器310によって生成される周波数トーンのうちの1つをマルチプレクサ325に経路指定し、マルチプレクサ324が、周波数合成器311によって生成される周波数トーンのうちの1つをマルチプレクサ325に経路指定するように、マルチプレクサ323及び324を制御する。通常、マルチプレクサ323及び324によって経路指定される周波数トーンは、それぞれ論理0及び論理1のデータ値を表す。マルチプレクサ325は、データ出力レジスタ360内でラッチされるデータ出力値によって制御される。データ出力値が論理0値を有する場合、マルチプレクサ325は、マルチプレクサ323周波数合成器310によって提供される周波数トーンを経路指定する。一方で、データ出力値が論理1値を有する場合、マルチプレクサ325は、マルチプレクサ324すなわち周波数合成器311によって提供される周波数トーンを経路指定する。パルス整形論理回路330は、FCC要件に合うように、マルチプレクサ325によって経路指定される周波数トーンを整形する。より具体的には、パルス整形論理回路325は、システムクロック信号によって指定される持続期間パルス幅を有する周波数トーンを生成する。パルス整形論理回路330によって提供されるパルス化周波数トーンは、電力増幅器303に提供される。増幅されたパルス化周波数トーンをアンテナ301に送るために出力スイッチ316が閉じられ、それによって、アンテナ301は論理0データ値または論理1データ値を表す無線UWB信号を送信する。出力スイッチ316が閉じられている間、入力スイッチ315は開いていることに留意されたい。スイッチ315~316は、送受信機301が送信機として動作している出力スイッチ316が閉じているのか受信機として動作している入力スイッチ315が閉じているのかを指定するメッセージユニット後述に応じて動作する。送受信機300の受信機側では、入力周波数トーンがアンテナ301によって受信され、入力スイッチ315及び低雑音増幅器302を介して信号ミキサ回路304及び305に経路指定される。信号ミキサ回路304及び305はそれぞれ信号ミキサ3041~3042及び3051~3052を含み、これらは低雑音増幅器302から入力周波数トーンを受信する。周波数ホッピングシーケンス制御論理回路312は、マルチプレクサ321が、周波数合成器310によって生成される周波数トーンのうちの1つを信号ミキサ回路304に経路指定し、マルチプレクサ322が、周波数合成器311によって生成される周波数トーンのうちの1つを信号ミキサ回路305に経路指定するように、マルチプレクサ321及び322を制御する。マルチプレクサ321によって経路指定される周波数トーンは、アンテナ301によって受信される論理0値を有する周波数トーンと同じ周波数を有するが、マルチプレクサ322によって経路指定される周波数トーンは、アンテナ301によって受信される論理1値を有する周波数トーンと同じ周波数を有する。マルチプレクサ321によって経路指定される周波数トーンは、信号ミキサ3041に提供される。マルチプレクサ321によって経路指定される周波数トーン321も90°シフト遅延され、シフトされた周波数トーンは信号ミキサ3042に印加される。同様に、マルチプレクサ322によって送られる周波数トーンは、信号ミキサ3051に提供される。また、マルチプレクサ322によって送られる周波数トーン321は、90度シフト遅延され、シフトされた周波数トーンが信号ミキサ3052に向けられる。信号ミキサ3041及び3042の出力は、データ復元回路306内の積算器3061及び3062にそれぞれ提供される。同様に、信号ミキサ3051及び3052の出力は、データ復元回路307内の積算器3071及び3072にそれぞれ提供される。積算器3061及び3062の出力は、データ復元回路306内の加算器3633に提供され、積算器3071及び3072の出力は、データ復元回路307内の加算器3073に提供される。アンテナ301によって受信される周波数トーンが、マルチプレクサ321によって経路指定される周波数トーンに一致する場合、加算器3063の出力は、デジタイザ308によって検出されるのに十分な量のエネルギーを有する出力信号を提供することによって、この一致を示すことになる。一方で、アンテナ301によって受信される周波数トーンが、マルチプレクサ322によって経路指定される周波数トーンに一致する場合、加算器3073の出力は、デジタイザ308によって検出されるのに十分な量のエネルギーを有する出力信号を提供することによって、この一致を示す。加算器3063の出力も加算器3073の出力も、デジタイザ308によって検出されるのに十分なエネルギーを有していない場合には、受信機回路は、関連付けられた送信機回路と適切に同期されていない。加算器3063の出力及び加算器3073の出力がともに、デジタイザ308によって検出されるのに十分なエネルギーを有する場合には、干渉によって生じ得るエラー状態が示される。加算器3063及び3073の両出力は、デジタイザ308に提供される。アンテナ301によって受信される入力周波数トーンが、マルチプレクサ321によって経路指定される周波数トーンに一致するすなわち、加算器3063によって提供される出力信号においてエネルギーが検出される場合、デジタイザ308はデータ入力レジスタ355に論理0値を提供する。一方で、アンテナ301によって受信される周波数入力トーンが、マルチプレクサ322によって経路指定される周波数トーンに一致するすなわち、加算器3073によって提供される出力信号においてエネルギーが検出される場合、デジタイザ308はデータ入力レジスタ355に論理1値を提供する。デジタイザ308によって提供されるデータ値は、遅延システムクロック信号に応えて、データ入力レジスタ355内にラッチされる。デジタイザ308によって検出されるデータ値も同様に、チャネル同期論理回路335に提供され、それが遅延ロック350を制御してシステムクロック信号に適切な遅延を導入し、それによって遅延システムクロック信号を発生させる。一実施形態に従って、受信データすなわちメッセージユニットに同期データsyncdataが埋め込まれている。このsyncdataは、送信機回路及び受信機回路の両者に既知のコードシーケンスである。送信機回路は、メッセージユニットを送信するときにこのコードシーケンスを送信することになり、受信機回路は、受信データがsyncdataに揃えられるように遅延システムクロック信号の遅延を調整することになる。送信機及び受信機の両者は、一定の時間間隔内に1ビットのデータが送信されることを期待するので、受信機回路は、データ復元回路306及び307によって提供される信号においてデジタイザ308が最大エネルギーを検出できるように、遅延システムクロック信号の遅延を調整する。一実施形態に従って、インパルス送受信機300は、相補的周波数ホッピングパルス変調CFHPM方式を実装する。周波数ホッピングのタイミングは、250MHzの導体クロック信号の一部分に同期される。論理0値及び論理1値を表すために、異なる一連の相補的周波数ホッピング計画が使用される。論理0及び論理1値は、関連付けられた周波数ホッピング計画によって変調される。送受信機300の送信機側は、関連付けられたデータビットの論理状態に基づいて、変調パルスを送信する。送受信機300の受信機側は、データを受信できる前に、導体クロック信号及び送信機の周波数ホッピングシーケンスに同期する必要がある。以下にさらに詳細に説明するように、この受信機側での同期は、送信機によって送信されるメッセージユニット内のビーコン及びsyncdataパターンへのロックによって達成される。導体クロックを分割し、複数の周波数ホッピングシーケンス計画を提供することによって、近接する他の認知ラウドスピーカシステムとの共存が可能である。図4は、本発明の一実施形態に係る送受信機300によって実装される周波数計画400を示すブロック図である。周波数計画400は、周波数表401及び周波数計画401A~401Dを含む。周波数表401によって示されているように、周波数計画401A~401Dを実装するために11個の周波数トーンb1~b11が利用可能である。周波数合成器310は、周波数トーンb1、b2、b3、b4、b5、b8、b9及びb10を生成することができる。周波数合成器は、周波数トーンb1、b2、b4、b6、b7、b8、b9、b10及びb11を生成することができる。周波数トーンb1~b11は、周波数表401によって示されているように、3432MHz~10296MHzまで様々である。周波数計画401A~401Dは、周波数トーンb1~b11を使用して論理0値及び論理1値を表す様々な方法を定義する。周波数トーン表示は、送信/受信される連続ビットごとに変化すなわちホッピングする。したがって、第1のビットは、第1の周波数表示frequencydesignationhop0を使用して符号化され、第2のビットは、第2の周波数表示hop1を使用して符号化され、第3のビットは、第3の周波数表示hop2を使用して符号化され、第4のビットは、第4の周波数表示hop3を使用して符号化される。このパターンは、以後のビットに対して繰り返され、第5のビットは、第1の周波数表示hop0を使用して符号化され、第6のビットは、第2の周波数表示hop1を使用して符号化され、以下同様である。例えば、周波数計画401Aを用いるとき、第1のビットは、論理0値が周波数トーンb1すなわち3432MHz信号によって表されかつ論理1値が周波数トーンb7すなわち8184MHz信号によって表されている表401Aのhop0を用いて符号化される。それゆえ、表401Aのhop0を用いて符号化するときに、周波数ホッピングシーケンス制御論理回路313は、マルチプレクサ323及び324がそれぞれ周波数トーンb1及びb7を経路指定するようにする。同様に、表401Aのhop0を用いて符号化するときに、周波数ホッピングシーケンス制御論理回路312は、マルチプレクサ321及び322がそれぞれ周波数トーンb1及びb7を経路指定するようにする。第2のビットは、論理0値が周波数トーンb5すなわち7128MHz信号によって表されかつ論理1値が周波数トーンb2すなわち3960MHz信号によって表されている表401Aのhop1を用いて符号化される。第3のビットは、論理0値が周波数トーンb9すなわち9240MHz信号によって表されかつ論理1値が周波数トーンb8すなわち8712MHz信号によって表されている表401Aのhop2を用いて符号化される。第4は、論理0値が周波数トーンb3すなわち4488MHz信号によって表されかつ論理1値が周波数トーンb4すなわち6600MHz信号によって表されている表401Aのhop3を使用して符号化される。周波数計画401Aの場合、周波数合成器310は、周波数トーンb1、b5、b9及びb3を生成することだけを要求され、周波数合成器311は、周波数トーンb7、b2、b8及びb4を生成することだけを要求されていることに留意する。周波数計画401Aを用いて01110100のデータストリームを送信するとすれば、以下の周波数トーンのシーケンス、すなわちb1、b2、b8、b4、b1、b2、b9及びb3が、周波数合成器310及び311からアンテナ301に送信されることになる。周波数計画401Bを用いて同じデータストリームを送信するとすれば、以下の周波数トーンのシーケンス、すなわちb2、b4、b6、b1、b2、b4、b10及びb5が送信されることになる。周波数計画401Cを用いて同じデータストリームを送信するとすれば、以下の周波数トーンのシーケンス、すなわちb3、b6、b4、b10、b3、b6、b5及びb2が送信されることになる。周波数計画401Dを用いて同じデータストリームを送信するとすれば、以下の周波数トーンのシーケンス、すなわちb4、b7、b1、b6、b4、b7、b2及びb9が送信されることになる。互いに異なる周波数計画401A~401Dは、互いに異なる認知ラウドスピーカシステムが例えば高密度共同住宅内で近接して共存することを可能にする。セットアッププロセス後述中、アクティブ制御局201は、任意の他の認知ラウドスピーカネットワークの存在を検出することになる。それに応じて、アクティブ制御局201は、未使用の周波数計画を選択し、制御局がシステム200内の音声発生局210~217の全てと首尾よく通信できるようになるまで、導体クロック信号の位相/デューティサイクルを調整することになる。以下に説明するように、認知ラウドスピーカシステム200内の各構成要素は、構成プロセス中に確立される共通のネットワークIDを共用することになる。各構成要素は、異なるネットワークIDを有する認知ラウドスピーカシステムによって送信されたデータを無視することになる。図5は、第1の認知ラウドスピーカシステムNetworkAに関連付けられた第1の導体クロック信号CLKAと、第2の認知ラウドスピーカシステムNetworkBに関連付けられた第2の導体クロック信号CLKBとを示す。第1の認知ラウドスピーカシステムNetworkAは周波数計画401Aを実装し、第2のラウドスピーカシステムNetworkBは周波数計画401Bを実装する。さらに、第1の認知ラウドスピーカシステムNetworkAが第2の認知ラウドスピーカシステムNetworkBと同じ期間中にアクティブに送信しないように、導体クロック信号CLKBは導体クロック信号CLKAに対して位相がずれるように調整される。図5の例では、導体クロック信号の各第5のサイクル中にのみデータが送信されるようにデューティサイクルが選択されている。図6は、本発明の一実施形態に係るアクティブ制御局201を示すブロック図である。制御局201は送受信機600を含み、送受信機600は図3の送受信機300と同一である。制御局201は、制御ソフトウェア601と、標準通信チャネル602と、同期論理回路603と、デジタルソース604と、他のマルチメディアドライバ605も含む。標準通信チャネル602は、例えば、WiFiやブルーツース等の標準無線通信リンクであってよい。標準通信チャネル602は、制御局ハンドオーバプロセスを実装するために使用されるが、これについては以下にさらに詳細に説明する。一般に、制御局ハンドオーバプロセスにより、認知ラウドスピーカシステム200の制御を或る制御局例えば制御局201から別の制御局例えば制御局202に移すことができる。標準通信チャネル602は、プレイバックソースの通信リンクとして用いられることもできる。送受信機600は、プレイバック同期マスタとして動作し、さらにまた、アクティブ制御局201と音声発生局210~217との間の通信リンクとしても機能する。送受信機600は、他の制御局202~203への通信リンクとして機能することもできる。以下にさらに詳細に説明するように、送受信機600は、構成データ、プレイバック実行ファイル及びデジタルプレイバックストリームを音声発生局210~217に送信する。送受信機600はまた、セットアッププロセス中に音声発生局210~217から情報を受信する。デジタルソース604はプレイバックソースであり、プレイバックソースは、例えばインターネットからの音声ストリーミング、ホームネットワークまたはレガシーデジタルディスクプレーヤーからのアーカイブ保存された音楽を含み得る。デジタルソース604のフォーマットは、例えば、MP3、AC3、AAC、24b/192kHzのLPCMまたはFLACであってよい。デジタルソース604は、仮想コーダソフトウェアを通じて可能性のある全てのソースフォーマットを再生することができるが、これについては以下にさらに詳細に説明する。制御局制御ソフトウェア601は、構成ルーチンを実装し、プレイバック実行ファイルをコンパイルし、セットアップルーチンを実装し、デジタルプレイバックストリームを一斉送信し、制御局ハンドオーバルーチンを制御し、プレイバック制御を以下にさらに詳細に説明する方法で実装する。マルチメディアドライバ605により、認知ラウドスピーカの概念をビデオストリーム等の他の媒体データの再生に適用することができる。マルチメディアドライバ605とともに使用するために、同期回路603が提供される。認知ラウドスピーカシステム200は、他の媒体たいがいはビデオストリームと併用することが可能である。しかし、信号処理時間及び音声チャネルごとの配置遅延に対処するために、多少の遅延が生じる。アクティブ制御局201は、全音声チャネルを、遅延が最長のチャネルに対して待たせることによって、音声チャネルの全てを同期させることができる。これは、各チャネルの出力を相応に遅延させることによって達成される。アクティブ制御局201は、音源にどのくらいの遅延が課されるかに関する情報を有しているので、この遅延を、プレイバックコンテンツが同期されるように、他のコンテンツストリーム例えばビデオストリーム等に加える必要もある。同期回路603は、この必要な遅延を他のコンテンツストリームに導入する。制御局201~203のいずれも、SPS210~217を駆動することができる。しかし、これらの制御局201~203のうちの1つのみが所与の時間にアクティブであり得る。制御局201~203の調整は、CSハンドオーバプロセス205を通じて実施され、これについては以下にさらに詳細に説明する。アクティブ制御局201は、例えば、テレビ受像機、A/Vプロセッサ電力増幅または物理的な接続が必要とされない、セットトップボックス、パソコン、ネットワーク化されたホームエンターテインメントクライアントまたは個人向け娯楽機器であってよい。アクティブ制御局201によって実装される一般的な機能には、以下のものが含まれる。制御局201は、SPS210~217の構成及びセットアップを制御し得る。制御局201は、CSハンドオーバプロセスを通じてアクティブ制御局の役割を獲得し、委譲し、放棄し得る。制御局201は、導体クロック信号を用いてプレイバックシステムの同期ポイントになる。制御局201は、デジタルプレイバックデータをSPS210~217に中継する。制御局201は、プレイバックフォーマットトランスコーディングを実行する。制御局201はまた、ソース選択、音量、等化、停止、一時停止、早送り、電源投入及びシャットダウンを含むプレイバックシステムの様々な基本動作機能を制御する。図7は、本発明の一実施形態に係るSPS210のブロック図である。SPS210~217は、説明されている実施形態のSPS210と実質的に同一である。SPS210は、音声発生論理回路SPL221と、電力増幅器222及び223と、ラウドスピーカ224~225とを含む。SPL221は送受信機700を含み、送受信機700は図3に関連して上述した送受信機300と同一である。SPL221はまた、ローカルファームウェア701と、プレイバック実行ファイル702と、プレイバックストリームバッファ703と、プレイバックプロセッサ704と、出力サンプルバッファ705と、プレイバックタイミング制御706と、サンプル出力チャネル701~708と、デジタル/アナログ変換器710~711とを含む。説明されている例に従って、SPS210は、単一のエンクロージャ内でラウドスピーカ224~225に関連付けられている。異なる周波数範囲に対して複数の電力増幅器222~223が提供される。例えば、電力増幅器222は低周波アナログ信号を駆動することができるが。電力増幅器223は高周波アナログ信号を駆動することができる。以下に説明するように、SPL221は、チャネル識別、配置プレースメント情報、装置特性等化要件、計算能力等、リアルタイムオペレーティングシステムRTS、APIライブラリ及びローカル信号処理コードのための不揮発性記憶装置を提供する。さらに、SPL221は、アクティブ制御局201の導体クロックに同期し、アクティブ制御局201から構成情報を受け入れる。SPL221はまた、アクティブ制御局201と通信してプレイバックシステムをセットアップし、アクティブ制御局201から一斉送信されるプレイバックストリームのためのV記憶領域を提供し、プレイバック実行ファイル702からの命令によりプレイバックストリームを復号する。SPL221はまた、クロスオーバ、補償及び等化のためのローカル信号処理を実行し、出力信号をバッファに格納し、同期出力サンプルを生成し、出力サンプルのデジタル-アナログ変換を実行し、アナログ信号を電力増幅器222~223へ駆動する。通常、送受信機700は、アクティブ制御局201への通信リンクとして動作する。送受信機700は、SPS210がプレイバック同期スレーブとして動作するように、アクティブ制御局201の導体クロック信号に位相固定される。送受信機700は、アクティブ制御局201から、構成データ、プレイバック実行ファイル情報及び/またはデジタルプレイバックストリームを受信する。トランシーバ700はまた、構成ルーチン及びセットアップルーチン中に情報をアクティブ制御局201に送信するが、これについては以下にさらに詳細に説明する。ファームウェア701は、SPS210の不揮発性実行ファイル及び情報を含む。一実施形態に従って、ファームウェア701は、標準化された部分と、メーカー定義部分と、ユーザ定義部分とを含む。ファームウェア701の標準化された部分は、SPS210の動作を制御するためのリアルタイムオペレーティングシステムRTOSと、プレイバック実行ファイル702をコンパイルするために使用されるアプリケーションプログラムインタフェースAPIとを含む。SPS210を異なる命令セットアーキテクチャISAに構築できることが可能であるので、標準化されたAPIがあれば、任意の特定のアーキテクチャへの依存を取り除くであろう。プレイバック実行ファイル702は、関連付けられた記憶要件を最小限に抑えかつセットアップルーチンを実行するために要する時間を最小限に抑えるのにきわめて効率的である。ファームウェア701のメーカー定義部分は、SPS固有信号処理用の実行ファイルを含み、以下の情報、すなわち、プレイバックプロセッサ704のサイクル時間、APIによって消費されるサイクル数、SPS固有信号処理によって消費されるサイクル数及びSPSの周波数範囲例えば、SPSはサブウーファーであってよいを維持するための手段を含む。ファームウェア710のユーザ定義部分は、プレイバックチャネル識別、SPS210の配置情報及び室内音響情報を含む。この情報は、認知ラウドスピーカシステム200が電源投入されているときに、セットアップルーチン中にアクティブ制御局210に転送される。この情報はまた、制御局ハンドオーバプロセス205中に次のアクティブ制御局に渡される。ファームウェア701は、アクティブ制御局201によって実装される構成ルーチンを通して更新することができ、これについては以下にさらに詳細に説明する。プレイバック実行ファイル702は、アクティブ制御局201から受信されるプレイバックストリームを復号するためにSPS210によって使用されるソフトウェアオブジェクトである。プレイバック実行ファイル702は、SPS210~217のそれぞれから受信される以下の入力、すなわち、復号アルゴリズム、チャネル所有権、各SPSの能力例えば、メインステレオチャネルの192kHzサンプリングレート及び他のチャネルの48kHzサンプリングレート、各チャネルの感度、室内音響の等化要件、システムレベル同期の遅延要件、及びローカル信号処理のためのエントリポイントすなわち、ローカル信号処理プログラムがプレイバック実行ファイル702またはローカル信号処理APIに統合されるべき場所に基づき、アクティブ制御局201によってコンパイルされる。別の実施形態では、SPS210の不揮発性記憶装置を用いて共通のプレイバック実行ファイルを記憶することができ、共通のプレイバック実行ファイルはセットアッププロセス中にプレイバック実行ファイル702にロードされ、それによってセットアッププロセスを加速することができる。各SPSに対するプレイバック実行ファイル702は、異なっていてよい。アクティブ制御局201は、セットアッププロセス後述中にプレイバック実行ファイル702を各SPSにダウンロードする。各SPSは、出力サンプルに対して独自のローカル信号処理を実行することができる。SPS210は、セットアッププロセス中に、その信号処理を実行するために要した時間をアクティブ制御局201に報告する。アクティブ制御局201は、信号処理のタイミング要件を収集し、プレイバックチャネルの全てが同期されるように各SPS内で追加される必要がある遅延を計算する。アクティブ制御局201は、セットアッププロセスの一部として各SPSに遅延要件を送信することになる。認知ラウドスピーカシステム200は、プレイバックストリームの構文シンタックスを定義しない。プレイバックストリームを送信するアクティブ制御局201は、プレイバックストリームを復号するためにSPSによって実行され得るプレイバック実行ファイル702をコンパイルし、各サンプルに対する計算をタイミング良く完了しなければならない。プレイバック実行ファイル702の1つの形態は仮想デコーダである。認知ラウドスピーカシステム200は、高度にプログラム可能なシステムである。各制御局設計者は、自身の製品を差別化するために、独自のプレイバック実行ファイル及びプレイバックストリームを開発することが可能である。他方、一部の制御局設計者は、汎用のプレイバック実行ファイル及びプレイバックストリームフォーマットを開発することができる。このセットアップにより、このシステムにおいてソフトウェア変換だけで任意のデジタル音声フォーマットを再生することができる。これは、ソフトウェア仮想化に幾分か似ている。これを行う理由はいくつかある。第1に、ユーザはコンテンツのフォーマットを気にしたり、所有する装置が時代遅れになることを心配したり必要がない。さらに、ソフトウェアコーダを販売IPライセンス供与する費用は、ハードウェアコーダを販売するよりもはるかに安価である。プレイバックストリームを送信する前に、アクティブ制御局201は、プレイバック実行ファイル702をセットアップし、SPS210~217の全てを同期させる必要がある。プレイバックストリームの1コピーのみがアクティブ制御局201から一斉送信される。プレイバックストリームは、送受信機700によって受信され、プレイバックストリームバッファ703に転送される。プレイバックストリームバッファ703は、その後、プレイバックストリームをプレイバックプロセッサ704に送信する。各SPS210~217内のプレイバックプロセッサ704は、プレイバックストリームバッファ703から受信されたプレイバックストリームを処理するために、自身のバージョンのプレイバック実行ファイル702及びローカル信号処理コードを実行する。プレイバックプロセッサ704はプレイバックストリームをデジタル出力サンプルに変換し、デジタル出力サンプルは出力サンプルバッファ705内に格納される。プレイバックプロセッサ704はまた、アクティブ制御局201によって送信される情報に応えて、以下のSPS動作、すなわち、電源オン、スリープ、シャットダウン、アクティブCSへの同期、セットアップルーチン、構成ルーチン、プレイバックストリーム処理及びプレイバック制御をサポートするために、単純なRTOSを実行する。プレイバックプロセッサ704のための可能なアーキテクチャには、乗加算パイプラインを備えたRISCコアと、命令用及びデータ用に分割されたRAMを持つハーバードアーキテクチャとが含まれる。一実施形態に従って、プレイバックプロセッサ704は、250MHz~2GHzのサイクルタイムで動作し、導体クロック及びサンプリングクロックに非同期にラン実行する。出力サンプルバッファ705は、プレイバックプロセッサ704によって提供される出力サンプルを一時的に格納するので、全てのチャネル例えばSPS210~217からの再生を同期させることができる。プレイバックプロセッサ704は、プレイバックプロセッサ704のクロック領域内の出力サンプルバッファ705に書き込みを行う。出力サンプルバッファ705は、或るサンプルクロック周波数で出力チャネル707~708に読み出される。デジタルクロスオーバ機能を実装するために、各サンプルリングポイントにおいて2つ以上のサンプルの書き込みまたは読み出しを行うことができる。サンプル出力チャネル707~708は、コンフィギュラブル設定で変えられるである。サンプル出力チャネル707~708は、D/A変換器710~711を駆動する。一実施形態に従って、出力サンプルバッファ705は、フィールドプログラマブルゲートアレイFPGA装置によって実装されることができる。D/A変換器710~711は、認知ラウドスピーカシステム200内でデジタル-アナログ変換のみを行う。D/A変換器710~711は、費用/性能の差別化を達成するように様々な方法で実装されることができる。例えば、低コスト単一チップSPS実装のために、低サンプリングクロック周波数の、組み込み単独出力チャネルD/A変換器を用いることができる。あるいは、ハイエンドラウドスピーカのために、ドライバ装置ごとに、高解像度、高サンプリングレート及び低雑音のD/A変換器を用いることができる。電力増幅器222~223は、それぞれD/A変換器710~711のアナログ出力に結合される。電力増幅器222~223は、プレイバック信号経路内の唯一のアナログ回路である。デジタルソースのための最良の音質を得るために、デジタル領域とアナログ領域との間での変換の数を最小限に抑えることが重要であることに留意されたい。したがって、この意味では、認知ラウドスピーカシステム200は最適であり、その理由は、このシステム200は1回のD/A変換で任意のデジタルソースを再生することができるためである。電力増幅器222~223は、ラウドスピーカ224~225をそれぞれ駆動する。電力増幅器222~223は、性能及び費用についてSPSを最適化するために、ラウドスピーカ224~225と関連して設計される。認知ラウドスピーカシステム200は広い設計空間を提供し、それにより、ラウドスピーカ及び家庭用電化製品のメーカは、性能及び/またはコストに対して高度に最適化されるシステムを設計することができる。図8は、本発明の一実施形態に係る認知ラウドスピーカシステム200の制御局201~202とSPS210~217との間で通信するために用いられるメッセージユニット800のブロック図である。認知ラウドスピーカシステム200は、以下の通信モデル、すなわち、制御局から1つのSPSへの2地点間送信と、SPSから制御局への2地点間送信と、制御局から複数のSPSへの一斉送信とを実装する。これらの通信は、メッセージユニット800を通じて行われる。3つの通信モデル全てに関して、通信の最初のメッセージユニットは制御局によって開始される。メッセージユニット800の枠内で、同期層、エラー訂正層、プロトコル層及びより高いアプリケーション層が構築される。メッセージユニット800は、固定フォーマットパケットである。説明されている例では、メッセージユニット800は、256ビットの幅すなわちmunit2550を有する。メッセージユニット800のビットは、以下のように定義される。メッセージユニットビットmunit0は、メッセージユニット800の始まりを示すビーコンである。該ビーコンは、位相同期のための擬似コードシーケンスによって変調され、サンプルクロック信号の始まりを識別する。メッセージユニットビットmunit131は、メッセージユニット800のコンテキストを定義するコマンドを識別する。メッセージユニットビットmunit131は、常に制御局によって生成される。メッセージユニットビットmunit3279は、データフローの方向がアクティブ制御局201からSSP210~217に流れるときに、同期情報または同期データを搬送する第1のメッセージフィールドを表す。データフローの方向が衝突を回避するためにSPSからアクティブ制御局201に流れるときには、この第1のメッセージフィールドは空/サイレントである。メッセージユニットビットmunit80207は、データフローの方向がアクティブ制御局201からSPS210~217に流れるときに、同期情報または同期データを搬送する第2のメッセージフィールドを表す。データフローの方向がSPSからアクティブ制御局201に流れるときには、この第2のメッセージフィールドは同期情報または同期データを搬送する。メッセージユニットビットmunit208255は、データフローの方向がアクティブ制御局からSPS210~217に流れるときに、同期情報または同期データを搬送する第3のメッセージフィールドを表す。データフローの方向が衝突を回避するためにSPSからアクティブ制御局201に流れるときには、この第3のメッセージフィールドは空/サイレントである。図9A、図9B、図9C及び図9Dは、本発明の一実施形態に従って、メッセージユニット800によって実装される様々なメッセージの詳細な説明を提供する表を示す。ここで、認知ラウドスピーカシステム200のための構成ルーチンについて説明する。構成ルーチンは、以下の理由、すなわち、新しいシステムセットアップが必要である、プレイバックシステムへのSPSの追加または削除が必要である、SPSの配置の変更が必要である、またはSPSのファームウェアの更新が必要である、のうちの1若しくは複数のために、SPS210~217に格納された不揮発性データを変更するために用いられるプロセスである。構成プロセスは、アクティブ制御局201と1つのSPSとの2地点間通信を含む。SPSにおいて構成を有効イネーブル/無効ディセーブルにするために或るメカニズムが提供され、それによって、SPSが予期しない形で構成されないようにする。このメカニズムは、以下にさらに詳細に説明するように、SPS上のモード設定スイッチ、または無線インタフェースプロトコルを含むことができる。通常は、ベンダー/メーカー固有の構成と、標準構成とを含む2種類の構成がある。ベンダー/メーカー固有の構成は、例えばファームウェアの更新を行うために用いられる。標準構成のデータには、SPSチャネルID、次のSPSチャネルID、または最後のチャネルインジケータ、プレイバックシステムID、チャネルの感度すなわち、信号レベルの関数としての音圧、第1のチャネルに対するSPSの相対座標及び、SPSの音響環境が含まれる。図10は、本発明の一実施形態に係る、認知ラウドスピーカシステム200によって実装される構成ルーチン1000の流れ図である。ステップ1001では、構成プロセスは、例えばSPS上でスイッチを切り替えることによってSPS内で有効にされる。ステップ1001では、1つのSPSのみが有効にされる。ステップ1002では、アクティブ制御局201は、synctoCSメッセージユニットを送信する。図9Aによって示されているように、synctoCSメッセージユニットは、メッセージユニットの3つのメッセージフィールドmunit32255においてアクティブ制御局201によって駆動される同期データsyncdataを含む。このメッセージは、一定期間にわたってアクティブ制御局201によって繰り返し一斉送信され、それによって、有効化済みSPSをアクティブ制御局201に同期させる。プレイバックシステムに組み込まれていない有効化済みSPSは、synctoCSメッセージユニットを受信すると、アクティブ制御局201と同期しようと試みることになる。アクティブ制御局201は、無線環境を調査し、この時点で別の近傍の認知ラウドスピーカシステムとの干渉を回避するために周波数ホッピング計画及びデューティサイクルを選択することができることに留意されたい例えば、図5を参照。ステップ1003では、有効化済みSPSは、アクティブ制御局201に同期される。ステップ1004では、アクティブ制御局201は、setconfigonメッセージユニットを送信する。図9Bによって示されているように、setconfigonメッセージユニットは、3つのメッセージフィールドmunit32255においてアクティブ制御局201によって駆動されるsyncdataを含む。setconfigonメッセージユニットを受信すると、SPSは構成状態に設定されるステップ1005。本実施形態では、複数のSPSのうちの1つのみにおいて構成メカニズムが有効にされると仮定する。このときに、当該SPSは、制御局から構成メッセージを受信する準備ができている。上述したように、SPSを手動で選択することができる。例えば、ユーザは、左右のチャネルスピーカをより良好なスピーカに置き換えることができる。この場合、ユーザにとって必要なのは、1対の新しいスピーカを構成することだけである。別の例では、ユーザが5.1システムから7.1システムへの増加を希望する場合、ユーザは隣接するチャネルだけでなく新しいスピーカも構成する必要がある。ステップ1006では、アクティブ制御局201は、1若しくは複数のstdconfigmsgメッセージユニット及び/または1若しくは複数のvspconfigmsgメッセージユニットを送信する。図9Bによって示されているように、各stdconfigmsgメッセージユニットは、3つのメッセージフィールドmunit32255において標準構成メッセージを含む。この標準構成メッセージには、チャネルID、プレイバックシステムID、制御局がプレイバックシステム内において各SPSのアドレスを指定することを可能にするためのリンクリスト、及びプレイバックシステム内でのSPSの座標を含む重要な構成データが含まれる。図9Bによって示されているように、各vspconfigmsgメッセージユニットは、ベンダー固有の構成メッセージを含む。このベンダー固有の構成メッセージは、例えば、SPSのためのファームウェア更新を含み得る。説明されている実施形態では、メッセージフォーマット、コンテンツ及び関連ドライバソフトウェアは、SPSベンダーによって完全に定義されていることに留意されたい。ステップ1007では、SPSは、受信した構成メッセージユニットをバッファに格納する。ステップ1008では、アクティブ制御局201は、commitconfigメッセージユニットを有効化済みSPSに送信する。commitconfigメッセージユニットは、3つのメッセージフィールドmunit32255において制御局によって駆動されるsyncdataを含む。commitconfigメッセージユニットの受信に応えて、有効化済みSPSは、バッファに格納された構成データを不揮発性記憶装置内にコミットする入れるステップ1009。ステップ1010では、アクティブ制御局201は、複数のsynctoSPSメッセージユニットを有効化済みSPSに送信する。synctoSPSメッセージユニットの機能は、アクティブ制御局201を有効化済みSPSに同期させることである。このsynctoSPSメッセージユニットは、第2のメッセージフィールドmunit3279においてアクティブ制御局201によって駆動されるsyncdataを含むが、第1及び第3のメッセージフィールドmunit131及びmunit208255においてはサイレント/空である。synctoSPSメッセージユニットを処理するために、複数のSPSのうちの1つのみが有効にされる。このSPSは、アクティブ制御局201によって送信されるsynctoSPSメッセージユニットの受信に応えて、戻りsynctoSPSメッセージユニットをアクティブ制御局201に駆動するステップ1011。このsynctoSPSメッセージユニットは、第2のメッセージフィールドmunit3279においてアクティブ制御局201によって駆動されるsyncdataを含むが、第1及び第3のメッセージフィールドmunit131及びmunit208255においてはサイレント/空である。アクティブ制御局201は、この戻りsynctoSPSメッセージユニットを検出し、この信号への同期を試みるステップ1012。アクティブ制御局201はsynctoSPSメッセージを送信し続けることになり、SPSはアクティブ制御局201がSPSに同期されるまでsynctoSPSメッセージを戻し続けることになることに留意されたい。ステップ1013では、アクティブ制御局201は、commitstatuschkメッセージユニットを有効化済みSPSに送信する。commitstatuschkメッセージユニットは、有効化済みSPSのコミットステータスつまり、以前にバッファに格納された構成メッセージが有効化済みSPSの不揮発性記憶装置にコミットされているかどうかをポーリングするために、アクティブ制御局201によって使用される。commitstatuschkメッセージユニットを受信すると、SPSは、commitstatuschkメッセージユニットを制御局に戻し、この戻りメッセージユニットは、コミットステータス第2のメッセージフィールドmunit80207における行われたdoneまたは行われていないnotdoneを含む。アクティブ制御局201は、有効化済みSPSによって送信されたコミットステータスを受信するステップ1015。アクティブ制御局201によって受信されたコミットステータスが行われていないの場合には、処理はステップ1013に戻る。アクティブ制御局201によって受信されたコミットステータスが行われたであるが、より多くの処理されるべき構成データがある場合には、処理はステップ1006に戻り、追加の構成情報が有効化済みSPSに提供される。アクティブ制御局201によって受信されたコミットステータスが行われたであり、処理されるべき構成データがこれ以上ない場合には、アクティブ制御局201は、configdoneメッセージユニットを有効化済みSPSに送信する。configdoneメッセージユニットに応えて、SPSは構成ルーチンを終了しステップ1016、このSPSのための構成モードを無効にしステップ1017、それによってこのSPSのための構成プロセスを完了する。或る特定の実施形態では、SPSは、configdoneメッセージユニットを受信するとインジケータライトまたはインジケータトーンを有効にし、それによってユーザにSPS上のモード設定スイッチを切り替えるように指示し、それによってSPSのための構成モードを無効にすることができる。構成プロセスは、例えば新しいシステムのセットアップや既存のシステムの更新等のために、必要に応じて実行される。構成ルーチンが完了した後、セットアップルーチンをランすることができる。ここで、セットアップルーチンについて説明する。アクティブ制御局201は、システム201の電源投入時及びアクティブ制御局が切り替えられて新しいアクティブ制御局がプレイバック実行ファイル702を更新する必要があるたびに、セットアップルーチンを実行する。通常、セットアップルーチンは、各SPSに対して種々の情報を識別するために使用され、そのような情報として、チャネルID、次のチャネルID、プレイバックシステムID、チャネルの感度、プレイバックシステム内でのSPSの座標、SPSの音響環境、SPSの機能例えば、解像度、実行パイプライン速度及びソフトウェア機能プロファイル、SPSのローカル信号処理のタイミング要件が挙げられる。この情報と、各利用可能なプレイバックチャネルにおいてソースを復号する上での計算要件とに基づいて、アクティブ制御局201は、各チャネルSPSに対して種々のデータを生成し、そのようなデータとして、プレイバック実行ファイル702、全てのプレイバックチャネルを同期できるようにするバッファ格納要件、SPSの誤配置を補償するための等化レベル及びタイミング、プレイバックシステムを同期させるための再生されるべきサンプルに対する遅延要件が挙げられる。アクティブ制御局201は、次に、2地点間接続を確立して上記データを各SPSにダウンロードすることになる。このデータを各SPSにダウンロードした後、アクティブ制御局201は、プレイバックシステムを準備完了状態に設定することになるので、SPSは、その後にアクティブ制御局201から一斉送信されるプレイバックストリームを復号することができる。アクティブ制御局内での変更に起因してセットアップルーチンが実行される場合、新しいアクティブ制御局は、各SPSのプレイバック実行ファイル702をコンパイルし直す必要がある場合があることに留意されたい。アクティブ制御局から別の制御局へのハンドオーバがある例えば、制御局202が新しいアクティブ制御局になる場合には、実行状態情報が以前のアクティブ制御局から新しいアクティブ制御局に送信される。この実行状態情報は、認知ラウドスピーカシステム200の現在のプログラム状態を含む。新しいアクティブ制御局は、この実行状態情報及び新しい復号要件に基づいてセットアップルーチンが実行されなければならないかどうかを決定することになる。図11は、本発明の一実施形態に従って、制御局及びSPSによって実装されるセットアップルーチンを示す流れ図1100である。セットアップルーチンが起動された後ステップ1101、CSはsynctoCSメッセージユニットを送信するステップ1102ので、全SPSがアクティブ制御局に同期される。アクティブ制御局は次に、setSPSsleepメッセージユニットをSPSに送信するステップ1103。図9Bによって示されているように、setSPSsleepメッセージユニットは、第1及び第3のメッセージフィールドmunit3239及びmunit208251においてアクティブ制御局によって駆動されるsyncdataと、第2のメッセージフィールドmnit80207においてSPSchannel識別子とを含む。ステップ1103中に送信されたsetSPSsleepメッセージユニットのSPSchannel識別子は、SPS210~217の全てを指定する。このsetSPSsleepメッセージユニットの検出に応えて、SPS210~217の全てがスリープに設定される。いったんスリープ状態になると、SPSは、アクティブ制御局201からスリープ解除wakeupメッセージユニットを受信するまで、非アクティブのままとなる。ステップ1104では、変数nextSPSが、channel0に等しい値に設定され、ここで、channel0は、システム200例えば、左前方のスピーカチャネルとして動作するSPS210の所定のSPSすなわちデフォルトチャネルを識別する。ステップ1105では、変数currentSPSが、nextSPS値つまり、channel0に等しい値に設定される。ステップ1106では、アクティブ制御局201がsetSPSawakeメッセージユニットを送信する。図9cに示されているように、setSPSawakeメッセージユニットは、第1及び第3のメッセージフィールドmunit3279及びmunit208255においてアクティブ制御局によって駆動されるsyncdataと、第2のメッセージフィールドmunit80207においてSPSchannel識別子とを含む。ステップ1106中に送信されたsetSPSawakeメッセージユニットのSPSchannel識別子は、currentSPS値によって識別されるSPS例えばSPS210を指定する。setSPSawakeメッセージユニットの検出に応えて、識別されたSPS210は呼び起され、このSPSのためのセットアッププロセスを続行する。スリープ解除時、SPS210はsynctoSPSメッセージユニットを送信し、アクティブ制御局201を識別されたSPS211と同期させるステップ1107。識別されたSPS210は、次に、setupmsg2CSメッセージユニットをCSに送信するステップ1108。図9Cによって示されているように、setupmsg2CSメッセージユニットは、第1及び第3のメッセージフィールドにおいてサイレントであり、第2のメッセージフィールドにおいてセットアップデータを含む。セットアップデータは、SPSに関連するプロファイル情報を含み、例えば、性能、サンプリングレート、解像度、ローカル信号処理に要する時間及びAPIバージョンが含まれる。セットアップデータはまた、プレイバックシステムID、SPSのチャネルID、次のSPSのチャネルID、SPSがシステムの最後のSPSであるかどうかの表示も含む。全セットアップデータが識別されたSPS210からアクティブ制御局201に送信されるまで、ステップ1109からステップ1108に戻るループ繰り返し処理が行われる。識別されたSPS210の全セットアップデータがアクティブ制御局201に送信された後ステップ1109、Yes分岐、アクティブ制御局201はsetSPSsleepメッセージユニットを識別されたSPS210に送信する。このsetSPSsleepは、currentSPS値例えば、SPS210に関連するチャネルを識別するSPSchannel識別子を含む。setSPSsleepメッセージの検出に応えて、このSPS210はスリープに設定される。ステップ1108中に取り出されたセットアップデータから、アクティブ制御局201は、変数currentSPSによって識別されたSPSがシステム200の最後のチャネルを表すかどうかを判定するステップ1111。否の場合、処理はステップ1105に戻り、ここで変数currentSPSはステップ1108中に取り出された変数nextSPSに等しい値に設定される。その後、ステップ1106~1110が繰り返され、次のSPSのセットアップデータが上述した方法でアクティブ制御局201に提供される。全SPS210~217のセットアップデータがアクティブ制御局201に送信されたとき、この制御局201は、全チャネル/SPSのためのプレイバック実行ファイル702をコンパイルするステップ1112。このステップでは、アクティブ制御局201は、プレイバックストリームの再生が全SPS210~217内で同期されるように、種々のSPSによって導入される遅延を決定する。ステップ1113では、変数nextSPSは再びchannel0に等しい値に設定され、ここで、channel0はSPS210を識別する。ステップ1114では、変数currentSPSはnextSPS値に等しい値に設定される。ステップ1115では、アクティブ制御局201はsetSPSawakeメッセージユニットを送信することにより、currentSPS値によって識別されるSPS例えばSPS210のスリープ状態を解除する。setSPSawakeメッセージの検出に応えて、識別されたSPS210はスリープ解除され、このSPSのためのセットアッププロセスを継続する。現在のSPS210のスリープ解除後に、アクティブ制御局201はsetupmsg2SPSメッセージユニットを現在のSPSに送信するステップ1116。図9Cによって示されているように、setupmsg2CSメッセージユニットは、第1、第2及び第3のメッセージフィールドmunit32255においてセットアップデータを含む。セットアップデータは、サンプリングクロックレート、サンプルの解像度、サンプルのタイミングサンプルクロックサイクルの遅延及びプレイバックストリームを復号するための実行ファイルオブジェクトを含む。全セットアップデータがアクティブ制御局201から現在のSPS210に送信されるまで、ステップ1117からステップ1116に戻るループ繰り返し処理が行われる。全セットアップデータがアクティブ制御局201から現在のSPS210に送信された後ステップ1117、Yes分岐、アクティブ制御局はsetSPSsleepメッセージユニットを現在のSPS210に送信するステップ1118。このsetSPSsleepは、currentSPS値に関連付けられたチャネル例えばSPS210を識別するSPSchannel識別子を含む。setSPSsleepメッセージの検出に応えて、この現在のSPS210はスリープに設定される。アクティブ制御局201は、変数currentSPSによって識別されたSPSがシステム200の最後のチャネルを表すかどうかを判定する。否の場合、処理はステップ1114に戻り、ここで変数currentSPSはシステムの次のSPSを識別するために更新される。その後、ステップ1115~1118が繰り返され、アクティブ制御局201は上述した方法で次のSPSにセットアップデータを提供する。アクティブ制御局201が、全SPS210~217のためにセットアップデータを送信したとき、CSはsetSPSawakeメッセージユニットを送信するステップ1120。ステップ1120中に送信されたsetSPSawakeメッセージユニットのSPS識別フィールドは、全SPS210~217を識別する。このsetSPSawakeメッセージの検出に応えて、全SPS210~217はスリープ解除され、それによってシステム200をプレイバックモードに設定する。この時点でセットアップルーチンは完了するステップ1121。ここで、制御局ハンドオーバプロセスこれはCSハンドオーバ論理回路205によって実現されるについて説明する。任意の所与の時間に、アクティブ制御局は1つしかない。上述した例では、制御局201がアクティブ制御局であると仮定される。他の制御局例えば制御局202は、アクティブ制御局の役割が移譲されることを要求することができる。これは、制御局ハンドオーバプロセスを通じて達成される。互いに異なる制御局間でのハンドオーバのために必要な通信は、別のチャネル例えばWiFiまたはブルーツースを介して行われる。図12は、本発明の一実施形態に係る制御局ハンドオーバプロセス205の流れ図である。ステップ1201では、現在のアクティブ制御局201と次のアクティブ制御局202との間に例えばWiFiまたはブルーツースを介して通信リンクが確立される。次のアクティブ制御局202は、次に、アクティブ制御局として後を引き継ぐための要求を送信するステップ1202。それに応じて、現在のアクティブ制御局201は、プレイバックシステムの動作を一時停止しステップ1203、プレイバックシステム状態情報を次のアクティブ制御局202に転送しステップ1204、cshandoverメッセージユニットをSPS210~217に一斉送信するステップ1205。図9Dによって示されているように、cshandoverメッセージユニットは、3つのメッセージフィールド全てmunit31255においてsyncデータを含む。メッセージユニットを誤って復号する可能性が最小限に抑えられることを保証するために、特別なsyncdataパターンが使用される。cshandoverメッセージユニットは、現在のアクティブ制御局201がその責任を放棄する前に現在のアクティブ制御局201によって送信される最後のメッセージである。cshandoverメッセージユニットの検出に応えて、SPS210~217は、同期クロックをリセットし、制御局201への同期を再確立し、その後スリープに入ることになる。現在のアクティブ制御局201は、その後、信号を次のアクティブ制御局202に送り、アクティブ制御局として後を引き継ぐように次のアクティブ制御局に指示するステップ1206。次のアクティブ制御局は、現在のプレイバックシステム状態と、新しいアクティブ制御局の新しい要件もしあればとに基づいて、プレイバックシステム200を再起動する方法を決定することになるステップ1207。新しいアクティブ制御局220は、単にSPS210~217をスリープ解除することが可能である場合がある。代わりに、新しいアクティブ制御局202は、図10に関連して上述したようにプレイバック実行ファイル702を再生する必要がある場合がある。ここで、プレイバックタイミング制御について説明する。図13は、SPL221のブロック図であり、プレイバックタイミング制御論理回路706をさらに詳細に示している。プレイバックタイミング制御論理回路706は、クロック制御回路1302、位相ロックループ1303、サンプルクロック発生器1304及び遅延論理回路1305を含む。アクティブ制御局201は、startsampleclkメッセージユニットをSPS210~217に送信する。図9Dに示されているように、startsampleclkメッセージユニットは、第1のメッセージフィールドmunit3279においてサンプルクロック周波数値と、第2及び第3のメッセージフィールドmunit80255においてsyncdataとを含む。サンプルクロック周波数値は、SPS210~217内で発生するサンプルロックの周波数を指定する。各SPS内で、クロック制御回路1302は、受信されたstartsampleclkメッセージユニットを検出する。それに応じて、クロック制御回路1302によって、サンプルクロック発生器1304は、startsampleclk信号のサンプルクロック周波数値によって指定される周波数を有するサンプルクロック信号を発生させる。サンプルクロック発生器1304は、送受信機700の導体クロック信号を数えることによって、デジタル的にサンプルクロックを発生させる。すなわち、サンプルクロック発生器1304は、数えられた導体クロック信号のMサイクルごとに、サンプルクロックを切り替える。上述したように、送受信機700の導体クロック信号は、アクティブ制御局201内の送受信機600の導体クロック信号に同期される。図示されている実施形態では、クロック制御回路1302は、送受信機700の導体クロック信号をサンプルクロック発生器1304に提供する。startsampleclkメッセージユニットの受信に応えて、クロック制御回路1302はまた、送受信機700によって受信された以後のメッセージユニットのビーコンを検出し、サンプルクロック信号をこれらのビーコンに同期させる。このようにして、SPS210~217の送受信機700は、アクティブ制御局201の送受信機600に位相ロックされ、さらに、アクティブ制御局201から一斉送信されたメッセージユニットのビーコンにコードロックされる。SPS210~217内のサンプルクロックは同時に開始し、アクティブ制御局201とSPS210~217との間の位相ロック機構が導体クロックのクロックドリフトを妨げるので、ひいてはサンプルクックのクロックドリフトも必然的に妨げられる。プレイバックシステム同期遅延論理回路1305は、サンプルクロック信号に遅延を導入し、それによって遅延サンプルクロック信号を生じさせる。導入される遅延は、サンプルクロック信号のサイクル数に等しい。全SPS210~217にわたって出力サンプリング後述が同期されるように、各SPS210~217内で特定の遅延サイクル数が個別に選択される。各SPSによって導入される遅延は、セットアップルーチン中にアクティブ制御局201によって確立される。より具体的には、アクティブ制御局201から以前にダウンロードされたプレイバック実行ファイル702は、遅延論理回路1305によって導入される遅延を定義する情報を含む。このようにして、各SPS内での出力サンプリングは、サンプルクロックの或るサイクルの一部内に同期している。再生を実現するために、アクティブ制御局201は、playbackmsgメッセージユニットをSPS210~217に送信する。全SPS210~217は、同じplaybackmsgメッセージユニットを受信する。playbackmsgの始まりは、所定の擬似ランダムコードから構成されているビーコンを含む。図9cに示されているように、playbackmsgメッセージユニットの3つのメッセージフィールドは、プレイバックデータplaybackmaterialのコンテンツを含む。プレイバックデータの層及びフォーマットは、プレイバックメッセージ及びプレイバック実行ファイル702の上のソフトウェア層によって定義される。上述したように、アクティブ制御局201内の送受信機600及びSPS201~217内の送受信機700は全て、導体クロック信号の周波数例えば、説明されている実施形態では250MHzで動作する。導体クロックは、playbackmsgメッセージユニットをプレイバックストリームバッファ703内にクロックするために使用される。SPSにおいてプレイバックプロセッサクロックを発生させるために、個別のPLL1303が使用される。このクロックは、要求される復号及び信号処理をタイムリーに終了するための演算能力を満たすように調整することができる。説明されている例では、プレイバックプロセッサクロックは、約500MHz~2GHzの範囲の周波数を有する。プレイバックプロセッサクロックは、プレイバックストリームバッファ703からプレイバックプロセッサ704へプレイバックデータをクロックするために使用される。プレイバックプロセッサ704は、プレイバックプロセッサクロックに応えて動作する。より具体的には、プレイバックプロセッサ704は、SPSに関連付けられたチャネルのためのデジタルプレイバックデータを抽出するために、playbackmsgメッセージユニットのメッセージフィールドに含まれるプレイバックデータを処理する。プレイバックプロセッサ704は、以前に構成されたプレイバック実行ファイル702によって提供された情報に従って動作することに留意されたい。プレイバック実行ファイル702は、プレイバックストリームを処理するために使用されるプログラムである。プレイバック実行ファイル702及びプレイバックストリームは、完全にフレキシブルかつプログラム可能である。したがって、十分な処理能力及び処理機能を備えた任意のプログラム可能装置を用いて、プレイバックプロセッサ704を実装することができる。プレイバックプロセッサ704は、ARMプロセッサ、PPC、またはカスタム命令セットプロセッサであってよい。CLSを何らかの特定の命令セットアーキテクチャに結び付ける必要がないことに留意されたい。したがって、本実施形態がソフトウェア層及びAPIを含むのはそういう理由からである。このソフトウェアインフラストラクチャは、高度にプログラム可能であり、プロセッサアーキテクチャに依存していない。プレイバックプロセッサ704は、抽出されたプレイバックデータを出力サンプルバッファ705に送信する。デジタルプレイバックデータは、プレイバックプロセッサクロックに応えて、出力サンプルバッファ705内にラッチされる。プレイバックプロセッサクロックはサンプルクロックより高速であることに留意されたい。プレイバックプロセッサ704は、サンプルクロックの1サイクル当たり1サンプルを生成するのに十分なスループットを有する。処理ステップのデータ依存性及び、再生実行ファイルとローカル処理ルーチンとの間でのソフトウェア分割の容易さのおかげで、ユーザは、必要に応じて、SPS内でかなりのローカル処理を実行するために信号プロセッサのパイプラインを実装することができる。この場合、SPSはサンプルクロックの1サイクル当たり1サンプルを生成するが、初期サンプルを作成するために2サンプルクロックサイクル以上掛かることがある。別の実施形態では、プレイバックプロセッサ704は、比較的低速で動作するがより多くの計算資源を含む例えばFPGA装置等の装置とともに実装されることができる。CLS200は、任意のSPSが、1サンプルクックサイクル当たり1サンプルを生成するスループットを維持できる限り、サンプルを作成するために1サンプルクロックよりも長く掛かることを許容する。出力サンプルバッファ705は、全てのチャネルが同期されるように、より高速のSPSを遅延させるのに十分なエントリを提供するように設計される。プレイバックデータは、遅延サンプルクロック信号に応えて、出力サンプルバッファ705からD/A変換器710~711を通って転送される。図14は、本発明の一実施形態に係る、認知ラウドスピーカシステム200のソフトウェアアーキテクチャ1400を示すブロック図である。アクティブ制御局201内のソフトウェアアーキテクチャ1400は、システムプラットホーム1401と、構成ドライバ1402と、プレイバック実行ファイルコンパイラ1403と、仮想コーダ1404と、プレイバックストリームジェネレータ1405と、プレイバック制御マネージャ1406とを含む。システムプラットホーム1401は、アクティブ制御局201のベンダーによって提供される。制御局ソフトウェアは、このプラットホーム1401の上部でランする。構成ドライバ1402は、SPSの構成を制御するためにソフトウェアを含む。これは、アクティブ制御局201の任意選択の機能である。一実施形態では、構成ドライバ1402は標準的な構成を実装しているので、任意の制御局が任意のSPSを構成することができる。別の実施形態では、構成ドライバ1402は、ベンダー/メーカー固有の構成を実装することができる。この実施形態では、任意のSPSメーカーによって提供されるソフトウェアを制御局構成マネージャに統合することができるように、ソフトウェアインタフェースが標準化されている。プレイバック実行ファイルコンパイラ1403は、上述した方法でプレイバックシステムのセットアップルーチン及びハンドオーバルーチンを制御する。プレイバック実行ファイルコンパイラ1403は、以下の入力に基づいて、すなわち、セットアップルーチンまたはハンドオーバルーチン中に収集される全SPSからの構成及び要件、プレイバックシステムの仮想コーダ層及びプレイバックソースフォーマットに基づいて、SPS210~217のプレイバック実行ファイルをコンパイルする。プレイバックストリームジェネレータ1405は、SPS210~217へのプレイバックストリームの配信を制御する。プレイバックストリームジェネレータ1405は、プレイバックシステムの仮想コーダ層及びプレイバックソースに基づいて、プレイバックストリームを生成する。プレイバック制御マネージャ1406は、プレイバックシステムを制御するためのユーザインタフェースを提供する。プレイバック制御マネージャ1406は、ユーザ制御を実現するために、SPS210~217への制御メッセージを生成する。プレイバック実行ファイル内にフックが提供され、これらの要求を処理する。例えば、プレイバック制御マネージャ1406はctrlmsgメッセージユニットを送信し、ctrlmsgメッセージユニットは、第1及び第3のメッセージフィールドにおいてsyncdataと、第2のメッセージフィールドにおいて制御メッセージとを含む図9Dを参照。制御メッセージは、プレイバックシステムプレイバックシステムID及びSPSSPSIDを識別する。この制御メッセージは、例えば、プレイバックシステムの音量、タイミング遅延及び他の動作を制御する。標準的な制御メッセージは、例えば、コンテンツインジケータの開始、コンテンツ識別子の終了、音量制御、タイミング遅延制御、スリープ制御及びシャットダウン制御を含むことができる。各SPS210~217内のソフトウェアアーキテクチャ1400は、出力サンプルバッファソフトウェア1411と、実行パイプライン1412と、命令セットアーキテクチャ113と、API1414と、SPSリアルタイムオペレーティングシスエムRTOS1415と、仮想デコーダ1416と、ローカル信号処理ソフトウェア1417と、プレイバック実行ファイルソフトウェア1418と、SPSファームウェア1419と、SPS特性及び構成ソフトウェア1420とを含む。出力サンプルバッファソフトウェア1411は、認知ラウドスピーカシステム200と諸ラウドスピーカとの間のインタフェースを提供する。実行パイプライン1412は、計算のために、パイプライン、メモリ及びコプロセッサを含む。命令セットアーキテクチャISA1413は、実行パイプライン1412の命令セットである。本発明の一態様に従って、認知ラウドスピーカシステム200のアーキテクチャは、いかなる特定のISAにも結び付けられていない。認知ラウドスピーカAPI1414は、パワーPCpowerPC、ARM、インテルIntelまたはカスタムISA等の多様なISAによって認知ラウドスピーカシステム200を実装することができるようにする標準化ソフトウェアインタフェースである。SPSRTOS1415は、SPSの構成、セットアップ、再生及びユーザ制御を制御するためのオペレーティングシステムである。ローカル信号処理ソフトウェア1417は、SPSに固有であり、補正及び補償、等化及びクロスオーバの各機能を実行する。各SPS内のローカル信号処理ソフトウェア1417は、アクティブ制御局201が全てのチャネルのサンプリングタイミングを同期させることができるように、そのローカル処理の実行時間を、SPS特性及び構成ソフトウェア1420に知らせる。プレイバック実行ファイルソフトウェア1418は、セットアップルーチンまたはハンドオーバルーチンの間にアクティブ制御局201からダウンロードされるプレイバック実行ファイルを含む。各SPSは、アクティブ制御局201によって一斉送信される1つのプレイバックストリームを処理するために、自身のバージョンのプレイバック実行ファイルを有する。SPSファームウェア1419は、OSコード、構成及び特性を記憶するために、不揮発性記憶装置を含む。SPS特性及び構成ソフトウェア1420は、CSがプレイバックシステムをセットアップするために、セットアップルーチン中にアクティブ制御局201に転送されるべき情報を含む。以下の情報、すなわち、チャネルID、次のチャネルID、プレイバックシステムID、プレイバックシステム内のSPSの座標、SPSの機能例えば、解像度、実行パイプライン速度、APIプロファイル、及びローカル信号処理のタイミング要件が必要である。コーダの仮想化は、アクティブ制御局201内の仮想エンコーダ符号器1404及びSPS内の仮想デコーダ復号器1416によって実現される。コーダの仮想化により、プレイバックソースの形式に関係なく、仮想エンコーダ1404/仮想デコーダ1414によって定義されるフォーマットで再生を行うことができる。このソフトウェア層は、認識ラウドスピーカAPI1414の上に構築される。仮想エンコーダ1404は、SPSのために仮想デコーダをコンパイルし、種々のプレイバックフォーマットを仮想コードフォーマットに変換する。これらの役割は、リアルタイムで、または前処理中に行うことができる。仮想デコーダ1416は、セットアップルーチンの一部としてアクティブ制御局201からSPSにダウンロードされる。仮想デコーダ1416は、アクティブ制御局201によって送信されたプレイバックストリームを復号する。コーダの仮想化の論理的根拠について以下に説明する。第1に、コーダの仮想化は信号処理の複雑さを減らす。LPCMは時間領域コードであるが、MP3、AAC、及びAC3は周波数領域コードである。ローカル信号処理及び室内音響処理は、主に周波数領域において実行される。したがって、プレイバック実行ファイルを特定のフォーマットにハードコーディングすることは、異なるフォーマットを再生のために有効にしなければならない場合に、不必要なステップ及び変換を要求することになる。さらに、コーダの仮想化は、システム200内におけるフォーマット独立性を提供する。新しいフォーマットを有するデジタルストリームの再生を有効にするために、仮想エンコーダ1404内に新しい変換器があれば十分である。さらに、コーダの仮想化は、より効率的なセットアップルーチン及びハンドオーバルーチンを提供する。さらに、コーダの仮想化は、アクティブ制御局201とSPSとの間のソフトウェア層が認知ラウドスピーカシステム200の展開を促進できるように、このソフトウェア層の標準化を容易にする。さらに、コーダの仮想化は、ソース復号処理とローカル信号処理との統合を容易にする。コーダの仮想化はまた、コーダをソースのコンテンツに対して最適化させる。例えば、ハイファイステレオクラシック/ジャズの再生のため及び7.1サラウンドサウンド再生のために、互いに異なる仮想コーダを実装することができる。最後に、ソフトウェアコーダの費用はハードウェアコーダの費用よりもはるかに安価であるため、コーダの仮想化は費用の節減になる。アクティブ制御局201においては1つのソフトウェアコーダしか必要とされないことに留意されたい。認知ラウドスピーカシステム200は、従来のデジタル音声システムを以下のように改良する。認知ラウドスピーカシステム200は、改良されたシステム分割を提供する。すなわち、システム200により、全てのラウドスピーカ固有の動作をラウドスピーカ自体に押し戻すことができる。プレイバック機能は主に、任意の互換性のあるCS装置からのソフトウェアによって制御される。これらのシステム構成要素間の通信及び同期は、単純な無線インタフェースを通じて行われる。その結果、CS-SPSモデルは、ラップトップ、携帯電話またはテレビ等の、任意の互換性のある大量に出回っている装置がプレイバックシステムを直接的に駆動することを可能にする。さらに、ソフトウェアによって定義されたデコーダはコード化の仮想化を可能にし、それにより、任意のデジタルフォーマットを有する音声がシステム200によって再生される。新しいコード化フォーマットを実装するためにシステムハードウェアを変更する必要はない。さらに、各ラウドスピーカは、自立したシグナルプロセッサ兼プレイバック装置である。その結果、メーカーは、製品の価格及び性能を最適化するツールをより多く有する。さらに、各ラウドスピーカSPSは自立したシグナルプロセッサ及びプレイバック装置であるため、ラウドスピーカをプレイバックシステム200に容易に追加及び削除することができる。ユーザの視点から見れば、認知ラウドスピーカシステム200は、家庭で任意の装置から任意のコンテンツを再生する自由を提供する。例えば、ラップトップコンピュータから最高級のクラシック音楽を再生することができ、セットトップボックスまたはテレビから10.2サラウンドサウンド映画を再生することができる。システム200はまた、低い価格で高い性能を提供する。各ラウドスピーカは、信号経路全体に対して高度に最適化されており、それによって音質を改善し、価格を大幅に引き下げる。高価で複雑なAVプロセッサ及び関連する増幅回路を含む必要はない。新しいコード化規格が出現したときには、従来のAVプロセッサは時代遅れになることに留意されたい。システム200ではそれが当てはまらず、コーダの仮想化がこの陳腐化を解消する。認知ラウドスピーカシステム200はまた、プレイバックシステムの信号経路全体で1つのD/A変換という利点を持つので、音質の劣化が少ない。さらに、システム200は、ハイエンドのラウドスピーカとローエンドのラウドスピーカとを、これらのスピーカがどのように駆動されるかを気にせずに、同じシステム200内に混在させることができる。システム200は、高度に最適化された信号処理が、音声及び経験を最適化できるようにする。認知ラウドスピーカシステム200は、ラウドスピーカSPSをアクティブ制御局に接続するためにスピーカケーブルを必要としないため、システム200を含む部屋はよりきれいに見えるであろう。このことは、将来のホームシアターシステム例えば、ステレオ5.1、7.1、10.2、22.2においてラウドスピーカの数が増加するときに、特に当てはまる。さらに、システム200は、単にシステム内のソフトウェアを修正するだけで、より多くの機能の導入及びユーザインタフェースの改善を可能にする。認知ラウドスピーカシステム200は、以下の理由で実行可能な技術である。第1に、トランジスタが安く高速になっている。さらに、システム200内でより多くのチャネルを処理するために必要とされる演算能力は、チャネル数により調整される。さらに、システム200内での音声コード化のために適度なビットレート例えば、24ビット×192kHzのステレオLPCMコード化の場合、10Mb未満があり、チャネル数が増加するときにチャネルをマトリックス化することによって、ビットレートは大幅に増加しない。さらに、システム200は、適度な計算要件例えば、プレイバックプロセッササイクルの半分を使用できると仮定して、2GHzの処理クロック及び192kHzのサンプリングクロックを実装するとき、1サンプルあたり5000命令サイクルを有する。さらに、システム200の電力消費は、二次的な問題である。さらに、システム200は、良好な無線インタフェース環境を実現し、既存の無線技術によって容易にサポートされることができる。単一ソースの一斉送信及び二地点間通信は非常に単純であるので、システム200では複雑なMAC層は必要ない。システム200内のプレイバックは一時データから構成されているため、セキュリティは気にしなくてよい。ラウドスピーカはリスニングルーム内に最もありそうな固定物であり、よって移動性は問題ではない。SPSが別の部屋または非常に奇妙な形状の室内に設置されることは考えにくいため、マルチパス干渉は軽微なはずである。プレイバックシステム200は屋内に配置される可能性が最も高く、プレイバックシステム構成部品は恐らく互いから5メートル以内に位置する。認知ラウドスピーカシステム200は、メーカーがより低価格かつ高性能のメディアデバイスを製造することを可能にする。システム200は、音声標準及びコード化に関して中立的である。システム200は、相互接続のためのワイヤを100含まず、他の無線システムと共存することができる。システム200は、任意の互換性のあるプレーヤーにシームレスに接続することができ、ソース、ラウドスピーカ数、ラウドスピーカの変更を更新するのが容易であり、ハイファイ音楽及びマルチチャネルサラウンドサウンド再生の両者に最適な性能を提供する。システム200は、1つの計算フレームワーク内で、ソース復号、室内音響等化及びラウドスピーカ特性補償の統合を可能にする。システム200はまた、音源配給業者が音質のためにコード化を最適化できるようにする。システム200はまた、ビデオまたは他の媒体を再生システムに組み込むことを可能にする。システム200は、以下の理由で、従来のシステムよりもはるかに費用効果が高い。音声コード化は音声信号を複数の周波数バンドに分離するので、クロスオーバ回路を有する必要がない。ドライバ装置の不足、ラウドスピーカと電力増幅器とのインピーダンスマッチング、またはエンクロージャの特性は、DSPアルゴリズムによって補正されることができる。部屋の特性及びチャネル配置は、各SPSにおけるローカル信号処理によって補償されることができる。この種の最適化に必要なのは、各チャネルのためのシグナルプロセッサ、ラウドスピーカにおかる各シグナルプロセッサがサンプルクロック内に同期されること、各ラウドスピーカモデルまたはスピーカの各コピーに対する固有パラメータ、部屋の特性及び配置特性のための各チャネルに対する固有パラメータである。本発明についていくつかの実施形態と関連して説明してきたが、本発明は、開示されている実施形態に制限されるものではなく、多様な変形形態が可能であることが理解されよう。そして、そのような変形形態は当業者に明らかであろう。したがって、本発明は、以下の特許請求の範囲によってのみ制限される。