(57)【要約】【課題】入力された複数チャンネルのパケット列を多重化処理して多重パケット列を生成し出力する際に、出力バッファを使用せず、１つの記憶手段のみでデータの入力と多重化処理と伝送路の規格に準拠した伝送レートでの出力処理ができ、かつデータ多重化装置内部におけるプライベートデータ信号のパケット列の遅延を数十ｍｓに抑えることができるデータ多重化方法及びデータ多重化装置を提供することを目的とする。【解決手段】プライベートデータのパケット列を１ブロック分まとめて出力できるようにパケット列の総数を設定する。さらに、プライベートデータの先頭アドレスが書き込まれたら直ちにプライベートデータのパケット列の多重出力処理が開始されるように制御する。さらに、出力されるパケット列がＮＵＬＬパケット列であるかどうかを検出する。さらに、検出されたＮＵＬＬパケットの多重位置にプライベートデータのパケット列を入れ替えて出力伝送する。【選択図】  図１
2004320117.tif 000002
【特許請求の範囲】
【請求項１】
１チャンネル以上の第一のパケット列と、第二のパケット列を多重化するデータ多重化方法であって、
前記１チャンネル以上の第一のパケット列を多重化して生じたＮＵＬＬパケットを、前記第二のパケット列を構成するパケットに入れ替えて出力するデータ多重化方法。
【請求項２】
前記第二のパケット列は、時間軸情報を有しない情報から構成される請求項１記載のデータ多重化方法。
【請求項３】
前記第二のパケット列は、プライベートデータのパケット列である請求項１記載のデータ多重化方法。
【請求項４】
ディジタルデータを含む複数チャンネルのパケット列を入力し、前記複数チャンネルのパケット列を多重して多重パケット列を生成し出力するデータ多重化方法において、前記複数チャンネルのパケット列をチャンネル単位で格納するメモリと、前記複数チャンネルのパケット列を多重して多重パケット列を生成するためのパケット列の多重化順序をあらかじめ定めた時間単位で生成するステップと、前記生成されたパケット列の多重化順序を格納するメモリと、前記多重化順序を格納するメモリにおいてパケット列の格納状態を示すフラグを生成するステップと、前記多重化順序を格納するメモリにおけるパケット列の格納状態を示すフラグにより、あらかじめ定めた時間単位で多重化を行うパケット列の総数を決定するステップと、パケット列の出力総数を設定するステップと、パケット列の出力開始アドレスを格納するメモリと、前記チャンネル単位で格納されたパケット列よりＮＵＬＬパケット列を検出するステップとを有し、前記チャンネル単位で格納されたメモリよりパケット列を出力する際に、前記ＮＵＬＬパケット列を検出するステップによりＮＵＬＬパケットが検出された場合、前記パケット列の出力開始アドレスを格納するメモリに格納されたアドレスの示すパケット列に入れ替えて出力することを特徴とするデータ多重化方法。
【請求項５】
前記パケット列の出力総数を設定するステップにおいて設定されるパケット数は、前記チャンネル単位で格納されたパケット列の１ブロック当りのパケット数以下であることを特徴とする請求項４記載のデータ多重化方法。
【請求項６】
前記ＮＵＬＬパケット列を検出するステップによりＮＵＬＬパケットが検出され、前記パケット列の出力開始アドレスを格納するメモリに格納されたアドレスの示すパケット列に入れ替えて出力する際に、前記パケット列の出力開始アドレスを格納するメモリに格納されたアドレスの示すパケット列から、前記パケット列の出力総数を設定するステップにより設定されたパケット数分だけ、順番に入れ替えて出力することを特徴とする請求項４記載のデータ多重化方法。
【請求項７】
前記ＮＵＬＬパケット列を検出するステップによりＮＵＬＬパケットが検出され、前記パケット列の出力開始アドレスを格納するメモリに格納されたアドレスの示すパケット列に入れ替えて出力する際に、パケット列を入れ替えるタイミングは、前記パケット列の出力開始アドレスを格納するメモリにアドレスが格納された瞬間をトリガとして、パケット列の入れ替えを開始することを特徴とする請求項４記載のデータ多重化方法。
【請求項８】
前記多重化順序を格納するメモリにおけるパケット列の格納状態を示すフラグは、パケット列の格納数が一定値以下であることを示すＡｌｍｏｓｔ  Ｅｍｐｔｙフラグと、パケット列の格納数が一定値以上であることを示すＡｌｍｏｓｔ  Ｆｕｌｌフラグを有することを特徴とする請求項４記載のデータ多重化方法。
【請求項９】
前記メモリは、シンクロナスダイナミックラムであることを特徴とする請求項８に記載のデータ多重化方法。
【請求項１０】
前記パケット列は、映像信号、又は音声信号、又はプライベートデータ信号を含むことを特徴とする請求項１、請求項２、請求項４から請求項９いずれか記載のデータ多重化方法。
【請求項１１】
１チャンネル以上の第一のパケット列と、第二のパケット列を取得し、
前記１チャンネル以上の第一のパケット列を多重化し、当該多重化により生じたＮＵＬＬパケットを、前記第二のパケット列を構成するパケットに入れ替えて出力するデータ多重化装置。
【請求項１２】
前記第二のパケット列は、時間軸情報を有しない情報から構成される請求項１１記載のデータ多重化装置。
【請求項１３】
前記第二のパケット列は、プライベートデータのパケット列である請求項１２記載のデータ多重化装置。
【請求項１４】
ディジタルデータを含む複数チャンネルのパケット列を入力し、前記複数チャンネルのパケット列を多重して多重パケット列を生成し出力するデータ多重化装置において、前記複数チャンネルのパケット列をチャンネル単位で格納するパケット列格納手段と、前記複数チャンネルのパケット列を多重して多重パケット列を生成するためのパケット列の多重化順序をあらかじめ定めた時間単位で生成するパケット列多重化順序生成手段と、前記パケット列多重化順序生成手段により生成されたパケット列の多重化順序を格納するパケット列多重化順序格納手段と、前記パケット列多重化順序格納手段においてパケット列の格納状態を示すフラグを生成するパケット列多重化順序格納状態フラグ生成手段と、前記パケット列多重化順序格納状態フラグ生成手段により生成されたパケット列の格納状態を示すフラグにより、あらかじめ定めた時間単位で多重化を行うパケット列の総数を決定するパケット列多重化総数制御手段と、パケット列の出力総数を設定するパケット列出力総数設定手段と、パケット列の出力開始アドレスを格納するパケット列出力開始アドレス格納手段と、前記パケット列格納手段に格納されたパケット列よりＮＵＬＬパケット列を検出するＮＵＬＬパケット列検出手段と、前記ＮＵＬＬパケット列検出手段により検出されたＮＵＬＬパケット列を前記パケット列出力開始アドレス格納手段に格納されたアドレスの示すパケット列に入れ替えて出力するパケット列入れ替え手段とを具備することを特徴とするデータ多重化装置。
【請求項１５】
前記パケット列出力総数設定手段に設定されるパケット数は、前記パケット列格納手段に格納されたパケット列の１ブロック当りのパケット数以下であることを特徴とする請求項１４記載のデータ多重化装置。
【請求項１６】
前記パケット列入れ替え手段において入れ替えるパケット列は、前記パケット列出力開始アドレス格納手段に格納されたアドレスの示すパケット列から、前記パケット列出力総数設定手段に設定されたパケット数分だけ、順番に入れ替えて出力することを特徴とする請求項１４記載のデータ多重化装置。
【請求項１７】
前記パケット列入れ替え手段においてパケット列を入れ替えるタイミングは、前記パケット列出力開始アドレス格納手段にアドレスが格納された瞬間をトリガとして、パケット列の入れ替えを開始することを特徴とする請求項１４記載のデータ多重化装置。
【請求項１８】
前記パケット列多重化順序格納状態フラグ生成手段により生成されたパケット列の格納状態を示すフラグは、パケット列の格納数が一定値以下であることを示すＡｌｍｏｓｔ  Ｅｍｐｔｙフラグと、パケット列の格納数が一定値以上であることを示すＡｌｍｏｓｔ  Ｆｕｌｌフラグを有することを特徴とする請求項１４記載のデータ多重化装置。
【請求項１９】
前記パケット列格納手段は、シンクロナスダイナミックラムであることを特徴とする請求項１４に記載のデータ多重化装置。
【請求項２０】
前記パケット列は、映像信号、又は音声信号、又はプライベートデータ信号を含むことを特徴とする請求項１４、請求項１５、請求項１７から請求項１９いずれか記載のデータ多重化装置。
【請求項２１】
請求項１１から請求項２０いずれか記載のデータ多重化装置と、当該データ多重化装置で多重化したストリームを送信する送信手段を具備する送信装置。
【請求項２２】
請求項２１記載の送信装置から送信されたストリームを受信して、出力する受信装置。
【請求項２３】
コンピュータに、
１チャンネル以上の第一のパケット列と、第二のパケット列を取得するパケット取得ステップと、
前記１チャンネル以上の第一のパケット列を多重化する多重化ステップと、
前記多重化ステップで多重化したパケット列からＮＵＬＬパケットを検出するステップと、
前記検出したＮＵＬＬパケットを前記第二のパケット列を構成するパケットに入れ替えて出力するステップを実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、映像、音声、又はその他のディジタルデータを多重して伝送、又は蓄積する際のデータ多重化方法及びデータ多重化装置等に関するものである。
【０００２】
【従来の技術】
近年、ディジタル技術の進歩により、映像、音声、又はその他のディジタルデータによる衛星放送、ＣＡＴＶ、ビデオオンデマンド等のサービスが実用化されつつある。
【０００３】
ディジタルデータを伝送する際には、これら複数のディジタルデータをいかに多重するかが重要な問題である。複数のディジタルデータを多重化する方式としてＩＳＯ／ＩＥＣの国際規格であるＭＰＥＧ２多重化方式がある。
【０００４】
ＭＰＥＧ２の多重化方式に関しては、蓄積メディア等への記録に適したＭＰＥＧ２−ＰＳ（プログラムストリーム）方式と、放送等の伝送に適したＭＰＥＧ２−ＴＳ（トランスポートストリーム）方式とがある。ＭＰＥＧ２−ＴＳに関しては、複数のプログラム番組を同時に一本のストリームに多重して伝送できる構成になっている。本発明の実施例においては、ＭＰＥＧ２−ＴＳ方式のディジタルデータを多重化するデータ多重化方法、及びデータ多重化装置を例示する。
【０００５】
以下、図面を参照しながらＭＰＥＧ２−ＴＳについて説明する。
【０００６】
図６は、ＭＰＥＧ２−ＴＳフォーマットの概略図である。映像、音声、またはその他のディジタルデータはそれぞれ符号化され、１８８バイト毎のＴＳパケットを構成する。
【０００７】
ＴＳパケットのヘッダ部は、ＰＩＤ（Ｐａｃｋｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）と呼ばれるパケット固有の識別子を有する。同じプログラム番組の映像の１以上のＴＳパケットは、同じＰＩＤを有する。
【０００８】
音声、又はその他のディジタルデータのＴＳパケットのＰＩＤに関しても同様であり、同じプログラム番組の音声の１以上のＴＳパケットは、同じＰＩＤを有し、同じプログラム番組のその他のデータの１以上のＴＳパケットは、同じＰＩＤを有する。ＴＳパケットのヘッダ部の後には、映像、音声、またはその他のデータ、あるいはアダプテーションフィールドがある。アダプテーションフィールドには、多重化の際の補助情報が存在する。
【０００９】
図７は、複数のプログラム番組を同時に多重して伝送する際の各ストリームのＰＩＤの関係を示した図である。
【００１０】
各プログラム番組毎に決まっている映像、音声等のストリームのＰＩＤは、ＰＭＴと呼ばれるテーブルに書かれている。ＰＭＴには、一本のプログラム番組についての情報が書かれており、一本のＴＳの中には、プログラム番組分のＰＭＴが存在する。
【００１１】
さらに、各プログラム番組のＰＭＴのＰＩＤが書かれているテーブルをＰＡＴと呼ぶ。ＰＡＴは、一本のＴＳ中に一系統のみ存在する。なお、ＰＡＴのＰＩＤは、”０ｘ００００”（１６進数）に決められている。
【００１２】
図８は、受信側でこれらのＰＡＴ、ＰＭＴを用いて、複数のプログラム番組から好みのプログラム番組の映像、音声等のストリームを再生する手順を示したフローチャートである。
【００１３】
最初に、入力されたＴＳからＰＩＤ＝０ｘ００００であるＰＡＴのＴＳパケットを検出する（ステップＳ１）。ＰＡＴには、複数のプログラム番組のＰＭＴのＰＩＤが書かれている。
【００１４】
ＰＡＴのＴＳパケットを検出したら、そのＰＡＴから希望するプログラム番組に対応するＰＭＴのＰＩＤを抽出する（ステップＳ２）。希望するプログラム番組に対応するＰＭＴのＴＳパケットを検出したら（ステップＳ３）、そのＰＭＴから希望したプログラム番組に含まれる映像、音声等のストリームのＰＩＤを抽出する（ステップＳ４）。
【００１５】
ここで抽出した映像、音声等のストリームのＰＩＤを用いて、受信データの中から、該当するＰＩＤを持つＴＳパケットを検出して、順次各復号器に送り（ステップＳ５）、映像、音声等のデータを復号することにより、希望のプログラム番組を再生することができる。
【００１６】
以上、説明したように、ＭＰＥＧ２−ＴＳ方式では、複数のプログラム番組を一本のストリームに多重して伝送することが可能なフォーマットになっている（例えば、非特許文献１参照）。
【００１７】
次に、図面を参照しながらＭＰＥＧ２−ＴＳ多重化装置について説明する。
【００１８】
図９は、従来のＭＰＥＧ２−ＴＳ多重化装置のブロック図である。図９において、８０１はチャンネルバッファ、８０２は第１のアドレス制御手段、８０３はローカルＣＰＵ、８０４は出力バッファ、８０５は第２のアドレス制御手段である。
【００１９】
チャンネルバッファ８０１では、入力される複数チャンネルのＭＰＥＧ２−ＴＳパケット列（ディジタルデータ）を受信する。第１のアドレス制御手段８０２では、パケット列を受信する際に、各チャンネル毎にチャンネルバッファ８０１のメモリのアドレスを生成して、当該パケット列をチャンネル別に、チャンネルバッファ８０１のメモリに格納する。
【００２０】
ローカルＣＰＵ８０３では、多重化に伴う、時間軸情報、ＰＩＤの書き換えを行い、多重化出力順を決定する。多重化出力順に従い、第１のアドレス制御手段８０２では、入力した複数チャンネルのパケット列を一本のＭＰＥＧ２−ＴＳに多重されたパケット列となるように、チャンネルバッファ８０１のメモリから順に読み出し、出力バッファ８０４へ転送する。さらに、第１のアドレス制御手段８０２は、チャンネルバッファ８０１からパケット列を読み出すと同時に、第２のアドレス制御手段８０５へ、チャンネルバッファ８０１から読み出したパケット列の有効区間を示すデータイネーブル信号（ＤＡＴＡＥＮ）を送出する。
【００２１】
データイネーブル信号を受信した第２のアドレス制御手段８０５では、直ちに出力バッファ８０４のメモリアドレスを生成して、チャンネルバッファ８０１から転送されてくるパケット列を出力バッファ８０４のメモリへ格納する。出力バッファ８０４へのパケット列の入力が正常に行われている間、第２のアドレス制御手段８０５は、入力可能な状態であることを示すレディ信号（ＲＥＡＤＹ）を第１のアドレス制御手段８０２へ送信する。
【００２２】
レディ信号を受信した第１のアドレス制御手段８０２は、チャンネルバッファ８０１から出力バッファ８０４へのパケット列の転送が正常に行われていることを知る。
【００２３】
また、第２のアドレス制御手段８０５では、出力バッファ８０４のメモリに格納された、一本のＭＰＥＧ２−ＴＳに多重されたパケット列を固定レートで出力する。
【００２４】
通常、一本に多重化されたＭＰＥＧ２−ＴＳのパケット列は、伝送路の規格に準拠した伝送レート（あらかじめ定められた固定レート）で出力する必要がある。しかしながら、データ多重化装置内部の動作周波数が、出力の伝送レートと同期していることは無く、そのためのクロックのジッタ吸収が必要である。出力バッファ８０４は、データ多重化装置内部の動作周波数と、出力の伝送レートとのジッタ吸収をする役割を持っている。
【００２５】
上記、複数チャンネルのＭＰＥＧ２−ＴＳパケット列を受信するチャンネルバッファ用メモリ、及び出力バッファ用メモリとしては、記憶容量が大きく、高速転送できることが要求される。
【００２６】
これらのメモリにスタティックラム（以下、ＳＲＡＭと記す）を用いた場合は、高速転送可能であるが、記憶容量が少ないという問題がある。また、ダイナミックラム（以下、ＤＲＡＭと記す）を用いた場合は、記憶容量は大きいが、高速転送できないという問題がある。
【００２７】
それに対し、シンクロナスダイナミックラム（以下、ＳＤＲＡＭと記す）を用いた場合、記憶容量も大きく、高速転送が可能であるため、最近では、高速書き込み、高速読み出しを行う各種装置のメモリとして、ＳＤＲＡＭが用いられている。
【００２８】
図１０は、ＳＤＲＡＭの構成図である。ここでは一例として、１６Ｍビット（５１２Ｋワード×１６ビット×２バンク）のＳＤＲＡＭの動作について説明する。
【００２９】
このＳＤＲＡＭは、５１２Ｋのワード長を持ち、入出力のデータバス幅は１６ビットで、Ａ及びＢの２つのバンクを持っている。行アドレスは１１ビット（２０４８行）、列アドレスは８ビット（２５６列）であり、１つのバンクに対し、５１２Ｋのワード長を持つ。
【００３０】
データバス幅が３２ビットの場合は、この１６ビット幅のＳＤＲＡＭを２個並列に接続して使用する。
【００３１】
図１１は、ＳＤＲＡＭのリード（読み出し）タイミングチャートである。図１１のＣＳ、ＲＡＳ、ＣＡＳ、ＷＥの各信号は、Ｌｏｗアクティブである。
【００３２】
クロック（ＣＬＫ）信号は、ＳＤＲＡＭへのデータ書き込み、及び読み出し時の同期クロックである。また、ＳＤＲＡＭからデータの読み出しを行う際は、ライト・イネーブル（ＷＥ）信号は、Ｈｉｇｈのままである。
【００３３】
読み出しを行う際は、まず最初に、ＳＤＲＡＭのチップセレクト（ＣＳ）信号をアクティブにする。
【００３４】
次に、バンク及び行アドレスを指定するアクティブコマンドを発行する。一般に、ＳＤＲＡＭは複数のアドレス設定方式を適用可能であるが、特に高速読み出しを行う場合は、図１１に示す様に、バンクと行アドレス（Ｒｏｗアドレス）を初期設定し、その後、１クロックごとに、列アドレス（Ｃｏｌｕｍｎアドレス）が自動的に１つずつ繰り上がるアドレス設定方式を採用する。このようにＳＤＲＡＭでは、指定したバンクの行アドレスにおいて連続する列アドレスデータは、クロックに同期して連続して、高速読み出しが可能である。なお、連続してリードできるバースト長は、列アドレスが８ビット（２５６列）の場合、最大２５６ワードである。
【００３５】
１行分のデータを読み終えるまで、行アドレスは一定に保たれる。このアドレス設定方式は、行アドレスと列アドレスをランダムに設定する方式よりも、高速読み出しが可能である。
【００３６】
チップセレクト（ＣＳ）信号をアクティブにした後、バンクと行アドレスを設定する。アドレス信号（ＡＤＤ［１１：０］）にバンクと行アドレスデータを同時に設定し、ロウ・アドレス・ストローブ（ＲＡＳ）信号をアクティブにして、ＳＤＲＡＭ内部にバンクと行アドレスを取り込む。次に、アドレス信号（ＡＤＤ［１１：０］）に列アドレスデータを設定し、コラム・アドレス・ストローブ（ＣＡＳ）信号をアクティブにして、ＳＤＲＡＭ内部に列アドレスの初期値を取り込む。列アドレスは２５６列しかないため、アドレス信号の上位４ビットは無視される。
【００３７】
コラム・アドレス・ストローブ（ＣＡＳ）信号は、ＳＤＲＡＭからデータを読み出している間、アクティブ状態に保たれる。コラム・アドレス・ストローブ（ＣＡＳ）信号がアクティブ状態の間、１クロックごとに（クロックに同期して）、列アドレスが１つずつインクリメントされる（繰り上がる）。
【００３８】
以上のアドレス制御により、バンク、行アドレス、及び列アドレスによって指定されるアドレスに格納されているデータが、ＳＤＲＡＭのデータ信号（ＤＡＴＡ［３１：０］）から出力される。
【００３９】
ただし、列アドレスを設定した直後にデータが出力されるわけでは無く、ＣＡＳレーテンシが経過してからデータが出力される。通常、ＣＡＳレーテンシは、２クロックか３クロックである。すなわち、ＳＤＲＡＭからデータを読み出す場合、アクティブコマンドの設定、列アドレスの設定、ＣＡＳレーテンシがあるため、チップセレクト（ＣＳ）信号をアクティブにしてから最初のデータが出力されるまで、最小でも４クロック程度必要となる。
【００４０】
１行分のデータの読み出しが完了し、続いて次の行をリードする場合には、バンク及び行アドレスを指定するアクティブコマンドを再度、発行し、上記のプロセスを繰り返す必要がある。
【００４１】
図１２は、ＳＤＲＡＭのライト（書き込み）タイミングチャートである。図１２のＣＳ、ＲＡＳ、ＣＡＳ、ＷＥの各信号は、Ｌｏｗアクティブである。
【００４２】
クロック（ＣＬＫ）信号は、ＳＤＲＡＭへのデータ書き込み、及び読み出し時の同期クロックである。
【００４３】
書き込み行う際は、まず最初に、ＳＤＲＡＭのチップセレクト（ＣＳ）信号をアクティブにする。
【００４４】
次に、バンク及び行アドレスを指定するアクティブコマンドを発行する。一般に、ＳＤＲＡＭは複数のアドレス設定方式を適用可能であるが、特に高速書き込みを行う場合は、図１２に示す様に、バンクと行アドレス（Ｒｏｗアドレス）を初期設定し、その後、１クロックごとに、列アドレス（Ｃｏｌｕｍｎアドレス）が自動的に１つずつ繰り上がるアドレス設定方式を採用する。このようにＳＤＲＡＭでは、指定したバンクの行アドレスにおいて連続する列アドレスデータは、クロックに同期して連続して、高速書き込みが可能である。なお、連続してライトできるバースト長は、列アドレスが８ビット（２５６列）の場合、最大２５６ワードである。
【００４５】
１行分のデータを書き終えるまで、行アドレスは一定に保たれる。このアドレス設定方式は、行アドレスと列アドレスをランダムに設定する方式よりも、高速書き込みが可能である。
【００４６】
チップセレクト（ＣＳ）信号をアクティブにした後、バンクと行アドレスを設定する。アドレス信号（ＡＤＤ［１１：０］）にバンクと行アドレスデータを同時に設定し、ロウ・アドレス・ストローブ（ＲＡＳ）信号をアクティブにして、ＳＤＲＡＭ内部にバンクと行アドレスを取り込む。次に、アドレス信号（ＡＤＤ［１１：０］）に列アドレスデータを設定し、コラム・アドレス・ストローブ（ＣＡＳ）信号をアクティブにして、ＳＤＲＡＭ内部に列アドレスの初期値を取り込む。列アドレスは２５６列しかないため、アドレス信号の上位４ビットは無視される。
【００４７】
コラム・アドレス・ストローブ（ＣＡＳ）信号は、ＳＤＲＡＭへデータの書き込みをしている間、アクティブ状態に保たれる。コラム・アドレス・ストローブ（ＣＡＳ）信号がアクティブ状態の間、１クロックごとに（クロックに同期して）、列アドレスが１つずつインクリメントされる（繰り上がる）。
【００４８】
また、コラム・アドレス・ストローブ（ＣＡＳ）信号をアクティブにすると同時に、ライト・イネーブル（ＷＥ）信号をアクティブにする。
【００４９】
以上のアドレス制御により、ライト・イネーブル（ＷＥ）信号がアクティブ状態の時、バンク、行アドレス、及び列アドレスによって指定されるアドレスに、ＳＤＲＡＭのデータ信号（ＤＡＴＡ［３１：０］）へ入力されるデータが書き込まれる。
【００５０】
ライトの場合はリードの場合と違って、ＣＡＳレーテンシに関係無く、列アドレスを設定するのと同時にデータが書き込まれる。すなわち、ＳＤＲＡＭへデータを書き込む場合、チップセレクト（ＣＳ）信号をアクティブにしてから最初のデータを書き込むまでに、アクティブコマンドの設定、列アドレスの設定で２クロックとなる。
【００５１】
１行分のデータの書き込みが完了し、続いて次の行へライトする場合には、バンク及び行アドレスを指定するアクティブコマンドを再度、発行し、上記のプロセスを繰り返す必要がある。
【００５２】
以下、図９の説明に戻る。
【００５３】
ローカルＣＰＵ８０３では、通常、多重化順序の決定を一定時間単位（Ｔ）で行う。従来例では、Ｔ＝１００ｍｓ単位で多重化処理を行う場合を想定する。また、一本に多重化されたＭＰＥＧ２−ＴＳのパケット列は、伝送路の規格に準拠した伝送レート（あらかじめ定められた固定レート）で出力される。従来例では、出力伝送レートを３８．１Ｍｂｐｓとする。また、データ多重化装置内部の動作周波数は、３０ＭＨｚとする。
【００５４】
ローカルＣＰＵ８０３が１００ｍｓ単位で多重化処理を行う際に、時間軸情報、ＰＩＤの書き換えを行うが、その時、チャンネルバッファ８０１のメモリに格納されたパケット列は、ローカルＣＰＵ８０３により読み書きされる。そのため、ローカルＣＰＵ８０３が多重化処理を行う１００ｍｓ分のパケット列は、あらかじめチャンネルバッファ８０１に格納されている必要がある。
【００５５】
すなわち、チャンネルバッファ８０１にパケット列が入力されてから、ローカルＣＰＵ８０３が多重化処理を行うまでに、最低１００ｍｓの遅延が生じる。
【００５６】
第２のアドレス制御手段８０５では、出力バッファ８０４のメモリに格納された、一本のＭＰＥＧ２−ＴＳに多重されたパケット列を固定レート（３８．１Ｍｂｐｓ）で出力する。この伝送路規格に準拠した出力レートとデータ多重化装置内部の動作周波数（３０ＭＨｚ）は同期していないため、クロックのジッタ吸収のための出力バッファ８０４が必要である。
【００５７】
ローカルＣＰＵ８０３での多重化処理単位が１００ｍｓであるため、出力バッファ８０４がアンダーフロー、オーバーフローしないためにも、出力バッファ８０４には最低１００ｍｓ分以上のパケット列を格納しておく必要がある。通常、出力バッファ８０４では、１００ｍｓ＋αから２００ｍｓ＋αの間でバッファ制御される。
【００５８】
すなわち、出力バッファ８０４では、１００ｍｓから２００ｍｓ以上の遅延が生じる。
【００５９】
上記の通り、データ多重化装置全体でのパケット列の遅延は、ローカルＣＰＵ８０３での多重化処理１００ｍｓ分と、出力バッファ８０４での１００ｍｓから２００ｍｓ分を合計して、約２００ｍｓから３００ｍｓとなる。
【００６０】
【非特許文献１】
ＩＳＯ／ＩＥＣ  １３８１８−１，  ”Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  −  Ｇｅｎｅｒｉｃ  Ｃｏｄｉｎｇ  ｏｆ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  ａｎｄ  Ａｓｓｏｃｉａｔｅｄ  Ａｕｄｉｏ  ：  Ｐａｒｔ  １  −  Ｓｙｓｔｅｍｓ”，  Ｎｏｖ．１９９４
【００６１】
【発明が解決しようとする課題】
しかし、以上の様にデータ入力とデータ多重化処理用にチャンネルバッファを用い、さらに、一本に多重化されたパケット列を伝送路の規格に準拠した伝送レートで出力するために出力バッファを用いた構成にした場合、データ多重化装置内部でのパケット列の遅延が３００ｍｓ程度かかってしまうという問題があった。
【００６２】
映像信号や音声信号をオンデマンドで視聴する場合は、視聴を開始する時に３００ｍｓ程度の遅延が生じるだけなので問題はないが、プライベートデータ信号に関しては、データの送受信を行う度に、３００ｍｓの遅延が生じてしまうため問題となる。
【００６３】
特に、例えば、プライベートデータ信号内にインタラクティブにページ単位の呼び出しを行うインターネット情報を含むＩＰパケット列を格納してデータ配信を行う場合、データの送受信毎（ユーザのインタラクション毎）に３００ｍｓの遅延が生じていては問題である。そのため、データ多重化装置でのプライベートデータ信号の遅延は、数十ｍｓ以内に収めることが望ましい。
【００６４】
本発明は、上記問題点を解決し、入力された複数チャンネルのパケット列を多重化処理して多重パケット列を生成し出力する際に、プライベートデータ信号のパケット列のデータ多重化装置内部での遅延を数十ｍｓに抑えることができるデータ多重化方法及びデータ多重化装置等を提供することを目的とする。
【００６５】
【課題を解決するための手段】
上記問題点を解決するために、本発明の第一のデータ多重化方法は、１チャンネル以上の第一のパケット列と、第二のパケット列を多重化するデータ多重化方法であって、１チャンネル以上の第一のパケット列を多重化して生じたＮＵＬＬパケットを、第二のパケット列を構成するパケットに入れ替えて出力するデータ多重化方法であり、かかるデータ多重化方法により、第二のパケット列の遅延を数十ｍｓに抑えることができる。
【００６６】
また、本発明の第二のデータ多重化方法は、複数チャンネルのパケット列をチャンネル単位で格納するメモリと、複数チャンネルのパケット列を多重して多重パケット列を生成するためのパケット列の多重化順序をあらかじめ定めた時間単位で生成するステップと、生成されたパケット列の多重化順序を格納するメモリと、多重化順序を格納するメモリにおいてパケット列の格納状態を示すフラグを生成するステップと、多重化順序を格納するメモリにおけるパケット列の格納状態を示すフラグにより、あらかじめ定めた時間単位で多重化を行うパケット列の総数を制御するステップと、パケット列の出力総数を設定するステップと、パケット列の出力開始アドレスを格納するメモリと、チャンネル単位で格納されたパケット列よりＮＵＬＬパケット列を検出するステップとを有し、チャンネル単位で格納されたメモリよりパケット列を出力する際に、ＮＵＬＬパケット列を検出するステップによりＮＵＬＬパケットが検出された場合、パケット列の出力開始アドレスを格納するメモリに格納されたアドレスの示すパケット列に入れ替えて出力する様にしたものである。
【００６７】
また、上記のデータ多重化方法を用いた、データ多重化装置や送信装置により、遅延が少なく、パケット列を送出できる。
【００６８】
さらに、上記の送信装置から送信されたストリームを受信し、出力する受信装置により、遅延が少なく、データを出力できる。
【００６９】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００７０】
（実施の形態）
【００７１】
図１は、本発明の実施の形態におけるデータ多重化装置１を説明するための装置のブロック図である。
【００７２】
本実施形態のデータ多重化装置１は、複数チャンネルのＭＰＥＧ２−ＴＳパケット列を受信し、１本の多重化されたＭＰＥＧ２−ＴＳパケット列を出力するものである。
【００７３】
図１において、１０１はチャンネルバッファ、１０２はアドレス制御手段、１０３はパケット列多重化順序生成手段、１０４はパケット列多重化順序格納手段、１０５はパケット列多重化順序格納状態フラグ生成手段、１０６はパケット列多重化総数制御手段、１０７はパケット列出力手段、１０８はローカルＣＰＵ、１０９はパケット列出力総数設定手段、１１０はパケット列出力開始アドレス格納手段、１１１はＮＵＬＬパケット列検出手段、１１２はパケット列入れ替え手段である。
【００７４】
本実施形態において、チャンネルバッファ１０１は、請求項に記載されたパケット列格納手段であることを示す。従って、本発明のパケット列格納手段が、チャンネルバッファ１０１に限定されることを意味しない。
【００７５】
チャンネルバッファ１０１では、入力される複数チャンネルのＭＰＥＧ２−ＴＳパケット列（ディジタルデータ）を受信し、チャンネル毎に格納する。本発明では、記憶容量が大きく、かつ高速転送が可能なＳＤＲＡＭでチャンネルバッファ１０１を構成している。
【００７６】
ＳＤＲＡＭ等のＤＲＡＭは、一般的に、ＳＲＡＭに較べてディジタルデータの入力又は出力の際にアドレス設定に必要な時間が多いが、本発明の様に、複数チャンネルのデータを多重化するデータ多重化装置、又はデータ多重方法においては、高速大容量のメモリを必要とするため、特に、本発明の適用効果が大きい。
しかし、本発明の適用の対象はＳＤＲＡＭ、又はＤＲＡＭに限定されるものではなく、いかなるメモリを用いたデータ多重化装置にも適用可能である。
【００７７】
又、請求項に記載した発明は、メモリそのものの遅延の有無を問題にしておらず、任意のメモリを使用するデータ多重化装置、又はデータ多重化方法等について適用可能である。
【００７８】
パケット列多重化順序生成手段１０３では、入力された複数チャンネルのパケット列を、各チャンネル毎の伝送レートに応じて、多重して一本の多重パケット列を生成するためのパケット列の多重化順序を生成する。伝送レートに応じた多重化順序の生成とは、例えば、以下の処理を言う。まず、伝送レートを担保するために必要な単位時間あたりの送出パケット数を決定し、次に当該送出パケット数分のパケットを均等に送出するように、複数のパケットをスケジューリングして送出する。ただし、パケット列多重化順序生成手段１０３は、他のアルゴリズムで、伝送レートに応じてパケット列の多重化順序を生成しても良い。
【００７９】
多重化処理は、通常、あらかじめ定めた時間単位（Ｔ）で行われる。本実施の形態では、Ｔ＝１００ｍｓ単位で多重化処理を行う場合を想定する。また、一本に多重化されたＭＰＥＧ２−ＴＳのパケット列は、伝送路の規格に準拠した伝送レート（あらかじめ定められた固定レート）で出力される。本実施の形態では、出力伝送レートを３８．１Ｍｂｐｓとする。
【００８０】
また、データ多重化装置内部の動作周波数は、３０ＭＨｚとする。パケット列多重化順序生成手段１０３は、３０ＭＨｚのクロックに同期して多重化順序を生成する。
【００８１】
図２は、本発明の実施の形態例を示すパケット列多重化順序格納手段１０４を説明するための概念図である。
【００８２】
パケット列多重化順序格納手段１０４では、パケット列多重化順序生成手段１０３により生成されたパケット列の多重化順序を格納する。パケット列多重化順序格納手段１０４は、パケット列を蓄積する動作を行うソフトウェアまたは／およびハードウェアと、メモリで構成される。チャンネルバッファ１０１に格納されている複数チャンネルのＭＰＥＧ２−ＴＳパケット列の多重化順序を生成し格納する際には、ＭＰＥＧ２−ＴＳのパケット（１パケット＝１８８ｂｙｔｅ）を全て格納するのではなく、パケットが格納されているチャンネルバッファ１０１のパケットの先頭アドレス（３２ｂｉｔ）のみ格納する。そうすることで、パケット列多重化順序格納手段１０４のメモリ容量を削減できる。上記の「パケット列の多重化順序を格納する」とは、複数チャンネルのＭＰＥＧ２−ＴＳパケットの先頭アドレス（３２ｂｉｔ）を多重化の順序で格納することを言う。
【００８３】
また、パケット列多重化順序格納手段１０４のメモリは、ある一定の大きさの容量を持たなければならない。本実施の形態では、多重化処理をＴ＝１００ｍｓ単位で行うため、最低でも１００ｍｓ分のパケット列の多重化順序を格納しなければならない。出力伝送レートが３８．１Ｍｂｐｓなので、１００ｍｓ分のデータ量は、３．８１Ｍｂｉｔ（＝４７６２５０ｂｙｔｅ）である。ＭＰＥＧ２−ＴＳの１パケット当りの大きさは、１８８ｂｙｔｅであるため、１００ｍｓ分のパケット数は、約２５３４パケットとなる。
【００８４】
しかし、パケット列多重化順序格納手段１０４のメモリ容量を１００ｍｓ分（２５３４パケット分）にしてしまうと、データ多重化装置の動作クロック３０ＭＨｚと出力伝送レート３８．１Ｍｂｐｓが非同期であるため、パケット列多重化順序格納手段１０４のメモリがオーバーフロー、又はアンダーフローを起こしてしまい、多重化処理が破綻してしまう。
【００８５】
そこで、パケット列多重化順序格納手段１０４のメモリは、１００ｍｓ＋αから２００ｍｓ＋αの間でバッファ制御されるのが望ましい。すなわち、パケット列多重化順序格納手段１０４のメモリの容量は、３００ｍｓ分程度必要である。
本実施形態では、メモリの容量を８１９２パケット分（約３２３ｍｓ分）とする。すなわち、１パケット分に必要な容量は３２ｂｉｔなので、メモリの総容量は２５６Ｋｂｉｔとなる。なお、本メモリは、ＳＤＲＡＭ、ＤＲＡＭ、ＳＲＡＭ等、どのメモリで実現しても構わない。
【００８６】
図２では、３本のチャンネルのデータを多重化する際の、パケット列多重化順序格納手段１０４の様子を示している。チャンネルＡは、１．５Ｍｂｐｓのデータ、チャンネルＢは、３Ｍｂｐｓのデータ、チャンネルＣは、４Ｍｂｐｓのデータである。パケット列多重化順序格納手段１０４は、８１９２パケット分の先頭アドレス（１パケット当り、３２ｂｉｔ）を格納できる。
【００８７】
多重化処理単位Ｔ＝１００ｍｓで多重化すべきパケットの総数は、伝送レート３８．１Ｍｂｐｓで約２５３４パケットである。チャンネルＡは１．５Ｍｂｐｓであるので、１００ｍｓで１００パケットを多重処理する。チャンネルＢは３Ｍｂｐｓであるので、１００ｍｓで２００パケットを多重処理する。チャンネルＣは４Ｍｂｐｓであるので、１００ｍｓで２６６パケットを多重処理する。１００ｍｓで多重するパケットの総数は２５３４パケットなので、残りの１９６８パケットは、ＮＵＬＬパケット（無効パケット）を多重してトータル２５３４パケットとする。
【００８８】
それぞれのチャンネルのパケットの多重位置は、例えば、パケット列多重化順序生成手段１０４により出現間隔が均等になるように多重される。チャンネルＡは、２５３４パケット中、１００パケットが存在するので、パケット列多重化順序格納手段において、約２５パケット毎に出現する。同様に、チャンネルＢは、約１３パケット毎に出現する。同様にチャンネルＣは、約１０パケット毎に出現する。なお、パケットの多重位置について、パケットが均等に出現することは必須ではない。
【００８９】
以下、図１の説明に戻る。
【００９０】
パケット列多重化順序格納状態フラグ生成手段１０５では、パケット列多重化順序格納手段１０４においてパケット列の格納状態を示すフラグを生成する。上述した通り、パケット列多重化順序格納手段１０４のメモリは、１００ｍｓ＋αから２００ｍｓ＋αの間でバッファ制御されるのが望ましい。よって、本実施形態では、図２に示す通り、１００ｍｓ＋αの位置に、Ａｌｍｏｓｔ  Ｅｍｐｔｙフラグを設定する。さらに、２００ｍｓ＋αの位置に、Ａｌｍｏｓｔ  Ｆｕｌｌフラグを設定する。１００ｍｓ分が約２５３４パケットなので、Ａｌｍｏｓｔ  Ｅｍｐｔｙフラグは、２５６０パケット分の位置に設定する。また、Ａｌｍｏｓｔ  Ｆｕｌｌフラグ５１２０パケット分の位置に設定する。なお、ＡｌｍｏｓｔＥｍｐｔｙフラグとＡｌｍｏｓｔ  Ｆｕｌｌフラグはパケット列の格納状態を示すフラグであり、Ａｌｍｏｓｔ  Ｅｍｐｔｙフラグは、バッファに十分空き領域が存在することを示すフラグである。また、Ａｌｍｏｓｔ  Ｆｕｌｌフラグは、バッファに余裕がなくなっていることを示すフラグである。
【００９１】
パケット列多重化総数制御手段１０６では、パケット列多重化順序格納状態フラグ生成手段１０５により生成されたパケット列の格納状態を示すフラグにより、あらかじめ定めた時間単位（Ｔ＝１００ｍｓ）で多重化を行うパケット列の総数を制御する。
【００９２】
本実施形態では、１００ｍｓ分のパケット数は、約２５３４パケットであるため、通常、１００ｍｓで多重化するパケットの総数は、２５３４パケットとなる。しかし、上述した通り、毎回、２５３４パケット分のパケット列を生成していると、データ多重化装置の動作クロック３０ＭＨｚと出力伝送レート３８．１Ｍｂｐｓが非同期であるため、パケット列多重化順序格納手段１０４のメモリが、いつかオーバーフロー、又はアンダーフローを起こしてしまい、多重化処理が破綻してしまう。
【００９３】
そこで、パケット列多重化順序格納状態フラグ生成手段１０５により生成されたＡｌｍｏｓｔ  Ｅｍｐｔｙフラグ、及びＡｌｍｏｓｔ  Ｆｕｌｌフラグを用いてバッファ制御を行う。パケット列多重化総数制御手段１０６では、１００ｍｓ単位で多重化するパケット列の総数を決定する。総数を決定する際に、パケット列多重化順序格納状態フラグ生成手段１０５により生成したフラグを参照し、Ａｌｍｏｓｔ  Ｅｍｐｔｙフラグがイネーブルであれば、前の１００ｍｓでのパケット列の総数から一定の数だけパケット列の数を増やして、次の１００ｍｓのパケット列の総数とする。Ａｌｍｏｓｔ  Ｆｕｌｌフラグがイネーブルであれば、前の１００ｍｓでのパケット列の総数から一定の数だけパケット列の数を減らして、次の１００ｍｓのパケット列の総数とする。
【００９４】
例えば、前回の１００ｍｓのパケット列の総数が、２５３４パケットであって、Ａｌｍｏｓｔ  Ｅｍｐｔｙフラグがイネーブルであれば、次の１００ｍｓのパケット列の総数を、前回より１パケット増やして、２５３５パケットとする。
【００９５】
逆に、前回の１００ｍｓのパケット列の総数が、２５３４パケットであって、Ａｌｍｏｓｔ  Ｆｕｌｌフラグがイネーブルであれば、次の１００ｍｓのパケット列の総数を、前回より１パケット減らして、２５３３パケットとする。
【００９６】
以上の様に、パケット列多重化総数制御手段１０６で求められた次の１００ｍｓのパケット列の総数に従い、パケット列多重化順序生成手段１０３では、次の１００ｍｓの多重化順序を生成する。なお、上記のパケット列の総数を決定するアルゴリズムは一例であり、メモリがオーバーフロー又は、アンダーフローしないようにパケット列の総数を決定するアルゴリズムであれば何でも良い。
【００９７】
パケット列出力手段１０７では、パケット列多重化順序格納手段１０４に格納された一本に多重されたパケット列を、伝送路の規格に準拠した伝送レート（固定レート＝３８．１Ｍｂｐｓ）で出力する。パケット列多重化順序格納手段１０４には、ＭＰＥＧ２−ＴＳパケット（１８８ｂｙｔｅ）の先頭アドレス（３２ｂｉｔ）が格納されている。パケット列出力手段１０７では、このアドレスに従い、順番にチャンネルバッファ１０１からパケット列を取り出して、伝送レート３８．１Ｍｂｐｓに従って伝送路へデータ出力を行う。
【００９８】
ローカルＣＰＵ１０８では、多重化に伴う、時間軸情報、ＰＩＤの書き換えをチャンネルバッファ１１のメモリ上で行う。
【００９９】
アドレス制御手段１０２では、チャンネルバッファ１０１のアドレス制御を行う。データ多重化装置にデータを入力する際には、チャンネルバッファ１０１に入力できるだけの空き領域がないと入力できない。なぜならば、空き領域が無いと、すでに入力されているデータの上に次の入力データを上書きしてしまうからである。すわなち、チャンネルバッファ１０１の各チャンネルの空き状態を監視しながら、データを多重化装置へデータを入力しなければいけない。
【０１００】
すなわち、データ多重化装置への複数チャンネルのデータの入力は、一定の伝送レート（垂れ流し状態）で入力できない。チャンネルバッファ１０１に蓄積されているデータが、多重化処理されてデータ多重化装置から出力されていなければ、チャンネルバッファ１０１に空き領域ができていないため、次のデータを入力できないからである。
【０１０１】
よって、本実施形態のデータ多重化装置では、チャンネルバッファ１０１に空き領域ができてから、次のデータの入力を行う構成となっている。本実施例では、ブロック単位でデータ多重化装置へのデータ入力を行う。１ブロックのサイズは、１２８Ｋｂｙｔｅとする。すなわち、アドレス制御手段１０２では、多重化処理済みのブロックを一定時間の間、次に入力されるパケット列で上書きされないように、チャンネルバッファ１０１のアドレスを制御する。
【０１０２】
図３は、本発明の実施の形態例を示すチャンネルバッファを説明するための概念図である。
【０１０３】
図３は、チャンネルバッファ１０１内にある複数チャンネルのバッファの内、１チャンネル分のバッファの構成を示している。本実施形態では、１２８Ｋｂｙｔｅのブロック単位でチャンネルバッファへデータ入力を行う。１つのチャンネルに対して、８つのブロックを持っており、３つの状態に分けることができる。
１つ目は、データ入力中のブロックである。２つ目は、多重化処理中のブロックである。３つ目は、伝送路へ固定レート＝３８．１Ｍｂｐｓで出力中のブロックである。
【０１０４】
データ入力中のブロックに関しては、１００ｍｓ単位で１ブロック以上は発生しない。１ブロックのサイズは１２８Ｋｂｙｔｅ（＝１Ｍｂｉｔ）なので、本実施例のデータ多重化装置では、１チャンネル当りのデータのレートは、最大１０ＭｂｐｓのＭＰＥＧ２−ＴＳまで対応可能である。なお、１ブロック当り（１２８Ｋｂｙｔｅ）に入っているデータ量は、データ入力が１００ｍｓ単位で１ブロック以下なので、最低でも１００ｍｓ分以上のデータ量となる。
【０１０５】
多重化処理中のブロックに関しては、１００ｍｓ単位での多重化処理なので、最低でも１ブロック分あれば良い。本実施形態では、３ブロック分確保する。
【０１０６】
伝送路へ固定レート＝３８．１Ｍｂｐｓで出力中のブロックに関しては、本実施形態では、最低でも４ブロック分必要である。パケット列多重化順序格納手段１０４に格納されるパケット列は、ジッタ吸収のためパケット列多重化順序格納状態フラグ生成手段１０５により生成されたフラグを用いて、格納しているパケット列の数を制御している。
【０１０７】
パケット列多重化順序格納手段１０４に格納できる最大のパケット数は、８１９２パケット（約３２３ｍｓ分）なので、多重化処理後、伝送路へデータが出力されるまで、最大３２３ｍｓかかることになる。すなわち、チャンネルバッファ１０１では、多重化処理後、最大３２３ｍｓ分のデータを、保持しておかなければならない。１ブロックで１００ｍｓ分以上のデータ量であるので、４ブロック分のデータを保持しておく必要がある。そうすることで、多重化処理済みのブロックを、次に入力されるパケット列で上書きされることが無くなる。
【０１０８】
以上の様に、データ多重化装置内部では、パケット列の多重化処理に伴い、パケット列がチャンネルバッファ１０１に入力されてから、多重処理され、出力されるまでに遅延が生じている。
【０１０９】
本実施例では、多重化処理単位が１００ｍｓなので、多重化処理で最低１００ｍｓの遅延が生じ、かつジッタ吸収のためパケット列多重化順序格納手段１０４において１００ｍｓから２００ｍｓ程度の遅延が生じる。つまり、多重化装置内部では、３００ｍｓ程度の遅延が生じることになる。
【０１１０】
映像信号や音声信号をオンデマンドで視聴する場合は、視聴を開始する時に３００ｍｓ程度の遅延が生じるだけなので問題はないが、プライベートデータ信号に関しては、データの送受信を行う度に、３００ｍｓの遅延が生じてしまうため問題となる。
【０１１１】
特に、プライベートデータ信号内にインターネット情報を含むＩＰパケット列を格納してデータ配信を行う場合、データの送受信毎（ユーザのインタラクション毎）に３００ｍｓの遅延が生じていては問題である。そのため、データ多重化装置でのプライベートデータ信号の遅延は、数十ｍｓ以内に収めることが望ましい。
【０１１２】
そこで本実施形態では、映像信号や音声信号のパケット列とは別の多重化処理方法で、プライベートデータパケット列の多重化処理を行う。
【０１１３】
プライベートデータのパケット列は、映像信号や音声信号と違い、時間軸情報の書き換え等が不要である。すなわち、映像信号や音声信号で発生していた多重化処理単位１００ｍｓの遅延をなくすことができる。
【０１１４】
また、時間軸情報が不要なため、一本に多重化処理されるパケット列のどこにプライベートデータパケット列が多重化されても構わない。
【０１１５】
通常、一本に多重化処理されるパケット列には出力伝送レートを保つために、映像、音声パケット列以外にＮＵＬＬパケット列が挿入してある。ＮＵＬＬパケット列は、伝送レートを保つために挿入されているだけであって、受信側で映像、音声をデコードして視聴する時には捨てられる。
【０１１６】
すなわち、ＮＵＬＬパケット列が挿入されているところにプライベートデータのパケット列を入れ替えて出力伝送することが可能である。
【０１１７】
上記理由により、データ多重化装置に入力されたプライベートデータのパケット列は、チャンネルバッファ１０１に入力後、直ちに出力処理され、データ多重化装置の出力部でＮＵＬＬパケット列と入れ替えて出力されれば、映像パケット列や音声パケット列とは異なり、データ多重化装置内部での遅延を限りなく小さくできる。
【０１１８】
以下、図１に戻り、プライベートデータのパケット列の多重化処理方法を説明する。
【０１１９】
パケット列出力総数設定手段１０９では、チャンネルバッファ１０１に入力されたプライベートデータのパケット列を１ブロック分まとめて出力できるように、１ブロック内に含まれるパケット数の総数を設定する。
【０１２０】
本実施形態では、１ブロック＝１２８Ｋｂｙｔｅなので、ブロックのヘッダ情報（２２４ｂｙｔｅ）を除くと、１ブロック当り最大６９６個のプライベートデータのＴＳパケットが格納されている。すなわち、パケット列出力総数設定手段１０９では、最大６９６まで出力パケット数を設定できる。パケット列出力総数設定手段１０９で設定されたパケット数の単位でプライベートデータの多重出力処理が行われる。
【０１２１】
パケット列出力開始アドレス格納手段１１０では、プライベートデータを１ブロック分まとめて出力するために、ブロック内の先頭パケット列の先頭アドレスを格納する。格納されたアドレスから順番に、パケット列出力総数設定手段１０９で設定されたパケット数だけプライベートデータパケット列が多重出力処理される。
【０１２２】
多重出力処理を開始する際のトリガ条件は、パケット列出力開始アドレス格納手段１１０に先頭アドレスが書き込まれたことである。先頭アドレスが書き込まれたら、通常、直ちにプライベートデータのパケット列の多重出力処理が開始される。
【０１２３】
ＮＵＬＬパケット列検出手段１１１では、パケット列多重化順序格納手段１０４に格納されたパケット列がパケット列出力手段１０７により出力される際に、ＮＵＬＬパケット列であるかどうかを検出する。
【０１２４】
ＴＳパケットには、パケット列を識別する１３ｂｉｔのＰＩＤが付いており、ＮＵＬＬパケット列についてはＰＩＤ＝０ｘ１ＦＦＦと定められている。パケット列出力手段１０７によりパケット列が出力される際に、各パケット列のＰＩＤ値を０ｘ１ＦＦＦと比較することでＮＵＬＬパケット列を検出することができる。
【０１２５】
図４は、本発明の実施の形態例を示すパケット列入れ替え手段１１２を説明するための概念図である。
【０１２６】
図４では、４本のチャンネルのデータを多重化する際の、パケット列多重化処理の様子を示している。チャンネルＡは、１．５Ｍｂｐｓの映像音声データ、チャンネルＢは、３Ｍｂｐｓの映像音声データ、チャンネルＣは、４Ｍｂｐｓの映像音声データ、もう１チャンネルはプライベートデータである。パケット列多重化順序格納手段１０４は、８１９２パケット分の先頭アドレス（１パケット当り、３２ｂｉｔ）を格納できる。
【０１２７】
多重化処理単位Ｔ＝１００ｍｓで多重化すべきパケットの総数は、伝送レート３８．１Ｍｂｐｓで約２５３４パケットである。チャンネルＡは１．５Ｍｂｐｓであるので、１００ｍｓで１００パケットを多重処理する。チャンネルＢは３Ｍｂｐｓであるので、１００ｍｓで２００パケットを多重処理する。チャンネルＣは４Ｍｂｐｓであるので、１００ｍｓで２６６パケットを多重処理する。１００ｍｓで多重するパケットの総数は２５３４パケットなので、通常、残りの１９６８パケットは、ＮＵＬＬパケット（無効パケット）を多重してトータル２５３４パケットとする。
【０１２８】
それぞれのチャンネルのパケットの多重位置は、パケット列多重化順序生成手段１０３により出現間隔が均等になるように多重される。チャンネルＡは、２５３４パケット中、１００パケットが存在するので、パケット列多重化順序格納手段１０４において、約２５パケット毎に出現する。同様に、チャンネルＢは、約１３パケット毎に出現する。同様にチャンネルＣは、約１０パケット毎に出現する。それ以外の多重位置には、ＮＵＬＬパケット列が多重される。なお、上記のチャンネルのパケットの多重位置は、出現間隔が均等になるように多重されことは必須ではなく、他の多重化方法でも良い。
【０１２９】
パケット列多重化順序格納手段１０４に格納されたパケット列がデータ多重化装置より出力伝送される前に、パケット列入れ替え手段１１２では、ＮＵＬＬパケット列検出手段１１１において検出されたＮＵＬＬパケットの多重位置にプライベートデータのパケット列を入れ替えて出力伝送する。ＮＵＬＬパケット列の検出は、ＰＩＤ値を０ｘ１ＦＦＦと比較することで検出できる。
【０１３０】
パケット列出力開始アドレス格納手段１１０にプライベートデータパケット列の先頭アドレスが書き込まれたら、直ちにパケット列入れ替え手段１１２でＮＵＬＬパケット列とプライベートデータパケット列の入れ替え処理が開始される。
ＮＵＬＬパケット列と入れ替えを行うプライベートデータのパケット列の総数は、パケット列出力総数設定手段１０９に設定されている。
【０１３１】
ＮＵＬＬパケット列と入れ替えを行ったプライベートデータパケット列の合計数が、パケット列出力総数設定手段１０９に設定された値と一致したら、当該ブロックに含まれるプライベートデータパケット列の多重出力処理が完了したことになる。
【０１３２】
続いて、次のブロックのプライベートデータパケット列の多重出力処理に移行する。次のブロックのプライベートデータパケット列も上記と同様の方法で多重出力処理が行われる。
【０１３３】
以上の様に、本実施形態によれば、パケット列出力総数設定手段により、プライベートデータのパケット列を１ブロック分まとめて出力できるようにし、かつパケット列出力開始アドレス格納手段により、先頭アドレスが書き込まれたら直ちにプライベートデータのパケット列の多重出力処理が開始されるようにし、かつＮＵＬＬパケット列検出手段により、出力されるパケット列がＮＵＬＬパケット列であるかどうかを検出するようにし、かつパケット列入れ替え手段により、検出されたＮＵＬＬパケットの多重位置にプライベートデータのパケット列を入れ替えて出力伝送する様にしたので、データ多重化装置内部におけるプライベートデータ信号のパケット列の遅延を数十ｍｓに抑えることができる。
【０１３４】
以上、実施の形態で説明したように、入力された複数チャンネルのパケット列をチャンネルバッファに格納し多重化処理して多重パケット列を生成し出力する際に、入力された複数チャンネルのパケット列をチャンネルバッファに格納し多重化処理して多重パケット列を生成し出力する際に、あらかじめ定めた時間単位で多重化順序を生成し、かつ多重化順序を格納するメモリにおけるパケット列の格納状態を示すフラグにより、あらかじめ定めた時間単位で多重化を行うパケット列の総数を制御し、かつチャンネルバッファのアドレスは、あらかじめ定めたブロック単位で制御し、かつ多重化処理済みのブロックを一定時間の間、次に入力されるパケット列で上書きされないようにチャンネルバッファのアドレスを制御し、かつプライベートデータのパケット列を１ブロック分まとめて出力できるようにパケット列の総数を設定し、かつプライベートデータの先頭アドレスが書き込まれたら直ちにプライベートデータのパケット列の多重出力処理が開始されるようにし、かつ出力されるパケット列がＮＵＬＬパケット列であるかどうかを検出するようにし、かつ検出されたＮＵＬＬパケットの多重位置にプライベートデータのパケット列を入れ替えて出力伝送する様にしたので、出力バッファを使用せず、チャンネルバッファのみで、データの入力と多重化処理と伝送路の規格に準拠した伝送レートでの出力処理を行うことができ、かつデータ多重化装置内部におけるプライベートデータ信号のパケット列の遅延を数十ｍｓに抑えることができる。
【０１３５】
なお、本発明は、上記実施形態に限定されるものではなく、本発明の趣旨に基づいて種々の変形が可能であり、これらを本発明の範囲から排除するものではない。
【０１３６】
本発明を適用可能なデータ多重化装置は、ＭＰＥＧ２−ＴＳパケット列を多重化するデータ多重化装置に限らない。又、映像信号又は音声信号のデータ多重化装置にも限らない。本発明は、１つの記憶手段のみで、任意のディジタルデータを多重化し、伝送路の規格に準拠した伝送レート出力するデータ多重化装置又はデータ多重化方法に適用可能である。
【０１３７】
特に、映像信号、音声信号、プライベートデータ信号、又はその他の連続するディジタルデータを多重化するデータ多重化装置、又はデータ多重化方法において有効である。これらのデータは、メモリの最大出力レート又は最大入力レートに近い高速大容量のデータ伝送が必要な場合が多く、データ伝送効率を出来る限り上げることが必要だからである。
【０１３８】
又、データ伝送の最終端末である受信装置（例えば、テレビやステレオ装置）のバッファに蓄えられているディジタルデータが空になると、映像や音声が途切れると言う不都合を生じるため、当該最終端末において、時間軸上の信号の連続性を維持することが求められる。従って、一定以上のデータ伝送の遅延が許されない。そのため、映像信号等のデータ多重化装置等におけるデータ伝送の遅延を出来るだけ小さくし、データ伝送効率の高いシステムを実現することが求められる。かかる点からも、映像信号、音声信号、プライベートデータ信号、又はその他のディジタルデータを多重化するデータ多重化装置又はデータ多重化方法に対して、本発明の適用効果が大きい。
【０１３９】
また、本実施の形態において、ＮＵＬＬパケットに入れ替えられるパケットは、プライベートデータを構成するパケットであったが、他のパケットであっても良い。つまり、本実施の形態において、１チャンネル以上の第一のパケット列と、第二のパケット列を多重化するデータ多重化方法であって、１チャンネル以上の第一のパケット列を多重化して生じたＮＵＬＬパケットに、前記第二のパケット列を構成するパケットを入れ替えて出力するデータ多重化方法、データ多重化装置等について説明した。なお、かかるデータ多重化方法等における第二のパケット列は、時間軸情報を有しない情報から構成されることが好適であることは、上述した通りである。
【０１４０】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるデータ多重化方法を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、１チャンネル以上の第一のパケット列と、第二のパケット列を取得するパケット取得ステップと、１チャンネル以上の第一のパケット列を多重化する多重化ステップと、多重化ステップで多重化したパケット列からＮＵＬＬパケットを検出するステップと、検出したＮＵＬＬパケットを第二のパケット列を構成するパケットに入れ替えて出力するステップを実行させるためのプログラム、である。
【０１４１】
（実施の形態２）
【０１４２】
図５は、本発明の実施の形態における送受信システムを説明するためのブロック図である。本送受信システムは、サーバ装置５０１、送信装置５０２、受信装置５０３を有する。
【０１４３】
サーバ装置５０１は、送信するコンテンツを格納していおり、複数チャンネルのコンテンツを送信装置５０２に供給する。
【０１４４】
送信装置５０２は、多重化装置１と送信手段５０２１を有する。多重化装置１は、サーバ装置５０１からチャンネルごとのコンテンツを取得する。多重化装置１の詳細は、実施の形態１で説明したので、ここでの説明は省略する。
【０１４５】
送信手段５０２１は、多重化装置１の出力である多重化されたストリームを送信する。送信手段５０２１は、放送手段で実現することが好適であるが、無線または有線の通信手段でも実現可能である。
【０１４６】
受信装置５０３は、送信装置５０２から送信されるストリームを受信し、出力する。受信装置５０３は、受信手段５０３１、入力受付手段５０３２、パケット取得手段５０３３、出力手段５０３４を有する。
【０１４７】
受信手段５０３１は、送信装置５０２からストリームを受信する。受信手段５０３１は、放送を受信する手段で実現されることが好適であるが、無線または有線の通信手段でも実現可能である。
【０１４８】
入力受付手段５０３２は、ユーザからの入力（例えば、リモコン信号）を受け付ける。入力受付手段５０３２は、例えば、赤外線受光部とリモコンのドライバーソフト等で実現され得る。
【０１４９】
パケット取得手段５０３３は、入力受付手段５０３２が受け付けた入力にしたがって、受信手段５０３１が受信したストリーム中のパケットを取得する。入力受付手段５０３２がチャンネル「６」を示す信号を受け付けた場合に、パケット取得手段５０３３は、チャンネル「６」に該当する番組に対応するパケットを取得する
【０１５０】
出力手段５０３は、パケット取得手段５０３３が取得したパケットを出力する。出力とは、通常、ディスプレイへの表示、およびスピーカーへの音出力をうが、外部の装置への送信等を含んでも良い。出力手段５０３は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力手段５０３は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【０１５１】
本送受信システムにおいて、サーバ装置５０１のコンテンツは、送信装置５０２で多重化され、送信される。そして、受信装置５０３は、当該コンテンツを受信し、出力する。かかる場合、実施の形態１で述べたように、送信装置５０２において、複数のチャンネルのコンテンツ（パケット列）は、１チャンネル以上の第一のパケット列を多重化して生じたＮＵＬＬパケットを、第二のパケット列を構成するパケットに入れ替えて出力するデータ多重化方法により多重化される。
【０１５２】
以上、本実施の形態において、実施の形態１で述べた多重化装置を含むコンテンツ（パケット列）の送受信の態様について説明した。
【発明の効果】
本発明によれば、１チャンネル以上の第一のパケット列を多重化して生じたＮＵＬＬパケットを、第二のパケット列を構成するパケットに入れ替えて出力するデータ多重化方法により、第二のパケット列の遅延を数十ｍｓに抑えることができる。
【図面の簡単な説明】
【図１】実施の形態１のデータ多重化装置のブロック図
【図２】実施の形態１のパケット列多重化順序格納手段の概念図
【図３】実施の形態１のチャンネルバッファの概念図
【図４】実施の形態１のパケット列入れ替え手段の概念図
【図５】実施の形態２の送受信システムのブロック図
【図６】ＭＰＥＧ２−ＴＳフォーマットの概略図
【図７】複数のプログラム番組を同時に多重して伝送する際の各ストリームのＰＩＤの関係を示した図
【図８】複数のプログラム番組から好みのプログラム番組の映像、音声等のストリームを再生する手順を示したフローチャート
【図９】従来のＭＰＥＧ２−ＴＳ多重化装置のブロック図
【図１０】ＳＤＲＡＭの構成図
【図１１】ＳＤＲＡＭのリードタイミングチャート
【図１２】ＳＤＲＡＭのライトタイミングチャート
【符号の説明】
１０１  チャンネルバッファ
１０２  アドレス制御手段
１０３  パケット列多重化順序生成手段
１０４  パケット列多重化順序格納手段
１０５  パケット列多重化順序格納状態フラグ生成手段
１０６  パケット列多重化総数制御手段
１０７  パケット列出力手段
１０８  ローカルＣＰＵ
１０９  パケット列出力総数設定手段
１１０  パケット列出力開始アドレス格納手段
１１１  ＮＵＬＬパケット列検出手段
１１２  パケット列入れ替え手段
８０１  チャンネルバッファ
８０２  第１のアドレス制御手段
８０３  ローカルＣＰＵ
８０４  出力バッファ
８０５  第２のアドレス制御手段
【図１】
2004320117.tif 000003
【図２】
2004320117.tif 000004
【図３】
2004320117.tif 000005
【図４】
2004320117.tif 000006
【図５】
2004320117.tif 000007
【図６】
2004320117.tif 000008
【図７】
2004320117.tif 000009
【図８】
2004320117.tif 000010
【図９】
2004320117.tif 000011
【図１０】
2004320117.tif 000012
【図１１】
2004320117.tif 000013
【図１２】
2004320117.tif 000014