(57)【要約】 【課題】  処理の複雑化を抑えることが可能な多重化装置を提供する。【解決手段】  多重化装置は、受信処理部、データ保持部、制御部、及び再構築処理部を具備する。受信処理部は、入力されるＰＡメッセージから、アセットを識別するためのアセット識別情報と、アセット識別情報により識別されるアセットに格納されている記述子との対を更新情報として取り出す。データ保持部は、取り出された更新情報を保持するための第１乃至第３のキューが設定される。制御部は、取り出された更新情報を第１のキューに保持させ、取り出された全ての更新情報が第１のキューに保持されると、第１のキューが保持している更新情報を第２のキューへ移動させ、所定のタイミングで第２のキューが保持している更新情報を第３のキューへ移動させ、第３のキューが保持している更新情報を出力させる。再構築処理部は、第３のキューから出力された更新情報に基づき、ＰＡメッセージを再構築する。【選択図】図４
2017168948.tif 000002
【特許請求の範囲】
【請求項１】
入力されるＰＡ（Package Access）メッセージから、アセットを識別するためのアセット識別情報と、前記アセット識別情報により識別されるアセットに格納されている記述子との対を更新情報として取り出す受信処理部と、
前記取り出された更新情報を保持するための第１乃至第３のキューが設定されるデータ保持部と、
前記取り出された更新情報を前記第１のキューに保持させ、前記取り出された全ての更新情報が前記第１のキューに保持されると、前記第１のキューが保持している更新情報を前記第２のキューへ移動させ、所定のタイミングで前記第２のキューが保持している更新情報を前記第３のキューへ移動させ、前記第３のキューが保持している更新情報を出力させる制御部と、
前記第３のキューから出力された更新情報に基づき、ＰＡメッセージを再構築する再構築処理部と
を具備する多重化装置。
【請求項２】
前記データ保持部において、前記第１乃至第３のキューは前記更新情報のリストとして実装される請求項１記載の多重化装置。
【請求項３】
前記データ保持部において、前記第１乃至第３のキューはリングバッファとして実装される請求項１記載の多重化装置。
【請求項４】
前記データ保持部は、前記第１のキューを複数有し、
前記制御部は、前記第１のキューのそれぞれに、１つのＰＡメッセージから取り出される更新情報を保持させ、前記取り出された全ての更新情報を保持している第１のキューから、保持している更新情報を前記第２のキューへ移動させる請求項１乃至３のいずれかに記載の多重化装置。
【請求項５】
入力されるＰＡ（Package Access）メッセージから、アセットを識別するためのアセット識別情報と、前記アセット識別情報により識別されるアセットに格納されている記述子との対を更新情報として取り出し、
前記取り出された更新情報を、データ保持部に設けられる第１のキューに保持し、
前記取り出された全ての更新情報が前記第１のキューに保持されると、前記第１のキューが保持している更新情報を、前記データ保持部に設けられる第２のキューへ移動し、
所定のタイミングで前記第２のキューが保持している更新情報を、前記データ保持部に設けられる第３のキューへ移動して、前記第３のキューから前記更新情報を出力するデータ出力方法。
【請求項６】
前記データ保持部が前記第１のキューを複数有する場合、
前記第１のキューのそれぞれに、１つのＰＡメッセージから取り出される更新情報を保持させ、前記取り出された全ての更新情報を保持している第１のキューから、保持している更新情報を前記第２のキューへ移動する請求項５記載のデータ出力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＭＭＴ（MPEG Multimedia Transport）を利用してデータを送信する放送システムで用いられる多重化装置、及びこの装置で用いられるデータ出力方法に関する。
【背景技術】
【０００２】
近年、次世代デジタル放送のメディアトランスポート方式として、ＭＭＴ（MPEG Media Transport）の標準化が進められている。ＭＭＴによれば、放送と通信とのハイブリッド配信が可能となる。
【０００３】
ところで、ＭＭＴでは、ハイブリッド配信において映像及び音声等のコンポーネントを同期して再生するために、コンポーネントのエンコード、デコード単位であるＭＰＵ（Media Processing Unit）に表示時刻を記述せず、制御情報であるＰＡ（Package Access）メッセージに表示時刻を記述するようにしている。このため、ＭＭＴ多重化装置は、主信号のみならず、ＰＡメッセージも多重化する必要がある。
【０００４】
ＰＡメッセージは、番組に相当するパッケージの属性に関する記述子、及びパッケージを構成するアセットの属性に関する記述子を含む。アセットは同じ種類のＭＰＵの集合であり、映像アセット、音声アセット、字幕アセット、文字スーパーアセット、及びデータアセット等のタイプがある。記述子には、表示時刻のようにＭＭＴ多重化装置が受信するＰＡメッセージ（以下、入力ＰＡメッセージと称する。）に含まれているものと、ＭＭＴ多重化装置が予め保持しているＰＡメッセージ（以下、ＰＡメッセージテンプレートと称する。）に含まれているものがある。ＭＭＴ多重化装置は、エンコーダ等の他の機器から供給される入力ＰＡメッセージを受信し、受信した入力ＰＡメッセージに含まれる記述子と、ＰＡメッセージテンプレートに含まれる記述子とに基づき、送出するＰＡメッセージ（以下、送出ＰＡメッセージと称する。）を再構築する。
【０００５】
ＭＭＴ多重化装置は、送出ＰＡメッセージを予め設定された送出周期で送出する。ＭＭＴ多重化装置が入力ＰＡメッセージを受信するタイミングと、送出ＰＡメッセージを送出するタイミングとは同期していない。ＭＭＴ多重化装置は、入力ＰＡメッセージに含まれる記述子に基づいて送出ＰＡメッセージを再構築するため、入力ＰＡメッセージから取り出した記述子等の情報を保持しておくためのメモリ領域を備えている。
【０００６】
ＭＭＴ多重化装置においてメモリ領域は、書き込み用キューと、読み出し用キューとから構成されるのが一般的である。後段の機器の誤動作を防ぐため、１つの入力ＰＡメッセージに含まれる記述子は、同一の送出ＰＡメッセージに含められる。書き込み用キューは、内部にキューがさらに設けられ、このキューで各機器から供給される入力ＰＡメッセージ毎の情報を保持するようにしている。しかしながら、このようなキューの２重構造は、処理の複雑化を招く要因となる。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】「デジタル放送におけるＭＭＴによるメディアトランスポート方式」、ＡＲＩＢ  ＳＴＤ−Ｂ６０  １．０版
【発明の概要】
【発明が解決しようとする課題】
【０００８】
そこで、目的は、処理の複雑化を抑えることが可能な多重化装置、及びこの装置で用いられるデータ出力方法を提供することにある。
【課題を解決するための手段】
【０００９】
実施形態によれば、多重化装置は、受信処理部、データ保持部、制御部、及び再構築処理部を具備する。受信処理部は、入力されるＰＡメッセージから、アセットを識別するためのアセット識別情報と、前記アセット識別情報により識別されるアセットに格納されている記述子との対を更新情報として取り出す。データ保持部は、前記取り出された更新情報を保持するための第１乃至第３のキューが設定される。制御部は、前記取り出された更新情報を前記第１のキューに保持させ、前記取り出された全ての更新情報が前記第１のキューに保持されると、前記第１のキューが保持している更新情報を前記第２のキューへ移動させ、所定のタイミングで前記第２のキューが保持している更新情報を前記第３のキューへ移動させ、前記第３のキューが保持している更新情報を出力させる。再構築処理部は、前記第３のキューから出力された更新情報に基づき、ＰＡメッセージを再構築する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施形態に係る多重化装置が設けられる放送送出システムの機能構成を示すブロック図である。
【図２】図２は、本実施形態に係るＰＡメッセージの構成を示す図である。
【図３】図３は、図２に示されるＰＡメッセージが格納するＭＰテーブルの構成を示す図である。
【図４】図４は、図１に示される多重化装置の機能構成を示すブロック図である。
【図５】図５は、図４に示される制御部がバッファへＰＡメッセージ更新情報を書き込む際の動作を表すフローチャートである。
【図６】図６は、ＰＡメッセージ更新情報がバッファへ書き込まれる際の、書き込み中キュー、及び書き込み済キューの構造を表す図である。
【図７】図７は、ＰＡメッセージ更新情報がバッファへ書き込まれる際の、書き込み中キュー、及び書き込み済キューの構造を表す図である。
【図８】図８は、図４に示される制御部がバッファからＰＡメッセージ更新情報を読み出す際の動作を表すフローチャートである。
【図９】図９は、ＰＡメッセージ更新情報がバッファから読み出される際の、書き込み済キュー、及び読み出しキューの構造を表す図である。
【図１０】図１０は、ＰＡメッセージ更新情報がバッファから読み出される際の、書き込み済キュー、及び読み出しキューの構造を表す図である。
【図１１】図１１は、キューをリングバッファとして実装する場合のバッファの構造を示す図である。
【図１２】図１２は、変形例１においてＰＡメッセージ更新情報がバッファへ書き込まれる際の、書き込み中キュー、及び書き込み済キューの構造を表す図である。
【図１３】図１３は、変形例１においてＰＡメッセージ更新情報がバッファへ書き込まれる際の、書き込み中キュー、及び書き込み済キューの構造を表す図である。
【図１４】図１４は、変形例１においてＰＡメッセージ更新情報がバッファから読み出される際の、書き込み済キュー、及び読み出しキューの構造を表す図である。
【図１５】図１５は、変形例１においてＰＡメッセージ更新情報がバッファから読み出される際の、書き込み済キュー、及び読み出しキューの構造を表す図である。
【図１６】図１６は、変形例２におけるバッファの構造を示す図である。
【図１７】図１７は、従来のバッファにおけるキューの構造を表す図である。
【発明を実施するための形態】
【００１１】
以下、実施の形態について、図面を参照して説明する。
【００１２】
図１は、本実施形態に係る多重化装置４０が設けられる放送送出システム１の機能構成の例を示すブロック図である。図１に示される放送送出システム１は、ＩＰ（Internet Protocol）方式の放送信号を送信する。放送送出システム１は、信号送出装置１０、ビデオエンコーダー２１、オーディオエンコーダー２２、キャプションエンコーダー２３、ファイルエンコーダー２５、情報システム３０、多重化装置４０、及び送信装置５０を具備する。
【００１３】
信号送出装置１０は、例えば、ＴＶ放送局のスタジオ、及びＶＴＲ等の記録再生機である。信号送出装置１０は、ビデオ、オーディオ、及び字幕等のストリームデータを、ビデオエンコーダー２１、オーディオエンコーダー２２、及びキャプションエンコーダー２３へそれぞれ出力する。また、信号送出装置１０は、データ放送用のＨＴＭＬ文書データ等のファイルデータをファイルエンコーダー２５へ出力する。ファイルデータは、データ放送コンテントを構成する。
【００１４】
情報システム３０は、ＴＶ放送局のスケジューラー、及びファイルの供給源である。情報システム３０は、ＨＴＭＬ文書データ等のファイルデータをファイルエンコーダー２５へ出力する。
【００１５】
ビデオエンコーダー２１は、信号送出装置１０から送出されるビデオ信号を符号化し、符号化したビデオ信号をパケット化して、ビデオのＭＭＴＰパケットを生成する。同時に、ビデオエンコーダー２１は、符号化したビデオ信号の提示時刻を示すＭＰＵタイムスタンプ記述子及びＭＰＵ拡張タイムスタンプ記述子を格納するＰＡ（Package Access）メッセージをペイロード部に配置したＭＭＴＰパケットも生成する。ビデオエンコーダー２１は、生成したＭＭＴＰパケットを多重化装置４０へ出力する。
【００１６】
オーディオエンコーダー２２は、信号送出装置１０から送出されるオーディオ信号を符号化し、符号化したオーディオ信号をパケット化して、オーディオのＭＭＴＰパケットを生成する。同時に、オーディオエンコーダー２２は、符号化したオーディオ信号の提示時刻を示すＭＰＵタイムスタンプ記述子およびＭＰＵ拡張タイムスタンプ記述子を格納するＰＡメッセージをペイロード部に配置したＭＭＴＰパケットを生成する。オーディオエンコーダー２２は、生成したＭＭＴＰパケットを多重化装置４０へ出力する。
【００１７】
キャプションエンコーダー２３は、信号送出装置１０から送出される字幕信号を符号化し、符号化した字幕信号をパケット化して、字幕のＭＭＴＰパケットを生成する。キャプションエンコーダー２３は、字幕信号の符号化方式に依存して、符号化方式を示すＭＨ-データ符号化方式記述子を格納するＰＡメッセージをペイロード部に配置したＭＭＴＰパケットを生成することがある。キャプションエンコーダー２３は、生成したＭＭＴＰパケットを多重化装置４０へ出力する。
【００１８】
ファイルエンコーダー２５は、信号送出装置１０又は情報システム３０から送出されるファイルデータを、必要に応じて分割して、ファイルデータを含むＭＭＴＰパケットを生成する。ファイルエンコーダー２５は、伝送方式に依存して、伝送に関する制御情報を示すＭＨ-データ符号化記述子を格納するＰＡメッセージをペイロード部に格納するＭＭＴＰパケットを生成することがある。ファイルデータを映像・音声と同期させる場合はＰＡメッセージは必須であり、ファイルデータの提示時刻を示すＭＰＵタイムスタンプ記述子もＰＡメッセージに格納される。ファイルエンコーダー２５は、生成したＭＭＴＰパケットを多重化装置４０へ出力する。
【００１９】
多重化装置４０は、ビデオエンコーダー２１、オーディオエンコーダー２２、キャプションエンコーダー２３、ファイルエンコーダー２５から出力されるＭＭＴＰパケットを多重化し、ＴＬＶパケットを生成する。また、多重化装置４０は、ＴＬＶパケットに基づいて放送ストリームを生成する。多重化装置４０は、放送ストリームを送信装置５０へ出力する。
【００２０】
送信装置５０は、多重化装置４０で生成された放送ストリームに対してＲＦ（Radio Frequency）変調処理等の送信処理を実施し、送信処理を施した後の放送ストリームをＲＦ伝送路へ送出する。
【００２１】
図１に示される多重化装置４０は、ＭＭＴＰパケットを多重する際、ビデオエンコーダー２１、オーディオエンコーダー２２、キャプションエンコーダー２３、ファイルエンコーダー２５から出力されるＭＭＴＰパケットに基づき、所定のＰＡメッセージを含むＭＭＴＰパケットを新たに生成する。具体的には、多重化装置４０は、ビデオエンコーダー２１、オーディオエンコーダー２２、キャプションエンコーダー２３、ファイルエンコーダー２５から出力されるＰＡメッセージをペイロード部に配置したＭＭＴＰパケットに対してデパケット化処理を施すことで、ＭＭＴＰパケットからＰＡメッセージを取得する。多重化装置４０は、取得したＰＡメッセージと、予め記憶しているＰＡメッセージとに基づき、後段の機器へ送出するためのＰＡメッセージを再構築する。多重化装置４０は、再構築したＰＡメッセージをペイロード部に配置した新たなＭＭＴＰパケットを生成する。
【００２２】
ＰＡメッセージは、ＭＰテーブルを格納し、ＭＰ（MMT Package）テーブルにアセット毎の属性を表す記述子を格納している。アセットは、同じ種類のＭＰＵ（Media Processing Unit）の集合であり、映像アセット、音声アセット、字幕アセット、文字スーパーアセット、及びデータアセット等のタイプがある。なお、ＰＡメッセージのＭＰテーブルは、番組に相当するパッケージ全体の属性を表す記述子も格納しているが、本実施形態では説明を割愛する。図２は、本実施形態に係るＰＡメッセージの構成例を示す図である。図２において、「table ()」にこのＰＡメッセージが格納するテーブルが示される。図３は、ＰＡメッセージが格納するＭＰテーブルの構成例を示す図である。図３において、「asset_descriptors_byte」に、アセットの記述子が格納される。
【００２３】
本実施形態では、受信したＭＭＴＰパケットから取得するＰＡメッセージを入力ＰＡメッセージと称する。また、多重化装置４０が予め記憶しているＰＡメッセージをＰＡメッセージテンプレートと称する。また、多重化装置４０が再構築するＰＡメッセージを送出ＰＡメッセージと称する。
【００２４】
図４は、図１に示される多重化装置４０の機能構成を示すブロック図である。図４に示される多重化装置４０は、例えば、ＣＰＵ（Central Processing Unit）、ＣＰＵが処理を実行する際に用いるメモリ、ＣＰＵからの制御に従って所定の処理を実行するＦＰＧＡ、及び記憶回路等を備える。多重化装置４０は、ＣＰＵがＦＰＧＡに所定の処理を実行させることで、図４に示される受信処理部４１、バッファ４２、記憶部４３、再構築処理部４４、送出処理部４５、及び制御部４６の機能を実現する。なお、多重化装置４０の各機能は、独立したＦＰＧＡにより実現されてもよいし、複数のＦＰＧＡにより実現されても構わない。また、多重化装置４０は、ＦＰＧＡの代わりにＬＳＩ（Large-Scale Integration）等の半導体チップにより機能を実現しても構わない。また、多重化装置４０は、ソフトウェアにより所定のプログラムを実行することで機能を実現しても構わない。
【００２５】
受信処理部４１は、入力ＰＡメッセージを入力する。受信処理部４１は、入力ＰＡメッセージから、アセットを識別するためのアセット識別情報と、アセット識別情報により識別されるアセットに格納されている記述子とを取り出す。アセット識別情報は、例えば、インタフェース番号、フロー、パケットＩＤ、及びアセットＩＤ等を含む。インタフェース番号は、入力ＰＡメッセージを含むＭＭＴＰパケットが入力されたインタフェースの番号を表す。フローには、このＭＭＴＰパケットを送信した送信元のＩＰアドレス、この送信元においてＭＭＴＰパケットを送信したポート番号、このＭＭＴＰパケットを送信した際の宛先のＩＰアドレス、及びこのＭＭＴＰパケットを受信したポート番号が含まれる。入力ＰＡメッセージに格納される記述子には、例えば、映像アセットの表示時刻、及び音声アセットの再生時刻を示すＭＰＵタイムスタンプ記述子等が含まれる。受信処理部４１により取り出される記述子は、入力ＰＡメッセージに含まれる全ての記述子であってもよいし、入力ＰＡメッセージに含まれる記述子のうち、送出ＰＡメッセージへの転記が希望される記述子であってもよい。
【００２６】
受信処理部４１は、アセット識別情報と、このアセット識別情報により識別されるアセットに格納されている記述子のうち１つの記述子との対を１セットの情報とする。以下では、この１セットの情報を、ＰＡメッセージ更新情報と称する。例えば、入力ＰＡメッセージにおいて、１つのアセットに複数の記述子が付されている場合、アセット識別情報が同一の複数のＰＡメッセージ更新情報が取り出されることになる。受信処理部４１は、ＰＡメッセージ更新情報をバッファ４２へ出力する。
【００２７】
バッファ４２は、受信処理部４１から出力されるＰＡメッセージ更新情報を再構築処理部４４へ受け渡すためのデータ保持部である。バッファ４２には、３つのキューが設定される。バッファ４２は、受信処理部４１から出力されるＰＡメッセージ更新情報を、３つのキューを利用して保持する。
【００２８】
具体的には、バッファ４２には、図４に示されるように書き込み中キュー、書き込み済キュー、及び読み出しキューが設けられる。受信処理部４１から出力されるＰＡメッセージ更新情報は、制御部４６の指示に従い、バッファ４２に書き込まれる。書き込まれたＰＡメッセージ更新情報は、書き込み中キューに追加される。書き込み中バッファに追加されたＰＡメッセージ更新情報は、制御部４６の指示により書き込み済キューに移動され、書き込み済キューに追加される。書き込み済キューに追加されたＰＡメッセージ更新情報は、制御部４６の指示により読み出しキューへ移動され、読み出しキューから読み出される。
【００２９】
記憶部４３は、ＰＡメッセージテンプレートを予め記憶する。ＰＡメッセージテンプレートには、内容が変更されることが少ない記述子が含まれる。このような記述子には、例えば、映像コンポーネントについて説明する映像コンポーネント記述子、映像フォーマットを示すＭＨ−ＨＥＶＣビデオ記述子、及び暗号アルゴリズムの種別等を識別するスクランブル方式記述子等が含まれる。
【００３０】
再構築処理部４４は、バッファ４２から読み出されたＰＡメッセージ更新情報と、記憶部４３に記憶されているＰＡメッセージテンプレートに含まれる記述子とに基づき、送出ＰＡメッセージを再構築する。
【００３１】
送出処理部４５は、再構築処理部４４で再構築された送出ＰＡメッセージを、予め設定される送出周期に従って送出ＰＡメッセージを後段の構成要素、例えば、符号化部、及びパケット化部等へ出力する。
【００３２】
次に、上記のように構成される多重化装置４０がバッファ４２へＰＡメッセージ更新情報を書き込む処理、及びバッファ４２からＰＡメッセージ更新情報を読み出す処理について詳細に説明する。なお、以下の説明では、書き込み中キュー、書き込み済キュー、及び読み出しキューがＰＡメッセージ更新情報のリストとして実装される場合を例に説明する。
【００３３】
図５は、図４に示される制御部４６がバッファ４２へＰＡメッセージ更新情報を書き込む際の動作の例を表すフローチャートである。また、図６及び図７は、ＰＡメッセージ更新情報がバッファ４２へ書き込まれる際の、書き込み中キュー、及び書き込み済キューの構造例を表す模式図である。なお、図５乃至図７の説明では、入力ＰＡメッセージＭ１から取り出されたＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎがバッファ４２に書き込まれる場合を例に説明する。
【００３４】
まず、制御部４６は、入力ＰＡメッセージＭ１から取り出されるＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎを書き込み中キューへ順次書き込む（ステップＳ５１）。具体的には、制御部４６は、ＰＡメッセージ更新情報Ｍ１−１を、バッファ４２における所定の領域に書き込み、要素Ｅ１−１とする。制御部４６は、書き込み中キューのキューヘッダのポインタが要素Ｅ１−１のアドレスを指すようにする。続いて、制御部４６は、ＰＡメッセージ更新情報Ｍ１−２を、バッファ４２における所定の領域に書き込み、要素Ｅ１−２とする。制御部４６は、要素Ｅ１−１のポインタが要素Ｅ１−２のアドレスを指すようにする。制御部４６は、ＰＡメッセージ更新情報Ｍ１−３〜Ｍ１−ｎに対しても同様の処理を実施する。すなわち、制御部４６は、ＰＡメッセージ更新情報Ｍ１−３〜Ｍ１−ｎをバッファ４２における所定の領域に順次書き込み、要素Ｅ１−３〜Ｅ１−ｎとする。制御部４６は、先に取り出されたＰＡメッセージ更新情報が書き込まれた要素のポインタが、続いて取り出されたＰＡメッセージ更新情報が書き込まれた要素のアドレスを指すようにする。これにより、図６に示されるように、ＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎが、書き込み中キューへ追加される。なお、後段の機器の誤動作を防ぐため、同一の入力ＰＡメッセージに含まれる記述子は、同一の送出ＰＡメッセージに含められる。そのため、入力ＰＡメッセージＭ１から取り出される全てのＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎが書き込み中キューに追加されるまでは、他の入力ＰＡメッセージから取り出されるＰＡメッセージ更新情報が書き込み中キューに追加されることはない。
【００３５】
制御部４６は、入力ＰＡメッセージＭ１から取り出される最後のＰＡメッセージ更新情報Ｍ１−ｎの書き込み中キューへの追加が完了したか否かを判断する（ステップＳ５２）。完了した場合（ステップＳ５２のＹｅｓ）、制御部４６は、書き込み中キューに追加されたＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎを、書き込み済キューに移動させるスレッドを実行する（ステップＳ５３）。ＰＡメッセージ更新情報Ｍ１−ｎの追加が完了していない場合（ステップＳ５２のＮｏ）、制御部４６は、ＰＡメッセージ更新情報Ｍ１−ｎが書き込み中キューに追加されるまで、ステップＳ５１の処理を繰り返す。
【００３６】
ステップＳ５３において、制御部４６により実行されたスレッドは、書き込み中キュー、及び書き込み済キューについてのロックを取得する。なお、ロックとは、キューに対する、いわゆる、排他的なアクセス権限を意味する。このスレッドでは、書き込み中キューに追加されたＰＡメッセージ更新情報が、書き込み済キューへ移動される。具体的には、制御部４６は、書き込み中キューのキューヘッダのポインタがいずれの要素も指定しないようにする。また、制御部４６は、書き込み済キューのキューヘッダのポイントが、要素Ｅ１−１のアドレスを指すようにする。これにより、図７に示されるように、ＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎが、書き込み済キューへ移動されることになる。すなわち、ＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎは、書き込み済キューで保持され、書き込み中キューは空の状態になる。スレッドは、ＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎを書き込み済キューへ移動させると、ロックを解放する。
【００３７】
制御部４６は、次の入力ＰＡメッセージＭ２からＰＡメッセージ更新情報Ｍ２−１が取り出され、かつ、書き込み中キューのロックが解放されている場合、取り出されたＰＡメッセージ更新情報Ｍ２−１を、書き込み中キューへ追加する。
【００３８】
図８は、図４に示される制御部４６がバッファ４２からＰＡメッセージ更新情報を読み出す際の動作の例を表すフローチャートである。また、図９及び図１０は、ＰＡメッセージ更新情報がバッファ４２から読み出される際の、書き込み済キュー、及び読み出しキューの構造例を表す模式図である。なお、図８乃至図１０の説明では、入力ＰＡメッセージＭ１から取り出されるＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎがバッファ４２から読み出される場合を例に説明する。
【００３９】
まず、制御部４６は、予め設定されるタイミング、例えば、所定のクロック回数が経過すると（ステップＳ８１のＹｅｓ）、書き込み済キューに保持されているＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎを、読み出しキューに移動させるスレッドを実行する（ステップＳ８２）。
【００４０】
ステップＳ８２において、制御部４６により実行されたスレッドは、書き込み済キュー、及び読み出しキューについてのロックを取得する。このスレッドでは、書き込み済キューに保持されているＰＡメッセージ更新情報が、読み出しキューへ移動される。具体的には、制御部４６は、書き込み済キューのキューヘッダのポインタがいずれの要素も指定しないようにする。また、制御部４６は、読み出しキューのキューヘッダのポイントが、要素Ｅ１−１のアドレスを指すようにする。これにより、図９に示されるように、ＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎが、読み出しキューへ移動されることになる。すなわち、ＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎは、読み出しキューで保持され、書き込み済キューは空の状態になる。スレッドは、ＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎを読み出しキューへ移動させると、ロックを解放する。
【００４１】
制御部４６は、書き込み済キューに保持されているＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎが、読み出しキューに移動され、スレッドによるロックが解放されると、読み出しキューに保持されているＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎを先頭から全て読み出す（ステップＳ８３）。これにより、図１０に示されるように、ＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎが、読み出しキューから読み出される。
【００４２】
なお、ステップＳ５３で実行されるスレッドがロックを取得している際に、ステップＳ８２で記載されるスレッドが実行される場合、又は、ステップＳ８２で実行されるスレッドがロックを取得している際に、ステップＳ５３で記載されるスレッドが実行される場合がある。このような場合、ロックを取得したスレッドがロックを解放した後に、後のスレッドが実行される。
【００４３】
以上のように、上記実施形態では、多重化装置４０は、バッファ４２に書き込み中キュー、書き込み済キュー、及び読み出しキューが設定される。そして、制御部４６は、ＰＡメッセージ更新情報を書き込み中キューに追加し、追加したＰＡメッセージ更新情を書き込み済キューで保持し、保持しているＰＡメッセージ更新情報を読み出しキューから読み出すようにしている。これにより、キューの構造が２重になることを避けることが可能となる。
【００４４】
したがって、本実施形態に係る多重化装置４０によれば、処理の複雑化を抑えることができる。また、本実施形態に係る多重化装置４０によれば、簡単なデータ構造で、排他制御区間の増大を抑え、かつ、「１つの入力ＰＡメッセージから取り出されたＰＡメッセージ更新情報は、全て同じ送出ＰＡメッセージに記述されなければならない」という規格上の要求を満たすことができる。
【００４５】
（変形例１）  
図６、図７、図９、及び図１０では、書き込み中キュー、書き込み済キュー、及び読み出しキューがＰＡメッセージ更新情報のリストとして実装される場合を例に説明した。しかしながら、これに限定されない。例えば、書き込み中キュー、書き込み済キュー、及び読み出しキューは、リングバッファとして実装されてもよい。
【００４６】
図１１は、書き込み中キュー、書き込み済キュー、及び読み出しキューを、リングバッファとして実装する場合のバッファ４２の構造例を模式的に示す図である。図１１で示されるように、バッファ４２には、書き込み中キューのための領域、書き込み済キューのための領域、及び読み出しキューのための領域が設けられる。図１１で示される読み出しキューヘッドは、読み出しキューのための領域の先頭を示す指標であり、例えば、読み出しキューに保持されているデータの先頭アドレス、又は、保持されているデータの先頭までのバイト数により表される。また、書き込み済キューヘッドは、書き込み済キューのための領域の先頭を示す指標であり、例えば、書き込み済キューに保持されているデータの先頭アドレス、又は、バッファの先頭から、保持されているデータの先頭までのバイト数により表される。また、書き込み中キューヘッドは、書き込み中キューのための領域の先頭を示す指標であり、例えば、書き込み中キューに保持されているデータの先頭アドレス、又は、バッファの先頭から、保持されているデータの先頭までのバイト数により表される。また、ＴＡＩＬは、空き領域の先頭を示す指標であり、例えば、書き込み中キューに保持されているデータの末尾アドレス、又は、バッファの先頭から、書き込み中キューに保持されているデータの末尾までのバイト数により表される。
【００４７】
次に、変形例１において、制御部４６がバッファ４２へＰＡメッセージ更新情報を書き込む際の動作を説明する。図１２及び図１３は、ＰＡメッセージ更新情報がバッファ４２へ書き込まれる際の、バッファ４２の構造例を表す模式図である。なお、制御部４６による書き込み動作を表すフローチャートは、図５に示すフローチャートと同様である。また、本説明では、各キューヘッドが、各キューに保持されているデータの先頭までのバイト数を表すものとする。また、本説明では、入力ＰＡメッセージＭ１から取り出されたＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎがバッファ４２に書き込まれる場合を例に説明する。
【００４８】
まず、制御部４６は、ＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎを、バッファ４２における書き込み中キューのための領域に書き込む。書き込み中キューのための領域にＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎが書き込まれる毎に、図１２に示されるように、ＴＡＩＬにより示される位置が左方向へ移動する。
【００４９】
制御部４６は、入力ＰＡメッセージＭ１から取り出される最後のＰＡメッセージ更新情報Ｍ１−ｎの書き込みが完了したか否かを判断する。完了した場合、制御部４６は、書き込み中キューに書き込まれたＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎを、書き込み済キューに移動させるスレッドを実行する。制御部４６により実行されたスレッドは、書き込み済キューについてのロックを取得する。このスレッドでは、書き込み中キューに書き込まれたＰＡメッセージ更新情報が、書き込み済キューへ移動される。具体的には、制御部４６は、書き込み中キューヘッドがバッファの先頭からＰＡメッセージ更新情報Ｍ１−ｎの末尾までのバイト数を表すように、書き込み中キューヘッドを書き換える。これにより、図１３に示されるように、書き込み中キューヘッドにより示される位置が、ＴＡＩＬにより示される位置まで移動することになる。すなわち、ＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎは、書き込み済キューで保持され、書き込み中キューは空の状態になる。スレッドは、ＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎを書き込み済キューへ移動させると、ロックを解放する。
【００５０】
制御部４６は、次の入力ＰＡメッセージＭ２からＰＡメッセージ更新情報Ｍ２−１が取り出され、かつ、書き込み中キューのロックが解放されている場合、取り出されたＰＡメッセージ更新情報Ｍ２−１を、書き込み中キューへ書き込む。
【００５１】
次に、変形例１において、制御部４６がバッファ４２からＰＡメッセージ更新情報を読み出す際の動作を説明する。図１４及び図１５は、ＰＡメッセージ更新情報がバッファ４２から読み出される際の、バッファ４２の構造例を表す模式図である。なお、制御部４６による読み出し動作を表すフローチャートは、図８に示すフローチャートと同様である。また、本説明では、各キューヘッドが、各キューに保持されているデータの先頭までのバイト数を表すものとする。また、本説明では、入力ＰＡメッセージＭ１から取り出されたＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎがバッファ４２読み出される場合を例に説明する。
【００５２】
まず、制御部４６は、予め設定されるタイミング、例えば、所定のクロック回数が経過すると、書き込み済キューに保持されているＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎを、読み出しキューに移動させるスレッドを実行する。制御部４６により実行されたスレッドは、読み出しキューについてのロックを取得する。このスレッドでは、書き込み済キューに保持されているＰＡメッセージ更新情報が、読み出しキューへ移動される。具体的には、制御部４６は、書き込み済キューヘッドがバッファの先頭からＰＡメッセージ更新情報Ｍ１−ｎの末尾までのバイト数を表すように、書き込み済キューヘッドを書き換える。これにより、図１４に示されるように、書き込み済キューヘッドにより示される位置が、書き込み中キューヘッドにより示される位置まで移動することになる。すなわち、ＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎは、読み出しキューで保持され、書き込み済キューは空の状態になる。スレッドは、ＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎを読み出しキューへ移動させると、ロックを解放する。
【００５３】
制御部４６は、書き込み済キューに保持されているＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎが、読み出しキューに移動され、スレッドによるロックが解放されると、図１５に示されるように、読み出しキューに保持されているＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎを読み出しキューヘッダから全て読み出す。
【００５４】
以上のように、本実施形態に係るバッファ４２は、書き込み中キュー、書き込み済キュー、及び読み出しキューが設定されるようにしている。従来のように、ＰＡメッセージ更新情報を、書き込みキューの内部にさらに設けられる「キューのキュー」で保持する場合、構造が複雑になると共に、キューをリスト構造以外で実装すると間違えが起こりやすい。本実施形態に係る多重化装置４０では、キューをリスト構造以外、すなわち、リングバッファでの実装も容易となる。これにより、実行環境に合わせ、実装を選択することも可能となる。
【００５５】
（変形例２）  
上記実施形態では、バッファ４２に書き込み中キュー、書き込み済キュー、及び読み出しキューがそれぞれ１つずつ設定される場合を例に説明した。しかしながら、これに限定されない。バッファ４２は、図１６に示されるように、書き込み中キューが複数設定されても構わない。
【００５６】
例えば、入力ＰＡメッセージＭ１〜Ｍ３から取り出されるＰＡメッセージ更新情報がバッファ４２に書き込まれる場合、図１６に示される書き込み中キュー４２１−１〜４２１−３それぞれには、各入力ＰＡメッセージから取り出されたＰＡメッセージ更新情報が追加される。具体的には、入力ＰＡメッセージＭ１から取り出されるＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎは、書き込み中キュー４２１−１に追加され、入力ＰＡメッセージＭ２から取り出されるＰＡメッセージ更新情報Ｍ２−１〜Ｍ２−ｎは、書き込み中キュー４２１−２に追加され、入力ＰＡメッセージＭ３から取り出されるＰＡメッセージ更新情報Ｍ３−１〜Ｍ３−ｎは、書き込み中キュー４２１−３に追加される。
【００５７】
１つの入力ＰＡメッセージから取り出されたすべてのＰＡメッセージ更新情報が書き込み中キューに追加されると、制御部４６は、書き込み中キューに追加されたＰＡメッセージ更新情報を、書き込み済キューへ移す。例えば、入力ＰＡメッセージＭ１から取り出されたＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎが書き込み中キュー４２１−１に追加されると、制御部４６は、書き込み中キュー４２１−１に追加されたＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎを、書き込み済キューへ移す。制御部４６は、所定のタイミングで、書き込み済キューに保持されているＰＡメッセージ更新情報を読み出しキューへ移す。制御部４６は、読み出しキューに保持されているＰＡメッセージ更新情報を読み出す。
【００５８】
以上のように、変形例２では、バッファ４２に書き込み中キューを複数設定するようにしている。これにより、多重化装置４０は、ＰＡメッセージ受信処理間の競合を低減することが可能となる。
【００５９】
なお、以下に、従来の多重化装置におけるＰＡメッセージ更新情報の書き込み処理、及び読み出し処理を説明する。図１７は、従来のバッファにおけるキューの構造を表す模式図である。図１７において、バッファには、書き込みキューのアドレスを指定する書き込みキューポインタと、読み出しキューのアドレスを指定する読み出しキューポインタとが設定されている。
【００６０】
まず、従来の多重化装置によるＰＡメッセージ更新情報の書き込み処理を説明する。多重化装置の制御部は、入力ＰＡメッセージＭ１からＰＡメッセージ更新情報Ｍ１−１が取り出されると、ＰＡメッセージ更新情報Ｍ１−１〜Ｍ１−ｎをバッファに書き込むスレッドを実行する。制御部により実行されたスレッドは、書き込みキューを作成し、書き込みキューについてのロックを取得する。スレッドは、書き込みキューポインタにより指定されるアドレスから、更なるキュー、すなわち「キューのキュー」を作成する。取り出されたＰＡメッセージ更新情報Ｍ１−１は、作成した「キューのキュー」に追加される。ＰＡメッセージ更新情報Ｍ１−１が「キューのキュー」に追加されると、スレッドは、ロックを解放する。入力ＰＡメッセージＭ１から続いて取り出されるＰＡメッセージ更新情報Ｍ１−２〜Ｍ１−ｎは、先に追加されたＰＡメッセージ更新情報のポインタに指定されるように、順次「キューのキュー」に追加される。
【００６１】
次に、従来の多重化装置によるＰＡメッセージ更新情報の読み出し処理を説明する。多重化装置の制御部は、予め設定されるタイミングで、バッファからＰＡメッセージ更新情報を読み出すスレッドを実行する。制御部により実行されたスレッドは、書き込みキュー及び読み出しキューについてのロックを取得し、書き込みキューポインタによる指定先と、読み出しキューポインタによる指定先とを入れ替える。指定先を入れ替えると、スレッドはロックを解放する。これにより、書き込みキューに追加されたＰＡメッセージ更新情報が、読み出しキューに移されることになる。スレッドは、読み出しキューにおける「キューのキュー」を取得し、「キューのキュー」に保持されるＰＡメッセージ更新情報を空になるまで読み出す。スレッドは、「キューのキュー」が空になると、次の「キューのキュー」に保持されるＰＡメッセージ更新情報を空になるまで読み出す。
【００６２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００６３】
１…放送送出システム、１０…信号送出装置、２１…ビデオエンコーダー、２２…オーディオエンコーダー、２３…キャプションエンコーダー、２５…ファイルエンコーダー、３０…情報システム、４０…多重化装置、４１…受信処理部、４２…バッファ、４２１−１〜４２１−３…書き込み中キュー、４３…記憶部、４４…再構築処理部、４５…送出処理部、４６…制御部、５０…送信装置。
【図１】
2017168948.tif 000003
【図２】
2017168948.tif 000004
【図３】
2017168948.tif 000005
【図４】
2017168948.tif 000006
【図５】
2017168948.tif 000007
【図６】
2017168948.tif 000008
【図７】
2017168948.tif 000009
【図８】
2017168948.tif 000010
【図９】
2017168948.tif 000011
【図１０】
2017168948.tif 000012
【図１１】
2017168948.tif 000013
【図１２】
2017168948.tif 000014
【図１３】
2017168948.tif 000015
【図１４】
2017168948.tif 000016
【図１５】
2017168948.tif 000017
【図１６】
2017168948.tif 000018
【図１７】
2017168948.tif 000019