(57)【特許請求の範囲】
【請求項１】
コンピュータなどのホスト・データ・ソース（１）内の複数のチャネルのためにデジタル音声ストリームを生成するステップであって、前記音声ストリームが複数の連続サンプルによって形成されるステップと、
前記ホスト・データ・ソース（１）によって送信された前記デジタル音声ストリームを、複数のデジタル受信機（２）によってデジタル・データ伝送ネットワークを通じて受信するステップであって、前記複数のデジタル受信機（２）の各々は、クロックを有するマイクロコントローラと、前記デジタル音声ストリームの音声信号を生成するための手段とを含む、ステップとを備える、デジタル・サウンド再生システム内のデータ転送方法であって、
前記ホスト・データ・ソース（１）が、同期サンプル（６０）を少なくとも１つの受信機（２）に繰り返し送信することにより前記受信機の同期を開始し、
前記受信機（２）が応答サンプル（６１）によって前記同期サンプル（６０）に応答し、
前記ホスト（１）が、それぞれの受信機（２）についてのレイテンシ（Ｔ）を、前記同期サンプル（６０）の送信時間（Ｔｈ１）、前記応答サンプル（６１）の受信時間（Ｔｈ２）、および前記受信機（２）の処理時間（Ｔｔ２−Ｔｔ１）に基づいて計算し、
前記処理時間は、前記受信機が前記同期サンプルの受信と前記応答サンプルの送信との間で費やした時間であり、
前記ホスト（１）は、前記受信機（２）が前記同期サンプル（６０）を受信した時（Ｔｔ１）のホスト・クロックの推定とともに前記計算したレイテンシの情報を前記受信機（２）に送信し、
この情報に基づいて、前記受信機（２）がそのクロックの機能を調整し、
上記の同期ステップが連続的に繰り返されることを特徴とする、方法。
【請求項２】
前記デジタル音声ストリームが無線で前記受信機（２）に伝送されることを特徴とする、請求項１に記載の方法。
【請求項３】
前記受信機（２）の前記マイクロコントローラの同期を取得するためにローカル・クロック・レートを設定することによって前記受信機（２）がクロック差分を補正することを特徴とする、請求項１または２に記載の方法。
【請求項４】
前記ホスト（１）が前記計算されたレイテンシ（Ｔ）を参照レイテンシと比較し、前記計算されたレイテンシ（Ｔ）が前記参照レイテンシよりも大きい場合、前記受信機（２）に調整情報が全く送信されず、前記参照レイテンシを再定義するために前記ホストがルーチンを開始することを特徴とする、請求項１、２、または３に記載の方法。
【請求項５】
前記音声データ・ストリームへ／からサンプルを追加または削除すること、およびそれに従ってクロック値を調整することによって前記クロック差分が補正されることを特徴とする、請求項４に記載の方法。
【請求項６】
複数のチャネルのためにデジタル音声ストリームを生成するためのコンピュータなどのホスト・データ・ソース（１）であって、前記音声ストリームが複数の連続サンプルによって形成されるホスト・データ・ソースと、
前記ホスト・データ・ソース（１）のための伝送パス（３）と、
前記伝送パス（３）を介して前記ホスト・データ・ソースと通信できる複数のデジタル受信機（２）と、を備えるデジタル・サウンド再生システムのためのデータ転送システムであって、
前記受信機（２）は、前記ホスト・データ・ソース（１）によって送信された前記デジタル音声ストリームを受信するための手段と、クロックを有するマイクロコントローラと、前記デジタル音声ストリームの音声信号を生成するための手段とを有し、
前記ホスト・コンピュータ（１）が、同期サンプル（６０）を少なくとも１つの受信機（２）に繰り返し送信することにより前記受信機の同期を開始するための手段を有し、
前記受信機（２）が応答サンプル（６１）によって前記同期サンプル（６０）に応答するための手段を有し、
前記ホスト（１）が、
前記同期サンプル（６０）の送信時間（Ｔｈ１）、前記応答サンプル（６１）の受信時間（Ｔｈ２）、および前記受信機（２）の処理時間（Ｔｔ２−Ｔｔ１）に基づいてそれぞれの受信機（２）についてのレイテンシ（Ｔ）を計算するための手段と、
前記受信機（２）が同期サンプル（６０）を受信した時（Ｔｔ１）のホスト・クロックの推定とともに前記計算されたレイテンシ（Ｔ）の情報を前記受信機（２）に送信するための手段であって、前記処理時間は、前記受信機が前記同期サンプルの受信と前記応答サンプルの送信との間で費やした時間である、手段とを有し、
それによって、前記受信機（２）がこの情報に基づいてそのクロックの機能を調整するための手段を含み、
前記システムが上記の同期ステップを連続的に繰り返すための手段を含むことを特徴とする、システム。
【請求項７】
前記デジタル音声ストリームを前記受信機（２）に無線で伝送するための手段を含むことを特徴とする、請求項６に記載のシステム。
【請求項８】
前記受信機（２）の前記マイクロコントローラのクロック周波数を設定することによって前記受信機（２）が前記クロック差分を補正するための手段を含むことを特徴とする、請求項６または７に記載のシステム。
【請求項９】
前記ホスト（１）が前記計算されたレイテンシ（Ｔ）を参照レイテンシと比較するための手段を含み、前記計算されたレイテンシ（Ｔ）が前記参照レイテンシよりも大きい場合、前記受信機（２）に調整情報が全く送信されず、前記参照レイテンシを再定義するために前記ホストがルーチンを開始することを特徴とする、請求項６、７、または８に記載のシステム。
【請求項１０】
前記システムが、前記音声データ・ストリームへ／からの追加または削除することによって前記クロック差分を補正するための手段を含むことを特徴とする、請求項６乃至９のいずれか１項に記載のシステム。
【請求項１１】
コンピュータなどのホスト・データ・ソース（１）内にデジタル音声ストリームを生成するステップであって、前記音声ストリームは、複数の連続的なサンプルにより形成されている、ステップと、
前記ホスト・データ・ソース（１）によって送信された前記デジタル音声ストリームを、デジタル・データ伝送ネットワークを通じて複数のデジタル受信機（２）によって受信するステップであって、前記複数のデジタル受信機（２）の各々が、クロックを有するマイクロコントローラと、音声信号を生成するための手段とを含み、前記複数のデジタル受信機（２）があらかじめ定められた方法でグループ化（４）される、ステップとを備えるデジタル・サウンド再生システム内の同期方法であって、
前記ホスト・データ・ソース（１）が、前記複数の受信機のうちの１つのグループに対して同期サンプル（６０）を繰り返し送信することにより前記複数の受信機の同期を開始し、
前記受信機（２）のグループが応答サンプル（６１）によって前記同期サンプル（６０）に応答し、
前記ホスト（１）が、前記受信機のグループのうちのそれぞれのサンプルおよびそれぞれの受信機（２）についてのレイテンシ（Ｔ）を、前記受信機のグループの前記それぞれの受信機の前記同期サンプル（６０）の送信時間（Ｔｈ１）、前記応答サンプル（６１）の受信時間（Ｔｈ２）および処理時間（Ｔｔ２−Ｔｔ１）に基づいて計算し、
前記処理時間は、前記受信機のグループの各受信機が前記同期サンプルの受信と前記応答サンプルの送信との間で費やした時間であり、
前記計算されたレイテンシの時間（Ｔ）に基いて、前記ホスト（１）は、参照レイテンシ値を統計的に形成し、前記レイテンシの時間の大部分は、前記参照レイテンシ値以下であり、
前記ホスト（１）は、前記受信機（２）が同期サンプル（６０）を受信した時（Ｔｔ１）のホスト・クロックの推定とともに前記計算したレイテンシ（Ｔ）の情報を前記受信機（２）に送信することを特徴とする、方法。
【請求項１２】
前記デジタル音声ストリームが前記受信機（２）に無線で伝送されることを特徴とする、請求項１１に記載の方法。
【請求項１３】
前記測定および計算されたレイテンシ値の少なくとも８０％が前記参照レイテンシを下回るように前記参照レイテンシが設定されることを特徴とする、請求項１１または１２に記載の方法。
【請求項１４】
前記測定および計算されたレイテンシ値の少なくとも５０％が前記参照レイテンシを下回るように前記参照レイテンシが設定されることを特徴とする、請求項１１乃至１３のいずれか１項に記載の方法。
【請求項１５】
前記処理時間（Ｔｔ２−Ｔｔ１）と前記送信時間（Ｔｈ１）との合計から、前記受信時間（Ｔｈ２）を減算することにより、往復レイテンシ値を計算するステップをさらに備える、請求項１１乃至１４のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、請求項１のプリアンブルによるデータ転送方法に関する。
【０００２】
本発明は、データ転送システムにも関する。
【背景技術】
【０００３】
従来技術によれば、デジタル・ネットワーク内のデジタル音声再生のための商業用システムがいくつかある。たとえば、現在は以下の商品が利用可能である。Ｇｉｂｓｏｎ  ＭａＧＩＣ（商標）ネットワーク、Ｃｏｂｒａ  Ｎｅｔ（商標）、ＥｔｈｅｒＳｏｕｎｄ（商標）、Ｌｉｖｅｗｉｒｅ（商標）、ＭＡＤＩ（商標）、およびその他が、デジタル・ラウドスピーカまたはサウンド再生システムに音声データがストリーミングされうる他のシステムを表している。基本的にこれらのシステム内の再生品質は家庭用にはかなり良いが、業務用にはデジタル転送技術がいくつかの問題を引き起こす。
【０００４】
従来技術によれば、情報を受信機にバッファすること、および受信機からの情報のアンロードを制御することによって上述の問題は解決されている。
【０００５】
より詳細には、イーサネット（登録商標）接続を介してクロックを同期させるために、ネットワーク・パケットの正確な移動時間が測定されなければならない。これは２つの理由で困難である。第１に、標準的なネットワーク・ソケットＡＰＩはオペレーティング・システムの状態によって、ユーザ・モード送信機能を要求することとパケットの実際の出力との間にランダムなレイテンシをもたらすからである。同じことがパケットの受信にも当てはまり、ネットワークからのパケットの受信と、ＵＤＰソケットを聞いているユーザ・モード処理へのそのパケットの表示との間の時間は正確には決定できない。
【０００６】
第２に、パケットがネットワークを通じて移動する際、パケットは１つあるいは複数のハブ、スイッチ、またはルータを通過することになる。それぞれの装置はネットワークの負荷および装置の状態によってパケットをランダムに遅延させる。これにより、移動時間に予測不能なランダムなレイテンシがもたらされる。測定すると、大部分のパケットにとってレイテンシはほぼ一定であるが、いくつかのパケットは数百ミリ秒またはそれ以上遅延される場合があることが分かる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、上述の最新技術のいくつかの欠点を排除し、またこの目的のためにサウンド再生システム内のデータ転送のための全く新しいタイプの方法および装置を作成するものである。
【課題を解決するための手段】
【０００８】
本発明は、パケットの送受信のための正確な時間を決定できるように、ネットワーク・プロトコル・スタック内にネットワーク・パケット・タイムスタンピングを実装することに基づく。好ましい実施形態では、受信機ソフトウェアはできる限り正確な動作のためにイーサネット（登録商標）・ドライバ（これのためにソース・コードを有する）内に直接タイムスタンピングを実装する。
【０００９】
第２の問題は、ホストと受信機との間の往復時間の決定を含むクロック同期を実行すること、およびレイテンシが測定された最小レイテンシから許容範囲内である場合のみ同期を実行することだけによって解決されることが好ましい。
【００１０】
より詳細には、本発明による方法は請求項１の特徴部分で述べられたことを特徴とする。
【００１１】
同様に、本発明によるシステムは請求項６の特徴部分で述べられたことを特徴とする。
【００１２】
本発明を使用して多数の諸利点が得られる。
【００１３】
本発明は、複数のラウドスピーカで同時に再生されるべき複数の音声チャネルの音声情報を含むデータ・ストリームが同じデータ転送パスに沿って送信されるマルチ・チャネル・サウンド再生システムに特に適している。
【００１４】
本発明による方法を使用して、スタートアップ手順において統計的レイテンシを定義して、この値をさらなる連続レイテンシ測定のための参照レイテンシとして使用することができる。
【００１５】
これらの２つの方法によって、音声再生システムはネットワークの負荷に適合して、負荷変動ケースのほとんどにおいて高品質で同期されたマルチ・チャネル音声再生を維持するために適切に調整することができる。
【００１６】
以下では例を使用して、および添付の図面を参照して本発明を考察する。
【図面の簡単な説明】
【００１７】
【図１】本発明に関して使用できる、デジタル音声システムのブロック図である。
【図２】本発明による、あるネットワーク管理ホスト・システムのブロック図である。
【図３】本発明による、ある受信機管理システムのブロック図である。
【図４】本発明による方法のタイミング図である。
【図５】ホストと受信機のクロックとの関係を示す図である。
【図６】本発明による受信機内の同期プロトコルの流れ図である。
【図７】本発明によるホスト内の同期プロトコルの流れ図である。
【発明を実施するための形態】
【００１８】
本発明では、参照番号に関して以下の専門用語が使用される。しかし、このリストは特に図７〜１１のブロック図および流れ図に関しては網羅的なものではない。
【００１９】
１  ホスト、またはホスト・データ・ソース
２  受信機、デジタル・ラウドスピーカ
２ａ  無線受信機
３  スイッチ、ネットワーク
４  受信機のグループ
１０  ハード・ディスク
１２  仮想ソフトウェア音声アダプタ（ドライバ）
１３  音声データ・マネージャ
１４  同期マネージャ
１５  ネットワーク・インターフェース
１６  ネットワーク・タイムスタンピング
１７  システム・クロック
２０  ネットワーク・インターフェース
２２  タイマ・ハードウェア
２３  調整可能な発振器
２４  ラウドスピーカ・ネットワーク通信
２５  同期コントローラ
２６  デジタル−アナログ変換
２７  音声ストリーム・コントローラ
２８  データ出力コントローラ
２９  サンプル・レート変換器
６０  同期信号／エコー要求
６１  返信メッセージ／エコー応答
６２  制御コマンド／クロック設定
１５０  無線ローカル・エリア・ネットワーク（ＷＬＡＮ）アクセス・ポイント
【００２０】
以下の本文において、以下の頭字語および略語も使用される。
【００２１】
ＤＨＣＰ  動的ホスト構成プロトコル
ＦＥＣ  順方向誤り訂正
ＧＬＭ  Ｇｅｎｅｌｅｃラウドスピーカ・マネージャ
Ｇｌｏｂａｌ  ＬＳＮＷアドレス  マルチキャスト・アドレス：すべてのグローバルＬＳＮＷトラフィックが送信されるポート。すべての受信機はこのアドレスを聞いてＤＩＳＣＯＶＥＲＹ、ＡＮＮＯＵＮＣＥ、ＧＲＯＵＰおよび他のグローバル・メッセージを受信する。
Ｇｒｏｕｐ  ＬＳＮＷアドレス  マルチキャスト・アドレス：グループ化された受信機のセットに宛てられたすべてのデータが送信されるポート。同じグループに割り振られたすべての受信機が同じグループ・アドレスを聞く。グループ・アドレスはクロック同期メッセージ、ストリーミングされた音声、およびｇｌｍ制御メッセージを受信することになる。
ホスト  ラウドスピーカ・ネットワークを管理し、音声をストリーミングし、ｇｌｍ制御メッセージを送信するアプリケーション。
ＩＰ  インターネット・プロトコル
ＬＳＮＷ  ラウドスピーカ・ネットワーク
マルチキャスト・アドレス  マルチキャスト・グループのメンバーにルーティングされる特別なＩＰアドレス。
受信機  ラウドスピーカをＩＰ−ネットワークに接続するプロセッサ、ネットワーク・インターフェース、およびソフトウェア。
ＵＤＰ  ユーザ・データグラム・プロトコル
【００２２】
さらにこのアプリケーションでは、レイテンシはデータ・サンプルのための２つのネットワーク要素間のネットワーク遅延を意味する。
【００２３】
図１によれば、本発明によるシステムは、システムを制御するための少なくとも１つのホスト・コンピュータ１またはホスト・データ・ソース、およびケーブル、コネクタ、ネットワーク・アダプタ、およびスイッチなどによって形成された信号パス３を備えるデジタル・ネットワーク３を介してホスト・コンピュータ１に接続された、いくつかの受信機１を備える。
【００２４】
言い換えれば、ＬＳＮＷ（ラウドスピーカ・ネットワーク）システムは、それぞれが受信機装置２のセットを管理する１つまたは複数のホスト１で構成される。ホスト１は管理、制御および受信機２への音声データのソースの機能を果たす。ホスト１は、ＩＰネットワークに接続された受信機２を発見すること、受信機のグループ４を管理すること、およびその受信機に音声を提供することを担当する。受信機２はコマンドに応答してホスト１から音声データを再生する。
【００２５】
図２によれば、ホスト・システムは一般的にデジタル音声データが格納されうるハード・ディスク１０を備える。フラッシュ・メモリなどの他のいくつかの不揮発性メディアも使用されうる。デジタル音声データは、音声をネットワーク・ラウドスピーカに転送する仮想ソフトウェア音声アダプタ（ドライバ）１２から取得されうる。音声データ・マネージャ１３はデジタル音声データを取得して、それをストリーミングに適するようにする。ストリーミングおよび同期マネージャ１４は、現在ホストによって制御されているラウドスピーカ装置（受信機）のクロック同期を制御する。ネットワーク・インターフェース１５はホストをコンピュータ通信ネットワークに接続する。ネットワーク・タイムスタンプ・モジュール１６は同期関連ネットワーク・トラフィックの正確なタイミングを管理する。これはホストによって実行された非リアルタイム・オペレーティング・システム（Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘなど）によってもたらされたランダムなレイテンシの影響を減らすために必要である。システム・クロック１７は同期マネージャによって使用された正確な時間情報を提供し、標準的なイーサネット（登録商標）・ネットワーク３はホストと受信機との間のＩＰベースの通信を可能にする。
【００２６】
ホスト・アプリケーションはラウドスピーカ・ネットワーク、ＧＬＭからのルート管理情報、および音声ソフトウェアから受信機への音声を管理する。ホスト・アプリケーションは、ホスト・コンピュータ上のバックグラウンド・デーモン・プロセスとして実行することになる。ウインドウズ・プラットフォーム上では、通常バックグラウンド処理はサービスまたはシステム・サービスと見なされる。
【００２７】
ホストは、まるでＧＬＭソフトウェアがＧＬＭネットワークを使用しているかのようにＧＬＭメッセージを受信機に送受信するために、ＧＬＭソフトウェアにインターフェースを提供する。
【００２８】
ホスト・ソフトウェアは、音声をＬＳＮＷ受信機に送信するために音声ソフトウェアに標準的な音声インターフェースを提供することになる。このようなインターフェースは、たとえばＡＳＩＯおよびＷｉｎｄｏｗｓ（登録商標）オーディオである。音声ソフトウェアはＬＳＮＷ受信機をホストによって提供された仮想音声インターフェース内のチャネルとして認識することになる。
【００２９】
ホストは、必要な仮想音声インターフェースを提供するためにプロプラエタリ・カーネル−モード・ドライバ・ソフトウェアを含むことになり、ＵＤＰネットワーク・インターフェース２０は受信機を通信ネットワーク３に接続する。タイマ・ハードウェア２２はシステム・クロックおよび同期コントローラに時間情報を提供する。調整可能な発振器２３は、タイマ・ハードウェアおよび音声データ出力コントローラ２８にクロック信号を提供する。ラウドスピーカ・ネットワーク通信モジュール２４はホスト・コンピュータからの、およびそこへのネットワーク・トラフィックを管理する。同期コントローラ２５は受信機クロックをホストと同期させる。同期コントローラ２５は、受信機とホスト・クロックとの間のクロック・ドリフトを最小にするためにクロック発振器を調整する。デジタル信号処理、デジタル−アナログ変換はブロック２６内で行われる。音声ストリーム・コントローラ２７はホストから受信した音声データを管理して、その音声データを音声データ出力コントローラ２８に送る。音声データ出力コントローラ２８は調整可能な発振器２３によって指定されたレートで音声データを出力する。これは、ホストがサンプルを出力するのと同じレートでサンプルが出力されることを保証する。サンプル・レート変換器２９はデジタル音声をデジタル信号処理およびデジタル−アナログ変換によって使用された内部サンプル・レートに変換する。
【００３０】
正確なクロック同期はＬＳＮＷの正常な動作に不可欠である。ＬＳＮＷプロトコルは、約１０〜２０ミリ秒以内の精度でホストと受信機クロックの同期を可能にするクロック同期のためのメカニズムを有する。
【００３１】
移動時間（レイテンシ）測定の解決策は、パケットの送受信のための正確な時間を決定できるように、ネットワーク・プロトコル・スタック内にネットワーク・パケット・タイムスタンピングを実装することである。Ｗｉｎｄｏｗｓ（登録商標）のホスト・ソフトウェアでは、パケットがＬＳＮＷ受信機宛て、またはＬＳＮＷ受信機から発信される場合、着信および発信するＵＤＰパケットを調査してタイムスタンプを記録するＩＰパケット・フィルタとしてタイムスタンピングが実装される。タイムスタンピングはネットワーク・ハードウェアのできるだけ近くで収集されるべきなので、この位置はタイムスタンピングにとって最適ではないが、ＩＰパケット・フィルタ・レバーでのタイムスタンピングが良い精度をもたらすことは経験上明らかである。
【００３２】
本発明による受信機ソフトウェアは、できる限り正確な動作のためにイーサネット（登録商標）・ドライバ内に直接タイムスタンピングを実装する。この目的のために、本発明に関してソース・コードが開発された。
【００３３】
ネットワーク・レイテンシのランダムな変化の問題は、ホストと受信機との間の往復時間の決定を含むクロック同期を実行すること、およびレイテンシが測定された最小レイテンシから許容範囲内である場合のみ同期を実行することだけによって解決されうる。
【００３４】
クロック同期は、図４によるホストによって開始される。すべての受信機が確実に正確な時間を有するように、ホスト１はラウンド・ロビン方式でクロックをそれぞれのグループ・メンバーに同期させることになる。受信機は、クロックを再同期する必要性を感じたら同期要求メッセージをホストに送信してよい。これは、たとえばパケット損失のために受信機が音声ストリームを中断しなければならず、音声パケットが受信されると音声ストリームを継続する場合に起こりうる。
【００３５】
受信機２がグループに割り振られる場合、ホストは往復レイテンシを調べるためにいくつかのエコー要求パケット６０を受信機に送信することになる。受信機２はエコー応答６１で応答し、次いでホスト１はトランザクションごとに往復レイテンシＴｔ１−Ｔｔ２を決定する。一旦往復レイテンシＴｔ１−Ｔｔ２が適切な精度で決定されると、ホスト１は正常な同期のための最小許容往復を設定することになる。レイテンシはパケット・サイズに応じても変化するので、異なるサイズのパケットについてレイテンシが調べられる。
【００３６】
実際の往復レイテンシは以下のように測定される。
１．エコー要求６０を受信機２に送信する（必要であればパケット・サイズを大きくするために余分のペイロードを追加するが、余分のペイロードは異なるパケット・サイズのレイテンシを決定するために実際のＵＤＰデータグラム・サイズを変化させるためだけに使用されるので、受信機はその余分のペイロードを処理しない）
２．エコー要求６０を含むパケットのために、タイムスタンプ・ドライバからタイムスタンプＴＳｓｅｎｄ（Ｔｈ１）を取得する
３．エコー応答６１を受信機から受信し、これはエコー要求６０の受信とエコー応答６１の送信との間で受信機が費やすミリ秒の量である受信機の処理レイテンシを含む
４．エコー応答６１パケットのためにタイムスタンプＴＳｒｅｃｖ（Ｔｈ２）を取得する。タイムスタンプはホスト１によって形成される
５．往復レイテンシは、ＴＳｒｅｃｖ−ＴＳｓｅｎｄ−処理レイテンシである
【００３７】
実際のクロック同期は開始段階で要求−応答トランザクションのように始まる。ホストはエコー要求６０を送信し、受信機はエコー応答６１で応答する。
【００３８】
エコー応答６１パケットは、エコー要求６０パケットの受信のＴｔ１の時の受信機クロックと、エコー要求６０の受信とエコー応答６１の送信との間に受信機によって費やされる時間である処理レイテンシとの２つの値を含む。
【００３９】
ホスト１は初期設定段階として往復レイテンシを計算することになり、レイテンシが初期設定で決定された最大許容値未満の場合、ホストは受信機がエコー要求６１パケットを受信した時のホスト・クロックの推定を含むクロック設定メッセージ６２を受信機２に送信する。推定時間は、測定されたエコー要求６１パケットを出力する時間に往復時間の半分を追加することによって計算される。
【００４０】
プロトコルは、ホストから受信機へのネットワーク・レイテンシは受信機からホストへのレイテンシと等しいと仮定する。通常はそうであるが、往復は、エコー要求がエコー要求を含むパケットとして音声データに追加される場合、および音声データがエコー応答だけを含む応答パケットより非常に大きい場合は非対称になる。この非対称は、余分のデータをエコー応答に追加して、応答パケットを要求と同じサイズにすることによって補正されうる。実際のアプリケーションでは、ネットワーク・パケット・サイズの非対称は同期の実際の結果にあまり大きな影響を及ぼさない。ホストと受信機クロックとの間のオフセットへの非対称ネットワーク・レイテンシの影響は以下のように計算できる（簡単にするために、計算は処理レイテンシを含まない）：
１．同期後のホスト・クロックは、Ｔｈ１＋Ｌｈｔ＋Ｌｔｈ＋Ｌｈｔ（開始時のホスト時間＋エコー要求のレイテンシ＋エコー応答のレイテンシ＋クロック設定のレイテンシ）
２．同期の最後の受信機クロックは、Ｔｈ１＋（Ｌｔｈ＋Ｌｈｔ）／２＋Ｌｔｈ＋Ｌｈｔ（クロック設定時間＋エコー応答のレイテンシ＋クロック設定のレイテンシ）
クロックの違いは、Ｔｈ１＋Ｌｈｔ＋Ｌｔｈ＋Ｌｈｔ−（Ｔｈ１＋（Ｌｔｈ＋Ｌｈｔ）／２＋Ｌｔｈ＋Ｌｈｔ）＝（Ｌｔｈ−Ｌｈｔ）／２
【００４１】
さらにより詳細には、図５によればホストと受信機のクロックはホスト時間１０．００００００秒（Ｔｈ１）で２秒オフセットを有する。同期プロトコル・パケットレイテンシは、ホストから受信機まで０．０００１６０秒（Ｔｈ１−Ｔｔ１）、受信機からホスト６１まで６０，０．０００１８０秒（Ｔｔ２−Ｔｈ２）である。これは、目標時間１２．０００１６０と１２．０００７１０との間で受信機クロックがホスト・クロックから著しくドリフトしないと仮定すれば、同期の最後で０．００００１０秒クロック・オフセットという結果になる。受信機２は測定されたオフセットに基づいて自分のクロックの周波数も訂正して目標とホスト・クロックとの間の平均エラーを減らすことができる。
【００４２】
ネットワーク・レイテンシ（０．０００１６０秒および０．０００１８０秒）が等しくないので、ホストおよび目標クロックは同期の最後に（０．０００１８０−０．０００１６０）／２＝０．００００１０のオフセットを有することになる（Ｔｔ３）。
【００４３】
図６によれば、開始９０で受信機はハードウェアを初期設定し、ＤＨＣＰを介しておそらくＩＰアドレスを取得してアイドル状態に入る。ブロック９１で、受信機はホストからグループ設定コマンドを受信する。メッセージはすべてのラウドスピーカ・グループ関連トラフィックが送信されるマルチキャスト・グループのＩＰアドレスを含む。メッセージはデジタル−アナログ変換をするために受信機はマルチ・チャネル音声のどのチャネルに出力することになるかについての情報も含む。受信機はマルチキャスト・アドレスを聞き始める。受信機はまた、ホストにメッセージを送信して受信機がグループに入ったことを承認する。受信機は状態９２の実行中に入る。実行状態９２で、受信機はラウドスピーカ・グループ・マルチキャストＩＰアドレス宛てのメッセージを受信することになる。音声データは再生キューに入れられて、デジタル−アナログ変換するために最終的に出力される。受信機がタイムスタンプ要求メッセージを受信すると、受信機は状態９７のホストにタイムスタンプ送信に入る。受信機がクロック設定メッセージを受信すると、受信機は状態９３に入る。ブロック９３で、現在の時間、ホストと受信機との間のクロック・ドリフトの推定、および最後のクロック設定メッセージ以来の時間間隔に基づいて新しいクロック値の有効性が決定される。新しい値が無効に思われる場合（ホスト内の大きな処理レイテンシ、または他の何らかの理由のため）、受信機クロックは設定されず、制御は状態９２の実行中に戻る。新しいクロック値が有効に思われる場合、状態９４の発振器の調整に入る。ブロック９４で、測定されたドリフト、ホストと受信機との間のクロックおよび現在の制御電圧に基づいて、調整可能な発振器への制御電圧が設定される。ブロック９５で、受信機とホストとの間の測定されたクロック・オフセットが指定された数のサンプルの持続期間未満の場合、状態９２の実行中に入る。ブロック９６で、受信機とホストとの間の測定されたクロック・オフセットが指定された数のサンプルの持続期間より大きい場合、複数のサンプル持続期間によってクロック値を調整する。同時に、クロック調整を補正するために音声ストリームへ／からサンプルを追加または削除する。調整後、状態９２の実行中に戻る。さらにブロック９７で、現在の受信機クロック値および処理レイテンシを含むタイムスタンプ・メッセージがホストに送信される。
【００４４】
図７によれば、ブロック１００でホスト・アプリケーションが開始される。ホスト・アプリケーションはネットワークに利用可能な受信機ラウドスピーカを照会して、アイドル状態に入る。ブロック１０１で、ホスト・アプリケーションはユーザ・インターフェースからコマンドを受信して受信機ラウドスピーカ・グループをセットアップする。ホスト・アプリケーションはそれぞれのラウドスピーカへのネットワーク・レイテンシの分析を開始する。ブロック１０２で、分析が成功しなかった場合、ユーザにエラーが報告されてアイドル状態に戻る。たとえばネットワーク内のパケット損失が大きすぎる場合、分析は成功しないことがある。それぞれの受信機へのネットワーク・レイテンシの分析が成功した場合、それぞれの受信機についての最大許容同期ネットワーク・レイテンシを格納して、状態１０３の実行中に入る。
【００４５】
実行状態１０３で、システムは定期的に受信機ラウドスピーカ・クロックを同期する。ブロック１０４で、受信機にタイムスタンプ要求が送信される。所与の時間内に応答が受信されない場合、システムは実行状態に戻って同期を再び試みる。数回連続で同期が失敗した場合、システムは受信機ラウドスピーカをアクティブではないと記録して、アクティブ受信機のグループから削除する。受信機からタイムスタンプが受信されると、システムは状態１０５に入る。ブロック１０５で、システムは同期トランザクションについてのネットワーク・レイテンシを決定する。ネットワーク・レイテンシが１０１で決定された最大許容同期ネットワーク・レイテンシを上回る場合、システムは状態１０８に入る。レイテンシが許容最大を下回る場合、システムは状態１０６に入る。状態１０６で、システムはクロック設定メッセージを受信機に送信する。ブロック１０７で、最後のレイテンシ分析以来の時間が所与のしきい値を下回る場合、システムは状態１０２の実行中に入る。最後の分析以来経過した時間が大きすぎる場合、ネットワーク・レイテンシは恒久的に減らされているかどうかを検出するために、システムは状態１０１に入ることによって受信機へのネットワーク・レイテンシを再び分析する。ブロック１０８で、所与の数以上の連続同期トランザクションが許容最大よりも大きいネットワーク・レイテンシを有する場合、ネットワーク・レイテンシの持続的成長を決定するためにシステムはレイテンシ分析を実行する。
【００４６】
本発明の一実施形態によれば、提案された同期方法は主に無線音声アプリケーション、さらに無線ラウドスピーカ・システムでも利用されうる。
【００４７】
８０２．１１ａ／ｂ／ｇなどの標準的な無線ネットワークのメディア・アクセス制御によってもたらされるより低い転送レート、および遅延のために、ネットワーク・レイテンシは有線の１００Ｍｂｐｓまたは１０００Ｍｂｐｓイーサネット（登録商標）・ネットワークにおけるよりも相当に大きい。同期プロトコルはセットアップ段階にネットワーク行動を分析するので、この増大したレイテンシに適用できる。
【００４８】
標準的な無線ネットワークは、パケット伝送の間の衝突を防止するためにランダムなレイテンシももたらす。これらのランダムな遅延が無線ネットワーク内の同期をイーサネット（登録商標）・ベースの有線ネットワーク内の同期よりも困難にする。前記ランダムな遅延の影響は、有線ネットワーク内で操作する場合よりも厳密な割合値を使用して許容最大ネットワーク・レイテンシを選択することによって減らすことができる。９０％の代わりに３０％の割合が使用される場合、ランダムな遅延がより少ないトランザクションだけがクロック同期のために使用されることになる。この修正は、それぞれのクロック同期が、クロック設定コマンドのために許容値が取得される前に平均で３つのエコー要求／エコー応答トランザクションを必要とすることを意味する。
【００４９】
無線ネットワークは一般的に、パケット伝送の間の無線干渉および衝突のために、イーサネット（登録商標）・ベースの有線ネットワークよりもさらに大きなパケット損失も有する。パケット損失の影響を減らすために、順方向誤り訂正（ＦＥＣ）符号化を使用して伝送された音声データに冗長性を追加してよい。この冗長性はネットワークによって損失された音声パケットを再構築するために受信機によって使用されてよい。
【図１】
0005574988.tif 000002
【図２】
0005574988.tif 000003
【図３】
0005574988.tif 000004
【図４】
0005574988.tif 000005
【図５】
0005574988.tif 000006
【図６】
0005574988.tif 000007
【図７】
0005574988.tif 000008