説明

情報処理装置、情報処理方法及びプログラム

【課題】AITを用いたアプリケーションの制御を行う装置において、外部デバイスへのアプリケーションの転送をサポートする。
【解決手段】AITのアプリケーション記述子にアプリケーションの対応デバイスを指定する対応機種記述子(Application_destination_discriptor)を新たに設ける。情報処理装置は、この対応機種記述子をもとに、アプリケーションが自デバイス向けであるか外部デバイス向けであるかを判定し、外部デバイス向けである場合にはそのアプリケーションを外部デバイスに転送して起動させる。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、アプリケーション管理テーブルを用いて放送コンテンツに関連するアプリケーションを実行することが可能な情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
近年、放送コンテンツの再生と同時に、インターネット等のネットワークを通じて配信されるアプリケーションの実行を行うことを可能とする技術が知られている。このような技術として、ハイブリッドブロードバンド放送(Hybrid Broadcast Broadband TV、以下「HbbTV」と称する。)と呼ばれる技術が知られている。HbbTVの標準規格として、欧州では「ETSI TS 102 796」(非特許文献1参照。)が策定されている。また、我が国でもこれに準拠した標準規格「ARIB STD-B23」(非特許文献2参照。)が策定されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】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(平成23年10月21日閲覧)
【非特許文献2】社団法人電波産業会「デジタル放送におけるアプリケーション実行環境 標準規格 ARIB STD-B23 1.2版」http://www.arib.or.jp/english/html/overview/doc/2-STD-B23v1_2.pdf(平成23年10月21日閲覧)
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えばHbbTVなどのように、放送コンテンツの再生と同時にアプリケーションが実行されるシステムでは、アプリケーションの起動から終了までのライフサイクルが、放送コンテンツに重畳されたAIT(Application Information Table)と呼ばれるデータ構造によって管理される。AITを取得した情報端末は、AITに含まれるアプリケーション制御用のコードをもとにアプリケーションの制御を行う。
【0005】
しかしながら、従来のAITによるアプリケーションに関する情報の伝送では、当該AITを直接受信した受信機がアプリケーションを受信かつ利用することが想定されているため、受信機から外部のデバイスに移動させて利用することが考えられていない。アプリケーションを受信する受信機とそれに接続されるデバイスとでは、例えば、オペレーティングシステムなどの実行環境や画面サイズなどの条件が相違する場合があるため、仮に、受信機からこれに接続されるデバイスにアプリケーションを移動させることができたとしても、そのアプリケーションがデバイス上で動作するとは限らない。あるいは、動作したとしても、アプリケーション制作者の意図にあった提示ができないという課題があった。
【0006】
また、従来のAITによるアプリケーションに関する情報の伝送では、受信機内部の記録装置に蓄積したアプリケーションが利用される期間が記載されていないため、受信機はアプリケーションを削除する適切なタイミングがわからない。そのため、利用されないまま受信機内に記録され続けたり、利用される可能性があるにもかかわらず削除されてしまう可能性があった。
【0007】
以上のような事情に鑑み、本技術の目的は、AITによるアプリケーションの制御を拡張することのできる情報処理装置、情報処理方法およびプログラムを提供することにある。より具体的には、外部デバイスへのアプリケーションの転送をサポートする情報処理装置、情報処理方法およびプログラムを提供することにある。また、アプリケーションの有効期限の管理をサポートする情報処理装置、情報処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、本技術に係る情報処理装置は、外部デバイスを接続可能な接続部と、放送コンテンツを受信し処理する放送コンテンツ処理部と、前記放送コンテンツに関連するアプリケーションの対応デバイスを指定する対応機種記述子が設定されたアプリケーション情報テーブルを取得し、当該対応機種記述子をもとに、当該アプリケーションが、前記接続部に接続された外部デバイスに対応するアプリケーションであるかを判定するコントローラとを具備する。
【0009】
前記コントローラは、前記アプリケーションが前記外部デバイスに対応するアプリケーションであることを判定した場合、当該アプリケーションを前記接続部に接続された外部デバイスに転送するものであってよい。
【0010】
前記コントローラは、前記アプリケーションが前記外部デバイスに対応するアプリケーションであることを判定した場合、前記取得したアプリケーション情報テーブルに記述されたアプリケーション制御コードを前記外部デバイスの環境において解釈して実行可能な形式の外部デバイス制御情報に変換し、前記外部デバイスに前記アプリケーションとともに転送するものであってよい。
【0011】
前記コントローラは、前記アプリケーションの有効期限を指定する有効期限記述子が設定されたアプリケーション情報テーブルを取得し、当該有効期限記述子をもとに、当該アプリケーションの有効期限を管理するものであってよい。
【0012】
前記コントローラは、前記有効期限を超過したアプリケーションを削除するための処理を行うものであってよい。
【0013】
本技術の情報処理方法は、放送コンテンツを受信して処理し、コントローラが、前記再生された放送コンテンツに関連するアプリケーションの対応デバイスを指定する対応機種記述子が設定されたアプリケーション情報テーブルを取得し、当該対応機種記述子をもとに、当該アプリケーションが、接続された外部デバイスに対応するアプリケーションであるかを判定するものである。
【0014】
本技術のプログラムは、放送コンテンツに関連するアプリケーションの対応デバイスを指定する対応機種記述子が設定されたアプリケーション情報テーブルを取得し、当該対応機種記述子をもとに、当該アプリケーションが、接続された外部デバイスに対応するアプリケーションであるかを判定するコントローラとしてコンピュータを機能させるものである。
【発明の効果】
【0015】
以上のように、本技術によれば、AITによるアプリケーションの制御を拡張することができる。
【図面の簡単な説明】
【0016】
【図1】本実施形態の情報処理システムの概要を示す図である。
【図2】AITのデータ構造を示す図である。
【図3】対応機種記述子の構成を示す図である。
【図4】有効期限記述子の構成を示す図である。
【図5】XML−AITのデータ構造を示す図である。
【図6】AITに格納されるアプリケーション制御コードの定義を示す図である。
【図7】本実施形態の情報処理装置(第1の情報処理装置)の構成を示すブロック図である。
【図8】本実施形態の外部デバイス(第2の情報処理装置)の構成を示すブロック図である。
【図9】アプリケーションの起動及び終了の動作例を示す図である。
【図10】アプリケーションの起動及び終了の処理に関するフローチャートである。
【図11】外部デバイスへのアプリケーション転送処理に関するフローチャートである。
【図12】外部デバイスへのアプリケーション転送の動作例を説明する。
【図13】アプリケーションの有効期限管理における有効期限終了日の登録に関するフローチャートである。
【図14】アプリケーションの有効期限管理に基づくアプリケーションの削除に関するフローチャートである。
【図15】アプリケーションの有効期限管理の処理の動作例を説明する。
【発明を実施するための形態】
【0017】
以下、本技術の実施の形態を図面をもとに説明する。
<第1の実施形態>
[情報処理システム]
図1は、本実施形態の情報処理システムの概要を示す図である。
本実施形態の情報処理システム1は、インターネットなどの第1のネットワーク100と、アプリケーションサーバ200と、エッジルータ300と、LAN(Local Area Network)などの第2のネットワーク400と、第1の情報処理装置500と、放送局600とを有する。また、第1の情報処理装置500にはインタフェースを通じて第2の情報処理装置700の接続が可能とされる。
【0018】
放送局600は、例えば、地上波、衛星波、IP(Internet Protocol)ネットワークなどの通信媒体を介してデジタル放送信号を送信する。放送局600は、放送コンテンツのストリームパケットと、放送コンテンツの再生と連携して同時に実行されるアプリケーションのパケットと、現在放送中の放送コンテンツ及び当該アプリケーションに関する各種情報を含むPSI/SI(Program Specific Information/Service Information)のパケットとを多重化して送信することが可能である。PSI/SIには、当該アプリケーションを管理するための情報からなるデータ構造であるアプリケーション情報テーブル(Application Information Table、以下「AIT」と呼ぶ。)などが含まれる。
【0019】
アプリケーションサーバ200は、第1のネットワーク100に接続可能とされ、第1のネットワーク100を通じて第1の情報処理装置500に、放送コンテンツの再生と関連して実行させるアプリケーションのファイルおよびこのアプリケーションを管理するための情報からなるデータ構造が記述されたXML(Extensible Markup Language)−AITをそれぞれ配信可能である。
【0020】
エッジルータ300は、第1のネットワーク100と第2のネットワーク400とを接続するためのルータである。第2のネットワーク400は有線、無線を問わない。
【0021】
第1の情報処理装置500および第2の情報処理装置700は、例えば、パーソナルコンピュータ、携帯電話、スマートフォン、テレビジョン装置、ゲーム機、タブレット端末、オーディオ・ビデオ再生機器などであるが、具体的に製品形態は問わない。
第1の情報処理装置500は、放送局600からデジタル放送信号を受信し、復調してトランスポートストリームを得ることが可能である。第1の情報処理装置500は、このトランスポートストリームから放送コンテンツを分離し、デコードして第1の情報処理装置500に接続される表示部(図示せず)及びスピーカ部(図示せず)や、記録装置に出力することが可能である。第1の情報処理装置500と第2の情報処理装置700とは、例えば、USB(Universal Serial Bus)、HDMI(High-Definition Multimedia Interface)などの有線型インタフェースや、Wi−Fi(登録商標) Directなどの機器間無線LANなどの無線型インタフェースを通じて互いに通信自在に接続される。
【0022】
なお、表示部、スピーカ部および記録装置はそれぞれ、第1の情報処理装置500と一体であってもよいし、互いに独立した機器として直接又は第2のネットワーク400を介して第1の情報処理装置500に接続されていてもよい。あるいは、表示部及びスピーカ部を有する機器(図示せず)が直接又は第2のネットワーク400を介して第1の情報処理装置500に接続されていてもよい。
【0023】
また、第1の情報処理装置500は、取得したトランスポートストリームからアプリケーションや、AITを含むPSI/SIを抽出し、当該AITを解釈してアプリケーションの制御を行うことが可能である。第1の情報処理装置500は、アプリケーションが可視的なアプリケーションである場合には、このアプリケーションの実行により生成された映像信号を、上記放送コンテンツの映像信号及び字幕信号と合成して表示部に出力することが可能である。
【0024】
さらに、第1の情報処理装置500は、第1のネットワーク100、エッジルータ300及び第2のネットワーク400を通じて、アプリケーションサーバ200からアプリケーション及びXML−AITのファイルをダウンロードなどにより取得することができる。第1の情報処理装置500は、取得したXML−AITを解釈して、アプリケーションサーバ200から取得したアプリケーションを制御することが可能である。
【0025】
さらに、第1の情報処理装置500は、外部接続端末向けのアプリケーションを取得した場合には、インタフェースを通じて第2の情報処理装置700にそのアプリケーションと、そのアプリケーションに対する起動、終了などの制御情報を伝送することが可能である。
【0026】
第2の情報処理装置700は、第1の情報処理装置500よりインタフェースを通じて外部接続端末向けのアプリケーションと制御情報を受け取り、当該アプリケーションを制御情報に従って実行することができる。
【0027】
[アプリケーション]
ここで、アプリケーションについて説明する。アプリケーションは、放送局600およびアプリケーションサーバ200から第1の情報処理装置500に提供される。アプリケーションは、例えばHTML文書、Java(登録商標)スクリプト、静止画ファイル、動画ファイルなどで構成される。
【0028】
アプリケーションは可視的なものであっても不可視的なものであってもよい。可視的なアプリケーションとは、画面を通じてその状態をユーザが観察することのできるアプリケーションである。不可視的なアプリケーションは、画面を通じてその状態をユーザが観察することのできないアプリケーションであり、例えば、視聴率調査などを目的として、情報処理装置にて視聴された放送コンテンツを特定するための情報や視聴時間を記録して特定のサーバに配信するような機能が考えられる。
【0029】
また、アプリケーションは、第1の情報処理装置500のユーザの操作に従って提示する情報や機能を変えることができる双方向型アプリケーションでもよいし、ユーザに対して一方向に情報を提示するアプリケーションでもよい。
【0030】
アプリケーションには、第1の情報処理装置500の実行環境(オペレーティングシステム、画面サイズなど)に対応させて最適化された第1の情報処理装置用のアプリケーションと、第2の情報処理装置700の仕様や実行環境(オペレーティングシステム、画面サイズなど)に対応させて最適化された第2の情報処理装置用のアプリケーション(外部接続端末向けのアプリケーション)がある。したがって、第2の情報処理装置として仕様や実行環境が異なる様々な機器を対応機器として想定した場合には、第2の情報処理装置用のアプリケーションの対応機器を識別する情報をAITを用いて通知する必要がある。
【0031】
[AIT及びXML−AITのデータ構造]
ここで、放送局600から提供されるAITのデータ構造と、アプリケーションサーバ200から提供されるXML−AITのデータ構造について説明する。なお、本明細書で単に「AIT」と記述するときは、放送局600から提供されるAITのことを言う。
【0032】
図2は、AITのデータ構造を示す図である。
AIT10は、放送連動型アプリケーションに関する種々の情報や、放送連動型アプリケーションを制御するためのアプリケーション制御コード等が格納されるテーブルである。具体的には、AIT10には、テーブルID、セクションシンタックス指示、セクション長、アプリケーション形式、バージョン番号、カレントネクスト指示、セクション番号、最終セクション番号、共通記述子ループ長、アプリケーション情報ループ長、アプリケーション識別子、アプリケーション制御コード11、アプリケーション記述子ループ長、アプリケーション記述子12等が格納される。
【0033】
アプリケーション記述子12には、対応機種記述子(Application_destination_discriptor)と有効期限記述子(Application_validity_period_descriptor)の2つの記述子を定義することができる。
【0034】
図3は対応機種記述子の構成を示す図である。対応機種記述子には、当該アプリケーションの対応デバイスを指定する情報であるデバイスタイプ(destination_device_type)が記述される。デバイスタイプとして、メインデバイス(第1の情報処理装置500)を指定する場合には"main receiver"と記述され、外部デバイス(例えば第2の情報処理装置700など)を指定する場合には"main receiver"以外が記述される。
【0035】
図4は有効期限記述子の構成を示す図である。有効期限記述子には、当該アプリケーションが使用可能な期間の終了日を指定する情報である有効期限形式(validity_period_format)と、当該アプリケーションを利用可能な期間の終了日(validity_period_length)が記述される。
【0036】
図5は、XML−AITのデータ構造を示す図である。
XML−AIT20は、放送非連動型アプリケーションに関する種々の情報や、放送非連動型アプリケーションを制御するためのアプリケーション制御コード等が格納されるテーブルである。具体的には、XML−AIT20には、アプリケーション名、アプリケーション識別子、アプリケーション記述子22、アプリケーションタイプ、アプリケーション制御コード21、アプリケーションの可視性、現在のサービス内でのみ有効かを示すフラグ、アプリケーションの優先度、アプリケーションのバージョン、プラットフォームプロファイルにあわせたバージョン、アイコン、ストレージ機能の性能、トランスポートプロトコル記述子、アプリケーションロケーション記述子、アプリケーションバウンダリ記述子、アプリケーションスペシフィック記述子、アプリケーションユーセジ記述子等が格納される。
このXML−AITのアプリケーション記述子22にも、対応機種記述子および有効期限記述子と同様の2つの記述子を記述することができる。
【0037】
[アプリケーション制御コードの定義]
アプリケーションのライフサイクルは、AIT10及びXML−AIT20に格納されるアプリケーション制御コード11、21をもとに、第1の情報処理装置500によって動的に制御される。
【0038】
図6はAIT10及びXML−AIT20に格納されるアプリケーション制御コード11、21の定義を示す図である。
同図に示すように、アプリケーション制御コードとしては、"AUTOSTART"、"PRESENT"、"DESTROY"、"KILL"、"PREFETCH"、"REMOTE"、"DISABLED"、"PLAYBACK_AUTOSTART"が標準規格上存在する。本実施形態では、新たに"SUSPEND"が追加される。これらアプリケーション制御コードの定義は以下のとおりである。
【0039】
"AUTOSTART"は、サービスの選択に伴いアプリケーションを自動で起動することを指示するコードである。アプリケーションが既に実行されている場合にはこの限りでない。
"PRESENT"は、サービスが選択されている間、アプリケーションを実行可能な状態とすることを指示するコードである。但し、対象のアプリケーションは、サービスの選択に伴って自動的にアプリケーションは起動されず、ユーザからの起動の指示を受けて起動される。
"DESTROY"は、アプリケーションの終了の許可を指示するコードである。
"KILL"は、アプリケーションの強制的な終了を指示するコードである。
"PREFETCH"は、アプリケーションのキャッシュを指示するコードである。
"REMOTE"は、現在のトランスポートストリームでは取得できないアプリケーションであることを示すコードである。そのアプリケーションは、別のトランスポートストリームあるいはキャッシュから取得して利用可能となる。
"DISABLED"は、アプリケーションの起動を禁止することを示すコードである。
"PLAYBACK_AUTOSTART"は、ストレージ(記録装置)に録画された放送コンテンツの再生に伴いアプリケーションを起動させるためのコードである。
【0040】
[第1の情報処理装置の構成]
図7は本実施形態の第1の情報処理装置500の構成を示すブロック図である。
第1の情報処理装置500は、放送インタフェース501、デマルチプレクサ502、出力処理部503、映像デコーダ504、音声デコーダ505、字幕デコーダ506、通信インタフェース507、アプリケーションコントローラ508(コントローラ)、キャッシュバッファ509、外部機器インタフェース510(接続部)を有する。
【0041】
放送インタフェース501は、アンテナ及びチューナを有し、これらを用いてユーザにより選局されたデジタル放送信号を受信する。放送インタフェース501は、受信したデジタル放送信号に対して復調処理などを施して得たトランスポートストリームをデマルチプレクサ502に出力する。
【0042】
デマルチプレクサ502は、トランスポートストリームから放送コンテンツのストリームパケット、アプリケーションのパケット、AITのパケットをそれぞれ分離する。デマルチプレクサ502は、放送コンテンツのストリームパケットから映像ES(Elementary Stream)、音声ES、字幕ESを分離する。デマルチプレクサ502は、映像ESを映像デコーダ504に、音声ESを音声デコーダ505に、字幕ESを字幕デコーダ506に、そしてアプリケーションのパケット、およびAITを含むPSI/SI(Program Specific Information/Service Information)のパケットをアプリケーションコントローラ508にそれぞれ分配する。
【0043】
映像デコーダ504は、映像ESをデコードして映像信号を生成し、生成した映像信号を出力処理部503に出力する。音声デコーダ505は、音声ESをデコードして音声信号を生成し、生成した音声信号を出力処理部503に出力する。
字幕デコーダ506は、字幕ESをデコードして字幕信号を生成し、生成した字幕信号を出力処理部503に出力する。
【0044】
放送インタフェース501、デマルチプレクサ502、出力処理部503、映像デコーダ504、音声デコーダ505、字幕デコーダ506は、放送コンテンツを受信して処理する放送コンテンツ処理部である。
【0045】
通信インタフェース507は、LANなどの第2のネットワーク400を通じて外部の機器と通信を行うためのインタフェースである。通信インタフェース507は無線による通信、有線による通信を問わない。
【0046】
アプリケーションコントローラ508は、アプリケーションの制御に関する処理を行うコントローラである。
【0047】
キャッシュバッファ509は、取得したアプリケーションを一時的に保存する記憶部である。
【0048】
出力処理部503は、映像デコーダ504からの映像信号、音声デコーダ505からの音声信号、字幕デコーダ506からの字幕信号及びアプリケーションコントローラ508からの映像信号や音声信号等を合成し、第1の情報処理装置500に接続された記録装置、表示部及びスピーカ部(図示せず)に出力する。
【0049】
外部機器インタフェース510は、第2の情報処理装置700との接続用のインタフェースである。
【0050】
上記の第1の情報処理装置500の少なくともアプリケーションコントローラ508を含む構成の一部または全ては、CPU(Central Processing Unit)およびメモリを有するコンピュータとプログラムとにより提供することが可能である。
【0051】
[第2の情報処理装置(外部デバイス)の構成]
図8は第2の情報処理装置700の構成を示すブロック図である。
第2の情報処理装置700は、外部機器インタフェース701、ユーザ操作部702、アプリケーションコントローラ703、映像デコーダ704、音声デコーダ705、字幕デコーダ706、出力処理部707、表示・スピーカ部708を有する。
【0052】
外部機器インタフェース701は、第1の情報処理装置500との接続用のインタフェースである。
【0053】
ユーザ操作部702は、ユーザからのデータや操作指令などの入力を受け付ける入力装置である。
【0054】
映像デコーダ704は、映像ESをデコードして映像信号を生成し、生成した映像信号を出力処理部707に出力する。音声デコーダ705は、音声ESをデコードして音声信号を生成し、生成した音声信号を出力処理部707に出力する。字幕デコーダ706は、字幕ESをデコードして字幕信号を生成し、生成した字幕信号を出力処理部707に出力する。
【0055】
出力処理部707は、映像デコーダ704からの映像信号、音声デコーダ705からの音声信号、字幕デコーダ706からの字幕信号及びアプリケーションコントローラ703からの映像信号や音声信号等を合成し、表示・スピーカ部708に出力する。
【0056】
アプリケーションコントローラ703は、アプリケーションの制御に関する処理を行うコントローラである。
【0057】
上記の第2の情報処理装置700の少なくともアプリケーションコントローラ703を含む構成の一部または全ては、CPU(Central Processing Unit)およびメモリを有するコンピュータとプログラムとにより提供することが可能である。
【0058】
[情報処理システム1の動作]
次に、本実施形態の情報処理システム1の動作を説明する。
なお、動作の説明は、
1.アプリケーションの起動及び終了
2.アプリケーションの外部デバイスへの転送
3.アプリケーションの有効期限管理
の順で行う。
【0059】
(1.アプリケーションの起動及び終了)
図9はアプリケーションの起動及び終了の動作例を示す図である。
図10は第1の情報処理装置500のアプリケーションの起動及び終了の処理に関するフローチャートである。
【0060】
第1の情報処理装置500は、例えばリモコンなどを使ってユーザにより選局された放送局600からの放送コンテンツ(放送A)を受信し、映像データ、音声データ、字幕データなどのデコード処理などを行って、第1の情報処理装置500に接続された表示部及びスピーカ部に放送コンテンツ(放送A)を出力する(ステップS101)。
【0061】
具体的には、放送インタフェース501が、ユーザにより選局された放送局600から放送コンテンツ(放送A)のデジタル放送信号を受信し、復調処理などを施して得たトランスポートストリームをデマルチプレクサ502に出力する。デマルチプレクサ502はトランスポートストリームから放送コンテンツのストリームパケットを分離し、さらに放送コンテンツのストリームパケットを映像ES、音声ES、字幕ESに分離する。分離された映像ES、音声ES、字幕ESはそれぞれ、映像デコーダ504、音声デコーダ505、字幕デコーダ506にてデコードされ、出力処理部503にて合成されて表示部及びスピーカ部に出力される。
【0062】
この例では、放送局600から時刻T1にアプリケーション(以下「第1のアプリケーション」と呼ぶ。)とこの第1のアプリケーションに関するAITが放送コンテンツに重畳して放送されるものとする。このAITには第1のアプリケーションの起動を指示するアプリケーション制御コード"AUTOSTART"が格納されていることとする。
【0063】
デマルチプレクサ502はトランスポートストリームから第1のアプリケーションのパケットとAITのパケットを分離してアプリケーションコントローラ508に供給する。アプリケーションコントローラ508はAITを取得すると(ステップS102)、このAITをもとに第1のアプリケーションを取得する(ステップS103)。続いて、アプリケーションコントローラ508は、当該AITに記述されたアプリケーション制御コード"AUTOSTART"に従って第1のアプリケーションを起動させる(ステップS104のY、ステップS105)。起動された第1のアプリケーションは、例えば、表示部に表示された放送コンテンツAの映像の上に重畳されたウィンドウとして可視化される。
【0064】
続いて、放送局600から時刻T2に、第1のアプリケーションの終了を指示するアプリケーション制御コード"DESTROY"または"KILL"と、別のアプリケーション(以下「第2のアプリケーション」と呼ぶ。)の起動を指示するアプリケーション制御コード"AUTOSTART"を含む新たなAITが放送コンテンツに重畳して放送されるものとする。
【0065】
第1の情報処理装置500のアプリケーションコントローラ508は、この新たなAITを取得すると(ステップS102)、このAITに第1のアプリケーションに対するアプリケーション制御コードとして格納された"DESTROY"または"KILL"に従って第1のアプリケーションを終了させるとともに(ステップS104のN、ステップS106、ステップS107)、当該AITに第2のアプリケーションに対するアプリケーション制御コードとして格納された"AUTOSTART"に従って第2のアプリケーションを取得し(ステップS103)、これを起動させる(ステップS105)。なお、このAITには、アプリケーションサーバ200にアクセスして第2のアプリケーションを取得するために必要な、例えば、通信プロトコルに関する情報とロケーション情報などが設定されている。
【0066】
(2.アプリケーションの外部デバイスへの転送)
次に、本実施形態の情報処理システム1における外部デバイスへのアプリケーション転送処理について説明する。
外部デバイスへのアプリケーション転送処理とは、第1の情報処理装置500が放送や通信より取得したアプリケーションを、第1の情報処理装置500に外部デバイスとして接続された第2の情報処理装置700に転送する処理である。
この処理をサポートするために、図3に示したように、AITのアプリケーション記述子12に、アプリケーションの対応デバイスを指定する情報である対応機種記述子(Application_destination_discriptor)が新たに定義された。
【0067】
図11は第1の情報処理装置500による外部デバイスへのアプリケーション転送処理に関するフローチャートである。
【0068】
前提として、メインデバイスである第1の情報処理装置500には外部デバイスとして第2の情報処理装置700が接続されている。第1の情報処理装置500は接続された第2の情報処理装置700との接続処理を通じて第2の情報処理装置700のデバイスタイプを識別可能なデバイスタイプ識別子を取得し、保存しているものとする。
【0069】
第1の情報処理装置500のアプリケーションコントローラ508は、ユーザによるリモコン操作などによって選局(ステップS201)された放送波よりAITを取得し(ステップS202)、これを解析する(ステップS203)。
【0070】
アプリケーションコントローラ508は、取得したAITの対応機種記述子(図3)に記述されたデバイスタイプを参照して、当該AITが指定するアプリケーションがメインデバイス向けのアプリケーションであるか外部デバイス向けのアプリケーションであるかを判定する(ステップS204)。ここで、デバイスタイプが"main receiver"であればメインデバイス向け、"main receiver"以外であれば外部デバイス向けと判定される。メインデバイス向けアプリケーションとは、例えば、そのメインデバイスのオペレーティングシステム、画面サイズなどの環境に合わせて作成されたプログラムなどであり、メインデバイス対応のアプリケーションと呼ぶこともできる。外部デバイス向けアプリケーションとは、例えば、その外部デバイスのオペレーティングシステム、画面サイズなどの環境に合わせて作成されたプログラムなどであり、外部デバイス対応のアプリケーションとも呼ぶことができる。
【0071】
アプリケーションがメインデバイス向けであれば(ステップS204のN)、アプリケーションコントローラ508は、そのAITによって指定されるアプリケーションを取得してメモリに展開し(ステップS205)、そのAITに記述されるアプリケーション制御コードに従って、アプリケーションの起動、終了などの制御を行う(ステップS206−209)。
【0072】
なお、AITに記述されるアプリケーション制御コードが、実行中のメインデバイス向けアプリケーションに対するアプリケーション制御コード(例えば終了、状態の遷移など)である場合には、そのメインデバイス向けアプリケーションを取得する処理(ステップS205)はスキップされる。
【0073】
また、そのアプリケーションが外部デバイス向けであれば(ステップS204のY)、アプリケーションコントローラ508は、AITで指定されたデバイスタイプの外部デバイスが接続されているかどうかを判定する(ステップS210)。第1の情報処理装置500には、第2の情報処理装置700の接続処理時に当該第2の情報処理装置700のデバイスタイプ識別子を既に取得していたので、アプリケーションコントローラ508は、即座に、この第2の情報処理装置700のデバイスタイプ識別子とAITで指定されたデバイスタイプとを比較して、AITで指定されたデバイスタイプの外部デバイスが接続されているかどうかを判定することができる。
【0074】
もし、AITで指定されたデバイスタイプが示す外部デバイスが接続されていないことが判定された場合は(ステップS210のN)、アプリケーションコントローラ508は何もせずに次のAITの到着を待つ。AITで指定されたデバイスタイプの外部デバイスが接続されている場合(ステップS210のY)、アプリケーションコントローラ508は、そのAITによって指定される外部デバイス向けのアプリケーションをキャッシュバッファ509などに保存し(ステップS211)、そのAITに記述されるアプリケーション制御コードを、第2の情報処理装置700のオペレーティングシステムなどの環境において解釈して実行可能な形式の制御情報に変換する(ステップS212)。そして、アプリケーションコントローラ508は、キャッシュバッファ509などに保存された外部デバイス向けのアプリケーションと変換された制御情報を第2の情報処理装置700に転送する(ステップS213)。
【0075】
なお、外部デバイス(第2の情報処理装置700)に転送されたアプリケーションに対するアプリケーション制御コード(終了など)を含むAITをアプリケーションコントローラ508が取得した場合には、その外部デバイス向けアプリケーションを取得する処理(ステップS211)はスキップされ、制御情報のみが外部デバイス(第2の情報処理装置700)に転送される。
【0076】
次に、図12を参照して、アプリケーションの外部デバイスへの転送の動作例を説明する。
まず、第1の情報処理装置500は、例えばリモコンなどを使ってユーザにより選局された放送局600からの放送コンテンツ(放送A)を受信し、映像データ、音声データ、字幕データなどのデコード処理などを行って、第1の情報処理装置500に接続された表示部及びスピーカ部に放送コンテンツ(放送A)を出力する。
【0077】
この例では、放送局600から時刻T1にメインデバイス向けアプリケーションとこのメインデバイス向けアプリケーションに関するAITが放送コンテンツに重畳して放送されるものとする。このAITにはメインデバイス向けアプリケーションの起動を指示するアプリケーション制御コード"AUTOSTART"が格納され、対応機種記述子(Application_destination_discriptor)にはデバイスタイプとして"main receiver"が指定されている。
【0078】
アプリケーションコントローラ508は、放送波よりAITを取得すると、このAITのデバイスタイプとして"main receiver"が指定されていることから、取得したメインデバイス向けアプリケーションを第1の情報処理装置500のメモリに展開する。そしてアプリケーションコントローラ508は、AITに記述されたアプリケーション制御コード"AUTOSTART"に従ってメインデバイス向けアプリケーションを起動させる。起動されたメインデバイス向けアプリケーションは、例えば、表示部に表示された放送コンテンツAの映像の上に重畳されたウィンドウとして可視化される。
【0079】
続いて、放送局600から時刻T2に、メインデバイス向けアプリケーションに対して終了を指示するアプリケーション制御コード"DESTROY"または"KILL"を含むとともに、外部デバイス向けアプリケーションに対して起動を指示するアプリケーション制御コード"AUTOSTART"を含み、かつ対応機種記述子(Application_destination_discriptor)にはデバイスタイプとして"portable device"が指定された新たなAITが放送コンテンツに重畳して放送されるものとする。
【0080】
第1の情報処理装置500のアプリケーションコントローラ508は、上記新たなAITを取得すると、このAITにメインデバイス向けアプリケーションに対するアプリケーション制御コードとして格納された"DESTROY"または"KILL"に従ってメインデバイス向けアプリケーションを終了させる。
【0081】
さらに、アプリケーションコントローラ508は、このAITに外部デバイス向けアプリケーションに対するデバイスタイプとして"portable device"が指定されていることから、これを第2の情報処理装置700のデバイスタイプ識別子と比較する。ここで、第2の情報処理装置700のデバイスタイプ識別子も"portable device"であり、AITで指定されたデバイスタイプと同じであるとする。この場合、アプリケーションコントローラ508は、当該AITをもとに外部デバイス向けアプリケーションを取得し、キャッシュバッファ509などに保存する。
【0082】
なお、図12の動作例では、外部デバイス向けアプリケーションをアプリケーションサーバ200からダウンロードにより取得する場合を想定している。この場合、AITには、その外部デバイス向けアプリケーションのファイルをアプリケーションサーバ200からダウンロードにより取得するために必要な情報(例えば、HTTP(Hypertext Transfer Protocol)などの通信プロトコル情報、URL(Uniform Resource Locator)などのロケーション情報)が記述される。あるいは、AITには、その外部デバイス向けアプリケーションのライフサイクルを管理する上記のXML−AITをアプリケーションサーバ200からダウンロードにより取得するために必要な情報が記述される場合もある。
【0083】
次に、アプリケーションコントローラ508は、AITに記述されるアプリケーション制御コード"AUTOSTART"から、第2の情報処理装置700のオペーティングシステムなどの環境下において解釈して実行可能な形式の制御情報を生成する。そしてアプリケーションコントローラ508は、キャッシュバッファ509に保存された外部デバイス向けアプリケーションと生成された制御情報を第2の情報処理装置700に転送する。
【0084】
第2の情報処理装置700は、第1の情報処理装置500より転送された外部デバイス向けアプリケーションをメモリに展開し、制御情報に従って、外部デバイス向けアプリケーションを起動させる。よれ具体的には、第2の情報処理装置700は、外部機器インタフェース701を通じて第1の情報処理装置500より外部デバイス向けアプリケーションとその制御情報を受け取る。第2の情報処理装置700のアプリケーションコントローラ703は、受け取った外部デバイス向けアプリケーションをメモリに展開し、組み込まれたオペレーティングシステムの下、制御情報を解釈して、その外部デバイス向けアプリケーションの起動などの制御を行う。
【0085】
(3.アプリケーションの有効期限管理)
次に、本実施形態の情報処理システム1におけるアプリケーションの有効期限管理について説明する。
アプリケーションの有効期限管理とは、第1の情報処理装置500に存在するアプリケーションの有効期限の管理である。この管理は、有効期限を越えたアプリケーションをその状態(実行中、一時停止中、停止中)に関わらず第1の情報処理装置500から削除したり、削除することをユーザに促したりすることを目的とするものである。
この処理をサポートするために、図5に示したように、AITのアプリケーション記述子12にアプリケーションを利用可能な期間の終了日を指定する有効期限記述子(Application_validity_period_descriptor)が新たに定義された。
【0086】
図13および図14は図1の情報処理システム1におけるアプリケーションの有効期限管理の処理に関するフローチャートである。
【0087】
このアプリケーションの有効期限管理の処理において、ステップS301からステップS306までの処理は、上記の(1.アプリケーションの起動及び終了)の図10のステップS101からステップS106までの処理と同様であるため説明を省く。
【0088】
第1の情報処理装置500のアプリケーションコントローラ508は、AITに記述されたアプリケーション制御コードに従ってアプリケーションの起動、状態の遷移などの制御を行った後(ステップS305、ステップS306)、次のような処理を実行する。
【0089】
アプリケーションコントローラ508は、取得したAITに有効期限記述子が記述されているかどうかを判定する(ステップS307)。アプリケーションコントローラ508は、有効期限記述子が記述されている場合(ステップS307のY)、その有効期限記述子が示す利用可能期間の終了日を当該アプリケーションに対して設定する(ステップS308)。すなわち、アプリケーションコントローラ508は、取得したそれぞれのアプリケーションの識別子とその利用可能期間の終了日を対応付けた情報を例えばキャッシュバッファ509などの記憶部に保存する。
【0090】
アプリケーションコントローラ508は、図14に示すように、例えば、一定時間置き、第1の情報処理装置500の電源がオンになるたびなど、周期的に、記憶部に保存されたアプリケーションの識別子と利用可能期間の終了日とを対応付けた情報をもとに次のような処理を行う。
【0091】
アプリケーションコントローラ508は、第1の情報処理装置500に存在するアプリケーションを判定する(ステップS401)。ここで、第1の情報処理装置500に存在するアプリケーションとは、実行中、一時停止中、停止中など、その状態を問わず、第1の情報処理装置500内に保存されたアプリケーションのことである。より具体的には、存在するアプリケーションはキャッシュバッファ509に保存され、実行中のアプリケーションおよび一時停止中のアプリケーションはメモリに保持される。
【0092】
アプリケーションが存在しない場合には何もせずに終了する。アプリケーションが存在する場合、アプリケーションコントローラ508は、アプリケーションの利用可能期間の終了日と現在の日時とを比較して、そのアプリケーションが有効期限を超過しているかどうかを判定する(ステップS402)。有効期限を超過していない場合、アプリケーションコントローラ508は、次のアプリケーションについて同様に有効期限を超過しているかどうかの判定を行う。
【0093】
アプリケーションコントローラ508は、有効期限を超過したアプリケーションが検出された場合の削除処理の方法を予めユーザに設定させることが可能である。有効期限を超過したアプリケーションが発見された場合、アプリケーションコントローラ508は、予めユーザなどにより設定された削除処理の方法に従ってそのアプリケーションを削除する処理が行われる。例えば、削除処理の方法としては、該当するアプリケーションが発見されればユーザにアプリケーションの有効期限切れであることを表示などにより提示し、ユーザからの確認の操作を受けてアプリケーションを実際に削除する方法、ユーザの確認無しにアプリケーションを削除する方法等が挙げられる。
【0094】
次に、図15を参照して、アプリケーションの有効期限管理の処理の動作例を説明する。
まず、第1の情報処理装置500は、例えばリモコンなどを使ってユーザにより選局された放送局600からの放送コンテンツ(放送A)を受信し、映像データ、音声データ、字幕データなどのデコード処理などを行って、第1の情報処理装置500に接続された表示部及びスピーカ部に放送コンテンツ(放送A)を出力する。
【0095】
この例では、放送局600から時刻T1にアプリケーション(以下「第1のアプリケーション」と呼ぶ。)とこの第1のアプリケーションに関するAITが放送コンテンツに重畳して放送されるものとする。このAITには第1のアプリケーションの起動を指示するアプリケーション制御コード"AUTOSTART"が格納され、有効期限記述子(Application_validity_period_descriptor)には、そのアプリケーションを利用可能な期間の終了日として"Time X"が指定されていることとする。
【0096】
アプリケーションコントローラ508はAITを取得すると、当該AITに記述されたアプリケーション制御コード"AUTOSTART"に従って第1のアプリケーションを起動させる。また、アプリケーションコントローラ508は、取得したAITに有効期限記述子として記述された"Time X"を第1のアプリケーションの識別子と対応付けた情報を生成し、この情報をキャッシュバッファ509などの記憶部に保存する。
【0097】
続いて、放送局600から時刻T2に、第1のアプリケーションに対して終了を指示するアプリケーション制御コード"DESTROY"または"KILL"を含むとともに、別のアプリケーション(以下「第2のアプリケーション」と呼ぶ。)に関するAITが放送コンテンツに重畳して放送されるものとする。このAITには第2のアプリケーションの起動を指示するアプリケーション制御コード"AUTOSTART"が格納され、有効期限記述子として"TimeY"が指定されている。
【0098】
第1の情報処理装置500のアプリケーションコントローラ508は、この新たなAITを取得すると、このAITに第1のアプリケーションに対するアプリケーション制御コードとして格納された"DESTROY"または"KILL"に従って第1のアプリケーションを終了させるとともに、当該AITに第2のアプリケーションに対するアプリケーション制御コードとして格納された"AUTOSTART"に従って第2のアプリケーションを取得し、これを起動させる(ステップS105)。なお、このAITには、アプリケーションサーバ200にアクセスして第2のアプリケーションを取得するために必要な、例えば、通信プロトコルに関する情報とロケーション情報などが設定されている。また、アプリケーションコントローラ508は、取得したAITに記述された有効期限記述子"Time Y"を第2のアプリケーションの識別子と対応付けた情報を生成し、この情報をキャッシュバッファ509などの記憶部に保存する。
【0099】
アプリケーションコントローラ508は、上記キャッシュバッファ509などの記憶部に記憶された、アプリケーションの識別子と利用可能な期間の終了日との対応関係をもとに有効期限を超過したアプリケーションを判断し、そのアプリケーションを削除したり、ユーザに有効期限の超過を掲示したりする。すなわち、アプリケーションコントローラ508は、現在の日時が"Time X"になったところで第1のアプリケーションを、さらに現在の日時が"Time Y"になったところで第2のアプリケーションをそれぞれ有効期限切れのアプリケーションとして判定し、削除するなどの処理を実行する。
【0100】
[実施形態の効果等]
以上のように本実施形態では、AITによるアプリケーションの制御を拡張することができる。
特に、本実施形態では、AITのアプリケーション記述子にアプリケーションの対応デバイスを指定する対応機種記述子(Application_destination_discriptor)が新たに定義された。第1の情報処理装置500は、この対応機種記述子をもとに、アプリケーションが自デバイス向けであるか外部デバイス向けであるかを判定し、外部デバイス向けである場合にはそのアプリケーションを外部デバイスに転送して起動させることができる。
【0101】
また、本実施形態では、AITのアプリケーション記述子にアプリケーションを利用可能な期間の終了日を指定する有効期限記述子(Application_validity_period_descriptor)が新たに定義された。第1の情報処理装置500は、この有効期限記述子をもとに、自装置内に存在するアプリケーションの有効期限を管理して、有効期限が切れたアプリケーションを削除したりすることができる。
【0102】
<変形例等>
なお、上記の実施形態によるアプリケーションの有効期限管理では、有効期限を越えたアプリケーションをその状態(実行中、一時停止中、停止中)に関わらず削除したり、削除することをユーザに促したりするようにしたが、その状態に応じて、異なる処理が行われるようにしてもよい。例えば、一時停止中か停止中のアプリケーションについては速度に削除またはユーザへの通知を実行し、実行中のアプリケーションについてはそのアプリケーションのユーザからの操作等による終了後に削除またはユーザへの通知を行うようにしてもよい。
【0103】
また、上記のアプリケーションの有効期限管理では、AITに利用可能な期間の終了日を定義できるようにしたが、相対時間を定義するといった変形も考えられる。
【0104】
図9、図12、図15の動作例では、2つ目のアプリケーション(第2のアプリケーション、外部デバイス向けアプリケーションがアプリケーションサーバ200より取得する場合について説明したが、放送から取得されるものとしてもよい。
【0105】
HbbTVの標準規格を前提とした実施形態を説明したが、本技術は、HbbTVの標準規格を前提とすることに必ずしも限定されるものではない。
【0106】
その他、本技術は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【0107】
なお、本技術は以下のような構成も採ることができる。
(1)外部デバイスを接続可能な接続部と、
放送コンテンツを受信し処理する放送コンテンツ処理部と、
前記放送コンテンツに関連するアプリケーションの対応デバイスを指定する対応機種記述子が設定されたアプリケーション情報テーブルを取得し、当該対応機種記述子をもとに、当該アプリケーションが、前記接続部に接続された外部デバイスに対応するアプリケーションであるかを判定するコントローラと
を具備する情報処理装置。
(2)前記(1)に記載の情報処理装置であって、
前記コントローラは、前記アプリケーションが前記外部デバイスに対応するアプリケーションであることを判定した場合、当該アプリケーションを前記接続部に接続された外部デバイスに転送する
情報処理装置。
(3)前記(1)または(2)のいずれか1つに記載の情報処理装置であって、
前記コントローラは、前記アプリケーションが前記外部デバイスに対応するアプリケーションであることを判定した場合、前記取得したアプリケーション情報テーブルに記述されたアプリケーション制御コードを前記外部デバイスの環境において解釈して実行可能な形式の外部デバイス制御情報に変換し、前記外部デバイスに前記アプリケーションとともに転送する
情報処理装置。
(4)前記(1)または(3)のいずれか1つに記載の情報処理装置であって、
前記コントローラは、前記アプリケーションの有効期限を指定する有効期限記述子が設定されたアプリケーション情報テーブルを取得し、当該有効期限記述子をもとに、当該アプリケーションの有効期限を管理する
情報処理装置。
【符号の説明】
【0108】
1…情報処理システム
10…AIT
200…アプリケーションサーバ
500…第1の情報処理装置(メインデバイス)
501…放送インタフェース
502…デマルチプレクサ
503…出力処理部
504…映像デコーダ
505…音声デコーダ
506…字幕デコーダ
507…通信インタフェース
508…アプリケーションコントローラ
509…キャッシュバッファ
510…外部機器インタフェース
600…放送局
700…第2の情報処理装置(外部デバイス)
701…外部機器インタフェース
703…アプリケーションコントローラ

【特許請求の範囲】
【請求項1】
外部デバイスを接続可能な接続部と、
放送コンテンツを受信し処理する放送コンテンツ処理部と、
前記放送コンテンツに関連するアプリケーションの対応デバイスを指定する対応機種記述子が設定されたアプリケーション情報テーブルを取得し、当該対応機種記述子をもとに、当該アプリケーションが、前記接続部に接続された外部デバイスに対応するアプリケーションであるかを判定するコントローラと
を具備する情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記コントローラは、前記アプリケーションが前記外部デバイスに対応するアプリケーションであることを判定した場合、当該アプリケーションを前記接続部に接続された外部デバイスに転送する
情報処理装置。
【請求項3】
請求項2に記載の情報処理装置であって、
前記コントローラは、前記アプリケーションが前記外部デバイスに対応するアプリケーションであることを判定した場合、前記取得したアプリケーション情報テーブルに記述されたアプリケーション制御コードを前記外部デバイスの環境において解釈して実行可能な形式の外部デバイス制御情報に変換し、前記外部デバイスに前記アプリケーションとともに転送する
情報処理装置。
【請求項4】
請求項3に記載の情報処理装置であって、
前記コントローラは、前記アプリケーションの有効期限を指定する有効期限記述子が設定されたアプリケーション情報テーブルを取得し、当該有効期限記述子をもとに、当該アプリケーションの有効期限を管理する
情報処理装置。
【請求項5】
請求項4に記載の情報処理装置であって、
前記コントローラは、前記有効期限を超過したアプリケーションを削除するための処理を行う
情報処理装置。
【請求項6】
放送コンテンツを受信して処理し、
コントローラが、前記再生された放送コンテンツに関連するアプリケーションの対応デバイスを指定する対応機種記述子が設定されたアプリケーション情報テーブルを取得し、当該対応機種記述子をもとに、当該アプリケーションが接続された外部デバイスに対応するアプリケーションであるかを判定する
情報処理方法。
【請求項7】
放送コンテンツに関連するアプリケーションの対応デバイスを指定する対応機種記述子が設定されたアプリケーション情報テーブルを取得し、当該対応機種記述子をもとに、当該アプリケーションが接続された外部デバイスに対応するアプリケーションであるかを判定するコントローラ
としてコンピュータを機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2013−98859(P2013−98859A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−241388(P2011−241388)
【出願日】平成23年11月2日(2011.11.2)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】