コンテンツ再生システム
【課題】 コンテンツの選択の幅を狭めることなく、システム全体の消費電力を低減する。
【解決手段】 コンテンツ再生システムは、複数のサーバと、複数のサーバとネットワーク経由で接続可能な複数のクライアントとを備える。各サーバは、複数のコンテンツを記録するためのコンテンツ記憶部と、クライアントからの指示に応じて、指定されたコンテンツをクライアントに送信するコンテンツ送信手段とを有する。各クライアントは、各クライアントが同時に同じサーバからそれぞれ異なるコンテンツを受信して再生するように複数のサーバのコンテンツを再生順に列挙した再生コンテンツリストを生成するリスト生成手段と、再生コンテンツリストに列挙された順番に、サーバからコンテンツを受信して再生する。
【解決手段】 コンテンツ再生システムは、複数のサーバと、複数のサーバとネットワーク経由で接続可能な複数のクライアントとを備える。各サーバは、複数のコンテンツを記録するためのコンテンツ記憶部と、クライアントからの指示に応じて、指定されたコンテンツをクライアントに送信するコンテンツ送信手段とを有する。各クライアントは、各クライアントが同時に同じサーバからそれぞれ異なるコンテンツを受信して再生するように複数のサーバのコンテンツを再生順に列挙した再生コンテンツリストを生成するリスト生成手段と、再生コンテンツリストに列挙された順番に、サーバからコンテンツを受信して再生する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のサーバと、複数のクライアントとを備えるコンテンツ再生システムに関する。
【背景技術】
【0002】
複数のサーバと複数のクライアントとを備えるネットワークAVシステムが提案されている。各サーバは、ネットワークに接続されている他のサーバが保有するコンテンツリストを取得し、自身のコンテンツリストと他のサーバのコンテンツリストとを統合した統合コンテンツリストを生成し、メモリに保持している。クライアントは、いずれかのサーバから統合コンテンツリストを取得し、統合コンテンツリストから、自身が再生すべきコンテンツを選択する。クライアントは、選択したコンテンツを格納しているサーバをコンテンツリストから特定し、特定したサーバにコンテンツの送信を要求する。要求を受けたサーバは、コンテンツをストリーミング形式でクライアントに送信する。クライアントは、受信したコンテンツを再生する。
【0003】
このネットワークAVシステムによると、複数のクライアントが、同時刻にそれぞれ異なるサーバからコンテンツを取得して再生することが可能である。しかしそのためには、全てのサーバを電源オン状態にする必要があり、システム全体としての消費電力の増加につながる。消費電力を低減するために、1つのサーバのみを電源オン状態にし、複数のクライアントが1つのサーバのみから同一コンテンツを取得して再生することが考えられるが(いわゆるパーティーモード)、コンテンツの選択の範囲が狭められてしまうという問題が生じる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−157800号公報
【特許文献2】特開2006−323770号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は上記従来の課題を解決するためになされたものであり、その目的は、コンテンツの選択の幅を狭めることなく、システム全体の消費電力を低減するコンテンツ再生システムを提供することである。
【課題を解決するための手段】
【0006】
本発明の好ましい実施形態によるコンテンツ再生システムは、複数のサーバと、複数の前記サーバとネットワーク経由で接続可能な複数のクライアントとを備えるコンテンツ再生システムであって、前記各サーバが、複数のコンテンツを記録するためのコンテンツ記憶部と、前記クライアントからの指示に応じて、指定されたコンテンツを前記クライアントに送信するコンテンツ送信手段とを有し、前記各クライアントが、各クライアントが同時に同じ前記サーバからそれぞれ異なるコンテンツを受信して再生するように複数の前記サーバのコンテンツを再生順に列挙した再生コンテンツリストを生成するリスト生成手段と、再生コンテンツリストに列挙された順番に、前記サーバからコンテンツを受信して再生する再生手段とを有する。
【0007】
本実施形態によると、各クライアントは、各クライアントが同時に同じサーバからそれぞれ異なるコンテンツを受信して再生するように複数のサーバのコンテンツを再生順に列挙した再生コンテンツリストを生成する。従って、コンテンツの選択の幅を狭めることなく、システム全体の消費電力を低減することができる。
【0008】
本発明の別の好ましい実施形態によるコンテンツ再生システムは、複数のサーバと、複数の前記サーバとネットワーク経由で接続可能な複数のクライアントとを備えるコンテンツ再生システムであって、前記各サーバが、複数のコンテンツを記録するためのコンテンツ記憶部と、前記クライアントからの指示に応じて、指定されたコンテンツを前記クライアントに送信するコンテンツ送信手段とを有し、前記複数のクライアントが、1つのメインクライアントと、1又は複数のサブクライアントとを含み、前記メインクライアントが、前記各サーバのコンテンツリストに基づいて、同一サーバから所定時間以上又は所定コンテンツ数以上連続してコンテンツを受信するように、複数の前記サーバのコンテンツを再生順に列挙したメインクライアントの再生コンテンツリストを生成する第1リスト生成手段と、メインクライアントの再生コンテンツリストに列挙された順番に、前記サーバからコンテンツを受信して再生する第1再生手段とを有し、前記サブクライアントが、メインクライアントの再生コンテンツリストを参照し、前記メインクライアントが同一サーバから連続してコンテンツを受信する時間と同じ時間分の当該サーバのコンテンツを選択して、選択したコンテンツをサブクライアントの再生コンテンツリストに含めることにより、前記サブクライアントが前記メインクライアントと同時に同じ前記サーバからコンテンツを受信して再生するように、複数の前記サーバのコンテンツを再生順に列挙したサブクライアントの再生コンテンツリストを生成する第2リスト生成手段と、前記サブクライアントの再生コンテンツリストに列挙された順番に、前記サーバからコンテンツを受信して再生する第2再生手段とを有する。
【0009】
本実施形態によると、メインクライアントは、各サーバのコンテンツリストに基づいて、同一サーバから所定時間以上又は所定コンテンツ数以上連続してコンテンツを受信するように、複数のサーバのコンテンツを再生順に列挙したメインクライアントの再生コンテンツリストを生成する。一方、サブクライアントは、メインクライアントの再生コンテンツリストを参照し、メインクライアントが同一サーバから連続してコンテンツを受信する時間と同じ時間分の当該サーバのコンテンツを選択して、選択したコンテンツをサブクライアントの再生コンテンツリストに含めることにより、サブクライアントがメインクライアントと同時に同じサーバからコンテンツを受信して再生するように、複数のサーバのコンテンツを再生順に列挙したサブクライアントの再生コンテンツリストを生成する。従って、各サーバは、同じ時間に同じサーバからそれぞれ異なるコンテンツを受信して再生することが出来るので、コンテンツの選択の幅を狭めることなく、システム全体の消費電力を低減することができる。
【0010】
好ましい実施形態においては、最初にコンテンツを再生開始するクライアントがメインクライアントになり、メインクライアントが存在している状態でコンテンツを再生開始するクライアントがサブクライアントになる。
【0011】
この場合、2番目以降にクライアントが再生を開始する場合には常にメインクライアントが存在しているので、メインクライアントの再生コンテンツリストを参照して、サブクライアントの再生コンテンツリストを生成することができる。
【0012】
好ましい実施形態においては、前記メインクライアントが、ネットワークを離脱する場合、前記メインクライアントとしての機能を引き継ぐように1つの前記サブクライアントに引継指示を送信する手段をさらに有し、前記サブクライアントが、前記メインクライアントから引継指示を受信した場合に、前記メインクライアントとしての機能を引き継いで前記メインクライアントになる。
【0013】
メインクライアントがネットワークを離脱する場合、サブクライアントの1つにメインクライアントの機能を引き継ぐことができるので、新たなクライアントがネットワークに接続された際に、メインクライアントの再生コンテンツリストを参照し、サブクライアントの再生コンテンツリストを生成することができる。
【0014】
好ましい実施形態においては、前記メインクライアントが、ユーザ操作に応じてコンテンツの再生を停止する手段と、コンテンツの再生を停止した場合であっても、コンテンツの現在の再生位置のみを更新し続ける更新手段と、ユーザ操作に応じてコンテンツの再生を開始する場合、前記更新手段によって更新されているコンテンツの現在の再生位置からコンテンツの再生を開始する再生再開手段とをさらに有する。
【0015】
この場合、メインクライアントがコンテンツの再生を停止し、その後、コンテンツの再生を再開する場合であっても、コンテンツの現在の再生位置のみは更新され続けており、更新されているコンテンツの現在の再生位置からコンテンツを再生開始することによって、メインクライアントがコンテンツを取得するサーバと、サブクライアントがコンテンツを取得するサーバとが同じ状態を継続することができる。
【0016】
好ましい実施形態においては、前記サブクライアントが、ユーザ操作に応じてコンテンツの再生を停止する手段と、ユーザ操作に応じてコンテンツの再生を開始する場合、前記メインクライアントの現在の再生位置の情報を前記メインクライアントから取得する手段と、取得された前記メインクライアントの現在の再生位置の情報に基づいて、前記サブクライアントの再生コンテンツリストにおける再生再開位置を特定する手段とをさらに有し、前記第2再生手段が、特定された再生再開位置からコンテンツの再生を開始する。
【0017】
この場合、サブクライアントがコンテンツの再生を停止し、その後、コンテンツの再生を再開する場合であっても、サブクライアントはメインクライアントからコンテンツの現在の再生位置を取得し、サブクライアントの再生再開位置を特定する。従って、メインクライアントがコンテンツを取得するサーバと、サブクライアントがコンテンツを取得するサーバとが同じ状態を継続することができる。
【0018】
好ましい実施形態においては、前記各サーバのうち、前記各クライアントのいずれかにコンテンツを送信している前記サーバのみが電源オン状態になっており、前記クライアントのいずれにもコンテンツを送信していない前記サーバが電源オフ状態になっている。
【0019】
従って、システム全体の消費電力を低減することができる。
【0020】
本発明の別の好ましい実施形態においては、上記メインクライアント、サブクライアント、メインクライアントの各手段をコンピュータに実行させるメインクライアントの動作プログラム、サブクライアントの各手段をコンピュータに実行させるサブクライアントの動作プログラムといった形態で提供することが可能である。
【発明の効果】
【0021】
コンテンツの選択の幅を狭めることなく、システム全体の消費電力を低減するコンテンツ再生システムを提供することができる。
【図面の簡単な説明】
【0022】
【図1】本発明の好ましい実施形態によるコンテンツ再生システムを示すブロック図である。
【図2】サーバ200を示す概略ブロック図であるである。
【図3】サーバ200が保持するコンテンツリストを示す図である。
【図4】クライアント100(メインクライアント及びサブクライアント)を示す概略ブロック図である。
【図5】メインクライアントの再生コンテンツリストを示す図である。
【図6】サブクライアントの再生コンテンツリストを示す図である。
【図7】クライアントの処理を示すフローチャートである。
【図8】メインクライアントの処理を示すフローチャートである。
【図9】サブクライアントの処理を示すフローチャートである。
【図10】メインクライアント及びサブクライアントの処理を示すフローチャートである。
【図11】サブクライアントの処理を示すフローチャートである。
【図12】メインクライアント及びサブクライアントの処理を示すフローチャートである。
【発明を実施するための形態】
【0023】
以下、本発明の好ましい実施形態について、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。図1に示すように、本発明のコンテンツ再生システムは、複数のクライアント100(100A、100B、100C、・・・)と、複数のサーバ200(200A、200B、200C、・・・)とを備え、これらはLAN等の任意の適切なネットワークを介して相互に接続可能である。クライアント100は、サーバ200にコンテンツの送信を要求する。サーバ200は、クライアント100からの要求に応じて、コンテンツをクライアント100に例えばストリーミング形式で送信する。クライアント100は、受信したコンテンツを再生する。コンテンツとは、映像データ、音楽データ、静止画データ等の総称であるが、本例では音楽データである。
【0024】
図2に示すように、各サーバ200は、制御部11と、RAM12と、ROM13と、HDD等のコンテンツ記憶部14と、通信部15と、表示部16と、操作部17とを概略備える。制御部11は、HDD14又はROM13に格納されているサーバプログラムをRAM12に読み出して実行することによって、サーバ200の各部を制御するものであり、マイコンやCPU等である。
【0025】
HDD14には複数のコンテンツが格納されている。HDD14に格納されているコンテンツは、クライアント100からの送信要求に応じ、HDD14から読み出され、通信部15を介してストリーミング形式でクライアント100に送信される。
【0026】
また、HDD14には、図3に示すようなコンテンツリストが格納されている。コンテンツリストは、HDD14に格納されている全コンテンツのコンテンツ情報を管理するリストである。コンテンツリストは、コンテンツ情報とコンテンツの再生時間情報とを含む。コンテンツ情報は、例えば、曲名、アーティスト名、アルバム名、ジャンル名および曲ID等である。但し、図3においては説明を簡略化するためにコンテンツA1、コンテンツA2・・・と表している。コンテンツリストは、クライアント100からの送信要求に応じて、HDD14から読み出され、通信部15を介してストリーミング形式でクライアント100に送信される。
【0027】
図4に示すように、各クライアント100は、制御部1と、RAM2と、ROM3と、再生部4と、通信部5と、表示部6と、操作部7とを備える。制御部1は、ROM3に格納されているクライアントプログラムに応じて、クライアント100の各部を制御するものであり、マイコンやCPU等である。再生部4は、サーバ200から受信したコンテンツのデータを再生(デコード、DA変換、増幅など)して、再生した音声信号を図示しないスピーカーに供給する。
【0028】
通信部5は、ネットワーク経由で他のクライアント100やサーバ200と通信し、コマンドやデータを送受信する。表示部6は、後述する再生コンテンツリストや、再生中のコンテンツのコンテンツ情報等を表示するものである。操作部7は、ユーザ操作を受け付けるものであり、操作ボタンやリモコン等である。
【0029】
制御部1は、通信部5を介して、各サーバ200にコンテンツリストの送信を要求し、各サーバ200からコンテンツリストを受信し、RAM2に保存する。なお、各サーバ200が、全てのサーバ200のコンテンツリストを統合した統合コンテンツリストを保持している場合、1つのサーバ200から統合コンテンツリストを取得することで、全てのサーバ200からコンテンツリストを取得した場合と同じ状態になる。
【0030】
制御部1は、ユーザ操作によって再生指示が入力された場合、各サーバ200のコンテンツリストから、再生するための再生コンテンツリストを生成する。制御部1は、再生コンテンツリストに列挙された順番にコンテンツをサーバ200から取得して、再生する。再生コンテンツリストには、複数のサーバ200のコンテンツが含まれているので、コンテンツの選択肢の幅を広げることができる。
【0031】
ネットワーク上でコンテンツを再生している全てのクライアント100が、同じ時間帯には必ず同じサーバ200からコンテンツを受信して再生するように、各クライアント100が再生コンテンツリストを生成する。従って、ある時刻にコンテンツをクライアント100に送信しているサーバ200は必ず1つだけになる。そして、コンテンツを送信していないサーバ200が電源オフ状態(例えばスタンバイ状態)となることによって、コンテンツ再生システム全体としての消費電力を低減できる。
【0032】
クライアント100には、1つのメインクライアントと、1又は複数のサブクライアントとが存在する。ネットワーク上で最初にサーバ200からのコンテンツを受信して再生するクライアント100がメインクライアントとなる。2番目以降にネットワーク上でサーバ200からコンテンツデータを受信した再生する全てのクライアントがサブクライアントとなる。言い換えると、最初にコンテンツを再生開始するクライアントがメインクライアントになり、メインクライアントが存在している状態でコンテンツを再生開始するクライアントがサブクライアントになる。さらに言い換えると、最初にネットワークに接続したクライアントがメインクライアントになり、メインクライアントが存在している状態でネットワークに接続したクライアントがサブクライアントになる。
【0033】
メインクライアントとサブクライアントとで再生コンテンツリストの生成方法が異なる。メインクライアントは、少なくとも所定時間以上(あるいは所定コンテンツ数以上)のコンテンツを同一サーバ200から連続して取得するように再生コンテンツリストを生成する。図5は、メインクライアントの再生コンテンツリストを示す。再生コンテンツリストには、再生番号に対応付けて、コンテンツ情報と、コンテンツを格納するサーバ情報(例えばサーバ名)と、再生時間情報とを含む。図5では、1〜10番目までがサーバ200Aのコンテンツを再生し、11〜20番目までがサーバ200Bのコンテンツを再生することを示している。なお、同一サーバ200内のどのコンテンツをどの順番で含めるか自体は、周知の技術によって選択され、例えば完全にランダムに選択されても良く、ユーザ操作によって指定されたアーティスト名等のコンテンツ情報で絞り込んでも良く、お気に入りレートや総再生回数等の嗜好情報を使用して選択してもよい。
【0034】
サブクライアントは、メインクライアントからメインクライアントの再生コンテンツリストと現在の再生位置の情報とを(直接又はサーバ200経由で)取得する。サブクライアント100は、メインクライアントと同じ時刻に同じサーバ200からコンテンツを取得するように、再生コンテンツリストを生成する。すなわち、サブクライアントは、メインクライアントが現在コンテンツを取得しているサーバ200からメインクライアントが連続してコンテンツを受信する残り時間を算出し、算出した残り時間分だけ、サブクライアント100もその同一サーバ200からコンテンツを取得するように、コンテンツリストにコンテンツを登録する。さらに、サブクライアントは、メインクライアントが現在コンテンツを受信しているサーバ200の次のサーバ200からコンテンツを連続して受信する時間を算出し、算出した時間分だけサブクライアント100もその同一サーバ200からコンテンツを取得するように、コンテンツリストにコンテンツを登録する。この処理を繰り返すことによって、サブクライアント100は、メインクライアントと同じ時刻に同じサーバ200からコンテンツを取得するように、再生コンテンツリストを生成することができる。
【0035】
メインクライアントの場合と同様に、同一サーバ200内のどのコンテンツをどの順番で含めるか自体は、周知の技術によって選択され、例えば完全にランダムに選択されても良く、ユーザ操作によって指定されたアーティスト名等のコンテンツ情報で絞り込んでも良く、お気に入りレートや総再生回数等の嗜好情報を使用して選択してもよい。つまり、サブクライアントの再生コンテンツリストに含められるコンテンツはメインクライアントの再生コンテンツリストのコンテンツと異なっていてもよく同じでも良いが、各クライアントのユーザの嗜好が異なるので通常は異なっている。
【0036】
図6は図5に対応するサブクライアント100の再生コンテンツリストを示す。1番目〜8番目までにサーバ200Aのコンテンツを再生することを示しており、図5においてメインクライアントがサーバ200Aからコンテンツを連続して受信する残り時間(34分53秒)と、図6においてサブクライアントがサーバ200Aからコンテンツを連続して受信する残り時間(34分53秒)とが同じになっている。なお、実際にはサブクライアントが再生開始するまでに必要な処理の(再生コンテンツリスト生成や、サーバ200からコンテンツを受信し再生準備する)時間(例えば30秒等)を減算した時間分のコンテンツをサーバ200Aから受信するように再生コンテンツリストが生成される。9番目〜18番目までにサーバ200Bのコンテンツを再生することを示しており、図5においてメインクライアントがサーバ200Bからコンテンツを連続して受信する合計時間(47分00秒)と、図6においてサブクライアントがサーバ200Bからコンテンツを連続して受信する合計時間(47分00秒)とが同じになっている。
【0037】
制御部1は、再生コンテンツリストに列挙されている順番にコンテンツをサーバ200に要求し受信して再生する。メインクライアントの制御部1は、再生コンテンツリストにおいて、コンテンツ送信元のサーバ200が別のサーバに切り替る時点(好ましくはサーバ200の起動時間等を考慮してそれよりも少し前の時点)で次にコンテンツを要求して取得するサーバ200に電源オン状態に移行する指示を送信する。電源オン状態に移行する指示を受信したサーバ200は、スタンバイ状態から電源オン状態に移行する。一方、メインクライアントの制御部1は、コンテンツ送信元のサーバ200が別のサーバに切り替る時点(好ましくは他のクライアントが未だそのサーバ200からコンテンツを受信している可能性を考慮してそれよりも少し後の時点)でこれまでコンテンツ送信元であったサーバ200にスタンバイ状態に移行する指示を送信する。スタンバイ状態に移行する指示を受信したサーバ200は、電源オン状態からスタンバイ状態に移行する。
【0038】
なお、サブクライアントの1つが、サーバ200に電源オン状態に移行する指示やスタンバイ状態に移行する指示を送信しても良い。また、サーバ200の制御部11自身の判断によってクライアント100から所定時間以上継続してコンテンツ送信要求を受信しない場合に自動的に電源オン状態からスタンバイ状態に移行してもよい。
【0039】
次に本実施形態の動作を説明する。図7は、各クライアント100の制御部1の処理を示すフローチャートである。制御部1は、ネットワークに接続した状態で、ユーザ操作によって再生指示が入力されたか否かを判断する(S1)。再生指示が入力された場合(S1でYES)、制御部1は、ネットワークに他のクライアント100がメインクライアントとして存在している否かを判断する(S2)。これは、制御部1が、サーバ200がクライアント100の存在を管理している場合、サーバ200に問い合せることで確認しても良く、探索コマンドをネットワーク上に送信し、クライアントからのその応答(メインクライアントしてネットワーク上に存在することの告知(メインクライアントのクライアント名とIPアドレスとを含む))の有無で確認してもよい。
【0040】
ネットワークに既に他のクライアント100がメインクライアントとして存在しなければ(S2でNO)、制御部1は、自クライアントがメインクライアントとして動作するように設定する(RAM上でメインクライアントとして動作することを記憶する)(S3)。制御部1は、メインクライアントとして再生コンテンツリストを生成し、コンテンツの連続再生を実行する(S4)。
【0041】
一方、ネットワークに他のクライアント100がメインクライアントとして存在する場合(S2でYES)、制御部1は、メインクライアントを特定する(S5)。詳細には、制御部1は、メインクライアントからメインクラアイントのクライアント名やIPアドレス等の特定情報を要求及び取得してRAMに記憶する。一方、制御部1は、サブクライアントとして、自身のクライアント名及びIPアドレスをメインクライアントに送信する。メインクライアントは、サブクライアントのクライアント名及びIPアドレスを取得して、RAMに管理する。制御部1は、サブクライアントとして再生コンテンツリストを生成し、コンテンツの連続再生を実行する(S6)。
【0042】
図8は、S4のメインクライアントの処理を示す。メインクライアントの制御部1は、ネットワーク上の全サーバ200に電源オン状態に移行する指示を送信する。ネットワーク上の全サーバ200は、当該指示を受信すると、スタンバイ状態から電源オン状態に移行する(S21)。続いて、制御部1は、ネットワーク上の全サーバを探索して順次接続し(S22)、各サーバ200に対してコンテンツリストの送信を要求する。各サーバ200は、当該指示を受信すると、コンテンツリストをHDD14から読み出して、メインクライアントに送信する。制御部1は、コンテンツリストを受信し、RAM2に保存する(S23)。
【0043】
続いて、制御部1は、コンテンツリストを取得した複数のサーバ200の中から1つのサーバ200を選択する(S24)。例えば、最初にコンテンツリストを受信したサーバ200から順に選択される。制御部1は、選択したサーバ200のコンテンツリストから複数のコンテンツを選択し、選択したコンテンツの合計再生時間が所定時間以上となるようにする(S25)。詳細には、1つのコンテンツをコンテンツリストから選択する毎に選択したコンテンツの再生時間を合計再生時間に加算していき、合計再生時間が所定時間以上か否かを判断し、合計再生時間が所定時間以上となるまでコンテンツの選択を繰り返す。なお、上記の通り、合計再生時間が所定時間になるまでコンテンツを選択する代わりに、合計コンテンツ数が所定数に達するまでコンテンツを選択してもよい。制御部1は、選択した複数のコンテンツをメインクライアントの再生コンテンツリストに上から順に(再生する順に)含める(S26)。
【0044】
制御部1は、再生コンテンツリストに含められたコンテンツの合計再生時間が所定時間(例えば45分)に達しているか否かを判断する(S27)。未だ達していなければ(S27でNO)、S24に戻って、次にコンテンツリストを送信してきたサーバ200を選択し、上記と同様の処理を実行する。これにより、図5に示すように、あるサーバ200のコンテンツを所定時間連続再生した後に、別のサーバ200のコンテンツを所定時間連続再生する処理を継続する再生コンテンツリストが生成される。再生コンテンツリストに含められたコンテンツの合計再生時間が所定時間に達すると(S27でYES)、再生コンテンツリストの生成処理を終了する。
【0045】
続いて、制御部1は、再生コンテンツリストに登録されているコンテンツをサーバ200から取得して再生する(S28)。つまり、制御部1は、再生対象のコンテンツをコンテンツリストの上から順に選択し、選択したコンテンツを格納しているサーバ200に選択したコンテンツの送信指示を送信する。当該指示を受信したサーバ200は、送信対象のコンテンツをHDD14から読み出して、メインクライアントに送信する。制御部1は、コンテンツを受信すると、再生部にコンテンツを再生させる。例えば、図5の再生コンテンツリストの場合、最初に1番目のコンテンツA8が選択され、サーバ200AからコンテンツA8が取得され、再生される。
【0046】
制御部1は、現時点でのコンテンツ送信元ではないサーバ200を特定し、それらのサーバ200に対してスタンバイ状態に移行する指示を送信する(S29)。つまり、コンテンツリストを送信してきたサーバ200であって、現在再生しているコンテンツを格納しているサーバ200以外のサーバに当該指示が送信される。当該指示を受信したサーバ200は、電源オン状態からスタンバイ状態に移行する。従って、コンテンツ再生システム全体を省電力化することができる。
【0047】
続いて、制御部1は、再生対象のコンテンツが再生コンテンツリストにおいて次のコンテンツに切り替るか否かを判断する(S30)。次のコンテンツに切り替る場合(S31でYES)、制御部1は、再生対象のコンテンツを格納するサーバ200が別のサーバに切り替るか否かを、再生コンテンツリストを参照して判断する(S31)。例えば、再生番号が1のコンテンツから2のコンテンツに切り替る場合、送信元のサーバ200は共にサーバ200Aであるので、切り替らないと判断される(S31でNO)。この場合、処理はS28に戻り、制御部1は、再生コンテンツリストにおいて次のコンテンツを選択して、サーバ200からコンテンツ受信して再生する。
【0048】
一方、再生番号が10のコンテンツから11のコンテンツ切り替る場合、送信元のサーバ200がサーバ200Aからサーバ200Bに切り替ると判断される(S31でYES)。この場合、制御部1は、次の再生対象のコンテンツを格納するサーバ200に電源オン状態に移行する指示を送信する(S32)。当該指示を受信したサーバ200(上記の例ではサーバ200B)は、スタンバイ状態から電源オン状態に移行する。その後、処理S28に戻って、制制御部1は、再生コンテンツリストにおいて次のコンテンツを選択して、サーバ200(上記の例ではサーバ200B)からコンテンツ受信して再生する。そして、制御部1は、コンテンツ送信元ではなくなったサーバ200(上記の例ではサーバ200A)にスタンバイ状態に移行する指示を送信する(S29)。当該指示を受信したサーバ200は、電源オン状態からスタンバイ状態に移行する。以上の処理を継続することで、再生コンテンツリストのコンテンツを連続再生する。
【0049】
図9は、S6のサブクライアントの処理を示す。サブクライアントの制御部1は、メインクライアントに、各サーバ200のコンテンツリストと、メインクライアントの再生コンテンツリストと、メインクライアントの現在の再生位置とを要求する。メインクライアントは、この要求に応じて、これらの情報をサブクライアントに送信する。サブクライアントの制御部1は、各サーバ200のコンテンツリストと、メインクライアントの再生コンテンツリストと、メインクライアントの現在の再生位置とを受信し、RAM2に保存する(S41)。
【0050】
制御部1は、メインクライアントが現在再生中のコンテンツの残り再生時間を算出する(S42)。例えば、図5のメインクライアントの再生コンテンツリストにおいて、メインクライアントの現在の再生位置は再生番号3のコンテンツA12の2分30秒の位置である。そして、コンテンツA12の総再生時間は4分55秒である。従って、コンテンツA12の残り再生時間は、2分25秒と算出される。
【0051】
制御部1は、メインクライアントが現在再生中のコンテンツを格納するサーバ200と同じサーバ200から、メインクライアントがこのあと連続して受信して再生するコンテンツの合計再生時間を算出する(S43)。図5の例では、現在再生中のコンテンツA12を格納するサーバ200がサーバ200Aであり、再生コンテンツリストにおいてコンテンツA12に連続するサーバ200Aのコンテンツとして、再生番号が4〜10番目の7つのコンテンツ(コンテンツA4〜コンテンツA5)が特定される。これらの合計再生時間は、32分28秒である。
【0052】
制御部1は、S42で算出した現在再生中のコンテンツの残り再生時間と、S43で算出した現在再生中のコンテンツと同じサーバ200からのコンテンツを連続再生する合計再生時間とを加算して、現在再生中のコンテンツを格納するサーバ200から現時点以降に連続してコンテンツを受信する合計再生時間を算出する(S44)。上記の例では、2分22秒に32分28秒が加算されて、34分53秒となる。なお、実際には、サブクライアントがコンテンツを再生開始するまでに要する時間(例えば30秒)だけ、この合計再生時間から減算する必要があるが、以下の説明では簡単化のために仮にこの時間を0として説明する。
【0053】
制御部1は、メインクライアントが現在再生中のコンテンツを格納するサーバ200(本例ではサーバ200A)のコンテンツリストの中から、再生時間の合計がS44で算出した合計再生時間と同じ(但し、完全に同じにならない場合には数秒程度の差が生じても良い。)になるように複数のコンテンツを選択する(S45)。上記の例では、サーバ200Aのコンテンツリストの中から複数のコンテンツを選択し、選択したコンテンツの合計再生時間が34分53秒となるようにされる。詳細には、1つのコンテンツをコンテンツリストから選択する毎に選択したコンテンツの再生時間を合計再生時間に加算していき、合計再生時間がS44で算出した合計時間と同じであるか否かを判断し、合計再生時間がS44で算出した合計再生時間となるまでコンテンツの選択を繰り返す。なお、コンテンツを選択して合計再生時間がS44で算出した合計再生時間を所定時間(許容範囲の数秒)以上オーバーしてしまった場合、最後に選択したコンテンツ(および必要に応じてもう1つ前に選択したコンテンツ)を別のコンテンツに選択し直し、再生時間と同一となるコンテンツを探し出して選択するとよい。
【0054】
制御部1は、選択した複数のコンテンツをサブクライアントの再生コンテンツリストに含める(S46)。図6に示すように、例えば、再生番号が1〜8のコンテンツがサーバ200Aのコンテンツリストから選択され再生コンテンツリストに含められており、再生時間の合計は図5のメインクライアントのサーバ200Aの残り再生時間の合計と同じ34分53秒となっている。
【0055】
続いて、制御部1は、メインクライアントの再生コンテンツリストにおいて、次にコンテンツ送信元となるサーバ200を選択し、選択したサーバ200から受信するコンテンツの合計再生時間を算出する(S47)。例えば、図5の再生コンテンツリストにおいて、サーバ200Aの次にコンテンツ再生元となるサーバ200としてサーバ200Bが選択され、サーバ200Bから連続して受信するコンテンツとして再生番号が11〜20の10個のコンテンツ(コンテンツB10〜コンテンツB5)が選択される。これらの再生時間が全て加算され、47分00秒が算出される。
【0056】
制御部1は、S47で選択したサーバ200(本例ではサーバ200B)のコンテンツリストの中から、再生時間の合計がS47で算出した合計再生時間と同じ(但し、完全に同じにならない場合には数秒程度の差が生じても良い。)になるように複数のコンテンツを選択する(S48)。上記の例では、サーバ200Bのコンテンツリストの中から複数のコンテンツを選択し、選択したコンテンツの合計再生時間が47分00秒となるようにされる。詳細には、1つのコンテンツをコンテンツリストから選択する毎に選択したコンテンツの再生時間を合計再生時間に加算していき、合計再生時間がS47で算出した合計再生時間と同じか否かを判断し、合計再生時間がS47で算出した合計再生時間と同じになるまでコンテンツの選択を繰り返す。なお、コンテンツを選択して合計再生時間がS47で算出した合計再生時間を所定時間(許容範囲の数秒)以上オーバーしてしまった場合、最後に選択したコンテンツ(および必要に応じてもう1つ前に選択したコンテンツ)を別のコンテンツに選択し直し、再生時間と同一となるコンテンツを探し出して選択するとよい。
【0057】
制御部1は、選択した複数のコンテンツをサブクライアントの再生コンテンツリストに含める(S49)。図6に示すように、例えば、再生番号が9〜18のコンテンツがサーバ200Bのコンテンツリストから選択され、サブクライアントの再生コンテンツリストに含められており、再生時間の合計は図5のメインクライアントのサーバ200Bの残りの再生時間の合計と同じ47分00秒となっている。
【0058】
制御部1は、メインクライアントの再生コンテンツリストに登録されている全サーバ200について上記の処理を実行したか否かを判断する(S50)。未だ全てのサーバについて上記処理を実行していない場合(S50でNO)、S47に戻って、メインクライアントの再生コンテンツリストの次のサーバ200を選択し、上記の処理を継続する。一方、全てのサーバ200について上記処理を実行し終えると(S50でYES)、サブクライアントの再生コンテンツリストの生成処理が終了する。制御部1は、生成した再生コンテンツリストの再生番号の順にコンテンツをサーバ200から取得して再生する(S51)。
【0059】
以上の処理によって、メインクライアントと、1又は複数のサブクライアントとでは全てが、同じ時刻に同じサーバ200からコンテンツを受信して再生することができる。従って、クライアントにコンテンツを送信するサーバ200を1つのサーバ200に集中させることができので、他のサーバ200を電源オン状態からスタンバイ状態にすることができ、コンテンツ再生システム全体の消費電力を低減することができる。
【0060】
次に本発明の別の好ましい実施形態を説明する。メインクライアントがネットワークから離脱する(例えば、ネットワーク接続を切断する、又は、電源オフ状態(シャットダウン)になる)場合、メインクライアントが存在しなくなり、その後、新たなクライアントがネットワークに接続されたときに、メインクライアントから再生コンテンツリストと現在の再生位置の情報とを取得することが出来なくなる。そこで、本実施形態では、メインクライアントは、ネットワークから離脱する場合に、サブクライアントの1つにメインクライアントとしての機能を引き継ぐ。
【0061】
図10は本実施形態の処理を示すフローチャートである。メインクライアントの制御部1は、ネットワークを離脱するか否かを判断する(S61)。ネットワークを離脱する場合(S61でYES)、メインクライアントの制御部1は、ネットワーク上にサブクライアントが存在するか否かを判断する(S62)。サブクライアントが存在するか否かは、メインクライアント自身がネットワーク上に存在しているサブクライアントの情報(クライアント名及びIPアドレス)を管理していているので、当該管理情報を参照すると良い。サブクライアントが存在しなければ(S62でNO)、メインクライアントとしての機能を引き継ぐことができないので、メインクライアントの制御部1は、そのままネットワークから離脱し(S65)、処理を終了する。
【0062】
サブクライアントが存在する場合(S62でYES)、メインクライアントの制御部1は、ネットワークに接続されている1または複数のサブクライアントの中から任意のサブクライアントを1つ選択する(S63)。メインクライアントの制御部1は、選択したサブクライアントに対してメインクライアントとしての機能を引き継ぐ指示を送信する(S64)。そして、メインクライアントの制御部1は、ネットワークから離脱する(S65)。サブクライアントの制御部1は、当該指示を受信すると(S71でYES)、メインクライアントになるように設定する(S72)。サブクライアントとメインクライアントとは同じ時刻に同じサーバからコンテンツを取得するように各再生コンテンツリストが生成されているので、メインクライアントの機能が別のクライアントに引き継がれても他のサブクライアントのコンテンツ再生に支障をきたさない。従って、以後、新たなクライアントがネットワークに接続し、コンテンツ再生を開始する場合には、新たなメインクライアントから再生コンテンツリストを取得して、自身の再生コンテンツリストを生成することができる。
【0063】
なお、本発明のさらに別の好ましい実施形態においては、メインクライアントがネットワークを離脱する場合だけでなく、メインクライアントがコンテンツの再生を停止する場合にも、メインクライアントの機能をいずれか1つのサブクライアントに引き継ぐ処理を実行する。これは、メインクライアントがコンテンツの再生を停止しており、メインクライアントの現在の再生位置が更新されないので、新たにネットワークに接続されたサブクライアントがメインクライアントから現在の再生位置の情報を取得することが出来なくなるからである。この場合の処理は、図10のS61の判断処理が「コンテンツの再生を停止するか」に変更されるだけであり、その他の処理は同じである。
【0064】
しかしながら、メインクライアントがコンテンツの再生を停止した場合であっても、メインクライアントが現在の再生位置を更新し続けるような場合には、メインクライアントは、新たにネットワークに接続されたサブクライアントに現在の再生位置の情報を送信することができるので、メインクライアントとしての機能をサブクライアントのいずれかに引き継ぐ必要はない。
【0065】
次に本発明のさらに別の好ましい実施形態を説明する。クライアントがコンテンツの再生を停止(一時停止の意味を含む)した後、少し時間が経過した後に再度、同じ再生コンテンツリストを使用して再生を停止したコンテンツの再生位置からコンテンツの再生を開始すると、他のクライアントがコンテンツを取得するサーバと異なるサーバからコンテンツを取得する場合が生じる。この問題を解決するためには、本実施形態においては、クライアントがコンテンツの再生を再開するときに、メインクライアントの現在の再生位置の情報をメインクライアントから取得し、その情報に基づいて、再生を開始すべきコンテンツの位置を特定する。
【0066】
図11に示すように、サブクライアントの制御部1は、ユーザ操作によってコンテンツの再生を停止する指示が入力されたか否かを判断する(S81)。入力された場合(S81でYES)、制御部1は、コンテンツの再生を停止する(S82)。その後、制御部1は、ユーザ操作によってコンテンツの再生を開始する指示が入力されたか否かを判断する(S83)。入力された場合(S83でYES)、制御部1は、メインクライアントに、メインクライアントの現在の再生位置を要求する。メインクライアントは、この要求に応じて、現在の再生位置の情報をサブクライアントに送信する。サブクライアントの制御部1は、メインクライアントの現在の再生位置を受信し、RAM2に保存する(S84)。
【0067】
サブクライアントの制御部1は、メインクライアントが現在再生中のコンテンツの残り再生時間を算出する(S85)。例えば、図5のメインクライアントの再生コンテンツリストにおいて、メインクライアントの現在の再生位置は再生番号8のコンテンツA7の3分23秒の位置である。そして、コンテンツA7の総再生時間は5分23秒である。従って、コンテンツA7の残り再生時間は、2分00秒と算出される。
【0068】
制御部1は、メインクライアントが現在再生中のコンテンツを格納するサーバ200と同じサーバ200から、メインクライアントがこのあと連続して受信して再生するコンテンツの合計再生時間を算出する(S86)。図5の例では、現在再生中のコンテンツA7を格納するサーバ200がサーバ200Aであり、再生コンテンツリストにおいてコンテンツA7に連続するサーバ200Aのコンテンツとして、再生番号が9〜10番目の2つのコンテンツ(コンテンツA10、A5)が特定される。これらの合計再生時間は、8分29秒である。
【0069】
制御部1は、S85で算出した現在再生中のコンテンツの残り再生時間と、S86で算出した現在再生中のコンテンツと同じサーバ200からのコンテンツを連続再生する合計再生時間とを加算して、現在再生中のコンテンツを格納するサーバ200から現時点以降に連続してコンテンツを受信する合計再生時間を算出する(S87)。上記の例では、2分00秒に8分29秒が加算されて、10分29秒となる。なお、実際には、サブクライアントがコンテンツを再生開始するまでに要する時間(例えば30秒)だけ、この合計再生時間から減算する必要があるが、以下の説明では簡単化のために仮にこの時間を0として説明する。
【0070】
制御部1は、メインクライアントが現在再生中のコンテンツを格納するサーバ200(本例ではサーバ200A)のコンテンツリストの中から、残り再生時間の合計がS87で算出した合計再生時間と同じ(但し、完全に同じにならない場合には数秒程度の差が生じても良い。)になるように、再生すべきコンテンツの位置を特定する(S88)。図6の例では、サーバ200Aのコンテンツの残り再生時間を10分29秒とするためには、再生開始位置を、再生番号が6のコンテンツA101の2:57に特定すればよい。
【0071】
そして、制御部1は、特定したコンテンツの再生位置からコンテンツの再生を開始する(S89)。以上の処理によって、サブクライアントがコンテンツの再生を停止した後、再度コンテンツの再生を開始する場合でも、同じ時間帯に他のクライアントと同じサーバからコンテンツを取得することができる。
【0072】
次に、メインクライアントがコンテンツの再生を停止した後、再度コンテンツの再生を開始する場合の処理を、図12を参照して説明する。メインクライアントの制御部1は、ユーザ操作によってコンテンツの再生を停止する指示が入力されたか否かを判断する(S91)。入力された場合(S91でYES)、制御部1は、コンテンツの再生を停止する(S92)。
【0073】
コンテンツの再生を停止した場合、通常であれば現在の再生位置は更新されない。しかし、本実施形態においてはコンテンツの再生を停止した場合でも、制御部1は、現在のコンテンツの再生位置のみ更新し続ける(S93)。
【0074】
制御部1は、ユーザ操作によってコンテンツの再生を開始する指示が入力されたか否かを判断する(S94)。入力されない場合(S94でNO)、処理はS93に戻る。入力された場合(S94でYES)、制御部1は、S93で更新し続けたコンテンツの現在の再生位置からコンテンツの再生を開始する(S95)。従って、メインクライアントは、コンテンツの再生を停止し、その後、再生を再開してもその再生位置は、再生を停止しなかった場合と同じになる。従って、再生コンテンツリストにおいて、メインクライアントがコンテンツを取得するサーバが、サブクライアントがコンテンツを取得するサーバと異なってしまうことを防止することができる。
【0075】
なお、サブクライアントも図11の処理に代えて図12の処理を実行してもよい。
【0076】
以上、本発明の好ましい実施形態を説明したが、本発明はこれらの実施形態には限定されない。上記のクライアント又はサーバをコンピュータに実行させるためのコンピュータプログラムまたはそのコンピュータプログラムを記録した記録媒体という形態で提供されてもよい。
【産業上の利用可能性】
【0077】
本発明は、複数のクライアントと複数のサーバとを有するコンテンツ再生システムに好適に採用され得る。
【符号の説明】
【0078】
100 クライアント
1 制御部
2 RAM
3 ROM
4 再生部
5 通信部
6 表示部
7 操作部
200 サーバ
11 制御部
12 RAM
13 ROM
14 HDD
15 通信部
16 表示部
17 操作部
【技術分野】
【0001】
本発明は、複数のサーバと、複数のクライアントとを備えるコンテンツ再生システムに関する。
【背景技術】
【0002】
複数のサーバと複数のクライアントとを備えるネットワークAVシステムが提案されている。各サーバは、ネットワークに接続されている他のサーバが保有するコンテンツリストを取得し、自身のコンテンツリストと他のサーバのコンテンツリストとを統合した統合コンテンツリストを生成し、メモリに保持している。クライアントは、いずれかのサーバから統合コンテンツリストを取得し、統合コンテンツリストから、自身が再生すべきコンテンツを選択する。クライアントは、選択したコンテンツを格納しているサーバをコンテンツリストから特定し、特定したサーバにコンテンツの送信を要求する。要求を受けたサーバは、コンテンツをストリーミング形式でクライアントに送信する。クライアントは、受信したコンテンツを再生する。
【0003】
このネットワークAVシステムによると、複数のクライアントが、同時刻にそれぞれ異なるサーバからコンテンツを取得して再生することが可能である。しかしそのためには、全てのサーバを電源オン状態にする必要があり、システム全体としての消費電力の増加につながる。消費電力を低減するために、1つのサーバのみを電源オン状態にし、複数のクライアントが1つのサーバのみから同一コンテンツを取得して再生することが考えられるが(いわゆるパーティーモード)、コンテンツの選択の範囲が狭められてしまうという問題が生じる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−157800号公報
【特許文献2】特開2006−323770号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は上記従来の課題を解決するためになされたものであり、その目的は、コンテンツの選択の幅を狭めることなく、システム全体の消費電力を低減するコンテンツ再生システムを提供することである。
【課題を解決するための手段】
【0006】
本発明の好ましい実施形態によるコンテンツ再生システムは、複数のサーバと、複数の前記サーバとネットワーク経由で接続可能な複数のクライアントとを備えるコンテンツ再生システムであって、前記各サーバが、複数のコンテンツを記録するためのコンテンツ記憶部と、前記クライアントからの指示に応じて、指定されたコンテンツを前記クライアントに送信するコンテンツ送信手段とを有し、前記各クライアントが、各クライアントが同時に同じ前記サーバからそれぞれ異なるコンテンツを受信して再生するように複数の前記サーバのコンテンツを再生順に列挙した再生コンテンツリストを生成するリスト生成手段と、再生コンテンツリストに列挙された順番に、前記サーバからコンテンツを受信して再生する再生手段とを有する。
【0007】
本実施形態によると、各クライアントは、各クライアントが同時に同じサーバからそれぞれ異なるコンテンツを受信して再生するように複数のサーバのコンテンツを再生順に列挙した再生コンテンツリストを生成する。従って、コンテンツの選択の幅を狭めることなく、システム全体の消費電力を低減することができる。
【0008】
本発明の別の好ましい実施形態によるコンテンツ再生システムは、複数のサーバと、複数の前記サーバとネットワーク経由で接続可能な複数のクライアントとを備えるコンテンツ再生システムであって、前記各サーバが、複数のコンテンツを記録するためのコンテンツ記憶部と、前記クライアントからの指示に応じて、指定されたコンテンツを前記クライアントに送信するコンテンツ送信手段とを有し、前記複数のクライアントが、1つのメインクライアントと、1又は複数のサブクライアントとを含み、前記メインクライアントが、前記各サーバのコンテンツリストに基づいて、同一サーバから所定時間以上又は所定コンテンツ数以上連続してコンテンツを受信するように、複数の前記サーバのコンテンツを再生順に列挙したメインクライアントの再生コンテンツリストを生成する第1リスト生成手段と、メインクライアントの再生コンテンツリストに列挙された順番に、前記サーバからコンテンツを受信して再生する第1再生手段とを有し、前記サブクライアントが、メインクライアントの再生コンテンツリストを参照し、前記メインクライアントが同一サーバから連続してコンテンツを受信する時間と同じ時間分の当該サーバのコンテンツを選択して、選択したコンテンツをサブクライアントの再生コンテンツリストに含めることにより、前記サブクライアントが前記メインクライアントと同時に同じ前記サーバからコンテンツを受信して再生するように、複数の前記サーバのコンテンツを再生順に列挙したサブクライアントの再生コンテンツリストを生成する第2リスト生成手段と、前記サブクライアントの再生コンテンツリストに列挙された順番に、前記サーバからコンテンツを受信して再生する第2再生手段とを有する。
【0009】
本実施形態によると、メインクライアントは、各サーバのコンテンツリストに基づいて、同一サーバから所定時間以上又は所定コンテンツ数以上連続してコンテンツを受信するように、複数のサーバのコンテンツを再生順に列挙したメインクライアントの再生コンテンツリストを生成する。一方、サブクライアントは、メインクライアントの再生コンテンツリストを参照し、メインクライアントが同一サーバから連続してコンテンツを受信する時間と同じ時間分の当該サーバのコンテンツを選択して、選択したコンテンツをサブクライアントの再生コンテンツリストに含めることにより、サブクライアントがメインクライアントと同時に同じサーバからコンテンツを受信して再生するように、複数のサーバのコンテンツを再生順に列挙したサブクライアントの再生コンテンツリストを生成する。従って、各サーバは、同じ時間に同じサーバからそれぞれ異なるコンテンツを受信して再生することが出来るので、コンテンツの選択の幅を狭めることなく、システム全体の消費電力を低減することができる。
【0010】
好ましい実施形態においては、最初にコンテンツを再生開始するクライアントがメインクライアントになり、メインクライアントが存在している状態でコンテンツを再生開始するクライアントがサブクライアントになる。
【0011】
この場合、2番目以降にクライアントが再生を開始する場合には常にメインクライアントが存在しているので、メインクライアントの再生コンテンツリストを参照して、サブクライアントの再生コンテンツリストを生成することができる。
【0012】
好ましい実施形態においては、前記メインクライアントが、ネットワークを離脱する場合、前記メインクライアントとしての機能を引き継ぐように1つの前記サブクライアントに引継指示を送信する手段をさらに有し、前記サブクライアントが、前記メインクライアントから引継指示を受信した場合に、前記メインクライアントとしての機能を引き継いで前記メインクライアントになる。
【0013】
メインクライアントがネットワークを離脱する場合、サブクライアントの1つにメインクライアントの機能を引き継ぐことができるので、新たなクライアントがネットワークに接続された際に、メインクライアントの再生コンテンツリストを参照し、サブクライアントの再生コンテンツリストを生成することができる。
【0014】
好ましい実施形態においては、前記メインクライアントが、ユーザ操作に応じてコンテンツの再生を停止する手段と、コンテンツの再生を停止した場合であっても、コンテンツの現在の再生位置のみを更新し続ける更新手段と、ユーザ操作に応じてコンテンツの再生を開始する場合、前記更新手段によって更新されているコンテンツの現在の再生位置からコンテンツの再生を開始する再生再開手段とをさらに有する。
【0015】
この場合、メインクライアントがコンテンツの再生を停止し、その後、コンテンツの再生を再開する場合であっても、コンテンツの現在の再生位置のみは更新され続けており、更新されているコンテンツの現在の再生位置からコンテンツを再生開始することによって、メインクライアントがコンテンツを取得するサーバと、サブクライアントがコンテンツを取得するサーバとが同じ状態を継続することができる。
【0016】
好ましい実施形態においては、前記サブクライアントが、ユーザ操作に応じてコンテンツの再生を停止する手段と、ユーザ操作に応じてコンテンツの再生を開始する場合、前記メインクライアントの現在の再生位置の情報を前記メインクライアントから取得する手段と、取得された前記メインクライアントの現在の再生位置の情報に基づいて、前記サブクライアントの再生コンテンツリストにおける再生再開位置を特定する手段とをさらに有し、前記第2再生手段が、特定された再生再開位置からコンテンツの再生を開始する。
【0017】
この場合、サブクライアントがコンテンツの再生を停止し、その後、コンテンツの再生を再開する場合であっても、サブクライアントはメインクライアントからコンテンツの現在の再生位置を取得し、サブクライアントの再生再開位置を特定する。従って、メインクライアントがコンテンツを取得するサーバと、サブクライアントがコンテンツを取得するサーバとが同じ状態を継続することができる。
【0018】
好ましい実施形態においては、前記各サーバのうち、前記各クライアントのいずれかにコンテンツを送信している前記サーバのみが電源オン状態になっており、前記クライアントのいずれにもコンテンツを送信していない前記サーバが電源オフ状態になっている。
【0019】
従って、システム全体の消費電力を低減することができる。
【0020】
本発明の別の好ましい実施形態においては、上記メインクライアント、サブクライアント、メインクライアントの各手段をコンピュータに実行させるメインクライアントの動作プログラム、サブクライアントの各手段をコンピュータに実行させるサブクライアントの動作プログラムといった形態で提供することが可能である。
【発明の効果】
【0021】
コンテンツの選択の幅を狭めることなく、システム全体の消費電力を低減するコンテンツ再生システムを提供することができる。
【図面の簡単な説明】
【0022】
【図1】本発明の好ましい実施形態によるコンテンツ再生システムを示すブロック図である。
【図2】サーバ200を示す概略ブロック図であるである。
【図3】サーバ200が保持するコンテンツリストを示す図である。
【図4】クライアント100(メインクライアント及びサブクライアント)を示す概略ブロック図である。
【図5】メインクライアントの再生コンテンツリストを示す図である。
【図6】サブクライアントの再生コンテンツリストを示す図である。
【図7】クライアントの処理を示すフローチャートである。
【図8】メインクライアントの処理を示すフローチャートである。
【図9】サブクライアントの処理を示すフローチャートである。
【図10】メインクライアント及びサブクライアントの処理を示すフローチャートである。
【図11】サブクライアントの処理を示すフローチャートである。
【図12】メインクライアント及びサブクライアントの処理を示すフローチャートである。
【発明を実施するための形態】
【0023】
以下、本発明の好ましい実施形態について、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。図1に示すように、本発明のコンテンツ再生システムは、複数のクライアント100(100A、100B、100C、・・・)と、複数のサーバ200(200A、200B、200C、・・・)とを備え、これらはLAN等の任意の適切なネットワークを介して相互に接続可能である。クライアント100は、サーバ200にコンテンツの送信を要求する。サーバ200は、クライアント100からの要求に応じて、コンテンツをクライアント100に例えばストリーミング形式で送信する。クライアント100は、受信したコンテンツを再生する。コンテンツとは、映像データ、音楽データ、静止画データ等の総称であるが、本例では音楽データである。
【0024】
図2に示すように、各サーバ200は、制御部11と、RAM12と、ROM13と、HDD等のコンテンツ記憶部14と、通信部15と、表示部16と、操作部17とを概略備える。制御部11は、HDD14又はROM13に格納されているサーバプログラムをRAM12に読み出して実行することによって、サーバ200の各部を制御するものであり、マイコンやCPU等である。
【0025】
HDD14には複数のコンテンツが格納されている。HDD14に格納されているコンテンツは、クライアント100からの送信要求に応じ、HDD14から読み出され、通信部15を介してストリーミング形式でクライアント100に送信される。
【0026】
また、HDD14には、図3に示すようなコンテンツリストが格納されている。コンテンツリストは、HDD14に格納されている全コンテンツのコンテンツ情報を管理するリストである。コンテンツリストは、コンテンツ情報とコンテンツの再生時間情報とを含む。コンテンツ情報は、例えば、曲名、アーティスト名、アルバム名、ジャンル名および曲ID等である。但し、図3においては説明を簡略化するためにコンテンツA1、コンテンツA2・・・と表している。コンテンツリストは、クライアント100からの送信要求に応じて、HDD14から読み出され、通信部15を介してストリーミング形式でクライアント100に送信される。
【0027】
図4に示すように、各クライアント100は、制御部1と、RAM2と、ROM3と、再生部4と、通信部5と、表示部6と、操作部7とを備える。制御部1は、ROM3に格納されているクライアントプログラムに応じて、クライアント100の各部を制御するものであり、マイコンやCPU等である。再生部4は、サーバ200から受信したコンテンツのデータを再生(デコード、DA変換、増幅など)して、再生した音声信号を図示しないスピーカーに供給する。
【0028】
通信部5は、ネットワーク経由で他のクライアント100やサーバ200と通信し、コマンドやデータを送受信する。表示部6は、後述する再生コンテンツリストや、再生中のコンテンツのコンテンツ情報等を表示するものである。操作部7は、ユーザ操作を受け付けるものであり、操作ボタンやリモコン等である。
【0029】
制御部1は、通信部5を介して、各サーバ200にコンテンツリストの送信を要求し、各サーバ200からコンテンツリストを受信し、RAM2に保存する。なお、各サーバ200が、全てのサーバ200のコンテンツリストを統合した統合コンテンツリストを保持している場合、1つのサーバ200から統合コンテンツリストを取得することで、全てのサーバ200からコンテンツリストを取得した場合と同じ状態になる。
【0030】
制御部1は、ユーザ操作によって再生指示が入力された場合、各サーバ200のコンテンツリストから、再生するための再生コンテンツリストを生成する。制御部1は、再生コンテンツリストに列挙された順番にコンテンツをサーバ200から取得して、再生する。再生コンテンツリストには、複数のサーバ200のコンテンツが含まれているので、コンテンツの選択肢の幅を広げることができる。
【0031】
ネットワーク上でコンテンツを再生している全てのクライアント100が、同じ時間帯には必ず同じサーバ200からコンテンツを受信して再生するように、各クライアント100が再生コンテンツリストを生成する。従って、ある時刻にコンテンツをクライアント100に送信しているサーバ200は必ず1つだけになる。そして、コンテンツを送信していないサーバ200が電源オフ状態(例えばスタンバイ状態)となることによって、コンテンツ再生システム全体としての消費電力を低減できる。
【0032】
クライアント100には、1つのメインクライアントと、1又は複数のサブクライアントとが存在する。ネットワーク上で最初にサーバ200からのコンテンツを受信して再生するクライアント100がメインクライアントとなる。2番目以降にネットワーク上でサーバ200からコンテンツデータを受信した再生する全てのクライアントがサブクライアントとなる。言い換えると、最初にコンテンツを再生開始するクライアントがメインクライアントになり、メインクライアントが存在している状態でコンテンツを再生開始するクライアントがサブクライアントになる。さらに言い換えると、最初にネットワークに接続したクライアントがメインクライアントになり、メインクライアントが存在している状態でネットワークに接続したクライアントがサブクライアントになる。
【0033】
メインクライアントとサブクライアントとで再生コンテンツリストの生成方法が異なる。メインクライアントは、少なくとも所定時間以上(あるいは所定コンテンツ数以上)のコンテンツを同一サーバ200から連続して取得するように再生コンテンツリストを生成する。図5は、メインクライアントの再生コンテンツリストを示す。再生コンテンツリストには、再生番号に対応付けて、コンテンツ情報と、コンテンツを格納するサーバ情報(例えばサーバ名)と、再生時間情報とを含む。図5では、1〜10番目までがサーバ200Aのコンテンツを再生し、11〜20番目までがサーバ200Bのコンテンツを再生することを示している。なお、同一サーバ200内のどのコンテンツをどの順番で含めるか自体は、周知の技術によって選択され、例えば完全にランダムに選択されても良く、ユーザ操作によって指定されたアーティスト名等のコンテンツ情報で絞り込んでも良く、お気に入りレートや総再生回数等の嗜好情報を使用して選択してもよい。
【0034】
サブクライアントは、メインクライアントからメインクライアントの再生コンテンツリストと現在の再生位置の情報とを(直接又はサーバ200経由で)取得する。サブクライアント100は、メインクライアントと同じ時刻に同じサーバ200からコンテンツを取得するように、再生コンテンツリストを生成する。すなわち、サブクライアントは、メインクライアントが現在コンテンツを取得しているサーバ200からメインクライアントが連続してコンテンツを受信する残り時間を算出し、算出した残り時間分だけ、サブクライアント100もその同一サーバ200からコンテンツを取得するように、コンテンツリストにコンテンツを登録する。さらに、サブクライアントは、メインクライアントが現在コンテンツを受信しているサーバ200の次のサーバ200からコンテンツを連続して受信する時間を算出し、算出した時間分だけサブクライアント100もその同一サーバ200からコンテンツを取得するように、コンテンツリストにコンテンツを登録する。この処理を繰り返すことによって、サブクライアント100は、メインクライアントと同じ時刻に同じサーバ200からコンテンツを取得するように、再生コンテンツリストを生成することができる。
【0035】
メインクライアントの場合と同様に、同一サーバ200内のどのコンテンツをどの順番で含めるか自体は、周知の技術によって選択され、例えば完全にランダムに選択されても良く、ユーザ操作によって指定されたアーティスト名等のコンテンツ情報で絞り込んでも良く、お気に入りレートや総再生回数等の嗜好情報を使用して選択してもよい。つまり、サブクライアントの再生コンテンツリストに含められるコンテンツはメインクライアントの再生コンテンツリストのコンテンツと異なっていてもよく同じでも良いが、各クライアントのユーザの嗜好が異なるので通常は異なっている。
【0036】
図6は図5に対応するサブクライアント100の再生コンテンツリストを示す。1番目〜8番目までにサーバ200Aのコンテンツを再生することを示しており、図5においてメインクライアントがサーバ200Aからコンテンツを連続して受信する残り時間(34分53秒)と、図6においてサブクライアントがサーバ200Aからコンテンツを連続して受信する残り時間(34分53秒)とが同じになっている。なお、実際にはサブクライアントが再生開始するまでに必要な処理の(再生コンテンツリスト生成や、サーバ200からコンテンツを受信し再生準備する)時間(例えば30秒等)を減算した時間分のコンテンツをサーバ200Aから受信するように再生コンテンツリストが生成される。9番目〜18番目までにサーバ200Bのコンテンツを再生することを示しており、図5においてメインクライアントがサーバ200Bからコンテンツを連続して受信する合計時間(47分00秒)と、図6においてサブクライアントがサーバ200Bからコンテンツを連続して受信する合計時間(47分00秒)とが同じになっている。
【0037】
制御部1は、再生コンテンツリストに列挙されている順番にコンテンツをサーバ200に要求し受信して再生する。メインクライアントの制御部1は、再生コンテンツリストにおいて、コンテンツ送信元のサーバ200が別のサーバに切り替る時点(好ましくはサーバ200の起動時間等を考慮してそれよりも少し前の時点)で次にコンテンツを要求して取得するサーバ200に電源オン状態に移行する指示を送信する。電源オン状態に移行する指示を受信したサーバ200は、スタンバイ状態から電源オン状態に移行する。一方、メインクライアントの制御部1は、コンテンツ送信元のサーバ200が別のサーバに切り替る時点(好ましくは他のクライアントが未だそのサーバ200からコンテンツを受信している可能性を考慮してそれよりも少し後の時点)でこれまでコンテンツ送信元であったサーバ200にスタンバイ状態に移行する指示を送信する。スタンバイ状態に移行する指示を受信したサーバ200は、電源オン状態からスタンバイ状態に移行する。
【0038】
なお、サブクライアントの1つが、サーバ200に電源オン状態に移行する指示やスタンバイ状態に移行する指示を送信しても良い。また、サーバ200の制御部11自身の判断によってクライアント100から所定時間以上継続してコンテンツ送信要求を受信しない場合に自動的に電源オン状態からスタンバイ状態に移行してもよい。
【0039】
次に本実施形態の動作を説明する。図7は、各クライアント100の制御部1の処理を示すフローチャートである。制御部1は、ネットワークに接続した状態で、ユーザ操作によって再生指示が入力されたか否かを判断する(S1)。再生指示が入力された場合(S1でYES)、制御部1は、ネットワークに他のクライアント100がメインクライアントとして存在している否かを判断する(S2)。これは、制御部1が、サーバ200がクライアント100の存在を管理している場合、サーバ200に問い合せることで確認しても良く、探索コマンドをネットワーク上に送信し、クライアントからのその応答(メインクライアントしてネットワーク上に存在することの告知(メインクライアントのクライアント名とIPアドレスとを含む))の有無で確認してもよい。
【0040】
ネットワークに既に他のクライアント100がメインクライアントとして存在しなければ(S2でNO)、制御部1は、自クライアントがメインクライアントとして動作するように設定する(RAM上でメインクライアントとして動作することを記憶する)(S3)。制御部1は、メインクライアントとして再生コンテンツリストを生成し、コンテンツの連続再生を実行する(S4)。
【0041】
一方、ネットワークに他のクライアント100がメインクライアントとして存在する場合(S2でYES)、制御部1は、メインクライアントを特定する(S5)。詳細には、制御部1は、メインクライアントからメインクラアイントのクライアント名やIPアドレス等の特定情報を要求及び取得してRAMに記憶する。一方、制御部1は、サブクライアントとして、自身のクライアント名及びIPアドレスをメインクライアントに送信する。メインクライアントは、サブクライアントのクライアント名及びIPアドレスを取得して、RAMに管理する。制御部1は、サブクライアントとして再生コンテンツリストを生成し、コンテンツの連続再生を実行する(S6)。
【0042】
図8は、S4のメインクライアントの処理を示す。メインクライアントの制御部1は、ネットワーク上の全サーバ200に電源オン状態に移行する指示を送信する。ネットワーク上の全サーバ200は、当該指示を受信すると、スタンバイ状態から電源オン状態に移行する(S21)。続いて、制御部1は、ネットワーク上の全サーバを探索して順次接続し(S22)、各サーバ200に対してコンテンツリストの送信を要求する。各サーバ200は、当該指示を受信すると、コンテンツリストをHDD14から読み出して、メインクライアントに送信する。制御部1は、コンテンツリストを受信し、RAM2に保存する(S23)。
【0043】
続いて、制御部1は、コンテンツリストを取得した複数のサーバ200の中から1つのサーバ200を選択する(S24)。例えば、最初にコンテンツリストを受信したサーバ200から順に選択される。制御部1は、選択したサーバ200のコンテンツリストから複数のコンテンツを選択し、選択したコンテンツの合計再生時間が所定時間以上となるようにする(S25)。詳細には、1つのコンテンツをコンテンツリストから選択する毎に選択したコンテンツの再生時間を合計再生時間に加算していき、合計再生時間が所定時間以上か否かを判断し、合計再生時間が所定時間以上となるまでコンテンツの選択を繰り返す。なお、上記の通り、合計再生時間が所定時間になるまでコンテンツを選択する代わりに、合計コンテンツ数が所定数に達するまでコンテンツを選択してもよい。制御部1は、選択した複数のコンテンツをメインクライアントの再生コンテンツリストに上から順に(再生する順に)含める(S26)。
【0044】
制御部1は、再生コンテンツリストに含められたコンテンツの合計再生時間が所定時間(例えば45分)に達しているか否かを判断する(S27)。未だ達していなければ(S27でNO)、S24に戻って、次にコンテンツリストを送信してきたサーバ200を選択し、上記と同様の処理を実行する。これにより、図5に示すように、あるサーバ200のコンテンツを所定時間連続再生した後に、別のサーバ200のコンテンツを所定時間連続再生する処理を継続する再生コンテンツリストが生成される。再生コンテンツリストに含められたコンテンツの合計再生時間が所定時間に達すると(S27でYES)、再生コンテンツリストの生成処理を終了する。
【0045】
続いて、制御部1は、再生コンテンツリストに登録されているコンテンツをサーバ200から取得して再生する(S28)。つまり、制御部1は、再生対象のコンテンツをコンテンツリストの上から順に選択し、選択したコンテンツを格納しているサーバ200に選択したコンテンツの送信指示を送信する。当該指示を受信したサーバ200は、送信対象のコンテンツをHDD14から読み出して、メインクライアントに送信する。制御部1は、コンテンツを受信すると、再生部にコンテンツを再生させる。例えば、図5の再生コンテンツリストの場合、最初に1番目のコンテンツA8が選択され、サーバ200AからコンテンツA8が取得され、再生される。
【0046】
制御部1は、現時点でのコンテンツ送信元ではないサーバ200を特定し、それらのサーバ200に対してスタンバイ状態に移行する指示を送信する(S29)。つまり、コンテンツリストを送信してきたサーバ200であって、現在再生しているコンテンツを格納しているサーバ200以外のサーバに当該指示が送信される。当該指示を受信したサーバ200は、電源オン状態からスタンバイ状態に移行する。従って、コンテンツ再生システム全体を省電力化することができる。
【0047】
続いて、制御部1は、再生対象のコンテンツが再生コンテンツリストにおいて次のコンテンツに切り替るか否かを判断する(S30)。次のコンテンツに切り替る場合(S31でYES)、制御部1は、再生対象のコンテンツを格納するサーバ200が別のサーバに切り替るか否かを、再生コンテンツリストを参照して判断する(S31)。例えば、再生番号が1のコンテンツから2のコンテンツに切り替る場合、送信元のサーバ200は共にサーバ200Aであるので、切り替らないと判断される(S31でNO)。この場合、処理はS28に戻り、制御部1は、再生コンテンツリストにおいて次のコンテンツを選択して、サーバ200からコンテンツ受信して再生する。
【0048】
一方、再生番号が10のコンテンツから11のコンテンツ切り替る場合、送信元のサーバ200がサーバ200Aからサーバ200Bに切り替ると判断される(S31でYES)。この場合、制御部1は、次の再生対象のコンテンツを格納するサーバ200に電源オン状態に移行する指示を送信する(S32)。当該指示を受信したサーバ200(上記の例ではサーバ200B)は、スタンバイ状態から電源オン状態に移行する。その後、処理S28に戻って、制制御部1は、再生コンテンツリストにおいて次のコンテンツを選択して、サーバ200(上記の例ではサーバ200B)からコンテンツ受信して再生する。そして、制御部1は、コンテンツ送信元ではなくなったサーバ200(上記の例ではサーバ200A)にスタンバイ状態に移行する指示を送信する(S29)。当該指示を受信したサーバ200は、電源オン状態からスタンバイ状態に移行する。以上の処理を継続することで、再生コンテンツリストのコンテンツを連続再生する。
【0049】
図9は、S6のサブクライアントの処理を示す。サブクライアントの制御部1は、メインクライアントに、各サーバ200のコンテンツリストと、メインクライアントの再生コンテンツリストと、メインクライアントの現在の再生位置とを要求する。メインクライアントは、この要求に応じて、これらの情報をサブクライアントに送信する。サブクライアントの制御部1は、各サーバ200のコンテンツリストと、メインクライアントの再生コンテンツリストと、メインクライアントの現在の再生位置とを受信し、RAM2に保存する(S41)。
【0050】
制御部1は、メインクライアントが現在再生中のコンテンツの残り再生時間を算出する(S42)。例えば、図5のメインクライアントの再生コンテンツリストにおいて、メインクライアントの現在の再生位置は再生番号3のコンテンツA12の2分30秒の位置である。そして、コンテンツA12の総再生時間は4分55秒である。従って、コンテンツA12の残り再生時間は、2分25秒と算出される。
【0051】
制御部1は、メインクライアントが現在再生中のコンテンツを格納するサーバ200と同じサーバ200から、メインクライアントがこのあと連続して受信して再生するコンテンツの合計再生時間を算出する(S43)。図5の例では、現在再生中のコンテンツA12を格納するサーバ200がサーバ200Aであり、再生コンテンツリストにおいてコンテンツA12に連続するサーバ200Aのコンテンツとして、再生番号が4〜10番目の7つのコンテンツ(コンテンツA4〜コンテンツA5)が特定される。これらの合計再生時間は、32分28秒である。
【0052】
制御部1は、S42で算出した現在再生中のコンテンツの残り再生時間と、S43で算出した現在再生中のコンテンツと同じサーバ200からのコンテンツを連続再生する合計再生時間とを加算して、現在再生中のコンテンツを格納するサーバ200から現時点以降に連続してコンテンツを受信する合計再生時間を算出する(S44)。上記の例では、2分22秒に32分28秒が加算されて、34分53秒となる。なお、実際には、サブクライアントがコンテンツを再生開始するまでに要する時間(例えば30秒)だけ、この合計再生時間から減算する必要があるが、以下の説明では簡単化のために仮にこの時間を0として説明する。
【0053】
制御部1は、メインクライアントが現在再生中のコンテンツを格納するサーバ200(本例ではサーバ200A)のコンテンツリストの中から、再生時間の合計がS44で算出した合計再生時間と同じ(但し、完全に同じにならない場合には数秒程度の差が生じても良い。)になるように複数のコンテンツを選択する(S45)。上記の例では、サーバ200Aのコンテンツリストの中から複数のコンテンツを選択し、選択したコンテンツの合計再生時間が34分53秒となるようにされる。詳細には、1つのコンテンツをコンテンツリストから選択する毎に選択したコンテンツの再生時間を合計再生時間に加算していき、合計再生時間がS44で算出した合計時間と同じであるか否かを判断し、合計再生時間がS44で算出した合計再生時間となるまでコンテンツの選択を繰り返す。なお、コンテンツを選択して合計再生時間がS44で算出した合計再生時間を所定時間(許容範囲の数秒)以上オーバーしてしまった場合、最後に選択したコンテンツ(および必要に応じてもう1つ前に選択したコンテンツ)を別のコンテンツに選択し直し、再生時間と同一となるコンテンツを探し出して選択するとよい。
【0054】
制御部1は、選択した複数のコンテンツをサブクライアントの再生コンテンツリストに含める(S46)。図6に示すように、例えば、再生番号が1〜8のコンテンツがサーバ200Aのコンテンツリストから選択され再生コンテンツリストに含められており、再生時間の合計は図5のメインクライアントのサーバ200Aの残り再生時間の合計と同じ34分53秒となっている。
【0055】
続いて、制御部1は、メインクライアントの再生コンテンツリストにおいて、次にコンテンツ送信元となるサーバ200を選択し、選択したサーバ200から受信するコンテンツの合計再生時間を算出する(S47)。例えば、図5の再生コンテンツリストにおいて、サーバ200Aの次にコンテンツ再生元となるサーバ200としてサーバ200Bが選択され、サーバ200Bから連続して受信するコンテンツとして再生番号が11〜20の10個のコンテンツ(コンテンツB10〜コンテンツB5)が選択される。これらの再生時間が全て加算され、47分00秒が算出される。
【0056】
制御部1は、S47で選択したサーバ200(本例ではサーバ200B)のコンテンツリストの中から、再生時間の合計がS47で算出した合計再生時間と同じ(但し、完全に同じにならない場合には数秒程度の差が生じても良い。)になるように複数のコンテンツを選択する(S48)。上記の例では、サーバ200Bのコンテンツリストの中から複数のコンテンツを選択し、選択したコンテンツの合計再生時間が47分00秒となるようにされる。詳細には、1つのコンテンツをコンテンツリストから選択する毎に選択したコンテンツの再生時間を合計再生時間に加算していき、合計再生時間がS47で算出した合計再生時間と同じか否かを判断し、合計再生時間がS47で算出した合計再生時間と同じになるまでコンテンツの選択を繰り返す。なお、コンテンツを選択して合計再生時間がS47で算出した合計再生時間を所定時間(許容範囲の数秒)以上オーバーしてしまった場合、最後に選択したコンテンツ(および必要に応じてもう1つ前に選択したコンテンツ)を別のコンテンツに選択し直し、再生時間と同一となるコンテンツを探し出して選択するとよい。
【0057】
制御部1は、選択した複数のコンテンツをサブクライアントの再生コンテンツリストに含める(S49)。図6に示すように、例えば、再生番号が9〜18のコンテンツがサーバ200Bのコンテンツリストから選択され、サブクライアントの再生コンテンツリストに含められており、再生時間の合計は図5のメインクライアントのサーバ200Bの残りの再生時間の合計と同じ47分00秒となっている。
【0058】
制御部1は、メインクライアントの再生コンテンツリストに登録されている全サーバ200について上記の処理を実行したか否かを判断する(S50)。未だ全てのサーバについて上記処理を実行していない場合(S50でNO)、S47に戻って、メインクライアントの再生コンテンツリストの次のサーバ200を選択し、上記の処理を継続する。一方、全てのサーバ200について上記処理を実行し終えると(S50でYES)、サブクライアントの再生コンテンツリストの生成処理が終了する。制御部1は、生成した再生コンテンツリストの再生番号の順にコンテンツをサーバ200から取得して再生する(S51)。
【0059】
以上の処理によって、メインクライアントと、1又は複数のサブクライアントとでは全てが、同じ時刻に同じサーバ200からコンテンツを受信して再生することができる。従って、クライアントにコンテンツを送信するサーバ200を1つのサーバ200に集中させることができので、他のサーバ200を電源オン状態からスタンバイ状態にすることができ、コンテンツ再生システム全体の消費電力を低減することができる。
【0060】
次に本発明の別の好ましい実施形態を説明する。メインクライアントがネットワークから離脱する(例えば、ネットワーク接続を切断する、又は、電源オフ状態(シャットダウン)になる)場合、メインクライアントが存在しなくなり、その後、新たなクライアントがネットワークに接続されたときに、メインクライアントから再生コンテンツリストと現在の再生位置の情報とを取得することが出来なくなる。そこで、本実施形態では、メインクライアントは、ネットワークから離脱する場合に、サブクライアントの1つにメインクライアントとしての機能を引き継ぐ。
【0061】
図10は本実施形態の処理を示すフローチャートである。メインクライアントの制御部1は、ネットワークを離脱するか否かを判断する(S61)。ネットワークを離脱する場合(S61でYES)、メインクライアントの制御部1は、ネットワーク上にサブクライアントが存在するか否かを判断する(S62)。サブクライアントが存在するか否かは、メインクライアント自身がネットワーク上に存在しているサブクライアントの情報(クライアント名及びIPアドレス)を管理していているので、当該管理情報を参照すると良い。サブクライアントが存在しなければ(S62でNO)、メインクライアントとしての機能を引き継ぐことができないので、メインクライアントの制御部1は、そのままネットワークから離脱し(S65)、処理を終了する。
【0062】
サブクライアントが存在する場合(S62でYES)、メインクライアントの制御部1は、ネットワークに接続されている1または複数のサブクライアントの中から任意のサブクライアントを1つ選択する(S63)。メインクライアントの制御部1は、選択したサブクライアントに対してメインクライアントとしての機能を引き継ぐ指示を送信する(S64)。そして、メインクライアントの制御部1は、ネットワークから離脱する(S65)。サブクライアントの制御部1は、当該指示を受信すると(S71でYES)、メインクライアントになるように設定する(S72)。サブクライアントとメインクライアントとは同じ時刻に同じサーバからコンテンツを取得するように各再生コンテンツリストが生成されているので、メインクライアントの機能が別のクライアントに引き継がれても他のサブクライアントのコンテンツ再生に支障をきたさない。従って、以後、新たなクライアントがネットワークに接続し、コンテンツ再生を開始する場合には、新たなメインクライアントから再生コンテンツリストを取得して、自身の再生コンテンツリストを生成することができる。
【0063】
なお、本発明のさらに別の好ましい実施形態においては、メインクライアントがネットワークを離脱する場合だけでなく、メインクライアントがコンテンツの再生を停止する場合にも、メインクライアントの機能をいずれか1つのサブクライアントに引き継ぐ処理を実行する。これは、メインクライアントがコンテンツの再生を停止しており、メインクライアントの現在の再生位置が更新されないので、新たにネットワークに接続されたサブクライアントがメインクライアントから現在の再生位置の情報を取得することが出来なくなるからである。この場合の処理は、図10のS61の判断処理が「コンテンツの再生を停止するか」に変更されるだけであり、その他の処理は同じである。
【0064】
しかしながら、メインクライアントがコンテンツの再生を停止した場合であっても、メインクライアントが現在の再生位置を更新し続けるような場合には、メインクライアントは、新たにネットワークに接続されたサブクライアントに現在の再生位置の情報を送信することができるので、メインクライアントとしての機能をサブクライアントのいずれかに引き継ぐ必要はない。
【0065】
次に本発明のさらに別の好ましい実施形態を説明する。クライアントがコンテンツの再生を停止(一時停止の意味を含む)した後、少し時間が経過した後に再度、同じ再生コンテンツリストを使用して再生を停止したコンテンツの再生位置からコンテンツの再生を開始すると、他のクライアントがコンテンツを取得するサーバと異なるサーバからコンテンツを取得する場合が生じる。この問題を解決するためには、本実施形態においては、クライアントがコンテンツの再生を再開するときに、メインクライアントの現在の再生位置の情報をメインクライアントから取得し、その情報に基づいて、再生を開始すべきコンテンツの位置を特定する。
【0066】
図11に示すように、サブクライアントの制御部1は、ユーザ操作によってコンテンツの再生を停止する指示が入力されたか否かを判断する(S81)。入力された場合(S81でYES)、制御部1は、コンテンツの再生を停止する(S82)。その後、制御部1は、ユーザ操作によってコンテンツの再生を開始する指示が入力されたか否かを判断する(S83)。入力された場合(S83でYES)、制御部1は、メインクライアントに、メインクライアントの現在の再生位置を要求する。メインクライアントは、この要求に応じて、現在の再生位置の情報をサブクライアントに送信する。サブクライアントの制御部1は、メインクライアントの現在の再生位置を受信し、RAM2に保存する(S84)。
【0067】
サブクライアントの制御部1は、メインクライアントが現在再生中のコンテンツの残り再生時間を算出する(S85)。例えば、図5のメインクライアントの再生コンテンツリストにおいて、メインクライアントの現在の再生位置は再生番号8のコンテンツA7の3分23秒の位置である。そして、コンテンツA7の総再生時間は5分23秒である。従って、コンテンツA7の残り再生時間は、2分00秒と算出される。
【0068】
制御部1は、メインクライアントが現在再生中のコンテンツを格納するサーバ200と同じサーバ200から、メインクライアントがこのあと連続して受信して再生するコンテンツの合計再生時間を算出する(S86)。図5の例では、現在再生中のコンテンツA7を格納するサーバ200がサーバ200Aであり、再生コンテンツリストにおいてコンテンツA7に連続するサーバ200Aのコンテンツとして、再生番号が9〜10番目の2つのコンテンツ(コンテンツA10、A5)が特定される。これらの合計再生時間は、8分29秒である。
【0069】
制御部1は、S85で算出した現在再生中のコンテンツの残り再生時間と、S86で算出した現在再生中のコンテンツと同じサーバ200からのコンテンツを連続再生する合計再生時間とを加算して、現在再生中のコンテンツを格納するサーバ200から現時点以降に連続してコンテンツを受信する合計再生時間を算出する(S87)。上記の例では、2分00秒に8分29秒が加算されて、10分29秒となる。なお、実際には、サブクライアントがコンテンツを再生開始するまでに要する時間(例えば30秒)だけ、この合計再生時間から減算する必要があるが、以下の説明では簡単化のために仮にこの時間を0として説明する。
【0070】
制御部1は、メインクライアントが現在再生中のコンテンツを格納するサーバ200(本例ではサーバ200A)のコンテンツリストの中から、残り再生時間の合計がS87で算出した合計再生時間と同じ(但し、完全に同じにならない場合には数秒程度の差が生じても良い。)になるように、再生すべきコンテンツの位置を特定する(S88)。図6の例では、サーバ200Aのコンテンツの残り再生時間を10分29秒とするためには、再生開始位置を、再生番号が6のコンテンツA101の2:57に特定すればよい。
【0071】
そして、制御部1は、特定したコンテンツの再生位置からコンテンツの再生を開始する(S89)。以上の処理によって、サブクライアントがコンテンツの再生を停止した後、再度コンテンツの再生を開始する場合でも、同じ時間帯に他のクライアントと同じサーバからコンテンツを取得することができる。
【0072】
次に、メインクライアントがコンテンツの再生を停止した後、再度コンテンツの再生を開始する場合の処理を、図12を参照して説明する。メインクライアントの制御部1は、ユーザ操作によってコンテンツの再生を停止する指示が入力されたか否かを判断する(S91)。入力された場合(S91でYES)、制御部1は、コンテンツの再生を停止する(S92)。
【0073】
コンテンツの再生を停止した場合、通常であれば現在の再生位置は更新されない。しかし、本実施形態においてはコンテンツの再生を停止した場合でも、制御部1は、現在のコンテンツの再生位置のみ更新し続ける(S93)。
【0074】
制御部1は、ユーザ操作によってコンテンツの再生を開始する指示が入力されたか否かを判断する(S94)。入力されない場合(S94でNO)、処理はS93に戻る。入力された場合(S94でYES)、制御部1は、S93で更新し続けたコンテンツの現在の再生位置からコンテンツの再生を開始する(S95)。従って、メインクライアントは、コンテンツの再生を停止し、その後、再生を再開してもその再生位置は、再生を停止しなかった場合と同じになる。従って、再生コンテンツリストにおいて、メインクライアントがコンテンツを取得するサーバが、サブクライアントがコンテンツを取得するサーバと異なってしまうことを防止することができる。
【0075】
なお、サブクライアントも図11の処理に代えて図12の処理を実行してもよい。
【0076】
以上、本発明の好ましい実施形態を説明したが、本発明はこれらの実施形態には限定されない。上記のクライアント又はサーバをコンピュータに実行させるためのコンピュータプログラムまたはそのコンピュータプログラムを記録した記録媒体という形態で提供されてもよい。
【産業上の利用可能性】
【0077】
本発明は、複数のクライアントと複数のサーバとを有するコンテンツ再生システムに好適に採用され得る。
【符号の説明】
【0078】
100 クライアント
1 制御部
2 RAM
3 ROM
4 再生部
5 通信部
6 表示部
7 操作部
200 サーバ
11 制御部
12 RAM
13 ROM
14 HDD
15 通信部
16 表示部
17 操作部
【特許請求の範囲】
【請求項1】
複数のサーバと、複数の前記サーバとネットワーク経由で接続可能な複数のクライアントとを備えるコンテンツ再生システムであって、
前記各サーバが、
複数のコンテンツを記録するためのコンテンツ記憶部と、
前記クライアントからの指示に応じて、指定されたコンテンツを前記クライアントに送信するコンテンツ送信手段とを有し、
前記各クライアントが、
各クライアントが同時に同じ前記サーバからそれぞれ異なるコンテンツを受信して再生するように複数の前記サーバのコンテンツを再生順に列挙した再生コンテンツリストを生成するリスト生成手段と、
再生コンテンツリストに列挙された順番に、前記サーバからコンテンツを受信して再生する再生手段とを有する、コンテンツ再生システム。
【請求項2】
複数のサーバと、複数の前記サーバとネットワーク経由で接続可能な複数のクライアントとを備えるコンテンツ再生システムであって、
前記各サーバが、
複数のコンテンツを記録するためのコンテンツ記憶部と、
前記クライアントからの指示に応じて、指定されたコンテンツを前記クライアントに送信するコンテンツ送信手段とを有し、
前記複数のクライアントが、1つのメインクライアントと、1又は複数のサブクライアントとを含み、
前記メインクライアントが、
前記各サーバのコンテンツリストに基づいて、同一サーバから所定時間以上又は所定コンテンツ数以上連続してコンテンツを受信するように、複数の前記サーバのコンテンツを再生順に列挙したメインクライアントの再生コンテンツリストを生成する第1リスト生成手段と、
メインクライアントの再生コンテンツリストに列挙された順番に、前記サーバからコンテンツを受信して再生する第1再生手段とを有し、
前記サブクライアントが、
メインクライアントの再生コンテンツリストを参照し、前記メインクライアントが同一サーバから連続してコンテンツを受信する時間と同じ時間分の当該サーバのコンテンツを選択して、選択したコンテンツをサブクライアントの再生コンテンツリストに含めることにより、前記サブクライアントが前記メインクライアントと同時に同じ前記サーバからコンテンツを受信して再生するように、複数の前記サーバのコンテンツを再生順に列挙したサブクライアントの再生コンテンツリストを生成する第2リスト生成手段と、
前記サブクライアントの再生コンテンツリストに列挙された順番に、前記サーバからコンテンツを受信して再生する第2再生手段とを有する、コンテンツ再生システム。
【請求項3】
最初にコンテンツを再生開始する前記クライアントが前記メインクライアントになり、前記メインクライアントが存在している状態でコンテンツを再生開始する前記クライアントが前記サブクライアントになる、請求項2に記載のコンテンツ再生システム。
【請求項4】
前記メインクライアントが、
ネットワークから離脱する場合、前記メインクライアントとしての機能を引き継ぐように1つの前記サブクライアントに引継指示を送信する手段をさらに有し、
前記サブクライアントが、
前記メインクライアントから引継指示を受信した場合に、前記メインクライアントとしての機能を引き継いで前記メインクライアントになる、請求項2または3に記載のコンテンツ再生システム。
【請求項5】
前記メインクライアントが、
ユーザ操作に応じてコンテンツの再生を停止する手段と、
コンテンツの再生を停止した場合であっても、コンテンツの現在の再生位置のみを更新し続ける更新手段と、
ユーザ操作に応じてコンテンツの再生を開始する場合、前記更新手段によって更新されているコンテンツの現在の再生位置からコンテンツの再生を開始する再生再開手段とをさらに有する、請求項2〜4のいずれかに記載のコンテンツ再生システム。
【請求項6】
前記サブクライアントが、
ユーザ操作に応じてコンテンツの再生を停止する手段と、
ユーザ操作に応じてコンテンツの再生を開始する場合、前記メインクライアントの現在の再生位置の情報を前記メインクライアントから取得する手段と、
取得された前記メインクライアントの現在の再生位置の情報に基づいて、前記サブクライアントの再生コンテンツリストにおける再生再開位置を特定する手段とをさらに有し、
前記第2再生手段が、特定された再生再開位置からコンテンツの再生を開始する、請求項2〜5のいずれかに記載のコンテンツ再生システム。
【請求項7】
前記各サーバのうち、前記各クライアントのいずれかにコンテンツを送信している前記サーバのみが電源オン状態になっており、前記クライアントのいずれにもコンテンツを送信していない前記サーバが電源オフ状態になっている、請求項1〜6のいずれかに記載のコンテンツ再生システム。
【請求項1】
複数のサーバと、複数の前記サーバとネットワーク経由で接続可能な複数のクライアントとを備えるコンテンツ再生システムであって、
前記各サーバが、
複数のコンテンツを記録するためのコンテンツ記憶部と、
前記クライアントからの指示に応じて、指定されたコンテンツを前記クライアントに送信するコンテンツ送信手段とを有し、
前記各クライアントが、
各クライアントが同時に同じ前記サーバからそれぞれ異なるコンテンツを受信して再生するように複数の前記サーバのコンテンツを再生順に列挙した再生コンテンツリストを生成するリスト生成手段と、
再生コンテンツリストに列挙された順番に、前記サーバからコンテンツを受信して再生する再生手段とを有する、コンテンツ再生システム。
【請求項2】
複数のサーバと、複数の前記サーバとネットワーク経由で接続可能な複数のクライアントとを備えるコンテンツ再生システムであって、
前記各サーバが、
複数のコンテンツを記録するためのコンテンツ記憶部と、
前記クライアントからの指示に応じて、指定されたコンテンツを前記クライアントに送信するコンテンツ送信手段とを有し、
前記複数のクライアントが、1つのメインクライアントと、1又は複数のサブクライアントとを含み、
前記メインクライアントが、
前記各サーバのコンテンツリストに基づいて、同一サーバから所定時間以上又は所定コンテンツ数以上連続してコンテンツを受信するように、複数の前記サーバのコンテンツを再生順に列挙したメインクライアントの再生コンテンツリストを生成する第1リスト生成手段と、
メインクライアントの再生コンテンツリストに列挙された順番に、前記サーバからコンテンツを受信して再生する第1再生手段とを有し、
前記サブクライアントが、
メインクライアントの再生コンテンツリストを参照し、前記メインクライアントが同一サーバから連続してコンテンツを受信する時間と同じ時間分の当該サーバのコンテンツを選択して、選択したコンテンツをサブクライアントの再生コンテンツリストに含めることにより、前記サブクライアントが前記メインクライアントと同時に同じ前記サーバからコンテンツを受信して再生するように、複数の前記サーバのコンテンツを再生順に列挙したサブクライアントの再生コンテンツリストを生成する第2リスト生成手段と、
前記サブクライアントの再生コンテンツリストに列挙された順番に、前記サーバからコンテンツを受信して再生する第2再生手段とを有する、コンテンツ再生システム。
【請求項3】
最初にコンテンツを再生開始する前記クライアントが前記メインクライアントになり、前記メインクライアントが存在している状態でコンテンツを再生開始する前記クライアントが前記サブクライアントになる、請求項2に記載のコンテンツ再生システム。
【請求項4】
前記メインクライアントが、
ネットワークから離脱する場合、前記メインクライアントとしての機能を引き継ぐように1つの前記サブクライアントに引継指示を送信する手段をさらに有し、
前記サブクライアントが、
前記メインクライアントから引継指示を受信した場合に、前記メインクライアントとしての機能を引き継いで前記メインクライアントになる、請求項2または3に記載のコンテンツ再生システム。
【請求項5】
前記メインクライアントが、
ユーザ操作に応じてコンテンツの再生を停止する手段と、
コンテンツの再生を停止した場合であっても、コンテンツの現在の再生位置のみを更新し続ける更新手段と、
ユーザ操作に応じてコンテンツの再生を開始する場合、前記更新手段によって更新されているコンテンツの現在の再生位置からコンテンツの再生を開始する再生再開手段とをさらに有する、請求項2〜4のいずれかに記載のコンテンツ再生システム。
【請求項6】
前記サブクライアントが、
ユーザ操作に応じてコンテンツの再生を停止する手段と、
ユーザ操作に応じてコンテンツの再生を開始する場合、前記メインクライアントの現在の再生位置の情報を前記メインクライアントから取得する手段と、
取得された前記メインクライアントの現在の再生位置の情報に基づいて、前記サブクライアントの再生コンテンツリストにおける再生再開位置を特定する手段とをさらに有し、
前記第2再生手段が、特定された再生再開位置からコンテンツの再生を開始する、請求項2〜5のいずれかに記載のコンテンツ再生システム。
【請求項7】
前記各サーバのうち、前記各クライアントのいずれかにコンテンツを送信している前記サーバのみが電源オン状態になっており、前記クライアントのいずれにもコンテンツを送信していない前記サーバが電源オフ状態になっている、請求項1〜6のいずれかに記載のコンテンツ再生システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2013−58817(P2013−58817A)
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【出願番号】特願2011−194440(P2011−194440)
【出願日】平成23年9月6日(2011.9.6)
【出願人】(710014351)オンキヨー株式会社 (226)
【Fターム(参考)】
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【出願日】平成23年9月6日(2011.9.6)
【出願人】(710014351)オンキヨー株式会社 (226)
【Fターム(参考)】
[ Back to top ]