(57)【要約】  本技術は、AVコンテンツに連動して実行されるアプリケーションプログラムを適切にキャッシュすることができるようにする受信装置、受信方法、送信装置、及び送信方法に関する。キャッシュメモリは、受信したAVコンテンツに連動して実行されるアプリケーションプログラムを一時的に記録し、制御部は、キャッシュメモリに記録されるアプリケーションプログラムが複数存在する場合に、当該アプリケーションプログラムごとにあらかじめ指定される所定の頻度に応じた優先度に従い、キャッシュメモリを制御する。本技術は、例えば、デジタルテレビジョン放送信号を受信するテレビジョン受像機に適用することができる。
2014021125.tif 000002
【特許請求の範囲】
【請求項１】
AVコンテンツを受信する受信部と、
前記AVコンテンツに連動して実行されるアプリケーションプログラムを一時的に記録するキャッシュメモリと、
前記アプリケーションプログラムが複数存在する場合に、前記アプリケーションプログラムごとにあらかじめ指定される所定の頻度に応じた優先度に従い、前記キャッシュメモリを制御する制御部と
を備える受信装置。
【請求項２】
前記優先度は、前記アプリケーションプログラムの利用頻度及び更新頻度のいずれか一方又は双方に基づき定められる
請求項１に記載の受信装置。
【請求項３】
前記アプリケーションプログラムは、その提供事業者によって、優先すべきものと、そうでないものとに分類されており、
前記優先度は、優先すべきものとして分類されたアプリケーションプログラムの優先度が、優先すべきでないものとして分類されたアプリケーションプログラムの優先度よりも、常に高くなるように定められる
請求項２に記載の受信装置。
【請求項４】
前記受信装置で得られる情報であって、前記優先度を定めるために用いられる端末情報を取得する端末情報取得部をさらに備え、
前記優先度は、前記端末情報に基づき定められる
請求項２に記載の受信装置。
【請求項５】
前記端末情報は、前記アプリケーションプログラムの利用履歴、又は前記キャッシュメモリのキャッシュ容量若しくは空き容量を示す情報である
請求項４に記載の受信装置。
【請求項６】
前記優先度は、前記アプリケーションプログラムごとにあらかじめ指定される有効期限に基づき定められる
請求項２に記載の受信装置。
【請求項７】
前記アプリケーションプログラムの動作を制御するためのコマンドを特定するためのトリガ情報を取得するトリガ情報取得部と、
前記トリガ情報から得られる情報と、前記コマンドとが対応付けられた対応テーブルを取得する対応テーブル取得部と
をさらに備え、
前記制御部は、前記トリガ情報及び前記対応テーブルにより特定される前記コマンドに応じて、前記アプリケーションプログラムの動作を制御する
請求項１に記載の受信装置。
【請求項８】
前記優先度は、前記対応テーブルにより指定される、前記アプリケーションプログラムの利用頻度、更新頻度、若しくは有効期限、又は提供事業者による前記アプリケーションプログラムの優先度に応じた分類結果によって定められる
請求項７に記載の受信装置。
【請求項９】
受信装置の受信方法において、
前記受信装置が、
AVコンテンツを受信し、
前記AVコンテンツに連動して実行されるアプリケーションプログラムが複数存在する場合に、前記アプリケーションプログラムごとにあらかじめ指定される所定の頻度に応じた優先度に従い、前記アプリケーションプログラムを一時的に記録するキャッシュメモリを制御する
ステップを含む受信方法。
【請求項１０】
AVコンテンツに連動して実行されるアプリケーションプログラムであって、前記アプリケーションプログラムが複数存在する場合に、前記アプリケーションプログラムごとにあらかじめ指定される所定の頻度に応じた優先度に従ってキャッシュメモリに記録される前記アプリケーションプログラムの動作を制御するためのトリガ情報を生成する生成部と、
前記トリガ情報を、前記AVコンテンツとともに送信する送信部と
を備える送信装置。
【請求項１１】
送信装置の送信方法において、
前記送信装置が、
AVコンテンツに連動して実行されるアプリケーションプログラムであって、前記アプリケーションプログラムが複数存在する場合に、前記アプリケーションプログラムごとにあらかじめ指定される所定の頻度に応じた優先度に従ってキャッシュメモリに記録される前記アプリケーションプログラムの動作を制御するためのトリガ情報を生成し、
前記トリガ情報を、前記AVコンテンツとともに送信する
ステップを含む送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、受信装置、受信方法、送信装置、及び送信方法に関し、特に、AVコンテンツに連動して実行されるアプリケーションプログラムを適切にキャッシュすることができるようにした受信装置、受信方法、送信装置、及び送信方法に関する。
【背景技術】
【０００２】
近年、デジタル放送の分野においては、放送を利用したサービスだけでなく、インターネットと連携した連携サービスの導入が想定されている（例えば、特許文献１参照）。このような放送と通信の連携サービスでは、インターネット配信されるアプリケーションプログラムを、テレビ番組等の放送コンテンツに連動して実行させることが可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−６６５５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、放送コンテンツを受信する受信装置において、複数のアプリケーションプログラムが取得された場合には、それらをキャッシュメモリにキャッシュすることになるが、キャッシュ容量は有限となるため、再度利用される可能性の高いアプリケーションプログラムを優先的にキャッシュする必要がある。【０００５】
そのため、受信装置において、キャッシュ制御を適切に行い、再度利用される可能性の高いアプリケーションプログラムを優先的にキャッシュすることが求められている。【０００６】
本技術はこのような状況に鑑みてなされたものであり、放送コンテンツ等のAVコンテンツに連動して実行されるアプリケーションプログラムを適切にキャッシュすることができるようにするものである。
【課題を解決するための手段】
【０００７】
本技術の第１の側面の受信装置は、AVコンテンツを受信する受信部と、前記AVコンテンツに連動して実行されるアプリケーションプログラムを一時的に記録するキャッシュメモリと、前記アプリケーションプログラムが複数存在する場合に、前記アプリケーションプログラムごとにあらかじめ指定される所定の頻度に応じた優先度に従い、前記キャッシュメモリを制御する制御部とを備える。【０００８】
前記優先度は、前記アプリケーションプログラムの利用頻度及び更新頻度のいずれか一方又は双方に基づき定められる。【０００９】
前記アプリケーションプログラムは、その提供事業者によって、優先すべきものと、そうでないものとに分類されており、前記優先度は、優先すべきものとして分類されたアプリケーションプログラムの優先度が、優先すべきでないものとして分類されたアプリケーションプログラムの優先度よりも、常に高くなるように定められる。【００１０】
前記受信装置で得られる情報であって、前記優先度を定めるために用いられる端末情報を取得する端末情報取得部をさらに備え、前記優先度は、前記端末情報に基づき定められる。【００１１】
前記端末情報は、前記アプリケーションプログラムの利用履歴、又は前記キャッシュメモリのキャッシュ容量若しくは空き容量を示す情報である。【００１２】
前記優先度は、前記アプリケーションプログラムごとにあらかじめ指定される有効期限に基づき定められる。【００１３】
前記アプリケーションプログラムの動作を制御するためのコマンドを特定するためのトリガ情報を取得するトリガ情報取得部と、前記トリガ情報から得られる情報と、前記コマンドとが対応付けられた対応テーブルを取得する対応テーブル取得部とをさらに備え、前記制御部は、前記トリガ情報及び前記対応テーブルにより特定される前記コマンドに応じて、前記アプリケーションプログラムの動作を制御する。【００１４】
前記優先度は、前記対応テーブルにより指定される、前記アプリケーションプログラムの利用頻度、更新頻度、若しくは有効期限、又は提供事業者による前記アプリケーションプログラムの優先度に応じた分類結果によって定められる。【００１５】
受信装置は、独立した装置であってもよいし、１つの装置を構成している内部ブロックであってもよい。【００１６】
本技術の第１の側面の受信方法又はプログラムは、本技術の第１の側面の受信装置に対応する受信方法又はプログラムである。【００１７】
本技術の第１の側面の受信装置、受信方法、及びプログラムにおいては、AVコンテンツが受信され、前記AVコンテンツに連動して実行されるアプリケーションプログラムが複数存在する場合に、前記アプリケーションプログラムごとにあらかじめ指定される所定の頻度に応じた優先度に従い、前記アプリケーションプログラムを一時的に記録するキャッシュメモリが制御される。【００１８】
本技術の第２の側面の送信装置は、AVコンテンツに連動して実行されるアプリケーションプログラムであって、前記アプリケーションプログラムが複数存在する場合に、前記アプリケーションプログラムごとにあらかじめ指定される所定の頻度に応じた優先度に従ってキャッシュメモリに記録される前記アプリケーションプログラムの動作を制御するためのトリガ情報を生成する生成部と、前記トリガ情報を、前記AVコンテンツとともに送信する送信部とを備える。【００１９】
送信装置は、独立した装置であってもよいし、１つの装置を構成している内部ブロックであってもよい。【００２０】
本技術の第２の側面の送信方法は、本技術の第２の側面の送信装置に対応する送信方法である。【００２１】
本技術の第２の側面の送信装置及び送信方法においては、AVコンテンツに連動して実行されるアプリケーションプログラムであって、前記アプリケーションプログラムが複数存在する場合に、前記アプリケーションプログラムごとにあらかじめ指定される所定の頻度に応じた優先度に従ってキャッシュメモリに記録される前記アプリケーションプログラムの動作を制御するためのトリガ情報が生成され、前記トリガ情報が、前記AVコンテンツとともに送信される。
【発明の効果】
【００２２】
本技術の第１の側面及び第２の側面によれば、AVコンテンツに連動して実行されるアプリケーションプログラムを適切にキャッシュすることができる。
【図面の簡単な説明】
【００２３】
【図１】放送通信連携システムの構成例を示す図である。
【図２】送信装置の構成例を示す図である。
【図３】受信装置の構成例を示す図である。
【図４】トリガ情報の詳細な構成を示す図である。
【図５】TPTの詳細な構成を示す図である。
【図６】AMTの詳細な構成を示す図である。
【図７】連動アプリケーションのキャッシュの概念を示す図である。
【図８】優先度に応じたキャッシュ制御を説明するための図である。
【図９】連動アプリケーションの利用頻度を用いた優先度の設定方法を説明するための図である。
【図１０】連動アプリケーションの更新頻度を用いた優先度の設定方法を説明するための図である。
【図１１】事業者優先アプリケーションを説明するための図である。
【図１２】連動アプリケーション取得時の通信量を説明するための図である。
【図１３】優先ランクと通常ランクを説明するための図である。
【図１４】送信処理を説明するためのフローチャートである。
【図１５】受信処理を説明するためのフローチャートである。
【図１６】キャッシュ制御処理を説明するためのフローチャートである。
【図１７】優先度の算出方法の具体例を示す図である。
【図１８】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照しながら本技術の実施の形態について説明する。
【００２５】
［放送通信連携システムの構成例］
図１は、放送通信連携システム１を示している。この放送通信連携システム１は、送信装置１０、受信装置２０、TPT/AMTサーバ３０、及びアプリケーションサーバ４０から構成される。
【００２６】
また、受信装置２０、TPT/AMTサーバ３０、及びアプリケーションサーバ４０は、インターネット９０を介して、相互に接続されている。
【００２７】
送信装置１０は、テレビ番組やＣＭ等の放送コンテンツを、デジタルテレビジョン放送信号（以下、単に放送信号という）により送信（放送）する。送信装置１０は、例えば、放送事業者により提供され、その放送局内に配置される。
【００２８】
また、送信装置１０は、連動アプリケーションの動作を制御するためのトリガ情報を、放送信号に含めて送信する。ここで、連動アプリケーションとは、放送コンテンツに連動して実行されるアプリケーションプログラムである。
【００２９】
受信装置２０は、送信装置１０から送信された放送信号を受信して、放送コンテンツの映像及び音声を取得する。受信装置２０は、放送コンテンツの映像をディスプレイに表示し、音声をスピーカから出力する。
【００３０】
なお、以下、受信装置２０は、テレビジョン受像機であるとして説明するが、それに限らず、例えば、ディスプレイやスピーカを有さない構成とすることで、ビデオレコーダ等の電子機器に内蔵されるようにしてもよい。
【００３１】
受信装置２０は、送信装置１０からのトリガ情報が抽出された場合、当該トリガ情報に含まれる時刻情報に基づいて、内部時計（以下、メディアクロック（Media Clock）という）の時刻を設定又は校正する。また、受信装置２０は、送信装置１０からのトリガ情報に応じて、インターネット９０を介してTPT/AMTサーバ３０にアクセスして、TPT及びAMTを取得する。
【００３２】
TPT/AMTサーバ３０は、TPT及びAMTを管理している。TPT/AMTサーバ３０は、放送コンテンツの制作事業者、放送事業者その他の事業者により提供される。
【００３３】
ここで、TPT（Trigger Parameters Table）は、連動アプリケーションに対するコマンド（イベント）を特定するためのテーブルである。例えば、TPTには、特定の連動アプリケーションに対するコマンドを特定するための識別子と、当該コマンドとが対応付けられている。
【００３４】
また、AMT（Activation Messages Table）は、連動アプリケーションに対するコマンド（イベント）が実行されるべき時刻を指示するためのテーブルである。例えば、AMTには、特定の連動アプリケーションに対するコマンドを特定するための識別子と、当該識別子ごとの有効期間や有効時刻とが対応付けられている。ただし、コマンドの有効期間や有効時刻は、放送コンテンツの進行にあわせて決定される。
【００３５】
すなわち、TPTとAMTによって、所定のタイミングで実行すべき、特定の連動アプリケーションに対するコマンド（イベント）が特定される。
【００３６】
TPT/AMTサーバ３０は、受信装置２０からの問い合わせに応じて、インターネット９０を介してTPT及びAMTを提供する。
【００３７】
受信装置２０は、メディアクロックに基づいて、TPT及びAMTを参照することで、特定の連動アプリケーションに対するコマンドを特定する。そして、受信装置２０は、特定したコマンドに応じて、連動アプリケーションの動作を制御する。
【００３８】
また、受信装置２０は、特定したコマンドに応じて、インターネット９０を介してアプリケーションサーバ４０にアクセスし、連動アプリケーションを取得する。
【００３９】
アプリケーションサーバ４０は、連動アプリケーションを管理している。アプリケーションサーバ４０は、放送コンテンツの制作事業者、放送事業者その他の事業者により提供される。
【００４０】
アプリケーションサーバ４０は、受信装置２０からの問い合わせに応じて、インターネット９０を介して連動アプリケーションを提供する。
【００４１】
なお、図１では、説明を簡略化するため、１つの受信装置２０しか図示していないが、実際には、放送通信連携システム１は、複数の受信装置２０を含むようにして構成される。
【００４２】
放送通信連携システム１は、以上のように構成される。
【００４３】
［送信装置の構成例］
図２は、図１の送信装置１０の構成例を示している。
【００４４】
図２に示すように、送信装置１０は、音声取得部１１１、オーディオエンコーダ１１２、映像取得部１１３、トリガ情報生成部１１４、ビデオエンコーダ１１５、多重化部１１６、送信部１１７、及びアンテナ１１８から構成される。
【００４５】
音声取得部１１１は、外部のサーバ、マイクロフォン、又は記録媒体等から、放送コンテンツのオーディオ信号を取得し、オーディオエンコーダ１１２に供給する。
【００４６】
オーディオエンコーダ１１２は、音声取得部１１１から供給されるオーディオ信号を、MPEG（Moving Picture Experts Group）2等の符号化方式に準拠して符号化し、その結果得られるオーディオストリームを、多重化部１１６に供給する。
【００４７】
映像取得部１１３は、外部のサーバ、カメラ、又は記録媒体等から、放送コンテンツのビデオ信号を取得し、トリガ情報生成部１１４及びビデオエンコーダ１１５に供給する。
【００４８】
トリガ情報生成部１１４は、トリガ情報を生成し、ビデオエンコーダ１１５に供給する。例えば、トリガ情報は、映像取得部１１３から供給されるビデオ信号に対応する放送コンテンツの進行に応じて生成される。
【００４９】
ビデオエンコーダ１１５は、映像取得部１１３から供給されるビデオ信号を、MPEG2等の符号化方式に準拠して符号化する。
【００５０】
また、ビデオエンコーダ１１５は、符号化により得られるビデオストリーム内にトリガ情報を配置する。例えば、トリガ情報は、ビデオストリームのユーザデータ領域の字幕データ内に配置される。
【００５１】
トリガ情報を含むビデオストリームは、多重化部１１６に供給される。
【００５２】
多重化部１１６には、オーディオエンコーダ１１２からのオーディオストリームと、ビデオエンコーダ１１５からのビデオストリームを多重化し、その結果得られるトランスポートストリームを、送信部１１７に供給する。
【００５３】
送信部１１７は、多重化部１１６から供給されるトランスポートストリームを、アンテナ１１８を介して、放送信号として送信する。
【００５４】
送信装置１０は、以上のように構成される。
【００５５】
［受信装置の構成例］
図３は、図１の受信装置２０の構成例を示している。
【００５６】
図３に示すように、受信装置２０は、チューナ２１２、多重分離部２１３、オーディオデコーダ２１４、オーディオ出力部２１５、スピーカ２１６、ビデオデコーダ２１７、ビデオ出力部２１８、及びディスプレイ２１９から構成される。
【００５７】
また、受信装置２０には、連動アプリケーションを動作させるために、トリガ情報抽出部２２０、制御部２２１、メモリ２２２、操作部２２３、通信I/F２２４、TPT/AMT解析部２２５、アプリケーションエンジン２２６、キャッシュメモリ２２７、アプリケーション用メモリ２２８、及び端末情報取得部２２９が含まれる。
【００５８】
チューナ２１２は、アンテナ２１１を介して受信された放送信号を復調し、その結果得られるトランスポートストリームを多重分離部２１３に供給する。
【００５９】
多重分離部２１３は、チューナ２１２から供給されるトランスポートストリームを、オーディオストリームと、ビデオストリームに分離し、それぞれをオーディオデコーダ２１４と、ビデオデコーダ２１７に供給する。
【００６０】
オーディオデコーダ２１４は、多重分離部２１３から供給されるオーディオストリームを、MPEG2等のオーディオエンコーダ１１２（図２）による符号化方式に対応する復号方式で復号し、その結果得られるオーディオ信号を、オーディオ出力部２１５に供給する。
【００６１】
オーディオ出力部２１５は、オーディオデコーダ２１４から供給されるオーディオ信号を、スピーカ２１６に供給する。スピーカ２１６は、オーディオ出力部２１５から供給されるオーディオ信号に対応する音声を出力する。
【００６２】
ビデオデコーダ２１７は、多重分離部２１３から供給されるビデオストリームを、MPEG2等のビデオエンコーダ１１５（図２）による符号化方式に対応する復号方式で復号し、その結果得られるビデオ信号を、ビデオ出力部２１８に供給する。
【００６３】
ビデオ出力部２１８は、ビデオデコーダ２１７から供給されるビデオ信号を、ディスプレイ２１９に供給する。ディスプレイ２１９は、ビデオ出力部２１８から供給されるビデオ信号に対応する映像を表示する。
【００６４】
トリガ情報抽出部２２０は、多重分離部２１３により分離されたビデオストリームを常に監視して、ビデオストリーム内に配置されるトリガ情報を抽出（取得）し、制御部２２１に供給する。
【００６５】
制御部２２１は、メモリ２２２にあらかじめ記憶されている制御用プログラムを実行することにより受信装置２０の各部の動作を制御する。
【００６６】
メモリ２２２には、制御部２２１によって実行される制御用プログラムがあらかじめ記憶されている。操作部２２３は、ユーザからの各種の操作を受け付けて、それに対応する操作信号を制御部２２１に通知する。
【００６７】
また、制御部２２１は、トリガ情報抽出部２２０から供給されるトリガ情報に応じて、通信I/F２２４を制御して、インターネット９０を介してTPT/AMTサーバ３０にアクセスし、TPT及びAMTを要求する。通信I/F２２４は、制御部２２１からの制御に従い、TPT/AMTサーバ３０から送信されてくるTPT及びAMTを受信し、TPT/AMT解析部２２５に供給する。
【００６８】
TPT/AMT解析部２２５は、通信I/F２２４から供給されるTPT及びAMTを取得する。TPT/AMT解析部２２５は、取得したTPT及びAMTを解析し、その解析結果を、内部に備えるメモリ（不図示）に保持する。また、TPT/AMT解析部２２５は、制御部２２１からの要求に応じて、メモリに保持しているTPT及びAMTの解析結果を通知する。
【００６９】
制御部２２１は、トリガ情報抽出部２２０から供給されるトリガ情報に含まれる時刻情報に基づいて、メディアクロックの設定又は校正を行う。
【００７０】
また、制御部２２１は、TPT/AMT解析部２２５からのTPT及びAMTの解析結果と、メディアクロックの示す時刻に基づいて、特定の連動アプリケーションに対するコマンドを特定する。例えば、制御部２２１は、メディアクロックの示す時刻が、コマンドの有効期間に最初に入ったときなど、所定の有効条件を満たした場合に、その有効なコマンドを特定する。
【００７１】
なお、送信装置１０からのトリガ情報に、特定の連動アプリケーションに対するコマンドを特定するための識別子が含まれている場合、制御部２２１は、TPT及びAMTの解析結果を参照して、当該識別子に対応する、特定の連動アプリケーションに対するコマンドを特定する。
【００７２】
制御部２２１は、特定したコマンドに応じて、アプリケーションエンジン２２６を制御して、連動アプリケーションの動作を制御する。
【００７３】
アプリケーションエンジン２２６は、制御部２２１からの制御に従い、通信I/F２２４を制御して、インターネット９０を介してアプリケーションサーバ４０にアクセスし、連動アプリケーションを要求する。通信I/F２２４は、アプリケーションサーバ４０から送信されてくる連動アプリケーションを受信し、キャッシュメモリ２２７に保持させる。
【００７４】
アプリケーションエンジン２２６は、制御部２２１からの制御に従い、キャッシュメモリ２２７に保持されている連動アプリケーションを読み出して実行する。実行中の連動アプリケーションのビデオ信号は、ビデオ出力部２１８に供給される。
【００７５】
ビデオ出力部２１８は、アプリケーションエンジン２２６から供給されるビデオ信号を、ビデオデコーダ２１７から供給されたビデオ信号と合成し、それにより得られる映像を、ディスプレイ２１９に表示させる。
【００７６】
アプリケーション用メモリ２２８は、ワークメモリ２２８Ａ及び退避メモリ２２８Ｂとからなる。アプリケーションエンジン２２６は、実行中の連動アプリケーションに関するデータをワークメモリ２２８Ａに記録する。
【００７７】
また、アプリケーションエンジン２２６は、実行中の連動アプリケーションを休止する場合、アプリケーション用メモリ２２８のワークメモリ２２８Ａのデータを退避メモリ２２８Ｂに移動させる。そして、休止した連動アプリケーションを再開する場合、退避メモリ２２８Ｂのデータをワークメモリ２２８Ａに移動させて休止前の状態を復活させる。
【００７８】
端末情報取得部２２９は、キャッシュメモリ２２７に保持される連動アプリケーションの優先度を定めるために用いられる端末情報を取得し、制御部２２１に供給する。当該端末情報には、例えば、連動アプリケーションの利用履歴などが含まれる。
【００７９】
制御部２２１は、複数の連動アプリケーションが存在する場合には、キャッシュメモリ２２７を制御して、より優先度の高い連動アプリケーションが優先的に記録されるようにする。具体的には、制御部２２１は、TPT/AMT解析部２２５からのTPT及びAMTの解析結果、端末情報取得部２２９からの端末情報、又はキャッシュメモリ２２７のキャッシュ容量若しくは空き容量などに基づいて、キャッシュメモリ２２７を制御する。
【００８０】
受信装置２０は、以上のように構成される。
【００８１】
［トリガ情報の詳細］
次に、図４を参照して、トリガ情報の詳細な構成について説明する。
【００８２】
トリガ情報は、domain_name，segment_id，media_time，event_id，event_time，spread，additional_informationを含む。
【００８３】
domain_nameには、所定のサーバを特定するためのドメイン名を示す情報が指定される。例えば、domain_nameには、TPT/AMTサーバ３０を提供する事業者の名称に対応するドメイン名が指定される。
【００８４】
segment_idには、放送コンテンツのセグメント（特定の区間）を識別するためのIDが指定される。なお、事業者は、任意のIDを指定することができる。
【００８５】
media_timeには、放送コンテンツの進行時間軸上の特定の時間位置を示す情報が指定される。例えば、media_timeには、放送コンテンツの進行時間軸上の開始時刻や午前０時（0:00）等の特定の時刻を基準にして、その基準時刻からの時刻が指定される。ただし、media_timeに指定される時刻は、例えば秒やミリ秒単位とされる。
【００８６】
event_idには、TPT及びAMTにより特定されるコマンドを識別するためのIDが指定される。また、event_timeには、当該コマンドを実行する時刻を示す情報が指定される。
【００８７】
spreadには、トリガ情報を適用するタイミングを確率的に分散させるための情報が指定される。
【００８８】
additional_informationには、連動アプリケーションの動作を制御するのに用いられる付加情報が指定される。
【００８９】
トリガ情報は、以上のように構成される。
【００９０】
［TPTの詳細な構成］
次に、TPTの詳細な構成について説明する。
【００９１】
図５は、TPTの詳細仕様の一例を示す図である。TPTは、例えば、XML（Extensible Markup Language）などのマークアップ言語により記述される。
【００９２】
図５に示すように、TPTのルート要素には、TPT要素が記述される。TPT要素には、連動アプリケーションの動作を制御するためのコマンド（イベント）などの情報が記述される。
【００９３】
TPT要素は、protocolVersion属性、id属性、tptVersion属性、updatingTime属性、expireDate属性、serviceId属性、baseURL属性、Capabilities要素、LiveTrigger要素、及びApplication要素を含む。
【００９４】
protocolVersion属性には、当該TPTに定義された仕様のバージョンを示す情報が指定される。当該バージョンは、メジャーバージョンとマイナーバージョンからなる。
【００９５】
id属性には、当該TPTを識別するためのIDが指定される。例えば、id属性には、domain_nameと、program_idとを“/”により連結した文字列が指定される。ただし、program_idは、segment_idに対応するものであって、放送コンテンツを識別可能なIDとされる。
【００９６】
tptVersion属性には、当該TPTのバージョンを示す情報が指定される。
【００９７】
updatingTime属性には、当該TPTの更新期間を示す情報が指定される。
【００９８】
expireDate属性には、当該TPTの有効期限を示す情報が指定される。
【００９９】
serviceId属性には、放送信号に含めて伝送されるサービスのうち、連動アプリケーションが、どのサービスで伝送されるかを示すIDが指定される。例えば、連動アプリケーションがNRTサービスで伝送される場合、serviceId属性には、NRTサービスのservice_idが指定される。
【０１００】
なお、NRT（Non-RealTime）サービスとは、FLUTE（File Delivery over Unidirectional Transport）セッションを利用して伝送されるNRTコンテンツを、一旦受信機のストレージに蓄積させた後で、再生を行わせるサービスである。NRTサービスを利用する場合には、NRTコンテンツの代わりに、連動アプリケーションが伝送されることになる。
【０１０１】
baseURL属性には、当該TPTで指定されるURLのベースとなるURLが指定される。例えば、baseURL属性には、“http://xbc.com”が指定される。従って、当該TPTで指定される他のURLには、ベースURLを基準とした場合の相対的なパスを指定すればよいことになる。
【０１０２】
Capabilities要素には、当該TPTを用いて連動アプリケーションの動作を制御するに際し、受信装置２０に要求される機能を示す情報が指定される。すなわち、受信装置２０は、Capabilities要素にて指定された機能を有する場合に、当該TPTを利用可能であると判断する。一方、受信装置２０が指定された機能を有しない場合には、当該TPTは無視される。
【０１０３】
LiveTrigger要素は、TPT要素の子要素であって、放送コンテンツをライブ放送する場合に、放送事業者等が、所望のタイミングでコマンドを実行させるためのトリガ情報（以下、ライブトリガ情報という）に関する情報が記述される。liveTrigger要素は、URL属性、deliveryType属性、及びpollPeriod属性を含む。
【０１０４】
URL属性には、ライブトリガ情報を提供するトリガサーバ（不図示）にアクセスするためのURLが記述される。
【０１０５】
deliveryType属性には、ライブトリガ情報を受信する際の規定が指定される。deliveryType属性には、“Streaming”，“long polling”，“short polling”が指定される。
【０１０６】
pollPeriod属性には、ライブトリガ情報を、トリガサーバに問い合わせる間隔を示す時間が指定される。当該時間は、例えば、秒単位で指定される。
【０１０７】
Application要素は、TPT要素の子要素であって、連動アプリケーションに関する情報が記述される。Application要素は、appID属性、appType属性、appName属性、globalId属性、appVersion属性、testApp属性、cookieSpace属性、frequencyOfUse属性、frequencyOfUpdate属性、expireDate属性、availInternet属性、availBroadcast属性、URL要素、Capabilities要素、ContentItem要素、及びEvent要素を含む。
【０１０８】
appID属性には、当該連動アプリケーションを識別するためのIDが指定される。
【０１０９】
appType属性には、当該連動アプリケーションのファイル属性等に関する情報が指定される。
【０１１０】
appName属性には、当該連動アプリケーションの名称を示す情報が指定される。例えば、複数の連動アプリケーションが起動可能である場合に、それらの名称をユーザに提示して選択させることで、所望の連動アプリケーションが起動されるようにする。
【０１１１】
globalId属性には、当該連動アプリケーションをグローバルに識別可能なURI（Uniform Resource Identifier）が指定される。
【０１１２】
appVersion属性には、当該連動アプリケーションのバージョンを示す情報が指定される。
【０１１３】
testApp属性は、当該連動アプリケーションが、例えば製品開発のテスト目的で使用される場合に指定される。従って、通常の運用においては、当該testApp属性は無視される。
【０１１４】
cookieSpace属性には、当該連動アプリケーションを実行する際に必要となるストレージの容量を示す情報が指定される。
【０１１５】
frequencyOfUse属性には、当該連動アプリケーションがどれくらいの頻度で利用されるかを示す情報が指定される。例えば、この利用頻度は、時間単位や日単位で指定され、利用頻度が高い連動アプリケーションを、優先的にキャッシュすることができる。
【０１１６】
frequencyOfUpdate属性には、当該連動アプリケーションがどれくらいの頻度で更新されるかを示す情報が指定される。例えば、この更新頻度は、時間単位や日単位で指定され、更新頻度が高い連動アプリケーションを、優先的にキャッシュすることができる。
【０１１７】
expireDate属性には、当該連動アプリケーションの有効期限を示す情報が指定される。
【０１１８】
availInternet属性には、当該連動アプリケーションが、インターネット配信されるか否かを示す情報が指定される。
【０１１９】
availBroadcast属性には、当該連動アプリケーションが、放送配信されるか否かを示す情報が指定される。
【０１２０】
URL要素には、当該連動アプリケーションの取得先を示すURLが指定される。例えば、URL要素には、アプリケーションサーバ４０のURLが指定される。ただし、前述のベースURLとして、例えば“http://xbc.com”が指定されている場合、当該URL要素には、それに続く“/”以降の文字列が指定されることになる。
【０１２１】
Capabilities要素には、当該連動アプリケーションを実行するに際し、受信装置２０に要求される機能を示す情報が指定される。すなわち、受信装置２０は、Capabilities要素にて指定された機能を有する場合に、当該連動アプリケーションを実行可能であると判断する。
【０１２２】
ContentItem要素は、Application要素の子要素であって、当該連動アプリケーションを構成するファイル（例えば、HTMLファイルやJPEGファイルなど）のキャッシュに関する情報が記述される。ContentItem要素は、URL要素、updatesAvail要素、及びSize要素を含む。
【０１２３】
URL属性には、キャッシュされるファイルのURLが指定される。
【０１２４】
updatesAvail属性には、キャッシュされるファイルの更新に関する情報が指定される。
【０１２５】
Size属性には、キャッシュされるファイルのサイズを示す情報が指定される。
【０１２６】
Event要素は、Application要素の子要素であって、連動アプリケーションの動作を制御するための情報が記述される。Event要素は、eventId属性、destination属性、action属性、diffusion属性、及びdata要素を含む。
【０１２７】
eventId属性には、コマンド（イベント）を識別するためのIDが指定される。
【０１２８】
destination属性には、当該コマンドによる連動アプリケーションの制御対象となる機器が指定される。ここでは、受信装置２０のほか、例えば、受信装置２０に外部装置（不図示）が接続される場合には、その外部装置が、コマンドの対象機器として指定される。
【０１２９】
例えば、destination属性には、コマンドの対象機器が、高画質に対応したテレビジョン受像機である場合に、“HDTV（High Definition Television）”が指定され、標準画質に対応したテレビジョン受像機である場合には、“SDTV（Standard Definition Television）”が指定される。また、コマンドの対象機器が外部装置となる場合には、“external_1”や“external_2”などが指定される。
【０１３０】
action属性には、当該コマンドとして、“register”，“execute”，“suspend”，“terminate”，“stream-event”等が指定される。
【０１３１】
レジスタ（register）は、連動アプリケーションの取得又は登録を指示するためのコマンドである。ここで、連動アプリケーションの登録とは、取得した連動アプリケーションに対応付けて、その優先度と有効期限を記憶することを意味する。
【０１３２】
エクスキュート（execute）は、連動アプリケーションの取得又は起動を指示するためのコマンドである。また、エクスキュートコマンドは、指定された連動アプリケーションが休止している場合に、その連動アプリケーションの実行を再開させる。
【０１３３】
サスペンド（suspend）は、実行中の連動アプリケーションを中断して、休止させるためのコマンドである。
【０１３４】
ターミネート（terminate）は、実行中の連動アプリケーションを終了させるためのコマンドである。
【０１３５】
ストリームイベント（stream-event）は、実行中の連動アプリケーションにおいてイベントを発火させるためのコマンドである。
【０１３６】
なお、action属性に指定されるコマンドとしては、前述のコマンドに限らず、例えば、“suspend-execute”や“terminate-execute”など、他のコマンドを指定することもできる。
【０１３７】
サスペンド−エクスキュート（suspend-execute）は、対象の連動アプリケーションに対するエクスキュートコマンドと、他の連動アプリケーションに対するサスペンドコマンドが一体となった複合コマンドである。すなわち、対象の連動アプリケーションの取得又は起動と、それ以外の他の連動アプリケーションの休止を指示する場合、action属性には、”suspend-execute”が指定される。
【０１３８】
ターミネート−エクスキュート（terminate-execute）は、対象の連動アプリケーションに対するエクスキュートコマンドと、他の連動アプリケーションに対するターミネートコマンドが一体となった複合コマンドである。すなわち、対象の連動アプリケーションの取得又は起動と、それ以外の他の連動アプリケーションの終了を指示する場合、action属性には、”terminate-execute”が指定される。
【０１３９】
diffusion属性には、受信装置２０においてコマンドを適用するタイミングを確率的に分散させるための情報が指定される。この情報を設定することにより、複数の受信装置２０がアプリケーションサーバ４０から連動アプリケーションを取得するに際し、そのアクセスが一時期に集中せず分散させることができる。
【０１４０】
data要素には、コマンドが、ストリームイベントコマンドである場合において、イベントを発火する際に参照されるデータが指定される。
【０１４１】
TPTは、以上のように構成される。
【０１４２】
なお、図５を参照して説明したTPTの仕様は一例であって、他の仕様を採用することもできる。
【０１４３】
［AMTの詳細な構成］
次に、AMTの詳細な構成について説明する。
【０１４４】
図６は、AMTの詳細仕様の一例を示す図である。AMTは、例えば、XMLなどのマークアップ言語により記述される。
【０１４５】
図６に示すように、AMTのルート要素には、AMT要素が記述される。AMT要素には、連動アプリケーションの動作を制御するためのコマンド（イベント）の有効期間などの情報が記述される。
【０１４６】
AMT要素には、protocolVersion属性、segmentId属性、beginMT属性、及びActivation要素を含む。
【０１４７】
protocolVersion属性には、当該AMTに定義された仕様のバージョンを示す情報が指定される。当該バージョンは、メジャーバージョンとマイナーバージョンからなる。
【０１４８】
segmentId属性には、TPTのid属性に対応するIDが指定される。このIDにより、当該AMTに対応するTPTが特定される。例えば、segmentId属性には、domain_nameと、program_idとを“/”により連結した文字列が指定される。
【０１４９】
beginMT属性には、対象のセグメント（特定の区間）の時間範囲の開始時刻を示す情報が指定される。
【０１５０】
Activation要素には、AMT要素の子要素であって、連動アプリケーションに対するコマンドを特定するための情報が記述される。Activation要素は、targetId属性、startTime属性、及びendTime属性を含む。
【０１５１】
targetId属性は、TPTに記述される、連動アプリケーションに対するコマンドを特定するためのIDが指定される。例えば、当該IDには、TPTのApplication要素のappID属性に指定されるIDと、Event要素のeventId属性に指定されるIDを組み合わせたものが指定される。
【０１５２】
startTime属性には、targetId属性により識別されるコマンドの有効期間の開始時刻を示す情報が指定される。
【０１５３】
endTime属性には、targetId属性により識別されるコマンドの有効期間の終了時刻を示す情報が指定される。
【０１５４】
すなわち、コマンドの有効期間は、対応する放送コンテンツの進行時間軸上の２点を示すstartTime属性及びendTime属性により定められる。そして、例えば、受信装置２０においては、メディアクロックの示す時刻が、startTime属性の示す有効開始時刻を経過したとき、その有効開始時刻に対応するコマンドが有効とされる。ただし、この場合には、endTime属性を指定せずに、startTime属性のみが指定されるようにしてもよい。
【０１５５】
また、メディアクロックの示す時刻が、有効期間内であるときに、その有効期間に対応するコマンドが有効とされ、メディアクロックの示す時刻が、有効期間に達していない、又はそれを過ぎたときは、その有効期間に対応するコマンドは無効とされるようにしてもよい。
【０１５６】
換言すれば、受信装置２０では、メディアクロックの示す時刻が、有効時刻や有効期間等に基づいた所定の有効条件を満たしたときに、その有効条件に対応するコマンドが有効とされる。
【０１５７】
AMTは、以上のように構成される。
【０１５８】
なお、図６を参照して説明したAMTの仕様は一例であって、他の仕様を採用することもできる。
【０１５９】
［連動アプリケーションのキャッシュ制御］
次に、図７乃至図１３を参照して、キャッシュメモリ２２７に保持される連動アプリケーションのキャッシュ制御について説明する。
【０１６０】
（連動アプリケーションのキャッシュの概念）
図７は、連動アプリケーションのキャッシュの概念を示す図である。
【０１６１】
受信装置２０では、送信装置１０からのトリガ情報が抽出された場合、当該トリガ情報に含まれるmedia_timeに基づいて、メディアクロックが設定又は校正される。また、受信装置２０は、トリガ情報に含まれるdomain_name，segment_idが変化した場合、TPT/AMTサーバ３０からTPT及びAMTを取得して保持する。
【０１６２】
受信装置２０は、TPT及びAMTを参照して、例えば、メディアクロックの示す時刻が、有効期間に最初に入ったとき、その有効なコマンドを特定する。
【０１６３】
図７の例では、まず、レジスタコマンドが特定されるので、受信装置２０は、アプリケーションサーバ４０から連動アプリケーションApp1を取得して登録する。このとき、取得された連動アプリケーションApp1は、キャッシュメモリ２２７に保持される。続いて、エクスキュートコマンドが特定されるので、キャッシュメモリ２２７に保持している連動アプリケーションApp1が起動される。
【０１６４】
その後、ターミネートコマンドが特定されると、実行中の連動アプリケーションApp1は終了される。すなわち、連動アプリケーションApp1は、エクスキュートコマンドに応じて起動してから、ターミネートコマンドに応じて終了するまでの期間Ｔｅ１の間は、実行中であると言える。
【０１６５】
なお、連動アプリケーションApp1は、期間Ｔｅ１の経過後も、有効期間（expireDate）を経過するまでは、キャッシュメモリ２２７に保持されたままとなる。
【０１６６】
その後、別のタイミングで連動アプリケーションApp1が再度実行される場合には、連動アプリケーションApp1に対するエクスキュートコマンドが特定される。このとき、連動アプリケーションApp1は、前回の起動の際にキャッシュメモリ２２７に保持されているので、保持中の連動アプリケーションApp1が読み出され、起動される。
【０１６７】
また、連動アプリケーションApp1は、ターミネートコマンドが特定されるまで、期間Ｔｅ２の間は実行され、ターミネートコマンドが特定されると、実行中の連動アプリケーションApp1は終了される。
【０１６８】
以降、連動アプリケーションApp1の有効期間が経過するまでは、連動アプリケーションApp1に対するエクスキュートコマンドが特定される度に、キャッシュメモリ２２７に保持されている連動アプリケーションApp1が読み出され、実行される。
【０１６９】
そして、連動アプリケーションApp1の有効期間が経過すると、キャッシュメモリ２２７に保持されていた連動アプリケーションApp1は削除される。すなわち、連動アプリケーションApp1は、レジスタコマンドに応じて取得されてから、その有効期間が経過するまでの期間Ｔｃの間は、キャッシュメモリ２２７に保持されていることになる。
【０１７０】
連動アプリケーションのキャッシュ制御は、以上のように行われる。
【０１７１】
（優先度に応じたキャッシュ制御）
次に、図８を参照して、優先度に応じたキャッシュ制御について説明する。
【０１７２】
受信装置２０においては、複数の連動アプリケーションが実行される場合が想定されるが、キャッシュメモリ２２７のキャッシュ容量は有限であるため、全ての連動アプリケーションを保持することはできない。そのため、優先度のより高い連動アプリケーションを優先的にキャッシュして、優先度の低い連動アプリケーションから、優先的に削除するといったキャッシュ制御を行い、キャッシュ容量を確保することが要求される。
【０１７３】
図８の例では、太線で囲まれた四角が、キャッシュメモリ２２７のキャッシュ容量を表しており、その中に配置された６つの四角がそれぞれ、取得済みの各連動アプリケーションの容量を表している。すなわち、それらの四角の面積が大きいほど容量が大きくなり、逆に面積が小さいほど容量が小さくなることを示している。
【０１７４】
例えば、キャッシュメモリ２２７には、連動アプリケーションApp1乃至App6が保持されている。また、キャッシュ容量から、連動アプリケーションApp1乃至App6の容量を差し引いたものが、キャッシュメモリ２２７の空き容量となる。
【０１７５】
このとき、連動アプリケーションApp7が取得された場合、キャッシュメモリ２２７に保持することになるが、連動アプリケーションApp7の容量が、キャッシュメモリ２２７の空き容量よりも大きいために、容量が不足し、保持することができない。
【０１７６】
そのため、連動アプリケーションApp7を保持するための容量を確保する必要があるが、例えば、単に、最初に保持された連動アプリケーションApp1を削除してしまうと、連動アプリケーションApp1の使用頻度が高い場合などに、再度取得する必要がでてくることから、適切でない。また、例えば、連動アプリケーションApp2を削除した場合、それにより得られる容量と空き容量を足し合わせても、連動アプリケーションApp7を記録するために十分な容量とならないため、これも適切ではない。
【０１７７】
そこで、受信装置２０では、優先度に応じたキャッシュ制御を行い、キャッシュメモリ２２７に保持されている連動アプリケーションに対して優先度を与えて、より優先度の低い連動アプリケーションから削除し、より優先度の高い連動アプリケーションが優先的に保持されるようにする。
【０１７８】
以下、受信装置２０で行われる、優先度に応じたキャッシュ制御の詳細について説明する。
【０１７９】
（利用頻度）
図９は、前述のTPTのfrequencyOfUseで指定される連動アプリケーションの利用頻度を用いた優先度の設定方法を説明するための図である。
【０１８０】
図９には、連動アプリケーションApp1，App2，App3の利用頻度として、それらの連動アプリケーションをキャッシュした時間範囲Ｔにおける、各連動アプリケーションの放送局によるテレビ番組における利用回数が示されている。例えば、Ｔ=１ヶ月とした場合に、連動アプリケーションApp1は、１週間に１回の頻度で利用されている。同様に、連動アプリケーションApp2は２日に１回、連動アプリケーションApp3は毎日の頻度で利用されている。
【０１８１】
すなわち、図９の例では、連動アプリケーションApp3，App2，App1の順に利用頻度が高くなるので、当該利用頻度の高い順に、キャッシュ優先度を高く設定することができれば、より優先度の高い連動アプリーションを、優先的にキャッシュメモリ２２７に保持することができる。
【０１８２】
（更新頻度）
また、図１０は、前述のTPTのfrequencyOfUpdateで指定される連動アプリケーションの更新頻度を用いた優先度の設定方法を説明するための図である。
【０１８３】
図１０には、連動アプリケーションApp1，App2，App3の更新頻度として、一定の時間における各連動アプリケーションの更新回数が示されている。例えば、ある時間内に、連動アプリケーションApp1は、App1-1から，App1-2，App1-3，App1-4，App1-5の順に４回更新されている。また、それと同一の時間内に、連動アプリケーションApp2は、App2-1からApp2-2に１回だけ更新され、連動アプリケーションApp3は、App3-1のまま一度も更新されていない。
【０１８４】
更新の際には、その後に取得したTPTにおいてそのappIDは変化しないが、appVersionが変化することになる。その結果、該当するappIDの連動アプリケーションが受信装置２０内にキャッシュされていた場合でも、新たなappVersionの連動アプリケーションをアプリケーションサーバ４０から再取得する必要がある。よって、更新頻度が高い連動アプリケーションはキャッシュしておく有効性が低くなる。
【０１８５】
すなわち、図１０の例では、連動アプリケーションApp3，App2，App1の順に更新頻度が低くなるので、当該更新頻度の低い順に、キャッシュ優先度を高く設定することができれば、より優先度の高い連動アプリケーションを、優先的にキャッシュメモリ２２７に保持することができる。
【０１８６】
（事業者優先アプリケーション）
また、連動アプリケーションを提供する事業者は、複数の連動アプリケーションを提供する場合に、特定の連動アプリケーションの優先度を上げて運用を行いたい場合がある。
【０１８７】
例えば、図１１に示すように、受信装置２０において、レジスタコマンドとエクスキュートコマンドに応じて、連動アプリケーションApp0が起動された場合に、この連動アプリケーションApp0から、連動アプリケーションApp1，App2，App3のいずれかが実行可能なケースを想定する。
【０１８８】
図１１の例では、連動アプリケーションApp0は非表示で実行されるので、画面には、テレビ番組の映像のみが表示される。ここで、ユーザがリモートコントローラ（不図示）を操作して、所定のボタンを押下した場合に、連動アプリケーションApp1が取得され、起動される。
【０１８９】
このとき、アプリケーションサーバ４０から、連動アプリケーションApp0を取得する場合と、連動アプリケーションApp1を取得する場合における、インターネット９０の通信量を比較すると、図１２に示すように、連動アプリケーションApp1を取得する場合のほうが、圧倒的にピーク時の通信量が多くなることが想定される。また、連動アプリケーションApp0と、連動アプリケーションApp2，App3との関係についても同様である。
【０１９０】
すなわち、連動アプリケーションApp0は、メディアクロックの示す時刻に基づいて、レジスタコマンド又はエクスキュートコマンドが特定されたときに、アプリケーションサーバ４０から取得されるものである。従って、同一の放送コンテンツを受信している多数の受信装置２０が、ほぼ同時のタイミングで一斉に、アプリケーションサーバ４０にアクセスすることになる。そのため、インターネット９０における通信量が増大するとともに、アプリケーションサーバ４０の負荷も大きくなってしまう。
【０１９１】
一方、連動アプリケーションApp1，App2，App3は、ユーザの操作に応じて、任意のタイミングで、アプリケーションサーバ４０から取得されるものである。従って、同一の放送コンテンツを受信している多数の受信装置２０であっても、各端末ごとのユーザの操作のタイミングは異なるので、それらの受信装置２０が分散して、アプリケーションサーバ４０にアクセスすることになる。そのため、インターネット９０における通信量は増加せず、また、アプリケーションサーバ４０にも負荷がかからないことになる。
【０１９２】
このように、連動アプリケーションApp0の取得には、通信量の増大と、アプリケーションサーバ４０の負荷の増大が伴うので、連動アプリケーションApp0を一度取得した後は、優先的にキャッシュして、再利用することが望ましい。また、このような連動アプリケーションApp0は、事業者側であらかじめ把握できるものであるため、事業者は、連動アプリケーションApp0のキャッシュ優先度を高く設定することができれば、連動アプリケーションApp0を、優先的にキャッシュメモリ２２７に保持することができる。
【０１９３】
以下、このような連動アプリケーションApp0を、他の連動アプリケーションと区別するために、事業者優先アプリケーションと称する。
【０１９４】
ただし、基本的に、１つの事業者は、１つの連動アプリケーションを事業者優先アプリケーションとして設定するので、例えば、TPTにおいて、特定のIDを付与したり、あるいは事業者優先アプリケーションかどうかを示すフラグを設けたりすることで、事業者優先アプリケーションを識別することが可能となる。ここで、特定のIDとしては、appIDとして“0”を指定したり、あるいは、globalIdがURLで指定される場合に、ドメイン名に続く“/”以降の文字列の所定の位置に、“0”を指定したりすることができる。
【０１９５】
また、事業者優先アプリケーションは、複数の事業者によって提供されることになるため、受信装置２０では、事業者優先アプリケーションが、事業者ごとに複数存在することが想定される。
【０１９６】
また、図１３に示すように、優先度に応じたキャッシュ制御を行うに際して、優先ランクと通常ランクを設け、優先ランクには、事業者優先アプリケーションが属し、通常ランクには、事業者優先アプリケーション以外の連動アプリケーションが属するようにする。
【０１９７】
すなわち、優先ランクに属する事業者優先アプリケーションと、通常ランクに属する連動アプリケーションでは、それぞれ別個に優先度が高い順にランク付けがされ、さらに、優先ランクに属する事業者優先アプリケーションは、通常ランクに属する連動アプリケーションよりも、常に優先度が高くなるようにランク付けがされる。
【０１９８】
これにより、全ての事業者優先アプリケーションは、常に、連動アプリケーションに対して優先的にキャッシュされることになる。
【０１９９】
以上のように、受信装置２０においては、事業者によってTPTで指定される、利用頻度や更新頻度等の所定の頻度、又は優先指定などに応じた優先度に従い、より優先度の高い連動アプリケーションが優先的にキャッシュメモリ２２７に記録されるように、キャッシュ制御が行われる。その結果、連動アプリケーションのキャッシュ制御が適切に行われ、再度利用される可能性の高い連動アプリケーションが優先的にキャッシュされることになる。
【０２００】
なお、優先度を算出するための情報としては、前述したような、事業者によってあらかじめTPTで指定されるものに限らず、受信装置２０側で取得される端末情報を用いてもよい。当該端末情報としては、例えば、連動アプリケーションの利用履歴、又はキャッシュメモリ２２７のキャッシュ容量若しくは空き容量を示す情報などを用いることができる。
【０２０１】
［各装置で行われる具体的な処理の内容］
次に、図１４乃至図１７のフローチャートを参照して、放送通信連携システム１を構成する各装置で行われる具体的な処理の内容について説明する。
【０２０２】
（送信処理）
まず、図１４のフローチャートを参照して、送信装置１０によって実行される送信処理について説明する。
【０２０３】
ステップＳ１１１において、音声取得部１１１は、外部のサーバ等から、放送コンテンツの音声に対応するオーディオ信号を取得する。また、ステップＳ１１２において、映像取得部１１３は、外部のサーバ等から、放送コンテンツの映像に対応するビデオ信号を取得する。
【０２０４】
ステップＳ１１３において、トリガ情報生成部１１４は、映像取得部１１３により取得されたビデオ信号に対応する放送コンテンツの映像の進行応じてトリガ情報を生成する。
【０２０５】
ステップＳ１１４において、オーディオエンコーダ１１２は、音声取得部１１１により取得されたオーディオ信号を符号化する。
【０２０６】
ステップＳ１１５において、ビデオエンコーダ１１５は、映像取得部１１３により取得されたビデオ信号を符号化する。また、ビデオエンコーダ１１５は、符号化により得られるビデオストリームのユーザデータ領域の字幕データ内にトリガ情報を配置する。
【０２０７】
ステップＳ１１６において、多重化部１１６は、オーディオエンコーダ１１２により符号化されたオーディオストリームと、ビデオエンコーダ１１５により符号化されたビデオストリームを多重化して、トランスポートストリームを生成する。
【０２０８】
ステップＳ１１７において、送信部１１７は、多重化部１１６により生成されたトランスポートストリームを、アンテナ１１８を介して、放送信号として送信する。この後、処理はステップＳ１１１に戻され、それ以降の処理が繰り返されることになる。
【０２０９】
以上で、送信処理の説明を終了する。
【０２１０】
（受信処理）
次に、図１５のフローチャートを参照して、受信装置２０によって実行される受信処理について説明する。
【０２１１】
ステップＳ２１１において、チューナ２１２は、アンテナ２１１を介して放送信号を受信して、復調する。
【０２１２】
ステップＳ２１２において、多重分離部２１３は、チューナ２１２により復調されたトランスポートストリームを、オーディオストリームと、ビデオストリームに分離する。
【０２１３】
ステップＳ２１３において、オーディオデコーダ２１４は、多重分離部２１３により分離されたオーディオストリームを復号し、オーディオ信号を生成する。
【０２１４】
ステップＳ２１４において、ビデオデコーダ２１７は、多重分離部２１３により分離されたビデオストリームを復号し、ビデオ信号を生成する。
【０２１５】
ステップＳ２１５において、スピーカ２１６は、オーディオ信号に対応する音声を出力する。また、ディスプレイ２１９は、ビデオ信号に対応する映像を表示する。
【０２１６】
これにより、ディスプレイ２１９には、テレビ番組等の放送コンテンツの映像が表示され、スピーカ２１６からは、当該映像に対応する音声が出力される。
【０２１７】
ステップＳ２１６においては、トリガ情報抽出部２２０乃至アプリケーション用メモリ２２８によって、トリガ情報対応処理が行われる。
【０２１８】
具体的には、トリガ情報対応処理は、以下のように行われる。
【０２１９】
制御部２２１は、トリガ情報抽出部２２０によってトリガ情報が抽出された場合、メディアクロックの設定又は校正を行う。また、制御部２２１は、当該トリガ情報に応じて、TPT及びAMTを取得すると判定した場合、通信I/F２２４を制御して、TPT/AMTサーバ３０からTPT及びAMTを取得する。TPT及びAMTは、TPT/AMT解析部２２５によって解析され、保持される。
【０２２０】
そして、制御部２２１は、TPT及びAMTを参照して、メディアクロックの示す時刻が、コマンドの有効期間に最初に入ったときなど、所定の有効条件を満たした場合に、その有効なコマンドを特定する。
【０２２１】
例えば、特定されたコマンドがレジスタコマンドである場合、アプリケーションエンジン２２６は、通信I/F２２４を制御して、アプリケーションサーバ４０から連動アプリケーションを取得し、登録する。また、特定されたコマンドがエクスキュートコマンドである場合、アプリケーションエンジン２２６は、取得済みの連動アプリケーションを起動する。
【０２２２】
その後、受信装置２０においては、ストリームイベントコマンドが特定された場合、実行中の連動アプリケーションに対するイベントが発火される。また、受信装置２０においては、サスペンドコマンドが特定された場合、実行中の連動アプリケーションが休止される。さらに、エクスキュートコマンドが特定された場合には、休止中の連動アプリケーションが再開される。
【０２２３】
また、受信装置２０においては、ターミネートコマンドが特定された場合、実行中の連動アプリケーションが終了される。
【０２２４】
ステップＳ２１６のトリガ情報対応処理が終了すると、処理は、ステップＳ２１１に戻り、それ以降の処理が繰り返される。
【０２２５】
以上で、受信処理の説明を終了する。
【０２２６】
（キャッシュ制御処理）
次に、図１６のフローチャートを参照して、受信装置２０によって実行されるキャッシュ制御処理について説明する。
【０２２７】
ステップＳ２５１において、制御部２２１は、新たに連動アプリケーションが取得されるか否かを判定する。そして、新たに連動アプリケーションが取得されるのを待って、処理は、ステップＳ２５２に進められる。
【０２２８】
ステップＳ２５２において、制御部２２１は、新たに取得される連動アプリケーションの優先度を算出する。ただし、優先度の具体的な算出方法については、図１７を参照して後述する。また、この例では、既にキャッシュメモリ２２７に保持されている連動アプリケーションの優先度は、算出済みであるものとする。
【０２２９】
ステップＳ２５３において、制御部２２１は、新たに取得される連動アプリケーションの容量に対する、キャッシュメモリ２２７の空き容量をチェックして、キャッシュ容量が不足しているか否かを判定する。
【０２３０】
ステップＳ２５３において、キャッシュ容量が不足していないと判定された場合、処理は、ステップＳ２５４に進められる。この場合、即時に、連動アプリケーションをキャッシュメモリ２２７に保持することが可能となるので、キャッシュメモリ２２７は、制御部２２１からの制御に従い、新たに取得された連動アプリケーションをキャッシュする（Ｓ２５４）。
【０２３１】
一方、ステップＳ２５３において、キャッシュ容量が不足していると判定された場合、処理は、ステップＳ２５５に進められる。この場合、即時に、連動アプリケーションをキャッシュメモリ２２７にキャッシュすることはできないので、制御部２２１は、優先度に応じたキャッシュ制御を行う（Ｓ２５５）。
【０２３２】
具体的には、図８に示したように、新たに取得された連動アプリケーションの容量が、キャッシュメモリ２２７の空き容量よりも大きい場合には、容量が不足し、当該連動アプリケーションを保持することができない。そこで、制御部２２１は、キャッシュメモリ２２７に保持されている連動アプリケーションのうち、優先度の低い連動アプリケーションを削除する。
【０２３３】
また、優先度の低い連動アプリケーションを削除した場合に、それにより得られる容量と空き容量を足し合わせても、新たに取得された連動アプリケーションをキャッシュするために十分な容量とならないときには、さらに次に優先度の低い連動アプリケーションを削除すればよい。または、新たに取得された連動アプリケーションをキャッシュするために十分な空き容量を確保可能な連動アプリケーションのうち、最も優先度の低い連動アプリケーションを削除してもよい。
【０２３４】
そして、新たに取得された連動アプリケーションをキャッシュするのに十分な空き容量が確保されると、その空き容量に、新たに取得された連動アプリケーションがキャッシュされることになる。
【０２３５】
ステップＳ２５４又はＳ２５５が終了すると、処理は、ステップＳ２５１に戻り、それ以降の処理が繰り返される。
【０２３６】
このように、図１６のキャッシュ制御処理においては、制御部２２１によって、優先度に応じたキャッシュ制御が行われることで、再度利用される可能性の高い連動アプリケーションが優先的にキャッシュされることになる。
【０２３７】
以上で、キャッシュ制御処理の説明を終了する。
【０２３８】
（優先度の算出方法）
次に、図１７を参照して、図１６のステップＳ２５２における、優先度の算出方法の具体例について説明する。
【０２３９】
図１７の具体例では、連動アプリケーションApp1と、連動アプリケーションApp2の優先度の算出方法について説明する。
【０２４０】
連動アプリケーションApp1には、更新頻度（例えば、更新周期が７日間（24時間×7日））が指定されているので、次回の更新日時を予測することになるが、仮に、2012年7月1日の次の更新日時が、2012年7月8日であったとしても、受信装置２０では、連動アプリケーションをキャッシュする前の前回の更新日時が分からないため、次回の更新日時を予測できない。
【０２４１】
そこで、キャッシュされた時からの更新日時を予測することで、例えば、更新周期が７日間（24時間×7日）である場合に、2012年7月2日の10:00に、連動アプリケーションApp1がキャッシュされたときは、次回の更新日時は、2012年7月9日の10:00であると予測することができる。
【０２４２】
また、現在日時が2012年7月3日の12:00である場合、そこから、次回の更新日時（2012年7月9日の10:00）までの間の最大利用回数を、利用頻度を用いて予測する。ここでは、例えば、利用頻度として、１日に１回が指定されているとすれば、約６日間のうちに６回利用されることが想定されるため、最大利用回数として、６回が予測される。
【０２４３】
ここで、最大利用回数として算出された６回は、事業者によりあらかじめ指定された値から予測されたものとなるので、端末情報から得られる有効確率を用いて、より精度の高い、最終的な優先度を求めることが望ましい。例えば、利用履歴から得られる連動アプリケーションApp1の利用回数、又は連動アプリケーションApp1が実行される放送コンテンツのチャンネルの視聴確率などを、有効確率として用いることができる。そして、最終的な優先度は、当該有効確率と最大利用回数とを乗算することで算出される。
【０２４４】
例えば、連動アプリケーションApp1は、過去に１度も利用されておらず、その利用回数が０である場合に、対象チャンネルの視聴確率が20％であるときには、有効確率が0.2となるので、優先度1.2（6×0.2）が算出される。
【０２４５】
一方、連動アプリケーションApp2は、更新頻度が指定されていないので、現在日時から、有効期限（expireDate）までの間の最大利用回数を、利用頻度を用いて予測する。
【０２４６】
例えば、現在日時が2012年7月3日の12:00であって、有効期限が、2012年7月12日の23:00である場合に、利用頻度として、３日に１回が指定されているときには、約９日間のうちに３回利用されることが想定されるため、最大利用回数として、３回が予測される。
【０２４７】
また、連動アプリケーションApp2は、過去に２回利用されており、有効確率が1.0となるので、優先度3.0（3×1.0）が算出される。
【０２４８】
なお、説明の都合上、キャッシュメモリ２２７に保持される連動アプリケーションのうち、連動アプリケーションApp1，App2の優先度の算出方法のみについて説明したが、これ以外の連動アプリケーションについても同様に優先度が算出される。
【０２４９】
そして、制御部２２１によって、より高い優先度の連動アプリケーションがキャッシュメモリ２２７に残され、より低い優先度の連動アプリケーションがキャッシュメモリ２２７から削除されるキャッシュ制御が行われる。
【０２５０】
例えば、図１７の例では、連動アプリケーションApp1，App2の優先度として1.2，3.0がそれぞれ算出されるので、連動アプリケーションApp2が優先的にキャッシュされることになる。
【０２５１】
ただし、前述したとおり、連動アプリケーションApp2が、事業者優先アプリケーションである場合には、連動アプリケーションApp2が優先的にキャッシュされる。一方、連動アプリケーションApp1が、事業者優先アプリケーションとなる場合であって、連動アプリケーションApp2が、事業者優先アプリケーションではないときには、連動アプリケーションApp1が優先的にキャッシュされることになる。
【０２５２】
なお、図１７に示した優先度の算出方法は一例であって、優先度は、他の算出方法により算出されるようにしてもよい。すなわち、優先度は、利用頻度や更新頻度などのTPTから得られる情報と、端末情報を用いて、所定の演算式を演算することで、算出することができる。
【０２５３】
また、連動アプリケーションは、放送コンテンツに連動して実行される場合に限らず、例えば、インターネット９０を介してVOD（Video On Demand）により配信される通信コンテンツなどのAV（Audio Visual）コンテンツに連動して実行されるようにすることもできる。
【０２５４】
なお、前述の説明では、連動アプリケーションは、インターネット配信されるとして説明したが、インターネット配信に限らず、送信装置１０によって、放送信号に含めて送信されるようにしてもよい。その場合、受信装置２０は、特定したコマンドに応じて、送信装置１０からの連動アプリケーションを取得し、その動作を制御することになる。
【０２５５】
また、前述の説明では、TPT及びAMTを用いて連動アプリケーションの動作を制御するとして説明したが、受信装置２０は、TPT及びAMTを取得せずに、連動アプリケーションの動作を制御することもできる。その場合、受信装置２０は、送信装置１０からのトリガ情報に応じて、連動アプリケーションの動作を制御することになる。
【０２５６】
さらに、前述の説明では、TPT及びAMTはインターネット配信されるとして説明したが、インターネット配信に限らず、送信装置１０によって、放送信号に含めて送信されるようにしてもよい。その場合、受信装置２０は、放送信号のトランスポートストリームに多重化されたTPT及びAMTを取得し、それを用いて、連動アプリケーションの動作を制御することになる。
【０２５７】
また、前述の説明では、トリガ情報は、送信装置１０から送信されるとして説明したが、ACRサーバを設けて、当該ACRサーバが、ACR（Automatic Content Recognition）技術を用いて、受信装置２０からの放送コンテンツの特徴量に応じたトリガ情報を生成して、提供するようにしてもよい。
【０２５８】
［本技術を適用したコンピュータの説明］
前述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０２５９】
図１８は、前述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示す図である。
【０２６０】
コンピュータ９００において、CPU（Central Processing Unit）９０１，ROM（Read Only Memory）９０２，RAM（Random Access Memory）９０３は、バス９０４により相互に接続されている。
【０２６１】
バス９０４には、さらに、入出力インタフェース９０５が接続されている。入出力インタフェース９０５には、入力部９０６、出力部９０７、記録部９０８、通信部９０９、及びドライブ９１０が接続されている。
【０２６２】
入力部９０６は、キーボード、マウス、マイクロフォンなどよりなる。出力部９０７は、ディスプレイ、スピーカなどよりなる。記録部９０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部９０９は、ネットワークインタフェースなどよりなる。ドライブ９１０は、光ディスク又は半導体メモリなどのリムーバブルメディア９１１を駆動する。
【０２６３】
以上のように構成されるコンピュータ９００では、CPU９０１が、例えば、記録部９０８に記憶されているプログラムを、入出力インタフェース９０５及びバス９０４を介して、RAM９０３にロードして実行することにより、前述した一連の処理が行われる。
【０２６４】
コンピュータ９００（CPU９０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア９１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
【０２６５】
コンピュータ９００では、プログラムは、リムーバブルメディア９１１をドライブ９１０に装着することにより、入出力インタフェース９０５を介して、記録部９０８にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部９０９で受信し、記録部９０８にインストールすることができる。その他、プログラムは、ROM９０２や記録部９０８に、あらかじめインストールしておくことができる。
【０２６６】
なお、コンピュータ９００が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであってもよいし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであってもよい。
【０２６７】
ここで、本明細書において、コンピュータ９００に各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０２６８】
また、プログラムは、１のコンピュータにより処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
【０２６９】
さらに、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０２７０】
なお、本技術の実施の形態は、前述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０２７１】
例えば、本技術は、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２７２】
また、前述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２７３】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２７４】
なお、本技術は、以下のような構成をとることができる。
【０２７５】
（１）
AVコンテンツを受信する受信部と、
前記AVコンテンツに連動して実行されるアプリケーションプログラムを一時的に記録するキャッシュメモリと、
前記アプリケーションプログラムが複数存在する場合に、前記アプリケーションプログラムごとにあらかじめ指定される所定の頻度に応じた優先度に従い、前記キャッシュメモリを制御する制御部と
を備える受信装置。
（２）
前記優先度は、前記アプリケーションプログラムの利用頻度及び更新頻度のいずれか一方又は双方に基づき定められる
（１）に記載の受信装置。
（３）
前記アプリケーションプログラムは、その提供事業者によって、優先すべきものと、そうでないものとに分類されており、
前記優先度は、優先すべきものとして分類されたアプリケーションプログラムの優先度が、優先すべきでないものとして分類されたアプリケーションプログラムの優先度よりも、常に高くなるように定められる
（２）に記載の受信装置。
（４）
前記受信装置で得られる情報であって、前記優先度を定めるために用いられる端末情報を取得する端末情報取得部をさらに備え、
前記優先度は、前記端末情報に基づき定められる
（２）又は（３）に記載の受信装置。
（５）
前記端末情報は、前記アプリケーションプログラムの利用履歴、又は前記キャッシュメモリのキャッシュ容量若しくは空き容量を示す情報である
（４）に記載の受信装置。
（６）
前記優先度は、前記アプリケーションプログラムごとにあらかじめ指定される有効期限に基づき定められる
（２）乃至（５）のいずれかに記載の受信装置。
（７）
前記アプリケーションプログラムの動作を制御するためのコマンドを特定するためのトリガ情報を取得するトリガ情報取得部と、
前記トリガ情報から得られる情報と、前記コマンドとが対応付けられた対応テーブルを取得する対応テーブル取得部と
をさらに備え、
前記制御部は、前記トリガ情報及び前記対応テーブルにより特定される前記コマンドに応じて、前記アプリケーションプログラムの動作を制御する
（１）に記載の受信装置。
（８）
前記優先度は、前記対応テーブルにより指定される、前記アプリケーションプログラムの利用頻度、更新頻度、若しくは有効期限、又は提供事業者による前記アプリケーションプログラムの優先度に応じた分類結果によって定められる
（７）に記載の受信装置。
（９）
受信装置の受信方法において、
前記受信装置が、
AVコンテンツを受信し、
前記AVコンテンツに連動して実行されるアプリケーションプログラムが複数存在する場合に、前記アプリケーションプログラムごとにあらかじめ指定される所定の頻度に応じた優先度に従い、前記アプリケーションプログラムを一時的に記録するキャッシュメモリを制御する
ステップを含む受信方法。
（１０）
AVコンテンツに連動して実行されるアプリケーションプログラムであって、前記アプリケーションプログラムが複数存在する場合に、前記アプリケーションプログラムごとにあらかじめ指定される所定の頻度に応じた優先度に従ってキャッシュメモリに記録される前記アプリケーションプログラムの動作を制御するためのトリガ情報を生成する生成部と、
前記トリガ情報を、前記AVコンテンツとともに送信する送信部と
を備える送信装置。
（１１）
送信装置の送信方法において、
前記送信装置が、
AVコンテンツに連動して実行されるアプリケーションプログラムであって、前記アプリケーションプログラムが複数存在する場合に、前記アプリケーションプログラムごとにあらかじめ指定される所定の頻度に応じた優先度に従ってキャッシュメモリに記録される前記アプリケーションプログラムの動作を制御するためのトリガ情報を生成し、
前記トリガ情報を、前記AVコンテンツとともに送信する
ステップを含む送信方法。
【符号の説明】
【０２７６】
１  放送通信連携システム，  １０  送信装置，  ２０  受信装置，  ３０  TPT/AMTサーバ，  ４０  アプリケーションサーバ，  １１４  トリガ情報生成部，  １１７  送信部，  ２１２  チューナ，  ２２０  トリガ情報抽出部，  ２２１  制御部，  ２２４  通信I/F，  ２２５  TPT/AMT解析部，  ２２６  アプリケーションエンジン，  ２２９  端末情報取得部，  ９００  コンピュータ，  ９０１  CPU
【図１】
2014021125.tif 000003
【図２】
2014021125.tif 000004
【図３】
2014021125.tif 000005
【図４】
2014021125.tif 000006
【図５】
2014021125.tif 000007
【図６】
2014021125.tif 000008
【図７】
2014021125.tif 000009
【図８】
2014021125.tif 000010
【図９】
2014021125.tif 000011
【図１０】
2014021125.tif 000012
【図１１】
2014021125.tif 000013
【図１２】
2014021125.tif 000014
【図１３】
2014021125.tif 000015
【図１４】
2014021125.tif 000016
【図１５】
2014021125.tif 000017
【図１６】
2014021125.tif 000018
【図１７】
2014021125.tif 000019
【図１８】
2014021125.tif 000020
【国際調査報告】
2014021125.tif 000021
2014021125.tif 000022
2014021125.tif 000023
2014021125.tif 000024