説明

制御装置、再生制御方法、再生制御プログラム、再生装置、再生方法、再生プログラム及び制御システム

【課題】サーバからコンテンツを受信して再生する再生装置に対してコンテンツの再生を確実且つ迅速に開始させ得る適切な再生開始時刻を指定できるようにする。
【解決手段】制御装置13が、サーバ11と再生装置12との間の通信状況をもとに再生装置12での準備時間を予測して、当該再生装置12に指定するコンテンツの再生開始時刻を現在から予測した準備時間後の時刻とすることにより、サーバ11と再生装置12との間の通信状況によって再生装置12での準備時間が変わろうとも、再生装置12に対してそのときの準備が完了した時刻となる再生開始時刻を指定することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、再生制御方法、再生制御プログラム、再生装置、再生方法、再生プログラム及び制御システムに関し、例えば、コンテンツの再生を制御する際に適用して好適なものである。
【背景技術】
【0002】
近年、ネットワーク接続された複数の再生機器が同時刻に同一のコンテンツを再生する同期再生システムがある(例えば特許文献1参照)。
【0003】
この種の同期再生システムを利用して、例えば、家庭内の各部屋に再生機器を設置すれば、ホームパーティのときなどに各部屋に同一のコンテンツを流すようなことができる。
【0004】
実際上、図1に示すように、この種の同期再生システム1は、例えば、複数のオーディオ機器Ap(Ap1〜Ap3)と、これら複数のオーディオ機器Ap(Ap1〜Ap3)による同期再生を制御する制御装置2と、音楽データを蓄積しているサーバ3とで構成される。これら複数のオーディオ機器Ap(Ap1〜Ap3)と、制御装置2と、サーバ3とは、通信可能に接続されている。尚、ここでは、制御装置2をHost2とも呼び、オーディオ機器Ap(Ap1〜Ap3)をGuestAp(Ap1〜Ap3)とも呼ぶ。
【0005】
具体的に同期再生を行う場合、まずHost2は、各GuestApに再生させる音楽データに関する情報(これを楽曲情報とも呼ぶ)をサーバ3から取得する(図中の矢印Ar1で示す)。
【0006】
次に、Host2は、各GuestApに対し、再生させる音楽データの楽曲情報を送ることで再生させる音楽データを指定すると共に、指定の時刻(例えば10秒後)にその音楽データの再生を開始するよう命令する(図中の矢印Ar2で示す)。
【0007】
このような命令を受けた各GuestApは、サーバ3から指定の音楽データを受信して再生の準備を行う(図中の矢印Ar3で示す)。そして指定の時刻になると、各GuestApは、その音楽データの再生を開始する。
【0008】
因みに、この場合の再生は、ストリーミング再生(音楽データの受信し終えた部分から再生)でもダウンロード再生(音楽データの全部分を受信し終えてから再生)でもよい。
【0009】
このようにしてこの同期再生システム1は、複数のGuestApによる同期再生を実現している。
【特許文献1】特開2007−13705号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
ところで、上述した同期再生システム1で、各GuestApに対し、指定の時刻に指定の音楽データの再生を開始させるには、少なくともその時刻までに各GuestApが指定の音楽データの再生準備を完了していなければならない。
【0011】
ここで、問題となるのが、指定の音楽データの再生準備に要する時間(つまり指定の音楽データを受信して再生を開始するまでに要する時間であり、これを準備時間とも呼ぶ)が各GuestApの設置環境などにより変わる点である。
【0012】
例えば、各GuestApが家庭内の異なる部屋に設置され、無線LAN(Local Area Network)によりサーバ3に接続されているとする。このような環境では、一般的に、家の間取り、部屋の壁の材質、遮蔽物の有無などに起因して無線の通信状況が変化することにより、各GuestApとサーバ3との間の通信速度が変化する。
【0013】
この結果、各GuestApで音楽データの受信に要する時間が異なり、各GuestApで準備時間が異なるような状況が起こり得る。
【0014】
ゆえに、Host2側では、このような状況を考慮しつつ、各GuestApに指示する音楽データの再生開始時刻を、各GuestApの全てで再生準備が完了した時刻以降に設定する必要がある。
【0015】
しかしながら、従来の同期再生システム1では、Host2側で、環境により変化する各GuestApでの準備時間を正確に予測することができない。
【0016】
そこで従来の同期再生システム1では、一般的な環境で想定されるGuestApの準備時間(例えば10秒)を、各GuestApで共通且つ固定の準備時間とする。
【0017】
そしてHost2は、各GuestApで音楽データを同期再生させる場合、現在からこの一般的な環境で想定される準備時間経過後の時刻(例えば10秒後)を、音楽データの再生開始時刻として各GuestApに指示するようになっている。
【0018】
ところが、このように、一般的な環境で想定される準備時間をもとに、音楽データの再生開始時刻を固定的に設定すると、通信状況によっては、各GuestApでの同期再生を実現できない場合がある。
【0019】
例えば、GuestAp1とサーバ3との間の通信状況が悪化して、GuestAp1での準備時間が一般的な環境で想定される準備時間を超えたとする。すると、このGuestAp1は、Host2が設定した再生開始時刻になっても、指定の音楽データの再生を開始することができず、結果として、同期再生を失敗する。
【0020】
また同期再生の失敗を回避するために再生開始時刻を予め長めに設定しておくことも考えられるが、この場合、各GuestApが再生を開始するまでの時間が長くなり、結果として同期再生を迅速に行うことができなくなる。特に、通信状況が良好である場合、各GuestApでは、再生準備が完了しても再生開始時刻まで無駄に待つことになる。
【0021】
このように、従来の技術では、サーバ3から音楽データを受信して再生するGuestApに対し、音楽データの再生を確実且つ迅速に開始させ得る適切な再生開始時刻を指定することができなかった。
【0022】
本発明は以上の点を考慮してなされたもので、サーバからコンテンツを受信して再生する再生装置に対してコンテンツの再生を確実且つ迅速に開始させ得る適切な再生開始時刻を指定し得る制御装置、再生制御方法、再生制御プログラム、再生装置、再生方法、再生プログラム及び制御システムを提案しようとするものである。
【課題を解決するための手段】
【0023】
かかる課題を解決するため本発明の制御装置においては、コンテンツを記憶しているサーバと当該サーバからコンテンツを受信して再生する再生装置との間の通信状況を示す通信状況情報を当該再生装置から受信する通信部と、受信した通信状況情報を用いて、再生装置がサーバからコンテンツを受信して再生を開始するまでに要する準備時間を予測する準備時間予測部と、再生装置にコンテンツの再生を開始させる再生開始時刻を現在から予測した準備時間後の時刻とする開始時刻設定部と、通信部を制御して開始時刻設定部が設定した再生開始時刻を示す再生開始時刻情報を再生装置に送信させる制御部とを設けるようにした。
【0024】
また本発明の制御システムにおいては、コンテンツを記憶しているサーバと当該サーバからコンテンツを受信して再生する再生装置との間の通信状況を示す通信状況情報を再生装置から受信する通信部と、受信した通信状況情報を用いて、再生装置がサーバからコンテンツを受信して再生を開始するまでに要する準備時間を予測する準備時間予測部と、再生装置にコンテンツの再生を開始させる再生開始時刻を、現在から、予測した準備時間後の時刻とする開始時刻設定部と、通信部を制御して、開始時刻設定部が設定した再生開始時刻を示す再生開始時刻情報を再生装置に送信させる制御部とを有する制御装置と、サーバからコンテンツを受信する通信部と、サーバから受信したコンテンツを再生する再生部と、サーバと通信部との間の通信状況を検出する通信状況検出部と、通信部を制御して、通信状況検出部が検出した通信状況を示す通信状況情報を、制御装置に送信させ、当該制御装置から送信される再生開始時刻情報を受信させ、さらに再生部を制御して、当該再生開始時刻情報が示す再生開始時刻にコンテンツを再生させる制御部とを有する再生装置とを設けるようにした。
【0025】
このように、制御装置が、サーバと再生装置との間の通信状況をもとに再生装置での準備時間を予測して、当該再生装置に指定するコンテンツの再生開始時刻を現在から予測した準備時間後の時刻としたことにより、サーバと再生装置との間の通信状況によって再生装置での準備時間が変わろうとも、常に、再生装置に対してそのときの準備が完了した時刻となる再生開始時刻を指定することができる。
【0026】
さらに本発明の再生装置においては、サーバからコンテンツを受信する通信部と、サーバから受信したコンテンツを再生する再生部と、サーバと通信部との間の通信状況を検出する通信状況検出部と、通信部を制御して、通信状況検出部が検出した通信状況を示す通信状況情報を、通信部がサーバからコンテンツを受信して再生部が当該コンテンツの再生を開始するまでに要する準備時間を通信状況情報を用いて予測してコンテンツの再生開始時刻を現在から当該準備時間後の時刻とする制御装置に送信させ、当該制御装置から送信される当該制御装置が設定した再生開始時刻を示す再生開始時刻情報を受信させ、さらに再生部を制御して、当該再生開始時刻情報が示す再生開始時刻にコンテンツを再生させる制御部とを設けるようにした。
【0027】
このように、再生装置が、制御装置にサーバと通信部との間の通信状況を示す通信状況情報を送信して、当該制御装置により現在から当該通信状況をもとに予測された準備時間後の時刻が再生開始時刻として示された再生開始時刻情報を受信して、当該再生開始時刻情報が示す再生開始時刻にコンテンツを再生するようにしたことにより、サーバと通信部との間の通信状況によってコンテンツを再生するまでに要する準備時間が変わろうとも、そのときの準備が完了した時刻となるよう指定された再生開始時刻にコンテンツを再生することができる。
【発明の効果】
【0028】
本発明によれば、サーバと再生装置との間の通信状況によって再生装置での再生するまでに要する準備時間が変わろうとも、再生装置に対して常にそのときの準備が完了した時刻となる再生開始時刻を指定することができる。またサーバと通信部との間の通信状況によってコンテンツを再生するまでに要する準備時間が変わろうとも、常にそのときの準備時間後の時刻となるよう指定された再生開始時刻にコンテンツを再生することができる。かくして、サーバからコンテンツを受信して再生する再生装置に対してコンテンツの再生を確実且つ迅速に開始させ得る適切な再生開始時刻を指定し得る制御装置、再生制御方法、再生制御プログラム、再生装置、再生方法、再生プログラム及び制御システムを実現できる。
【発明を実施するための最良の形態】
【0029】
以下、図面について、本発明の実施の形態を詳述する。
【0030】
(1)第1の実施の形態
(1−1)第1の実施の形態の概要
まず、第1の実施の形態の概要を説明する。ちなみにこの概要を説明した後、第1の実施の形態の具体例の説明に移る。
【0031】
図2において10は、コンテンツの再生を制御する制御システム10を示す。この制御システム10は、音楽データなどのコンテンツを蓄積しているサーバ11と、サーバ11からコンテンツを受信して再生する再生装置12と、この再生装置12によるコンテンツの再生を制御する制御装置13とで構成される。これらサーバ11と、再生装置12と、制御装置13とは通信可能に接続されている。
【0032】
制御装置13は、通信部20と、準備時間予測部21と、開始時刻設定部22と、制御部23とを有している。
【0033】
通信部20は、サーバ11と再生装置12との間の通信状況を示す通信状況情報を再生装置12から受信するようになっている。
【0034】
準備時間予測部21は、受信した通信状況情報を用いて、再生装置12がサーバ11からコンテンツを受信して再生を開始するまでに要する準備時間を予測するようになっている。開始時刻設定部22は、再生装置12にコンテンツの再生を開始させる再生開始時刻を現在から予測した準備時間後の時刻とするようになっている。
【0035】
制御部23は、通信部20を制御して開始時刻設定部22が設定した再生開始時刻を示す再生開始時刻情報を再生装置12に送信させるようになっている。
【0036】
このような構成により制御装置13は、サーバ11と再生装置12との間の通信状況によって再生装置12での準備時間が変わろうとも、常に、再生装置12に対してそのときの準備が完了した時刻となる再生開始時刻を指定することができる。
【0037】
一方、再生装置12は、通信部30と、再生部31と、通信状況検出部32と、制御部33とを有している。
【0038】
通信部30は、サーバ11からコンテンツを受信するようになっている。再生部31は、サーバ11から受信したコンテンツを再生するようになっている。通信状況検出部32は、サーバ11と通信部30との間の通信状況を検出するようになっている。
【0039】
制御部33は、通信部30を制御して通信状況検出部32が検出した通信状況を示す通信状況情報を制御装置13に送信させるようになっている。また制御部33は、通信部30を制御して制御装置13から送信されてくる再生開始時刻を示す再生開始時刻情報を受信させるようになっている。さらに制御部33は、再生部31を制御して受信した再生開始時刻情報が示す再生開始時刻にコンテンツを再生させるようになっている。
【0040】
このような構成により再生装置12は、サーバ11と通信部30との間の通信状況によってコンテンツを再生するまでに要する準備時間が変わろうとも、そのときの準備が完了した時刻となるよう指定された再生開始時刻にコンテンツを再生することができる。
【0041】
かくしてこの制御システム10によれば、サーバ11からコンテンツを受信して再生する再生装置12に対してコンテンツの再生を確実且つ迅速に開始させ得る適切な再生開始時刻を指定することができる。
【0042】
またここでは、制御システム10を、サーバ11と1台の再生装置12と制御装置13とで構成するようにしたが、サーバ11と複数の再生装置12と制御装置13とで構成するようにしてもよい。
【0043】
このとき制御装置13は、各再生装置12から送信されてくる通信状況情報を用いて各再生装置12で必要なコンテンツ再生の準備時間を予測する。そして制御装置13は、各再生装置12に対して、予測した準備時間後の時刻となる再生開始時刻を示す再生開始時刻情報を送信する。
【0044】
このように制御装置13は、複数の再生装置12が存在する場合、複数の再生装置12のそれぞれに対して個別にコンテンツ再生の準備が完了した時刻となる再生開始時刻を指定することができる。
【0045】
さらにこのとき、制御装置13が、各再生装置12に対して同一のコンテンツを再生するよう指示すると共に、現在から再生装置12ごとに予測した準備時間のうちの最長の準備時間後の時刻(つまり複数の再生装置12の全てで準備が完了する時刻)を各再生装置4で共通の再生開始時刻として設定するようにしてもよい。
【0046】
このようにすれば、制御装置13は、複数の再生装置12の全てで確実にコンテンツの再生を開始できる同一時刻に、複数の再生装置12の全てに対して同一のコンテンツの再生を迅速に開始させることができる。つまり制御装置13は、複数の再生装置12に対して確実且つ迅速に同期再生させることもできる。
【0047】
(1−2)第1の実施の形態の具体例
つづけて、第1の実施の形態の具体例を説明する。
【0048】
(1−2−1)同期再生システムの構成
図3において、40は全体として上述した制御システム10の具体例である同期再生システムを示す。
【0049】
この同期再生システム40は、複数の再生装置Ap(Ap10〜Ap12)と、これら複数の再生装置Ap(Ap10〜Ap12)によるコンテンツの同期再生を制御する制御装置41と、コンテンツ(例えば音楽データ)を蓄積しているサーバ42とで構成される。これら複数の再生装置Ap(Ap10〜Ap12)と、制御装置41と、サーバ42とは無線LAN(Local Area Network)により通信接続されている。
【0050】
尚、ここでは、制御装置41をHost41とも呼び、再生装置Ap(Ap10〜Ap12)をGuestAp(Ap10〜Ap12)とも呼ぶ。
【0051】
具体的に同期再生を行う場合、まずHost41は、各GuestApに同期再生させる音楽データに関する楽曲情報をサーバ42から取得する(図中の矢印Ar10で示す)。
【0052】
次に、Host41は、各GuestApにこの楽曲情報を送ることで同期再生させる音楽データを指定する(図中の矢印Ar11で示す)。
【0053】
すると各GuestApは、サーバ42から、指定された音楽データの受信を開始して(図中の矢印Ar13で示す)再生の準備を行う。さらに各GuestApは、サーバ42との間の現在の通信状況を示す通信状況情報と前回の音楽データ再生時に要した準備時間を示す前回準備時間情報とをHost41に送る(図中の矢印Ar12で示す)。
【0054】
Host41は、各GuestApから今回送られてきた通信状況情報及び前回準備時間情報と前回送られてきた通信状況情報とを用いて、各GuestApでの今回の音楽データの再生に要する準備時間を予測する。さらにHost41は、現在からGuestAp毎に予測した準備時間のうちの最長の準備時間後の時刻(つまり各GuestApの全てで再生準備が完了する時刻)を各GuestApで共通の再生開始時刻として設定する。
【0055】
そしてHost41は、この再生開始時刻を示す再生開始時刻情報を、各GuestApに送る(図中の矢印Ar14で示す)。
【0056】
各GuestApは、再生開始時刻情報が示す再生開始時刻になると、指定された音楽データの再生を一斉に開始する(すなわち指定された音楽データの同期再生を行う)。
【0057】
このようにしてこの同期再生システム1では、音楽データの同期再生を行うようになっている。
【0058】
(1−2−2)制御装置(Host)及び再生装置(Guest)の機能構成
次に上述した同期再生システム40の主要部である、Host41及び各GuestApの機能構成について説明する。まずHost41の機能構成から説明する。
【0059】
図4に示すようにHost41は、通信部50と、準備時間予測部51と、開始時刻設定部52と、制御部53と、記憶部54と、操作部55と、表示部56とを有している。
【0060】
具体的にこのHost41では、制御部53が、通信部50を制御して、楽曲リスト(つまりサーバ42が蓄積している音楽データのリスト)を要求するリスト要求をサーバ42に送信する。
【0061】
この結果として、サーバ42から楽曲リストが送信されてくると、通信部50がこれを受信して制御部53に送る。制御部53は、この楽曲リストを表示部56に表示させる。
【0062】
このようにして表示部56に表示させた楽曲リストから同期再生させたい楽曲が操作部55を介して選択されると、制御部53は、通信部50を制御して、この楽曲に対応する音楽データの楽曲情報を要求する楽曲情報要求をサーバ42に送信する。
【0063】
この結果として、サーバ42から楽曲情報が送信されてくると、Host41は、通信部50でこれを受信して制御部53に送る。制御部53は、通信部50を制御して、この楽曲情報を各GuestApに送信することで、各GuestApに対して同期再生させる音楽データを指定する。
【0064】
このようにして楽曲情報を各GuestApに送信した後、各GuestApから通信状況情報及び前回準備時間情報が送信されてくると、通信部50がこれを受信して制御部53に送る。制御部53は、この通信状況情報及び前回準備時間情報を記憶部54に記憶する。
【0065】
準備時間予測部51は、記憶部54から各GuestApから今回送られてきた通信状況情報及び前回準備時間情報と、前回送られてきた通信状況情報とを取得して、これらを用いて各GuestApの準備時間を予測する。
【0066】
そして準備時間予測部51は、この予測した準備時間を開始時刻設定部52に送る。尚、この予測した準備時間を、以下、予測準備時間とも呼ぶ。
【0067】
開始時刻設定部52は、各GuestApの予測準備時間のうちの最長の予測準備時間を選択して、現在からこの最長の予測準備時間後の時刻(つまり複数のGuestApの全てで準備が完了する時刻)を各GuestApで共通の再生開始時刻として設定する。そして開始時刻設定部52は、この設定した再生開始時刻を制御部53に通知する。
【0068】
制御部53は、再生開始時刻が通知されると、この再生開始時刻を示す再生開始時刻情報を生成し、通信部50を制御してこの再生開始時刻情報を各GuestApに送信する。
【0069】
この結果、各GuestApは、再生開始時刻情報が示す再生開始時刻になると、指定された音楽データの再生を一斉に開始する(すなわち指定された音楽データの同期再生を行う)。
【0070】
このようにしてHost41は、複数のGuestAp(Ap10〜Ap12)による音楽データの同期再生を制御するようになっている。
【0071】
次にGuestApの機能構成について説明する。尚、各GuestAp(Ap10〜Ap12)は、それぞれ同一の機能構成であるとする。ゆえに、ここでは、一例として、GuestAp10の機能構成について説明する。
【0072】
図5に示すようにGuestAp10は、通信部60と、再生部61と、通信状況検出部62と、制御部63と、記憶部64と、操作部65と、表示部66とを有している。
【0073】
具体的にこのGuestAp10では、単独で音楽データを再生する単独再生時、例えば、制御部63が、通信部60を制御して、楽曲リストを要求するリスト要求をサーバ42に送信する。
【0074】
この結果として、サーバ42から楽曲リストが送信されてくると、通信部60がこれを受信して制御部63に送る。制御部63は、この楽曲リストを表示部66に表示させる。
【0075】
そして制御部63は、表示させた楽曲リストから再生させたい楽曲が操作部65を介して選択されると、通信部60を制御して、この楽曲に対応する音楽データを要求する音楽データ要求をサーバ42に送信することで、サーバ42からの音楽データの受信を開始する。この音楽データは、受信し終えた部分のデータから記憶部64に記憶される。
【0076】
その後、制御部63は、この音楽データの再生準備が完了するまで、すなわち記憶部64にこの音楽データの再生を開始するのに必要な量のデータが記憶されるまで待ち受ける。
【0077】
そして制御部63は、この音楽データの再生準備が完了すると、この音楽データを記憶部64から読み出して再生部61に送ることで、この音楽データの再生(ストリーミング再生)を再生部61に開始させる。
【0078】
またGuestAp10では、他のGuestApと同期して音楽データを再生する同期再生時、Host41から同期再生する音楽データの楽曲情報が送信されてくると、通信部60でこれを受信して制御部63に送る。
【0079】
制御部63は、通信部60を制御して、この楽曲情報に対応する音楽データ(つまり同期再生する音楽データ)を要求するデータ要求をサーバ42に送信することで、サーバ42から音楽データの受信を開始する。この音楽データは、受信し終えた部分のデータから記憶部64に記憶される。
【0080】
またこのとき制御部63は、通信状況検出部62により検出された現在の通信状況をこの通信状況検出部62から取得すると共に、前回の音楽データ再生時に要した準備時間を示す準備時間情報(これを前回準備時間情報とも呼ぶ)を記憶部64から読み出す。因みに、制御部63は、音楽データを再生するごとに、音楽データの再生準備に要した準備時間を計測して、この準備時間を示す準備時間情報を記憶部64に記憶するようになっている。
【0081】
そして制御部63は、通信部60を制御して、通信状況検出部62から取得した通信状況情報と、記憶部64から読み出した前回準備時間情報とをHost41に送る。
【0082】
この結果として、Host41から他のGuestApと共通の再生開始時刻情報が送信されてくると、GuestAp10は、通信部60でこれを受信して制御部63に送る。制御部63は、この再生開始時刻情報が示す再生開始時刻になるまで待ち受ける。
【0083】
ここでこの再生開始時刻は、上述したように、Host41により、GuestAp10で再生準備が完了する時刻と同じもしくはそれより後になるよう設定されている。
【0084】
そして制御部63は、再生開始時刻になると、音楽データを記憶部64から読み出して再生部61に送ることで、この音楽データの再生を再生部61に開始させる。
【0085】
つまり、GuestAp10は、他のGuestApと同時刻に同一の音楽データの再生を開始する。
【0086】
またGuestAp10の制御部63は、同期再生する音楽データの楽曲情報を受信してから、実際にこの音楽データの再生を開始するまでに要した時間(つまり準備時間)を計測するようになっている。
【0087】
そして制御部63は、この計測した準備時間を示す準備時間情報を記憶部64に記憶する。
【0088】
このようにしてGuestAp10は、Host41の制御のもと、他のGuestApと同期して音楽データを再生するようになっている。
【0089】
(1−2−3)再生開始時刻の設定
次に、Host41による再生開始時刻の設定について、さらに詳しく説明する。Host41は、上述したように、各GuestApでの準備時間を予測して、この予測結果から全てのGuestApで再生準備が完了する時刻を推定し、この時刻を再生開始時刻として設定するようになっている。
【0090】
ここで、各GuestApでの準備時間、すなわち各GuestApが音楽データの再生を開始するのに必要な量のデータをサーバ42から受信し終えるまでに要する時間は、各GuestApとサーバ42との間の通信状況により変化する。
【0091】
具体的に、各GuestApが、少なくともサーバ42からの電波が届く範囲内に設置されているとする。この場合、各GuestApでは、例えば、遮蔽物などにより、サーバ42からの電波の強さ(すなわち電界強度)が弱くなると、サーバ42から受信したデータを復調するのに必要なSN比(SNR:Signal to Noise Ratio)が低くなる。
【0092】
このようにSN比(SNRとも呼ぶ)が低くなると、データの誤り率が増え、例えば、サーバ42からGuestApに対してデータが再送されることにより、GuestApとサーバ42との間の実質的な通信速度(スループット)が低下する。
【0093】
この結果、各GuestApが音楽データの再生を開始するのに必要な量のデータをサーバ42から受信し終えるまでに要する時間(すなわち準備時間)が長くなる。
【0094】
このように、各GuestApでの準備時間は、SNRにより変化する。つまり、このSNRが、各GuestApとサーバ42との通信状況を示す情報であると言える。
【0095】
そこで、Host41は、各GuestApからSNRを取得し、このSNRを用いて、各GuestApでの準備時間を予測するようになっている。
【0096】
つまり、各GuestApは、通信部60が受信した信号のSNR(受信した信号の信号レベルとノイズレベルとの比)を、各GuestApとサーバ42との間の通信状況として通信状況検出部62で検出して、これをHost41に提供するようになっている。
【0097】
実際上、各GuestApの制御部63は、同期再生の準備として、サーバ42から音楽データの受信を開始すると、通信状況検出部62から現在のSNR(このとき通信部60がサーバ42から音楽データとして受信した信号のSNR)を取得する。
【0098】
そして、制御部63は、通信部60を制御して、図6に示すように、現在のSNRを示す通信状況情報(これを現在SNR情報とも呼ぶ)と、前回の準備時間を示す前回準備時間情報とをHost41に送信する。
【0099】
尚、図6は、GuestApの1つから送信される前回準備時間情報と現在SNR情報とを示す例であり、前回準備時間情報には、前回の準備時間が「6.0秒」であったこと、現在SNR情報には、現在のSNRが「45」であることが示された例である。ここで、SNRは、一般的に対数(デシベル)で表されるが、ここでは、例えば、その値を真数変換することで得られる、真数で表されたSNRを用いるようになっている。つまり、このSNRは、その値が大きいほど、通信状況が良好であることを意味する。
【0100】
Host41は、各GuestApから送信されてくる前回準備時間情報と現在SNR情報とを通信部50で受信する。Host41の制御部53は、通信部50で受信した前回時間情報と現在SNR情報とを、GuestApの識別情報であるIDに対応付けて記憶部54に記憶する。
【0101】
ここで、記憶部54には、図7に示すように、各GuestApから取得した情報(前回時間情報及び現在SNR情報)及びGuestApごとに予測した準備時間を示す予測準備時間情報などを管理するデータベースDbが構築されている。
【0102】
このデータベースDbは、GuestApのIDと、再生させる音楽データのコーデックを示すコーデック情報と、前回準備時間情報と、予測準備時間情報と、前回再生時のSNRを示す前回SNR情報と、現在SNR情報とで1つのデータを構成する。
【0103】
各データは、GuestApのIDとコーデック情報との組合せをキーとして、この組合せごとに管理される。
【0104】
例えば、IDが「1」のGuestApから、前回準備時間情報(例えば「6.0秒」)及び現在SNR情報(例えば「47」)を受信したとする。このとき、Host41の制御部53は、このID「1」と、今回このGuestApに同期再生させる音楽データのコーデック情報(例えば「MP3 128kbps」)との組合せを有するデータを、データベースDbから検索する。
【0105】
このデータが見付かると、制御部53は、このデータの前回SNR情報を、このデータの現在SNR情報(例えば「45」)で更新すると共に、このデータの前回準備時間情報及び現在SNR情報を、今回受信した前回準備時間情報(例えば「6.0秒」)及び現在SNR情報(例えば「47」)で更新する。
【0106】
この結果、データベースDbには、例えば、GuestApのIDが「1」、コーデック情報が「MP3 128kbps」、前回の準備時間が「6.0秒」、前回のSNRが「47」、今回のSNRが「45」であることを示すデータが格納される。
【0107】
同様にして制御部53は、他のIDのGuestApから取得した情報もデータベースDbに格納する。
【0108】
この結果、データベースDbには、各GuestApの今回の予測準備時間を算出するのに必要な、前回の準備時間、前回のSNR、今回のSNRを示すデータが格納されたことになる。
【0109】
因みに、データベースDbに格納するデータを、GuestApのIDと再生させる音楽データのコーデック情報との組合せごとに管理するようにした理由は、コーデックによって音楽データのデータ量が異なり、準備時間も異なるからである。
【0110】
このようにしてデータベースDbに格納した前回の準備時間、前回のSNR、今回のSNRを示すデータをもとに、準備時間予測部51は、各GuestApの今回の準備時間を予測する。
【0111】
準備時間予測部51は、まずデータベースDbから、GuestApごとに、今回再生させる音楽データのコーデック情報と同一のコーデック情報を有するデータを取得する。そして準備時間予測部51は、取得したデータが示す、前回の準備時間、前回のSNR、今回のSNRをもとに、各GuestApの今回の予測準備時間を算出する。
【0112】
具体的に、この予測準備時間は、この予測準備時間をt2、前回の準備時間をt1、前回のSNRをp−SNR、現在のSNRをc−SNRとすると、例えば、次式(1)により算出される。
【0113】
t2=t1×(p−SNR/c−SNR)……(1)
【0114】
このように準備時間予測部51は、前回再生時に実際に計測された準備時間(t1)に対して、前回のSNRを基準とした前回のSNRと現在のSNRとの比(p−SNR/c−SNR)で重み付けを行うことで、予測準備時間(t2)を算出するようになっている。
【0115】
例えば、現在のSNRが前回のSNRより大きく、前回と比べて通信状況が良くなっているとする。この場合、上述の比(p−SNR/c−SNR)が1未満となり、この比を前回準備時間に乗算することで、通信状況が良くなった分、前回の準備時間よりも短い予測準備時間が算出される。
【0116】
これに対して、現在のSNRが前回のSNR以下であり、前回と比べて通信状況が同じか悪化しているとする。この場合、上述の比(p−SNR/c−SNR)が1以上となり、この比を前回準備時間に乗算することで、前回と同じか通信状況が悪化した分、前回の準備時間よりも長い予測準備時間が算出される。
【0117】
因みに、GuestApに今回初めて音楽データを再生させる場合、Host41のデータベースDbには、このGuestApの前回SNR情報が存在しない。この場合、予測準備時間を算出することができない。そこで、Host41には、予めコーデック情報ごとに固定の予測準備時間(これを固定準備時間とも呼ぶ)が設定されている。
【0118】
そして準備時間予測部51は、データベースDbに前回SNR情報が存在しない場合、この固定準備時間を利用するようになっている。すなわち、準備時間予測部51は、今回再生させる音楽データのコーデック情報に対応する固定準備時間をそのまま今回の予測準備時間とする。尚、この固定準備時間は、現在の通信状況に依らず確実に準備が完了する時間となるように、例えば一般的な環境での準備時間よりも長めに設定されている。
【0119】
そして準備時間予測部51は、このようにしてGuestApごとに算出した予測準備時間を、GuestApのIDごとに、今回同期再生させる音楽データのコーデック情報を有するデータの予測準備時間情報として、データベースDbに格納する。
【0120】
この結果、データベースDbには、GuestApごとの今回の予測準備時間を示すデータが格納されたことになる。
【0121】
このようにしてデータベースDbに格納した今回の予測準備時間を示すデータをもとに、開始時刻設定部52は、各GuestApで共通の再生開始時刻を設定する。
【0122】
このとき開始時刻設定部52は、まず、データベースDbから、GuestApごとに算出した今回の予測準備時間のうちの最も長い予測準備時間(つまり最も準備に時間がかかるGuestApの予測準備時間)を取得する。
【0123】
そして開始時刻設定部52は、現在から、この最も長い予測準備時間(これを最長準備時間とも呼ぶ)後の時刻を各GuestApで共通の再生開始時刻として設定する。
【0124】
尚、ここでは、最長準備時間の予測誤差を考慮して、この最長準備時間に1.0以上の所定の係数(これを安全係数とも呼ぶ)を乗じるようになっている。つまり、再生開始時刻は、最長準備時間に安全係数を乗じた時間後の時刻に設定される。
【0125】
この再生開始時刻は、例えば、何時何分のような絶対的な時刻、もしくは何秒後のような相対的な時刻で表される。また安全係数は、例えば、一般的な無線LAN環境のもとで予測準備時間を算出した場合に生じる予測誤差に基づいてあらかじめHost41に設定されている。
【0126】
このようにしてHost41は、複数のGuestApに同期再生させる場合の再生開始時刻を設定するようになっている。
【0127】
このように、Host41は、各GuestApとサーバ42との通信状況を示すSNRを用いて各GuestApでの準備時間を予測することで、全てのGuestApで再生準備が完了する時刻を推定して、この時刻を再生開始時刻として設定するようになっている。
【0128】
こうすることで、Host41は、複数のGuestApの全てに対して確実且つ迅速に同一の音楽データの再生を同一時刻に開始させることができる。
【0129】
また、複数のGuestApによる同期再生に限らず、1台のGuestApに音楽データを単独再生させる場合にも、Host41は、上述した方法で再生開始時刻を設定することができる。
【0130】
この場合、Host41は、GuestApとサーバ42との間の通信状況により音楽データを再生するまでに要する準備時間が変わろうとも、常にそのときの準備が完了した時刻となる再生開始時刻を設定することができる。
【0131】
かくしてHost41は、サーバ42から音楽データを受信して再生するGuestApに対して音楽データの再生を確実且つ迅速に開始させ得る適切な再生開始時刻を設定することができる。
【0132】
(1−2−4)同期再生処理手順
次に、図8に示すシーケンスチャートを用いて、上述した同期再生システム40による同期再生の処理手順(これを同期再生処理手順とも呼ぶ)について説明する。因みに、この同期再生処理手順は、Host41と、各GuestAp(Ap10〜Ap12)と、サーバ42とが協働して実行する処理手順である。
【0133】
Host41の制御部53は、例えばユーザにより同期再生する音楽データが指定されると、ステップSP1において、通信部50を制御して、この音楽データの楽曲情報を要求する楽曲情報要求をサーバ42に送信する。
【0134】
サーバ42は、この楽曲情報要求を受信すると、ステップSP10において、この楽曲情報要求に応じた楽曲情報(つまり同期再生する音楽データの楽曲情報)をHost41に送信する。
【0135】
Host41の制御部53は、サーバ42から送信されてきた楽曲情報を通信部50で受信すると、ステップSP2において、通信部50を制御して、この楽曲情報を同期再生する音楽データの楽曲情報として各GuestApに送信する。
【0136】
各GuestApの制御部63は、Host41から送信されてきた楽曲情報を通信部60で受信すると、ステップSP20において、通信部60を制御して、この楽曲情報に対応する音楽データを要求するデータ要求をサーバ42に送信する。
【0137】
サーバ42は、このデータ要求を受信すると、ステップSP11において、このデータ要求に応じた音楽データ(つまり同期再生する音楽データ)の各GuestApへの送信を開始する。
【0138】
すなわち、この時点で、各GuestApによるサーバ42からの音楽データの受信が開始される。
【0139】
各GuestApの制御部63は、音楽データの受信を開始すると、ステップSP21において、このとき通信状況検出部62から取得した現在のSNRを示す現在SNR情報と、記憶部64から取得した前回の準備時間を示す前回準備時間情報とを、通信部60を制御して、Host41に送信する。
【0140】
このようにして各GuestApから、Host41に送信されてきた現在SNR情報と前回準備時間情報は、各GuestApのIDと、今回同期再生する音楽データのコーデック情報とに対応付けられて、Host41のデータベースDbに格納される。
【0141】
Host41の準備時間予測部51は、ステップSP3において、データベースDbに格納されている前回準備時間情報と、前回SNR情報と、現在SNR情報とを用いて、各GuestApの今回の準備時間を予測(つまり予測準備時間を算出)する。
【0142】
Host41の開始時刻設定部52は、ステップSP4において、各GuestApの今回の予測準備時間のうちの最も長い予測準備時間に安全係数を乗じた時間後の時刻を、各GuestApで共通の再生開始時刻として設定する。
【0143】
Host41の制御部53は、ステップSP5において、通信部50を制御して、再生開始時刻を示す再生開始時刻情報を、各GuestApに送信する。
【0144】
各GuestApの制御部63は、Host41から送信されてきた再生開始時刻情報を通信部60で受信すると、ステップSP22において、この再生開始時刻情報が示す再生開始時刻になるまで待ち受ける。
【0145】
そして各GuestApの制御部63は、再生開始時刻になると、ステップSP23において、再生部61を制御して、指定された音楽データの再生を開始する。
【0146】
このような同期再生処理手順によって、同期再生システム40では、音楽データを同期再生するようになっている。
【0147】
(1−2−5)第1の実施の形態による動作及び効果
以上の構成において、Host41は、各GuestApに同期再生させる音楽データの楽曲情報を送信することで、各GuestApに対して同期再生させる音楽データを指定する。
【0148】
各GuestApは、音楽データが指定されると、この音楽データの受信をサーバ42から開始すると共に、現在のサーバ42との間の通信状況を表すSNRを検出する。
【0149】
そして各GuestApは、現在のSNRを示す現在SNR情報と、前回の音楽データを再生したときに要した準備時間を示す前回準備時間情報とを、Host41に送信する。
【0150】
Host41は、各GuestApから今回得られた現在SNR情報及び前回準備時間情報と、前回得られた前回SNR情報とをもとに、各GuestApでの今回の準備時間を予測する。
【0151】
さらにHost41は、予測した準備時間のなかから最も長い準備時間(最長準備時間)を選択して、この最長準備時間後の時刻を、各GuestApで共通の再生開始時刻として設定する。
【0152】
そしてHost41は、この再生開始時刻を示す再生開始時刻情報を各GuestApに送信することで、各GuestApに対して同期再生の開始時刻を指定する。
【0153】
この結果、各GuestApが、指定の再生開始時刻に、指定の音楽データの再生を開始する。
【0154】
このように、Host41は、各GuestApとサーバ42との通信状況を示すSNRを用いて各GuestApでの準備時間を予測し、この予測結果から全てのGuestApで再生準備が完了する時刻を推定して、この時刻を再生開始時刻として設定する。
【0155】
こうすることで、Host41は、各GuestApとサーバ42との間の通信状況により各GuestApでの準備時間が変わろうとも、常に全てのGuestApで準備が完了した時刻を、再生開始時刻として設定することができる。
【0156】
これによりHost41は、複数のGuestApに対して確実且つ迅速に音楽データの同期再生を行わせることができる。
【0157】
また、Host41は、複数のGuestApによる同期再生に限らず、1台のGuestApに単独再生を行わせる場合にも、同様に再生開始時刻を設定することができる。
【0158】
こうすることで、Host41は、GuestApとサーバ42との間の通信状況により準備時間が変わろうとも、常にそのときの準備が完了した時刻を、再生開始時刻として指定することができる。
【0159】
かくしてHost41は、サーバ42から音楽データを受信して再生するGuestApに対して音楽データの再生を確実且つ迅速に開始させ得る適切な再生開始時刻を指定することができる。
【0160】
以上の構成によれば、Host41は、サーバ42とGuestApとの間の通信状況によりGuestApが再生を開始するまでに要する準備時間が変わろうとも、GuestApに対して常にそのときの準備が完了した時刻を、再生開始時刻として指定することができ、かくして、サーバ42から音楽データを受信して再生するGuestApに対して音楽データの再生を確実且つ迅速に開始させ得る適切な再生開始時刻を指定することができる。
【0161】
(2)第2の実施の形態
次に第2の実施の形態について説明する。この第2の実施の形態では、上述した第1の実施の形態のHost41及びGuestApをハードウェア構成により実現する。
【0162】
図9に示すHost41は、上述した第1の実施の形態による機能構成のHost41をハードウェア構成により実現した例である。
【0163】
このHost41は、キーボードやマウスでなる入力デバイス100がユーザによって操作されると、入力デバイス100でこれを認識し、その操作に応じた操作入力信号を入力処理部101に送る。
【0164】
入力処理部101は、供給される操作入力信号を操作コマンドに変換して、これをバス102を介してCPU(Central Processing Unit)103に送る。
【0165】
CPU103は、ROM(Read Only Memory)104又はハードディスクドライブ(以下、HDDとも呼ぶ)105に予め記憶されている基本プログラムやアプリケーションプログラムなどの各種プログラムをバス102を介してRAM(Random Access Memory)106に読み出す。
【0166】
そしてCPU103は、RAM106上で展開したこれら各種プログラムに従って全体を制御することで、入力処理部101から与えられる操作コマンドなどに応じた各種処理(再生開始時刻の設定など)を実行する。
【0167】
具体的に言うと、CPU103は、必要に応じて、通信処理部107及びアンテナ108を順次介して、サーバ42や各GuestApにアクセスし、これらとの間で種々のデータをやり取りする。
【0168】
このようにして、サーバ42や各GuestApとの間でやり取りされるデータ、及びこのデータの生成に必要となるデータは、HDD105に記憶され、必要に応じて読み出される。
【0169】
またCPU103は、サーバ42や各GuestApとの間でやり取りするデータや各種処理の実行結果を、表示処理部109に送ることで、このデータや実行結果に基づく情報をディスプレイ110に表示させる。
【0170】
ところで、このHost41は、上述したように、CPU103がROM104またはHDD105に記憶されている各種プログラムにしたがって各種処理を実行するようになっている。
【0171】
ゆえに、第1の実施の形態による機能構成のHost41の各種機能及び実行する処理に応じて、ROM104またはHDD105に記憶させる各種プログラムを適宜選定することで、CPU103を機能構成の制御部53と同様に機能させることができる。
【0172】
またCPU103を、準備時間予測部51、開始時刻設定部52と同様に機能させることができる。さらに入力デバイス100及び入力処理部101を機能構成の操作部55と同様に機能させることができる。さらにHDD105を機能構成の記憶部54と同様に機能させることができる。
【0173】
さらに通信処理部107及びアンテナ108を機能構成の通信部50と同様に機能させることができる。さらに表示処理部109及びディスプレイ110を機能構成の表示部56と同様に機能させることができる。
【0174】
したがって、Host41は、図9に示すようなハードウェア構成で、第1の実施の形態での機能構成による各種機能を実現することができ、かくして、第1の実施の形態と同様の効果を得ることができる。
【0175】
一方、図10に示すGuestApは、上述した第1の実施の形態による機能構成のGuestApをハードウェア構成により実現した例である。
【0176】
このGuestApは、キーボードやマウスでなる入力デバイス120がユーザによって操作されると、入力デバイス120でこれを認識し、その操作に応じた操作入力信号を入力処理部121に送る。
【0177】
入力処理部121は、供給される操作入力信号を操作コマンドに変換して、これをバス122を介してCPU123に送る。
【0178】
CPU123は、ROM124又はHDD125に予め記憶されている基本プログラムやアプリケーションプログラムなどの各種プログラムをバス122を介してRAM126に読み出す。
【0179】
そしてCPU123は、RAM126上で展開したこれら各種プログラムに従って全体を制御することで、入力処理部121から与えられる操作コマンドなどに応じた各種処理(音楽データの再生など)を実行する。
【0180】
具体的に言うと、CPU123は、必要に応じて、通信処理部127及びアンテナ128を順次介して、Host41やサーバ42、他のGuestApにアクセスし、これらとの間で種々のデータをやり取りする。
【0181】
このようにして、Host41やサーバ42、他の各GuestApとの間でやり取りされるデータ、及びこのデータの生成に必要となるデータは、HDD125に記憶され、必要に応じて読み出される。
【0182】
またCPU123は、Host41やサーバ42、他のGuestApとの間でやり取りするデータや各種処理の実行結果を、表示処理部129に送ることで、このデータや実行結果に基づく情報(例えば楽曲リスト)をディスプレイ130に表示させる。
【0183】
さらにCPU123は、例えば、入力デバイス120を介して音楽データを再生するよう指示する操作入力信号が入力されると、音楽データをサーバ42からアンテナ128及び通信処理部127を順次介して受信する。
【0184】
受信された音楽データは、RAM126に一時記憶された後、音声処理部131に送られる。この結果、音声処理部131を介してスピーカ132から、この音楽データに基づく音楽が出力される。
【0185】
ところで、このGuestApは、上述したように、CPU123がROM124またはHDD125に記憶されている各種プログラムにしたがって各種処理を実行するようになっている。
【0186】
ゆえに、第1の実施の形態による機能構成のGuestApの各種機能及び実行する処理に応じて、ROM124またはHDD125に記憶させる各種プログラムを適宜選定することで、CPU123を機能構成の制御部63と同様に機能させることができる。
【0187】
またCPU123を、通信状況検出部62と同様に機能させることができる。さらに入力デバイス120及び入力処理部121を機能構成の操作部65と同様に機能させることができる。さらにRAM124及びHDD125を機能構成の記憶部64と同様に機能させることができる。
【0188】
さらに通信処理部127及びアンテナ128を機能構成の通信部60と同様に機能させることができる。さらに表示処理部129及びディスプレイ130を機能構成の表示部66と同様に機能させることができる。
【0189】
さらに音声処理部131及びスピーカ132を機能構成の再生部61と同様に機能させることができる。
【0190】
したがって、GuestApは、図10に示すようなハードウェア構成で、第1の実施の形態での機能構成による各種機能を実現することができ、かくして、第1の実施の形態と同様の効果を得ることができる。
【0191】
また、この第2の実施の形態では、Host41のCPU103がROM104またはHDD105に予め記憶された各種プログラムにしたがって、各種処理を実行するようにした。
【0192】
本発明はこれに限らず、各種プログラムを、CD(Compact Disc)やDVD(Digital Versatile Disc)などの記録媒体に記録しておき、CPU103がこの記録媒体からドライブ(図示せず)を介して各種プログラムを読み出して、各種処理を実行するようにしてもよい。また、各種プログラムをこの記録媒体からHDD105にインストールするようにしてもよい。
【0193】
またGuestApも同様に、各種プログラムを、CDやDVDなどの記録媒体に記録しておき、CPU123がこの記録媒体からドライブ(図示せず)を介して各種プログラムを読み出して、各種処理を実行するようにしてもよい。また、各種プログラムをこの記録媒体からHDD125にインストールするようにしてもよい。
【0194】
(3)他の実施の形態
(3−1)他の実施の形態1
尚、上述した第1の実施の形態では、サーバ42と各GuestApとを無線LANで接続するようにした。本発明はこれに限らず、サーバ42の通信部50と各GuestApの通信部60を有線LANに対応させることで、サーバ42と各GuestApとを有線LANで接続するようにしてもよい。またサーバ42と各GuestApとの接続に、無線LANと有線LANとを混在させるようにしてもよい。
【0195】
例えば、各GuestApが有線LANでサーバ42と接続されているとする。この場合、GuestApとサーバ42との間の通信状況は、無線LANで接続されている場合よりも安定する。この場合、算出した予測準備時間に生じる予測誤差が小さくなると考えられる。
【0196】
そこで、有線LAN接続の場合には、算出した予測準備時間のうちの最も長い準備時間(最長準備時間)に乗じる安全係数の値を、無線LAN接続の場合よりも小さな値に設定する。
【0197】
具体的には、安全係数の値を、例えば、実際に様々な有線LAN環境のもとで予測準備時間を算出した場合に生じた予測誤差(つまり準備時間の実測値と予測値との誤差)の平均に基づく値に設定する。
【0198】
こうすることで、有線LAN接続の場合には、無線LANの場合と比べて、一段と正確に全てのGuestApで準備が完了する時刻を推定することができる。
【0199】
このように、LANの接続方式に応じて、安全係数の値を変えるようにしてもよい。
【0200】
また、これに限らず、無線LANの通信方式(例えばIEEE802.11b/g/n/a)に応じて、安全係数の値を変えるようにしてもよい。
【0201】
一般的に、無線LANは、その通信方式により通信状況の安定度が異なる。実際上、IEEE802.11b/gでは、電子レンジや他の無線機器などと同じ2.4GHz帯の電波を利用するため、電子レンジや他の無線機器からの影響を受け易く、IEEE802.11a/nと比べて通信状況の安定度が低下する。
【0202】
そこで、サーバ42と各GuestApがIEEE802.11b/gの無線LANで接続されている場合には、安全係数の値を、IEEE802.11a/nの無線LANで接続されている場合よりも大きな値に設定する。
【0203】
具体的には、IEEE802.11b/g利用時の安全係数の値を、例えば、実際に様々なIEEE802.11b/gの環境のもとで予測準備時間を算出した場合に生じた予測誤差の平均に基づく値に設定する。またIEEE802.11a/n利用時の安全係数の値を、例えば、実際に様々なIEEE802.11a/nの環境のもとで予測準備時間を算出した場合に生じた予測誤差の平均に基づく値に設定する。
【0204】
こうすることで、LANの接続方式、及び無線LANの通信方式のそれぞれに適した安全係数を設定することができ、結果として、このような安全係数を最長準備時間に乗じることで、一段と正確にGuestApで準備が完了する時刻を推定することができる。
【0205】
尚、サーバ42と各GuestApとの接続に、種々の接続方式及び通信方式が混在する場合、最長準備時間が得られたGuestApとサーバ42との接続方式及び通信方式に応じた値の安全係数を用いるようにすればよい。
【0206】
ところで、上述したように、各GuestApが有線LANでサーバ42と接続されている場合、GuestApとサーバ42との間の通信状況は、安定する。ゆえに、各GuestApでの準備時間は、常にほぼ一定である。
【0207】
このような場合、各GuestApでの今回の準備時間は、前回の準備時間とほぼ同じであると考えられる。そこで、有線LAN接続の場合、Host41では、各GuestApでの今回の準備時間が前回の準備時間と同じ時間であると予測するようにしてもよい。
【0208】
(3−2)他の実施の形態2
また、上述した第1の実施の形態では、現在のSNRと、前回のSNRとを用いて、GuestApの準備時間を予測するようにした。本発明はこれに限らず、現在のSNRと、過去数回分のSNRの平均値とを用いて、GuestApの今回の準備時間を予測するようにしてもよい。
【0209】
実際上、サーバ42とGuestApとの間の通信状況は刻一刻と変化する。また、例えば、通信中に電子レンジが利用されたときなど、通信状況が一時的に極端に悪化することがある。このように、通信状況が一時的に極端に悪化すると、これにともなってSNRが一時的に極端な値を示す。
【0210】
そこで、過去数回分のSNRの平均値を用いることで、一時的なSNRのブレが、準備時間の予測に与える影響を少なくすることができる。
【0211】
例えば、過去5回分のSNRが、「56」、「52」、「29」、「48」、「50」であるとする。この場合、過去5回分のSNRの平均値は、「47」となる。この場合、Host41の準備時間予測部51は、この平均値を前回のSNRの代わりとして、この平均値と、現在のSNRとを用いて予測準備時間を算出する。
【0212】
こうすることで、Host41は、一段と正確にGuestApの準備時間を予測することができる。
【0213】
また、これに限らず、過去数回分のSNRのうち、極端な値を示すSNRを除く、残りのSNRの平均値を、前回のSNRの代わりとして用いるようにしてもよい。この場合、例えば、過去5回分の平均値を算出して、過去5回分のSNRから、平均値の+−30%以内に含まれない値を除くようにする。
【0214】
例えば、過去5回分のSNRが、「56」、「52」、「29」、「48」、「50」であるとすると、これらのうち、平均値「47」の+−30%以内である「32.9」以上「61.1」以下に含まれない値「29」が除かれる。
【0215】
そして、残りのSNRの平均値(「56」、「52」、「48」、「50」の平均値)である「51.5」が、前回のSNRの代わりとなる。
【0216】
このようにしても、一時的なSNRのブレが、準備時間の予測に与える影響を少なくすることができる。
【0217】
さらに、これに限らず、前回の準備時間の代わりに、過去数回分の準備時間の平均値を用いて、GuestApの今回の準備時間を予測するようにしてもよい。また、これに限らず、過去数回分の準備時間のうち、極端な値を示す準備時間を除いた、残りの準備時間の平均値を、前回の準備時間の代わりとして用いるようにしてもよい。
【0218】
因みに、過去数回分のSNR及び準備時間を用いる場合、Host41のデータベースDbに、過去数回分のSNR及び準備時間を保持させるようにすればよい。
【0219】
(3−3)他の実施の形態3
さらに、上述した第1の実施の形態では、サーバ42と各GuestApとの間の通信状況を示す情報として、SNRを用いるようにした。本発明はこれに限らず、SNRの代わりに、各GuestApがサーバ42から所定時間あたりに受信するデータ量を用いるようにしてもよい。
【0220】
この場合、GuestApの通信状況検出部62は、サーバ42からの音楽データの受信が開始されると、例えば、通信部60で0.1秒間あたりに受信したデータ量を、1秒間あたりに受信するデータ量(つまりビットレート)に換算して、これを現在の通信状況とする。
【0221】
そしてHost41では、各GuestApからビットレートを取得し、このビットレートをSNRの代わりに用いて各GuestApでの準備時間を予測する。
【0222】
また、これに限らず、現在のビットレートだけで、準備時間を予測するようにしてもよい。すなわち、Host41の準備時間予測部51は、各GuestApで今回指定した音楽データの再生を開始するのに必要なデータ量と、各GuestApの現在のビットレートから、各GuestApでの準備時間を予測する。
【0223】
このようにすれば、第1の実施の形態の場合と比して、扱う情報が少なくて済み、結果として、一段と簡易に各GuestApでの準備時間を予測することができる。
【0224】
また、SNR及びビットレートに限らず、通信状況を示す情報であれば、この他種々の情報を用いるようにしてもよい。
【0225】
(3−4)他の実施の形態4
さらに、上述した第1の実施の形態では、Host41が、現在のSNRと、前回のSNRと、前回の準備時間とを用いて、GuestApでの今回の準備時間を予測するようにした。本発明はこれに限らず、Host41が、SNRと準備時間との関係を示す関数を用いて、現在のSNRから予測準備時間を算出するようにしてもよい。
【0226】
この関数は、例えば、実際にSNRが異なる種々の環境で計測した準備時間をもとに求められ、予めHost41の記憶部54に記憶されている。
【0227】
また、この関数を用いて、現在のSNRと前回のSNRとの平均値から、または現在のSNRと過去数回分のSNRとの平均値から予測準備時間を算出するようにしてもよい。
【0228】
(3−5)他の実施の形態5
さらに上述した第1の実施の形態では、GuestApごとに算出した予測準備時間のうちの最も長い予測準備時間(最長準備時間)経過後の時刻を再生開始時刻とするようにした。
【0229】
本発明はこれに限らず、例えば、GuestAPごとに算出した予測準備時間のうち、所定時間を超えるものを除いた、残りの予測準備時間のうちの最も長い予測準備時間経過後の時刻を再生開始時刻とするようにしてもよい。
【0230】
実際上、現在の通信状況及び前回の準備時間によっては、GuestApごとに算出した予測準備時間のうちの最も長い予測準備時間が、例えば、他の予測準備時間と比べて極端に長くなるような状況が起こり得る。
【0231】
このような場合に、1台のGuestApのために、他のGuestApでの再生開始を大幅に遅らせることは、望ましくはない。そこで、GuestAPごとに算出した予測準備時間のうち、所定時間を超えるもの(つまり極端に長い予測準備時間)を除くことで、このような状況を回避する。
【0232】
尚、この場合の所定時間は、固定値(例えば5分)であってもよいし、GuestApごとに算出した予測準備時間の平均値の2倍のような変動値であってもよい。
【0233】
またこの所定時間を超える予測準備時間が算出された場合に、この所定時間経過後の時刻を再生開始時刻とするようにしてもよい。
【0234】
(3−6)他の実施の形態6
さらに、上述した第1の実施の形態では、最長準備時間に安全係数を乗じるようにしたが、本発明はこれに限らず、安全係数を乗じなくてもよい。例えば、上述したように、サーバ42と各GuestApとが有線LANで接続されている場合など、通信状況が安定している環境であれば、最長準備時間に必ずしも安全係数を乗じなくてもよい。
【0235】
(3−7)他の実施の形態7
さらに、上述した第1の実施の形態では、GuestApがHost41から楽曲情報を受信すると、サーバ42からこの楽曲情報に対応する音楽データの受信を開始すると共に、現在のSNRを検出するようにした。
【0236】
本発明はこれに限らず、GuestApがHost41から楽曲情報を受信すると、まずサーバ42からSNR検出用のテストデータを受信して、現在のSNRを検出するようにしてもよい。
【0237】
この場合、GuestApは、検出した現在のSNRを示す現在SNR情報と前回準備時間情報とをHost41に送信した後、サーバ42から楽曲情報に対応する音楽データの受信を開始する。
【0238】
(3−8)他の実施の形態8
さらに、上述した第1の実施の形態では、Host41と、サーバ42と、複数のGuestApとで、同期再生システム40を構成するようにした。本発明はこれに限らず、Host41とサーバ42の機能を持たせた複数のGuestApで、同期再生システムを構成するようにしてもよい。
【0239】
この場合、複数のGuestApのうちの1台に、Host41の役割を担わせ、また複数のGuestApのうちの1台にサーバ42の役割を担わせるようにすればよい。
【0240】
(3−9)他の実施の形態9
さらに、上述した第1の実施の形態では、GuestApがサーバ42から音楽データの受信し終えた部分から再生(所謂ストリーミング再生)するようにした。本発明はこれに限らず、GuestApがサーバ42から音楽データの全部分を受信し終えてから再生(所謂ダウンロード再生)するようにしてもよい。
【0241】
さらに、GuestApが音楽データをプレイリストなどに従って連続再生するようにしてもよい。この場合、Host41は、1曲目の再生開始時刻のみを設定するようにしてもよいし、各曲ごとに再生開始時刻を設定するようにしてもよい。
【0242】
(3−10)他の実施の形態10
さらに、上述した第1の実施の形態では、音楽データを同期再生する同期再生システム40に本発明を適用したが、本発明はこれに限らず、この他種々のコンテンツ(例えば映像データ)を再生するシステムに適用してもよい。
【0243】
(3−11)他の実施の形態11
さらに、本発明は、上述した第1及び第2の実施の形態及びここまで説明した他の実施の形態1乃至11に限定されるものではなく、これら第1及び第2の実施の形態及びここまで説明した他の実施の形態1乃至11の一部または全部を任意に組み合わせた形態、もしくは一部を抽出した形態にもその適用範囲が及ぶものである。
【0244】
例えば、他の実施の形態1と他の実施の形態2とを組み合わせることで、過去数回分のSNRの平均値を用いて予測準備時間を算出して、LANの接続方式及び無線LANの通信方式に応じた安全係数を最長準備時間に乗じるようにしてもよい。
【0245】
こうすることで、一段と正確にGuestApで準備が完了する時刻を推定することができる。
【産業上の利用可能性】
【0246】
本発明は、再生装置によるコンテンツの再生を制御するシステムで広く利用することができる。
【図面の簡単な説明】
【0247】
【図1】従来の同期再生システムの構成を示す略線図である。
【図2】第1の実施の形態の概要である制御システムの構成を示す機能ブロック図である。
【図3】第1の実施の形態の具体例である同期再生システムの構成を示す略線図である。
【図4】Host(制御装置)の機能構成を示す機能ブロック図である。
【図5】Guest(再生装置)の機能構成を示す機能ブロック図である。
【図6】Guestから送信される前回準備時間情報と現在SNR情報とを示す略線図である。
【図7】Hostのデータベース構成を示す略線図である。
【図8】同期再生処理手順を示すフローチャートである。
【図9】第2の実施の形態によるHost(制御装置)のハードウェア構成を示すハードウェアブロック図である。
【図10】第2の実施の形態によるGuest(再生装置)のハードウェア構成を示すハードウェアブロック図である。
【符号の説明】
【0248】
10、40……同期再生システム、2、13、41……Host(制御装置)、3、11、42……サーバ、10……制御システム、12、Ap……Guest(再生装置)、20、30、50、60……通信部、21、51……準備時間予測部、22、52……開始時刻設定部、23、33、53、63……制御部、31、61……再生部、32、62……通信状況検出部、54、64……記憶部、55、65……操作部、56、66……表示部、103、123……CPU、107、127…通信処理部、108、128……ネットワークインタフェース、131……音声処理部、132……スピーカ。

