(57)【要約】【課題】ＴＳパケット単位でデータ処理を行うことにより、コストの低減を実現し得るシステムデコーダを得る。【解決手段】ＴＳ−ＩＦ部５において、ＴＳの同期をとり、１８８バイト×２個のメモリ１にデータを書き込む。次に、デスクランブル部６において、スクランブルされたデータの解読を行い、その結果を１８８バイト×２個のメモリ２へ書き込む。次に、ＤＥＭＵＸ部７において、ＰＩＤ値と追加情報（α部分）とを用いて、ＴＳパケットのフィルタリングを行う。このフィルタにヒットしたパケットデータは、データタイプによりSection系又はＰＥＳ系フォーマットのデータとしてデコードされ、その結果が１８８バイト×２個のメモリ３へ書き込まれる。その後、抽出分離されてメモリ３へ書き込まれたデータは、外部記憶装置（ＳＤＲＡＭ）４へ書き込まれて一時保持される。【選択図】図１
2006254039.tif 000002
【特許請求の範囲】
【請求項１】
ＴＳ（Transport Stream）データを同期捕捉する同期捕捉部と、
前記同期捕捉部の後段に接続され、各々のメモリがＴＳデータのデータ単位相当の記憶容量を有し、前記同期捕捉部から入力されたＴＳデータの書き込み動作と読み出し動作とを交互に行うメモリセットを含む、第１の記憶部と、
前記第１の記憶部の後段に接続され、前記第１の記憶部から読み出したＴＳデータに対してスクランブル解除処理を行うデスクランブル部と、
前記デスクランブル部の後段に接続され、各々のメモリがＴＳデータのデータ単位相当の記憶容量を有し、前記デスクランブル部から入力されたＴＳデータの書き込み動作と読み出し動作とを交互に行うメモリセットを含む、第２の記憶部と、
前記第２の記憶部の後段に接続され、前記第２の記憶部から読み出した複数のＴＳデータの中から必要なＴＳデータを抽出分離する抽出分離部と、
前記抽出分離部の後段に接続され、各々のメモリがＴＳデータのデータ単位相当の記憶容量を有し、前記抽出分離部から入力されたＴＳデータの書き込み動作と読み出し動作とを交互に行うメモリセットを含む、第３の記憶部と、
前記第３の記憶部の後段に接続され、前記第３の記憶部から読み出したＴＳデータを外部メモリに書き込む書き込み部と
を備える、ＴＳパケット単位での４段パイプライン構成のシステムデコーダ。
【請求項２】
ＴＳ（Transport Stream）データを同期捕捉する同期捕捉部と、
前記同期捕捉部の後段に接続され、各々のメモリがＴＳデータのデータ単位相当の記憶容量を有し、前記同期捕捉部から入力されたＴＳデータの書き込み動作と読み出し動作とを交互に行うメモリセットを含む、第１の記憶部と、
前記第１の記憶部の後段に接続され、前記第１の記憶部から読み出した複数のＴＳデータの中から必要なＴＳデータを抽出分離する抽出分離部と、
前記抽出分離部の後段に接続され、各々のメモリがＴＳデータのデータ単位相当の記憶容量を有し、前記抽出分離部から入力されたＴＳデータの書き込み動作と読み出し動作とを交互に行うメモリセットを含む、第２の記憶部と、
前記第２の記憶部の後段に接続され、前記第２の記憶部から読み出したＴＳデータを外部メモリに書き込む書き込み部と
を備える、ＴＳパケット単位での３段パイプライン構成のシステムデコーダ。
【請求項３】
ＴＳ（Transport Stream）データを同期捕捉する同期捕捉部と、
前記同期捕捉部の後段に接続され、各々のメモリがＴＳデータのデータ単位相当の記憶容量を有し、前記同期捕捉部から入力されたＴＳデータの書き込み動作と読み出し動作とを交互に行うメモリセットを含む、第１の記憶部と、
前記第１の記憶部の後段に接続され、前記第１の記憶部から読み出した複数のＴＳデータの中から必要なＴＳデータを抽出分離する抽出分離部と、
前記抽出分離部の後段に接続され、前記抽出分離部から入力されたＴＳデータを外部メモリに書き込む書き込み部と
を備える、ＴＳパケット単位での２段パイプライン構成のシステムデコーダ。
【請求項４】
前記抽出分離部は、抽出分離したＴＳデータのＰＣＲ（Program Clock Reference）が不連続である場合には、そのＴＳデータに付加されているタイムスタンプを無効化させる、請求項１〜３のいずれか一つに記載のシステムデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＴＶ−Ｓ等に適用されるシステムデコーダの構成に関する。
【背景技術】
【０００２】
ＭＰＥＧ方式で圧縮されたストリームの処理をするＭＰＥＧパケット処理装置であって、ストリームのＴＳ（Transport Stream）解析部と、ＴＳ解析部の出力をデコードするＰＥＳ（Packetized Elementary Stream）デコーダと、このＰＥＳデコーダの部分に記憶手段を設け、ＰＥＳデコーダを単一化することを特徴としたＭＰＥＧパケット処理装置が、下記特許文献１に開示されている。
【０００３】
【特許文献１】特開２００３−２５９３６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献に開示された従来のＭＰＥＧパケット処理装置では、ＰＥＳのデコード用に、専用の記憶手段が設けられている。ここで、ＴＳパケットに比べてＰＥＳのデータ単位は一般に大規模になることが知られている。従って、ＰＥＳデコード用の記憶手段をＬＳＩに搭載すると、製造コストが高くなる。一方、ＬＳＩの外部に出すと、ＰＥＳデコーダ専用のアクセスが必要となる。この場合、外部アクセスのバス帯域に余裕が無いことが多いため、バスの破綻を招く要因となる。また、ＴＳパケット単位（１８８バイト単位）での処理ができないため、一時記憶するメモリ容量がＰＥＳ単位になるなど、ＬＳＩに搭載するメモリ規模が大きくなり、ＬＳＩのコストの増大を招くという問題がある。
【０００５】
本発明はかかる問題を解決するために成されたものであり、ＴＳパケット単位でデータ処理を行うことにより、コストの低減を実現し得るシステムデコーダを得ることを目的とする。
【課題を解決するための手段】
【０００６】
第１の発明に係るシステムデコーダは、ＴＳ（Transport Stream）データを同期捕捉する同期捕捉部と、前記同期捕捉部の後段に接続され、各々のメモリがＴＳデータのデータ単位相当の記憶容量を有し、前記同期捕捉部から入力されたＴＳデータの書き込み動作と読み出し動作とを交互に行うメモリセットを含む、第１の記憶部と、前記第１の記憶部の後段に接続され、前記第１の記憶部から読み出したＴＳデータに対してスクランブル解除処理を行うデスクランブル部と、前記デスクランブル部の後段に接続され、各々のメモリがＴＳデータのデータ単位相当の記憶容量を有し、前記デスクランブル部から入力されたＴＳデータの書き込み動作と読み出し動作とを交互に行うメモリセットを含む、第２の記憶部と、前記第２の記憶部の後段に接続され、前記第２の記憶部から読み出した複数のＴＳデータの中から必要なＴＳデータを抽出分離する抽出分離部と、前記抽出分離部の後段に接続され、各々のメモリがＴＳデータのデータ単位相当の記憶容量を有し、前記抽出分離部から入力されたＴＳデータの書き込み動作と読み出し動作とを交互に行うメモリセットを含む、第３の記憶部と、前記第３の記憶部の後段に接続され、前記第３の記憶部から読み出したＴＳデータを外部メモリに書き込む書き込み部とを備える、ＴＳパケット単位での４段パイプライン構成のシステムデコーダである。
【０００７】
第２の発明に係るシステムデコーダは、ＴＳ（Transport Stream）データを同期捕捉する同期捕捉部と、前記同期捕捉部の後段に接続され、各々のメモリがＴＳデータのデータ単位相当の記憶容量を有し、前記同期捕捉部から入力されたＴＳデータの書き込み動作と読み出し動作とを交互に行うメモリセットを含む、第１の記憶部と、前記第１の記憶部の後段に接続され、前記第１の記憶部から読み出した複数のＴＳデータの中から必要なＴＳデータを抽出分離する抽出分離部と、前記抽出分離部の後段に接続され、各々のメモリがＴＳデータのデータ単位相当の記憶容量を有し、前記抽出分離部から入力されたＴＳデータの書き込み動作と読み出し動作とを交互に行うメモリセットを含む、第２の記憶部と、前記第２の記憶部の後段に接続され、前記第２の記憶部から読み出したＴＳデータを外部メモリに書き込む書き込み部とを備える、ＴＳパケット単位での３段パイプライン構成のシステムデコーダである。
【０００８】
第３の発明に係るシステムデコーダは、ＴＳ（Transport Stream）データを同期捕捉する同期捕捉部と、前記同期捕捉部の後段に接続され、各々のメモリがＴＳデータのデータ単位相当の記憶容量を有し、前記同期捕捉部から入力されたＴＳデータの書き込み動作と読み出し動作とを交互に行うメモリセットを含む、第１の記憶部と、前記第１の記憶部の後段に接続され、前記第１の記憶部から読み出した複数のＴＳデータの中から必要なＴＳデータを抽出分離する抽出分離部と、前記抽出分離部の後段に接続され、前記抽出分離部から入力されたＴＳデータを外部メモリに書き込む書き込み部とを備える、ＴＳパケット単位での２段パイプライン構成のシステムデコーダである。
【発明の効果】
【０００９】
第１〜第３の発明に係るシステムデコーダによれば、ＴＳパケット単位でデータ処理を行うことにより、コストの低減を図ることができる。
【発明を実施するための最良の形態】
【００１０】
まず、本発明の概要について説明する。
【００１１】
本発明に係るシステムデコーダは、ＴＳ（Transport Stream）パケット単位で、ストリームの分離、指定データの抽出、及び外部メモリへの書き込みを行うことを特徴としている。ＰＥＳのデータであることを判断し、ＰＥＳのヘッダ部を削除する機能も搭載されているが、ＰＥＳヘッダ部を一時記憶するためだけの１２バイト程度のメモリを、ＰＥＳ系フィルタ数分のみ搭載する構成にしている。
【００１２】
ＴＳパケット単位でデマルチプレクス処理（以下「Ｄｅｍｕｘ処理」と称す）を行うことで、必要となるワークメモリは１８８バイト単位のメモリのみとなる。この１８８バイトのデータから、抽出分離指定されているデータのみを外部メモリへ書き込む構成をとっている。この際、ＰＥＳ単位のデータを、ＥＳ（elementary stream）単位のデータへ変換する処理も実施している。これにより、ＰＥＳ単位でのデータ蓄積を行う必要がなくなり、ＰＥＳ単位のデータを一時記憶するメモリ、及びこのメモリへのアクセスを削除できることとなった。
【００１３】
（１）第１の発明に係るシステムデコーダ
図１は、第１の発明に係るシステムデコーダ１００ａの構成を概略的に示すブロック図である。図１を参照して、ＴＳ−ＩＦ部５において、ＴＳの同期をとり、１８８バイト×２個のメモリ１にデータを書き込む。次に、デスクランブル部６において、スクランブルされたデータの解読（デスクランブル）を行い、その結果を１８８バイト×２個のメモリ２へ書き込む。次に、ＤＥＭＵＸ部７において、ＰＩＤ値と追加情報（α部分）とを用いて、ＴＳパケットのフィルタリングを行う。このフィルタにヒットしたパケットデータは、データタイプによりSection系又はＰＥＳ系フォーマットのデータとしてデコードされ、その結果が１８８バイト×２個のメモリ３へ書き込まれる。ここで、ＰＥＳ系データであった場合は、ＰＥＳからＥＳへのデコードも実施される。その後、抽出分離されてメモリ３へ書き込まれたデータは、外部記憶装置（ＳＤＲＡＭ）４へ書き込まれて一時保持される。
【００１４】
図２は、システムデコーダ１００ａのパイプライン処理を示すタイミングチャートである。図２を参照して、システムデコーダ１００ａは、ＴＳパケット単位での４段のパイプライン動作を行うことを特徴としている。詳細は後述の実施の形態１において説明するが、１段目はＭＰＥＧ２−ＴＳのストリーミングデータの同期を取るＩＦステージであり、２段目はデスクランブルを行うＳステージであり、３段目はＤｅｍｕｘ処理を行うＤステージであり、４段目はＳＤＲＡＭ４への書き込みを行うＷステージである。
【００１５】
ここで、ＴＳパケット単位とは、ＭＰＥＧ２−ＴＳのデータ単位のことであり、１８８バイトとなる。システムデコーダ１００ａでは、１８８バイトのパケットデータの同期を取り、１８８バイトの２面メモリ１〜３へのデータの取り込みが完了するたびに、パイプライン処理が進められる。
【００１６】
また、パイプライン動作はＴＳパケット単位なので、システムデコーダ１００ａに入力されるデータの入力レートに依存して、パイプラインの動作は変動する。換言すれば、１８８バイトのデータを全て受け取るまでの時間間隔の変動が、そのままパイプライン動作に反映される。
【００１７】
（２）第２の発明に係るシステムデコーダ
図３は、第２の発明に係るシステムデコーダ１００ｂの構成を概略的に示すブロック図であり、図４は、システムデコーダ１００ｂのパイプライン処理を示すタイミングチャートである。スクランブルが不要な用途では、Ｓステージを削除して、３段のパイプライン構成にすることができる。この場合、１８８バイトの２面メモリ２を１セット省略できる。図３，４に示すように、パイプラインは、３段から構成されている。１段目はＭＰＥＧ２−ＴＳのストリーミングデータの同期を取るＩＦステージであり、２段目はＤｅｍｕｘ処理を行うＤステージであり、３段目はＳＤＲＡＭ４への書き込みを行うＷステージである。
【００１８】
ＤステージとＷステージとを分離することで、ＤステージでのＤｅｍｕｘ処理に必要とされるクロック数（所要時間）と、ＷステージでＳＤＲＡＭ４に書き込むまでに必要とされる所要時間とが分離されている。各ステージは１ＴＳパケット期間となるため、最短でも約４０μｓｅｃの期間が必要である。システムデコーダ１００ｂの処理クロック周波数を１００ＭＨｚとした場合、少なくとも約２０００クロックをＤｅｍｕｘ処理に割り当てることが可能となる。第２の発明に係るＤｅｍｕｘ処理では、マルチセクション処理が最も処理サイクルを要し、最大１０００クロック程度でＤｅｍｕｘ処理を終了するが、まだ十分な余裕がある。Ｗステージを設けているため、ＳＤＲＡＭ４へのライトトランザクションで用いる外部バス競合待ち時間を含めた処理系に対する、待ち時間耐性が向上されている。
【００１９】
なお、図３ではＳＤＲＡＭ４へアクセスするのはシステムデコーダ１００ｂだけの場合を示しているが、実際には、ほかにもＳＤＲＡＭ４にアクセスするブロックが多数存在するため、システムデコーダ１００ｂがアクセスできるバス帯域は非常に限られたものになる。この限られたバス帯域でも、ＳＤＲＡＭ４へのライトトランザクションが破綻しないように、ＳＤＲＡＭ４への書き込み期間のためだけにＷステージが設けられている。
【００２０】
（３）第３の発明に係るシステムデコーダ
図５は、第３の発明に係るシステムデコーダ１００ｅの構成を概略的に示すブロック図であり、図６は、システムデコーダ１００ｅのパイプライン処理を示すタイミングチャートである。ＳＤＲＡＭ４へのアクセスするのがシステムデコーダ１００ｅだけである場合、又は、システムデコーダ１００ｅから発行されるライトトランザクションが最優先で処理されることが分かっている場合は、Ｗステージも不要となる。この場合、Ｄステージで抽出分離したデータを、そのままＤステージの期間内にＳＤＲＡＭ４へ書き込むことができる。一方、Ｄｅｍｕｘ処理には１５００クロック程度のクロック数が必要となるため、少なくともＩＦステージ及びＤステージは個別に設ける必要がある。従って、第３の発明に係るシステムデコーダ１００ｅにおけるパイプライン構成は、図６に示すように２段となる。１段目はＭＰＥＧ２−ＴＳのストリーミングデータの同期を取るＩＦステージであり、２段目はＤｅｍｕｘ処理及びＳＤＲＡＭ４への書き込みを行うＤステージである。
【００２１】
（４）不連続ＰＣＲ受信時のタイムスタンプの無効化処理
通常、システムデコーダには、デコード時刻を管理するための時計が装備されている。この時計は、ＭＰＥＧ２−ＴＳに埋め込まれているＰＣＲ（Program Clock Reference）と呼ばれる時刻データを基準に時刻を更新している時計である。ＭＰＥＧ２−ＴＳで送られてくるビデオＥＳ及びオーディオＥＳには、タイムスタンプ（ＰＴＳ／ＤＴＳ）と呼ばれる時刻情報が付加されていて、このタイムスタンプ値とシステムデコーダの時計とが一致すれば、ビデオＥＳ及びオーディオＥＳを、システムデコーダから出力する動作が行われる。
【００２２】
ここで、このタイムスタンプ値は、ＳＤＲＡＭ４に蓄えられているフレームデータ単位にそれぞれ対応している。また、同時に複数個の時計（ＳＴＣ：System Time Clock）を扱う場合には、複数の時間軸上のタイムスタンプ（ＰＣＲ＿ＰＩＤ毎に対応、分類されたタイムスタンプ）として管理されている。
【００２３】
この状態で、不連続ＰＣＲを受信すると、まず、どのＰＩＤ対応のＰＣＲが不連続であるかを確認する。その後、格納しているビデオ、オーディオのタイムスタンプ値のうち、不連続となったＰＣＲに対応するビデオ、オーディオのタイムスタンプ値のバリッドビットを０にクリアする。
【００２４】
ＡＶ同期ＥＳ出力部では、システムデコーダから出力しようとしているＥＳデータに対応したタイムスタンプ値と、対応するＳＴＣとの比較が行われる。この際、タイムスタンプ値のバリッドビットがセット（値が１）されていれば、ＥＳ出力を行う際に、ＳＴＣとタイムスタンプ値との比較を行うことで、ＥＳ出力制御が行われる。一方、タイムスタンプ値のバリッドビットがクリア（値が０）されていれば、ＥＳ出力を行う際に、ＳＴＣとタイムスタンプ値との比較を行わず、ＥＳ出力が行われる。
【００２５】
このタイムスタンプ値のクリア処理により、不連続ＰＣＲ（時刻が数分間分巻き戻る等の場合）を受信した後においても、システムデコーダからのＥＳ出力が停止（数分間停止）する事態が回避される。
【００２６】
実施の形態１．
（１）システムデコーダ１００ａの基本構成
図７は、本発明の実施の形態１に係るシステムデコーダ１００ａの前半処理部の構成を示すブロック図である。図７に示すように、システムデコーダ１００ａの前半処理部は、ＭＰＥＧ２−ＴＳ入力を受けて１８８バイトの同期をとるＴＳ−ＩＦ部５と、ＴＳ−ＩＦ部５の出力を受けて暗号を解読するデスクランブル部６と、デスクランブル部６の出力を受けてＤｅｍｕｘ処理を行うＤＥＭＵＸ部７と、ＤＥＭＵＸ部７から出力されたデータをＳＤＲＡＭ４に書き込むＭｅｄｉａＩ／Ｆ部８とを備えて構成されている。ＭｅｄｉａＩ／Ｆ部８は、書き込み部８ａとＭｅｄｉａＢｕｓＩ／Ｆ部８ｂとを有している。
【００２７】
まず、システムデコーダ１００ａにおけるＴＳパケット単位でのパイプライン構成を説明し、その後、ＰＥＳデコーダまで含めたＤｅｍｕｘ処理を可能としているアーキテクチャについて説明する。
【００２８】
（２）システムデコーダ１００ａのパイプライン構成
システムデコーダ１００ａのＴＳパケット単位でのパイプライン動作としては、ＴＳ−ＩＦ部５の後段に片面１８８バイトの２面メモリ１を配備し、ＩＦステージを構成している。
【００２９】
ＩＦステージでは、以下の処理が行われる。
【００３０】
入力クロック（ＴＳＣＬＫ）と共に送られてくるＭＰＥＧ２−ＴＳデータ（ＴＳＤＡＴＡ）を、ＴＳＣＬＫで取り込む。この際、ＴＳＤＡＴＡと同時に送られてくるデータバリッド（ＴＳＶＡＬＩＤ）を参照し、有効なデータである場合にのみ取り込みを行う。また、取り込み単位は、１バイト単位又は１ビット単位となり、選択が可能である。
【００３１】
ＭＰＥＧ２−ＴＳパケットの先頭データである「４７」コードを検索し、１８８バイト毎に「４７」コードが存在することを確認し、同期捕捉を行う。
【００３２】
同期捕捉候補処理を高速化させるため、独立で動作する複数個のカウンタを搭載し、複数個の同期捕捉候補を扱う。いずれかの同期捕捉候補の同期捕捉が成立した段階で、他の同期捕捉候補をキャンセルする。
【００３３】
同期捕捉が成立すると、ＭＰＥＧ２−ＴＳパケットのデータを、先頭の「４７」コードから順に、１８８バイトのメモリ１に格納し始める。
【００３４】
１８８バイトのメモリ１は２面あり、１面全ての書き込みが終了した面は、後段のパイプラインステージからの読み出し面に切り替わる。
【００３５】
デスクランブル部６の後段にも片面１８８バイトの２面メモリ２を配備し、Ｓステージを構成している。
【００３６】
Ｓステージでは、以下の処理が行われる。
【００３７】
ＩＦステージの後段に設けられている１８８バイトの２面メモリ１のうち、書き込みが終了している面からＭＰＥＧ２−ＴＳデータを順次読み出す。
【００３８】
スクランブル解除指定のＰＩＤを持っているＭＰＥＧ２−ＴＳパケットであるか否かの判定を実施する。
【００３９】
スクランブル解除指定のＰＩＤを持っているＭＰＥＧ２−ＴＳパケットであった場合は、ＭＰＥＧ２−ＴＳパケットのＰａｙｌｏａｄに対して、スクランブル解除処理を実施する。
【００４０】
１バイト単位に複数クロックかけてデスクランブル処理を行うことにより、１８８バイトのデータのスクランブル解除処理を行う。
【００４１】
スクランブル解除されたデータを、ＭＰＥＧ２−ＴＳの先頭バイトから、１８８バイトのメモリ２に格納し始める。
【００４２】
１８８バイトのメモリ２は２面あり、１面全ての書き込みが終了した面は、後段のパイプラインステージからの読み出し面に切り替わる。
【００４３】
デスクランブル処理対象外のＭＰＥＧ２−ＴＳデータである場合は、スクランブル解除処理を実施しないで、１８８バイトのメモリ２へ書き込む。例えば、ＴＳパケットのヘッダ情報や、ＰＩＤで指定されていないＭＰＥＧ２−ＴＳパケットの場合は、スクランブル解除処理を実施しないで、１８８バイトのメモリ２へ書き込まれる。
【００４４】
デスクランブル処理対象外のデータは、デスクランブル処理対象のデータと同じレイテンシとする。換言すれば、ＭＰＥＧ２−ＴＳデータのデスクランブル部６を通過する時間は、デスクランブル処理を実施した場合も実施しなかった場合も、いずれも同じ所要時間となる。
【００４５】
さらに、ＤＥＭＵＸ部７の後段にも片面１８８バイトの２面メモリ３ａ〜３ｃを配備し、Ｄステージを構成している。
【００４６】
Ｄステージでは、以下の処理が行われる。
【００４７】
デスクランブルステージの後段に設けられている１８８バイトの２面メモリ２のうち、書き込みが終了している面から、スクランブル解除されたＭＰＥＧ２−ＴＳデータを順次読み出す。
【００４８】
読み出したＭＰＥＧ２−ＴＳパケットデータのうち、ＴＳヘッダ部と、もし存在すればアダプテーション領域の制御データを、ＴＳ解析用レジスタ７ａ１に順次セットする。
【００４９】
この読み出しアドレスは、ＭＰＥＧ２−ＴＳパケットの１８８バイトのうち、どのバイトを読み出しているかの識別に用いられる。
【００５０】
ＤステージでのＭＰＥＧ２−ＴＳ解析、抽出分離のベースは、上記１８８バイトの２面メモリ２からの読み出しアドレスと、上記ＴＳ解析用レジスタ７ａ１の値とを参照し、ＭＰＥＧ２−ＴＳパケットのデータ構造の解析が進められる。
【００５１】
２面メモリ２からの読み出しアドレスが、ＰＩＤを読み出し終了時点まで進んだ段階で、抽出分離指定されているＰＩＤであるかどうかの判定が行われる。
【００５２】
このＰＩＤ判定では、セクション系かＰＥＳ系か、ＰＥＳ系である場合は、独立ＰＥＳ系か、オーディオ系か、ビデオ系かの判定が行われる。
【００５３】
トランスポートスクランブルコントロール、アダプテーションフィールドコントロール、コンティニュティカウンター値を、ＴＳ解析用レジスタ７ａ１にセットする。
【００５４】
コンティニュティカウンター値とアダプテーションフィールドコントロール値とをチェックし、廃棄対象のペイロードを持ったＭＰＥＧ２−ＴＳパケットであるかどうかの判定と、アダプテーション領域の有無、ペイロードの有無が判断される。
【００５５】
次に、アダプテーションフィールドが存在する場合は、引き続きＴＳ解析用レジスタ７ａ１にアダプテーション領域のデータをセットする。
【００５６】
アダプテーション領域の先頭はアダプテーションレングスであり、このレングスをチェックして、その値が０でなければ、アダプテーションレングス値をアダプテーションレングスカウンタへセットし、ダウンカウントを開始する。アダプテーションレングスが０である場合は、次のバイトは、セクション系データの場合はポインタフィールドとなり、ＰＥＳ系データの場合はＰＥＳの先頭バイトであると判断する。
【００５７】
アダプテーションレングスが０でない場合は、次のバイトが、ＰＣＲフラグ（ＰＣＲを含んだＭＰＥＧ２−ＴＳパケットかどうかの識別子）とか、含んでいるＰＣＲが不連続ＰＣＲであるかどうかの識別子であるディスコンティニュティインディケータを、ＴＳ解析用レジスタ７ａ１にセットする。
【００５８】
ＰＣＲフラグで、ＰＣＲがあることが判明すれば、ＰＣＲの抽出を行う。この時、システムデコーダ１００ａの時計であるＳＴＣへＰＣＲ値をロードするか否かは、ＰＣＲのロード制御レジスタ値によって制御される。
【００５９】
ディスコンティニュティインディケータがセットされていれば、ＭＰＥＧ２−ＴＳパケットに含まれているＰＣＲが、不連続ＰＣＲであると判断する。不連続ＰＣＲのＳＴＣへのロード制御は、ＰＣＲのロード制御レジスタ値によって制御される。
【００６０】
不連続ＰＣＲのＳＴＣへのロードは、ＳＤＲＡＭ４に既に蓄えられているビデオＥＳ、オーディオＥＳのタイムスタンプ値との関係が不連続になることも意味しているので、既に蓄えられているＡＶフレームデータ（ビデオＥＳ／オーディオＥＳ）に対応したタイムスタンプのＶａｌｉｄビットを無効化する。ここで、このＶａｌｉｄビットは、タイムスタンプ値が有効か無効かの識別に用いられる。有効な場合は、システムデコーダ１００ａからフレームデータを出力すべき時刻まで待たせる処理を行う時に、ＳＴＣとの比較に用いるタイムスタンプ値として利用される。無効な場合は、出力すべき時刻まで待たせる処理は行われない。
【００６１】
アダプテーションフィールドが終了すると、ＰＩＤフィルタリングの結果が、セクション系であるか、ＰＥＳ系であるかで、処理が分岐される。
【００６２】
ＴＳヘッダ部のユニットスタートインディケータがセットされている場合は、セクション系の場合はセクションの先頭データを含むため、ペイロードの前に１バイトのポインタフィールドがあると判断される。また、ＰＥＳ系の場合はペイロードの先頭からＰＥＳデータが格納されていると判断される。
【００６３】
セクション系の場合は、セクション解析用レジスタ７ａ２に、セクションヘッダ部がセットされる。
【００６４】
セクションの先頭バイトはテーブルＩＤである。セクションのフィルタリングは、セクションヘッダ部が揃ってから実施されるが、テーブルＩＤでＭＰＥＧ２−ＴＳパケットが終了する場合もある。この場合は、ＰＩＤとテーブルＩＤとでのフィルタリングを実施し、継続フラグが立っているかどうかを確認した後、継続フラグがセットされていなければ、セクション用フィルタのどの番号のフィルタでＭＰＥＧ２−ＴＳパケットを跨いだセクションを受信したかを記憶しておくための継続フラグをセットする。
【００６５】
ここで、継続フラグは、全てのフィルタに対で装備される。
【００６６】
継続フラグのクリアは、継続フラグがセットされているフィルタにヒットしたＭＰＥＧ２−ＴＳパケットに格納されている、ＴＳヘッダ部のユニットスタートインディケータが１であった場合に実施する。このＭＰＥＧ２−ＴＳパケットで継続してきたセクションが終了し、新たなセクションが格納されていると判断し、継続フラグがクリアされる。
【００６７】
ここで、ＭＰＥＧ２−ＴＳパケットが、セクションヘッダ部の途中で終了する場合、次のＭＰＥＧ２−ＴＳパケットデータが、続きのパケットデータとは限らないため、セクション解析用レジスタ７ａ２は、レジスタセットとしてセクションフィルタ数分搭載されている。
【００６８】
ＰＥＳ系の場合、ＰＥＳ解析用レジスタ７ａ３に、ＰＥＳヘッダ部がセットされる。
【００６９】
ＰＥＳヘッダの先頭は、パケットスタートコードプリフィックスの固定コード「０００００１」となっている。ＰＥＳヘッダの先頭から８バイト目がＰＴＳＤＴＳフラグ（ＰＴＳ，ＤＴＳであるタイムスタンプを含んでいるか否かの識別子）であり、タイムスタンプを含んでいる場合は、抽出を行う予定とされる。
【００７０】
次のバイトがＰＥＳヘッダ長であり、ＰＥＳヘッダ長の値が０でない場合は、ＰＥＳヘッダ長ダウンカウンタに値がセットされ、ダウンカウントが行われる。
【００７１】
ＰＥＳヘッダ長のダウンカウントが終了した時点に、ＥＳデータの先頭バイトが存在する。
【００７２】
ＥＳデータの抽出では、このＰＥＳヘッダ部の削除処理を実施することで、ＥＳ抽出が実現される。
【００７３】
ＭＰＥＧ２−ＴＳパケットが、ＰＥＳヘッダ部の途中で終了した場合は、ＰＥＳヘッダ部のどのバイトから再開すればよいかは、ＰＥＳヘッダ長のダウンカウンタ値と、継続フラグとによって判別されることとなる。
【００７４】
ここで、ＭＰＥＧ２−ＴＳパケットが、ＰＥＳヘッダ部の途中で終了する場合、次のＭＰＥＧ２−ＴＳパケットデータが、続きのパケットデータとは限らないため、ＰＥＳヘッダ解析用レジスタ７ａ３は、レジスタセットとして、ＰＩＤ設定できるＰＥＳフィルタ数分搭載されている。
【００７５】
セクション系、ＰＥＳ系いずれの場合も、１８８バイトのメモリ２からの読み出しアドレスで、ＭＰＥＧ２−ＴＳパケットのどのバイトを処理しているか、ＭＰＥＧ２−ＴＳの終了を認識し、継続フラグをセットするか否かの判定が行われる。
【００７６】
その後、ＭｅｄｉａＩ／Ｆ部８からＳＤＲＡＭ４への書き込みが、ＳＤＲＡＭ書き込みステージ（Ｗステージ）となる。
【００７７】
Ｗステージでは、以下の処理が行われる。
【００７８】
Ｄステージの後段に設けられている１８８バイトの２面メモリ３ａ〜３ｃのうち、書き込みが終了している面のデータが、ＳＤＲＡＭ４へ書き込まれる。
【００７９】
書き込み単位は、セクション、ＰＥＳ、ＥＳいずれも、ＭＰＥＧ２−ＴＳパケットの１８８バイトから抽出分離したデータ単位となる。ここで、セクションの場合は、１３バイトのものもあり、Ｗステージでの最大書き込み先（ＳＤＲＡＭ４での書き込み先領域）数は、１４個となる。ＰＥＳ系の場合、Ｗステージでの最大書き込み先（ＳＤＲＡＭ４での書き込み先領域）数は、１個となる。これは、ＰＥＳ系の場合は一つのＭＰＥＧ２−ＴＳパケットに複数個のＰＥＳパケットが格納されていることがないためである。
【００８０】
Ｗステージの期間内に、ＳＤＲＡＭ４への書き込みが終了しない場合は、１８８バイトの２面メモリ３ａ〜３ｃが破綻するので、バスエラー割り込みが発生される。
【００８１】
これら各ステージに存在する２面メモリ１，２，３ａ〜３ｃで、ＴＳパケット単位（１８８バイト単位）のパイプライン動作が区切られている。以上が、システムデコーダ１００ａの前半処理部となる。システムデコーダ１００ａの前半処理部の４段パイプライン動作は、図２に示した通りである。
【００８２】
（３）システムデコーダ１００ａの後半処理部
図８は、システムデコーダ１００ａの後半処理部の基本構成を示すブロック図である。システムデコーダ１００ａの後半処理部では、ＳＤＲＡＭ４に書き込まれたデータが読み出され、ＡＶ同期をとって、システムデコーダ１００ａから出力される。ここで、ＳＤＲＡＭ４からの読み出し以降の処理は、ＴＳパケット単位のパイプライン動作とは無関係に動作する。
【００８３】
（４）Ｄｅｍｕｘ処理
（４−１）ＤＥＭＵＸ部７の構成
以下、主にＰＥＳデコーダからＥＳ抽出処理を含めたＤｅｍｕｘ処理について説明する。ここでは、ＤＥＭＵＸ部７のＤステージの動作説明を行う。Ｄステージには、ＰＩＤフィルタ動作部７ｂ、ＴＳ解析部７ａ、Section解析部７ａ２、ＰＥＳ解析部７ａ３、及び分離結果を一時記憶しておくためのＳＲＡＭ部３ａ〜３ｃがある。図９は、Ｄステージ及びＷステージの動作を示すタイミングチャートである。
【００８４】
（４−２）ＤＥＭＵＸ部７の処理
デスクランブル部６の後段に接続されている２面メモリ２から、ＴＳパケットデータが１パケット分（０バイト目から１８７バイト目まで）読み出される。この読み出しのアドレスで、ＴＳパケットの先頭から何番目のデータであるかが識別される。このＴＳパケットは、読み出しアドレス値に応じて、ＴＳ解析部７ａに設けられているレジスタ７ａ１に格納される。ＴＳ解析部７ａで格納対象とされているＴＳデータは、ＴＳヘッダ部のデータと、アダプテーションに相当するデータの一部、及び、セクションの場合はポインタフィールドが保持される。
【００８５】
ここで、ＴＳ解析部７ａのレジスタ７ａ１にＰＩＤまでの情報が書き込まれた段階で、ＴＳパケットの種別の大分類（セクションか、ビデオか、オーディオか、独立ＰＥＳか）が行われる。この結果によって、セクション系かＰＥＳ系（ビデオ、オーディオ、独立ＰＥＳ）かの識別が可能である。この結果を利用して、セクション解析部のレジスタ７ａ２を用いるのか、ＰＥＳ解析部のレジスタ７ａ３を用いるのかが判断される。
【００８６】
ＰＥＳ系であった場合、このＰＥＳ解析部のレジスタ７ａ３に、ＰＥＳヘッダに対応する情報のうち必要な部分（ＰＥＳ先頭から１３バイトで、ＰＥＳヘッダ長を含む）のみが格納される。ここで、アダプテーションのサイズによっては、ＰＥＳのヘッダがＴＳパケットの単位（１８８バイト）よりも大きい場合があり得る。従って、ＰＥＳデコードを行うフィルタ数分のレジスタ７ａ３が搭載されており、各レジスタ７ａ３は、書き込んだ位置を把握できるＰＥＳヘッダライトポインタを有している。ＴＳパケットを跨いだ場合は、このＰＥＳヘッダライトポインタが停止される。ここで、ＴＳパケットが終了するまでにＰＥＳヘッダ長のダウンカウンタ値が終了しなかった場合には、ＰＥＳヘッダ部でＴＳパケットを跨ったことになる。一方、ＴＳパケットが終了するまでにＰＥＳヘッダ長のダウンカウンタが終了した場合には、ＰＥＳヘッダ部以降でＴＳパケットを跨いだことになる。ＰＥＳヘッダ長のダウンカウンタ終了時点で、ＰＥＳヘッダライトポインタはクリアされる。継続して受信再開する場合の動作は、ＰＩＤでのフィルタヒット判定と、ＰＩＤ別で管理しているＰＥＳヘッダライトポインタとを参照することで、ＰＥＳヘッダの情報抽出を再開可能となる。なお、ＰＥＳはＰＩＤのみでフィルタリングが可能なため、特に継続フラグは必要ない。
【００８７】
セクション系であった場合、セクション解析部のレジスタ７ａ２に、セクションヘッダに対応する情報のうち必要な部分（セクションの先頭から６バイト分。但しセクション長にも依存する）のみが格納される。ここで、アダプテーションのサイズに依存して、セクションヘッダ部に相当するデータをセクション解析部のレジスタ７ａ２に格納終了する前に、ＴＳパケットが終了してしまうことがあり得る。そのため、セクション解析部でも、セクションヘッダをどこまで書き込んだかを把握できるように、セクションヘッダライトポインタを各々持つとともに、フィルタ番号毎に継続フラグが設けられている。セクションヘッダライトポインタ値と継続フラグとを参照することで、ＴＳパケットを跨いだ後、暫くして後続のセクション部のデータを受信した場合であっても、セクションヘッダの情報抽出を再開可能となる。
【００８８】
次に、ＴＳパケット単位を超えた場合の処理について説明する。
【００８９】
セクション系の場合、受信したセクションデータが、ＴＳパケットに納まるデータであるか、納まらないデータであるかの判断は、（ａ）セクションヘッダ部をセクション解析部のレジスタ７ａ２に格納終了できたかどうかの判断と、（ｂ）セクションヘッダ部に存在するセクション長情報により、ＴＳパケット終了時点（１８８バイト目）で、セクション長のダウンカウントが終了しているかどうかとの判断とによって行われる。ＴＳパケットに納まっていないと判断された場合は、フィルタにヒットしている番号の継続フラグをセットするとともに、セクション長のダウンカウンタ値をクリアする。
【００９０】
なお、継続フラグのクリアは、同一フィルタにヒットしたＴＳパケットの、ＴＳヘッダ情報部にあるunit_start_indicatorの値が１である場合、このＴＳパケットで、継続してきたセクションが終了するとともに、新たなセクションが格納されていると判断する。ここで、新たなセクションの開始位置は、pointer_fieldで示される。
【００９１】
ＰＥＳ系の場合、受信したＰＥＳデータが、ＴＳパケットに納まるデータであるか、納まらないデータであるかの判断は、ＰＥＳヘッダ部についてのみ実施される。
【００９２】
ＰＥＳヘッダライトポインタ（ＰＥＳヘッダをどこまでＰＥＳ解析部のレジスタ７ａ３に格納できたかを示すポインタ。ＰＥＳヘッダ長による終了で、ＰＥＳヘッダ終了と判断される。）が終了していない状態で、ＴＳパケットが終了（１８８バイト目）した場合、ＰＥＳヘッダがＴＳパケットを跨ったと判断し、フィルタにヒットしている番号の継続フラグがセットされる。この継続フラグは、ＰＥＳ解析部で複数セット設けられているレジスタセットのうちのどのレジスタセットかを識別するのに用いられる。
【００９３】
ＰＥＳヘッダ解析部が持っている継続フラグは、ＰＥＳヘッダ部をＰＥＳ解析部のレジスタ７ａ３に格納終了すると、クリアされる。
【００９４】
ＰＥＳヘッダ部以降のＰＥＳデータ自体は、ＰＩＤのみで分離識別可能であるため、ＰＥＳの長さ情報は参照されない。その代わり、ＴＳパケットヘッダ部にあるunit_start_indicatorでＰＥＳの先頭を識別し、ＰＥＳデータの先頭から分離抽出が行われる。
【００９５】
セクション解析用レジスタ７ａ２周辺のブロック図を図１０に示し、ＰＥＳ解析用レジスタ７ａ３周辺のブロック図を図１１に示す。ＴＳデータの解析から、セクションの分離（先頭セクションの抽出）までの動作は、図１２に示したタイミングチャートの通りである。ＴＳデータの解析から、マルチセクションの抽出分離動作は、図１３に示したタイミングチャートの通りである。ＴＳデータの解析から、セクションの分離抽出時、セクションヘッダ部においてＴＳパケット（１８８バイト）が終了した場合の動作は、図１４に示したタイミングチャートの通りである。ＴＳデータの解析から、セクションの分離抽出時、セクションの途中でＴＳパケット（１８８バイト）が終了した場合の動作は、図１５に示したタイミングチャートの通りである。ＴＳデータの解析から、ポインタフィールドで示されるデータより手前のデータの抽出分離動作は、図１６に示したタイミングチャートの通りである。セクションの抽出時、ポインタフィールドがない場合の動作は、図１７に示したタイミングチャートの通りである。セクションを含むＭＰＥＧ２−ＴＳの例を図１８に示し、ＰＥＳヘッダ部の例を図１９に示す。
【００９６】
以下、抽出分離結果を一時保持するためのＳＲＡＭ（２面メモリ）３ａ〜３ｃについて説明する。
【００９７】
１８８バイトの塊であるＴＳパケットから必要なデータがフィルタリングされ、分離抽出対象と判断されたデータが、ＳＲＡＭ３ａ〜３ｃに格納される。図７には、セクション／独立ＰＥＳ系に対して２面ＳＲＡＭ（１８８バイトのメモリ×２個）３ａ、オーディオ系に対して２面ＳＲＡＭ（１８８バイトのメモリ×２個）３ｂ、ビデオ系に対して２面ＳＲＡＭ（１８８バイトのメモリ×２個）３ｃが設けられた構成が示されているが、後述の実施の形態３で説明する通り、本質的には１８８バイトのＳＲＡＭが２個あれば十分である。
【００９８】
次に、ＴＳデータから、セクション、オーディオＥＳ、ビデオＥＳ、独立ＰＥＳ１、及び独立ＰＥＳ２に分離したデータを、Ｄステージに設けられているＳＲＡＭ３ａ〜３ｃに一時格納する管理部９について説明する。
【００９９】
管理部９で扱う情報及び機能を、下記に列挙する。
【０１００】
・フィルタ番号（ＳＤＲＡＭ４格納先領域識別番号：マルチセクション時はセクション別に管理）
・ＳＲＡＭ３ａ〜３ｃへのデータ書き込みをカウントし、ＳＲＡＭ３ａ〜３ｃで一時保持する総バイト数（マルチセクション時はセクション別に管理）
・ＰＥＳ／ＥＳの先頭データを含むＴＳデータであったかどうかの情報（ＰＥＳ／ＥＳの先頭の場合、ＰＴＳ／ＤＴＳ抽出とともに、ＳＤＲＡＭ４格納時に、ＰＥＳ／ＥＳの先頭バイトを格納したアドレスを記憶するために、後々使用されることになる）
・ＰＴＳ／ＤＴＳの情報をＴＳ解析部７ａから受け取る。
【０１０１】
・ＳＲＡＭ３ａ〜３ｃからＳＤＲＡＭ４への転送時、ＰＥＳ／ＥＳの先頭バイトを格納したアドレスとセットで、ＰＴＳ／ＤＴＳ情報及びフレーム番号を管理する。
【０１０２】
・ＴＳ解析入力部のＳＲＡＭ２から読み出したデータを、直接ＤＥＭＵＸ出力部のＳＲＡＭ３ａ〜３ｃへ書き込み開始できるタイミングを知らせるタイミング情報を、セクション解析部７ａ２及びＰＥＳ解析部７ａ３から受け取る。
【０１０３】
・ＴＳ解析入力部のＳＲＡＭ２のＴＳデータ読み出しカウンタ値を受け取る（ＤＥＭＵＸ出力部ＳＲＡＭ３ａ〜３ｃは２面あるが、この面切り換えの管理に使用される）。
【０１０４】
次に、Ｄステージの後段に接続されている２面メモリ３ａ〜３ｃの動作について説明する。
【０１０５】
（イ）セクションのヘッダ部（識別情報部）データのＳＲＡＭ３ａへの書き込み
セクションヘッダ部のデータは、セクション解析部に設けられているレジスタ７ａ２に積み上げられている。これらのデータは、図１２に示したタイミングチャートの最下段の信号で示す期間の間に、セクション／ＰＥＳ系共用のＳＲＡＭ３ａに書き込まれる。
【０１０６】
この際、ＳＲＡＭ管理部９では、確定したフィルタ番号を用いて、ＳＤＲＡＭ４への格納領域を識別するとともに、ＳＤＲＡＭ４への書き込みに使用するライトポインタ（セクション用には３２本あるが、基本的にはこのうちの１本を使用する。推定ヒット動作時は、複数領域への書き込みとなるため、複数本のライトポインタを使用するケースも存在する）を特定する。
【０１０７】
（ロ）セクション本体データのＳＲＡＭ３ａへの書き込み
図１２のタイミングチャートに示すように、セクションのヘッダ部情報を格納しているＤＦＦからＳＲＡＭ３ａへのデータ転送が終了すると、続けてＴＳ解析入力部のＳＲＡＭ２から読み出したデータを、ＤＥＭＵＸ出力部のＳＲＡＭ３ａ〜３ｃへ直接転送する。
【０１０８】
（ハ）独立ＰＥＳのＳＲＡＭ３ａへの書き込み
ＴＳヘッダのみ削除し、ＰＥＳの先頭か、ＰＥＳの途中かを、payload_unit_start_indicatorで確認し、ＰＥＳの先頭からＳＲＡＭ３ａへの書き込みを行う。ＴＳを跨るケースもあるので、セクションのＴＳ跨ぎ処理と同様に、継続フラグを用いて、継続フラグがセットされていれば、ＰＥＳの途中データとしてＳＲＡＭ３ａへ格納する（ＳＤＲＡＭ４上では、切れ目の無い連続データとして書き込まれることとなる）。
【０１０９】
（ニ）オーディオＰＥＳのＳＲＡＭ３ｂへの書き込み
ＴＳヘッダのみ削除し、ＰＥＳの先頭か、ＰＥＳの途中かを、payload_unit_start_indicatorで確認し、ＰＥＳの先頭からＳＲＡＭ３ｂへの書き込みを行う。ＴＳを跨るケースもあるので、セクションのＴＳ跨ぎ処理と同様に、継続フラグを用いて、継続フラグがセットされていれば、ＰＥＳの途中データとしてＳＲＡＭ３ｂへ格納する（ＳＤＲＡＭ４上では、切れ目の無い連続データとして書き込まれることとなる）。
【０１１０】
また、ＰＥＳの先頭である場合は、対応するＰＴＳ／ＤＴＳ、ＰＥＳ先頭バイトの書き込み先アドレス、及びフレーム番号も同時に保持する。このデータ（ＰＴＳ／ＤＴＳ／アドレス、フレーム番号）の保存先には、ＡＶ同期制御用ＳＲＡＭ１０（図８参照）が使用される。
【０１１１】
（ホ）ビデオＥＳのＳＲＡＭ３ｃへの書き込み
ＴＳヘッダとＰＥＳヘッダとを削除し、ＥＳの先頭か、ＥＳの途中かを、payload_unit_start_indicatorで確認し、ＥＳの先頭からＳＲＡＭ３ｃへの書き込みを行う。ＴＳを跨るケースもあるので、セクションのＴＳ跨ぎ処理と同様に、継続フラグを用いて、継続フラグがセットされていれば、ＥＳの途中データとしてＳＲＡＭ３ｃへ格納する（ＳＤＲＡＭ４上では、切れ目の無い連続データとして書き込まれることとなる）。
【０１１２】
また、ＥＳの先頭である場合は、対応するＰＴＳ／ＤＴＳ、ＥＳ先頭バイトの書き込み先アドレス、及びフレーム番号も同時に保持する。このデータ（ＰＴＳ／ＤＴＳ／アドレス、フレーム番号）の保存先には、ＡＶ同期制御用ＳＲＡＭ１０（図８参照）が使用される。
【０１１３】
（５）Ｗステージの処理
Ｗステージでは、Ｄステージの最終段にある１８８バイトの２面メモリ３ａ〜３ｃからＳＤＲＡＭ４へのデータの転送及び書き込みが行われる。Ｗステージも、１ＴＳパケット期間のステージとなる。ＳＲＡＭ３ａ〜３ｃからＳＤＲＡＭ４へ書き込まれるデータには、セクション、独立ＰＥＳ、オーディオＰＥＳ、及びビデオＥＳがある。
【０１１４】
セクションの書き込みでは、ＳＤＲＡＭ４の複数領域への書き込みが発生する場合がある。マルチセクションにおいては、１ＴＳパケット内に複数個の異なるセクションが格納されている場合があり、この場合はＳＤＲＡＭ４への書き込み領域がセクションごとに異なるためである。
【０１１５】
独立ＰＥＳ、オーディオＰＥＳ、及びビデオＥＳの場合は、１ＴＳパケット期間単位の動作において、ＳＤＲＡＭ４への書き込み領域が異なる事態は発生しない。
【０１１６】
ＳＤＲＡＭ４への書き込み制御（Storeトランザクション発行処理）で扱う情報及び機能を下記に列挙する。
【０１１７】
・２面あるＤＥＭＵＸ出力ＳＲＡＭ３ａ〜３ｃのうち、ＳＤＲＡＭ４転送側の面の確認を行う。
【０１１８】
・記憶されているフィルタ番号（ＳＤＲＡＭ４格納先領域識別番号：マルチセクション時はセクション別に管理）を用いて、使用すべき書き込みライトポインタを特定する。
【０１１９】
・ＰＥＳ／ＥＳの先頭の場合、ＰＴＳ／ＤＴＳ抽出結果をＡＶ同期制御ＳＲＡＭ１０ａ（図８参照）へ格納するとともに、ＰＥＳ／ＥＳの先頭バイトを格納したアドレスを、ＡＶ同期制御用ＳＲＡＭ１０ａに書き込む。この際、アドレスは、ＰＴＳ／ＤＴＳと同じアドレスで管理しているＡＶ同期制御用ＳＲＡＭ１０ｂに書き込む。さらに、この際、フレーム番号なる識別番号を、ＤＥＭＵＸ部７が独自に番号付けし、０から６３までの識別を行う。
【０１２０】
・フレーム番号は、ＰＥＳ単位（ＥＳ単位）と対応した意味を持っている。ここでは、１フレームは１ＰＥＳパケットデータに対応していることと解釈する。換言すれば、１フレームは１ＥＳデータにも対応していることとなる。
【０１２１】
・フレーム番号を用いて、ＳＤＲＡＭ４に格納しているオーディオＰＥＳ、ビデオＥＳの管理を行う。
【０１２２】
・フレーム番号は、オーディオＰＥＳで６４種類、ビデオＥＳで６４種類であり、合計で１２８種類の識別が可能である。
【０１２３】
・フレーム番号、ＰＴＳ／ＤＴＳ、ＰＥＳ／ＥＳ先頭アドレスの一時記憶方法については、図８に示す通りである。
【０１２４】
・ＳＲＡＭ３ａ〜３ｃに一時保持しているＥＳ／ＰＥＳ／セクションデータの総バイト数（マルチセクション時にはセクション別のバイト総数）を、トランザクションへ変換する。ここでは、ＤＴＶ−Ｓ対応としてサポートされている範囲のトランザクションを用いることとする。このため、使用するStore系トランザクションは、８バイトと、バイトイネーブルを用いたトランザクションへの変換とする。１バイトの転送には、８バイトのトランザクションとバイトイネーブルとを用いることとする。
【０１２５】
・８バイトのライト動作は、８バイト境界に合わせて（アラインして）、トランザクションを発行する。
【０１２６】
・ＴＳ入力部位の２面メモリ２の動作に合わせて、ＴＳパケット単位での、ＤＥＭＵＸ出力２面メモリ３ａ〜３ｃの面切り替えを行う。面の切り替え動作は、概ね４０μｓｅｃ（１ＴＳパケットの受信レート）のスピードで切り替えになる。ＳＤＲＡＭ４へのライト動作は、この４０μｓｅｃ単位（２面メモリ３ａ〜３ｃの切り替え単位）に合わせて完了する必要がある。この期間内にライト動作が完了しない場合には、ＤＥＭＵＸ動作として連続データを保証できないので、バスエラー割り込みを発生させる。
【０１２７】
・ＳＤＲＡＭ４への書き込み開始タイミングは、２面メモリ３ａ〜３ｃの切り替えタイミング（ＴＳ入力部のＳＲＡＭ２からの読み出しカウンタの、ＴＳ０のタイミング）から、トランザクション生成準備が完了するタイミングで、ＳＤＲＡＭ４への書き込み処理を開始する（換言すればStoreトランザクションを発行する）。
【０１２８】
・ＴＳ解析入力部ＳＲＡＭ２のＴＳデータ読み出しカウンタ値を受け取る。ＤＥＭＵＸ出力部ＳＲＡＭ３ａ〜３ｃは２面あるが、この面切り替え管理に使用される。
【０１２９】
以上により、ＰＥＳデータからＰＥＳヘッダ部を削除した後のＥＳデータを抽出してＳＤＲＡＭ４に蓄えることができ、時刻管理を行いながらＳＤＲＡＭ４から必要なデータを読み出して、後段のビデオデコーダやオーディオデコーダにＥＳを提供できるシステムデコーダ１００ａを構成することができる。
【０１３０】
本実施の形態１に係るシステムデコーダ１００ａによると、ＴＳパケット単位で処理が完結するパイプライン動作が可能であるため、ＰＥＳデコーダ専用の大規模なメモリが不要となる。そのため、オンチップ又はオフチップでＰＥＳデコード用メモリを構成した場合と比較して、チップ製造コストを低減できる効果がある。また、ＰＥＳデコーダ専用の大規模メモリが不要となるため、このメモリへのアクセスが削減できる。そのため、外部バスの帯域を他のアクセスへ割り振ることが可能となる。例えば、ＣＰＵがＳＤＲＡＭ４をワークメモリとして用いるためのアクセス帯域として割り振ることも可能となる。しかも、外部メモリアクセスが低減したので、外部アクセス周波数を下げることが可能となって消費電力が低減されるとともに、外部ピン数を削減できるためチップ製造コストを低減できる。
【０１３１】
実施の形態２．
（１）システムデコーダ１００ｂの基本構成
図２０は、本発明の実施の形態２に係るシステムデコーダ１００ｂの前半処理部の構成を示すブロック図である。図２０に示すように、システムデコーダ１００ｂの前半処理部は、ＭＰＥＧ２−ＴＳ入力を受けて１８８バイトの同期をとるＴＳ−ＩＦ部５と、ＴＳ−ＩＦ部５の出力を受けてＤｅｍｕｘ処理を行うＤＥＭＵＸ部７と、ＤＥＭＵＸ部７から出力されたデータをＳＤＲＡＭ４に書き込むＭｅｄｉａＩ／Ｆ部８とを備えて構成されている。ＭｅｄｉａＩ／Ｆ部８は、書き込み部８ａとＭｅｄｉａＢｕｓＩ／Ｆ部８ｂとを有している。つまり、図７に示した上記実施の形態１に係るシステムデコーダ１００ａから、デスクランブル部６を省略したものが、本実施の形態２に係るシステムデコーダ１００ｂに相当する。
【０１３２】
まず、システムデコーダ１００ｂにおけるＴＳパケット単位でのパイプライン構成を説明し、その後、ＰＥＳデコーダまで含めたＤｅｍｕｘ処理を可能としているアーキテクチャについて説明する。
【０１３３】
（２）システムデコーダ１００ｂのパイプライン構成
システムデコーダ１００ｂのＴＳパケット単位でのパイプライン動作としては、ＴＳ−ＩＦ部５の後段に片面１８８バイトの２面メモリ１を配備し、ＩＦステージを構成している。
【０１３４】
ＩＦステージでは、以下の処理が行われる。
【０１３５】
入力クロック（ＴＳＣＬＫ）と共に送られてくるＭＰＥＧ２−ＴＳデータ（ＴＳＤＡＴＡ）を、ＴＳＣＬＫで取り込む。この際、ＴＳＤＡＴＡと同時に送られてくるデータバリッド（ＴＳＶＡＬＩＤ）を参照し、有効なデータである場合にのみ取り込みを行う。また、取り込み単位は、１バイト単位又は１ビット単位となり、選択が可能である。
【０１３６】
ＭＰＥＧ２−ＴＳパケットの先頭データである「４７」コードを検索し、１８８バイト毎に「４７」コードが存在することを確認し、同期捕捉を行う。
【０１３７】
同期捕捉候補処理を高速化させるため、独立で動作する複数個のカウンタを搭載し、複数個の同期捕捉候補を扱う。いずれかの同期捕捉候補の同期捕捉が成立した段階で、他の同期捕捉候補をキャンセルする。
【０１３８】
同期捕捉が成立すると、ＭＰＥＧ２−ＴＳパケットのデータを、先頭の「４７」コードから順に、１８８バイトのメモリ１に格納し始める。
【０１３９】
１８８バイトのメモリ１は２面あり、１面全ての書き込みが終了した面は、後段のパイプラインステージからの読み出し面に切り替わる。
【０１４０】
ＤＥＭＵＸ部７の後段にも片面１８８バイトの２面メモリ３ａ〜３ｃを配備し、Ｄステージを構成している。
【０１４１】
Ｄステージでは、以下の処理が行われる。
【０１４２】
ＩＦステージの後段に設けられている１８８バイトの２面メモリ１のうち、書き込みが終了している面から、ＭＰＥＧ２−ＴＳデータを順次読み出す。
【０１４３】
読み出したＭＰＥＧ２−ＴＳパケットデータのうち、ＴＳヘッダ部と、もし存在すればアダプテーション領域の制御データを、ＴＳ解析用レジスタ７ａ１に順次セットする。
【０１４４】
この読み出しアドレスは、ＭＰＥＧ２−ＴＳパケットの１８８バイトのうち、どのバイトを読み出しているかの識別に用いられる。
【０１４５】
ＤステージでのＭＰＥＧ２−ＴＳ解析、抽出分離のベースは、上記１８８バイトの２面メモリ１からの読み出しアドレスと、上記ＴＳ解析用レジスタ７ａ１の値とを参照し、ＭＰＥＧ２−ＴＳパケットのデータ構造の解析が進められる。
【０１４６】
２面メモリ１からの読み出しアドレスが、ＰＩＤを読み出し終了時点まで進んだ段階で、抽出分離指定されているＰＩＤであるかどうかの判定が行われる。
【０１４７】
このＰＩＤ判定では、セクション系かＰＥＳ系か、ＰＥＳ系である場合は、独立ＰＥＳ系か、オーディオ系か、ビデオ系かの判定が行われる。
【０１４８】
トランスポートスクランブルコントロール、アダプテーションフィールドコントロール、コンティニュティカウンター値を、ＴＳ解析用レジスタ７ａ１にセットする。
【０１４９】
コンティニュティカウンター値とアダプテーションフィールドコントロール値とをチェックし、廃棄対象のペイロードを持ったＭＰＥＧ２−ＴＳパケットであるかどうかの判定と、アダプテーション領域の有無、ペイロードの有無が判断される。
【０１５０】
次に、アダプテーションフィールドが存在する場合は、引き続きＴＳ解析用レジスタ７ａ１にアダプテーション領域のデータをセットする。
【０１５１】
アダプテーション領域の先頭はアダプテーションレングスであり、このレングスをチェックして、その値が０でなければ、アダプテーションレングス値をアダプテーションレングスカウンタへセットし、ダウンカウントを開始する。アダプテーションレングスが０である場合は、次のバイトは、セクション系データの場合はポインタフィールドとなり、ＰＥＳ系データの場合はＰＥＳの先頭バイトであると判断する。
【０１５２】
アダプテーションレングスが０でない場合は、次のバイトが、ＰＣＲフラグ（ＰＣＲを含んだＭＰＥＧ２−ＴＳパケットかどうかの識別子）とか、含んでいるＰＣＲが不連続ＰＣＲであるかどうかの識別子であるディスコンティニュティインディケータを、ＴＳ解析用レジスタ７ａ１にセットする。
【０１５３】
ＰＣＲフラグで、ＰＣＲがあることが判明すれば、ＰＣＲの抽出を行う。この時、システムデコーダ１００ｂの時計であるＳＴＣへＰＣＲ値をロードするか否かは、ＰＣＲのロード制御レジスタ値によって制御される。
【０１５４】
ディスコンティニュティインディケータがセットされていれば、ＭＰＥＧ２−ＴＳパケットに含まれているＰＣＲが、不連続ＰＣＲであると判断する。不連続ＰＣＲのＳＴＣへのロード制御は、ＰＣＲのロード制御レジスタ値によって制御される。
【０１５５】
不連続ＰＣＲのＳＴＣへのロードは、ＳＤＲＡＭ４に既に蓄えられているビデオＥＳ、オーディオＥＳのタイムスタンプ値との関係が不連続になることも意味しているので、既に蓄えられているＡＶフレームデータ（ビデオＥＳ／オーディオＥＳ）に対応したタイムスタンプのＶａｌｉｄビットを無効化する。ここで、このＶａｌｉｄビットは、タイムスタンプ値が有効か無効かの識別に用いられる。有効な場合は、システムデコーダ１００ｂからフレームデータを出力すべき時刻まで待たせる処理を行う時に、ＳＴＣとの比較に用いるタイムスタンプ値として利用される。無効な場合は、出力すべき時刻まで待たせる処理は行われない。
【０１５６】
アダプテーションフィールドが終了すると、ＰＩＤフィルタリングの結果が、セクション系であるか、ＰＥＳ系であるかで、処理が分岐される。
【０１５７】
ＴＳヘッダ部のユニットスタートインディケータがセットされている場合は、セクション系の場合はセクションの先頭データを含むため、ペイロードの前に１バイトのポインタフィールドがあると判断される。また、ＰＥＳ系の場合はペイロードの先頭からＰＥＳデータが格納されていると判断される。
【０１５８】
セクション系の場合は、セクション解析用レジスタ７ａ２に、セクションヘッダ部がセットされる。
【０１５９】
セクションの先頭バイトはテーブルＩＤである。セクションのフィルタリングは、セクションヘッダ部が揃ってから実施されるが、テーブルＩＤでＭＰＥＧ２−ＴＳパケットが終了する場合もある。この場合は、ＰＩＤとテーブルＩＤとでのフィルタリングを実施し、継続フラグが立っているかどうかを確認した後、継続フラグがセットされていなければ、セクション用フィルタのどの番号のフィルタでＭＰＥＧ２−ＴＳパケットを跨いだセクションを受信したかを記憶しておくための継続フラグをセットする。
【０１６０】
ここで、継続フラグは、全てのフィルタに対で装備される。
【０１６１】
継続フラグのクリアは、継続フラグがセットされているフィルタにヒットしたＭＰＥＧ２−ＴＳパケットに格納されている、ＴＳヘッダ部のユニットスタートインディケータが１であった場合に実施する。このＭＰＥＧ２−ＴＳパケットで継続してきたセクションが終了し、新たなセクションが格納されていると判断し、継続フラグがクリアされる。
【０１６２】
ここで、ＭＰＥＧ２−ＴＳパケットが、セクションヘッダ部の途中で終了する場合、次のＭＰＥＧ２−ＴＳパケットデータが、続きのパケットデータとは限らないため、セクション解析用レジスタ７ａ２は、レジスタセットとしてセクションフィルタ数分搭載されている。
【０１６３】
ＰＥＳ系の場合、ＰＥＳ解析用レジスタ７ａ３に、ＰＥＳヘッダ部がセットされる。
【０１６４】
ＰＥＳヘッダの先頭は、パケットスタートコードプリフィックスの固定コード「０００００１」となっている。ＰＥＳヘッダの先頭から８バイト目がＰＴＳＤＴＳフラグ（ＰＴＳ，ＤＴＳであるタイムスタンプを含んでいるか否かの識別子）であり、タイムスタンプを含んでいる場合は、抽出を行う予定とされる。
【０１６５】
次のバイトがＰＥＳヘッダ長であり、ＰＥＳヘッダ長の値が０でない場合は、ＰＥＳヘッダ長ダウンカウンタに値がセットされ、ダウンカウントが行われる。
【０１６６】
ＰＥＳヘッダ長のダウンカウントが終了した時点に、ＥＳデータの先頭バイトが存在する。
【０１６７】
ＥＳデータの抽出では、このＰＥＳヘッダ部の削除処理を実施することで、ＥＳ抽出が実現される。
【０１６８】
ＭＰＥＧ２−ＴＳパケットが、ＰＥＳヘッダ部の途中で終了した場合は、ＰＥＳヘッダ部のどのバイトから再開すればよいかは、ＰＥＳヘッダ長のダウンカウンタ値と、継続フラグとによって判別されることとなる。
【０１６９】
ここで、ＭＰＥＧ２−ＴＳパケットが、ＰＥＳヘッダ部の途中で終了する場合、次のＭＰＥＧ２−ＴＳパケットデータが、続きのパケットデータとは限らないため、ＰＥＳヘッダ解析用レジスタ７ａ３は、レジスタセットとして、ＰＩＤ設定できるＰＥＳフィルタ数分搭載されている。
【０１７０】
セクション系、ＰＥＳ系いずれの場合も、１８８バイトのメモリ１からの読み出しアドレスで、ＭＰＥＧ２−ＴＳパケットのどのバイトを処理しているか、ＭＰＥＧ２−ＴＳの終了を認識し、継続フラグをセットするか否かの判定が行われる。
【０１７１】
その後、ＭｅｄｉａＩ／Ｆ部８からＳＤＲＡＭ４への書き込みが、ＳＤＲＡＭ書き込みステージ（Ｗステージ）となる。
【０１７２】
Ｗステージでは、以下の処理が行われる。
【０１７３】
Ｄステージの後段に設けられている１８８バイトの２面メモリ３ａ〜３ｃのうち、書き込みが終了している面のデータが、ＳＤＲＡＭ４へ書き込まれる。
【０１７４】
書き込み単位は、セクション、ＰＥＳ、ＥＳいずれも、ＭＰＥＧ２−ＴＳパケットの１８８バイトから抽出分離したデータ単位となる。ここで、セクションの場合は、１３バイトのものもあり、Ｗステージでの最大書き込み先（ＳＤＲＡＭ４での書き込み先領域）数は、１４個となる。ＰＥＳ系の場合、Ｗステージでの最大書き込み先（ＳＤＲＡＭ４での書き込み先領域）数は、１個となる。これは、ＰＥＳ系の場合は一つのＭＰＥＧ２−ＴＳパケットに複数個のＰＥＳパケットが格納されていることがないためである。
【０１７５】
Ｗステージの期間内に、ＳＤＲＡＭ４への書き込みが終了しない場合は、１８８バイトの２面メモリ３ａ〜３ｃが破綻するので、バスエラー割り込みが発生される。
【０１７６】
これら各ステージに存在する２面メモリ１，３ａ〜３ｃで、ＴＳパケット単位（１８８バイト単位）のパイプライン動作が区切られている。以上が、システムデコーダ１００ｂの前半処理部となる。システムデコーダ１００ｂの前半処理部の３段パイプライン動作は、図４に示した通りである。
【０１７７】
（３）システムデコーダ１００ｂの後半処理部
図２１は、システムデコーダ１００ｂの後半処理部の基本構成を示すブロック図である。システムデコーダ１００ｂの後半処理部では、ＳＤＲＡＭ４に書き込まれたデータが読み出され、ＡＶ同期をとって、システムデコーダ１００ｂから出力される。ここで、ＳＤＲＡＭ４からの読み出し以降の処理は、ＴＳパケット単位のパイプライン動作とは無関係に動作する。
【０１７８】
（４）Ｄｅｍｕｘ処理
（４−１）ＤＥＭＵＸ部７の構成
以下、主にＰＥＳデコーダからＥＳ抽出処理を含めたＤｅｍｕｘ処理について説明する。ここでは、ＤＥＭＵＸ部７のＤステージの動作説明を行う。Ｄステージには、ＰＩＤフィルタ動作部７ｂ、ＴＳ解析部７ａ、Section解析部７ａ２、ＰＥＳ解析部７ａ３、及び分離結果を一時記憶しておくためのＳＲＡＭ部３ａ〜３ｃがある。Ｄステージ及びＷステージの動作を示すタイミングチャートは、図９に示した通りである。
【０１７９】
（４−２）ＤＥＭＵＸ部７の処理
ＴＳ−ＩＦ部５の後段に接続されている２面メモリ１から、ＴＳパケットデータが１パケット分（０バイト目から１８７バイト目まで）読み出される。この読み出しのアドレスで、ＴＳパケットの先頭から何番目のデータであるかが識別される。このＴＳパケットは、読み出しアドレス値に応じて、ＴＳ解析部７ａに設けられているレジスタ７ａ１に格納される。ＴＳ解析部７ａで格納対象とされているＴＳデータは、ＴＳヘッダ部のデータと、アダプテーションに相当するデータの一部、及び、セクションの場合はポインタフィールドが保持される。
【０１８０】
ここで、ＴＳ解析部７ａのレジスタ７ａ１にＰＩＤまでの情報が書き込まれた段階で、ＴＳパケットの種別の大分類（セクションか、ビデオか、オーディオか、独立ＰＥＳか）が行われる。この結果によって、セクション系かＰＥＳ系（ビデオ、オーディオ、独立ＰＥＳ）かの識別が可能である。この結果を利用して、セクション解析部のレジスタ７ａ２を用いるのか、ＰＥＳ解析部のレジスタ７ａ３を用いるのかが判断される。
【０１８１】
ＰＥＳ系であった場合、このＰＥＳ解析部のレジスタ７ａ３に、ＰＥＳヘッダに対応する情報のうち必要な部分（ＰＥＳ先頭から１３バイトで、ＰＥＳヘッダ長を含む）のみが格納される。ここで、アダプテーションのサイズによっては、ＰＥＳのヘッダがＴＳパケットの単位（１８８バイト）よりも大きい場合があり得る。従って、ＰＥＳデコードを行うフィルタ数分のレジスタ７ａ３が搭載されており、各レジスタ７ａ３は、書き込んだ位置を把握できるＰＥＳヘッダライトポインタを有している。ＴＳパケットを跨いだ場合は、このＰＥＳヘッダライトポインタが停止される。ここで、ＴＳパケットが終了するまでにＰＥＳヘッダ長のダウンカウンタ値が終了しなかった場合には、ＰＥＳヘッダ部でＴＳパケットを跨ったことになる。一方、ＴＳパケットが終了するまでにＰＥＳヘッダ長のダウンカウンタが終了した場合には、ＰＥＳヘッダ部以降でＴＳパケットを跨いだことになる。ＰＥＳヘッダ長のダウンカウンタ終了時点で、ＰＥＳヘッダライトポインタはクリアされる。継続して受信再開する場合の動作は、ＰＩＤでのフィルタヒット判定と、ＰＩＤ別で管理しているＰＥＳヘッダライトポインタとを参照することで、ＰＥＳヘッダの情報抽出を再開可能となる。なお、ＰＥＳはＰＩＤのみでフィルタリングが可能なため、特に継続フラグは必要ない。
【０１８２】
セクション系であった場合、セクション解析部のレジスタ７ａ２に、セクションヘッダに対応する情報のうち必要な部分（セクションの先頭から６バイト分。但しセクション長にも依存する）のみが格納される。ここで、アダプテーションのサイズに依存して、セクションヘッダ部に相当するデータをセクション解析部のレジスタ７ａ２に格納終了する前に、ＴＳパケットが終了してしまうことがあり得る。そのため、セクション解析部でも、セクションヘッダをどこまで書き込んだかを把握できるように、セクションヘッダライトポインタを各々持つとともに、フィルタ番号毎に継続フラグが設けられている。セクションヘッダライトポインタ値と継続フラグとを参照することで、ＴＳパケットを跨いだ後、暫くして後続のセクション部のデータを受信した場合であっても、セクションヘッダの情報抽出を再開可能となる。
【０１８３】
次に、ＴＳパケット単位を超えた場合の処理について説明する。
【０１８４】
セクション系の場合、受信したセクションデータが、ＴＳパケットに納まるデータであるか、納まらないデータであるかの判断は、（ａ）セクションヘッダ部をセクション解析部のレジスタ７ａ２に格納終了できたかどうかの判断と、（ｂ）セクションヘッダ部に存在するセクション長情報により、ＴＳパケット終了時点（１８８バイト目）で、セクション長のダウンカウントが終了しているかどうかとの判断とによって行われる。ＴＳパケットに納まっていないと判断された場合は、フィルタにヒットしている番号の継続フラグをセットするとともに、セクション長のダウンカウンタ値をクリアする。
【０１８５】
なお、継続フラグのクリアは、同一フィルタにヒットしたＴＳパケットの、ＴＳヘッダ情報部にあるunit_start_indicatorの値が１である場合、このＴＳパケットで、継続してきたセクションが終了するとともに、新たなセクションが格納されていると判断する。ここで、新たなセクションの開始位置は、pointer_fieldで示される。
【０１８６】
ＰＥＳ系の場合、受信したＰＥＳデータが、ＴＳパケットに納まるデータであるか、納まらないデータであるかの判断は、ＰＥＳヘッダ部についてのみ実施される。
【０１８７】
ＰＥＳヘッダライトポインタ（ＰＥＳヘッダをどこまでＰＥＳ解析部のレジスタ７ａ３に格納できたかを示すポインタ。ＰＥＳヘッダ長による終了で、ＰＥＳヘッダ終了と判断される。）が終了していない状態で、ＴＳパケットが終了（１８８バイト目）した場合、ＰＥＳヘッダがＴＳパケットを跨ったと判断し、フィルタにヒットしている番号の継続フラグがセットされる。この継続フラグは、ＰＥＳ解析部で複数セット設けられているレジスタセットのうちのどのレジスタセットかを識別するのに用いられる。
【０１８８】
ＰＥＳヘッダ解析部が持っている継続フラグは、ＰＥＳヘッダ部をＰＥＳ解析部のレジスタ７ａ３に格納終了すると、クリアされる。
【０１８９】
ＰＥＳヘッダ部以降のＰＥＳデータ自体は、ＰＩＤのみで分離識別可能であるため、ＰＥＳの長さ情報は参照されない。その代わり、ＴＳパケットヘッダ部にあるunit_start_indicatorでＰＥＳの先頭を識別し、ＰＥＳデータの先頭から分離抽出が行われる。
【０１９０】
以下、抽出分離結果を一時保持するためのＳＲＡＭ（２面メモリ）３ａ〜３ｃについて説明する。
【０１９１】
１８８バイトの塊であるＴＳパケットから必要なデータがフィルタリングされ、分離抽出対象と判断されたデータが、ＳＲＡＭ３ａ〜３ｃに格納される。図２０には、セクション／独立ＰＥＳ系に対して２面ＳＲＡＭ（１８８バイトのメモリ×２個）３ａ、オーディオ系に対して２面ＳＲＡＭ（１８８バイトのメモリ×２個）３ｂ、ビデオ系に対して２面ＳＲＡＭ（１８８バイトのメモリ×２個）３ｃが設けられた構成が示されているが、後述の実施の形態３で説明する通り、本質的には１８８バイトのＳＲＡＭが２個あれば十分である。
【０１９２】
（５）Ｗステージの処理
Ｗステージでは、Ｄステージの最終段にある１８８バイトの２面メモリ３ａ〜３ｃからＳＤＲＡＭ４へのデータの転送及び書き込みが行われる。Ｗステージも、１ＴＳパケット期間のステージとなる。ＳＲＡＭ３ａ〜３ｃからＳＤＲＡＭ４へ書き込まれるデータには、セクション、独立ＰＥＳ、オーディオＰＥＳ、及びビデオＥＳがある。
【０１９３】
セクションの書き込みでは、ＳＤＲＡＭ４の複数領域への書き込みが発生する場合がある。マルチセクションにおいては、１ＴＳパケット内に複数個の異なるセクションが格納されている場合があり、この場合はＳＤＲＡＭ４への書き込み領域がセクションごとに異なるためである。
【０１９４】
独立ＰＥＳ、オーディオＰＥＳ、及びビデオＥＳの場合は、１ＴＳパケット期間単位の動作において、ＳＤＲＡＭ４への書き込み領域が異なる事態は発生しない。
【０１９５】
以上により、ＰＥＳデータからＰＥＳヘッダ部を削除した後のＥＳデータを抽出してＳＤＲＡＭ４に蓄えることができ、時刻管理を行いながらＳＤＲＡＭ４から必要なデータを読み出して、後段のビデオデコーダやオーディオデコーダにＥＳを提供できるシステムデコーダ１００ｂを構成することができる。
【０１９６】
本実施の形態２に係るシステムデコーダ１００ｂによると、ＴＳパケット単位で処理が完結するパイプライン動作が可能であるため、ＰＥＳデコーダ専用の大規模なメモリが不要となる。そのため、オンチップ又はオフチップでＰＥＳデコード用メモリを構成した場合と比較して、チップ製造コストを低減できる効果がある。また、ＰＥＳデコーダ専用の大規模メモリが不要となるため、このメモリへのアクセスが削減できる。そのため、外部バスの帯域を他のアクセスへ割り振ることが可能となる。例えば、ＣＰＵがＳＤＲＡＭ４をワークメモリとして用いるためのアクセス帯域として割り振ることも可能となる。しかも、外部メモリアクセスが低減したので、外部アクセス周波数を下げることが可能となって消費電力が低減されるとともに、外部ピン数を削減できるためチップ製造コストを低減できる。
【０１９７】
しかも、図７に示した上記実施の形態１に係るシステムデコーダ１００ａから、デスクランブル部６及び２面メモリ２が省略されているため、システムデコーダ１００ａと比較して回路規模を削減することができる。
【０１９８】
実施の形態３．
（１）システムデコーダ１００ｃの基本構成
図２２は、本発明の実施の形態３に係るシステムデコーダ１００ｃの前半処理部の構成を示すブロック図である。図２２に示すように、システムデコーダ１００ｃの前半処理部は、ＭＰＥＧ２−ＴＳ入力を受けて１８８バイトの同期をとるＴＳ−ＩＦ部５と、ＴＳ−ＩＦ部５の出力を受けて暗号を解読するデスクランブル部６と、デスクランブル部６の出力を受けてＤｅｍｕｘ処理を行うＤＥＭＵＸ部７と、ＤＥＭＵＸ部７から出力されたデータをＳＤＲＡＭ４に書き込むＭｅｄｉａＩ／Ｆ部８とを備えて構成されている。ＭｅｄｉａＩ／Ｆ部８は、書き込み部８ａとＭｅｄｉａＢｕｓＩ／Ｆ部８ｂとを有している。
【０１９９】
まず、システムデコーダ１００ｃにおけるＴＳパケット単位でのパイプライン構成を説明し、その後、ＰＥＳデコーダまで含めたＤｅｍｕｘ処理を可能としているアーキテクチャについて説明する。
【０２００】
（２）システムデコーダ１００ｃのパイプライン構成
システムデコーダ１００ｃのＴＳパケット単位でのパイプライン動作としては、ＴＳ−ＩＦ部５の後段に片面１８８バイトの２面メモリ１を配備し、ＩＦステージを構成している。
【０２０１】
ＩＦステージでは、以下の処理が行われる。
【０２０２】
入力クロック（ＴＳＣＬＫ）と共に送られてくるＭＰＥＧ２−ＴＳデータ（ＴＳＤＡＴＡ）を、ＴＳＣＬＫで取り込む。この際、ＴＳＤＡＴＡと同時に送られてくるデータバリッド（ＴＳＶＡＬＩＤ）を参照し、有効なデータである場合にのみ取り込みを行う。また、取り込み単位は、１バイト単位又は１ビット単位となり、選択が可能である。
【０２０３】
ＭＰＥＧ２−ＴＳパケットの先頭データである「４７」コードを検索し、１８８バイト毎に「４７」コードが存在することを確認し、同期捕捉を行う。
【０２０４】
同期捕捉候補処理を高速化させるため、独立で動作する複数個のカウンタを搭載し、複数個の同期捕捉候補を扱う。いずれかの同期捕捉候補の同期捕捉が成立した段階で、他の同期捕捉候補をキャンセルする。
【０２０５】
同期捕捉が成立すると、ＭＰＥＧ２−ＴＳパケットのデータを、先頭の「４７」コードから順に、１８８バイトのメモリ１に格納し始める。
【０２０６】
１８８バイトのメモリ１は２面あり、１面全ての書き込みが終了した面は、後段のパイプラインステージからの読み出し面に切り替わる。
【０２０７】
デスクランブル部６の後段にも片面１８８バイトの２面メモリ２を配備し、Ｓステージを構成している。
【０２０８】
Ｓステージでは、以下の処理が行われる。
【０２０９】
ＩＦステージの後段に設けられている１８８バイトの２面メモリ１のうち、書き込みが終了している面からＭＰＥＧ２−ＴＳデータを順次読み出す。
【０２１０】
スクランブル解除指定のＰＩＤを持っているＭＰＥＧ２−ＴＳパケットであるか否かの判定を実施する。
【０２１１】
スクランブル解除指定のＰＩＤを持っているＭＰＥＧ２−ＴＳパケットであった場合は、ＭＰＥＧ２−ＴＳパケットのＰａｙｌｏａｄに対して、スクランブル解除処理を実施する。
【０２１２】
１バイト単位に複数クロックかけてデスクランブル処理を行うことにより、１８８バイトのデータのスクランブル解除処理を行う。
【０２１３】
スクランブル解除されたデータを、ＭＰＥＧ２−ＴＳの先頭バイトから、１８８バイトのメモリ２に格納し始める。
【０２１４】
１８８バイトのメモリ２は２面あり、１面全ての書き込みが終了した面は、後段のパイプラインステージからの読み出し面に切り替わる。
【０２１５】
デスクランブル処理対象外のＭＰＥＧ２−ＴＳデータである場合は、スクランブル解除処理を実施しないで、１８８バイトのメモリ２へ書き込む。例えば、ＴＳパケットのヘッダ情報や、ＰＩＤで指定されていないＭＰＥＧ２−ＴＳパケットの場合は、スクランブル解除処理を実施しないで、１８８バイトのメモリ２へ書き込まれる。
【０２１６】
デスクランブル処理対象外のデータは、デスクランブル処理対象のデータと同じレイテンシとする。換言すれば、ＭＰＥＧ２−ＴＳデータのデスクランブル部６を通過する時間は、デスクランブル処理を実施した場合も実施しなかった場合も、いずれも同じ所要時間となる。
【０２１７】
さらに、ＤＥＭＵＸ部７の後段にも片面１８８バイトの２面メモリ３ａを配備し、Ｄステージを構成している。
【０２１８】
Ｄステージでは、以下の処理が行われる。
【０２１９】
デスクランブルステージの後段に設けられている１８８バイトの２面メモリ２のうち、書き込みが終了している面から、スクランブル解除されたＭＰＥＧ２−ＴＳデータを順次読み出す。
【０２２０】
読み出したＭＰＥＧ２−ＴＳパケットデータのうち、ＴＳヘッダ部と、もし存在すればアダプテーション領域の制御データを、ＴＳ解析用レジスタ７ａ１に順次セットする。
【０２２１】
この読み出しアドレスは、ＭＰＥＧ２−ＴＳパケットの１８８バイトのうち、どのバイトを読み出しているかの識別に用いられる。
【０２２２】
ＤステージでのＭＰＥＧ２−ＴＳ解析、抽出分離のベースは、上記１８８バイトの２面メモリ２からの読み出しアドレスと、上記ＴＳ解析用レジスタ７ａ１の値とを参照し、ＭＰＥＧ２−ＴＳパケットのデータ構造の解析が進められる。
【０２２３】
２面メモリ２からの読み出しアドレスが、ＰＩＤを読み出し終了時点まで進んだ段階で、抽出分離指定されているＰＩＤであるかどうかの判定が行われる。
【０２２４】
このＰＩＤ判定では、セクション系かＰＥＳ系か、ＰＥＳ系である場合は、独立ＰＥＳ系か、オーディオ系か、ビデオ系かの判定が行われる。
【０２２５】
トランスポートスクランブルコントロール、アダプテーションフィールドコントロール、コンティニュティカウンター値を、ＴＳ解析用レジスタ７ａ１にセットする。
【０２２６】
コンティニュティカウンター値とアダプテーションフィールドコントロール値とをチェックし、廃棄対象のペイロードを持ったＭＰＥＧ２−ＴＳパケットであるかどうかの判定と、アダプテーション領域の有無、ペイロードの有無が判断される。
【０２２７】
次に、アダプテーションフィールドが存在する場合は、引き続きＴＳ解析用レジスタ７ａ１にアダプテーション領域のデータをセットする。
【０２２８】
アダプテーション領域の先頭はアダプテーションレングスであり、このレングスをチェックして、その値が０でなければ、アダプテーションレングス値をアダプテーションレングスカウンタへセットし、ダウンカウントを開始する。アダプテーションレングスが０である場合は、次のバイトは、セクション系データの場合はポインタフィールドとなり、ＰＥＳ系データの場合はＰＥＳの先頭バイトであると判断する。
【０２２９】
アダプテーションレングスが０でない場合は、次のバイトが、ＰＣＲフラグ（ＰＣＲを含んだＭＰＥＧ２−ＴＳパケットかどうかの識別子）とか、含んでいるＰＣＲが不連続ＰＣＲであるかどうかの識別子であるディスコンティニュティインディケータを、ＴＳ解析用レジスタ７ａ１にセットする。
【０２３０】
ＰＣＲフラグで、ＰＣＲがあることが判明すれば、ＰＣＲの抽出を行う。この時、システムデコーダ１００ｃの時計であるＳＴＣへＰＣＲ値をロードするか否かは、ＰＣＲのロード制御レジスタ値によって制御される。
【０２３１】
ディスコンティニュティインディケータがセットされていれば、ＭＰＥＧ２−ＴＳパケットに含まれているＰＣＲが、不連続ＰＣＲであると判断する。不連続ＰＣＲのＳＴＣへのロード制御は、ＰＣＲのロード制御レジスタ値によって制御される。
【０２３２】
不連続ＰＣＲのＳＴＣへのロードは、ＳＤＲＡＭ４に既に蓄えられているビデオＥＳ、オーディオＥＳのタイムスタンプ値との関係が不連続になることも意味しているので、既に蓄えられているＡＶフレームデータ（ビデオＥＳ／オーディオＥＳ）に対応したタイムスタンプのＶａｌｉｄビットを無効化する。ここで、このＶａｌｉｄビットは、タイムスタンプ値が有効か無効かの識別に用いられる。有効な場合は、システムデコーダ１００ｃからフレームデータを出力すべき時刻まで待たせる処理を行う時に、ＳＴＣとの比較に用いるタイムスタンプ値として利用される。無効な場合は、出力すべき時刻まで待たせる処理は行われない。
【０２３３】
アダプテーションフィールドが終了すると、ＰＩＤフィルタリングの結果が、セクション系であるか、ＰＥＳ系であるかで、処理が分岐される。
【０２３４】
ＴＳヘッダ部のユニットスタートインディケータがセットされている場合は、セクション系の場合はセクションの先頭データを含むため、ペイロードの前に１バイトのポインタフィールドがあると判断される。また、ＰＥＳ系の場合はペイロードの先頭からＰＥＳデータが格納されていると判断される。
【０２３５】
セクション系の場合は、セクション解析用レジスタ７ａ２に、セクションヘッダ部がセットされる。
【０２３６】
セクションの先頭バイトはテーブルＩＤである。セクションのフィルタリングは、セクションヘッダ部が揃ってから実施されるが、テーブルＩＤでＭＰＥＧ２−ＴＳパケットが終了する場合もある。この場合は、ＰＩＤとテーブルＩＤとでのフィルタリングを実施し、継続フラグが立っているかどうかを確認した後、継続フラグがセットされていなければ、セクション用フィルタのどの番号のフィルタでＭＰＥＧ２−ＴＳパケットを跨いだセクションを受信したかを記憶しておくための継続フラグをセットする。
【０２３７】
ここで、継続フラグは、全てのフィルタに対で装備される。
【０２３８】
継続フラグのクリアは、継続フラグがセットされているフィルタにヒットしたＭＰＥＧ２−ＴＳパケットに格納されている、ＴＳヘッダ部のユニットスタートインディケータが１であった場合に実施する。このＭＰＥＧ２−ＴＳパケットで継続してきたセクションが終了し、新たなセクションが格納されていると判断し、継続フラグがクリアされる。
【０２３９】
ここで、ＭＰＥＧ２−ＴＳパケットが、セクションヘッダ部の途中で終了する場合、次のＭＰＥＧ２−ＴＳパケットデータが、続きのパケットデータとは限らないため、セクション解析用レジスタ７ａ２は、レジスタセットとしてセクションフィルタ数分搭載されている。
【０２４０】
ＰＥＳ系の場合、ＰＥＳ解析用レジスタ７ａ３に、ＰＥＳヘッダ部がセットされる。
【０２４１】
ＰＥＳヘッダの先頭は、パケットスタートコードプリフィックスの固定コード「０００００１」となっている。ＰＥＳヘッダの先頭から８バイト目がＰＴＳＤＴＳフラグ（ＰＴＳ，ＤＴＳであるタイムスタンプを含んでいるか否かの識別子）であり、タイムスタンプを含んでいる場合は、抽出を行う予定とされる。
【０２４２】
次のバイトがＰＥＳヘッダ長であり、ＰＥＳヘッダ長の値が０でない場合は、ＰＥＳヘッダ長ダウンカウンタに値がセットされ、ダウンカウントが行われる。
【０２４３】
ＰＥＳヘッダ長のダウンカウントが終了した時点に、ＥＳデータの先頭バイトが存在する。
【０２４４】
ＥＳデータの抽出では、このＰＥＳヘッダ部の削除処理を実施することで、ＥＳ抽出が実現される。
【０２４５】
ＭＰＥＧ２−ＴＳパケットが、ＰＥＳヘッダ部の途中で終了した場合は、ＰＥＳヘッダ部のどのバイトから再開すればよいかは、ＰＥＳヘッダ長のダウンカウンタ値と、継続フラグとによって判別されることとなる。
【０２４６】
ここで、ＭＰＥＧ２−ＴＳパケットが、ＰＥＳヘッダ部の途中で終了する場合、次のＭＰＥＧ２−ＴＳパケットデータが、続きのパケットデータとは限らないため、ＰＥＳヘッダ解析用レジスタ７ａ３は、レジスタセットとして、ＰＩＤ設定できるＰＥＳフィルタ数分搭載されている。
【０２４７】
セクション系、ＰＥＳ系いずれの場合も、１８８バイトのメモリ２からの読み出しアドレスで、ＭＰＥＧ２−ＴＳパケットのどのバイトを処理しているか、ＭＰＥＧ２−ＴＳの終了を認識し、継続フラグをセットするか否かの判定が行われる。
【０２４８】
その後、ＭｅｄｉａＩ／Ｆ部８からＳＤＲＡＭ４への書き込みが、ＳＤＲＡＭ書き込みステージ（Ｗステージ）となる。
【０２４９】
Ｗステージでは、以下の処理が行われる。
【０２５０】
Ｄステージの後段に設けられている１８８バイトの２面メモリ３ａのうち、書き込みが終了している面のデータが、ＳＤＲＡＭ４へ書き込まれる。
【０２５１】
書き込み単位は、セクション、ＰＥＳ、ＥＳいずれも、ＭＰＥＧ２−ＴＳパケットの１８８バイトから抽出分離したデータ単位となる。ここで、セクションの場合は、１３バイトのものもあり、Ｗステージでの最大書き込み先（ＳＤＲＡＭ４での書き込み先領域）数は、１４個となる。ＰＥＳ系の場合、Ｗステージでの最大書き込み先（ＳＤＲＡＭ４での書き込み先領域）数は、１個となる。これは、ＰＥＳ系の場合は一つのＭＰＥＧ２−ＴＳパケットに複数個のＰＥＳパケットが格納されていることがないためである。
【０２５２】
Ｗステージの期間内に、ＳＤＲＡＭ４への書き込みが終了しない場合は、１８８バイトの２面メモリ３ａが破綻するので、バスエラー割り込みが発生される。
【０２５３】
これら各ステージに存在する２面メモリ１，２，３ａで、ＴＳパケット単位（１８８バイト単位）のパイプライン動作が区切られている。以上が、システムデコーダ１００ｃの前半処理部となる。システムデコーダ１００ｃの前半処理部の４段パイプライン動作は、図２に示した通りである。
【０２５４】
（３）システムデコーダ１００ｃの後半処理部
システムデコーダ１００ｃの後半処理部の基本構成は、図２１に示したブロック図の通りである。システムデコーダ１００ｃの後半処理部では、ＳＤＲＡＭ４に書き込まれたデータが読み出され、ＡＶ同期をとって、システムデコーダ１００ｃから出力される。ここで、ＳＤＲＡＭ４からの読み出し以降の処理は、ＴＳパケット単位のパイプライン動作とは無関係に動作する。
【０２５５】
（４）Ｄｅｍｕｘ処理
（４−１）ＤＥＭＵＸ部７の構成
以下、主にＰＥＳデコーダからＥＳ抽出処理を含めたＤｅｍｕｘ処理について説明する。ここでは、ＤＥＭＵＸ部７のＤステージの動作説明を行う。Ｄステージには、ＰＩＤフィルタ動作部７ｂ、ＴＳ解析部７ａ、Section解析部７ａ２、ＰＥＳ解析部７ａ３、及び分離結果を一時記憶しておくためのＳＲＡＭ部３ａがある。Ｄステージ及びＷステージの動作を示すタイミングチャートは、図９に示した通りである。
【０２５６】
（４−２）ＤＥＭＵＸ部７の処理
デスクランブル部６の後段に接続されている２面メモリ２から、ＴＳパケットデータが１パケット分（０バイト目から１８７バイト目まで）読み出される。この読み出しのアドレスで、ＴＳパケットの先頭から何番目のデータであるかが識別される。このＴＳパケットは、読み出しアドレス値に応じて、ＴＳ解析部７ａに設けられているレジスタ７ａ１に格納される。ＴＳ解析部７ａで格納対象とされているＴＳデータは、ＴＳヘッダ部のデータと、アダプテーションに相当するデータの一部、及び、セクションの場合はポインタフィールドが保持される。
【０２５７】
ここで、ＴＳ解析部７ａのレジスタ７ａ１にＰＩＤまでの情報が書き込まれた段階で、ＴＳパケットの種別の大分類（セクションか、ビデオか、オーディオか、独立ＰＥＳか）が行われる。この結果によって、セクション系かＰＥＳ系（ビデオ、オーディオ、独立ＰＥＳ）かの識別が可能である。この結果を利用して、セクション解析部のレジスタ７ａ２を用いるのか、ＰＥＳ解析部のレジスタ７ａ３を用いるのかが判断される。
【０２５８】
ＰＥＳ系であった場合、このＰＥＳ解析部のレジスタ７ａ３に、ＰＥＳヘッダに対応する情報のうち必要な部分（ＰＥＳ先頭から１３バイトで、ＰＥＳヘッダ長を含む）のみが格納される。ここで、アダプテーションのサイズによっては、ＰＥＳのヘッダがＴＳパケットの単位（１８８バイト）よりも大きい場合があり得る。従って、ＰＥＳデコードを行うフィルタ数分のレジスタ７ａ３が搭載されており、各レジスタ７ａ３は、書き込んだ位置を把握できるＰＥＳヘッダライトポインタを有している。ＴＳパケットを跨いだ場合は、このＰＥＳヘッダライトポインタが停止される。ここで、ＴＳパケットが終了するまでにＰＥＳヘッダ長のダウンカウンタ値が終了しなかった場合には、ＰＥＳヘッダ部でＴＳパケットを跨ったことになる。一方、ＴＳパケットが終了するまでにＰＥＳヘッダ長のダウンカウンタが終了した場合には、ＰＥＳヘッダ部以降でＴＳパケットを跨いだことになる。ＰＥＳヘッダ長のダウンカウンタ終了時点で、ＰＥＳヘッダライトポインタはクリアされる。継続して受信再開する場合の動作は、ＰＩＤでのフィルタヒット判定と、ＰＩＤ別で管理しているＰＥＳヘッダライトポインタとを参照することで、ＰＥＳヘッダの情報抽出を再開可能となる。なお、ＰＥＳはＰＩＤのみでフィルタリングが可能なため、特に継続フラグは必要ない。
【０２５９】
セクション系であった場合、セクション解析部のレジスタ７ａ２に、セクションヘッダに対応する情報のうち必要な部分（セクションの先頭から６バイト分。但しセクション長にも依存する）のみが格納される。ここで、アダプテーションのサイズに依存して、セクションヘッダ部に相当するデータをセクション解析部のレジスタ７ａ２に格納終了する前に、ＴＳパケットが終了してしまうことがあり得る。そのため、セクション解析部でも、セクションヘッダをどこまで書き込んだかを把握できるように、セクションヘッダライトポインタを各々持つとともに、フィルタ番号毎に継続フラグが設けられている。セクションヘッダライトポインタ値と継続フラグとを参照することで、ＴＳパケットを跨いだ後、暫くして後続のセクション部のデータを受信した場合であっても、セクションヘッダの情報抽出を再開可能となる。
【０２６０】
次に、ＴＳパケット単位を超えた場合の処理について説明する。
【０２６１】
セクション系の場合、受信したセクションデータが、ＴＳパケットに納まるデータであるか、納まらないデータであるかの判断は、（ａ）セクションヘッダ部をセクション解析部のレジスタ７ａ２に格納終了できたかどうかの判断と、（ｂ）セクションヘッダ部に存在するセクション長情報により、ＴＳパケット終了時点（１８８バイト目）で、セクション長のダウンカウントが終了しているかどうかとの判断とによって行われる。ＴＳパケットに納まっていないと判断された場合は、フィルタにヒットしている番号の継続フラグをセットするとともに、セクション長のダウンカウンタ値をクリアする。
【０２６２】
なお、継続フラグのクリアは、同一フィルタにヒットしたＴＳパケットの、ＴＳヘッダ情報部にあるunit_start_indicatorの値が１である場合、このＴＳパケットで、継続してきたセクションが終了するとともに、新たなセクションが格納されていると判断する。ここで、新たなセクションの開始位置は、pointer_fieldで示される。
【０２６３】
ＰＥＳ系の場合、受信したＰＥＳデータが、ＴＳパケットに納まるデータであるか、納まらないデータであるかの判断は、ＰＥＳヘッダ部についてのみ実施される。
【０２６４】
ＰＥＳヘッダライトポインタ（ＰＥＳヘッダをどこまでＰＥＳ解析部のレジスタ７ａ３に格納できたかを示すポインタ。ＰＥＳヘッダ長による終了で、ＰＥＳヘッダ終了と判断される。）が終了していない状態で、ＴＳパケットが終了（１８８バイト目）した場合、ＰＥＳヘッダがＴＳパケットを跨ったと判断し、フィルタにヒットしている番号の継続フラグがセットされる。この継続フラグは、ＰＥＳ解析部で複数セット設けられているレジスタセットのうちのどのレジスタセットかを識別するのに用いられる。
【０２６５】
ＰＥＳヘッダ解析部が持っている継続フラグは、ＰＥＳヘッダ部をＰＥＳ解析部のレジスタ７ａ３に格納終了すると、クリアされる。
【０２６６】
ＰＥＳヘッダ部以降のＰＥＳデータ自体は、ＰＩＤのみで分離識別可能であるため、ＰＥＳの長さ情報は参照されない。その代わり、ＴＳパケットヘッダ部にあるunit_start_indicatorでＰＥＳの先頭を識別し、ＰＥＳデータの先頭から分離抽出が行われる。
【０２６７】
セクション解析用レジスタ７ａ２周辺のブロック図を図１０に示し、ＰＥＳ解析用レジスタ７ａ３周辺のブロック図を図１１に示す。ＴＳデータの解析から、セクションの分離（先頭セクションの抽出）までの動作は、図１２に示したタイミングチャートの通りである。ＴＳデータの解析から、マルチセクションの抽出分離動作は、図１３に示したタイミングチャートの通りである。ＴＳデータの解析から、セクションの分離抽出時、セクションヘッダ部においてＴＳパケット（１８８バイト）が終了した場合の動は、図１４に示したタイミングチャートの通りである。ＴＳデータの解析から、セクションの分離抽出時、セクションの途中でＴＳパケット（１８８バイト）が終了した場合の動作は、図１５に示したタイミングチャートの通りである。ＴＳデータの解析から、ポインタフィールドで示されるデータより手前のデータの抽出分離動作は、図１６に示したタイミングチャートの通りである。セクションの抽出時、ポインタフィールドがない場合の動作は、図１７に示したタイミングチャートの通りである。セクションを含むＭＰＥＧ２−ＴＳの例を図１８に示し、ＰＥＳヘッダ部の例を図１９に示す。
【０２６８】
以下、抽出分離結果を一時保持するためのＳＲＡＭ（２面メモリ）３ａについて説明する。
【０２６９】
１８８バイトの塊であるＴＳパケットから必要なデータがフィルタリングされ、分離抽出対象と判断されたデータが、ＳＲＡＭ３ａに格納される。本実施の形態３に係るシステムデコーダ１００ｃでは、図２２に示したように、セクション／独立ＰＥＳ系、オーディオ系、及びビデオ系に共通する２面ＳＲＡＭ（１８８バイトのメモリ×２個）３ａが設けられている。
【０２７０】
（５）Ｗステージの処理
Ｗステージでは、Ｄステージの最終段にある１８８バイトの２面メモリ３ａからＳＤＲＡＭ４へのデータの転送及び書き込みが行われる。Ｗステージも、１ＴＳパケット期間のステージとなる。ＳＲＡＭ３ａからＳＤＲＡＭ４へ書き込まれるデータには、セクション、独立ＰＥＳ、オーディオＰＥＳ、及びビデオＥＳがある。
【０２７１】
セクションの書き込みでは、ＳＤＲＡＭ４の複数領域への書き込みが発生する場合がある。マルチセクションにおいては、１ＴＳパケット内に複数個の異なるセクションが格納されている場合があり、この場合はＳＤＲＡＭ４への書き込み領域がセクションごとに異なるためである。
【０２７２】
独立ＰＥＳ、オーディオＰＥＳ、及びビデオＥＳの場合は、１ＴＳパケット期間単位の動作において、ＳＤＲＡＭ４への書き込み領域が異なる事態は発生しない。
【０２７３】
以上により、ＰＥＳデータからＰＥＳヘッダ部を削除した後のＥＳデータを抽出してＳＤＲＡＭ４に蓄えることができ、時刻管理を行いながらＳＤＲＡＭ４から必要なデータを読み出して、後段のビデオデコーダやオーディオデコーダにＥＳを提供できるシステムデコーダ１００ｃを構成することができる。
【０２７４】
本実施の形態３に係るシステムデコーダ１００ｃによると、ＴＳパケット単位で処理が完結するパイプライン動作が可能であるため、ＰＥＳデコーダ専用の大規模なメモリが不要となる。そのため、オンチップ又はオフチップでＰＥＳデコード用メモリを構成した場合と比較して、チップ製造コストを低減できる効果がある。また、ＰＥＳデコーダ専用の大規模メモリが不要となるため、このメモリへのアクセスが削減できる。そのため、外部バスの帯域を他のアクセスへ割り振ることが可能となる。例えば、ＣＰＵがＳＤＲＡＭ４をワークメモリとして用いるためのアクセス帯域として割り振ることも可能となる。しかも、外部メモリアクセスが低減したので、外部アクセス周波数を下げることが可能となって消費電力が低減されるとともに、外部ピン数を削減できるためチップ製造コストを低減できる。
【０２７５】
しかも、図７に示した上記実施の形態１に係るシステムデコーダ１００ａから、２面メモリ３ｂ，３ｃが省略されているため、システムデコーダ１００ａと比較して回路規模を削減することができる。
【０２７６】
実施の形態４．
（１）システムデコーダ１００ｄの基本構成
図２３は、本発明の実施の形態４に係るシステムデコーダ１００ｄの前半処理部の構成を示すブロック図である。図２３に示すように、システムデコーダ１００ｄの前半処理部は、ＭＰＥＧ２−ＴＳ入力を受けて１８８バイトの同期をとるＴＳ−ＩＦ部５と、ＴＳ−ＩＦ部５の出力を受けてＤｅｍｕｘ処理を行うＤＥＭＵＸ部７と、ＤＥＭＵＸ部７から出力されたデータをＳＤＲＡＭ４に書き込むＭｅｄｉａＩ／Ｆ部８とを備えて構成されている。ＭｅｄｉａＩ／Ｆ部８は、書き込み部８ａとＭｅｄｉａＢｕｓＩ／Ｆ部８ｂとを有している。つまり、図２２に示した上記実施の形態３に係るシステムデコーダ１００ｃから、デスクランブル部６を省略したものが、本実施の形態４に係るシステムデコーダ１００ｄに相当する。
【０２７７】
まず、システムデコーダ１００ｄにおけるＴＳパケット単位でのパイプライン構成を説明し、その後、ＰＥＳデコーダまで含めたＤｅｍｕｘ処理を可能としているアーキテクチャについて説明する。
【０２７８】
（２）システムデコーダ１００ｄのパイプライン構成
システムデコーダ１００ｄのＴＳパケット単位でのパイプライン動作としては、ＴＳ−ＩＦ部５の後段に片面１８８バイトの２面メモリ１を配備し、ＩＦステージを構成している。
【０２７９】
ＩＦステージでは、以下の処理が行われる。
【０２８０】
入力クロック（ＴＳＣＬＫ）と共に送られてくるＭＰＥＧ２−ＴＳデータ（ＴＳＤＡＴＡ）を、ＴＳＣＬＫで取り込む。この際、ＴＳＤＡＴＡと同時に送られてくるデータバリッド（ＴＳＶＡＬＩＤ）を参照し、有効なデータである場合にのみ取り込みを行う。また、取り込み単位は、１バイト単位又は１ビット単位となり、選択が可能である。
【０２８１】
ＭＰＥＧ２−ＴＳパケットの先頭データである「４７」コードを検索し、１８８バイト毎に「４７」コードが存在することを確認し、同期捕捉を行う。
【０２８２】
同期捕捉候補処理を高速化させるため、独立で動作する複数個のカウンタを搭載し、複数個の同期捕捉候補を扱う。いずれかの同期捕捉候補の同期捕捉が成立した段階で、他の同期捕捉候補をキャンセルする。
【０２８３】
同期捕捉が成立すると、ＭＰＥＧ２−ＴＳパケットのデータを、先頭の「４７」コードから順に、１８８バイトのメモリ１に格納し始める。
【０２８４】
１８８バイトのメモリ１は２面あり、１面全ての書き込みが終了した面は、後段のパイプラインステージからの読み出し面に切り替わる。
【０２８５】
ＤＥＭＵＸ部７の後段にも片面１８８バイトの２面メモリ３ａを配備し、Ｄステージを構成している。
【０２８６】
Ｄステージでは、以下の処理が行われる。
【０２８７】
ＩＦステージの後段に設けられている１８８バイトの２面メモリ１のうち、書き込みが終了している面から、ＭＰＥＧ２−ＴＳデータを順次読み出す。
【０２８８】
読み出したＭＰＥＧ２−ＴＳパケットデータのうち、ＴＳヘッダ部と、もし存在すればアダプテーション領域の制御データを、ＴＳ解析用レジスタ７ａ１に順次セットする。
【０２８９】
この読み出しアドレスは、ＭＰＥＧ２−ＴＳパケットの１８８バイトのうち、どのバイトを読み出しているかの識別に用いられる。
【０２９０】
ＤステージでのＭＰＥＧ２−ＴＳ解析、抽出分離のベースは、上記１８８バイトの２面メモリ１からの読み出しアドレスと、上記ＴＳ解析用レジスタ７ａ１の値とを参照し、ＭＰＥＧ２−ＴＳパケットのデータ構造の解析が進められる。
【０２９１】
２面メモリ１からの読み出しアドレスが、ＰＩＤを読み出し終了時点まで進んだ段階で、抽出分離指定されているＰＩＤであるかどうかの判定が行われる。
【０２９２】
このＰＩＤ判定では、セクション系かＰＥＳ系か、ＰＥＳ系である場合は、独立ＰＥＳ系か、オーディオ系か、ビデオ系かの判定が行われる。
【０２９３】
トランスポートスクランブルコントロール、アダプテーションフィールドコントロール、コンティニュティカウンター値を、ＴＳ解析用レジスタ７ａ１にセットする。
【０２９４】
コンティニュティカウンター値とアダプテーションフィールドコントロール値とをチェックし、廃棄対象のペイロードを持ったＭＰＥＧ２−ＴＳパケットであるかどうかの判定と、アダプテーション領域の有無、ペイロードの有無が判断される。
【０２９５】
次に、アダプテーションフィールドが存在する場合は、引き続きＴＳ解析用レジスタ７ａ１にアダプテーション領域のデータをセットする。
【０２９６】
アダプテーション領域の先頭はアダプテーションレングスであり、このレングスをチェックして、その値が０でなければ、アダプテーションレングス値をアダプテーションレングスカウンタへセットし、ダウンカウントを開始する。アダプテーションレングスが０である場合は、次のバイトは、セクション系データの場合はポインタフィールドとなり、ＰＥＳ系データの場合はＰＥＳの先頭バイトであると判断する。
【０２９７】
アダプテーションレングスが０でない場合は、次のバイトが、ＰＣＲフラグ（ＰＣＲを含んだＭＰＥＧ２−ＴＳパケットかどうかの識別子）とか、含んでいるＰＣＲが不連続ＰＣＲであるかどうかの識別子であるディスコンティニュティインディケータを、ＴＳ解析用レジスタ７ａ１にセットする。
【０２９８】
ＰＣＲフラグで、ＰＣＲがあることが判明すれば、ＰＣＲの抽出を行う。この時、システムデコーダ１００ｄの時計であるＳＴＣへＰＣＲ値をロードするか否かは、ＰＣＲのロード制御レジスタ値によって制御される。
【０２９９】
ディスコンティニュティインディケータがセットされていれば、ＭＰＥＧ２−ＴＳパケットに含まれているＰＣＲが、不連続ＰＣＲであると判断する。不連続ＰＣＲのＳＴＣへのロード制御は、ＰＣＲのロード制御レジスタ値によって制御される。
【０３００】
不連続ＰＣＲのＳＴＣへのロードは、ＳＤＲＡＭ４に既に蓄えられているビデオＥＳ、オーディオＥＳのタイムスタンプ値との関係が不連続になることも意味しているので、既に蓄えられているＡＶフレームデータ（ビデオＥＳ／オーディオＥＳ）に対応したタイムスタンプのＶａｌｉｄビットを無効化する。ここで、このＶａｌｉｄビットは、タイムスタンプ値が有効か無効かの識別に用いられる。有効な場合は、システムデコーダ１００ｄからフレームデータを出力すべき時刻まで待たせる処理を行う時に、ＳＴＣとの比較に用いるタイムスタンプ値として利用される。無効な場合は、出力すべき時刻まで待たせる処理は行われない。
【０３０１】
アダプテーションフィールドが終了すると、ＰＩＤフィルタリングの結果が、セクション系であるか、ＰＥＳ系であるかで、処理が分岐される。
【０３０２】
ＴＳヘッダ部のユニットスタートインディケータがセットされている場合は、セクション系の場合はセクションの先頭データを含むため、ペイロードの前に１バイトのポインタフィールドがあると判断される。また、ＰＥＳ系の場合はペイロードの先頭からＰＥＳデータが格納されていると判断される。
【０３０３】
セクション系の場合は、セクション解析用レジスタ７ａ２に、セクションヘッダ部がセットされる。
【０３０４】
セクションの先頭バイトはテーブルＩＤである。セクションのフィルタリングは、セクションヘッダ部が揃ってから実施されるが、テーブルＩＤでＭＰＥＧ２−ＴＳパケットが終了する場合もある。この場合は、ＰＩＤとテーブルＩＤとでのフィルタリングを実施し、継続フラグが立っているかどうかを確認した後、継続フラグがセットされていなければ、セクション用フィルタのどの番号のフィルタでＭＰＥＧ２−ＴＳパケットを跨いだセクションを受信したかを記憶しておくための継続フラグをセットする。
【０３０５】
ここで、継続フラグは、全てのフィルタに対で装備される。
【０３０６】
継続フラグのクリアは、継続フラグがセットされているフィルタにヒットしたＭＰＥＧ２−ＴＳパケットに格納されている、ＴＳヘッダ部のユニットスタートインディケータが１であった場合に実施する。このＭＰＥＧ２−ＴＳパケットで継続してきたセクションが終了し、新たなセクションが格納されていると判断し、継続フラグがクリアされる。
【０３０７】
ここで、ＭＰＥＧ２−ＴＳパケットが、セクションヘッダ部の途中で終了する場合、次のＭＰＥＧ２−ＴＳパケットデータが、続きのパケットデータとは限らないため、セクション解析用レジスタ７ａ２は、レジスタセットとしてセクションフィルタ数分搭載されている。
【０３０８】
ＰＥＳ系の場合、ＰＥＳ解析用レジスタ７ａ３に、ＰＥＳヘッダ部がセットされる。
【０３０９】
ＰＥＳヘッダの先頭は、パケットスタートコードプリフィックスの固定コード「０００００１」となっている。ＰＥＳヘッダの先頭から８バイト目がＰＴＳＤＴＳフラグ（ＰＴＳ，ＤＴＳであるタイムスタンプを含んでいるか否かの識別子）であり、タイムスタンプを含んでいる場合は、抽出を行う予定とされる。
【０３１０】
次のバイトがＰＥＳヘッダ長であり、ＰＥＳヘッダ長の値が０でない場合は、ＰＥＳヘッダ長ダウンカウンタに値がセットされ、ダウンカウントが行われる。
【０３１１】
ＰＥＳヘッダ長のダウンカウントが終了した時点に、ＥＳデータの先頭バイトが存在する。
【０３１２】
ＥＳデータの抽出では、このＰＥＳヘッダ部の削除処理を実施することで、ＥＳ抽出が実現される。
【０３１３】
ＭＰＥＧ２−ＴＳパケットが、ＰＥＳヘッダ部の途中で終了した場合は、ＰＥＳヘッダ部のどのバイトから再開すればよいかは、ＰＥＳヘッダ長のダウンカウンタ値と、継続フラグとによって判別されることとなる。
【０３１４】
ここで、ＭＰＥＧ２−ＴＳパケットが、ＰＥＳヘッダ部の途中で終了する場合、次のＭＰＥＧ２−ＴＳパケットデータが、続きのパケットデータとは限らないため、ＰＥＳヘッダ解析用レジスタ７ａ３は、レジスタセットとして、ＰＩＤ設定できるＰＥＳフィルタ数分搭載されている。
【０３１５】
セクション系、ＰＥＳ系いずれの場合も、１８８バイトのメモリ１からの読み出しアドレスで、ＭＰＥＧ２−ＴＳパケットのどのバイトを処理しているか、ＭＰＥＧ２−ＴＳの終了を認識し、継続フラグをセットするか否かの判定が行われる。
【０３１６】
その後、ＭｅｄｉａＩ／Ｆ部８からＳＤＲＡＭ４への書き込みが、ＳＤＲＡＭ書き込みステージ（Ｗステージ）となる。
【０３１７】
Ｗステージでは、以下の処理が行われる。
【０３１８】
Ｄステージの後段に設けられている１８８バイトの２面メモリ３ａのうち、書き込みが終了している面のデータが、ＳＤＲＡＭ４へ書き込まれる。
【０３１９】
書き込み単位は、セクション、ＰＥＳ、ＥＳいずれも、ＭＰＥＧ２−ＴＳパケットの１８８バイトから抽出分離したデータ単位となる。ここで、セクションの場合は、１３バイトのものもあり、Ｗステージでの最大書き込み先（ＳＤＲＡＭ４での書き込み先領域）数は、１４個となる。ＰＥＳ系の場合、Ｗステージでの最大書き込み先（ＳＤＲＡＭ４での書き込み先領域）数は、１個となる。これは、ＰＥＳ系の場合は一つのＭＰＥＧ２−ＴＳパケットに複数個のＰＥＳパケットが格納されていることがないためである。
【０３２０】
Ｗステージの期間内に、ＳＤＲＡＭ４への書き込みが終了しない場合は、１８８バイトの２面メモリ３ａが破綻するので、バスエラー割り込みが発生される。
【０３２１】
これら各ステージに存在する２面メモリ１，３ａで、ＴＳパケット単位（１８８バイト単位）のパイプライン動作が区切られている。以上が、システムデコーダ１００ｄの前半処理部となる。システムデコーダ１００ｄの前半処理部の３段パイプライン動作は、図４に示した通りである。
【０３２２】
（３）システムデコーダ１００ｄの後半処理部
システムデコーダ１００ｄの後半処理部の基本構成は、図２１に示したブロック図の通りである。システムデコーダ１００ｄの後半処理部では、ＳＤＲＡＭ４に書き込まれたデータが読み出され、ＡＶ同期をとって、システムデコーダ１００ｄから出力される。ここで、ＳＤＲＡＭ４からの読み出し以降の処理は、ＴＳパケット単位のパイプライン動作とは無関係に動作する。
【０３２３】
（４）Ｄｅｍｕｘ処理
（４−１）ＤＥＭＵＸ部７の構成
以下、主にＰＥＳデコーダからＥＳ抽出処理を含めたＤｅｍｕｘ処理について説明する。ここでは、ＤＥＭＵＸ部７のＤステージの動作説明を行う。Ｄステージには、ＰＩＤフィルタ動作部７ｂ、ＴＳ解析部７ａ、Section解析部７ａ２、ＰＥＳ解析部７ａ３、及び分離結果を一時記憶しておくためのＳＲＡＭ部３ａがある。Ｄステージ及びＷステージの動作を示すタイミングチャートは、図９に示した通りである。
【０３２４】
（４−２）ＤＥＭＵＸ部７の処理
ＴＳ−ＩＦ部５の後段に接続されている２面メモリ１から、ＴＳパケットデータが１パケット分（０バイト目から１８７バイト目まで）読み出される。この読み出しのアドレスで、ＴＳパケットの先頭から何番目のデータであるかが識別される。このＴＳパケットは、読み出しアドレス値に応じて、ＴＳ解析部７ａに設けられているレジスタ７ａ１に格納される。ＴＳ解析部７ａで格納対象とされているＴＳデータは、ＴＳヘッダ部のデータと、アダプテーションに相当するデータの一部、及び、セクションの場合はポインタフィールドが保持される。
【０３２５】
ここで、ＴＳ解析部７ａのレジスタ７ａ１にＰＩＤまでの情報が書き込まれた段階で、ＴＳパケットの種別の大分類（セクションか、ビデオか、オーディオか、独立ＰＥＳか）が行われる。この結果によって、セクション系かＰＥＳ系（ビデオ、オーディオ、独立ＰＥＳ）かの識別が可能である。この結果を利用して、セクション解析部のレジスタ７ａ２を用いるのか、ＰＥＳ解析部のレジスタ７ａ３を用いるのかが判断される。
【０３２６】
ＰＥＳ系であった場合、このＰＥＳ解析部のレジスタ７ａ３に、ＰＥＳヘッダに対応する情報のうち必要な部分（ＰＥＳ先頭から１３バイトで、ＰＥＳヘッダ長を含む）のみが格納される。ここで、アダプテーションのサイズによっては、ＰＥＳのヘッダがＴＳパケットの単位（１８８バイト）よりも大きい場合があり得る。従って、ＰＥＳデコードを行うフィルタ数分のレジスタ７ａ３が搭載されており、各レジスタ７ａ３は、書き込んだ位置を把握できるＰＥＳヘッダライトポインタを有している。ＴＳパケットを跨いだ場合は、このＰＥＳヘッダライトポインタが停止される。ここで、ＴＳパケットが終了するまでにＰＥＳヘッダ長のダウンカウンタ値が終了しなかった場合には、ＰＥＳヘッダ部でＴＳパケットを跨ったことになる。一方、ＴＳパケットが終了するまでにＰＥＳヘッダ長のダウンカウンタが終了した場合には、ＰＥＳヘッダ部以降でＴＳパケットを跨いだことになる。ＰＥＳヘッダ長のダウンカウンタ終了時点で、ＰＥＳヘッダライトポインタはクリアされる。継続して受信再開する場合の動作は、ＰＩＤでのフィルタヒット判定と、ＰＩＤ別で管理しているＰＥＳヘッダライトポインタとを参照することで、ＰＥＳヘッダの情報抽出を再開可能となる。なお、ＰＥＳはＰＩＤのみでフィルタリングが可能なため、特に継続フラグは必要ない。
【０３２７】
セクション系であった場合、セクション解析部のレジスタ７ａ２に、セクションヘッダに対応する情報のうち必要な部分（セクションの先頭から６バイト分。但しセクション長にも依存する）のみが格納される。ここで、アダプテーションのサイズに依存して、セクションヘッダ部に相当するデータをセクション解析部のレジスタ７ａ２に格納終了する前に、ＴＳパケットが終了してしまうことがあり得る。そのため、セクション解析部でも、セクションヘッダをどこまで書き込んだかを把握できるように、セクションヘッダライトポインタを各々持つとともに、フィルタ番号毎に継続フラグが設けられている。セクションヘッダライトポインタ値と継続フラグとを参照することで、ＴＳパケットを跨いだ後、暫くして後続のセクション部のデータを受信した場合であっても、セクションヘッダの情報抽出を再開可能となる。
【０３２８】
次に、ＴＳパケット単位を超えた場合の処理について説明する。
【０３２９】
セクション系の場合、受信したセクションデータが、ＴＳパケットに納まるデータであるか、納まらないデータであるかの判断は、（ａ）セクションヘッダ部をセクション解析部のレジスタ７ａ２に格納終了できたかどうかの判断と、（ｂ）セクションヘッダ部に存在するセクション長情報により、ＴＳパケット終了時点（１８８バイト目）で、セクション長のダウンカウントが終了しているかどうかとの判断とによって行われる。ＴＳパケットに納まっていないと判断された場合は、フィルタにヒットしている番号の継続フラグをセットするとともに、セクション長のダウンカウンタ値をクリアする。
【０３３０】
なお、継続フラグのクリアは、同一フィルタにヒットしたＴＳパケットの、ＴＳヘッダ情報部にあるunit_start_indicatorの値が１である場合、このＴＳパケットで、継続してきたセクションが終了するとともに、新たなセクションが格納されていると判断する。ここで、新たなセクションの開始位置は、pointer_fieldで示される。
【０３３１】
ＰＥＳ系の場合、受信したＰＥＳデータが、ＴＳパケットに納まるデータであるか、納まらないデータであるかの判断は、ＰＥＳヘッダ部についてのみ実施される。
【０３３２】
ＰＥＳヘッダライトポインタ（ＰＥＳヘッダをどこまでＰＥＳ解析部のレジスタ７ａ３に格納できたかを示すポインタ。ＰＥＳヘッダ長による終了で、ＰＥＳヘッダ終了と判断される。）が終了していない状態で、ＴＳパケットが終了（１８８バイト目）した場合、ＰＥＳヘッダがＴＳパケットを跨ったと判断し、フィルタにヒットしている番号の継続フラグがセットされる。この継続フラグは、ＰＥＳ解析部で複数セット設けられているレジスタセットのうちのどのレジスタセットかを識別するのに用いられる。
【０３３３】
ＰＥＳヘッダ解析部が持っている継続フラグは、ＰＥＳヘッダ部をＰＥＳ解析部のレジスタ７ａ３に格納終了すると、クリアされる。
【０３３４】
ＰＥＳヘッダ部以降のＰＥＳデータ自体は、ＰＩＤのみで分離識別可能であるため、ＰＥＳの長さ情報は参照されない。その代わり、ＴＳパケットヘッダ部にあるunit_start_indicatorでＰＥＳの先頭を識別し、ＰＥＳデータの先頭から分離抽出が行われる。
【０３３５】
以下、抽出分離結果を一時保持するためのＳＲＡＭ（２面メモリ）３ａについて説明する。
【０３３６】
１８８バイトの塊であるＴＳパケットから必要なデータがフィルタリングされ、分離抽出対象と判断されたデータが、ＳＲＡＭ３ａに格納される。本実施の形態４に係るシステムデコーダ１００ｄでは、図２３に示したように、セクション／独立ＰＥＳ系、オーディオ系、及びビデオ系に共通する２面ＳＲＡＭ（１８８バイトのメモリ×２個）３ａが設けられている。
【０３３７】
（５）Ｗステージの処理
Ｗステージでは、Ｄステージの最終段にある１８８バイトの２面メモリ３ａからＳＤＲＡＭ４へのデータの転送及び書き込みが行われる。Ｗステージも、１ＴＳパケット期間のステージとなる。ＳＲＡＭ３ａからＳＤＲＡＭ４へ書き込まれるデータには、セクション、独立ＰＥＳ、オーディオＰＥＳ、及びビデオＥＳがある。
【０３３８】
セクションの書き込みでは、ＳＤＲＡＭ４の複数領域への書き込みが発生する場合がある。マルチセクションにおいては、１ＴＳパケット内に複数個の異なるセクションが格納されている場合があり、この場合はＳＤＲＡＭ４への書き込み領域がセクションごとに異なるためである。
【０３３９】
独立ＰＥＳ、オーディオＰＥＳ、及びビデオＥＳの場合は、１ＴＳパケット期間単位の動作において、ＳＤＲＡＭ４への書き込み領域が異なる事態は発生しない。
【０３４０】
以上により、ＰＥＳデータからＰＥＳヘッダ部を削除した後のＥＳデータを抽出してＳＤＲＡＭ４に蓄えることができ、時刻管理を行いながらＳＤＲＡＭ４から必要なデータを読み出して、後段のビデオデコーダやオーディオデコーダにＥＳを提供できるシステムデコーダ１００ｄを構成することができる。
【０３４１】
本実施の形態４に係るシステムデコーダ１００ｄによると、ＴＳパケット単位で処理が完結するパイプライン動作が可能であるため、ＰＥＳデコーダ専用の大規模なメモリが不要となる。そのため、オンチップ又はオフチップでＰＥＳデコード用メモリを構成した場合と比較して、チップ製造コストを低減できる効果がある。また、ＰＥＳデコーダ専用の大規模メモリが不要となるため、このメモリへのアクセスが削減できる。そのため、外部バスの帯域を他のアクセスへ割り振ることが可能となる。例えば、ＣＰＵがＳＤＲＡＭ４をワークメモリとして用いるためのアクセス帯域として割り振ることも可能となる。しかも、外部メモリアクセスが低減したので、外部アクセス周波数を下げることが可能となって消費電力が低減されるとともに、外部ピン数を削減できるためチップ製造コストを低減できる。
【０３４２】
しかも、図２２に示した上記実施の形態３に係るシステムデコーダ１００ｃから、デスクランブル部６及び２面メモリ２が省略されているため、システムデコーダ１００ｃと比較して回路規模を削減することができる。
【０３４３】
実施の形態５．
（１）システムデコーダ１００ｅの基本構成
図２４は、本発明の実施の形態５に係るシステムデコーダ１００ｅの前半処理部の構成を示すブロック図である。図２４に示すように、システムデコーダ１００ｅの前半処理部は、ＭＰＥＧ２−ＴＳ入力を受けて１８８バイトの同期をとるＴＳ−ＩＦ部５と、ＴＳ−ＩＦ部５の出力を受けてＤｅｍｕｘ処理を行うＤＥＭＵＸ部７と、ＤＥＭＵＸ部７から出力されたデータをＳＤＲＡＭ４に書き込むＭｅｄｉａＩ／Ｆ部８とを備えて構成されている。ＭｅｄｉａＩ／Ｆ部８は、書き込み部８ａとＭｅｄｉａＢｕｓＩ／Ｆ部８ｂとを有している。
【０３４４】
まず、システムデコーダ１００ｅにおけるＴＳパケット単位でのパイプライン構成を説明し、その後、ＰＥＳデコーダまで含めたＤｅｍｕｘ処理を可能としているアーキテクチャについて説明する。
【０３４５】
（２）システムデコーダ１００ｅのパイプライン構成
システムデコーダ１００ｅのＴＳパケット単位でのパイプライン動作としては、ＴＳ−ＩＦ部５の後段に片面１８８バイトの２面メモリ１を配備し、ＩＦステージを構成している。
【０３４６】
ＩＦステージでは、以下の処理が行われる。
【０３４７】
入力クロック（ＴＳＣＬＫ）と共に送られてくるＭＰＥＧ２−ＴＳデータ（ＴＳＤＡＴＡ）を、ＴＳＣＬＫで取り込む。この際、ＴＳＤＡＴＡと同時に送られてくるデータバリッド（ＴＳＶＡＬＩＤ）を参照し、有効なデータである場合にのみ取り込みを行う。また、取り込み単位は、１バイト単位又は１ビット単位となり、選択が可能である。
【０３４８】
ＭＰＥＧ２−ＴＳパケットの先頭データである「４７」コードを検索し、１８８バイト毎に「４７」コードが存在することを確認し、同期捕捉を行う。
【０３４９】
同期捕捉候補処理を高速化させるため、独立で動作する複数個のカウンタを搭載し、複数個の同期捕捉候補を扱う。いずれかの同期捕捉候補の同期捕捉が成立した段階で、他の同期捕捉候補をキャンセルする。
【０３５０】
同期捕捉が成立すると、ＭＰＥＧ２−ＴＳパケットのデータを、先頭の「４７」コードから順に、１８８バイトのメモリ１に格納し始める。
【０３５１】
１８８バイトのメモリ１は２面あり、１面全ての書き込みが終了した面は、後段のパイプラインステージからの読み出し面に切り替わる。
【０３５２】
ＤＥＭＵＸ部７の後段にレジスタセット２０を配備し、Ｄステージを構成している。
【０３５３】
Ｄステージでは、以下の処理が行われる。
【０３５４】
ＩＦステージの後段に設けられている１８８バイトの２面メモリ１のうち、書き込みが終了している面から、ＭＰＥＧ２−ＴＳデータを順次読み出す。
【０３５５】
読み出したＭＰＥＧ２−ＴＳパケットデータのうち、ＴＳヘッダ部と、もし存在すればアダプテーション領域の制御データを、ＴＳ解析用レジスタ７ａ１に順次セットする。
【０３５６】
この読み出しアドレスは、ＭＰＥＧ２−ＴＳパケットの１８８バイトのうち、どのバイトを読み出しているかの識別に用いられる。
【０３５７】
ＤステージでのＭＰＥＧ２−ＴＳ解析、抽出分離のベースは、上記１８８バイトの２面メモリ１からの読み出しアドレスと、上記ＴＳ解析用レジスタ７ａ１の値とを参照し、ＭＰＥＧ２−ＴＳパケットのデータ構造の解析が進められる。
【０３５８】
２面メモリ１からの読み出しアドレスが、ＰＩＤを読み出し終了時点まで進んだ段階で、抽出分離指定されているＰＩＤであるかどうかの判定が行われる。
【０３５９】
このＰＩＤ判定では、セクション系かＰＥＳ系か、ＰＥＳ系である場合は、独立ＰＥＳ系か、オーディオ系か、ビデオ系かの判定が行われる。
【０３６０】
トランスポートスクランブルコントロール、アダプテーションフィールドコントロール、コンティニュティカウンター値を、ＴＳ解析用レジスタ７ａ１にセットする。
【０３６１】
コンティニュティカウンター値とアダプテーションフィールドコントロール値とをチェックし、廃棄対象のペイロードを持ったＭＰＥＧ２−ＴＳパケットであるかどうかの判定と、アダプテーション領域の有無、ペイロードの有無が判断される。
【０３６２】
次に、アダプテーションフィールドが存在する場合は、引き続きＴＳ解析用レジスタ７ａ１にアダプテーション領域のデータをセットする。
【０３６３】
アダプテーション領域の先頭はアダプテーションレングスであり、このレングスをチェックして、その値が０でなければ、アダプテーションレングス値をアダプテーションレングスカウンタへセットし、ダウンカウントを開始する。アダプテーションレングスが０である場合は、次のバイトは、セクション系データの場合はポインタフィールドとなり、ＰＥＳ系データの場合はＰＥＳの先頭バイトであると判断する。
【０３６４】
アダプテーションレングスが０でない場合は、次のバイトが、ＰＣＲフラグ（ＰＣＲを含んだＭＰＥＧ２−ＴＳパケットかどうかの識別子）とか、含んでいるＰＣＲが不連続ＰＣＲであるかどうかの識別子であるディスコンティニュティインディケータを、ＴＳ解析用レジスタ７ａ１にセットする。
【０３６５】
ＰＣＲフラグで、ＰＣＲがあることが判明すれば、ＰＣＲの抽出を行う。この時、システムデコーダ１００ｅの時計であるＳＴＣへＰＣＲ値をロードするか否かは、ＰＣＲのロード制御レジスタ値によって制御される。
【０３６６】
ディスコンティニュティインディケータがセットされていれば、ＭＰＥＧ２−ＴＳパケットに含まれているＰＣＲが、不連続ＰＣＲであると判断する。不連続ＰＣＲのＳＴＣへのロード制御は、ＰＣＲのロード制御レジスタ値によって制御される。
【０３６７】
不連続ＰＣＲのＳＴＣへのロードは、ＳＤＲＡＭ４に既に蓄えられているビデオＥＳ、オーディオＥＳのタイムスタンプ値との関係が不連続になることも意味しているので、既に蓄えられているＡＶフレームデータ（ビデオＥＳ／オーディオＥＳ）に対応したタイムスタンプのＶａｌｉｄビットを無効化する。ここで、このＶａｌｉｄビットは、タイムスタンプ値が有効か無効かの識別に用いられる。有効な場合は、システムデコーダ１００ｅからフレームデータを出力すべき時刻まで待たせる処理を行う時に、ＳＴＣとの比較に用いるタイムスタンプ値として利用される。無効な場合は、出力すべき時刻まで待たせる処理は行われない。
【０３６８】
アダプテーションフィールドが終了すると、ＰＩＤフィルタリングの結果が、セクション系であるか、ＰＥＳ系であるかで、処理が分岐される。
【０３６９】
ＴＳヘッダ部のユニットスタートインディケータがセットされている場合は、セクション系の場合はセクションの先頭データを含むため、ペイロードの前に１バイトのポインタフィールドがあると判断される。また、ＰＥＳ系の場合はペイロードの先頭からＰＥＳデータが格納されていると判断される。
【０３７０】
セクション系の場合は、セクション解析用レジスタ７ａ２に、セクションヘッダ部がセットされる。
【０３７１】
セクションの先頭バイトはテーブルＩＤである。セクションのフィルタリングは、セクションヘッダ部が揃ってから実施されるが、テーブルＩＤでＭＰＥＧ２−ＴＳパケットが終了する場合もある。この場合は、ＰＩＤとテーブルＩＤとでのフィルタリングを実施し、継続フラグが立っているかどうかを確認した後、継続フラグがセットされていなければ、セクション用フィルタのどの番号のフィルタでＭＰＥＧ２−ＴＳパケットを跨いだセクションを受信したかを記憶しておくための継続フラグをセットする。
【０３７２】
ここで、継続フラグは、全てのフィルタに対で装備される。
【０３７３】
継続フラグのクリアは、継続フラグがセットされているフィルタにヒットしたＭＰＥＧ２−ＴＳパケットに格納されている、ＴＳヘッダ部のユニットスタートインディケータが１であった場合に実施する。このＭＰＥＧ２−ＴＳパケットで継続してきたセクションが終了し、新たなセクションが格納されていると判断し、継続フラグがクリアされる。
【０３７４】
ここで、ＭＰＥＧ２−ＴＳパケットが、セクションヘッダ部の途中で終了する場合、次のＭＰＥＧ２−ＴＳパケットデータが、続きのパケットデータとは限らないため、セクション解析用レジスタ７ａ２は、レジスタセットとしてセクションフィルタ数分搭載されている。
【０３７５】
ＰＥＳ系の場合、ＰＥＳ解析用レジスタ７ａ３に、ＰＥＳヘッダ部がセットされる。
【０３７６】
ＰＥＳヘッダの先頭は、パケットスタートコードプリフィックスの固定コード「０００００１」となっている。ＰＥＳヘッダの先頭から８バイト目がＰＴＳＤＴＳフラグ（ＰＴＳ，ＤＴＳであるタイムスタンプを含んでいるか否かの識別子）であり、タイムスタンプを含んでいる場合は、抽出を行う予定とされる。
【０３７７】
次のバイトがＰＥＳヘッダ長であり、ＰＥＳヘッダ長の値が０でない場合は、ＰＥＳヘッダ長ダウンカウンタに値がセットされ、ダウンカウントが行われる。
【０３７８】
ＰＥＳヘッダ長のダウンカウントが終了した時点に、ＥＳデータの先頭バイトが存在する。
【０３７９】
ＥＳデータの抽出では、このＰＥＳヘッダ部の削除処理を実施することで、ＥＳ抽出が実現される。
【０３８０】
ＭＰＥＧ２−ＴＳパケットが、ＰＥＳヘッダ部の途中で終了した場合は、ＰＥＳヘッダ部のどのバイトから再開すればよいかは、ＰＥＳヘッダ長のダウンカウンタ値と、継続フラグとによって判別されることとなる。
【０３８１】
ここで、ＭＰＥＧ２−ＴＳパケットが、ＰＥＳヘッダ部の途中で終了する場合、次のＭＰＥＧ２−ＴＳパケットデータが、続きのパケットデータとは限らないため、ＰＥＳヘッダ解析用レジスタ７ａ３は、レジスタセットとして、ＰＩＤ設定できるＰＥＳフィルタ数分搭載されている。
【０３８２】
セクション系、ＰＥＳ系いずれの場合も、１８８バイトのメモリ２からの読み出しアドレスで、ＭＰＥＧ２−ＴＳパケットのどのバイトを処理しているか、ＭＰＥＧ２−ＴＳの終了を認識し、継続フラグをセットするか否かの判定が行われる。
【０３８３】
その後、ＭｅｄｉａＩ／Ｆ部８からＳＤＲＡＭ４への書き込みが随時行われる。ここでは、以下の処理が行われる。
【０３８４】
Ｄステージの後段に設けられているレジスタセット２０のうち、書き込みが終了しているレジスタのデータが、ＳＤＲＡＭ４へ書き込まれる。ここで、レジスタセット２０は２個のレジスタから成り、各レジスタの容量は、ＳＤＲＡＭ４への書き込みトランザクション単位である。
【０３８５】
書き込み単位は、Storeトランザクションで発行可能なサイズとなる。セクション、ＰＥＳ、ＥＳいずれも、ＭＰＥＧ２−ＴＳパケットの１８８バイトから抽出分離した数バイト程度のデータ単位となる。
【０３８６】
ＳＤＲＡＭ４への書き込み処理はＤステージで実行されるが、Ｄステージの期間内にＳＤＲＡＭ４への書き込みが終了しない場合は、バスエラー割り込みが発生される。
【０３８７】
ＩＦステージの後段に接続されている２面メモリ１で、ＴＳパケット単位（１８８バイト単位）のパイプライン動作が区切られている。以上が、システムデコーダ１００ｅの前半処理部となる。システムデコーダ１００ｅの前半処理部の２段パイプライン動作は、図６に示した通りである。
【０３８８】
（３）システムデコーダ１００ｅの後半処理部
システムデコーダ１００ｅの後半処理部の基本構成は、図２１に示したブロック図の通りである。システムデコーダ１００ｅの後半処理部では、ＳＤＲＡＭ４に書き込まれたデータが読み出され、ＡＶ同期をとって、システムデコーダ１００ｅから出力される。ここで、ＳＤＲＡＭ４からの読み出し以降の処理は、ＴＳパケット単位のパイプライン動作とは無関係に動作する。
【０３８９】
（４）Ｄｅｍｕｘ処理
（４−１）ＤＥＭＵＸ部７の構成
以下、主にＰＥＳデコーダからＥＳ抽出処理を含めたＤｅｍｕｘ処理について説明する。ここでは、ＤＥＭＵＸ部７のＤステージの動作説明を行う。Ｄステージには、ＰＩＤフィルタ動作部７ｂ、ＴＳ解析部７ａ、Section解析部７ａ２、ＰＥＳ解析部７ａ３、及び分離結果を一時記憶しておくためのレジスタセット２０がある。図２５は、Ｄステージの動作を示すタイミングチャートである。
【０３９０】
（４−２）ＤＥＭＵＸ部７の処理
ＴＳ−ＩＦ部５の後段に接続されている２面メモリ１から、ＴＳパケットデータが１パケット分（０バイト目から１８７バイト目まで）読み出される。この読み出しのアドレスで、ＴＳパケットの先頭から何番目のデータであるかが識別される。このＴＳパケットは、読み出しアドレス値に応じて、ＴＳ解析部７ａに設けられているレジスタ７ａ１に格納される。ＴＳ解析部７ａで格納対象とされているＴＳデータは、ＴＳヘッダ部のデータと、アダプテーションに相当するデータの一部、及び、セクションの場合はポインタフィールドが保持される。
【０３９１】
ここで、ＴＳ解析部７ａのレジスタ７ａ１にＰＩＤまでの情報が書き込まれた段階で、ＴＳパケットの種別の大分類（セクションか、ビデオか、オーディオか、独立ＰＥＳか）が行われる。この結果によって、セクション系かＰＥＳ系（ビデオ、オーディオ、独立ＰＥＳ）かの識別が可能である。この結果を利用して、セクション解析部のレジスタ７ａ２を用いるのか、ＰＥＳ解析部のレジスタ７ａ３を用いるのかが判断される。
【０３９２】
ＰＥＳ系であった場合、このＰＥＳ解析部のレジスタ７ａ３に、ＰＥＳヘッダに対応する情報のうち必要な部分（ＰＥＳ先頭から１３バイトで、ＰＥＳヘッダ長を含む）のみが格納される。ここで、アダプテーションのサイズによっては、ＰＥＳのヘッダがＴＳパケットの単位（１８８バイト）よりも大きい場合があり得る。従って、ＰＥＳデコードを行うフィルタ数分のレジスタ７ａ３が搭載されており、各レジスタ７ａ３は、書き込んだ位置を把握できるＰＥＳヘッダライトポインタを有している。ＴＳパケットを跨いだ場合は、このＰＥＳヘッダライトポインタが停止される。ここで、ＴＳパケットが終了するまでにＰＥＳヘッダ長のダウンカウンタ値が終了しなかった場合には、ＰＥＳヘッダ部でＴＳパケットを跨ったことになる。一方、ＴＳパケットが終了するまでにＰＥＳヘッダ長のダウンカウンタが終了した場合には、ＰＥＳヘッダ部以降でＴＳパケットを跨いだことになる。ＰＥＳヘッダ長のダウンカウンタ終了時点で、ＰＥＳヘッダライトポインタはクリアされる。継続して受信再開する場合の動作は、ＰＩＤでのフィルタヒット判定と、ＰＩＤ別で管理しているＰＥＳヘッダライトポインタとを参照することで、ＰＥＳヘッダの情報抽出を再開可能となる。なお、ＰＥＳはＰＩＤのみでフィルタリングが可能なため、特に継続フラグは必要ない。
【０３９３】
セクション系であった場合、セクション解析部のレジスタ７ａ２に、セクションヘッダに対応する情報のうち必要な部分（セクションの先頭から６バイト分。但しセクション長にも依存する）のみが格納される。ここで、アダプテーションのサイズに依存して、セクションヘッダ部に相当するデータをセクション解析部のレジスタ７ａ２に格納終了する前に、ＴＳパケットが終了してしまうことがあり得る。そのため、セクション解析部でも、セクションヘッダをどこまで書き込んだかを把握できるように、セクションヘッダライトポインタを各々持つとともに、フィルタ番号毎に継続フラグが設けられている。セクションヘッダライトポインタ値と継続フラグとを参照することで、ＴＳパケットを跨いだ後、暫くして後続のセクション部のデータを受信した場合であっても、セクションヘッダの情報抽出を再開可能となる。
【０３９４】
次に、ＴＳパケット単位を超えた場合の処理について説明する。
【０３９５】
セクション系の場合、受信したセクションデータが、ＴＳパケットに納まるデータであるか、納まらないデータであるかの判断は、（ａ）セクションヘッダ部をセクション解析部のレジスタ７ａ２に格納終了できたかどうかの判断と、（ｂ）セクションヘッダ部に存在するセクション長情報により、ＴＳパケット終了時点（１８８バイト目）で、セクション長のダウンカウントが終了しているかどうかとの判断とによって行われる。ＴＳパケットに納まっていないと判断された場合は、フィルタにヒットしている番号の継続フラグをセットするとともに、セクション長のダウンカウンタ値をクリアする。
【０３９６】
なお、継続フラグのクリアは、同一フィルタにヒットしたＴＳパケットの、ＴＳヘッダ情報部にあるunit_start_indicatorの値が１である場合、このＴＳパケットで、継続してきたセクションが終了するとともに、新たなセクションが格納されていると判断する。ここで、新たなセクションの開始位置は、pointer_fieldで示される。
【０３９７】
ＰＥＳ系の場合、受信したＰＥＳデータが、ＴＳパケットに納まるデータであるか、納まらないデータであるかの判断は、ＰＥＳヘッダ部についてのみ実施される。
【０３９８】
ＰＥＳヘッダライトポインタ（ＰＥＳヘッダをどこまでＰＥＳ解析部のレジスタ７ａ３に格納できたかを示すポインタ。ＰＥＳヘッダ長による終了で、ＰＥＳヘッダ終了と判断される。）が終了していない状態で、ＴＳパケットが終了（１８８バイト目）した場合、ＰＥＳヘッダがＴＳパケットを跨ったと判断し、フィルタにヒットしている番号の継続フラグがセットされる。この継続フラグは、ＰＥＳ解析部で複数セット設けられているレジスタセットのうちのどのレジスタセットかを識別するのに用いられる。
【０３９９】
ＰＥＳヘッダ解析部が持っている継続フラグは、ＰＥＳヘッダ部をＰＥＳ解析部のレジスタ７ａ３に格納終了すると、クリアされる。
【０４００】
ＰＥＳヘッダ部以降のＰＥＳデータ自体は、ＰＩＤのみで分離識別可能であるため、ＰＥＳの長さ情報は参照されない。その代わり、ＴＳパケットヘッダ部にあるunit_start_indicatorでＰＥＳの先頭を識別し、ＰＥＳデータの先頭から分離抽出が行われる。
【０４０１】
以下、抽出分離結果を一時保持するためのレジスタセット２０について説明する。
【０４０２】
１８８バイトの塊であるＴＳパケットから必要なデータがフィルタリングされ、分離抽出対象と判断されたデータが、Storeトランザクション単位でレジスタセット２０に格納される。従って、各数バイト（一例として８バイト）程度の２個のレジスタによってレジスタセット２０を構成すれば十分となる。
【０４０３】
（５）ＤステージのＳＤＲＡＭ書き込み処理
Ｄステージの最終段にある各８バイトの２面レジスタセット２０からＳＤＲＡＭ４へのデータの転送及び書き込みが行われる。ＳＤＲＡＭ４への書き込みは、Ｄステージの１ＴＳパケット期間内に処理される。レジスタセット２０からＳＤＲＡＭ４へ書き込まれるデータには、セクション、独立ＰＥＳ、オーディオＰＥＳ、及びビデオＥＳがある。
【０４０４】
セクションの書き込みでは、ＳＤＲＡＭ４の複数領域への書き込みが発生する場合がある。マルチセクションにおいては、１ＴＳパケット内に複数個の異なるセクションが格納されている場合があり、この場合はＳＤＲＡＭ４への書き込み領域がセクションごとに異なるためである。
【０４０５】
独立ＰＥＳ、オーディオＰＥＳ、及びビデオＥＳの場合は、１ＴＳパケット期間単位の動作において、ＳＤＲＡＭ４への書き込み領域が異なる事態は発生しない。
【０４０６】
以上により、ＰＥＳデータからＰＥＳヘッダ部を削除した後のＥＳデータを抽出してＳＤＲＡＭ４に蓄えることができ、時刻管理を行いながらＳＤＲＡＭ４から必要なデータを読み出して、後段のビデオデコーダやオーディオデコーダにＥＳを提供できるシステムデコーダ１００ａを構成することができる。
【０４０７】
本実施の形態５に係るシステムデコーダ１００ｅによると、ＴＳパケット単位で処理が完結するパイプライン動作が可能であるため、ＰＥＳデコーダ専用の大規模なメモリが不要となる。そのため、オンチップ又はオフチップでＰＥＳデコード用メモリを構成した場合と比較して、チップ製造コストを低減できる効果がある。また、ＰＥＳデコーダ専用の大規模メモリが不要となるため、このメモリへのアクセスが削減できる。そのため、外部バスの帯域を他のアクセスへ割り振ることが可能となる。例えば、ＣＰＵがＳＤＲＡＭ４をワークメモリとして用いるためのアクセス帯域として割り振ることも可能となる。しかも、外部メモリアクセスが低減したので、外部アクセス周波数を下げることが可能となって消費電力が低減されるとともに、外部ピン数を削減できるためチップ製造コストを低減できる。
【０４０８】
しかも、図７に示した上記実施の形態１に係るシステムデコーダ１００ａから、デスクランブル部６及び２面メモリ２，３ａ〜３ｃが省略されているため、システムデコーダ１００ａと比較して回路規模を大幅に削減することができる。
【図面の簡単な説明】
【０４０９】
【図１】第１の発明に係るシステムデコーダの構成を概略的に示すブロック図である。
【図２】第１の発明に係るシステムデコーダのパイプライン処理を示すタイミングチャートである。
【図３】第２の発明に係るシステムデコーダの構成を概略的に示すブロック図である。
【図４】第２の発明に係るシステムデコーダのパイプライン処理を示すタイミングチャートである。
【図５】第３の発明に係るシステムデコーダの構成を概略的に示すブロック図である。
【図６】第３の発明に係るシステムデコーダのパイプライン処理を示すタイミングチャートである。
【図７】本発明の実施の形態１に係るシステムデコーダの前半処理部の構成を示すブロック図である。
【図８】本発明の実施の形態１に係るシステムデコーダの後半処理部の基本構成を示すブロック図である。
【図９】本発明の実施の形態１に係るシステムデコーダに関して、Ｄステージ及びＷステージの動作を示すタイミングチャートである。
【図１０】本発明の実施の形態１に係るシステムデコーダに関して、セクション解析用レジスタ周辺の構成を示すブロック図である。
【図１１】本発明の実施の形態１に係るシステムデコーダに関して、ＰＥＳ解析用レジスタ周辺の構成を示すブロック図である。
【図１２】本発明の実施の形態１に係るシステムデコーダに関して、ＴＳデータの解析からセクションの分離までの動作を示すタイミングチャートである。
【図１３】本発明の実施の形態１に係るシステムデコーダに関して、ＴＳデータの解析からマルチセクションの抽出分離動作を示すタイミングチャートである。
【図１４】本発明の実施の形態１に係るシステムデコーダに関して、ＴＳデータの解析から、セクションの分離抽出時、セクションヘッダ部においてＴＳパケットが終了した場合の動作を示すタイミングチャートである。
【図１５】本発明の実施の形態１に係るシステムデコーダに関して、ＴＳデータの解析から、セクションの分離抽出時、セクションの途中でＴＳパケットが終了した場合の動作を示すタイミングチャートである。
【図１６】本発明の実施の形態１に係るシステムデコーダに関して、ＴＳデータの解析から、ポインタフィールドで示されるデータより手前のデータの抽出分離動作を示すタイミングチャートである。
【図１７】本発明の実施の形態１に係るシステムデコーダに関して、セクションの抽出時、ポインタフィールドがない場合の動作を示すタイミングチャートである。
【図１８】本発明の実施の形態１に係るシステムデコーダに関して、セクションを含むＭＰＥＧ２−ＴＳの例を示す図である。
【図１９】本発明の実施の形態１に係るシステムデコーダに関して、ＰＥＳヘッダ部の例を示す図である。
【図２０】本発明の実施の形態２に係るシステムデコーダの前半処理部の構成を示すブロック図である。
【図２１】本発明の実施の形態２に係るシステムデコーダの後半処理部の基本構成を示すブロック図である。
【図２２】本発明の実施の形態３に係るシステムデコーダの前半処理部の構成を示すブロック図である。
【図２３】本発明の実施の形態４に係るシステムデコーダの前半処理部の構成を示すブロック図である。
【図２４】本発明の実施の形態５に係るシステムデコーダの前半処理部の構成を示すブロック図である。
【図２５】本発明の実施の形態５に係るシステムデコーダに関して、Ｄステージの動作を示すタイミングチャートである。
【符号の説明】
【０４１０】
１〜３，３ａ〜３ｃ  メモリ、４  外部記憶装置、５  ＴＳ−ＩＦ部、６  デスクランブル部、７  ＤＥＭＵＸ部。
【図１】
2006254039.tif 000003
【図２】
2006254039.tif 000004
【図３】
2006254039.tif 000005
【図４】
2006254039.tif 000006
【図５】
2006254039.tif 000007
【図６】
2006254039.tif 000008
【図７】
2006254039.tif 000009
【図８】
2006254039.tif 000010
【図９】
2006254039.tif 000011
【図１０】
2006254039.tif 000012
【図１１】
2006254039.tif 000013
【図１２】
2006254039.tif 000014
【図１３】
2006254039.tif 000015
【図１４】
2006254039.tif 000016
【図１５】
2006254039.tif 000017
【図１６】
2006254039.tif 000018
【図１７】
2006254039.tif 000019
【図１８】
2006254039.tif 000020
【図１９】
2006254039.tif 000021
【図２０】
2006254039.tif 000022
【図２１】
2006254039.tif 000023
【図２２】
2006254039.tif 000024
【図２３】
2006254039.tif 000025
【図２４】
2006254039.tif 000026
【図２５】
2006254039.tif 000027