(57)【要約】  本技術は、放送コンテンツに連動して実行されるアプリケーションプログラムを提供することができるようにする受信装置、受信方法、送信装置、及び送信方法に関する。トリガ情報抽出部は、放送コンテンツに連動して実行される連動アプリケーションであって、インターネットを介して配信される連動アプリケーションの動作を制御するためのコマンドを特定するためのトリガ情報を取得し、TPT解析部は、コマンドと、コマンドを特定するための情報とが対応付けられた対応テーブルを取得し、制御部は、取得されたトリガ情報及び対応テーブルによって特定されるコマンドに応じて、対象のアプリケーションプログラムと、それ以外の他のアプリケーションプログラムの動作を制御する。本技術は、例えば、デジタルテレビジョン放送信号を受信するテレビジョン受像機に適用することができる。
2014007146.tif 000002
【特許請求の範囲】
【請求項１】
放送コンテンツを受信する受信部と、
前記放送コンテンツに連動して実行されるアプリケーションプログラムであって、ネットワークを介して配信される前記アプリケーションプログラムの動作を制御するためのコマンドを特定するためのトリガ情報を取得するトリガ情報取得部と、
前記コマンドと、前記コマンドを特定するための情報とが対応付けられた対応テーブルを取得する対応テーブル取得部と、
前記トリガ情報及び前記対応テーブルによって特定される前記コマンドに応じて、対象のアプリケーションプログラムと、それ以外の他のアプリケーションプログラムの動作を制御する制御部と
を備える受信装置。
【請求項２】
前記コマンドは、前記対象のアプリケーションプログラムの動作を制御するためのものであって、前記他のアプリケーションプログラムの動作を制御するための付加情報が関連付けられており、
前記制御部は、前記コマンドに応じて、前記対象のアプリケーションプログラムの動作を制御するとともに、前記付加情報に応じて、前記他のアプリケーションプログラムの動作を制御する
請求項１に記載の受信装置。
【請求項３】
前記コマンドは、前記対象のアプリケーションプログラムを起動させるものであって、前記他のアプリケーションプログラムの終了、休止、又は非表示を指示するための付加情報と関連付けられている
請求項２に記載の受信装置。
【請求項４】
前記コマンドには、実行中の前記対象のアプリケーションプログラムのイベント発火を指示するための付加情報がさらに関連付けられている
請求項３に記載の受信装置。
【請求項５】
前記コマンドは、前記対象のアプリケーションプログラムと、前記他のアプリケーションプログラムの双方の動作を制御するためのものであり、
前記制御部は、前記コマンドに応じて、前記対象のアプリケーションプログラムと、前記他のアプリケーションプログラムの双方の動作を制御する
請求項１に記載の受信装置。
【請求項６】
前記コマンドは、前記対象のアプリケーションプログラムの起動と、前記他のアプリケーションプログラムの終了、休止、又は非表示を制御するためのものである
請求項５に記載の受信装置。
【請求項７】
前記コマンドには、実行中の前記対象のアプリケーションプログラムのイベント発火を指示するための付加情報が関連付けられている
請求項６に記載の受信装置。
【請求項８】
前記トリガ情報は、前記放送コンテンツとともに送信され、
前記トリガ情報取得部は、前記放送コンテンツのデータからトリガ情報を抽出する
請求項１に記載の受信装置。
【請求項９】
前記放送コンテンツのデータから特徴量を抽出する特徴量抽出部をさらに備え、
前記トリガ情報取得部は、前記特徴量を用いて識別された前記放送コンテンツの識別結果に対応する前記トリガ情報を取得する
請求項１に記載の受信装置。
【請求項１０】
前記対応テーブルには、前記コマンドと、前記コマンドの有効期間とが対応付けられており、
前記制御部は、前記トリガ情報に基づき計時される前記放送コンテンツの進行を示す時刻が、前記有効期間に基づいた所定の有効条件を満たした場合に、その有効期間に対応付けられたコマンドに応じて、前記対象のアプリケーションプログラムと、前記他のアプリケーションプログラムの動作を制御する
請求項１に記載の受信装置。
【請求項１１】
前記対応テーブルには、前記コマンドの識別子がさらに対応付けられており、
前記制御部は、前記トリガ情報から得られる前記コマンドの識別子と、前記対応テーブルにて対応付けられた前記コマンドの識別子が一致する場合、その識別子に対応付けられたコマンドに応じて、前記対象のアプリケーションプログラムと、前記他のアプリケーションプログラムの動作を制御する
請求項１０に記載の受信装置。
【請求項１２】
受信装置の受信方法において、
前記受信装置が、
放送コンテンツを受信し、
前記放送コンテンツに連動して実行されるアプリケーションプログラムであって、ネットワークを介して配信される前記アプリケーションプログラムの動作を制御するためのコマンドを特定するためのトリガ情報を取得し、
前記コマンドと、前記コマンドを特定するための情報とが対応付けられた対応テーブルを取得し、
前記トリガ情報及び前記対応テーブルによって特定される前記コマンドに応じて、対象のアプリケーションプログラムと、それ以外の他のアプリケーションプログラムの動作を制御する
ステップを含む受信方法。
【請求項１３】
前記放送コンテンツに連動して実行されるアプリケーションプログラムであって、ネットワークを介して配信される複数の前記アプリケーションプログラムの動作を同時に制御するためのコマンドを特定するためのトリガ情報を生成するトリガ情報生成部と、
前記トリガ情報を、放送コンテンツとともに送信する送信部と
を備える送信装置。
【請求項１４】
送信装置の送信方法において、
前記送信装置が、
前記放送コンテンツに連動して実行されるアプリケーションプログラムであって、ネットワークを介して配信される複数の前記アプリケーションプログラムの動作を同時に制御するためのコマンドを特定するためのトリガ情報を生成し、
前記トリガ情報を、放送コンテンツとともに送信する
ステップを含む送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、受信装置、受信方法、送信装置、及び送信方法に関し、特に、放送コンテンツに連動して実行されるアプリケーションプログラムを提供することができるようにした受信装置、受信方法、送信装置、及び送信方法に関する。
【背景技術】
【０００２】
デジタルテレビジョン放送信号によって放送される放送コンテンツを受信する受信装置において、当該放送コンテンツと連動して実行されるアプリケーションプログラムを、インターネットを介して提供するための放送と通信のハイブリッドサービスが普及することが予想される。【０００３】
そのため、近年、このようなハイブリッドサービスを実現するための技術の検討が行われている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−６６５５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、受信装置が、デジタルテレビジョン放送信号を直接受信しないで、CATV網や衛星通信網などの放送伝送路を介して受信する場合がある。このような場合に、ハイブリッドサービスを実現するためには、当該ハイブリッドサービスに関する情報を、放送伝送路及び専用端末等を介して受信装置に通知する必要がある。【０００６】
その際、放送伝送路の設備や専用端末の改修が必要となるほか、中継を行う放送事業者の許諾を得なければならないため、そのような作業を伴うことなく、放送コンテンツに連動して実行されるアプリケーションプログラムを提供できるようにすることが求められている。【０００７】
しかしながら、現状では、放送コンテンツに連動して実行されるアプリケーションプログラムを提供するための技術方式は確立されていない。【０００８】
本技術はこのような状況に鑑みてなされたものであり、放送コンテンツに連動して実行されるアプリケーションプログラムを提供することができるようにするものである。
【課題を解決するための手段】
【０００９】
本技術の第１の側面の受信装置は、放送コンテンツを受信する受信部と、前記放送コンテンツに連動して実行されるアプリケーションプログラムであって、ネットワークを介して配信される前記アプリケーションプログラムの動作を制御するためのコマンドを特定するためのトリガ情報を取得するトリガ情報取得部と、前記コマンドと、前記コマンドを特定するための情報とが対応付けられた対応テーブルを取得する対応テーブル取得部と、前記トリガ情報及び前記対応テーブルによって特定される前記コマンドに応じて、対象のアプリケーションプログラムと、それ以外の他のアプリケーションプログラムの動作を制御する制御部とを備える。【００１０】
前記コマンドは、前記対象のアプリケーションプログラムの動作を制御するためのものであって、前記他のアプリケーションプログラムの動作を制御するための付加情報が関連付けられており、前記制御部は、前記コマンドに応じて、前記対象のアプリケーションプログラムの動作を制御するとともに、前記付加情報に応じて、前記他のアプリケーションプログラムの動作を制御する。【００１１】
前記コマンドは、前記対象のアプリケーションプログラムを起動させるものであって、前記他のアプリケーションプログラムの終了、休止、又は非表示を指示するための付加情報と関連付けられている。【００１２】
前記コマンドには、実行中の前記対象のアプリケーションプログラムのイベント発火を指示するための付加情報がさらに関連付けられている。【００１３】
前記コマンドは、前記対象のアプリケーションプログラムと、前記他のアプリケーションプログラムの双方の動作を制御するためのものであり、前記制御部は、前記コマンドに応じて、前記対象のアプリケーションプログラムと、前記他のアプリケーションプログラムの双方の動作を制御する。【００１４】
前記コマンドは、前記対象のアプリケーションプログラムの起動と、前記他のアプリケーションプログラムの終了、休止、又は非表示を制御するためのものである。【００１５】
前記コマンドには、実行中の前記対象のアプリケーションプログラムのイベント発火を指示するための付加情報が関連付けられている。【００１６】
前記トリガ情報は、前記放送コンテンツとともに送信され、前記トリガ情報取得部は、前記放送コンテンツのデータからトリガ情報を抽出する。【００１７】
前記放送コンテンツのデータから特徴量を抽出する特徴量抽出部をさらに備え、前記トリガ情報取得部は、前記特徴量を用いて識別された前記放送コンテンツの識別結果に対応する前記トリガ情報を取得する。【００１８】
前記対応テーブルには、前記コマンドと、前記コマンドの有効期間とが対応付けられており、前記制御部は、前記トリガ情報に基づき計時される前記放送コンテンツの進行を示す時刻が、前記有効期間に基づいた所定の有効条件を満たした場合に、その有効期間に対応付けられたコマンドに応じて、前記対象のアプリケーションプログラムと、前記他のアプリケーションプログラムの動作を制御する。【００１９】
前記対応テーブルには、前記コマンドの識別子がさらに対応付けられており、前記制御部は、前記トリガ情報から得られる前記コマンドの識別子と、前記対応テーブルにて対応付けられた前記コマンドの識別子が一致する場合、その識別子に対応付けられたコマンドに応じて、前記対象のアプリケーションプログラムと、前記他のアプリケーションプログラムの動作を制御する。【００２０】
受信装置は、独立した装置であってもよいし、１つの装置を構成している内部ブロックであってもよい。【００２１】
本技術の第１の側面の受信方法は、本技術の第１の側面の受信装置に対応する受信方法である。【００２２】
本技術の第１の側面の受信装置及び受信方法においては、放送コンテンツが受信され、前記放送コンテンツに連動して実行されるアプリケーションプログラムであって、ネットワークを介して配信される前記アプリケーションプログラムの動作を制御するためのコマンドを特定するためのトリガ情報が取得され、前記コマンドと、前記コマンドを特定するための情報とが対応付けられた対応テーブルが取得され、前記トリガ情報及び前記対応テーブルによって特定される前記コマンドに応じて、対象のアプリケーションプログラムと、それ以外の他のアプリケーションプログラムの動作が制御される。【００２３】
本技術の第２の側面の送信装置は、前記放送コンテンツに連動して実行されるアプリケーションプログラムであって、ネットワークを介して配信される複数の前記アプリケーションプログラムの動作を同時に制御するためのコマンドを特定するためのトリガ情報を生成するトリガ情報生成部と、前記トリガ情報を、放送コンテンツとともに送信する送信部とを備える。【００２４】
送信装置は、独立した装置であってもよいし、１つの装置を構成している内部ブロックであってもよい。【００２５】
本技術の第２の側面の送信方法は、本技術の第２の側面の送信装置に対応する送信方法である。【００２６】
本技術の第２の側面の送信装置及び送信方法においては、前記放送コンテンツに連動して実行されるアプリケーションプログラムであって、ネットワークを介して配信される複数の前記アプリケーションプログラムの動作を同時に制御するためのコマンドを特定するためのトリガ情報が生成され、前記トリガ情報が、放送コンテンツとともに送信される。
【発明の効果】
【００２７】
本技術の第１の側面及び第２の側面によれば、放送コンテンツに連動して実行されるアプリケーションプログラムを提供することができる。
【図面の簡単な説明】
【００２８】
【図１】放送通信連携システムの構成例を示す図である。
【図２】送信装置の構成例を示す図である。
【図３】受信装置の構成例を示す図である。
【図４】TPTサーバ等の構成例を示す図である。
【図５】放送通信連携システムを構成する各装置の動作を説明する図である。
【図６】トリガ情報をビデオ信号に埋め込む例を示す図である。
【図７】トリガ情報をＴＳのPCRパケットに含めて送信する概念を示す図である。
【図８】PCRパケットにおけるトリガ情報の具体的な配置を示す図である。
【図９】トリガ情報の詳細仕様の一例を示す図である。
【図１０】トリガ情報の記述例を示す図である。
【図１１】TPTの詳細仕様１の一例を示す図である。
【図１２】TPTの記述例１を示す図である。
【図１３】TPTの詳細仕様２の一例を示す図である。
【図１４】TPTの記述例２を示す図である。
【図１５】トリガ情報とコマンドの対応関係の例を示す図である。
【図１６】連動アプリケーションの状態遷移を示す図である。
【図１７】各コマンドと状態遷移の関係を示す図である。
【図１８】動作シナリオ１の例を示す図である。
【図１９】動作シナリオ２の例を示す図である。
【図２０】トリガ情報とコマンドの対応関係の例を示す図である。
【図２１】送信処理を説明するフローチャートである。
【図２２】受信処理を説明するフローチャートである。
【図２３】トリガ情報対応処理を説明するフローチャートである。
【図２４】第１の連動アプリケーション制御処理を説明するフローチャートである。
【図２５】付加情報対応処理を説明するフローチャートである。
【図２６】第２の連動アプリケーション制御処理を説明するフローチャートである。
【図２７】複合コマンド対応処理を説明するフローチャートである。
【図２８】ライブパターンのトリガ情報対応処理を説明するフローチャートである。
【図２９】放送通信連携システムの構成例を示す図である。
【図３０】受信装置の構成例を示す図である。
【図３１】放送通信連携システムを構成する各装置の動作を説明する図である。
【図３２】ACR技術の概念を説明する図である。
【図３３】トリガ情報とコマンドの対応関係の例を示す図である。
【図３４】放送通信連携システムの構成例を示す図である。
【図３５】トリガ情報とコマンドの対応関係の例を示す図である。
【図３６】ACR識別結果に応じたトリガ情報対応処理を説明するフローチャートである。
【図３７】ライブパターンのACR識別結果に応じたトリガ情報対応処理を説明するフローチャートである。
【図３８】トリガ情報とコマンドの対応関係の例を示す図である。
【図３９】配信システムの構成例を示す図である。
【図４０】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００２９】
以下、図面を参照しながら本技術の実施の形態について説明する。
【００３０】
＜第１の実施の形態＞
［放送通信連携システムの構成例］
図１は、第１の実施の形態である放送通信連携システム１を示している。この放送通信連携システム１は、送信装置１０、受信装置２０、TPTサーバ３０、及びアプリケーションサーバ４０から構成される。また、受信装置２０、TPTサーバ３０、及びアプリケーションサーバ４０は、インターネット９０を介して、相互に接続されている。
【００３１】
送信装置１０は、テレビ番組やＣＭ等の放送コンテンツを、デジタルテレビジョン放送信号（以下、単に放送信号という）により送信するようになされている。送信装置１０は、放送事業者により提供され、例えば、その放送局内に配置される。
【００３２】
また、送信装置１０は、放送コンテンツに連動して実行される連動アプリケーションの動作を制御するためのコマンドを特定するためのトリガ情報を、放送信号に含めて送信する。ここで、連動アプリケーションとは、放送コンテンツに連動して実行されるアプリケーションプログラムであって、インターネット９０を介して配信されるものである。
【００３３】
トリガ情報は、放送コンテンツのビデオ信号又はオーディオ信号に挿入するか、あるいは、放送信号のトランスポートストリーム（Transport Stream、以下、ＴＳという）内に配置することで送信される。なお、トリガ情報の詳細については、図６乃至図１０を参照して後述する。
【００３４】
受信装置２０は、送信装置１０から送信された放送信号を受信して、放送コンテンツの映像及び音声を取得する。受信装置２０は、取得した映像をディスプレイに表示し、音声をスピーカから出力する。
【００３５】
なお、以下、受信装置２０は、テレビジョン受像機であるとして説明するが、ディスプレイやスピーカを有さない構成とすることで、ビデオレコーダ等の電子機器に内蔵されるようにしてもよい。受信装置２０の詳細な構成は、図３を参照して後述する。
【００３６】
また、受信装置２０は、送信装置１０からのトリガ情報に応じて、インターネット９０を介してTPTサーバ３０にアクセスして、TPTを取得する。
【００３７】
TPTサーバ３０は、TPTを管理する。ここで、TPT（Trigger Parameters Table）は、連動アプリケーションの動作を制御するためのコマンドと、当該コマンドの有効期間や有効時刻等のコマンドを特定するための情報とを対応付けた対応テーブルである。コマンドの有効期間や有効時刻は、放送コンテンツの進行にあわせて決定される。
【００３８】
TPTサーバ３０は、受信装置２０からの問い合わせに応じて、管理しているTPTを、インターネット９０を介して受信装置２０に提供する。なお、TPTサーバ３０は、放送コンテンツの制作事業者、放送事業者その他の事業者により提供される。
【００３９】
受信装置２０は、送信装置１０からのトリガ情報と、TPTサーバ３０から取得したTPTに基づいて、コマンドを特定する。そして、受信装置２０は、特定したコマンドに応じて、連動アプリケーションの動作を制御する。
【００４０】
また、受信装置２０は、特定したコマンドに応じて、インターネット９０を介してアプリケーションサーバ４０にアクセスし、連動アプリケーションを取得する。
【００４１】
アプリケーションサーバ４０は、連動アプリケーションを管理する。アプリケーションサーバ４０は、受信装置２０からの問い合わせに応じて、管理している連動アプリケーションを、インターネット９０を介して受信装置２０に提供する。なお、アプリケーションサーバ４０は、放送コンテンツの制作事業者、放送事業者その他の事業者により提供される。
【００４２】
放送通信連携システム１は、以上のように構成される。
【００４３】
［送信装置の構成例］
図２は、図１の送信装置１０の構成例を示している。
【００４４】
図２に示すように、送信装置１０は、映像取得部１１１、トリガ情報生成部１１２、ビデオエンコーダ１１３、音声取得部１１４、オーディオエンコーダ１１５、多重化部１１６、送信部１１７、及びアンテナ１１８から構成される。
【００４５】
映像取得部１１１は、外部のサーバ、カメラ、又は記録媒体等から、放送コンテンツのビデオ信号を取得し、トリガ情報生成部１１２及びビデオエンコーダ１１３に供給する。
【００４６】
トリガ情報生成部１１２は、映像取得部１１１から供給されるビデオ信号に対応する放送コンテンツの進行にあわせてトリガ情報を生成し、ビデオエンコーダ１１３又は多重化部１１６に供給する。
【００４７】
ビデオエンコーダ１１３は、映像取得部１１１から供給されるビデオ信号を、MPEG（Moving Picture Experts Group）等の符号化方式に準拠して符号化し、多重化部１１６に供給する。また、ビデオエンコーダ１１３は、符号化を行うに際して、ビデオ信号に、トリガ情報生成部１１２から供給されるトリガ情報を埋め込んで符号化することができる。
【００４８】
音声取得部１１４は、外部のサーバ、マイクロフォン、又は記録媒体等から、放送コンテンツのオーディオ信号を取得し、オーディオエンコーダ１１５に供給する。
【００４９】
オーディオエンコーダ１１５は、音声取得部１１４から供給されるオーディオ信号を、MPEG等の符号化方式に準拠して符号化し、多重化部１１６に供給する。
【００５０】
多重化部１１６には、トリガ情報生成部１１２からのトリガ情報、ビデオエンコーダ１１３からのビデオストリーム、オーディオエンコーダ１１５からのオーディオストリームが供給される。
【００５１】
多重化部１１６は、ビデオストリームと、オーディオストリームを多重化して、その結果得られるＴＳを、送信部１１７に供給する。また、多重化部１１６は、ビデオストリーム、オーディオストリーム、及びトリガ情報を多重化し、その結果得られるＴＳを、送信部１１７に供給することができる。
【００５２】
送信部１１７は、多重化部１１６から供給されるＴＳを、アンテナ１１８を介して、放送信号として送信する。
【００５３】
なお、図２の説明では、トリガ情報が、ビデオ信号に埋め込まれる場合と、ＴＳに多重化される場合について説明したが、例えば、トリガ情報をオーディオ信号に埋め込むなど、それ以外の方法によって、トリガ情報を配置するようにしてもよい。
【００５４】
送信装置１０は、以上のように構成される。
【００５５】
［受信装置の構成例］
図３は、図１の受信装置２０の構成例を示している。
【００５６】
図３に示すように、受信装置２０は、アンテナ２１１、チューナ２１２、多重分離部２１３、オーディオデコーダ２１４、オーディオ出力部２１５、スピーカ２１６、ビデオデコーダ２１７、ビデオ出力部２１８、ディスプレイ２１９、トリガ情報抽出部２２０、制御部２２１、メモリ２２２、操作部２２３、通信I/F２２４、TPT解析部２２５、アプリケーションエンジン２２６、キャッシュメモリ２２７、及びアプリケーション用メモリ２２８から構成される。
【００５７】
チューナ２１２は、アンテナ２１１を介して受信された放送信号を復調し、その結果得られるＴＳを多重分離部２１３に供給する。
【００５８】
多重分離部２１３は、チューナ２１２から供給されるＴＳを、オーディオストリームと、ビデオストリームに分離し、それぞれをオーディオデコーダ２１４と、ビデオデコーダ２１７に供給する。
【００５９】
オーディオデコーダ２１４は、多重分離部２１３から供給されるオーディオストリームを、オーディオエンコーダ１１５（図２）による符号化方式に対応する復号方式で復号し、その結果得られるオーディオ信号を、オーディオ出力部２１５に供給する。
【００６０】
オーディオ出力部２１５は、オーディオデコーダ２１４から供給されるオーディオ信号を、スピーカ２１６に供給する。スピーカ２１６は、オーディオ出力部２１５から供給されるオーディオ信号に対応する音声を出力する。
【００６１】
ビデオデコーダ２１７は、多重分離部２１３から供給されるビデオストリームを、ビデオエンコーダ１１３（図２）による符号化方式に対応する復号方式で復号し、その結果得られるビデオ信号を、ビデオ出力部２１８及びトリガ情報抽出部２２０に供給する。
【００６２】
ビデオ出力部２１８は、ビデオデコーダ２１７から供給されるビデオ信号を、ディスプレイ２１９に供給する。ディスプレイ２１９は、ビデオ出力部２１８から供給されるビデオ信号に対応する映像を表示する。
【００６３】
トリガ情報抽出部２２０は、ビデオデコーダ２１７から供給されるビデオ信号を常に監視して、ビデオ信号に埋め込まれているトリガ情報を抽出して取得し、制御部２２１に供給する。
【００６４】
なお、トリガ情報がＴＳに配置されている場合には、トリガ情報抽出部２２０は、多重分離部２１３により分離されたトリガ情報を含むPCRパケットを監視し、そこからトリガ情報を抽出することになる。また、トリガ情報がオーディオ信号に埋め込まれている場合には、トリガ情報抽出部２２０は、オーディオデコーダ２１４により復号されたオーディオ信号を常に監視することで、オーディオ信号に埋め込まれているトリガ情報を抽出する。
【００６５】
制御部２２１は、メモリ２２２にあらかじめ記憶されている制御用プログラムを実行することにより受信装置２０の各部の動作を制御する。
【００６６】
メモリ２２２には、制御部２２１によって実行される制御用プログラムがあらかじめ記憶されている。この制御用プログラムは、放送信号、又はインターネット９０を介して取得される更新データに基づいて適宜更新することができる。操作部２２３は、ユーザからの各種の操作を受け付けて、それに対応する操作信号を制御部２２１に通知する。
【００６７】
また、制御部２２１は、トリガ情報抽出部２２０から供給されるトリガ情報に応じて、通信I/F２２４を制御して、インターネット９０を介してTPTサーバ３０にアクセスし、TPTを要求する。通信I/F２２４は、制御部２２１からの制御に従い、TPTサーバ３０からインターネット９０を介して送信されるTPTを受信し、TPT解析部２２５に供給する。
【００６８】
TPT解析部２２５は、通信I/F２２４から供給されるTPTを取得する。TPT解析部２２５は、取得したTPTを解析し、その解析結果を、内部に備えるメモリ（不図示）に保持する。また、TPT解析部２２５は、制御部２２１からの要求に応じて、メモリに保持しているTPTの解析結果を供給する。
【００６９】
制御部２２１は、トリガ情報抽出部２２０からのトリガ情報に基づいて、放送コンテンツの進行を示す時刻を計時するための内部時計を設定する。制御部２２１は、TPT解析部２２５からのTPTの解析結果に基づいて、当該内部時計により計時される時刻が、有効期間等に基づいた所定の有効条件を満たした場合に、その有効期間等に対応付けられたコマンドを特定する。制御部２２１は、特定したコマンドに応じて、アプリケーションエンジン２２６を制御して、連動アプリケーションの取得若しくは登録、取得若しくは起動、イベント発火、休止若しくは再開、非表示若しくは表示、又は終了等を制御する。
【００７０】
アプリケーションエンジン２２６は、制御部２２１からの制御に従い、通信I/F２２４を制御して、インターネット９０を介してアプリケーションサーバ４０にアクセスし、連動アプリケーションを要求する。通信I/F２２４は、アプリケーションサーバ４０からインターネット９０を介して送信される連動アプリケーションを受信し、キャッシュメモリ２２７に保持させる。
【００７１】
アプリケーションエンジン２２６は、制御部２２１からの制御に従い、キャッシュメモリ２２７に保持されている連動アプリケーションを読み出して実行する。実行中の連動アプリケーションのビデオ信号は、ビデオ出力部２１８に供給される。
【００７２】
ビデオ出力部２１８は、アプリケーションエンジン２２６から供給されるビデオ信号を、ビデオデコーダ２１７から供給されたビデオ信号と合成し、それにより得られる映像を、ディスプレイ２１９に表示させる。
【００７３】
アプリケーション用メモリ２２８は、ワークメモリ２２８Ａ及び退避メモリ２２８Ｂとからなる。アプリケーションエンジン２２６は、実行中の連動アプリケーションに関するデータ（具体的には、表示されている情報の階層などを含む）をワークメモリ２２８Ａに記録する。
【００７４】
また、アプリケーションエンジン２２６は、実行中の連動アプリケーションを休止する場合、アプリケーション用メモリ２２８のワークメモリ２２８Ａのデータを退避メモリ２２８Ｂに移動させる。そして、休止した連動アプリケーションを再開する場合、退避メモリ２２８Ｂのデータをワークメモリ２２８Ａに移動させて休止前の状態を復活させる。
【００７５】
受信装置２０は、以上のように構成される。
【００７６】
［TPTサーバの構成例］
図４は、図１のTPTサーバ３０の構成例を示している。
【００７７】
TPTサーバ３０は、例えば、図４に示すように構成される。CPU（Central Processing Unit）３０１、ROM（Read Only Memory）３０２、又は記録部３０８に記録されているプログラムに従い、各種の処理を実行する。RAM（Random Access Memory）３０３には、CPU３０１が実行するプログラムやデータ等が適宜記録される。これらのCPU３０１、ROM３０２、及びRAM３０３は、バス３０４により相互に接続されている。
【００７８】
CPU３０１には、バス３０４を介して入出力インタフェース３０５が接続されている。入出力インタフェース３０５には、入力部３０６及び出力部３０７が接続されている。CPU３０１は、入力部３０６に入力される指令に対応して、各種の処理を実行する。そして、CPU３０１は、当該処理の結果得られた情報を、出力部３０７に出力する。
【００７９】
入出力インタフェース３０５に接続されている記録部３０８は、例えば、ハードディスクなどにより構成され、CPU３０１が実行するプログラムや各種のデータ（例えばTPT）を記録する。通信部３０９は、インターネット９０を介して外部の装置（例えば受信装置２０）と通信する。
【００８０】
また、入出力インタフェース３０５に接続されているドライブ３１０は、光ディスクや半導体メモリ等のリムーバブルメディア３１１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部３０８に転送され、記録される。
【００８１】
TPTサーバ３０は、以上のように構成される。
【００８２】
なお、図１のアプリケーションサーバ４０は、図４のTPTサーバ３０と同様に構成されているので、その説明は省略する。
【００８３】
［放送通信連携システムの各装置の動作］
次に、図５を参照して、図１の放送通信連携システム１を構成する各装置の動作の概要について説明する。
【００８４】
図５の放送通信連携システム１においては、送信装置１０によって、放送コンテンツ（図中の「Content」）の放送信号が、トリガ情報（図中の「Trigger」）を含めて送信される（Ｓ１）。また、放送信号には、当該放送コンテンツに関するメタデータ（図中の「Metadata」）が含まれている。
【００８５】
受信装置２０（図中の「TV」）は、CATV網や衛星通信網などを介して、送信装置１０からの放送信号を受信する場合、セットトップボックス５０（図中の「STB Recorder」）等の専用端末による変換後の信号を、HDMI（登録商標）（High Definition Multimedia Interface）経由で受信することになる（Ｓ２）。この場合、セットトップボックス５０からの出力は、放送コンテンツとトリガ情報のみとなり、受信装置２０では、メタデータを利用することはできない。
【００８６】
受信装置２０は、放送信号を直接受信する場合（Ｓ１）のほか、セットトップボックス５０を経由して受信する場合（Ｓ２）でも、放送信号とともに送信されるトリガ情報を抽出することができる。そして、受信装置２０は、抽出したトリガ情報に応じて、TPTを取得するか否かを判定する。受信装置２０は、TPTを取得すると判定した場合、インターネット９０を介してTPTサーバ３０にアクセスして、TPTを要求する（Ｓ３）。
【００８７】
TPTサーバ３０は、受信装置２０からの問い合わせに応じて、TPTを特定し、特定されたTPT（図中の「TPT」）を、インターネット９０を介して受信装置２０に送信する（Ｓ４）。受信装置２０は、TPTサーバ３０からのTPTを、インターネット９０を介して受信して、保持する。
【００８８】
そして、受信装置２０は、送信装置１０からのトリガ情報を抽出した場合、保持しているTPTを参照して、例えば、内部時計の示す時刻が、コマンドの有効期間内となるか、又は有効開始時刻を経過した場合、それに対応する有効なコマンドを特定する。
【００８９】
受信装置２０は、コマンドの特定結果に従って、アプリケーションサーバ４０にインターネット９０を介してアクセスし、選局中の放送コンテンツに連動して実行される連動アプリケーションを要求する（Ｓ５）。
【００９０】
アプリケーションサーバ４０は、受信装置２０からの問い合わせに応じて、連動アプリケーション（図中の「Application」）を、インターネット９０を介して受信装置２０に送信する（Ｓ６）。受信装置２０は、アプリケーションサーバ４０からの連動アプリケーションを、インターネット９０を介して取得して起動する。
【００９１】
また、受信装置２０では、内部時計の示す時刻がコマンドの有効期間内となった場合、その有効期間に対応するコマンドが、TPTによって特定される。そして、連動アプリケーションは、特定されたコマンドに応じて、イベント発火、休止若しくは再開、非表示若しくは表示、又は終了等の動作を実行することになる。
【００９２】
以上のように、放送通信連携システム１において、受信装置２０が、送信装置１０からのトリガ情報に応じて、TPTサーバ３０及びアプリケーションサーバ４０との連携動作を行うことで、受信装置２０では選局中の放送コンテンツに連動して実行される連動アプリケーションが取得され、実行される。
【００９３】
また、送信装置１０からのトリガ情報は、セットトップボックス５０等の専用端末を介しても、受信装置２０に通知されるので、放送通信連携システム１では、CATV網などの放送伝送路の設備や専用端末の改修をしたり、中継を行う放送事業者の許諾を得たりする作業を伴うことなく、連動アプリケーションを提供することができる。
【００９４】
［トリガ情報の詳細］
（トリガ情報の送信方法）
次に、トリガ情報の送信方法について説明する。
【００９５】
図６は、トリガ情報を放送コンテンツのビデオ信号に埋め込んだ場合の２種類の例を示している。
【００９６】
図６のＡは、トリガ情報を２次元バーコード化して、ビデオ信号の画像の所定の位置（図６のＡの場合、右下隅）に重畳合成する例を示している。図６のＢは、トリガ情報を映像コード化して、ビデオ信号の画像の下部の数ラインに合成する例を示している。図６のＡ及び図６のＢにおけるトリガ情報は、受信装置２０のトリガ情報抽出部２２０によって抽出される。
【００９７】
図６のＡ又は図６のＢのどちらの例においても、トリガ情報は放送コンテンツの映像の上に配置されているので、例えば、CATV網や衛星通信網を利用した受信装置（例えば、図５の受信装置２０）に対しても、トリガ情報を通知することができる。
【００９８】
また、図６のＡ又は図６のＢのどちらの例においても映像上のトリガ情報（２次元バーコード又は映像コード）は受信装置２０のユーザによって視認され得るが、これが好ましくない場合、映像上のトリガ情報をその周囲の画素と同じ画素によりマスクしてから表示するようにすればよい。
【００９９】
図６ではトリガ情報を放送コンテンツのビデオ信号に埋め込む例を示したが、前述したように、トリガ情報の格納位置、伝送方法はこれに限定されるものではない。例えばほかに、トリガ情報がＴＳのPCRに格納されるようにしてもよい。
【０１００】
図７は、トリガ情報が放送信号のＴＳのPCRパケットに配置された送信される場合の概念を示している。
【０１０１】
図７に示すように、トリガ情報はすべてのPCRパケットに格納されるわけではなく、放送コンテンツに連動させるための適切なタイミングにおいてのみ、PCRパケットに格納される。通常、PCRパケットは、CATV再送信装置のPIDフィルタを通過するので、CATV網や衛星通信網を利用する受信装置（例えば、図５の受信装置２０）に対してもトリガ情報を通知することができる。また、トリガ情報は、ビデオストリームやオーディオストリーム上のユーザデータ領域に配置してもよい。
【０１０２】
なお、トリガ情報は、電波障害や受信装置２０における取りこぼし（受信ミス）などを考慮して、同一内容のものが複数回連続的に送信される。
【０１０３】
図８は、PCRパケットにおいてトリガ情報が格納される位置を示している。PCRパケットは、ＴＳパケットのadaptation_fieldにPCRが格納されたものであり、トリガ情報(Trigger Info_descriptor)は、PCRの後に続くtransport_private_data_byteに格納される。なお、トリガ情報が格納される場合、PCRの前に設けられているVarious_flagsのtransport_private_data_flagが１とされる。
【０１０４】
（トリガ情報の詳細仕様）
次に、トリガ情報の詳細について説明する。図９は、トリガ情報の詳細仕様の一例を示す図である。
【０１０５】
domain_nameは、TPTサーバ３０を特定するための情報であって、例えば、TPTサーバ３０のドメイン名を示す情報が指定される。すなわち、TPTサーバ３０は、送信装置１０にて放送コンテンツの放送を行う放送事業者などの事業者により提供されるため、domain_nameは、それらの事業者ごとに異なるものとなる。
【０１０６】
segment_idは、放送コンテンツのセグメントを識別するためのIDである。事業者は、任意のIDを設定することができる。
【０１０７】
media_timeは、放送コンテンツの進行時間軸上の特定の時間位置を示す情報である。例えば、media_timeには、放送コンテンツの進行時間軸上の開始時刻や午前０時（0:00）等の特定の時刻を基準にして、その基準時刻からの時刻が指定される。また、media_timeに指定される時刻は、例えば秒やミリ秒単位とされる。
【０１０８】
event_idは、TPTに記述されるコマンドを識別するためのIDである。また、event_timeは、TPTに記述されるコマンドを実行する時刻を示す情報である。
【０１０９】
spreadは、トリガ情報を適用するタイミングを確率的に分散させるための情報が指定される。
【０１１０】
（トリガ情報の記述例）
図１０は、トリガ情報の記述例を示す図である。
【０１１１】
図１０には、複数のトリガ情報の記述例が示されている。トリガ情報は、domain_name，segment_id，media_time，event_id，event_time，spreadを指定するための値と、“/”や“?m=”、“&”などの所定の文字を連結させた文字列からなる。
【０１１２】
例えば、domain_nameが“xbc.com”，segment_idが“SegA”，media_timeが“1000”である場合、トリガ情報を示す文字列は、“xbc.com/SegA?m=1000”となる。
【０１１３】
すなわち、この文字列の先頭に、“http://”を付加すると、TPTサーバ３０にアクセスするための、URL（Uniform Resource Locator）を示す“http://xbc.com/SegA?m=1000”である文字列が得られる。また、このURLの末尾には、m=<media_time>であるクエリ文字列が付加されているので、HTTP（HyperText Transfer Protocol）のGETメソッドを利用することで、TPTサーバ３０は、そのパラメータを取得することができる。
【０１１４】
また、e=<event_id>，t=<event_time>，s=<spread>である文字列が付加されることで、受信装置２０では、event_id，event_time，spreadの値を取得することができる。
【０１１５】
なお、トリガ情報の記述方法は任意であって、図１０の記述例に限定されるものではない。
【０１１６】
トリガ情報は、以上のように構成される。
【０１１７】
［TPTの詳細］
（TPTの詳細仕様１）
次に、TPTの詳細について説明する。図１１は、TPTの詳細仕様の一例を示す図である。
【０１１８】
図１１に示すように、TPTは、tpt要素から構成される。tpt要素には、連動アプリケーションの動作を制御するためのコマンドや当該コマンドの有効期間などの情報が記述される。
【０１１９】
tpt要素は、id属性、tptType属性、majorVersion属性、minorVersion属性、tptVersion属性、updatingTime属性、endMt属性、expireDate属性、liveTrigger要素、及びevent要素を含む。
【０１２０】
id属性には、当該TPTを識別するためのIDが指定される。例えば、id属性には、domain_nameと、program_idとを“/”により連結した文字列が指定される。ただし、program_idは、segment_idに対応するものであって、放送コンテンツを識別するためのIDである。
【０１２１】
tptType属性には、その属性値として、“static”又は“dynamic”が指定される。“static”は、トリガ情報に含まれるsegment_idが変更された場合にのみ、TPTを更新する場合に指定される。また、“dynamic”は、トリガ情報に含まれるsegment_idが同一であっても、TPTを更新する場合に指定される。
【０１２２】
majorVersion属性には、インタラクティブプロトコルのメジャーバージョンを示す情報が指定される。また、minorVersion属性には、インタラクティブプロトコルのマイナーバージョンを示す情報が指定される。
【０１２３】
tptVersion属性には、当該TPTのバージョンを示す情報が指定される。
【０１２４】
updatingTime属性には、TPTの更新期間を示す情報が指定される。updatingTime属性は、type属性が“dynamic”となる場合にのみ指定される。
【０１２５】
endMt属性には、当該TPTに対応する放送コンテンツのmedia_timeが終了する時刻を示す情報が指定される。
【０１２６】
expireDate属性には、当該TPTの有効期限を示す情報が指定される。expireDate属性は、type属性が“static”となる場合にのみ指定される。
【０１２７】
liveTrigger要素には、放送コンテンツをライブ放送する場合に必要となるトリガ情報（以下、ライブトリガ情報という）に関する情報が記述される。liveTrigger要素は、liveTriggerURL属性、longPoll属性、及びpollPeriod属性を含む。
【０１２８】
liveTriggerURL属性には、ライブトリガ情報を提供するサーバ（後述する図３４のトリガサーバ８０）にアクセスするためのURLが指定される。
【０１２９】
longPoll属性には、ロングポーリングのプロトコルに関する情報が指定される。pollPeriod属性には、ライブトリガ情報を、サーバに問い合わせる間隔を示す情報が指定される。
【０１３０】
event要素には、連動アプリケーションの動作を制御するための情報が記述される。event要素は、eventID属性、startTime属性、endTime属性、destination属性、action属性、previousApp属性、diffusion属性、application要素、及びstreamEvent要素を含む。
【０１３１】
eventID属性には、コマンドを識別するためのIDが指定される。
【０１３２】
startTime属性には、eventID属性により識別されるコマンドの有効期間の開始時刻を示す情報が指定される。endTime属性には、eventID属性により識別されるコマンドの有効期間の終了時刻を示す情報が指定される。
【０１３３】
すなわち、コマンドの有効期間は、対応する放送コンテンツの進行時間軸上の２点を示すstartTime属性及びendTime属性により定められる。そして、例えば、受信装置２０の内部時計により計時される放送コンテンツの進行タイミングが、startTime属性の示す有効開始時刻を経過したとき、その有効開始時刻に対応するコマンドが有効とされる。この場合、endTime属性を指定せずに、startTime属性のみが指定されるようにしてもよい。
【０１３４】
また、受信装置２０の内部時計により計時される放送コンテンツの進行タイミングが、有効期間内であるときに、その有効期間に対応するコマンドが有効とされ、放送コンテンツの進行タイミングが有効期間に達していない、又はそれを過ぎたときは、その有効期間に対応するコマンドは無効とされるようにしてもよい。すなわち、受信装置２０では、内部時計により計時される時刻が、有効期間等に基づいた所定の有効条件を満たしたときに、その有効期間に対応するコマンドが有効とされる。
【０１３５】
destination属性には、当該コマンドによる連動アプリケーションの制御対象となる機器が指定される。ここでは、受信装置本体（受信装置２０）のほか、受信装置２０に外部装置（不図示）が接続される場合には、その外部装置が、コマンドの対象機器として指定される。
【０１３６】
例えば、destination属性には、コマンドの対象機器が受信装置２０となる場合、“receiver”が指定され、コマンドの対象機器が外部装置となる場合、“external_1”や“external_2”が指定される。なお、destination属性が指定されない場合には、“receiver”が指定されたものとみなされる。
【０１３７】
action属性には、当該コマンドとして、“execute”，“register”，“suspend”，“terminate”のいずれかが指定される。
【０１３８】
エクスキュート（execute）は、連動アプリケーションの取得又は起動を指示するためのコマンドである。
【０１３９】
なお、エクスキュートコマンドは、指定された連動アプリケーションが休止している場合に、その連動アプリケーションの実行を再開させる。また、エクスキュートコマンドは、指定された連動アプリケーションが非表示となっている場合に、その連動アプリケーションを表示させる。
【０１４０】
レジスタ（register）は、連動アプリケーションの取得又は登録を指示するためのコマンドである。ここで、連動アプリケーションの登録とは、取得した連動アプリケーションに対応付けて、その優先度と有効期限を記憶することを意味する。
【０１４１】
サスペンド（suspend）は、実行中の連動アプリケーションを中断して、休止させるためのコマンドである。
【０１４２】
ターミネート（terminate）は、実行中の連動アプリケーションを終了させるためのコマンドである。
【０１４３】
すなわち、action属性には、連動アプリケーションの取得又は登録を指示する場合に、“register”が指定され、登録された連動アプリケーションの起動を指示する場合には、“execute”が指定される。そして、実行中の連動アプリケーションの休止を指示する場合に“suspend”が指定され、連動アプリケーションの終了を指示する場合には、“terminate”が指定される。
【０１４４】
previousApp属性には、当該コマンドが、エクスキュートコマンドである場合に、対象の連動アプリケーション以外の他の連動アプリケーション（例えば、対象の連動アプリケーションよりも先に起動されて実行中の連動アプリケーション）の動作を制御するための付加情報が記述される。当該付加情報としては、“terminate”,”suspend”,“hide”のいずれかが指定される。
【０１４５】
ターミネート（terminate）は、実行中の他の連動アプリケーションを終了させる場合に指定される。
【０１４６】
サスペンド（suspend）は、実行中の他の連動アプリケーションを中断して、休止させる場合に指定される。
【０１４７】
ハイド（hide）は、実行中の他の連動アプリケーションの表示状態を非表示にさせる場合に指定される。
【０１４８】
なお、説明の都合上、以下、付加情報として、ターミネート、サスペンド、ハイドが指定されたエクスキュートコマンドをそれぞれ、ターミネート付エクスキュートコマンド（execute with terminate）、サスペンド付エクスキュートコマンド（execute with suspend）、ハイド付エクスキュートコマンド（execute with hide）と称して説明する。
【０１４９】
diffusion属性には、受信装置２０においてコマンドを適用するタイミングを確率的に分散させるための情報が指定される。この値を設定することにより、複数の受信装置２０がアプリケーションサーバ４０から連動アプリケーションを取得するに際し、そのアクセスが一時期に集中せず分散させることができる。
【０１５０】
application要素には、連動アプリケーションに関する情報が記述される。application要素は、appID属性、appType属性、url属性、priority属性、expireDate属性、及びcapability要素を含む。
【０１５１】
appID属性には、当該連動アプリケーションを識別するためのアプリケーションIDが指定される。appType属性には、当該連動アプリケーションのファイル属性等に関する情報を示すアプリケーションタイプが指定される。
【０１５２】
url属性には、当該コマンドが、エクスキュートコマンド又はレジスタコマンドである場合に、当該連動アプリケーションの取得先を示すアプリケーションURLが指定される。すなわち、url属性には、アプリケーションサーバ４０のURLが指定される。
【０１５３】
priority属性には、当該コマンドに対応する連動アプリケーションを取得、保持するときの優先度を示す情報が指定される。expireDate属性には、連動アプリケーションの有効期限を示す情報が指定される。連動アプリケーションが登録される場合、その連動アプリケーションの有効期限と保持優先度が記憶され、連動アプリケーションは、それらの有効期限と優先度に従って管理される。
【０１５４】
なお、url属性及びexpire_date属性は、コマンドが、エクスキュートコマンド又はレジスタコマンドとなる場合には必須の項目となる。また、priority属性には、通常は“0”が指定され、優先度を高くする場合には、“1”が指定される。
【０１５５】
capability要素には、連動アプリケーションを実行するに際し、受信装置２０に要求される機能を示す情報が指定される。すなわち、受信装置２０は、capability要素にて指定された機能を有する場合に、当該連動アプリケーションを実行可能であると判断する。
【０１５６】
streamEvent要素には、当該コマンドが、エクスキュートコマンドである場合であって、対象の連動アプリケーションに対するイベント発火を行うときに、イベントに関する付加情報（イベント情報）が記述される。streamEvent要素は、streamID属性及びdata要素を含む。
【０１５７】
streamID属性には、アプリケーションIDにて指定された連動アプリケーションにおいて発火すべきイベントを識別するためのイベントIDが指定される。また、data要素には、イベントを発火する際に参照されるデータが記述される。
【０１５８】
なお、以下、イベント情報が付加されたエクスキュートコマンドを、イベント付エクスキュートコマンド（execute with event）と称して説明する。
【０１５９】
（TPTの記述例１）
図１２は、図１１のTPTの記述例を示す図である。
【０１６０】
図１２の例では、tpt要素のid属性には、“xbc.com/1”が指定される。すなわち、これは、例えば、xbc放送局（domain_name=“xbc.com”）により放送される放送コンテンツ（program_id=1）用のTPTであることを意味する。
【０１６１】
また、tpt要素において、tptType属性には、“static”が指定されているので、program_id（segment_id）が変更された場合にのみTPTが更新される。さらに、expireDate属性には、“2011-01-21”が指定されているので、当該TPTの有効期限は、2011年1月21日までとなる。
【０１６２】
なお、説明の簡略化のためすべては記載していないが、このtpt要素中には、６個のevent要素が記述されている。
【０１６３】
１つ目のevent要素には、eventID属性として“1”、startTime属性として“0”、endTime属性として“600”、destination属性として“receiver”、action属性として“register”、diffusion属性として“60”がそれぞれ指定されている。すなわち、当該コマンド（eventID=1）は、内部時計により計時される時刻が0秒となるときに実行される、受信装置２０に対するレジスタコマンドとなる。ただし、diffusion属性が記述されているため、受信装置２０は、所定のタイミングでアプリケーションサーバ４０にアクセスすることになる。
【０１６４】
また、event要素の開始タグと終了タグの間には、application要素が記述される。application要素には、appID属性として“1”、appType属性として“html”、url属性として“xxx.com/yyy1”、expireDate属性として“2011-01-21”がそれぞれ指定されている。
【０１６５】
すなわち、当該application要素は、HTML（Hyper Text Markup Language）により記述された連動アプリケーション（appID=1）が、“xxx.com/yyy1”であるURLにより特定されるアプリケーションサーバ４０から取得できることを意味する。また、当該連動アプリケーションの有効期限は、2011年1月21日までとなる。
【０１６６】
同様に、２つ目のevent要素は、当該コマンド（eventID=2）が、内部時計により計時される時刻が600秒となるときに実行される、受信装置２０に対するエクスキュートコマンドとなることを示す。また、エクスキュートコマンドに応じて取得される連動アプリケーション（appID=1）が、“xxx.com/yyy1”であるURLのアプリケーションサーバ４０から取得できることを意味する。
【０１６７】
３つ目のevent要素は、内部時計により計時される時刻が1800秒となるときに実行されるエクスキュートコマンドとなることを示す。また、このevent要素の開始タグと終了タグの間には、application要素及びstreamEvent要素が記述される。application要素には、appID属性として“1”が指定されている。streamEvent要素には、streamID属性として”event1”が指定され、data要素として”zzzzzzz・・・z”が記述される。
【０１６８】
すなわち、当該コマンド（eventID=3）は、イベント付エクスキュートコマンドであって、受信装置２０により実行される連動アプリケーション（appID=1）に対するイベント発火を意味するものである。また、当該コマンドでは、イベント発火に伴い、連動アプリケーションによって、”zzzzzzz・・・z”であるデータが利用される。
【０１６９】
また、４つ目のevent要素は、当該コマンド（eventID=5）が、内部時計により計時される時刻が3500秒となるときに実行される、受信装置２０により実行される連動アプリケーション（appID=1）に対するターミネートコマンドとなることを示す。
【０１７０】
５つ目のevent要素は、当該コマンド（eventID=12）が、内部時計により計時される時刻が2400秒となるときに実行される、受信装置２０に対するエクスキュートコマンドとなることを示す。また、当該event要素には、previousApp属性として、”suspend”が指定されている。さらに、event要素の開始タグと終了タグの間のapplication要素には、id属性として“2”が指定され、type属性として“html”が指定され、url属性として“xxx.com/yyy2”が指定され、expire_date属性として“2011-01-22”が指定されている。
【０１７１】
すなわち、当該コマンドは、サスペンド付エクスキュートコマンドであって、対象の連動アプリケーション（appID=2）が、“xxx.com/yyy2”であるURLにより特定されるアプリケーションサーバ４０から取得できることを意味する。また、付加情報（サスペンド）によって、既に実行中の他の連動アプリケーション（appID=1）は中断され、休止することになる。
【０１７２】
同様に、６つ目のevent要素は、当該コマンド（eventID=15）が、内部時計により計時される時刻が2520秒に実行される、受信装置２０により実行される連動アプリケーション（appID=2）に対するターミネートコマンドとなることを示す。
【０１７３】
図１１のTPTは、以上のように記述される。
【０１７４】
（TPTの詳細仕様２）
図１１及び図１２を参照して説明したTPTの仕様は一例であって、他の仕様を採用することができる。図１３は、TPTの詳細仕様の他の例を示す図である。
【０１７５】
図１３のtpt要素には、図１１のtpt要素と比べて、event要素のpreviousApp属性が含まれていない点が異なるが、それ以外の要素や属性は同様の構成となる。また、event要素のaction属性には、当該コマンドとして、“execute”，“register”，“suspend”，”suspend-execute”，“terminate”,“terminate-execute”，“hide”，“hide-execute”のいずれかが指定される点でも異なる。
【０１７６】
エクスキュート（execute）は、連動アプリケーションの取得又は起動を指示するためのコマンドである。
【０１７７】
なお、エクスキュートコマンドは、指定された連動アプリケーションが休止している場合に、その連動アプリケーションの実行を再開させる。また、エクスキュートコマンドは、指定された連動アプリケーションが非表示となっている場合に、その連動アプリケーションを表示させる。
【０１７８】
レジスタ（register）は、連動アプリケーションの取得又は登録を指示するためのコマンドである。
【０１７９】
サスペンド（suspend）は、実行中の連動アプリケーションを中断して、休止させるためのコマンドである。
【０１８０】
サスペンド−エクスキュート（suspend-execute）は、対象の連動アプリケーションに対するエクスキュートコマンドと、他の連動アプリケーションに対するサスペンドコマンドが一体となった複合コマンドである。すなわち、対象の連動アプリケーションの取得又は起動と、それ以外の他の連動アプリケーションの休止を指示する場合、action属性には、”suspend-execute”が指定される。
【０１８１】
ターミネート（terminate）は、実行中の連動アプリケーションを終了させるためのコマンドである。
【０１８２】
ターミネート−エクスキュート（terminate-execute）は、対象の連動アプリケーションに対するエクスキュートコマンドと、他の連動アプリケーションに対するターミネートコマンドが一体となった複合コマンドである。すなわち、対象の連動アプリケーションの取得又は起動と、それ以外の他の連動アプリケーションの終了を指示する場合、action属性には、”terminate-execute”が指定される。
【０１８３】
ハイド（hide）は、実行中の連動アプリケーションの表示状態を非表示にさせるためのコマンドである。
【０１８４】
ハイド−エクスキュート（hide-execute）は、対象の連動アプリケーションに対するエクスキュートコマンドと、他の連動アプリケーションに対するハイドコマンドが一体となった複合コマンドである。対象の連動アプリケーションの取得又は起動と、それ以外の他の連動アプリケーションの非表示を指示する場合、action属性には、”hide-execute”が指定される。
【０１８５】
このように、図１１のTPTでは、action属性にて指定されるコマンドに対して、previousApp属性を付加することで、他の連動アプリケーションの動作を制御していたが、図１３のTPTでは、action属性にて指定されるコマンドに、他の連動アプリケーションの動作を制御するためのコマンドを含ませることで、他の連動アプリケーションの動作を制御するようにしている。
【０１８６】
（TPTの記述例２）
図１４は、図１３のTPTの記述例を示す図である。
【０１８７】
図１４のTPTには、図１２のTPTの記述と同様に、tpt要素中に、６個のevent要素が記述されている。これらのevent要素のうち、eventID=1，2，3，5，15については、図１２のTPTの記述と同様であるため、その説明は省略する。
【０１８８】
また、eventID=12のevent要素は、当該コマンドが、内部時計により計時される時刻が2400秒となるときに実行される、受信装置２０に対するサスペンド−エクスキュートコマンドとなることを示す。また、event要素の開始タグと終了タグの間のapplication要素には、id属性として“2”が指定され、type属性として“html”が指定され、url属性として“xxx.com/yyy2”が指定され、expire_date属性として“2011-01-22”が指定されている。
【０１８９】
すなわち、サスペンド−エクスキュートコマンドに応じて、対象の連動アプリケーション（appID=2）が、“xxx.com/yyy2”であるURLにより特定されるアプリケーションサーバ４０から取得できることを意味する。また、当該コマンドに応じて、既に実行中の他の連動アプリケーションは中断され、休止することになる。
【０１９０】
図１３のTPTは、以上のように記述される。
【０１９１】
なお、TPTの記述方法は任意であって、図１２や図１４の記述例に限定されるものではない。
【０１９２】
［トリガ情報とコマンドの対応関係］
次に、トリガ情報に対応付けられたコマンドを、TPTによって特定する処理の例を説明する。図１５は、トリガ情報とコマンドの対応関係の例を示す図である。なお、図１５のTPTは、前述した図１１又は図１３のTPTに対応している。
【０１９３】
図１５に示すように、受信装置２０では、ＴＳより得られるビデオ信号からトリガ情報が抽出されると、トリガ情報に含まれるdomain_name及びsegment_idに基づいて、TPTサーバ３０からTPTを取得するか否かが判定される。
【０１９４】
例えば、受信装置２０において、xbc放送局（domain_name=“xbc.com”）により放送されるSegment A（segment_id=“SegA”）用のTPT（for Segment A）が保持されている場合に、ＴＳから“xbc.com/SegB?m=48”であるトリガ情報が抽出されたとき、segment_idの値が変化したので、受信装置２０は、TPTを取得すると判定する。
【０１９５】
そして、受信装置２０は、トリガ情報の先頭に“http://”を付加することで得られるURL（“http://xbc.com/SegB?m=48”）により特定されるTPTサーバ３０にアクセスして、TPTを取得する。これにより、受信装置２０には、図中のTPT（for Segment B）が保持される。
【０１９６】
ただし、図１５のTPTは、前述した図１１又は図１３のTPTに対応するものであるが、ここでは、説明の簡略化のため、event要素のeventID属性、startTime属性、endTime属性、及びaction属性、application要素のappID属性、並びにURLなどのパラメータのみを図示している。
【０１９７】
受信装置２０では、トリガ情報に含まれるmedia_time（m=XX）によって内部時計が設定される。例えば、１つ目のトリガ情報（“xbc.com/SegB?m=48”）が抽出された場合、media_time（m=48）に基づいて、内部時計は48に設定される。その後、内部時計として、秒単位の時刻を刻んでゆくが、２つ目のトリガ情報（“xbc.com/SegB?m=1327”）が抽出された場合、media_time（m=1327）に基づいて、内部時計は1327に校正される。このように、受信装置２０では、トリガ情報に含まれるmedia_timeの示す時刻と正確に一致するような内部時計が保持される。そして、受信装置２０は、当該内部時計に基づいて、TPTに記述された各コマンドを順次実行する。図１５の例では、内部時計が0〜1274の有効期間における有効開始時刻を経過しているので、TPTによって、レジスタコマンド（eventID=1）が特定される。そして、受信装置２０は、レジスタコマンドに応じて、アプリケーションIDが“1”となる連動アプリケーションを取得して、登録する。
【０１９８】
また、受信装置２０では、内部時計が1275を示すときに、TPTによって、エクスキュートコマンド（eventID=2）が特定される。そして、受信装置２０は、エクスキュートコマンドに応じて、取得済みの連動アプリケーションを起動する。
【０１９９】
それ以降については、図１５には図示していないが、受信装置２０では、抽出されたトリガ情報に含まれるmedia_timeにより設定されて校正される内部時計に基づいて、TPTに記述されたコマンドの有効期間に最初に入ったときに、対応するコマンドに応じて、連動アプリケーションの動作が制御される。
【０２００】
例えば、内部時計が4602となる場合、エクスキュートコマンド（eventID=3）が特定される。また、当該エクスキュートコマンドには、streamEvent要素が記述されており、イベント付エクスキュートコマンドであるので、受信装置２０では、実行中の連動アプリケーション（appID=1）に対するイベントが発火される。また、例えば、内部時計が8900となる場合、ターミネートコマンド（eventID=4）が特定され、実行中の連動アプリケーション（appID=1）が終了する。
【０２０１】
以上のように、受信装置２０においては、放送信号からトリガ情報が抽出された場合にmedia_timeに基づいて動作する内部時計によって、TPTに記述されたコマンドの有効期間に最初に入ったときにコマンドが特定され、特定されたコマンドに応じて、連動アプリケーションの動作が制御される。
【０２０２】
［連動アプリケーションの状態遷移］
図１６は、レジスタ、エクスキュート、サスペンド、ハイド、及びターミネートの各コマンドに応じて受信装置２０にて動作する連動アプリケーションの状態遷移図である。図１６に示すように、連動アプリケーションの状態は、解放状態(Released)、準備状態(Ready)、実行中状態(Active)、休止状態(Suspended)、又は非表示状態（Hidden）の５種類のうちいずれかに遷移していると定義される。
【０２０３】
解放状態は、連動アプリケーションが受信装置２０に未取得である状態を指す。準備状態は、その連動アプリケーションが受信装置２０に登録済みであって起動されていない状態を指す。実行中状態は、連動アプリケーションが起動されて実行中である状態を指す。休止状態は、連動アプリケーションの実行が中断され、その中断したときの状態を示す情報が退避メモリ２２８Ｂに保持されている状態を指す。非表示状態は、連動アプリケーションに関するデータがワークメモリ２２８Ａに保持された状態で、表示状態が非表示である状態を指す。
【０２０４】
連動アプリケーションが解放状態に遷移しているとき（受信装置２０に未取得のとき）、レジスタコマンドが特定され、レジスタコマンドに応じて当該連動アプリケーションが取得（登録）されると、準備状態に遷移する。
【０２０５】
連動アプリケーションが準備状態であるとき、エクスキュートコマンドが特定され、エクスキュートコマンドに応じて当該連動アプリケーションが起動されると、実行中状態に遷移する。
【０２０６】
また、連動アプリケーションが解放状態に遷移しているとき（受信装置２０に未取得のとき）、エクスキュートコマンドが特定され、エクスキュートコマンドに応じて当該連動アプリケーションが取得されて起動されると、実行中状態に遷移する。
【０２０７】
連動アプリケーションが実行中状態に遷移しているとき、サスペンドコマンドが特定され、サスペンドコマンドに応じて実行中の連動アプリケーションが中断されると休止状態に遷移する。
【０２０８】
また、実行中の他の連動アプリケーションがある場合に、サスペンド−エクスキュートコマンドが特定され、当該他の連動アプリケーションが中断されると休止状態に遷移する。同様に、サスペンド付エクスキュートコマンドが特定された場合、当該他の連動アプリケーションは中断され、休止状態に遷移する。
【０２０９】
連動アプリケーションが休止状態に遷移しているとき、エクスキュートコマンドが特定され、エクスキュートコマンドに応じて、中断されていた連動アプリケーションが再開されると、実行中状態に遷移する。
【０２１０】
連動アプリケーションが実行中状態に遷移しているとき、ハイドコマンドが特定され、ハイドコマンドに応じて実行中の連動アプリケーションの表示状態が非表示になると、非表示状態に遷移する。
【０２１１】
また、実行中の他の連動アプリケーションがある場合に、ハイド−エクスキュートコマンドが特定され、当該他の連動アプリケーションの表示状態が非表示になると非表示状態に遷移する。同様に、ハイド付エクスキュートコマンドが特定された場合、当該他の連動アプリケーションは非表示となり、非表示状態に遷移する。
【０２１２】
連動アプリケーションが非表示状態に遷移しているとき、エクスキュートコマンドが特定され、エクスキュートコマンドに応じて、非表示となっていた連動アプリケーションが表示されると、実行中状態に遷移する。
【０２１３】
連動アプリケーションが、実行中状態、休止状態、又は非表示状態に遷移しているとき、ターミネートコマンドが特定され、ターミネートコマンドに応じて、実行中の連動アプリケーションが終了されると、準備状態に遷移する。
【０２１４】
また、連動アプリケーションが、準備状態、実行中状態、休止状態、又は非表示状態に遷移しているとき、連動アプリケーションの有効期限が経過したとき、解放状態に遷移する。
【０２１５】
図１７は、各コマンドと状態遷移の関係を示している。
【０２１６】
図１７は、受信装置２０において、放送コンテンツの放送信号に含めて送信されるトリガ情報に対応するコマンドをTPTにより特定し、特定したコマンドに応じて連動アプリケーションの動作を制御する流れを模式的に表している。
【０２１７】
なお、図１７の受信装置２０においては、アプリケーションIDが異なる２つの連動アプリケーションが実行されるので、それらを、連動アプリケーションApp1と、連動アプリケーションApp2と称して区別する。また、受信装置２０に接続された外部装置などの他の装置で実行される連動アプリケーションを、連動アプリケーションApp3と称する。さらに、受信装置２０は、抽出されたすべてのトリガ情報に対して反応するわけではなく、既に対応済みのトリガ情報は無視することになる（図中の「ignore」）。
【０２１８】
受信装置２０において、連動アプリケーションApp1が解放状態に遷移しているとき（受信装置２０に未取得のとき）、レジスタコマンドに応じて、連動アプリケーションApp1が取得、保持され、登録されると、連動アプリケーションApp1は準備状態に遷移する。
【０２１９】
受信装置２０において、連動アプリケーションApp1が準備状態にあるとき、エクスキュートコマンドに応じて、その連動アプリケーションApp1が起動されると、連動アプリケーションApp1は実行中状態に遷移する。
【０２２０】
また、他の装置において、連動アプリケーションApp3が解放状態に遷移しているとき（他の受信装置に未取得のとき）、エクスキュートコマンドに応じて、その連動アプリケーションApp3が取得、起動されると、連動アプリケーションApp3は実行中状態に遷移する。
【０２２１】
受信装置２０において、連動アプリケーションApp1が実行中状態に遷移しているとき、イベント付エクスキュートコマンドに応じて、実行中の連動アプリケーションApp1にてイベントが発火された場合、連動アプリケーションApp1の状態は実行中状態のままとなる。
【０２２２】
受信装置２０において、連動アプリケーションApp1が実行中状態に遷移しているとき、サスペンド−エクスキュートコマンド又はサスペンド付エクスキュートコマンドに応じて、実行中の連動アプリケーションApp1が中断されると、連動アプリケーションApp1は休止状態に遷移する。また、受信装置２０において、休止状態に遷移した連動アプリケーションApp1と異なる連動アプリケーションApp2が起動されると、連動アプリケーションApp2は実行中状態に遷移する。
【０２２３】
すなわち、例えば、テレビ番組の途中にＣＭが挿入される場面を想定すると、テレビ番組用の連動アプリケーションApp1の中断時に、ＣＭ用の連動アプリケーションApp2が実行されることになる。
【０２２４】
そして、受信装置２０において、連動アプリケーションApp1が休止状態に遷移しているとき、ターミネート−エクスキュートコマンド又はターミネート付エクスキュートコマンドに応じて、中断されていた連動アプリケーションApp1が再開されると、連動アプリケーションApp1は実行中状態に遷移する。また、受信装置２０において、連動アプリケーションApp2が実行中状態に遷移しているとき、当該コマンドに応じて、実行中の連動アプリケーションApp2が終了されると、連動アプリケーションApp2は準備状態に遷移する。
【０２２５】
すなわち、例えば、再度、前述したＣＭ挿入の場面を想定すると、テレビ番組の途中に挿入されたＣＭが終了したとき、テレビ番組が再開されることになるが、それに伴い、ＣＭ用の連動アプリケーションApp2が終了され、中断しているテレビ番組用の連動アプリケーションApp1が再開されることになる。
【０２２６】
また、受信装置２０において、連動アプリケーションApp1が実行中状態に遷移しているとき、ターミネートコマンドに応じて、実行中の連動アプリケーションApp1が終了されると、連動アプリケーションApp1は準備状態に遷移する。
【０２２７】
なお、連動アプリケーションApp1が準備状態、実行中状態、休止状態、又は非表示状態に遷移しているとき、当該連動アプリケーションの有効期限が経過すると、当該連動アプリケーションがキャッシュメモリ２２７から消去され、登録が抹消されて、連動アプリケーションApp1は解放状態に遷移する。
【０２２８】
以上、連動アプリケーションの状態遷移について説明した。
【０２２９】
[動作シナリオ]
受信装置２０においては、前述したような、TPTによって内部時計の示す時刻に応じたコマンドを特定し、特定したコマンドを実行することで、例えば、図１８及び図１９に示すような連動アプリケーションの運用が可能となる。
【０２３０】
（動作シナリオ１）
図１８は、動作シナリオ１を示す図である。
【０２３１】
動作シナリオ１では、トリガ情報に含まれるmedia_timeに基づいて動作する内部時計（図中の「Media Clock」）の示す時刻が、TPTのevent要素のstartTime属性とendTime属性により定められるコマンドの有効期間内に最初に入った場合に、その有効期間に対応するコマンドが特定され、連動アプリケーションが動作することで、所定の運用が行われる。
【０２３２】
図１８において、受信装置２０は、送信装置１０からの放送信号に対応する放送コンテンツをディスプレイ２１９に表示しているとき、トリガ情報の抽出を継続して行う。そして、受信装置２０は、トリガ情報に含まれるdomain_name，segment_idが変化したとき、TPTサーバ３０にTPTを問い合わせる。これにより、受信装置２０は、TPTサーバ３０からのTPTを取得して、保持することができる。
【０２３３】
その後、受信装置２０では、トリガ情報の抽出が継続して行われ、抽出されたトリガ情報に含まれるmedia_timeに設定・校正された内部時計が動作する。受信装置２０は、当該内部時計により計時される時刻が、TPTに記述されたコマンドの有効期間に最初に入った時点で、該当するコマンドを実行する。
【０２３４】
例えば、受信装置２０は、TPTとして、図１５のTPT（for Segment B）を保持している場合に、“xbc.com/SegB?m=48”であるトリガ情報が抽出された場合、media_time（m=48）を内部時計に設定する。また、当該内部時計が0〜1274の有効期間内における有効開始時刻を経過しているので、アプリケーションIDが“1”となる連動アプリケーションApp1のレジスタコマンドを特定する。そして、受信装置２０は、レジスタコマンドに応じて、アプリケーションサーバ４０から連動アプリケーションApp1を取得して、登録する。これにより、連動アプリケーションApp1は、準備状態に遷移する。
【０２３５】
受信装置２０は、内部時計が1275を示すときに、連動アプリケーションApp1のエクスキュートコマンドを特定する。そして、受信装置２０は、エクスキュートコマンドに応じて、連動アプリケーションApp1を起動する。これにより、連動アプリケーションApp1は、実行中状態に遷移する。その結果、ディスプレイ２１９には、放送コンテンツの映像に、連動アプリケーションApp1の映像Ｐ１１が重畳された映像が表示される。
【０２３６】
受信装置２０は、内部時計が4602を示すときに、連動アプリケーションApp1のイベント付エクスキュートコマンドを特定する。そして、受信装置２０は、イベント付エクスキュートコマンドに応じて、実行中の連動アプリケーションApp1に対するイベントを発火する。これにより、例えば、更新されたデータを読み込んで表示に反映させるなどの所定の処理が行われ、ディスプレイ２１９の表示は、放送コンテンツの映像に重畳して表示されていた連動アプリケーションApp1の映像Ｐ１１が、映像Ｐ１２に切り替わる。
【０２３７】
受信装置２０は、内部時計が所定の有効期間内に最初に入った場合に、サスペンド付エクスキュートコマンド（又はサスペンド−エクスキュートコマンド）が特定されたとき、当該コマンドに応じて、連動アプリケーションApp1を休止させる。また、受信装置２０は、当該コマンドの付加情報に応じて、連動アプリケーションApp2を起動する。これにより、連動アプリケーションApp1は、休止状態に遷移する一方、連動アプリケーションApp2は、実行中状態に遷移する。
【０２３８】
また、受信装置２０は、内部時計の示す時刻が所定の有効期間内に最初に入った場合に、ターミネート付エクスキュートコマンド（又はターミネート−エクスキュートコマンド）が特定されたとき、当該コマンドの付加情報に応じて、連動アプリケーションApp2を終了させる。また、受信装置２０は、当該コマンドに応じて、休止中の連動アプリケーションApp1を再開する。これにより、連動アプリケーションApp1は、実行中状態に遷移する一方、連動アプリケーションApp2は、準備状態に遷移する。
【０２３９】
ここで、例えば、テレビ番組を中断してＣＭを挿入し、そのＣＭの終了後にテレビ番組が再開される場面を想定すると、連動アプリケーションApp1がテレビ番組用のアプリケーションであり、連動アプリケーションApp2がＣＭ用のアプリケーションであると捉えることができる。すなわち、連動アプリケーションApp1は、テレビ番組が中断されると、休止状態に遷移して休止し、連動アプリケーションApp2は、ＣＭが開始されると、実行中状態に遷移して起動する。また、連動アプリケーションApp2は、ＣＭが終了すると、準備状態に遷移して終了し、連動アプリケーションApp1は、テレビ番組が再開されると、実行中状態に遷移して再開される。
【０２４０】
これにより、ディスプレイ２１９の表示は、テレビ番組からＣＭに切り替わると同時に、テレビ番組の映像に重畳して表示された連動アプリケーションApp1の映像Ｐ１２から、ＣＭの映像に重畳して表示された連動アプリケーションApp2の映像Ｐ１３に切り替わる。また、ＣＭからテレビ番組に切り替わると、ディスプレイ２１９の表示は、連動アプリケーションApp2の映像Ｐ１３から、連動アプリケーションApp1の映像Ｐ１４に切り替わる。
【０２４１】
受信装置２０は、内部時計の示す時刻が所定の有効期間内に最初に入った場合に、連動アプリケーションApp1のターミネートコマンドが特定されたとき、当該コマンドに応じて、連動アプリケーションApp1を終了する。これにより、連動アプリケーションApp1は、準備状態に遷移する。その結果、例えば、あるテレビ番組が終了して、他のテレビ番組が開始されたとき、連動アプリケーションApp1の映像Ｐ１４も終了される。
【０２４２】
以上のように、受信装置２０は、送信装置１０からのトリガ情報に含まれるdomain_name及びsegment_idに応じたTPTを保持することで、トリガ情報に含まれるmedia_timeに基づき計時される内部時計の示す時刻が、所定の有効期間内に最初に入った場合に、その有効期間に対応するコマンドを特定することができるため、図１８に示した動作シナリオ１を実現することが可能となる。
【０２４３】
（動作シナリオ２）
図１９は、動作シナリオ２の例を示す図である。
【０２４４】
動作シナリオ２においては、前述した動作シナリオ１と同様に、トリガ情報に含まれるmedia_timeに基づいて動作する内部時計の示す時刻が、コマンドの有効期間内に最初に入った場合に、その有効期間に対応するコマンドが特定され、連動アプリケーションが動作することで、所定の運用が行われる。これにより、連動アプリケーションApp1に対するレジスタコマンド、エクスキュートコマンド、及びイベント付エクスキュートコマンドが順次特定され、それらのコマンドに応じて、連動アプリケーションApp1の動作が制御される。
【０２４５】
また、受信装置２０は、トリガ情報の抽出を継続して行い、抽出されたトリガ情報に含まれるmedia_timeに設定・校正された内部時計が動作する。受信装置２０は、当該内部時計の示す時刻が所定の有効期間内に最初に入った場合に、ハイド付エクスキュートコマンド（又はハイド−エクスキュートコマンド）が特定されたとき、当該コマンドに応じて、連動アプリケーションApp1の表示状態を非表示にさせる。また、受信装置２０は、当該コマンドに応じて、連動アプリケーションApp2を起動する。これにより、連動アプリケーションApp1は、非表示状態に遷移する一方、連動アプリケーションApp2は、実行中状態に遷移する。
【０２４６】
受信装置２０は、内部時計の示す時刻が所定の有効期間内に最初に入った場合に、ターミネート付エクスキュートコマンド（又はターミネート−エクスキュートコマンド）が特定されたとき、当該コマンドに応じて、連動アプリケーションApp2を終了させる。また、受信装置２０は、当該コマンドに応じて、非表示中の連動アプリケーションApp1を表示させる。これにより、連動アプリケーションApp1は、実行中状態に遷移する一方、連動アプリケーションApp2は、準備状態に遷移する。
【０２４７】
ここで、前述した図１８の動作シナリオ１と同様に、テレビ番組用の連動アプリケーションApp1と、ＣＭ用の連動アプリケーションApp2の例を用いて説明すると、連動アプリケーションApp1は、テレビ番組が中断されると、非表示状態に遷移して非表示となり、連動アプリケーションApp2は、ＣＭが開始されると、実行中状態に遷移して起動する。また、連動アプリケーションApp2は、ＣＭが終了すると、準備状態に遷移して終了し、連動アプリケーションApp1は、テレビ番組が再開されると、実行中状態に遷移して表示される。
【０２４８】
これにより、ディスプレイ２１９の表示は、テレビ番組からＣＭに切り替わると、連動アプリケーションApp1の映像Ｐ２２から、連動アプリケーションApp2の映像Ｐ２３に切り替わる。また、ＣＭからテレビ番組に切り替わると、連動アプリケーションApp2の映像Ｐ２３から、連動アプリケーションApp1の映像Ｐ２４に切り替わる。
【０２４９】
その後、受信装置２０では、連動アプリケーションApp1のターミネートコマンドが特定されたとき、連動アプリケーションApp1が終了される。これにより、連動アプリケーションApp1は、準備状態に遷移する。その結果、例えば、あるテレビ番組が終了して、他のテレビ番組が開始されたとき、連動アプリケーションApp1の映像Ｐ２４も終了される。
【０２５０】
以上、動作シナリオについて説明した。
【０２５１】
［コマンド特定の方法の他の例］
前述した説明では、トリガ情報に含まれるmedia_timeの示す時刻に設定・校正される、受信装置２０内で動作する内部時計に基づいて、TPTのevent要素のstartTime属性とendTime属性により定められる有効期間内に最初に入る場合に、その有効期間に対応するコマンドを特定するとして説明したが、コマンドはそれ以外の方法で特定することもできる。すなわち、例えば、media_timeの代わりに、event_idやevent_timeを含めたトリガ情報を送ることでも、TPTによって、当該トリガ情報に対応付けられたコマンドを特定することができる。
【０２５２】
図２０は、トリガ情報とコマンドの対応関係の例を示す図である。なお、図２０のTPTは、図１５のTPTと同様に、図１１又は図１３のTPTに対応している。すなわち、受信装置２０では、Segment A用のTPTが保持された後、トリガ情報に含まれるsegment_idが“SegA”から“SegB”に変化したので、Segment B用のTPTが取得され、保持されている。
【０２５３】
受信装置２０では、１つ目のトリガ情報（“xbc.com/SegB?m=15”）に含まれるmedia_time（m=15）を設定した内部時計が動作開始するとともに、その時点が、0〜1468の有効期間内となるので、TPTによって、レジスタコマンド（eventID=1）が特定される。そして、受信装置２０は、レジスタコマンドに応じて、アプリケーションIDが“1”となる連動アプリケーションを取得して、登録する。
【０２５４】
続いて、受信装置２０では、２つ目のトリガ情報（“xbc.com/SegB?e=2”）に含まれるevent_id（e=2）によって、TPTにて同一の値のeventID（eventID=2）を有するエクスキュートコマンドが特定される。受信装置２０は、エクスキュートコマンドに応じて、取得済みの連動アプリケーションを起動する。
【０２５５】
また、受信装置２０では、３つ目のトリガ情報（“xbc.com/SegB?m=2755”）に含まれるmedia_time（m=2755）が、内部時計の校正に用いられる。
【０２５６】
続いて、受信装置２０では、４つ目のトリガ情報（“xbc.com/SegB?e=3?t=3120”）に含まれるevent_id（e=3）によって、TPTにて同一の値のeventID（eventID=3）を有するイベント付エクスキュートコマンドが特定される。また、このeventIDの有効期間は、3276〜3322となるが、トリガ情報に含まれるevent_time（t=3120）に変更される。すなわち、受信装置２０は、内部時計の示す時刻がevent_time（t=3120）になったとき、イベント付エクスキュートコマンドに応じて、実行中の連動アプリケーション（appID=1）に対するイベントを発火させる。
【０２５７】
また、受信装置２０では、５つ目のトリガ情報（“xbc.com/SegB?m=3875”）に含まれるmedia_time（m=3875）が、内部時計の校正に用いられる。
【０２５８】
その後、図２０には図示していないが、例えば、受信装置２０では、内部時計の示す時刻が、9820となる場合に、ターミネートコマンド（eventID=4）が特定され、実行中の連動アプリケーション（appID=1）が終了する。
【０２５９】
以上のように、受信装置２０においては、放送信号からトリガ情報が抽出された場合、保持しているTPTに基づいて、抽出されたトリガ情報に含まれるmedia_timeにより内部時計が設定・校正されるか、あるいはevent_idに対応するコマンドが特定される。また、内部時計の示す時刻が有効期間内に最初に入ることによって、あるいはevent_idで特定されたコマンドに応じて、連動アプリケーションの動作が制御される。
【０２６０】
また、図２０に示したコマンドの特定方法であると、コマンドの有効期間に関係なく、event_idによってコマンドが特定され、さらにevent_timeによって当該コマンドを実行する時刻を変更することができるので、放送コンテンツがライブ放送である場合に、放送事業者等の事業者は、所望のタイミングで、コマンド（例えば、イベント付エクスキュートコマンド）を実行させることが可能となる。
【０２６１】
［各装置で行われる具体的な処理の内容］
次に、図２１乃至図２８のフローチャートを参照して、図１の放送通信連携システム１を構成する各装置で行われる具体的な処理の内容について説明する。
【０２６２】
（送信処理）
まず、図２１のフローチャートを参照して、送信装置１０によって実行される送信処理について説明する。
【０２６３】
ステップＳ１１において、映像取得部１１１は、外部のサーバ等から、放送コンテンツの映像に対応するビデオ信号を取得する。また、ステップＳ１２において、音声取得部１１４は、外部のサーバ等から、放送コンテンツの音声に対応するオーディオ信号を取得する。
【０２６４】
ステップＳ１３において、トリガ情報生成部１１２は、映像取得部１１１により取得されたビデオ信号に対応する放送コンテンツの映像の進行にあわせてトリガ情報を生成する。
【０２６５】
ステップＳ１４において、ビデオエンコーダ１１３は、映像取得部１１１により取得されたビデオ信号の所定の位置に、トリガ情報生成部１１２により生成されたトリガ情報を埋め込んで、符号化する。
【０２６６】
ステップＳ１５において、オーディオエンコーダ１１５は、音声取得部１１４により取得されたオーディオ信号を符号化する。
【０２６７】
ステップＳ１６において、多重化部１１６は、ビデオエンコーダ１１３により符号化されたビデオストリームと、オーディオエンコーダ１１５により符号化されたオーディオストリームを多重化して、ＴＳを生成する。
【０２６８】
ステップＳ１７において、送信部１１７は、多重化部１１６により生成されたＴＳを、アンテナ１１８を介して、放送信号として送信する。
【０２６９】
以上、送信処理について説明した。なお、図２１の送信処理では、説明を簡略化するため、トリガ情報がビデオ信号に埋め込まれる場合を一例に説明した。
【０２７０】
（受信処理）
次に、図２２のフローチャートを参照して、受信装置２０によって実行される受信処理について説明する。
【０２７１】
ステップＳ３１において、チューナ２１２は、アンテナ２１１を介して放送信号を受信して、復調する。
【０２７２】
ステップＳ３２において、多重分離部２１３は、チューナ２１２により復調されたＴＳを、オーディオストリームと、ビデオストリームに分離する。
【０２７３】
ステップＳ３３において、ビデオデコーダ２１７は、多重分離部２１３により分離されたビデオストリームを復号し、ビデオ信号を生成する。
【０２７４】
ステップＳ３４において、オーディオデコーダ２１４は、多重分離部２１３により分離されたオーディオストリームを復号し、オーディオ信号を生成する。
【０２７５】
ステップＳ３５において、ディスプレイ２１９は、ビデオ信号に対応する映像を表示し、スピーカ２１６は、オーディオ信号に対応する音声を出力する。これにより、ディスプレイ２１９には、テレビ番組等の放送コンテンツの映像が表示され、スピーカ２１６からは、映像に対応する音声が出力される。
【０２７６】
ステップＳ３６においては、トリガ情報抽出部２２０乃至アプリケーション用メモリ２２８によって、トリガ情報対応処理が行われる。トリガ情報対応処理の詳細は、図２３乃至図２７のフローチャートを参照して後述する。
【０２７７】
ステップＳ３６の処理が終了すると、処理は、ステップＳ３１に戻り、それ以降の処理が繰り返される。
【０２７８】
以上、受信処理について説明した。
【０２７９】
（トリガ情報対応処理）
次に、図２３のフローチャートを参照して、図２２のステップＳ３６に対応するトリガ情報対応処理について説明する。
【０２８０】
ステップＳ５１において、トリガ情報抽出部２２０は、ビデオデコーダ２１７からのビデオ信号からトリガ情報が抽出されたか否かを判定する。受信装置２０により放送信号に含まれるトリガ情報が受信され、ビデオ信号からトリガ情報が抽出された場合、処理は、ステップＳ５２に進められる。
【０２８１】
ステップＳ５２において、トリガ情報抽出部２２０は、放送信号から抽出されたトリガ情報を取得する。また、制御部２１１は、トリガ情報にmedia_timeが含まれている場合、当該media_timeに応じて内部時計を動作させる。
【０２８２】
なお、ステップＳ５１において、トリガ情報が抽出されていないと判定された場合、処理は、ステップＳ６０に進められる。ステップＳ６０において、制御部２２１は、内部時計の示す時刻（media_time）が有効期間内となるコマンドが存在するか否かを判定する。ステップＳ６０において、当該コマンドが存在すると判定された場合、処理は、ステップＳ５９に進められる。
【０２８３】
ステップＳ５３において、制御部２２１は、トリガ情報抽出部２２０により取得されたトリガ情報の解析を行い、当該トリガ情報に含まれる、domain_name及びsegment_idのうちいずれか一方又は双方が変化したか否かを判定する。ステップＳ５３において、domain_name，segment_idが変化したと判定された場合、処理は、ステップＳ５４に進められる。
【０２８４】
ステップＳ５４において、TPT解析部２２５は、TPTサーバ３０から提供されるTPTを取得する。
【０２８５】
具体的には、制御部２２１は、通信I/F２２４を制御して、トリガ情報の先頭に“http://”を付加することで得られるURL（例えばhttp://xbc.com/SegB?m=48）により特定されるTPTサーバ３０にアクセスして、TPTを要求する。TPTサーバ３０は、放送コンテンツごとのTPTを管理しており、受信装置２０からのTPTの要求に含まれるsegment_id等により識別される放送コンテンツ用のTPTを特定し、受信装置２０に提供する。
【０２８６】
通信I/F２２４は、制御部２２１からの制御に従い、TPTサーバ３０から提供されるTPTを受信する。これにより、TPT解析部２２５は、通信I/F２２４により受信されたTPTを取得することができる。
【０２８７】
ステップＳ５５において、TPT解析部２２５は、取得したTPTの解析を行い、id，versionが同一のTPTを取得済みであるか否かを判定する。なお、id，versionは、例えば、tpt要素のid属性と、tptVersion属性により指定されるものである。ステップＳ５５において、id，versionが同一のTPTが未取得であると判定された場合、処理は、ステップＳ５６に進められる。
【０２８８】
ステップＳ５６において、TPT解析部２２５は、取得したTPTを保持し、処理は、ステップＳ５８に進められる。
【０２８９】
また、ステップＳ５３において、domain_name，segment_idが変化していないと判定された場合、処理は、ステップＳ５７に進められる。
【０２９０】
ステップＳ５７において、TPT解析部２２５は、保持しているTPTに記述されたupdatingTime属性の示す更新期間が経過したか否かを判定する。ステップＳ５７において、更新期間が経過したと判定された場合、処理は、ステップＳ５４に進められる。そして、TPT解析部２２５によって、TPTサーバ３０から新たなTPTが取得され、その新たなTPTと、id，versionが同一のTPTが未取得であれば、保持される。
【０２９１】
なお、ステップＳ５５において、id，versionが同一のTPTを取得済みである場合と判定された場合、又はステップＳ５７において、更新期間が経過していないと判定された場合、処理は、ステップＳ５８に進められる。
【０２９２】
ステップＳ５８において、制御部２２１は、内部時計の示す時刻（media_time）が、有効期間内となる未実行コマンドが存在するか否かを判定する。ステップＳ５８において、内部時計の示す時刻が有効期間内となる未実行コマンドが存在すると判定された場合、処理は、ステップＳ５９に進められる。
【０２９３】
ステップＳ５９において、制御部２２１は、アプリケーションエンジン２２６を制御して、連動アプリケーション制御処理を行う。
【０２９４】
この連動アプリケーション制御処理では、内部時計の示す時刻が有効期間内となる有効なコマンドが特定され、特定されたコマンドに応じて、連動アプリケーションの取得若しくは登録、取得若しくは起動、イベント発火、休止若しくは再開、非表示若しくは表示、又は終了などが制御される。また、既に実行中の他の連動アプリケーションが存在する場合には、当該他の連動アプリケーションの動作も制御される。
【０２９５】
なお、連動アプリケーション制御処理としては、例えば、図２４の第１の連動アプリケーション制御処理、又は図２６の第２の連動アプリケーション制御処理が実行される。それらの処理の詳細については、図２４乃至図２７のフローチャートを参照して後述する。
【０２９６】
そして、連動アプリケーション制御処理が終了するか、あるいはステップＳ５８において、media_timeが有効期間内となるコマンドが存在しないと判定された場合、処理は、ステップＳ５１に戻り、それ以降の処理が繰り返される。
【０２９７】
以上、トリガ情報対応処理について説明した。
【０２９８】
（第１の連動アプリケーション制御処理）
次に、図２４のフローチャートを参照して、図２３のステップＳ５９に対応する第１の連動アプリケーション制御処理の詳細について説明する。なお、第１の連動アプリケーション制御処理を実行する際の前提として、図２３のステップＳ５４にて取得されるTPTは、図１１に示したTPTの形式からなるものとする。
【０２９９】
ステップＳ７１において、制御部２２１は、TPTに基づいて、内部時計の示す時刻が有効期間内となる有効なコマンドが、レジスタ、エクスキュート、ターミネート、又はサスペンドのいずれかのコマンドであるかを特定する。
【０３００】
ただし、ここでは、制御部２２１は、コマンドの特定を行うに際し、トリガ情報抽出部２２０により抽出されたトリガ情報に含まれるdomain_name及びsegment_idの値と、TPT解析部２２５からのTPTのtpt要素のid属性の値とを比較して、それらの値が一致する場合にのみ、トリガ情報に対応するコマンドを特定する処理を行う。TPT解析部２２５は、それらの値が一致しない場合、制御部２２１からの制御に従い、再度、TPTサーバ３０にアクセスして、選局中の放送コンテンツに対応するTPTを取得することになる。これにより、受信装置２０では、電波障害などにより適切なTPTを保持していない場合でも、確実に想定されたコマンドを特定することができる。
【０３０１】
ステップＳ７２において、制御部２２１は、ステップＳ７１の特定結果がレジスタであるか否かを判定し、レジスタであると判定された場合、処理はステップＳ７３に進められる。
【０３０２】
ステップＳ７３において、制御部２２１は、通信I/F２２４を制御して、TPTにより特定されるアプリケーションURLに対応するアプリケーションサーバ４０にアクセスして、指定された対象の連動アプリケーションを取得させる。通信I/F２２４により取得された対象の連動アプリケーションは、キャッシュメモリ２２７に保持される。
【０３０３】
また、制御部２２１は、取得された対象の連動アプリケーションに対応付けて、その連動アプリケーションの有効期限と保持優先度を、メモリ２２２に記憶する。これにより、キャッシュメモリ２２７に保持された連動アプリケーションは、制御部２２１により、有効期限と保持優先度に従って管理される。この後、処理は、図２３のステップＳ５９に戻り、それ以降の処理が繰り返される。
【０３０４】
ステップＳ７２において、ステップＳ７１の特定結果がレジスタでないと判定された場合、処理は、ステップＳ７４に進められる。ステップＳ７４において、制御部２２１は、ステップＳ７１の特定結果がエクスキュートであるか否かを判定し、エクスキュートであると判定された場合、処理は、ステップＳ７５に進められる。
【０３０５】
ステップＳ７５において、制御部２２１は、特定されたエクスキュートコマンドに、実行中の他の連動アプリケーションに対する指示が付加されているか否かを判定する。具体的には、当該判定処理では、TPTのtpt要素のevent要素のpreviousApp属性に、ターミネート、サスペンド、又はハイドを示す付加情報が付加されているかどうかが判定されることになる。
【０３０６】
ステップＳ７５において、他の連動アプリケーションに対する指示が付加されていると判定された場合、処理は、ステップＳ７６に進められる。ステップＳ７６において、制御部２２１は、アプリケーションエンジン２２６を制御して、付加情報対応処理を行う。
【０３０７】
この付加情報対応処理では、エクスキュートコマンドに付加された付加情報に応じて、他の連動アプリケーションの終了、休止、又は非表示が制御される。なお、付加情報対応処理の詳細は、図２５のフローチャートを参照して後述する。
【０３０８】
ステップＳ７６の付加情報対応処理が終了すると、処理は、ステップＳ７７に進められる。また、ステップＳ７５において、他の連動アプリケーションに対する指示が付加されていないと判定された場合、ステップＳ７６はスキップされ、処理は、ステップＳ７７に進められる。
【０３０９】
ステップＳ７７において、制御部２２１は、特定されたエクスキュートコマンドに、イベント情報が付加されているか否かを判定する。
【０３１０】
ステップＳ７７において、イベント情報が付加されていると判定された場合、処理は、ステップＳ７８に進められる。ステップＳ７８において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、アプリケーションIDにより指定された対象の連動アプリケーションに対するイベントを発火させる。
【０３１１】
また、ステップＳ７７において、特定されたエクスキュートコマンドに、イベント情報が付加されていないと判定された場合、処理は、ステップＳ７９に進められる。ステップＳ７９において、制御部２２１は、アプリケーションエンジン２２６を制御して、アプリケーションIDにより指定された対象の連動アプリケーションが休止中（休止状態）であるか否かを判定する。具体的には、退避メモリ２２８Ｂに、指定された対象の連動アプリケーションの休止の状態を示すデータが退避されている場合に休止中であると判定する。
【０３１２】
ステップＳ７９において、対象の連動アプリケーションが休止中であると判定された場合、処理は、ステップＳ８０に進められる。ステップＳ８０において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、退避メモリ２２８Ｂのデータをワークメモリ２２８Ａに移して、指定された対象の連動アプリケーションを起動する。これにより、休止中の対象の連動アプリケーションが休止された状態から再開されることになる。
【０３１３】
また、ステップＳ７９において、対象の連動アプリケーションが休止中ではないと判定された場合、処理は、ステップＳ８１に進められる。ステップＳ８１において、制御部２２１は、アプリケーションエンジン２２６を制御して、アプリケーションIDにより指定された対象の連動アプリケーションが非表示（非表示状態）であるか否かを判定する。
【０３１４】
ステップＳ８１において、対象の連動アプリケーションが非表示中であると判定された場合、処理は、ステップＳ８２に進められる。ステップＳ８２において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、非表示中の連動アプリケーションを表示する。
【０３１５】
また、ステップＳ８２において、対象の連動アプリケーションが非表示中ではないと判定された場合、処理は、ステップＳ８３に進められる。この場合、通常のエクスキュートコマンドとなるので、ステップＳ８３において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、指定された対象の連動アプリケーションが未取得（キャッシュメモリ２２７に存在しない）の場合にそれを取得する。
【０３１６】
ステップＳ８４において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、指定された対象の連動アプリケーションを起動する。
【０３１７】
なお、ステップＳ７８，Ｓ８０，Ｓ８２，Ｓ８４の処理が終了すると、処理は、図２３のステップＳ５９に戻り、それ以降の処理が繰り返される。
【０３１８】
ステップＳ７４において、ステップＳ７１の特定結果がエクスキュートではないと判定された場合、処理はステップＳ８５に進められる。ステップＳ８５において、制御部２２１は、ステップＳ７１の特定結果がサスペンドであるか否かを判定し、サスペンドであると判定された場合、処理はステップＳ８６に進められる。
【０３１９】
ステップＳ８６において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、現在実行中の連動アプリケーションの状態を示すデータを退避メモリ２２８Ｂに退避させる。
【０３２０】
ステップＳ８５において、ステップＳ７１の特定結果がサスペンドではないと判定された場合、ステップＳ７１の特定結果は、ターミネートであるので、処理はステップＳ８７に進められる。
【０３２１】
ステップＳ８７において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、指定された対象の連動アプリケーションが実行中であればそれを終了させる。ステップＳ８８において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、指定された対象の連動アプリケーションに関するデータを、ワークメモリ２２８Ａ及び退避メモリ２２８Ｂから消去するとともに、連動アプリケーションをキャッシュメモリ２２７から消去させる。
【０３２２】
なお、ステップＳ８６，Ｓ８８の処理が終了すると、処理は、図２３のステップＳ５９に戻り、それ以降の処理が繰り返される。
【０３２３】
以上、第１の連動アプリケーション制御処理について説明した。
【０３２４】
（付加情報対応処理）
次に、図２５のフローチャートを参照して、図２４のステップＳ７６に対応する付加情報対応処理の詳細について説明する。
【０３２５】
ステップＳ９１において、制御部２２１は、図２４のステップＳ７１にて特定されたエクスキュートコマンドに付加された情報（すなわち、event要素のpreviousApp属性の値）の解析を行い、他の連動アプリケーションに対する指示を特定する。
【０３２６】
ステップＳ９２において、制御部２２１は、ステップＳ９１の特定結果がターミネートであるか否かを判定し、ターミネートであると判定された場合、処理は、ステップＳ９３に進められる。
【０３２７】
ステップＳ９３において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、他の連動アプリケーションが実行中であればそれを終了させる。ステップＳ９４において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、他の連動アプリケーションに関するデータを、ワークメモリ２２８Ａ及び退避メモリ２２８Ｂから消去するとともに、他の連動アプリケーションをキャッシュメモリ２２７から消去させる。
【０３２８】
また、ステップＳ９２において、ステップＳ９１の特定結果がターミネートでないと判定された場合、処理は、ステップＳ９５に進められる。ステップＳ９５において、制御部２２１は、ステップＳ９１の特定結果がサスペンドであるか否かを判定し、サスペンドであると判定された場合、処理は、ステップＳ９６に進められる。
【０３２９】
ステップＳ９６において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、現在実行中の他の連動アプリケーションを中断して、そのデータを退避メモリ２２８Ｂに退避させる。
【０３３０】
また、ステップＳ９５において、ステップＳ９１の特定結果がサスペンドでないと判定された場合、ステップＳ９１の特定結果はハイドであるので、処理は、ステップＳ９７に進められる。
【０３３１】
ステップＳ９７において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、現在実行中の他の連動アプリケーションに関するデータを、ワークメモリ２２８Ａに保持したまま、その表示状態を非表示にする。
【０３３２】
なお、ステップＳ９４，Ｓ９６，Ｓ９７の処理が終了すると、処理は、図２３のステップＳ５９に戻り、それ以降の処理が繰り返される。
【０３３３】
以上、付加情報対応処理について説明した。
【０３３４】
以上のように、第１の連動アプリケーション制御処理によれば、例えばテレビ番組やＣＭなどに連動して連動アプリケーションを起動したり、イベントを発火させたり、終了したりすることができる。さらに、連動アプリケーションを実行中の状態を保持したままで休止させて、他の連動アプリケーションを実行、終了し、その後、休止した連動アプリケーションを休止状態から再開することができる。
【０３３５】
また、エクスキュートコマンドには、他の連動アプリケーションに対する指示に関する情報が付加されるので、当該付加情報に応じて、他の連動アプリケーションの終了、休止、又は非表示などを制御することができる。
【０３３６】
（第２の連動アプリケーション制御処理）
次に、図２６のフローチャートを参照して、図２３のステップＳ５９に対応する第２の連動アプリケーション制御処理の詳細について説明する。なお、第２の連動アプリケーション制御処理を実行する際の前提として、図２３のステップＳ５４にて取得されるTPTは、図１３に示したTPTの形式からなるものとする。
【０３３７】
ステップＳ１１１においては、図２４のステップＳ７１と同様に、制御部２２１によって、有効なコマンドとして、レジスタ、エクスキュート、ターミネート、サスペンド、又はハイドのいずれかのコマンドが特定される。
【０３３８】
ステップＳ１１２，Ｓ１１３においては、図２４のステップＳ７２，Ｓ７３と同様に、ステップＳ１１１の特定結果がレジスタである場合には、指定された対象の連動アプリケーションが取得され、キャッシュメモリ２２７に保持される。
【０３３９】
ステップＳ１１４において、制御部２２１は、ステップＳ１１１の特定結果がエクスキュートであるか否かを判定し、エクスキュートであると判定された場合、処理は、ステップＳ１１５に進められる。
【０３４０】
ステップＳ１１５，Ｓ１１６においては、図２４のステップＳ７７，Ｓ７８と同様に、特定されたエクスキュートコマンドに、イベント情報が付加されている場合には、指定された対象の連動アプリケーションに対するイベントが発火される。
【０３４１】
ステップＳ１１７，Ｓ１１８においては、図２４のステップＳ７９，８０と同様に、指定された対象の連動アプリケーションが休止中である場合には、休止中の連動アプリケーションを起動して再開させる。
【０３４２】
ステップＳ１１９，Ｓ１２０においては、図２４のステップＳ８１，８２と同様に、指定された対象の連動アプリケーションが非表示中である場合には、非表示中の連動アプリケーションを表示させる。
【０３４３】
ステップＳ１２１，Ｓ１２２においては、図２４のステップＳ８３，Ｓ８４と同様に、指定された対象の連動アプリケーションが未取得の場合にはそれを取得してから、当該連動アプリケーションを起動する。
【０３４４】
ステップＳ１２３，Ｓ１２４においては、図２４のステップＳ８５，Ｓ８６と同様に、ステップＳ１１１の特定結果がサスペンドである場合には、指定された対象の連動アプリケーションが中断される。
【０３４５】
ステップＳ１２５において、制御部２２１は、ステップＳ１１１の特定結果がハイドであるか否かを判定し、ハイドであると判定された場合、処理は、ステップＳ１２６に進められる。ステップＳ１２６において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、指定された対象の連動アプリケーションを非表示にする。
【０３４６】
ステップＳ１２７において、制御部２２１は、ステップＳ１１１の特定結果がターミネートであるか否かを判定し、ターミネートであると判定された場合、処理は、ステップＳ１２８に進められる。ステップＳ１２８，Ｓ１２９においては、図２４のステップＳ８７，Ｓ８８と同様に、指定された対象の連動アプリケーションが実行中の場合にはそれを終了してから、当該連動アプリケーションに関するデータを消去する。
【０３４７】
また、ステップＳ１２７において、ステップＳ１１１の特定結果がターミネートでないと判定された場合、当該コマンドは複合コマンドとなるので、処理は、ステップＳ１３０に進められる。ステップＳ１３０において、制御部２２１は、アプリケーションエンジン２２６を制御して、複合コマンド対応処理を行う。
【０３４８】
この複合コマンド対応処理では、複合コマンドに応じて、指定された対象の連動アプリケーションの動作だけでなく、他の連動アプリケーションの終了、休止、又は非表示等の動作が制御される。なお、複合コマンド対応処理の詳細については、図２７のフローチャートを参照して後述する。
【０３４９】
なお、ステップＳ１１３，Ｓ１１６，Ｓ１１８，Ｓ１２０，Ｓ１２２，Ｓ１２４，Ｓ１２６，Ｓ１２９，Ｓ１３０の処理が終了すると、処理は、図２３のステップＳ５９に戻り、それ以降の処理が繰り返される。
【０３５０】
以上、第２の連動アプリケーション制御処理について説明した。
【０３５１】
（複合コマンド対応処理）
次に、図２７のフローチャートを参照して、図２６のステップＳ１３０に対応する複合コマンド対応処理の詳細について説明する。
【０３５２】
ステップＳ１５１において、制御部２２１は、ステップＳ１１１の特定結果が、ターミネート−エクスキュートであるか否かを判定し、ターミネート−エクスキュートであると判定された場合、処理は、ステップＳ１５２に進められる。
【０３５３】
ステップＳ１５２において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、他の連動アプリケーションが実行中であればそれを終了させる。ステップＳ１５３においてアプリケーションエンジン２２６は、制御部２２１からの制御に従い、他の連動アプリケーションに関するデータを、ワークメモリ２２８Ａ及び退避メモリ２２８Ｂから消去するとともに、他の連動アプリケーションをキャッシュメモリ２２７から消去させる。
【０３５４】
ステップＳ１５４において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、指定された対象の連動アプリケーションが未取得の場合にそれを取得する。ステップＳ１５５において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、指定された対象の連動アプリケーションを起動する。
【０３５５】
また、ステップＳ１５１において、ステップＳ１１１の特定結果が、ターミネート−エクスキュートではないと判定された場合、処理は、ステップＳ１５６に進められる。ステップＳ１５６において、制御部２２１は、ステップＳ１１１の特定結果が、サスペンド−エクスキュートであるか否かを判定し、サスペンド−エクスキュートであると判定された場合、処理は、ステップＳ１５７に進められる。
【０３５６】
ステップＳ１５７において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、実行中の他の連動アプリケーションに関するデータを退避メモリ２２８Ｂに退避させる。ステップＳ１５７が終了すると、処理は、ステップＳ１５４に進められ、アプリケーションエンジン２２６によって、指定された対象の連動アプリケーションが未取得の場合には取得されてから、当該連動アプリケーションが起動される（ステップＳ１５４，Ｓ１５５）。
【０３５７】
また、ステップＳ１５６において、ステップＳ１１１の特定結果がサスペンド−エクスキュートではないと判定された場合、ステップＳ１１１の特定結果は、ハイド−エクスキュートであるので、処理は、ステップＳ１５８に進められる。
【０３５８】
ステップＳ１５８において、アプリケーションエンジン２２６は、制御部２２１からの制御に従い、実行中の他の連動アプリケーションを非表示にする。ステップＳ１５８が終了すると、処理は、ステップＳ１５４に進められ、アプリケーションエンジン２２６によって、指定された対象の連動アプリケーションが未取得の場合には取得されてから、当該連動アプリケーションが起動される（ステップＳ１５４，Ｓ１５５）。
【０３５９】
ステップＳ１５５の処理が終了すると、処理は、図２６のステップＳ１３０に戻り、それ以降の処理が実行される。
以上、複合コマンド対応処理について説明した。
【０３６０】
以上のように、第２の連動アプリケーション制御処理によれば、例えばテレビ番組やＣＭなどに連動して連動アプリケーションを起動したり、イベントを発火させたり、終了したりすることができる。さらに、連動アプリケーションを実行中の状態を保持したままで休止させて、他の連動アプリケーションを実行、終了し、その後、休止した連動アプリケーションを休止状態から再開することができる。
【０３６１】
また、他の連動アプリケーションの動作についても制御可能な複合コマンドとして、ターミネート−エクスキュートコマンド、サスペンド−エクスキュートコマンド、又はハイド−エクスキュートコマンドを指定することができるので、当該複合コマンドに応じて、他の連動アプリケーションの終了、休止、又は非表示を制御することができる。
【０３６２】
（ライブパターンのトリガ情報対応処理）
次に、図２８のフローチャートを参照して、図２２のステップＳ３６に対応にするトリガ情報対応処理の他の例として、ライブパターンのトリガ情報対応処理を説明する。なお、ライブパターンのトリガ情報対応処理は、前述した図２０に示したように、放送コンテンツがライブ放送である場合に、所望のタイミングで、コマンドが実行されるようにするものである。
【０３６３】
ステップＳ１７１乃至Ｓ１７７においては、図２３のステップＳ５１乃至Ｓ５７と同様に、放送信号から取得されたトリガ情報に含まれるdomain_name，segment_idが変化した場合、TPTサーバ３０からTPTが取得され、取得されたTPTが未取得であれば保持される。また、ステップＳ１８０においては、図２３のステップＳ６０と同様に、内部時計の示す時刻が有効期間内となるコマンドが存在する場合には、処理は、ステップＳ１７９に進められる。
【０３６４】
ステップＳ１７８において、制御部２２１は、トリガ情報及びTPTに基づいて、コマンドの有効条件を満たすか否かを判定する。ここで、コマンドの有効条件とは、例えば、内部時計の示す時刻が、有効期間内となるか、あるいは有効開始時刻を経過したかなど、コマンドを特定するためにあらかじめ定められる条件である。
【０３６５】
ただし、当該有効条件は、時間や時刻などの時間軸によってのみ定められるものではなく、例えば、前述したように、media_timeの代わりに、event_idを含めたトリガ情報を送って、event_idと、TPTのeventIDをマッチングすることで、有効なコマンドが特定されるようにすることもできる。また、トリガ情報にevent_timeを含めることで、コマンドの有効期間等を変更し、所定のコマンドが有効になる時刻をずらしたりすることもできる。
【０３６６】
以上のように様々な有効条件を定めることが可能であり、当該有効条件を満たすと判定された場合（ステップＳ１７８の「YES」）、処理は、ステップＳ１７９に進められる。ステップＳ１７９において、制御部２２１は、アプリケーションエンジン２２６を制御して、連動アプリケーション制御処理を行う。この連動アプリケーション制御処理としては、前述したように、図２４の第１の連動アプリケーション制御処理、又は図２６の第２の連動アプリケーション制御処理が実行される。
【０３６７】
このように、所望の有効条件を設定することで、例えば、コマンドの有効期間に関係なく、event_idによってコマンドが特定され、さらにevent_timeによって当該コマンドを実行する時刻を変更することができるので、放送コンテンツがライブ放送である場合に、放送事業者等の事業者は、所望のタイミングで、コマンド（例えば、イベント付エクスキュートコマンド）を実行させることが可能となる。
【０３６８】
以上、ライブパターンのトリガ情報対応処理について説明した。
【０３６９】
以上で、第１の実施の形態の説明を終了する。
【０３７０】
＜第２の実施の形態＞
［放送通信連携システムの構成例］
図２９は、第２の実施の形態である放送通信連携システム２を示している。この放送通信連携システム２は、送信装置１０、TPTサーバ３０、アプリケーションサーバ４０、ACRサーバ７０、及び受信装置２１から構成される。また、TPTサーバ３０、アプリケーションサーバ４０、ACRサーバ７０、及び受信装置２１は、インターネット９０を介して、相互に接続されている。
【０３７１】
すなわち、図２９の放送通信連携システム２は、図１の放送通信連携システム１と比べて、ACRサーバ７０が新たに設けられ、受信装置２０の代わりに、受信装置２１が設けられている。それ以外の構成については、図１と同様であるため、その説明は適宜省略する。
【０３７２】
受信装置２１は、定期的に、インターネット９０を介してACRサーバ７０にアクセスして、トリガ情報を問い合わせる。その際、テレビ番組やＣＭ等の放送コンテンツのビデオ信号及びオーディオ信号のうちいずれか一方又は双方から抽出される特徴量（以下、フィンガプリント情報（Finger Print）ともいう）が、ACRサーバ７０に送信される。
【０３７３】
ACRサーバ７０は、例えば、送信装置１０にて放送コンテンツの放送を行う放送事業者又はそれ以外の事業者により提供される。ACRサーバ７０は、任意の放送コンテンツのビデオ信号及びオーディオ信号から抽出された特徴量が登録されているデータベースを有しており、インターネット９０に接続された任意の受信装置２１からの問い合わせに応じて、ACR（Automatic Content Recognition）技術を用いた放送コンテンツの識別を行う。
【０３７４】
具体的には、ACRサーバ７０は、受信装置２１からのフィンガプリント情報を、データベースと照合することで、放送コンテンツを識別し、その識別結果に応じたトリガ情報を生成する。ACRサーバ７０は、生成したトリガ情報を、インターネット９０を介して受信装置２１に送信する。
【０３７５】
受信装置２１は、ACRサーバ７０から受信したトリガ情報に応じて、インターネット９０を介してTPTサーバ３０にアクセスして、TPTを取得する。受信装置２１は、ACRサーバ７０からのトリガ情報と、TPTサーバ３０から取得したTPTに基づいて、コマンドを特定する。そして、受信装置２１は、特定したコマンドに応じて、連動アプリケーションの動作を制御する。
【０３７６】
放送通信連携システム２は、以上のように構成される。
【０３７７】
［受信装置の構成例］
図３０は、図２９の受信装置２１の構成例を示している。
【０３７８】
受信装置２１は、図３の受信装置２０と同様に、チューナ２１２乃至アプリケーション用メモリ２２８を有するが、図３の受信装置２０と比べて、トリガ情報抽出部２２０の代わりに、フィンガプリント抽出部２５１が設けられている点が異なる。受信装置２１において、図３の受信装置２０と同様の箇所には同一の符号が付してあり、その説明は適宜省略する。
【０３７９】
フィンガプリント抽出部２５１には、オーディオデコーダ２１４からのオーディオ信号と、ビデオデコーダ２１７からのビデオ信号が出力される。フィンガプリント抽出部２５１は、オーディオ信号及びビデオ信号のいずれか一方又は双方から特徴量を抽出し、フィンガプリント情報として、制御部２２１に供給する。
【０３８０】
通信I/F２２４は、制御部２２１からの制御に従い、フィンガプリント情報を、インターネット９０を介してACRサーバ７０に送信する。また、通信I/F２２４は、ACRサーバ７０から送信されるトリガ情報を受信し、制御部２２１に供給する。
【０３８１】
制御部２２１は、通信I/F２２４から供給されるトリガ情報に応じて、通信I/F２２４を制御して、インターネット９０を介してTPTサーバ３０にアクセスし、TPTを要求する。通信I/F２２４は、TPTサーバ３０からインターネット９０を介して送信されるTPTを受信し、TPT解析部２２５に供給する。これにより、TPT解析部２２５は、内部に備えるメモリ（不図示）にTPTを保持し、制御部２２１からの要求に応じて、メモリに保持しているTPTを供給する。
【０３８２】
また、制御部２２１は、通信I/F２２４からのトリガ情報に基づいて、放送コンテンツの進行を示す時刻を計時するための内部時計を設定する。制御部２２１は、TPT解析部２２５からのTPTの解析結果に基づいて、当該内部時計により計時される時刻が、有効期間等に基づいた所定の有効条件を満たした場合に、その有効期間等に対応付けられたコマンドを特定する。制御部２２１は、特定したコマンドに応じて、アプリケーションエンジン２２６を制御して、連動アプリケーションの取得若しくは登録、取得若しくは起動、イベント発火、休止若しくは再開、非表示若しくは表示、又は終了等を制御する。
【０３８３】
受信装置２１は、以上のように構成される。
【０３８４】
［放送通信連携システムの各装置の動作］
次に、図３１を参照して、図２９の放送通信連携システム２を構成する各装置の動作の概要について説明する。
【０３８５】
図３１の放送通信連携システム２においては、送信装置１０によって、放送コンテンツの放送信号が送信される（Ｓ２０１）。また、放送信号には、当該放送コンテンツに関するメタデータが含まれている。
【０３８６】
受信装置２１は、CATV網や衛星通信網などを介して、送信装置１０からの放送信号を受信する場合、セットトップボックス５０等の専用端末による変換後の信号を、HDMI（登録商標）経由で受信することになる（Ｓ２０２）。この場合、セットトップボックス５０からの出力は、放送コンテンツのみとなり、受信装置２１では、メタデータを利用することはできない。
【０３８７】
受信装置２１は、放送信号を直接受信する場合（Ｓ２０１）のほか、セットトップボックス５０を経由して受信する場合（Ｓ２０２）でも、放送コンテンツのビデオ信号及びオーディオ信号から抽出される特徴量をフィンガプリント情報として、ACRサーバ７０に送信して、トリガ情報を要求する（Ｓ２０３）。
【０３８８】
ACRサーバ７０は、ACR識別処理を行い、受信装置２１からのフィンガプリント情報を、データベースと照合することで、受信装置２１にて選局中の番組を識別する。具体的には、図３２に示すように、ACRサーバ７０では、受信装置２１からフィンガプリント情報による問い合わせを受けると、ACR識別処理部７０１によって、フィンガプリント情報が、あらかじめ用意されたＦＰデータベース７０２と照合され、受信装置２１にて選局中の放送コンテンツが識別される。
【０３８９】
なお、フィンガプリント情報（特徴量）は、例えば、放送コンテンツの全体又は一部構成要素の固有情報であって、ＦＰデータベース７０２には、あらかじめ多数の放送コンテンツの固有情報が登録されている。ACR識別処理では、例えば、それらの固有情報の類似度又は一致度が判定される。なお、この類似度又は一致度の判定方法としては、各種の文献などによって開示されている、公知の技術を用いることができる。ACR技術を用いることで、放送コンテンツの解像度、アスペクト比、ビットレート、又はフォーマットなどの情報に依存せずに、ビデオ信号及びオーディオ信号の特徴量から放送コンテンツを識別することができる。
【０３９０】
このACR識別処理によって、放送コンテンツのチャンネル番号を識別するための情報（以下、チャンネル識別情報という）と、放送コンテンツの開始から終了までを時間軸で表したときのフィンガプリント情報が抽出された時間位置を示す情報（以下、時間位置情報という）が得られる。これらの識別結果は、トリガ情報生成部７０３に供給される。
【０３９１】
トリガ情報生成部７０３は、ACR識別処理部７０１からの識別結果及びトリガ用データベース７０４に登録された各種の情報に基づいて、トリガ情報を生成する。具体的には、トリガ用データベース７０４には、例えば、チャンネル識別情報に対応して、サーバ特定情報及びコンテンツ識別情報があらかじめ登録されている。
【０３９２】
トリガ情報生成部７０３は、トリガ用データベース７０４を参照して、ACR識別処理部７０１からのチャンネル識別情報に対応する、サーバ特定情報及びコンテンツ識別情報を取得する。そして、トリガ情報生成部７０３は、トリガ用データベース７０４から取得したサーバ特定情報をdomain_name、コンテンツ識別情報をsegment_id、ACR識別処理部７０１からの時間位置情報をmedia_timeとして、トリガ情報を生成する。
【０３９３】
図３１に戻り、トリガ情報生成部７０３は、生成したトリガ情報を、問い合わせ元の受信装置２１に送信する（Ｓ２０４）。受信装置２１は、ACRサーバ７０からトリガ情報に含まれる、domain_name，segment_idに基づいて、TPTを取得するか否かを判定する。受信装置２１は、TPTを取得すると判定した場合、インターネット９０を介してTPTサーバ３０にアクセスして、TPTを要求する（Ｓ２０５）。
【０３９４】
TPTサーバ３０は、受信装置２１からの問い合わせに応じて、TPTを特定し、特定されたTPTを、インターネット９０を介して受信装置２１に送信する（Ｓ２０６）。受信装置２１は、TPTサーバ３０からのTPTを、インターネット９０を介して受信して、保持する。
【０３９５】
そして、受信装置２１は、定期的に抽出するフィンガプリント情報に応じて、ACRサーバ７０からのトリガ情報を取得した場合、トリガ情報に含まれるmedia_timeに基づき内部時計を設定・校正する。また、受信装置２１は、内部時計の示す時刻がコマンドの有効期間内となった場合、有効なコマンドを特定する。受信装置２１は、コマンドの特定結果に従って、アプリケーションサーバ４０にインターネット９０を介してアクセスし、選局中の放送コンテンツに連動して実行される連動アプリケーションを要求する（Ｓ２０７）。
【０３９６】
アプリケーションサーバ４０は、受信装置２１からの問い合わせに応じて、連動アプリケーションを、インターネット９０を介して受信装置２１に送信する（Ｓ２０８）。受信装置２１は、アプリケーションサーバ４０からの連動アプリケーションを、インターネット９０を介して取得して起動する。
【０３９７】
以上のように、放送通信連携システム２において、受信装置２１が、定期的にフィンガプリント情報をACRサーバ７０に送ることで得られるトリガ情報に応じて、TPTサーバ３０及びアプリケーションサーバ４０との連携動作を行うことで、受信装置２１では選局中の放送コンテンツに連動して実行される連動アプリケーションが取得され、実行される。
【０３９８】
また、ACRサーバ７０からのトリガ情報は、セットトップボックス５０等の専用端末に関係なく、受信装置２１に通知されるので、放送通信連携システム２では、CATV網などの放送伝送路の設備や専用端末の改修をしたり、中継を行う放送事業者の許諾を得たりする作業を伴うことなく、連動アプリケーションを提供することができる。
【０３９９】
［トリガ情報とコマンドの対応関係］
次に、フィンガプリント情報に応じて取得されるトリガ情報に対応付けられたコマンドを、TPTによって特定する処理の例を説明する。図３３は、トリガ情報とコマンドの対応関係の例を示す図である。
【０４００】
図３３に示すように、受信装置２１では、ＴＳより得られるフィンガプリント情報が定期的に抽出されると、当該フィンガプリント情報は、ACRサーバ７０（図中の「ACR処理」）に送信される。ACRサーバ７０では、受信装置２１からのフィンガプリント情報に基づいて、トリガ情報が生成され、受信装置２１に送信される。
【０４０１】
受信装置２１は、定期的に抽出するフィンガプリント情報に応じて、トリガ情報を取得すると、トリガ情報に含まれるdomain_name，segment_idに基づいて、TPTサーバ３０からTPTを取得するか否かが判定される。例えば、受信装置２１は、Segment A用のTPT（for Segment A）を保持している場合に、取得したトリガ情報に含まれるsegment_idの値が変化したとき、TPTサーバ３０にアクセスして、TPTを取得する。これにより、受信装置２１では、図中のTPT（for Segment B）が保持される。
【０４０２】
フィンガプリント情報に応じて取得されるトリガ情報により設定・校正される時計によりTPTに記述された各コマンドを実行する処理については、図１５を参照して説明した処理と同様である。すなわち、例えば、フィンガプリント情報の抽出に応じて定期的に取得されるトリガ情報に含まれるmedia_timeが内部時計に設定され、さらにmedia_timeにより校正されることにより維持される内部時計に基づいて、TPT（for Segment B）に格納された各コマンドの有効期間内に最初に入ったかどうかが判定され、有効なコマンドが特定される。
【０４０３】
例えば、レジスタコマンドが有効である場合、受信装置２１は、レジスタコマンドに応じて、連動アプリケーションを取得して、登録する。また、エクスキュートコマンドが有効である場合、受信装置２１は、エクスキュートコマンドに応じて、取得済みの連動アプリケーションを起動する。
【０４０４】
このように、受信装置２１は、定期的に抽出されるフィンガプリント情報に応じて取得されるトリガ情報を基にして動作する内部時計において放送コンテンツの進行を示す時刻が、有効期間等に基づいた所定の有効条件を満たした場合に、その有効期間等に対応付けられたコマンドに応じて、連動アプリケーションの動作を制御する。
【０４０５】
［放送通信連携システムの他の構成例］
ところで、ACRサーバ７０は、放送コンテンツの放送事業者や制作事業者等とは関係ない一般の事業者によって提供されることが想定される。また、放送通信連携システム２においては、ACRサーバ７０によってACR識別結果に応じたトリガ情報が生成され、受信装置２１に提供されることから、放送事業者等が、トリガ情報をコントロールすることができない場合がある。
【０４０６】
そのため、放送事業者等には、所望のタイミングで、トリガ情報を受信装置２１に送って、連動アプリケーションの動作を制御したいという要望がある。そこで、次に、図３４を参照して、特定の事業者がトリガ情報をコントロールできるようにするための構成について説明する。
【０４０７】
図３４は、放送通信連携システム２の他の構成例を示す図である。この放送通信連携システム２は、送信装置１０、TPTサーバ３０、アプリケーションサーバ４０、ACRサーバ７０、トリガサーバ８０、及び受信装置２１から構成される。
【０４０８】
すなわち、図３４の放送通信連携システム２は、図２９の放送通信連携システム２と比べて、トリガサーバ８０が新たに設けられている。それ以外の構成については、図２９と同様であるため、その説明は適宜省略する。
【０４０９】
トリガサーバ８０は、ライブトリガ情報を管理する。トリガサーバ８０は、受信装置２０からの問い合わせに応じて、管理しているライブトリガ情報を、インターネット９０を介して受信装置２１に提供する。なお、トリガサーバ８０は、放送コンテンツの放送事業者や制作事業者等の事業者により提供され、例えば、送信装置１０と同一の放送局内に配置される。
【０４１０】
受信装置２１は、TPTに記述されたliveTrigger要素に基づいて、インターネット９０を介してトリガサーバ８０にアクセスして、ライブトリガ情報を取得する。
【０４１１】
具体的には、liveTrigger要素のliveTriggerURL属性に、トリガサーバ８０のURLが指定されているので、受信装置２１は、当該URLに従い、トリガサーバ８０にアクセスすることになる。また、liveTrigger要素のpollPeriod属性には、ポーリング間隔を示す情報が指定されているので、受信装置２１は、当該ポーリング間隔に応じて、ライブトリガ情報をトリガサーバ８０に問い合わせる。
【０４１２】
放送通信連携システム２は、以上のように構成される。
【０４１３】
［コマンド特定の方法の他の例］
また、ACR識別処理を用いてトリガ情報を取得する場合であっても、前述した放送信号に含めて送られるトリガ情報を取得する場合と同様に、media_timeの代わりに、event_idやevent_timeを含めたトリガ情報が取得されるようにしてもよい。
【０４１４】
図３５には、図２０と同様に、トリガ情報とコマンドの対応関係の例が図示されている。図３５と図２０には、トリガ情報の取得経路が異なる以外は、同一の内容が記述されている。すなわち、図３５においては、図２０と同様に、コマンドの有効期間に関係なく、event_idによってコマンドが特定され、さらにevent_timeによって当該コマンドを実行する時刻を変更することができるので、放送コンテンツがライブ放送である場合に、放送事業者等の事業者は、所望のタイミングで、コマンド（例えば、イベント付エクスキュートコマンド）を実行させることが可能となる。
【０４１５】
［各装置で行われる具体的な処理の内容］
次に、図３６及び図３７のフローチャートを参照して、図２９又は図３４の放送通信連携システム２を構成する各装置で行われる具体的な処理について説明する。なお、送信装置１０にて実行される送信処理は、図２１の送信処理と同様であり、受信装置２１にて実行される受信処理は、図２２の受信処理と同様であるため、その説明は省略する。
【０４１６】
（ACR識別結果に応じたトリガ情報対応処理）
まず、図３６のフローチャートを参照して、ACR識別結果に応じたトリガ情報対応処理を説明する。すなわち、当該トリガ情報対応処理は、図２２のステップＳ３６に対応するものである。
【０４１７】
ステップＳ２１１において、フィンガプリント抽出部２５１は、所定の時間を経過したか否かを判定。そして、所定の時間が経過した場合、処理は、ステップＳ２１２に進められる。
【０４１８】
ステップＳ２１２において、フィンガプリント抽出部２５１は、オーディオ信号及びビデオ信号のいずれか一方又は双方から特徴量（フィンガプリント情報）を抽出する。
【０４１９】
ステップＳ２１３において、制御部２２１は、通信I/F２２４を制御して、フィンガプリント抽出部２５１により取得されたフィンガプリント情報を、インターネット９０を介してACRサーバ７０に送信することで、トリガ情報を問い合わせる。
【０４２０】
ステップＳ２１４において、制御部２２１は、通信I/F２２４を制御して、ACRサーバ７０からトリガ情報を受信したか否かを判定する。ステップＳ２１４において、トリガ情報を受信していないと判定された場合、処理は、ステップＳ２１１に戻り、以降の処理が繰り返される。一方、ステップＳ２１４において、トリガ情報を受信したと判定された場合、処理は、ステップＳ２１５に進められる。
【０４２１】
ステップＳ２１５乃至Ｓ２２３においては、図２３のステップＳ５２乃至Ｓ６０と同様に、ACRサーバ７０から受信したトリガ情報に含まれるdomain_name，segment_idが変化した場合、TPT解析部２２５によって、TPTが取得され、取得されたTPTが未取得であれば保持される。また、制御部２２１によって、内部時計の示す時刻（media_time）が有効期間内となると判定された場合、その有効なコマンドに応じて、連動アプリケーションの動作が制御される。
【０４２２】
なお、連動アプリケーション制御処理としては、例えば、図２４の第１の連動アプリケーション制御処理、又は図２６の第２の連動アプリケーション制御処理が実行される。これにより、他の連動アプリケーションの終了、休止、又は非表示を制御することができる。
【０４２３】
以上、ACR識別結果に応じたトリガ情報対応処理について説明した。
【０４２４】
（ライブパターンのACR識別結果に応じたトリガ情報対応処理）
次に、図３７のフローチャートを参照して、ACR識別結果に応じたライブパターンのトリガ情報対応処理を説明する。すなわち、当該トリガ情報対応処理は、図２２のステップＳ３６に対応するものである。
【０４２５】
ステップＳ２３１乃至Ｓ２４０においては、図３６のステップＳ２１１乃至Ｓ２２０と同様に、定期的に抽出されるフィンガプリント情報に応じて、ACRサーバ７０から受信したトリガ情報に含まれるdomain_name，segment_idが変化した場合にTPTが取得され、取得されたTPTが未取得であれば保持される。また、ステップＳ２４１，Ｓ２４４においては、図３６のステップＳ２２１，Ｓ２２２と同様に、内部時計の示す時刻が有効期間内となると判定された場合には、その有効なコマンドに応じて、連動アプリケーションの動作が制御される。また、ステップＳ２４３においては、図３６のステップＳ２２３と同様に、内部時計の示す時刻が有効期間内となるコマンドが存在する場合には、処理は、ステップＳ２４２に進められる。
【０４２６】
ステップＳ２４１において、トリガ情報及びTPTに基づいて、コマンドの有効条件を満たすか否かを判定する。ここで、コマンドの有効条件とは、例えば、内部時計の示す時刻が、有効期間内となるか、あるいは有効開始時刻を経過したかなど、コマンドを特定するためにあらかじめ定められる条件である。
【０４２７】
ただし、当該有効条件は、時間や時刻などの時間軸によってのみ定められるものではなく、例えば、前述したように、media_timeの代わりに、event_idを含めたトリガ情報を送って、event_idと、TPTのeventIDをマッチングすることで、有効なコマンドが特定されるようにすることもできる。また、トリガ情報にevent_timeを含めることで、コマンドの有効期間等を変更し、所定のコマンドが有効になる時刻をずらしたりすることもできる。
【０４２８】
以上、ACR識別結果に応じたライブパターンのトリガ情報対応処理について説明した。
【０４２９】
以上で、第２の実施の形態の説明を終了する。
【０４３０】
なお、第１の実施の形態及び第２の実施の形態においては、トリガ情報の取得経路は異なるが、受信装置２０にて取得されるトリガ情報及びTPTの形態は同一であるため、図３８に示すように、それらの実施の形態を同時に運用することもできる。
【０４３１】
＜第３の実施の形態＞
［配信システムの構成例］
前述した説明では、受信装置２０又は受信装置２１が、送信装置１０から送信された放送コンテンツの放送信号を受信する例を説明したが、通信コンテンツが、インターネット９０を介してVOD（Video On Demand）により配信されるようにしてもよい。
【０４３２】
図３９は、第３の実施の形態である配信システム３を示している。図３９においては、図１と対応する箇所には同一の符号が付してあり、その説明は適宜省略する。
【０４３３】
すなわち、図３９では、図１と比較すると、送信装置１０の代わりに、インターネット９０に接続された配信サーバ６０が設けられている。配信サーバ６０は、受信装置２０からの要求に応じて、VODコンテンツ等の通信コンテンツを、インターネット９０を介して、受信装置２０に配信する。また、配信サーバ６０は、VODコンテンツとともに、トリガ情報を受信装置２０に送信する。
【０４３４】
受信装置２０は、配信サーバ６０からVODコンテンツとともに送信されるトリガ情報を抽出し、トリガ情報に含まれるdomain_name，segment_idに応じたTPTを、TPTサーバ３０から取得する。そして、受信装置２０は、配信サーバ６０からのトリガ情報と、TPTサーバ３０からのTPTに基づいて、コマンドを特定し、特定したコマンドに応じて、VODコンテンツに連動して実行される連動アプリケーションの動作を制御することになる。
【０４３５】
このように、受信装置２０は、放送コンテンツを、放送網を介して受信するのみならず、通信コンテンツを、通信網を介して受信することができる。そして、受信装置２０は、放送網と通信網のどちらから受信されたコンテンツであっても、当該コンテンツとともに送信されるトリガ情報に含まれるdomain_name，segment_idに応じたTPTを取得することができる。その結果、受信装置２０は、トリガ情報及びTPTに基づいて、コマンドを特定することができる。
【０４３６】
なお、図３９の配信システム３は、図１の放送通信連携システム１に対応する構成としたが、図２９又は図３４の放送通信連携システム２、すなわち、ACRサーバ７０を設けた構成に対しても同様に、送信装置１０の代わりに、配信サーバ６０を設けた構成とすることができる。
【０４３７】
以上で、第３の実施の形態の説明を終了する。
【０４３８】
なお、前述の説明では、TPTサーバ３０、アプリケーションサーバ４０、ACRサーバ７０、及び配信サーバ６０など、提供する機能ごとにサーバを複数設ける例を説明したが、それらの機能の全部又は一部をまとめて、１又は複数のサーバにより提供されるようにしてもよい。
【０４３９】
［本技術を適用したコンピュータの説明］
前述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０４４０】
図４０は、前述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０４４１】
コンピュータ９００において、CPU（Central Processing Unit）９０１，ROM（Read Only Memory）９０２，RAM（Random Access Memory）９０３は、バス９０４により相互に接続されている。
【０４４２】
バス９０４には、さらに、入出力インタフェース９０５が接続されている。入出力インタフェース９０５には、入力部９０６、出力部９０７、記録部９０８、通信部９０９、及びドライブ９１０が接続されている。
【０４４３】
入力部９０６は、キーボード、マウス、マイクロフォンなどよりなる。出力部９０７は、ディスプレイ、スピーカなどよりなる。記録部９０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部９０９は、ネットワークインタフェースなどよりなる。ドライブ９１０は、光ディスク又は半導体メモリなどのリムーバブルメディア９１１を駆動する。
【０４４４】
以上のように構成されるコンピュータ９００では、CPU９０１が、例えば、記録部９０８に記憶されているプログラムを、入出力インタフェース９０５及びバス９０４を介して、RAM９０３にロードして実行することにより、前述した一連の処理が行われる。
【０４４５】
コンピュータ９００（CPU９０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア９１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
【０４４６】
コンピュータ９００では、プログラムは、リムーバブルメディア９１１をドライブ９１０に装着することにより、入出力インタフェース９０５を介して、記録部９０８にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部９０９で受信し、記録部９０８にインストールすることができる。その他、プログラムは、ROM９０２や記録部９０８に、あらかじめインストールしておくことができる。
【０４４７】
なお、コンピュータ９００が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであってもよいし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであってもよい。
【０４４８】
ここで、本明細書において、コンピュータ９００に各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０４４９】
また、プログラムは、１のコンピュータにより処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
【０４５０】
さらに、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０４５１】
なお、本技術の実施の形態は、前述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０４５２】
例えば、本技術は、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０４５３】
また、前述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０４５４】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０４５５】
なお、本技術は、以下のような構成をとることができる。
【０４５６】
（１）
放送コンテンツを受信する受信部と、
前記放送コンテンツに連動して実行されるアプリケーションプログラムであって、ネットワークを介して配信される前記アプリケーションプログラムの動作を制御するためのコマンドを特定するためのトリガ情報を取得するトリガ情報取得部と、
前記コマンドと、前記コマンドを特定するための情報とが対応付けられた対応テーブルを取得する対応テーブル取得部と、
前記トリガ情報及び前記対応テーブルによって特定される前記コマンドに応じて、対象のアプリケーションプログラムと、それ以外の他のアプリケーションプログラムの動作を制御する制御部と
を備える受信装置。
（２）
前記コマンドは、前記対象のアプリケーションプログラムの動作を制御するためのものであって、前記他のアプリケーションプログラムの動作を制御するための付加情報が関連付けられており、
前記制御部は、前記コマンドに応じて、前記対象のアプリケーションプログラムの動作を制御するとともに、前記付加情報に応じて、前記他のアプリケーションプログラムの動作を制御する
（１）に記載の受信装置。
（３）
前記コマンドは、前記対象のアプリケーションプログラムを起動させるものであって、前記他のアプリケーションプログラムの終了、休止、又は非表示を指示するための付加情報と関連付けられている
（２）に記載の受信装置。
（４）
前記コマンドには、実行中の前記対象のアプリケーションプログラムのイベント発火を指示するための付加情報がさらに関連付けられている
（２）又は（３）に記載の受信装置。
（５）
前記コマンドは、前記対象のアプリケーションプログラムと、前記他のアプリケーションプログラムの双方の動作を制御するためのものであり、
前記制御部は、前記コマンドに応じて、前記対象のアプリケーションプログラムと、前記他のアプリケーションプログラムの双方の動作を制御する
（１）乃至（３）のいずれかに記載の受信装置。
（６）
前記コマンドは、前記対象のアプリケーションプログラムの起動と、前記他のアプリケーションプログラムの終了、休止、又は非表示を制御するためのものである
（５）に記載の受信装置。
（７）
前記コマンドには、実行中の前記対象のアプリケーションプログラムのイベント発火を指示するための付加情報が関連付けられている
（５）又は（６）に記載の受信装置。
（８）
前記トリガ情報は、前記放送コンテンツとともに送信され、
前記トリガ情報取得部は、前記放送コンテンツのデータからトリガ情報を抽出する
（１）乃至（７）のいずれかに記載の受信装置。
（９）
前記放送コンテンツのデータから特徴量を抽出する特徴量抽出部をさらに備え、
前記トリガ情報取得部は、前記特徴量を用いて識別された前記放送コンテンツの識別結果に対応する前記トリガ情報を取得する
（１）乃至（７）のいずれかに記載の受信装置。
（１０）
前記対応テーブルには、前記コマンドと、前記コマンドの有効期間とが対応付けられており、
前記制御部は、前記トリガ情報に基づき計時される前記放送コンテンツの進行を示す時刻が、前記有効期間に基づいた所定の有効条件を満たした場合に、その有効期間に対応付けられたコマンドに応じて、前記対象のアプリケーションプログラムと、前記他のアプリケーションプログラムの動作を制御する
（１）乃至（９）のいずれかに記載の受信装置。
（１１）
前記対応テーブルには、前記コマンドの識別子がさらに対応付けられており、
前記制御部は、前記トリガ情報から得られる前記コマンドの識別子と、前記対応テーブルにて対応付けられた前記コマンドの識別子が一致する場合、その識別子に対応付けられたコマンドに応じて、前記対象のアプリケーションプログラムと、前記他のアプリケーションプログラムの動作を制御する
（１０）に記載の受信装置。
（１２）
受信装置の受信方法において、
前記受信装置が、
放送コンテンツを受信し、
前記放送コンテンツに連動して実行されるアプリケーションプログラムであって、ネットワークを介して配信される前記アプリケーションプログラムの動作を制御するためのコマンドを特定するためのトリガ情報を取得し、
前記コマンドと、前記コマンドを特定するための情報とが対応付けられた対応テーブルを取得し、
前記トリガ情報及び前記対応テーブルによって特定される前記コマンドに応じて、対象のアプリケーションプログラムと、それ以外の他のアプリケーションプログラムの動作を制御する
ステップを含む受信方法。
（１３）
前記放送コンテンツに連動して実行されるアプリケーションプログラムであって、ネットワークを介して配信される複数の前記アプリケーションプログラムの動作を同時に制御するためのコマンドを特定するためのトリガ情報を生成するトリガ情報生成部と、
前記トリガ情報を、放送コンテンツとともに送信する送信部と
を備える送信装置。
（１４）
送信装置の送信方法において、
前記送信装置が、
前記放送コンテンツに連動して実行されるアプリケーションプログラムであって、ネットワークを介して配信される複数の前記アプリケーションプログラムの動作を同時に制御するためのコマンドを特定するためのトリガ情報を生成し、
前記トリガ情報を、放送コンテンツとともに送信する
ステップを含む送信方法。
【符号の説明】
【０４５７】
１，２  放送通信連携システム，  １０  送信装置，  ２０，２１  受信装置，  ３０  TPTサーバ，  ４０  アプリケーションサーバ，  ７０  ACRサーバ，  ８０  トリガサーバ，  １１２  トリガ情報生成部，  １１７  送信部，  ２１２  チューナ，  ２２０  トリガ情報抽出部，  ２２１  制御部，  ２２４  通信I/F，  ２２５  TPT解析部，  ２２６  アプリケーションエンジン，  ２５１  フィンガプリント抽出部，  ９００  コンピュータ，  ９０１  CPU
【図１】
2014007146.tif 000003
【図２】
2014007146.tif 000004
【図３】
2014007146.tif 000005
【図４】
2014007146.tif 000006
【図５】
2014007146.tif 000007
【図６】
2014007146.tif 000008
【図７】
2014007146.tif 000009
【図８】
2014007146.tif 000010
【図９】
2014007146.tif 000011
【図１０】
2014007146.tif 000012
【図１１】
2014007146.tif 000013
【図１２】
2014007146.tif 000014
【図１３】
2014007146.tif 000015
【図１４】
2014007146.tif 000016
【図１５】
2014007146.tif 000017
【図１６】
2014007146.tif 000018
【図１７】
2014007146.tif 000019
【図１８】
2014007146.tif 000020
【図１９】
2014007146.tif 000021
【図２０】
2014007146.tif 000022
【図２１】
2014007146.tif 000023
【図２２】
2014007146.tif 000024
【図２３】
2014007146.tif 000025
【図２４】
2014007146.tif 000026
【図２５】
2014007146.tif 000027
【図２６】
2014007146.tif 000028
【図２７】
2014007146.tif 000029
【図２８】
2014007146.tif 000030
【図２９】
2014007146.tif 000031
【図３０】
2014007146.tif 000032
【図３１】
2014007146.tif 000033
【図３２】
2014007146.tif 000034
【図３３】
2014007146.tif 000035
【図３４】
2014007146.tif 000036
【図３５】
2014007146.tif 000037
【図３６】
2014007146.tif 000038
【図３７】
2014007146.tif 000039
【図３８】
2014007146.tif 000040
【図３９】
2014007146.tif 000041
【図４０】
2014007146.tif 000042
【国際調査報告】
2014007146.tif 000043
2014007146.tif 000044