以下、図面を参照しながら本明細書で開示する技術の実施形態について詳細に説明する。
A.システム構成
図1には、ディジタル放送システム10の構成例を模式的に示している。図示のディジタル放送システム10は、放送送出システム11と、受信機12で構成される。
放送送出システム11は、放送信号の伝送にMMT方式を適用しており、放送サービスを構成する各コンポーネントをIP(Internet Protocol)パケットにして伝送する。具体的には、放送送出システム11は、放送番組の映像信号や音声信号の符号、並びに、放送番組に関連するコンテンツ(データ放送アプリケーションなど)や字幕の信号を、MMTP(MMT Protocol)ペイロードに乗せてMMTPパケット化し、さらにIPパケット化し、放送伝送路ではTLV(Type Length Value)パケットの形式で伝送する。ここで、映像や音声、字幕などの放送番組本体に関わるコンポーネントは、同期型(Timed)メディアである。また、コンテンツ、すなわちHTML(Hyper Text Transfer Protocol)5形式などで符号化されるデータ放送アプリケーションは、非同期型(Non-Timed)メディアである。
また、放送送出システム11は、同期型及び非同期型のメディアを伝送する放送サービスに関する制御情報であるMMT-SIのシグナリング(通知)も行なう。MMT-SIには、メッセージ、テーブル、記述子(descriptor)がある。テーブルは、メッセージをコンテナーとして伝送される。メッセージやテーブルで示すパラメーターの一部は記述子の形式で記述される。
一方、受信機12は、放送送出システム11から放送伝送路で送られてくるTLVパケットを受信する。受信機12は、そして、受信機12は、受信パケットから映像や音声、字幕などの放送番組を構成する同期型の伝送メディアを復号して、画像や音声、字幕を提示する。また、受信機12は、受信パケットからデータ放送用の各データ・ファイルを取得すると、HTMLブラウザーなどのアプリケーション・エンジンを起動して、放送番組に連動したデータ放送を、TV番組の映像を表示するスクリーンの一部又は全部の領域に表示する。
また、受信機12は、放送サービスに関する制御情報であるMMT-SIも受信する。受信機12は、MMT-SIに基づいて、映像や音声、字幕、データ放送などの伝送メディアの受信制御や受信機12上での出力(表示、音声出力)制御を行なう。
図2には、MMT方式を用いるディジタル放送システム10におけるプロトコル・スタック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、212は、MFU(Media Fragment Unit)及びMPU(Media Processing Unit)とし、MMTPペイロードに乗せてMMTPパケット化される。また、放送番組の字幕信号や放送番組に関連するアプリケーション(データ・コンテンツ)符号化コンポーネント213、214についても、MFU及びMPUとし、MMTPペイロードに乗せてMMTPパケット化される。また、メディア・トランスポート方式であるMMTに関わる(放送番組の構成などを示す)制御情報であるMMT-SI221も、MMTPペイロードに乗せてMMTPパケット化される。MMTに関わる制御情報MMT-SIの詳細については、後述に譲る。MPUは処理の単位となり、MFUはMPUよりも小さな単位である。なお、コンテンツ・ダウンロード205のデータ伝送方式215として、字幕・文字スーパー伝送方式、アプリケーション伝送方式、イベント・メッセージ伝送方式、汎用データ伝送方式の4種類が挙げられる。このうち、アプリケーション伝送方式は、放送番組と非同期のデータ伝送サービスに用いられる。また、汎用データ伝送方式は、各種データを同期型又は非同期型により伝送する方式であり、映像、音声、字幕以外のデータの提示を行なうプレイヤーで利用するデータやマルチメディア・サービスで利用するデータのストリーミングに適用することができる。
UDP(User Datagram Protocol)/IPレイヤー530では、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は、時計部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などの記録再生機であり、同期型メディアである映像、音声、字幕及び文字スーパーなどのストリーム・データを、それぞれビデオ・エンコーダー303、オーディオ・エンコーダー304、字幕/文字スーパー・エンコーダー305に送る。また、信号送出部302は、非同期型メディアであるデータ放送アプリケーションや、同期型並びに非同期型の汎用データを、ファイル・エンコーダー307に送る。
電子データ処理システム308は、TV放送局のスケジューラー並びにファイルの供給源である。電子データ処理システム308は、非同期型メディアであるデータ放送アプリケーションや、同期型並びに非同期型の汎用データを、ファイル・エンコーダー307に送る。また、電子データ処理システム308は、放送サービスの構成などを示す制御情報をシグナリング・エンコーダー306に送る。また、電子データ処理システム308は、IPパケットの多重に関する制御情報をTLVシグナリング・エンコーダー309に送る。
ビデオ・エンコーダー303は、信号送出部302から送出される映像信号をHEVC符号化し、さらにパケット化して、映像信号のMMTパケットを含むIPパケットをIPサービス・マルチプレクサー310に送る。また、オーディオ・エンコーダー304は、信号送出部302から送出される音声信号をAAC符号化し、さらにパケット化して、音声信号のMMTパケットを含むIPパケットをIPサービス・マルチプレクサー310に送る。また、字幕/文字スーパー・エンコーダー305は、信号送出部302から送出される字幕信号及び文字スーパー信号を符号化し、さらに提示処理の単位でMPUを生成して、字幕のMMTパケットを含むIPパケットをIPサービス・マルチプレクサー310に送る。
放送送出システム11が複数の放送サービスを送信する場合、放送サービス毎に映像信号のHEVC符号化、音声信号のAAC符号化、及び字幕/文字スーパーの符号化処理が行なわれ、それぞれの放送サービス#1~#Nに対応するIPサービス・マルチプレクサー310-1、…、310-Nに送られる。
シグナリング・エンコーダー306は、電子データ処理システム308から送出される情報に基づいて、放送信号の構成などを示す制御情報(MMT-SI)を生成し、ペイロード部にMMT-SIが配置されたMMTパケットを含むIPパケットをIPサービス・マルチプレクサー310に送る。MMT-SIには、メッセージ、テーブル、記述子がある(前述)。シグナリング・エンコーダー306は、放送サービス単位のMMT-SIを生成する他、放送サービス横断のMMT-SIを生成する。
ファイル・エンコーダー307は、信号送出部3102又は電子データ処理システム308から送出されるHTML5形式のデータ放送アプリケーションや、データ放送アプリケーションなどで利用する汎用データを符号化し、さらにパケット化して、このMMTパケットを含むIPパケットをIPサービス・マルチプレクサー310に送る。
放送送出システム11は、送出する放送サービス(放送チャンネル)#1~#N毎に、複数のIPサービス・マルチプレクサー310―1、…、310-Nを装備する。放送サービス毎のチャンネルのIPサービス・マルチプレクサー310は、各エンコーダー303~307から送られてくる映像、音声、字幕、(放送サービス単位)MMT-SI、データ放送アプリケーション、汎用データの各々を含むIPパケットをマルチプレクスして、放送サービス単位の放送信号、並びに、放送サービス横断のMMT-SIを含んだTLVパケットを生成する。
TLVシグナリング・エンコーダー309は、電子データ処理システム308から送出される情報に基づいて、上記のIPパケットの多重に関する制御情報(TLV-SI)をペイロード部に配置するTLVパケットを生成する。
TLVマルチプレクサー311は、各IPサービス・マルチプレクサー310-1~310-N及びTLVシグナリング・エンコーダー309でそれぞれ生成されるTLVパケットをマルチプレクスして、TLVストリーム識別情報で識別されるTLVストリームを生成する。
変調・送信部312は、TLVマルチプレクサー311で生成されたTLVストリームに対してRF変調処理を行なって、放送伝送路に送出する。
図3に示した放送送出システム11の動作について説明しておく。
信号送出部302から送出される映像信号は、ビデオ・エンコーダー303に供給される。ビデオ・エンコーダー303では、映像信号がHEVC符号化され、さらにパケット化されて、HEVC符号化映像信号のMMTパケットを含むIPパケットが生成される。このIPパケットは、IPサービス・マルチプレクサー310に送られる。
また、信号送出部302から送出される音声信号並びに字幕及び文字スーパー信号に対しても、同様の処理が行なわれる。すなわち、オーディオ・エンコーダー304で生成されるAAC符号化音声信号のMMTパケットを含むIPパケットがIPサービス・マルチプレクサー310に送られるとともに、字幕/文字スーパー・エンコーダー305で生成される字幕符号化信号のMMTパケットを含むIPパケットがIPサービス・マルチプレクサー310に送られる。
また、シグナリング・エンコーダー306では、電子データ処理システム308から送出される情報に基づいて放送信号の構成などを示す制御情報(MMT-SI)が生成され、ペイロード部にこのMMT-SIが配置されたMMTパケットを含むIPパケットが生成される。これらのIPパケットは、IPサービス・マルチプレクサー310に送られる。
また、信号送出部302又は電子データ処理システム308から送出されるデータ放送アプリケーションや、データ放送アプリケーションなどで利用する汎用データは、ファイル・エンコーダー307に供給される。ファイル・エンコーダー307では、HTML5形式のデータ放送アプリケーションや汎用データが符号化され、さらにパケット化され、このMMTパケットを含むIPパケットが生成される。このIPパケットは、IPサービス・マルチプレクサー310に送られる。
各IPサービス・マルチプレクサー310-1、…、310-Nでは、各エンコーダー303~307から送られてくる映像、音声、字幕、(放送サービス単位及びサービス横断の)MMT-SI、データ放送アプリケーション(HTML5文書)、汎用データの各々を含むIPパケットがマルチプレクスされて、1つのチャンネルを構成するTLVパケットが生成される。
TLVシグナリング・エンコーダー309では、電子データ処理システム308から送出される情報に基づいて、上記のIPパケットの多重に関する制御情報(TLV-SI)をペイロード部に配置するTLVパケットが生成される。
TLVマルチプレクサー311では、各IPサービス・マルチプレクサー310-1~310-N及びTLVシグナリング・エンコーダー309で生成されるTLVパケットがマルチプレクスされて、TLVストリームが生成される。変調・送信部312では、TLVマルチプレクサー311で生成されたTLVストリームに対してRF変調処理が行なわれ、そのRF変調信号が放送伝送路に送出される。
図4には、放送送出システム11からの放送信号を受信する受信機12の構成例を示している。図示の受信機12は、チューナー・復調部401と、MMTデマルチプレクサー(DEMUX)402と、時計回復部403と、ビデオ・デコーダー404と、オーディオ・デコーダー405と、文字スーパー・デコーダー406と、字幕デコーダー407と、マルチメディア(MM)キャッシュ408と、SIキャッシュ409と、放送システム制御部410と、アプリケーション(App)・エンジン411と、通信インターフェース(IF)412と、スケーラー414と、合成部415~418を備えている。
チューナー・復調部401は、放送信号を選局受信し、復調処理を行なって、TLVストリームを得る。MMTデマルチプレクサー402は、このTLVストリームに対して、デマルチプレクス処理及びデパケット化処理を行なう。デマルチプレクサー402は、パケット・フィルター402-1とSIフィルター402-2を備えている。
パケット・フィルター402-1は、TLVストリーム識別情報及びIPアドレスに基づいてIPパケットのフィルタリングを行ない、さらにMMTPヘッダー内の情報に基づいて、IPパケットからMMTPパケットをフィルタリングして、映像、音声、文字スーパー並びに字幕といった同期型伝送メディアを、それぞれビデオ・デコーダー404、オーディオ・デコーダー405、文字スーパー・デコーダー406、字幕デコーダー407に振り分ける。また、パケット・フィルター402-1は、マルチメディア(データ放送アプリケーション)や汎用データの各符号化コンポーネントを、マルチメディア(MM)キャッシュ408に振り分ける。また、パケット・フィルター402-1は、シグナリング情報を乗せたMMTPパケットを、SIフィルター402-2に振り分ける。そして、SIフィルター402-2は、シグナリング情報SIをフィルタリングして、SIキャッシュ410にキャッシュする。
時計回復部403は、MMTデマルチプレクサー402内のパケット・フィルター402-1でフィルタリングされたNTPパケットに含まれる現在時刻の情報に基づいて、この時刻情報に同期した時刻情報を生成して、各同期型伝送メディアをデコードするにビデオ・デコーダー404、オーディオ・デコーダー405、文字スーパー・デコーダー406、字幕デコーダー407にそれぞれ出力する。
ビデオ・デコーダー404は、MMTデマルチプレクサー402で得られる符号化映像信号をデコードして、ベースバンドの映像信号を得る。また、オーディオ・デコーダー405は、MMTデマルチプレクサー402で得られる符号化音声信号をデコードして、ベースバンドの音声信号を得る。また、文字スーパー・デコーダー406並びに字幕デコーダー407は、MMTデマルチプレクサー402で得られる文字スーパー及び字幕符号化信号をそれぞれデコードして、文字スーパー及び字幕の表示信号をそれぞれ得る。
放送システム制御部410は、SIキャッシュ409にキャッシュされているMMT-SIに基づいて、受信機12全体の放送サービス受信動作を制御する。例えば、放送システム制御部410は、MMT-SIに含まれるアプリケーションの実行制御情報(MH-AIT)を解析して、起動が指示されているデータ放送アプリケーションを見つけると、アプリケーション・エンジン411に対してデータ放送の提示処理を指示する。
アプリケーション・エンジン411は、例えばHTMLブラウザーなどであり、マルチメディア・キャッシュ408にキャッシュされているデータ放送アプリケーション(HTML5文書など)の処理を行なって、データ放送の表示信号並びに音声信号を生成する。また、アプリケーション・エンジン411は、データ放送の表示に必要なデータ・ファイル(データ放送の表示に使用するメディア・データや、リンク先のアプリケーションなど)を、通信インターフェース412経由でIPネットワークから取得することもできる。
また、本実施形態では、データ放送アプリケーションで利用する汎用データがストリーミングされることを想定している。アプリケーション・エンジン411は、ストリーミングされる汎用データを取得して、アプリケーションの表示に反映させる。
スケーラー414は、ビデオ・デコーダー404でデコードされた映像信号(放送映像)を、受信機12の画面サイズに応じてスケーリング処理する。
合成部415は、オーディオ・デコーダー405でデコードされた音声信号と、アプリケーション・エンジン411が再生したデータ放送用の音声信号を合成して、出力用の音声信号を生成する。
合成部416は、文字スーパー・デコーダー4206がデコードした文字スーパー表示と、字幕デコーダー407がデコードした字幕表示を合成する。また、合成部417は、スケーラー414でスケーリング処理された放送映像と、アプリケーション・エンジン411が生成したデータ放送の表示信号を合成する。さらに後段の合成部418は、データ放送の表示が重畳された放送映像と、合成部416から出力される文字スーパー表示及び字幕表示とを合成して、出力用の映像信号を生成する。
図4に示した受信機12の動作について説明しておく。
チューナー・復調部401では、放送信号が受信され、復調処理が行なわれて、TLVストリームが得られる。MMTデマルチプレクサー402では、このTLVストリームに対して、デマルチプレクス処理及びでパケット化処理を行なわれ、NTP時刻情報、映像、音声、文字スーパー及び字幕、データ放送アプリケーション、汎用データの各符号化信号、並びに、シグナリング情報が抽出され、ビデオ・デコーダー404、オーディオ・デコーダー405、文字スーパー・デコーダー406、字幕デコーダー407、マルチメディア(MM)キャッシュ408、SIフィルター402-1にそれぞれ振り分けられる。
また、デマルチプレクサー402で抽出されたNTPパケットは、時計回復部403に振り分けられる。時計回復部403では、NTPパケットに載せられた時刻情報に基づいて、この時刻情報に同期した時刻情報が生成される。つまり、時計回復部403では、放送送出システム11側の時計部401で生成された時刻情報に合った時刻情報が生成される。生成された時刻情報は、各同期型伝送メディアをデコードするにビデオ・デコーダー404、オーディオ・デコーダー405、文字スーパー・デコーダー406、字幕デコーダー407にそれぞれ出力される。
MMTデマルチプレクサー402で抽出された符号化映像信号は、ビデオ・デコーダー404に送られてデコードされ、ベースバンドの映像信号が得られる。デマルチプレクサー402で抽出された文字スーパー符号化信号は文字スーパー・デコーダー406に送られてデコードされ、文字スーパーの表示信号が得られる。また、デマルチプレクサー402で抽出された字幕符号化信号は字幕デコーダー407に送られてデコードされ、字幕の表示信号が得られる。
放送システム制御部410では、SIフィルター402-2並びにSIキャッシュ409を介して受け取るMMT-SIに基づいて、データ放送アプリケーションの処理を始め受信機12による受信処理動作全体が制御される。
アプリケーション・エンジン411では、マルチメディア・キャッシュ408にキャッシュされているデータ放送アプリケーション(HTML5文書など)の処理が行なわれ、データ放送の表示信号並びに音声信号が生成される。また、本実施形態では、データ放送アプリケーションで利用する汎用データがストリーミングされることを想定している。アプリケーション・エンジン411では、取得された汎用データが、アプリケーションの表示に反映される。
スケーラー414では、ビデオ・デコーダー404でデコードされた映像信号(放送映像)のスケーリング処理が行なわれる。また、合成部416は、文字スーパー・デコーダー406でデコードされた文字スーパー表示と、字幕デコーダー407でデコードされた字幕表示が合成される。続いて、合成部417では、スケーラー414でスケーリング処理された放送映像と、アプリケーション・エンジン411で生成されたデータ放送の表示信号が合成される。さらに後段の合成部418では、データ放送の表示が重畳された放送映像と、合成部416から出力される文字スーパー表示及び字幕表示が合成されて、出力用の映像信号が生成される。
また、合成部415では、オーディオ・デコーダー405でデコードされた音声信号と、アプリケーション・エンジン411で再生されたデータ放送用の音声信号を合成して、出力用の音声信号が生成される。
B.放送信号の構成
図5には、MMT方式に従って放送送出システム11から受信機12に向けて放送伝送路に送出される放送信号500のイメージを示している。
放送信号は、映像、音声、字幕などの放送番組本編に関わる同期型メディアと、データ放送アプリケーションのような非同期型メディアで構成される。MMT方式では、これら同期型並びに非同期型メディアを、異なる伝送路の組み合わせで利用することが容易である。図5に示す例では、放送信号500として、映像、音声、字幕、データ放送アプリケーション、汎用データ、放送サービスに関する制御情報(MMT-SI)など、データのタイプ毎のMMT伝送路501~506が利用されている。
各MMT伝送路では、符号化したメディア・データをMPUフォーマットにしてMMTPパケット化され、IPパケットで伝送される。各MMT伝送路は、それぞれ1つのIPデータ・フローに相当する。ここで言うIPデータ・フローとは、IPヘッダー及びUDPヘッダーの送信元IPアドレス、宛先IPアドレス、IPヘッダーのプロトコル種別、送信元ポート番号、宛先ポート番号の5種類のフィールドの値がすべて同じとなるIPパケットの集合である。
1つの放送サービスは、映像、音声、字幕、データ放送アプリケーションなど複数のコンポーネントで構成されるパッケージである(但し、1つの放送サービスは、1つのチャンネルすなわち放送番組に対応するものとする)。MMT伝送方式では、コンポーネントは「アセット」として定義されている。各アセットは、固有のアセット識別情報(asset_id)で識別される。アセット識別情報は、コンポーネントを識別するコンポーネント・タグと一意に対応する(映像のアセットは映像コンポーネントに対応し、音声のアセットは音声コンポーネントに対応し、字幕のアセットは字幕コンポーネントに対応し、データ放送アプリケーション用のデータ・ファイルのアセットはデータ・ファイルのコンポーネントに対応する)。
各アセットは、それぞれ同じアセット識別情報を共有する1又はそれ以上のMPUの集合(論理グループ)で構成される。MPUは、MMT方式における伝送単位となるフォーマットであり、1以上のMFUで構成される。MPUは、それぞれのアセットに専用のES(Elementary Stream)すなわちMMT伝送路で伝送される。各MPUは、アセット識別情報と、該当する伝送路上でのMPUのシーケンス番号で特定される。
図5に示す例では、伝送路501では、映像信号用として共通のアセット識別情報を持つMPU論理グループからなる符号化映像信号のMMTPパケットが伝送される。同様に、伝送路502では音声信号用として共通のアセット識別情報を持つMPU論理グループからなる符号化音声信号のMMTパケットが伝送され、伝送路503では字幕信号用としての共通のアセット識別情報を持つMPUグループからなる符号化字幕信号のMMTPパケットが伝送され、伝送路504-1並びに504-2ではデータ放送アプリケーション用として共通のアセット識別情報を持つMPU論理グループからなる符号化アプリケーションのMMTPパケットが伝送される。また、伝送路505では、共通のアセット識別情報を持つMPUグループからなる符号化汎用データ信号のMMTPパケットとして伝送される。
1つのパッケージ(放送サービス)内で、同じタイプのアセットが複数伝送されることもある。図5に示す例では、2つのデータ放送アプリケーションのアセットが、異なるアセット識別番号が割り振られ、それぞれ専用のESすなわちMMT伝送路504-1、504-2で伝送される。例えば、一方のMMT伝送路504-1では放送番組に連動する番組連動型データ放送アプリケーションのアセットが伝送され、他方のMMT伝送路504-2では放送番組に連動しない番組非連動型データ放送アプリケーション(例えば、天気予報やニュースなど)のアセットが伝送される。2以上のデリバリー・セグメントからそれぞれ独立してデータ放送アプリケーションのアセットが提供される場合も想定される。
また、MMT方式は、放送や通信の複数の伝送路を共通に用いることができる。例えば、データ放送(HTML5文書など)のような非同期型メディアを、図5に示したように放送信号500の伝送路504-1や504-2を用いて同じ放送サービスの同期型メディアとともに伝送する以外に、IPネットワークなど通信伝送路(図示しない)を介して伝送することもできる。
伝送路505では、MMTを用いる放送システムにおいて、汎用データ伝送方式により各種データを伝送するのに利用される。汎用データ伝送は、HTML5形式のデータ放送アプリケーションに対するデータのストリーミングに用いることができる。
伝送路506は、MMT方式におけるシグナリング、すなわち、MMTのパッケージの構成や放送サービスに関連する情報を示す制御情報であるMMT-SIの伝送に使用される。伝送路506では、MMT-SIを含んだMMTメッセージがMMTPパケット化され、カルーセル方式により繰り返し伝送される。なお、図5では、TLV-SI用の伝送路の図示を省略している。
MMT-SIには、メッセージ、テーブル、記述子がある。伝送路506伝送されるメッセージとして、PAメッセージ510、M2セクション・メッセージ520、データ伝送メッセージ530を挙げることができる。
PAメッセージ510は、放送番組の構成などを示す制御情報であり、アセットのリストやその位置などパッケージを構成する情報を記述するMP(MMT Package)テーブル511を格納するコンテナーである。
MP(MMT Package)テーブル511は、放送サービス単位の基本的な受信制御情報を示すテーブルであり、具体的には、アセットのリストや、アセットのロケーション情報など、パッケージを構成する情報を与える。また、MPテーブル511は、アプリケーション・サービス記述子などのMPT記述子を含む。アプリケーション・サービス記述子は、データ放送アプリケーションのエントリー情報(例えば、データ伝送メッセージや、MH-AIT及びEMTをそれぞれ伝送する各M2セクション・メッセージのエントリー情報)を示す。また、MPUテーブル511には、MPUの提示時刻を提供するMPUタイムスタンプ記述子が配置される。
PAメッセージ510は、放送サービスのエントリー・ポイントであり、PAメッセージ510を伝送するMMTPパケットには、固定のパケット識別情報(例えば、0x0000)が割り当てられている。したがって、受信機側では、MMT伝送路506上で、上記固定のパケット識別情報を直接指定してPAメッセージ510を取得することができる。そして、PAメッセージ510で伝送されるMPテーブル511を参照して、パッケージ(放送番組)を構成する各アセット(映像、音声、字幕、データ放送アプリケーション、汎用データ)や他のシグナリング・メッセージを間接指定することができる。
なお、図5では省略したが、PAメッセージ510に格納されるテーブルとして、MPテーブル以外に、PL(Package List)テーブル(PLT)、LC(Layout Configuration)テーブル(LCT)を挙げることができる。PLTは、放送サービスとして提供されるMMTパッケージのPAメッセージを伝送するIPデータ・フロー及びパケットID並びにIPサービスを伝送するIPデータ・フローの一覧を示す。また、LCTは、提示のためのレイアウト情報をレイアウト番号に対応付けるために用いる。PAメッセージは、MPテーブル、PLテーブル、LCテーブルという最大3つのテーブルを格納することができるコンテナーである。
M2セクション・メッセージ520は、MPEG-2 Systemsのセクション拡張形式を伝送するメッセージであり、セクション形式のシグナリング・テーブルを1つずつ格納するコンテナーである。M2セクション・メッセージ520内には、MH-AIT(Application Information Table)521や、EMT(Event Message Table)522といったテーブルが1つずつ格納される。
MH-AIT521は、アプリケーションに関する動的制御情報及び実行に必要な付加情報を指定するテーブルである。具体的には、MH-AIT521は、アプリケーション情報ループの中で、当該テーブルの制御対象となる各アプリケーションの処理方法をapplication_control_codeで示すとともに、アプリケーションの情報を記述する各種アプリケーション情報記述子を配置する。ここで、application_control_codeは、autostart(アプリケーションの自動起動)、present(アプリケーションが実行可能の状態)、kill(アプリケーションの終了)、prefetch(アプリケーションの取得及び保持(事前キャッシュ))などのアプリケーションの処理方法を示す。また、アプリケーション情報記述子の1つである伝送プロトコル記述子は、アプリケーションの伝送方式と伝送方式に応じたロケーション情報を指定する(アプリケーションをHTTP/HTTPS並びにMMT非同期型伝送の場合には、共通して、URL(Uniform Resource Locator)形式でロケーション情報を指定する)。
EMT522は、イベント・メッセージ伝送方式に用いるシグナリング・テーブルであり、イベント・メッセージ(放送局から受信機上のアプリケーションに対する同期・非同期のメッセージ)に関する情報(イベント・メッセージ記述子)を格納する。イベント・メッセージ伝送方式は、放送局から受信機で動作しているデータ放送アプリケーションに対して、即座にあるいは指定した時刻に、メッセージ情報を送る手段を提供する。
データ伝送メッセージ530は、データ放送アプリケーションの伝送に関する制御情報を伝送するためのメッセージである。データ伝送メッセージ530は、データ・ディレクトリー管理テーブル(Data Directory management Table:DDMT)531、データ・アセット管理テーブル(Data Asset Management Table:DAMT)532、データ・コンテンツ管理テーブル(Data Content Configuration Table:DCCT)533という、最大3つのテーブルを同時に格納することができるコンテナーである。データ・ディレクトリー管理テーブル及びデータ・アセット管理テーブルはデータ放送サービスに必須であるが、データ・コンテンツ管理テーブルは任意である。
ここで、データ・ディレクトリー管理テーブル531は、ディレクトリー単位(言い換えれば、データ放送アプリケーションの制作単位)でデータ放送アプリケーションを管理するためのテーブルである。同テーブル内は、1つのパッケージに含まれるアイテム(ディレクトリー並びにディレクトリーに含まれるサブディレクトリーやファイル)に関するディレクトリー構造を記述しているので、アプリケーションのファイル構成とファイル伝送のための構成を分離することができる。同テーブルは、ディレクトリーやファイルなどの各ノードのパス名と、データ伝送メッセージ内で各ノードを識別するノード・タグとの対応関係を示している。
また、データ・アセット管理テーブル532は、アセット単位でデータ放送アプリケーションを管理するためのテーブルであり、アセット内のMPUの構成とのMPU毎のバージョン情報を記述している。具体的には、同テーブルは、各コンポーネントのダウンロード識別情報や、コンポーネントを伝送する各MPUに含まれるノード(ファイル又はディレクトリー)をデータ伝送メッセージ内で識別するノード・タグとMMT伝送路上でノードを識別するアイテム識別情報との対応関係を示している。
また、データ・コンテンツ管理テーブル533は、提示単位(Presentation Unit:PU)毎にデータ放送アプリケーションを管理するためのテーブルである。同テーブルは、データ放送アプリケーションを提示単位毎に識別する提示単位識別情報と、各提示単位に含まれるノード(ファイル又はディレクトリー)をデータ伝送メッセージ内で識別するノード・タグを示している。また、同テーブルは、提示単位にリンクする提示単位を識別するリンク先提示単位識別情報や、各提示単位のキャッシュ制御に関する情報を含めることができ、受信機側ではデータ放送アプリケーション用のファイル・データの柔軟で有効なキャッシュ制御に利用することができる。
MMTによるデータ放送アプリケーションの伝送方式において、データ伝送メッセージで伝送する上記3種類のシグナリング・テーブル531~533を活用することにより、ファイル単位の伝送データ構造やコンテンツ(データ放送アプリケーション)制作におけるディレクトリー構造とは独立して、アプリケーション単位、提示単位といった利用単位のデータ構造を表現することができる。各シグナリング・テーブル531~533の構成は、ARIB STD B-60で規定されている。
MMT-SIとして伝送されるメッセージやテーブルのパケット識別情報は、固定されているものや、他のテーブルから間接指定されるものがある。このうち、PAメッセージは、放送サービスのエントリー・ポイントであり、固定のパケット識別情報(例えば、0x0000)が割り当てられている。PAメッセージで伝送されるMPテーブルでは、パッケージ(放送番組)を構成する各アセット(映像、音声、字幕、データ放送アプリケーションなど)のアセット識別情報とロケーション情報を示している。したがって、受信機側では、MMT伝送路上で、上記固定のパケット識別情報を直接指定してPAメッセージを取得することができる。そして、図6に示すように、PAメッセージで伝送されるMPテーブルを参照して、放送サービスに関連する各アセット(映像、音声、字幕、データ放送アプリケーションなど)や他のシグナリング・メッセージを間接的に指定することができる。なお、MPテーブルは、映像及び音声以外の各アセットに対して、データ符号化方式を識別するために、MH-データ符号化方式記述子を配置する。
図7には、MPテーブルのシンタックス例700を示している。以下、MPテーブルの各パラメーターの意味について説明する。
table_idは、当該テーブルがMPテーブルであることを識別する8ビットの固定値(0x20)である。versionは、MPテーブルのバージョン番号を示す8ビットの整数値である。例えば、MPテーブルを構成する一部のパラメーター(記述子)でも更新した場合には、versionは+1だけインクリメントされる。lengthは、このフィールドの直後からカウントされる、MPテーブルのサイズをバイト単位で示す、32ビット長のパラメーターである。また、MPT_modeは、このMPテーブルがサブセットに分割されているときの動作を示す。
MMT_package_id_lengthは、パッケージ識別情報(MMT_package_id)のテキスト情報のサイズをバイト単位で示す。続くパッケージ識別情報のループでは、MMT_package_idをバイト単位(MMT_package_id_byte)でパッケージ識別情報を示す。パッケージ識別情報は、放送信号(IPデータ・フロー)で伝送されるすべての信号(映像、音声、字幕)、並びにファイル・データなどのアセットをコンポーネントとする全体のパッケージとしての識別情報である。この識別情報は、テキスト情報であり、上位16ビットはサービスを識別するためのサービス識別情報と同じ値とする。
MPT_descriptor_lengthは、MPテーブル記述子領域のサイズをバイト単位で示す。MPテーブル記述子のループでは、MPテーブル記述子の内容をバイト単位(MPT_descriptors_byte)で記述する。MPT記述子には、対応する放送サービス(パッケージ)全体の受信制御に関わる基本的な情報が記述される。
number_of_assetsは、放送サービス(パッケージ)を構成する要素としてのアセット(信号、ファイル)の数を示す、8ビットのパラメーターである。number_of_assetの数分だけ、アセット情報のループが配置される。1つのアセット情報のループ内には、個々のアセットの情報としてのアセット識別情報(asset_id)と、一般ロケーション情報(MMT_general_location_info)と、アセット記述子(asset_descriptor)の各パラメーターが配置される。アセット情報のループ内に配置される情報について、以下に説明しておく。
identifier_typeは、MMTPパケット・フローのID体系を示す。アセット識別情報(asset_id)を示すID体系であれば0x00とする。asset_id_schemeは、アセット識別情報の形式を示す。asset__id_lengthは、アセット識別情報のテキスト情報のサイズをバイト単位で示す。続くアセット識別情報のループでは、アセット識別情報をバイト単位(asset_id_byte)で示す。
asset_typeは、アセットの種類(映像、音声、文字スーパー・字幕、アプリケーションなど)を32ビット長の文字列で示す。asset_clock_relation_flagは、アセットのクロック情報フィールドの有無を示すフラグである。当該フラグが1のときは、クロック情報識別フィールド(asset_clock_relation_id)とタイムスケール・フラグ・フィールド(asset_timescale_flag)が存在し、0のときはこれらのフィールドは存在しない。location_countは、アセットのロケーション情報の数を示し、続くlocation_countの数だけ繰り返されるロケーション情報のループでは、該当するアセットのロケーション情報であるMMT_general_location_infoが示される。
asset_typeは、アセットの種類(映像、音声、文字スーパー・字幕、アプリケーションなど)を32ビット長の文字列で示す。asset_type(文字)が表すアセットの種類を、以下に表1に示しておく。
asset_clock_relation_flagは、アセットのクロック情報フィールドの有無を示すフラグである。当該フラグが1のときは、クロック情報識別フィールド(asset_clock_relation_id)とタイムスケール・フラグ・フィールド(asset_timescale_flag)が存在し、0のときはこれらのフィールドは存在しない。location_countは、アセットのロケーション情報の数を示し、続くlocation_countの数だけ繰り返されるロケーション情報のループでは、該当するアセットのロケーション情報であるMMT_general_location_infoが示される。アセットのロケーション情報は、アセットの取得先となるMMT伝送路上のパケット識別情報(packet_id:PID)の形式で記述される。したがって、MPテーブル上でアセット識別情報を引いて、MMT伝送路(IPデータ・フロー)上の該当するパケット識別情報を取り出すことができる(図6を参照のこと)。
asset_descriptor_lengthは、アセット記述子(asset_descriptor)のテキスト情報のサイズをバイト単位で示す。参照番号701で示すアセット記述子のループでは、アセット毎の記述子の内容をバイト単位(asset_descriptors_byte)で示す。アセット情報のループ(MPテーブルの第2ループ)内に配置されるアセット記述子として、データ符号化方式を識別するために使用する「MH-データ符号化方式記述子」や、MPUの提示時刻を提供する「MPUタイムスタンプ記述子」、MPU内のアクセス・ユニットの復号時刻などを提供する「MPU拡張タイムスタンプ記述子」、アセットのグループ関係とグループ内での優先度を提供する「アセット・グループ記述子」、MPUの提示位置を提供する「MPU提示領域指定記述子」、依存関係にあるアセットのアセットIDを提供する「依存関係記述子」を挙げることができる。
図8には、MPテーブルのアセット情報ループに配置される、MPUタイムスタンプ記述子のシンタックス例800を示している。MPUタイムスタンプ記述子は、MPUにおいて提示順序で最初のアクセス・ユニットの提示時刻を示す。以下、MPUタイムスタンプ記述子の各パラメーターの意味について説明する。
descriptor_tagは、当該記述子800を識別する、8ビットの固定値を示す。descriptor_lengthは、このフィールドより後に続く当該記述子のデータのバイト長を書き込む、8ビットの領域である。
mpu_sequence_numberは、当該記述子でタイムスタンプを記述するMPUのシーケンス番号を示す。mpu_presentation_timeは、上記シーケンス番号で示されたMPUの提示時刻を64ビットのNTPタイムスタンプ形式で示す。
MH-AITでは、各アプリケーションのロケーション情報は、URL形式、言い換えれば、ディレクトリー・ノード名とファイル名の組み合わせからなるパス名で記述される。一方、データ伝送メッセージで伝送されるデータ・ディレクトリー管理テーブル及びデータ・アセット管理テーブルを用いて、アセットのパス名をMMT伝送路上の識別情報(パケット識別情報)に変換することができる。図9を参照しながら、MMT伝送されるデータ放送に関連するファイルを取得する仕組みについて、簡単に説明しておく。
受信機は、M2セクション・メッセージで伝送されるMH-AIT内のアプリケーション情報ループを参照して、起動すべきアプリケーション(例えば、アプリケーション制御コードで自動起動(autostart)が指定されたアプリケーション)を検知することができる。また、受信機は、MH-AITに配置されている伝送プロトコル記述子から、アプリケーションのロケーション情報すなわちパス名を取得することができる。放送で伝送されるアプリケーションの場合には、参照番号901で示すように、データ伝送メッセージ内のデータ・ディレクトリー管理テーブルから、指定されたパス名に対応するファイルのノード・タグを得ることができる。
次いで、参照番号902で示すように、同じくデータ伝送メッセージ内のデータ・アセット管理テーブルから、データ・ディレクトリー管理テーブルで得られたノード・タグを持つアイテムが伝送されるデータ・アセットのコンポーネント・タグ、ダウンロード識別情報、MPUシーケンス番号、及びアイテム識別情報を得ることができる。
さらに、参照番号903で示すように、MPテーブルから、データ・アセット管理テーブルで得られたコンポーネント・タグを持つアセットのロケーション情報を取得すると、参照番号904で示すように、該当するファイルが実際に伝送されるデータ・アセットを特定することができる。
そして、特定されたデータ・アセット内で、データ・アセット管理テーブルから得られたダウンロード識別情報とアイテムを伝送するMMTPパケットのヘッダー領域に記載されたダウンロード識別情報とにより、カルーセルに対応するファイルの繰り返し伝送の単位を一意に識別することができる。参照番号905で示すように、繰り返し伝送されるアイテムのうち、データ・アセット管理テーブルから得られたMPUシーケンス番号及びアイテム識別情報を持つアイテムを所望のファイルとして指定することができる。
C.汎用データ・ストリームの伝送
汎用データ伝送方式は、各種データを同期型又は非同期型により伝送する方式であり、映像、音声、字幕以外のデータの提示を行なうプレイヤーで利用するデータやマルチメディア・サービスで利用するデータのストリーミングに適用することができる。汎用データ伝送は、HTML5形式のデータ放送アプリケーションで利用する各種データをストリームとして放送は伝送するのに用いることができる。同期型MPUで伝送する同期型汎用データと、非同期型MPUで伝送する非同期型汎用データがある。同期型汎用データのMPUには、MPUタイムスタンプ記述子(前述)により提示時刻が示される。
汎用データ伝送の処理では、MPUが処理の単位となる。MPUは、あるタイミングに利用するデータを含み、MPU単位で提示などの処理を行なうことができる単位となる。図10には、汎用データのMPU及びMFUの構成を示している。
汎用データのMPUは、MPUメタデータ、ムービー・フラグメント・メタデータは配置せず、1以上のMFUで構成される。各MFUは、汎用データ・ヘッダー部と、データ部で構成される。各MFUのデータ部には、任意のサイズのデータを格納することができる。例えば、1つのMFUで1つのファイルを送ることができる。
図11には、汎用データのMFUのシンタックス例1100を示している。以下、汎用データのMFUの各パラメーターの意味について説明する。
component_tag(コンポーネント・タグ)は、当該コンポーネント・ストリームを識別するためのラベルであり、MPテーブルのMH-ストリーム識別記述子で与えられる汎用データ・ストリームのアセット識別情報と一意に対応するコンポーネント・タグの16ビットの値が書き込まれる。
data_type_lengthは、後続のデータ・タイプ記述(data_type_byte)の長さをバイト単位で示す。参照番号1101で示す、data_type_byteは、当該MFUで伝送するデータのMIME(MULTIPURPOSE Internet Mail Extension)タイプを格納する領域である。
additional_info_lengthは、後続の付加情報記述の長さをバイト単位で示す。参照番号1102で示す、additional_info_byteは、当該MFUで伝送するデータに関する付加情報を格納する領域である。
data_lengthは、後続の汎用データのデータ・バイトの長さをバイト単位で示す。参照番号1103で示す、data_byteは、汎用データを格納する領域である。
コンポーネント・タグ、データ・タイプ、付加情報は、汎用データ・ヘッダー部に相当する。data_byteは、データ部に相当する。
本明細書では、汎用データのユースケースとして、HTML5形式のデータ放送アプリケーションに対して、表示オブジェクトを時々刻々と変化させるためのデータを汎用データ・ストリームとして伝送する技術を提案する。以下では、本明細書で開示する技術の一実施形態として、放送番組の映像に対して表示オブジェクトをオーバーレイ表示するデータ放送アプリケーションに対して、表示オブジェクトの制御情報を汎用データ・ストリームとして伝送する技術について、詳細に説明する。
例えば、放送番組の映像と同期する表示オブジェクトを表示させたい場合、時々刻々変化する表示オブジェクトの制御情報を、映像と時刻同期した同期型汎用データ・ストリームで伝送することができる。そして、データ放送アプリケーションは、汎用データ・ストリームとして受信する制御情報に基づいて、映像の動きに合わせて、表示オブジェクトを映像にオーバーレイ表示することができる。
図12には、放送番組の映像と同期する表示オブジェクトを表示させた放送画面の表示例を示している。同図は、サッカーの試合の放送画面であり、出場している選手の情報(例えば、選手名、ポジション、ゴール数など)を提示する「吹き出し」状の表示オブジェクトを、各選手の動きに追従させてオーバーレイ表示している。
図12は、放送番組の画面に表示オブジェクトをオーバーレイ表示する例の1つに過ぎない。サッカー以外の、例えば野球やバスケットボール、ゴルフ、陸上競技、柔道、カーレースなどさまざまな競技を中継する放送番組に対しても、同様の表示オブジェクトのオーバーレイ表示を適用することができる。勿論、スポーツ以外の、ドラマや音楽番組などさまざまなジャンルの放送番組にも、同様の表示オブジェクトのオーバーレイ表示を適用することができる。
映像と同期した表示オブジェクトに関する情報の表現方法として、例えば、以下で説明する移動オブジェクト・リスト記述(Moving Object List Description:MOLD)文書を利用することができる。移動オブジェクト・リスト記述文書は、同時に画面に表示するオブジェクト数分の表示オブジェクトに関する情報のリストを記述する文書構造を備えている。移動オブジェクト・リスト記述文書内には、表示オブジェクト毎の情報として、表示オブジェクトの画面上の位置及びサイズと、表示データ自体又は表示データの取得先情報(参照するデータ参照番号又はURLなど)を記載すればよい。
送信側(放送局)からは、移動オブジェクト・リスト記述文書とこれから参照される表示オブジェクトの表示データ(画像ファイル)をパッケージ化して、パッケージ単位の表示時刻を示すタイムスタンプとともに、汎用データ・ストリームとして間欠的に放送伝送する。そして、受信機側では、各表示オブジェクトを描画するための情報を移動オブジェクト・リスト記述文書から取り出すと、タイムスタンプで指定される表示時刻に基づいて、映像と同期した表示オブジェクトを放送番組の画面にオーバーレイ表示することが可能である。
パッケージ単位の表示時刻を示すタイムスタンプ情報は、MPUの提示時刻を提供するMPUタイムスタンプ記述子で示すことができる。MPUタイムスタンプ記述子は、MPテーブルの第2ループ内に配置されるアセット記述子701の1つである。MPUタイムスタンプ記述子のシンタックス例を図8に示したが、移動オブジェクト・リスト記述文書を伝送するMPUのシーケンス番号をmpu_sequence_numberで指定し、その表示時刻をmpu_presentation_timeで指定すればよい。
また、表示オブジェクトに関する情報として、次のタイミングまでの各表示オブジェクトの内挿位置を求めるための内挿情報も、移動オブジェクト・リスト記述文書に記述する。内挿情報は、次のタイミングまでの時間を細分化した時刻毎の内挿位置を求めるための情報を含む。映像フレーム毎に汎用データ・ストリームを伝送するのは、情報量が大きいため現実的でない。汎用データ・ストリームを間欠的に伝送し、受信機側では、移動オブジェクト・リスト記述文書に記述された内挿情報に基づいて求めた内挿位置に表示オブジェクトを表示することで、次のタイミングまでの間に表示オブジェクトを滑らかに移動させることができる。図12に示した放送番組の表示例で言えば、常にピッチ上を動き回るサッカー選手に滑らかに追従するように、内挿により表示オブジェクトをオーバーレイ表示することができる。
例えば、内挿情報として、表示オブジェクトの速度ベクトル情報を記述することで、表示オブジェクトの内挿位置を線形補間することが可能になる。さらに、角速度情報を含めることで、表示オブジェクトの内挿位置を弧の曲線補間することが可能になる。速度ベクトルや角速度は、対応する選手の動きを解析して求めることができる。
また、表示オブジェクトに関する情報として、さらにハイパーリンクのURL情報を移動オブジェクト・リスト記述文書に記述するようにしてもよい。受信機側では、映像の視聴者が表示オブジェクトを操作した場合に、その表示オブジェクトに対して指定されたURLに基づいて指定されたリンク先から情報を取得して表示することができる。
また、複数の移動オブジェクト・リスト記述文書から共通に参照される表示オブジェクトの表示データについては、移動オブジェクト・リスト記述文書とパッケージ化して毎回伝送するのではなく、代表して先頭の移動オブジェクト・リスト記述文書とパッケージ化して伝送し、それ以後に伝送する移動オブジェクト・リスト記述文書からは共通に参照するようにしてもよい。外部の表示データを参照する、移動オブジェクト・リスト記述文書のみからなる汎用データを伝送することにより、伝送情報量を削減(すなわち、伝送帯域を節約)することができる。表示データを更新したときに、移動オブジェクト・リスト記述文書とパッケージ化して伝送するようにすれば、帯域節約の効果が高まる。但し、番組の途中でチューニングしてきた受信機でも表示オブジェクトを表示できるようにするために、表示データをパッケージ化した汎用データを一定間隔で伝送することが好ましい。
また、上記の汎用データ・ストリームを、一定周期で間欠伝送してもよいし、伝送周期を可変制御するようにしてもよい。例えば、表示オブジェクトの動きに応じて、汎用データ・ストリームの伝送周期を制御するようにしてもよい。例えば、表示オブジェクトの動きが速い場合には1秒間隔で伝送し、表示オブジェクトのより正確な内挿位置を求め易くすることができる。逆に、表示オブジェクトの動きが遅い場合には5秒間隔にして、伝送情報量を削減(すなわち、伝送帯域を節約)するようにしてもよい。
図13には、オブジェクト数分の表示オブジェクトに関する情報を記述した移動オブジェクト・リスト記述文書と、同文書から参照される表示データをパッケージ化した汎用データ・ストリームの構造を模式的に示している。
この汎用データ・ストリームは、同期型MPUとして伝送される。図10を参照しながら既に説明したように、汎用データ伝送の処理ではMPUが処理の単位となり、MPUは複数のMFUで構成される。表示オブジェクトに関する情報を汎用データで伝送する場合、移動オブジェクト・リスト記述文書と同文書から参照される表示データのパッケージが処理単位として、1つのMPUで伝送される。
図13中、参照番号1300は、1つのパッケージを伝送するMPUであり、参照番号1310に示す先頭のMFUに移動オブジェクト・リスト記述文書を格納するとともに、この移動オブジェクト・リスト記述文書から参照される各表示オブジェクトの表示データ(画像ファイル)を後続のMFU1320-1、…、1320-Nに格納する。
先頭のMFU1310のデータ部に格納される移動オブジェクト・リスト記述文書は、画面に表示するオブジェクト数N個分の表示オブジェクトの情報のリストからなる。図14に示すように、4個の表示オブジェクト#1~#4を画面に同時に表示する場合、N=4であり、移動オブジェクト・リスト記述文書は、4個分の表示オブジェクトに関する情報をリストする。
移動オブジェクト・リスト記述文書内では、参照番号1311で示す情報ブロック内に、表示オブジェクト#1に関する情報として、表示オブジェクトを識別するタグ情報(Tag)と、表示オブジェクトを画面上に表示する位置(Position)及びサイズ(Size)、内挿情報としての速度ベクトル情報(Vector)及び角速度情報(θ)、表示オブジェクトの表示データの情報(MediaData)を含んでいる。上述したように、表示オブジェクトの情報としてハイパーリンクのURL情報をさらに含んでいてもよい(図13では省略)。図面の簡素化のため省略したが、他の情報ブロックも、それぞれ対応する表示オブジェクトに関する同様の情報を記述しているものと理解されたい。
表示オブジェクトの表示データの情報(MediaData)は、表示データの取得先情報(参照するデータ参照番号又はURLなど)で表すことができる。図13に示す例では、表示オブジェクトの表示データ(画像ファイル)も、移動オブジェクト・リスト記述文書とパッケージ化することを想定しており、URLなどの取得先情報は、同じMPU内で伝送される、該当する画像ファイルを格納したMFUのロケーション情報を指定するものとする。あるいは、表示データ自体すなわちバイナリー・データを移動オブジェクト・リスト記述文書の情報ブロック内に記述することもできる。
また、参照番号1330は、MPテーブルであり、放送信号を構成する各アセット(映像、音声、字幕、データ放送アプリケーションなど)のアセット識別情報とロケーション情報を指定している。このMPテーブルの第2ループ内に汎用データ・ストリームのアセットに対して配置されるMPUタイムスタンプ記述子1331で、MPU1300の表示時刻を指定する。すなわち、MPUタイムスタンプ記述子1331は、移動オブジェクト・リスト記述文書を伝送するMPU1300のシーケンス番号をmpu_sequence_numberで指定し、その表示時刻をmpu_presentation_timeで指定する。
図13では、移動オブジェクト・リスト記述文書と同文書から参照される表示データをパッケージ化して伝送するMPUの構成例が示されており、各表示オブジェクトの表示データ(画像ファイル)が同じMPU内の後続のMFUで伝送される。この変形例として、図15に示すように、表示データを含まず、移動オブジェクト・リスト記述文書のMFUのみからなるMPUも想定される。このような移動オブジェクト・リスト記述文書は、先行するMPUに含まれるMFUで伝送される表示データを参照する。複数の移動オブジェクト・リスト記述文書で共通に参照される表示データを、1つの移動オブジェクト・リスト記述文書だけにパッケージ化して伝送するという方法により、伝送情報量を削減(すなわち、伝送帯域を節約)することができる。表示データの保持期限を指定する仕組みを導入することにより(後述)、受信機側では、表示データをパッケージ化したMPUを受信すると、指定された保持期限まで表示データをキャッシュしておくので、後から伝送される移動オブジェクト・リスト記述文書からも保持期限までは参照することが可能である。表示データを更新するときは、改めて更新後の表示データとパッケージ化した移動オブジェクト・リスト記述文書を伝送すればよい。但し、番組の途中でチューニングしてきた受信機でも表示オブジェクトを表示できるようにするために、表示データをパッケージ化したMPUを一定間隔で伝送することが好ましい。
なお、MMT方式ではなく、MPEG TS方式の放送システムで同様の機能を実現する場合には、PES(Packetized Elementary Stream)パケットで同様の情報を伝送するとともに、表示時刻をPTS(Presentation TimeStamp)で示すようにすればよい。
図11には、汎用データのMFUのシンタックス例1100を示した。移動オブジェクト・リスト記述文書並びに同文書から参照される表示データの伝送に適用される場合のMFUの各パラメーターの利用方法について、以下でさらに説明する。
参照番号1101で示したdata_type_byteは、当該MFUで伝送するデータのタイプを、data_type_lengthで指定したデータ長の文字列で指定する。図13に示したMPU内のMFUは、移動オブジェクト・リスト記述文書(MOLD)、又は、表示データの画像ファイルのいずれかを伝送する。data_type_byteの文字列が指定するデータのタイプを、以下の表2に示しておく。移動オブジェクト・リスト記述文書であれば「mld」、JPEG形式の表示データであれば「jpg」、PNG形式の表示データであれば「png」を、data_type_byteで指定するようにすればよい。
また、参照番号1102で示した付加情報領域(additional_info_byte)には、データ部に格納するデータに応じた付加情報が記述される。すなわち、移動オブジェクト・リスト記述文書を伝送するMFUであれば、移動オブジェクト・リスト記述文書用の付加情報が記述される。また、それ以外すなわち表示データなど表示オブジェクトの素材(material)を伝送するMFUの場合には、素材に関する付加情報が付加情報領域に記述される。
参照番号1103で示したデータ部(data_byte)には、当該MFUで伝送される汎用データ自体が格納される。先行するパラメーターdata_type_byteで「mld」、すなわち移動オブジェクト・リスト記述文書が指定されている場合には、このデータ部には移動オブジェクト・リスト記述文書のファイルが格納される。また、data_type_byteで「jpg」又は「png」が指定されている場合には、このデータ部にはJPEG形式又はPNG形式の表示データのファイルが格納される。
図16には、移動オブジェクト・リスト記述文書を伝送するMFUにおける付加情報(mold_info)のシンタックス例1600を示している。以下、付加情報(mold_info)の各パラメーターの意味について説明する。
material_locationは、当該(すなわち、データ部に格納される)移動オブジェクト・リスト記述文書から参照される表示データの取得先情報を2ビットで示すフィールドである。material_locationの値が示す意味を、以下の表3に示しておく。表示データを移動オブジェクト・リスト記述文書と同じMPUで伝送する場合には(図13を参照のこと)、material_locationに00を指定する。また、表示データを以前のMPUで伝送した場合には、material_locationに01を指定する。また、表示データをインターネット上で参照する場合には、material_locationに10を指定する。material_locationに01並びに10を指定する場合、移動オブジェクト・リスト記述文書と同じMPU内に表示データをパッケージ化しないので(図15を参照のこと)、伝送帯域が節約される。後述するように、表示データを伝送するMFUは、保持期限を指定することができる。したがって、既に送信済みの表示データが保持期限内であれば、material_locationに01を指定することができる。
estimaled_next_MPU_timeは、(移動オブジェクト・リスト記述文書を伝送する)次のMPUの予測伝送時刻を示す。受信機側では、次のMPUの予測伝送時刻を考慮して、表示オブジェクトの表示位置を内挿する(図13を参照のこと)。
また、図17には、移動オブジェクト・リスト記述文書から参照される素材(表示データ)を伝送するMFUにおける付加情報(material_info)のシンタックス例1700を示している。以下、付加情報(material_info)の各パラメーターの意味について説明する。
material_name_lengthは、後続の素材名記述(material_name_byte)の長さをバイト単位で示す。material_name_byteは、当該MFUのデータ部で伝送される素材を移動オブジェクト・リスト記述文書から参照するときに使用される素材参照名を格納する領域である。
persistent_flagは、当該MFUのデータ部(data_byte)に格納される表示データ(JPEG又はPNG画像ファイル)を、受信機が当該MPUの処理が終了した後も保持すべきか否かを指定するデータ保持フラグである。そして、persistent_flagに1が指定されている場合には、expire_dateフィールドに、当該MFUのデータ部に格納される表示データの保持期限が記述される。
データ保持フラグやデータ保持期限は、汎用データ・ヘッダー部でMFU毎、すなわち表示データ毎に指定することができる。
受信機側では、汎用データ・ヘッダー部のpersistent_flagに1が指定されている表示データを、当該MPUの処理が終了した後も、expire_dateで指定される保持期限に渡って保持(キャッシュ)し続ける。保持されている表示データは、以降のMPUで伝送される移動オブジェクト・リスト記述文書からも参照(すなわち再利用)することができる。要するに、後続のMPUは、移動オブジェクト・リスト記述文書から参照する表示データをパッケージ化して同じMPUで伝送する必要はなくなるので、伝送帯域を節約することができる。
図18には、移動オブジェクト・リスト記述文書のシンタックス例1800を示している。MFUの汎用データ・ヘッダー部内のパラメーターdata_type_byteで「mld」が指定されたときには、そのデータ部には図示のような移動オブジェクト・リスト記述文書が格納される。同図中、先頭に@が付されたパラメーターは属性情報であり、@が付されていないパラメーターは要素を示す。以下、各パラメーターの意味について説明する。
moldは、当該データが移動オブジェクト・リスト記述文書であることを示す。同時に画面に表示するオブジェクト数分だけ、移動オブジェクトmoの情報が当該文書内に配置される。
各移動オブジェクトmoは、オブジェクト・タグで識別される。moTagフィールドには属性値としてのオブジェクト・タグが記述される。
各移動オブジェクトmoの情報として、オブジェクトの位置情報(position)、オブジェクトのサイズ情報(size)、オブジェクトの動きベクトル情報(mv)、オブジェクトの表示データに関する情報(media)、オブジェクト操作時のリンク先情報(link)を含んでいる。
オブジェクトの位置情報(position)は、画面上でのオブジェクトの表示位置(矩形領域であれば、左上隅)の水平座標xと垂直座標yを属性値として含み、それぞれ画素位置を整数値で示す。
オブジェクトのサイズ情報(size)は、画面上に表示するオブジェクトのサイズを示す、矩形領域の幅xと高さyを属性値として含み、それぞれ画素値(整数値)で示す。
オブジェクトの動きベクトル情報(mv)は、オブジェクトの水平方向速度x及び垂直方向速度yからなる速度ベクトルと、角速度情報θ(但し、オブジェクトの移動が弧で表現される曲線運動の場合)を属性値として含み、それぞれを示す整数値が記述される。受信機側では、動きベクトル情報(mv)を、次のMPU(すなわち、次の移動オブジェクト・リスト記述文書)のタイミングまでのオブジェクトの内挿位置を求めるために利用することができる(前述)。
表示データに関する情報(media)は、オブジェクトの表示データのタイプtype(JPEG又はPNG)と、オブジェクトの表示データの取得先情報を示す。表示データの取得先は、同一のMPU内、以前のMPU、又はインターネット上のいずれかに大別され、汎用データ・ヘッダー部の付加情報(mold_info)内のパラメーターmaterial_locationで指定される(前述)。表示データの取得先情報は、material_locationで指定される場所での取得先をurl形式で指定し、url指定される取得先には表示データのタイプで指定される形式の画像ファイルが置かれていることが前提である。なお、表示データの取得先情報に0を指定した場合には、表示データのタイプ領域に、表示データのバイナリー・データを格納するようにしてもよい。
オブジェクト操作時のリンク先情報(link)は、オブジェクトのリンク先情報をurl形式で指定する。映像の視聴者が表示オブジェクトを操作した場合、リンク先情報(link)で指定されるリンク先から情報を取得して表示することができる。
図19には、表示オブジェクトの表示位置を、移動オブジェクト・リスト記述文書で指定される内挿情報に基づいて補間する仕組みを図解している。参照番号1901は、あるタイミングT1で送信された移動オブジェクト・リスト記述文書で指定される表示オブジェクトの表示位置(X1,Y1)を示している。また、参照番号1902は、次のタイミングT2で送信された移動オブジェクト・リスト記述文書で指定される、同じ表示オブジェクトの表示位置(X2,Y2)を示している。参照番号1911~1914は、タイミングの時間間隔を細分化した時刻毎の内挿位置とする。タイミングT1で送信された移動オブジェクト・リスト記述文書では、この表示オブジェクトの内挿情報として、速度ベクトル(x,y)と角速度θが指定されているとする。速度ベクトル(x,y)に基づいて、細分化した時刻毎の内挿位置1911、…を線形補間することが可能であり、さらに角速度θに基づいて内挿位置1911、…を弧の曲線補間することが可能である。
映像に表示オブジェクトをオーバーレイ表示するアプリケーションを実行するアプリケーション・エンジン411は、汎用データ・ストリームで伝送される移動オブジェクト・リスト記述文書を逐次取得するとともに、内挿情報に基づいて補間することで、映像の動きに合わせて滑らかに移動する表示オブジェクトを表示することができる。
図20には、移動オブジェクト・リスト記述文書を汎用データ・ストリームで伝送するシナリオを例示している。同図では、ある放送事業者(放送局)から送信される放送信号を例示しており、横軸を時間軸とする。放送信号は、放送番組を構成するコンポーネントとして、映像アセット2010、音声アセット2020、データ(アプリケーション)・アセット2030、汎用データ・アセット2040を含んでいる。放送信号は、さらに他のアセットを含んでいてもよいが、図面の簡素化のため省略する。
また、放送信号には、MPテーブルなどのシグナリング・テーブル、シグナリング・テーブルのコンテナーとなるシグナリング・メッセージなど、制御情報(MMT-SI)を伝送する制御信号2050を含んでいる。
同図では、データ・アセット2030では、放送番組の映像に対して表示オブジェクトのオーバーレイ表示を行なうデータ放送アプリケーションを伝送し、汎用データ・アセット2040では、表示オブジェクトの制御情報すなわち移動オブジェクト・リスト記述文書を汎用データ・ストリームとして間欠的に伝送することを想定している。また、汎用データ・アセット2040で伝送される各MPUの表示時刻は、MPテーブルのMPUタイムスタンプ記述子で指定される(前述)。
参照番号2041は、移動オブジェクト・リスト記述文書とこれから参照される表示オブジェクトの表示データ(画像ファイル)をパッケージ化したMPUを示している。先頭のMFUのデータ部に移動オブジェクト・リスト記述文書が格納され、2番目以降のMFUには、この移動オブジェクト・リスト記述文書から参照される表示データが1つずつ格納されている(図13を参照のこと)。
また、参照番号2042は、表示データをパッケージ化しないMPUを示している。このMPUは、移動オブジェクト・リスト記述文書を格納する1つのMFUのみを伝送する。この移動オブジェクト・リスト記述文書からは、先行するMPU2041で既に伝送された表示データが参照されている(図15を参照のこと)。但し、参照される表示データは、MFUの汎用データ・ヘッダー部で、persistent_flagによりデータ保持が指定され、且つ、expire_dateで指定されるデータ保持期限が経過していないことが前提である。参照番号2043で示すMPUも、同様に、移動オブジェクト・リスト記述文書のMFUのみを伝送する。複数の移動オブジェクト・リスト記述文書で共通に参照される表示データを、1つの移動オブジェクト・リスト記述文書だけにパッケージ化して伝送するという方法により、伝送情報量を削減(すなわち、伝送帯域を節約)することができる。
参照番号2044は、移動オブジェクト・リスト記述文書とこれから参照される表示オブジェクトの表示データをパッケージ化したMPUを示している。参照番号2041で示したMPUと同様に、先頭のMFUのデータ部に移動オブジェクト・リスト記述文書が格納され、2番目以降のMFUには、この移動オブジェクト・リスト記述文書から参照される表示データが1つずつ格納されている(同上)。
表示データを更新したときは、改めて更新後の表示データとパッケージ化した移動オブジェクト・リスト記述文書を含むMPU2044を伝送すればよい。あるいは、番組の途中でチューニングしてきた受信機でも表示オブジェクトを表示できるようにするために、MPU2041を送信してから一定時間が経過した後に、表示データをパッケージ化したMPU2044を伝送する。
参照番号2051で示すMPテーブル内のMPUタイムスタンプ記述子は、参照番号2041で示したMPUで伝送される移動オブジェクト・リスト記述文書による表示オブジェクトの表示時刻T10を指定している。同様に、参照番号2052で示すMPテーブル内のMPUタイムスタンプ記述子は参照番号2042で示したMPUの表示時刻T20を指定し、参照番号2053で示すMPテーブル内のMPUタイムスタンプ記述子は参照番号2043で示したMPUの表示時刻T30を指定し、参照番号2054で示すMPテーブル内のMPUタイムスタンプ記述子は参照番号2044で示したMPUの表示時刻を指定している。
受信機側では、放送波で伝送されるMPU2041を受信すると、先頭のMFUで伝送される移動オブジェクト・リスト記述文書を解析するとともに、2番目以降のMFUで伝送される表示データを、ヘッダー部で指定されている保持期限だけ保持する。
そして、MPテーブル2051のMPUタイムスタンプ記述子で指定する表示時刻T10が到来すると、受信機は、MPU2041で受信した移動オブジェクト・リスト記述文書の記述内容に従って、参照番号2061で示すように、各表示オブジェクトを放送番組の映像にオーバーレイ表示する。
また、受信機は、次のMPU2042に対して指定された表示時刻T20が到来するまでの間は、時間間隔を細分化した時刻T11において、移動オブジェクト・リスト記述文書で各表示オブジェクトに対して指定された内挿情報(速度ベクトル、角速度)に基づいて内挿位置を求めて、参照番号2062で示すように、各表示オブジェクトの表示を更新する。
その後、MPテーブル2052のMPUタイムスタンプ記述子で指定する表示時刻T20が到来すると、受信機は、MPU2042で受信した移動オブジェクト・リスト記述文書の記述内容に従って、参照番号2063で示すように、先行するMPU2041で伝送した表示データを参照して、各表示オブジェクトを放送番組の映像にオーバーレイ表示する。
図21には、受信機が汎用データ・ストリームを受信する際の処理手順をフローチャートの形式で示している。図示の処理手順は、HTMLブラウザー(アプリケーション・エンジン411)において、受信及びデコードした汎用データを取得する処理に相当する。
受信機は、放送サービスのエントリー・ポイントであるPAメッセージでMPテーブルを受信すると、汎用データ・アセットのMPUタイムスタンプ記述子が存在するかどうかをチェックする(ステップS2101)。
汎用データ・アセットのMPUタイムスタンプ記述子が存在する場合には(ステップS2101のYes)、受信機は、そのMPUタイムスタンプ記述子の情報、すなわちMPUシーケンス番号とその提示時刻を記憶しておく(ステップS2102)。
また、受信機は、汎用データ・アセットのMPUを受信すると(ステップS2103のYes)、そのMPUシーケンス番号を指定するMPUタイムスタンプ記述子の情報とともに汎用データMPUを記憶する(ステップS2104)。
ここで、MPUの先頭のMFU(すなわち、移動オブジェクト・リスト記述文書を伝送するMFU)の汎用データ・ヘッダー部内のmaterial_locationを参照する。そして、material_location=10、すなわち表示データの取得先がインターネット上に指定されている場合には(ステップS2105のYes)、受信機は、そのMFUのデータ部に格納される移動オブジェクト・リスト記述文書で指定されている表示データ取得先のURLに基づいて、各表示オブジェクトの表示データ(画像ファイル)を取得しておく(ステップS2106)。
また、図22には、受信機が汎用データ・ストリームに基づいて映像に同期する表示オブジェクトをオーバーレイ表示するための処理手順をフローチャートの形式で示している。図示の処理手順は、HTMLブラウザー(アプリケーション・エンジン411)において、最新の汎用データに基づいて表示オブジェクトの表示を更新する処理に相当する。
受信機は、映像フレームの表示タイミングが到来する度に(ステップS2201のYes)、記憶したMPUタイムスタンプ記述子で指定されるMPU提示時刻と一致するか否かをチェックする(ステップS2202)。
そして、今回の表示タイミングが、記憶しておいたMPUタイムスタンプ記述子で指定されるMPU提示時刻である場合には(ステップS2202のYes)、受信機は、該当するMPUの先頭のMFUで伝送される移動オブジェクト・リスト記述文書の記述に基づいて、素材データを参照して、表示オブジェクトを映像フレームにオーバーレイ表示する(ステップS2203)。
また、受信機は、この提示時刻のMPUより前に受信したMPUにパッケージ化されていた表示データのうち、データ保持フラグ(persistent_flag)が1に設定されている以外の表示データは削除する(ステップS2204)。
さらに、受信機は、保持している表示データがすべて保持期限内かどうかをチェックする(ステップS2205)。そして、保持期限が経過している表示データがある場合には、削除する(ステップS2206)。
また、今回の表示タイミングが、記憶しておいたMPUタイムスタンプ記述子で指定されるMPU提示時刻でない場合には(ステップS2202のNo)、受信機は、処理対象となっているMPUの移動オブジェクト・リスト記述文書にリストされている表示オブジェクト毎に、動きベクトル(mv)の要素情報(すなわち、速度ベクトル情報並びに角速度情報)に基づいて、現在時刻における内挿位置を補間計算して、オブジェクトの表示を更新する(ステップS2207)。