JP2013009341A - 受信機 - Google Patents
受信機 Download PDFInfo
- Publication number
- JP2013009341A JP2013009341A JP2012113950A JP2012113950A JP2013009341A JP 2013009341 A JP2013009341 A JP 2013009341A JP 2012113950 A JP2012113950 A JP 2012113950A JP 2012113950 A JP2012113950 A JP 2012113950A JP 2013009341 A JP2013009341 A JP 2013009341A
- Authority
- JP
- Japan
- Prior art keywords
- application
- broadcast
- unit
- content
- receiver
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Circuits Of Receivers In General (AREA)
Abstract
【課題】放送コンテンツの本来の提示時刻からの遅延時間を取得する。
【解決手段】通信入出力部411は、通信コンテンツを格納する外部のコンテンツ配信サーバ16に、通信コンテンツの送信を要求するコンテンツ要求信号を供給する。次に、通信入出力部411は、コンテンツ要求信号に応じてコンテンツ配信サーバ16から送信される通信コンテンツを取得する。次に、同期部442は、通信コンテンツの受信に応じて放送コンテンツの再生を遅延させる。次に、遅延時間算出部443は、同期部442が再生を遅延させた放送コンテンツの遅延時間を算出する。そして、通信入出力部411は、遅延時間算出部443が算出した遅延時間をコンテンツ配信サーバ16に通知する。
【選択図】図1
【解決手段】通信入出力部411は、通信コンテンツを格納する外部のコンテンツ配信サーバ16に、通信コンテンツの送信を要求するコンテンツ要求信号を供給する。次に、通信入出力部411は、コンテンツ要求信号に応じてコンテンツ配信サーバ16から送信される通信コンテンツを取得する。次に、同期部442は、通信コンテンツの受信に応じて放送コンテンツの再生を遅延させる。次に、遅延時間算出部443は、同期部442が再生を遅延させた放送コンテンツの遅延時間を算出する。そして、通信入出力部411は、遅延時間算出部443が算出した遅延時間をコンテンツ配信サーバ16に通知する。
【選択図】図1
Description
本発明は、放送信号の受信機に関する。
放送電波を受信して放送コンテンツを取得すると共に、ネットワーク経由で通信コンテンツを取得して、放送コンテンツと通信コンテンツとを同期再生する技術が知られている(例えば、非特許文献1参照)。非特許文献1には、エンコーダシステムが放送コンテンツを符号化して得られた符号化ストリームに、当該エンコーダシステムが管理するSTC(System Time Clock)に基づいて生成したPTS(Presentation Time Stamp)を付加したTS(Transport Stream)を生成して放送すると共に、通信コンテンツを符号化した符号化ストリームに、PTSを付加したTSを生成してインターネットに送信する技術が開示されている。そして、非特許文献1には、その放送システムが放送した放送コンテンツとその放送システムが通信した通信コンテンツとをそれぞれ受信し、放送コンテンツ及び通信コンテンツに含まれるPTSを用いて、放送コンテンツと通信コンテンツとを同期再生させる受信装置が開示されている。
松村欣司、鹿喰善明、Michael J Evans、「インターネット配信情報との連動による放送番組パーソナライズシステムの検討」、映像情報メディア学会年次講演予稿集、2009年8月26日、p.3−8
ところで、通信コンテンツの受信は、放送コンテンツの受信と異なり、レイテンシが生じる。そのため、放送コンテンツと通信コンテンツの同期を行う場合には、通常、放送コンテンツを遅延させる。そうすると、同期後の放送コンテンツの提示時刻は、本来の提示時刻から遅延した時刻となる。
コンテンツ提供サーバが提供する通信コンテンツの種類によっては、コンテンツ提供サーバが放送コンテンツの提示時刻に合わせた処理を行うことがある。しかし、受信機において放送コンテンツと通信コンテンツの同期を行った結果、放送コンテンツの提示タイミングに遅延が生じると、コンテンツ提供サーバは、処理タイミングを放送コンテンツと合わせることができなくなる問題がある。
コンテンツ提供サーバが提供する通信コンテンツの種類によっては、コンテンツ提供サーバが放送コンテンツの提示時刻に合わせた処理を行うことがある。しかし、受信機において放送コンテンツと通信コンテンツの同期を行った結果、放送コンテンツの提示タイミングに遅延が生じると、コンテンツ提供サーバは、処理タイミングを放送コンテンツと合わせることができなくなる問題がある。
本発明は、上記の問題に鑑みてなされたものであり、放送コンテンツの本来の提示時刻と実際の提示時刻との差である遅延時間をサーバ装置に通知する受信機を提供する。
[1] 本発明の一態様は、受信機であって、放送コンテンツを受信する放送受信部と、通信コンテンツを格納する外部のコンテンツ配信サーバに、前記通信コンテンツの送信を要求するコンテンツ要求信号を供給する通信コンテンツ要求部と、前記コンテンツ要求信号に応じて前記コンテンツ配信サーバから送信される前記通信コンテンツを取得する通信コンテンツ取得部と、前記通信コンテンツの受信に応じて前記放送コンテンツの再生を遅延させる再生遅延部と、前記再生遅延部が再生を遅延させた前記放送コンテンツの遅延時間を算出する遅延時間算出部と、前記遅延時間算出部が算出した前記遅延時間を前記コンテンツ配信サーバに通知する遅延時間通知部とを備えることを特徴とする。
なお、「通信コンテンツの受信に応じて放送コンテンツの再生を遅延させる」の例として、例えば、通信コンテンツのPTS(Presentation Time Stamp)と放送コンテンツのPTSとの差に基づいて放送コンテンツの再生を遅延させることが挙げられる。
なお、「通信コンテンツの受信に応じて放送コンテンツの再生を遅延させる」の例として、例えば、通信コンテンツのPTS(Presentation Time Stamp)と放送コンテンツのPTSとの差に基づいて放送コンテンツの再生を遅延させることが挙げられる。
本発明によれば、放送コンテンツの本来の提示時刻からの遅延時間をサーバ装置に通知することができる。
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
図1は、本発明の一実施形態による受信機4の構成を示す概略ブロック図である。
受信機4は、放送受信部401、分離部402、第1同期用バッファ404−1、第2同期用バッファ404−2、第1デコーダ405−1、第2デコーダ405−2、通信入出力部411(通信コンテンツ要求部、通信コンテンツ取得部、遅延時間通知部)、アプリケーション実行部435を含んで構成される。
図1は、本発明の一実施形態による受信機4の構成を示す概略ブロック図である。
受信機4は、放送受信部401、分離部402、第1同期用バッファ404−1、第2同期用バッファ404−2、第1デコーダ405−1、第2デコーダ405−2、通信入出力部411(通信コンテンツ要求部、通信コンテンツ取得部、遅延時間通知部)、アプリケーション実行部435を含んで構成される。
放送受信部401は、放送信号を受信して復調し、放送ストリーム(トランスポートストリーム、TS:Transport Stream)を生成する。
分離部402は、放送受信部401によって生成された放送ストリームを、種々のデータ(以下、放送コンテンツ)毎に分離し、分離したデータを第1同期用バッファ404−1に記録する。
分離部402は、放送受信部401によって生成された放送ストリームを、種々のデータ(以下、放送コンテンツ)毎に分離し、分離したデータを第1同期用バッファ404−1に記録する。
通信入出力部411は、通信網を介した通信によるデータの入出力、すなわちデータの送受信を行う。通信入出力部411は、コンテンツ配信サーバ16から配信されるコンテンツデータ(以下、通信コンテンツ)を受信し、第2同期用バッファ404−2に記録する。
第1同期用バッファ404−1は、FIFO(First In First Out)メモリであり、IE(Input Enable)クロックに従って分離部402から出力される放送コンテンツを一時的に記憶し、OE(Output Enable)クロックに従って、当該放送コンテンツを記憶した順に出力する。
第2同期用バッファ404−2は、FIFOメモリであり、IEクロックに従って通信入出力部411から出力される通信コンテンツを一時的に記憶し、OEクロックに従って、当該通信コンテンツを記憶した順に出力する。
なお、第1同期用バッファ404−1、第2同期用バッファ404−2のそれぞれのOEクロックの入力部にはOEスイッチが設けられる。すなわち、OEスイッチがONになると、第1同期用バッファ404−1、第2同期用バッファ404−2にOEクロックが入力される。他方、OEスイッチがOFFになると、第1同期用バッファ404−1、第2同期用バッファ404−2へのOEクロックの入力が遮断される。また、放送コンテンツ及び通信コンテンツには、当該コンテンツの提示時刻情報であるPTS(Presentation Time Stamp)が関連付けられており、第1同期用バッファ404−1及び第2同期用バッファ404−2は、当該PTSを放送コンテンツと共に記憶する。
第2同期用バッファ404−2は、FIFOメモリであり、IEクロックに従って通信入出力部411から出力される通信コンテンツを一時的に記憶し、OEクロックに従って、当該通信コンテンツを記憶した順に出力する。
なお、第1同期用バッファ404−1、第2同期用バッファ404−2のそれぞれのOEクロックの入力部にはOEスイッチが設けられる。すなわち、OEスイッチがONになると、第1同期用バッファ404−1、第2同期用バッファ404−2にOEクロックが入力される。他方、OEスイッチがOFFになると、第1同期用バッファ404−1、第2同期用バッファ404−2へのOEクロックの入力が遮断される。また、放送コンテンツ及び通信コンテンツには、当該コンテンツの提示時刻情報であるPTS(Presentation Time Stamp)が関連付けられており、第1同期用バッファ404−1及び第2同期用バッファ404−2は、当該PTSを放送コンテンツと共に記憶する。
第1デコーダ405−1は、第1同期用バッファ404−1から出力された放送コンテンツを順次デコードし、図示しない映像制御部及び音声制御部に出力する。
第2デコーダ405−2は、第2同期用バッファ404−2から出力された通信コンテンツを順次デコードし、図示しない映像制御部及び音声制御部に出力する。
第2デコーダ405−2は、第2同期用バッファ404−2から出力された通信コンテンツを順次デコードし、図示しない映像制御部及び音声制御部に出力する。
アプリケーション実行部435は、主記憶装置やその他の記憶装置に記憶されたアプリケーションプログラムを実行する処理部であって、命令実行部441、同期部442(再生遅延部)、遅延時間算出部443を含んで構成される。
命令実行部441は、主記憶装置やその他の記憶装置からアプリケーションプログラムを読み出し、当該アプリケーションプログラムに記述された命令を遂次実行する。命令実行部441は、アプリケーションプログラムに記述された命令が、同期メソッド「sync()」を呼び出すものである場合に、同期部442に、放送コンテンツと通信コンテンツとの同期を指示する。また、命令実行部441は、アプリケーションプログラムに記述された命令が、遅延時間取得メソッド「getCurrentDelay()」を呼び出すものである場合に、遅延時間算出部443に、放送番組の本来の提示時刻と実際の提示時刻との差である遅延時間(以下、「本来の提示時刻からの遅延時間」、または単に「遅延時間」と呼ぶ)の取得を指示する。
命令実行部441は、主記憶装置やその他の記憶装置からアプリケーションプログラムを読み出し、当該アプリケーションプログラムに記述された命令を遂次実行する。命令実行部441は、アプリケーションプログラムに記述された命令が、同期メソッド「sync()」を呼び出すものである場合に、同期部442に、放送コンテンツと通信コンテンツとの同期を指示する。また、命令実行部441は、アプリケーションプログラムに記述された命令が、遅延時間取得メソッド「getCurrentDelay()」を呼び出すものである場合に、遅延時間算出部443に、放送番組の本来の提示時刻と実際の提示時刻との差である遅延時間(以下、「本来の提示時刻からの遅延時間」、または単に「遅延時間」と呼ぶ)の取得を指示する。
同期部442は、第1デコーダ405−1及び第2デコーダ405−2が出力する放送コンテンツのPTSが一致するように、第1同期用バッファ404−1の遅延量を制御する。つまり、同期部442は、通信コンテンツの受信に応じて、放送コンテンツの再生を遅延させる。
遅延時間算出部443は、第1デコーダ405−1がデコードした放送コンテンツに関連付けられたPTSと、第1デコーダ405−1に記録される放送コンテンツに関連付けられたPTSとの差を、放送コンテンツの遅延時間として算出する。
遅延時間算出部443は、第1デコーダ405−1がデコードした放送コンテンツに関連付けられたPTSと、第1デコーダ405−1に記録される放送コンテンツに関連付けられたPTSとの差を、放送コンテンツの遅延時間として算出する。
なお、受信機4の動作については、後に図22以降を参照しながら説明する。
[本発明が適用される放送通信連携システムの説明]
ここで、本発明が適用される放送通信連携システムについて説明する。本発明が適用される放送通信連携システム(放送通信融合システム、放送通信システム、送受信システム)は、例えば、Hybridcast(登録商標)(ハイブリッドキャスト)システムであり、放送通信連携サービス(Hybridcast(登録商標)サービス、放送通信融合サービス、放送通信サービス)を提供する。本発明が適用される放送通信連携システムが実現する放送通信連携サービスは、デジタル放送サービスと、インターネットなどによる通信サービスとを連携する。例えば、放送通信連携サービスでは、デジタルテレビやパーソナルコンピュータ、携帯端末などの受信機は、放送により伝送された放送番組(以下、「番組」とも記載する。)の表示画面(以下、番組の表示画面の「放送画面」とも記載する。)に、この受信機に実装されているアプリケーションが通信により取得したサービスやコンテンツの表示画面(以下、「アプリケーション画面」、「アプリケーションの表示画面」とも記載する。)を合わせて同時に表示する。
ここで、本発明が適用される放送通信連携システムについて説明する。本発明が適用される放送通信連携システム(放送通信融合システム、放送通信システム、送受信システム)は、例えば、Hybridcast(登録商標)(ハイブリッドキャスト)システムであり、放送通信連携サービス(Hybridcast(登録商標)サービス、放送通信融合サービス、放送通信サービス)を提供する。本発明が適用される放送通信連携システムが実現する放送通信連携サービスは、デジタル放送サービスと、インターネットなどによる通信サービスとを連携する。例えば、放送通信連携サービスでは、デジタルテレビやパーソナルコンピュータ、携帯端末などの受信機は、放送により伝送された放送番組(以下、「番組」とも記載する。)の表示画面(以下、番組の表示画面の「放送画面」とも記載する。)に、この受信機に実装されているアプリケーションが通信により取得したサービスやコンテンツの表示画面(以下、「アプリケーション画面」、「アプリケーションの表示画面」とも記載する。)を合わせて同時に表示する。
[1. システムモデル]
[1.1 放送通信連携システムの利用者]
図2は、放送通信連携システムを利用する者とその関係を示す図である。
編成を伴う番組を送出する放送局は、放送電波あるいは通信網により番組を視聴者に配信する。放送局は、放送通信連携サービスを充実するために、番組に関連するメタデータをサービス事業者に提供する。
[1.1 放送通信連携システムの利用者]
図2は、放送通信連携システムを利用する者とその関係を示す図である。
編成を伴う番組を送出する放送局は、放送電波あるいは通信網により番組を視聴者に配信する。放送局は、放送通信連携サービスを充実するために、番組に関連するメタデータをサービス事業者に提供する。
放送通信連携サービスを提供するサービス事業者は、視聴者に放送通信連携サービスを提供するためのコンテンツとアプリケーション(以下、「アプリ」とも記載する。)を制作し、配信する。以下では、単に「アプリケーション」と記載した場合、放送通信連携サービスを提供するためのアプリケーション(放送通信連携サービスのアプリケーション)を指す。コンテンツまたはアプリケーションの制作者と配信者が同一のサービス事業者である必要はない。放送局がサービス事業者を兼ねてもよい。サービス事業者は、他のサービス事業者へのリンク情報を提供することも可能である。サービス事業者は、提供するアプリケーションが公式であることを示すために、システム管理者にアプリケーションの登録を申請し、承認を得ることができる。承認されたアプリケーションは、受信機上での動作に制限を受けない。一方、承認されないアプリケーションが表示させる画面は、番組の表示画面および音声にオーバーラップすることはできないが、アプリケーションの表示画面を縮小して放送番組の画面の外に表示することができる。承認されたアプリケーションをA(Authorized)アプリケーション、承認されないアプリケーションを一般アプリケーションという。なお、Aアプリケーションを、公式アプリケーション、登録アプリケーション、認証済アプリケーション、認定アプリケーション、公認アプリケーション、オーソライズドアプリケーション、A(Authorized)タイプアプリケーションとも呼ぶ。また、一般アプリケーションを、非公式アプリケーション、非認証アプリケーション、非認定アプリケーション、非公認アプリケーション、U(Unauthorized)タイプアプリケーション、Uアプリケーションとも呼ぶ。
システム管理者は、視聴者に提供するアプリケーション(受信機アプリ)がAアプリケーション(公式)であることを認定する機関である。申請されたアプリケーションを承認するか否かのシステム管理者の判断は、放送局からの委託による。
各種設定等を行なうためのアプリケーションを受信機にインストールさせておいてもよい。この際、受信機におけるアプリケーションの表示画面が番組の表示画面(映像)にオーバーラップしてもよい。
放送局により放送された番組を視聴する視聴者は、放送通信連携サービスを享受する。
視聴者は、自身の意思により、アプリケーションをダウンロードしたり、起動したりすることができる。また、視聴者は、自身の意思により、アプリケーションの表示画面を番組の表示画面(映像)にオーバーラップさせることができる。
視聴者は、自身の意思により、アプリケーションをダウンロードしたり、起動したりすることができる。また、視聴者は、自身の意思により、アプリケーションの表示画面を番組の表示画面(映像)にオーバーラップさせることができる。
[1.2 放送通信連携システムのシステム構成]
図3は、放送通信連携システムの全体構成を示す図である。放送通信連携システムは、電波を利用した現行の放送局設備に、機能的に「放送局サーバ群」、「サービス事業者サーバ群」、「受信機」を加えて構成される。
図3は、放送通信連携システムの全体構成を示す図である。放送通信連携システムは、電波を利用した現行の放送局設備に、機能的に「放送局サーバ群」、「サービス事業者サーバ群」、「受信機」を加えて構成される。
放送局は、放送局設備を保有する。さらに放送局は、放送局サーバ群あるいはサービス事業者サーバ群の両方を構成し、管理運営する。また、サービス事業者は、サービス事業者サーバ群を構成し、管理運営する。システム管理者は、リポジトリサーバを管理運営する。受信機メーカは、受信機を製造販売する。視聴者は受信機を保有し、放送通信連携サービスを享受する。
受信機(Hybridcast(登録商標)受信機、放送受信通信装置)は、標準化された共通のAPI(アプリケーションプログラムインタフェース:Application Program Interface)を搭載する。また、受信機は、地上デジタル放送、BS(broadcasting satellite)デジタル放送等の現行方式の放送を受信する。
放送局設備は、放送通信連携サービスを起動するための信号を放送波に多重化する。多重化の方式については後述する。
放送局設備は、放送通信連携サービスを起動するための信号を放送波に多重化する。多重化の方式については後述する。
[1.3 放送局サーバ群の構成例]
放送局サーバ群は、放送局が持っているコンテンツやメタデータを管理し、配信する。
例えば、放送局サーバ群は、各種サーバ、データ蓄積部(DB(データベース))及びAPIを含んで構成され、放送局サーバ群のサーバは、コンテンツ管理サーバ、視聴者管理サーバ、コンテンツ配信サーバ、放送局サービスサーバを含んで構成される。
放送局サーバ群は、放送局が持っているコンテンツやメタデータを管理し、配信する。
例えば、放送局サーバ群は、各種サーバ、データ蓄積部(DB(データベース))及びAPIを含んで構成され、放送局サーバ群のサーバは、コンテンツ管理サーバ、視聴者管理サーバ、コンテンツ配信サーバ、放送局サービスサーバを含んで構成される。
コンテンツを管理するコンテンツ管理サーバは、放送コンテンツである番組とメタデータを管理する。コンテンツ管理サーバには、放送された番組または放送される番組を管理する番組管理サーバや、番組に関連するメタデータを管理するメタデータ管理サーバが含まれる。メタデータは、例えば、番組タイトル、番組ID、番組概要、出演者、スタッフ、放送日時、台本、字幕、解説などを示す。
視聴者管理サーバは、視聴者(ユーザ)を管理し、コンテンツ配信サーバは、通信によりコンテンツデータを配信する。放送局サービスサーバは、放送局がサービス事業者に対してサービスを提供するためのサーバである。放送局サービスサーバが提供するサービスには、例えば、放送局が運営するソーシャルネットワークサービスや、放送番組毎のウェブログ(ブログ)などがある。
放送局サーバ群のデータ蓄積部は、放送局が持っているコンテンツ、メタデータを格納する部分とデータベースから構成される。蓄積されたデータには、管理しているサービス事業者のみがアクセス可能であり、他者からはアクセスできないように制限している。
放送局サーバ群のAPIは、サービス事業者サーバ群からの要求に応じてデータを提供するためのAPIである。APIは、アプリケーションがサービスを受けるために呼び出すプログラムおよびその実行部である。
[1.4 サービス事業者サーバ群の構成例]
サービス事業者が管理運営するサービスサーバ群は、アプリケーションとコンテンツを管理し、提供する。サービスサーバ群は、受信機アプリサーバ、サービスサーバ、コンテンツ配信サーバ、データ蓄積部(DB(データベース))及びAPIを含んで構成される。
サービス事業者が管理運営するサービスサーバ群は、アプリケーションとコンテンツを管理し、提供する。サービスサーバ群は、受信機アプリサーバ、サービスサーバ、コンテンツ配信サーバ、データ蓄積部(DB(データベース))及びAPIを含んで構成される。
受信機アプリサーバは、放送通信連携サービスのアプリケーションを管理するサーバである。サービス事業者は、受信機で動作するアプリケーションを保存、管理、配信する。
サービス事業者は、団体または個人で構成される。受信機アプリサーバは、受信機からの要求により、アプリケーションファイル(アプリケーションファイルについては後述する。)の保存場所を受信機に知らせるとともに、アプリケーションファイルを配信する。
サービス事業者は、団体または個人で構成される。受信機アプリサーバは、受信機からの要求により、アプリケーションファイル(アプリケーションファイルについては後述する。)の保存場所を受信機に知らせるとともに、アプリケーションファイルを配信する。
サービスサーバは、受信機で動作しているアプリケーションからの要求によりサービスを提供するサーバである。サービスサーバには、例えば、多言語字幕サーバ、話速変換音声サーバ、ソーシャルTVサーバ、レコメンドサーバ、番組レビューサーバ、ブックマークサーバなどがある。
コンテンツ配信サーバは、受信機で動作しているアプリケーションからの要求によりコンテンツを提供するサーバである。コンテンツ配信サーバには、例えば、VOD(VideoOn Demand)配信サーバ、字幕配信サーバ、マルチビュー配信サーバなどがある。
サービス事業者サーバ群のデータ蓄積部は、コンテンツデータ、メタデータ、サービス事業者が作成したデータ、視聴者データ、アプリケーションファイルを保存する場所である。データ蓄積部に保存されたデータには、管理しているサービス事業者のみがアクセスでき、他者からはアクセスできない。
サービスサーバ群のAPIは、受信機で動作しているアプリケーションからの要求により、アプリケーションファイル、コンテンツ、サービスを提供するためのAPIである。
[1.5 受信機]
受信機は、現行方式の放送を受信し表示するとともに、放送通信連携サービスを実行する。現行方式の放送とは、地上デジタル放送、BSデジタル放送等の衛星放送、データ放送である。また、受信機は、インターネットに接続される。
受信機は、現行方式の放送を受信し表示するとともに、放送通信連携サービスを実行する。現行方式の放送とは、地上デジタル放送、BSデジタル放送等の衛星放送、データ放送である。また、受信機は、インターネットに接続される。
受信機は、受信する放送波に多重された情報をもとにして、サービス事業者サーバにアプリケーションのダウンロード要求を行う。受信機が、ダウンロードしたアプリケーションファイルに含まれるアプリケーションプログラムを実行することによって、受信機上でアプリケーションが動作する。受信機上で動作しているアプリケーションは、サービス事業者サーバにアクセスしてコンテンツを取得する。
また、受信機は、同期機能、アプリ制御機能など放送通信連携サービスを実行するために必要な機能である放送通信連携機能を持つ。放送通信連携機能に対するAPIは共通化されているため、アプリケーションの制作が容易であるとともに、アプリケーションは受信機に依存しない。
放送通信連携サービスでは、パーソナルコンピュータや携帯端末などのデバイスとの連携のための機能も取り入れている。
また、受信機は、同期機能、アプリ制御機能など放送通信連携サービスを実行するために必要な機能である放送通信連携機能を持つ。放送通信連携機能に対するAPIは共通化されているため、アプリケーションの制作が容易であるとともに、アプリケーションは受信機に依存しない。
放送通信連携サービスでは、パーソナルコンピュータや携帯端末などのデバイスとの連携のための機能も取り入れている。
放送通信連携機能には、放送通信連携基本機能と、必要に応じて実装するオプション機能とがある。受信機メーカは、放送通信連携基本機能を全ての受信機に実装する。アプリケーションは、APIを通して放送通信連携機能を利用する。放送通信連携機能は、後述するAPIに基づき動作する。
受信機が実装するAPIは、受信機に依存することなく、アプリケーションの動作が同じになるようにするために規定される。全てのアプリケーションは、APIを通して受信機の処理を行なうため、APIを介さずにアプリケーションが受信機固有の機能にアクセスすることはできない。
[1.6 端末連携モデル]
図4は、放送通信連携システムの端末連携モデルを示す図である。
受信機は、携帯端末などの端末と連携してサービスを提供することができる。連携する端末には、例えば、パーソナルコンピュータ、携帯電話、タブレット、スマートフォン、PDA(Personal Digital Assistant)などがある。受信機は、受信機機能として他の端末が利用可能な機能をAPIとして提供する。この他の端末が利用可能な機能を提供するAPIを端末連携APIという。例えば、携帯端末上で動作するアプリケーションは、端末連携APIを利用することで、番組情報の取得などの放送リソースにアクセスしたり、再生制御等の受信機機能を呼び出したりすることができる。
図4は、放送通信連携システムの端末連携モデルを示す図である。
受信機は、携帯端末などの端末と連携してサービスを提供することができる。連携する端末には、例えば、パーソナルコンピュータ、携帯電話、タブレット、スマートフォン、PDA(Personal Digital Assistant)などがある。受信機は、受信機機能として他の端末が利用可能な機能をAPIとして提供する。この他の端末が利用可能な機能を提供するAPIを端末連携APIという。例えば、携帯端末上で動作するアプリケーションは、端末連携APIを利用することで、番組情報の取得などの放送リソースにアクセスしたり、再生制御等の受信機機能を呼び出したりすることができる。
[1.6.1 端末連携API]
端末連携APIは、他の端末やその端末上で動作するアプリケーションが受信機の機能を利用するためのAPIである。連携する端末は、ホームネットワーク(LAN)上の端末及びインターネットを通してアクセスする端末を対象とする。各種動作を提供するAPIの規定は後述する。
端末連携APIは、他の端末やその端末上で動作するアプリケーションが受信機の機能を利用するためのAPIである。連携する端末は、ホームネットワーク(LAN)上の端末及びインターネットを通してアクセスする端末を対象とする。各種動作を提供するAPIの規定は後述する。
[1.6.2 端末連携API提供プロセス]
受信機上で動作する端末連携API提供プロセスは、端末連携APIを動作させる。端末連携API提供プロセスは、常駐して動作する一種のデーモンプロセスのように動作する。
受信機上で動作する端末連携API提供プロセスは、端末連携APIを動作させる。端末連携API提供プロセスは、常駐して動作する一種のデーモンプロセスのように動作する。
[1.6.3 APIを呼び出すプロトコル]
端末連携APIを呼び出すプロトコルには、例えば、RESTful(REST:Representational State Transfer)、UPnP(Universal Plug and Play)、XMPP(eXtensible Messaging and Presence Protocol)などが用いられる。
端末連携APIを呼び出すプロトコルには、例えば、RESTful(REST:Representational State Transfer)、UPnP(Universal Plug and Play)、XMPP(eXtensible Messaging and Presence Protocol)などが用いられる。
[1.6.4 プッシュ通知(Notification)機能]
受信機は、インターネット上のサーバ等が受信機に対してプッシュで情報を通知するNotification(通知)機能にも対応する。受信機はサーバ等からのプッシュにより通知された情報を受信する。Notification機能によって、なんらかの受信機動作を制御する場合があり、Notification機能も端末連携API仕様の一部として規定される。
受信機は、インターネット上のサーバ等が受信機に対してプッシュで情報を通知するNotification(通知)機能にも対応する。受信機はサーバ等からのプッシュにより通知された情報を受信する。Notification機能によって、なんらかの受信機動作を制御する場合があり、Notification機能も端末連携API仕様の一部として規定される。
[2. 放送通信連携アプリケーション]
[2.1 サービスとアプリケーションモデル]
放送通信連携システムのアプリケーションモデルは、DVB−GEM1.2のアプリケーションモデルの考え方をベースに追加、変更したモデルである。
[2.1 サービスとアプリケーションモデル]
放送通信連携システムのアプリケーションモデルは、DVB−GEM1.2のアプリケーションモデルの考え方をベースに追加、変更したモデルである。
[2.1.1 放送通信連携アプリケーション]
放送通信連携サービスのアプリケーションの動作は、AV(Audio Visual)コンテンツに連動した動作(連動)と、アプリケーション単独での動作(非連動)の2つのパターンに分類される。AVコンテンツとは、放送コンテンツ(番組)または通信コンテンツ(VoD等)である。
放送通信連携サービスのアプリケーションの動作は、AV(Audio Visual)コンテンツに連動した動作(連動)と、アプリケーション単独での動作(非連動)の2つのパターンに分類される。AVコンテンツとは、放送コンテンツ(番組)または通信コンテンツ(VoD等)である。
連動の場合、起動などのアプリケーションのライフサイクル制御は、放送または通信コンテンツに連動して行われる。アプリケーションは、AVコンテンツと一緒に配信されるAIT(Application Information Table)(アプリケーション情報テーブル、アプリケーション起動情報)をもとに起動される。この場合、視聴者による起動や終了の操作に加え、放送事業者などのAVコンテンツの提供者がアプリケーションの自動起動や、終了などのライフサイクルを制御することも可能である。
一方、非連動の場合、放送や通信コンテンツに連動せずに、アプリケーション単独で起動、終了される。この場合、アプリケーションの開始や終了などのアプリケーションのライフサイクルは、視聴者によってのみ制御される。
一方、非連動の場合、放送や通信コンテンツに連動せずに、アプリケーション単独で起動、終了される。この場合、アプリケーションの開始や終了などのアプリケーションのライフサイクルは、視聴者によってのみ制御される。
[2.1.2 サービス]
従来、サービスとは、放送事業者が編成し、スケジュールの一環として放送可能な番組の連続のことをいうが、放送通信連携システムにおいてはこの考え方を拡張し、ストリーム従属型サービスと独立型サービスの2つのサービス種別を定義する。
従来、サービスとは、放送事業者が編成し、スケジュールの一環として放送可能な番組の連続のことをいうが、放送通信連携システムにおいてはこの考え方を拡張し、ストリーム従属型サービスと独立型サービスの2つのサービス種別を定義する。
図5は、サービス種別の概念図を示す。
受信機において、ストリーム従属型サービス及び独立型サービスを擬似的に選局することで、関連するアプリケーションが起動することになる。
ストリーム従属型サービスは、従来の意味でのサービスの考え方を拡張したものであり、放送や通信で伝送するAVストリームに、それに連動して動作するアプリケーション(複数可)を加えて構成される。AVストリームの選択・再生(放送の場合は選局)によって連動してアプリケーションを起動することができる。
一方、独立型サービスは、映像・音声のストリームは含まず、アプリケーション(複数可)のみで構成される。視聴者が独立型サービスを選択することで、アプリケーションが起動される。
受信機において、ストリーム従属型サービス及び独立型サービスを擬似的に選局することで、関連するアプリケーションが起動することになる。
ストリーム従属型サービスは、従来の意味でのサービスの考え方を拡張したものであり、放送や通信で伝送するAVストリームに、それに連動して動作するアプリケーション(複数可)を加えて構成される。AVストリームの選択・再生(放送の場合は選局)によって連動してアプリケーションを起動することができる。
一方、独立型サービスは、映像・音声のストリームは含まず、アプリケーション(複数可)のみで構成される。視聴者が独立型サービスを選択することで、アプリケーションが起動される。
[2.1.3 オンザフライで取得するアプリ起動とインストールしたアプリの起動]
アプリケーションの起動には、オンザフライでアプリケーションファイルを取得して起動する方法と、予め受信機に蓄積(インストール)しておいたアプリケーションファイルを起動する方法の2つがある。オンザフライとは、アプリケーションの実行時に通信によってアプリケーションファイルを取得する方法であり、非インストール型、直接実行型ともいう。
アプリケーションの起動には、オンザフライでアプリケーションファイルを取得して起動する方法と、予め受信機に蓄積(インストール)しておいたアプリケーションファイルを起動する方法の2つがある。オンザフライとは、アプリケーションの実行時に通信によってアプリケーションファイルを取得する方法であり、非インストール型、直接実行型ともいう。
なお、受信機は、後述するAITによるアプリケーションの周知をもとに、ローカルのファイルシステムにあるアプリケーションファイルのアプリケーションプログラムを起動する。受信機は、通信によりアプリケーションファイルを取得してインストールする際、関連するAITに設定されているロケーション階層内の情報(2.5.1節参照)をローカルのファイルシステム上のロケーションに書き換え、必要に応じて独立型サービスを識別する値(独立型サービスのAIT単位で必要)を生成する動作などが必要となる。
[2.2 アプリケーションの周知法(シグナリング)]
[2.2.1 アプリケーション起動情報(AIT)]
サービスに含まれるアプリケーションの周知は、サービス選択時に通知されるアプリケーション起動情報によって行う。アプリケーション起動情報としてARIB STD−B23(以下、ARIB−Jと記載)で定義されているAITを用いる。ストリーム従属型サービス、独立型サービスそれぞれで、そのサービス用のAITが周知される。各サービスにおけるAITの送り方の詳細を以下に示す。
[2.2.1 アプリケーション起動情報(AIT)]
サービスに含まれるアプリケーションの周知は、サービス選択時に通知されるアプリケーション起動情報によって行う。アプリケーション起動情報としてARIB STD−B23(以下、ARIB−Jと記載)で定義されているAITを用いる。ストリーム従属型サービス、独立型サービスそれぞれで、そのサービス用のAITが周知される。各サービスにおけるAITの送り方の詳細を以下に示す。
図6は、放送通信連携システムに使用するAITのテキスト表現の例を示す図である。
放送通信連携システムにおいて使用するAITは、ARIB−Jで規定されるAITをベースとする。AITには、SI(Service Information)のテーブルで伝送するためのバイナリ表現と、XML(extensible markup language)形式によるテキスト表現(AIT File)とが存在し、同図では、テキスト表現の例を示している。AITには、アプリケーションを特定するアプリケーションID(applicationIdentifier)、アプリケーション状態を制御する制御コード(controlCode)、アプリケーションファイルの格納位置(格納場所)を示すロケーション情報(location)などが記述される。
放送通信連携システムにおいて使用するAITは、ARIB−Jで規定されるAITをベースとする。AITには、SI(Service Information)のテーブルで伝送するためのバイナリ表現と、XML(extensible markup language)形式によるテキスト表現(AIT File)とが存在し、同図では、テキスト表現の例を示している。AITには、アプリケーションを特定するアプリケーションID(applicationIdentifier)、アプリケーション状態を制御する制御コード(controlCode)、アプリケーションファイルの格納位置(格納場所)を示すロケーション情報(location)などが記述される。
[2.2.2 AVコンテンツに連動するアプリケーションの周知]
AVコンテンツに連動するアプリケーションの周知は、MPEG(Moving Picture Experts Group)−2 TS(トランスポートストリーム:Transport Stream)で伝送するAVコンテンツにAITを多重する場合と、別途AITの情報を送る場合がある。AVコンテンツと連動させてAITを伝送することにより、受信機において、放送番組に連動するアプリケーションの起動や、番組の進行に連動したダイナミックなアプリケーションの起動などのライフサイクル制御が可能となる。
周知方法には、例えば、(1)AIT用のES(エレメンタリーストリーム:Elementary Stream)追加、(2)EIT(イベント情報テーブル:EventInformationTable)への記述子追加、(3)カルーセルでの伝送、(4)通信でのAITファイルの取得、(5)通信でのダイナミックなAITファイルの伝送、などがある。
AVコンテンツに連動するアプリケーションの周知は、MPEG(Moving Picture Experts Group)−2 TS(トランスポートストリーム:Transport Stream)で伝送するAVコンテンツにAITを多重する場合と、別途AITの情報を送る場合がある。AVコンテンツと連動させてAITを伝送することにより、受信機において、放送番組に連動するアプリケーションの起動や、番組の進行に連動したダイナミックなアプリケーションの起動などのライフサイクル制御が可能となる。
周知方法には、例えば、(1)AIT用のES(エレメンタリーストリーム:Elementary Stream)追加、(2)EIT(イベント情報テーブル:EventInformationTable)への記述子追加、(3)カルーセルでの伝送、(4)通信でのAITファイルの取得、(5)通信でのダイナミックなAITファイルの伝送、などがある。
(1)AIT用のES追加の場合、ARIB−Jにおける規定と同様にAITのESを放送TSに多重する。
(2)EITへの記述子追加の場合、後述する提示制御と同様に、EIT(p/f)への記述子を追加し、AITで伝送される情報と同じ情報を伝送する。
(3)カルーセルでの伝送の場合、DSM−CC(Digital Storage Media Command and Control)データカルーセルでAITを伝送する。例えば、特定のモジュールでAITファイルを伝送する。カルーセルで伝送することで、取得時間のオーバーヘッドが想定されるが、現行の放送信号を変更する必要がない。
カルーセルでの運用例として、放送通信連携起動ファイル伝送用カルーセルのコンポーネントタグ、モジュールを固定する。例えば、コンポーネントタグに「AA」を、モジュールIDに「0000」を設定し、モジュールのType記述子にAITであることを示すタイプを設定する。受信機は、モジュールの更新を監視し、更新を検出するとAITを読み直し、AITにより指定された制御(アプリケーションのライフサイクル制御)を実行する。
カルーセルでの運用例として、放送通信連携起動ファイル伝送用カルーセルのコンポーネントタグ、モジュールを固定する。例えば、コンポーネントタグに「AA」を、モジュールIDに「0000」を設定し、モジュールのType記述子にAITであることを示すタイプを設定する。受信機は、モジュールの更新を監視し、更新を検出するとAITを読み直し、AITにより指定された制御(アプリケーションのライフサイクル制御)を実行する。
(4)通信でのAITファイルの取得の場合、AVコンテンツの選択と同時に、別に用意されたAITファイルを取得する。例えば、再生するAVコンテンツの情報(コンテンツID)とアプリケーション起動情報(AIT)が記述された情報を起点に両者を取得する。サーバ型放送(ARIB TR−B27)の利用単位コンテンツやエントリーコンポーネントの考え方を利用することができる。
(5)通信でのダイナミックなAITの伝送の場合、AVコンテンツを再生中に、新たなアプリケーションを起動したり、起動中のアプリケーションを終了させたりする制御を通信で伝送するAITにより行う。なお、予め想定されていないタイミングでの制御を行なう場合、通信を経由したプッシュによる通知を行なう。
[2.2.3 独立して動作するアプリケーションの周知]
受信機は、独立して動作するアプリケーションの起動情報を含むAITを通信により取得する。独立アプリケーションは、既知のアプリケーションリポジトリから取得する。個々の独立アプリケーションの起動情報を取得するまでの手順を以下に示す。
受信機は、独立して動作するアプリケーションの起動情報を含むAITを通信により取得する。独立アプリケーションは、既知のアプリケーションリポジトリから取得する。個々の独立アプリケーションの起動情報を取得するまでの手順を以下に示す。
(1)受信機にアプリケーションリポジトリのロケーションをセットする。出荷時に予め設定してもよく、複数のリポジトリを後から何らかの方法で追加してもよい。
(2)アプリケーションメニューを開くと、受信機はアプリケーションリポジトリからアプリケーションのリスト(各アプリのAITのロケーション記述を含む)を取得し、メニューにアプリを表示する。
(3)視聴者が選択したアプリケーションのAITを通信から取得する。
(2)アプリケーションメニューを開くと、受信機はアプリケーションリポジトリからアプリケーションのリスト(各アプリのAITのロケーション記述を含む)を取得し、メニューにアプリを表示する。
(3)視聴者が選択したアプリケーションのAITを通信から取得する。
上記の手順は、リポジトリが提供するWEB(ウェブ) APIを利用して実行される。また、独立して動作するアプリケーションは、AVコンテンツと連動して動作するものではないため、予め指定したタイミングでの動的なライフサイクルコントロールは行わない。予め指定されていないタイミングでの制御(終了など)は、通信経由でのプッシュでの通知(Notification)により行なう。
[2.3 アプリケーションの起動と終了]
[2.3.1 アプリケーションのライフサイクル]
[2.3.1.1 ライフサイクル]
図7は、アプリケーションのライフサイクルを示す図である。
アプリケーションの状態は、ARIB−Jにおけるアプリケーションの状態に準じ、「Not Loaded(ロード前)」、「Loaded(ロード後)」、「Paused(休止)」、「Started(開始)」、「Destroyed(破壊)」の5つの状態を持つ。これら5つの状態において、アプリケーションがロード、実行されて終了するまでの一連の過程をアプリケーションのライフサイクルと呼び、各状態間の遷移の制御をライフサイクルコントロールと呼ぶ。
[2.3.1 アプリケーションのライフサイクル]
[2.3.1.1 ライフサイクル]
図7は、アプリケーションのライフサイクルを示す図である。
アプリケーションの状態は、ARIB−Jにおけるアプリケーションの状態に準じ、「Not Loaded(ロード前)」、「Loaded(ロード後)」、「Paused(休止)」、「Started(開始)」、「Destroyed(破壊)」の5つの状態を持つ。これら5つの状態において、アプリケーションがロード、実行されて終了するまでの一連の過程をアプリケーションのライフサイクルと呼び、各状態間の遷移の制御をライフサイクルコントロールと呼ぶ。
[2.3.1.2 AVコンテンツに連動するアプリケーションの基本的ライフサイクル制御]
AVコンテンツに連動するアプリケーションのライフサイクルの制御は、ストリーム従属型サービスの選択を通して行われることを基本とする。
ストリーム従属型サービスの選択は視聴者によって行われる。サービスは、AVコンテンツやアプリケーションを含む一連のコンテンツのセットであり、アプリケーションと一緒に送られるAITに含まれる制御コードよって起動や終了などのライフサイクルが制御される。一つのサービスに複数のアプリケーションが含まれ、それらが同時に動作する場合もある。
AVコンテンツに連動するアプリケーションのライフサイクルの制御は、ストリーム従属型サービスの選択を通して行われることを基本とする。
ストリーム従属型サービスの選択は視聴者によって行われる。サービスは、AVコンテンツやアプリケーションを含む一連のコンテンツのセットであり、アプリケーションと一緒に送られるAITに含まれる制御コードよって起動や終了などのライフサイクルが制御される。一つのサービスに複数のアプリケーションが含まれ、それらが同時に動作する場合もある。
アプリケーション起動のトリガとなるサービスの選択は、受信機APIを通してアプリケーションから制御する場合や、受信機のレジデントアプリケーションとしてのナビゲータから制御する場合、放送サービスの場合はリモコンボタンを制御する場合、などがある。サービス切り替え時に、切り替え前後のサービスに含まれるコンテンツ(AVコンテンツやアプリケーション)の提示が切り替えられる。切り替え前後のサービスに含まれるアプリケーションが異なる場合は、切り替え前に起動していたアプリケーションはサービス切り替えによって終了し、切り替え後には異なるアプリケーションが起動可能となる。これらの動作の詳細は、2.4節に後述する。
[2.3.2 アプリケーションの起動]
[2.3.2.1 AITによる起動]
受信機においてサービス(ストリーム従属型サービス、独立型サービス)が選択されたとき、サービスと共に提供されるAITに含まれる制御コードで「auto-start」が指定されたアプリケーションは、視聴者からの明示的なアクションなしでサービス選択とともに自動的に起動する。サービス選択中は、そのサービスに対するアプリケーションシグナリングによってライフサイクルが制御される。例えば、放送サービスの場合は、放送と共に伝送されるAITを受信機が常に監視し、その変化に対応する。このように、AITの伝送などのアプリケーションシグナリングによって、受信機において新たなアプリケーションを途中で自動起動(auto-start)するよう制御できる。
[2.3.2.1 AITによる起動]
受信機においてサービス(ストリーム従属型サービス、独立型サービス)が選択されたとき、サービスと共に提供されるAITに含まれる制御コードで「auto-start」が指定されたアプリケーションは、視聴者からの明示的なアクションなしでサービス選択とともに自動的に起動する。サービス選択中は、そのサービスに対するアプリケーションシグナリングによってライフサイクルが制御される。例えば、放送サービスの場合は、放送と共に伝送されるAITを受信機が常に監視し、その変化に対応する。このように、AITの伝送などのアプリケーションシグナリングによって、受信機において新たなアプリケーションを途中で自動起動(auto-start)するよう制御できる。
AITによるアプリケーション起動情報において「auto-start」が指定されていないアプリケーションは、自動的には起動されず、視聴者による明示的な起動が必要となる。この明示的な起動は、受信機のレジデントアプリケーションのアプリケーションローンチャーによって行われる。例えば、放送サービス選択時に、リモコンの放送通信連携サービスボタンを押すことで、受信機においてアプリケーション起動用のメニューが開き、現在の放送(通信)サービスに連動するアプリケーション一覧が表示される。ここで視聴者は、受信機に対して、起動したいアプリケーションを選択・起動する操作を行う。
[2.3.2.2 放送通信連携アプリケーションからの起動]
サービス内で複数のアプリケーションを起動できるため、起動済のアプリケーションから同じサービスに含まれる他のアプリケーションを起動することもある。ARIB−Jアプリケーション実行環境では、アプリケーションIDを指定することにより他のアプリケーションを起動するAPIが規定されている。その他の実行環境の場合も、同様の機能をもったAPIを規定する。
サービス内で複数のアプリケーションを起動できるため、起動済のアプリケーションから同じサービスに含まれる他のアプリケーションを起動することもある。ARIB−Jアプリケーション実行環境では、アプリケーションIDを指定することにより他のアプリケーションを起動するAPIが規定されている。その他の実行環境の場合も、同様の機能をもったAPIを規定する。
[2.3.2.3 BML(Broadcast Markup Language)からの起動]
受信機は、放送通信連携アプリケーション実行環境に加えて、現行のBMLデータ放送の実行環境を備えることから、BMLのAPIとして放送通信連携アプリケーションの起動を制御するAPIを追加する。なお、BMLは、ARIB STD B24に規定されるマルチメディア符号化方式であり、現行の日本の地上・BS・CSデジタル放送におけるデータ放送方式として採用されている。
受信機は、放送通信連携アプリケーション実行環境に加えて、現行のBMLデータ放送の実行環境を備えることから、BMLのAPIとして放送通信連携アプリケーションの起動を制御するAPIを追加する。なお、BMLは、ARIB STD B24に規定されるマルチメディア符号化方式であり、現行の日本の地上・BS・CSデジタル放送におけるデータ放送方式として採用されている。
[2.3.2.4 独立して動作するアプリケーションの起動]
独立型サービスは、アプリケーションのみを含む仮想的なサービスであり、独立アプリケーションを選択することで、2.3.2.1節のAITによる起動と同じメカニズムによりAITを取得してアプリケーションが起動される。ただし、独立型サービスでは、少なくとも1つのauto-startアプリケーションが起動される。独立型サービスの選択は、例えば、アプリケーションローンチャーから行う。
独立型サービスは、アプリケーションのみを含む仮想的なサービスであり、独立アプリケーションを選択することで、2.3.2.1節のAITによる起動と同じメカニズムによりAITを取得してアプリケーションが起動される。ただし、独立型サービスでは、少なくとも1つのauto-startアプリケーションが起動される。独立型サービスの選択は、例えば、アプリケーションローンチャーから行う。
[2.3.3 アプリケーションの終了]
[2.3.3.1 AITによる終了]
起動されたアプリケーションは、そのサービスに対するアプリケーションシグナリングによってライフサイクルが制御される。例えば、放送の場合は、放送と共に伝送されるAITを受信機が常に監視し、起動中のアプリケーションに対して制御コードdestroyを指定することで、アプリケーションを終了する。通信で伝送するストリーム従属型サービスにAITが多重されている場合も、連動するアプリケーションの終了制御が可能である。
[2.3.3.1 AITによる終了]
起動されたアプリケーションは、そのサービスに対するアプリケーションシグナリングによってライフサイクルが制御される。例えば、放送の場合は、放送と共に伝送されるAITを受信機が常に監視し、起動中のアプリケーションに対して制御コードdestroyを指定することで、アプリケーションを終了する。通信で伝送するストリーム従属型サービスにAITが多重されている場合も、連動するアプリケーションの終了制御が可能である。
[2.3.3.2 アプリケーション自身による終了]
アプリケーション自身が、終了用のAPIを用いて自ら終了する。
アプリケーション自身が、終了用のAPIを用いて自ら終了する。
[2.3.3.3 他のアプリケーションによる終了]
アプリケーションが実行するアプリケーション終了用のAPIを用いて、起動中の他のアプリケーションを終了させる。この場合、他のアプリケーションを終了させる適切なセキュリティポリシーが必要である。
アプリケーションが実行するアプリケーション終了用のAPIを用いて、起動中の他のアプリケーションを終了させる。この場合、他のアプリケーションを終了させる適切なセキュリティポリシーが必要である。
[2.3.3.4 別のサービスへの切替え時の終了]
受信機における別のサービスへの切り替え時、ストリーム従属型サービスに含まれるアプリケーションのうち、切り替え前のサービスに含まれるアプリケーションは終了し、新しいサービスでシグナリングされたアプリケーションが起動される。切り替え前後のサービスに同じアプリケーションが含まれる場合は、動作を継続することも可能とする。これは、AIT中のフラグで制御する。ストリーム従属型サービスに含まれるアプリケーションであるサービスバウンドアプリケーションの詳細は、4.2節に後述する。
受信機における別のサービスへの切り替え時、ストリーム従属型サービスに含まれるアプリケーションのうち、切り替え前のサービスに含まれるアプリケーションは終了し、新しいサービスでシグナリングされたアプリケーションが起動される。切り替え前後のサービスに同じアプリケーションが含まれる場合は、動作を継続することも可能とする。これは、AIT中のフラグで制御する。ストリーム従属型サービスに含まれるアプリケーションであるサービスバウンドアプリケーションの詳細は、4.2節に後述する。
[2.3.3.5 受信機による終了]
受信機は、指定したアプリケーションを受信機機能により終了する。例えば、受信機が起動中のアプリケーション一覧を表示し、視聴者の選択によって指定のアプリケーションを終了させる。
受信機は、指定したアプリケーションを受信機機能により終了する。例えば、受信機が起動中のアプリケーション一覧を表示し、視聴者の選択によって指定のアプリケーションを終了させる。
[2.3.3.6 動的なアプリケーション終了]
アプリケーションの終了を動的に制御するため、アプリケーションの終了を指示するAITのファイルを受信機に送信する。この場合、AITをプッシュ通知(Notification)する。
アプリケーションの終了を動的に制御するため、アプリケーションの終了を指示するAITのファイルを受信機に送信する。この場合、AITをプッシュ通知(Notification)する。
[2.3.4 複数アプリケーションの起動]
[2.3.4.1 同一サービス内でシグナリングされたアプリケーション]
受信機は、同一のサービスにおいてAITにリストされたアプリケーションを同時実行させることができる。
[2.3.4.1 同一サービス内でシグナリングされたアプリケーション]
受信機は、同一のサービスにおいてAITにリストされたアプリケーションを同時実行させることができる。
[2.3.4.2 AVコンテンツに連動するアプリケーションと独立して動作するアプリケーションの同時起動]
AVコンテンツに連動するアプリケーションは、ストリーム従属型サービス内でしか起動されない。一方、独立して動作するアプリケーションは、任意のタイミングでAVコンテンツに連動するアプリケーションや独立して動作する他のアプリケーションと同時に起動可能とする。
AVコンテンツに連動するアプリケーションは、ストリーム従属型サービス内でしか起動されない。一方、独立して動作するアプリケーションは、任意のタイミングでAVコンテンツに連動するアプリケーションや独立して動作する他のアプリケーションと同時に起動可能とする。
[2.3.4.3 複数アプリケーション起動時のリソース管理]
複数のアプリケーションが起動する場合、それらが同じ受信機のリソース(例えばディスプレイ)を必要とする場合がある。受信機は、リソースマネージャなどの仕組みを備えて、適切にリソースを割り振ったり、リソースが使用出来ない場合はアプリケーションの実行をやめたりするなどの動作を行う。
複数のアプリケーションが起動する場合、それらが同じ受信機のリソース(例えばディスプレイ)を必要とする場合がある。受信機は、リソースマネージャなどの仕組みを備えて、適切にリソースを割り振ったり、リソースが使用出来ない場合はアプリケーションの実行をやめたりするなどの動作を行う。
[2.4 アプリケーションのバウンダリ]
[2.4.1 バウンド/アンバウンドの基本的な扱い]
アプリケーションは編成サービスに紐付いた(対応付けられた)バウンドアプリケーションと紐付かない(対応付けられていない)アンバウンドアプリケーションの2種類がある。バウンドアプリケーションがどの編成サービスと紐付いているかは、当該アプリケーションの起動情報を含んでいるAITがどの編成サービスから得られたかで判定する。
[2.4.1 バウンド/アンバウンドの基本的な扱い]
アプリケーションは編成サービスに紐付いた(対応付けられた)バウンドアプリケーションと紐付かない(対応付けられていない)アンバウンドアプリケーションの2種類がある。バウンドアプリケーションがどの編成サービスと紐付いているかは、当該アプリケーションの起動情報を含んでいるAITがどの編成サービスから得られたかで判定する。
バウンドアプリケーションは、紐付いている編成サービスを受信しているときに実行可能な状態になる。つまり、当該編成サービスからAITによって起動され、当該編成サービスの受信が終了したとき(受信している編成チャンネルが変更されたとき)には実行が終了する。バウンドアプリケーションから起動された別のアプリケーションもバウンドアプリケーションとして扱う。関連する一連のバウンドアプリケーション群の大本である最初に起動されたアプリケーションが終了したときには、それによって起動された他のアプリケーションも終了する。
アンバウンドアプリケーションは編成サービスに紐付いていないので、受信している編成サービスを変更してもアプリケーションの実行は継続される。編成サービスからはアプリケーションを起動するためのAITが得られないので、他の手段(例えば、アプリケーションと紐付いているAIT File(ファイル)を、アプリケーションローンチャー等を用いて入手するなど)によって起動情報が受信機に与えられ、起動される。アンバウンドアプリケーションから起動された別のアプリケーションもアンバウンドアプリケーションとして扱う。アプリケーションは、視聴者の操作によって明示的に終了することが基本であるが、受信している編成サービスから全てのアプリケーションを終了させる指示(KILLALL)がAITによって与えられた場合にも終了する。
[2.4.2 アンバウンドアプリケーション固有の扱い]
アンバウンドアプリケーションは編成サービスと紐付かないが、2.3.2.4節で示すように、仮想的な編成サービス(受信機の起動時に受信機内に生成される)に紐付けることにより、バウンドアプリケーションと同じ起動処理メカニズムが適用できる。
アンバウンドアプリケーションは編成サービスと紐付かないが、2.3.2.4節で示すように、仮想的な編成サービス(受信機の起動時に受信機内に生成される)に紐付けることにより、バウンドアプリケーションと同じ起動処理メカニズムが適用できる。
仮想的な編成サービスの生成方法は受信機の実装依存であり、その編成サービスにどのような識別値を与えるかは受信機実装によって異なる。しかし、アプリケーションファイルを受信機内に蓄積しておいて任意のタイミングでアプリケーションローンチャーから起動できるようにしておく場合、仮想的な編成サービスを識別するIDやアプリケーションファイルの取得先(サービス事業者サーバないしはリポジトリから取得したAITには当該サーバが取得先として記述されているので、受信機内の蓄積領域から取得するように変更する必要がある)などが受信機実装に合うようにAITの内容を受信機が更新する必要がある。
[2.5 アプリケーションの取得方法]
[2.5.1 AITをもとにした取得]
上記の記述のとおり、全てのアプリケーションの起動情報はAITにより与えられる。
アプリケーションファイルの取得は、AITに含まれるアプリケーションのロケーション情報により指示される。例えば、図3の例ではロケーション情報は、「/ApplicationList/Application/applicationSpecificDescriptor/dvbjDescriptor/location」の階層に記述される(XMLとしてはlocation要素の内容として記述される)。ロケーション情報の記述は、例えば、「http://192.168.11.37/demo.jar」となる。
上記は、HTTP(Hypertext Transfer Protocol)プロトコルを用いて、demo.jar(Java(登録商標)のアプリケーションアーカイブ)を取得する例である。使用するトランスポートプロトコルや、アプリケーションのパッケージフォーマットについては、後述する。
[2.5.1 AITをもとにした取得]
上記の記述のとおり、全てのアプリケーションの起動情報はAITにより与えられる。
アプリケーションファイルの取得は、AITに含まれるアプリケーションのロケーション情報により指示される。例えば、図3の例ではロケーション情報は、「/ApplicationList/Application/applicationSpecificDescriptor/dvbjDescriptor/location」の階層に記述される(XMLとしてはlocation要素の内容として記述される)。ロケーション情報の記述は、例えば、「http://192.168.11.37/demo.jar」となる。
上記は、HTTP(Hypertext Transfer Protocol)プロトコルを用いて、demo.jar(Java(登録商標)のアプリケーションアーカイブ)を取得する例である。使用するトランスポートプロトコルや、アプリケーションのパッケージフォーマットについては、後述する。
[2.5.2 アプリケーションのパッケージフォーマット]
アプリケーションのパッケージフォーマットは、アプリケーションフォーマット(Java(登録商標)やHTML5)などに依存する。受信機は、何らかのひとかたまりになったファイル、もしくはエントリーファイルを取得することによって、アプリケーション起動に必要な一連のファイル(プログラム本体や画像ファイルなど)を取得する。この一連のファイルがアプリケーションファイルである。例えば、アプリケーションファイルには、一連のファイルを圧縮したもの(zipファイル等)、Jarファイル(Java(登録商標)実行環境)、エントリーのHTMLファイル(HTML5実行環境の場合)、独自に規定したエントリーファイルなどのフォーマットが使用される。
アプリケーションのパッケージフォーマットは、アプリケーションフォーマット(Java(登録商標)やHTML5)などに依存する。受信機は、何らかのひとかたまりになったファイル、もしくはエントリーファイルを取得することによって、アプリケーション起動に必要な一連のファイル(プログラム本体や画像ファイルなど)を取得する。この一連のファイルがアプリケーションファイルである。例えば、アプリケーションファイルには、一連のファイルを圧縮したもの(zipファイル等)、Jarファイル(Java(登録商標)実行環境)、エントリーのHTMLファイル(HTML5実行環境の場合)、独自に規定したエントリーファイルなどのフォーマットが使用される。
[2.5.3 アプリケーションの伝送方法]
アプリケーションファイルをネットワーク経由で取得する際の伝送方法には、HTTPプロトコルによる取得と、FILEプロトコルによる取得とがある。
HTTPプロトコルによる取得の場合、GETメソッドにより取得する。AITのロケーションの指定は、「http://〜」とする。
一方、FILEプロトコルによる取得の場合、受信機のローカルに保存された(インストールされた)アプリケーションファイル(アプリケーションプログラム)を指定するときには、AITのロケーションの指定を「file:///〜」とする。
アプリケーションファイルをネットワーク経由で取得する際の伝送方法には、HTTPプロトコルによる取得と、FILEプロトコルによる取得とがある。
HTTPプロトコルによる取得の場合、GETメソッドにより取得する。AITのロケーションの指定は、「http://〜」とする。
一方、FILEプロトコルによる取得の場合、受信機のローカルに保存された(インストールされた)アプリケーションファイル(アプリケーションプログラム)を指定するときには、AITのロケーションの指定を「file:///〜」とする。
[3. インタフェース条件]
[3.1 放送波の放送通信連携サービス制御信号]
放送波には、2.2.2節で前述したアプリケーション起動情報を送出するメカニズムが必要である。さらに、緊急警報放送時などを想定して、全てのアプリケーションを強制終了させるために、ARIB STD−B23第二部 10.16.3.2節で規定するAITのアプリケーション制御コード(application_control_code)に「KILLALL」を追加する。表1は、追加する制御コード「KILLALL」の意味を示す。
[3.1 放送波の放送通信連携サービス制御信号]
放送波には、2.2.2節で前述したアプリケーション起動情報を送出するメカニズムが必要である。さらに、緊急警報放送時などを想定して、全てのアプリケーションを強制終了させるために、ARIB STD−B23第二部 10.16.3.2節で規定するAITのアプリケーション制御コード(application_control_code)に「KILLALL」を追加する。表1は、追加する制御コード「KILLALL」の意味を示す。
また、アプリケーションとAVコンテンツの関係からアプリケーションの提示制御を行うために、EIT、AITに記述子を追加する。詳細は4.3節に後述する。
[3.2 放送局サーバ群API]
図8は、放送通信連携システムにおける事業者間のデータの流れを示す図であり、図9は、放送通信連携システム全体におけるデータの流れを示す図である。
ここでは、図8に示す、放送局サーバ群とサービス事業者サーバ群のサービス毎のサーバとの間、放送局サーバ群と放送通信連携基盤サーバとの間、及び、放送通信連携基盤サーバとサービス事業者サーバ群のサービス毎のサーバとの間のAPIの規定、図9に示す、受信機制御と放送通信連携基盤サーバとの間、メタデータとサービス毎のサーバとの間のAPIについて述べる。
図8は、放送通信連携システムにおける事業者間のデータの流れを示す図であり、図9は、放送通信連携システム全体におけるデータの流れを示す図である。
ここでは、図8に示す、放送局サーバ群とサービス事業者サーバ群のサービス毎のサーバとの間、放送局サーバ群と放送通信連携基盤サーバとの間、及び、放送通信連携基盤サーバとサービス事業者サーバ群のサービス毎のサーバとの間のAPIの規定、図9に示す、受信機制御と放送通信連携基盤サーバとの間、メタデータとサービス毎のサーバとの間のAPIについて述べる。
[3.2.1 API]
放送局サーバ群を構成する各サーバである放送局サーバと、サービス事業者サーバ群を構成する各サーバであるサービス事業者サーバとの間の通信はREST形式とする。また、放送局サーバとサービス事業者サーバとの間は、提供するサービスに応じてサーバのディレクトリー構成が異なることが予想されるため、APIは双方間で取り決める。放送局サーバ及びサービス事業者サーバのURLの例を以下に示す。
放送局サーバ群を構成する各サーバである放送局サーバと、サービス事業者サーバ群を構成する各サーバであるサービス事業者サーバとの間の通信はREST形式とする。また、放送局サーバとサービス事業者サーバとの間は、提供するサービスに応じてサーバのディレクトリー構成が異なることが予想されるため、APIは双方間で取り決める。放送局サーバ及びサービス事業者サーバのURLの例を以下に示す。
http://hybridcast.org/{放送局名}/{サーバ名}/{コンテントID}/{管理するデータ}/{ソート方法}/{先頭アイテム},{個数}/?{パラメータ}={値}/
[3.2.2 レコメンドサービス]
図10は、レコメンドサービスのシーケンスを示す図である。サービス事業者サーバ群と、放送局サーバのインタフェース部との間で使用されるメソッドは、「GET」、「POST」、「PUT」、「DELETE」である。コマンドフォーマットの例を以下に示す。
図10は、レコメンドサービスのシーケンスを示す図である。サービス事業者サーバ群と、放送局サーバのインタフェース部との間で使用されるメソッドは、「GET」、「POST」、「PUT」、「DELETE」である。コマンドフォーマットの例を以下に示す。
(1)http://hybridcast.or.jp/{放送局名}/(サーバ名)/{コンテントID}/{管理するデータ}/{ソート方法}/{先頭アイテム},{個数}/
(2)http://hybridcast.or.jp/{放送局名}/(サーバ名)/{視聴者ID}/{管理するデータ}/{ソート方法}/{先頭アイテム},{個数}/
(3)http://hybridcast.or.jp/{放送局名}/(サーバ名)/{レビューID}/{管理するデータ}/{ソート方法}/{先頭アイテム},{個数}/
(2)http://hybridcast.or.jp/{放送局名}/(サーバ名)/{視聴者ID}/{管理するデータ}/{ソート方法}/{先頭アイテム},{個数}/
(3)http://hybridcast.or.jp/{放送局名}/(サーバ名)/{レビューID}/{管理するデータ}/{ソート方法}/{先頭アイテム},{個数}/
また、パラメータには、{放送局名}、{サーバ名}、{コンテントID}、{視聴者ID}、{レビューID}、{管理するデータ}、{ソート方法}、{先頭アイテム}、{個数}等々がある。
[3.2.3 管理対象のデータ]
管理対象のデータには、コンテンツ情報、ユーザ情報、ユーザ・ジェネレイテッド・コンテンツ情報、デバイス情報、認証情報がある。
コンテンツ情報は、タイトル、概要、ジャンル、放送日時、放送時間(尺)、映像モード、音声モード、字幕データ、台本、出演者、音楽、制作者、製作会社、著作、推薦番組、動画URI、再生回数、CM、タイムスタンプ情報、等を示すデータを含む。ユーザ情報は、ユーザ(視聴者)の名前、年齢、性別、地域、レビュー書込み数、コメント書込み数、お気に入り、フレンドリスト、再生場所(時刻)、再生終了場所(時刻)、番組視聴履歴等を示すデータを含む。ユーザ・ジェネレイテッド・コンテンツ情報は、コンテンツID、ユーザID、レビュー内容、レビュー書込み時刻、レビュー評価、等を示すデータを含む。デバイス情報は、デバイスIDを含む。認証情報は、認証IDを含む。
管理対象のデータには、コンテンツ情報、ユーザ情報、ユーザ・ジェネレイテッド・コンテンツ情報、デバイス情報、認証情報がある。
コンテンツ情報は、タイトル、概要、ジャンル、放送日時、放送時間(尺)、映像モード、音声モード、字幕データ、台本、出演者、音楽、制作者、製作会社、著作、推薦番組、動画URI、再生回数、CM、タイムスタンプ情報、等を示すデータを含む。ユーザ情報は、ユーザ(視聴者)の名前、年齢、性別、地域、レビュー書込み数、コメント書込み数、お気に入り、フレンドリスト、再生場所(時刻)、再生終了場所(時刻)、番組視聴履歴等を示すデータを含む。ユーザ・ジェネレイテッド・コンテンツ情報は、コンテンツID、ユーザID、レビュー内容、レビュー書込み時刻、レビュー評価、等を示すデータを含む。デバイス情報は、デバイスIDを含む。認証情報は、認証IDを含む。
[3. トランスポートフォーマット]
[3.3.1 通信で扱う映像/音声について]
通信で扱う映像や音声は、デジタルテレビネットワーク機能仕様 ストリーミング機能仕様書 プロトコル編V1.1(デジタルテレビ情報化研究会)に準拠する。
[3.3.1 通信で扱う映像/音声について]
通信で扱う映像や音声は、デジタルテレビネットワーク機能仕様 ストリーミング機能仕様書 プロトコル編V1.1(デジタルテレビ情報化研究会)に準拠する。
[3.3.1.1 映像・音声のモノメディアフォーマットとの関連]
MPEG−2 VideoあるいはH.264/MPEG−4 AVC(Advanced Video Coding)で符号化された映像と、MPEG−1 Audio Layer II、MPEG−2 Audio AACで符号化された音声、および字幕等の多重化には、TTS(Timestamped Transport Stream)形式を使用する。ただし、MPEG2−TS、MMT(MPEG Media Transport)、MP4等も使用可能である。
MPEG−2 VideoあるいはH.264/MPEG−4 AVC(Advanced Video Coding)で符号化された映像と、MPEG−1 Audio Layer II、MPEG−2 Audio AACで符号化された音声、および字幕等の多重化には、TTS(Timestamped Transport Stream)形式を使用する。ただし、MPEG2−TS、MMT(MPEG Media Transport)、MP4等も使用可能である。
[3.3.1.2 転送プロトコル関係]
図11は、転送プロトコルスタックを示す図である。
ストリーム伝送は、RTP(Real-Time Transport Protocol)/UDP(User Datagram protocol)およびHTTP/TCP(Transmission Control Protocol)を用いる。なお、RTP/UDPを用いる場合、オプションとして、誤り訂正の情報を伝送してもよい。また、HTTP/TCPを用いる場合、HTTPのコネクション、メソッド、ヘッダを利用してストリーム制御を行う。伝送がRTP(Real-time Transport Protocol)で行われる場合、ストリーム制御情報はRTSP(Real Time Streaming Protocol)を用いる。
図11は、転送プロトコルスタックを示す図である。
ストリーム伝送は、RTP(Real-Time Transport Protocol)/UDP(User Datagram protocol)およびHTTP/TCP(Transmission Control Protocol)を用いる。なお、RTP/UDPを用いる場合、オプションとして、誤り訂正の情報を伝送してもよい。また、HTTP/TCPを用いる場合、HTTPのコネクション、メソッド、ヘッダを利用してストリーム制御を行う。伝送がRTP(Real-time Transport Protocol)で行われる場合、ストリーム制御情報はRTSP(Real Time Streaming Protocol)を用いる。
[3.3.2 字幕関連]
多言語字幕は、Timed Text Markup Language(W3C(World Wide Web Consortium))に準拠する。なお、同期については別途アプリケーションレベルで実施する。また、各対応フォントはサーバから必要に応じてダウンロードする。例えば、HTTPのペイロードにフォントファイルを載せる。この場合、WebのDynamic Fonts、PFR(PortableFont Resource)を利用する。
フォントの容量は約5−35MB(メガバイト)程度が望ましい。
多言語字幕は、Timed Text Markup Language(W3C(World Wide Web Consortium))に準拠する。なお、同期については別途アプリケーションレベルで実施する。また、各対応フォントはサーバから必要に応じてダウンロードする。例えば、HTTPのペイロードにフォントファイルを載せる。この場合、WebのDynamic Fonts、PFR(PortableFont Resource)を利用する。
フォントの容量は約5−35MB(メガバイト)程度が望ましい。
[3.4 モノメディアフォーマット]
放送通信連携サービスにおけるモノメディア符号化は下記に定義されたものを用いる。
放送通信連携サービスにおけるモノメディア符号化は下記に定義されたものを用いる。
[3.4.1 動画]
動画には、ARIB STD−B32 2.4版第1部3.1節で規定されるMPEG−2 Video方式および同3.2節で規定されるMPEG4−AVC方式が用いられ、同5.1節で規定されるテレビジョンサービスの符号化パラメータの制約条件が適用される。
動画には、ARIB STD−B32 2.4版第1部3.1節で規定されるMPEG−2 Video方式および同3.2節で規定されるMPEG4−AVC方式が用いられ、同5.1節で規定されるテレビジョンサービスの符号化パラメータの制約条件が適用される。
[3.4.2 音声]
音声には、MPEG−2 Audioや、PCM(Pulse Code Modulation)(AIFF−C(Audio Interchange File Format Compression))を用いる。
MPEG−2 Audioの場合、ARIB STD−B32 2.4版第2部3.1節で規定されるMPEG−2 AAC方式が用いられ、同第5章で規定される符号化パラメータの制約条件が適用される。
PCMの場合、ARIB STD−B24 5.4版第一編第2部6.2節で規定される方式が用いられる。
付加音には、ARIB STD−B24 5.4版第一編第2部6.4節で規定される方式が用いられる。
音声には、MPEG−2 Audioや、PCM(Pulse Code Modulation)(AIFF−C(Audio Interchange File Format Compression))を用いる。
MPEG−2 Audioの場合、ARIB STD−B32 2.4版第2部3.1節で規定されるMPEG−2 AAC方式が用いられ、同第5章で規定される符号化パラメータの制約条件が適用される。
PCMの場合、ARIB STD−B24 5.4版第一編第2部6.2節で規定される方式が用いられる。
付加音には、ARIB STD−B24 5.4版第一編第2部6.4節で規定される方式が用いられる。
[3.4.3 静止画]
JPEG(Joint Photographic Experts Group)の場合、ARIB STD−B24
5.4版第一編第2部5.2節で規定される符号化方式が用いられる。
PNG(Portable Network Graphics:ポータブル・ネットワーク・グラフィックス)の場合、ISO/IEC 15948:2003にて規定される方式が用いられる。これは、W3C Recommendation Portable Network Graphics (PNG) Specification (Second Edition)と同内容である。
JPEG(Joint Photographic Experts Group)の場合、ARIB STD−B24
5.4版第一編第2部5.2節で規定される符号化方式が用いられる。
PNG(Portable Network Graphics:ポータブル・ネットワーク・グラフィックス)の場合、ISO/IEC 15948:2003にて規定される方式が用いられる。これは、W3C Recommendation Portable Network Graphics (PNG) Specification (Second Edition)と同内容である。
[3.4.4 文字]
文字符号化には、ARIB STD−B24 5.4版第一編第2部7.2節で規定される国際符号化文字集合が用いられる。
文字符号集合には、同7.2.1.1.3節で規定されるBMP(Basic Multilingual Plane)セットが用られ、表7−20が適用される。また、ISO/IEC10646:2003追補5および同追補6が適用される。
外字には、ARIB STD−B24 5.4版第一編第2部7.2.1.2節で規定される方式またはARIB STD−B23第一部5.2.1.2節で規定される方式などが適用される。
制御符号には、ARIB STD−B24 5.4版第一編第2部7.2.2.1節で規定されるC0制御符号のうち、APR(CR)、APD(LF)のみが用いられる。その他のC0制御符号およびC1制御符号は用いられない。
文字符号の変換は、ARIB STD−B24 5.4版第一編第2部付録規定Eに従う。
文字符号化には、ARIB STD−B24 5.4版第一編第2部7.2節で規定される国際符号化文字集合が用いられる。
文字符号集合には、同7.2.1.1.3節で規定されるBMP(Basic Multilingual Plane)セットが用られ、表7−20が適用される。また、ISO/IEC10646:2003追補5および同追補6が適用される。
外字には、ARIB STD−B24 5.4版第一編第2部7.2.1.2節で規定される方式またはARIB STD−B23第一部5.2.1.2節で規定される方式などが適用される。
制御符号には、ARIB STD−B24 5.4版第一編第2部7.2.2.1節で規定されるC0制御符号のうち、APR(CR)、APD(LF)のみが用いられる。その他のC0制御符号およびC1制御符号は用いられない。
文字符号の変換は、ARIB STD−B24 5.4版第一編第2部付録規定Eに従う。
上記に規定する文字符号化方式以外の方式で情報が符号化されている場合、送出ないしは受信機内の適切なプロセスにおいて上記の文字符号化方式に変換し、処理を行う。すなわち、他の符号化方式による文字符号をアプリケーションからは直接扱わない。
[3.5 アプリケーションフォーマット]
受信機上で実行可能なアプリケーションの記述方法を示す。この記述方法により作成されたアプリケーションを実行するための実行環境と、セキュアマネージャとの結合については4章に示す。
受信機上で実行可能なアプリケーションの記述方法を示す。この記述方法により作成されたアプリケーションを実行するための実行環境と、セキュアマネージャとの結合については4章に示す。
[3.5.1 受信機で実行可能なアプリケーションフォーマット]
受信機で実行可能なアプリケーションの記述方式として、BML(ARIB STD−B24)、ARIB−J(ARIB STD−B23)、HTML5(W3C HTML5
Working draft − 2011/Jan/13)を規定する。
受信機で実行可能なアプリケーションの記述方式として、BML(ARIB STD−B24)、ARIB−J(ARIB STD−B23)、HTML5(W3C HTML5
Working draft − 2011/Jan/13)を規定する。
[3.5.2 BML]
受信機は、地上デジタル放送運用規定(ARIB TR−B14)またはBSデジタル放送運用規定(ARIB TR−B15)に準ずるBML文書を提示する機能を有する。
受信機は、地上デジタル放送またはBSデジタル放送で提供されるデータ放送サービスを既存の規格どおりに提示できなくてはならない。ただし、受信機は、放送でデータカルーセル方式によって配信されるBMLコンテンツの提示のみを必須とし、通信でHTTPプロトコルによって提供されるBMLコンテンツ(TR−B14 第三編第2部5.14節、TR−B15 第一部第三編8.14節)の提示は必須としない。
受信機は、地上デジタル放送運用規定(ARIB TR−B14)またはBSデジタル放送運用規定(ARIB TR−B15)に準ずるBML文書を提示する機能を有する。
受信機は、地上デジタル放送またはBSデジタル放送で提供されるデータ放送サービスを既存の規格どおりに提示できなくてはならない。ただし、受信機は、放送でデータカルーセル方式によって配信されるBMLコンテンツの提示のみを必須とし、通信でHTTPプロトコルによって提供されるBMLコンテンツ(TR−B14 第三編第2部5.14節、TR−B15 第一部第三編8.14節)の提示は必須としない。
また、データ放送コンテンツ(BML)を起点として、以下に規定される通信アプリケーションの起動を行うための放送用拡張APIとして、browser.startHybridcastApp()、getAITInfo()を規定する。
表2は、browser.startHybridcastApp()の規定を示す。browser.startHybridcastApp()は、放送通信連携アプリケーションを起動するAPIである。
表3は、getAITInfo()の規定を示す。getAITInfo()は、受信中のサービスに含まれる最新のAIT情報を取得するAPIである。
[3.5.3 HTML5]
[3.5.3.1 記述方式]
受信機は、通信から提供されるプレゼンテーションエンジン型アプリケーションの記述方式としてHTML5をサポートする。JavaScript APIとして、下記のものをサポートする。なお、下記のAPIのうち、W3Cで検討が行われているものにはWorking Draft(WD)またはEditor’s Draft(ED)が含まれる。ただし、放送波で伝送されるデータカルーセルに関連するAPIは必須としない。
[3.5.3.1 記述方式]
受信機は、通信から提供されるプレゼンテーションエンジン型アプリケーションの記述方式としてHTML5をサポートする。JavaScript APIとして、下記のものをサポートする。なお、下記のAPIのうち、W3Cで検討が行われているものにはWorking Draft(WD)またはEditor’s Draft(ED)が含まれる。ただし、放送波で伝送されるデータカルーセルに関連するAPIは必須としない。
(1)System Information API(W3C Working Draft 02 Feb. 2010)(2)WebSocket API(W3C Editor’s Draft 28 Feb. 2011)(3)File API(W3C Working Draft 26 Oct. 2010)(4)Permission for File API, System Information API(Permissions for Device API Access, W3C Working Draft 05 Oct. 2010)(5)Device Description Repository Simple API(W3C Recommendation 05 Dec. 2008)(6)API for Media Resource 1.0(W3C Working Draft 08 June 2010)(7)Web Storage(W3C Working Draft 08 Feb. 2011)(8)Server-Sent Events(W3C Editor’s Draft 28 Feb. 2011)(9)Indexed Database API(W3C Working Draft 19 Aug. 2010)(10)SIアクセスAPI
(11)選局API
(12)印刷
(13)予約
(11)選局API
(12)印刷
(13)予約
[3.5.3.2 ブラウザ]
受信機のHTML5ブラウザは、JavaScript処理系、Web Workers(W3C Working Draft 08 Feb. 2011)、Widget Interface(W3C Working Draft 3 Feb. 2011)、HTML Canvas2D Context(W3C Editor’s Draft 28 Feb. 2011)の機能を実装する。Web Workersは、マルチタスクをサポートするため、Widget Interfaceは、独立アプリケーションをサポートするため、HTML Canvas 2D Contextは、2次元ベクトルグラフィックスをサポートするために必要である。
受信機のHTML5ブラウザは、JavaScript処理系、Web Workers(W3C Working Draft 08 Feb. 2011)、Widget Interface(W3C Working Draft 3 Feb. 2011)、HTML Canvas2D Context(W3C Editor’s Draft 28 Feb. 2011)の機能を実装する。Web Workersは、マルチタスクをサポートするため、Widget Interfaceは、独立アプリケーションをサポートするため、HTML Canvas 2D Contextは、2次元ベクトルグラフィックスをサポートするために必要である。
[3.5.4 ARIB−J]
受信機は、通信から提供されるアプリケーション実行エンジン型アプリケーションの記述方式としてARIB−Jをサポートする。また、複数ストリーム間の同期APIとしてDVB Bluebook A153(GEM Media Synchronization API)を用いる。
受信機は、通信から提供されるアプリケーション実行エンジン型アプリケーションの記述方式としてARIB−Jをサポートする。また、複数ストリーム間の同期APIとしてDVB Bluebook A153(GEM Media Synchronization API)を用いる。
[3.6 受信機API]
以下に、HTML5およびARIB−Jで使用可能な受信機APIについて説明する。
以下に、HTML5およびARIB−Jで使用可能な受信機APIについて説明する。
[3.6.1 名前空間]
名前空間とは、サーバ上や受信機内に存在する、映像音声コンテンツ、アプリケーション、モノメディアファイルなど、放送通信連携システムで扱う様々なリソースの位置を特定するための文字列の記述規則である。3.5.2節以降で使用する各種リソースを参照するための名前空間の記法は分類毎に規定する。リソースには、インターネットサーバー上のリソース、アプリケーションキャッシュ上のリソース、放送のリソースがある。インターネットサーバー上のリソースには、VODコンテンツなどのストリームリソースや、アプリケーション、アプリケーションから参照されるその他のリソースなどのファイルリソースがある。放送のリソースには、放送中の番組、過去・未来の番組などのストリームリソースや、モジュール、イベントメッセージなどのカルーセルリソースがある。
名前空間とは、サーバ上や受信機内に存在する、映像音声コンテンツ、アプリケーション、モノメディアファイルなど、放送通信連携システムで扱う様々なリソースの位置を特定するための文字列の記述規則である。3.5.2節以降で使用する各種リソースを参照するための名前空間の記法は分類毎に規定する。リソースには、インターネットサーバー上のリソース、アプリケーションキャッシュ上のリソース、放送のリソースがある。インターネットサーバー上のリソースには、VODコンテンツなどのストリームリソースや、アプリケーション、アプリケーションから参照されるその他のリソースなどのファイルリソースがある。放送のリソースには、放送中の番組、過去・未来の番組などのストリームリソースや、モジュール、イベントメッセージなどのカルーセルリソースがある。
[3.6.2 放送通信連携インタフェース]
放送通信連携インタフェースには、以下のインタフェースがある。
放送通信連携インタフェースには、以下のインタフェースがある。
(1)getRunningApplications():実行中のアプリケーションの情報を取得する。getRunningApplicationsの戻り値は、apps[]と、アプリケーション毎のapplication_id及びrunning_levelとを含む。apps[]には、実行中アプリケーションのリストが設定される。application_idには、アプリケーションIDが設定され、アプリケーションが一般アプリケーション(非公式アプリケーション)の場合はnullである。running_levelには、実行レベル(認証結果および視聴者設定の状態)が設定される。
なお、セキュリティ上の観点から、他アプリケーションに関して取得できる情報は制限すべきである。
なお、セキュリティ上の観点から、他アプリケーションに関して取得できる情報は制限すべきである。
(2)queryApplicationInfo():指定したアプリケーションの情報を取得する。
(3)getProgramInfo():受信中の放送の情報を取得する。戻り値は、tuner_state、network_id、ts_id、orig_ts_id、service_id、event_id、content_idである。tuner_stateには、受信状態を表す値が設定される。
(4)getEPGInfo():受信中の放送のEIT(+SDT)中の各種情報を取得する。
(5)saveApplicationToCache():サーバ上のアプリケーションファイルをキャッシュに保存する。
(3)getProgramInfo():受信中の放送の情報を取得する。戻り値は、tuner_state、network_id、ts_id、orig_ts_id、service_id、event_id、content_idである。tuner_stateには、受信状態を表す値が設定される。
(4)getEPGInfo():受信中の放送のEIT(+SDT)中の各種情報を取得する。
(5)saveApplicationToCache():サーバ上のアプリケーションファイルをキャッシュに保存する。
(6)queryApplicationInCache():キャッシュ中のアプリケーションファイル(アプリケーションプログラム)を検索する。queryApplicationInCache()の引数は、application_id、getDSMCCModule()、addBroadcastSignalListener()、getListFromHybridcastMenu()である。application_idには、認証機関から発行されたアプリケーションIDが設定される。getDSMCCModule()は、放送波から指定のモジュールを取得する。addBroadcastSignalListener()は、SI、緊急情報、カルーセルおよびイベントメッセージの更新を監視するリスナを登録する。getListFromHybridcastMenu()は、トップメニューアプリケーションのリストを取得する。queryApplicationInCache()の戻り値は、user_apps[]、broadcaster_apps[]、vendor_apps[]である。
(7)addApplicationToHybridcastMenu():トップメニューにアプリケーションを追加する。
(8)getKeyFromBroadcast():放送から限定サーバーアクセスのための鍵情報を取得する。
(9)querySupportedFunction():アプリケーションブラウザの機能を問い合わせる。これは、機能/APIが利用可能かチェックすることを目的として使用される。
(8)getKeyFromBroadcast():放送から限定サーバーアクセスのための鍵情報を取得する。
(9)querySupportedFunction():アプリケーションブラウザの機能を問い合わせる。これは、機能/APIが利用可能かチェックすることを目的として使用される。
[3.6.3 BroadacastSignalListenerインタフェース]
BroadacastSignalListenerインタフェースは、放送から取得するSI、緊急情報、カルーセル、イベントメッセージを監視するためのリスナーインタフェースである。バウンドアプリケーション実行中に、紐付いている編成サービスが変更された場合にもこのインタフェースのイベントが発生する。
BroadacastSignalListenerインタフェースは、放送から取得するSI、緊急情報、カルーセル、イベントメッセージを監視するためのリスナーインタフェースである。バウンドアプリケーション実行中に、紐付いている編成サービスが変更された場合にもこのインタフェースのイベントが発生する。
[3.6.4 LocalDatabaseインタフェース]
LocalDatabaseインタフェースは、視聴者情報を受信機内で保持・管理するためのインタフェースである。視聴者情報は、個人情報などサーバ側に出すべきでない情報であり、視聴者ID、受信機IDなど最低限の情報である。
LocalDatabaseインタフェースは、視聴者情報を受信機内で保持・管理するためのインタフェースである。視聴者情報は、個人情報などサーバ側に出すべきでない情報であり、視聴者ID、受信機IDなど最低限の情報である。
[3.6.5 同期関連API]
SynchronizationManagerインタフェースとして、DVB Bluebook A153(GEM Stream Synchronization API)と同様のAPIを導入する。さらに、以下のインタフェースをAPIとして追加する。
SynchronizationManagerインタフェースとして、DVB Bluebook A153(GEM Stream Synchronization API)と同様のAPIを導入する。さらに、以下のインタフェースをAPIとして追加する。
(1)getCurrentSTC():現在のSTC(System Time Clock)値を取得する。なお、MPEG 2 Systems規格では、送信側のシステムクロック(STC)をMPEG2トランスポートストリーム中のPCR(Program Clock Reference)信号として多重し配信することで、受信機内部のシステムクロック(STC)が送信側のSTCと同期されるように規定している。
(2)getCurrentPositionInProgram():番組開始からの経過時間を取得する。
(3)delayStreamPresentation():提示中の放送ストリームの遅延提示を開始する。
(4)getCurrentDelay():提示中の放送ストリームの(本来の提示時刻からの)遅延時間量を取得する。
(2)getCurrentPositionInProgram():番組開始からの経過時間を取得する。
(3)delayStreamPresentation():提示中の放送ストリームの遅延提示を開始する。
(4)getCurrentDelay():提示中の放送ストリームの(本来の提示時刻からの)遅延時間量を取得する。
[3.6.6 SecurityExceptionインタフェース]
アプリケーションが、現在の実行レベルにおいて禁止されている関数呼び出しおよびプロパティ操作をした場合に発生する例外のインタフェースである。ecurityExceptionインタフェースは、上記各APIの呼び出し、あるいは、放送を参照するオブジェクト(HTML5なら<video>、ARIB−Jなら○○Controller)に対する各種操作によって発生する。
アプリケーションが、現在の実行レベルにおいて禁止されている関数呼び出しおよびプロパティ操作をした場合に発生する例外のインタフェースである。ecurityExceptionインタフェースは、上記各APIの呼び出し、あるいは、放送を参照するオブジェクト(HTML5なら<video>、ARIB−Jなら○○Controller)に対する各種操作によって発生する。
[3.7 受信機機能]
放送通信連携システムの受信機は、受信機機能として、アプリケーションローンチャーを備える。アプリケーションローンチャーは、受信機内に蓄積されたアプリケーションの起動、既知のリポジトリから独立アプリケーションの選択、AITによって起動指示が記述されたアプリケーションのうち、コントロールコードが「PRESENT」のアプリケーションの選択に用いる。
放送通信連携システムの受信機は、受信機機能として、アプリケーションローンチャーを備える。アプリケーションローンチャーは、受信機内に蓄積されたアプリケーションの起動、既知のリポジトリから独立アプリケーションの選択、AITによって起動指示が記述されたアプリケーションのうち、コントロールコードが「PRESENT」のアプリケーションの選択に用いる。
[4. セキュリティ]
[4.1 放送通信連携アプリケーションの管理]
放送事業者の要件を満たしつつ放送通信連携サービスを普及・活性化させるために、放送事業者およびその関係者だけではなく、幅広いサービス事業者や個人が参入できる枠組みが必要となる。本放送通信連携システムでは、セキュリティの観点からアプリケーションを「Aアプリケーション」と「一般アプリケーション」に分類し、受信機において双方のアプリケーションを実行可能とする。
[4.1 放送通信連携アプリケーションの管理]
放送事業者の要件を満たしつつ放送通信連携サービスを普及・活性化させるために、放送事業者およびその関係者だけではなく、幅広いサービス事業者や個人が参入できる枠組みが必要となる。本放送通信連携システムでは、セキュリティの観点からアプリケーションを「Aアプリケーション」と「一般アプリケーション」に分類し、受信機において双方のアプリケーションを実行可能とする。
図12は、放送通信連携システムにおけるアプリケーション管理モデルを示す。「Aアプリケーション」は、登録管理者(第三者機関)への事前登録を行うことにより放送通信連携システムの仕様で期待する動作が保証される。「Aアプリケーション」は、登録時にIDと署名が付与され、受信機において2.2節で定義するセキュアマネージャーにより署名が検証され、すべてのAPIへのアクセスが可能となり、放送リソースを利用した番組連動サービスが行えるようになる。また、放送事業者から送出されるAITにより、放送事業者の要件に沿ったきめ細かい提示制御が可能となる。
一方、「一般アプリケーション」は、事前の登録は不要であるが、放送通信連携システムの仕様で期待する動作は保証されず、アプリケーションから放送関連のAPIを扱うことはできない。「一般アプリケーション」はIDと署名が付与されないため、個々のアプリケーションの指定は困難であるが、放送事業者の要件に基づいた提示制限を加えた上で実行させることは可能である。
一方、「一般アプリケーション」は、事前の登録は不要であるが、放送通信連携システムの仕様で期待する動作は保証されず、アプリケーションから放送関連のAPIを扱うことはできない。「一般アプリケーション」はIDと署名が付与されないため、個々のアプリケーションの指定は困難であるが、放送事業者の要件に基づいた提示制限を加えた上で実行させることは可能である。
[4.2 セキュアマネージャーの機能モデル]
図13は、セキュアマネージャーの機能モデルを示す。セキュアマネージャーは、受信機においてセキュリティを総合的に管理する機能である。
図13は、セキュアマネージャーの機能モデルを示す。セキュアマネージャーは、受信機においてセキュリティを総合的に管理する機能である。
[4.2.1 アプリケーション監視・制御機能]
受信機において動作するアプリケーションは、アプリケーションファイルの配布の形態により、上述したように、「Aアプリケーション」と「一般アプリケーション」の2種類に大別される。「Aアプリケーション」と「一般アプリケーション」は、4.1節に示すようにIDと署名の有無によって区別され、受信機におけるAPIのアクセス範囲や放送事業者からの制御範囲が異なるなど、アプリケーション実行時の動作内容が異なる。アプリケーション監視・制御機能は、Aアプリケーションおよび一般アプリケーションの種別の違いを識別し、確実にアプリケーション実行時の動作を制御することを目的とする。
受信機において動作するアプリケーションは、アプリケーションファイルの配布の形態により、上述したように、「Aアプリケーション」と「一般アプリケーション」の2種類に大別される。「Aアプリケーション」と「一般アプリケーション」は、4.1節に示すようにIDと署名の有無によって区別され、受信機におけるAPIのアクセス範囲や放送事業者からの制御範囲が異なるなど、アプリケーション実行時の動作内容が異なる。アプリケーション監視・制御機能は、Aアプリケーションおよび一般アプリケーションの種別の違いを識別し、確実にアプリケーション実行時の動作を制御することを目的とする。
(1)アプリケーション認証:受信機は、実行するすべてのアプリケーションについて、Aアプリケーションまたは一般アプリケーションのいずれか、さらにAアプリケーションであればIDを識別する。Aアプリケーションまたは一般アプリケーションの区別は、アプリケーションファイル(アプリケーションプログラム)に付与された署名の有無を確認しこれを検証することによって行う。Aアプリケーションであれば、受信機はさらに、署名に記述されたアプリケーションIDを取得する。アプリケーションの識別は、アプリケーションの取得時、または、起動時に行うものとする。
(2)画面提示制御:4.3節に後述する。
(3)リソースアクセス制御:受信機は、実行中のアプリケーションの放送リソース等のAPIへのアクセス制御を行う。アプリケーションがAPIにアクセスしようとする時に、当該アプリケーションが一般アプリケーションであれば、APIの種別によってアクセスを制限する。
また、アプリケーションがディスプレイへの画面表示APIにアクセスする際には、Aアプリケーションまたは一般アプリケーションの種別と、選局中の放送事業者の提示ポリシーに基づき、画面提示制御を実行する。詳細は4.3節に後述する。
(4)リボケーション:アプリケーションのリボケーション機能を備える。
(2)画面提示制御:4.3節に後述する。
(3)リソースアクセス制御:受信機は、実行中のアプリケーションの放送リソース等のAPIへのアクセス制御を行う。アプリケーションがAPIにアクセスしようとする時に、当該アプリケーションが一般アプリケーションであれば、APIの種別によってアクセスを制限する。
また、アプリケーションがディスプレイへの画面表示APIにアクセスする際には、Aアプリケーションまたは一般アプリケーションの種別と、選局中の放送事業者の提示ポリシーに基づき、画面提示制御を実行する。詳細は4.3節に後述する。
(4)リボケーション:アプリケーションのリボケーション機能を備える。
[4.2.2 受信機保護]
受信機は、視聴者情報保護およびウィルス対策等の保護機能を備える。
受信機は、視聴者情報保護およびウィルス対策等の保護機能を備える。
[4.3 アプリケーションの画面提示制御]
[4.3.1 画面提示制御の概要]
放送通信連携サービスでは、放送番組と同時に関連する通信アプリケーションを提示させることにより、放送サービスの利便性を拡張することができる。一方、通信サービスの利用により、受信機の画面上で放送番組と通信アプリケーションが混在して提示されることが想定される。提示方法によっては、放送番組に通信アプリケーションの画面が重なり、放送番組の一意性や作品性が損なわれるだけでなく、緊急地震速報などの緊急性の高い情報が正確に視聴者に伝えられなくなる恐れがある。画面提示制御により、放送通信連携サービスにおいて、放送事業者の意図に基づいたアプリケーションの提示制御を行う。
[4.3.1 画面提示制御の概要]
放送通信連携サービスでは、放送番組と同時に関連する通信アプリケーションを提示させることにより、放送サービスの利便性を拡張することができる。一方、通信サービスの利用により、受信機の画面上で放送番組と通信アプリケーションが混在して提示されることが想定される。提示方法によっては、放送番組に通信アプリケーションの画面が重なり、放送番組の一意性や作品性が損なわれるだけでなく、緊急地震速報などの緊急性の高い情報が正確に視聴者に伝えられなくなる恐れがある。画面提示制御により、放送通信連携サービスにおいて、放送事業者の意図に基づいたアプリケーションの提示制御を行う。
図14は、画面提示制御方式の概念を示す図である。画面提示制御方式は、個々の放送番組に対して通信アプリケーションをどのように画面上に提示させるかという放送事業者の提示ポリシーを受信機に反映させることを意図したもので、これをコンテンツの提示制御と呼ぶこととする。コンテンツの提示制御では、編成に応じた番組単位の提示制御、緊急地震速報などの番組中に発生するイベントに対する提示制御、アプリケーション単位の提示制御を実現する。
[4.3.2 画面提示制御の基本動作]
図15は、画面提示制御の基本動作モデルを示す図である。放送事業者の提示ポリシーを受信機に反映させるために、予め放送事業者が想定した、放送番組に対する通信コンテンツの提示方法を、提示ルールとして受信機で管理する。具体的には、通信コンテンツの提示方法として、重ね合わせの順序や並べ方の違いなどに応じてレベル分けを行い、提示レベル(ポリシーレベル)と提示方法のテーブルを提示ルールとして受信機内に保持する。放送事業者は指定する提示レベルを放送波に多重して伝送し、受信機はその提示レベルと提示ルールを照合し、提示方法を決定する。これにより、放送事業者の提示ポリシーに基づいた提示制御を実現することができる。
図15は、画面提示制御の基本動作モデルを示す図である。放送事業者の提示ポリシーを受信機に反映させるために、予め放送事業者が想定した、放送番組に対する通信コンテンツの提示方法を、提示ルールとして受信機で管理する。具体的には、通信コンテンツの提示方法として、重ね合わせの順序や並べ方の違いなどに応じてレベル分けを行い、提示レベル(ポリシーレベル)と提示方法のテーブルを提示ルールとして受信機内に保持する。放送事業者は指定する提示レベルを放送波に多重して伝送し、受信機はその提示レベルと提示ルールを照合し、提示方法を決定する。これにより、放送事業者の提示ポリシーに基づいた提示制御を実現することができる。
[4.3.3 制御情報の伝送・多重方式]
放送事業者の提示ポリシーを伝送する制御情報のフォーマットに関して、デジタル放送で使用されている番組配列情報を用いる方式として3つの具体例を挙げる。番組単位での画面提示制御として、既存のEIT(イベント情報テーブル:Event Information Table)を用いる方式と、EITを拡張して用いる方式(EIT+)がある。また、サービス(チャンネル)単位での画面提示制御として、放送信号のAITを拡張して用いる方式がある。さらに、番組中にリアルタイムに発生する事象単位での画面提示制御として、番組配列情報以外の放送局から送出される情報を用いる方式がある。以下に、4つの方式の詳細を記載する。
放送事業者の提示ポリシーを伝送する制御情報のフォーマットに関して、デジタル放送で使用されている番組配列情報を用いる方式として3つの具体例を挙げる。番組単位での画面提示制御として、既存のEIT(イベント情報テーブル:Event Information Table)を用いる方式と、EITを拡張して用いる方式(EIT+)がある。また、サービス(チャンネル)単位での画面提示制御として、放送信号のAITを拡張して用いる方式がある。さらに、番組中にリアルタイムに発生する事象単位での画面提示制御として、番組配列情報以外の放送局から送出される情報を用いる方式がある。以下に、4つの方式の詳細を記載する。
(1)EITの番組ジャンル(EIT):既存のEITのコンテント記述子に記述される番組ジャンルからポリシーレベルを判断する。受信機はそのために、番組ジャンルとポリシーレベルの対応表を管理する。ARIB規格との関連は、ARIB STD−B10
第2部 6.2.4、付録Hである。
第2部 6.2.4、付録Hである。
表4は、番組ジャンルとポリシーレベルの関係の具体例を示す表である。番組ジャンル(program_genre)は、大分類を表す「content_nibble_level1」(0x0〜0xF)と、中分類を表す「content_nibble_level2」(0x0〜0xF)の2段階で構成される。受信機で管理するテーブルは中分類のジャンルまで対象とし、それぞれポリシーレベルの値を定義する。
(2)EITに新記述子追加(EIT+):EITのイベント情報セクションに新しい記述子を追加し、ポリシー情報を記述する。受信機は、この記述子を解釈し所望の処理を実行することで、番組単位でのポリシーレベルに応じた制御を実現する。ARIB規格との関連は、ARIB TR−B14(第二分冊) 第3部 31.3、ARIB STD−B10 第2編 5.2.7である。
表5は、イベントセキュリティ記述子の構造を示す表である。EIT+の場合、同図に示すイベントセキュリティ記述子を新規に定義し、EIT内の記述子領域にこのイベントセキュリティ記述子を格納して伝送する。イベントセキュリティ記述子には、ポリシーレベル(policy_level)、アプリケーションID(application_identifier)、制御コード(application_control_code)、優先度(application_priority)、プロトコル識別(protocol_id)、番組関連フラグ(associated_application_flag)を設定する。
policy_levelは、番組単位でのポリシーレベルを表す。ポリシーレベルは、1〜4の値とする。
application_identifier()は、アプリケーションを識別するための識別子である。表6は、application_identifier()の構造を示す。
application_identifier()は、アプリケーションを識別するための識別子である。表6は、application_identifier()の構造を示す。
organization_idは、アプリケーションを作成した組織を表し、0x00000063以降の値をとる。application_idは、アプリケーションを識別する番号を表す。application_idは、組織識別内で一意に付与される。
application_control_codeは、アプリケーション状態を制御する制御コードを規定する。表7は、制御コードの規定を示す。
application_priorityは、アプリケーション毎のポリシーレベルを示す。アプリケーション毎のポリシーレベルは、サービス内で告知されているアプリケーション間の相対的な優先度を示す。優先度は、1〜4の値とする。
protocol_idは、アプリケーションファイルを伝送するプロトコルを示す。表8は、protocol_idの規定を示す。
associated_application_flagは、番組に連動するアプリケーションであるか否かを示す。表9は、protocol_idの規定を示す。
(3)AITのテーブル定義および新記述子の追加(AIT+):AITを拡張してポリシー情報を伝送する。受信機は、このテーブルを解釈し所望の処理を実行することで、随時発生するイベントに対してポリシーレベルに応じた制御を実現する。ARIB規格との関連は、ARIB STD−B23 第2部 10.16である。
表10に、AITのデータ構造を示す。表10に示すAITは、ARIB STD−B23で規定されているAITのデータ構造を拡張したものである。AITには、ポリシーレベル、アプリケーションID、制御コードを記述する。なお、AITはセクション形式で送信され、イベント継続中は常時送信されるものとする。アプリケーションIDは、application_identifier()に記述し、制御コードはapplication_control_codeに記述する。
なお、これらの詳細は、(2)EITの拡張で記載したものと同様である。
さらに、ポリシーレベルを記述するために、新たにセキュリティポリシー記述子を定義し、AITの共通記述子ループに格納して伝送する。
なお、これらの詳細は、(2)EITの拡張で記載したものと同様である。
さらに、ポリシーレベルを記述するために、新たにセキュリティポリシー記述子を定義し、AITの共通記述子ループに格納して伝送する。
表11は、新たに定義するセキュリティポリシー記述子の構造を示す。
(4)緊急警報放送および緊急地震速報(EWS/EEW):放送局から送出される緊急情報を用いてポリシーレベルを判断する。受信機においては予め緊急情報とポリシーレベルとの対応はなされているものとし、緊急警報放送であれば、TMCCの緊急警報放送用起動フラグを、緊急地震速報では文字スーパー管理パケットを監視することで、緊急情報の発生と終了が検知され、その際のポリシーレベルを判断することが可能になる。ARIB規格との関連は、ARIB STD−B31 3.15およびARIB STD−B24 第一編 第3部 第9章である。
なお、上記の(1)〜(4)のそれぞれの方式は並行して同時に送出することが可能である。したがって、どの方式で送られたものを優先させてポリシーレベルを決定するかを決めておく必要がある。優先順位は以下の通りである。
EWS/EEW> AIT+ > EIT+ > EIT
受信機はこの優先順位に基づき、ポリシーレベルを判断することで、放送事業者の意図に基づいた、緊急時の事象を優先させた画面提示制御が可能となる。
[4.3.4 画面提示制御の例]
図16は、ポリシーレベルに応じた画面提示制御の例を示す。
番組のポリシーレベルが「1」の場合、Aアプリケーションのアプリケーション画面のアプリケーション画面および一般アプリケーションのアプリケーション画面の双方とも、放送画面上への重ね合わせが許可される。
番組のポリシーレベルが「2」の場合、Aアプリケーションのみが放送画面上への重ね合わせが許可され、一般アプリケーションのアプリケーション画面については、放送画面上への重ね合わせは禁止され、放送画面の外側への表示のみが許可される。
番組のポリシーレベルが「3」の場合、Aアプリケーションのアプリケーション画面、及び、一般アプリケーションのアプリケーション画面とも表示が許可されるが、全てのアプリケーション画面について、放送画面上への重ね合わせは禁止され、放送画面の外側への表示のみが許可される。
ポリシーレベルが「4」の場合、放送画面の全画面表示のみが許可される。
図16は、ポリシーレベルに応じた画面提示制御の例を示す。
番組のポリシーレベルが「1」の場合、Aアプリケーションのアプリケーション画面のアプリケーション画面および一般アプリケーションのアプリケーション画面の双方とも、放送画面上への重ね合わせが許可される。
番組のポリシーレベルが「2」の場合、Aアプリケーションのみが放送画面上への重ね合わせが許可され、一般アプリケーションのアプリケーション画面については、放送画面上への重ね合わせは禁止され、放送画面の外側への表示のみが許可される。
番組のポリシーレベルが「3」の場合、Aアプリケーションのアプリケーション画面、及び、一般アプリケーションのアプリケーション画面とも表示が許可されるが、全てのアプリケーション画面について、放送画面上への重ね合わせは禁止され、放送画面の外側への表示のみが許可される。
ポリシーレベルが「4」の場合、放送画面の全画面表示のみが許可される。
図17は、緊急地震速報受信時の提示制御の例を示す。番組Aの番組ポリシーレベルが「1」である場合、番組Aの放送時間帯においては、Aアプリケーションのアプリケーション画面、一般アプリケーションのアプリケーション画面とも放送画面上に重ね合わせて表示される。しかし、受信機は、番組Aの放送時間帯の中でも緊急地震速報が発生している時間帯におけるポリシーレベルは、緊急地震速報のポリシーレベル「4」であると判断する。そのため、受信機は、番組Aの放送時間帯であっても、緊急地震速報が発生している時間帯では、Aアプリケーションのアプリケーション画面、及び、一般アプリケーションのアプリケーション画面とも、放送画面上への重ね合わせを禁止する。
[上述した放送通信連携システムを適用した本発明の実施形態の説明]
次に、図1に示す本発明の一実施形態を説明する。
図18は、本発明の一実施形態による放送通信連携システムの全体構成図である。同図に示すように、本実施形態の放送通信連携システムは、放送局が保有する放送事業者装置1、サービス事業者が保有するサービス事業者サーバ群2、システム管理者が保有するリポジトリサーバ3、及び、視聴者が保有する受信機4を備えて構成される。同図においては、受信機4を1台のみ示しているが、現実には複数台の受信機4が設けられる。
次に、図1に示す本発明の一実施形態を説明する。
図18は、本発明の一実施形態による放送通信連携システムの全体構成図である。同図に示すように、本実施形態の放送通信連携システムは、放送局が保有する放送事業者装置1、サービス事業者が保有するサービス事業者サーバ群2、システム管理者が保有するリポジトリサーバ3、及び、視聴者が保有する受信機4を備えて構成される。同図においては、受信機4を1台のみ示しているが、現実には複数台の受信機4が設けられる。
放送事業者装置1は、放送送出装置11及び放送局サーバ群12を備える。
放送送出装置11は、図3に示す放送局設備に相当し、番組編成設備、番組送出設備、送信設備等から構成されるデジタル放送用の放送設備である。
放送送出装置11は、図3に示す放送局設備に相当し、番組編成設備、番組送出設備、送信設備等から構成されるデジタル放送用の放送設備である。
放送送出装置11は、放送関連データ管理部111、信号設定部112及び放送送出部113を備えて構成される。
放送関連データ管理部111は、各番組の番組セキュリティポリシーデータ、Aアプリケーションのアプリケーションセキュリティーポリシーデータ、その他のポリシーデータなどを管理する。
番組セキュリティポリシーデータは、番組のポリシーレベルを示すポリシーレベルデータ、番組にバウンドされたアプリケーションのアプリケーションID、番組にバウンドされたアプリケーションに対する制御コードなどを含む。
アプリケーションセキュリティポリシーデータは、アプリケーションがバウンドされている番組を特定する情報や、アプリケーションのプロトコル識別、ロケーション情報などを含む。ロケーション情報は、アプリケーションの格納位置(格納場所)を示し、例えば、アプリケーションをダウンロード可能な受信機アプリサーバ21やリポジトリサーバ3のURLである。プロトコル識別は、アプリケーションが放送により伝送されたか、通信により伝送されたかを示す。
なお、Aアプリケーションのみが番組にバウンドされる。
放送関連データ管理部111は、各番組の番組セキュリティポリシーデータ、Aアプリケーションのアプリケーションセキュリティーポリシーデータ、その他のポリシーデータなどを管理する。
番組セキュリティポリシーデータは、番組のポリシーレベルを示すポリシーレベルデータ、番組にバウンドされたアプリケーションのアプリケーションID、番組にバウンドされたアプリケーションに対する制御コードなどを含む。
アプリケーションセキュリティポリシーデータは、アプリケーションがバウンドされている番組を特定する情報や、アプリケーションのプロトコル識別、ロケーション情報などを含む。ロケーション情報は、アプリケーションの格納位置(格納場所)を示し、例えば、アプリケーションをダウンロード可能な受信機アプリサーバ21やリポジトリサーバ3のURLである。プロトコル識別は、アプリケーションが放送により伝送されたか、通信により伝送されたかを示す。
なお、Aアプリケーションのみが番組にバウンドされる。
ポリシーデータは、提示ルールデータとポリシーレベルテーブルを含む。
提示ルールデータは、ポリシーレベル毎の提示方法を記述したデータである。提示方法は、画面表示方法と音声出力方法を含む。画面表示方法には、例えば、放送画面(番組の映像)のみ表示する、Aアプリケーション及び一般アプリケーションともアプリケーション画面(アプリケーションの映像)を放送画面に重ねてあるいは放送画面の外に表示する、Aアプリケーションのアプリケーション画面のみ放送画面に重ねて表示し、一般アプリケーションのアプリケーション画面は放送画面の外に表示する、などの方法がある。音声出力方法には、例えば、放送番組の音声のみを出力する、放送番組の音声とAアプリケーションまたは一般アプリケーションの音声を独立にあるいは混合して出力する、などの方法がある。
ポリシーレベルテーブルは、番組のジャンルに対応したポリシーレベルや、各イベントのポリシーレベルを記述したデータである。イベントとは、例えば、緊急警報信号や緊急地震速報など、番組とは必ずしも連動して発生しない放送の内容である。
提示ルールデータは、ポリシーレベル毎の提示方法を記述したデータである。提示方法は、画面表示方法と音声出力方法を含む。画面表示方法には、例えば、放送画面(番組の映像)のみ表示する、Aアプリケーション及び一般アプリケーションともアプリケーション画面(アプリケーションの映像)を放送画面に重ねてあるいは放送画面の外に表示する、Aアプリケーションのアプリケーション画面のみ放送画面に重ねて表示し、一般アプリケーションのアプリケーション画面は放送画面の外に表示する、などの方法がある。音声出力方法には、例えば、放送番組の音声のみを出力する、放送番組の音声とAアプリケーションまたは一般アプリケーションの音声を独立にあるいは混合して出力する、などの方法がある。
ポリシーレベルテーブルは、番組のジャンルに対応したポリシーレベルや、各イベントのポリシーレベルを記述したデータである。イベントとは、例えば、緊急警報信号や緊急地震速報など、番組とは必ずしも連動して発生しない放送の内容である。
信号設定部112は、放送送出部113が伝送する放送信号に各種データを設定する。
信号設定部112は、放送関連データ管理部111が管理している番組セキュリティポリシーデータやアプリケーションセキュリティーポリシーデータに基づいて、放送信号にAIT、番組のポリシーレベルデータを設定する。信号設定部112は、番組にバウンドされたアプリケーションのAITを独立したESとして放送信号(放送TS)に多重するか、データカルーセルに設定する。あるいは、信号設定部112は、番組にバウンドされたアプリケーションのAITと同等の情報をEITに設定する。また、信号設定部112は、番組のポリシーレベルデータをEIT(表5)、または、AIT(表11)に設定する。なお、番組のジャンルに対応するポリシーレベルを用いる場合には、ポリシーレベルデータを放送信号に設定しなくともよい。また、信号設定部112は、アプリケーションファイルをデータカルーセル等に設定する。また、信号設定部112は、放送関連データ管理部111が管理しているポリシーデータをセクション形式により放送信号に設定するか、エンジニアリングサービスあるいはデータカルーセルに設定する。
放送送出部113は、デジタル放送の放送信号を伝送する。放送信号は、信号設定部112により設定された情報を含む。
信号設定部112は、放送関連データ管理部111が管理している番組セキュリティポリシーデータやアプリケーションセキュリティーポリシーデータに基づいて、放送信号にAIT、番組のポリシーレベルデータを設定する。信号設定部112は、番組にバウンドされたアプリケーションのAITを独立したESとして放送信号(放送TS)に多重するか、データカルーセルに設定する。あるいは、信号設定部112は、番組にバウンドされたアプリケーションのAITと同等の情報をEITに設定する。また、信号設定部112は、番組のポリシーレベルデータをEIT(表5)、または、AIT(表11)に設定する。なお、番組のジャンルに対応するポリシーレベルを用いる場合には、ポリシーレベルデータを放送信号に設定しなくともよい。また、信号設定部112は、アプリケーションファイルをデータカルーセル等に設定する。また、信号設定部112は、放送関連データ管理部111が管理しているポリシーデータをセクション形式により放送信号に設定するか、エンジニアリングサービスあるいはデータカルーセルに設定する。
放送送出部113は、デジタル放送の放送信号を伝送する。放送信号は、信号設定部112により設定された情報を含む。
放送局サーバ群12は、図3に示す放送局サーバ群に相当し、コンテンツ管理サーバ13、コンテンツ配信サーバ16、放送局サービスサーバ17及び通知サーバ18を備えて構成される。
コンテンツ管理サーバ13は、番組管理サーバ14及びメタデータ管理サーバ15を備えて構成される。番組管理サーバ14は、すでに放送された番組や放送される番組を管理する。メタデータ管理サーバ15は、各番組に関するメタデータを管理する。メタデータは、例えば、番組タイトル、番組ID、番組概要、出演者、放送日時、台本、字幕、解説のデータを含む。
コンテンツ管理サーバ13は、番組管理サーバ14及びメタデータ管理サーバ15を備えて構成される。番組管理サーバ14は、すでに放送された番組や放送される番組を管理する。メタデータ管理サーバ15は、各番組に関するメタデータを管理する。メタデータは、例えば、番組タイトル、番組ID、番組概要、出演者、放送日時、台本、字幕、解説のデータを含む。
コンテンツ配信サーバ16は、インターネットなどの通信網9を介して受信機4と接続され、受信機4から要求されたコンテンツのコンテンツデータを配信する。
放送局サービスサーバ17は、サービス事業者サーバ群2に放送局のサービスのコンテンツデータを送信する。放送局のサービスには、例えば、ソーシャルネットサービス、ブログサービス等がある。
放送局サービスサーバ17は、サービス事業者サーバ群2に放送局のサービスのコンテンツデータを送信する。放送局のサービスには、例えば、ソーシャルネットサービス、ブログサービス等がある。
通知サーバ18は、通信網9を介して受信機4と接続され、放送送出装置11の放送関連データ管理部111から取得した番組セキュリティポリシーデータとアプリケーションセキュリティーポリシーデータとに基づいて、番組にバウンドされたアプリケーションのAIT(図6)及び番組のポリシーレベルデータを受信機4に配信する。また、通知サーバ18は、放送送出装置11の放送関連データ管理部111から取得したポリシーデータを受信機4に配信する。なお、これらの情報の全てまたは一部は、通知サーバ18からの配信を行なわず、放送送出装置11の放送送出部113が放送信号のみで伝送する場合もある。
サービス事業者サーバ群2は、図3に示すサービス事業者サーバ群に相当し、受信機アプリサーバ21、サービスサーバ22、コンテンツ配信サーバ23及び通知サーバ24を備えて構成される。受信機アプリサーバ21、サービスサーバ22、コンテンツ配信サーバ23及び通知サーバ24は、通信網9を介して受信機4と接続される。
受信機アプリサーバ21は、各アプリケーションを管理し、受信機4へアプリケーションファイルを配信する。
サービスサーバ22は、例えば、多言語字幕サーバ、話速変換音声サーバ、ソーシャルTVサーバ、レコメンドサーバ、ブックマークサーバなどであり、受信機4から要求されたサービスのコンテンツデータを配信する。
コンテンツ配信サーバ23は、例えば、VOD配信サーバ、字幕配信サーバ、マルチビュー配信サーバであり、受信機4から要求されたコンテンツのコンテンツデータを配信する。
通知サーバ24は、アプリケーションのAIT(図6)を受信機4に送信する。なお、Aアプリケーションの場合、通知サーバ24は、放送送出装置11の放送関連データ管理部111から取得した番組セキュリティポリシーデータやアプリケーションセキュリティーポリシーデータに基づいたAIT(図6)を送信してもよい。
サービスサーバ22は、例えば、多言語字幕サーバ、話速変換音声サーバ、ソーシャルTVサーバ、レコメンドサーバ、ブックマークサーバなどであり、受信機4から要求されたサービスのコンテンツデータを配信する。
コンテンツ配信サーバ23は、例えば、VOD配信サーバ、字幕配信サーバ、マルチビュー配信サーバであり、受信機4から要求されたコンテンツのコンテンツデータを配信する。
通知サーバ24は、アプリケーションのAIT(図6)を受信機4に送信する。なお、Aアプリケーションの場合、通知サーバ24は、放送送出装置11の放送関連データ管理部111から取得した番組セキュリティポリシーデータやアプリケーションセキュリティーポリシーデータに基づいたAIT(図6)を送信してもよい。
リポジトリサーバ3は、図3に示すリポジトリに相当し、通信網9を介して受信機4と接続される。リポジトリサーバ3は、サービス事業者が生成したアプリケーションファイル(アプリケーションプログラム)に電子署名を行なうとともに、アプリケーションファイル(アプリケーションプログラム)の電子署名の認証に必要なデータを受信機4に送信する。また、リポジトリサーバ3は、Aアプリケーションの一覧を示すデータや、そのAアプリケーションのロケーション情報を受信機4に送信する。なお、リポジトリサーバ3が電子署名されたAアプリケーションのアプリケーションファイルを受信機4へ送信してもよく、受信機アプリサーバ21がリポジトリサーバ3から電子署名されたAアプリケーションのアプリケーションファイルを受信し、受信機4へ送信してもよい。また、リポジトリサーバ3は、AアプリケーションのAITを受信機4に送信してもよい。
また、リポジトリサーバ3は、放送送出装置11の放送関連データ管理部111から受信した番組セキュリティポリシーデータやアプリケーションセキュリティーポリシーデータに基づいて、番組にバウンドされたAアプリケーションのAIT(図6)を受信機4に送信してもよい。
また、リポジトリサーバ3は、放送送出装置11の放送関連データ管理部111から受信した番組セキュリティポリシーデータやアプリケーションセキュリティーポリシーデータに基づいて、番組にバウンドされたAアプリケーションのAIT(図6)を受信機4に送信してもよい。
受信機4は、図3に示す受信機に相当し、例えば、テレビ受像機、セットトップボックス、パーソナルコンピュータ、携帯端末等のデバイスである。
図19は、受信機4の内部構成を示す機能ブロック図である。同図に示すように、受信機4は、放送受信部401、分離部402、時計403、第1同期用バッファ404−1、第2同期用バッファ404−2、第1デコーダ405−1、第2デコーダ405−2、データ放送実行部406、映像制御部407、映像表示部408、音声制御部409、音声出力部410、通信入出力部411、アプリケーション実行制御部412、提示制御部413、操作入力部414、選局部415、ローカル情報記憶部416及び外部I/F部417を備えて構成される。
放送受信部401は、放送信号を受信するチューナである。放送信号は、無線放送信号及び有線放送信号またはいずれか一方である。無線放送信号は、放送局側の送信アンテナが送信した放送電波(地上波)や、衛星が中継する衛星波を、受信アンテナで受信することにより得られる信号である。有線放送信号は、光ケーブルや同軸ケーブル等を介して放送局側から伝送される信号である。放送受信部401は、放送信号を受信して復調し、放送ストリーム(TS)を出力する。
分離部402は、デマルチプレクサであり、放送受信部401から供給された放送ストリームを、PCR(Program Clock Reference)、映像データ、音声データ、字幕データ、データ放送、PSI(Program Specific Information)/SI(Service Information)、独立エレメンタリストリーム(ES)で送信されたAITなどの各種データに分離する。なお、AITはデータ放送に含まれる場合や、AITと同様の内容がSIを構成するEITに設定される場合もある。また、分離部402は、放送信号からアプリケーションファイルを分離して出力する場合もある。
分離部402は、デマルチプレクサであり、放送受信部401から供給された放送ストリームを、PCR(Program Clock Reference)、映像データ、音声データ、字幕データ、データ放送、PSI(Program Specific Information)/SI(Service Information)、独立エレメンタリストリーム(ES)で送信されたAITなどの各種データに分離する。なお、AITはデータ放送に含まれる場合や、AITと同様の内容がSIを構成するEITに設定される場合もある。また、分離部402は、放送信号からアプリケーションファイルを分離して出力する場合もある。
通信入出力部411は、通信網9を介した通信によるデータの入出力を行う。通信入出力部411は、通信網9を経由して送信されたAITやアプリケーションファイルをアプリケーション実行制御部412に出力する。また、通信入出力部411は、通信網9を経由して送信された番組のポリシーレベルデータやポリシーデータを提示制御部413へ出力する。また、通信入出力部411は、アプリケーション実行制御部412により実行されるアプリケーションの指示に従って、コンテンツ配信サーバ16やコンテンツ配信サーバ23から配信されるコンテンツデータ、サービスサーバ22から配信されるコンテンツデータを通信網9を経由して受信し、第2同期用バッファ404−2に出力する。
操作入力部414は、視聴者による操作を受け付けるインタフェースであり、例えば、リモートコントローラ、携帯電話、タブレット端末等から視聴者が入力した情報を受信する受信装置や、キーボード、マウスなどである。操作入力部414は、視聴者が入力したメディア(地上/BS)やチャンネルの選択指示を選局部415に出力する。また、操作入力部414は、放送通信連携サービスの開始や終了の指示、アプリケーションに対する指示をアプリケーション実行制御部412に出力する。
選局部415は、操作入力部414に入力された操作に従って、放送受信部401において受信するメディアやチャンネルを制御する。
選局部415は、操作入力部414に入力された操作に従って、放送受信部401において受信するメディアやチャンネルを制御する。
データ放送実行部406は、デジタル放送信号により送信されたデータ放送アプリケーションを実行し、データ放送の画像(グラフィック)データを映像制御部407へ出力する。データ放送実行部406は、放送通信連携サービスのアプリケーションを起動するためのAPIを備える。データ放送実行部406がデータ放送アプリケーションを実行して、放送通信連携サービスのアプリケーションを起動するAPIが呼び出された場合、データ放送実行部406は、アプリケーションの起動をアプリケーション実行制御部412に指示する。また、データ放送実行部406は、データカルーセルによって送信されたAITやアプリケーションファイルをデータ放送から取得してアプリケーション実行制御部412に出力する。また、データ放送実行部406は、データカルーセルによって送信されたポリシーデータをデータ放送から取得して提示制御部413に出力する。
アプリケーション実行制御部412は、放送通信連携サービスのアプリケーションを実行する。アプリケーション実行制御部412は、実行しているアプリケーションに従って、コンテンツ配信サーバ16、コンテンツ配信サーバ23、あるいは、サービスサーバ22から受信したコンテンツデータをデコードするように第2デコーダ405−2に指示する。コンテンツデータは、映像データ、音声データの一方または両方を含む。映像データは、例えば、動画、静止画、テキストデータなどである。また、アプリケーション実行制御部412は、実行しているアプリケーションに従って、映像制御部407にグラフィック(映像)データや映像制御指示を出力し、音声制御部409に音声データや音声制御指示を出力する。
時計403は、タイマーカウンタ値を出力する。時計403は、PCRが示すタイマーカウンタ値により発振器の周波数を調整し、放送送信側と時刻を同期させる。
第1同期用バッファ404−1は、分離部402から出力される映像データ、音声データ、字幕データを記憶する。映像データ、音声データ、字幕データのエレメンタリーストリーム(ES)から生成されたPES(Packetized Elementary Stream)は、放送ストリーム(TS)を構成するトランスポートパケット(Transport Packet)に分割されて設定される。PESのヘッダには、PTS(提示時刻情報:Presentation Time Stamp)が含まれる。第1同期用バッファ404−1は、分離部402から出力された映像データ、音声データ、字幕データを、第1デコーダ405−1の指示によりPESパケット単位で出力する。
第2同期用バッファ404−2は、通信入出力部411が受信したコンテンツやサービスのコンテンツデータを記憶する。あるいは、第2同期用バッファ404−2は、操作入力部414により入力された視聴者の指示に従って、分離部402から出力される映像データ、音声データ、字幕データを記憶する。第2同期用バッファ404−2は、記憶しているコンテンツデータあるいは番組の映像データ、音声データ、字幕データを第2デコーダ405−2の指示によりPESパケット単位で出力する。
第1同期用バッファ404−1は、分離部402から出力される映像データ、音声データ、字幕データを記憶する。映像データ、音声データ、字幕データのエレメンタリーストリーム(ES)から生成されたPES(Packetized Elementary Stream)は、放送ストリーム(TS)を構成するトランスポートパケット(Transport Packet)に分割されて設定される。PESのヘッダには、PTS(提示時刻情報:Presentation Time Stamp)が含まれる。第1同期用バッファ404−1は、分離部402から出力された映像データ、音声データ、字幕データを、第1デコーダ405−1の指示によりPESパケット単位で出力する。
第2同期用バッファ404−2は、通信入出力部411が受信したコンテンツやサービスのコンテンツデータを記憶する。あるいは、第2同期用バッファ404−2は、操作入力部414により入力された視聴者の指示に従って、分離部402から出力される映像データ、音声データ、字幕データを記憶する。第2同期用バッファ404−2は、記憶しているコンテンツデータあるいは番組の映像データ、音声データ、字幕データを第2デコーダ405−2の指示によりPESパケット単位で出力する。
第1デコーダ405−1は、時計403から出力された時刻に対応したPTSが設定されている第1同期用バッファ404−1内のPESパケットを特定し、特定したPESパケットからエンコードされた映像データ、音声データ、字幕データを読み出し、読み出したデータをデコードして出力する。
第2デコーダ405−2は、時計403から出力された時刻に対応するPTSが設定されている第2同期用バッファ404−2内のコンテンツデータあるいは番組のPESパケットを特定し、特定したPESパケットからエンコードされた映像データ、音声データ、字幕データを読み出し、読み出したデータをデコードして出力する。
第2デコーダ405−2は、時計403から出力された時刻に対応するPTSが設定されている第2同期用バッファ404−2内のコンテンツデータあるいは番組のPESパケットを特定し、特定したPESパケットからエンコードされた映像データ、音声データ、字幕データを読み出し、読み出したデータをデコードして出力する。
提示制御部413は、選局されている番組のポリシーレベルあるいは発生中のイベントのポリシーレベルと、提示ルールデータとに従って提示方法(画面表示方法及び音声出力方法)を決定する。提示制御部413は、決定した画面表示方法により、放送画面、Aアプリケーションのアプリケーション画面、及び、一般アプリケーションのアプリケーション画面を表示するよう映像制御部407に指示する。さらに、提示制御部413は、決定した音声出力方法により、放送の音声データによる音声、Aアプリケーションの音声データによる音声、及び、一般アプリケーションの音声データによる音声を出力するよう音声制御部409に指示する。
映像制御部407は、第1デコーダ405−1から出力された番組の映像データ及び字幕データに基づく放送画面と、第2デコーダ405−2から出力されたコンテンツデータの映像データに基づくAアプリケーション、一般アプリケーションのアプリケーション画面とを、提示制御部413またはアプリケーション実行制御部412から指示された画面表示方法に従って映像表示部408に表示させる。また、アプリケーション実行制御部412からアプリケーションの実行によりグラフィック(映像)データが出力される場合、映像制御部407は、提示制御部413またはアプリケーション実行制御部412から指示された画面表示方法に従って、その映像データに基づく表示画面を併せて映像表示部408に表示させる。なお、第2デコーダ405−2からは、他の番組の映像データ及び字幕データが出力される場合もある。
映像表示部408は、一般的なディスプレイであり、放送およびアプリケーションの画面を表示する。例えば、映像表示部408は、番組の放送画面に、通信網9から受信したコンテンツデータの動画、静止画、テキストや、アプリケーションの実行によってアプリケーション実行制御部412から出力されたグラフィックなどのアプリケーション画面、または、他の番組の放送画面を合成した映像を表示する。
音声制御部409は、第1デコーダ405−1から出力された番組の音声データに基づく音声と、第2デコーダ405−2から出力されたコンテンツデータの音声データに基づくAアプリケーションや一般アプリケーションの音声と、アプリケーションの実行によってアプリケーション実行制御部412から出力された音声データに基づく音声とを、提示制御部413またはアプリケーション実行制御部412より指示された音声出力方法に従って音声出力部410から出力させる。なお、第2デコーダ405−2からは、他の番組の音声データが出力される場合もある。音声出力部410は、一般的なスピーカーあり、放送およびアプリケーションの音声を出力する。
ローカル情報記憶部416は、ユーザ情報などの各種データを記憶する。
外部インタフェース部(以下、「外部I/F部」と記載する。)417は、LAN(Local Area Network)などのホームネットワークなどに接続される機器8との間でデータを送受信する。機器8は、受信機4と連携動作する端末であり、例えば、パーソナルコンピュータ、携帯電話、タブレット、スマートフォン、PDAである。
外部インタフェース部(以下、「外部I/F部」と記載する。)417は、LAN(Local Area Network)などのホームネットワークなどに接続される機器8との間でデータを送受信する。機器8は、受信機4と連携動作する端末であり、例えば、パーソナルコンピュータ、携帯電話、タブレット、スマートフォン、PDAである。
なお、受信機4がセットトップボックスなどの場合、映像表示部408及び音声出力部410は、受信機4と接続される外部装置とする。
図20は、アプリケーション実行制御部412の詳細な構成を示すブロック図である。
同図に示すように、アプリケーション実行制御部412は、アプリケーション記憶部431、アプリケーション認証部432、アプリケーション管理部433、アプリケーション制御部434、アプリケーション実行部435、リソースアクセス制御部438及びリソース制御部439を備える。
同図に示すように、アプリケーション実行制御部412は、アプリケーション記憶部431、アプリケーション認証部432、アプリケーション管理部433、アプリケーション制御部434、アプリケーション実行部435、リソースアクセス制御部438及びリソース制御部439を備える。
アプリケーション記憶部431は、通信入出力部411が通信網9を介して受信したアプリケーションファイル、あるいは、データ放送実行部406がデータ放送から取得したアプリケーションファイル、または、分離部402が放送信号から分離したアプリケーションファイルを記憶する。アプリケーションファイルは出荷時などに予めアプリケーション記憶部431に記憶されていてもよい。アプリケーション記憶部431は、主記憶装置及びディスク等の補助記憶装置からなり、例えば、アプリケーションファイルはディスクに記憶され、実行時に主記憶装置に読み出される。この場合、オンザフライで実行されるアプリケーションのアプリケーションファイルは、ディスクには記憶されずに主記憶装置のみに記憶され、実行が終了した場合は主記憶装置から削除される。
アプリケーション認証部432は、リポジトリサーバ3から電子署名の認証に必要なデータを受信し、受信したデータを用いてアプリケーションファイル(アプリケーションプログラム)に付加された電子署名の検証を行う。例えば、アプリケーション認証部432は、リポジトリサーバ3から受信した公開鍵を用いて、電子署名されたアプリケーションファイルを復号する。その結果、所定のデータ列が得られた場合、アプリケーション認証部432は、電子署名の検証が成功したと判断する。アプリケーション認証部432は、電子署名の検証が成功した場合、Aアプリケーションであると判断し、電子署名の検証が不成功である場合、あるいは、電子署名が付加されていない場合、一般アプリケーションであると判断する。
アプリケーション管理部433は、アプリケーション実行部435によるアプリケーションの起動または停止の状態、起動しているアプリケーションの出力状況を管理する。出力状況とは、動作中のアプリケーションから画像や音声が出力されているか否かの情報である。アプリケーション管理部433は、提示制御部413からの問い合わせを受け、起動されているアプリケーションの出力状況や、起動されているアプリケーションがAアプリケーションであるか一般アプリケーションであるかの応答を返送する。
アプリケーション制御部434は、番組にバウンドされているアプリケーションに対する制御コードや、操作入力部414により入力されたアプリケーションに対する指示に従って、アプリケーション実行部435におけるアプリケーションの起動や停止などを制御する。また、アプリケーション制御部434は、データ放送実行部406から起動が指示されたアプリケーションの起動をアプリケーション実行部435に指示する。アプリケーション制御部434は、操作入力部414からの入力に従ってチャンネルが変更される場合、変更前のチャンネルの番組にバウンドされているアプリケーションの終了と、変更後のチャンネルの番組にバウンドされているアプリケーションの起動をアプリケーション実行部435に指示する。なお、アプリケーション制御部434は、番組にバウンドされているアプリケーションや、バウンドされているアプリケーションに対する制御コードを、放送信号の独立ESもしくはデータ放送に含まれるAIT、放送信号のEITから得られるAITと同等の情報、または、通信入出力部411を介して通知サーバ18もしくは通知サーバ24から受信したAITから取得する。また、アプリケーション制御部434は、AITに設定されているロケーション情報を宛先としてアプリケーションファイルのダウンロード要求を送信する。受信機4からダウンロード要求を受信したリポジトリサーバ3、または、受信機アプリサーバ21は、アプリケーションファイルを受信機4に配信する。
アプリケーション実行部435は、受信機API部436及び端末連携API部437を備える。アプリケーション実行部435は、アプリケーション制御部434からの指示に従って、起動が指示されたアプリケーションのアプリケーションプログラムをアプリケーション記憶部431から読み出して実行する。アプリケーション実行部435がアプリケーションプログラムを実行することにより、受信機4上でアプリケーションが動作し、アプリケーション実行部435は通信網9を経由してコンテンツをコンテンツ配信サーバ16やコンテンツ配信サーバ23に要求したり、サービスをサービスサーバ22に要求したりする。また、アプリケーションプログラムを実行することにより、アプリケーション実行部435は、映像制御部407へグラフィックデータや映像制御指示を出力したり、音声制御部409に音声データや音声制御指示を出力したりする。
受信機API部436は、アプリケーション実行部435がアプリケーションを実行するにあたって受信機4内の各リソースを利用するためのAPIである受信機APIを実行する。受信機API部436が受信機APIを実行することにより、アプリケーション実行部435が実行しているアプリケーションプログラムから受信機4内のリソースが利用可能となる。なお、図1における同期部442及び遅延時間算出部443は、受信機API部436に含まれる。
端末連携API部437は、外部I/F部417により通信可能なホームネットワーク上の機器8や、通信網9を介して接続される機器が受信機4の機能を利用するためのAPIである端末連携APIを実行する。端末連携API部437が端末連携APIを実行することにより、ホームネットワークを介して接続される機器8や通信網9を介して接続される機器から受信機4内のリソースが利用可能となる。
端末連携API部437は、外部I/F部417により通信可能なホームネットワーク上の機器8や、通信網9を介して接続される機器が受信機4の機能を利用するためのAPIである端末連携APIを実行する。端末連携API部437が端末連携APIを実行することにより、ホームネットワークを介して接続される機器8や通信網9を介して接続される機器から受信機4内のリソースが利用可能となる。
リソース制御部439は、受信機API部436や端末連携API部437から受信機4内のリソースである各機能部へのアクセスを制御する。
リソースアクセス制御部438は、受信機API部436や端末連携API部437から受信機4内の各機能部へのアクセスを許可するか否かを制御する。リソースアクセス制御部438は、この制御を、受信機API部436や端末連携API部437が実行する各APIの呼び出し元であるアプリケーションがAアプリケーションであるか一般アプリケーションであるかに従って行なう。
リソースアクセス制御部438は、受信機API部436や端末連携API部437から受信機4内の各機能部へのアクセスを許可するか否かを制御する。リソースアクセス制御部438は、この制御を、受信機API部436や端末連携API部437が実行する各APIの呼び出し元であるアプリケーションがAアプリケーションであるか一般アプリケーションであるかに従って行なう。
図21は、提示制御部413の詳細な構成を示すブロック図である。同図に示すように、提示制御部413は、ポリシーデータ管理部451、ポリシーデータ記憶部452、イベント解釈部453、ポリシーレベル照合部454、イベント制御部455、番組ポリシー記憶部456、ポリシー調停部457及びポリシーレベル記憶部458を備える。
ポリシーデータ記憶部452は、提示ルールデータ及びポリシーレベルテーブルを含むポリシーデータを記憶する。ポリシーデータ管理部451は、ポリシーデータ記憶部452に記憶されるポリシーデータを管理する。ポリシーデータ管理部451は、ポリシーデータ記憶部452から読み出したポリシーレベルテーブルをポリシーレベル照合部454に出力し、ポリシーデータ記憶部452から読み出した提示ルールデータをポリシー調停部457に出力する。また、ポリシーデータ管理部451は、放送により送信されたポリシーデータを分離部402あるいはデータ放送実行部406から受信し、通信により送信されたポリシーデータを通信入出力部411から受信する。ポリシーデータ管理部451は、ポリシーデータ記憶部452に記憶されているポリシーデータを、放送または通信により送信されたポリシーデータにより更新する。
イベント解釈部453は、放送受信部401が受信した放送信号や、分離部402が分離したデータ放送や字幕データを解析し、イベントの発生または終了を検出する。イベント解釈部453は、イベントの発生または終了を検出(解釈)すると、その検出したイベントのイベント番号と、発生または終了を示すステータスデータとをポリシーレベル照合部454に出力する。
ポリシーレベル照合部454は、ポリシーレベルテーブルを参照して、EITにより示される各番組のジャンルに対応したポリシーレベルと、イベント番号により特定されるイベントに対応したポリシーレベルを決定(照合)する。ポリシーレベル照合部454は、分離部402から入力されたSIより取得した番組の放送開始時刻及び放送終了時刻のデータと、当該番組のポリシーレベル(以下、「番組ポリシーレベル」と記載する。)をイベント制御部455に出力する。なお、番組ポリシーレベルがEITに設定されている場合、ポリシーレベル照合部454は、番組の放送開始時刻及び放送終了時刻のデータと、EITから取得した当該番組の番組ポリシーレベルをイベント制御部455に出力する。
また、ポリシーレベル照合部454は、AITから番組ポリシーレベルを取得した場合、取得した番組ポリシーレベルをポリシー調停部457に出力する。また、ポリシーレベル照合部454は、イベント番号に対応して決定したポリシーレベル(以下、「トリガーポリシーレベル」と記載する。)をポリシー調停部457に出力する。
また、ポリシーレベル照合部454は、AITから番組ポリシーレベルを取得した場合、取得した番組ポリシーレベルをポリシー調停部457に出力する。また、ポリシーレベル照合部454は、イベント番号に対応して決定したポリシーレベル(以下、「トリガーポリシーレベル」と記載する。)をポリシー調停部457に出力する。
番組ポリシー記憶部456は、番組開始時刻及び番組終了時刻と、番組ポリシーレベルを対応付けて記憶する。イベント制御部455は、ポリシーレベル照合部454から入力された番組開始時刻及び番組終了時刻のデータと、番組ポリシーレベルとを対応付けて番組ポリシー記憶部456に書き込み、番組ポリシー記憶部456に記憶されているこれらの情報を基に、表示制御を実行する時刻を管理する。イベント制御部455は、番組ポリシー記憶部456に記憶されている番組開始時刻のデータを参照し、実行時刻を通知すべき時刻となったことを検出した場合、実行時刻と、その実行時刻に対応した番組ポリシーレベルをポリシー調停部457に出力する。
ポリシーレベル記憶部458は、ポリシー調停部457に入力された実行時刻及び番組ポリシーレベルと、トリガーポリシーレベル及びステータスデータを記憶する。ポリシー調停部457は、イベント制御部455から入力された実行時刻及び番組ポリシーレベルと、ポリシーレベル照合部454から入力されたトリガーポリシーレベルとからポリシーレベルを決定する。例えば、トリガーポリシーレベルをポリシーレベルとして決定してもよく、番組ポリシーレベルとトリガーポリシーレベルのうちより高いほうをポリシーレベルとして決定してもよい。
なお、ポリシーレベル照合部454からAITにより取得した番組ポリシーレベルが入力された場合、ポリシー調停部457は、イベント制御部455から入力された番組ポリシーレベルよりも、ポリシーレベル照合部454から入力された番組ポリシーレベルを優先する。つまり、ポリシー調停部457は、AITより得られた番組ポリシーレベルと、トリガーポリシーレベルとからポリシーレベルを決定する。ポリシー調停部457は、提示ルールデータを参照し、決定したポリシーレベルと、アプリケーション管理部433から取得した動作中のアプリケーションがAアプリケーションであるか否かの情報や出力状況から、画面表示方法及び音声出力方法(提示方法)を決定する。ポリシー調停部457は、決定した画面表示方法を映像制御部407に出力し、決定した音声出力方法を音声制御部409に出力する。
ここで、図1に示す受信機4がアプリケーションプログラムを実行する動作について説明する。
図22は、受信機4がアプリケーションを実行する動作を示すフローチャートである。
アプリケーション実行部435は、まず主記憶装置やその他の記憶装置からアプリケーションプログラムを読み出す(ステップS1)。次に、アプリケーション実行部435の命令実行部441は、アプリケーションプログラムに記述された命令コードを順次読み取り、各命令コードについて、以下に示すステップS3〜ステップS12の処理を実行する(ステップS2)。
図22は、受信機4がアプリケーションを実行する動作を示すフローチャートである。
アプリケーション実行部435は、まず主記憶装置やその他の記憶装置からアプリケーションプログラムを読み出す(ステップS1)。次に、アプリケーション実行部435の命令実行部441は、アプリケーションプログラムに記述された命令コードを順次読み取り、各命令コードについて、以下に示すステップS3〜ステップS12の処理を実行する(ステップS2)。
命令実行部441は、ステップS2で命令コードを読み取ると、読み取った命令コードの判別を行う(ステップS3)。命令実行部441は、読み取った命令コードがsync()を呼び出すものであると判定した場合(ステップS3:sync())、同期部442に放送コンテンツと通信コンテンツの提示時刻の同期を指示する。同期部442は、命令実行部441から同期指示を受け付けると、第1デコーダ405−1から、最後にデコードした放送コンテンツに関連付けられたPTS(以下、PTS1と呼ぶ)を取得する(ステップS4)。なお、第1デコーダ405−1は、第1同期用バッファ404−1から出力される放送コンテンツを順次デコードする。すなわち、同期部442は、現在出力されている放送コンテンツに関連付けられたPTSを取得する。次に、同期部442は、第1同期用バッファ404−1のOEスイッチをOFFにする(ステップS5)。
次に、同期部442は、第2デコーダ405−2から、最後にデコードした通信コンテンツに関連付けられたPTS(以下、PTS2と呼ぶ)を取得する(ステップS6)。すなわち、同期部442は、現在出力されている通信コンテンツに関連付けられたPTSを取得する。次に、同期部442は、ステップS4で取得したPTS1が示す時刻が、ステップS6で取得したPTS2が示す時刻以前の時刻であるか否かを判定する(ステップS7)。同期部442は、PTS1が示す時刻がPTS2が示す時刻より後の時刻であると判定した場合(ステップS7:NO)、ステップS6に戻り、再度PTS2を取得する。
他方、同期部442は、PTS1が示す時刻が、PTS2が示す時刻以前の時刻であると判定した場合(ステップS7:YES)、第1同期用バッファ404−1のOEスイッチをONにして(ステップS8)ステップS2に戻り、次の命令コードの読み取りを行う。これにより、第1同期用バッファ404−1から第1デコーダ405−1への通信コンテンツの出力が再開し、第1同期用バッファ404−1による出力タイミングが遅延する。
他方、同期部442は、PTS1が示す時刻が、PTS2が示す時刻以前の時刻であると判定した場合(ステップS7:YES)、第1同期用バッファ404−1のOEスイッチをONにして(ステップS8)ステップS2に戻り、次の命令コードの読み取りを行う。これにより、第1同期用バッファ404−1から第1デコーダ405−1への通信コンテンツの出力が再開し、第1同期用バッファ404−1による出力タイミングが遅延する。
このように、同期部442は、通信コンテンツの受信に応じて放送コンテンツの再生を遅延させることで、第1デコーダ405−1が出力する放送コンテンツのPTSが示す時刻と第2デコーダ405−2が出力する通信コンテンツのPTSが示す時刻とを一致させることができる。
他方、ステップS3で、命令実行部441が、読み取った命令コードがgetCurrentDelay()を呼び出すものであると判定した場合(ステップS3:getCurrentDelay())、命令実行部441は、遅延時間算出部443に放送コンテンツの本来の提示時刻からの遅延時間の取得を指示する。遅延時間算出部443は、命令実行部441から遅延時間取得指示を受け付けると、第1デコーダ405−1から、最後にデコードした放送コンテンツに関連付けられたPTS(以下、PTSoutと呼ぶ)を取得する(ステップS9)。すなわち、遅延時間算出部443は、現在出力されている放送コンテンツに関連付けられたPTSを取得する。次に、遅延時間算出部443は、分離部402から出力され、第1同期用バッファ404−1に記録される放送コンテンツに関連付けられたPTS(以下、PTSinと呼ぶ)を取得する(ステップS10)。そして、遅延時間算出部443は、ステップS9で取得したPTSoutからステップS10で取得したPTSinを減じることで、放送コンテンツの本来の提示時刻からの遅延時間を算出し(ステップS11)、命令実行部441に算出した遅延時間を出力する。そして、ステップS2に戻り、次の命令コードの読み取りを行う。これにより、遅延時間算出部443は、上述したsync()の呼び出し等によって同期部442が再生を遅延させた放送コンテンツの遅延時間を算出することができる。
また、命令実行部441は、ステップS3において読み取った命令コードがsync()を呼び出すものでもgetCurrentDelay()を呼び出すものでもないと判定した場合(ステップS3:その他のコード)、読み取った命令コードに従った処理を実行し(ステップS12)、ステップS2に戻り、次の命令コードの読み取りを行う。
そして、命令実行部441が全ての命令コードに対してステップS3〜ステップS12の処理を実行すると、アプリケーション実行部435は、アプリケーションプログラムの実行を終了する。
次に、受信機4が、コンテンツ配信サーバ16から受信する通信コンテンツを用いた処理を実行するアプリケーションを実行する場合における受信機4とコンテンツ配信サーバ16の動作について説明する。なお、本実施形態では、受信機4が放送コンテンツにて提供されるクイズ番組に回答情報を送信するアプリケーションを実行する例を用いて説明する。
図23は、アプリケーションを実行する受信機4とコンテンツ配信サーバ16の動作を示すシーケンス図である。
受信機4の命令実行部441はアプリケーションプログラムを読み出すと、アプリケーションプログラムに記述された命令に従って、通信入出力部411にコンテンツ要求信号の送信指示を出力する。通信入出力部411は、命令実行部441からコンテンツ要求信号の送信指示を受けると、コンテンツ要求信号をコンテンツ配信サーバ16に送信する(ステップS101)。コンテンツ配信サーバ16は、コンテンツ要求信号を受信すると(ステップS201)、当該コンテンツ要求信号の送信元の受信機4に対して、当該コンテンツ要求信号に応じた通信コンテンツの送信を開始する(ステップS202)。コンテンツ要求信号に応じた通信コンテンツとは、例えばコンテンツ要求信号に含まれるアプリケーションを特定する識別情報に関連付けられた通信コンテンツ等が挙げられる。これに応じて、受信機4の通信入出力部411は、通信コンテンツを順次受信して第2同期用バッファ404−2に記録する(ステップS102)。
受信機4の命令実行部441はアプリケーションプログラムを読み出すと、アプリケーションプログラムに記述された命令に従って、通信入出力部411にコンテンツ要求信号の送信指示を出力する。通信入出力部411は、命令実行部441からコンテンツ要求信号の送信指示を受けると、コンテンツ要求信号をコンテンツ配信サーバ16に送信する(ステップS101)。コンテンツ配信サーバ16は、コンテンツ要求信号を受信すると(ステップS201)、当該コンテンツ要求信号の送信元の受信機4に対して、当該コンテンツ要求信号に応じた通信コンテンツの送信を開始する(ステップS202)。コンテンツ要求信号に応じた通信コンテンツとは、例えばコンテンツ要求信号に含まれるアプリケーションを特定する識別情報に関連付けられた通信コンテンツ等が挙げられる。これに応じて、受信機4の通信入出力部411は、通信コンテンツを順次受信して第2同期用バッファ404−2に記録する(ステップS102)。
次に、命令実行部441は、アプリケーションプログラムに記述された命令に従って、sync()を呼び出す。これにより、同期部442は、上述したステップS4〜ステップS8の処理を実行し、放送コンテンツと通信コンテンツとを同期させる(ステップS103)。次に、命令実行部441は、アプリケーションプログラムに記述された命令に従って、getCurrentDelay()を呼び出す。これにより、遅延時間算出部443は、上述したステップS9〜ステップS11の処理を実行することで遅延時間を算出し、命令実行部441は、当該遅延時間を取得する(ステップS104)。
次に、命令実行部441は、アプリケーションプログラムに記述された命令に従って、通信入出力部411に、遅延時間の通知指示を出力する。通信入出力部411は、遅延時間の通知指示を受けると、コンテンツ配信サーバ16に遅延時間を通知する(ステップS105)。
次に、命令実行部441は、アプリケーションプログラムに記述された命令に従って、通信入出力部411に、遅延時間の通知指示を出力する。通信入出力部411は、遅延時間の通知指示を受けると、コンテンツ配信サーバ16に遅延時間を通知する(ステップS105)。
コンテンツ配信サーバ16は、受信機4から遅延時間の通知を受けると(ステップS203)、コンテンツ配信サーバ16がクイズ番組の開始時点から現在時刻までに受信機4から受信した遅延時間のうち、最も遅いものを最大遅延時間として記憶しておく(ステップS204)。なお、コンテンツ配信サーバ16は、複数の受信機4に対して通信コンテンツを配信しており、それぞれの受信機4から遅延時間を受信する。すなわち、ステップS204の処理は、通信コンテンツを配信している複数の受信機4のそれぞれから受信した遅延時間のうち最大のものを特定する処理である。
次に、コンテンツ配信サーバ16は、放送送出装置が送出するクイズ番組の進行に合わせて、当該クイズ番組の問題及び回答期限時刻を受信機4に送信する(ステップS211)。ここで、回答期限時刻とは、クイズ番組で規定された回答時間が満了する時刻を示す。受信機4の通信入出力部411が問題及び回答期限時刻を受信すると(ステップS111)、命令実行部441は、利用者による回答の入力の受け付けを開始し、利用者から回答の入力を受け付けたか否かを判定する(ステップS112)。なお、回答の入力方法としては、例えば受信機のリモートコントローラのボタンの押下によるものが挙げられる。
命令実行部441は、利用者からの回答の入力が無いと判定した場合(ステップS112:NO)、第1デコーダ405−1が出力する放送コンテンツのPTSが示す時刻が、ステップS111で受信した回答期限時刻以降の時刻であるか否かを判定する(ステップS113)。命令実行部441は、PTSが示す時刻が回答期限時刻より前の時刻であると判定した場合(ステップS113:NO)、ステップS112に戻り、引き続き回答の入力を待機する。
また、命令実行部441は、ステップS112において利用者からの回答の入力があったと判定した場合(ステップS112:YES)、当該回答をコンテンツ配信サーバに送信する(ステップS114)。そして、命令実行部441は、ステップS113においてPTSが示す時刻が回答期限時刻以降の時刻であると判定した場合(ステップS113:YES)、またはステップS114において回答を送信した場合、回答の入力の受け付けを終了する(ステップS115)。
他方、コンテンツ配信サーバ16は、ステップS211で問題及び回答期限時刻を送信すると、受信機4からの回答の受け付けを開始する。すなわち、コンテンツ配信サーバ16は、受信機4から回答が送信された場合、当該回答を受信する(ステップS212)。
次に、コンテンツ配信サーバ16は、通信コンテンツの配信の基準となる基準時刻が、ステップS211で送信した回答期限時刻にステップS204で特定した最大遅延時間を加算した時刻以降の時刻であるか否かを判定する(ステップS213)。なお、コンテンツ配信サーバ16の基準時刻は、放送送出装置の基準時刻と同期している。命令実行部441は、基準時刻が、回答期限時刻に最大遅延時間を加算した時刻より前の時刻であると判定した場合(ステップS213:NO)、ステップS212に戻り、回答の受け付けを継続する。
他方、命令実行部441は、基準時刻が、回答期限時刻に最大遅延時間を加算した時刻以降の時刻であると判定した場合(ステップS213:YES)、回答の受け付けを終了する(ステップS214)。
次に、コンテンツ配信サーバ16は、通信コンテンツの配信の基準となる基準時刻が、ステップS211で送信した回答期限時刻にステップS204で特定した最大遅延時間を加算した時刻以降の時刻であるか否かを判定する(ステップS213)。なお、コンテンツ配信サーバ16の基準時刻は、放送送出装置の基準時刻と同期している。命令実行部441は、基準時刻が、回答期限時刻に最大遅延時間を加算した時刻より前の時刻であると判定した場合(ステップS213:NO)、ステップS212に戻り、回答の受け付けを継続する。
他方、命令実行部441は、基準時刻が、回答期限時刻に最大遅延時間を加算した時刻以降の時刻であると判定した場合(ステップS213:YES)、回答の受け付けを終了する(ステップS214)。
このように、本実施形態によれば、受信機4は、コンテンツ配信サーバ16に放送コンテンツの遅延時間を通知する。これにより、コンテンツ配信サーバ16は、受信機4から送信された遅延時間の分だけ、クイズの回答の受け付け期限を延長することができる。そのため、コンテンツ配信サーバ16は、受信機4において通信コンテンツと放送コンテンツの同期を行うことで放送コンテンツの提示に遅延が生じた場合にも、遅延がない場合と同じ期間だけクイズの回答の受け付けを許可することができる。
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、本実施形態では、同期部442が第1デコーダ405−1から取得したPTSと第2デコーダ405−2から取得したPTSとが同じ時刻を示すまで、第1同期用バッファ404−1のOEスイッチをOFFにすることで、放送コンテンツと通信コンテンツとの同期をとる場合を説明したが、これに限られない。例えば、同期部442が、第1デコーダ405−1から取得したPTSが示す時刻と第2デコーダ405−2から取得したPTSが示す時刻との差の時間を算出し、当該時間が経過するまで、第1同期用バッファ404−1のOEスイッチをOFFにすることでも同様の効果を得ることができる。
例えば、本実施形態では、同期部442が第1デコーダ405−1から取得したPTSと第2デコーダ405−2から取得したPTSとが同じ時刻を示すまで、第1同期用バッファ404−1のOEスイッチをOFFにすることで、放送コンテンツと通信コンテンツとの同期をとる場合を説明したが、これに限られない。例えば、同期部442が、第1デコーダ405−1から取得したPTSが示す時刻と第2デコーダ405−2から取得したPTSが示す時刻との差の時間を算出し、当該時間が経過するまで、第1同期用バッファ404−1のOEスイッチをOFFにすることでも同様の効果を得ることができる。
また、本実施形態では、第1同期用バッファ404−1がFIFOメモリである場合を説明したが、これに限られない。例えば、第1同期用バッファ404−1として、指定されたバッファサイズ分の情報を記憶し、当該バッファサイズを超えたときに、最も古い情報から順に出力するバッファメモリを用いてもよい。この場合、同期部442が、OEクロックの入力をOFFにする処理に代えて、第1デコーダ405−1から取得したPTSが示す時刻と第2デコーダ405−2から取得したPTSが示す時刻との差の時間に対応するサイズだけ第1同期用バッファ404−1のバッファサイズを拡張することで、上述した実施形態と同様の効果を得ることができる。
また、例えば、第1同期用バッファ404−1として、メモリ配列の始点と終点を仮想的に連結したリングバッファを用いてもよい。この場合、同期部442が、OEクロックの入力をOFFにする処理に代えて、読み出しアドレスと書き込みアドレスのインターバルを、第1デコーダ405−1から取得したPTSが示す時刻と第2デコーダ405−2から取得したPTSが示す時刻との差の時間に対応するサイズだけ拡張することで、上述した実施形態と同様の効果を得ることができる。
また、本実施形態では、コンテンツ配信サーバ16に遅延時間を送信することで、コンテンツ配信サーバ16のクイズ番組の回答期限を延長させる例について説明したが、これに限られず、コンテンツ配信サーバ16は、通知された遅延時間に応じた他のサービスの提供を行っても良い。
また、本実施形態では、命令実行部441によるsync()の呼び出しによって放送コンテンツの再生を遅延させる場合を説明したが、これに限られず、例えば、同期関連APIにおいて提供されるdelayStreamPresentation()の呼び出しによって放送コンテンツの再生を遅延させても良い。つまり、本実施形態では再生遅延部として同期部442を用いる場合を説明したが、これに限られず、放送コンテンツを指定時間遅延させる指定遅延部を、再生遅延部としても良い。
上述した受信機4のアプリケーション実行制御部412及び提示制御部413は、内部にコンピュータシステムを有している。そして、受信機4のアプリケーション実行制御部412及び提示制御部413の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、CPU及び各種メモリやOS、周辺機器等のハードウェアを含むものである。
また、「コンピュータ読み取り可能な記録媒体」とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体ディスク(SSD)、半導体メモリ等をいう。
また、このコンピュータプログラムを放送や通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。また上記プログラムは、上記処理の一部を実現するためのものであってもよく、さらに前述した処理をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
また、このコンピュータプログラムを放送や通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。また上記プログラムは、上記処理の一部を実現するためのものであってもよく、さらに前述した処理をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
1…放送事業者装置
11…放送送出装置
111…放送関連データ管理部
112…信号設定部
113…放送送出部
12…放送局サーバ群
13…コンテンツ管理サーバ
14…番組管理サーバ
15…メタデータ管理サーバ
16…コンテンツ配信サーバ
17…放送局サービスサーバ
18…通知サーバ
2…サービス事業者サーバ群
21…受信機アプリサーバ
22…サービスサーバ
23…コンテンツ配信サーバ
24…通知サーバ
3…リポジトリサーバ
4…受信機
401…放送受信部
402…分離部
403…時計
404−1…第1同期用バッファ
404−2…第2同期用バッファ
405−1…第1デコーダ
405−2…第2デコーダ
406…データ放送実行部
407…映像制御部
408…映像表示部
409…音声制御部
410…音声出力部
411…通信入出力部(通信コンテンツ要求部、通信コンテンツ取得部、遅延時間通知部)
412…アプリケーション実行制御部
413…提示制御部
414…操作入力部
415…選局部
416…ローカル情報記憶部
417…外部I/F部
431…アプリケーション記憶部
432…アプリケーション認証部
433…アプリケーション管理部
434…アプリケーション制御部
435…アプリケーション実行部
436…受信機API部
437…端末連携API部
438…リソースアクセス制御部
439…リソース制御部
441…命令実行部
442…同期部(再生遅延部)
443…遅延時間算出部
451…ポリシーデータ管理部
452…ポリシーデータ記憶部
453…イベント解釈部
454…ポリシーレベル照合部
455…イベント制御部
456…番組ポリシー記憶部
457…ポリシー調停部
458…ポリシーレベル記憶部
9…通信網
11…放送送出装置
111…放送関連データ管理部
112…信号設定部
113…放送送出部
12…放送局サーバ群
13…コンテンツ管理サーバ
14…番組管理サーバ
15…メタデータ管理サーバ
16…コンテンツ配信サーバ
17…放送局サービスサーバ
18…通知サーバ
2…サービス事業者サーバ群
21…受信機アプリサーバ
22…サービスサーバ
23…コンテンツ配信サーバ
24…通知サーバ
3…リポジトリサーバ
4…受信機
401…放送受信部
402…分離部
403…時計
404−1…第1同期用バッファ
404−2…第2同期用バッファ
405−1…第1デコーダ
405−2…第2デコーダ
406…データ放送実行部
407…映像制御部
408…映像表示部
409…音声制御部
410…音声出力部
411…通信入出力部(通信コンテンツ要求部、通信コンテンツ取得部、遅延時間通知部)
412…アプリケーション実行制御部
413…提示制御部
414…操作入力部
415…選局部
416…ローカル情報記憶部
417…外部I/F部
431…アプリケーション記憶部
432…アプリケーション認証部
433…アプリケーション管理部
434…アプリケーション制御部
435…アプリケーション実行部
436…受信機API部
437…端末連携API部
438…リソースアクセス制御部
439…リソース制御部
441…命令実行部
442…同期部(再生遅延部)
443…遅延時間算出部
451…ポリシーデータ管理部
452…ポリシーデータ記憶部
453…イベント解釈部
454…ポリシーレベル照合部
455…イベント制御部
456…番組ポリシー記憶部
457…ポリシー調停部
458…ポリシーレベル記憶部
9…通信網
Claims (1)
- 放送コンテンツを受信する放送受信部と、
通信コンテンツを格納する外部のコンテンツ配信サーバに、前記通信コンテンツの送信を要求するコンテンツ要求信号を供給する通信コンテンツ要求部と、
前記コンテンツ要求信号に応じて前記コンテンツ配信サーバから送信される前記通信コンテンツを取得する通信コンテンツ取得部と、
前記通信コンテンツの受信に応じて前記放送コンテンツの再生を遅延させる再生遅延部と、
前記再生遅延部が再生を遅延させた前記放送コンテンツの遅延時間を算出する遅延時間算出部と、
前記遅延時間算出部が算出した前記遅延時間を前記コンテンツ配信サーバに通知する遅延時間通知部と
を備えることを特徴とする受信機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012113950A JP2013009341A (ja) | 2011-05-20 | 2012-05-18 | 受信機 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011113702 | 2011-05-20 | ||
JP2011113702 | 2011-05-20 | ||
JP2012113950A JP2013009341A (ja) | 2011-05-20 | 2012-05-18 | 受信機 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013009341A true JP2013009341A (ja) | 2013-01-10 |
Family
ID=47676271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012113950A Pending JP2013009341A (ja) | 2011-05-20 | 2012-05-18 | 受信機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013009341A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015029402A1 (ja) | 2013-08-30 | 2015-03-05 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 受信方法、送信方法、受信装置、及び送信装置 |
-
2012
- 2012-05-18 JP JP2012113950A patent/JP2013009341A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015029402A1 (ja) | 2013-08-30 | 2015-03-05 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 受信方法、送信方法、受信装置、及び送信装置 |
US10277931B2 (en) | 2013-08-30 | 2019-04-30 | Panasonic Intellectual Property Corporation Of America | Reception method, transmission method, reception device, and transmission device |
EP3684066A1 (en) | 2013-08-30 | 2020-07-22 | Panasonic Intellectual Property Corporation of America | Reception method, transmission method, reception device, and transmission device |
US10911805B2 (en) | 2013-08-30 | 2021-02-02 | Panasonic Intellectual Property Corporation Of America | Reception method, transmission method, reception device, and transmission device |
US11284142B2 (en) | 2013-08-30 | 2022-03-22 | Panasonic Intellectual Property Corporation Of America | Reception method, transmission method, reception device, and transmission device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6275308B2 (ja) | 受信機 | |
JP5965723B2 (ja) | 受信機 | |
JP2013009344A (ja) | 受信機 | |
JP6018799B2 (ja) | 放送通信連携システム | |
JP6214810B1 (ja) | 受信機 | |
JP5586657B2 (ja) | 受信機 | |
JP2012257232A (ja) | 受信機およびプログラム | |
WO2012157718A1 (ja) | 受信機および受信方法 | |
JP5957291B2 (ja) | 受信機 | |
JP5965722B2 (ja) | 受信機 | |
JP6018798B2 (ja) | 受信機 | |
JP6002438B2 (ja) | 受信機 | |
JP5953111B2 (ja) | 受信機 | |
JP2013009320A (ja) | 受信機 | |
JP5586658B2 (ja) | 受信機 | |
JP6037656B2 (ja) | 受信機 | |
JP2013009341A (ja) | 受信機 | |
JP6018797B2 (ja) | 受信機 | |
JP2013009322A (ja) | 受信機及び放送送出装置 | |
JP2013009342A (ja) | 受信機 | |
JP2012257229A (ja) | 受信機 | |
JP2013009338A (ja) | 受信機 | |
JP2013009331A (ja) | 受信機 | |
JP2012257227A (ja) | 受信機 | |
JP2013009328A (ja) | 受信機 |