以下、図面を参照しながら本技術の実施の形態について説明する。なお、説明は以下の順序で行うものとする。
1.ブロードキャストリレートアプリケーション
2.ブロードキャストインディペンデントアプリケーション
(1)第1の実施の形態
(2)第2の実施の形態
3.システム構成
4.各装置で実行される処理の流れ
5.変形例
6.コンピュータの構成
<1.ブロードキャストリレートアプリケーション>
ブロードキャストリレートアプリケーション(Broadcast Related Application)は、放送局が放送波により提供する放送サービス内で起動されるアプリケーションである。ここでは、デジタル放送信号を受信可能な受信機により実行されるブロードキャストリレートアプリケーションについて説明する。
なお、このブロードキャストリレートアプリケーションは、例えばHTML(HyperText Markup Language)ファイルなどから構成される。以下、ブロードキャストリレートアプリケーションは、「放送リレートアプリ」と称して説明する。また、Broadcast Related Applicationは、「Broadcast Related App」と略記する場合がある。
(放送リレートアプリの画面遷移)
図1は、放送リレートアプリの画面遷移を示す図である。
図1においては、放送番組等のAV(Audio Video)コンテンツのみが再生されている画面を、「放送全画面」と称し、AVコンテンツの再生とともに放送リレートアプリが実行されている画面を、「アプリ+放送画面」と称するものとする。なお、これらの画面の名称は、後述する他の図でも同様とされる。
受信機においては、電源がオンされると、チャンネルXの放送番組の映像が「放送全画面」で表示される。また、受信機では、チャンネルXの放送番組の映像を「放送全画面」で表示中に、チャンネルXの放送番組用の放送リレートアプリApp1が起動されると、その画面は、「放送全画面」から「アプリ+放送画面」に遷移する。この「アプリ+放送画面」は、チャンネルXの放送番組の映像が縮小され、その余白部分に放送リレートアプリApp1の情報が表示されたL字型画面となる。すなわち、チャンネルXの放送番組の映像は、子画面表示となる。
なお、「アプリ+放送画面」を表示中に、放送リレートアプリApp1が終了すると、その画面は、「アプリ+放送画面」から「放送全画面」に遷移して、子画面表示されていたチャンネルXの放送番組の映像は、通常の大きさに戻されることになる。
ここで、「アプリ+放送画面」を表示中に、ユーザによって、チャンネルがXからYに切り替えられた場合、「アプリ+放送画面」では、その画面内に子画面表示されている映像が、チャンネルXの放送番組の映像から、チャンネルYの放送番組の映像に切り替えられる。また、受信機では、チャンネルXの放送番組用の放送リレートアプリApp1が終了され、チャンネルYの放送番組用の放送リレートアプリApp2が起動される。その結果、「アプリ+放送画面」は、チャンネルYの放送番組の映像が縮小され、その余白部分に放送リレートアプリApp2の情報が表示されたL字型画面となる。
その後、ユーザによって、放送リレートアプリApp2の終了が指示された場合、放送リレートアプリApp2は終了し、その画面は、「アプリ+放送画面」から「放送全画面」に遷移して、子画面表示されていたチャンネルYの放送番組の映像は、通常の大きさに戻されて表示されることになる。
(受信機の状態遷移)
図2は、放送リレートアプリを実行する受信機の状態遷移を示す図である。図2に示すように、受信機の状態は、「端末動作停止」、「放送受信(AVのみ再生)」、又は、「放送受信(AV再生+放送リレートアプリ実行)」のうち、いずれかの状態に遷移していると定義される。
「端末動作停止」は、受信機の電源がオフされている状態を表している。「放送受信(AVのみ再生)」は、放送番組等のAVコンテンツのみが再生されている状態を表している。この状態に遷移した受信機では、「放送全画面」(図1)が表示される。「放送受信(AV再生+放送リレートアプリ実行)」は、放送番組等のAVコンテンツの再生とともに、放送リレートアプリが実行されている状態を表している。この状態に遷移した受信機では、「アプリ+放送画面」(図1)が表示される。
受信機が「端末動作停止」の状態に遷移している場合に、電源がオンされると、その状態は、「放送受信(AVのみ再生)」の状態に遷移する。また、受信機が「放送受信(AVのみ再生)」の状態に遷移している場合に、放送リレートアプリが起動されると、その状態は、「放送受信(AV再生+放送リレートアプリ実行)」の状態に遷移する。なお、「受信機が放送受信(AVのみ再生)」の状態に遷移している場合に、電源がオフされると、その状態は、「端末動作停止」の状態に遷移する。
受信機が「放送受信(AV再生+放送リレートアプリ実行)」の状態に遷移している場合に、放送リレートアプリ実行が終了されると、その状態は、「放送受信(AVのみ再生)」の状態に遷移する。なお、受信機が「放送受信(AV再生+放送リレートアプリ実行)」の状態に遷移している場合に、電源がオフされると、その状態は、「端末動作停止」の状態に遷移する。
(受信機の動作)
図3は、放送リレートアプリを実行する受信機の動作を示す図である。すなわち、図3は、図2の「放送受信(AV再生+放送リレートアプリ実行)」の状態に遷移したときの受信機の動作を表している。
図3においては、放送局の送信機(Broadcaster)によって、AVコンテンツ(図中の「Content」)のデジタル放送信号が、トリガ情報(図中の「Trigger」)を含めて送信される(S1)。受信機(Receiver)は、AVコンテンツとともに送信されるトリガ情報を取得し、トリガ情報に応じて、TPT(Trigger Parameters Table)を取得するかどうかを判定する。そして、受信機は、TPTを取得すると判定した場合、ネットワークを介してTPTサーバにアクセスし、TPTを要求する(S2)。
TPTサーバ(TPT Server)は、受信機からの要求に応じて、TPT(図中の「TPT」)を、ネットワークを介して受信機に送信する(S3)。受信機は、TPTサーバから送信されるTPTを受信して、保持する。そして、受信機は、送信機から送信されるトリガ情報を取得した場合、保持しているTPTを参照して、トリガ情報に含まれるイベントIDと、TPTに定義されたイベントIDとが一致する場合、そのイベントIDに対応する有効なコマンドを特定する。
受信機は、TPTを用いたコマンドの特定結果に従い、ネットワークを介してアプリケーションサーバにアクセスし、放送リレートアプリを要求する(S4)。アプリケーションサーバ(App Server)は、受信機からの要求に応じて、放送リレートアプリ(図中の「App」)を、ネットワークを介して受信機に送信する(S5)。受信機は、アプリケーションサーバから送信される放送リレートアプリを受信して起動する。
また、受信機では、送信機から送信されるトリガ情報が取得される度に、そのトリガ情報に対応するコマンドが、TPTによって順次特定される。そして、受信機において、実行中の放送リレートアプリは、特定されたコマンドに応じて、休止若しくは再開、又は、終了等の動作を実行することになる。
以上のように、受信機は、図2の「放送受信(AV再生+放送リレートアプリ実行)」の状態に遷移した場合には、送信機からのトリガ情報に応じて、TPTサーバとアプリケーションサーバとの連携動作を行うことで、再生中のAVコンテンツとともに実行される放送リレートアプリを取得して実行する。
(トリガ情報とTPTの対応)
図4は、放送リレートアプリの動作を制御するトリガ情報とTPTの対応を示す図である。
図4において、受信機では、放送ストリームからトリガ情報が取得されると、トリガ情報に基づいて、TPTサーバからTPTを取得するか否かが判定される。ここで、図4のトリガ情報に含まれる"program1"には、domain_nameとprogram_idからなるURL(Uniform Resource Locator)が指定されているので、例えばprogram_idの値が変化したときに、TPTを取得すると判定される。
受信機は、TPTを取得すると判定した場合、domain_nameとprogram_idからなるURLに従い、ネットワークを介してTPTサーバにアクセスして、TPTを取得する。これにより、受信機は、更新後のTPT(図4)を保持することになる。
図4のTPTには、説明の簡略化のため、TPTを構成する一部の要素と属性のみを示している。すなわち、図4のTPTにおいては、アプリケーションID(AppID)により識別される放送リレートアプリごとに、イベントID(ID)により識別されるコマンド(例えば、"Prep"、"Exec"、"Susp"、"Kill")が定義されている。
ここで、例えば、受信機において、イベントID(ID)="1"のトリガ情報が取得された場合、TPTを参照することで、イベントID(ID)="1"に対応した放送リレートアプリ(アプリケーションID="1")に対するプリペアコマンド("Prep")が特定される。受信機は、プリペアコマンドに応じて、ネットワークを介してアプリケーションサーバにアクセスして、放送リレートアプリを取得して登録する。
また、受信機において、イベントID(ID)="2"のトリガ情報が取得された場合、TPTを参照することで、イベントID(ID)="2"に対応した放送リレートアプリ(アプリケーションID="1")に対応するエクスキュートコマンド("Exec")が特定される。受信機は、エクスキュートコマンドに応じて、取得済みの放送リレートアプリを起動する。
さらに、受信機において、イベントID(ID)="4"のトリガ情報が取得された場合、TPTを参照することで、イベントID(ID)="4"に対応した放送リレートアプリ(アプリケーションID="1")に対応するキルコマンド("Kill")が特定される。受信機は、キルコマンドに応じて、実行中の放送リレートアプリを終了する。
以上のように、受信機においては、放送ストリームからトリガ情報が取得される度に、トリガ情報に応じたコマンドがTPTより順次特定され、特定されたコマンドに従い、放送リレートアプリの動作が制御される。
(放送リレートアプリ用のTPTの記述例)
図5は、図4の放送リレートアプリ用のTPTの記述例を示す図である。
図5においては、tpt要素のid属性には、"abc.tv/300"が指定される。例えば、この記述は、abc放送局(domain_name="abc.tv")により放送されるAVコンテンツ(program_id="300")用のTPTであることを意味する。また、tptVersion属性には、TPTのバージョンとして、"1"が指定されている。
また、このtpt要素中には、2つのApplication要素が記述されている。1つ目のApplication要素により指定される放送リレートアプリには、appID属性によりアプリケーションID="1"が指定され、globalID属性によりグローバルID="abc.tv/100"が指定されている。なお、グローバルIDは、グローバルに識別可能なURI(Uniform Resource Identifier)により指定される。
Application要素にはまた、URL要素が記述されており、放送リレートアプリの取得先のURLとして、"http://abc.com/app1"が指定されている。また、URL要素のentry属性には、"true"が指定されているので、このURLがエントリされていることを示す。Application要素の開始タグと終了タグの間には、複数のEvent要素が記述されている。各Event要素には、eventID属性とaction属性がそれぞれ記述される。
1つ目のEvent要素には、eventID属性によりイベントID="1"が指定され、action属性によりプリペアコマンド("prep")が指定されている。すなわち、図5のTPTには、イベントID="1"であるトリガ情報に対して、アプリケーションID="1"である放送リレートアプリ用のプリペアコマンドが定義されている。
2つ目のEvent要素には、eventID属性によりイベントID="2"が指定され、action属性によりエクスキュートコマンド("exec")が指定されている。すなわち、図5のTPTには、イベントID="2"であるトリガ情報に対して、アプリケーションID="1"である放送リレートアプリ用のエクスキュートコマンドが定義されている。
3つ目のEvent要素には、eventID属性によりイベントID="3"が指定され、action属性によりサスペンドコマンド("susp")が指定されている。すなわち、図5のTPTには、イベントID="3"であるトリガ情報に対して、アプリケーションID="1"である放送リレートアプリ用のサスペンドコマンドが定義されている。
4つ目のEvent要素には、eventID属性によりイベントID="4"が指定され、action属性によりキルコマンド("kill")が指定されている。すなわち、図5のTPTには、イベントID="4"であるトリガ情報に対して、アプリケーションID="1"である放送リレートアプリ用のキルコマンドが定義されている。
また、2つ目のApplication要素により指定される放送リレートアプリには、appID属性によりアプリケーションID="2"が指定され、globalID属性によりグローバルID="abc.tv/101"が指定されている。また、URL要素によって、放送リレートアプリの取得先のURLとして、"http://abc.com/app2"が指定されている。Application要素の開始タグと終了タグの間には、複数のEvent要素が記述されている。
1つ目のEvent要素には、eventID属性によりイベントID="11"が指定され、action属性によりエクスキュートコマンド("exec")が指定されている。すなわち、図5のTPTには、イベントID="11"であるトリガ情報に対して、アプリケーションID="2"である放送リレートアプリ用のエクスキュートコマンドが定義されている。
2つ目のEvent要素には、eventID属性によりイベントID="12"が指定され、action属性によりキルコマンド("kill")が指定されている。すなわち、図5のTPTには、イベントID="12"であるトリガ情報に対して、アプリケーションID="2"である放送リレートアプリ用のキルコマンドが定義されている。
(放送リレートアプリ用のTPTのシンタックス)
図6は、放送リレートアプリ用のTPTのシンタックスの例を示す図である。図6のTPTは、例えば、XML(Extensible Markup Language)などのマークアップ言語により記述される。
図6において、TPTのルート要素には、TPT要素が記述される。TPT要素には、放送リレートアプリの動作を制御するためのイベントなどの情報が記述される。
TPT要素は、majorProtocolVersion属性、minorProtocolVersion属性、id属性、tptVersion属性、expireDate属性、updatingTime属性、serviceId属性、baseURL属性、Capabilities要素、LiveTrigger要素、及び、Application要素の上位要素となる。
majorProtocolVersion属性には、TPTに定義された仕様のメジャーバージョンを示す情報が指定される。minorProtocolVersion属性には、TPTに定義された仕様のマイナーバージョンを示す情報が指定される。
id属性には、TPTを識別するためのIDが指定される。例えば、id属性には、domain_nameと、program_idとを"/"により連結した文字列が指定される。ただし、program_idは、segment_idに対応するものであって、AVコンテンツを識別可能なIDとされる。
tptVersion属性には、TPTのバージョンを示す情報が指定される。expireDate属性には、TPTの有効期限を示す情報が指定される。updatingTime属性には、TPTの更新期間を示す情報が指定される。
serviceId属性には、デジタル放送信号により伝送されるサービスのうち、放送リレートアプリが、どのサービスで伝送されるかを示すサービスIDが指定される。例えば、放送リレートアプリがNRTサービスで伝送される場合、serviceId属性には、NRTサービスのサービスIDが指定される。
なお、NRT(Non-RealTime)サービスとは、FLUTE(File Delivery over Unidirectional Transport)セッションを利用して伝送されるNRTコンテンツを、一旦受信機のストレージに蓄積させた後で、再生を行わせるサービスである。アプリケーション伝送においてNRTサービスを利用する場合には、NRTコンテンツの代わりに、放送リレートアプリが伝送されることになる。
baseURL属性には、TPT内で指定されるURLのベースとなるURLが指定される。すなわち、当該TPTで指定される他のURLには、ベースURLを基準とした場合の相対的なパスを指定すればよいことになる。
Capabilities要素には、TPTを利用する場合に、受信機に要求される機能を示す情報が指定される。すなわち、受信機は、Capabilities要素に指定された機能を有する場合に、そのTPTを利用可能であると判断する。一方、受信機は、Capabilities要素に指定された機能を有しない場合には、そのTPTを無視する。
LiveTrigger要素は、TPT要素の子要素であって、AVコンテンツをライブ放送する場合に、放送事業者等が、所望のタイミングでイベントを実行させるためのトリガ情報に関する情報が記述される。つまり、当該トリガ情報は、アクティブ・トリガ情報(Activation Trigger)であると言える。liveTrigger要素は、URL属性、及び、pollPeriod属性を含む。
URL属性には、トリガ情報を提供するトリガサーバにアクセスするためのURLが記述される。pollPeriod属性には、トリガ情報を、トリガサーバに問い合わせる間隔を示す時間が指定される。この時間は、例えば、秒単位で指定される。
Application要素は、TPT要素の子要素であって、放送リレートアプリに関する情報が記述される。Application要素は、appID属性、appType属性、appName属性、globalId属性、appVersion属性、cookieSpace属性、frequencyOfUse属性、expireDate属性、testApp属性、availInternet属性、availBroadcast属性、URL要素、Capabilities要素、ApplicationBoundary要素、ContentItem要素、及び、Event要素の上位要素となる。
appID属性には、放送リレートアプリを識別するためのアプリケーションIDが指定される。appType属性には、放送リレートアプリのファイル属性等に関する情報が指定される。appName属性には、放送リレートアプリの名称を示す情報が指定される。例えば、複数の放送リレートアプリが起動可能である場合に、それらの名称をユーザに提示して選択させることで、所望の放送リレートアプリが起動されるようにする。
globalId属性には、放送リレートアプリをグローバルに識別可能なグローバルIDが指定される。グローバルIDは、例えばURIにより指定される。appVersion属性には、放送リレートアプリのバージョンを示す情報が指定される。cookieSpace属性には、放送リレートアプリを実行する際に必要となるストレージの容量を示す情報が指定される。
frequencyOfUse属性には、放送リレートアプリがどれくらいの頻度で利用されるかを示す情報が指定される。例えば、この利用頻度は、時間単位や日単位で指定され、利用頻度が高い放送リレートアプリを、優先的にキャッシュすることができる。expireDate属性には、放送リレートアプリの有効期限を示す情報が指定される。
testApp属性は、放送リレートアプリが、例えば製品開発のテスト目的で使用される場合に指定される。従って、通常の運用においては、testApp属性は無視される。availInternet属性には、放送リレートアプリが、インターネット配信されるか否かを示す情報が指定される。availBroadcast属性には、放送リレートアプリが、放送配信されるか否かを示す情報が指定される。
URL要素には、放送リレートアプリの取得先を示すURLが指定される。例えば、URL要素には、アプリケーションサーバのURLが指定される。ただし、前述のベースURLが指定されている場合には、ベースURLを基準とした場合の相対的なパスが指定されることになる。
URL要素は、entry属性の上位要素となる。entry属性には、URLがエントリされているか否かを示す情報が指定される。例えば、URL要素により複数のURLが指定されている場合に、index.htmlなどの最初に取得する必要のあるファイルをエントリしておくことで、それに関連するリソースを一括して取得することができる。
Capabilities要素には、放送リレートアプリを実行するに際し、受信機に要求される機能を示す情報が指定される。すなわち、受信機は、Capabilities要素に指定された機能を有する場合に、放送リレートアプリを実行可能であると判断する。
ApplicationBoundary要素は、放送リレートアプリが動作可能なURLの範囲を示す情報が指定される。ApplicationBoundary要素は、OriginURL要素の上位要素となる。OriginURL要素は、放送リレートアプリが動作可能なURLが指定される。
ContentItem要素は、Application要素の子要素であって、放送リレートアプリを構成するファイル(例えば、HTMLファイルやJPEGファイルなど)のキャッシュに関する情報が記述される。ContentItem要素は、URL要素、updatesAvail要素、pollPeriod属性、size属性、availInternet属性、及び、availBroadcast属性の上位要素となる。
URL属性には、キャッシュされるファイルのURLが指定される。URL要素は、entry属性の上位要素となる。entry属性には、URLがエントリされているか否かを示す情報が指定される。updatesAvail属性には、キャッシュされるファイルの更新に関する情報が指定される。pollPeriod属性には、キャッシュされるファイルをサーバに問い合わせる間隔を示す時間が指定される。
size属性には、キャッシュされるファイルのサイズを示す情報が指定される。availInternet属性には、キャッシュされるファイルが、インターネット配信されるか否かを示す情報が指定される。availBroadcast属性には、キャッシュされるファイルが、放送配信されるか否かを示す情報が指定される。
Event要素は、Application要素の子要素であって、放送リレートアプリの動作を制御するためのイベント情報が記述される。Event要素は、eventId属性、action属性、destination属性、diffusion属性、及び、Data要素の上位要素となる。
eventId属性には、イベントを識別するためのイベントIDが指定される。action属性には、イベントIDにより指定されるコマンドとして、"prep"、"exec"、"susp"、"kill"などが指定される。
プリペアコマンド("prep":prepare command)は、放送リレートアプリの取得又は登録を指示するためのコマンドである。ここで、放送リレートアプリの登録とは、取得した放送リレートアプリに対応付けて、その優先度と有効期限を記憶することを意味する。
エクスキュートコマンド("exec":execute command)は、放送リレートアプリの取得又は起動を指示するためのコマンドである。また、エクスキュートコマンドは、指定された放送リレートアプリが休止している場合に、その放送リレートアプリの実行を再開させる。
サスペンドコマンド("susp":suspend command)は、実行中の放送リレートアプリを中断して、休止させるためのコマンドである。キルコマンド("kill":kill command)は、実行中の放送リレートアプリを終了させるためのコマンドである。
destination属性には、イベントによる放送リレートアプリの制御対象となる機器が指定される。ここでは、受信機のほか、例えば、受信機に外部機器が接続される場合には、その外部機器がイベントの対象機器として指定される。
diffusion属性には、受信機においてイベントを適用するタイミングを確率的に分散させるための情報が指定される。この情報を設定することにより、複数の受信機がアプリケーションサーバから放送リレートアプリを取得するに際し、そのアクセスが一時期に集中せず分散させることができる。
Data要素には、イベントを適用する際に参照されるデータが指定される。Data要素は、dataID属性の上位要素となる。dataID属性には、データを識別するためのデータIDが指定される。
なお、図6の放送リレートアプリ用のTPTのシンタックスは一例であって、運用に合わせて要素や属性の追加や削除を行ってもよい。例えば、TPT要素に、independent属性を追加して、TPTが、放送リレートアプリ用であるか、あるいは、後述のブロードキャストインディペンデントアプリケーション(放送インディペンデントアプリ)用であるかを示す情報が指定されるようにしてもよい。この場合、図6のTPTは、放送リレートアプリ用であるので、例えば、"0"が指定される。
また、図6において、出現数(Cardinality)であるが、"1"が指定された場合にはその要素又は属性は必ず1つだけ指定され、"0..1"が指定された場合には、その要素又は属性を指定するかどうかは任意である。また、"1..N"が指定された場合には、その要素又は属性は1以上指定され、"0..N"が指定された場合には、その要素又は属性を1以上指定するかどうかは任意である。これらの出現数の意味は、後述する他のシンタックスでも同様とされる。
以上、デジタル放送信号を少なくとも受信することが可能な受信機で実行されるブロードキャストリレートアプリケーション(放送リレートアプリ)について説明した。
<2.ブロードキャストインディペンデントアプリケーション>
ブロードキャストインディペンデントアプリケーション(Broadcast Independent Application)は、例えばインターネット配信などの、放送局が放送波により提供する放送サービス以外の環境で取得されたアプリケーションである。ここでは、デジタル放送信号を受信するだけでなく、インターネット配信されるアプリケーションなどを受信可能な受信機により実行されるブロードキャストインディペンデントアプリケーションについて説明する。
なお、このブロードキャストインディペンデントアプリケーションは、例えばHTMLファイルなどから構成される。以下、ブロードキャストインディペンデントアプリケーションは、「放送インディペンデントアプリ」と称して説明する。また、Broadcast Independent Applicationは、「Broadcast Independent App」と略記する場合がある。
(放送インディペンデントアプリの画面遷移)
図7は、放送インディペンデントアプリの画面遷移を示す図である。
図7においては、AVコンテンツのみが再生されている画面である「放送全画面」と、AVコンテンツとともに放送インディペンデントアプリが実行されている画面である「アプリ+放送画面」の他に、「ポータル画面」、「アプリ画面」、及び、「アプリのみ表示画面」が示されている。
ここで、「ポータル画面」は、例えばアプリケーションストアなど、放送インディペンデントアプリを提供可能なポータルサイトが表示されている画面である。「アプリ画面」は、放送インディペンデントアプリが実行されている画面である。「アプリのみ表示画面」は、AVコンテンツの映像を表示させずに、放送インディペンデントアプリのみが表示されている画面である。
受信機においては、電源がオンされ、「ポータル画面」の表示が指示されると、「ポータル画面」が表示される。また、受信機では、「ポータル画面」に表示されたアイコンがユーザにより選択され、所望の放送インディペンデントアプリApp1の起動が指示された場合、選択された放送インディペンデントアプリApp1に対応した「アプリ画面」が表示される。
また、受信機は、実行中の放送インディペンデントアプリApp1によって、チャンネルXの放送番組が選局された場合、選局されたチャンネルXの放送番組の利用が認められるかどうかを判定する。すなわち、この判定処理では、放送局が放送波により提供する放送サービス以外の環境で取得された放送インディペンデントアプリが、放送サービスで提供される放送リソースを利用する場合に、その放送リソースの利用が認められるかどうかが判定されることになる。
放送インディペンデントアプリApp1によるチャンネルXの放送番組の利用が認められる場合、受信機の画面は、「アプリ画面」から「アプリ+放送画面1」に遷移する。この「アプリ+放送画面1」は、チャンネルXの放送番組の映像が縮小され、その余白部分に放送インディペンデントアプリApp1の情報が表示されたL字型画面となる。すなわち、チャンネルXの放送番組の映像は、子画面表示となる。
なお、放送リソースの利用が認められた放送インディペンデントアプリは、放送番組等のAVコンテンツを提供している放送事業者により動作継続が認められた放送リレートアプリであるとも言える。当該放送インディペンデントアプリは、その後、放送リレートアプリとして動作する場合がある。
ここで、「アプリ+放送画面1」を表示中に、ユーザによって、チャンネルがXからYに切り替えられた場合、放送インディペンデントアプリApp1によって、切り替え先のチャンネルYの放送番組の利用が認められるかどうかが判定される。放送インディペンデントアプリApp1によるチャンネルYの放送番組の利用が認められる場合、受信機の画面は「アプリ+放送画面1」から「アプリ+放送画面2」に遷移して、その画面内に子画面表示されている映像が、チャンネルXの放送番組の映像から、チャンネルYの放送番組の映像に切り替えられる。すなわち、チャンネルYの放送番組の映像は、子画面表示となる。
このように、放送インディペンデントアプリによる放送リソースの利用が認められる場合、放送リソースと共存できるので、「アプリ+放送画面」に遷移して、放送インディペンデントアプリとともに、放送リソースの映像が表示されることになる。他方、放送インディペンデントアプリによる放送リソースの利用が認められない場合には、遷移元の画面から、「アプリのみ表示画面」又は「放送全画面」に遷移することになる。以下、遷移元の画面から「アプリのみ表示画面」への遷移を、「ケースA(Case A)」と称し、遷移元の画面から「放送全画面」への遷移を、「ケースB(Case B)」と称して説明する。
図7において、「アプリ画面」を表示中に、放送インディペンデントアプリApp1によって、チャンネルXの放送番組が選局された場合に、放送インディペンデントアプリApp1によるチャンネルXの放送番組の利用が認められなかったとき、受信機の画面は、「アプリ画面」から、「アプリのみ表示画面」又は「放送全画面1」に遷移する。
ここで、受信機の画面が「アプリ画面」から「アプリのみ表示画面」に遷移した場合、すなわち、図中のケースAの場合、「アプリのみ表示画面」は、L字型画面となって、放送インディペンデントアプリApp1の情報は表示されるが、子画面表示されるはずのチャンネルXの放送番組の映像の代わりに、チャンネルXの放送番組の映像を表示させることができない旨のメッセージが表示される。このように、放送インディペンデントアプリによる放送リソースの利用が認められなかった場合に表示される「アプリのみ表示画面」では、放送インディペンデントアプリと放送リソースは共存せず、放送リソースの利用が制限されることになる。
なお、図7において、「アプリのみ表示画面」は、L字型画面であるとして説明するが、例えば、コの字型画面やUの字型画面の他、オーバーレイ表示画面など、放送リソースの映像を表示させずに、ユーザに放送リソースを利用できない旨を通知することができる画面であれば、他の表示形態を採用することができる。
また、受信機の画面が「アプリ画面」から「放送全画面1」に遷移した場合、すなわち、図中のケースBの場合、「放送全画面」は、チャンネルXの放送番組の映像を通常の大きさで表示して、放送インディペンデントアプリApp1は終了される。このように、放送インディペンデントアプリによる放送リソースの利用が認められなかった場合に表示される「放送全画面」では、放送インディペンデントアプリと放送リソースは共存せず、放送リソースの利用が制限されることになる。
同様に、「アプリ+放送画面1」を表示中に、放送インディペンデントアプリApp1によって、チャンネルYの放送番組が選局された場合に、放送インディペンデントアプリApp1によるチャンネルYの放送番組の利用が認められなかったとき、受信機の画面は、「アプリ+放送画面1」から、「アプリのみ表示画面」又は「放送全画面1」に遷移する。
ここで、受信機の画面が「アプリ+放送画面1」から「アプリのみ表示画面」に遷移した場合、すなわち、図中のケースAの場合、「アプリのみ表示画面」は、L字型画面となって、放送インディペンデントアプリApp1の情報は表示されるが、子画面表示されるはずのチャンネルYの放送番組の映像の代わりに、チャンネルYの放送番組の映像を表示させることができない旨のメッセージが表示される。
また、受信機の画面が「アプリ+放送画面1」から「放送全画面1」に遷移した場合、すなわち、図中のケースBの場合、「放送全画面1」は、チャンネルXの放送番組の映像を通常の大きさで表示して、放送インディペンデントアプリApp1は終了される。なお、この場合の遷移先を、「放送全画面1」の代わりに、「放送全画面2」として、チャンネルYの放送番組の映像を通常の大きさで表示するようにしてもよい。
このように、放送インディペンデントアプリによる放送リソースの利用が認められなかった場合に表示される「アプリのみ表示画面」又は「放送全画面」では、放送インディペンデントアプリと放送リソースは共存せず、放送リソースの利用が制限されることになる。
なお、「アプリ+放送画面2」を表示中に、放送リレートアプリApp1の終了が指示された場合、放送リレートアプリApp1は終了され、その画面は、「アプリ+放送画面2」から「ポータル画面」又は「放送全画面2」に遷移する。また、「アプリのみ表示画面」を表示中に、放送リレートアプリApp1の終了が指示された場合、放送リレートアプリApp1は終了され、その画面は、「アプリのみ表示画面」から「ポータル画面」又は「放送全画面1」に遷移する。ただし、この場合の遷移先を、「放送全画面1」の代わりに、「放送全画面2」としてもよい。
以上の画面遷移を行うことで、放送インディペンデントアプリによって、放送リソースが利用される場合に、放送リソースと共存できないときには、特定の放送インディペンデントアプリによる放送リソースの利用を制限することが可能となる。
例えば、放送インディペンデントアプリとして、ソーシャルネットワーキングサービス(SNS:Social Networking Service)のアプリケーションが起動されている場合に、当該アプリケーションによる、放送リソースの利用が認められなかったときには、ケースAの「アプリのみ表示画面」を表示させることで、ソーシャルネットワーキングサービスのアプリケーションの表示を優先させることができる。
また、例えば、放送インディペンデントアプリとして、AVコンテンツの視聴をサポートするアプリケーションが起動されている場合に、当該アプリケーションによる、放送リソースの利用が認められなかったときには、ケースBの「放送全画面」を表示させることで、AVコンテンツの表示を優先させることができる。
以下、図7の画面遷移を実現するための実施の形態として、第1の実施の形態と第2の実施の形態を順に説明する。
(1)第1の実施の形態
(システム全体の処理の流れ)
図8は、第1の実施の形態におけるシステム全体の処理の流れを示す図である。
図8においては、受信機、放送局の送信機、TPTサーバ、及び、アプリケーションサーバで実行される処理の流れが示されている。
受信機では、「ポータル画面」(図7)が表示されており(S11)、「ポータル画面」から、ユーザにより放送インディペンデントアプリが選択される(S12)。そして、放送インディペンデントアプリが選択されると、受信機は、TPTサーバにアクセスして、放送インディペンデントアプリ用のTPTを取得し、解析する(S13,S14)。
受信機は、放送インディペンデントアプリ用のTPTに基づいて、アプリケーションサーバにアクセスして、放送インディペンデントアプリを取得して起動する(S15)。これにより、受信機では、「アプリ画面」(図7)が表示される。また、受信機では、実行中の放送インディペンデントアプリによって、放送サービス(例えば、放送番組)が選局された場合、放送ストリームで伝送されるトリガ情報を取得して解析する(S17,S18)。
受信機は、トリガ情報に基づいて、TPTサーバにアクセスして、放送リレートアプリ用のTPTを取得し、解析する(S19,S20)。そして、受信機は、放送インディペンデントアプリ用のTPT(S13,S14で取得・解析)の記述内容と、放送リレートアプリ用のTPT(S19,S20で取得・解析)の記述内容を比較することで、放送インディペンデントアプリの放送リソースを利用する動作の継続が認められるかどうかの動作継続可否判定処理を行う(S21)。
具体的には、放送リレートアプリ用のTPTにおいて、放送サービスを選局した放送インディペンデントアプリと、グローバルIDが同一の値で、かつ、取得先のURL(ただし、entry="true")も同一の値となる放送リレートアプリであって、その時点でのイベントに、エクスキュートコマンド("exec")が指定されている放送リレートアプリの記述がある場合には、当該放送インディペンデントアプリによる放送リソースの利用を認めるものとする。
ステップS21の判定処理で、放送インディペンデントアプリによる放送リソースの利用が認められ、放送インディペンデントアプリの動作の継続が認められた場合、受信機では、「アプリ+放送画面」(図7)が表示される。なお、このように、放送リレートアプリ用のTPTによって、動作継続が認められた放送インディペンデントアプリは、放送局(放送事業者)により動作継続が認められた放送リレートアプリであるとも言える。したがって、その後、当該放送インディペンデントアプリは、放送リレートアプリとして動作することになる。
また、上記の条件を満たさずに、放送インディペンデントアプリによる放送リソースの利用が認められなかった場合、受信機は、放送インディペンデントアプリ用のTPTに記述される、Application要素のcontext属性(後述する図11又は図12参照)に基づいて、ケースAの「アプリのみ表示画面」(図7)、又は、ケースBの「放送全画面」(図7)を表示する。
以上のように、第1の実施の形態においては、放送インディペンデントアプリによって、放送リソースが利用される場合に、放送インディペンデントアプリ用のTPTの記述内容と、放送リレートアプリ用のTPTの記述内容が照合される。そして、その照合の結果に応じて、放送リソースの利用が認められた場合には、「アプリ+放送画面」(図7)が表示され、放送リソースの利用が認められない場合には、「アプリのみ表示画面」(図7)又は「放送全画面」(図7)が表示される。
これにより、放送インディペンデントアプリが、放送リソースの利用を認められない場合には、放送リソースを利用できないことになるため、特定の放送インディペンデントアプリによる、放送リソースの利用を制限することができる。
(受信機の状態遷移)
図9は、放送インディペンデントアプリを実行する受信機の状態遷移を示す図である。図9に示すように、受信機の状態は、「端末動作停止」、「放送受信(AVのみ再生)」、「放送受信(AV再生+放送リレートアプリ実行)」、「ポータル表示」、又は、「放送インディペンデントアプリ実行」のうち、いずれかの状態に遷移していると定義される。
「端末動作停止」は、受信機の電源がオフされている状態を表している。「放送受信(AVのみ再生)」は、放送番組等のAVコンテンツのみが再生されている状態を表している。この状態に遷移した受信機では、「放送全画面」(図7)が表示される。
「放送受信(AV再生+放送リレートアプリ実行)」は、AVコンテンツの再生とともに、放送リレートアプリ(放送インディペンデントアプリ)が実行されている状態を表している。すなわち、この状態は、放送リレートアプリが直接起動された場合だけでなく、放送インディペンデントアプリが放送リソースを利用する場合に、放送リレートアプリ用のTPTによって動作継続を認められ、実質的に放送リレートアプリとして動作している場合も含まれる。この状態に遷移した受信機では、「アプリ+放送画面」(図7)が表示される。
「ポータル表示」は、放送インディペンデントアプリを選択可能なポータルサイトが表示されている状態を表している。この状態に遷移した受信機では、「ポータル画面」(図7)が表示される。「放送インディペンデントアプリ実行」は、放送インディペンデントアプリが実行されている状態、又は、AVコンテンツの利用が制限され、放送インディペンデントアプリのみが実行されている状態を表している。この状態に遷移した受信機では、「アプリ画面」又は「アプリのみ表示画面」(図7)が表示される。
受信機が「端末動作停止」の状態に遷移している場合に、電源がオンされると、その状態は、「放送受信(AVのみ再生)」の状態に遷移する。また、受信機が「放送受信(AVのみ再生)」の状態に遷移している場合に、放送リレートアプリが起動されると、その状態は、「放送受信(AV再生+放送リレートアプリ実行)」の状態に遷移する。なお、受信機が「放送受信(AVのみ再生)」の状態に遷移している場合に、電源がオフされると、その状態は、「端末動作停止」の状態に遷移する。
受信機が「放送受信(AV再生+放送リレートアプリ実行)」の状態に遷移している場合に、放送リレートアプリ実行が終了されると、その状態は、「放送受信(AVのみ再生)」の状態に遷移する。なお、受信機が「放送受信(AV再生+放送リレートアプリ実行)」の状態に遷移している場合に、電源がオフされると、その状態は、「端末動作停止」の状態に遷移する。
また、受信機が「放送受信(AVのみ再生)」の状態に遷移している場合に、「ポータル画面」(図7)の表示が選択されると、その状態は、「ポータル表示」の状態に遷移する。受信機が「ポータル表示」の状態に遷移している場合に、放送インディペンデントアプリが起動されると、その状態は、「放送インディペンデントアプリ実行」の状態に遷移する。なお、受信機が「ポータル表示」の状態に遷移している場合に、放送表示が選択されると、その状態は「放送受信(AVのみ再生)」に遷移し、電源がオフされると、その状態は「端末動作停止」の状態に遷移する。
受信機が「放送インディペンデントアプリ実行」の状態に遷移している場合に、放送インディペンデントアプリにより放送選局用のAPI(Application Programming Interface)が実行され、放送リソースを利用するときには、その状態は、「放送受信(AV再生+放送リレートアプリ実行)」の状態に遷移する。すなわち、この場合、放送リレートアプリ用のTPTを用いて、放送インディペンデントアプリの動作継続可否判定処理が実行され、動作継続が認められた場合には、「放送受信(AV再生+放送リレートアプリ実行)」の状態に留まり、放送インディペンデントアプリは、いわば、放送リレートアプリとして動作を継続する。
それに対し、動作継続可否判定処理により動作継続が認められなかった場合には、その状態は、「放送インディペンデントアプリ実行」の状態、又は、「放送受信(AVのみ再生)」の状態に遷移する。すなわち、この場合、放送インディペンデントアプリによる放送リソースの利用が認められなかったので、ケースAの場合には、受信機は、「放送インディペンデントアプリ実行」の状態に遷移して、「アプリのみ表示画面」(図7)を表示する。また、ケースBの場合には、受信機は、「放送受信(AVのみ再生)」の状態に遷移して、「放送全画面」(図7)を表示する。
なお、受信機が「放送インディペンデントアプリ実行」の状態に遷移している場合に、放送インディペンデントアプリが終了されると、その状態は、「ポータル表示」の状態に遷移する。また、受信機が「放送インディペンデントアプリ実行」の状態に遷移している場合に、電源がオフされると、その状態は、「端末動作停止」の状態に遷移する。
(受信機の動作)
図10は、放送インディペンデントアプリを実行する受信機の動作を示す図である。
図10において、受信機は、ポータルサイトの表示が指示された場合、ネットワークを介してポータルサーバにアクセスし、ポータルサイトのウェブページを要求する(S31)。ポータルサーバは、受信機からの要求に応じて、ポータルサイトのウェブページを、ネットワークを介して受信機に送信する(S32)。受信機は、ポータルサーバから受信したポータルサイトのウェブページを表示する。
受信機では、ポータルサイトから放送インディペンデントアプリが選択された場合、ネットワークを介してTPTサーバにアクセスし、放送インディペンデントアプリ用のTPTを要求する(S33)。TPTサーバは、受信機からの要求に応じて、放送インディペンデントアプリ用のTPT(図中の「TPT」)を、ネットワークを介して受信機に送信する(S34)。受信機は、TPTサーバから送信される放送インディペンデントアプリ用のTPTを受信して、保持する。
そして、受信機は、放送インディペンデントアプリ用のTPTに基づいて、ネットワークを介してアプリケーションサーバにアクセスし、放送インディペンデントアプリを要求する(S35)。アプリケーションサーバは、受信機からの要求に応じて、放送インディペンデントアプリ(図中の「App」)を、ネットワークを介して受信機に送信する(S36)。受信機は、アプリケーションサーバから送信される放送インディペンデントアプリを受信して起動する。
ここで、受信機は、実行中の放送インディペンデントアプリによって、放送サービス(例えば、放送番組)が選局された場合、放送局の送信機によって、AVコンテンツ(図中の「Content」)とともに送信されるトリガ情報(図中の「Trigger」)を取得する(S37)。
受信機は、トリガ情報に基づいて、ネットワークを介してTPTサーバにアクセスし、放送リレートアプリ用のTPTを要求する(S38)。TPTサーバは、受信機からの要求に応じて、放送リレートアプリ用のTPT(図中の「TPT」)を、ネットワークを介して受信機に送信する(S39)。受信機は、TPTサーバから送信される放送リレートアプリ用のTPTを受信して取得する。
そして、受信機は、放送インディペンデントアプリ用のTPTと、放送リレートアプリ用のTPTに基づいて、放送インディペンデントアプリによる放送リソースを利用する動作の継続が認められるかどうかの動作継続可否判定処理を行う。
動作継続可否判定処理によって、放送インディペンデントアプリによる放送リソースの利用が認められた場合、受信機は、図9の「放送受信(AV再生+放送リレートアプリ実行)」の状態に遷移して、放送インディペンデントアプリは、放送リレートアプリとして動作を継続する。この場合、受信機では、「アプリ+放送画面」(図7)が表示される。
他方、放送インディペンデントアプリによる放送リソースの利用が認められなかった場合、受信機は、図9の「放送インディペンデントアプリ実行」の状態、又は、図9の「放送受信(AVのみ再生)」の状態に遷移して、ケースAの「アプリのみ表示画面」(図7)、又は、ケースBの「放送全画面」(図7)を表示する。
なお、図10においては、説明の都合上、放送インディペンデントアプリ用のTPTと、放送リレートアプリ用のTPTは、同一のTPTサーバにより提供されるとして説明したが、実際には、放送リレートアプリ用のTPTは放送事業者により提供され、放送インディペンデントアプリ用のTPTは、サードパーティ等の放送事業者以外の事業者により提供されることが想定されるため、それらのTPTが異なるTPTサーバにより提供されるようにしてもよい。
(放送インディペンデントアプリ用のTPTの記述例)
図11は、放送インディペンデントアプリ用のTPTの記述例を示す図である。
図11において、tpt要素のid属性には、"abc.tv/300"が指定され、tptVersion属性には、"1"が指定されている。また、tpt要素において、independent属性には、"1"が指定されているので、図11のTPTは、放送インディペンデントアプリ用のTPTであることを示している。
tpt要素には、1つのApplication要素が記述されている。このApplication要素のappID属性とglobalID属性によって、放送インディペンデントアプリには、アプリケーションID="1"と、グローバルID="abc.tv/100"が指定されている。また、context属性として、"app"が指定されているので、放送インディペンデントアプリによる放送リソースの利用が認められなかった場合に、受信機が、放送インディペンデントアプリの動作を継続して、ケースAの「アプリのみ表示画面」(図7)を表示することを示している。
Application要素にはまた、URL要素が記述されており、放送インディペンデントアプリの取得先のURLとして、"http://abc.com/app1"が指定されている。また、URL要素のentry属性には、"true"が指定されているので、このURLがエントリされていることを示している。
(放送インディペンデントアプリ用のTPTのシンタックス)
図12は、放送インディペンデントアプリ用のTPTのシンタックスの例を示す図である。図12のTPTは、例えば、XMLなどのマークアップ言語により記述される。
図12において、TPTのルート要素には、TPT要素が記述される。TPT要素には、放送インディペンデントアプリ用を取得するための情報等が記述される。
TPT要素は、majorProtocolVersion属性、minorProtocolVersion属性、id属性、independent属性、tptVersion属性、expireDate属性、baseURL属性、Capabilities要素、及び、Application要素の上位要素となる。
majorProtocolVersion属性には、TPTに定義された仕様のメジャーバージョンを示す情報が指定される。minorProtocolVersion属性には、TPTに定義された仕様のマイナーバージョンを示す情報が指定される。id属性には、TPTを識別するためのIDが指定される。
independent属性には、TPTが、放送リレートアプリ用であるか、あるいは、放送インディペンデントアプリ用であるかを示す情報が指定される。図12のTPTは、放送インディペンデントアプリ用であるので、"1"が指定される。
tptVersion属性には、TPTのバージョンを示す情報が指定される。expireDate属性には、TPTの有効期限を示す情報が指定される。baseURL属性には、TPT内で指定されるURLのベースとなるURLが指定される。従って、当該TPTで指定される他のURLには、ベースURLを基準とした場合の相対的なパスを指定すればよい。
Capabilities要素には、TPTを利用する場合に、受信機に要求される機能を示す情報が指定される。すなわち、受信機は、Capabilities要素に指定された機能を有する場合に、そのTPTを利用可能であると判断する。
Application要素は、TPT要素の子要素であって、放送インディペンデントアプリに関する情報が記述される。Application要素は、appID属性、appType属性、appName属性、globalId属性、appVersion属性、cookieSpace属性、expireDate属性、context属性、URL要素、ApplicationBoundary要素、及び、ContentItem要素の上位要素となる。
appID属性には、放送インディペンデントアプリを識別するためのアプリケーションIDが指定される。appType属性には、放送インディペンデントアプリのファイル属性等に関する情報が指定される。appName属性には、放送インディペンデントアプリの名称を示す情報が指定される。
globalId属性には、放送インディペンデントアプリをグローバルに識別可能なグローバルIDが指定される。グローバルIDは、例えばURIにより指定される。appVersion属性には、放送インディペンデントアプリのバージョンを示す情報が指定される。cookieSpace属性には、放送インディペンデントアプリを実行する際に必要となるストレージの容量を示す情報が指定される。expireDate属性には、放送インディペンデントアプリの有効期限を示す情報が指定される。
context属性には、放送インディペンデントアプリによる放送リソースの利用が認められなかった場合に、放送インディペンデントアプリの動作を継続するか否かを示す情報が指定される。例えば、context属性として、"app"が指定された場合、放送インディペンデントアプリの動作を継続して、ケースAの「アプリのみ表示画面」(図7)が表示されるようにする。また、context属性として、"broadcast"が指定された場合、放送インディペンデントアプリを終了して、ケースBの「放送全画面」(図7)が表示されるようにする。
URL要素には、放送インディペンデントアプリの取得先を示すURLが指定される。例えば、URL要素には、アプリケーションサーバのURLが指定される。URL要素は、entry属性の上位要素となる。entry属性には、URLがエントリされているか否かを示す情報が指定される。例えば、URL要素により複数のURLが指定されている場合に、index.htmlなどの最初に取得する必要のあるファイルをエントリしておくことで、それに関連するリソースを一括して取得することができる。
ApplicationBoundary要素は、放送インディペンデントアプリが動作可能なURLの範囲を示す情報が指定される。ApplicationBoundary要素は、OriginalURL要素の上位要素となる。OriginalURL要素は、放送インディペンデントアプリが動作可能なURLが指定される。
ContentItem要素は、放送インディペンデントアプリを構成するファイル(例えば、HTMLファイルやJPEGファイルなど)のキャッシュに関する情報が記述される。ContentItem要素は、URL要素、及び、size属性の上位要素となる。URL属性には、キャッシュされるファイルのURLが指定される。URL要素は、entry属性の上位要素となる。entry属性には、URLがエントリされているか否かを示す情報が指定される。size属性には、キャッシュされるファイルのサイズを示す情報が指定される。
なお、図12の放送インディペンデントアプリ用のTPTのシンタックスは一例であって、運用に合わせて要素や属性の追加や削除を行ってもよい。
また、図12の放送インディペンデントアプリ用のTPTと、図6の放送リレートアプリ用のTPTを比較すれば、放送インディペンデントアプリ用のTPTは、independent属性と、Application要素のcontext属性が追加されているが、放送リレートアプリ用のTPTのサブセットとなっている。また、図12の放送インディペンデントアプリ用のTPTは、特定の放送インディペンデントアプリ用となるため、1つのApplication要素のみが記述され、さらに、コマンドが、エクスキュートコマンド("exec")のみとされるので、イベントに関する記述が省かれている。
(2)第2の実施の形態
(システム全体の処理の流れ)
図13は、第2の実施の形態におけるシステム全体の処理の流れを示す図である。
図13においては、受信機、放送局の送信機、TPTサーバ、及び、アプリケーションサーバで実行される処理の流れが示されている。
受信機では、「ポータル画面」(図7)が表示されており(S41)、ポータル画面から、ユーザにより放送インディペンデントアプリが選択される(S42)。そして、放送インディペンデントアプリが選択されると、受信機は、TPTサーバにアクセスして、放送インディペンデントアプリ用のTPTを取得する(S43)。
受信機は、放送局公開鍵証明書をあらかじめ保持しており、この放送局公開鍵証明書を用いて、放送インディペンデントアプリ用のTPTに記述された電子署名を検証する(S44)。受信機は、ステップS44の電子署名の検証に成功した場合、放送インディペンデントアプリ用のTPTに基づいて、アプリケーションサーバにアクセスして、放送インディペンデントアプリを取得して起動する(S45)。これにより、受信機では、「アプリ画面」(図7)が表示される。
その後、実行中の放送インディペンデントアプリによって、放送サービスの選局等の放送リソースへのアクセス要求が発生した場合(S46)、受信機は、放送インディペンデントアプリ用のTPTに基づいて、放送インディペンデントアプリによる放送リソースの利用を認めるかどうかのアクセス可否判定処理を行う(S47)。
具体的には、アクセス可否判定処理では、放送インディペンデントアプリ用のTPTにおいて、例えば、放送局(放送サービス)ごとのアクセス権限(以下、「放送パーミッション情報」ともいう。)が記述されているので、放送サービスを選局した放送インディペンデントアプリが、選局を指示した放送サービスのアクセス権限を有しているかどうかが判定される。
ステップS47の判定処理で、放送インディペンデントアプリが、放送サービスのアクセス権限を有していると判定された場合、放送インディペンデントアプリによる放送リソースの利用が認められ、受信機では、「アプリ+放送画面」(図7)が表示される。
また、ステップS47の判定処理で、放送インディペンデントアプリが、放送サービスのアクセス権限を有していないと判定された場合、放送インディペンデントアプリによる放送リソースの利用は認められない。この場合、受信機は、放送インディペンデントアプリ用のTPTに記述される、Application要素のcontext属性(後述する図16又は図17参照)に基づいて、ケースAの「アプリのみ表示画面」(図7)、又は、ケースBの「放送全画面」(図7)を表示する。
以上のように、第2の実施の形態においては、放送インディペンデントアプリによって、放送リソースが利用される場合に、放送インディペンデントアプリ用のTPTに記述された放送パーミッション情報を用い、当該放送インディペンデントアプリが、放送サービスのアクセス権限を有しているかどうかが判定される。そして、放送リソースへのアクセス権限を有している場合には、「アプリ+放送画面」(図7)が表示され、放送リソースへのアクセス権限を有していない場合には、「アプリのみ表示画面」(図7)又は「放送全画面」(図7)が表示される。
これにより、放送インディペンデントアプリが、放送リソースへのアクセス権限を有していない場合には、放送リソースを利用できないことになるため、特定の放送インディペンデントアプリによる、放送リソースの利用を制限することができる。
(受信機の状態遷移)
図14は、放送インディペンデントアプリを実行する受信機の状態遷移を示す図である。図14に示すように、受信機の状態は、「端末動作停止」、「放送受信(AVのみ再生)」、「放送受信(AV再生+放送リレートアプリ実行)」、「ポータル表示」、「放送インディペンデントアプリ実行」、又は、「放送受信(AV再生+放送インディペンデントアプリ実行)」のうち、いずれかの状態に遷移していると定義される。
「端末動作停止」は、受信機の電源がオフされている状態を表している。「放送受信(AVのみ再生)」は、放送番組等のAVコンテンツのみが再生されている状態を表している。この状態に遷移した受信機では、「放送全画面」(図7)が表示される。「放送受信(AV再生+放送リレートアプリ実行)」は、AVコンテンツの再生とともに、放送リレートアプリが実行されている状態を表している。この状態に遷移した受信機では、「アプリ+放送画面」(図7)が表示される。
「ポータル表示」は、放送インディペンデントアプリを選択可能なポータルサイトが表示されている状態を表している。この状態に遷移した受信機では、「ポータル画面」(図7)が表示される。
「放送インディペンデントアプリ実行」は、放送インディペンデントアプリが実行されている状態、又は、AVコンテンツの利用が制限され、放送インディペンデントアプリのみが実行されている状態を表している。この状態に遷移した受信機では、「アプリ画面」又は「アプリのみ表示画面」(図7)が表示される。
「放送受信(AV再生+放送インディペンデントアプリ実行)」は、AVコンテンツの再生とともに、放送インディペンデントアプリが実行されている状態を表している。この状態に遷移した受信機では、「アプリ+放送画面」(図7)が表示される。
受信機が「端末動作停止」の状態に遷移している場合に、電源がオンされると、その状態は、「放送受信(AVのみ再生)」の状態に遷移する。また、受信機が「放送受信(AVのみ再生)」の状態に遷移している場合に、放送リレートアプリが起動されると、その状態は、「放送受信(AV再生+放送リレートアプリ実行)」の状態に遷移する。また、受信機が「放送受信(AV再生+放送リレートアプリ実行)」の状態に遷移している場合、放送リレートアプリが終了されると、その状態は、「放送受信(AVのみ再生)」の状態に遷移する。
なお、受信機が「放送受信(AVのみ再生)」又は「放送受信(AV再生+放送リレートアプリ実行)」の状態に遷移している場合に、電源がオフされると、その状態は、「端末動作停止」の状態に遷移する。
また、受信機が「放送受信(AVのみ再生)」の状態に遷移している場合に、「ポータル画面」(図7)の表示が選択されると、その状態は、「ポータル表示」の状態に遷移する。受信機が「ポータル表示」の状態に遷移している場合に、放送インディペンデントアプリが起動されると、その状態は、「放送インディペンデントアプリ実行」の状態に遷移する。なお、受信機が「ポータル表示」の状態に遷移している場合に、放送表示が選択されると、その状態は「放送受信(AVのみ再生)」に遷移し、電源がオフされると、その状態は「端末動作停止」の状態に遷移する。
受信機が「放送インディペンデントアプリ実行」の状態に遷移している場合に、放送選局用のAPIが実行され、放送リソースを利用するときには、その状態は、「放送受信(AV再生+放送インディペンデントアプリ実行)」の状態に遷移する。すなわち、この場合、放送インディペンデントアプリ用のTPTを用いて、放送インディペンデントアプリの放送リソースに対するアクセス可否判定処理が実行され、アクセス権限を有している場合には、「放送受信(AV再生+放送インディペンデントアプリ実行)」の状態に留まり、放送インディペンデントアプリとして動作を継続する。
それに対し、アクセス可否判定処理によりアクセス権限を有していない場合には、その状態は、その状態は、「放送インディペンデントアプリ実行」の状態、又は、「放送受信(AVのみ再生)」の状態に遷移する。すなわち、この場合、放送インディペンデントアプリによる放送リソースの利用が認められなかったので、ケースAの場合には、受信機は、「放送インディペンデントアプリ実行」の状態に遷移して、「アプリのみ表示画面」(図7)を表示する。また、ケースBの場合には、受信機は、「放送受信(AVのみ再生)」の状態に遷移して、「放送全画面」(図7)を表示する。
なお、受信機が「放送インディペンデントアプリ実行」の状態に遷移している場合に、放送インディペンデントアプリが終了されると、その状態は、「ポータル表示」の状態に遷移する。また、受信機が「放送インディペンデントアプリ実行」又は「放送受信(AV再生+放送インディペンデントアプリ実行)」の状態に遷移している場合に、電源がオフされると、その状態は、「端末動作停止」の状態に遷移する。
(受信機の動作)
図15は、放送インディペンデントアプリを実行する受信機の動作を示す図である。
図15において、受信機は、ポータルサイトの表示が指示された場合、ネットワークを介してポータルサーバにアクセスし、ポータルサイトのウェブページを要求する(S51)。ポータルサーバは、受信機からの要求に応じて、ポータルサイトのウェブページを、ネットワークを介して受信機に送信する(S52)。受信機は、ポータルサーバから受信したポータルサイトのウェブページを表示する。
受信機では、ポータルサイトから放送インディペンデントアプリが選択された場合、ネットワークを介してTPTサーバにアクセスし、放送インディペンデントアプリ用のTPTを要求する(S53)。TPTサーバは、受信機からの要求に応じて、放送インディペンデントアプリ用のTPT(図中の「TPT」)を、ネットワークを介して受信機に送信する(S54)。受信機は、TPTサーバから送信される放送インディペンデントアプリ用のTPTを受信して、保持する。
受信機は、あらかじめ保持している放送局公開鍵証明書を用い、放送インディペンデントアプリ用のTPTに記述された電子署名を検証する。そして、受信機は、電子署名の検証に成功した場合には、放送インディペンデントアプリ用のTPTに基づいて、アプリケーションサーバにアクセスし、放送インディペンデントアプリを要求する(S55)。アプリケーションサーバは、受信機からの要求に応じて、放送インディペンデントアプリ(図中の「App」)を、ネットワークを介して受信機に送信する(S56)。受信機は、アプリケーションサーバから送信される放送インディペンデントアプリを受信して起動する。
ここで、受信機は、実行中の放送インディペンデントアプリによって、放送サービスの選局等の放送リソースへのアクセス要求が発生した場合、放送インディペンデントアプリ用のTPTに記述された放送パーミッション情報に基づいて、放送インディペンデントアプリが、選局を指示した放送リソースへのアクセス権限を有しているかどうかのアクセス可否判定処理を行う。
アクセス可否判定処理によって、放送インディペンデントアプリによる放送リソースへのアクセス権限が認められた場合、受信機は、図14の「放送受信(AV再生+放送インディペンデントアプリ実行)」の状態に遷移して、「アプリ+放送画面」(図7)を表示する。他方、放送インディペンデントアプリによる放送リソースへのアクセス権限が認められなかった場合、受信機は、図14の「放送インディペンデントアプリ実行」の状態、又は、図14の「放送受信(AVのみ再生)」の状態に遷移して、ケースAの「アプリのみ表示画面」(図7)、又は、ケースBの「放送全画面」(図7)を表示する。
(放送インディペンデントアプリ用のTPTの記述例)
図16は、放送インディペンデントアプリ用のTPTの記述例を示す図である。
図16において、tpt要素のid属性には、"abc.tv/300"が指定され、tptVersion属性には、"1"が指定されている。また、tpt要素において、independent属性には、"1"が指定されているので、図16のTPTは、放送インディペンデントアプリ用のTPTであることを示している。
tpt要素には、Application要素とSignature要素が記述されている。このApplication要素のappID属性とglobalID属性によって、放送インディペンデントアプリには、アプリケーションID="1"と、グローバルID="abc.tv/100"が指定されている。また、context属性として、"app"が指定されているので、放送インディペンデントアプリによる放送リソースへのアクセス権が認められなかった場合に、受信機が、放送インディペンデントアプリの動作を継続して、ケースAの「アプリのみ表示画面」(図7)を表示することを示している。
Application要素にはまた、BroadcastPermission要素とURL要素が記述されている。BroadcastPermission要素では、Permission要素によって、放送リソースごとのアクセス権限として、"8000"が指定されているので、受信機では、この放送パーミッション情報を用いて、インディペンデントアプリが、RFチャンネルIDが"128"である放送局の放送サービスへのアクセス権限を有しているかどうかのアクセス可否判定処理が行われる。
URL要素には、放送インディペンデントアプリの取得先のURLとして、"http://abc.com/app1"が指定されている。また、URL要素のentry属性には、"true"が指定されているので、このURLがエントリされていることを示している。
Signature要素には、署名情報として、図16のTPTを受信した受信機で実行される、放送局公開鍵証明書を用いた検証処理で用いられる電子署名が記述される。
(放送インディペンデントアプリ用のTPTのシンタックス)
図17は、放送インディペンデントアプリ用のTPTのシンタックスの例を示す図である。図17のTPTは、例えば、XMLなどのマークアップ言語により記述される。
図17において、TPTのルート要素には、TPT要素が記述される。TPT要素には、放送インディペンデントアプリ用を取得するための情報の他、検証処理やアクセス可否判定処理等で用いられる情報などが記述される。
TPT要素は、majorProtocolVersion属性、minorProtocolVersion属性、id属性、independent属性、tptVersion属性、expireDate属性、baseURL属性、Capabilities要素、Application要素、及び、Signature要素の上位要素となる。
majorProtocolVersion属性には、TPTに定義された仕様のメジャーバージョンを示す情報が指定される。minorProtocolVersion属性には、TPTに定義された仕様のマイナーバージョンを示す情報が指定される。id属性には、TPTを識別するためのIDが指定される。
independent属性には、TPTが、放送リレートアプリ用であるか、あるいは、放送インディペンデントアプリ用であるかを示す情報が指定される。図17のTPTは、放送インディペンデントアプリ用であるので、"1"が指定される。
tptVersion属性には、TPTのバージョンを示す情報が指定される。expireDate属性には、TPTの有効期限を示す情報が指定される。baseURL属性には、TPT内で指定されるURLのベースとなるURLが指定される。従って、当該TPTで指定される他のURLには、ベースURLを基準とした場合の相対的なパスを指定すればよい。
Capabilities要素には、TPTを利用する場合に、受信機に要求される機能を示す情報が指定される。すなわち、受信機は、Capabilities要素に指定された機能を有する場合に、そのTPTを利用可能であると判断する。
Application要素は、TPT要素の子要素であって、放送インディペンデントアプリに関する情報が記述される。Application要素は、appID属性、appType属性、appName属性、globalId属性、appVersion属性、cookieSpace属性、expireDate属性、context属性、BroadcastPermission要素、URL要素、ApplicationBoundary要素、及び、ContentItem要素の上位要素となる。
appID属性には、放送インディペンデントアプリを識別するためのアプリケーションIDが指定される。appType属性には、放送インディペンデントアプリのファイル属性等に関する情報が指定される。appName属性には、放送インディペンデントアプリの名称を示す情報が指定される。
globalId属性には、放送インディペンデントアプリをグローバルに識別可能なグローバルIDが指定される。グローバルIDは、例えばURIにより指定される。appVersion属性には、放送インディペンデントアプリのバージョンを示す情報が指定される。cookieSpace属性には、放送インディペンデントアプリを実行する際に必要となるストレージの容量を示す情報が指定される。expireDate属性には、放送インディペンデントアプリの有効期限を示す情報が指定される。
context属性には、放送インディペンデントアプリによる放送リソースへのアクセス権限が認められなかった場合に、放送インディペンデントアプリの動作を継続するか否かを示す情報が指定される。例えば、context属性として、"app"が指定された場合、放送インディペンデントアプリの動作を継続して、ケースAの「アプリのみ表示画面」(図7)が表示されるようにする。また、context属性として、"broadcast"が指定された場合、放送インディペンデントアプリを終了して、ケースBの「放送全画面」(図7)が表示されるようにする。
BroadcastPermission要素には、放送リソースごとのアクセス権限としての放送パーミッション情報が指定される。なお、BroadcastPermission要素の詳細な内容については、図18を参照して後述する。
URL要素には、放送インディペンデントアプリの取得先を示すURLが指定される。例えば、URL要素には、アプリケーションサーバのURLが指定される。URL要素は、entry属性の上位要素となる。entry属性には、URLがエントリされているか否かを示す情報が指定される。例えば、URL要素により複数のURLが指定されている場合に、index.htmlなどの最初に取得する必要のあるファイルをエントリしておくことで、それに関連するリソースを一括して取得することができる。
ApplicationBoundary要素は、放送インディペンデントアプリが動作可能なURLの範囲を示す情報が指定される。ApplicationBoundary要素は、OriginalURL要素の上位要素となる。OriginalURL要素は、放送インディペンデントアプリが動作可能なURLが指定される。
ContentItem要素は、放送インディペンデントアプリを構成するファイル(例えば、HTMLファイルやJPEGファイルなど)のキャッシュに関する情報が記述される。ContentItem要素は、URL要素、及び、size属性の上位要素となる。URL属性には、キャッシュされるファイルのURLが指定される。URL要素は、entry属性の上位要素となる。entry属性には、URLがエントリされているか否かを示す情報が指定される。size属性には、キャッシュされるファイルのサイズを示す情報が指定される。
Signature要素には、TPT要素の子要素であって、署名情報として、TPTを受信した受信機で実行される、放送局公開鍵証明書を用いた検証処理で用いられる電子署名が記述される。
なお、図17の放送インディペンデントアプリ用のTPTのシンタックスは一例であって、運用に合わせて要素や属性の追加や削除を行ってもよい。
また、図17の放送インディペンデントアプリ用のTPTと、図6の放送リレートアプリ用のTPTを比較すれば、放送インディペンデントアプリ用のTPTは、independent属性と、Application要素のcontext属性及びBroadcastPermission要素と、Signature要素が追加されているが、放送リレートアプリ用のTPTのサブセットとなっている。また、図17の放送インディペンデントアプリ用のTPTは、特定の放送インディペンデントアプリ用となるため、1つのApplication要素のみが記述され、さらに、コマンドが、エクスキュートコマンド("exec")のみとされるので、イベントに関する記述が省かれている。
(BroadcastPermission要素の詳細な内容)
図18は、図17のBroadcastPermission要素の詳細な内容を示す図である。
BroadcastPermission要素には、放送リソースごとのアクセス権限としての放送パーミッション情報が指定される。BroadcastPermission要素は、RFChannelId属性、BBPStreamId属性、ServiceId属性、及び、Permission要素の上位要素となる。
RFChannelId属性には、IP(Internet Protocol)伝送方式のデジタル放送における所定の周波数帯域を有する放送波において、放送事業者(放送局)ごとに割り当てられるRFチャンネルIDが指定される。また、BBPStreamId属性には、RFチャンネルIDにより識別される放送波で伝送されるBBPストリーム(Base Band Packet Stream)に割り当てられるBBPストリームIDが指定される。ServiceId属性には、BBPストリームIDにより識別されるBBPストリームで伝送される、ビデオやオーディオのデータからなるサービスごとに割り当てられるサービスIDが指定される。
すなわち、このIP伝送方式のID体系としては、MPEG2-TS(Moving Picture Expert Group 2 - Transport Stream)方式で用いられているネットワークIDと、トランスポートストリームIDと、サービスIDの組み合わせ(以下、「トリプレット(Triplet)」という。)に対応する構成が採用され、このトリプレットによって、放送ネットワーク内のBBPストリーム構成とサービス構成が示される。ただし、IP伝送方式のID体系においては、RFチャンネルIDとBBPストリームIDが、MPEG2-TS方式におけるネットワークIDとトランスポートストリームIDに相当している。
Permission要素には、トリプレットにより指定される放送リソースごとのアクセス権限がビットマップにより指定される。例えば、図19のパーミッションビットマップのアサイン例に示すように、16ビットのうち、MSB(Most Significant Bit)のビットに、放送番組の映像の子画面参照許可の可否を示す情報が割り当てられている場合を想定する。この場合において、RFチャンネルID="128"が指定されているときには、インディペンデントアプリが、RFチャンネルIDが"128"である放送局の放送サービスに関して放送番組の映像の子画面表示参照許可のアクセス権限を有していることになる。
したがって、この場合、受信機では、実行中の放送インディペンデントアプリによって、RFチャンネルIDが"128"である放送局の放送サービスへのアクセス要求が発生した場合に、図14の「放送受信(AV再生+放送インディペンデントアプリ実行)」の状態に遷移して、「アプリ+放送画面」(図7)を表示することになる。すなわち、「アプリ+放送画面」(図7)では、放送インディペンデントアプリの動作が継続するとともに、RFチャンネルIDが"128"である放送局の放送番組の映像が子画面表示される。
なお、図19のパーミッションビットマップのアサイン例では、放送サービスの映像の子画面表示参照許可のアクセス権限を説明したが、例えば、オーバーレイ表示参照許可のアクセス権限や、電子サービスガイド(ESG:Electronic Service Guide)表示参照許可のアクセス権限など、その他のアクセス権限を指定することができる。
以上、デジタル放送信号を受信するだけでなく、インターネット配信されるアプリケーションなどを受信可能な受信機で実行されるブロードキャストインディペンデントアプリケーション(放送インディペンデントアプリ)について説明した。
<3.システム構成>
(放送通信システムの構成例)
図20は、放送通信システムの構成例を示す図である。なお、システムとは、複数の構成要素(装置等)の集合を意味する。
図20の放送通信システム1は、上述した第1の実施の形態と第2の実施の形態を実現するための構成を有している。すなわち、図20において、放送通信システム1は、送信装置10、受信装置20、ポータルサーバ30、アプリケーションサーバ40、TPTサーバ50−1、及び、TPTサーバ50−2から構成される。また、受信装置20は、ポータルサーバ30、アプリケーションサーバ40、TPTサーバ50−1、及び、TPTサーバ50−2と、ネットワーク90を介して、相互に接続されている。
送信装置10は、放送番組等のAVコンテンツを、デジタル放送信号により送信する。また、送信装置10は、放送リレートアプリの動作を制御するためのトリガ情報を、デジタル放送信号に含めて送信する。なお、トリガ情報は、AVコンテンツのビデオデータ又はオーディオデータに挿入するか、あるいは、デジタル放送信号により伝送されるストリーム内に配置することで送信される。
なお、送信装置10は、上述した送信機(例えば、図10,図15の「Broadcaster」)に対応するものであり、放送事業者により提供され、その放送局内に配置される。また、送信装置10は、放送局公開鍵証明書のファイルを、FLUTEセッションで伝送することができる。
受信装置20は、送信装置10から送信されたデジタル放送信号を受信して、AVコンテンツの映像及び音声を取得し、出力する。
受信装置20は、ネットワーク90を介してポータルサーバ30にアクセスし、ポータルサイトのウェブページを取得する。受信装置20は、ポータルサーバ30から取得したウェブページに基づいて、ポータルサイトを表示する。
受信装置20は、ネットワーク90を介してアプリケーションサーバ40にアクセスし、放送インディペンデントアプリを取得する。受信装置20は、アプリケーションサーバ40から取得した放送インディペンデントアプリを実行する。
受信装置20は、ネットワーク90を介してTPTサーバ50−1にアクセスし、放送インディペンデントアプリ用のTPTを取得する。また、受信装置20は、ネットワーク90を介してTPTサーバ50−2にアクセスし、放送リレートアプリ用のTPTを取得する。受信装置20は、TPTサーバ50−1から取得した放送インディペンデントアプリ用のTPT、又は、TPTサーバ50−2から取得した放送リレートアプリ用のTPTに基づいて、放送インディペンデントアプリの動作を制御する。
なお、受信装置20は、上述した受信機(例えば、図10,図15の「Receiver(TV)」)に対応するものであり、家庭内などに配置される。また、受信装置20は、テレビ受像機として構成される他、ディスプレイやスピーカを有さない構成とすることで、ビデオレコーダ等の電子機器に内蔵されるようにしてもよい。
ポータルサーバ30は、受信装置20からの要求に応じて、ポータルサイトのウェブページを、ネットワーク90を介して受信装置20に提供する。なお、ポータルサーバ30は、上述したポータルサーバ(例えば、図10,図15の「Portal Server」)に対応するものである。
アプリケーションサーバ40は、受信装置20からの要求に応じて、放送インディペンデントアプリを、ネットワーク90を介して受信装置20に提供する。なお、送信装置10は、上述したアプリケーションサーバ(例えば、図10,図15の「App Server」)に対応するものであり、アプリケーションの制作事業者、放送事業者その他の事業者により提供される。
TPTサーバ50−1は、受信装置20からの要求に応じて、放送インディペンデントアプリ用のTPTを、ネットワーク90を介して受信装置20に提供する。また、TPTサーバ50−2は、受信装置20からの要求に応じて、放送リレートアプリ用のTPTを、ネットワーク90を介して受信装置20に提供する。
なお、TPTサーバ50−1は、上述したTPTサーバ(例えば、図10,図15の「TPT Server」)に対応するものであり、サードパーティ等の放送事業者以外の事業者により提供される。また、TPTサーバ50−2は、上述したTPTサーバ(例えば、図10,図15の「TPT Server」)に対応するものであり、放送事業者により提供される。また、以下の説明で、TPTサーバ50−1とTPTサーバ50−2を、特に区別する必要がない場合には、単にTPTサーバ50と称して説明する。なお、TPTサーバ50は、TPTを送信する送信装置であるとも言える。
放送通信システム1は、以上のように構成される。次に、図20の放送通信システム1を構成する各装置の構成例について説明する。
(送信装置の構成例)
図21は、図20の送信装置の構成例を示す図である。
図21において、送信装置10は、オーディオデータ取得部111、オーディオエンコーダ112、ビデオデータ取得部113、ビデオエンコーダ114、トリガ情報生成部115、多重化部116、及び、送信部117から構成される。
オーディオデータ取得部111は、外部のサーバ、マイクロフォン、又は、記録媒体等から、AVコンテンツのオーディオデータを取得し、オーディオエンコーダ112に供給する。オーディオエンコーダ112は、オーディオデータ取得部111から供給されるオーディオデータを、MPEG(Moving Picture Experts Group)等の符号化方式に準拠して符号化し、多重化部116に供給する。
ビデオデータ取得部113は、外部のサーバ、カメラ、又は記録媒体等から、AVコンテンツのビデオデータを取得し、ビデオエンコーダ114、及び、トリガ情報生成部115に供給する。ビデオエンコーダ114は、ビデオデータ取得部113から供給されるビデオデータを、MPEG等の符号化方式に準拠して符号化し、多重化部116に供給する。
トリガ情報生成部115は、ビデオデータ取得部113から供給されるビデオデータに対応するAVコンテンツの進行にあわせてトリガ情報を生成し、ビデオエンコーダ114又は多重化部116に供給する。ビデオエンコーダ114は、ビデオデータの符号化を行うに際して、ビデオデータに、トリガ情報生成部115から供給されるトリガ情報を埋め込んで符号化することができる。
多重化部116は、オーディオエンコーダ112からのオーディオデータと、ビデオエンコーダ114からのビデオデータとを多重化して、その結果得られるストリームを、送信部117に供給する。また、多重化部116は、トリガ情報生成部115からトリガ情報が供給された場合には、オーディオデータとビデオデータに、さらにトリガ情報を多重化して、ストリームを生成する。
送信部117は、多重化部116から供給されるストリームを、アンテナ118を介して、デジタル放送信号として送信する。
なお、図21においては、トリガ情報を、ビデオデータに埋め込まれる場合と、ストリームに多重化される場合を例示したが、例えば、トリガ情報をオーディオデータに埋め込むなど、それ以外の方法によって、トリガ情報を配置するようにしてもよい。
(受信装置の構成例)
図22は、図20の受信装置の構成例を示す図である。
図22において、受信装置20は、チューナ212、多重分離部213、オーディオデコーダ214、オーディオ出力部215、ビデオデコーダ216、ビデオ出力部217、トリガ情報取得部218、制御部219、メモリ220、入力部221、通信部222、アプリケーションエンジン223、及び、キャッシュメモリ224から構成される。
チューナ212は、アンテナ211を介して受信されたデジタル放送信号を選局・復調し、その結果得られるストリームを多重分離部213に供給する。多重分離部213は、チューナ212から供給されるストリームを、オーディオデータと、ビデオデータに分離し、それぞれをオーディオデコーダ214と、ビデオデコーダ216に供給する。
オーディオデコーダ214は、多重分離部213から供給されるオーディオデータを、オーディオエンコーダ112(図21)による符号化方式に対応する復号方式で復号し、その結果得られるオーディオデータを、オーディオ出力部215に供給する。
オーディオ出力部215は、オーディオデコーダ214から供給されるオーディオデータを、スピーカ(不図示)に出力する。スピーカは、オーディオ出力部215から供給されるオーディオデータに対応する音声を出力する。
ビデオデコーダ216は、多重分離部213から供給されるビデオデータを、ビデオエンコーダ114(図21)による符号化方式に対応する復号方式で復号し、その結果得られるビデオデータを、ビデオ出力部217及びトリガ情報取得部218に供給する。
ビデオ出力部217は、ビデオデコーダ216から供給されるビデオデータを、ディスプレイ(不図示)に出力する。ディスプレイは、ビデオ出力部217から供給されるビデオデータに対応する映像を表示する。これにより、例えば、「放送全画面」(図7)が表示される。
トリガ情報取得部218は、ビデオデコーダ216から供給されるビデオデータを常に監視して、ビデオデータに埋め込まれているトリガ情報を取得し、制御部219に供給する。なお、トリガ情報がストリームに配置されている場合には、トリガ情報取得部218は、多重分離部213により分離されたトリガ情報を含むパケットを監視し、そこからトリガ情報を取得することになる。
制御部219は、入力部221からの操作信号等に基づいて、受信装置20の各部の動作を制御する。メモリ220には、制御部219からの制御に従い、各種のデータを記憶する。入力部221は、ユーザからの操作を受け付けて、それに対応する操作信号を制御部219に供給する。また、制御部219は、トリガ情報取得部218から供給されるトリガ情報に基づいて、通信部222を制御する。
通信部222は、制御部219からの制御に従い、ネットワーク90を介してTPTサーバ50にアクセスし、TPTを要求する。通信部222は、TPTサーバ50からネットワーク90を介して送信されるTPTを受信して、制御部219に供給する。制御部219は、通信部222から供給されるTPTを取得して、メモリ220に記憶させる。また、制御部219は、TPTに基づいて、アプリケーションエンジン223を制御する。
アプリケーションエンジン223は、制御部219からの制御に従い、通信部222を制御して、ネットワーク90を介してアプリケーションサーバ40にアクセスし、放送インディペンデントアプリを要求する。通信部222は、アプリケーションサーバ40からネットワーク90を介して送信される放送インディペンデントアプリを受信し、キャッシュメモリ224に保持させる。
アプリケーションエンジン223は、制御部219からの制御に従い、キャッシュメモリ224に保持されている放送インディペンデントアプリを読み出して実行する。このようにして実行される放送インディペンデントアプリのビデオデータは、ビデオ出力部217に供給される。
ビデオ出力部217は、アプリケーションエンジン223から供給されるビデオデータの映像を、ディスプレイに表示させる。これにより、例えば、「アプリ画面」(図7)や「アプリのみ表示画面」(図7)が表示される。また、ビデオ出力部217は、アプリケーションエンジン223から供給されるビデオデータを、ビデオデコーダ216から供給されたビデオデータと合成し、それにより得られる映像を、ディスプレイに表示させる。これにより、例えば、「アプリ+放送画面」(図7)が表示される。
なお、ポータルサイトのウェブページは、アプリケーションサーバ40から取得される放送インディペンデントアプリと同様にして、ポータルサーバ30から取得され、その映像が、ビデオ出力部217を介してディスプレイに表示される。これにより、例えば、「ポータル画面」(図7)が表示される。
(制御部の構成例)
図23は、図22の制御部219における、放送インディペンデントアプリに関する処理を行う部分の機能的構成例を示す図である。
図23において、制御部219は、TPT取得部251、TPT解析部252、アプリケーション制御部253、及び、トリガ情報解析部254から構成される。
TPT取得部251は、通信部222(図22)を制御して、ネットワーク90を介してTPTサーバ50−1にアクセスし、放送インディペンデントアプリ用のTPTを取得し、TPT解析部252に供給する。
また、TPT取得部251は、後述のトリガ情報解析部254から供給されるトリガ情報の解析結果に基づいて、通信部222(図22)を制御して、ネットワーク90を介してTPTサーバ50−2にアクセスし、放送リレートアプリ用のTPTを取得し、TPT解析部252に供給する。
TPT解析部252は、TPT取得部251から供給される放送インディペンデントアプリ用のTPTを解析する。また、TPT解析部252は、TPT取得部251から供給される放送リレートアプリ用のTPTを解析する。TPTの解析結果は、アプリケーション制御部253に供給される。
アプリケーション制御部253は、TPT解析部252から供給される放送インディペンデントアプリ用のTPTの解析結果に基づいて、アプリケーションエンジン223(図22)を制御して、ネットワーク90を介してアプリケーションサーバ40にアクセスし、放送インディペンデントアプリを取得する。
また、アプリケーション制御部253は、TPT解析部252から供給されるTPTの解析結果などに従い、アプリケーションエンジン223(図22)を制御して、放送インディペンデントアプリの動作を制御する。
トリガ情報解析部254は、トリガ情報取得部218(図22)から供給されるトリガ情報を解析して、その解析の結果を、TPT取得部251に供給する。
(各サーバの構成例)
図24は、図20の各サーバの構成例を示す図である。図24には、ポータルサーバ30、アプリケーションサーバ40、及び、TPTサーバ50の構成例が示されている。
図24において、ポータルサーバ30は、制御部311、通信部312、及び、ファイル保持部313から構成される。制御部311は、ポータルサーバ30の各部の動作を制御する。通信部312は、制御部311からの制御に従い、ネットワーク90を介して受信装置20と通信を行う。ファイル保持部313は、ポータルサイトのウェブページを構成する各種のファイル(例えばHTMLファイルやJPEGファイル等)を保持している。なお、ポータルサイトのウェブページは、制御部311により生成されるようにしてもよいし、通信部312がネットワーク90を介して外部のサーバ等から取得するようにしてもよい。
制御部311は、通信部312の通信状況を常に監視し、受信装置20からポータルサイトが要求された場合、ファイル保持部313からポータルサイトのウェブページを取得して、通信部312に供給する。通信部312は、制御部311からの制御に従い、ポータルサイトのウェブページを、ネットワーク90を介して要求元の受信装置20に送信する。
ポータルサーバ30は、以上のように構成される。
図24において、アプリケーションサーバ40は、制御部411、通信部412、及び、アプリケーション保持部413から構成される。制御部411は、アプリケーションサーバ40の各部の動作を制御する。通信部412は、制御部411からの制御に従い、ネットワーク90を介して受信装置20と通信を行う。アプリケーション保持部413は、放送インディペンデントアプリを構成する各種のファイル(例えばHTMLファイルやJPEGファイル等)などのデータを保持している。なお、放送インディペンデントアプリは、制御部411により生成されるようにしてもよいし、通信部412がネットワーク90を介して外部のサーバ等から取得するようにしてもよい。
制御部411は、通信部412の通信状況を常に監視し、受信装置20から放送インディペンデントアプリが要求された場合、アプリケーション保持部413から放送インディペンデントアプリを取得して、通信部412に供給する。通信部412は、制御部411からの制御に従い、放送インディペンデントアプリを、ネットワーク90を介して要求元の受信装置20に送信する。
アプリケーションサーバ40は、以上のように構成される。
図24において、TPTサーバ50は、制御部511、通信部512、及び、TPT保持部513から構成される。制御部511は、TPTサーバ50の各部の動作を制御する。通信部512は、制御部511からの制御に従い、ネットワーク90を介して受信装置20と通信を行う。TPT保持部513は、TPTのファイル(例えばXMLファイル)を保持している。なお、TPTのファイルは、制御部511により生成されるようにしてもよいし、通信部512がネットワーク90を介して外部のサーバ等から取得するようにしてもよい。
制御部511は、通信部512の通信状況を常に監視し、受信装置20からTPTが要求された場合、TPT保持部513からTPTを取得して、通信部512に供給する。通信部512は、制御部511からの制御に従い、TPTを、ネットワーク90を介して要求元の受信装置20に送信する。
なお、ここでは、説明の簡略化のため、TPTサーバ50−1とTPTサーバ50−2をまとめて、TPTサーバ50として説明したが、TPTサーバ50−1のTPT保持部513−1には、放送インディペンデントアプリ用のTPTのファイルが保持されている。また、TPTサーバ50−2のTPT保持部513−2には、放送リレートアプリ用のTPTが保持されている。
TPTサーバ50は、以上のように構成される。
<4.各装置で実行される処理の流れ>
次に、図25乃至図30のフローチャートを参照して、図20の放送通信システムを構成する各装置で実行される処理の流れを説明する。
(デジタル放送信号送信処理)
まず、図25のフローチャートを参照して、図20の送信装置10により実行されるデジタル放送信号送信処理の流れについて説明する。
ステップS111において、オーディオデータ取得部111は、外部のサーバ等から、AVコンテンツのオーディオデータを取得し、オーディオエンコーダ112に供給する。また、ステップS112において、ビデオデータ取得部113は、外部のサーバ等から、AVコンテンツのビデオデータを取得し、ビデオエンコーダ114、及び、トリガ情報生成部115に供給する。
ステップS113において、トリガ情報生成部115は、ビデオデータ取得部113から供給されるビデオデータに対応するAVコンテンツの進行にあわせてトリガ情報を生成し、ビデオエンコーダ114に供給する。
ステップS114において、オーディオエンコーダ112は、オーディオデータ取得部111から供給されるオーディオデータを、MPEG等の符号化方式に準拠して符号化し、多重化部116に供給する。
ステップS115において、ビデオエンコーダ114は、ビデオデータ取得部113から供給されるビデオデータを、MPEG等の符号化方式に準拠して符号化し、多重化部116に供給する。また、ビデオエンコーダ114は、ビデオデータの符号化を行うに際して、ビデオデータに、トリガ情報生成部115から供給されるトリガ情報を埋め込んで符号化を行う。
ステップS116において、多重化部116は、オーディオエンコーダ112からのオーディオデータと、ビデオエンコーダ114からのビデオデータとを多重化して、その結果得られるストリームを、送信部117に供給する。
ステップS117において、送信部117は、多重化部116から供給されるストリームを、アンテナ118を介して、デジタル放送信号として送信する。ステップS117の処理が終了すると、図25のデジタル放送信号送信処理は終了する。
以上、デジタル放送信号送信処理について説明した。なお、図25のデジタル放送信号送信処理では、説明を簡略化するため、トリガ情報がビデオデータに埋め込まれる場合を一例に説明した。
(デジタル放送信号受信処理)
次に、図26のフローチャートを参照して、図20の受信装置20により実行されるデジタル放送信号受信処理の流れについて説明する。
ステップS211において、チューナ212は、アンテナ211を介して受信されたデジタル放送信号の選局・復調を行う。また、ステップS212において、多重分離部213は、チューナ212により復調されたストリームを、オーディオデータと、ビデオデータに分離する。
ステップS213において、オーディオデコーダ214は、多重分離部213により分離されたオーディオデータを、オーディオエンコーダ112(図21)による符号化方式に対応する復号方式で復号し、その結果得られるオーディオデータを、オーディオ出力部215に供給する。
ステップS214において、ビデオデコーダ216は、多重分離部213から供給されるビデオデータを、ビデオエンコーダ114(図21)による符号化方式に対応する復号方式で復号し、その結果得られるビデオデータを、ビデオ出力部217に供給する。
ステップS215において、オーディオ出力部215は、オーディオデコーダ214から供給されるオーディオデータを、スピーカ(不図示)に出力する。また、ステップS216において、ビデオ出力部217は、ビデオデコーダ216から供給されるビデオデータを、ディスプレイ(不図示)に出力する。これにより、ディスプレイには、AVコンテンツの映像が表示され、スピーカからは、その映像に同期した音声が出力される。
ステップS216の処理が終了すると、図26のデジタル放送信号受信処理は終了する。
以上、デジタル放送信号受信処理について説明した。
(第1の放送インディペンデントアプリ対応処理)
次に、図27のフローチャートを参照して、図20の受信装置20により実行される第1の放送インディペンデントアプリ対応処理の流れについて説明する。なお、この第1の放送インディペンデントアプリ対応処理は、上述した第1の実施の形態に対応した処理とされる。
ステップS231の処理で「ポータル画面」(図7)が表示された場合、ステップS232において、制御部219は、入力部221からの操作信号に基づいて、「ポータル画面」から、ユーザにより放送インディペンデントアプリが選択されたかどうかを判定する。
ステップS232において、放送インディペンデントアプリが選択されていないと判定された場合、ステップS232の判定処理が繰り返される。ステップS232においては、ユーザにより放送インディペンデントアプリが選択されるのを待って、処理は、ステップS233に進められる。
ステップS233において、TPT取得部251は、通信部222を制御して、ネットワーク90を介してTPTサーバ50−1にアクセスし、放送インディペンデントアプリ用のTPTを取得する。この放送インディペンデントアプリ用のTPTは、メモリ220に記憶される。
ステップS234において、TPT解析部252は、ステップS233の処理で取得された放送インディペンデントアプリ用のTPTを解析し、その解析結果を、アプリケーション制御部253に供給する。
ステップS235において、アプリケーション制御部253は、ステップS234の処理で得られるTPTの解析結果に基づいて、アプリケーションエンジン223を制御して、ネットワーク90を介してアプリケーションサーバ40にアクセスし、放送インディペンデントアプリを取得する。なお、アプリケーションサーバ40にアクセスする際には、放送インディペンデントアプリ用のTPT(図12)に記述されたApplication要素のURL要素に指定されたURLが用いられる。
ステップS236において、アプリケーション制御部253は、アプリケーションエンジン223を制御して、ステップS235の処理で取得された放送インディペンデントアプリを起動する。これにより、受信装置20では、放送インディペンデントアプリが実行され、「アプリ画面」(図7)が表示される。
ステップS237において、アプリケーション制御部253は、実行中の放送インディペンデントアプリによって、放送サービス(例えば、放送番組)が選局されたかどうかを判定する。ステップS237において、放送インディペンデントアプリによって、放送サービスが選局されていないと判定された場合、ステップS237の判定処理が繰り返される。ステップS237においては、放送インディペンデントアプリによって、放送サービスが選局されるのを待って、処理は、ステップS238に進められる。
ステップS238において、トリガ情報取得部218は、ビデオデコーダ216から供給されるビデオデータに埋め込まれているトリガ情報を取得し、トリガ情報解析部254に供給する。
ステップS239において、トリガ情報解析部254は、ステップS238の処理で取得されたトリガ情報を解析する。
ステップS240において、TPT取得部251は、ステップS239の処理で得られるトリガ情報の解析結果に基づいて、通信部222を制御して、ネットワーク90を介してTPTサーバ50−2にアクセスし、放送リレートアプリ用のTPTを取得する。この放送リレートアプリ用のTPTは、メモリ220に記憶される。
ステップS241において、TPT解析部252は、ステップS240の処理で取得された放送リレートアプリ用のTPTを解析する。
ステップS242において、TPT解析部252は、ステップS234の処理で得られる放送インディペンデントアプリ用のTPTの解析結果と、ステップS241の処理で得られる放送リレートアプリ用のTPTの解析結果に基づいて、放送インディペンデントアプリによる放送リソースを利用する動作の継続が認められるかどうかを判定する。
具体的には、放送リレートアプリ用のTPT(図6)において、実行中の放送インディペンデントアプリと、グローバルIDが同一の値で、かつ、取得先のURL(ただし、entry="true")も同一の値となる放送リレートアプリであって、その時点でのイベントに、エクスキュートコマンド("exec")が指定されている放送リレートアプリの記述がある場合には、放送インディペンデントアプリによる放送リソースの利用を認めるものとする。すなわち、放送インディペンデントアプリによる放送リソースの利用を認めるか否かに応じて、放送インディペンデントアプリによる放送リソースを利用する動作の継続が認められるかどうかが判定される。
ステップS242において、放送インディペンデントアプリの放送リソースを利用する動作の継続が認められると判定された場合、処理は、ステップS243に進められる。この場合、放送インディペンデントアプリは、放送リソースの利用が認められ、その動作を継続するので、ステップS243においては、「アプリ+放送画面」(図7)が表示される。
なお、このように、放送リレートアプリ用のTPTによって、放送リソースを利用する動作の継続が認められた放送インディペンデントアプリは、放送事業者により動作の継続が認められた放送リレートアプリであるとも言える。したがって、当該放送インディペンデントアプリは、その後、放送リレートアプリとして動作することになる。
また、ステップS242において、放送インディペンデントアプリの放送リソースを利用する動作の継続が認められなかった場合、処理は、ステップS244に進められる。ステップS244においては、放送インディペンデントアプリ用のTPT(図12)に記述される、Application要素のcontext属性に基づいて、ケースA又はケースBのどちらで対応するかが判定される。
ステップS244において、ケースAで対応すると判定された場合、処理は、ステップS245に進められる。この場合、放送インディペンデントアプリは、放送リソースを利用する動作の継続は認められなかったが、放送リソースを利用せずにその動作を継続するので、ステップS245においては、「アプリのみ表示画面」(図7)が表示される。
また、ステップS244において、ケースBで対応すると判定された場合、処理は、ステップS246に進められる。この場合、放送インディペンデントアプリは、放送リソースを利用する動作の継続が認められなかったために、その動作を終了するので、ステップS246においては、「放送全画面」(図7)が表示される。
ステップS243,S245,S246のいずれかの処理によって、上述の判定結果に応じた画面が表示されると、図27の第1の放送インディペンデントアプリ対応処理は終了する。
以上、第1の放送インディペンデントアプリ対応処理について説明した。この第1の放送インディペンデントアプリ対応処理においては、放送インディペンデントアプリによって、放送リソースが利用される場合に、放送インディペンデントアプリ用のTPTの記述内容と、放送リレートアプリ用のTPTの記述内容が照合される。そして、その照合の結果に応じて、放送リソースの利用が認められた場合には、「アプリ+放送画面」(図7)が表示され、放送リソースの利用が認められない場合には、「アプリのみ表示画面」(図7)又は「放送全画面」(図7)が表示される。
(第2の放送インディペンデントアプリ対応処理)
次に、図28のフローチャートを参照して、図20の受信装置20により実行される第2の放送インディペンデントアプリ対応処理の流れについて説明する。なお、この第2の放送インディペンデントアプリ対応処理は、上述した第2の実施の形態に対応した処理とされる。
ステップS261の処理で「ポータル画面」(図7)が表示された場合、ステップS262において、制御部219は、入力部221からの操作信号に基づいて、「ポータル画面」から、ユーザにより放送インディペンデントアプリが選択されたかどうかを判定する。
ステップS262において、放送インディペンデントアプリが選択されていないと判定された場合、ステップS262の判定処理が繰り返される。ステップS262においては、ユーザにより放送インディペンデントアプリが選択されるのを待って、処理は、ステップS263に進められる。
ステップS263において、TPT取得部251は、通信部222を制御して、ネットワーク90を介してTPTサーバ50−1にアクセスし、放送インディペンデントアプリ用のTPTを取得する。この放送インディペンデントアプリ用のTPTは、メモリ220に記憶される。
ステップS264において、TPT解析部252は、ステップS263の処理で取得された放送インディペンデントアプリ用のTPTを解析し、アプリケーション制御部253に供給する。
ステップS265において、TPT解析部252は、メモリ220にあらかじめ保持している放送局公開鍵証明書を用いて、放送インディペンデントアプリ用のTPTに記述された電子署名を検証する。なお、電子署名は、放送インディペンデントアプリ用のTPT(図17)のSignature要素に指定される。また、放送局公開鍵証明書がメモリ220に保持されていない場合には、例えば、目的の放送局公開鍵証明書のファイルが、送信装置10からFLUTEセッションで伝送されるまで待って、目的の放送局公開鍵証明書が取得された後に、ステップS265の検証処理が実行される。
ステップS266においては、ステップS265の検証処理による、電子署名の検証に成功したかどうかが判定される。ステップS266において、電子署名の検証に失敗したと判定された場合、放送インディペンデントアプリは起動されずに、図28の第2の放送インディペンデントアプリ対応処理は終了する。また、ステップS266において、電子署名の検証に成功したと判定された場合、処理は、ステップS267に進められる。
ステップS267において、アプリケーション制御部253は、ステップS264の処理で得られるTPTの解析結果に基づいて、アプリケーションエンジン223を制御して、ネットワーク90を介してアプリケーションサーバ40にアクセスし、放送インディペンデントアプリを取得する。なお、アプリケーションサーバ40にアクセスする際には、放送インディペンデントアプリ用のTPT(図17)に記述されたApplication要素のURL要素に指定されたURLが用いられる。
ステップS268において、アプリケーション制御部253は、アプリケーションエンジン223を制御して、ステップS267の処理で取得された放送インディペンデントアプリを起動する。これにより、受信装置20では、放送インディペンデントアプリが実行され、「アプリ画面」(図7)が表示される。
ステップS269において、アプリケーション制御部253は、実行中の放送インディペンデントアプリによって、放送リソースへのアクセス要求が発生したかどうかを判定する。ステップS269において、放送インディペンデントアプリによって、放送リソースへのアクセス要求が発生していないと判定された場合、ステップS269の判定処理が繰り返される。ステップS269においては、放送インディペンデントアプリによって、放送リソースへのアクセス要求が発生するのを待って、処理は、ステップS270に進められる。
ステップS270において、TPT解析部252は、メモリ220に記憶されている放送インディペンデントアプリ用のTPTに基づいて、放送インディペンデントアプリが、放送リソースのアクセス権限を有しているかどうかを判定する。具体的には、放送インディペンデントアプリ用のTPT(図17)において、放送局(放送サービス)ごとのアクセス権限が記述されているので、この放送パーミッション情報を用いて、放送インディペンデントアプリが、放送リソース(例えば、選局が指示された放送局の放送サービス)のアクセス権限を有しているかどうかが判定される。
ステップS270において、放送インディペンデントアプリが放送リソースへのアクセス権限を有していると判定された場合、処理は、ステップS271に進められる。この場合、放送インディペンデントアプリは、放送リソースの利用が認められ、その動作を継続するので、ステップS271においては、「アプリ+放送画面」(図7)が表示される。
また、ステップS270において、放送インディペンデントアプリが放送リソースへのアクセス権限を有していないと判定された場合、処理は、ステップS272に進められる。ステップS272においては、放送インディペンデントアプリ用のTPT(図17)に記述される、Application要素のcontext属性に基づいて、ケースA又はケースBのどちらで対応するかが判定される。
ステップS272において、ケースAで対応すると判定された場合、処理は、ステップS273に進められる。この場合、放送インディペンデントアプリは、放送リソースへのアクセス権は有していなかったが、放送リソースを利用せずにその動作を継続するので、ステップS273においては、「アプリのみ表示画面」(図7)が表示される。
また、ステップS272において、ケースBで対応すると判定された場合、処理は、ステップS274に進められる。この場合、放送インディペンデントアプリは、放送リソースへのアクセス権を有していなかったために、その動作を終了するので、ステップS274においては、「放送全画面」(図7)が表示される。
ステップS271,S273,S274のいずれかの処理によって、上述の判定結果に応じた画面が表示されると、図28の第2の放送インディペンデントアプリ対応処理は終了する。
以上、第2の放送インディペンデントアプリ対応処理について説明した。この第2の放送インディペンデントアプリ対応処理においては、放送インディペンデントアプリによって、放送リソースが利用される場合に、放送インディペンデントアプリ用のTPTに記述された放送パーミッション情報を用い、当該放送インディペンデントアプリが、放送サービスのアクセス権限を有しているかどうかが判定される。そして、放送リソースへのアクセス権限を有している場合には、「アプリ+放送画面」(図7)が表示され、放送リソースへのアクセス権限を有していない場合には、「アプリのみ表示画面」(図7)又は「放送全画面」(図7)が表示される。
(放送インディペンデントアプリ提供処理)
次に、図29のフローチャートを参照して、図20のアプリケーションサーバ40により実行される放送インディペンデントアプリ提供処理の流れについて説明する。なお、図29の放送インディペンデントアプリ提供処理に先立って、アプリケーション保持部413には、制御部411により生成された放送インディペンデントアプリが保持されているものとする。
ステップS411において、制御部411は、通信部412の通信状況を常に監視して、受信装置20から放送インディペンデントアプリが要求されたかどうかを判定する。ステップS411において、放送インディペンデントアプリが要求されていないと判定された場合、ステップS411の処理が繰り返される。すなわち、ステップS411においては、受信装置20から放送インディペンデントアプリが要求されるのを待って、処理は、ステップS412に進められる。
ステップS412において、制御部411は、アプリケーション保持部413から放送インディペンデントアプリを取得して、通信部412に供給する。また、ステップS413において、通信部412は、制御部411からの制御に従い、放送インディペンデントアプリを、ネットワーク90を介して要求元の受信装置20に送信する。ステップS413の処理が終了すると、図29の放送インディペンデントアプリ提供処理は終了する。
以上、放送インディペンデントアプリ提供処理について説明した。
(TPT提供処理)
最後に、図30のフローチャートを参照して、図20のTPTサーバ50により実行されるTPT提供処理の流れについて説明する。なお、図30のTPT提供処理に先立って、TPT保持部513には、制御部511により生成された放送インディペンデントアプリ用のTPT、又は、放送リレートアプリ用のTPTが保持されているものとする。
ステップS511において、制御部511は、通信部512の通信状況を常に監視し、受信装置20からTPTが要求されたかどうかを判定する。ステップS511において、TPTが要求されていないと判定された場合、ステップS511の処理が繰り返される。すなわち、ステップS511においては、受信装置20からTPTが要求されるのを待って、処理は、ステップS512に進められる。
ステップS512において、制御部511は、TPT保持部513からTPTを取得して、通信部512に供給する。また、ステップS513において、通信部512は、制御部511からの制御に従い、TPTを、ネットワーク90を介して要求元の受信装置20に送信する。ステップS513の処理が終了すると、図30のTPT提供処理は終了する。
以上、TPT提供処理について説明した。なお、このTPT提供処理においては、TPTサーバ50−1とTPTサーバ50−2によるTPT提供処理をまとめて説明したが、TPTサーバ50−1が、図30のTPT提供処理を実行することで、放送インディペンデントアプリ用のTPTが、要求元の受信装置20に提供される。また、TPTサーバ50−2が、図30のTPT提供処理を実行することで、放送リレートアプリ用のTPTが、要求元の受信装置20に提供される。
<5.変形例>
(放送通信システムの他の構成例)
図31は、放送通信システムの他の構成例を示す図である。
放送通信システム2は、送信装置10、受信装置20、ポータルサーバ30、アプリケーションサーバ40、TPTサーバ50、及び、ACRサーバ60から構成される。
すなわち、図31の放送通信システム2は、図20の放送通信システム1と比べて、ACRサーバ60が新たに設けられている点で異なっている。それ以外の構成については、図20の放送通信システム1と同様であるため、その説明は適宜省略する。
ACRサーバ60は、ネットワーク90を介して受信装置20と接続されている。受信装置20は、ネットワーク90を介してACRサーバ60にアクセスして、トリガ情報を問い合わせる。その際、放送番組等のAVコンテンツのビデオデータ、及び、オーディオデータの少なくとも一方から抽出される特徴量(以下、フィンガプリント情報(Finger Print)ともいう)が、ACRサーバ60に送信される。
ACRサーバ60は、例えば、AVコンテンツを提供する放送事業者等により提供される。ACRサーバ60は、任意のAVコンテンツのビデオデータ及びオーディオデータから抽出された特徴量が登録されているデータベースを有しており、ネットワーク90を介して受信装置20からの問い合わせに応じて、ACR(Automatic Content Recognition)技術を用いたAVコンテンツの識別を行う。
具体的には、ACRサーバ60は、受信装置20からのフィンガプリント情報を、データベースと照合することで、AVコンテンツを識別し、その識別結果に応じたトリガ情報を生成する。ACRサーバ60は、生成したトリガ情報を、ネットワーク90を介して受信装置20に送信する。
受信装置20は、ACRサーバ60から受信したトリガ情報に応じて、ネットワーク90を介してTPTサーバ50−2にアクセスして、放送リレートアプリ用のTPTを取得する。そして、上述した第1の実施の形態で説明したように、受信装置20は、放送インディペンデントアプリ用のTPT、及び、放送リレートアプリ用のTPTに基づいて、放送インディペンデントアプリによる放送リソースを利用する動作の継続が認められるかどうかの動作継続可否判定処理を行い、その判定結果に応じた画面(例えば、図7の「アプリ+放送画面」、「アプリのみ表示画面」、又は、「放送全画面」)を表示することになる。
放送通信システム2は、以上のように構成される。
(フィンガプリント情報を利用した場合の受信機の動作)
図32は、フィンガプリント情報を利用した場合の受信機の動作を示す図である。
図32において、受信装置20(図31)は、ポータルサイトの表示が指示された場合、ネットワーク90を介してポータルサーバ30(図31)にアクセスし、ポータルサイトのウェブページを要求する(S71)。ポータルサーバ30は、受信装置20からの要求に応じて、ポータルサイトのウェブページを、ネットワーク90を介して受信装置20に送信する(S72)。受信装置20は、ポータルサーバ30から受信したポータルサイトのウェブページを表示する。
受信装置20(図31)では、ポータルサイトから放送インディペンデントアプリが選択された場合、ネットワーク90を介してTPTサーバ50−1(図31)にアクセスし、放送インディペンデントアプリ用のTPTを要求する(S73)。TPTサーバ50−1は、受信装置20からの要求に応じて、放送インディペンデントアプリ用のTPT(図中の「TPT」)を、ネットワーク90を介して受信装置20に送信する(S74)。受信装置20は、TPTサーバ50−1から送信される放送インディペンデントアプリ用のTPTを受信して、保持する。
そして、受信装置20(図31)は、放送インディペンデントアプリ用のTPTに基づいて、ネットワーク90を介してアプリケーションサーバ40(図31)にアクセスし、放送インディペンデントアプリを要求する(S75)。アプリケーションサーバ40は、受信装置20からの要求に応じて、放送インディペンデントアプリ(図中の「App」)を、ネットワーク90を介して受信装置20に送信する(S76)。受信装置20は、アプリケーションサーバ40から送信される放送インディペンデントアプリを受信して起動する。
ここで、受信装置20(図31)は、実行中の放送インディペンデントアプリによって、放送サービス(例えば、放送番組等のAVコンテンツ)が選局された場合、放送局の送信装置10(図31)によって、AVコンテンツ(図中の「Content」)のビデオデータ及びオーディオデータから抽出される特徴量をフィンガプリント情報として、ACRサーバ60(図31)に送信して、トリガ情報を要求する(S78)。
ACRサーバ60は、ACR識別処理を行い、受信装置20からのフィンガプリント情報を、データベースと照合することで、受信装置20において、放送インディペンデントアプリにより選局された放送サービス(例えば、放送番組等のAVコンテンツ)を識別する。
具体的には、図33に示すように、ACRサーバ60では、受信装置20からフィンガプリント情報による問い合わせを受けると、ACR識別処理部611によって、フィンガプリント情報が、あらかじめ用意されたFPデータベース612と照合され、放送インディペンデントアプリによって選局されたAVコンテンツが識別される。この識別結果は、トリガ情報生成部613に供給される。トリガ情報生成部613は、ACR識別処理部611からの識別結果及びトリガ用データベース614に登録された各種の情報に基づいて、トリガ情報を生成する。
なお、フィンガプリント情報(特徴量)は、例えば、AVコンテンツの全体又は一部構成要素の固有情報であって、FPデータベース612には、あらかじめ多数のAVコンテンツの固有情報が登録されている。ACR識別処理では、例えば、それらの固有情報の類似度又は一致度が判定される。なお、この類似度又は一致度の判定方法としては、各種の文献などによって開示されている、公知の技術を用いることができる。ACR技術を用いることで、AVコンテンツの解像度、アスペクト比、ビットレート、又はフォーマットなどの情報に依存せずに、ビデオデータ及びオーディオデータの特徴量からAVコンテンツを識別することができる。
図32に戻り、ACRサーバ60は、生成したトリガ情報(図中の「Trigger」)を、問い合わせ元の受信装置20に送信する(S79)。受信装置20は、ACRサーバ60からトリガ情報に基づいて、ネットワーク90を介してTPTサーバ50−2(図31)にアクセスし、放送リレートアプリ用のTPTを要求する(S80)。TPTサーバ50−2は、受信装置20からの要求に応じて、放送リレートアプリ用のTPT(図中の「TPT」)を、ネットワーク90を介して受信装置20に送信する(S81)。受信装置20は、TPTサーバ50−2から送信される放送リレートアプリ用のTPTを受信して、取得する。
そして、受信装置20は、放送インディペンデントアプリ用のTPTと、放送リレートアプリ用のTPTに基づいて、放送インディペンデントアプリによる放送リソースを利用する動作の継続が認められるかどうかの動作継続可否判定処理を行う。
動作継続可否判定処理によって、放送インディペンデントアプリによる放送リソースの利用が認められた場合、受信装置20は、図9の「放送受信(AV再生+放送リレートアプリ実行)」の状態に遷移して、放送インディペンデントアプリは、放送リレートアプリとして動作を継続する。この場合、受信装置20では、「アプリ+放送画面」(図7)が表示される。
他方、放送インディペンデントアプリによる放送リソースの利用が認められなかった場合、受信装置20は、図9の「放送インディペンデントアプリ実行」の状態、又は、図9の「放送受信(AVのみ再生)」の状態に遷移して、ケースAの「アプリのみ表示画面」(図7)、又は、ケースBの「放送全画面」(図7)を表示する。
なお、上述した説明では、AVコンテンツとして、放送番組等の放送コンテンツを説明したが、放送コンテンツの代わりに、通信コンテンツが、ネットワーク90を介してストリーミングサーバ(不図示)からストリーミング配信されるようにしてもよい。
<6.コンピュータの構成>
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。図34は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示す図である。
コンピュータ900において、CPU(Central Processing Unit)901,ROM(Read Only Memory)902,RAM(Random Access Memory)903は、バス904により相互に接続されている。バス904には、さらに、入出力インターフェース905が接続されている。入出力インターフェース905には、入力部906、出力部907、記録部908、通信部909、及び、ドライブ910が接続されている。
入力部906は、キーボード、マウス、マイクロフォンなどよりなる。出力部907は、ディスプレイ、スピーカなどよりなる。記録部908は、ハードディスクや不揮発性のメモリなどよりなる。通信部909は、ネットワークインターフェースなどよりなる。ドライブ910は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア911を駆動する。
以上のように構成されるコンピュータ900では、CPU901が、ROM902や記録部908に記憶されているプログラムを、入出力インターフェース905及びバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ900(CPU901)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア911に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
コンピュータ900では、プログラムは、リムーバブルメディア911をドライブ910に装着することにより、入出力インターフェース905を介して、記録部908にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部909で受信し、記録部908にインストールすることができる。その他、プログラムは、ROM902や記録部908に、あらかじめインストールしておくことができる。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
また、本技術は、以下のような構成をとることができる。
(1)
デジタル放送信号を受信する受信部と、
前記デジタル放送信号で送信される放送リソースの利用を要求可能な第1のアプリケーションを取得するアプリケーション取得部と、
前記第1のアプリケーションの動作を制御するための第1の制御情報を取得する制御情報取得部と、
前記第1のアプリケーションにより前記放送リソースの利用が要求された場合、前記第1の制御情報に基づいて、前記第1のアプリケーションによる前記放送リソースの利用を制御するアプリケーション制御部と
を備える受信装置。
(2)
前記制御情報取得部は、放送サービス内で起動される第2のアプリケーションの動作を制御するための第2の制御情報をさらに取得し、
前記アプリケーション制御部は、前記第1の制御情報と、前記第2の制御情報との照合の結果に基づいて、前記第1のアプリケーションによる前記放送リソースを利用する動作の継続が認められない場合に、前記第1のアプリケーションによる前記放送リソースの利用を制限する
(1)に記載の受信装置。
(3)
前記アプリケーション制御部は、前記第1のアプリケーションによる前記放送リソースを利用する動作の継続が認められない場合、前記第1のアプリケーションの動作を継続するとともに、前記放送リソースの表示を非表示にする
(2)に記載の受信装置。
(4)
前記アプリケーション制御部は、前記第1のアプリケーションによる前記放送リソースを利用する動作の継続が認められない場合、前記第1のアプリケーションの動作を終了するとともに、前記放送リソースを通常の状態で表示する
(2)に記載の受信装置。
(5)
前記アプリケーション制御部は、前記第1のアプリケーションによる前記放送リソースを利用する動作の継続が認められる場合、前記第1のアプリケーションを、前記第2のアプリケーションとして動作を継続させる
(2)乃至(4)のいずれか一項に記載の受信装置。
(6)
前記第2のアプリケーションの動作を制御するためのトリガ情報を取得するトリガ情報取得部をさらに備え、
前記制御情報取得部は、前記トリガ情報に基づいて、前記第2の制御情報を取得する
(2)乃至(5)のいずれか一項に記載の受信装置。
(7)
前記アプリケーション制御部は、前記第1の制御情報に含まれる、放送サービスごとのアクセス権を示す放送パーミッション情報に基づいて、前記第1のアプリケーションが前記放送リソースへのアクセス権を有していない場合に、前記第1のアプリケーションによる前記放送リソースの利用を制限する
(2)に記載の受信装置。
(8)
前記アプリケーション制御部は、前記第1のアプリケーションが前記放送リソースへのアクセス権を有していない場合、前記第1のアプリケーションの動作を継続するとともに、前記放送リソースの表示を非表示にする
(7)に記載の受信装置。
(9)
前記アプリケーション制御部は、前記第1のアプリケーションが前記放送リソースへのアクセス権を有していない場合、前記第1のアプリケーションの動作を終了するとともに、前記放送リソースを通常の状態で表示する
(7)に記載の受信装置。
(10)
前記アプリケーション取得部は、所定の証明書を用いて、前記第1の制御情報に含まれる署名情報の検証に成功した場合に、前記第1のアプリケーションを取得する
(7)乃至(9)のいずれか一項に記載の受信装置。
(11)
前記放送パーミッション情報は、前記放送サービスごとに、ビットマップ形式で指定される
(7)乃至(10)のいずれか一項に記載の受信装置。
(12)
受信装置の受信方法において、
前記受信装置が、
デジタル放送信号を受信し、
前記デジタル放送信号で送信される放送リソースの利用を要求可能な第1のアプリケーションを取得し、
前記第1のアプリケーションの動作を制御するための第1の制御情報を取得し、
前記第1のアプリケーションにより前記放送リソースの利用が要求された場合、前記第1の制御情報に基づいて、前記第1のアプリケーションによる前記放送リソースの利用を制御する
ステップを含む受信方法。
(13)
デジタル放送信号で送信される放送リソースの利用を要求可能な第1のアプリケーションの動作を制御するための第1の制御情報であって、前記第1のアプリケーションによる前記放送リソースの利用の際に用いられる前記第1の制御情報を生成する制御情報生成部と、
受信機からの要求に応じて、ネットワークを介して前記第1の制御情報を送信する送信部と
を備える送信装置。
(14)
前記第1の制御情報は、前記第1のアプリケーションによる前記放送リソースの利用に際して、放送サービス内で起動される第2のアプリケーションの動作を制御するための第2の制御情報との照合に用いられる
(13)に記載の送信装置。
(15)
前記第1の制御情報は、前記第1のアプリケーションによる前記放送リソースを利用する動作の継続が認められない場合に、前記第1のアプリケーションの動作を継続するとともに、前記放送リソースの表示を非表示にするか、あるいは、前記第1のアプリケーションの動作を終了するとともに、前記放送リソースを通常の状態で表示するかを示す情報を含む
(14)に記載の送信装置。
(16)
前記第1の制御情報は、放送サービスごとのアクセス権を示す放送パーミッション情報を含む
(13)に記載の送信装置。
(17)
前記第1の制御情報は、前記第1のアプリケーションが前記放送リソースへのアクセス権を有していない場合に、前記第1のアプリケーションの動作を継続するとともに、前記放送リソースの表示を非表示にするか、あるいは、前記第1のアプリケーションの動作を終了するとともに、前記放送リソースを通常の状態で表示するかを示す情報を含む
(16)に記載の送信装置。
(18)
前記第1の制御情報は、前記第1のアプリケーションの取得時に、所定の証明書を用いた検証に用いられる署名情報を含む
(16)又は(17)に記載の送信装置。
(19)
前記放送パーミッション情報は、前記放送サービスごとに、ビットマップ形式で指定される
(16)乃至(18)のいずれか一項に記載の送信装置。
(20)
送信装置の送信方法において、
前記送信装置が、
デジタル放送信号で送信される放送リソースの利用を要求可能な第1のアプリケーションの動作を制御するための第1の制御情報であって、前記第1のアプリケーションによる前記放送リソースの利用の際に用いられる前記第1の制御情報を生成し、
受信機からの要求に応じて、ネットワークを介して前記第1の制御情報を送信する
ステップを含む送信方法。