【文献】
ETSI TS 102 809; Digital Video Broadcasting (DVB); Signalling and carriage of interactive applicatio,2010年 1月,V1.1.1,p.59,80-81,URL,http://www.etsi.org/deliver/etsi_ts/102800_102899/102809/01.01.01_60/ts_102809v010101p.pdf
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0022】
以下、図面を参照しながら本技術の実施の形態について説明する。
【0023】
[放送システムの構成例]
図1は、放送システムの構成例を示す図である。
【0024】
放送システム1は、放送装置11、受信装置12、コンテンツサーバ13、アプリサーバ16、及びアプリ制御情報サーバ17から構成される。また、コンテンツサーバ13は、再生制御情報サーバ14及び配信サーバ15から構成される。
【0025】
受信装置12、再生制御情報サーバ14、配信サーバ15、アプリサーバ16、及びアプリ制御情報サーバ17は、インターネット2を介して相互に接続される。また、外部装置18は、必要に応じて受信装置12に接続されるほか、インターネット2を介してアプリサーバ16と接続可能とされる。
【0026】
放送装置11は、地上デジタル放送網等を介してデジタルテレビジョン放送信号を放送(送信)するようになされている。このデジタルテレビジョン放送信号によりデジタルテレビジョン番組やCMなどの放送コンテンツが送信される。
【0027】
受信装置12は、放送装置11から送信されたデジタルテレビジョン放送信号を受信して、デジタルテレビジョン番組の映像及び音声を取得する。受信装置12は、取得した映像をディスプレイ(後述する
図2のディスプレイ52)に出力するとともに、音声をスピーカ(後述する
図2のスピーカ51)に出力する。
【0028】
また、受信装置12は、配信サーバ15から配信される配信コンテンツを受信して、再生することが可能である。受信装置12は、ユーザにより配信コンテンツの再生が指示された場合、再生制御メタファイルを、インターネット2を介して再生制御情報サーバ14に要求する。
【0029】
再生制御情報サーバ14は、再生制御メタファイルを管理している。ここで、再生制御メタファイルとは、配信コンテンツの再生を制御するための制御情報である。また、再生制御メタファイルには、配信コンテンツに連動して実行されるアプリケーションプログラム(以下、VOD用アプリという)に関する情報が記述される。なお、再生制御メタファイルの詳細については、
図4乃至
図7を参照して後述する。
【0030】
再生制御情報サーバ14は、受信装置12からの問い合わせに応じて、再生制御メタファイルを、インターネット2を介して受信装置12に送信する。
【0031】
受信装置12は、再生制御情報サーバ14からの再生制御メタファイルに応じて、配信コンテンツを、インターネット2を介して配信サーバ15に要求する。
【0032】
配信サーバ15は、1又は複数の配信コンテンツを蓄積して、管理している。配信サーバ15は、受信装置12からの問い合わせに応じて、配信コンテンツを、インターネット2を介して受信装置12に送信(配信)する。
【0033】
なお、再生制御情報サーバ14と配信サーバ15は、例えば、配信コンテンツを配信するVODサービスを提供する事業者により提供される。従って、再生制御情報サーバ14と配信サーバ15は、別体に構成されるようにするだけでなく、コンテンツサーバ13として一体に構成されるようにしてもよい。
【0034】
受信装置12は、取得した再生制御メタファイルに記述された情報に応じて、VOD用アプリを、インターネット2を介してアプリサーバ16に要求する。受信装置12は、アプリサーバ16からのVOD用アプリを、再生中の配信コンテンツに連動して実行させる。
【0035】
アプリサーバ16は、配信コンテンツに連動して実行されるVOD用アプリを管理している。アプリサーバ16は、受信装置12からの問い合わせに応じて、VOD用アプリを、インターネット2を介して受信装置12に送信(提供)する。
【0036】
また、受信装置12は、取得した再生制御メタファイルに応じて、アプリ制御情報を、インターネット2を介してアプリ制御情報サーバ17に要求する。
【0037】
アプリ制御情報サーバ17は、VOD用アプリの動作を制御するための制御情報(以下、アプリ制御情報という)を管理している。アプリ制御情報サーバ17は、受信装置12からの問い合わせに応じて、アプリ制御情報を、インターネット2を介して受信装置12に送信(提供)する。
【0038】
受信装置12は、アプリ制御情報サーバ17からのアプリ制御情報に応じて、VOD用アプリを、インターネット2を介してアプリサーバ16に要求する。受信装置12は、アプリサーバ16からのVOD用アプリを、再生中の配信コンテンツに連動して実行させる。
【0039】
また、配信サーバ15は、アプリ制御情報を、配信コンテンツのデータに含めて送信することができる。具体的には、アプリ制御情報は、配信コンテンツのトランスポートストリーム(Transport Stream、以下、TSという)内に配置されたり、ビデオ信号やオーディオ信号に埋め込まれたりして、送信される。
【0040】
受信装置12は、配信サーバ15からの配信コンテンツのデータに含まれるアプリ制御情報を取得する。受信装置12は、取得したアプリ制御情報に応じて、VOD用アプリを、インターネット2を介してアプリサーバ16に要求する。受信装置12は、アプリサーバ16からのVOD用アプリを、再生中の配信コンテンツに連動して実行させる。
【0041】
受信装置12は、無線又は有線により外部装置18と接続される。受信装置12は、取得したアプリ制御情報の示すコマンドのうち外部装置宛てのコマンドを、外部装置18に転送する。外部装置18は、受信装置12からのコマンドに応じて、アプリサーバ16からVOD用アプリを取得して、実行する。
【0042】
なお、受信装置12は、単体として存在してもよいし、例えば、デジタルテレビジョン受像機やビデオレコーダ等に内蔵されているようにしてもよい。また、
図1の例では、受信装置12は、放送コンテンツのデジタルテレビジョン放送信号を受信する受信機能と、配信コンテンツのストリーミング再生を行う再生機能の両方の機能を備えるとして説明したが、受信機能は必ずしも備える必要はなく、それらの機能のうち再生機能のみを備える再生装置として構成されるようにしてもよい。
【0043】
また、外部装置18としては、例えば、スマートフォン、携帯情報端末、パーソナルコンピュータ、タブレット型コンピュータ、デジタルテレビジョン受信機、又はビデオレコーダなどを挙げることができる。
【0044】
放送システム1は、以上のように構成される。
【0045】
[受信装置の構成例]
図2は、
図1の受信装置12の構成例を示す図である。
【0046】
受信装置12は、チューナ61、多重分離部62、オーディオデコーダ63、オーディオ出力部64、ビデオデコーダ65、解析部66、ビデオ出力部67、制御部68、メモリ69、操作部70、通信I/F71、アプリエンジン72、アプリ用メモリ73、外部I/F74、ストリーミング再生処理部75、及びキャッシュメモリ76から構成される。
【0047】
チューナ61は、ユーザによって選局されたサービス(放送チャンネル)に対応するデジタル放送信号を受信して復調し、その結果得られるTSを多重分離部62に供給する。
【0048】
多重分離部62は、チューナ61から供給されるTSからオーディオストリーム及びビデオストリームに分離し、オーディオストリームをオーディオデコーダ63に、ビデオストリームをビデオデコーダ65にそれぞれ供給する。
【0049】
オーディオデコーダ63は、多重分離部62から供給されたオーディオストリームをデコードし、その結果得られるオーディオストリームをオーディオ出力部64及び解析部66に供給する。オーディオ出力部64は、オーディオデコーダ63から供給されたオーディオストリームに対応するオーディオ信号を、スピーカ51に出力する。
【0050】
ビデオデコーダ65は、多重分離部62から供給されたビデオストリームをデコードし、その結果得られるビデオストリームを、解析部66及びビデオ出力部67に供給する。ビデオ出力部67は、ビデオデコーダ65から供給されたビデオストリームに対応するビデオ信号を、ディスプレイ52に出力する。
【0051】
解析部66は、通信I/F71を制御して、再生制御情報サーバ14からの再生制御メタファイルを取得する。解析部66は、取得した再生制御メタファイルを解析し、その解析結果を制御部68に供給する。
【0052】
また、解析部66は、再生制御メタファイルの解析結果に応じて、通信I/F71を制御して、アプリ制御情報サーバ17からアプリ制御情報を取得する。解析部66は、取得したアプリ制御情報を解析し、その解析結果を制御部68に供給する。
【0053】
さらに、解析部66は、再生制御メタファイルの解析結果に応じて、オーディオデコーダ63からのオーディオストリーム又はビデオデコーダ65からのビデオストリームを常時監視して、オーディオストリーム又はビデオストリームからアプリ制御情報を取得する。
【0054】
制御部68は、メモリ69に記録されている制御用プログラムを実行することにより受信装置12の各部の動作を制御する。メモリ69には、制御部68によって実行される制御用プログラムが記録されている。この制御用プログラムは、デジタル放送信号、又はインターネット2を介して供給される更新データに基づいて更新することができる。
【0055】
操作部70は、ユーザからの各種の操作を受け付けて、それに対応する操作信号を制御部68に通知する。制御部68は、操作部70からの操作信号に応じて、通信I/F71を制御して、インターネット2に接続された各サーバとの間で情報のやりとりを行う。
【0056】
また、制御部68は、解析部66からの解析結果に従い、アプリエンジン72を制御する。具体的には、制御部68は、解析部66からの解析結果が示すコマンドに応じて、VOD用アプリの取得若しくは登録、起動、イベント発火、休止、又は終了等を制御する。
【0057】
通信I/F71は、解析部66、制御部68、又はアプリエンジン72からの制御に従い、インターネット2を介して、再生制御情報サーバ14、配信サーバ15、アプリサーバ16、又はアプリ制御情報サーバ17に接続する。
【0058】
アプリエンジン72は、制御部68からの制御に従い、キャッシュメモリ76に保持されているVOD用アプリを読み出して実行する。ビデオ出力部67は、アプリエンジン72から供給されるVOD用アプリの映像のビデオ信号と、ビデオデコーダ65から供給されるビデオ信号とを合成してディスプレイ52に出力する。
【0059】
アプリ用メモリ73は、ワークメモリ73A及び退避メモリ73Bとからなる。アプリエンジン72は、実行中のVOD用アプリに関するデータ(具体的には、表示されている情報の階層などを含む)をワークメモリ73Aに記録する。また、アプリエンジン72は、実行中のVOD用アプリを休止する場合、アプリ用メモリ73のワークメモリ73Aのデータを退避メモリ73Bに移動させる。そして、休止したVOD用アプリを再開する場合、退避メモリ73Bのデータをワークメモリ73Aに移動させて休止前の状態を復活させる。
【0060】
外部I/F74は、制御部68の制御に従い、外部装置18と無線又は有線により接続を確立する。外部I/F74は、外部装置宛てのコマンドを、接続中の外部装置18に出力する。
【0061】
ストリーミング再生処理部75は、通信I/F71から供給される配信コンテンツのデータに対して、ストリーミング再生を行うために必要な処理を施して、その結果得られるTSを多重分離部62に供給する。
【0062】
多重分離部62は、チューナ61又はストリーミング再生処理部75から供給されるTSからオーディオストリーム及びビデオストリームに分離し、オーディオストリームをオーディオデコーダ63に、ビデオストリームをビデオデコーダ65にそれぞれ供給する。これにより、オーディオデコーダ63及びビデオデコーダ65のそれぞれによりデコードが行われ、配信コンテンツのストリーミング再生が行われる。
【0063】
受信装置12は、以上のように構成される。
【0064】
[外部装置の構成例]
図3は、
図1の外部装置18の構成例を示す図である。
【0065】
外部装置18は、外部I/F91、コマンド解析部92、制御部93、操作部94、メモリ95、アプリエンジン96、通信I/F97、及び出力部98から構成される。
【0066】
外部I/F91は、受信装置12の外部I/F74と無線又は有線により接続され、受信装置12から送信されてくる外部装置宛てのコマンドを受信する。外部I/F91は、受信したコマンドをコマンド解析部92に供給する。
【0067】
コマンド解析部92は、外部I/F91から供給される外部装置宛てのコマンドを解析し、その解析結果を制御部93に供給する。
【0068】
制御部93は、メモリ95に記録されている制御プログラムを実行することにより、外部装置18の各部の動作を制御する。また、制御部93は、コマンド解析部92から供給される外部装置宛てのコマンドに応じて、VOD用アプリの取得若しくは登録、起動、イベント発火、休止、又は終了等を制御する。
【0069】
操作部94は、ユーザからの各種の操作を受け付けて、それに対応する操作信号を制御部93に供給する。
【0070】
アプリエンジン96は、制御部93からの制御に従い、通信I/F97及びインターネット2を介してアプリサーバ16からVOD用アプリを取得して実行する。その実行結果として得られる、例えば、受信装置12にて再生中の配信コンテンツに関連するVOD用アプリのビデオ信号やオーディオ信号は、出力部98に供給される。
【0071】
通信I/F97は、アプリエンジン96からの制御に従い、インターネット2を介してアプリサーバ16に接続して、VOD用アプリを取得する。
【0072】
出力部98は、アプリエンジン96から供給されるVOD用アプリのビデオ信号に対応する映像を表示し、オーディオ信号に対応する音声を出力する。
【0073】
外部装置18は、以上のように構成される。
【0074】
[再生制御メタファイルの詳細]
図4は、受信装置12が、コンテンツサーバ13から再生制御メタファイルを取得し、さらに取得した再生制御メタファイルに応じて、配信コンテンツのストリーミング再生を行うまでの流れを示す図である。
【0075】
図4に示すように、受信装置12は、ユーザにより配信コンテンツの再生が指示されると、コンテンツサーバ13に対して、再生制御メタファイルを要求して取得する(S1)。受信装置12は、取得した再生制御メタファイルに応じて、DRMサーバ21にアクセスし、ストリーミング再生を行う配信コンテンツのライセンスを問い合わせる(S2)。なお、DRMサーバ21は、
図1の構成例では図示していないが、配信コンテンツのデジタル著作権管理(DRM:Digital Rights Management)を行う。
【0076】
そして、受信装置12は、DRMサーバ21から発行されたライセンスを取得すると、コンテンツサーバ13から配信される配信コンテンツの受信を開始する。これにより、受信装置12では、配信コンテンツのストリーミング再生が行われる(S3)。
【0077】
ここで、
図5乃至
図7を参照して、コンテンツサーバ13(再生制御情報サーバ14)により管理される再生制御メタファイルの詳細について説明する。
【0078】
図5は、再生制御メタファイルの構造の例を示している。
【0079】
図5に示すように、再生制御メタファイルは、ERI、LLI、及びNCIから構成される。ERI(Entry Resource Information)には、配信コンテンツの再生を制御するための制御情報と、VOD用アプリに関する情報が記述される。
【0080】
また、LLI(License Link Information)には、配信コンテンツのライセンスに関する情報が記述される。NCI(Network content Control Information)には、ストリーミング再生を行う際のパラメータに関する情報が記述される。
【0081】
図6は、再生制御メタファイルのERIの記述例を示している。ERIは、例えば、XML(Extensible Markup Language)により記述される。
【0082】
図6に示すように、ERIは、header要素、startup要素、content_chapter_info要素、及びES_info要素から構成される。また、header要素の開始タグと終了タグの間には、日付や時刻に関するdate要素やtime要素のほか、配信コンテンツの暗号に関するencryption要素が記述される。
【0083】
startup要素の開始タグと終了タグの間には、配信コンテンツのタイトル、内容、及び時間長に関する、content_title要素、content_abstract要素、及びduration要素が記述されるほか、配信サーバ15のURL(Uniform Resource Locator)に関する、start要素が記述される。また、content_chapter_info要素の開始タグと終了タグの間には、配信コンテンツのチャプタごとに、チャプタの時間位置及びタイトルに関する、chapter_point要素及びchapter_title要素が記述される。
【0084】
ES_info要素の開始タグと終了タグには、ES(Elementary Stream)に関する情報が記述される。具体的には、例えば、解像度や符号化方式等の映像属性、ES番号やモード等の音声チャンネル属性、主音声や副音声等の音声チャンネルタイトル、及び言語等の字幕属性などの情報が記述される。
【0085】
以上のように、ERIには、配信コンテンツを再生するために必要となる情報が主に記述されるが、本技術を適用した再生制御メタファイルのERIでは、さらに
図7に示すような、VOD用アプリに関する情報が記述される。
【0086】
すなわち、
図7に示すように、再生制御メタファイルのERIは、
図6のheader要素、startup要素、content_chapter_info要素、及びES_info要素のほか、さらに、app_control_info要素を含むようにして構成される。app_control_info要素には、VOD用アプリに関する情報が記述される。
【0087】
app_control_info要素の属性としては、control_type属性が指定される。control_type属性は、VOD用アプリをどのように制御するかを示す制御タイプを指定するための属性である。control_type属性には、direct、file、又はstreamのいずれかの制御タイプが指定される。
【0088】
なお、以下の説明では、control_type属性として、direct、file、又はstreamが指定された場合の制御タイプをそれぞれ、ダイレクト制御タイプ、ファイル制御タイプ、又はストリーム制御タイプと称して説明する。
【0089】
app_control_info要素の開始タグと終了タグの間には、app_id要素、app_type要素、app_url要素、destination要素、expire_date要素、app_control_url要素、app_control_position要素が記述される。
【0090】
app_id要素乃至expire_date要素は、ダイレクト制御タイプの場合にのみ指定される。app_id要素には、当該再生制御メタファイルに対応するVOD用アプリの識別情報が指定される。また、app_type要素には、例えば、HTML(HyperText Markup Language)など、当該当該再生制御メタファイルに対応するVOD用アプリのタイプを示す情報が指定される。
【0091】
app_url要素には、VOD用アプリの取得先のURLが指定される。destination要素には、例えば、受信装置本体や外部装置など、VOD用アプリの適用先が指定される。また、expire_date要素には、VOD用アプリの有効期限を示す情報が指定される。
【0092】
app_control_url要素は、ファイル制御タイプの場合にのみ指定される。app_control_url要素には、アプリ制御情報の取得先のURLが指定される。
【0093】
app_control_position要素は、ストリーム制御タイプの場合にのみ指定される。app_control_position要素には、アプリ制御情報の埋め込み位置(挿入位置)を示す情報が指定される。例えば、app_control_position要素としては、アプリ制御情報をオーディオストリームに埋め込む場合のaudio_esや、ビデオストリームに埋め込む場合のvideo_esなどが指定される。
【0094】
このように、本技術を適用した再生制御メタファイルのERIには、
図6に示した要素及び属性のほか、さらに、
図7に示した要素及び属性が記述される。そして、受信装置12は、ERIに記述されたapp_control_info要素のcontrol_type属性により指定される制御タイプに応じて、VOD用アプリの動作を制御することになる。そこで、以下、受信装置12が、ダイレクト制御タイプ、ファイル制御タイプ、又はストリーム制御タイプのそれぞれで動作する場合について順に説明する。
【0095】
[ダイレクト制御タイプの動作例]
まず、
図8乃至
図10を参照して、受信装置12が、ダイレクト制御タイプで動作する場合について説明する。
【0096】
(ダイレクト制御タイプの各装置間の連携)
図8は、受信装置12がダイレクト制御タイプで動作する場合における各装間の連携を示す図である。
【0097】
図8に示すように、受信装置12は、ユーザにより配信コンテンツの再生が指示されると、再生制御情報サーバ14にアクセスし、再生制御メタファイルを取得する(S11)。そして、受信装置12は、取得した再生制御メタファイルに応じて、配信サーバ15にアクセスし、配信サーバ15から配信される配信コンテンツの受信を開始する(S12)。
【0098】
また、受信装置12は、取得した再生制御メタファイルを解析して、ERIのapp_control_info要素のcontrol_type属性がdirectを示す場合、ダイレクト制御タイプで動作する。
【0099】
例えば、
図9に示すように、ダイレクト制御タイプの再生制御メタファイルのERIでは、app_control_info要素のcontrol_type属性にdirectが指定され、さらに、app_id要素、app_type要素、app_url要素、及びexpire_date要素が指定される。app_url要素には、例えば、アプリサーバ16のURLが記述される。
【0100】
図8に戻り、受信装置12は、再生制御メタファイルのERI(app_url要素)に応じて、アプリサーバ16にアクセスして、VOD用アプリを取得する(S13)。このように、受信装置12では、ダイレクト制御タイプの動作が行われることで、配信サーバ15からの配信コンテンツに連動して、アプリサーバ16からのVOD用アプリが実行される。
【0101】
なお、
図8の説明では、配信コンテンツの受信が開始されてから、VOD用アプリを取得する場合を一例に説明したが、VOD用アプリを取得してから、配信コンテンツの受信が開始されるようにしてもよい。すなわち、
図8のS12とS13の処理を逆にして、S13の処理の後に、S12の処理が行われるようにしてもよい。
【0102】
(ダイレクト制御タイプのVOD用アプリの運用例)
受信装置12においては、ダイレクト制御タイプの動作を行うことで、例えば、
図10に示すようなVOD用アプリの運用が可能となる。
【0103】
図10は、ダイレクト制御タイプでのVOD用アプリの動作シナリオの例を示す図である。
【0104】
図10に示すように、受信装置12は、ディスプレイ52に表示されたVODナビ画面P11の一覧から配信コンテンツが選択された場合、選択された配信コンテンツに対応する再生制御メタファイルを、再生制御情報サーバ14に要求する。受信装置12はまた、再生制御情報サーバ14からの再生制御メタファイルに応じて、選択された配信コンテンツを配信サーバ15に要求して、配信コンテンツの受信を開始する。
【0105】
また、受信装置12は、取得した再生制御メタファイルに応じて、アプリサーバ16からVOD用アプリを取得して起動する。これにより、ディスプレイ52には、配信コンテンツの映像に、VOD用アプリの映像P21が重畳された映像が表示される。
【0106】
その後、受信装置12では、配信コンテンツのストリーミング再生が行われている間、VOD用アプリの映像P21が重畳された配信コンテンツの映像が表示される。そして、ストリーミング再生されていた配信コンテンツが終了した場合、受信装置12では、配信コンテンツとともにVOD用アプリが終了され、ディスプレイ52には、再度、VODナビ画面P11が表示される。
【0107】
以上のように、受信装置12は、ダイレクト制御タイプで動作する場合、再生制御メタファイルのERIに直接記述されたVOD用アプリに関する情報を用いて、VOD用アプリを制御することになる。この場合、VOD用アプリは、配信コンテンツのストリーミング再生の開始にあわせて、取得されて起動され、配信コンテンツに重畳表示される。また、配信コンテンツのストリーミング再生が終了する場合には、配信コンテンツに重畳表示されていたVOD用アプリも同時に終了される。
【0108】
[ファイル制御タイプの動作例]
次に、
図11乃至
図21を参照して、受信装置12が、ファイル制御タイプで動作する場合について説明する。
【0109】
(ファイル制御タイプの各装置間の連携)
図11は、受信装置12がファイル制御タイプで動作する場合における各装置間の連携を示す図である。
【0110】
図11に示すように、受信装置12は、ユーザにより配信コンテンツの再生が指示されると、再生制御情報サーバ14にアクセスして、再生制御メタファイルを取得する(S21)。そして、受信装置12は、取得した再生制御メタファイルに応じて、配信サーバ15にアクセスし、配信サーバ15から配信される配信コンテンツの受信を開始する(S22)。
【0111】
また、受信装置12は、取得した再生制御メタファイルを解析して、ERIのapp_control_info要素のcontrol_type属性がfileを示す場合、ファイル制御タイプで動作する。
【0112】
例えば、
図12に示すように、ファイル制御タイプの再生制御メタファイルのERIでは、app_control_info要素のcontrol_type属性にfileが指定され、さらに、app_control_url要素が指定される。app_control_url要素には、例えば、アプリ制御情報サーバ17のURLが指定される。
【0113】
図11に戻り、受信装置12は、再生制御メタファイルのERI(app_control_url要素)に応じて、アプリ制御情報サーバ17にアクセスして、アプリ制御情報を取得する(S23)。そして、受信装置12は、アプリ制御情報サーバ17から取得したアプリ制御情報により特定される配信コンテンツの進行に対する同期期間を示す有効期間内のコマンドに応じて、アプリサーバ16にアクセスし、VOD用アプリを取得して起動する(S24)。また、受信装置12では、アプリ制御情報が示す有効期間内のコマンドに応じて、実行中のVOD用アプリが、中断、再開、イベント注入、又は終了されることになる。
【0114】
このように、受信装置12では、ファイル制御タイプの動作が行われることで、配信サーバ15からの配信コンテンツに連動して、アプリサーバ16からのVOD用アプリが実行される。
【0115】
なお、
図11の説明では、配信コンテンツの受信が開始されてから、VOD用アプリを取得する場合を一例に説明したが、VOD用アプリを取得してから、配信コンテンツの受信が開始されるようにしてもよい。すなわち、
図11のS22と、S23及びS24の処理を逆にして、S23及びS24の処理の後に、S22の処理が行われるようにしてもよい。
【0116】
(アプリ制御情報の詳細)
次に、
図13乃至
図20を参照して、アプリ制御情報サーバ17から、受信装置12に提供されるアプリ制御情報について説明する。
【0117】
図13は、セグメントデータシーケンスの構造の例を示す図である。
【0118】
図13に示すように、アプリ制御情報は、PTS(Presentation Time Stamp)等の特定のタイミングを示す情報により区切られた複数のセグメントデータからなるセグメントデータシーケンスとして構成される。セグメントデータは、コマンドデータ又はメタデータのいずれか一方となる。セグメントデータがコマンドデータの場合、VOD用アプリの動作を制御するためのコマンドに関する各種の情報が含まれる。また、セグメントデータがメタデータの場合、セグメントに関する各種の情報が含まれる。
【0119】
また、
図14は、アプリ制御情報の構造を示している。アプリ制御情報は、
図14のAに示されるように、複数のセグメントデータにより構成されたセグメントデータシーケンスを含む。
【0120】
各セグメントデータは、セグメント有効期間とコマンドデータ(
図14のB)、又はセグメント有効期間とメタデータ(
図14のC)から構成される。
【0121】
セグメント有効期間は、対応する配信コンテンツの進行時間軸上の2点を示すstart_time及びend_timeによって示され、配信コンテンツの進行タイミングがセグメント有効期間内であるときには、当該セグメントデータが有効とされ、配信コンテンツの進行タイミングがセグメント有効期間に達していない、又はそれを過ぎたときには、当該セグメントデータは無効とされる。
【0122】
1つのアプリ制御情報(セグメントデータシーケンス)には、コマンドデータを含むセグメントデータと、メタデータを含むセグメントデータとを混在させることができる。
【0123】
図15乃至
図19は、セグメントデータシーケンスのデータ構造の詳細例を示す。なお、データ構造はXMLで表記することを想定しており、「@」の付く項目は上位要素に付随する属性を示し、それ以外の項目は要素を示す。
【0124】
図15は、セグメントデータシーケンスのデータ構造を示している。segment_sequence要素には、各セグメントデータ(segment)に対して、その番号を示すsegment_number属性、セグメント有効期間の指定方法を示すtime_unit属性が指定される。time_unit属性には、時分秒で示す絶対日時を用いる場合、utcが指定され、配信コンテンツの開始からの相対時間を用いる場合、smpteが指定され、PTS値を用いる場合、ptsが指定される。なお、PTS値としては、ビデオストリームやオーディオストリームに埋め込まれている90KHzクロックのカウンタ値を用いることができる。
【0125】
また、start_time要素には、セグメントの開始タイミングが指定され、end_time要素には、セグメントの終了タイミングが指定される。さらに、各セグメントデータには、コマンドデータ又はメタデータの一方が記述される。
【0126】
図16及び
図17は、セグメントデータにおけるコマンドのデータ構造を示している。
【0127】
コマンド要素は、destination属性、action属性のほか、diffusion要素、application要素、event要素が含まれる。
【0128】
destination属性は、当該コマンドによるVOD用アプリ制御の対象となる機器が指定される。例えば、destination属性には、コマンドの対象機器が受信装置本体となる場合、receiverが指定され、コマンドの対象機器が外部装置となる場合、external_1やexternal_2が指定される。
【0129】
action属性は、当該コマンドが、エクスキュート(Execute)、レジスタ(Register)、サスペンド(Suspend)、ターミネート(Terminate)、又はイベント(event)のいずれかであるかを示す。
【0130】
エクスキュートコマンドは、受信装置12に対して、VOD用アプリの取得若しくは起動を指示するためのコマンドである。
【0131】
レジスタコマンドは、受信装置12に対して、VOD用アプリの取得若しくは登録を指示するためのコマンドである。ここで、VOD用アプリの登録とは、取得したVOD用アプリに対応付けて、その有効期限と有効範囲を記憶することを意味する。これにより、VOD用アプリは、保持期限と有効範囲に従って管理される。
【0132】
サスペンドコマンドは、受信装置12に対して、実行中のVOD用アプリを休止させるためのコマンドである。
【0133】
ターミネートコマンドは、受信装置12に対して、実行中のVOD用アプリを終了させるためのコマンドである。
【0134】
イベントコマンドは、受信装置12に対して、実行中のVOD用アプリにおいてイベントを発火させるためのコマンドである。
【0135】
diffusion要素は、受信装置12などの対象機器において、当該コマンドを適用するタイミングを確率的に分散させるためのパラメータである。diffusion要素の属性としては、rate属性、range属性、period属性があり、それぞれ、分配数、最大遅延時間、コマンド適用拡散期間が指定される。
【0136】
ここで、
図18を参照して、コマンド適用の拡散の詳細について説明する。
【0137】
例えば、同一の配信コンテンツのストリーミング再生を行っている受信装置12−1乃至12−3がレジスタコマンド又はサスペンドコマンドに応じて、アプリサーバ16からVOD用アプリを取得する場合、同一のタイミングでアプリサーバ16にアクセスすると、アプリサーバ16に負荷がかかることがある。そこで、diffusion要素の属性として、rate属性、range属性、period属性を指定することにより、複数の受信装置12がアプリサーバ16からVOD用アプリを取得するに際し、そのアクセスが一時期に集中せず、分散させることができる。
【0138】
例えば、受信装置12−1乃至12−3においてそれぞれ、ランダム値Nを生成して、(N-1)×range/rateを演算して得られる時間だけ、コマンドの実行時刻をずらすことで、各受信装置12が、アプリサーバ16にアクセスするタイミングをずらすことができる。
図18の例では、rate=5の場合を示している。なお、他の配信コンテンツのストリーミング再生を行っている受信装置12−4についても同様に、コマンドの実行時刻をずらすことが可能である。また、コマンド適用拡散期間外にコマンドを実行する受信装置12−5は、コマンドの実行時刻が遅延されることなく、直ちにコマンドを実行することが可能となる。
【0139】
このように、受信装置12がアプリサーバ16にアクセスするタイミングが調整されるため、アプリサーバ16に対するアクセスを分散して、負荷を軽減することが可能となる。
【0140】
図17に戻り、application要素は、アプリサーバ16から取得されるVOD用アプリに関するパラメータである。application要素の属性としては、id属性、url属性、expire_date属性、及びscope属性が指定される。
【0141】
id属性には、当該コマンドに対応するVOD用アプリの識別情報が指定される。url属性には、当該コマンドがエクスキュートコマンド又はレジスタコマンドである場合に、VOD用アプリの取得先のURLが指定される。例えば、url属性には、アプリサーバ16のURLが指定される。
【0142】
expire_date属性には、VOD用アプリの有効期限を示す情報が指定される。また、scope属性には、VOD用アプリの有効範囲を示す情報が指定される。VOD用アプリが登録される場合、VOD用アプリの有効期限と有効範囲が記憶され、VOD用アプリは、それらの有効期限と有効範囲に従って管理される。
【0143】
event要素は、action属性が、eventとなる場合には必須の項目となる。event要素の属性としては、id属性が指定される。id属性には、application要素のid属性にて指定されたVOD用アプリにおいて発火すべきイベントの識別情報である。また、related_data要素には、イベントを発火する際に参照されるデータが記述される。
【0144】
図19は、セグメントデータにおけるメタデータの構造を示している。
【0145】
type属性には、当該メタデータのタイプ(メタデータタイプ)が指定される。メタデータタイプとしては、アプリ用データ(application_data)、テキスト字幕データ(caption)、ビットマップ字幕データ(subtitle)などがある。
【0146】
target属性には、当該メタデータを処理すべきアプリケーションが指定される。ただし、当該メタデータを処理すべきアプリケーションが、受信装置12に予め保持されているレジデントアプリである場合、target属性は省略される。
【0147】
##defined structureには、メタデータタイプ毎に異なる構造のデータが記述される。
【0148】
図20は、セグメントシーケンスの記述例を示す図である。
【0149】
図20の例では、2つのセグメントデータが記述され、1つ目のセグメントデータには、12000〜15000の間のPTS値が有効期間となるコマンドとして、受信装置本体宛てのエクスキュートコマンドが記述されている。また、当該エクスキュートコマンドに応じて取得されるVOD用アプリは、“xxx.com/yyy”であるURLにより指定されるアプリサーバ16から取得され、そのVOD用アプリの有効期限は、2011/01/21となる。
【0150】
2つ目のセグメントデータには、13000〜13100の間のPTS値が有効期間となるコマンドとして、受信装置本体宛てのイベントコマンドが記述されている。このイベントコマンドは、1つ目のセグメントデータに記述されたエクスキュートコマンドに応じて取得されたVOD用アプリにおいて発火される。
【0151】
なお、セグメントシーケンスの記述方法は任意であって、
図20の記述例に限定されるものではない。
【0152】
(ファイル制御タイプのVOD用アプリの運用例)
受信装置12において、ファイル制御タイプの動作を行うことで、例えば、
図21に示すようなVOD用アプリの運用が可能となる。
【0153】
図21は、ファイル制御タイプでのVOD用アプリの動作シナリオの例を示す図である。
【0154】
図21に示すように、受信装置12は、ディスプレイ52に表示されたVODナビ画面P11の一覧から配信コンテンツが選択された場合、選択された配信コンテンツに対応する再生制御メタファイルを、再生制御情報サーバ14に要求する。受信装置12はまた、再生制御情報サーバ14からの再生制御メタファイルに応じて、選択された配信コンテンツを配信サーバ15に要求して、配信コンテンツの受信を開始する。
【0155】
また、受信装置12は、取得した再生制御メタファイルのERIに応じて、アプリ制御情報サーバ17にアクセスして、アプリ制御情報(図中のapp_control_file)を取得する。そして、受信装置12は、取得したアプリ制御情報により特定される配信コンテンツの進行に対する同期期間を示す有効期間となる場合、その有効期間内のコマンドに応じて、VOD用アプリの動作を制御する。
【0156】
すなわち、受信装置本体宛てのエクスキュートコマンドが有効期間となる場合、受信装置12では、アプリサーバ16からVOD用アプリが取得され、起動される。これにより、ディスプレイ52には、配信コンテンツの映像に、VOD用アプリの映像P21が重畳された映像が表示される。
【0157】
次に、外部装置宛てのエクスキュートコマンドが有効期間となる場合、受信装置12は、このエクスキュートコマンドを、外部装置18に転送する。外部装置18では、受信装置12から転送されたエクスキュートコマンドが受信されると、アプリサーバ16からVOD用アプリが取得され、起動される。これにより、出力部98には、VOD用アプリの映像P31が表示される。
【0158】
次に、受信装置本体宛てのイベントコマンドが有効期間となる場合、受信装置12では、実行中のVOD用アプリでイベントが発火され、更新されたデータを読み込んで表示に反映させるなどの所定の処理が行われる。これにより、例えば、配信コンテンツの映像に重畳表示されていたVOD用アプリの映像P21が、映像P22に変更される。
【0159】
また、所定のタイミングにおいて、受信装置本体宛てのサスペンドコマンドが有効期間となる場合、受信装置12では、実行中のVOD用アプリが休止される。その後、受信装置宛てのエクスキュートコマンドが有効期間となる場合、受信装置12では、休止されていたVOD用アプリが再開される。
【0160】
そして、例えば配信コンテンツの終了やVOD用アプリ単独での終了にあわせて、受信装置本体及び外部装置宛てのターミネートコマンドが有効期間となる場合、受信装置12では、実行中のVOD用アプリが終了される。また、受信装置12は、ターミネートコマンドを外部装置18に転送する。外部装置18では、受信装置12から転送されたターミネートコマンドが受信されると、実行中のVOD用アプリが終了される。
【0161】
その後、受信装置12においてストリーミング再生されていた配信コンテンツが終了した場合、ディスプレイ52には、再度、VODナビ画面P11が表示される。
【0162】
以上のように、受信装置12は、ファイル制御タイプで動作する場合、再生制御メタファイルのERIに記述された情報に応じて、アプリ制御情報サーバ17からアプリ制御情報を取得し、取得したアプリ制御情報により特定される配信コンテンツの進行に対する同期期間を示す有効期間内のコマンドに応じてVOD用アプリを制御することになる。すなわち、受信装置12は、アプリ制御情報にてあらかじめ時系列にスケジューリングされたコマンドに応じて、VOD用アプリを起動したり、イベントを発火させたり、終了したりすることができる。さらに、VOD用アプリを実行中の状態を保持したままで休止させて、他のVOD用アプリを実行、終了し、その後、休止したVOD用アプリを休止状態から再開することなども可能となる。
【0163】
[ストリーム制御タイプの動作例]
次に、
図22乃至
図28を参照して、受信装置12が、ストリーム制御タイプで動作する場合について説明する。
【0164】
(ストリーム制御タイプの各装置間の連携)
図22は、受信装置12がストリーム制御タイプで動作する場合における各装置間の連携を示す図である。
【0165】
図22に示すように、受信装置12は、ユーザにより配信コンテンツの再生が指示されると、再生制御情報サーバ14にアクセスして、再生制御メタファイルを取得する(S31)。そして、受信装置12は、取得した再生制御メタファイルに応じて、配信サーバ15にアクセスし、配信サーバ15から配信される配信コンテンツの受信を開始する(S32)。
【0166】
また、受信装置12は、取得した再生制御メタファイルを解析して、ERIのapp_control_info要素のcontrol_type属性がStreamを示す場合、ストリーム制御タイプで動作する。
【0167】
例えば、
図23に示すように、ストリーム制御タイプの再生制御メタファイルのERIでは、app_control_info要素のcontrol_type属性にStreamが指定され、app_control_position要素が指定される。app_control_position要素には、例えば、オーディオストリームにアプリ制御情報が埋め込まれていることを示すaudio_esが指定される。
【0168】
図22に戻り、受信装置12は、再生制御メタファイルのERI(app_control_position要素)に応じて、配信サーバ15からの配信コンテンツのデータに埋め込まれたアプリ制御情報を取得する。例えば、ERIのapp_control_position要素として、audio_esが指定されている場合、受信装置12は、オーディオストリームに埋め込まれたアプリ制御情報を取得する。
【0169】
そして、受信装置12は、取得したアプリ制御情報に含まれるコマンドに応じて、アプリサーバ16にアクセスして、VOD用アプリを取得して起動する(S33)。また、受信装置12では、アプリ制御情報の示すコマンドに応じて、実行中のVOD用アプリが、中断、再開、イベント注入、又は終了されることになる。
【0170】
このように、受信装置12では、ストリーム制御タイプの動作が行われることで、配信サーバ15からの配信コンテンツに連動して、アプリサーバ16からのVOD用アプリが実行される。
【0171】
(アプリ制御情報の埋め込み方法)
次に、
図24乃至
図27を参照して、アプリ制御情報の埋め込み方法について説明する。ここでは、埋め込み方法の一例として、アプリ制御情報がオーディオストリームに挿入された場合について説明する。
【0172】
図24及び
図25は、アプリ制御情報が格納されたメタデータを、AAC(Advanced Audio Coding)方式によりエンコードされたオーディオストリームに挿入する場合の例を示している。
【0173】
図24は、AACの1024サンプル分の音声データが入るフレーム(Raw_data_block)の構造を示している。符号化方式がAAC方式の場合、メタデータはDSE(Data Stream Element)の領域に挿入される。
【0174】
図25は、DSEのシンタックスの一例を示している。element_instance_tagは、data_stream_elementの中のデータ種別を示すが、DSEを統一したユーザデータとして利用する場合は、この値を0としてもよい。Data_byte_align_flagは、1とされ、DSEの全体がバイトアラインされるようにする。count、あるいは、その追加バイト数を意味するesc_countは、ユーザデータのサイズによって適宜、値が決められる。そして、data_stream_byteの空間がmetadata()と定義され、アプリ制御情報が挿入される。
【0175】
このように、オーディオストリームに挿入する方法においては、アプリ制御情報を格納したメタデータが、AAC方式によりエンコードされた場合にはDSEの領域に挿入される。なお、ここでは、符号化方式として、AAC方式を採用した場合を説明したが、例えば、AC3(Audio Code number 3)方式によりエンコードされた場合には、メタデータをAUX(AUXILIARY DATA)の領域に挿入するなど、他の符号化方式にも適用することができる。
【0176】
図26及び
図27は、アプリ制御情報(App_command_data())のシンタックスの一例を示している。なお、アプリ制御情報のシンタックスは任意であって、
図26及び
図27の例に限定されるものではない。
【0177】
(ストリーム制御タイプのVOD用アプリの運用例)
受信装置12において、ストリーム制御タイプの動作を行うことで、例えば、
図28に示すようなVOD用アプリの運用が可能となる。
【0178】
図28は、ストリーム制御タイプでのVOD用アプリの動作シナリオの例を示す図である。
【0179】
受信装置12では、配信コンテンツの再生が指示されると、再生制御情報サーバ14から再生制御メタファイルを取得して、ERIに記述されたapp_control_position要素から、アプリ制御情報の埋め込み位置を認識する。また、受信装置12は、配信サーバ15からの配信コンテンツを受信して、ストリーミング再生を開始する。
【0180】
配信サーバ15が配信コンテンツの進行にあわせて、配信コンテンツに対応するVOD用アプリの取得を指示するレジスタコマンドのアプリ制御情報を送信すると、これを受信した受信装置12は、例えばオーディオストリームなど、あらかじめ認識していた埋め込み位置を常時監視することで、アプリ制御情報を取得する。そして、受信装置12は、アプリ制御情報が示すレジスタコマンドに応じて、アプリサーバ16からVOD用アプリを取得して登録する。
【0181】
次に、配信サーバ15が配信コンテンツの進行にあわせて、配信コンテンツに対応するVOD用アプリのエクスキュートコマンドのアプリ制御情報を送信すると、これを受信した受信装置12では、VOD用アプリが起動される。この起動により、配信コンテンツの映像には、VOD用アプリの表示が用意されていることを示すアイコンが重畳表示される。
【0182】
このアイコンをユーザが選択すると、配信コンテンツの映像には、VOD用アプリの映像P21が重畳表示される。
【0183】
次に、配信サーバ15が配信コンテンツの進行にあわせて、イベントコマンドのアプリ制御情報を送信すると、これを受信した受信装置12では、実行中のVOD用アプリにおいてイベントが発火される。これにより、例えば、配信コンテンツの映像に重畳表示されていたVOD用アプリの映像P21が、映像P22に変更される。
【0184】
また、所定のタイミングにおいて、配信サーバ15がVOD用アプリのサスペンドコマンドのアプリ制御情報を送信すると、これを受信した受信装置12では、実行中のVOD用アプリが休止される。(関連するデータは退避メモリ73Bに保持される)。その後、配信サーバ15がVOD用アプリのエクスキュートコマンドのアプリ制御情報を送信すると、これを受信した受信装置12では、休止されていたVOD用アプリが再開される。
【0185】
さらに、配信サーバ15が配信コンテンツの終了にあわせて、ターミネートコマンドのアプリ制御情報を送信すると、これを受信した受信装置12では、実行中のVOD用アプリが終了される。なお、配信サーバ15がターミネートコマンドのアプリ制御情報を送信しない場合であっても、実行中のVOD用アプリは、配信コンテンツの終了と同時に終了されることになる。
【0186】
以上のように、受信装置12は、ストリーム制御タイプで動作する場合、再生制御メタファイルのERIに記述された情報に応じて、アプリ制御情報の埋め込み位置を常時監視することで、配信コンテンツのデータからアプリ制御情報を取得し、取得したアプリ制御情報の示すコマンドに応じてVOD用アプリを制御することになる。すなわち、受信装置12は、配信サーバ15から送信されるアプリ制御情報の示すコマンドに応じて、VOD用アプリの起動、休止、イベント発火、又は終了などの動作を制御する。
【0187】
[VOD用アプリの状態遷移]
図29は、レジスタ、エクスキュート、イベント、サスペンド、及びターミネートの各コマンドに応じて受信装置12にて動作するVOD用アプリの状態遷移図である。
図29に示すように、VOD用アプリの状態は、解放状態(Released)、準備状態(Ready)、実行中状態(Active)、又は休止状態(Suspended)の4種類のうちいずれかに遷移していると定義される。
【0188】
なお、前述したとおり、受信装置12がダイレクト動作タイプで動作する場合には、VOD用アプリの状態は、実行中状態で固定される。また、受信装置12がファイル動作タイプ又はストリーム動作タイプで動作する場合には、VOD用アプリの状態は、解放状態、準備状態、実行中状態、又は休止状態の4種類のうちいずれかに遷移する。
【0189】
解放状態は、VOD用アプリが受信装置12に未取得である状態を指す。準備状態は、そのVOD用アプリが受信装置12に登録済みであって起動されていない状態を指す。実行中状態は、VOD用アプリが起動されて実行中である状態を指す。休止状態は、VOD用アプリの実行が中断され、その中断したときの状態を示す情報が退避メモリ73Bに保持されている状態を指す。
【0190】
VOD用アプリが解放状態に遷移しているとき(受信装置12に未取得のとき)、レジスタコマンドが受信され、レジスタコマンドに従ってそのVOD用アプリが取得(登録)されると、準備状態に遷移する。
【0191】
VOD用アプリが準備状態であるとき、エクスキュートコマンドが受信され、エクスキュートコマンドに従ってそのVOD用アプリが起動されると、実行中状態に遷移する。
【0192】
また、VOD用アプリが解放状態に遷移しているとき(受信装置12に未取得のとき)、エクスキュートコマンドが受信され、エクスキュートコマンドに従ってそのVOD用アプリが取得されて起動されると、実行中状態に遷移する。
【0193】
VOD用アプリが実行中状態に遷移しているとき、サスペンドコマンドが受信され、サスペンドコマンドに従って実行中のVOD用アプリが中断されると休止状態に遷移する。
【0194】
VOD用アプリが休止状態に遷移しているとき、エクスキュートコマンドが受信され、エクスキュートコマンドに従って、中断されていたVOD用アプリが再開されると、実行中状態に遷移する。
【0195】
VOD用アプリが、実行中状態又は休止状態に遷移しているとき、ターミネートコマンドが受信され、ターミネートコマンドに従って、実行中のVOD用アプリが終了されると、準備状態に遷移する(図中の「A」)。なお、準備状態への遷移は、ターミネートコマンドに基づくもののほか、他のVOD用アプリが実行されたときなどにも発生する。
【0196】
また、VOD用アプリが、準備状態、実行中状態、又は休止状態に遷移しているとき、コマンドのアプリ有効期限が経過したとき、解放状態に遷移する(図中の「B」)。
【0197】
[配信コンテンツ再生処理]
次に、
図30乃至
図33のフローチャートを参照して、受信装置12にて実行される配信コンテンツ再生処理について説明する。
【0198】
図30は、配信コンテンツ再生処理を示すフローチャートである。
【0199】
ステップS111において、制御部68は、操作部70からの操作信号に基づき、ユーザにより配信コンテンツが選択されたか否かを判定する。ユーザにより配信コンテンツが選択されたと判定された場合(ステップS111の「YES」)、処理は、ステップS112に進む。このとき、制御部68は、通信I/F71を制御して、再生制御情報サーバ14にアクセスして、再生制御メタファイルを要求する。
【0200】
ステップS112において、解析部66は、通信I/F71を制御して、再生制御情報サーバ14からの再生制御メタファイルを取得する。解析部66は、取得した再生制御メタファイルの解析結果に応じて、通信I/F71を制御して、配信サーバ15にアクセスし、配信コンテンツを要求する。
【0201】
ストリーミング再生処理部75は、通信I/F71を制御して、配信サーバ15からの配信コンテンツを取得し、多重分離部62に供給する。これにより、受信装置12では、配信コンテンツのストリーミング受信が開始される(S113)。そして、多重分離部62により分離されたオーディオストリーム及びビデオストリームがそれぞれ、オーディオデコーダ63及びビデオデコーダ65によりデコードされ、出力されることで、配信コンテンツのストリーミング再生が行われる。
【0202】
ステップS114において、解析部66は、取得した再生制御メタファイルの解析結果に応じて、受信装置12が、ダイレクト制御タイプ、ファイル制御タイプ、又はストリーム制御タイプのいずれで動作するかを判定する。
【0203】
ステップS114において、受信装置12がダイレクト制御タイプで動作すると判定された場合、処理は、ステップS115に進められる。ステップS115において、制御部68は、解析部66の解析結果に基づき、アプリエンジン72を制御して、ダイレクト制御タイプのVOD用アプリ制御処理を行う。
【0204】
なお、ダイレクト制御タイプのVOD用アプリ制御処理の詳細については、
図31のフローチャートを参照して、後述する。
【0205】
また、ステップS114において、受信装置12がファイル制御タイプで動作すると判定された場合、処理は、ステップS116に進められる。ステップS116において、制御部68は、解析部66の解析結果に基づき、アプリエンジン72を制御して、ファイル制御タイプのVOD用アプリ制御処理を行う。
【0206】
なお、ファイル制御タイプのVOD用アプリ制御処理の詳細については、
図32のフローチャートを参照して、後述する。
【0207】
さらに、ステップS114において、受信装置12がストリーム制御タイプで動作すると判定された場合、処理は、ステップS117に進められる。ステップS117において、制御部68は、解析部66の解析結果に基づき、アプリエンジン72を制御して、ストリーム制御タイプのVOD用アプリ制御処理を行う。
【0208】
なお、ストリーム制御タイプのVOD用アプリ制御処理の詳細については、
図33のフローチャートを参照して、後述する。
【0209】
ステップS115乃至S117のVOD用アプリ制御処理が終了すると、処理は、ステップS111に戻り、それ以降の処理が繰り返される。
【0210】
以上、配信コンテンツ再生処理について説明した。
【0211】
(ダイレクト制御タイプのVOD用アプリ制御処理の詳細)
次に、
図31のフローチャートを参照して、
図30のステップS115に対応するダイレクト制御タイプのVOD用アプリ制御処理の詳細について説明する。
【0212】
ステップS131において、アプリエンジン72は、制御部68からの制御に従い、通信I/F71を制御して、アプリサーバ16からVOD用アプリを取得して、キャッシュメモリ76に記録する。ステップS132において、アプリエンジン72は、キャッシュメモリ76に記録されたVOD用アプリを起動する。これにより、ディスプレイ52では、配信コンテンツの映像に、VOD用アプリの映像が重畳表示される。
【0213】
その後、配信コンテンツのストリーミング受信が終了するまで、ステップS113の処理が繰り返され、受信装置12にて、ストリーミング再生が行われている間、配信コンテンツの映像には、VOD用アプリの映像が重畳表示される。
【0214】
そして、ストリーミング再生されていた配信コンテンツが終了した場合(ステップS133の「YES」)、処理は、ステップS134に進められる。ステップS134において、アプリエンジン72は、制御部68の制御に従い、実行中のVOD用アプリを終了させる。これにより、配信コンテンツの終了と同時に、VOD用アプリが終了される。
【0215】
ダイレクト制御タイプのVOD用アプリ制御処理が終了すると、処理は、
図30のステップS115に戻り、それ以降の処理が繰り返される。
【0216】
(ファイル制御タイプのVOD用アプリ制御処理の詳細)
次に、
図32のフローチャートを参照して、
図30のステップS116に対応するファイル制御タイプのVOD用アプリ制御処理の詳細について説明する。
【0217】
ステップS151において、解析部66は、再生制御メタファイルの解析結果に応じて、通信I/F71を制御して、アプリ制御情報サーバ17からアプリ制御情報を取得する。解析部66は、取得したアプリ制御情報を解析し、その解析結果を制御部68に供給する。
【0218】
ステップS152において、制御部68は、解析部66からの解析結果に基づき、再生中の配信コンテンツの進行タイミングが、セグメント有効期間内であるか否かを判定する。
【0219】
ステップS152において、セグメント有効期間内であると判定された場合、処理は、ステップS153に進められる。ステップS153において、制御部68は、セグメント有効期間内のコマンドを読み出し、当該コマンドが、レジスタ、エクスキュート、イベント、サスペンド、又はターミネートのいずれであるかを判定する。
【0220】
ステップS154において、制御部68は、ステップS153の判別結果がレジスタでるか否かを判定し、レジスタであると判定された場合、処理は、ステップS155に進められる。ステップS155において、制御部68は、アプリエンジン72を制御して、アプリケーション取得先URLにより特定されるアプリサーバ16にアクセスして、VOD用アプリを取得して、登録する。この後、処理は、ステップS152に戻り、それ以降の処理が繰り返される。
【0221】
ステップS154において、ステップS153の判別結果がレジスタではないと判定された場合、処理は、ステップS156に進められる。ステップS156において、制御部68は、ステップS153の判別結果がエクスキュートであるか否かを判定し、エクスキュートであると判定された場合、処理はステップS157に進められる。
【0222】
ステップS157において、アプリエンジン72は、制御部68からの制御に従い、アプリケーションIDにより特定されるVOD用アプリが休止中(サスペンド状態)であるか否かを判定する。具体的には、退避メモリ73Bに、アプリケーションIDにより特定されるVOD用アプリの休止の状態を示すデータが退避されている場合に休止中であると判定する。
【0223】
ステップS157において、アプリケーションIDにより特定されるVOD用アプリが休止中ではないと判定された場合、処理はステップS158に進められる。ステップS158において、アプリエンジン72は、制御部68からの制御に従い、アプリケーションIDにより特定されるVOD用アプリが未取得(キャッシュメモリ76に存在しない)の場合にそれを取得する。
【0224】
ステップS159において、アプリエンジン72は、制御部68からの制御に従い、現在実行中のVOD用アプリがあるならば、それを終了させる。
【0225】
ステップS160において、アプリエンジン72は、制御部68からの制御に従い、アプリケーションIDにより特定されるVOD用アプリを起動する。この後、処理は、ステップS152に戻り、それ以降の処理が繰り返される。
【0226】
なお、ステップS157において、アプリケーションIDにより特定されるVOD用アプリが休止中(サスペンド状態)であると判定された場合、処理はステップS161に進められる。ステップS161において、アプリエンジン72は、制御部68からの制御に従い、退避メモリ73Bのデータをワークメモリ73Aに移して、アプリケーションIDにより特定されるVOD用アプリを起動する。これにより、アプリケーションIDにより特定される、休止中のVOD用アプリが休止された状態から再開されることになる。この後、処理はステップS152に戻り、それ以降の処理が繰り返される。
【0227】
ステップS156において、ステップS153の判別結果がエクスキュートではないと判定された場合、処理はステップS162に進められる。ステップS162において、制御部68は、ステップS153の判別結果がイベントであるか否かを判定し、イベントであると判定された場合、処理はステップS163に進められる。
【0228】
ステップS163において、制御部68は、アプリケーションIDが一致する場合のみ、アプリエンジン72を制御して、実行中のVOD用アプリにおいて、イベントIDに対応するイベントを発火(実行)させる。この後、処理はステップS152に戻り、それ以降の処理が繰り返される。
【0229】
ステップS162において、ステップS153の判別結果がイベントではないと判定された場合、処理はステップS164に進められる。ステップS164において、制御部68は、ステップS153の判別結果がサスペンドであるか否かを判定し、サスペンドであると判定された場合、処理はステップS165に進められる。
【0230】
ステップS165において、アプリエンジン72は、制御部68からの制御に従い、現在実行中のVOD用アプリの状態を示すデータ(すなわち、現在ワークメモリ73Aに書き込まれているデータ。表示する情報に階層構造がある場合、表示されている情報の階層を示す情報を含む)を退避メモリ73Bに退避させる。この後、処理はステップS152に戻り、それ以降の処理が繰り返される。
【0231】
ステップS164において、ステップS153の判別結果がサスペンドではないと判定された場合、ステップS153の判別結果はターミネートであるので、処理はステップS166に進められる。ステップS166において、アプリエンジン72は、制御部68からの制御に従い、アプリケーションIDにより特定されるVOD用アプリが実行中であればそれを終了させる。ステップS167において、アプリエンジン72は、制御部68からの制御に従い、アプリケーションIDにより特定されるVOD用アプリに関するデータを、ワークメモリ73A及び退避メモリ73Bから消去するとともに、VOD用アプリをキャッシュメモリ76から消去させる。この後、処理はステップS152に戻り、それ以降の処理が繰り返される。
【0232】
また、ステップS152において、セグメント有効期間内でない、すなわち、例えば、配信コンテンツの進行タイミングがセグメント有効期間を過ぎたと判定された場合、処理は、ステップS168に進められる。そして、ステップS168において、ストリーミング再生されていた配信コンテンツが終了したか否かが判定され、終了していない場合には処理は、ステップS152に戻り、それ以降の処理が繰り返される。
【0233】
一方、ストリーミング再生されていた配信コンテンツが終了した場合(ステップS168の「YES」)、ファイル制御タイプのVOD用アプリ制御処理は終了される。そして、ファイル制御タイプのVOD用アプリ制御処理が終了すると、処理は、
図30のステップS116に戻り、それ以降の処理が繰り返される。
【0234】
(ストリーム制御タイプのVOD用アプリ制御処理の詳細)
次に、
図33のフローチャートを参照して、
図30のステップS117に対応するストリーム制御タイプのVOD用アプリ制御処理の詳細について説明する。
【0235】
ステップS191において、解析部66は、例えばオーディオストリームなど、認識済みのアプリ制御情報の埋め込み位置を常時監視することで、アプリ制御情報を受信したか否かを判定する。ステップS191において、アプリ制御情報を受信したと判定された場合、処理は、ステップS192に進められる。ステップS192において、解析部66は、配信コンテンツのデータに埋め込まれたアプリ制御情報を取得する。ステップS192によりアプリ制御情報が取得されると、処理は、ステップS193に進められる。
【0236】
ステップS193乃至S208においては、
図32のステップS153乃至S168と同様に、アプリ制御情報の示すコマンドが、レジスタ、エクスキュート、イベント、サスペンド、又はターミネートのいずれであるかが判定され、コマンドの種別に応じて、VOD用アプリの動作が制御される。すなわち、ストリーム制御タイプのVOD用アプリ制御処理は、ユーザが配信コンテンツのストリーミング再生を視聴している間、繰り返し実行され、配信コンテンツに連動してVOD用アプリを起動したり、イベントを発火させたり、終了したりする。さらに、VOD用アプリを実行中の状態を保持したままで休止させて、他のVOD用アプリを実行、終了し、その後、休止したVOD用アプリを休止状態から再開する。
【0237】
そして、ストリーム制御タイプのVOD用アプリ制御処理が終了すると、処理は、
図30のステップS117に戻り、それ以降の処理が繰り返される。
【0238】
以上のように、本技術によれば、ストリーミング再生される配信コンテンツに連動して実行されるVOD用アプリを提供することができる。特に、ストリーミング再生を行う配信コンテンツが複数存在する場合でも、配信コンテンツごとに、個別にVOD用アプリを実行させることが可能となる。
【0239】
[本技術を適用したコンピュータの説明]
前述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0240】
図34は、前述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【0241】
コンピュータ200において、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
【0242】
バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、入力部206、出力部207、記録部208、通信部209、及びドライブ210が接続されている。
【0243】
入力部206は、キーボード、マウス、マイクロフォンなどよりなる。出力部207は、ディスプレイ、スピーカなどよりなる。記録部208は、ハードディスクや不揮発性のメモリなどよりなる。通信部209は、ネットワークインタフェースなどよりなる。ドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア211を駆動する。
【0244】
以上のように構成されるコンピュータ200では、CPU201が、例えば、記録部208に記憶されているプログラムを、入出力インタフェース205及びバス204を介して、RAM203にロードして実行することにより、前述した一連の処理が行われる。
【0245】
コンピュータ200(CPU201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア211に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
【0246】
コンピュータ200では、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インタフェース205を介して、記録部208にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部209で受信し、記録部208にインストールすることができる。その他、プログラムは、ROM202や記録部208に、あらかじめインストールしておくことができる。
【0247】
なお、コンピュータ200が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0248】
ここで、本明細書において、コンピュータ200に各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0249】
また、プログラムは、1のコンピュータにより処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
【0250】
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0251】
なお、本技術の実施の形態は、前述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0252】
例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0253】
また、前述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0254】
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0255】
なお、本技術は、以下のような構成をとることができる。
【0256】
(1)
コンテンツの再生を制御するための再生制御情報を取得する再生制御情報取得部と、
取得した前記再生制御情報に応じて、配信される前記コンテンツを再生する再生部と、
取得した前記再生制御情報から得られる前記コンテンツと連動して実行されるアプリケーションプログラムに関する情報に応じて、再生中の前記コンテンツに連動して実行される前記アプリケーションプログラムの動作を制御する制御部と
を備える再生装置。
(2)
前記再生制御情報には、前記再生制御情報に直接記述された情報に応じて前記アプリケーションプログラムの動作を制御する第1のタイプ、前記アプリケーションプログラムの動作を制御するためのアプリケーション制御情報を提供する情報処理装置から取得される前記アプリケーション制御情報に応じて前記アプリケーションプログラムの動作を制御する第2のタイプ、及び前記コンテンツのデータに埋め込まれた前記アプリケーション制御情報に応じて前記アプリケーションプログラムの動作を制御する第3のタイプのうちいずれかのタイプが指定され、
前記制御部は、前記再生制御情報のタイプに応じて、前記アプリケーションプログラムの動作を制御する
(1)に記載の再生装置。
(3)
前記制御部は、前記再生制御情報にて前記第1のタイプが指定された場合、前記コンテンツの再生開始に応じて前記アプリケーションプログラムを起動させるとともに、前記コンテンツの再生終了に応じて前記アプリケーションプログラムを終了させる
(2)に記載の再生装置。
(4)
前記制御部は、前記再生制御情報にて前記第2のタイプが指定された場合、前記情報処理装置から取得した前記アプリケーション制御情報により特定される前記コンテンツの進行に対する同期期間を示す有効期間内のコマンドに応じて、前記アプリケーションプログラムの動作を制御する
(2)に記載の再生装置。
(5)
前記コマンドは、前記アプリケーションプログラムの取得若しくは登録、取得若しくは起動、イベント発火、中断、又は終了のうちいずれかを示しており、
前記制御部は、各コマンドに応じて、前記アプリケーションプログラムの取得若しくは登録、若しくは取得若しくは起動、又は実行中の前記アプリケーションプログラムのイベント発火、休止、若しくは終了を制御する
(4)に記載の再生装置。
(6)
前記有効期間は、対応する前記コンテンツの進行位置を示すPTSにより特定される
(4)又は(5)に記載の再生装置。
(7)
前記制御部は、前記再生制御情報にて前記第3のタイプが指定された場合、前記再生制御情報により特定される埋め込み位置に埋め込まれた前記アプリケーション制御情報の示すコマンドに応じて、前記アプリケーションプログラムの動作を制御する
(2)に記載の再生装置。
(8)
前記コマンドは、前記アプリケーションプログラムの取得若しくは登録、取得若しくは起動、イベント発火、中断、又は終了のうちいずれかを示しており、
前記制御部は、各コマンドに応じて、前記アプリケーションプログラムの取得若しくは登録、若しくは取得若しくは起動、又は実行中の前記アプリケーションプログラムのイベント発火、休止、若しくは終了を制御する
(7)に記載の再生装置。
(9)
前記アプリケーション制御情報は、AAC方式により符号化されたオーディオストリームのフレーム構造におけるDSEの領域に挿入される
(7)又は(8)に記載の再生装置。
(10)
前記再生装置は、デジタルテレビジョン放送信号を受信する受信部をさらに備える受信装置である
(1)に記載の再生装置。
(11)
再生装置の再生方法において、
前記再生装置が、
コンテンツの再生を制御するための再生制御情報を取得し、
取得した前記再生制御情報に応じて、配信される前記コンテンツを再生し、
取得した前記再生制御情報から得られる前記コンテンツと連動して実行されるアプリケーションプログラムに関する情報に応じて、再生中の前記コンテンツに連動して実行される前記アプリケーションプログラムの動作を制御する
ステップを含む再生方法。
(12)
コンピュータを、
コンテンツの再生を制御するための再生制御情報を取得する再生制御情報取得部と、
取得した前記再生制御情報に応じて、配信される前記コンテンツを再生する再生部と、
取得した前記再生制御情報から得られる前記コンテンツと連動して実行されるアプリケーションプログラムに関する情報に応じて、再生中の前記コンテンツに連動して実行される前記アプリケーションプログラムの動作を制御する制御部と
して機能させるためのプログラム。