(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-01
(45)【発行日】2023-09-11
(54)【発明の名称】複数のオーディオ機器の同期
(51)【国際特許分類】
G10K 15/02 20060101AFI20230904BHJP
H04L 12/28 20060101ALI20230904BHJP
H04R 3/00 20060101ALI20230904BHJP
【FI】
G10K15/02
H04L12/28 500C
H04R3/00 310
【外国語出願】
(21)【出願番号】P 2021202521
(22)【出願日】2021-12-14
(62)【分割の表示】P 2020542709の分割
【原出願日】2018-10-19
【審査請求日】2022-01-11
(32)【優先日】2017-10-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】591009509
【氏名又は名称】ボーズ・コーポレーション
【氏名又は名称原語表記】BOSE CORPORATION
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】デバスミット・バネルジー
(72)【発明者】
【氏名】マイケル・ウィリアム・エリオット
【審査官】中嶋 樹理
(56)【参考文献】
【文献】米国特許出願公開第2017/0055235(US,A1)
【文献】特開2015-065666(JP,A)
【文献】米国特許出願公開第2017/0069338(US,A1)
【文献】米国特許出願公開第2017/0264987(US,A1)
【文献】特開2015-100085(JP,A)
【文献】特表2016-514280(JP,A)
【文献】特表2016-526349(JP,A)
【文献】特表2017-516177(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10K 15/02
H04L 12/28
H04R 3/00
(57)【特許請求の範囲】
【請求項1】
互いと通信する複数のオーディオ再生機器を含むシステムであって、
前記複数のオーディオ再生機器のうちの第1のオーディオ再生機器であって、前記複数のオーディオ再生機器のうちの少なくとも1つの他のオーディオ再生機器にオーディオコンテンツを配信するように構成された第1のオーディオ再生機器と、
前記複数のオーディオ再生機器のうちの前記第1のオーディオ再生機器とは異なる第2のオーディオ再生機器であって、前記複数のオーディオ再生機器のうちの少なくとも1つの他のオーディオ再生機器にクロック情報を配信するように構成された第2のオーディオ再生機器とを備え
、
前記第2のオーディオ再生機器は、前記第1のオーディオ再生機器を考慮から除外するアルゴリズムに従って選択される、システム。
【請求項2】
前記第1のオーディオ再生機器からオーディオコンテンツを受信するように構成された少なくとも1つの他のオーディオ再生機器は、前記第2のオーディオ再生機器を含む、請求項1に記載のシステム。
【請求項3】
前記第2のオーディオ再生機器からクロック情報を受信するように構成された少なくとも1つの他のオーディオ再生機器は、前記第1のオーディオ再生機器を含む、請求項1に記載のシステム。
【請求項4】
前記第1のオーディオ再生機器からオーディオコンテンツを受信するように構成された少なくとも1つの他のオーディオ再生機器は、前記第1のオーディオ再生機器と共に1つのグループ内にあり、前記グループは、オーディオコンテンツを同期してレンダリングするように構成される、請求項1に記載のシステム。
【請求項5】
前記第1のオーディオ再生機器からオーディオコンテンツを受信するように構成された少なくとも1つの他のオーディオ再生機器は、前記第2のオーディオ再生機器を含む、請求項4に記載のシステム。
【請求項6】
前記第2のオーディオ再生機器からクロック情報を受信するように構成された少なくとも1つの他のオーディオ再生機器は、前記第1のオーディオ再生機器を含み、前記第2のオーディオ再生機器は、前記グループの外側にある、請求項4に記載のシステム。
【請求項7】
前記第1のオーディオ再生機器が少なくとも1つの他のオーディオ再生機器にオーディオコンテンツを配信するように構成される前に、前記第2のオーディオ再生機器が少なくとも1つの他のオーディオ再生機器にクロック情報を配信するように構成される、請求項1に記載のシステム。
【請求項8】
前記複数のオーディオ再生機器のうちの第3のオーディオ再生機器をさらに備え、前記第3のオーディオ再生機器は前記第1および第2のオーディオ再生機器とは異なり、前記第2のオーディオ再生機器が、電力を失うこと、または前記複数のオーディオ再生機器のうちの少なくとも1つの他のオーディオ再生機器にオーディオコンテンツを配信するように構成されることに反応して、前記第2のオーディオ再生機器はもはやクロック情報を配信するように構成されず、前記第3のオーディオ再生機器がクロック情報を配信するように構成される、請求項1に記載のシステム。
【請求項9】
前記第1のオーディオ再生機器は、少なくとも1つの他のオーディオ再生機器にオーディオコンテンツを配信することに加えて、いつオーディオコンテンツが再生されるべきかの識別表示を配信するようにさらに構成される、請求項1に記載のシステム。
【請求項10】
前記クロック情報は、オーディオコンテンツのための再生タイミングを決定するのを助けるために使用される、請求項1に記載のシステム。
【請求項11】
互いと通信する複数のオーディオ再生機器にオーディオコンテンツを配信し、かつ前記複数のオーディオ再生機器間でオーディオデータを同期させる方法であって、
前記複数のオーディオ再生機器のうちの第1のオーディオ再生機器によって、前記複数のオーディオ再生機器のうちの少なくとも1つの他のオーディオ再生機器にオーディオコンテンツを配信するステップと、
前記複数のオーディオ再生機器のうちの前記第1のオーディオ再生機器とは異なる第2のオーディオ再生機器によって、前記複数のオーディオ再生機器のうちの少なくとも1つの他のオーディオ再生機器にクロック情報を配信するステップとを有し、
前記第2のオーディオ再生機器は、前記第1のオーディオ再生機器を考慮から除外するアルゴリズムに従って選択される、方法。
【請求項12】
前記第1のオーディオ再生機器からオーディオコンテンツを受信する少なくとも1つの他のオーディオ再生機器は、前記第2のオーディオ再生機器を含む、請求項
11に記載の方法。
【請求項13】
前記第2のオーディオ再生機器からクロック情報を受信する少なくとも1つの他のオーディオ再生機器は、前記第1のオーディオ再生機器を含む、請求項
11に記載の方法。
【請求項14】
前記第1のオーディオ再生機器からオーディオコンテンツを受信する少なくとも1つの他のオーディオ再生機器は、前記第1のオーディオ再生機器と共に1つのグループ内にあり、前記グループは、オーディオコンテンツを同期してレンダリングするように構成される、請求項
11に記載の方法。
【請求項15】
前記第1のオーディオ再生機器からオーディオコンテンツを受信する少なくとも1つの他のオーディオ再生機器は、前記第2のオーディオ再生機器を含む、請求項
14に記載の方法。
【請求項16】
前記第2のオーディオ再生機器からクロック情報を受信する少なくとも1つの他のオーディオ再生機器は、前記第1のオーディオ再生機器を含み、前記第2のオーディオ再生機器は、前記グループの外側にある、請求項
14に記載の方法。
【請求項17】
前記第1のオーディオ再生機器が少なくとも1つの他のオーディオ再生機器にオーディオコンテンツを配信する前に、前記第2のオーディオ再生機器が少なくとも1つの他のオーディオ再生機器にクロック情報を配信する、請求項
11に記載の方法。
【請求項18】
前記少なくとも1つの他のオーディオ再生機器にクロック情報を配信するために、前記複数のオーディオ再生機器のうちの第3のオーディオ再生機器を選択するステップをさらに有し、前記第3のオーディオ再生機器は前記第1および第2のオーディオ再生機器とは異なり、前記選択するステップは、前記第2のオーディオ再生機器が、電力を失うこと、または前記複数のオーディオ再生機器のうちの少なくとも1つの他のオーディオ再生機器にオーディオコンテンツを配信するように構成されることに反応する、請求項
11に記載の方法。
【請求項19】
前記第1のオーディオ再生機器によって、少なくとも1つの他のオーディオ再生機器にオーディオコンテンツを配信するステップに加えて、いつオーディオコンテンツが再生されるべきかの識別表示を配信するステップをさらに有する、請求項
11に記載の方法。
【請求項20】
前記クロック情報は、オーディオコンテンツのための再生タイミングを決定するのを助けるために使用される、請求項
11に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、無線オーディオ同期に関する。
【発明の概要】
【0002】
下記の全ての例及び特徴は、技術的に可能な任意の方法で組み合わせることができる。
【0003】
一態様において、オーディオ配信システムは、オーディオソースと、互いと通信し、かつオーディオソースとも通信する複数のオーディオ再生機器とを含む。オーディオ再生機器のグループは、オーディオソースによって提供されるオーディオコンテンツを同期してレンダリングするように構成される。グループ内のオーディオ再生機器のうちの1つは、オーディオソースからグループ内の他のオーディオ再生機器にオーディオコンテンツを配信するオーディオマスターとして構成され、オーディオマスター以外の複数のオーディオ再生機器のうちの1つは、オーディオ再生機器のグループが同期するクロック情報を配信するクロックマスターとして構成される。
【0004】
実装形態は、以下の特徴のうちの1つ、又はそれらの任意の組み合わせを含み得る。
【0005】
いくつかの実装形態では、システムはアクセスポイントを含み、システムは、複数のオーディオ再生機器のうちのオーディオ再生機器とアクセスポイントとの間のピングタイムに基づいて、複数のオーディオ再生機器の中からクロックマスターを選択するように構成される。
【0006】
特定の実装形態では、システムは、クロックマスターの選択の前に、オーディオ再生機器のグループの中からオーディオマスターを選択するように構成される。
【0007】
一部のケースでは、システムは、クロックマスターを選択する際に、オーディオマスターを考慮から除外するように構成される。
【0008】
特定のケースにおいて、システムは、アクセスポイントで最短のピングタイムを報告するオーディオ再生機器に基づいて、オーディオマスターを除外した複数のオーディオ再生機器の中からクロックマスターを選択するように構成される。
【0009】
いくつかの例では、システムは、クロックマスターの選択の後にオーディオ再生機器のグループの中からオーディオマスターを選択するように構成される。
【0010】
特定の例では、オーディオ再生機器のグループのうちのオーディオ再生機器上のそれぞれのクロックは、オーディオマスターの選択の前にクロックマスターのクロックに同期される。
【0011】
いくつかの実装形態では、システムは、オーディオマスターを選択する際に、クロックマスターとして機能するように選択されたオーディオ再生機器を考慮から除外するように構成される。
【0012】
特定の実装形態では、システムは、クロックマスターとして機能するように選択されたオーディオ再生機器が、オーディオマスターとしても機能するように選択された場合、このときシステムは新たなクロックマスターを選択するように構成される。
【0013】
いくつかのケースにおいて、オーディオ再生機器のグループ内のオーディオ再生機器上のそれぞれのクロックは、システムが新たなクロックマスターを選択している間、同期されたままである。
【0014】
特定のケースにおいて、オーディオ再生機器のグループのうちの1つ以上のオーディオ再生機器とクロックマスターとの間の接続が失われたことに反応して、システムは、新たなクロックマスターを選択するように構成され、オーディオ再生機器のグループ内のオーディオ再生機器は、新たなクロックマスターが選択されている間、同期再生を継続するように構成される。
【0015】
いくつかの例では、オーディオ再生機器のグループ内のオーディオ再生機器のそれぞれのクロックは、線形時間モデルm(x)+bに従ってクロックマスターのクロックに同期され、この場合mは、クロックマスターのクロックと、クロックマスターのクロックに同期しているオーディオ再生機器のクロックとの間のレート差(例えば、水晶発振器間の周波数の差)であり、xは、クロックマスターのクロックに同期しているオーディオ再生機器のクロックに従って現在のクロック時間を表しており、またbは、クロックマスターのクロックと、クロックマスターのクロックに同期しているオーディオ再生機器のクロックとの間のオフセットである。
【0016】
特定の例では、mは、クロックマスターのクロックと、クロックマスターのクロックに同期しているオーディオ再生機器のクロックとの間のレート差であり、またbは、クロックマスターのクロックと、クロックマスターのクロックに同期しているオーディオ再生機器のクロックとの間のオフセットである。
【0017】
いくつかの実装形態では、m及びbは、所与の時間ウィンドウにわたって、クロックマスターから収集されたタイムスタンプ(すなわち、クロックマスターから受信したタイムスタンプされた通信)と、クロックマスターのクロックに同期しているオーディオ再生機器のクロック(a/k/a「ローカルクロック」)から収集されたタイムスタンプの線形フィットを実行することによって決定される。
【0018】
特定の実装形態では、ひとたび新たなクロックマスターが選択されると、オーディオ再生機器のグループ内の他のオーディオ再生機器は、新たなマスタークロックに基づいて、オーディオ再生機器のグループのオーディオ再生機器にそのそれぞれのm値及びb値を調整させるヒューリスティックアプローチを使用して、新たなクロックマスターのクロックに合わせてそのクロックを調整し、新たなクロックマスターは、新たなクロックマスターのmの値が1に等しく、新たなクロックマスターのbの値がゼロに等しくなるようにそのレートをゼロまで低下させる。
【0019】
いくつかのケースでは、システムは、ユーザが、複数のオーディオ再生機器から2つ以上のオーディオ再生機器を選択してオーディオ再生機器のグループを形成することを可能にするように構成されたコントローラを含む。
【0020】
特定のケースにおいて、システムは、オーディオ再生機器のグループの基礎としてユーザが選択したオーディオ再生機器のグループから、オーディオマスターになるべきオーディオ再生機器を選択するように構成される。
【0021】
いくつかの例では、クロックマスターは、オーディオ再生機器のグループ内のオーディオ再生機器のうちの1つではない。
【0022】
特定の例では、クロックマスターは、オーディオ再生機器のグループ内のオーディオ再生機器のうちの1つである。
【0023】
いくつかの実装形態では、システムは、クロックマスターを選択する際に、オーディオ再生機器のグループ内にないいかなるオーディオ再生機器も考慮から除外するように構成される。
【0024】
本明細書に記載される様々な実装形態は、以下の利点のうちの1つ又は複数を提供し得る。
【0025】
いくつかの実装形態では、オーディオマスターとクロックマスターの分離は、オーディオマスターが変わったときの再同期の必要性をなくすのに役立つ場合がある。
【0026】
特定の実装形態では、オーディオマスターとクロックマスターの分離は、クロックマスターの回復中(電力損失時)のオーディオ再生の中断を回避するのに役立つ場合もある。
【0027】
いくつかのケースでは、ネットワーク接続されたオーディオ再生機器のクロックは、オーディオ再生の開始の前の遅延を低減するために予め同期させることができる。
【図面の簡単な説明】
【0028】
【
図1】オーディオ配信システムの概略ブロック図である。
【
図2】
図1のシステムからのオーディオ再生機器の概略図である。
【
図3】オーディオの同期再生のために配置された、
図1のシステムからのオーディオ再生機器のグループ化の機能ブロック図である。
【
図4】
図1のシステムからのオーディオ再生機器の機能的態様の概略ブロック図である。
【
図5】オーディオ再生機器のグループ間でオーディオ再生を同期させるための例示的プロセスのフローチャートである。
【
図6】オーディオ再生機器のグループ間でオーディオ再生を同期させるための別の例示的プロセスのフローチャートである。
【発明を実施するための形態】
【0029】
いくつかの既知の家庭用オーディオシステムは、複数のオーディオ再生ユニットからなり、それらは家中の様々な部屋の中に配置されてよく、またローカルエリアネットワーク(LAN)を介して互いに通信する。一般に、1つ以上の再生ユニットは、インターネット無線局などの広域ネットワーク(WAN)上で利用可能なソースであり得る、オーディオコンテンツのソースへのアクセスを有する。典型的には、2つ以上の個々のユニットを、ユーザの裁量で、大抵はゾーンと呼ばれるものに一緒にグループ化することができ、そこでは、ゾーン内のグループ化された再生ユニットは、同期してオーディオコンテンツを再生する(レンダリングする)。
【0030】
同期再生を容易にするためには、ユニットのうちの1つ(マスターユニット)が、他のユニットのうちの1つ以上(スレーブユニット)がマスターと共にコンテンツをロックステップでレンダリングするために使用するタイミング(クロック)情報と共に、オーディオコンテンツを配信する。スレーブ機器の各々は、マスター機器によって提供されるクロック時間(すなわち、マスターのクロック時間)に基づいて、そのそれぞれのクロック、又はオーディオコンテンツに規定されたレンダリング時間を調整することができる。このことは、複数の再生ユニットが、各々がその独自のクロックで、オーディオコンテンツのレンダリングを同期することを可能にする。したがって、これらの既存のシステムは、オーディオマスターとクロックマスターの両方として機能する単一のマスターユニットに依存している。
【0031】
本開示は、オーディオマスターとクロックマスターの役割を分離することが有益であり得るという実現に基づいている。
【0032】
図1のオーディオ配信システム100は、ネットワークに接続されている複数のオーディオ再生機器(例えば無線スピーカー)にオーディオデータを配信し、かつそのような複数のオーディオ再生機器の間でオーディオデータを同期させるための方法を達成するために使用することができる。システム100は、デジタルオーディオ(例えば、デジタル音楽)を配信するように適合されており、いくつかのオーディオ再生機器110-1~110-n(総じて110として参照)が含まれる。1つの非限定的な実施形態では、オーディオ再生機器110は、各々が、デジタルオーディオ信号を受信し、それらをアナログ形式に転換することができるデジタル/アナログ変換器を含む同一の機器である。オーディオ再生機器110は、アナログオーディオ信号を受信し、それらを音声に変換する電気音響トランスデューサも含む。オーディオ再生機器は、プロセッサも含む。オーディオ再生機器は、互いに接続されており、ネットワーク116を介してローカルルータ/アクセスポイント114にも接続されている。これにより、オーディオ再生機器は、互いに通信することができる。ネットワーク116は、有線及び/又は無線ネットワークとすることができ、既知のネットワーク接続方法を使用することができる。ネットワーク116は、この非限定的な例では、インターネット122への接続によって広域ネットワーク(WAN)120に接続されているローカルエリアネットワーク(LAN)118の一部である。LAN118にはまた、1つ以上の別々の計算機器124と、1つ以上の別個のローカルデジタルオーディオソース130も含まれる。この非限定的な例では、計算機器には、パーソナルコンピュータ126と、スマートフォン、タブレットなどの携帯計算機器128とが含まれる。WAN120は、両方がインターネット122を介してLANと通信することができるサーバ140と、インターネットラジオサービス142とを含む。
【0033】
システム100の1つの用途は、オーディオストリームを含めるが、これに限定されないデジタルオーディオデータをオーディオ再生機器110のうちの1つ以上で再生することである。デジタルオーディオのソースは、ネットワーク116を介して、オーディオ再生機器に移動するオーディオストリームのようなコンテンツへのアクセスを提供する。このようなオーディオストリームのソースは、例えば、インターネットラジオ局及びユーザ定義のプレイリストを含むことができる。このようなデジタルオーディオソースの各々は、オーディオ再生機器の1つ以上にわたって再生されるように、ユーザによって選択され得るオーディオコンテンツのリポジトリを維持する。このようなデジタルオーディオソースは、例えば、Pandora(登録商標)、Spotify(登録商標)、及びvTuner(登録商標)などのインターネットベースの音楽サービスを含むことができる。デジタルオーディオソース130などのネットワーク接続型記憶機器、及び携帯計算機器上に見られるようなメディアサーバアプリケーションも、オーディオデータのソースとなり得る。非限定的な例では、ユーザは、PC126及び/又は携帯機器128によって提供されるユーザインターフェースを介してオーディオソース及び再生機器を選択する。
【0034】
図2は、本開示の一例としての例示的なオーディオ再生機器110を示す。オーディオ再生機器110は、エンクロージャ210(a/k/a「筐体」)を含む。エンクロージャ210上には、現在再生している(「現在再生中」)音楽に関する情報をユーザに提供することができるグラフィカルインターフェース212(例えば、OLEDディスプレイ)が備わっている。1つ以上の電気音響トランスデューサ215が存在する。オーディオ再生機器110には、ユーザ入力インターフェース216も含まれる。ユーザ入力インターフェース216は、複数のプリセットインジケータを含むことができ、これはハードウェアボタンであり得る。プリセットインジケータは、それらのボタンに割り当てられたエンティティへの容易な1回の押下アクセスをユーザに提供することができる。
【0035】
オーディオ再生機器110はまた、ネットワークインターフェース220、プロセッサ222、オーディオハードウェア224、様々な構成要素に電力を供給するための電源226及びメモリ228を含む。プロセッサ222、グラフィカルインターフェース212、ネットワークインターフェース220、オーディオハードウェア224、電源226及びメモリ228の各々は、様々なバスを使用して相互に接続され、構成要素のうちのいくつかは、共通のマザーボード上に取り付けられてもよく、又は必要に応じて他の方法で取り付けられる場合もある。
【0036】
ネットワークインターフェース220は、1つ以上の通信プロトコルを介して、無線スピーカーパッケージ200、オーディオソース、他のネットワーク化された無線スピーカーパッケージ及び他のオーディオ再生機器間の通信を実現する。ネットワークインターフェース220は、無線インターフェース230及び有線インターフェース232のいずれか、又はその両方を提供する場合がある。無線インターフェース230は、IEEE802.11b/gなどの通信プロトコルに従って、無線スピーカーパッケージ200が他の機器と無線通信することを可能にする。有線インターフェース232は、有線(例えば、イーサネット)接続を介して、ネットワークインターフェース機能を提供する。
【0037】
一部のケースでは、ネットワークインターフェース220はまた、Apple AirPlay(登録商標)(機器間の関連メタデータと共に、オーディオ、ビデオ及び写真の無線ストリーミングを可能にする、カリフォルニア州クパチーノに本社を置き、Apple Inc.によって開発された独自のプロトコルスタック/スイート)をサポートするためのネットワークメディアプロセッサ234を含む場合もある。例えば、ユーザが、iPhone(登録商標)やiPad(登録商標)機器などのAirPlay(登録商標)対応の機器をLANに接続した場合、このときユーザは、AirPlay(登録商標)を介してネットワーク接続されたオーディオ再生機器に音楽をストリーミングすることができる。注目すべきは、オーディオ再生機器は、AirPlay(登録商標)及び/又はDLNA(登録商標)のUPnPプロトコルを介したオーディオストリーミングをサポートすることができ、全ては1つの機器の中に統合されている。
【0038】
ネットワークパケットから到来する他の全てのデジタルオーディオは、ネットワークメディアプロセッサ234からUSBブリッジ236を介してプロセッサ222にまっすぐ到来し、復号器、DSPに達し、そして最終的には電気音響トランスデューサ(複数可)215を介して再生(レンダリング)される。ネットワークインターフェース220はまた、Bluetoothアプリケーション(例えば、スマートフォン又はタブレットなどのBluetooth対応のオーディオソースとの無線通信のための)用のBluetooth回路238を含む場合もある。
【0039】
ストリーミングされたデータは、ネットワークインターフェース220からプロセッサ222に渡される。プロセッサ222は、メモリ228に記憶されている命令を含めた、無線スピーカーパッケージ内の命令(例えば、とりわけ、デジタル信号処理、復号、及び等化機能を実施するための)を実行することができる。プロセッサ222は、別個の複数のアナログ及びデジタルプロセッサを含むチップのチップセットとして実装されてもよい。プロセッサ222は、例えば、ユーザインターフェースの制御、オーディオ再生機器110によって起動されるアプリケーションの制御など、オーディオ再生機器110の他の構成要素の調整を行う場合もある。
【0040】
プロセッサ222は、デジタルオーディオ信号をアナログオーディオ信号に転換するための1つ以上のデジタル/アナログ(D/A)変換器を含むオーディオハードウェア224に対して、処理されたデジタルオーディオ信号を提供する。オーディオハードウェア224は、再生のために、増幅されたアナログオーディオ信号を電気音響トランスデューサ(複数可)215に提供する1つ以上の増幅器も含む。加えて、オーディオハードウェア224は、他の機器と共有するためのデジタルオーディオ信号を提供するために、アナログ入力信号を処理するための回路を含む場合もある。
【0041】
メモリ228は、例えば、フラッシュメモリ及び/又は不揮発性ランダムアクセスメモリ(NVRAM)を含むことができる。一部の実装形態では、命令(例えば、ソフトウェア)は、情報担体に記憶されている。命令は、1つ以上の処理機器(例えば、プロセッサ222)によって遂行される際、本明細書の他の場所で記載したものなどの1つ以上のプロセスを実行する。命令はまた、1つ以上のコンピュータ可読媒体又は機械可読媒体(例えば、メモリ228、又はプロセッサ上のメモリ)などの1つ以上の記憶機器によって記憶することもできる。命令は、復号を実行するための命令を含むことができ(すなわち、ソフトウェアモジュールがデジタルオーディオストリームを復号するためのオーディオコーデックを含む)、並びにデジタル信号処理及び等化を含むことができる。
【0042】
図3は、
図1のオーディオ配信システム内の複数のオーディオ再生機器110-1,110-2,110-3から形成された再生グループ300の概略図である。図示される構成では、オーディオ再生機器のうちの1つ(この場合、オーディオ再生機器110-1)は、マスターオーディオ機器として機能し、グループ300内の他のオーディオ再生機器(すなわち、オーディオ再生機器110-2&110-3)は、オーディオスレーブとして機能する。
【0043】
マスター機器110-1は、オーディオソース302(すなわち、
図1の130又は142のうちの1つ)からオーディオデータ301を受信し、それをスレーブ機器110-2及び110-3に配信する。この非限定的な例では、このようなオーディオ配信は、無線アクセスポイント/ルータ(アイテム114、
図1)を介するWiFiであり得る。代替的に又は追加的に、オーディオ配信は、有線(例えば、イーサネット)接続を介する場合、又は有線接続と無線接続の組み合わせを介する場合もある。グループ300内のオーディオ機器110-1,110-2及び110-3のそれぞれがオーディオを再生する。グループ内の機器間でのオーディオ再生は、それら全てが同時に同じオーディオを再生するように同期される。
【0044】
オーディオコンテンツの再生が同期され、かつ同期されたままであることを確実にするのを支援するために、グループ300内の個々のオーディオ再生機器のそれぞれの内部クロック(a/k/a「ローカルクロック」)は同期されている。原則として、そのようなクロックは、発振器と、カウンタと、を備える。同期(a/k/a「マルチルーム」)再生中に、ネットワークタイムプロトコル(NTP)などのプロトコルを利用して、クロックマスターとスレーブの関係でタイミング情報を配信して、同期されたグループ300内の全ての機器上で現在のクロック時間を維持する。
【0045】
時間同期プロトコルは、オーディオストリームとは切り離されており、それとは別である。その点において、オーディオ再生機器のうちの1つ(このケースではオーディオ再生機器110-4)が、クロックマスターとして指定される。注目すべきは、クロックマスターは、オーディオマスターとは意図的に異なる機器であり、また図示される例では再生グループ300のメンバーでもない(すなわち、図示された実装形態では、オーディオ再生機器110-4は、オーディオをグループ300内の機器と同期してレンダリングしない)。
【0046】
クロックマスターは、クロックデータ303(すなわち、クロックマスターが時間サーバとして機能する)をグループ300内のオーディオ再生機器110-1,110-2,110-3に提供し(a/k/a「クロックスレーブ」)、これらの機器はその後、そのクロックデータを使用してクロックマスターのクロックと同期するようにそのそれぞれのクロックを更新する。クロックデータは、グループ化された機器を、更新されクロックマスターと同期した状態で維持するために、周期的に、例えば1~6秒毎に提供されてもよい。
【0047】
別個に、オーディオマスターはまた、「再生」時間304、すなわち、グループ内の全ての機器が、いつ配信されたオーディオコンテンツの再生を始めるべきかの識別表示を提供してよい。「再生」時間304は、ユニットが一連の順序付けられたオーディオデータサンプルに第1のサンプルをレンダリングすべきクロック時間を表してもよく、オーディオデータサンプルの残りの部分は、規定されたサンプルレートで順番に再生される。「再生」時間304は、オーディオストリームとは別個の制御データで通信され、また一部のケースでは、各トラックに対して1回しか送信されない(すなわち、全てのフレームには含まれない)。全ての新たなトラック又はストリームは、新たな「再生」時間を獲得することになる。
【0048】
オーディオスレーブは、オーディオストリーム301において第1のサンプルを受信し、指定された「再生」時間304で再生を開始する。全てのグループ化された機器はクロックマスターに同期され、それにより全てが同一の現在のクロック時間を有するため、それらは全て同時に再生を開始する。そのことから、機器は全て、一定のサンプルレートで再生を行うことができ、その結果、同期したままである。
【0049】
図4を参照すると、各オーディオ再生機器110は、パーサー400と、リングバッファ402と、復号器404と、サンプルバッファ406と、同期モジュール408と、非同期サンプルレート変換器(ASRC)410とを含む。これらの構成要素は、
図2に示される構成要素に加えられてもよい、又は、例えば、
図2に示されるプロセッサ222、オーディオハードウェア224及び/又はメモリ228に25含まれる場合もある。ストリームの開始時に、データ(例えば、符号化されたオーディオ)は、マスターオーディオ再生機器(a/k/a「オーディオマスター」)に流れ始め、ここで、それは、フレーム境界を識別するために、オーディオマスターのパーサー400によって解析される。パーサー400は、符号化されたオーディオがパックされている任意の容器(例えば、MP3)を剥ぎ取り、それをカスタムオーディオフレームの中に入れる。解析されたが、まだ符号化されているデータは、オーディオマスターのリングバッファ402に記憶される。次に、符号化されたデータが復号され、時間オフセットが生成され、オーディオフレームのヘッダに添えられ、復号されたオーディオフレームは、サンプルバッファ406に記憶される。オフセットは、対応するフレームの再生を開始すべき時間と「再生」時間との時間差を表す。オフセットは、対応するオーディオフレームからのオーディオサンプルがいつASRC410に供給されるかを決定するために同期モジュール408によって使用される。ASRC410は、レンダリングのための一定のサンプルレートを保証する。
【0050】
同期再生のために、符号化されたデータは、オーディオマスターのリングバッファ402から速やかに引き出され、スレーブ再生機器(a/k/aオーディオスレーブ(複数可))リングバッファ402に提供される。符号化されたオーディオデータのこのような配信は、オーディオマスターと、個々のオーディオスレーブ機器の各々との間のユニキャスト通信を介して行われてもよい。そこから、オーディオスレーブは、オーディオマスターに関して上記で概説したものと同じプロセスに従う。各オーディオスレーブは、オーディオマスターから引き出された符号化されたオーディオを復号し、フレームヘッダにオフセットを割り当て、復号されたオーディオフレームをそれぞれのサンプルバッファ406に記憶する。オーディオスレーブは各々、オーディオフレームにその独自のオフセットを適用するが、これらのオフセットは、各機器が同一のストリームを受信し、同一の復号器ソフトウェアを使用しているため、オーディオマスターによって適用されるものと同じになる。
【0051】
オーディオマスター上のクロックとオーディオスレーブ上のクロックは同期しており、オフセットは全く同一であるため、グループ(例えば、グループ300,
図3)内の各機器は、同一のデータを同時にそのASRC410に供給することになる。ASRC410は、各機器が同一の一定のレートでオーディオを出力することを保証する。個々の機器上の発振器は、異なる速度でスピンする場合もあり、このことは、タイミング同期であるにもかかわらず、機器間に時間のずれをもたらす可能性がある。クロック時間に対する同期の調整は、対応するスレーブ機器に、同期したままになるように再生する必要があるオーディオの継続時間を増大させるか、縮小させるかしてよい。各機器上のASRC410は、このような時間調整を考慮し、受信したオーディオデータを操作して一定のサンプル出力レートを保証する。
【0052】
図5は、グループ形成中の役割(すなわち、マスター/スレーブの役割)の割り当てのための例示的なプロセス500のフローチャートである。いくつかの実装形態では、プロセス500は、メモリ228(
図2)に記憶された命令を実行するオーディオ再生機器のうちの1つ以上の機器のプロセッサ222(
図2)によって、少なくとも部分的に実行することができる。プロセス500の動作は、グループの形成に関するユーザ命令を受信すること(502)を含む。その点において、グループは典型的には、
図1のPC126又は携帯機器128などのコントローラ機器に設けられたユーザインターフェースにおける入力を介して形成される。ユーザは、グループの基礎として機能する第1の機器(すなわち、オーディオ再生機器110のうちの第1の機器)を選択し、次いで、ユーザインターフェースを介してオーディオ再生機器のうちの他のものを選択してグループに参加させることによってグループを成長させる。代替的に又は追加的に、いくつかの実装形態では、ユーザは、グループを作成するために一度に複数の機器を選択する場合もある。また、いくつかの実装形態では、保存され、再生のために後に選択することができる永続的グループ又は構築物が存在する場合もある。例えば、いくつかの実装形態では、事前定義されたグループは、予め設定された(「持続的」)グループから自動的に音楽の再生を開始する音声指示として、例えば、「音楽を再生する」という音声指示を介して選択されてもよい。グループ選択に関する情報は、1つ以上のオーディオ再生機器に送信され、また1つ以上のオーディオ再生機器によって受信される(502)。
【0053】
プロセス500は、オーディオマスター機器の選択(504)も含む。いくつかの例では、オーディオマスターは、グループの基礎として機能するように選択されたオーディオ再生機器に自動的に設定される。あるいは、最も強いWiFi信号強度を有する、グループ内の機器がオーディオマスターとして選択されてもよい。例えば、グループ内のオーディオ再生機器の各々は、その信号強度を他のグループメンバーに伝達してもよい。ひとたびグループ内の機器の各々が他のグループメンバーの各々から信号強度情報を受信すると、各機器は、最も高い/最も強い信号強度を有するグループメンバーをグループのオーディオマスターとして識別することになる。代替的に又は追加的に、グループメンバーは、そのそれぞれの信号強度を1つのネットワーク機器(例えば、コントローラ機器)に全て報告してもよく、そのネットワーク機器は、オーディオマスターをグループメンバーに対して識別することができる。
【0054】
オーディオ再生機器からのオーディオ出力が正確に同期されることを確実にするために、オーディオ再生機器のそれぞれのクロックは全て同期される。このようなクロック同期を達成するために、オーディオ再生機器のうちの1つは、クロックマスターとして機能するように選択される(506)。クロックマスターは、グループ内の全てのオーディオ再生機器が、そのそれぞれのクロックを同期させる基準時間を配信する。
【0055】
クロックマスターは、グループ内のオーディオ再生機器のうちの1つであってよい、又はそのグループ外のオーディオ再生機器である場合もあるが、クロックマスターは、オーディオ再生機器がオーディオマスターとクロックマスターの両方として同時に機能することがないように選択される。その点に関して、クロックマスターは、オーディオマスターを考慮から除外するリーダー選択アルゴリズム(a/k/a「リーダー選択アルゴリズム」又は「リーダー選択」)に従って選択することができる。分散コンピューティングでは、リーダー選択は、このようなケースではオーディオ再生機器110である、いくつかのコンピュータ(ノード)間に分散された任意のタスクのオーガナイザとして単一のノードを指定するプロセスである。タスクが開始される前は、全てのネットワークノードは、どのノードがタスクの「リーダー」(又はコーディネータ)として機能するか知らないか、現在のコーディネータと通信できないかのいずれかである。しかしながら、リーダー選択アルゴリズムが実行された後、ネットワーク全体の各ノードは、特定のノードをタスクリーダーとして認識する。
【0056】
ネットワークノードは、それらのうちのどれが「リーダー」状態になるかを決定するためにノード同士の間で通信する。そのために、ノードは、それらの間の対称性を断ち切るための何らかの方法を必要とする。例えば、各ノードが独自で同等のアイデンティティを有する場合、このときノードはそれぞれのアイデンティティを比較し、最も高いアイデンティティを有するノードがリーダーであると判断することができる。一部のケースでは、リーダー選択アルゴリズムは、クロックマスターを最低のピングタイムを報告する再生ユニットとなるように選択することができる。
【0057】
例えば、グループ内のオーディオ再生機器の各々は、アクセスポイント(アイテム114,
図1)をピングし、そのピングタイム(すなわち、オーディオ再生機器にエコーバックされる、オーディオ再生機器からアクセスポイントに送信されるメッセージの往復時間)を他のグループメンバーに伝達することができる。ひとたびグループ内の機器の各々が他のグループメンバーの各々からそれぞれのピングタイムを受信すると、各機器は、グループのクロックマスターとして、最短のピングタイムを有するグループメンバー(オーディオマスターを除く)を識別することになる。あるいは、上述したように、クロックマスターを選択するプロセスは、システム内の全てのオーディオ再生機器(システム100,
図1など)を含めるように拡張することもでき、したがって、再生グループのメンバーのみに必ずしも限定されない。このケースでは、クロックマスターは、再生グループの一部であるか否かにかかわらず、最低のピングタイムを報告するシステム機器(オーディオマスターを除く)から選択することができる。
【0058】
いくつかの実装形態では、オーディオ再生機器は、アクセスポイントを含むピアツーピアネットワーク内に配置されてもよい。そのような構成では、クロックマスターは、上述のように、アクセスポイントで短縮されたピングタイムを記録するオーディオ再生機器であるように選択されてよい、あるいは、クロックマスターは、ピアツーピアネットワークのノード間のピングタイムに基づいて決定されてもよい。例えば、クロックマスターは、他のネットワークノードで最小の平均ピングタイムを記録するオーディオ再生機器(例えば、オーディオマスターを除く)であるように選択されてもよい。
【0059】
選択されたクロックマスターを用いて、オーディオマスターを含めたグループのメンバーは、クロックマスターのクロックの同期を開始することができる(508)。いくつかのケースでは、オーディオ再生機器のクロックは、線形時間モデルmnx+bnに従ってマスタークロック時間に同期させることができ、この場合、mnは、マスターのクロックとスレーブnのクロックとの間のレート差であり、xは、スレーブn上の現在のクロック時間を表しており、bnは、起動からの、マスタークロックとスレーブnのクロックとの間のオフセットである。一部のケースでは、mn及びbnは、所与の時間ウィンドウにわたってクロックマスター及びローカルクロックから収集されたタイムスタンプの線形フィットを実行することによって決定される。このモデルが定位置にある場合、機器は、クロックマスターを変える必要がある場合であっても、ある程度の同期を維持することができる。
【0060】
その点において、新たなクロックマスターが必要とされ得る状況は2とおりあり、1)現在のクロックマスターが電力を失った場合、又は2)クロックマスターがオーディオマスターになる場合、例えば現在のクロックマスターが、新たなグループ化のヘッドとして選択される場合などがある。いずれのケースにおいても、リーダー選択アルゴリズムは再始動する。この時点では、システムは、オーディオ再生機器が、その既存のそれぞれのmn値及びbn値を使用してクロック同期を最初に維持する「開ループ」状態にある。その後、新たなクロックマスターが選択されると、他のオーディオ再生機器は、オーディオソース再生機器に、新たなマスタークロックに基づいて、そのそれぞれのm値及びb値を調整させるヒューリスティックな手法を用いて、新たなクロックマスターのクロックに合わせてそのクロックをゆっくりと調整し始め、その一方で、新たなクロックマスターは、mmaster=1及びbmaster=0になるように、そのレートをゆっくりとゼロまで低下させる。
【0061】
図6を参照すると、代替の実施形態(600)では、グループが形成される(606)前、及び/又はオーディオマスターが選択される(608)前に、クロックマスターを選択することができる(602)。このことにより、再生するためにオーディオコンテンツが選択される前に、オーディオ再生機器がクロックを同期させること(「事前同期」)(604)を有利に可能にすることができ、このことにより最終的には再生が開始する前の遅延を短くすることができる(610)。この実施形態では、上述したものと同様のリーダー選択アルゴリズムを使用してクロックマスターを選択することができるが、オーディオマスターを除外する必要はない。オーディオマスターはその後、しばらく経ってから特定することができる。その点において、オーディオマスターは、クロックマスターを考慮から除外するマスター選択アルゴリズムによって選択することができる。
【0062】
マスター選択アルゴリズムは、クロックマスターとして機能しているいずれの機器も除外して、最も強いWiFi信号接続を報告する、再生グループ内のオーディオ再生機器に基づいてオーディオマスターを選択してよい(608)。あるいは、オーディオマスターは、その機器がクロックマスターとしても機能しているかどうかにかかわらず、最も強いWiFi信号接続を報告する、再生グループ内のオーディオ再生機器に基づいて選択されてもよい(608)。このケースでは、クロックマスターがその後オーディオマスターとして選択された場合(608)、このとき選択されたオーディオの再生が開始する間、又は開始後に新たなクロックマスターを選択することができ、すなわち、グループ内のオーディオ再生機器は、新たなクロックマスターが選択されている間に、そのクロックが事前に同期されるという事実をなおも利用することができる。
【0063】
オーディオ再生機器が、再生グループのオーディオマスター及びクロックマスターの両方として同時に機能し得ない実装形態が記載されてきたが、オーディオ再生機器が、1つの再生グループのクロックマスターとして機能することができ、その一方で、同じオーディオ配信システム内の別の異なる再生グループのオーディオマスターとしても機能することが企図されている。
【0064】
いくつかの実装形態では、オーディオソースは、パーソナルエリアネットワーク(PAN)を介して(例えば、Bluetooth接続を介して)再生グループのオーディオ再生機器のうちの1つに接続される。そのようなケースでは、オーディオソースに結合された機器をオーディオマスターとして選択することができ、その選択はその後、オーディオマスターから、LANを介してグループ内の他の機器に伝達することができる。
【0065】
特定の実装形態では、オーディオソースは、オーディオ再生機器上の補助入力ポートを介したハードワイヤ接続を介して、再生グループのオーディオ再生機器のうちの1つに接続される。そのようなケースでは、オーディオソースに直接結合された機器をオーディオマスターとして選択することができ、その選択はその後、オーディオマスターから、LANを介してグループ内の他の機器に伝達することができる。
【0066】
上述のシステム及び方法の実施形態は、当業者には明白であろうコンピュータコンポーネント及びコンピュータ実装ステップを含む。例えば、コンピュータ実装ステップが、例えば、フロッピーディスク、ハードディスク、光ディスク、フラッシュROM、不揮発性ROM、及びRAMのコンピュータ可読媒体上にコンピュータ実行可能命令として記憶され得ることが当業者によって理解されるべきである。更に、コンピュータ実行可能命令が、例えば、マイクロプロセッサ、デジタル信号プロセッサ、ゲートアレイなどの様々なプロセッサ上で実行され得ることが当業者によって理解されるべきである。説明を容易にするために、上記のシステム及び方法の全てのステップ又は要素が、コンピュータシステムの一部として本明細書で説明されるわけではないが、各ステップ又は要素が、対応するコンピュータシステム又はソフトウェアの構成要素を有し得ることを、当業者は認識するであろう。したがって、このようなコンピュータシステム及び/又はソフトウェアコンポーネントは、それらの対応するステップ又は要素(すなわち、それらの機能性)を記載することによって有効化され、また本開示の範囲内にある。
【0067】
複数の実装形態を説明してきた。それにもかかわらず、本明細書に記載される本発明の概念の範囲から逸脱することなく追加の改変を行うことができ、したがって、他の実装形態も以下の特許請求の範囲内にあることが理解される。
【符号の説明】
【0068】
100 オーディオ配信システム
110-1 オーディオ再生機器
114 アクセスポイント
116 ネットワーク
118 ローカルエリアネットワーク(LAN)
120 広域ネットワーク(WAN)
122 インターネット
124 計算機器
126 パーソナルコンピュータ
128 携帯機器
130 デジタルオーディオソース
140 サーバ
142 インターネットラジオサービス
210 エンクロージャ
212 グラフィカルインターフェース
215 電気音響トランスデューサ
216 ユーザ入力インターフェース
220 ネットワークインターフェース
222 プロセッサ
224 オーディオハードウェア
226 電源
228 メモリ
230 無線インターフェース
232 有線インターフェース
234 ネットワークメディアプロセッサ
236 ブリッジ
238 Bluetooth回路
300 再生グループ
301 オーディオストリーム
302 オーディオソース
303 クロックデータ
304 時間
400 パーサー
402 リングバッファ
404 復号器
406 サンプルバッファ
408 同期モジュール
410 非同期サンプルレート変換器(ASRC)