(57)【要約】  本明細は、  各ワイヤレスマルチメディアデバイスからワイヤレスマルチメディアデバイス識別子を受信するためのワイヤレス通信回路(BC)と、  通信回路が識別子を受信した各ワイヤレスマルチメディアデバイスの特性をデータベース(DB)から取得するために、ワイヤレスマルチメディアデバイスの前記データベースにアクセスするためのアクセス回路(DBC)と、  通信回路がワイヤレスマルチメディアデバイスの識別子を受信したのと同じだけの数の分離されたマルチメディアストリームに主マルチメディアストリームを分離するための分離回路(SEC)と、  各分離されたマルチメディアストリームをそれぞれのワイヤレスマルチメディアデバイスに割り当てるための割当て回路(AC)と、  データベース(DB)から取得されたワイヤレスマルチメディアデバイスの特性に基づいて、分離されたマルチメディアストリームを同期させるための同期回路(SYN)とを備える、ワイヤレスマルチメディアデバイス(SPK1、SPK2、SPKN)を制御するためのデバイス(DEV)に関する。
2019531670.tif 000002
【特許請求の範囲】
【請求項１】
ワイヤレスマルチメディアデバイス(SPK1、SPK2、SPKN)を制御するためのデバイス(DEV)であって、
各ワイヤレスマルチメディアデバイスからワイヤレスマルチメディアデバイス識別子を受信するように構成されたワイヤレス通信回路(BC)と、
ワイヤレスマルチメディアデバイスのデータベース(DB)にアクセスするためのアクセス回路(DBC)であって、前記ワイヤレス通信回路が識別子を受信した各ワイヤレスマルチメディアデバイスの特性を前記データベースから取得するように構成された、アクセス回路(DBC)と、
前記ワイヤレス通信回路がワイヤレスマルチメディアデバイスの識別子を受信したのと同じだけの数の分離されたマルチメディアストリームに主マルチメディアストリームを分離するための分離回路(SEC)と、
各分離されたマルチメディアストリームをそれぞれのワイヤレスマルチメディアデバイスに割り当てるための割当て回路(AC)と、
前記データベース(DB)から取得された前記ワイヤレスマルチメディアデバイスの前記特性に基づいて、前記分離されたマルチメディアストリームを同期させるための同期回路(SYC)と
を備えるデバイス。
【請求項２】
各ワイヤレスマルチメディアデバイス(SPK1、SPK2、SPKN)の前記特性が、前記ワイヤレスマルチメディアデバイスのレイテンシを含み、前記同期回路(SYC)が、そのレイテンシに基づいて、ワイヤレスマルチメディアデバイス向けの分離されたマルチメディアストリームの送信を時間的にシフトさせるように構成される、請求項1に記載のワイヤレスマルチメディアデバイスを制御するためのデバイス。
【請求項３】
ワイヤレスマルチメディアデバイス向けのマルチメディアストリームパケットが失われたとき、前記マルチメディアストリームパケットを前記ワイヤレスマルチメディアデバイスに再送信するように構成され、各ワイヤレスマルチメディアデバイスがバッファメモリを備えるので、前記同期回路(SYC)が、少なくとも1つのワイヤレスマルチメディアデバイス(SPK1、SPK2、SPKN)のバッファメモリ(BUF1、BUF2、BUFN)の充填レベルを決定し、前記少なくとも1つのワイヤレスマルチメディアデバイスの前記バッファメモリの前記充填レベルに基づいて、ワイヤレスマルチメディアデバイスを制御するための前記デバイスが失われたマルチメディアストリームパケットをワイヤレスマルチメディアデバイスに再送信することができる最大持続時間を決定するように構成される、請求項1または2に記載のワイヤレスマルチメディアデバイスを制御するためのデバイス。
【請求項４】
前記ワイヤレス通信回路が識別子を受信した前記ワイヤレスマルチメディアデバイスの特性に基づいて、前記分離されたマルチメディアストリームを調和させるための調和回路(HAC)を備え、各ワイヤレスマルチメディアデバイスの前記特性が、周波数帯のセット内の各周波数帯に対する前記ワイヤレスマルチメディアデバイスの周波数応答を含み、前記調和回路が、ワイヤレスマルチメディアデバイス向けの分離されたマルチメディアストリームの各周波数成分の振幅を、前記周波数成分に対する前記ワイヤレスマルチメディアデバイスの前記周波数応答に基づいて調整するように構成される、請求項1から3のいずれか一項に記載のワイヤレスマルチメディアデバイスを制御するためのデバイス。
【請求項５】
ワイヤレスマルチメディアデバイスを制御するための方法であって、
ワイヤレス通信回路によって、各ワイヤレスマルチメディアデバイス(SPK1、SPK2、SPKN)からワイヤレスマルチメディアデバイス識別子(ID1、ID2、IDN)を受信するステップ(REC)と、
ワイヤレスマルチメディアデバイスのデータベース(DB)にアクセスするためのアクセス回路によって、前記ワイヤレス通信回路(BC)によって識別子(ID1、ID2、IDN)が受信された各ワイヤレスマルチメディアデバイスの特性(LAT1、LAT2、LATN)を取得するステップ(OBT)と、
ストリーム分離回路によって、前記ワイヤレス通信回路がワイヤレスマルチメディアデバイス識別子を受信したのと同じだけの数の分離されたマルチメディアストリームに主マルチメディアストリームを分離するステップ(SPR)と、
割当て回路によって、各分離されたマルチメディアストリームをそれぞれのワイヤレスマルチメディアデバイスに割り当てるステップ(ATT)と、
同期回路によって、前記データベースから取得された前記ワイヤレスマルチメディアデバイスの前記特性に基づいて、分離されたマルチメディアストリームを同期させるステップ(SYN)と
を含む方法。
【請求項６】
各ワイヤレスマルチメディアデバイスの前記特性が、前記ワイヤレスマルチメディアデバイス(SPK1、SPK2、SPKN)のレイテンシ(LAT1、LAT2、LATN)を含み、前記同期回路が、そのレイテンシに基づいて、ワイヤレスマルチメディアデバイス向けの分離されたマルチメディアストリームの送信を時間的にシフトさせる、請求項5に記載のワイヤレスマルチメディアデバイスを制御するための方法。
【請求項７】
ワイヤレスマルチメディアデバイス向けのマルチメディアストリームパケットが失われたとき、前記マルチメディアストリームパケットを前記ワイヤレスマルチメディアデバイスに再送信し(RSND)、各ワイヤレスマルチメディアデバイスがバッファメモリを備えるので、前記同期回路が、少なくとも1つのワイヤレスマルチメディアデバイスの前記バッファメモリの充填レベルを決定し(DET)、前記少なくとも1つのワイヤレスマルチメディアデバイスの充填レベルに基づいて、ワイヤレスマルチメディアデバイスを制御するための前記デバイスが失われたマルチメディアストリームパケットをワイヤレスマルチメディアデバイスに再送信することができる最大持続時間を決定する、請求項5または6に記載のワイヤレスマルチメディアデバイスを制御するための方法。
【請求項８】
調和回路(HRM)が、前記ワイヤレス通信回路が識別子を受信した前記ワイヤレスマルチメディアデバイスの特性に基づいて、前記分離されたマルチメディアストリームを調和させ、各ワイヤレスマルチメディアデバイスの前記特性が、周波数帯のセット内の各周波数帯に対する前記ワイヤレスマルチメディアデバイスの周波数応答を含み、前記調和回路が、ワイヤレスマルチメディアデバイス向けの分離されたマルチメディアストリームの各周波数成分の振幅を、前記周波数成分に対する前記ワイヤレスマルチメディアデバイスの前記周波数応答に基づいて調整する、請求項5から7のいずれか一項に記載のワイヤレスマルチメディアデバイスを制御するための方法。
【請求項９】
プロセッサによって実行されると、請求項5から8のいずれか一項に記載の方法を実施する一連の命令を含むコンピュータプログラム。
【請求項１０】
請求項9に記載のコンピュータプログラムを記憶するコンピュータ可読非一時的記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、特に、接続されたマルチメディアデバイス、特に、ワイヤレススピーカとも呼ばれる接続されたラウドスピーカを制御するためのデバイスに関する。
【背景技術】
【０００２】
マルチメディアコンテンツを含むソースデバイス(コンピュータ、タブレット、携帯電話など)を、マルチメディアコンテンツの音声を再生するのに適したワイヤレススピーカに接続することがますます一般的になっている。より良い音声(たとえば、ステレオ音声、または5.1サラウンド音声もしくは他の構成さえ)を得るために、ソースデバイスを複数のワイヤレススピーカに接続できることが望ましいと思われる。その場合、2つの異なるスピーカ上で再生される音声間に遅延が存在しないように、これらのスピーカを同期させることが望ましい。同様の問題は、音声以外のマルチメディアコンテンツの場合、たとえば、ビデオプロジェクションの場合に生じる。これは、同じストリームのいくつかのコピーの送信、たとえば、同じ部屋内に位置するいくつかのスクリーン上での会議のビデオのライブ送信を含む場合がある。それは、(たとえば、ビデオゲームの状況における)異なる視点からの同じシーンに対応するビデオの複数のスクリーン上での送信を含む場合もあり、その場合、ビデオは、異なるが、完全に同期させる必要がある。
【０００３】
使用されるすべての接続されたラウドスピーカが同じ製造業者からのものであり、ソースデバイスに知られている場合、製造業者は、チェーン全体を制御することができ、同期ソフトウェアを設定することができる。各スピーカは、たとえば、様々な内部クロックの相対値と様々なスピーカのそれぞれのバッファメモリ内の異なる読取り位置とを決定することによって必要な結論を引き出すように構成され得る、読み出されるべきバッファメモリの次の部分を示すポインタまたはソースデバイスの内部のクロックの状態のようなデータを通信することができる。しかしながら、ソースデバイスが知らないワイヤレススピーカに接続するとき、特に、これらのスピーカが異種(たとえば、異なる製造業者からのもの)であるとき、これらのスピーカの動作および特徴が知られていないので、これらのスピーカを同期させることは不可能である。
【０００４】
一般的に使用されるワイヤレスプロトコルは、Bluetooth(登録商標)プロトコルである。Bluetoothは、当業者にはよく知られている通信規格であり、1994年から規定されており、一連のバージョンを公表する製造業者のグループ(Bluetooth SIG)によって管理されている。現在のバージョンは、バージョン4.2であり、バージョン5がちょうど告知されている。Bluetoothは、短距離にわたるデータの双方向通信(個人領域をカバーするネットワークを指すピコネットとして知られる)を可能にする。したがって、Bluetoothデバイスの範囲は、数10メートルに制限される。Bluetoothは、UHF帯(300MHzと3GHzとの間)における電波を使用する。Bluetoothは、有線リンクを排除することによって電子デバイス間の接続を単純化することを目的とする。したがって、Bluetoothは、マスターマルチメディアデバイス(ハイファイシステム、ラジオ、コンピュータ、タブレット、携帯電話など)と、受信したマルチメディアストリームを再生するように構成されたスピーカのようなターゲットマルチメディアデバイスとの間のコードをワイヤレス通信で置き換えることを可能にする。
【０００５】
Bluetoothスピーカは、それらの高い携帯性のためにいくらかの成功を収めた。
【０００６】
しかしながら、A2DPプロファイルと呼ばれるオーディオデータ交換プロファイルが使用される場合、Bluetooth規格は、Bluetoothチップが、同期させたい複数のマルチメディアデバイスと並行して複数のオーディオストリームを送信することを許可しない。このA2DPプロファイルは、同期ポイントツーマルチポイント送信を許可しない。Bluetooth規格は、実際に、「以下の制約がこのプロファイルに適用される。1.このプロファイルは、同期ポイントツーマルチポイント配信をサポートしない。」と述べている。したがって、理論的に、Bluetoothが許可しないので、複数のマルチメディアデバイスを制御するための単一のBluetoothチップを備える同期制御デバイスを用いてBluetoothマルチメディアデバイスの同期制御のためのデバイスを設計することは不可能である。
【０００７】
複数のスピーカのためのポイントツーマルチポイントBluetoothデバイスを作成することがすでに提案されている。たとえば、2007年9月6日に出願され、現在は永久に放棄されている出願FR2920930がそのようなデバイスを提案した。しかし、この出願は、1つのみのBluetoothチップが使用される場合、Bluetooth規格の下では不可能であると思われるそのようなデバイスをどのように実装するのかを説明していない。この出願の不十分な説明は、ポイントツーマルチポイントリンクを、さらにも増して同期ポイントツーマルチポイントリンクをどのように作成するかに関するいかなる関連する教示も引き出すことを妨げる。
【０００８】
Bluetoothは、それを規定しないが、(制御されるべきBluetoothデバイスが存在するのと同じだけの数のBluetoothチップを制御回路内に設ける代わりに)複数のBluetoothデバイスを制御するためにいくつかのソースSEPを制御するためのデバイスをBluetoothチップ内に作成することが可能であろう。SEPは、「ストリームエンドポイント」である。Bluetooth通信は、2つのSEP間のポイントツーポイントである。SEPは、デバイスのリソースおよび能力を表す。たとえば、携帯電話のようなデバイスは、3つのSEPを有する場合があり、1つは、ビデオレシーバとしてのその機能を表し、もう別の1つは、SBCコーデックを有するオーディオレシーバとしてのその機能を表し、最後の1つは、aptXコーデックを有するオーディオレシーバとしてのその機能を表す。各コーデックは、他のコーデックに関連付けられたものとは異なるSEPに関連付けられなければならないが、同じコーデックは、複数のSEPに関連付けられ得る。
【０００９】
しかしながら、BluetoothデバイスがBluetoothマルチメディアデバイスである場合、A2DPにおいてこれらのBluetoothマルチメディアデバイスの各々に送信される信号を同期させるという問題が生じる。
【００１０】
A2DPという頭字語は、「Advanced Audio Distribution Profile(アドバンストオーディオ配信プロトコル)」の略である。従来のA2DPプロファイルは、マスターデバイス(ソースとして知られる)とスレーブデバイス(「シンク」として知られ、ストリームの最終目的地、たとえば、Bluetoothスピーカを指定する)との間のBluetoothプロトコルを介するオーディオデータの交換のためのプロトコルおよび手順のセットを規定する。このA2DPプロファイルは、Bluetooth規格によって規定されるいくつかの層を使用して構築される。
【００１１】
プロファイルは、具体的には、当業者によく知られている低レベル層に依存する。これらの層は、
「ベースバンド層」、ベースバンド層は、図1中の参照符BBによって識別される、
「LMP」層(「Link Manager Protocol(リンクマネージャプロトコル)」の頭字語)、
「L2CAP」層(「Logical Link Control and Adaptation Protocol(論理リンク制御および適応プロトコル)」の頭字語)、
SDP層(「Service Discovery Protocol(サービス発見プロトコル)」)
を含む。
【００１２】
これらの層は、Bluetooth規格において規定されるプロトコルである。
【００１３】
A2DPプロファイルは、アプリケーション層と呼ばれる高レベル層にも依存する(それぞれ、「Application Audio Source(アプリケーションオーディオソース)」および「Application Audio Sink(アプリケーションオーディオシンク)」について、図1中でAASoおよびAASiと表記した)。これは、デバイスが転送パラメータと利用可能な様々なサービスとを決定する層である。オーディオデータを送信するために使用されるコーデックの選択が行われるのもこのレベルである(送信されるべきオーディオストリームがすでに符号化されている場合、復号とそれに続く再符号化を含む場合があり、通常はそうである)。
【００１４】
最後に、A2DPプロファイルは、ストリームを設定し、L2CAPを使用してオーディオおよび/またはビデオストリームをストリーミングするためのBluetoothデバイス間のバイナリトランザクションを規定するAVCTP層(「Audio/Video Distribution Transport Protocol(オーディオ/ビデオ配信転送プロトコル)」)に依存する。したがって、それは、オーディオストリームを確立し、オーディオストリームのパラメータをネゴシエートし、オーディオストリームのデータを送信するための手順をカバーする。AVDTPは、ストリーミングパラメータをネゴシエートするためのシグナリングエンティティと、ストリーム自体を管理するための転送エンティティとを含む。AVDTPは、オーディオおよび/またはビデオデータの転送プロトコルを規定する。より具体的には、AVDTPは、2つのSEP間のオーディオおよび/またはビデオデータの転送に関する。
【００１５】
Bluetooth規格に従ってAVDTPによって課せられる制限は、接続が2つのSTP間でネゴシエートされたとき、これら2つのSEPがストリーミングのために互いにロックされなければならないということである。デフォルトでは、接続されたSEPは、いかなる新しい接続も拒絶する。最近のBluetooth製品では、「ソーシャルモード」として知られる機能が、ときには、このデフォルトの動作を変更することを許可する。しかしながら、このソーシャルモード機能は、新しい接続を許可するが、現在の接続を切断する。たとえば、同じBluetoothスピーカに接続された2つの電話機が存在し得るが、複数の同時転送は、設定され得ない。新しい接続への切替えは、典型的には、以前に接続された電話機をメモリ内に保持しながら、以前の接続を終了することによって生じる。結果として、ソースデバイス上に1つのみのオーディオソースSEPが存在する場合、Bluetooth規格に従って、所与の時間において所与のシンクデバイスに対して1つのみのAVDTP転送が確立され得る。
【００１６】
L2CAP層は、Bluetooth仕様の最も基本的なデータ交換プロトコルを規定する。L2CAP層は、パケットの分割および再構成、多重化、ならびにサービスの品質を可能にする。(A2DPのような)異なるBluetoothプロファイルに基づく(AVDTPのような)様々な転送プロトコルが実装されるのは、このL2CAPからである。L2CAPチャネルは、マスターデバイスのCID(「Channel Identifier(チャネル識別子)」)とスレーブデバイスのCIDとの間に作成され、これら2つのデバイス間のデータの交換を可能にする。L2CAPチャネルは、L2CAPによって規定されるチャネル(L2CAPチャネル)を通過するデータストリームの制御を管理するように各々構成される。この目的のために、各L2CAPチャネルについて独立して異なるパラメータが考慮に入れられ得、具体的には、
・FTOまたは「Flush Timeout(フラッシュタイムアウト)」パラメータは、マスターデバイスのバッファメモリ内のデータパケットに関する有効期間を規定する。この期間は、デフォルト(ブロックモード)では無期限であり、それは、その宛先に到達しない送信パケットが、パケット(最初のパケットまたは再送パケット)が宛先に到達するまで再送されることを意味する。しかしながら、期間は、(「Flush Timeout」パラメータがBluetooth規格によって規定される適切な値に設定されている場合)再送信が決して発生しないようにもされ得、それは、ゼロ期間になる。期間は、有限値を有することもできる。Bluetoothパケット内に「自動的にはフラッシュ可能ではないフラグ」と呼ばれるブール変数が存在し、それは、関係するパケットが自動的には削除され得ないことを示すことを可能にする。
・L2CAPチャネルにおいて送信されるべきパケットの包含とその実際の送信との間の最大レイテンシを規定することを可能にするQoSパラメータ(「Quality of Service(サービスの品質)」の頭字語)。
・前述の「Flush Timeout」および「QoS」の組合せを置き換え、補足する「Extended Flow Feature(拡張フロー特性)」と呼ばれるパラメータ。
【００１７】
これらのパラメータは、マスターBluetoothデバイスのBluetoothスタックとスレーブBluetoothデバイスのBluetoothスタックとの間でネゴシエートされ、デフォルト値を除いていつもサポートされるとは限らない。
【００１８】
L2CAPは、異なるモードの実装を可能にする。これらのモードは、「Extended Flow Feature」パラメータまたは「Flush Timeout」パラメータと同じように、L2CAPチャネルのパラメータでもある。ストリームの制御を変更することができのるは、これらのすべてのパラメータ(モードを含む)のセットである。各モードは、データストリームを管理するための異なる手順を規定する。従来のBluetoothフレームワーク(BR/EDRと呼ばれる)内で、L2CAPチャネルに対して5つの動作モードが可能である。これらのモードは、
・「Basic Mode(基本モード)」(基本L2CAPモード)、
・「Flow Control Mode(フロー制御モード)」、
・「Retransmission Mode(再送信モード)」、
・「Enhanced Retransmission Mode(拡張再送信モード)」(「ERTM」として知られる)、および
・「Streaming Mode(ストリーミングモード)」(「SM」として知られる)
である。
【００１９】
「Basic Mode」は、デフォルトのモードであり、すべてのBluetoothスタックによってサポートされる。それは、なんの設定も必要としない。「Flow Control Mode」は、パケットを送信するが、失われたパケットを決して再送信しない。しかしながら、これらのパケット(PDUと呼ばれる)は、それらが失われたときに検出され、「Flow Control Mode」は、失われたパケットをリスト化した報告の通信を可能にする。「Flow Control Mode」および「Retransmission Mode」は、「ERTM」および「SM」が使用可能ではない場合にのみ使用され得る。これらの2つのモード(「Flow Control Mode」および「Retransmission Mode」)は、現在ほとんど使用されない。「ERTM」は、再送信の所与の最大数と、再送信が行われ得る所与の最大持続時間とを考慮に入れることを可能にし、失われたまたは破損したパケットを識別することを可能にする。「SM」は、非同期データフローに適する。それは、有限の「Flush Timeout」パラメータを考慮に入れる。Bluetoothレシーバ側では、バッファメモリがいっぱいである場合、前のデータは上書きされる。
【００２０】
Bluetooth規格では、「Retransmission and flow control option(再送信およびフロー制御オプション)」と呼ばれるパラメータがモードを選択することを可能にする。Bluetooth規格は、無限の「Flush Timeout」を有する「Basic Mode」、または、より最近のBluetoothスタックでは任意の「Flush Timeout」を有する「ERTM」を使用して、データ損失を制限する「信頼できる」接続を確立することを推奨する。
【００２１】
実際には、市場のどの製品も、任意のBluetoothマルチメディアデバイスのための同期ポイントツーマルチポイントA2DP制御機能を提供しない。
【先行技術文献】
【特許文献】
【００２２】
【特許文献１】FR2920930
【発明の概要】
【発明が解決しようとする課題】
【００２３】
本発明は、状況を改善することを目的とする。
【課題を解決するための手段】
【００２４】
本発明は、具体的には、ワイヤレスマルチメディアデバイスを制御するためのデバイスであって、
各ワイヤレスマルチメディアデバイスからワイヤレスマルチメディアデバイス識別子を受信するように構成されたワイヤレス通信回路と、
ワイヤレスマルチメディアデバイスのデータベースにアクセスするためのアクセス回路であって、ワイヤレス通信回路が識別子を受信した各ワイヤレスマルチメディアデバイスの特性を前記データベースから取得するように構成された、アクセス回路と、
ワイヤレス通信回路がワイヤレスマルチメディアデバイスの識別子を受信したのと同じだけの数の分離されたマルチメディアストリームに主マルチメディアストリームを分離するための分離回路と、
各分離されたマルチメディアストリームをそれぞれのワイヤレスマルチメディアデバイスに割り当てるための割当て回路と、
データベースから取得されたワイヤレスマルチメディアデバイスの特性に基づいて、分離されたマルチメディアストリームを同期させるための同期回路と
を備えるデバイスに関する。
【００２５】
そのようなデバイスは、参照データベースによって、それが接続されているワイヤレスマルチメディアデバイスに関する適切な情報を抽出し、この情報に基づいて前記ワイヤレスマルチメディアデバイスを同期させることができるという点で有利である。
【００２６】
本発明によるデバイスは、単独でまたは組合せにおいて採用される以下の特徴のうちの1つまたは複数を含んでもよい。
【００２７】
本発明は、具体的には、ワイヤレスマルチメディアデバイスを制御するためのデバイスに関し、各ワイヤレスマルチメディアデバイスの特性は、前記ワイヤレスマルチメディアデバイスのレイテンシを含み、同期回路は、そのレイテンシに基づいて、ワイヤレスマルチメディアデバイス向けの分離されたマルチメディアストリームの送信を時間的にシフトさせるように構成される。
【００２８】
本発明は、具体的には、ワイヤレスマルチメディアデバイス向けのマルチメディアストリームパケットが失われたとき、前記マルチメディアストリームパケットを前記ワイヤレスマルチメディアデバイスに再送信するように構成された、ワイヤレスマルチメディアデバイスを制御するためのデバイスに関し、各ワイヤレスマルチメディアデバイスがバッファメモリを備えるので、同期回路は、少なくとも1つのワイヤレスマルチメディアデバイスのバッファメモリの充填レベルを決定し、少なくとも1つのワイヤレスマルチメディアデバイスのバッファメモリの充填レベルに基づいて、ワイヤレスマルチメディアデバイスを制御するためのデバイスが失われたマルチメディアストリームパケットをワイヤレスマルチメディアデバイスに再送信することができる最大持続時間を決定するように構成される。
【００２９】
本発明は、具体的には、ワイヤレス通信回路が識別子を受信したワイヤレスマルチメディアデバイスの特性に基づいて、分離されたマルチメディアストリームを調和させるための調和回路を備える、ワイヤレスマルチメディアデバイスを制御するためのデバイスに関し、各ワイヤレスマルチメディアデバイスの特性は、周波数帯のセット内の各周波数帯に対する前記ワイヤレスマルチメディアデバイスの周波数応答を含み、調和回路は、ワイヤレスマルチメディアデバイス向けの分離されたマルチメディアストリームの各周波数成分の振幅を、前記周波数成分に対する前記ワイヤレスマルチメディアデバイスの周波数応答に基づいて調整するように構成される。
【００３０】
本発明は、具体的には、ワイヤレスマルチメディアデバイスを制御するための方法であって、
ワイヤレス通信回路によって、各ワイヤレスマルチメディアデバイスからワイヤレスマルチメディアデバイス識別子を受信するステップと、
ワイヤレスマルチメディアデバイスのデータベースにアクセスするためのアクセス回路によって、ワイヤレス通信回路によって識別子が受信された各ワイヤレスマルチメディアデバイスの特性を取得するステップと、
ストリーム分離回路によって、ワイヤレス通信回路がワイヤレスマルチメディアデバイス識別子を受信したのと同じだけの数の分離されたマルチメディアストリームに主マルチメディアストリームを分離するステップと、
割当て回路によって、各分離されたマルチメディアストリームをそれぞれのワイヤレスマルチメディアデバイスに割り当てるステップと、
同期回路によって、データベースから取得されたワイヤレスマルチメディアデバイスの特性に基づいて、分離されたマルチメディアストリームを同期させるステップと
を含む方法に関する。
【００３１】
本発明は、具体的には、ワイヤレスマルチメディアデバイスを制御するための方法に関し、各ワイヤレスマルチメディアデバイスの特性は、前記ワイヤレスマルチメディアデバイスのレイテンシを含み、同期回路は、そのレイテンシに基づいて、ワイヤレスマルチメディアデバイス向けの分離されたマルチメディアストリームの送信を時間的にシフトさせる。
【００３２】
本発明は、具体的には、ワイヤレスマルチメディアデバイスを制御するための方法に関し、ワイヤレスマルチメディアデバイス向けのマルチメディアストリームパケットが失われたとき、方法は、前記マルチメディアストリームパケットを前記ワイヤレスマルチメディアデバイスに再送信し、各ワイヤレスマルチメディアデバイスがバッファメモリを備えるので、同期回路は、少なくとも1つのワイヤレスマルチメディアデバイスのバッファメモリの充填レベルを決定し、少なくとも1つのワイヤレスマルチメディアデバイスのバッファメモリの充填レベルに基づいて、ワイヤレスマルチメディアデバイスを制御するためのデバイスが失われたマルチメディアストリームパケットをワイヤレスマルチメディアデバイスに再送信することができる最大持続時間を決定する。
【００３３】
本発明は、具体的には、ワイヤレスマルチメディアデバイスを制御するための方法に関し、調和回路が、ワイヤレス通信回路が識別子を受信したワイヤレスマルチメディアデバイスの特性に基づいて、分離されたマルチメディアストリームを調和させ、各ワイヤレスマルチメディアデバイスの特性は、周波数帯のセット内の各周波数帯に対する前記ワイヤレスマルチメディアデバイスの周波数応答を含み、調和回路は、ワイヤレスマルチメディアデバイス向けの分離されたマルチメディアストリームの各周波数成分の振幅を、前記周波数成分に対する前記ワイヤレスマルチメディアデバイスの周波数応答に基づいて調整する。
【００３４】
本発明は、具体的には、プロセッサによって実行されると、本発明の実施形態による方法を実施する一連の命令を含むコンピュータプログラムに関する。
【００３５】
本発明は、具体的には、本発明の実施形態によるコンピュータプログラムを記憶するコンピュータ可読非一時的記憶媒体に関する。
【００３６】
本発明の他の特徴および利点は、以下の説明から明らかになるであろう。この説明は、純粋に例示であり、添付図面を参照して読まれるべきである。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施形態によるデバイスとBluetoothスピーカのセットとを備えるシステムを示す図である。
【図２】本発明の実施形態による方法を示す図である。
【図３】本発明の実施形態による同期技法を示す図である。
【図４】本発明の実施形態による調和技法を示す図である。
【図５】本発明の実施形態による低周波数の振幅を調整するための技法を示す図である。
【図６】従来のA2DPプロファイルと、従来のA2DPプロファイルと通信するように構成された本発明の実施形態によるA2DP'プロファイルとを示す図である。
【図７】本発明の実施形態によるデバイスと、Bluetoothスピーカのセットとを備えるシステムを示す図である。
【図８】図7のシステムの変形例を示す図である。
【発明を実施するための形態】
【００３８】
以下の実施形態は、例である。説明は、1つまたは複数の実施形態に言及しているが、これは、1つの実施形態の文脈で言及された各要素がその実施形態のみに関連すること、または、その実施形態の特徴がその実施形態のみに適用されることを必ずしも意味しない。
【００３９】
図1は、本発明の実施形態によるワイヤレススピーカを制御するためのデバイスDEVと、各々がそれぞれのバッファメモリBUF1、BUF2、およびBUFNを備えるワイヤレススピーカSPK1、SPK2、およびSPKNのセットとを備えるシステムを示す。デバイスDEVは、ワイヤレススピーカSPK1、SPK2、およびSPKNとの通信を可能にし、特に、それらを識別することを可能にする(Bluetooth回路のような)ワイヤレス通信回路BCを備える。デバイスDEVは、異なるタイプのワイヤレススピーカに関する(レイテンシLAT1、LAT2、およびLATNのような)情報と、これらの異なるタイプのワイヤレススピーカの識別子ID1、ID2、およびIDNに関連する情報とを含むデータベースDBにアクセスするためのアクセス回路DBCを備える。デバイスDEVは、制御デバイスが(そのワイヤレス通信回路を介して)ワイヤレススピーカ識別子を受信したのと同じだけの数の分離されたオーディオストリームに主オーディオストリームを分割するための回路SECを備える。デバイスDEVは、各分離されたオーディオストリームをそれぞれのワイヤレススピーカに割り当てるための割当て回路ACを備える。デバイスDEVは、ワイヤレス通信回路が識別子を受信したワイヤレススピーカの特性に基づいて、分離されたオーディオストリームを同期させるための同期回路SYCを備える。デバイスDEVは、ワイヤレス通信回路が識別子を受信したワイヤレススピーカの特性に基づいて、分離されたオーディオストリームを調和させるための調和回路HACを備える。
【００４０】
図2は、本発明の一実施形態による方法を示す。
【００４１】
方法は、ワイヤレス通信回路BCを介してワイヤレススピーカSPK1、SPK2、およびSPKNの識別子ID1、ID2、およびIDNを受信するステップRECを含む。
【００４２】
これらの識別子ID1、ID2、およびIDNに基づいて、要求されたパラメータを取得するために、受信した識別子をデータベースDBに送信することによって、様々なワイヤレススピーカに関連するパラメータLAT1、LAT2、およびLATNを取得するステップOBTを含む。
【００４３】
方法は、次いで、(方法が識別子を受信した)検出されたワイヤレススピーカの数に等しいいくつかのオーディオサブストリームにオーディオストリームを分割するステップSPRを含む。
【００４４】
方法は、次いで、各サブストリームをそれぞれのワイヤレススピーカに割り当てるステップATTを含む。
【００４５】
方法は、次いで、異なるサブストリームからのオーディオがすべてのワイヤレススピーカによって同時に再生されることを保証する同期ステップSYNを含む。
【００４６】
適例では、方法は、追加のステップを含む。
【００４７】
具体的には、方法は、できる限り信頼できる再生を可能にするために、スピーカの特性に基づいて、ワイヤレススピーカに送信されるオーディオストリームを修正する調和ステップHRMを含む。
【００４８】
方法はまた、送信エラー(たとえば、オーディオストリームパケットの損失)の場合、失われたまたは破損したデータを再送信するステップRSNDと、それに続く、無意味であると思われる場合にデータを送信することを中止するために、各ワイヤレススピーカのバッファメモリの充填レベルを決定するステップDETとを含む。状況がデータを再送信することを許可する場合、データは、再送信される。そうでなければ、方法は、これが長くかかりすぎて同期の損失をもたらす可能性があるので、失われたデータを回復するための手順を中止する。
【００４９】
図3は、本発明の実施形態による同期技法を示す。この技法では、デバイスDEVは、周囲の音響信号を拾うことを可能にするマイクロフォンMICを備える。デバイスDEVは、人間に聞こえるスペクトルの外側にあるが、ワイヤレススピーカによって再生されることが可能であり、マイクロフォンMICによって拾われることが可能である信号hiを各ワイヤレススピーカに送信するようにも構成され、この信号は、問題のワイヤレススピーカを識別するように選択される。各ワイヤレススピーカSPKiは、そのスピーカだけに割り当てられ、オーディオストリームに重ね合わされているので、それ自体に固有の信号hiを受信する。したがって、マイクロフォンは、すべてのワイヤレススピーカによって発せられた信号を測定することができ、信号がオーディオストリームに組み込まれた瞬間と、この信号が検出された瞬間との間の測定された遅延に基づいて、方法は、問題のワイヤレススピーカの内部機能にアクセスすることはできないが、任意の非同期を推定し、それを補償することができる。
【００５０】
より具体的には、デバイスDEVは、フィルタのバンクFLTRを備える。(デジタルでもアナログでもよい)これらのフィルタによって、デバイスDEVは、入力信号から、それぞれのスペクトルがそれぞれの周波数帯内に含まれる出力信号のセットを生成することができ、次いで、これらの信号を介して、検出モジュールDTCによって、各ワイヤレススピーカの遅延を検出することができる。この検出(測定された遅延)から生じる結果は、CMB機能の他の入力パラメータ(送信されるべき信号)と組み合わされ得る(CMB)。次いで、ストリームが(図3におけるスピーカSPKiに)送信されるとき、スピーカSPKiに送信された信号は、検出された遅延に基づいてすでに再同期されている。
【００５１】
1つの可能な実装形態によれば、デバイスDEVは、各ワイヤレススピーカによって発せられたストリームを表すオーディオ信号上に、fref+i*dfに等しい周波数fiの信号hiを重ね合わせ、ここで、frefは、基準周波数であり、dfは、周波数増分であり、frefおよびdfは、定数であり、iは、関係する(補足信号hiを受信する)ワイヤレススピーカSPKiの数である。この信号hiは、たとえば、関数t→sin(2*π*fi*t)によって表される信号である。1つの可能な実装形態によれば、frefは、可聴音響スペクトルよりも上にあり、市場のエントリーレベルのスピーカ製品によって生成され得る最大周波数よりも下にある。整数iは、たとえば、0とスピーカの数マイナス1との間である。周波数frefは、たとえば、16kHzと20kHzとの間である。周波数増分dfに関して、たとえば、100Hzと400Hzとの間である。したがって、たとえば、5つのスピーカが、18kHz、18.2kHz、18.4kHz、18.6kHz、および18.8kHzにおけるそれぞれの補足信号に関連付けられる。
【００５２】
各補足信号hiは、たとえば、300msの間送信され、次いで、300msの間中断され、300msの間再び送信される、などである。これは、300msの間の0の値と300msの間の1の値との間で交番する方形波信号によって補足信号hiの振幅変調を適用することに等しい。実際、補足信号hiが連続的に放射された場合、非常に短い(5つのスピーカの上記の例では最大で1/18kHz=56μs)信号1/fiの周期よりも大きい遅延を検出することは、非常に困難であろう。検討した例では、0.6sである2*300msの最大持続時間を有する遅延を検出することが可能である。
【００５３】
より手の込んだ手法では、各補足信号hiは、連続的であるが、厳密に正の周期関数による低周波数振幅変調を用いて、そして計算を単純化するために区分的に送信されてもよい。たとえば、各補足信号hiは、0.5と1との間で変化する0.1Hzの周波数を有する三角関数によって振幅変調され得る。したがって、受信された補足信号hiの振幅に応じて、遅延を決定することが可能である(検討した例では、検出される最大遅延は、1/0.1Hz=10sの遅延である)。
【００５４】
図4は、本発明の一実施形態による調和技法を示す。ワイヤレススピーカから受信された識別子IDに応答して、方法は、データベースDBにアクセスし、適用されるべき利得(利得が1よりも小さいかまたは大きいかに応じて減衰または増幅)を抽出する(利得G0,iなど)。信号Xi(t)を直接送信する代わりに、方法は、窓関数WNDをこの信号に適用することによって開始する。方法は、次いで、所望の利得を適用することができるようにするために、離散フーリエ変換DFTを適用する。たとえば、方法は、それぞれの利得G0i、G1i、...GNiを信号Xi(t)のそれぞれのスペクトル部分に適用する。これらのスペクトル部分は、たとえば、[fmin,fmin+(fmax-fmin)/N[,[fmin+(fmax-fmin)/N,fmin+2*(fmax-fmin)/N[...[fmin+(N-1)*(fmax-fmin)/N,fmax]であり、ここで、fminおよびfmaxは、信号Xi(t)に使用されるスペクトルの最小周波数および最大周波数を表す。次いで、利得が適用されると、方法は、逆フーリエ変換iDFTを実行することによって時間領域に戻る。もちろん、適用される利得は、1よりも大きくてもよく、1よりも小さくてもよい。これは、したがって、厳密な意味での増幅(1よりも大きい利得)または厳密な意味での減衰(1よりも小さい利得)を含んでもよい。
【００５５】
図5は、本発明の一実施形態による低周波数の振幅を調整するための技法を示す。技法は、図4の技法と類似点があるが、検出ステップを含まない。窓がけし、WNDおよび離散フーリエ変換DFTの適用後、方法は、関係するスピーカに依存しないモデルに従って低周波数の振幅を調整し、次いで、逆フーリエ変換を適用する。図5の例では、スペクトルは、2つの部分(低周波数および高周波数)のみに分割され、したがって、(固定された)利得は、スペクトルの1つの部分(低周波数部分と呼ばれる)のみに適用される。1つの可能な実装形態では、低周波数は、100Hz未満の可聴周波数として定義される。
【００５６】
図6は、(オーディオストリームを発するデバイスに対応する)「ソース」と呼ばれるマスターデバイスによって使用される、本発明の実施形態によるプロファイルA2DP'と、シンクデバイスによって使用される従来のA2DPプロファイルとの間の通信を示す。シンクデバイスは、たとえば、Bluetoothスピーカに対応し、Bluetoothスピーカは、複数のシンクSEPを備えることができる(したがって、複数のシンクSEPは、同じBluetoothスピーカに対応することができ、各シンクSEPは、そのBluetoothスピーカによってサポートされるすべてのコーデックの中のそれぞれのコーデックに対応することができる)ことが理解される。
【００５７】
実際には、Bluetoothチップ製造業者のBluetoothスタックは、コーデック毎およびBluetoothチップ毎に1つのソースSEPを導入するだけである。したがって、所与のコーデックについて、いくつかのオーディオデバイス(たとえば、スピーカ)を携帯電話に接続することは不可能である。
【００５８】
A2DP'プロファイルは、AVDTP層の代わりにAVDTP'層が使用されるという点でA2DPとは異なる。AVDTP'層は、AVDTP層のすべての機能を提供するが、加えて、同期ポイントツーマルチポイント接続を可能にする。
【００５９】
図7は、各々がそれぞれのシンクSEP、SEPS1、SEPS2、SEPSNに関連付けられた少なくとも3つのBluetoothスピーカSPK1、SPK2、およびSPKNを備えるシステムを示す(前述のように、各スピーカSPKiは、単一のシンクSEP、SEPSiではなく複数のシンクSEPに関連付けられ得るが、簡略化のため、実際に使用されるシンクSEPのみが表されている)。システムは、本発明の1つの可能な実装形態による、Bluetoothスピーカを制御するためのデバイスDEV'も備える。デバイスDEV'は、BluetoothチップBC'を備える。このBluetoothチップBC'は、それを識別する固有のSEP USEPを記憶する。このBluetoothチップBC'は、それぞれのSEP、SEPS1、SEPS2、SEPSNを介して3つのBluetoothスピーカSPK1、SPK2、およびSPKNとのポイントツーマルチポイントリンクLNK'を確立する。
【００６０】
図8は、各々がそれぞれのシンクSEP、SEPS1、SEPS2、SEPSNに関連付けられた少なくとも3つのBluetoothスピーカSPK1、SPK2、およびSPKNを備えるシステムを示す(前述のように、各スピーカSPKiは、単一のシンクSEP、SEPSiではなく複数のシンクSEPに関連付けられ得るが、簡略化のため、実際に使用されるシンクSEPのみが表されている)。システムは、本発明の1つの可能な実装形態による、Bluetoothスピーカを制御するためのデバイスDEVも備える。デバイスDEVは、BluetoothチップBCを備える。このBluetoothチップBCは、3つの異なるBluetoothチップをシミュレートする少なくとも3つのSEP、SEP1、SEP2、SEPNを記憶する(しかし、実際には1つのみしか存在しないので、これらは、仮想Bluetoothチップである)。BluetoothチップBCは、少なくとも3つのBluetoothスピーカSPK1、SPK2、およびSPKNとのポイントツーマルチポイントリンクLNKを確立するが、Bluetooth規格の観点からは、このリンクLNKは、(少なくとも)3つのポイントツーマルチポイントリンクのセットのように見える。実際には、SEP、SEP1は、スピーカSPK1のSEP、SEPS1に接続され、SEP、SEP2は、スピーカSPK2のSEP、SEPS2に接続され、SEP、SEPNは、スピーカSPKNのSEP、SEPSNに接続される。
【００６１】
第1の実施形態は、ワイヤレスマルチメディアデバイスを制御するためのデバイスDEVに関する。ワイヤレスマルチメディアデバイスは、たとえば、スピーカSPK1、SPK2、およびSPKNである。しかしながら、ワイヤレスマルチメディアデバイスはまた、たとえば、ラウドスピーカとして作用することができるスピーカを備え、ビデオをストリーミングするのに適した画面も備える携帯電話であってもよい。ワイヤレスマルチメディアデバイスはまた、WiFiもしくはBluetoothのようなワイヤレスインターフェースを備えるテレビジョン、ワイヤレスネットワークカード(WiFi、Bluetoothなど)を備えるコンピュータ、または、WiFiもしくはBluetoothタブレットであってもよい。制御デバイスDEVは、たとえば、専用デバイス、またはマルチメディアデバイスのうちの1つ(たとえば、ワイヤレススピーカのうちの1つ)に取り付けられるべきオプションの追加モジュールである。制御デバイスDEVはまた、たとえば、コンピュータ、携帯電話、またはタブレットであってもよい。
【００６２】
デバイスDEVのワイヤレス通信回路BCは、各ワイヤレスマルチメディアデバイスからワイヤレスマルチメディアデバイス識別子を受信するように構成される。識別子を提供することは、マルチメディアデバイスが知られていないという事実を補償する。識別子は、ワイヤレスマルチメディアデバイスの特定のインスタンスを認識することを必ずしも意図していない。ワイヤレスマルチメディアデバイスのタイプを認識することを可能にすることで十分である。いくつかのワイヤレスマルチメディアデバイスが正確に同じモデルのものである場合、したがって、それらはすべて、同じ識別子によって識別され得る。Bluetoothスピーカ(または、より一般的にはBluetoothデバイス)は、マスターデバイスに接続するときに、自動的に識別子を提供する。したがって、Bluetoothスピーカを修正する必要はない(最新技術のBluetoothスピーカが本発明に適している)。
【００６３】
デバイスDEVは、ワイヤレス通信回路が識別子を受信した各ワイヤレスマルチメディアデバイスの特性を前記データベースから取得するように構成された、ワイヤレスマルチメディアデバイスのデータベースDBにアクセスするためのアクセス回路DBCを備える。これらの特性は、ワイヤレスマルチメディアデバイスによってサポートされる様々なプロトコルを含んでもよく、制御デバイスが最も適切なプロトコルを選択することを可能にする。したがって、第1の実施形態を実装するための前提条件は、既存のワイヤレスマルチメディアデバイスの異なるタイプと、それらの識別子とをリスト化し、それらの関連特性を決定し、それらをデータベース内に保存することからなる。
【００６４】
回路DEVは、ワイヤレス通信回路がワイヤレスマルチメディアデバイスの識別子を受信したのと同じだけの数の分離されたマルチメディアストリームに主オーディオストリームを分割するための分離回路SECを備える。たとえば、マルチメディアストリームは、主オーディオストリームであるか、または主オーディオストリームを含み、主オーディオストリームは、複数の別個の多重化ストリーム(たとえば、左ステレオチャネルおよび右ステレオチャネル)を含み、分離は、これらの2つのストリームの各々を抽出することからなる。非常に単純な変形例では、分離は、受信された単一のストリームの必要性と同じだけの数のコピーを複製することからなる。より複雑な変形例によれば、デバイスDEVは、単一のストリームから、またはいくつかのストリームから、より多数のストリームを再作成するように構成される。たとえば、分離回路は、(信号処理によって)単一のチャネルからマルチチャネル環境(たとえば、5.1サラウンドサウンド)を再作成することができる。
【００６５】
回路DEVは、各分離されたマルチメディアストリームをそれぞれのワイヤレスマルチメディアデバイスに割り当てるための割当て回路ACを備える。1つの可能な実装形態によれば、割当て回路は、最初に呼び出され、ストリームが割り当てられた後にのみ、これらのストリームは、主ストリームから抽出(分離)される。代替的には、回路DEVは、分離回路SECによってストリームを分離することによって開始し、次いで、これらの分離されたストリームを割り当てる。
【００６６】
回路DEVは、ワイヤレス通信回路が識別子を受信したワイヤレスマルチメディアデバイスの特性に基づいて、分離されたマルチメディアストリームを同期させるための同期回路SYCを備える。図3の説明において説明したように、この同期は、マイクロフォンを用いて追加され分析される信号に依存してもよいが、これは、増加した複雑さおよび追加コストを表す。他の技法も考えられる。
【００６７】
第2の実施形態によれば、第1の実施形態によるワイヤレスマルチメディアデバイスを制御するためのデバイスの各ワイヤレスマルチメディアデバイスSPK1、SPK2、SPKNの特性は、前記マルチメディアデバイスのレイテンシを含む。同期回路SYCは、そのレイテンシに基づいて、ワイヤレスマルチメディアデバイス向けの分離されたマルチメディアストリームの送信を時間的にシフトさせるように構成される。この第2の実施形態は、非同期の2つの主な原因のうちの1つ、すなわち、内部レイテンシの差を排除する。提案された同期は、マルチメディアデバイスのレイテンシのような静的特性に基づいているので、静的であるとして説明され得る同期である。このレイテンシは、たとえば、ワイヤレスマルチメディアデバイスがストリームを受信した瞬間と、そのストリームが実際にワイヤレスマルチメディアデバイスによって再生される瞬間との間に経過する時間として定義される。この時間は、ワイヤレススピーカについて固定される。異なるワイヤレスマルチメディアデバイスは、異なるレイテンシを有し、静的同期は、これらのレイテンシの差に関連する時間遅れを排除するために、それらを考慮に入れる。
【００６８】
非同期の別の可能な原因は、ワイヤレスマルチメディアデバイスを制御するためのデバイスと少なくとも1つのワイヤレスマルチメディアデバイスとの間の接続の喪失に関連する。これは、関係するマルチメディアストリームが再生される特定の状況(ノイズ、干渉、ワイヤレス送信を妨げる物体の導入、携帯型マルチメディアデバイスの制御デバイスDEVの範囲外への移動など)に依存するので、動的であるとして説明され得る非同期である。これらの状況下では、制御デバイスとのその接続を喪失したワイヤレスマルチメディアデバイスは、制御デバイスとの接続が回復されたとき、もはや他のワイヤレスマルチメディアデバイスと同期されない。原理的には、このワイヤレスマルチメディアデバイスは、後続のパケットが他のワイヤレスマルチメディアデバイスに同時に送信されていても、失われたパケットを受信している。このタイプの非同期を回避するために、第1の技法は、失われたマルチメディアストリームパケットを決して再送信しないことからなる。しかし、そのような失われたパケットの再送信が可能であったであろう状況において、これは、マルチメディアストリームの再生品質を不必要に劣化させる。しかしながら、いくつかの状況では有益である。たとえば、いくつかのワイヤレスマルチメディアデバイスは、制限されたプロトコル能力を有する。たとえば、それらは、パケットの送信のみを管理し、送信されたパケットがそれらの宛先に到達したかどうか、および無傷で到達したかどうかをチェックしないので、失われたパケットを再送信しようとしない(パケット損失の存在を無視する)基本プロトコルをサポートする場合がある。それらは、いかなるパケット損失も許さない(損失または破損が検出されると、パケットは再送信される)信頼性の高いプロトコルをサポートする場合もある。しかし、そのような信頼性の高いプロトコルは、ワイヤレスマルチメディアデバイスが到達可能ではない場合、失われたパケットを際限なく再送信しようとするので、通信をブロックする可能性がある。ワイヤレスマルチメディアデバイスが上述したタイプの基本プロトコルおよび信頼性の高いプロトコルのみをサポートすることをデータベースが示す場合、1つの可能な実装形態では、制御デバイスは、同期を維持するために、基本プロトコルを選択し、失われたパケットのリスクを受け入れる(非同期パケットは、しばしば紛失したパケットよりもやっかいなものである)。
【００６９】
第3の実施形態によれば、第1および第2の実施形態のうちの1つによるワイヤレスマルチメディアデバイスを制御するためのデバイスDEVは、ワイヤレスマルチメディアデバイス向けのマルチメディアストリームパケットが失われたとき、前記マルチメディアストリームパケットを前記ワイヤレスマルチメディアデバイスに再送信するように構成される。各ワイヤレスマルチメディアデバイスは、バッファメモリを備える。同期回路SYCは、少なくとも1つワイヤレスマルチメディアデバイスSPK1、SPK2、SPKNのバッファメモリBUF1、BUF2、およびBUFNの充填レベルを決定し、少なくとも1つのワイヤレスマルチメディアデバイスのバッファメモリの充填レベルに基づいて、ワイヤレスマルチメディアデバイスを制御するためのデバイスが失われたマルチメディアストリームパケットをワイヤレスマルチメディアデバイスに再送信することができる最大持続時間を決定するように構成される。
【００７０】
これは、前述の接続の喪失の問題を解決する動的同期である。制御デバイスは、最初に、あらゆる損失パケットを再送信することを試みる。それが成功しない場合、システムをブロックする代わりに、制御デバイスDEVは、(動的に決定された)特定の閾値持続時間の後、通過していないマルチメディアデータを再送信する試みを停止する。一方、データの潜在的な損失が存在する(マルチメディアストリームの一部が恒久的に失われる可能性がある)。
【００７１】
各ワイヤレスマルチメディアデバイスSPK1、SPK2、SPKNのバッファメモリBUF1、BUF2、およびBUFNの充填レベルを決定するために、制御デバイスDEVは、たとえば、このメモリに関する残りの読取り時間を推定する。時間t0において、制御デバイスDEVがnバイトに対応する持続時間Tのマルチメディアストリームを第1のワイヤレスマルチメディアデバイスに送信するとき、この第1のワイヤレスマルチメディアデバイスによるこれらのnバイトの受信の確認を待つ。制御デバイスは、次いで、[t0;t0+T]内の時間tにおいて、t0+T-tに等しいマルチメディアストリーム持続時間が第1のワイヤレスマルチメディアデバイスのバッファメモリ内に残っていると考える。したがって、時間tにおいて、制御デバイスは、持続時間t0+T-tの間、第1のワイヤレスマルチメディアデバイスのストリーミングをブロックするリスクなしに、失われたパケットを第2のマルチメディアデバイスによって再送信しようとすることができる。持続時間t0+T-tの後、第1のワイヤレスマルチメディアデバイスは、ストリーミングしているマルチメディアストリームの次のシーケンスを受信している必要がある。そうしなかった場合、第1のワイヤレスマルチメディアデバイスは、データの不足のためにストリーミングを停止することになる。したがって、制御デバイスは、そのような再送信が別のワイヤレスマルチメディアデバイスのストリーミングをブロックすることになると上述した方法によって判断されたとき、失われたパケットを再送信するその試みを中止する。適切な場合、(上述したタイプの推定に基づいて)第2のワイヤレスマルチメディアデバイスがそのバッファメモリのコンテンツを再生することを完了していない間に帯域幅が再び利用可能になった場合、失われたパケットを送信する新たな試みが起こり得る。
【００７２】
これらの構成では、十分に短い接続の喪失が生じたとき、すべてのワイヤレスマルチメディアデバイス上のマルチメディアストリームのストリーミングは、同期されたままである。長過ぎる接続の喪失のイベントにおいて、ストリーミングは、接続の喪失によって影響を受けたワイヤレスマルチメディアデバイス上で中断されるが、他のワイヤレスマルチメディアデバイス上では、ストリーミングは、正常に継続する。
【００７３】
1つの可能な実装形態によれば、制御デバイスは、最新のパケットを送信することを優先する。制御デバイスへの接続を失ったマルチメディアデバイスがそれらの接続を再確立すると、それらは、以前に失われたパケットではない、他のマルチメディアデバイスと同期されたパケットを受信する。
【００７４】
第4の実施形態によれば、第1〜第3の実施形態のうちの1つによるワイヤレスマルチメディアデバイスを制御するためのデバイスは、ワイヤレス通信回路が識別子を受信したワイヤレスマルチメディアデバイスの特性に基づいて、分離されたマルチメディアストリームを調和させるための調和回路HACを備える。各ワイヤレスマルチメディアデバイスの特性は、周波数帯のセット内の各周波数帯に対する前記ワイヤレスマルチメディアデバイスの周波数応答を含み、調和回路は、ワイヤレスマルチメディアデバイス向けの分離されたマルチメディアストリームの各周波数成分の振幅を、前記周波数成分に対する前記ワイヤレスマルチメディアデバイスの周波数応答に基づいて調整するように構成される。たとえば、周波数範囲[1000Hz;2000Hz]に対する周波数応答が-3dBである場合、[1000Hz;2000Hz]の帯域内の関連するワイヤレスマルチメディアデバイスに送信される信号の振幅は、補償するために3dBだけ増幅され得る。マルチメディアストリームは、等化器が行うように調和させることを望む場合がある、可聴スペクトル内の周波数成分を含む場合がある。しかしながら、マルチメディアストリームは、異なるワイヤレスマルチメディアデバイスにわたって調和することを望む場合がある、たとえば、可視スペクトル内の周波数成分も含む場合がある。たとえば、異なるワイヤレスマルチメディアデバイス上でストリーミングされるとき、同じビデオが同じ輝度および色度を有することが望ましい場合がある。したがって、制御デバイスDEVが、ワイヤレススピーカからなるワイヤレスマルチメディアデバイスが特定の周波数帯においてあまり効率的ではないこと、およびスピーカがそうであるべきよりも減衰することを発見したとき、この周波数帯域内で送信される信号を増幅することが可能である。
【００７５】
第5の実施形態によれば、ワイヤレスマルチメディアデバイスを制御するための方法は、ワイヤレス通信回路による、各ワイヤレスマルチメディアデバイスSPK1、SPK2、SPKNからのワイヤレスマルチメディアデバイス識別子ID1、ID2、IDNの受信RECを含む。1つの可能な実装形態によれば、ワイヤレス通信回路は、Bluetoothチップである。一実装形態によれば、ワイヤレス通信回路は、適切なコンピュータプログラムを記憶するメモリに関連付けられたプロセッサからなるアセンブリである。別の実装形態によれば、通信回路は、たとえば、FPGA、または、カスタム設計のアドホックな回路を含む任意の他の適切な回路である、専用の電子チップである。変形例によれば、方法は、上述した専用チップのような専用電子チップによって部分的に実施され、適切なコンピュータプログラムを実行するプロセッサによって部分的に実施される。
【００７６】
方法は、ワイヤレスマルチメディアデバイスのデータベースDBにアクセスするためのアクセス回路による、識別子ID1、ID2、IDNがワイヤレス通信回路BCによって受信された各ワイヤレスマルチメディアデバイスの特性LAT1、LAT2、LATNの取得OBTを含む。一実装形態によれば、アクセス回路は、適切なコンピュータプログラムを記憶するメモリに関連付けられたプロセッサからなるアセンブリである。別の実装形態によれば、アクセス回路は、たとえば、FPGA、または、カスタム設計のアドホックな回路を含む任意の他の適切な回路である、専用の電子チップである。変形例によれば、本発明は、上述した専用チップのような専用電子チップによって部分的に実施され、適切なコンピュータプログラムを実行するプロセッサによって部分的に実施される。
【００７７】
方法は、ストリーム分離回路による、ワイヤレス通信回路がワイヤレスマルチメディアデバイス識別子を受信したのと同じだけの数の分離されたマルチメディアストリームに主マルチメディアストリームの分離SPRを含む。一実装形態によれば、分離回路SPRは、適切なコンピュータプログラムを記憶するメモリに関連付けられたプロセッサからなるアセンブリである。別の実装形態によれば、分離回路は、たとえば、FPGA、または、カスタム設計のアドホックな回路を含む任意の他の適切な回路である、専用の電子チップである。変形例によれば、本発明は、上述した専用チップのような専用電子チップによって部分的に実施され、適切なコンピュータプログラムを実行するプロセッサによって部分的に実施される。
【００７８】
方法は、割当て回路による、それぞれのワイヤレスマルチメディアデバイスへの各分離されたマルチメディアストリームの割当てATTを含む。一実装形態によれば、割当て回路ATTは、適切なコンピュータプログラムを記憶するメモリに関連付けられたプロセッサからなるアセンブリである。別の実装形態によれば、割当て回路は、たとえば、FPGA、または、カスタム設計のアドホックな回路を含む任意の他の適切な回路である、専用の電子チップである。変形例によれば、本発明は、上述した専用チップのような専用電子チップによって部分的に実施され、適切なコンピュータプログラムを実行するプロセッサによって部分的に実施される。
【００７９】
方法は、同期回路による、ワイヤレス通信回路が識別子を受信したワイヤレスマルチメディアデバイスの特性に基づく、分離されたマルチメディアストリームの同期SYNを含む。一実装形態によれば、同期回路は、適切なコンピュータプログラムを記憶するメモリに関連付けられたプロセッサからなるアセンブリである。別の実装形態によれば、同期回路は、たとえば、FPGA、または、カスタム設計のアドホックな回路を含む任意の他の適切な回路である、専用の電子チップである。変形例によれば、本発明は、上述した専用チップのような専用電子チップによって部分的に実施され、適切なコンピュータプログラムを実行するプロセッサによって部分的に実施される。
【００８０】
1つの可能な実装形態によれば、ワイヤレス通信回路、アクセス回路、分離回路、割当て回路、および同期回路は、同じプロセッサ、または同じメモリチップさえも共有する(後者の場合、メモリチップは、異なるアドレスにおいてこれらの回路の各々に固有のコンピュータプログラムを記憶することができる)。
【００８１】
第6の実施形態によれば、第5の実施形態によるワイヤレススピーカを制御するための方法の各ワイヤレスマルチメディアデバイスの特性は、前記ワイヤレスマルチメディアデバイスSPK1、SPK2、SPKNのレイテンシLAT1、LAT2、LATNを含む。同期回路は、そのレイテンシに基づいて、ワイヤレスマルチメディアデバイス向けの分離されたマルチメディアストリームの送信を時間的にシフトさせる。
【００８２】
第7の実施形態によれば、第5および第6の実施形態のうちの1つによるワイヤレススピーカを制御するための方法は、ワイヤレスマルチメディアデバイス向けのマルチメディアストリームパケット(たとえば、オーディオストリームパケット)が失われたとき、方法が前記マルチメディアストリームパケットを前記ワイヤレスマルチメディアデバイスに再送信する(ステップRSND)ように構成される。各ワイヤレスマルチメディアデバイスがバッファメモリを備えるので、同期回路は、少なくとも1つのワイヤレスマルチメディアデバイスのバッファメモリの充填レベルを決定し(DET)、少なくとも1つのワイヤレスマルチメディアデバイスのバッファメモリの充填レベルに基づいて、ワイヤレスマルチメディアデバイスを制御するためのデバイスが失われたマルチメディアストリームパケットをワイヤレスマルチメディアデバイスに再送信することができる最大持続時間を決定する。
【００８３】
第8の実施形態によれば、第5〜第7の実施形態のうちの1つによるワイヤレスマルチメディアデバイスを制御するための方法は、調和回路HRMを用いて、ワイヤレス通信回路が識別子を受信したワイヤレスマルチメディアデバイスの特性に基づいて、分離されたマルチメディアストリームを調和させる。各ワイヤレスマルチメディアデバイスの特性は、周波数帯のセット内の各周波数帯に対する前記ワイヤレスマルチメディアデバイスの周波数応答を含む。調和回路は、ワイヤレスマルチメディアデバイス向けの分離されたマルチメディアストリームの各周波数成分の振幅を、前記周波数成分に対する前記ワイヤレスマルチメディアデバイスの周波数応答に基づいて調整する。
【００８４】
一実装形態によれば、調和回路は、適切なコンピュータプログラムを記憶するメモリに関連付けられたプロセッサからなるアセンブリである。別の実装形態によれば、調和回路は、たとえば、FPGA、または、カスタム設計のアドホックな回路を含む任意の他の適切な回路である、専用の電子チップである。変形例によれば、本発明は、上述した専用チップのような専用電子チップによって部分的に実施され、適切なコンピュータプログラムを実行するプロセッサによって部分的に実施される。
【００８５】
1つの可能な実装形態によれば、ワイヤレス通信回路、アクセス回路、分離回路、割当て回路、同期回路、および調和回路は、同じプロセッサ、または同じメモリチップさえも共有する(後者の場合、メモリチップは、異なるアドレスにおいてこれらの回路の各々に固有のコンピュータプログラムを記憶することができる)。
【００８６】
第9の実施形態によれば、コンピュータプログラムは、プロセッサによって実行されると、第5〜第8の実施形態のうちの1つによる方法を実施する一連の命令を含む。このコンピュータプログラムは、たとえば、アセンブリ言語のような低レベル言語で、またはC言語のようなより高いレベルでより移植性の高い言語で書かれる。1つの可能な実装形態によれば、コンピュータプログラムは、複数のモジュールに分割される。1つの可能な実装形態によれば、様々なモジュールは、すべて同じ言語、たとえば、C言語またはアセンブリ言語で書かれる。代替的には、いくつかのモジュールは、異なる言語で書かれ、たとえば、いくつかの言語は、C言語で書かれ、他の言語は、アセンブリ言語で書かれる。1つの可能な実装形態によればすべてのモジュールは、同じメモリ内に記憶される。代替的には、いくつかのモジュールは、別々のメモリ内に記憶される。
【００８７】
第10の実施形態によれば、コンピュータ可読非一時的記憶媒体が第9の実施形態によるコンピュータプログラムを記憶する。
【００８８】
1つの可能な実装形態によれば、記憶媒体は、USBキー、SDカード、またはマイクロSDカードである。変形例では、記憶媒体は、任意のメモリカードである。別の変形例では、記憶媒体は、電子回路に搭載されることが意図されたメモリチップである。これらは、たとえば、EEPROM、ROM、またはフラッシュメモリを含む。1つの可能な変形例によれば、記憶媒体は、磁気媒体(たとえば、ハードドライブ)または光学媒体(たとえば、CDまたはDVD)である。
【００８９】
第11の実施形態は、Bluetoothマルチメディアデバイスを制御するためのデバイス(たとえば、DEVまたはDEV')に関し、この制御デバイスは、Bluetoothチップ(たとえば、BCまたはBC')を備える。
【００９０】
Bluetoothマルチメディアデバイスは、たとえば、Bluetoothスピーカである。「Bluetoothスピーカ」は、複数の人によって同時に聞かれ得る音をブロードキャストするように構成された少なくとも1つのラウドスピーカを含む任意のBluetoothデバイスを指す。たとえば、ハイファイシステム用の音響スピーカ、または、ラウドスピーカが制御デバイスによって制御されるラウドスピーカであるならば、複数の人に聞こえるように意図されたこのラウドスピーカを備えた携帯電話であってもよい。より正確には、「複数の人によって同時に聞かれ得る音」は、約40dB SPLを意味する、会話のものに対応する周囲騒音が存在するときにスピーカから少なくとも1メートルの距離に位置する正常な聴覚を有する任意の人によって(その内容が区別され得るという意味で)知覚可能である音を意味することが理解される。したがって、ヘッドセット、イヤホン、または電話受話器は、発せられた音を聞くために耳の中にまたは耳に対して配置されなければならないので、本出願の意味内のスピーカではない。
【００９１】
1つの可能な実装形態によれば、Bluetoothマルチメディアデバイスは、Bluetoothヘッドセットである。そのようなヘッドセットは、たとえば、テレビジョンに接続され、テレビジョン上で再生されているビデオストリームと同期されることに加えて、互いに同期される必要がある。
【００９２】
より一般的には、Bluetoothマルチメディアデバイスの各々は、Bluetoothテレビジョン、Bluetoothスクリーン、Bluetooth携帯電話、Bluetoothラップトップもしくはデスクトップ、Bluetoothタブレット、Bluetoothハイファイシステム、Bluetoothカーステレオ、またはBluetoothデジタルメディアプレーヤであり得る。
【００９３】
制御デバイスDEVまたはDEV'は、たとえば、Bluetoothテレビジョン、Bluetoothスクリーン、Bluetooth携帯電話、Bluetoothラップトップもしくはデスクトップ、Bluetoothタブレット、Bluetoothハイファイシステム、Bluetoothカーステレオ、またはBluetoothデジタルメディアプレーヤである。
【００９４】
Bluetoothチップ(たとえば、図中のBCまたはBC')は、前記Bluetoothチップから複数のBluetoothマルチメディアデバイスSPK1、SPK2、SPKNへのポイントツーマルチポイントリンク(たとえば、LNKまたはLNK')を作成するように、修正されたA2DPプロファイル(図1においてA2SP'と示される)を実装するように構成される。制御デバイスのBluetoothチップは、Bluetoothの非ブロッキング使用に依存しながら、互いに関連し、各々が前記複数のBluetoothマルチメディアデバイスの中のそれぞれのBluetoothマルチメディアデバイスに向けられた複数のマルチメディアストリームを送信するように構成される。「互いに関連する」マルチメディアストリームは、マルチメディアストリームが同じ状況(たとえば、同じシーンまたは同じ音楽)に関連することを意味するが、それにもかかわらず異なってもよいことが理解される。たとえば、マルチメディアストリームは、各々がオーディオ記録の5.1チャネルのうちの1つに対応する6つのオーディオストリームであり得、または、同時に、しかし異なる視点から撮影された同じシーンのいくつかのビデオであり得る。制御デバイスは、たとえば、Bluetoothワイヤレスリンクを介してオーディオストリーム(または、より一般的にはマルチメディアストリーム)を送信するように構成される。たとえば、それは、少なくともオーディオチャネルを含むマルチメディアストリームを記憶または中継する。たとえば、それは、MP3ファイルを記憶し、または、(Youtube(登録商標)サーバのような)サーバに接続し、そこから、Bluetoothを介して複数のBluetoothマルチメディアデバイスに逐次もしくは同時に再送信するストリームをダウンロードする。
【００９５】
A2DPにおいてデフォルトであるブロッキング使用の代わりに、Bluetoothの非ブロッキング使用に依存することによって、制御デバイスは、同期の損失を回避する。「Bluetoothの非ブロッキング使用」は、Bluetoothマルチメディアデバイスを制御するためのデバイスのBluetoothチップをブロックしない(Bluetoothモードを介するおよび/または他のBluetoothパラメータを介する)Bluetoothの任意の構成を意味すると理解される。したがって、Bluetoothの非ブロッキング使用は、受信されていない限り未受信パケットを再送信することをBluetoothチップに強いることを回避し、少なくとも1つのBluetoothマルチメディアデバイスが、たとえば、Bluetooth通信を独占する不成功のパケット再送信の試みのために、そのバッファメモリ内にデータをもはや持たない瞬間を超えてそのようなパケットを再送信することを強いることも回避するBluetoothの使用である。非ブロッキング使用は、Bluetooth規格の意味における(SMモードのような)モードだけでなく、パラメータのセット(FTO、QoS、モード、拡張フロー特性)に対応する。これは、たとえば、「Flow Control」モード、または、いかなる再送信も防止するためにBluetooth規格に従って「Flush Timeout」パラメータが設定される任意のモードを含む。逆に、ブロッキング使用は、たとえば、受信されていない限りデータを再送信することにつながる、または、より高い優先度のBluetoothマルチメディアデバイスもデータを待っていて、前記使用のためにそれらを受信していない(したがってブロックされている)ときにデータを再送信することにつながる使用である。ブロッキング使用は、偶発的なデータ損失を回避するので、従来技術において使用される(所与の閾値を超える期間の間の長い分離の場合、ブロッキング使用は、データの損失を防ぐことができない)。Bluetoothがポイントツーマルチポイントストリーミングを可能にするように適合されているという仮定において、非ブロッキング使用を用いることは、Bluetoothマルチメディアデバイスがアクセス不可能になり、すべてのBluetoothマルチメディアデバイスへのデータのどのような送信も妨げるリスクを排除する。Bluetoothマルチメディアデバイスは、たとえば、制御デバイスDEVのBluetoothチップの範囲外に移動されたので、または消耗したバッテリを含むので、またはなにか他の理由のためにアクセス不可能になる可能性がある。
【００９６】
前置きで言及したデフォルトのBluetooth L2CAP設定は、複数のBluetoothスレーブデバイスへのBluetoothマスターデバイスのA2DP同期リンクを設定することには適していない。実際、マスターとスレーブ(たとえば、スピーカ)との間に確立されたリンクのうちの1つが無限の「Flush Timeout」を用いて設定されている場合、および、スピーカがBluetooth範囲から離れるか、または次いで消耗するバッテリから給電されている場合、データは、それを決して受信しないスピーカに継続的に送信され、したがって、(データが順次に送信されるので)他のスレーブデバイスへのデータのどのような他の送信もブロックする。一方、「Flush Timeout」パラメータがデフォルトで定義されている場合、スピーカへのデータの再送信は、このスピーカと他のスピーカとの間に時間遅れを生じる可能性がある。マスターBluetoothデバイスのBluetooth範囲を離れたスピーカがその範囲に戻ったとき、前記範囲を離れるために停止されたところからストリームをブロードキャストし続ける。
【００９７】
1つの可能な実装形態によれば、Bluetoothマルチメディアデバイスを制御するためのデバイスは、Bluetoothマルチメディアデバイスを制御するためのデバイスと様々なスレーブマルチメディアデバイスとの間の同期リンクを維持するように、BluetoothマルチメディアデバイスのBluetoothスタックによってサポートされる異なる設定から、(Bluetoothスピーカを制御するためのデバイスのBluetoothチップとBluetoothマルチメディアデバイスとの間の論理リンクに対応する)各L2CAPチャネルに採用されるべき設定を自動的に決定するように構成される。マルチメディアデバイスの各々のL2CAPパラメータは、異なってもよい(それらは、これらのマルチメディアデバイスの特性、特定のプロトコルをサポートするそれらの能力などに依存してもよい)。
【００９８】
1つの可能な実装形態によれば、Bluetoothマルチメディアデバイスを制御するためのデバイスは、再送信が実行されないように、様々なL2CAPチャネルに関するフラッシュタイムアウトを、Bluetooth規格によって規定される値(すなわち、1、しかしこれは、実装形態に応じて異なり得る)に設定するように構成される。このようにして得られた接続は、送信エラーまたは損失が救済されないという意味では信頼できないが、任意のパケット損失後の同期を保証する。
【００９９】
1つの可能な実装形態によれば、A2DPプロファイルの修正は、たとえば、以下に示す方法のうちの1つにおいて、A2DPプロファイルによって使用されるAVDTP層を修正することからなる。修正されたAVDTP層に対応するAVDTP層を実現するために、具体的には、Linux(登録商標)オペレーティングシステム上でBluetooth技法を実装するように設計され、GNU GPLライセンスの下で利用可能な(当業者には周知の)BlueZのような利用可能な実装を使用することが可能である。BlueZ実装形態は、Linux(登録商標)用の基準Bluetooth実装になり、Linux(登録商標)カーネルに統合された。
【０１００】
第12の実施形態によれば、第11の実施形態によるBluetoothマルチメディアデバイスを制御するためのデバイスのBluetoothチップは、Bluetoothマルチメディアデバイスに送信されたマルチメディアストリームパケットが失われたときに、前記マルチメディアストリームパケットを前記Bluetoothマルチメディアデバイスに再送信するように構成される。Bluetoothチップは、少なくとも1つのBluetoothマルチメディアデバイスSPK1、SPK2、SPKNのバッファメモリの充填レベルを決定し、少なくとも1つのBluetoothマルチメディアデバイスのバッファメモリの充填レベルに基づいて、失われたマルチメディアストリームパケットをBluetoothマルチメディアデバイスに再送信することができる最大持続時間を決定するように構成される。
【０１０１】
1つの可能な実装形態によれば、この最大持続時間は、すべての他のBluetoothマルチメディアデバイスのバッファメモリの中で最もいっぱいではないバッファメモリに対応し、そこから十分なマルチメディアストリーム部分を送信するために必要とされる時間を推測する必要がある。パケットを失ったBluetoothマルチメディアデバイスのバッファメモリの内容は、考慮されない。
【０１０２】
別の実装形態によれば、この最大持続時間は、すべてのBluetoothマルチメディアデバイス(パケットを失ったものを含む)のバッファメモリの中から最もいっぱいではないバッファメモリに対応し、そこから十分なマルチメディアストリーム部分を送信するために必要とされる時間を推測する必要がある。パケットを失ったBluetoothマルチメディアデバイスが再生されるべきマルチメディアストリームデータを使い果たすというリスクが存在する場合、いずれにせよその再生が遅れることになり、したがって、他のBluetoothマルチメディアデバイスと同期されないことになる失われたパケットを再送信する試みを放棄することがより適切であると考えられ得る。
【０１０３】
別の実装形態によれば、Bluetoothチップは、バッファメモリの充填レベルをチェックする必要がないBluetoothマルチメディアデバイスを識別するように構成される。たとえば、バッファメモリがそれほどいっぱいではなく、前記最大持続時間を決定することになる他のBluetoothマルチメディアデバイスが必ず存在しなければならないことがそこから推測され得る場合、Bluetoothチップは、バッファメモリにデータを供給した数nの最後のBluetoothマルチメディアデバイスを除外してもよい。
【０１０４】
別の実装形態によれば、Bluetoothチップは、バッファメモリが最も長い時間の間データを供給されていないBluetoothマルチメディアデバイスの識別子を記憶するように構成される。パケットが失われたとき、Bluetoothチップは、バッファメモリが最も長い時間の間データを供給されていないそのBluetoothマルチメディアデバイスのバッファメモリのみをチェックする。
【０１０５】
1つの可能な実装形態によれば、制御デバイスは、(SBCコーデックによって符号化されたオーディオストリームブロックの持続時間に対応する)約14msのオーディオストリーム部分を送信するように設計される。1つの可能な実装形態によれば、制御デバイスは、4つのBluetoothマルチメディアデバイスを制御し、約14msの部分の送信は、約1.3msかかる。4つのBluetoothマルチメディアデバイスに約14msのストリームを送信するのに約5.2msである約4*1.3msかかり、それは、制御デバイスが破損したパケットまたは送信されていないパケットを識別し、それらを再送信することができる約14ms〜5.2msまたは約8.8msを残す。
【０１０６】
1つの可能な実装形態によれば、Bluetoothマルチメディアデバイスを制御するためのデバイスは、たとえば、上述した方法のうちの1つによって事前に推定しなければならないBluetoothマルチメディアデバイスのバッファメモリの充填状態に従って各L2CAPチャネルの「Flush Timeout」を設定するように構成される。
【０１０７】
1つの可能な実装形態によれば、第11の実施形態によるBluetoothマルチメディアデバイスを制御するためのデバイスのBluetoothチップは、すべてのBluetoothマルチメディアデバイスを制御するための単一のSEPを生成するように構成される。より正確には、ソースSEP(Bluetoothチップ)のA2DPプロファイルは、たとえば、従来のAVDTP層の代わりに修正されたAVDTP'層を用いることによって修正される。変更は、ソースSEPが2つ以上のシンクSEPに接続するのを妨げる制限を除去することからなる。しかしながら、Bluetooth規格は、それが通信するソースSEPが別のシンクSEPとも通信しないことを検証するためにシンクSEPをチェックすることを必要としない。同じソースSEPから、単一のBluetoothチップから複数のシンクSEPにマルチメディアストリーム(特にオーディオ)をブロードキャストすることが技術的に可能であることがわかる。
【０１０８】
Bluetooth規格は、1つのソースSEPから複数のシンクSEPへの通信を許可しないので、本実装形態は、Bluetooth規格に対する一種の拡張を構成し、Bluetooth規格は、そのような拡張を検出するように設計されていないので、いかなる困難も生じない拡張を構成する。
【０１０９】
Bluetoothマルチメディアデバイスを制御するためのデバイスにおいて、それぞれが各々によって管理されるBluetoothマルチメディアデバイスを制御するための単一のSEPを生成するように各々が構成された複数のBluetoothチップを設けることがもちろん可能である。たとえば、Bluetoothチップno.1は、1から5の番号が付けられたマルチメディアデバイスを管理することができ、Bluetoothチップno.2は、6から10の番号が付けられたマルチメディアデバイスを管理することができ、Bluetoothチップno.3は、11から15の番号が付けられたマルチメディアデバイスを管理することができる。Bluetoothチップの最大スループットは、それが制御することができるマルチメディアデバイスの数を制限し、マルチメディアデバイスの数が所与の閾値を超える場合、Bluetoothチップの追加は、追加のマルチメディアデバイスを同時に制御することを可能にする。
【０１１０】
第13の実施形態によれば、第11または第12の実施形態によるBluetoothマルチメディアデバイスを制御するためのデバイスのBluetoothチップは、Bluetoothマルチメディアデバイスを制御するための複数のSEPを生成するように構成される。
【０１１１】
1つの有利な実装形態によれば、Bluetoothチップは、(それが制御することになっている各Bluetoothマルチメディアデバイスに対応する)各シンクSEPに対して別々のソースSEPを生成する。これは、BluetoothチップがBluetooth規格により準拠している前述の実装形態の代替案である。実際、外観は、よりポイントツーポイントリンクのものであり、ポイントツーマルチポイントリンクのものではない。これはもちろん、実際には1つのみのBluetoothチップが存在する複数のソースデバイスをシミュレートするために同じBluetoothチップ内に複数の仮想SEPを作成することからなるトリックである。
【０１１２】
Bluetoothマルチメディアデバイスを制御するためのデバイス内に、それぞれが各々によって管理されるBluetoothマルチメディアデバイスが存在するのと同じだけの数のソースSEPを生成するように各々が構成された複数のBluetoothチップを設けることももちろん可能である。たとえば、Bluetoothチップno.1は、それぞれのソースSEP、SEP1〜SEP5を使用して、1〜5の番号が付けられたBluetoothマルチメディアデバイスを管理することができ、Bluetoothチップno.2は、それぞれのソースSEP、SEP6〜SEP10を使用して、6〜10の番号が付けられたBluetoothマルチメディアデバイスを管理することができ、Bluetoothチップno.3は、それぞれのソースSEP、SEP11〜SEP15を使用して、11〜15の番号が付けられたBluetoothマルチメディアデバイスを管理することができる。Bluetoothチップの最大スループットは、それが制御することができるマルチメディアデバイスの数を制限し、マルチメディアデバイスの数が所与の閾値を超える場合、Bluetoothチップの追加は、追加のマルチメディアデバイスを同時に制御することを可能にする。Bluetoothチップによって生成されるソースSEPの数は、このBluetoothチップにおいて利用可能な帯域幅に影響を与えず、それは、同じままであるが、これらの異なるソースSEP間で共有される。1つの可能な実装形態によれば、Bluetoothチップは、それが制御するBluetoothマルチメディアデバイスを管理するためにピコネットを使用するために最大7つのソースSEPを作成する。ピコネットは、1から8のBluetoothデバイス、すなわち、Bluetooth規格によって指定されるように、単一のマスターBluetoothデバイス(すなわち、ソース)と、7つまでのスレーブBluetoothデバイス(すなわち、シンク)とを備えるネットワークである。ソースデバイスあたり7つのシンクデバイスに対する制限は、3ビットを使用して各スレーブBluetoothデバイスを識別するBluetoothアドレス指定から生じ、000は、「コネクションレスブロードキャスト」と呼ばれる特別なモードのために予測されている。
【０１１３】
第14の実施形態によれば、第11〜第13の実施形態のうちの1つによるBluetoothマルチメディアデバイスを制御するためのデバイスのBluetoothチップは、SBCコーデックを使用して5つまでのBluetoothマルチメディアデバイスを制御するように構成される。「5つまでのBluetoothマルチメディアデバイスを制御する」は、送信されるオーディオストリームSBCに関係なく、5つのスピーカ上でこのストリームをストリーミングすることが可能であることを意味するように理解される。5未満のスピーカが存在する場合、これは、いっそう可能になる。
【０１１４】
高品質、いわゆるCD品質のステレオオーディオストリームは、44.1kHzのサンプリングレートを有し、オーディオ信号に16ビットサンプリングを使用する。したがって、毎秒44100の16ビットサンプルが左チャネルのために提供され、44100の他の16ビットサンプルが右チャネルのために提供される。したがって、そのようなストリームの生のビットレートは、1.4Mbit/sよりも少し高い44100*2*16bit/sである。そのようなビットレートは、非常に高く、したがって、送信、特に、スループットがそれほど高くないBluetooth送信の間に必要とされる帯域幅を低減するために、それを圧縮することが有用である。この圧縮を達成するために、コーデックが使用される。SBCコーデックは、非常に単純で、非常に効果的なコーデックである。「効果的」は、SBCコーデックが機能するために非常に小さいメモリおよびCPUリソースを必要とすることを意味するよう理解される。これは、しばしば限られたメモリおよび計算能力を有するBluetoothチップにとって非常に有益である。SBCコーデックは、無料である。非常に広く普及しており、したがって、大きな相互運用性を有するので、それも有利である。しかしながら、圧縮率およびオーディオ品質の点では、むしろ非効率である。SBCコーデックによって符号化されたオーディオストリームのビットレートは、最大で372kbit/sである(場合によっては、SBCは、特に、利用可能な帯域幅に適応するために、より低いビットレートを生成し、したがって、必要に応じて、6つ以上のBluetoothマルチメディアデバイスを制御することを可能にする)。しかしながら、より強力なコーデックが存在する。たとえば、AACコーデックは、372kbit/sのSBCストリームの品質と実質的に同等の約192kbit/sの圧縮オーディオストリームを生成する。Apt-Xコーデックも、改善された性能(同等の品質においてより低いビットレート)を提供するが、無料ではない。
【０１１５】
従来のBluetoothスピーカと同様に、EDR互換デバイス(「拡張データレート」)のためのBluetooth帯域幅は、2.1Mbit/sである。したがって、(最大372kbit/sにおいて)SBCによって符号化された少なくとも5つのストリームを利用可能な帯域幅内に収容することが可能である。
【０１１６】
1つの可能な実装形態によれば、Bluetoothチップは、AACコーデックを使用し、それは、理論的には192kbit/sにおいて10(ほぼ11)の符号化されたAACストリームを送信することを可能にする。それにもかかわらず、1つの可能な実装形態によれば、(スレーブデバイスの数を7に制限する)Bluetooth規格に従ってピコネットをセットアップすることを可能にするために、AACストリームの数を7に制限することが有利である。他の代替案では、他のコーデックが使用され、符号化ストリームのビットレートが300kbit/sよりも高い場合、7まで、またはそれ未満の符号化ストリームを送信することが可能である(この場合、可能な符号化ストリームの数は、2100000の比率に等しく、符号化ストリームのビットレートは、bit/sで表される)。
【０１１７】
第15の実施形態は、BluetoothチップによってBluetoothマルチメディアデバイスを制御するための方法に関する。Bluetoothチップは、前記Bluetoothチップから複数のBluetoothマルチメディアデバイスへのポイントツーマルチポイントリンクを作成するように、修正されたA2DPプロファイル(A2DP'と示す)を実装し、Bluetoothチップは、Bluetoothの非ブロッキング使用に依存しながら、各々が前記複数のBluetoothマルチメディアデバイスの中のそれぞれのBluetoothマルチメディアデバイスに向けられた互いに関連する複数のマルチメディアストリームを送信する。
【０１１８】
1つの可能な実装形態によれば、Bluetoothチップは、プロセッサを備え、前記Bluetoothチップから複数のBluetoothマルチメディアデバイスへのポイントツーマルチポイントリンクを作成するようにA2DP'プロファイルを実装するように適合されたコンピュータプログラムを実行し、Bluetoothチップは、Bluetoothの非ブロッキング使用に依存しながら、各々が前記複数のBluetoothマルチメディアデバイスの中のそれぞれのBluetoothマルチメディアデバイスに向けられた互いに関連する複数のマルチメディアストリームを送信する。
【０１１９】
代替実装形態によれば、それは、同様にプロセッサを備え、前記Bluetoothチップから複数のBluetoothマルチメディアデバイスへのポイントツーマルチポイントリンクを作成するようにA2DP'プロファイルを実装するように適合されたコンピュータプログラムを実行する前記Bluetoothチップを備える、Bluetoothマルチメディアデバイスを制御するためのデバイスであり、Bluetoothチップは、Bluetoothの非ブロッキング使用に依存しながら、各々が前記複数のBluetoothマルチメディアデバイスの中のそれぞれのBluetoothマルチメディアデバイスに向けられた互いに関連する複数のマルチメディアストリームを送信する。
【０１２０】
2つの前述の実装形態では、コンピュータプログラムは、メモリ(たとえば、EEPROM、フラッシュ、またはROM)内に記憶される。このメモリは、Bluetoothチップ内に、または、Bluetoothマルチメディアデバイスを制御するためのデバイス内だが、Bluetoothチップ外に埋め込まれてもよい。変形例によれば、コンピュータプログラムは、部分的にはBluetoothチップ内に、部分的にはBluetoothマルチメディアデバイスを制御するためのデバイス内に記憶される。変形例によれば、Bluetoothマルチメディアデバイスを制御するためのデバイス、およびBluetoothチップは、各々、少なくとも1つの別個のプロセッサを備え、各々が、単一の場所(単一のメモリチップ)内に、または複数のメモリチップ(たとえば、BluetoothチップのメモリチップおよびBluetoothマルチメディアデバイスを制御するためのデバイスのメモリチップ)内に分散して記憶されたコンピュータプログラムの一部を実行する。
【０１２１】
別の実装形態によれば、方法は、コンピュータプログラムによって実施されず、たとえば、FPGAまたはアドホックな回路を含む他の適切な回路である専用電子チップによって実施される。変形例によれば、方法は、部分的には上述した専用チップのような専用電子チップによって、部分的には適切なコンピュータプログラムを実行するプロセッサによって実施される。
【０１２２】
第16の実施形態によれば、第15の実施形態によるBluetoothマルチメディアデバイスを制御するための方法のBluetoothチップは、BluetoothチップがBluetoothマルチメディアデバイスに送信したマルチメディアストリームパケットが失われたとき、前記マルチメディアストリームパケットを前記Bluetoothマルチメディアデバイスに再送信し、Bluetoothマルチメディアデバイスのバッファメモリの充填レベルに基づいて、失われたマルチメディアストリームパケットをBluetoothマルチメディアデバイスに再送信することができる最大持続時間を推測するために、各BluetoothマルチメディアデバイスSPK1、SPK2、SPKNのバッファメモリの充填レベルを決定する。
【０１２３】
第17の実施形態によれば、第15または第16の実施形態によるBluetoothマルチメディアデバイスを制御するための方法のBluetoothチップは、BluetoothマルチメディアデバイスSPK1、SPK2、SPKNを制御するためのいくつかのSEP、SEP1、SEP2、...SEPNを生成する。
【０１２４】
第18の実施形態によれば、第15〜第17の実施形態のうちの1つによるBluetoothマルチメディアデバイスを制御するための方法のBluetoothチップは、SBCコーデックを使用することによって5つのBluetoothマルチメディアデバイスを制御する。
【０１２５】
第19の実施形態は、プロセッサによって実施されると、第15〜第18の実施形態のうちの1つによる方法を実行する一連の命令を含むコンピュータプログラムに関する。このコンピュータプログラムは、たとえば、アセンブリ言語のような低レベル言語で、またはC言語のようなより高いレベルでより移植性の高い言語で書かれる。1つの可能な実装形態によれば、コンピュータプログラムは、複数のモジュールに分割される。1つの可能な実装形態によれば、様々なモジュールは、すべて同じ言語、たとえば、C言語またはアセンブリ言語で書かれる。代替的には、いくつかのモジュールは、異なる言語で書かれ、たとえば、いくつかの言語は、C言語で書かれ、他の言語は、アセンブリ言語で書かれる。1つの可能な実装形態によればすべてのモジュールは、同じメモリ内に記憶される。代替的には、いくつかのモジュールは、別々のメモリ内に記憶される。
【０１２６】
第20の実施形態は、第19の実施形態によるコンピュータプログラムを記憶するコンピュータ可読非一時的記憶媒体に関する。1つの可能な実装形態によれば、記憶媒体は、USBキー、SDカード、またはマイクロSDカードである。変形例では、記憶媒体は、任意のメモリカードである。別の変形例では、記憶媒体は、電子回路に搭載されることが意図されたメモリチップである。これらは、たとえば、EEPROM、ROM、またはフラッシュメモリを含む。1つの可能な変形例によれば、記憶媒体は、磁気媒体(たとえば、ハードドライブ)または光学媒体(たとえば、CDまたはDVD)である。
【０１２７】
本発明は、例として上記で説明した実施形態に限定されない。使用可能なメモリは、任意のタイプのメモリをカバーする。
【０１２８】
ワイヤレスマルチメディアデバイスを制御するためのデバイスに関して説明した実施形態は、ワイヤレスマルチメディアデバイスを制御するための方法、ならびに、本発明の実施形態によるコンピュータプログラムおよびプログラム記憶媒体に置き換えられ得、逆もまた同様である。加えて、第1〜第10の実施形態は、第11〜第20の実施形態と組み合わされてもよい。たとえば、第11〜第20の実施形態では、Bluetoothマルチメディアデバイスの特性、たとえば、それらのレイテンシを認識するために、第1の実施形態で提供されたようにデータベースに問い合わせることが可能である。逆に、たとえば、第1〜第10の実施形態が第11〜第20の実施形態に記載のように任意の方法で修正されたBluetoothワイヤレスプロトコルを実施することを提供することが可能である。
【符号の説明】
【０１２９】
AC  割当て回路
AASi  アプリケーションオーディオシンク
AASo  アプリケーションオーディオシンク
ATT  割り当てるステップ、割当て、割当て回路
BB  ベースバンド層
BC  ワイヤレス通信回路、Bluetoothチップ
BC' Bluetoothチップ
BUF1  バッファメモリ
BUF2  バッファメモリ
BUFN  バッファメモリ
DB  データベース
DBC  アクセス回路
DET  充填レベルを決定するステップ
DEV  デバイス、回路、制御デバイス
DEV'  デバイス、制御デバイス
DFT  離散フーリエ変換
DTC  検出モジュール
FLTR  フィルタのバンク
HAC  調和回路
HRM  調和ステップ、調和回路
ID  識別子
ID1  識別子
ID2  識別子
iDFT  逆フーリエ変換
IDN  識別子
LAT1  レイテンシ、特性
LAT2  レイテンシ、特性
LATN  レイテンシ、特性
LNK  ポイントツーマルチポイントリンク、リンク
LNK'    ポイントツーマルチポイントリンク、リンク
MIC  マイクロフォン
OBT  取得するステップ
REC  受信するステップ
RSND  再送信するステップ
SEC  分割するための回路、分離回路
SEPS1  シンク
SEPS2  シンク
SEPSN  シンク
SPK1  ワイヤレススピーカ、Bluetoothスピーカ、スピーカ、ワイヤレスマルチメディアデバイス、Bluetoothマルチメディアデバイス
SPK2  ワイヤレススピーカ、Bluetoothスピーカ、スピーカ、ワイヤレスマルチメディアデバイス、Bluetoothマルチメディアデバイス
SPKi  ワイヤレススピーカ、スピーカ、
SPKN  ワイヤレススピーカ、Bluetoothスピーカ、スピーカ、ワイヤレスマルチメディアデバイス、Bluetoothマルチメディアデバイス
SPR  分割するステップ、分離回路
SYC  同期回路
WND  窓関数
【図１】
2019531670.tif 000003
【図２】
2019531670.tif 000004
【図３】
2019531670.tif 000005
【図４】
2019531670.tif 000006
【図５】
2019531670.tif 000007
【図６】
2019531670.tif 000008
【図７】
2019531670.tif 000009
【図８】
2019531670.tif 000010
【国際調査報告】
2019531670.tif 000011
2019531670.tif 000012
2019531670.tif 000013