(58)【調査した分野】(Int.Cl.,DB名)
前記複数のコンテンツがオンデマンド型のコンテンツを含み、当該コンテンツは、このコンテンツを再生するプレーヤ部によって、前記再生開始指示する前に取得が開始され、取得されたコンテンツを格納するメモリをさらに備え、
前記メモリに格納されたコンテンツは、前記再生開始指示に応答して、再生される、請求項1記載の装置。
前記複数のコンテンツが、スケジュール配信型のコンテンツかオンデマンド型のコンテンツかが判定され、当該判定は、取得したコンテンツの識別情報に基づいて行われる、請求項1記載の装置。
前記複数のコンテンツは、オンデマンド型のコンテンツを含み、当該オンデマンド型のコンテンツを再生するプレーヤ部は、前記準備のステップの後に、当該コンテンツを取得して、取得したコンテンツをメモリに格納するステップと、
をさらに含み、
前記再生するステップにおいて、前記再生開始指示に応答して、前記メモリに格納されたコンテンツを再生開始する、請求項6記載の方法。
【発明を実施するための形態】
【0014】
以下、図面に基づいて本発明に係る実施の形態を説明する。
【0015】
図1は、本発明の実施形態に係るコンテンツ配信・再生システムの構成を示す概略構成図である。
図1を参照するに、コンテンツ配信・再生システム10は、コンテンツ再生装置20、サーバ30、モニタ40、リモートコントローラ50、IP(Internet Protocol)網60を具備する。コンテンツ再生装置20は、リモートコントローラ50からの信号によるコンテンツ取得の指示を受信して、IP網60を介して、サーバ30からスケジュール配信コンテンツを含む複数のコンテンツを取得する。コンテンツ再生装置20は、取得したコンテンツを同期させて再生して、モニタ40に多画面表示させる。また、ここでは、コンテンツのタイプとして、オンデマンド・コンテンツと、スケジュール配信コンテンツとの2種類がある。オンデマンド・コンテンツは、任意のタイミングで、コンテンツ再生装置20からの指示に応じたコンテンツの任意の時間位置から配信される。スケジュール配信コンテンツは、配信を要求されると該コンテンツのうち、要求された時刻と予め決められた配信のスケジュールとに応じた時間位置から配信される。
【0016】
サーバ30は、IP網60に接続されており、コンテンツ再生装置20からの要求に応じて、コンテンツをコンテンツ再生装置20に配信する。また、サーバ30は、コンテンツ再生装置20からの要求に応じて、SMILファイルをコンテンツ再生装置20に配信する。SMILファイルは、多画面表示するコンテンツを示す情報とコンテンツの再生開始タイミングを示す情報とコンテンツ間の同期関係を示す情報とを含むが、詳細は後述する。サーバ30は、1台の装置であってもよく、複数の装置でもよい。サーバ30が全てのコンテンツとSMILファイルを配信する構成としてもよく、スケジュール配信コンテンツを除くコンテンツのいくつか、例えば静止画や、SMILファイルのいくつかを、コンテンツ再生装置20のメモリ(
図2に示すメモリ12)、例えばハードディスク装置に記憶する構成としてもよい。また、サーバ30を複数設け、SMILファイルを記憶するサーバと、コンテンツを記憶するサーバを設けてもよい。さらに、動画コンテンツ用に独立したサーバ30を1台あるいは複数台設け、その他のコンテンツ用にも1台あるいは複数台設けるようにしてもよい。
【0017】
モニタ40は、コンテンツ再生装置20が出力する映像信号に基づき、映像を表示する液晶ディスプレイ、CRT(Cathode Ray Tube)などの画像表示装置である。リモートコントローラ50は、四方向の方向指示キー、決定キーなどを備え、ユーザによるこれらのキーの操作に応じた信号を送信することで、コンテンツ再生装置20を操作する。
IP網60は、ネットワークであり、本実施形態では、インターネットプロトコルを用いたネットワークとして説明する。なお、IP網60は、その他のプロトコルを用いたネットワークであってもよく、コンテンツ再生装置20とサーバ30とを相互通信可能なように接続する通信路であればよい。
【0018】
図2は、本発明の実施形態に係るコンテンツ再生装置の構成を含むコンテンツ配信・再生システムの概略ブロック図である。
図2を参照するに、コンテンツ再生装置20は、CPU(Central Processing Unit;中央演算処理装置)11、メモリ12、動画デコーダ13、画像合成部14、操作部15、通信部16、これらを互いに接続するバス17を具備する。
【0019】
CPU11は、メモリ12からプログラムを読み出して、実行することで、バス17を介して、コンテンツ再生装置20全体を制御する。また、CPU11は、動画コンテンツ以外の静止画像やテロップなどのコンテンツを再生して、画像データを生成し、画像合成部14に出力する等の制御を行う。
【0020】
メモリ12は、フラッシュメモリ等の不揮発性の半導体メモリ、RAM(Random Access Memory)のような揮発性の半導体メモリである。また、メモリ12は、ハードディスク装置、CD−ROM等の光ディスク装置、あるいは光磁気ディスク装置であってもよい。メモリは上述した種々のメモリを単独で構成してもよく、組み合わせて構成してよい。メモリ12は、CPU11が実行するプログラムや、サーバ30から取得したコンテンツおよびSMILファイルを記憶する。また、メモリ12は、CPU11がプログラムを実行する際のワーキング・メモリとしても動作する。
【0021】
動画デコーダ13は、MPEG(Moving Picture Experts Group)2、H.264/AVC(Advanced Video Coding)どの符号化形式の動画コンテンツの復号処理を行う。動画デコーダ13は、サーバ30が配信する動画コンテンツを、その符号化方式に対応した復号処理を行い、復号処理により得られた画像データを画像合成部14に出力する。なお、動画デコーダ13は、画像データを画像合成部14に直接出力してもよく、バス17を介して画像合成部14に出力してもよい。動画デコーダ13は、復号処理専用のチップや回路である。なお、動画デコーダ13は、代替の実施態様として、復号処理用のソフトウェアが図示されていないCPU上で動作することによって、復号処理を行ってもよく、そのCPUがCPU11であってもよい。
【0022】
画像合成部14は、復号された動画コンテンツを構成する画像データと、CPU11が生成した静止画像やテロップの画像データとを合成する処理を行い、多画面表示の映像信号を生成する。画像合成部14は、多画面表示の映像信号をモニタ40に表示のために出力する。なお、本実施形態では、一つのモニタに多画面表示をする例を説明しているが、複数のモニタに、動画コンテンツを構成する画像データと、静止画像やテロップの画像データとを別々に表示するようにしてもよい。この場合は、画像合成部14は、これらの画像を合成せずに、あるいは一部の画像のみを合成して、それぞれの映像信号を、それぞれのモニタに出力する。
【0023】
操作部15は、リモートコントローラ50からの信号、例えば無線信号や赤外線信号を受信する受信部を有する。操作部15は、リモートコントローラ50が送信した信号を受信し、該信号に含まれるキー操作のコマンドに応じた情報を出力する。なお、操作部15がキーを備え、ユーザによるそのキーの操作に応じた情報を出力するようにしてもよい。
【0024】
通信部16は、IP網60と接続され、CPU11からの指示に従い、IP網60を介して接続されたサーバ30との間で、インターネットプロトコルによる通信を行う。
【0025】
図3は、本発明の実施形態に係るコンテンツ再生装置の機能構成図である。
図3を参照するに、コンテンツ再生装置20は、CPU11が、メモリ12に格納されたプログラムと協働することで、コントローラ部101、動画プレーヤ部102、静止画プレーヤ部103、テロッププレーヤ部104の各機能が実現される。また、メモリ12は、同期情報記憶部100として動作する。なお、
図3には、動画プレーヤ部102、静止画プレーヤ部103、テロッププレーヤ部104を1つずつ示したが、それぞれ再生するコンテンツの数だけ、コントローラ部101により生成される。
【0026】
コントローラ部101は、操作部15を介してユーザからのコンテンツ視聴の指示を受けると、該コンテンツに関するSMILファイルを、IP網60を介して接続されたサーバ30から取得する。そして、コントローラ部101は、コンテンツの同期を示す情報(同期情報)を、そのSMILファイルに基づき生成して同期情報記憶部100に記憶させる。さらに、コントローラ部101は、同期情報記憶部100中の同期を示す情報を参照して、再生するコンテンツの数に応じた数のプレーヤを起動する。コントローラ部101は、再生開始タイミングより予め決められた時間だけ前の時刻を経過した場合、該再生開始タイミングのコンテンツを再生するプレーヤに準備開始指示を出力する。コントローラ部101は、この結果、SMILファイル中に記載された同期関係にて示されたコンテンツを再生するプレーヤ部102、103、104の全てが再生開始タイミングまでに待機状態にならなかった場合は、待機して、これら全てのプレーヤ部102、103、104が待機状態になったことを検出してから、これら全てのプレーヤ部102、103、104に、再生開始指示を出力する。
【0027】
動画プレーヤ部102は、1つの動画コンテンツに対応するプレーヤであり、再生開始指示を受けると、通信部16を介してサーバ30から動画コンテンツを取得し、取得した動画コンテンツを動画デコーダ部13に出力することで再生する。動画プレーヤ部102は、準備開始指示を受けると、コンテンツのタイプに基づく再生準備処理を行って待機状態に移行する。この再生準備処理の詳細については後述する。
【0028】
静止画プレーヤ部103は、1つの静止画コンテンツに対応するプレーヤであり、再生開始指示を受けると、通信部16を介してサーバ30から静止画コンテンツを取得し再生する。また、静止画プレーヤ部103は、準備開始指示を受けると、静止画コンテンツの取得を含む再生準備処理を行って待機状態に移行する。なお、静止画プレーヤ部103は、再生して生成した静止画コンテンツの画像データを、画像合成部14に出力する。
【0029】
テロッププレーヤ部104は、テロップを表示させる1つのコンテンツに対応するプレーヤであり、再生開始指示を受けると、通信部16を介してサーバ30からテロップを表示させるコンテンツを取得し再生する。また、テロッププレーヤ部104は、準備開始指示を受けると、テロップを表示させるコンテンツの取得を含む再生準備処理を行って待機状態に移行する。なお、テロッププレーヤ部104は、再生して生成したテロップの画像データを、画像合成部14に出力する。
【0030】
図4は、本発明の実施形態に係るコンテンツ再生装置が取得するSMILファイルの例を示す図である。
図4を参照するに、SMILファイルは、多画面表示するための表示領域を定義する部分P1と、複数のコンテンツを示す情報、それらのコンテンツの再生開始タイミング(再生開始時刻)を示す情報、それらのコンテンツ間の同期関係を示す情報を含む、部分P2〜P4とを有する。このSMILファイルは、ニュース番組に関し、その番組では、3種類のニュース(株式ニュース、為替ニュース、天気予報)を紹介する。また、このSMILファイル中には、コンテンツのタイプを識別する情報は含まれておらず、後述するDESCRIBE responseに記述されている。3つの動画ファイル「株式.mpg」、「為替.mpg」、「天気.mpg」は、スケジュール配信コンテンツであり、その他の静止画およびテロップは、オンデマンド・コンテンツであると仮定して、以下説明する。
【0031】
図4に示すSMILファイルの部分P1において、その第1行では、全画面が幅1920ピクセル、高さ1080ピクセルからなることを定義している。部分P1の第2行では、表示領域「region1」が、左端が全画面の左端、上端が全画面の上端であり、幅1600ピクセル、高さ900ピクセルであることが定義されている。部分P1の第3行では、表示領域「region2」が、左端が全画面の左端から1600ピクセル目、上端が全画面の上端であり、幅320ピクセル、高さ900ピクセルであることが定義されている。部分P1の第4行では、表示領域「region3」が、左端が全画面の左端、上端が全画面の上端から900ピクセル目であり、幅1920ピクセル、高さ180ピクセルであることが定義されている。
【0032】
図4に示すSMILファイルの部分P2において、動画コンテンツ(video)と静止画コンテンツ(img)とテロップ(textstream)とを同期して(syncBehaviorDefault=“locked”)表示させることが定義されている。部分P2の第2行では、その動画コンテンツが、株式のニュースを紹介するファイル「株式.mpg」であり、表示領域「region1」に、この動画コンテンツの再生開始タイミング「00:00」から15秒間表示させること(表示時間)が定義されている。部分P2の第3行では、その静止画コンテンツが、例えば株式のニュースに関連する画像データであるファイル「株式.bmp」であり、表示領域「region2」に、これらのコンテンツの再生開始タイミング「00:00」から15秒間表示させることが定義されている。部分P2の第3行では、そのテロップが、例えば株式のニュースに関連するテロップであるファイル「株式.txt」であり、表示領域「region3」に、これらのコンテンツの再生開始タイミング「00:00」から15秒間表示させることが定義されている。
【0033】
図4に示すSMILファイルの部分P3においては、部分P2で定義されたコンテンツを15秒間表示したときを再生開始タイミングとして、動画コンテンツと静止画コンテンツとテロップとを同期して表示させることが定義されている。部分P3の第2行では、その動画コンテンツが、為替のニュースを紹介するファイル「為替.mpg」であり、表示領域「region1」に、30秒間表示させることが定義されている。部分P3の第3行では、その静止画コンテンツは、例えば為替のニュースに関連する画像データであるファイル「為替.bmp」であり、表示領域「region2」に、30秒間表示させることが定義されている。部分P3の第4行では、そのテロップが、例えば為替のニュースに関連するテロップであるファイル「為替.txt」であり、表示領域「region3」に、30秒間表示させることが定義されている。
【0034】
図4に示すSMILファイルの部分P4では、その第1行では、部分P3で定義されたコンテンツの表示の表示時間が経過したときを再生開始タイミングとして、動画コンテンツと静止画コンテンツとテロップとを再生開始タイミングから3秒のずれを許容して(syncBehaviorDefault=“canSlip” syncTolerance=“3s”)同期して表示させることが定義されている。部分P4の第2行では、その動画コンテンツが、天気予報を紹介するファイル「天気.mpg」であり、表示領域「region1」に、15秒間表示させることが定義されている。部分P4の第3行では、その静止画コンテンツが、例えば天気予報に関連する画像データであるファイル「天気.bmp」であり、表示領域「region2」に、15秒間表示させることが定義されている。部分P4の第4行では、そのテロップが、例えば天気予報に関連するテロップであるファイル「天気.txt」であり、表示領域「region3」に、15秒間表示させることが定義されている。
【0035】
図5は、本発明の実施形態に係るコンテンツ再生装置が出力する多画面表示の構成例を示す図である。
図5を参照するに、コンテンツ再生装置20がモニタ40に表示させる多画面表示Gは、動画表示領域A1と、静止画表示領域A2と、テロップ表示領域A3とを有する。多画面表示Gの映像信号は、上述した
図3の画像合成部14により生成される。多画面表示Gの動画表示領域A1には、動画デコーダ部13が生成した画像データに基づく画像が配置される。静止画表示領域A2には、静止画プレーヤ部103が生成した画像データに基づく画像が配置される。テロップ表示領域A3には、テロッププレーヤ部104が生成した画像データに基づく画像が配置される。なお、これらの表示領域A1〜A3は、画像合成部14により、
図4に示したSMILファイルによる定義に従い設けられ、各プレーヤ部102、103、104と対応付けられる。
【0036】
図6は、コンテンツの同期を示す情報の例を示す図である。
図6に示すコンテンツの同期を示す情報(同期情報)は、
図3に示した同期情報記憶部100に記憶されており、
図4に示すSMILファイルに基づき、コントローラ部101が生成する。
図6に示す同期IDは、複数のコンテンツを同期して再生開始する再生開始タイミング各々に割振られた識別番号を示す。
図6に示すコンテンツの再生開始時刻Tsは、再生開始タイミングの時刻を示す。
図6に示す再生実績時刻Taは、同期対象のコンテンツを再生した実績時刻を示す。
図6に示す動画表示領域A1、静止画表示領域A2、テロップ表示領域A3は、各々の領域に表示するコンテンツのファイル名と、該コンテンツを、どのように同期させるかを示す同期種別を示す。なお、
図6に示す同期情報は、番組の再生開始時刻が「07:00:00」である場合の例である。
【0037】
図6を参照するに、同期ID「1」に対応付けて、再生開始時刻「07:00:00」、動画表示領域A1「株式.mpg」「固定」、静止画表示領域A2「株式.bmp」「固定」、テロップ表示領域A3「株式.txt」「固定」を記憶している。これらは、番組の再生開始時刻に、動画表示領域A1にはファイル「株式.mpg」を表示させ、静止画表示領域A2にはファイル「株式.bmp」を表示させ、テロップ表示領域A3にはファイル「株式.txt」を表示させるために、互いにずれないように同期させて、再生を開始することを示す。ここで、互いにずれないように同期させるとは、再生開始時刻を経過しても、いずれかのコンテンツが再生できる状態になければ、そのコンテンツが再生できるようになるまで待ってから、同期させて再生することを示す。さらに、
図6を参照するに、同期ID「1」に対応付けて、再生実績時刻Ta1として「07:00:00」を記憶している。これは、同期ID「1」の同期対象の全てのコンテンツを番組の再生開始時刻に再生を示す開始したことを示す。なお、これらの同期ID「1」に対応付けられた情報は、
図4に示すSMILファイルの部分P2に基づき生成される。
【0038】
また、同期ID「2」に対応付けて、再生開始時刻「Ta1+07:00:15」、動画表示領域A1「為替.mpg」「固定」、静止画表示領域A2「為替.bmp」「固定」、テロップ表示領域A3「為替.txt」「固定」を記憶している。これらは、再生開始時刻である、同期ID「1」(番組の先頭)の全てのコンテンツの再生を開始して(同期ID「1」の再生実績時刻「07:00:00」)から15秒後に、動画表示領域A1にはファイル「為替.mpg」を表示させ、静止画表示領域A2にはファイル「為替.bmp」を表示させ、テロップ表示領域A3にはファイル「為替.txt」を表示させるために、互いにずれないように同期させて、再生を開始することを示す。さらに、
図6を参照するに、同期ID「2」に対応付けて、再生実績時刻Ta2として「07:00:15」を記憶している。これは、同期ID「2」の同期対象の全てのコンテンツを再生開始時刻(07:00:15)に再生を開始したことを示す。なお、これらの同期ID「2」に対応付けられた情報は、
図4に示すSMILファイルの部分P3に基づき生成される。
【0039】
また、同期ID「3」に対応付けて、再生開始時刻「Ta2+07:00:30」、動画表示領域A1「天気.mpg」「3秒内」、静止画表示領域A2「天気.bmp」「3秒内」、テロップ表示領域A3「天気.txt」「3秒内」を記憶している。これらは、同期ID「2」の全てのコンテンツの再生を開始してから30秒を経過したときから3秒以内に、動画表示領域A1にファイル「天気.mpg」を表示させ、静止画表示領域A2にファイル「天気.bmp」を表示させ、テロップ表示領域A3にファイル「天気.txt」に表示させるために、互いにずれないように同期させて、再生を開始することを示す。さらに、
図6を参照するに、同期ID「3」に対応付けて、再生実績時刻Ta3として「07:00:51」を記憶している。これは、同期ID「3」の同期対象の全てのコンテンツについての再生を開始できたのは、番組開始から51秒後であることを示す。なお、これらの同期ID「3」に対応付けられた情報は、
図4に示すSMILファイルの部分P4に基づき生成される。特に、各表示領域の「3秒内」は、部分P4の1行目「syncTolerance=“3s”」に基づく。
【0040】
図7は、
図3に示した動画プレーヤ部、静止画プレーヤ部、テロッププレーヤ部の状態遷移図である。
図7を参照するに、動画プレーヤ部102、静止画プレーヤ部103、テロッププレーヤ部104は、それぞれ、初期状態ST1、準備状態ST2、待機状態ST3、再生状態ST4の4つの状態のいずれかを有する。各プレーヤ部は、コントローラ部101により生成されると、初期状態ST1となる。あるプレーヤ部が初期状態ST1の場合、コントローラ部101からの準備開始EV1の指示をこのプレーヤ部が受信すると、準備状態ST2に遷移する。準備状態ST2の場合、このプレーヤ部における再生の準備処理が完了(準備完了EV2)すると、待機状態ST3に遷移する。待機状態ST3の場合、コントローラ部101からの再生開始EV3の指示をこのプレーヤ部が受信すると、再生状態ST4に遷移する。再生状態ST4の場合、コントローラ部101からの再生停止EV4の指示をこのプレーヤ部が受信すると、初期状態ST1に遷移する。
【0041】
図8は、本発明の実施形態に係るコンテンツ再生装置とサーバとの通信を示すシーケンス図である。
図8を参照するに、コンテンツ再生装置20のプレーヤ部、例えば、動画プレーヤ部102は、再生するコンテンツの情報を、通信部16およびIP網60を介して、サーバ30に要求する(m1)。この要求は、RTSP(Real Time Streaming Protocol)のDESCRIBE requestにて行う。サーバ30は、この要求を受信すると、このDESCRIBE requestに対する応答であって、SDP(Sessin Description Protocol)で記述された応答を含むDESCRIBE responseを、コンテンツ再生装置20に送信する(m2)。動画プレーヤ部102は、このDESCRIBE responseに基づき、コンテンツが、オンデマンド・コンテンツであるか、スケジュール配信コンテンツであるかを判定する。DESCRIBE responseおよびそれに基づく判定方法については、後述する。
【0042】
動画プレーヤ部102は、DESCRIBE responseを受信すると、通信部16およびIP網60を介して、RTSPのSETUP requestをサーバ30に送信する(m3)。サーバ30は、そのSETUP requestを受信すると、コンテンツ配信のためのリソースを確保し、その応答としてSETUP responseを動画プレーヤ部102に送信する(m4)。これにより、動画プレーヤ部102とサーバ30とは、コンテンツの伝送方法や伝送に用いるポート番号を共有する。動画プレーヤ部102が再生するコンテンツが、スケジュール配信コンテンツのときは、このSETUP responseを受信すると、動画プレーヤ部102は、再生準備処理を完了して、待機状態に移行する。
【0043】
動画プレーヤ部102が再生するコンテンツが、オンデマンド・コンテンツであるときは、動画プレーヤ部102は、再生するコンテンツの配信要求であるPLAY requestを、通信部16およびIP網60を介して、サーバ30に送信する(m5)。また、動画プレーヤ部102が再生するコンテンツがスケジュール配信コンテンツであり、動画プレーヤ部102がコントローラ部101からPLAYの指示を受信したときも、動画プレーヤ部102は、再生するコンテンツの配信要求であるPLAY requestを、通信部16およびIP網60を介して、サーバ30に送信する(m5)。これらのPLAY requestを受けたサーバ30は、PLAY requestに対する応答であるPLAY responseを、コンテンツ再生装置20に返信する(m6)とともに、例えば、RTP(A Transport Protocol for Real−Time Applications)を用いて、動画プレーヤ部102へのコンテンツの送信を開始する。動画プレーヤ部102が再生するコンテンツが、オンデマンド・コンテンツのときは、このPLAY responseを受けると、動画プレーヤ部102は、再生準備処理を完了して、待機状態となる。
【0044】
静止画プレーヤ部103およびテロッププレーヤ部104については、本実施形態では、静止画コンテンツおよびテロップのコンテンツはオンデマンド・コンテンツであるので、これらのプレーヤ部は、HTTP(Hyper Text Transport Protocol)などを用いて、これらのコンテンツのファイルを取得すると、再生準備処理を完了して、待機状態となる。なお、静止画プレーヤ部103およびテロッププレーヤ部104についても、静止画コンテンツまたはテロップのコンテンツが、スケジュール配信コンテンツであるときなどは、動画プレーヤ部103と同様に、
図8に示すようなシーケンスで再生準備処理を行い、再生開始後に、コンテンツのファイルを取得するようにしてもよい。
【0045】
図9は、オンデマンド・コンテンツのDESCRIBE responseの例を示す図である。
図9を参照するに、DESCRIBE responseは、その第4行に、コンテンツのタイプの識別情報であって、従来にはない、オンデマンド・コンテンツであることを示す「a=type:vod seekable」が記載されている。動画プレーヤ部102は、この記載(特に「vod」)を検出することで、オンデマンド・コンテンツであると判定する。
【0046】
オンデマンド・コンテンツがユニキャストで配信され、スケジュール配信コンテンツがマルチキャストで配信される場合は、
図9のDESCRIBE responseの1行目に記載された「c=IN IP4 0.0.0.0」で指定された配信先アドレスをコンテンツのタイプの識別情報としてもよい。この場合、動画プレーヤ部102は、配信先アドレスがマルチキャストアドレスであるか否かに基づき、オンデマンド・コンテンツであるか、スケジュール配信コンテンツであるかを判定する。すなわち、マルチキャストアドレスのときは、スケジュール配信コンテンツであると判定し、ユニキャストアドレスのときは、オンデマンド・コンテンツであると判定してもよい。
【0047】
また、動画プレーヤ部102は、
図9のDESCRIBE responseの4行目に記載された「a=range:npt=0−15.015」のように、時間の表記をコンテンツのタイプの識別情報としてもよい。この場合、動画プレーヤ部102は、時間の表記に、相対時刻(コンテンツの先頭が基準)を用いているか、あるいは「a=range:clock=20090520T2115−20090520T2203」というように絶対時刻(年月日時分秒など)を用いているかに基づき、オンデマンド・コンテンツであるか、スケジュール配信コンテンツであるかを判定する。
【0048】
図10は、スケジュール配信コンテンツのDESCRIBE responseの例を示す図である。
図10を参照するに、本実施形態に係るDESCRIBE responseは、その3行目に、コンテンツのタイプの識別情報であって、従来にはない、スケジュール配信コンテンツであることを示す「a=type:scheduled」が記載されている。本実施形態の動画プレーヤ部102は、この記載(特に「scheduled」)を検出することで、スケジュール配信コンテンツであると判定する。
【0049】
図11は、本発明の実施形態に係る複数のコンテンツを同期表示するためのフローチャートであって、コントローラ部の動作を示すフローチャートである。
【0050】
図11を参照するに、コントローラ部101は、まず、SMILファイルを、通信部16およびIP網60を介して、サーバ30から取得する(S101)。なお、取得するSMILファイルは、例えば、ユーザが選択した番組に対応するSMILファイルである。SMILファイルには、先の
図4に示したように、番組を構成する多画面表示されるコンテンツを示す情報、多画面表示するための表示領域を定義する情報、それらのコンテンツの再生開始タイミング(再生開始時刻)を示す情報、および、それらのコンテンツ間の同期関係を示す情報が含まれている。ユーザは、コンテンツ再生装置20がサーバ30から取得した再生可能な番組の一覧が表示されたモニタ40を見て、リモートコントローラ50を操作してその一覧の中から所望の番組を選択する。
【0051】
また、例えば、
図4に示すSMILファイルの番組を、7時から再生するというように、番組の指定と、該番組を再生する予定時刻とを、コンテンツ再生装置20のメモリ12が予め記憶しており、その予定時刻に従って、コントローラ部101がSMILファイルを取得するようにしてもよい。この場合、コントローラ部101は、予定時刻までに準備処理を行えるように、予定時刻より予め決められた時間αだけ前に、SMILファイルを取得する。なお、番組を再生する時刻までに準備処理を行えるように、この時間αは、後述する時間βより大きい値であることが望ましい。この場合、予定時刻を、後述するステップS102で同期情報を生成する際に用いる番組の再生開始時刻とする。
【0052】
次に、コントローラ部101は、取得したSMILファイルに基づいて、コンテンツの同期を示す情報(同期情報)を生成して、同期情報記憶部100に記憶させる(S102)。同期情報の例としては
図6に示したものである。なお、ステップS101において取得するSMILファイルの決定を、ユーザが所望の番組を選択することで行った場合など、番組の再生開始時刻が決まっていない場合は、コンテンツ再生装置20が備える時計から現在時刻を取得して、これを再生開始時刻として用いて、同期情報を生成する。
【0053】
次に、コントローラ部101は、取得したSMILファイルに従って、そのSMILファイルで定義された、所望の番組を構成するコンテンツ毎に、そのコンテンツの種別(動画、静止画、テロップ)に応じたプレーヤ部を生成して、対応付ける。例えば、
図4に示すSMILファイルであれば、動画コンテンツ「株式.mpg」、「為替.mpg」、「天気.mpg」のそれぞれについて、動画プレーヤ部102を生成して対応付け、静止画コンテンツ「株式.bmp」、「為替.bmp」、「天気.bmp」のそれぞれについて、静止画プレーヤ部103を生成して対応付け、テロップコンテンツ「株式.txt」、「為替.txt」、「天気.txt」のそれぞれについて、テロッププレーヤ部104を生成して対応付ける。 また、コントローラ部101は、同期情報記憶部100に記憶された同期情報の中から、先頭の同期IDを同期の対象とする同期IDとして選択する(S103)。
【0054】
次に、コントローラ部101は、各プレーヤ部の状態を取得する(S104)。ここで、各プレーヤ部の状態は、
図7に示した、初期状態、準備状態、待機状態、および再生状態のいずれかである。コントローラ部101は、同期情報記憶部100に記憶された同期情報であって、選択されている同期IDの同期情報を参照し、初期状態となっているプレーヤ部に対応付けられており、かつ、準備タイミングを経過したコンテンツがあるか否かを判定する(S105)。この判定の結果、該当するコンテンツがあれば(S105で“Yes”の場合)、このコンテンツに対応するプレーヤ部に対して、準備開始を指示し(S106)、ステップS107に進む。ここで、準備タイミングは、同期の対象となっている同期IDに対応付けられた再生開始時刻より予め決められた時間β(例えば、10秒)だけ前の時刻である。また、ステップS105の判定の結果、該当するコンテンツが無ければ(S105で“No”の場合)、ステップS107に進む。
【0055】
次に、ステップS107では、コントローラ部101は、同期情報記憶部100に記憶された同期情報であって、選択されている同期IDの同期情報を参照して、同期の対象となっているコンテンツに対応する全てのプレーヤ部が待機状態であるか否かを判定する(S107)。なお、待機状態とは、再生準備が完了した状態である。この判定動作を具体的に説明すると、例えば、
図6を参照するに、ここに示された同期情報において、同期ID「2」に動画表示領域A1「為替.mpg」「固定」、静止画表示領域A2「為替.bmp」「固定」、テロップ表示領域A3「為替.txt」「固定」が対応付けられている場合は、動画表示領域A1、静止画表示領域A2、テロップ表示領域A3にそれぞれ表示する動画「為替.mpg」、静止画「為替.bmp」、およびテロップ「為替.txt]のコンテンツが同期の対象となっている。この場合、動画「為替.mpg」、静止画「為替.bmp」、およびテロップ「為替.txt」のコンテンツにそれぞれ対応する、動画プレーヤ部102、静止画プレーヤ部103、およびテロッププレーヤ部104の全ての状態が待機状態であるか否かを判定する。
【0056】
また、
図6に示される同期情報において、同期ID「3」に動画表示領域A1「3秒内」、静止画表示領域A2「3秒内」、テロップ表示領域A3「3秒内」が対応付けられている場合は、動画表示領域A1、静止画表示領域A2、テロップ表示領域A3に表示するコンテンツが同期の対象となっている。これらの同期の種別が、「固定」ではなく「3秒内」と指定されている。この場合は、コントローラ部101は、動画プレーヤ部102、静止画プレーヤ部103、テロッププレーヤ部104の全てが待機状態となったとき、あるいは、再生開始時刻「Ta2+00:30」から3秒経過したときは、再生準備が完了したと判定する。ここで、再生開始時刻「Ta2+00:30」は、同期ID「2」の再生実績時刻Ta2「07:00:15」から30秒経過した時刻を表す。
【0057】
同期の対象となっているコンテンツのプレーヤ部の全てが待機状態であると判定された場合(S107で“Yes”の場合)、ステップS108に進む。コントローラ部101は、対象となっている同期IDに対応付けられた再生開始時刻を経過するまで待ち(S108)、ステップS109に進む。次に、コントローラ部101は、同期の対象となっているコンテンツのプレーヤ部に対して、再生開始を指示する(S109)。次に、コントローラ部101は、再生開始の指示を受けたプレーヤ部が再生を開始した時刻を再生実績時刻として、選択されている同期IDの同期情報を更新し、同期の対象となっているコンテンツのプレーヤ部が全て再生を開始したら、選択している同期IDを、同期情報中の次の同期IDに更新する(S110)。次に、ステップS112に移動する。
【0058】
一方、ステップS107において、同期の対象となっているコンテンツのプレーヤ部のいずれかが待機状態でないと判定されると(S107で“No”の場合)、コントローラ部101は、同期限度時刻を経過したか否かを判定する(S111)。ここで、同期限度時刻とは、
図6の同期ID「3」のように、各表示領域に時間が指定されているときに、その同期IDに対応付けられた再生開始時刻に、その指定されている時間を加えた時刻を示す。例えば、
図6の同期ID「3」のように、再生開始時刻が「Ta2+00:30」であり、指定された時間が「3秒内」であるときは、同期限度時刻は、再生開始時刻に指定された時間を足した「Ta2+00:33」となる。また、
図6の同期ID「1」、「2」のように、各表示領域に時間ではなく「固定」が指定されているときは、同期限度時刻はないため、ステップS111では、常に同期限度時刻を経過していないと判定する。ステップS111において、同期限度時刻を経過したと判定されると(S111で“Yes”の場合)、コントローラ部101は、上述のステップS109に進み、以降、上述の説明と同様に動作する。このとき、待機状態となっていないプレーヤ部は、ステップS109のコントローラ部101からの再生開始指示を保持し、待機状態となったときに、その再生開始指示に基づき、コンテンツの再生を開始する。
【0059】
また、ステップS111において、同期限度時刻を経過していないと判定されると(S111で“No”の場合)、ステップS112に進む。
ステップS112では、コントローラ部101は、再生中のコンテンツ各々が再生終了時刻を経過しているか否かを判定する。ここで、再生終了時刻は、各コンテンツの再生時間(SMILファイル中の「dur=」で設定された値)を、同期情報中の再生実績時刻に加えた値である。ステップS112において、再生終了時刻を経過していると判定されると(S112で“Yes”の場合)、コントローラ部101は、再生終了時刻を経過しているコンテンツに対応するプレーヤ部に再生停止を指示する(S113)。
【0060】
次にコントローラ部101は、番組が終了したか否かを判定し、終了したと判定したときは(S114で“Yes”の場合)、処理を終了する。終了していないと判定したときは(S114で“No”の場合)、ステップS104に戻って、以後の処理を繰り返す。
【0061】
図12は、本発明の実施形態に係る複数のコンテンツを同期表示するためのフローチャートであって、動画プレーヤ部の動作を示すフローチャートである。
【0062】
図12を参照するに、動画プレーヤ部102は、コントローラ部101により起動されると、初期状態となり、準備開始の指示を待つ(S201)。コントローラ部101から準備開始の指示を受けると、動画プレーヤ部102は、準備状態となり、DESCRIBE requestを、サーバ30に送信して再生するコンテンツの情報を要求し、動画プレーヤ部102はその応答であるDESCRIBE responseを受信する(S202)。
【0063】
次に、動画プレーヤ部102は、受信したDESCRIBE response中のコンテンツのタイプの識別情報に基づいて、再生するコンテンツがオンデマンド・コンテンツであるか、スケジュール配信コンテンツであるかを判定する(S203)。オンデマンド・コンテンツであると判定したとき(S203で“オンデマンド”の場合)は、S204に進む。
【0064】
動画プレーヤ部102は、配信先アドレス、ポート番号を指定したSETUP requestを、サーバ30に送信し、その応答であるSETUP responseを受信すると、その配信先アドレス、ポート番号での受信の設定を行う(S204)。なお、コンテンツをユニキャストで伝送する場合は、配信先アドレスは、自装置のアドレスとなるので、設定の必要はないが、マルチキャストで伝送する場合は、そのマルチキャストで用いるアドレスを配信先アドレスとする。
【0065】
次に、動画プレーヤ部102は、コンテンツの配信要求であるPLAY requestを、サーバ30に送信し、その応答であるPLAY responseを受信すると、待機状態となり、サーバ30が配信を開始したコンテンツを受信して、メモリ12に記憶する(S205)。
【0066】
次に、動画プレーヤ部102は、コントローラ部101からの再生開始の指示を待つ(S206)。この間、サーバ30から配信され続けるコンテンツを、動画プレーヤ部102は受信してメモリ12に記憶させるが、記憶させたコンテンツが予め設定された所定の容量のメモリが満杯になったときは、サーバ30に対して、コンテンツの配信停止要求であるPAUSE requestを送信する(S207)。なお、再生開始の指示を待つ間に、このPAUSE requestの送信を行なう回数は、一回でよく、PAUSE requestの送信を行なった後に、ステップS206を経て、再度、このステップS207に遷移しても、PAUSE requestの送信は行なわない。
【0067】
次に、動画プレーヤ部102は、コントローラ部101から再生開始の指示を受けると(S206で“Yes”の場合)、再生状態となり、ステップS206にてPAUSE requestを送信しているか否かを判定する(S208)。送信していると判定したとき(S208で“Yes”の場合)は、ステップS211に遷移して、コンテンツの配信要求であるPLAY requestをサーバ30に送信する。ステップS211にてPLAY requestを送信した後、あるいは、ステップS208にてPAUSE requestを送信していないと判定した後は、動画プレーヤ部102は、サーバ30から受信し、メモリ12に記憶させている動画コンテンツを、動画デコーダ部103に出力して再生する(S212)。動画プレーヤ部102は、動画コンテンツが終了するか、コントローラ部101から再生停止の指示があるまで、再生を続ける(S213)。動画コンテンツが終了するか、再生停止の指示があると、処理を終了して、初期状態となる。
【0068】
一方、ステップS203にて、スケジュール配信コンテンツであると判定したときは、動画プレーヤ部102は、配信先アドレス、ポート番号を指定するSETUP requestを、サーバ30に送信し、その応答であるSETUP responseを受信して、その配信先アドレスおよびポート番号での受信を設定し(S209)、待機状態となる。次に、動画プレーヤ部102は、コントローラ部101からの再生開始の指示を待つ(S210)。動画プレーヤ部102は、コントローラ部101から再生開始の指示を受けると、再生状態となり、コンテンツの配信要求であるPLAY requestをサーバ30に送信し(S211)、ステップS212に遷移して、以降、上述の説明と同様に動作する。
【0069】
静止画プレーヤ部103およびテロッププレーヤ部104については、本実施形態では、静止画コンテンツおよびテロップのコンテンツはオンデマンド・コンテンツであるので、これらのプレーヤ部は、HTTPなどを用いて、このコンテンツのファイルを取得すると、再生準備処理を完了して、待機状態となる。なお、静止画プレーヤ部103およびテロッププレーヤ部104についても、静止画コンテンツまたはテロップのコンテンツが、スケジュール配信コンテンツであるときなどは、動画プレーヤ部103と同様に、
図12に示すようなフローで動作をし、再生開始後に、このコンテンツのファイルを取得するようにしてもよい。
【0070】
このように、動画プレーヤ部102は、DESCRIBE response中のコンテンツのタイプの識別情報に基づき、再生するコンテンツがスケジュール配信コンテンツであるか、オンデマンド・コンテンツであるかを判定し、この判定の結果、再生するコンテンツがオンデマンド・コンテンツであるときは、再生準備処理にサーバ30に対するコンテンツの配信要求(PLAY request)を含み、再生するコンテンツがスケジュール配信コンテンツであるときは、再生準備処理にサーバ30に対するコンテンツの配信要求を含まない。
【0071】
したがって、スケジュール配信コンテンツであるときは、動画プレーヤ部102は、コントローラ部101から再生開始指示を受けた後、すなわち再生状態となってから取得したデータを再生する。したがって、本実施形態のコンテンツ再生装置20は、スケジュール配信コンテンツについて、その配信スケジュールによって決定された時刻の内容を表示しつつ、そのスケジュール配信コンテンツを含む複数のコンテンツを同期して表示することができる。なお、IP網60での伝送による遅延や、コンテンツ再生装置20における復号処理による遅延などが発生する可能性があり、それによって、配信のスケジュールによって決定された時刻よりも遅延して表示されることはあるが、復号処理されたコンテンツを遅延につながる処理、例えば、再生開始指示前に配信されることのあるコンテンツのデータのバッファリングを行わずに再生しているので、配信のスケジュールによって決定された内容を、その決定された時刻からのずれが少ない時刻に再生可能となる。これにより、コンテンツ再生装置20は、過去に表示されるべきであったコンテンツを配信のスケジュールによって決定された時刻よりも遅れて表示することを回避できる。
【0072】
また、コンテンツ再生装置20は、再生開始指示前に配信されることのあるコンテンツのデータのバッファリングを行わずに再生しているので、再生開始指示前に配信されたコンテンツのデータ、すなわち所望のコンテンツ以外のコンテンツが表示されることを回避できる。
【0073】
また、コンテンツ再生装置20は、再生開始時刻になってからスケジュール配信コンテンツの再生開始を指示しているので、スケジュール配信コンテンツを管理するサーバ30から、そのスケジュール配信コンテンツが存在しないというエラーの発生を回避できる。
【0074】
図13は、本発明の実施形態に係る複数のコンテンツを同期表示するためのフローチャートであって、動画プレーヤ部の動作の他の例を示すフローチャートである。この例は、先の
図12で説明した例の変形例である。同図において、
図12の各部に対応する部分には、同一の符号(S201〜S209、S211〜S213)を付し、説明を省略する。
図13に示すフローチャーとは、ステップS210に替えて、ステップS301とステップS302とステップS303を有する点が異なる。
【0075】
ステップS301では、動画プレーヤ部102は、コンテンツの配信要求であるPLAY requestを、サーバ30に送信し、その応答であるPLAY responseを受信すると、待機状態となる。ステップS302では、動画プレーヤ部102は、PLAY requestを受信したサーバ30が続いて配信を開始したコンテンツのデータを受信する。ただし、動画プレーヤ部102は、受信したデータを破棄する。ここで、動画プレーヤ部102は、受信、すなわち取得したデータの破棄を、データの取得単位で行うようにしてもよいし、データの最小単位、例えばビット単位で行うようにしてもよい。例えば、動画コンテンツがMPEG2−TS(Transport Stream)のTSパケットを単位として送信されており、動画プレーヤ部102が、そのTSパケットを単位としてデータの取得を行っているときは、データの破棄を、TSパケットを単位として行う。
【0076】
次に、ステップS303では、動画プレーヤ部102は、コントローラ部101からの再生開始の指示を待つ。この間も、動画プレーヤ部102は、受信したコンテンツのデータを破棄する。コントローラ部101から再生開始の指示を受けると、再生状態となり、ステップS212に遷移する。このとき、動画プレーヤ部102は、再生開始の指示を受けステップS212に遷移し、再生状態になると、動画プレーヤ部102は、受信したコンテンツのデータを破棄せず、動画デコーダ部103に出力して再生する。なお、データの破棄を、データの取得単位で行っているときは、動画プレーヤ部102が再生開始の指示を受けて再生状態になる前に、コンテンツ再生装置20としては受信しているデータを含むが、データの取得単位として完成し、動画プレーヤ部102が取得するのは、動画プレーヤ部102が再生状態となった後であるデータについては、動画プレーヤ部102が、破棄せずに再生するようにしてもよいし、破棄するようにしてもよい。
【0077】
このように、動画プレーヤ部102は、DESCRIBE response中のコンテンツのタイプの識別情報に基づき、再生するコンテンツがスケジュール配信コンテンツであるか、オンデマンド・コンテンツであるかを判定し、この判定の結果、再生するコンテンツがオンデマンド・コンテンツであるときは、再生準備処理にサーバ30に対するコンテンツの配信要求を含むものの、再生開始の指示を受けるまで、受信したデータは破棄する。
【0078】
したがって、スケジュール配信コンテンツであるときは、動画プレーヤ部102は、コントローラ部101から再生開始指示を受けた後、すなわち再生状態となってから取得したデータのみを再生するので、スケジュール配信コンテンツの内容を、配信のスケジュール通りに表示しつつ、スケジュール配信コンテンツを含む複数のコンテンツを同期して表示することができる。さらに、本変形例は、上述した本実施形態の同様の効果を有する。
【0079】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。