以下、実施の形態について、図面を参照しながら具体的に説明する。
以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、より好ましい形態を構成する任意の構成要素として説明される。なお、同一の構成要素には同一の符号を付し、説明を省略する場合がある。
なお、以下において、実施の形態1〜3では、再生装置ごとの再生タイミングのずれを抑制する再生システム等について説明する。実施の形態4では、さらに複数の再生装置のうちの1つを実施の形態1等における同期装置として機能させる技術について説明する。そして、実施の形態5において、外部からの命令に基づいて複数の再生装置コンテンツを再生する際の再生タイミングの差を抑制する再生システム等について説明する。
(実施の形態1)
本実施の形態において、再生装置ごとの再生タイミングのずれを抑制する再生システム等について説明する。
図1は、本実施の形態に係る再生システム1の構成図である。
図1に示されるように、再生システム1は、同期装置10と、再生装置20A及び20Bと、表示装置25A及び25Bとを備える。また、同期装置10と、再生装置20A及び20Bとは、LAN30を介して相互に通信可能である。
同期装置10は、再生装置20A及び20Bによる同期再生のための所定の情報を、再生装置20A及び20Bに送信する装置である。
再生装置20Aは、同期装置10から受信する同期再生のための所定の情報に基づいて、コンテンツを再生する装置である。なお、再生装置20Aが再生するコンテンツは、予め再生装置20A内の記憶装置に記憶されているコンテンツであってもよいし、再生装置20Aに接続される可搬型記憶装置に記憶されているコンテンツであってもよい。また、上記コンテンツは、再生時点より前に、再生装置がネットワーク経由で他の装置又は記憶媒体などから受信して記憶しておいたものであってもよい。
再生装置20Bは、再生装置20Aと同様、コンテンツを再生する装置である。なお、再生装置20A及び20Bを総称して再生装置20と表現することもある。
表示装置25A及び25Bは、それぞれ、再生装置20A及び20Bから送信される画像信号に基づいて画像を表示する表示装置である。なお、再生装置20Aと表示装置25Aとをまとめて再生装置と呼ぶことにしてもよい。
再生装置20A及び再生装置20Bは、同期装置10から受信する所定の情報に基づいてコンテンツを再生することで、コンテンツを同期して再生することができる。
図2は、本実施の形態に係る同期装置10のハードウェア構成を示すブロック図である。
図2に示されるように、同期装置10は、ST101(Software Timer)と、制御部102と、NIC103(Network Interface Card)と、HT104(Hardware Timer)とを備え、内部で相互に接続されている。
ST101は、現在時刻を示す時分秒形式の時刻情報を管理するタイマである。時分秒形式の時刻情報とは、「2001年1月1日1時1分1秒」というように、年月日及び時分秒の単位を用いて時刻を表現する形式の時刻情報のことである。ST101は、所定時間間隔(例えば、0.01秒)ごとに時刻情報を示す数値を加算することで、時刻情報を管理する。なお、時分秒形式の時刻情報における時刻の最小単位が「1秒」であるとは限らない。例えば、最小単位を0.01秒とすることも可能である。最小単位を0.01秒とする場合には、時分秒単位の時刻情報を「2001年1月1日1時1分1秒01」というように表現してもよい。
制御部102は、同期装置10の全体的な動作を制御する機能を有する。制御部102は、具体的には、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。
NIC103は、LAN30へ通信データを送信する、又は、LAN30から通信データを受信する通信インタフェースである。なお、NIC103は、IEEE802.3規格等に適合する有線LANインタフェースであってもよいし、IEEE802.11a、b、g、n規格等に適合する無線LANインタフェースであってもよい。
HT104は、所定の時間間隔でカウンタ値を増加させるカウンタである。上記所定の時間間隔は、設計上、時間経過とともに変化しないものとするが、現実には、時間経過によって若干の変動があり得る。HT104は、ST101が管理する時刻情報における時刻の最小単位より小さい時間長でカウンタ値を増加させる。HT104がカウンタ値を増加させる時間間隔は、例えば、0.01ミリ秒である。ST101の時刻の最小単位を0.01秒とする場合、ST101の最小単位は、HT104の最小単位の1000倍となる。
また、複数の再生装置におけるHT104の間では、ハードウェア的な個体差により、若干の時間差が生じ得る。
図3は、本実施の形態に係る再生装置のハードウェア構成を示すブロック図である。
図3に示されるように、再生装置20は、ST201と、制御部202と、NIC203と、HT204と、再生部205と、記憶装置206とを備え、内部で相互に接続されている。
ST201と、制御部202と、NIC203と、HT204とは、同期装置10における同名の構成要素と同じ機能を有する。
再生部205は、コンテンツを再生する。具体的には、再生部205は、記憶装置206に記憶されているコンテンツのデータに基づいて、出力すべき画像又は音声の信号を生成する。また、再生部205は、生成した画像又は音声の信号を、それぞれ、表示装置(不図示)又はスピーカ(不図示)により出力してもよいし、信号として他の装置に出力してもよい。なお、コンテンツのデータが圧縮又は符号化などの処理が施されたものである場合には、再生部205は、対応する伸張又は復号などの処理を施した上で、上記再生を行う。
記憶装置206は、画像又は音声を含むコンテンツのデータを記憶している記憶装置である。上記コンテンツは、複数の静止画から構成されるもの又は動画(互いに関連する静止画の集合)である。上記コンテンツにおいて、各フレームの相対的な再生時刻がカウンタ値(相対カウンタ値)を用いて定められている。相対カウンタ値は、例えば、コンテンツの先頭フレームからのカウンタ値の差分で表現される。なお、音声(音声データ)についても、上記説明における画像(画像データ)と同じように扱うことができる。
なお、記憶装置206は、必須の構成要素ではない。なお、記憶装置206は、再生装置20に挿抜可能に接続される可搬型記憶装置であってもよい。
図4は、本実施の形態に係る再生システムの機能ブロック図である。
図4に示されるように、同期装置10は、時刻管理部111と、カウンタ管理部112と、送信部113とを備える。また、再生装置20は、取得部211と、カウンタ管理部212と、コンテンツ取得部213と、再生制御部214とを備える。
時刻管理部111は、現在時刻を示す時分秒形式の時刻情報を管理する。具体的には、時刻管理部111は、タイマであるST101を用いて時刻情報を管理する。また、時刻管理部111は、ST101が管理する時刻情報を取得し、取得した時刻情報を送信部113に提供する。提供する際には、時刻情報を要求する信号を受信した場合に、要求に応じて提供してもよいし、定期的かつ自発的に提供してもよい。なお、時刻管理部111は、ST101などにより実現される。
カウンタ管理部112は、所定の時間間隔でカウンタ値を増加させる。具体的には、カウンタ管理部112は、カウンタであるHT104を用いてカウンタ値を管理する。また、カウンタ管理部112は、HT104のカウンタ値を取得し、取得したカウンタ値を送信部113に提供する。上記の時刻管理部111同様、提供する際には、カウンタ値を要求する信号を受信した場合に、要求に応じて提供してもよいし、定期的かつ自発的に提供してもよい。なお、カウンタ管理部112は、第一カウンタ管理部に相当する。また、カウンタ管理部112のカウンタ値は、第一カウンタ値に相当する。
送信部113は、同一時点における、時刻管理部111が管理している時刻情報と、カウンタ管理部が管理しているカウンタ値とを再生装置20に送信する。ここで、送信する時刻情報およびカウンタ値を、それぞれ、同期時刻情報および同期カウンタ値ともいう。
送信部113は、時刻管理部111から時刻情報を取得することと、カウンタ管理部112からカウンタ値を取得することとを、実質的に同時に行う。ここで、「実質的に同時に」とは、厳密に同時である場合と、厳密には同時でないものの人間の感覚により同時ととらえられる程度の時間差がある場合とを含む。以降でも同様の表現を用いることがある。
また、送信部113は、同期時刻情報および同期カウンタ値を、LAN30を介して再生装置20に送信する。例えば、送信部113は、上記の情報を記述した通知パケットをLAN30に送出することで送信する。通知パケットの例について後で詳しく説明する。
取得部211は、送信部113が送信した同期時刻情報および同期カウンタ値を取得する。また、取得部211は、コンテンツを再生すべき時刻を示す時分秒形式の時刻情報(以下、「目標時刻情報」という。)を取得する。
具体的には、取得部211は、送信部113が送信した同期時刻情報および同期カウンタ値を、LAN30を介して受信することで取得する。また、取得部211は、目標時刻情報としてユーザにより指定されるものを取得する。取得する方法は、特に限定されない。例えば、再生装置20がユーザによる操作を受け付けるインタフェースを有する場合には、再生装置20は、当該インタフェースを通じて取得することができる。また、再生装置20は、LAN30を介して同期装置10、又は、ユーザにより操作される他の装置(不図示)から取得することもできる。
カウンタ管理部212は、所定の時間間隔でカウンタ値を増加させる。カウンタ管理部212がカウンタ値を増加させる時間間隔は、カウンタ管理部112がカウンタ値を増加させる時間間隔と、設計上同一である。
また、カウンタ管理部212は、取得部211が同期カウンタ値を取得した場合、取得した同期カウンタ値をカウンタ値に設定し、その後、設定したカウンタ値からカウンタ値を増加させる。なお、カウンタ管理部212は、第二カウンタ管理部に相当し、カウンタ管理部212が増加させるカウンタ値は、第二カウンタ値に相当する。
コンテンツ取得部213は、コンテンツを取得する。ここで、コンテンツ取得部213がどこからコンテンツを取得するかは限定しない。例えば、コンテンツ取得部213は、記憶装置206からコンテンツを取得してもよいし、再生装置20に接続される記憶媒体からコンテンツを取得してもよいし、LAN30を介して他の装置から取得してもよい。
再生制御部214は、目標時刻情報と同期時刻情報とにより定まる差分時間に対応する差分カウンタ値を同期カウンタ値に加算することで目標カウンタ値を算出し、算出した目標カウンタ値にカウンタ管理部212が管理するカウンタ値が一致するときに、コンテンツを再生する制御を行う。再生する対象となるコンテンツは、コンテンツ取得部213が取得したものである。
具体的には、同期時刻情報をSTbaseとし、同期カウンタ値をHTbaseとし、目標時刻情報をSTstartとするとき、再生制御部214は、(式1)で定まる目標カウンタ値HTstartに、カウンタ値HCが一致するときに上記制御を行う。
HTstart=HTbase+ΔHT (式1)
ここで、ΔHTは、目標時刻情報と同期時刻情報とにより定まる差分時間(ΔST)に対応するカウンタ値の差分(差分カウンタ値)であり、(式2)及び(式3)により定められる。ここで、Cは、時刻情報の差分時間に対するカウンタ値の差分の比率を示す定数である。
ΔHT=ΔST×C (式2)
ΔST=STstart−STbase (式3)
再生制御部214は、各フレームについて上記の処理を行う。この場合、各フレームのコンテンツ内における相対的な再生時刻を利用して効率よく再生時刻を決定することもできる。その方法については別途詳しく説明する。
図5は、本実施の形態に係る通知パケットの説明図である。
図5は、送信部113が送信する通知パケットの例であり、UDP(User Datagram Protocol)パケットで構成される通知パケットの例である。
通知パケット501のUDPペイロードには、同期時刻情報(STbase)と同期カウンタ値(HTbase)とが記述される。UDPヘッダには、通知パケットをやりとりするための宛先ポート番号、及び、送信元ポート番号が設定される。IP(Internet Protocol)ヘッダ、及び、MAC(Media Access Control)ヘッダには、宛先IPアドレス及び宛先MACアドレスとして、ブロードキャスト又はマルチキャストのアドレスが設定される。LAN30に接続された複数の再生装置20A及び20Bが同一のパケットを受信するためである。
なお、通知パケットは、図5に示されるものに限定されない。通知パケットは、同期装置10(送信部113)から、複数の再生装置20(取得部211)に同期時刻情報と同期カウンタ値とを通知できればよい。よって、同一のパケットに同期時刻情報と同期カウンタ値とを記述せずに、例えば、2つのパケットのそれぞれに、同期時刻情報と同期カウンタ値とを記述して、順次送信してもよい。また、ブロードキャスト又はマルチキャストのアドレスを設定せずに、複数の再生装置それぞれの宛先を指定したユニキャストパケットを、順次、各再生装置へ送信してもよい。また、同期時刻情報及び同期カウンタ値は、UDPペイロードでなく、IPペイロード又はMACペイロードに記述されてもよい。
図6は、本実施の形態に係る再生システムのフローチャートである。図7は、本実施の形態に係る同期再生の説明図である。図6及び図7を参照しながら、再生システム1の同期再生の方法を説明する。
ステップS611において、時刻管理部111は、ST101から現在時刻を示す時刻情報を取得する。また、カウンタ管理部112は、HT104からカウンタ値を取得する。例えば、時刻情報として「08:50:00」を、カウンタ値として「100」を取得する(図7)。
ステップS612において、送信部113は、ステップS611で時刻管理部111が取得した時刻情報と、カウンタ管理部112が取得したカウンタ値とを、それぞれ、同期時刻情報と同期カウンタ値として再生装置20に送信する。送信する際には、例えば、送信部113は、同期時刻情報と同期カウンタ値とを記述した通知パケット501をブロードキャスト送信する。
ステップS621において、コンテンツ取得部213は、コンテンツを取得する。
ステップS622において、取得部211は、目標時刻情報を取得する。
ステップS623において、取得部211は、ステップS612で同期装置10の送信部113が送信した同期時刻情報と同期カウンタ値とを取得する。同期時刻情報と同期カウンタ値との送信に通知パケットが用いられた場合には、取得部211は、当該通知パケットを受信することで同期時刻情報と同期カウンタ値とを取得する。
ステップS624において、カウンタ管理部212は、ステップS623で取得部211が取得した同期カウンタ値を、カウンタ値として設定する。例えば、設定前のカウンタ値が「202」である場合に、同期カウンタ値として「100」を取得したとき、カウンタ管理部212は、カウンタ値を100に設定する(図7)。
ステップS625において、再生制御部214は、上記(式1)〜(式3)を用いて目標カウンタ値HTstartを算出する。例えば、目標時刻が「09:00:00」であり、定数Cが1000である場合、目標カウンタ値HTstart=600100となる(図7)。
ステップS626において、再生制御部214は、カウンタ管理部212が管理するカウンタ値が目標カウンタ値HTstartに一致したら、コンテンツを再生する。具体的には、再生制御部214は、カウンタ管理部212が管理するカウンタ値を監視し、カウンタ値が目標カウンタ値600100になったら、コンテンツを再生する。
なお、再生装置20(再生制御部214)は、コンテンツ取得部213が取得したコンテンツを再生する制御を行うだけでなく、ストリーミングサーバから配信されるストリーミングコンテンツを再生する制御を行う機能を備えていてもよい。
具体的には、LAN30にストリーミングサーバ(不図示)が接続されており、ストリーミングサーバがLAN30を介して再生装置20にストリーミングコンテンツを配信している場合を想定する。再生装置20は、NIC203により上記ストリーミングコンテンツを受信し、受信したストリーミングコンテンツを再生制御部214が再生する。
この場合、再生装置20は、コンテンツ取得部213が取得したコンテンツを再生するか、ストリーミングコンテンツを受信するかを適切に切り替えるようにしてもよい。例えば、ストリーミングコンテンツを受信するか否かに応じて、切り替えるようにしてもよい。具体的には、再生制御部214は、ストリーミングサーバから配信されるストリーミングコンテンツを受信した場合に、受信したストリーミングコンテンツを再生する制御を行い、ストリーミングコンテンツを受信しない場合に、コンテンツ取得部213が取得したコンテンツを再生する制御を行うようにしてもよい。このようにすれば、コンテンツ取得部213が取得するコンテンツを、ストリーミングコンテンツが配信されない場合のためのバックアップコンテンツとして用いることができる。
以上のように、本実施の形態に係る再生システムによれば、複数の再生装置は、互いに同期してコンテンツを再生することができる。各再生装置は、同期して再生するために必要な時刻情報とカウンタ値とを同期装置から受信し、受信した時刻情報とカウンタ値とを基準としてコンテンツの再生タイミングを決定する。各再生装置は、設計上同一の時間間隔で増加するカウンタ値を用いて、同一の基準に基づいて再生タイミングを決定するので、複数の再生装置にわたる再生タイミングのずれを抑えることができる。よって、再生システムは、再生装置ごとの再生タイミングのずれを抑制することができる。
(実施の形態2)
本実施の形態において、複数のフレームからなるコンテンツを再生する際の再生装置ごとの再生タイミングのずれを抑制する再生システム等について説明する。
本実施の形態に係る再生システムの構成は、実施の形態1の再生システム1と同様である。また、同期装置及び再生装置のハードウェア構成は、それぞれ、実施の形態1の同期装置10及び再生装置20と同じである。
図8は、本実施の形態に係る再生システムの機能ブロック図である。
図8に示されるように、再生システム2は、同期装置11と再生装置21とを備える。
同期装置11は、時刻管理部111と、カウンタ管理部112と、送信部123とを備える。また、再生装置21は、取得部211と、カウンタ管理部212と、コンテンツ取得部223と、再生制御部224とを備える。実施の形態1におけるものと同一の機能ブロックには同一の符号を付し、説明を省略する。
送信部123は、複数のタイミングにおける、時刻管理部111が管理している時刻情報と、カウンタ管理部112が管理しているカウンタ値とを再生装置21に送信する。具体的には、実施の形態1で説明した時刻情報の取得、カウンタ値の取得、及び、取得した時刻情報とカウンタ値とを記述した通知パケットの送信という一連の処理を、複数のタイミングにおいて行う。なお、複数のタイミングの間の時間間隔は一定であってもよいし、一定でなくてもよい。
コンテンツ取得部223は、コンテンツを取得する。コンテンツ取得部223が取得するコンテンツには、複数のフレームが含まれている。当該コンテンツにおいて、コンテンツ内における各フレームの相対的な再生時刻がカウンタ値(相対カウンタ値)を用いて定められている。相対カウンタ値は、例えば、コンテンツの先頭フレームからのカウンタ値の差分で表現される。なお、複数のフレームのそれぞれを一度に取得するか、順次取得するかはどちらでもよい。
再生制御部224は、目標時刻情報と同期時刻情報とにより定まる差分時間の分だけ同期カウンタ値から増加させた基準カウンタ値を決定する。そして、コンテンツに含まれる複数のフレームのそれぞれについて、決定した基準カウンタ値から、各フレームに定められている相対カウンタ値を増加させた目標カウンタ値に、カウンタ管理部212が管理するカウンタ値が一致するときに、当該フレームを再生する制御を行う。
図9は、本実施の形態に係るコンテンツの再生方法の説明図である。
図9の(a)に示されるように、コンテンツは、フレーム0からフレームnまでの(n+1)枚のフレームで構成されるとする。また、上記の各フレームには、相対カウンタ値HTnが付されている。具体的には、フレーム0には、相対カウンタ値HT0=0が付されており、フレーム1には、相対カウンタ値HT1=3が付されている。
図9の(b)を参照しながら各フレームの再生方法について説明する。
まず、再生制御部224は、実施の形態1における再生制御部214と同様の方法により、目標時刻情報と同期時刻情報とを取得する。そして、再生制御部224は、目標時刻情報と同期時刻情報との差分時間の分だけ同期カウンタ値から増加させた基準カウンタ値HTstartを決定する(図9の(b)において、HTstart=600100)。基準カウンタ値は、実施の形態1における目標カウンタ値に相当する。
次に、再生制御部224は、コンテンツに含まれるフレームのそれぞれを再生する時刻を示すカウンタ値CHTnを算出する。CHTnは、目標カウンタ値HTstartに、各フレームの相対カウンタ値HTnを加算することで算出される。例えば、図9の(b)に示されるように、CHT0=600100、CHT1=600103と算出される。
そして、再生制御部224は、フレームのそれぞれのCHTnに、カウンタ管理部212が管理するカウンタ値が一致するときに、当該フレームを再生する。
また、同一の仕様に基づいて設計された複数の再生装置が存在している場合、比較的長時間が経過すると、複数の再生装置により再生される画像の再生タイミングがずれる現象が生じ得る。その原因の一つは、複数の再生装置におけるHT104のカウンタ値を増加させる時間間隔が、厳密に同一でないことである。この現象を回避する方法について、以下で説明する。
図10は、本実施の形態に係る継続的に同期をとる方法の説明図である。
図10に示されるように、同期装置11は、再生装置21に対して、定期的にカウンタ値HC(HC1、HC2、・・・)を送信する。具体的には、同期装置11のカウンタ管理部112がHT104からカウンタ値を取得し、取得したカウンタ値をHCとして送信部123が送信する。
また、同期装置11は、再生装置21に対して、カウンタ値HCの送信間隔より長い間隔で定期的に、同期時刻情報と同期カウンタ値と((STbase1,HTbase1)、(STbase2,HTbase2)、・・・)を送信する。具体的には、同期装置11の時刻管理部111がST101から時刻情報を取得し、カウンタ管理部112がHT104からカウンタ値を取得し、取得した時刻情報及びカウンタ値をそれぞれSTbase及びHTbaseとして、送信部123が送信する。
このように同期装置11がカウンタ値HCを定期的に送信することで、同期装置11のHT104と、再生装置21とのHT204のずれを抑制することができる。また、同期装置11が、時刻情報とカウンタ値とを定期的に送信することで、比較的新しい(比較的近い過去の)同期時刻情報及び同期カウンタ値を用いて、再生装置21における再生タイミング調整を行うことができる。
(実施の形態3)
本実施の形態において、実施の形態1及び2の変形例について説明する。
図11は、本実施の形態の第一の構成(実施の形態1及び2の第一の変形例)の説明図である。
図11に示される再生システム3は、4つの再生装置20A、20B、20C、及び、20Dを備える。そして、再生装置20A及び20Bは、それぞれ表示装置25A及び25Bにより第一のコンテンツを同期再生し、再生装置20C及び20Dは、それぞれ表示装置25C及び25Dにより、第一のコンテンツとは異なる第二のコンテンツを同期再生する。
このように、本実施の形態における再生システムによれば、2以上のコンテンツのそれぞれを、複数の再生装置において同期再生することも可能である。
図12は、本実施の形態の第二の構成(実施の形態1及び2の第二の変形例)の説明図である。
図12に示される再生システム4は、2つの再生装置20E、及び、20Bを備える。また、再生装置20Eは、その内部に同期装置10を備える。なお、再生装置20Eは、各実施の形態における再生装置の機能に加えて、同期装置10の機能を有するともいえる。また、再生装置20Eは、再生装置と同期装置との機能を兼ね備えるとも表現される。
再生装置20Eは、自装置によるコンテンツの再生タイミングと、再生装置20Aによるコンテンツの再生タイミングとを同期装置10の機能により同期させることができる。
なお、再生装置20Eが再生装置と同期装置との機能を兼ね備える場合、共通するハードウェア構成を共有することが可能であり、製造コスト又は運用コストなどを低減させることができる。
(実施の形態4)
本実施の形態において、再生装置ごとの再生タイミングのずれを抑制する再生システム等について、さらに、複数の再生装置のうちの1つを実施の形態1等における同期装置として機能させる方法を説明する。
なお、再生装置のうち同期装置としての動作も行うものを「マスタ」ということがあり、再生装置のうちマスタ以外のものを「スレーブ」ということがある。
図13は、本実施の形態に係る再生システム5のネットワーク構成図である。
図13に示されるように、再生システム5は、再生装置23A及び23B(以降、再生装置23A等とも表記する)を備える。再生装置23A等は、LAN30を介して接続され、相互に通信可能である。再生装置23A等は、実施の形態1におけるものと同様、コンテンツを再生するための表示装置に接続されている(不図示)。なお、再生システム5は、LAN30に接続された3以上の再生装置を備えてもよい。
再生装置23A等は、実施の形態1における再生装置20Aと同じ機能(以降、再生機能ともいう)を有し、電源がONされた状態において原則として常に再生機能を発揮する。また、再生装置23A等は、実施の形態1における同期装置10と同じ機能(以降、同期機能ともいう)を有する。再生装置23A等は、同期機能を発揮する状態と、発揮しない状態とを取り得る。同期機能を発揮している再生装置23A等がマスタに相当し、同期機能を発揮していない再生装置23A等がスレーブに相当する。また、再生装置23A等は、互いに通信することで、LAN30に接続された再生装置のうちマスタとなる1台を選出する。
より具体的には、図13の(a)に示されるように、再生装置23A等は、電源がONされた後の時点では、いずれもスレーブとして機能する。そして、再生装置23A等は、互いに情報を送受信し、送受信した情報を処理することで、マスタとなる1台を選出する。ここでは、マスタとなる1台として、再生装置23Bが選出されたとする。その後、図13の(b)に示されるように、再生装置23Bの同期部12が動作することで、再生装置23Bが同期機能を発揮するようになる(つまり、マスタとなる)。なお、同期部12の機能については後で詳しく説明する。
なお、図13の(b)の再生装置23A及び23Bは、それぞれ、図12の再生装置20B及び20Eに相当する。
以降において、再生装置23A及び23Bの詳細な構成について説明する。
図14は、本実施の形態に係る再生装置23の機能ブロック図である。なお、再生装置23は、再生装置23A及び23Bのそれぞれに相当する。
図14に示されるように、再生装置23は、同期部12と、再生部22と、装置制御部140とを備える。
同期部12は、実施の形態1における同期装置10と同等の機能を有する機能ブロックである。同期部12が動作しているときには、再生装置23はマスタとして機能し、同期部12が動作していないときには、再生装置23はスレーブとして機能する。同期部12は、機能制御部145により、動作するか、又は、動作しないかを制御される。同期部12の機能は、実施の形態1における同期装置10の機能と同じであるので、詳細な説明を省略する。
再生部22は、実施の形態1における再生装置20と同等の機能を有する機能ブロックである。再生部22は、再生装置23が動作しているときは原則として常に動作している。再生部22の機能は、実施の形態1における再生装置20の機能と同じであるので、詳細な説明を省略する。
装置制御部140は、他の再生装置23との間で互いに情報を送受信し、送受信した情報に基づいて同期部12を動作させるか否かを制御する処理部である。装置制御部140は、送受信した情報に基づいて、LAN30に接続された再生装置23のうちマスタとなる1台を選出するための判定処理を行い、当該判定処理により自装置がマスタとなる1台であると判定された場合に、同期部12を動作させるように制御する。装置制御部140は、識別情報提供部141と、識別情報取得部142と、判定部143と、保持部144と、機能制御部145とを備える。
識別情報提供部141は、自装置である再生装置23を示す識別情報を他の再生装置23に提供する処理部及び通信インタフェースである。識別情報提供部141は、上記識別情報をLAN30にブロードキャスト送信し、他の再生装置23は、ブロードキャスト送信されたこの識別情報を受信する。なお、自装置である再生装置23を示す識別情報は、第一の識別情報に相当する。
ここで、識別情報は、再生装置23の1つを他の再生装置23から識別することが可能な情報であれば何でもよい。言い換えれば、識別情報は、再生装置23の1つを他の再生装置23と区別するために使える情報であれば何でもよい。識別情報は、例えば、通信インタフェースのMAC(Media Access Control)アドレスであり、以下では、識別情報としてMACアドレスを用いる例を説明する。なお、識別情報としては、上記の他にも、IP(Internet Protocol)アドレス、再生装置固有の識別番号、又は、その他の専用の番号等を使用することもできる。
識別情報提供部141は、識別情報をLAN30を介して他の再生装置23に複数回送信する。以降では、識別情報提供部141が識別情報を予め定められた時間(例えば2秒)ごとに周期的に送信する例を以降で説明するが、この送信間隔は、送信するごとに異なる時間としてもよい。
なお、識別情報は、パケットに含められて送信されるが、当該パケットには、判定処理においてマスタとなる1台に選出されるか、又は、選出されないかを調整するための各種フラグを含んでもよい。なお、実施の形態1の通知パケット(図5)を、上記パケットとして用いる例を以下で説明する。通知パケットは、MACヘッダ内に送信元MACアドレスが記述されているので、必然的に識別情報を含んだものとなる利点がある。
識別情報取得部142は、1又は複数の他の再生装置23から、当該他の再生装置23の識別情報を取得する処理部及び通信インタフェースである。識別情報取得部142は、他の再生装置23の識別情報提供部141がLAN30を介して提供する識別情報を取得する。なお、他の再生装置23から取得する識別情報は、第二の識別情報に相当する。
判定部143は、再生装置23(自装置)の識別情報が、他の再生装置23の識別情報との関係により定められる条件を満たすか否かを判定する処理部である。具体的には、判定部143は、LAN30に接続された再生装置23のいずれか1つを特定するための条件を用いて上記判定をする。この条件には、さまざまなものを用いることができるが、例えば、識別情報としてMACアドレスを用いる場合には、LAN30に接続された再生装置23のうちMACアドレスが最大である、という条件とすることができ、以降ではこの条件を用いて説明する。このようにMACアドレスが最大であるという条件を用いることで、再生システム全体の品質がより高くなるメリットがある。なぜなら、製品の製造順にMACアドレスが小さいものから付与されるという想定の下では、後の時期に製造された再生装置ほど、より大きなMACアドレスが付与される。また、後の時期に製造された再生装置ほど、搭載されるハードウェア又はソフトウェアのバージョンが新しい。よって、上記条件を用いれば、搭載しているハードウェア又はソフトウェアのバージョンが新しい再生装置ほど、マスタになりやすいという傾向を持たせることができるからである。
他にも、LAN30に接続された再生装置23のうちMACアドレスが最小である、という条件とすることもできるし、LAN30に接続された再生装置23のうちMACアドレスが所定の数値に最も近い、という条件とすることもできる。また、自装置に設定されたフラグ、及び、識別情報とともに他の再生装置23から取得するフラグを上記条件に加味することもできる。フラグとその機能とについては、後で詳しく説明する。
ここで、MACアドレスの大小は、MACアドレスを16進数の数値として見た場合の大小のことである。例えば、MACアドレス「xx:xx:xx:xx:xx:0a」は、MACアドレス「xx:xx:xx:xx:xx:03」より大きい。ここで、「xx:xx:xx:xx:xx」の部分は、上記2つのMACアドレスにおいて共通であり、xそれぞれは、16進数の1桁の任意の数値(0〜f)である。
判定部143が上記判定を行うタイミングは、少なくとも1つの識別情報を受信した後であればいつでもよいが、識別情報取得部142が識別情報を複数回受信した後に行うのが望ましい。
具体的には、判定部143は、識別情報取得部142が識別情報の待受けを開始してから現在時刻までの時間を計時し、待受けを開始してから10秒間継続的に識別情報を取得した場合に、当該10秒間に取得した識別情報に対する条件を判定するようにしてもよい。このようにすることで、複数の再生装置のそれぞれが、他の再生装置23の識別情報を提供及び取得する時間を考慮することができる。また、複数の再生装置23の電源を一度に投入した場合にわずかに生ずる再生装置間の起動タイミングのずれを吸収できる。
また、判定部143は、識別情報の受信待ちを行っているときに、所定時間(例えば5秒間)、他の再生装置23からの識別情報を受信しない場合には、上記の時間の計時をリセットするリセット処理をしてもよい。具体的には、判定部143は、識別情報取得部142が識別情報を継続的に受信している時間(以降、継続時間ともいう)を計時するようにし、他の再生装置23からの識別情報をいずれからも所定時間受信しない場合には継続時間の計時をリセットするようにしてもよい。他の再生装置23からの識別情報を所定時間受信しないということは、LAN30上に安定的に他の再生装置23が存在していないことを意味しており、適切なマスタの選出ができない状況であると考えられるからである。
また、判定部143は、LAN30上にマスタが1台も存在しなくなった場合、又は、LAN30上に複数のマスタが存在する場合にも上記判定を行うようにしてもよい。
また、判定部143は、自装置の再生部22(取得部211)が取得する同期時刻情報および同期カウンタ値の送信元である、同期装置として機能する再生装置23を示す識別情報を管理している。この情報は、自装置にとってのマスタがどの再生装置であるかを示す情報であることから、マスタ情報ともいう。判定部143は、自装置の再生部22(取得部211)が同期時刻情報および同期カウンタ値を取得した場合に、その送信元が、管理しているマスタ情報により示されるマスタであるか否かを判定し、マスタである場合に、その同期時刻情報および同期カウンタ値を有効なものとして扱われるようにする。また、判定部143は、所定の場合にマスタ情報を消去するクリア処理を行い、また、マスタ情報を保有していない場合にマスタからの通知パケットを受信すると、受信した通知パケットに含まれている識別情報をマスタ情報として新たに管理する。クリア処理を行う条件又はタイミングは、後で具体例を用いて説明する。
なお、判定部143は、識別情報取得部142が取得した識別情報を所定期間、保持部144に保持することにしてもよい。その場合、判定部143は、識別情報取得部142が取得した識別情報を保持部144に格納し、判定をするタイミングになったら、格納しておいた識別情報を保持部144から読み出して判定を行うようにしてもよい。
保持部144は、識別情報を保持するための記憶装置である。保持部144は、識別情報取得部142により取得された識別情報を取得し、取得した識別情報を保持テーブル1611に格納して保持している。
機能制御部145は、判定部143により自装置がマスタとなるための上記条件を満たすと判定されたときに、再生装置23をマスタとして機能させる処理部である。具体的には、機能制御部145は、同期部12を動作させることにより、再生装置23をマスタとして機能させる。
図15は、本実施の形態に係る通知パケット503の説明図である。
図15に示されるように、通知パケット503は、MACアドレス、STbase(同期時刻情報)、HTbase(同期カウンタ値)、及び、フラグを含む。
通知パケット503に含まれるMACアドレスは、通知パケット503を送信した再生装置23のMACアドレスである。
通知パケット503に含まれるSTbase及びHTbaseは、実施の形態1におけるSTbase及びHTbaseと同じである。
通知パケット503に含まれるフラグは、判定処理に用いられる情報であり、複数のフラグを含む。例えば、フラグは、マスタフラグ、対応フラグ、常時スレーブフラグ、又は、代替フラグを含む。
マスタフラグは、通知パケット503を送信した再生装置23がマスタである場合に1にセットされ、そうでない場合に0にセットされる。再生装置23は、マスタフラグが1にセットされている通知パケットを受信した場合、当該通知パケットがマスタから送信されたものであることを認識することができる。
対応フラグは、通知パケット503を送信した再生装置23が、本実施の形態に示す装置制御部140によるマスタの選出処理に対応している場合に1にセットされ、そうでない場合に0にセットされる。再生装置23は、対応フラグが0にセットされている通知パケットを受信した場合、当該通知パケットを送信した再生装置23はマスタの候補としないものとして扱う。具体的には、判定部143による条件判定の際に、対応フラグが0にセットされている通知パケットの送信元である再生装置23を、条件判定の対象から除外する。また、自装置の対応フラグが0にセットされている場合、判定部143は、判定部143による条件判定をしない。この場合、自装置がマスタであるかスレーブであるかは観念できないものとする(他の再生装置23にとってはスレーブである場合と同等に扱われる)。
常時スレーブフラグは、通知パケット503を送信した再生装置が、スレーブとしてのみ動作する、つまり、マスタとして機能しない動作モードである場合に1にセットされ、そうでない場合に0にセットされる。常時スレーブフラグの機能は、対応フラグに類似している。ただし、自装置の常時スレーブフラグが1にセットされている場合、判定部143は、判定部143による条件判定において常に、条件を満たさないと判定する点で異なる。
代替禁止フラグは、通知パケット503を送信した再生装置23が、LAN30上にマスタが既に存在しているときには、自装置がマスタとして機能する(つまり、自装置が既存のマスタを代替する)ことを禁止する動作モードである場合に1にセットされ、そうでない場合に0にセットされる。再生装置23は、マスタから送信された通知パケットであっても、代替禁止フラグが1にセットされている通知パケットを受信した場合には、新たな判定処理を行わない。
図16は、本実施の形態に係る保持テーブル1611の説明図である。
保持テーブル1611は、識別情報が格納されたテーブルであり、保持部144が保持しているものである。保持テーブル1611には、識別情報を取得した時刻と、識別情報としてのMACアドレスと、フラグとが対応付けられて格納されている。
図16に示される保持テーブル1611は、LAN30に再生装置23A、23B及び23Cが接続されている場合に、再生装置23Aが保持している保持テーブル1611の一例を示すものである。保持テーブル1611は、自装置(再生装置23A)以外の再生装置から受信した通知パケットから得られる情報が格納されている。例えば、図16に示される保持テーブル1611のエントリ1621には、例えば、再生装置23Bから時刻「2015年1月1日12時34分1秒1ミリ秒」に取得したMACアドレスとフラグとが格納されている。
以上のように構成された再生装置23の動作について以降で説明する。
図17は、本実施の形態に係る装置制御部140の処理のフロー図である。以降の説明は、LAN30に再生装置23A及び23Bが接続されている場合の再生装置23Aの処理を示すものである。再生装置23Bでも同様の処理が行われる。
当初、再生装置23A及び23Bのそれぞれが再生装置としてのみ動作しており、かつ、再生装置23A及び23Bのどちらかを同期装置として機能させることが必要な状態にあるものとする。このような状態は、例えば、再生装置23A及び23Bがほぼ同時に電源ONされた後に生ずる。
ステップS801において、識別情報提供部141は、自装置の識別情報を再生装置23Bに提供する。具体的には、識別情報提供部141は、自装置のMACアドレスを記述した通知パケットを再生装置23Bに送信する。
ステップS802において、識別情報取得部142は、他の再生装置としての再生装置23Bから識別情報を取得する。具体的には、識別情報取得部142は、再生装置23BのMACアドレスを送信元MACアドレスとした通知パケットを再生装置23Bから受信する。本ステップにおいて、識別情報取得部142は、所定時間(例えば10秒間)通知パケットの受信待ちを行い、当該所定時間が終了したらステップS803に進む。
ステップS803において、判定部143は、自装置の識別情報が、再生装置23Bの識別情報との関係により定められるマスタとしての条件を満たすか否かを判定する。ステップS803で自装置の識別情報が上記条件を満たすと判定された場合(ステップS803でYes)には、ステップS804に進む。一方、自装置の識別情報が上記条件を満たさないと判定された場合(ステップS803でNo)には、ステップS811に進む。
ステップS804において、機能制御部145は、自装置の同期部12の動作を開始させる。
ステップS811において、機能制御部145は、自装置の同期部12の動作を停止している状態のまま維持する。
ステップS804又はステップS811を終了したら、図17に示される一連の処理を終了する。
なお、再生装置23A及び23Bのいずれかの同期部12が既に動作している、つまり、再生装置23A及び23Bのいずれかがマスタとして機能している場合にも、図17に示される一連の処理を実行してもよい。この場合、再生装置23Aの同期部12が既に動作している状態でステップS804を実行するときには、機能制御部145は、同期部12が動作している状態を維持する。また、再生装置23Aの同期部12が既に動作している状態でステップS811を実行する場合には、機能制御部145は、同期部12の動作を停止させる。
以降において、本実施の形態に係る再生システム5における選出処理について、さらに詳細に説明する。
図18は、本実施の形態に係る再生システム5におけるマスタの選出方法を示す第一のシーケンス図である。図18に示される第一のシーケンス図では、2台の再生装置からマスタとなる1台を選出する基本的な処理が示されている。
なお、以降のシーケンス図において、再生装置のうち記号「M」で示される期間は、再生装置がマスタとして機能している期間を意味し、再生装置のうち記号「S」で示される期間は、再生装置がスレーブとして機能している期間を意味するものとする。
図18に示される再生システム5は、再生装置23A及び23Bを備える。再生装置23BのMACアドレスは、再生装置23AのMACアドレスより大きいものとする。
再生装置23Aは、識別情報の待受けの開始処理1811を行う。ここで、待受けの開始処理とは、他の再生装置としての再生装置23Bから識別情報を受信するための受信待ち状態に入る処理のことである。例えば、再生装置23Aは、電源ONの後、装置の起動処理中、又は、起動処理が完了した後に、待受けの開始処理1811を行うものとする。また、再生装置23Aは、開始処理1811の後、スレーブとして2秒間隔で通知パケット511を繰り返し送信する。通知パケット511は、マスタフラグが0にセットされたものである。
再生装置23Bは、識別情報の待受けの開始処理1812を行う。待受けの開始処理1812は、再生装置23Aにおける待受けの開始処理1811と同様である。また、再生装置23Bは、開始処理1821の後、スレーブとして2秒間隔で通知パケット512を繰り返し送信する。通知パケット512は、マスタフラグが0にセットされたものである。
再生装置23Bは、通知パケット511を最初に受信してから10秒間継続的に通知パケット511を受信したら、判定部143による判定処理1822(ステップS803)を行う。判定処理1822において、再生装置23Bの判定部143は、再生装置23BのMACアドレスがLAN30に接続された再生装置のうちの最大である、言い換えれば、再生装置23AのMACアドレスより大きいと判定する。その結果、再生装置23Bの機能制御部145は、再生装置23Bの同期部12の動作を開始させる(ステップS804)ことで、再生装置23Bをマスタとして機能することを開始させる。
再生装置23Aは、通知パケット512を最初に受信してから10秒間継続的に通知パケット512を受信したら、判定部143による判定処理1812(ステップS803)を行う。判定処理1812において、再生装置23Aの判定部143は、再生装置23AのMACアドレスがLAN30に接続された再生装置のうちの最大でない、言い換えれば、再生装置23BのMACアドレスより小さいと判定する。その結果、再生装置23Aの機能制御部145は、同期部12の動作を停止したまま維持する(ステップS811)。
その後、再生装置23Bが送信する通知パケット512Aは、マスタフラグが1にセットされたものとなる。一方、再生装置23Aが送信する通知パケット511は、判定処理1812の前と変わらず、マスタフラグが0にセットされたものである。
このように、再生装置23A及び23Bのうちからマスタとなる1台が適切に選出され、その後、マスタが通知パケットにより、再生装置23が同期して再生するために必要な時刻情報とカウンタ値とを再生装置23に送信する。
図19は、本実施の形態に係る再生システム5におけるマスタの選出方法を示す第二のシーケンス図である。図19に示される第二のシーケンス図では、2台の再生装置がマスタとなる1台を選出するための識別情報の待受けをしているときに、1台の再生装置が新たにLAN30に接続され、マスタの候補に加わる場合の処理が示されている。
図19に示される再生システム5は、再生装置23A、23B及び23Cを備える。LAN30には、当初、上記再生装置のうち再生装置23A及び23Bだけが接続されており、上記待受け中に再生装置23Cが新たに接続されるものとする。また、再生装置23CのMACアドレスは、再生装置23BのMACアドレスより大きく、再生装置23BのMACアドレスは、再生装置23AのMACアドレスより大きいものとする。
再生装置23A及び23Bは、図18の場合と同様、それぞれ、識別情報の待受けの開始処理1911及び1921を行い、その後、スレーブとして2秒間隔で通知パケット521及び522を繰り返し送信する。
そして、再生装置23A及び23Bは、図18の場合と同様、それぞれ、通知パケットを最初に受信してから10秒経過したら、判定部143による判定処理1912及び1922(ステップS803)を行う。判定処理において、判定部143は、自装置のMACアドレスが、再生装置23A、23B及び23Cのうちの最大ではないと判定する。その結果、機能制御部145は、同期部12の動作を停止したまま維持する(ステップS811)。
再生装置23Cは、通知パケットを最初に受信してから10秒経過したら、判定部143による判定処理1932(ステップS803)を行う。判定処理において、再生装置23Cの判定部143は、再生装置23CのMACアドレスが、再生装置23A、23B及び23Cのうちの最大であると判定する。その結果、再生装置23Cの機能制御部145は、再生装置23Cの同期部12の動作を開始させる(ステップS804)ことで、再生装置23Cをマスタとして機能することを開始させる。
このように、再生装置23A、23B及び23Cのうちからマスタとして機能する1台が適切に選出される。
図20は、本実施の形態に係る再生システム5におけるマスタの選出方法を示す第三のシーケンス図である。図20に示される第三のシーケンス図では、2台の再生装置がマスタとなる1台を選出するための待受けをしているときに、そのうちの1台の再生装置が待受けを停止し、その後待受けを再開する場合の処理が示されている。
再生装置23A及び23Bは、図18の場合と同様、それぞれ、識別情報の待受けの開始処理2011及び2021を行い、その後、スレーブとして2秒間隔で通知パケット531及び532を繰り返し送信する。
その後、再生装置23Bが待受けの停止2022をする。
再生装置23Aは、最後に通知パケットを受信してから例えば5秒間、新たな通知パケットを受信しないことを検知すると、識別情報取得部142が連続的に識別情報を受信している継続時間の計時のリセット処理2012をする。
その後、再生装置23Bが待受けの開始2023(つまり、待受けの再開)をし、2秒間隔で通知パケット532を繰り返し送信する。
再生装置23Aは、開始2023の後に最初に通知パケット532を受信してから10秒経過したら、判定部143による判定処理2013(ステップS803)を行う。一方、再生装置23Bは、開始2023の後に通知パケット531を最初に受信してから10秒経過したら、判定部143による判定処理2024(ステップS803)を行う。
判定処理2013及び2024の処理内容及び判定結果は、図18の判定処理1812及び1813と同じであるので説明を省略する。
このように、再生装置23A及び23Bのうちからマスタとなる1台が適切に選出される。
図21は、本実施の形態に係る再生システム5におけるマスタの選出方法を示す第四のシーケンス図である。図21に示される第四のシーケンス図では、3台の再生装置がLAN30に接続され、そのうち1台がマスタとして機能しているときに、当該マスタが動作を停止した場合の処理が示されている。各再生装置のMACアドレスの大小関係は、図19の場合と同一である。
当初、再生装置23A及び23Bは、スレーブとして機能しており、それぞれ、マスタフラグが0にセットされた通知パケット541及び542を2秒間隔で繰り返し送信している。また、再生装置23Cは、マスタとしても動作しており、マスタフラグが1にセットされた通知パケット543を2秒間隔で繰り返し送信している。
この状態において、再生装置23Cが動作の停止2131をする。再生装置23Cが動作の停止2131をすると、LAN30にマスタが存在しないことにより、再生装置が同期して再生するために必要な時刻情報とカウンタ値とが送信されない状態となり、再生装置23A及び23Bのうちから、新たにマスタとして機能する再生装置を選出することが必要となる。
再生装置23Cが動作の停止2131をすると、再生装置23A及び23Bのそれぞれは、マスタフラグが1にセットされた通知パケットを受信することがなくなる。
再生装置23A及び23Bのそれぞれは、最後にマスタフラグが1にセットされた通知パケットを受信してから所定時間(例えば5秒間)経過した後に、判定部143によるクリア処理2111及び2121行う。そして、その後所定時間(例えば10秒間)、他の再生装置から通知パケットを受信し、受信した通知パケットに基づいて判定処理2112及び2122(ステップS803)を行う。
その結果、再生装置23Aの機能制御部145は、同期部12の動作を停止したまま維持する(ステップS811)。また、再生装置23Bの機能制御部145は、再生装置23Bの同期部12の動作を開始させる(ステップS804)ことで、再生装置23Bをマスタとして機能することを開始させる。その後に再生装置23Bが送信する通知パケット542Aは、マスタフラグが1にセットされたものとなる。
このように、マスタとして機能している再生装置23Cが動作を停止した場合にも、再生装置23A及び23Bのうちから新たにマスタとして機能する1台が適切に選出される。
図22は、本実施の形態に係る再生システム5におけるマスタの選出方法を示す第五のシーケンス図である。図22に示される第五のシーケンス図では、2台の再生装置がLAN30に接続され、そのうち1台がマスタとして機能しているときに、LAN30が他のLAN(LAN31)に接続する場合の処理が示されている。
当初、再生装置23A及び23Bは、LAN30に接続されており、再生装置23Aがスレーブとして機能しており、再生装置23Bがマスタとして機能している。再生装置23Aは、マスタフラグが0にセットされた通知パケットを繰り返し送信しており、再生装置23Bは、マスタフラグが1にセットされた通知パケットを繰り返し送信している。再生装置23Cは、LAN30と断絶されたLAN31に接続されており、LAN31においてマスタとして機能している。
その後、LAN30とLAN31とが接続される。
これにより、再生装置23Aは、再生装置23Cからマスタフラグが1にセットされた通知パケット553を受信するようになる。また、後述するように、再生装置23Aは、再生装置23Bからマスタフラグが0にセットされた通知パケット552Aを受信するようになる。この場合、再生装置23Aは、通知パケット552Aを初めて再生装置23Bから受信したらクリア処理2211を行う。その後、再生装置23Aは、再生装置23Cからマスタフラグが1にセットされた通知パケット553を受信することで、自装置が管理しているマスタ情報を再生装置23Cに変更する。なお、図22のシーケンス図に示される全期間において、再生装置23Aの機能制御部145は、再生装置23Aの同期部12の動作を停止したまま維持している。
また、再生装置23Bは、再生装置23Cからマスタフラグが1にセットされた通知パケット553を受信するようになる。この場合、再生装置23Bは、マスタフラグが1にセットされた通知パケット553を初めて再生装置23Cから受信したら判定処理2221(ステップS803)を行う。このようにするのは、再生装置23Bと再生装置23Cとが共にマスタであるので、マスタになるべき1つの再生装置を特定する必要があるからである。その結果、再生装置23Bの判定部143は、再生装置23BのMACアドレスが最大でないと判定し、再生装置23Bの機能制御部145は、再生装置23Bの同期部12の動作を停止させる(ステップS811)。
また、再生装置23Cは、再生装置23Bからマスタフラグが0にセットされた通知パケット552を受信するようになる。この場合、再生装置23Cは、マスタフラグが0にセットされた通知パケット552を初めて再生装置23Bから受信したら判定処理2231(ステップS803)を行う。このようにするのは、再生装置23Bの判定処理2221と同様の理由である。その結果、再生装置23Cの判定部143は、再生装置23CのMACアドレスが最大であると判定し、再生装置23Cの機能制御部145は、再生装置23Cの同期部12が動作している状態を維持する(ステップS804)。
このように、LANが接続される等の要因により、マスタがLANに複数台存在する場合にも、LANに接続された再生装置のうちからマスタとして機能する1台が適切に選出される。
図23は、本実施の形態に係る再生システム6の応用例を示す模式図である。
図23に示される再生システム6は、LAN30に接続された9台の再生装置23A〜23Iを備える。9台の再生装置23A〜23Iのそれぞれは、表示装置25A〜25Iにコンテンツを表示させている。また、9台の再生装置23A〜23Iのそれぞれは、表示装置25A〜25Iにコンテンツを表示させるときに、コンテンツのフレーム内の所定の領域を拡大する機能を有する。この機能を用いて、再生装置23Aは、例えば、コンテンツのフレームを縦3×横3の9区画に区切ったうちの左上の区画に含まれる画像を、縦横それぞれ3倍に拡大した映像を表示装置25Aに表示させる。また、再生装置23Bは、左中央の区画に含まれる画像を、縦横それぞれ3倍に拡大した映像を表示装置25Bに表示させる。他の再生装置23C〜23Iについても同様に、表示装置25C〜25Iに表示させる。
なお、9台の再生装置23A〜23Iのそれぞれが上記機能を有する代わりに、表示装置25A〜25Iにより表示させたいコンテンツの映像データを予め加工することで9つに分割したデータを、それぞれ9台の再生装置23A〜23Iが各々所定の領域の映像データを表示させるようにしてもよい。
表示装置25A〜25Iは、縦3×横3にマトリクス状に配置され、上記のように再生装置23A〜23Iから受信した映像信号に基づいて画像を表示する。これにより、コンテンツが縦3×横3に拡大された映像が、表示装置25A〜25Iにより映し出される。
9台の再生装置23A〜23Iは、上記のようにマスタとして機能する1台を選出する処理を行い、再生装置23Iがマスタとして機能している。これにより、9台の再生装置23A〜23Iが同期してコンテンツを再生することができる。
特に、1つのコンテンツを複数の画面に渡って拡大して表示する場合には、画面ごとの再生タイミングのずれは、視聴者に把握されやすい。上記により画面ごとの再生タイミングのずれを抑制することで、視聴者による視聴効果を向上する利点がある。
以上のように本実施の形態に係る再生システム5又は6では、再生装置23がマスタとして機能するか、スレーブとして機能するかを、再生装置23同士の情報のやりとりによって決定する。このようにすることで、LAN30のネットワーク障害又は再生装置23の故障などによりLAN30上に同期装置が存在しない状況になっても、新たな同期装置が選出されることにより、再生装置23間の同期を継続することができる利点がある。
また、ユーザによる誤設定によりLAN30上に同期装置が複数存在する、又は、1台も存在しないという状況を回避することができる利点がある。また、ユーザによる設定が不要となることから、ユーザによる保守、運用に係るコストを削減することもできる利点がある。
以上のように本実施の形態に係る再生システムは、複数の再生装置同士でやりとりされる識別情報に基づいて、複数の再生装置のうち同期装置として機能するもの(マスタ)を適切に選出し、選出された再生装置が同期装置として同期再生のために必要な時刻情報とカウンタ値とを他の再生装置に送信する。これにより、各再生装置は、同一の基準に基づいて再生タイミングを決定するので、複数の再生装置にわたる再生タイミングのずれを抑え、同期して(他の再生装置と同じ再生タイミングで)コンテンツを再生することができる。よって、再生装置は、再生の際の再生装置ごとの再生タイミングのずれを抑制することができる。
また、再生システムは、マスタとして機能するものを選出する際に、再生システム内の1台の再生装置を適切に選出することができ、複数台の再生装置が選出されること、又は、1台も同期装置として選出されないことを防ぐことができる。
また、再生システムは、具体的にMACアドレスを用いてマスタとして機能するものを選出することができる。
また、再生装置は、他の再生装置から複数回取得した識別情報に基づいて自装置がマスタとして機能するか否かを判定する。仮に1回だけ取得した識別情報に基づいて上記判定を行うことになれば、LAN30上に安定的に存在していない(つまり、通信品質が良くない通信リンクを介して接続している、又は、装置自体の動作が安定していないなど)再生装置をマスタとして機能させると判定する可能性もある。上記再生装置は、他の再生装置から複数回取得した識別情報に基づいてマスタとして機能するか否かを判定することで、上記可能性を回避することができる。
また、再生装置は、LANに再生装置が複数台存在しているか否かを具体的に判定し、複数台存在していない(つまりLANに自装置だけが存在している)場合に、判定処理を行わないとすることができる。
また、再生装置は、LANに1台のマスタが存在する状態で運用しているときに当該マスタが存在しない状態になった場合、又は、マスタが複数台存在する状態になった場合に、LANに1台のマスタが存在する状態となるようにすることができる。
(実施の形態5)
本実施の形態において、外部からの命令に基づいて複数の再生装置コンテンツを再生する際の再生タイミングの差を抑制する再生システム等について説明する。
図24Aは、実施の形態5に係る再生システム7のネットワーク構成図である。
図24Aに示されるように、再生システム7は、再生装置24A〜24Dと、表示装置25A〜25Dとを備える。再生装置24A〜24D(それぞれを再生装置24ともいう)は、LAN30を介して相互に通信可能である。また、再生システム7には、端末37が通信可能に接続されている。なお、LAN30は、有線LANであってもよいし、無線LANであってもよい。また、再生装置24A〜24Dのうちの一台が無線LANの基地局の機能を兼ねてもよい。再生装置24A〜24Dは、そのうちの一台が同期装置として、実施の形態1で説明した方法で再生装置ごとの再生タイミングのずれが抑制されているものとする。
図24Bは、本実施の形態に係る再生装置24の機能ブロック図である。
図24Bに示されるように、再生装置24は、同期部12と、再生部22Aと、装置制御部140と、命令処理部150とを備える。
同期部12及び装置制御部140は、それぞれ、実施の形態4の同期部12及び装置制御部140と同じである。
再生部22Aは、実施の形態4の再生部22と類似の機能を有する。具体的には、再生部22Aは、実施の形態4の再生部22の取得部211及び再生制御部214の代わりに、それぞれ、取得部211Aと再生制御部214Aとを備える。
取得部211Aは、実施の形態4の取得部211と同様、送信部113が送信した同期時刻情報および同期カウンタ値、及び、コンテンツを再生すべき時刻を示す時分秒形式の目標時刻情報を取得する。さらに、取得部211Aは、命令処理部150が送信する個別命令(後述)を受信する。取得部211Aは、個別命令を受信した場合、受信した個別命令に含まれる目標カウンタ値を再生制御部214Aに提供する。
再生制御部214Aは、実施の形態4の再生制御部214と同様、目標時刻情報および同期時刻情報から算出した目標カウンタ値と、カウンタ管理部212が管理するカウンタ値とが一致するときに、コンテンツを再生する制御を行う。さらに、再生制御部214Aは、個別命令に含まれる目標カウンタ値を取得部211Aから取得した場合にも、この取得した目標カウンタ値とカウンタ管理部212が管理するカウンタ値とが一致するときにコンテンツを再生する制御を行う。
命令処理部150は、再生システム7の外部の装置から再生システム7全体に対するコンテンツの再生開始命令である全体命令を受信した場合に、再生システム7に含まれる複数の再生装置24によるコンテンツの再生を制御する処理部である。外部の装置とは、具体的には、再生システム7に通信可能に接続された端末37、又は、所定のインタフェースにより再生装置24に接続された入力装置(例えばUSB(Universal Serial Bus)規格により接続可能なキーボード又はマウス)などがある。
命令処理部150は、命令受信部151と、判定部152と、命令送信部153と、破棄部154とを備える。
命令受信部151は、再生システム7の外部の装置から再生システム7全体に対するコンテンツの再生開始命令である全体命令を受信する処理部である。全体命令とは、再生システム7に含まれる複数の再生装置24によるコンテンツの再生をさせるために外部の装置から送信される信号である。全体命令は、当該信号が全体命令であることを示す情報を少なくとも含む。全体命令は、例えば、所定の通信プロトコルに従う通信フレーム又は通信パケットにより実現され得る。
なお、外部の装置が入力装置である場合には、入力装置が接続された再生装置24は、所定の入力を受け付けた場合に、この入力を全体命令として扱うようにする。また、この場合、入力装置が接続されている再生装置24がマスタとして機能しているか、又は、スレーブとして機能しているかを判定し、スレーブとして機能している場合には、マスタとして機能している再生装置24に全体命令を送信する。その後、マスタとして機能している再生装置24が全体命令を受信し、マスタとして機能している再生装置24がスレーブとして機能している再生装置24に対して個別命令を送信する。
判定部152は、再生装置24がマスタ及びスレーブのどちらとして機能しているかを判定する処理部である。具体的には、判定部152は、自装置の装置制御部140(より詳細には機能制御部145)が再生装置24をマスタとして機能させているか、又は、スレーブとして機能させているかを示す情報を取得し、取得した情報に応じて、再生装置24がマスタ及びスレーブのどちらとして機能しているかを判定する。
命令送信部153は、再生装置24がマスタとして機能していると判定された場合に、全体命令に基づいて、再生システム7内の複数の再生装置24がコンテンツの再生を開始すべきカウンタ値である目標カウンタ値を含むコンテンツ再生開始命令である個別命令を、再生システム7内の再生装置24に送信する処理部である。命令送信部153は、判定部152から上記判定の結果を示す情報を取得し、また、同期部12のカウンタ管理部112から現時点のカウンタ値を取得する。そして、命令送信部153は、取得したカウンタ値に、再生システム7内の複数の再生装置24が同期して再生を開始するために必要な時間に基づいて予め定められた所定値を加えることで目標カウンタ値を算出する。命令送信部153は、上記個別命令を、他の再生装置24に受信させるべくLAN30に送信するとともに、自装置の取得部211Aにも送信する。なお、命令送信部153が複数の再生装置24に対して個別命令を送信する際には、ブロードキャスト送信を用いて複数の再生装置24それぞれに受信させるようにしてもよいし、複数の再生装置24それぞれに順次ユニキャスト送信をすることで複数の再生装置24それぞれに受信させるようにしてもよい。なお、所定値は、例えば、100(HT104がカウンタ値を増加させる時間間隔が0.01ミリ秒である場合に1ミリ秒に相当)とすることができる。
破棄部154は、再生装置24がスレーブとして機能していると判定された場合に、受信した全体命令を破棄する処理部である。全体命令を破棄することは、破棄した全体命令に関連する処理をその後に行わないことを意味する。破棄部154は、例えば、一時的にメモリ上などに記憶している全体命令を当該メモリ上から消去することで上記破棄を行う。なお、全体命令をメモリ上から消去する代わりに、全体命令が格納されたメモリ領域を、何も格納していない領域として扱うようにメモリ管理するだけでもよい。
以降において、再生装置24による処理について説明する。
図25は、本実施の形態に係る再生装置24の外部からの全体命令受信時の処理を示すフロー図である。図26は、本実施の形態に係る再生装置24のマスタからの個別命令受信時の処理を示すフロー図である。図27は、本実施の形態に係る再生システム7の外部からの全体命令受信時の処理を示すシーケンス図である。これらの図を参照しながら再生装置24及び再生システム7の動作について説明する。
図25を参照しながら全体命令受信時の処理について説明する。なお、本フロー図に示される一連の処理は、マスタとして機能している再生装置24及びスレーブとして機能している再生装置24の両方が行う処理である。
ステップS901において、命令受信部151は、端末37からの再生開始命令(全体命令)を受信する。
ステップS902において、判定部152は、自装置がマスタとして機能しているか否かを判定する。再生装置24がマスタとして機能していると判定部152が判定した場合(ステップS902でYes)、ステップS903に進む。一方、再生装置24がマスタとして機能していない(つまり、スレーブとして機能している)と判定部152が判定した場合(ステップS902でNo)、ステップS911に進む。
ステップS903において、命令送信部153は、同期部12のカウンタ管理部112から現時点のカウンタ値を取得する。
ステップS904において、命令送信部153は、ステップS903で取得したカウンタ値に基づいて目標カウンタ値を算出し、算出した目標カウンタ値を含むスレーブへの再生開始命令(個別命令)を生成する。
ステップS905において、命令送信部153は、ステップS904で生成した個別命令をスレーブに送信する。また、命令送信部153は、自装置の再生部22A(より詳細には取得部211A)に個別命令を送信する。ステップS905を実行したら本フロー図に示される一連の処理を終了する。
ステップS911において、破棄部154は、ステップS901で受信した全体命令を破棄する。ステップS911を実行したら本フロー図に示される一連の処理を終了する。
本フロー図に示される一連の処理により、外部からの全体命令をマスタだけが取得し、取得した全体命令に基づいてマスタがスレーブに対して個別命令を送信するという動作がなされる(図27のステップSA)。
次に図26を参照しながら個別命令受信時の処理について説明する。なお、本フロー図に示される一連の処理は、再生装置24それぞれが行う処理である。
ステップS931において、取得部211Aは、個別命令を受信し、受信した個別命令に含まれる目標カウンタ値を再生制御部214Aに提供する。ここで、スレーブの取得部211Aは、マスタの命令処理部150が送信する個別命令を受信する。マスタの取得部211Aは、自装置の命令処理部150が送信する個別命令を受信する。
ステップS932において、再生制御部214Aは、再生部22Aのカウンタ管理部212から現時点のカウンタ値を取得する。
ステップS933において、再生制御部214Aは、ステップS932で取得したカウンタ値が、ステップS931で取得した目標カウンタ値に一致するか否かを判定する。一致すると判定した場合(ステップS933でYes)、ステップS934に進む。一方、一致すると判定しない場合(ステップS933でNo)、ステップS932を再び実行する。つまり、再生制御部214Aは、現時点におけるカウンタ値が目標カウンタ値に一致するまでステップS932及びS933で待機する。
ステップS934において、再生制御部214Aは、コンテンツの再生を開始する。
本フロー図に示される一連の処理により、マスタが送信した個別命令を受信したスレーブそれぞれがコンテンツの再生を開始する。ここで、スレーブがコンテンツの再生を開始するタイミングの時間的精度は、スレーブのカウンタ管理部212が管理しているカウンタの時間的精度に等しい。カウンタ管理部212が管理しているカウンタは、実施の形態1で説明した技術によりマスタ(同期装置)とスレーブ(再生装置)との間で同期がとれている。よって、上記一連の処理により、再生システム7に含まれる複数の再生装置24にわたる再生タイミングのずれを抑えることができる(図27のステップSB)。
図28は、本実施の形態に係る再生システム7の外部からの全体命令受信時の同期再生を示す説明図である。図28を参照しながら、マスタが外部の装置からの全体命令を受信してからスレーブがコンテンツの再生を開始するまでの流れを、マスタ及びスレーブのカウンタ値とともに説明する。なお、命令送信部153が用いる、複数の再生装置24が同期して再生を開始するために必要な時間に基づいて予め定められた所定値をΔHT2と記載する。以降では、ΔHT2が100であるとして説明するが、この値に限定されない。
マスタが外部の装置から全体命令を受信したとき(ステップS903)のマスタのカウンタ値HCが10000であったとする。この場合、マスタは、以下のように目標カウンタ値HTstart2を算出し、目標カウンタ値HTstart2を含めた個別命令をスレーブに送信する(ステップS904)。
HTstart2=HC+ΔHT2=10100 (式4)
スレーブは、上記個別命令を受信し、受信した個別命令に含まれる目標カウンタ値HTstart2を取得し(ステップS931)、スレーブのカウンタ管理部212が管理しているカウンタ値が目標カウンタ値HTstart2に一致したらコンテンツの再生を開始する(ステップS934)。
以降において、再生システム7の具体的な接続形態の4つの例を図28も参照しながら説明する。
図29は、本実施の形態に係る再生システムのシステム構成の第一例(再生システム7A)を示す説明図である。
再生システム7Aは、無線通信の基地局35と、基地局35に無線通信可能に接続された4つの再生装置24B〜24Eと、4つの再生装置24B〜24Eそれぞれに接続された表示装置25B〜25Eとを備える。また、基地局35には、外部の装置としての端末37が無線通信可能に接続されている。再生装置24Bがマスタであり、再生装置24C〜24Eがスレーブである。
端末37が全体命令2701をブロードキャスト送信すると、この全体命令2701は基地局35により転送され、4つの再生装置24B〜24Eそれぞれにより受信される。そして、マスタである再生装置24Bが個別命令2702を送信すると、この個別命令2702は、基地局35により転送され、スレーブである再生装置24C〜24Eにより受信される。このようにして、再生装置24B〜24Eによる同期再生が行われる。
図30は、本実施の形態に係る再生システムのシステム構成の第二例(再生システム7B)を示す説明図である。
再生システム7Bは、5つの再生装置24A〜24Eと、5つの再生装置24A〜24Eそれぞれに接続された表示装置25A〜25Eとを備える。再生装置24Aは、無線通信の基地局の機能を有する再生装置(「基地局兼再生装置」ともいう)であり、再生装置24B〜24Eは、再生装置24Aに無線通信可能に接続されている。再生装置24Aには、外部の装置としての端末37が無線通信可能に接続されている。再生装置24Aがマスタであり、再生装置24B〜24Eがスレーブである。
端末37が全体命令2701をブロードキャスト送信すると、この全体命令2701は、マスタである再生装置24Aにより受信される。そして、マスタである再生装置24Aが個別命令2702を送信すると、この個別命令2702は、スレーブである再生装置24B〜24Eにより受信される。このようにして、再生装置24A〜24Eの同期再生が行われる。
図31は、本実施の形態に係る再生システムのシステム構成の第三例(再生システム7C)を示す説明図である。
再生システム7Cは、装置構成としては再生システム7Bと同じであるが、マスタ又はスレーブとして機能する再生装置が異なる。具体的には、再生装置24Bがマスタであり、再生装置24A及び24C〜24Eがスレーブである。
端末37が全体命令2701をブロードキャスト送信すると、この全体命令2701は、基地局兼再生装置24Aにより転送され、マスタである再生装置24Bにより受信される。そして、マスタである再生装置24Bが個別命令2702を送信すると、この個別命令2702は、基地局兼再生装置24Aにより転送され、スレーブである再生装置24C〜24Eにより受信される。このようにして、再生装置24A〜24Eによる同期再生が行われる。
図32は、本実施の形態に係る再生システムのシステム構成の第四例(再生システム7D)を示す説明図である。
再生システム7Dは、無線通信の基地局35と、基地局35に無線通信可能に接続された4つの再生装置24B〜24Eと、4つの再生装置24B〜24Eそれぞれに接続された表示装置25B〜25Eとを備える。また、再生装置24Bには、入力装置38(例えばUSB規格により接続可能なキーボード又はマウス)がUSB規格で接続されている。
再生装置24Bは、入力装置38により所定の入力を受け付けると、自装置がマスタであることを判定したのち、この入力を全体命令2701の受信として扱う。そして、再生装置24Bが個別命令2702を送信すると、この個別命令2702は、基地局35により転送され、スレーブである再生装置24C〜24Eにより受信される。このようにして、再生装置24B〜24Eによる同期再生が行われる。
なお、再生装置24Bがスレーブである場合には、入力装置38により所定の入力を受け付けた場合、基地局35を介して全体命令2701を再生装置24C〜24Eにブロードキャスト送信し、この全体命令2701が再生装置24C〜24Eにより受信される。その後、再生装置24C〜24Eのうちマスタとして機能している再生装置が全体命令2701を取得し、他の再生装置に対して個別命令2702を送信する。この後は、再生システム7A等と同様の処理がなされ、再生装置24B〜24Eによる同期再生が行われる(不図示)。
以上のように本実施の形態の再生システムは、外部の装置からの全体命令に基づいて、複数の再生装置によるコンテンツの同期再生を行うことができる。複数の再生装置のそれぞれのカウンタ値は、マスタのカウンタ値に同期されている。複数の再生装置それぞれは、その同期されているカウンタ値で表現されるコンテンツの再生開始タイミングである目標カウンタ値を用いて、再生開始タイミングを決定する。よって、再生システムは、外部からの命令に基づいて複数の再生装置コンテンツを再生する際の再生タイミングの差を抑制することができる。
また、再生システムは、再生装置がマスタとして機能しているか、又は、スレーブとして機能しているかを、具体的に判定することができる。
また、再生システムでは、スレーブがコンテンツの再生を開始するタイミングを示す目標カウンタ値を、マスタが全体命令を受信したタイミングに基づいて、具体的に算出することができる。
再生システムでは、同期部が送信する時刻情報とカウンタ値とによりマスタとスレーブとの間のカウンタ値の同期が、より具体的になされる。
なお、上記の実施の形態の一部又は全部は、以下のようにも記載され得るが、以下の記載に限定されない。
(1)同期装置と複数の再生装置とを備える再生システムであって、前記同期装置は、現在時刻を示す時分秒形式の時刻情報を管理する時刻管理部と、所定の時間間隔で第一カウンタ値を増加させる第一カウンタ管理部と、同一時点における、前記時刻情報および前記第一カウンタ値を、それぞれ、同期時刻情報および同期カウンタ値として送信する送信部とを備え、前記複数の再生装置のそれぞれは、コンテンツを取得するコンテンツ取得部と、(i)前記送信部が送信した前記同期時刻情報および前記同期カウンタ値を取得し、(ii)前記コンテンツを再生すべき時刻を示す時分秒形式の目標時刻情報を取得する取得部と、前記所定の時間間隔で第二カウンタ値を増加させる第二カウンタ管理部であって、前記第二カウンタ値に前記同期カウンタ値を設定する第二カウンタ管理部と、前記目標時刻情報と前記同期時刻情報とにより定まる差分時間に対応する差分カウンタ値を前記同期カウンタ値に加算することで目標カウンタ値を算出し、算出した前記目標カウンタ値に前記第二カウンタ値が一致するときに、前記コンテンツを再生する制御を行う再生制御部とを備える再生システム。
(2)前記複数の再生装置のそれぞれは、さらに、前記コンテンツを記憶している記憶部を備え、前記コンテンツ取得部は、前記コンテンツを前記記憶部から取得する(1)に記載の再生システム。
(3)前記コンテンツは、複数のフレームを含み、前記複数のフレームのそれぞれには、当該フレームを再生すべき相対的な時点を示す相対カウンタ値が定められており、前記再生制御部は、(i)前記目標時刻情報と前記同期時刻情報とにより定まる差分時間の分だけ前記同期カウンタ値から増加させた基準カウンタ値を算出し、(ii)前記複数のフレームのそれぞれについて、当該フレームに定められている前記相対カウンタ値を前記基準カウンタ値から増加させた目標カウンタ値を算出し、(iii)算出した前記目標カウンタ値に前記第二カウンタ値が一致するときに、当該フレームを再生する制御を行う(1)又は(2)に記載の再生システム。
(4)前記送信部は、前記同期時刻情報および前記同期カウンタ値の送信を、複数のタイミングに行い、前記取得部は、前記送信部が送信した前記同期カウンタ値を取得する度に、取得した前記同期カウンタ値を前記第二カウンタ管理部の前記第二カウンタ値に設定する(3)に記載の再生システム。
(5)前記再生制御部は、ストリーミングサーバから配信されるストリーミングコンテンツを受信した場合に、受信した前記ストリーミングコンテンツを再生する制御を行い、前記ストリーミングコンテンツを受信しない場合に、前記コンテンツを再生する制御を行う(1)〜(4)のいずれか1項に記載の再生システム。
(6)前記所定の時間間隔は、前記時刻管理部が前記時刻情報を更新する時間間隔より短い(1)〜(5)のいずれか1項に記載の再生システム。
(7)同期装置と複数の再生装置とを備える再生システムにおける再生装置であって、前記同期装置は、現在時刻を示す時分秒形式の時刻情報を管理する時刻管理部と、所定の時間間隔で第一カウンタ値を増加させる第一カウンタ管理部と、同一時点における、前記時刻情報および前記第一カウンタ値を、それぞれ、同期時刻情報および同期カウンタ値として送信する送信部とを備え、前記再生装置は、コンテンツを取得するコンテンツ取得部と、(i)前記送信部が送信した前記同期時刻情報および前記同期カウンタ値を取得し、(ii)前記コンテンツを再生すべき時刻を示す時分秒形式の目標時刻情報を取得する取得部と、前記所定の時間間隔で第二カウンタ値を増加させる第二カウンタ管理部であって、前記第二カウンタ値に前記同期カウンタ値を設定する第二カウンタ管理部と、前記目標時刻情報と前記同期時刻情報とにより定まる差分時間に対応する差分カウンタ値を前記同期カウンタ値に加算することで目標カウンタ値を算出し、算出した前記目標カウンタ値に前記第二カウンタ値が一致するときに、前記コンテンツを再生する制御を行う再生制御部とを備える再生装置。
(8)同期装置と複数の再生装置とを備える再生システムにおける再生方法であって、前記同期装置が、現在時刻を示す時分秒形式の時刻情報を管理する時刻管理ステップと、前記同期装置が、所定の時間間隔で第一カウンタ値を増加させる第一カウンタ管理ステップと、前記同期装置が、同一時点における、前記時刻情報および前記第一カウンタ値を、それぞれ、同期時刻情報および同期カウンタ値として送信する送信ステップと、前記複数の再生装置のそれぞれが、コンテンツを取得するコンテンツ取得ステップと、前記複数の再生装置のそれぞれが、(i)前記送信ステップで送信した前記同期時刻情報および前記同期カウンタ値を取得し、(ii)前記コンテンツを再生すべき時刻を示す時分秒形式の目標時刻情報を取得する取得ステップと、前記複数の再生装置のそれぞれが、前記所定の時間間隔で第二カウンタ値を増加させる第二カウンタ管理ステップであって、前記第二カウンタ値に前記同期カウンタ値を設定する第二カウンタ管理ステップと、前記複数の再生装置のそれぞれが、前記目標時刻情報と前記同期時刻情報とにより定まる差分時間に対応する差分カウンタ値を前記同期カウンタ値に加算することで目標カウンタ値を算出し、算出した前記目標カウンタ値に前記第二カウンタ値が一致するときに、前記コンテンツを再生する制御を行う再生制御ステップとを含む再生方法。
上記(1)によれば、複数の再生装置は、互いに同期してコンテンツを再生することができる。各再生装置は、同期して再生するために必要な時刻情報とカウンタ値とを同期装置から受信し、受信した時刻情報とカウンタ値とを基準としてコンテンツの再生タイミングを決定する。各再生装置は、設計上同一の時間間隔で増加するカウンタ値を用いて、同一の基準に基づいて再生タイミングを決定するので、複数の再生装置にわたる再生タイミングのずれを抑え、同期して(他の再生装置と同じ再生タイミングで)コンテンツを再生することができる。よって、再生システムは、再生装置ごとの再生タイミングのずれを抑制することができる。
上記(2)によれば、各再生装置は、各再生装置が記憶部に記憶しているコンテンツを再生する際に、他の再生装置と同期して再生することができる。
上記(3)によれば、各再生装置は、コンテンツに含まれる複数のフレームのそれぞれを、他の再生装置と同期して再生することができる。各再生装置は、コンテンツに含まれる複数のフレームのそれぞれに定められている相対カウンタ値を用いて、各フレームの再生タイミングを決定するので、複数のフレームのそれぞれの再生タイミングを他の再生装置と一致させることができる。
上記(4)によれば、各再生装置は、定期的に同期装置から同期カウンタ値を受信して、自装置のカウンタ値に設定する。よって、増加する時間間隔が、時間経過とともに微少に変動する場合であっても、各再生装置は、カウンタ値を同期装置及び他の再生装置と継続的に一致させることができ、その結果、コンテンツの再生タイミングを同期させることができる。
上記(5)によれば、各再生装置は、ストリーミングコンテンツを受信するか否かに応じて、ストリーミングコンテンツを再生するか、又は、コンテンツ取得部が取得するコンテンツを再生するかを切り替えることができる。また、各再生装置は、ストリーミングコンテンツを優先的に再生するので、コンテンツ取得部が取得するコンテンツを、ストリーミングコンテンツが配信されない場合のためのバックアップコンテンツとして用いることができる。
上記(6)によれば、各再生装置は、時刻情報の更新周期より短い周期で更新されるカウンタ値を用いて再生タイミングを決定するので、より正確に再生タイミングを同期させることができる。
上記(7)によれば、上記の再生システムと同様の効果を奏する。
上記(8)によれば、上記の再生システムと同様の効果を奏する。
また、上記の実施の形態の一部又は全部は、以下のようにも記載され得るが、以下の記載に限定されない。
(a)複数の再生装置を備える再生システムであって、前記複数の再生装置のそれぞれは、同期部と、再生部と、装置制御部とを備え、前記同期部は、現在時刻を示す時分秒形式の時刻情報を管理する時刻管理部と、所定の時間間隔で第一カウンタ値を増加させる第一カウンタ管理部と、同一時点における、前記時刻情報および前記第一カウンタ値を、それぞれ、同期時刻情報および同期カウンタ値として送信する送信部とを備え、前記再生部は、コンテンツを取得するコンテンツ取得部と、(i)前記複数の再生装置のうちの他の再生装置の前記送信部が送信した前記同期時刻情報および前記同期カウンタ値を取得し、(ii)前記コンテンツを再生すべき時刻を示す時分秒形式の目標時刻情報を取得する取得部と、前記所定の時間間隔で第二カウンタ値を増加させる第二カウンタ管理部であって、前記第二カウンタ値に前記同期カウンタ値を設定する第二カウンタ管理部と、前記目標時刻情報と前記同期時刻情報とにより定まる差分時間に対応する差分カウンタ値を前記同期カウンタ値に加算することで目標カウンタ値を算出し、算出した前記目標カウンタ値に前記第二カウンタ値が一致するときに、前記コンテンツを再生する制御を行う再生制御部とを備え、前記装置制御部は、当該再生装置を示す識別情報である第一識別情報を前記複数の再生装置のうちの他の再生装置に提供する識別情報提供部と、前記複数の再生装置のうちの他の再生装置から、当該他の再生装置を示す識別情報である第二識別情報を取得する識別情報取得部と、前記第一識別情報が、前記第二識別情報との関係により定められる条件を満たすか否かを判定する判定部と、前記第一識別情報が前記条件を満たすと前記判定部が判定したか否かに応じて、前記同期部を動作させることで前記複数の再生装置による再生を同期させるための同期装置として機能させるか否かを制御する機能制御部とを備える再生システム。
(b)前記判定部は、前記第一識別情報と前記第二識別情報とを用いて当該再生装置及び当該他の再生装置のうちのいずれか1つを特定するために前記判定をする(a)に記載の再生システム。
(c)前記第一識別情報は、当該再生装置のMAC(Media Access Control)アドレスであり、前記第二識別情報は、当該他の再生装置のMACアドレスであり、前記判定部は、当該再生装置のMACアドレスが、当該他の再生装置のMACアドレスより大きいことを、前記条件として用いて前記判定をする(b)に記載の再生システム。
(d)前記識別情報取得部は、前記複数の再生装置のうちの他の再生装置から、当該他の再生装置を示す識別情報を複数回取得し、前記判定部は、さらに、前記識別情報取得部が継続的に前記識別情報を取得している継続時間を計時し、前記継続時間が所定時間を超えたときに、前記判定をする(a)〜(c)のいずれかに記載の再生システム。
(e)前記判定部は、さらに、前記複数の再生装置のうちの他のいずれの再生装置からも前記識別情報を取得しないことが所定時間以上継続した場合に、前記継続時間の計時をリセットする(d)に記載の再生システム。
(f)同期装置として動作する再生装置の前記識別情報取得部は、前記同期装置の識別情報を繰り返し提供し、前記判定部は、さらに、前記識別情報取得部が前記同期装置から前記識別情報を取得しないことが所定時間以上継続した場合に、前記判定を行う(a)〜(e)のいずれかに記載の再生システム。
(g)同期装置として動作する再生装置の前記識別情報取得部は、前記同期装置の識別情報を繰り返し提供し、前記同期装置として動作する再生装置の前記判定部は、当該再生装置の前記識別情報取得部が、他の同期装置から当該他の同期装置の識別情報を取得した場合に前記判定を行い、当該再生装置の前記機能制御部は、前記条件を満たさないと判定したときに、当該再生装置を同期装置として動作させることを停止する(a)〜(f)のいずれかに記載の再生システム。
(h)複数の再生装置を備える再生システムにおける再生装置により実行される再生方法であって、同期ステップと、再生ステップと、装置制御ステップとを含み、前記同期ステップは、現在時刻を示す時分秒形式の時刻情報を管理する時刻管理ステップと、所定の時間間隔で第一カウンタ値を増加させる第一カウンタ管理ステップと、同一時点における、前記時刻情報および前記第一カウンタ値を、それぞれ、同期時刻情報および同期カウンタ値として送信する送信ステップとを含み、前記再生ステップは、コンテンツを取得するコンテンツ取得ステップと、(i)前記複数の再生装置のうちの他の再生装置による前記送信ステップで送信された前記同期時刻情報および前記同期カウンタ値を取得し、(ii)前記コンテンツを再生すべき時刻を示す時分秒形式の目標時刻情報を取得する取得ステップと、前記所定の時間間隔で第二カウンタ値を増加させる第二カウンタ管理ステップであって、前記第二カウンタ値に前記同期カウンタ値を設定する第二カウンタ管理ステップと、前記目標時刻情報と前記同期時刻情報とにより定まる差分時間に対応する差分カウンタ値を前記同期カウンタ値に加算することで目標カウンタ値を算出し、算出した前記目標カウンタ値に前記第二カウンタ値が一致するときに、前記コンテンツを再生する制御を行う再生制御ステップとを含み、前記装置制御ステップは、当該再生装置を示す識別情報である第一識別情報を前記複数の再生装置のうちの他の再生装置に提供する識別情報提供ステップと、前記複数の再生装置のうちの他の再生装置から、当該他の再生装置を示す識別情報である第二識別情報を取得する識別情報取得ステップと、前記第一識別情報が、前記第二識別情報との関係により定められる条件を満たすか否かを判定する判定ステップと、前記第一識別情報が前記条件を満たすと前記判定ステップで判定したか否かに応じて、前記同期ステップを実行することで前記複数の再生装置による再生を同期させるための同期装置として機能させるか否かを制御する機能制御ステップとを含む再生方法。
上記(a)によれば、再生システムは、複数の再生装置同士でやりとりされる識別情報に基づいて、複数の再生装置のうち同期装置として動作するもの(マスタ)を適切に選出し、選出された再生装置が同期装置として同期再生のために必要な時刻情報とカウンタ値とを他の再生装置に送信する。これにより、各再生装置は、同一の基準に基づいて再生タイミングを決定するので、複数の再生装置にわたる再生タイミングのずれを抑え、同期して(他の再生装置と同じ再生タイミングで)コンテンツを再生することができる。よって、再生装置は、再生の際の再生装置ごとの再生タイミングのずれを抑制することができる。
上記(b)によれば、再生システムは、マスタとして動作するものを選出する際に、再生システム内の1台の再生装置を適切に選出することができ、複数台の再生装置が選出されること、又は、1台も同期装置として選出されないことを防ぐことができる。
上記(c)によれば、再生システムは、具体的にMACアドレスを用いてマスタとして動作するものを選出することができる。
上記(d)によれば、再生装置は、他の再生装置から複数回取得した識別情報に基づいて自装置がマスタとして動作するか否かを判定する。仮に1回だけ取得した識別情報に基づいて上記判定を行うことになれば、LAN30上に安定的に存在していない(つまり、通信品質が良くない通信リンクを介して接続している、又は、装置自体の動作が安定していないなど)再生装置をマスタとして動作させると判定する可能性もある。上記再生装置は、他の再生装置から複数回取得した識別情報に基づいてマスタとして動作するか否かを判定することで、上記可能性を回避することができる。
上記(e)によれば、再生装置は、LANに再生装置が複数台存在しているか否かを具体的に判定し、複数台存在していない(つまりLANに自装置だけが存在している)場合に、判定処理を行わないとすることができる。
上記(f)又は(g)によれば、再生装置は、LANに1台のマスタが存在する状態で運用しているときに当該マスタが存在しない状態になった場合、又は、マスタが複数台存在する状態になった場合に、LANに1台のマスタが存在する状態となるようにすることができる。
上記(h)によれば、上記再生システムと同様の効果を奏する。
以上、本発明の再生システムについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。