【特許請求の範囲】
【請求項1】
コンテンツを記憶しているサーバと当該サーバからコンテンツを受信して再生する再生装置との間の通信状況を示す通信状況情報を上記再生装置から受信する通信部と、
受信した上記通信状況情報を用いて、上記再生装置が上記サーバから上記コンテンツを受信して再生を開始するまでに要する準備時間を予測する準備時間予測部と、
上記再生装置に上記コンテンツの再生を開始させる再生開始時刻を、現在から、予測した上記準備時間後の時刻とする開始時刻設定部と、
上記通信部を制御して、上記開始時刻設定部が設定した上記再生開始時刻を示す再生開始時刻情報を上記再生装置に送信させる制御部と
を具える制御装置。
【請求項2】
上記再生装置が複数存在し、
上記通信部は、
上記複数の再生装置のそれぞれから上記通信状況情報を受信し、
上記準備時間予測部は、
上記複数の再生装置のそれぞれから受信した上記通信情報を用いて、上記複数の再生装置のそれぞれの準備時間を予測し、
上記開始時刻設定部は、
上記複数の再生装置に上記コンテンツの再生を開始させる再生開始時刻を、現在から、予測した上記複数の再生装置のそれぞれの準備時間のうちの最も長い準備時間後の時刻とし、
上記制御部は、
上記開始時刻設定部が設定した上記再生開始時刻を示す再生開始時刻情報を上記複数の再生装置のそれぞれに送信させる
請求項1に記載の制御装置。
【請求項3】
上記開始時刻設定部は、
予測した上記複数の再生装置のそれぞれの準備時間のうちの所定時間を超える準備時間については、再生開始時刻の設定に利用しない
請求項2に記載の制御装置。
【請求項4】
上記開始時刻設定部は、
上記再生開始時刻を、現在から、予測した上記複数の再生装置のそれぞれの準備時間から所定時間を超える準備時間を除いた残りの準備時間のうちの最も長い準備時間後の時刻とする
請求項3に記載の制御装置。
【請求項5】
上記開始時刻設定部は、
予測した上記複数の再生装置のそれぞれの準備時間のなかに所定時間を超える準備時間がある場合、上記再生開始時刻を、現在から所定時間経過後の時刻とする
請求項3に記載の制御装置。
【請求項6】
上記準備時間予測部は、
今回受信した上記通信状況情報と、前回受信した上記通信状況情報とを用いて、今回上記再生装置が上記サーバから上記コンテンツを受信して再生を開始するまでに要する準備時間を予測する
請求項1に記載の制御装置。
【請求項7】
上記通信部は、
上記再生装置から、上記通信状況情報にくわえて、前回上記コンテンツを再生したときに要した上記準備時間を示す前回準備時間情報を受信し、
上記準備時間予測部は、
受信した上記通信状況情報と上記前回準備時間情報とを用いて、今回上記再生装置が上記サーバから上記コンテンツを受信して再生を開始するまでに要する準備時間を予測する
請求項1に記載の制御装置。
【請求項8】
上記準備時間予測部は、
今回初めて上記再生装置にコンテンツを再生させる場合、予め設定されている所定時間を、今回予測した準備時間とする
請求項7に記載の制御装置。
【請求項9】
上記準備時間予測部は、
上記サーバと上記再生装置とが有線接続されている場合、上記前回準備時間情報が示す前回準備時間を、今回予測した準備時間とする
請求項7に記載の制御装置。
【請求項10】
上記開始時刻設定部は、
予測した上記準備時間に、当該準備時間の予測誤差に基づいて設定された安全係数を乗じ、上記再生開始時刻を、現在から、上記安全係数を乗じた準備時間後の時刻とする
請求項1に記載の制御装置。
【請求項11】
上記開始時刻設定部は、
上記サーバと上記再生装置との接続方式が有線接続であるか無線接続であるかに応じて、上記安全係数の値を変える
請求項10に記載の制御装置。
【請求項12】
上記開始時刻設定部は、
上記サーバと上記再生装置とが無線接続されている場合、当該無線接続の通信方式に応じて、上記安全係数の値を変える
請求項10に記載の制御装置。
【請求項13】
コンテンツを記憶しているサーバと当該サーバからコンテンツを受信して再生する再生装置との間の通信状況を示す通信状況情報を上記再生装置から通信部が受信し、
受信した上記通信状況情報を用いて、上記再生装置が上記サーバから上記コンテンツを受信して再生を開始するまでに要する準備時間を準備時間予測部が予測し、
開始時刻設定部が、上記再生装置に上記コンテンツの再生を開始させる再生開始時刻を、現在から、予測した上記準備時間後の時刻とし、
上記再生開始時刻を示す再生開始時刻情報を上記再生装置に上記通信部が送信する
再生制御方法。
【請求項14】
コンテンツを記憶しているサーバと当該サーバからコンテンツを受信して再生する再生装置との間の通信状況を示す通信状況情報を上記再生装置から通信部が受信するステップと、
受信した上記通信状況情報を用いて、上記再生装置が上記サーバから上記コンテンツを受信して再生を開始するまでに要する準備時間を準備時間予測部が予測するステップと、
開始時刻設定部が、上記再生装置に上記コンテンツの再生を開始させる再生開始時刻を、現在から、予測した上記準備時間後の時刻とするステップと、
上記再生開始時刻を示す再生開始時刻情報を上記再生装置に上記通信部が送信するステップと
をコンピュータに実行させるための再生制御プログラム。
【請求項15】
サーバからコンテンツを受信する通信部と、
上記サーバから受信したコンテンツを再生する再生部と、
上記サーバと上記通信部との間の通信状況を検出する通信状況検出部と、
上記通信部を制御して、上記通信状況検出部が検出した通信状況を示す通信状況情報を、上記通信部が上記サーバから上記コンテンツを受信して上記再生部が当該コンテンツの再生を開始するまでに要する準備時間を上記通信状況情報を用いて予測して上記コンテンツの再生開始時刻を現在から予測した当該準備時間後の時刻とする制御装置に送信させ、当該制御装置から送信される当該制御装置が設定した再生開始時刻を示す再生開始時刻情報を受信させ、さらに上記再生部を制御して、当該再生開始時刻情報が示す再生開始時刻に上記コンテンツを再生させる制御部と
を具える再生装置。
【請求項16】
サーバからコンテンツを通信部が受信し、
上記サーバと上記通信部との間の通信状況を通信状況検出部が検出し、
上記通信状況検出部が検出した通信状況を示す通信状況情報を、上記通信部が上記サーバから上記コンテンツを受信して上記再生部が当該コンテンツの再生を開始するまでに要する準備時間を上記通信状況情報を用いて予測して上記コンテンツの再生開始時刻を現在から予測した当該準備時間後の時刻とする制御装置に上記通信部が送信し、当該制御装置から送信される当該制御装置が設定した再生開始時刻を示す再生開始時刻情報を上記通信部が受信し、当該再生開始時刻情報が示す再生開始時刻に上記コンテンツを再生部に再生させる
再生方法。
【請求項17】
サーバからコンテンツを通信部が受信するステップと、
上記サーバと上記通信部との間の通信状況を通信状況検出部が検出ステップと、
上記通信状況検出部が検出した通信状況を示す通信状況情報を、上記通信部が上記サーバから上記コンテンツを受信して上記再生部が当該コンテンツの再生を開始するまでに要する準備時間を上記通信状況情報を用いて予測して上記コンテンツの再生開始時刻を現在から予測した当該準備時間後の時刻とする制御装置に上記通信部が送信するステップと、
上記制御装置から送信される当該制御装置が設定した再生開始時刻を示す再生開始時刻情報を上記通信部が受信するステップと、
上記再生開始時刻情報が示す再生開始時刻に上記コンテンツを再生部に再生させるステップと
をコンピュータに実行させるための再生プログラム。
【請求項18】
コンテンツを記憶しているサーバと当該サーバからコンテンツを受信して再生する再生装置との間の通信状況を示す通信状況情報を上記再生装置から受信する通信部と、
受信した上記通信状況情報を用いて、上記再生装置が上記サーバから上記コンテンツを受信して再生を開始するまでに要する準備時間を予測する準備時間予測部と、
上記再生装置に上記コンテンツの再生を開始させる再生開始時刻を、現在から、予測した上記準備時間後の時刻とする開始時刻設定部と、
上記通信部を制御して、上記開始時刻設定部が設定した上記再生開始時刻を示す再生開始時刻情報を上記再生装置に送信させる制御部と
を有する制御装置と、
上記サーバからコンテンツを受信する通信部と、
上記サーバから受信したコンテンツを再生する再生部と、
上記サーバと上記通信部との間の通信状況を検出する通信状況検出部と、
上記通信部を制御して、上記通信状況検出部が検出した通信状況を示す通信状況情報を、上記制御装置に送信させ、当該制御装置から送信される上記再生開始時刻情報を受信させ、さらに上記再生部を制御して、当該再生開始時刻情報が示す再生開始時刻に上記コンテンツを再生させる制御部と
を有する再生装置と
を具える制御システム。
【請求項19】
コンテンツを記憶しているサーバと当該サーバからコンテンツを受信して再生する再生装置との間の通信状況を示す通信状況情報を上記再生装置から制御装置の通信部が受信し、
受信した上記通信状況情報を用いて、上記再生装置が上記サーバから上記コンテンツを受信して再生を開始するまでに要する準備時間を上記制御装置の準備時間予測部が予測し、
上記制御装置の開始時刻設定部が、上記再生装置に上記コンテンツの再生を開始させる再生開始時刻を、現在から、予測した上記準備時間後の時刻とし、
上記再生開始時刻を示す再生開始時刻情報を上記再生装置に上記制御装置の通信部が送信し、
上記サーバからコンテンツを上記再生装置の通信部が受信し、
上記サーバと上記再生装置の通信部との間の通信状況を上記再生装置の通信状況検出部が検出し、
上記再生装置の制御部が当該再生装置の通信部を制御して、当該再生装置の通信状況検出部が検出した通信状況を示す通信状況情報を、上記制御装置に送信させ、当該制御装置から送信される上記再生開始時刻情報を受信させ、さらに当該再生装置の再生部を制御して、当該再生開始時刻情報が示す再生開始時刻に上記コンテンツを再生させる
再生制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate