(57)【要約】   コントローラ（４２５ｂ）及び時間同期アルゴリズム（４２２ａ又は４２４ｂ）を有する、第１、第２、及び第３のブルートゥースメディアデバイス（４００）を含むデバイスチェーンにおける同期されたメディアストリーミングのため、第１のデバイスは、受信メディアデータ、第２のデバイスアドレス、及び同期情報を含む第１のメディアパケットをフォーマットし、同期情報は、遅延時間を含むパケット開始時間及びそれまでにカウントされた累積クロックドリフトを含む。第２のデバイスは、第１のパケットを受け取り、メディアデータ、第３のデバイスアドレス、及び更新された同期情報を含む第２のパケットをフォーマットし、更新された同期情報は、第２のパケットの再生開始時間、ローカルクロック時間、クロックドリフト、及びそれまでカウントされた累積クロックドリフトを含む。第２のデバイスは第２のパケットを第３のデバイスに送る。同期アルゴリズムは、メディアデータの同期再生を開始し、これは、遅延時間の後の第１のデバイスの再生、第１のパケットの再生開始時間の後の第２のＢＴデバイスの再生、第２のパケットの再生開始時間の後の第３のデバイスの再生を含む。
2020533851.tif 000002
【特許請求の範囲】
【請求項１】
ブルートゥース（ＢＴ）同期メディアストリーミングの方法であって、
ＢＴメディアデバイスを第１、第２、及び第３のＢＴメディアデバイスを含むスキャッタネットチェーンに構成することであって、前記第１、第２、及び第３のＢＴメディアデバイスが各々、ストアされた時間同期アルゴリズムを走らせ、ローカルクロック及びネットワーククロックを有するプロセッサを含む、ＢＴコントローラを含むこと、
前記第１のＢＴメディアデバイスが、符号化されたメディアデータのストリームをＢＴデジタルメディアストリーム送信デバイスから受け取ること、
前記第１のＢＴメディアデバイスの前記時間同期アルゴリズムが少なくとも第１のＢＴメディアパケットをフォーマットすることであって、前記少なくとも第１のＢＴメディアパケットが、前記符号化されたメディアデータ、前記第２のＢＴメディアデバイスのためのアドレス、及び前記第２のＢＴメディアデバイスのための時間同期情報を含み、前記時間同期情報が、遅延時間を含む前記第１のＢＴメディアパケットの再生開始時間、及び前記チェーンにそれまでカウントされた累積クロックドリフトを含むこと、
前記第１のＢＴメディアデバイスが前記第１のＢＴメディアパケットを前記第２のＢＴメディアデバイスに送信すること、
前記第２のＢＴメディアデバイスの前記時間同期アルゴリズムが少なくとも第２のＢＴメディアパケットをフォーマットすることであって、前記少なくとも第２のＢＴメディアパケットが、前記符号化されたメディアデータ、前記第３のＢＴメディアデバイスのためのアドレス、及び前記第３のＢＴメディアデバイスのための更新された時間同期情報を含み、前記更新された時間同期情報が、前記第２のＢＴメディアパケットの再生開始時間を含み、前記第２のＢＴメディアパケットの再生開始時間が、前記第２のＢＴコントローラの前記ローカルクロックの時間と、前記第２のＢＴコントローラクロックのドリフト及び前記遅延時間値と、前記デバイスチェーンにおいてそれまでにカウントされた前記累積クロックドリフトであり現在前記第２のＢＴメディアデバイスの前記クロックを含む前記累積クロックドリフトとを含むこと、
前記第２のＢＴメディアデバイスが前記第２のＢＴメディアパケットを前記第３のＢＴメディアデバイスに送信すること、及び
前記時間同期アルゴリズムが前記符号化されたメディアデータのストリームの同期された再生を開始することであって、前記遅延時間が到達した後に前記第１のＢＴメディアデバイスが再生すること、前記第１のＢＴメディアパケットの再生開始時間が到達した後に前記第２のＢＴデバイスが再生すること、及び、前記第２のＢＴメディアパケットの再生開始時間が到達した後に前記第３のＢＴメディアデバイスが再生することを含むこと、
を含む、方法。
【請求項２】
請求項１に記載の方法であって、前記遅延時間が少なくとも５０ｍｓｅｃであり、全ての前記ＢＴメディアデバイスが、前記再生を開始する前に、所定の複数の前記ＢＴメディアパケットをそれらのメモリにストアするために充分な時間を可能にするように選択される、方法。
【請求項３】
請求項１に記載の方法であって、前記ＢＴメディアデバイスが、各々、ＢＴ高度オーディオ配信プロファイル（Ａ２ＤＰ：Advanced Audio Distribution Profile）スピーカを含み、前記ＢＴデジタルメディアストリーム送信デバイスがＡ２ＤＰオーディオデータソースを含む、方法。
【請求項４】
請求項３に記載の方法であって、前記ＢＴ  Ａ２ＤＰスピーカが、ＢＴレンジ内の異なるルームをカバーし、マルチルームスピーカ動作を可能にするためにアプリケーションプログラミングインタフェース（ＡＰＩ）を呼び出すことを更に含む、方法。
【請求項５】
請求項１に記載の方法であって、前記同期情報が、前記第１のＢＴメディアパケットのプリアンブル及び前記第２のＢＴメディアパケットのプリアンブルにある、方法。
【請求項６】
請求項１に記載の方法であって、前記ＢＴメディアデバイスが、前記同期された再生の開始時に、＜５０μｓｅｃの同期レベルを提供する、方法。
【請求項７】
請求項１に記載の方法であって、前記同期された再生の前記開始の後の時間に、前記第１のＢＴメディアパケットを更新すること及び前記第２のメディアパケットを更新することであって、双方とも前記符号化されたメディアデータの新しいストリームを用いて更新すること、及び前記ＢＴコントローラクロックのドリフトのための更新されたクロックドリフト値とカウントされた累積ドリフトとを反映させるために、前記第２のＢＴメディアデバイス及び前記第３のＢＴメディアデバイスが、前記更新されたクロックドリフト値を用いて、クロックドリフトを補償するように再生の時間を変更させること、を更に含む、方法。
【請求項８】
請求項１に記載の方法であって、前記ＢＴコントローラが、少なくとも半導体表面を有する基板を含む集積回路（ＩＣ）上に形成され、前記プロセッサがデジタル信号プロセッサ（ＤＳＰ）を含む、方法。
【請求項９】
ブルートゥース（ＢＴ）コントローラであって、
メモリ及びトランシーバに結合されるプロセッサと、前記トランシーバを駆動するためのＲＦドライバであって、アンテナに結合されるように適合されるＲＦドライバとを含み、前記メモリが、ホストプロセッサから受信したコマンドを、解析し、理解し、及びこのコマンドに応じて動作するためのソフトウェアを含み、前記ホストプロセッサが、ホストコントローラトランスポートレイヤ及びＨＣＩドライバを含むホストコントローラインタフェース（ＨＣＩ）を含み、前記ＨＣＩドライバが、第２のＢＴメディアデバイスを提供するために結合されるように構成され、前記ＢＴコントローラが、前記メモリにストアされた時間同期アルゴリズムを含み、ローカルクロック及びネットワーククロックを有する、ファームウェアを動作させるためのものであり、
前記ＢＴコントローラが、前記第２のＢＴメディアデバイス及び第３のＢＴメディアデバイスを含むスキャッタネットチェーンにおける第１のＢＴメディアデバイスから第１のＢＴメディアパケットを受け取るためのものであり、前記第１のＢＴメディアデバイスの前記時間同期アルゴリズムが、少なくとも前記第１のＢＴメディアパケットをフォーマットするためのものであり、前記少なくとも前記第１のＢＴメディアパケットが、ＢＴデジタルメディアストリーム送信デバイスから発っせられる符号化されたメディアデータのストリーム、及び前記第２のＢＴメディアデバイスのための時間同期情報を含み、前記時間同期情報が、遅延時間を含む前記第１のＢＴメディアデバイスのパケットの再生開始時間、及び前記ローカルクロックと前記第１のＢＴメディアデバイスの前記ネットワーククロックとの間の時間差を含む前記チェーンにおいてそれまでカウントされた累積ドリフトを含み、
前記ローカルクロックからの時間を用い、前記第２のＢＴメディアデバイスの前記時間同期アルゴリズムが、少なくとも第２のＢＴメディアパケットをフォーマットするためであり、前記少なくとも第２のＢＴメディアパケットが、前記符号化されたメディアデータ、前記第３のＢＴメディアデバイスのためのアドレス、及び前記第３のＢＴメディアデバイスのための更新された時間同期情報を含み、前記更新された時間同期情報が、第２の前記ＢＴコントローラの前記ローカルクロックを含む前記第２のＢＴメディアパケットの再生開始時間と、前記第２のＢＴコントローラのクロックドリフト及び前記遅延時間値と、現在は前記第２のＢＴメディアデバイスの前記クロックを含む、前記デバイスチェーンにおいてそれまでにカウントされた累積ドリフトとを含み、及び
前記第２のＢＴメディアデバイスが前記第２のＢＴメディアパケットを前記第３のＢＴメディアデバイスに送信することに続いて、前記時間同期アルゴリズムが、前記符号化されたメディアデータのストリームの同期再生を開始し、前記第１のＢＴメディアパケットの再生開始時間が到達した後に前記第２のＢＴデバイスが再生すること、前記遅延時間が到達した後に前記第１のＢＴメディアデバイスが再生すること、及び前記第２のＢＴメディアパケットの再生開始時間が到達した後に前記第３のＢＴメディアデバイスが再生することを含む、ＢＴコントローラ。
【請求項１０】
請求項９に記載のＢＴコントローラであって、前記ＢＴコントローラが少なくとも半導体表面を有する基板を含む集積回路（ＩＣ）上に形成され、前記プロセッサがデジタル信号プロセッサ（ＤＳＰ）を含む、ＢＴコントローラ。
【請求項１１】
請求項９に記載のＢＴコントローラであって、前記第１、第２、及び第３のＢＴメディアデバイスが、各々、ＢＴ  高度オーディオ配信プロファイル（Ａ２ＤＰ）スピーカを含み、前記ＢＴデジタルメディアストリーム送信デバイスがＡ２ＤＰオーディオデータソースを含む、ＢＴコントローラ。
【請求項１２】
請求項９に記載のＢＴコントローラであって、前記同期情報が、前記第１のＢＴメディアパケットのプリアンブル、及び前記第２のＢＴメディアパケットのプリアンブルにある、ＢＴコントローラ。
【請求項１３】
請求項９に記載のＢＴコントローラであって、前記第１、第２、及び第３のＢＴメディアデバイスが前記同期された再生の開始時に＜５０μｓｅｃの同期レベルを提供する、ＢＴコントローラ。
【請求項１４】
ブルートゥース（ＢＴ）メディアデバイスであって、
ホストコントローラトランスポートレイヤ及びＨＣＩドライバを含むホストコントローラインタフェース（ＨＣＩ）によって互いに結合されるホストプロセッサ及びＢＴコントローラを含み、前記ホストプロセッサが、アプリケーションレイヤを実装し、前記ホストコントローラトランスポートレイヤを介して前記ＢＴコントローラと通信するためのＨＣＩファームウェアを含み、前記ＢＴメディアデバイスが、第２のＢＴメディアデバイスと、前記第２のＢＴメディアデバイスに結合されるための第３のＢＴメディアデバイスとを含むスキャッタネットチェーンにおいて構成され、
前記ＢＴコントローラが、メモリ及びトランシーバに結合されるプロセッサ、及び、アンテナに結合されるように適合される、前記トランシーバを駆動するためのＲＦドライバを含み、前記メモリが、前記ホストプロセッサから受信したコマンドを、解析し、理解し、及びこのコマンドに応じて動作するためのソフトウェアを含み、前記ＢＴコントローラが、前記メモリにストアされた時間同期アルゴリズムを含み、ローカルクロック及びネットワーククロックを有するファームウェアを動作させるためのものであり、
前記ＢＴコントローラが、第１のＢＴメディアパケットを前記第２のＢＴメディアデバイスから受け取るためのものであり、前記ＢＴメディアデバイスの前記時間同期アルゴリズムが、少なくとも前記第１のＢＴメディアパケットをフォーマットするためのものであり、前記少なくとも前記第１のＢＴメディアパケットが、ＢＴデジタルメディアストリーム送信デバイスから発っせられる符号化されたメディアデータのストリーム及び前記第２のＢＴメディアデバイスのための時間同期情報とを含み、前記時間同期情報が、遅延時間を含む前記第１のＢＴメディアパケットの再生開始時間、及び前記ローカルクロックと第１のＢＴメディアデバイスの前記ネットワーククロックとの間の時間差を含む前記チェーンにおいてそれまでにカウントされた累積クロックドリフトを含み、
前記ローカルクロックからの時間を用いて、前記第２のＢＴメディアデバイスの前記時間同期アルゴリズムが、少なくとも第２のＢＴメディアパケットをフォーマットするためであり、前記少なくとも第２のＢＴメディアパケットが、前記符号化されたメディアデータ、前記第３のＢＴメディアデバイスのためのアドレス、及び前記第３のＢＴメディアデバイスのための更新された時間同期情報を含み、前記更新された時間同期情報が、第２の前記ＢＴコントローラの前記ローカルクロックを含む前記第２のＢＴメディアパケットの再生開始時間と、前記第２のＢＴコントローラのクロックドリフト及び前記遅延時間値と、現在は前記第２のＢＴメディアデバイスの前記クロックを含む、前記デバイスチェーンにおいてそれまでにカウントされた累積ドリフトとを含み、及び
前記第２のＢＴメディアデバイスが前記第２のＢＴメディアパケットを前記第３のＢＴメディアデバイスに送信することに続いて、前記時間同期アルゴリズムが、前記符号化されたメディアデータのストリーム同期再生を開始し、前記第１のＢＴメディアパケットの再生開始時間が到達した後に前記第２のＢＴデバイスが再生すること、前記遅延時間が到達した後に前記第１のＢＴメディアデバイスが再生すること、及び前記第２のＢＴメディアパケットの再生開始時間が到達した後に前記第３のＢＴメディアデバイスが再生することを含む、
ＢＴデバイス。
【請求項１５】
請求項１４に記載のＢＴデバイスであって、前記第１、前記第２、及び前記第３のＢＴメディアデバイスが、各々、ＢＴ  高度オーディオ配信プロファイル（Ａ２ＤＰ）スピーカを含み、前記ＢＴデジタルメディアストリーム送信デバイスがＡ２ＤＰ  オーディオデータソースを含む、ＢＴデバイス。
【請求項１６】
請求項１４に記載のＢＴデバイスであって、前記同期情報が、前記第１のＢＴメディアパケットのプリアンブル、及び前記第２のＢＴメディアパケットのプリアンブルにある、ＢＴデバイス。
【請求項１７】
請求項１４に記載のＢＴデバイスであって、前記第１、前記第２、及び前記第３のＢＴメディアデバイスが、前記同期された再生の開始時に＜５０μｓｅｃの同期レベルを提供する、ＢＴデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、全般的に、ワイヤレス通信に関し、特に、ブルートゥースを用いるメディアデータ（ビデオ及びオーディオデータ）のワイヤレスデバイス通信に関する。
【背景技術】
【０００２】
ブルートゥース（ＢＴ）は、速度が問題ではない場合に、電話、プリンタ、モデム、及びヘッドセットを含み、互いに近い２つ又はそれ以上のデバイス間で情報を転送するときに概して用いられるワイヤレス通信規格であるアドホックネットワーキング技術の例である。ＢＴは、電話（例えば、ＢＴヘッドセット）を用いる音声データの転送、又は（ファイルを転送する）ハンドヘルドコンピュータを用いる、或いはキーボードやマウスからの、バイトデータの転送を含む低帯域幅応用例に対して良好に適合する。ＢＴ  ＳＩＧ（Ｓｐｅｃｉａｌ  Ｉｎｔｅｒｅｓｔ  Ｇｒｏｕｐ）仕様は、これらの通信に対して用いられ得る。
【０００３】
ＢＴデバイスは高品質オーディオ配信をサポートする。従来の使用例の一つは、ステレオミュージックプレイヤーからヘッドフォン又はスピーカへの音楽コンテンツのストリーミングである。オーディオデータは、限られた帯域の効果的な使用のための適切なフォーマットに圧縮される。別の使用例が、例えば、動画における画像と音声の同期である。
【０００４】
ＢＴプロファイルが、デバイス間のＢＴベースのワイヤレス通信の態様に関する仕様である。ＢＴプロファイルは、ＢＴコア仕様及び任意選択の他の付加的なプロトコルの最上位にある。オーディオ／ビデオ配信トランスポートプロトコル（ＡＶＤＴＰ）は、オーディオストリーミングパラメータのネゴシエーションのためのシグナリングエンティティとストリーミング自体を扱うトランスポートエンティティとを含む。ＡＶＤＴＰは、ＢＴ送信におけるビデオ配信プロファイルのために意図された論理リンク制御及びアダプテーションレイヤプロトコル（Ｌ２ＣＡＰ）チャネルを介して音楽をステレオヘッドセットにストリーミングするために、高度オーディオ配信プロファイルによって用いられる。
【０００５】
高度オーディオ配信プロファイル（Ａ２ＤＰ：Advanced Audio Distribution Profile）はＡＶＤＴＰの使用を定めるものであり、ＢＴオーディオストリーミングと称されることもある。今日のスマートフォンの多くは、Ａ２ＤＰデバイスに接続し、オーディオを送信することが可能である。Ａ２ＤＰは、非同期コネクションレス（ＡＣＬ）チャネル上でモノラル又はステレオで高品質オーディオのオーディオコンテンツの配信を実現するＢＴプロトコル及びプロシージャを定義する。Ａ２ＤＰは、ＢＴ接続を、見えない補助オーディオケーブルに効果的に変換させる。例えば、Ａ２ＤＰを用いて、音楽がモバイルフォンから、ワイヤレスヘッドセット、聴覚補助／渦巻管インプラントストリーマー、カーオーディオにストリーミングされ得、又はラップトップ／デスクトップからワイヤレスヘッドセットにストリーミングされ得る。音声がマイクロフォンデバイスからレコーダにストリーミングされ得る。
【０００６】
ＢＴは、スピーカ等のそれぞれのＢＴデバイス間でオーディオを同期させるための固有の方法を持たない。ＢＴ  ＳＩＧ仕様において、受け取った各パケットに対する受け取りデバイスのタイミング同期プロセスを補助するために、各ＢＴパケットのプリアンブルに同期コードが埋め込まれている。ＷｉＦｉとは異なり、ＢＴ送信に対して用いられる低い相対電力により、ＢＴは、非常に限られた同報通信能力を有する。また、ＢＴにおける同報通信は、受け取りデバイスによってベースバンドアクノレッジメント（ＡＣＫ）フレームが提供されないため、受信されることが保証されていない。同期はデバイスのホストプロセッサレベルにおいて実施され得るが、それは大きな付加的な電力を必要とし、また実装も相対的に複雑である。現在既知のオーディオ同期解決策は、オーディオトランスミッタとしてマスターを備え単一のオーディオレシーバとしてスレーブを概して備えるピコネットトポロジーにおける２つのオーディオデバイスのみを概してサポートする。
【発明の概要】
【０００７】
ユーザメディアアプリケーション（サラウンドサウンド、ソーシャルミュージック再生、ジュークボックス用途、及び、ＢＴスピーカのネットワークへのスピーカのアドホック追加を含むオーディオ用途等）の説明される例において、個別の（非電気的に接続された）ＢＴスピーカが、同じＢＴ接続を介して同じオーディオストリームから接続及び再生する。これらのオーディオ応用例が良好なサウンド品質を提供するためには、例えば標準ＢＴ  Ａ２ＤＰを介して、（再生時に）全ての再生がユーザに同時に聞こえるように、全てのＢＴスピーカに対して正確な時間同期が必要である。説明される実施形態は、ストリーミングされたオーディオを標準Ａ２ＤＰソースから配信するが、説明される実施形態は概して、例えば、映画において画像と音声を同期させるため等に、Ａ２ＤＰを実装するＢＴデバイスの任意のグループに対して用いられ得る。
【０００８】
ＢＴメディアデバイスを、スキャッタネットで、従ってデバイスチェーンに構成することと、新しいＢＴパケットにおいて各ＢＴコントローラのローカルクロック及びネットワーククロックからの時間同期情報を用いることとによって、ＢＴデバイスのＢＴコントローラは、メディア（例えば、オーディオ）ストリームを外部ソースデバイス（例えば、モバイルフォン等のＡ２ＤＰ）からＢＴを介して受け取り得、チェーン内の他のＢＴデバイス（例えば、スピーカ）を時間同期させ得る。説明されるパケットは、改変されたＢＴ  ＳＩＧ  ＡＶＤＴＰパケットを含み得、改変されたＢＴ  ＳＩＧ  ＡＶＤＴＰパケットは、遅延時間を含むパケットの再生開始時間と、デバイスチェーンにおいてそれまでにカウントされた累積ドリフト（ドリフトは各デバイスのローカルクロックとそのネットワーククロックとの間の時間差である）とｇｄを含む、付加されたタイミング情報を含む。遅延時間は、チェーン内の全てのＢＴスピーカが再生開始の前にパケットをそれらのメモリにストアすることができるように充分な時間を可能にするように選択される。
【０００９】
ＢＴスピーカチェーンにおける第１のＢＴメディアデバイスは、タイミング情報を備える説明されるパケットを、第２のＢＴメディアデバイスに送信し、第１のＢＴメディアデバイスは、チェーン内の全ての他のＢＴメディアデバイスが時間同期する相手先のメディアデバイスである。第１のＢＴメディアデバイスは、Ａ２ＤＰソースが直接的に接続される相手先のデバイスであり、Ａ２ＤＰソースから物理的に最も遠い、Ａ２ＤＰソースに最も近い、又はその間の任意のチェーン位置のメディアデバイスであり得る。ストリーム発信元（Ａ２ＤＰソース）は、ＢＴメディアデバイスの同期されたネットワークの一部であり得る（説明されるＢＴメディアデバイスによって送信される場合）、又はそれは、同期されたネットワークに対して外部のソースであり得る。オーディオの場合、説明される解決策は、ストリーミングされたオーディオを標準Ａ２ＤＰソースから配信することを可能にし、標準Ａ２ＤＰソースは潜在的に、概して＜３０μｓｅｃの時間同期の任意のＡ２ＤＰ互換デバイスであり得る。
【００１０】
一つの説明される実施形態が、ＢＴ同期されたメディアストリーミングの方法を含む。ＢＴメディアデバイスが、第１、第２、及び少なくとも第３のＢＴメディアデバイスを含んでスキャッタネットチェーンにおいて構成される。各メディアデバイスは、ストアされた説明される時間同期アルゴリズムを走らせ、ローカルクロック及びネットワーククロックを有するプロセッサを含むＢＴコントローラを含む。スキャッタネットは、２つ又はそれ以上のピコネットを含むアドホックコンピュータネットワークの一つのタイプである。スキャッタネットにおいて、スレーブデバイスが複数のピコネットと通信し得る。スキャッタネットの動作と関連して、ＢＴマスターデバイスは、モバイルスレーブデバイスの位置、又はモバイルデバイスを携帯する人の位置を追跡するために、それらの個々のピコネット内のモバイルスレーブデバイスの識別をそのホストプロセッサにリレーし得る。
【００１１】
第１のＢＴメディアデバイスは、受け取ったメディアデータ、第２のデバイスアドレス、及び同期情報を含む第１のメディアパケットをフォーマットする。同期情報は、遅延時間値を含むパケット開始時間、及びチェーンにおいてそれまでにカウントされた累積クロックドリフトを含む。第２のＢＴメディアデバイスは、第１のパケットを受け取り、メディアデータと、第３のＢＴメディアデバイスのアドレスと、第３のＢＴメディアデバイスのための更新された同期情報とを含む第２のパケットをフォーマットする。第３のＢＴメディアデバイスのための更新された同期情報は、第２のパケットの再生開始時間、第２のＢＴコントローラのローカルクロック時間、第２のＢＴコントローラのクロックドリフト、遅延時間、及びそれまでにカウントされた累積クロックドリフトを含む。第２のＢＴメディアデバイスは、第２のパケットを第３のＢＴメディアデバイスに送信する。同期アルゴリズムは、各々、メディアデータの同期された再生を開始し、メディアデータの同期された再生は、遅延時間に到達した後に第１のＢＴメディアデバイスが再生すること、第１のパケットの再生開始時間に到達した後に第２のＢＴメディアデバイスが再生すること、及び第２のパケットの再生開始時間に到達した後に第３のＢＴメディアデバイスが再生することを含む。
【図面の簡単な説明】
【００１２】
【図１】第１のＢＴスピーカ、第２のＢＴスピーカ、及び少なくとも第３のＢＴスピーカを含むチェーンにおいて構成されたＢＴスピーカを含む例示のオーディオネットワークを示す。第１のＢＴスピーカ、第２のＢＴスピーカ、及び少なくとも第３のＢＴスピーカの全てが、少なくとも１つのＢＴスピーカを備えるＢＴレンジ内にあり、第１のＢＴスピーカは、Ａ２ＤＰソースとして示されるＢＴデジタルオーディオストリーム送信デバイスからの符号化されたオーディオのストリームを受け取る。
【００１３】
【図２】例示の説明されるメディアパケットを示し、パケットの再生開始時間及びそれまでにカウントされた累積ドリフトを含む同期ソース（ＳＳＲＣ）フィールド、並びにメディアペイロードフィールドを有するように構成されるプリアンブルを備える。
【００１４】
【図３Ａ】バッファリング状態における図１に示されるオーディオネットワークに用いられる説明される同期シグナリングを示し、この同期シグナリングは、ピア（マスター）デバイスからのローカルクロックと、スピーキングが開始される前に全てのＢＴスピーカにそれらのメモリにパケットをストアさせることを可能にする遅延時間と、累積クロックドリフトとを含むパケットの再生開始時間を含むパケットを用いることによってＢＴスピーカを本質的に同じ時間に再生開始させる。
【００１５】
【図３Ｂ】再生状態における図１に示されるオーディオネットワークに用いられる説明される同期シグナリングを示し、この同期シグナリングは、ネットワーククロック間のドリフトを追跡し、このドリフトベースのエラーを補償することによってＢＴスピーカ間のドリフトを調整するための制御データを含むパケットを送信することを含む。図３Ａにおいて図示されるバッファリング状態と同様に、各パケットは、その再生が起こるべきときを示すためのパケットの再生開始を含む。
【００１６】
【図４Ａ】説明されるＢＴメディアデバイス時間同期を実装する例示のＢＴメディアデバイスの概要を示すブロック図である。
【００１７】
【図４Ｂ】ホストコントローラインタフェース（ＨＣＩ）によって互いに結合される個別のホストプロセッサ及びＢＴコントローラを含む説明されるＢＴメディアデバイスの概要を示すブロック図を示す。ＢＴコントローラは、例示の実施形態に従った、説明されるスピーカチェーン時間同期を実装するためのファームウェア（ＦＷ）を含む。
【００１８】
【図５】例示の実施形態に従った、ＢＴメディアデバイスを含むメディアネットワークのための、ＢＴ同期されたメディアストリーミングの例示の方法のフローチャートである。
【００１９】
【図６】３つのスピーカの例に対する説明されるＢＴメディアデバイス同期を示す例示の簡略化された例を示す。
【発明を実施するための形態】
【００２０】
図面は必ずしも一定の縮尺で描かれているわけではない。図面において、類似の参照番号は類似又は同等の要素を示す。行為又は事象の図示される順は限定的ではなく、幾つかの行為又は事象が異なる順で又は他の行為又は事象と同時に起こり得る。また、本明細書に従って或る方法論を実装するために、幾つかの図示される行為又は事象が随意選択的であり得る。
【００２１】
本明細書において、「〜に結合する」又は「〜と結合する」という用語（及び同様の用語）が、更なる条件無しに本明細書中に用いられる場合、間接的又は直接的な電気的接続を示す。従って、第１のデバイスが、第２のデバイスに「結合する」場合、その接続は、経路に寄生のみ存在する直接的電気的接続を介してなされてもよく、又は他のデバイス及び接続を含む介在要素を介する間接的電気的接続を介してなされてもよい。間接的結合の場合、介在要素は、概して、信号の情報を変化させないが、その電流レベル、電圧レベル及び／又は電力レベルを調整し得る。
【００２２】
図１は、スピーカ１として示される第１のＢＴスピーカ、スピーカ２として示される第２のＢＴスピーカ、及びスピーカ３として示される少なくとも第３のＢＴスピーカを含むチェーンにおいて構成されたＢＴスピーカを含む、オーディオネットワーク１００として示される例示のメディアネットワークを示す。それらのスピーカは全て、それらの近傍のＢＴスピーカのＢＴレンジ内にある。第１のＢＴスピーカは、Ａ２ＤＰソース１２０として示されるＢＴデジタルオーディオストリーム送信デバイスからの符号化されたオーディオデータのストリームを受信する。ＢＴスピーカチェーンは、近傍のＢＴスピーカ間でマスター−スレーブ関係性を設定する。ＢＴスピーカは、スピーカネットワークチェーン（スキャッタネット）をつくるように、まず互いにワイヤレスに接続され、各パケットは、任意の他のオーディオパケットが処理されるのと同様にＢＴデバイスにより処理されるが、例外として、各パケットが、ＢＴスピーカを時間同期するために、更新されたタイムスタンプと共にチェーンにそって、ラインの次のＢＴスピーカに対して送信される。図１に示すように、ＢＴメディアデバイスがＢＴスピーカを含む例では、ＢＴスピーカはモノラル又はステレオスピーカのいずれかであり得る。
【００２３】
受け取ったストリームに対し、ＢＴスピーカによる操作は何も行われない。ストリームは処理され、そのヘッダが、時間同期情報を含むように変更され、ストリームは、その後、同じアクションを実施するために、チェーン内の次のＢＴデバイスに送信される。スピーカの例では、配置はスピーカのチェーンとして考えられ得、それらの１つがＡ２ＤＰオーディオソースに接続され、同じオーディオがネットワークにおけるスピーカデバイスを介して流れている。
【００２４】
クロックドメインが、スピーカチェーンにおいて近傍のＢＴスピーカ間に示され、クロックドメイン１、２、３は各々、マスター−スレーブペアとして構成され、クロックドメイン１はスピーカ１とスピーカ２との間に示され、クロックドメイン２はスピーカ２とスピーカ３との間に示され、クロックドメイン３はスピーカ３とスピーカ４（図示されない）との間に示される。それぞれのクロックドメインは、各ペアのマスタースピーカデバイスによって設定される。各ペアのマスタースピーカデバイスは、そのローカルクロックを用いて、そのスレーブスピーカデバイスのネットワーククロックを設定する。そのローカルクロックは、そのペイロードとしてメディアデータを含む説明されるパケットのパケット再生時間情報（例えば、ＳＳＲＣフィールドにおけるもの、図２に示される例示のメディアパケット２００におけるＳＳＲＣフィールド２１０を参照）として送信される。
【００２５】
チェーンにおける第１のスピーカであるスピーカ１は、クロックドメイン１における唯一のマスターであり、クロックドメイン１におけるスレーブデバイスであるスピーカ２とクロックドメイン１を共有している。スピーカ２のネットワーククロックは、スピーカ１のローカルクロックに設定され、それは第１のスピーカ＝そのネットワーククロックである。スピーカ２は、クロックドメイン２におけるマスターであり、クロックドメイン２におけるスレーブデバイスであるスピーカ３と共に示され、そのため、スピーカ２（マスターである）のローカルクロックがスピーカ３のネットワーククロックとして用いられ得る。スピーカ３は、クロックドメイン３においてマスターであり、スピーカ４（図示されない）が、クロックドメイン３におけるスレーブデバイスである。これ以降に更に詳細に説明するように、マスターデバイスからスレーブデバイスへのパケット送信によって、クロックドメインは達成される。ここで、マスターからスレーブデバイスに送信される説明されるパケット（下記に説明する図２に示されるメディアパケット２００を参照）は、パケットの再生開始、及びそれまでにカウントされた累積クロックドリフト（差）を含む。ＢＴクロックは、水晶発振器、セラミック共振器、ＲＣ（抵抗器、キャパシタ）フィードバック発振器、又はシリコン発振器を含み得る。
【００２６】
図２は、例示の説明されるメディアパケット２００を示す。メディアパケット２００は、ＢＴパケットのプリアンブルにおける既存のＳＳＲＣフィールド２１０を用いて示される。ＢＴコントローラは、そのピアのＢＴメディアデバイスから、受け取ったＢＴクロックを読み出し、それをＢＴメディアデバイスのローカル時間に変換し、その後、それをチェーンにおける次のＢＴメディアデバイスに送信する前に、それをＳＳＲＣフィールド２１０にストアする。タイムスタンプフィールド２２０は、累積のスピーカのドリフトをストアするために用いられる。また、メディア（例えば、オーディオ）ペイロードフィールド２３０もある。
【００２７】
プリアンブルを用いて説明されているが、時間同期情報は、メディアペイロードフィールド２３０の開始時等に、パケットにおける別の場所にストアされ得る。ＳＳＲＣフィールド２１０及びタイムスタンプフィールド２２０は、双方とも、例として３２ビットとして示されている。図示されるＣＳＲＣリストは、このパケットに含まれるペイロードのための寄与ソースを識別する１６（バイナリ０〜１５）の寄与ソース（ＣＳＲＣ）要素のアレイである。メディアパケット２００は、ピア（チェーンにおける（マスターとしての）前のスピーカデバイス）ＢＴスピーカから、受け取ったＢＴクロックを読み出すこと、それをスピーカのローカルタイムに変換すること、及びチェーンにおける次のＢＴスピーカにパケットを送信する前に、それを再びパケットのＳＳＲＣフィールド２１０にストアすることを反映するために、従来のＢＴ  Ａ２ＤＰパケットにおけるＳＳＲＣフィールド２１０がどのように用いられ得るかを示している。タイムスタンプフィールド２２０は、累積のスピーカのドリフトをストアするために用いられる。
【００２８】
ＢＴクロックは、或るフレーム解像度でティックするＢＴクロックと、マイクロ秒の速度でティックするパケットタイマー（ＰＴ）との、２つのフィールドを含む。例えば、１，２５０マイクロ秒毎に１フレームが経過し、それが１  ＢＴクロックティックである。情報要素がＳＳＲＣフィールド２１０においてストアされ、集合的に２７ビットを含み得るＢＴクロック及びＰＴを含み、残りの５ビット（３２ビットフィールドの場合）は、このパケットが物理バス（例えば、パルスコード変調（ＰＣＭ）バス）を介して送信されるべきである相手先を識別するため、意図された受け取りメディアデバイスの（例えば、スピーカの）アドレス識別をストアするために用いられる。パケットメディアペイロード２３０は概して、ＰＣＭ符号化されたオーディオサンプルを含む。この物理バスは、ＢＴスピーカのクロック間のドリフトがパケット２００において考慮されるため、単なる無線の物理バスではない。
【００２９】
図３Ａは、バッファリング状態における図１に示されるオーディオネットワーク１００において用いられる説明される同期シグナリングを示す。バッファリング状態は、パケットを各ＢＴスピーカのメモリ４２２（例えば、データバッファ）にストアし、それぞれのＢＴスピーカを本質的に同じ時間にオーディオ再生を開始させる。それぞれのＢＴスピーカを本質的に同じ時間にオーディオ再生を開始させることは、ＢＴスピーカ間に、時間同期データ（Ｐ４、Ｐ３、Ｐ２、及びＰ１として示されるパケットを用いて）を送ることと、それぞれのスピーカをそれらのローカルＢＴクロックを用いて時間同期させることとによって行われる。時間同期データは、音楽再生の開始までの、再生前の遅延時間、例えば、将来に向けて〜（約）１００ｍｓ（遅延時間）を含む。ローカルＢＴクロックは、各々異なってクロックする傾向がある。
【００３０】
Ｐ４、Ｐ３、Ｐ２は、各ペアにおいてマスタースピーカデバイスからスレーブスピーカデバイスに送信されるように図示されている。上述したように、各ＢＴスピーカは、そのピア（マスター）ＢＴスピーカから、受け取ったＢＴクロックを読み出すことと、それをＢＴスピーカのローカルクロック時間に変換することと、その後、それを、チェーンにおける次のＢＴスピーカに送信する前に、全てのＢＴスピーカが同じ時間においてスピーキングを開始できるようにさせるための、累積スピーカドリフトを有するタイムスタンプフィールド２２０と共に、ＳＳＲＣフィールド２１０にストアすることとを反映するパケット再生時間（遅延時間を含む）を含むパケットを用いる。マーク（パケット再生時間）に到達すると、それぞれのＢＴスピーカは全て、本質的に同じ時間に、同じオーディオデータの再生を開始する。これは、各ＢＴデバイスが正確なＢＴクロック及びＰＴクロック（ＢＴクロックはスロットでカウントし、各スロットは例えば１，２５０μｓｅｃであり、ＰＴクロックはμｓｅｃでカウントする）を待つということを意味し、そのため、そのスロット内で正確なＢＴクロック補正μｓｅｃ値に到達すると、再生が開始される。各ＢＴスピーカの場合、マスターデバイスから受け取ったＢＴクロック及びＰＴクロック時間は、スレーブのネットワーククロック４０９として与えられ、ローカルクロック４０８（下記の図４Ａにおけるこれらのクロックを参照）で転送される。この時点において、全てのＢＴスピーカの状態は、オーディオサンプルの再生を可能にするために再生に変更される。
【００３１】
図３Ｂは、再生状態における図１に示されるオーディオネットワーク１００において用いられる説明される同期シグナリングを示し、この同期シグナリングは、ＢＴスピーカにネットワーククロックの間のドリフトを追跡させるため及びこのドリフトベースのタイミングエラーを補償するため、スピーカ間のドリフトを調整するために制御データを送信することを含む。図３Ａにおいて図示されるバッファリング状態と同様に、各パケットは、その再生が起きる時間を示すために、遅延時間を含むパケットの再生開始時間を含む。
【００３２】
図４Ａは、ＢＴ通信規格に概して準拠する例示のＢＴメディアデバイス４００を表すシステムブロック図を示す。ＢＴメディアデバイス４００は、ＢＴコントローラ４２５ｂのための半導体表面を有する基板４０５ａ上、及び、ホストプロセッサ４２５ａのための半導体表面を有する別の基板４０５ｂ上に形成されて示される、少なくとも１つの集積回路（ＩＣ）上に概して形成される。ＢＴメディアデバイス４００は、ＢＴ通信を行い得る任意のデバイスであり得る。そのようなＢＴメディアデバイスは、スマートフォン等のモバイルフォン、タブレット、コンピュータ、パーソナルデジタルアシスタント、カメラ、及び、ウィンドウブラインド等の通信機能及びモーションセンサーを備える家庭用品目であり得、又はそれらを含み得、又はそれらの一部であり得る。ＢＴメディアデバイス４００は、スキャッタネットとして、従ってデバイスチェーンにおいて構成されるＢＴネットワークにおいて、他のＢＴメディアデバイスと共に通信する。
【００３３】
ＢＴメディアデバイス４００は、ＨＣＩ  ４３０を介して互いに通信するホストプロセッサ４２５ａ及びＢＴコントローラ４２５ｂを含む。ホストプロセッサ４２５ａは、ＨＣＩコマンドコードを含むＨＣＩ  ＦＷをストアするメモリ４３２を含む。ＢＴコントローラ４２５ｂは、プロセッサ４２３、ホストプロセッサ４２５ａからのコマンドを解析、理解、及びそのコマンドに応じて動作するためのソースコードを含むソフトウェア４２２ａを含むメモリ４２２、及び、概してオフチップであるアンテナ４１８に結合されるように適合されるＲＦドライバ４２４ａを含むトランシーバ４２４を含む。プロセッサは、デジタル信号プロセッサ（ＤＳＰ）又はマイクロコントローラを含み得る。プロセッサは、集合的に、ＢＴメディア動作のためのＢＴプロトコルスタックを実装する。ＢＴメディアデバイス４００は、ローカルクロック４０８及びネットワーククロック４０９も含む。
【００３４】
トランシーバ４２４はまた、説明される同期を実装するための、ソフトウェア４２２ａの代替として用いられ得るデジタルロジック４２４ｂを含むハードウェアを含んで示される。トランシーバ４２４はトランスミッタ及びレシーバを含む。トランスミッタは概して、メディアアクセスコントロール（ＭＡＣ）モジュール、エンコーダ、モジュレータ、逆高速フーリエ変換（ＩＦＦＴ）ユニット、デジタルアナログ変換（ＤＡＣ）／フィルタモジュール、及びＲＦ／アンテナモジュールを含む。レシーバは概して、ＲＦ／アンテナユニット、アナログデジタル変換（ＡＤＣ）／フィルタユニット、ＦＦＴユニット、デモジュレータ、デコーダ、及びＭＡＣモジュールを含む。
【００３５】
メモリ４２２は更に、概して、データ、命令、又はその両方を含む情報をストアするように構成される。メモリ４２２は、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、レジスタ、キャッシュメモリ等のプロセッサ４２３によってアクセス可能な任意の記憶媒体、又は、内部ハードディスク及びリムーバブルディスク等の磁気メディアデバイスであり得る。位相同期ループ（ＰＬＬ）４３２も、ミキシング及び周波数合成を含む目的で提供される。
【００３６】
プロセッサ４２３は、メモリ４２２及びトランシーバ４２４に結合される。幾つかの実装において、トランシーバ４２４は、ＲＦ信号を送信及び受信するためにベースバンドユニット（図４Ａには図示されないが、図４Ｂを参照）及びアナログユニット（図示されない）を含む。ベースバンドユニットは、デジタル信号処理、符号化及び解読、変調及び復調を含むベースバンド信号処理を実施するためのハードウェアを含み得る。アナログユニットは、アナログデジタル変換（ＡＤＣ）、デジタルアナログ変換（ＤＡＣ）、フィルタリング、利得調整、アップコンバージョン、及びダウンコンバージョンを実施するためのハードウェアを含み得る。
【００３７】
アナログユニットは、アクセスポイントからＲＦ信号を受信し、受信したＲＦ信号をベースバンドユニットによって処理されるベースバンド信号にダウンコンバートし得、又は、ベースバンドユニットからベースバンド信号を受信し、受信したベースバンド信号を、アップリンク送信のためにＲＦワイヤレス信号にアップコンバートし得る。アナログユニットは、ＢＴネットワークの無線周波数で発振する搬送波信号を用いてベースバンド信号をアップコンバートし、ＲＦ信号をダウンコンバートするためのミキサーを含む。ＢＴメディアデバイス４００によって用いられるデータ速度は、２．４７２ＧＨｚから２．４７９ＧＨｚの現在のＢＴ周波数帯域内、又は将来用いられる任意のＢＴ周波数帯域内であり得る。
【００３８】
図４Ｂは、図４Ａに示されるＢＴメディアデバイス４００の機能レイヤ図であり、ここでは、ＢＴアプリケーションを含むアプリケーションレイヤ４４０と論理リンク制御及びアダプションレイヤプロトコル（Ｌ２ＣＡＰ）レイヤ４４８とを含むホストプロセッサ４２５ａを示す４００’として示されている。ＢＴプロトコルＲＦＣＯＭＭブロック４４１は、Ｌ２ＣＡＰレイヤ４４８の最上位に作られたトランスポートプロトコルのシンプルなセットである。電話制御プロトコル仕様（ＴＣＳ）４４２は、ＢＴデバイス間で音声通話を送信するための手法を定義する。サービスディスカバリプロトコル（ＳＤＰ）４４３は、ＵＵＩＤのレンジ（公称１２８ビット）をより短い様式において表すための手法を定義する仕様である。ポイント・ツー・ポイントプロトコル（ＰＰＰ４４４）は、２つのノード間に直接接続を確立するために用いられるデータリンク（レイヤ２）プロトコルである。トランスミッション制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）４４５は、ＢＴデバイスにＴＣＰ／ＩＰトラフィックを搬送させ得、ＯＢＥＸ４４６は、ＢＴデバイス間のバイナリオブジェクトの交換を促進する通信プロトコルであり、ＡＴコマンドインタフェース（ＡＴ）４４７は、アナログモデム上で機能を有効化させるために用いられる一連の機械命令を含むコマンドインタフェースである。
【００３９】
ＢＴコントローラ４２５ｂは、リンクマネージャプロトコル（ＬＭＰ）４２６、ベースバンド選択、及び図４Ａに示されるトランシーバ４２４の一部であるＲＦセクションを含んで示される。ＢＴコントローラ４２５ｂはまた、ベースバンド回路要素４２７及びＲＦ回路要素４２８を含んで示される。ＬＭＰ４２６は、２つの近傍のＢＴメディアデバイス間のＢＴ接続の動作の全ての局面の制御及びネゴシエーションを行う。
【００４０】
説明される時間同期は、ＢＴコントローラにより完全に実施され得、そのため、ＢＴメディアデバイスを同期させるためのホストプロセッサが必要なく、従って電力が節電される。同期レベルは概して、再生の開始時において〜３０μｓｅｃであり、これは、コマンドを実行するソフトウェアと、ＰＣＭライン等の物理的バスライン上でのＢＴメディアデバイスのハードウェア出力データとの間の考慮されない時間である。ドリフトレベルは、時間当たり約４ｍｓｅｃであり、それは、相対的に長い時間期間に対する時間同期アルゴリズムのアクティビティにおける累積誤差である。音楽愛好家の人の耳は、〜２０ｍｓｅｃにおけるシフトを検出し得る。それは、ネットワークにおけるＢＴスピーカ間のオーディオ同期に対する性能水準が充分過ぎることを意味する。
【００４１】
遅延時間〜１００ｍｓ（将来に向けて）の後再生を開始するように、オーディオ又は関連するビデオを備えるオーディオ（例えば、上述したように、ソースデバイスとシンクデバイスとの間の同期が動画において画像と音声を同期させるためにも用いられ得る）の開始をスケジューリングすることによって、その結果、チェーンにおける他のＢＴスピーカが、再生開始の前に大量のサンプルをバッファするための時間を持つことができる。この１００ｍｓのパラメータはテスト済みであり、最大６ＢＴスピーカを用いて良好に動作する。しかしながら、この遅延時間は概して、ユーザによって構成可能である。オーディオ並びに遅延時間を備えるパケットを事前にスピーカに送信し、ＢＴクロックを用いてスピーカを同期させることによって、スピーカは同期し得、実質的に同じ時間（〜３０μｓｅｃの差）にオーディオの再生を開始し得る。
【００４２】
上述したように他の解決策は２つのＢＴメディアデバイス（マスターと１つのスレーブ）のみをサポートするが、説明される実施形態は、６又はそれ以上のスピーカをサポートし得る。概して、チェーンにおけるスピーカの数について制限はない。実際は、説明されるネットワークは、単に内部デバイスメモリ制限に起因して、６個のＢＴデバイスに制限される。より多くのメモリがあれば、より多くのスピーカをネットワークに付加することができる。説明される実施形態はスキャッタネットトポロジーを用いるが、他のＢＴスピーカ解決策はピコネットスタートポロジーを用いる。
【００４３】
説明される解決策はまた、データを送るためのパケットリトライを可能にし、任意のパケットが再送信されなければならない場合は、リカバーするための充分な時間を可能にする。既知の同期解決策に比較すると、その他の全ての同期解解決策はミリ秒解像度で同期を提供するが、説明される実施形態はマイクロ秒解像度を提供することを含む利点を有する。また、上述したように、説明される同期は、６又はそれ以上の同期されたＢＴスピーカのために用いられ得、一方、他の解決策は、２つの同期ＢＴスピーカのみに制限される。
【００４４】
図５は、例示の実施形態に従った、ＢＴ同期されたメディアストリーミングの例示の方法５００のためのフローチャートである。ステップ５０１は、ストアされた時間同期アルゴリズムを走らせ、ローカル及びネットワーククロックを有するプロセッサを含むＢＴコントローラを各々が含む、第１、第２、及び第３のＢＴメディアデバイスを含むＢＴメディアデバイスをスキャッタネットチェーンに構成することを含む。ステップ５０２は、第１のＢＴメディアデバイスが、ＢＴデジタルメディアストリーム送信デバイスから、符号化されたメディアデータのストリームを受け取ることを含む。ステップ５０３は、第１のデバイスの時間同期アルゴリズムが、符号化されたメディアデータと、第２のＢＴメディアデバイスのためのアドレスと、第２のＢＴメディアデバイスのための時間同期情報とを含む少なくとも第１のＢＴメディアパケットをフォーマットすることを含み、第２のＢＴメディアデバイスのための時間同期情報は、遅延時間を含む第１のＢＴメディアパケットの再生開始時間、及びチェーンにおいてそれまでにカウントされた累積クロックドリフトを含む。
【００４５】
ステップ５０４は、第１のＢＴメディアデバイスが第１のＢＴメディアパケットを第２のＢＴメディアデバイスに送信することを含む。ステップ５０５は、第２のＢＴメディアデバイスの時間同期アルゴリズムが、符号化されたメディアデータと、第３のＢＴメディアデバイスのためのアドレスと、第２のＢＴメディアパケットの再生開始時間を含む第３のＢＴメディアデバイスのための更新された時間同期情報とを含む少なくとも第２のＢＴメディアパケットをフォーマットすることを含む。第２のＢＴメディアパケットの再生開始時間は、第２のＢＴコントローラのローカルクロック時間、第２のＢＴコントローラクロックのドリフト及び遅延時間値、及び、デバイスチェーンにおいてそれまでにカウントされた累積クロックドリフトを含む。ステップ５０６は、第２のＢＴメディアデバイスが第２のＢＴメディアパケットを第３のＢＴメディアデバイスに送信することを含む。ステップ５０７は、時間同期アルゴリズムが、符号化されたメディアデータのストリームの同期された再生を開始することを含み、符号化されたメディアデータのストリームは、遅延時間に到達した後に、第１のＢＴメディアデバイスが再生すること、第１のＢＴメディアパケットの再生開始時間に到達した後に、第２のＢＴメディアデバイスが再生すること、及び、第２のＢＴメディアパケットの再生開始時間に到達した後に、第３のＢＴメディアデバイスが再生することを含む。
【００４６】
遅延時間は概して、少なくとも５０ｍｓｅｃであり、再生を開始する前に、全てのＢＴメディアデバイスが所定の複数のＢＴメディアパケットをそれらのメモリにストアするために充分な時間を可能にするように選択される。ＢＴメディアデバイスがＢＴ  Ａ２ＤＰスピーカを含む場合、それらは、マルチルームスピーカ動作を可能にするためのアプリケーションプログラミングインタフェース（ＡＰＩ）を呼び出すことによって、ＢＴレンジ内の異なるルームに及ぶ。ＢＴメディアデバイスは概して、同期された再生の開始時に、＜５０μｓｅｃの同期レベルを提供し、この同期レベルを再生の間維持する。
【００４７】
実施例
説明される実施形態は、下記の実施例により更に例証されるが、それらは、如何なる場合も本明細書の範囲又は内容を限定するものではない。
【００４８】
説明される時間同期が、６個のＢＴスピーカのＢＴメディアスキャッタネットチェーンに対して用いられた。その際、オーディオサンプルと、チェーンにおける他の全てのＢＴスピーカが再生を開始する前に、大量のパケットサンプルをバッファするために充分な時間を有するように〜１００ｍｓ（将来に向けて）の遅延時間を用いる時間同期情報とを有するＢＴオーディオパケットが用いられた。ＢＴスピーカは、全て、３０μｓｅｃの差の範囲内の実質的に同じ時間に同じオーディオサンプルの再生を開始した。再生の開始後、第１のＢＴスピーカは、そのローカルクロックとネットワーククロックとの間のドリフト値を含む更新されたＢＴオーディオパケットを第２のＢＴスピーカに送信し、第２のＢＴスピーカは、クロック間のドリフト値を含む更新されたＢＴオーディオパケットを第３のＢＴスピーカ等に送信する。クロックドリフト値は、クロックドリフトを補正する「スピーキング」のための時間を変更するために用いられる。
【００４９】
図６は、３ＢＴスピーカデバイスチェーンの例のための説明される時間同期情報を有するオーディオパケット１及び２（ＡＶＤＴＰパケット１及び２として示される）を示す簡略化されたオーディオの例を示す。ＢＴスピーカデバイスは、上述したように、各々、ＦＷにおいて、ストアされた同期アルゴリズムを走らせるＢＴコントローラを含み、両デバイスは、ローカルクロックとネットワーククロックとを有する。スピーカデバイス１のＢＴコントローラ１は、Ａ２ＤＰソース等のＢＴデジタルオーディオストリーム送信デバイスから、符号化されたオーディオデータのストリームを受け取る。
【００５０】
ＢＴコントローラ１は、ネットワーククロックとしても用いられるローカルクロックを有し、従って、チェーンにおける第１のデバイスであるので、単一（同一）のクロックのみを有して示される。それは２００μｓの時間を用いて示され、そのため、クロック差がない。ＢＴコントローラ１は、図２に示される例示のメディアパケット２００に基づいてＡＶＤＴＰパケット１として示されるＡＶＤＴＰパケットをフォーマットする。ＳＳＲＣフィールド２１０は、そのローカルクロックから２００μｓの時間値、及び１００ｍｓｅｃなどの遅延時間値（ディレイ）を表す。
【００５１】
タイムスタンプフィールド２２０は、累積されたスピーカのドリフトをストアする。チェーンにおける第１のスピーカデバイスであるチェーンのこのポイントにおいて、ドリフトはゼロである。図６に示される「Ｘ」は、オーディオソースのローカルクロック（図示されない）とＢＴコントローラ１のローカルクロックとの間のドリフトである。図示されるパケットＩＤは、各パケットに対し一意の識別（ＩＤ）を提供し、それにより、パケットが確実に順次的な順に受け取られることを可能にし、パケットが途中で紛失していないことがわかるようにする。また、各パケットに対して同じ差が計算される。図示されないが、ＡＶＤＴＰパケット１は、パルス変調（ＰＣＭ）符号化されたオーディオサンプルを含むメディアペイロードを有し、ＢＴコントローラ２を含むスピーカデバイス２を識別するようにアドレスされる。ＢＴコントローラ２は、ＰＣＭバス等の物理的バスを介して送信されるＡＶＤＴＰパケット１がアドレスされる相手先である。
【００５２】
ＢＴコントローラ２を含むスピーカ２デバイスは、ＡＶＤＴＰパケット１を受け取るように示される。ＢＴコントローラ２は、６２５μｓｅｃのローカルクロック時間、２００μｓｅｃのネットワーククロック時間を有して示され（ネットワーククロック時間はＢＴコントローラ１から受け取り、ＢＴコントローラ１のローカルクロック時間と同じである）、そのため、ＢＴコントローラ２は、４２５μｓｅｃのクロック差（又はクロックドリフト）を有する。ＢＴコントローラ２は、ＡＶＤＴＰパケット１と同様に、図２に示される例示のメディアパケット２００に再び基づいてＡＶＤＴＰパケット２として示されるＡＶＤＴＰパケットをフォーマットする。ＳＳＲＣフィールド２１０は、ＢＴコントローラ２のローカルクロック（６２５μｓｅｃ）−（マイナス）そのクロックドリフト（４２５μｓｅｃ）及び遅延時間値を反映するパケット２再生開始時間を提供する。
【００５３】
ＢＴコントローラ２は、このように、ＢＴスピーカデバイス１からの受け取った２００μｓｅｃのＢＴクロック時間をスピーカ２のローカル時間に変換し、この時間同期情報を、ＡＶＤＴＰパケット２のＳＳＲＣフィールド２１０にストアする。また、ＡＶＤＴＰパケット２は、チェーンにおけるそれまでの更新された累積クロックドリフトをタイムスタンプフィールド２２０に含むようにフォーマットされる。それは、Ｘ（ＡＶＤＴＰパケット１から）、及びＢＴコントローラ１のローカルクロックとＢＴコントローラ２のローカルクロックとの間のドリフトであるＹを含み、また４２５μｓｅｃ（ＢＴコントローラ１からの０値及びＢＴコントローラ２からの４２５μｓｅｃの値）の累積クロックドリフトが示される。図示されないが、ＡＶＤＴＰパケット２は、同じＰＣＭ符号化されたオーディオサンプルを含むペイロードを有し、ＰＣＭバス等の物理的バスを介して送信されるＡＶＤＴＰパケット２がアドレスされる相手先のスピーカデバイス３を識別するためにアドレスされる。
【００５４】
ＢＴコントローラ３を含むスピーカ３デバイスは、ＡＶＤＴＰパケット２を受け取るように示される。ＢＴコントローラ３は、１５０μｓｅｃのローカルクロック及び６２５μｓｅｃのネットワーククロック時間（ＢＴコントローラ２のローカルクロック時間）を有するように示され、そのため、ＢＴコントローラ３は、４７５ｓｅｃのクロック差を有する。ＢＴコントローラ３は、ＢＴコントローラ３（１５０μｓｅｃ）−（マイナス）そのクロックドリフト（４７５μｓｅｃ）及び遅延時間値のローカルクロックを反映するＡＶＤＴＰパケット２の再生開始時間を計算する。
【００５５】
それぞれの時間同期アルゴリズムは、同じＰＣＭ符号化オーディオサンプルの同期された再生を開始する。この同じＰＣＭ符号化オーディオサンプルは、遅延時間に到達した後の第１のＢＴスピーカ再生、ＡＶＤＴＰパケット１の再生開始時間に到達した後に、第２のＢＴデバイスは再生を開始し、及びＡＶＤＴＰパケット２の再生開始時間に到達した後に、第３のＢＴメディアデバイスは再生を開始することを含む。ＡＶＤＴＰパケット１及びＡＶＤＴＰパケット２は、同じパケットＩＤ及び同じオーディオデータを有し、パケット上のパケットタイミングデータのみが異なる。それぞれのスピーカは、全て、再生の開始時に、＜３０μｓｅｃの時間同期範囲内に開始し、その結果、ＢＴスピーカは実質的に同じ時間に同じオーディオデータで再生を開始する。また、上述したように、上述のバッファリング状態と同様に、再生の間、各パケットは、その再生がいつ予定されているかを示すようにタイムスタンプされ、及びネットワーククロック間のドリフトを追跡することと時間同期エラーのこのソースを補正することとによって、再生が開始した後にスピーカ間の時間同期が維持される。
【００５６】
説明される解決策は、標準Ａ２ＤＰソースからのストリーミングされたオーディオを配信することに関して説明されているが、それらは、より一般的に、動画において画像と音声とを同期させるためにＡ２ＤＰを実装する任意のグループのデバイスに対して用いられ得る。
【００５７】
特許請求の範囲内で、説明した実施形態における変更が可能であり、他の実施形態が可能である。
【図１】
2020533851.tif 000003
【図２】
2020533851.tif 000004
【図３Ａ】
2020533851.tif 000005
【図３Ｂ】
2020533851.tif 000006
【図４Ａ】
2020533851.tif 000007
【図４Ｂ】
2020533851.tif 000008
【図５】
2020533851.tif 000009
【図６】
2020533851.tif 000010
【国際調査報告】
2020533851.tif 000011