(57)【特許請求の範囲】
【請求項１】
放送コンテンツを受信し処理する放送コンテンツ処理部と、
前記放送コンテンツとともに処理可能なアプリケーションを供給可能なサーバに対する前記アプリケーションの取得のためのアクセスのタイミングを分散させるための第１の情報と、有効期間に関する第２の情報が少なくとも格納されたアプリケーション情報テーブルを取得し、前記第１の情報をもとに前記サーバへのアクセスのタイミングを算出し、前記第２の情報をもとに、前記タイミングを算出する処理を行う期限を設定するコントローラと
を具備する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記第１の情報が、前記サーバへのアクセスを分散させる時間の範囲（range）と、アクセス数の分散数（rate）の各情報を少なくとも含む
情報処理装置。
【請求項３】
放送コンテンツ処理部が、放送コンテンツを受信して処理し、
コントローラが、前記放送コンテンツとともに処理可能なアプリケーションを供給可能なサーバに対する前記アプリケーションの取得のためのアクセスのタイミングを分散させるための第１の情報と、有効期間に関する第２の情報が少なくとも格納されたアプリケーション情報テーブルを取得し、前記第１の情報をもとに前記サーバへのアクセスのタイミングを算出し、前記第２の情報をもとに、前記タイミングを算出する処理を行う期限を設定する
情報処理方法。
【請求項４】
放送コンテンツを受信し処理する放送コンテンツ処理部と、  前記放送コンテンツとともに処理可能なアプリケーションを供給可能なサーバに対する前記アプリケーションの取得のためのアクセスのタイミングを分散させるための第１の情報と、有効期間に関する第２の情報が少なくとも格納されたアプリケーション情報テーブルを取得し、前記第１の情報をもとに前記サーバへのアクセスのタイミングを算出し、前記第２の情報をもとに、前記タイミングを算出する処理を行う期限を設定するコントローラとしてコンピュータを機能させるプログラム。
【請求項５】
放送コンテンツとともに処理可能なアプリケーションを情報処理装置に供給可能なサーバへのアクセスのタイミングを分散させるための第１の情報と、前記第１の情報をもとに前記情報処理装置が前記サーバへのアクセスのタイミングを算出する処理を行う有効期間に関する第２の情報が少なくとも格納されたアプリケーション情報テーブルを前記情報処理装置に供給する供給部を有するアプリケーション情報テーブル供給装置。
【請求項６】
供給部が、放送コンテンツとともに処理可能なアプリケーションを情報処理装置に供給可能なサーバへのアクセスのタイミングを分散させるための第１の情報と、前記第１の情報をもとに前記情報処理装置が前記サーバへのアクセスのタイミングを算出する処理を行う有効期間に関する第２の情報が少なくとも格納されたアプリケーション情報テーブルを前記情報処理装置に供給するアプリケーション情報テーブル供給方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、アプリケーション管理テーブルを用いて放送コンテンツに関連するアプリケーションを実行することが可能な情報処理装置、情報処理方法、プログラム、アプリケーション情報テーブル供給装置およびアプリケーション情報テーブル供給方法に関する。
【背景技術】
【０００２】
近年、放送コンテンツの再生と同時に、インターネット等のネットワークを通じて配信されるアプリケーションの実行を行うことを可能とする技術が知られている。このような技術として、ハイブリッドブロードバンド放送（Hybrid Broadcast Broadband TV、以下「ＨｂｂＴＶ」と称する。）と呼ばれる技術が知られている。ＨｂｂＴＶの標準規格として、欧州では「ETSI TS 102 796」（非特許文献１参照。）が策定されている。また、我が国でもこれに準拠した標準規格「ARIB STD-B23」（非特許文献２参照。）が策定されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ETSI（European Telecommunications Standards Institute）「ETSI TS 102 796 V1.1.1 （2010-06)」http://www.etsi.org/deliver/etsi_ts/102700_102799/102796/01.01.01_60/ts_102796v010101p.pdf（平成２３年１０月２１日閲覧）
【非特許文献２】社団法人電波産業会「デジタル放送におけるアプリケーション実行環境  標準規格  ARIB STD-B23 1.2版」http://www.arib.or.jp/english/html/overview/doc/2-STD-B23v1_2.pdf（平成２３年１０月２１日閲覧）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えばＨｂｂＴＶなどのように、放送コンテンツの再生と同時にアプリケーションが実行されるシステムでは、アプリケーションの起動から終了までのライフサイクルが、放送コンテンツに重畳されたＡＩＴセクション（Application Information Table）と呼ばれるデータ構造によって管理される。ＡＩＴセクションを取得した情報端末は、ＡＩＴセクションに含まれるアプリケーションのロケーション情報をもとに、当該アプリケーションが格納されたサーバ（アプリケーションサーバ）にアクセスして、そのアプリケーションを取得し、この後、ＡＩＴセクションに記述されたアプリケーション制御用のコードをもとにアプリケーションの制御を行う。【０００５】
放送より取得されるＡＩＴセクションは一斉に各ユーザの情報処理装置において取得される。このため、各ユーザの情報処理装置からアプリケーションサーバに対し、アプリケーションの取得要求が短い期間に集中してしまう傾向がある。このようにアプリケーションサーバへのアプリケーションの取得要求が短い期間に大量に集中すると、アプリケーションサーバの負荷の増大によって、最悪の場合にはサーバがダウンしてアプリケーションを各ユーザに提供できなくなるおそれがある。【０００６】
以上のような事情に鑑み、本技術の目的は、放送コンテンツとともに処理されるアプリケーションの供給の安定を図ることのできる情報処理装置、情報処理方法、プログラム、アプリケーション情報テーブル供給装置およびアプリケーション情報テーブル供給方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本技術に係る情報処理装置は、放送コンテンツを受信し処理する放送コンテンツ処理部と、前記放送コンテンツとともに処理可能なアプリケーションをサーバより取得するための要求毎に、ランダムなタイミングを算出するための第１の情報が格納されたアプリケーション情報テーブルを取得し、前記第１の情報をもとに、前記アプリケーションを取得するための要求を送信するタイミングを算出するコントローラとを具備する。【０００８】
前記アプリケーション情報テーブルには、前記第１の情報にもとづく処理の有効期間に関する第２の情報が格納され、前記コントローラは、前記第２の情報をもとに、前記第１の情報にもとづく処理の実行のオンオフを判定するものであってよい。【０００９】
前記コントローラは、前記第２の情報をもとに前記処理の有効期間が過ぎているかどうかを判定し、過ぎている場合には、前記第１の情報にもとづく処理をキャンセルして前記前記アプリケーションを取得するための要求を送信するものであってよい。【００１０】
本技術に係る情報処理方法は、放送コンテンツ処理部が、放送コンテンツを受信して処理し、コントローラが、前記放送コンテンツとともに処理可能なアプリケーションをサーバより取得するための要求毎に、ランダムなタイミングを算出するための第１の情報が格納されたアプリケーション情報テーブルを取得し、前記第１の情報をもとに、前記アプリケーションを取得するための要求を送信するタイミングを算出する。【００１１】
本技術に係るプログラムは、放送コンテンツを受信し処理する放送コンテンツ処理部と、前記放送コンテンツとともに処理可能なアプリケーションをサーバより取得するための要求毎に、ランダムなタイミングを算出するための第１の情報が格納されたアプリケーション情報テーブルを取得し、前記第１の情報をもとに、前記アプリケーションを取得するための要求を送信するタイミングを算出するコントローラとしてコンピュータを機能させるものである。【００１２】
本技術に係るアプリケーション情報テーブル供給装置は、放送コンテンツとともに処理可能なアプリケーションをサーバより取得するための要求毎に、ランダムなタイミングを情報処理装置に算出させるための第１の情報が格納されたアプリケーション情報テーブルを前記情報処理装置に供給する供給部を有する。【００１３】
本技術に係るアプリケーション情報テーブル供給方法は、供給部が、放送コンテンツとともに処理可能なアプリケーションをサーバより取得するための要求毎に、ランダムなタイミングを情報処理装置に算出させるための第１の情報が格納されたアプリケーション情報テーブルを前記情報処理装置に供給する。
【発明の効果】
【００１４】
以上のように、本技術によれば、放送コンテンツとともに処理されるアプリケーションの供給の安定を図ることができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態の情報処理システムの概要を示す図である。
【図２】ＡＩＴセクションのデータ構造を示す図である。
【図３】ＸＭＬ−ＡＩＴのデータ構造を示す図である。
【図４】確率的適用遅延記述子のデータ構造を示す図である。
【図５】ＡＩＴセクションおよびＸＭＬ−ＡＩＴに指定されるアプリケーション制御コードの定義を示す図である。
【図６】本実施形態の情報処理装置の構成を示すブロック図である。
【図７】ＡＩＴセクションに基づくアプリケーションの起動の典型的な動作例を示す図である。
【図８】図７の動作例のフローチャートである。
【図９】本実施形態の情報処理システムの構成例を示す図である。
【図１０】ＡＩＴセクション使用時のアプリケーションサーバに対するアクセスの分散の動作例を示す図である。
【図１１】図１０の動作例のフローチャートである。
【図１２】ＸＭＬ−ＡＩＴを用いたアプリケーションの起動の典型的な動作例を示す図である。
【図１３】図１２の動作例のフローチャートである。
【図１４】ＸＭＬ−ＡＩＴ使用時のアプリケーションサーバ３００に対するアクセスの分散の動作例を示す図である。
【図１５】図１４の動作例のフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本技術の実施の形態を図面をもとに説明する。
＜第１の実施形態＞
［情報処理システム］
図１は、本実施形態の情報処理システムの概要を示す図である。
本実施形態の情報処理システム１は、放送設備１００と、インターネットなどの第１のネットワーク２００と、アプリケーションサーバ３００と、ＸＭＬ−ＡＩＴサーバ４００と、エッジルータ５００と、ＬＡＮ（Local Area Network）などの第２のネットワーク６００と、情報処理装置７００とを有する。
【００１７】
放送設備１００（アプリケーション情報テーブル供給装置）は、例えば、地上波、衛星波、ＩＰ（Internet Protocol）ネットワークなどの通信媒体を介してデジタル放送信号を送信する。放送設備１００は、映像、音声、字幕などの各ストリームが多重化されたＡＶストリームと、ＡＶストリームに付随するデータなどが重畳されたいわゆる放送ストリームを送出する。ＡＶストリームに付随するデータとしては、ＨＴＭＬ、ＢＭＬなどなどのマークアップ言語、Java（登録商標）スクリプトなどのスクリプト言語で記述されたアプリケーション、アプリケーションを管理するための情報からなるＡＩＴ（Application Information Table）セクションなどが含まれる。すなわち、放送設備１００は、ＡＩＴセクションを情報処理装置７００に供給する供給部１０１を備える。
【００１８】
アプリケーションサーバ３００は、第１のネットワーク２００に接続可能とされ、第１のネットワーク２００を通じて情報処理装置７００に、放送ストリームとともに処理されるアプリケーションを提供する。
【００１９】
ＸＭＬ−ＡＩＴサーバ４００（アプリケーション情報テーブル供給装置）は、第１のネットワーク２００に接続可能とされ、第１のネットワーク２００を通じて情報処理装置７００に、アプリケーションサーバ３００から提供されるアプリケーションを管理するためのＸＭＬ（Extensible Markup Language）−ＡＩＴを配信する。すなわち、ＸＭＬ−ＡＩＴサーバ４００は、ＸＭＬ−ＡＩＴを情報処理装置７００に供給する供給部４０１を備える。
【００２０】
なお、アプリケーションサーバ３００とＸＭＬ−ＡＩＴサーバ４００は１つのサーバであってもよい。これらは、典型的なコンピュータシステムで構成される。具体的には、これらは、ＣＰＵ（Central Processing Unit）、メインメモリ、ストレージ、ユーザインタフェースなどを備える。メインメモリには、ＸＭＬ−ＡＩＴを情報処理装置７００に供給するようにコンピュータシステムを動作させるプログラムなどが格納され、ＣＰＵはこのプログラムを実行することによって、ＸＭＬ−ＡＩＴを情報処理装置７００に供給する供給部４０１として機能する。
【００２１】
エッジルータ５００は、第１のネットワーク２００と第２のネットワーク６００とを接続するためのルータである。第２のネットワーク６００は有線、無線を問わない。
【００２２】
情報処理装置７００は、例えば、パーソナルコンピュータ、携帯電話、スマートフォン、テレビジョン装置、ゲーム機、タブレット端末、オーディオ・ビデオ再生機器などであるが、具体的に製品形態は問わない。
情報処理装置７００は、放送設備１００からデジタル放送信号を受信し、復調してトランスポートストリームを得る。情報処理装置７００は、このトランスポートストリームから放送ストリームを分離し、デコードして情報処理装置７００に接続される表示部（図示せず）及びスピーカ部（図示せず）や、記録装置（図示せず）に出力することが可能である。
【００２３】
なお、表示部、スピーカ部および記録装置はそれぞれ、情報処理装置７００と一体であってもよいし、互いに独立した機器として直接又は第２のネットワーク６００を介して情報処理装置７００に接続されていてもよい。あるいは、表示部及びスピーカ部を有する機器（図示せず）が直接又は第２のネットワーク６００を介して情報処理装置７００に接続されていてもよい。
【００２４】
また、情報処理装置７００は、取得したトランスポートストリームからアプリケーションや、ＡＩＴセクションを含むＰＳＩ／ＳＩを抽出し、当該ＡＩＴセクションを解釈してアプリケーションの制御を行うことが可能である。情報処理装置７００は、アプリケーションが可視的なアプリケーションである場合には、このアプリケーションの実行により生成された映像信号を、上記放送コンテンツの映像信号及び字幕信号と合成して表示部に出力することが可能である。
【００２５】
さらに、情報処理装置７００は、第１のネットワーク２００、エッジルータ５００及び第２のネットワーク６００を通じて、アプリケーションサーバ３００からアプリケーションを取得することができる。同様に情報処理装置７００は、ＸＭＬ−ＡＩＴサーバ４００からＸＭＬ−ＡＩＴのファイルを取得することができる。情報処理装置７００は、取得したＸＭＬ−ＡＩＴを解釈して、アプリケーションサーバ３００から取得したアプリケーションや放送を通じて取得したアプリケーションを制御することが可能である。
【００２６】
［アプリケーション］
ここで、アプリケーションについて説明する。アプリケーションは、放送設備１００およびアプリケーションサーバ３００から情報処理装置７００に提供される。アプリケーションは、例えばＨＴＭＬ（Hyper Text Markup Language）文書、ＢＭＬ文書(Broadcast Markup Language)、ＭＨＥＧ文書(Multimedia and Hypermedia information coding)、Ｊａｖａ（登録商標）スクリプト、静止画ファイル、動画ファイルなどで構成される。
【００２７】
アプリケーションは可視的なものであっても不可視的なものであってもよい。可視的なアプリケーションとは、画面を通じてその状態をユーザが視ることのできるアプリケーションである。不可視的なアプリケーションは、画面を通じてその状態をユーザが視ることのできないアプリケーションである。例えば、ブラウザがユーザに不可視の透明な状態で起動中であるときに利用されるアプリケーションや、視聴率調査などを目的として情報処理装置にて視聴された放送コンテンツを特定するための情報や視聴時間を記録して特定のサーバに配信したりするアプリケーションなどが考えられる。
【００２８】
また、アプリケーションは、情報処理装置７００のユーザの操作に従って提示する情報や機能を変えることができる双方向型アプリケーションでもよいし、ユーザに対して一方向に情報を提示するアプリケーションでもよい。
【００２９】
［ＡＩＴセクション及びＸＭＬ−ＡＩＴのデータ構造］
ここで、放送設備１００からＡＩＴセクションとして伝送されるＡＩＴのデータ構造と、アプリケーションサーバ３００から提供されるＸＭＬ−ＡＩＴのデータ構造について説明する。
【００３０】
図２は、ＡＩＴのデータ構造を示す図である。
このＡＩＴは、アプリケーションに関する種々の情報や、アプリケーションを制御するためのアプリケーション制御コード等が格納されるテーブルである。具体的には、ＡＩＴには、テーブルＩＤ、セクションシンタックス指示、セクション長、アプリケーション形式、バージョン番号、カレントネクスト指示、セクション番号、最終セクション番号、共通記述子ループ長、アプリケーション情報ループ長、アプリケーション識別子、アプリケーション制御コード１１、アプリケーション記述子ループ長、アプリケーション記述子１２等が格納される。アプリケーション記述子１２には、アプリケーションサーバ３００への負荷を分散させることを目的とした確率的適用遅延記述子を記述することが可能とされている。この確率的適用遅延記述子については後で詳細を説明する。
【００３１】
図３は、ＸＭＬ−ＡＩＴのデータ構造を示す図である。
このＸＭＬ−ＡＩＴには、アプリケーション毎の、アプリケーション名、アプリケーション識別子、アプリケーション記述子、アプリケーションタイプ、アプリケーション制御コード２１、アプリケーションの可視性、現在のサービス内でのみ有効かを示すフラグ、アプリケーションの優先度、アプリケーションのバージョン、プラットフォームプロファイルにあわせたバージョン、アイコン、ストレージ機能の性能、トランスポートプロトコル記述子、アプリケーションロケーション記述子、アプリケーションバウンダリ記述子、アプリケーションスペシフィック記述子、アプリケーションユーセジ記述子、そして確率的適用遅延記述子２２などが記述される。この確率的適用遅延記述子２２は、ＡＩＴのアプリケーション記述子１２に記述可能な確率的適用遅延記述子と同じである。
【００３２】
上記のＡＩＴおよびＸＭＬ−ＡＩＴのデータ構造において、確率的適用遅延記述子はアプリケーションサーバ３００の負荷を時間的に分散させることを目的として本技術に係る実施形態のシステムから新規に導入された情報である。
【００３３】
図４は確率的適用遅延記述子（randomized latency descriptor）のデータ構造を示す図である。
確率的適用遅延記述子は、当該確率的適用遅延記述子を識別する記述子タグ（descriptor_tag）、記述子長（descriptor_length）、アプリケーションサーバ３００へのアクセスを分散させる時間の範囲（range）、アクセスタイミングの分散数（rate）、アクセスの分散を終了させる絶対時間（randomize_end_time）とその長さ（randomize_end_time_length）などで構成される。
【００３４】
ここで、範囲（range）、分散数（rate）は、放送コンテンツとともに処理可能なアプリケーションをサーバより取得するための要求毎に、ランダムなタイミングを算出するための第１の情報に相当する。
また、絶対時間（randomize_end_time）は、上記の第１の情報にもとづく処理の有効期間に関する第２の情報に相当する。
【００３５】
［アプリケーション制御コードの定義］
アプリケーションのライフサイクルは、ＡＩＴセクション及びＸＭＬ−ＡＩＴに格納されるアプリケーション制御コード１１、２１をもとに、情報処理装置７００によって動的に制御される。
図５はＡＩＴセクションのＡＩＴ及びＸＭＬ−ＡＩＴに格納されるアプリケーション制御コード１１、２１の定義を示す図である。
同図に示すように、アプリケーション制御コードとしては、"AUTOSTART"、"PRESENT"、"DESTROY"、"KILL"、"PREFETCH"、"REMOTE"、"DISABLED"、"PLAYBACK_AUTOSTART"が標準規格上存在する。これらアプリケーション制御コードの定義は以下のとおりである。
"AUTOSTART"は、サービスの選択に伴いアプリケーションを自動で起動することを指示するコードである。アプリケーションが既に実行されている場合にはこの限りでない。
"PRESENT"は、サービスが選択されている間、アプリケーションを実行可能な状態とすることを指示するコードである。但し、対象のアプリケーションは、サービスの選択に伴って自動的にアプリケーションは起動されず、ユーザからの起動の指示を受けて起動される。
"DESTROY"は、アプリケーションの終了の許可を指示するコードである。
"KILL"は、アプリケーションの強制的な終了を指示するコードである。
"PREFETCH"は、アプリケーションのキャッシュを指示するコードである。
"REMOTE"は、現在のトランスポートストリームでは取得できないアプリケーションであることを示すコードである。そのアプリケーションは、別のトランスポートストリームあるいはキャッシュから取得して利用可能となる。
"DISABLED"は、アプリケーションの起動を禁止することを示すコードである。
"PLAYBACK_AUTOSTART"は、ストレージ（記録装置）に録画された放送コンテンツの再生に伴いアプリケーションを起動させるためのコードである。
【００３６】
［第１の情報処理装置の構成］
図６は本実施形態の情報処理装置７００の構成を示すブロック図である。
情報処理装置７００は、放送インタフェース７０１、デマルチプレクサ７０２、出力処理部７０３、映像デコーダ７０４、音声デコーダ７０５、字幕デコーダ７０６、通信インタフェース７０７、アプリケーションコントローラ７０８（コントローラ）を有する。
【００３７】
放送インタフェース７０１は、アンテナ及びチューナを有し、これらを用いてユーザにより選局されたデジタル放送信号を受信する。放送インタフェース７０１は、受信したデジタル放送信号に対して復調処理などを施して得たトランスポートストリームをデマルチプレクサ７０２に出力する。
【００３８】
デマルチプレクサ７０２は、トランスポートストリームから放送コンテンツのストリームパケット、アプリケーションのパケット、ＡＩＴセクションのパケットをそれぞれ分離する。デマルチプレクサ７０２は、放送コンテンツのストリームパケットから映像ＥＳ（Elementary Stream）、音声ＥＳ、字幕ＥＳを分離する。デマルチプレクサ７０２は、映像ＥＳを映像デコーダ７０４に、音声ＥＳを音声デコーダ７０５に、字幕ＥＳを字幕デコーダ７０６に、そしてアプリケーションのパケット、およびＡＩＴセクションを含むＰＳＩ／ＳＩ（Program Specific Information/Service Information）のパケットをアプリケーションコントローラ７０８にそれぞれ分配する。
【００３９】
映像デコーダ７０４は、映像ＥＳをデコードして映像信号を生成し、生成した映像信号を出力処理部７０３に出力する。音声デコーダ７０５は、音声ＥＳをデコードして音声信号を生成し、生成した音声信号を出力処理部７０３に出力する。
字幕デコーダ７０６は、字幕ＥＳをデコードして字幕信号を生成し、生成した字幕信号を出力処理部７０３に出力する。
【００４０】
放送インタフェース７０１、デマルチプレクサ７０２、出力処理部７０３、映像デコーダ７０４、音声デコーダ７０５、字幕デコーダ７０６は、放送コンテンツを受信して処理する放送コンテンツ処理部である。
【００４１】
通信インタフェース７０７は、ＬＡＮなどの第２のネットワーク６００を通じて外部の機器と通信を行うためのインタフェースである。通信インタフェース７０７は無線による通信、有線による通信を問わない。
【００４２】
アプリケーションコントローラ７０８は、アプリケーションの制御に関する処理を行うコントローラである。
【００４３】
出力処理部７０３は、映像デコーダ７０４からの映像信号、音声デコーダ７０５からの音声信号、字幕デコーダ７０６からの字幕信号及びアプリケーションコントローラ７０８からの映像信号や音声信号等を合成し、情報処理装置７００に接続された記録装置（図示せず）、表示部及びスピーカ部（図示せず）に出力する。
【００４４】
上記の情報処理装置７００の少なくともアプリケーションコントローラ７０８を含む構成の一部または全ては、ＣＰＵ（Central Processing Unit）およびメインメモリを有するコンピュータとプログラムとにより構成される。
【００４５】
［情報処理システム１の動作］
次に、本実施形態の情報処理システム１の動作例を以下の順に説明する。
１．ＡＩＴセクションに基づくアプリケーションの起動の典型的な動作例
２．ＡＩＴセクション使用時のサーバアクセスの分散の動作例
３．ＸＭＬ−ＡＩＴに基づくアプリケーションの起動の典型的な動作例
４．ＸＭＬ−ＡＩＴ使用時のサーバアクセスの分散の動作例
【００４６】
（１．ＡＩＴセクションに基づくアプリケーションの起動の典型的な動作例）
図７はＡＩＴセクションに基づくアプリケーションの起動の典型的な動作例を示す図である。
図８は図７の動作例のフローチャートである。
【００４７】
情報処理装置７００は、例えばリモコンなどを使ってユーザにより選局された局の放送設備１００から伝送される放送コンテンツを受信し、映像データ、音声データ、字幕データなどのデコード処理などを行って、情報処理装置７００に接続された表示部及びスピーカ部に放送コンテンツを出力する（ステップＳ１０１）。
【００４８】
具体的には、放送インタフェース７０１が、ユーザにより選局された局の放送設備１００から放送コンテンツのデジタル放送信号を受信し、復調処理などを施して得たトランスポートストリームをデマルチプレクサ７０２に出力する。デマルチプレクサ７０２はトランスポートストリームから放送コンテンツのストリームパケットを分離し、さらに放送コンテンツのストリームパケットを映像ＥＳ、音声ＥＳ、字幕ＥＳに分離する。分離された映像ＥＳ、音声ＥＳ、字幕ＥＳはそれぞれ、映像デコーダ７０４、音声デコーダ７０５、字幕デコーダ７０６にてデコードされ、出力処理部７０３にて合成されて表示部及びスピーカ部に出力される。
【００４９】
この例では、放送設備１００から時刻Ｔ１に、アプリケーションApp1に関するＡＩＴが格納されたＡＩＴセクションが放送コンテンツに重畳して伝送される。このＡＩＴセクションにはアプリケーションApp1のロケーション情報と起動を指示するアプリケーション制御コード"AUTOSTART"が格納されている。ここで、アプリケーションApp1はアプリケーションサーバ３００から取得される場合を想定しているため、ロケーション情報はそのアプリケーションサーバ３００から当該アプリケーションApp1を取得するために必要な情報として、ＨＴＴＰ（Hypertext Transfer Protocol）などの通信プロトコル情報とＵＲＬ（Uniform Resource Locator）などで構成される。
【００５０】
デマルチプレクサ７０２はトランスポートストリームからアプリケーションApp1のパケットとＡＩＴセクションのパケットを分離してアプリケーションコントローラ７０８に供給する。アプリケーションコントローラ７０８はＡＩＴセクションを取得すると（ステップＳ１０２）、これを解析する（ステップＳ１０３）。
【００５１】
この動作例では、ＡＩＴセクションのＡＩＴにアプリケーション制御コードとして"AUTOSTART"が記述されているので、アプリケーションコントローラ７０８は、当該ＡＩＴセクションに記述されたロケーション情報をもとにアプリケーションサーバ３００にアクセスしてアプリケーションApp1を取得し、これを起動させる（ステップＳ１０４のＮ、ステップＳ１０５のＹ、ステップＳ１０６）。起動されたアプリケーションApp1は、例えば、表示部に表示された放送番組Ａの映像とともに可視化（提示）される。
【００５２】
続いて、時刻Ｔ２にＡＩＴセクションの更新が発生したものとする。情報処理装置７００のアプリケーションコントローラ７０８は、ＡＩＴセクションのデータ構造の中のバーションナンバーをもとにＡＩＴセクションの更新が発生したことを知ることができる。ここで、更新されたＡＩＴセクションには、アプリケーションApp1の終了を指示するアプリケーション制御コード"DESTROY"または"KILL"と、次のアプリケーションApp2の起動を指示するアプリケーション制御コード"AUTOSTART"が記述されているものとする。
【００５３】
情報処理装置７００のアプリケーションコントローラ７０８は、新たなＡＩＴセクションを取得すると（ステップＳ１０２）、このＡＩＴセクションに記述された、アプリケーションApp1に対するアプリケーション制御コード"DESTROY"または"KILL"に従ってアプリケーションApp1を終了させる（ステップＳ１０４のＹ、エンド）。また、アプリケーションコントローラ７０８は、当該ＡＩＴセクションにアプリケーションApp2に対するアプリケーション制御コードとして格納された"AUTOSTART"に従ってアプリケーションApp2を取得し（ステップＳ１０５のＹ、Ｓ１０６）、これを起動させる（ステップＳ１０５）。これにより、アプリケーションApp1に代わってアプリケーションApp2が放送番組Ａの映像とともに提示される。
【００５４】
なお、アプリケーションコントローラ７０８は、取得したＡＩＴセクションに"AUTOSTART"、"DESTROY"、"KILL"以外の次のアプリケーション制御コードが記述されている場合には、そのアプリケーション制御コードに従ってアプリケーションの状態を遷移させるなどの処理を行った後（ステップＳ１０７）、次のＡＩＴセクションを待機する。
【００５５】
図７において、アプリケーションApp1およびアプリケーションApp2は放送番組の映像に対して領域を分けてL字形に表示されるものとしたが、必ずしも放送番組の映像と同時に表示される必要はなく、全画面に表示してもよい。また、放送番組の映像に対して領域を分けて表示するにしても、縦横に分離して表示したり、左右に分離して表示させるようにしてもよい。アプリケーションを全画面に表示させる場合、放送番組の映像が表示されなくなるが、この状態においても、放送インタフェース７０１のチューナは選局状態にあり、ＡＩＴセクションを含む放送ストリームの受信状態が継続される。
【００５６】
上記のように、アプリケーションを時間によって切り替えて情報処理装置７００に提示させるサービスの具体的な態様としては、例えば、次のようなものが挙げられる。
１．歌手のコンサート全体を映す動画が主映像としてＡＶストリームで伝送される場合に、その様子を別の角度から撮影したり、歌手をズーム撮影したりした副映像、その歌手やコンサートに関する文字データなどの情報を提供するためのアプリケーション。
２．様々な国の言語によるスポーツ実況の音声や字幕を提供するためのアプリケーション。
３．目の不自由な人向けにＡＶストリームで伝送される映像の内容を音声で説明するためのオーディオディスクリプションのアプリケーション。
【００５７】
（２．ＡＩＴセクション使用時のサーバアクセスの分散の動作例）
次に、本実施形態の情報処理システム１において、複数の情報処理装置７００からアプリケーションサーバ３００へのアプリケーション取得要求の送信を、ＡＩＴセクションのＡＩＴをもとに時間的に分散させる仕組みについて説明する。
ＡＩＴセクションは、その性質上、同時刻、あるいは非常に短い期間の間に多数の情報処理装置にて受信されることが一般的である。図９に示すように、情報処理システム１においては、実際には多数の情報処理装置７００Ａ，７００Ｂ，・・・が存在することから、各情報処理装置７００Ａ，７００Ｂ，・・・がそれぞれＡＩＴセクションのＡＩＴに記述された内容に基づきアプリケーションを起動させようとした場合、そのアプリケーションを取得するためのアプリケーションサーバ３００へのアクセスが集中することが考えられる。アプリケーションサーバ３００へのアクセスが集中してアプリケーションサーバ３００の負荷が過大になると、応答時間が増大したり、サービスが停止したりするおそれがある。
【００５８】
本実施形態の情報処理システム１では、このような課題を解決するために、ＡＩＴセクションのＡＩＴに、それぞれの情報処理装置７００Ａ，７００Ｂ，・・・がアプリケーションサーバ３００にアプリケーションを取得するためのアクセスを行うタイミングにずれを設けるための情報として、図４に示した確率的適用遅延記述子２２を新規に導入した。
【００５９】
図１０は、図９に示した２台の情報処理装置７００Ａ、７００Ｂの動作に絞って、ＡＩＴセクション使用時のアプリケーションサーバ３００に対するアクセスの分散の動作例を示す図である。
図１１は図１０の動作例のフローチャートである。
以降、一方の情報処理装置７００Ａを「第１の情報処理装置」、他方の情報処理装置７００Ｂを「第２の情報処理装置」と呼ぶこととする。
【００６０】
第１の情報処理装置７００Ａおよび第２の情報処理装置７００Ｂはともに放送Ａを選局して（ステップＳ２０１）、表示部に放送Ａを表示させているものとする。
【００６１】
この例では、放送設備１００から時刻Ｔ１に、アプリケーションApp1に関するＡＩＴが格納されたＡＩＴセクションが放送コンテンツに重畳して伝送される。このＡＩＴセクションにはアプリケーションApp1のロケーション情報と起動を指示するアプリケーション制御コード"AUTOSTART"が格納されているものとする。
【００６２】
第１の情報処理装置７００Ａおよび第２の情報処理装置７００Ｂはそれぞれ、ＡＩＴセクションをほぼ同時タイミングで受信し（ステップＳ２０２）、このＡＩＴセクションに格納されたＡＩＴを解析して（ステップＳ２０３）、解析結果をもとにアプリケーションApp1に関する制御を行う。
【００６３】
ここで、第１の情報処理装置７００Ａおよび第２の情報処理装置７００Ｂそれぞれのアプリケーションコントローラ７０８は、実行中のアプリケーションが存在している状況で、ＡＩＴにアプリケーション制御コードとして"DESTROY"または"KILL"が記述されている場合には（ステップＳ２０４のＹ）、その実行中のアプリケーションを終了させる（エンド）。
【００６４】
また、第１の情報処理装置７００Ａおよび第２の情報処理装置７００Ｂそれぞれのアプリケーションコントローラ７０８は、ＡＩＴにアプリケーション制御コードとして"AUTOSTART"が記述されている場合には（ステップＳ２０５のＹ）、ＡＩＴに記述された確率的適用遅延記述子２２をもとにアプリケーションサーバ３００に対するアプリケーションの取得要求を送信するタイミングを決定する処理を開始する。この処理については後で説明する。
【００６５】
また、ＡＩＴにアプリケーション制御コードとして"DESTROY"、"KILL"、"AUTOSTART"以外が記述されている場合には、そのアプリケーション制御コードに従ってアプリケーションの状態を遷移させる。（ステップＳ２０６）。この後、次のＡＩＴセクションの待機状態となる。
【００６６】
ここで、ＡＩＴに記述された確率的適用遅延記述子２２をもとにアプリケーションサーバ３００に対するアプリケーションの取得要求を送信するタイミングを決定する処理について説明する。
まず、アプリケーションコントローラ７０８は、受信したＡＩＴセクションのＡＩＴに確率的適用遅延記述子が記述されているかを調べる。当該確率的適用遅延記述子が記述されていない場合、アプリケーションコントローラ７０８はＡＩＴに記述されたアプリケーション制御コード"AUTOSTART"を実行する。すなわち、アプリケーションコントローラ７０８は、アプリケーションサーバ３００に対して可及的に速やかにアプリケーションの取得要求を送信する。したがって、この場合には、アプリケーションサーバ３００に対するアクセスの時間的な分散は行なわれない。
【００６７】
確率的適用遅延記述子がＡＩＴに記述されている場合、アプリケーションコントローラ７０８は、確率的適用遅延記述子（randomized latency descriptor）２２の中のアクセスの分散を終了させる時刻を示す絶対時間（randomize_end_time）と現在の時刻とを比較し、現在の時刻が絶対時間（randomize_end_time）を経過しているかどうかを判定する（ステップＳ２０７）。この判定の結果、現在の時刻が絶対時間（randomize_end_time）を経過している場合には（ステップＳ２０７のＹ）、アプリケーションコントローラ７０８はＡＩＴに記述されたアプリケーション制御コード"AUTOSTART"を実行する（ステップＳ２１１）。すなわち、絶対時間（randomize_end_time）により示される時刻より後は、アプリケーションサーバ３００に対するアプリケーション取得要求の送信の時間的分散は行なわれないこととする。一方、現在の時刻が絶対時間（randomize_end_time）を経過していない場合（ステップＳ２０７のＹ）、アプリケーションコントローラ７０８はアプリケーションサーバ３００に対するアプリケーション取得要求の送信の時間的分散を行うために、次のようにしてアプリケーションサーバ３００に対するアプリケーション取得要求を送信するタイミングを次のようにして算出する（ステップＳ２０８）。
【００６８】
まず、アプリケーションコントローラ７０８は、受信したＡＩＴの確率的適用遅延記述子（randomized latency descriptor）２２の内から、アクセスタイミングの分散数（rate）を抽出し、１から（rate+1）の値の中でランダムに１つの整数値Nを決定する。続いて、アプリケーションコントローラ７０８は、受信したＡＩＴの確率的適用遅延記述子（randomized latency descriptor）２２の内から、アプリケーションサーバ３００へのアクセスを分散させる時間の範囲（range）の値を取り出す。そして、アプリケーションコントローラ７０８は、整数値Nおよび範囲（range）から以下の計算式（１）を用いて、アプリケーション取得要求の送信タイミング（LatencyPeriod）を算出する。
LatencyPeriod = (Ｎ−１)×range／rate    ・・・（１）
ここで、第１の情報処理装置７００Ａにて算出されたLatencyPeriodが図１０のＴｄ１に相当し、第２の情報処理装置７００Ｂにて算出されたLatencyPeriodが図１０のＴｄ２に相当する。これにより、第１の情報処理装置７００Ａと第２の情報処理装置７００Ｂのそれぞれからアプリケーション取得要求が送信されるタイミングに高い確率でずれが確保される。
【００６９】
なお、ここでは上記の確率的適用遅延記述子とこれに基づく計算方法を例示したが、本技術はこの例示にしたものに限定されるものではない。複数の情報処理装置からのアプリケーション取得要求の送信タイミングにずれを設けることができれば、どのような記述子と計算方法を採用してもよい。また、現在時刻が、確率的適用遅延記述子（randomized latency descriptor）２２の内の絶対時間（randomize_end_time）を経過していない間だけアプリケーション取得要求の送信のタイミングを分散させることとしたが、絶対時間（randomize_end_time）に代えてＸＭＬ−ＡＩＴの取得タイミングからの経過上限時間を採用するようにしてもよい。
【００７０】
この後、第１の情報処理装置７００Ａおよび第２の情報処理装置７００Ｂそれぞれのアプリケーションコントローラ７０８は、各々で算出されたタイミングでアプリケーションサーバ３００に対してアプリケーション取得要求を送信する。アプリケーションサーバ３００は、それぞれのアプリケーション取得要求に対して、対応するアプリケーションApp1を応答する。第１の情報処理装置７００Ａおよび第２の情報処理装置７００Ｂそれぞれのアプリケーションサーバ３００は、アプリケーションApp1を取得すると、ＡＩＴに記述されたアプリケーション制御コード"AUTOSTART"に従ってアプリケーションApp1を起動させる（ステップＳ２０９）。
【００７１】
その後、アプリケーションコントローラ７０８は、取得したＡＩＴセクションのＡＩＴに記述された"AUTOSTART"以外の次のアプリケーション制御コードが記述されている場合には、これに従ってアプリケーションApp1の状態を遷移させる（ステップＳ２１０）。そしてアプリケーションコントローラ７０８は、次のＡＩＴセクションの待機状態となる。
【００７２】
（３．ＸＭＬ−ＡＩＴに基づくアプリケーションの起動の典型的な動作例）
次に、インターネットなどの通信により取得されるＸＭＬ−ＡＩＴに基づくアプリケーションの起動の典型的な動作例を説明する。
図１２はＸＭＬ−ＡＩＴを用いたアプリケーションの起動の典型的な動作例を示す図である。
図１３は図１２の動作例に関するフローチャートである。
【００７３】
本動作例において、ユーザによるリモコンの操作による放送の選局からＡＩＴセクションに基づくアプリケーションの制御までの動作は、上記の１．ＡＩＴセクションに基づくアプリケーションの起動の典型的な動作例と基本的には同じである。
【００７４】
この動作例では、提示中のアプリケーションApp1に、次に提示させるアプリケーションApp2用のＸＭＬ−ＡＩＴを情報処理装置７００に取得させるためのcreateApplication()関数などを含むスクリプトが組み込まれている場合を想定している。createApplication()関数には、引数として、そのアプリケーションApp2用のＸＭＬ−ＡＩＴにアクセスするために必要な通信プロトコルに関する情報とＸＭＬ−ＡＩＴのロケーション情報などが記述されている。
【００７５】
第１の情報処理装置７００Ａおよび第２の情報処理装置７００Ｂそれぞれにおいて、アプリケーションApp1の提示中、ユーザからの指示あるいは時間など所定の条件が成立すると（ステップＳ３０９のＹ）、アプリケーションApp1に組み込まれた上記のスクリプトが実行されることによって、アプリケーションコントローラ７０８は、新たなＸＭＬ−ＡＩＴをＸＭＬ−ＡＩＴサーバ４００から取得し（ステップＳ３１０）、解析する（ステップＳ３１１）。
【００７６】
この新たなＸＭＬ−ＡＩＴには、アプリケーションApp1の終了を指示するアプリケーション制御コード"DESTROY"または"KILL"と、アプリケーションApp2の起動を指示するアプリケーション制御コード"AUTOSTART"が記述されていることとする。
【００７７】
第１の情報処理装置７００Ａおよび第２の情報処理装置７００Ｂのそれぞれにおいて、アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴに記述されたアプリケーションApp1に対するアプリケーション制御コード"DESTROY"または"KILL"に従ってアプリケーションApp1を終了させる（ステップＳ３１４）。さらに、アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴに記述されたアプリケーションApp2に対するアプリケーション制御コード"AUTOSTART"に従って（ステップＳ３１２のＹ）、そのＸＭＬ−ＡＩＴに記述されたアプリケーションApp2のロケーション情報をもとにアプリケーションサーバ３００からアプリケーションApp2を取得し、これを起動させる（ステップＳ３１３）。
【００７８】
その後、アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴに記述された次のアプリケーション制御コードに従ってアプリケーションApp2の状態を遷移させる（ステップＳ３１４）。この後、次のＡＩＴセクションの待機状態となる。
【００７９】
（４．ＸＭＬ−ＡＩＴ使用時のサーバアクセスの分散の動作例）
次に、本実施形態の情報処理システム１において、複数の情報処理装置７００からアプリケーションサーバ３００へのアプリケーション取得要求の送信を、ＸＭＬ−ＡＩＴをもとに時間的に分散させる動作について説明する。
ＸＭＬ−ＡＩＴは、インターネットを通じて通信により情報処理装置７００に伝送される。このため、ＡＩＴセクションに比較すれば、アプリケーションサーバ３００の負荷の時間的な集中が発生する確率は低い。しかしながら、ＡＩＴセクションのＡＩＴによりライフサイクルの制御が行われるアプリケーション（例えば上記のアプリケーションApp1）に組み込まれたcreateApplication()関数などを含むスクリプトが、絶対時間などの時間的な条件によって複数の情報処理装置７００上で同時に実行されるような場合も考えられる。このような場合には、やはり複数の情報処理装置７００がアプリケーションサーバ３００に対してほぼ同時にアプリケーション取得要求を送信し、アプリケーションサーバ３００の負荷が増大することか考えられる。
【００８０】
そこで、本実施形態の情報処理システム１では、ＸＭＬ−ＡＩＴにも図４に示した確率的適用遅延記述子２２を新規に導入した。
【００８１】
図１４はＸＭＬ−ＡＩＴ使用時のアプリケーションサーバ３００に対するアクセスの分散の動作例を示す図である。
図１５は図１４の動作例のフローチャートである。
【００８２】
本動作例において、複数の情報処理装置７００からアプリケーションサーバ３００へのアプリケーション取得要求の送信を、ＸＭＬ−ＡＩＴをもとに時間的に分散させる動作は、ＡＩＴセクションのＡＩＴをもとにした動作と基本的には同じである。
【００８３】
この動作例においても、提示中のアプリケーションApp1に、次に提示させるアプリケーションApp2用のＸＭＬ−ＡＩＴを情報処理装置７００に取得させるためのcreateApplication()関数などを含むスクリプトが組み込まれている場合が想定されている。
【００８４】
第１の情報処理装置７００Ａおよび第２の情報処理装置７００Ｂそれぞれにおいて、アプリケーションApp1の提示中、ユーザからの指示あるいは時間など所定の条件が成立すると（ステップＳ４０９のＹ）、アプリケーションApp1に組み込まれた上記のスクリプトが実行されることによって、アプリケーションコントローラ７０８は、新たなＸＭＬ−ＡＩＴをＸＭＬ−ＡＩＴサーバ４００から取得し（ステップＳ４１０）、解析する（ステップＳ４１１）。
【００８５】
この新たなＸＭＬ−ＡＩＴには、アプリケーションApp1の終了を指示するアプリケーション制御コード"DESTROY"または"KILL"と、アプリケーションApp2の起動を指示するアプリケーション制御コード"AUTOSTART"が記述されていることとする。
【００８６】
第１の情報処理装置７００Ａおよび第２の情報処理装置７００Ｂのそれぞれにおいて、アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴに記述されたアプリケーションApp1に対するアプリケーション制御コード"DESTROY"または"KILL"に従ってアプリケーションApp1を終了させる（ステップＳ４１７）。
【００８７】
また、アプリケーションコントローラ７０８は、ＸＭＬ−ＡＩＴにアプリケーションApp2に対するアプリケーション制御コードとして"AUTOSTART"が記述されている場合には（ステップＳ４１２のＹ）、取得したＸＭＬ−ＡＩＴに記述された確率的適用遅延記述子（randomized latency descriptor）２２をもとにアプリケーションサーバ３００に対するアプリケーション取得要求を送信するタイミングを算出する（ステップＳ４１５）。具体的なタイミング算出方法は、上記の２．ＡＩＴセクション使用時のサーバアクセスの分散の動作例で示した通りである。これにより、第１の情報処理装置７００Ａと第２の情報処理装置７００Ｂのそれぞれからアプリケーション取得要求が送信されるタイミングにずれが確保される。
【００８８】
この後、第１の情報処理装置７００Ａおよび第２の情報処理装置７００Ｂそれぞれのアプリケーションコントローラ７０８は、各々で算出されたタイミングでアプリケーションサーバ３００に対してアプリケーション取得要求を送信する。アプリケーションサーバ３００は、それぞれのアプリケーション取得要求に対して、対応するアプリケーションApp2を応答する。第１の情報処理装置７００Ａおよび第２の情報処理装置７００Ｂそれぞれのアプリケーションサーバ３００は、アプリケーションApp2を取得すると、ＡＩＴに記述されたアプリケーション制御コード"AUTOSTART"に従ってアプリケーションApp2を起動させる（ステップＳ４１６）。
【００８９】
その後、アプリケーションコントローラ７０８は、取得したＡＩＴセクションのＡＩＴに記述された"AUTOSTART"以外の次のアプリケーション制御コードが記述されている場合には、これに従ってアプリケーションApp1の状態を遷移させる（ステップＳ４１７）。そしてアプリケーションコントローラ７０８は、次のＡＩＴセクションの待機状態となる。
【００９０】
［実施形態の効果等］
本実施形態では、次のような効果が得られる。
１．ＡＩＴセクションのＡＩＴおよびＸＭＬ−ＡＩＴに確率的適用遅延記述子（randomized latency descriptor）２２を導入したことによって、複数の情報処理装置７００からアプリケーションサーバ３００に対するアプリケーション取得要求の送信のタイミングを分散させることができる。これにより、例えば、ＡＩＴセクションおよびＸＭＬ−ＡＩＴが配信された直後などでのアプリケーションサーバ３００の負荷を時間的に分散することができ、アプリケーションサーバ３００の応答性および可用性の向上を図ることができる。
２．確率的適用遅延記述子（randomized latency descriptor）２２の内の絶対時間（randomize_end_time）の記述子によって、アプリケーションサーバ３００に対するアクセスを時間的に分散させるための処理が実施される期間（有効な期間）を任意に設定することができる。
【００９１】
ＨｂｂＴＶの標準規格を前提とした実施形態を説明したが、本技術は、ＨｂｂＴＶの標準規格を前提とすることに必ずしも限定されるものではない。
【００９２】
その他、本技術は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【００９３】
１…情報処理システム
１００…放送設備
１０１…供給部
３００…アプリケーションサーバ
４００…ＸＭＬ−ＡＩＴサーバ
４０１…供給部
７００…情報処理装置
７０１…放送インタフェース
７０２…デマルチプレクサ
７０３…出力処理部
７０４…映像デコーダ
７０５…音声デコーダ
７０６…字幕デコーダ
７０７…通信インタフェース
７０８…アプリケーションコントローラ
【図１】
0005516826.tif 000002
【図２】
0005516826.tif 000003
【図３】
0005516826.tif 000004
【図４】
0005516826.tif 000005
【図５】
0005516826.tif 000006
【図６】
0005516826.tif 000007
【図７】
0005516826.tif 000008
【図８】
0005516826.tif 000009
【図９】
0005516826.tif 000010
【図１０】
0005516826.tif 000011
【図１１】
0005516826.tif 000012
【図１２】
0005516826.tif 000013
【図１３】
0005516826.tif 000014
【図１４】
0005516826.tif 000015
【図１５】
0005516826.tif 000016