(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1が開示する技術では、複数の再生装置のそれぞれのハードウェア的な個体差などにより再生タイミングが揃わないことがあり、ユーザの視聴効果の向上が望めない。また、再生装置の不具合又は障害などが生じた場合に、再生装置に再生指示が届かない又は再生指示が消失したことにより、再生装置による再生が適切になされない可能性がある。
【0006】
本発明は、上記問題を解決するためになされたものであり、複数の再生装置によりコンテンツを同期して再生しながら、再生装置によるコンテンツの再生をより確実に行う再生システム等を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明の一態様に係る再生システムは、同期装置と複数の再生装置とを備える再生システムであって、前記同期装置は、前記複数の再生装置にコンテンツの再生を開始させる命令であって、前記再生を開始させる再生開始時刻を示す開始カウンタ値を含む命令である再生開始命令を、予め定められた時間を空けて繰り返し送信する命令送信部を備え、前記複数の再生装置のそれぞれは、一の再生開始命令を保持し得る保持部と、前記複数の再生装置のうちの他の再生装置と同期してカウンタ値を増加させるカウンタ管理部と、前記命令送信部が送信した前記再生開始命令を受信し、受信するたびに、受信した前記再生開始命令を前記保持部に保持させる命令受信部と、前記カウンタ管理部のカウンタ値が、前記保持部が保持している前記再生開始命令に含まれる前記開始カウンタ値以上になると、前記開始カウンタ値を含む前記再生開始命令に従ってコンテンツの再生を開始する再生制御部とを備える。
【0008】
これによれば、同期装置が繰り返し再生開始命令を送信し、この送信された再生開始命令を再生装置それぞれが受信する。再生装置は、一度受信した再生開始命令を不具合又は障害等により消失することがある。再生開始命令を消失すると、消失した再生開始命令に従ってコンテンツを再生することはできない。そこで、再生装置が同期装置から繰り返し再生開始命令を受信することで、一度受信した再生開始命令が仮に消失したとしても、その後に受信する再生開始命令に従ってコンテンツの再生を行うことができる。よって、本発明の一態様に係る再生システムにおいて、複数の再生装置によりコンテンツを同期して再生しながら、再生装置によるコンテンツの再生をより確実に行うことができる。
【0009】
また、前記命令送信部は、(a)前記再生開始命令を、所定の複数回だけ送信し、(b)前記所定の複数回の送信を、前記所定の複数回の送信に要する時間より長い周期で繰り返し行ってもよい。
【0010】
これによれば、比較的簡易な制御により、再生開始命令の複数回の送信を実現することができる。
【0011】
また、前記命令送信部が送信する前記再生開始命令は、前記複数の再生装置すべてに対してコンテンツの再生をさせる再生開始命令であり、前記命令送信部は、前記再生開始命令をブロードキャスト送信することで、前記複数の再生装置それぞれの前記命令受信部に受信させてもよい。
【0012】
これによれば、複数の再生装置すべてに対して送信する再生開始命令により、複数の再生装置すべてが実質的に同時にコンテンツを再生することができる。
【0013】
また、前記同期装置は、さらに、任意の端末から前記再生指示を受信する指示処理部を備え、前記命令送信部は、さらに、前記カウンタ管理部が管理している前記カウンタ値から、所定時間長に相当する分だけ進めたカウンタ値を、前記指示処理部が受信した前記再生指示に含めることで前記再生開始命令を生成してもよい。
【0014】
これによれば、端末が送信する送信指示に基づいて、複数の再生装置にコンテンツの再生を行わせることができる。再生指示及び再生開始命令は、複数の再生装置の間で通信によりやりとりされるので、すべての再生装置に行き渡るまでに若干の時間を要する。そこで、同期装置が、すべての再生装置に再生開始命令が行き渡るのに要する時間を考慮してカウンタ値を定めることで、複数の再生装置すべてが実質的に同時に同一のコンテンツを再生することができる。
【0015】
また、前記端末が送信した前記再生指示の宛先が、前記複数の再生装置のうち同期装置と異なる一の再生装置である場合には、前記一の再生装置の前記指示処理部は、前記再生指示を受信し、受信した前記再生指示を所定の複数回だけブロードキャスト送信し、前記同期装置の前記指示処理部は、前記一の再生装置の前記指示処理部が送信した前記再生指示を受信すると、受信通知を、前記一の再生装置に送信し、前記一の再生装置の前記指示処理部は、前記所定の複数回のブロードキャスト送信の最中に前記受信通知を受信すると、前記所定の複数回のブロードキャスト送信を中止してもよい。
【0016】
これによれば、再生装置は、再生開始命令を同期装置が受信したことを確認した上で、所定回数のブロードキャスト送信を中止することができる。同期装置が再生指示を受信したことにより、それ以降の送信が不要となるからである。不要なパケット送信を控えることで、通信量を削減することができる利点もある。
【0017】
また、前記同期装置は、さらに、所定の時間間隔でカウンタ値を増加させるカウンタ管理部を備え、前記命令送信部は、さらに、前記カウンタ管理部の前記カウンタ値を同期用カウンタ値として含む同期情報を繰り返し送信し、前記複数の再生装置それぞれの前記カウンタ管理部は、当該再生装置の前記命令受信部が前記同期情報を受信すると、受信した前記同期情報に含まれる前記同期用カウンタ値を前記カウンタ管理部に設定することで、前記複数の再生装置のうちの他の再生装置と同期してカウンタ値を増加させてもよい。
【0018】
これによれば、同期装置のカウンタ値をすべての再生装置に提供することで、比較的簡易な制御により、すべての再生装置のカウンタ値を同期させることができる。
【0019】
また、前記複数の再生装置のうちの前記同期装置と異なる再生装置が、新たな同期装置となった場合には、前記命令受信部は、(a)前記新たな同期装置から受信した同期情報に含まれる同期用カウンタ値を前記カウンタ管理部に設定することで、前記複数の再生装置のうちの他の再生装置と同期してカウンタ値を増加させ、(b)前記設定の前後における前記カウンタ管理部のカウンタ値の変化量の分だけ、前記保持部が保持している前記再生開始命令に含まれる前記開始カウンタ値を変化させてもよい。
【0020】
これによれば、新たな同期装置と同期した際にカウンタ値が修正されたにも関わらず開始カウンタ値が修正されないことにより、コンテンツの再生開始タイミングが不適切になることを、未然に防ぐことができる。
【0021】
また、本発明の一態様に係る再生システムの制御方法は、同期装置と複数の再生装置とを備える再生システムの制御方法であって、前記複数の再生装置のそれぞれは、一の再生開始命令を保持し得る保持部を備え、前記制御方法は、前記同期装置により、前記複数の再生装置にコンテンツの再生を開始させる命令であって、前記再生を開始させる再生開始時刻を示す開始カウンタ値を含む命令である再生開始命令を、予め定められた時間を空けて繰り返し送信する命令送信ステップと、前記複数の再生装置のそれぞれにより、前記複数の再生装置のうちの他の再生装置と同期してカウンタ値を増加させるカウンタ管理ステップと、前記命令送信ステップで送信した前記再生開始命令を受信し、受信するたびに、受信した前記再生開始命令を前記保持部に保持させる命令受信ステップと、前記カウンタ値が、前記保持部が保持している前記再生開始命令に含まれる前記開始カウンタ値以上になると、前記開始カウンタ値を含む前記再生開始命令に従ってコンテンツの再生を開始する再生制御ステップとを含む。
【0022】
これによれば、上記の再生システムと同様の効果を奏する。
【発明の効果】
【0023】
本発明にかかる再生システム等は、複数の再生装置によりコンテンツを同期して再生しながら、再生装置によるコンテンツの再生をより確実に行うことができる。
【発明を実施するための形態】
【0025】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0026】
以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、より好ましい形態を構成する任意の構成要素として説明される。なお、同一の構成要素には同一の符号を付し、説明を省略する場合がある。
【0027】
(実施の形態)
本実施の形態において、複数の再生装置によりコンテンツを同期して再生しながら、再生装置によるコンテンツの再生をより確実に行う再生装置及び再生システム等について説明する。
【0028】
図1は、本実施の形態に係る再生システム1の構成図である。
【0029】
図1に示されるように、再生システム1は、端末10と、再生装置20A、20B及び20Cと、表示装置25A、25B及び25Cとを備える。なお、再生装置20A、20B及び20Cのことを再生装置20A等ともいい、また、再生装置20A、20B及び20Cそれぞれのことを再生装置20ともいう。同様に、表示装置25A、25B及び25Cのことを表示装置25A等ともいい、また、表示装置25A、25B及び25Cそれぞれのことを表示装置25ともいう。再生システム1は、端末10が送信する命令に従って再生装置20A等によりコンテンツを再生するシステムである。ここでいうコンテンツとは、有限の再生時間長を有する動画コンテンツであり、例えば、1分程度以内の再生時間長を有するコマーシャルメッセージ、数十分程度の再生時間長を有する映像番組、及び、数時間の再生時間長を有する映画などを含む。
【0030】
また、端末10と再生装置20A等とは、LAN30を介して相互に通信可能に接続されている。なお、LAN30は、例えば、IEEE802.3規格等に適合する有線LAN、又は、IEEE802.11a、b、g、n規格等に適合する無線LAN、若しくは、これらが接続されたネットワークにより実現され得る。
【0031】
端末10は、再生装置20A等に対してコンテンツの再生をさせるための指示である再生指示を送信する任意の通信端末装置である。端末10は、ユーザ等による操作に基づいてコンテンツの再生をさせるための命令を含む通信パケット(以降、単に「パケット」ともいう)を生成し、生成したパケットをLAN30を通じて再生装置20A等に送信する。なお、再生指示は、再生装置20A等が全体として1つのコンテンツを再生するための指示(全体指示ともいう)と、再生装置20A等のうちの1つ又は2つ以上の再生装置20だけにコンテンツを再生するための命令(個別指示ともいう)とを含んでもよい。端末10は、例えば、PC(Personal Computer)、スマートフォン又はタブレット等である。
【0032】
再生装置20A等は、端末10から送信されるパケットを受信し、受信したパケットに含まれる再生指示に基づいてコンテンツの再生を開始する。再生装置20A等が再生するコンテンツは、再生装置20A等に接続された表示装置25A等に表示される。
【0033】
再生装置20A等は、互いに同期してコンテンツを再生することでユーザによる視聴効果を高めることが要求される。コンテンツは、複数のフレームにより構成されており、複数のフレームそれぞれには、当該フレームが再生されるべき時刻を示すカウンタ値(再生カウンタ値ともいう)が対応付けられている。再生装置20A等は、後述する同期方法により、互いに同期してカウンタ値が加算されるカウンタを有しており、このカウンタを参照しながら再生カウンタ値を用いて同期してコンテンツを再生する。
【0034】
図2は、本実施の形態に係る再生装置20のハードウェア構成を示すブロック図である。
【0035】
図2に示されるように、再生装置20は、CPU(Central Processing Unit)201と、メインメモリ202と、NIC(Network Interface Card)203と、HT(Hardware Timer)204と、再生部205と、ストレージ206とを備える。上記各構成要素は、再生装置20内部のバスにより相互に接続されている。
【0036】
CPU201は、メインメモリ202又はストレージ206に格納された制御プログラムを実行するプロセッサである。再生装置20が実行する処理は、CPU201が制御プログラムを実行することで実現され得る。
【0037】
メインメモリ202は、CPU201が制御プログラムを実行するときに使用するワークエリアとして用いられる揮発性の記憶領域である。
【0038】
NIC203は、LAN30へパケットを送受信する通信インタフェースである。なお、NIC203は、LAN30の通信規格に適合する通信規格のインタフェースである。
【0039】
HT204は、所定の時間間隔でカウンタ値を増加させるカウンタである。上記所定の時間間隔は、設計上、時間経過とともに変化しないものであるが、現実には、時間経過及びハードウェア的な個体差によって若干の変動があり得る。HT204がカウンタ値を増加させる時間間隔は、例えば、90000分の1秒(90kHz)である。
【0040】
再生部205は、コンテンツを再生する処理部である。具体的には、再生部205は、ストレージ206に記憶されているコンテンツのデータに基づいて、出力すべき画像の信号データを生成し、生成した信号データを垂直同期信号に同期させて表示装置25に出力する。
【0041】
ストレージ206は、動画等を含むコンテンツのデータを記憶している不揮発性の記憶装置である。上記コンテンツは、複数の静止画から構成されるもの又は動画(互いに関連する静止画の集合)である。上記コンテンツにおいて、各フレームの相対的な再生時刻がカウンタ値を用いて定められている。なお、ストレージ206は、例えばHDD(Hard Disk Drive)、又は、SSD(Solid State Drive)等である。
【0042】
図3は、本実施の形態に係る再生装置20の機能構成を示すブロック図である。
【0043】
図3に示されるように、再生装置20は、指示処理部211と、モード管理部212と、カウンタ管理部213と、命令送信部214と、命令受信部215と、コンテンツ取得部216と、保持部217と、再生制御部218とを備える。
【0044】
指示処理部211は、端末10が送信した再生指示を受信して処理する処理部である。ここで、再生指示とは、端末10が送信する、再生装置20にコンテンツを再生させる指示のことであり、コンテンツを再生させる再生装置20を示す識別子、及び、コンテンツの識別子を含む。再生指示は、パケットに含められてLAN30を通じて送信されることもあるし、LAN30と異なる通信規格(例えばUSB(Universal Serial Bus)規格)による通信により送信されることもある。なお、再生指示は、端末10により送信された後に再生装置20により転送されたものであることもある。
【0045】
指示処理部211は、上記パケットを受信すると、モード管理部212が管理している動作モードに応じて、受信したパケットを処理する。具体的には、指示処理部211は、動作モードがマスタモードであるときには、上記パケットに含まれている再生指示を命令送信部214及び保持部217に提供する。また、指示処理部211は、動作モードがスレーブモードであるときには、再生システム1内の再生装置20等の状態に応じて、上記パケットに含まれている再生指示を、他の再生装置20に送信したり、保持部217に提供したり、破棄したりする。指示処理部211が再生指示をどのように取り扱うかについては後で詳しく説明する。指示処理部211は、CPU201及びNIC203等により実現され得る。
【0046】
モード管理部212は、自装置である再生装置20の動作モード、及び、再生システム1内の他の再生装置20の動作モードを管理している処理部である。ここで、動作モードとは、1つの再生装置20について、マスタモードとスレーブモードとのいずれかをとり得る。マスタモードで動作する再生装置20(以降、単に「マスタ」ともいう)は、コンテンツの再生に用いるカウンタ値の基準となる装置であり、スレーブモードで動作する再生装置20(以降、単に「スレーブ」ともいう)は、自装置のカウンタ値をマスタのカウンタ値に合わせることでマスタと同期をとる装置である。モード管理部212は、動作モードを示す情報(以降、「管理情報」ともいう)を保有しており、管理情報(動作モード)に基づいて再生装置20内の一部の機能(
図3の枠F内の機能)を有効にするか、又は、無効にするかを制御する。具体的には、マスタモードのときには命令送信部214を有効にし、命令受信部215を無効にする。一方、スレーブモードのときには命令送信部214を無効にし、命令受信部215を有効にする。モード管理部212は、CPU201等により実現され得る。
【0047】
モード管理部212は、他の再生装置20との間でパケットをやりとりすることで、再生システム1内で1つの再生装置20だけがマスタとして動作し、その他の再生装置20がスレーブとして動作するように制御する。また、モード管理部212は、上記パケットのやりとりにより、再生システム1内の再生装置20それぞれの動作モードを把握する。なお、再生システム1内にはマスタが1つだけ存在するのが原則であるが、マスタの動作の不具合、又は、通信状況の不具合により例外的に、再生システム1内に一時的にマスタが存在しない状態になることもある。モード管理部212は、再生システム1内にマスタが少なくとも一台存在するか、又は、一台も存在しないかについても把握する。
【0048】
カウンタ管理部213は、所定の時間間隔で増加するカウンタ値を管理する処理部である。所定の時間間隔は、例えば、90000分の1秒(90kHz)である。カウンタ管理部213は、命令送信部214によりカウンタ値を読み出されることがあり、また、命令受信部215によりカウンタ値を設定(変更)されることがある。カウンタ管理部213が管理している現時点におけるカウンタ値のことを現在カウンタ値ともいう。カウンタ管理部213は、HT204などにより実現される。
【0049】
命令送信部214は、再生装置20がマスタとして動作しているときに、コンテンツの再生開始命令を生成し、繰り返し送信する処理部である。ここで、再生開始命令は、コンテンツの再生を開始させる命令のことであり、コンテンツを再生させる再生装置20を示す識別子、コンテンツの再生を開始させるタイミングを示す開始カウンタ値、及び、コンテンツの識別子を含む。以降では、コンテンツを再生させる再生装置20がすべての再生装置20である場合を例として説明する。この場合、再生開始命令はすべての再生装置20に対してブロードキャスト送信される。命令送信部214は、CPU201及びNIC203等により実現され得る。
【0050】
また、命令送信部214は、カウンタ管理部213が管理しているカウンタ値を同期用カウンタ値として、他の再生装置20に送信する。命令送信部214がカウンタ値を他の再生装置20つまりスレーブに送信することで、マスタのカウンタ値をスレーブに提供し、すべてのスレーブのカウンタ値をマスタのカウンタ値に同期させる。
【0051】
命令送信部214は、同期用カウンタ値の送信のために、同期用カウンタ値を含む再生開始命令を繰り返し送信する。例えば、命令送信部214は、(a)再生開始命令を、所定の複数回(例えば3回)だけ送信し、(b)上記所定の複数回の送信を、上記所定の複数回の送信に要する時間より長い周期で繰り返し行う。
【0052】
命令受信部215は、再生装置20がスレーブとして動作しているときに、マスタが送信した再生開始命令を受信し、受信するたびに、受信した再生開始命令を保持部217に保持させる処理部である。また、命令受信部215は、マスタが送信する同期用カウンタ値を受信してカウンタ管理部213のカウンタとして設定する。命令受信部215がマスタからカウンタ値を受信することで、スレーブのカウンタ値をマスタのカウンタ値に同期させる。命令受信部215は、CPU201及びNIC203等により実現され得る。
【0053】
コンテンツ取得部216は、再生装置20が再生すべきコンテンツを取得する処理部である。コンテンツ取得部216がどこから、どのようなタイミングでコンテンツを取得するかは限定しない。例えば、コンテンツ取得部216は、再生装置20が自ら備えるストレージ206からコンテンツを取得してもよいし、再生装置20に接続される記憶媒体からコンテンツを取得してもよいし、LAN30を介して他の装置から取得してもよい。また、コンテンツ取得部216は、予め(工場出荷時などに)コンテンツが格納されていてもよいし、コンテンツ再生前にLAN30を通じて受信してもよい。コンテンツ取得部216は、CPU201、NIC203及びストレージ206などにより実現される。
【0054】
保持部217は、再生指示又は再生開始命令を保持する保持部である。保持部217は、メインメモリ202又はストレージ206により実現される。
【0055】
再生制御部218は、保持部217が保持している再生指示又は再生開始命令に従ってコンテンツを再生する処理部である。具体的には、再生制御部218は、カウンタ管理部213のカウンタ値を監視しており、このカウンタ値が保持部217に保持されている再生開始命令に含まれる開始カウンタ値以上になると、当該開始カウンタ値を含む再生開始命令に従ってコンテンツの再生を開始する。なお、保持部217に再生指示が保持されている場合には、時刻に依存せずに、再生指示に従ってコンテンツの再生を開始してもよい。再生指示には開始カウンタ値が含まれておらず、再生開始のタイミングが指定されないからである。再生制御部218は、CPU201及び再生部205等により実現される。
【0056】
次に、上記の再生指示、再生開始命令及び同期情報のそれぞれを含むパケットについて説明する。
【0057】
図4は、本実施の形態に係る再生指示を含むパケットの説明図である。
図4に示されるパケットは、端末10が再生装置20に対して送信する、再生指示300を含むパケットである。
【0058】
図4に示されるように、再生指示300を含むパケットは、命令種別302、再生装置識別子304、及び、コンテンツ識別子306の各フィールドを含む。
【0059】
命令種別302は、再生指示300が全体命令であるのか、又は、個別命令であるのかを示すフィールドである。
【0060】
再生装置識別子304は、再生指示300によりコンテンツを再生させる対象である再生装置20の識別子を示すフィールドである。命令種別302が全体命令である場合、再生装置識別子304には、全ての再生装置20を意味する識別子が格納される。また、命令種別302が個別命令である場合、再生装置識別子304には、コンテンツを再生させる再生装置20の識別子(例えば、IP(Internet Protocol)アドレス、又は、MAC(Media Access Control)アドレス)が格納される。なお、命令種別302が個別命令である場合、コンテンツを再生させる対象は、再生システム1が備える複数の再生装置20のうちの一部の1台以上の再生装置20である。なお、上記における「一部」とは、「全部」を含まない概念である。
【0061】
コンテンツ識別子306は、再生指示300により再生装置20に再生させるコンテンツの識別子を示すフィールドである。再生指示300を取得した再生装置20は、コンテンツ識別子306により示されるコンテンツの再生を開始する。
【0062】
図5は、本実施の形態に係る再生開始命令310を含むパケットの説明図である。
図5に示されるパケットは、マスタがスレーブに対して送信する、再生開始命令310を含むパケットである。
【0063】
図5に示されるように、再生開始命令310を含むパケットは、命令種別312、再生装置識別子314、開始カウンタ値316、及び、コンテンツ識別子318の各フィールドを含む。命令種別312、再生装置識別子314、及び、コンテンツ識別子318の各フィールドは、再生指示300における同名のフィールドと同じであるので説明を省略する。
【0064】
開始カウンタ値316は、再生開始命令310によりコンテンツを再生させる対象である再生装置20が当該コンテンツの再生を開始するときのカウンタ値を示すフィールドである。開始カウンタ値316は、マスタにより決定されて再生開始命令310に格納される。マスタは、例えば、現在カウンタ値から所定時間長に相当するカウンタ値だけ進めた(加算した)カウンタ値を開始カウンタ値316として決定する。上記所定時間は、すべてのスレーブに再生開始命令310が行き渡るのに要する時間を考慮して定められてよく、例えば、500msecと定められる。開始カウンタ値316は、スレーブによるコンテンツの再生開始タイミングの決定に用いられる。
【0065】
図6は、本実施の形態に係る同期情報320を含むパケットの説明図である。
図6に示されるパケットは、マスタがスレーブに対して繰り返し送信する、再生装置20相互間におけるカウンタ値の同期のためのパケットである。
【0066】
図6に示されるように、同期情報320を含むパケットは、同期用カウンタ値322のフィールドと、
図5で示した再生開始命令310とを含む。
【0067】
同期用カウンタ値322は、マスタのカウンタ値を示すフィールドである。同期用カウンタ値322は、このパケットを生成したときのマスタの現在カウンタ値が記載されたものであり、このパケットを受信したスレーブは、受信したパケットに含まれる同期用カウンタ値322を自装置のカウンタ管理部213に設定する。
【0068】
再生開始命令310は、
図5に示される再生開始命令310である。
【0069】
以上のように構成された再生システム1及び再生装置20の動作について以降で詳細に説明する。
【0070】
図7は、本実施の形態に係る再生装置20による再生開始命令及び同期情報の送信処理を示すフロー図である。
図7に示される送信処理は、端末10が送信した再生指示300をマスタ(より具体的にはマスタの指示処理部211)が受信した後に、マスタにより実行される処理である。
【0071】
ステップS101において、命令送信部214は、スレーブに対する再生開始命令310を生成して送信する。この再生開始命令310は、指示処理部211が受信した再生指示300の各フィールドの情報を含み、また、カウンタ管理部213が管理しているカウンタ値を同期用カウンタ値322として含むものである。命令送信部214は、再生開始命令310を所定の複数回(例えば3回)だけ、ブロードキャスト送信する。
【0072】
ステップS102において、命令送信部214は、以降で説明するステップS103からS105までの繰り返し処理(ループA)を開始する。この繰り返し処理により、命令送信部214による再生開始命令の繰り返し送信が継続的に行われる。
【0073】
ステップS103において、命令送信部214は、再生開始命令310を含む同期情報320をブロードキャスト送信する。同期情報320が含んでいる再生開始命令310は、ステップS101で送信されたものと同じである。命令送信部214は、同期情報320を所定の複数回(例えば3回)だけ、ブロードキャスト送信する。
【0074】
ステップS104において、命令送信部214は、ステップS103の同期情報320の送信から所定時間が経過したか否かを判定する。所定時間が経過した場合(ステップS104でYes)にはステップS105に進み、そうでない場合(ステップS104でNo)にはステップS104を再び実行する。つまり、再生装置20は、同期情報320の送信後に所定時間が経過するまでステップS104で待機する。
【0075】
ステップS105において、再生装置20は、ループA内の最初の処理を再び実行することで、ループAの処理を繰り返す。
【0076】
次に、再生装置20(マスタ及びスレーブ)によるコンテンツの再生処理について説明する。
【0077】
図8は、本実施の形態に係る再生装置20によるコンテンツの再生処理を示すフロー図である。
【0078】
ステップS121において、再生制御部218は、カウンタ管理部213が管理しているカウンタ値(現在カウンタ値)が、保持部217が保持している再生開始命令に含まれる開始カウンタ値以上であるか否かを判定する。現在カウンタ値が開始カウンタ値以上である場合(ステップS121でYes)にはステップS122に進み、そうでない場合(ステップS121でNo)にはステップS121を再び実行する。つまり、現在カウンタ値が開始カウンタ値以上になるまでステップS121で待機する。
【0079】
ステップS122において、再生制御部218は、保持部217が保持している再生開始命令に含まれるコンテンツ識別子により示されるコンテンツの再生を開始する。
【0080】
図9は、本実施の形態に係る再生システム1における再生開始命令及び同期情報の通信を示すシーケンス図である。
図9には、
図7及び
図8に示される送信処理及び再生処理の際の、端末10、マスタ及びスレーブの間の通信及び処理が示されている。
【0081】
マスタは、端末10から再生指示を含むパケットを受信すると、再生開始命令をスレーブにブロードキャストで送信する(ステップS101)。その後、マスタは、同期情報を繰り返し送信する(ループA)。
【0082】
そして、再生装置20(マスタ及びスレーブ)は、現在カウンタ値が開始カウンタ値以上になると再生開始命令に含まれるコンテンツ識別子で示されるコンテンツの再生を開始する。マスタとスレーブとの間でカウンタ値の同期がとれているので、マスタとスレーブとは、同時にコンテンツの再生を行うことができる。なお、保持部217が再生指示を保持している場合には、再生開始のタイミング、つまり開始カウンタ値の指定がないので、コンテンツの再生タイミングが揃わないこともある。
【0083】
このように、マスタが再生開始命令を含む同期情報を繰り返し送信することにより、スレーブの装置障害等によるスレーブの再起動があった場合にも、スレーブによるコンテンツの再生の開始を、より確実に実現させることができる利点がある。仮にマスタによる再生開始命令がステップS101によるものだけであるとすれば、上記再起動によりスレーブの保持部217が保持する再生開始命令が消去され(揮発し)、再起動後にコンテンツの再生を開始することができない。そこで、マスタが上記のように再生開始命令を含む同期情報を繰り返し送信することで、スレーブは、この繰り返し送信される同期情報により再起動後に再生開始命令を取得し、コンテンツの再生をすることができる。
【0084】
次に、端末10により再生指示が送信された後の再生装置20による再生指示及び再生開始命令の送受信処理について説明する。
【0085】
図10は、本実施の形態に係る再生装置20による再生指示及び再生開始命令の送受信処理を示すフロー図である。この一連の処理は、端末10が再生指示を送信してから、各スレーブが再生指示又は再生開始命令を受信するまでの間になされる処理であり、端末10が送信した再生指示をマスタ及びスレーブが以下のように取得および転送することにより実現するものである。
【0086】
ステップS201において、指示処理部211は、端末10からの再生指示を受信する。
【0087】
ステップS202において、モード管理部212は、保有している管理情報に基づいて、再生システム1内にマスタが存在するか否かを判定する。原則的には再生システム1内に1台のマスタが存在するが、例外的に、再生システム1内に一時的にマスタが存在しない状態になることもある。再生システム1内にマスタが存在すると判定した場合(ステップS202でYes)にはステップS203に進み、再生システム1内にマスタが存在しないと判定した場合(ステップS202でNo)にはステップS231に進む。
【0088】
ステップS203において、モード管理部212は、保有している管理情報に基づいて、自装置がマスタであるか否かを判定する。自装置がマスタである場合(ステップS203でYes)にはステップS204に進み、そうでない場合(ステップS203でNo)にはステップS211に進む。
【0089】
ステップS204において、マスタの指示処理部211は、ステップS201で受信した再生指示を保持部217に格納して保持させる。
【0090】
ステップS205において、マスタの命令送信部214は、開始カウンタ値を含む再生開始命令を生成し、生成した再生開始命令を保持部217に格納して保持させる。
【0091】
ステップS206において、マスタの命令送信部214は、ステップS205で生成した再生開始命令をブロードキャスト送信することで全てのスレーブに受信させる。その後、
図10に示された一連の処理を終了する。
【0092】
ステップS211において、スレーブの指示処理部211は、受信した再生指示の宛先がブロードキャストであったか否かを判定する。上記宛先がブロードキャストであったか否かは、受信した再生指示を含むパケットの宛先アドレスフィールドがブロードキャストアドレスであったか否かに基づいて判断され得る。上記宛先がブロードキャストであったと判定した場合(ステップS211でYes)にはステップS212に進み、そうでない場合(ステップS211でNo)にはステップS221に進む。
【0093】
ステップS212において、スレーブの指示処理部211は、受信した再生指示を破棄する。この場合、受信した再生指示は、他の再生装置20にも受信されており、他の再生装置20に送信等する必要がないからである。その後、
図10に示された一連の処理を終了する。
【0094】
ステップS221において、スレーブの指示処理部211は、受信した再生指示をブロードキャスト送信することで転送し、マスタ及び他のスレーブに受信させる。このとき、スレーブは、再生指示を所定の複数回(例えば3回)だけブロードキャスト送信するようにしてもよい。その後、
図10に示された一連の処理を終了する。
【0095】
ステップS231において、スレーブの指示処理部211は、受信した再生指示を保持部217に格納して保持させる。
【0096】
ステップS232において、スレーブの指示処理部211は、受信した再生指示の宛先がブロードキャストアドレスであったか否かを判定する。上記宛先がブロードキャストであったと判定した場合(ステップS232でYes)には
図10に示された一連の処理を終了し、そうでない場合(ステップS232でNo)にはステップS233に進む。
【0097】
ステップS233において、スレーブの指示処理部211は、受信した再生指示をブロードキャスト送信することで転送し、他のスレーブに受信させる。その後、
図10に示された一連の処理を終了する。
【0098】
以上の一連の処理により、端末10が送信した再生指示に基づく再生開始命令がすべての再生装置20に受信される。
【0099】
次に、再生システム1内の各再生装置20が
図10に示される処理を行うことでなされる再生指示及び再生開始命令のやりとりについて
図11〜
図15を参照しながら具体的に説明する。
【0100】
図11は、本実施の形態に係る再生装置20による再生指示及び再生開始命令のやりとりを示す第一のシーケンス図である。このシーケンス図では、再生装置20Aがマスタであり、再生装置20B及び20Cがスレーブであり、端末10が再生指示をブロードキャスト送信した場合を説明する。
【0101】
端末10が再生指示をブロードキャスト送信すると、マスタがこの再生指示を取得し保持するとともに(ステップS204)、スレーブがこの再生指示を破棄する(ステップS212)。その後、マスタは、開始カウンタ値を含む再生開始命令をブロードキャスト送信することでスレーブに受信させ保持させる(ステップS206)。
【0102】
これにより、すべての再生装置20の保持部217が再生開始命令を保持する。その後、現在カウンタ値が開始カウンタ値以上になると、再生制御部218がコンテンツの再生を開始することで、複数の再生装置20がコンテンツを同期して再生開始することができる。
【0103】
図12は、本実施の形態に係る再生装置20による再生指示及び再生開始命令のやりとりを示す第二のシーケンス図である。このシーケンス図では、再生装置20Aがマスタであり、再生装置20B及び20Cがスレーブであり、端末10が再生指示をマスタにユニキャスト送信した場合を説明する。
【0104】
端末10が再生指示をユニキャスト送信すると、その宛先であるマスタがこの再生指示を取得し保持する(ステップS204)。スレーブには、この再生指示は受信されない。その後、マスタは、開始カウンタ値を含む再生開始命令をブロードキャスト送信することでスレーブに受信させ保持させる(ステップS206)。
【0105】
これにより、すべての再生装置20の保持部217が再生開始命令を保持し、その後、複数の再生装置20がコンテンツを同期して再生開始することができる。
【0106】
図13は、本実施の形態に係る再生装置20による再生指示及び再生開始命令のやりとりを示す第三のシーケンス図である。このシーケンス図では、再生装置20Aがマスタであり、再生装置20B及び20Cがスレーブであり、端末10が再生指示をスレーブである再生装置20Cにユニキャスト送信した場合を説明する。
【0107】
端末10が再生指示をユニキャスト送信すると、その宛先である、スレーブ(再生装置20C)が再生指示をブロードキャスト送信することで転送する(ステップS221)。転送された再生指示を、マスタが受信し保持する(ステップS204)。その後、マスタは、開始カウンタ値を含む再生開始命令をブロードキャスト送信することでスレーブに受信させ保持させる(ステップS206)。
【0108】
これにより、すべての再生装置20の保持部217が再生開始命令を保持し、その後、複数の再生装置20がコンテンツを同期して再生開始することができる。
【0109】
なお、マスタの指示処理部211は、スレーブから再生指示を受信した場合には、所定の複数回のブロードキャスト送信の途中で送信元のスレーブに対して、再生指示を受信したことを示す通知(以降「受信通知」ともいう)を送信してもよい。この場合、受信通知を受信したスレーブは、所定の複数回のブロードキャスト送信の最中であっても、その所定の複数回のブロードキャスト送信を中止してもよい。マスタが再生指示を受信したことをスレーブが確認することで、それ以降の送信が不要になるからである。不要なパケット送信を控えることで、通信量を削減することができる利点もある。
【0110】
図14は、本実施の形態に係る再生装置20による再生指示及び再生開始命令のやりとりを示す第四のシーケンス図である。このシーケンス図では、再生システム1内のすべての再生装置20がスレーブであり(言い換えれば、マスタが存在せず)、端末10が再生指示をブロードキャスト送信した場合を説明する。
【0111】
端末10が再生指示をブロードキャスト送信すると、スレーブのそれぞれが、再生指示を取得し保持する(ステップS231)。
【0112】
これにより、すべての再生装置20の保持部217が再生開始命令を保持し、その後、複数の再生装置20がコンテンツを同期して再生開始することができる。
【0113】
図15は、本実施の形態に係る再生装置20による再生指示及び再生開始命令のやりとりを示す第五のシーケンス図である。このシーケンス図では、再生システム1内のすべての再生装置20がスレーブであり(言い換えれば、マスタが存在せず)、端末10が再生指示をスレーブ(再生装置20A)にユニキャスト送信した場合を説明する。
【0114】
端末10が再生指示をユニキャスト送信すると、その宛先であるスレーブ(再生装置20A)が再生指示を取得し保持する(ステップS231)。再生指示を取得した再生装置20Aは、再生指示をブロードキャスト送信することで他のスレーブに受信させ保持させる(ステップS233、S231)。
【0115】
これにより、すべての再生装置20の保持部217が再生開始命令を保持し、その後、複数の再生装置20がコンテンツを同期して再生開始することができる。
【0116】
次に、スレーブが新たなマスタと同期した場合の処理について説明する。言い換えれば、これまでスレーブであった再生装置20がマスタに変化した場合に、他のスレーブが行う処理について説明する。
【0117】
このとき、スレーブの命令受信部215は、(a)新たなマスタから受信した同期情報に含まれる同期用カウンタ値をカウンタ管理部213に設定することで、他のスレーブと同期してカウンタ値を増加させる。また、(b)上記カウンタ値の設定の前後におけるカウンタ管理部213のカウンタ値の変化量の分だけ、保持部217が保持している再生開始命令に含まれる開始カウンタ値を変化させる。
【0118】
以降において、より具体的に説明する。
【0119】
図16は、本実施の形態に係る再生装置20における同期の際の開始カウンタ値の修正処理を示すシーケンス図である。
図17は、本実施の形態に係る再生装置20における同期の際の開始カウンタ値の修正処理を示すフロー図である。
【0120】
この処理は、スレーブ(再生装置20B)が、新たなマスタ(再生装置20C)から新たな再生開始命令を受信した場合に、受信した新たな再生開始命令に含まれる新たな同期用カウンタ値を自装置のカウンタ管理部213に設定するとともに、開始カウンタ値を修正する処理である(
図16参照)。
【0121】
図17に示されるように、ステップS311において、スレーブの命令受信部215は、現在カウンタ値を、受信した新たな再生開始命令へ変化させる場合の変化量Δを算出する。変化量Δは、現在カウンタ値とTc、新たな同期用カウンタ値をTnとすると、以下のように表現される。
【0123】
ステップS312において、スレーブの命令受信部215は、保持部217が保持している再生開始命令に含まれる開始カウンタ値Tsを、ステップS301で算出した変化量Δの分だけ以下のように変化させて、新たな開始カウンタ値Tsnを得る。
【0125】
ステップS313において、スレーブの命令受信部215は、受信した新たな同期用カウンタ値をカウンタ管理部213に設定する。
【0126】
これにより、現在カウンタ値の変更時に、開始カウンタ値が維持されることでコンテンツ再生タイミングがずれることが未然に回避される。
【0127】
図16を参照しながら具体的に説明する。
図16において、当初、現在カウンタ値Tcが14000であり、開始カウンタ値Tsが14500である状態である。この状態は、カウンタ値500に相当する時間分だけ待機した後にコンテンツの再生を開始する状態である。この状態において、再生装置20Cがマスタに変更されたことで、再生装置20Bが、新たな同期用カウンタ値(10000)を受信したとする。
【0128】
この場合、現在カウンタ値Tcが14000から10000に変更された際に、開始カウンタ値が14500のままであると、コンテンツの再生開始までに4500のカウンタ値に相当する時間分だけ待機することになり、上記の当初の状態から変わってしまう。
【0129】
そこで、現在カウンタ値の変化量Δである4000だけ、開始カウンタ値も変化させることで、当初の状態と同じく、カウンタ値500に相当する時間分だけ待機した後にコンテンツの再生を開始する状態とすることができる。
【0130】
なお、再生装置20は、終了カウンタ値を有してもよい。終了カウンタ値とは、コンテンツの再生を終了させるタイミングを示すカウンタ値である。再生装置20それぞれの再生制御部218は、コンテンツを再生中に、現在カウンタ値が終了カウンタ値以上になると当該コンテンツの再生を終了する。この場合、上記で説明した開始カウンタ値の変更と同じように終了カウンタ値を変更すればよい。具体的には、開始カウンタ値を上記変化量Δだけ変化させるときに、終了カウンタ値も上記変化量Δだけ変化させればよい。
【0131】
以上のように、本実施の形態の再生システムは、同期装置が繰り返し再生開始命令を送信し、この送信された再生開始命令を再生装置それぞれが受信する。再生装置は、一度受信した再生開始命令を不具合又は障害等により消失することがある。再生開始命令を消失すると、消失した再生開始命令に従ってコンテンツを再生することはもちろんできない。そこで、再生装置が同期装置から繰り返し再生開始命令を受信することで、仮に一度受信した再生開始命令が消失したとしても、新たに受信する再生開始命令に従ってコンテンツの再生を行うことができる。よって、本発明の一態様に係る再生システムにおいて、複数の再生装置によりコンテンツを同期して再生しながら、再生装置によるコンテンツの再生をより確実に行うことができる。
【0132】
以上、本発明の再生装置、及び、再生システムについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。