(57)【要約】【課題】受信装置上で稼働するアプリケーションプログラムに対して、放送信号を用いて、必要なデータを適切なタイミングで供給できるようにする。【解決手段】受信装置は、アプリケーション実行部と受信部と多重分離部とデータ処理部とを含む構成とする。アプリケーション実行部は、アプリケーションを実行させる。受信部は、外部からの多重化信号を受信する。多重分離部は、受信部が受信した多重化信号を分離し、アプリケーションに渡すデータを抽出する。データ処理部は、データを取得するとともに、データに付加されているデータ識別情報を取り出し、データ識別情報に基づいてデータのアプリケーションへの渡し方を制御する。【選択図】図１
2017098678.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを実行させるアプリケーション実行部と、
外部からの多重化信号を受信する受信部と、
前記受信部が受信した前記多重化信号を分離し、前記アプリケーションに渡すデータを抽出する多重分離部と、
前記データを取得するとともに、前記データに付加されているデータ識別情報を取り出し、前記データ識別情報に基づいて前記データの前記アプリケーションへの渡し方を制御するデータ処理部と、
を具備することを特徴とする受信装置。
【請求項２】
前記データ識別情報は、前記データの利用用途ごとに付与される識別情報であり、
前記データ処理部は、前記アプリケーションからの前記データ識別情報を指定したデータ受け取り要求を受け付け、指定された前記データ識別情報を有する前記データを取得したときに、当該データを前記アプリケーションに渡す、
ことを特徴とする請求項１に記載の受信装置。
【請求項３】
前記受信部は、ＭＰＥＧメディアトランスポート方式により多重化された前記多重化信号を受信し、
前記多重分離部は、汎用データアセットとして伝送された前記データを抽出するものであり、
前記データ処理部は、メディア・フラグメント・ユニット内の汎用データヘッダーの一部として格納された汎用データ識別情報または汎用データグループ識別情報の少なくともいずれかを前記データ識別情報として取り出す、
ことを特徴とする請求項２に記載の受信装置。
【請求項４】
前記受信部は、ＭＰＥＧメディアトランスポート方式により多重化された前記多重化信号を受信し、
前記多重分離部は、汎用データアセットとして伝送された前記データを抽出するものであり、
前記データ識別情報は、ＭＰＥＧメディアトランスポート方式の前記多重化信号のＭＰテーブルに配置されるＭＨ−データ符号化方式記述子の付加識別情報の一部として格納され、前記汎用データアセットで送られる全ての前記データの前記アプリケーションによる利用用途を識別するためのデータタイプの情報であり、
前記データ処理部は、前記アプリケーションからのデータ受け取り要求に基づいて、前記データを取得したときに当該データと前記データタイプの情報とを前記アプリケーションに渡す、
ことを特徴とする請求項１に記載の受信装置。
【請求項５】
前記データ処理部は、前記付加識別情報内に含まれる時刻制御モードの情報を取得し、前記時刻制御モードにしたがって前記汎用データアセットで送られる前記データを前記アプリケーションに渡すタイミングを制御する、
ことを特徴とする請求項４に記載の受信装置。
【請求項６】
前記受信部は、ＭＰＥＧメディアトランスポート方式により多重化された前記多重化信号を受信し、
前記多重分離部は、汎用データアセットとして伝送された前記データを抽出するものであり、
前記データ処理部は、前記時刻制御モードがメディア・プロセシング・ユニット・タイムスタンプ利用モードを示す場合には、メディア・プロセシング・ユニットに属するすべての前記データを、当該メディア・プロセシング・ユニットに対応するタイムスタンプが示すタイミングで前記アプリケーションに渡す、
ことを特徴とする請求項５に記載の受信装置。
【請求項７】
外部からの多重化信号を受信する受信部、を備えるコンピューターを、請求項１から６までのいずれか一項に記載の受信装置として機能させるためのプログラム。
【請求項８】
受信装置側で稼働するアプリケーションに渡すためのデータの供給を受けて、前記データを用いて汎用データアセットを生成する汎用データアセット供給部と、
前記汎用データアセットと、コンテンツを構成する他のアセットとを多重化して、前記アプリケーションへの渡し方を制御するために前記データに付加するデータ識別情報を含んだ多重化信号を生成する多重化部と、
前記多重化部によって生成された前記多重化信号を送信する送信部と、
を具備することを特徴とする送信装置。
【請求項９】
前記データ識別情報は、前記データの利用用途ごとに付与される識別情報である、
ことを特徴とする請求項８に記載の送信装置。
【請求項１０】
前記データ識別情報は、ＭＰＥＧメディアトランスポート方式の前記多重化信号のＭＰテーブルに配置されるＭＨ−データ符号化方式記述子の付加識別情報の一部として格納され、前記汎用データアセットで送られる全ての前記データの前記アプリケーションによる利用用途を識別するためのデータタイプの情報である、
ことを特徴とする請求項８に記載の送信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信装置、送信装置、およびプログラムに関する。
【背景技術】
【０００２】
テレビ受像機上で稼働するアプリケーションプログラムに、必要なデータを適切なタイミングで供給することのできる手段が求められる。その目的を達成するために、ＭＭＴ（MPEG Media Transport，ＭＰＥＧメディアトランスポート）方式の伝送において、アプリケーションが用いることのできるデータを伝送する手段が提供されている。
【０００３】
非特許文献１の第１２章には、ＭＭＴにおける汎用データ伝送方式に関する規定が記載されている。この汎用データは、英語では「general data」と表記されるものである。また、非特許文献１の第１７２ページから始まる表１２−１には、汎用データのＭＦＵの構成が記載されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】「デジタル放送におけるＭＭＴによるメディアトランスポート方式  標準規格  ＡＲＩＢ  ＳＴＤ−Ｂ６０  １．３版」，一般社団法人電波産業会，平成２７年（西暦２０１５年）７月３日
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、アプリケーションプログラムに対して必要なデータを適切なタイミングで供給するためには、次のような副課題が存在する。
（１）非特許文献１に記載されている技術では、様々な用途の汎用データを１つのデータアセット内で適切に構造化して伝送することができない。例えば、テレビ受像機上で複数のアプリケーションプログラムが同時並行的に稼働する場合があるが、あるデータアセットで送られる様々な用途の汎用データのうち各々のアプリケーションが必要とするデータだけを適切に供給するための個々のデータを識別することができない。識別しようとすれば、アプリケーションデータ内に識別情報を含める必要が生じるが、様々な開発主体が開発するアプリケーションプログラムに共通の枠組みは存在しない。
（２）非特許文献１に記載されている技術では、アプリケーションプログラムが汎用データを処理するタイミング（時刻）を制御することができない。このタイミングの制御とは、アプリケーションプログラムが、汎用データを即時に利用（提示）するか、あるいは特定の時刻に合わせて利用（提示）するか、などといった制御である。テレビ等の放送番組と連動するアプリケーションプログラムの動作を考慮すると、汎用データに関する時刻制御の仕組みが求められる。
【０００６】
本発明は、上記の課題認識に基づいて行なわれたものであり、ＭＭＴにおける汎用データ伝送方式を用いて、必要なデータを適切なタイミングで供給することのできる、受信装置、送信装置、およびプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００７】
［１］上記の課題を解決するため、本発明の一態様による受信装置は、アプリケーションを実行させるアプリケーション実行部と、外部からの多重化信号を受信する受信部と、前記受信部が受信した前記多重化信号を分離し、前記アプリケーションに渡すデータを抽出する多重分離部と、前記データを取得するとともに、前記データに付加されているデータ識別情報を取り出し、前記データ識別情報に基づいて前記データの前記アプリケーションへの渡し方を制御するデータ処理部と、を具備することを特徴とする。
【０００８】
［２］また、本発明の一態様は、上記の受信装置において、前記データ識別情報は、前記データの利用用途ごとに付与される識別情報であり、前記データ処理部は、前記アプリケーションからの前記データ識別情報を指定したデータ受け取り要求を受け付け、指定された前記データ識別情報を有する前記データを取得したときに、当該データを前記アプリケーションに渡す、ことを特徴とする。
【０００９】
［３］また、本発明の一態様は、上記の受信装置において、前記受信部は、ＭＰＥＧメディアトランスポート方式により多重化された前記多重化信号を受信し、前記多重分離部は、汎用データアセットとして伝送された前記データを抽出するものであり、前記データ処理部は、メディア・フラグメント・ユニット内の汎用データヘッダーの一部として格納された汎用データ識別情報または汎用データグループ識別情報の少なくともいずれかを前記データ識別情報として取り出す、ことを特徴とする。
【００１０】
［４］また、本発明の一態様は、上記の受信装置において、前記受信部は、ＭＰＥＧメディアトランスポート方式により多重化された前記多重化信号を受信し、前記多重分離部は、汎用データアセットとして伝送された前記データを抽出するものであり、前記データ識別情報は、ＭＰＥＧメディアトランスポート方式の前記多重化信号のＭＰテーブルに配置されるＭＨ−データ符号化方式記述子の付加識別情報の一部として格納され、前記汎用データアセットで送られる全ての前記データの前記アプリケーションによる利用用途を識別するためのデータタイプの情報であり、前記データ処理部は、前記アプリケーションからのデータ受け取り要求に基づいて、前記データを取得したときに当該データと前記データタイプの情報とを前記アプリケーションに渡す、ことを特徴とする。
【００１１】
［５］また、本発明の一態様は、上記の受信装置において、前記データ処理部は、前記付加識別情報内に含まれる時刻制御モードの情報を取得し、前記時刻制御モードにしたがって前記汎用データアセットで送られる前記データを前記アプリケーションに渡すタイミングを制御する、ことを特徴とする。
【００１２】
［６］また、本発明の一態様は、上記の受信装置において、前記受信部は、ＭＰＥＧメディアトランスポート方式により多重化された前記多重化信号を受信し、前記多重分離部は、汎用データアセットとして伝送された前記データを抽出するものであり、前記データ処理部は、前記時刻制御モードがメディア・プロセシング・ユニット・タイムスタンプ利用モードを示す場合には、メディア・プロセシング・ユニットに属するすべての前記データを、当該メディア・プロセシング・ユニットに対応するタイムスタンプが示すタイミングで前記アプリケーションに渡す、ことを特徴とする。
【００１３】
［７］また、本発明の一態様は、外部からの多重化信号を受信する受信部、を備えるコンピューターを、上記のいずれかに記載の受信装置として機能させるためのプログラムである。
【００１４】
［８］また、本発明の一態様による送信装置は、受信装置側で稼働するアプリケーションに渡すためのデータの供給を受けて、前記データを用いて汎用データアセットを生成する汎用データアセット供給部と、前記汎用データアセットと、コンテンツを構成する他のアセットとを多重化して、前記アプリケーションへの渡し方を制御するために前記データに付加するデータ識別情報を含んだ多重化信号を生成する多重化部と、前記多重化部によって生成された前記多重化信号を送信する送信部と、を具備することを特徴とする。
【００１５】
［９］また、本発明の一態様は、上記の送信装置において、前記データ識別情報は、前記データの利用用途ごとに付与される識別情報である、ことを特徴とする。
【００１６】
［１０］また、本発明の一態様は、上記の送信装置において、前記データ識別情報は、ＭＰＥＧメディアトランスポート方式の前記多重化信号のＭＰテーブルに配置されるＭＨ−データ符号化方式記述子の付加識別情報の一部として格納され、前記汎用データアセットで送られる全ての前記データの前記アプリケーションによる利用用途を識別するためのデータタイプの情報である、ことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、受信装置上で稼働する個々のアプリケーションプログラムに対して、必要なデータを適切なタイミングで供給するように制御することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態による受信装置の概略機能構成を示すブロック図である。
【図２】同実施形態により送信装置から受信装置に伝送される各アセットの構成を示す概略図である。
【図３】同実施形態により汎用データアセットに含まれるデータを伝送する際の単位である、ＭＰＵ（メディア・プロセシング・ユニット）およびＭＦＵ（メディア・フラグメント・ユニット）を示す概略図である。
【図４】同実施形態による汎用データアセットにおけるＭＦＵのデータ構成を定義した概略図である。
【図５】同実施形態によるアプリケーションプログラムが汎用データを扱うためのＡＰＩ関数の仕様を示す概略図である。
【図６】同実施形態により汎用データを格納する構造体generalDataの構成を示す概略図である。
【図７】同実施形態により、ＡＰＩ関数を用いて汎用データを受け取るアプリケーションのコードの記述の一例である。
【図８】同実施形態による送信装置の概略機能構成を示すブロック図である。
【図９】第２実施形態による受信装置の概略機能構成を示すブロック図である。
【図１０】同実施形態による、汎用データに関する付加識別情報（Additional_Arib_General_data_Info）の構成を示す概略図である。
【図１１】同実施形態による汎用データの付加識別情報に含まれる、時刻制御モードの値と意味との関係を示す概略図である。
【図１２】同実施形態による送信装置の概略機能構成を示すブロック図である。
【発明を実施するための形態】
【００１９】
［第１実施形態］
本発明の第１実施形態について説明する。
図１は、同実施形態による受信装置の概略機能構成を示すブロック図である。受信装置１は、いわゆるテレビ受像機であり、テレビの放送信号を受信するとともに、インターネット等を介したデータ通信を行うものである。
【００２０】
図示するように、受信装置１は、受信部１１と、多重分離部１２と、通信入出力部１４と、映像デコード部２１と、音声デコード部２２と、アプリケーション記憶部２３と、汎用データ処理部２８（データ処理部）と、アプリケーション実行部３１と、出力部３８と、を含んで構成される。
【００２１】
受信部１１は、放送信号を受信する。放送信号は、テレビ局の送信装置から送信され、電波で、あるいはケーブルテレビの電気信号として、伝送される。この放送信号は、映像や音声や汎用データや制御情報等が多重化された多重化信号である。受信部１１は、受信した放送信号を多重分離部１２に供給する。なお、受信部１１が受信する放送信号は、ＭＭＴ方式によって伝送される。つまり、受信部１１は、ＭＭＴ方式により多重化された多重化信号を受信する。
【００２２】
多重分離部１２は、受信部１１が受信した放送信号を受け取り、多重化されている信号を分離する。具体的には、多重分離部１２は、受信部１１が受信した放送信号から、映像アセットの信号、音声アセットの信号、汎用データアセット（general data asset，ジェネラルデータアセット）の信号を抽出する。また、多重分離部１２は、放送信号から、制御情報を抽出する。また、放送信号にアプリケーションプログラムコードが含まれている場合、多重分離部１２は、放送信号から、このアプリケーションを抽出する。
多重分離部１２は、抽出した映像アセットの信号を映像デコード部２１に供給する。また、多重分離部１２は、抽出した音声アセットの信号を音声デコード部２２に供給する。また、多重分離部１２は、抽出した汎用データアセットの信号を汎用データ処理部２８に供給する。この汎用データアセットに含まれるデータは、アプリケーションに渡すためのデータである。また、多重分離部１２は、抽出したアプリケーションプログラムコードの情報をアプリケーション記憶部２３に供給する。また、多重分離部１２は、抽出した制御情報を制御部（不図示）に供給する。また、多重分離部１２が、放送信号に含まれているその他の情報（例えば、字幕アセット等）を抽出して、受信装置１内の適切な機能部に供給するようにしてもよい。
【００２３】
通信入出力部１４は、インターネット等の通信回線を介して、外部の装置との間でデータのやり取りを行う。通信入出力部１４は、例えば、インターネットプロトコル（ＩＰ）を用いた通信による入出力を行う。通信入出力部１４は、外部の装置からデータを受信し、また外部の装置に対してデータを送信する。通信入出力部１４は、例えば、外部のサーバー装置からアプリケーションプログラムコードを受信し、受信したアプリケーションプログラムコードをアプリケーション記憶部２３に供給する。
【００２４】
映像デコード部２１は、多重分離部１２から受け取った映像アセットに含まれる映像のデータをデコードする。映像デコード部２１は、デコードの結果得られる映像を、出力部３８に供給する。
【００２５】
音声デコード部２２は、多重分離部１２から受け取った音声アセットに含まれる音声のデータをデコードする。音声デコード部２２は、デコードの結果得られる音声を、出力部３８に供給する。
【００２６】
アプリケーション記憶部２３は、アプリケーションプログラムを受け取り、内部の記憶手段に記憶させる。アプリケーション記憶部２３は、記憶手段として、磁気ハードディスク装置や半導体メモリなどを用いる。アプリケーション記憶部２３は、必要時に、アプリケーションプログラムを記憶手段から読み出して、アプリケーション実行部３１に供給する。なお、アプリケーション記憶部２３は、放送信号に含まれる形で受信したアプリケーションプログラムを多重分離部１２から取得する。また、アプリケーション記憶部２３は、外部のサーバー装置等から通信によって取得したアプリケーションプログラムを通信入出力部１４から取得する。なお、アプリケーションプログラムは、例えば、ＨＴＭＬ５（ハイパーテキストマークアップ言語の第５版）で記述されたものである。また、このＨＴＭＬ５で記述されるコードには、Ｊａｖａｓｃｒｉｐｔ（登録商標、ジャバスクリプト）による実行コードを含むことができる。
【００２７】
汎用データ処理部２８は、多重分離部１２から受け取った汎用データアセットに含まれる汎用データを処理する。具体的には、汎用データ処理部２８は、汎用データアセットに含まれる汎用データを、適宜、アプリケーション実行部３１に渡す。アプリケーション実行部３１上で実行されるアプリケーションプログラムは、後述するＡＰＩ（アプリケーションプログラムインターフェース）を介して、汎用データ処理部２８からこの汎用データを取得する。
【００２８】
アプリケーション実行部３１は、アプリケーションプログラムを実行させる機能を有する。例えば、アプリケーション実行部３１は、ウェブブラウザーの機能を備え、またＪａｖａｓｃｒｉｐｔ（登録商標）で記述されているコードを実行する機能を備えている。アプリケーション実行部３１は、アプリケーションから出力されるコンテンツ（画像、映像、音声等）を出力部３８に供給する。
なお、アプリケーション実行部３１は、汎用データ取得ＡＰＩ処理部３３を含んで構成される。
【００２９】
汎用データ取得ＡＰＩ処理部３３は、アプリケーション実行部３１において稼働するアプリケーションプログラムに対するインターフェースを提供する。具体的には、アプリケーションプログラム内から、ＡＰＩ関数を呼び出すことができるようにする。呼び出されたＡＰＩ関数の実行コードは、静的にまたは動的に、呼び出す側のアプリケーションプログラムにリンクされる。汎用データ取得ＡＰＩ処理部３３の少なくとも一部は、例えば、ＡＰＩ関数の実行コードをコンピューターで実行する形態で実現可能である。汎用データ取得ＡＰＩ処理部３３は、アプリケーションプログラムからの要求に応じて、汎用データ処理部２８から汎用データを取得し、アプリケーションプログラムに渡す。なお、ＡＰＩ関数の詳細については後述する。
【００３０】
出力部３８は、映像デコード部２１から供給される映像と、アプリケーション実行部３１から出力される画像（または映像）とを、１つの画面上に統合して配置し、ビデオ信号として出力する。また、出力部３８は、音声デコード部２２から供給される音声を、出力する。アプリケーション実行部３１が音声を出力する場合には、出力部３８は、音声デコード部２２から供給される音声とアプリケーション実行部３１から出力される音声とを適宜混合し、出力する。
【００３１】
図２は、送信装置から受信装置に向けて伝送される各アセット（特に、汎用データアセット）の構成の概略を示す概略図である。図示するように、本実施形態による送信装置６から受信装置１に向けて送信される放送信号は、少なくとも、映像アセットと、音声アセットと、汎用データアセットとを含んで多重化している。送信装置６は、外部から入力されるデータを、適宜、汎用データアセットに含めて送出する。送信装置６は、汎用データアセットで伝送されるデータに、汎用データＩＤ（汎用データ識別情報）を付与する。また、送信装置６は、汎用データアセットで伝送されるデータに、汎用データＩＤよりも下位の情報として、バージョン情報を付与する。また、送信装置６は、複数の汎用データＩＤをまとめて、汎用データグループＩＤ（汎用データグループ識別情報）を付与することもできる。汎用データＩＤは、「general_data_id」というキーワードで示される。また、汎用データグループＩＤは、「general_data_group_id」というキーワードで示される。また、バージョン情報は、「version」というキーワードで示される。
なお、汎用データグループＩＤや汎用データＩＤは、汎用データを使い分けるためにデータの利用用途を識別するものであり、データ識別情報とも呼ばれる。つまり、データ識別情報は、汎用データアセット中の一連の仮想的なデータの流れ（ストリーム）に対して付与される識別情報であって、データの利用用途ごとに付与されるものである。
【００３２】
同図に示す例では、汎用データアセット内に、汎用データＩＤ（general_data_id）として１，２，３，４が付与されたデータが含まれている。これらのうち、汎用データＩＤが１および２のデータは、汎用データグループＩＤ（general_data_group_id）が１であるグループに属する。また、汎用データＩＤが３および４のデータは、汎用データグループＩＤには属さない。また、汎用データＩＤが１のデータには、バージョン情報が１，２，３であるデータがそれぞれ含まれている。また、汎用データＩＤが２のデータには、バージョン情報が１，２，３であるデータがそれぞれ含まれている。また、汎用データＩＤが３のデータには、バージョン情報が１，２であるデータがそれぞれ含まれている。また、汎用データＩＤが４のデータには、バージョン情報が１，２，３，４，５であるデータがそれぞれ含まれている。
なお、受信装置１は、これら、汎用データアセットに含まれるデータを受信する。
【００３３】
図３は、汎用データアセットに含まれるデータを伝送する際の単位を示す概略図である。汎用データアセットは、ＭＰＵ（メディア・プロセシング・ユニット，Media Processing Unit）およびＭＦＵ（メディア・フラグメント・ユニット，Media Fragment Unit）という伝送単位を有する。ＭＰＵは、ＭＦＵより上位の単位である。１個のＭＰＵは、１個以上のＭＦＵで構成される。ＭＦＵは、パケットであり、ヘッダー（汎用データヘッダー）とデータ（データ本体）で構成される。汎用データヘッダーは、汎用データの伝送等に関する制御情報を含む。ＭＦＵのより具体的な構成は、次の図を用いて説明する。
【００３４】
図４は、汎用データアセットにおけるＭＦＵのデータ構成を定義した概略図である。同図は、データ構造を定義するための言語による記述を示している。また、そのデータ構造に含まれる各データ項目の長さ（ビット数）とデータ表記をも示している。なお、データ表記における「ｕｉｍｓｂｆ」は、「unsigned integer, most significant bit first」の略であり、符号無し整数であって最上位ビットが先頭であることを表す。また、「ｂｓｌｂｆ」は、「bit string, left bit first」の略であり、ビット列であって左ビットが先頭であることを表す。また、「Ｃｈａｒ」は、文字（character）データであることを表す。
【００３５】
同図に示す構造体MFU_data_byteが、１つのＭＦＵに対応する。この構造体の内部に、汎用データヘッダーと汎用データ（ボディ）とが存在する。
汎用データヘッダーは、次の（１）から（８）までのデータ項目（フィールド）を有する。
（１）component_tag：このデータ項目は、コンポーネントタグを格納する。このデータ項目は、１６ビットの長さを有し、ＭＰテーブルのＭＨ−ストリーム識別記述子で与えられる汎用データのコンポーネントタグの値を有する。
（２）data_type_length：このデータ項目は、データタイプ長を格納する。このデータ項目は、８ビットの符号なし整数であり、後続するデータタイプ記述の長さをバイト単位で示す。
（３）data_type_char（データタイプ文字）：このデータ項目は、データタイプ（ＭＩＭＥタイプ）を表す文字の列を格納する。このデータ項目の長さは、上のdata_type_lengthで規定される。
（４）additional_info_length：このデータ項目は、付加情報長を格納する。このデータ項目は、１６ビットの符号なし整数であり、後続する付加情報の長さをバイト単位で示す。
（５）additional_info_byte：このデータ項目は、付加情報バイトであり、当該ＭＦＵで伝送するデータに関する付加情報を格納する領域である。付加情報バイトの長さは、上のadditional_info_lengthで規定される。この付加情報バイトは、構造体であり、次に説明するgeneral_data_group_idとgeneral_data_idとgeneral_data_versionとを内部に含む。
【００３６】
（６）general_data_group_id：このデータ項目は、汎用データグループＩＤを格納する。このデータ項目は、８ビットの符号なし整数で表現される。なお、本実施形態ではビット数は８であるが、異なる長さで実施してもよい。
（７）general_data_id：このデータ項目は、汎用データＩＤを格納する。このデータ項目は、８ビットの符号なし整数で表現される。なお、本実施形態ではビット数は８であるが、異なる長さで実施してもよい。
（８）general_data_version：このデータ項目は、汎用データバージョンを格納する。このデータ項目は、８ビットの符号なし整数で表現される。なお、本実施形態ではビット数は８であるが、これ以外のビット数（長さ）で実施してもよい。
ＭＦＵ内のヘッダー（汎用データヘッダー）に汎用データグループＩＤと汎用データＩＤと汎用データバージョンの各フィールドを持つことは、本実施形態の特徴の一つである。
【００３７】
汎用データ（ボディ）は、次の（９）および（１０）のデータ項目を有する。
（９）data_length（データ長）：このデータ項目は、汎用データの長さをバイト単位で表す。このデータ項目は、３２ビットの符号なし整数で表現される。
（１０）data_byte（データバイト）：このデータ項目は、汎用データそのものを格納するための領域である。汎用データの長さは、上のdata_lengthで規定される。なお、汎用データの内部の構造はアプリケーションによって規定されるものであり、本実施形態は、単に、各々が８ビットのdata_byteの列として汎用データを扱う。
【００３８】
本実施形態におけるＭＦＵ、ＭＰＵ、汎用データグループＩＤ、汎用データＩＤ、汎用データバージョン（バージョン情報）の関係を整理すると、次の通りである。
汎用データＩＤが、汎用データグループに属する場合がある。汎用データＩＤは、最大で１つの汎用データグループに属する。
汎用データバージョンは、汎用データＩＤ内で適宜割り振られる。
１つのＭＰＵは、１つまたは複数のＭＦＵを含む。
１つのＭＦＵは、１つ以下の汎用データグループＩＤ、１つの汎用データＩＤ、１つの汎用データバージョンを有する。ＭＦＵ内の汎用データヘッダーにこれらの情報が格納される。なお、その汎用データＩＤが汎用データグループに属さない場合は、ＭＦＵは汎用データグループＩＤを有さない。
１つのＭＰＵに属する複数のＭＦＵに関して、下記の（ａ）〜（ｃ）のいずれとするかを、適宜、運用規則等により定める。
（ａ）１つのＭＰＵに属する複数のＭＦＵは、すべて同一の汎用データＩＤを有する。
（ｂ）１つのＭＰＵに属する複数のＭＦＵは、同一の汎用データＩＤを必ずしも有さなくて良いが、その場合においてもすべて同一の汎用データグループＩＤを有する。
（ｃ）１つのＭＰＵに属する複数のＭＦＵが、互いに異なる汎用データＩＤを有していてもよいし、また互いに異なる汎用データグループＩＤを有していてもよい。
ただし、ＭＦＵ、ＭＰＵ、汎用データグループＩＤ、汎用データＩＤ、汎用データバージョンの関係について、ここで述べた形態に限らず、他の形態としてもよい。
【００３９】
汎用データバージョン（バージョン情報）の割り振り方およびその利用のしかたは、個々のコンテンツ（およびアプリケーション）に委ねられる。ある１つの汎用データＩＤ内において、同一の汎用データバージョンを有するデータが２個以上連続して伝送されてもよいし、汎用データバージョンが順次インクリメントされていってもよいし、汎用データバージョンの値が不連続に飛んでもよい。また、値をインクリメントする場合において、汎用データバージョンの値の範囲（８ビットの符号なし整数で表される場合には、０から２５５まで）の上限に達したときには、適宜ラップラウンドさせてよい。
【００４０】
次に、アプリケーション実行部３１上で稼働するアプリケーションに対するインターフェースについて説明する。
図５は、汎用データを扱うためのＡＰＩ関数の仕様を示す概略図である。同図（ａ）は関数addGeneralDataListenerの仕様を示し、同図（ｂ）は関数CallbackGeneralDataListenerの仕様を示す。同図（ａ）および（ｂ）は、各関数の、関数名と、引数と、戻り値を示している。
【００４１】
図５（ａ）に示す関数addGeneralDataListenerは、アプリケーションが、汎用データリスナーを設定する手続きを実行するための関数である。この関数addGeneralDataListenerは、４つの引数を取るが、それらの一部の引数については指定を省略することができる。なお、関数addGeneralDataListenerは、戻り値を返さない。
第１の引数はgeneralDataListener（汎用データリスナー）であり、この関数を呼び出す側のアプリケーションは、この第１の引数として、コールバック関数を指定する。なお、関数の名称または所在情報（例えば、メモリ上において関数の所在位置を指し示すポインター）を指定可能とする。汎用データ取得ＡＰＩ処理部３３は、この第１の引数で指定された関数を、指定された汎用データストリームが受信されたときに呼び出す関数として設定する。
第２の引数は、url（ＵＲＬ，ユニフォーム・リソース・ロケーター）であり、取得対象とする汎用データストリームを識別するものである。汎用データストリームを表すＵＲＬは、「arib2://<original_network_id>．<tlv_stream_id>．<service_id>/<component_tag>」の形式を有する。このＵＲＬの第１の要素は、オリジナルネットワークＩＤである。また、第２の要素は、ＴＬＶストリームＩＤである。また、第３の要素は、サービスＩＤである。そして、スラッシュの後の第４の要素は、コンポーネントタグである。汎用データ取得ＡＰＩ処理部３３は、アプリケーション側からこの第２の引数で指定されたデータストリームを取得対象とする。
【００４２】
第３の引数は、general_data_group_id（汎用データグループＩＤ）であり、この関数を呼び出すアプリケーション側から取得対象のグループの識別情報として指定されるものである。この汎用データグループＩＤは、図２において説明した汎用データグループＩＤに対応する。なお、この第３の引数general_data_group_idの指定を省略することができる。
第４の引数は、general_data_id（汎用データＩＤ）であり、この関数を呼び出すアプリケーション側から取得対象のデータの識別情報として指定されるものである。なお、この第４の引数general_data_idの指定を省略することができる。
【００４３】
汎用データ取得ＡＰＩ処理部３３は、第２の引数urlで指定された汎用データストリームに関して、第３の引数general_data_group_idおよび第４の引数general_data_idのそれぞれによる指定（引数が省略される場合も含む）の条件に合うデータを受信したときに、第１の引数generalDataListenerを呼び出すことによって、そのデータをアプリケーションに引き渡す処理を行う。
なお、第３の引数general_data_group_idおよび第４の引数general_data_idのそれぞれが明示的に指定される場合、あるいは省略される場合の解釈のしかたは、下記の通りである。
第３の引数general_data_group_idおよび第４の引数general_data_idの両方が指定された場合、汎用データ取得ＡＰＩ処理部３３は、前述の汎用データヘッダーを参照し、指定された汎用データグループＩＤ且つ指定された汎用データＩＤのデータを受信したときに、そのデータをアプリケーションに引き渡す。
第３の引数general_data_group_idが指定され、第４の引数general_data_idが省略された場合、汎用データ取得ＡＰＩ処理部３３は、同じく汎用データヘッダーを参照し、指定された汎用データグループＩＤを有するデータを受信したときに、そのデータをアプリケーションに引き渡す。
第３の引数general_data_group_idが省略され、第４の引数general_data_idが指定された場合、汎用データ取得ＡＰＩ処理部３３は、同じく汎用データヘッダーを参照し、汎用データグループＩＤが何であるかにかかわらず、指定された汎用データＩＤを有するデータを受信したときに、そのデータをアプリケーションに引き渡す。
第３の引数general_data_group_idおよび第４の引数general_data_idのいずれもが省略された場合、汎用データ取得ＡＰＩ処理部３３は、汎用データグループＩＤや汎用データＩＤにかかわらず、その汎用データストリーム（第２の引数urlで指定されるストリーム）のすべてのデータを、アプリケーションに引き渡す。
【００４４】
図５（ｂ）に示す関数callbackGeneralDataListenerは、アプリケーションによって指定されたデータが受信装置１によって受信されたときに、呼び出される関数である。この関数callbackGeneralDataListenerは、１つの引数を取る。なお、関数callbackGeneralDataListenerは、戻り値を返さない。
関数callbackGeneralDataListenerの唯一の引数はgeneralData（汎用データ）である。このgeneralDataは、受信装置１が受信した汎用データを格納するための構造体である。多重分離部１２から汎用データ処理部２８に渡された汎用データのうち、アプリケーション側から上記関数addGeneralDataListenerの引数で指定された汎用データのみを、汎用データ取得ＡＰＩ処理部３３は、引数generalDataとして引き渡す。なお、汎用データ取得ＡＰＩ処理部３３は、該当するＭＦＵごとに関数callbackGeneralDataListenerを呼び出す。
なお、関数callbackGeneralDataListenerの内部において、渡されたgeneralDataに関する処理を記述できる。
【００４５】
図６は、上記の構造体generalDataの構成を示す概略図である。この構造体generalDataは、図５（ｂ）に示した関数callbackGeneralDataListenerの引数として、汎用データ取得ＡＰＩ処理部３３から、アプリケーション実行部３１上で稼働するアプリケーションに渡される。構造体generalDataは、data_type、general_data_group_id、general_data_id、general_data_version、general_data_bytesという５つのデータ項目を含む。各データ項目の詳細は、次に記載する通りである。
【００４６】
（１）data_type（データタイプ）：このデータ項目は、ＭＦＵのデータタイプを格納する。このデータ項目は文字列型（string）である。汎用データ取得ＡＰＩ処理部３３は、このデータ項目を、ＭＦＵヘッダーに含まれていた文字の列にセットする。
（２）general_data_group_id（汎用データグループＩＤ）：このデータ項目は、汎用データグループＩＤを格納する。このデータ項目は整数型（integer）である。汎用データ取得ＡＰＩ処理部３３は、このデータ項目を、ＭＦＵヘッダーから引き継いだ汎用データグループＩＤの値にセットする。
（３）general_data_id（汎用データＩＤ）：このデータ項目は、汎用データＩＤを格納する。このデータ項目は整数型（integer）である。汎用データ取得ＡＰＩ処理部３３は、このデータ項目を、ＭＦＵヘッダーから引き継いだ汎用データＩＤの値にセットする。
（４）general_data_version（汎用データバージョン）：このデータ項目は、汎用データバージョンの情報を格納する。このデータ項目は整数型（integer）である。汎用データ取得ＡＰＩ処理部３３は、このデータ項目を、ＭＦＵヘッダーから引き継いだ汎用データバージョンの値にセットする。
（５）general_data_bytes（汎用データバイト）：このデータ項目は、汎用データそのものを格納する。このデータ項目は、配列バッファー型（ArrayBuffer）である。汎用データ取得ＡＰＩ処理部３３は、ＭＦＵ内のデータバイト（data_byte）をこのデータ項目に移す。
【００４７】
図７は、前述のＡＰＩ関数を用いた、アプリケーションコードの記述の一例である。同図には便宜的に行番号を付している。
第１行目は、コメントのみである。
第２行目は、関数addGeneralDataListenerを呼び出すコードである。同関数の第１引数として、関数generalDataListenerを指定している。また、同関数の第２引数として、ＵＲＬ「ａｒｉｂ２：／／−１．−１．−１／０９００」を指定している。このＵＲＬは、現在受信中の放送サービスの、コンポーネントタグが１６進数の「０９００」である汎用データを指し示すものである。同関数の第３引数（汎用データグループＩＤ）および第４引数（汎用データＩＤ）については、指定が省略されている。
第３行目は、空行である。
【００４８】
第４行目は、コメントのみである。
第５行目から第７行目までは、関数generalDataListenerの定義である。この関数は、上の第２行目において関数addGeneralDataListenerを呼び出す際の第１引数として指定されている関数である。なお、変数generaldataを、関数generalDataListenerのパラメーターとしている。変数generaldataは、図６で説明したgeneralData型の構造体である。第５行目の末尾の左カーリーブレースと、第７行目の右カーリーブレースとは、対を成している。この両カーリーブレースの間に、関数addGeneralDataListenerの具体的な処理を記述することができる。なお、同図においては第６行目にコメントのみが記述されているが、実際には実行文の列がここに記述される。
【００４９】
ここに示したようなコードをアプリケーションコード内に記述することにより、アプリケーションは、所望のＵＲＬ、所望の汎用データグループＩＤ、所望の汎用グループＩＤで指定される汎用データを受け取り、処理を行うことができる。
【００５０】
なお、アプリケーション実行部３１は、複数のアプリケーションプログラムを同時並行的に実行させることができる。複数のアプリケーションプログラムが稼働しているときにも、その各々が、独立にＡＰＩ関数を発行して、必要とする汎用データのみを受け取ることができる。
【００５１】
次に、送信装置側の機能構成等について説明する。
図８は、本実施形態による送信装置の概略機能構成を示すブロック図である。図示するように、送信装置６は、汎用データ供給部６０−１，６０−２，６０−３と、映像アセット供給部７１と、音声アセット供給部７２と、汎用データパケット生成部７３（汎用データアセット供給部）と、多重化部８１と、送信部８２とを含んで構成される。
【００５２】
映像アセット供給部７１は、映像アセットのデータを、多重化部８１に供給する。
音声アセット供給部７２は、音声アセットのデータを、多重化部８１に供給する。
【００５３】
汎用データ供給部６０−１，６０−２，６０−３のそれぞれは、放送信号に多重して送出するための汎用データを、汎用データパケット生成部７３に供給する。本実施形態では、３つの汎用データ供給部６０−１，６０−２，６０−３が、それぞれ、異なる汎用データＩＤによる汎用データを供給する。ただし、汎用データ供給部の個数は任意であり、３個以外でもよい。また、複数の汎用データ供給部が存在する場合において、各々の汎用データ供給部と汎用データＩＤ（または汎用データグループＩＤ）との対応関係は、任意である。
一例として、汎用データ供給部６０−１，６０−２，６０−３の各々は、受信装置１上で稼働するアプリケーションの種類に１対１に対応する。しかし、汎用データ供給部とアプリケーションとの対応関係は、これに限らず、任意である。
【００５４】
汎用データパケット生成部７３は、汎用データ供給部６０−１，６０−２，６０−３から供給される汎用データを用いて、汎用データパケットを生成する。具体的には、汎用データパケット生成部７３は、受け取った汎用データに、汎用データヘッダーの情報を付加して、前述の汎用データＭＦＵを生成する。また、１つまたは複数のＭＦＵから、ＭＰＵを生成する。汎用データパケット生成部７３は、生成した汎用データパケットを多重化部８１に供給する。つまり、汎用データパケット生成部７３は、受信装置側で稼働するアプリケーションに渡すためのデータの供給を受けて、このデータを用いて汎用データアセットを生成する。
【００５５】
多重化部８１は、汎用データパケット生成部７３から渡される汎用データアセットと、コンテンツを構成する他のアセットとを多重化して、多重化信号を生成する。なお、多重化部８１は、受信装置側のアプリケーションへの渡し方を制御するために汎用データに付加するデータ識別情報を、この多重化信号内に含める。より具体的には、多重化部８１は、映像アセット供給部７１から供給される映像アセットのデータと、音声アセット供給部７２から供給される音声アセットのデータと、汎用データパケット生成部７３から供給される汎用データアセットのデータとを、多重化して、送信部８２に渡す。なお、多重化部８１が他のアセット（例えば、字幕アセット等）のデータをさらに多重化するように構成してもよい。
【００５６】
送信部８２は、多重化部８１から受け取ったデータを含んだ放送信号を送信する。この放送信号は、上記の多重化部８１によって生成された多重化信号である。放送信号は、電波またはケーブルテレビの電気信号等として送出される。送信部８２は、所定の定められた変調方式により、多重化部８１から受け取ったデータを用いて搬送波を変調して送出する。
【００５７】
なお、送信装置６が送信する制御情報については、ここでは説明を省略する。
本実施形態において、汎用データ処理部２８の機能と汎用データ取得ＡＰＩ処理部３３の機能は、相補的である。つまり、汎用データ取得ＡＰＩ処理部３３の機能の一部を汎用データ処理部２８が行うように構成してもよいし、逆に、汎用データ処理部２８の機能の一部を汎用データ取得ＡＰＩ処理部３３が行うように構成してもよい。一形態としては、汎用データ取得ＡＰＩ処理部３３の機能を前述のＡＰＩ関数の処理をアプリケーション実行部３１において実行可能とし、汎用データ処理部２８の機能をその他のハードウェアまたはソフトウェアで実現する。ただし、この形態には限られない。
汎用データ処理部２８の機能と汎用データ取得ＡＰＩ処理部３３の機能とをあわせてデータ処理部と呼ぶことがある。つまり、データ処理部は、汎用データを取得するとともに、汎用データに付加されているデータ識別情報（汎用データグループＩＤや汎用データＩＤ）を取り出し、このデータ識別情報に基づいて汎用データのアプリケーションへの渡し方を制御するものである。また、このデータ処理部は、アプリケーションからの、データ識別情報（汎用データグループＩＤあるいは汎用データＩＤの少なくともいずれか）を指定したデータ受け取り要求（具体的には、前述の関数addGeneralDataListenerを呼び出すことによる要求）を受け付け、指定されたデータ識別情報を有する汎用データを取得したときに、その汎用データを要求元のアプリケーションに渡す。なお、データ処理部は、ＭＦＵ内の汎用データヘッダーの一部として格納された汎用データ識別情報または汎用データグループ識別情報の少なくともいずれかをデータ識別情報として取り出す。
【００５８】
［第２実施形態］
次に、本発明の第２実施形態について説明する。なお、以下では、前述の実施形態と同様の事項については説明を省略し、本実施形態に特有の事項を中心に説明する。また、本実施形態を説明するための図面において、前述の実施形態において既に説明した機能ブロックと同一の機能については、同一の符号を付す。
【００５９】
本実施形態では、汎用データに関連付けて、時刻制御モードの情報と汎用データタイプの情報とが、送信装置側から受信装置側へ伝送される。これらの情報は、汎用データに関する付加識別情報内に格納される。この付加識別情報は、ＭＭＴ方式による多重化信号のＭＰテーブルに配置されるＭＨ−データ符号化方式記述子の付加識別情報である。本実施形態における汎用データタイプの情報は、当該汎用データアセットで送られるデータ全体に関するデータ識別情報にあたる。汎用データタイプは、アプリケーションによる汎用データの利用方法を識別するためタイプを表す情報である。なお、詳細は、以下に説明する通りである。
【００６０】
図９は、第２実施形態による受信装置の概略機能構成を示すブロック図である。受信装置２もまた、いわゆるテレビ受像機であり、テレビの放送信号を受信するとともに、インターネット等を介したデータ通信を行う。図示するように、受信装置２は、受信部１１と、多重分離部１２と、通信入出力部１４と、映像デコード部２１と、音声デコード部２２と、アプリケーション記憶部２３と、汎用データ処理部１２８と、アプリケーション実行部１３１と、出力部３８と、を含んで構成される。つまり、受信装置２は、受信装置１における汎用データ処理部２８に代えて、汎用データ処理部１２８を備える。また、受信装置２は、受信装置１におけるアプリケーション実行部３１に代えて、アプリケーション実行部１３１を備える。また、アプリケーション実行部１３１は、受信装置１における汎用データ取得ＡＰＩ処理部３３に代えて、汎用データ取得ＡＰＩ処理部１３３を備える。
【００６１】
汎用データ処理部１２８は、第１実施形態における汎用データ処理部２８と同様の機能を持つ。また、汎用データ処理部１２８は、汎用データアセットのデータそのものを多重分離部１２から取得するとともに、汎用データに関する付加識別情報をも多重分離部１２から取得する。前述の通り、この付加識別情報には、時刻制御モードの情報と汎用データタイプの情報とが含まれる。汎用データ処理部１２８は、時刻制御モードの指定にしたがうタイミングで、汎用データをアプリケーションに渡す。また、汎用データ処理部１２８は、汎用データとともにその汎用データタイプの情報をアプリケーションに渡す。
【００６２】
アプリケーション実行部１３１は、第１実施形態におけるアプリケーション実行部３１と同様の機能を持つ。
汎用データ取得ＡＰＩ処理部１３３は、第１実施形態における汎用データ取得ＡＰＩ処理部３３と同様の機能を持つとともに、上記の汎用データ処理部１２８と連携して、時刻制御モードの指定にしたがうタイミングで、汎用データをアプリケーションに渡す。また、汎用データ取得ＡＰＩ処理部１３３は、上記の汎用データ処理部１２８と連携して、汎用データとともにその汎用データタイプの情報をアプリケーションに渡す。
【００６３】
図１０は、汎用データに関する付加識別情報（Additional_Arib_General_data_Info）の構成を示す概略図である。本実施形態では、この付加識別情報を、ＭＰテーブル内のＭＨ−データ符号化方式記述子の符号化方式ごとに定めるselector_byte（セレクター・バイト）内に格納して伝送するようにする。受信装置２において、受信した放送信号から、多重分離部１２がＭＰテーブルを抽出して汎用データ処理部１２８に渡す。汎用データ処理部１２８は、ＭＰテーブルから、この汎用データに関する付加識別情報を取得する。
なお、汎用データ伝送方式を用いて伝送されるデータについて、ＭＰテーブルには、ＭＨ−データ符号化方式記述子が配置され、data_component_idが割り当てられている。また、ＭＨ−ストリーム記述子が配置され各アセットにコンポーネントタグ値が割り当てられている。
【００６４】
図示するように、汎用データに関する付加識別情報は、component_tag，general_data_info_version，time_mode，general_data_typeの４つのデータ項目を含む。これらそれぞれのデータ項目の詳細は、次の通りである。
（１）component_tag（コンポーネントタグ）：このデータ項目は、汎用データのストリームを識別するための値を格納する。このデータ項目は、８ビットの符号なし整数で表される。
（２）general_data_info_version（汎用データ情報バージョン）：このデータ項目は、汎用データに関する付加識別情報のバージョンを示す。このデータ項目は、４ビットの符号なし整数で表される。
（３）time_mode（時刻制御モード）：このデータ項目は、汎用データに関する時刻制御モードの情報を格納する。時刻制御モードは、一例として、ＭＰＵに付加されるＭＰＵタイムスタンプを利用するか否かといったモードを表す。時刻制御モードの具体的な値とその意味については、後述する。このデータ項目は、４ビットのビット列として表現される。
（４）general_data_type（汎用データタイプ）：このデータ項目は、汎用データのタイプを格納する。汎用データタイプは、アプリケーションが汎用データを利用する際に、その汎用データの利用方法を識別するための情報である。汎用データタイプの具体的な値と意味は、運用時等に適宜定めるようにする。このデータ項目は、８ビットのビット列として表現される。
【００６５】
上記の汎用データタイプを指定することにより、アプリケーションは汎用データタイプを識別し、データタイプに応じた処理を行うことができる。
例えば、汎用データタイプの一つとして、伝送される汎用データがＭＰＥＧ−ＤＡＳＨのフラグメント化された映像データであることを示すことができる。受信装置２が、受信した汎用データがＭＰＥＧ−ＤＡＳＨのフラグメント化された映像データであることを識別できれば、アプリケーションはそのデータを映像データとして扱って再生させることが可能となる。
なお、ＭＦＵの汎用データヘッダーにもデータタイプを指定できる（図４を参照）が、このデータタイプは、ＭＦＵ単位でのＭＩＭＥ−ＴＹＰＥ等を指定するために用いられる。つまり、汎用データストリーム全体でデータの用途を示すことができるのは、図１０に示した通り、付加識別情報内に汎用データタイプの情報を持たせたことによる。これで、受信装置２側では、汎用データタイプに基づくデータの識別を行えるようになった。
【００６６】
図１１は、汎用データに関する付加識別情報に含まれる、時刻制御モードの値と意味との関係を示す概略図である。前述の通り、時刻制御モードは４ビットのビット列である。そして、図示するように、時刻制御モードは、値として「００００」または「０００１」が使用され、その他の値（「００１０」から「１１１１」まで）はリザーブされている。将来、このリザーブされている値を使用することもある。
【００６７】
時刻制御モードの値が「００００」（ビット列）であるとき、それは「時刻制御なし」を表す。つまり、このとき、受信装置２は、受信した汎用データに関して特に時刻の制御を行わない。通常、時刻制御が行われない汎用データが受信されたときには、その汎用データを待っているアプリケーションがある場合には汎用データ処理部１２８および汎用データ取得ＡＰＩ処理部１３３は即時にその汎用データをアプリケーションに渡す。また、その汎用データを受け取ったアプリケーションは、即時に、その汎用データを処理する。
【００６８】
時刻制御モードの値が「０００１」であるとき、それは「ＭＰＵタイムスタンプ利用」を表す。ここで「ＭＰＵ」は、前述のメディア・プロセシング・ユニットである。時刻制御モードが「ＭＰＵタイムスタンプ利用」であるとき、受信装置２は、受信した汎用データを、ＭＰＵタイムスタンプで指定された時刻に処理する。つまり、このとき、受信装置２は、汎用データを受信してもすぐにそのデータの処理を行わずに、タイムスタンプで指定された時刻までそのデータの処理を待つ。１つのＭＰＵに複数のＭＦＵが含まれる場合、受信装置２は、そのＭＰＵに含まれるすべてのＭＦＵに、そのタイムスタンプを適用する。つまり、ＭＰＵ内の複数のＭＦＵが送信装置側から順次伝送されてきても、受信装置２は、ＭＰＵタイムスタンプで指定された時刻まで待ってから、それらのＭＦＵのデータの処理を行う。つまり、ＭＰＵタイムスタンプを利用した時刻制御を行うことにより、複数のＭＦＵを同期させ、且つ、所望の時刻に処理し、その処理の結果を出力（提示）することができる。
つまり、本実施形態では、汎用データを処理する時刻を制御することができる。具体的には、アプリケーションは、例えば、複数のファイルのデータを同期させながら処理することができる。
【００６９】
なお、ＭＰＵタイムスタンプの情報は、ＭＰＵタイムスタンプ記述子内に記述される。ＭＰＵタイムスタンプ記述子は、ＭＰテーブルのasset_descriptors（アセット記述子）の領域内に挿入される。ＭＰＵタイムスタンプ記述子は、mpu_sequence_number（ＭＰＵシーケンス番号）とmpu_presentation_time（ＭＰＵ提示時刻）の対を、複数組、保持することができるように構成されている。
【００７０】
なお、本実施形態では、ＭＰＵタイムスタンプによるタイミングの制御を、汎用データ処理部１２８と汎用データ取得ＡＰＩ処理部１３３とが連携して行うようにしている。ただし、その変形例として、汎用データ処理部１２８と汎用データ取得ＡＰＩ処理部１３３は受信した汎用データを即時にアプリケーションに渡し、アプリケーション側でＭＰＵタイムスタンプに応じた処理のタイミングの制御を行うようにしてもよい。この場合には、汎用データ取得ＡＰＩ処理部１３３からアプリケーションに対して、ＭＰＵタイムスタンプの情報が渡される。
なお、前実施形態と同様に、汎用データ処理部１２８の機能と汎用データ取得ＡＰＩ処理部１３３の機能とをあわせてデータ処理部と呼ぶことがある。
データ処理部は、汎用データを取得したときにアプリケーションからのデータ受け取り要求に基づいてその汎用データと上記の汎用データタイプの情報とを要求元のアプリケーションに渡す。
また、データ処理部は、付加識別情報内に含まれる時刻制御モードの情報を取得し、この時刻制御モードにしたがって汎用データをアプリケーションに渡すタイミングを制御する。
また、データ処理部は、前記時刻制御モードがメディア・プロセシング・ユニット・タイムスタンプ利用モードを示す場合には、メディア・プロセシング・ユニットに属するすべての前記データを、当該メディア・プロセシング・ユニットに対応するタイムスタンプが示すタイミングで前記アプリケーションに渡す。
【００７１】
次に、送信装置側の機能構成等について説明する。
図１２は、本実施形態による送信装置の概略機能構成を示すブロック図である。図示するように、送信装置７は、汎用データ供給部６０−１，６０−２，６０−３と、映像アセット供給部７１と、音声アセット供給部７２と、汎用データパケット生成部７３（汎用データアセット供給部）と、多重化部８１と、送信部８２と、制御情報設定部９１と、汎用データ付加識別情報設定部９２とを含んで構成される。つまり、送信装置７の構成における特徴は、制御情報設定部９１の内部に汎用データ付加識別情報設定部９２を備えることである。
【００７２】
制御情報設定部９１は、放送信号に多重されて伝送される制御情報を設定するものである。
汎用データ付加識別情報設定部９２は、制御情報設定部９１の機能の一部分であり、汎用データに関する付加識別情報を設定する機能を有する。汎用データに関する付加識別情報の構成については、既に図１０，図１１を参照しながら説明した通りである。具体的には、汎用データ付加識別情報設定部９２は、例えば汎用データパケット生成部７３あるいは汎用データ供給部６０−１，６０−２，６０−３から渡される情報に基づいて、汎用データタイプの情報を付加識別情報内に設定する。また、汎用データ付加識別情報設定部９２は、例えば汎用データパケット生成部７３あるいは汎用データ供給部６０−１，６０−２，６０−３から渡される情報に基づいて、汎用データの時刻制御モードの情報を付加識別情報内に設定する。
【００７３】
［第３実施形態］
次に、本発明の第３実施形態について説明する。なお、以下では、前述の実施形態と同様の事項については説明を省略し、本実施形態に特有の事項を中心に説明する。
本実施形態は、第１実施形態の技術と第２実施形態の技術とを組み合わせたものである。
つまり、本実施形態では、図４に示したように、ＭＦＵ内の汎用データヘッダー内の付加情報に、汎用データグループＩＤと汎用データＩＤと汎用データバージョンとを含めて伝送するようにする。
また、本実施形態では、図５に示したＡＰＩ関数を使用可能とする。即ち、受信装置上で稼働するアプリケーションは、関数ａｄｄＧｅｎｅｒａｌＤａｔａＬｉｓｔｅｎｅｒを呼び出すことによって、リスナー関数と、データストリームのＵＲＬと、汎用データグループＩＤ（ただし、省略可能）と、汎用データＩＤ（ただし、省略可能）とを指定する。これにより、アプリケーションが指定したＵＲＬの、指定したＩＤ（汎用データグループＩＤと汎用データＩＤ）に合致するデータのみがアプリケーションに渡される。
また、本実施形態では、図１０に示したように、汎用データの付加識別情報内に、時刻制御モードの情報と汎用データタイプの情報を含ませる。これにより、アプリケーションに汎用データを渡すタイミングに関する制御が可能となる。また、アプリケーションによるデータの使用のしかたを識別する情報（汎用データタイプ）が、アプリケーションに渡される。
【００７４】
なお、上述した各実施形態における受信装置、送信装置の少なくとも一部の機能をコンピューターで実現するようにしても良い。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００７５】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００７６】
本発明は、コンテンツ提供事業に利用できる。また、本発明は、コンテンツの送受信のために用いられる装置（テレビ受像機等）に利用できる。
【符号の説明】
【００７７】
１，２  受信装置
６，７  送信装置
１１  受信部
１２  多重分離部
１４  通信入出力部
２１  映像デコード部
２２  音声デコード部
２３  アプリケーション記憶部
２８，１２８  汎用データ処理部（データ処理部）
３１，１３１  アプリケーション実行部
３３，１３３  汎用データ取得ＡＰＩ処理部
３８  出力部
６０−１，６０−２，６０−３  汎用データ供給部
７１  映像アセット供給部
７２  音声アセット供給部
７３  汎用データパケット生成部（汎用データアセット供給部）
８１  多重化部
８２  送信部
９１  制御情報設定部
９２  汎用データ付加識別情報設定部
【図１】
2017098678.tif 000003
【図２】
2017098678.tif 000004
【図３】
2017098678.tif 000005
【図４】
2017098678.tif 000006
【図５】
2017098678.tif 000007
【図６】
2017098678.tif 000008
【図７】
2017098678.tif 000009
【図８】
2017098678.tif 000010
【図９】
2017098678.tif 000011
【図１０】
2017098678.tif 000012
【図１１】
2017098678.tif 000013
【図１２】
2017098678.tif 000014