(57)【要約】【課題】ネットワークを介して入力された多重化ストリームのチャネル数が動的に変動する場合であっても、メモリ上の領域を効率よく使用するデマルチプレクサを提供する。【解決手段】メモリ転送部１４は、入力されたトランスポートストリームをメモリ１６に格納し、各ＴＳパケットの先頭アドレスをアドレスメモリ１５に格納しておく。ＣＰＵ２１は、アドレスメモリ１５に格納されている情報を参照してメモリ１６内の各パケットにアクセスし、ヘッダの情報を解析する。ＣＰＵ２１は、メモリ１６からデコーダ１９，２０へデータを転送する転送命令を、アクセスユニット（例えば１フレーム）ごとに生成し、ＤＭＡ１７，１８に与える。ＤＭＡ１７，１８は、ＣＰＵ２１から与えられた転送命令に従って、メモリ１６からデータを読み出してデコーダ１９，２０に転送する。【選択図】　図１
2004040576.tif 000002
【特許請求の範囲】
【請求項１】
複数のチャネルの各データストリームをパケット単位で多重化した多重化ストリームが入力され、入力された多重化ストリームに含まれている各データストリームを、それぞれのデータストリームに対応したチャネルのデータ処理装置に分配する分配装置において、
コントローラと、
入力された多重化ストリームを格納するメモリと、
上記多重化ストリームの上記メモリ内の格納位置を示したアドレス情報を、パケットごと生成するアドレス情報生成手段と、
上記アドレス情報を格納するアドレス情報格納手段と、
上記コントローラから与えられる命令に従って、上記メモリからデータを読み出して上記データ処理装置に転送するデータ転送手段とを備え、
上記コントローラは、上記アドレス情報格納手段に格納されているアドレス情報に基づき上記メモリ内の各パケットにアクセスし、各パケットのヘッダの情報を参照して各チャネルのデータストリームの復号単位の上記メモリ内の格納位置を求め、上記メモリから上記復号単位ごとにデータを読み出して対応するチャネルのデータ処理装置へ転送する転送命令を生成し、生成した転送命令を上記メモリアクセス手段に与えること
を特徴とするデータ分配装置。
【請求項２】
複数のチャネルの各データストリームをパケット単位で多重化した多重化ストリームが入力され、入力された多重化ストリームに含まれている各データストリームを、それぞれのデータストリームに対応したチャネルのデータ処理装置に分配するデータ分配方法において、
入力された多重化ストリームをメモリに格納し、
上記多重化ストリームの上記メモリ内の格納位置を示したアドレス情報を、パケットごと生成して、アドレス格納用のアドレスメモリに格納し、
上記アドレスメモリに格納されているアドレス情報に基づき上記メモリ内の各パケットにアクセスし、各パケットのヘッダの情報を参照して各チャネルのデータストリームの復号単位の上記メモリ内の格納位置を求め、上記メモリから上記復号単位ごとにデータを読み出して対応するチャネルのデータ処理装置へ転送する転送命令を生成し、
生成した転送命令を上記メモリから上記データ処理装置にデータを転送する転送処理部に与え、
データ転送処理部が上記転送命令に従って、上記メモリからデータを読み出して上記データ処理装置に転送すること
を特徴とするデータ分配方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数チャネルのビデオデータ、オーディオデータ等をパケット単位で多重化した多重化ストリームを、チャネルごとに分割し、それぞれ対応するチャネルのデコーダに分配するデータ分配装置及び方法に関するものである。
【０００２】
【従来の技術】
デジタルコンテンツのネットワーク配信を行う場合、複数のデータエンコーダから出力されたビデオデータ、オーディオデータ、テキストデータ、プログラムデータ、その他の伝送に必要なシステムデータ等の複数のエレメンタリストリームを多重化して配信される。配信された多重化ストリームは、受信側のデマルチプレクサにより、複数のエレメンタリストリームに分割されて対応するデコーダに分配される。
【０００３】
従来のデマルチプレクサは、多重化ストリームを複数のエレメンタリストリームに分割する場合、多重化ストリームに含まれているエレメンタリストリームのチャネル数を解析し、メモリ内の領域をチャネルごとに予め分割しておく。そして、入力されたパケットを対応するチャネル領域に格納する。メモリ内の領域をチャネルごとに分割する処理は、多重化ストリームが入力されたのちの最初のセッションで行われる。
【０００４】
【発明が解決しようとする課題】
ところで、多重化ストリーム内に含まれるチャネル数が、時間ごとに動的に変化する場合がある。例えば、複数のユーザが会話するようなＴＶ会議システム等では、会議中にユーザが加わったり、抜けたりし、チャネル数が動的に変化する場合がある。このようにチャネル数が動的に変化する場合、セッションの開始時にチャネル数を決定してメモリ上の領域を分割すると、データ転送中にメモリ上に形成したチャネル数が不足したり、或いは、使用されない領域が生じたりしてしまう。
【０００５】
また、入力されたパケットがどのチャネルに対応するか判断し、対応するメモリ領域に格納するパケットの分配処理は、リアルタイムで処理しなければならない。また、その処理量も多い。そのため、例えば、他の回路と共通に用いられるメインコントローラに、パケットの分配処理を行わせると、リアルタイムで処理をしなければならないので、負担が大きくなってしまう。また、メインコントローラとは異なる独立したハードウェアを設けてパケットの分配処理を行わせたとしても、処理量が多いため、回路規模が大きくなってしまう。
【０００６】
本発明は、このような実情を鑑みてなされたものであり、動的にチャネル数が変動する場合であっても、メモリ上の領域を効率よく使用するデータ分配装置及方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明にかかるデータ分配装置は、複数のチャネルの各データストリームをパケット単位で多重化した多重化ストリームが入力され、入力された多重化ストリームに含まれている各データストリームを、それぞれのデータストリームに対応したチャネルのデータ処理装置に分配する分配装置であって、コントローラと、入力された多重化ストリームを格納するメモリと、上記多重化ストリームの上記メモリ内の格納位置を示したアドレス情報を、パケットごと生成するアドレス情報生成手段と、上記アドレス情報を格納するアドレス情報格納手段と、上記コントローラから与えられる命令に従って、上記メモリからデータを読み出して上記データ処理装置に転送するデータ転送手段とを備え、上記コントローラは、上記アドレス情報格納手段に格納されているアドレス情報に基づき上記メモリ内の各パケットにアクセスし、各パケットのヘッダの情報を参照して各チャネルのデータストリームの復号単位の上記メモリ内の格納位置を求め、上記メモリから上記復号単位ごとにデータを読み出して対応するチャネルのデータ処理装置へ転送する転送命令を生成し、生成した転送命令を上記メモリアクセス手段に与える。
【０００８】
本発明にかかるデータ分配方法は、複数のチャネルの各データストリームをパケット単位で多重化した多重化ストリームが入力され、入力された多重化ストリームに含まれている各データストリームを、それぞれのデータストリームに対応したチャネルのデータ処理装置に分配するデータ分配方法であって、入力された多重化ストリームをメモリに格納し、上記多重化ストリームの上記メモリ内の格納位置を示したアドレス情報を、パケットごと生成して、アドレス格納用のアドレスメモリに格納し、上記アドレスメモリに格納されているアドレス情報に基づき上記メモリ内の各パケットにアクセスし、各パケットのヘッダの情報を参照して各チャネルのデータストリームの復号単位の上記メモリ内の格納位置を求め、上記メモリから上記復号単位ごとにデータを読み出して対応するチャネルのデータ処理装置へ転送する転送命令を生成し、生成した転送命令を上記メモリから上記データ処理装置にデータを転送する転送処理部に与え、データ転送処理部が上記転送命令に従って、上記メモリからデータを読み出して上記データ処理装置に転送する。
【０００９】
以上のような構成の本発明にかかるデータ分配装置及び方法は、以下のような処理を行う。
【００１０】
すなわち、入力された多重化ストリームのメモリ上の格納位置を示したアドレス情報を、パケットごと生成して、アドレス格納用のアドレスメモリに格納しておく。コントローラは、アドレスメモリに格納されているアドレス情報に基づきメモリ上の各パケットにアクセスし、各パケットのヘッダの情報を参照して復号処理を行うために必要となる最小の復号単位を構成するデータの格納位置をチャネル毎に求める。コントローラは、メモリから復号単位ごとにデータを読み出して対応するチャネルのデータ処理装置へ転送する転送命令を生成する。そして、データ転送手段は、コントローラから与えられた転送命令に従って、メモリからデータを読み出してデータ処理装置に転送する。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態として、本発明を適用したデコードシステムについて説明をする。
【００１２】
図１に、本発明の実施の形態のデコードシステムのブロック構成図を示す。
【００１３】
本発明の実施の形態のデコード１は、図１に示すように、ヘッダ検出部１１と、追加ヘッダ挿入部１２と、パケット削除部１３と、メモリ転送部１４と、アドレス情報格納部１５と、メモリ１６と、第１のＤＭＡ（Ｄｉｒｅｃｔ　Ｍｅｍｏｒｙ　Ａｃｃｅｓｓ）回路１７と、第２のＤＭＡ回路１８と、ビデオデコーダ１９と、オーディオデコーダ２０と、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）２１とを備えて構成されている。
【００１４】
デコードシステム１には、ネットワークを介して外部から、複数チャネルの符号化データが多重化された多重化ストリームが入力される。入力される多重化ストリームは、所定の伝送規格に従って各チャネルの符号化データがパケット化され、パケット単位で多重化された多重化ストリームである。例えば、ＭＰＥＧ２システムズに規定されたトランスポートストリーム（ＴＳ）、ＩＰネットワーク上で音声や映像データをリアルタイム配信する技術規格であるＲＴＰ（Ｒｅａｌ−ｔｉｍｅ　Ｔｒａｎｓｐｏｒｔ　Ｐｒｏｔｏｃｏｌ　ＲＦＣ１８８９）、ＭＰＥＧ２又はＭＰＥＧ４のエレメンタリストリームＥＳ，プログラムストリーム（ＰＳ）等が、多重化ストリームとして本デコードシステム１に入力される。
【００１５】
なお、本発明の実施の形態において、チャネルとは、多重化される各符号化ストリームに対応した伝達経路であるものとする。例えば、同時再生される音声データと映像データとが１つの配信元から送出される場合であっても、この音声データと映像データとは異なるチャネルで伝送されるものとする。
【００１６】
ヘッダ検出部１１には、外部から多重化ストリームが入力される。ヘッダ検出部１１は、入力された多重化ストリームを構成するパケットのヘッダを検出する。パケットとは、入力された多重化ストリームの多重化単位に対応する。例えば、パケットは、ＴＳであればＴＳパケット、ＲＴＰであればＲＴＰパケット、ＰＳであればパック、ＥＳであればＡＵ（Ａｃｃｅｓｓ　Ｕｎｉｔ）に対応する。
【００１７】
追加ヘッダ挿入部１２は、ヘッダ検出部１１により検出された各パケットのヘッダの前に、追加ヘッダを挿入する。追加ヘッダには、追加ヘッダのスタートコード、パケットの識別用のＩＤ、そのパケットの入力時刻、パケットやヘッダのバイト数等のパケット情報が記述される。
【００１８】
追加ヘッダ挿入部１２により挿入される追加ヘッダの具体的な記述内容例を、図２、図３及び図４に示す。図２は、ＴＳが入力されたときに挿入される追加ヘッダの例である。ＴＳ用の追加ヘッダには、ＴＳパケット情報を含んだデータ、例えば、ＩＮＦＯ＿ＳＴＡＲＴ＿ＣＯＤＥ、ＰＩＤ、ＴＳ＿ＨＥＡＤＥＲ＿ＢＹＴＥ、ＩＮＰＵＴ＿ＴＩＭＥ＿Ｈ、ＩＮＰＵＴ＿ＴＩＭＥ＿Ｌが記述される。ＩＮＦＯ＿ＳＴＡＲＴ＿ＣＯＤＥは、追加ヘッダのスタート位置を示すコードである。ＰＩＤは、この追加ヘッダに続くＴＳパケットを識別するためのＰＩＤである。ＴＳ＿ＨＥＡＤＥＲ＿ＢＹＴＥは、この追加ヘッダに続くＴＳパケットのヘッダのバイト数である。ＩＮＰＵＴ＿ＴＩＭＥ＿Ｈ及びＩＮＰＵＴ＿ＴＩＭＥ＿Ｌは、このＴＳパケットの入力時刻である。
【００１９】
図３は、ＲＴＰが入力されたときに挿入される追加ヘッダの例である。ＲＴＰ用の追加ヘッダには、ＲＴＰパケット情報を含んだデータ、例えば、ＩＮＦＯ＿ＳＴＡＲＴ＿ＣＯＤＥ、ＲＴＰ＿ＲＴＣＰ＿ＩＤ、ＰＡＣＫＥＴ＿ＢＹＴＥ、ＩＮＰＵＴ＿ＴＩＭＥ＿Ｈ、ＩＮＰＵＴ＿ＴＩＭＥ＿Ｌが記述される。ＩＮＦＯ＿ＳＴＡＲＴ＿ＣＯＤＥは、追加ヘッダのスタート位置を示すコードである。ＲＴＰ＿ＲＴＣＰ＿ＩＤは、この追加ヘッダに続くＲＴＰ及びＲＴＣＰを識別するための識別子である。ＰＡＣＫＥＴ＿ＢＹＴＥは、この追加ヘッダに続くＲＴＰパケットのバイト数である。ＩＮＰＵＴ＿ＴＩＭＥ＿Ｈ及びＩＮＰＵＴ＿ＴＩＭＥ＿Ｌは、このＲＴＰパケットの入力時刻である。
【００２０】
図４は、ＥＳ又はＰＳが入力されたときに挿入される追加ヘッダの例である。ＥＳ又はＰＳ用の追加ヘッダには、ＰＳパケット情報を含んだデータ、例えば、ＩＮＦＯ＿ＳＴＡＲＴ＿ＣＯＤＥ、ＳＴＡＲＴ＿ＣＯＤＥ、ＩＮＰＵＴ＿ＴＩＭＥ＿Ｈ、ＩＮＰＵＴ＿ＴＩＭＥ＿Ｌが記述される。ＩＮＦＯ＿ＳＴＡＲＴ＿ＣＯＤＥは、追加ヘッダのスタート位置を示すコードである。ＳＴＲＡＴ＿ＣＯＤＥは、この追加ヘッダに続くシーケンスのスタート位置を示すコードである。ＩＮＰＵＴ＿ＴＩＭＥ＿Ｈ及びＩＮＰＵＴ＿ＴＩＭＥ＿Ｌは、このパケットの入力時刻である。ＥＳのＡＵの先頭に挿入される追加ヘッダには、ＩＮＰＵＴ＿ＴＩＭＥ＿Ｈ及びＩＮＰＵＴ＿ＴＩＭＥ＿Ｌを記述する必要はない。
【００２１】
パケット削除部１３は、入力された多重化ストリーム中のパケットのうち、デコードをしない不必要なパケットを削除する。パケット削除部１３は、パケットを削除する際に、そのパケットに追加されている追加ヘッダも同時に削除する。
【００２２】
メモリ転送部１４には、追加ヘッダが挿入され、且つ、パケット削除部１３により不必要なパケットが削除された後の多重化ストリームが入力される。メモリ転送部１４は、入力された多重化ストリームを、パケット単位でメモリ１６に格納していく。メモリ転送部１４は、パケットを格納する際に、そのパケットの先頭に付加された追加ヘッダも一緒に格納する。メモリ転送部１４は、入力されたパケットが映像データが格納されたパケットである場合、そのパケットをメモリ１６上のビデオストリーム格納領域１６ａに格納する。メモリ転送部１４は、入力されたパケットが音声データが格納されたパケットである場合、そのパケットをメモリ１６上のオーディオストリーム格納領域１６ｂに格納する。なお、メモリ転送部１４は、パケットを格納する際に、１つのパケットを連続した領域に格納する。
【００２３】
また、メモリ転送部１４は、メモリ１６に格納した各パケットの先頭アドレス、つまり、追加ヘッダの先頭アドレスと、そのパケットの識別情報（例えば、ＰＩＤ，ＲＴＰ＿ＲＴＣＰ＿ＩＤ）とが示されたパケットアドレス情報を生成して、アドレス情報格納部１５に格納する。パケットアドレス情報は、メモリ１６に格納する全てのパケットについて生成される。
【００２４】
メモリ１６は、入力された多重化ストリームを格納する。メモリ１６は、メモリバス２２を介してメモリ転送部１４、第１のＤＭＡ１７、第２のＤＭＡ１８及びＣＰＵ２１からアクセスがされる。なお、本例では、メモリ１６に、ビデオストリーム領域１６ａと、オーディオストリーム領域１６ｂとを形成し、ビデオストリーム領域１６ａには、多重化ストリーム中に含まれている映像データが格納され、オーディオストリーム領域１６ｂには、多重化ストリーム中に含まれている音声データが格納されているが、データの種類ごとに領域を区別して格納しなくてもよい。
【００２５】
第１のＤＭＡ１７は、ＣＰＵ２１からインストラクションが与えられ、そのインストラクションに基づきメモリ１６上からデータを読み出して、ビデオデコーダ１９に転送する。
【００２６】
第２のＤＭＡ１８は、ＣＰＵ２１からインストラクションが与えられ、そのインストラクションに基づきメモリ１６上からデータを読み出して、オーディオデコーダ２０に転送する。
【００２７】
ビデオデコーダ１９は、第１のＤＭＡ１７を介して転送される符号化データをデコードして、ベースバンドの映像信号を出力する。
【００２８】
オーディオデコーダ２０は、第２のＤＭＡ１８を介して転送される符号化データをデコードして、ベースバンドの音声信号を出力する。
【００２９】
ＣＰＵ２１は、本デコードシステム１の全体の制御を行う。また、ＣＰＵ２１は、アドレス情報格納部１５に格納されているパケットアドレス情報を直接読み出すことができる。
【００３０】
つぎに、メモリ１６に格納された多重化ストリームを、ビデオデコーダ１９及びオーディオデコーダ２０へ分配するデータ分配方法について説明をする。
【００３１】
本デコードシステム１では、入力された多重化ストリームがメモリ１６内に記録される。本デコードシステム１では、メモリ１６に記録した全てのパケットに対してパケットアドレス情報が生成され、そのパケットアドレス情報がアドレス情報格納部１５に記録される。パケットアドレス情報には、パケットの先頭アドレスが示されている。
【００３２】
ＣＰＵ２１は、まず、アドレス情報格納部１５からパケットアドレス情報を読み出す。ＣＰＵ２１は、読み出したパケットアドレス情報に示されているメモリ１６上のアドレスにアクセスをし、パケットのヘッダ情報を読み出す。
【００３３】
続いて、ＣＰＵ２１は、読み出したヘッダ情報を解析して、アクセスユニットの解析を行う。アクセスユニットとは、そのデータストリームを復号する際の最小の復号単位である。例えば、映像データであれば、１アクセスユニットは通常１フレームとなる。アクセスユニットの解析は、多重化ストリームに含まれている全てのチャネルに対して行う。
【００３４】
続いて、ＣＰＵ２１は、メモリ１６からビデオデコーダ１９又はオーディオデコーダ２０へアクセスユニット単位でデータを転送させる命令内容を示した転送インストラクションを生成する。
【００３５】
続いて、ＣＰＵ２１は、アクセスユニットの実行タイミングとなったタイミング、つまり、アクセスユニットのデコードタイミングに、そのアクセスユニットを転送する命令が示された転送インストラクションを、対応するＤＭＡに送信する。ＣＰＵ２１は、例えば、映像データであれば、その映像データのデコードタイミングとなったときに、転送インストラクションを第１のＤＭＡ１７に供給する。また、ＣＰＵ２１は、例えば、音声データであれば、その音声データのデコードタイミングとなったときに、転送インストラクションを第２のＤＭＡ１８に供給する。
【００３６】
ＤＭＡ１７，１８は、ＣＰＵ２１から転送インストラクションが与えられると、その転送インストラクションに記述されているメモリ１６上のアドレスからデータを読み出して、対応するビデオデコーダ１９又はオーディオデコーダ２０へ送信する。
【００３７】
例えば、図５に示すように、多重化ストリームに３つのチャネル（チャネルＡ，Ｂ，Ｃ）の映像データが含まれているとする。メモリ１６には、チャネルＡ、Ｂ、Ｃの区別に関わらず、パケットの入力順に従ってデータが記録される。
【００３８】
ここで、チャネルＡの２つのパケットＡ０−０、Ａ０−１のペイロードデータをあわせて１つのアクセスユニットＡ０が構成されるとする。その場合、ＣＰＵ２１は、パケットＡ０−０のペイロードデータに続いてパケットＡ０−１のペイロードデータがビデオデコーダ１９へ転送されるような転送インストラクションを生成する。つまり、ＣＰＵ２１は、パケットＡ０−０、Ａ０−１のペイロードの先頭アドレスとそのバイト数を指定した転送インストラクションを生成する。ＣＰＵ２１は、生成した転送インストラクションを、そのアクセスユニットＡ０のデコードタイミングとなったときに、第１のＤＭＡ１７に与える。そして、第１のＤＭＡ１７が、パケットＡ０−０、パケットＡ０−１のペイロードデータを連続して読み出して、ビデオデコーダ１９に供給する。
【００３９】
また、チャネルＢの３つのパケットＢ０−０、Ｂ０−１、Ｂ０−２のペイロードデータをあわせて、１つのアクセスユニットＢ０が構成され、上記アクセスユニットＡ０の次のタイミングでデコードされるとする。その場合、ＣＰＵ２１は、パケットＢ０−０のペイロードデータ、パケットＢ０−１のペイロードデータ、パケットＢ０−２のペイロードデータが連続してビデオデコーダ１９へ転送されるような転送インストラクションを生成する。つまり、パケットＢ０−０、Ｂ０−１、Ｂ０−２のペイロードの先頭アドレスとそのバイト数を指定した転送インストラクションを生成する。ＣＰＵ２１は、生成した転送インストラクションを、そのアクセスユニットＢ０のデコードタイミングとなったときに、第１のＤＭＡ１７に与える。そして、第１のＤＭＡ１７が、パケットＢ０−０、パケットＢ０−１、パケットＢ０−２のペイローを連続して読み出して、ビデオデコーダ１９に供給する。
【００４０】
なお、ＣＰＵ２１は、生成した転送インストラクションを、そのアクセスユニットの実行タイミングとなったときにＤＭＡ１７，１８に転送しているが、その転送インストラクションにアクセスユニットの実行タイミングを記述して、つまり、そのアクセスユニットのデコード時刻を記述して、対応するＤＭＡに送信してもよい。この場合、ＤＭＡ１７，１８は、与えられた転送インストラクションを一旦キュー等に格納しておき、実行タイミングとなったときにキューに格納してある転送インストラクションを実行する。この場合、ＣＰＵ２１は、転送インストラクションを任意の時刻（少なくともデコードタイミングより前の時刻）にＤＭＡ１７，１８に供給すればよい。
【００４１】
以上のように本発明の実施の形態のデコードシステム１では、入力された多重化ストリームのメモリ１６上の格納位置を示したパケットアドレス情報を、パケットごと生成して、アドレス格納用のアドレス情報格納部１５に格納しておく。ＣＰＵ２１は、アドレス情報格納部１５に格納されているパケットアドレス情報に基づきメモリ１６上の各パケットにアクセスし、各パケットのヘッダの情報を参照して復号処理を行うために必要となる最小の復号単位を解析する。ＣＰＵ２１は、メモリ１６からアクセスユニットごとにデータを読み出して対応するＤＭＡ１７，１８へ転送する転送命令を生成する。そして、ＤＭＡ１７，１８は、ＣＰＵ２１から与えられた転送命令に従って、メモリ１６からデータを読み出してデコーダ１９，２０に転送する。
【００４２】
このため、本発明の実施の形態のデコードシステム１では、メモリ１６上の領域をチャネルごとに分割しなくてもよくなるので、動的にチャネル数が変動する場合であっても、メモリ１６上の領域を効率よく使用することができる。
【００４３】
また、さらに、本発明にかかるデコードシステム１では、ＣＰＵ２１はメモリ１６に格納されているデータに対してアクセスをするので、入力された多重化ストリームにリアルタイムで対応して処理を行わなくてもよい。そのため、ＣＰＵ２１の処理負担が少なくなり、他のリソースに対して処理を開放することができる。また、デコードシステム１では、入力された多重化ストリームにリアルタイム処理で対応して処理を行わなくてはならない回路は、各パケットのメモリ１６上の格納位置だけを算出すればよいので、非常に処理量が少なくなる。そのため、ＣＰＵ２１とは別途設けられる回路規模を小さくすることができる。
【００４４】
【発明の効果】
本発明にかかるデータ分配装置及び方法は、以下のような処理を行う。
【００４５】
すなわち、入力された多重化ストリームのメモリ上の格納位置を示したアドレス情報を、パケットごと生成して、アドレス格納用のアドレスメモリに格納しておく。コントローラは、アドレスメモリに格納されているアドレス情報に基づきメモリ上の各パケットにアクセスし、各パケットのヘッダの情報を参照して復号処理を行うために必要となる最小の復号単位を構成するデータの格納位置を各チャネル毎に求める。コントローラは、メモリから復号単位ごとにデータを読み出して対応するチャネルのデータ処理装置へ転送する転送命令を生成する。そして、データ転送手段は、コントローラから与えられた転送命令に従って、メモリからデータを読み出してデータ処理装置に転送する。
【００４６】
このように、本発明にかかるデータ分配装置及び方法では、メモリ上の領域をチャネルごとに分割しなくてもよくなるので、動的にチャネル数が変動する場合であっても、メモリ上の領域を効率よく使用することができる。
【００４７】
また、さらに、本発明にかかるデータ分配装置及び方法では、コントローラはメモリに格納されているデータに対してアクセスをするので、入力された多重化ストリームにリアルタイムで対応して処理を行わなくてもよい。そのため、コントローラの処理負担が少なくなり、他のリソースに対して処理を開放することができる。また、本発明にかかるデータ分配装置及び方法では、入力された多重化ストリームにリアルタイム処理で対応して処理を行わなくてはならない回路は、各パケットのメモリ上の格納位置だけを算出すればよいので、非常に処理量が少なくなる。そのため、コントローラとは別途設けられる回路規模を小さくすることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態のデコードシステムのブロック構成図である。
【図２】ＴＳが入力されたときに挿入される追加ヘッダを説明するための図である。
【図３】ＲＴＰが入力されたときに挿入される追加ヘッダを説明するための図である。
【図４】ＥＳ又はＰＳが入力されたときに挿入される追加ヘッダを説明するための図である。
【図５】ＡＵ単位でデコーダに転送される多重化データについて説明をするための図である。
【符号の説明】
１　デコードシステム、１１　ヘッダ検出部、１２　追加ヘッダ挿入部、１３パケット削除部、１４　メモリ転送部、１５　アドレス情報格納部、１６　メモリ、１７，１８　ＤＭＡ、１９　ビデオデコーダ、２０　オーディオデコーダ、２１　ＣＰＵ、２２　メモリバス
【図１】
2004040576.tif 000003
【図２】
2004040576.tif 000004
【図３】
2004040576.tif 000005
【図４】
2004040576.tif 000006
【図５】
2004040576.tif 000007