以下、本発明に係る放送通信連携受信装置を実施するための形態について適宜図面を参照して説明する。
[放送通信連携システムの構成]
図1に示すように、本発明の実施形態に係る放送通信連携受信装置400は、放送送信装置100と、アプリサーバ200と、サービスサーバ210と、アプリ起動情報サーバ300と、プッシュ通知サーバ310とを含んで構成される放送通信連携システムSにおける放送通信連携受信装置である。
放送通信連携システムSにおいて、放送送信装置100は、放送事業者によって運用され、放送コンテンツ(放送番組)や番組配信情報などを放送によって放送通信連携受信装置400に送信する装置である。なお、放送送信装置100は、地上デジタル放送や衛星放送のように電波により放送するもののほか、有線放送やネットワークを介して放送するものであってもよい。また、放送送信装置100は、編成チャンネルに連動して動作するアプリケーションの実行動作を制御するための情報であるアプリケーション起動情報を、放送波に付加して送信する。
なお、編成チャンネルとは、放送事業者が編成するスケジュールの一環として放送可能な番組の連続のことをいう。
アプリサーバ(アプリケーション配信サーバ)200は、サービス事業者によって運用され、放送通信連携受信装置400にアプリケーションプログラムを送信するサーバである。また、アプリサーバ200は、放送事業者自身によって運用されてもよく、アプリケーションを作成した作成者によって運用されてもよい。
サービスサーバ(コンテンツ配信サーバ)210は、アプリサーバ200を運用するサービス事業者によって運用され、放送通信連携受信装置400に、ハイブリッド型サービスのコンテンツを配信するサーバである。
アプリ起動情報サーバ(アプリケーション起動情報配信サーバ)300は、アプリケーションの実行動作を制御するための情報であるアプリケーション起動情報を貯蔵するリポジトリであり、貯蔵するアプリケーション起動情報を放送通信連携受信装置400の要求に応じて送信するサーバである。なお、アプリ起動情報サーバ300は、放送送信装置100から放送によって送信されないアプリケーション起動情報を管理するものである。このアプリ起動情報サーバ300は、例えば、予めサービス事業者が作成したアプリケーションを検証し、承認を与えたアプリケーション(A(Authorized)アプリケーション)に対応したアプリケーション起動情報のみを保持する認証機関(第三者機関)に設置される。あるいは、サービス事業者(一般ユーザを含む)が作成したアプリケーションなどで、認証機関の承認を受けていないアプリケーション(一般アプリケーション)に対応したアプリケーション起動情報を保持するものであってもよい。
プッシュ通知サーバ310は、アプリケーション起動情報が更新されたときに、予めアプリケーション起動情報の更新通知の要求があった放送通信連携受信装置400に対して、更新されたアプリケーション起動情報を通知するサーバであり、ネットワーク通信網NETを介して、予め想定されていないタイミングでアプリケーション起動情報を放送通信連携受信装置400に伝送するアプリケーション起動情報のプッシュ通知を行い、ダイナミックにアプリケーションを起動させたり終了させたりするためのサーバである。なお、プッシュ通知サーバ310は、アプリサーバ200やアプリ起動情報サーバ300が兼ねるようにしてもよい。
また、アプリサーバ200、サービスサーバ210、アプリ起動情報サーバ300、プッシュ通知サーバ310および放送通信連携受信装置400は、ネットワーク通信網NETを介して互いに接続されている。なお、放送通信連携システムSにおいて、放送通信連携受信装置400はもちろんのこと、放送送信装置100、アプリサーバ200、サービスサーバ210、アプリ起動情報サーバ300およびプッシュ通知サーバ310は、それぞれ複数含まれていてもよい。
放送通信連携受信装置400は、放送送信装置100から送信される放送コンテンツを受信して提示するものである。また、放送通信連携受信装置400は、ネットワーク通信網NETを介して、アプリサーバ200からアプリケーションプログラムを取得(ダウンロード)して実行することで、サービス事業者によって運用されるサービスサーバ210から、ネットワーク通信網NETを介して配信されるコンテンツを受信し、放送によって送信される放送コンテンツと連携・融合したハイブリッド型サービスとして提示するものである。
放送通信連携受信装置400で実行されるアプリケーションは、例えば、アプリケーション起動情報によってその動作が制御される。図2を参照して、アプリケーション起動情報のデータ構造について説明する。本発明の実施形態で用いるアプリケーション起動情報は、ARIB STD−B23(ARIB−J)で規定されるAIT(Application Information Table)に含まれる情報と等価な情報を含んで構成される。図2に示すアプリケーション起動情報は、XML(eXtensible Markup Language)形式で記述した場合の例である。なお、左欄の数字(1)〜(39)は、説明の便宜のために付加した行番号である。また、アプリケーション起動情報は、XML形式のファイルに限定されるものではなく、バイナリ形式やその他の形式のデータとして送信するようにしてもよい。
図2に示すように、アプリケーション起動情報は、アプリケーションを識別する情報であるアプリケーション識別情報(orgId(11),appId(12))と、アプリケーションが編成チャンネル(サービス)と対応付けられているかを示す従属情報(serviceBound(17))と、アプリケーションの実行の優先度を示す優先度情報(priority(18))と、アプリケーションの実行動作を制御する制御情報(controlCode(15))と、アプリケーションの取得先を示す取得先情報(location(29))と、が含まれて構成される。また、一つのアプリケーション起動情報には、複数のアプリケーションについての情報が含まれていてもよい。
ここで、制御情報(controlCode(15))は、例えば、図3に示すような値をとる。この制御情報は、基本的にはARIB STD−B23で規定されているものと同様である。例えば、「AUTOSTART」は、放送通信連携受信装置400において、ユーザの操作によらず、自動で起動するアプリケーションであることを示す。また、「PRESENT」は、アプリケーションの停止をしてスタンバイ状態にすることを示す。また、「DESTROY」、「KILL」は、アプリケーションの終了を指示する制御コードであって、通常終了(例えば、ユーザの確認を行って終了)であるのか、強制終了(例えば、ユーザの確認を行わずに即時終了)であるのかを示す。このように、このアプリケーション制御コードは、基本的にはARIB STD−B23で規定されているものと同様であるが、ここでは、更に、「KILLALL」を付加している。この「KILLALL」は、放送通信連携受信装置400において、「KILLALL」を含むアプリケーション起動情報を受信した編成チャンネルに対応するアプリケーションかどうかに関わらず、現在起動しているすべてのアプリケーションを強制終了することを示すものである。
図1に戻って、放送通信連携受信装置400は、ハイブリッド型サービスの提供を受けるためにアプリケーションを実行させるには、まず、提供を受けようとするときに実行可能(または実行準備可能)なアプリケーションのアプリケーション起動情報を取得する。そして、取得したアプリケーション起動情報に含まれるアプリケーションの中から実行したいアプリケーションを選択する。ここで、アプリケーション起動情報は、対応するアプリケーションが編成チャンネル(サービス)と対応付けられた従属型アプリケーションである場合は、その編成チャンネルに対応する放送送信装置100から放送によって送信される放送信号から抽出して取得される。また、編成チャンネルに対応付けられず、編成チャンネルに非連動な独立型アプリケーションである場合は、放送通信連携受信装置400は、ネットワーク通信網NETを介して、アプリ起動情報サーバ300からアプリケーション起動情報を取得する。
[放送通信連携受信装置の構成]
引き続き、図1を参照して、放送通信連携受信装置400の構成について詳細に説明する。図1に示す本発明の実施形態に係る放送通信連携受信装置400は、放送受信手段401と、放送信号解析手段402と、映像・音声復号手段403と、データ放送ファイル抽出手段404と、データ放送コンテンツ閲覧手段405と、通信送受信手段406と、アプリ起動情報取得手段407と、アプリ起動情報選別手段408と、アプリ起動情報記憶手段409と、アプリ制御手段410と、起動アプリ識別情報記憶手段411と、アプリ選択手段412と、アプリ取得手段413と、アプリ記憶手段414と、アプリ実行手段415と、リソース管理手段416と、リソース情報記憶手段417と、デコーダ管理手段418と、合成提示手段419と、操作制御手段420と、を含んで構成されている。
放送受信手段401は、放送送信装置100から放送波によって送信される放送信号を、アンテナANTを介して受信するチューナである。放送受信手段401は、操作制御手段420を介してリモコン装置Rmなどから入力される編成チャンネル切替指示に従って選局した放送信号を受信する。放送受信手段401は、受信した放送信号を復調し、誤り訂正やTMCC(Transmission and Multiplexing Configuration Control)信号などの復号を行い、MPEG2のトランスポートストリーム(TS:Transport Stream)として、放送信号解析手段402に出力する。なお、放送受信手段401は、地上デジタル放送や衛星放送のような電波による放送を受信するもののほか、有線放送やネットワーク通信網NETを介した放送を受信するものであってもよい。
放送信号解析手段402は、放送受信手段401から入力した復調されたストリームデータ(トランスポートストリーム)において、PSI/SI(Program Specific Information〔番組特定情報〕/Service Information〔番組配列情報〕)を解析し、現在選局されている編成チャンネルに対応する映像、音声、データなどのデータを分離するものである。放送信号解析手段402は、分離した映像信号や音声信号を映像・音声復号手段403に出力し、データ放送に関する信号をデータ放送ファイル抽出手段404に出力する。また、放送信号解析手段402は、放送信号に含まれる放送コンテンツの映像信号のヘッダー情報を解析し、その映像の符号化方式を示す情報を符号化方式判定手段418aに出力する。
また、放送信号解析手段402は、アプリ起動情報抽出手段(アプリケーション起動情報抽出手段)402aを備え、種々の信号が多重化されている放送信号からアプリケーション起動情報を抽出し、抽出したアプリケーション起動情報を、このアプリケーション起動情報を抽出した編成チャンネルに対応付けて、アプリ起動情報選別手段408を介してアプリ起動情報記憶手段409に記憶する。また、アプリ起動情報抽出手段402aは、アプリ起動情報を放送信号から抽出したときは、アプリケーション起動情報の更新通知をアプリ制御手段410に出力する。なお、アプリケーション起動情報は、例えば、専用のES(Elementary Stream)として、あるいはEIT(Event Information Table)に配置されて放送信号に多重化される。
映像・音声復号手段403は、放送信号解析手段402から入力した、符号化された放送コンテンツの映像信号および音声信号を復号し、復号した映像信号および音声信号を合成提示手段419に出力する。
データ放送ファイル抽出手段404は、放送信号解析手段402から入力した、DSM−CC(Digital Storage Media-Command and Control)データカルーセル方式で伝送されたデータ放送に関するデータからデータ放送ファイルを抽出し、抽出したデータ放送ファイルに含まれるデータ放送コンテンツを構成するBML(Broadcast Markup Language)文書や画像データなどのデータを、データ放送コンテンツ閲覧手段405に出力する。また、データ放送ファイル抽出手段404は、アプリ起動情報抽出手段(アプリケーション起動情報抽出手段)404aを備え、データ放送ファイルに含まれるアプリケーション起動情報を抽出し、抽出したアプリケーション起動情報を、このアプリケーション起動情報を抽出した編成チャンネルに対応付けて、アプリ起動情報選別手段408を介してアプリ起動情報記憶手段409に記憶する。また、アプリ起動情報抽出手段404aは、アプリケーション起動情報をデータ放送ファイルから抽出したときは、アプリケーション起動情報の更新通知をアプリ制御手段410に出力する。
なお、本実施形態では、放送波を介してアプリケーション起動情報を取得する方法として、カルーセル方式で伝送されるデータ放送ファイルからアプリケーション起動情報をアプリ起動情報抽出手段404aによって抽出する方法と、前記したESまたはEITに含まれるアプリケーション起動情報をアプリ起動情報抽出手段402aによって抽出する方法とを併用するようにしたが、これに限定されるものではない。例えば、放送通信連携システムSとして、何れか一方のみを用いるようにしてもよく、放送通信連携受信装置400は何れの方法にも対応することとし、放送事業者ごとに何れかの方法による伝送を選択するようにしてもよい。
データ放送コンテンツ閲覧手段405は、データ放送ファイル抽出手段404から入力したBML形式で記述されたデータ放送コンテンツを閲覧するためのBMLブラウザである。データ放送コンテンツ閲覧手段405は、データ放送コンテンツを映像信号および音声信号に変換して合成提示手段419に出力する。
また、データ放送コンテンツ閲覧手段405は、アプリ指定情報抽出手段405aと、アプリ起動情報要求手段405bと、アプリ実行可否判定手段405cと、コンテンツ閲覧終了手段405dと、アプリ起動要求手段405eと、を備えている。これらの手段は、データ放送コンテンツを構成するBML文書にハイブリッド型サービスのアプリケーションの指定が含まれる場合に、このアプリケーションが実行可能かどうかを判定して、実行可能な場合は、ユーザによる指示により、データ放送コンテンツの提示を終了してハイブリッド型サービスに直接移行するための手段である。
アプリ指定情報抽出手段405aは、BML文書からハイブリッド型サービスのアプリケーションの指定情報を抽出し、抽出したアプリケーション指定情報をアプリ実行可否判定手段405cに出力する。
アプリ起動情報要求手段405bは、アプリ起動情報選別手段408を介して、アプリ起動情報記憶手段に記憶されているアプリケーション制御情報を取得して、アプリ実行可否判定手段405cに出力する。
アプリ実行可否判定手段405cは、アプリ指定情報抽出手段405aから入力したアプリケーション指定情報で指定されたアプリケーションに対応するアプリケーション起動情報が、アプリ起動情報要求手段405bから入力したアプリケーション起動情報にあるかどうか確認し、ある場合は、このアプリケーションを実行可能であると判定し、ない場合は実行不可と判定する。アプリ実行可否判定手段405cは、判定結果をコンテンツ閲覧終了手段405dおよびアプリ起動要求手段405eに出力する。
コンテンツ閲覧終了手段405dは、アプリ実行可否判定手段405cから入力した判定結果が実行可能の場合に、データ放送コンテンツの閲覧を終了させる手段である。
アプリ起動要求手段405eは、アプリ実行可否判定手段405cから入力した判定結果が実行可能の場合に、アプリ指定情報抽出手段405aが抽出した指定情報で指定されたアプリケーションの起動をアプリ制御手段410に要求する手段である。
なお、アプリ実行可否判定手段405cが、アプリケーション実行不可と判定した場合は、放送通信連携受信装置400は、データ放送コンテンツ閲覧手段405によって、データ放送サービスの提示を継続する。
通信送受信手段406は、ネットワーク通信網NETを介して、アプリサーバ200、サービスサーバ210、アプリ起動情報サーバ300およびプッシュ通知サーバ310と接続する通信手段である。通信送受信手段406は、アプリ起動情報取得手段407およびアプリ取得手段413からの、それぞれアプリケーション起動情報およびアプリケーションの取得要求を、ネットワーク通信網NETを介してアプリ起動情報サーバ300、プッシュ通知サーバ310およびアプリサーバ200に送信し、これらのサーバからアプリケーション起動情報やアプリケーションを受信して、要求元であるアプリ起動情報取得手段407およびアプリ取得手段413に出力する。また、通信送受信手段406は、ネットワーク通信網NETを介して、ハイブリッド型サービス向けのコンテンツを送信するサービスサーバ210から、アプリ実行手段415によって提示されるコンテンツを受信し、受信したコンテンツをアプリ実行手段415に出力する。
アプリ起動情報取得手段(アプリケーション起動情報取得手段)407は、アプリ制御手段410およびデコーダアプリ取得管理手段418bからのアプリケーション起動情報の取得要求を入力し、通信送受信手段406を介して、ネットワーク通信網NETに接続されたアプリ起動情報サーバ300およびプッシュ通知サーバ310からアプリケーション起動情報を取得する。取得したアプリケーション起動情報はアプリ起動情報選別手段408を介して、編成チャンネルまたは後記する仮想チャンネルに対応付けてアプリ起動情報記憶手段409に記憶する。また、アプリ起動情報取得手段407は、アプリケーション起動情報を取得したときは、アプリ制御手段410に対してアプリケーション起動情報の更新通知を出力し、デコーダアプリ取得管理手段418bに対してアプリケーション起動情報の取得結果通知を出力する。
また、アプリ起動情報取得手段407は、プッシュ通知要求手段407aと、プッシュ通知受信手段407bとを備えている。これらの手段は、プッシュ通知サーバ310からネットワーク通信網NETを介して、予め想定されていないタイミングでアプリケーション起動情報を放送通信連携受信装置400に送信する「アプリケーション起動情報のプッシュ通知」を受信し、ダイナミックにアプリケーションを起動させたり終了させたりするための手段である。
プッシュ通知要求手段407aは、ユーザによるリモコン装置Rmの操作により操作制御手段420を介して入力される指示(不図示)に従い、通信送受信手段406を介して、プッシュ通知サーバ310に対して特定のサービスに対してプッシュ通知を要求する。また、プッシュ通知受信手段407bは、通信送受信手段406を介して、プッシュ通知サーバ310から送信されるアプリケーション起動情報を受信し、受信したアプリケーション起動情報を、アプリ起動情報選別手段408を介して編成チャンネルまたは仮想チャンネルに対応付けてアプリ起動情報記憶手段409に記憶する。また、プッシュ通知受信手段407bは、アプリケーション起動情報を取得したときは、アプリ制御手段410にアプリケーション起動情報の更新通知を出力する。
ここで、プッシュ通知サーバ310は、プッシュ通知の要求のあった放送通信連携受信装置400を登録して、該当する編成チャンネル(サービス)に属するアプリケーション起動情報が更新された場合に、更新されたアプリケーション起動情報を、更新前に登録された放送通信連携受信装置400に送信する。なお、プッシュ通知サーバ310は、放送通信連携受信装置400に対して、アプリケーション起動情報ではなく、アプリケーション起動情報が更新されたことを通知するようにし、放送通信連携受信装置400は、アプリ起動情報取得手段407によって、この更新通知を受けて、アプリ起動情報サーバ300からアプリケーション起動情報を取得するようにしてもよい。
アプリ起動情報選別手段(アプリケーション起動情報選別手段)408は、本実施形態においては、アプリ起動情報抽出手段402a、アプリ起動情報抽出手段404aおよびアプリ起動情報取得手段407によって取得されたアプリケーション起動情報の内で、放送受信手段401が選局中の編成チャンネルに対応付けられたアプリケーション起動情報および仮想チャンネルと対応付けられたアプリケーション起動情報だけを選別して、アプリ起動情報記憶手段409に記憶する。また、アプリ起動情報選別手段408は、データ放送コンテンツ閲覧手段405、アプリ選択手段412およびアプリ制御手段410に対して、アプリ起動情報記憶手段409に記憶されるすべてのアプリケーション起動情報を、実行可能(または実行準備可能)なアプリケーションに対応するアプリケーション起動情報として出力する。
ここで、仮想チャンネルとは、何れの現実の編成チャンネルとも対応付けられないアプリケーション、すなわち現実の編成チャンネルに従属しない独立型アプリケーションを対応付けるために仮想的に設定された編成チャンネルのことをいう。アプリケーションが独立型か従属型かは、アプリケーション起動情報に含まれる編成チャンネル(サービス)との従属関係を示す従属情報「serviceBound(17)」(図2参照)を参照して知ることができる。従属情報が「true」の場合は、編成チャンネルと対応付けられた従属型アプリケーションであり、従属情報が「false」の場合は編成チャンネルと対応付けられない独立型アプリケーションである。
また、仮想チャンネルとしては、編成チャンネルとして実在しない値(例えば、D999)を予め仮想チャンネルに対応付けて定めておき、用いるようにすればよい。
アプリ起動情報選別手段408は、アプリケーション起動情報に含まれる従属情報を参照し、従属情報が「true」の場合は、編成チャンネルと対応付けられた従属型アプリケーションであるとして、アプリケーション起動情報を取得した際の編成チャンネル(例えば、D001)に対応付けてアプリ起動情報記憶手段409に記憶する。一方、従属情報が「false」の場合は編成チャンネルと対応付けられない独立型アプリケーションであるとして、仮想チャンネル(例えば、D999)に対応付けて、アプリ起動情報記憶手段409に記憶する。
放送通信連携受信装置400は、このように独立型アプリケーションを仮想チャンネルと対応付けて管理することにより、編成チャンネルに従属する従属型アプリケーションと同一の手法で管理することができ、装置の構成を簡略化することができる。
アプリ起動情報記憶手段(アプリケーション起動情報記憶手段)409は、アプリケーションの実行動作を制御するアプリケーション起動情報を、編成チャンネルに対応付けて記憶する記憶手段である。図6(a)にアプリ起動情報記憶手段409に記憶されるアプリケーション起動情報DB(データベース)の構成を示す。図6(a)に示すアプリケーション起動情報DBは、放送受信手段401が選局中の編成チャンネル(この例では「D001」)に対応付けられたアプリケーション起動情報ファイルおよび仮想チャンネル(この例では「D999」)に対応付けられたアプリケーション起動情報ファイルだけが記憶されている。
アプリ制御手段(アプリケーション制御手段、アプリケーション管理・実行制御手段)410は、アプリケーションの起動および終了を含むアプリケーションのライフサイクルを制御する手段である。アプリ制御手段410は、起動制御手段410aと、終了制御手段410bと、蓄積管理手段410cとを備え、これらの手段を用いてアプリケーションのライフサイクル制御を行う。
起動制御手段410aは、アプリケーションの起動を制御する手段である。起動制御手段410aは、データ放送コンテンツ閲覧手段405、アプリ選択手段412、アプリ実行手段415およびデコーダアプリ取得管理手段418bからアプリケーションの起動要求を入力し、操作制御手段420から編成チャンネルの切替指示情報を入力し、アプリ起動情報抽出手段402a、アプリ起動情報抽出手段404aおよびアプリ起動情報取得手段407から、アプリケーション起動情報の更新通知を入力する。
起動制御手段410aは、これらの入力に対応して、アプリケーションを起動させる場合には、アプリ起動情報選別手段408を介してアプリ起動情報記憶手段409からアプリケーション起動情報を入力し、入力したアプリケーション起動情報に含まれるアプリケーションの取得先情報(location(29)、図2参照)とともに、アプリ取得手段413にアプリケーション(プログラム)の取得を要求する。なお、起動制御手段410aは、アプリ取得手段413に対して出力するアプリケーションの取得要求に、取得したアプリケーションの蓄積状態を指示する情報を含めて出力する。なお、蓄積状態を指示する情報は、アプリ選択手段412から入力する起動要求に含まれるものとする。
また、起動制御手段410aは、起動するアプリケーションに必要なリソースをリソース管理手段416に要求してリソースの割当を受ける。そして、起動制御手段410aは、アプリ実行手段415にアプリケーションの起動指示を出力してアプリケーションを起動させる。また、起動制御手段410aは、起動させたアプリケーションに関する情報を、起動アプリ識別情報記憶手段411に記憶されている後記する起動アプリケーション識別情報DB(データベース)(図4参照)に追加する更新を行う。
終了制御手段410bは、実行中のアプリケーションの終了を制御する手段である。終了制御手段410bは、操作制御手段420から編成チャンネルの切替指示情報を入力し、アプリ起動情報抽出手段402a、アプリ起動情報抽出手段404aおよびアプリ起動情報取得手段407からアプリケーション起動情報の更新通知を入力する。
終了制御手段410bは、これらの入力に対応して、実行中のアプリケーションを終了させる場合に、アプリ実行手段415にアプリケーションの終了を指示する制御指示を出力し、リソース管理手段416にアプリケーションの終了通知を出力する。また、終了制御手段410bは、アプリケーションを終了させる場合には、起動アプリ識別情報記憶手段411に記憶された起動アプリケーション識別情報DB(図4参照)を参照し、終了させるアプリケーションを起動元とする他のアプリケーションを終了させる。また、終了制御手段410bは、終了させたアプリケーションについての起動アプリケーション識別情報を、起動アプリ識別情報記憶手段411に記憶されている起動アプリケーション識別情報DBから削除する更新を行う。
蓄積管理手段410cは、アプリ選択手段412から入力する起動要求に含まれるアプリケーションを即時実行(オン・ザ・フライ)するか蓄積(インストール)するかを示す蓄積状態を指示する情報である蓄積状態指示情報に従い、アプリケーションの蓄積状態を管理する。ここで、アプリ取得手段413は、起動制御手段410aからアプリ取得手段413に出力されるアプリケーションの取得要求に含まれる蓄積状態指示情報に従い、蓄積状態指示情報が「インストール」の場合は、取得したアプリケーションをアプリ記憶手段414に記憶(蓄積)する。また、蓄積管理手段410cは、蓄積状態指示情報が「インストール」である場合は、アプリ起動情報記憶手段409に記憶されている、蓄積されたアプリケーションに対応するアプリケーション起動情報において、アプリケーションの取得先情報(location(29)、図2参照)を、例えば、「file:///aaa/bbb.jar」のように、放送通信連携受信装置400におけるファイル保存先に書き換える。これによって、次回にインストールされているアプリケーションを起動する場合は、アプリ取得手段413は、アプリ記憶手段414からアプリケーションを読み出してアプリ実行手段415に出力するようにすることができる。
また、蓄積管理手段410cは、例えば、アプリ記憶手段414に記憶されたアプリケーションが予め定めた期間以上使用されない場合や、新たなアプリケーションをインストールするためにユーザの削除指示があった場合などに、アプリ記憶手段414から、そのアプリケーションを削除するようにしてもよい。これにより、アプリ記憶手段414にアプリケーションが不必要となったアプリケーションの整理をすることができる。
起動アプリ識別情報記憶手段(起動アプリケーション識別情報)411は、アプリ制御手段410によって起動されたアプリケーションの状態を示す情報を、アプリケーションに対応付けたデータベースである起動アプリケーション識別情報DB(データベース)を記憶する手段である。図4に起動アプリケーション識別情報DBの構成例を示す。図4に示すように、起動アプリケーション識別情報は、アプリケーションを識別する識別情報である「アプリ識別情報(アプリケーション識別情報)」と、アプリケーションの起動元を識別する情報である「起動元」と、アプリケーションが対応付けられた編成チャンネルを識別する情報である「編成チャンネル」と、を含んで構成される。
「アプリ識別情報」は、アプリケーションを一意に識別するための情報であって、ARIB STD−B23規格おけるアプリケーションを作成した組織を示す「orgId(11)(組織識別)」(図2参照)およびその組織においてアプリケーションを識別する「appId(12)(アプリケーション識別)」(図2参照)と、放送通信連携受信装置400において起動されたアプリケーションのオブジェクトを識別する「object_id(オブジェクト識別)」とから構成することができる。なお、放送通信連携受信装置400において、起動したアプリケーションを一意に識別できれば、前記した識別情報の1または2以上をアプリ識別情報として用いるようにしてもよい。
「起動元」情報は、放送または通信によって取得したアプリケーション起動情報に含まれる制御情報(controlCode(15)、図2参照)に基づいてアプリケーションが起動された場合は、アプリケーション起動情報をそのアプリケーションの「起動元」とし、「起動情報」と記憶する。また、アプリケーションが他のアプリケーションによる起動要求に基づいて起動された場合は、その起動要求を発行したアプリケーション(親アプリケーション)を「起動元」とし、そのアプリケーション識別情報を記憶する。
「編成チャンネル」情報は、編成チャンネルに対応付けられた従属型アプリケーションの場合は、その編成チャンネルを識別する情報(D001)を「編成チャンネル」として記憶する。また、編成チャンネルに対応付けられていない独立型アプリケーションの場合は、仮想チャンネルを識別する情報(D999)を「編成チャンネル」として記憶する。
なお、前記した起動制御手段410aがアプリケーションを起動させたときは、起動アプリ識別情報記憶手段411に記憶されている起動アプリケーション識別情報DBに、起動したアプリケーションに関する情報が追加される。また、終了制御手段410bがアプリケーションを終了させたときは、起動アプリ識別情報記憶手段411に記憶されている起動アプリケーション識別情報DBから、終了したアプリケーションに関する情報が削除される。
アプリ選択手段(アプリケーション選択手段)412は、操作制御手段420を介して入力するユーザによるリモコン装置Rmの操作による指示に従い、実行可能または実行準備可能なアプリケーションのリストを提示し、更に、実行するアプリケーションを選択するための手段であり、いわゆるアプリケーションのローンチャー(Launcher)である。アプリ選択手段412は、リスト表示手段412aとリスト選択手段412bとを備えている。
リスト表示手段412aは、ユーザによるリモコン装置Rmの操作により、操作制御手段420を介して実行可能なアプリケーションのリスト表示の指示を入力したときに、アプリ起動情報選別手段408を介してアプリ起動情報記憶手段409に記憶されているアプリケーション起動情報を入力して、入力したアプリケーション起動情報に含まれるアプリケーションのリストを、合成提示手段419を介してモニタMoに表示させる。
リスト選択手段412bは、ユーザによるリモコン装置Rmの操作により、操作制御手段420を介して入力されたアプリケーションの選択指示に従い、選択を指示されたアプリケーションの起動要求をアプリ制御手段410に出力する。なお、リスト選択手段412bは、編成チャンネルに対応付けられていない独立型アプリケーションについては、リスト表示する際に、アプリケーションをアプリ記憶手段414に蓄積させずに(オン・ザ・フライ)即時実行させるか、あるいは、アプリ記憶手段414に蓄積(インストール)させるかを、ユーザに選択させるようにしてもよい。この場合、リスト選択手段412bは、例えば、表示するアプリケーションのリストに、即時実行するか蓄積するかを選択するためのチェック欄を設けるようにしてもよい。あるいは、アプリケーションが選択された段階で、ユーザに問い合わせを行うようにしてもよい。このアプリケーションを即時実行するか蓄積するかを示す情報である蓄積状態指示情報は、選択したアプリケーションの起動要求とともに、アプリ制御手段410に出力されるものとする。
アプリ取得手段(アプリケーション取得手段)413は、アプリ制御手段410からアプリケーションの取得要求を入力し、取得要求のあったアプリケーションを、そのアプリケーションに対応するアプリケーション起動情報に含まれる取得先情報(location(29)、図2参照)で指定される取得先から取得し、取得したアプリケーションをオン・ザ・フライで、またはアプリ記憶手段414を介して、アプリ実行手段415に出力する。アプリ取得手段413は、アプリ制御手段410からのアプリケーション取得要求において、「インストール」を指示する蓄積状態指示情報が含まれる場合は、取得したアプリケーションをアプリ記憶手段414に記憶(蓄積)し、「オン・ザ・フライ(即時実行)」を指示する蓄積状態指示情報が含まれる場合は、取得したアプリケーションをアプリ記憶手段414に記憶せず、直接にアプリ実行手段415に出力する。
アプリ記憶手段(アプリケーション記憶手段)414は、アプリ取得手段413から入力したアプリケーションを蓄積する記憶手段である。また、アプリ記憶手段414に蓄積されたアプリケーションは、アプリ制御手段410の蓄積管理手段410cからの削除指示に従って削除される。
アプリ実行手段(アプリケーション実行手段)415は、アプリ制御手段410の起動制御手段410aからのアプリケーションの起動を示す制御指示に従って、アプリケーションをアプリ取得手段413またはアプリ記憶手段414から入力し、入力したアプリケーション(プログラム)をリソース管理手段416によって割当を受けたメモリ領域にロードして実行する。また、アプリ実行手段415は、アプリ制御手段410の終了制御手段410bからのアプリケーションの終了を示す制御指示に従って、アプリケーションを終了する。
また、アプリ実行手段415は、例えば、図1に示すように、アプリA415a、アプリB415bのように複数のアプリケーションを並行して実行することができる。実行中のアプリケーションは、それぞれの機能に応じて、放送通信連携受信装置400の各手段と信号の入出力を行う。例えば、アプリB415bは、放送通信連携受信装置400においてデコーダとして機能し、映像・音声復号手段403の代わりに放送信号解析手段402から符号化された映像信号を入力し(不図示)、復号した映像信号を合成提示手段419に出力する。
このように、アプリ実行手段415によって種々のアプリケーションを実行することにより、放送通信連携受信装置400に機能を追加することができる。
また、アプリ実行手段415で実行中の各アプリ(415a、415b)は、必要に応じてリソース管理手段416に対してリソース要求を出力してリソースの割当を受け、割当を受けたリソースが不要になるとリソース解放通知をリソース管理手段416に出力する。
リソース管理手段416は、アプリ制御手段410およびアプリ実行手段415(アプリA415a、アプリB415b)からアプリを実行するために必要なリソースの割当てを要求するリソース要求に応じて、リソースの割当を管理するリソースマネージャである。リソース管理手段416は、リソース要求受付手段416aとリソース割当手段416bとを備えている。また、リソース管理手段416は、デコーダ管理手段418の符号化方式判定手段418aから、コンテンツの復号に必要なデコーダ(リソース)が、リソース情報記憶手段417に記憶されている保有リソースリスト(図5(a)参照)に含まれているかどうかの照会要求を入力し、照会結果を符号化方式判定手段418aに出力する。
リソース要求受付手段416aは、アプリ制御手段410およびアプリ実行手段415(アプリA415a、アプリB415b)からのリソース要求を入力し、リソース要求の内容(アプリケーション識別情報、リソース種類、リソース使用量、時間予約など)をリソース割当手段416bに出力する。また、リソース要求受付手段416aは、リソース割当手段416bがリソース要求を許可しない場合に、要求元であるアプリ制御手段410などに不許可通知を出力し、リソース割当手段416bが登録した時間予約付きリソース要求の予約状態を変更した場合に、予約状態を変更されたアプリ制御手段410などに予約状態変更通知を出力する。更にまた、リソース要求受付手段416aは、アプリ制御手段410からアプリケーションの終了通知を入力し、アプリ実行手段415(アプリA415a、アプリB415b)からリソースの解放通知を入力し、通知内容(アプリケーション識別情報、リソース種類、リソース使用量など)をリソース割当手段416bに出力する。
リソース割当手段416bは、リソース要求受付手段416aからリソース要求の内容を入力し、リソース情報記憶手段417に記憶されている後記する保有リソースリスト(図5(a)参照)とリソース使用情報DB(データベース)(図5(b)参照)とに基づいて、リソース要求受付手段416aが入力したリソース要求の可否を判定し、リソース割当を行う手段である。リソース割当手段416bは、リソース要求を許可してリソース割当を行うときは、リソース情報記憶手段417に記憶されているリソース使用情報DB(図5(b)参照)に、割当てたリソース使用に関する情報を登録する更新を行う。
また、リソース割当手段416bは、リソース要求受付手段416aから時間予約付きリソース要求を入力した場合は、リソース情報記憶手段417に記憶されているリソース使用情報DB(図5(b)参照)に、リソースの予約に関する情報を登録し、予約時間において、リソース割当をできるか判定し、リソースの割当を行う。なお、時間予約付きリソース要求に対するリソース割当の判定は、予約時間ではなく、リソース要求の受付時から予約時間までに適宜に行うようにしてもよい。例えば、他のアプリケーションによるリソースの使用が終了し、リソース使用情報DBの更新が行われたときに判定するようにしてもよい。なお、リソース割当手段416bは、予約されていたリソースの割当を行った場合は、リソース使用情報DB(図5(b)参照)に登録されている時間予約付きリソース要求に関する情報から予約時間を削除することにより、リソース予約状態からリソース使用状態を示すように情報の更新をする。
また、リソース割当手段416bは、登録した時間予約付きリソース要求の予約状態を変更して、実行の優先度の高いアプリケーションによるリソース要求を許可し、リソース割当を行う。なお、ここで予約状態の変更とは、「予約の取消し」または「予約時間の繰下げ」などのことである。
また、リソース割当手段416bは、リソース要求受付手段416aからアプリケーション終了通知の内容およびリソース解放通知の内容を入力し、リソース情報記憶手段417に記憶されるリソース使用情報DB(図5(b)参照)から、解放されるリソースに関する情報を削除する更新を行う。
リソース情報記憶手段417は、放送通信連携受信装置400が保有し、リソース管理手段416によって管理されるリソースのリストである保有リソースリストと、各アプリケーションが使用するリソース使用状態を示す情報であるリソース使用情報DB(データベース)と、をリソース情報として記憶する。リソース情報記憶手段417に記憶されるリソース情報は、リソース管理手段416によって参照および更新される。
図5にリソース情報の構成例を示す。図5(a)は、保有リソ−スリストの構成例であり、リソース種類と、各リソースの総量であるリソース量とが含まれる。図5(b)は、リソース使用情報DBの構成例であり、リソースを使用するアプリケーション(アプリ識別情報)に対応付けられたリソース使用情報として、リソース種類、リソース使用量およびアプリケーションを実行する優先度が含まれ、アプリケーションからのリソース要求が後記する「時間予約付きリソース要求」の場合は、使用開始時間が「予約時間」として含まれる。なお、アプリケーションを実行する優先度としては、アプリケーション起動情報に含まれる優先度情報(priority(18)、図2参照)に設定された値を用いることができる。
図1に戻って、デコーダ管理手段(不足リソース管理手段)418は、放送によって配信された放送コンテンツや通信によって配信されたコンテンツを提示したり、アプリケーションを実行したりするために必要なリソースが不足していないか判定し、不足する場合は、その不足するリソースを補完するアプリケーションを取得して起動する手段である。図1に示した例では、リソースの一つであるデコーダが不足しているかどうかを管理するデコーダ管理手段418を備えるようにしたものである。
デコーダ管理手段418は、符号化方式判定手段418aと、デコーダアプリ取得管理手段418bとを備え、放送通信連携受信装置400の映像・音声復号手段403に備えるデコーダによって放送コンテンツに含まれる符号化された映像信号を復号することができるかどうかを判定し、復号できない場合は、その符号化された映像信号を復号するデコーダとして機能するアプリケーションを取得して実行する、デコーダというリソースの不足を管理する不足リソース管理手段である。
符号化方式判定手段(不足リソース判定手段)418aは、放送信号解析手段402から、放送信号に含まれる放送コンテンツの映像信号の符号化方式についての情報を入力し、映像信号の復号に必要なリソースであるデコーダを、放送通信連携受信装置400が保有していない不足リソースかどうかを判定する不足リソース判定手段である。
ここで、必要とするデコーダが何であるかは、例えば、放送信号に含まれる番組コンテンツのヘッダー情報を参照して検知した符号化方式から知ることができる。符号化方式判定手段418aは、必要とするデコーダが、放送通信連携受信装置400が保有しているかどうかの照会要求を、リソース管理手段416に出力し、リソース管理手段416から照会結果を入力する。なお、リソース管理手段416は、リソース情報記憶手段417に記憶されている保有リソースリストに、照会要求のあったデコーダが含まれるかどうかによって、このデコーダが保有しているかどうかを判定する。
符号化方式判定手段418aは、リソース管理手段416から入力した必要とするデコーダの照会結果が、「保有しない」であった場合は、デコーダ(リソース)が不足リソースであると判定し、「保有する」であった場合は、デコーダ(リソース)は不足リソースではない判定し、判定結果をデコーダアプリ取得管理手段418bに出力する。
なお、本実施形態では、放送コンテンツに含まれる映像信号の符号化方式を判定するように構成したが、通信送受信手段406を介して取得されるコンテンツに含まれる映像信号や音声信号などの符号化方式を判定するように構成することもできる。通信送受信手段406を介して取得されるコンテンツの場合は、取得したコンテンツファイルのヘッダー情報を参照するほかに、例えば、MIME(Multipurpose Internet Mail Extension)タイプによる記述を利用して判定することができる。すなわち、コンテンツファイルの拡張子を参照して、この拡張子に対応付けられたコンテンツ復号のためのリソースであるデコーダの種類を知ることができる。
デコーダアプリ取得管理手段(補完アプリケーション取得管理手段)418bは、符号化方式判定手段418aから、必要とするデコーダが不足リソースであるかどうかの判定結果を入力し、不足リソースである場合は、その不足リソースであるデコーダの機能を有するアプリケーションであるデコーダアプリ(補完アプリケーション)の取得を管理する補完アプリケーション取得管理手段である。デコーダアプリ取得管理手段418bは、アプリ起動情報取得手段407にアプリケーション起動情報の取得を要求し、アプリ起動情報取得手段407から、要求したアプリケーション起動情報の取得結果通知を入力する。また、デコーダアプリ取得管理手段418bは、アプリ制御手段410に、デコーダアプリの起動を要求する。
なお、デコーダ管理手段418は、ハードウェアとして構成してもよいし、放送通信連携受信装置400に常駐するレジデントアプリケーションとして実行してもよいし、ハイブリッド型サービスにおいて仮想チャンネルと対応付けられた独立型アプリケーションとして実行してもよい。
また、本実施形態では、不足するリソースを管理する不足リソース管理手段として、リソースの一つであるデコーダを管理するデコーダ管理手段418を設けるようにしたが、他のリソースの不足を管理して、その不足するリソースを補完する補完アプリケーションを取得・起動するようにしてもよい。
合成提示手段419は、映像・音声復号手段403から入力される放送コンテンツの映像信号および音声信号と、データ放送コンテンツ閲覧手段405から入力されるデータ放送コンテンツの映像信号および音声信号と、アプリ選択手段412のリスト表示手段412aから入力されるアプリケーションのリストと、アプリ実行手段415によって実行中の各アプリ(415a、415b)から入力される映像信号および音声信号と、を適宜合成して、モニタMoに合成した映像信号を、スピーカSpに合成した音声信号をそれぞれ出力し、映像と音声として提示するものである。
操作制御手段420は、ユーザによるリモコン装置Rmの操作内容を、放送通信連携受信装置400の各部に出力する、ユーザからの入力インタフェースである。操作制御手段420は、例えば、編成チャンネルの切替指示信号を放送受信手段401、放送信号解析手段402、アプリ制御手段410、アプリ起動情報選別手段408に出力し、実行可能なアプリケーションリストの表示を指示するリスト表示指示信号およびリスト表示された中から選択されたアプリケーションの選択指示信号をアプリ選択手段412に出力する。
以上、放送通信連携受信装置400の構成について説明したが、放送通信連携受信装置400は、各構成手段を専用のハードウェアを用いて構成することができるが、これに限定されるものではない。例えば、放送通信連携受信装置400は、デジタル放送を受信するチューナを備えた一般的なコンピュータにプログラムを実行させ、コンピュータ内の演算装置や記憶装置を動作させることにより実現することができる。このプログラム(デジタル放送受信プログラム)は、通信回線を介して配布することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。
[放送通信連携受信装置の動作]
次に、適宜図面を参照して、本発明の実施形態に係る放送通信連携受信装置400の動作について説明する。なお、初めにアプリケーション起動情報の取得動作1〜4を説明し、続けて、アプリケーションの起動と終了動作、アプリケーションの選択動作、チャンネル切替時のアプリケーションの制御動作、デコーダ管理手段418の動作、リソース管理手段416によるリソース割当処理の動作、データ放送からの移行動作について説明する。
(アプリケーション起動情報の取得動作1)
本実施形態に係る放送通信連携受信装置400は、4つの経路により、アプリケーション起動情報を取得する。まず、図7を参照(適宜図1参照)して、第1経路により放送通信連携受信装置400がアプリケーション起動情報を取得する動作について説明する。第1経路では、放送通信連携受信装置400は、放送信号に含まれるEITからアプリケーション起動信号を抽出する。なお、放送によって送信されるアプリケーション起動情報は、編成チャンネルに対応付けられたアプリケーションである従属型アプリケーションに対応するアプリケーション起動情報である。
放送通信連携受信装置400は、まず、放送受信手段401によって、アンテナANTを介して、選局中の編成チャンネルの放送信号を受信する(ステップS10)。次に、放送通信連携受信装置400は、放送信号解析手段402によって、放送受信手段401で受信した放送信号を解析し(ステップS11)、多重化されて送信されてくる映像、音声、データなどのデータを分離し、アプリ起動情報抽出手段402aによって、EITに含まれるアプリケーション起動情報を抽出する(ステップS12)。次に、放送通信連携受信装置400は、アプリ起動情報抽出手段402aで抽出したアプリケーション起動情報を、アプリ起動情報選別手段408を介して、選局中の編成チャンネルに対応付けてアプリ起動情報記憶手段409に記憶する(ステップS13)。
ここで、アプリ起動情報選別手段408は、実行可能なアプリケーションに対応するアプリケーション起動情報のみを選別してアプリ起動情報記憶手段409に記憶するアプリケーション起動情報のフィルタリングを行う手段である。また、放送通信連携受信装置400は、アプリ起動情報抽出手段402aによって、アプリケーション起動情報が更新されたことを通知する更新通知をアプリ制御手段410に出力する(ステップS14)。そして、放送通信連携受信装置400は、更新通知を入力したアプリ制御手段410によって、アプリ起動情報記憶手段409に記憶されたアプリケーション起動情報DB(図6(a)参照)を参照し、制御情報(controlCode(15)、図2参照)や取得先情報(location(29)、図2参照)などに従って、アプリケーションの起動、終了などのライフサイクル制御を行う(ステップS15)。
なお、アプリケーション起動情報をEITに配置して送信することに代えて、アプリケーション起動情報を送信する専用のESを設けて放送送信装置100から送信するようにし、放送通信連携受信装置400は、アプリ起動情報抽出手段402aによって、受信した放送信号に含まれるESからアプリケーション起動情報を抽出するようにしてもよい。
(アプリケーション起動情報の取得動作2)
次に、図8(適宜図1参照)して、第2経路により放送通信連携受信装置400がアプリケーション起動情報を取得する動作について説明する。第2経路では、放送通信連携受信装置400は、データカルーセル方式で送信されるデータ放送ファイルに含まれるアプリケーション起動信号を抽出する。なお、データ放送によって送信されるアプリケーション起動情報は、第1経路で送信される場合と同様に、編成チャンネルに対応付けられたアプリケーションである従属型アプリケーションに対応するアプリケーション起動情報である。
放送通信連携受信装置400は、まず、放送受信手段401によって、アンテナANTを介して選局中の編成チャンネルの放送信号を受信する(ステップS20)。次に、放送通信連携受信装置400は、放送信号解析手段402によって、放送受信手段401で受信した放送信号を解析し(ステップS21)、多重化されて送信されてくる映像、音声、データなどのデータからデータカルーセル方式で伝送されたデータ放送に関するデータを分離し、データ放送ファイル抽出手段404によって、分離したデータからデータ放送ファイルを抽出する(ステップS22)。
そして、放送通信連携受信装置400は、アプリ起動情報抽出手段404aによって、データ放送ファイル抽出手段404で抽出したデータ放送ファイルからアプリケーション起動情報を抽出する(ステップS23)。放送通信連携受信装置400は、アプリ起動情報抽出手段404aで抽出したアプリケーション起動情報を、アプリ起動情報選別手段408を介して、選局中の編成チャンネルに対応付けてアプリ起動情報記憶手段409に記憶する(ステップS24)。
次に、放送通信連携受信装置400は、アプリ起動情報抽出手段404aによって、アプリケーション起動情報が更新されたことを通知する更新通知をアプリ制御手段410に出力する(ステップS25)。そして、放送通信連携受信装置400は、更新通知を入力したアプリ制御手段410によって、アプリ起動情報記憶手段409に記憶されたアプリケーション起動情報DBを参照し、制御情報(controlCode(15)、図2参照)や取得先情報(location(29)、図2参照)などに従って、アプリケーションの起動、終了などのライフサイクル制御を行う(ステップS26)。
(アプリケーション起動情報の取得動作3)
次に、図9(適宜図1参照)して、第3経路により放送通信連携受信装置400がアプリケーション起動情報を取得する動作について説明する。第3経路では、放送通信連携受信装置400は、通信送受信手段406を介して、ネットワーク通信網NETに接続されたアプリ起動情報サーバ300からアプリケーション起動信号を取得する。なお、編成チャンネルに対応付けられていないアプリケーションである独立型アプリケーションに対応するアプリケーション起動情報は、放送によって送信されないため、この第3経路によって取得する。また、第3経路によって、編成チャンネルに対応付けられた従属型アプリケーションに対応するアプリケーション起動情報を取得することもできる。
放送通信連携受信装置400は、まず、アプリ制御手段410によって、独立型アプリケーションを起動する場合にアプリ起動情報取得手段407に対して、起動しようとするアプリケーションに対応するアプリケーション起動情報の取得要求を出力する(ステップS30)。
ここで、独立型アプリケーションを起動する場合として、ユーザによるリモコン装置Rmの操作によるアプリケーションのリスト表示指示を入力したときに、アプリ起動情報記憶手段409に独立型アプリケーションに対応するアプリケーション起動情報が蓄積されていない場合がある。この場合は、放送通信連携受信装置400は、まず、アプリ選択手段412によって、通信送受信手段406を介してアプリ起動情報サーバ300から、実行可能な独立型アプリケーションのリストを取得し、リスト表示手段412aによって、取得したリストを表示する。そして、ユーザのリモコン装置Rmの操作によるアプリケーションの選択指示が入力されると、リスト選択手段412bによって、アプリ制御手段410に対して、選択されたアプリケーションの起動要求が出力される。そして、起動要求を入力したアプリ制御手段410によって、アプリ起動情報取得手段407に対して、そのアプリケーションに対応するアプリケーション起動情報の取得要求が出力される。
次に、放送通信連携受信装置400は、アプリ起動情報取得手段407によって、通信送受信手段406を介して、アプリ起動情報サーバ300に対して、アプリ制御手段410から取得要求されたアプリケーション起動情報の要求を送信する(ステップS31)。ここで、アプリ起動情報サーバ300の所在を示すURL(Uniform Resource Locator)は、例えば、予め放送通信連携受信装置400内に記憶しておき、要求時に参照するものとする。
放送通信連携受信装置400は、アプリ起動情報取得手段407によって、ステップS31で送信した要求に対してアプリ起動情報サーバ300から送信されるアプリケーション起動情報を、通信送受信手段406を介して受信し(ステップS32)、受信したアプリケーション起動情報を、対応する編成チャンネルに対応付けて、アプリ起動情報選別手段408を介してアプリ起動情報記憶手段409に記憶する(ステップS33)。
次に、放送通信連携受信装置400は、アプリ起動情報取得手段407によって、アプリケーション起動情報が更新されたことを通知する更新通知をアプリ制御手段410に出力する(ステップS34)。そして、放送通信連携受信装置400は、更新通知を入力したアプリ制御手段410によって、アプリ起動情報記憶手段409に記憶されたアプリケーション起動情報DB(図6(a)参照)を参照し、制御情報(controlCode(15)、図2参照)や取得先情報(location(29)、図2参照)などに従って、アプリケーションの起動、終了などのライフサイクル制御を行う(ステップS35)。
また、アプリケーション起動情報に含まれる、編成チャンネルとの従属関係を示す従属情報(serviceBound(17)、図2参照)が「false」の場合は、編成チャンネルに対応付けられない独立型アプリケーションに対応するアプリケーション起動情報である。この場合は、ステップS33において、予め定めておいた仮想チャンネル(例えば、D999)に対応付けて、アプリ起動情報選別手段408を介してアプリ起動情報記憶手段409に記憶する。
また、従属型アプリケーションに対応するアプリケーション起動情報は、第1経路または第2経路によって、対応する編成チャンネルの放送信号から抽出して取得することができるが、第3経路によっても取得するようにしてもよい。ネットワーク通信網NETを介して、アプリ起動情報サーバ300から従属型アプリケーションに対応するアプリケーション起動情報を取得する場合、すなわち、従属関係が「true」の場合は、アプリケーション起動情報に、対応する編成チャンネルを識別する情報を含めるようにし、取得したアプリケーション起動情報を、当該アプリケーション起動情報に含まれる編成チャンネルの識別情報に対応付けて、アプリ起動情報記憶手段409に記憶するようにすればよい。
なお、従属型アプリケーションに対応するアプリケーション起動情報をアプリ起動情報サーバ300から取得する場合、選局中でない編成チャンネルに対応するアプリケーション起動情報を取得することもある。本実施形態では、選局中でない編成チャンネルに対応するアプリケーション起動情報は、アプリ起動情報選別手段408による選別により除外され、アプリ記憶手段414に記憶されない。すなわち、本実施形態におけるアプリ起動情報記憶手段409には、選局中の編成チャンネル(D001)または仮想チャンネル(D999)に対応付けられた、現在の選局状態で実行可能なアプリケーションに対応するアプリケーション起動情報(図6(a)参照)のみが記憶される。
(アプリケーション起動情報の取得動作4)
次に、図10(適宜図1参照)して、第4経路により放送通信連携受信装置400がアプリケーション起動情報を取得する動作について説明する。第4経路では、放送通信連携受信装置400は、通信送受信手段406を介して、ネットワーク通信網NETに接続されたプッシュ通知サーバ310からアプリケーション起動信号を取得する。
この第4経路は、編成チャンネルに対応付けられた従属型アプリケーションを提供するサービス事業者が運用する外部のプッシュ通知サーバ310から、予め想定されていないタイミングで、通信により放送通信連携受信装置400にアプリケーション起動情報のプッシュ通知を行い、放送通信連携受信装置400においてダイナミックにアプリケーションを起動させたり終了させたりするための取得経路である。
放送通信連携受信装置400は、予め、プッシュ通知要求手段407aによって、通信送受信手段406を介してプッシュ通知サーバ310に対して、アプリケーション起動情報のプッシュ通知を要求しておく(ステップS40)。なお、プッシュ通知サーバ310の所在を示すURLは、予め放送通信連携受信装置400内に記憶しておき、要求時に参照するものとする。放送通信連携受信装置400は、プッシュ通知受信手段407bによって、プッシュ通知サーバ310からアプリケーション起動情報のプッシュ通知を受信しない場合は(ステップS41でNo)、受信するまで待機する。そして、プッシュ通知を受信した場合は(ステップS41でYes)、放送通信連携受信装置400は、プッシュ通知受信手段407bによって、受信したアプリケーション起動情報が有効かどうかを判定する(ステップS42)。
ここで、アプリケーション起動情報が有効でないとは、例えば、プッシュ通知を要求した編成チャンネルに対応するアプリケーション起動情報を受信した場合であっても、ステップS40でプッシュ通知を要求した後でチャンネルが切り替えられ、その編成チャンネルが選局されていない場合が該当する。アプリケーション起動情報が有効でないと判定した場合は(ステップS42でNo)、放送通信連携受信装置400は、そのアプリケーション起動情報を無視し、処理を終了する。なお、チャンネルが切り替えられた場合は、変更後の編成チャンネルに対するステップS40のプッシュ通知の要求を改めて行う必要があるものとする。
一方、放送通信連携受信装置400は、プッシュ通知受信手段407bによって、アプリケーション起動情報が有効であると判定した場合は(ステップS42でYes)、プッシュ通知受信手段407bによって、受信したアプリケーション起動情報を前記した第3経路の場合と同様の手順により、編成チャンネルと対応付けて、アプリ起動情報選別手段408を介して、アプリ起動情報記憶手段409に記憶する(ステップS43)。
次に、放送通信連携受信装置400は、プッシュ通知受信手段407bによって、アプリケーション起動情報が更新されたことを通知する更新通知をアプリ制御手段410に出力する(ステップS44)。そして、放送通信連携受信装置400は、更新通知を入力したアプリ制御手段410によって、アプリ起動情報記憶手段409に記憶されたアプリケーション起動情報DB(図6(a)参照)を参照し、制御情報(controlCode(15)、図2参照)や取得先情報(location(29)、図2参照)などに従って、アプリケーションの起動、終了などのライフサイクル制御を行う(ステップS45)。
(アプリケーションの起動と終了動作)
次に、図11を参照(適宜図1参照)して、アプリケーションの起動時および終了時の放送通信連携受信装置400の動作について説明する。
放送通信連携受信装置400は、アプリ制御手段410がアプリケーション起動要求またはアプリケーション起動情報の更新通知を入力したときに(ステップS50)、アプリ制御手段410によってアプリケーションの動作を制御する。ここで、アプリ制御手段410は、データ放送コンテンツ閲覧手段405、アプリ選択手段412、アプリ実行手段415およびデコーダ管理手段418のデコーダアプリ取得管理手段418bからアプリケーション起動要求を入力し、アプリ起動情報抽出手段402a、アプリ起動情報抽出手段404aおよびアプリ起動情報取得手段407からアプリケーション起動情報の更新通知を入力する。
放送通信連携受信装置400は、アプリ制御手段410がステップS50でアプリケーション起動要求またはアプリケーション起動情報の更新通知を入力すると、アプリ制御手段410によって、アプリ起動情報選別手段408を介してアプリ起動情報記憶手段409に記憶されているアプリケーション起動情報を参照する。そして、アプリケーション起動情報に含まれる制御情報(controlCode(15)、図2参照)を確認する(ステップS51)。ここで、制御情報が起動を示す「AUTOSTART」の場合(ステップS52でYes)、放送通信連携受信装置400は、アプリ制御手段410の起動制御手段410aによって、アプリ取得手段413に対して、起動要求されたアプリケーションの取得要求を、その取得先情報(locator(29)、図2参照)を含めて出力し、アプリ取得手段413によって、取得先情報で指定された取得先からアプリケーションを取得する(ステップS53)。
また、放送通信連携受信装置400は、起動制御手段410aによって、起動しようとするアプリケーションの実行に必要なリソースの要求を、リソース管理手段416に出力する(ステップS54)。放送通信連携受信装置400は、リソース管理手段のリソース要求受付手段416aによって、ステップS54で起動制御手段410aが出力したリソース要求を受け付け、リソース割当手段416bによって、リソース要求の可否を判定する(ステップS55)。
ここで、リソース割当手段416bは、リソース情報記憶手段417に記憶されている保有リソースリストにおける要求されたリソース種類のリソース量(リソース総量)(図5(a)参照)と、リソース使用情報DBにおけるそのリソース種類のリソース使用量(図5(b)参照)とを参照し、要求したアプリケーションに対してそのリソースを割当てる空きがあるかどうかを確認し、空きない場合はリソース要求を拒否し(ステップS55でNo)、起動制御手段410aにリソース要求を拒否したことを通知する。拒否通知を受けた起動制御手段410aは、許可されるまで、繰り返し、リソース管理手段416にリソース要求を出力する。なお、起動制御手段410aは、予め定められた回数だけリソース要求を拒否された場合は、アプリケーションの起動を失敗したものとして処理を終了するようにしてもよい。また、リソース割当を受けるまで繰り返しリソース要求をする必要がある場合は、起動制御手段410aは、後記する時間予約付きリソース要求をして、リソース割当を受けるまで待機するようにしてもよい。
また、放送通信連携受信装置400は、リソース割当手段416bによって、リソース要求を許可した場合は(ステップS55でYes)、リソース情報記憶手段417に記憶されているリソース使用情報DB(図5(b)参照)に、要求を許可したアプリケーションに割当てたリソースの使用量を登録するリソース使用量DBの更新を行う(ステップS56)。また、起動制御手段410aは、リソース割当手段416bからリソース要求が許可され、アプリケーションの起動に必要なリソースの割当を受けると、アプリ実行手段415にアプリケーションの起動を指示する制御指示を出力し、アプリケーションを起動させる(ステップS57)。
これによって、アプリ実行手段415に、そのアプリケーションを実行するオブジェクトであるアプリA415aやアプリB415bなどが生成する。放送通信連携受信装置400は、アプリケーションを起動すると、起動制御手段410aによって、起動したアプリケーション(アプリ識別情報)に対応付けて、起動したアプリケーションの起動元と、対応する編成チャンネルとを、起動アプリ識別情報記憶手段411に記憶されている起動アプリケーション識別情報DB(図4参照)に追加する(ステップS58)。
一方、アプリ制御手段410が確認したアプリケーション制御情報に含まれる制御情報が「起動」を指示するものではなく(ステップS52でNo)、「終了」を指示する「DESTROY」または「KILL」であった場合(ステップS59でYes)、放送通信連携受信装置400は、アプリ制御手段410の終了制御手段410bによって、起動アプリ識別情報記憶手段411に記憶されている起動アプリ識別情報(図4参照)を参照し、「終了」指示のあったアプリケーションによって起動された「子アプリケーション」があるかどうかを確認する(ステップS60)。
ここで、子アプリケーションがあるかどうかは、起動アプリケーション識別情報DB(図4参照)において、そのアプリケーションを「起動元」として記録されているアプリケーションがあるかどうかで判断することができる。例えば、図4に示した例では、終了させるアプリケーションの識別情報であるアプリ識別情報を「001」とすると、アプリ識別情報「002」のアプリケーションは、子アプリケーションであることが分かる。
ここで、終了させようとするアプリケーション(親アプリケーション)に子アプリケーションがある場合は、子アプリケーションも終了させる。このとき、子アプリケーションを終了させてから親アプリケーションを終了させることとする。
そこで、放送通信連携受信装置400は、終了させるアプリケーションに子アプリケーションがある場合は(ステップS60でYes)、終了制御手段410bによって、子アプリケーションを終了させる(ステップS61)。複数の子アプリケーションがある場合は、ステップS60およびステップS61を繰り返し実行し、親アプリケーションより先に子アプリケーションをすべて終了させる。子アプリケーション終了処理の詳細については、後記する。
子アプリケーションをすべて終了させ、起動中の子アプリケーションがなくなると(ステップS60でNo)、放送通信連携受信装置400は、終了制御手段410bによって、アプリ実行手段415に終了を指示する制御信号を出力して、親アプリケーションを終了させる(ステップS62)。放送通信連携受信装置400は、アプリケーションを終了させると、終了制御手段410bによって、起動アプリ識別情報記憶手段411に記憶されている起動アプリケーション識別情報DB(図4参照)から、終了させたアプリケーションの情報を削除する情報の更新を行い(ステップS63)、リソース管理手段416に対してアプリケーションの終了通知を出力する(ステップS64)。
次に、放送通信連携受信装置400は、リソース管理手段416によって、リソース情報記憶手段417に記憶されているリソース使用情報DB(図5(b)参照)から、終了制御手段410bから入力した終了通知に対応するアプリケーションが使用していたリソースのリソース使用情報を削除する更新を行う(ステップS65)。
また、アプリケーションの制御情報の指示内容が終了でない場合(ステップ59でNo)、すなわち、アプリケーションに対する制御が起動でも終了でもない場合は、そのアプリケーション起動情報を無視して処理を終了する。なお、ここでは起動または終了のみ行うようにしたが、起動および終了以外に、停止やロードを指示する制御情報などに従った処理を行うようにしてもよい。
次に、図12を参照(適宜図1および図11参照)して、図11における子アプリケーション終了処理(ステップS61)の詳細について説明する。
子アプリケーションを終了させる場合も、その子アプリケーションによって起動されたアプリケーション(親アプリケーションにとっての孫アプリケーション)がある場合は、子アプリケーションにとっての子アプリケーションをすべて終了させてから、その子アプリケーションを終了させることとする。
まず、放送通信連携受信装置400は、終了制御手段410bによって、終了させようとする子アプリケーションにとって、子アプリケーションがあるかどうかを確認する(ステップS70)。この確認方法は、図11に示した親アプリケーションの終了処理におけるステップS60と同様である。図4に示した例では、アプリ識別情報「001」の子アプリケーションであるアプリ識別情報「002」のアプリケーションにとって、アプリ識別情報「004」のアプリケーションが子アプリケーションとなる。従って、アプリ識別情報「002」のアプリケーションを終了させるために、先に、アプリ識別情報「004」のアプリケーションを終了させることになる。
図12に戻って、終了させようとする子アプリケーションに、更に子アプリケーションがある場合は(ステップS70でYes)、放送通信連携受信装置400は、終了制御手段410bによって、子アプリケーションにとってのすべての子アプリケーションを終了させるまでステップS70およびステップS71を繰り返し実行する。そして、子アプリケーションにとっての起動中の子アプリケーションがなくなると(ステップS70でNo)、放送通信連携受信装置400は、終了制御手段410bによって、アプリ実行手段に終了を指示する制御手段を出力して、その子アプリケーションを終了させる(ステップS72)。
放送通信連携受信装置400は、子アプリケーションを終了させると、終了制御手段410bによって、起動アプリ識別情報記憶手段411に記憶されている起動アプリケーション識別情報DB(図4参照)から、終了させた子アプリケーションの情報を削除する情報の更新を行い(ステップS73)、リソース管理手段416に対してアプリケーションの終了通知を出力する(ステップS74)。放送通信連携受信装置400は、リソース管理手段416によって、リソース情報記憶手段417に記憶されているリソース使用情報DB(図5(b)参照)から、終了制御手段410bから入力した終了通知に対応する子アプリケーションが使用していたリソースのリソース使用情報を削除する情報の更新を行う(ステップS75)。
(アプリケーションの選択動作)
次に、図13を参照(適宜図1参照)して、アプリケーションの選択動作について説明する。
放送通信連携受信装置400は、ユーザによるリモコン装置Rmの操作などにより、ハイブリッド型サービスが選択されると(ステップS80)、まず、アプリ起動情報抽出手段402a、アプリ起動情報抽出手段404aおよびアプリ起動情報取得手段407によってアプリケーション起動情報を取得する(ステップS81)。
次に、放送通信連携受信装置400は、アプリ起動情報選別手段408によって、取得したアプリケーション起動情報に含まれる従属情報(serviceBound(17)、図2参照)が「true」か「false」かを確認し、「true」の場合は、そのアプリケーション起動情報に対応するアプリケーションを編成チャンネルに従属する従属型アプリケーションと判定し(ステップS82でNo)、アプリケーション起動情報を、放送受信手段401で選局中の編成チャンネル(例えば、D001)に対応付けてアプリ起動情報記憶手段409に記憶する(ステップS83)(図6(a)参照)。
一方、従属情報が「false」の場合は、放送通信連携受信装置400は、アプリ起動情報選別手段408によって、そのアプリケーション起動情報に対応するアプリケーションを編成チャンネルに従属しない独立型アプリケーションと判定し(ステップS82でYes)、アプリケーション起動情報を、予め定められた仮想チャンネル(例えば、D999)に対応付けてアプリ起動情報記憶手段409に記憶する(ステップS84)(図6(a)参照)。
なお、アプリケーション起動情報は、対応するアプリケーションが従属型か独立型かに関わらず、アプリ起動情報記憶手段409に記憶されるときに、チャンネル(編成チャンネルまたは仮想チャンネル)に対応付けられる、という同一の手法により、管理されることになる。
次に、放送通信連携受信装置400は、アプリ選択手段412のリスト表示手段412aによって、アプリ起動情報選別手段408を介してアプリ起動情報記憶手段409に記憶されているアプリケーション起動情報DB(図6(a)参照)から、実行可能なアプリケーションを抽出し、アプリケーションのリストを合成提示手段419を介してモニタMoに表示する(ステップS85)。
このときにも、アプリケーションが従属型か独立型かに関わらず、チャンネル(編成チャンネルまたは仮想チャンネル)に対応付けられているため、同一の手法により、リスト表示をすることができる。
そして、放送通信連携受信装置400は、リスト選択手段412bによって、ユーザによるリモコン装置Rmの操作により、操作制御手段420を介して、アプリケーションの選択指示を入力すると(ステップS86)、リスト選択手段412bによって、選択されたアプリケーションの起動要求をアプリ制御手段410に要求する(ステップS87)。
そして、放送通信連携受信装置400は、アプリ制御手段410によって、アプリ実行手段415に対して起動を示す制御指示を出力して、このアプリケーションを起動させる(ステップS88)。
なお、独立型アプリケーションを、アプリケーションのローンチャーであるアプリ選択手段412によって選択して起動させる場合は、この独立型アプリケーションに対応するアプリケーション起動情報の制御情報(controlCode(15)、図2参照)は「AUTOSTART」が設定されているものとする。これによって、このアプリケーションが選択されると、アプリ制御手段410によって、このアプリケーションが即時起動されることになる。
このように、独立型アプリケーションを仮想チャンネルに対応付けることで、独立型アプリケーションを従属型アプリケーションと同一の手法で管理することができる。
(チャンネル切替時のアプリケーションの制御動作)
次に、図14を参照(適宜図1参照)して、チャンネル切替時のアプリケーションの制御について説明する。
放送通信連携受信装置400は、ユーザによるリモコン装置Rmの操作により、操作制御手段420を介してチャンネル切替指示が入力されると(ステップS90)、放送受信手段401によって切替指示のあった編成チャンネルに選局を変更する。また、放送通信連携受信装置400は、アプリ制御手段410の終了制御手段410bによって、起動アプリ識別情報記憶手段411に記憶されている起動アプリケーション識別情報DB(図4参照)を参照し、チャンネル切替前の編成チャンネル(例えば、D001)に従属する従属型アプリケーションが起動中かどうかを確認し(ステップS91)、従属型アプリケーションが起動中の場合は(ステップS91でYes)、図11に示したステップS60からステップS65の手順に従って、従属型アプリケーションを終了させる(ステップS92)。
なお、仮想チャンネルは、実装されたチューナである放送受信手段401とは異なる仮想的なチューナによって選局された編成チャンネルとして取り扱われるため、実装された放送受信手段401に対するチャンネルの切替操作に関わらず、仮想チャンネルに対応付けられて管理される独立型アプリケーションの動作状態は変更されない。
起動中の従属型アプリケーションをすべて終了させると(ステップS91でNo)、放送通信連携受信装置400は、アプリ起動情報抽出手段402a、アプリ起動情報抽出手段404aおよびアプリ起動情報取得手段407によってアプリケーション起動情報を取得する(ステップS93)。次に、放送通信連携受信装置400は、アプリ起動情報選別手段408によって、取得したアプリケーション起動情報を、対応する編成チャンネルまたは仮想チャンネルに対応付けて、アプリ起動情報記憶手段409に記憶する(ステップS94)。
このとき、放送通信連携受信装置400は、アプリ起動情報選別手段408によって、チャンネル切替前の編成チャンネルに対応付けられたアプリケーション起動情報を、アプリ起動情報記憶手段409に記憶されているアプリケーション起動情報DBから削除する。これによって、アプリ起動情報記憶手段409に記憶されるアプリケーション起動情報DBは、チャンネル切替後の新しい編成チャンネルまたは仮想チャンネルに対応付けられたアプリケーション起動情報に更新される。
また、放送通信連携受信装置400は、アプリ起動情報抽出手段402a、アプリ起動情報抽出手段404aまたはアプリ起動情報取得手段407によって、アプリケーション起動情報の更新通知をアプリ制御手段410に対して出力することにより(ステップS95)、アプリ制御手段410によって、アプリケーションのライフサイクル制御を行う(ステップS96)。
以上説明したように、独立型アプリケーションに対応するアプリケーション起動情報を仮想チューナによって選局中の仮想チャンネルに対応付けて管理することにより、放送通信連携受信装置400が稼働中は仮想チャンネルの選局状態は変更されないため、仮想チャンネルと対応付けられた独立型アプリケーションは常に実行可能な状態に置かれることになる。従って、ユーザによるリモコン装置Rmの操作により操作制御手段420を介して、アプリ選択手段412のリスト選択手段412bによってアプリケーションが選択されたときや、通信送受信手段406を介して取得されるアプリケーション起動情報により、従属型アプリケーションと同一の手法により、独立型アプリケーションを制御することができる。
また、これによって、例えば、次のような利用形態が可能である。まず、今日起こったニュースをまとめて提示する「今日のニュース」なる独立型アプリケーションを放送通信連携受信装置400のアプリ記憶手段414に蓄積(インストール)しておく。また、予めこのアプリケーションに対応するアプリケーション起動情報をアプリ起動情報記憶手段409に記憶しておく。そして、ユーザがリモコン装置Rmなどによって、このアプリケーションの起動を選択する操作をすることにより、独立型アプリケーションである「今日のニュース」アプリケーションが、アプリ制御手段410を介して、アプリ実行手段415によって、従属型アプリケーションと同一の手法で起動される。
(デコーダ管理手段の動作)
次に、図15を参照(適宜図1参照)して、デコーダ管理手段の動作について説明する。なお、ここでは、デコーダ管理手段418は、ハイブリッド型サービスにおける独立型アプリケーションを実行することで実現されるものとし、制御情報(controlCode(15)、図2参照)として「AUTOSTART」が設定されたアプリケーション起動情報がアプリ起動情報記憶手段409に記憶されているものとする。
また、放送通信連携受信装置400は、例えば、映像・音声復号手段403において、MPEG−2方式で符号化された映像信号を復号するMPEG−2デコーダをリソースとして保有しおり、保有リソースリストに登録されているとする。そして、H.264/AVC方式で符号化された映像信号を受信し、H.264/AVC方式のデコーダを保有せず、保有リソースリストに登録されていないものとして説明する。
放送通信連携受信装置400は、ユーザによるリモコン装置Rmなどの操作によりハイブリッド型サービスが選択されると(ステップS100)、アプリ制御手段410の起動制御手段410aによって、独立型アプリケーションであるデコーダ管理アプリが起動され(ステップS101)、デコーダ管理手段418として機能する。
放送通信連携受信装置400は、放送受信手段401によって、放送信号を受信し(ステップS102)、放送信号解析手段402によって、受信した放送信号に多重化されたデータを解析する(ステップS103)。放送通信連携受信装置400は、デコーダ管理手段418の符号化方式判定手段418aによって、放送信号解析手段402から放送信号に含まれる放送コンテンツの映像信号の符号化方式についての情報を入力し、この符号化方式に対応するデコーダが、放送通信連携受信装置400に保有されているかどうかを照会する要求を、リソース管理手段416に対して出力する。そして、放送通信連携受信装置400は、リソース管理手段416によって、リソース情報記憶手段417に記憶されている保有リソースリストに照会要求されたデコーダ(リソース)があるかどうかを判定し、その結果を符号化方式判定手段418aに出力する。そして、放送通信連携受信装置400は、符号化方式判定手段418aによって、リソース管理手段416から入力した照会結果に従って、このデコーダが不足リソースかどうかを判定する(ステップS104)。
放送通信連携受信装置400は、符号化方式判定手段418aによって、リソース管理手段416から必要なデコーダ(H.264/AVC方式のデコーダ)が「保有しない」との照会結果を入力した場合は、このデコーダは不足リソースであると判定し(ステップS104でYes)、その判定結果をデコーダアプリ取得管理手段418bに出力する。そして、放送通信連携受信装置400は、デコーダアプリ取得管理手段418bによって、アプリ起動情報取得手段407に対して、不足リソースであるデコーダ(H.264/AVC方式のデコーダ)の機能を有する独立型アプリケーションであるデコーダアプリ(補完アプリケーション)に対応するアプリケーション起動情報の取得を要求する(ステップS105)。
放送通信連携受信装置400は、アプリ起動情報取得手段407によって、必要とするデコーダアプリに対応するアプリケーション起動情報が取得できた場合は(ステップS106でYes)、取得したアプリケーション起動情報を、仮想チャンネルに対応付けて、アプリ起動情報選別手段408を介してアプリ起動情報記憶手段409に記憶し(ステップS107)、取得結果通知をデコーダアプリ取得管理手段418bに出力する(ステップS108)。
次に、放送通信連携受信装置400は、デコーダアプリ取得管理手段418bによって、アプリ制御手段410に対して、このデコーダアプリの起動要求を出力する(ステップS109)。この後の、デコーダアプリの取得(ステップS110)から、起動されたデコーダアプリに関する起動アプリ識別情報の更新(ステップS115)までの処理であるステップS110からステップS115は、図11に示したステップS53からステップS58と同様であるので、詳細な説明は省略する。なお、図1において、このデコーダアプリは、アプリ実行手段415によって、アプリB415bとして実行されていることを示す。
なお、デコーダアプリは、デコーダ管理アプリ(親アプリケーション)によって起動された子アプリケーションとなるため、起動アプリケーション識別情報DBにおいて、デコーダアプリの「起動元」(図4参照)は、デコーダ管理アプリとなる。従って、親アプリケーションであるデコーダ管理アプリが終了する場合は、図11に示したステップS60からステップS65の手順によって、子アプリケーションであるデコーダアプリも終了することになる。
一方、放送通信連携受信装置400は、符号化方式判定手段418aによって、リソース管理手段416から入力した照会結果が「保有する」であった場合は、この必要なデコーダが不足リソースではないと判定し(ステップS104でNo)、別途にデコーダアプリを取得することなく、受信した映像信号を保有リソースである映像・音声復号手段403に含まれるデコーダ(MPEG−2方式のデコーダ)によって復号する。
また、放送通信連携受信装置400は、アプリ起動情報取得手段407によって、必要とするデコーダアプリに対応するアプリケーション起動情報を取得できなかった場合は(ステップS106でNo)、そのようなデコーダアプリを利用することができないため、その映像信号を復号しての提示は行わず処理を終了する。なお、このとき映像を提示できない旨を、合成提示手段419を介してモニタMoに表示してユーザに知らせるようにしてもよい。
なお、本例では、符号化方式判定手段418aは、リソース管理手段416から、復号に必要なデコーダが保有リソースかどうかの照会結果を入力するようにしたが、これに限定されるものではない。符号化方式判定手段418aは、リソース情報記憶手段417から直接に、またはリソース管理手段416を介して、保有リソースリストを入力し、当該デコーダが保有リソースに含まれるかどうかを判定するようにしてもよい。
(リソース管理手段によるリソース割当処理の動作)
次に、図16を参照(適宜図1および図5参照)して、リソース管理手段416によるリソース割当処理について説明する。本実施形態においては、アプリ制御手段410、アプリ実行手段415によって実行中のアプリA415aおよびアプリB415bなど(本動作の説明において、適宜「アプリケーションなど」という)からリソース管理手段416へのリソース要求において、使用開始時間を指定したリソース要求である時間予約付きリソース要求を設ける。
放送通信連携受信装置400は、リソース管理手段(リソースマネージャ)416のリソース要求受付手段416aによって、アプリケーションなどからリソース要求を受け付ける(ステップS120)。
放送通信連携受信装置400は、リソース要求受付手段416aによって、受け付けたリソース要求が時間予約付きリソース要求かどうかを確認し(ステップS121)、時間予約付きリソース要求の場合は(ステップS121でYes)、その時間予約付きリソース要求によるリソース予約に関する情報として、リソース種類とリソース使用量とに加え、使用開始時間である予約時間とアプリケーション実行の優先度とを、リソース要求をしたアプリケーション(アプリ識別情報)に対応付けて、リソース情報記憶手段417に記憶されているリソース使用情報DBに登録する(ステップS125)。なお、アプリケーション実行の優先度は、そのアプリケーションに対応するアプリケーション起動情報の優先度(priority(18)、図2参照)に従うものとする。
一方、受け付けたリソース要求が時間予約付きリソース要求でない場合は(ステップS121でNo)、放送通信連携受信装置400は、リソース割当手段416bによって、リソース要求受付手段416aで受信したリソース要求に対して、リソースを割当てることができるかどうかを判定する(ステップS122)。ここで、リソース情報記憶手段417に記憶されている保有リソースリストとリソース使用情報DBとにおける、要求のあったリソース種類のリソース量(総量)とリソース使用量の合計とに基づき、要求されたリソース量の空きがある(未使用のリソース量が要求されたリソース量より大きい)かどうかによって割当可能かどうかを判定する。
そして、リソースの空きがあり、割当て可能と判定した場合は(ステップS122でYes)、放送通信連携受信装置400は、リソース割当手段416bによって、リソース情報記憶手段417に記憶されているリソース使用情報DBに、割当を行ったリソースに関する情報として、リソース種類とリソース使用量とを、割当を受けたアプリケーション(アプリ識別情報)に対応付けて登録する更新を行い(ステップS123)、リソースの割当を行う(ステップS124)。
また、放送通信連携受信装置400は、リソース割当手段416bによって、ステップ125において登録されたリソース予約について、予約時間に割当可能かどうかを判定する(ステップS126)。ここで、割当可能かどうかの判定は、ステップS122における判定と同様に行う。
予約時間に割当可能であると判定した場合は(ステップS126でYes)、放送通信連携受信装置400は、リソース割当手段416bによって、リソース使用情報DBにおけるリソース予約についての情報を、予約からリソース使用状態に変更する更新を行う(ステップS123)。ここで、予約から使用状態への変更を識別するために、リソース使用情報DBの対応するリソース情報における予約時間の情報を削除する。
一方、予約時間に割当が不可であった場合は(ステップS126でNo)、放送通信連携受信装置400は、リソース割当手段416bによって、予約状態を変更し、リソース使用情報DBの対応するリソース使用情報をその変更内容に応じて更新する(ステップS127)。そして、放送通信連携受信装置400は、リソース要求受付手段416aによって、予約状態変更通知を、この時間予約付きリソース要求をしたアプリケーションなどに出力する(ステップS128)。ここで、予約状態の変更とは、「予約の取消し」または「予約時間の繰下げ」である。そして、放送通信連携受信装置400は、リソース割当手段416bによって、「予約の取消し」の場合は、リソース使用情報DBから対応するリソース使用情報を削除し、「予約時間の繰下げ」の場合は、リソース使用情報DBの対応するリソース使用情報の予約時間を繰下げられた時間に変更する。
また、予約状態変更が「予約取消し」の場合は(ステップS129でYes)、放送通信連携受信装置400は、この時間予約付きリソース要求に対する処理を終了する。
一方、予約状態変更が「予約時間繰下げ」の場合は(ステップS129でNo)、ステップS126に戻り、放送通信連携受信装置400は、リソース割当手段416bによって、変更された予約時間に、リソース割当の可否を判定する(ステップS126)。
なお、予約状態変更通知を入力したアプリケーションなどは、変更内容に応じて、リソース割当を受けるまで待機したり、再度リソース要求するなど、適宜に適切な処置を講ずることとなる。
また、リソースの空きがなく、割当て不可と判定する場合は(ステップS122でNo)、放送通信連携受信装置400は、リソース割当手段416bによって、リソース使用情報DBを参照して、リソースの予約があるかどうかを確認し(ステップS130)、リソースの予約がある場合は(ステップS130でYes)、新たなリソース要求を受け付けたのがその予約時間前であって、そのリソースの予約状態を変更(取消しまたは繰下げ)することによって、その新たなリソース要求に対してリソース割当てが可能かどうか(割当可能性があるかどうか)を判定する(ステップS131)。
ここで、割当可能性がある場合は(ステップS131でYes)、放送通信連携受信装置400は、リソース割当手段416bによって、その新たなリソース要求をしたアプリケーションの優先度が、前記したリソースの予約をしているアプリケーションの優先度より高いかどうかを判定する(ステップS132)。そして、優先度が高い場合は(ステップS132でYes)、放送通信連携受信装置400は、リソース割当手段416bによって、そのリソースの予約状態を変更し(ステップS133)、リソース要求受付手段416aによって、そのリソースの予約をしたアプリケーションなどに対して、予約状態変更通知を出力する(ステップS134)。
そして、放送通信連携受信装置400は、リソース割当手段416bによって、その新たなリソース要求についてのリソース使用情報を登録する更新をし(ステップS123)、その新たなリソース要求をしたアプリケーションなどにリソ−スを割り当てる(ステップS124)。
なお、新たなリソース要求が優先度の高い時間予約付きリソース要求である場合は、この新たなリソース要求についてリソース予約を登録し、優先度の低い先のリソース予約の予約時間を、新たなリソース予約の予約時間よりも繰下げるか、先のリソース予約を取消すなどの、予約状態の変更をするようにしてもよい。
また、リソースの予約がない場合(ステップS130でNo)、リソースの予約状態を変更しても、新たなリソース要求に対するリソースの空きができず、リソース割当可能性がない場合(ステップS131でNo)、または新たなリソース要求をしたアプリケーションの優先度が、予約しているアプリケーションの優先度と同じか低い場合(ステップS132でNo)、放送通信連携受信装置400は、リソース要求受付手段416aによって、新たなリソース要求をしたアプリケーションなどに対して、リソース要求の不許可通知を出力し(ステップS135)、処理を終了する。
以上説明したように、時間予約付きリソース要求を設けることにより、他のアプリケーションによるリソース使用時間が短時間であれば、この時間予約付きリソース要求を出力した時点では割当を受けることができなくとも、「時間予約付き」のリソース要求によって放送通信連携受信装置400の処理負荷を大きく高めることなく、必要なリソースを利用したアプリケーションを実行することができる。また、予約してリソースの割当を待っているアプリケーションの実行の優先度を判断することにより、より優先度の高いアプリケーションの実行を、容易に優先させることができる。
なお、本例では、予約リソースの割当可否の判定を予約時間に行うようにしたが、時間予約付きリソース要求を受付時から予約時間までの間に適宜行うようにし、割当可能となったときにリソースを割り当てるようにしてもよい。
(データ放送からの移行動作)
次に、図17を参照(適宜図1参照)して、データ放送サービスからハイブリッド型サービスへの移行について説明する。
放送通信連携受信装置400は、放送受信手段401によって、放送信号を受信し(ステップS140)、放送信号解析手段402により受信した放送信号から分離されたデータカルーセル方式で伝送されたデータから、データ放送ファイル抽出手段404によって、データ放送コンテンツが含まれるデータ放送ファイルを抽出する(ステップS141)。
放送通信連携受信装置400は、BMLブラウザであるデータ放送コンテンツ閲覧手段405によって、BMLで記述されたデータ放送コンテンツを映像信号および音声信号に変換して、合成提示手段419を介してモニタMoおよびスピーカSpに出力し、ユーザが閲覧可能に提示する(ステップS142)。
放送通信連携受信装置400は、アプリ指定情報抽出手段405aによって、データ放送コンテンツであるBML文書中にハイブリッド型サービスに属するアプリケーションの指定情報を抽出する(ステップS143)。アプリケーションの指定情報が抽出されると、放送通信連携受信装置400は、アプリ起動情報要求手段405bによって、当該アプリケーションに対応するアプリケーション制御情報を、アプリ起動情報選別手段408を介してアプリ起動情報記憶手段409から取得して(ステップS144)、アプリ実行可否判定手段405cによって、当該アプリケーションに対応するアプリケーション制御情報の有無を確認し、このアプリケーション制御情報の有無によってアプリケーションが実行可能かどうかを判定する(ステップS145)。
アプリケーションが実行可能な場合は(ステップS145でYes)、放送通信連携受信装置400は、コンテンツ閲覧終了手段405dによって、データ放送コンテンツ閲覧手段405による放送コンテンツの閲覧を終了させるとともに(ステップS146)、アプリ起動要求手段405eによって、アプリ制御手段410に対して、このアプリケーションの起動要求を出力する。そして、放送通信連携受信装置400は、アプリ制御手段410を介してアプリ実行手段415によって、このアプリケーションを起動させる(ステップS147)。
これによって、データ放送サービスからハイブリッド型サービスに直接移行することができる。
なお、本例では、データ放送コンテンツ閲覧中にハイブリッド型サービスにおける実行可能なアプリケーションの指定情報を抽出した場合は、自動的にアプリケーションを起動してハイブリッド型サービスに移行するようにしたが、データ放送コンテンツ閲覧画面に、このアプリケーションの選択メニューを表示し、ユーザによるリモコン装置Rmなどによる選択指示を入力してからアプリケーションを起動してハイブリッド型サービスに移行するようにしてもよい。
また、このハイブリッド型サービスにおけるアプリケーションの終了後は、再びデータ放送サービスに復帰し、コンテンツ閲覧終了手段405dによって閲覧を終了した箇所からコンテンツの閲覧を再開するようにしてもよい。
一方、放送通信連携受信装置400は、アプリ実行可否判定手段405cによって、対応するアプリケーション制御情報がなく、アプリケーションが実行できないと判定した場合は(ステップS145でNo)、ステップS140に戻り、データ放送コンテンツ閲覧手段405によって、データ放送コンテンツの閲覧を継続する。
[放送通信連携受信装置の変形例]
次に、放送通信連携受信装置の実施形態の変形例について説明する。本変形例においては、アプリ起動情報選別手段408は、アプリ起動情報抽出手段402a、アプリ起動情報抽出手段404aおよびアプリ起動情報取得手段407から入力するアプリケーション起動情報を、選局中の編成チャンネルに対応付けられているかどうかに関わらず、それぞれのアプリケーション起動情報に対応する編成チャンネルまたは仮想チャンネルに対応付けてアプリ起動情報記憶手段409に記憶する。そして、データ放送コンテンツ閲覧手段405、アプリ選択手段412およびアプリ制御手段410よってアプリケーション起動情報を参照するときに、選局中の編成チャンネルまたは仮想チャンネルに対応付けられたアプリケーション起動情報のみを選別して、これらの手段に出力して参照させるものである。
本変形例におけるアプリ起動情報記憶手段409に記憶されるアプリケーション起動情報DBは、図6(b)に示すように、放送受信手段401が選局中の編成チャンネル(D001)に対応付けられたアプリケーション起動情報ファイルおよび仮想チャンネル(D999)に対応付けられたアプリケーション起動情報ファイルのほか、放送受信手段401によって選局可能な他の編成チャンネル(D002、D003、D004など)に対応付けられたアプリケーション起動情報ファイルも記憶されている。
[変形例におけるアプリケーション起動情報の参照]
次に、図18を参照(適宜図1参照)して、変形例におけるアプリケーション起動情報の参照手順について説明する。
放送通信連携受信装置400は、アプリ起動情報抽出手段402a、アプリ起動情報抽出手段404aおよびアプリ起動情報取得手段407によって、アプリケーション起動情報を取得する(ステップS150)。
放送通信連携受信装置400は、アプリ起動情報選別手段408によって、取得したアプリケーション起動情報の従属情報(serviceBound(17)、図2参照)が「true」の場合は、アプリケーション起動情報を取得したときに放送受信手段401によって選局されていた編成チャンネルまたはアプリケーション起動情報に含まれるサービス情報(不図示)に記述された編成チャンネル(D001、D002、D003、D004など)に対応付けて(図6(b)参照)、アプリ起動情報記憶手段409に記憶する(ステップS151)。
また、従属情報が「false」の場合は、放送通信連携受信装置400は、アプリ起動情報選別手段408によって、仮想チャンネル(D999)に対応付けて(図6(b)参照)、アプリ起動情報記憶手段409に記憶する(ステップS151)。
放送通信連携受信装置400は、データ放送コンテンツ閲覧手段405、アプリ選択手段412およびアプリ制御手段410によってアプリケーション起動情報を参照するときに、アプリ起動情報選別手段408によって、アプリ起動情報記憶手段409に記憶されているアプリケーション起動情報DBの中から、選局中の編成チャンネル(例えば、D001)または仮想チャンネル(D999)に対応付けられたアプリケーション起動情報のみを選別して、これらの手段に出力して参照させる(ステップS152)。
これによって、チャンネル切替を頻繁に行った場合でも、アプリ起動情報記憶手段409に記憶されるアプリケーション起動情報を逐一更新する必要がないため、迅速にチャンネル切替に対応してハイブリッド型サービスを提供することができる。