本願は、出典を明記することによりその開示内容全体を本願明細書の一部とする(i)2017年9月5日提出の米国仮出願第62/554,566号「再生セッションへの再生デバイスの追加」、(ii)2017年9月25日提出の米国特許出願第15/714,950号「複数のメディア再生プロトコルを有するシステムにおけるグループ化」、(iii)2017年9月25日提出の米国特許出願第15/714,882号「複数のメディア再生プロトコルを有するシステムにおけるネットワークデバイスグループ情報」、及び(iv)2017年9月25日提出の米国特許出願第15/714,927号「複数のメディア再生プロトコルを有するシステムにおけるグループ化ゾーン」に基づく優先権を主張する。
図面は、いくつかの例示的な実施形態を説明することを目的としているが、本発明が、図面に示した配置および手段に限定されるものではないことは理解される。
メディア再生システムには、異なるメディア再生プロトコルを用いデバイスにより制御可能なネットワークデバイスが含まれ得る。メディア再生プロトコルは、ネットワークデバイス間でネットワーク通信を実施するためにメディア再生システムが使用するガイドラインのセットを参照し得る(例えば、Apple(登録商標) Airplay(登録商標)、Sonos(登録商標)システム)。場合により、メディア再生システムは、2つ以上のメディア再生プロトコルを実施して、ユーザにシームレスな娯楽体験を提供する。例えば、ユーザは、様々なメディアソースデバイス及び制御デバイスを介して、メディアコンテンツをメディア再生システムに対してストリーミングし得る。これらのメディアソースデバイス及び制御デバイスは、メディア再生システムの専用コントローラであってよく、及び/又はメディア再生システムのコントローラアプリケーションソフトウェアをインストールし得るネットワークデバイス(例えば、iPhone(登録商標)、iPad(登録商標)、又は他の任意のスマートフォン、タブレット、又はネットワークデバイス(例えば、PC又はMac(登録商標)等のネットワークコンピュータ))であってもよい。
メディア再生システムを複数のメディア再生プロトコルに適合させる際の一課題は、複数のプロトコル間でメディア再生システムに対する変更を一貫して制御及び反映できないことである。例えば、ユーザが1つのメディア再生プロトコルにより制御される再生セッションにおいて複数のネットワークデバイスにメディアコンテンツをストリーミングし、その後、他のメディア再生プロトコルにより制御されるインタフェースにおいて再生コマンドを発行した場合、再生コマンドが所望の結果をもたらさない場合がある(例えば、他のメディア再生プロトコルは、2つ以上のネットワークデバイスに対して再生コマンドを発行することを知らない場合がある)。
また、ユーザは、1つのメディア再生プロトコルを用いた再生セッションにおけるメディアコンテンツの同期再生用のグループで動作するようにネットワークデバイスを構成し、その後、他のメディア再生プロトコルにより制御されるインタフェースにおいて、グループに対してメディアコンテンツのストリーミングを試みる場合がある。これらの状況では、ネットワークメディアシステムは、(i)第1のメディア再生プロトコルを用いて2つ以上のネットワークデバイスのグループを形成し、(ii)グループのグループコーディネータを決定し、(iii)メディアソースデバイスに対して、第2のメディア再生プロトコルを用いてグループネットワークIDを送信する場合があり、ここで第1及び第2のメディア再生プロトコルには互換性がない。これにより、ユーザは、ネットワークデバイスのグループ化に用いたメディア再生プロトコルと互換性のないメディア再生プロトコルを用いたインタフェースにおいて、グループ化されたものとして、ネットワークデバイスを表示及び/又は制御し得る。第1及び第2のメディア再生プロトコルは、第1のメディア再生プロトコルが第2のメディア再生プロトコルに関連する再生を制御できず、第2のメディア再生プロトコルが第1のメディア再生プロトコルに関連する再生を制御できない点において、互換性がない場合がある。
メディア再生システムを複数のメディア再生プロトコルに適合させる際の別の課題は、複数のプロトコル間でメディア再生システムに対する変更を一貫して制御及び反映できないことである。例えば、ユーザが1つのメディア再生プロトコルにより制御されるインタフェースにおいて複数のネットワークデバイスにメディアコンテンツをストリーミングし、その後、他のメディア再生プロトコルにより制御されるインタフェースにおいて再生コマンドを発行した場合、再生コマンドが所望の結果をもたらさない場合がある(例えば、他のメディア再生プロトコルは、2つ以上のネットワークデバイスに対して再生コマンドを発行することを知らない場合がある)。
また、ユーザは、第1のメディア再生プロトコルを用いたインタフェースにおいて、メディアコンテンツの同期再生用にネットワークデバイスをグループ化し、その後、第2のメディア再生プロトコルにより制御されるインタフェースを用いてグループの制御を試みる場合がある。これらの状況では、ネットワークデバイスの1つは、(i)他のネットワークデバイスとのグループ内にあると判断し、(ii)そのデバイス自体が第2のメディア再生プロトコルでグループ化されているものと識別することが望ましい場合がある。これにより、ユーザは、第2のメディア再生プロトコルにより制御されるインタフェースにアクセスし、ネットワークデバイスが第1のメディア再生プロトコルの下でグループ化されていてもネットワークデバイスを制御し得る。
メディア再生システムを複数のメディア再生プロトコルに適合させる際の更に別の課題は、複数のプロトコル間でメディア再生システムに対する変更を一貫して制御及び反映できないことである。例えば、ユーザが1つのメディア再生プロトコルにより制御されるインタフェースにおいて、複数のネットワークデバイスによる再生セッションを開始し、その後、他のメディア再生プロトコルにより制御されるインタフェースにおいて再生コマンドを発行した場合、再生コマンドが所望の結果をもたらさない場合がある(例えば、他のメディア再生プロトコルは、2つ以上のネットワークデバイスに対して再生コマンドを発行することを知らない場合がある)。
また、ユーザは、1つのメディア再生プロトコルを用いたインタフェースにおいて、メディアコンテンツの同期再生用の結合ゾーンで動作するようにネットワークデバイスを構成し、その後、他のメディア再生プロトコルにより制御されるインタフェースを用いて結合ゾーンの制御を試みる場合がある。これらの状況では、ネットワークデバイスの1つは、(i)メディアソースデバイスからメディアストリームを受信し、(ii)メディアストリームを第2のネットワークデバイスに適合するメディア再生プロトコルに変換し、(iii)第2のネットワークデバイスにメディアストリームを送信することが望ましい場合がある。
これによっても、ユーザは、第2のメディア再生プロトコルにより制御されるインタフェースにアクセスし、ネットワークデバイスの1つが第1のメディア再生プロトコルに適合していない場合であってもネットワークデバイスを制御し得る。第1及び第2のメディア再生プロトコルは、第1のメディア再生プロトコルが第2のメディア再生プロトコルに関連する再生を制御できず、第2のメディア再生プロトコルが第1のメディア再生プロトコルに関連する再生を制御できない点において、互換性がない場合がある。
開示された例では、ネットワークデバイス、再生デバイス、音声対応デバイス(VED)、ネットワークマイクロホンデバイス(NMD)、オーディオ再生デバイス(APD)、及びビデオ再生デバイス(VPD)により実行される機能が説明されている。本明細書での使用において、ネットワークデバイスという用語は、限定では無いが、VED、NMD、APD、及びVPDを含むデバイスの種類である。
本明細書に記載の例は、異なるメディア再生プロトコルを用いるインタフェースを介したメディア再生システムのシームレスな制御をユーザに提供する。第1の例は、ネットワークメディアシステムが、第1のメディア再生プロトコルを用いて第1のネットワークデバイス及び第2のネットワークデバイスを含むグループを形成することを含み得る。ネットワークメディアシステムは、第1のネットワークデバイス及び第2のネットワークデバイスを含む。
第1の例は、更に、ネットワークメディアシステムが特定のメディア再生プロトコルを用いてグループのグループコーディネータを決定することを含み得る。
第1の例は、更に、メディア再生システムが、メディアソースデバイスに対して、他のメディア再生プロトコルを用いてグループネットワークIDを送信することを含み得る。メディアソースデバイスと、第1のネットワークデバイス及び第2のネットワークデバイスの少なくとも一方とは、特定のメディア再生プロトコル及び他のメディア再生プロトコルを用いるように構成される。特定のメディア再生プロトコルと他のメディア再生プロトコルとには、互換性がない。
本明細書に記載の一部の例は、「ユーザ」及び/又は他の実体等、所定の主体により実行される機能を示す場合があるが、この記載は、説明の目的のみを有することを理解されたい。特許請求の範囲自体に明示的に必要であることが記載されていない限り、こうした任意の主体例による行動が必要であると解釈されるべきではない。本開示が他の多数の例を含むことは、当業者に理解されよう。
II.動作環境の例
図1は、本明細書で開示されている1つ又は複数の例で実施可能又は実装可能なメディア再生システム100の例示的な構成を示す。図示されるように、メディア再生システム100は、複数の部屋および空間、例えば、主寝室、オフィス、ダイニングルーム、およびリビングルームを有する例示的なホーム環境に関連付けられている。図1の例に示されるように、メディア再生システム100は、再生デバイス102-124、制御デバイス126および128、有線又は無線のネットワークルータ130を含む。
更に、例示的なメディア再生システム100の異なる構成要素、および異なる構成要素がどのように作用してユーザにメディア体験を提供するかに関しての説明は、以下のセクションで述べられている。本明細書における説明は、概してメディア再生システム100を参照しているが、本明細書で述べられている技術は、図1に示されるホーム環境の用途に限定されるものではない。例えば、本明細書で述べられている技術は、マルチゾーンオーディオが望まれる環境、例えば、レストラン、モール、又は空港のような商業的環境、スポーツ用多目的車(SUV)、バス又は車のような車両、船、若しくはボード、飛行機などの環境において有益である。
a.例示的な再生デバイス
図2は、図1のメディア再生システム100の再生デバイス102-124の1つ又は複数を構成する例示的な再生デバイス200の機能ブロック図を示す。上述したように、再生デバイス(PBD)200は、音声対応デバイス(VED)を含んでいてもよい。
再生デバイス200は、1つ又は複数のプロセッサ202、ソフトウェアコンポーネント204、メモリ206、オーディオ処理コンポーネント208、オーディオアンプ210、スピーカ212、およびネットワークインタフェース214を含んでもよい。ネットワークインタフェース214は、無線インタフェース216、有線インタフェース218およびマイクロホン220を含む。ある場合では、再生デバイス200は、スピーカ212を含まないが、再生デバイス200を外部スピーカに接続するためのスピーカインタフェースを含んでもよい。別の場合では、再生デバイス200は、スピーカ212もオーディオアンプ210も含まないが、再生デバイス200を外部オーディオアンプ又はオーディオビジュアルレシーバーに接続するためのオーディオインタフェースを含んでもよい。
ある例では、1つ又は複数のプロセッサ202は、メモリ206に記憶された命令に基づいて、入力データを処理するように構成された1つ又は複数のクロック駆動コンピュータコンポーネントを含んでいる。メモリ206は、1つ又は複数のプロセッサ202によって実行可能な命令を記憶するように構成された有形の非一時的なコンピュータ読み取り可能記録媒体であってもよい。例えば、メモリ206は、ある機能を実行するために1つ又は複数のプロセッサ202によって実行可能なソフトウェアコンポーネント204の1つ又は複数をロードすることができるデータストレージであってもよい。ある例では、機能は、再生デバイス200がオーディオソース又は別の再生デバイスからオーディオデータを読み出すステップを含んでもよい。別の例では、機能は、再生デバイス200がネットワーク上の別のデバイス又は再生デバイスにオーディオデータを送信するステップを含んでもよい。更に別の例では、機能は、マルチチャンネルオーディオ環境を作るために、再生デバイス200と1つ又は複数の再生デバイスとをペアリングするステップを含んでもよい。
ある機能は、再生デバイス200が、1つ又は複数の他の再生デバイスと、オーディオコンテンツの再生を同期するステップを含む。再生を同期している間、再生デバイス200によるオーディオコンテンツの再生と1つ又は複数の他の再生デバイスによる再生との間の遅延を、聴取者が気づかないことが好ましい。「複数の独立クロックデジタルデータ処理デバイス間の動作を同期するシステムおよび方法」と題する米国特許第8,234,395号が本明細書に参照として援用されており、それは再生デバイス間のオーディオ再生を同期することが述べられたより詳細な例を提供している。
更に、メモリ206は、データを記憶するように構成されてもよい。データは、例えば、1つ又は複数のゾーン及び/又はゾーングループに一部として含まれる再生デバイス200などの再生デバイス200、再生デバイス200によりアクセス可能なオーディオソース、又は再生デバイス200(又は他の再生デバイス)に関連付け可能な再生キュー、に関連付けられている。データは、定期的に更新され、再生デバイス200の状態を示す1つ又は複数の状態変数として記憶されてもよい。また、メモリ206は、メディアシステムの他のデバイスの状態に関連付けられたデータを含んでもよく、デバイス間で随時共有することによって、1つ又は複数のデバイスが、システムに関連するほぼ直近のデータを有することができる。他の例も可能である。
オーディオ処理コンポーネント208は、1つ又は複数のデジタル-アナログ変換器(DAC)、オーディオ処理コンポーネント、オーディオ強化コンポーネント、及びデジタルシグナルプロセッサ(DSP)などを含んでいてもよい。ある例では、1つ又は複数のオーディオ処理コンポーネント208は、1つ又は複数のプロセッサ202のサブコンポーネントであってもよい。ある例では、オーディオコンテンツが、オーディオ処理コンポーネント208によって処理及び/又は意図的に変更されることによって、オーディオ信号を生成してもよい。生成されたオーディオ信号は、オーディオアンプ210に送信され、増幅され、スピーカ212を通じて再生される。特に、オーディオアンプ210は、1つ又は複数のスピーカ212を駆動できるレベルまでオーディオ信号を増幅するように構成されたデバイスを含んでもよい。スピーカ212は、独立した変換器(例えば、「ドライバ」)又は1つ又は複数のドライバを内包する筐体を含む完全なスピーカシステムを備えてもよい。スピーカ212に備えられたあるドライバは、例えば、サブウーファー(例えば、低周波用)、ミドルレンジドライバ(例えば、中間周波用)、及び/又はツイーター(高周波用)を含んでもよい。ある場合では、1つ又は複数のスピーカ212のそれぞれの変換器は、オーディオアンプ210の対応する個々のオーディオアンプによって駆動されてもよい。再生デバイス200で再生するアナログ信号を生成することに加えて、オーディオ処理コンポーネント208は、オーディオコンテンツを処理し、そのオーディオコンテンツを1つ又は複数の他の再生デバイスに再生させるために送信する。
再生デバイス200によって処理及び/又は再生されるオーディオコンテンツは、外部ソース、例えば、オーディオライン-イン入力接続(例えば、オートディテクティング3.5mmオーディオラインイン接続)又はネットワークインタフェース214を介して、受信されてもよい。
ネットワークインタフェース214は、データネットワーク上で再生デバイス200と1つ又は複数の他のデバイスとの間のデータフローを可能にするように構成されてもよい。このように、再生デバイス200は、再生デバイスと通信する1つ又は複数の他の再生デバイス、ローカルエリアネットワーク内のネットワークデバイス、又は例えば、インターネット等のワイドエリアネットワーク上のオーディオコンテンツソースから、データネットワークを介してオーディオコンテンツを受信するように構成されてもよい。再生デバイス200は、本明細書で開示および説明されるネットワーク化されたマイクロホンシステムのコンポーネントを含むがこれに限定されないネットワーク上の他のデバイスにメタデータを送信および/またはメタデータを受信してもよい。ある例では、再生デバイス200によって送信および受信されたオーディオコンテンツおよび他の信号(例えば、メタデータおよび他の信号)は、インターネットプロトコル(IP)に基づくソースアドレスおよびIPに基づく宛先アドレスを含むデジタルパケットの形で送信されてもよい。そのような場合、ネットワークインタフェース214は、デジタルパケットデータを解析することによって、再生デバイス200宛てのデータを、再生デバイス200によって適切に受信して処理することができる。
図示されるように、ネットワークインタフェース214は、無線インタフェース216と有線インタフェース218とを含んでもよい。無線インタフェース216は、再生デバイス200用のネットワークインタフェース機能を提供し、通信プロトコル(例えば、無線規格IEEE802.11a、802.11b、802.11g、802.11n、802.11ac、802.15、4Gモバイル通信基準などを含む無線基準(規格)のいずれか)に基づいて、他のデバイス(例えば、再生デバイス200に関連付けられたデータネットワーク内の他の再生デバイス、スピーカ、レシーバー、ネットワークデバイス、制御デバイス)と無線通信してもよい。有線インタフェース218は、再生デバイス200用のネットワークインタフェース機能を提供し、通信プロトコル(例えば、IEEE802.3)に基づいて他のデバイスとの有線接続を介して通信してもよい。図2に示されるネットワークインタフェース214は、無線インタフェース216と有線インタフェース218との両方を含んでいるが、ネットワークインタフェース214は、ある例において、無線インタフェースのみか、又は有線インタフェースのみを含んでもよい。
マイクロホン220は、再生デバイス200の環境において音を検出するように配置されてもよい。例えば、マイクロホンは、再生デバイスのハウジングの外壁に設けられてもよい。マイクロホンは、コンデンサマイクロホン、エレクトレットコンデンサマイクロホン、又はダイナミックマイクロホン等、現在公知の又は今後開発される任意の種類のマイクロホンであってもよい。マイクロホンは、スピーカ220の周波数範囲の一部に対して感度を有していてもよい。1つ又は複数のスピーカ220は、逆にマイクロホン220として動作してもよい。一部の態様において、再生デバイス200は、マイクロホン220を有していなくてもよい。
ある例では、再生デバイス200と他の再生デバイスとは、ペアにされて、オーディオコンテンツの2つの別々のオーディオコンポーネントを再生してもよい。例えば、再生デバイス200は、左チャンネルオーディオコンポーネントを再生するように構成される一方、他の再生デバイスは、右チャンネルオーディオコンポーネントを再生するように構成されてもよい。これにより、オーディオコンテンツのステレオ効果を生成するか、又は強化することができる。ペアにされた再生デバイス(「結合再生デバイス、「結合グループ」又は「ステレオペア」」とも言う)は、更に、他の再生デバイスと同期してオーディオコンテンツを再生してもよい。
別の例では、再生デバイス200は、1つ又は複数の他の再生デバイスと音響的に統合され、単一の統合された再生デバイス(統合再生デバイス)を形成してもよい。統合再生デバイスは、統合されていない再生デバイス又はペアにされた再生デバイスと比べて、サウンドの処理や再現を異なるように構成することができる。なぜならば、統合再生デバイスは、オーディオコンテンツを再生するスピーカ追加することができるからである。例えば、再生デバイス200が、低周波レンジのオーディオコンテンツを再生するように設計されている場合(例えば、サブウーファー)、再生デバイス200は、全周波数レンジのオーディオコンテンツを再生するように設計された再生デバイスと統合されてもよい。この場合、全周波数レンジの再生デバイスは、低周波の再生デバイス200と統合されたとき、オーディオコンテンツの中高周波コンポーネントのみを再生するように構成されてもよい。一方で低周波レンジの再生デバイス200は、オーディオコンテンツの低周波コンポーネントを再生する。更に、統合再生デバイスは、単一の再生デバイス、又は更に他の統合再生デバイスとペアにされてもよい。
例として、現在、ソノズ・インコーポレイテッドは、「PLAY:1」、「PLAY:3」、「PLAY:5」、「PLAYBAR」、「CONNECT:AMP」、「CONNECT」、および「SUB」を含む再生デバイスを販売提供している。他の過去、現在、及び/又は将来のいずれの再生デバイスにおいても、追加的に又は代替的に本明細書で開示された再生デバイスに実装して使用することができる。更に、再生デバイスは、図2に示された特定の例又は提供されるソノズ製品に限定されないことは理解される。例えば、再生デバイスは、有線又は無線のヘッドホンを含んでもよい。別の例では、再生デバイスは、パーソナルモバイルメディア再生デバイス用のドッキングステーションを含むか、又は、それらと対話してもよい。更に別の例では、再生デバイスは、別のデバイス又はコンポーネント、例えば、テレビ、照明器具、又は屋内又は屋外で使用するためのいくつかの他のデバイスと一体化されてもよい。
b.例示的な再生ゾーン構成
図1のメディア再生システムに戻って、環境は、1つ又は複数の再生ゾーンを有しており、それぞれの再生ゾーンは1つ又は複数の再生デバイスを含んでいる。メディア再生システム100は、1つ又は複数の再生ゾーンで形成されており、後で1つ又は複数のゾーンが追加又は削除して、図1に示す例示的な構成としてもよい。それぞれのゾーンは、異なる部屋又は空間、例えば、オフィス、浴室、主寝室、寝室、キッチン、ダイニングルーム、リビングルーム、及び/又はバルコニーに基づく名前が与えられてもよい。ある場合では、単一の再生ゾーンは複数の部屋又は空間を含んでもよい。別の場合では、単一の部屋又は空間は、複数の再生ゾーンを含んでもよい。
図1に示されるように、バルコニー、ダイニングルーム、キッチン、浴室、オフィス、および寝室のゾーンのそれぞれは、1つの再生デバイスを有する一方、リビングルームおよび主寝室のゾーンのそれぞれは、複数の再生デバイスを有する。リビングルームゾーンは、再生デバイス104、106、108、および110が、別々の再生デバイスとしてか、1つ又は複数の結合再生デバイスとしてか、1つ又は複数の統合再生デバイスとしてか、又はこれらのいずれかの組み合わせで、オーディオコンテンツを同期して再生するように構成されてもよい。同様に、主寝室の場合では、再生デバイス122および124が、別々の再生デバイスとしてか、結合再生デバイスとしてか、又は統合再生デバイスとして、オーディオコンテンツを同期して再生するように構成されてもよい。
ある例では、図1の環境における1つ又は複数の再生ゾーンは、それぞれ異なるオーディオコンテンツを再生している。例えば、ユーザは、バルコニーゾーンでグリルしながら、再生デバイス102によって再生されるヒップホップ音楽を聞くことができる。一方、別のユーザは、キッチンゾーンで食事を準備しながら、再生デバイス114によって再生されるクラシック音楽を聞くことができる。別の例では、再生ゾーンは、同じオーディオコンテンツを別の再生ゾーンと同期して再生してもよい。例えば、ユーザがオフィスゾーンにいる場合、オフィスゾーンの再生デバイス118が、バルコニーの再生デバイス102で再生されている音楽と同じ音楽を再生してもよい。そのような場合、再生デバイス102および118は、ロック音楽を同期して再生しているため、ユーザは、異なる再生ゾーン間を移動してもアウト-ラウドで再生されるオーディオコンテンツをシームレス(又は少なくともほぼシームレス)に楽しむことができる。再生ゾーン間の同期は、前述の米国特許第8,234,395号で述べられているような再生デバイス間の同期と同様の方法で行ってもよい。
上述したように、メディア再生システム100のゾーン構成は、動的に変更してもよく、ある例では、メディア再生システム100は、複数の構成をサポートする。例えば、ユーザが1つ又は複数の再生デバイスを、物理的にゾーンに移動させるか、又はゾーンから移動させる場合、メディア再生システム100は変更に対応するように再構成されてもよい。例えば、ユーザが再生デバイス102をバルコニーゾーンからオフィスゾーンに物理的に移動させる場合、オフィスゾーンは、再生デバイス118と再生デバイス102との両方を含んでもよい。必要に応じて、制御デバイス、例えば制御デバイス126と128とを介して、再生デバイス102が、ペアにされるか、又はオフィスゾーンにグループ化されるか、及び/又はリネームされてもよい。一方、1つ又は複数の再生デバイスが、再生ゾーンを未だ設定していないホーム環境において、ある領域に移動させられた場合、新しい再生ゾーンがその領域に形成されてもよい。
更に、メディア再生システム100の異なる再生ゾーンは、動的にゾーングループに組み合わされてもよいし、又は別々の再生ゾーンに分割されてもよい。例えば、ダイニングルームゾーンとキッチンゾーンとがディナーパーティ用のゾーングループに組み合わされることによって、再生デバイス112と114とがオーディオコンテンツを同期してレンダリング(例えば、再生)することができる。一方、あるユーザがテレビを見たい一方、他のユーザがリビングルーム空間の音楽を聞きたい場合、リビングルームゾーンが、再生デバイス104を含むテレビゾーンと、再生デバイス106、108および110を含むリスニングゾーンと、に分けられてもよい。
c.例示的な制御デバイス
図3は、メディア再生システム100の制御デバイス126及び128のうちの一方又は両方を構成する例示的な制御デバイス300の機能ブロック図を示す。図示されるように、制御デバイス300は、1つ又は複数のプロセッサ302、メモリ304、ネットワークインタフェース306、ユーザインタフェース308、マイクロホン310およびソフトウェアコンポーネント312を含んでもよい。ある例では、制御デバイス300は、メディア再生システム100専用の制御デバイスであってもよい。別の例では、制御デバイス300は、メディア再生システムコントローラアプリケーションソフトウェアがインストールされたネットワークデバイス、例えば、iPhone(登録商標)、iPad(登録商標)、又は任意の他のスマートフォン、タブレットあるいはネットワークデバイス(例えば、PC又はMac(登録商標)などのネットワークコンピュータ)であってもよい。
1つ又は複数のプロセッサ302は、メディア再生システム100のユーザアクセス、コントロール、および構成を可能にすることに関する機能を実行するように構成されてもよい。メモリ304は、それらの機能を実行するために1つ又は複数のプロセッサ302によって実行可能な命令を1つ又は複数のソフトウェアコンポーネントでロードされ得るデータストレージであってもよい。また、メモリ304は、メディア再生システムコントローラアプリケーションソフトウェアと、メディア再生システム100とユーザとに関連付けられた他のデータを記憶するように構成されてもよい。
ある例では、ネットワークインタフェース306は、工業規格(例えば、赤外線、無線、IEEE802.3などの有線規格、IEEE802.11a、802.11b、802.11g、802.11n、802.11ac、802.15などの無線規格、3G,4G,5G通信規格など)に基づいてもよい。ネットワークインタフェース306においては、制御デバイス300がメディア再生システム100内の他のデバイスと通信するための手段を提供してもよい。ある例では、データおよび情報(例えば、状態変数)は、ネットワークインタフェース306を介して制御デバイス300と他のデバイスとの間で通信されてもよい。例えば、メディア再生システム100における再生ゾーンおよびゾーングループの構成は、制御デバイス300によって、再生デバイス又は別のネットワークデバイスから受信されてもよいし、あるいは制御デバイス300によって、ネットワークインタフェース306を介して別の再生デバイス又はネットワークデバイスに送信されてもよい。ある場合では、他のネットワークデバイスは、別の制御デバイスであってもよい。
ボリュームコントロールおよびオーディオ再生コントロールなどの再生デバイス制御コマンドは、ネットワークインタフェース306を介して制御デバイス300から再生デバイスに通信されてもよい。上述したように、メディア再生システム100の構成の変更は、ユーザにより制御デバイス300を用いて行うことができる。構成の変更は、1つ又は複数の再生デバイスをゾーンに追加すること、1つ又は複数の再生デバイスをゾーンから取り除くこと、1つ又は複数のゾーンをゾーングループに追加すること、1つ又は複数のゾーンをゾーングループから取り除くこと、結合プレーヤー又は統合プレーヤーを形成すること、結合プレーヤー又は統合プレーヤーから1つ又は複数の再生デバイスに分けることなどを含んでもよい。このように、制御デバイス300は、コントローラと呼ばれてもよく、制御デバイス300は、メディア再生システムコントローラアプリケーションソフトウェアをインストールした専用のコントローラか、又はネットワークデバイスであってもよい。
制御デバイス300は、マイクロホン310を含んでいてもよい。マイクロホン310は、制御デバイス300の環境において音を検出するように配置されてもよい。マイクロホン310は、コンデンサマイクロホン、エレクトレットコンデンサマイクロホン、又はダイナミックマイクロホン等、現在公知の又は今後開発される任意の種類のマイクロホンであってもよい。マイクロホンは、周波数範囲の一部に対して感度を有していてもよい。2つ以上のマイクロホン310は、オーディオソース(例えば、声、可聴音)の位置情報を取り込むように、及び/又は背景雑音のフィルタリングを支援するように、配置されてもよい。
制御デバイス300のユーザインタフェース308は、図4に示される例示的なコントローラインタフェース400などのようなコントローラインタフェースを提供することによって、メディア再生システム100のユーザアクセスおよび制御を可能にするように構成されてもよい。ユーザインタフェース400は、再生制御領域410、再生ゾーン領域420、再生ステータス領域430、再生キュー領域440、およびオーディオコンテンツソース領域450を含む。図示されるユーザインタフェース400は、図3の制御デバイス300などのようなネットワークデバイス(及び/又は図1の制御デバイス126および128)を設けられたユーザインタフェースの単なる一例であって、ユーザによってメディア再生システム100などのようなメディア再生システムを制御するためにアクセスされるものである。あるいは、様々なフォーマット、スタイル、および対話型シーケンスを他のユーザのインタフェースを1つ又は複数のネットワークデバイスに実装し、メディア再生システムへ類似の制御アクセスを提供してもよい。
再生制御領域410は、(例えば、タッチ又はカーソルを用いることで)選択可能なアイコンを含んでもよい。このアイコンによって、選択された再生ゾーン又はゾーングループ内の再生デバイスが、再生又は停止、早送り、巻き戻し、次にスキップ、前にスキップ、シャッフルモードのオン/オフ、リピートモードのオン/オフ、クロスフェードモードのオン/オフを行う。再生制御領域410は、別の選択可能なアイコンを含んでもよい。別の選択可能なアイコンは、イコライゼーション設定、再生ボリュームなど他の設定などを変更してもよい。
再生ゾーン領域420は、メディア再生システム100内の再生ゾーンの表示を含んでもよい。ある例では、再生ゾーンのグラフィック表示が選択可能であってもよい。追加の選択可能なアイコンを移動させることによって、メディア再生システム内の再生ゾーンを管理又は構成することができる。例えば、結合ゾーンの作成、ゾーングループの作成、ゾーングループの分割、およびゾーングループのリネームなど他の管理又は構成を行うことができる。
例えば、図示されるように、「グループ」アイコンは、再生ゾーンのグラフィック表示のそれぞれに設けられてもよい。あるゾーンのグラフィック表示内の「グループ」アイコンは、メディア再生システム内の1つ又は複数のゾーンを選択して、あるゾーンとグループ化するオプションを出せるように選択可能であってもよい。一度グループ化すると、あるゾーンとグループ化されたゾーン内の再生デバイスは、あるゾーン内の再生デバイスと同期してオーディオコンテンツを再生するように構成される。同様に、「グループ」アイコンは、ゾーングループのグラフィック表示内に設けられてもよい。この場合、「グループ」アイコンは、ゾーングループ内の1つ又は複数のゾーンをゾーングループから取り除くために、ゾーングループ内の1つ又は複数のゾーンを選択から外すというオプションを出すように選択可能であってもよい。コントローラインタフェース400等のユーザインタフェースを介してゾーンをグループ化およびグループ解除するための他の対話をすることも可能であるし、実施することも可能である。再生ゾーン領域420内の再生ゾーンの表示は、再生ゾーン又はゾーングループ構成が変更されると、動的に更新されてもよい。
再生ステータス領域430は、現在再生されているオーディオコンテンツ、前に再生されたオーディオコンテンツ、又は選択された再生ゾーン又はゾーングループ内で次に再生するように予定されているオーディオコンテンツ、のグラフィック表示を含んでもよい。選択可能な再生ゾーン又は再生グループは、ユーザインタフェース上で、例えば、再生ゾーン領域420及び/又は再生ステータス領域430内で視覚的に区別されてもよい。グラフィック表示は、トラックタイトル、アーティスト名、アルバム名、アルバム年、トラックの長さ、およびメディア再生システムを、コントローラインタフェース400を介して制御するときに、ユーザにとって有益な他の関連情報を含んでもよい。
再生キュー領域440は、選択された再生ゾーン又はゾーングループに関連付けられた再生キュー内のオーディオコンテンツのグラフィック表示を含んでもよい。ある例では、それぞれの再生ゾーン又はゾーングループは、再生ゾーン又は再生グループによって再生される0以上のオーディオアイテムに対応する情報を含む再生キューに関連付けられてもよい。例えば、再生キュー内のそれぞれのオーディオアイテムは、ユー・アール・アイ(URI)、ユー・アール・エル(URL)、又は再生ゾーン又はゾーングループ内の再生デバイスによって使用可能な他の識別子を含んでもよい。これらによって、ローカルオーディオコンテンツソース又はネットワークオーディオコンテンツソース、からオーディオアイテムを見つけ、及び/又は取り出し、再生デバイスによって再生することができる。
ある例では、プレイリストが再生キューに追加されてもよい。この場合、プレイリスト内のそれぞれのオーディオアイテムに対応する情報が再生キューに追加されてもよい。別の例では、再生キュー内のオーディオアイテムは、プレイリストとして保存されてもよい。更に別の例では、再生デバイスがストリーミングオーディオコンテンツ、例えば、再生時間を有することで連続して再生されないオーディオアイテムよりも、停止しない限り連続して再生されるインターネットラジオを再生し続けているとき、再生キューは、空であってもよいし、又は「未使用」であるが埋められていてもよい。別の例では、再生キューは、インターネットラジオ及び/又は他のストリーミングオーディオコンテンツアイテムを含むことができ、且つ再生ゾーン又はゾーングループがそれらのアイテムを再生しているとき「未使用」とすることができる。他の例も可能である。
再生ゾーン又はゾーングループが「グループ化される」か、又は「グループ解除」されるとき、影響を受ける再生ゾーン又はゾーングループに関連付けられた再生キューは、クリアされてもよいし、又は再び関連付けられてもよい。例えば、第1再生キューを含む第1再生ゾーンが、第2再生キューを含む第2再生ゾーンとグループ化された場合、形成されたゾーングループは、関連付けられた再生キューを有してもよい。関連付けられた再生キューは、最初は空であるか、(例えば、第2再生ゾーンが第1再生ゾーンに追加された場合、)第1再生キューのオーディオアイテムを含むか、(例えば、第1再生ゾーンが第2再生ゾーンに追加された場合、)第2再生キューのオーディオアイテムを含むか、又は第1再生キューと第2再生キューとの両方のオーディオアイテムを組み合わせられる。その後、形成されたゾーングループがグループ解除された場合、グループ解除された第1再生ゾーンは、前の第1再生キューと再び関連付けられてもよいし、空の新しい再生キューに関連付けられてもよいし、あるいはゾーングループがグループ解除される前にゾーングループに関連付けられていた再生キューのオーディオアイテムを含む新しい再生キューに関連付けられてもよい。同様に、グループ解除された第2再生ゾーンは、前の第2再生キューと再び関連付けられてもよいし、空の新しい再生キューに関連付けられてもよいし、あるいはゾーングループがグループ解除される前にゾーングループに関連付けられていた再生キューのオーディオアイテムを含む新しい再生キューに関連付けられてもよい。
図4のユーザインタフェース400に戻って、再生キュー領域440内のオーディオコンテンツのグラフィック表示は、トラックタイトル、アーティスト名、トラックの長さ、および再生キュー内のオーディオコンテンツに関連付けられた他の関連情報を含んでもよい。ある例では、オーディオコンテンツのグラフィック表示は、追加の選択可能なアイコンを選択して移動させることができる。これにより、再生キュー及び/又は再生キューに表示されたオーディオコンテンツを管理及び/又は編集することができる。例えば、表示されたオーディオコンテンツは、再生キューから取り除いてもよいし、再生キュー内の異なる位置に移動させてもよいし、すぐに再生させるか若しくは現在再生しているオーディオコンテンツの後に再生するように選択されてもよいし、あるいは他の動作を実行してもよい。再生ゾーン又はゾーングループに関連付けられた再生キューは、再生ゾーン又はゾーングループ内の1つ又は複数の再生デバイスのメモリ、再生ゾーン又はゾーングループに入っていない再生デバイスのメモリ、及び/又は他の指定のデバイスのメモリに記憶されていてもよい。
オーディオコンテンツソース領域450は、選択可能なオーディオコンテンツソースのグラフィック表示を含んでいてもよい。このオーディオコンテンツソースにおいては、オーディオコンテンツが選択された再生ゾーン又はゾーングループによって取り出され、再生されてもよい。オーディオコンテンツソースに関する説明は、以降のセクションを参照することができる。
d.例示的なオーディオコンテンツソース
前回図示したように、ゾーン又はゾーングループ内の1つ又は複数の再生デバイスは、再生するオーディオコンテンツを、(例えば、オーディオコンテンツの対応するURI又はURLに基づいて、)複数の入手可能なオーディオコンテンツソースから取り出すように構成されてもよい。ある例では、オーディオコンテンツは、再生デバイスによって、対応するオーディオコンテンツソース(例えば、ライン-イン接続)から直接取り出されてもよい。別の例では、オーディオコンテンツは、1つ又は複数の他の再生デバイス若しくはネットワークデバイスを介してネットワーク上の再生デバイスに提供されてもよい。
例示的なオーディオコンテンツソースは、メディア再生システム内の1つ又は複数の再生デバイスのメモリを含んでもよい。メディア再生システムとしては、例えば、図1のメディア再生システム100、1つ又は複数のネットワークデバイス上のローカルミュージックライブラリ(例えば、制御デバイス、ネットワーク対応のパーソナルコンピュータ、又はネットワーク接続ストレージ(NAS)など)、インターネット(例えば、クラウド)を介してオーディオコンテンツを提供するストリーミングオーディオサービス、あるいは再生デバイス又はネットワークデバイスのライン-イン入力接続を介してメディア再生システムに接続されるオーディオソース、他の可能なシステムであってもよい。
ある例では、オーディオコンテンツソースは、図1のメディア再生システム100などのようなメディア再生システムに定期的に追加されてもよいし、定期的に取り除かれてもよい。ある例では、1つ又は複数のオーディオコンテンツソースが追加される、取り除かれる、又は更新される度に、オーディオアイテムのインデックス付けが行われてもよい。オーディオアイテムのインデックス付けは、ネットワーク上で共有される全てのフォルダ/ディレクトリ内の識別可能なオーディオアイテムをスキャンすることを含んでもよい。ここで、ネットワークは、メディア再生システム内の再生デバイスによってアクセス可能である。また、オーディオアイテムのインデックス付けは、メタデータ(例えば、タイトル、アーティスト、アルバム、トラックの長さなど)と他の関連情報とを含むオーディオコンテンツデータベースを作成すること、又は更新すること、を含んでもよい。他の関連情報とは、例えば、それぞれの識別可能なオーディオアイテムを見つけるためのURI又はURLを含んでもよい。オーディオコンテンツソースを管理し、且つ維持するための他の例も可能である。
再生デバイス、制御デバイス、再生ゾーン構成、及びメディアコンテンツソースに関する上記の説明は、以下で説明する機能及び方法を実施し得る動作環境の一部の例のみを提供する。本明細書に明確に記載されていないメディア再生システム、再生デバイス、及びネットワークデバイスの他の動作環境及び構成も、機能及び方法の実施に適用可能及び適切となり得る。
e.複数のネットワークデバイスの例
図5は、音声制御によるオーディオ再生体験を提供するように構成可能な複数のネットワークデバイス500を示す。図5に示すデバイスは例示のみを目的とし、異なる及び/又は追加の(又はより少数の)デバイスを含む変形が可能となり得ることは、当業者に理解されよう。図示したように、複数のネットワークデバイス500は、コンピュータ504、506、508、ネットワークマイクロホンデバイス(NMD)512、514、516、再生デバイス(PBD)532、534、536、538、及び制御デバイス(CR)522を含む。上述したように、NMD512乃至516、PBD532乃至538、及び/又はCR522の何れか1つ以上(又は全て)は、音声対応デバイス(VED)であってもよい。
複数のネットワークデバイス500のそれぞれは、例として特に、NFC、Bluetooth(商標)、イーサネット(登録商標)、及びIEEE802.11等の1つ以上のネットワークプロトコルにより、可能なものとして、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)等の1種類以上のネットワークを介して、複数のデバイスにおいて1つ又は複数の他のデバイスとの通信を確立することが可能なネットワーク対応デバイスである。
図示したように、コンピュータ504、506、508は、クラウドネットワーク502の一部であってもよい。クラウドネットワーク502は、追加のコンピュータ(図示せず)を含み得る。一例において、コンピュータ504、506、508は、異なるサーバであってもよい。他の例において、コンピュータ504、506、508のうちの2つ以上は、単一のサーバのモジュールであってもよい。同様に、コンピュータ504、506、508のそれぞれは、1つ以上のモジュール又はサーバを含み得る。本明細書での例示の目的を容易にするため、コンピュータ504、506、508のそれぞれは、クラウドネットワーク502内で特定の機能を実行するように構成し得る。例えば、コンピュータ508は、ストリーミング音楽サービス用のオーディオコンテンツのソースにし得る。
図示したように、コンピュータ504は、通信経路542を介して、NMD512、514、516とインタフェースするように構成し得る。NMD512、514、516は、1つ又は複数の「スマートホーム」システムの構成要素であってもよい。一例において、NMD512、514、516は、図1に示すデバイスの分布と同様に、住居全体に物理的に分布させてもよい。他の例において、NMD512、514、516の2つ以上は、物理的に互いに比較的近接して配置し得る。通信経路542は、可能なものとして特に、インターネットを含むWAN、LAN、及び/又はPAN等の1種類以上のネットワークを含み得る。
一例において、NMD512、514、516の1つ以上は、主にオーディオ検出用に構成されたデバイスであってもよい。他の例において、NMD512、514、516の1つ又は複数は、様々な主要用途を有するデバイスの構成要素であってもよい。例えば、図2及び3に関連して上述したように、NMD512、514、516の1つ又は複数は、再生デバイス200のマイクロホン220又はネットワークデバイス300のマイクロホン310であってもよい(又は少なくともこれらを含んでいてもよい、若しくはこれらの構成要素であってもよい)。更に、場合により、NMD512、514、516の1つ又は複数は、再生デバイス200又はネットワークデバイス300であってもよい(又は少なくともこれらを含んでいてもよい、若しくはこれらの構成要素であってもよい)。一例において、NMD512、514、及び/又は516の1つ又は複数は、マイクロホンアレイに配置された複数のマイクロホンを含んでいてもよい。一部の例において、NMD512、514、及び/又は516の1つ又は複数は、モバイルコンピュータ(例えば、スマートフォン、タブレット、又は他のコンピュータ)上のマイクロホンであってもよい。
図示したように、コンピュータ506は、通信経路544を介してCR522及びPBD532、534、536、538とインタフェースするように構成し得る。一例において、CR522は、図2のネットワークデバイス200等のネットワークデバイスであってもよい。したがって、CR522は、図4のコントローラインタフェース400を提供するように構成し得る。同様に、PBD532、534、536、538は、図3の再生デバイス300等の再生デバイスであってもよい。そのため、PBD532、534、536、538は、図1に示すように、住居全体に物理的に分布させてもよい。例示のために、PBD536及び538を結合ゾーン530の要素とする一方、PBD532及び534は、それぞれのゾーンの要素としてもよい。上述したように、PBD532、534、536、538は、動的に結合、グループ化、結合解除、及びグループ解除してもよい。通信経路544は、可能なものとして特に、インターネットを含むWAN、LAN、及び/又はPAN等の1種類以上のネットワークを含んでいてもよい。
一例において、NMD512、514、516と同様に、CR522及びPBD532、534、536、538は、1つ又は複数の「スマートホーム」システムの構成要素であってもよい。一例において、PBD532、534、536、538は、NMD512、514、516と同じ住居全体に分布させてもよい。更に、上記で示唆したように、PBD532、534、536、538の1つ又は複数は、NMD512、514、516の1つ又は複数であってもよい。例えば、NMD512乃至516、PBD532乃至538、及び/又はCR522の何れか1つ以上(又は恐らく全て)は、音声対応デバイス(VED)であってもよい。
NMD512、514、516は、ローカルエリアネットワークの一部としてよく、通信経路542は、NMD512、514、516のローカルエリアネットワークをコンピュータ504にWANを介して連結するアクセスポイントを含み得る(通信経路は図示せず)。同様に、NMD512、514、516のそれぞれは、このようなアクセスポイントを介して互いに通信し得る。
同様に、CR522及びPBD532、534、536、538は、前節で説明したローカルエリアネットワーク及び/又はローカル再生ネットワークの一部にしてよく、通信経路544は、CR522及びPBD532、534、536、538のローカルエリアネットワーク及び/又はローカル再生ネットワークを、コンピュータ506にWANを介して連結するアクセスポイントを含み得る。そのため、CR522及びPBD532、534、536、538のそれぞれは、このようなアクセスポイントを介してそれぞれと通信し得る。
一例において、通信経路542及び544は、同じアクセスポイントを備え得る。一例において、NMD512、514、516、CR522、及びPBD532、534、536、538のそれぞれは、家庭用の同じアクセスポイントを介してクラウドネットワーク502にアクセスし得る。
図5に示すように、NMD512、514、516、CR522、及びPBD532、534、536、538のそれぞれは、更に、通信手段546を介して他のデバイスの1つ又は複数と直接通信し得る。本明細書に記載の通信手段546は、1種類以上のネットワークを介した、1つ又は複数のネットワークプロトコルによる、デバイス間の1つ又は複数の通信形態を伴って及び/又は含んでよく、及び/又は1つ又は複数の他のネットワークデバイスを介した通信を伴ってもよい。例えば、通信手段546は、例えば、可能なものとして特に、Bluetooth(登録商標)(IEEE802.15)、NFC、ワイヤレスダイレクト、及び/又は独自のワイヤレスの1つ又は複数を含み得る。
一例において、CR522は、Bluetooth(登録商標)を介してNMD512と通信し、別のローカルエリアネットワークを介してPBD534と通信し得る。他の例において、NMD514は、別のローカルエリアネットワークを介してCR522と通信し、Bluetooth(登録商標)を介してPBD536と通信し得る。更に他の例では、PBD532、534、536、538のそれぞれは、ローカル再生ネットワークを介してスパニングツリープロトコルにより互いに通信し得る一方、ローカル再生ネットワークとは異なるローカルエリアネットワークを介して、CR522とそれぞれ通信する。他の例も可能である。
場合により、NMD512、514、516、CR522、及びPBD532、534、536、538間の通信手段は、デバイス間の通信要件の種類、ネットワーク条件、及び/又はレイテンシ要求に応じて相違(又は恐らく変化)し得る。例えば、NMD516がPBD532、534、536、538を有する住居に最初に導入されるときには、通信手段546を使用し得る。一例において、NMD516は、NFCを介してPBD538に、NMD516に対応する識別情報を送信し、これに応じて、PBD538は、NFC(又は他の通信形態)を介してNMD516に、ローカルエリアネットワーク情報を送信し得る。しかしながら、NMD516が住居内で設定されると、NMD516とPBD538との間の通信手段は、変化し得る。例えば、NMD516は、その後、通信経路542、クラウドネットワーク502、及び通信経路544を介してPBD538と通信し得る。他の例において、NMD及びPBDは、ローカルの通信手段546を介して全く通信しなくてもよい。更に他の例において、NMD及びPBDは、主にローカルの通信手段546を介して通信してもよい。他の例も可能である。
説明のための例において、NMD512、514、516は、音声入力を受信してPBD532、534、536、538を制御するように構成し得る。利用可能な制御コマンドには、可能なものとして特に、再生ボリューム制御、再生トランスポート制御、音楽ソース選択、グループ化等、前述した任意のメディア再生システム制御が含まれ得る。一例において、NMD512は、音声入力を受信して、PBD532、534、536、538の1つ又は複数を制御し得る。音声入力の受信に応答して、NMD512は、通信経路542を介して、処理のために音声入力をコンピュータ504に送信し得る。一例において、コンピュータ504は、音声入力を同等のテキストコマンドに変換し、テキストコマンドを解析してコマンドを特定し得る。その後、コンピュータ504は、テキストコマンドをコンピュータ506に送信し、次にコンピュータ506は、1つ又は複数のPBD532乃至538を制御してコマンドを実行し得る。他の例において、コンピュータ504は、音声入力を同等のテキストコマンドに変換し、その後、テキストコマンドをコンピュータ506に送信し得る。次に、コンピュータ506は、テキストコマンドを解析して、1つ又は複数の再生コマンドを特定し、次に、コンピュータ506は、PBD532乃至538の1つ又は複数を更に制御してコマンドを実行し得る。
例えば、テキストコマンドが「「ゾーン1」の「ストリーミングサービス1」から「アーティスト1」による「トラック1」を再生」である場合、コンピュータ506は、(i)「ストリーミングサービス1」から利用可能な「アーティスト1」による「トラック1」のURL、及び(ii)「ゾーン1」の少なくとも1つの再生デバイスを特定し得る。この例において、「ストリーミングサービス1」からの「アーティスト1」による「トラック1」のURLは、コンピュータ508を指すURLであってよく、「ゾーン1」は、結合ゾーン530であってよい。そのため、URL及びPBD536及び538の一方又は両方を特定すると、コンピュータ506は、通信経路544を介して、PBD536及び538の一方又は両方に対して、特定したURLを再生のために送信し得る。PBD536及び538の一方又は両方は、これに反応して、受信したURLに従ってコンピュータ508からオーディオコンテンツを取得し、「ストリーミングサービス1」から「アーティスト1」による「トラック1」の再生を開始し得る。
上記が単なる説明のための一例に過ぎず、他の実施も可能であることは当業者に理解されよう。一例では、複数のネットワークデバイス500の1つ又は複数により実行される動作は、上述したように、複数のネットワークデバイス500内の1つ又は複数の他のデバイスが実行してもよい。例えば、音声入力からテキストコマンドへの変換は、CR522、NMD512、コンピュータ506、PBD536、及び/又はPBD538等の他のデバイス又はデバイス群が、代わりに、部分的に、又は全てを実行してもよい。同様に、URLの特定は、NMD512、コンピュータ504、PBD536、及び/又はPBD538等の他のデバイス又はデバイス群が、代わりに、部分的に、又は全てを実行してもよい。
f.ネットワークマイクロホンデバイスの例
図6は、図5のNMD512、514、516の1つ又は複数、及び/又は本明細書に開示及び記載したVEDの何れかとして構成し得るネットワークマイクロホンデバイス600の例の機能ブロック図を示す。図示したように、ネットワークマイクロホンデバイス600は、1つ又は複数のプロセッサ602、有形の非一時的コンピュータ読み取り可能メモリ604、マイクロホンアレイ606(例えば、1つ又は複数のマイクロホン)、ネットワークインタフェース608、ユーザインタフェース610、ソフトウェアコンポーネント612、及びスピーカ614を含む。他のネットワークマイクロホンデバイスの構成及び配置も可能であることは、当業者に理解されよう。例えば、ネットワークマイクロホンデバイスは、スピーカ614を含まなくてもよく、又はマイクロホンアレイ606の代わりに単一のマイクロホンを有してもよい。
1つ又は複数のプロセッサ602は、汎用又は専用プロセッサ又はコントローラの形態となり得る1つ又は複数のプロセッサ及び/又はコントローラを含み得る。例えば、1つ又は複数のプロセッサ602は、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路、デジタル信号プロセッサ等を含み得る。有形の非一時的コンピュータ読み取り可能メモリ604は、これらの機能を実行するために1つ又は複数のプロセッサ602により実行可能なソフトウェアコンポーネントの1つ又は複数をロード可能なデータストレージであってもよい。したがって、メモリ604は、1つ又は複数の非一時的コンピュータ読み取り可能媒体を含んでよく、その例には、可能なものとして特に、ランダムアクセスメモリ、レジスタ、キャッシュ等の揮発性記憶媒体と、読み取り専用メモリ、ハードディスクドライブ、ソリッドステートドライブ、フラッシュメモリ、及び/又は光記憶装置等の不揮発性記憶媒体とが含まれ得る。
マイクロホンアレイ606は、ネットワークマイクロホンデバイス600の環境内の音を検出するように配置された複数のマイクロホンであってもよい。マイクロホンアレイ606は、可能なものとして特に、コンデンサマイクロホン、エレクトレットコンデンサマイクロホン、又はダイナミックマイクロホン等、現在公知の又は今後開発される任意の種類のマイクロホンを含み得る。一例において、マイクロホンアレイは、ネットワークマイクロホンデバイスに対する1つ又は複数の方向からのオーディオを検出するように配置し得る。マイクロホンアレイ606は、周波数範囲の一部に対して感度を有し得る。一例において、マイクロホンアレイ606の第1のサブセットは、第1の周波数範囲に対して感度を有し、マイクロホンアレイの第2のサブセットは、第2の周波数範囲に対して感度を有し得る。マイクロホンアレイ606は、更に、オーディオソース(例えば、声、可聴音)の位置情報を取り込むように、及び/又は背景雑音のフィルタリングを支援するように、配置し得る。特に、一部の例において、マイクロホンアレイは、複数のマイクロホンではなく、単一のマイクロホンのみで構成されてもよい。
ネットワークインタフェース608は、図5に関連して、可能なものとして特に、CR522、PBD532乃至538、クラウドネットワーク502内のコンピュータ504乃至508、及び他のネットワークマイクロホンデバイス等、様々なネットワークデバイス間の無線及び/又は有線通信を容易にするように構成し得る。そのため、ネットワークインタフェース608は、これらの機能を達成するための任意の適切な形態にしてよく、その例には、イーサネットインタフェース、シリアルバスインタフェース(例えば、FireWire、USB2.0等)、無線通信を容易にするチップセット及びアンテナ、及び/又は有線及び/又は無線通信を提供する他の任意のインタフェースが含まれる。一例において、ネットワークインタフェース608は、業界標準(例えば、赤外線、無線、IEEE802.3を含む有線規格、IEEE802.11a、802.11b、802.11g、802.11n、802.11ac、802.15、4G移動体通信規格を含む無線規格等)に基づいてもよい。
ネットワークマイクロホンデバイス600のユーザインタフェース610は、ネットワークマイクロホンデバイスとのユーザのやりとりを容易にするように構成し得る。一例において、ユーザインタフェース610は、ユーザがネットワークマイクロホンデバイス600に直接入力を行うために、可能なものとして特に、1つ又は複数の物理的なボタン、タッチセンサ式画面及び/又は表面上に設けられたグラフィカルインタフェースを含み得る。ユーザインタフェース610は、更に、視覚及び/又はオーディオフィードバックをユーザに提供する1つ又は複数のライト及びスピーカ614を含み得る。一例において、ネットワークマイクロホンデバイス600は、更に、スピーカ614を介してオーディオコンテンツを再生するように構成し得る。
f.メディア再生環境の例
一部の例では、第1のメディア再生プロトコルを用いてメディアコンテンツを再生し、第1のメディア再生プロトコル及び/又は第2のメディア再生プロトコルを用いて制御し得るネットワークデバイス上で、メディアコンテンツを制御及び再生することがユーザにとって望ましい場合がある。状況によっては、メディア再生システムは、異なるメディア再生プロトコルを用いて1つ又は複数のメディアソースからメディアコンテンツを受信可能な場合がある。しかしながら、この方法では、2つ以上のメディア再生プロトコル間で一貫した制御ができない場合がある(例えば、メディアストリームの開始、再生コマンドの発行、ネットワークデバイスのグループ化、音量の制御等)。異なるメディア再生プロトコル間でのネットワークデバイスの制御を可能にするために、一部の例において、ネットワークデバイスは、1つ又は複数の異なるメディア再生プロトコルを用いたネットワークデバイスの通信及び制御を容易にするハードウェア及び/又はソフトウェアコンポーネントを含み得る。これは、あるメディア再生プロトコルを用いたユーザの行動を他のメディア再生プロトコルに変換又は反映することを可能にし、ユーザが使用しているメディア再生プロトコルに関係なくシームレスな体験をユーザに提供するため、有益となり得る。
例えば、ユーザは、1つ又は複数のネットワークデバイスを含むメディア再生システムを有し得る。1つ又は複数のネットワークデバイスは、1つのメディア再生プロトコルを用いる第1の制御デバイス又は第1の制御デバイス上のアプリケーション(例えば、Airplay(登録商標)を用いるiPhone(登録商標))からメディアを受信すること、及びこれにより制御することが可能となり得る。1つ又は複数のネットワークデバイスは、更に、リモートサーバからワイドエリアネットワーク(WAN)を介してメディアを取得すること、及び他のメディア再生プロトコルを用いる第2の制御デバイス又はアプリケーション(例えば、Sonos(登録商標)コントローラ等)により制御することが可能となり得る。ユーザが、第1の制御デバイス上の1つのメディア再生プロトコルを用いて、1つ又は複数のネットワークデバイスに対してメディアストリーミングを開始するか、又はこれにおいてメディア再生を開始した場合、ユーザは、第2の制御デバイス上で他のメディア再生プロトコルを用いて、メディアストリーミングを制御すること(例えば曲の再生/一時停止/スキップ)が可能となり得る。この機能により、ユーザは、ユーザにとって最も便利な何れかの制御デバイスを用いて、ネットワークデバイスに対するメディアコンテンツのストリーミング及び制御を行う自由が得られる。一部の態様において、第1の制御デバイス及び第2の制御デバイスは、同じデバイス(例えば、コンピュータ、携帯電話、タブレット等)であってもよい。
図7は、第1のネットワークデバイス706及び第2のネットワークデバイス714を制御するように構成されたメディアソースデバイス702及び制御デバイス704を含むメディア再生システム700の例のフロー図を示す。第1のネットワークデバイス706及び第2のネットワークデバイス714は、メディアを同期して又は独立して再生するように構成し得る。第1のネットワークデバイス706及び第2のネットワークデバイス714は、図1の再生デバイス102乃至124、図2の再生デバイス200、図5のNMD512、514、516、及びPBD532、534、536、538、及び/又は図6のネットワークマイクロホンデバイス600の何れかであってもよい。
第1のネットワークデバイス706は、第1のプロトコルインタフェース708、第2のプロトコルインタフェース710、及びメディアレンダラ712を含む。第2のネットワークデバイス714は、第1のプロトコルインタフェース716、第2のプロトコルインタフェース718、及びメディアレンダラ720を含む。メディアソースデバイス702と第1のプロトコルインタフェース708及び716とは、第1のメディア再生プロトコル746により動作し得る。制御デバイス704と第2のプロトコルインタフェース710及び718とは、第2のメディア再生プロトコル748の一部である。
メディアソースデバイス702は、第1のネットワークデバイス706及び第2のネットワークデバイス714が特定のメディア再生プロトコルでメディアコンテンツを受信するネットワークデバイスであってもよい。メディアソースデバイス702は、図3の制御デバイス300と同様の構成要素を含み得ると共に、第1のメディア再生プロトコル746等の特定のメディア再生プロトコルを用いて動作し得る。例えば、メディアソースデバイス702は、特定のメディア再生プロトコル(例えば、Airplay(登録商標))を用いるiPhone(登録商標)、iPad(登録商標)、又は他の任意のスマートフォン、タブレット、若しくはネットワークデバイスを含み得る。メディアソースデバイス702は、ネットワーク接続を介して、第1のネットワークデバイス706の第1のプロトコルインタフェース708と通信する。第1のメディア再生プロトコルにおける制御コマンドは、制御情報726としてネットワーク接続を介して通信され得る。ストリーミングオーディオコンテンツ740も、ネットワーク接続を介して通信され得る。一部の例において、制御情報726は、オーディオコンテンツ740と共に通信され、他の例において、制御情報726は、オーディオコンテンツ740とは別に通信される。メディアソースデバイス702は、制御情報728及びオーディオコンテンツ742を介して、第2のネットワークデバイス714の第1のプロトコルインタフェース716と通信することができる。制御情報722及び726は、それぞれのネットワーク接続を介して送信し得ると共に、第1のネットワークデバイス706及び第2のネットワークデバイス714のメディア再生をそれぞれ制御するように構成し得る。
制御デバイス704は、第1のネットワークデバイス706及び第2のネットワークデバイス714に制御コマンド又は命令を送信するネットワークデバイスであってもよい。制御デバイス704は、図3の制御デバイス300と同様の構成要素を含み得る。一例において、制御デバイス704は、制御環境700用の専用コントローラであってもよい。他の例において、制御デバイス704は、iPhone(登録商標)、iPad(登録商標)、又は他の任意のスマートフォン、タブレット、若しくはネットワークデバイス等、メディア再生システムコントローラアプリケーションをインストールし得るネットワークデバイス又は他のコンピュータであってもよい。更に他の例において、制御デバイス704は、メディアソースデバイス702と同じデバイスであってもよい。言い換えると、制御デバイス704は、第1のメディア再生プロトコル746及び第2のメディア再生プロトコル748を用いるように構成し得る。制御デバイス704は、制御情報722及びオーディオ情報732を介して、第1のネットワークデバイス706の第2のプロトコルインタフェース710と通信する。制御情報722は、第1のネットワークデバイス706及び/又は第2のネットワークデバイス714でのメディア再生を制御する制御コマンドを含み得る。
一部の例において、第1のネットワークデバイス706及び第2のネットワークデバイス714は、第2のメディア再生プロトコル748でメディアを同期して再生するようにグループ化し得る。グループ内で、第1のネットワークデバイス706は、グループコーディネータとして機能し得る。グループコーディネータとして、第1のネットワークデバイス706は、制御デバイス704から制御情報を受信し、他のグループメンバに制御情報を送信することを担当し得る。例えば、第1のネットワークデバイス706がグループコーディネータとして機能しているとき、制御デバイス704は、再生コマンド等の追加の制御情報722を第1のネットワークデバイス706に送信し、第1のネットワークデバイス706は、制御情報を第2のネットワークデバイス714に通信し得る。例えば、第2のネットワークデバイス706を制御する制御コマンドは、第1のネットワークデバイス706の第2のプロトコルインタフェース710から第2のネットワークデバイス714の第2のプロトコルインタフェース718に対して送信し得る。
第1のネットワークデバイス706は、音声対応デバイス(VED)、ネットワークマイクロホンデバイス(NMD)、オーディオ再生デバイス(APD)、ビデオ再生デバイス(VPD)の何れか、又は他の任意のネットワークデバイス等のネットワークデバイスであってもよい。これらのデバイスは、1つ又は複数のマイクロホンと1つ又は複数のスピーカ及び/又はスピーカドライバとを任意に含み得る。第1のネットワークデバイス706は、第1のプロトコルインタフェース708、第2のプロトコルインタフェース710、及びメディアレンダラ712を含む。第1のネットワークデバイス706は、メディアソースデバイス702からオーディオコンテンツ740を受信し、制御デバイス704から制御情報722を受信するように構成し得る。第1のネットワークデバイス706は、更に、オーディオ情報732(例えば、アルバム情報、カバーアート、アーティスト情報、トラック名、ラジオ局名といったメタデータ等)を制御デバイス704に送信するように構成し得る。第1のネットワークデバイス706は、更に、第2のネットワークデバイス714との間で制御情報750を送信及び/又は受信するように構成し得る。
第1のプロトコルインタフェース708は、(i)メディアソースデバイス702により送信されたオーディオストリーム740内のメディア又はオーディオコンテンツを受信し、(ii)オーディオコンテンツ740を変換(例えば、復号、解凍、及び/又はデコード)し、(iii)変換されたオーディオ740をメディアレンダラ712に送信するように構成されたハードウェア及び/又はソフトウェアコンポーネントであってもよい。第1のプロトコルインタフェース708は、更に、(i)第2のプロトコルインタフェース710から制御情報724を受信し、(ii)オーディオ情報734を第2のプロトコルインタフェース710に送信するように構成し得る。第1のプロトコルインタフェース708は、更に、制御情報726をメディアソースデバイス702に送信するように構成し得る。
第2のプロトコルインタフェース710は、(i)制御デバイス704から制御情報722を受信し、(ii)オーディオ情報732を制御デバイス704に送信するように構成されたハードウェア及び/又はソフトウェアコンポーネントであってもよい。第2のプロトコルインタフェース710は、更に、(i)第1のプロトコルインタフェース708に制御情報724を送信し、(ii)第1のプロトコルインタフェース708からオーディオ情報734を受信するように構成し得る。第2のプロトコルインタフェース710は、更に、第2のプロトコルインタフェース718との間で制御情報750を送信及び/又は受信するように更に構成し得る。
メディアレンダラ712は、(i)第1のプロトコルインタフェース708からオーディオデータ738を受信し、(ii)再生のためにオーディオデータ738をレンダリングするように構成されたハードウェア及び/又はソフトウェアコンポーネントであってもよい。
第2のネットワークデバイス714は、音声対応デバイス(VED)、ネットワークマイクロホンデバイス(NMD)、オーディオ再生デバイス(APD)、ビデオ再生デバイス(VPD)の何れか、又は1つ又は複数のマイクと1つ又は複数のスピーカを備えた他の任意のネットワークデバイス等のネットワークデバイスであってもよい。第2のネットワークデバイス714は、第1のプロトコルインタフェース716、第2のプロトコルインタフェース718、及びメディアレンダラ720を含む。第2のネットワークデバイス714は、メディアソースデバイスからオーディオコンテンツ742を受信するように構成し得る。第1のネットワークデバイス706は、更に、第2の制御情報728をメディアソースデバイス702に送信するように構成し得る。第2のネットワークデバイス714は、更に、第1のネットワークデバイス706との間で制御情報750を送信及び/又は受信するように構成し得る。
第1のプロトコルインタフェース716は、(i)メディアソースデバイス702により送信されたオーディオコンテンツ742を受信し、(ii)オーディオコンテンツ742を変換(例えば、復号、解凍、及び/又はデコード)し、及び/又は(iii)変換されたオーディオコンテンツ742をメディアレンダラ720に送信するように構成されたハードウェア及び/又はソフトウェアコンポーネントであってもよい。第1のプロトコルインタフェース716は、更に、(i)第2のプロトコルインタフェース718から制御情報730を受信し、及び/又は(ii)オーディオ情報736を第2のプロトコルインタフェース718に送信するように構成し得る。第1のプロトコルインタフェース716は、更に、制御情報728をメディアソースデバイス702に送信するように構成し得る。
第2のプロトコルインタフェース718は、制御情報730を第1のプロトコルインタフェース716に送信するように構成されたハードウェア及び/又はソフトウェアコンポーネントであってもよい。第2のプロトコルインタフェース710は、更に、第2のプロトコルインタフェース710との間で制御情報750を送信及び/又は受信するように構成し得る。
メディアレンダラ720は、(i)第1のプロトコルインタフェース716からオーディオデータ744を受信し、(ii)再生のためにオーディオデータ744をレンダリングするように構成されたハードウェア及び/又はソフトウェアコンポーネントであってもよい。
第1のメディア再生プロトコル746は、メディアコンテンツを第1のネットワークデバイス706及び第2のネットワークデバイス714にストリーミングするためにメディアソースデバイス702により使用されるプロトコルのセット又はシステムであってもよい。再生に利用可能なネットワークデバイスを見つけるために、第1のメディア再生プロトコル746は、ディスカバリ段階を含み得る。制御デバイスは、ディスカバリメッセージ(例えば、mDNSメッセージ)をネットワーク上のデバイスに送信(例えば、ブロードキャスト、マルチキャスト、ユニキャスト)し得る。第1のネットワークデバイス706及び第2のネットワークデバイス714は、ディスカバリメッセージに応答することによりそれらのデバイス自体をアドバタイズし得る。メディアソースデバイス702は、ディスカバリ応答メッセージから、第1のネットワークデバイス706及び第2のネットワークデバイス714が第1のメディア再生プロトコル746をサポートすると判断し得る。例えば、ディスカバリ応答メッセージは、第1のメディア再生プロトコル746を、第1のネットワークデバイス706によりサポートされるプロトコルとして特定又は記載する情報を含み得る。
第1のネットワークデバイス706及び第2のネットワークデバイス714が第1のメディア再生プロトコル746をサポートすることを特定した後、メディアソースデバイス702は、第1のネットワークデバイス706との接続を(例えば、リアルタイムストリーミングプロトコル(RTSP)セットアップメッセージを介して)オープンし、第2のネットワークデバイス714との接続をオープンし得る。その後、メディアソースデバイス702は、ユニキャストストリームとなり得るオーディオストリーム(例えば、リアルタイムトランスポートプロトコル(RTP)ストリーム)を用いてオーディオコンテンツ740を送信し得る。オーディオコンテンツ740は、メタデータ(例えば、メディアコンテンツに関連する二次データ)を同じストリーム又は異なるストリームに任意に含めてよい。第1のネットワークデバイス706及び第2のネットワークデバイス714は、ユーザが第1のネットワークデバイス706、第2のネットワークデバイス714、制御デバイス704、又はメディアソースデバイス702上でコマンドを入力した場合、メディア再生制御(例えば、再生、一時停止、次のトラック、及び音量調整)をメディアソースデバイス702に送信し得る。
第2のメディア再生プロトコル748は、第1のネットワークデバイス706及び第2のネットワークデバイス714の様々な特徴を制御するために制御デバイス704により使用されるプロトコルのセット又はシステムであってもよい。第2のメディア再生プロトコル748は、再生デバイス200、制御デバイス300、コントローラインタフェース400、複数のネットワークデバイス500、及び/又はネットワークマイクロホンデバイス600が実施するものと同じ又は類似するプロトコルを含み得る。
動作中、メディアソースデバイス702は、オーディオコンテンツ740を第1のネットワークデバイス706にストリーミングし得る。オーディオコンテンツ740は、オーディオコンテンツ740に関する情報(例えば、曲のタイトル、ランタイム、アルバムアート、アーティスト、ラジオ局名等)を含むメタデータを含み得る。第1のネットワークデバイス706の第1のプロトコルインタフェース708は、オーディオコンテンツ740及びその対応するメタデータをメディアソースデバイス702から受信し得る。その後、第1のプロトコルインタフェース708は、オーディオコンテンツ740を復号、解凍、及び/又はデコードしてオーディオデータ738とし、オーディオデータ738を、レンダリング及び再生のためにメディアレンダラ712に送信し得る。第1のプロトコルインタフェース708は、オーディオ情報734を第2のプロトコルインタフェース710に送信し得る。オーディオ情報734は、第1のネットワークデバイス706の第1のプロトコルインタフェース708に対してオーディオコンテンツ740と共に送信される及び/又はオーディオコンテンツ740に対応するメタデータを含み得る。第2のプロトコルインタフェース710は、オーディオ情報732を制御デバイス704に送信し得る。オーディオ情報732は、第1のネットワークデバイス706が現在再生し得るオーディオコンテンツ740と共に送信される、及び/又はオーディオコンテンツ740に対応する、メタデータを含み得る。制御デバイス704は、現在再生中のメディアを特定するためにグラフィカルインタフェース上にオーディオ情報732を表示し得る。
メディアソースデバイス702は、更に、オーディオコンテンツ742をネットワークデバイス714に対して、オーディオストリーム(例えば、ユニキャストストリーム、マルチキャストストリーム)においてストリーミングし得る。オーディオコンテンツ742及びオーディオコンテンツ740は、同じメディアコンテンツを含んでよく、又は同じメディアコンテンツの異なる部分であってもよい。ネットワークデバイス706及びネットワークデバイス714は、オーディオコンテンツ740、742と共に含まれる再生タイミング情報を用いて、オーディオコンテンツ740、742を同期して再生し得る。例えば、ネットワークデバイス706及びネットワークデバイス714は、同期メディア再生のためにグループ化し得る。更に他の例として、第1のネットワークデバイス706及び第2のネットワークデバイス714がステレオペアとして動作するように構成される場合、第1のネットワークデバイス706は、「右」スピーカとして動作し、第2のネットワークデバイス714は、「左スピーカ」として動作し得る。一例において、オーディオコンテンツ740は、メディアコンテンツの「右」部分を表し、オーディオコンテンツ742は、メディアコンテンツの「左」部分を表し得る。他の例において、オーディオコンテンツ740及び742は、同じメディアコンテンツを含み得る。第1のネットワークデバイス706は、オーディオコンテンツ740の「右」部分を抽出及び再生し、第2のネットワークデバイス714は、オーディオコンテンツ742の「左部分」を抽出及び再生し得る。
次に、第2のネットワークデバイス714の第1のプロトコルインタフェース716は、メディアソースデバイス702からオーディオコンテンツ742及びその対応するメタデータを受信し得る。その後、第1のプロトコルインタフェース716は、オーディオコンテンツ742を復号、解凍、及び/又はデコードしてオーディオデータ744とし、オーディオデータ744を、レンダリング及び再生のためにメディアレンダラ720に送信し得る。第1のプロトコルインタフェース716は、オーディオ情報736を第2のプロトコルインタフェース718に送信し得る。オーディオ情報736は、第1のプロトコルインタフェース716に対してオーディオコンテンツ742と共に送信されるメタデータを含み得る。
第2のプロトコルインタフェース710は、第1のプロトコルインタフェース708からオーディオ情報734を受信した後、オーディオ情報734を第2のメディア再生プロトコル748に適合する形式に変換し、変換されたオーディオ情報をオーディオ情報732として制御デバイス704に送信する。一部の態様において、第2のプロトコルインタフェース710は、変換していないオーディオ情報734に適合していてもよく、又は第2のプロトコルインタフェース710は、オーディオ情報734を変換するように構成してもよい。制御デバイス704は、オーディオ情報734を受信し、これにより、制御デバイス704は、第1のネットワークデバイス706上で再生するメディアコンテンツをユーザに対して表示可能となる。これは、ユーザがメディアソースデバイス702によりメディアストリームを開始し、その後、制御デバイス704を介して再生しているものを見ることができるため、有益である。
ユーザは、例えば、メディアコンテンツを一時停止するために、制御デバイス704を介して再生コマンドを発行し得る。制御デバイス704は、第2のメディア再生プロトコル748に適合する形式で、一時停止コマンドを制御情報722の一部として第1のネットワークデバイス706の第2のプロトコルインタフェース710に送信し得る。第2のプロトコルインタフェース710は、一時停止コマンドを受信し、一時停止コマンドを第1のメディア再生プロトコル746に適合する形式に変換し得る。第2のプロトコルインタフェース710は、一時停止コマンドを制御情報724の一部として第1のプロトコルインタフェース708に送信し得る。第2のプロトコルインタフェース710は、更に、未変換の一時停止コマンドを、制御情報750の一部として第2のネットワークデバイス714の第2のプロトコルインタフェース718に送信し得る。第2のプロトコルインタフェース710から一時停止コマンドを受信した後、第2のプロトコルインタフェース718は、一時停止コマンドを第1のメディア再生プロトコル746に適合する形式に変換し得る。第2のプロトコルインタフェース718は、変換された一時停止コマンドを、制御情報730の一部として第1のプロトコルインタフェース716に送信し得る。例えば、第2のプロトコルインタフェース710は、一時停止コマンドをUPnPメッセージとして受信し、再生を一時停止する命令を第1のプロトコルインタフェース708に送信し得ると共に、第1のプロトコルインタフェース708は、一時停止命令をRTSP要求として送信し得る。RTSP要求は、現在の再生セッションを識別するセッション識別子を含み得る。セッション識別子は、セッションのユニバーサルユニーク識別子(UUTD)、クライアントインスタンス情報、又はDACP-ID等のメディアストリームを識別する番号又は文字列であってもよい。
第1のプロトコルインタフェース708は、第2のプロトコルインタフェース710から制御情報724を介して一時停止コマンドを受信し、一時停止コマンドを制御情報726の一部としてメディアソースデバイス702に送信し得る。同様に、第1のプロトコルインタフェース716は、第2のプロトコルインタフェース718から制御情報730の一部として一時停止コマンドを受信し、一時停止コマンドを制御情報728の一部としてメディアソース702に送信し得る。
メディアソースデバイス702は、第1のネットワークデバイス706から制御情報726を介して、第2のネットワークデバイス714から制御情報728を介して、一時停止コマンドを受信し得る。一時停止コマンドを受信した後、メディアソースデバイス702は、第1のネットワークデバイス706及び第2のネットワークデバイス714へのそれぞれのオーディオコンテンツ740及びオーディオコンテンツ742の送信を一時的に停止し得る。
本明細書に記載のシステム及び方法は、2つのネットワークデバイス(第1のネットワークデバイス706及び第2のネットワークデバイス714)に関連して説明されるが、方法及び相互作用は、任意の数のネットワークデバイス(例えば、1つのみのネットワークデバイス又は3つ以上のネットワークデバイス)を含むメディア再生システムに対して同様に適用可能となる。
III.システムと方法の例
複数のメディア再生プロトコルに適合するネットワークメディアシステムの一課題は、同期再生用に構成されたグループ化されたネットワークデバイスに対して、メディアを効果的に表示及びストリーミングできないことであり得る。ネットワークデバイスは、互いに同期してメディアストリームを再生するように構成されているときに、グループに含まれ得る。1つのメディア再生プロトコルは、他のメディア再生プロトコルに適合しない特定の方法(ネットワークトポロジ等)で、ネットワークデバイスをグループ化する場合がある。したがって、ユーザが、最初にネットワークデバイスをグループ化するために使用されたものとは異なるメディア再生プロトコルを用いるデバイスを使用して、グループ化されたネットワークデバイスに対してメディアのストリーミングを試みた場合、デバイスは、制御デバイスのインタフェース上にネットワークデバイスのグループを正確に表示しない可能性があり、このためメディアの再生を制御できなくなる恐れがある。
この潜在的な問題に対処するために、一部の例では、ネットワークメディアシステムが、(i)特定のメディア再生プロトコルを用いて1つ又は複数のネットワークデバイスを含むグループを形成し、(ii)同じメディア再生プロトコルを用いてグループのグループコーディネータを決定し、(iii)特定のメディア再生プロトコルに適合していないメディアソースデバイスに対して、異なるメディア再生プロトコルを用いてグループネットワークIDを送信することが望ましい場合がある。ネットワークメディアシステムは、図1乃至7において説明したシステム及び方法の様々な態様を用いてグループを形成し得る。これにより、ネットワークメディアシステムが1つ又は複数のネットワークデバイスをグループ化するために使用したものとは異なるメディア再生プロトコルをメディアソースデバイスが使用しても、ユーザは、メディアを表示してネットワークデバイスのグループに対してストリーミングし得る。動作中、ネットワークメディアシステムは、1つのメディア再生プロトコルを介してグループ内のネットワークデバイスと通信し、他のメディア再生プロトコルを介してメディアソースデバイスと通信する能力を有し得る。
本明細書の説明の目的で、「ネットワークメディアシステム」は、「メディア再生システム」及び/又は「メディアシステム」と呼ばれる場合がある。これらの呼び方は、限定を意図したものではなく、ネットワークメディアシステム、メディアソースデバイス、及び制御デバイスの間の相互作用を説明する際の有効性のためにのみ使用される。
例えば、特定のメディア再生プロトコル(例えば、ネットワークトポロジ)を用いるネットワークメディアシステムは、1つ又は複数のネットワークデバイスをグループ化して、互いに同期してメディアを再生し得る。ネットワークメディアシステムは、(i)1つのメディア再生プロトコル(例えば、Sonos(登録商標)コントローラ)に関連付けられたインタフェース、又は(ii)ネットワークデバイスの1つ又は複数における手動入力を介した、ユーザからのコマンドに応答して、1つ又は複数のネットワークデバイスをグループ化し得る。ユーザは、その後、異なるメディア再生プロトコルを用いるメディアソースデバイス(例えば、Airplay(登録商標)を用いるiPhone(登録商標))を使用して、メディアコンテンツをネットワークデバイスのグループにストリーミングしたい場合がある。メディアソースデバイスは、1つ又は複数のネットワークデバイスをグループ化するために使用されたメディア再生プロトコルとは異なるメディア再生プロトコルを用いるため、メディアソースデバイスとメディアソースデバイスのメディア再生プロトコルに関連付けられたインタフェースとは、ネットワークデバイスがメディアを同期して再生していても、ネットワークデバイスを同期再生用にグループ化したものとして反映しない場合がある。
ネットワークメディアシステムは、グループを形成するために使用されたものと同じメディア再生プロトコルを用いてグループのグループコーディネータを決定し得る。グループコーディネータは、(i)メディアソースデバイスからメディアストリームを受信すること、(ii)ネットワークメディアシステム内の他のネットワークデバイスにメディアストリームを送信すること、(iii)制御デバイスからコマンドを受信すること、及び/又は(iv)ネットワークメディアシステム内の他のネットワークデバイスにコマンドを送信することを担当し得る。これによりグループコーディネータは、メディアソースデバイスからの全てのメディアストリームのタイミングと同期を制御し、制御デバイスから受信したコマンドを実行することができるため、有益となり得る。
ネットワークメディアシステムは、ネットワークデバイスのグループのグループコーディネータを決定した後、メディアソースデバイスに適合するメディア再生プロトコルを用いて、メディアソースデバイスにグループネットワークIDを送信し得る。ネットワークメディアシステムから受信したグループネットワークIDに基づいて、メディアソースデバイスは、第1のメディア再生プロトコルに関連付けられたユーザインタフェースにおいて、グループネットワークIDを表示し得る(例えば、iPhone(登録商標)のユーザインタフェースによりネットワークデバイスのグループを表示する)。これにより、メディアソースデバイスは、ネットワークデバイスを最初にグループ化するために使用されたものとは異なるメディア再生プロトコルのインタフェース上で、ユーザに対してグループを正確に表示し得る。動作中、メディアソースデバイスは、メディアソースデバイスに適合するメディア再生プロトコルを用いて、ディスカバリメッセージをネットワークメディアシステムに送信(例えば、ブロードキャスト、マルチキャスト、ユニキャスト)して、利用可能なネットワークデバイスからの応答を要求し、グループ化ネットワークデバイスに、ディスカバリメッセージブロードキャストに対してネットワークを介してグループネットワークIDにより応答させる。ディスカバリメッセージブロードキャストに対してグループネットワークIDにより応答することで、メディアソースデバイスに適合するメディア再生プロトコル内には、新しいレコードが形成され、メディアソースデバイスは、メディアコンテンツのストリーミング時にネットワークデバイスのグループを選択可能となり得る。一例では、グループ名に対する新たなmDNSレコードを追加し得ると共に、新たなmDNSレコードをmDNSディスカバリ応答メッセージに含め得る。
例えば、図7のメディア再生システム700において、第1のネットワークデバイス706及び第2のネットワークデバイス714は、第2のメディア再生プロトコル748に従ってメディア再生システム700によりグループ化し得る。メディア再生システム700は、第2のメディア再生プロトコル748に基づいて、第1のネットワークデバイス706及び第2のネットワークデバイス714を含むグループのグループコーディネータが第1のネットワークデバイス706であると判断し得る。メディア再生システム700は、第1のメディア再生プロトコル746を用いて、グループネットワークIDをメディアソースデバイス702に送信し得る。
一部の例において、ネットワークメディアシステムがグループネットワークIDを送信することは、グループ内の1つ又は複数のネットワークデバイスに、グループネットワークIDをメディアソースデバイスへ送信させることを含む。グループネットワークIDは、ネットワークデバイスのうち1つのデバイスのネットワークデバイスIDと、グループ内のネットワークデバイスの数より1つ少ない数とを含み得る。例えば、ネットワークメディアシステムは、3つのネットワークデバイスとして、ネットワークデバイスID「キッチン」を有する第1のネットワークデバイス、ネットワークデバイスID「リビングルーム」を有する第2のネットワークデバイス、及びネットワークデバイスID「浴室」を有する第3のネットワークデバイスを含み得る。3つのネットワークデバイスは、同期再生用にグループ化させ、ネットワークメディアシステムは、第1のネットワークデバイスに、グループネットワークID「キッチン+2」をメディアソースデバイスへ送信させてよく、これにより第1のネットワークデバイスのネットワークIDとグループ内の他のネットワークデバイスの数とが明らかになり得る。動作中、第1のネットワークデバイスは、ネットワークを介して送信されたディスカバリメッセージに対してグループネットワークIDで応答することにより、メディアソースへグループネットワークIDを送信し得る。ネットワークデバイスIDは、再生選択用のインタフェースに表示されるネットワークデバイス、ゾーン、又はネットワークデバイスのグループの名称であってもよい。一部の態様において、第2のメディア再生プロトコルにおけるグループ識別子を、グループネットワークIDにマッピングし、ディスカバリ応答メッセージに含めてもよい。第2のメディア再生プロトコルにおけるグループ識別子間のマッピングは、ネットワークメディアシステムの状態情報に保存し得る。
一部の例において、ネットワークメディアシステムがグループネットワークIDを送信することは、各ネットワークデバイスに、その対応するネットワークデバイスIDをメディアソースデバイスへ送信させることを含む。状況により、対応するネットワークIDは、ネットワークデバイスがグループ内にあることを示すインジケーションを含み得る。これは、グループに含まれる全てのネットワークデバイスを、特定のグループ内にあることを示すインジケーションと共にユーザに示し得るため、有益となり得る。グループインジケーションは、ネットワークデバイスのネットワークデバイスIDの隣の「(G)」又は他のグループインジケーションアイコン等のグループマーカを含んでよく、又はグループ内の全てのネットワークデバイスを含んでもよい。
例えば、ネットワークメディアシステムは、3つのネットワークデバイスとして、ネットワークデバイスID「キッチン」を有する第1のネットワークデバイス、ネットワークデバイスID「リビングルーム」を有する第2のネットワークデバイス、及びネットワークデバイスID「浴室」を有する第3のネットワークデバイスを含み得る。ネットワークメディアシステムは、第1のネットワークデバイス、第2のネットワークデバイス、及び第3のネットワークデバイスのそれぞれに、それぞれのネットワークIDを、ネットワークデバイスがグループ内であることを示すインジケーションと共に、メディアソースデバイスへ送信させ得る(例えば、ディスカバリメッセージブロードキャストに対して応答させ得る)。したがって、第1のネットワークデバイスは、「キッチン(G)」又は「キッチン(リビングルーム及び浴室とグループ化)」をメディアソースデバイスへ送信し得る。動作中、ユーザは、グループインジケーションを有するネットワークデバイスの何れかを選択して、第1のメディア再生プロトコルを用いてグループ全体にメディアをストリーミングし得る。
一部の例において、ネットワークメディアシステムがグループネットワークIDを送信することは、グループ内の1つ又は複数のネットワークデバイスに、グループネットワークIDをメディアソースデバイスへ送信させることを含む。グループネットワークIDは、グループネットワークIDを送信するネットワークデバイスのネットワークデバイスIDと、グループネットワークIDを送信しないネットワークデバイスのネットワークデバイスIDとを含み得る。グループネットワークIDを送信するネットワークデバイスは、そのネットワークデバイスIDをグループネットワークIDと共に送信してもよい。例えば、ネットワークメディアシステムは、3つのネットワークデバイスとして、ネットワークデバイスID「キッチン」を有する第1のネットワークデバイス、ネットワークデバイスID「リビングルーム」を有する第2のネットワークデバイス、及びネットワークデバイスID「浴室」を有する第3のネットワークデバイスを含み得る。ネットワークメディアシステムは、第1のネットワークデバイスに、グループネットワークID「キッチン+リビングルーム+浴室」をメディアソースデバイスへ送信させ得る(例えば、ディスカバリメッセージブロードキャストに対して応答させ得る)。第1のネットワークデバイスは、ネットワークデバイスID「キッチン」を送信し得る。これによりユーザは、ネットワークデバイス(例えば、キッチン)のみを表示又は選択可能となり、又は全てのネットワークデバイスが第1のネットワークデバイスとグループ化(例えば、キッチン+リビングルーム+浴室)されるため、有益となり得る。
一部の例において、ネットワークメディアシステム内のネットワークデバイスの少なくとも1つは、どのネットワークデバイスがグループネットワークIDをメディアソースデバイスに送信すべきかを判断し得る。ネットワークデバイスは、ネットワークデバイスのネットワークデバイスIDを比較することにより、どのネットワークデバイスがグループネットワークIDをメディアソースデバイスに送信すべきかを判断し得る。ネットワークデバイスがネットワークデバイスのネットワークIDを比較することは、どのネットワークデバイスのネットワークデバイスIDがグループ内の他のネットワークデバイスよりも低い番号又は小さい文字列を有するかを特定することを含み得る。
例えば、図7において、第1のネットワークデバイス706は、第1のネットワークデバイスID「0103」を有し得ると共に、第2のネットワークデバイス714は、第2のネットワークデバイスID「0921」を有し得る。この例において、第1のネットワークデバイスID「0103」は、第2のネットワークデバイスID「0921」よりも低い。第1のネットワークデバイスIDが第2のネットワークデバイスIDよりも低いため、第1のネットワークデバイスは、第1のネットワークデバイスIDがグループネットワークIDをメディアソースデバイスへ送信すべきであると判断し得る。この判断は、メディアソースデバイスからディスカバリメッセージを受信する前に及び/又は受信することに応答して実行し得る。
一部の例において、制御デバイスは、グループ内のどのネットワークデバイスがグループネットワークIDをメディアソースデバイスへ送信するかを判断する。制御デバイスは、メディアソースデバイスとは異なるメディア再生プロトコルを用いるネットワークデバイスに制御コマンド又は命令を送信するネットワークメディアシステムの一部であるネットワークデバイスにし得る。制御デバイスは、図7の制御デバイス704と同様に構成し得ると共に、実質的に同じように動作し得る。制御デバイスは、グループが形成及び/又は修正されたとき(例えば、ネットワークデバイスをグループで追加又は削除する時)、グループ内のどのネットワークデバイスがグループネットワークIDをメディアソースデバイスへ送信するかを判断し得る。
例えば、図7において、ユーザは、第1のネットワークデバイス706及び第2のネットワークデバイス714をグループ化するグループコマンドを、制御デバイス704を介して発行し得る。グループコマンドを受信することに基づいて、制御デバイス704は、(i)第1のネットワークデバイス706がグループネットワークIDを送信すべきであると判断し、(ii)グループコマンドを制御情報722の一部として第1のネットワークデバイス706へ送信し得る。制御情報722は、第1のネットワークデバイス706にグループネットワークIDをメディアソースデバイス702へ送信させる命令を含み得る。第1のネットワークデバイス706は、(i)第2のプロトコルインタフェース710を介してグループコマンドを受信し、(ii)第1のネットワークデバイス706がグループ内にあることを反映してメディア再生システム700内のグループ状態変数を更新し、及び/又は(iii)グループコマンドを制御情報750の一部として第2のネットワークデバイス714へ送信し得る。第2のネットワークデバイス714は、第2のプロトコルインタフェース718を介して、(i)グループコマンドを制御情報750と共に受信し、(ii)第2のネットワークデバイス714がグループ内にあることを反映してメディア再生システム700内のグループ状態変数を更新する。
一部の例において、ネットワークメディアシステムのグループコーディネータは、グループ内のどのネットワークデバイスがグループネットワークIDをメディアソースデバイスへ送信するかを判断する。グループ内に1つのネットワークデバイス(例えば、グループコーディネータ)に、グループネットワークIDを送信すべきネットワークデバイスの判断を担当させることにより、グループネットワークIDをメディアソースデバイスへ送信するプロセスがより効率的且つ合理的となるため、これは有益となり得る。
例えば、ネットワークメディアシステムは、3つのネットワークデバイスとして、ネットワークデバイスID「キッチン」を有する第1のネットワークデバイス、ネットワークデバイスID「リビングルーム」を有する第2のネットワークデバイス、及びネットワークデバイスID「浴室」を有する第3のネットワークデバイスを含み得る。ネットワークメディアシステムは、第1のネットワークデバイスが、3つのネットワークデバイスを含むグループのグループコーディネータであると判断し得る。第1のネットワークデバイスは、グループ内のどのネットワークデバイスがグループネットワークIDを送信するかを判断し得る。
一部の例において、ネットワークメディアシステムがグループコーディネータを決定することは、どのネットワークデバイスがメディアソースデバイスからメディアストリームを受信することが可能かを判断し、その後、ネットワークデバイスの1つがメディアストリームを受信することが可能であるとの判断に基づいて、そのネットワークデバイスがグループコーディネータであると判断することを含む。例えば、ネットワークメディアシステムは、メディアソースデバイスからメディアを受信してストリーミングするようにグループとして構成された第1のネットワークデバイス及び第2のネットワークデバイスを有し得る。グループは、第1のメディア再生プロトコルを用いて構成し得ると共に、メディアソースデバイスは、第2のメディア再生プロトコルに従ってメディアをストリーミングするように構成し得る。ネットワークメディアシステムは、(i)第1のネットワークデバイスが、第2のメディア再生プロトコルを用いるメディアソースデバイスからメディアストリームを受信可能であると判断し、(ii)第2のネットワークデバイスが、第2のメディア再生プロトコルを用いるメディアソースデバイスからメディアストリームを受信可能ではないと判断し、(iii)第1のネットワークデバイスが第2のメディア再生プロトコルを用いるメディアソースデバイスからメディアストリームを受信可能であるとの判断に基づいて、第1のネットワークデバイスがグループコーディネータであると判断し得る。
例えば、図7において、ユーザは、第1のメディア再生プロトコル746を用いるインタフェースにおいて、メディアソースデバイス702からメディアをストリーミングするコマンドを発行し得る。メディア再生システム700は、第1のネットワークデバイスが第1のプロトコルインタフェース708を介してオーディオコンテンツ740を受信可能であり、第2のネットワークデバイス714が第1のプロトコルインタフェース716を介してオーディオコンテンツ742を受信可能ではないと判断し得る。一部の態様において、第2のネットワークデバイス714は、第1のプロトコルインタフェース716を有するように構成されない場合がある。この判断に基づいて、メディア再生システム700は、第1のネットワークデバイス706がグループコーディネータであると判断し得る。
一部の例において、ネットワークメディアシステムがグループコーディネータを決定することは、(i)メディアソースデバイスからグループ内のネットワークデバイスの1つを介して、ネットワークデバイスでのメディア再生を開始するコマンドを受信すること、及び(ii)そのネットワークデバイスでのメディア再生を開始するコマンドを受信することに応答して、ネットワークデバイスがグループコーディネータであると判断することを含み得る。これにより、ネットワークメディアシステムは、特定のネットワークデバイスでのメディア再生を開始するユーザのコマンドに応答して、グループコーディネータを動的に決定し得る。
例えば、ネットワークメディアシステムは、3つのネットワークデバイスとして、ネットワークデバイスID「キッチン」を有する第1のネットワークデバイス、ネットワークデバイスID「リビングルーム」を有する第2のネットワークデバイス、及びネットワークデバイスID「浴室」を有する第3のネットワークデバイスを含み得る。ユーザは、第1のネットワークデバイスでのメディア再生を開始するコマンドを発行し得る。ネットワークメディアシステムは、ユーザによる第1のネットワークデバイスの選択に基づいて、第1のネットワークデバイスがグループコーディネータであると判断し得る。
一部の例において、そのネットワークデバイスでのメディア再生を開始するコマンドをメディアソースデバイスから受信することに基づいて、ネットワークデバイスがグループコーディネータであると判断した後、ネットワークメディアシステムは、更に、(i)グループコーディネータを介して、メディアデバイスから、メディアストリームを受信し、(ii)グループコーディネータを介してグループの他のメンバに、再生用のメディアストリームを送信し得る。グループコーディネータは、メディアストリームを受信し、メディアストリームをグループ内の他のネットワークデバイスに送信するときに、メディア再生の同期を制御することができるため、これは有益となり得る。
状況により、ユーザは、第1のメディア再生プロトコルのインタフェースを用いるメディアソースデバイスを介して、第2のメディア再生プロトコルを用いて形成されたネットワークデバイスのグループへ、メディアコンテンツをストリーミングしたい場合がある。しかしながら、メディアソースデバイスは、ネットワークデバイスをグループ化するために使用した第2のメディア再生プロトコルに適合していないため、グループに対してストリーミングできない場合がある。この潜在的な問題を克服するために、制御デバイスに対応する第2のメディア再生プロトコルは、第1のメディア再生プロトコルを用いるメディアソースデバイスからのメディアストリーミングを有効にする設定を有し得る。例えば、設定は、有効にした際にメディアソースデバイスが第2のメディア再生プロトコルを用いて形成されたグループに対してメディアコンテンツをストリーミングすることが可能となる、「グループ化されたゾーンを含める」オプションを含み得る。一部の態様において、ユーザが「グループ化されたゾーンを含める」再生設定を制御デバイスにおいて有効にすると、メディアソースデバイスは、メディアコンテンツを特定のネットワークデバイスにストリーミングし得ると共に、特定のネットワークデバイスは、第2のメディア再生プロトコルを用いてグループ内の他のネットワークデバイスにメディアストリームを送信し得る。
一部の例において、上述した「グループ化されたゾーンを含める」機能をユーザが有効にすると、ネットワークメディアシステム内の第1のネットワークデバイスは、メディアソースデバイスから、第1のメディア再生プロトコルを用いてメディアストリームを受信し得るようになり、ここで、メディアソースデバイス及び第1のネットワークデバイスは、第1のメディア再生プロトコル及び第2のメディア再生プロトコルを用いるように構成され、第1のメディア再生プロトコルと第2のメディア再生プロトコルは互換性がなく、第1のメディア再生プロトコルは、第1のメディア再生プロトコルを含む。第1のネットワークデバイスは、更に、第2のネットワークデバイスから、第2のメディア再生プロトコルを用いて第1のネットワークデバイスと共にグループに参加するインジケーションを受信し得る。第1のネットワークデバイスは、更に、第1のメディア再生プロトコルを用いて第1のネットワークデバイス及び第2のネットワークデバイスを含むグループを形成し得る。
例えば、図7において、ユーザは、第2のメディア再生プロトコル748によるインタフェースにおいて、制御デバイス704で「グループ化されたゾーンを含める」設定を有効にし得る。制御デバイス704は、「グループ化されたゾーンを含める」設定が有効であることを示すインジケーションを、第1のネットワークデバイス706に制御情報722を介して送信し得る。第1のネットワークデバイス706は、制御情報750を介して、インジケーションを第2のネットワークデバイス714に転送し得る。第1のネットワークデバイス706は、更に、第1のプロトコルインタフェース708を介して、メディアソースデバイス702にインジケーションを送信し得る。メディアソースデバイス702は、第1のプロトコルインタフェース708を介して、第1のネットワークデバイス706へのオーディオコンテンツ740のストリーミングを開始し得る。その後、ユーザは、第2のネットワークデバイス714に対して、第1のネットワークデバイス706と共にグループに参加させるコマンドを発行し得る。コマンドに応答して、第1のネットワークデバイス706は、第2のメディア再生プロトコル748に従って、第2のネットワークデバイス714と共にグループを形成し得る。
一部の例において、ユーザが「グループ化されたゾーンを含める」機能を有効にすると、第2のメディア再生プロトコルに対応するネットワークトポロジ内の各ネットワークデバイスのグループ状態変数を、第1のメディア再生プロトコルを用いてメディアソースデバイスに送信されるそれぞれのネットワークIDに含め得る。例えば、ユーザが「グループ化されたゾーンを含める」設定を有効にし、第1のネットワークデバイスと第2のネットワークデバイスを含む第2のメディア再生プロトコルにおけるグループが形成された場合、第1及び第2のネットワークデバイスは、そのグループ状態変数(例えば、「リビングルームとグループ化された」キッチン)を送信して(例えば、ディスカバリメッセージブロードキャストに応答して)、メディアソースデバイスに対してネットワークデバイスが属するグループを示し得ると共に、グループ状態変数に加えて個々のネットワークデバイスIDを送信し得る。「グループ化されたゾーンを含める」機能が有効ではない場合、第1及び第2のネットワークデバイスは、個々のネットワークデバイスIDを送信し、グループ状態情報をメディアソースデバイスに送信しなくてもよい。
一部の例において、グループに参加するインジケーションは、第2のネットワークデバイスからの、第1のネットワークデバイスと共にグループに参加するメッセージであってもよい。メッセージは、第2のメディア再生プロトコルのインタフェースでのグループに参加させるユーザのコマンドに応答して、第2のネットワークデバイスからメディアソースデバイスへ送信され得る。メッセージは、メディアソースデバイスとの同期再生のために第1のネットワークデバイスが受信したものと同じオーディオコンテンツを、メディアソースデバイスにより第2のネットワークデバイスに送信させる第1のメディア再生プロトコル要求にし得る。メッセージは、第1のネットワークデバイスの再生セッションのセッション識別子及び/又は第2のネットワークデバイスのネットワークデバイスIDを含み得る。
一部の例において、グループに参加するインジケーションは、第2のネットワークデバイスのローカルインタフェースからの、第1のネットワークデバイスと共にグループに参加するコマンドを含み得る。第2のネットワークデバイスのローカルインタフェースは、他のネットワークデバイスとのグループ化を容易にするように構成されたハードウェアコンポーネントを含み得る。例えば、第2のネットワークデバイスは、ユーザにより押圧及び保持された際に、ネットワーク上に形成された最後のグループに参加するボタンを有し得る。動作中、ユーザがボタンを押圧及び保持したとき(例えば、最後に形成されたグループに参加するコマンドを発行した時)、第2のネットワークデバイスは、第1のネットワークデバイスに対して、グループに参加するインジケーションを送信し得る。
一部の例において、第1のネットワークデバイスは、(i)第2のネットワークデバイスが第1のメディア再生プロトコルを用いるメディアソースデバイスからのメディアストリームを受信することが可能であると判断し、(ii)第2のネットワークデバイスが第1のメディア再生プロトコルを用いるメディアソースデバイスからのメディアストリームを受信することが可能であるという判断に応答して、第2のネットワークデバイスにメディアストリームを送信するコマンドをメディアソースデバイスへ送信し得る。これは、グループ内の他のネットワークデバイスとメディアストリームを送受信する上で、第1のネットワークデバイスのリソースが限られている状況において有益となり得る。これにより、第1のネットワークデバイスは、メディアソースデバイスに対してコマンドを発行し、第2のネットワークデバイスが第1のメディア再生プロトコルに適合していることをメディアソースデバイスに通知し、第2のネットワークデバイスに対してメディアコンテンツを直接ストリーミングするようにメディアソースデバイスに指示することができる。
例えば、図7において、第1のネットワークデバイス706は、第2のネットワークデバイス714がメディアソースデバイス702からオーディオコンテンツ742を受信可能であると判断し得る。第1のネットワークデバイス706は、第2のネットワークデバイス714が第1のプロトコルインタフェース716を有すると判断することにより、第2のネットワークデバイス714がオーディオコンテンツ742を受信可能であると判断し得る。第2のネットワークデバイス714がメディアソースデバイス702からオーディオコンテンツ742を受信可能であると判断することに応答して、第1のネットワークデバイス714は、第1のプロトコルインタフェース708を介して、メディアソースデバイス702に、第2のネットワークデバイス714へのオーディオコンテンツ742のストリーミングを開始するコマンドを送信し得る。
状況によっては、グループを形成した後、1つ又は複数のネットワークデバイスをグループから削除することが望ましい場合がある。一部の例において、第1のネットワークデバイスは、(i)グループから第1のネットワークデバイスを削除するコマンドを受信し、(ii)コマンドを受信することに応答して、メディアソースデバイスから切断するコマンドをメディアソースデバイスに送信し得る。第1のネットワークデバイスは、コマンドを受信することに応答して、メディアストリームの再生を停止し得る。第1のメディア再生プロトコルにおいてネットワークデバイスのグループ化を解除することを、第2のメディア再生プロトコルにおいてネットワークデバイスのグループ化を解除することと異なるものにし得るため、これは有益となり得る。例えば、第1のメディア再生プロトコルにおいてネットワークデバイスのグループ化を解除することは、メディアソースデバイスに「切断」メッセージを送信することを含み得る一方、第2のメディア再生プロトコルにおいてネットワークデバイスのグループ化を解除することは、グループを離れるネットワークデバイスがグループに含まれなくなったことを反映するためグループ状態変数を変更すること及び/又はネットワークトポロジを更新することを含み得る。
例えば、図7において、ユーザは、制御デバイス704を介して、第1のネットワークデバイス706をグループからグループ解除するコマンドを発行し得る。制御デバイス704は、グループ解除コマンドを制御情報722と共に第1のネットワークデバイス706の第2のプロトコルインタフェース710に送信し得る。第2のプロトコルインタフェース710は、グループ解除コマンドを第1のメディア再生プロトコル746に適合するように変換し、変換されたグループ解除コマンドを制御情報724の一部として第1のプロトコルインタフェース708に送信し得る。変換されたグループ解除コマンドは、第1のメディア再生プロトコル746における切断コマンドにし得る。第1のネットワークデバイス706は、第1のプロトコルインタフェース708を介して、(i)切断コマンドを制御情報726の一部としてメディアソースデバイス702に送信し、(ii)メディアレンダラ712へのオーディオデータ738の送信を停止し、メディアコンテンツの再生を停止し得る。第1のネットワークデバイス706は、メディアソースデバイス702から切断コマンドを再び受信する前に、及び/又はメディアソースデバイス702がオーディオコンテンツ740の送信を停止する前に、メディアレンダラ712へのオーディオデータ738の送信を停止し得る。
複数のメディア再生プロトコルに適合するメディア再生システムの別の課題は、同期再生用に構成されたグループ化されたネットワークデバイスを効果的に制御できないことであり得る。ネットワークデバイス群は、互いに同期してメディアストリームを再生するように構成されている場合にグループ内に存在し得る。あるメディア再生プロトコルは、他のメディア再生プロトコに適合しない特定の方法(例えば、ネットワークトポロジ)でネットワークデバイスをグループ化する場合がある。したがって、ユーザが、最初にネットワークデバイスをグループ化するために使用されたものとは異なるメディア再生プロトコルを用いるデバイスを使用して、グループ化ネットワークデバイスの制御を試みた場合、ユーザは、そのデバイスを用いてネットワークデバイスを効果的に制御できない場合がある。
この潜在的な問題に対処するために、一部の例では、メディア再生システム内の第1のネットワークデバイスが(i)メディアシステム内の第1のネットワークデバイス及び第2のネットワークデバイスが、あるメディア再生プロトコルを用いるメディアソースデバイスから同じメディアストリームを受信していると判断し、(ii)異なるメディア再生プロトコルを用いる制御デバイスに対して、第1ネットワークデバイスと第2ネットワークデバイスがグループ内にあることを示すインジケーションを送信することが望ましい場合がある。これにより、ユーザは、メディアソースデバイス及び制御デバイスにより使用されるメディア再生プロトコルに関係なく、グループへのメディア再生を制御できるようになるため、制御デバイスのメディア再生プロトコルと互換性のないメディア再生プロトコルを用いるメディアソースデバイスからメディアストリームが開始される状況において有益となり得る。
例えば、ユーザは、特定のメディア再生プロトコルを用いるメディアソースデバイス(例えば、Airplay(登録商標)を用いるiPhone(登録商標))を使用して、メディアコンテンツを2つのネットワークデバイスにストリーミングし得る。その後、ユーザは、異なるメディア再生プロトコルを用いる制御デバイス(例えば、Sonos(登録商標)コントローラ)を介して、メディアコンテンツを制御(例えば、一時停止、次の曲にスキップ等)したい場合がある。2つのネットワークデバイスの一方は、両方のネットワークデバイスが同じメディアストリームを受信していると判断し、2つのネットワークデバイスがグループ内にあることを示すインジケーションを、異なるメディア再生プロトコルに関連付けられた制御デバイスに送信し得る。その後、ユーザは、制御デバイスを介してメディアコンテンツを一時停止し得る。2つのネットワークデバイスがグループ内にあることを示すインジケーションを制御デバイスが受信したため、制御デバイスは、2つのネットワークデバイスに対して、メディアコンテンツを一時停止する再生コマンドを発行することができる。
2つのネットワークデバイスの一方は、共通ストリーム特性を特定することにより、2つのネットワークデバイスがグループ内にあると判断し得る。例えば、第1のネットワークデバイスは、第1のメディアストリームと第2のメディアストリームとの間の共通ストリーム特性を判断することにより、第1のネットワークデバイス及び第2のネットワークデバイスが同じメディアストリームを受信していると判断し得る。共通ストリーム特性は、(i)第1のメディアストリーム識別子が第2のメディアストリーム識別子と同一であると判断すること、及び/又は(ii)第1のメディアストリーム及び第2のメディアストリームが同じメディアソースデバイスに由来すると判断することを含み得る。一部の態様において、共通ストリーム特性は、第1のメディア再生プロトコルに特有のストリーム特性であってよい。
一部の例において、第1のネットワークデバイスは、第1のメディアストリーム識別子が第2のメディアストリーム識別子と同一であると判断することにより、第1のメディアストリームと第2のメディアストリームとの間の共通ストリーム特性の存在を判断し得る。第1のネットワークデバイスは、(i)第1のネットワークデバイスが第1のメディアストリーム及び第1のメディアストリーム識別子を受信した後、第2のネットワークストリームに第2のメディアストリーム識別子を送信させること、及び(ii)第2のメディアストリーム識別子を第1のメディアストリーム識別子と比較することにより、第1のメディアストリーム識別子が第2のメディアストリーム識別子と同一であると判断する。
例えば、図7において、メディアソースデバイス702は、オーディオコンテンツ740を第1のネットワークデバイス706に、オーディオコンテンツ742を第2のネットワークデバイス714に送信し得る。オーディオコンテンツ740及び742は、曲のタイトル、ランタイム、アルバムアート、アーティスト、ラジオ局名等を含むメタデータを含み得る。オーディオコンテンツ740及び742は、更に、それぞれのメディアストリームのセッション識別子を含む第1のメディアストリーム識別子及び第2のメディアストリーム識別子を含み得る。セッション識別子は、再生セッション全体で同じにしてよい。セッション識別子は、セッションのユニバーサルユニーク識別子(UUTD)、クライアントインスタンス情報、又はDACP-ID等のメディアストリームを識別する番号又は文字列であってもよい。第1のネットワークデバイス706が第1のメディアストリーム識別子と共にオーディオコンテンツ740を受信すると、第1のネットワークデバイス706は、第2のネットワークデバイス714にオーディオコンテンツ742に関連する第2のメディアストリーム識別子を送信することを要求するメッセージを第2のネットワークデバイス714へ送信し得る。オーディオコンテンツ742に関連する第2のメディアストリーム識別子を受信することに応答して、第1のネットワークデバイス706は、第1のメディアストリーム識別子を第2のメディアストリーム識別子と比較して、それらが同一かを判断し得る。一部の例において、第2のネットワークデバイス714は、ネットワークデバイス714の状態情報の更新を介して、第2のメディアストリーム識別子を第1のネットワークデバイス706に通知し得る。状態情報は、定期的に、不定期に、及び/又はネットワークイベント(例えば、ネットワークトポロジの変更、再生ステータスの変更)に応答して、他のネットワークデバイスに送信してよく、状態情報は、第2のメディア再生プロトコルに関連させてよい。状態情報は、パブリッシュ/サブスクライブモデルを用いてネットワークメディアシステムに伝搬させ得る。例えば、第2のネットワークデバイス714は、第1のネットワークデバイス706でのネットワークイベントをサブスクライブし、第1のネットワークデバイス706は、そのサブスクライバの何れか又は全てに対してネットワークイベントを発行し得る。ネットワークメディアシステムにおける状態情報又は変数の詳細は、出典を明記することによりその開示内容全体を本願明細書の一部とする米国特許出願第11/278,473号において確認し得る。
一部の態様において、第1のネットワークデバイスは、第1のメディアストリーム及び第2のメディアストリームが同じメディアソースデバイスに由来すると判断することにより、第1のメディアストリームと第2のメディアストリームとの間の共通ストリーム特性の存在を判断し得る。この方法は、メディアストリームにメディアストリーム識別子が含まれない場合に有益となり得る。
前の例を用いると、メディアソースデバイス702は、オーディオコンテンツ740を第1のネットワークデバイス706に、オーディオコンテンツ742を第2のネットワークデバイス714に送信し得る。第1のネットワークデバイス706は、オーディオコンテンツ740を受信した後、メタデータを分析して、オーディオコンテンツ740がメディアソースデバイス702から生じたと判断し得る。第1のネットワークデバイス706は、第2のネットワークデバイス714に対して、オーディオコンテンツ742に関連するメタデータを送信することを要求し得る。このメタデータから、第1のネットワークデバイス706は、オーディオコンテンツ742がメディアソースデバイス702から生じたと判断し得る。オーディオコンテンツ740及びオーディオコンテンツ742がメディアソースデバイス702から生じたと判断した後、第1のネットワークデバイス706は、オーディオコンテンツ740と742との間に共通ストリーム特性が存在すると判断し得る。
第1のネットワークデバイスが第1のメディアストリームと第2のメディアストリームとの間に共通ストリーム特性が存在すると判断すると、第1のネットワークデバイスは、第1のネットワークデバイスを第2のネットワークデバイスとグループ化し得る。異なるメディア再生プロトコルは、ネットワークデバイスを異なる方法でグループ化し得る。例えば、第1のメディア再生プロトコル(例えば、図7の第1のメディア再生プロトコル746)は、メディアソースデバイスが複数のネットワークデバイスに対するメディアコンテンツのストリーミングを開始すべきであるとユーザが示すことに応答して、ネットワークデバイスをグループ化し得る。例えば、ユーザは、キッチンのネットワークデバイスとリビングルームのネットワークデバイスとにおいてメディアコンテンツを再生することを選択し得る。説明したメディア再生プロトコルを用いるメディアソースデバイスは、同じメディアコンテンツをキッチン及びリビングルームにあるネットワークデバイスにストリーミングし得る。メディアソースデバイスは、メディア再生の目的で2つのネットワークデバイスがグループ化されたとみなし得る。
他の例において、第2のメディア再生プロトコル(例えば、図7の第2のメディア再生プロトコル748)は、(i)ユーザが制御デバイスを介して、ネットワークデバイスをグループ化するコマンドを発行すること、及び/又は(ii)ネットワークデバイスの1つが他のネットワークデバイスからグループを形成する要求を受信することに応答して、第1のネットワークデバイス及び第2のネットワークデバイスをグループ化し得る。ネットワークデバイスをグループ化する要求に応答して、ネットワークデバイスは、(i)グループトポロジを更新すること、及び/又は(ii)グループ状態変数を更新することができる。
一部の例において、ネットワークデバイスをグループ化することは、第1のネットワークデバイス及び第2のネットワークデバイスをメディア再生システムのトポロジ内でグループ化することを含み得る。グループトポロジは、メディア再生システム内のネットワークデバイスの関係に関する情報を有するテーブル及び/又はデータベースを含み得る。グループトポロジは、ネットワーク接続を介して共有し、メディア再生システム内の各ネットワークデバイスからアクセスし得る。動作中、ネットワークデバイスがグループに追加されている又はグループから削除されていると判断した際に、そのネットワークデバイスは、グループでの追加又は削除を反映するようにグループトポロジを更新し得る。
例えば、図7において、ユーザは、制御デバイス704を介して、第1のネットワークデバイス706及び第2のネットワークデバイス714をグループ化するコマンドを発行し得る。グループコマンドを受信することに応答して、制御デバイス704は、グループコマンドを含む制御情報722を第1のネットワークデバイス706へ送信し得る。第1のネットワークデバイス704は、制御情報722を受信すると、(i)制御情報750を介して第2のネットワークデバイス714にグループコマンドを送信し、(ii)グループ化された第1のネットワークデバイス706及び第2のネットワークデバイス714を反映するように、ネットワーク接続を介してグループトポロジを更新し得る。
一部の例において、ネットワークデバイスをグループ化することは、第1のネットワークデバイス及び第2のネットワークデバイスのグループ変数を更新することを含み得る。メディア再生システム内の各ネットワークデバイスには、ネットワークデバイスがグループ化されたかグループ解除されたかを示すグループ状態変数を関連付けし得る。グループ変数は、メディアシステム内の任意のネットワークデバイスにより検索することができるネットワークアクセス可能なテーブル又はデータベースに保存し得る。グループ変数は、限定ではないが、クラウドネットワーク502内のリモートコンピューティングサーバ又はコンピュータを含む、メディア再生システム内のデバイスの何れかに格納し得る。
前の例を用いると、第1のネットワークデバイス704がグループコマンドを含む制御情報722を受信すると、第1のネットワークデバイス704は、(i)制御情報750を介して第2のネットワークデバイス714にグループコマンドを送信し、(ii)グループ化された第1のネットワークデバイス706及び第2のネットワークデバイス714を反映するために、ネットワーク接続を介して第1のネットワークデバイス706及び第2のネットワークデバイス714の両方のグループ状態変数を更新し得る。一部の例において、第1のネットワークデバイス706は、そのデバイス自体のグループ状態変数を更新し、第2のネットワークデバイス714は、制御情報750と共にグループコマンドを受信した後、そのグループ状態変数を更新し得る。
第1のネットワークデバイス及び第2のネットワークデバイスをグループ化した後、第1のネットワークデバイス及び第2のネットワークデバイスのグループ化を解除し得る。ユーザは、第1のネットワークデバイスでのメディアの再生は継続したいが、第2のネットワークデバイスではメディアを再生したくなくなる場合がある。ユーザは、何れかのメディア再生プロトコルにおいて制御デバイスを介して、第2のネットワークデバイスを第1のネットワークデバイスからグループ解除するコマンドを発行し得る。グループ解除コマンドが第2のメディア再生プロトコルに関連付けられたインタフェースを介して受信されると、制御デバイスは、グループ解除コマンドを第1のネットワークデバイスへ送信し得る。第2のネットワークデバイスを第1のネットワークデバイスからグループ解除するコマンドを受信したことに応答して、第1のネットワークデバイスは、第2のネットワークデバイスを第1のネットワークデバイスからグループ解除し得る。第2のネットワークデバイスを第1のネットワークデバイスからグループ解除することは、(i)グループトポロジを更新すること、(ii)グループ状態変数を更新すること、及び/又は(iii)第2のネットワークデバイスに対してグループを離れるように命令を送信することを含み得る。第1のネットワークデバイスは、メディアソースデバイスが第2のネットワークデバイスへのメディアコンテンツのストリーミングを停止すべきであることを示すために、第2のネットワークデバイスに、切断信号をメディアソースデバイスへ送信させ得る。
他の例において、第2のネットワークデバイスを第1のネットワークデバイスからグループ解除することは、第1のネットワークデバイスが第2のネットワークデバイスにコマンドを送信して、(i)第2のメディア再生プロトコルに関連付けられたインタフェースにおいて第1のネットワークデバイスからグループ解除することと、(ii)メディアストリームの再生を停止することと、(iii)第1のメディア再生プロトコルに関連付けられたインタフェースにおいてメディアソースデバイスに切断コマンドを送信することと、(iv)第2のネットワークデバイスがグループ内にないことを反映するようにネットワークトポロジを更新することと、を含み得る。第2のネットワークデバイスは、第1のネットワークデバイスからグループ解除コマンドを受信することに応答して、メディアソースデバイスから再生を停止するコマンドを受信する前に、メディアストリームの再生を停止し得る。
一部の例において、第2のメディア再生プロトコルに関連付けられたインタフェースにおいてネットワークデバイスをグループ解除することは、メディア再生システムのグループトポロジにおいて第1のネットワークデバイス及び第2のネットワークデバイスをグループ解除することを含み得る。上述したように、グループトポロジには、メディア再生システム内のネットワークデバイスの関係(例えば、グループ化、グループ解除、グループコーディネータのステータス等)に関する情報を有するテーブル及び/又はデータベースを含み得る。ネットワークデバイスがグループから削除されていると判断した際に、そのネットワークデバイスは、グループからの削除を反映するようにグループトポロジを更新し得る。
一部の例において、第2のメディア再生プロトコルに関連付けられたインタフェースにおいてネットワークデバイスをグループ解除することは、第1のネットワークデバイス及び第2のネットワークデバイスのグループ変数を更新することを含み得る。メディア再生システム内の各ネットワークデバイスには、ネットワークデバイスがグループ化されているかグループ解除されているかを示すグループ状態変数を関連付けし得る。グループ変数は、メディアシステム内の任意のネットワークデバイスにより検索することができるネットワークアクセス可能なテーブル又はデータベースに保存し得る。ネットワークデバイスがグループから削除されていると判断した際に、そのネットワークデバイスは、グループに含まれていないことを反映するようにグループ状態変数を更新し得る。
状況によっては、メディアソースデバイスのメディア再生プロトコルは、ネットワーク上で不安定又は負担になる場合がある(例えば、低帯域幅、貧弱なワイヤレス信号、及び/又は多すぎるデバイスへのメディアのストリーミング)。これらの状況では、第1のネットワークデバイスと第2のネットワークデバイスがグループ内にあると判断した後、第2のネットワークデバイスをメディアソースデバイスから切断させ、メディアストリームを第2のネットワークデバイスへ送信することが第1のネットワークデバイスにとって有益となり得る。これにより、第1のネットワークデバイスは、メディア再生システム内での同期及びグループ化が可能となり、より安定した負担の小さいネットワーク環境となる。
上述した例と同様に、第1のネットワークデバイスは、第1のメディア再生プロトコル746を用いて、第1のメディアストリーム及び第1のメディアストリーム識別子を受信し得る。第1のネットワークデバイスは、第2のネットワークデバイスが第1のメディア再生プロトコル746を用いてメディアソースデバイスから受信した第2のメディアストリームに対応する第2のメディアストリーム識別子を、第2のネットワークデバイスから受信し得る。第1のネットワークデバイスは、第1のメディアストリームと第2のメディアストリームとの間の共通ストリーム特性の存在を判断し得る。第1のメディアストリームと第2のメディアストリームとの間の共通ストリーム特性を判断することに応答して、第1のネットワークデバイスは、第2のネットワークデバイスを、第2のメディア再生プロトコル748において第1のネットワークデバイスとグループ化し得る。
加えて、第1のネットワークデバイスは、そのデバイス自体が第1のネットワークデバイス及び第2のネットワークデバイスを含むグループのグループコーディネータであることを判断し得る。グループコーディネータは、(i)メディアソースデバイスからメディアストリームを受信すること、(ii)メディアシステム内の他のネットワークデバイスにメディアストリームを送信すること、(iii)制御デバイスからコマンドを受信すること、及び/又は(iv)メディアシステム内の他のネットワークデバイスにコマンドを送信することを担当し得る。これによりグループコーディネータは、メディアソースデバイスからの全てのメディアストリームのタイミング及び同期及び制御デバイスからのコマンドを制御することができるため、有益となり得る。
一部の例において、第1のネットワークデバイスは、第1のネットワークデバイスの第1のデバイス識別子を第2のネットワークデバイスの第2のデバイス識別子と比較することにより、そのデバイス自体がグループのグループコーディネータであることを判断し得る。メディア再生システム内の各ネットワークデバイスは、デバイス識別子(例えば、メディア再生システムのネットワークトポロジにアドバタイズされる番号又は文字列)を含み得る。第1のネットワークデバイスは、第1のデバイス識別子が第2のデバイス識別子よりも低い番号又は小さい文字列である場合、そのデバイス自体がグループのグループコーディネータであると判断し得る。例えば、図7において、第1のネットワークデバイス706は、第1のデバイス識別子「0103」を有し得ると共に、第2のネットワークデバイス714は第2のデバイス識別子「0921」を有し得る。この例において、第1のデバイス識別子「0103」は、第2のデバイス識別子「0921」より低い。第1のデバイス識別子が第2のデバイス識別子より低いため、第1のネットワークデバイスは、そのデバイス自体が第1のネットワークデバイス及び第2のネットワークデバイスを含むグループのグループコーディネータであると判断し得る。
第1のネットワークデバイスが自身をグループコーディネータであると判断した後、第1のネットワークデバイスは、第1のメディア再生プロトコルに関連付けられたインタフェースにおいてメディアソースデバイスに対して、第2のネットワークデバイスから切断するコマンドを送信し得る。例えば、第1のネットワークデバイス706は、そのデバイス自体が第1のネットワークデバイス706及び第2のネットワークデバイス714を含むグループのグループコーディネータであると判断し得る。その後、第1のネットワークデバイス706は、第2のネットワークデバイス714から切断するために、制御情報726に含まれたコマンドをメディアソースデバイス702に送信し得る。これに応答して、メディアソースデバイス702は、第2のネットワークデバイス714へのオーディオコンテンツ742の送信を中止し得る。
状況によっては、第1のネットワークデバイスが第2のネットワークデバイスから切断するコマンドをメディアソースデバイスに送信した後、ユーザは、第1のネットワークデバイス及び第2のネットワークデバイスがグループ内にあることを確認できない場合がある。この潜在的な問題を克服するために、第1ネットワークデバイスは、グループコーディネータであると判断することに基づいて、第1メディア再生プロトコルに関連付けられたインタフェースにおいて、メディアソースデバイスに対して、第1ネットワークデバイス及び第2ネットワークデバイスがグループ化されていることを示すインジケーションを送信し得る。第1のネットワークデバイス及び第2のネットワークデバイスがグループ化されていることを示すインジケーションは、第2のネットワークデバイスを含むように第1のネットワークデバイスのネットワークデバイスIDを変更することを含み得る。メディアシステム内の各ネットワークデバイスは、メディアソースデバイス及び制御デバイスのインタフェース上に表示される、対応するネットワークデバイスIDを有し得る。ネットワークデバイスIDは、ネットワークにアドバタイズされる名称(例えば、「キッチン」、「浴室」、「リビングルーム」等)を含み得る。
第1のネットワークデバイスは、そのネットワークデバイスIDを変更して、第2のネットワークデバイスIDを含め得る。したがって、第1のネットワークデバイスIDが「キッチン」、第2のネットワークデバイスIDが「浴室」である場合、新たな第1のネットワークデバイスIDは、「キッチン+浴室」となり得る。これにより、ユーザは、メディアソースデバイス上で別々のネットワークデバイスとして表示されていなくとも、第1のネットワークデバイス及び第2のネットワークデバイスが依然としてグループで動作していることを、第1のメディア再生プロトコルに関連付けられたインタフェースを介して確認し得る。
例えば、図7において、第1のネットワークデバイス706は、ネットワークデバイスID「リビングルーム」を有し得ると共に、第2のネットワークデバイス714は、ネットワークデバイスID「書斎」を有し得る。第1のネットワークデバイス706は、第2のネットワークデバイス714から切断するために、制御情報726に含まれたコマンドをメディアソースデバイス702に送信した後、第1のネットワークデバイス706及び第2のネットワークデバイス714のネットワーク化IDを組み合わせて「リビングルーム+書斎」であってもよい。第1のネットワークデバイス706は、メディアソースデバイス702に送信されるディスカバリ応答メッセージにおいて、この新しいネットワーク化IDをディスカバリ中にアドバタイズし得る。例えば、ディスカバリ応答メッセージは、ネットワーク化ID用のフィールドを含んでよく、記載されるネットワーク化IDは、「リビングルーム+書斎」にしてよい。ネットワーク化IDは、ゾーン、部屋、及び/又はネットワークデバイスの名称として制御デバイスに表示し得る。
第1のネットワークデバイス及び第2のネットワークデバイスをグループ化した後、第1のネットワークデバイス及び第2のネットワークデバイスをグループ解除することが望ましい場合がある。ユーザは、第1のネットワークデバイスでメディアの再生を継続したいが、第2のネットワークデバイスではメディアを再生したくなくなる場合がある。ユーザは、第2のメディア再生プロトコルに関連付けられたインタフェースを用いて、制御デバイスを介して、第2のネットワークデバイスを第1のネットワークデバイスからグループ解除するコマンドを発行し得る。制御デバイスは、グループ解除コマンドを第1のネットワークデバイスに対して、例えば、制御情報722として送信し得る。
第2のネットワークデバイスを第1のネットワークデバイスからグループ解除するコマンドを受信したことに応答して、第1のネットワークデバイスは、第2のネットワークデバイスを第1のネットワークデバイスからグループ解除し得る。第1のネットワークデバイスから第2のネットワークデバイスをグループ解除することは、(i)グループトポロジを更新すること、及び/又は(ii)グループ状態変数を更新することを含み得る。第2のネットワークデバイスを第1のネットワークデバイスからグループ解除した後、第1のネットワークデバイスは、第1のネットワークデバイス及び第2のネットワークデバイスがグループ解除されたことを示すインジケーションをメディアソースデバイスに送信し得る。第1のネットワークデバイス及び第2のネットワークデバイスがグループ解除されたことを示すインジケーションは、第2のネットワークデバイスを削除するように第1のネットワークデバイスのネットワークデバイスIDを変更することを含み得る。
動作中、第1のネットワークデバイスは、そのネットワークデバイスIDを変更して、第2のネットワークデバイスIDを削除する。したがって、第1のネットワークデバイス及び第2のネットワークデバイスをグループ化した際に第1のネットワークデバイスIDが「キッチン+浴室」であった場合、新しい第1のネットワークデバイスIDは、「キッチン」、第2のネットワークデバイスIDは「浴室」になり得る。これにより、ユーザは、第1のネットワークデバイス及び第2のネットワークデバイスが個々のネットワークデバイスとして動作しており、互いに同期してメディアを再生するように構成されていないことを確認することができる。
複数のメディア再生プロトコルに適合するメディア再生システムの更に別の課題は、結合ゾーンで動作するように構成されたネットワークデバイスを効果的に制御できないことであり得る。ネットワークデバイスは、特定のエリアにおいて1つのネットワークデバイスとして効果的に動作するように構成されている場合(例えば、2つのネットワークデバイスがキッチンで1つのデバイスとして動作する場合)、結合ゾーン内に存在し得る。例えば、制御デバイスが結合ゾーン内の1つのネットワークデバイスにコマンドを発行すると、そのコマンドは結合ゾーン内の他のネットワークデバイスに転送される。あるメディア再生プロトコルは、他のメディア再生プロトコルに適合しない特定の方法(例えば、ネットワークトポロジ)で結合ゾーン内に構成されたネットワークデバイスを扱う場合がある。したがって、ユーザが、結合ゾーンにおいてネットワークデバイスを初期設定するために使用されたメディア再生プロトコルとは異なるメディア再生プロトコルを用いて、結合されたネットワークデバイスの制御を試みた場合、ユーザは、初期設定に使用したものとは異なるメディア再生プロトコルを用いて、ネットワークデバイスを効果的に制御できない場合がある。
使用されている基礎となるメディア再生プロトコルに関係なく継続的な制御を提供するために、一部の例において、第1のネットワークデバイスは、第1のメディア再生プロトコルを用いて、(i)第1のメディア再生プロトコルと互換性のない第2のメディア再生プロトコルを用いるように構成されたメディアソースデバイスから、メディアストリームを受信し、(ii)第1のネットワークデバイスと共に結合ゾーンにおいて動作するように構成された第2のネットワークデバイスに、メディアストリームを送信する。これにより、ユーザは、メディアソースデバイス及び制御デバイスにより使用されるメディア再生プロトコルに関係なく、結合ゾーンに対するメディア再生を効果的にストリーミング及び制御できるようになるため、制御デバイスのメディア再生プロトコルと互換性のないメディア再生プロトコルを用いるメディアソースデバイスからメディアストリームが開始される状況において有益となり得る。
例えば、ユーザは、特定のメディア再生プロトコル(例えば、Sonos(登録商標)コントローラ)を用いるコントローラを使用して、結合ゾーンにおいて動作するように2つ以上のネットワークデバイスを構成し得る。その後、ユーザは、異なるメディア再生プロトコルを用いるメディアソースデバイス(Airplay(登録商標)を用いるiPhone(登録商標))を使用して、2つ以上のネットワークデバイスにメディアコンテンツをストリーミングしたい場合がある。しかしながら、結合ゾーン内の全てのネットワークデバイスが、メディアソースデバイスに関連付けられたメディア再生プロトコルにおいてメディアコンテンツのストリームを受信できるわけではない。例えば、ネットワークデバイスの1つは、第1のメディア再生プロトコルを用いて、メディア再生システム内の他のデバイスと通信するように構成されていない場合があり、ネットワークデバイスの別の1つは、第1のメディア再生プロトコル及び/又は第2のメディア再生プロトコルを用いて、メディア再生システム内の他のデバイスと通信するように構成されている場合がある。2つ以上のネットワークデバイスのうちの1つは、メディアソースデバイスからメディアストリームを受信し且つ結合ゾーン内の他のネットワークデバイスにメディアストリームを送信することができるようにし得る。これにより、2つ以上のネットワークデバイスのうちの1つは、メディアストリーム及び/又はメディアソースデバイスに関連付けられたメディア再生プロトコルから、他のネットワークデバイス又はコントローラに関連付けられたメディア再生プロトコルへのメディアコンテンツの変換を処理することが、メディアコンテンツを再生するタイミングの同期を含めて可能となる。
図8は、メディア再生システム800のフロー図を示す。メディア再生システム800は、図7のメディア再生システム700の同じメディア再生プロトコルに対応する同じ構成要素を含む。メディア再生システム800において、第1のネットワークデバイス706及び第2のネットワークデバイス714は、結合ゾーンにおいて動作するように構成される。動作中、第1のネットワークデバイス706及び第2のネットワークデバイス714の一方又は両方は、メディアソースデバイス702からメディアコンテンツを受信し、メディアコンテンツを互いに送信するように構成し得る。
一部の例において、第1のネットワークデバイスは、あるメディア再生プロトコルを用いてソースデバイスからメディアコンテンツを受信し、異なるメディア再生プロトコルを用いてメディアストリームを第2のネットワークデバイスへ送信し得る。例えば、図8では、第1のネットワークデバイス706は、メディアソースデバイス702からオーディオコンテンツ740を受信し得る。上述したように、メディアソースデバイス702は、第1のメディア再生プロトコル746の下で動作し得る。第1のネットワークデバイス706は、第1のプロトコルインタフェース708を介して、オーディオコンテンツ740を、第2のメディア再生プロトコル748に適合する形式のオーディオコンテンツ734に変換し得る。第1のプロトコルインタフェース708は、オーディオコンテンツ734を第2のプロトコルインタフェース710へ送信し得る。第1のネットワークデバイス706は、第2のプロトコルインタフェース710を介して、オーディオコンテンツ734を、メディアレンダラ720による再生のために第2のネットワークデバイス714の第2のプロトコルインタフェース718に送信し得る。
一部の例において、第1のネットワークデバイスは、そのデバイス自体が2つ以上のネットワークデバイスを含む結合ゾーンの結合ゾーンコーディネータであると判断し得る。結合ゾーンコーディネータではない結合ゾーン内のネットワークデバイスを、本明細書において「結合ゾーンメンバ」と呼ぶ場合がある。結合ゾーンコーディネータは、(i)メディアソースデバイスからメディアストリームを受信すること、(ii)メディアシステム内の他のネットワークデバイスにメディアストリームを送信すること、(iii)制御デバイスからコマンドを受信すること、及び/又は又は(iv)メディアシステム内の他のネットワークデバイスにコマンドを送信することを担当し得る。これにより結合ゾーンコーディネータは、メディアソースデバイスからの全てのメディアストリーム及び制御デバイスからのコマンドのタイミング及び同期を制御できるため、有益となり得る。
一部の態様において、結合ゾーンコーディネータは、例えば、ネットワークデバイスIDをメディアソースデバイスに送信することにより、結合ゾーン内のネットワークデバイスの再生可用性をメディアソースデバイスにアドバタイズすることを担当し得る。ネットワークデバイスIDは、結合ゾーンコーディネータ及び結合ゾーンメンバのネットワークIDを含み得る。結合ゾーンコーディネータは、メディアソースデバイスから受信されたディスカバリメッセージ(例えば、mDNSクエリメッセージ)に応答して、ネットワークデバイスIDを送信し得る。結合ゾーンメンバは、ネットワークデバイスIDを送信しない場合がある。
例えば、第1のネットワークデバイス706は、そのデバイス自体が第1のネットワークデバイス706及び第2のネットワークデバイス714を含む結合ゾーンの結合ゾーンコーディネータであると判断し得る。第1のネットワークデバイス706は、ブロードキャストされたディスカバリメッセージ(例えば、mDNSクエリ)に応答して、ディスカバリ応答メッセージ(例えば、mDNS応答メッセージ)においてネットワークデバイスIDを送信し得る。一部の態様において、第1のネットワークデバイス706は、メディアソースデバイス702によるディスカバリのためのディスカバリプロトコル(例えば、mDNS)を介して、ネットワークデバイスIDをブロードキャストし得る。ネットワークデバイスIDは、第1のネットワークデバイス706及び第2のネットワークデバイス714に対するネットワークIDを含み得る(例えば、「キッチン」-第1のネットワークデバイス706及び第2のネットワークデバイス714が台所の結合ゾーンに構成される場合)。この例において、第2のネットワークデバイス714は、結合ゾーンコーディネータではないため、ネットワークデバイスIDを送信しない。
一部の例において、結合ゾーンコーディネータを決定することは、メディアソースデバイスからメディアコンテンツを受信する、又は第1のメディア再生プロトコルを用いてコンテンツを受信する能力が存在すると判断することを含み得る。例えば、メディア再生システムは、結合ゾーンにおいて動作するように構成された3つのネットワークデバイスを含む場合がある。しかしながら、3つのネットワークデバイスのうち1つのみが、メディアコンテンツをメディアソースデバイスから受信可能な場合がある。この状況において、メディアソースデバイスからメディアコンテンツを受信可能なネットワークデバイスは、そのデバイス自体が結合ゾーンコーディネータであると判断し、他の2つのネットワークデバイスは、そのデバイス自体が結合ゾーンメンバであると判断し得る。これにより、第1のネットワークデバイスは、メディアソースデバイスから第1のメディア再生プロトコルでメディアストリームを受信し、メディアストリームを結合ゾーンメンバに送信できるため、有益となる場合がある。
一部の態様において、どのネットワークデバイスが結合ゾーンコーディネータであるかを判断することは、第1のネットワークデバイスとメディアストリームのソースタイプとの間に適合性が存在し、第2のネットワークデバイスとメディアストリームのソースタイプとの間に適合性が存在しないと判断することを含み得る。メディアストリームのソースタイプは、ストリーミングされているメディアが経由する接続の種類(例えば、Bluetooth(登録商標)、WiFi、等)及び/又はメディアのために使用されているメディア再生プロトコル(例えば、第1のメディア再生プロトコル又は第2のネットワークメディア再生プロトコル)を含み得る。例えば、第1のプロトコルインタフェースにより構成されていないネットワークデバイスは、メディアソースデバイスからコンテンツを受信できない場合があり、第1のプロトコルインタフェースを有するように構成されているネットワークデバイスは、メディアソースデバイスからメディアコンテンツを受信可能な場合がある。更に他の例として、第1のネットワークデバイスは、Bluetooth(登録商標)に適合するが、第2のネットワークデバイスは適合しない場合がある。この状況において、メディアソースデバイスがBluetooth(登録商標)接続を介してメディアをストリーミングするようにユーザから指示された場合、第1のネットワークデバイスは、そのデバイス自体が結合ゾーンコーディネータとなるべきであり、第2のネットワークデバイスは結合ゾーンメンバになるべきであると判断し得る。
一部の例において、結合ゾーンコーディネータは、メディアストリームを結合ゾーンメンバに送信する前に、メディアストリームをフィルタリングし得る。結合ゾーンコーディネータは、メディアストリームを復号及び/又は解凍することにより、メディアストリームをフィルタリングし得る。例えば、第1のネットワークデバイス706は、そのデバイス自体が結合ゾーンコーディネータであると判断し得る。第1のネットワークデバイス706は、第1のプロトコルインタフェース708を介してオーディオコンテンツ740を受信し得る。第1のプロトコルインタフェース708は、オーディオコンテンツ740を複合し、第1のメディア再生プロトコル746に適合するオーディオコンテンツ740から、第2のメディア再生プロトコル748に適合するオーディオコンテンツ734に変換し得る。第1のプロトコルインタフェース708は、復号されたオーディオコンテンツ734を第2のプロトコルインタフェース710に送信し得る。第2のプロトコルインタフェース710は、オーディオコンテンツ734を解凍し、解凍されたオーディオコンテンツ734を、再生のために第2のネットワークデバイス714の第2のプロトコルインタフェース718に送信し得る。
他の例において、第1のネットワークデバイス706は、第1のプロトコルインタフェースを介してオーディオコンテンツ740を受信し得る。第1のプロトコルインタフェース708は、オーディオコンテンツ740をオーディオコンテンツ734として第2のプロトコルインタフェース710に送信し得る。第2のプロトコルインタフェース710は、オーディオコンテンツ734を受信し、オーディオコンテンツ734を復号し、オーディオコンテンツ734を第1のメディア再生プロトコル746に適合するものから第2のメディア再生プロトコル748に適合するものへ変換し得る。第2のプロトコルインタフェース710は、更に、オーディオコンテンツ734を解凍し、復号及び解凍されたオーディオコンテンツ734を、再生のために第2のネットワークデバイス714の第2のプロトコルインタフェース718に送信し得る。
一部の態様において、結合ゾーンコーディネータは、結合ゾーンメンバによる復号及び解凍のために、メディアコンテンツを、そのネイティブの形式で送信し得る。これは、結合ゾーンコーディネータの処理能力が限られている場合、又は結合ゾーンメンバが利用可能な処理能力が結合ゾーンコーディネータよりも高い場合に有益となり得る。
例えば、第1のネットワークデバイス706は、メディアソースデバイス702からオーディオコンテンツ740を受信し、オーディオコンテンツ740を復号又は解凍することなく、第2のプロトコルインタフェース710及び718をそれぞれ介して、オーディオコンテンツ734を第2のネットワークデバイス714に送信し得る。この例において、オーディオコンテンツ734及びオーディオコンテンツ740は、同じメディア形式で同じメディアコンテンツを含む。
一部の例において、ユーザは、第1のメディア再生プロトコルにより制御されるインタフェースにおいて、結合ゾーンメンバ上で再生コマンド(例えば、再生、一時停止、曲のスキップ等)を発行し得る。例えば、ユーザは、結合ゾーンメンバに統合された再生/一時停止ボタンを押してもよい。結合ゾーンメンバは、(i)再生コマンドを実行し、(ii)同じ再生コマンドを結合ゾーンコーディネータに送信し得る。結合ゾーンメンバから再生コマンドを受信した後、結合ゾーンコーディネータは、(i)再生コマンドを実行し、(ii)再生コマンドを第2のメディア再生プロトコルに適合するように変換し、(iii)再生コマンドを、実行のためにメディアソースデバイスに送信し得る。
例えば、ユーザは、第2のネットワークデバイス714に一時停止コマンドを発行し得る。第2のネットワークデバイス714は、オーディオコンテンツ734の再生を一時停止し、第2のプロトコルインタフェース718を介して、一時停止コマンドを制御情報750の一部として第1のネットワークデバイス706の第2のプロトコルインタフェース710に送信し得る。第1のネットワークデバイス706は、第2のプロトコルインタフェース710を介して、(i)オーディオコンテンツ738の再生を一時停止し、(ii)第2のメディア再生プロトコル748に適合する一時停止コマンドを第1のメディア再生プロトコル746に適合する一時停止コマンドに変換し、(iii)変換された一時停止コマンドを、制御情報724の一部として第1のプロトコルインタフェース708に送信し、(iv)第1のプロトコルインタフェース708を介して、変換された一時停止コマンドを制御情報726の一部としてメディアソースデバイス702に送信し得る。
一部の態様において、ユーザは、第1のメディア再生プロトコルにおけるグループコーディネータ且つ第2のメディア再生プロトコルにおけるグループコーディネータとなり得る結合ゾーンコーディネータ上で、第2のメディア再生プロトコルを用いて、再生コマンドを発行し得る。再生コマンドを受信することに応答して、結合ゾーンコーディネータは、(i)再生コマンドを実行し、(ii)結合ゾーン内の全ての結合ゾーンメンバに再生コマンドを送信し、(iii)再生コマンドを第2のメディア再生プロトコルに適合するように変換し、(iv)再生コマンドを、事項のためにメディアソースデバイスに送信し得る。
例えば、ユーザは、第1のネットワークデバイス706に対して一時停止コマンドを発行し得る。第1のネットワークデバイス706は、オーディオコンテンツ738の再生を一時停止し、第2のプロトコルインタフェース710を介して、一時停止コマンドを制御情報750の一部として第2のネットワークデバイス714の第2のプロトコルインタフェース718に送信し得る。第1のネットワークデバイス706は、更に、第2のプロトコルインタフェース710を介して、(i)第2のメディア再生プロトコル748に適合する一時停止コマンドを、第1のメディア再生プロトコル746に適合する一時停止コマンドに変換し、(ii)変換された一時停止コマンドを、制御情報724の一部として第1のプロトコルインタフェース708に送信し、(iii)第1のプロトコルインタフェース708を介して、変換された一時停止コマンドを制御情報726の一部としてメディアソースデバイス702に送信し得る。
状況によっては、結合ゾーンメンバは、メディアソースデバイスからメディアストリームを受信する能力を有し得るが、結合ゾーンコーディネータは、メディアソースデバイスからメディアコンテンツを受信することができない場合がある。これは、メディアソースデバイスが結合ゾーンへのメディアのストリーミングを試みる前に結合ゾーンコーディネータが決定された際に発生する場合がある。例えば、第1のネットワークデバイス及び第2のネットワークデバイスは、第2のメディア再生プロトコル748により制御される結合ゾーンにおいて動作するように設定し得る。第2のメディア再生プロトコルの下で、第1のネットワークデバイスは、そのデバイス自体が結合ゾーンコーディネータとなるべきであると判断し得る。ユーザは、第1のメディア再生プロトコル746を用いるメディアソースデバイスを介して、メディアコンテンツを結合ゾーンにストリーミングすることを試み得る。しかしながら、第1のネットワークデバイスは、第1のメディア再生プロトコル746に適合しない場合がある。
この潜在的な問題を克服するために、結合ゾーンコーディネータは、ある結合ゾーンメンバが第1のメディア再生プロトコル746のメディアレシーバであると判断し、その結合ゾーンメンバを、(i)第1のメディア再生プロトコル746内のメディアソースデバイスからメディアストリームを受信し、(ii)メディアストリームを第1のネットワークデバイスに送信するように構成し得る。
一例では、図8において、第1のネットワークデバイス706は、結合ゾーンコーディネータであり、メディアソースデバイス702からオーディオコンテンツ740を受信できない場合がある。しかしながら、第2のネットワークデバイス714は、点線で示した図8の代替バージョンに示したように、オーディオコンテンツ742を受信可能となり得る。第2のネットワークデバイス714は、第1のプロトコルインタフェース716を介してメディアソースデバイス702からオーディオコンテンツ742を受信し得る。第2のネットワークデバイス714は、第1のプロトコルインタフェース716を介して、オーディオコンテンツ742を、第2のメディア再生プロトコル748に適合する形式のオーディオコンテンツ736に変換し得る。第1のプロトコルインタフェース716は、オーディオコンテンツ734を第2のプロトコルインタフェース718に送信し得る。第2のネットワークデバイス714は、第2のプロトコルインタフェース718を介して、オーディオコンテンツ736を、メディアレンダラ712による再生のために第1のネットワークデバイス706の第2のプロトコルインタフェース710に送信し得る。
他の例において、第2のネットワークデバイス714は、第1のプロトコルインタフェース716を介して、オーディオコンテンツ742を、変換のためにオーディオコンテンツ736として第2のプロトコルインタフェース718に送信し得る。第2のプロトコルインタフェース718は、オーディオコンテンツ736を受信し、オーディオコンテンツ736を復号し、オーディオコンテンツ736を第1のメディア再生プロトコル746に適合するものから第2のメディア再生プロトコル748に適合するものへ変換し得る。第2のプロトコルインタフェース718は、更に、オーディオコンテンツ736を解凍し、復号及び解凍されたオーディオコンテンツ736を、メディアレンダラ712による再生のために第1のネットワークデバイス706の第2のプロトコルインタフェース710に送信し得る。
一部の例において、第2のネットワークデバイスがメディアレシーバであると第1のネットワークデバイスが判断することは、第1のメディア再生プロトコルを用いてメディアソースデバイスからメディアストリームを受信する能力が第2のネットワークデバイスに存在するというインジケーションを、第2のネットワークデバイスから受信することを含み得る。例えば、第1のネットワークデバイスは、メディアソースデバイスと通信できないため、ネットワークを介してメディアソースデバイスを認識しない場合がある。この状況において、第2のネットワークデバイスは、そのデバイス自体がメディアソースデバイスからメディアストリームを受信可能であると判断し、そのインジケーションを第1のネットワークデバイスに送信し得る。第2のネットワークデバイスがメディアストリームを受信可能であることを示すインジケーションを受信すると、第1のネットワークデバイスは、第2のネットワークデバイスがメディアレシーバになるべきであると判断し得る。
一部の態様において、第2のネットワークデバイスがメディアレシーバであると第1のネットワークデバイスが判断することは、ネットワークトポロジから、第1のメディア再生プロトコルを用いてメディアソースデバイスからメディアストリームを受信する能力が第2のネットワークデバイスに存在すると判断することを含み得る。ネットワークトポロジは、メディア再生システム内で接続されたネットワークデバイスに関する情報を有するテーブル及び/又はデータベースを含み得る。ネットワークトポロジに保存される情報には、(i)結合ゾーンのステータス(例えば、ネットワークデバイスが結合ゾーン内にあるか、結合ゾーンコーディネータがメンバか)、(ii)メディア再生プロトコルの適合性(例えば、ネットワークデバイスが適合するメディア再生プロトコルのタイプ)、及び/又は(iii)ネットワークデバイスの動作パラメータに関連付けられた状態変数(例えば、処理能力、ハードウェア/ソフトウェアコンポーネント等)が含まれ得る。ネットワークトポロジは、メディア再生システム内のネットワークデバイスにより、及び/又は第2のメディア再生プロトコルを用いる制御デバイスによりアクセス可能にし得る。ネットワークデバイスがネットワークに追加された時、又はネットワークデバイスが修正されたとき、ネットワークデバイスは、情報を追加するため又は変更を反映するためにネットワークトポロジを更新し得る。例えば、ネットワークデバイスがメディア再生システムに追加され、ネットワークデバイスが第1のメディア再生プロトコル及び第2のメディア再生プロトコルに適合する場合、ネットワークデバイスは、これらの適合性を反映するようにネットワークトポロジを更新し得る。
一部の態様において、第2のネットワークデバイスがメディアレシーバであると第1のネットワークデバイスが判断することは、第2のネットワークデバイスから、第2のネットワークデバイスがメディアレシーバであることを示すインジケーションを受信することを含み得る。例えば、第2のネットワークデバイスは、第1のネットワークデバイスの第1のデバイス識別子を第2のネットワークデバイスの第2のデバイス識別子と比較することによって、そのデバイス自体がメディアレシーバであると判断し得る。メディア再生システム内の各ネットワークデバイスは、デバイス識別子(例えば、メディア再生システムのネットワークトポロジにアドバタイズされる番号又は文字列)を含み得る。第2のネットワークデバイスは、第2のデバイス識別子が第1のデバイス識別子よりも低い番号又は小さい文字列である場合、そのデバイス自体がグループのメディアレシーバであると判断し得る。例えば、図8において、第1のネットワークデバイス706は、第1のデバイス識別子「0987」を有し得ると共に、第2のネットワークデバイス714は第2のデバイス識別子「0321」を有し得る。この例において、第2のデバイス識別子「0321」は、第1のデバイス識別子「0987」より低い。第2のデバイス識別子が第1のデバイス識別子よりも低いため、第1のネットワークデバイスは、そのデバイス自体が第1のネットワークデバイス及び第2のネットワークデバイスを含むグループのグループコーディネータであると判断し得る。
状況により、第1のネットワークデバイスは、メディアソースデバイスと通信することができないため、第1のネットワークデバイスは、結合ゾーン用のネットワークデバイスIDを送信することができない。結合ゾーンのアドバタイズを有効にするために、一部の例において、第1ネットワークデバイスは、第2ネットワークデバイスがメディアレシーバであると判断することに基づいて、第2ネットワークデバイスにネットワークデバイスIDをメディアソースデバイスへ送信させ得る。上述したように、ネットワークデバイスIDは、結合ゾーンコーディネータ及び結合ゾーンメンバのネットワークIDを含み得る。
一部の態様では、第2のネットワークデバイスがメディアレシーバであると判断することに基づいて、第1のネットワークデバイスは、第2のネットワークデバイスから、第2のネットワークデバイスがネットワークデバイスIDをメディアソースデバイスに送信していることを示すインジケーションを受信し得る。これらの例において、第2のネットワークデバイスは、(i)結合ゾーン内のどのネットワークデバイスがメディアソースデバイスからメディアストリームを受信可能であるかを示すネットワークトポロジにアクセスし、(ii)第2のネットワークデバイスが、メディアソースデバイスからメディアストリームを受信可能な、結合ゾーン内の唯一のネットワークデバイスであると判断することにより、ネットワークデバイスIDを送信するべきであると判断し得る。一部の態様において、第2のネットワークデバイスは、第2のネットワークデバイスが第1のメディア再生プロトコルについてメディアレシーバであると判断することに基づいて、ネットワークデバイスIDを送信し得る。
状況により、メディアソースデバイスからメディアストリームを受信可能な2つ以上のネットワークデバイスを含む結合ゾーンでは、1つ又は複数の動作パラメータに基づいてメディアレシーバを選択し得る。例えば、第2のネットワークデバイスがメディアレシーバであると第1のネットワークデバイスが判断することは、1つ又は複数の動作パラメータが第2のネットワークデバイスに関連していると判断することを含み得る。これらの例において、1つ又は複数の動作パラメータは、(i)第2のネットワークデバイスと第1のネットワークデバイスとの間の有線ネットワーク接続と、(ii)第2のネットワークデバイスとメディアソースデバイスとの間の有線ネットワーク接続と、(iii)第2のネットワークデバイスと壁電源との間の電力接続のインジケーションと、(iv)定常状態での動作と、(v)所定の閾値を上回る処理パワーと、の存在を含み得る。上述したように、メディア再生システム内の各ネットワークデバイスは、これらの動作パラメータを示すネットワークトポロジのそれぞれの状態変数を更新し得る。これらの状態変数は、メディア再生システム及び/又は結合ゾーンの任意のメンバがアクセスし得る。
一部の例において、第1のネットワークデバイス(例えば、結合ゾーンコーディネータ)は、第2のネットワークデバイスと第1のネットワークデバイスとの間の有線ネットワーク接続の存在を判断することに基づいて、第2のネットワークデバイスがメディアレシーバであることを判断し得る。これにより第2のネットワークデバイスは、無線ネットワーク接続よりも高速な有線接続を介して第1のネットワークデバイスにメディアストリームを送信できるようになるため、有益となり得る。
一部の例において、第1のネットワークデバイスは、第2のネットワークデバイスとメディアソースデバイスとの間の有線ネットワーク接続の存在を判断することに基づいて、第2のネットワークデバイスがメディアレシーバであると判断し得る。この動作パラメータは、第2のネットワークデバイスが無線ネットワーク接続を介してメディアストリームを受信する場合より高速で、第2のネットワークデバイスがメディアソースデバイスからメディアストリームを受信する利点をもたらし得る。
一部の例において、第1のネットワークデバイスは、第2のネットワークデバイスと壁電源との間の電力接続のインジケーションの存在を判断することに基づいて、第2のネットワークデバイスがメディアレシーバであると判断し得る。第2のネットワークデバイスは、壁電源を介した電力接続を有することにより、電池式のネットワークデバイスよりも効果的なメディアレシーバとなり得る。例えば、電池式のネットワークデバイスがメディアレシーバとして動作するべきであると第1のネットワークデバイスが判断し、電池が切れた場合、第1のネットワークデバイスは、メディアソースデバイスとの接続を一時的に失う恐れがある。したがって、壁電源への接続に基づいて、第2のネットワークデバイスをメディアレシーバとして選択することは、第1のネットワークデバイスにとって有益となり得る。
一部の例において、第1のネットワークデバイスは、定常状態での第2のネットワークデバイスの動作に基づいて、第2のネットワークデバイスがメディアレシーバであると判断し得る。一部のメディア再生システムにおいて、ユーザがリスニング体験を容易にカスタマイズできるように、ネットワークデバイスは、ポータブルとなり得る。これらのポータブルネットワークデバイスには、可搬性を高めるため、強力ではない様々な構成要素が含まれる場合がある。したがって、メディアストリームの受信及び他のネットワークデバイスへのメディアストリームの送信を処理するために、より強力なコンポーネントを有することから、固定ネットワークデバイスをメディアレシーバとして選択することが第1のネットワークデバイスにとって望ましい可能性がある。
一部の例において、第1のネットワークデバイスは、所定の閾値を上回る処理パワーの存在を判断することに基づいて、第2のネットワークデバイスがメディアレシーバであると判断し得る。メディア再生システム内の異なるネットワークデバイスは、異なる処理機能を備えた異なるプロセッサを有する場合がある。メディアソースデバイスからメディアストリームを受信し、メディアストリームを結合ゾーンコーディネータに送信するプロセスは、プロセッサに負担となり得る。そのため、所定の閾値を上回る処理パワーを有するメディアレシーバを選択することは有益となり得る。所定の閾値は、メディアストリームの要求(例えば、メディアストリームのサイズ又は長さ、チャネル数)に基づいて設定し得る。
一部の態様において、第1のネットワークデバイスは、結合ゾーン内の他のネットワークデバイスと比較したとき、第2のネットワークデバイスが最大量の処理パワーを利用可能であると判断することに基づいて、第2のネットワークデバイスがメディアレシーバであると判断し得る。例えば、結合ゾーンは、3つのネットワークデバイスとして、第1のネットワークデバイス、第2のネットワークデバイス、及び第3のネットワークデバイスを含み得る。第1のネットワークデバイスは、ネットワークトポロジを確認して、第2のネットワークデバイス及び第3のネットワークデバイスが利用可能な処理パワーを判断し得る。第2のネットワークデバイスが第3のネットワークデバイスよりも多くの処理パワーを利用可能であると第1のネットワークデバイスが判断した場合、第1のネットワークデバイスは、第2のネットワークデバイスがメディアレシーバであると判断し得る。
一部の例において、結合ゾーンコーディネータ(例えば、第1のネットワークデバイス)が、メディアソースデバイスからメディアストリームを受信し且つメディアストリームを第1のネットワークデバイスに送信するようにメディアレシーバ(例えば、第2のネットワークデバイス)を構成することは、メディアソースデバイスからメディアストリームを受信し且つメディアストリームを第1のネットワークデバイスに送信するコマンドを、結合ゾーンメンバへ送信することを含み得る。メディアレシーバは、メディアソースデバイスにより送信されたものと同じ形式でメディアストリームを送信してよく、又はメディアレシーバは、メディアストリームを第1のネットワークデバイスに適合する形式に変換してもよい。
例えば、図8において、第1のネットワークデバイス706は、メディアソースデバイス702からメディアコンテンツを受信する能力のない結合ゾーンコーディネータにし得る。第1のネットワークデバイス706がメディアソースデバイス702からメディアコンテンツを受信する能力を有していないと判断することに応答して、第1のネットワークデバイス706は、第2のネットワークデバイス714へのオーディオコンテンツ742の送信を開始するようにメディアソースデバイス702に指示するコマンドを、第2のネットワークデバイス714へ送信し得る。第2のネットワークデバイス714は、(i)第1のプロトコルインタフェース716を介してメディアソースデバイス702からオーディオコンテンツ742(第1のメディア再生プロトコル746に適合)を受信し、(ii)オーディオコンテンツ742をオーディオコンテンツ736(第2のメディア再生プロトコル748に適合)に変換し、(iii)第2のプロトコルインタフェース718を介して、オーディオコンテンツ736を、メディアレンダラ712を経由した再生のために第1のネットワークデバイス706に送信し得る。
他の例において、第1のネットワークデバイス706は、第2のネットワークデバイス714へのオーディオコンテンツ742の送信を開始するようメディアソースデバイス702に指示するコマンドを、第2のネットワークデバイス714へ送信し得る。第2のネットワークデバイス714は、(i)メディアソースデバイス702から第1のプロトコルインタフェース716を介してオーディオコンテンツ742(第1のメディア再生プロトコル746に適合)を受信し、(ii)第2のプロトコルインタフェース718を介して、未変換のオーディオコンテンツ742を、変換及び再生のために第1のネットワークデバイス706に送信し得る。
一部の例において、結合ゾーンコーディネータ(例えば、第1のネットワークデバイス)は、更に、メディアストリームを第3のネットワークデバイスに送信するようにメディアレシーバ(例えば、第2のネットワークデバイス)を構成し得る。これらの例において、結合ゾーンには3つ以上のネットワークデバイスが含まれ、メディアレシーバは、結合ゾーン内の全てのネットワークデバイスに対してメディアストリームを送信することを担当し得る。
方法の例
図9の方法900、図10の方法1000、図11の方法1100、及び図12の方法1200は、例えば、図1のメディア再生システム100、図2の1つ又は複数の再生デバイス200、図3の1つ又は複数の制御デバイス300、図4のユーザインタフェース、図5に示した構成、図6に示したNMD、図7のメディア再生システム700、及び/又は図8のメディア再生システム800を含む又はこれらに関与する動作環境内において実施可能な方法の例を示す。方法900は、ブロック902、904、及び906の1つ以上が示すような1つ以上の動作、機能、又は行動を含み得る。方法1000は、ブロック1002、1004、及び1006の1つ以上が示すような1つ以上の動作、機能、又は行動を含み得る。方法1100は、ブロック1102、1104、1106、1108、及び1110の1つ以上が示すような1つ以上の動作、機能、又は行動を含み得る。方法1200は、ブロック1202及び1204の1つ以上が示すような1つ以上の動作、機能、又は行動を含み得る。ブロックは、連続した順序で例示されているが、これらのブロックは、並行して及び/又は本明細書に記載のものとは異なる順序で、実行してもよい。また、様々なブロックを、所望の実施に基づいて、少数のブロックに結合しても、追加のブロックに分割しても、及び/又は除去してもよい。
更に、方法900、方法1000、方法1100、方法1200、並びに本明細書に開示した他のプロセス及び方法について、フローチャートは、一部の例の可能な一実施の機能及び動作を示す。これに関して、各ブロックは、プロセスの特定の論理機能又はステップを実施するために1つ又は複数のプロセッサにより実行可能な1つ又は複数の命令を含むモジュール、セグメント、又はプログラムコードの一部を表し得る。プログラムコードは、例えば、ディスク又はハードドライブを含む記憶装置等、任意のタイプのコンピュータ読み取り可能な媒体に記憶し得る。コンピュータ読み取り可能な媒体は、例えば、レジスタメモリ、プロセッサキャッシュ、及びランダムアクセスメモリ(RAM)のような、データを短期間記憶する有形の非一時的コンピュータ読み取り可能な媒体等の非一時的コンピュータ読み取り可能媒体を含み得る。また、コンピュータ読み取り可能な媒体は、例えば、リードオンリメモリ(ROM)、光学ディスク又は磁気ディスク、コンパクトディスクリードオンリメモリ(CD-ROM)のような二次又は持続的長期ストレージ等の非一時的媒体を含み得る。コンピュータ読み取り可能な媒体は、他の任意の揮発性又は不揮発性ストレージシステムであってもよい。コンピュータ読み取り可能な媒体は、例えば、コンピュータ読み取り可能な記憶媒体、又は有形の記憶装置と考え得る。加えて、方法900、方法1000、方法1100、方法1200、並びに本明細書に開示した他のプロセス及び方法について、図9、図10、図11、及び図12の各ブロックは、プロセス内の特定の論理機能を実行するように配線された回路を表し得る。
方法900は、ブロック902で始まり、ブロック902は、ネットワークメディアシステム(ネットワークメディアシステムを制御するように構成されたコンピュータ等)が、第1のメディア再生プロトコルを用いて第1のネットワークデバイス及び第2のネットワークデバイスを含むグループを形成することを含む。ネットワークメディアシステムは、第1のネットワークデバイス及び第2のネットワークデバイスを含み得る。
次に、方法900は、ブロック904へ進み、ブロック904は、第1のメディア再生プロトコルを用いてグループのグループコーディネータを決定することを含む。
次に、方法900は、ブロック906へ進み、ブロック906は、メディアソースデバイスに対して、第2のメディア再生プロトコルを用いてグループネットワークIDを送信することを含む。メディアソースデバイスと、第1のネットワークデバイス及び第2のネットワークデバイスの一方とは、第1のメディア再生プロトコル及び第2のメディア再生プロトコルを用いるように構成される。第1のメディア再生プロトコル及び第2のメディア再生プロトコルには、互換性がない。
一部の例において、グループネットワークIDを送信することは、(i)第2のメディア再生プロトコルを用いて、ディスカバリメッセージを第1のネットワークデバイス及び第2のネットワークデバイスに送信すること、及び(ii)第1のネットワークデバイス及び第2のネットワークデバイスの一方に、ディスカバリメッセージに対してグループネットワークIDにより応答させることを含み得る。
一部の例において、グループネットワークIDを送信することは、第1のネットワークデバイス及び第2のネットワークデバイスの一方に、グループネットワークIDをメディアソースデバイスへ送信させることを含み得る。グループネットワークIDは、(i)第1のネットワークデバイス及び第2のネットワークデバイスの一方のネットワークデバイスID、及び(ii)グループ内のネットワークデバイスの数より1つ少ない数を含み得る。
一部の例において、グループネットワークIDを送信することは、(i)第1のネットワークデバイスに、第1のネットワークデバイスIDをメディアソースデバイスへ送信させること、及び(ii)第2のネットワークデバイスに、第2のネットワークデバイスIDをメディアソースデバイスへ送信させることを含み得る。これらの例において、第1のネットワークデバイスID及び第2のネットワークデバイスIDは、第1のネットワークデバイス及び第2のネットワークデバイスがグループ内にあることを示すインジケーションを含む。
一部の例において、グループネットワークIDを送信することは、第1のネットワークデバイス及び第2のネットワークデバイスの一方に、グループネットワークIDを送信させることを含み得る。グループネットワークIDは、(i)第1のネットワークデバイス及び第2のネットワークデバイスの一方の第1のネットワークデバイスID、及び(ii)第1のネットワークデバイス及び第2のネットワークデバイスの他方の第2のネットワークデバイスIDを含み得る。一部の例において、グループコーディネータは、第1のネットワークデバイスがグループネットワークIDを送信するものであると判断する。他の例において、第1のネットワークデバイスと第2のネットワークデバイスの少なくとも1つは、第1のネットワークデバイスIDと第2のネットワークデバイスIDとを比較することにより、第1のネットワークデバイスがグループネットワークIDを送信するものであると判断する。更に他の例では、第1のネットワークデバイスがグループネットワークIDを送信するものであると制御デバイスが判断し、ネットワークメディアシステムは、更に、制御デバイスを含む。一部の例において、制御デバイスは、メディアソースデバイスを含む。
一部の例において、グループのグループコーディネータを決定することは、(i)メディアソースデバイスから第1のネットワークデバイスを介して、第1のネットワークデバイスでのメディア再生を開始するコマンドを受信すること、及び(ii)第1のネットワークデバイスでのメディア再生を開始するコマンドを受信することに応答して、第1のネットワークデバイスがグループコーディネータであると判断することを含む。
一部の例において、グループのグループコーディネータを決定することは、(i)第1のネットワークデバイスが第2のメディア再生プロトコルを用いてメディアソースデバイスからメディアストリームを受信可能であると判断すること、(ii)第2のネットワークデバイスが第2のメディア再生プロトコルを用いてメディアソースデバイスからメディアストリームを受信可能ではないと判断すること、及び(iii)第1のネットワークデバイスが第2のメディア再生プロトコルを用いてメディアソースデバイスからメディアストリームを受信可能であると判断することに基づいて、第1のネットワークデバイスがグループコーディネータであると判断することを含む。
一部の例は、更に、(i)メディアソースデバイスから、第1のネットワークデバイスでのメディアストリームの再生を開始するコマンドを受信すること、(ii)第1のネットワークデバイスでのメディア再生を開始するコマンドを受信することに応答して、第1のネットワークデバイスがグループコーディネータであると判断すること、(iii)メディアソースデバイスから第1のネットワークデバイスを介して、メディアストリームを受信すること、及び(iv)第1のネットワークデバイスがグループコーディネータであると判断することに基づいて、第1のネットワークデバイスを介して第2のネットワークデバイスへ、再生のためにメディアストリームを送信することを含む。
方法1000は、ブロック1002で始まり、ブロック1002は、第1のネットワークデバイス(又は代わりに、第1のネットワークデバイスを制御するように構成されたコンピュータ)がメディアソースデバイスから第1のメディア再生プロトコルを用いてメディアストリームを受信することを含む。メディアソースデバイス及び第1のネットワークデバイスは、第1のメディア再生プロトコル及び第2のメディア再生プロトコルを用いるように構成される。第1のメディア再生プロトコル及び第2のメディア再生プロトコルには、互換性がない。第1のメディア再生プロトコルは、第1のメディア再生プロトコルを含む。
次に、方法1000は、ブロック1004へ進み、ブロック1004では、第2のネットワークデバイスから、第2のメディア再生プロトコルを用いて第1のネットワークデバイスと共にグループに参加するインジケーションを受信する。
次に、方法1000は、ブロック1006へ進み、ブロック1006は、第1のメディア再生プロトコルを用いて第1のネットワークデバイス及び第2のネットワークデバイスを含むグループを形成することを含む。
一部の例において、グループに参加するインジケーションは、第2のネットワークデバイスからの、第1のネットワークデバイスと共にグループに参加するメッセージを含む。一部の例において、グループに参加するインジケーションは、第2のネットワークデバイスのローカルインタフェースからの、第1のネットワークデバイスと共にグループに参加するコマンドを含む。
一部の例は、更に、(i)第2のネットワークデバイスが第1のメディア再生プロトコルを用いてメディアソースデバイスからメディアストリームを受信可能であると判断すること、及び(ii)第2のネットワークデバイスが第1のメディア再生プロトコルを用いてメディアソースデバイスからメディアストリームを受信可能であると判断することに応答して、第2のネットワークデバイスにメディアストリームを送信するコマンドをメディアソースデバイスへ送信することを含む。
一部の例は、更に、(i)第2のネットワークデバイスが第1のメディア再生プロトコルを用いてメディアソースデバイスからメディアストリームを受信するように構成されていないと判断すること、及び(ii)第2のネットワークデバイスが第1のメディア再生プロトコルを用いてメディアソースデバイスからメディアストリームを受信するように構成されていないと判断することに応答して、第2のネットワークデバイスにメディアストリームを送信することを含む。
一部の例は、更に、(i)第1のネットワークデバイスをグループから削除するコマンドを受信すること、及び(ii)コマンドを受信することに応答して、メディアソースデバイスから切断するコマンドをメディアソースデバイスに送信することを含む。これらの代替例は、更に、コマンドを受信することに応答して、メディアストリームの再生を停止することを含み得る。
方法1100は、ブロック1102で始まり、ブロック1102は、第1のネットワークデバイス(又は代わりに、第1のネットワークデバイスを制御するように構成されたコンピュータ)が、メディアソースデバイスから、第1のメディアストリーム及び第1のメディアストリーム識別子を受信することを含む。
次に、方法1100は、ブロック1104へ進み、ブロック1104は、第2のネットワークデバイスから、第2のメディアストリーム識別子を受信することを含む。第2のメディアストリーム識別子は、第2のネットワークデバイスがメディアソースデバイスから受信した第2のメディアストリームに対応する。一部の例において、メディアソースデバイスと、第1のネットワークデバイス及び第2のネットワークデバイスの一方とは、第1のメディア再生プロトコル及び第2のメディア再生プロトコルを用いるように構成される。これらの例において、第1のメディア再生プロトコル及び第2のメディア再生プロトコルには互換性がない。メディア再生プロトコルは、第1のメディア再生プロトコルが第2のメディア再生プロトコルに関連する再生を制御できず、第2のメディア再生プロトコルが第1のメディア再生プロトコルに関連する再生を制御できない点において、互換性がない場合がある。
次に、方法1100は、ブロック1106に進み、ブロック1106は、第1のメディアストリームと第2のメディアストリームとの間の共通ストリーム特性を判断することを含む。一部の例において、第1のメディアストリームと第2のメディアストリームとの間の共通ストリーム特性を判断することは、第1のメディアストリーム識別子と第2のメディアストリーム識別子とが同一であると判断することを含む。
一部の例において、第1のメディアストリームと第2のメディアストリームとの間の共通ストリーム特性を判断することは、第1のメディアストリーム及び第2のメディアストリームがメディアソースデバイスに由来すると判断することを含む。
代替例において、ブロック1106は、更に、第1のネットワークデバイスがグループのグループコーディネータであると判断することを含む。
一部の例において、第1のネットワークデバイスがグループコーディネータであると判断することは、第1のネットワークデバイスの第1のデバイス識別子を第2のネットワークデバイスの第2のデバイス識別子と比較することを含む。
一部の代替例は、更に、第1のネットワークデバイスがグループコーディネータであると判断することに基づいて、第2のネットワークデバイスから切断するコマンドをメディアソースデバイスに送信することを含む。
一部の代替例は、更に、第1のネットワークデバイスがグループコーディネータであると判断することに基づいて、制御デバイスに対して、第1のネットワークデバイス及び第2のネットワークデバイスがグループ化されていることを示すインジケーションを送信することを含む。
一部の例において、第1のネットワークデバイス及び第2のネットワークデバイスがグループ化されていることを示すインジケーションを送信することは、第2のネットワークデバイスを含むように第1のネットワークデバイスのネットワークデバイスIDを変更することを含む。
次に、方法1100は、ブロック1108に進み、ブロック1108は、第1のメディアストリームと第2のメディアストリームとの間の共通ストリーム特性を判断することに応答して、第2のネットワークデバイスを第1のネットワークデバイスとグループ化することを含む。
一部の例において、第2のネットワークデバイスを第1のネットワークデバイスに対してグループ化することは、第1のメディアストリームを互いに同期して再生するように第1のネットワークデバイス及び第2のネットワークデバイスを構成することを含む。
一部の例において、第2のネットワークデバイスを第1のネットワークデバイスとグループ化することは、ネットワークメディアシステムのトポロジにおいて、第2のネットワークデバイスを第1のネットワークデバイスとグループ化することを含む。
一部の例において、第2のネットワークデバイスを第1のネットワークデバイスとグループ化することは、第1のネットワークデバイスのグループ状態変数を更新することを含む。
一部の例において、第1のネットワークデバイスは、第1のスピーカ及び第1のマイクロホンを含む。一部の例において、第1のネットワークデバイスは、第1のマイクロホンを含み、第2のネットワークデバイスは、第1のスピーカを含む。
次に、方法1100は、ブロック1110に進み、ブロック1110は、制御デバイスに対して、第1のネットワークデバイス及び第2のネットワークデバイスがグループ化されていることを示すインジケーションを送信することを含む。
代替又は追加として、一部の例は、更に、第2のネットワークデバイスを第1のネットワークデバイスからグループ解除するコマンドを制御デバイスから受信することを含む。これらの例は、更に、第1のネットワークデバイスから第2のネットワークデバイスをグループ解除するコマンドを受信することに応答して、第1のネットワークデバイスから第2のネットワークデバイスをグループ解除することを含む。
一部の例において、第1のネットワークデバイスから第2のネットワークデバイスをグループ解除することは、第1のメディアストリームを互いに同期して再生することを停止するように、第1のネットワークデバイス及び第2のネットワークデバイスを再構成することを含む。
一部の例において、第2のネットワークデバイスを第1のネットワークデバイスからグループ解除することは、ネットワークメディアシステムのトポロジにおいて第2のネットワークデバイスを第1のネットワークデバイスからグループ解除することを含む。
一部の例において、第2のネットワークデバイスを第1のネットワークデバイスからグループ解除することは、第1のネットワークデバイスのグループ状態変数を更新することを含む。
一部の例は、更に、第2のネットワークデバイスに、第2のネットワークデバイスから切断するコマンドをメディアソースデバイスへ送信させることを含む。これらの例は、更に、第1のネットワークデバイス及び第2のネットワークデバイスがグループ解除されたことを示すインジケーションを制御デバイスに送信することを含む。
一部の例は、更に、第2のネットワークデバイスを除去するために第1のネットワークデバイスのネットワークデバイスIDを変更するメッセージをメディアソースデバイスに送信することを含む。
一部の例において、制御デバイスは、メディアソースデバイスを含む。
方法1200は、ブロック1202で始まり、ブロック1202は、第1のネットワークデバイス(第1のネットワークデバイスを制御するように構成されたコンピュータ等)がメディアソースデバイスからメディアストリームを受信することを含む。第1のネットワークデバイスは、第1のメディア再生プロトコルを用いるように構成し得ると共に、メディアソースデバイスは、第2のメディア再生プロトコルを用いるように構成し得る。第1のメディア再生プロトコル及び第2のメディア再生プロトコルには互換性がない。
次に、方法1200は、ブロック1204に進み、ブロック1204は、第2のネットワークデバイスにメディアストリームを送信することを含む。第1のネットワークデバイス及び第2のネットワークデバイスは、結合ゾーンにおいて動作するように構成し得る。
一部の例は、更に、第1のネットワークデバイスが、(i)第1のネットワークデバイスは第1のネットワークデバイス及び第2のネットワークデバイスを含む結合ゾーンの結合ゾーンコーディネータであると判断すること、及び(ii)第1のネットワークデバイスが結合ゾーンコーディネータであると判断することに基づいて、メディアソースデバイスにネットワークデバイスIDを送信することを含む。これらの例において、ネットワークデバイスIDは、第1のネットワークデバイス及び第2のネットワークデバイスを示す。
一部の例において、第2のネットワークデバイスにメディアストリームを送信することは、(i)メディアストリームをフィルタリングすること、及び(ii)第2のネットワークデバイスに、フィルタリングされたメディアストリームを送信することを含む。一部の例において、メディアストリームをフィルタリングすることは、メディアストリームを復号すること、及びメディアストリームを解凍することを含み得る。
一部の例において、第2のネットワークデバイスにメディアストリームを送信することは、第2のネットワークデバイスによるフィルタリングのためにネイティブの形式でメディアストリームを送信することを含む。
一部の例は、更に、第1のネットワークデバイスが、(i)第2のネットワークデバイスから再生コマンドを受信すること、(ii)再生コマンドを第2のメディア再生プロトコルに適合するように変換すること、及び(iii)変換された再生コマンドをメディアソースデバイスに送信することを含む。
一部の例において、第1のネットワークデバイスが結合ゾーンコーディネータであると判断することは、第1のメディア再生プロトコルを用いてメディアソースデバイスと通信する能力が第1のネットワークデバイスに存在し、第1のメディア再生プロトコルを用いてメディアソースデバイスと通信する能力が第2のネットワークデバイスに存在しないことを判断することを含む。これらの例において、第1のメディア再生プロトコルは、第1のメディア再生プロトコルを含む。
一部の例において、第1のネットワークデバイスが結合ゾーンコーディネータであると判断することは、(i)メディアストリームのソースタイプを判断すること、(ii)第1のネットワークデバイスとメディアストリームのソースタイプとの間に適合性が存在すると判断すること、及び(iii)第2のネットワークデバイスとメディアストリームのソースタイプとの間に適合性が存在しないと判断することを含む。
一部の代替例は、更に、第1のネットワークデバイスが、(i)第1のネットワークデバイスは第1のネットワークデバイス及び第2のネットワークデバイスを含む結合ゾーンの結合ゾーンコーディネータであることを判断すること、(ii)第1のメディア再生プロトコルを用いてメディアソースデバイスからメディアストリームを受信する能力が第1のネットワークデバイスに存在しないと判断すること、(iii)第2のネットワークデバイスがメディアレシーバであると判断すること、(iv)第2のネットワークデバイスがメディアレシーバであると判断することに基づいて、メディアソースデバイスからメディアストリームを受信し且つメディアストリームを第1のネットワークデバイスに送信するように、第2のネットワークデバイスを構成すること、及び(v)第2ネットワークデバイスからメディアストリームを受信することを含む。
一部の例において、第2のネットワークデバイスがメディアレシーバであると判断することは、第1のメディア再生プロトコルを用いてメディアソースデバイスからメディアストリームを受信する能力が第2のネットワークデバイスに存在することを示すインジケーションを第2のネットワークデバイスから受信することを含む。
一部の例において、第2のネットワークデバイスがメディアレシーバであると判断することは、第2のネットワークデバイスがメディアレシーバであることを示すインジケーションを第2のネットワークデバイスから受信することを含む。
一部の例は、更に、第2のネットワークデバイスがメディアレシーバであると判断することに基づいて、第2のネットワークデバイスに、ネットワークデバイスIDをメディアソースデバイスへ送信させることを含む。これらの例において、ネットワークデバイスIDは、第1のネットワークデバイス及び第2のネットワークデバイスを示す。
一部の例は、更に、第2のネットワークデバイスがメディアレシーバであると判断することに基づいて、第2のネットワークデバイスがネットワークデバイスIDをメディアソースデバイスに送信していることを示すインジケーションを第2のネットワークデバイスから受信することを含む。これらの例において、ネットワークデバイスIDは、第1のネットワークデバイス及び第2のネットワークデバイスを示す。
一部の例において、第2のネットワークデバイスがメディアレシーバであると判断することは、1つ又は複数の動作パラメータが第2のネットワークデバイスに関連していると判断することを含む。これらの例において、1つ又は複数の動作パラメータは、(i)第2のネットワークデバイスと第1のネットワークデバイスとの間の有線ネットワーク接続と、(ii)第2のネットワークデバイスとメディアソースデバイスとの間の有線ネットワーク接続と、(iii)第2のネットワークデバイスと壁電源との間の電力接続のインジケーションと、(iv)定常状態での動作と、(v)所定の閾値を上回る処理パワーと、の少なくとも1つを含み得る。
一部の例において、所定の閾値を上回る処理パワーを判断することは、第2のネットワークデバイスが、(i)メディアソースデバイスからメディアストリームを受信し且つ(ii)メディアストリームを第1のネットワークデバイスへ送信するのに利用可能な処理パワーを有すると判断することを含む。
一部の例において、メディアソースデバイスからメディアストリームを受信し且つメディアストリームを第1のネットワークデバイスに送信するように第2のネットワークデバイスを構成することは、更に、メディアストリームを第3のネットワークデバイスに送信するように第2のネットワークデバイスを構成することを含む。
一部の例において、メディアソースデバイスからメディアストリームを受信し且つメディアストリームを第1のネットワークデバイスに送信するように第2のネットワークデバイスを構成することは、メディアソースデバイスからメディアストリームを受信し且つメディアストリームを第1のネットワークデバイスに送信するコマンドを第2のネットワークデバイスに送信することを含む。
IV.結論
上記の説明は、とりわけ、コンポーネント、ファームウェアおよび/またはハードウェア上で実行されるソフトウェアを含む様々な例示的なシステム、方法、デバイス、および製品を開示している。そのような例は単に例示的なものであり、限定的であると見なされるべきではないことが理解される。例えば、ファームウェア、ハードウェアおよび/またはソフトウェアの態様またはコンポーネントのいずれかまたはすべてを、ハードウェアのみ、ソフトウェアのみ、ファームウェアのみ、またはハードウェア、ソフトウェアおよび/またはファームウェアの任意の組み合わせで実施できることが考えられる。したがって、提供される例は、そのようなシステム、方法、デバイス、および/または製品を実施するための唯一の方法ではない。
更に、本明細書における「実施形態」への言及は、実施形態に関連して説明された特定の特徴、構造、又は特性が、本発明の少なくとも1つの実施形態例に含まれる可能性があることを意味する。この句が本明細書の様々な場所に出現する場合、必ずしも全てが同じ実施形態を示すわけではなく、他の実施形態と相互排他的な別個又は代替の実施形態を示すわけでもない。したがって、当業者により明示的及び暗示的に理解される本明細書に記載の実施形態は、他の実施形態と組み合わせることが可能である。
本明細書は、例示的な環境、システム、手順、ステップ、論理ブロック、処理、および他のシンボル表現に関して広く示されており、それらは直接又は間接的にネットワークに接続されるデータ処理デバイスの動作に類似するものである。これらの処理説明および表現は、一般的に当業者によって使用され、それらの仕事の内容を他の当業者に最も効率良く伝えることができる。多くの具体的な内容が、本開示を理解するために提供されている。しかしながら、当業者にとって、本開示の特定の実施形態が特定の、具体的な詳細なしに実施され得ることは理解される。他の例では、周知の方法、手順、コンポーネント、および回路が、実施形態を不必要に曖昧にすることを避けるため、詳細に説明していない。したがって、本開示の範囲は、上記した実施形態よりむしろ添付された特許請求の範囲によって定義される。
添付の特許請求の範囲のいずれかが単にソフトウェア及び/又はファームウェアへの実装をカバーするように読み取ると、少なくとも1つの例における要素の1つ又は複数は、本明細書では、ソフトウェア及び/又はファームウェアを記憶する有形の非一時的な記憶媒体、例えば、メモリ、DVD、CD、Blu-ray(登録商標)等を含むことが明確に定められている。