(57)【特許請求の範囲】
【請求項１】
固定長パケットからなる多重信号を入力とし、該多重信号に多重された信号を分離して出力するシステムデコーダにおいて、入力された多重信号を格納する一時記憶手段と、前記入力多重信号を前記一時記憶手段に格納し、パケット選別処理手段に固定長パケットの境界を示す位置情報を通知するパケット格納処理手段と、前記一時記憶手段に格納された多重信号を構成する固定長パケットを読み出し、固定長パケットの種別に応じて各固定長パケットを処理する前記パケット選別処理手段と、固定長パケットからなる多重信号をＡＴＭのＡＡＬ Ｔype-5により分割したＡＴＭセルをＡＴＭ回線より受信し、元の多重信号を組み立て、この多重信号を前記パケット格納手段に入力するＡＴＭセル組立手段とを備えることを特徴とするシステムデコーダ。
【請求項２】
前記ＡＴＭセル組立手段は、固定長パケットのパケット境界位置を前記パケット格納手段に通知することを特徴とする請求項１記載のシステムデコーダ。
【請求項３】
前記多重信号がＭＰＥＧ２のトランスポートストリームであることを特徴とする請求項１または２記載のシステムデコーダ。
【請求項４】
前記パケット選別処理手段は、前記ＡＴＭセル組立手段より取得したトランスポートパケットの格納場所を用いて前記一時記憶手段へのアドレス制御を行う制御部と、前記一時記憶手段を読み書きするためのインタフェース部と、前記一時記憶手段に格納されたトランスポートパケットの同期バイトを検査するトランスポートパケット同期バイト検査部と、分離を行おうとするプログラムに属する画像及び音響ＰＥＳを含むトランスポートパケットのＰＩＤを格納したＰＩＤテーブルと、前記トランスポートパケットのＰＩＤを読み出して前記ＰＩＤテーブルに示されたＰＩＤと比較するＰＩＤ比較部と、前記トランスポートパケットの必要な情報を読み出して構造を解析するトランスポートパケット解析部と、前記トランスポートパケット解析部の解析結果を利用して前記トランスポートパケットより画像および音響ＰＥＳを分離して出力するＰＥＳ転送部とを備えて構成されることを特徴とする請求項３記載のシステムデコーダ。
【請求項５】
請求項３記載のシステムデコーダと、ＭＰＥＧ画像信号を復号するＭＰＥＧ画像復号手段と、ＭＰＥＧ音声信号を復号するＭＰＥＧ音声復号手段とを備えることを特徴とするＭＰＥＧ２復号装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＡＴＭ回線より受信したＭＰＥＧ２画像音響多重信号を入力し、多重信号の分離処理を行うＭＰＥＧ２システムデコーダ及びＭＰＥＧ２復号装置に係り、特に、ＡＴＭ網における多重信号の伝送が多重化パケットに同期して行われることを利用し、効率的に多重信号から画像圧縮信号と音響圧縮信号とを分離することを可能としたシステムデコーダ及びＭＰＥＧ２復号装置に関する。
【０００２】
【従来の技術】
動画像圧縮の国際標準であるＭＰＥＧ２（ＩＳＯ／ＩＥＣ  １３８１８）は、放送・通信上のアプリケーションに適した画像音響多重信号として、トランスポートストリーム（Ｔransport Ｓtream、以下、ＴＳという）を規定している。ＴＳは、複数のプログラム（同一時刻情報に同期したビデオ、オーディオ、その他のデータの組）を１本のストリームに多重化することができる。
【０００３】
ＴＳを復号するＭＰＥＧ２のシステムデコーダは、入力されるＴＳから選択された１つのプログラムに属するビデオデータ及びオーディオデータを分離（ＴＳ分離）するものである。そして、システムデコーダにより分離されたビデオ及びオーディオの各データは、それぞれビデオデコーダ及びオーディオデコーダにより画像信号及び音響信号に復号される。
【０００４】
以下、この種のＭＰＥＧ２のシステムデコーダの従来技術を図面により詳細に説明する。
【０００５】
図１２はＭＰＥＧ２  ＴＳデータ構造を説明する図、図１３はＭＰＥＧ２  ＴＳパケットのＡＡＬ５タイプへのマッピング方法を説明する図、図１４は画像音響多重信号分離を行う従来技術によるシステムデコーダの構成例を示すブロック図である。図１４において、１はＡＴＭセル組立部、２はパケット同期・バイト検査部、３はＦＩＦＯ、４はパケツト選別処理部、５はシステムデコーダ部、６はビデオデコーダ、７はオーディオデコーダである。
【０００６】
ＴＳは、図１２に示すように、ヘッダ部とペイロード（ＰＥＳ）とからなる１８８バイト固定長のトランスポートストリームパケット（Ｔransport Ｓtream Ｐacket、以下、ＴＳパケットという）により構成されており、ＭＰＥＧ２デコーダシステムが入力されたＴＳを復号するためには、入力ＴＳパケット列のＴＳパケットの区切りを正しく識別（ＴＳパケット同期）する必要がある。ＴＳパケットの先頭の８ビットは、この目的のための同期バイト(sync byte）であり、常にＨ“４７”（先頭の“Ｈ”は１６進表現であることを意味し、また、同様に先頭に“Ｂ”が付いている場合は２進表現であることを、先頭に“Ｄ”が付いている場合は１０進表現であることを意味する。）の値を有している。ＴＳパケット同期は、一般に、この同期バイトをシフト検出することにより実現される。
【０００７】
ヘッダ部は、図示のように、多数のフィールドにより構成されており、公知の構成である。そして、図１２には、後述する本発明においてＴＳ分離のために使用するヘッダ部内の情報部分が、太線により囲んで示されている。
【０００８】
ＭＰＥＧ２は、任意の固定速度あるいは可変速度で符号化が可能であるため、伝送速度が自由に設定できるＡＴＭ(Ａsynchronous Ｔransfer Ｍode、非同期転送モード）通信網を用いることにより、柔軟なアプリケーションを構築することができる。
【０００９】
次に、図１３を参照して、ＡＴＭ Ａdaptation ＬayerとしてＴype-５（以下、ＡＡＬ５という）を用いてＴＳを伝送する場合のＴＳパケットのＡＴＭセルへのマッピング方法を説明する。
【００１０】
図１３の上段に示すような連続する複数のＴＳパケットをＣＰＣＳ−ＳＤＵ(Ｃommon Ｐart Ｃonvergence Ｓublayer-Ｓervice Ｄata Ｕnit）とし、パディングフィールド及びトレイラである８バイトを付加して、ＣＰＣＳ−ＰＤＵ(Ｃommon Ｐart Ｃonvergence Ｓublayer-Ｐrotocol Ｄata Ｕnit)を構成する。パディングフィールドは、ＣＰＣＳ−ＰＤＵの長さを４８バイトの整数倍とする目的で付加され、０から４７バイトである。ＣＰＣＳ−ＰＤＵへのＴＳパケットの格納は、必ず、あるＴＳパケットの先頭バイトがＣＰＣＳ−ＳＤＵの先頭バイトとなるよう行われる。ＣＰＣＳ−ＰＤＵは４８バイト毎に分割され、それぞれ５バイトのＡＴＭセルヘッダが付加されて、５３バイトのＡＴＭセルにマッピングされる。そして、１つのＣＰＣＳ−ＰＤＵを分割して得られる最後のＡＴＭセルは、セルヘッダ内のパラメータにより区別される。なお、ＣＰＣＳ−ＰＤＵ内に格納されＴＳパケットの数は原則として２であるが、この値は、送受端末間のネゴシエーションにより２より大きな値とすることも許される。
【００１１】
ＡＴＭ通信網の受信側端末としてのＡＴＭインタフェースは、前述と逆の手順により、受信ＡＴＭセルよりＴＳパケットを復元する。すなわち、ＡＴＭインタフェースは、受信ＡＴＭセルのセルヘッダ内のパラメータにより元のＣＰＣＳ−ＰＤＵを構成する最後のセルを識別し、ＣＰＣＳ−ＰＤＵを組み立てる。そして、ＣＰＣＳ−ＰＤＵトレイラ内に表示されたＣＰＣＳ−ＳＤＵの長さを読みとり、ＣＰＣＳ−ＳＤＵを１８８バイト毎に分割することにより、送信側端末での元のＴＳパケット列が復元される。
【００１２】
ＡＴＭ回線を介してＴＳを受信し、それを多重分離して復号する従来技術によるＭＰＥＧ２システムデコーダは、図１４に示すように、ＡＴＭセル組立部１と、システムデコーダ部５と、ビデオデコーダ６と、オーディオデコーダ７とにより構成されている。そして、ＡＴＭセル組立部１は、ＡＴＭ回線より受信したＡＴＭセル列からＡＡＬ５のプロトコルに基づいてＴＳパケット列を復元する。システムデコーダ部５は、ＡＴＭセル組立部１により復元されたＴＳパケット列からビデオデータとオーディオデータとを分離する。システムデコーダ５により分離された各データは、ビデオデコーダ６及びオーディオデコーダ７により復号される。システムデコーダ部５は、ＴＳ同期を実現するパケット同期・バイト検査部２と、ＴＳパケットを一時格納するＦＩＦＯ３と、ＦＩＦＯ３から読み出したＴＳパケットの種別を識別し分離処理を行うパケット選別処理部４とにより構成される。
【００１３】
前述において、パケット同期・バイト検査部２は、ＡＴＭセル組立部１より受け取るＴＳパケット列の各パケットの同期バイトを検出することによりＴＳ同期を行う。そして、パケット同期・バイト検査部２は、同期がとれている間、ＴＳパケット列をＦＩＦＯ３に格納し、同期がはずれた場合、同期バイトをシフト検出することにより再び同期を確立し、その間のデータを廃棄する。
【００１４】
ＡＴＭセル組立部１がＡＴＭセルからＣＰＣＳ−ＰＤＵの組み立てを完了した後、即座にそのＣＰＣＳ−ＰＤＵに格納される複数のＴＳパケットを出力する場合、各ＴＳパケットの出力される時間間隔は一定ではない。ＦＩＦＯ３は、このようなＴＳパケットの時間間隔の揺らぎを吸収する目的で必要である。
【００１５】
パケット選別処理部４は、ＦＩＦＯ３からＴＳパケットを読み出し、パケットヘッダの中に記述されたパケット種別を示すデータであるＰＩＤ（Ｐacket ＩＤentifier，パケット識別子）により、各パケットに応じた処理を行う。ＰＩＤは、ＴＳパケットの２バイト目と３バイト目とに記述されており、パケット選別処理部４は、パケット読み出し処理の比較的早期にそのパケットに対する処理を決定することが可能である。
【００１６】
パケット選別処理部４は、ＰＩＤの識別により、処理中のＴＳパケットが予め選択された１つのプログラムに属するビデオデータ・オーディオデータを格納していると判断した場合、そのＴＳパケットを引き続いて読み出す処理を行い、ビデオデコーダ・オーディオデコーダに送出する。また、パケット選別処理部４は、そのＴＳパケットが処理不要なデータを含むパケット、例えば、選択されていないプログラムに属するデータを格納したパケットや、ストリームの速度を調整するために挿入される有意なデータを含まないパケット（ヌルパケット）等である場合、ＰＩＤ以降のパケットデータをＦＩＦＯから読み出して廃棄する。パケット選別処理部４は、その後、ＦＩＦＯ３に格納された次のＴＳパケットの処理を行う。
【００１７】
システムデコーダ部５は、その各部が以上の動作を行うことにより、入力されるＴＳから、ビデオデータ、オーディオデータを分離して出力する。
【００１８】
【発明が解決しようとする課題】
図１４に示す従来技術によるシステムデコーダは、パケット選別処理部４がＴＳパケットの構造を解析する過程において、当該ＴＳパケットに関してそれ以降の処理が不要であることが判明しても、そのＴＳパケットをＦＩＦＯ３から読み出して廃棄する作業が必要である。
【００１９】
ＴＳは、前述したように複数のプログラムを多重することが可能な多重信号形式である。このため、従来技術によるシステムデコーダは、プログラム多重度がｎ、すなわち、ｎ個のプログラムがＴＳに多重されている場合、パケット選別処理部４がｎ倍の速度でデータを処理しなければならず、パケット選別処理部４の実現のために高い処理能力が要求されるという問題点を有している。
【００２０】
本発明の目的は、前述した従来技術の問題点を解決し、より低い処理能力でパケット選別処理部を実現することができるシステムデコーダにおける多重分離装置及びＭＰＥＧ２復号装置を提供することにある。
【００２１】
【課題を解決するための手段】
本発明によれば前記目的は、固定長パケットからなる多重信号を入力とし、該多重信号に多重された信号を分離して出力するシステムデコーダにおいて、入力された多重信号を格納する一時記憶手段と、前記入力多重信号を前記一時記憶手段に格納し、パケット選別処理手段に固定長パケットの境界を示す位置情報を通知するパケット格納処理手段と、前記一時記憶手段に格納された多重信号を構成する固定長パケットを読み出し、固定長パケットの種別に応じて各固定長パケットを処理する前記パケット選別処理手段と、固定長パケットからなる多重信号をＡＴＭのＡＡＬ Ｔype-5により分割したＡＴＭセルをＡＴＭ回線より受信し、元の多重信号を組み立て、この多重信号を前記パケット格納手段に入力するＡＴＭセル組立手段とを備えることにより達成される。
【００２３】
さらに、前記目的は、前記ＡＴＭセル組立手段が、固定長パケットのパケット境界位置を前記パケット格納手段に通知することにより、また、前記多重信号がＭＰＥＧ２のトランスポートストリームであることにより達成される。
【００２４】
また、前記目的は、前記パケット選別処理手段を、前記ＡＴＭセル組立手段より取得したトランスポートパケットの格納場所を用いて前記一時記憶手段へのアドレス制御を行う制御部と、前記一時記憶装置を読み書きするためのインタフェース部と、前記一時記憶手段に格納されたトランスポートパケットの同期バイトを検査するトランスポートパケット同期バイト検査部と、分離を行おうとするプログラムに属する画像及び音響ＰＥＳを含むトランスポートパケットのＰＩＤを格納したＰＩＤテーブルと、前記トランスポートパケットのＰＩＤを読み出して前記ＰＩＤテーブルに示されたＰＩＤと比較するＰＩＤ比較部と、前記トランスポートパケットの必要な情報を読み出して構造を解析するトランスポートパケット解析部と、前記トランスポートパケット解析部の解析結果を利用して前記トランスポートパケットより画像および音響ＰＥＳを分離して出力するＰＥＳ転送部とを備えて構成することにより達成される。
【００２５】
【発明の実施の形態】
以下、本発明による多重分離を行うシステムデコーダ及びＭＰＥＧ２復号装置の実施形態を図面により詳細に説明する。
【００２６】
図１は本発明によるシステムデコーダの基本構成を示すブロック図である。図１において、８はＡＴＭセル組立部、９はパケット格納処理部、１０はランダムアクセスメモリ(Ｒandom Ａccess Ｍemory、以下、ＲＡＭという）、１１はパケット選別処理部、１２はシステムデコーダ部であり、他の符号は図１４の場合と同一である。
【００２７】
図１に示すシステムデコーダは、ＡＴＭセル組立部８と、システムデコーダ部１２と、ビデオデコーダ６と、オーディオデコーダ７とにより構成されており、この構成は、基本的に図１４に示した従来技術の場合と同一である。そして、本発明によるシステムデコーダは、システムデコーダ部１２の構成が図１４の場合と相違している。すなわち、システムデコーダ部１２は、ＴＳパケット列を一時格納するＲＡＭ１０と、入力ＴＳのパケット境界を識別しつつ、ＲＡＭ１０に入力ＴＳの格納を行うパケット格納処理部９と、ＲＡＭ１０に格納されたＴＳパケットを読み出して、各パケットに応じた処理を行うパケット選別処理部１１とにより構成される。
【００２８】
パケット格納処理部９は、ＲＡＭ１０上に格納するＴＳパケットの格納位置情報としてのＴＳパケット格納先アドレスをパケット選別処理部１１に通知する手段を有している。パケット選別処理部１１は、パケット格納処理部９から通知されたパケット格納位置情報により、ＲＡＭ１０上のＴＳパケットの必要な情報のみにアクセスすることが可能である。そして、パケット選別処理部１１は、ＲＡＭ１０上のあるＴＳパケットのＰＩＤを読み出し、分離出力すべきビデオデータ・オーディオデータを含むパケットであると判定した場合に、そのＴＳパケットをビデオデコーダ６及びオーディオデコーダ７に対して出力することにより、ＴＳパケットの分離処理を行うことができる。
【００２９】
また、パケット選別処理部１１は、ＲＡＭ１０上のあるＴＳパケットのＰＩＤの判定により、そのＴＳパケットが分離出力すべきビデオデータ・オーディオデータを含むパケットではないと判定した場合、ＰＩＤ以降のデータにはアクセスする必要がなく、即座にそのＴＳパケットに対する処理を終了して、次のＴＳパケットの処理を開始することができる。
【００３０】
前述したように本発明によるシステムデコーダは、入力されるＴＳのプログラム多重度が高い場合においても、分離すべきプログラムに属するビデオデータ・オーディオデータを含まないＴＳパケットに対するパケット選別処理部１１の処理を低く抑えることができる。
【００３１】
また、前述の構成におけるパケット格納処理部９は、入力ＴＳのパケット境界を識別するため、一般に同期バイトの検出を行う必要がある。しかし、前述した構成のシステムデコーダを含むＭＰＥＧ２デコーダシステムがＡＴＭ回線に接続され、ＴＳをＡＴＭセルとして受信している場合、受信ＡＴＭセルからＴＳを復元するＡＴＭセル組立部８より、ＴＳのパケット境界を取得することが可能である。
【００３２】
図２は本発明の第１の実施形態によるシステムデコーダの構成を示すブロック図、図３はパケット選別処理部の構成を示す機能ブロック図、図４はＲＡＭ、ＦＩＦＯの利用状況を説明する図、図５はパケット選別処理部の処理動作を説明するフローチャート、図６はＴＳパケットの例を説明する図、図７はＴＳのＰＩＤの例を説明する図である。図２、図３において、１７、１８はＦＩＦＯ、２２はインタフェース部、２３はＴＳパケット同期検査部、２４はＰＩＤ比較部、２５はＰＩＤテーブル、２６はＴＳパケット解析部、２７はＰＥＳ転送部、２８は制御部であり、他の符号は図１の場合と同一である。
【００３３】
本発明によるシステムデコーダの第１の実施形態において、システムデコーダ部１２は、ＡＴＭ回線に接続されたＡＴＭセル組立部８から出力されるＴＳを入力とし、その入力ＴＳに多重されている複数のプログラムの中の１つのプログラムに属するビデオ及びオーディオのＰＥＳ(Ｐacketized Ｅlementary Ｓtream）を分離し、それぞれビデオデコーダ６及びオーディオデコーダ７に対して出力する。なお、ＡＴＭセル組立部８が受信ＡＴＭセルからＴＳを組み立てるとき、ＣＰＣＳ−ＰＤＵの先頭バイトは、必ずＴＳパケットの先頭バイトであるので、ＡＴＭセル組立部８は、ＴＳパケットの境界を識別することが可能である。そこで、図示例のＡＴＭセル組立部８は、ＴＳパケット列をシステムデコーダ部１２に対して出力すると共に、パケットの境界を通知する手段を有する構成とした。
【００３４】
システムデコーダ部１２は、ＲＡＭ１０と、入力ＴＳパケット列をパケット毎にＲＡＭ１０に格納するパケット格納処理部９と、ＲＡＭ１０から必要なデータを読み出してＴＳパケットの種別を識別し、それぞれのパケットに応じた処理を行うパケット選別処理部１１と、パケット格納処理部９とパケット選別処理部１１との間でＲＡＭ１０の使用状況を管理する目的のＦＩＦＯ１７及び１８とを備えて構成される。
【００３５】
ＲＡＭ１０は、ＴＳパケット長である１８８バイトより大きい複数のＲＡＭブロックＢ０，Ｂ１，…，Ｂ１９に分割されており、ＴＳパケットは、パケット格納処理部９によりＲＡＭ１０のブロックの１つに格納される。以下の説明では、ＲＡＭブロックＢ０，Ｂ１，…，Ｂ１９の先頭アドレスをＡＤ０，ＡＤ１，・・・，ＡＤ１９と表記する。ＦＩＦＯ１７は、パケット格納処理部９によりＴＳパケットが格納されたＲＡＭ１０のブロックの先頭アドレスを一時格納する。また、ＦＩＦＯ１８は、ＲＡＭ１０内のＲＡＭブロックのうちパケット格納処理部９によりＴＳパケットが格納されていないＲＡＭブロックの先頭アドレスを一時格納する。
【００３６】
パケット格納処理部９は、使用可能なＲＡＭブロックのアドレスをＦＩＦＯ１８から取得する手段と、ＴＳパケットを格納したＲＡＭブロックの先頭アドレスをＦＩＦＯ１７に格納する手段とを有する。パケット選別処理部１１は、パケット格納処理部９がＴＳパケットを格納したＲＡＭブロックの先頭アドレスをＦＩＦＯ１７から取得する処理と、１つのＲＡＭブロックに格納されたＴＳパケットに対する処理とを完了した後に、そのＲＡＭブロックの先頭アドレスをＦＩＦＯ１８に格納する手段とを有する。また、ＦＩＦＯ１７は、ＴＳパケットが格納されたＲＡＭブロックの先頭アドレスを１つも格納していない場合に、その旨をパケット選別処理部１１に通知する手段として、エンプティ・フラグ信号線を有している。
【００３７】
パケット選別処理部１１は、図３に示すように、ＲＡＭ１０に対するアドレス制御を行う制御部２８と、パケット選別処理部１１内の各部からＲＡＭ１０へのアクセスを実現するインタフェース部２２と、ＲＡＭ１０上のＴＳパケットの同期バイトを読み出してＴＳパケット同期を検査するＴＳパケット同期検査部２３と、処理すべきＴＳパケットを識別するＰＩＤデータを格納したＰＩＤテーブル２５と、ＲＡＭ１０上のＴＳパケットのＰＩＤを読み出してＰＩＤテーブル２５を参照してそのＴＳパケットに対する処理を決定するＰＩＤ比較部２４と、ＲＡＭ１０から必要な情報を読み出してＴＳパケットの構造を解析するＴＳパケット解析部２６と、ＴＳパケット解析部２６の解析結果に基づいてＴＳパケットからビデオＰＥＳ及びオーディオＰＥＳを抽出し、これらをビデオデコーダ６及びオーディオデーコーダに転送するＰＥＳ転送部２７とにより構成される。
【００３８】
次に、図４を参照して、ＡＴＭセル組立部８からシステムデコーダ部１２にＴＳパケットが入力された場合のパケット格納処理部９、ＲＡＭ１０、ＦＩＦＯ１７，１８周辺の動作を説明する。なお、図４（ａ）〜図４（ｃ）によるＦＩＦＯ１７，１８の説明において、パケット格納処理部９、パケット選別処理部１１によりそれぞれ、ＦＩＦＯ１７，１８に書き込まれたデータは、すでに書き込まれているデータの上に積み重ねて記述していくこととする。従って、ＦＩＦＯ１７，１８の最も下部に記述されたデータが、最も過去に書き込まれたデータであり、パケット選別処理部１１、パケット格納処理部９により読み出されるデータである。
【００３９】
図４（ａ）は、システムデコーダ１２の動作開始前におけるＲＡＭ１０及びＦＩＦＯ１７，１８の状態を表わしている。動作開始前において、ＲＡＭ１０上のブロックＢ０，Ｂ１，…，Ｂ１９には有意なデータは格納されていない。ＦＩＦＯ１８は、ＲＡＭブロックＢ０，Ｂ１，…，Ｂ１９のうちＴＳパケットが格納されていないブロックの先頭アドレスを保持するものであり、システムデコーダ１２の動作開始前において、全てのＲＡＭブロックは未使用の状態であるので、ＦＩＦＯ１８には、ＲＡＭブロックＢ０，Ｂ１，…，Ｂ１９の先頭アドレスＡＤ０，ＡＤ１，・・・，ＡＤ１９が記入された状態である。ＦＩＦＯ１７は、ＲＡＭブロックＢ０，Ｂ１，…，Ｂ１９のうちＴＳパケットが格納され、パケット選別処理部１１による処理を待っている状態のブロックの先頭アドレスを保持するものである。よって、システムデコーダ１２の動作開始前において、ＦＩＦＯ１７には、どのブロックの先頭アドレスも記入されていない状態であり、エンプティ・フラグ信号をアクティブとしている。
【００４０】
システムデコーダ１２が動作を開始し、パケット格納処理部９がＡＴＭセル組立部８よりＴＳパケットを受け取ると、パケット格納処理部９は、ＦＩＦＯ１８より使用可能なＲＡＭブロックのアドレスを取得する。この場合、アドレスＡＤ０が得られるので、パケット格納処理部９は、アドレスＡＤ０を先頭アドレスとするＲＡＭブロックＢ０にＴＳパケットを格納し、この格納が完了すると、格納先ブロックＢ０の先頭アドレスＡＤ０をＦＩＦＯ１７に記入する。この時点におけるＲＡＭ１０，ＦＩＦＯ１７，１８の状態が図４（ｂ）に示されている。
【００４１】
以降、パケット格納処理部９は、ＡＴＭセル組立部８よりＴＳパケット１つを受け取る毎に、ＦＩＦＯ１８より使用可能なＲＡＭブロックＢｋの先頭アドレスＡＤｋを取得し、ＲＡＭブロックＢｋにＴＳパケットを格納した後、そのアドレスＡＤｋをＦＩＦＯ１８に記入するという動作を行う。
【００４２】
また、図示システムデコーダ部１２が動作を開始後、パケット選別処理部１１は、ＦＩＦＯ１７のエンプティ・フラグ信号を監視し、信号が非アクティブとなるのを待つ。ＡＴＭセル組立部８よりＴＳパケットの１つがシステムデコーダ部１２に入力されて、ＴＳパケットがＲＡＭブロックに格納され、図４（ｂ）に示す状態になり、ＦＩＦＯ１７のエンプティ・フラグ信号が非アクティブになると、パケット選別処理部１１は、ＦＩＦＯ１７から読み出しを行う。その結果、ＴＳパケットの格納されたＲＡＭブロックＢ０の先頭アドレスＡＤ０が得られる。パケット選別処理部１１は、ＲＡＭブロックＢ０に格納されたＴＳパケットに対して、後述する処理を行った後、ＲＡＭブロックＢ０の先頭アドレスＡＤ０をＦＩＦＯ１８に記入する。この時点におけるＲＡＭ１０，ＦＩＦＯ１７，１８の状態が図４（ｃ）に示されている。
【００４３】
以降、パケット格納処理部１１は、ＦＩＦＯ１７のエンプティ・フラグ信号を監視し、信号が非アクティブであれば、ＴＳパケットの格納されたＲＡＭブロックＢｋの先頭アドレスＡＤｋをＦＩＦＯ１７から取得し、ＲＡＭブロックＢｋに格納されたＴＳパケットに対して、後述の処理を行った後、ＲＡＭブロックＢｋの先頭アドレスＡＤｋをＦＩＦＯ１８に記入するという動作を繰り返す。
【００４４】
次に、パケット選別処理部１１がＲＡＭ１０上のＲＡＭブロックＢｋに格納されたＴＳパケットに対して行う処理のうち、ＴＳ分離に係わる処理動作を、図５に示すフローを参照して説明する。
【００４５】
（１）パケット選別処理部１１は、ＴＳパケットが受信され、ＲＡＭ１０に格納されると、ＦＩＦＯ１７からＲＡＭ１０上のＴＳパケットが格納されたＲＡＭブロックのアドレスＡＤｋを取得する（ステップ５０１）。
【００４６】
（２）パケット選別処理部１１のＴＳパケット同期検査部２３は、アドレスＡＤｋを先頭アドレスとするＲＡＭブロックＢｋ内のＴＳパケットの同期バイトを読み出して、その値がＨ“４７”であるか否かを調べる。ＴＳパケットが正しく同期がとれて格納されていれば、ＲＡＭブロックＢｋの１〜８ビット目が同期バイトであり、これが読み出される。ＴＳパケット同期検査部２３は、同期バイトの値がＨ“４７”でないならば、当該ＴＳパケットに関して、同期がとれていないものと判断し、当該ＴＳパケットに対する処理を終了させる（ステップ５０２、５０３）。
【００４７】
（３）ステップ５０３で同期がとれていると判断された場合、ＰＩＤ比較部２４は、ＰＩＤが格納されている位置であるＲＡＭブロックＢｋの１２〜２４ビット目をを読み出して、ＰＩＤテーブル２５に記されたビデオまたはオーディオＰＥＳを含むＴＳパケットのＰＩＤと比較することにより、処理対象のＴＳパケットであるか否かを判定する。処理対象でないＴＳパケットであると判断された場合、ＰＩＤ比較部２４は、当該ＴＳパケットに対する処理を終了させる（ステップ５０４、５０５）。
【００４８】
（４）ステップ５０５で処理対象のＴＳパケットであると判定された場合、ＴＳパケット解析部２６は、アダプテーション・フィールド・コントロールが格納されている位置であるＲＡＭブロックＢｋの２７〜２８ビット目を読み出して、アダプテーション・フィールド及びペイロードの有無を判定し、アダプテーション・フィールドが存在し、ペイロードが存在しないと判定した場合、当該ＴＳパケットに対する処理を終了する（ステップ５０６、５０７）。
【００４９】
（５）ステップ５０７でアダプテーション・フィールドが存在せず、ペイロードが存在すると判定された場合、ＴＳパケットのヘッダ長は４バイトであると判定して、後述するステップ５１０に処理を渡す（ステップ５０８）。
【００５０】
（６）ステップ５０７、５０８の判定の結果、アダプテーション・フィールドとペイロードとが共に存在すると判定された場合、ＴＳパケット解析部２６は、アダプテーション・フィールド・レングスを読み出す。アダプテーション・フィールド・レングスは、それに続くアダプテーション・フィールドのバイト数を示しているので、この値に５を加えた数が当該ＴＳパケットのヘッダのバイト数である（ステップ５０９）。
【００５１】
（７）前述のＴＳパケット解析部２６の処理によりヘッダ長が得られているので、ＰＥＳ転送部２７は、この結果に基づいて、ＴＳヘッダ以降１８８バイト目までのデータを読み出して、ビデオデコーダ６またはオーディオデコーダ７に送出する（ステップ５１０）。
【００５２】
次に、前述した処理動作を、図６に示すＴＳパケットの例を説明する図及び図７に示すＴＳのＰＩＤの例を説明する図を参照して具体的に説明する。
【００５３】
いま、ブロックＢｋに図６に示す値を持つＴＳパケット（ａ）〜（ｅ）が格納されている場合のそれぞれについて、ＴＳパケットがどのように処理されるかを以下に記述する。なお、ここでは、ＴＳパケットの種別を示すＰＩＤが図７に示されているように定義されているものとし、本発明によるシステムデコーダを構成要素とするＭＰＥＧ２復号装置がプログラム番号１のプログラムを復号・再生するものとする。従って、図７の定義により、図３のＰＩＤテーブル２５には、分離すべきビデオＰＥＳを含むＴＳパケットのＰＩＤとしてＨ“０１１０”が、また、分離すべきオーディオＰＥＳを含むＴＳパケットのＰＩＤとしてＨ“０１２０”が記述されている。
【００５４】
・ブロックＢｋにＴＳパケット（ａ）が格納されている場合
ステップ５０２、５０３で、ＴＳパケット同期検査部２３が同期バイトが格納されているべきアドレス上のデータ、すなわち、ＡＤｋを先頭として８ビットのデータを読み出す。その結果、Ｈ“Ｄ９”が得られる。Ｈ“４７”でないため、同期エラーが生じていると判断されるので、当該ＴＳパケットに関して処理を終了する。
【００５５】
・ブロックＢｋにＴＳパケット（ｂ）が格納されている場合
ステップ５０２、５０３で、ＴＳパケット同期検査部２３が同期バイトを読み出した結果、Ｈ“４７”が得られ、同期状態にあると判断される。続いて、ステップ５０４、５０５で、ＰＩＤ比較部２４がＰＩＤを読み出し、Ｈ“０２１０”が得られる。ＰＩＤ比較部２４は、ＰＩＤテーブル２５上に記述された、分離すべきビデオＰＥＳのＰＩＤ（Ｈ“０１１０”）、分離すべきオーディオＰＥＳのＰＩＤ（Ｈ“０１２０”）と比較する。この結果、いずれとも異なるため、ＴＳパケット（ｂ）は、分離処理対象のＴＳパケットではないと判断され、当該ＴＳパケットに関して、処理を終了する。
【００５６】
・ブロックＢｋにＴＳパケット（ｃ）が格納されている場合
ステップ５０２、５０３で、ＴＳパケット同期検査部２３が同期バイトを読み出した結果、Ｈ“４７”が得られ、同期状態にあると判断される。続いて、ステップ５０４、５０５で、ＰＩＤ比較部２４がＰＩＤを読み出し、Ｈ“０１１０”が得られる。ＰＩＤ比較部２４は、ＰＩＤテーブル２５上に記述されたＰＩＤと比較して、当該ＴＳパケットが分離すべきビデオＰＥＳを含むＴＳパケットであると判断する。続いて、ステップ５０６で、ＴＳパケット解析部２６がアダプテーション・フィールド・コントロールを読み出す。その結果、Ｂ“０１”が得られ、ステップ５０７で、当該ＴＳパケットにはペイロードが存在せず、従って、ビデオＰＥＳの実データが存在しないと判断され、当該ＴＳパケットに関しての処理を終了する。
【００５７】
・ブロックＢｋにＴＳパケット（ｄ）が格納されている場合
ステップ５０２、５０３で、ＴＳパケット同期検査部２３が同期バイトを読み出した結果、Ｈ“４７”が得られ、同期状態にあると判断される。続いて、ステップ５０４、５０５で、ＰＩＤ比較部２４がＰＩＤを読み出し、Ｈ“０１１０”が得られる。ＰＩＤ比較部２４は、ＰＩＤテーブル２５上に記述されたＰＩＤと比較して、当該ＴＳパケットが分離すべきビデオＰＥＳを含むＴＳパケットであると判断する。続いて、ステップ５０６で、ＴＳパケット解析部２６がアダプテーション・フィールド・コントロールを読み出す。その結果、Ｂ“１０”が得られ、ステップ５０７、５０８で、当該ＴＳパケットにはアダプテーション・フィールドが存在せず、ペイロードが存在すると判断され、当該ＴＳパケットのヘッダ長は４バイトであると判断される。続いて、ステップ５１０で、４バイトのパケットヘッダに続くペイロード（Ｂｋの５〜１８８バイト目）をＰＥＳ転送部２７が読み出して、ビデオデコーダ６に転送し、完了後、当該ＴＳパケットに関しての処理を終了する。
【００５８】
・ブロックＢｋにＴＳパケット（ｅ）が格納されている場合
ステップ５０２、５０３で、ＴＳパケット同期検査部２３が同期バイトを読み出した結果、Ｈ“４７”が得られ、同期状態にあると判断される。続いて、ステップ５０４、５０５で、ＰＩＤ比較部２４がＰＩＤを読み出し、Ｈ“０１１０”が得られる。ＰＩＤ比較部２４は、ＰＩＤテーブル２５上に記述されたＰＩＤと比較して、当該ＴＳパケットが分離すべきビデオＰＥＳを含むＴＳパケットであると判断する。続いて、ステップ５０６で、ＴＳパケット解析部２６がアダプテーション・フィールド・コントロールを読み出す。その結果、Ｂ“１１”が得られ、ステップ５０７、５０８で、当該ＴＳパケットにはアダプテーション・フィールドとペイロードとが共に存在すると判断される。これにより、ステップ５０９で、ＴＳパケット解析部２６は、アダプテーション・フィールド・レングスを読み出し、Ｄ“９”が得られるので、当該ＴＳパケットのヘッダ長は、９に５を加えて、１４バイトであると判断される。続いて、ステップ５１０で、１４バイトのパケットヘッダに続くペイロード（Ｂｋの１５〜１８８バイト目）をＰＥＳ転送部２７が読み出して、ビデオデコーダ６に転送し、完了後、当該ＴＳパケットに関しての処理を終了する。
【００５９】
前述したＴＳパケット（ｃ），（ｄ），（ｅ）の処理の例は、ＰＩＤがＨ“０１１０”でビデオＰＥＳを含むＴＳパケットの例であったが、ＰＩＤがＨ“０１２０”でオーディオＰＥＳを含むＴＳパケットの場合、ステップ５１０の処理におけるＰＥＳの転送先がオーディオデコーダ７となる点以外、前述と同様な処理となる。
【００６０】
前述で説明した処理動作により、１つのＴＳパケットに対するＴＳ分離処理が可能である。しかも、入力ＴＳの多重度が高い場合においても、選択されたプログラムに属するビデオＰＥＳ・オーディオＰＥＳ以外のデータを含むＴＳパケットに対する処理は、ステップ５０５の処理までで終了することができ、ＴＳ分離に要する処理量を低減することができる。
【００６１】
なお、前述した本発明の実施形態は、ＲＡＭ１０をＢ０，Ｂ１，…，Ｂ１９の２０個のＲＡＭブロックに分割しているが、ＲＡＭ１０上には、次に説明するように、さらに多くのＲＡＭブロックを確保する必要が生じる場合もある。
【００６２】
すなわち、前述した本発明の実施形態において、システムデコーダ１２が破綻することなく分離処理を続けるためには、ＡＴＭセル組立部８がシステムデコーダ１２にＴＳパケットを入力する時点で必ず、パケット格納処理部９がＦＩＦＯ１８から使用可能なＲＡＭブロックの先頭アドレスを取得できる必要がある。パケット選別処理部１１があるＴＳパケットの処理として、ビデオデコーダ６・オーディオデコーダ７にＰＥＳの転送を行う場合、そのＴＳパケットの処理に要する時間は、その他のＴＳパケットの処理に要する時間よりも長い。
【００６３】
このため、入力ＴＳのＴＳ多重度が大きい場合、パケット選別処理部１１がＰＥＳ転送対象のＴＳパケットを処理している間に、ＴＳパケットの格納されたブロックのアドレスがＦＩＦＯ１７に蓄積されてしまい、パケット格納処理部９がＦＩＦＯ１８から使用可能なブロックのアドレスを取得することができなくなることがあり得る。従って、ＲＡＭ１０上には、このような状態にならないように充分な数のＲＡＭブロックを確保する必要がある。
【００６４】
図８は本発明の第２の実施形態によるシステムデコーダの構成を示すブロック図、図９はＲＡＭ１０のアドレス空間の構成を説明する図、図１０はプロセッサ３１のアドレス空間を説明する図、図１１はＲＡＭの利用状況を説明する図である。図８において、３１はプロセッサ、３２はプログラムメモリ、３３はＰＥＳ出力部であり、他の符号は図２の場合と同一である。
【００６５】
本発明の第２の実施形態によるシステムデコーダは、システムデコーダ部１２内のパケット選別処理部１１を、プロセッサ３１と、プログラムメモリ３２と、ＰＥＳ出力部３３とにより構成し、図２により説明したシステムデコーダ部１２内のＦＩＦＯ１７及び１８の機能をプロセッサ３１に行わせるようにしたものであり、その他の構成は、図２により説明した本発明の第１の実施形態と同様である。
【００６６】
図８において、システムデコーダ部１２は、図２により説明した場合と同様に、ＡＴＭ回線に接続されたＡＴＭセル組立部８から出力されるＴＳを入力とし、その入力ＴＳに多重されている複数のプログラムの中の１つのプログラムに属するビデオ及びオーディオのＰＥＳを分離し、それぞれビデオデコーダ６及びオーディオデコーダ７に対して出力する。なお、ＡＴＭセル組立部８が受信ＡＴＭセルからＴＳを組み立てるとき、ＣＰＣＳ−ＰＤＵの先頭バイトは、必ずＴＳパケットの先頭バイトであるので、ＡＴＭセル組立部８は、ＴＳパケットの境界を識別することが可能である。そこで、図示例のＡＴＭセル組立部８は、ＴＳパケット列をシステムデコーダ部１２に対して出力すると共に、パケットの境界を通知する手段を有する構成とした。
【００６７】
システムデコーダ部１２は、ＲＡＭ１０と、入力ＴＳパケット列をパケット毎にＲＡＭ１０に格納するパケット格納処理部９と、ＲＡＭ１０から必要なデータを読み出してＴＳパケットの種別を識別し、それぞれのパケットに応じた処理を行うパケット選別処理部１１とにより構成される。ＲＡＭ１０には、図９に示すように、ＴＳパケットを格納するバッファ領域Ｂ０，Ｂ１，Ｂ２，・・・，Ｂ１９と、各バッファ領域がある時点においてＴＳパケットを格納しているか否かを示すフラグＦ０，Ｆ１，Ｆ２，・・・，Ｆ１９が確保される。バッファ領域Ｂｋの先頭アドレスをＢ＿ＡＤｋ、フラグＦｋの先頭アドレスをＦ＿ＡＤｋとし、パケット格納処理部９及びパケット選別処理部１１は、各アドレスを指定することにより、対応するデータにアクセスすることができる。
【００６８】
パケット選別処理部１１は、プロセッサ３１と、プロセッサ３１上で動作するプログラムを格納したプログラムメモリ３２及びビデオＰＥＳ、オーディオＰＥＳをビデオデコーダ６、オーディオデコーダ７に出力するＰＥＳ出力部３３とにより構成される。プロセッサ３１は、データバス及びアドレスバスを介してプログラムメモリ３２、ＰＥＳ出力部３３及びＲＡＭ１０と接続されている。前述したように、ＲＡＭ１０上には、バッファ領域Ｂ０，Ｂ１，・・・，Ｂ１９（先頭アドレスＢ＿ＡＤ０，Ｂ＿ＡＤ１，・・・，Ｂ＿ＡＤ１９）、及び、フラグＦ０，Ｆ１，・・・，Ｆ１９（先頭アドレスＦ＿ＡＤ０，Ｆ＿ＡＤ１，・・・，Ｆ＿ＡＤ１９）が確保されているので、プロセッサ３１は、各アドレスを指定することにより、対応するデータにアクセスすることができる。
【００６９】
そして、プロセッサ３１がアクセスするアドレス空間は、図１０に示すように、前述のバッファ領域、フラグアドレスと、ＰＥＳ出力部３３に対する出力情報、すなわち、ビデオデコーダ、オーディオデコーダへの出力情報を格納する領域（先頭アドレスＶ＿ＡＤ，Ａ＿ＡＤ）と、実施形態１の図５と同等の処理を実現する命令群が記述されているプログラムメモリ領域（先頭アドレスＰ＿ＡＤ）とである。図８に示す例では、プログラムメモリ３２が独立に示されているが、前述のように、プログラムメモリ３２は、ＲＡＭ１０内にプログラムメモリ領域として確保されればよい。
【００７０】
前述において、プロセッサ３１がアドレスＶ＿ＡＤ，Ａ＿ＡＤに対して、ビデオＰＥＳ、オーディオＰＥＳを出力すると、ＰＥＳ出力部３３は、これらのアドレスをデコードし、データバス上のデータをビデオデコーダ６、オーディオデコーダ７に転送する。プログラムメモリ３２上には、前述したような命令群が記述されており、プロセッサ３１は、これらの命令群を逐次、読み込み、解読、実行する。
【００７１】
次に、本発明の第２の実施形態によるシステムデコーダにおいて、ＡＴＭセル組立部８からＴＳパケットが入力されたときのパケット格納処理部９及びＲＡＭ１０周辺の動作を、図１１に示すＲＡＭ１０上のバッファ領域Ｂ０，Ｂ１，・・・，Ｂ１９、フラグＦ０，Ｆ１，・・・，Ｆ１９に格納されたデータを例に説明する。なお、以下の説明では、バッファ領域ＢｋにＴＳパケットが格納されている場合に、対応するフラグＦｋ内の特定のビットＢの値を“１”とし、ＢｋにＴＳパケットが格納されていない場合にビットＢの値を“０”とするものとする。
【００７２】
いま、システムデコーダ部１２の動作開始前において、ＲＡＭ１０上のバッファ領域及びフラグの状態が、図１１（ａ）に示すように、全てのバッファ領域に有意なデータが格納されておらず、全てのフラグのビットＢの値として“０”が記述されているものとする。
【００７３】
前述の状態からシステムデコーダ部１２が動作を開始し、ＡＴＭセル組立部８がＴＳパケットを１つシステムデコーダ部１２のパケット格納処理部９に送り込んでくると、パケット格納処理部９は、フラグＦ０のビットＢの値が“０”となっていることを確認した後、バッファＢ０にＴＳパケットを格納し、フラグＦ０のビットＢの値を図１１（ｂ）に示すように“１”とする。以降、パケット格納処理部９は、ＴＳパケットを受け取る毎に、フラグＦｋのビットＢの値が“０”であることを確認して、バッファＢｋにＴＳパケットを格納するという動作を行う。
【００７４】
また、システムデコーダ部１２の動作開始後、パケット選別処理部１１は、フラグＦ０を監視し、フラグＦのビットＢが“１”に変更されるのを待つ。ＡＴＭセル組立部８より、ＴＳパケット１つが入力されて、図１１（ｂ）に示す状態になり、フラグＦ０のビットＢの値が“０”からＢ“１”に変更されると、パケット選別処理部１１は、バッファＢ０に格納されたＴＳパケットに対して、後述する処理を行った後、フラグＦ０のビットＢの値を“１”から“０”に変更する。この間に、パケット格納処理部９がＡＴＭセル組立部８からＴＳパケット１つを受け取っている場合には、バッファＢ１にＴＳパケットが格納され、フラグＦ１のビットＢの値が“０”から“１”に変更される。この時点におけるＲＡＭ１０の状態を図１１（ｃ）に示している。
【００７５】
前述したように、パケット格納処理部９の動作によりバッファ領域が順に使用状態にされていくが、同時に、後述するパケット選別処理部１１の動作により、バッファ領域上のＴＳパケットは分離処理が施されて、バッファ領域は再び使用可能な状態（対応するフラグＦｋのビットＢの値が“０”）となる。バッファ格納処理部９は、バッファＢ１９にＴＳパケットを格納した後、次にＴＳパケット１つを受け取ったとき、再び、フラグＦ０のビットＢの値が“０”となっていることを確認した後、バッファＢ０にそのＴＳパケットを格納する。
【００７６】
次に、パケット選別処理部１１の動作について説明する。なお、以下の説明におけるプロセッサ３１のＴＳ分離処理は、全て、プロセッサ３１がプログラムメモリ３２上の命令群を読み込み、解読、実行することにより実現される。
【００７７】
プロセッサ３１は、システムデコーダ部１２の動作開始後、ＲＡＭ１０上のフラグＦ０を監視する。プロセッサ３１は、パケット格納処理部９がバッファＢ０にＴＳパケットを格納して、フラグＦ０のビットＢの値“１”に変更したのを確認すると、バッファＢ０に格納されたＴＳパケットに対して、後述する処理を行った後、フラグＦ０のビットＢの値を“０”に変更する。プロセッサ３１は、続いて、フラグＦ１を監視し、そのフラグのビットＢの値が“１”に変更されたことを確認すると、バッファＢ１に格納されたＴＳパケットを処理し、フラグＦ１のビットＢの値を“０”に変更する。以降、プロセッサ３１は、フラグＦｋを監視しそのビットＢの値が“１”に変更されたことを確認し、バッファＢｋに格納されたＴＳパケットを処理し、フラグＦｋのビットＢの値を“０”に変更するという動作を繰り返す。
【００７８】
次に、プロセッサ３１がバッファＢｋに格納されたＴＳパケットに対して行う処理を説明する。プロセッサ３１は、フラグＦｋを監視し、そのビットＢの値が“０”から“１”に変更されたことを検出すると、バッファＢｋ（先頭アドレスＢ＿ＡＤｋ）内のＴＳパケットに対して、以下に説明する一連の処理を行う。なお、この処理動作は、本発明の第１の実施形態ににより説明したパケット選別処理部の処理動作と同様であり、以下では、再度図５を参照してプロセッサ３１の処理動作を説明する。
【００７９】
（１）プロセッサ３１は、フラグＦｋを監視し、そのビットＢの値が“０”から“１”に変更されたことを検出すると、ＴＳパケットが受信されてＲＡＭ１０に格納されたと判断し、対応するバッファＢｋ内のＴＳパケットの同期バイトを読み出して、その値がＨ“４７”であるか否かを調べる。ＴＳパケットが正しく同期がとれて格納されていれば、バッファＢｋの１〜８ビット目が同期バイトであり、これが読み出される。プロセッサ３１は、同期バイトの値がＨ“４７”でないならば、当該ＴＳパケットに関して、同期がとれていないものと判断し、当該ＴＳパケットに対する処理を終了させる（ステップ５０１〜５０３）。
【００８０】
（２）ステップ５０３で同期がとれている判断された場合、プロセッサ３１は、ＰＩＤが格納されている位置であるバッファＢｋの１２〜２４ビット目を読み出して、予め指定されたビデオまたはオーディオＰＥＳを含むＴＳパケットのＰＩＤと比較することにより、処理対象のＴＳパケットであるか否かを判定し、処理対象でないＴＳパケットであると判断された場合、当該ＴＳパケットに対する処理を終了させる（ステップ５０４、５０５）。
【００８１】
（３）ステップ５０５で処理対象のＴＳパケットであると判定された場合、プロセッサ３１は、アダプテーション・フィールド・コントロールが格納されている位置であるＲＡＭブロックＢｋの２７〜２８ビット目を読み出して、アダプテーション・フィールド及びペイロードの有無を判定し、アダプテーション・フィールドが存在し、ペイロードが存在しないと判定した場合、当該ＴＳパケットに対する処理を終了する（ステップ５０６、５０７）。
【００８２】
（４）ステップ５０７でアダプテーション・フィールドが存在せず、ペイロードが存在すると判定された場合、ＴＳパケットのヘッダ長は４バイトであると判定して、後述するステップ５１０に処理を渡す（ステップ５０８）。
【００８３】
（５）ステップ５０７、５０８の判定の結果、アダプテーション・フィールドとペイロードとが共に存在すると判定された場合、ＴＳパケット解析部２６は、アダプテーション・フィールド・レングスを読み出す。アダプテーション・フィールド・レングスは、それに続くアダプテーション・フィールドのバイト数を示しているので、この値に５を加えた数が当該ＴＳパケットのヘッダのバイト数である（ステップ５０９）。
【００８４】
（６）前述の処理によりヘッダ長が得られているので、プロセッサ３１は、この結果に基づいて、ＴＳヘッダ以降１８８バイト目までのデータを読み出して、ビデオＰＥＳであればアドレスＶ＿ＡＤに、オーディオＰＥＳであればアドレスＡ＿ＡＤに対して、書き込みを行う。そして、ＰＥＳ出力部３３は、アドレスバスのアドレスをデコードし、ビデオＰＥＳをビデオデコーダに、オーディオＰＥＳをオーディオデコーダに出力する（ステップ５１０）。
【００８５】
前述で説明した処理動作により、１つのＴＳパケットに対するＴＳ分離処理が可能である。しかも、入力ＴＳの多重度が高い場合においても、選択されたプログラムに属するビデオＰＥＳ・オーディオＰＥＳ以外のデータを含むＴＳパケットに対する処理は、ステップ５０５の処理までで終了することができ、ＴＳ分離に要する処理量を低減することができる。
【００８６】
なお、前述した本発明の第２の実施形態は、ＲＡＭ１０にバッファ領域として、Ｂ０，Ｂ１，…，Ｂ１９の２０個のバッファを確保しているとして説明したが、入力ＴＳの多重度が高い場合には、すでに説明した本発明の第１の実施形態の場合と同様な理由により、充分な数のバッファ領域を確保する必要がある。
【００８７】
また、ＴＳパケットのＡＡＬ５タイプへのマッピングは、前述したように、２つ、またはそれ以上のＴＳパケットをＣＰＣＳ−ＳＤＵとして行われるため、前述で説明した各実施形態におけるのパケット格納処理部９は、ＡＴＭセル組立部８より受け取った、ＣＰＣＳ−ＳＤＵを構成する２つ以上のＴＳパケットを、ＲＡＭ１０の１つのブロックに容易に格納することができる。そして、本発明の各実施形態は、前述のように、複数のＴＳパケットをＲＡＭ１０の１つのブロックに格納した場合においても、ＴＳパケットが固定長であるため、ＲＡＭ１０のブロックの先頭アドレスから、複数のＴＳパケットの先頭アドレスを取得することが可能であり、パケット分離処理部１１がそれぞれのＴＳパケットに対し、前述のＴＳ分離処理を行うことが可能である。
【００８８】
前述した本発明の各実施形態のシステムデコーダを構成するパケット選別処理部によるＴＳパケットからビデオＰＥＳとオーディオＰＥＳを取り出すための処理は、ＴＳパケットの同期検査、ＰＩＤの比較、ＴＳパケットのデータ構造解析、ＰＥＳの転送という手順を順次実行して実現されるが、ＴＳパケットの同期検査により同期エラーと判断された場合、ＰＩＤの比較により処理対象でないＴＳパケットと判断された場合、及び、ＴＳパケットのデータ構造解析で抽出すべきＰＥＳが含まれていないと判断された場合に、即座に当該ＴＳパケットに対する処理を終了することができる。前述した本発明の各実施形態によれば、これにより、システムデコーダとしての処理量を低く抑えることができる。
【００８９】
【発明の効果】
以上説明したように本発明によれば、システムデコーダのパケット選別処理部の処理量を低減することができ、低い処理能力にもかかわらず、多重度の高いＴＳパケットの分離を行うことが可能となる。
【図面の簡単な説明】
【図１】本発明によるシステムデコーダの基本構成を示すブロック図である。
【図２】本発明の第１の実施形態によるシステムデコーダの構成を示すブロック図である。
【図３】図２におけるパケット選別処理部の構成を示す機能ブロック図である。
【図４】図２におけるＲＡＭ、ＦＩＦＯの利用状況を説明する図である。
【図５】図２におけるパケット選別処理部の処理動作を説明するフローチャートである。
【図６】ＴＳパケットの例を説明する図である。
【図７】ＴＳのＰＩＤの例を説明する図である。
【図８】本発明の第２の実施形態によるシステムデコーダの構成を示すブロック図である。
【図９】図８におけるＲＡＭのアドレス空間の構成を説明する図である。
【図１０】図８におけるプロセッサのアドレス空間を説明する図である。
【図１１】図８におけるＲＡＭの利用状況を説明する図である。
【図１２】ＭＰＥＧ２  ＴＳデータ構造を説明する図である。
【図１３】ＭＰＥＧ２  ＴＳパケットのＡＡＬ５タイプへのマッピング方法を説明する図である。
【図１４】従来技術によるシステムデコーダの構成例を示すブロック図である。
【符号の説明】
１  ＡＴＭセル組立部
２  パケット同期・バイト検査部
３、１７、１８  ＦＩＦＯ
４  パケツト選別処理部
５  システムデコーダ部
６  ビデオデコーダ
７  オーディオデコーダ
８  ＡＴＭセル組立部
９  パケット格納処理部
１０  ＲＡＭ
１１  パケット選別処理部
１２  システムデコーダ部
２２  インタフェース部
２３  ＴＳパケット同期検査部
２４  ＰＩＤ比較部
２５  ＰＩＤテーブル
２６  ＴＳパケット解析部
２７  ＰＥＳ転送部
２８  制御部
３１  プロセッサ
３２  プログラムメモリ
３３  ＰＥＳ出力部
【図１】
0003844854.tif 000002
【図２】
0003844854.tif 000003
【図３】
0003844854.tif 000004
【図４】
0003844854.tif 000005
【図５】
0003844854.tif 000006
【図６】
0003844854.tif 000007
【図７】
0003844854.tif 000008
【図８】
0003844854.tif 000009
【図９】
0003844854.tif 000010
【図１０】
0003844854.tif 000011
【図１１】
0003844854.tif 000012
【図１２】
0003844854.tif 000013
【図１３】
0003844854.tif 000014
【図１４】
0003844854.tif 000015