以下、実施の形態について、図面を参照しながら具体的に説明する。
以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、より好ましい形態を構成する任意の構成要素として説明される。
なお、同一の構成要素には同一の符号を付し、説明を省略する場合がある。
(実施の形態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は、本実施の形態に係る同期装置のハードウェア構成を示すブロック図である。
図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が管理するカウンタ値が一致するときに、コンテンツを再生する制御を行う。
具体的には、同期時刻情報を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ヘッダには、宛先UDPポート番号には、通知パケットをやりとりするための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が取得したコンテンツを再生する制御を行うようにしてもよい。このようにすれば、コンテンツ取得部が取得するコンテンツを、ストリーミングコンテンツが配信されない場合のためのバックアップコンテンツとして用いることができる。
以上のように、本実施の形態に係る再生システムによれば、複数の再生装置は、互いに同期してコンテンツを再生することができる。各再生装置は、同期して再生するために必要な時刻情報とカウンタ値とを同期装置から受信し、受信した時刻情報とカウンタ値とを基準としてコンテンツの再生タイミングを決定する。各再生装置は、設計上同一の時間間隔で増加するカウンタ値を用いて、同一の基準に基づいて再生タイミングを決定するので、複数の再生装置にわたる再生タイミングのずれを抑えることができる。よって、再生システムは、再生装置ごとの再生タイミングのずれを抑制することができる。
(実施の形態2)
本実施の形態において、複数のフレームからなるコンテンツを再生する際の再生装置ごとの再生タイミングのずれを抑制する再生システム等について説明する。
本実施の形態に係る再生システムの構成は、実施の形態1の再生システム1と同様である。また、同期装置及び再生装置のハードウェア構成は、それぞれ、実施の形態1の同期装置10及び再生装置20と同じである。
図8は、本実施の形態に係る再生システムの機能ブロック図である。
図8に示されるように、再生システム2は、同期装置11と再生装置21とを備える。
同期装置11は、時刻管理部111と、カウンタ管理部112と、送信部123とを備える。また、再生装置21は、取得部211と、カウンタ管理部212と、コンテンツ取得部223と、再生制御部224とを備える。実施の形態1におけるものと同一の機能ブロックには同一の符号を付し、説明を省略する。
送信部123は、複数のタイミングにおける、時刻管理部111が管理している時刻情報と、カウンタ管理部が管理しているカウンタ値とを再生装置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は、自装置によるコンテンツの再生タイミングと、再生装置20Bによるコンテンツの再生タイミングとを同期装置10の機能により同期させることができる。
なお、再生装置20Eが再生装置と同期装置との機能を兼ね備える場合、共通するハードウェア構成を共有することが可能であり、製造コスト又は運用コストなどを低減させることができる。
(実施の形態4)
本実施の形態において、再生装置ごとの再生タイミングのずれを抑制する再生システム等について、さらに、再生装置によるコンテンツの再生中に他の再生装置が新たに再生を開始する場合に再生タイミングのずれを抑制する方法を説明する。なお、本実施の形態における再生システムのことを、再生システム5(不図示)という。
図13は、本実施の形態に係る再生装置22の機能ブロック図である。
図13に示されるように、再生装置22は、取得部211と、カウンタ管理部212と、コンテンツ取得部213と、再生制御部214Aとを備える。このうち、取得部211と、カウンタ管理部212と、コンテンツ取得部213とは、実施の形態1における同名の構成要素と同じであるので説明を省略する。
再生制御部214Aは、コンテンツを再生する制御を行う。再生制御部214Aは、コンテンツの再生を開始するタイミング、及び、再生を開始する位置(コンテンツ内における再生位置)を、判定部215による判定結果に応じて決定する。
判定部215は、カウンタ管理部212が管理しているカウンタ値が、目標カウンタ値より小さいか否かを判定する。目標カウンタ値は、実施の形態1と同様、目標時刻情報と同期時刻情報とにより定まる差分時間に対応する差分カウンタ値を同期カウンタ値に加算することで算出されるものである。カウンタ値が目標カウンタ値より小さいということは、現時点がコンテンツの再生を開始すべき時点より先(過去)であり、現時点より後にコンテンツの再生を開始すればよいことを意味している。一方、カウンタ値が目標カウンタ値より小さくない(つまり、大きい又は等しい)ということは、現時点がコンテンツの再生を開始すべき時点より後であり、再生システム5における他の再生装置(以降、単に「他の再生装置」ともいう)が既にコンテンツの再生を開始していることを意味している。なお、「先」とは、基準とする時点より過去を指す概念であり、「後」とは、基準とする時点より未来を指す概念である。
再生制御部214Aは、カウンタ管理部212が管理しているカウンタ値が目標カウンタ値より小さいと判定部215が判定した場合には、目標カウンタ値とカウンタ管理部212が管理するカウンタ値とが一致する時に、コンテンツの先頭からコンテンツを再生する制御を行う。一方、再生制御部214Aは、カウンタ管理部212が管理しているカウンタ値が目標カウンタ値より小さくないと判定部215が判定した場合には、目標カウンタ値から上記カウンタ値までの増加量を算出し、算出した増加量に相当する時間分だけコンテンツの先頭から進んだ位置からコンテンツを再生する制御を行う。なお、上記の「増加分に相当する時間」を特定時間ともいい、上記位置を特定位置ともいう。
なお、再生制御部214A及び判定部215は、取得部211が取得する同期時刻情報及び同期カウンタ値を送信した同期装置が変更された場合に、上記の処理を再度行うようにしてもよい。この場合、例えば、取得部211が取得する同期時刻情報及び同期カウンタ値の送信元となる同期装置を特定する特定情報を取得部211が保持しており、この特定情報、すなわち同期装置が変更された場合に、新たに取得した同期時刻情報及び同期カウンタ値に基づいて再生制御部214A及び判定部215が上記の処理を再度行うようにしてもよい。
なお、上記において、再生制御部214Aが判定部215を備える構成を説明したが、判定部215の機能を再生制御部214A自身が備えるように構成してもよい。
図14は、本実施の形態に係る再生システム5のフローチャートである。図15は、本実施の形態に係る同期再生の説明図である。図14及び図15を参照しながら、再生システム5の同期再生の方法を説明する。
同期装置10によるステップS611及びS612の処理、並びに、再生装置22によるステップS621〜S625の処理は、実施の形態1における同名の処理ステップと同じであるので説明を省略する。
ステップS630において判定部215は、カウンタ管理部212が管理しているカウンタ値が、ステップS625で算出した目標カウンタ値より小さいか否かを判定する。上記判定において、現地点でのカウンタ値が目標カウンタ値より小さいと判定された場合(ステップS630でYes)、ステップS631へ進む。一方、現地点でのカウンタ値が目標カウンタ値より小さくないと判定された場合(ステップS630でNo)、ステップS632へ進む。
ステップS631において、再生制御部214Aは、カウンタ管理部212が管理するカウンタ値が目標カウンタ値HTstartに一致したら、コンテンツの先頭からコンテンツを再生する。この処理は、実施の形態1におけるステップS624の処理と実質的に同じである。
ステップS632において、再生制御部214Aは、特定時間及び特定位置を算出し、特定位置からコンテンツを開始する。具体的には、目標時刻が「09:00:00」であり、現在時刻(ST)が「09:00:30」である場合、特定時間及び特定位置は、それぞれ、(式5)及び(式6)のように算出される。
特定時間=09:00:30(ST)−09:00:00(目標時間)
=00:00:30 (式5)
特定位置=特定時間×C
=30000 (式6)
なお、特定位置は、カウンタ管理部212が管理しているカウンタ値と、目標カウンタ値とを用いて(式7)のように直接的に算出することも可能である。
特定位置=630100(カウンタ値)−600100(目標カウンタ値)
=30000 (式7)
このようにして、再生制御部214Aは、コンテンツの先頭から30000カウンタ進んだ位置のフレーム(コンテンツの先頭から10000番目のフレーム)からコンテンツを再生する。ここで、「コンテンツの先頭から30000カウンタ進んだ位置」とは、コンテンツの先頭から、カウンタ値が30000だけ増加するのに要する時間分だけ進んだ位置という意味である。以降でも同様の表現を用いる。
上記のように再生制御部214Aがコンテンツを再生する時、他の再生装置は、コンテンツの先頭から30000カウンタ進んだ位置のフレームを再生している。よって、他の再生装置が既にコンテンツの再生を開始した後(コンテンツを再生している最中)に、新たにコンテンツの再生を開始する再生装置が、他の再生装置と同じフレームを再生することになる。その結果、再生システム5のすべての再生装置が同じフレームを再生する状態となる。
次に、コンテンツが複数のコンテンツファイル(以降、単にファイルともいう)から構成される場合の再生位置の特定方法について説明する。以降の説明では、1つのコンテンツが複数のコンテンツファイルから構成され、その複数のコンテンツの再生順序がプレイリストにより定められているとする。つまり、複数のコンテンツをプレイリストに示される順番で再生することが、上記における1つのコンテンツを再生することに相当する。
図16は、本実施の形態に係るプレイリスト1601の説明図である。図17は、本実施の形態に係るコンテンツファイルの特定位置の算出方法の説明図である。
図16に示されるプレイリスト1601は、複数のコンテンツファイルの再生順序を示す情報であり、各コンテンツファイルについてのコンテンツファイル名1611、再生時間1612、及び、プレイリスト先頭からの相対時間1613の各情報を含むエントリを、複数含む。なお、複数のコンテンツファイルとプレイリスト1601とが、1つのコンテンツに相当する。
コンテンツファイル名1611は、コンテンツファイルの名称を示す文字列(例えば、“0002”)である。なお、コンテンツファイル名1611として、コンテンツファイルを一意に識別できるものであれば他のものを用いてもよい。
再生時間1612は、当該エントリにより示されるコンテンツファイルの再生時間を示す情報であり、例えば5秒というように時間で示されたり、又は、5000カウンタというようにカウンタ幅で示されたりするものである。
プレイリスト先頭からの相対時間1613とは、当該プレイリストに示される順にコンテンツファイルを再生する場合における、最初のコンテンツファイルの再生開始時刻から、当該エントリにより示されるコンテンツファイルの再生時刻までの時間である。
コンテンツ取得部213が、コンテンツとして、複数のコンテンツファイルとプレイリストとを取得したとき、再生制御部214Aは、複数のコンテンツファイルをプレイリストに従った順序で再生する制御を行う。ここで、再生制御部214Aは、カウンタ管理部212が管理しているカウンタ値が、目標カウンタ値より小さくない場合には、算出した増加量に相当する時間分だけ再生順序での再生の開始から進んだ位置に相当する、コンテンツファイルと当該コンテンツファイル内の位置とを特定し、特定したコンテンツファイルを、特定した位置から再生する。
図17に示されるように、コンテンツが複数のコンテンツファイルから構成される場合に、(式6)により特定位置が30000(カウンタ)と算出されたとき、再生制御部214Aは、プレイリストを参照して、プレイリスト先頭から30000カウンタ進んだ位置がどのコンテンツファイルに含まれるか、及び、当該位置がそのコンテンツ内の何番目のフレームに該当するかを特定し、特定されたコンテンツファイルの特定されたフレームからコンテンツを再生する。具体的には、プレイリスト先頭から30000カウンタ進んだ位置が含まれるコンテンツファイルとして、コンテンツファイル“0003”が特定され、このコンテンツ内のフレームとして15000番目のフレームが特定される。
なお、コンテンツ取得部213が新たなプレイリスト(第二プレイリストに相当)を取得した場合には、再生制御部214A及び判定部215は、新たなプレイリストに基づいて再生すべきフレームを特定するようにしてもよい。
このように、再生制御部214Aは、コンテンツが複数のコンテンツファイルから構成される場合にも適切な位置からコンテンツを再生することができる。
次に、コンテンツが繰り返し再生される場合の再生位置の特定方法について説明する。繰り返し再生とは、コンテンツをその末尾まで再生した後に、当該コンテンツを再びその冒頭から再生し、また、これを繰り返し行うことである。
図18は、本実施の形態に係る繰り返し再生の場合の特定位置の説明図である。
図18に示されるように、再生装置22は、再生時間が90秒であるコンテンツを繰り返し再生する。
再生制御部214Aは、このとき、コンテンツを繰り返し再生する制御を行い、カウンタ管理部212が管理しているカウンタ値が、目標カウンタ値より小さくない場合には、増加量に相当する時間分だけ繰り返し再生の開始から進んだ位置に相当する、コンテンツ内の位置を特定し、特定した位置からコンテンツを再生する。
具体的には、再生制御部214Aは、コンテンツが繰り返し再生される場合に(式6)により特定時間が200秒と算出されたとき、繰り返し再生がなされていることを考慮し、また、プレイリストを参照して、コンテンツの再生開始から200秒の時点に再生されるべきフレームどのコンテンツファイルに含まれるか、及び、そのコンテンツ内の何番目のフレームに該当するかを特定し、特定されたコンテンツファイルの特定されたフレームからコンテンツを再生する。具体的には、コンテンツの再生開始から200秒の時点は、(式8)により3回目の繰り返し再生の最中であり、3回目の再生の開始から20秒の時点と算出される。
200÷90=2あまり20 (式8)
また、この時点に再生されるべきフレームは、3回目のコンテンツの再生の開始から20秒後のフレーム、つまり、コンテンツの先頭から20000(=20×C)カウント進んだ位置のフレームである。また、このフレームは、プレイリスト1601を考慮すると、コンテンツファイル“0003”の先頭から5000カウンタ進んだ位置のフレームである。
このように、再生制御部214Aは、コンテンツが繰り返し再生される場合にも適切な位置からコンテンツを再生することができる。
以上のように本実施の形態に係る複数の再生装置は、互いに同期してコンテンツを再生することができる。各再生装置は、同期して再生するために必要な時刻情報とカウンタ値とを同期装置から受信し、受信した時刻情報とカウンタ値とを基準としてコンテンツの再生タイミングを決定する。各再生装置は、設計上同一の時間間隔で増加するカウンタ値を用いて、同一の基準に基づいて再生タイミングを決定するので、複数の再生装置にわたる再生タイミングのずれを抑え、同期して(他の再生装置と同じ再生タイミングで)コンテンツを再生することができる。また、他の再生装置によるコンテンツの再生中に遅れて再生を開始する再生装置は、他の再生装置が再生しているフレームと同じフレームから再生を開始する。よって、再生システムは、再生装置ごとの再生タイミングのずれを抑制することができる。
また、再生装置は、コンテンツが複数のコンテンツファイルから構成される場合には、再生すべきコンテンツファイルを特定した上で、当該コンテンツファイルを適切なフレームから再生する。よって、再生装置は、コンテンツが複数のコンテンツファイルから構成される場合であっても、再生装置ごとの再生タイミングのずれを適切に抑制することができる。
また、再生装置は、コンテンツが繰り返し再生される場合には、繰り返し再生されていることを考慮して再生すべきフレームを特定する。よって、再生装置は、コンテンツが繰り返し再生される場合であっても、再生装置ごとの再生タイミングのずれを適切に抑制することができる。
また、再生装置は、同期のための情報の送信元である同期装置が変更された場合に、コンテンツの再生すべきフレームを再度特定する。同期装置が変更された場合には、同期時刻情報及び同期カウンタ値が変更されるので、再生すべきフレームも変更する必要がある。よって、再生システムは、再生装置ごとの再生タイミングのずれを抑制することができる。
また、再生装置は、プレイリストが変更された場合に、コンテンツの再生すべきフレームを再度特定する。プレイリストが変更された場合には、再生すべきコンテンツファイルそのものが変更され、又は、コンテンツファイル内の再生すべき位置が変更され得るので、再生すべきフレームも変更する必要がある。よって、再生システムは、再生装置ごとの再生タイミングのずれを抑制することができる。
以上、本発明の再生システムについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
なお、上記の実施の形態の一部又は全部は、以下のようにも記載され得るが、以下の記載に限定されない。
(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)によれば、上記の再生システムと同様の効果を奏する。