以下、図面を参照しながら本明細書で開示する技術の実施形態について詳細に説明する。
図1には、本明細書で開示する技術を適用したディジタル放送システム10の構成例を模式的に示している。図示のディジタル放送システム10は、放送送出システム11と、受信機12で構成される。
放送送出システム11は、放送信号の伝送にMMT方式を適用しており、放送サービスを構成する各コンポーネントをIPパケットにして伝送する。具体的には、放送番組の映像信号や音声信号の符号、並びに、放送番組に関連するコンテンツ(データ放送アプリケーションなど)や字幕の信号は、MMTPペイロードに乗せてMMTPパケット化され、IPパケットで伝送される。また、これらのIPパケットは、放送伝送路ではTLVパケットの形式で伝送される。ここで、映像や音声、字幕などの放送番組本体に関わるコンポーネントは、タイムド・メディアである。また、データ放送に利用されるコンテンツ(HTML:Hyper Text Transfer Protocol)形式で記述されるデータ放送アプリケーションなど)はノンタイムド・メディアである。
一方、受信機12は、放送送出システム11から放送伝送路で送られてくるIPパケットを受信する。受信機12は、そして、受信機12は、受信パケットから映像や音声、字幕などの伝送メディアを復号して、画像や音声を提示する。また、受信機12は、受信パケットからデータ放送用の各ファイル・データを取得すると、HTMLブラウザーなどのアプリケーション・エンジンを起動して、放送番組に連動したデータ放送の提示を行なう。
図2には、MMT方式を用いる放送システムのプロトコル・スタック200を示している。
1つの放送サービスは、映像201、音声202、字幕203、アプリケーション204、コンテンツ・ダウンロード205の各コンポーネントで構成される。映像201はHEVC(High Efficiency Video Coding)形式で符号化211され、音声202はAAC(Advanced Audio Coding)形式で符号化212され、字幕203は次膜符号化213される。また、アプリケーション204は、EPG(Electric Program Guide)を含むが、HTML5形式で符号化214される。
MMTレイヤー220上では、これらタイムド・メディア及びノンタイムド・メディアの符号化コンポーネント211~214は、MPUフォーマットにして、MMTPペイロードに乗せてMMTPパケット化される。また、メディア・トランスポート方式であるMMTに関わる(放送番組の構成などを示す)制御情報であるMMT-SI(signaling Information)221も、MMTPペイロードに乗せてMMTPパケット化される。なお、コンテンツ・ダウンロード205のデータ伝送方式215として、字幕・文字スーパー伝送方式、アプリケーション伝送方式、イベント・メッセージ伝送方式、汎用データ伝送方式の4種類が挙げられるが、詳細な説明は省略する。
UDP(User Datagram Protocol)/IPレイヤー230では、MMTPパケットはIPパケット化される。また、タイムド・メディアのための現在時刻の情報を含むNTP(Network Time Protocol)パケット206も、IPパケット化される。さらに、これらのIPパケットは、TLVレイヤー240でTLVパケット化され、最下層の物理レイヤーである放送伝送路250で伝送される。また、IPパケットの多重のためのTLV多重化形式に関わるTLV-SI241も、TLVパケット化され、放送伝送路250で伝送される。TLVパケットを多重した伝送スロットは、伝送路のTMCC(Transmission and Multiplexing Configuration Control)信号251から、TLVストリーム識別情報(TLV_stream_id)を用いて特定される。
図3には、図2に示した放送信号を送出する放送送出システム11の構成例を示している。放送送出システム11は、例えば放送番組本体の制作元であるキー局(番組制作局)に相当する。図示の放送送出システム11は、時計部301と、信号送出部302と、ビデオ・エンコーダー303と、オーディオ・エンコーダー304と、キャプション・エンコーダー305と、シグナリング・エンコーダー306と、ファイル・エンコーダー307と、電子データ処理システム(Electronic Data Processing System:EDPS)308と、TLVシグナリング・エンコーダー309と、IPサービス・マルチプレクサー(MUX)310と、TLVマルチプレクサー(MUX)311と、変調・送信部312を備えている。
時計部301は、NTPサーバー(図示しない)から取得した時刻情報に同期した時刻情報を生成し、この時刻情報を含むIPパケットをIPサービス・マルチプレクサー310に送る。
信号送出部302は、例えばTV放送局のスタジオやVTRなどの記録再生機であり、タイムド・メディアである映像、音声、字幕などのストリーム・データや、ノンタイムド・メディアであるデータ放送アプリケーション用のファイル・データ(HTML文書データなど)をそれぞれ、ビデオ・エンコーダー303、オーディオ・エンコーダー304、キャプション・エンコーダー305、ファイル・エンコーダー307に送る。
EDPS308は、TV放送局のスケジューラー並びにファイルの供給源であり、ノンタイムド・メディアであるデータ放送アプリケーションと、放送番組の構成などを示す制御情報と、IPパケットの多重に関する制御情報をそれぞれ、ファイル・エンコーダー307、シグナリング・エンコーダー306、TLVシグナリング・エンコーダー309に送る。
ビデオ・エンコーダー303は、信号送出部302から送出される映像信号をHEVC符号化し、さらにパケット化して、映像信号のMMTパケットを含むIPパケットをIPサービス・マルチプレクサー310に送る。また、オーディオ・エンコーダー304は、信号送出部302から送出される音声信号をAAC符号化し、さらにパケット化して、音声信号のMMTパケットを含むIPパケットをIPサービス・マルチプレクサー310に送る。また、キャプション・エンコーダー305は、信号送出部302から送出される字幕信号を字幕符号化し、さらにパケット化して、字幕のMMTパケットを含むIPパケットをIPサービス・マルチプレクサー310に送る。
シグナリング・エンコーダー306は、EDPS308から送出される情報に基づいて、放送番組の構成などを示す制御情報を記述したシグナリング・メッセージ(MMT-SI)を生成し、ペイロード部にこのシグナリング・メッセージが配置されたMMTパケットを含むIPパケットをIPサービス・マルチプレクサー310に送る。本実施形態では、シグナリング・メッセージは、PA(Package Access)メッセージ、M2セクション・メッセージ、データ伝送メッセージの3種類に大別される。
ファイル・エンコーダー307は、信号送出部302又はEDPS308から送出されるデータ放送アプリケーションをHTML5形式のファイル・データに符号化し、さらにパケット化して、このMMTパケットを含むIPパケットをIPサービス・マルチプレクサー310に送る。
放送送出システム11は、送出するチャンネル(放送番組)毎にIPサービス・マルチプレクサー310を装備する。1つのチャンネルのIPサービス・マルチプレクサー310は、各エンコーダー303~307から送られてくる映像、音声、字幕、シグナリング・メッセージ(MMT-SI)、及びデータ放送アプリケーションの各々を含むIPパケットをマルチプレクスして、1つの放送サービス(チャンネル)を構成するTLVパケットを生成する。
TLVシグナリング・エンコーダー309は、EDPS308から送出される情報に基づいて、上記のIPパケットの多重に関する制御情報(TLV-SI)をペイロード部に配置するTLVパケットを生成する。
TLVマルチプレクサー311は、各IPサービス・マルチプレクサー310-1~310-N及びTLVシグナリング・エンコーダー309で生成されるTLVパケットをマルチプレクスして、TLVストリーム識別情報で識別されるTLVストリームを生成する。
変調・送信部312は、TLVマルチプレクサー311で生成されたTLVストリームに対してRF変調処理を行なって、放送伝送路に送出する。
図3に示した放送送出システム11の動作について説明しておく。
時計部301では、NTPサーバー(図示しない)から取得した時刻情報に同期した時刻情報が生成され、この時刻情報を含むIPパケットが生成される。
信号送出部302から送出される映像信号は、ビデオ・エンコーダー303に供給される。ビデオ・エンコーダー303では、映像信号がHEVC符号化され、さらにパケット化されて、HEVC符号化映像信号のMMTパケットを含むIPパケットが生成される。このIPパケットは、IPサービス・マルチプレクサー310に送られる。
また、信号送出部302から送出される音声信号並びに字幕信号に対しても、同様の処理が行なわれる。すなわち、オーディオ・エンコーダー304で生成されるAAC符号化音声信号のMMTパケットを含むIPパケットがIPサービス・マルチプレクサー310に送られるとともに、キャプション・エンコーダー305で生成される字幕符号化信号のMMTパケットを含むIPパケットがIPサービス・マルチプレクサー310に送られる。
また、シグナリング・エンコーダー306では、EDPS308から送出される情報に基づいて放送番組の構成などを示す制御情報を記述したシグナリング・メッセージ(MMT-SI)が生成され、ペイロード部にこのシグナリング・メッセージが配置されたMMTパケットを含むIPパケットが生成される。このIPパケットは、IPサービス・マルチプレクサー310に送られる。
また、信号送出部302又はEDPS308から送出されるデータ放送アプリケーションは、ファイル・エンコーダー307に供給される。ファイル・エンコーダー307では、データ放送アプリケーションがHTML5形式に符号化され、さらにパケット化され、このMMTパケットを含むIPパケットが生成される。このIPパケットは、IPサービス・マルチプレクサー310に送られる。
各IPサービス・マルチプレクサー310では、各エンコーダー303~307から送られてくる映像、音声、字幕、シグナリング・メッセージ(MMT-SI)、及びファイル・データ(HTML5文書)の各々を含むIPパケットがマルチプレクスされて、1つのチャンネルを構成するTLVパケットが生成される。
TLVシグナリング・エンコーダー309では、EDPS308から送出される情報に基づいて、上記のIPパケットの多重に関する制御情報(TLV-SI)をペイロード部に配置するTLVパケットが生成される。
TLVマルチプレクサー311では、各IPサービス・マルチプレクサー310-1~310-N及びTLVシグナリング・エンコーダー309で生成されるTLVパケットがマルチプレクスされて、TLVストリームが生成される。変調・送信部312では、TLVマルチプレクサー311で生成されたTLVストリームに対してRF変調処理が行なわれ、そのRF変調信号が放送伝送路に送出される。
図4には、図2に示した放送信号を受信する受信機12の構成例を示している。図示の受信機12は、チューナー・復調部401と、デマルチプレクサー(DEMUX)402と、時計回復部403と、ビデオ・デコーダー404と、オーディオ・デコーダー405と、キャプション・デコーダー406と、システム制御部407と、アプリケーション制御部408と、キャッシュ・メモリー408と、アプリケーション・エンジン409と、IPインターフェース(I/F])410と、合成部411を備えている。図示の受信機12は、例えば家庭内に設置されるテレビ受信機やセット・トップ・ボックスの他、IPTVやCATVの再送信機を含むものとする。
チューナー・復調部401は、放送信号を選局受信し、復調処理を行なって、TLVストリームを得る。デマルチプレクサー402は、このTLVストリームに対して、デマルチプレクス処理及びデパケット化処理を行なう。本実施形態では、デマルチプレクサー402は、TLVフィルター402-1と、IPフィルター402-2と、UDPフィルター402-3と、MMTフィルター402-4と、SIフィルター402-5を備えている。
TLVフィルター402-1は、TLVストリーム識別情報に基づいて、放送伝送されるTLVパケットをフィルタリングする。IPフィルター402-2は、IPアドレスに基づいて、TLVパケットからIPパケットをフィルタリングするとともに、IPインターフェース410経由で受信したIPパケットのフィルタリングも行なう。また、UDPフィルター402-3は、UDPパケットをフィルタリングする。MMTフィルター402-4は、MMTPヘッダー(後述)内の情報に基づいて、IPパケットからMMTPパケットをフィルタリングして、映像、音声、字幕、並びにアプリケーションの各符号化コンポーネントを乗せたMMTPパケットを、それぞれビデオ・デコーダー404、オーディオ・デコーダー405、キャプション・デコーダー406、アプリケーション・エンジン409に振り分ける。SIフィルター402-5は、シグナリング情報SIをフィルタリングして、システム制御部407及びアプリケーション制御部408にそれぞれ振り分ける。SIフィルター402-5は、MMTストリームからMMT-SIをフィルタリングするMMT-SIフィルターと、TLVストリームからTLV-SIをフィルタリングするTLV-SIフィルターを含むものとする。
時計回復部403は、デマルチプレクサー402内のIPフィルター402-2並びにUDPフィルター402-3でフィルタリングされたNTPパケットに含まれる現在時刻の情報に基づいて、この時刻情報に同期した時刻情報を生成して、各タイムド・メディアをデコードするにビデオ・デコーダー404、オーディオ・デコーダー405、キャプション・デコーダー406にそれぞれ出力する。
ビデオ・デコーダー404は、デマルチプレクサー402で得られる符号化映像信号をデコードして、ベースバンドの映像信号を得る。また、オーディオ・デコーダー405は、デマルチプレクサー402で得られる符号化音声信号をデコードして、ベースバンドの音声信号を得る。また、キャプション・デコーダー406は、デマルチプレクサー402で得られる字幕符号化信号をデコードして、字幕の表示信号を得る。
アプリケーション制御部408は、SIフィルター402-5を介して受け取るシグナリング情報に基づいて、データ放送アプリケーションの処理を制御する。例えば、アプリケーション制御部407は、MMT-SIを解析して、デフォルト・エントリーに設定されているデータ放送アプリケーションを見つけると、アプリケーション・エンジン409に対してデータ放送の提示処理を指示する。
本実施形態に係る放送システム10では、放送信号並びにIPネットワークの2系統からデータ放送アプリケーションが伝送されることを想定している。前者の系統ではチューナー・復調部401で受信し、後者の系統ではIPインターフェース410で受信し、いずれもデマルチプレクサー402内でパケット化されたMMTパケットがMMTフィルター402-4によってアプリケーション・エンジン409に振り分けられる。
アプリケーション・エンジン409は、例えばHTMLブラウザーなどであり、データ放送アプリケーションのエンティティーであるファイル・データ(HTML5文書など)の処理を行なって、データ放送の表示信号を生成する。また、アプリケーション・エンジン409は、データ放送の表示に必要なファイル・データ(データ放送の表示に使用するモノメディアや、リンク先のアプリケーションなど)をIPインターフェース410経由でIPネットワークから取得することもできる。
システム制御部410は、SIフィルター402-5を介して受け取るシグナリング情報や、ユーザー操作部(図示しない)を介したユーザーからの操作情報などに基づいて、当該受信機12の各部の動作を制御する。また、システム制御部410は、各デコーダー404~406におけるデコード・タイミングをシグナリング情報に基づいて制御し、映像、音声、及び字幕の提示タイミングを調整する。合成部411は、ベースバンドの映像信号に、字幕の表示信号及びデータ放送の表示信号を合成して、映像表示用の映像信号を得る。また、オーディオ・デコーダー405で得られるベースバンドの音声信号は、音声出力用の音声信号となる。映像信号及び音声信号からなる放送番組本編は、図示しないモニター・ディスプレイから映像及び音声出力される。また、データ放送アプリケーション・エンジン409が処理したデータ放送も、モニター・ディスプレイ上で放送番組本編の画面に重畳して表示される。
IPインターフェース410は、例えばネットワーク・インターフェース・カードで構成され、インターネットやホーム・ネットワークなどのIPネットワークに接続して、IPパケットの送受信処理を行なう。
また、本実施形態では、IPフィルター402-2でIPアドレスに基づいてフィルタリングしたIPパケットを、IPインターフェース410からIPネットワークへ送信若しくは再送信することも想定される。また、放送サービスをIPアドレスだけでフィルタリングできることが判明すると、デマルチプレクサー402内のIPフィルター402-2だけで特定サービスを抽出して、受信機12から外部へ転送することができる。
図4に示した受信機12の動作について説明しておく。
チューナー・復調部401では、放送信号が受信され、復調処理が行なわれて、TLVストリームが得られる。デマルチプレクサー402では、このTLVストリームに対して、デマルチプレクス処理及びでパケット化処理を行なわれ、NTP時刻情報、映像、音声、字幕、データ放送の各符号化信号、並びに、シグナリング情報が抽出され、ビデオ・デコーダー404、オーディオ・デコーダー405、キャプション・デコーダー406、アプリケーション・エンジン409、システム制御部407、アプリケーション制御部408にそれぞれ振り分けられる。また、IPインターフェース410で受信したIPパケットについても同様に、デマルチプレクス処理及びでパケット化処理を行なわれ、各部に振り分けられる。
また、デマルチプレクサー402で抽出されたNTPパケットは、時計回復部403に振り分けられる。時計回復部403では、NTPパケットに載せられた時刻情報に基づいて、この時刻情報に同期した時刻情報が生成される。つまり、時計回復部403では、放送送出システム11側の時計部301で生成された時刻情報に合った時刻情報が生成される。
デマルチプレクサー402で抽出された符号化映像信号は、ビデオ・デコーダー404に送られてデコードされ、ベースバンドの映像信号が得られる。また、デマルチプレクサー402で抽出された字幕符号化信号はキャプション・デコーダー406に送られてデコードされ、字幕の表示信号が得られる。
アプリケーション制御部408では、SIフィルター402-5を介して受け取るシグナリング情報に基づいて、データ放送アプリケーションの処理が制御される。HTMLブラウザーなどからなるアプリケーション・エンジン409では、アプリケーション制御部408からの指示に従って、デマルチプレクサー402で抽出されたデータ放送アプリケーションの符号化信号(HTML5文書)の処理が行なわれ、データ放送の表示信号が得られる。
合成部411では、ベースバンドの映像信号に、字幕の表示信号及びデータ放送の表示信号が合成され、画面表示用の映像信号が得られる。また、デマルチプレクサー402で抽出された符号化音声信号はオーディオ・デコーダー405に送られてデコードされ、音声出力用のベースバンドの音声信号が得られる。そして、映像信号及び音声信号は、図示しないモニター・ディスプレイから映像及び音声出力される。
図1に示したディジタル放送システム10では、放送送出システム11から受信機12へ、MMT方式により放送信号を伝送することを想定している。図5には、MMT方式に従って放送送出システム11から放送伝送路に送出される放送信号500のイメージを示している。
1つのサービス(チャンネル:放送番組)の放送信号は、映像、音声、字幕などの放送番組本編に関わるタイムド・メディアと、放送番組に連動するデータ放送に利用されるファイル・データのようなノンタイムド・メディアで構成される。これらを符号化したメディア・データは、MPUフォーマットにしてMMTPパケット化され、IPパケットで伝送される。また、メディア・トランスポート方式であるMMTに関わる(放送番組の構成などを示す)シグナリング情報(MMT-SI)も、IPパケットで伝送される。これらのIPパケットは、放送伝送路ではTLVパケットの形式でTLVストリームとして伝送される。IPパケットの多重のためのTLV多重化形式に関わるシグナリング情報(TLV-SI)も、TLVパケットの形式で伝送される。
MMT方式では、1つのチャンネル(放送番組)を構成するタイムド・メディア及びノンタイムド・メディアのデータを異なる伝送路の組み合わせで利用することが容易である。図5に示す例では、放送信号500として、映像、音声、字幕、ファイル・データ、シグナリング情報など、データのタイプ毎のMMT伝送路501~504が利用されている。各MMT伝送路は、それぞれ1つのIPデータ・フローに相当する。ここで言うIPデータ・フローとは、IPヘッダー及びUDPヘッダーの送信元IPアドレス、宛先IPアドレス、IPヘッダーのプロトコル種別、送信元ポート番号、宛先ポート番号の5種類のフィールドの値がすべて同じとなるIPパケットの集合である。なお、図中、字幕データ用の伝送路は便宜上、図示を省略している。また、TLV-SIのストリームについても、図5では省略している。
MMT方式の放送システム11は、放送伝送路でIPパケットを伝送する方式であるが、放送サービス毎(若しくは、放送局毎)に1つのIPアドレスをマッピングするという運用が可能である。このような場合、受信機側では、IPアドレスに基づいて放送信号500をフィルタリングすることで、所望する放送サービス(若しくは、所望する放送局)の各MMT伝送路501~504にアクセスすることができる。同じIPアドレス内の各MMT伝送路501~504で伝送されるMMTP(MMTプロトコル)パケットは、パケット識別情報(packet_id:PID)で一意に指定することができる。また、異なるIPアドレス上のMMTPパケットは、パケット識別情報と、IPアドレスと、ポート番号の組み合わせにより指定することができる。
1つのチャンネル(放送番組)は、映像、音声、字幕、ファイル・データ(データ放送アプリケーション)などタイプの異なる複数のアセットで構成される「パッケージ」と言うことができる。ここで言う「パッケージ」は、MMT伝送路を使って伝送されるメディア・データの論理集合である。また、ここで言う「アセット」は、固有のアセット識別情報に関連付けられる、マルチメディアのプレゼンテーションを構成するために使用されるデータのエンティティーである。
各アセットは、同じアセット識別情報を共有する1又はそれ以上のMPUの集合(論理グループ)で構成される。MPUは、MMT方式における伝送単位となるフォーマットということができる。各MPUは、それぞれのアセットに専用のES(Elementary Stream)すなわちMMT伝送路501~503上で伝送される。すなわち、伝送路501では共通のアセット識別情報を持つ映像信号のMPU論理グループからなる符号化映像信号のMMTPパケットが伝送され、伝送路502では、共通のアセット識別情報を持つ音声信号のMPU論理グループからなる符号化音声信号のMMTパケットが伝送され、伝送路503では共通のアセット識別情報を持つデータ放送アプリケーションのMPU論理グループからなる符号化アプリケーションのMMTパケットが伝送される。各MPUは、アセット識別情報と、該当する伝送路上でのMPUのシーケンス番号で特定される。また、各メディアを伝送するMMT伝送路は、アセット識別情報で識別することができる。
付言すれば、1つのパッケージ(放送番組)で、タイプが同じ複数の(すなわち、アセット識別情報が異なる)アセットが伝送されることもある。例えば、同じ放送番組に対して、2以上のデータ放送アプリケーションが提供される場合である。例えば、放送番組に連動する番組連動型データ放送アプリケーションと、放送番組に連動しない番組非連動型データ放送アプリケーション(例えば、天気予報やニュースなど)は、通常、別のアセットとして別々のアセット識別情報が割り振られ、別々のMPU論理グループとして異なるMMT伝送路で伝送される。図5では、放送番組連動型データ放送アプリケーションの伝送路503-1と放送番組非連動型データ放送アプリケーションの伝送路503-2を描いている。
また、MMT方式は、放送や通信の複数の伝送路に共通に用いることができる。例えば、データ放送用アプリケーション(HTML5文書など)のようなノンタイムド・メディアは、図5に示したように放送信号の伝送路503を用いてタイムド・メディアとともに伝送される以外に、IPネットワークなど通信伝送路(図示しない)を介して提供することもできる。
伝送路504では、MMTのパッケージの構成や放送サービスに関連する情報を示す伝送制御信号であるMMT-SIを含んだMMTPパケットが、カルーセル方式により繰り返し伝送される。伝送路504で伝送されるMMT-SIのシグナリング・メッセージとして、PAメッセージ510、M2セクション・メッセージ520、データ伝送メッセージ530を挙げることができる。
例えば、PAメッセージ510は、放送番組の構成などを示す制御情報であり、アセットのリストやその位置などパッケージを構成する情報を記述するMP(MMT Package)テーブル511が含まれている。
PAメッセージ510は、放送サービスのエントリー・ポイントであり、PAメッセージ510を伝送するMMTPパケットには、固定のパケット識別情報(例えば、0x0000)が割り当てられている。したがって、受信機側では、MMT伝送路504上で、上記固定のパケット識別情報を指定してPAメッセージ510を取得することができる。そして、PAメッセージ510で伝送されるMPテーブル511を参照して、パッケージ(放送番組)を構成する各アセット(映像、音声、字幕、ファイル・データ(データ放送アプリケーション)など)を指定することができる。
また、M2セクション・メッセージ520は、MPEG-2 Systemsのセクション拡張形式を伝送するメッセージである。MH-AIT(Application Information Table)521などのシグナリング・テーブルがM2セクション・メッセージ520に格納される。MH-AIT521は、アプリケーションに関する動的制御情報及び実行に必要な付加情報を伝送するテーブルであり、具体的には、MMT伝送路で送られてくるデータ放送アプリケーション(ファイル・データ)の処理方法(アプリケーションに適用される起動状態など)、並びにロケーション(URL)を指定する。アプリケーションの処理方法として、アプリケーションの自動起動を示すAUTOSTART(AS)、アプリケーションが実行可能の状態であることを示すPRESENT(PR)、アプリケーションの終了を示すKILL、アプリケーションの取得及び保持(事前キャッシュ)を示すPREFETCHを挙げることができる。
また、データ伝送メッセージ530は、データ放送アプリケーションの伝送に関する制御情報を伝送するためのメッセージである。1つのデータ伝送メッセージ530内には、データ・ディレクトリー管理テーブル531、データ・アセット管理テーブル532、データ・コンテンツ管理テーブル533の各シグナリング・テーブルが格納される。
データ・ディレクトリー管理テーブル531は、ディレクトリー単位(言い換えれば、データ放送アプリケーションの制作単位)でデータ放送アプリケーションを管理するためのテーブルである。同テーブル内は、1つのパッケージに含まれるディレクトリー並びにディレクトリーに含まれるサブディレクトリーやファイル(アイテム)に関するディレクトリー構造を記述しているので、アプリケーションのファイル構成とファイル伝送のための構成を分離することができる。
また、データ・アセット管理テーブル532は、アセット単位でデータ放送アプリケーションを管理するためのテーブルであり、アセット内のMPUの構成とのMPU毎のバージョン情報を記述している。
また、データ・コンテンツ管理テーブル533は、各データ・コンテンツを構成するデータ放送アプリケーションの提示単位(Presentation Unit:PU)やファイルの情報を管理するためのテーブルである。ここで言う「データ・コンテンツ」は、一般に、1つの放送番組の連携するアプリケーション・データ全体に相当する。同テーブルは、提示単位(PU)の情報である場合、データ放送アプリケーションのファイルの構成情報をデータ放送の提示単位(PU)で記述しており、データ放送アプリケーション用のファイル・データの柔軟で有効なキャッシュ制御に利用することができる。
MMTによるデータ放送アプリケーションの伝送方式において、データ伝送メッセージで伝送する上記3種類のシグナリング・テーブル531~533を活用することにより、ファイル単位の伝送データ構造やコンテンツ(データ放送アプリケーション)制作におけるディレクトリー構造とは独立して、受信機におけるキャッシュ・メモリーの有効活用のために、アプリケーション単位、提示単位といった利用単位のデータ構造を表現することができる(例えば、本出願人に既に譲渡されている特願2014-88630号明細書を参照のこと)。
MMT-SIとして伝送されるメッセージやテーブルのパケット識別情報は、固定されているものや、他のテーブルから間接指定されるものがある。このうち、PAメッセージは、放送サービスのエントリー・ポイントであり、固定のパケット識別情報(例えば、0x0000)が割り当てられている。PAメッセージで伝送されるMPテーブルでは、パッケージ(放送番組)を構成する各アセット(映像、音声、字幕、ファイル・データ(データ放送アプリケーション)など)を指定している。したがって、図12に示すように、MPテーブルを参照して、パッケージ(放送番組)を構成する各アセット(映像、音声、字幕、ファイル・データ(データ放送アプリケーション)など)を指定することができる。
図7には、同一のIPデータ・フローに多重されたデータ放送アプリケーションのアイテムを取得する仕組みを図解している。
データ放送アプリケーションを構成するファイルは、HTML5などのアプリケーション記述内でパス名を指定される。ここで言うパス名は、ディレクトリー・ノード名とファイル名の組み合わせで記述される。また、ディレクトリー・ノードとファイルを統合した記述子としてノード・タグを規定し、各シグナリング・テーブルをリンクする情報として使用する。
データ放送アプリケーションからパス名を指定すると、参照番号701で示すように、データ伝送メッセージ内のデータ・ディレクトリー管理テーブルから、指定されたパス名のファイルのノード・タグを得ることができる。
次いで、参照番号702で示すように、同じくデータ伝送メッセージ内のデータ・アセット管理テーブルから、データ・ディレクトリー管理テーブルで得られたノード・タグを持つアイテムが伝送されるアセットのコンポーネント・タグ、ダウンロード識別情報、MPUシーケンス番号、及びアイテム識別情報を得ることができる。
さらに、参照番号703で示すように、MPテーブルから、データ・アセット管理テーブルで得られたコンポーネント・タグを持つアセットのロケーション情報を取得すると、参照番号704で示すように、該当するファイルが実際に伝送されるデータ・アセットを特定することができる。
そして、特定されたデータ・アセット内で、データ・アセット管理テーブルから得られたダウンロード識別情報とアイテムを伝送するMMTPパケットのヘッダー領域に記載されたダウンロード識別情報とにより、カルーセルに対応するファイルの繰り返し伝送の単位を一意に識別することができる。参照番号705で示すように、繰り返し伝送されるアイテムのうち、データ・アセット管理テーブルから得られたMPUシーケンス番号及びアイテム識別情報を持つアイテムを所望のファイルとして指定することができる。ノード・タグは、データ伝送メッセージ内で、MPUシーケンス番号はアセット(IPデータ・フロー)内で、アイテム識別情報はサービス事業者内で、それぞれ一意であるものとする。
データ放送アプリケーションには、放送番組に連動した番組連動型データ放送アプリケーションと、ニュースや天気予報のように放送番組とは特に連動しない番組非連動型データ放送アプリケーションに大別することができる。放送局側には、放送番組に連動して、番組連動型データ放送アプリケーションに表示を強制的に切り替えたいという要求がある。「放送番組に連動して」とは、放送番組が切り替わったときや、放送番組内でコーナーが切り替わったときのことなどを意味する。このようなタイミングで、番組非連動型データ放送アプリケーションが実行されていたとしても、これを終了して、放送番組(若しくは番組内のコーナー)でエントリーに指定された番組連動型データ放送アプリケーションに強制的に引き戻したい、という要求が放送局にはある。
図8には、エントリーに指定された番組連動型データ放送アプリケーションへの強制引き戻しが行なわれるケースを模式的に示している。
図8ではMMT方式の放送伝送路を想定しており、映像アセット801や音声アセット802、データ放送アプリケーションのアセット803、804がそれぞれ専用のMMT伝送路で伝送される。但し、参照番号803は番組連動型データ放送アプリケーションのアセット、参照番号804は番組非連動型データ放送アプリケーションのアセットとする。
また、アセットのMMT伝送に併せて、MMTに関わる制御情報(MMT-SI)として、参照番号811~816で示すように、イベント情報テーブル(EIT)、アプリケーション情報テーブル(AIT)、データ・ディレクトリー管理テーブル(DDMT)、データ・アセット管理テーブル(DAMT)、データ・コンテンツ管理テーブル(DCCT)、イベント・メッセージ・テーブル(EMT)といった各種シグナリング・テーブルが伝送される。このうちイベント情報テーブル811は、番組名、放送日時、番組内容などが記述され、番組の変更や終了によって更新される。また、アプリケーション情報テーブルは、各アプリケーションの処理方法を示し、例えば自動起動(AS)すべきアプリケーション、実行可能な状態(PR)にあるアプリケーションを記述している。実行可能なアプリケーションは、アセット803、804内で伝送されている、番組連動型及び番組非連動型のすべてのアプリケーションである。また、自動起動すべきアプリケーションはその放送番組(若しくは番組内のコーナー)でエントリーとなる放送連動型データ放送アプリケーションに相当する。また、イベント・メッセージ・テーブル816は、イベント・メッセージに関する情報を伝送する。
図8の横方向は時間軸に相当するものとし、時刻t1で放送番組P1のオンエアが開始し、時刻t2でその放送番組P1内でコーナーが変更し、時刻t3で放送番組P1が終了して次の放送番組P2が開始するものとする。
アセット803では、番組の切り替わり並びに番組コーナーの切り替わりに連動して、伝送されるアプリケーションが変更される。すなわち、時刻t1~t2の期間に番組連動型アプリケーションapp1、app2が伝送され、時刻t2~t3の期間に番組連動型アプリケーションapp6、app7が伝送される。また、時刻t3以降では、番組連動型アプリケーションの伝送が停止される。一方、アセット804では、番組の切り替わりや番組コーナーの切り替わりには連動せずに、番組非連動型アプリケーションapp3、app4が伝送され続ける。
アプリケーション情報テーブル811は、時刻t1~t2の期間では、自動起動すべきアプリケーション(AS)にapp1を示すとともに、実行可能な状態にあるアプリケーション(PR)としてアセット803及び804で同期間内に伝送される他のすべてのアプリケーションapp2、app3、app4を示している。また、時刻t2~t3の期間では、自動起動すべきアプリケーション(AS)にapp6を示すとともに、実行可能な状態にあるアプリケーション(PR)としてアセット803及び804で同期間内に伝送される他のすべてのアプリケーションapp7、app3、app4を示している。また、時刻t3以降では、自動起動すべきアプリケーション(AS)に番組非連動アプリケーションapp3を示すとともに、実行可能な状態にあるアプリケーション(PR)としてアプリケーションapp4を示している。
図8の最下段では、各期間におけるアプリケーションの参照関係並びにアプリケーションの表示が遷移する様子を示している。時刻t1~t2の期間では、app1がエントリー・アプリケーションに指定されており、app1は番組連動型アプリケーションapp2と番組非連動型アプリケーションapp3を参照している。さらにapp3は、同じく番組非連動型であるアプリケーションapp4を参照している。また、時刻t2~t3の期間では、app6がエントリー・アプリケーションに指定されており、app1は番組連動型アプリケーションapp7と番組非連動型アプリケーションapp3を参照している。さらにapp3は、時刻t2以前と同様に、番組非連動型であるアプリケーションapp4を参照している。
時刻t1で放送番組P1のオンエアが開始されたことに連動して、エントリー・アプリケーションapp1が自動起動する。その後、ユーザーのリモコン操作などに応じて、データ放送の表示が番組非連動型アプリケーションapp3に遷移したとする。そして、時刻t2に到達して、放送番組P1内でコーナーが変更したことに連動して、エントリー・アプリケーションがapp6に切り替わる。このような場合、放送番組P1を放送する放送局には、番組非連動型アプリケーションapp3を強制的に終了して、エントリーとしての番組連動型アプリケーションapp6の表示に引き戻したいという要求がある。
従来のBML形式のデータ放送アプリケーションの伝送方式では、引き戻しフラグ(returnto_entry_flag)というシグナリングにより、所望するデータ放送アプリケーションに強制的に引き戻す処理が可能である。
これに対し、本明細書では、MMT方式を採用する放送システムにおいて、データ伝送に関するシグナリング・メッセージでデータ放送アプリケーションの強制切り替えを指示する幾つかの実施例について説明する。
第1の実施例では、データ伝送メッセージで伝送するデータ・アセット管理テーブル(図5を参照のこと)内に、エントリー・アプリケーションへの引き戻し制御の記述子を配置することにより、エントリー・アプリケーションへの強制引き戻しを実現する。
図9には、データ伝送メッセージで伝送されるデータ・アセット管理テーブル(DAMT)のシンタックス例900を示している。データ・アセット管理テーブルは、アセット単位でデータ放送アプリケーションを管理するためのテーブルであり、アセット内のMPUの構成とのMPU毎のバージョン情報を記述している。
table_id(テーブル識別)は、各種シグナリング情報においてデータ・アセット管理テーブルであることを示す8ビットの固定値である。version_(バージョン)は、このデータ・アセット管理テーブルのバージョンを示す8ビットの整数値のパラメーターである。例えばデータ・アセット管理テーブルを構成する一部のパラメーターでも更新した場合には、versionは+1だけインクリメントされる。lengthは、このフィールドの直後からカウントされる、このデータ・アセット管理テーブルのサイズをバイト単位で示す、16ビット長のパラメーターである。
number_of_data_componentsは、パッケージに含まれるデータ・コンポーネントの数(すなわち、データ放送アプリケーションのアセット数)を示す、8ビットのパラメーターである。例えば、1つのパッケージ(放送番組)で番組連動型データ放送アプリケーションと番組非連動型データ放送アプリケーションの2種類のデータ・コンポーネントが伝送されることが想定される。number_of_data_componentsの数分だけ、以下のデータ・コンポーネント(すなわち、アセット)のループが配置され、データ・コンポーネント毎の情報が格納される。各データ・コンポーネントのループ(若しくは、アセットのループ)内には、データ・コンポーネントの属性情報と、データ・コンポーネントに含まれるMPUの情報が書き込まれる。
データ・コンポーネントの属性情報として、transaction_id(トランザクション識別情報)と、component_tagと、download_id(ダウンロード識別情報)が含まれる。transaction_idは、当該データ・コンポーネントのバージョン機能を持つ識別子である。component_tagは、当該データ・コンポーネントのストリームを識別するためのラベルである。component_tagは、MPテーブル内にアセット記述子として配置されるMHストリーム識別記述子内のcomponent_tagと同一の値であるとする。download_idは、データ・コンテンツを一意に識別するためのラベルの役割をする。アプリケーション(ノンタイムド・メディア)を伝送するMMTPパケットには、必要に応じて拡張ヘッダーにダウンロード識別情報が書き込まれる。
num_of_mpusは、当該データ・コンポーネントに含まれるMPUの数を示す。そして、num_of_mpusの数分だけ配置されるMPUのループ内には、各MPUの属性情報が格納される。MPU_sequence_numberは、MPUに割り振られるMPUシーケンス番号である。num_of_itemsは、MPUに含まれるアイテム(ファイル・データ)の数を示す。そして、num_of_itemsの数分だけ配置されるアイテムのループ内には、各アイテムの情報が格納される。
1つのアイテムのループ内には、アイテムの属性情報とアイテムに関する情報が格納される。アイテムの属性情報として、item_id、node_tag、item_size、item_version、item_checksumが格納される。item_idは、MMT伝送路上でアイテムを一意に識別する32ビットの値である。node_tagは、アイテムに対応するノード・タグとしてアイテムを識別する16ビットの値である。シグナリング情報としては、32ビットのitem_idに代えて16ビットのnode_tagを使用することで、データ伝送メッセージ上のアイテムの識別に必要なビット・サイズを削減することができる。item_sizeは、アイテムのサイズをバイト単位で表す。item_versionは、アイテムのバージョンを示し、アイテムの内容が更新される度にversionは+1だけインクリメントされる。item_checksumは、アイテムのチェックサムを示す。なお、チェックサムは、すべてのファイルに対して必ず設定するのは情報量が多いと考えられるので、1ビットのcheck_sum_flagを設定し、これに1が代入された場合にのみ32ビットのitem_check_sumが現れる。checksum_flagはチェックサムの記載があるか否かを示すフラグであり、このフラグが1のときにはitem_checksumが記載される。item_info_lengthは後続のアイテム情報領域のバイト長を示し、このバイト数分のループからなる一連の領域にアイテムに関する情報がバイト単位(item_info_byte)で書き込まれる。
また、MPUのループ内には、各MPUの情報が格納される。具体的には、MPU_info_lengthは後続のMPU情報領域のバイト長を示し、このバイト数分のループからなる一連の領域にMPUに関する情報がバイト単位(item_info_byte)で書き込まれる。
アセットのループの最後には、アセット単位での情報を記述する記述子が配置される。具体的には、descriptor_loop_lengthは、descriptorの全バイト長を示す。descriptorは、descriptor_loop_lengthの数分のループからなる一連の領域に、アセット単位での情報を記述する記述子(descriptor)を格納する。格納される記述子は別途定義する。
第1の実施例では、アセット単位での情報を記述する記述子(descriptor)として、エントリー・アプリケーションへの引き戻し制御の記述子(returnToEntry_descriptor)を配置する。
図10には、データ・アセット管理テーブルに配置されるエントリー・アプリケーションへの引き戻し制御の記述子(returnToEntry_descriptor)のシンタックス例1000を示している。
descriptor_tagは、当該記述子1000を識別する、8ビットの整数値である。descriptor_lengthは、このフィールドより後に続く当該記述子1000のデータのバイト長を書き込む領域である。そして、return_to_entry_flagには、強制引き戻しを行なうか否かが示される。
第1の実施例においても2通りのエントリー・アプリケーションへの引き戻し制御の記述子の適用方法がある。第1の方法はデータ・アセット管理テーブルの、自動起動アプリケーションを含むデータ・アセットのループの記述子領域には図10に示した引き戻し制御記述子を配置し、それ以外のデータ・アセットのループには引き戻し制御記述子を配置しない。これにより、受信機は自動起動アプリケーションを含むデータ・アセットで伝送されたアプリケーション以外のアプリケーションを実行している場合には当該アプリケーションを終了してエントリー・アプリケーションを起動する。この場合の受信機動作について考察してみる。例えば、時刻t2に到達してデータ・アセット管理テーブルが更新されると、受信機はその内容をチェックする。受信機は、時刻t1~t2の期間中に番組非連動型アプリケーションであるapp3の実行に切り替えているが、更新されたデータ・アセット管理テーブルでは、引き戻し制御記述子が含まれるので、当該記述子が記述されたデータ・アセットとは異なるデータ・アセットで伝送されたapp3を直ちに終了し、エントリー・アプリケーションであるapp6を起動する。
第2の方法はデータ・アセット管理テーブルの引き戻し対象となるデータ・アセットのループに引き戻し制御記述子を配置する。これにより受信機は当該記述子が配置されたデータ・アセットに含まれるアプリケーションを実行中の場合には当該アプリケーションを終了してエントリー・アプリケーションを起動する。この場合の受信機動作について考察してみる。例えば、時刻t2に到達してデータ・アセット管理テーブルが更新されると、受信機はその内容をチェックする。受信機は、時刻t1~t2の期間中に番組非連動型アプリケーションであるapp3の実行に切り替えているが、更新されたデータ・アセット管理テーブルでは、app3が伝送されるデータ・アセットに引き戻し制御記述子が配置されるので、app3を直ちに終了し、エントリー・アプリケーションであるapp6を起動する。
このように、データ・アセット管理テーブルを用いることで、アセット単位でアプリケーションの強制引き戻しを制御することができる。
第2の実施例では、データ伝送メッセージで伝送するデータ・コンテンツ管理テーブル(図5を参照のこと)内に、エントリー・アプリケーションへの引き戻し制御の記述子を配置することにより、エントリー・アプリケーションへの強制引き戻しを実現する。
図11には、データ伝送メッセージで伝送されるデータ・コンテンツ管理テーブル(DCCT)のシンタックス例1100を示している。データ・コンテンツ管理テーブルは、提示単位(Presentation Unit:PU)毎にデータ放送アプリケーションを管理するためのテーブルである。同テーブルは、データ放送アプリケーションのファイルの構成情報をデータ放送の提示単位(PU)で記述している。
table_id(テーブル識別子)には、各種シグナリング情報においてデータ・コンテンツ管理テーブルであることを示す8ビットの固定値が書き込まれる。version_(バージョン)は、当該データ・コンテンツ管理テーブルのバージョンを示す8ビットの整数値のパラメーターである。例えば当該テーブルを構成する一部のパラメーターでも更新した場合には、versionは+1だけインクリメントされる。lengthは、このフィールドの直後からカウントされる、当該データ・コンテンツ管理テーブルのサイズをバイト単位で示す、16ビット長のパラメーターである。
number_of_contentsは、パッケージ(放送番組)で伝送されるデータ・コンテンツの数を示す、8ビットのパラメーターである。number_of_contentsの数分だけ、以下のデータ・コンテンツのループが配置され、データ・コンテンツ毎の情報が格納される。データ・コンテンツは、一般に、1つの放送番組の連携するアプリケーション・データ全体に相当する。
1つのデータ・コンテンツのループ内には、当該データ・コンテンツの属性情報として、content_idと、content_versionと、content_size、PU_info_flagを記載するとともに、当該データ・コンテンツを構成するデータ放送アプリケーションの提示単位(PU)又はファイルに関する情報が書き込まれる。content_id(コンテンツ識別情報)は、当該データ・コンテンツを一意に識別するラベルである。content_versionは、当該データ・コンテンツのバージョン番号を書き込む領域である。content_sizeは、当該データ・コンテンツのサイズを書き込む領域である。また、PU_info_flagは、当該データ・コンテンツのループが提示単位(PU)の情報を示すか否かを示すフラグである。
PU_info_flag=1は、当該データ・コンテンツのループが提示単位(PU)の情報であることを示す。この場合の後続の領域には、当該データ・コンテンツを構成するデータ放送アプリケーションの提示単位(PU)の情報が格納される。number_of_PUsに当該データ・コンテンツに含まれるPUの数が書き込まれ、これに続いて、number_of_PUsの数分だけPUのループが配置される。
1つのPUのループ内には、PUの識別情報であるPU_tagと、PUのサイズを書き込む領域であるPU_sizeと、当該PUを構成するファイル又はディレクトリーのノード指定の数を示すnumber_of_member_nodesが書き込まれる。そして、number_of_member_nodesの数分だけ配置されるノードのループ内では、当該PUを構成するファイル又はディレクトリーを識別するノード・タグが書き込まれる。
また、1つのPUのループ内には、さらにPUの情報が書き込まれる。具体的には、PU_info_lengthにPU情報のバイト長を示し、このバイト数分のループからなる一連の領域にPUの情報がバイト単位(PU_info_byte)で書き込まれる。
一方、PU_info_flag=0は、当該データ・コンテンツのループがファイルの情報であることを示す。この場合の後続の領域には、当該データ・コンテンツを構成するファイル又はディレクトリーの情報が書き込まれる。具体的には、当該データ・コンテンツを構成するファイル又はディレクトリーのノード指定の数を示すnumber_of_nodesが書き込まれる。そして、number_of_nodesの数分だけ配置されるノードのループ内で、当該データ・コンテンツを構成するファイル又はディレクトリーを識別するノード・タグが書き込まれる。
図11に示すように、データ・コンテンツ管理テーブルのPUのループ内には、データ・コンテンツを構成する提示単位PU毎に、PUの情報を格納することができる(但し、PU_info_flag=1の場合)。第2の実施例では、この情報領域を利用して、エントリー・アプリケーションへの引き戻し制御の記述子(returnToEntry_descriptor)を配置して、アプリケーションの提示単位でアプリケーションの強制引き戻しを制御する。
PU毎の情報領域に配置する引き戻し制御記述子のシンタックスは、図10と同様でよい。引き戻し制御記述子のreturn_to_entry_flagには、強制引き戻しを行なうか否かが示される。
第2の実施例においても、2通りのエントリー・アプリケーションへの引き戻し制御の記述子の適用方法がある。第1の方法は、データ・コンテンツ管理テーブルの、自動起動アプリケーションを含むPUのループのPU情報領域には引き戻し制御記述子を配置するが、それ以外のPUのループには引き戻し制御記述子を配置しない。自動起動アプリケーションを含むPUは、PU_tag=0で識別することができるので、PU_tag=0のPUのループにのみ引き戻し制御記述子を配置し、PU_tagが0でないPUのループには引き戻し制御記述子を配置しない。自動起動アプリケーションへの強制引き戻し時には、引き戻し制御記述子を配置しないPUに含まれるアプリケーションを終了すべきことを示す。第2の方法は、逆に、自動起動アプリケーションを含まないPUのループで、引き戻し対象となるPUのPU情報領域に引き戻し制御記述子を配置する。自動起動アプリケーションへの強制引き戻し時には、引き戻し制御記述子を配置したPUに含まれるアプリケーションを終了すべきことを示す。
PU_tag=0のPUのループにのみ引き戻し制御記述子を配置する場合の受信機側の動作について考察してみる。例えば時刻t2に到達して、データ・コンテンツ管理テーブルが更新されると、受信機はその内容をチェックする。受信機は、時刻t1~t2の期間中に番組非連動型アプリケーションであるapp3の実行に切り替えているが、更新されたデータ・コンテンツ管理テーブルでは、引き戻し制御記述子がPU_tag=0のPUのループに配置されているので、app3を直ちに終了する。その結果、受信機は、時刻t2以降においてエントリー・アプリケーションに指定されているapp6を、放送局の要求通りに自動起動することができる。
このように、データ・コンテンツ管理テーブルのPUのループ内にエントリー・アプリケーションへの引き戻し制御の記述子(returnToEntry_descriptor)を配置することで、提示単位(PU)でアプリケーションの強制引き戻しを制御することができる。
第3の実施例でも、第2の実施例と同様に、データ・コンテンツ管理テーブル内にエントリー・アプリケーションへの引き戻し制御の記述子を配置することにより、エントリー・アプリケーションへの強制引き戻しを実現する。但し、第3の実施例では、PUのループではなく上位のデータ・コンテンツのループに引き戻し制御記述子を配置して、PUよりも上位のデータ・コンテンツの単位でエントリー・アプリケーションへの強制引き戻しを制御する。
第3の実施例では、データ・コンテンツ管理テーブルのデータ・コンテンツのループに、引き戻し制御記述子を配置するためのデータ・コンテンツの情報領域を新たに定義する。図12には、第3の実施例で利用するデータ・コンテンツ管理テーブルのシンタックス例1200を示している。図11のシンタックス例1100と相違する箇所を点線で囲んで示した。以下、このシンタックス例1200について説明するが、図11と重複するパラメーターについては説明をする。
参照番号1201で示すように、データ・コンテンツのループ内に、当該データ・コンテンツの属性情報として、PU_info_flagの後に、content_info_flagを定義する。content_info_flagは、当該データ・コンテンツのループがデータ・コンテンツの情報を含むか否かを示すフラグである。
content_info_flag=1は、当該データ・コンテンツのループがデータ・コンテンツの情報を含むことを示す。この場合、当該データ・コンテンツのループの最後にデータ・コンテンツの情報を格納する領域が定義される。具体的には、参照番号1202で示すように、content_info_lengthにデータ・コンテンツの情報のバイト長を示し、このバイト数分のループからなる一連の領域にデータ・コンテンツの情報がバイト単位(content_info_byte)で書き込まれる。
第3の実施例では、このデータ・コンテンツの情報領域を利用して、エントリー・アプリケーションへの引き戻し制御の記述子(returnToEntry_descriptor)を配置して、アプリケーションの提示単位でアプリケーションの強制引き戻しを制御する。
図13には、データ・コンテンツ管理テーブルのデータ・コンテンツの情報領域に配置される、エントリー・アプリケーションへの引き戻し制御の記述子(returnToEntry_descriptor)のシンタックス例1300を示している。
descriptor_tagは、当該記述子1300を識別する、8ビットの整数値である。descriptor_lengthは、このフィールドより後に続く当該記述子1300のデータのバイト長を書き込む領域である。PU_number_of_target_to_returnには、当該データ・コンテンツに含まれる、アプリケーションの強制引き戻し時に終了することが指定されるPUの数が書き込まれる。そして、PU_number_of_target_to_returnの数分だけ配置されるループ内では、アプリケーションの強制引き戻し時に終了すべき各PUを識別するPUタグが書き込まれる。
この場合の受信機側の動作について考察してみる。例えば時刻t2に到達して、データ・コンテンツ管理テーブルが更新されると、受信機はその内容をチェックする。受信機は、時刻t1~t2の期間中に番組非連動型アプリケーションであるapp3の実行に切り替えているが、更新されたデータ・コンテンツ管理テーブルでは、番組非連動型アプリケーションapp3を含むデータ・コンテンツのループに配置される引き戻し制御記述子内でapp3を含む提示単位(PU)のタグが指定されているので、app3を直ちに終了する。その結果、受信機は、時刻t2以降においてエントリー・アプリケーションに指定されているapp6を、放送局の要求通りに自動起動することができる。
このように、データ・コンテンツ管理テーブルのデータ・コンテンツのループに新たに定義するデータ・コンテンツ内にエントリー・アプリケーションへの引き戻し制御の記述子(returnToEntry_descriptor)を配置することで、データ・コンテンツ毎に提示単位(PU)でアプリケーションの強制引き戻しを制御することができる。
第4の実施例では、M2セクション・メッセージで伝送するMH-AIT(アプリケーション情報テーブル)(図5を参照のこと)内に、エントリー・アプリケーションへの引き戻し制御の記述子を配置することにより、エントリー・アプリケーションへの強制引き戻しを実現する。
図14には、M2セクション・メッセージで伝送されるMH-AITのシンタックス例1400を示している。MH-AITは、アプリケーションに関する動的制御情報及び実行に必要な付加情報を伝送するテーブルであり、具体的には、MMT伝送路で送られてくるデータ放送アプリケーション(ファイル・データ)の処理方法(アプリケーションに適用される起動状態など)、並びにロケーション(URL)を指定する。
table_id(テーブル識別)は、各種シグナリング情報においてアプリケーション情報(AI)テーブルであることを識別する8ビットの固定値であり、本実施形態では0x89とする。section_syntax_indicator(セクション・シンタクス指示)は、1ビットのフィールドで、常に「1」とする。sectoin_length(セクション長)は、12ビットのフィールドで、セクション長フィールドからCRC32を含むセクションの最後までのセクションのバイト長を規定する。この値は4093(16進数で0xEFD)を超えないものとする。applicaton_type(アプリケーション形式)は、16ビットのフィールドで、AITで伝送しているアプリケーションの値を示す。DVBでは、DVB-Jアプリケーションに対して0x0001が割り当てられている。ARIB-Jアプリケーションにおいても0x0001とする。version_number(バージョン番号)は、5ビットのフィールドで、サブテーブルのパーション番号である。version_numberは、当該MH AIテーブルのバージョン番号であり、サブテーブル内の情報に変化があった場合に+1だけインクリメントされる。また、バージョン番号の値が「31」になったとき、その次は「0」に戻る。current_next_indicator(カレント・ネクスト指示)は、常に「1」とする。section_number(セクション番号)は、8ビットのフィールドで、セクションの番号を表す。サブテーブル内で最初のセクションのセクション番号は0x00である。セクション番号は、同一のテーブル識別及びアプリケーション形式を持つセクションが追加される度に+1だけインクリメントされる。last_section_number(最終セクション番号)は、8ビットのフィールドであり、そのセクションが属するサブテーブルにおける最後のセクション番号を規定する。
common_descriptor_length(共通記述子ループ長)は、8ビットのフィールドで、後続のdescriptor(記述領域内記述子)のバイト長を示し、このバイト数分のループからなる一連の領域にdescriptor(記述領域内記述子)が書き込まれる。この共通記述子領域内のdescriptorは、AITサブテーブル内のすべてのアプリケーションに適用される。
application_loop_lengthは、このMH AIテーブルに含まれるアプリケーション情報の数を書き込む領域である。そして、application_loop_lengthが示す数分だけ、アプリケーション情報のループが配置される。そして、当該テーブルの最後に、ITU-T勧告H.222.0に従う巡回冗長符号CRC32(CRC)が付加される。
1つのアプリケーション情報のループ内には、application_identifier(アプリケーション識別子)と、application_control_code(アプリケーション制御コード)と、アプリケーション情報が配置される。
application_identifier(アプリケーション識別子)は、アプリケーションを識別するパラメーターである。また、application_control_code(アプリケーション制御コード)は、8ビットのフィールドで、アプリケーションの状態を制御する制御コードを規定する。アプリケーション制御コードのセマンティックスは、アプリケーション形式の値に依存する。アプリケーション形式に依存しない場合のアプリケーション制御コードのセマンティックスを表1に示しておく。また、application_descriptor_loop_length(アプリケーション情報記述子ループ長)はアプリケーション情報記述子のバイト長を示し、このバイト数分のループからなる一連の領域にdescriptor(アプリケーション情報記述子)が書き込まれる。この記述子領域内のアプリケーション情報記述子は、共通記述子とは相違し、このループ内のapplication_identifierで指定したアプリケーションのみに適用される。
図14に示すように、MH-AITのアプリケーション情報のループ内には、該当するアプリケーションの情報を格納するアプリケーション情報記述子(descriptor)が配置される。第4の実施例では、この記述子領域にエントリー・アプリケーションへの引き戻し制御の記述子を配置して、アプリケーション単位でアプリケーションの強制引き戻しを制御する。第4の実施例においては、2通りの引き戻し制御記述子のシンタックスが考えられる。第1の方法は、前述の図10に示す引き戻し制御記述子(returnToEntry descriptor)を適用する方法である。これにより、当該記述子により指定されたアプリケーションの実行を終了し自動起動(autostart)が指定されたエントリー・アプリケーションを起動する。この場合の受信機側の動作について考察してみる。例えば時刻t2に到達して、MH-AITが更新されると、受信機はその内容をチェックする。受信機は、時刻t1~t2の期間中に番組非連動型アプリケーションであるapp3の実行に切り替えているが、更新されたMH-AITでは、番組非連動型アプリケーションのアプリケーション情報のループに引き戻し制御記述子が配置されているのでapp3を直ちに終了する。その結果、受信機は、時刻t2以降においてエントリー・アプリケーションに指定されているapp6を、放送局の要求通りに自動起動することができる。本実施例は、変形例としてMH-AITのアプリケーション情報ループやアプリケーション制御記述子に存在するreserved_for_futureのうちの1ビットをreturnToEntryとして利用することも考えられる。
第2の方法は、図15に示す引き戻し制御の記述子(Forced_Return_descriptor)を適用する方法である。
descriptor_tagは、当該記述子1500を識別する、8ビットの整数値である。descriptor_lengthは、このフィールドより後に続く当該記述子1500のデータのバイト長を書き込む領域である。また、application_identifierは、アプリケーションの強制引き戻し時に、次に実行するアプリケーションを識別するアプリケーション識別情報を示す。
MH-AITのアプリケーション情報のループ内では、アプリケーションの強制引き戻し時に終了すべきアプリケーションに対して引き戻し制御記述子(Forced_Return_descriptor)を配置して、該当するアプリケーションに対して個別に終了を指示する。図8に示した動作例に当てはめて説明すると、番組非連動型アプリケーションapp3やapp4に対して引き戻し制御記述子(Forced_Return_descriptor)を配置する。
この場合の受信機側の動作について考察してみる。例えば時刻t2に到達して、MH-AITが更新されると、受信機はその内容をチェックする。受信機は、時刻t1~t2の期間中に番組非連動型アプリケーションであるapp3の実行に切り替えているが、更新されたMH-AITでは、番組非連動型アプリケーションapp3のアプリケーション情報記述子の格納領域に引き戻し制御記述子(Forced_Return_descriptor)が配置されているので、app3を直ちに終了する。そして、受信機は、時刻t2以降において、引き戻し制御記述子(Forced_Return_descriptor)でアプリケーション識別情報が示されているアプリケーションapp6を、放送局の要求通りに自動起動することができる。
このように、MH-AITを用いることで、アプリケーション単位でアプリケーションの強制引き戻しを制御することができる。
第5の実施例でも、第4の実施例と同様に、MH-AITに引き戻し制御記述子(Forced_Return_descriptor)を配置することにより、エントリー・アプリケーションへの強制引き戻しを実現する。但し、第5の実施例では、特定のアプリケーションにのみ適用されるアプリケーション情報記述子ではなく、AITサブテーブル内のすべてのアプリケーションに適用される共通記述子(common_descriptor)として引き戻し制御記述子(Forced_Return_descriptor)を配置する。
図16には、MH-AITの共通記述子に配置する引き戻し制御記述子(Forced_Return_descriptor)のシンタックス例1600を示している。
descriptor_tagは、当該記述子1600を識別する、8ビットの整数値である。descriptor_lengthは、このフィールドより後に続く当該記述子1600のデータのバイト長を書き込む領域である。number_of_target_to_returnにアプリケーションの強制引き戻し時に終了することが指定されるアプリケーションの数が書き込まれる。そして、number_of_target_to_returnの数分だけ配置されるループ内では、アプリケーションの強制引き戻し時に終了することが指定された各アプリケーションを識別するアプリケーション識別情報(application_identifier)が書き込まれる。
MH-AITの共通記述子として引き戻し制御記述子(Forced_Return_descriptor)を配置して、AITサブテーブル内の図8に示した動作例に当てはめて説明すると、アプリケーションに対して個別に終了を指示する。図8に示した動作例に当てはめて説明すると、引き戻し制御記述子(Forced_Return_descriptor)に、番組非連動型アプリケーションapp3やapp4のアプリケーション識別情報を示す。
この場合の受信機側の動作について考察してみる。例えば時刻t2に到達して、MH-AITが更新されると、受信機はその内容をチェックする。受信機は、時刻t1~t2の期間中に番組非連動型アプリケーションであるapp3の実行に切り替えているが、更新されたMH-AITに共通記述子として配置されている引き戻し制御記述子(Forced_Return_descriptor)では、番組非連動型アプリケーションapp3のアプリケーション識別情報が示されているので、app3を直ちに終了する。その結果、受信機は、時刻t2以降においてエントリー・アプリケーションに指定されているapp6を、放送局の要求通りに自動起動することができる。
このように、MH-AITを用いることで、アプリケーション単位でアプリケーションの強制引き戻しを制御することができる。
図17には、上述した第1~第5の各実施例において、受信機がデータ放送アプリケーションの実行を制御するための処理手順をフローチャートの形式で示している。
放送番組のオンエア中、M2セクション・メッセージ並びにデータ伝送メッセージを含む各シグナリング・メッセージは、基本的にカルーセル伝送されており、受信機はシグナリング・メッセージから最新のシグナリング・テーブルを取得する(ステップS1701)。受信機が取得するシグナリング・テーブルは、MH-AITやデータ・アセット管理テーブル、データ・コンテンツ管理テーブルを含むものとする。
そして、受信機は、データ放送アプリケーションを起動する(ステップS1702)。受信機は、例えば、MH-AITで自動起動(autostart)が指定されたアプリケーションを自動起動する。また、受信機は、ユーザー(放送番組の視聴者)のリモコン操作などで指定されたアプリケーションを実行する。なお、以下では、説明の簡素化のため、ユーザーが起動中のアプリケーションの終了を指示することはないものとする。
シグナリング・テーブルが更新されない限り(ステップS1703のNo)、受信機は、アプリケーションの動作を継続する。
ここで、MH-AITやデータ・アセット管理テーブル、データ・コンテンツ管理テーブルなどのシグナリング・テーブルが更新されると(ステップS1703のYes)、動作中のアプリケーションに対して、MH-AIT内で「kill(終了)」が指定されるなどの記述がないかをチェックする(ステップS1704)。
また、更新されたシグナリング・テーブルに動作中のアプリケーションに対する「kill」などの記述がない場合には(ステップS1704のNo)、動作中のアプリケーションに対してエントリー・アプリケーションへの強制引き戻しのために引き戻し制御記述子に基づいて終了が指示されているかどうかをチェックする(ステップS1705)。
そして、動作中のアプリケーションに対して、MH-AIT内で「kill(終了)」が指定されている場合や(ステップS1704のYes)、引き戻し制御記述子に基づいて動作中のアプリケーションの終了が指示されている場合には(ステップS1705のYes)、動作中のアプリケーションを終了する(ステップS1706)。
動作中のアプリケーションを終了させた後、自動起動するアプリケーション(エントリー・アプリケーション)が指定されている場合には(ステップS1707のYes)、受信機は、そのアプリケーションを実行する。