(57)【要約】【課題】受信可能になるまでのホップ数の期待値を抑えることができる制御メッセージ生成装置を提供すること。【解決手段】第１のパッケージを構成するアセット各々への参照情報を含む第１のテーブルと、第２のパッケージを構成するアセット各々への参照情報を含む第２のテーブルとを生成するテーブル生成部と、第２のテーブルへの参照情報を含むパッケージリストテーブルを生成するパッケージリストテーブル生成部と、第１のテーブルおよびパッケージリストテーブルを含む第１の制御メッセージと、第２のテーブルを含む第２の制御メッセージとを生成する制御メッセージ生成部とを具備することを特徴とする制御メッセージ生成装置である。【選択図】図１
2018201219.tif 000002
【特許請求の範囲】
【請求項１】
第１のパッケージを構成するアセット各々への参照情報を含む第１のテーブルと、第２のパッケージを構成するアセット各々への参照情報を含む第２のテーブルとを生成するテーブル生成部と、
前記第２のテーブルへの参照情報を含むパッケージリストテーブルを生成するパッケージリストテーブル生成部と、
前記第１のテーブルおよび前記パッケージリストテーブルを含む第１の制御メッセージと、前記第２のテーブルを含む第２の制御メッセージとを生成する制御メッセージ生成部と、
を具備し、
前記第２のテーブルへの参照情報は、
前記第２のパッケージを示すパッケージＩＤと、
前記第２のテーブルを含む前記第２の制御メッセージを格納するパケットのパケットＩＤと、
であることを特徴とする制御メッセージ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御メッセージ生成装置、配信システム、受信装置およびそれらのプログラムに関する。
【背景技術】
【０００２】
地上デジタルテレビジョン放送など、現行のデジタルテレビジョン放送では、ＩＳＯ／ＩＥＣ  １３８１８−１として規格化されているＭＰＥＧ（Moving Picture Experts Group）２−ＴＳ（Transport Stream）が用いられている。これらのデジタルテレビジョン放送では、映像や音声のストリームに加えて、ＰＡＴ（Program Association Table）、ＰＭＴ（Program Map Table）と呼ばれるテーブルが、それぞれ周期的に伝送されている（例えば、非特許文献１、２参照）。
【０００３】
ＰＭＴは、番組毎に用意されるテーブルであり、番組を構成する映像ストリームや、音声ストリームへの参照情報であるＰＩＤが格納されている。ＰＡＴは、ＭＰＥＧ２−ＴＳ内に一つだけ用意されるテーブルであり、そのＭＰＥＧ２−ＴＳにより伝送されているＰＭＴ各々への参照情報であるＰＩＤが格納されている。
【０００４】
デジタルテレビジョン放送を受信する受信装置は、ある番組を受信する際には、まず、ＭＰＥＧ２−ＴＳからＰＡＴを取得する。このＰＡＴを参照すると、受信する番組のＰＭＴのＰＩＤが分かるので、受信装置は、受信する番組のＰＭＴを、ＭＰＥＧ２−ＴＳから取得する。そして、このＰＭＴを参照すると、受信する番組の映像や音声のストリームのＰＩＤが分かるので、受信装置は、受信する番組の映像や音声のストリームを、ＭＰＥＧ２−ＴＳから取得し、映像の表示や音声の出力を行う。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】“デジタル放送における映像符号化、音声符号化及び多重化方式”、ＡＲＩＢ  ＳＴＤ−Ｂ３２  ２．８版、社団法人  電波産業会、平成２４年１２月１８日
【非特許文献２】“デジタル放送に使用する番組配列情報”、ＡＲＩＢ  ＳＴＤ−Ｂ１０  ４．８版、社団法人  電波産業会、平成２２年４月２６日
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述のデジタルテレビジョン放送など、ＭＰＥＧ２−ＴＳを用いたシステムにおいては、上述したように、受信装置が、番組を構成する映像や音声のストリームを受信可能になるまでには、ＰＡＴと、ＰＭＴとを取得するという２ホップが常に必要であるという問題がある。２ホップ必要であるため、受信する番組が指定されてから、映像や音声のストリームを受信するまでにかかる時間の期待値は、ＰＡＴが送信されている周期と、ＰＭＴが送信されている周期との和となる。したがって、該時間を短くしようとすると、ＰＡＴおよびＰＭＴの送信周期を短くすることになり、映像や音声の帯域を圧迫してしまう。また、映像や音声の帯域への圧迫を減らそうとすると、ＰＡＴまたはＰＭＴの送信周期を長くすることになり、受信する番組が指定されてから、映像や音声のストリームを受信するまでにかかる時間が長くなってしまう。
【０００７】
本発明は、このような事情に鑑みてなされたもので、受信可能になるまでのホップ数の期待値を抑えることができる制御メッセージ生成装置、配信システム、受信装置およびプログラムを提供する。
【課題を解決するための手段】
【０００８】
（１）この発明は上述した課題を解決するためになされたもので、本発明の一対応は、第１のパッケージを構成するアセット各々への参照情報を含む第１のテーブルと、第２のパッケージを構成するアセット各々への参照情報を含む第２のテーブルとを生成するテーブル生成部と、前記第２のテーブルへの参照情報を含むパッケージリストテーブルを生成するパッケージリストテーブル生成部と、前記第１のテーブルおよび前記パッケージリストテーブルを含む第１の制御メッセージと、前記第２のテーブルを含む第２の制御メッセージとを生成する制御メッセージ生成部とを具備することを特徴とする制御メッセージ生成装置である。
【０００９】
（２）また、本発明の他の態様は、（１）に記載の制御メッセージ生成装置であって、前記第２のテーブルへの参照情報は、前記第２のテーブルを含む前記第２の制御メッセージを格納するパケットのパケットＩＤであることを特徴とする。
【００１０】
（３）また、本発明の他の態様は、第１のパッケージを構成するアセット各々への参照情報を含む第１のテーブルと、第２のパッケージを構成するアセット各々への参照情報を含む第２のテーブルへの参照情報を含むパッケージリストテーブルとを含む第１の制御メッセージと、前記第２のテーブルを含む第２の制御メッセージとを生成する制御メッセージ生成装置と、前記第１の制御メッセージと、前記第２の制御メッセージとを、データフローを用いて配信する配信装置とを具備することを特徴とする配信システムである。
【００１１】
（４）また、本発明の他の態様は、  第１のパッケージを構成するアセット各々への参照情報を含む第１のテーブルと第２のパッケージを構成するアセット各々への参照情報を含む第２のテーブルへの参照情報を含むパッケージリストテーブルとを含む第１の制御メッセージと、前記第２のテーブルを含む第２の制御メッセージとを含むデータフローを受信する受信装置であって、所望のパッケージを指定する情報を取得する指定取得部と、前記データフローを受信する受信部と、前記データフローから前記第１の制御メッセージを分離する分離部と、前記第１の制御メッセージに含まれる前記第１のテーブルを参照して、前記第１のパッケージが前記所望のパッケージと一致しているときは、前記第１のパッケージの分離を前記分離部に指示する制御メッセージ処理部とを具備することを特徴とする受信装置である。
【００１２】
（５）また、本発明の他の態様は、（４）に記載の受信装置であって、前記制御メッセージ処理部は、前記第１の制御メッセージに含まれる前記第１のテーブルを参照して、前記第１のパッケージが前記所望のパッケージと一致していないときは、前記第１の制御メッセージに含まれる前記パッケージリストテーブルを参照して、前記所望のパッケージに対応する前記第２のテーブルへの参照情報を取得し、取得した参照情報を用いて、前記所望のパッケージに対応する前記第２のテーブルを含む前記第２の制御メッセージの分離を前記分離部に指示することを特徴とする。
【００１３】
（６）また、本発明の他の態様は、コンピュータを、第１のパッケージを構成するアセット各々への参照情報を含む第１のテーブルと、第２のパッケージを構成するアセット各々への参照情報を含む第２のテーブルとを生成するテーブル生成部、前記第２のテーブルへの参照情報を含むパッケージリストテーブルを生成するパッケージリストテーブル生成部、前記第１のテーブルおよび前記パッケージリストテーブルを含む第１の制御メッセージと、前記第２のテーブルを含む第２の制御メッセージとを生成する制御メッセージ生成部として機能させるためのプログラムである。
【００１４】
（７）また、本発明の他の態様は、第１のパッケージを構成するアセット各々への参照情報を含む第１のテーブルと第２のパッケージを構成するアセット各々への参照情報を含む第２のテーブルへの参照情報を含むパッケージリストテーブルとを含む第１の制御メッセージと、前記第２のテーブルを含む第２の制御メッセージとを含むデータフローを受信する受信装置のコンピュータを、所望のパッケージを指定する情報を取得する指定取得部、前記データフローを受信する受信部、前記データフローから前記第１の制御メッセージを分離する分離部、前記第１の制御メッセージに含まれる前記第１のテーブルを参照して、前記第１のパッケージが前記所望のパッケージと一致しているときは、前記第１のパッケージの分離を前記分離部に指示する制御メッセージ処理部として機能させるためのプログラムである。
【発明の効果】
【００１５】
この発明によれば、受信可能になるまでのホップ数の期待値を抑えることができる。
【図面の簡単な説明】
【００１６】
【図１】この発明の一実施形態による配信システム１０の構成を示す概略ブロック図である。
【図２】同実施形態における制御メッセージ生成装置１１の構成を示す概略ブロック図である。
【図３】同実施形態における受信装置１７の構成を示す概略ブロック図である。
【図４】同実施形態における配信装置１６が配信するＩＰデータフローの構成を示す概念図である。
【図５】同実施形態におけるＰＡメッセージのデータ構造を示す表である。
【図６】同実施形態におけるＭＰテーブルのデータ構造を示す表（その１）である。
【図７】同実施形態におけるＭＰテーブルのデータ構造を示す表（その２）である。
【図８】同実施形態におけるＭＰテーブルのデータ構造を示す表（その３）である。
【図９】同実施形態における参照情報のデータ構造を示す表（その１）である。
【図１０】同実施形態における参照情報のデータ構造を示す表（その２）である。
【図１１】同実施形態における参照情報のデータ構造を示す表（その３）である。
【図１２】同実施形態におけるパッケージリストテーブルのデータ構造を示す表（その１）である。
【図１３】同実施形態におけるパッケージリストテーブルのデータ構造を示す表（その２）である。
【図１４】同実施形態における指定取得部７２、受信制御部７３、制御メッセージ処理部７４の動作を説明するフローチャートである。
【図１５】同実施形態の変形例１における配信装置１６が配信するＩＰデータフローの構成を示す概念図である。
【図１６】同実施形態の変形例２におけるＭＰテーブルのデータ構造を示す表（その１）である。
【図１７】同実施形態の変形例２におけるＭＰテーブルのデータ構造を示す表（その２）である。
【図１８】同実施形態の変形例２におけるＭＰテーブルのデータ構造を示す表（その３）である。
【図１９】同実施形態の変形例２における参照情報のデータ構造を示す表（その１）である。
【図２０】同実施形態の変形例２における参照情報のデータ構造を示す表（その２）である。
【図２１】同実施形態の変形例２におけるパッケージリストテーブルのデータ構造を示す表（その１）である。
【図２２】同実施形態の変形例２におけるパッケージリストテーブルのデータ構造を示す表（その２）である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して、本発明の実施の形態について説明する。図１は、この発明の一実施形態による配信システム１０の構成を示す概略ブロック図である。配信システム１０は、制御メッセージ生成装置１１、複数の映像送出装置１２、複数の音声送出装置１３、複数のデータ送出装置１４、多重装置１５、配信装置１６、受信装置１７、出力装置１８を含んで構成される。配信システム１０は、ＩＰデータフローを用いて、受信装置１７にコンテンツを配信する。なお、ＩＰデータフローは、例えば、ＵＤＰ／ＩＰを用いたマルチキャストのフローであり、送信元のＩＰアドレスと、宛先のＩＰアドレスと、宛先のポート番号とで決まる。また、ＩＰデータフローは、インターネットなどの双方向の伝送路により伝送されてもよいし、地上デジタル放送や衛星デジタル放送などの片方向の伝送路により伝送されてもよい。
【００１８】
制御メッセージ生成装置１１は、ＭＭＴ（MPEG Media Transport）の制御メッセージ（Signaling Message）を生成し、多重装置１５に入力する。本実施形態において、制御メッセージ生成装置１１が生成する制御メッセージは、ＭＰテーブル（MMT Package table）と、パッケージリストテーブルとを含むＰＡメッセージ（Package Access message）と、ＭＰテーブルのみを含むＰＡメッセージである。ＭＰテーブルは、対象のパッケージのパッケージＩＤと、該パッケージを構成するアセットへの参照情報（MMT_general_location_info）を格納している。パッケージリストテーブルは、当該パッケージリストテーブルを伝送しているデータフローに含まれるパッケージ各々のＭＰテーブルへの参照情報（パケットＩＤなど）を格納している。本実施形態では、パッケージリストテーブルは、当該パッケージリストテーブルとともにＰＡメッセージに含まれているＭＰテーブルへの参照情報を含んでいないが、含んでいてもよい。
【００１９】
ＰＡメッセージは、ＭＭＴにおける制御メッセージ（Signaling Message）の一種である。アセットとは、映像ストリーム、音声ストリーム、データストリーム、ハイパーテキストファイル、画像ファイルなどのメディアである。パッケージは、コンテンツを構成する１つまたは複数のアセットの集合である。例えば、ある映画のパッケージを構成するアセットは、映像ストリームと、音声ストリームと、字幕のデータストリームである。なお、映像ストリームに、モバイル用の低解像度のものと、据え置き型用の高解像度のものとがあるときには、パッケージには、両方が含まれる。なお、パッケージを構成するアセットの一部は、配信装置１６とは異なる装置から、配信装置１６と受信装置１７との間の伝送路とは異なる伝送路を用いて配信されてもよい。なお、ＭＰテーブル、パッケージリストテーブル、ＰＡメッセージの詳細は、後述する。
【００２０】
映像送出装置１２は、コンテンツを構成するアセットのうち、映像のストリームを生成し、多重装置１５に入力する。音声送出装置１３は、コンテンツを構成するアセットのうち、音声のストリームを生成し、多重装置１５に入力する。データ送出装置１４は、コンテンツを構成するアセットの内、データのストリームを生成し、多重装置１５に入力する。データのストリームは、例えば、映像に付随して表示される情報や、映像に重畳する字幕などである。
【００２１】
多重装置１５は、入力された制御メッセージ、映像のストリーム、音声のストリーム、データのストリームを、それぞれＭＭＴパケットに格納し、該ＭＭＴパケットを時系列に並べて多重化する。多重装置１５は、ＭＭＴパケットのパケットＩＤを、格納しているストリームや制御メッセージ毎に予め設定された値とする。特に、多重装置１５は、ＭＭＴパケットのうち、ＭＰテーブルとパッケージリストテーブルとの両方を格納しているＰＡメッセージを格納したもののパケットＩＤを「０」とする。配信装置１６は、多重装置１５が多重化したＭＭＴパケットを、ＩＰパケットに格納してＩＰデータフローを生成し、配信する。
【００２２】
受信装置１７は、配信装置１６が配信したＩＰデータフローを受信する。受信装置１７は、受信したＩＰデータフローに含まれるコンテンツの復号信号を生成し、出力装置１８に入力する。出力装置１８は、例えば、液晶ディスプレイと、スピーカとを備え、入力された復号信号が表す映像を液晶ディスプレイに表示し、該復号信号が表す音声をスピーカから出力する。
【００２３】
図２は、制御メッセージ生成装置１１の構成を示す概略ブロック図である。制御メッセージ生成装置１１は、ＭＰテーブル生成部２１、パッケージリストテーブル生成部２２、ＰＡメッセージ生成部２３を含んで構成される。ＭＰテーブル生成部２１は、配信装置１６が送信するパッケージ各々のＭＰテーブルを生成する。パッケージリストテーブル生成部２２は、ＭＰテーブル生成部２１が生成するＭＰテーブル各々に対応するパッケージＩＤと、該ＭＰテーブルを格納するＭＭＴパケットのパケットＩＤとを含むパッケージリストテーブルを生成する。なお、パッケージリストテーブルは、当該パッケージリストテーブルと同じＰＡメッセージに格納するＭＰテーブルのパッケージＩＤと、パケットＩＤとを含んでいなくてもよい。
【００２４】
ＰＡメッセージ生成部２３（制御メッセージ生成部）は、ＭＰテーブル生成部２１が生成したＭＰテーブルを格納したＰＡメッセージを生成する。ただし、特定のＭＰテーブルを格納したＰＡメッセージには、ＰＡメッセージ生成部２３は、パッケージリストテーブル生成部２２が生成したパッケージリストテーブルも格納する。ＰＡメッセージ生成部２３は、生成したＰＡメッセージを多重装置１５に入力する。
【００２５】
図３は、受信装置１７の構成を示す概略ブロック図である。受信装置１７は、受信部７０、分離部７１、指定取得部７２、受信制御部７３、制御メッセージ処理部７４、映像デコード部７５、音声デコード部７６、データレンダリング部７７、映像合成部７８、音声合成部７９を含んで構成される。
【００２６】
受信部７０は、受信制御決定部７３からの指示に従い、配信装置１６により配信されたＩＰデータフローを受信する。分離部７１は、受信部７０が受信したＩＰデータフローから、パケットＩＤが「０」のＭＭＴパケットに含まれるＰＡメッセージを分離し、制御メッセージ処理部７４に入力する。また、分離部７１は、受信部７０が受信したＩＰデータフローから、制御メッセージ処理部７４に指定された制御メッセージと、映像ストリームと、音声ストリームと、データストリームとを分離する。分離部７１は、分離した制御メッセージを、制御メッセージ処理部７４に入力する。分離部７１は、分離した映像ストリームを、映像デコード部７５に入力し、分離した音声ストリームを、音声デコード部７６に入力する。分離部７１は、分離したデータストリームを、データレンダリング部７７に入力する。
【００２７】
指定取得部７２は、リモートコントローラなどの入力デバイスを用いてユーザが入力した、受信するサービスの指定を取得する。サービスの指定は、例えば、サービスＩＤ（サービス識別子）をユーザが入力することで行われる。受信制御部７３は、指定取得部７２が取得したサービスを伝送しているＩＰデータフローの受信を受信部７０に指示する。また、受信制御部７３は、指定取得部７２が取得したサービスのパッケージＩＤを、制御メッセージ処理部７４に通知する。例えば、パッケージＩＤの下位１６ビットは、サービスＩＤと一致している。
【００２８】
制御メッセージ処理部７４は、分離部７１が分離した制御メッセージから、受信制御部７３から通知されたパッケージＩＤのＭＰテーブルを取得する。制御メッセージ処理部７４は、取得したＭＰテーブルを参照して、再生する映像ストリーム、音声ストリーム、データストリームを決定し、決定したストリームを分離部７１に指定する。受信制御部７３から通知されたパッケージＩＤのＭＰテーブル取得方法の詳細は後述する。
【００２９】
映像デコード部７５は、分離部７１から入力された映像ストリームを復号し、映像信号を生成する。音声デコード部７６は、分離部７１から入力された音声ストリームを復号し、音声信号を生成する。データレンダリング部７７は、分離部７１から入力されたデータストリームをレンダリングして、映像信号と、音声信号とを生成する。また、データレンダリング部７７は、生成した映像信号と、映像デコード部７５が生成した映像信号との合成方法を指定する信号も、データストリームをレンダリングすることで生成する。
【００３０】
例えば、データストリームが字幕のデータストリームであれば、データレンダリング部７７が生成する信号が指定する合成方法は、映像デコード部７５が生成した映像信号が表す映像に、データレンダリング部７７が生成した映像信号が表す字幕を重畳するという方法となる。また、データストリームが、映像デコード部７５が生成した映像信号が表す映像の左外側と、下外側とに情報を表示するものであれば、データレンダリング部７７が生成する信号が指定する合成方法は、映像デコード部７５が生成した映像信号が表す映像を縮小し、該縮小した映像の左外側と下外側とに、データレンダリング部７７が生成した映像信号が表す映像を配置するという方法となる。
【００３１】
映像合成部７８は、映像デコード部７５が生成した映像信号と、データレンダリング部７７が生成した映像信号とを、データレンダリング部７７が生成した合成方法を指定する信号に従い合成して、出力装置１８に表示させる映像の映像信号を生成する。音声合成部７９は、音声デコード部７６が生成した音声信号と、データレンダリング部７７が生成した音声信号とを重畳して、出力装置１８に出力させる音声の音声信号を生成する。
【００３２】
図４は、配信装置１６が配信するＩＰデータフローの構成を示す概念図である。図４に示す例は、複数のパッケージが一つのＩＰデータフローＤＦにより伝送されている。ＩＰデータフローＤＦは、例えば、伝送媒体が放送波であればＴＬＶ（Type Length Value）ストリームにより伝送され、伝送媒体がＬＡＮ（Local Area Network）であればＩＰパケットによって伝送される。
【００３３】
ＩＰデータフローＤＦには、ＰＡメッセージＰＡ１、ＰＡ２、映像ストリームＶ１、Ｖ２、音声ストリームＡ１、Ａ２、データストリームＤ１、Ｄ２が含まれる。これらのうち、映像ストリームＶ１、音声ストリームＡ１、データストリームＤ１で、１つ目のパッケージを構成している。また、映像ストリームＶ２、音声ストリームＡ２、データストリームＤ２で、２つ目のパッケージを構成している。
【００３４】
ＰＡメッセージＰＡ１は、１つ目のパッケージのＭＰテーブルＭＰ１と、パッケージリストテーブルＰＬ１とを格納している。ＭＰテーブルＭＰ１は、１つ目のパッケージのパッケージＩＤと、該パッケージを構成するアセットである映像ストリームＶ１、音声ストリームＡ１、データストリームＤ１の各々を伝送するＭＭＴパケットのパケットＩＤを格納している。
【００３５】
パッケージリストテーブルＰＬ１は、ＩＰデータフローＤＦにて伝送されているパッケージのＭＰテーブル（例えば、ＭＰテーブルＭＰ２）を格納しているＰＡメッセージ（例えば、ＰＡメッセージＰＡ２）各々を伝送するＭＭＴパケットのパケットＩＤを格納している。そして、２つ目以降のパッケージのＭＰテーブル（例えば、ＭＰテーブルＭＰ２）各々は、該パッケージのパッケージＩＤと、該パッケージを構成するアセット（例えば、映像ストリームＶ２、音声ストリームＡ２、データストリームＤ２）各々を伝送するＭＭＴパケットのパケットＩＤを格納している。
【００３６】
なお、ＰＡメッセージＰＡ１は、予め決められたパケットＩＤ（例えば、「０」）のＭＭＴパケットに格納されているので、分離部７１は、参照情報なしに、ＩＰデータフローＤＦから分離することができる。ＩＰデータフローＤＦは、このような構成となっているので、受信装置１７は、１つ目のパッケージを受信する際には、パケットＩＤが「０」のＭＭＴパケットからＰＡメッセージＰＡ１を抽出し、さらに該ＰＡメッセージＰＡ１からＭＰテーブルＭＰ１を抽出することで、１つ目のパッケージの構成を把握し、受信することができる。
【００３７】
また、２つ目のパッケージを受信する際には、受信装置１７は、パケットＩＤが「０」のＭＭＴパケットからＰＡメッセージＰＡ１を抽出し、さらに該ＰＡメッセージＰＡ１からパッケージリストテーブルＰＬ１を抽出することで、該パッケージのＭＰテーブルＭＰ２を格納するＭＭＴパケットのパケットＩＤを得る。受信装置１７は、このパケットＩＤのＭＭＴパケットからＰＡメッセージＰＡ２を抽出し、さらに該ＰＡメッセージＰＡ２からＭＰテーブルＭＰ２を抽出することで、２つ目のパッケージの構成を把握し、受信することができる。３つ目以降のパッケージを受信する際にも、受信装置１７は、２つ目のときと同様にすることで、該パッケージの構成を把握し、受信することができる。
【００３８】
図５は、ＰＡメッセージのデータ構造を示す表である。本実施形態におけるＰＡメッセージのデータ構造は、ＩＳＯ／ＩＥＣ  ２３００８−１に従っている。該表において、Ｎｏ．は、該表における行の通し番号を示す欄である。データ構造は、ＰＡメッセージのデータ構造を示す欄である。ビット数は、該データ構造のビット数を示す欄である。ビット列表記は、該ビット数のデータ構造のデータ形式を示す欄である。ビット列表記のｕｉｍｓｂｆは、unsigned integer most significant bit firstの略であり、符号無し整数、最上位ビットが先頭を意味する。
【００３９】
図５において、Ｎｏ．１の「ＰＡ＿ｍｅｓｓａｇｅ（）｛」は、以降、Ｎｏ．１８の「｝」までが、ＰＡメッセージのデータ構造であることを表す。当該メッセージの先頭に配置されているＮｏ．２の「ｍｅｓｓａｇｅ＿ｉｄ」は、ＰＡメッセージのＩＤ（Identifier）を示す１６ビットの領域である。次に配置されているＮｏ．３の「ｖｅｒｓｉｏｎ」は、ＰＡメッセージのバージョン番号を示す８ビットの領域である。次に配置されているＮｏ．４の「ｌｅｎｇｔｈ」は、当該領域以降のＰＡメッセージのバイト数を示す３２ビットの領域である。次のＮｏ．５の「ｅｘｔｅｎｓｉｏｎ｛」は、以降、Ｎｏ．１２までが制御メッセージに共通のデータ構造に対する、ＰＡメッセージ特有の拡張部分であることを示す。次に配置されているＮｏ．６の「ｎｕｍｂｅｒ＿ｏｆ＿ｔａｂｌｅｓ」は、当該ＰＡメッセージに格納されているテーブルの数Ｎを示す８ビットの領域である。
【００４０】
次のＮｏ．７の「ｆｏｒ（ｉ＝０；ｉ＜Ｎ；ｉ＋＋）｛」は、以降、「｝」であるＮｏ．１１までを、Ｎ回、すなわち格納されているテーブルの数分繰り返すことを示す。次に配置されているＮｏ．８の「ｔａｂｌｅ＿ｉｄ」は、当該ＰＡメッセージに格納されているテーブルのＩＤを示す８ビットの領域である。
【００４１】
次に配置されているＮｏ．９の「ｔａｂｌｅ＿ｖｅｒｓｉｏｎ」は、直前のＮｏ．８のテーブルＩＤが示すテーブルのバージョン番号を示す８ビットの領域である。次に配置されているＮｏ．１０の「ｔａｂｌｅ＿ｌｅｎｇｔｈ」は、直前のＮｏ．８のテーブルＩＤが示すテーブルの長さを示す８ビットの領域である。次のＮｏ．１１の「｝」は、Ｎｏ．７の「｛」に対応し、Ｎｏ．１２の「｝」は、Ｎｏ．５の「｛」に対応する。
【００４２】
次のＮｏ．１３の「ｍｅｓｓａｇｅ＿ｐａｙｌｏａｄ｛」は、以降、Ｎｏ．１７までに、当該ＰＡメッセージのペイロードが格納されることを示す。次のＮｏ．１４の「ｆｏｒ（ｉ＝０；ｉ＜Ｎ１；ｉ＋＋）｛」は、以降、「｝」であるＮｏ．１６までを、Ｎ回、すなわち格納されているテーブルの数分繰り返すことを示す。次のＮｏ．１５の「ｔａｂｌｅ（）」は、テーブルを配置する領域である。なお、テーブルの配置順は、Ｎｏ．８の「ｔａｂｌｅ＿ｉｄ」の配置順と同じである。次のＮｏ．１６の「｝」は、Ｎｏ．１４の「｛」に対応し、Ｎｏ．１７の「｝」は、Ｎｏ．１３の「｛」に対応し、Ｎｏ．１８の「｝」は、Ｎｏ．１の「｛」に対応する。
【００４３】
図６から図８は、ＭＰテーブルのデータ構造を示す表である。本実施形態におけるＭＰテーブルのデータ構造は、ＩＳＯ／ＩＥＣ  ２３００８−１に従っている。該表において、Ｎｏ．は、該表における行の通し番号を示す欄である。データ構造は、ＭＰテーブルのデータ構造を示す欄である。ビット数は、該データ構造のビット数を示す欄である。値は、該ビット数のデータ構造がとる値を示す欄である。ビット列表記は、該ビット数のデータ構造のデータ形式を示す欄である。ビット列表記のｕｉｍｓｂｆは、unsigned integer most significant bit firstの略であり、符号無し整数、最上位ビットが先頭を意味する。また、ビット列表記のｂｓｌｂｆは、bit string left bit firstの略であり、ビット列、左ビットが先頭を意味する。
【００４４】
図６において、Ｎｏ．１の「ＭＰＴ（）｛」は、以降、Ｎｏ．６０の「｝」までが、ＭＰテーブルのデータ構造であることを表す。当該テーブルの先頭に配置されているＮｏ．２の「ｔａｂｌｅ＿ｉｄ」は、ＭＰテーブルのＩＤを示す８ビットの領域である。本実施形態では、ＭＰテーブルのＩＤとして、Ｃｏｍｐｌｅｔｅ  ＭＰＴを表す「０ｘ４０」を用いる。次に配置されているＮｏ．３の「ｖｅｒｓｉｏｎ」は、ＭＰテーブルのバージョン番号を示す８ビットの領域である。次に配置されているＮｏ．４の「ｌｅｎｇｔｈ」は、当該領域以降のＭＰテーブルのバイト数を示す１６ビットの領域である。
【００４５】
次に配置されているＮｏ．５の「ｒｅｓｅｒｖｅｄ」は、６ビットの予約領域である。
次に配置されているＮｏ．６の「ＭＰＴ＿ｍｏｄｅ」は、ＭＰテーブルがサブセットであるときの処理モードを示す２ビットの領域である。ＩＳＯ／ＩＥＣ  ２３００８−１の規定に従うが、詳細な説明は省略する。次のＮｏ．７の「Ｉｆ（ｔａｂｌｅ＿ｉｄ＝＝ＳＵＢＳＥＴ＿０＿ＭＰＴ＿ＴＡＢＬＥ＿ＩＤ）｛」は、Ｎｏ．２の「ｔａｂｌｅ＿ｉｄ」の値が、「ＳＵＢＳＥＴ＿０＿ＭＰＴ＿ＴＡＢＬＥ＿ＩＤ」であるときに、Ｎｏ．２０までの領域が配置されることを示す。
【００４６】
次のＮｏ．８の「ＭＭＴ＿ｐａｃｋａｇｅ＿ｉｄ｛」は、以降、Ｎｏ．１３の「｝」までがパッケージＩＤに関する領域であることを示す。次に配置されているＮｏ．９の「ＭＭＴ＿ｐａｃｋａｇｅ＿ｉｄ＿ｌｅｎｇｔｈ」は、パッケージＩＤのバイト数Ｎ１を示す８ビットの領域である。次のＮｏ．１０の「ｆｏｒ（ｉ＝０；ｉ＜Ｎ１；ｉ＋＋）｛」は、以降、Ｎｏ．１２までの領域をＮ１回、すなわちパッケージＩＤのバイト数分繰り返すことを示す。次に配置されているＮｏ．１１の「ＭＭＴ＿ｐａｃｋａｇｅ＿ｉｄ＿ｂｙｔｅ」は、パッケージＩＤ中の１バイトを示す領域である。次のＮｏ．１２の「｝」は、Ｎｏ．１０の「｛」に対応し、Ｎｏ１３の「｝」は、Ｎｏ．８の「｛」に対応する。
【００４７】
次のＮｏ．１４の「ＭＰＴ＿ｄｅｓｃｒｉｐｔｏｒｓ｛」は、以降、Ｎｏ．１９の「｝」までがＭＰテーブルに関する記述子（ｄｅｓｃｒｉｐｔｏｒ）に関する領域であることを示す。次に配置されているＮｏ．１５の「ＭＰＴ＿ｄｅｓｃｒｉｐｔｏｒｓ＿ｌｅｎｇｔｈ」は、配置されている記述子の長さの合計Ｎ２を示す１６ビットの領域である。次のＮｏ．１６の「ｆｏｒ（ｉ＝０；ｉ＜Ｎ２；ｉ＋＋）｛」は、以降、Ｎｏ．１８までの領域をＮ２回、すなわち記述子の長さの合計分繰り返すことを示す。次に配置されているＮｏ．１７の「ＭＰＴ＿ｄｅｓｃｒｉｐｔｏｒｓ＿ｂｙｔｅ」は、記述子中の１バイトを示す領域である。次のＮｏ．１８の「｝」は、Ｎｏ．１６の「｛」に対応し、Ｎｏ．１９の「｝」は、Ｎｏ．１４の「｛」に対応し、Ｎｏ．２０の「｝」は、Ｎｏ．７の「｛」に対応する。
【００４８】
次に配置されている図７におけるＮｏ．２１の「ｎｕｍｂｅｒ＿ｏｆ＿ａｓｓｅｔｓ」は、当該ＭＰテーブルで情報が提供されているアセットの数を示す８ビットの領域である。次のＮｏ．２２の「ｆｏｒ（ｉ＝０；ｉ＜Ｎ３；ｉ＋＋）｛」は、以降、図８におけるＮｏ．５９までの領域をＮ３回、すなわち当該ＭＰテーブルで情報が提供されているアセットの数分繰り返すことを示す。
【００４９】
次のＮｏ．２３の「ａｓｓｅｔ｛」は、以降、Ｎｏ．２９の「｝」までがアセットＩＤに関する領域であることを示す。次に配置されているＮｏ．２４の「ａｓｓｅｔ＿ｉｄ＿ｌｅｎｇｔｈ」は、配置されているアセットＩＤのバイト数Ｎ４を示す８ビットの領域である。次のＮｏ．２５の「ｆｏｒ（ｉ＝０；ｉ＜Ｎ４；ｉ＋＋）｛」は、以降、Ｎｏ．２７までの領域をＮ４回、すなわちアセットＩＤのバイト数分繰り返すことを示す。次に配置されているＮｏ．２６の「ａｓｓｅｔ＿ｉｄ＿ｂｙｔｅ」は、アセットＩＤ中の１バイトを示す領域である。次のＮｏ．２７の「｝」は、Ｎｏ．２５の「｛」に対応する。
【００５０】
次に配置されているＮｏ．２８の「ｍｉｍｅ＿ｔｙｐｅ」は、アセットＩＤが示されたアセットのＭＩＭＥ（Multipurpose Internet Mail Extension）タイプを示す３２ビットの領域である。次のＮｏ．２９の「｝」は、Ｎｏ．２３の「｛」に対応する。次のＮｏ．３０の「Ｉｆ（ａｓｓｅｔ＿ｓｃｈｅｍｅ＿ｃｏｄｅ＝＝“ＧＵＲＬ”）｛」は、「ａｓｓｅｔ＿ｓｃｈｅｍｅ＿ｃｏｄｅ」の値が「ＧＵＲＬ」であるときに、Ｎｏ．３６までの領域が配置されることを示す。
【００５１】
次に配置されているＮｏ．３１の「ｐａｃｋｅｔ＿ｉｄ」は、ＧＦＤ（Ｇｅｎｅｒａｌ
Ｆｉｌｅ  Ｄｅｌｉｖｅｒｙ）セッションのＩＤを示す３２ビットの領域である。次に配置されているＮｏ．３２の「ｎｕｍｂｅｒ＿ｏｆ＿ｃｏｄｅｐｏｉｎｔｓ」は、当該ＧＦＤセッションのコードポイント（ｃｏｄｅｐｏｉｎｔ）の数Ｎ８を示す８ビットの領域である。次のＮｏ．３３の「ｆｏｒ（ｉ＝０；ｉ＜Ｎ８；ｉ＋＋）｛」は、以降、Ｎｏ．３５までの領域をＮ８回、すなわちコードポイントの数分繰り返すことを示す。次に配置されているＮｏ．３４の「ＣｏｄｅＰｏｉｎｔ（）」は、コードポイントテーブルを示す領域である。次のＮｏ．３５の「｝」は、Ｎｏ．３３の「｛」に対応し、Ｎｏ．３６の「｝」は、Ｎｏ．３０の「｛」に対応する。
【００５２】
次に配置されているＮｏ．３７の「ｒｅｓｅｒｖｅｄ」は、７ビットの予約領域である。次に配置されているＮｏ．３８の「ａｓｓｅｔ＿ｃｌｏｃｋ＿ｒｅｌａｔｉｏｎ＿ｆｌａｇ」は、当該アセットがクロックの参照先として、ＮＴＰ（Network Time Protocol）を用いるか否かを示す１ビットの領域である。次のＮｏ．３９の「ｉｆ（ａｓｓｅｔ＿ｃｌｏｃｋ＿ｒｅｌａｔｉｏｎ＿ｆｌａｇ＝＝１）｛」は、Ｎｏ．３８の「ａｓｓｅｔ＿ｃｌｏｃｋ＿ｒｅｌａｔｉｏｎ＿ｆｌａｇ」の値が「１」であるときに、Ｎｏ．４６までの領域が配置されることを示す。
【００５３】
次に配置されているＮｏ．４０の「ａｓｓｅｔ＿ｃｌｏｃｋ＿ｒｅｌａｔｉｏｎ＿ｉｄ」は、当該アセットが参照するクロックのＩＤを示す８ビットの領域である。次に配置されている図８におけるＮｏ．４１の「ｒｅｓｅｒｖｅｄ」は、７ビットの予約領域である。次に配置されているＮｏ．４２の「ａｓｓｅｔ＿ｔｉｍｅｓｃａｌｅ＿ｆｌａｇ」は、「ａｓｓｅｔ＿ｔｉｍｅｓｃａｌｅ」が配置されているか否かを示すフラグである。
【００５４】
次のＮｏ．４３の「ｉｆ（ａｓｓｅｔ＿ｔｉｍｅｓｃａｌｅ＿ｆｌａｇ＝＝１）｛」は、Ｎｏ．４２の「ａｓｓｅｔ＿ｔｉｍｅｓｃａｌｅ＿ｆｌａｇ」の値が「１」であるときに、Ｎｏ．４５までの領域が配置されることを示す。次に配置されているＮｏ．４４の「ａｓｓｅｔ＿ｔｉｍｅｓｃａｌｅ」は、当該アセットが参照するクロックの周波数を示す３２ビットの領域である。次のＮｏ．４５の「｝」は、Ｎｏ．４３の「｛」に対応し、Ｎｏ．４６の「｝」は、Ｎｏ．３９の「｛」に対応する。
【００５５】
次のＮｏ．４７の「ａｓｓｅｔ＿ｌｏｃａｔｉｏｎ｛」は、以降、Ｎｏ．５２の「｝」までが、当該アセットの参照情報（ロケーション情報ともいう）に関する領域であることを示す。次に配置されているＮｏ．４８の「ｌｏｃａｔｉｏｎ＿ｃｏｕｎｔ」は、当該アセットに関する参照情報の数Ｎ６を示す８ビットの領域である。次のＮｏ．４９の「ｆｏｒ（ｉ＝０；ｉ＜Ｎ６；ｉ＋＋）｛」は、以降、Ｎｏ．５１までの領域をＮ６回、すなわち参照情報の数分繰り返すことを示す。次に配置されているＮｏ．５０の「ＭＭＴ＿ｇｅｎｅｒａｌ＿ｌｏｃａｔｉｏｎ＿ｉｎｆｏ（）」は、当該アセットに関する参照情報（ロケーション情報ともいう）である。詳細は、後述する。次のＮｏ．５１の「｝」は、Ｎｏ．４９の「｛」に対応し、Ｎｏ．５２の「｝」は、Ｎｏ．４７の「｛」に対応する。
【００５６】
次のＮｏ．５３の「ａｓｓｅｔ＿ｄｅｓｃｒｉｐｔｏｒｓ｛」は、以降、Ｎｏ．５８の「｝」までが、当該アセットに関する記述子の領域であることを示す。次に配置されているＮｏ．５４の「ａｓｓｅｔ＿ｄｅｓｃｒｉｐｔｏｒｓ＿ｌｅｎｇｔｈ」は、当該アセットに関する記述子の長さの合計Ｎ５を示す１６ビットの領域である。次のＮｏ．５５の「ｆｏｒ（ｉ＝０；ｉ＜Ｎ５；ｉ＋＋）｛」は、以降、Ｎｏ．５７までの領域をＮ５回、すなわち記述子の長さの合計分繰り返すことを示す。次に配置されているＮｏ．５６の「ａｓｓｅｔ＿ｄｅｓｃｒｉｐｔｏｒｓ＿ｂｙｔｅ」は、記述子中の１バイトを示す領域である。次のＮｏ．５７の「｝」は、Ｎｏ．５５の「｛」に対応し、Ｎｏ．５８の「｝」は、Ｎｏ．５３の「｛」に対応し、Ｎｏ．５９の「｝」は、Ｎｏ．２２の「｛」に対応し、Ｎｏ．６０の「｝」は、Ｎｏ．１の「｛」に対応する。
【００５７】
図９から図１１は、参照情報のデータ構造を示す表である。本実施形態における参照情報（ｇｅｎｅｒａｌ＿ｌｏｃａｔｉｏｎ＿ｉｎｆｏ）のデータ構造は、ＩＳＯ／ＩＥＣ  
２３００８−１に従っている。該表において、Ｎｏ．は、該表における行の通し番号を示す欄である。データ構造は、参照情報のデータ構造を示す欄である。ビット数は、該データ構造のビット数を示す欄である。値は、該ビット数のデータ構造がとる値を示す欄である。ビット列表記は、該ビット数のデータ構造のデータ形式を示す欄である。ビット列表記のｕｉｍｓｂｆは、unsigned integer most significant bit firstの略であり、符号無し整数、最上位ビットが先頭を意味する。また、ビット列表記のｂｓｌｂｆは、bit string left bit firstの略であり、ビット列、左ビットが先頭を意味する。また、ビット列表記のｃｈａｒは、文字を意味する。
【００５８】
図９において、Ｎｏ．１の「ＭＭＴ＿ｇｅｎｅｒａｌ＿ｌｏｃａｔｉｏｎ＿ｉｎｆｏ（）｛」は、以降、図１１のＮｏ．６３の「｝」までが、参照情報のデータ構造であることを表す。次に配置されているＮｏ．２の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」は、参照情報のタイプを示す８ビットの領域である。なお、「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」が「０ｘ００」であるときは、ロケーション（データパス）が、この「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」を伝送しているＩＰデータフローと同一のＩＰデータフローであることを示す。なお、０ｘは、以降の文字列が１６進数であることを示す。
【００５９】
「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」が「０ｘ０１」であるときは、ロケーションが、ＵＤＰ／ＩＰ（バージョン４）であることを示す。「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」が「０ｘ０２」であるときは、ロケーションが、ＵＤＰ／ＩＰ（バージョン６）であることを示す。「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」が「０ｘ０３」であるときは、ロケーションが、ブロードキャストネットワークで配信されているＭＰＥＧ−２ＴＳであることを示す。「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」が「０ｘ０４」であるときは、ロケーションが、ＩＰブロードキャストネットワークで配信されているＭＰＥＧ−２ＴＳ内のエレメンタリーストリームであることを示す。
【００６０】
「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」が「０ｘ０５」であるときは、ロケーションが、ＵＲＬ（Uniform Resource Locator）であることを示す。「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」が「０ｘ０６」であるときは、ロケーションが、ＵＲＬで指定されたファイル中の連続した領域であることを示す。「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」が「０ｘ０７」であるときは、ロケーションが、この「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」を伝送している制御メッセージ内であることを示す。「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」が「０ｘ０８」であるときは、ロケーションが、この「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」を伝送しているデータパスにより伝送されている制御メッセージであることを示す。
【００６１】
「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」が「０ｘ０９」であるときは、この「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」を伝送しているＵＤＰ／ＩＰのデータフローにより伝送されている制御メッセージであることを示す。「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」が「０ｘ０Ａ」であるときは、ＵＤＰ／ＩＰ（バージョン４）のデータフローにより伝送されている制御メッセージであることを示す。「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」が「０ｘ０Ｂ」であるときは、ＵＤＰ／ＩＰ（バージョン６）のデータフローにより伝送されている制御メッセージであることを示す。「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」が「０ｘ０Ｃ」であるときは、ＩＰ（バージョン６）のブロードキャストネットワークで配信されているＭＰＥＧ２−ＴＳ内のエレメンタリーストリームであることを示す。
【００６２】
次のＮｏ．３の「ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ００）｛」は、Ｎｏ．２の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ００」であるときに、Ｎｏ．４の領域が配置されることを示す。次に配置されているＮｏ．４の「ｐａｃｋｅｔ＿ｉｄ」は、ＭＭＴパケットのパケットＩＤを示す１６ビットの領域である。
【００６３】
次のＮｏ．５の「｝ｅｌｓｅ  ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ０１）｛」は、Ｎｏ．２の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ０１」であるときに、Ｎｏ．９までの領域が配置されることを示す。次に配置されているＮｏ．６の「ｉｐｖ４＿ｓｒｃ＿ａｄｄｒ」は、送信元のＩＰｖ４のアドレスを示す３２ビットの領域である。次に配置されているＮｏ．７の「ｉｐｖ４＿ｄｓｔ＿ａｄｄｒ」は、宛先のＩＰｖ４のアドレスを示す３２ビットの領域である。次に配置されているＮｏ．８の「ｄｓｔ＿ｐｏｒｔ」は、宛先のポート番号を示す１６ビットの領域である。次に配置されているＮｏ．９の「ｐａｃｋｅｔ＿ｉｄ」は、ＭＭＴパケットのパケットＩＤを示す１６ビットの領域である。
【００６４】
次のＮｏ．１０の「｝ｅｌｓｅ  ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ０２）｛」は、Ｎｏ．２の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ０２」であるときに、Ｎｏ．１４までの領域が配置されることを示す。次に配置されているＮｏ．１１の「ｉｐｖ６＿ｓｒｃ＿ａｄｄｒ」は、送信元のＩＰｖ６のアドレスを示す１２８ビットの領域である。次に配置されているＮｏ．１２の「ｉｐｖ６＿ｄｓｔ＿ａｄｄｒ」は、宛先のＩＰｖ６のアドレスを示す１２８ビットの領域である。次に配置されているＮｏ．１３の「ｄｓｔ＿ｐｏｒｔ」は、宛先のポート番号を示す１６ビットの領域である。次に配置されているＮｏ．１４の「ｐａｃｋｅｔ＿ｉｄ」は、ＭＭＴパケットのパケットＩＤを示す１６ビットの領域である。
【００６５】
次のＮｏ．１５の「｝ｅｌｓｅ  ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ０３）｛」は、Ｎｏ．２の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ０３」であるときに、Ｎｏ．１９までの領域が配置されることを示す。次に配置されているＮｏ．１６の「ｎｅｔｗｏｒｋ＿ｉｄ」は、ＭＰＥＧ２−ＴＳを伝送しているブロードキャストネットワークのＩＤを示す１６ビットの領域である。次に配置されているＮｏ．１７の「ＭＰＥＧ＿２＿ｔｒａｎｓｐｏｒｔ＿ｓｔｒｅａｍ＿ｉｄ」は、ＭＰＥＧ２−ＴＳのＩＤである。次に配置されているＮｏ．１８の「ｒｅｓｅｒｖｅｄ」は、３ビットの予約領域である。次に配置されているＮｏ．１９の「ＭＰＥＧ＿２＿ＰＩＤ」は、エレメンタリーストリームを伝送しているＭＰＥＧ２−ＴＳパケットのＰＩＤである。
【００６６】
次のＮｏ．２０の「｝ｅｌｓｅ  ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ０４）｛」は、Ｎｏ．２の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ０４」であるときに、図１０におけるＮｏ．２５までの領域が配置されることを示す。次に配置されているＮｏ．２１の「ｉｐｖ６＿ｓｒｃ＿ａｄｄｒ」は、送信元のＩＰｖ６のアドレスを示す１２８ビットの領域である。次に配置されているＮｏ．２２の「ｉｐｖ６＿ｄｓｔ＿ａｄｄｒ」は、宛先のＩＰｖ６のアドレスを示す１２８ビットの領域である。次に配置されているＮｏ．２３の「ｄｓｔ＿ｐｏｒｔ」は、宛先のポート番号を示す１６ビットの領域である。次に配置されている図１０のおけるＮｏ．２４の「ｒｅｓｅｒｖｅｄ」は、３ビットの予約領域である。次に配置されているＮｏ．２５の「ＭＰＥＧ＿２＿ＰＩＤ」は、エレメンタリーストリームを伝送しているＭＰＥＧ２−ＴＳパケットのＰＩＤである。
【００６７】
次のＮｏ．２６の「｝ｅｌｓｅ  ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ０５）｛」は、Ｎｏ．２の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ０５」であるときに、Ｎｏ．３０までの領域が配置されることを示す。次に配置されているＮｏ．２７の「ＵＲＬ＿ｌｅｎｇｔｈ」は、ＵＲＬのバイト数Ｎ１を示す８ビットの領域である。次のＮｏ．２８の「ｆｏｒ（ｉ＝０；ｉ＜Ｎ１；ｉ＋＋）｛」は、以降、Ｎｏ．３０までの領域をＮ１回、すなわちＵＲＬのバイト数分繰り返すことを示す。次に配置されているＮｏ．２９の「ＵＲＬ＿ｂｙｔｅ」は、ＵＲＬ中の１バイトを示す領域である。次のＮｏ．３０の「｝」は、Ｎｏ．２８の「｛」に対応する。
【００６８】
次のＮｏ．３１の「｝ｅｌｓｅ  ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ０６）｛」は、Ｎｏ．２の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ０６」であるときに、Ｎｏ．３７までの領域が配置されることを示す。次に配置されているＮｏ．３２の「ＵＲＬ＿ｌｅｎｇｔｈ」は、ＵＲＬのバイト数Ｎ２を示す８ビットの領域である。次のＮｏ．３３の「ｆｏｒ（ｉ＝０；ｉ＜Ｎ２；ｉ＋＋）｛」は、以降、Ｎｏ．３５までの領域をＮ２回、すなわちＵＲＬのバイト数分繰り返すことを示す。次に配置されているＮｏ．３４の「ＵＲＬ＿ｂｙｔｅ」は、ＵＲＬ中の１バイトを示す領域である。次のＮｏ．３５の「｝」は、Ｎｏ．３３の「｛」に対応する。次に配置されているＮｏ．３６の「ｂｙｔｅ＿ｏｆｆｓｅｔ」は、ＵＲＬで示されるファイルの先頭からのオフセット位置を示す１６ビットの領域である。次に配置されているＮｏ．３７の「ｌｅｎｇｔｈ」は、オフセット位置からのバイト数を示す１６ビットの領域である。
【００６９】
次のＮｏ．３８の「｝ｅｌｓｅ  ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ０７）｛」は、Ｎｏ．２の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ０７」であるときに、何も配置されないことを示す。
【００７０】
次のＮｏ．３９の「｝ｅｌｓｅ  ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ０８）｛」は、Ｎｏ．２の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ０８」であるときに、Ｎｏ．４０の領域が配置されることを示す。次に配置されているＮｏ．４０の「ｍｅｓｓａｇｅ＿ｉｄ」は、制御メッセージのＩＤを示す８ビットの領域である。
【００７１】
次のＮｏ．４１の「｝ｅｌｓｅ  ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ０９）｛」は、Ｎｏ．２の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ０９」であるときに、Ｎｏ．４３までの領域が配置されることを示す。次に配置されているＮｏ．４２の「ｐａｃｋｅｔ＿ｉｄ」は、ＭＭＴパケットのパケットＩＤを示す１６ビットの領域である。次に配置されているＮｏ．４３の「ｍｅｓｓａｇｅ＿ｉｄ」は、制御メッセージのＩＤを示す８ビットの領域である。
【００７２】
次のＮｏ．４４の「｝ｅｌｓｅ  ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ０Ａ）｛」は、Ｎｏ．２の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ０Ａ」であるときに、図１１におけるＮｏ．４９までの領域が配置されることを示す。次に配置されているＮｏ．４５の「ｉｐｖ４＿ｓｒｃ＿ａｄｄｒ」は、送信元のＩＰｖ４のアドレスを示す３２ビットの領域である。次に配置されているＮｏ．４６の「ｉｐｖ４＿ｄｓｔ＿ａｄｄｒ」は、宛先のＩＰｖ４のアドレスを示す３２ビットの領域である。次に配置されている図１１におけるＮｏ．４７の「ｄｓｔ＿ｐｏｒｔ」は、宛先のポート番号を示す１６ビットの領域である。次に配置されているＮｏ．４８の「ｐａｃｋｅｔ＿ｉｄ」は、ＭＭＴパケットのパケットＩＤを示す１６ビットの領域である。次に配置されているＮｏ．４９の「ｍｅｓｓａｇｅ＿ｉｄ」は、制御メッセージのＩＤを示す８ビットの領域である。
【００７３】
次のＮｏ．５０の「｝ｅｌｓｅ  ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ０Ｂ）｛」は、Ｎｏ．２の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ０Ｂ」であるときに、Ｎｏ．５５までの領域が配置されることを示す。次に配置されているＮｏ．５１の「ｉｐｖ６＿ｓｒｃ＿ａｄｄｒ」は、送信元のＩＰｖ６のアドレスを示す１２８ビットの領域である。次に配置されているＮｏ．５２の「ｉｐｖ６＿ｄｓｔ＿ａｄｄｒ」は、宛先のＩＰｖ６のアドレスを示す１２８ビットの領域である。次に配置されているＮｏ．５３の「ｄｓｔ＿ｐｏｒｔ」は、宛先のポート番号を示す１６ビットの領域である。次に配置されているＮｏ．５４の「ｐａｃｋｅｔ＿ｉｄ」は、ＭＭＴパケットのパケットＩＤを示す１６ビットの領域である。次に配置されているＮｏ．５５の「ｍｅｓｓａｇｅ＿ｉｄ」は、制御メッセージのＩＤを示す８ビットの領域である。
【００７４】
次のＮｏ．５６の「｝ｅｌｓｅ  ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ０Ｃ）｛」は、Ｎｏ．２の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ０Ｃ」であるときに、Ｎｏ．６２までの領域が配置されることを示す。次に配置されているＮｏ．５７の「ｉｐｖ４＿ｓｒｃ＿ａｄｄｒ」は、送信元のＩＰｖ４のアドレスを示す３２ビットの領域である。次に配置されているＮｏ．５８の「ｉｐｖ４＿ｄｓｔ＿ａｄｄｒ」は、宛先のＩＰｖ４のアドレスを示す３２ビットの領域である。次に配置されているＮｏ．５８の「ｄｓｔ＿ｐｏｒｔ」は、宛先のポート番号を示す１６ビットの領域である。次に配置されているＮｏ．６０の「ｒｅｓｅｒｖｅｄ」は、３ビットの予約領域である。次に配置されているＮｏ．６１の「ＭＰＥＧ＿２＿ＰＩＤ」は、エレメンタリーストリームを伝送しているＭＰＥＧ２−ＴＳパケットのＰＩＤである。次のＮｏ．６２の「｝」は、Ｎｏ．５６の「｛」に対応する。次のＮｏ．６３の「｝」は、Ｎｏ．１の「｛」に対応する。
【００７５】
図１２、図１３は、パッケージリストテーブルのデータ構造を示す表である。該表において、Ｎｏ．は、該表における行の通し番号を示す欄である。データ構造は、パッケージリストテーブルのデータ構造を示す欄である。ビット数は、該データ構造のビット数を示す欄である。値は、該ビット数のデータ構造がとる値を示す欄である。ビット列表記は、該ビット数のデータ構造のデータ形式を示す欄である。ビット列表記のｕｉｍｓｂｆは、unsigned integer most significant bit firstの略であり、符号無し整数、最上位ビットが先頭を意味する。また、ビット列表記のｃｈａｒは、文字を意味する。
【００７６】
図１２において、Ｎｏ．１の「Ｐａｃｋａｇｅ＿Ｌｉｓｔ＿Ｔａｂｌｅ（）｛」は、以降、図１３におけるＮｏ．３０の「｝」までが、パッケージリストテーブルのデータ構造であることを表す。当該テーブルの先頭に配置されているＮｏ．２の「ｔａｂｌｅ＿ｉｄ」は、パッケージリストテーブルのＩＤを示す８ビットの領域である。次に配置されているＮｏ．３の「ｖｅｒｓｉｏｎ」は、パッケージリストテーブルのバージョン番号を示す８ビットの領域である。次に配置されているＮｏ．４の「ｌｅｎｇｔｈ」は、当該領域以降のパッケージリストテーブルのバイト数を示す１６ビットの領域である。
【００７７】
次に配置されているＮｏ．５の「ｎｕｍ＿ｏｆ＿ｐａｃｋａｇｅ」は、当該パッケージリストテーブルに参照情報を記載するパッケージの数Ｎ２を示す８ビットの領域である。
次のＮｏ．６の「ｆｏｒ（ｉ＝０；ｉ＜Ｎ２；ｉ＋＋）｛」は、以降、Ｎｏ．９までの領域をＮ２回、すなわち参照情報を記載するパッケージの数分繰り返すことを示す。次に配置されているＮｏ．７の「ｐａｃｋａｇｅ＿ｉｄ」は、ＭＰテーブルへの参照情報を記載するパッケージのパッケージＩＤを示す１６ビットの領域である。なお、このＮｏ．７の「ｐａｃｋａｇｅ＿ｉｄ」に変えて、図６のＮｏ．９からＮｏ．１２と同様の領域を配置して、任意長のパッケージＩＤを記載できるようにしてもよい。次に配置されているＮｏ．８の「ＭＭＴ＿ｇｅｎｅｒａｌ＿ｌｏｃａｔｉｏｎ＿ｉｎｆｏ（）」は、ＭＰテーブルへの参照情報であり、図９から図１１にて示した参照情報を示す領域である。パッケージリストテーブルは、これら、Ｎｏ．７とＮｏ．８とにより、パッケージＩＤとＭＰテーブルへの参照情報（パケットＩＤ）とを対応付けている。次のＮｏ．９の「｝」は、Ｎｏ．６の「｛」に対応する。
【００７８】
次に配置されているＮｏ．１０の「ｎｕｍ＿ｏｆ＿ｉｐ＿ｄｅｌｉｖｅｒｙ」は、この参照情報を記載するＩＰサービスの数Ｎ３を示す８ビットの領域である。次のＮｏ．１１の「ｆｏｒ（ｉ＝０；ｉ＜Ｎ３；ｉ＋＋）｛」は、以降、図１３におけるＮｏ．２９までの領域をＮ３回、すなわち参照情報を記載するＩＰサービスの数分繰り返すことを示す。
次に配置されているＮｏ．１２の「ｔｒａｎｓｐｏｒｔ＿ｆｉｌｅ＿ｉｄ」は、ＩＰサービスで伝送するファイルを一意に識別するためのラベルを示す３２ビットの領域である。
次に配置されているＮｏ．１３の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」は、参照情報のタイプを示す８ビットの領域である。「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」が「０ｘ０１」であるときは、ＩＰｖ４のデータフローであることを示す。「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」が「０ｘ０２」であるときは、ロケーションが、ＵＤＰ／ＩＰ（バージョン６）であることを示す。
【００７９】
次のＮｏ．１４の「ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ０１）｛」は、Ｎｏ．１３の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ０１」であるときに、Ｎｏ．１７までの領域が配置されることを示す。次に配置されているＮｏ．１５の「ｉｐｖ４＿ｓｒｃ＿ａｄｄｒ」は、送信元のＩＰｖ４のアドレスを示す３２ビットの領域である。次に配置されているＮｏ．１６の「ｉｐｖ４＿ｄｓｔ＿ａｄｄｒ」は、宛先のＩＰｖ４のアドレスを示す３２ビットの領域である。次に配置されているＮｏ．１７の「ｄｓｔ＿ｐｏｒｔ」は、宛先のポート番号を示す１６ビットの領域である。
【００８０】
次のＮｏ．１８の「ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ０２）｛」は、Ｎｏ．１３の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ０２」であるときに、Ｎｏ．２１までの領域が配置されることを示す。次に配置されているＮｏ．１９の「ｉｐｖ６＿ｓｒｃ＿ａｄｄｒ」は、送信元のＩＰｖ６のアドレスを示す１２８ビットの領域である。次に配置されているＮｏ．２０の「ｉｐｖ６＿ｄｓｔ＿ａｄｄｒ」は、宛先のＩＰｖ６のアドレスを示す１２８ビットの領域である。次に配置されているＮｏ．２１の「ｄｓｔ＿ｐｏｒｔ」は、宛先のポート番号を示す１６ビットの領域である。
【００８１】
次の図１３におけるＮｏ．２２の「ｉｆ（ｌｏｃａｔｉｏｎ＿ｔｙｐｅ＝＝０ｘ０５）｛」は、図１２におけるＮｏ．１３の「ｌｏｃａｔｉｏｎ＿ｔｙｐｅ」の値が「０ｘ０５」であるときに、Ｎｏ．２７までの領域が配置されることを示す。次に配置されているＮｏ．２３の「ＵＲＬ＿ｌｅｎｇｔｈ」は、ＵＲＬのバイト数Ｎ１を示す８ビットの領域である。次のＮｏ．２４の「ｆｏｒ（ｉ＝０；ｉ＜Ｎ１；ｉ＋＋）｛」は、以降、Ｎｏ．２６までの領域をＮ１回、すなわちＵＲＬのバイト数分繰り返すことを示す。次に配置されているＮｏ．２５の「ＵＲＬ＿ｂｙｔｅ」は、ＵＲＬ中の１バイトを示す領域である。次のＮｏ．２６の「｝」は、Ｎｏ．２４の「｛」に対応し、次のＮｏ．２７の「｝」は、Ｎｏ．２２の「｛」に対応する。
【００８２】
次に配置されているＮｏ．２８の「ｄｅｓｃｒｉｐｔｏｒｓ（）」は、ＩＰサービスに関する記述子を示す領域である。次のＮｏ．２９の「｝」は、図１２におけるＮｏ．１１の「｛」に対応し、次のＮｏ．３０の「｝」は、図１２におけるＮｏ．１の「｛」に対応する。
【００８３】
図１４は、指定取得部７２、受信制御部７３、制御メッセージ処理部７４の動作を説明するフローチャートである。まず、指定取得部７２は、所望のサービスの指定を取得する（Ｓａ１）。次に、受信制御部７３は、該所望のサービスを伝送しているＩＰデータフローの受信を、受信部７０に指示する（Ｓａ２）。なお、サービスと、ＩＰデータフローとの対応は、受信制御部７３が予め記憶していてもよいし、ＡＭＴ（Ａｄｄｒｅｓｓ  Ｍａｐ  Ｔａｂｌｅ）など、該対応を示す情報がサービス提供側から配信されてもよい（非特許文献１、２参照）。
【００８４】
受信部７０が、指示に従いＩＰデータフローを受信すると、分離部７１は、該ＩＰデータフローからパケットＩＤが「０」のＭＭＴパケットに格納されているＰＡメッセージを分離する。制御メッセージ処理部７４は、分離部７１が分離した該ＰＡメッセージを取得する（Ｓａ３）。次に、制御メッセージ処理部７４は、取得したＰＡメッセージ内のＭＰテーブルを取得し（Ｓａ４）、該ＭＰＴテーブルのパッケージＩＤが、ステップＳａ１にて指定取得部７２が取得した所望のサービスのパッケージＩＤと一致しているか否かを判定する（Ｓａ５）。
【００８５】
なお、制御メッセージ処理部７４は、例えば、サービスと、パッケージＩＤとの対応付けを予め記憶しておき、該対応付けを参照することで、所望のサービスのパッケージＩＤを取得してもよい。あるいは、サービスとパッケージＩＤとの対応付けを示す情報がサービス提供側から配信されており、制御メッセージ処理部７４は、該情報を参照することで、所望のサービスのパッケージＩＤを取得してもよい。
【００８６】
ステップＳａ５にて一致していないと判定したときは（Ｓａ５−Ｎｏ）、ステップＳａ１１に進む。制御メッセージ処理部７４は、ステップＳａ３にて取得したＰＡメッセージ内のパッケージリストテーブルを取得する（Ｓａ１１）。次に、制御メッセージ処理部７４は、取得したパッケージリストテーブルを参照して、所望のサービスのパッケージＩＤと対応付けられたパケットＩＤを取得する（Ｓａ１２）。
【００８７】
制御メッセージ処理部７４は、取得したパケットＩＤのＰＡメッセージの分離を分離部７４に指示する。分離部７４は、指示されたパケットＩＤのＰＡメッセージを、受信部７０が受信しているＩＰデータフローから分離する。制御メッセージ処理部７４は、分離されたＰＡメッセージを取得する。すなわち、制御メッセージ処理部７４は、ステップＳａ１２にて取得したパケットＩＤのＰＡメッセージを取得する（Ｓａ１３）。
【００８８】
次に、制御メッセージ処理部７４は、取得したＰＡメッセージ内のＭＰテーブルを取得し（Ｓａ１４）、ステップＳａ６に進む。一方、ステップＳａ５にて一致していると判定したときは（Ｓａ５−Ｙｅｓ）、そのままステップＳａ６に進む。
【００８９】
ステップＳａ６では、制御メッセージ処理部７４は、取得したＭＰテーブルに記載されたアセットの分離を分離部７１に指示する。分離部７１は、該指示にしたがい、分離したアセットのうち、映像ストリームは、映像デコード部７５に入力し、音声ストリームは、音声デコード部７６に入力し、データストリームは、データレンダリング部７７に入力する。これにより、出力装置１８が、該パッケージの映像の表示や、音声の出力を行うようになる。
【００９０】
所望のサービスのＭＰテーブルは、受信しているＩＰデータフローにより繰り返し伝送されてくるので、制御メッセージ処理部７４は、該ＭＰテーブルを監視する（Ｓａ７）。
制御メッセージ処理部７４は、伝送されてきたＭＰテーブルに、以前のものからの変更があるか否かを判定する（Ｓａ８）。変更があると判定したときは（Ｓａ８−Ｙｅｓ）、制御メッセージ処理部７４は、ＭＰテーブルを再取得し（Ｓａ９）、ステップＳａ６に戻る。
【００９１】
ステップＳａ８にて、変更がないと判定したときは（Ｓａ８−Ｎｏ）、指定取得部７２が、所望のサービスが変更されたか否かを判定する（Ｓａ１０）。所望のサービスが変更されていないときは（Ｓａ１０−Ｎｏ）、ステップＳａ７に戻る。また、所望のサービスが変更されているときは、ステップＳａ１に戻る。
【００９２】
このように、配信システム１０は、制御メッセージ生成装置１１と、配信装置１６と、受信装置１７とを有する。制御メッセージ生成装置１１は、第１のパッケージを構成するアセット各々への参照情報を含む第１のＭＰテーブル（第１のテーブル）と、第２のＭＰテーブル（第２のテーブル）への参照情報を含むパッケージリストテーブルとを含む第１のＰＡメッセージ（第１の制御メッセージ）を生成する。また、制御メッセージ生成装置１１は、第２のＭＰテーブルを含む第２のＰＡメッセージ（第２の制御メッセージ）を生成する。配信装置１６は、制御メッセージ生成装置１１が生成した第１および第２のＰＡメッセージを、ＩＰデータフロー（データフロー）を用いて配信する。受信装置１７は、該データフローを受信する。
【００９３】
これにより、配信システム１０は、受信装置１７が、第１のパッケージについては、第１の制御メッセージのみを取得すれば、すなわち、１ホップで受信可能となるようにすることができる。また、第２のパッケージについては、第１の制御メッセージと、第２の制御メッセージとを取得すれば、すなわち、２ホップで受信可能となるようにすることができる。したがって、パッケージを受信可能になるまでのホップ数の期待値を抑えることが出来る。
【００９４】
また、受信装置１７は、指定取得部７２と、受信部７０と、分離部７１と、制御メッセージ処理部７４とを具備する。指定取得部７２は、所望のパッケージを指定する情報を取得する。受信部７０は、ＩＰデータフローを受信する。分離部７１は、ＩＰデータフローから第１のＰＡメッセージを分離する。制御メッセージ処理部７４は、第１のＰＡメッセージに含まれる第１のＭＰテーブルを参照して、第１のパッケージが所望のパッケージと一致しているときは、第１のＭＰパッケージの分離を分離部７１に指示する。
これにより、受信装置１７は、第１のパッケージを１ホップで受信することができる。
【００９５】
また、制御メッセージ処理部７４は、第１のＰＡメッセージに含まれる第１のＭＰテーブルを参照して、第１のパッケージが所望のパッケージと一致していないときは、第１のＰＡメッセージに含まれるパッケージリストテーブルを参照して、所望のパッケージに対応する第２のＭＰテーブルへの参照情報を取得し、取得した参照情報を用いて、所望のパッケージに対応する第２のＭＰテーブルを含む第２のＰＡメッセージの分離を分離部７１に指示する。
これにより、受信装置１７は、第２のパッケージを２ホップで受信することができる。
【００９６】
なお、上述の実施形態において、ＩＰデータフロー中に、同時に含まれるパッケージが一つのときは、パケットＩＤが「０」のＰＡメッセージに、パッケージリストテーブルを含めなくてもよいし、ＩＰデータフロー中に含まれる一つのパッケージに関する情報のみを含むパッケージリストテーブルを含めてもよいし、「ｎｕｍ＿ｏｆ＿ｐａｃｋａｇｅ」の値を「０」にし、パッケージに関する参照情報を含まないパッケージリストテーブルを生成するようにしてもよい。
【００９７】
また、上述の実施形態において、ＭＰテーブルと、パッケージリストテーブルとは、ＰＡメッセージに格納されるとして説明したが、その他の制御メッセージに格納されてもよい。ただし、ＭＰテーブルとともに、パッケージリストテーブルを格納する制御メッセージは、パケットＩＤが「０」のＰＡメッセージであることが望ましい。パケットＩＤが「０」のＰＡメッセージは、受信装置１７が最初に取得する制御メッセージとするからである。
【００９８】
［実施形態の変形例１］
上述の実施形態では、制御メッセージ生成装置１１は、パッケージリストテーブルを、パケットＩＤが「０」のＰＡメッセージにのみ格納しているが、その他のＰＡメッセージにも格納するようにしてもよい。図１５は、変形例１におけるＩＰデータフローの構成を示す概念図である。同図において、図４の各部に対応する部分には、同一の符号を付し、説明を省略する。
【００９９】
ＩＰデータフローＤＦａには、図４のＩＰデータフローＤＦとは、ＰＡメッセージＰＡに変えて、ＰＡメッセージＰＡ２を含む点が異なる。ＰＡメッセージＰＡ２は、ＭＰテーブルＭＰ２に加えて、パッケージリストテーブルＰＬ２を含む。このパッケージリストテーブルＰＬ２には、ＭＰテーブルＭＰ２以外のＭＰテーブルへの参照情報を少なくとも含んでいる。なお、パッケージリストテーブルＰＬ１、ＰＬ２ともに、ＩＰデータフローＤＦａにて伝送されている全てのＭＰテーブルへの参照情報を含むようにしてもよい。
【０１００】
［実施形態の変形例２］
以下、図面を参照して、実施形態の変形例２について説明する。本変形例は、上述の実施形態と、ＭＰテーブル、参照情報（ＭＭＴ＿ｇｅｎｅｒａｌ＿ｌｏｃａｔｉｏｎ＿ｉｎｆｏ（））、パッケージリストテーブルのデータ構造が異なる。図１６、図１７、図１８は、本変形例におけるＭＰテーブルのデータ構造を示す表である。これらの図で示すデータ構造は、図６、図７、図８に示すデータ構造とは、以下の４点が異なる。
【０１０１】
１点目は、本変形例のＭＰテーブルにおいて、図１６のＮｏ．２の「ｔａｂｌｅ＿ｉｄ」の値が「０ｘ２０」であることである。２点目は、本変形例のＭＰテーブルが、図７のＮｏ．２３からＮｏ．２８に代えて、図１７のＮｏ．２３からＮｏ．２８を有する点である。３点目は、本変形例のＭＰテーブルが、図７のＮｏ．２８に代えて、図１７のＮｏ．２９に「ａｓｓｅｔ＿ｔｙｐｅ」を有する点である。４点目は、本変形例のＭＰテーブルが、図７のＮｏ．３０からＮｏ．３６を有さない点である。
【０１０２】
以下、上記の２点目について説明する。図１７のＮｏ．２３の「ｉｄｅｎｔｉｆｉｅｒ＿ｔｙｐｅ」は、識別子タイプともいい、以降に格納されるＭＭＴＰパケットフローのＩＤ体系を示す８ビットの領域である。ここでは、「ｉｄｅｎｔｉｆｉｅｒ＿ｔｙｐｅ」の値は、アセットＩＤが格納されることを示す「０ｘ００」である。Ｎｏ．２４の「ａｓｓｅｔ＿ｉｄ＿ｓｃｈｅｍｅ」は、アセットＩＤ形式ともいい、以降に格納されるアセットＩＤの形式を示す３２ビットの領域である。Ｎｏ．２５の「ａｓｓｅｔ＿ｉｄ＿ｌｅｎｇｔｈ」は、アセットＩＤ長ともいい、以降に格納されるアセットＩＤバイトの長さをバイト単位で示す８ビットの領域である。次のＮｏ．２６の「ｆｏｒ（ｉ＝０；ｉ＜Ｎ４；ｉ＋＋）｛」は、以降、Ｎｏ．２８までの領域をＮ４回、すなわちアセットＩＤ長の数だけ繰り返すことを示す。次に配置されているＮｏ．２７の「ａｓｓｅｔ＿ｉｄ＿ｂｙｔｅ」は、アセットＩＤバイトともいい、アセットＩＤ中の１バイトを示す領域である。次のＮｏ．２８の「｝」は、Ｎｏ．２６の「｛」に対応する。
【０１０３】
以下、上記の３点目について説明する。図１７のＮｏ．２９の「ａｓｓｅｔ＿ｔｙｐｅ」は、アセットタイプともいい、Ｎｏ．２７のアセットＩＤバイトで示されたアセットの種類を示す３２ビットの領域である。「ａｓｓｅｔ＿ｔｙｐｅ」は、値が「ｈｖｃ１」であるときは、アセットの種類がＩＴＵＴ−Ｔ勧告Ｈ．２６５で規定されるＨＥＶＣであることを示す。また「ａｓｓｅｔ＿ｔｙｐｅ」は、値が「ｍｐ４ａ」であるときは、アセットの種類がＩＳＯ／ＩＥＣ１４４９６−３の音声であることを示す。
【０１０４】
また「ａｓｓｅｔ＿ｔｙｐｅ」は、値が「ｓｔｐｐ」であるときは、アセットの種類がタイムドテキスト（字幕・文字スーパー）であることを示す。また「ａｓｓｅｔ＿ｔｙｐｅ」は、値が「ａａｐｐ」であるときは、アセットの種類がアプリケーションであることを示す。また「ａｓｓｅｔ＿ｔｙｐｅ」は、値が「ａｓｇｄ」であるときは、アセットの種類が同期型汎用データであることを示す。また「ａｓｓｅｔ＿ｔｙｐｅ」は、値が「ａａｇｄ」であるときは、アセットの種類が非同期型汎用データであることを示す。
【０１０５】
図１９、図２０は、本変形例における参照情報（ＭＭＴ＿ｇｅｎｅｒａｌ＿ｌｏｃａｔｉｏｎ＿ｉｎｆｏ（））のデータ構造を示す表である。これらの図で示すデータ構造は、図９、図１０、図１１に示すデータ構造とは、以下の４点が異なる。図１０のＮｏ．３１からＮｏ．４６および図１１のＮｏ．４７からＮｏ．６２を有しない点が異なる。
【０１０６】
図２１、図２２は、本変形例におけるパッケージリストテーブルのデータ構造を示す表である。これらの図で示すデータ構造は、図１２、図１３に示すデータ構造とは、以下の２点が異なる。１点目は、本変形例におけるパッケージリストテーブルが、図１２のＮｏ．７に代えて、図２１のＮｏ．７からＮｏ．１０を有する点である。図２１のＮｏ．７の「ＭＭＴ＿ｐａｃｋａｇｅ＿ｉｄ＿ｌｅｎｇｔｈ」は、パッケージＩＤ長ともいい、以降に格納されるパッケージＩＤバイトの長さをバイト単位で示す８ビットの領域である。次のＮｏ．８の「ｆｏｒ（ｊ＝０；ｊ＜Ｍ；ｊ＋＋）｛」は、Ｎｏ．９の領域をＭ回、すなわちパッケージＩＤバイトの長さだけ繰り返すことを示す。次に配置されているＮｏ．９の「ＭＭＴ＿ｐａｃｋａｇｅ＿ｉｄ＿ｂｙｔｅ」は、パッケージＩＤバイトともいい、パッケージＩＤ中の１バイトを示す８ビットの領域である。次のＮｏ．１０の「｝」は、Ｎｏ．８の「｛」に対応する。
【０１０７】
２点目は、本変形例におけるパッケージリストテーブルが、図１３のＮｏ．２８に代えて、図２２のＮｏ．３２からＮｏ．３４を有する点である。図２２のＮｏ．３２の「ｄｅｓｃｒｉｐｔｏｒ＿ｌｏｏｐ＿ｌｅｎｇｔｈ」は、記述子長ともいい、以降に格納される記述子の全バイト長を示す１６ビットの領域である。次のＮｏ．３３の「ｆｏｒ（ｊ＝０；ｊ＜Ｍ；ｊ＋＋）｛」は、Ｎｏ．３３の領域をＭ回、すなわち記述子長だけ繰り返すことを示す。次のＮｏ．３４の「ｄｅｓｃｒｉｐｔｏｒ（）」は、記述子領域ともいい、ＩＰサービスの詳細な情報を示す記述子のための領域中の１バイトである。次のＮｏ．３４の「｝」は、Ｎｏ．３２の「｛」に対応する。
【０１０８】
なお、上述の変形例１におけるＭＰテーブル、ＭＭＴ＿ｇｅｎｅｒａｌ＿ｌｏａｔｉｏｎ＿ｉｎｆｏ（）、パッケージリストテーブルのうち、いずれかまたは全てが、変形例２と同様にであってもよい。
また、上述の変形例２では、ＭＰテーブル、ＭＭＴ＿ｇｅｎｅｒａｌ＿ｌｏａｔｉｏｎ＿ｉｎｆｏ（）、パッケージリストテーブルの全てが、上述の実施形態と異なっていたが、異なっているのは、ＭＰテーブル、ＭＭＴ＿ｇｅｎｅｒａｌ＿ｌｏａｔｉｏｎ＿ｉｎｆｏ（）、パッケージリストテーブルの一部であってもよい。
【０１０９】
また、図１における制御メッセージ生成装置１１、受信装置１７の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりこれらの装置を実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【０１１０】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１１１】
また、上述した図２における制御メッセージ生成装置１１、図３における受信装置１７の各機能ブロックは個別にチップ化してもよいし、一部、または全部を集積してチップ化してもよい。また、集積回路化の手法はＬＳＩに限らず、専用回路、または汎用プロセッサで実現しても良い。ハイブリッド、モノリシックのいずれでも良い。一部は、ハードウェアにより、一部はソフトウェアにより機能を実現させても良い。
また、半導体技術の進歩により、ＬＳＩに代替する集積回路化等の技術が出現した場合、当該技術による集積回路を用いることも可能である。
【０１１２】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【０１１３】
１０…配信システム
１１…制御メッセージ生成装置
１２…映像送出装置
１３…音声送出装置
１４…データ送出装置
１５…多重装置
１６…配信装置
１７…受信装置
１８…出力装置
２１…ＭＰテーブル生成部
２２…パッケージリストテーブル生成部
２３…ＰＡメッセージ生成部
７０…受信部
７１…分離部
７２…指定取得部
７３…受信制御部
７４…制御メッセージ処理部
７５…映像デコード部
７６…音声デコード部
７７…データレンダリング部
７８…映像合成部
７９…音声合成部
【図１】
2018201219.tif 000003
【図２】
2018201219.tif 000004
【図３】
2018201219.tif 000005
【図４】
2018201219.tif 000006
【図５】
2018201219.tif 000007
【図６】
2018201219.tif 000008
【図７】
2018201219.tif 000009
【図８】
2018201219.tif 000010
【図９】
2018201219.tif 000011
【図１０】
2018201219.tif 000012
【図１１】
2018201219.tif 000013
【図１２】
2018201219.tif 000014
【図１３】
2018201219.tif 000015
【図１４】
2018201219.tif 000016
【図１５】
2018201219.tif 000017
【図１６】
2018201219.tif 000018
【図１７】
2018201219.tif 000019
【図１８】
2018201219.tif 000020
【図１９】
2018201219.tif 000021
【図２０】
2018201219.tif 000022
【図２１】
2018201219.tif 000023
【図２２】
2018201219.tif 000024
【手続補正書】
【提出日】平成30年10月10日(2018.10.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のパッケージを構成するアセット各々への参照情報を含む第１のテーブルと、第２のパッケージを構成するアセット各々への参照情報を含む第２のテーブルとを生成するテーブル生成部と、
前記第２のテーブルへの参照情報を含むパッケージリストテーブルを生成するパッケージリストテーブル生成部と、
前記第１のテーブルおよび前記パッケージリストテーブルを含む第１の制御メッセージと、前記第２のテーブルを含む第２の制御メッセージとを生成する制御メッセージ生成部と、
を具備し、
前記第２のテーブルへの参照情報は、
前記第２のパッケージを示すパッケージＩＤと、
前記第２のテーブルを含む前記第２の制御メッセージを格納するパケットのパケットＩＤと、
であり、
前記パッケージＩＤの下位１６ビットはサービスＩＤと同じ値である、
ことを特徴とする制御メッセージ生成装置。