以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
<システム構成>
まず、図1を参照して、本発明の一実施形態にかかるホームネットワークシステム1について概略的に説明する。図1は、本実施形態にかかるホームネットワークシステム1の構成を示す説明図である。なお、本実施形態にかかるホームネットワークシステム1は、コンテンツ再生システムの一例に相当する。
図1に示すように、ホームネットワークシステム1は、例えば、ユーザの家庭内等に設けられ、複数の機器を相互接続して構成されたネットワークシステムである。このホームネットワークシステム1は、例えば、複数のサーバ装置20A、20B、・・・(以下「サーバ装置20」と総称する場合もある。)と、複数の再生装置30A、30B、・・・(以下「再生装置30」と総称する場合もある。)とが、ネットワークの一例である家庭用のLAN10(Local Area Network)及びスイッチングハブ・ルータ12、アクセスポイント14を介して、相互にデータ通信可能に接続されている。サーバ装置20は、ホームネットワークシステム1におけるホームサーバとして構成されており、各再生装置30にコンテンツを提供するコンテンツ提供サーバとして機能する。再生装置30は、このサーバ装置20に対するクライアント機器(再生端末装置)に相当し、サーバ装置20から送信されたコンテンツを受信しながら再生する機能を有する。
ここで、コンテンツは、例えば、音楽、講演、ラジオ番組等の音声(Audio)コンテンツや、映画、テレビジョン番組、ビデオプログラム等の映像データ及び/又は音声データからなるビデオ(Video)コンテンツ、ゲームコンテンツなど、任意のコンテンツであってよい。以下では、コンテンツとして、音声コンテンツ、特に、音楽コンテンツの例を挙げて説明するが、本発明のコンテンツはかかる例に限定されるものでない。
LAN10は、例えば、家庭内で使用される複数の機器(サーバ装置20、再生装置30)を接続する通信網である。このLAN10は、有線/無線を問わず、例えば、10BASE−2や1000BASE−Tなどの有線接続によるイーサネット(登録商標)で形成されてもよいし、或いは、例えば、IEEE(Institute of Electrical and Electronics Engineer)802.11グループで規格される無線LANで形成されてもよい。
スイッチングハブ・ルータ12及びアクセスポイント14は、複数のサーバ装置20及び複数の再生装置30等の機器群を、有線又は無線で相互に接続するための中継装置である。
スイッチングハブ・ルータ12は、サーバ装置20と再生装置30との間で、有線のLAN10を介してデータを送受信する際の中継装置であり、例えば、イーサネットスイッチなどで構成される。このスイッチングハブ・ルータ12は、LAN10上の機器同士を接続するハブ機能を有し、送信元の機器から送られてきたデータを解析して宛先を検出し、送信先の機器にのみデータを送信する。これにより、ホームネットワークシステム1全体の負荷を軽減でき、セキュリティを向上できる。なお、LAN10上には、このスイッチングハブ・ルータ12に代えて或いはともに、LAN10と外部の公衆回線網との間でデータを中継するルータ機能を有するブロードバンドルータ(図示せず。)を設けてもよい。また、本実施形態では、スイッチングハブとルータとが一体構成された装置を用いているが、かかる例に限定されず、スイッチングハブとルータとを別個の装置とすることもできる。
また、スイッチングハブ・ルータ12は、例えば、OSI(Open Systems Interconnection)参照モデルにおけるネットワーク層(第3層)やトランスポート層(第4層)の一部のプロトコルを解析して転送を行うルータとして機能する。従来では、サーバ装置20と複数の再生装置30とをルータを介して有線接続し、複数の再生装置でコンテンツの同期再生を行う場合、サーバ装置からUDPマルチキャストを利用して、複数の再生装置にコンテンツを一斉配信していた。このマルチキャスト配信を行う場合には、UDPマルチキャストに対応した専用のルータを設置する必要があった。しかし、本実施形態にかかるホームネットワークシステム1では、サーバ装置20から複数の再生装置30に同一のコンテンツを配信して同期再生を行う場合であっても、マルチキャスト配信を用いず、ユニキャスト配信を用いることができるため、スイッチングハブ・ルータ12のルータとして、マルチキャスト対応のルータだけでなく、マルチキャストに非対応のルータであっても使用可能である。よって、本実施形態では、有線接続用のルータの種類を選ばずに、複数の再生装置30間での同期再生を実現可能である。
また、アクセスポイント14は、LAN10において無線LAN機能を実現するために機器間を接続する無線通信用の電波中継器である。例えば、このアクセスポイント14(無線親機)とサーバ装置20とがイーサネット(登録商標)で有線接続され、再生装置30は内蔵している無線子機によりアクセスポイント14と無線接続される。かかるアクセスポイント14を用いることで、例えば、上記サーバ装置20又は再生装置30は、他の複数の機器と同時に無線通信できるようになる。
なお、ホームネットワークシステム1における複数の機器相互の接続態様は、上記の例に限定されず、機器間でデータ通信可能であれば、任意の接続態様を採用できる。また、上記複数の機器間で上記アクセスポイント14を介さずに、アドホックモード(ad hoc mode)、Bluetooth又はUWB(Ultra Wide Band)等で直接的に無線通信できるようにしてもよい。
サーバ装置20(ホームサーバ)は、例えば、コンテンツを記録、格納、配信可能なデジタルメディアサーバ(DMS:Digital Media Server)として構成される。このサーバ装置20は、例えば、DLNA(Digital Living Network Alliance)ガイドラインに準拠してデータを送受信するDLNA対応機器を用いることができる。かかるサーバ装置20は、例えば、ノート型/デスクトップ型のパーソナルコンピュータ(PC:Personal Computer)で構成されるが、それ以外にも、例えば、ネットワークストレージ装置、ホームネットワーク用のサーバ装置、データ記録装置(DVD/HDDレコーダ等)、ゲーム機器、情報家電などの各種の情報処理装置で構成することもできる。
このサーバ装置20は、複数の音楽コンテンツを取得して保持している。例えば、サーバ装置20は、コンテンツ配信サービスを提供するコンテンツ配信サーバ(図示せず。)から、インターネット、WAN(Wide Area Network)等の公衆回線網(図示せず。)を介してコンテンツの配信を受け、この配信コンテンツをHDD(Hard Disk Drive)等のストレージ装置に保存できる。また、サーバ装置20は、例えば、セルフレコーディング(自己録音、録画等)やリッピング(ripping)などによって、新規にコンテンツを作成して、ストレージ装置やリムーバブル記憶媒体に保存することもできる。なお、セルフレコーディングとは、サーバ装置20に付随して設けられた撮像装置/集音装置によって撮影/集音した映像/音声を、デジタルデータとして記録することをいう。また、リッピングとは、音楽CD、ビデオDVD等の記憶媒体に記録されているデジタルコンテンツ(音声データ/映像データ等)を抽出し、コンピュータで処理可能なファイル形式に変換して、ストレージ装置やリムーバブル記憶媒体に記録することをいう。
このようにサーバ装置20に保存されているコンテンツは、例えば、リニアPCM(Pulse Code Modulation)データ等の非圧縮デジタルデータ(以下、「非圧縮データ」という。)であってもよいし、或いは、各種の圧縮符号化方式で圧縮された圧縮デジタルデータ(以下、「圧縮データ」という)であってもよい。この圧縮符号化方式としては、音楽コンテンツの場合には、例えば、ATRAC(Adaptive TRansform Acoustic Coding)、ATRAC3、MP3(MPEG Audio Layer−3)、AAC(Advanced Audio Coding)、WMA(Windows Media Audio)などがあげられる。
かかるサーバ装置20は、自身が保持する複数のコンテンツ、例えば、上記ストレージ装置内に格納されている音楽コンテンツや、CD、DVD等のリムーバブル記憶媒体に格納されている音楽コンテンツ、インターネットを通じて受信したWebラジオの音楽コンテンツなどのうち、再生装置30から送信要求を受けたコンテンツを、LAN10を介して、再生装置30にストリーミング方式で送信(以下、「ストリーミング送信」)する。ここで、ストリーミング方式とは、データ受信側の装置(再生装置30)のコンテンツの処理速度(例えば再生速度)に同期しながら、データ送信する方式である。これにより、再生装置30は、サーバ装置20からストリーミング送信されたコンテンツを受信しながら再生できる。また、コンテンツが圧縮データである場合には、サーバ装置20は、圧縮データを伸張して非圧縮デジタルデータ(例えばリニアPCMデータ)に変換してから、再生装置30に送信する。
また、サーバ装置20は、上記複数の音楽コンテンツに関する情報(例えば、曲のタイトル、アルバム名、アーティスト名、アドレス情報(URL(Uniform Resource Locator)等)、サンプリング周波数、チャンネル数、ビット数、CODEC情報など)を、所定の単位(例えばアルバム単位、アーティスト単位、ジャンル単位、プレイリスト単位)でリスト化したコンテンツリストを、再生装置30に送信することができる。
再生装置30は、コンテンツを再生可能なデジタルメディアプレーヤー(DMP:Digital Media Player)である。この再生装置30も、例えば、上記サーバ装置20と同様、DLNAガイドラインに準拠してデータを送受信するDLNA対応機器とすることができる。本実施形態では、再生装置30は、サーバ装置20から配信されたコンテンツを再生して音声出力する再生端末装置であり、例えば、ネットワークオーディオクライアント機器で構成される。このネットワークオーディオクライアント機器で構成された再生装置30には、例えば、ユーザインターフェースとしての表示部332(LCDパネル等)が設けられており、また、再生された音楽コンテンツを音声出力するための音声出力部、例えばスピーカ352が外付けされている。しかし、本発明の再生装置は、かかる例に限定されず、例えば、ノート型のパーソナルコンピュータ(PC)、携帯型音楽プレーヤ、AVコンポ、PDA(Personal Digital Assistant)、家庭用ゲーム機器、携帯型ゲーム機器、携帯電話、PHS、データ再生装置(DVD/HDDプレーヤ等)、テレビジョン受像器等の情報家電など、各種の端末装置で構成することもできる。
かかる再生装置30は、サーバ装置20を選択する機能、サーバ装置20からコンテンツリストを取得する機能、再生対象のコンテンツを選択する機能、再生対象のコンテンツをサーバ装置20から受信する機能、コンテンツを再生出力する機能を有する。具体的には、再生装置30は、LAN10に接続されて起動している1又は2以上のサーバ装置20を探索し、探索されたサーバ装置20の中から、ユーザ入力等に基づき、或いは、自動的に、コンテンツの提供を受けるサーバ装置20を選択する。さらに、再生装置30は、選択したサーバ装置20から、サーバ装置20が保持する複数のコンテンツに関する情報(上記コンテンツリスト)を取得し、表示部332に表示する。ユーザは、かかるコンテンツリストを閲覧して、再生を所望するコンテンツ、およびその再生モードを設定できる。このコンテンツ選択等に応じて、再生装置30は、当該選択されたコンテンツを、設定された再生モードに従い送信するようサーバ装置20に対して要求する。このコンテンツ送信要求に応じて、サーバ装置20から再生装置30にコンテンツがストリーム送信されると、再生装置30は、当該コンテンツを受信してバッファ(図示せず。)に一時記憶しながら、当該コンテンツをバッファから読み出してD/A変換して出力する。
以上のように、本実施形態にかかるサーバ装置20及び再生装置30はともに、例えば、DLNA対応機器であり、イーサネット(登録商標)及び/又は無線LANからなるLAN10を介して、通信プロトコルとして例えばTCP/IP(Transmission Control Protocol/Internet Protocol)に従って、相互にデータを送受信する。かかるサーバ装置20と再生装置30は、LAN10に接続するだけで利用可能となり、再生装置30(DMP)は、ホームネットワークシステム内に存在するサーバ装置20(DMS)を探し出し、サーバ装置20から再生可能なコンテンツリストを自動的に取得する。ユーザは、再生装置30において、サーバ装置20から取得したコンテンツリストの中から視聴したいものを選択するだけで、サーバ装置20から再生装置30にコンテンツが自動的に提供されて、再生される。なお、上記サーバ装置20が上記再生装置30のようなコンテンツの再生機能を有してもよい。
<サーバ装置の構成>
次に、図2を参照して、本実施形態にかかるサーバ装置20(ホームサーバ)の構成について説明する。図2は、本実施形態にかかるサーバ装置20の構成を示すブロック図である。
図2に示すように、サーバ装置20は、通信部210と、制御部212と、入力部214と、出力部216と、通信バッファ222を有するメモリ220と、ストレージ装置230と、ディスクドライブ232と、エンコーダ234と、デコーダ236と、を備える。
通信部210は、ネットワークを介して外部装置との間でデータ通信を行うための通信デバイス等で構成された通信インターフェースである。この通信部210は、制御部212による制御に基づき、再生装置30や他の外部装置との間でLAN10を介して、各種データを送受信する。この通信部210は、例えば、イーサネット(登録商標)や、Giga Ethernet(登録商標)に対応することができ、また、無線通信用のアクセスポイント14とダイレクトに通信可能な環境においては、例えば、IEEE802.11a/b/g等の無線通信に対応することもできる。また、通信部210は、該各種情報の送受信を行う際に、通信バッファ222に通信データを一時的に記憶して、通信量を制御することもできる。
かかる通信部210は、サーバ装置20がストレージ装置230に保持しているコンテンツや、コンテンツリスト、コンテンツの属性情報、コンテンツ送信要求、コンテンツリスト要求、制御信号などの各種情報を送受信する。また、通信部210は、公衆回線網(図示せず。)を介してコンテンツ配信サーバ(図示せず。)との間で、コンテンツや、コンテンツ配信要求などの各種情報を送受信することもできる。
制御部212は、例えば、中央演算処理装置(CPU:Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成される。この制御部212は、ROMやストレージ装置230に格納された各種プログラムに従って動作し、サーバ装置20の動作全般を制御する。例えば、制御部212は、再生装置30との間での通信部210を介した上記各種データの送受信を制御する。具体的には、制御部212は、再生装置30からのコンテンツ配信要求に応じて、ストレージ装置230から当該コンテンツの圧縮データを読み出し、この圧縮データをデコーダ236により非圧縮データに変換し、この非圧縮データを通信部に210より再生装置30に送信するストリーミング送信処理を制御する。該ストリーミング送信処理の詳細については後述する。また、制御部212は、リッピング部としても機能し、ディスクドライブ232やエンコーダ234を用いて、ディスクドライブ232にローディングされた音楽CDやビデオDVD等のリムーバブル記憶媒体から、音楽コンテンツ(曲)や映像コンテンツをリッピングして、ストレージ装置230に保存することもできる。
入力部214は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー等の操作手段と、この操作手段に対する入力操作に応じて入力信号を生成して制御部212に出力する入力制御回路などから構成されている。サーバ装置20のユーザは、この入力部214を操作することにより、サーバ装置20に対して各種のデータを入力したり、処理動作を指示したりすることができる。
出力部216は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置等の表示装置と、スピーカ等の音声出力装置などで構成される。サーバ装置20において再生されたコンテンツは、この出力部216を通じて表示/音声出力される。
メモリ220は、例えば、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、SDRAM(Synchronous DRAM)、RDRAM(Rambus DRAM)などで構成され、各種のデータを一時記憶(バッファリング)する。このメモリ220は、例えば、サーバ装置20と再生装置30との通信時に、データを円滑に送受信するための通信バッファ222として機能する。なお、このメモリ220は、外部のコンテンツ配信サーバから配信されたコンテンツの圧縮データを、デコーダ236に安定して転送するために一時記憶する受信バッファ(図示せず。)としても機能しうる。
ストレージ装置230は、データ格納用の装置であり、例えば、HDDで構成される。このストレージ装置230は、ハードディスクを駆動し、制御部212を動作させるためのプログラムや、リッピングコンテンツや配信コンテンツの圧縮データなどといった、各種データを格納する。このストレージ装置230は、複数のコンテンツを記憶するコンテンツ記憶部、及び、当該コンテンツの属性情報を記憶するコンテンツ情報記憶部として機能する。
なお、本実施形態にかかるストレージ装置230は、ハードディスクを記憶媒体としているが、かかる例に限定されず、例えば、EEPROM(Electrically Erasable Programmable Read−Only Memory)、EPROM(Erasable Programmable Read Only Memory)などの不揮発性半導体メモリや、フレキシブルディスク等の磁気ディスク、CD−R(Compact Disk Recordable)/RW(ReWritable)、DVD−R(Digital Versatile Disk Recordable)/RW/+R/+RW/RAM、BD(Blu−Ray Disc(登録商標))―R/BD−REなどの光ディスク、MO(Magneto Optical)ディスクなどの光磁気ディスクなどを記憶媒体としてもよい。また、この記憶媒体は、サーバ装置20に脱着可能なリムーバブル記憶媒体とすることもできる。
ディスクドライブ232は、リムーバブル記憶媒体用の記録再生装置の一例であり、サーバ装置20に内蔵、或いは外付けされる。このディスクドライブ232は、ローディングされた磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体に対して、コンテンツなどの各種データを読み出し/書き込みする。かかるディスクドライブ232を設けることにより、音楽CDやビデオDVDなどをサーバ装置20にローディングして、当該音楽CDに記録されている音楽コンテンツや、ビデオDVDに記録されているビデオコンテンツをリッピングすることができるようになる。
エンコーダ234は、上記リッピングやセルフレコーディング時に、所定の圧縮符号化方式(例えば、MP3、ACC、ATRAC、ATRAC3等)で映像/音声デジタルデータを圧縮符号化して、音楽コンテンツ、ビデオコンテンツ等のコンテンツの圧縮データを生成する。このとき、エンコーダ234、所定の符号化単位、例えばフレーム単位で、コンテンツを圧縮符号化する。具体的には、圧縮符号化時において、制御部212は、圧縮符号化対象の音楽コンテンツ(曲)のサンプルデータ列から、所定数nサンプルずつ(例えば1152サンプルずつ)取り出して1フレームとし、各フレームをエンコーダ234に出力し、この結果、エンコーダ234から得られる圧縮されたフレーム(例えばMP3フレーム)を、音楽コンテンツの圧縮データとして、ストレージ装置230に記録する。
デコーダ236は、ストレージ装置230から読み出された音楽コンテンツ等の圧縮データをデコード(伸張)し、非圧縮データ(例えばリニアPCMデータ)に変換する。そして、生成されたコンテンツの非圧縮データは、制御部212の制御の下、通信バッファ222に一時記憶され、LAN10を介して再生装置30に送信される。
<再生装置の構成>
次に、図3を参照して、本実施形態にかかる再生装置30(クライアント機器)の構成について説明する。図3は、本実施形態にかかる再生装置30の構成を示すブロック図である。
図3に示すように、再生装置30は、通信部310と、制御部320と、入力部330と、表示部332と、データを一時的に記憶する記憶媒体の一例であるバッファメモリ340と、データを永続的に記憶する記憶媒体の一例であるフラッシュメモリ345と、コンテンツを再生する再生部の一例であるD/A変換器350と、を備える。なお、本実施形態では、音声出力装置であるスピーカ352が再生装置30に外付けされているが、かかる例に限定されず、再生装置30が、スピーカ等の音声出力装置を内蔵してもよい。
通信部310は、ネットワークを介して外部装置との間でデータ通信を行うための通信デバイス等で構成された通信インターフェースである。通信部310は、制御部320による制御に基づき、サーバ装置20又は他の再生装置30との間でLAN10を介して各種データを送受信する。この通信部310は、例えば、イーサネット(登録商標)や、Giga Ethernet(登録商標)に対応することができ、また、無線通信用のアクセスポイント14とダイレクトに通信可能な環境においては、例えば、IEEE802.11a/b/g等の無線通信に対応することもできる。通信部310は、各種情報の送受信を行う際に、通信バッファ222に通信データを一時的に記憶して、通信量を制御することができる。
この通信部310は、サーバ装置20が提供可能なコンテンツの一覧を示すコンテンツリストや該コンテンツの属性情報をサーバ装置20から受信したり、該コンテンツリストのうちからユーザが所望したコンテンツの送信要求をサーバ装置20に送信したり、サーバ装置20からストリーム送信されるコンテンツの非圧縮データを受信したりする。また、通信部310は、他の再生装置30との間でLAN10を介して、複数の再生装置30間でのコンテンツの再生制御(例えば同期再生制御)に関する各種情報を送受信することもできるが、詳細は後述する。
制御部320は、例えば、中央演算処理装置(CPU)、ROM、RAM等で構成され、ROM等に格納された各種プログラムに従って動作し、再生装置30の動作全般を制御する。例えば、制御部320は、サーバ装置20や他の再生装置30等の外部装置との間でLAN10を介して各種情報を送受信するように通信部310を制御する。また、制御部320は、サーバ装置20から送信されたコンテンツを受信して受信バッファ344に一時記憶し、この受信バッファ344から読み出したコンテンツを再生(D/A変換)して音声出力等するように、通信部310、D/A変換器350及びスピーカ352等を制御する。
この制御部320は、再生装置30にインストールされたプログラムに従って動作することで、図3に示すように、例えば、モード設定部322、同期再生制御部324、通常再生制御部326、再生切替制御部328として機能する。
モード設定部322は、再生装置30の再生制御部によるコンテンツの再生制御モードを設定する。この再生制御モードは、例えば、ノーマルモードと、同期再生モード(パーティモード)とを含み、モード設定部322は、再生制御部によるコンテンツの再生制御モードを、ノーマルモード又は同期再生モードに選択的に設定する。
ノーマルモードは、他の再生装置30に依存せずに、本再生装置30のみで独立してコンテンツを再生制御する通常の再生制御モードである。再生装置30がノーマルモードに設定されているときには、再生装置30の通常再生制御部326は、ユーザによるコンテンツの再生制御指示(再生開始指示、再生停止指示など)に基づいて、本再生装置30の再生部であるD/A変換器350によるコンテンツの再生を制御する。
同期再生モードは、複数の再生装置30間でコンテンツを同期再生するモード(パーティーモード)である。この同期再生モードは、複数の再生装置30間で主従関係を定めて、1のマスター端末(制御主体)と1又は2以上のスレーブ端末(制御客体)とを設定し、マスター端末によってスレーブ端末のコンテンツの再生を制御する再生制御モードである。つまり、この同期再生モードでは、再生制御権を有する1つの再生装置30(マスター端末)によって、1又は2以上の他の再生装置30(スレーブ端末)におけるコンテンツの再生が制御され、これによってマスター端末とスレーブ端末との間で同一コンテンツの同期再生が実現される。
このため、同期再生モードに設定された再生装置30は、同期再生制御のマスター端末となるマスターモード、又は、同期再生制御のスレーブ端末となるスレーブモードのいずれかに設定される。本再生装置30がマスターモードに設定された場合、本再生装置30は、スレーブ端末である1又は2以上他の再生装置30におけるコンテンツの再生を制御する。一方、本再生装置30がマスターモードに設定された場合、本再生装置30は、マスター端末である他の再生装置30からの指示に従い、本再生装置30におけるコンテンツの再生を制御する。
モード設定部322は、上記のノーマルモードと同期再生モードとを選択的に設定し、さらに、同期再生モードに設定する場合には、マスターモードとスレーブモードとを選択的に設定する。本実施形態にかかる再生装置30では、例えば、通常時にはノーマルモードに設定し、ユーザによる特定の入力操作に応じた同期再生指示を受け付けた場合に、同期再生モードに設定する。同期再生モードが指示された場合において、本再生装置30をマスターモード又はスレーブモードのいずれに設定するかについては、例えば、入力部330に対するユーザの選択入力(例えば、メニュー選択操作)に従って決定してもよいし、或いは、予め設定されたモード設定条件に従って自動的に決定してもよい。本実施形態では、例えば、時間的に最も後に同期再生指示を受け付けた、コンテンツ再生中の再生装置30が、自動的にマスターモードに設定されるようになっているが、かかる例に限定されるものではない。
再生装置30を同期再生モード(マスターモード又はスレーブモード)に設定するためのユーザの特定入力操作としては、例えば、
(1)同期再生指示を入力するための特定の操作キーに対する入力操作(例えば、同期再生ボタンの押下)、
(2)同期再生指示を入力するためのメニュー選択操作
などが挙げられる。
また、同期再生モードを解除(マスターモード又はスレーブモードを解除)するためのユーザの特定入力操作としては、例えば、
(1)同期再生解除指示を入力するための特定の操作キーに対する入力操作(例えば、上記同期再生ボタンの再押下、又は上記同期再生ボタンとは異なる同期再生解除ボタンの押下)、
(2)同期再生解除指示を入力するためのメニュー選択操作、
(3)再生制御に関する複数の操作キーのうち1又は2以上の特定の操作キーに対する入力操作(例えば、再生停止ボタンの押下)
などが挙げられる。モード設定部322は、このようなユーザ操作に伴う同期再生指示/同期再生解除指示の受け付けに応じて、同期再生モードのオン/オフを設定する。
また、モード設定部322は、各種の再生制御指示のうち、特定の再生制御指示の受け付けに応じて、スレーブモードを設定解除することもできる。例えば、スレーブモードに設定中に、各種の再生制御指示を入力するための複数種類の操作キー(例えば、再生、再生停止、一時停止、早送り、巻き戻し、曲送り、曲戻しなどの操作キー)のうち、再生停止を指示するための再生停止キーが操作されて再生停止指示を受け付けると、モード設定部322は、スレーブモードを解除してノーマルモードに設定する。さらに、同期再生指示を入力するための同期再生キーが操作されて、同期再生指示(再生装置30マスターモードに設定する指示に相当する。)を受け付けると、モード設定部322は、ノーマルモードを解除して、マスターモードに設定することができる。
また、モード設定部322は、例えばユーザ入力に基づいて、再生装置30における同期再生機能のオン/オフを設定し、この同期再生機能のオン/オフを表す設定情報を、設定情報記憶部348に記憶する。この設定情報は、再生装置30が、他の再生装置30との同期再生を許可するか否かを表す情報に相当する。さらに、再生装置30が上記特定入力操作に伴う同期再生指示を受け付けたとき、或いは、他の再生装置30から同期再生モードのスレーブ端末となることを依頼されたときには、モード設定部322は、上記設定情報記憶部348に予め記憶されている設定情報を読み出し、この設定情報に基づいて、再生装置30を同期再生モードのマスターモード又はスレーブモードに設定するか否か(つまり、他の再生装置30との同期再生を許可するか否か)を判断する。
このため、上記予め設定された設定情報により同期再生機能がオフに設定され、同期再生モードが禁止されている場合には、モード設定部322は、同期再生モードの設定を許可せず、この結果、本再生装置30と他の再生装置30との同期再生が実行されないようになる。これにより、ユーザは、同期再生を許可する再生装置30を限定できるようなり、ユーザの所望しない再生装置30で同期再生が実行されることを防止できる。なお、モード設定部322は、他の再生装置30との接続状況、再生対象のコンテンツの属性などに基づいて、同期再生機能のオン/オフ設定を自動的に設定することもできる。また、同期再生を許可するか否かの判断は、後述の同期再生制御部324が行ってもよい。
さらに、モード設定部322は、上記同期再生モード及びノーマルモードの設定の他にも、再生装置30におけるコンテンツの再生モードを設定することもできる。この再生モードは、リピート再生の有無、シャッフルやランダムの有無、コンテンツの再生範囲(例えば、アルバム単位、アーティスト単位又はジャンル単位など、関連のある複数のコンテンツをグループ化したコンテンツグループ単位)などに応じて、種々のモードを設定可能である。この再生モードとしては、例えば、1曲リピート再生モード、アルバムリピート再生モード、全コンテンツ連続再生モード、シャッフル再生モード、ランダム再生モードなどが含まれる。
1曲リピート再生モードは、1つの音楽コンテンツ(曲)を繰り返し再生するモードである。
アルバムリピート再生モードは、同一のアルバムに属する複数の音楽コンテンツを所定の順(例えばトラック番号順)で繰り返し再生するモードである。
全コンテンツ連続再生モード(コンティニューモード)は、全てのアルバム内の全てのコンテンツを連続して再生するモードである。
シャッフル再生モードは、所定の再生範囲(例えば、同一のアルバム、同一のアーティスト、同一のジャンル、同一のプレイリストなど)内の複数のコンテンツを、任意の順に並び替えて重複なく再生するモードである。
ランダム再生モードは、所定の再生範囲内の複数のコンテンツをランダムに抽出して任意の順で再生するモードである。
このような再生モードを設定する場合、モード設定部322は、ユーザ入力に基づいて設定してもよいし、或いは、予め設定されたモード設定情報に基づいて自動的に設定してもよい。モード設定部322は、設定した再生モードを表す再生モード設定情報を、再生装置30内の記憶媒体、例えば、フラッシュメモリ等の不揮発性メモリで構成された設定情報記憶部348に書き込んで保存する。後述の同期再生制御部324及び通常再生制御部326、再生切替制御部328は、この設定情報記憶部348に記憶された再生モード設定情報に基づいて、アルバムやプレイリストなどといった特定の再生範囲内の音楽コンテンツの再生順を認識し、この再生順に従ってサーバ装置20に音楽コンテンツの配信を要求する。
同期再生制御部324は、本再生装置30と他の再生装置30との間におけるコンテンツの同期再生を制御する。このコンテンツの同期再生処理は、LAN10等のネットワークに接続された複数の再生装置30間で、現在再生中のコンテンツに関する情報及び再生制御指示をやり取りすることにより、複数の再生装置30で同一のコンテンツを略同一のタイミングで再生する処理である。この同期再生処理では、ある再生装置30(マスター端末)でのコンテンツの再生中に同期再生指示を受け付けると、他の再生装置30(スレーブ端末)で同一のコンテンツを同期再生することができる。この同期再生処理は、再生装置30の入力部330に対してユーザが同期再生指示操作を行い、再生装置30がこの同期再生指示を受け付けることを契機として実行される。同期再生制御部324は、同期再生モードのマスターモード又はスレーブモードに設定された再生装置30におけるコンテンツの再生を制御する。
この同期再生制御部324の処理内容は、本再生装置30が同期再生モードのマスターモード又はスレーブモードのいずれに設定されているか(本再生装置30がマスター端末であるか、スレーブ端末であるか)によって異なる。以下に、(a)マスターモードに設定された場合の同期再生制御部324の処理と、(b)スレーブモードに設定された場合の同期再生制御部324の処理についてそれぞれ説明する。
なお、同期再生制御部324は、通信部310を制御することで、LAN10を介して他の再生装置30やサーバ装置20と制御信号等の各種の情報を送受信することができる。また、同期再生制御部324は、通信部310、バッファメモリ340、D/A変換器350及びスピーカ352を制御することで、サーバ装置20からコンテンツを受信して再生出力することができる。
(a)マスターモードに設定された場合の同期再生制御部324の処理
再生装置30がマスターモードに設定された場合、同期再生制御部324は、本再生装置30(マスター端末)におけるコンテンツの再生を制御するのみならず、スレーブモードに設定された他の再生装置30(スレーブ端末)におけるコンテンツの再生を制御する。このとき、マスター端末の同期再生制御部324が、同期再生に必要な時間管理を行い、スレーブ端末に対して各種の再生制御指示(待機指示、再生開始指示など)を送信することで、スレーブ端末は、当該時間管理を行わずに、マスター端末の同期再生制御部324からの再生制御指示に従ってコンテンツを再生制御する。
具体的には、まず、再生装置30は、上記同期再生指示の受け付けると、上記モード設定部322によりマスターモードに設定されて、マスター端末となる。すると、このマスター端末の同期再生制御部324は、例えば、ユーザの選択入力、予め登録された設定情報に含まれる同期再生の相手先の再生装置30を表す情報、或いは、スレーブ探索結果などに基づいて、同期再生の相手先の再生装置30(スレーブ端末)を決定する。例えば、スレーブ探索を行う場合には、同期再生制御部324は、LAN10に接続中で、かつ、起動中の他の再生装置30に、同期再生に参加する再生装置を探索するための探索情報(「再生装置30がマスターモードに設定されたことを表す情報」に相当する。)を送信し、この探索情報の応答として、同期再生への参加が許可されている再生装置30(スレーブ端末)から、同期再生への参加を表す参加応答(「他の再生装置30がスレーブモードに設定されたことを表す情報」に相当する。)を受信する。そして、この参加応答の送信元の1又は2以上の再生装置30をスレーブ端末に決定する。
このようにスレーブ端末を決定すると、同期再生制御部324は、スレーブ登録リスト349に登録する。このスレーブ登録リスト349への登録では、スレーブ端末である再生装置30に関する情報(例えば、当該再生装置30の識別情報やネットワーク上のアドレス情報)が、登録情報として記録される。
同期再生制御部324、通常再生制御部326及び再生切替制御部328はそれぞれ、再生装置30の再生部によるコンテンツの再生を制御する再生制御部の一例である。同期再生制御部324は、同期再生モードのマスターモード又はスレーブモードに設定された複数の再生装置30での同期再生を制御する。通常再生制御部326は、ノーマルモードに設定された個々の再生装置30におけるコンテンツの再生を制御する。再生切替制御部328は、再生切替モードのマスターモード又はスレーブモードに設定された複数の再生装置30間でのコンテンツの再生動作の切替を制御する。
同期再生制御部324は、上記スレーブ端末として登録された他の再生装置30に、本再生装置30(マスター端末)で現在再生中のコンテンツに関する情報(以下、「コンテンツ情報」という。)を通信部310により送信する。このコンテンツ情報は、例えば、当該コンテンツのURLなどである。これにより、スレーブ端末は、マスター端末から受信した当該コンテンツのURLに基づいて、サーバ装置20から当該コンテンツを受信できるようになる。
さらに、同期再生制御部324は、マスター装置で現在再生中のコンテンツの再生経過時間(例えば3分30秒)を取得し、この再生経過時間に、予め設定された所定の付加時間(例えば10秒)を加えた同期再生開始時間(例えば3分40秒)を算出し、この同期再生開始時間を表す情報を、スレーブ端末に送信する。この同期再生開始時間は、スレーブ端末がマスター端末とのコンテンツの同期再生を開始するときの、マスター端末におけるコンテンツの再生経過時間に相当する。再生経過時間は、マスター端末におけるコンテンツの先頭からの再生済み時間である。同期再生制御部324は、上記同期再生指示を受け付けた時点以後の所定時点(例えば同期再生指示の受け付けた時点、スレーブ端末にコンテンツ情報を送信した直後の時点など)で、マスター端末で再生中のコンテンツの再生経過時間情報を取得して、この再生経過時間に付加時間を加算した同期再生開始時間を演算する。
付加時間は、スレーブ端末が上記コンテンツの再生準備を完了するために必要な時間以上の時間(例えば10秒)に設定される。より詳細には、付加時間は、スレーブ端末がサーバ装置20とデータ通信して、サーバ装置20から当該コンテンツの上記再生経過時間以降のデータ(例えば、曲頭から3分40秒以降のデータ)を受信し、この受信データを受信バッファ344に十分なデータ量だけ記憶して、再生準備が完了するまでに要する時間に、さらに所定の余裕時間を加えた時間に設定することができる。この付加時間は、再生装置30とサーバ装置20とのデータ通信速度、再生装置30やサーバ装置20の処理速度などに応じて、同期再生を好適に実行でき、かつ必要以上に長すぎない時間に設定される。
このように、同期再生制御部324は、現在の再生経過時間に付加時間を加えた同期再生開始時間を設定し、この同期再生開始時間をスレーブ端末に通知する。これにより、スレーブ端末は、マスター端末の再生経過時間が同期再生開始時間になる迄に、サーバ装置20から当該コンテンツの同期再生開始時間以降のデータを受信して、受信バッファ344に所定のデータ量をバッファリングし、再生準備を完了することができる。よって、スレーブ端末は、同期再生開始時間になったときにマスター端末から再生開始指示を受信すると即時、当該コンテンツを再生開始できるようになる。
また、同期再生制御部324は、上記再生経過時間の送信前或いは送信後に、スレーブ端末に待機指示(Pause指示)を送信する。この待機指示は、スレーブ端末を再生準備完了後に待機状態(マスター端末からの再生開始指示を受ければ即時、上記コンテンツを再生開始できる状態)にさせるための指示である。
さらに、同期再生制御部324は、各スレーブ端末が待機状態になったことを確認することができる。例えば、同期再生制御部324は、待機状態であるか否かを確認するための確認信号を各スレーブ端末に送信し、この確認信号の応答として、スレーブ端末から、コンテンツの再生準備が完了したことを表す再生準備完了通知を受信する。これにより、上記待機状態の確認を実行できる。
また、同期再生制御部324は、再生装置30が有するタイマを用いて、マスター端末において再生中のコンテンツの現在の再生経過時間を計時しており、この再生経過時間が上記同期再生開始時間に到達したか否かを判断できる。このため、同期再生制御部324は、全てのスレーブ端末から再生準備完了通知を受信済みであるか否かを確認し、受信済みである場合には、マスター端末における上記コンテンツの現在の再生経過時間が同期再生開始時間(例えば3分40秒)になったときに、当該コンテンツの再生開始指示を全てのスレーブ端末に送信する。これにより、各スレーブ端末で当該コンテンツの再生が略同時に開始され、マスター端末とスレーブ端末との同期再生が実現される。なお、マスター端末からスレーブ端末に再生開始指示を送信するタイミングは、再生経過時間が同期再生開始時間になる直前(例えば、マスター端末での再生開始指示の送信処理の遅延を考慮した時間分だけ前の時間)であってもよい。
また、マスター端末の同期再生制御部324は、同期再生中に、新たに別の再生装置30の同期再生への途中参加を受け付けることができる。詳細には、同期再生制御部324は、スレーブ端末との同期再生モードの実行中に、新たに別の再生装置30から同期再生への参加要求を受信すると、当該再生装置30をスレーブ端末としてスレーブ登録リスト349に追加登録する。さらに、同期再生制御部324は、追加登録されたスレーブ端末に対して、上記と同様にして、マスター端末で再生中のコンテンツに関するコンテンツ情報、同期再生開始時間、待機指示、再生開始指示などを送信して、当該スレーブ端末を同期再生に追加することができる。
また、マスター端末の同期再生制御部324は、複数のコンテンツを連続して再生する場合に、あるコンテンツの再生終了後、次に再生されるコンテンツの再生開始タイミングを、マスター端末とスレーブ端末間で合わせることができる。詳細には、同期再生制御部324は、マスター端末とスレーブ端末とが同一のコンテンツを同期再生している際に、当該コンテンツの再生が終了したこと(或いは終了する直前であること)を検出すると、当該コンテンツの次に再生するコンテンツ(例えば、音楽アルバム内の次のトラック)に関する情報(例えばURL)をスレーブ端末に送信する。そして、マスター端末において、サーバ装置20から上記次に再生するコンテンツ(以下「次のコンテンツ」と称する。)を先頭から受信開始して、受信バッファ344に一時記憶(バッファリング)して、次のコンテンツの再生準備を行う。さらに、同期再生制御部324は、マスター端末にて当該次のコンテンツの再生準備が完了し、かつ、スレーブ端末から当該次のコンテンツの再生準備完了通知を受信したときに、当該次のコンテンツの再生開始指示をスレーブ端末に送信して、スレーブ端末での次のコンテンツの再生を開始させるとともに、マスター端末の受信バッファ344に一時記憶されている上記次のコンテンツの再生を開始するようD/A変換器350を制御する。これにより、マスター端末とスレーブ端末で次のコンテンツの再生開始するタイミングを同期させることができる。
また、マスター端末の同期再生制御部324は、同期再生中のマスター端末とスレーブ端末とにおける再生経過時間のずれを調整することができる。詳細には、同期再生制御部324は、マスター端末とスレーブ端末とが同一のコンテンツを同期再生している際に、スレーブ端末における当該コンテンツの再生経過時間の送信要求をスレーブ端末に送信し、当該送信要求に応じて、スレーブ端末から、スレーブ端末における再生経過時間を表す情報を受信する。すると、同期再生制御部324は、マスター端末における再経過時間を取得し、このマスター端末における再経過時間と、上記受信したスレーブ端末における再生経過時間とを比較する。その結果、両者が所定時間以上異なる場合には、同期再生制御部324は、マスター端末とスレーブ端末との間で、再生経過時間に大きなずれが生じていると判断し、上記コンテンツの再生停止指示をスレーブ端末に送信する。その後に、同期再生制御部324は、マスター端末における上記コンテンツの再生経過時間を新たに取得し、当該新たに取得した再生経過時間に上記所定の付加時間を加えた同期再生開始時間を表す情報を、スレーブ端末に送信する。その後は、上記と同様にして、待機指示、再生開始指示などを送信して、当該スレーブ端末における再生経過時間のずれを修正することができる。
また、マスター端末の同期再生制御部324は、ユーザの入力操作に伴うコンテンツの再生制御指示(例えば、再生開始、再生停止、一時停止、巻き戻し、早送り等、以下「再生制御指示」)に従って、マスター端末における同期再生中のコンテンツの再生を制御するのみならず、スレーブ端末に当該再生制御指示を表す情報を送信し、スレーブ端末における同期再生中のコンテンツの再生をも制御する。例えば、マスター端末の再生停止ボタンが押下されたときは、同期再生制御部324は、マスター端末における同期再生中のコンテンツの再生を停止するとともに、スレーブ端末に再生停止指示を送信して、スレーブ端末における同期再生中のコンテンツの再生を停止させる。これにより、ユーザは、マスター端末に再生制御指示を入力するだけで、同期再生中のマスター端末及び他のスレーブ端末の再生制御を一括して行うことができる。
(b)スレーブモードに設定された場合の同期再生制御部324の処理
再生装置30がスレーブモードに設定された場合、同期再生制御部324は、マスターモードに設定された他の再生装置30(マスター端末)による再生制御指示に従い、本再生装置30(スレーブ端末)におけるコンテンツの再生を制御する。このとき、スレーブ端末の同期再生制御部324は、マスター端末との同期再生のための時間管理を行わず、マスター端末から受信した各種の再生制御指示(待機指示、再生開始指示)に従って、スレーブ端末の再生制御を行うのみである。このようにして、マスター端末によって、マスター端末とスレーブ端末との同期再生が制御される。
具体的には、まず、同期再生制御部324は、他の再生装置30(マスター端末)から、例えば、上記同期再生に参加する再生装置を探索するための探索情報を、通信部310により受信する。すると、モード設定部322は、上記設定情報記憶部348に予め記憶されている設定情報(同期再生を許可するか否かを表す情報)に基づいて、前記他の再生装置との同期再生を許可するか否かを判断し、許可する場合には、本再生装置30をスレーブモードに設定する。この場合、同期再生制御部324は、上記探索情報の応答として、上記探索情報の送信元のマスター端末に、同期再生への参加を表す参加応答を、返信する。また、同期再生制御部324は、再生装置30がコンテンツを再生中である場合には、当該コンテンツの再生を停止する。
同期再生制御部324は、上記参加応答の送信に応じて、マスター端末から、マスター端末で再生中のコンテンツ情報(URL等)と、当該コンテンツについての上記同期再生開始時間を表す情報と、上記待機指示とを受信する。すると、同期再生制御部324は、マスター端末から受信したコンテンツ情報に基づき、サーバ装置20から当該コンテンツの同期再生開始時間以降のデータを受信開始して順次、受信バッファ344に一時記憶(バッファリング)していく。そして、受信バッファ344に所定のデータ量以上の当該コンテンツのデータがバッファリングされると、同期再生制御部324は、当該コンテンツの再生準備が完了したことを示す再生準備完了通知を、マスター端末に送信する。ここで所定のデータ量は、受信バッファ344から読み出したデータをD/A変換器350によりD/A変換処理して出力する際に、出力中断なく動作するために十分なデータ量である。
また、同期再生制御部324は、上記再生準備完了通知の送信後は、スレーブ端末がコンテンツの再生を待機している待機状態となるように制御する。この待機状態では、コンテンツの全てのデータを受信していないときであっても、サーバ装置20からのコンテンツの受信処理及び受信バッファ344へのバッファリング処理が中断された状態となる。
その後、同期再生制御部324は、マスター端末から、コンテンツの再生開始指示を受信すると、受信バッファ344にバッファリングされたコンテンツの同期再生開始時間以降のデータを再生開始するよう制御する。つまり、同期再生制御部324は、受信バッファ344にバッファリングされたコンテンツの同期再生開始時間以降のデータを読み出してD/A変換器350に送り、D/A変換器350により当該データをD/A変換して、スピーカ352から音声出力するように制御する。
また、同期再生制御部324は、本再生装置30以外の複数の複数の再生装置30が同期再生しているときに、当該同期再生への途中参加を行うことができる。詳細には、同期再生制御部324は、コンテンツの再生停止中に、同期再生ボタンの押下などにより同期再生指示を受け付けると、同期再生中の再生装置30のうちのマスター端末に対して、当該同期再生への参加を要求する参加要求を送信するとともに、本再生装置30をスレーブモードに設定してスレーブ端末とする。そして、同期再生制御部324は、上記参加要求の応答として、マスター端末から、上記と同様に、マスター端末で再生中のコンテンツに関するコンテンツ情報、同期再生開始時間、待機指示、再生開始指示などを受信することで、同期再生に途中参加することができる。
また、スレーブ端末の同期再生制御部324は、複数のコンテンツを連続して再生する場合に、あるコンテンツの再生終了後、次に再生されるコンテンツの再生開始タイミングを、マスター端末の指示に従って、マスター端末の再生開始タイミングと合わせることができる。詳細には、同期再生制御部324は、マスター端末とスレーブ端末とが同一のコンテンツを同期再生している際に、当該コンテンツの再生が終了すると、マスター端末から当該コンテンツの次のコンテンツのコンテンツ情報(URL等)を受信する。すると、同期再生制御部324は、このコンテンツ情報に基づいて、サーバ装置20から上記次のコンテンツを先頭から受信開始して、受信バッファ344に一時記憶して、次のコンテンツの再生準備を行う。さらに、同期再生制御部324は、再生準備が完了した時点で、マスター端末に再生準備完了通知を送信し、これに応じて、マスター端末から再生開始指示を受信すると、スレーブ端末の受信バッファ344に一時記憶されている上記次のコンテンツの再生を開始するよう制御する。
また、スレーブ端末の同期再生制御部324は、マスター端末からの指示に基づいて、マスター端末とスレーブ端末とにおける再生経過時間のずれを調整することができる。詳細には、同期再生制御部324は、マスター端末とスレーブ端末とが同一のコンテンツを同期再生している際に、マスター端末から、スレーブ端末における当該コンテンツの再生経過時間の送信要求を受信すると、マスター端末に、スレーブ端末における現在の再生経過時間を表す情報を送信する。この結果、マスター端末において、マスター端末とスレーブ端末との間で再生経過時間に大きなずれが生じていると判断された場合に、スレーブ端末の同期再生制御部324は、マスター端末から、上記コンテンツの再生停止指示と、マスター端末で当該新たに取得された再生経過時間に上記所定の付加時間を加えた同期再生開始時間を表す情報と、待機指示とを受信する。その後は、上記と同様にして、同期再生開始時間以降のデータをサーバ装置20から受信開始して待機し、マスター端末からの再生開始指示を受信した時点で再生開始することで、当該スレーブ端末における再生経過時間のずれを修正することができる。
また、スレーブ端末の同期再生制御部324は、例えば、複数種類の再生制御指示のうち特定の再生制御指示を受け付けると、スレーブモードを解除するとともに、当該特定の再生制御指示に対応する再生制御を行う。一方、同期再生制御部324は、上記特定の再生制御指示以外の再生制御指示を受け付けると、当該再生制御指示を無効とする。例えば、同期再生制御部324は、スレーブモードに設定されているときに、上記特定の再生制御指示の一例である再生停止指示を受け付けると、スレーブモードを解除してノーマルモードに設定変更するとともに、再生中のコンテンツを再生停止させる。一方、同期再生制御部324は、上記特定の再生制御指示以外の再生制御指示(例えば、再生開始、一時停止、巻き戻し、早送り、局送り、局戻しなど)を受け付けると、スレーブモードを維持しつつ、当該再生制御指示を無効として、当該再生制御指示に対応する再生制御を実行しない。
次に、通常再生制御部326について説明する。通常再生制御部326は、再生装置30がノーマルモードに設定されているときに、他の再生装置30に依存しない通常の再生制御処理を実行する。この通常再生制御部326は、通信部310を用いて、サーバ装置20からLAN10を介してコンテンツを受信する処理、及び、再生部(例えばD/A変換器350)を用いて、上記サーバ装置20から受信したコンテンツを再生する処理を制御する。詳細には、通常再生制御部326は、ユーザにより指定された、或いは、予め設定された設定情報に従って、サーバ装置20に対して配信対象のコンテンツを指定し、その送信の開始や終了を要求するとともに、サーバ装置20から送信されたコンテンツを通信部310による受信するよう制御する。さらに、通常再生制御部326は、サーバ装置20から受信したコンテンツを、受信バッファ344に一時記憶し、さらに、この受信バッファ344に記憶されたコンテンツを読み出してD/A変換器350に転送し、D/A変換器350によりコンテンツのデジタルデータをアナログデータに変換させ、変換後のアナログデータをスピーカ352から音声出力させるよう制御する。
この際、通常再生制御部326は、ユーザ入力される再生制御指示(例えば、再生開始、再生停止、一時停止、巻き戻し、早送り等)を受け付けると、当該再生制御指示に従ってコンテンツの再生を制御する。例えば、ユーザにより再生装置30の再生停止ボタンが押下されて再生停止指示を受け付けると、通常再生制御部326は、再生中のコンテンツの再生を停止するようD/A変換器350等を制御する。
次に、再生切替制御部328について説明する。再生切替制御部328は、複数の再生装置30間におけるコンテンツの再生切替処理を制御する。このコンテンツの再生切替処理は、LAN10等のネットワークに接続された複数の再生装置30間で、現在再生中のコンテンツの再生動作に関する情報(即ち、再生情報)をやり取りすることにより、再生装置30間でコンテンツの再生動作を実行する主体を切り替える処理である。この再生切替処理により、ある再生装置30(再生切替元の再生装置30)におけるコンテンツの再生中に、切替指示を受け付けると、他の再生装置30(再生切替先の再生装置30)で、当該再生中のコンテンツを、上記再生切替元における再生動作の再生モード、再生経過時間等を引き継いで、シームレスに再生することができる。
上記の再生切替処理は、再生装置30の入力部330に対してユーザが切替指示操作を行い、再生装置30がこの切替指示を受け付けることを契機として実行される。この切替指示のユーザ入力操作は、再生切替元の再生装置30(即ち、コンテンツを再生中の再生装置30)に対して行われてもよいし、再生切替先の再生装置30(即ち、他の再生装置30で再生中のコンテンツの再生処理を引き継ぐ再生装置30)に対して行われてもよい。前者であれば、切替指示が入力された再生切替元の再生装置30から、再生切替先の再生装置30に、コンテンツの再生処理が切り替えられる(コンテンツのPUT)。一方、後者であれば、切替指示が入力された再生切替先の再生装置30に、再生切替元の再生装置30から、コンテンツの再生処理が切り替えられる(コンテンツのGET)。
マスターモードに設定された再生装置30(マスター端末)は、このような再生切替処理を制御し、スレーブモードに設定された再生装置30におけるコンテンツの再生を制御する。一方、スレーブモードに設定された再生装置30(スレーブ端末)は、マスター端末からの制御指示に従って、コンテンツの再生を制御する。
上記の再生切替処理を実行すべく、まず、マスターモードに設定された再生装置30の再生切替制御部328は、上記切替指示を受け付けると、モード設定部322による設定情報(再生切替機能のオン/オフ設定)を設定情報記憶部348から読みだし、この設定情報に基づいて、再生切替処理を実行するか否かを判断する処理を行う。この結果、再生切替処理を実行する場合には、再生切替制御部328は、ユーザの選択入力、或いは、予め設定された切替設定情報に含まれる再生切替先/再生切替元の再生装置30を表す情報に基づいて、再生切替先又は再生切替元の再生装置30(スレーブ端末)を決定する処理を行う。例えば、再生切替制御部328は、切替指示を受け付けると、LAN10に接続中で、かつ、起動中の他の再生装置30を探索し、この探索した再生装置30の中から、ユーザの選択入力等に基づいて、再生切替先又は再生切替元の再生装置30を決定する。
また、上記の切替指示としては、移動切替指示(Move指示)と、コピー切替指示(Copy指示)の2種類がある。移動切替指示は、再生切替元の再生装置30から再生切替先の再生装置30にコンテンツの再生を切り替えて、再生切替元の再生装置30では当該コンテンツの再生を停止させるための指示である。また、コピー切替指示は、再生切替先の再生装置30でコンテンツを再生させるとともに、再生切替元の再生装置30でも当該コンテンツの再生を継続させるための指示である。
さらに、マスター端末の再生切替制御部328は、決定された再生切替先又は再生切替元の再生装置30(スレーブ端末)との間で、再生中のコンテンツの再生動作に関する再生情報、再生情報の送信要求、再生開始指示、再生停止指示、再生開始通知、再生停止通知などの各種情報を送受信する。例えば、再生切替元の再生装置30が切替指示を受け付けた場合には、再生切替制御部328は、当該再生装置30で再生中のコンテンツに関する再生情報を生成して、再生切替先の再生装置30に送信する。再生切替先の再生装置30が切替指示を受け付けた場合には、再生切替制御部328は、再生切替元の再生装置30で再生中のコンテンツに関する再生情報の送信要求を生成して、再生切替元の再生装置30に送信し、これに応じて、再生切替元の再生装置30から、当該再生装置30で再生中のコンテンツに関する再生情報を受信する。
ここで、再生情報について説明する。本実施形態にかかる再生情報は、(1)コンテンツの属性情報、(2)再生モード情報、(3)再生経過時間、(4)サーバ情報を含む。
(1)コンテンツの属性情報
コンテンツの属性情報は、例えば、当該コンテンツの存在位置を示すアドレス情報(例えば、ホームネットワーク上における当該コンテンツのURL)、コンテンツのタイトル、コンテンツIDなどである。このコンテンツの属性情報により、各再生装置30はコンテンツを識別することができる。かかるコンテンツの属性情報は、サーバ装置20からのコンテンツの受信時に取得され、コンテンツ情報記憶部346に記憶されている。再生切替制御部328は、上記切替指示を受け付けた時点、或いは、再生情報の送信要求を受信した時点で、再生切替元の再生装置30で再生中のコンテンツに関する属性情報を、コンテンツ情報記憶部346から読み出して、再生情報に付加する。
(2)再生モード情報
再生モード情報は、再生切替元の再生装置30おけるコンテンツの再生モードを表す情報である。再生装置30は、上述した各種の再生モードを各種設定可能である。この再生モードは、リピートの有無などといったコンテンツの再生形態を含む。再生切替制御部328は、上記切替指示を受け付けた時点、或いは、再生情報の送信要求を受信した時点で、再生切替元の再生装置30で設定されている再生モードを特定可能な情報(例えば各再生モードに対応する識別情報)を、再生モード情報として再生情報に付加する。
また、再生モード情報は、上記再生形態を示す情報以外にも、再生対象のコンテンツの範囲を示す再生範囲情報を含む。この再生範囲情報は、再生装置30において現在再生中のコンテンツを含む、再生対象のコンテンツグループを示す範囲であり、この再生範囲は、例えば、アルバム単位、アーティスト単位、ジャンル単位、プレイリスト単位などで定められる。例えば、再生装置30が、あるアルバム内の複数のコンテンツを連続再生している場合には、再生範囲情報は、このアルバムを示す情報となる。また、再生装置30が、あるジャンル(例えば、ロック、ポップス、レゲエなど)に属する全てのコンテンツを連続再生している場合には、再生範囲情報は、このジャンルを示す情報となる。また、再生装置30が、あるプレイリストに属するコンテンツを連続再生している場合には、再生範囲情報は、このプレイリストを示す情報となる。再生切替制御部328は、上記切替指示を受け付けた時点、或いは、再生情報の送信要求を受信した時点で、再生切替元の再生装置30で設定されている再生範囲を表す情報を、再生モード情報として再生情報に付加する。
(3)再生経過時間
再生経過時間は、再生中のコンテンツの先頭からの再生済み時間である。再生切替制御部328は、上記切替指示を受け付けた時点、或いは、再生情報の送信要求を受信した時点で、再生中のコンテンツの再生経過時間情報を、再生モード情報として再生情報に付加する。
(4)サーバ情報
サーバ情報は、再生中のコンテンツの送信元のサーバ装置20に関する情報であり、例えば、当該サーバ装置20の識別情報である。このサーバ装置20の識別情報としては、例えば、機器単位で固有に付与されるUUID(Universally Unique IDentifier)、MACアドレス(Media Access Control address)などがある。再生切替制御部328は、上記切替指示を受け付けた時点、或いは、再生情報の送信要求を受信した時点で、再生中のコンテンツの送信元のサーバ装置20のサーバ情報を再生情報に付加する。
また、再生切替先の再生装置30の再生切替制御部328は、上記他の再生装置30との間で送受信される各種情報に基づいて、再生装置30におけるコンテンツの再生を制御する。詳細には、再生切替制御部328は、上記再生情報に含まれるサーバ情報に基づいて、上記再生切替元の再生装置30で再生中のコンテンツの送信元のサーバ装置20を特定するとともに、上記再生情報に含まれるコンテンツの属性情報及び再生経過時間に基づいて、再生対象のコンテンツとその再生開始位置を特定する。さらに、再生切替制御部328は、上記特定した送信元のサーバ装置20に対して、上記特定したコンテンツの再生開始位置からの送信要求を送信する。そして、再生切替制御部328は、当該サーバ装置20から通信部310を介して、当該コンテンツの再生経過時間以降のデータを受信して、受信バッファ344に当該コンテンツのデータを一時記憶し、さらに、この受信バッファ344から読み出したコンテンツのデータを、再生部であるD/A変換器350により順次、再生するよう制御する。例えば、再生時間長が5分30秒であるコンテンツの再生中に、再生経過時間が3分となった時点で、再生装置30間での再生動作の切替が生じたときは、再生切替先の再生装置30で、当該コンテンツの3分以後のデータが再生される。
このとき、再生切替制御部328は、上記再生情報に含まれる再生モード情報に基づいて、再生切替前と同一の再生モード(例えば、リピートの有無やリピート単位、シャッフルの有無、連続再生するコンテンツの再生範囲など)を設定し、この設定した再生モードに従いコンテンツを再生するよう制御する。つまり、再生切替制御部328は、再生途中で再生切り替えされたコンテンツのみならず、上記再生範囲内における当該コンテンツに後続する他の複数のコンテンツを、設定された再生モードに従って順次、受信して再生するよう制御する。
また、入力部330は、例えば、タッチパネル、ボタン、スイッチ、レバー又はダイヤルなどの操作キー、或いは、リモートコントローラ及びこのリモートコントローラ用の受光部などからなる操作装置と、この操作装置に対するユーザ入力操作に応じて入力信号を生成して制御部320に出力する入力制御回路などから構成されている。再生装置30のユーザは、この入力部330を操作することにより、再生装置30に対して各種のデータを入力したり、再生装置30の処理動作を指示したりすることができる。このユーザ入力操作に伴う指示としては、例えば、コンテンツの取得先のサーバ装置20の選択指示、コンテンツリストからの再生対象のコンテンツの選択指示、コンテンツの再生/一時停止/早送り/巻き戻し/音量調整などの再生制御指示、再生モードの選択指示、再生制御モードを選択するための同期再生指示、同期再生解除指示、同期再生機能のオン/オフの設定指示などがあげられる。
表示部332は、例えば、液晶ディスプレイ(LCD)装置等の表示装置で構成される。この表示部332は、サーバ装置20から受信したコンテンツリストやコンテンツの属性情報、再生経過時間等の再生状況などを表示する。ユーザは、該コンテンツリストの表示に基づいて所望のコンテンツデータを選択することができる。また、表示部332は、再生装置30間の同期再生機能に関して、同期再生の相手先の再生装置30の識別情報を表示する。また、表示部332は、再生装置30間の再生切替機能に関して、再生切替先/再生切替元となり得る再生装置30(LAN10に接続され稼働中の再生装置30)の識別情報を表示する。この再生装置30の識別情報としては、例えば、UUID、MACアドレス、ユーザ入力等に基づき各再生装置30に付与された機器名称であるフレンドリーネームなどを用いることができる。
バッファメモリ340は、例えば、SDRAM、SRAM、DRAM、RDRAMなどで構成される記憶部であり、各種のデータを一時記憶(バッファリング)する。このバッファメモリ340は、通信バッファ342、受信バッファ344として機能する。
通信バッファ342は、例えば、再生装置30とサーバ装置20との通信時に、データを円滑に送受信するために、通信データを一時記憶するバッファメモリである。
受信バッファ344は、サーバ装置20から通信部310により受信したコンテンツを一時記憶する記憶媒体の一例であり、例えばリングバッファで構成される。この受信バッファ344に一時記憶されたコンテンツの非圧縮データは、制御部320の同期再生制御部324、通常再生制御部326、再生切替制御部328(いずれも「再生制御部」に粗相当する。)により読み出され、D/A変換器350に転送される。
なお、本実施形態では、上記通信バッファ342と受信バッファ344とを、物理的に同一のバッファメモリ340内に設けられているが、かかる例に限定されず、物理的に相異なるメモリ内にそれぞれ設けられてもよい。また、これら各バッファは、メモリとして物理的に分割されていてもよいし、或いは、論理的に分割されていてもよい。
フラッシュメモリ345は、不揮発性メモリで構成される記憶部の一例であり、このフラッシュメモリ345に記憶されたデータは、再生装置30の電源がオフとなっても消滅しない。このフラッシュメモリ345は、例えば、コンテンツ情報記憶部346と、設定情報記憶部348として機能する。また、このフラッシュメモリ345には、再生装置30の識別情報(例えば、UUID、MACアドレス、フレンドリーネームなど)も記憶されている。
コンテンツ情報記憶部346は、サーバ装置20から受信したコンテンツの属性情報を記憶する。また、設定情報記憶部348は、上記の再生制御モードの設定情報、再生モードの設定情報、同期再生機能のオン/オフを表す設定情報、及び、再生切替機能のオン/オフを表す設定情報などの各種の設定情報を記憶する。
なお、再生装置30が具備する記憶媒体としては、上記のバッファメモリ340やフラッシュメモリ345の例に限定されず、それ以外にも、例えば、フレキシブルディスク、ハードディスク等の磁気ディスク、HDD、CD、DVD等の光ディスク、各種の半導体メモリなど、任意の記憶媒体であってよい。
D/A変換器350は、受信バッファ344から読み出されたコンテンツの非圧縮データをアナログデータにするD/A変換部の一例である。このD/A変換器350は、受信バッファ344から転送された非圧縮データを、デジタル形式からアナログ形式に変換し、アナログ形式の再生信号をスピーカ352に出力する。例えば、D/A変換器350は、リニアPCMの非圧縮データを、電流加算方式によりアナログ形式の再生信号に変換することができる。そして、アナログ形式に変換され生成された再生信号は、音声出力部の一例であるスピーカ352に出力されて音声出力される。なお、D/A変換部は、上記D/A変換器350のようにハードウェアで構成してもよいが、ソフトウェアで構成することも可能である。また、音声出力部は、上記スピーカ352の例に限定されず、ヘッドセット、イヤフォンなど、再生装置30の種類に応じて任意の音声出力器を使用できる。
次に、図4及び図5を参照して、再生装置30の入力部330を用いた上記同期再生指示及び再生制御指示の入力操作の具体例について説明する。図4は、本実施形態にかかる再生装置30本体に設けられた操作ボタンの具体例を示す説明図である。図5は、本実施形態にかかる再生装置30に付随するリモートコントローラ334に設けられた操作ボタンの具体例を示す説明図である。
図4の例では、再生装置30の本体に、同期再生指示を入力するための同期再生ボタン31(パーティーモードボタン)と、コンテンツの再生制御指示を入力するための再生制御ボタン32〜38と、再生装置30の電源をオン/オフするための電源ボタン40とが設けられている。再生制御ボタンとしては、例えば、コンテンツの再生させるための再生ボタン32、コンテンツの再生を停止するための再生停止ボタン33、コンテンツの再生を一時停止するための一時停止ボタン34、コンテンツの再生を巻き戻しするための巻き戻しボタン35、コンテンツの再生を早送りするための早送りボタン36、次のコンテンツにジャンプ(曲送り)するための曲送りボタン36、前のコンテンツにジャンプ(曲戻し)するための曲戻しボタン37が設置されている。
再生装置30を同期再生モードに設定する場合には、ユーザは、同期再生ボタン31を押下して、再生装置30に同期再生指示を入力する。このとき、コンテンツを再生中の再生装置30の同期再生ボタン31が押下されると、当該再生装置30は上記マスターモードに設定され、一方、コンテンツを再生停止中の再生装置30の同期再生ボタン31が押下されると、当該再生装置30は上記スレーブモードに設定される。
マスターモードに設定された再生装置30(マスター端末)では、全ての再生制御ボタン32〜38は有効であり、ユーザは、各再生制御ボタン32〜38を押下することで、マスター端末に再生制御指示を入力して、同期再生中のコンテンツの再生を制御(再生開始、再生停止、早送り、巻き戻しなど)することができる。さらに、マスター端末が、ユーザ入力された再生制御指示と同一の再生制御指示を、同期再生の相手先のスレーブ端末に送信し、スレーブ端末でも、同期再生中のコンテンツについて同様の再生制御が実行されるようにしてもよい。また、例えば、マスターモードに設定されている再生装置30の同期再生ボタン31をもう一度押下することにより、当該再生装置30のマスターモードが解除される。
スレーブモードに設定された再生装置30(スレーブ端末)では、例えば、複数の再生制御ボタン32〜38のうち1又は2以上の特定の再生制御ボタンと、電源ボタン40のみが有効となり、その他の再生制御ボタン及び同期再生ボタン31は無効となるようにしてもよい。例えば、再生停止ボタン33のみを有効とし、その他の再生制御ボタン32、34〜38を無効としてもよく、この場合、スレーブ端末では、同期再生中のコンテンツの再生停止のみが操作できるようになる。このように、スレーブ端末において有効な再生制御ボタンを特定のボタンに制限することで、マスター端末に対するスレーブ端末の従属性を高めることができる。
さらに、上記有効な特定の再生制御ボタン(例えば再生停止ボタン33)が押下されると、当該特定の再生制御ボタンに対応する特定の再生制御指示(例えば再生停止指示)が生成され、当該再生制御指示に応じたコンテンツの再生制御(例えば再生停止)がなされるだけでなく、再生装置30のスレーブモードが解除されて、ノーマルモード又はマスターモードに切り替わるようにしてもよい。これにより、ユーザは、再生停止ボタン33を押下するだけで(ワンタッチ操作で)、再生装置30のスレーブモードを解除するとともに、当該再生装置30によるコンテンツの再生を停止させることができる。なお、スレーブモードに設定されている再生装置30の同期再生ボタン31を押下することにより、スレーブモードが解除されるようにしてもよい。
次に、図5を参照して、リモートコントローラ334を用いた再生動作の切替指示の入力操作の具体例について説明する。図5は、本実施形態にかかる再生装置30を操作するためのリモートコントローラ334と、このリモートコントローラ334に設けられた操作ボタンの具体例を示す説明図である。
図5(a)に示すように、再生装置30とは別体に構成されたリモートコントローラ334を用いて、再生装置30に上記同期再生指示及び再生制御指示等を入力することもできる。このとき、リモートコントローラ334は、ユーザによる入力操作(操作ボタンの押下)に応じて、同期再生指示又は再生制御指示等を表す例えば赤外信号を再生装置30本体に送信し、再生装置30の本体に設けられたリモートコントローラ用受光部336により上記赤外信号を受信することで、再生装置30に上記各種の指示が入力される。
図5(b)に示すように、リモートコントローラ334には、上記図4の例と同様に、同期再生ボタン41(パーティーモードボタン)と、再生制御ボタン42〜48と、電源ボタン50と、コンテンツの選択指示やメニュー選択指示を入力するための選択ボタン52とが設けられており、再生制御ボタンとしては、例えば、再生ボタン42、再生停止ボタン43、一時停止ボタン44、巻き戻しボタン45、早送りボタン46、曲送りボタン46、曲戻しボタン47が設置されている。
かかるリモートコントローラ334を用いる場合も、上記と同様に、同期再生ボタン31を押下して、再生装置30に同期再生指示を入力することで、再生装置30を同期再生モードに設定でき、再生装置30がコンテンツを再生中であればマスターモードに設定され、再生停止中であればスレーブモードに設定される。また、再生装置30がマスターモードに設定されているときは、全ての再生制御ボタン42〜48が有効であるが、スレーブモードに設定されているときは、特定の再生制御ボタン(例えば再生停止ボタン43)のみが有効であり、その他の再生制御ボタンは無効である。また、スレーブモードに設定された再生装置30で、上記特定の再生制御ボタンが押下されることで、当該特定の再生制御ボタンに応じた再生制御がなされるとともに、スレーブモードが解除される、
以上、図1〜図5を参照して、本実施形態にかかるホームネットワークシステム1と、この構成要素であるサーバ装置20及び再生装置30の構成について説明した。以下に、上記構成のホームネットワークシステム1の動作について説明する。
<システムの全体動作>
まず、ホームネットワークシステム1におけるコンテンツの再生動作の概要について説明する。
サーバ装置20に保存されているコンテンツを再生装置30で再生する場合には、まず、再生装置30が、ユーザ入力に応じて、サーバ装置20に対してコンテンツリストの送信を要求する。この送信要求に応じて、サーバ装置20が、送信可能なコンテンツの一覧であるコンテンツリストを再生装置30に送信し、再生装置30は、サーバ装置20から受信したコンテンツリストを、表示部332に表示する。次いで、ユーザが、このコンテンツリストの中から再生を所望するコンテンツを選択して再生指示を入力操作すると、再生装置30は、当該選択されたコンテンツの送信要求をサーバ装置20に対して行う。これに応じて、サーバ装置20は、送信要求を受けたコンテンツの圧縮データを伸張(デコード)して、再生装置30が対応可能な非圧縮データ(例えばリニアPCMデータ)に変換した上で、当該非圧縮データを再生装置30にストリーミング送信する。すると、再生装置30は、ストリーミング送信されてくる非圧縮データを受信しながら再生する。この再生処理では、再生装置30は、受信した非圧縮データを、受信バッファ344に一時記憶しながら、この受信バッファ344から読み出した非圧縮データをD/A変換してアナログ形式の再生信号を生成し、スピーカ352から音声出力する。
このように、本実施形態では、サーバ装置20に保存されているコンテンツの圧縮データを、非圧縮データに復号する処理をサーバ装置20のデコーダ236で行うので、高精度でコンテンツを伸張することができる。さらに、再生装置30は、サーバ装置20により伸張された非圧縮データをD/A変換して、アナログデータを出力するだけでよいため、圧縮データを伸張するためのデコーダ等を備える必要がないので、廉価に製造することができる。
<ストリーミング再生動作>
次に、図6を参照して、本実施形態にかかるホームネットワークシステム1におけるコンテンツのストリーミング送信、およびストリーミング再生の処理動作について、概略的に説明する。なお、図6は、本実施形態にかかるストリーミング送信処理およびストリーミング再生処理の概要を示す説明図である。
図6に示すように、まず、再生装置30は、ユーザ選択されたコンテンツの送信要求を、サーバ装置20に送信する。この送信要求は、サーバ装置20における当該コンテンツの保存アドレス(例えばURL)の指定を含む。サーバ装置20の制御部212は、このコンテンツの送信要求を受信すると、ストレージ装置230から当該コンテンツの圧縮データ(非圧縮データであってもよい。)を先頭から順次読み出してデコーダ236に転送し、デコーダ236により当該読み出された圧縮データを非圧縮データ(例えばリニアPCMデータ)に伸張(デコード)する。次いで、サーバ装置20は、当該復号された非圧縮データを、通信部210およびLAN10を介して、再生装置30にストリーミング送信する。なお、本実施形態では、サーバ装置20と再生装置30との間の通信プロトコルとして、例えばTCP/IPを用いるが、かかる例に限定されず、例えば、UDP/IP(User Datagram Protocol/IP)などに従ってデータ通信することも可能である。
受信側の再生装置30では、上記のようにしてサーバ装置20からストリーミング送信されてくる非圧縮データを通信部310により受信し、受信データを受信バッファ344に一時記憶する。さらに、この受信バッファ344に記憶された非圧縮データを、D/A変換器350に転送して、D/A変換してアナログ形式の再生信号とし、このアナログ形式の再生信号をスピーカ352に出力して、音声出力する。このような再生装置30におけるバッファリング、D/A変換、音声出力といった一連の処理を、ストリーミング再生と称する。
かかるストリーミング再生時には、音楽コンテンツ等が音切れ無く好適に連続再生されるように、通常再生制御部326により、通信部310による非圧縮データの受信と、受信バッファ344への書き込みと、受信バッファ344からD/A変換器350への非圧縮データの転送とが制御されている。
具体的には、再生装置30による非圧縮データの受信開始時には、再生制御部は、受信バッファ344に記憶された非圧縮データのデータ量が、D/A変換器350によるD/A変換処理が出力中断なく動作可能な所定のデータ量に達したときに、受信バッファ344から非圧縮データを読み出して、D/A変換器350に転送するよう制御する。これにより、ストリーミング再生初期において、受信バッファ344に非圧縮データが十分記憶されていない時点でD/A変換器350にデータ転送することによって、D/A変換処理が出力中断して、音切れしてしまうことを防止できる。
さらに、通常再生制御部326は、D/A変換器350にデータ転送することで受信バッファ344に空きが生じたときに、通信部310を介してサーバ装置20に後続の非圧縮データの送信要求を行い、当該後続の非圧縮データを受信して、受信バッファ344にバッファリングする。このため、受信バッファ344に空きがないときには、再生装置30はサーバ装置20から非圧縮データを受信せずに待機する。
以上のようにして、サーバ装置20から再生装置30への非圧縮データのストリーミング送信と、再生装置30における非圧縮データのストリーミング再生処理が連続的に実行される。そして、コンテンツを1曲だけ単独再生する場合のみならず、所定の再生範囲、例えば、1つのアルバムに属する複数の音楽コンテンツ(第1番目、第2番目、…、第m番目のトラック(曲))をトラック番号に従って順次、連続再生することもできる。
<同期再生方法>
次に、本実施形態にかかるホームネットワークシステム1における複数の再生装置30によるコンテンツの同期再生方法について説明する。以下の説明では、ユーザの家庭に構築されたホームネットワークシステム1において、同一のサーバ装置20に対してLAN10を介して4台の再生装置30が接続されており、これらの再生装置30がそれぞれ、リビングルーム、ベッドルーム、キッチン、バスルームに配置されている例について説明する。
(1)同期再生モード(パーティーモード)の開始
まず、図7を参照して、本実施形態にかかる同期再生を開始するときの再生制御方法の概要について説明する。図7の例は、ユーザが居るリビングルームの再生装置30Aでコンテンツを再生しているとき、ベッドルームの再生装置30B及びキッチンの再生装置30Cでも、同一のコンテンツを同一の再生経過時間から同一のタイミングで再生しようとするケースである。このケースでは、ユーザによって操作されるリビングルームの再生装置30Aが、同期再生モードにおけるマスター端末となり、遠隔にあるベッドルームの再生装置30B及びキッチンの再生装置30Cが同期再生モードにおけるスレーブ端末となる。
図7Aに示すように、リビングルームの再生装置30Aは、サーバ装置20内に保存されているコンテンツを受信しながら再生(即ち、ストリーミング再生)している(ステップS110)。この状態で、リビングルームに居るユーザが、同期再生モード(パーティーモード)を実行させるため、リビングルームの再生装置30Aに同期再生指示を入力すると(ステップS120)、リビングルームの再生装置30Aは、上記同期再生指示の受付に応じて、マスターモードに設定される。
次いで、マスターモードに設定されたリビングルームの再生装置30A(マスター端末)は、同期再生に参加する再生装置30を探索するための探索情報(探索メッセージ)を、リビングルームの再生装置30AにLAN10を介して接続されている他の再生装置30B、30Cに一斉送信する(ステップS130)。
ベッドルームの再生装置30B及びキッチンの再生装置30Cは、リビングルームの再生装置30Aから探索情報を受信すると、自身が同期再生のスレーブ端末となることが許可されている場合に、リビングルームの再生装置30Aとの同期再生に参加することを表す参加応答(応答メッセージ)を、リビングルームの再生装置30Aに送信する(ステップS140)。なお、同期再生のスレーブ端末となることが許可されていない再生装置30は、上記探索情報に対する参加応答を送信しない。
さらに、参加応答を送信した再生装置30B、30Cは、スレーブモードに設定されて(ステップS150)、リビングルームの再生装置30A(マスター端末)によってコンテンツの再生動作が制御されるスレーブ端末となる。このとき、スレーブモードに設定された再生装置30B、30Cは、コンテンツを再生中であれば当該コンテンツの再生を停止する。
次いで、図7Bに示すように、リビングルームの再生装置30Aは、上記参加応答を送信してきたベッドルームとキッチンの再生装置30B、30Cを以下のように制御する。まず、リビングルームの再生装置30Aは、再生装置30Aで現在再生中のコンテンツに関する情報であるコンテンツ情報(例えば、当該コンテンツのURL)を、ベッドルームとキッチンの再生装置30B、30Cに送信する(ステップS160)。さらに、リビングルームの再生装置30Aは、再生中のコンテンツの再生経過時間を取得し(ステップS170)、上記取得した再生経過時間に付加時間を加えた同期再生開始時間を、ベッドルームとキッチンの再生装置30B、30Cに送信する(ステップS180)。
その後、図7Cに示すように、リビングルームの再生装置30Aは、スレーブ端末を待機状態にするための待機指示(PAUSE指示)を、ベッドルームとキッチンの再生装置30B、30Cに送信する(ステップS190)。すると、ベッドルームとキッチンの再生装置30B、30Cは、待機指示の受信に応じて、サーバ装置20から当該コンテンツの同期再生開始時間以降のデータを受信開始する(ステップS200)。
そして、ベッドルームとキッチンの再生装置30B、30Cは、サーバ装置20から受信したデータを受信バッファ344に一時記憶し、所定のデータ量以上のデータが受信バッファ344に一時記憶された時点で、再生準備が完了して待機状態となる。この待機状態の再生装置30B、30Cは、受信バッファ344に所定のデータ量のデータを保持した状態を維持し、サーバ装置20からの更なるデータの受信動作や、保持したコンテンツの再生動作は行わない。この待機状態となった後に、再生装置30B、30Cは、再生準備完了通知を再生装置30Aに送信する。
次いで、リビングルームの再生装置30Aは、再生装置30B、30Cから再生完了通知を受信した否かに基づいて、全てのスレーブ端末(再生装置30B、30C)が待機状態となっていることを確認する(ステップS210)。この確認が得られた後に、リビングルームの再生装置30Aは、自身で再生中のコンテンツの再生経過時間が上記同期再生開始時間になった時点で(ステップS220)、再生開始指示を再生装置30B、30Cに送信する(ステップS230)。
さらに、ベッドルームとキッチンの再生装置30B、30Cは、リビングルームの再生装置30Aから再生開始指示を受信したタイミングで、待機状態を解除し、上記受信バッファ344に一時記憶されている上記コンテンツの同期再生開始時間以降のデータを再生開始する(ステップS240)。この結果、マスター端末であるリビングルームの再生装置30Aと、スレーブ端末であるベッドルームとキッチンの再生装置30B、30Cとが、同一のコンテンツの同期再生を開始できる。
次に、図8を参照して、上記図7で説明したケースにおける同期再生制御方法について、より詳細に説明する。図8は、本実施形態にかかる複数の再生装置30による同期再生を開始する際の再生制御方法を示すフローチャートである。
図8Aに示すように、まず、リビングルームの再生装置30Aは、サーバ装置20から、コンテンツを受信しながら、受信したコンテンツを再生している(ステップS110)。このとき、リビングルームの再生装置30Aとベッドルームの再生装置30Bはともに、ノーモールモードに設定されており、再生制御に関する主従関係はない。以下に説明する処理中にも、リビングルームの再生装置30Aは、コンテンツを継続的に再生しており、そのコンテンツの再生経過時間は時間の経過とともに増加しているものとする。
かかる状態で、ユーザが、同期再生モード(パーティーモード)を選択するため、リビングルームの再生装置30Aの上記同期再生ボタン31又は41(パーティーモードボタン)を押下して、同期再生指示を入力すると、リビングルームの再生装置30Aは、この同期再生指示を受け付ける(ステップS120)。さらに、リビングルームの再生装置30Aは、この同期再生指示の受け付けに応じて、再生装置30Aの再生制御モードを、同期再生モードのマスターモードに設定する(ステップS122)。これにより、リビングルームの再生装置30Aが、同期再生のマスター端末となる。
次いで、リビングルームの再生装置30Aは、スレーブ端末を探索するために、LAN10に接続中で、かつ、起動中の他の再生装置30を探索し、この探索した再生装置30に対して、同期再生に参加する再生装置を探索するための探索情報を一斉送信する(ステップS130)。この探索情報の一斉送信では、例えばUDPマルチキャスト送信を用いて全てのスレーブ端末に一斉送信してもよいし、TCPのユニキャスト送信を用いて各スレーブ端末に個別に送信してもよい。また、上記探索情報には、送信元の再生装置30A(マスター端末)に関する情報として、例えば、マスター端末のアドレス情報(例えばIPアドレス)と、マスター端末の識別情報(機器単位で固有に付与されるUUID、MACアドレスなど)が含まれている。これにより、探索情報を受信した再生装置30Bは、同期再生のマスター端末を識別できるとともに、応答先であるマスター端末のアドレスを取得できる。
次いで、ベッドルームの再生装置30Bは、上記探索情報を受信すると、上記設定情報記憶部348に予め記憶されている設定情報に基づいて、同期再生モードのスレーブモードとなることを許可するか否か(即ち、リビングルームの再生装置30Aとの同期再生を許可するか否か)を判断する(ステップS132)。この結果、許可しない場合には、ベッドルームの再生装置30Bは、上記探索情報を無視し、リビングルームの再生装置30Aに応答を送信しない(ステップS134)。一方、許可する場合には、ベッドルームの再生装置30Bは、上記探索情報に含まれるリビングルームの再生装置30Aのアドレス情報に基づいて、上記探索情報の送信元のリビングルームの再生装置30Aに、同期再生への参加を表す参加応答を送信する(ステップS140)。
さらに、ベッドルームの再生装置30Bは、再生装置30Bの再生制御モードを、同期再生モードのスレーブモードに設定する(ステップS150)。また、ベッドルームの再生装置30Bは、コンテンツを再生中である場合には、当該コンテンツの再生を停止する(ステップS152、S154)。また、スレーブモードに設定された再生装置30B(スレーブ端末)では、同期再生モードを解除するための特定の操作以外の再生制御操作(再生操作、巻き戻し操作など)は無効になる。このため、マスター端末とスレーブ端末とで同期再生されるコンテンツに対する再生制御操作は、専らマスター端末に対して行う必要がある。
一方、リビングルームの再生装置30Aは、ベッドルームの再生装置30Bを含む他の1又は2以上の再生装置30から、上記探索情報の応答として参加応答を受信すると、予め設定された同期再生のゾーンに基づき、スレーブ端末となる再生装置30を選択する(ステップS142)。つまり、マスター端末であるリビングルームの再生装置30Aは、参加応答を送信してきた1又は2以上の再生装置30の中から、自身と同一のゾーンに属する再生装置30をスレーブ端末として選択する。
このゾーン選択について詳細に説明する。ホームネットワークシステム1内における複数の再生装置30を、同期再生のゾーンごとにグループ化し、このグループ化情報を各再生装置30に記憶しておく。ここで、同期再生のゾーンとは、同期再生を実行する再生装置30の範囲を意味する。そして、マスター端末は、自身と同一のゾーンに属する再生装置30のみをスレーブ端末として選択し、他のゾーンに属する再生装置30をスレーブ端末として選択しないようにする。例えば、リビングルームとベッドルームの再生装置30A、30Bが同一のゾーンにグループ化され、キッチンとバスルームの再生装置30C、30Dが同一のゾーンにグループ化されているとする。この場合、リビングルームの再生装置30Aは、ベッドルームの再生装置30Bからの参加応答を受信したときは、当該再生装置30Bをスレーブ端末として選択するが、キッチンとバスルームの再生装置30C、30Dから参加応答を受信したとしても、当該再生装置30C、Dをスレーブ端末として選択しない。このように、同期再生のゾーンを設けて、同期再生する再生装置30をグループ化することで、ゾーン毎にマスター端末を設定して各ゾーンで異なるコンテンツを同期再生することができる。なお、ゾーン選択を行わない場合には、本ステップS142は省略可能である。
次いで、リビングルームの再生装置30Aは、上記参加応答を送信してきたベッドルームの再生装置30Bを、スレーブ端末としてスレーブ登録リスト349に登録する(ステップS144)。上記参加応答には、当該スレーブ端末に関する情報として、例えば、スレーブ端末のアドレス情報(例えばIPアドレス)と、マスター端末の識別情報(例えばUUID、MACアドレス)が含まれている。これにより、参加応答を受信したマスター端末は、参加応答の送信元のスレーブ端末を識別できるとともに、制御指示を送信するための当該スレーブ端末のアドレスを取得できる。マスター端末であるリビングルームの再生装置30Aは、上記参加要求のベッドルームの再生装置30Bに関する情報を、スレーブ登録リスト349に書き込んでスレーブ登録する。
その後、リビングルームの再生装置30Aは、再生装置30Aで現在再生中のコンテンツに関するコンテンツ情報(例えば、当該コンテンツのアドレス情報であるURL)を、ベッドルームの再生装置30Bに送信する(ステップS160)。さらに、リビングルームの再生装置30Aは、上記コンテンツ情報の送信後の任意の時点で、再生中のコンテンツの再生経過時間を取得する(ステップS170)。リビングルームの再生装置30Aは、コンテンツの再生中には、その再生経過時間を常に計時しているので、上記再生経過時間をいつでも取得できる。
次いで、リビングルームの再生装置30Aは、上記取得した再生経過時間(例えば3分30秒)に、予め設定された付加時間(例えば10秒)を加算して同期再生開始時間(例えば3分40秒)を算出し、この同期再生開始時間を表す情報を、ベッドルームの再生装置30Bに送信する(ステップS180)。この同期再生開始時間は、スレーブ端末である再生装置30B、30Cがサーバ装置20からコンテンツのデータを受信し、このデータを受信バッファ344に十分に蓄積して再生準備が完了するまでに要する時間に、所定の余裕時間を加えた時間である。
さらに、リビングルームの再生装置30Aは、スレーブ端末であるベッドルームの再生装置30Bを待機状態にするための待機指示を、ベッドルームの再生装置30Bに送信する(ステップS190)。なお、この待機指示は、上記のコンテンツ情報の送信(S160)又は同期再生開始時間を表す情報の送信(S180)と同時に送信されてもよい。また、この待機指示の送信処理(S190)を省略して、スレーブ端末が、上記コンテンツ情報又は同期再生開始時間を表す情報の受信に応じて、待機指示を受信したと判断するようにしてもよい。
ベッドルームとキッチンの再生装置30B、30Cは、上記ステップS160、S180でリビングルームの再生装置30Aから受信したコンテンツ情報(例えばURL)と同期再生開始時間に基づき、サーバ装置20に対して、リビングルームの再生装置30Aで再生中のコンテンツの同期再生開始時間以降のデータの送信を要求する。これに応じて、サーバ装置20が、当該データをベッドルームの再生装置30Bにストリーム送信すると、ベッドルームの再生装置30Bは、サーバ装置20から当該コンテンツの同期再生開始時間以降のデータを受信開始する(ステップS200)。
そして、ベッドルームの再生装置30Bは、サーバ装置20から受信したデータを受信バッファ344に一時記憶(バッファリング)し、好適な再生動作に必要な所定のデータ量以上のデータが受信バッファ344に一時記憶された時点で(ステップS202)、再生準備を完了して待機(PAUSE)状態となり(ステップS204)、受信動作及びバッファリング動作を中断する。この待機状態となった後に、再生装置30B、30Cは、リビングルームの再生装置30Aからの状態照会信号の受信に応じて、上記コンテンツの再生準備完了通知を再生装置30Aに送信する(ステップS206)。
詳細には、マスター端末であるリビングルームの再生装置30Aは、上記待機指示の送信後(S190)、スレーブ端末が待機状態となったことを確認するための状態照会信号をベッドルームの再生装置30Bに繰り返し送信して、コンテンツの再生準備が完了したか否かを問い合わせる。ベッドルームの再生装置30B(スレーブ端末)は、受信バッファ344への所定データ量以上のデータのバッファリング(再生準備)が完了した時点で、上記状態照会信号に対する応答として、再生準備完了通知をリビングルームの再生装置30Aに送信する(S206)。リビングルームの再生装置30Aは、再生準備完了通知を受信することで、ベッドルームの再生装置30Bにおいて再生準備が完了したことを確認できる(ステップS210)。
次いで、リビングルームの再生装置30Aは、スレーブ登録リスト349に登録した全てのスレーブ端末(ベッドルームの再生装置30Bを含む。)から再生準備完了通知を受信したか否かに基づいて、全てのスレーブ端末が待機状態となっているか否かを確認する(ステップS212)。この結果、上記ステップS180で設定した同期再生開始時間内に再生準備が完了せず、未だ待機状態になっていないスレーブ端末があれば、当該待機状態になっていないスレーブ端末について、上記ステップS170〜S210の制御を繰り返す。このとき、上記設定した同期再生開始時間の付加時間を更に長い時間に再設定することで、スレーブ端末に再生準備するための時間をより多く与え、より確実に待機状態にすることができる。
その後、リビングルームの再生装置30Aは、自身で再生中のコンテンツの現在の再生経過時間(時間と経過とともに増加する。)と、上記ステップS180で設定した同期再生開始時間(例えば3分40秒)とを継続的に比較しており、当該コンテンツの再生経過時間が上記同期再生開始時間になった時点で(ステップS220)、再生開始指示を、各スレーブ端末(ベッドルームの再生装置30Bを含む。)に一斉送信する(ステップS230)。この再生開始指示の一斉送信では、例えば、マスター端末からUDPマルチキャスト送信を用いて全てのスレーブ端末に一斉送信すれば、再生開始指示の時間ずれを防止できるので好ましいが、かかる例に限定されず、マスター端末からTCPのユニキャスト送信を用いて各スレーブ端末に個別に送信してもよい。
なお、上記再生開始指示の送信タイミングは、再生経過時間が上記同期再生開始時間となる時点の直前の時点(例えば、指示の遅延等を考慮した時間分だけ前の時点)であってもよく、当該時点も、本発明の「コンテンツの再生経過時間が同期再生開始時間になったとき」に含まれるものとする。
さらに、ベッドルームとキッチンの再生装置30Bは、リビングルームの再生装置30Aから再生開始指示を受信すると、待機状態を解除し、受信バッファ344内のコンテンツの同期再生開始時間以降のデータの再生を開始する(ステップS240)。詳細には、ベッドルームの再生装置30Bは、再生開始指示を受信したタイミングで、受信バッファ344に一時記憶されている上記コンテンツの同期再生開始時間以降のデジタルデータを先頭から読み出して、D/A変換器350に転送してアナログデータに変換し、スピーカ352から音声出力する。
以上のようにして、リビングルームの再生装置30A(マスター端末)で再生中のコンテンツを、ベッドルームの再生装置30B(スレーブ端末)で同期再生することができる。なお、ここでは、スレーブ端末としてベッドルームの再生装置30Bの例を挙げて説明したが、他のキッチンの再生装置30Cも同様にして同期再生を実行できる。
かかる同期再生制御方法によれば、マスターモードに設定されたリビングルームの再生装置30A(マスター端末)が、スレーブモードに設定された他の再生装置30B、30C(スレーブ端末)を制御して、コンテンツを同期再生させる。このとき、マスター端末が、同期再生に必要な時間管理(例えば、同期再生開始時間の設定や、再生経過時間と同期再生開始時間との比較など)を全て行い、スレーブ端末は、マスター端末から与えられた指示(待機指示、再生開始指示など)に従って、サーバ装置20からコンテンツを受信して再生動作を行うのみでよく、処理負荷を低減できる。このように、本実施形態にかかる同期再生制御方法では、マスター端末による比較的簡単な制御によって、複数の再生装置30間で同期再生を実現できる。また、ユーザは、リビングルームの再生装置30Aに対して簡単な操作を行うだけで、ベッドルームやキッチンの再生装置30B、30Cに対して何らの操作を行うことなく、これらの再生装置30A、30B、30Cで同期再生を実行できるので便利である。
(2)同期再生モードへの途中参加
次に、図9を参照して、本実施形態にかかる同期再生モードの実行中に新たな再生装置30が途中参加するときの再生制御方法の概要について説明する。図9の例は、上記図7の例の同期再生を開始した結果、リビングルームの再生装置30A(マスター端末)と、ベッドルームとキッチンの再生装置30B、30C(スレーブ端末)とによってコンテンツを同期再生しているときに、バスルームの再生装置30Dがスレーブ端末として新たに同期再生モードに途中参加するケースを表す。
図9Aに示すように、まず、リビングルーム、ベッドルーム、キッチンの再生装置30A、30B、30Cは、サーバ装置20から同一のコンテンツを受信しながら同期再生している(ステップS300)。この状態で、バスルームに居るユーザが、バスルームの再生装置30Dを同期再生モードに参加させるため、バスルームの再生装置30Dの再生停止中に、バスルームの再生装置30Dの同期再生ボタンを押下して同期再生指示を入力すると(ステップS310)、バスルームの再生装置30Dは、上記同期再生指示の受付に応じて、スレーブモードに設定される。
次いで、バスルームの再生装置30Dは、バスルームの再生装置30DにLAN10を介して接続されている他の再生装置30A、30B、30Cに、同期再生への参加を要求する参加要求(参加要求メッセージ)を送信して、自身がスレーブモードに設定されたことを通知する(ステップS320)。マスター端末であるリビングルームの再生装置30Aは、この参加要求を受信すると、バスルームの再生装置30Dを、同期再生のスレーブ端末として登録する(ステップS330)。
次いで、図9Bに示すように、リビングルームの再生装置30A(マスター端末)は、上記参加要求を送信してきたバスルームの再生装置30D(スレーブ端末)に対して、図7の例と同様な以下の制御を行う。まず、リビングルームの再生装置30Aは、再生装置30Aで同期再生中のコンテンツ情報(例えばURL)を、バスルームの再生装置30Dに送信し(ステップS360)、さらに、同期再生中のコンテンツの再生経過時間を取得し(ステップS370)、上記取得した再生経過時間に付加時間を加えた同期再生開始時間をバスルームの再生装置30Dに送信する(ステップS380)。
さらに、図9Cに示すように、リビングルームの再生装置30Aは、待機指示(PAUSE指示)をバスルームの再生装置30Dに送信する(ステップS390)。すると、バスルームの再生装置30Dは、上記待機指示の受信に応じて、サーバ装置20から上記コンテンツの同期再生開始時間以降のデータを受信開始し(ステップS400)、サーバ装置20から受信したデータを受信バッファ344に一時記憶し、所定のデータ量以上のデータが受信バッファ344に一時記憶された時点で、再生準備が完了して待機状態となる。この待機状態となった後に、バスルームの再生装置30Dは、再生準備完了通知をリビングルームの再生装置30Aに送信する。
リビングルームの再生装置30Aは、バスルームの再生装置30Dから再生完了通知を受信することで、バスルームの再生装置30Dが待機状態となっていることを確認する(ステップS410)。この確認が得られた後に、リビングルームの再生装置30Aは、自身で再生中のコンテンツの再生経過時間が上記同期再生開始時間になった時点で(ステップS420)、再生開始指示をバスルームの再生装置30Dに送信する(ステップS430)。
さらに、バスルームの再生装置30Dは、リビングルームの再生装置30Aから再生開始指示を受信したタイミングで、待機状態を解除し、上記受信バッファ344に一時記憶されている上記コンテンツの同期再生開始時間以降のデータを再生開始する(ステップS440)。この結果、新たに同期再生モードに追加されたバスルームの再生装置30Dが、既に同期再生中のリビングルームの再生装置30A(マスター端末)及びスベッドルームとキッチンの再生装置30B、30C(スレーブ端末)と、同一のコンテンツを同期再生できる。
次に、図10を参照して、上記図9で説明したケースにおける同期再生制御方法について、より詳細に説明する。図10は、本実施形態にかかる再生装置が同期再生モードに新たに参加する際の再生制御方法を示すフローチャートである。
図10Aに示すように、まず、リビングルームの再生装置30A(マスター端末)と、ベッドルームとキッチンの再生装置30B、30C(スレーブ端末)とによってコンテンツを同期再生しているときには、リビングルームの再生装置30Aは、サーバ装置20から、コンテンツを受信しながら、受信したコンテンツを再生している(ステップS110)。このとき、リビングルームの再生装置30Aはマスターモードに設定され、ベッドルームとキッチンの再生装置30B、30Cはスレーブモードに設定されているが、バスルームの再生装置30Dは、ノーモールモードに設定されており、再生停止中(ステップS302)であるとする。なお、以下に説明する処理中にも、リビングルームの再生装置30Aは、コンテンツを継続的に再生しており、そのコンテンツの再生経過時間は時間の経過とともに増加しているものとする。
かかる状態で、ユーザが、再生停止中のバスルームの再生装置30Dを同期再生モード(パーティーモード)に参加させるため、バスルームの再生装置30Dの上記同期再生ボタン31又は41(パーティーモードボタン)を押下して、同期再生指示を入力すると、バスルームの再生装置30Dは、この同期再生指示を受け付ける(ステップS310)。さらに、バスルームの再生装置30Dは、この同期再生指示の受け付けに応じて、再生装置30Dの再生制御モードを、同期再生モードのスレーブモードに設定する(ステップS312)。このように、再生装置30Dは、再生停止中に同期再生指示を受け付けると、スレーブモードに設定される。
次いで、バスルームの再生装置30Dは、自身がスレーブ端末となったことをマスター端末に通知するために、LAN10に接続中で、かつ、起動中の1又は2以上の他の再生装置30に対して、同期再生への参加を要求するための参加要求を一斉送信する(ステップS320)。この一斉送信は、例えばUDPマルチキャスト送信を用いてもよい。
次いで、リビングルームの再生装置30Aは、上記参加要求を送信してきたバスルームの再生装置30Dを、スレーブ端末としてスレーブ登録リスト349に追加登録する(ステップS330)。上記参加要求には、送信元の再生装置30D(スレーブ端末)に関する情報として、例えば、スレーブ端末のアドレス情報(例えばIPアドレス)と、スレーブ端末の識別情報(例えばUUID、MACアドレス)が含まれている。これにより、参加応答を受信したマスター端末は、参加要求の送信元のスレーブ端末を識別できるとともに、制御指示を送信するための当該スレーブ端末のアドレスを取得できる。マスター端末であるリビングルームの再生装置30Aは、上記参加要求の送信元のバスルームの再生装置30Dに関する情報を、スレーブ登録リスト349に書き込んでスレーブ登録する。
その後、リビングルームの再生装置30Aは、再生装置30A、30B、30Cにより同期再生中のコンテンツに関するコンテンツ情報(例えばURL)を、バスルームの再生装置30Dに送信し(ステップS360)、次いで、上記コンテンツ情報の送信後の任意の時点で、再生中のコンテンツの再生経過時間を取得し(ステップS370)、取得した再生経過時間に、予め設定された付加時間を加算して同期再生開始時間を算出して、この同期再生開始時間を表す情報をバスルームの再生装置30Dに送信し(ステップS380)、その後、待機指示をバスルームの再生装置30Dに送信する(ステップS390)。バスルームの再生装置30Dは、リビングルームの再生装置30Aから送信された上記コンテンツ情報、同期再生開始時間を表す情報及び待機情報を受信する。
次いで、バスルームの再生装置30Dは、上記待機指示の受信に応じて、リビングルームの再生装置30Aから受信したコンテンツ情報(例えばURL)と同期再生開始時間に基づき、サーバ装置20から、リビングルームの再生装置30Aで再生中のコンテンツの同期再生開始時間以降のデータを受信開始する(ステップS400)。
そして、図10Bに示すように、バスルームの再生装置30Dは、サーバ装置20から受信したデータを受信バッファ344に一時記憶(バッファリング)し、好適な再生動作に必要な所定のデータ量以上のデータが受信バッファ344に一時記憶された時点で(ステップS402)、再生準備を完了して待機状態となり(ステップS404)、その後、リビングルームの再生装置30Aからの状態照会信号の受信に応じて、上記コンテンツの再生準備完了通知を再生装置30Aに送信する(ステップS406)。リビングルームの再生装置30Aは、この再生準備完了通知を受信することで、バスルームの再生装置30Dにおいて再生準備が完了したことを確認できる(ステップS410)。
この確認後、リビングルームの再生装置30Aは、自身で再生中のコンテンツの現在の再生経過時間が、上記ステップS380で設定した同期再生開始時間になった時点で(ステップS420)、再生開始指示をバスルームの再生装置30Dに送信する(ステップS430)。バスルームの再生装置30Dは、リビングルームの再生装置30Aから再生開始指示を受信すると、待機状態を解除し、受信バッファ344内のコンテンツの同期再生開始時間以降のデータの再生を開始する(ステップS440)。
なお、以上のステップS360〜S440は、上述の図8のステップS160〜S240と略同一であるので、それらの詳細説明は省略する。ただし、図10のフローでは、図8のステップS212、S214が省略されている。
以上のような再生制御方法により、リビングルームの再生装置30A(マスター端末)とベッドルームとキッチンの再生装置30B、30C(スレーブ端末)とが同期再生しているときに、バスルームの再生装置30D(スレーブ端末)を当該同期再生に途中参加させることができる。このとき、同期再生中の再生装置30A、B、Cにおけるコンテンツの再生を中断させることなくシームレスに、新たな再生装置30Dを同期再生に途中参加させることができる。
(3)複数コンテンツの同期再生時におけるコンテンツ切替時の制御
次に、図11を参照して、本実施形態にかかる同期再生制御方法において、複数のコンテンツを連続して同期再生する際に、コンテンツの切替時における再生制御方法について説明する。このコンテンツ切替方法は、例えば、同一の音楽アルバム内の複数の曲をトラック番号順に連続して再生する場合や、プレイリスト内の複数の曲を連続して再生する場合に適用される。
図11は、上記図7の例の同期再生を開始した結果、リビングルームの再生装置30A(マスター端末)と、ベッドルームの再生装置30B(スレーブ端末)とがコンテンツを同期再生しているときに、コンテンツを切り替える際の再生制御方法を示すフローチャートである。
図11Aに示すように、リビングルームの再生装置30A(マスター端末)とベッドルームの再生装置30B(スレーブ端末)は、同一のコンテンツ(曲)を同期再生しているときに(ステップS500、S502)、そのコンテンツの終了を検知すると(ステップS510、S512)、再生動作を停止する(ステップS520、S522)。つまり、スレーブ端末は、1つのコンテンツの再生が終了する度に再生停止する。
リビングルームの再生装置30A(マスター端末)は、自身でコンテンツの再生が終了した時点で、スレーブ端末からの再生停止通知の受信(ステップS530)の有無に基づいて、全てのスレーブ端末が再生停止したか否かを確認する(ステップS532)。詳細には、マスター端末は、自身におけるコンテンツの再生が終了した後に、スレーブ端末が再生停止状態となったことを確認するための状態照会信号をスレーブ端末に繰り返し送信し、再生停止状態となったか否かを問い合わせる。スレーブ端末は、再生停止(S522)した時点で、上記状態照会信号に対する応答として、再生停止通知をマスター端末に送信する(S530)。マスター端末は、スレーブ端末から再生停止通知を受信することで、スレーブ端末が再生停止したことを確認できる(S532)。
次いで、リビングルームの再生装置30A(マスター端末)は、各スレーブ端末に、上記再生が終了したコンテンツの次に再生するコンテンツに関するコンテンツ情報(例えば次の曲のURL)を、ベッドルームの再生装置30Bを含む各スレーブ端末に送信する(ステップS540)。これにより、スレーブ端末は、当該次のコンテンツ情報に基づいて、サーバ装置20から次のコンテンツを受信できるようになる。
さらに、リビングルームの再生装置30A(マスター端末)は、ベッドルームの再生装置30Bを待機状態にするための待機指示を、ベッドルームの再生装置30B(スレーブ端末)に送信する(ステップS550)。なお、この待機指示は、上記のコンテンツ情報の送信(S540)と同時に送信されてもよい。また、この待機指示の送信処理(S550)を省略して、スレーブ端末が、上記コンテンツ情報の受信に応じて、待機指示を受信したと判断するようにしてもよい。
その後、リビングルームの再生装置30A(マスター端末)とベッドルームの再生装置30B(スレーブ端末)はそれぞれ、サーバ装置20に対して、次のコンテンツの送信を要求し、サーバ装置20から次のコンテンツのデータを曲の先頭から受信開始する(ステップS570、S572)。さらに、リビングルームの再生装置30Aとベッドルームの再生装置30Bはそれぞれ、サーバ装置20から受信したデータを受信バッファ344に一時記憶(バッファリング)し、上記所定のデータ量以上のデータが受信バッファ344に一時記憶されて再生準備が完了した時点で(ステップS570、S572)、サーバ装置20からのデータ受信を中断して、待機状態となる(ステップS580、S582)。
次いで、図11Bに示すように、リビングルームの再生装置30A(マスター端末)は、スレーブ端末からの再生準備完了通知の受信の有無に基づいて、全てのスレーブ端末(ベッドルームの再生装置30Bを含む。)で再生準備が完了したか否かを確認する(ステップS584〜S600)。詳細には、マスター端末は、自身自身が待機状態となった時点で、スレーブ端末が待機状態となったことを確認するための状態照会信号をスレーブ端末に繰り返し送信して、コンテンツの再生準備が完了したか否かを問い合わせる。ベッドルームの再生装置30B(スレーブ端末)は、再生準備が完了した時点で、上記状態照会信号に対する応答として、再生準備完了通知をマスター端末に送信する(S584)。マスター端末は、再生準備完了通知を受信することで、スレーブ端末において再生準備が完了したことを確認できる(ステップS590)。
この結果、マスター端末であるリビングルームの再生装置30Aは、全てのスレーブ端末で再生準備が完了するまで待機し、全てのスレーブ端末で再生準備が完了した時点で(ステップS600)、再生開始指示を各スレーブ端末(ベッドルームの再生装置30Bを含む)に一斉送信するとともに(ステップS610)、自身も、待機状態を解除して、受信バッファ344内にバッファリングされている次のコンテンツの再生を開始する(ステップS620)。ベッドルームの再生装置30B(スレーブ端末)は、上記再生開始指示を受信すると、待機状態を解除し、受信バッファ344内にバッファリングされている次のコンテンツの再生を開始する(ステップS622)。
以上のようにして、同期再生されるコンテンツの切替時に、マスター端末が、自身及びスレーブ端末における次のコンテンツの再生開始タイミングを制御することで、マスター端末とスレーブ端末との間の再生タイミングのずれを、1つのコンテンツ毎に(1曲毎に)調整することができる。
(4)マスター端末によるスレーブ端末の再生経過時間の調整
次に、図12を参照して、本実施形態にかかるマスター端末がスレーブ端末の再生経過時間を調整するための再生制御方法について説明する。図12は、上記図7の例の同期再生を開始した結果、リビングルームの再生装置30A(マスター端末)と、ベッドルームとキッチンの再生装置30B(スレーブ端末)とによってコンテンツを同期再生しているときに、マスター端末がスレーブ端末の再生経過時間のずれを調整する際の再生制御方法を示すフローチャートである。
図12Aに示すように、リビングルームの再生装置30A(マスター端末)とベッドルームの再生装置30B(スレーブ端末)が、同一のコンテンツ(曲)を同期再生しているときに(ステップS700、S702)、マスター端末は、例えば、定期的または任意のタイミングで、各スレーブ端末において現在再生中のコンテンツの再生経過時間を取得する(ステップS710、S712)。具体的には、マスター端末であるリビングルームの再生装置30Aは、スレーブ端末であるベッドルームの再生装置30Bにおいて現在再生中のコンテンツの再生経過時間の送信要求を、ベッドルームの再生装置30Bに定期的に送信し(ステップS710)、この送信要求に応じて、ベッドルームの再生装置30Bは、再生装置30Bにおける現在の再生経過時間を表す情報を、リビングルームの再生装置30Aに送信する(ステップS712)。リビングルームの再生装置30Aは、ベッドルームの再生装置30Bを含む各スレーブ端末から、各スレーブ端末におけるコンテンツの現在の再生経過時間(以下「スレーブ端末における再生経過時間」という。)を表す情報を受信する。
なお、本実施形態では、スレーブ端末は、マスター端末からの送信要求に応じて、スレーブ端末における再生経過時間をマスター端末に送信しているが、かかる例に限定されない。例えば、マスター端末からの送信要求が無くても、スレーブ端末が、定期的に、スレーブ端末自身における再生経過時間を取得して、マスター端末に送信するようにしてもよい。
また、リビングルームの再生装置30A(マスター端末)は、上記のスレーブ端末への再生経過時間の送信要求時、或いは、スレーブ端末における再生経過時間を表す情報の受信時に、マスター端末自身におけるコンテンツの現在の再生経過時間(以下「マスター端末における再生経過時間」という。)を取得して保持する。
そして、リビングルームの再生装置30Aは、マスター端末における再生経過時間と、各スレーブ端末における再生経過時間とを比較し、両者が所定時間以上ずれているか否かを判断する(ステップS720)。この結果、両者の再生経過時間のずれが所定時間未満であれば、ステップS710に戻り、上記ステップS710〜S720を繰り返す。一方、両者の再生経過時間が所定時間以上ずれている場合には、リビングルームの再生装置30Aは、再生経過時間ずれが生じているスレーブ端末(図の例では、ベッドルームの再生装置30B)に対して、再生停止指示を送信し(ステップS730)、ベッドルームの再生装置30Bは、この再生停止指示を受信すると、上記同期再生中のコンテンツの再生を停止する(ステップS732)。
その後、リビングルームの再生装置30A(マスター端末)は、スレーブ端末からの再生停止通知の受信(ステップS734)の有無に基づいて、再生経過時間がずれていたベッドルームの再生装置30B(スレーブ端末)が再生停止したか否かを確認する(ステップS736)。詳細には、マスター端末は、スレーブ端末が再生停止状態となったことを確認するための状態照会信号をスレーブ端末に繰り返し送信し、再生停止状態となったか否かを問い合わせる。スレーブ端末は、再生停止(S732)した時点で、上記状態照会信号に対する応答として、再生停止通知をマスター端末に送信する(S734)。マスター端末は、スレーブ端末再生停止通知を受信することで、スレーブ端末が再生停止したことを確認できる(S736)。
その後、リビングルームの再生装置30Aは、再生装置30Aで再生中のコンテンツに関するコンテンツ情報(例えばURL)を、ベッドルームの再生装置30Bに送信し(ステップS760)、次いで、上記コンテンツ情報の送信後の任意の時点で、リビングルームの再生装置30Aで再生中のコンテンツの現在の再生経過時間を新たに取得し(ステップS770)、取得した再生経過時間に、予め設定された付加時間を加算して同期再生開始時間を算出して、この同期再生開始時間を表す情報をベッドルームの再生装置30Bに送信し(ステップS780)、その後、待機指示をベッドルームの再生装置30Bに送信する(ステップS790)。ベッドルームの再生装置30Bは、リビングルームの再生装置30Aから送信された上記コンテンツ情報、同期再生開始時間を表す情報及び待機情報を受信する。なお、ベッドルームの再生装置30Bが、過去に受信したコンテンツ情報を保持している場合には、上記ステップS760を省略してもよい。
次いで、ベッドルームの再生装置30Bは、上記待機指示の受信に応じて、リビングルームの再生装置30Aから受信したコンテンツ情報(例えばURL)と同期再生開始時間に基づき、サーバ装置20から、リビングルームの再生装置30Aで再生中のコンテンツの同期再生開始時間以降のデータを受信開始する(ステップS800)。
そして、図12Bに示すように、ベッドルームの再生装置30Bは、サーバ装置20から受信したデータを受信バッファ344に一時記憶(バッファリング)し、好適な再生動作に必要な所定のデータ量以上のデータが受信バッファ344に一時記憶された時点で(ステップS802)、再生準備を完了して待機状態となり(ステップS804)、その後、リビングルームの再生装置30Aからの状態照会信号の受信に応じて、上記コンテンツの再生準備完了通知を再生装置30Aに送信する(ステップS806)。リビングルームの再生装置30Aは、この再生準備完了通知を受信することで、バスルームの再生装置30Dにおいて再生準備が完了したことを確認できる(ステップS810)。
この確認後、リビングルームの再生装置30Aは、自身で再生中のコンテンツの現在の再生経過時間が、上記ステップS780で設定した同期再生開始時間になった時点で(ステップS820)、再生開始指示をベッドルームの再生装置30Bに送信する(ステップS830)。ベッドルームの再生装置30Bは、リビングルームの再生装置30Aから再生開始指示を受信すると、待機状態を解除し、受信バッファ344内のコンテンツの同期再生開始時間以降のデータの再生を開始する(ステップS840)。
なお、以上のステップS760〜S840は、上述の図8のステップS160〜S240と略同一であるので、それらの詳細説明は省略する。ただし、図12のフローでは、図8のステップS212、S214が省略されている。
以上のような再生制御方法により、リビングルームの再生装置30A(マスター端末)とベッドルームの再生装置30B(スレーブ端末)とが同期再生しているときに、マスター端末はスレーブ端末の再生経過時間のずれを例えば定期的に調整できるので、複数の再生装置30間で同一のコンテンツを時間ずれなく好適に同期再生できる。
以上、本実施形態にかかるホームネットワークシステム1における複数の再生装置30によるコンテンツの同期再生方法について説明した。本実施形態では、サーバ装置20からコンテンツを受信しながらストリーミング再生する複数の再生装置30のうち、既にコンテンツを再生中の再生装置30Aをマスター端末とし、このマスター端末が、同期再生に必要な全ての時間管理を行い、他の再生装置30をスレーブ端末として制御することで、同期再生を簡単に実現できる。
これは、従来の同期再生方法において、サーバ装置が厳密な時間管理を行い、サーバ装置から複数の再生端末装置に同一のコンテンツをマルチキャスト配信する手法とは大きく異なる。本実施形態では、同期再生時であっても、サーバ装置20は、同期をとるための時間管理や、各再生装置30の再生制御を行っておらず、単に、各再生装置30からの送信要求に応じて、個別にコンテンツを各再生装置30に送信するだけであり、サーバ装置20から各再生装置30へのコンテンツの配信は、ユニキャスト配信を利用することができる。従って、本実施形態では、サーバ装置20と再生装置30を有線接続するためのルータとして、マルチキャスト対応の専用ルータに限定されず、一般的なルータを使用でき、ルータの種類、性能の自由度を高めることができる。さらに、高レートのマルチキャスト転送に対応していない無線LAN等を介して、コンテンツを転送する場合であっても、正常に同期再生動作を実現できる。
さらに、マスター端末側で全ての時間管理を行い、スレーブ端末は、マスター端末かあの指示に従って動作するだけでよいので、スレーブ端末の機能及び処理負荷を低減できる。このように、本実施形態では、スレーブ端末側での時間管理を行わずに、より簡便な手法で同期再生を実現できるので、特に、ホームパーティーにおいて相異なる部屋に設置された端末間で音楽を同期再生する場合など、それほど厳密な時間管理が求められないケースでは有用である。
<マスター端末とスレーブ端末間での再生制御権の切替方法>
次に、上記のように他の再生装置30を制御する再生制御権を有する再生装置30(マスター端末)を、複数の再生装置30間で切り替える方法(再生装置30に対して再生制御権を剥奪及び付与する方法)について説明する。
上述した同期再生制御方法では、ユーザは、マスターモードに設定された再生装置30(マスター端末)に対してのみ再生制御操作を行うことができ、他の部屋にあるスレーブモードに設定された再生装置30(スレーブ端末)は、あくまでもマスター端末からの指示によって動作しており、かかるスレーブ端末に再生制御操作を行うことはできなかった。
しかし、このようにユーザが再生制御操作可能な再生装置30をマスター端末に限ったのでは、ユーザがマスター端末のある部屋とは別の部屋に居る場合には、例えば、再生する曲の切り替え、同期再生の停止などといった再生制御操作を行うことができないという不便さがある。そこで、本実施形態では、以下に説明にするように、スレーブ端末をマスター端末に切り替え、これに応じて元のマスター端末をスレーブ端末に切り替える方法を提供する。これにより、任意のスレーブ端末をマスター端末に切り替えることができるので、ユーザは、マスター端末の所在地に行かずとも、再生制御操作をすることが可能となる。
(1)同期再生制御権の切替方法
まず、図13を参照して、本実施形態にかかる同期再生モードの実行中に、スレーブ端末を操作して、スレーブ端末を同期再生モード(パーティーモード)から離脱させる方法の概要について説明する。図13の例は、上記図7の例の同期再生を開始した結果、リビングルームの再生装置30A(マスター端末)と、ベッドルームとキッチンの再生装置30B、30C(スレーブ端末)とによってコンテンツAを同期再生しているときに、ベッドルームの再生装置30Bを同期再生モードから離脱させるケースを表す。
図13に示すように、まず、リビングルーム、ベッドルーム、キッチンの再生装置30A、30B、30Cは、サーバ装置20から同一のコンテンツAを受信しながら同期再生している(ステップS900)。
このとき、ベッドルームとキッチンの再生装置30B、30Cは、スレーブモードに設定されているので、操作可能な操作キー(有効な操作キー)は、電源キー(図4、図5の電源ボタン40、50)と、スレーブモードを解除するため特定の再生制御操作キー(例えば、図4、図5の再生停止ボタン33、43)とに限定されている。つまり、スレーブモードに設定されている再生装置30B、30C(スレーブ端末)では、電源ボタン33、43に対する電源のオン/オフ指示と、特定の再生制御キーに対する再生制御指示(例えば、再生停止ボタン33、43に対する再生停止指示)は、有効であるが、その他の再生制御キーに対する再生制御指示は無効となる。
かかる状態で、ユーザが、ベッドルームの再生装置30Bの再生停止ボタン33、43を押下して再生停止指示を入力すると(ステップS910)、ベッドルームの再生装置30Bは、上記再生停止指示の受け付けに応じて、スレーブモードを解除してノーマルモードにモード変更するとともに、上記再生停止指示に対応する処理(即ち、再生中のコンテンツAの再生停止処理)を行う。
次いで、ベッドルームの再生装置30Bは、マスター端末であるリビングルームの再生装置30Aに対して、スレーブモードの解除通知を送信し、再生装置30Bが同期再生モードから離脱したことを通知する(ステップS920)。すると、リビングルームの再生装置30A(マスター端末)は、スレーブモードの解除通知の受信に応じて、ベッドルームの再生装置30Bのスレーブ登録を解除する(ステップS930)。
次に、図14を参照して、図13の処理後に、同期再生制御権を有するマスター端末をリビングルームの再生装置30Aからベッドルームの再生装置30Bに切り替える方法の概要について説明する。
図14に示すように、継続して同期再生モードを実行中のリビングルームの再生装置30A(マスター端末)と、キッチンの再生装置30C(スレーブ端末)とは、サーバ装置20から同一のコンテンツAを受信しながら同期再生している(ステップS1000)。一方、ノーマルモードとなったベッドルームの再生装置30Bは、全ての操作キーが有効となっているので、ユーザのコンテンツ選択操作に応じて、必要に応じてサーバ装置20に接続し直してコンテンツリストを取得した上で、所望のコンテンツを独立して再生できる。ここでは、ベッドルームの再生装置30Bが、上記同期再生中のコンテンツAとは異なるコンテンツBを、サーバ装置20から受信しながら再生中であるとする(ステップS1010)。
かかる状態で、ユーザが、ベッドルームの再生装置30Bの同期再生ボタン31、41を押下して、同期再生指示を入力すると(ステップS1020)、ベッドルームの再生装置30Bは、上記同期再生指示の受け付けに応じて、ノーマルモードから、同期再生モードのマスターモードにモード変更する。これによって、ベッドルームの再生装置30Bは、マスター端末となる。なお、上記同期再生指示は「再生装置30Bをマスターモードに設定する指示」に相当する。
次いで、ベッドルームの再生装置30Bは、同期再生に参加する再生装置30を探索するための探索情報(探索メッセージ)を、ベッドルームの再生装置30BとLAN10を介して接続されている他の再生装置30A、30Cに一斉送信する(ステップS1030)。この探索情報は「再生装置30Bがマスターモードに設定されたことを表す情報」に相当し、この探索情報を送信することで、再生装置30Bがマスターモードに設定されたことを他の再生装置30A、Cに通知することができる。
リビングルームの再生装置30A(マスター端末)及びキッチンの再生装置30C(スレーブ端末)は、ベッドルームの再生装置30Bから上記探索情報を受信すると、自身が同期再生のスレーブ端末となることが許可されている場合に、ベッドルームの再生装置30Bとの同期再生に参加することを表す参加応答(応答メッセージ)を、ベッドルームの再生装置30Bに送信する(ステップS1040)。なお、同期再生のスレーブ端末となることが許可されていない再生装置30は、上記探索情報に対する参加応答を送信しない。また、上記参加応答は「再生装置30A、30Cがスレーブモードに設定されたことを表す情報」に相当し、この参加応答を送信することで、再生装置30A、30Cがマスターモードに設定されたことを、マスター端末である再生装置30Bに通知することができる。
さらに、参加応答を送信したリビングルームの再生装置30Aは、マスターモードからスレーブモードに自動的に切り替えられ、ベッドルームの再生装置30Bのスレーブ端末になる(ステップS1050)。一方、参加応答を送信した再生装置30Cは、元々、リビングルームの再生装置30Aをマスター端末とするスレーブモードであったが、ベッドルームの再生装置30Bをマスター端末とするスレーブモードに設定変更される。さらに、これらの再生装置30B、30Cは、同期再生中のコンテンツAの再生を停止する。その後は、ベッドルームの再生装置30Bをマスター端末とし、リビングルームの再生装置30A及びキッチンの再生装置30Cをスレーブ端末として、コンテンツBが同期再生される。
次に、図15、図16を参照して、上記図13、図14で説明したケースにおける同期再生制御権を切り替えるときの再生制御方法について、より詳細に説明する。図15は、本実施形態にかかる再生装置30がスレーブモードから離脱するときの再生制御方法を示すフローチャートである。図16は、本実施形態にかかる再生装置30がマスター端末になり、元のマスター端末がスレーブ端末に切り替わるときの再生制御方法を示すフローチャートである。
図15に示すように、リビングルームの再生装置30A(マスター端末)と、ベッドルームの再生装置30B(スレーブ端末)とは、サーバ装置20から、同一のコンテンツAを受信しながら、受信したコンテンツを同期再生している(ステップS900)。このとき、リビングルームの再生装置30Aはマスターモードに設定されており、他の再生装置30(スレーブ端末)の同期再生制御権を有する。一方、ベッドルームの再生装置30Bはスレーブモードに設定されており、リビングルームの再生装置30Aによって再生制御されるスレーブ端末となっている。
かかる状態で、ユーザが、ベッドルームの再生装置30Bを同期再生モード(パーティーモード)から離脱させるための特定の再生制御ボタンとして、ベッドルームの再生装置30Bの上記再生停止ボタン33、43を押下して、再生停止指示を入力すると、ベッドルームの再生装置30Bは、この再生停止指示を有効な指示として受け付ける(ステップS910)。さらに、ベッドルームの再生装置30Bは、この再生停止指示の受け付けに応じて、同期再生モードのスレーブモードを解除して、ノーマルモードに設定し(ステップS912)、さらに、同期再生中のコンテンツAの再生を停止する(ステップS914)。このように、スレーブモードにおける再生装置30の再生停止ボタン33、43は、コンテンツの再生を停止させる再生停止指示を入力する機能と、スレーブモードを解除させる解除指示を入力する機能とを兼ね備えている。
また、ベッドルームの再生装置30Bのスレーブモードを解除してノーマルモードに切替設定することで、ベッドルームの再生装置30Bの再生停止ボタン33、44以外の再生制御ボタン(例えば、再生ボタン32、42、一時停止ボタン34、44など)が有効になる。また、ベッドルームの再生装置30Bの表示部332には、スレーブモードに設定されている時には、スレーブモードである旨を表す表示画面が出力されるが、スレーブモードが解除されてノーマルモードに切り替わると、画面表示もノーマル表示に切り替わる。
次いで、ベッドルームの再生装置30Bは、マスター端末であるリビングルームの再生装置30Aに対して、スレーブモードの解除通知を送信し、再生装置30Bが同期再生モードから離脱したことを通知する(ステップS920)。リビングルームの再生装置30A(マスター端末)は、ベッドルームの再生装置30Bから、スレーブモードの解除通知を受信すると、自身が保有するスレーブ登録リスト349からベッドルームの再生装置30Bに関する情報を削除し、ベッドルームの再生装置30Bのスレーブ登録を解除する(ステップS930)。
引き続き、図16を参照して、リビングルームの再生装置30Aとベッドルームの再生装置30Bとの間の再生制御モードの切り替え時の再生制御方法について説明する。
図16Aに示すように、継続して同期再生モードを実行中のリビングルームの再生装置30A(マスター端末)と、キッチンの再生装置30C(スレーブ端末)とは、サーバ装置20から同一のコンテンツAを受信しながら同期再生している(ステップS1000)。一方、上記ステップS912でスレーブモードを解除されてノーマルモードとなったベッドルームの再生装置30Bは、上記同期再生中のコンテンツAとは異なるコンテンツBを、サーバ装置20から受信しながら再生している(ステップS1010)。
かかる状態で、ユーザが、ベッドルームの再生装置30Bをマスター端末とするため、ベッドルームの再生装置30Bの上記同期再生ボタン31又は41(パーティーモードボタン)を押下して、同期再生指示を入力すると、ベッドルームの再生装置30Bは、この同期再生指示を受け付ける(ステップS1020)。さらに、ベッドルームの再生装置30Bは、この同期再生指示の受け付けに応じて、再生装置30Bの再生制御モードを、ノーマルモードから、同期再生モードのマスターモードに切替設定する(ステップS1022)。これにより、ベッドルームの再生装置30Bが、同期再生のマスター端末となる。
次いで、ベッドルームの再生装置30Bは、スレーブ端末を探索するために、LAN10に接続中で、かつ、起動中の他の再生装置30に対して、スレーブモードを許可する再生装置30を探索するための探索情報を一斉送信する(ステップS1030)。
次いで、リビングルームの再生装置30Aは、ベッドルームの再生装置30Bから上記探索情報を受信すると、上記設定情報記憶部348に予め記憶されている設定情報に基づいて、同期再生モードのスレーブモードとなることを許可するか否か(即ち、ベッドルームの再生装置30Bのスレーブ端末となることを許可するか否か)を判断する(ステップS1032)。この結果、許可しない場合には、リビングルームの再生装置30Aは、上記探索情報を無視し、ベッドルームの再生装置30Bに応答を送信しない(ステップS1034)。一方、許可する場合には、リビングルームの再生装置30Aは、上記探索情報に含まれるベッドルームの再生装置30Bのアドレス情報に基づいて、上記探索情報の送信元のベッドルームの再生装置30Bに、同期再生への参加を表す参加応答を送信する(ステップS1040)。
さらに、リビングルームの再生装置30Aは、自身の再生制御モードを、マスターモードからスレーブモードに切り替える(ステップS1050)。さらに、リビングルームの再生装置30Aは、再生中のコンテンツAの再生を停止する(ステップS1052)。
一方、ベッドルームの再生装置30Bは、リビングルームの再生装置30Aを含む他の1又は2以上の再生装置30から、上記探索情報の応答として参加応答を受信すると、参加応答の送信元のリビングルームの再生装置30Aを、スレーブ端末としてスレーブ登録リスト349に登録する(ステップS1042)。
その後、ベッドルームの再生装置30Bは、自身が現在再生中のコンテンツBに関するコンテンツ情報(例えば、当該コンテンツBのURL)を、リビングルームの再生装置30Aに送信する(ステップS1060)。さらに、ベッドルームの再生装置30Bは、上記コンテンツ情報の送信後の任意の時点で、再生中のコンテンツの再生経過時間を取得し(ステップS1070)、取得した再生経過時間に、予め設定された付加時間を加算して同期再生開始時間を算出して、この同期再生開始時間を表す情報をリビングルームの再生装置30Aに送信し(ステップS1080)、その後、図16Bに示すように、待機指示をリビングルームの再生装置30Aに送信する(ステップS1090)。リビングルームの再生装置30Aは、ベッドルームの再生装置30Bから送信された上記コンテンツ情報、同期再生開始時間を表す情報及び待機情報を受信する。
次いで、リビングルームの再生装置30Aは、上記待機指示の受信に応じて、ベッドルームの再生装置30Bから受信したコンテンツ情報(例えばURL)と同期再生開始時間に基づき、サーバ装置20から、ベッドルームの再生装置30Bで再生中のコンテンツBの同期再生開始時間以降のデータを受信開始する(ステップS1100)。
そして、リビングルームの再生装置30Aは、サーバ装置20から受信したコンテンツBの同期再生開始時間以降のデータを受信バッファ344に一時記憶(バッファリング)し、好適な再生動作に必要な所定のデータ量以上のデータが受信バッファ344に一時記憶された時点で(ステップS1102)、再生準備を完了して待機状態となり(ステップS1104)、その後、ベッドルームの再生装置30Bからの状態照会信号の受信に応じて、上記コンテンツBの再生準備完了通知をベッドルームの再生装置30Bに送信する(ステップS1106)。ベッドルームの再生装置30Bは、この再生準備完了通知を受信することで、リビングルームの再生装置30Aにおいて再生準備が完了したことを確認できる(ステップS1110)。
その後、ベッドルームの再生装置30Bは、スレーブ登録リスト349に登録した全てのスレーブ端末(リビングルームの再生装置30Aを含む。)から再生準備完了通知を受信したか否かに基づいて、全てのスレーブ端末が待機状態となっているか否かを確認する(ステップS1112)。この結果、上記ステップS1080で設定した同期再生開始時間内に再生準備が完了せず、未だ待機状態になっていないスレーブ端末があれば、当該待機状態になっていないスレーブ端末について、上記ステップS1070〜S1110の制御を繰り返す。このとき、上記設定した同期再生開始時間の付加時間を更に長い時間に再設定することで、スレーブ端末に再生準備するための時間をより多く与え、より確実に待機状態にすることができる。
この確認後、ベッドルームの再生装置30Bは、自身で再生中のコンテンツBの現在の再生経過時間が、上記ステップS1080で設定した同期再生開始時間になった時点で(ステップS1120)、再生開始指示をリビングルームの再生装置30Aに送信する(ステップS1130)。リビングルームの再生装置30Aは、ベッドルームの再生装置30Bから再生開始指示を受信すると、待機状態を解除し、受信バッファ344内のコンテンツBの同期再生開始時間以降のデータの再生を開始する(ステップS1140)。
なお、以上のステップS1060〜S1140は、上述の図8のステップS160〜S240と略同一であるので、それらの詳細説明は省略する。
以上、本実施形態にかかる同期再生制御におけるマスター端末とスレーブ端末との切り替え方法について説明した。これによれば、ユーザは、スレーブモードに設定されたベッドルームの再生装置30Bの再生停止ボタン33、43を操作することで、ベッドルームの再生装置30Bを、リビングルームの再生装置30Aをマスター端末とする同期再生モードから離脱させ、他の再生装置30による制御を受けないノーマルモードにモード変更することができる。
さらに、本実施形態では、既にマスターモードに設定されている再生装置30Aが存在するときでも、その後に他の再生装置30Bがマスターモードに設定されると、時間的に後にマスターモードに設定された再生装置30Bがマスター端末になり、元のマスター端末は、スレーブ端末に切り替わる。このようにして、ベッドルームの再生装置30Bがマスター端末となり、リビングルームの再生装置30Aが、マスター端末からスレーブ端末に切り替わることで、パーティモード(同期再生モード)を継続しつつ、シームレスに、マスター端末を切り替えることができる。
(2)再生切替制御権の切替方法
上記では、複数の再生装置30で同期再生を行うときの同期再生制御権の切替方法について説明した。しかし、本発明の再生制御権の切替方法は、上記同期再生制御権の例に限定されず、他の再生制御権にも適用可能である。以下では、例えば、再生装置30間でコンテンツの再生動作を切り替えるときの再生切替制御権を切り替える方法について説明する。
上述したように、コンテンツの再生切替処理は、LAN10等のネットワークに接続された複数の再生装置30間で、再生中のコンテンツに関する再生情報をやり取りすることにより、再生装置30間でコンテンツの再生動作を実行する主体を切り替える処理である。この再生切替処理により、ある再生装置30(再生切替元の再生装置30)におけるコンテンツの再生動作を、他の再生装置30(再生切替先の再生装置30)に、再生動作の再生モード、再生経過時間等を引き継いで、シームレスに切り替えることができる。
ここで、図17を参照して、本実施形態にかかるホームネットワークシステム1における再生装置30間でのコンテンツの再生切替処理について説明する。図17は、本実施形態にかかる再生装置30間での再生切替制御方法を示すフローチャートである。なお、以下の説明では、リビングルームの再生装置30Aとベッドルームの再生装置30Bとの間で、再生動作を切り替える例について説明する。
図17に示すように、まず、ユーザが居るリビングルームの再生装置30Aは、サーバ装置20から、複数のコンテンツを順次受信しながら再生中であり(ステップS1210)、このとき、ベッドルームの再生装置30Bは、例えば、再生停止中であるとする(ステップS1212)。
かかる状態で、ユーザが、リビングルームの再生装置30Aの入力部330を操作して、ベッドルームの再生装置30Bを再生切替先として選択し、移動切替指示を入力(例えば、再生切替ボタンを押下)すると、リビングルームの再生装置30Aは、この移動切替指示を受け付ける(ステップS1220)。さらに、リビングルームの再生装置30Aは、移動切替指示を受け付けると、自身の再生制御モードを、再生切替モードのマスターモードに設定する(ステップS1221)。これにより、リビングルームの再生装置30Aは、他の再生装置30への再生切替制御権を有するマスター端末となる
次いで、リビングルームの再生装置30Aは、再生切替先の再生装置30を決定する(ステップS1222)。この決定処理では、上記ステップS1220の切替指示入力時に、ユーザにより再生切替先の再生装置30が選択されている場合には、このユーザ選択に基づいて切替先の再生装置30が決定される。
一方、上記S1220で再生切替先がユーザ選択されていない場合には、リビングルームの再生装置30Aは、LAN10に接続されている他の再生装置30を探索して、再生切替可能な再生装置30を判別し、この再生装置30の中から、ユーザ選択に基づいて再生切替先の再生装置30を決定する。例えば、リビングルームの再生装置30Aは、LAN10に接続されており、かつ、稼働中の他の再生装置30を探索し、再生切替先の候補として表示部332にリスト表示する。そして、このリスト表示を閲覧したユーザが再生切替先の再生装置30をメニュー選択すると、リビングルームの再生装置30Aは、当該ユーザ選択に応じて再生切替先の再生装置30を決定する。
上記のLAN10上の各再生装置30の探索・判別は、各再生装置30に固有に付与された識別子(例えば、UUID、MACアドレスなど)に基づいて行われる。この際、リビングルームの再生装置30AがLAN10上に探索情報を送信すると、LAN10に接続されたベッドルームの再生装置30Bは、当該探索情報に応じて、自身に対応する識別子を探索元のリビングルームの再生装置30Aに返信する。これにより、リビングルームの再生装置30Aは、LAN10に接続されたベッドルームの再生装置30Bを認識できる。
また、上記再生切替先の候補となる再生装置30をリスト表示する際には、当該再生装置30の識別子に関連付けられている再生装置30の名称(フレンドリーネーム)を表示することができる。このフレンドリーネームは、ユーザが任意に設定して設定情報記憶部348に登録可能であり、例えば、ベッドルームの再生装置30Bを表すフレンドリーネームとして“ベッドルーム”などと設定することができる。これにより、ユーザは、切替候補の再生装置30を容易に識別できる。なお、以下では、本ステップS1222で、再生切替先の再生装置30がベッドルームの再生装置30Bに決定されたものとして説明する。
さらに、リビングルームの再生装置30Aは、再生切替先の再生装置30に決定したベッドルームの再生装置30Bに関する情報(例えば、IPアドレス、UUIDなど)を、上記スレーブ登録リスト349に書き込み、ベッドルームの再生装置30Bをスレーブ端末として登録する。
次いで、リビングルームの再生装置30Aは、自身で現在再生中のコンテンツに関する再生情報を生成して保持する(ステップS1224)。具体的には、再生装置30Aは、現在設定されている再生モード情報を設定情報記憶部348から読み出すとともに、再生装置30Aで現在再生中のコンテンツの属性情報(URLやタイトルなど)をコンテンツ情報記憶部346から読み出し、さらに、現在再生中のコンテンツの再生経過時間を取得する。そして、これらの再生モード情報、コンテンツの属性情報及び再生経過時間を含む再生情報をRAM等に保持する。
さらに、リビングルームの再生装置30Aは、例えば、上記S1224で再生情報を保持した直後に、上記再生中のコンテンツの再生を停止する(ステップS1230)。なお、本ステップS1230の再生停止処理は、後述する再生情報の送信(S1240)後や、再生確認処理(S1254)の後など、任意のタイミングで行ってもよい。
その後、リビングルームの再生装置30Aは、上記生成した再生情報を、再生切替先の再生装置30であるベッドルームの再生装置30Bに送信し、ベッドルームの再生装置30Bは、この再生情報を受信する(ステップS1240)。さらに、ベッドルームの再生装置30Bは、上記再生情報の受信に応じて、自身の再生制御モードを、再生切替モードのスレーブモードに設定する(ステップS1241)。これにより、ベッドルームの再生装置30Bは、上記マスター端末であるリビングルームの再生装置30Aによって再生制御されるスレーブ端末となる。
次いで、ベッドルームの再生装置30Bは、上記受信した再生情報に含まれる再生モード情報に基づいて、再生装置30Bの再生モードを、再生切替元の再生装置30Aと同一の再生モード(例えば、リピートの有無やリピート単位、シャッフルの有無、連続再生するコンテンツの再生範囲など)に設定する(ステップS1242)。
さらに、ベッドルームの再生装置30Bは、上記再生情報に含まれるサーバ情報に基づいて、上記再生切替元の再生装置30Aで再生されていたコンテンツの配信元のサーバ装置20を特定し、このサーバ装置20にアクセスする(ステップS1244)。詳細には、例えば、LAN10上に複数のサーバ装置20が存在する場合、再生装置30Bの再生切替制御部328は、上記再生情報を受信すると、再生情報に含まれるサーバ情報(例えばUUID)に対応するサーバ装置20と、現在、再生装置30Bが接続されているサーバ装置20とが同一であるか否かを比較し、異なる場合には、再生装置30Bを前者のサーバ装置20にアクセスして接続し直す。
その後、ベッドルームの再生装置30Bは、上記再生モード情報に含まれる再生範囲情報に基づいて、サーバ装置20から、例えば、ジャンル単位、アーティスト単位、アルバム単位などでコンテンツの属性情報のリスト(各コンテンツのURL、タイトル等を含む。)を取得する(ステップS1246)。このリストを取得することで、ベッドルームの再生装置30Bは、上記リビングルームの再生装置30Aと同一の再生モードで、サーバ装置20から複数のコンテンツを順次、受信して再生できるようになる。具体的には、あるジャンルのコンテンツを連続で再生する再生モードである場合、ベッドルームの再生装置30Bは、まず、サーバ装置20から当該ジャンルに属するアーティストリストを取得して、そのうちの1のアーティストを選択し、次いで、そのアーティストのアルバムリスト(例えば、アルバムタイトル、アルバム内の曲数情報を含む。)を取得して、そのうちの1のアルバムを選択し、さらに、そのアルバム内のトラックリスト(各コンテンツのURL、曲タイトルを含む。)を取得して、そのうちの1のトラック(曲)を選択し、その後、サーバ装置20に当該トラックのコンテンツの送信を要求する。
次いで、リビングルームの再生装置30Aは、ベッドルームの再生装置30Bに再生開始指示を送信する(ステップS1248)。なお、再生開始指示の送信タイミングは、本ステップS1252のタイミングに限定されず、例えば、上記再生情報の送信処理(S1240)から、リスト取得処理(S1246)までの間の任意のタイミングであってもよい。また、再生装置30Aから再生装置30Bに再生開始指示を送信せずに、この再生開始指示の機能を上記再生情報の送信処理(S1240)で代替してもよい。
その後、ベッドルームの再生装置30Bは、上記再生開始指示の受信に応じて、サーバ装置20からコンテンツを受信して再生を開始する(ステップS1250)。詳細には、ベッドルームの再生装置30Bは、上記再生情報に含まれるコンテンツの属性情報及び再生経過時間に基づいて、再生対象のコンテンツとその再生開始位置を特定し、サーバ装置20に対して、上記特定したコンテンツの再生開始位置からの送信を要求する。この送信要求に応じて、サーバ装置20が当該コンテンツの再生経過時間以降のデータをストリーム送信すると、リビングルームの再生装置30Aは、サーバ装置20から当該コンテンツの再生経過時間以降のデータを受信して、受信バッファ344に一時記憶し、さらに、この受信バッファ344から読み出したコンテンツを、D/A変換器350によりD/A変換させて、アナログ形式の再生信号とし、スピーカ352から出力させる。
また、コンテンツの再生開始後は、上記再生装置30Aにおいて再生中であったコンテンツのみならず、そのコンテンツの後続のコンテンツ(例えば、アルバム内の他のコンテンツ)が、上記S1242で設定された再生モードに従って順次、再生されることとなる。
次いで、上記コンテンツの再生開始後に、ベッドルームの再生装置30Bは、リビングルームの再生装置30Aに再生開始通知を送信する(ステップS1252)。リビングルームの再生装置30Aは、この再生開始通知の受信により、再生切替先の再生装置30Bで再生が開始されたことを確認する(ステップS1254)。
以上のように、図17に示した再生切替方法によれば、ユーザは、リビングルームの再生装置30Aに対して簡単な操作を行うだけで、ベッドルームの再生装置30Bに対して何らの操作を行うことなく、リビングルームの再生装置30Aからベッドルームの再生装置30Bにコンテンツの再生動作をシームレスに切り替えることができる。
次に、図18を参照して、図17の処理後に、再生切替制御権を有するマスター端末をリビングルームの再生装置30Aからベッドルームの再生装置30Bに切り替えるときの再生制御方法について説明する。
図18Aに示すように、リビングルームの再生装置30A(マスター端末)は、上記図17の処理でベッドルームの再生装置30Bに再生動作を切り替えたので、再生停止中である(ステップS1300)。一方、ベッドルームの再生装置30B(スレーブ端末)は、サーバ装置20から複数のコンテンツを順次受信しながら、受信したコンテンツを再生中である(ステップS1302)。このとき、リビングルームの再生装置30Aはマスターモードに設定されており、他の再生装置30(スレーブ端末)への再生切替制御権を有する。一方、ベッドルームの再生装置30Bはスレーブモードに設定されており、リビングルームの再生装置30Aによって制御されるスレーブ端末となっている。
かかる状態で、ユーザが、ベッドルームの再生装置30Bを再生切替モードから離脱させるための特定の再生制御ボタンとして、ベッドルームの再生装置30Bの上記再生停止ボタン33、43を押下して、再生停止指示を入力すると、ベッドルームの再生装置30Bは、この再生停止指示を有効な指示として受け付ける(ステップS1310)。さらに、ベッドルームの再生装置30Bは、この再生停止指示の受け付けに応じて、スレーブモードを解除して、ノーマルモードに設定し(ステップS1320)、さらに、上記リビングルームの再生装置30Aから引き継いで再生中のコンテンツの再生を停止する(ステップS1330)。このように、スレーブモードにおける再生装置30の再生停止ボタン33、43は、コンテンツの再生を停止させる再生停止指示を入力する機能と、スレーブモードを解除させる解除指示を入力する機能とを兼ね備えている。また、ベッドルームの再生装置30Bのスレーブモードを解除してノーマルモードに切替設定することで、ベッドルームの再生装置30Bの再生停止ボタン33、44以外の再生制御ボタン(例えば、再生ボタン32、42、一時停止ボタン34、44など)が有効になる。
次いで、ベッドルームの再生装置30Bは、マスター端末であるリビングルームの再生装置30Aに対して、スレーブモードの解除通知を送信し、再生装置30Bが再生切替モードから離脱したことを通知する(ステップS1340)。リビングルームの再生装置30A(マスター端末)は、ベッドルームの再生装置30Bから、スレーブモードの解除通知を受信すると、自身が保有するスレーブ登録リスト349からベッドルームの再生装置30Bに関する情報を削除し、ベッドルームの再生装置30Bのスレーブ登録を解除する(ステップS1350)。
その後、ユーザが、ベッドルームの再生装置30Bで所望のコンテンツを視聴するため、ベッドルームの再生装置30Bの再生制御ボタン等を操作して、コンテンツの選択指示及び再生開始指示を入力すると、ベッドルームの再生装置30Bは、このコンテンツの選択指示及び再生開始指示を受け付ける(ステップS1360)。次いで、ベッドルームの再生装置30Bは、選択されたコンテンツの送信をサーバ装置20に要求し、当該コンテンツをサーバ装置20から受信して再生する(ステップS1370)。
かかる状態で、図18Bに示すように、ユーザが、ベッドルームの再生装置30Bにおけるコンテンツの再生動作を他の再生装置30に切り替えるため、ベッドルームの再生装置30Bの切替ボタンを押下して、切替指示を入力すると、ベッドルームの再生装置30Bは、この切替指示を受け付ける(ステップS1420)。さらに、ベッドルームの再生装置30Bは、この切替指示の受け付けに応じて、再生装置30Bの再生制御モードを、ノーマルモードから、再生切替モードのマスターモードに切替設定する(ステップS1421)。これにより、ベッドルームの再生装置30Bが、再生切替制御を行うマスター端末となる。
次いで、ベッドルームの再生装置30Bは、上記ステップS1222と同様にして、再生切替先の再生装置30を決定する。(ステップS1422)。ここでは、再生切替先の再生装置30がリビングルームの再生装置30Aに決定されたものとする。さらに、ベッドルームの再生装置30Bは、再生切替先の再生装置30に決定したリビングルームの再生装置30Aに関する情報を、上記スレーブ登録リスト349に書き込み、ベッドルームの再生装置30Bをスレーブ端末として登録する。
その後、ベッドルームの再生装置30Bは、自身で現在再生中のコンテンツに関する再生情報を生成して保持し(ステップS1424)、上記再生中のコンテンツの再生を停止し(ステップS1430)、上記生成した再生情報を、再生切替先の再生装置30であるリビングルームの再生装置30Aに送信する(ステップS1440)。
リビングルームの再生装置30Aは、ベッドルームの再生装置30Bから上記再生情報を受信すると、自身の再生制御モードを、マスターモードからスレーブモードに切り替える(ステップS1441)。その後は、上記図17のステップS1242〜S1252と同様な処理が行われ、ベッドルームの再生装置30Bで再生されていたコンテンツが、リビングルームの再生装置30Aで再生される。
以上のような再生切替制御におけるマスター端末とスレーブ端末との切り替え方法によれば、スレーブ端末であったベッドルームの再生装置30Bをマスター端末に切り替え、これに応じて、リビングルームの再生装置30Aを、マスター端末からスレーブ端末に切り替えることで、コンテンツの再生動作を継続しつつ、シームレスに、マスター端末を切り替えることができる。
以上、本実施形態にかかる複数の再生装置30間で再生制御権を剥奪、付与して、マスター端末とスレーブ端末とを切り替える時の再生制御方法について説明した。本実施形態によれば、スレーブモードに設定された再生装置30に対して、特定の再生制御指示を入力数するための操作キー(例えば再生停止ボタン)を操作することで、当該再生装置30において当該操作キーに対応する再生制御を行うとともに、スレーブモードを解除することができる。さらに、この再生装置30に、同期再生指示や再生切替指示等の操作入力をすることで、当該再生装置30をマスターモードに設定し、これに応じて自動的に、元々マスターモードに設定されていた他の再生装置30をスレーブモードに設定することができる。
従って、ユーザは、スレーブ端末である再生装置を操作して、マスター端末に切り替え、これに応じて、元のマスター端末をスレーブ端末に自動的に切り替えることができる。よって、ユーザは、マスター端末の所在地に行かずとも、身近にあるスレーブ端末を操作して、マスター端末とスレーブ端末との切り替えや、コンテンツの再生制御(例えば、再生停止、再生するコンテンツの切替など)を容易に行うことができるので便利である。
さらに、ユーザは、特定の再生制御用の操作キーを操作するといったワンタッチ操作で簡単に、再生装置30のスレーブモードを解除できると同時に、当該操作キーに対応する再生制御を行うことができる。
また、上記の同期再生処理、再生切替処理、及びマスター端末とスレーブ端末の切り替え処理は、サーバ装置20を介さずに、LAN10に接続された複数の再生装置30間でダイレクトに、制御信号や特定の情報を送受信することで実現できる。従って、各処理に対応した専用サーバを利用する必要がない。よって、専用のサーバを設置しなくても、再生装置30間で簡単な操作で、上記各種の処理動作を実行でき、また、サーバ装置20も特定のメーカーの特定の機種に限定されず、汎用的なサーバを利用できる。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上記実施形態では、家庭内において、ホームネットワーク用のLAN10を介して、ホームサーバとしてのサーバ装置20と再生装置30が接続されている例を説明したが、本発明はかかる例に限定されない。例えば、ホームネットワーク以外の私的ネットワーク(例えば、小規模の限られたグループ(会社、友人等)内で使用される複数の機器を接続するLAN)や、インターネット、電話回線網、衛星通信網等の公衆回線網、無線通信路などを介して、サーバ装置及び複数の再生装置が相互に有線又は無線通信可能に接続されている場合にも適用できる。
また、上記実施形態では、サーバ装置20は、サーバ装置20内に保存されているコンテンツの圧縮データをデコードして非圧縮データを、再生装置30に送信したが、本発明はかかる例に限定されない。例えば、サーバ装置20に保存されているコンテンツの非圧縮データをそのまま、再生装置30に送信してもよい。また、再生装置30がデコーダを具備することにより、サーバ装置20から送信されたコンテンツの圧縮データを、再生装置30側で伸張して、D/A変換するようにしてもよい。
また、上記実施形態では、複数の再生制御指示のうち特定の再生制御指示として、再生停止指示を入力(再生停止ボタン33、43を操作)することで、スレーブ端末のスレーブモードを解除したが、本発明は、かかる例に限定されない、例えば、コンテンツの再生開始指示、一時停止指示、早送り指示、巻き戻し指示、曲送り指示など、任意の再生制御指示を入力するための操作キーを操作することで、再生装置30のスレーブモードが解除されるようにしてもよい。
スレーブモードを解除するための特定の再生制御指示として、例えば、再生開始指示を利用する例について説明する。例えば、ユーザが、スレーブモードに設定された再生装置30の再生ボタン32、42を押下すると、再生装置30はスレーブモードを解除するとともに、同期再生中のコンテンツの再生を停止し、過去に再生装置30がノーマルモードであったときに再生していた別のコンテンツを再生開始するようにしてもよい。
また、別の例としては、ユーザが、スレーブモードに設定された再生装置30の再生ボタン32、42を押下すると、再生装置30は、スレーブモードを解除して、再生中のコンテンツを停止するだけでなく、さらに、再生装置30自身をマスターモードに設定するとともに、他の再生装置30にマスターモードに設定されたことを通知したり、他の再生装置30に同期再生指示を送信したりしてもよい。