(57)【特許請求の範囲】
【請求項１】
第1のワイヤレスネットワークを介して、オーディオソースから、オーディオデータを再生するように適合されるワイヤレススピーカパッケージに送られる前記オーディオデータの再生を同期する方法であって、
前記オーディオソースが前記第1のワイヤレスネットワークを介してオーディオデータを送信するために要する時間である第1の時間枠と、前記オーディオデータが前記ワイヤレススピーカパッケージによって受信されるために要する時間である第2の時間枠とを比較するステップであって、前記第１の時間枠と前記第２の時間枠との比が前記比較に基づいて取得される、ステップと、
前記受信されたオーディオデータを、前記第1の時間枠と前記第2の時間枠との前記比に基づいて確立された第3の時間枠にわたって、前記ワイヤレススピーカパッケージ上で再生するステップと
を含む方法。
【請求項２】
前記オーディオデータが、前記第1のワイヤレスネットワークを介して、別個のデータパケット時間枠にわたってそれぞれ送られる別個のオーディオデータパケットとして送られ、前記第1の時間枠が前記別個のデータパケット時間枠を含む請求項1に記載の方法。
【請求項３】
前記第3の時間枠が、前記別個のデータパケット時間枠と、前記第2の時間枠および前記第1の時間枠の関数とに基づく請求項2に記載の方法。
【請求項４】
前記受信されたオーディオデータパケットが、前記第3の時間枠にわたって前記ワイヤレススピーカパッケージ上で再生される請求項3に記載の方法。
【請求項５】
前記第3の時間枠と前記第2の時間枠との差が変化したとき、前記ワイヤレススピーカパッケージ上のバッファ深さを修正するステップをさらに含む請求項4に記載の方法。
【請求項６】
前記ワイヤレススピーカパッケージおよび1つまたは複数の追加のワイヤレススピーカパッケージ上での、前記第3の時間枠にわたる、前記受信されたオーディオデータの同期式再生のために、第2のワイヤレスネットワークを介して、前記ワイヤレススピーカパッケージから前記追加のワイヤレススピーカパッケージに、前記受信されたオーディオデータを送るステップをさらに含む請求項1に記載の方法。
【請求項７】
前記オーディオデータが、前記第1のワイヤレスネットワークを介して別個のオーディオデータパケットとして送られ、前記方法が、オーディオデータパケットが前記第1のワイヤレスネットワークを介して送られるときに、送信タイムスタンプを用いて前記オーディオデータパケットをタイムスタンプするステップと、前記オーディオデータパケットが前記ワイヤレススピーカパッケージによって受信されるとき、受信タイムスタンプを用いて、受信された前記オーディオデータパケットをさらにタイムスタンプするステップとをさらに含み、前記受信タイムスタンプが、個々のデータパケットのうちの関連するデータパケットが前記ワイヤレススピーカパッケージによって受信されたときの、前記ワイヤレススピーカパッケージ上のローカル時刻を表す請求項1に記載の方法。
【請求項８】
前記第1の時間枠が、オーディオデータパケットの前記送信タイムスタンプに基づき、前記第2の時間枠が、同一のオーディオデータパケットの前記受信タイムスタンプに基づく請求項7に記載の方法。
【請求項９】
前記オーディオデータが、前記第1のワイヤレスネットワークを介して別個のオーディオデータパケットとして送られ、前記方法は、前記第1の時間枠と前記第2の時間枠との比較に基づく時間オフセットを前記オーディオデータの各フレームのヘッダに加えるステップをさらに含む請求項1に記載の方法。
【請求項１０】
前記オーディオデータが、前記第1のワイヤレスネットワークを介して別個のオーディオデータパケットとして送られ、方法が、前記第3の時間枠にわたって、前記受信されたオーディオデータパケットの各々を前記ワイヤレススピーカパッケージ上で再生するステップをさらに含む請求項1に記載の方法。
【請求項１１】
前記第3の時間枠が可変であり、方法が、前記ワイヤレススピーカパッケージによるパケットの受信間の時間に基づいて前記第3の時間枠をスケーリングするステップをさらに含む請求項10に記載の方法。
【請求項１２】
受信されたオーディオデータが再生される前に、前記受信されたオーディオデータに平滑化関数を適用し、前記第1の時間枠と前記第3の時間枠との間の差によるオーディオアーチファクトを低減するステップをさらに含む請求項1に記載の方法。
【請求項１３】
前記第3の時間枠を導出するために必要な情報を、前記ワイヤレススピーカパッケージのメモリ内に記憶するステップをさらに含む請求項1に記載の方法。
【請求項１４】
前記オーディオソースと前記ワイヤレススピーカパッケージが切断され、次いで前記第1のワイヤレスネットワークを介して再接続された後、前記記憶した情報をメモリから取り出し、次いで、前記情報と、前記第1の時間枠および前記第2の時間枠の現在値とを使用して、受信されたオーディオデータが前記ワイヤレススピーカパッケージ上で再生される前記第3の時間枠を生成する請求項13に記載の方法。
【請求項１５】
前記第3の時間枠が取り出された後、前記第1の時間枠および前記第2の時間枠に基づいて前記第3の時間枠を修正するステップをさらに含む請求項14に記載の方法。
【請求項１６】
前記第1のワイヤレスネットワークが、前記オーディオソースおよび前記ワイヤレススピーカパッケージ内のクロックを同期またはレート整合するための手段を提供しないネットワークを備える請求項1に記載の方法。
【請求項１７】
前記第1のワイヤレスネットワークがBluetooth（登録商標）ネットワークである請求項16に記載の方法。
【請求項１８】
ワイヤレススピーカパッケージであって、
電気音響変換器と、
プロセッサと、
前記プロセッサによって実行されるとき、前記ワイヤレススピーカパッケージに、
オーディオデータが第1のワイヤレスネットワークを介して前記ワイヤレススピーカパッケージに送信するために要する時間である第1の時間枠と、前記オーディオデータが前記ワイヤレススピーカパッケージによって受信されるために要する時間である第2の時間枠とを比較させ、前記第１の時間枠と前記第２の時間枠との比が前記比較に基づいて取得され、
前記受信されたオーディオデータを、前記第1の時間枠と前記第2の時間枠との前記比に基づいて確立された第3の時間枠にわたって、前記ワイヤレススピーカパッケージ上で再生させる命令を含むメモリと
を備えるワイヤレススピーカパッケージ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ソースからシンクにワイヤレスに送られるオーディオデータを同期することに関する。
【背景技術】
【０００２】
Bluetooth（登録商標）規格は、オーディオソースおよびオーディオシンク内のクロックを同期またはレート整合するための手段を提供しない。Bluetooth（登録商標）ソースは、そのデータレート、パケットサイズ、およびパケット当たりのオーディオの持続時間が劇的に変動する。無線周波数(RF)環境も、シンクでのオーディオデータパケット到着時刻の変動に寄与し得る。ほとんどのBluetooth（登録商標）対応オーディオシンク(ワイヤレススピーカパッケージなど)は、これらの不整合を補償するために固定の待ち時間(すなわち、バッファ深さ)を有する。しかしながら、待ち時間が約100ミリ秒を超える場合、オーディオ/ビデオ再生のオーディオ部分がビデオより顕著に遅れる。結果として生じる、同期外れの唇の動きは、ほとんどのユーザにとって不快なものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第2014/0277644号
【発明の概要】
【課題を解決するための手段】
【０００４】
ワイヤレススピーカパッケージまたは別のBluetooth（登録商標）オーディオシンクによるオーディオデータの再生の待ち時間が、オーディオパケットを送るのにかかる時間と、これらのオーディオパケットがシンクによって受信される時間との差に基づいて待ち時間が変動することを可能にすることによって最小限に抑えられ得る。このようにして、ジッタが低いとき、待ち時間は少なく、ジッタが増大するとき、待ち時間は増大する。複数のオーディオシンクを備えるネットワークドシステムでは、1つのシンクがマスタとして機能し得、残りはスレーブとして機能し得る。マスタは、デバイスのすべてが同期式に再生するように、オーディオパケットがスレーブに送られる前にオーディオパケットをタイムスタンプし得る。
【０００５】
以下で述べられるすべての例および特徴が、任意の技術的に可能な方式で組み合わされ得る。
【０００６】
一態様では、第1のワイヤレスネットワークを介して、オーディオソースから、オーディオデータを再生するように適合されるワイヤレススピーカパッケージに送られるオーディオデータの再生を同期する方法が、オーディオデータが第1のワイヤレスネットワークを介して送られた第1の時間枠と、オーディオデータがワイヤレススピーカパッケージによって受信された第2の時間枠とを比較すること、および第1の時間枠と第2の時間枠との比較に関係する第3の時間枠にわたって、受信されたオーディオデータをワイヤレススピーカパッケージ上で再生することを含む。
【０００７】
実施形態は、以下の特徴のうちの1つ、またはそれらの任意の組合せを含み得る。第1のワイヤレスネットワークは、オーディオソースおよびワイヤレススピーカパッケージ内のクロックを同期またはレート整合するための手段を提供しないネットワークを備え得る。第1のワイヤレスネットワークはBluetooth（登録商標）ネットワークであり得る。比較は、第2の時間枠および第1の時間枠の関数を含み得る。オーディオデータは、第1のワイヤレスネットワークを介して、別個のデータパケット時間枠にわたってそれぞれ送られる別個のオーディオデータパケットとして送られ得、第1の時間枠は別個のデータパケット時間枠を含む。第3の時間枠は、別個のデータパケット時間枠と、第2の時間枠および第1の時間枠の関数とに基づき得る。受信されたオーディオデータパケットは、第3の時間枠にわたってワイヤレススピーカパッケージ上で再生され得る。方法は、第3の時間枠と第2の時間枠との差が変化したとき(たとえば、差がしきい値を超えたとき)、ワイヤレススピーカパッケージ上のバッファ深さを修正することをさらに含み得る。
【０００８】
実施形態は、以下の特徴のうちの1つ、またはそれらの任意の組合せを含み得る。方法は、ワイヤレススピーカパッケージおよび1つまたは複数の追加のワイヤレススピーカパッケージ上での、第3の時間枠にわたる、受信されたオーディオデータの同期式再生のために、第2のワイヤレスネットワークを介して、ワイヤレススピーカパッケージから追加のワイヤレススピーカパッケージに、受信されたオーディオデータを送ることをさらに含み得る。オーディオデータは、第1のワイヤレスネットワークを介して別個のオーディオデータパケットとして送られ得、方法は、オーディオデータパケットが第1のワイヤレスネットワークを介して送られるとき、送信タイムスタンプを用いてオーディオデータパケットをタイムスタンプすること、およびオーディオデータパケットがワイヤレススピーカパッケージによって受信されるとき、受信タイムスタンプを用いて、受信されたオーディオデータパケットをさらにタイムスタンプすることをさらに含み得、受信タイムスタンプは、個々のデータパケットのうちの関連するデータパケットがワイヤレススピーカパッケージによって受信されたときの、ワイヤレススピーカパッケージ上のローカル時刻を表す。第1の時間枠は、オーディオデータパケットの送信タイムスタンプに基づき得、第2の時間枠は、同一のオーディオデータパケットの受信タイムスタンプに基づき得る。
【０００９】
実施形態は、以下の特徴のうちの1つ、またはそれらの任意の組合せを含み得る。オーディオデータは、第1のワイヤレスネットワークを介して別個のオーディオデータパケットとして送られ得、方法は、第1の時間枠と第2の時間枠との比較に基づく時間オフセットをパケットに加えることをさらに含み得る。方法は、第2のワイヤレスネットワークを介して、ワイヤレススピーカパッケージから1つまたは複数の追加のワイヤレススピーカパッケージに、受信されたオーディオデータパケットをパケットについての受信スタンプとともに送り、ワイヤレススピーカパッケージおよび追加のワイヤレススピーカパッケージ上のオーディオデータパケットの同期式再生を可能にすることをさらに含み得る。
【００１０】
実施形態は、以下の特徴のうちの1つ、またはそれらの任意の組合せを含み得る。オーディオデータは、第1のワイヤレスネットワークを介して別個のオーディオデータパケットとして送られ得、方法は、第3の時間枠にわたって、受信されたオーディオデータパケットの各々をワイヤレススピーカパッケージ上で再生することをさらに含み得る。第3の時間枠は可変であり得、方法は、ワイヤレススピーカパッケージによるパケットの受信間の時間に基づいて第3の時間枠をスケーリングすることをさらに含み得る。
【００１１】
実施形態は、以下の特徴のうちの1つ、またはそれらの任意の組合せを含み得る。方法は、受信されたオーディオデータが再生される前に、受信されたオーディオデータに平滑化関数を適用し、第1の時間枠と第3の時間枠との間の差によるオーディオアーチファクトを低減することをさらに含み得る。方法は、第3の時間枠がそれから導出され得る情報を、ワイヤレススピーカパッケージのメモリ内に記憶することをさらに含み得る。オーディオソースとワイヤレススピーカパッケージが切断され、次いで第1のワイヤレスネットワークを介して再接続された後、この情報がメモリから取り出され得、次いで、取り出された情報と、第1の時間枠および第2の時間枠の現在値とが使用され、受信されたオーディオデータがワイヤレススピーカパッケージ上で再生される第3の時間枠が生成され得る。方法は、第3の時間枠が取り出された後、第1の時間枠および第2の時間枠に基づいて第3の時間枠を修正することをさらに含み得る。
【００１２】
別の態様では、ワイヤレススピーカパッケージが、電気音響変換器と、プロセッサと、プロセッサによって実行されるとき、ワイヤレススピーカパッケージに、オーディオデータが第1のワイヤレスネットワークを介してワイヤレススピーカパッケージに送られた第1の時間枠と、オーディオデータがワイヤレススピーカパッケージによって受信された第2の時間枠とを比較させ、第1の時間枠と第2の時間枠との比較に関係する第3の時間枠にわたって、受信されたオーディオデータをワイヤレススピーカパッケージ上で再生させる命令を含むメモリとを含む。
【００１３】
実施形態は、以下の特徴のうちの1つ、またはそれらの任意の組合せを含み得る。第1のワイヤレスネットワークは、オーディオソースおよびワイヤレススピーカパッケージ内のクロックを同期またはレート整合するための手段を提供しないネットワークを備え得る。第1のワイヤレスネットワークはBluetooth（登録商標）ネットワークであり得る。比較は、第2の時間枠および第1の時間枠の関数を含み得る。オーディオデータは、第1のワイヤレスネットワークを介して、別個のデータパケット時間枠にわたってそれぞれ送られる別個のオーディオデータパケットとして送られ得、第1の時間枠は別個のデータパケット時間枠を含む。第3の時間枠は、別個のデータパケット時間枠と、第2の時間枠および第1の時間枠の関数とに基づき得る。受信されたオーディオデータパケットは、第3の時間枠にわたってワイヤレススピーカパッケージ上で再生され得る。方法は、第3の時間枠と第2の時間枠との差が変化したとき(たとえば、差がしきい値を超えたとき)、ワイヤレススピーカパッケージ上のバッファ深さを修正することをさらに含み得る。
【００１４】
実施形態は、以下の特徴のうちの1つ、またはそれらの任意の組合せを含み得る。方法は、ワイヤレススピーカパッケージおよび1つまたは複数の追加のワイヤレススピーカパッケージ上での、第3の時間枠にわたる、受信されたオーディオデータの同期式再生のために、第2のワイヤレスネットワークを介して、ワイヤレススピーカパッケージから追加のワイヤレススピーカパッケージに、受信されたオーディオデータを送ることをさらに含み得る。オーディオデータは、第1のワイヤレスネットワークを介して別個のオーディオデータパケットとして送られ得、方法は、オーディオデータパケットが第1のワイヤレスネットワークを介して送られるとき、送信タイムスタンプを用いてオーディオデータパケットをタイムスタンプすること、およびオーディオデータパケットがワイヤレススピーカパッケージによって受信されるとき、受信タイムスタンプを用いて、受信されたオーディオデータパケットをさらにタイムスタンプすることをさらに含み得、受信タイムスタンプは、個々のデータパケットのうちの関連するデータパケットがワイヤレススピーカパッケージによって受信されたときの、ワイヤレススピーカパッケージ上のローカル時刻を表す。第1の時間枠は、オーディオデータパケットの送信タイムスタンプに基づき得、第2の時間枠は、同一のオーディオデータパケットの受信タイムスタンプに基づき得る。
【００１５】
実施形態は、以下の特徴のうちの1つ、またはそれらの任意の組合せを含み得る。オーディオデータは、第1のワイヤレスネットワークを介して別個のオーディオデータパケットとして送られ得、方法は、第1の時間枠と第2の時間枠との比較に基づく時間オフセットをパケットに加えることをさらに含み得る。方法は、第2のワイヤレスネットワークを介して、ワイヤレススピーカパッケージから1つまたは複数の追加のワイヤレススピーカパッケージに、受信されたオーディオデータパケットをパケットについての受信スタンプとともに送り、ワイヤレススピーカパッケージおよび追加のワイヤレススピーカパッケージ上のオーディオデータパケットの同期式再生を可能にすることをさらに含み得る。
【００１６】
実施形態は、以下の特徴のうちの1つ、またはそれらの任意の組合せを含み得る。オーディオデータは、第1のワイヤレスネットワークを介して別個のオーディオデータパケットとして送られ得、方法は、第3の時間枠にわたって、受信されたオーディオデータパケットの各々をワイヤレススピーカパッケージ上で再生することをさらに含み得る。第3の時間枠は可変であり得、方法は、ワイヤレススピーカパッケージによるパケットの受信間の時間に基づいて第3の時間枠をスケーリングすることをさらに含み得る。
【００１７】
実施形態は、以下の特徴のうちの1つ、またはそれらの任意の組合せを含み得る。方法は、受信されたオーディオデータが再生される前に、受信されたオーディオデータに平滑化関数を適用し、第1の時間枠と第3の時間枠との間の差によるオーディオアーチファクトを低減することをさらに含み得る。方法は、第3の時間枠がそれから導出され得る情報を、ワイヤレススピーカパッケージのメモリ内に記憶することをさらに含み得る。オーディオソースとワイヤレススピーカパッケージが切断され、次いで第1のワイヤレスネットワークを介して再接続された後、この情報がメモリから取り出され得、次いで、取り出された情報と、第1の時間枠および第2の時間枠の現在値とが使用され、受信されたオーディオデータがワイヤレススピーカパッケージ上で再生される第3の時間枠が生成され得る。方法は、第3の時間枠が取り出された後、第1の時間枠および第2の時間枠に基づいて第3の時間枠を修正することをさらに含み得る。
【図面の簡単な説明】
【００１８】
【図１】本方法において使用され得、本開示によるオーディオソースおよびワイヤレススピーカパッケージを含むオーディオ配布システムの概略ブロック図である。
【図２】例示的ワイヤレススピーカパッケージのブロック図である。
【図３】ワイヤレスアクセスポイントを使用する、オーディオソースおよびいくつかのワイヤレススピーカパッケージのワイヤレス相互接続の概略ブロック図である。
【発明を実施するための形態】
【００１９】
ワイヤレススピーカパッケージまたは別のタイプのBluetooth（登録商標）オーディオシンクによるオーディオデータの再生の待ち時間が、ジッタに基づいて、またはソースがオーディオパケットを送るのにかかる時間と、これらのオーディオパケットがシンクによって受信される時間との差に基づいて待ち時間が変動することを可能にすることによって最小限に抑えられ得る。このようにして、ジッタが低いとき、待ち時間は少なく、ジッタが増大するとき、待ち時間は増大する。複数のオーディオシンクを備えるネットワークドシステムでは、1つのシンクがソースと通信し、マスタデバイスとして機能し得る。デバイスの残りはスレーブとして機能し得る。マスタは、デバイスのすべてがオーディオを同期式に再生するように、待ち時間を考慮に入れて、オーディオパケットがスレーブに送られる前にオーディオパケットをタイムスタンプし得る。
【００２０】
図1のオーディオ配布システム10が、ワイヤレスオーディオ同期を実施するために使用され得、このワイヤレスオーディオ同期に使用され得るワイヤレススピーカパッケージおよび他のワイヤレスオーディオソースおよびシンクの非限定的な例をも含む。システム10は、デジタルオーディオ(たとえば、デジタル音楽)を配信するように適合される。システム10は、システムのオーディオ出力デバイス20のグループの中にあるいくつかのオーディオ再生デバイス22、24、および26を含む。1つの非限定的な実施形態では、オーディオ再生デバイスは、デジタルオーディオ信号を受信し、それをアナログ形式に変換することのできるデジタル-アナログ変換器をそれぞれ含む同一のワイヤレススピーカパッケージである。ワイヤレススピーカパッケージはまた、アナログオーディオ信号を受信し、それを音に変換する電気音響変換器をも含む。ワイヤレススピーカパッケージはまた、プロセッサをも含む。ワイヤレススピーカパッケージは、ネットワーク30を介して、互いに接続され、ルータ/アクセスポイント32にも接続され得る。したがって、ワイヤレススピーカパッケージは互いに通信することができる。ネットワーク30は、ワイヤードおよび/またはワイヤレスネットワークであり得、既知のネットワーク接続性方法を使用し得る。ネットワーク30はローカルエリアネットワーク(LAN)12の部分であり、LAN12は、この非限定的な例ではインターネット56に接続することによって、広域ネットワーク(WAN)14に接続される。LAN12はまた、1つまたは複数の別々のコンピューティングデバイス40および/または1つまたは複数の別々のローカルデジタルオーディオソース46をも含む。この非限定的な例では、コンピューティングデバイスは、パーソナルコンピュータ42、およびスマートフォン、タブレットなどのモバイルコンピューティングデバイス44を含む。コンピューティングデバイス40のうちの1つまたは複数は、パーソナルエリアネットワーク(PAN)33(たとえば、ワイヤレスPAN)によってオーディオ出力デバイス20のうちの1つまたは複数に接続され得る。好ましくは、PAN33は、モバイルデバイス44と、オーディオ再生デバイス22、24、または26のうちの1つとの間の直接ポイントツーポイントBluetooth
（登録商標）接続を含む。WAN14は、どちらもインターネット56を介してLAN12と通信し得るサーバ50およびインターネットラジオサービス52を含む。
【００２１】
システム10の1つの用途は、グループ20内のオーディオ再生デバイスのうちの1つまたは複数を介してオーディオストリームを再生することである。デジタルオーディオのソースは、ネットワーク30および/またはネットワーク33を介してオーディオ再生デバイスに移動する、オーディオストリームなどのコンテンツへのアクセスを実現する。そのようなオーディオストリームのソースは、たとえば、インターネットラジオ局およびユーザ定義のプレイリストを含み得る。そのようなデジタルオーディオソースの各々は、オーディオ再生デバイスのうちの1つまたは複数を介して再生されるようにユーザによって選ばれ得るオーディオコンテンツのリポジトリを維持する。そのようなデジタルオーディオソースは、たとえばPandora(登録商標)、Spotify(登録商標)、vTuner(登録商標)などのインターネットベースの音楽サービスを含み得る。デジタルオーディオソース46などのネットワーク接続された記憶デバイス、およびモバイルコンピューティングデバイス上で見出され得るようなメディアサーバアプリケーションも、オーディオデータのソースであり得る。通常、ユーザは、PC42および/またはモバイルデバイス44を介してオーディオソースおよび再生デバイスを選択する。
【００２２】
図2は、本開示の一例として例示的ワイヤレススピーカパッケージを示す。ワイヤレススピーカパッケージ700はエンクロージャ710を含む。エンクロージャ710上に、現在再生中の(「Now Playing」)音楽に関する情報をユーザに提供し得るグラフィカルインターフェース712(たとえば、OLEDディスプレイ)がある。1つまたは複数の電気音響変換器715がある。ワイヤレススピーカパッケージデバイス700はまた、ユーザ入力インターフェース716をも含む。ユーザ入力インターフェース716は複数のプリセットインジケータを含み得、プリセットインジケータはハードウェアボタンであり得る。プリセットインジケータは、それらのボタンに割り当てられたエンティティへの、容易な一押しアクセスをユーザに提供し得る。割り当てられたエンティティは、単一のワイヤレススピーカパッケージ700が様々な異なるデジタルオーディオソースへの一押しアクセスを実現し得るように、デジタルオーディオソースのうちの相異なるものに関連付けられ得る。
【００２３】
ワイヤレススピーカパッケージ700はまた、ネットワークインターフェース720、プロセッサ722、オーディオハードウェア724、様々な構成要素に電力供給するための電源726、およびメモリ728をも含む。プロセッサ722、グラフィカルインターフェース712、ネットワークインターフェース720、オーディオハードウェア724、電源726、およびメモリ728の各々は、様々なバスを使用して相互接続され、構成要素のうちのいくつかは、共通マザーボード上に取り付けられ、または適宜他の方式で取り付けられ得る。
【００２４】
ネットワークインターフェース720は、1つまたは複数の通信プロトコルを介する、ワイヤレススピーカパッケージ700とオーディオソースとの間、および他のネットワークドワイヤレススピーカパッケージと他のオーディオ再生デバイスとの間の通信を実現する。ネットワークインターフェース720は、ワイヤレスインターフェース730とワイヤードインターフェース732のどちらかまたは両方を提供し得る。ワイヤレスインターフェース730は、ワイヤレススピーカパッケージ700がIEEE802.11b/gなどの通信プロトコルに従って他のデバイスとワイヤレスに通信することを可能にする。ワイヤードインターフェース732は、ワイヤード(たとえば、イーサネット（登録商標）)接続を介してネットワークインターフェース機能を提供する。
【００２５】
いくつかのケースでは、ネットワークインターフェース720はまた、Apple AirPlay(登録商標)(オーディオ、ビデオ、および写真を、関連するメタデータとともにデバイス間でワイヤレスストリーミングすることを可能にする、カリフォルニア州クパティーノに本社があるApple Inc.によって開発された知的所有権のあるプロトコルスタック/スイート)をサポートするためのネットワークメディアプロセッサ734をも含み得る。たとえば、ユーザがiPhone（登録商標）またはiPad（登録商標）デバイスなどのAirPlay(登録商標)対応デバイスをネットワークに接続する場合、ユーザは、ネットワーク接続されたオーディオ再生デバイスにApple AirPlay(登録商標)を介して音楽をストリーミングし得る。特に、オーディオ再生デバイスは、AirPlay(登録商標)および/またはDLNA（登録商標）のUPnPプロトコルを介するオーディオストリーミングをサポートし得、すべてが1つのデバイス内に一体化される。
【００２６】
ネットワークパケットから来るすべての他のデジタルオーディオは、直接に、ネットワークメディアプロセッサ734から、USBブリッジ736を通じてプロセッサ722に来て、デコーダ、DSPに入り、最終的に電気音響変換器715を介して再生(レンダリング)される。
【００２７】
ネットワークインターフェース720はまた、Bluetooth（登録商標）応用例(たとえば、スマートフォンやタブレットなどのBluetooth（登録商標）対応オーディオソースとのワイヤレス通信)のためのBluetooth（登録商標）回路738をも含み得る。
【００２８】
ストリーミングされたデータは、ネットワークインターフェース720からプロセッサ722に通過する。プロセッサ722は、メモリ728内に記憶された命令を含む、(たとえば、とりわけ、デジタル信号処理、復号化、および等化機能を実施するための)ワイヤレススピーカパッケージ内の命令を実行し得る。プロセッサ722は、別々の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装され得る。プロセッサ722は、たとえば、ユーザインターフェース、オーディオ再生デバイス700によって実行されるアプリケーションの制御などの、オーディオ再生デバイス700の他の構成要素の調整を実現し得る。適切なプロセッサは、Texas Instrumentsから入手可能なDA921である。
【００２９】
プロセッサ722は、処理されたデジタルオーディオ信号を、デジタルオーディオ信号をアナログオーディオ信号に変換するための1つまたは複数のデジタル-アナログ(D/A)変換器を含むオーディオハードウェア724に供給する。オーディオハードウェア724は、再生のために増幅後アナログオーディオ信号を電気音響変換器715に供給する1つまたは複数の増幅器をも含み得る。さらに、オーディオハードウェア724は、アナログ入力信号を処理して、他のデバイスと共有するためのデジタルオーディオ信号を供給するための回路を含み得る。
【００３０】
メモリ728は、たとえば、フラッシュメモリおよび/または不揮発性ランダムアクセスメモリ(NVRAM)を含み得る。いくつかの実装では、命令(たとえば、ソフトウェア)が情報キャリア内に記憶される。命令は、1つまたは複数の処理デバイス(たとえば、プロセッサ722)によって実行されるとき、本明細書の別の箇所で説明されるような1つまたは複数のプロセスを実施する。命令はまた、1つまたは複数のコンピュータ可読媒体や機械可読媒体などの1つまたは複数の記憶デバイス(たとえば、メモリ728、またはプロセッサ上のメモリ)によって記憶され得る。命令は、復号化(すなわち、ソフトウェアモジュールは、デジタルオーディオストリームを復号化するためのオーディオコーデックを含む)、ならびにデジタル信号処理および等化を実施するための命令を含み得る。追加の詳細が、参照によってその開示が本明細書に組み込まれる米国特許出願公開第2014/0277644号に見出され得る。
【００３１】
図3のオーディオシステム100は、本明細書でのワイヤレスオーディオ同期のために使用され得る。システム100は、ワイヤレスネットワーク103を介してワイヤレススピーカパッケージ104と通信するオーディオソース102を含む。ネットワーク103はBluetooth（登録商標）ネットワークであり得、または103は、オーディオソースとオーディオシンクとを同期するための手段を提供しない、既知の、または今後開発される任意の他のワイヤレス通信ネットワークプロトコルを使用し得る。本明細書のワイヤレスオーディオ同期は、システム100の部分として複数のワイヤレススピーカパッケージを必要としないが、システム100は追加のワイヤレススピーカパッケージ108および110を含み得る。必須ではないが、通常は、システム100の部分である複数のワイヤレススピーカパッケージがあるケースでは、1つのワイヤレススピーカパッケージ(このケースではワイヤレススピーカパッケージ104)がマスタデバイスとして機能し、他のワイヤレススピーカパッケージ(このケースでは108および110)がスレーブワイヤレススピーカパッケージとして機能する。マスタデバイス104は、ソース102からオーディオデータを受信し、オーディオデータをスレーブ108および110に配布する。この非限定的な例では、そのようなオーディオ配布は、ワイヤレスアクセスポイント/ルータ106を介するWiFiによるものであり得るが、配布は、任意の他のワイヤレスまたはワイヤードネットワークプロトコルによるものであり得る。ワイヤレススピーカパッケージ104、108、および110の各々はオーディオを再生する。ワイヤレススピーカパッケージ間のオーディオ再生は、(そうである必要はないが)ワイヤレススピーカパッケージがすべて同一のオーディオを同時に再生するように同期され得る。このことは以下でさらに説明される。
【００３２】
Bluetooth（登録商標）規格は、オーディオソース102およびオーディオシンク(たとえば、ワイヤレススピーカパッケージ)104内のクロックを同期またはレート整合するための手段を提供しない。Bluetooth（登録商標）ソースは、そのデータレート、パケットサイズ、およびパケット当たりのオーディオの持続時間が劇的に変動する。RF環境も、ワイヤレススピーカパッケージ104でのオーディオデータパケット到着時刻の変動に寄与し得る。ワイヤレススピーカパッケージ104(または別のタイプのBluetooth（登録商標）オーディオシンク)によるオーディオデータの再生の待ち時間が、ソース102がオーディオパケットを送るのにかかる時間と、これらのオーディオパケットがワイヤレススピーカパッケージ104によって受信される時間との差に基づいて待ち時間が変動することを可能にすることによって最小限に抑えられ得る。待ち時間の変動は、オーディオデータパケットを送るのにかかる時間を、これらのパケットを受信するのにかかる時間と比較した差に基づき得る。このようにして、ジッタが低いとき、待ち時間は少なく、ジッタが増大するとき、待ち時間は増大する。複数のオーディオシンクを備えるネットワークドシステムでは、ワイヤレススピーカパッケージ104が、オーディオパケットがスレーブ108および110に送られる前にオーディオパケットをタイムスタンプする。このようにして、ワイヤレススピーカパッケージのすべてが、オーディオを同期式に再生し得る。
【００３３】
ワイヤレススピーカパッケージ104は、ソース102から受信する各オーディオデータパケットを、受信の時刻を用いてタイムスタンプし、受信タイムスタンプは、個々のデータパケットのうちの関連するデータパケットがワイヤレススピーカパッケージによって受信されたときの、ワイヤレススピーカパッケージ上のローカル時刻を表す。このことは、ネットワーク103を介してオーディオデータパケットが送られる時刻を用いてソース102がオーディオデータパケットをタイムスタンプするか否かに関わらず行われる。現在のBluetooth（登録商標）プロトコルの部分として、オーディオデータパケットがオーディオソース102によってタイムスタンプされる。そのようなタイムスタンピングは、ワイヤレススピーカパッケージ104のプロセッサが、オーディオデータ(たとえば、オーディオデータの1つまたは複数のパケット)がソース102によって送られた時間枠を、この同じオーディオデータがワイヤレススピーカパッケージ104によって受信された時間枠と比較することを可能にする。ワイヤレススピーカパッケージ104によって実施される比較は、これらの2つの時間枠の関数であり得る。関数は、2つの時間枠の比であり得、または限定はしないが、線形モデルや適応学習アルゴリズムなどの別の関数であり得る。ソース102からのタイムスタンプがない場合、システムは、復号化されたサンプルを利用して、データがソース102によって送られた時刻を推定し得る。受信時刻と送信時刻との比較は、本質的に、2つのパケットの受信間の時間の尺度である。複数の連続するパケットを送るための時間および受信するための時間などの他の尺度が使用され得る。
【００３４】
ワイヤレススピーカパッケージ104は、この比較の結果(たとえば、前述の比)を使用して、オーディオパケットがワイヤレススピーカパッケージ104によって再生される時間枠を確立する。一例では、再生時間枠は、オーディオデータがワイヤレススピーカパッケージ104によって受信された時間枠(これはジッタの尺度である)と、オーディオデータパケットの長さに適用された、この同じオーディオデータがソース102によって送られた時間枠との比に基づく。たとえば、パケット長が20ミリ秒(mS)であり、3つのパケットが61.2mSにわたって受信される場合、上記の比は61.2/(3×20)、すなわち1.02(すなわち、2%の遅延/ジッタ)である。この例での再生時間枠は、20mS×1.02、すなわち20.4mSとして確立され得る。確立された再生時間枠にわたって各パケットがワイヤレススピーカパッケージによって再生されるように、ワイヤレススピーカパッケージの同期サブシステムが、確立された再生時間枠にわたってレート整合アルゴリズム(たとえば、非同期サンプルレート変換器(ASRC))にパケットを供給する。
【００３５】
したがって、比較は待ち時間を確立し、待ち時間はまた、データをバッファリングするために使用されるリングバッファの深さを規定する。待ち時間はこの比較によって設定される。比較(たとえば、比)はデータパケットが受信されるときに連続的に実施されるので、たとえばジッタの変化を補償するために、待ち時間が必要に応じて変化し得る。たとえば、データパッケージの受信の際の何らかの遅延が増大する傾向にある場合、比は増加し、それによって、データパケット再生時間がそれに応じて増大する。一方、データパッケージの受信の際の遅延が減少する傾向にある場合、比は減少し、それによって、データパケット再生時間がそれに応じて減少する。したがって、比較は、待ち時間を実現可能な範囲で最小限に抑えながら、ソース、RF環境、およびシンクの現条件を補償するように待ち時間を動的に修正する。オーディオデータの量が、そのデータの再生のために指定された時間量を本質的に満たさないケース、または再生時間に再生され得るよりも多くのデータがあるケースでは、平滑化関数が使用され、オーディオアーチファクトが削減される。たとえば、利用可能なデータが、オーディオパケットが再生される時間枠を満たすように、余分なデータが内挿(削減)され得、または何らかのデータが外挿(伸長)され得る。第2のタイムスタンプ間の変動がバッファリングされたオーディオ持続時間を超えるとき、十分なオーディオデータが存在する(アンダーフローを回避する)ことを保証するのを助けるように、ターゲット待ち時間(バッファ深さ)が調節され得る。同様に、第2のタイムスタンプ間の変動が十分に低いとき、ビデオに対するオーディオの同期を高めるように、バッファ深さが低減され得る。
【００３６】
オーディオソースからオーディオデータを受信するマスタに接続された追加のスレーブワイヤレススピーカパッケージがあるとき、マスタのオーディオ復号化サブシステムが、各オーディオパケットを再カプセル化し、それらをタイムスタンプする。これらのデータパケットがマスタによってスレーブに送られるとき、これらのデータパケットはタイムスタンプに基づいて再生される。この特徴が、ユーザが望む場合に、ワイヤレススピーカパッケージのすべてが同期式にオーディオを再生することを可能にする。
【００３７】
スレーブデバイス上のすべての現クロック時刻を、マスタデバイスの現クロック時刻と同期されるように保つクロック同期アルゴリズムを使用して、スレーブデバイスがマスタに同期され得る。クロック同期アルゴリズムはオーディオストリームとは別々であり、オーディオストリームから除かれる。クロック同期アルゴリズムクロックデータは、スレーブデバイスを更新し、マスタと同期されるように保つために、1から6秒ごとに供給される。別々に、マスタデバイスは「再生」時刻をスレーブデバイスに供給する。この「再生」時刻は、デバイスがオーディオストリーム内の第1のサンプルの再生を開始すべき時刻を表す。この「再生」時刻は、オーディオストリームとは別々の制御データ内で通信され、トラックごとに1回だけ送られる(すなわち、フレームごとには含まれない)。あらゆる新しいトラックまたはストリームが、新しい「再生」時刻を得ることになる。
【００３８】
スレーブデバイスは、ストリーム内の第1のサンプルを受信し、指定された「再生」時刻に再生を開始する。クロック同期アルゴリズムにより、すべてのデバイスが同一の現クロック時刻を有するので、すべてのデバイスは同時に再生を開始する。そこから、デバイスはすべて、一定のサンプルレートで再生を供給し、したがって同期されたままとどまる。
【００３９】
個々のデバイス上の発振器が、相異なるレートでスピンし、それによってデバイス間の時間ドリフトが生じ得る。クロック時刻に対する同期調節が、対応するスレーブデバイスが同期されたままとなるように再生する必要のあるオーディオの持続時間を増大または縮小させ得る。各オーディオデバイス上に搭載されるASRCは、これらの時刻調節を補償し、受信されたオーディオデータを操作して、一定のサンプル出力レートを保証する。
【００４０】
マスタデバイスは、「再生」時刻からの時間オフセット、すなわち対応するフレームの再生が開始すべき時刻と「再生」時刻との間の時間差を表すタイムスタンプを、オーディオストリーム内の各フレームのヘッダに加える。「再生」時刻およびクロックデータとは異なり、このタイムスタンプはオーディオストリーム内で供給される。このタイムスタンプは、対応するフレームがいつASRC内に供給されるかを決定するためにスレーブデバイスによって使用される。このタイムスタンプは、第1のタイムスタンプおよび第2のタイムスタンプと、以前に受信されたフレームの第1のタイムスタンプおよび第2のタイムスタンプとの比較に基づく。各フレームのヘッダに追加される第3のタイムスタンプは、大まかには、関連するフレームがASRC内に供給されるべき時刻(待ち時間を考慮する将来のある時点)に対応する。この第3のタイムスタンプは実際には時間オフセットである。すなわち、第3のタイムスタンプは、オーディオの再生の初期開始時刻(すなわち、「再生」時刻)からの何らかのデルタである。
【００４１】
待ち時間は、部分的には特定のオーディオソースの関数であり得る。たとえば、相異なるオーディオソースデバイスは、相異なるデータレート、パケットサイズ、パケット当たりのオーディオの持続時間、およびパケット間送信時間を有し得る。さらに、使用されるRF周波数、およびデバイスのWiFi/Bluetooth（登録商標）共存方策が、待ち時間の変動を引き起こし得る。ソースデバイスが以前にワイヤレススピーカパッケージとペアリングされたときの最小の実効待ち時間を確立することを可能にするために、ワイヤレススピーカパッケージメモリは、以前にペアリングされたソースデバイスについての最新の待ち時間ステータスを記憶し得る。記憶される最新の待ち時間ステータスは、デバイスが再接続されるとき、前述の関数と、第1の時間枠および第2の時間枠の現在値とを使用して第3の時間枠を計算するためにプロセッサによって使用され得る値であり得る。そのようなソースデバイスがネットワークから切断され、次いで後で再接続されたとき、ワイヤレススピーカパッケージは、記憶された待ち時間ステータスを使用して初期待ち時間を計算し得る。次いで、本明細書で説明される可変待ち時間システムが、初期待ち時間を必要に応じて修正し、現在の実際の待ち時間を補償し得る。固定の1サイズがすべての待ち時間値に適合することに対して、デバイスごとに学習された待ち時間ステータスを使用することによって、パケット到着の高い変動によるオーディオアーチファクトが回避される。逆に、パケット到着の変動が低いとき、デバイスごとに学習された待ち時間ステータスは、システムがオーディオ-ビデオ同期体験を高めることを可能にする。
【００４２】
図の要素は、ブロック図内で別個の要素として図示され、説明される。これらは、アナログ回路またはデジタル回路のうちの1つまたは複数として実装され得る。代替または追加として、それらは、ソフトウェア命令を実行する1つまたは複数のマイクロプロセッサとともに実装され得る。ソフトウェア命令はデジタル信号処理命令を含み得る。動作は、アナログ回路によって、またはアナログ動作と同等のものを実施するソフトウェアを実行するマイクロプロセッサによって実施され得る。信号線が、別個のアナログまたはデジタル信号線として、別々の信号を処理することのできる適切な信号処理を伴う別個のデジタル信号線として、および/またはワイヤレス通信システムの要素として実装され得る。
【００４３】
プロセスがブロック図で表され、または示唆されるとき、ステップは、1つの要素または複数の要素によって実施され得る。ステップは一緒に、または相異なる時に実施され得る。活動を実施する要素は、物理的に同一であり得、または互いに近接し得、あるいは物理的に別々であり得る。1つの要素は、複数のブロックの動作を実施し得る。オーディオ信号は符号化され、または復号化されないことがあり、デジタル形式またはアナログ形式のどちらかで送信され得る。従来型オーディオ信号処理機器および動作は、いくつかのケースでは図面から省略される。
【００４４】
前述のシステムおよび方法の実施形態は、当業者には明らかとなるコンピュータ構成要素およびコンピュータ実装ステップを含む。たとえば、コンピュータ実装ステップは、たとえば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、フラッシュROM、不揮発性ROM、RAMなどのコンピュータ可読媒体上にコンピュータ実行可能命令として記憶され得ることを当業者は理解されたい。さらに、コンピュータ実行可能命令は、たとえば、マイクロプロセッサ、デジタル信号プロセッサ、ゲートアレイなどの様々なプロセッサ上で実行され得ることを当業者は理解されたい。説明を容易にするために、前述のシステムおよび方法のあらゆるステップまたは要素が本明細書でコンピュータシステムの部分として説明されるわけではないが、各ステップまたは要素が、対応するコンピュータシステムまたはソフトウェア構成要素を有し得ることを当業者は理解されよう。したがって、そのようなコンピュータシステムおよび/またはソフトウェア構成要素は、その対応するステップまたは要素(すなわち、その機能)を説明することによって動作可能にされ、本開示の範囲内にある。
【００４５】
いくつかの実装が説明された。それでも、本明細書で説明される本発明の概念の範囲から逸脱することなく、追加の修正が行われ得、したがって他の実施形態が以下の特許請求の範囲内にあることを理解されよう。
【符号の説明】
【００４６】
10  オーディオ配布システム
12  ローカルエリアネットワーク(LAN)
14  広域ネットワーク(WAN)
20  オーディオ出力デバイス
22  オーディオ再生デバイス
24  オーディオ再生デバイス
26  オーディオ再生デバイス
30  ネットワーク
33  ネットワーク
40  コンピューティングデバイス
42  パーソナルコンピュータ
44  モバイルコンピューティングデバイス
46  デジタルオーディオソース
50  サーバ
52  インターネットラジオサービス
56  インターネット
100  オーディオシステム
102  オーディオソース
103  ワイヤレスネットワーク
104  ワイヤレススピーカパッケージ
106  ワイヤレスアクセスポイント/ルータ
108  ワイヤレススピーカパッケージ
110  ワイヤレススピーカパッケージ
700  ワイヤレススピーカパッケージ
710  エンクロージャ
712  グラフィカルインターフェース
715  電気音響変換器
716  ユーザ入力インターフェース
720  ネットワークインターフェース
722  プロセッサ
724  オーディオハードウェア
726  電源
728  メモリ
730  ワイヤレスインターフェース
732  ワイヤードインターフェース
734  ネットワークメディアプロセッサ
736  USBブリッジ
738  Bluetooth（登録商標）回路
【図１】
0006640359.tif 000002
【図２】
0006640359.tif 000003
【図３】
0006640359.tif 000004