(57)【特許請求の範囲】
【請求項１】
オーディオを再生するように適合され、オーディオデータがデジタル音源からオーディオ再生デバイスに供給されるネットワークに動作可能なように接続された複数の前記オーディオ再生デバイスを含むネットワークオーディオシステムにユーザインターフェース(UI)制御を実装するための方法であって、前記ネットワークオーディオシステムが、前記ネットワークに動作可能なように接続され、UIの表現を表示するように適合されたディスプレイを有する制御デバイスをさらに含み、前記制御デバイスが、オペレーティングシステム(OS)と、前記制御デバイスのOS用に書かれたネイティブアプリケーションプログラムと、メモリとを備える、方法であって、
前記制御デバイスのメモリに記憶された局所UIプログラムを提供するステップと、
前記ネイティブアプリケーションプログラムが開かれたとき前記制御デバイスに前記局所UIプログラムを読み込むステップと、
前記制御デバイスのディスプレイ上に前記UIを表示するステップとを含み、
前記ネイティブアプリケーションプログラムは、前記局所UIプログラムのためのラッパーとして動作する、方法。
【請求項２】
前記ネイティブアプリケーションプログラムが、1つまたは複数のネットワークオーディオ再生デバイスの前記ネットワーク上の存在を発見する、請求項1に記載の方法。
【請求項３】
発見された前記ネットワークオーディオ再生デバイスが、すべて単一のユーザアカウントに関連付けられる、請求項2に記載の方法。
【請求項４】
前記ネットワークオーディオ再生デバイスが、シンプルサービス発見プロトコルを介して発見される、請求項2に記載の方法。
【請求項５】
前記局所UIプログラムが、前記発見されたネットワークオーディオ再生デバイスとのアクティブ通信チャネルを確立する、請求項2に記載の方法。
【請求項６】
前記アクティブ通信チャネルが、ウェブソケットプロトコルを使用して達成される、請求項5に記載の方法。
【請求項７】
各発見されたネットワークオーディオ再生デバイスが、前記制御デバイスとの固有の接続を受け取る、請求項5に記載の方法。
【請求項８】
前記ネットワークオーディオシステムが、前記局所UIプログラムの更新が記憶されたメモリを有するウェブサーバと通信し、前記方法が、前記ウェブサーバに前記局所UIプログラムの更新があるかどうかを確認するために前記局所UIプログラムを使用するステップをさらに含む、請求項1に記載の方法。
【請求項９】
前記局所UIプログラムが、前記局所UIプログラムが更新されるやり方をさらに決定する、請求項8に記載の方法。
【請求項１０】
前記局所UIプログラムが、前記更新された局所UIプログラムをダウンロードし、前記制御デバイス上にインストールするように前記ネイティブアプリケーションプログラムに指令する、請求項9に記載の方法。
【請求項１１】
前記局所UIプログラムが、前記ネットワーク上の前記オーディオ再生デバイスのすべての識別を前記ウェブサーバから取得する、請求項8に記載の方法。
【請求項１２】
ウェブサーバが、前記オーディオ再生デバイスのコードを記憶し、前記方法が、前記ウェブサーバに前記オーディオ再生デバイスコードの更新があるかどうかを確認するために前記局所UIプログラムを使用するステップと、更新されたコードが前記ウェブサーバから前記オーディオ再生デバイスに供給されるように構成するステップとをさらに含む、請求項1に記載の方法。
【請求項１３】
前記オーディオ再生デバイスが、前記ウェブサーバから前記オーディオ再生デバイスコードの更新をダウンロードする、請求項12に記載の方法。
【請求項１４】
ウェブサーバが、前記ネイティブアプリケーションプログラムのコードを記憶し、前記方法が、前記ウェブサーバに前記ネイティブアプリケーションプログラムの更新があるかどうかを確認するために前記局所UIプログラムを使用するステップをさらに含む、請求項1に記載の方法。
【請求項１５】
前記ネイティブアプリケーションプログラムのいくつかの更新により、ユーザが、更新されたネイティブアプリケーションプログラムを取り出すためにアプリケーションストアに向けられる、請求項14に記載の方法。
【請求項１６】
前記局所UIプログラムが、前記制御デバイスのディスプレイをレンダリングするためにスケーラブルベクターグラフィックスを使用する、請求項1に記載の方法。
【請求項１７】
前記局所UIプログラムが、前記制御デバイスのディスプレイをレンダリングするためにウェブフォントを使用する、請求項1に記載の方法。
【請求項１８】
前記局所UIプログラムが、画面解像度から独立しており、前記UIの前記ディスプレイのアスペクト比が、前記制御デバイスの前記ディスプレイのアスペクト比と合致するように変化する、請求項1に記載の方法。
【請求項１９】
オーディオを再生するように適合され、オーディオデータがデジタル音源からオーディオ再生デバイスに供給されるネットワークに動作可能なように接続された複数の前記オーディオ再生デバイスを含むネットワークオーディオシステムにユーザインターフェース(UI)制御を実装するための方法であって、前記ネットワークオーディオシステムが、前記ネットワークに動作可能なように接続され、UIの表現を表示するように適合されたディスプレイを有する制御デバイスをさらに含み、前記制御デバイスが、オペレーティングシステム(OS)と、前記制御デバイスのOS用に書かれたネイティブアプリケーションプログラムと、メモリとを備える、方法であって、
前記制御デバイスのメモリに記憶された局所UIプログラムを提供するステップと、
前記ネイティブアプリケーションプログラムが開かれたとき前記制御デバイスに前記局所UIプログラムを読み込むステップと、
前記制御デバイスのディスプレイ上に前記UIを表示するステップとを含み、
前記ネイティブアプリケーションプログラムは、前記局所UIプログラムのためのラッパーとして動作し、
前記ネイティブアプリケーションプログラムが、1つまたは複数のネットワークオーディオ再生デバイスの前記ネットワーク上の存在を発見し、前記局所UIプログラムが、前記発見されたネットワークオーディオ再生デバイスとのアクティブ通信チャネルを確立し、各発見されたネットワークオーディオ再生デバイスが、前記制御デバイスとの固有の接続を受け取り、
前記ネットワークオーディオシステムが、前記局所UIプログラムの更新が記憶されたメモリを有するウェブサーバと通信し、前記方法が、前記ウェブサーバに前記局所UIプログラムの更新があるかどうかを確認するために前記局所UIプログラムを使用するステップをさらに含み、
前記局所UIプログラムが、前記局所UIプログラムが更新されるやり方をさらに決定し、前記局所UIプログラムが、前記更新された局所UIプログラムをダウンロードし、前記制御デバイス上にインストールするように前記ネイティブアプリケーションプログラムに指令し、
前記ウェブサーバが、前記オーディオ再生デバイスのコードも記憶し、前記方法が、前記ウェブサーバに前記オーディオ再生デバイスコードの更新があるかどうかを確認するために前記局所UIプログラムを使用するステップと、更新されたコードが前記ウェブサーバから前記オーディオ再生デバイスに供給されるように構成するステップとをさらに含み、前記オーディオ再生デバイスが、前記ウェブサーバから前記オーディオ再生デバイスコードの更新をダウンロードし、
前記ウェブサーバが、前記ネイティブアプリケーションプログラムのコードも記憶し、前記方法が、前記ウェブサーバに前記ネイティブアプリケーションプログラムの更新があるかどうかを確認するために前記局所UIプログラムを使用するステップをさらに含む、方法。
【請求項２０】
前記局所UIプログラムが、前記制御デバイスのディスプレイをレンダリングするためにスケーラブルベクターグラフィックスとウェブフォントとを使用し、
前記局所UIプログラムが、画面解像度から独立しており、
前記UIの前記ディスプレイのアスペクト比が、前記制御デバイスの前記ディスプレイのアスペクト比に合致するように変化する、請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ネットワークオーディオシステムにおけるユーザインターフェースに関する。
【背景技術】
【０００２】
オーディオシステムは、ローカルエリアネットワーク(LAN)などのネットワークに接続された複数のオーディオ再生デバイスのうちの1つまたは複数にデジタルオーディオデータをストリーミング配信するように構成することができる。各オーディオ再生デバイスは、1つまたは複数のスピーカを通じてオーディオデータを再生することができる。システムは、ユーザがアカウントにログインし、どの音楽を再生し、どのオーディオ再生デバイスを使用して音楽を再生するかを制御することを可能にするシステム制御デバイスとして、適切なソフトウェアが読み込まれたPC、Mac、スマートフォン、タブレットなどのコンピューティングデバイスを使用することができる。これらの制御デバイスは、すべてが同じオペレーティングシステム(OS)を使用しない可能性がある。
【０００３】
任意のシステム制御デバイスにわたって共通のユーザ体験を提供するために、制御デバイスのすべてが同じグラフィカルユーザインターフェース(UI:user interface)を有することが望ましい。ユーザインターフェース(UI)のすべてを同じに保持するために、1つのOSのUIが変更されるたびに、すべての他のサポートされるOSのUIが同じように変更されなければならない。これには開発の時間と費用がかかる。また、ほとんどの更新にはユーザの介在(例えば、システムから提供される更新の承諾)を必要とするので、複数の制御デバイスにわたって共通のUIを維持することは、ユーザが各制御デバイスに対して処置をしなければならないことを意味し得る。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ネットワークオーディオシステム用のすべての制御デバイスのUIが同じであることが望ましい。異なるオペレーティングシステムをサポートするシステムの場合、これは各制御デバイス上に局所的に記憶された共通のUIプログラムを有することによって達成することができる。特定の制御デバイスのOS用に書かれたネイティブアプリケーション(アプリ)は、この局所的に記憶されたUIのラッパーとして動作する。局所UIは、ネイティブアプリが開かれたとき、読み込まれる。したがって、各デバイスは同じUIを表示する。この構成により、局所UIがネイティブアプリとは別個に全体的に更新されることも可能になる。恐らく、更新を承認することを除けば、ユーザが介在する必要なく更新を提供することができる。このスキームは、制御デバイスのOSにかかわらず、すべてのシステム制御デバイスにわたって共通のUIを維持する。
【課題を解決するための手段】
【０００５】
以下に述べるすべての例および特徴を任意の技術的に可能なやり方で組み合わせることができる。
【０００６】
一態様において、オーディオを再生するように適合され、オーディオデータがデジタル音源からオーディオ再生デバイスに供給されるネットワークに動作可能なように接続された複数のオーディオ再生デバイスを含むネットワークオーディオシステムにユーザインターフェース(UI)制御を実装するための方法であって、ネットワークオーディオシステムが、ネットワークに動作可能なように接続され、UIの表現を表示するように適合されたディスプレイを有する制御デバイスをさらに含み、制御デバイスが、オペレーティングシステム(OS)と、制御デバイスのOS用に書かれたネイティブアプリケーションプログラムと、メモリとを備える、方法が、制御デバイスのメモリに記憶された局所UIプログラムを提供するステップと、ネイティブアプリケーションが開かれたとき制御デバイスに局所UIプログラムを読み込むステップと、制御デバイスのディスプレイ上にUIを表示するステップとを含む。
【０００７】
実施形態は、以下の特徴またはそれらの任意の組合せのうちの1つを含むことができる。ネイティブアプリケーションは、1つまたは複数のネットワークオーディオ再生デバイスのネットワーク上の存在を発見することができる。発見されたネットワークオーディオ再生デバイスは、すべて、単一のユーザアカウントに関連付けることができる。ネットワークオーディオ再生デバイスは、シンプルサービス発見プロトコル(SSDP:simple service discovery protocol)を介して発見され得る。局所UIプログラムは、発見されたネットワークオーディオ再生デバイスとのアクティブ通信チャネルを確立することができる。アクティブ通信チャネルは、ウェブソケットプロトコルを使用して達成され得る。各発見されたネットワークオーディオ再生デバイスは、制御デバイスとの固有の接続を受け取ることができる。
【０００８】
実施形態は、以下の特徴またはそれらの任意の組合せのうちの1つを含むことができる。ネットワークオーディオシステムは、UIプログラムの更新が記憶されたメモリを有するウェブサーバと通信することができ、方法は、ウェブサーバに局所UIプログラムの更新があるかどうかを確認するためにUIプログラムを使用するステップをさらに含むことができる。局所UIプログラムは、局所UIプログラムが更新されるやり方をさらに決定することができる。局所UIプログラムは、更新された局所UIプログラムをダウンロードし、制御デバイス上にインストールするようにネイティブアプリケーションに命令することができる。局所UIプログラムは、ネットワーク上のオーディオ再生デバイスのすべての識別をウェブサーバから取得することができる。
【０００９】
実施形態は、以下の特徴またはそれらの任意の組合せのうちの1つを含むことができる。ウェブサーバはオーディオ再生デバイスのコードを記憶することもでき、方法は、ウェブサーバにオーディオ再生デバイスコードの更新があるかどうかを確認するためにUIプログラムを使用するステップと、更新されたコードがウェブサーバからオーディオ再生デバイスに供給されるように構成するステップとをさらに含むことができる。オーディオ再生デバイスは、オーディオ再生デバイスコードの更新をウェブサーバからダウンロードすることができる。ウェブサーバは、ネイティブアプリケーションプログラムのコードを記憶することもでき、方法は、ウェブサーバにネイティブアプリケーションプログラムの更新があるかどうかを確認するためにUIプログラムを使用するステップをさらに含むことができる。ネイティブアプリケーションプログラムのいくつかの更新により、ユーザは、更新されたネイティブアプリケーションプログラムを取り出すためにアプリケーションストアに向けられ得る。
【００１０】
実施形態は、以下の特徴またはそれらの任意の組合せのうちの1つを含むことができる。UIプログラムは、UIディスプレイをレンダリングするためにスケーラブルベクターグラフィックスを使用することができる。UIプログラムは、UIディスプレイをレンダリングするためにウェブフォントを使用することができる。局所UIプログラムは、画面解像度から独立していることができ、UIのディスプレイのアスペクト比は、制御デバイスのディスプレイデバイスのアスペクト比と合致するように変化することができる。
【００１１】
別の態様において、オーディオを再生するように適合され、オーディオデータがデジタル音源からオーディオ再生デバイスに供給されるネットワークに動作可能なように接続された複数のオーディオ再生デバイスを含むネットワークオーディオシステムにユーザインターフェース(UI)制御を実装するための方法であって、ネットワークオーディオシステムが、ネットワークに動作可能なように接続され、UIの表現を表示するように適合されたディスプレイを有する制御デバイスをさらに含み、制御デバイスが、オペレーティングシステム(OS)と、制御デバイスのOS用に書かれたネイティブアプリケーションプログラムと、メモリとを備える、方法が、制御デバイスのメモリに記憶された局所UIプログラムを提供するステップと、ネイティブアプリケーションが開かれたとき制御デバイスに局所UIプログラムを読み込むステップと、制御デバイスのディスプレイ上にUIを表示するステップとを含む。ネイティブアプリケーションは、1つまたは複数のネットワークオーディオ再生デバイスのネットワーク上の存在を発見し、局所UIプログラムが、発見されたネットワークオーディオ再生デバイスとのアクティブ通信チャネルを確立し、各発見されたネットワークオーディオ再生デバイスが、制御デバイスとの固有の接続を受け取る。ネットワークオーディオシステムは、UIプログラムの更新が記憶されたメモリを有するウェブサーバと通信し、方法が、ウェブサーバに局所UIプログラムの更新があるかどうかを確認するためにUIプログラムを使用するステップをさらに含む。局所UIプログラムは、局所UIプログラムが更新されるやり方をさらに決定し、局所UIプログラムが、更新された局所UIプログラムをダウンロードし、制御デバイス上にインストールするようにネイティブアプリケーションに指令する。ウェブサーバは、オーディオ再生デバイスのコードも記憶し、UIプログラムは、ウェブサーバにオーディオ再生デバイスコードの更新があるかどうかを確認し、更新されたコードがウェブサーバからオーディオ再生デバイスに供給されるように構成するのに使用され、オーディオ再生デバイスが、ウェブサーバからオーディオ再生デバイスコードの更新をダウンロードする。ウェブサーバは、ネイティブアプリケーションプログラムのコードも記憶し、UIプログラムは、ウェブサーバにネイティブアプリケーションプログラムの更新があるかどうかを確認するのに使用される。
【００１２】
実施形態は、以下の特徴またはそれらの任意の組合せのうちの1つを含むことができる。UIプログラムは、UIディスプレイをレンダリングするためにスケーラブルベクターグラフィックスとウェブフォントとを使用することができる。局所UIプログラムは、画面解像度から独立していることができる。UIのディスプレイのアスペクト比は、制御デバイスのディスプレイデバイスのアスペクト比と合致するように変化することができる。
【図面の簡単な説明】
【００１３】
【図１】ネットワークオーディオシステムの構成図である。
【図２】図1のオーディオシステムの例示的なコントローラの構成図である。
【図３】図1のオーディオシステムにおけるデバイス間通信を例示する構成図である。
【図４Ａ】スマートフォンなどのモバイルデバイスの形のコントローラに適切であり得る、「プリセット」モードで主な適用状態のユーザインターフェースの代替実装形態を示す図である。
【図４Ｂ】スマートフォンなどのモバイルデバイスの形のコントローラに適切であり得る、「現在再生中」モードで主な適用状態のユーザインターフェースの代替実装形態を示す図である。
【図４Ｃ】スマートフォンなどのモバイルデバイスの形のコントローラに適切であり得る、「探索」モードで主な適用状態のユーザインターフェースの代替実装形態を示す図である。
【発明を実施するための形態】
【００１４】
本明細書に説明するネットワークオーディオシステムは、無線ローカルエリアネットワーク(LAN)などのネットワークに接続された複数のオーディオ再生デバイスのうちの1つまたは複数にデジタルオーディオデータをストリーミング配信するように適合される。各オーディオ再生デバイスは、1つまたは複数のスピーカを通じてオーディオデータを再生することができる。システムは、ユーザがアカウントにログインし、どの音楽を再生し、どのオーディオ再生デバイスを使用して音楽を再生するかを制御することを可能にするシステム制御デバイスとして、適切なソフトウェアが読み込まれたPC、Mac、スマートフォン、タブレットなどのコンピューティングデバイスを使用する。これらの制御デバイスは、複数のオペレーティングシステム、例えば、iOS、WindowsおよびAndroidをサポートすることができる。システム制御デバイスのすべてにわたって共通のユーザ体験を提供するために、それらのすべては同じUIを有する。同じUIをシステム制御デバイスのうちの2つ以上(例えば、すべて)に使用することは、各制御デバイス上に局所的に記憶された共通のUIプログラムを有することによって達成され得る。特定の制御デバイスのOS用に書かれたネイティブアプリケーションは、この局所UIのラッパーとして動作する。局所UIは、ネイティブアプリが開かれたとき、読み込まれる。したがって、各デバイスは同じUIを表示する。この構成により、局所UIがネイティブアプリとは別個に全体的に更新されることも可能になる。これは、制御デバイスのOSにかかわらず、すべてのシステム制御デバイスにわたって共通のUIを維持する。
【００１５】
本明細書に説明するデバイス、システムおよび方法の例は、当業者には明らかとなるコンピュータ構成要素と、コンピュータ実装ステップとを含む。例えば、コンピュータ実装ステップは、例えば、フロッピーディスク、ハードディスク、光ディスク、フラッシュROM、不揮発性ROM、RAMなどのコンピュータ可読媒体上にコンピュータ実行可能命令として記憶され得ることが当業者には理解されるはずである。さらに、コンピュータ実行可能命令は、例えば、マイクロプロセッサ、デジタル信号プロセッサ、ゲートアレイなどの様々なプロセッサ上で実行され得ることが当業者には理解されるはずである。説明しやすいように、システムおよび方法のあらゆるステップまたは要素をコンピュータシステムの一部として本明細書に説明しないが、各ステップまたは要素は、対応するコンピュータシステムまたはソフトウェア構成要素を有し得ることを当業者は認識されよう。そのようなコンピュータシステムおよび/またはソフトウェア構成要素は、したがって、それらの対応するステップまたは要素(すなわち、それらの機能性)を説明することによって有効とされ、本開示の範囲内にある。
【００１６】
図1のオーディオ配信システム10は、ネットワークオーディオシステムにUI制御を実装するための方法を達成するのに使用することができ、オーディオ配信に関与するコンピュータデバイスも含む。システム10は、デジタルオーディオ(例えば、デジタル音楽)を供給するように適合される。システム10は、システムのオーディオ出力デバイス20の群の中にある、いくつかのオーディオ再生デバイス22、24および26を含む。1つの非限定実施形態において、オーディオ再生デバイスは、各々、デジタルオーディオ信号を受け取り、それらをアナログの形に変換することができるデジタル/アナログコンバータを含む同一のデバイスである。オーディオ再生デバイスは、アナログオーディオ信号を受け取り、それらを音声に変換する電気音響変換器も含む。オーディオ再生デバイスは、プロセッサも含む。オーディオ再生デバイスは、ネットワーク30を介して相互に接続され、ルータ/アクセスポイント32にも接続される。したがって、オーディオ再生デバイスは、相互に通信することができる。ネットワーク30は、有線および/または無線ネットワークであり得る。ネットワーク30は、インターネット56との接続によるこの非限定例において、ワイドエリアネットワーク(WAN)14に接続されたLAN12の一部である。また、LAN12は、1つまたは複数のコンピューティングデバイス40と、1つまたは複数の局所音楽ソース46とを含む。この非限定例において、コンピューティングデバイスは、パーソナルコンピュータ42と、スマートフォンやタブレットなどのモバイルデバイス44とを含む。WAN14は、サーバ50と、インターネット無線サービス52とを含み、両方ともインターネット56を介してLANと通信することができる。
【００１７】
システム10の1つの用途は、群20におけるオーディオ再生デバイス22、24および26のうちの1つまたは複数を介してオーディオストリームを再生することである。デジタルオーディオの音源は、ネットワーク30を介してオーディオ再生デバイスに移動するオーディオストリームなどのコンテンツへのアクセスを提供する。そのようなオーディオストリームの音源は、例えば、インターネット無線局およびユーザ定義のプレイリストを含むことができる。そのようなデジタル音源の各々は、オーディオ再生デバイスのうちの1つまたは複数を介してユーザによって再生されるように選択することができるオーディオコンテンツのリポジトリを維持する。そのようなデジタル音源は、例えば、Pandora(商標)、Spotify(商標)、vTuner(商標)などのインターネットベースの音楽サービスを含むことができる。デジタル音源46などのネットワーク接続ストレージデバイスおよびモバイルデバイス上に見出すことができるなどのメディアサーバアプリケーションも、オーディオデータ源であり得る。ユーザは、PC42などの制御デバイス40および/またはモバイルコンピューティングデバイス(例えば、スマートフォンまたはタブレット)44のうちのいずれかを介して音源および再生デバイスを選択することができる。ユーザは、以下にさらに説明するように、オーディオ再生デバイスのうちの1つを介して、例えば、プリセットされた音源の選択によって、音源および再生デバイスを選択することもできる。
【００１８】
オーディオ再生デバイスは、オーディオコンテンツをレンダリングする(すなわち、再生する)ことができる電子デバイスである。これらのデバイスは、記憶されたオーディオコンテンツ(例えば、遠隔に記憶されたオーディオコンテンツ)にアクセスし、それをストリーミングして再生することができる。場合によっては、オーディオ再生デバイスは、局所的に記憶されたコンテンツを再生することもでき得る。これらのデバイスは、音声コーデックと、それらの内部で利用可能なデジタル信号プロセッサ(DSP)とを用いてオーディオをレンダリングする。
【００１９】
オーディオ再生デバイスは、互いに通信することができる。例えば、各オーディオ再生デバイスは、オーディオシステム内の他のオーディオ再生デバイスと、例えば、同期化のために、通信することができる。これは、プリセット割り当ての同期化などの、または再生の同期化(例えば、オーディオ再生デバイスのすべてまたはサブセットが同じコンテンツを同時におよび同期して再生するように)のためのデバイス設定の同期化であり得る。
【００２０】
デジタル音源は、コンテンツ(例えば、オーディオストリーム)をオーディオ再生デバイスに供給するための1つまたは複数の関連実体へのアクセスを可能にし、オーディオ再生デバイスから遠隔に配置することができるデバイスおよび/またはサービスである。本明細書では、「実体」とは、再生のためのコンテンツの分類または集合を表す。例示的な実体は、インターネット無線局とユーザ定義のプレイリストとを含む。「コンテンツ」とは、再生のためのデータ(例えば、オーディオトラック)のことである。「関連実体」とは、特定の音源に関連付けられた実体を表す。例えば、デジタル音源がPandora(商標)などのインターネット音楽サービスである場合、関連実体の例は、Pandora(商標)によって提供される無線局となる。
【００２１】
オーディオシステム10のために、オーディオストリームは、データとみなされる。それらは、アナログに変換されてから提示されるデジタル情報として処理される。データストリーミングは、データが音源からオーディオ再生デバイスに移動される方法である。典型的には、このデータ移動には、プッシュとプルとの2つのモデルがある。オーディオシステム10は、このオーディオ(データ)ストリーミングを両方のやり方で管理することができる。これらのプロセスの説明は以下の通りである。
【００２２】
プッシュモデルでは、デジタル音源は、オーディオ再生デバイスにそれが所望する速さでデータを移動させる。データの受信側(例えば、オーディオ再生デバイスのうちの1つ)は、データの受信を確認し、デジタル音源はさらにデータを提供する。このモデルは、オーディオシステム10のスループット特性を管理するのにデジタル音源を必要とする。プルモデルでは、オーディオ再生デバイスは、それが所望する速度でデータをデジタル音源に要求する。これにより、オーディオ再生デバイスはデータが利用可能である場合、先を読み取ることが可能になる。
【００２３】
デジタル音源は、各々、ユーザによって再生するために選択され得るオーディオコンテンツのリポジトリを維持する。デジタル音源は、デジタルリビングネットワークアライアンス(DLNA(商標):Digital Living Network Alliance)またはハイパーテキスト転送プロトコル(HTTP:Hypertext Transfer Protocol)に類似した他のウェブベースのプロトコルに基づくことができる。このカテゴリーにおけるデバイスおよびサービスのうちのいくつかは、Pandora(商標)、Spotify(商標)、vTuner(商標)などのインターネットベースの音楽サービスと、ネットワーク接続ストレージ(NAS)デバイスと、メディアサーバデーモン(例えば、コンピュータベースのコントローラの構成要素として提供される)とを含む。
【００２４】
デジタル音源は、ネットワーク接続ストレージ(NAS)デバイスなどのネットワーク音源、および無線(Wi-Fi)または有線(Ethernet)ホームネットワークなどのローカルエリアネットワークを介してオーディオ再生デバイスにアクセス可能であり得るDLNAサーバ、ならびにインターネットなどのワイドエリアネットワークを介してオーディオ再生デバイスにアクセス可能であるPandora(商標)、vTuner(商標)、Spotify(商標)などのインターネット無線サイトから利用可能なデジタル音楽ファイルのユーザ定義のプレイリストを含む。
【００２５】
コントローラ(制御デバイス)は、オーディオ再生デバイスを制御することおよびオーディオシステムにおける音源をブラウズすることを受け持つ。このコントローラのカテゴリーのデバイスのうちのいくつかは、デスクトップコンピュータ、ラップトップコンピュータ、およびスマートフォンやタブレットなどのモバイルデバイスを含み、それらのいずれかまたはすべては、コンピューティングデバイス40の一部であり得る。これらのデバイスは、無線通信インターフェース(例えば、IEEE802.11b/g、Bluetooth(商標) LE、赤外線など)を介してオーディオ再生デバイスを制御する。コントローラは、ユーザのネットワーク対応オーディオ再生デバイスのオンライン管理ツールとして働く。コントローラは、ユーザが以下のうちの1つまたは複数を実施することが可能になるインターフェースを提供する。すなわち、Wi-Fiネットワークとの接続を設定する、ユーザのオーディオシステムアカウントを作成する、ユーザのオーディオシステムアカウントに署名し情報を取り出す、ユーザのオーディオシステムアカウントに/からオーディオ再生デバイスを追加しまたは取り除く、複数のデバイスによる同期再生を設定し制御する、オーディオ再生デバイスの名称を編集する、ソフトウェアを更新する、音源に(オーディオ再生デバイスを介して)アクセスし管理する(例えば、追加しまたは削除する)、音源を検索する、音源のうちの1つに関連付けられた実体(例えば、プレイリストまたは無線局)をプリセットインジケータに割り当てる、プリセットを選択する、最近の利用をブラウズし選択する、ただし、「最近の利用」とは、最近アクセスされた実体を表す、輸送制御(例えば、再生/一時停止、次へ/スキップ、前へ、サムアップ/ダウンなどのカスタムソースコントロール、ブックマーキング)を使用する、「現在再生中」(すなわち、コンテンツが現在オーディオ再生デバイス上で再生されている)およびアルバムアートを閲覧する、音量レベルを調整する、および多室デバイス設定および制御をする。
【００２６】
場合によっては、コントローラは、ネットワークコントローラと補助コントローラとを含むことができる。ネットワークコントローラは、無線(Wi-Fi)ネットワーク接続を介してオーディオ再生デバイスと通信するコントローラである。ネットワークコントローラは、主ネットワークコントローラと副ネットワークコントローラとを含むことができる。主ネットワークコントローラは、次の操作に利用することができる。すなわち、オーディオ再生デバイスをWi-Fiネットワークに接続する(オーディオ再生デバイスと主ネットワークコントローラとのUSB接続を介して)、ユーザのシステムアカウントを作成する、音楽サービスを設定する、再生のためのコンテンツをブラウズする、オーディオ再生デバイスにプリセット割り当てを設定する、オーディオ再生デバイスの輸送制御(例えば、再生/一時停止、早送り/巻き戻しなど)、およびコンテンツ再生のためにオーディオ再生デバイスを選択する(例えば、単室再生または同期多室再生)。主ネットワークコントローラのカテゴリーのデバイスには、デスクトップおよびラップトップコンピュータを含むことができる。
【００２７】
副ネットワークコントローラは、主ネットワークコントローラの機能の全部ではなく一部を提供することができる。例えば、副ネットワークコントローラは、主ネットワークコントローラによって提供されるアカウント設定およびアカウント管理機能の全部は提供しない可能性がある。副ネットワークコントローラは、音楽サービス設定、コンテンツのブラウジング、プリセット割り当てのオーディオ再生デバイスへの設定、オーディオ再生デバイスの輸送制御、コンテンツ再生のためのオーディオ再生デバイスの選択、および単室または同期多室再生の選択に使用することができる。副ネットワークコントローラのカテゴリーのデバイスには、スマートフォンやタブレットなどのモバイルデバイスを含むことができる。
【００２８】
補助コントローラは、無線で(例えば、Bluetooth low energy (BTLE)または赤外線を介して)オーディオ再生デバイスのうちの関連する(例えば、対を成す)1つと通信する。補助コントローラは、限定された機能性を提供することができる。補助コントローラは、コンテンツのブラウジング、オーディオ再生デバイスのうちの関連する1つへのプリセット割り当ての設定、および関連するオーディオ再生デバイスの輸送制御(再生/一時停止など)に使用することができる。
【００２９】
サーバ50は、ユーザのオーディオシステムアカウントに関連した情報を含む(例えば、アカウントデータベース内に)クラウドベースのサーバである。これには、システム10内のオーディオ再生デバイスのリスト、デバイス診断情報、プリセット割り当てなどのユーザカウント情報が含まれる。サーバは、プリセット管理ならびに音源の管理およびユーザのオーディオシステムアカウントの管理のために、オーディオ再生デバイスによっておよびコントローラによって(例えば、主ネットワークコントローラによって)接続される。制御デバイスとウェブサーバとの通信およびオーディオ再生デバイスとウェブサーバとの通信については、以下により詳細に論じる。
【００３０】
オーディオ再生デバイス20と、コントローラ40のうちの1つまたは複数とは、ローカルエリアネットワーク(LAN)30に結合される。デジタル音源46(例えば、ネットワーク接続ストレージ(NAS)デバイス)のうちの1つまたは複数などの他のデバイスもLANに結合され得る。LANは有線ネットワーク、無線ネットワーク、またはそれらの組合せでよい。一例において、LAN内のデバイス(例えば、オーディオ再生デバイスおよびコントローラ(例えば、主および副コントローラ))は、IEEE802.11b/gなどの業界標準に基づいてLANに無線で結合される。LANは家庭、オフィス、または車両内のネットワークを表すことができる。住宅の場合、オーディオ再生デバイスは、家庭内の異なる部屋(例えば、キッチン、食堂、地下室など)に構成することができる。LAN内のデバイスは、ユーザ供給のアクセスポイント(例えば、ルータ)に接続し、続いて、他のデジタル音源(例えば、インターネットベースの音楽サービス)およびサーバとの通信のためにワイドエリアネットワーク(WAN)14(例えば、インターネット)に接続する。
【００３１】
図2を参照すると、例示的なコントローラ(制御デバイス)100が、デバイスのOSを起動するプロセッサ102と、メモリ104と、ディスプレイ112およびディスプレイインターフェース100と、ユーザ入力インターフェース106と、ネットワークインターフェース108とを含む。デバイス100は、当業者には明らかであるように、他の構成要素をさらに含むことができる。プロセッサ102、メモリ104、ディスプレイ112およびディスプレイインターフェース100、ならびにネットワークインターフェース108の各々は、様々なバスを使用して相互接続され、構成要素のうちのいくつかは、共通のマザーボード上に、または必要に応じて他のやり方で取り付けることができる。
【００３２】
プロセッサ102は、メモリ104または副ストレージデバイス(図示せず)に記憶された命令を含む、コントローラ100内の命令(例えば、ソフトウェア)を実行することができる。プロセッサ102は、別々のおよび複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装され得る。プロセッサ102は、例えば、ユーザインターフェース、コントローラ100によって起動されるアプリケーション、およびコントローラ100によるネットワーク通信の制御などのコントローラ100の他の構成要素の調整を行うことができる。プロセッサ102は、ディスプレイ112およびユーザ入力インターフェース106を通じてユーザと通信することができる。ディスプレイインターフェース110は、ディスプレイ112に結合することができる。ディスプレイ112は、LCDモニタ、またはタッチセンサ式のディスプレイ(例えば、モバイルデバイスの場合)を含むことができる。ディスプレイインターフェース110は、ディスプレイ112を駆動して、図形情報(例えば、グラフィカルユーザインターフェース(GUI))およびユーザへの他の情報を提示するために適切な回路を備えることができる。
【００３３】
ユーザ入力インターフェース106は、キーボード、マウスなどのポインタデバイスおよび/またはタッチセンサ式のディスプレイなどの1つまたは複数のユーザ入力デバイスを含むことができる。場合によっては、ディスプレイ112およびユーザ入力インターフェース106の機能を提供するために、同じデバイス(例えば、タッチセンサ式のディスプレイ)を利用することができる。
【００３４】
ネットワークインターフェース108は、オーディオ再生デバイスの一部である対応するネットワークインターフェースを介したオーディオ再生デバイス(図1の物品20)のうちの1つまたは複数との無線通信(例えば、Wi-Fi、Bluetooth、赤外線など)を容易にする。
【００３５】
メモリ104は、コントローラ100内の情報を記憶する。いくつかの実装形態において、メモリ104は揮発性メモリユニットである。いくつかの実装形態において、メモリ104は不揮発性メモリユニットである。メモリ104は、磁気または光ディスクなどのコンピュータ可読媒体の別の形でもあり得る。
【００３６】
命令(例えば、ソフトウェア)は情報担体に記憶させることができる。命令は、1つまたは複数の処理デバイス(例えば、プロセッサ102)によって実行されたとき、本明細書に説明するプロセスなどの1つまたは複数のプロセスを実施する。命令はコンピュータまたは機械可読媒体などの1つまたは複数のストレージデバイス(例えば、メモリ104、大容量ストレージデバイスなどの異なるストレージデバイス、またはプロセッサ102内のメモリ)によっても記憶され得る。
【００３７】
図3は、図1のオーディオシステム内のデバイス間通信を例示する構成図である。制御デバイス100は、ネイティブアプリケーションプログラム120と、ネイティブUI122と、ウェブビュー(例えば、WebKit)124と、局所(記憶された)UI126とを含む。ウェブサーバ132(図1のサーバ50に類似の)およびオーディオ再生デバイス130も示される。ネイティブアプリ120は、局所的に記憶されたUI126のためのラッパーとして動作する。ネイティブアプリ120は、本質的に、局所UIのビューポートを提供するが、UIがデバイスのOS用に書かれたネイティブプログラムであるかのように見せる。上をクリックするとネイティブアプリ120が開くアプリアイコンがある。局所UIはネイティブアプリ内に読み込まれ、局所UIがデバイスのディスプレイ上に表示される。局所UIは、ネイティブアプリ内で起動するウェブビュー内で起動する。ネイティブアプリ120は、データ、画面サイズなどの情報、および局所UI層がアクセスできない可能性がある他の側面の永久記憶のような機能もいくつか提供することができる。局所UIは、プラットフォームによって提供されるJSインターフェースにわたってJSONを使用し、プロトコルを介してネイティブアプリとインターフェースする。
【００３８】
局所UI126は、ウェブサーバ132とのHTTP通信148(例えば、HTTP RESTプロトコルを介して)を達成する。局所UIは、ウェブサーバに記憶されたxml更新ファイルを読み取り、アカウントとのログインおよびログアウトを行い、ユーザのアカウントに属するオーディオ再生デバイスのリストを取得し、オーディオ再生デバイスが現在オフラインである(1つの例は、デバイスをサーバから除去することである)場合、オーディオ再生デバイスが直接送るはずのいくつかのコマンドを送ることもできる。ネイティブアプリ120は、オーディオデバイスがサポートされるオーディオネットワークの一部であるかどうかを決定し、次いで、そのようなデバイスおよびそれらのアドレスのリストを局所UI層126に送る。1つの非限定例において、情報は、各発見されたデバイスのIPおよびMACアドレスを含む。オーディオ再生デバイス130は、HTTPを介してウェブサーバ150とも通信する。この通信は、デバイスソフトウェアを更新することに関連することもできる。
【００３９】
局所UI126は、オーディオ再生デバイスとの通信を確立する。1つの実装形態において、それは、ネットワーク上ですべてのオーディオ再生デバイスとのアクティブ通信チャネルを確立し、維持することができるウェブソケット140を使用してこれを行う。各オーディオ再生デバイスとの固有の接続がある。これは、コンテンツを両方の方向に自由にプッシュしプルする能力を提供する。ウェブソケット接続を確立するために、IPアドレスが必要であり、それはSSDP(シンプルサービス発見プロトコル)142によって提供される。SSDPの後、HTTP146を使用して、デバイスがユーザのアカウントに属するかどかを確認する。そのステップの後に初めて、ウェブソケット接続が開かれる。
【００４０】
局所UI126は、したがって、本質的に、遠隔制御デバイスとして、またはすべてのハードウェアシステムに対する遠隔ディスプレイとして動作する。局所UI126は、サーバ132とも直接通信する。それは、やはり、複数のオーディオ再生デバイスを互いに結合し、したがって、それらは、すべて、同じオーディオストリームを再生するように同期化することができる。
【００４１】
局所UI126は、ネイティブフレーム、局所UIの更新およびオーディオ再生デバイスのソフトウェアの更新を含む制御デバイスおよびオーディオ再生デバイスの更新のゲートキーパーである。サーバ132は、そのメモリ内に最新版のすべてのソフトウェアを有するXMLファイルを維持する。UI126はこれを読み取り(プルモデル)、更新が利用可能かどうかを決定し、この更新が任意選択であるのかまたは必須であるのかを決定することができる(XMLファイル内に設定されたエコシステム適合性および任意選択のフラッグに基づいて)。
【００４２】
局所UIの更新は、次のプロセスを介して処理される。すなわち、局所UIはXMLを確認し、UIは更新の利用可能性およびパスを決定し、パスおよびコマンドがネイティブアプリ層に送られ、ネイティブ層は更新パッケージをダウンロードし、ネイティブ層はUI層に更新が利用可能であることを知らせ、UIは制御デバイスのディスプレイを介してユーザに更新を知らせ、ユーザが同意すると(更新が必須である場合、ユーザは同意しなければならず、更新を拒絶することができない)、UI層はネイティブ層に更新をインストールするように指令し、ネイティブは後でUIファイルを解凍し交換し、次いで、ネイティブ層は局所UIをリフレッシュする。
【００４３】
オーディオ再生デバイスの更新は以下のように処理される。更新はウェブサーバのXMLファイルの一部である。オーディオ再生デバイスの更新が利用可能であるとき、局所UIはユーザに知らせる(デバイストレイまたはポップアップ画面を介して)。次いで、更新がウェブサーバからオーディオ再生デバイスに連絡される。
【００４４】
ネイティブアプリ120の更新は、制御デバイスを介してユーザに提示される。デバイスがPCまたはMacである場合、ユーザは、新たなソフトウェアのコピーをダウンロードするためにウェブサーバに向けられる。iOSおよびAndroidの場合、ユーザは、新たなネイティブアプリをダウンロードするためにアプリストアまたはGoogle Play内のアプリに向けられる。
【００４５】
局所UI126の別の側面は、局所UI126が異なるプラットフォームの複数のラスターアイコンサイズではなく、ベクターグラフィックスを使用することである。したがって、ベクターグラフィックスの1つの組だけをすべてのプラットフォームならびに画面サイズおよび画面解像度に使用する必要がある。ウェブフォントもより簡単な「制御」またはインジケータアイコンのためにUI126によって使用される。局所UIは、画面解像度およびスケールから独立しており、したがって、局所UIは異なる解像度のディスプレイ上で同様に見える。また、そのアスペクト比は、制御デバイスのディスプレイデバイスのアスペクト比と合致するように変化する。
【００４６】
図4A〜図4Cは、タブレットやスマートフォンなどのモバイル制御デバイス用に局所UIによって確立することができるグラフィカルUI1600の非限定実装形態を例示する。図4A〜図4Cの実装形態において、主な適用は、3つのモードのうちの1つであり得る。すなわち、プリセットモード(図4A)、現在再生中モード(図4B)、または探索モード(図4C)。ユーザは、プリセット、現在再生中、および探索モード間を左右にスワイプする/ナビゲートすることによって、これらのモード間をナビゲートすることができる。
【００４７】
図4Aを参照すると、主な適用のユーザインターフェース1600が、オーディオ再生デバイス領域1612と、プリセット領域1614と、音源領域1616とを含む。オーディオ再生デバイス領域1612は、制御に利用可能であるLAN上のオーディオ再生デバイス(図1の物品20)をリストする。ユーザは、オーディオ再生デバイスを利用可能なデバイスのリストから選択することができる。オーディオ再生デバイス領域1612は、選択されたデバイスの音量を制御するのに使用することができる音量スライダー1616を含む。
【００４８】
プリセット領域1614は、選択されたオーディオ再生デバイス上のプリセットインジケータ1〜6に対応する(この非限定例では6つの)プリセットインジケータ1620のリスト(仮想ボタン1〜6の形で)を含む。プリセットインジケータは、各プリセットインジケータの対応する数値識別子によって識別される。ユーザは、選択されたオーディオ再生デバイスを用いて、選択されたプリセットに関連付けられたコンテンツを再生するようにプリセットを選択することができる(例えば、ダブルクリックすることによって)。
【００４９】
音源領域1616は、主な適用のプリセットモード、現在再生中モード、または探索モードを表示する。図4Aに示すプリセットモードでは、音源領域1616は、デバイスプリセットの追加情報を表示する。追加情報は、プリセットボタンの数値識別子とともに、プリセットに割り当てられた対応する実体の説明を含むことができる。
【００５０】
現在再生中モード(図4B)では、音源領域1616は、選択されたオーディオ再生デバイスによって再生されているコンテンツのアルバムアート1618を表示する。音源領域1616は、再生しているコンテンツの音源1620の識別ならびにアーティスト名/アルバム名/トラック名、またはたぶん局名など、音源特有の現在再生中の情報1622も含む。現在再生中モードでは、音源領域1616は、再生、一時停止、スキップフォワードなどの輸送機能および/またはサムアップ/ダウンなどの非輸送機能を含むことができる音源特有のボタン1624も含むことができる。
【００５１】
探索モード(図4C)では、ユーザは利用可能なコンテンツおよび特徴をブラウズすることが可能になる。探索モードでは、音源窓は、ユーザがナビゲートしていって、再生するコンテンツを選択し、プリセットに割り当てる実体を選択し、ヘルプコンテンツにアクセスし、および/または設定を管理することができる複数のメニューのうちの1つを表示する。
【００５２】
最上位の探索リストは、利用可能な音源、最近の利用、ヘルプコンテンツ、およびUIの設定状態へのリンクを含む。複数のアカウントを有する音源(例えば、すべて、ユーザのシステムアカウントに関連した複数のPandora(商標)アカウント)は、最初に設定された1つを最初にリストして、日付別にリストすることができる。
【００５３】
音源の選択により、音源窓の選択された音源に関連付けられた実体のサブリストが開かれる。実体のサブリストは、上記に論じたように、コントローラ、選択されたオーディオ再生デバイス、および選択された音源の間の通信を介して生成される。
【００５４】
図4は、対象のシステムコントローラにおいて達成することができるUIの1つの非限定例にすぎない。しかし、本明細書の本開示は、任意の特定のディスプレイもUIも企図しておらず、それらに限定されないことを理解されたい。むしろ、コントローラを使用する特定のネットワークオーディオシステムの必要性に基づいて特定の制御ディスプレイを確立することができる。
【００５５】
いくつかの実装形態を説明してきた。それにもかかわらず、本明細書に説明する発明概念の範囲から逸脱することなく追加の変更を加えることができ、したがって、他の実施形態は以下の特許請求の範囲内にあることを理解されよう。
【符号の説明】
【００５６】
10  オーディオ配信システム
12  LAN
14  ワイドエリアネットワーク
20  オーディオ出力デバイス、オーディオ再生デバイス
22  オーディオ再生デバイス
24  オーディオ再生デバイス
26  オーディオ再生デバイス
30  ネットワーク
32  ルータ/アクセスポイント
40  コンピューティングデバイス、制御デバイス、コントローラ
42  パーソナルコンピュータ
44  モバイルデバイス
46  デジタル音源、音楽ソース
50  サーバ
52  インターネット無線サービス
56  インターネット
100  コントローラ、制御デバイス
102  プロセッサ
104  メモリ
106  ユーザ入力インターフェース
108  ネットワークインターフェース
110  ディスプレイインターフェース
112  ディスプレイ
120  ネイティブアプリケーションプログラム
124  ウェブビュー
126  局所UI、局所UI層
130  オーディオ再生デバイス
132  ウェブサーバ
140  ウェブソケット
142  シンプルサービス発見プロトコル、SSDP
146  HTTP
148  HTTP通信
150  ウェブサーバ
1600  ユーザインターフェース
1612  オーディオ再生デバイス領域
1614  プリセット領域
1616  音源領域
1616  音量スライダー
1618  アルバムアート
1620  プリセットインジケータ
1622  現在再生中の情報
1624  音源特有のボタン
【図１】
0006367933.tif 000002
【図２】
0006367933.tif 000003
【図３】
0006367933.tif 000004
【図４Ａ】
0006367933.tif 000005
【図４Ｂ】
0006367933.tif 000006
【図４Ｃ】
0006367933.tif 000007