以下、図面を参照しながら本技術の実施の形態について説明する。
<第1の実施の形態>
<放送通信連携システムの構成例>
図1は、放送通信連携システム1の構成例を示している。この放送通信連携システム1は、送信装置10及び受信装置20から構成される。
送信装置10は、放送番組やCM等の放送コンテンツを、デジタルテレビジョン放送信号によって送信する。
また、送信装置10は、データ放送アプリケーション、AIT、及び、連動アプリケーションを、データカルーセル伝送により送信する。
ここでデータ放送アプリケーションは、例えばBML(Broadcast Markup Language)により記述されるBML文書からなる、データ放送用のアプリケーションプログラムである。なお、データ放送アプリケーションは、放送コンテンツとも称される。
また、AIT(Application Information Table)は、連動アプリケーションの動作を制御するためのアプリケーション制御情報である。例えば、AITには、「Auto Start」などの制御コマンドや、後述するアプリケーションサーバのURL(Uniform Resource Locator)などの情報が記述される。
また、連動アプリケーションは、放送コンテンツに連動して実行されるアプリケーションプログラムである。連動アプリケーションは、例えばHTML(Hyper Text Markup Language)により記述されるHTML文書からなる。なお、連動アプリケーションは、連動型のコンテンツとも称される。
受信装置20は、テレビジョン受像機などの受信機である。受信装置20は、送信装置10からの放送信号を受信して、放送コンテンツの映像及び音声を取得する。受信装置20は、取得した映像をディスプレイに表示し、映像に対応する音声をスピーカから出力する。
また、受信装置20は、ユーザ操作に応じたリモートコントローラ20Rからのコマンドを赤外線により受信し、コマンドに応じて、チャンネルの切り替えなどの各種の動作を行う。
例えば、リモートコントローラ20Rには、データ放送の視聴の際に操作されるdボタンが設けられており、受信装置20は、dボタン操作に応じて、データ放送アプリケーションの映像をディスプレイに表示する。なお、リモートコントローラ20Rの操作に限らず、ディスプレイの画面上のGUI(Graphical User Interface)操作によって、データ放送の視聴が指示されるようにしてもよい。
さらに、受信装置20は、送信装置10からの放送信号に含まれるAITを取得する。受信装置20は、AITに基づいて、例えば、即時に自動実行するように設定された連動アプリケーションを、放送信号から取得して即時に実行する。
なお、受信装置20は、インターネット90にアクセス可能であって、相互に接続された各種のサーバと連携して各種の処理を実行する。例えば、受信装置20は、通信コンテンツのストリーミング再生が指示された場合、インターネット90上に設けられた配信サーバ(不図示)にアクセスし、配信サーバから配信される通信コンテンツのストリーミング再生を行うことが可能である。この場合、連動アプリケーションは、通信コンテンツに連動して実行されることになる。例えば、通信コンテンツは、VOD(Video On Demand)により配信される、放送済の放送番組や公開済みの映画、オリジナルの映像番組などのAV(Audio Visual)コンテンツである。なお、放送コンテンツ及び通信コンテンツは、AVコンテンツの一例である。
また、詳細は後述するが、AITと連動アプリケーションは、インターネット90に接続された専用のサーバ(後述する図29のAITサーバ30、アプリケーションサーバ40)が提供するようにしてもよい。
さらに、図1では、説明を簡略化するため、1台の受信装置20のみを図示しているが、実際には、放送通信連携システム1は、複数台の受信装置20を含むようにして構成され、各受信装置20が、送信装置10からの放送コンテンツを受信することになる。
放送通信連携システム1は、以上のように構成される。
<送信装置の構成例>
図2は、図1の送信装置10の構成例を示している。
図2に示すように、送信装置10は、音声取得部111、オーディオエンコーダ112、映像取得部113、ビデオエンコーダ114、データ取得部115、データカルーセル用データ生成部116、多重化部117、及び、送信部118から構成される。
音声取得部111は、外部のサーバ、マイクロフォン、又は記録媒体等から、放送コンテンツのオーディオ信号を取得し、オーディオエンコーダ112に供給する。
オーディオエンコーダ112は、音声取得部111から供給されるオーディオ信号を、MPEG(Moving Picture Experts Group)2等の符号化方式に準拠して符号化し、その結果得られるオーディオストリームを、多重化部117に供給する。
映像取得部113は、外部のサーバ、カメラ、又は記録媒体等から、放送コンテンツのビデオ信号を取得し、ビデオエンコーダ114に供給する。
ビデオエンコーダ114は、映像取得部113から供給されるビデオ信号を、MPEG2等の符号化方式に準拠して符号化し、その結果得られるビデオストリームを、多重化部117に供給する。
データ取得部115は、データカルーセル伝送により送信するデータカルーセル用データの生成用のデータを取得し、データカルーセル用データ生成部116に供給する。例えば、この生成用のデータとしては、BMLファイルやHTMLファイル、AIT用のファイル、JPEG(Joint Photographic Experts Group)やPNG(Portable Network Graphics)等の画像ファイル等が用意される。
データカルーセル用データ生成部116は、データ取得部115から供給される生成用のデータに基づいて、データカルーセル用データを生成し、セクションデータとして多重化部117に供給する。ただし、データカルーセル用データは、モジュールと称されるデータを構成するオブジェクトごとに、データカルーセル伝送で送信されることになる。
多重化部117は、オーディオエンコーダ112からのオーディオストリームと、ビデオエンコーダ114からのビデオストリームと、データカルーセル用データ生成部116からのセクションデータとを多重化し、その結果得られるトランスポートストリームを、送信部118に供給する。
なお、説明の簡略化のため、図示はしていないが、多重化部117には、必要に応じて字幕データが供給され、トランスポートストリームに多重化される。また、トランスポートストリームには、後述のPSI/SIのセクションデータが含まれる。
送信部118は、多重化部117から供給されるトランスポートストリームを、アンテナ119を介して、放送信号として送信する。
送信装置10は、以上のように構成される。
<受信装置の構成例>
図3は、図1の受信装置20の構成例を示している。
受信装置20は、主に、デジタルテレビジョン放送の放送波により送信される放送コンテンツの受信再生機能を実現するための第1ブロックと、インターネット90を介して配信される通信コンテンツの受信再生機能を実現するための第2ブロックとから構成される。
第1ブロックは、チューナ212、デスクランブラ213、CASモジュール214、多重分離部215、データ放送処理部216、ビデオデコーダ217、オーディオデコーダ218、字幕デコーダ219、及び、データ放送エンジン220から構成される。
また、第2ブロックは、通信I/F225、ストリーミング処理部226、多重分離部227、DRM処理部228、ビデオデコーダ229、オーディオデコーダ230、及び、字幕デコーダ231から構成される。
また、第1ブロックと第2ブロックに共通する機能を提供するものとして、ビデオ出力部221、ディスプレイ222、オーディオ出力部223、スピーカ224、提示同期制御部232、アプリケーション調停部233、制御部234、アプリケーションエンジン235、メモリ236、赤外線受信部237、及び、端末連携制御部238がある。
チューナ212は、アンテナ211により受信された放送信号から、選局が指示されたチャンネルの放送信号を抽出して復調し、その結果得られるトランスポートストリームを、デスクランブラ213に供給する。
デスクランブラ213は、チューナ212から供給されるスクランブルのかかったトランスポートストリームに対し、スクランブルの解除を行い、多重分離部215に供給する。
なお、CAS(Conditional Access System)モジュール214には、放送コンテンツの視聴制御及び契約管理を行うための情報が記憶されており、デスクランブラ213は、CASモジュール214を参照して、送信側において限定受信の目的でスクランブルのかけられたトランスポートストリームのスクランブルを解除することになる。
多重分離部215は、デスクランブラ213から供給されるトランスポートストリームを、ビデオストリーム、オーディオストリーム、字幕データ、及び、セクションデータに分離する。多重分離部215は、分離されたストリームのうち、セクションデータをデータ放送処理部216、ビデオストリームをビデオデコーダ217、オーディオストリームをオーディオデコーダ218、字幕データを字幕デコーダ219にそれぞれ供給する。
データ放送処理部216は、多重分離部215から供給されるセクションデータに対して各種の処理を行う。
具体的には、データ放送処理部216は、セクションデータのうち、データカルーセル伝送で送信されてくるDSM-CC(Digital Storage Media - Command and Control)セクションに対してセクションフィルタリングを行う。そして、データ放送処理部216は、その結果得られるDII(Download Info Indication)及びDDB(Download Data Block)の解析処理を行う。データ放送処理部216は、DII及びDDBの解析処理の結果得られる、DDBに含まれるBML文書や画像データ等のデータをモジュール単位でデータ放送エンジン220に供給する。また、データ放送処理部216は、DII及びDDBの解析処理の結果得られるデータを、適宜、制御部234に供給する。
なお、データ放送アプリケーションのデータは、モジュールと称されるデータを構成するオブジェクトごとに、データカルーセル伝送で送信されてくる。
また、放送信号には、上述のDSM-CCセクションのほか、PSI/SIのセクションが含まれる。
PSI(Program Specific Information)は、特定のチャンネルを選択して受信するシステムで必要な情報である。PSIには、PMTが含まれる。PMT(Program Map Table)は、あるプログラムに含まれる画像や音声などの各PID(Packet ID)を格納する。また、SI(Service Information)は、番組情報などの情報であって、例えば、EITが含まれる。EIT(Event Information Table)は、番組の名称や放送日時、放送内容などの放送番組に関する情報が含まれる。ただし、EITは、EIT p/fと記述される場合がある。EIT p/fの「p」は、「present」の頭文字であって、現在の放送番組に関する情報が含まれていることを意味する。また、EIT p/fの「f」は、「following」の頭文字であって、次の放送番組に関する情報が含まれていることを意味する。
PSI/SIのセクションから得られるこれらの情報は、適宜、制御部234に供給される。
データ放送エンジン220は、データ放送処理部216から供給されるモジュール単位のデータに基づいて、BMLブラウザを制御することで、データ放送アプリケーションのビデオ信号を生成し、ビデオ出力部221に供給する。
ビデオデコーダ217は、多重分離部215から供給されるビデオストリームを、ビデオエンコーダ114(図2)の符号化方式に対応した復号方式により復号し、その結果得られるビデオ信号を、ビデオ出力部221に供給する。
オーディオデコーダ218は、多重分離部215から供給されるオーディオストリームを、オーディオエンコーダ112(図2)の符号化方式に対応した復号方式により復号し、その結果得られるオーディオ信号を、オーディオ出力部223に供給する。
字幕デコーダ219は、多重分離部215から供給される字幕データを復号し、その結果得られるビデオ信号を、ビデオ出力部221に供給する。
ビデオ出力部221は、ビデオデコーダ217から供給されるビデオ信号を、ディスプレイ222に供給する。これにより、ディスプレイ222には、放送番組等の映像が表示される。
また、ビデオ出力部221は、字幕デコーダ219又はデータ放送エンジン220からビデオ信号が供給された場合、それらのビデオ信号を、ビデオデコーダ217からのビデオ信号に合成し、その結果得られたビデオ信号をディスプレイ222に出力する。これにより、ディスプレイ222には、例えば、放送番組に対して、字幕又は天気予報等のデータ放送の情報が重畳された映像が表示される。
オーディオ出力部223は、オーディオデコーダ218から供給されるオーディオ信号を、スピーカ224に供給する。これにより、スピーカ224からは、放送番組等の映像に対応する音声が出力される。
通信I/F225は、制御部234からの制御に従い、インターネット90上に設けられた配信サーバ(不図示)から配信される通信コンテンツのデータを受信し、ストリーミング処理部226に供給する。
ストリーミング処理部226は、通信I/F225から供給される通信コンテンツのデータに対し、ストリーミング再生を行うために必要な各種の処理を施して、その結果得られるデータを、多重分離部227に供給する。
多重分離部227は、ストリーミング処理部226から供給されるデータを、ビデオストリーム、オーディオストリーム、及び、字幕データに分離する。多重分離部227は、分離されたストリームのうち、ビデオストリームをビデオデコーダ229、オーディオストリームをオーディオデコーダ230、字幕データを字幕デコーダ231に供給する。
なお、DRM(Digital Rights Management)処理部228は、通信コンテンツの著作権管理や複製の制限を制御するための処理を行う。例えば、ストリーミング再生が指示された通信コンテンツが暗号化されている場合に、著作者の許諾を得ているユーザが使用する受信装置20のみ、暗号鍵を供給して暗号を復号してストリーミング再生を可能とする。
ビデオデコーダ229は、多重分離部227から供給されるビデオストリームを復号し、その結果得られるビデオ信号を、ビデオ出力部221に供給する。
オーディオデコーダ230は、多重分離部227から供給されるオーディオストリームを復号し、その結果得られるオーディオ信号を、オーディオ出力部223に供給する。
字幕デコーダ231は、多重分離部227から供給される字幕データを復号し、その結果得られるビデオ信号を、ビデオ出力部221に供給する。
ビデオ出力部221は、ビデオデコーダ229から供給されるビデオ信号を、ディスプレイ222に供給する。また、ビデオ出力部221は、字幕デコーダ231からビデオ信号が供給された場合、そのビデオ信号を、ビデオデコーダ229からのビデオ信号に合成し、その結果得られたビデオ信号をディスプレイ222に供給する。これにより、ディスプレイ222には、放送済の放送番組等の映像や字幕が表示される。
オーディオ出力部223は、オーディオデコーダ230から供給されるオーディオ信号を、スピーカ224に供給する。これにより、スピーカ224からは、放送済の放送番組等の映像に対応する音声が出力される。
提示同期制御部232は、ビデオデコーダ217、オーディオデコーダ218、及び、字幕デコーダ219を制御して、ビデオ出力部221及びオーディオ出力部223に供給されるビデオ信号及びオーディオ信号が同期されるようにする。また、提示同期制御部232は、ビデオデコーダ229、オーディオデコーダ230、及び、字幕デコーダ231を制御して、ビデオ出力部221及びオーディオ出力部223に供給されるビデオ信号及びオーディオ信号が同期されるようにする。
アプリケーション調停部233は、制御部234からの制御に従い、データ放送アプリケーション及び連動アプリケーションのうち、最も動作の優先度の高いアプリケーションプログラムを判定する。アプリケーション調停部233は、判定結果に基づいて、データ放送エンジン220によるデータ放送アプリケーションの動作を制御する。また、アプリケーション調停部233は、判定結果に基づいて、制御部234及びアプリケーションエンジン235による連動アプリケーションの動作を制御する。
なお、アプリケーション調停部233は、多重分離部215を監視して、トランスポートストリームから分離して得られる各種の情報に基づき、データ放送アプリケーション及び連動アプリケーションのうち、最も動作の優先度の高いアプリケーションプログラムを判定するようにしてもよい。
ここで、制御部234と、アプリケーションエンジン235は、受信装置20にて起動可能な連動アプリケーションの数に応じて設けられるものであり、図3の構成例では、連動アプリケーション1と、連動アプリケーション2の2つの連動アプリケーションが起動される場合を想定しているので、それぞれ2つずつ設けられている。ただし、制御部234−1と制御部234−2とを区別する必要がない場合は、単に制御部234と称して説明する。また、アプリケーションエンジン235−1とアプリケーションエンジン235−2とを区別する必要がない場合は、単にアプリケーションエンジン235と称して説明する。
制御部234−1は、データ放送処理部216から供給されるAITに基づいて、データカルーセル伝送で送信される連動アプリケーション1を取得し、アプリケーションエンジン235−1に供給する。アプリケーションエンジン235−1は、制御部234−1からの制御に従い、連動アプリケーション1の動作を制御する。
制御部234−2は、データ放送処理部216から供給されるAITに基づいて、データカルーセル伝送で送信される連動アプリケーション2を取得し、アプリケーションエンジン235−2に供給する。アプリケーションエンジン235−2は、制御部234−2からの制御に従い、連動アプリケーション2の動作を制御する。
アプリケーションエンジン235−1は、制御部234−1からの制御に従い、連動アプリケーション1を起動して、その動作を制御する。例えば、連動アプリケーション1がHTML5(Hyper Text Markup Language 5)により記述されたHTML文書からなる場合、アプリケーションエンジン235−1は、HTML5に対応したHTMLブラウザを制御することで、連動アプリケーション1のビデオ信号を生成し、ビデオ出力部221に供給する。同様に、アプリケーションエンジン235−2は、連動アプリケーション2のビデオ信号を、ビデオ出力部221に供給する。
赤外線受信部237は、リモートコントローラ20R(図1)からの赤外線による無線通信を用いて送信されるコマンドを受信し、そのコマンドに対応する操作信号を、制御部234に通知する。制御部234は、赤外線受信部237から供給される操作信号に基づいて、受信装置20の各部の動作を制御する。
端末連携制御部238は、受信装置20に外部装置(不図示)が接続されている場合に、制御部234及びアプリケーションエンジン235からの制御に従い、通信I/F225を制御して接続中の外部装置と連携するための各種の処理を行う。
受信装置20は、以上のように構成される。
<制御部の機能的な構成例>
図4は、図3の制御部234の機能的な構成例を示す図である。
制御部234は、制御情報取得部251、制御情報解析部252、継続範囲情報保持部253、イベント判定部254、及び、アプリケーション制御部255から構成される。
制御情報取得部251は、データ放送処理部216を制御して、データカルーセル伝送で送信されるAITを取得し、制御情報解析部252に供給する。また、制御情報取得部251は、連動アプリケーションの動作継続可能な時間軸上の範囲を特定するための情報(以下、「継続範囲情報」という)を取得し、制御情報解析部252に供給する。
制御情報解析部252は、制御情報取得部251から供給されるAITを解析し、その解析結果を、アプリケーション制御部255に供給する。また、制御情報解析部252は、制御情報取得部251から供給される継続範囲情報を解析し、その解析結果を、継続範囲情報保持部253に保持させる。
イベント判定部254は、継続範囲情報保持部253に保持された継続範囲情報の解析結果や、放送信号に含まれる各種の信号に基づいて、実行中の連動アプリケーションを終了させるイベントが発生したかどうかの判定処理を行う。イベント判定部254は、イベント発生の判定結果を、アプリケーション制御部255に供給する。
アプリケーション制御部255は、制御情報解析部252から供給される解析結果に従い、アプリケーションエンジン235を制御して、連動アプリケーションの動作を制御する。また、アプリケーション制御部255は、イベント判定部254から供給される判定結果に従い、実行中の連動アプリケーションを終了させる。
制御部234は、以上のように構成される。
<データカルーセル伝送によるデータ送出>
上述したように、送信装置10から送信されるデータ放送アプリケーション、AIT、及び、連動アプリケーションは、データカルーセル伝送により送信される。そこで、次に、図5及び図6を参照して、データカルーセル伝送によるデータ送出について説明する。ただし、ここでは、データ放送アプリケーションがデータカルーセル伝送される場合を一例に説明する。
図5に示すように、データ放送アプリケーションは、BMLファイルのほか、JPEGやPNGの画像ファイルなどの集合から構成され、それらのファイルをディレクトリ構成で格納したフォルダ単位で管理される。データ放送アプリケーションをデータカルーセル伝送で送信する場合には、伝送対象のファイル群が、仮想的なフォルダ単位でマルチパート化される。
また、データカルーセル伝送では、データ放送アプリケーションの実データが含まれるDDB(Download Data Block)と、DDBのディレクトリ情報を格納したDII(Download Info Indication)の2種類のメッセージが主に利用される。
DDBは、モジュールの各ブロックに対応するものであり、ブロック番号が割り当てられる。受信装置20は、取得したデータブロックをブロック番号の順に並び替えることでモジュールを再構築する。DIIは、データカルーセル内での伝送対象のインデックス情報を示す。また、1つのDIIにて複数のモジュールに関する情報が記述可能とされる。受信装置20は、このDIIを受信することで、モジュールの構成を認識することになる。
ブロック化されたモジュールは、図5に概念的に示すように、データカルーセル伝送により巡回的に送信されるので、受信装置20は、DIIに基づきDDBを取得して、対象のモジュールを再構築することになる。なお、DDBとDIIの送出順序は任意であるが、DIIはインデックス情報に相当するデータが格納されるため、比較的高い頻度で送出される。
図6は、図5のDDB又はDIIのメッセージ伝送用のDSM-CCセクションの構造を示す図である。
図6の上段に示すように、DSM-CCセクションは、セクションヘッダ、ペイロード部、及び、CRC部から構成される。上述したモジュールの各ブロックは、ペイロード部に格納される。セクションヘッダには、テーブル識別情報、セクション長、テーブル識別拡張、バージョン情報等、及び、セクション情報が格納される。
テーブル識別情報には、対象のセクションがDDBメッセージ又はDIIメッセージのいずれであるかを示す情報が記述される。セクション長には、テーブル識別情報及びセクション長自身のフィールドを除いたセクションのサイズを示す。テーブル識別拡張及びバージョン情報等は、テーブル識別情報の値に応じて意味合いが異なる。セクション情報は、セクション番号及び最終セクション番号が格納される。
CRC部は、対象のセクションを構成するTSパケットが順序通り正しく収集されたか否かを検証するためのチェック符号であり、巡回冗長検査(Cyclic Redundancy Check)による誤り訂正処理に用いられる。
また、図6の下段には、DDBメッセージ及びDIIメッセージの構造が示されている。
ペイロード部は、対象のセクションがDDBメッセージである場合、ブロックデータのほか、モジュールID、モジュールバージョン、及び、ブロック番号を示す情報から構成される。
モジュールIDには、DDBに含まれるモジュールの識別情報が記述される。モジュールバージョンには、DDBに含まれるモジュールのバージョン情報が記述される。また、ブロック番号には、DDBに含まれるモジュールの各ブロックの番号が記述される。
また、ペイロード部は、対象のセクションがDIIメッセージである場合、データカルーセル伝送による伝送全般に関する情報であるカルーセル全般情報、各モジュールの情報であるモジュール単位情報、及びプライベートデータから構成される。
カルーセル全般情報には、ダウンロードID、ブロックサイズ、カルーセル周期、及び、モジュール数が含まれる。ダウンロードIDには、DDBで伝送されるデータ全体の識別情報が記述される。ダウンロードIDのビット構成のうち一部がデータイベントID(data_event_id)と呼ばれる。ブロックサイズには、各ブロックのサイズが記述される。また、カルーセル周期には、伝送の周期が記述される。モジュール数には、伝送されるモジュール数が記述される。
モジュール単位情報には、モジュールごとの情報として、モジュールID、モジュールサイズ、モジュールバージョン、コンテントタイプ、蓄積有効期限、及び、データ圧縮方式が含まれる。モジュールIDには、DDBにて伝送されるモジュールの識別情報が記述される。モジュールサイズには、DDBにて伝送されるモジュールのサイズが記述される。モジュールバージョンには、DDBにて伝送されるモジュールのバージョン情報が記述される。そして、コンテントタイプ、蓄積有効期限、及びデータ圧縮方式には、ファイルのタイプ、蓄積期限、データ圧縮方式がそれぞれ記述される。
プライベートデータ領域(private_data)には、各種の記述子を配置することができる。例えば、プライベートデータ領域には、後述するアプリケーション強制終了記述子(図19,図20)又はアプリケーションイベント記述子(図23)が配置される。
送信装置10では、セクションデータがさらに分割され、連続した複数のTSパケットに格納されて伝送される。また、データカルーセル伝送では、データ放送アプリケーションがブロック(セクション)単位で巡回的に伝送されることになる。
一方、受信装置20では、送信装置10からのTSパケットが受信され、受信されたTSパケットを用いてセクションデータが復元され、その復元したセクションデータを用いて元のモジュールが再構築される。そして、受信装置20では、モジュールIDにより特定されるモジュールに基づいて、データ放送アプリケーションが復元されることになる。
以上、データカルーセル伝送によるデータ送出について説明した。
<EITの構造>
次に、図7を参照して、EITの構造について説明する。
table_idには、EITの識別情報が記述される。また、section_syntax_indicatorには、“1”が記述される。
section_lengthにはEITのセクション長が記述される。また、service_idには対象プログラムのservice_idが記述される。
version_numberには、バージョン情報が記述される。current_next_indicatorには、“1”が記述される。section_numberには、セクション番号が記述される。last_section_numberには、セクション最大番号が記述される。
transport_stream_idには、対象のトランスポートストリームのtransport_stream_idを示す。また、original_network_idには、元の分配システムのnetwork_idが記述される。segment_last_section_numberには、セクションの最終section_numberが記述される。last_table_idには、最終のtable_idが記述される。
ループ内には、event_id,start_time,duration,running_status,free_CA_mode,descriptorループが記述される。
event_idには、対象イベントのevent_idが記述される。また、start_timeには、対象イベントの番組開始時刻が記述される。durationには、対象イベントの番組長が記述される。さらに、running_statusには、全て“0”(未定義)が記述される。free_CA_modeには、当該番組が無料番組の場合は“0”が設定され、当該番組が有料番組の場合は“1”が設定される。
descriptors_loop_lengthには、descriptorループのループ長が記述される。descriptor()には、図7に示すように、short_event_descriptorやcomponent_descriptoなどの記述子や情報が記述される。
以上、EITの構造について説明した。
<基本となる動作シーケンス>
図8は、受信装置20の動作シーケンスを示す図である。
図8に示すように、放送ストリーム(トランスポートストリーム)には、ビデオストリーム、オーディオストリーム、及び、セクションデータが多重化される。
セクションデータのうち、データカルーセル伝送で送信されるDSM-CCセクションには、DIIのメッセージ伝送用のDSM-CCセクションが含まれる。
受信装置20においては、放送コンテンツの視聴中に、データカルーセル伝送により送信されるBML文書が取得される(S501)。これにより、データ放送アプリケーションが実行される。
また、受信装置20では、放送コンテンツの視聴中に、データ放送アプリケーションに基づきユーザ操作によって連動アプリケーション1の起動が指示されると、データカルーセル伝送により送信されるAITが取得され、解析される(S502)。
受信装置20では、AITの解析結果に従い、データカルーセル伝送により送信される連動アプリケーション1が取得され、起動される(S503,S504)。また、連動アプリケーション1が起動されると、データ放送アプリケーションは終了する。なお、連動アプリケーション1は、データ放送アプリケーションに連動して自動起動されるようにしてもよい。
その後、受信装置20では、連動アプリケーション1の実行が継続され、放送信号に含まれる連動アプリケーション1に対する終了信号が取得されると(S509)、実行中の連動アプリケーション1が終了される(S510)。
また、実行中の連動アプリケーション1において、他のアプリケーションへの遷移が指示されると(S505)、データカルーセル伝送により送信されるAITが取得され、解析される(S506)。そして、受信装置20では、AITの解析結果に従い、データカルーセル伝送により送信される他のアプリケーションが取得され、起動される(S507,S508)。なお、図8では、S505により他のアプリケーションが起動した後も連動アプリケーション1が動作継続しているように見えるが、S505が発生して他のアプリケーションが起動した時には連動アプリケーション1は終了してもよい。また、S505が発生しない場合には、連動アプリケーション1は、S509により終了する。
その後、受信装置20では、上述した場合と同様に、連動アプリケーション1に対する終了信号が取得されるが(S509)、他のアプリケーションは、この終了信号には反応しないため、このまま継続して実行されることになる。
また、受信装置20では、再度、BML文書が取得され(S511)、データ放送アプリケーションが実行される。また、連動アプリケーション2の起動が指示されると、AITの取得と解析が行われる(S512)。そして、受信装置20では、AITの解析結果に従い、連動アプリケーション2が取得され、実行される(S513,S514)。そして、連動アプリケーション2は、連動アプリケーション2に対する終了信号が取得された時点で、終了することになる。
以上、受信装置20の動作シーケンスについて説明した。
<継続範囲情報の伝送方式>
継続範囲情報は、各種の伝送方式により、送信装置10から受信装置20に伝送することが可能となる。その一例を挙げれば、例えば、AITに記述するか、連動アプリケーションの起動関数の引数として指定するか、あるいは、連動アプリケーションの起動関数の引数であるURI(Uniform Resource Identifier)のパラメータとして指定することで伝送することができる。以下、継続範囲情報の伝送方式について説明する。
(継続範囲情報)
図9は、継続範囲情報(application_time_scope)の詳細を示す図である。
継続範囲情報は、連動アプリケーションの動作継続可能な時間軸上の範囲を特定するための情報である。この継続範囲情報には、プログラム(1:program)、データイベント(2:data_event)、アプリケーション強制終了(3:quit_signal)、又はアプリケーションイベント(4:app_event)が指定される。ただし、継続範囲情報は、指定されない場合がある(0:none)。
継続範囲情報として、プログラムが指定された場合、放送番組が同一の番組内である間は、連動アプリケーションの継続範囲内となるため、その間は、連動アプリケーションの実行が継続される。そして、他の番組に変わることで放送番組の内容が変化したときに、連動アプリケーションは動作を終了する。同一の番組内であるかどうかは、例えば、EIT pに含まれるevent_idの値が変化したかどうかにより判断される。なお、プログラムを指定する場合には、”1”又は”program”が指定される。
継続範囲情報として、データイベントが指定された場合、データ放送アプリケーションが、同一のデータ放送内である間は、連動アプリケーションの継続範囲内となるため、その間は、連動アプリケーションの実行が継続される。そして他のデータ放送が変わることでデータ放送の内容が変化したときに、連動アプリケーションは動作を終了する。同一のデータ放送内であるかどうかは、例えば、データカルーセル伝送により送信されるDIIのdata_event_idの値が変化したかどうかにより判断される。なお、データイベントを指定する場合には、”2”又は”data_event”が指定される。
継続範囲情報として、アプリケーション強制終了が指定された場合、アプリケーション強制終了信号を検出するまでの間は連動アプリケーションの継続範囲内となるため、その間は、連動アプリケーションの実行が継続される。そして、アプリケーション強制終了信号を検出した時点で、連動アプリケーションは動作を終了する。アプリケーション強制終了信号を検出したかどうかは、データカルーセル伝送により送信されるDIIの更新時に、アプリケーション強制終了記述子(図19)のapp_termination_flagが立っているかどうかにより判断される。なお、アプリケーション強制終了を指定する場合には、”3”又は”quit_signal”が指定される。
継続範囲情報として、アプリケーションイベントが指定された場合、アプリケーションイベントの変化を検出するまでの間は連動アプリケーションの継続範囲内となるため、その間は、連動アプリケーションの実行が継続される。そして、アプリケーションイベントの変化を検出して、アプリケーションの内容が変化したときに、連動アプリケーションは動作を終了する。アプリケーションイベントの変化を検出したかどうかは、例えば、データカルーセル伝送により送信されるDIIの更新時に、アプリケーションイベント記述子(図23)のapp_event_idの値が変化したかどうかにより判断される。なお、アプリケーションイベントを指定する場合には、”4”又は”app_event”が指定される。
なお、継続範囲情報が指定されなかった場合、あるいは、継続範囲情報として”0”又は”none”が指定された場合には、所定の動作が行われるまでの間は連動アプリケーションの継続範囲内となるため、その間は、連動アプリケーションの実行が継続される。そして所定の動作が行われたときに、連動アプリケーションは動作を終了する。例えば、実行中の連動アプリケーションの終了が指示されたとき、又は、放送番組のチャンネルが切り替えられたときなどに、実行中の連動アプリケーションが終了される。
また、上述した継続範囲情報のタイプは一例であって、連動アプリケーションの動作継続可能な時間軸上の範囲に応じた他のタイプを指定することができる。また、継続範囲情報のタイプが1つだけしか利用されない場合には、タイプ情報は不要となるので、”0”又は”1”だけが指定されるようにしてもよい。例えば、アプリケーション強制終了のみが利用されるのであれば、”1”が指定された場合に連動アプリケーション強制終了が指定されたものとし、”0”が指定された場合には、継続範囲情報が指定されなかったものとすることができる。
なお、本明細書中では、「application_time_scope」の記述を、「app_time_scope」と略して記述している箇所があるが、共に継続範囲情報を表している。
(指定方式1:起動関数の引数として指定)
次に、図10及び図11を参照して、上述した継続範囲情報を、起動関数の引数として指定する指定方式1について説明する。
図10は、startAITControlledApp関数を説明する図である。
startAITControlledApp関数は、BML文書用に定義された関数であって、AITにより制御されるアプリケーション、すなわち、連動アプリケーションを起動するための関数である。startAITControlledApp関数には、その引数として、organization_id,application_id,ait_uri,application_time_scopeを指定することができる。
organization_idには、起動すべき連動アプリケーションの組織識別を16進数で表記した文字列が指定される。ただし、先頭の”0x”や末尾の”h”といった16進数表記であることを表す文字(文字列)は含まないものとする。
application_idには、起動すべき連動アプリケーションのアプリケーション識別を16進数で表記した文字列が指定される。organization_idと同様に、先頭の”0x”や末尾の”h”といった16進数表記であることを表す文字(文字列)は含まないものとする。
ait_uriには、起動すべき連動アプリケーションに関する記載を含むAITの取得先を示すURIが指定される。ただし、ait_uriは省略可能である。ait_uriが省略された場合には、現時点でのサービスにおいて、セクション又はカルーセルにより伝送され、受信装置20が監視対象としているAITが指定されたものとする。
application_time_scopeには、連動アプリケーションの動作継続可能な時間軸上の範囲を特定するための継続範囲情報が指定される。この継続範囲情報には、プログラム(1:program)、データイベント(2:data_event)、アプリケーション強制終了(3:quit_signal)、又はアプリケーションイベント(4:app_event)が指定される。ただし、継続範囲情報は、指定されない場合がある(0:none)。
また、startAITControlledApp関数の戻り値としては、成功を示す”1”と、失敗を示す”NaN(Not a Number)”がある。
このように、startAITControlledApp関数では、その引数として、application_time_scopeを指定することで、起動される連動アプリケーションの動作継続可能な時間軸上の範囲を指定することができる。
図11は、replaceApplication関数を説明する図である。
replaceApplication関数は、HTML文書用に定義された関数であって、実行したアプリケーションを終了し、引数が示すアプリケーションを起動するための関数である。replaceApplication関数には、その引数として、organization_id,application_id, uri,application_time_scopeを指定することができる。
organization_id,application_id,uriには、図10のstartAITControlledApp関数と同様の内容が指定される。
また、application_time_scopeには、図10のstartAITControlledApp関数と同様に、継続範囲情報が指定される。継続範囲情報としては、プログラム(1:program)、データイベント(2:data_event)、アプリケーション強制終了(3:quit_signal)、又はアプリケーションイベント(4:app_event)が指定される。ただし、継続範囲情報は、指定されない場合がある(0:none)。
このように、replaceApplication関数では、その引数として、application_time_scopeを指定することで、起動される連動アプリケーションの動作継続可能な時間軸上の範囲を指定することができる。
以上、指定方式1では、起動関数の引数としてapplication_time_scopeを指定することで、継続範囲情報が指定されることになる。
(指定方式2:起動関数の引数のURIに埋め込むことで指定)
次に、図12及び図13を参照して、上述した継続範囲情報を、起動関数の引数であるURIに埋め込むことで指定する指定方式2について説明する。
図12は、startAITControlledApp関数を説明する図である。
図12のstartAITControlledApp関数は、図10と同一の関数であるが、その引数としてapplication_time_scopeが含まれておらず、organization_id,application_id,ait_uriのみが引数として指定可能である。
ait_uriには、起動すべき連動アプリケーションに関する記載を含むAITの取得先を示すURIが指定される。また、ここでは、ait_uriとして例えば、「arib-dc://7fff/default.ait?app_time_scope=1」を指定することで、app_time_scopeを、URIに埋め込むことができる。この例では、継続範囲情報としてプログラムが指定されたことになる。
このように、startAITControlledApp関数では、その引数であるURIに、app_time_scopeを埋め込むことで、当該URIに基づいて起動される連動アプリケーションの動作継続可能な時間軸上の範囲を指定することができる。
図13は、replaceApplication関数を説明する図である。
図13のreplaceApplication関数は、図11と同一の関数であるが、その引数としてapp_time_scopeが含まれておらず、organization_id,application_id,uriのみが引数として指定可能である。
uriには、図12のstartAITControlledApp関数と同様に、起動すべき連動アプリケーションに関する記載を含むAITの取得先を示すURIに、app_time_scopeが埋め込まれる。
このように、replaceApplication関数では、その引数であるURIに、app_time_scopeを埋め込むことで、当該URIに基づいて起動される連動アプリケーションの動作継続可能な時間軸上の範囲を指定することができる。
以上、指定方式2では、起動関数の引数であるURIに、application_time_scopeを埋め込むことで、継続範囲情報が指定されることになる。
(指定方式3:AITの制御パラメータとして指定)
次に、図14及び図15を参照して、上述した継続範囲情報を、AITの制御パラメータとして指定する指定方式3について説明する。
図14は、AITに記述される各項目を説明するための図である。
図14に示すように、AITには、アプリケーションタイプ、事業者ID、アプリケーションID、アプリケーション制御コマンド、アプリケーション仕様バージョン、受信機要求機能、アプリケーションURL、アプリケーションバウンダリ、システム起動優先度、アプリケーション放送連動範囲、アプリケーションアイコン、アプリケーション名、アプリケーション継続範囲、アプリケーション優先度、及び、サーバアクセス分散パラメータなどが記述される。
アプリケーションタイプには、連動アプリケーションのタイプが記述される。タイプには、例えば、HTML5が固定で指定される。
事業者IDには、連動アプリケーションを提供する事業者の識別情報が記述される。
アプリケーションIDには、特定の事業者内でユニークになる連動アプリケーションの識別情報が記述される。すなわち、アプリケーションIDは、上述の事業者IDと組み合わせて使用することで、連動アプリケーションを一意に識別することが可能となる。
アプリケーション制御コマンドには、対象の連動アプリケーションに対する制御アクションが記述される。制御コマンドには、「Auto Start」、「Kill」、「Prefetch」、「Present」等の指定動作が記述される。
ここで、「Auto Start」は、連動アプリケーションを自動的に即時に実行させるためのコマンドである。「Kill」は、連動アプリケーションを終了させるためのコマンドである。
また、「Prefetch」は、連動アプリケーションを取得させるためのコマンドである。「Present」は、連動アプリケーションを自動実行させないためのコマンドである。
アプリケーション仕様バージョンには、上述のアプリケーションタイプごとのバージョン情報が記述される。
受信機要求機能には、連動アプリケーションが受信装置20に対して要求する機能を示すプロファイル値が記述される。すなわち、受信装置20は、このプロファイル値に記述された機能を有する場合、連動アプリケーションを利用可能であると判断する。
アプリケーションURLには、連動アプリケーションの取得先URLが記述される。すなわち、アプリケーションURLには、後述するアプリケーションサーバ40(図29,図32)のURLが指定される。
アプリケーションバウンダリには、連動アプリケーションの動作範囲が記述される。この動作範囲は、バウンダリ情報により指定される。
例えば、バウンダリ情報には、連動アプリケーションの動作範囲として特定のドメインが指定され、指定されたドメインの範囲内であれば、連動アプリケーションの動作が許容されることになる。ただし、ここでは、上述のアプリケーションURLに記述された連動アプリケーションの取得先URLのドメインを、バウンダリ情報とすることもできる。
システム起動優先度には、連動アプリケーション1がAuto Startで起動される場合において、連動アプリケーション1のタイプと、データ放送アプリケーションのタイプ及び連動アプリケーション2のタイプとの間の優先度を示す情報が記述される。受信装置20は、データ放送アプリケーション又は連動アプリケーションのうち、優先度の示す値が最大値となるタイプのアプリケーションプログラムを起動する。
アプリケーション放送連動範囲には、連動アプリケーションの連動動作範囲が記述される。この連動動作範囲は、バインドタイプとして指定される。
例えば、バインドタイプとしてサービスバウンド(Service bound)が指定された場合には、連動アプリケーションは、所定のサービス内として指定される範囲で連動して動作する。また、事業者バウンド(Provider bound)が指定された場合には、連動アプリケーションは、同一の放送事業者内として指定される範囲で連動して動作する。
アプリケーションアイコンには、対象の連動アプリケーションを示すアイコンが指定される。
アプリケーション名には、対象の連動アプリケーションの名称が記述される。例えば、連動アプリケーション1と連動アプリケーション2の双方が起動可能な場合に、それらの連動アプリケーションの名称をユーザに提示することで、一方の連動アプリケーションの起動を選択させることが可能となる。
アプリケーション継続範囲には、図9を参照して説明した、連動アプリケーションの動作継続可能な時間軸上の範囲を特定するための継続範囲情報(application_time_scope)が記述される。上述したように、継続範囲情報には、プログラム(1:program)、データイベント(2:data_event)、アプリケーション強制終了(3:quit_signal)、又はアプリケーションイベント(4:app_event)が指定される。ただし、継続範囲情報は、指定されない場合がある(0:none)。
アプリケーション優先度には、同一のアプリケーションタイプ内での優先度が記述される。例えば、アプリケーション優先度には、複数のHTML5形式の文書のアプリケーションプログラムの中で、どのアプリケーションプログラムを優先するかを示す値が指定される。
サーバアクセス分散パラメータには、コマンドの適用タイミングを分散化させて、後述するアプリケーションサーバ40(図29,図32)へのアクセスを分散させるための制御パラメータが記述される。
なお、AITにおいて、アプリケーションタイプ、事業者ID、アプリケーションID、アプリケーション制御コマンド、及び、アプリケーションURLは、必須の項目となる。また、それ以外の項目については、条件付の又は完全なオプションの項目となる。
以上、AITに記述される各項目について説明した。
次に、図15を参照してAITの記述例について説明する。なお、図15の例では、継続範囲情報として、データイベント(data_event)が指定された場合について説明する。
図15に示すように、AITは、XML(Extensible Markup Language)文書として記述される。このXML文書の先頭には、XML宣言や名前空間等に関する情報が記述される。これにより、接頭辞として「isdb」が記述された場合、ISDB(Integrated Services Digital Broadcasting)の規格により規定されたタグであることを意味し、「mhp」が記述された場合、DVB(Digital Video Broadcasting)の規格により規定されたタグであること意味する。
ApplicationDiscovery DomainName要素には、1又は複数のApplication要素を記述可能なApplicationList要素が記述される。各Application要素には、連動アプリケーションの動作を制御するための制御情報が記述される。
Application要素には、appName要素、applicationIdentifier要素、applicationDescriptor要素、applicationLocation要素、及び、applicationTimeScopeDescriptor要素が記述される。
appName要素には、Language属性として、連動アプリケーションの言語が日本語であることを示す「jpn」が指定される。
applicationIdentifier要素には、orgId要素とappId要素が記述される。orgId要素には、事業者IDを示す「19」が記述される。appId要素には、アプリケーションIDを示す「1」が記述される。すなわち、1であるアプリケーションIDと、19である事業者IDとの組み合わせによって、連動アプリケーションが一意に識別される。
applicationDescriptor要素には、type要素とcontrolCode要素が記述される。type要素には、DvbApp要素が記述され、ISDBの規格により規定されたHTML文書であることを示す「ISDB-HTML」が記述される。controlCode要素には、制御コマンドを示す「AUTOSTART」が記述される。
ApplicationLocation要素には、アプリケーションURLを示す「http://xxxxxxx」が記述される。すなわち、後述するアプリケーションサーバ40(図29,図32)のURLは、http://xxxxxxxとなる。
applicationTimeScopeDescriptor要素には、継続範囲情報を指定するためのapp_time_scope_type属性が記述される。app_time_scope_type属性には、”data_event”が指定されており、継続範囲情報としてデータイベントが指定されていることになる。
以上のように、継続範囲情報としてデータイベントが指定される場合、AITには、applicationTimeScopeDescriptor要素に、app_time_scope_type属性として”data_event”が指定されることになる。
なお、図15の例では、継続範囲情報として、データイベントが指定された場合について示しているため、app_time_scope_type属性として”data_event”が指定されるが、プログラムを指定する場合には”program”、アプリケーション強制終了を指定する場合には”quit_signal”、アプリケーションイベントを指定する場合には”app_event”がそれぞれ指定されることになる。また、継続範囲情報を指定しない場合には、”none”が指定されるか、あるいはapplicationTimeScopeDescriptor要素が記述されないことになる。
また、本実施の形態では、同時に起動される連動アプリケーションは1つだけであるため、ApplicationList要素には、1つのApplication要素のみが記述される。また、連動アプリケーションの終了等の制御にはAITを用いないため、controlCode要素には、連動アプリケーションを即時に実行させるための「AUTOSTART」のみが記述される。
以上、AITの記述例について説明した。
なお、AITの記述方法は任意であって、図15に示したXML文書に限定されるものではなく、他の記述方法を採用することができる。
以上、指定方式3では、AITの制御パラメータとしてapp_time_scope_type属性を記述することで、継続範囲情報が指定されることになる。
<継続範囲情報ごとの動作シーケンス>
上述したように、継続範囲情報としては、プログラム(1:program)、データイベント(2:data_event)、アプリケーション強制終了(3:quit_signal)、又はアプリケーションイベント(4:app_event)が指定され、指定された継続範囲情報によって、連動アプリケーションの終了のタイミングが異なる。そこで、以下、各継続範囲情報が指定された場合の受信装置20の動作シーケンスを示し、継続範囲情報ごとの連動アプリケーションの終了のタイミングについて説明する。
ただし、以下の説明においては、継続範囲情報として、プログラムが指定された場合を「タイプ1」と称し、データイベントが指定された場合を「タイプ2」と称する。また、継続範囲情報として、アプリケーション強制終了が指定された場合を「タイプ3」と称し、アプリケーションイベントが指定された場合を「タイプ4」と称する。
(タイプ1の動作シーケンス)
図16は、タイプ1の動作シーケンスを示す図である。
図16に示すように、放送ストリーム(トランスポートストリーム)には、ビデオストリーム、オーディオストリーム、及び、セクションデータが多重化される。
セクションデータには、PSI/SIのセクションが含まれる。SIセクションに含まれるEIT pには、event_idが記述される。event_idは、対象のイベントの識別情報であって、同一の放送番組(サービス)内で一意的に割り当てられるものである。
受信装置20においては、放送コンテンツの視聴中に、データカルーセル伝送により送信されるBML文書が取得される(S551)。これにより、データ放送アプリケーションが実行される。
また、受信装置20では、放送コンテンツの視聴中に、ユーザ操作によって連動アプリケーション1の起動が指示されると、データカルーセル伝送により送信されるAITが取得され、解析される(S552)。
受信装置20では、AITの解析結果に従い、データカルーセル伝送により送信される連動アプリケーション1が取得され、起動される(S553,554)。また、連動アプリケーション1には、app_time_scopeとして”1”、すなわち、プログラム(program)が指定されている。この継続範囲情報は、上述した指定方式1乃至指定方式3のいずれかの方式により指定される。
なお、連動アプリケーション1が起動されると、データ放送アプリケーションは終了する。また、連動アプリケーション1は、データ放送アプリケーションに連動して自動起動されるようにしてもよい。
その後、受信装置20では、連動アプリケーション1の実行が継続される。このとき、受信装置20は、継続範囲情報としてプログラムが指定されているので、SIセクションにより送信されるEIT pに含まれるevent_idの値を常に監視し、event_idの値の変化点を検出する。なお、変化点の比較対象のevent_idの値は、例えば、連動アプリケーション1の起動時に取得して保持されたevent_idの値となる。
そして、EIT p/fが更新され、event_idの値が「A」から「B」に変化した場合に、受信装置20において、event_idの値の変化点が検出されたとき(S559)、”1”であるapp_time_scopeが指定されている、実行中の連動アプリケーション1は終了する(S560)。
また、実行中の連動アプリケーション1において、連動アプリケーション2への遷移が指示された場合(S555)、データカルーセル伝送により送信されるAITが取得され、解析される(S556)。そして、受信装置20では、AITの解析結果に従い、データカルーセル伝送により送信される連動アプリケーション2が取得され、起動される(S557,558)。また、連動アプリケーション2には、app_time_scopeとして”0”、すなわち、継続範囲情報が指定されていない。この継続範囲情報は、上述した指定方式1乃至指定方式3のいずれかの方式により指定される。
その後、受信装置20では、連動アプリケーション2の実行が継続される。そして、上述した場合と同様に、EIT p/fが更新され、event_idの値の変化点が検出されるが(S559)、連動アプリケーション2には、app_time_scopeとして”0”が指定されているため、event_idの値が更新されたとしても終了のタイミングであるとは認識されず、実行が継続される。
すなわち、受信装置20では、放送番組が同一の番組内である場合には、連動アプリケーション1の実行が継続され、その放送番組が終了したときに、連動アプリケーション1も終了する。また、連動アプリケーション2は、終了が指示されたとき、又は、放送番組のチャンネルが切り替えられたときなどに、終了することになる。
また、受信装置20では、再度、BML文書が取得され(S561)、データ放送アプリケーションが実行される。また、連動アプリケーション3の起動が指示されると、AITの取得と解析が行われる(S562)。そして、受信装置20では、AITの解析結果に従い、連動アプリケーション3が取得され、起動される(S563,S564)。連動アプリケーション3は、app_time_scopeとして”1”が指定されている場合には、event_idの値の変化点が検出されたときに終了することになる。
以上、タイプ1の動作シーケンスについて説明した。
(タイプ2の動作シーケンス)
図17は、タイプ2の動作シーケンスを示す図である。
図17に示すように、放送ストリーム(トランスポートストリーム)には、ビデオストリーム、オーディオストリーム、及び、セクションデータが多重化される。図17の例では、データカルーセル伝送が複数存在しており、データカルーセル1では、BMLファイルやHTMLファイル、AITファイルなどが伝送されている。また、データカルーセル2では、HTMLファイルが伝送されている。例えば、受信装置20は、AITに記述されるdata_event要素のcomponent_tag属性の属性値などにより、対象のデータカルーセル伝送を特定することになる。
また、セクションデータのうち、データカルーセル伝送で送信されるDSM-CCセクションには、DIIのメッセージ伝送用のDSM-CCセクションが含まれる。また、DIIメッセージのペイロード部に含まれるダウンロードIDには、data_event_idが記述される。
すなわち、ダウンロードIDは、カルーセルを一意に識別するためのラベルの役割をするものであって、符号化方式の規定等によって、データイベントの運用のもとでDIIを送出する場合には、data_event_idが記述される。
data_event_idは、イベントメッセージを利用する時間的に相隣り合うデータイベントを区別し、それらのデータイベントで配信されるデータ放送アプリケーションの間でイベントメッセージが誤配信されることを避けることを目的とした識別情報である。従って、送出時に相隣り合うデータ放送アプリケーションの間では異なる識別情報が割り当てられる。
受信装置20においては、放送コンテンツの視聴中に、データカルーセル伝送により送信されるBML文書が取得される(S601)。これにより、データ放送アプリケーションが実行される。
また、受信装置20では、放送コンテンツの視聴中に、ユーザ操作によって連動アプリケーション1の起動が指示されると、データカルーセル伝送により送信されるAITが取得され、解析される(S602)。
受信装置20では、AITの解析結果に従い、データカルーセル伝送により送信される連動アプリケーション1が取得され、起動される(S603,604)。また、連動アプリケーション1には、app_time_scopeとして”2”、すなわち、データイベント(data_event)が指定されている。この継続範囲情報は、上述した指定方式1乃至指定方式3のいずれかの方式により指定される。
その後、受信装置20では、連動アプリケーション1の実行が継続される。このとき、受信装置20は、継続範囲情報としてデータイベントが指定されているので、DSM-CCセクションにより送信されるDIIに含まれるdata_event_idの値を常に監視し、data_event_idの値の変化点を検出する。なお、変化点の比較対象のdata_event_idの値は、例えば、連動アプリケーション1の起動時に取得して保持されたdata_event_idの値となる。
そして、DIIが更新され、data_event_idの値が「1」から「2」に変化した場合に、受信装置20において、data_event_idの値の変化点が検出されたとき(S609)、実行中の連動アプリケーション1は終了する(S610)。
また、連動アプリケーション1において、連動アプリケーション2への遷移が指示された場合(S605)、データカルーセル伝送により送信されるAITが取得され、解析される(S606)。そして、受信装置20では、AITの解析結果に従い、データカルーセル伝送により送信される連動アプリケーション2が取得され、起動される(S607,S608)。また、連動アプリケーション2には、app_time_scopeとして”2”、すなわち、データイベント(data_event)が指定されている。この継続範囲情報は、上述した指定方式1乃至指定方式3のいずれかの方式により指定される。
その後、受信装置20では、連動アプリケーション2の実行が継続される。そして、DIIが更新され、data_event_idの値の変化点が検出されたとき(S609)、実行中の連動アプリケーション2は終了する(S611)。
すなわち、連動アプリケーション1と連動アプリケーション2には、共にapp_time_scopeとして”2”が指定されているので、data_event_idの値の変化点が検出された時点で、共に終了のタイミングであると認識される。これにより、受信装置20では、放送番組に連動して実行されるデータ放送アプリケーションが同一のデータ放送内である場合には、連動アプリケーション1,2の実行が継続され、そのデータ放送が終了したときに、連動アプリケーション1,2も終了することになる。
また、受信装置20では、再度、BML文書が取得され(S612)、データ放送アプリケーションが実行される。また、連動アプリケーション3の起動が指示されると、AITの取得と解析が行われる(S613)。そして、受信装置20では、AITの解析結果に従い、連動アプリケーション3が取得され、起動される(S614,S615)。連動アプリケーション3は、app_time_scopeとして”2”が指定されている場合には、data_event_idの値の変化点が検出されたときに終了することになる。
以上、タイプ2の動作シーケンスについて説明した。
(タイプ3の動作シーケンス)
図18は、タイプ3の動作シーケンスを示す図である。
図18に示すように、放送ストリーム(トランスポートストリーム)には、ビデオストリーム、オーディオストリーム、及び、セクションデータが多重化される。図18の例では、データカルーセル伝送が複数存在しており、データカルーセル1では、BMLファイルやHTMLファイル、AITファイルなどが伝送されている。また、データカルーセル2では、HTMLファイルが伝送されている。
また、セクションデータのうち、データカルーセル伝送で送信されるDSM-CCセクションには、DIIのメッセージ伝送用のDSM-CCセクションが含まれる。また、DIIメッセージのプライベートデータ領域には、アプリケーション強制終了記述子(図19)が配置される。
受信装置20においては、放送コンテンツの視聴中に、データカルーセル伝送により送信されるBML文書が取得される(S651)。これにより、データ放送アプリケーションが実行される。
また、受信装置20では、放送コンテンツの視聴中に、ユーザ操作によって連動アプリケーション1の起動が指示されると、データカルーセル伝送により送信されるAITが取得され、解析される(S652)。
受信装置20では、AITの解析結果に従い、データカルーセル伝送により送信される連動アプリケーション1が取得され、起動される(S653,654)。また、連動アプリケーション1には、app_time_scopeとして”3”、すなわち、アプリケーション強制終了(quit_signal)が指定されている。この継続範囲情報は、上述した指定方式1乃至指定方式3のいずれかの方式により指定される。
その後、受信装置20では、連動アプリケーション1の実行が継続される。このとき、受信装置20は、継続範囲情報としてアプリケーション強制終了が指定されているので、DSM-CCセクションにより送信されるDIIのプライベートデータ領域を常に監視し、アプリケーション強制終了信号の検出処理を行う。
そして、DIIが更新され、アプリケーション強制終了信号が検出された場合(S659)、実行中の連動アプリケーション1は終了する(S660)。
また、連動アプリケーション1において、連動アプリケーション2への遷移が指示された場合(S655)、データカルーセル伝送により送信されるAITが取得され、解析される(S656)。そして、受信装置20では、AITの解析結果に従い、データカルーセル伝送により送信される連動アプリケーション2が取得され、起動される(S657,S658)。また、連動アプリケーション2には、app_time_scopeとして”3”、すなわち、アプリケーション強制終了(quit_signal)が指定されている。この継続範囲情報は、上述した指定方式1乃至指定方式3のいずれかの方式により指定される。
その後、受信装置20では、連動アプリケーション2の実行が継続される。そして、上述した場合と同様に、DIIが更新され、アプリケーション強制終了信号が検出された場合(S659)、実行中の連動アプリケーション2は終了する(S661)。
同様に、連動アプリケーション1において、連動アプリケーション3への遷移が指示された場合、AITの解析結果に従い、連動アプリケーション3が取得され、起動される(S655乃至S658)。ただし、連動アプリケーション3には、app_time_scopeとして”0”、すなわち、継続範囲情報が指定されていない。この継続範囲情報は、上述した指定方式1乃至指定方式3のいずれかの方式により指定される。
その後、受信装置20では、連動アプリケーション3の実行が継続される。そして、上述した場合と同様に、DIIが更新され、アプリケーション強制終了信号が検出されるが(S659)、連動アプリケーション3には、app_time_scopeとして”0”が指定されているため、アプリケーション強制終了信号が検出されたとしても終了のタイミングであるとは認識されず、実行が継続される。
すなわち、連動アプリケーション1と連動アプリケーション2には、共にapp_time_scopeとして”3”が指定されているので、アプリケーション強制終了信号が検出された時点で、共に終了のタイミングであると認識される。これにより、受信装置20では、アプリケーション強制終了信号が検出されていない間は、連動アプリケーション1,2の実行が継続され、アプリケーション強制終了信号が検出された時点で、連動アプリケーション1,2が終了することになる。また、連動アプリケーション3は、終了が指示されたとき、又は、放送番組のチャンネルが切り替えられたときなどに、終了することになる。
また、受信装置20では、再度、BML文書が取得され(S662)、データ放送アプリケーションが実行される。また、連動アプリケーション4の起動が指示されると、AITの取得と解析が行われる(S663)。そして、受信装置20では、AITの解析結果に従い、連動アプリケーション4が取得され、起動される(S664,S665)。連動アプリケーション4は、app_time_scopeとして”3”が指定されている場合には、アプリケーション強制終了信号が検出された時点で終了することになる。
なお、アプリケーション強制終了信号は、app_time_scopeとして”3”が指定されている連動アプリケーションの終了のタイミングで複数回送られるものとする。これにより、受信装置20側で、あるタイミングで送られてきたアプリケーション強制終了信号を検出できなかった場合でも、複数回送られるアプリケーション強制終了信号のうちのいずれかを検出することができるので、確実に、連動アプリケーションを終了させることができる。
以上、タイプ3の動作シーケンスについて説明した。
(タイプ3のアプリケーション強制終了記述子)
図19は、タイプ3のアプリケーション強制終了記述子のデータ構造を示す図である。
アプリケーション強制終了記述子(hybrid_application_termination_descriptor)は、例えば、DIIメッセージのプライベートデータ領域に配置される。
図19に示すように、タイプ3のアプリケーション強制終了記述子には、以下の内容が記述される。
descriptor_tagには、当該記述子に割り当てられたタグ値が記述される。また、descriptor_lengthには、当該記述子の記述子長が記述される。
app_termination_flagは、継続範囲情報として、アプリケーション強制終了が指定されている連動アプリケーションを強制終了させるか否かを示すフラグである。app_termination_flag=”1”、すなわち、当該フラグが立てられた場合、受信装置20では、アプリケーション強制終了信号が検出され、継続範囲情報として、アプリケーション強制終了が指定されている連動アプリケーションが強制終了されることになる。
なお、タイプ3のアプリケーション強制終了記述子の記述内容は任意であって、図19の記述例に限定されるものではない。
(タイプ3変形方式のアプリケーション強制終了記述子)
図20は、タイプ3変形方式のアプリケーション強制終了記述子のデータ構造を示す図である。
図20に示すように、タイプ3変形方式のアプリケーション強制終了記述子には、タイプ3のアプリケーション強制終了記述子(図19)と比較すると、1ビットのapp_termination_flagの代わりに、8ビットのtermination_bitmapが記述される。
termination_bitmapでは、8ビットの各ビットをそれぞれ、継続範囲情報としてアプリケーション強制終了が指定されている連動アプリケーションを強制終了させるか否かを示すフラグとしたビットマップを構成している。
そして、タイプ3変形方式においては、例えば、指定方式1乃至指定方式3のいずれかの方式により指定される継続範囲情報として、アプリケーション強制終了を示すapp_time_scope=”3”とともに、termination_flag_tagを指定するようにする。termination_flag_tagは、termination_bitmapの8ビットのうち、最上位のビットから何ビット目のフラグがその連動アプリケーションに対応するかを示すものである。これにより、連動アプリケーションごとに個別の時間位置で強制終了させることができる。
なお、継続範囲情報として、アプリケーション強制終了のみが指定され、タイプ3を前提とすることができるのであれば、app_time_scopeには、0〜4の値に対応したタイプを指定するのではなく、0〜8の値を指定できるようにする。そして、0が指定された場合には、連動アプリケーションは強制終了しないとして、1〜8の値が指定されたときに、その値が、termination_bitmapの8ビットのうち、最上位のビットから何ビット目のフラグがその連動アプリケーションに対応するかを示すようにする。この指定方式であっても、上述の指定方式と同様に、連動アプリケーションごとに個別の時間位置で強制終了させることができる。なお、この指定方式の場合には、app_time_scopeによってtermination_bitmapのビットを指定できるので、termination_flag_tagを指定する必要はない。
(タイプ3変形方式の動作シーケンス)
図21は、タイプ3変形方式の動作シーケンスを示す図である。
図21に示すように、放送ストリーム(トランスポートストリーム)には、ビデオストリーム、オーディオストリーム、及び、セクションデータが多重化される。図21の例では、データカルーセル伝送が複数存在しており、データカルーセル1では、BMLファイルやHTMLファイル、AITファイルなどが伝送されている。また、データカルーセル2では、HTMLファイルが伝送されている。
また、セクションデータのうち、データカルーセル伝送で送信されるDSM-CCセクションには、DIIのメッセージ伝送用のDSM-CCセクションが含まれる。また、DIIメッセージのプライベートデータ領域には、アプリケーション強制終了記述子(図20)が配置される。
受信装置20においては、放送コンテンツの視聴中に、データカルーセル伝送により送信されるBML文書が取得される(S701)。これにより、データ放送アプリケーションが実行される。
また、受信装置20では、放送コンテンツの視聴中に、ユーザ操作によって連動アプリケーション1の起動が指示されると、データカルーセル伝送により送信されるAITが取得され、解析される(S702)。
受信装置20では、AITの解析結果に従い、データカルーセル伝送により送信される連動アプリケーション1が取得され、起動される(S703,704)。また、連動アプリケーション1には、app_time_scopeとして”3”、すなわち、アプリケーション強制終了(quit_signal)が指定されている。さらに、termination_flag_tagとして”1”、すなわち、termination_bitmapの8ビットのうち、最上位のビットが、連動アプリケーション1の強制終了フラグとなることを示している。この継続範囲情報(app_time_scope,termination_flag_tag)は、上述した指定方式1乃至指定方式3のいずれかの方式により指定される。
その後、受信装置20では、連動アプリケーション1の実行が継続される。このとき、受信装置20は、継続範囲情報としてアプリケーション強制終了が指定されているので、DSM-CCセクションにより送信されるDIIのプライベートデータ領域を常に監視し、連動アプリケーション1のアプリケーション強制終了信号の検出処理を行う。
そして、DIIが更新され、termination_bitmapの最上位のビットが立った場合(termination_bitmap=”10000000”)、termination_flag_tagとして”1”が指定されている、連動アプリケーション1のアプリケーション強制終了信号が検出されたことになる(S709)。従って、実行中の連動アプリケーション1は終了する(S710)。
また、連動アプリケーション1において、連動アプリケーション2への遷移が指示された場合(S705)、データカルーセル伝送により送信されるAITが取得され、解析される(S706)。そして、受信装置20では、AITの解析結果に従い、データカルーセル伝送により送信される連動アプリケーション2が取得され、起動される(S707,S708)。
また、連動アプリケーション2には、app_time_scopeとして”3”、すなわち、アプリケーション強制終了(quit_signal)が指定されている。さらに、termination_flag_tagとして”2”、すなわち、termination_bitmapの8ビットのうち、最上位のビットから2番目のビットが、連動アプリケーション2の強制終了フラグとなることを示している。この継続範囲情報(app_time_scope,termination_flag_tag)は、上述した指定方式1乃至指定方式3のいずれかの方式により指定される。
その後、受信装置20では、連動アプリケーション2の実行が継続される。そして、DIIが更新され、termination_bitmapの最上位のビットが立った場合(termination_bitmap=”10000000”)、termination_flag_tagとして”1”が指定されている、連動アプリケーション1のアプリケーション強制終了信号が検出されたことになる(S709)。この場合、連動アプリケーション2には、app_time_scopeとして”3”が指定されているが、termination_flag_tagとして”2”が指定されているため、アプリケーション強制終了信号の対象とはならず、実行が継続されることになる。
そして、DIIが更新され、termination_bitmapの最上位のビットから2番目のビットが立った場合(termination_bitmap=”01000000”)、termination_flag_tagとして”2”が指定されている、連動アプリケーション2のアプリケーション強制終了信号が検出されたことになる(S712)。従って、実行中の連動アプリケーション2は終了する(S713)。
同様に、連動アプリケーション1において、連動アプリケーション3への遷移が指示された場合、AITの解析結果に従い、連動アプリケーション3が取得され、起動される(S705乃至S708)。ただし、連動アプリケーション3には、app_time_scopeとして”0”、すなわち、継続範囲情報が指定されていない。この継続範囲情報は、上述した指定方式1乃至指定方式3のいずれかの方式により指定される。
その後、連動アプリケーション3の実行が継続される。そして、上述した場合と同様に、DIIが更新され、最上位のビットから2番目のビットが立った場合(S709)、あるいは、termination_bitmapの最上位のビットが立った場合(S712)、アプリケーション強制終了信号が検出されたことになるが、連動アプリケーション3には、app_time_scope”0”が指定されているため、実行が継続される。
すなわち、連動アプリケーション1と連動アプリケーション2には、共にapp_time_scopeとして”3”が指定されているので、自身のtermination_flag_tagに対応するアプリケーション強制終了信号が検出された時点で、終了のタイミングであると認識される。これにより、受信装置20では、連動アプリケーション1に対するアプリケーション強制終了信号が検出されていない間は、連動アプリケーション1の実行が継続され、当該強制終了信号が検出された時点で、連動アプリケーション1が終了することになる。同様にまた、連動アプリケーション2に対するアプリケーション強制終了信号が検出されていない間は、連動アプリケーション2の実行が継続され、当該強制終了信号が検出された時点で、連動アプリケーション2が終了することになる。
このように、連動アプリケーション1と連動アプリケーション2を個別の時間位置で強制終了させることができる。
また、連動アプリケーション3は、終了が指示されたとき、又は、放送番組のチャンネルが切り替えられたときなどに、終了することになる。
また、受信装置20では、再度、BML文書が取得され(S711)、データ放送アプリケーションが実行される。また、連動アプリケーション4の起動が指示されると、AITの取得と解析が行われる(S714)。そして、受信装置20では、AITの解析結果に従い、連動アプリケーション4が取得され、起動される(S715,S716)。連動アプリケーション4は、app_time_scopeとして”3”が指定されている場合には、アプリケーション強制終了信号が検出された時点で終了することになる。
以上、タイプ3変形方式の動作シーケンスについて説明した。
(タイプ4の動作シーケンス)
図22は、タイプ4の動作シーケンスを示す図である。
図22に示すように、放送ストリーム(トランスポートストリーム)には、ビデオストリーム、オーディオストリーム、及び、セクションデータが多重化される。図22の例では、データカルーセル伝送が複数存在しており、データカルーセル1では、BMLファイルやHTMLファイル、AITファイルなどが伝送されている。また、データカルーセル2では、HTMLファイルが伝送されている。
また、セクションデータのうち、データカルーセル伝送で送信されるDSM-CCセクションには、DIIのメッセージ伝送用のDSM-CCセクションが含まれる。また、DIIメッセージのプライベートデータ領域には、アプリケーションイベント記述子(図23)が配置される。
受信装置20においては、放送コンテンツの視聴中に、データカルーセル伝送により送信されるBML文書が取得される(S751)。これにより、データ放送アプリケーションが実行される。
また、受信装置20では、放送コンテンツの視聴中に、ユーザ操作によって連動アプリケーション1の起動が指示されると、データカルーセル伝送により送信されるAITが取得され、解析される(S752)。
受信装置20では、AITの解析結果に従い、データカルーセル伝送により送信される連動アプリケーション1が取得され、起動される(S753,754)。また、連動アプリケーション1には、app_time_scopeとして”4”、すなわち、アプリケーションイベント(app_event)が指定されている。この継続範囲情報は、上述した指定方式1乃至指定方式3のいずれかの方式により指定される。
その後、受信装置20では、連動アプリケーション1の実行が継続される。このとき、受信装置20は、継続範囲情報としてアプリケーションイベントが指定されているので、DSM-CCセクションにより送信されるDIIに含まれるapp_event_idの値を常に監視し、app_event_idの値の変化点を検出する。なお、変化点の比較対象のapp_event_idの値は、例えば、連動アプリケーション1の起動時に取得して保持されたapp_event_idの値となる。
そして、DIIが更新され、app_event_idの値が「1」から「2」に変化した場合に、受信装置20において、app_event_idの値の変化点が検出されたとき(S759)、実行中の連動アプリケーション1は終了する(S760)。
また、連動アプリケーション1において、連動アプリケーション2への遷移が指示された場合(S755)、データカルーセル伝送により送信されるAITが取得され、解析される(S756)。そして、受信装置20では、AITの解析結果に従い、データカルーセル伝送により送信される連動アプリケーション2が取得され、起動される(S757,S758)。また、連動アプリケーション2には、app_time_scopeとして”4”、すなわち、アプリケーションイベント(app_event)が指定されている。この継続範囲情報は、上述した指定方式1乃至指定方式3のいずれかの方式により指定される。
その後、受信装置20では、連動アプリケーション2の実行が継続される。そして、DIIが更新され、app_event_idの値が「1」から「2」に変化した場合に、受信装置20において、app_event_idの値の変化点が検出されたとき(S759)、実行中の連動アプリケーション2は終了する(S761)。
同様に、連動アプリケーション1において、連動アプリケーション3への遷移が指示された場合、AITの解析結果に従い、連動アプリケーション3が取得され、起動される(S755乃至S758)。ただし、連動アプリケーション3には、app_time_scopeとして”0”、すなわち、継続範囲情報が指定されていない。この継続範囲情報は、上述した指定方式1乃至指定方式3のいずれかの方式により指定される。
その後、受信装置20では、連動アプリケーション3の実行が継続される。そして、DIIが更新され、app_event_idの値の変化点が検出されるが(S759)、また、連動アプリケーション3には、app_time_scope”0”が指定されているため、終了のタイミングであるとは認識されず、実行が継続される。
すなわち、連動アプリケーション1と連動アプリケーション2には、共にapp_time_scopeとして”4”が指定されているので、app_event_idの値の変化点が検出された時点で、共に終了のタイミングであると認識される。これにより、例えば、受信装置20では、同一のアプリケーション内である場合には、連動アプリケーション1、2の実行が継続され、異なるアプリケーションとなったときに、連動アプリケーション1、2が終了することになる。また、連動アプリケーション3は、終了が指示されたとき、又は、放送番組のチャンネルが切り替えられたときなどに、終了することになる。
また、受信装置20では、再度、BML文書が取得され(S762)、データ放送アプリケーションが実行される。また、連動アプリケーション4の起動が指示されると、AITの取得と解析が行われる(S763)。そして、受信装置20では、AITの解析結果に従い、連動アプリケーション4が取得され、起動される(S764,S765)。連動アプリケーション4は、app_time_scopeとして”4”が指定されている場合には、app_event_idの値の変化点が検出された時点で終了することになる。
以上、タイプ4の動作シーケンスについて説明した。
(アプリケーションイベント記述子)
図23は、アプリケーションイベント記述子のデータ構造を示す図である。
アプリケーションイベント記述子(hybrid_application_event_descriptor)は、例えば、DIIメッセージのプライベートデータ領域に配置される。
図23に示すように、アプリケーションイベント記述子には、以下の内容が記述される。
descriptor_tagには、当該記述子に割り当てられたタグ値が記述される。また、descriptor_lengthには、当該記述子の記述子長が記述される。
application_event_idには、アプリケーションイベントを識別するための値が16ビットで記述される。受信装置20では、継続範囲情報としてアプリケーションイベントが指定されている場合、application_event_idの値の変化を監視することになる。
なお、アプリケーションイベント記述子の記述内容は任意であって、図23の記述例に限定されるものではない。また、本明細書中では、「application_event_id」の記述を、「app_event_id」と略して記述している箇所があるが、共にアプリケーションイベントIDを表している。
<各装置で行われる具体的な処理の内容>
次に、図24乃至図27のフローチャートを参照して、放送通信連携システム1を構成する各装置で行われる具体的な処理の内容について説明する。
(送信処理)
まず、図24のフローチャートを参照して、送信装置10によって実行される送信処理について説明する。
ステップS111において、音声取得部111は、外部のサーバ等から、放送コンテンツの音声に対応するオーディオ信号を取得する。
ステップS112において、映像取得部113は、外部のサーバ等から、放送コンテンツの映像に対応するビデオ信号を取得する。
ステップS113において、データ取得部115は、データカルーセル用データの生成用のデータを取得する。
ステップS114において、オーディオエンコーダ112は、音声取得部111により取得されたオーディオ信号を符号化し、オーディオストリームを生成する。
ステップS115において、ビデオエンコーダ114は、映像取得部113により取得されたビデオ信号を符号化し、ビデオストリームを生成する。
ステップS116において、データカルーセル用データ生成部116は、データ取得部115により取得された生成用のデータに基づいて、データカルーセル用データを生成する。データカルーセル用データは、セクション形式のセクションデータからなる。
ステップS117において、多重化部117は、オーディオエンコーダ112により生成されたオーディオストリームと、ビデオエンコーダ114により生成されたビデオストリームと、データカルーセル用データ生成部116により生成されたセクションデータとを多重化して、トランスポートストリームを生成する。
なお、ここでは、説明の簡略化のため、詳細は説明しないが、トランスポートストリームには、字幕データやPSI/SIのセクションデータ等も含まれる。
ステップS118において、送信部118は、多重化部117により生成されたトランスポートストリームを、アンテナ119を介して、放送信号として送信する。ステップS118の処理が終了すると、処理はステップS111に戻され、それ以降の処理が繰り返されることになる。
以上で、送信処理の説明を終了する。
(受信処理)
次に、図25のフローチャートを参照して、受信装置20によって実行される受信処理について説明する。
ステップS211において、チューナ212は、アンテナ211を介して放送信号を受信して、復調する。
ステップS212において、多重分離部215は、チューナ212により復調されたトランスポートストリームを、オーディオストリーム、ビデオストリーム、及び、セクションデータに分離する。なお、多重分離部215は、トランスポートストリームに字幕データが含まれる場合、字幕データについても分離する。
ステップS213において、オーディオデコーダ218は、多重分離部215により分離されたオーディオストリームを復号し、オーディオ信号を生成する。
ステップS214において、ビデオデコーダ217は、多重分離部215により分離されたビデオストリームを復号し、ビデオ信号を生成する。
ステップS215において、スピーカ224は、オーディオ信号に対応する音声を出力する。また、ディスプレイ222は、ビデオ信号に対応する映像を表示する。これにより、ディスプレイ222には、放送番組等の放送コンテンツの映像が表示され、スピーカ224からは、その映像に対応する音声が出力される。
ステップS215の処理が終了すると、処理はステップS211に戻り、それ以降の処理が繰り返される。
以上で、受信処理の説明を終了する。
(データ放送対応処理)
次に、図26のフローチャートを参照して、受信装置20によって実行されるデータ放送対応処理について説明する。
図26のデータ放送対応処理は、受信装置20において、例えば、図25の受信処理によって、放送コンテンツが視聴されている場合に実行される。
ステップS231において、データ放送処理部216は、多重分離部215により分離されたDSM-CCセクションから得られるDII及びDDBを解析することで、module_id=0となるBML起動文書を取得する。
ステップS232において、データ放送エンジン220は、BMLブラウザを制御することで、データ放送処理部216により取得されたBML起動文書を実行する。
ステップS233において、データ放送エンジン220はBML起動文書に記述されたプログラムに基づいて、受信装置20が連動アプリケーションを実行可能な機能を有しているか否かを判定する。ステップS233において、BML起動文書に記述されたプログラムに基づいて、例えば、HTMLブラウザがHTML5に未対応である場合など、受信装置20が連動アプリケーションを実行可能な機能を有していないと判定された場合、処理は、ステップS234に進められる。
ステップS234において、データ放送エンジン220は、BMLブラウザを制御することで、データ放送処理部216により取得されるBML文書の実行を継続する。
また、ステップS235において、データ放送処理部216は、DSM-CCセクションにより送信されるDIIに含まれるdata_event_idの値を常に監視することで、data_event_idの値が変化したか否かを判定する。
ステップS235において、data_event_idの値が変化していないと判定された場合、処理は、ステップS234に戻り、それ以降の処理が繰り返される。また、ステップS235において、data_event_idの値が変化したと判定された場合、処理は、ステップS231に戻り、それ以降の処理が繰り返される。
すなわち、データ放送アプリケーションが1つのデータイベントの中で配信されるデータ放送の内容を指すものであるとすれば、data_event_idは時間的に相隣り合うデータイベントを区別するものであって、送出時に相隣り合うデータ放送アプリケーションの間では異なる識別情報が割り当てられることなる。従って、data_event_idの値が変化したには、次に配信されるデータ放送アプリケーションのBML文書が取得され、実行されることになる。
一方、ステップS233において、BML起動文書に記述されたプログラムに基づいて、例えば、HTMLブラウザがHTML5に対応している場合など、受信装置20が連動アプリケーションを実行可能な機能を有していると判定された場合、処理は、ステップS236に進められる。
ステップS236において、データ放送エンジン220は、BML起動文書に記述されたプログラムに基づいて、BML文書に記述された連動アプリケーションの起動関数(例えば、startAITControlledApp関数(図10,図12))を実行する。その結果、データ放送エンジン220はBML文書の実行を終了する。
すなわち、図26のフローチャートを参照して説明する運用例の場合、BML文書には連動アプリケーションの自動起動が指定されているため、ユーザ操作に関係なく、連動アプリケーションの起動が開始される。
ステップS237において、制御情報取得部251は、データカルーセル伝送により送信されるAITを取得する。
ステップS238において、制御情報解析部252は、制御情報取得部251により取得されたAITを解析する。
ステップS239において、制御情報取得部251は、上述した指定方式1乃至指定方式3のいずれかの方式により指定された継続範囲情報を取得して、継続範囲情報保持部253に保持させる。
具体的には、制御情報取得部251は、指定方式1が採用されている場合、例えば、startAITControlledApp関数(図10)の引数であるapplication_time_scopeに指定された継続範囲情報を取得する。また、制御情報取得部251は、指定方式2が採用されている場合、例えば、startAITControlledApp関数(図12)の引数であるURIに埋め込まれた継続範囲情報を取得する。さらに、制御情報取得部251は、指定方式3が採用されている場合、例えば、制御情報解析部252によるAITの解析結果に従い、アプリケーション継続範囲に記述された継続範囲情報を取得する。
ステップS240において、アプリケーション制御部255は、制御情報解析部252によるAITの解析結果に従い、データカルーセル伝送により送信される連動アプリケーションを取得する。
ステップS241において、アプリケーション制御部255は、制御情報解析部252によるAITの解析結果に従い、アプリケーションエンジン235を制御して、取得済みの連動アプリケーションを即時に起動する。なお、AITに記述された制御コマンドには、「Auto Start」が指定されている。
ステップS241の起動処理によって、連動アプリケーションの実行が開始される。ステップS242において、イベント判定部254は、実行中の連動アプリケーションの終了が指示されたか否かを判定する。
ステップS242において、実行中の連動アプリケーションの終了が指示されたと判定された場合、処理は、ステップS244に進められる。ステップS244において、アプリケーション制御部255は、イベント判定部254による判定結果に従い、実行中の連動アプリケーションを終了させる。
また、ステップS242において、実行中の連動アプリケーションの終了が指示されていないと判定された場合、処理は、ステップS243に進められる。ステップS243において、イベント判定部254は、視聴中の放送番組のチャンネルが切り替えられたか否かを判定する。
ステップS243において、チャンネルが切り替えられたと判定された場合、処理は、ステップS244に進められ、実行中の連動アプリケーションが終了される。
また、ステップS243において、チャンネルが切り替えられていないと判定された場合、処理は、ステップS245に進められる。
ステップS245において、イベント判定部254及びアプリケーション制御部255は、継続範囲情報対応処理を実行する。この継続範囲情報対応処理においては、指定された継続範囲情報に従い、実行中の連動アプリケーションを終了させるための処理が行われる。なお、継続範囲情報対応処理の詳細については、図27のフローチャートを参照して後述する。
ステップS244又はS245の処理が終了すると、処理は、ステップS231に戻り、それ以降の処理が実行される。
以上で、データ放送対応処理の説明を終了する。
(継続範囲情報対応処理)
次に、図27のフローチャートを参照して、図26のステップS245に対応する継続範囲情報対応処理について説明する。
ステップS271において、イベント判定部254は、図26のステップS239の処理によって継続範囲情報保持部253に保持されている継続範囲情報の指定内容として、タイプ1(プログラム(1:program))が指定されているか否かを判定する。
ステップS271において、タイプ1が指定されていると判定された場合、処理は、ステップS272に進められる。ステップS272において、イベント判定部254は、SIセクションにより送信されるEIT pに含まれるevent_idの値を常に監視し、event_idの値が変化したか否かを判定する。
ステップS272において、event_idの値が変化したと判定された場合、処理は、ステップS273に進められる。ステップS273において、アプリケーション制御部255は、アプリケーションエンジン235を制御して、対象となる連動アプリケーションが終了させる。一方、ステップS272において、event_idの値が変化していないと判定された場合、処理は、図26のステップS242に戻り、それ以降の処理が繰り返される。
また、ステップS271において、タイプ1が指定されていないと判定された場合、処理は、ステップS274に進められる。ステップS274において、イベント判定部254は、継続範囲情報保持部253に保持されている継続範囲情報の指定内容として、タイプ2(データイベント(2:data_event))が指定されているか否かを判定する。
ステップS274において、タイプ2が指定されていると判定された場合、処理は、ステップS275に進められる。ステップS275において、イベント判定部254は、データカルーセル伝送のDSM-CCセクションにより送信されるDIIに含まれるdata_event_idの値を常に監視し、data_event_idの値が変化したか否かを判定する。
ステップS275において、data_event_idの値が変化したと判定された場合、処理は、ステップS273に進められ、アプリケーション制御部255によって対象となる連動アプリケーションが終了される。一方、ステップS275において、data_event_idの値が変化していないと判定された場合、処理は、図26のステップS242に戻り、それ以降の処理が繰り返される。
また、ステップS274において、タイプ2が指定されていないと判定された場合、処理は、ステップS276に進められる。ステップS276において、イベント判定部254は、継続範囲情報保持部253に保持されている継続範囲情報の指定内容としてタイプ3(アプリケーション強制終了(3:quit_signal))が指定されているか否かを判定する。
ステップS276において、タイプ3が指定されていると判定された場合、処理は、ステップS277に進められる。ステップS277において、イベント判定部254は、データカルーセル伝送のDSM-CCセクションにより送信されるDIIのプライベートデータ領域を常に監視し、アプリケーション強制終了信号が検出されたか否かを判定する。
ステップS277において、アプリケーション強制終了信号が検出されたと判定された場合、処理は、ステップS273に進められ、アプリケーション制御部255によって対象となる連動アプリケーションが終了される。一方、ステップS277において、アプリケーション強制終了信号が検出されていないと判定された場合、処理は、図26のステップS242に戻り、それ以降の処理が繰り返される。
また、ステップS276において、タイプ3が指定されていないと判定された場合、処理は、ステップS278に進められる。ステップS278において、イベント判定部254は、継続範囲情報保持部253に保持されている継続範囲情報の指定内容としてタイプ3変形方式(アプリケーション強制終了(3:quit_signal))が指定されているか否かを判定する。なお、タイプ3とタイプ3変形方式では、継続範囲情報として、アプリケーション強制終了を示すapp_time_scope=”3”が共に指定されるが、タイプ3変形方式には、termination_flag_tagがさらに指定されるので、例えば、その違いによりタイプを区別することができる。
ステップS278において、タイプ3変形方式が指定されていると判定された場合、処理は、ステップS279に進められる。ステップS279において、イベント判定部254は、データカルーセル伝送のDSM-CCセクションにより送信されるDIIのプライベートデータ領域を常に監視し、連動アプリケーションごとのアプリケーション強制終了信号として、実行中の連動アプリケーションに対するアプリケーション強制終了信号が検出されたか否かを判定する。
ステップS279において、実行中の連動アプリケーションに対するアプリケーション強制終了信号が検出されたと判定された場合、処理は、ステップS273に進められ、アプリケーション制御部255によって、アプリケーション強制終了信号の対象となる連動アプリケーションが終了される。一方、ステップS279において、実行中の連動アプリケーションに対するアプリケーション強制終了信号が検出されていないと判定された場合、処理は、図26のステップS242に戻り、それ以降の処理が繰り返される。
また、ステップS278において、タイプ3変形方式が指定されていないと判定された場合、処理は、ステップS280に進められる。ステップS280において、イベント判定部254は、継続範囲情報保持部253に保持されている継続範囲情報の指定内容としてタイプ4(アプリケーションイベント(4:app_event))が指定されているか否かを判定する。
ステップS280において、タイプ4が指定されていると判定された場合、処理は、ステップS281に進められる。ステップS281において、イベント判定部254は、データカルーセル伝送のDSM-CCセクションにより送信されるDIIのプライベートデータ領域を常に監視し、app_event_idの値が変化したか否かを判定する。
ステップS281において、app_event_idの値が変化したと判定された場合、処理は、ステップS273に進められ、アプリケーション制御部255によって対象となる連動アプリケーションが終了される。一方、ステップS281において、app_event_idの値が変化していないと判定された場合、処理は、図26のステップS242に戻り、それ以降の処理が繰り返される。
また、ステップS280において、タイプ4が指定されていないと判定された場合、継続範囲情報が指定されていないので、処理は、図26のステップS242に戻り、それ以降の処理が繰り返される。
そして、ステップS273の処理が終了すると、処理は、図26のステップS245に戻り、それ以降の処理が繰り返される。
以上で、継続範囲情報対応処理の説明を終了する。
なお、図27のステップS272,S275,S277,S279,S281におけるタイプごとのイベントの判定条件は一例であり、連動アプリケーションの動作の継続範囲を特定可能なイベントを判定できる条件であれば、他の判定条件を用いるようにしてもよい。
(画面遷移の例)
図28は、受信装置20において、図26のデータ放送対応処理が実行された場合の画面遷移の具体的な例を示す図である。
図28に示すように、受信装置20において、リモートコントローラ20R等の操作によって、所定のチャンネルが選局されると、ディスプレイ222には、所定の放送番組の映像P1が表示された状態となる。また、データ放送の受信も自動で開始され、BMLブラウザが、BML文書からなるデータ放送アプリケーションに対する処理を開始する。このとき、放送番組の映像P2が表示された状態となるが、データ放送アプリケーションの映像は非表示となる。
ここで、リモートコントローラ20Rのdボタンが操作された場合、データ放送アプリケーションの映像(図中の「BML表示」)が、放送番組の映像P3に対して分離型配置で表示された状態となる。なお、放送番組や特定のシーンの切り替えなどによる所定のイベントが発生した場合、それらのイベントに応じて、データ放送アプリケーションの表示内容が更新される(図中のC1)。また、データ放送アプリケーションが表示されている状態で、dボタンが再度操作されると、データ放送アプリケーションの表示が終了され、放送番組の映像P2のみが表示されている状態に戻る。
また、放送番組の映像P3に対してデータ放送アプリケーションの映像が表示されている状態で、所定の終了操作などが行われた場合、実行中のデータ放送アプリケーションは終了し、放送番組の映像P1のみが表示されている状態に戻る。
放送番組の映像P2が表示されている状態で、連動アプリケーションの自動起動が設定されている場合、BMLブラウザが、HTML文書からなる連動アプリケーションを自動起動させる。このとき、放送番組の映像P4が表示された状態となるが、HTMLブラウザによって実行される、連動アプリケーションの映像は非表示となる。
なお、連動アプリケーションの自動起動の際には、受信装置20が連動アプリケーションを実行可能な機能を有しているかなどが判定され、それらの条件を満たした場合にのみ、連動アプリケーションが自動起動される。また、上述したように、連動アプリケーションは、放送ストリームから取得され、起動される。
放送番組の映像P4が表示されている状態で、連動アプリケーションの自動終了が設定されている場合、又は、所定の終了操作が行われた場合、連動アプリケーションは終了する。これにより、放送番組の映像P1のみが表示されている状態に戻る。
また、放送番組の映像P4が表示されている状態で、dボタン操作が行われた場合、連動アプリケーションの映像(図中の「HTML表示」)が、放送番組の映像P5に対してオーバーレイ型配置で表示された状態となる。さらに、特定のシーンの切り替えなどの所定のイベントが発生した場合、それらのイベントに応じて、連動アプリケーションの表示内容が更新される(図中のC2)。
そして、放送番組の映像P5に対して連動アプリケーションの映像が表示されている状態で、連動アプリケーションの終了を指示する所定のイベントが発生した場合、実行中の連動アプリケーションは終了する。具体的には、AITに継続範囲情報が指定されていない場合において、実行中の連動アプリケーションの終了が指示されたときなどに、実行中の連動アプリケーションは終了する。
また、継続範囲情報としてプログラムが指定されている場合において、event_idの値が変化したとき、あるいは、継続範囲情報としてデータイベントが指定されている場合において、data_event_idの値が変化したときに、実行中の連動アプリケーションが自動終了する。さらに、継続範囲情報としてアプリケーション強制終了が指定されている場合において、アプリケーション強制終了信号が検出されたとき、あるいは、継続範囲情報としてアプリケーションイベントが指定されている場合において、app_event_idの値が変化したときなどに、実行中の連動アプリケーションが自動終了する。これにより、連動アプリケーションが終了し、放送番組の映像P1のみが表示されている状態に戻る。
また、放送番組の映像P3と、データ放送アプリケーションの映像(図中の「BML表示」)が表示されている状態で、自動起動が設定されている場合、又は、所定の起動操作が行われた場合、連動アプリケーションの映像(図中の「HTML表示」)が、放送番組の映像P5に対してオーバーレイ型配置で表示された状態となる。また、その逆に、連動アプリケーションの映像が重畳された放送番組の映像P5から、データ放送アプリケーションの映像が重畳された放送番組の映像P3に遷移させることもできる。
以上、受信装置20における画面遷移の具体例について説明した。
<第2の実施の形態>
<放送通信連携システムの構成例>
図29は、放送通信連携システム2の構成例を示している。この放送通信連携システム2は、送信装置10、受信装置20、AITサーバ30、及び、アプリケーションサーバ40から構成される。
すなわち、放送通信連携システム2は、図1の放送通信連携システム1と比較すると、AITサーバ30及びアプリケーションサーバ40がさらに設けられている点で異なる。放送通信連携システム2においては、送信装置10の代わりに、AITサーバ30がAITを提供し、アプリケーションサーバ40が連動アプリケーションを提供する。
AITサーバ30は、受信装置20からの要求に応じて、AITを、インターネット90を介して受信装置20に提供する。また、アプリケーションサーバ40は、受信装置20からの要求に応じて、連動アプリケーションを、インターネット90を介して受信装置20に提供する。
受信装置20は、インターネット90を介してAITサーバ30にアクセスして、AITを取得する。
具体的には、受信装置20においては、通信I/F225が、制御部234からの制御に従い、インターネット90を介してAITサーバ30にアクセスし、AITを要求する。通信I/F225は、AITサーバ30から提供されるAITを受信し、制御部234に供給する。そして、制御部234は、通信I/F225から供給されるAITに基づいて、アプリケーションエンジン235を制御する。
受信装置20は、AITに基づいて、例えば、即時に自動実行するように設定された連動アプリケーションを、アプリケーションサーバ40から取得して即時に実行する。
具体的には、通信I/F225は、アプリケーションエンジン235からの制御に従い、インターネット90を介してアプリケーションサーバ40にアクセスし、連動アプリケーションを要求する。通信I/F225は、アプリケーションサーバ40から提供される連動アプリケーションを受信し、メモリ236に記憶させる。そして、アプリケーションエンジン235は、制御部234からの制御に従い、メモリ236に記憶された連動アプリケーションを起動して、その動作を制御する。
なお、AITサーバ30とアプリケーションサーバ40は、放送事業者などにより管理される。また、図29の例では、1台のAITサーバ30と、1台のアプリケーションサーバ40を図示しているが、実際には、放送事業者ごとに、複数台のAITサーバ30やアプリケーションサーバ40が設けられる。受信装置20は、AITなどにより指定される情報に応じて、それらのサーバのいずれかにアクセスすることになる。
放送通信連携システム2は、以上のように構成される。
<AITサーバの詳細>
(AITサーバの構成例)
図30は、図29のAITサーバ30の構成例を示している。
AITサーバ30は、制御部311、AIT生成部312、記録部313、及び、通信I/F314から構成される。
制御部311は、AITサーバ30の各部の動作を制御する。
AIT生成部312は、制御部311からの制御に従い、AITを生成し、記録部313に記録する。
制御部311は、受信装置20からAITが要求された場合、記録部313からAITを読み出して取得する。
通信I/F314は、制御部311からの制御に従い、AITを、インターネット90を介して、受信装置20に送信する。
AITサーバ30は、以上のように構成される。
(AITの配信処理)
次に、図31のフローチャートを参照して、図29のAITサーバ30が実行するAIT配信処理について説明する。
ステップS311において、AIT生成部312は、制御部311からの制御に従い、AITを生成する。ステップS312において、AIT生成部312は、制御部311からの制御に従い、生成されたAITを、記録部313に記録する。
ステップS313において、制御部311は、通信I/F314を監視することで、受信装置20からAITが要求されたか否かを判定する。ステップS313においては、受信装置20からの要求を待って、処理は、ステップS314に進められる。
ステップS314において、制御部311は、受信装置20からの要求に応じたAITを、記録部313から取得する。ステップS315において、通信I/F314は、制御部311からの制御に従い、取得されたAITを、インターネット90を介して受信装置20に送信する。
ステップS315の送信処理が終了すると、処理はステップS316に進められる。ステップS316において、制御部311は、新たにAITを生成するか否かを判定する。
ステップS316において、新たにAITを生成すると判定された場合、処理はステップS311に戻り、ステップS311,S312の処理が再度実行されることで、AIT生成部312によって、新たなAITが生成され、記録部313に記録される。
一方、ステップS316において、新たなAITを生成しないと判定された場合、処理は、ステップS313に戻り、それ以降の処理が繰り返される。この場合、受信装置20からの要求に応じて、AITが配信されることになる。
以上で、AITの配信処理の説明を終了する。
<第3の実施の形態>
<放送通信連携システムの構成例>
図32は、放送通信連携システム3の構成例を示している。この放送通信連携システム3は、送信装置10、受信装置20、及び、アプリケーションサーバ40から構成される。
すなわち、放送通信連携システム3は、図29の放送通信連携システム2と比較すると、AITサーバ30が構成から外されている点で異なる。放送通信連携システム3においては、図1の放送通信連携システム1と同様に、AITサーバ30の代わりに、送信装置10が、AITに相当する情報を、放送信号に含めて送信する。
具体的には、送信装置10は、AITを生成し、データカルーセル伝送によって例えばXML形式文書のファイルとして送信する。この場合、AITは、データ放送アプリケーション等とともに送出されることになる。なお、AITは、AITセクションストリームによって、バイナリデータとして送信するなど、他の送信方法により送信するようにしてもよい。
受信装置20は、データカルーセル伝送又はAITセクションストリーム等によって送信されるAITを取得する。受信装置20は、取得されたAITに基づいて、例えば、即時に自動実行するように設定された連動アプリケーションを、アプリケーションサーバ40から取得して即時に実行する。
放送通信連携システム3は、以上のように構成される。
<放送波を用いたAITの送出>
(データカルーセル伝送された文書とAITの取得方法)
図33は、データカルーセル伝送により送信される文書とAITの取得方法を説明するための図である。
図33に示すように、データ放送エンジン220がBMLブラウザを制御して、データ放送アプリケーションを実行する場合、データ放送処理部216(図3)に対して、モジュールIDとして“0”が指定されたDDBメッセージが取得されるようにフィルタ設定が行われる。
すなわち、最初に表示すべきBML起動文書は、モジュールIDが“0”となるモジュールにより送信されるため、データ放送アプリケーションの起動時には、“0”であるモジュールIDのモジュールを再構築する必要があり、このようなモジュールフィルタ設定が行われる。なお、“0”であるモジュールIDは、DIIメッセージ又はあらかじめ設定された情報により指定される。
これにより、BML起動文書が復元されるが、BML起動文書の映像は非表示となる。また、リモートコントローラ20Rのdボタンが操作された場合、BMLトップ表示文書が復元され、BMLブラウザによって、データ放送アプリケーションのトップページが表示される。その後、他のBML文書に遷移される場合には同様にして、遷移先のBML文書を送信するモジュールIDのモジュールが取得されるようにモジュールフィルタ設定が行われ、該当するモジュールIDのモジュールが取得されて、遷移先のBML文書が復元されることになる。これにより、ディスプレイ222には、データ放送アプリケーションの映像が順次表示されることになる。
一方、連動アプリケーションの自動起動が設定されている場合には、BML起動文書に記述されたプログラムによって連動アプリケーションの起動判定処理が行われる。すなわち、受信装置20が連動アプリケーションを実行可能な機能を有しているかどうかなどが判定され、それらの条件を満たした場合にのみ、連動アプリケーションが自動起動される。
起動判定処理によって連動アプリケーションが起動可能であると判定された場合、データカルーセル伝送によって送信されるAITが取得される。また、HTML起動文書が復元されるが、HTML起動文書の映像は非表示となる。そして、リモートコントローラ20Rのdボタンが操作された場合、AITの解析結果に従い、アプリケーションサーバ40にアクセスし、HTMLトップ表示文書が取得される。これにより、HTMLブラウザによって、連動アプリケーションのトップページが表示される。その後、他のHTML文書に遷移される場合には同様にして、アプリケーションサーバ40からHTML文書が取得されることになる。
以上、データカルーセル伝送により送信される文書とAITの取得方法について説明した。
(AITと連動アプリケーションの取得方法)
図34は、AITと連動アプリケーションの取得方法について説明する図である。
図34において、破線は、基本的に、第1の実施の形態におけるAITと連動アプリケーションの取得の流れを示し、実線は、第2の実施の形態におけるAITと連動アプリケーションの取得の流れを示している。
第1の実施の形態では、受信装置20は、データカルーセル伝送により送信されるBML文書を取得することで、データ放送アプリケーションを実行する(S910)。また、受信装置20は、放送信号を常に監視することで(S911)、データカルーセル伝送によって送信されるAITを取得する(S912)。そして、受信装置20は、AITの解析結果に従い、データカルーセル伝送によって送信される、HTML文書からなる連動アプリケーションを取得する(S913,S914)。
また、第2の実施の形態では、受信装置20は、データカルーセル伝送により送信されるBML文書を取得することで、データ放送アプリケーションを実行する(S910)。また、受信装置20は、AITサーバ30にアクセスすることで(S921)、AITを取得する(S922)。そして、受信装置20は、AITの解析結果に従い、アプリケーションサーバ40にアクセスすることで(S923)、HTML文書からなる連動アプリケーションを取得する(S924)。
また、第3の実施の形態では、受信装置20は、データカルーセル伝送により送信されるBML文書を取得することで、データ放送アプリケーションを実行する(S910)。また、受信装置20は、放送信号を常に監視することで(S911)、データカルーセル伝送によって送信されるAITを取得する(S912)。そして、受信装置20は、AITの解析結果に従い、アプリケーションサーバ40にアクセスすることで(S923)、HTML文書からなる連動アプリケーションを取得する(S924)。
以上、AITと連動アプリケーションの取得方法について説明した。
以上のように、本実施の形態においては、ハイブリッド型放送において、放送番組等のAVコンテンツに連動して実行される連動アプリケーションを提供することができる。また、受信装置20が、データ放送アプリケーションと、連動アプリケーションの双方を実行することができるので、データ放送とハイブリッド型放送を並存させる運用を容易に実現することができる。
また、従来、実行中の連動アプリケーションを終了させるためには、HTML文書に終了処理のプログラム(スクリプト)を記述するなどの対応が想定されていたが、その運用を実現するためには新たにプログラムを追加する必要がある。それに対して、本実施の形態では、EIT pに含まれるevent_idやDIIに含まれるdata_event_idなどの放送波により送出される既存の情報を利用することで、実行中の連動アプリケーションが、AITにより指定される継続範囲情報に応じて終了することから、HTML文書にプログラムを追加する必要がない。そのため、運用の際に、プログラムを追加する手間が省けるので、連動アプリケーションの終了制御を容易に実現することが可能となる。
また、上述したように、データ放送とハイブリッド型放送は、今後とも並存し、かつ使い分けられるものとなることが想定される。そのため、放送事業者は、放送番組に対してデータ放送とハイブリッド型放送の両方の機能を実現するための情報を付加する一方、受信機側でもデータ放送とハイブリッド型放送の両方の機能に対応する必要がでてくることが想定される。
このような状況においてハイブリッド型放送を運用する場合には、ユーザがデータ放送についても使用できるようにし、それらが使い分けられるような運用ができることが求められている。このような運用において、本技術を適用した放送通信連携システムを採用した場合、受信装置20では、データ放送アプリケーションと、連動アプリケーションの双方が実行可能とされることから、当該運用を容易に実現することが可能となる。
なお、上述の説明では、受信装置20は、テレビジョン受像機であるとして説明したが、それに限らず、例えば、パーソナルコンピュータや携帯端末装置、タブレット端末などの送信装置10から送信される放送信号を受信可能であって、インターネット90に接続されたサーバと通信可能な受信機であればよい。また、受信装置20は、例えば、ディスプレイやスピーカを有さない構成とすることで、その機能が、例えばビデオレコーダやセットトップボックス等の電子機器に内蔵されるようにしてもよい。
<本技術を適用したコンピュータの説明>
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図35は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータ900において、CPU(Central Processing Unit)901,ROM(Read Only Memory)902,RAM(Random Access Memory)903は、バス904により相互に接続されている。
バス904には、さらに、入出力インタフェース905が接続されている。入出力インタフェース905には、入力部906、出力部907、記録部908、通信部909、及びドライブ910が接続されている。
入力部906は、キーボード、マウス、マイクロフォンなどよりなる。出力部907は、ディスプレイ、スピーカなどよりなる。記録部908は、ハードディスクや不揮発性のメモリなどよりなる。通信部909は、ネットワークインタフェースなどよりなる。ドライブ910は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア911を駆動する。
以上のように構成されるコンピュータ900では、CPU901が、例えば、記録部908に記憶されているプログラムを、入出力インタフェース905及びバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ900(CPU901)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア911に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
コンピュータ900では、プログラムは、リムーバブルメディア911をドライブ910に装着することにより、入出力インタフェース905を介して、記録部908にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部909で受信し、記録部908にインストールすることができる。その他、プログラムは、ROM902や記録部908に、あらかじめインストールしておくことができる。
なお、コンピュータ900が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
ここで、本明細書において、コンピュータ900に各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
また、プログラムは、1のコンピュータにより処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
なお、本技術は、以下のような構成をとることができる。
(1)
AVコンテンツを受信する受信部と、
前記AVコンテンツと同時に実行されるアプリケーションプログラムの動作継続可能な時間軸上の範囲を特定するための継続範囲情報を取得する継続範囲情報取得部と、
前記継続範囲情報に基づいて、実行中の前記アプリケーションプログラムを終了させる制御部と
を備える受信装置。
(2)
前記AVコンテンツは、放送波により送信され、
前記継続範囲情報は、前記放送波により送信される所定の情報に含まれる、前記アプリケーションプログラムの動作の継続範囲を特定可能な所定のイベントを指定するための情報を含んでいる
(1)に記載の受信装置。
(3)
前記制御部は、指定された前記イベントとして、前記放送波により送信される前記アプリケーションプログラムの強制終了信号が検出された場合、実行中の前記アプリケーションプログラムを終了させる
(2)に記載の受信装置。
(4)
前記強制終了信号は、前記アプリケーションプログラムが複数実行されている場合に、実行中の前記アプリケーションプログラムごとに検出される
(3)に記載の受信装置。
(5)
前記制御部は、前記放送波によるデータカルーセル伝送で送信されるDII(Download Info Indication)に含まれる、前記アプリケーションプログラムごとの前記強制終了信号に関連付けられた実行中の前記アプリケーションプログラムを終了させる
(4)に記載の受信装置。
(6)
前記AVコンテンツは、放送番組であり、
前記制御部は、指定された前記イベントとして、前記放送番組の内容の変化が検出された場合、前記アプリケーションプログラムを終了させる
(2)に記載の受信装置。
(7)
前記制御部は、前記放送波により送信されるEIT(Event Information Table)に含まれるイベント識別子の値が更新された場合、実行中の前記アプリケーションプログラムを終了させる
(6)に記載の受信装置。
(8)
前記AVコンテンツは、放送番組であり、
前記制御部は、指定された前記イベントとして、前記放送番組と同時に実行されるデータ放送の内容の変化が検出された場合、前記アプリケーションプログラムを終了させる
(2)に記載の受信装置。
(9)
前記制御部は、前記放送波によるデータカルーセル伝送で送信されるDIIに含まれるデータ放送用のイベント識別子の値が更新された場合、実行中の前記アプリケーションプログラムを終了させる
(8)に記載の受信装置。
(10)
前記制御部は、指定された前記イベントとして、前記アプリケーションプログラムの内容の変化が検出された場合、前記アプリケーションプログラムを終了させる
(2)に記載の受信装置。
(11)
前記制御部は、前記放送波によるデータカルーセル伝送で送信されるDIIに含まれるアプリケーション用のイベント識別子の値が更新された場合、実行中の前記アプリケーションプログラムを終了させる
(10)に記載の受信装置。
(12)
前記制御部は、前記イベントが指定されていない場合に、実行中の前記アプリケーションプログラムの終了が指示されたとき、又は、前記AVコンテンツが切り替えられたとき、実行中の前記アプリケーションプログラムを終了させる
(2)に記載の受信装置。
(13)
前記継続範囲情報は、前記アプリケーションプログラムの動作を制御するための制御情報に含まれる
(1)乃至(12)のいずれか一項に記載の受信装置。
(14)
前記継続範囲情報は、前記アプリケーションプログラムを起動する関数の引数として指定される
(1)乃至(13)のいずれか一項に記載の受信装置。
(15)
前記継続範囲情報は、前記アプリケーションプログラムを起動する関数の引数であるURI(Uniform Resource Identifier)のパラメータとして指定される
(1)乃至(13)のいずれか一項に記載の受信装置。
(16)
受信装置の受信方法において、
前記む受信装置が、
AVコンテンツを受信し、
前記AVコンテンツと同時に実行されるアプリケーションプログラムの動作継続可能な時間軸上の範囲を特定するための継続範囲情報を取得し、
前記継続範囲情報に基づいて、実行中の前記アプリケーションプログラムを終了させる
ステップを含む受信方法。
(17)
コンピュータを、
AVコンテンツを受信する受信部と、
前記AVコンテンツと同時に実行されるアプリケーションプログラムの動作継続可能な時間軸上の範囲を特定するための継続範囲情報を取得する継続範囲情報取得部と、
前記継続範囲情報に基づいて、実行中の前記アプリケーションプログラムを終了させる制御部と
して機能させるためのプログラム。
(18)
AVコンテンツと同時に実行されるアプリケーションプログラムの動作継続可能な時間軸上の範囲を特定するための継続範囲情報を生成する生成部と、
前記継続範囲情報を送信する送信部と
を備える送信装置。
(19)
送信装置の送信方法において、
前記む送信装置が、
AVコンテンツと同時に実行されるアプリケーションプログラムの動作継続可能な時間軸上の範囲を特定するための継続範囲情報を生成し、
前記継続範囲情報を送信する
ステップを含む送信方法。
(20)
コンピュータを、
AVコンテンツと同時に実行されるアプリケーションプログラムの動作継続可能な時間軸上の範囲を特定するための継続範囲情報を生成する生成部と、
前記継続範囲情報を送信する送信部と
して機能させるためのプログラム。