(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-08
(45)【発行日】2022-11-17
(54)【発明の名称】ブルートゥースメディアデバイス時間同期
(51)【国際特許分類】
H04L 7/00 20060101AFI20221109BHJP
H04R 3/12 20060101ALI20221109BHJP
G10K 15/02 20060101ALI20221109BHJP
【FI】
H04L7/00 990
H04R3/12 Z
G10K15/02
(21)【出願番号】P 2020513632
(86)(22)【出願日】2018-09-06
(86)【国際出願番号】 US2018049752
(87)【国際公開番号】W WO2019051089
(87)【国際公開日】2019-03-14
【審査請求日】2021-09-03
(32)【優先日】2017-09-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507107291
【氏名又は名称】テキサス インスツルメンツ インコーポレイテッド
(74)【代理人】
【識別番号】230129078
【氏名又は名称】佐藤 仁
(72)【発明者】
【氏名】ラム マロバニー
(72)【発明者】
【氏名】チェン ローイ
(72)【発明者】
【氏名】ドタン ジヴ
(72)【発明者】
【氏名】デイビッド レヴィ
【審査官】阿部 弘
(56)【参考文献】
【文献】米国特許出願公開第2003/0152110(US,A1)
【文献】特開2004-104796(JP,A)
【文献】国際公開第2017/044417(WO,A1)
【文献】米国特許出願公開第2002/0136198(US,A1)
【文献】特開2004-274104(JP,A)
【文献】Matthias Ringwald et al.,Practical time synchronization for Bluetooth Scatternets,2007 Fourth International Conference on Broadband Communications, Networks and Systems (BROADNETS '07),IEEE,2007年09月10日,pp. 1-9,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4550453
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
H04R 3/12
G10K 15/02
(57)【特許請求の範囲】
【請求項1】
ブルートゥース(BT)同期メディアストリーミングの方法であって、
第1、第2及び第3のBTメディアデバイスを含むスキャッタネットチェーンにBTメディアデバイスを構成することであって、前記第1、第2及び第3のBTメディアデバイスの各々が、ストアされた時間同期アルゴリズムを走らせるプロセッサを含むBTコントローラを含み、前記BTコントローラが、ローカルクロックとネットワーククロックとを有する、前記BTメディアデバイスを構成すること、
前記第1のBTメディアデバイスが、符号化されたメディアデータのストリームをBTデジタルメディアストリーム送信デバイスから受け取ることと、
前記第1のBTメディアデバイスの前記時間同期アルゴリズムが少なくとも第1のBTメディアパケットをフォーマットすることであって、前記少なくとも第1のBTメディアパケットが、前記符号化されたメディアデータと、前記第2のBTメディアデバイスのためのアドレスと、前記第2のBTメディアデバイスのための時間同期情報とを含み、前記時間同期情報が、遅延時間を含む前記第1のBTメディアパケットの再生開始時間と、前記チェーンにそれまでカウントされた累積クロックドリフトとを含む、前記少なくとも第1のBTメディアパケットをフォーマットすることと、
前記第1のBTメディアデバイスが前記第1のBTメディアパケットを前記第2のBTメディアデバイスに送信することと、
前記第2のBTメディアデバイスの前記時間同期アルゴリズムが少なくとも第2のBTメディアパケットをフォーマットすることであって、前記少なくとも第2のBTメディアパケットが、前記符号化されたメディアデータと、前記第3のBTメディアデバイスのためのアドレスと、前記第3のBTメディアデバイスのための更新された時間同期情報とを含み、前記更新された時間同期情報が、前記第2のBTメディアパケットの再生開始時間を含み、前記第2のBTメディアパケットの再生開始時間が、第2のBTコントローラの前記ローカルクロックの時間と、前記第2のBTコントローラ
のクロックのドリフト及び遅延時間と、前記チェーンにおいてそれまでにカウントされた前記累積クロックドリフトであり現在前記第2のBTメディアデバイスの前記ローカル及びネットワーククロックを含む前記累積クロックドリフトとを含む、前記少なくとも第2のBTメディアパケットをフォーマットすることと、
前記第2のBTメディアデバイスが前記第2のBTメディアパケットを前記第3のBTメディアデバイスに送信することと、
前記時間同期アルゴリズムが前記符号化されたメディアデータのストリームの同期された再生を開始することであって、前記遅延時間が到達した後に前記第1のBTメディアデバイスが再生することと、前記第1のBTメディアパケットの再生開始時間が到達した後に前記第2のBT
メディアデバイスが再生することと、前記第2のBTメディアパケットの再生開始時間が到達した後に前記第3のBTメディアデバイスが再生することとを含む、前記符号化されたメディアデータのストリームの同期された再生を開始することと、
を含む、方法。
【請求項2】
請求項1に記載の方法であって、
前記遅延時間が、少なくとも50msecであって、全ての前記BTメディアデバイスに対して、前記再生を開始する前に所定の複数の前記BTメディアパケットをそれらのメモリにストアするために充分な時間を可能にするように選択される、方法。
【請求項3】
請求項1に記載の方法であって、
前記BTメディアデバイスの各々が、BT高度オーディオ配信プロファイル(A2DP:Advanced Audio Distribution Profile)スピーカを含み、前記BTデジタルメディアストリーム送信デバイスがA2DPオーディオデータソースを含む、方法。
【請求項4】
請求項3に記載の方法であって、
マルチルームスピーカ動作を可能にするためにアプリケーションプログラミングインタフェース(API)を呼び出すことを更に含み、前記BT A2DPスピーカがBTレンジ内の異なるルームに広がる、方法。
【請求項5】
請求項1に記載の方法であって、
前記同期情報が、前記第1のBTメディアパケットのプリアンブルと前記第2のBTメディアパケットのプリアンブルとにある、方法。
【請求項6】
請求項1に記載の方法であって、
前記BTメディアデバイスが、前記同期された再生の開始時に50μ秒より小さい同期レベルを提供する、方法。
【請求項7】
請求項1に記載の方法であって、
前記同期された再生の前記開始の後の時間に、前記符号化されたメディアデータの新しいストリームを用いて、前記BTコントローラクロックのドリフトのための更新されたクロックドリフト値とカウントされた累積ドリフトとを反映させるために、前記第1のBTメディアパケットを更新して前記第2の
BTメディアパケットを更新することであって、前記第2のBTメディアデバイスと前記第3のBTメディアデバイスとが、クロックドリフトを補償するように再生の時間を変更するために、前記更新されたクロックドリフト値を用いる、前記更新することを更に含む、方法。
【請求項8】
請求項1に記載の方法であって、
前記BTコントローラが、少なくとも半導体表面を有する基板を含む集積回路(IC)上に形成され、前記プロセッサがデジタル信号プロセッサ(DSP)を含む、方法。
【請求項9】
ブルートゥース(BT)コントローラであって、
メモリとトランシーバとに結合されるプロセッサと、前記トランシーバを駆動するためのRFドライバであって、アンテナに結合されるように適合される、前記RFドライバとを含み、前記メモリが、ホストプロセッサから受信したコマンドを解析し、理解してこのコマンドに応じて動作するためのソフトウェアを含み、前記ホストプロセッサが、ホストコントローラトランスポートレイヤとHCIドライバとを含むホストコントローラインタフェース(HCI)を含み、前記HCIドライバが、第2のBTメディアデバイスを提供するために結合されるように構成され、前記BTコントローラが、前記メモリにストアされた時間同期アルゴリズムを含み、ローカルクロックとネットワーククロックとを有する、ファームウェアを動作させ、
前記BTコントローラが、前記第2のBTメディアデバイスと第3のBTメディアデバイスとを含むスキャッタネットチェーンにおける第1のBTメディアデバイスから第1のBTメディアパケットを受け取り、前記第1のBTメディアデバイスの前記時間同期アルゴリズムが、少なくとも前記第1のBTメディアパケットをフォーマットし、前記少なくとも前記第1のBTメディアパケットが、BTデジタルメディアストリーム送信デバイスから発せられる符号化されたメディアデータのストリームと前記第2のBTメディアデバイスのための時間同期情報とを含み、前記時間同期情報が、遅延時間を含む前記第1のBTメディアデバイスのパケットの再生開始時間と、前記ローカルクロックと前記第1のBTメディアデバイスの前記ネットワーククロックとの間の時間差を含む前記チェーンにおいてそれまでカウントされた累積ドリフトとを含み、
前記ローカルクロックからの時間を用いて、前記第2のBTメディアデバイスの前記時間同期アルゴリズムが、少なくとも第2のBTメディアパケットをフォーマットし、前記少なくとも第2のBTメディアパケットが、前記符号化されたメディアデータと前記第3のBTメディアデバイスのためのアドレスと前記第3のBTメディアデバイスのための更新された時間同期情報とを含み、前記更新された時間同期情報が、第2のBTコントローラの前記ローカルクロックを含む前記第2のBTメディアパケットの再生開始時間と、前記第2のBTコントローラのクロックドリフト及び前記遅延時間と、現在は前記第2のBTメディアデバイスの前記ローカル及びネットワーククロックを含む、前記チェーンにおいてそれまでにカウントされた累積ドリフトとを含み、
前記第2のBTメディアデバイスが前記第2のBTメディアパケットを前記第3のBTメディアデバイスに送信することに続いて、前記時間同期アルゴリズムが、前記符号化されたメディアデータのストリームの同期再生を開始し、前記第1のBTメディアパケットの再生開始時間が到達した後に前記第2のBT
メディアデバイスが再生することと、前記遅延時間が到達した後に前記第1のBTメディアデバイスが再生することと、前記第2のBTメディアパケットの再生開始時間が到達した後に前記第3のBTメディアデバイスが再生することとを含む、BTコントローラ。
【請求項10】
請求項9に記載のBTコントローラであって、
前記BTコントローラが少なくとも半導体表面を有する基板を含む集積回路(IC)上に形成され、前記プロセッサがデジタル信号プロセッサ(DSP)を含む、BTコントローラ。
【請求項11】
請求項9に記載のBTコントローラであって、
前記第1、第2及び第3のBTメディアデバイスの各々が、BT高度オーディオ配信プロファイル(A2DP)スピーカを含み、前記BTデジタルメディアストリーム送信デバイスがA2DPオーディオデータソースを含む、BTコントローラ。
【請求項12】
請求項9に記載のBTコントローラであって、
前記同期情報が、前記第1のBTメディアパケットのプリアンブルと、前記第2のBTメディアパケットのプリアンブルとにある、BTコントローラ。
【請求項13】
請求項9に記載のBTコントローラであって、
前記第1、第2及び第3のBTメディアデバイスが前記同期された再生の開始時に50μ秒より小さい同期レベルを提供する、BTコントローラ。
【請求項14】
ブルートゥース(BT)メディアデバイスであって、
ホストコントローラトランスポートレイヤとHCIドライバとを含むホストコントローラインタフェース(HCI)によって互いに結合されるホストプロセッサとBTコントローラとを含み、前記ホストプロセッサが、アプリケーションレイヤを実装し、前記ホストコントローラトランスポートレイヤを介して前記BTコントローラと通信するためのHCIファームウェアを含み、前記BTメディアデバイスが、第2のBTメディアデバイスと、前記第2のBTメディアデバイスに結合されるための第3のBTメディアデバイスとを含むスキャッタネットチェーンにおいて構成され、
前記BTコントローラが、メモリとトランシーバとに結合されるプロセッサと、アンテナに結合されるように適合されてトランシーバを駆動するためのRFドライバとを含み、前記メモリが、前記ホストプロセッサから受信したコマンドを解析し、理解してこのコマンドに応じて動作するためのソフトウェアを含み、前記BTコントローラが、前記メモリにストアされた時間同期アルゴリズムを含み、ローカルクロックとネットワーククロックとを有する、ファームウェアを動作させ、
前記BTコントローラが、第1のBTメディアパケットを前記第2のBTメディアデバイスから受け取り、前記BTメディアデバイスの前記時間同期アルゴリズムが、少なくとも前記第1のBTメディアパケットをフォーマットし、前記少なくとも前記第1のBTメディアパケットが、BTデジタルメディアストリーム送信デバイスから発せられる符号化されたメディアデータのストリームと前記第2のBTメディアデバイスのための時間同期情報とを含み、前記時間同期情報が、遅延時間を含む前記第1のBTメディアパケットの再生開始時間と、前記ローカルクロックと第1のBTメディアデバイスの前記ネットワーククロックとの間の時間差を含む前記チェーンにおいてそれまでにカウントされた累積クロックドリフトとを含み、
前記ローカルクロックからの時間を用いて、前記第2のBTメディアデバイスの前記時間同期アルゴリズムが、少なくとも第2のBTメディアパケットをフォーマットし、前記少なくとも第2のBTメディアパケットが、前記符号化されたメディアデータと、前記第3のBTメディアデバイスのためのアドレスと、前記第3のBTメディアデバイスのための更新された時間同期情報とを含み、前記更新された時間同期情報が、第2のBTコントローラのローカルクロックを含む前記第2のBTメディアパケットの再生開始時間と、前記第2のBTコントローラのクロックドリフト及び遅延時間と、現在は前記第2のBTメディアデバイスの前記ローカル及びネットワーククロックを含む、前記チェーンにおいてそれまでにカウントされた累積ドリフトとを含み、
前記第2のBTメディアデバイスが前記第2のBTメディアパケットを前記第3のBTメディアデバイスに送信することに続いて、前記時間同期アルゴリズムが、前記符号化されたメディアデータのストリーム同期再生を開始し、前記第1のBTメディアパケットの再生開始時間が到達した後に前記第2のBT
メディアデバイスが再生することと、前記遅延時間が到達した後に前記第1のBTメディアデバイスが再生することと、前記第2のBTメディアパケットの再生開始時間が到達した後に前記第3のBTメディアデバイスが再生することとを含む、BT
メディアデバイス。
【請求項15】
請求項14に記載のBT
メディアデバイスであって、
前記第1、前記第2及び前記第3のBTメディアデバイスの各々が、BT高度オーディオ配信プロファイル(A2DP)スピーカを含み、前記BTデジタルメディアストリーム送信デバイスがA2DPオーディオデータソースを含む、BT
メディアデバイス。
【請求項16】
請求項14に記載のBT
メディアデバイスであって、
前記同期情報が、前記第1のBTメディアパケットのプリアンブルと、前記第2のBTメディアパケットのプリアンブルとにある、BT
メディアデバイス。
【請求項17】
請求項14に記載のBT
メディアデバイスであって、
前記第1、前記第2及び前記第3のBTメディアデバイスが、前記同期された再生の開始時に50μ秒より小さい同期レベルを提供する、BT
メディアデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、全般的に、ワイヤレス通信に関し、特に、ブルートゥースを用いるメディアデータ(ビデオ及びオーディオデータ)のワイヤレスデバイス通信に関する。
【背景技術】
【0002】
ブルートゥース(BT)は、速度が問題ではない場合に、電話、プリンタ、モデム、及びヘッドセットを含み、互いに近い2つ又はそれ以上のデバイス間で情報を転送するときに概して用いられるワイヤレス通信規格であるアドホックネットワーキング技術の例である。BTは、電話(例えば、BTヘッドセット)を用いる音声データの転送、又は(ファイルを転送する)ハンドヘルドコンピュータを用いる、或いはキーボードやマウスからの、バイトデータの転送を含む低帯域幅応用例に対して良好に適合する。BT SIG(Special Interest Group)仕様は、これらの通信に対して用いられ得る。
【0003】
BTデバイスは高品質オーディオ配信をサポートする。従来の使用例の一つは、ステレオミュージックプレイヤーからヘッドフォン又はスピーカへの音楽コンテンツのストリーミングである。オーディオデータは、限られた帯域の効果的な使用のための適切なフォーマットに圧縮される。別の使用例が、例えば、動画における画像と音声の同期である。
【0004】
BTプロファイルが、デバイス間のBTベースのワイヤレス通信の態様に関する仕様である。BTプロファイルは、BTコア仕様及び任意選択の他の付加的なプロトコルの最上位にある。オーディオ/ビデオ配信トランスポートプロトコル(AVDTP)は、オーディオストリーミングパラメータのネゴシエーションのためのシグナリングエンティティとストリーミング自体を扱うトランスポートエンティティとを含む。AVDTPは、BT送信におけるビデオ配信プロファイルのために意図された論理リンク制御及びアダプテーションレイヤプロトコル(L2CAP)チャネルを介して音楽をステレオヘッドセットにストリーミングするために、高度オーディオ配信プロファイルによって用いられる。
【0005】
高度オーディオ配信プロファイル(A2DP:Advanced Audio Distribution Profile)はAVDTPの使用を定めるものであり、BTオーディオストリーミングと称されることもある。今日のスマートフォンの多くは、A2DPデバイスに接続し、オーディオを送信することが可能である。A2DPは、非同期コネクションレス(ACL)チャネル上でモノラル又はステレオで高品質オーディオのオーディオコンテンツの配信を実現するBTプロトコル及びプロシージャを定義する。A2DPは、BT接続を、見えない補助オーディオケーブルに効果的に変換させる。例えば、A2DPを用いて、音楽がモバイルフォンから、ワイヤレスヘッドセット、聴覚補助/渦巻管インプラントストリーマー、カーオーディオにストリーミングされ得、又はラップトップ/デスクトップからワイヤレスヘッドセットにストリーミングされ得る。音声がマイクロフォンデバイスからレコーダにストリーミングされ得る。
【0006】
BTは、スピーカ等のそれぞれのBTデバイス間でオーディオを同期させるための固有の方法を持たない。BT SIG仕様において、受け取った各パケットに対する受け取りデバイスのタイミング同期プロセスを補助するために、各BTパケットのプリアンブルに同期コードが埋め込まれている。WiFiとは異なり、BT送信に対して用いられる低い相対電力により、BTは、非常に限られた同報通信能力を有する。また、BTにおける同報通信は、受け取りデバイスによってベースバンドアクノレッジメント(ACK)フレームが提供されないため、受信されることが保証されていない。同期はデバイスのホストプロセッサレベルにおいて実施され得るが、それは大きな付加的な電力を必要とし、また実装も相対的に複雑である。現在既知のオーディオ同期解決策は、オーディオトランスミッタとしてマスターを備え単一のオーディオレシーバとしてスレーブを概して備えるピコネットトポロジーにおける2つのオーディオデバイスのみを概してサポートする。
【発明の概要】
【0007】
ユーザメディアアプリケーション(サラウンドサウンド、ソーシャルミュージック再生、ジュークボックス用途、及び、BTスピーカのネットワークへのスピーカのアドホック追加を含むオーディオ用途等)の説明される例において、個別の(非電気的に接続された)BTスピーカが、同じBT接続を介して同じオーディオストリームから接続及び再生する。これらのオーディオ応用例が良好なサウンド品質を提供するためには、例えば標準BT A2DPを介して、(再生時に)全ての再生がユーザに同時に聞こえるように、全てのBTスピーカに対して正確な時間同期が必要である。説明される実施形態は、ストリーミングされたオーディオを標準A2DPソースから配信するが、説明される実施形態は概して、例えば、映画において画像と音声を同期させるため等に、A2DPを実装するBTデバイスの任意のグループに対して用いられ得る。
【0008】
BTメディアデバイスを、スキャッタネットで、従ってデバイスチェーンに構成することと、新しいBTパケットにおいて各BTコントローラのローカルクロック及びネットワーククロックからの時間同期情報を用いることとによって、BTデバイスのBTコントローラは、メディア(例えば、オーディオ)ストリームを外部ソースデバイス(例えば、モバイルフォン等のA2DP)からBTを介して受け取り得、チェーン内の他のBTデバイス(例えば、スピーカ)を時間同期させ得る。説明されるパケットは、改変されたBT SIG AVDTPパケットを含み得、改変されたBT SIG AVDTPパケットは、遅延時間を含むパケットの再生開始時間と、デバイスチェーンにおいてそれまでにカウントされた累積ドリフト(ドリフトは各デバイスのローカルクロックとそのネットワーククロックとの間の時間差である)とgdを含む、付加されたタイミング情報を含む。遅延時間は、チェーン内の全てのBTスピーカが再生開始の前にパケットをそれらのメモリにストアすることができるように充分な時間を可能にするように選択される。
【0009】
BTスピーカチェーンにおける第1のBTメディアデバイスは、タイミング情報を備える説明されるパケットを、第2のBTメディアデバイスに送信し、第1のBTメディアデバイスは、チェーン内の全ての他のBTメディアデバイスが時間同期する相手先のメディアデバイスである。第1のBTメディアデバイスは、A2DPソースが直接的に接続される相手先のデバイスであり、A2DPソースから物理的に最も遠い、A2DPソースに最も近い、又はその間の任意のチェーン位置のメディアデバイスであり得る。ストリーム発信元(A2DPソース)は、BTメディアデバイスの同期されたネットワークの一部であり得る(説明されるBTメディアデバイスによって送信される場合)、又はそれは、同期されたネットワークに対して外部のソースであり得る。オーディオの場合、説明される解決策は、ストリーミングされたオーディオを標準A2DPソースから配信することを可能にし、標準A2DPソースは潜在的に、概して<30μsecの時間同期の任意のA2DP互換デバイスであり得る。
【0010】
一つの説明される実施形態が、BT同期されたメディアストリーミングの方法を含む。BTメディアデバイスが、第1、第2、及び少なくとも第3のBTメディアデバイスを含んでスキャッタネットチェーンにおいて構成される。各メディアデバイスは、ストアされた説明される時間同期アルゴリズムを走らせ、ローカルクロック及びネットワーククロックを有するプロセッサを含むBTコントローラを含む。スキャッタネットは、2つ又はそれ以上のピコネットを含むアドホックコンピュータネットワークの一つのタイプである。スキャッタネットにおいて、スレーブデバイスが複数のピコネットと通信し得る。スキャッタネットの動作と関連して、BTマスターデバイスは、モバイルスレーブデバイスの位置、又はモバイルデバイスを携帯する人の位置を追跡するために、それらの個々のピコネット内のモバイルスレーブデバイスの識別をそのホストプロセッサにリレーし得る。
【0011】
第1のBTメディアデバイスは、受け取ったメディアデータ、第2のデバイスアドレス、及び同期情報を含む第1のメディアパケットをフォーマットする。同期情報は、遅延時間値を含むパケット開始時間、及びチェーンにおいてそれまでにカウントされた累積クロックドリフトを含む。第2のBTメディアデバイスは、第1のパケットを受け取り、メディアデータと、第3のBTメディアデバイスのアドレスと、第3のBTメディアデバイスのための更新された同期情報とを含む第2のパケットをフォーマットする。第3のBTメディアデバイスのための更新された同期情報は、第2のパケットの再生開始時間、第2のBTコントローラのローカルクロック時間、第2のBTコントローラのクロックドリフト、遅延時間、及びそれまでにカウントされた累積クロックドリフトを含む。第2のBTメディアデバイスは、第2のパケットを第3のBTメディアデバイスに送信する。同期アルゴリズムは、各々、メディアデータの同期された再生を開始し、メディアデータの同期された再生は、遅延時間に到達した後に第1のBTメディアデバイスが再生すること、第1のパケットの再生開始時間に到達した後に第2のBTメディアデバイスが再生すること、及び第2のパケットの再生開始時間に到達した後に第3のBTメディアデバイスが再生することを含む。
【図面の簡単な説明】
【0012】
【
図1】第1のBTスピーカ、第2のBTスピーカ、及び少なくとも第3のBTスピーカを含むチェーンにおいて構成されたBTスピーカを含む例示のオーディオネットワークを示す。第1のBTスピーカ、第2のBTスピーカ、及び少なくとも第3のBTスピーカの全てが、少なくとも1つのBTスピーカを備えるBTレンジ内にあり、第1のBTスピーカは、A2DPソースとして示されるBTデジタルオーディオストリーム送信デバイスからの符号化されたオーディオのストリームを受け取る。
【0013】
【
図2】例示の説明されるメディアパケットを示し、パケットの再生開始時間及びそれまでにカウントされた累積ドリフトを含む同期ソース(SSRC)フィールド、並びにメディアペイロードフィールドを有するように構成されるプリアンブルを備える。
【0014】
【
図3A】バッファリング状態における
図1に示されるオーディオネットワークに用いられる説明される同期シグナリングを示し、この同期シグナリングは、ピア(マスター)デバイスからのローカルクロックと、スピーキングが開始される前に全てのBTスピーカにそれらのメモリにパケットをストアさせることを可能にする遅延時間と、累積クロックドリフトとを含むパケットの再生開始時間を含むパケットを用いることによってBTスピーカを本質的に同じ時間に再生開始させる。
【0015】
【
図3B】再生状態における
図1に示されるオーディオネットワークに用いられる説明される同期シグナリングを示し、この同期シグナリングは、ネットワーククロック間のドリフトを追跡し、このドリフトベースのエラーを補償することによってBTスピーカ間のドリフトを調整するための制御データを含むパケットを送信することを含む。
図3Aにおいて図示されるバッファリング状態と同様に、各パケットは、その再生が起こるべきときを示すためのパケットの再生開始を含む。
【0016】
【
図4A】説明されるBTメディアデバイス時間同期を実装する例示のBTメディアデバイスの概要を示すブロック図である。
【0017】
【
図4B】ホストコントローラインタフェース(HCI)によって互いに結合される個別のホストプロセッサ及びBTコントローラを含む説明されるBTメディアデバイスの概要を示すブロック図を示す。BTコントローラは、例示の実施形態に従った、説明されるスピーカチェーン時間同期を実装するためのファームウェア(FW)を含む。
【0018】
【
図5】例示の実施形態に従った、BTメディアデバイスを含むメディアネットワークのための、BT同期されたメディアストリーミングの例示の方法のフローチャートである。
【0019】
【
図6】3つのスピーカの例に対する説明されるBTメディアデバイス同期を示す例示の簡略化された例を示す。
【発明を実施するための形態】
【0020】
図面は必ずしも一定の縮尺で描かれているわけではない。図面において、類似の参照番号は類似又は同等の要素を示す。行為又は事象の図示される順は限定的ではなく、幾つかの行為又は事象が異なる順で又は他の行為又は事象と同時に起こり得る。また、本明細書に従って或る方法論を実装するために、幾つかの図示される行為又は事象が随意選択的であり得る。
【0021】
本明細書において、「~に結合する」又は「~と結合する」という用語(及び同様の用語)が、更なる条件無しに本明細書中に用いられる場合、間接的又は直接的な電気的接続を示す。従って、第1のデバイスが、第2のデバイスに「結合する」場合、その接続は、経路に寄生のみ存在する直接的電気的接続を介してなされてもよく、又は他のデバイス及び接続を含む介在要素を介する間接的電気的接続を介してなされてもよい。間接的結合の場合、介在要素は、概して、信号の情報を変化させないが、その電流レベル、電圧レベル及び/又は電力レベルを調整し得る。
【0022】
図1は、スピーカ1として示される第1のBTスピーカ、スピーカ2として示される第2のBTスピーカ、及びスピーカ3として示される少なくとも第3のBTスピーカを含むチェーンにおいて構成されたBTスピーカを含む、オーディオネットワーク100として示される例示のメディアネットワークを示す。それらのスピーカは全て、それらの近傍のBTスピーカのBTレンジ内にある。第1のBTスピーカは、A2DPソース120として示されるBTデジタルオーディオストリーム送信デバイスからの符号化されたオーディオデータのストリームを受信する。BTスピーカチェーンは、近傍のBTスピーカ間でマスター-スレーブ関係性を設定する。BTスピーカは、スピーカネットワークチェーン(スキャッタネット)をつくるように、まず互いにワイヤレスに接続され、各パケットは、任意の他のオーディオパケットが処理されるのと同様にBTデバイスにより処理されるが、例外として、各パケットが、BTスピーカを時間同期するために、更新されたタイムスタンプと共にチェーンにそって、ラインの次のBTスピーカに対して送信される。
図1に示すように、BTメディアデバイスがBTスピーカを含む例では、BTスピーカはモノラル又はステレオスピーカのいずれかであり得る。
【0023】
受け取ったストリームに対し、BTスピーカによる操作は何も行われない。ストリームは処理され、そのヘッダが、時間同期情報を含むように変更され、ストリームは、その後、同じアクションを実施するために、チェーン内の次のBTデバイスに送信される。スピーカの例では、配置はスピーカのチェーンとして考えられ得、それらの1つがA2DPオーディオソースに接続され、同じオーディオがネットワークにおけるスピーカデバイスを介して流れている。
【0024】
クロックドメインが、スピーカチェーンにおいて近傍のBTスピーカ間に示され、クロックドメイン1、2、3は各々、マスター-スレーブペアとして構成され、クロックドメイン1はスピーカ1とスピーカ2との間に示され、クロックドメイン2はスピーカ2とスピーカ3との間に示され、クロックドメイン3はスピーカ3とスピーカ4(図示されない)との間に示される。それぞれのクロックドメインは、各ペアのマスタースピーカデバイスによって設定される。各ペアのマスタースピーカデバイスは、そのローカルクロックを用いて、そのスレーブスピーカデバイスのネットワーククロックを設定する。そのローカルクロックは、そのペイロードとしてメディアデータを含む説明されるパケットのパケット再生時間情報(例えば、SSRCフィールドにおけるもの、
図2に示される例示のメディアパケット200におけるSSRCフィールド210を参照)として送信される。
【0025】
チェーンにおける第1のスピーカであるスピーカ1は、クロックドメイン1における唯一のマスターであり、クロックドメイン1におけるスレーブデバイスであるスピーカ2とクロックドメイン1を共有している。スピーカ2のネットワーククロックは、スピーカ1のローカルクロックに設定され、それは第1のスピーカ=そのネットワーククロックである。スピーカ2は、クロックドメイン2におけるマスターであり、クロックドメイン2におけるスレーブデバイスであるスピーカ3と共に示され、そのため、スピーカ2(マスターである)のローカルクロックがスピーカ3のネットワーククロックとして用いられ得る。スピーカ3は、クロックドメイン3においてマスターであり、スピーカ4(図示されない)が、クロックドメイン3におけるスレーブデバイスである。これ以降に更に詳細に説明するように、マスターデバイスからスレーブデバイスへのパケット送信によって、クロックドメインは達成される。ここで、マスターからスレーブデバイスに送信される説明されるパケット(下記に説明する
図2に示されるメディアパケット200を参照)は、パケットの再生開始、及びそれまでにカウントされた累積クロックドリフト(差)を含む。BTクロックは、水晶発振器、セラミック共振器、RC(抵抗器、キャパシタ)フィードバック発振器、又はシリコン発振器を含み得る。
【0026】
図2は、例示の説明されるメディアパケット200を示す。メディアパケット200は、BTパケットのプリアンブルにおける既存のSSRCフィールド210を用いて示される。BTコントローラは、そのピアのBTメディアデバイスから、受け取ったBTクロックを読み出し、それをBTメディアデバイスのローカル時間に変換し、その後、それをチェーンにおける次のBTメディアデバイスに送信する前に、それをSSRCフィールド210にストアする。タイムスタンプフィールド220は、累積のスピーカのドリフトをストアするために用いられる。また、メディア(例えば、オーディオ)ペイロードフィールド230もある。
【0027】
プリアンブルを用いて説明されているが、時間同期情報は、メディアペイロードフィールド230の開始時等に、パケットにおける別の場所にストアされ得る。SSRCフィールド210及びタイムスタンプフィールド220は、双方とも、例として32ビットとして示されている。図示されるCSRCリストは、このパケットに含まれるペイロードのための寄与ソースを識別する16(バイナリ0~15)の寄与ソース(CSRC)要素のアレイである。メディアパケット200は、ピア(チェーンにおける(マスターとしての)前のスピーカデバイス)BTスピーカから、受け取ったBTクロックを読み出すこと、それをスピーカのローカルタイムに変換すること、及びチェーンにおける次のBTスピーカにパケットを送信する前に、それを再びパケットのSSRCフィールド210にストアすることを反映するために、従来のBT A2DPパケットにおけるSSRCフィールド210がどのように用いられ得るかを示している。タイムスタンプフィールド220は、累積のスピーカのドリフトをストアするために用いられる。
【0028】
BTクロックは、或るフレーム解像度でティックするBTクロックと、マイクロ秒の速度でティックするパケットタイマー(PT)との、2つのフィールドを含む。例えば、1,250マイクロ秒毎に1フレームが経過し、それが1 BTクロックティックである。情報要素がSSRCフィールド210においてストアされ、集合的に27ビットを含み得るBTクロック及びPTを含み、残りの5ビット(32ビットフィールドの場合)は、このパケットが物理バス(例えば、パルスコード変調(PCM)バス)を介して送信されるべきである相手先を識別するため、意図された受け取りメディアデバイスの(例えば、スピーカの)アドレス識別をストアするために用いられる。パケットメディアペイロード230は概して、PCM符号化されたオーディオサンプルを含む。この物理バスは、BTスピーカのクロック間のドリフトがパケット200において考慮されるため、単なる無線の物理バスではない。
【0029】
図3Aは、バッファリング状態における
図1に示されるオーディオネットワーク100において用いられる説明される同期シグナリングを示す。バッファリング状態は、パケットを各BTスピーカのメモリ422(例えば、データバッファ)にストアし、それぞれのBTスピーカを本質的に同じ時間にオーディオ再生を開始させる。それぞれのBTスピーカを本質的に同じ時間にオーディオ再生を開始させることは、BTスピーカ間に、時間同期データ(P4、P3、P2、及びP1として示されるパケットを用いて)を送ることと、それぞれのスピーカをそれらのローカルBTクロックを用いて時間同期させることとによって行われる。時間同期データは、音楽再生の開始までの、再生前の遅延時間、例えば、将来に向けて~(約)100ms(遅延時間)を含む。ローカルBTクロックは、各々異なってクロックする傾向がある。
【0030】
P4、P3、P2は、各ペアにおいてマスタースピーカデバイスからスレーブスピーカデバイスに送信されるように図示されている。上述したように、各BTスピーカは、そのピア(マスター)BTスピーカから、受け取ったBTクロックを読み出すことと、それをBTスピーカのローカルクロック時間に変換することと、その後、それを、チェーンにおける次のBTスピーカに送信する前に、全てのBTスピーカが同じ時間においてスピーキングを開始できるようにさせるための、累積スピーカドリフトを有するタイムスタンプフィールド220と共に、SSRCフィールド210にストアすることとを反映するパケット再生時間(遅延時間を含む)を含むパケットを用いる。マーク(パケット再生時間)に到達すると、それぞれのBTスピーカは全て、本質的に同じ時間に、同じオーディオデータの再生を開始する。これは、各BTデバイスが正確なBTクロック及びPTクロック(BTクロックはスロットでカウントし、各スロットは例えば1,250μsecであり、PTクロックはμsecでカウントする)を待つということを意味し、そのため、そのスロット内で正確なBTクロック補正μsec値に到達すると、再生が開始される。各BTスピーカの場合、マスターデバイスから受け取ったBTクロック及びPTクロック時間は、スレーブのネットワーククロック409として与えられ、ローカルクロック408(下記の
図4Aにおけるこれらのクロックを参照)で転送される。この時点において、全てのBTスピーカの状態は、オーディオサンプルの再生を可能にするために再生に変更される。
【0031】
図3Bは、再生状態における
図1に示されるオーディオネットワーク100において用いられる説明される同期シグナリングを示し、この同期シグナリングは、BTスピーカにネットワーククロックの間のドリフトを追跡させるため及びこのドリフトベースのタイミングエラーを補償するため、スピーカ間のドリフトを調整するために制御データを送信することを含む。
図3Aにおいて図示されるバッファリング状態と同様に、各パケットは、その再生が起きる時間を示すために、遅延時間を含むパケットの再生開始時間を含む。
【0032】
図4Aは、BT通信規格に概して準拠する例示のBTメディアデバイス400を表すシステムブロック図を示す。BTメディアデバイス400は、BTコントローラ425bのための半導体表面を有する基板405a上、及び、ホストプロセッサ425aのための半導体表面を有する別の基板405b上に形成されて示される、少なくとも1つの集積回路(IC)上に概して形成される。BTメディアデバイス400は、BT通信を行い得る任意のデバイスであり得る。そのようなBTメディアデバイスは、スマートフォン等のモバイルフォン、タブレット、コンピュータ、パーソナルデジタルアシスタント、カメラ、及び、ウィンドウブラインド等の通信機能及びモーションセンサーを備える家庭用品目であり得、又はそれらを含み得、又はそれらの一部であり得る。BTメディアデバイス400は、スキャッタネットとして、従ってデバイスチェーンにおいて構成されるBTネットワークにおいて、他のBTメディアデバイスと共に通信する。
【0033】
BTメディアデバイス400は、HCI 430を介して互いに通信するホストプロセッサ425a及びBTコントローラ425bを含む。ホストプロセッサ425aは、HCIコマンドコードを含むHCI FWをストアするメモリ432を含む。BTコントローラ425bは、プロセッサ423、ホストプロセッサ425aからのコマンドを解析、理解、及びそのコマンドに応じて動作するためのソースコードを含むソフトウェア422aを含むメモリ422、及び、概してオフチップであるアンテナ418に結合されるように適合されるRFドライバ424aを含むトランシーバ424を含む。プロセッサは、デジタル信号プロセッサ(DSP)又はマイクロコントローラを含み得る。プロセッサは、集合的に、BTメディア動作のためのBTプロトコルスタックを実装する。BTメディアデバイス400は、ローカルクロック408及びネットワーククロック409も含む。
【0034】
トランシーバ424はまた、説明される同期を実装するための、ソフトウェア422aの代替として用いられ得るデジタルロジック424bを含むハードウェアを含んで示される。トランシーバ424はトランスミッタ及びレシーバを含む。トランスミッタは概して、メディアアクセスコントロール(MAC)モジュール、エンコーダ、モジュレータ、逆高速フーリエ変換(IFFT)ユニット、デジタルアナログ変換(DAC)/フィルタモジュール、及びRF/アンテナモジュールを含む。レシーバは概して、RF/アンテナユニット、アナログデジタル変換(ADC)/フィルタユニット、FFTユニット、デモジュレータ、デコーダ、及びMACモジュールを含む。
【0035】
メモリ422は更に、概して、データ、命令、又はその両方を含む情報をストアするように構成される。メモリ422は、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ等のプロセッサ423によってアクセス可能な任意の記憶媒体、又は、内部ハードディスク及びリムーバブルディスク等の磁気メディアデバイスであり得る。位相同期ループ(PLL)432も、ミキシング及び周波数合成を含む目的で提供される。
【0036】
プロセッサ423は、メモリ422及びトランシーバ424に結合される。幾つかの実装において、トランシーバ424は、RF信号を送信及び受信するためにベースバンドユニット(
図4Aには図示されないが、
図4Bを参照)及びアナログユニット(図示されない)を含む。ベースバンドユニットは、デジタル信号処理、符号化及び解読、変調及び復調を含むベースバンド信号処理を実施するためのハードウェアを含み得る。アナログユニットは、アナログデジタル変換(ADC)、デジタルアナログ変換(DAC)、フィルタリング、利得調整、アップコンバージョン、及びダウンコンバージョンを実施するためのハードウェアを含み得る。
【0037】
アナログユニットは、アクセスポイントからRF信号を受信し、受信したRF信号をベースバンドユニットによって処理されるベースバンド信号にダウンコンバートし得、又は、ベースバンドユニットからベースバンド信号を受信し、受信したベースバンド信号を、アップリンク送信のためにRFワイヤレス信号にアップコンバートし得る。アナログユニットは、BTネットワークの無線周波数で発振する搬送波信号を用いてベースバンド信号をアップコンバートし、RF信号をダウンコンバートするためのミキサーを含む。BTメディアデバイス400によって用いられるデータ速度は、2.472GHzから2.479GHzの現在のBT周波数帯域内、又は将来用いられる任意のBT周波数帯域内であり得る。
【0038】
図4Bは、
図4Aに示されるBTメディアデバイス400の機能レイヤ図であり、ここでは、BTアプリケーションを含むアプリケーションレイヤ440と論理リンク制御及びアダプションレイヤプロトコル(L2CAP)レイヤ448とを含むホストプロセッサ425aを示す400’として示されている。BTプロトコルRFCOMMブロック441は、L2CAPレイヤ448の最上位に作られたトランスポートプロトコルのシンプルなセットである。電話制御プロトコル仕様(TCS)442は、BTデバイス間で音声通話を送信するための手法を定義する。サービスディスカバリプロトコル(SDP)443は、UUIDのレンジ(公称128ビット)をより短い様式において表すための手法を定義する仕様である。ポイント・ツー・ポイントプロトコル(PPP444)は、2つのノード間に直接接続を確立するために用いられるデータリンク(レイヤ2)プロトコルである。トランスミッション制御プロトコル/インターネットプロトコル(TCP/IP)445は、BTデバイスにTCP/IPトラフィックを搬送させ得、OBEX446は、BTデバイス間のバイナリオブジェクトの交換を促進する通信プロトコルであり、ATコマンドインタフェース(AT)447は、アナログモデム上で機能を有効化させるために用いられる一連の機械命令を含むコマンドインタフェースである。
【0039】
BTコントローラ425bは、リンクマネージャプロトコル(LMP)426、ベースバンド選択、及び
図4Aに示されるトランシーバ424の一部であるRFセクションを含んで示される。BTコントローラ425bはまた、ベースバンド回路要素427及びRF回路要素428を含んで示される。LMP426は、2つの近傍のBTメディアデバイス間のBT接続の動作の全ての局面の制御及びネゴシエーションを行う。
【0040】
説明される時間同期は、BTコントローラにより完全に実施され得、そのため、BTメディアデバイスを同期させるためのホストプロセッサが必要なく、従って電力が節電される。同期レベルは概して、再生の開始時において~30μsecであり、これは、コマンドを実行するソフトウェアと、PCMライン等の物理的バスライン上でのBTメディアデバイスのハードウェア出力データとの間の考慮されない時間である。ドリフトレベルは、時間当たり約4msecであり、それは、相対的に長い時間期間に対する時間同期アルゴリズムのアクティビティにおける累積誤差である。音楽愛好家の人の耳は、~20msecにおけるシフトを検出し得る。それは、ネットワークにおけるBTスピーカ間のオーディオ同期に対する性能水準が充分過ぎることを意味する。
【0041】
遅延時間~100ms(将来に向けて)の後再生を開始するように、オーディオ又は関連するビデオを備えるオーディオ(例えば、上述したように、ソースデバイスとシンクデバイスとの間の同期が動画において画像と音声を同期させるためにも用いられ得る)の開始をスケジューリングすることによって、その結果、チェーンにおける他のBTスピーカが、再生開始の前に大量のサンプルをバッファするための時間を持つことができる。この100msのパラメータはテスト済みであり、最大6BTスピーカを用いて良好に動作する。しかしながら、この遅延時間は概して、ユーザによって構成可能である。オーディオ並びに遅延時間を備えるパケットを事前にスピーカに送信し、BTクロックを用いてスピーカを同期させることによって、スピーカは同期し得、実質的に同じ時間(~30μsecの差)にオーディオの再生を開始し得る。
【0042】
上述したように他の解決策は2つのBTメディアデバイス(マスターと1つのスレーブ)のみをサポートするが、説明される実施形態は、6又はそれ以上のスピーカをサポートし得る。概して、チェーンにおけるスピーカの数について制限はない。実際は、説明されるネットワークは、単に内部デバイスメモリ制限に起因して、6個のBTデバイスに制限される。より多くのメモリがあれば、より多くのスピーカをネットワークに付加することができる。説明される実施形態はスキャッタネットトポロジーを用いるが、他のBTスピーカ解決策はピコネットスタートポロジーを用いる。
【0043】
説明される解決策はまた、データを送るためのパケットリトライを可能にし、任意のパケットが再送信されなければならない場合は、リカバーするための充分な時間を可能にする。既知の同期解決策に比較すると、その他の全ての同期解解決策はミリ秒解像度で同期を提供するが、説明される実施形態はマイクロ秒解像度を提供することを含む利点を有する。また、上述したように、説明される同期は、6又はそれ以上の同期されたBTスピーカのために用いられ得、一方、他の解決策は、2つの同期BTスピーカのみに制限される。
【0044】
図5は、例示の実施形態に従った、BT同期されたメディアストリーミングの例示の方法500のためのフローチャートである。ステップ501は、ストアされた時間同期アルゴリズムを走らせ、ローカル及びネットワーククロックを有するプロセッサを含むBTコントローラを各々が含む、第1、第2、及び第3のBTメディアデバイスを含むBTメディアデバイスをスキャッタネットチェーンに構成することを含む。ステップ502は、第1のBTメディアデバイスが、BTデジタルメディアストリーム送信デバイスから、符号化されたメディアデータのストリームを受け取ることを含む。ステップ503は、第1のデバイスの時間同期アルゴリズムが、符号化されたメディアデータと、第2のBTメディアデバイスのためのアドレスと、第2のBTメディアデバイスのための時間同期情報とを含む少なくとも第1のBTメディアパケットをフォーマットすることを含み、第2のBTメディアデバイスのための時間同期情報は、遅延時間を含む第1のBTメディアパケットの再生開始時間、及びチェーンにおいてそれまでにカウントされた累積クロックドリフトを含む。
【0045】
ステップ504は、第1のBTメディアデバイスが第1のBTメディアパケットを第2のBTメディアデバイスに送信することを含む。ステップ505は、第2のBTメディアデバイスの時間同期アルゴリズムが、符号化されたメディアデータと、第3のBTメディアデバイスのためのアドレスと、第2のBTメディアパケットの再生開始時間を含む第3のBTメディアデバイスのための更新された時間同期情報とを含む少なくとも第2のBTメディアパケットをフォーマットすることを含む。第2のBTメディアパケットの再生開始時間は、第2のBTコントローラのローカルクロック時間、第2のBTコントローラクロックのドリフト及び遅延時間値、及び、デバイスチェーンにおいてそれまでにカウントされた累積クロックドリフトを含む。ステップ506は、第2のBTメディアデバイスが第2のBTメディアパケットを第3のBTメディアデバイスに送信することを含む。ステップ507は、時間同期アルゴリズムが、符号化されたメディアデータのストリームの同期された再生を開始することを含み、符号化されたメディアデータのストリームは、遅延時間に到達した後に、第1のBTメディアデバイスが再生すること、第1のBTメディアパケットの再生開始時間に到達した後に、第2のBTメディアデバイスが再生すること、及び、第2のBTメディアパケットの再生開始時間に到達した後に、第3のBTメディアデバイスが再生することを含む。
【0046】
遅延時間は概して、少なくとも50msecであり、再生を開始する前に、全てのBTメディアデバイスが所定の複数のBTメディアパケットをそれらのメモリにストアするために充分な時間を可能にするように選択される。BTメディアデバイスがBT A2DPスピーカを含む場合、それらは、マルチルームスピーカ動作を可能にするためのアプリケーションプログラミングインタフェース(API)を呼び出すことによって、BTレンジ内の異なるルームに及ぶ。BTメディアデバイスは概して、同期された再生の開始時に、<50μsecの同期レベルを提供し、この同期レベルを再生の間維持する。
【0047】
実施例
説明される実施形態は、下記の実施例により更に例証されるが、それらは、如何なる場合も本明細書の範囲又は内容を限定するものではない。
【0048】
説明される時間同期が、6個のBTスピーカのBTメディアスキャッタネットチェーンに対して用いられた。その際、オーディオサンプルと、チェーンにおける他の全てのBTスピーカが再生を開始する前に、大量のパケットサンプルをバッファするために充分な時間を有するように~100ms(将来に向けて)の遅延時間を用いる時間同期情報とを有するBTオーディオパケットが用いられた。BTスピーカは、全て、30μsecの差の範囲内の実質的に同じ時間に同じオーディオサンプルの再生を開始した。再生の開始後、第1のBTスピーカは、そのローカルクロックとネットワーククロックとの間のドリフト値を含む更新されたBTオーディオパケットを第2のBTスピーカに送信し、第2のBTスピーカは、クロック間のドリフト値を含む更新されたBTオーディオパケットを第3のBTスピーカ等に送信する。クロックドリフト値は、クロックドリフトを補正する「スピーキング」のための時間を変更するために用いられる。
【0049】
図6は、3BTスピーカデバイスチェーンの例のための説明される時間同期情報を有するオーディオパケット1及び2(AVDTPパケット1及び2として示される)を示す簡略化されたオーディオの例を示す。BTスピーカデバイスは、上述したように、各々、FWにおいて、ストアされた同期アルゴリズムを走らせるBTコントローラを含み、両デバイスは、ローカルクロックとネットワーククロックとを有する。スピーカデバイス1のBTコントローラ1は、A2DPソース等のBTデジタルオーディオストリーム送信デバイスから、符号化されたオーディオデータのストリームを受け取る。
【0050】
BTコントローラ1は、ネットワーククロックとしても用いられるローカルクロックを有し、従って、チェーンにおける第1のデバイスであるので、単一(同一)のクロックのみを有して示される。それは200μsの時間を用いて示され、そのため、クロック差がない。BTコントローラ1は、
図2に示される例示のメディアパケット200に基づいてAVDTPパケット1として示されるAVDTPパケットをフォーマットする。SSRCフィールド210は、そのローカルクロックから200μsの時間値、及び100msecなどの遅延時間値(ディレイ)を表す。
【0051】
タイムスタンプフィールド220は、累積されたスピーカのドリフトをストアする。チェーンにおける第1のスピーカデバイスであるチェーンのこのポイントにおいて、ドリフトはゼロである。
図6に示される「X」は、オーディオソースのローカルクロック(図示されない)とBTコントローラ1のローカルクロックとの間のドリフトである。図示されるパケットIDは、各パケットに対し一意の識別(ID)を提供し、それにより、パケットが確実に順次的な順に受け取られることを可能にし、パケットが途中で紛失していないことがわかるようにする。また、各パケットに対して同じ差が計算される。図示されないが、AVDTPパケット1は、パルス変調(PCM)符号化されたオーディオサンプルを含むメディアペイロードを有し、BTコントローラ2を含むスピーカデバイス2を識別するようにアドレスされる。BTコントローラ2は、PCMバス等の物理的バスを介して送信されるAVDTPパケット1がアドレスされる相手先である。
【0052】
BTコントローラ2を含むスピーカ2デバイスは、AVDTPパケット1を受け取るように示される。BTコントローラ2は、625μsecのローカルクロック時間、200μsecのネットワーククロック時間を有して示され(ネットワーククロック時間はBTコントローラ1から受け取り、BTコントローラ1のローカルクロック時間と同じである)、そのため、BTコントローラ2は、425μsecのクロック差(又はクロックドリフト)を有する。BTコントローラ2は、AVDTPパケット1と同様に、
図2に示される例示のメディアパケット200に再び基づいてAVDTPパケット2として示されるAVDTPパケットをフォーマットする。SSRCフィールド210は、BTコントローラ2のローカルクロック(625μsec)-(マイナス)そのクロックドリフト(425μsec)及び遅延時間値を反映するパケット2再生開始時間を提供する。
【0053】
BTコントローラ2は、このように、BTスピーカデバイス1からの受け取った200μsecのBTクロック時間をスピーカ2のローカル時間に変換し、この時間同期情報を、AVDTPパケット2のSSRCフィールド210にストアする。また、AVDTPパケット2は、チェーンにおけるそれまでの更新された累積クロックドリフトをタイムスタンプフィールド220に含むようにフォーマットされる。それは、X(AVDTPパケット1から)、及びBTコントローラ1のローカルクロックとBTコントローラ2のローカルクロックとの間のドリフトであるYを含み、また425μsec(BTコントローラ1からの0値及びBTコントローラ2からの425μsecの値)の累積クロックドリフトが示される。図示されないが、AVDTPパケット2は、同じPCM符号化されたオーディオサンプルを含むペイロードを有し、PCMバス等の物理的バスを介して送信されるAVDTPパケット2がアドレスされる相手先のスピーカデバイス3を識別するためにアドレスされる。
【0054】
BTコントローラ3を含むスピーカ3デバイスは、AVDTPパケット2を受け取るように示される。BTコントローラ3は、150μsecのローカルクロック及び625μsecのネットワーククロック時間(BTコントローラ2のローカルクロック時間)を有するように示され、そのため、BTコントローラ3は、475secのクロック差を有する。BTコントローラ3は、BTコントローラ3(150μsec)-(マイナス)そのクロックドリフト(475μsec)及び遅延時間値のローカルクロックを反映するAVDTPパケット2の再生開始時間を計算する。
【0055】
それぞれの時間同期アルゴリズムは、同じPCM符号化オーディオサンプルの同期された再生を開始する。この同じPCM符号化オーディオサンプルは、遅延時間に到達した後の第1のBTスピーカ再生、AVDTPパケット1の再生開始時間に到達した後に、第2のBTデバイスは再生を開始し、及びAVDTPパケット2の再生開始時間に到達した後に、第3のBTメディアデバイスは再生を開始することを含む。AVDTPパケット1及びAVDTPパケット2は、同じパケットID及び同じオーディオデータを有し、パケット上のパケットタイミングデータのみが異なる。それぞれのスピーカは、全て、再生の開始時に、<30μsecの時間同期範囲内に開始し、その結果、BTスピーカは実質的に同じ時間に同じオーディオデータで再生を開始する。また、上述したように、上述のバッファリング状態と同様に、再生の間、各パケットは、その再生がいつ予定されているかを示すようにタイムスタンプされ、及びネットワーククロック間のドリフトを追跡することと時間同期エラーのこのソースを補正することとによって、再生が開始した後にスピーカ間の時間同期が維持される。
【0056】
説明される解決策は、標準A2DPソースからのストリーミングされたオーディオを配信することに関して説明されているが、それらは、より一般的に、動画において画像と音声とを同期させるためにA2DPを実装する任意のグループのデバイスに対して用いられ得る。
【0057】
特許請求の範囲内で、説明した実施形態における変更が可能であり、他の実施形態が可能である。