以下、実施の形態について、図面を参照しながら具体的に説明する。
以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、より好ましい形態を構成する任意の構成要素として説明される。なお、同一の構成要素には同一の符号を付し、説明を省略する場合がある。
(実施の形態)
本実施の形態において、複数の再生装置によりコンテンツを同期して再生しながら、別のコンテンツの再生要求に適切に対応する再生装置及び再生システム等について説明する。
図1は、本実施の形態に係る再生システム1の構成図である。
図1に示されるように、再生システム1は、端末10と、再生装置20A及び20Bと、表示装置25A及び25Bとを備える。なお、再生装置20A及び20Bのことを再生装置20A等ともいい、また、再生装置20A及び20Bそれぞれのことを再生装置20ともいう。同様に、表示装置25A及び25Bのことを表示装置25A等ともいい、また、表示装置25A及び25Bそれぞれのことを表示装置25ともいう。再生システム1は、端末10が送信する命令に従って再生装置20A等によりコンテンツを再生するシステムである。ここでいうコンテンツとは、有限の再生時間長を有する動画コンテンツであり、例えば、1分程度以内の再生時間長を有するコマーシャルメッセージ、数十分程度の再生時間長を有する映像番組、及び、数時間の再生時間長を有する映画などを含む。
また、端末10と再生装置20A等とは、LAN30を介して相互に通信可能に接続されている。なお、LAN30は、例えば、IEEE802.3規格等に適合する有線LAN、又は、IEEE802.11a、b、g、n規格等に適合する無線LAN、若しくは、これらが接続されたネットワークにより実現され得る。
端末10は、再生装置20A等に対してコンテンツの再生を開始させるための命令(再生開始命令ともいう)を送信する通信端末装置である。端末10は、ユーザ等による操作に基づいてコンテンツの再生を開始させるための命令を含む通信パケット(以降、単に「パケット」ともいう)を生成し、生成したパケットをLAN30を通じて再生装置20A等に送信する。再生開始命令には、再生装置20A等が全体として1つのコンテンツを再生するための命令(全体命令ともいう)と、再生装置20A等のうちの1つ又は2つ以上の再生装置だけにコンテンツを再生するための命令(個別命令ともいう)とがある。なお、端末10は、再生装置20A等のうちの1つであってもよい。
再生装置20A等は、端末10から送信されるパケットを受信し、受信したパケットに含まれる再生開始命令に基づいてコンテンツの再生を開始する。再生装置20A等が再生するコンテンツは、再生装置20A等に接続された表示装置25A等に表示される。
再生装置20A等は、互いに同期してコンテンツを再生することでユーザによる視聴効果を高めることが要求される。コンテンツは、複数のフレームにより構成されており、複数のフレームそれぞれには、当該フレームが再生されるべき時刻を示すカウンタ値(再生カウンタ値ともいう)が対応付けられている。再生装置20A等は、互いに同期してカウンタ値が加算されるカウンタを有しており、このカウンタを参照しながら再生カウンタ値を用いて同期してコンテンツを再生する。なお、再生装置20A等が有するカウンタは、適切な方法により互いに同期がとれているものとする。同期をとる方法は、公知の方法を採用し得る。例えば、再生装置20A等のうち適切な方法で選出される1台(マスタともいう)が、自装置のカウンタ値を他の装置(スレーブともいう)に対して送信し、スレーブが受信したカウンタ値を自装置のカウンタに設定することで実現し得る。
再生装置20A等は、全体命令及び個別命令を順次取得し、取得した全体命令及び個別命令に基づいてコンテンツの再生を制御する。その際、再生装置20A等によりコンテンツを同期して再生しながら、別のコンテンツの再生要求に適切に対応することができる。
図2は、本実施の形態に係る再生装置20のハードウェア構成を示すブロック図である。
図2に示されるように、再生装置20は、制御部202と、NIC(Network Interface Card)203と、HT(Hardware Timer)204と、再生部205と、ストレージ206とを備える。上記各構成要素は、再生装置20内部のバスにより相互に接続されている。
制御部202は、再生装置20のソフトウェア機能を実現する処理部である。制御部202は、具体的には、CPU(Central Processing Unit)207、メインメモリ208を含む。
NIC203は、LAN30へパケットを送信する、又は、LAN30からパケットを受信する通信インタフェースである。なお、NIC203は、LAN30の通信規格に適合する通信規格のインタフェースである。
HT204は、所定の時間間隔でカウンタ値を増加させるカウンタである。上記所定の時間間隔は、設計上、時間経過とともに変化しないものであるが、現実には、時間経過及びハードウェア的な個体差によって若干の変動があり得る。HT204がカウンタ値を増加させる時間間隔は、例えば、90000分の1秒(90kHz)である。
再生部205は、コンテンツを再生する処理部である。具体的には、再生部205は、ストレージ206に記憶されているコンテンツのデータに基づいて、出力すべき画像の信号データを生成する。再生部205は、生成した信号データを、再生部205が備える出力用メモリ209に一旦格納し、垂直同期信号に同期して表示装置25に出力する。
ストレージ206は、動画等を含むコンテンツのデータを記憶している記憶装置である。上記コンテンツは、複数の静止画から構成されるもの又は動画(互いに関連する静止画の集合)である。上記コンテンツにおいて、各フレームの相対的な再生時刻がカウンタ値(再生カウンタ値)を用いて定められている。なお、ストレージ206は、例えばHDD(Hard Disk Drive)、又は、SSD(Solid State Drive)である。
図3は、本実施の形態に係る再生装置20の機能構成を示すブロック図である。
図3に示されるように、再生装置20は、取得部211と、カウンタ管理部212と、命令保持部213と、コンテンツ取得部214と、再生制御部215とを備える。
取得部211は、端末10が送信した再生開始命令、及び、他の再生装置20が送信した再生開始命令を取得する処理部である。取得部211は、NIC203を通じてLAN30から再生開始命令を含むパケットを取得する。そして、取得したパケットから再生開始命令を取り出し、命令保持部213に格納する。再生開始命令は、再生装置20にコンテンツの再生を開始させるための命令であって、コンテンツの再生を開始させる再生開始時刻を示す開始カウンタ値と、コンテンツの識別情報とを含む命令である。取得部211は、NIC203及び制御部202などにより実現される。
カウンタ管理部212は、所定の時間間隔でカウンタ値を増加させる処理部である。所定の時間間隔は、例えば、90000分の1秒(90kHz)であり、上記のとおり、現実には時間経過により若干の変動があり得る。カウンタ管理部212は、他の再生装置20のカウンタ管理部212と必要に応じて相互に情報をやりとりし、他の再生装置20と同期してカウンタ値を増加させる。カウンタ管理部212は、HT204などにより実現される。
命令保持部213は、再生開始命令を保持する保持部である。命令保持部213は、1つの命令を保持する保持部を複数有する。以降では、命令保持部213が2つの保持部である保持部H1(第一保持部に相当)、及び、保持部H2(第二保持部に相当)を有する場合を主に説明するとともに、さらに命令保持部213が保持部H3(第三保持部に相当)を有する場合について付加的に説明する。命令保持部213は、制御部202等により実現される。
なお、保持部H1が、再生システム1に含まれる複数の再生装置20それぞれにコンテンツの再生をさせる全体命令を保持し、保持部H2が、複数の再生装置20のうちの1つの再生装置20(例えば、再生装置20A)にコンテンツの再生をさせる個別命令を保持するようにしてもよい。
コンテンツ取得部214は、再生装置20が再生すべきコンテンツを取得する処理部である。コンテンツ取得部214は、取得したコンテンツ又は当該コンテンツを構成するフレームを、一旦、ストレージ206内のコンテンツ保持部(不図示)、又は、メインメモリ208内のフレーム保持部(不図示)に格納してもよい。コンテンツ保持部又はフレーム保持部がコンテンツ又はフレームを保持するタイミング等については後で詳しく説明する。ここで、コンテンツ取得部214がどこからコンテンツを取得するかは限定しない。例えば、コンテンツ取得部214は、ストレージ206からコンテンツを取得してもよいし、再生装置20に接続される記憶媒体からコンテンツを取得してもよいし、LAN30を介して他の装置から取得してもよい。コンテンツ取得部214は、制御部202、NIC203及びストレージ206などにより実現される。
再生制御部215は、命令保持部213が保持している再生開始命令に従ってコンテンツを再生する処理部である。具体的には、再生制御部215は、カウンタ管理部212のカウンタ値が、命令保持部213の保持部H1及びH2の一方に保持されている再生開始命令に含まれる開始カウンタ値以上になると、当該開始カウンタ値を含む再生開始命令に従ってコンテンツの再生を開始する(第一再生ステップに相当)。つまり、再生制御部215は、カウンタ管理部212のカウンタ値と、上記開始カウンタ値とに基づいて、再生開始命令によりコンテンツの再生を開始すべき時点を超えた、なるべく早い時点において、コンテンツの再生を開始する。
また、再生制御部215は、再生を開始したコンテンツの再生が終了した時点でのカウンタ値が、保持部H1及びH2の他方に保持されている再生開始命令に含まれる開始カウンタ値から、当該他方に含まれる識別情報により示されるコンテンツの再生時間長の範囲内に含まれるか否かを判定し、当該範囲内であると判定した場合に当該他方に従ってコンテンツの再生を開始する(第二再生ステップに相当)。
以上により、再生装置20は、複数の再生装置20A等によりコンテンツを同期して再生しながら、別のコンテンツの再生要求に適切に対応することができる。
以降において、再生装置20についてさらに詳しく説明する。
図4は、本実施の形態に係る再生開始命令を含むパケットの説明図である。図4に示されるパケットは、端末10が再生装置20に対して送信する、再生開始命令300を含むパケットである。
再生開始命令300は、命令種別302、再生装置識別子304、開始カウンタ値306、コンテンツ識別子308の各フィールドを含む。
命令種別302は、再生開始命令300が全体命令であるのか、又は、個別命令であるのかを示すフィールドである。
再生装置識別子304は、再生開始命令300によりコンテンツを再生させる対象である再生装置20の識別子を示すフィールドである。命令種別302が全体命令である場合、再生装置識別子304には、全ての再生装置を意味する識別子が格納される。また、命令種別302が個別命令である場合、再生装置識別子304には、コンテンツを再生させる再生装置の識別子(例えば、IP(Internet Protocol)アドレス、又は、MAC(Media Access Control)アドレス)が格納される。なお、コンテンツを再生させる対象は、再生システム1が備える複数の再生装置20のうちの一部の1台以上の再生装置20であり、より具体的には、1台の再生装置20の場合と、2台以上の再生装置20の場合とがある。再生装置識別子304には、対象が1台の再生装置20である場合には、その1台の再生装置20の識別子が格納され、対象が2台以上の再生装置20である場合には、当該2台以上の再生装置20の識別子が格納されてもよいし、当該2台以上の再生装置20に対応づけられたグループ識別子が格納されてもよい。グループ識別子を用いる場合には、予め、当該2台以上の再生装置20と、当該2台以上の再生装置20が所属するグループとの対応付けがなされていることを要する。また、上記における「一部」とは、「全部」を含まない概念である。
開始カウンタ値306は、再生開始命令300によりコンテンツを再生させる対象である再生装置20が当該コンテンツの再生を開始するときのカウンタ値を示すフィールドである。
コンテンツ識別子308は、再生開始命令300により再生装置20に再生させるコンテンツの識別子を示すフィールドである。再生開始命令300を取得した再生装置20は、カウンタ管理部212のカウンタ値が開始カウンタ値306に一致すると、コンテンツ識別子308により示されるコンテンツの再生を開始する。
図5は、本実施の形態に係る命令保持部213が保持する情報の説明図である。
図5に示されるように、命令保持部213が有する保持部H1及びH2は、それぞれ、全体命令及び個別命令を保持する。
保持部H1は、取得部211が取得した再生開始命令300のうち、命令種別302が全体命令を示すものを保持する。より具体的には、保持部H1は、再生開始命令300のうちの全体命令に含まれる開始カウンタ値306を開始カウンタ値SAとして保持し、また、コンテンツ識別子308をコンテンツ識別子Aとして保持する。
保持部H2は、取得部211が取得した再生開始命令300のうち、命令種別302が個別命令を示し、かつ、再生装置識別子304が自装置の識別子に適合するものを保持する。より具体的には、保持部H2は、再生開始命令300のうちの個別命令に含まれる開始カウンタ値306を開始カウンタ値SBとして保持し、また、コンテンツ識別子308をコンテンツ識別子Bとして保持する。なお、「再生装置識別子304が自装置の識別子に適合する」とは、再生装置識別子304が自装置の識別子に一致する場合の他、再生装置識別子304が、自装置が所属するグループ識別子に一致する場合を含む。
なお、命令保持部213がさらに保持部H3を有する場合には、保持部H3は、コンテンツの開始を再生させる再生開始命令を保持する。この場合、再生制御部215は、保持部H1及びH2それぞれが命令を保持していないとき、又は、保持部H1及びH2が保持している再生開始命令による再生を再生制御部215が行っていないときに、保持部H3が保持している再生開始命令に従ってコンテンツの再生を開始する。ここで、保持部H3が保持している再生開始命令のことをデフォルト命令ともいう。この再生開始命令は、端末10から取得部211を通じて所定の方法で取得したものであってもよいし、再生装置20に予め設定されたものであってもよい。ここでは、保持部H3は、開始カウンタ値SCとコンテンツ識別子Cとを保持しているとする。
以上のように構成された再生装置20の処理について以降で詳しく説明する。
図6は、本実施の形態に係る再生装置20の再生処理の第一のフロー図である。
ステップS101において、取得部211は、端末10から全体命令及び個別命令を取得する。なお、取得部211は、全体命令及び個別命令を、数分又は数時間というように比較的長い時間を空けて順次に取得してもよいし、1秒程度以内の比較的短い時間を空けて(又は実質的に同時に)取得してもよい。取得部211は、取得した全体命令を保持部H1に格納し、また、取得した個別命令を保持部H2に格納する。
ステップS102において、再生制御部215は、カウンタ管理部212から現時点におけるカウンタ値を取得する。
ステップS103において、再生制御部215は、ステップS102で取得したカウンタ値が、保持部H1が保持している全体命令に含まれる開始カウンタ値と、保持部H2が保持している個別命令に含まれる開始カウンタ値との大きい方の開始カウンタ値以上であるか否かを判定する。ステップS103において、カウンタ値が上記開始カウンタ値以上である場合(ステップS103でYes)にはステップS104へ進む。カウンタ値が上記開始カウンタ値未満である場合(ステップS103でNo)には、ステップS102へ進む。
ステップS104において、再生制御部215は、保持部H1が保持している全体命令に含まれる開始カウンタ値が、保持部H2が保持している個別命令に含まれる開始カウンタ値以上であるか否かを判定する。ステップS104において全体命令に含まれる開始カウンタ値が個別命令に含まれる開始カウンタ値以上である場合(ステップS104でYes)には、ステップS110に進み、そうでない場合(ステップS104でNo)には、ステップS105に進む。
ステップS105において、再生制御部215は、保持部H2に保持されている個別命令に従ってコンテンツ(例えば図5のコンテンツB)の再生を開始する。このとき再生されるコンテンツは、個別命令に含まれるコンテンツ識別子に示されるコンテンツである。この後、再生制御部215は、コンテンツの再生を継続するのと並行して、ステップS102の処理を実行する。
なお、ステップS104でコンテンツの再生を開始する際に既に再生制御部215が別の再生開始命令に従ってコンテンツを再生している場合には、そのコンテンツの再生を中止して、上記のように個別命令に従ってコンテンツの再生を開始する。
ステップS110において、再生制御部215は、保持部H2に保持されている個別命令を削除する。これにより、後述するステップS133(図8)における個別命令に従うコンテンツの再生開始を抑制することができる。全体命令に従うコンテンツの再生後に個別命令に従うコンテンツの再生を行うと、視聴者が不自然さを感じる可能性があり、これを抑制するためである。なお、ステップS110の処理は、付加的な処理であり、必須の処理ではない。
ステップS111において、再生制御部215は、保持部H1に保持されている全体命令に従ってコンテンツ(例えば図5のコンテンツA)の再生を開始する。このとき再生されるコンテンツは、全体命令に含まれるコンテンツ識別子に示されるコンテンツである。この後、再生制御部215は、コンテンツの再生を継続するのと並行して、ステップS102の処理を実行する。なお、ステップS111でコンテンツの再生を開始する際に既に再生制御部215が別の命令に従ってコンテンツを再生している場合には、そのコンテンツの再生を中止して、上記のように全体命令に従ってコンテンツの再生を開始する。
図7は、本実施の形態に係る再生装置20の再生処理の第二のフロー図である。図7に示されるフロー図は、再生制御部215が個別命令に従ってコンテンツの再生を行っているときの処理を示すフロー図である。
ステップS121において、再生制御部215は、個別命令に従うコンテンツの再生を終了させるか否かを判定する。再生制御部215は、例えば、再生しているフレームがコンテンツの末尾のフレームである場合に、当該再生を終了させると判定する。また、再生制御部215は、端末10等からコンテンツの中途でフレームの再生を中断させる命令を取得した場合に、当該再生を終了させると判定してもよい。
ステップS121で、再生制御部215がコンテンツの再生を終了させると判定した場合には、コンテンツの再生を終了させてステップS122に進む。一方、再生制御部215がコンテンツの再生を終了させないと判定した場合には、ステップS121を再び実行する。
ステップS122において、再生制御部215は、ステップS121でコンテンツの再生が終了した時点でのカウンタ値が、保持部H1に保持されている全体命令に含まれる開始カウンタ値から、全体命令に含まれるコンテンツ識別子に示されるコンテンツの再生時間長の範囲(再生期間)内に含まれるか否かを判定する。コンテンツの再生が終了した時点でのカウンタ値が上記範囲内であると判定された場合(ステップS122でYes)には、ステップS123に進む。一方、コンテンツの再生が終了した時点でのカウンタ値が上記範囲内でないと判定された場合(ステップS122でNo)には、ステップS124に進む。なお、図示しないが、命令保持部213が保持部H3を有しないことによりステップS124を実行しない場合には、これで処理を終了とする。
ステップS123において、再生制御部215は、保持部H1に保持されている全体命令に従ってコンテンツの再生を開始する。再生されるコンテンツは、全体命令に含まれるコンテンツ識別子に示されるコンテンツである。また、再生制御部215は、コンテンツの再生を開始する時点でのカウンタ値を参照して、仮に保持部H1に保持されている全体命令に従ってコンテンツの再生を開始したとすれば再生するはずのフレームから、再生を開始してもよい。
ステップS124において、再生制御部215は、保持部H3に保持されているデフォルト命令に従ってコンテンツの再生を開始する。再生されるコンテンツは、デフォルト命令に含まれるコンテンツ識別子に示されるコンテンツである。なお、再生制御部215は、コンテンツの再生を開始する時点でのカウンタ値を参照して、仮に保持部H3に保持されているデフォルト命令に従ってコンテンツの再生を開始したとすれば再生するはずのフレームから、再生を開始してもよい。なお、ステップS124の処理は、命令保持部213が保持部H3を有する場合に実行可能な処理である。
図8は、本実施の形態に係る再生装置20の再生処理の第三のフロー図である。図8に示されるフロー図は、再生制御部215が全体命令に従ってコンテンツの再生を行っているときの処理を示すフロー図である。
ステップS131において、再生制御部215は、全体命令に従うコンテンツの再生を終了させるか否かを判定する。ステップS131における判定の方法は、ステップS121における判定の方法と同じである。
ステップS131で、再生制御部215がコンテンツの再生を終了させると判定した場合には、コンテンツの再生を終了させてステップS132に進む。一方、再生制御部215がコンテンツの再生を終了させないと判定した場合には、ステップS131を再び実行する。
ステップS132において、再生制御部215は、ステップS131でコンテンツの再生が終了した時点でのカウンタ値が、保持部H2に保持されている個別命令に含まれる開始カウンタ値から、個別命令に含まれるコンテンツ識別子に示されるコンテンツの再生時間長の範囲(再生期間)内に含まれるか否かを判定する。コンテンツの再生が終了した時点でのカウンタ値が上記範囲内であると判定された場合(ステップS132でYes)には、ステップS133に進む。一方、コンテンツの再生が終了した時点でのカウンタ値が上記範囲内でないと判定された場合(ステップS132でNo)、又は、保持部H2に再生開始命令が保持されていない場合には、ステップS134に進む。なお、図示しないが、命令保持部213が保持部H3を有しないことによりステップS134を実行しない場合には、これで処理を終了とする。
ステップS133において、再生制御部215は、保持部H2に保持されている個別命令に従ってコンテンツの再生を開始する。再生されるコンテンツは、個別命令に含まれるコンテンツ識別子に示されるコンテンツである。また、再生制御部215は、コンテンツの再生を開始する時点でのカウンタ値を参照して、仮に保持部H2に保持されている個別命令に従ってコンテンツの再生を開始したとすれば再生するはずのフレームから、再生を開始してもよい。
ステップS134において、再生制御部215は、保持部H3に保持されているデフォルト命令に従ってコンテンツの再生を開始する。ステップS134は、ステップS124と同じである。
なお、図6のステップS110で個別命令が削除された場合には、ステップS133の処理は行われない。ステップS132で「コンテンツの再生が終了した時点でのカウンタ値が上記範囲内であると判定された場合」(ステップS132でYes)と判定されるためである。このようにすることで、全体命令に従うコンテンツの再生の終了直後に、個別命令に従うコンテンツの再生を行うことを抑制することができる。全体命令に従うコンテンツの再生後に個別命令に従うコンテンツの再生を行うと、視聴者が不自然さを感じる可能性があり、これを抑制するためである。
以降において、全体命令及び個別命令における開始カウンタ値と、全体命令及び個別命令それぞれに従って再生されるコンテンツの再生時間長とについて、具体的な複数のパターンを提示して、再生装置20が再生するコンテンツについて説明する。
図9は、本実施の形態に係る再生装置20によるコンテンツの再生を時系列で示す第一の説明図である。図9に示される時系列は、全体命令に従って再生すべきコンテンツAの開始カウンタ値SA及び終了カウンタ値EA、並びに、個別命令に従って再生すべきコンテンツBの開始カウンタ値SB及び終了カウンタ値EBが、過去から未来に向かって、SA、SB、EB、EAと並ぶ場合に、再生制御部215が再生するコンテンツを示している。ここで、コンテンツの終了カウンタ値とは、当該コンテンツの開始カウンタ値に、当該コンテンツの再生時間長に相当するカウンタ値を加算して得られるカウンタ値であり、コンテンツが末尾まで再生されることでその再生を終了するときのカウンタ値を示している。
図9の(a)及び(b)は、それぞれ、コンテンツA及びBの単独の再生時間を示しており、図9の(c)は、全体命令及び個別命令を取得した場合に再生制御部215が再生するコンテンツを示している。また、コンテンツCは、デフォルト命令に従って再生されるコンテンツである。以降でも同様とする。
図9の(c)に示されるように、再生制御部215は、カウンタ値SAにおいてコンテンツAを再生開始し(ステップS111)、カウンタ値SBにおいてコンテンツBを再生開始する(ステップS105)。そして、コンテンツBの再生が終了すると(ステップS121でYes)、コンテンツAの再生を開始する(ステップS123)。なお、命令保持部213が保持部H3を備えている場合には、コンテンツAの再生の終了時点で、保持部H3に保持されているデフォルト命令に従うコンテンツCの再生を開始してもよい(ステップS134)。
このように、個別命令に従うコンテンツBの再生の終了時点が全体命令に従うコンテンツAの再生期間内である場合には、再生制御部215は、コンテンツBの再生の終了後にコンテンツAの再生を開始する。よって、個別命令に従ってコンテンツを再生した再生装置20が、その終了後に全体命令に従ってコンテンツを再生することで、再生システム1に含まれる再生装置20それぞれが全体命令に従ってコンテンツを再生する状態を形成することができ、視聴者による視聴効果を向上することができる。
図10は、本実施の形態に係る再生装置20によるコンテンツの再生を時系列で示す第二の説明図である。図10に示される時系列は、カウンタ値SA、EA、SB及びEBが、過去から未来に向かって、SA、SB、EA、EBと並ぶ場合に、再生制御部215が再生するコンテンツを示している。
図10の(a)及び(b)は、それぞれ、コンテンツA及びBの単独の再生時間を示しており、図10の(c)は、全体命令及び個別命令を取得した場合に再生制御部215が再生するコンテンツを示している。
図10の(c)に示されるように、再生制御部215は、カウンタ値SAにおいてコンテンツAを再生開始し(ステップS111)、カウンタ値SBにおいてコンテンツBを再生開始する(ステップS105)。その後、コンテンツBの再生が終了(ステップS121でYes)した時点において、個別命令に従うコンテンツAの再生期間が既に経過しているので、コンテンツの再生は行わない。なお、命令保持部213が保持部H3を備えている場合には、コンテンツBの再生の終了時点で、保持部H3に保持されているデフォルト命令に従うコンテンツCの再生を開始してもよい(ステップS124)。
このように、個別命令に従うコンテンツBの再生の終了時点が、全体命令に従うコンテンツAの再生期間を経過している場合には、再生制御部215は、コンテンツBの再生の終了後にコンテンツAの再生を開始しない。コンテンツAの再生期間は既に経過しているからである。
図11は、本実施の形態に係る再生装置20によるコンテンツの再生を時系列で示す第三の説明図である。図11に示される時系列は、カウンタ値SA、EA、SB及びEBが、過去から未来に向かって、SB、SA、EA、EBと並ぶ場合に、再生制御部215が再生するコンテンツを示している。
図11の(a)及び(b)は、それぞれ、コンテンツA及びBの単独の再生時間を示しており、図11の(c)は、全体命令及び個別命令を取得した場合に再生制御部215が再生するコンテンツを示している。
図11の(c)に示されるように、再生制御部215は、カウンタ値SBにおいてコンテンツBを再生開始し(ステップS104)、カウンタ値SAにおいてコンテンツAを再生開始する(ステップS111)。このとき、再生制御部215は、保持部H2が保持している個別命令を削除する(ステップS110、図11の(b2))。その後、コンテンツAの再生が終了(ステップS131でYes)した時点において、保持部H2が個別命令を保持していない(既に削除されている)ので、コンテンツの再生は行わない。なお、命令保持部213が保持部H3を備えている場合には、コンテンツAの再生の終了時点で、保持部H3に保持されているデフォルト命令に従うコンテンツCの再生を開始してもよい(ステップS134)。
このように、個別命令に従うコンテンツBの再生中に、全体命令に従うコンテンツAの再生を開始した場合には、再生制御部215は、コンテンツAの再生の終了時点が仮にコンテンツBの再生期間内であったとしても、コンテンツAの再生の終了後にコンテンツBの再生を行わない。全体命令に従ってコンテンツを再生した再生装置20が、その終了後に個別命令に従ってコンテンツを再生すると、視聴者が不自然さを感じることがあるので、そのような不自然さを未然に抑制することができる。
以降において、全体命令により再生されるコンテンツ、及び、個別命令により再生されるコンテンツの例を示す。
図12は、本実施の形態に係る再生システム1が再生するコンテンツの第一例を示す説明図である。図12には、再生システム1が全体命令に従ってコンテンツを再生している様子が示されている。
図12に示される再生システム1は、LAN30に接続された9台の再生装置20A〜20Iを備える。9台の再生装置20A〜20Iのそれぞれは、表示装置25A〜25IにコンテンツAを表示させている。また、9台の再生装置20A〜20Iのそれぞれは、表示装置25A〜25IにコンテンツAを表示させるときに、コンテンツAのフレーム内の所定の領域を拡大する機能を有する。この機能を用いて、再生装置20Aは、例えば、コンテンツAのフレームを縦3×横3の9区画に区切ったうちの左上の区画に含まれる画像を、縦横それぞれ3倍に拡大した映像を表示装置25Aに表示させる。また、再生装置20Bは、左中央の区画に含まれる画像を、縦横それぞれ3倍に拡大した映像を表示装置25Bに表示させる。他の再生装置20C〜20Iも同様に、表示装置25C〜25Iに表示させる。
表示装置25A〜25Iは、縦3×横3にマトリクス状に配置され、上記のように再生装置20A〜20Iから受信した映像信号に基づいて画像を表示する。これにより、コンテンツAが縦3×横3に拡大された映像が、表示装置25A〜25Iにより映し出される。
上記のような表示を得たい場合に、端末10は、9台の再生装置20A〜20Iそれぞれに対して、コンテンツAを再生する再生開始命令、つまり、全体命令を送信する。9台の再生装置20A〜20Iそれぞれは、この全体命令を取得して図12に示されるように同期してコンテンツを再生する。
図13は、本実施の形態に係る再生システム1が再生するコンテンツの第二例を示す説明図である。図13には、再生システム1が全体命令に従ってコンテンツを再生するとともに、一部の再生装置が個別命令に従ってコンテンツを再生している様子が示されている。なお、図13は、図12における表示装置25A〜25Iの部分だけを示した図であり、再生装置20A〜20Iの図示を省略したものである。
図13は、表示装置25A〜25Hのそれぞれが、図12と同じようにコンテンツAを表示しており、表示装置25Iだけが、コンテンツAとは異なるコンテンツBを表示している。
上記のような表示を得たい場合に、端末10は、9台の再生装置20A〜20Iそれぞれに対して、コンテンツAを再生する全体命令を送信するとともに、再生装置20IにコンテンツBを再生する個別命令を送信する。9台の再生装置20A〜20Iそれぞれは、このような全体命令及び個別命令を取得して図13に示されるように同期してコンテンツを再生する。また、再生装置20IによるコンテンツBの再生が、再生装置20A〜20HによるコンテンツAの再生終了より早く終了した場合には、再生装置20Iは、コンテンツBの再生終了時点でコンテンツAの再生を開始する。このようにすると、再生装置20IによるコンテンツBの再生の終了後に、再生装置20A〜20IがコンテンツAを表示する状態(図12に示される状態)に移ることができる。
図14は、本実施の形態に係る再生システム1が再生するコンテンツの第三例を示す説明図である。図14には、再生システム1が全体命令に従ってコンテンツを再生するとともに、一部の再生装置がグループ識別子を用いた個別命令に従ってコンテンツを再生している様子が示されている。なお、図14は、図12における表示装置25A〜25Iの部分だけを示した図であり、再生装置20A〜20Iの図示を省略したものである。
図14は、表示装置25A〜25C、25D及び25Gのそれぞれが、図12と同じようにコンテンツAを表示しており、表示装置25E、25F、25H及び25Iが、コンテンツAとは異なるコンテンツB2を表示している。
上記のような表示を得たい場合に、端末10は、9台の再生装置20A〜20Iそれぞれに対して、コンテンツAを再生する全体命令を送信するとともに、再生装置20E、20F、20H及び20Iを含むグループの識別子を指定してコンテンツB2を再生する個別命令を送信する。9台の再生装置20A〜20Iそれぞれは、このような全体命令及び個別命令を取得して図14に示されるように同期してコンテンツを再生する。また、再生装置20E、20F、20H及び20IによるコンテンツB2の再生が、再生装置20A〜20C、20D及び20GによるコンテンツAの再生終了より早く終了した場合には、再生装置20E、20F、20H及び20Iは、コンテンツB2の再生終了時点でコンテンツAの再生を開始する。このようにすると、再生装置20E、20F、20H及び20IによるコンテンツB2の再生の終了後に、再生装置20A〜20IがコンテンツAを表示する状態(図12に示される状態)となる。
次に、再生装置20A及び20Bが同期してコンテンツのフレームを同期再生する際における同期精度の向上の工夫について説明する。
一般に、ストレージ206からのデータの読み出し速度は、メインメモリ208からのデータの読み出し速度と比較して遅い。よって、再生部205が再生しようとするフレームを、その再生前にストレージ206から直接に再生部205にコピーする方法では、再生すべき時点においてストレージ206からのデータの読み出しが完了しない可能性がある。また、LAN30におけるパケット遅延又は再生装置20A及び20B内の処理遅延等があった場合には、上記のデータの読み出しが完了しない可能性が高まる。再生すべき時点においてストレージ206からのデータの読み出しが完了していない場合、その前に再生部205の出力用メモリ209に保持されている信号データが表示装置25に表示されることでフレームが重複再生されるなどの事象が生じ得る。
図15は、本実施の形態に係る再生装置20によるフレームの取り扱いをフレームに着目して示すフロー図である。図15には、コンテンツを構成するフレームがコンテンツ取得部214に取得されてから、表示装置25に出力されるまでの流れが、フレームに着目して示されている。
ステップS201において、コンテンツ取得部214が取得したコンテンツが、ストレージ206(コンテンツ保持部(不図示))に格納される。このコンテンツには、最終的に表示装置25に出力されるフレームが含まれている。本ステップでコンテンツがストレージ206に格納された結果、ストレージ206には、上記コンテンツに含まれる複数のフレームが格納された状態となる。なお、ストレージ206は、一の時点で、上記コンテンツに含まれるすべてのフレームを保持している必要はなく、少なくとも、上記時点から後の所定時間内に再生装置20が再生するフレームを保持していればよい。
ステップS202において、再生部205は、ストレージ206に格納されたフレームであって、まだメインメモリ208(フレーム保持部(不図示))に読み出されていないフレームのうち、カウンタ管理部212の現在のカウンタ値(現在カウンタ値ともいう)から500msec分のフレームをメインメモリ208へコピーする。例えば、端末10が再生開始命令を送信する時点において、その時点のカウンタ値に500msecに相当するカウンタ値を加算した開始カウンタ値を設定する場合には、再生装置20は、端末10からの再生開始命令を取得した時点でコンテンツの先頭フレームを含む複数のフレームをメインメモリ208にコピーする。
ステップS203において、再生部205は、メインメモリ208に格納されたフレームのうち、再生カウンタ値が現在カウンタ値に略一致する1フレームを出力用メモリ209にコピーする。なお、上記「現在カウンタ値に略一致する1フレーム」とは、現在カウンタ値を中心として、前後に1フレーム時間の半分程度に相当するカウンタ値の範囲内に、再生カウンタ値が含まれる1フレームとすることができる。例えば、フレームレートが60fps、カウンタ値の増加間隔が90000分の1秒である場合、1フレーム時間がカウンタ値の1500に相当するので、上記「現在カウンタ値に略一致する1フレーム」は、現在カウンタ値プラスマイナス1500の範囲内を意味する。
ステップS204において、再生部205は、出力用メモリ209に格納されたフレームを、垂直同期信号に同期させて表示装置25に出力する。これにより、現在カウンタ値が開始カウンタ値に略一致した時点で、コンテンツの先頭フレームが表示装置25に出力され、その後、順次、コンテンツを構成するフレームが表示装置25に出力される。
以上の再生装置20の処理が再生システム1全体で行われる場合の効果を、図16を用いて説明する。
図16は、本実施の形態に係る再生システム1における再生装置20による同期再生のシーケンス図である。図16を参照しながら、再生システム1における複数の再生装置20A及び20Bによる同期再生について説明する。
まず、端末10が、再生開始命令を、再生装置20A及び20B宛てに送信する。この送信は、ブロードキャスト送信であってもよいし、再生装置20A及び20Bそれぞれを宛先とするユニキャスト送信であってもよい。この再生開始命令には、端末10が再生開始命令を送信する時点のカウンタ値に500msecに相当するカウンタ値を加算した開始カウンタ値を設定するとする。例えば、端末10が再生開始命令を送信する時点のカウンタが10000である場合、500msecに相当するカウンタ値の増加分が45000であるので、再生開始命令の開始カウンタ値は、55000である。
また、再生装置20A及び20Bそれぞれは、端末10が再生開始命令を送信する前にコンテンツを取得しているとする(ステップS201)。
再生装置20A及び20Bそれぞれは、端末10が送信した再生開始命令を取得すると、表示装置25A及び25Bによりフレームを再生する(ステップS202〜S204)。
このようにすることで、たとえLAN30におけるパケット遅延又は再生装置20A及び20B内の処理遅延等があった場合でも、再生装置20A及び20Bによるフレームの再生タイミングを同期させることができる。
以上のように、本実施の形態の再生装置は、2つのコンテンツの再生開始命令を保持することができ、一方の命令に従うコンテンツの再生が終了した時点で、他方の命令に従うコンテンツの再生を開始することができる。仮に再生開始命令を1つしか保持できない構成を有するとすれば、再生装置は、一のコンテンツの再生を終了した時点において、他のコンテンツを再生することがない。この場合、再生装置は、視聴者に何らの画像を提示することもなく視聴者における視聴効果が低いものとなる。本発明の再生装置は、上記のとおり、一方の命令に従うコンテンツの再生が終了した時点で、他方の命令に従うコンテンツの再生を開始し得るので、視聴者における視聴効果が低下することを抑制することができる。このように、再生装置は、複数の再生装置によりコンテンツを同期して再生しながら、別のコンテンツの再生要求に適切に対応することができる。
また、再生装置は、全体命令に従って再生システムが備える再生装置すべてによってコンテンツを再生した後に、その一部の再生装置が個別命令に従ってコンテンツの再生をすることを回避することができ、視聴者が感じ得る不自然さを抑制することができる。
また、再生システムにおいて、個別の再生装置として、再生システムが備える1台の再生装置に対してコンテンツを再生させることができる。
また、再生装置は、再生システムが備える再生装置それぞれによるコンテンツの同期再生、及び、個別の再生装置によるコンテンツの再生のいずれも行わない時に、所定のコンテンツを再生する。これにより、視聴者における視聴効果が低下することをより一層抑制することができる。
また、再生装置は、比較的読み出し速度が速いメインメモリからフレームを読み出すことで、同期再生に失敗することを抑制する。
以上、本発明の再生装置、及び、再生システムについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。