(57)【特許請求の範囲】
【請求項１】
それぞれに識別情報が付与された連続する複数のパケットデータによって構成されるトランスポートストリームが複数入力されたとき、当該トランスポートストリームに対して所定の処理を施すトランスポートストリーム処理装置に用いられ、当該トランスポートストリーム処理装置での処理単位がパケットデータ単位となるように、入力された複数のトランスポートストリームのそれぞれを構成する各パケットデータが予め規定された処理の対象になっているか否かを個別に決定するためのパケットデータ処理決定装置であって、
前記複数のトランスポートストリームを構成する全てのパケットデータのそれぞれを一義的に識別する管理情報を生成して、当該パケットデータのそれぞれに付与するパケットデータ管理情報生成手段と、
処理の対象となるパケットデータを識別するための処理対象パケットデータ識別情報を入力する識別情報入力手段と、
前記管理情報が付与されたパケットデータのそれぞれを、入力されてくる順番に所定時間だけ保持するパケットデータ保持手段と、
前記パケットデータ保持手段に保持されているパケットデータに付与されている管理情報から、当該パケットデータ保持手段に保持されているパケットデータを表すバッファパケット識別情報を生成する保持パケットデータ識別手段と、
前記生成されたパケットバッファ識別情報を前記処理対象パケットデータ識別情報と比較して、前記保持されているパケットデータが予め規定された処理の対象であるか否かを示す処理対象判断信号を生成すると共に、前記識別情報と前記管理情報とに基づいて、異なるトランスポートストリームを構成する同一の識別情報を有する複数のパケットデータのそれぞれが予め規定された処理の対象であるか否かを個別に決定する処理対象パケットデータ選定手段とを備え、
前記処理対象判断信号が前記保持されているパケットデータが予め規定された処理の対象でないことを示す場合は、当該パケットデータ保持手段は他のパケットデータの格納のために解放されることを特徴とするパケットデータ処理決定装置。
【請求項２】
前記トランスポートストリーム処理装置による、前記パケットデータ保持手段に保存されたパケットデータに対して実行される前記規定された処理の完了を検出する規定処理実行完了検出手段をさらに備え、当該処理完了の検出後に、当該パケットデータ保持手段は他のパケットデータの格納のために解放されることを特徴とする、請求項１に記載のパケットデータ処理決定装置。
【請求項３】
前記パケットデータ保持手段は、
前記連続するパケットデータを個別に格納する複数のバッファセルと、
前記連続するパケットデータの１つを格納するために、前記複数のバッファセルの何れか１つを割り当てるバッファセル割当手段と、
前記バッファセル割当手段によって割り当てられた前記バッファセルを、他のパケットデータの格納に備えて、解放するバッファセル解放手段と、
前記複数のバッファセルのそれぞれの割当状態を示すバッファセル割当情報を記憶するバッファセル割当情報記憶手段とを備え、前記パケットデータ割当手段は、前記バッファセル割当情報に基づいて、次に入力されるパケットデータの格納のために、前記複数のバッファセルの何れを割り当てるかを決定することを特徴とする、請求項２に記載のパケットデータ処理決定装置。
【請求項４】
前記複数のバッファセルの中で、前記パケットデータを格納中のバッファセルを示す格納中バッファセルポインタと、
前記複数のバッファセルの中で、前記保持パケットデータ識別手段が識別情報を読み出すべきパケットデータが保存されているバッファセルを示す対象バッファセルポインタとを備え、前記バッファセル割当手段は、当該格納中バッファセルポインタおよび当該アクセス対象バッファセルポインタの何れかが示すバッファセルをパケットデータ格納に割り当てないことを特徴とする、請求項３に記載のパケットデータ処理決定装置。
【請求項５】
前記格納中バッファセルポインタおよび前記アクセス対象バッファセルポインタに基づいて、前記保持パケットデータ識別手段の前記バッファセルに対するアクセスを制限する第１のアクセス制限手段をさらに備える、請求項４に記載のパケットデータ処理決定装置。
【請求項６】
前記第１のアクセス制限手段は、前記格納中バッファセルポインタが前記アクセス対象バッファセルポインタが示すのと同じバッファセルを示す間は当該バッファセルに対する前記保持パケットデータ識別手段のアクセスを禁止することを特徴とする、請求項５に記載のパケットデータ処理決定装置。
【請求項７】
前記第１のアクセス制限手段は、前記データ格納中バッファセルポインタが前記アクセス対象バッファセルポインタが示すのと異なるバッファセルを示す間は当該アクセス対象バッファセルポインタの示すバッファセルに対する前記保持パケットデータ識別手段のアクセスを許可することを特徴とする、請求項５に記載のパケットデータ処理決定装置。
【請求項８】
前記入力されるトランスポートストリームに含まれるデータエラーを検出してエラー検出信号を生成するデータエラー検出手段と、
前記エラー検出信号に基づいて、前記データエラーを含むパケットデータが格納されているバッファセルを示すエラーフラグ手段と、
前記エラーフラグ手段に基づいて、前記保持パケットデータ識別手段の前記バッファセルに対するアクセスを制限する第２のアクセス制限手段をさらに備える、請求項５に記載のパケットデータ処理決定装置。
【請求項９】
当該データ格納中バッファセルポインタが前記アクセス対象バッファセルポインタの示すのと異なるバッファセルを示す間でもあっても、当該アクセス対象バッファセルポインタの示すバッファセルが前記エラーフラグ手段によっても示される場合、当該バッファセルに対する前記保持パケットデータ識別手段のアクセスを禁止すると共に、前記バッファセル解放手段は当該バッファセルを解放することを特徴とする、請求項８に記載のパケットデータ処理決定装置。
【請求項１０】
前記処理対象判断信号が前記バッファセルに保持されているパケットデータは前記規定された処理の対象でないことを示す場合には、前記バッファセル解放手段は当該バッファセルを解放する共に、前記アクセス対象バッファセルポインタは当該解放されたバッファセルとは別のバッファセルを示すことを特徴とする、請求項４に記載のパケットデータ処理決定装置。
【請求項１１】
前記規定処理実行完了検出手段による、前記バッファセルに保持されているパケットデータに対して実行された前記トランスポートストリーム処理装置による前記規定された処理の完了の検出後に、前記バッファセル解放手段は当該バッファセルを解放する共に、前記アクセス対象バッファセルポインタは当該解放されたバッファセルとは別のバッファセルを示すことを特徴とする、請求項４に記載のパケットデータ処理決定装置。
【請求項１２】
前記複数のバッファセルはそれぞれに固有のバッファセル識別情報が付与されており、
前記バッファセル割当情報記憶手段は、前記バッファセル識別情報のそれぞれに対応づけられた第１および第２の値からなる二値情報を格納するバッファセル割当情報領域を備え、
前記バッファセル割当手段は、前記バッファセル割当情報領域に前記第１の値を書き込むことによって、対応するバッファセルを割当て、前記第２の値を書き込むことによって、対応するバッファセルを解放することを特徴とする、請求項４に記載のパケットデータ処理決定装置。
【請求項１３】
前記トランスポートストリームの前記複数のパケットデータは、ＩＴＵ−Ｔ勧告Ｈ．２２０．０に基づき、それぞれが属するパケットデータグループに固有の識別情報が付与されており、
前記処理対象パケットデータ識別情報は、前記パケットデータグループにそれぞれの識別情報を示すことを特徴とする、請求項１に記載のパケットデータ処理決定装置。
【請求項１４】
前記管理情報は、入力されるトランスポートストリーム毎に割り当てられるストリーム識別情報であることを特徴とする、請求項１に記載のパケットデータ処理決定装置。
【請求項１５】
前記管理情報は、さらに、前記パケットデータが入力された時刻を示すタイムスタンプを含むことを特徴とする、請求項１に記載のパケットデータ処理決定装置。
【請求項１６】
それぞれに識別情報が付与された連続する複数のパケットデータによって構成されるトランスポートストリームが複数入力されたとき、当該トランスポートストリームに対して所定の処理を施すトランスポートストリーム処理装置に用いられ、当該トランスポートストリーム処理装置での処理単位がパケットデータ単位となるように、入力されたトランスポートストリームのそれぞれを構成する各パケットデータが予め規定された処理の対象になっているか否かを個別に決定するためのパケットデータ処理決定方法であって、
前記複数のトランスポートストリームを構成する全てのパケットデータのそれぞれを一義的に識別する管理情報を生成して、当該パケットデータのそれぞれに付与するパケットデータ管理情報生成ステップと、
処理の対象となるパケットデータを識別するための処理対象パケットデータ識別情報を入力する識別情報入力ステップと、
前記管理情報が付与されたパケットデータのそれぞれを、入力されてくる順番に所定時間だけ保持するパケットデータ保持手段に保持させるパケットデータ保持ステップと、
前記保持されているパケットデータに付与されている管理情報から当該保持されているパケットデータを表すバッファパケット識別情報を生成する保持パケットデータ識別ステップと、
前記生成されたバッファパケット識別情報を前記処理対象パケットデータ識別情報と比較して、前記保持されているパケットデータが予め規定された処理の対象であるか否かを示す処理対象判断信号を生成すると共に、前記識別情報と前記管理情報とに基づいて、異なるトランスポートストリームを構成する同一の識別情報を有する複数のパケットデータのそれぞれが予め規定された処理の対象であるか否かを決定する処理対象パケット決定ステップと、
前記処理対象判断信号が前記保持されているパケットデータが予め規定された処理の対象でないことを示す場合は、当該パケットデータを保持しているパケットデータ保持手段を解放する第１のパケットデータ保持手段解放ステップとを備える、パケットデータ処理決定方法。
【請求項１７】
前記トランスポートストリーム処理装置による、前記パケットデータ保持手段に保存されたパケットデータ対して実行される前記規定された処理の完了を検出する規定処理実行完了検出ステップと、
前記規定処理完了の検出後に、前記パケットデータ保持手段を他のパケットデータの格納のために解放する第２のパケットデータ保持手段解放ステップをさらに備える、請求項１６に記載のパケットデータ処理決定方法。
【請求項１８】
前記パケットデータ保持手段は、前記連続するパケットデータを個別に格納する複数のバッファセルを備え、
前記複数のバッファセルのそれぞれの割当状態を示すバッファセル割当情報を記憶するバッファセル割当情報記憶ステップと、
前記バッファセル割当情報に基づいて、次に入力されるパケットデータの格納のために、前記複数のバッファセルの何れを割り当てるかを決定するパケットデータ割当ステップと、
前記バッファセルを、他のパケットデータの格納に備えて、解放するバッファセル解放ステップとを備える、請求項１７に記載のパケットデータ処理決定方法。
【請求項１９】
前記複数のバッファセルの中で、前記パケットデータを格納中のバッファセルを示す格納中バッファセルポインタと、
前記複数のバッファセルの中で、前記保持パケットデータ識別ステップにおいて、前記識別情報が読み出されるべきパケットデータが保存されているバッファセルを示す対象バッファセルポインタとを備え、前記バッファセル割当ステップは当該格納中バッファセルポインタおよび当該アクセス対象バッファセルポインタの何れかが示すバッファセルをパケットデータ格納に割り当てないことを特徴とする、請求項１８に記載のパケットデータ処理決定方法。
【請求項２０】
前記格納中バッファセルポインタおよび前記アクセス対象バッファセルポインタに基づいて、前記保持パケットデータ識別ステップの実行を制限する第１のアクセス制限ステップをさらに備える、請求項１９に記載のパケットデータ処理決定方法。
【請求項２１】
前記第１のアクセス制限ステップは、前記格納中バッファセルポインタが前記アクセス対象バッファセルポインタの示すのと同じバッファセルを示す間は前記保持パケットデータ識別ステップの実行を禁止することを特徴とする、請求項２０に記載のパケットデータ処理決定方法。
【請求項２２】
前記第１のアクセス制限ステップは、当該データ格納中バッファセルポインタが前記アクセス対象バッファセルポインタが示すのと異なるバッファセルを示す間は前記保持パケットデータ識別ステップの実行を許可することを特徴とする、請求項２０に記載のパケットデータ処理決定方法。
【請求項２３】
前記処理対象判断信号が前記バッファセルに保持されているパケットデータは前記規定された処理の対象でないことを示す場合には、前記アクセス対象バッファセルポインタに当該解放されたバッファセルとは別のバッファセルを示させる第１のアクセス対象バッファセルポインタ制御ステップをさらに備える請求項１９に記載のパケットデータ処理決定方法。
【請求項２４】
前記規定処理実行完了検出ステップにおける前記規定された処理の完了の検出後、且つ前記バッファセル解放ステップにおける当該バッファセルの解放の後に、前記アクセス対象バッファセルポインタに当該解放されたバッファセルとは別のバッファセルを示させる第２のアクセス対象バッファセルポインタ制御ステップをさらに備える請求項１９に記載のパケットデータ処理決定方法。
【請求項２５】
前記複数のバッファセルはそれぞれに固有のバッファセル識別情報が付与されており、
前記バッファセル識別情報のそれぞれに対応づけられた第１および第２の値からなる二値情報を記憶するバッファセル割当情報記憶ステップをさらに備え、前記第１の値が記憶されている場合は対応するバッファセルが割り当てられ、前記第２の値が記憶されている場合は対応するバッファセルが解放されることを特徴とする、請求項１９に記載のパケットデータ処理決定方法。
【請求項２６】
前記入力されるトランスポートストリームに含まれるデータエラーを検出してエラー検出信号を生成するデータエラー検出ステップと、
前記エラー検出信号に基づいて、前記データエラーを含むパケットデータが格納されているバッファセルを示すデータエラーバッファセル表示ステップと、
前記データエラーバッファセル表示ステップで表示されたバッファセルに対する、前記保持パケットデータ識別ステップの実行を制限する第２のアクセス制限ステップとをさらに備える、請求項１６に記載のパケットデータ処理決定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力されてくるトランスポートストリームを構成するパケットデータの個々を所定の処理対象であるかをリアルタイムに識別して、対応する場合には当該所定の処理に対してアクセスを許すパケットデータアクセス制御装置に関し、さらに詳述すればトランスポートストリームデコーダに組み込まれて、パケットデータ単位での処理を行う各種アプリケーションに対して同アプリケーションに対応するパケットデータの処理を許すパケットデータ処理決定装置に関する。
【０００２】
【従来の技術】
デジタルコンテンツに対して種々な処理や編集を施して副次利用すると言うような要求は、従来は放送局のようなコンテンツ制作或いは配信元にのみ可能であった。しかしながら、近年のデジタル技術の進歩により、インフラストラクチャとしてデジタル配信システムの質および量は日々に充実している。つまり、デジタルコンテンツを提供するトランスポートストリームの充実、ユーザによる処理に必要なハードウェアの性能アップ、およびそのためのコストの低減により、従来は放送局等の施設によってのみ実施されていた、トランスポートストリームの編集や、トランスポートストリームを構成するパケットデータの編集をユーザ側で楽しむための環境条件が整いつつある。
しかしながら、ユーザ側においてデジタルコンテンツ毎に所望の処理を施すためには、逐次入力されてくるトランスポートストリームを構成するパケットデータの個々に対して、リアルタイム選択し、さらに選択されたパケットデータに対して対応する処理或いは加工を施すべく処理手段のアクセスを許す手段が必要である。
【０００３】
そのような手段の一例と、図３４にトランスポートストリームを構成するパケットデータの個々をリアルタイムに識別して選択的に抽出する機能を有する従来実現されている装置を示す。同図に示すトランスポートデコーダは、複数の番組（Ｐｒｏｇｒａｍ）のそれぞれを形成するパケットデータ列から構成される単一のトランスポートストリームから特定の単一の番組を構成するパケットデータ群のみを抽出してＡＶデコーダに出力する。つまり、後述するように、同トランスポートデコーダには単一のトランスポートストリームを構成する複数のパケットデータの内で特定のパケットデータのみを選択的に抽出する手段が設けられている。
【０００４】
当該トランスポートストリームデコーダＴＤＡｃは、外部のトランスポートストリーム源（図示せず）から供給されるトランスポートストリームＴＳを受け取るストリーム入力器５００Ｃ、プログラムパケットフィルタＰＣＦ、メインメモリ制御器７００Ｃ、メインメモリ９００Ｃ、およびトランスポートストリームデコーダＴＤＡｃ全体の動作を制御するＴＤ制御器ＴＤＣｃを含む。
【０００５】
これら構成要素について説明する前に、先ず、図７を参照して、トランスポートストリームデコーダＴＤＡｃに入力される単一のトランスポートストリームＴＳについて説明する。トランスポートストリームＴＳは、図７においてそれぞれが１つの枠として表示されている複数のパケットデータＰから構成される。これらのパケットデータＰにはそれぞれに固有のパケット識別子（Ｐａｃｋｅｔ  ＩＤ）ＰＩＤが付与されて、それぞれの識別に供される。
【０００６】
これらのパケットデータＰは、α種類（αは２以上の整数）の番組毎にそのコンテンツを形成する複数の番組コンテンツパケットデータＰｃと、番組毎にこれら番組コンテンツパケットデータＰｃのパケット識別子ＰＩＤを記述した番組コンテンツパケットデータ管理表（Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅ  ）ＰＭＴと、番組毎に対応する番組コンテンツパケットデータ管理表ＰＭＴを記した番組コンテンツ管理表（Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅ）ＰＡＴ等に分類される。
【０００７】
これら番組コンテンツパケットデータＰｃを管理する情報を有する番組コンテンツ管理表ＰＡＴおよび番組コンテンツパケットデータ管理表ＰＭＴを、管理パケットデータＰｃＡと総称する。なお、図７においては、少なくとも３つの異なる番組１、番組２、および番組３を提供する場合（α≧３）のトランスポートストリームＴＳの構成が例示されている。
【０００８】
番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ１０１＿２、・・・は、番組１の映像データであり、番組コンテンツパケットデータＰｃ１１１＿１、Ｐｃ１１１＿２、・・・・は番組１の音声データである。同様に、番組コンテンツパケットデータＰｃ２０１＿１、Ｐｃ２０１＿２、・・・・は、番組２の映像データであり、番組コンテンツパケットデータＰｃ２１１＿１、Ｐｃ２１１＿２、・・・・は番組２の音声データである。
【０００９】
さらに、番組コンテンツパケットデータＰｃ３０１＿１、Ｐｃ３０１＿２、・・・・は番組３の映像データであり、番組コンテンツパケットデータＰｃ３１１＿１、Ｐｃ３１１＿２、・・・・は番組３の音声データである。上述のごとく映像データを有する番組コンテンツパケットデータＰｃを番組映像コンテンツパケットデータＰｃＶと、音声データを有する番組コンテンツパケットデータＰｃを番組音声コンテンツパケットデータＰｃＳとそれぞれ総称する。
【００１０】
なお、提供できる番組数（α）は３に限定されないことは言うまでも無く、提供する番組数に対応する必要なだけの番組コンテンツパケットデータＰｃがトランスポートストリームＴＳに含まれる。さらに、番組の内容によっては、映像や音声以外の情報（例えば、文字情報）に対応する番組コンテンツパケットデータＰｃも含まれることも同様である。
【００１１】
さらに詳述すれば、トランスポートストリームＴＳは、番組コンテンツパケットデータＰｃの間に、伝送経路および処理上の要因から定められる頻度で番組コンテンツ管理表ＰＡＴと番組コンテンツパケットデータ管理表ＰＭＴが配列されて構成される。図７において、番組１、２、および３の全３種類の番組を形成する複数の番組コンテンツパケットデータＰｃの内で、番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ１１１＿１、Ｐｃ２０１＿１、Ｐｃ２１１＿１、Ｐｃ３０１＿１、およびＰｃ３１１＿１の前に、番組毎の番組コンテンツパケットデータＰｃのパケット識別子ＰＩＤを記した番組コンテンツパケットデータ管理表ＰＭＴ１、ＰＭＴ２、およびＰＭＴ３と、これらの番組コンテンツパケットデータ管理表ＰＭＴのそれぞれのパケット識別子ＰＩＤに対応する番組とを示す番組コンテンツ管理表ＰＡＴからなる管理パケットデータＰｃＡが配されている。
【００１２】
なお、本明細書において、同一の部材や信号は共通の数字或いはアルファベットで構成される符号を識別子として附して表現し、同一の部材や信号であっても個々に識別を要する場合には、当該識別子にさらに数字或いはアルファベットによる接尾辞を附して個々の識別子として表現するものとする。よって、同一部材或いは信号において個々に識別を要しない場合には、識別子に接尾辞を附さずに表すものとする。具体的に言えば、番組コンテンツパケットデータＰｃ１０１は、番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ１０１＿２、・・・Ｐｃ１０１＿β（βは任意の自然数）の総称である。上述の番組コンテンツパケットデータＰｃ１１１、Ｐｃ２０１、Ｐｃ２１１、Ｐｃ３０１、およびＰｃ４０１についても同様である。
【００１３】
番組コンテンツ管理表ＰＡＴには、そのトランスポートストリームＴＳに含まれる全番組の番組コンテンツパケットデータ管理表ＰＭＴのパケット識別子ＰＩＤが記述されている。つまり、番組１の番組コンテンツパケットデータ管理表ＰＭＴのパケット識別子ＰＩＤは１００であり、番組２の番組コンテンツパケットデータ管理表ＰＭＴのパケット識別子ＰＩＤは２００であり、番組３の番組コンテンツパケットデータ管理表ＰＭＴのパケット識別子ＰＩＤは３００である、・・・、番組αの番組コンテンツパケットデータ管理表ＰＭＴのパケット識別子ＰＩＤはα００であると記述されている。
【００１４】
さらに、番組コンテンツパケットデータＰｃ１０１＿２、Ｐｃ１１１＿２、Ｐｃ２０１＿２、Ｐｃ２１１＿２、Ｐｃ３０１＿２、およびＰｃ３１１＿２の前には、前述の番組コンテンツパケットデータ管理表ＰＭＴ１、ＰＭＴ２、およびＰＭＴ３と番組コンテンツ管理表ＰＡＴとからなる管理パケットデータＰｃＡが再び配置されている。なお、トランスポートストリームＴＳが４以上の番組を含む（α≧４）の場合は、図７には明示されていないが、管理パケットデータＰｃＡには、番組コンテンツパケットデータ管理表ＰＭＴ４〜ＰＭＴαが含まれ、トランスポートストリームＴＳにはそれぞれの番組に対応する番組コンテンツパケットデータＰｃが含まれることは言うまでも無い。
【００１５】
トランスポートストリームＴＳに含まれるパケットデータＰの種類によって、管理パケットデータＰｃＡの配置頻度は大きく異る。さらに管理パケットデータＰｃＡは必ずしも、図７に例示したようにパケットデータＰの一まとまりとして配置されるとは限らない。場合によっては、管理パケットデータＰｃＡの構成単位である番組コンテンツ管理表ＰＡＴ、番組コンテンツパケットデータ管理表ＰＭＴおよび番組コンテンツパケットデータＰｃのそれぞれの間にほかのパケットデータＰが入り乱れて配されることもある。
【００１６】
図３４に戻って、トランスポートストリームデコーダＴＤＡｃの構成要素のそれぞれについて説明する。ストリーム入力器５００Ｃは、外部のトランスポートストリーム源（図示せず）から入力されるトランスポートストリームＴＳを内部に備えた入力バッファに一時的に保持して、転送単位ＴＳｄ毎にプログラムパケットフィルタＰＣＦに転送する。
【００１７】
プログラムパケットフィルタＰＣＦは、ストリーム入力器５００Ｃから転送単位ＴＳｄ毎に転送されてくる全番組コンテンツパケットデータＰｃのそれぞれに付与されているパケット識別子ＰＩＤに基づいて、管理パケットデータＰｃＡのみを選択的に出力するパケットフィルタ１１００＿００と、特定の番組の番組映像コンテンツパケットデータＰｃＶのみを選択的に出力するパケットフィルタ１１００＿０１と、当該特定の番組の番組音声コンテンツパケットデータＰｃＳのみを選択的に出力するパケットフィルタ１１００＿０２との少なくとも３つを有する。なお、入力されたトランスポートストリームＴＳに含まれる全パケットデータＰから抽出された、管理パケットデータＰｃＡと特定の番組のコンテンツを形成する番組コンテンツパケットデータＰｃ（ＰｃＶ、ＰｃＡ）とを併せて選択単一番組パケットデータ列Ｐｅｓと総称する。
【００１８】
上述のように、プログラムパケットフィルタＰＣＦに含まれる管理パケットデータＰｃＡの抽出用、番組映像コンテンツパケットデータＰｃＶの抽出用、および番組音声コンテンツパケットデータＰｃＳの抽出用の３種類のパケットフィルタのそれぞれを識別する必要のある場合には、それぞれ管理パケットフィルタ１１００＿００、映像パケットフィルタ１１００＿０１および音声パケットフィルタ１１００＿０２と表し、識別する必要の無い場合或いはそれらを総称する場合には単にパケットフィルタ１１００と表する。
【００１９】
プログラムパケットフィルタＰＣＦには、抽出する１つの番組を構成するコンテンツの種類数γ（γは自然数）に応じて、つまり抽出すべき番組コンテンツパケットデータＰｃの種類数に相当するγ個のパケットフィルタ１１００＿０１〜１１００＿０γと、トランスポートストリームＴＳから管理パケットデータＰｃＡを抽出する１個の管理パケットフィルタ１１００＿００の合計γ＋１個の管理パケットフィルタ１１００＿００〜１１００＿０γが設けられる。説明の簡便化のために本例においては、管理パケットフィルタ１１００＿００、映像パケットフィルタ１１００＿０１、音声パケットフィルタ１１００＿０２の３種類のみを有する場合について述べる。
【００２０】
トランスポートストリームＴＳに含まれる複数の番組を構成する番組コンテンツパケットデータＰｃの内、管理パケットデータＰｃＡ（ＰＡＴ、ＰＭＴ１、ＰＭＴ２、ＰＭＴ３）、番組１を構成する番組映像コンテンツパケットデータＰｃＶ（Ｐｃ１０１＿１、Ｐｃ１０１＿２、・・・）および番組音声コンテンツパケットデータＰｃＳ（Ｐｃ１１１＿１、Ｐｃ１１１＿２、・・・）は、それぞれトランスポートストリームデコーダＴＤＡｃに到着した順番に映像パケットフィルタ１１００＿０１および音声パケットフィルタ１１００＿０２によって抽出される。
【００２１】
そして、抽出された番組コンテンツ管理表ＰＡＴ、番組コンテンツパケットデータ管理表ＰＭＴ１、ＰＭＴ２、およびＰＭＴ３と、番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ１１１＿１、Ｐｃ１０１＿２、Ｐｃ１１１＿２、・・・は、トランスポートストリームデコーダＴＤＡｃに到着した順番に、選択単一番組パケットデータ列Ｐｅｓとしてメインメモリ制御器７００Ｃに出力される。
このように、プログラムパケットフィルタＰＣＦは、入力されるトランスポートストリームＴＳのパケットデータの個々をリアルタイムに識別して、選択的に抽出する機能を有する。
【００２２】
メインメモリ制御器７００Ｃは、プログラムパケットフィルタＰＣＦから入力される選択単一番組パケットデータ列Ｐｅｓを転送単位ＴＳｄ毎に一時的に保持すると共にメインメモリ９００Ｃを制御して、メインメモリ９００Ｃのそれぞれ異なる所定の領域に、管理パケットデータＰｃＡ、単一番組映像コンテンツパケットデータ列ＰｓｓＶ、および単一番組音声コンテンツパケットデータ列ＰｓｓＳ毎にメインメモリ９００Ｃの所定の領域に格納させる。
【００２３】
つまり、メインメモリ９００Ｃは、メインメモリ制御器７００Ｃを経由してプログラムパケットフィルタＰＣＦから入力される選択単一番組パケットデータ列Ｐｅｓに含まれる各パケットデータＰを、管理パケットデータＰｃＡ、番組映像コンテンツパケットデータＰｃＶおよび番組音声コンテンツパケットデータＰｃＡのいずれかに選別して、管理パケットデータＰｃＡ、単一番組映像コンテンツパケットデータ列ＰｓｓＶ、および単一番組音声コンテンツパケットデータ列ＰｓｓＳとして格納する。
【００２４】
さらに、メインメモリ制御器７００Ｃは、メインメモリ９００Ｃから単一番組映像コンテンツパケットデータ列ＰｓｓＶおよび単一番組音声コンテンツパケットデータ列ＰｓｓＳを読み出して転送単位ＴＳｄ毎に一時的に保持すると共に、単一番組パケットデータ列ＰｓｓとしてＡＶデコーダ２０００Ｃに代表される外部機器に出力する。
【００２５】
なお、トランスポートストリームデコーダＴＤＡｃは、上述の各構成要素の動作状態を示す状態信号ＳｒＷＣを生成してＴＤ制御器ＴＤＣｃに出力する。ＴＤ制御器ＴＤＣｃは、状態信号ＳｒＷＣに基づいて、トランスポートストリームデコーダＴＤＡｃの各構成要素の動作を制御する制御信号ＳｃＷＣを生成して、トランスポートストリームデコーダＴＤＡｃに出力する。
【００２６】
このようにして、ＴＤ制御器ＴＤＣｃはトランスポートストリームデコーダＴＤＡｃの動作全体を制御して、トランスポートストリームデコーダＴＤＡｃに入力される単一のトランスポートストリームＴＳから単一の番組を構成する番組コンテンツパケットデータＰｃのみを入力された順番で抽出して、単一番組パケットデータ列ＰｓｓとしてＡＶデコーダ２０００Ｃなどの外部機器に出力させる。ＡＶデコーダ２０００Ｃは、入力される単一番組パケットデータ列Ｐｓｓに含まれる番組映像コンテンツパケットデータＰｃＶおよび番組音声コンテンツパケットデータＰｃＳを順番にデコードして映像音声信号Ｓａｖを生成してユーザの視聴に供する。
【００２７】
図３５に、トランスポートストリームデコーダＴＤＡｃによって、図７に示したパケット構成を有する単一のトランスポートストリームＴＳに含まれる３つの番組から１つの番組の番組コンテンツパケットデータＰｃ（番組映像コンテンツパケットデータＰｃＶおよび番組音声コンテンツパケットデータＰｃＳ）と管理パケットデータＰｃＡ（ＰＡＴ、ＰＭＴ）のみが抽出されて構成される選択単一番組パケットデータ列Ｐｅｓの一例を示す。本例においては、番組１を構成する番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ１１１＿１、Ｐｃ１０１＿２、Ｐｃ１１１＿２、・・・、およびそれらを示す番組コンテンツ管理表ＰＡＴと番組コンテンツパケットデータ管理表ＰＭＴ１のみが抽出されて抽出パケットデータ列Ｐｓｅとして、プログラムパケットフィルタＰＣＦからメインメモリ制御器７００Ｃに出力される。
【００２８】
なお、指定番組以外の番組２および番組３を示す番組コンテンツパケットデータ管理表ＰＭＴ２およびＰＭＴ３が抽出されることもある。このように、入力されるトランスポートストリームＴＳに連続的に配列されたパケットデータＰから所定の番組に対応するパケットデータＰのみが離散的に抽出される。
【００２９】
図３６に、メインメモリ９００Ｃにおける選択単一番組パケットデータ列Ｐｅｓに含まれる番組コンテンツパケットデータＰｃのそれぞれの蓄積状態の一例を示す。メインメモリ９００Ｃは、番組映像コンテンツパケットデータＰｃＶである番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ１０１＿２、Ｐｃ１０１＿３、Ｐｃ１０１＿４、・・・を格納する映像パケット格納領域Ａ（ｖｉｄｅｏ）と、番組音声コンテンツパケットデータＰｃＳである番組コンテンツパケットデータＰｃ１１１＿１、Ｐｃ１１１＿２、Ｐｃ１１１＿３、Ｐｃ１１１＿４、・・・を格納する音声パケット格納領域Ａ（ａｕｄｉｏ）とを有する。さらに、管理パケットデータＰｃＡの構成要素である番組コンテンツ管理表ＰＡＴの情報を格納するＰＡＴ格納領域Ａ（ＰＡＴ）、番組コンテンツパケットデータ管理表ＰＭＴの情報を格納するＰＭＴ格納領域Ａ（ＰＭＴα）を有する。具体的に言えば、番組１の番組コンテンツパケットデータ管理表ＰＭＴ１は番組コンテンツパケットデータ管理表ＰＭＴ格納領域Ａ（ＰＭＴ１）に格納される。
【００３０】
番組映像コンテンツパケットデータＰｃＶである番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ１０１＿２、Ｐｃ１０１＿３、Ｐｃ１０１＿４、・・・が、映像パケット格納領域Ａ（ｖｉｄｅｏ）内に互いに隙間無く格納されることによって、単一番組映像コンテンツパケットデータ列ＰｓｓＶが形成される。同様に、番組音声コンテンツパケットデータＰｃＳである番組コンテンツパケットデータＰｃ１１１＿１、Ｐｃ１１１＿２、Ｐｃ１１１＿３、Ｐｃ１１１＿４、・・・が音声パケット格納領域Ａ（ａｕｄｉｏ）内に互いに隙間無く格納されることによって、単一番組音声コンテンツパケットデータ列ＰｓｓＳが形成される。
【００３１】
このように、メインメモリ９００Ｃ内に構成された単一番組映像コンテンツパケットデータ列ＰｓｓＶおよび単一番組音声コンテンツパケットデータ列ＰｓｓＳが、メインメモリ制御器７００Ｃによって、図３７に例示するような単一番組パケットデータ列Ｐｓｓとして読み出されて、ＡＶデコーダ２０００Ｃに出力される。
【００３２】
【発明が解決しようとする課題】
上記のごとく構成された従来のトランスポートストリームデコーダは、入力されるトランスポートストリームが単一の場合に、当該トランスポートストリームから同時に単一の番組のみを再生してユーザに提示する用途に対しては十分である。なぜならば、ＡＶデコーダは、入力されてくる単一の番組を構成する単一番組パケットデータ列Ｐｓｓに含まれるパケットデータＰを入力されてくる順番にデコードすれば良いからである。しかしながら、上述のトランスポートストリームデコーダでは、以下に大別される３種類の番組の再生形態において、再生した番組を同時にユーザに提示するか否かに関わらず対応できない。
【００３３】
（再生形態１）
単一のトランスポートストリームのみの入力を許す、つまりストリーム入力器が１つだけ用意される場合であって、当該トランスポートストリームから同時に複数の番組を再生する場合。
【００３４】
（再生形態２）
複数のトランスポートストリームの入力を許す、つまり複数のストリーム入力器が用意される場合。本生成形態においては、同時に入力されるトランスポートストリームが複数か単数かに関わらず、以下に分類する６種類の再生形態に細分される。
再生形態２−１：複数のトランスポートストリームのそれぞれから単一の番組のみを再生する場合。
再生形態２−２：複数のトランスポートストリームのそれぞれから同時に複数の番組を再生する場合。
再生形態２−３：複数のトランスポートストリームの特定の１つから単一の番組のみを再生する場合。
再生形態２−４：複数のトランスポートストリームの特定の１つから同時に複数の番組を再生する場合。
再生形態２−５：複数のトランスポートストリームの特定の幾つかから同時に複数の番組を再生する場合。
再生形態２−６：複数のトランスポートストリームの特定の幾つかから単一の番組のみを再生する場合。
【００３５】
（再生形態３）
トランスポートストリームから抽出された選択単一番組パケットデータ列Ｐｅｓに含まれるパケットデータＰ（Ｐｃ、ＰＡＴ、ＰＭＴ）の単位でのデータ処理を必要とする場合。この場合のデータ処理とは、番組コンテンツパケットデータＰｃ、番組コンテンツ管理表ＰＡＴ、或いは番組コンテンツパケットデータ管理表ＰＭＴそのものを加工したり、パケットデータＰ毎に個別に所定の処理を施す場合などが含まれる。
以下に、上述の各再生形態毎に従来のトランスポートストリームデコーダが適用できない理由について具体的に述べる。
【００３６】
再生形態１においては、単一のトランスポートストリームＴＳから同時に再生される複数の番組の内、ユーザの所望する特定の番組をユーザの所望する方法で提示する必要がある。この場合、少なくとも、選択単一番組パケットデータ列Ｐｅｓ或いは単一番組パケットデータ列Ｐｓｓに混在する番組コンテンツパケットデータＰｃのそれぞれと対応する番組との関係が識別且つ管理されて、その識別管理結果が情報として利用できるように準備されていなければならない。
【００３７】
従来のトランスポートストリームデコーダにおいても、複数の番組の番組コンテンツパケットデータ管理表ＰＭＴを抽出することは上述のように可能であるので、単一のトランスポートストリームＴＳにどのような番組の番組コンテンツパケットデータＰｃが含まれているかを知ることはできる。しかしながら、プログラムパケットフィルタＰＣＦに入力される複数の番組コンテンツパケットデータＰｃを特定の１つの番組を構成する番組コンテンツパケットデータＰｃのパケット識別子ＰＩＤという項目だけで単純にフィルタリングして出力しているので、当該特定の番組以外の番組にそれぞれに対応する番組コンテンツパケットデータＰｃは選択単一番組パケットデータ列Ｐｅｓ内には存在しない。当然、番組コンテンツパケットデータＰｃのそれぞれと対応する番組と識別管理結果の情報は獲得されない。
【００３８】
再生形態２においては、複数のトランスポートストリームＴＳが同時に入力され得る。つまり、複数のストリーム入力器のそれぞれには、種類、方式、或いはサプライヤの異なるδ種類（δは２以上の正の整数）のトランスポートストリームＴＳ＿１〜ＴＳ＿δが供給される可能性がある。このような状態において、複数のトランスポートストリームＴＳ＿１〜ＴＳδのそれぞれから単一の番組のみを再生する再生形態２−１、複数のトランスポートストリームＴＳ＿１〜ＴＳ＿δの特定の１つから単一の番組のみを再生する再生形態２−３、および複数のトランスポートストリームＴＳ＿１〜ＴＳ＿δの特定の幾つかから単一の番組のみを再生する再生形態２−６のいずれにおいても、再生される番組が属するトランスポートストリームＴＳの区別と、選択単一番組パケットデータ列Ｐｅｓ或いは単一番組パケットデータ列Ｐｓｓにおける番組コンテンツパケットデータＰｃとトランスポートストリームＴＳとの関係の識別が必要である。しかし、従来のトランスポートストリームデコーダにそのような区別や識別ができないことは上述の通りである。
【００３９】
また、複数のトランスポートストリームＴＳ＿１〜ＴＳ＿δのそれぞれから同時に複数の番組を再生する再生形態２−２、複数のトランスポートストリームＴＳ＿１〜ＴＳ＿δの特定の１つから同時に複数の番組を再生する再生形態２−４、および複数のトランスポートストリームＴＳ＿１〜ＴＳ＿δの特定の幾つかから同時に複数の番組を再生する再生形態２−５のいずれにおいても、再生された複数の番組の内ユーザの所望する番組を提示するためには、トランスポートストリームＴＳ＿１〜ＴＳ＿δおよび番組に関して選択単一番組パケットデータ列Ｐｅｓに含まれる全パケットデータＰ間の関係および識別情報が必要である。しかしながら、従来のトランスポートストリームデコーダにそのような識別ができないことは上述の通りである。
【００４０】
再生形態３に関しては、トランスポートストリームＴＳに含まれる番組に対応するパケットデータＰ（Ｐｃ、ＰＡＴ、ＰＭＴ）の個々に、ユーザの要求に応じた異なる処理を施す場合がある。例えば、ある番組はユーザに提示するために対応する番組コンテンツパケットデータＰｃを単純に順番に出力して、ＡＶデコーダ２０００Ｃにデコードさせてモニターに出力させる。別の番組は、外部の記憶装置に記憶させるために、その記憶装置および周辺機器の伝送条件に従って、対応する番組コンテンツパケットデータＰｃを含む新たなトランスポートストリームＴＳｒ（図示せず）を構成して出力する。この場合、要求される伝送条件に従って、番組コンテンツパケットデータＰｃを管理して新たなトランスポートストリームＴＳｒを生成するためには、上述の識別管理情報が必要である。さらに、必要に応じて、パケットデータＰそのものに加工を施す場合にも、対象となるパケットデータＰを特定し、加工後のパケットデータＰを正しく取り扱うために上述の識別管理情報が必要である。しかし、従来のトランスポートストリームデコーダにそのような識別ができないことは上述の通りである。
【００４１】
上述のように、従来のトランスポートストリームデコーダは単一のトランスポートストリームから単一の番組を再生する用途には適している。しかしながら、単一のトランスポートストリームに含まれる複数の番組の番組コンテンツパケットデータＰｃを番組毎に識別できない。
複数のトランスポートストリーム間が入力される際には、番組毎に番組コンテンツパケットデータＰｃを識別できないことに加えて、さらにトランスポートストリームの区別、トランスポートストリームと再生する番組の番組コンテンツパケットデータの関係を認識できない。
このように、従来のトランスポートストリームデコーダにおいては、入力されるトランスポートストリームが単一或いは複数の別に限らず、複数の番組を再生する用途には使用できない。複数のトランスポートストリームが入力される場合には、単一の番組を再生する用途にも使用できない。
【００４２】
さらに、上述のいずれの再生形態においても、単一および複数の別に限らず、入力されるトランスポートストリームＴＳから再生される複数の番組のそれぞれのコンテンツに応じた処理を施すためには、パケットフィルタ毎に個々の処理を施す装置に対応するインターフェースを設ける必要がある。そのため、装置の規模の巨大化、構造の複雑化、処理負荷の増大、仕様或いは要求処理の変更に対応不可、しいてはコストの増大という諸問題を招く。
本発明は上記の問題に鑑み、入力されてくるトランスポートストリームを構成するパケットデータの個々を所定の処理対象であるかをリアルタイムに識別して、対応する場合には当該所定の処理対象であることを示すパケットデータ処理決定装置を提供することを目的とする。
【００４３】
【課題を解決するための手段および発明の効果】
第１の発明は、それぞれに識別情報が付与された連続する複数のパケットデータによって構成されるトランスポートストリームが複数入力されたとき、トランスポートストリームに対して所定の処理を施すトランスポートストリーム処理装置に用いられ、トランスポートストリーム処理装置での処理単位がパケットデータ単位となるように、入力された複数のトランスポートストリームのそれぞれを構成する各パケットデータが予め規定された処理の対象になっているか否かを個別に決定するためのパケットデータ処理決定装置であって、
複数のトランスポートストリームを構成する全てのパケットデータのそれぞれを一義的に識別する管理情報を生成して、パケットデータのそれぞれに付与するパケットデータ管理情報生成手段と、
処理の対象となるパケットデータを識別するための処理対象パケットデータ識別情報を入力する識別情報入力手段と、
管理情報が付与されたパケットデータのそれぞれを、入力されてくる順番に所定時間だけ保持するパケットデータ保持手段と、
パケットデータ保持手段に保持されているパケットデータに付与されている管理情報から、当該パケットデータ保持手手段に保持されているパケットデータを表すバッファパケット識別情報を生成する保持パケットデータ識別手段と、
生成されたパケットバッファ識別情報を処理対象パケットデータ識別情報と比較して、保持されているパケットデータが予め規定された処理の対象であるか否かを示す処理対象判断信号を生成すると共に、識別情報と管理情報とに基づいて、異なるトランスポートストリームを構成する同一の識別情報を有する複数のパケットデータのそれぞれが予め規定された処理の対象であるか否かを個別に決定する処理対象パケットデータ選定手段とを備え、
生成されたパケットバッファ識別情報を処理対象パケットデータ識別情報と比較して、保持されているパケットデータが予め規定された処理の対象であるか否かを示す処理対象判断信号を生成すると共に、識別情報と管理情報とに基づいて、異なるトランスポートストリームを構成する同一の識別情報を有する複数のパケットデータのそれぞれが予め規定された処理の対象であるか否かを個別に決定する処理対象パケットデータ選定手段とを備え、
処理対象判断信号が保持されているパケットデータが予め規定された処理の対象でないことを示す場合は、パケットデータ保持手段は他のパケットデータの格納のために解放されることを特徴とする。
【００４４】
上記のように、第１の発明では、逐次入力される複数のトランスポートストリームのパケットデータの個々を一次的に格納して、その格納されたパケットデータが予め規定された処理のどれの対象であるかを識別することによって、パケットデータ単位での予め規定された処理の適応を可能にすると共に、パケットデータ保持手段が逐次入力される複数のトランスポートストリームのパケットデータの格納に必要とされるパケットデータ保持手段の容量を最小限にすることができる。
【００４５】
第２の発明は、第１の発明において、トランスポートストリーム処理装置による、パケットデータ保持手段に保存されたパケットデータ対して実行される規定された処理の完了を検出する規定処理実行完了検出手段をさらに備え、処理完了の検出後に、パケットデータ保持手段は他のパケットデータの格納のために解放されることを特徴とする。
【００４６】
上記のように、第２の発明では、パケットデータ保持手段がパケットデータの格納のために使用される時間を必要最小限に留めることができ、結果として逐次入力される複数のトランスポートストリームのパケットデータの格納に必要とされるパケットデータ保持手段の容量を最小限にすることができる。
【００４７】
第３の発明は、第２の発明において、パケットデータ保持手段は、
連続するパケットデータを個別に格納する複数のバッファセルと、
連続するパケットデータの１つを格納するために、複数のバッファセルのいずれか１つを割り当てるバッファセル割当手段と、
バッファセル割当手段によって割り当てられたバッファセルを、他のパケットデータの格納に備えて、解放するバッファセル解放手段と、
複数のバッファセルのそれぞれの割当状態を示すバッファセル割当情報を記憶するバッファセル割当情報記憶手段とを備え、パケットデータ割当手段は、バッファセル割当情報に基づいて、次に入力されるパケットデータの格納のために、複数のバッファセルのいずれを割り当てるかを決定することを特徴とする。
【００４８】
上記のように、第３の発明では、パケットデータ保持手段を構成するパケットデータ単で格納できるバッファセルの容量および個数を適正に設定することで、必要とされる容量を有するパケットデータ保持手段を容易に実現できる。
【００４９】
第４の発明は、第３の発明において、複数のバッファセルの中で、パケットデータを格納中のバッファセルを示す格納中バッファセルポインタと、
複数のバッファセルの中で、保持パケットデータ識別手段が識別情報を読み出すべきパケットデータが保存されているバッファセルを示す対象バッファセルポインタとを備え、バッファセル割当手段は、格納中バッファセルポインタおよびアクセス対象バッファセルポインタのいずれかが示すバッファセルをパケットデータ格納に割り当てないことを特徴とする。
【００５０】
上記のように、第４の発明では、バッファセルの使用状態を示す２種類のポインタによって、バッファセルを効率的に使用できる。
【００５１】
第５の発明は、第４の発明において、格納中バッファセルポインタおよびアクセス対象バッファセルポインタに基づいて、保持パケットデータ識別手段のバッファセルに対するアクセスを制限する第１のアクセス制限手段をさらに備える。
【００５２】
第６の発明は、第５の発明において、第１のアクセス制限手段は、格納中バッファセルポインタがアクセス対象バッファセルポインタが示すのと同じバッファセルを示す間はバッファセルに対する保持パケットデータ識別手段のアクセスを禁止することを特徴とする。
【００５３】
第７の発明は、第５の発明において、第１のアクセス制限手段は、データ格納中バッファセルポインタがアクセス対象バッファセルポインタが示すのと異なるバッファセルを示す間はアクセス対象バッファセルポインタの示すバッファセルに対する保持パケットデータ識別手段のアクセスを許可することを特徴とする。
【００５４】
上記のように、第５、第６、および第７の発明では、パケットデータが完全に格納された後に、識別情報の読み出しを禁止することによって、パケットデータの不完全な完全に起因するパケットデータの誤識別を防止できる。
【００５５】
第８の発明は、第５の発明において、入力されるトランスポートストリームに含まれるデータエラーを検出してエラー検出信号を生成するデータエラー検出手段と、
エラー検出信号に基づいて、データエラーを含むパケットデータが格納されているバッファセルを示すエラーフラグ手段と、
エラーフラグ手段に基づいて、保持パケットデータ識別手段のバッファセルに対するアクセスを制限する第２のアクセス制限手段をさらに備える。
【００５６】
第９の発明は、第８の発明において、データ格納中バッファセルポインタがアクセス対象バッファセルポインタの示すのと異なるバッファセルを示す間でもあっても、アクセス対象バッファセルポインタの示すバッファセルがエラーフラグ手段によっても示される場合、バッファセルに対する保持パケットデータ識別手段のアクセスを禁止すると共に、バッファセル解放手段はバッファセルを解放することを特徴とする。
【００５７】
上記のように、第８および第９の発明は、データエラーを含むパケットデータを格納したバッファセルに対する処理を制限することによって、処理の破綻の防止および処理の効率化を確保できる。
【００５８】
第１０の発明は、第４の発明において、処理対象判断信号がバッファセルに保持されているパケットデータは規定された処理の対象でないことを示す場合には、バッファセル解放手段はバッファセルを解放する共に、アクセス対象バッファセルポインタは解放されたバッファセルとは別のバッファセルを示すことを特徴とする。
【００５９】
第１１の発明は、第４の発明において、規定処理実行完了検出手段による、バッファセルに保持されているパケットデータに対して実行されたトランスポートストリーム処理装置による規定された処理の完了の検出後に、バッファセル解放手段はバッファセルを解放する共に、アクセス対象バッファセルポインタは解放されたバッファセルとは別のバッファセルを示すことを特徴とする。
【００６０】
上記のように、第１０および第１１の発明は、バッファセルがパケットデータの格納のために使用される時間を必要最小限に留めることができ、結果として逐次入力されるトランスポートストリームのパケットデータの格納に必要とされるバッファセルの数量を最小限にすることができる。
【００６１】
第１２の発明は、第４の発明において、複数のバッファセルはそれぞれに固有のバッファセル識別情報が付与されており、
バッファセル割当情報記憶手段は、バッファセル識別情報のそれぞれに対応づけられた第１および第２の値からなる二値情報を格納するバッファセル割当情報領域を備え、
バッファセル割当手段は、
バッファセル割当情報領域に第１の値を書き込むことによって、対応するバッファセルを割り当て、
第２の値を書き込むことによって、対応するバッファセルを解放することを特徴とする。
【００６２】
第１３の発明は、第１の発明において、トランスポートストリームの複数のパケットデータは、ＩＴＵ−Ｔ勧告Ｈ．２２０．０に基づき、それぞれが属するパケットデータグループに固有の識別情報が付与されており、
処理対象パケットデータ識別情報は、パケットデータグループにそれぞれの識別情報を示すことを特徴とする。
【００６３】
第１４の発明は、第１の発明において、管理情報は、入力されるトランスポートストリーム毎に割り当てられるストリーム識別情報であることを特徴とする。
【００６４】
第１５の発明は、第１の発明において、管理情報は、さらに、パケットデータが入力された時刻を示すタイムスタンプを含むことを特徴とする。
【００６５】
上記のように、第１４、および第１５の発明は、入力される複数のトランスポートストリームのそれぞれのパケットデータを正しく識別できる。
【００６６】
第１６の発明は、それぞれに識別情報が付与された連続する複数のパケットデータによって構成されるトランスポートストリームが複数入力されたとき、トランスポートストリームに対して所定の処理を施すトランスポートストリーム処理装置に用いられ、トランスポートストリーム処理装置での処理単位がパケットデータ単位となるように、入力されたトランスポートストリームのそれぞれを構成する各パケットデータが予め規定された処理の対象になっているか否かを個別に決定するためのパケットデータ処理決定方法であって、
複数のトランスポートストリームを構成する全てのパケットデータのそれぞれを一義的に識別する管理情報を生成して、パケットデータのそれぞれに付与するパケットデータ管理情報生成ステップと、
処理の対象となるパケットデータを識別するための処理対象パケットデータ識別情報を入力する識別情報入力ステップと、
パケットデータのそれぞれを、入力されてくる順番に所定時間だけ保持するパケットデータ保持手段に保持させるパケットデータ保持ステップと、
保持されているパケットデータに付与されている識別情報を読み出す保持パケットデータ識別ステップと、
読み出された識別情報を処理対象パケットデータ識別情報と比較して、保持されているパケットデータが予め規定された処理の対象であるか否かを示す処理対象判断信号を生成すると共に、識別情報と管理情報とに基づいて、異なるトランスポートストリームを構成する同一の識別情報を有する複数のパケットデータのそれぞれが予め規定された処理の対象であるか否かを決定する処理対象パケット決定ステップと、
処理対象判断信号が保持されているパケットデータが予め規定された処理の対象でないことを示す場合は、パケットデータを保持しているパケットデータ保持手段を解放する第１のパケットデータ保持手段解放ステップとを備える。
【００６７】
上記のように、第１６の発明では、逐次入力されるトランスポートストリームのパケットデータの個々を一次的に格納して、その格納されたパケットデータが予め規定された処理のどれの対象であるかを識別することによって、パケットデータ単位での予め規定された処理の適応を可能にすると共に、パケットデータ保持手段が逐次入力される複数のトランスポートストリームのパケットデータの格納に必要とされるパケットデータ保持手段の容量を最小限にすることができる。
【００６８】
第１７の発明は、第１６の発明において、トランスポートストリーム処理装置による、パケットデータ保持手段に保存されたパケットデータ対して実行される規定された処理の完了を検出する規定処理実行完了検出ステップと、
規定処理完了の検出後に、パケットデータ保持手段を他のパケットデータの格納のために解放する第２のパケットデータ保持手段解放ステップをさらに備える。
【００６９】
上記のように、第１６および第１７の発明では、パケットデータ保持手段がパケットデータの格納のために使用される時間を必要最小限に留めることができ、結果として逐次入力されるトランスポートストリームのパケットデータの格納に必要とされるパケットデータ保持手段の容量を最小限にすることができる。
【００７０】
第１８の発明は、第１７の発明において、パケットデータ保持手段は、連続するパケットデータを個別に格納する複数のバッファセルを備え、
複数のバッファセルのそれぞれの割当状態を示すバッファセル割当情報を記憶するバッファセル割当情報記憶ステップと、
バッファセル割当情報に基づいて、次に入力されるパケットデータの格納のために、複数のバッファセルのいずれを割り当てるかを決定するパケットデータ割当ステップと、
バッファセルを、他のパケットデータの格納に備えて、解放するバッファセル解放ステップとを備える。
【００７１】
上記のように、第１８の発明では、パケットデータ保持手段を構成するパケットデータ単で格納できるバッファセルの容量および個数を適正に設定することで、必要とされる容量を有するパケットデータ保持手段を容易に実現できる。
【００７２】
第１９の発明は、第１８の発明において、複数のバッファセルの中で、パケットデータを格納中のバッファセルを示す格納中バッファセルポインタと、
複数のバッファセルの中で、保持パケットデータ識別ステップにおいて、識別情報が読み出されるべきパケットデータが保存されているバッファセルを示す対象バッファセルポインタとを備え、バッファセル割当ステップは格納中バッファセルポインタおよびアクセス対象バッファセルポインタのいずれかが示すバッファセルをパケットデータ格納に割り当てないことを特徴とする。
【００７３】
上記のように、第１９の発明では、バッファセルの使用状態を示す２種類のポインタによって、バッファセルを効率的に使用できる。
【００７４】
第２０の発明は、第１９の発明において、格納中バッファセルポインタおよびアクセス対象バッファセルポインタに基づいて、保持パケットデータ識別ステップの実行を制限する第１のアクセス制限ステップをさらに備える。
【００７５】
第２１の発明は、第２０の発明において、第１のアクセス制限ステップは、格納中バッファセルポインタがアクセス対象バッファセルポインタの示すのと同じバッファセルを示す間は保持パケットデータ識別ステップの実行を禁止することを特徴とする。
【００７６】
第２２の発明は、第２１の発明において、第１のアクセス制限ステップは、データ格納中バッファセルポインタがアクセス対象バッファセルポインタが示すのと異なるバッファセルを示す間は保持パケットデータ識別ステップの実行を許可することを特徴とする。
【００７７】
上記のように、第２０、第２１、および第２２の発明では、パケットデータが完全に格納された後に、識別情報の読み出しを禁止することによって、パケットデータの不完全な完全に起因するパケットデータの誤識別を防止できる。
【００７８】
第２３の発明は、第１９の発明において、処理対象判断信号がバッファセルに保持されているパケットデータは規定された処理の対象でないことを示す場合には、アクセス対象バッファセルポインタに解放されたバッファセルとは別のバッファセルを示させる第１のアクセス対象バッファセルポインタ制御ステップをさらに備える。
【００７９】
第２４の発明は、第１９の発明において、規定処理実行完了検出ステップにおける規定された処理の完了の検出後、且つバッファセル解放ステップにおけるバッファセルの解放の後に、アクセス対象バッファセルポインタに解放されたバッファセルとは別のバッファセルを示させる第２のアクセス対象バッファセルポインタ制御ステップをさらに備える。
【００８０】
上記のように、第２３および第２４の発明は、バッファセルがパケットデータの格納のために使用される時間を必要最小限に留めることができ、結果として逐次入力されるトランスポートストリームのパケットデータの格納に必要とされるバッファセルの数量を最小限にすることができる。
【００８１】
第２５の発明は、第１９の発明において、複数のバッファセルはそれぞれに固有のバッファセル識別情報が付与されており、
バッファセル識別情報のそれぞれに対応づけられた第１および第２の値からなる二値情報を記憶するバッファセル割当情報記憶ステップをさらに備え、第１の値が記憶されている場合は対応するバッファセルが割り当てられ、第２の値が記憶されている場合は対応するバッファセルが解放されることを特徴とする。
【００８２】
第２６の発明は、第１６の発明において、入力されるトランスポートストリームに含まれるデータエラーを検出してエラー検出信号を生成するデータエラー検出ステップと、
エラー検出信号に基づいて、データエラーを含むパケットデータが格納されているバッファセルを示すデータエラーバッファセル表示ステップと、
データエラーバッファセル表示ステップで表示されたバッファセルに対する、保持パケットデータ識別ステップの実行を制限する第２のアクセス制限ステップとをさらに備える。
【００８３】
上記のように、第２６の発明は、データエラーを含むパケットデータを格納したバッファセルに対する処理を制限することによって、処理の破綻の防止および処理の効率化を確保できる。
【００８４】
【発明の実施の形態】
（第１の実施形態）
以下に、図１、図２、図３、図４、図５、図７、図８、図９、図１０、図１１、図１２、図１３、および図１４を参照して、本発明の第１の実施形態にかかる本発明にかかるパケットデータ識別装置について説明する。なお、本発明にかかるパケットデータ識別装置は、本実施形態においては単一のトランスポートストリームＴＳに含まれる複数の番組のコンテンツデータを選択的に抽出するトランスポートストリームデコーダに用いられるデータバッファリング装置として構成される。
【００８５】
先ず、図１０、図１１、図１３、および図１４を参照して、本実施形態にかかるパケットデータ処理決定器を組み込んだトランスポートストリームデコーダの基本的概念について述べる。
図１０に、本実施形態におけるのと同様に単一のトランスポートストリームＴＳから複数の番組を抽出する用途に適応させるべく提案する、図３４に示した従来のトランスポートストリームデコーダＴＤＡｃの第１の改良例を示す。第１の改良であるトランスポートストリームデコーダＴＤＡＡ１は、基本的に図３４に示したトランスポートストリームデコーダＴＤＡｃにおけるプログラムパケットフィルタＰＣＦが拡張プログラムパケットフィルタＥＰＣＦに置き換えられて構成される。
【００８６】
拡張プログラムパケットフィルタＥＰＣＦについて説明する前に、先ず、図１１、図１３、図１４、および前述の図７を参照して、トランスポートストリームデコーダＴＤＡＡ１の動作について述べる。トランスポートストリームデコーダＴＤＡＡ１は、図７を参照して説明したデータ構成を有する単一のトランスポートストリームＴＳに含まれる複数の番組の番組コンテンツパケットデータＰｃの内、特定の複数の番組を構成する番組コンテンツパケットデータＰｃを選択的に抽出して複数番組パケットデータ列Ｐｍｓとして、ＡＶデコーダ２０００Ｃに出力する。
【００８７】
図１１に、トランスポートストリームデコーダＴＤＡＡ１によって、図７に示したパケット構成を有する単一のトランスポートストリームＴＳに含まれる３つの番組から２つの番組の番組コンテンツパケットデータＰｃ（番組映像コンテンツパケットデータＰｃＶおよび番組音声コンテンツパケットデータＰｃＳ）と管理パケットデータＰｃＡ（ＰＡＴ、ＰＭＴ）のみが抽出されて構成される選択複数番組パケットデータ列Ｐｅｍの一例を示す。
【００８８】
本例においては、番組１を構成する番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ１１１＿１、Ｐｃ１０１＿２、Ｐｃ１１１＿２、・・・、番組２を構成する番組コンテンツパケットデータＰｃ２０１＿１、Ｐｃ２１１＿１、Ｐｃ２０１＿２、Ｐｃ２１１＿２、・・・、およびそれらを示す番組コンテンツ管理表ＰＡＴと番組コンテンツパケットデータ管理表ＰＭＴ１とＰＭＴ２のみが抽出されて選択複数番組パケットデータ列Ｐｅｍとして、拡張プログラムパケットフィルタＥＰＣＦからメインメモリ制御器７００Ｃに出力される。
【００８９】
なお、指定番組以外の番組３を示す番組コンテンツパケットデータ管理表ＰＭＴ３が抽出されることもある。このように、入力されるトランスポートストリームＴＳに連続的に配列されたパケットデータＰから所定の複数の番組に対応するパケットデータＰのみが離散的に抽出されると共に、トランスポートストリームデコーダＴＤＡＡ２に到着した順番
に出力される。
【００９０】
図１３に、外部に設けられたフロントエンド部を介してトランスポートストリームデコーダＴＤＡＡ１に入力されたトランスポートストリームＴＳから抽出された混合選択複数番組パケットデータ列Ｐｅｍｓに含まれるパケットデータＰのそれぞれのメインメモリ９００Ｃにおける蓄積状態の一例を示す。なお、同図において、ストリーム入力器５００Ｃ、拡張プログラムパケットフィルタＥＰＣＦ、メインメモリ制御器７００Ｃ、およびＴＤ制御器１０００Ｃは、トランスポートストリーム編集部ＴＤＡＡ１ｒと表示されている。
【００９１】
メインメモリ９００Ｃにおける混合選択複数番組パケットデータ列Ｐｅｍｓに含まれる番組コンテンツパケットデータＰｃのそれぞれの蓄積状態の一例を示す。メインメモリ９００Ｃの映像パケット格納領域Ａ（ｖｉｄｅｏ）には、番組１および番組２の番組映像コンテンツパケットデータＰｃＶである番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ２０１＿１、Ｐｃ１０１＿２、Ｐｃ２０１＿２、・・・が格納され、音声パケット格納領域Ａ（ａｕｄｉｏ）には番組１および番組２の番組音声コンテンツパケットデータＰｃＳである番組コンテンツパケットデータＰｃ１１１＿１、Ｐｃ２１１＿１、Ｐｃ１１１＿２、Ｐｃ２１１＿２、・・・が格納される。
【００９２】
さらに、ＰＡＴ格納領域Ａ（ＰＡＴ）には、管理パケットデータＰｃＡの構成要素である番組コンテンツ管理表ＰＡＴの情報が格納され、ＰＭＴ格納領域Ａ（ＰＭＴα）には番組コンテンツパケットデータ管理表ＰＭＴ１およびＰＭＴ２の情報が格納される。具体的に言えば、番組１の番組コンテンツパケットデータ管理表ＰＭＴ１は番組コンテンツパケットデータ管理表ＰＭＴ格納領域Ａ（ＰＭＴ１）に格納され、番組２の番組コンテンツパケットデータ管理表ＰＭＴ２は番組コンテンツパケットデータ管理表ＰＭＴ格納領域Ａ（ＰＭＴ２）に格納される。
【００９３】
番組１および番組２の番組映像コンテンツパケットデータＰｃＶである番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ２０１＿１、Ｐｃ１０１＿２、Ｐｃ２０１＿２、・・・が、映像パケット格納領域Ａ（ｖｉｄｅｏ）内に互いに隙間無く格納されることによって、複数番組映像コンテンツパケットデータ列ＰｍｓＶが形成される。同様に、番組１および番組２の番組音声コンテンツパケットデータＰｃＳである番組コンテンツパケットデータＰｃ１１１＿１、Ｐｃ２１１＿１、Ｐｃ１１１＿２、Ｐｃ２１１＿２、・・・が音声パケット格納領域Ａ（ａｕｄｉｏ）内に互いに隙間無く格納されることによって、複数番組音声コンテンツパケットデータ列ＰｍｓＳが形成される。
【００９４】
このように、メインメモリ９００Ｃ内に構成された複数番組映像コンテンツパケットデータ列ＰｍｓＶおよび複数番組音声コンテンツパケットデータ列ＰｍｓＳが、メインメモリ制御器７００Ｃによって、図１４に例示するような複数番組パケットデータ列Ｐｍｓとして読み出されて、ＡＶデコーダ２０００Ｃに出力される。なお、番組コンテンツパケットデータ管理表ＰＭＴ格納領域Ａ（ＰＭＴ）は、トランスポートストリームＴＳに含まれている番組コンテンツパケットデータ管理表ＰＭＴ（番組）の種類だけ用意されることは上述の通りである。
【００９５】
図１０に示すように、拡張プログラムパケットフィルタＥＰＣＦはストリーム入力器５００Ｃから転送単位ＴＳｄ毎に転送されてくる入力される全パケットデータＰのそれぞれに付与されているパケット識別子ＰＩＤに基づいて、管理パケットデータＰｃＡのみを選択的に出力する管理パケットフィルタＰＣＦ＿０と、番組１の番組コンテンツパケットデータＰｃのみを選択的に抽出する第１プログラムパケットフィルタＰＣＦ＿１と、番組２の番組コンテンツパケットデータＰｃのみを選択的に抽出する第２プログラムパケットフィルタＰＣＦ＿２とを含む。
【００９６】
管理パケットフィルタＰＣＦ＿０は図３４に示した管理パケットフィルタ１１００＿００で構成される。さらに、第１プログラムパケットフィルタＰＣＦ＿１は、入力されるトランスポートストリームＴＳに含まれる全番組コンテンツパケットデータＰｃから、番組１の番組映像コンテンツパケットデータＰｃＶのみを抽出して第１番組映像コンテンツパケットデータＰｃＶ＿１として出力する第１映像パケットフィルタ１１００＿１１と、番組１の番組音声コンテンツパケットデータＰｃＳのみを抽出して、第１番組音声コンテンツパケットデータＰｃＳ＿１として出力する第１音声パケットフィルタ１１００＿１２を有する。なお、第１映像パケットフィルタ１１００＿１１および第１音声パケットフィルタ１１００＿１２はそれぞれに設定されるフィルタ値を除いては、図３４に示したプログラムパケットフィルタＰＣＦを構成する映像パケットフィルタ１１００＿０１および音声パケットフィルタ１１００＿０２と基本的に同一の構成を有する。
【００９７】
同様に、第２プログラムパケットフィルタＰＣＦ＿２も、入力されるトランスポートストリームＴＳに含まれる全番組コンテンツパケットデータＰｃから、番組２の番組映像コンテンツパケットデータＰｃＶのみを抽出して第２番組映像コンテンツパケットデータＰｃＶ＿２として出力する第２映像パケットフィルタ１１００＿２１と、番組２の番組音声コンテンツパケットデータＰｃＳのみを抽出して、第２番組音声コンテンツパケットデータＰｃＳ＿２として出力する第２音声パケットフィルタ１１００＿２２を有する。なお、第２映像パケットフィルタ１１００＿２１および第２音声パケットフィルタ１１００＿２２も、設定されるフィルタ値を除けば、基本的には映像パケットフィルタ１１００＿０１および音声パケットフィルタ１１００＿０２と同一に構成される。
【００９８】
つまり、本例における拡張プログラムパケットフィルタＥＰＣＦは、図３４に示したプログラムパケットフィルタＰＣＦに、さらに番組２の番組映像コンテンツパケットデータＰｃＶおよび番組音声コンテンツパケットデータＰｃＳを抽出するための映像パケットフィルタ１１００＿０１および音声パケットフィルタ１１００＿０２を追加した構成である。
【００９９】
この意味において、拡張プログラムパケットフィルタＥＰＣＦは、最大で単一のトランスポートストリームＴＳに含まれる番組の数αに応じたプログラムパケットフィルタＰＣＦ＿１〜ＰＣＦ＿αと、単一のトランスポートストリームＴＳに含まれる番組コンテンツパケットデータＰｃの関係を示す管理パケットデータＰｃＡを抽出する管理パケットフィルタＰＣＦ＿０の１つとで構成される。さらに、プログラムパケットフィルタＰＣＦ＿１〜ＰＣＦ＿αのそれぞれは、最大で、γ個のパケットフィルタ１０００＿α’１〜１０００＿α’γ（α’は１以上、且つα以下の自然数）を有する。
【０１００】
上述のように、プログラムパケットフィルタＰＣＦに含まれる管理パケットデータＰｃＡの抽出用、管理パケットデータＰｃＡの抽出用、および番組音声コンテンツパケットデータＰｃＳの抽出用の３種類のパケットフィルタのそれぞれを識別する必要のある場合には、それぞれ管理パケットフィルタ１１００＿００、映像パケットフィルタ１１００＿１γ’（γ’は１以上、且つγ以下の自然数）および音声パケットフィルタ１１００＿２γ’と表し、識別する必要の無い場合或いはそれらを総称する場合には単にパケットフィルタ１１００＿α’γ’と表する。
【０１０１】
トランスポートストリームＴＳに含まれるα種類の番組を構成する番組コンテンツパケットデータＰｃの内、管理パケットデータＰｃＡ（ＰＡＴ、ＰＭＴ１、ＰＭＴ２、ＰＭＴ３）、番組１を構成する第１番組映像コンテンツパケットデータＰｃＶ＿１（Ｐｃ１０１＿１、Ｐｃ１０１＿２、・・・）および管理パケットデータＰｃＡ１（Ｐｃ１１１＿１、Ｐｃ１１１＿２、・・・）は、それぞれトランスポートストリームデコーダＴＤＡＡ１に到着した順番に第１映像パケットフィルタ１１００＿１１および第１音声パケットフィルタ１１００＿１２によって抽出される。
【０１０２】
同様に、番組２を構成する第２番組映像コンテンツパケットデータＰｃＶ＿２（Ｐｃ２０１＿１、Ｐｃ２０１＿２、・・・）および管理パケットデータＰｃＡ２（Ｐｃ２１１＿１、Ｐｃ２１１＿２、・・・）は、それぞれトランスポートストリームデコーダＴＤＡＡ１に到着した順番に第２映像パケットフィルタ１１００＿２１および第２音声パケットフィルタ１１００＿２２によって抽出される。
そして、抽出された番組コンテンツ管理表ＰＡＴ、番組コンテンツパケットデータ管理表ＰＭＴ１、ＰＭＴ２、およびＰＭＴ３と、番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ１１１＿１、Ｐｃ２０１＿１、Ｐｃ２１１＿２、Ｐｃ１０１＿２、Ｐｃ１１１＿２、Ｐｃ２０１＿１、Ｐｃ２１１＿２、・・・は、トランスポートストリームデコーダＴＤＡＡ１に到着した順番に、選択複数番組パケットデータ列Ｐｅｍとしてメインメモリ制御器７００Ｃに出力される。
【０１０３】
メインメモリ制御器７００Ｃは、プログラムパケットフィルタＰＣＦから入力される選択複数番組パケットデータ列Ｐｅｍを転送単位ＴＳｄ毎に一時的に保持すると共にメインメモリ９００Ｃを制御して、メインメモリ９００Ｃのそれぞれ異なる所定の領域に、管理パケットデータＰｃＡ、複数番組映像コンテンツパケットデータ列ＰｍｓＶ、および複数番組音声コンテンツパケットデータ列ＰｍｓＳとしてメインメモリ９００Ｃの所定の領域に格納させる。
【０１０４】
さらに、メインメモリ制御器７００Ｃは、ＡＶデコーダ２０００Ｃに代表される外部機器からの要求に応じて、メインメモリ９００Ｃから複数番組映像コンテンツパケットデータ列ＰｍｓＶおよび複数番組音声コンテンツパケットデータ列ＰｍｓＳを読み出して、複数番組パケットデータ列ＰｍｓとしてＡＶデコーダ２０００Ｃに出力する。
【０１０５】
この場合、ユーザが番組１および番組２のいずれか一方に対して、所望の処理（例えばモニターでの表示）を要求する場合、これに応えるためにトランスポートストリームデコーダＴＤＡＡ１は、少なくとも以下に列記する状況を識別すると共にその情報を生成して保持する必要がある。識別すべき状況とは、先ず、ストリーム入力器５００Ｃから拡張プログラムパケットフィルタＥＰＣＦに入力される転送単位ＴＳｄと番組コンテンツパケットデータＰｃとの対応、およびパケット識別子ＰＩＤとの関係である。
【０１０６】
さらに、拡張プログラムパケットフィルタＥＰＣＦに含まれるプログラムパケットフィルタＰＣＦ＿１〜ＰＣＦ＿αのそれぞれから出力された番組コンテンツパケットデータＰｃのパケット識別子ＰＩＤおよび順番である。そして、ユーザが所望の処理の内容と、その処理を実行するための種々の処理方法およびデバイス、そして処理方法のそれぞれに対応する番組およびパケットデータとの関係である。保持すべき情報とは、後行程における処理にて利用できるように、識別された状況を識別管理データとして表現することである。
【０１０７】
そして、特定の番組に対する処理要求がＡＶデコーダ２０００Ｃ等の外部機器からあった場合には、前述の識別管理データに基づいてメインメモリ制御器７００Ｃがメインメモリ９００Ｃに格納された選択複数番組パケットデータ列Ｐｅｍの内、対応する番組の番組コンテンツパケットデータＰｃをユーザに対する提示の順番に読み出す。このような処理を、拡張プログラムパケットフィルタＥＰＣＦの前後でのデータの流れを制御して行うことはできない。
また、再生する番組の数（α’）だけプログラムパケットフィルタＰＣＦが必要であり、さらに識別するパケットデータＰの種類だけパケットフィルタ１１００が必要であり、識別されたパケットデータＰに固有の処理を施すための処理手段が必要になる。結果、装置の無制限な巨大化且つ製造コストの増大を招く。
【０１０８】
そこで、本実施形態においては、逐次入力されてくるトランスポートストリームＴＳを構成する全パケットデータＰを個々にバッファリングすると共に、個々にバッファリングされているパケットデータＰを識別して、同パケットデータＰがユーザの所望する処理対象であるかを判断して、同パケットデータＰに対するアクセスおよび処理をリアルタイム制御する機能を備えたデータバッファリング装置を新たに考案する。
【０１０９】
さらに、リアルタイム処理時間内でのアクセス或いは加工時間を保証するために、対象パケットデータをバッファセル内に所定時間だけ確保することをソフトウェア制御で保証し、それ以外の受動的処理についてはハードウェア制御に任せる。結果、パケットデータＰ単位でのより柔軟な識別管理を可能にし、識別されたパケットデータＰに対して固有の処理を施す後行程に対する処理タイミング調整も容易なパケットデータ処理決定器を提供するものである。
【０１１０】
図１に、本例にかかるデータバッファリング装置ＤＢＡ１を組み込んだトランスポートストリームデコーダＴＤ１を示す。トランスポートストリームデコーダＴＤ１は、外部のトランスポートストリーム源（図示せず）からパケット単位で供給されるトランスポートストリームＴＳを受け取るストリーム入力器ＴＳＲ、データバッファリング装置ＤＢＡ１、メインメモリ制御器７００、メインメモリ９００、ＴＤ制御器ＴＤＣ１、および副次処理要求入力器ＡＰＲを含む。
【０１１１】
これら構成要素について説明する前に、先ず、図８、図１２、図１４、および前述の図７および図１１を参照して、本実施形態におけるトランスポートストリームデコーダＴＤ１の基本的概念について述べる。トランスポートストリームデコーダＴＤ１には、既に図７を参照して説明した３つの異なる番組１、番組２、および番組３を提供するデータ構成を有するトランスポートストリームＴＳが１つだけ入力される。
【０１１２】
トランスポートストリームデコーダＴＤ１においては、図１１を参照して説明したように、入力される単一のトランスポートストリームＴＳから番組１および番組２の番組コンテンツパケットデータＰｃコンテンツのみが抽出されて、選択複数番組パケットデータ列Ｐｅｍが生成される。そして、生成された選択複数番組パケットデータ列Ｐｅｍをメインメモリ制御器７００を経由してメインメモリ９００に出力される。なお、トランスポートストリームＴＳから番組１および番組２の番組コンテンツパケットデータＰｃのみを抽出する考え方は、図１１を参照して説明したのと基本的に同じである。しかしながら、本実施形態においては、拡張プログラムパケットフィルタＥＰＣＦを用いずにデータバッファリング装置ＤＢＡ１によって行う点が異なるが、これに付いては後ほど図４、図５、および図６を参照して詳しく述べる。
【０１１３】
図８に、外部に設けられたフロントエンド部を介してトランスポートストリームデコーダＴＤ１に入力されたトランスポートストリームＴＳから抽出された選択複数番組パケットデータ列Ｐｅｍに含まれる番組コンテンツパケットデータＰｃのそれぞれのメインメモリ９００における蓄積状態の一例を示す。なお、同図において、ストリーム入力器ＴＳＲ、データバッファリング装置ＤＢＡ１、メインメモリ制御器７００、ＴＤ制御器ＴＤＣ１、および副次処理要求入力器ＡＰＲは、トランスポートストリーム編集部ＴＤ１ｒと表示されている。
【０１１４】
本実施形態におけるメインメモリ９００は、図１３に示したメインメモリ９００Ｃと基本的に同様に構成されて、その映像パケット格納領域Ａ（ｖｉｄｅｏ）には番組１および
番組２の番組映像コンテンツパケットデータＰｃＶである番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ２０１＿１、Ｐｃ１０１＿２、Ｐｃ２０１＿２、・・・が互いに隙間無く格納されて複数番組映像コンテンツパケットデータ列ＰｍｓＶが形成される。
【０１１５】
同様に、音声パケット格納領域Ａ（ａｕｄｉｏ）には番組１および番組２の番組音声コンテンツパケットデータＰｃＳである番組コンテンツパケットデータＰｃ１１１＿１、Ｐｃ２１１＿１、Ｐｃ１１１＿２、Ｐｃ２１１＿２、・・・が互いに隙間無く格納されて複数番組音声コンテンツパケットデータ列ＰｍｓＳが形成される。
【０１１６】
さらに、ＰＡＴ格納領域Ａ（ＰＡＴ）には、管理パケットデータＰｃＡの構成要素である番組コンテンツ管理表ＰＡＴの情報が格納され、ＰＭＴ格納領域Ａ（ＰＭＴα）には番組コンテンツパケットデータ管理表ＰＭＴ１およびＰＭＴ２の情報が格納される。なお、番組コンテンツパケットデータ管理表ＰＭＴ格納領域Ａ（ＰＭＴ）は、トランスポートストリームＴＳに含まれている番組コンテンツパケットデータ管理表ＰＭＴ（番組）の種類だけ用意されることは上述の通りである。番組コンテンツ管理表ＰＡＴには、入力されるトランスポートストリームＴＳに含まれるすべての番組コンテンツパケットデータ管理表ＰＭＴ１〜ＰＭＴαに関して記述されていることは上述の通りである。
【０１１７】
このように、メインメモリ９００内に構成された複数番組映像コンテンツパケットデータ列ＰｍｓＶおよび複数番組音声コンテンツパケットデータ列ＰｍｓＳが、メインメモリ制御器７００によって、図１４に例示した複数番組パケットデータ列Ｐｍｓとして読み出されて、トランスポートストリームデコーダＴＤ１の外部に出力される。
【０１１８】
図１に戻って、トランスポートストリームデコーダＴＤ１の構成要素のそれぞれについて詳しく説明する。ストリーム入力器ＴＳＲは、外部のトランスポートストリーム源（図示せず）からパケット単位で供給されるトランスポートストリームＴＳを内部に備えた入力バッファに一時的に保持して、所定の転送単位ＴＳｄ毎にデータバッファリング装置ＤＢＡ１に転送する。なお、本例においては、転送単位ＴＳｄは８バイトに設定されているが、データバッファリング装置ＤＢＡ１における調停負荷および伝送効率を考慮して任意に定めることができる。
【０１１９】
データバッファリング装置ＤＢＡ１は、ストリーム入力器ＴＳＲから逐次供給される転送単位ＴＳｄのトランスポートストリームＴＳをパケットデータＰ単位で管理蓄積すると共に、トランスポートストリームＴＳに含まれる番組コンテンツパケットデータＰｃをリアルタイムに個別選択的に出力する。なお、本実施形態においては、３つの番組を含むトランスポートストリームＴＳから、２つの番組の番組コンテンツパケットデータＰｃのみを抽出して選択複数番組パケットデータ列Ｐｅｍとして出力される例について述べる。
【０１２０】
なお、本発明においては、トランスポートストリームＴＳに含まれるパケットデータＰを個別にバッファセルＢｃに格納すると共に、格納しているパケットデータＰの内容を識別し、当該パケットデータＰに対するアクセスおよび処理を可能ならしめる装置である。しかしながら、上述の従来技術との対比を容易にするために、本実施形態においてはパケットデータＰに対するアクセスおよび処理の一例として、特定の番組を構成する番組コンテンツパケットデータＰｃのみを選択的に抽出してトランスポートストリームＴＳを編集する場合を例に引くものである。
【０１２１】
メインメモリ９００は、メインメモリ制御器７００を経由して、データバッファリング装置ＤＢＡ１から出力される選択複数番組パケットデータ列Ｐｅｍを格納すると共に、複数番組パケットデータ列Ｐｍｓ（複数番組映像コンテンツパケットデータ列ＰｍｓＶ、複数番組音声コンテンツパケットデータ列ＰｍｓＳ）をＡＶデコーダに代表される外部機器
（図示せず）に複数番組パケットデータ列Ｐｍｓとして出力する。
【０１２２】
メインメモリ制御器７００は、データバッファリング装置ＤＢＡ１から入力される選択複数番組パケットデータ列Ｐｅｍを転送単位ＴＳｄ毎に一時的に保持する。メインメモリ制御器７００はさらに、メインメモリ９００の動作を制御して、一時的に保持する選択複数番組パケットデータ列Ｐｅｍを転送単位ＴＳｄ毎にメインメモリ９００に出力すると共に、メインメモリ９００を制御してその内部に複数番組映像コンテンツパケットデータ列ＰｍｓＶおよび複数番組音声コンテンツパケットデータ列ＰｍｓＳを形成させる。
【０１２３】
ＴＤ制御器ＴＤＣ１は、予めトランスポートストリームデコーダＴＤ１に入力されるトランスポートストリームＴＳの種類毎のデータ構造情報を格納している。そしてＴＤ制御器ＴＤＣ１は、実際に入力されるトランスポートストリームＴＳのデータ構造を示すトランスポートストリーム構造信号Ｓｔｓを生成して、ストリーム入力器ＴＳＲに出力することによって、ストリーム入力器ＴＳＲを入力されるトランスポートストリームＴＳに応じて適正に動作するように制御する。この場合、ユーザが副次処理要求入力器ＡＰＲなどを利用して、ＴＤ制御器ＴＤＣ１に格納されている構造情報を指示しても良い。
【０１２４】
トランスポートストリームＴＳのデータ構造情報を予めＴＤ制御器ＴＤＣ１に格納しておく代わりに、ユーザが副次処理要求入力器ＡＰＲなどを利用して、実際に入力されるトランスポートストリームＴＳの構造情報をＴＤ制御器ＴＤＣ１に指示するようにしても良い。さらに、実際に入力されるトランスポートストリームＴＳを読み込んで、そのデータ構造を検出するようにトランスポートストリームデコーダＴＤ１を構成しても良い。
【０１２５】
ＴＤ制御器ＴＤＣ１は、トランスポートストリームデコーダＴＤ１全体の動作を制御する。なお、トランスポートストリームデコーダＴＤ１は、上述の各構成要素の動作状態を示す状態信号ＳｒＷ１を生成してＴＤ制御器ＴＤＣ１に出力する。ＴＤ制御器ＴＤＣ１は、状態信号ＳｒＷ１に基づいて、トランスポートストリームデコーダＴＤ１の各構成要素の動作を制御する制御信号ＳｃＷ１を生成して、トランスポートストリームデコーダＴＤ１に出力する。なお、状態信号ＳｒＷ１および制御信号ＳｃＷ１の生成およびトランスポートストリームデコーダＴＤ１の制御は公知の技術であるので説明を省く。
【０１２６】
データバッファリング装置ＤＢＡ１は、ストリーム入力器ＴＳＲから転送単位ＴＳｄ毎に入力されるトランスポートストリームＴＳをパケットデータＰの単位で識別してバッファリングするパケットバッファリング調停器ＰＢＡ１、バッファリングされているパケットデータＰが所望のパケットデータＰであるかを判断するパケット選択器４００、パケット選択器４００の判断結果に基づいてパケットバッファリング調停器ＰＢＡ１の動作を制御する制御器ＰＢＡＣ１を含む。
【０１２７】
パケットバッファリング調停器ＰＢＡは、ＤＭＡバス調停器２１０、ＴＳｄ入力開始検出器２２０、バッファセル割当器２３０、バッファセル割当情報格納器２４０、書込先バッファセル指定器２５０、パケットバッファ制御器２６０、パケットバッファ２７０、蓄積完了バッファセル番号メモリ制御器２８０、蓄積完了バッファセル番号メモリ２９０、およびパケットアクセス器３００を含む。
【０１２８】
ＤＭＡバス調停器２１０は、主に、ストリーム入力器ＴＳＲとパケットバッファ制御器２６０との間でのトランスポートストリームＴＳのパケットデータＰの転送単位ＴＳｄ毎に入出力を調停する。つまり、ＤＭＡバス調停器２１０はストリーム入力器ＴＳＲから入力されるパケット先頭検出信号Ｓｐｓ、リクエスト信号Ｓｒｑ、および転送単位ＴＳｄに基づいて、ＴＳｄ入力開始検出器２２０にパケット先頭検出信号Ｓｐｓおよび転送単位ＴＳｄを供給する。さらに、ＤＭＡバス調停器２１０は、パケットバッファ制御器２６０から入力される選択複数番組パケットデータ列Ｐｅｍをメインメモリ制御器７００に出力する。
【０１２９】
ＴＳｄ入力開始検出器２２０は、パケット先頭検出信号Ｓｐｓおよび転送単位ＴＳｄに基づいて、パケットデータＰ毎に転送単位ＴＳｄの入力が開始されたことを検出すると共に、入力された転送単位ＴＳｄをパケットバッファ制御器２６０に供給する。そして、ＴＳｄ入力開始検出器２２０は、その転送単位ＴＳｄでの入力が開始されたパケットデータＰを格納するために、パケットバッファ２７０を構成する複数のバッファセルの１つを割り当てるよう要求するバッファセル要求信号Ｓｂａを生成してバッファセル割当器２３０に出力する。さらに、バッファセルＢｃが割り当てられれば、そのバッファセルに対して番組コンテンツパケットデータＰｃの書込が開始できる状態であることを示す書込許可信号Ｓｗを生成して書込先バッファセル指定器２５０に出力する。
【０１３０】
バッファセル割当器２３０は、バッファセル要求信号Ｓｂａに応答して、後述する割当バッファセル情報Ｉａｂに基づいて、入力が開始されたパケットデータＰの格納に供するバッファセルを割り当てる。そして、割り当てたバッファセルを示すバッファセル割当情報Ｉｂａを生成して、バッファセル割当情報格納器２４０に出力する。
【０１３１】
バッファセル割当情報格納器２４０は、バッファセル割当器２３０から入力されるバッファセル割当情報Ｉｂａを格納する。さらにバッファセル割当情報格納器２４０は、同バッファセル割当情報Ｉｂａを書込先バッファセル指定器２５０および蓄積完了バッファセル番号メモリ制御器２８０に供給する。なお、さらにバッファセル割当情報格納器２４０は、バッファセル割当情報Ｉｂａに基づいて、パケットバッファ２７０を構成する各バッファセルＢｃの割当状況を示す割当バッファセル情報Ｉａｂを生成してバッファセル割当器２３０にフィードバックする。
【０１３２】
書込先バッファセル指定器２５０は、ＴＳｄ入力開始検出器２２０から入力される書込許可信号Ｓｗに応答して、バッファセル割当情報格納器２４０から入力されるバッファセル割当情報Ｉｂａで示される、割り当てられたバッファセルに対する転送単位ＴＳｄの書込を指示する書込要求信号Ｓｗｄを生成して、パケットバッファ制御器２６０に出力する。
【０１３３】
パケットバッファ制御器２６０は、書込要求信号Ｓｗｄに応答して、ＴＳｄ入力開始検出器２２０から供給される転送単位ＴＳｄを、パケットバッファ２７０の割り当てられたバッファセルに書き込む。さらに、パケットバッファ制御器２６０は、割り当てられたバッファセルに書き込んだデータのバイト数をカウントすることによって、１パケットデータＰ分の転送単位ＴＳｄが書き込まれたことを検出して、ＤＭＡバス調停器２１０からの１パケットデータＰのデータ転送が終了したことを示す転送終了信号Ｓｔｆを生成して、蓄積完了バッファセル番号メモリ制御器２８０に出力する。なお、入力されるトランスポートストリームＴＳの１パケットデータＰのデータサイズは、予めトランスポートストリームデコーダＴＤ１に格納されているデータ構造情報に含まれていることは上述の通りである。
【０１３４】
蓄積完了バッファセル番号メモリ制御器２８０は、バッファセル割当情報格納器２４０から入力されたバッファセル割当情報Ｉｂａとパケットバッファ制御器２６０から入力された転送終了信号Ｓｔｆに基づいて、１パケットデータＰが書き込まれたバッファセルを示すバッファセル番号信号Ｓｂｎと、バッファセル番号Ｎｂｃを書き込む記憶領域を示すライトポインタＷＰを１つ進めるライトポイント更新信号Ｓｗｐを生成して蓄積完了バッファセル番号メモリ２９０に出力する。
【０１３５】
蓄積完了バッファセル番号メモリ２９０は、ライトポインタＷＰが示す記憶領域に、バッファセル番号信号Ｓｂｎの示すバッファセル番号Ｎｂｃを記録した後に、ライトポインタＷＰの位置を１つ進めて、バッファセル番号Ｎｂｃを記録した領域の次の領域を指し示させる。なお、本実施形態においては、蓄積完了バッファセル番号メモリ２９０は後ほど図２を参照して説明するように、好ましくはリングメモリで構成されるので、このようにバッファセルに書込を終了する毎にライトポインタＷＰを１つずつ進めることによって、蓄積完了バッファセル番号メモリ２９０の記憶領域に記憶されているバッファセル番号Ｎｂｃを適正に更新できる。
【０１３６】
なお、パケットアクセス器３００は、パケットバッファ制御器２６０およびＤＭＡバス調停器２１０を経由して、パケットバッファ２７０のバッファセルに格納された直後のパケットデータＰに選択的にアクセスして、読み出し、参照、或いは編集等の処理を施した後にＤＭＡバス調停器２１０およびパケットバッファ制御器２６０を経由して、元のパケットデータＰを上書き更新したりする。
【０１３７】
この為に、パケットバッファ制御器２６０は、後述のリードポインタＲＰが指し示すバッファセルに格納されているパケットデータＰのパケット識別子ＰＩＤを読んで、バッファパケット識別情報ＰＩＤｅを抽出すると共に、ＤＭＡバス調停器２１０に出力する。
【０１３８】
なお、パケットバッファリング調停器ＰＢＡ１は、上述の各構成要素の動作状態を示す状態信号Ｓｒ１を生成して制御器ＰＢＡＣ１に出力する。制御器ＰＢＡＣ１は、状態信号Ｓｒ１に基づいて、パケットバッファリング調停器ＰＢＡ１の各構成要素の動作を制御する制御信号Ｓｃ１を生成して、パケットバッファリング調停器ＰＢＡ１に出力する。なお、状態信号Ｓｒ１および制御信号Ｓｃ１の生成する制御器ＰＢＡＣ１の制御は公知の技術であるので説明を省く。
【０１３９】
次に図２を参照して、上述のバッファセル割当情報格納器２４０、パケットバッファ２７０、および蓄積完了バッファセル番号メモリ２９０の関係について簡単に説明する。パケットバッファ２７０は、ＴＳｄ入力開始検出器２２０を経由して転送単位ＴＳｄで入力されるパケットデータＰを一時的に蓄えるためのＮ個のバッファセルＢｃ１〜ＢｃＮ（Ｎは２以上の自然数）を含む。これは、パケットデータＰの蓄積用と、蓄積したパケットデータＰの読み出し用にそれぞれ異なるバッファセルＢｃが１つは必要であるからである。
【０１４０】
バッファセルＢｃのそれぞれは、所定のサイズのデータを一時的に蓄える、つまりバッファリングできる。そのために必要なバッファセルＢｃの容量を最低バッファ容量ＭＢＵと言う。最低バッファ容量ＭＢＵは、パケットデータＰを構成するパケットデータＰのデータサイズに応じて適宜設定される。最低バッファ容量ＭＢＵをパケットサイズに比べて小さく設定すれば、番組コンテンツパケットデータＰｃの抽出をよりきめ細やかに制御できるが、ＤＭＡバス調停器２１０における入出力調停頻度が大きくなり、そのための制御工数の増大を招き処理効率が悪くなる。
【０１４１】
一方、最低バッファ容量ＭＢＵをパケットサイズに比べて大きく、例えば数倍程度に設定すれば、１つのバッファセルＢｃに複数のパケットデータＰを格納することも可能になる。しかしながらこの場合は、１つのバッファセルＢｃに格納されている複数のパケットデータＰを区別できないので、パケットデータＰ単位での制御、或いはアクセスができない。従って、最低バッファ容量ＭＢＵは、トランスポートストリームデコーダの内部処理速度、パケットデータＰの入力レート、パケットサイズ、およびパケットデータＰへのアクセス頻度に基づいて適切に設定されるべきものである。
【０１４２】
なお、本例においては、最低バッファ容量ＭＢＵは１パケットデータＰを格納できるように定めており、具体的には１８８バイトとしている。なお、必要に応じて、パケットデータＰを識別または管理するための所定のバイト数を有する補助データを１パケットデータＰに追加して格納できるようにしても良い。
【０１４３】
しかしながら、必要に応じて、上述のようにパケットサイズに比べて小さく設定、つまり１つのパケットを複数のバッファセルＢｃに分割して格納するようにしても良い。この場合、最低バッファ容量ＭＢＵはパケットデータＰの分割後のデータの最大サイズに、分割状態を表す分割情報等を記録管理するための管理情報に相当する管理バイトを足したものになる。また、Ｎの最小値は２に分割数を乗じたものになる。
【０１４４】
バッファセル割当情報格納器２４０は、パケットバッファ２７０のバッファセルＢｃ１〜ＢｃＮのそれぞれに対応するバッファセル割当情報領域Ａｃ１〜ＡｃＮを有する。バッファセル割当情報格納器２４０は、バッファセル割当器２３０から供給されるバッファセル割当情報Ｉｂａに基づいて、割り当てられたバッファセルＢｃｎ（ｎは１以上、Ｎ以下の自然数）に対応するバッファセル割当情報領域Ａｃｎに割当の有無を示す割当識別データを書き込む。つまり、バッファセル割当情報格納器２４０は、パケットバッファ２７０のバッファセルＢｃ１〜ＢｃＮと同数のバッファセル割当情報領域Ａｃ１〜ＡｃＮが用意される。
【０１４５】
例えば、割当識別データは１と０の二値データであり、初期値は０である。そして、バッファセルＢｃ１が割り当てられる場合には、バッファセルＢｃ１に対応するバッファセル割当情報領域Ａｃ１には、例えば１が書き込まれる。一方、バッファセルＢｃ１に書き込まれたデータが読み出された後に、制御器ＰＢＡＣ１から出力される制御信号Ｓｃ１に基づいてバッファセル割当情報領域Ａｃ１に０が書き込まれて、バッファセルＢｃ１は解放される。このようにして、パケットバッファ２７０の各バッファセルＢｃ１〜ＢｃＮのそれぞれの割当状況がバッファセル割当情報領域Ａｃ１〜ＡｃＮにおける値の集合で表現されて、割当バッファセル情報Ｉａｂとしてバッファセル割当器２３０に供給される。
【０１４６】
蓄積完了バッファセル番号メモリ２９０は、パケットバッファ２７０のバッファセルＢｃ１〜ＢｃＮの特定の１つを示すバッファセル番号ＮｂｃＮを格納するバッファセル指定領域Ｒｃ（Ｒｃ１〜ＲｃＭ）を有する。なお、Ｍは２以上かつＮ以下の自然数である。蓄積完了バッファセル番号メモリ２９０は好ましくは、リングメモリで構成されてバッファセル指定領域Ｒｃ１〜ＲｃＭが連続的且つ循環的に記録される。結果、バッファセル割当情報格納器２４０の場合と異なり、バッファセル割当情報格納器２４０のバッファセルＢｃ１〜ＢｃＮと同数だけ用意する必要は無く、Ｍ個のバッファセル指定領域Ｒｃ１〜ＲｃＭを用意すれば良い。
【０１４７】
バッファセル番号Ｎｂｃｎを記入すべきバッファセル指定領域Ｒｃｍ（ｍは１以上Ｍ以下の自然数）はライトポインタＷＰによって指示される。そして、記入されているバッファセル番号Ｎｂｃｎを読み出すべきバッファセル指定領域ＲｃｍはリードポインタＲＰによって指示される。ライトポインタＷＰはリードポインタＲＰの示す位置より１つ次か同一のバッファセル指定領域Ｒｃｍを示す。ライトポインタＷＰは、上述のように蓄積完了バッファセル番号メモリ制御器２８０から出力されるライトポイント更新信号Ｓｗｐに基づいて進められるが、リードポインタＲＰは制御器ＰＢＡＣ１から出力される制御信号Ｓｃ１に基づいて進められる。
【０１４８】
ライトポインタＷＰがリードポインタＲＰの位置より１つ進んでいる場合は、リードポインタＲＰが示すバッファセル指定領域Ｒｃｍに示されているバッファセルＢｃｎは、データを格納し終わって読み出し可の状態であることを意味している。ライトポインタＷＰとリードポインタＲＰが同位置を示している場合は、データが読み出し可の状態にあるバッファセルＢｃｎは無いことを意味している。
【０１４９】
次に図３に示す波形図を参照して、ストリーム入力器ＴＳＲ、ＤＭＡバス調停器２１０、およびパケットバッファ制御器２６０の動作について簡単に説明する。図３に示すように、それぞれが１８８バイトのデータで構成されるパケットデータＰからなるトランスポートストリームＴＳは、外部のトランスポートストリーム源から１バイトずつ、入力転送クロックＣｋに同期してストリーム入力器ＴＳＲに順次入力される。なお、１バイト単位の代わりに１ビット単位で入力される場合もあるが、処理内容は、入力データ単位に関わらず基本的に同一であるであるので、以下に１バイト単位に入力される場合についてのみ説明する。
【０１５０】
ストリーム入力器ＴＳＲは、パケットデータＰ毎に、最初の１バイトの同期データを検出した時点でパケットデータＰのパケット先頭を検出する。そして、パケット先頭を検出する都度、パケット先頭検出信号Ｓｐｓを生成してＤＭＡバス調停器２１０に出力する。
【０１５１】
ストリーム入力器ＴＳＲは、さらに、パケット先頭から数えて８バイト毎に、ＤＭＡバス調停器２１０に対して、転送単位ＴＳｄの入力を受け付けるよう要求するリクエスト信号Ｓｒｑを生成して、ＤＭＡバス調停器２１０に出力する。言い換えれば、転送単位ＴＳｄは８バイトであり、各パケット（１８８バイト）に対して、８バイト毎に転送単位ＴＳｄ転送のためのリクエスト信号Ｓｒｑが出力される。
【０１５２】
ＤＭＡバス調停器２１０は、リクエスト信号Ｓｒｑに応答して、その入出力を調停して、ストリーム入力器ＴＳＲからの転送単位ＴＳｄの入力の準備を整える。準備が整った時点、つまりリクエスト信号Ｓｒｑより所定の時間Ｔａ後に、データ有効信号Ｓｄｅを生成してストリーム入力器ＴＳＲに出力する。この時間Ｔａは、データバッファリング装置ＤＢＡ１を含めた内部処理時間に起因して自ずと決まるものであり、データバッファリング装置ＤＢＡ１の状態によって若干の変動が許される。
【０１５３】
ストリーム入力器ＴＳＲは、データ有効信号Ｓｄｅに応答して、内部のバッファに蓄積されているパケットデータＰのデータを８バイトずつ転送単位ＴＳｄとしてＤＭＡバス調停器２１０に出力する。
【０１５４】
パケットバッファ制御器２６０は、ＤＭＡバス調停器２１０およびＴＳｄ入力開始検出器２２０を経由して入力される転送単位ＴＳｄを、書込要求信号Ｓｗｄに基づいて、パケットバッファ２７０の割り当てられたバッファセルＢｃに書き込む。そして、１パケットデータＰ分の転送単位ＴＳｄを書き込んだ時点で転送終了信号Ｓｔｆを生成して蓄積完了バッファセル番号メモリ制御器２８０に出力する。
【０１５５】
次に、図４、図５、および図６を参照して、上述のトランスポートストリームデコーダＴＤ１の動作について詳しく説明する。図４にメインフローを示すように、トランスポートストリームデコーダＴＤ１は、電源が投入されてその動作を開始する。
先ず、ステップ＃１００の初期化サブルーチンにおいて、蓄積完了バッファセル番号メモリ２９０のライトポインタＷＰおよびリードポインタＲＰの値が共に０にセットされる。
【０１５６】
ステップ＃２００の「単一トランスポートストリームＴＳの提供番組および可能処理提示」サブルーチンにおいて、配信される番組と、それぞれの番組に対して可能な処理がユーザに対して提示される。後ほど詳しく述べるが、ＴＤ制御器ＴＤＣ１はメインメモリ９００のＰＡＴ格納領域Ａ（ＰＡＴ）に予め格納されている番組コンテンツ管理表ＰＡＴを読んで配信される番組と、トランスポートストリームデコーダＴＤ１がユーザに提供できる処理機能とを表す番組内容提示信号Ｓｐ１を生成して、副次処理要求入力器ＡＰＲに出力する。副次処理要求入力器ＡＰＲは、番組内容提示信号Ｓｐ１に基づいて、ディスプレイ等の適当な表示手段を用い手配信番組と提供処理機能をユーザに一覧提示する。ユーザは、副次処理要求入力器ＡＰＲを操作して、提示された番組と処理機能の内で、所望の番組と処理機能を選択する。
【０１５７】
ステップ＃３００の「単一トランスポートストリームＴＳに対する処理要求検出」サブルーチンにおいて、副次処理要求入力器ＡＰＲは、ユーザの処理要求を検出する。具体的には、副次処理要求入力器ＡＰＲはユーザの操作に基づいて、ユーザの選択内容を表す処理要求信号Ｓｅ１を生成してＴＤ制御器ＴＤＣ１に出力する。
【０１５８】
ステップ＃４００の「単一トランスポートストリームＴＳに対する処理内容決定」サブルーチンにおいて、ユーザの処理要求に応えて、トランスポートストリームデコーダＴＤ１側にて行うべき具体的な処理内容を決定する。具体的には、ＴＤ制御器ＴＤＣ１は、副次処理要求入力器ＡＰＲから入力された処理要求信号Ｓｅ１に基づいて、処理対象となる番組、番組に対する処理方法、および処理に要するデバイス等の手段の情報に代表される処理内容情報を生成する。
【０１５９】
ステップ＃５００の「処理対象パケットデータ識別情報ＰＩＤｄ生成」サブルーチンにおいて、処理すべきパケットデータＰを表す処理対象パケットデータ識別情報ＰＩＤｄを生成する。具体的には、ＴＤ制御器ＴＤＣ１は、ステップ＃４００において決定された処理内容情報に基づいて、選択された番組を構成するパケットデータＰの内で実際に処理を施すべきパケットデータＰのパケット識別子ＰＩＤを特定して、処理対象パケットデータ識別情報ＰＩＤｄを生成する。
【０１６０】
ステップ＃６００の「単一トランスポートストリームＴＳのパケットデータＰ蓄積」サブルーチンにおいて、トランスポートストリームデコーダＴＤ１に逐次入力される単一のトランスポートストリームＴＳに含まれるパケットデータＰのデータバッファリング装置ＤＢＡ１へのバッファリングが開始される。なお、パケットデータＰは、データバッファリング装置ＤＢＡ１のバッファセルＢｃのそれぞれに、パケットデータＰ／ｎ単位（ｎは自然数）で格納される。なお、本ステップにおける処理については、後ほど図５を参照して詳述する。所定数のパケットデータＰの蓄積が完了した時点で、次のステップ＃７００の処理が開始される。言い換えれば、データバッファリング装置ＤＢＡ１の複数のバッファセルＢｃの内、所定数のバッファセルＢｃのそれぞれにパケットデータＰが蓄積された状態でステップ＃７００の処理が開始する。
【０１６１】
ステップ＃７００の「単一トランスポートストリームＴＳの処理対象パケットデータＰ選択」サブルーチンにおいて、データバッファリング装置ＤＢＡ１のバッファセルＢｃに順次格納されるパケットデータＰの中で処理対象のものを選択する。具体的には、１つのバッファセルＢｃに格納されているパケットデータＰがステップ＃４００で特定されたパケットデータＰであるかを、ステップ＃５００で決定されたパケット識別子ＰＩＤを有するかを判断することによって、処理対象パケットデータＰとしの選択が行われる。なお、本ステップにおける処理については、後ほど図６を参照して詳述する。
【０１６２】
ステップ＃８００の「単一トランスポートストリームＴＳのパケットデータＰに要求処理実行」サブルーチンにおいて、ステップ＃７００において選択されたパケットデータＰに対して、ステップ＃４００において決定された内容のユーザの要求処理が実行される。本実施形態においては、バッファセルＢｃに順次格納される単一のトランスポートストリームＴＳのパケットデータＰの中で、ステップ＃７００で選択された特定の番組の番組コンテンツパケットデータＰｃのみを抽出して、選択複数番組パケットデータ列Ｐｅｍが抽出される例が示されているが、これについては、後ほど図７を参照して詳述する。なお、要求処理が特定の番組を構成する番組コンテンツパケットデータＰｃの選択抽出に限らず、種々のデジタル処理の適用が可能であることは言うまでも無い。
【０１６３】
＃９００の「単一トランスポートストリームＴＳの処理後パケットデータＰ蓄積」サブルーチンにおいて、ステップ＃８００で抽出された選択複数番組パケットデータ列Ｐｅｍがメインメモリ制御器７００に出力されて、複数番組パケットデータ列Ｐｍｓが生成される。
【０１６４】
なお、上述のようにステップ＃６００は主にハードウェアによる受動的な処理であり、ステップ＃７００〜＃９００は主にソフトウェアによる能動的な処理である。よって、ステップ＃６００とステップ＃７００〜＃９００は好ましくは並行処理として構成される。そのためには、ステップ＃７００における対象処理パケットデータＰ選択サブルーチンを開始する前に、ステップ＃６００において、適正な数だけのバッファセルＢｃにパケットデータＰが蓄積されていることが望ましい。これに付いては、後ほど図６を参照して説明する。
【０１６５】
しかしながら、本図においてはステップ＃６００、＃７００、＃８００、および＃９００を一連の繰り返し処理としての構成を示している。このような構成における動作について簡単に説明する。ステップ＃６００の単一トランスポートストリームＴＳのパケットデータＰ蓄積サブルーチンを初めて行う場合は、所定数のバッファセルＢｃにパケットデータＰが蓄積されるのを待った後に、ステップ＃７００、＃８００、および＃９００の処理を連続的に実行する。そして、２回目以降のステップ＃６００においては、所定数ではなく１つのバッファセルＢｃにパケットデータＰが格納された後に、ステップ＃７００〜＃９００の処理を実行させる。
【０１６６】
この場合の所定数とは、データバッファリング装置ＤＢＡ１の一連の動作速度より決まる、ソフトウェアによるステップ＃７００〜＃９００の処理に対して許容外のアンダーフロー或いはオーバーフローを起こさないように決められる。よって、所定数の最小値は１である。実際には、所定数のバッファセルＢｃにパケットデータＰが蓄積されたことの保証は、ステップ＃６００が開始してから、ステップ＃７００が開始するまでの時間で管理される。
【０１６７】
図１２に、上述のステップ＃７００の「単一トランスポートストリームＴＳの処理対象パケットデータＰ選択」サブルーチンとステップ＃８００の「単一トランスポートストリームＴＳのパケットデータＰに対する要求処理実行」サブルーチンの関係を模式的に表す。図１１は、既に説明した図１１に、ステップ＃７００およびステップ＃８００の位置づけを追記したものである。つまり、トランスポートストリームデコーダＴＤ１に入力されたトランスポートストリームＴＳの全パケットデータＰに対して、ステップ＃７００で個別に処理対象であるかが判断されて、処理対象であると判断されたパケットデータＰ（図１２において、太線の矢印で表示）に対してのみ、ステップ＃８００でユーザの要求に基づく処理が実施される。
【０１６８】
上述のように、本実施形態では、ユーザの要求に基づく処理は、番組１および番組２のみを抽出であるので、バッファセルＢｃに格納される全パケットデータＰの内１００番台および２００番台のパケット識別子ＰＩＤを有する番組コンテンツパケットデータＰｃと、管理パケットデータＰｃＡのみが、ステップ＃７００で選択される。そして、選択された番組コンテンツパケットデータＰｃおよび管理パケットデータＰｃＡが、ステップ＃８００でそのままバッファセルＢｃからデータバッファリング装置ＤＢＡ１の外部へ選択複数番組パケットデータ列Ｐｅｍとして出力される。
【０１６９】
ユーザの要求処理が特定の番組の番組コンテンツパケットデータＰｃの加工であれば、上述の例においては、選択された管理パケットデータＰｃＡおよび番組コンテンツパケットデータＰｃの内で、特定の番組を形成する番組コンテンツパケットデータＰｃのみに加工が施されることになる。これについては、後ほど図６を参照して簡単に述べる。
【０１７０】
次に、図５を参照して、上述のステップ＃６００におけるパケットバッファ２７０による単一トランスポートストリームＴＳのパケットデータＰ蓄積動作の詳細について説明する。先ず、ステップＳ６０２において、外部のトランスポートストリーム供給源からトランスポートストリームＴＳがストリーム入力器ＴＳＲに入力される。そして、処理は次のステップＳ６０４に進む。
【０１７１】
ステップＳ６０４において、ストリーム入力器ＴＳＲは入力されたトランスポートストリームＴＳのパケット先頭を検出する。具体的には、ストリーム入力器ＴＳＲはＴＤ制御器ＴＤＣ１から入力されたトランスポートストリーム構造信号Ｓｔｓに基づいて、入力されてくるトランスポートストリームＴＳの構造に基づいて、入力されてくるパケットデータＰの先頭を検出する。そして、処理は次のステップＳ６０５およびＳ６０６に進む。
【０１７２】
ステップＳ６０５において、ストリーム入力器ＴＳＲはパケット先頭以降のパケットデータを内蔵の入力バッファに蓄積する。転送単位ＴＳｄ分の蓄積が完了すると、処理は次のステップＳ６０７に進む。なお、ストリーム入力器に内蔵の入力バッファの容量は、入力パケットデータを取りこぼすことが無いように、入力ストリームの伝送レート等によって適正に定められなければならない。少なくとも転送単位ＴＳｄより大きい必要があるのは言うまでも無い。
【０１７３】
ステップＳ６０７において、ストリーム入力器ＴＳＲはリクエスト信号ＳｒｑをＤＭＡバス調停器２１０に出力する。そして、処理は次のステップＳ６０８に進む。
ステップＳ６０８において、ＤＭＡバス調停器２１０はリクエスト信号Ｓｒｑに基づいて、ストリーム入力器ＴＳＲからのパケットデータＰの転送単位ＴＳｄでの入力に備えて調停を行う。そして、処理は次のステップＳ６１０に進む。
ステップＳ６１０において、ＤＭＡバス調停器２１０はデータ有効信号Ｓｄｅをストリーム入力器ＴＳＲに出力する。そして、処理は次のステップＳ６１２に進む。
【０１７４】
ステップＳ６１２において、データ有効信号Ｓｄｅに応答して、パケットデータＰのストリーム入力器ＴＳＲからＤＭＡバス調停器２１０への転送単位ＴＳｄでの転送が開始する。なお、転送単位ＴＳｄはＤＭＡバス調停器２１０を経由して、ＴＳｄ入力開始検出器２２０に出力される。そして、処理は次のステップＳ６１４に進む。
【０１７５】
ステップＳ６０６において、ストリーム入力器ＴＳＲはパケット先頭検出信号ＳｐｓをＤＭＡバス調停器２１０に出力する。なお、パケット先頭検出信号Ｓｐｓは、ＤＭＡバス調停器２１０を経由してＴＳｄ入力開始検出器２２０に出力される。そして、処理は次のステップＳ６０８に進む。
【０１７６】
ステップＳ６１４において、ＴＳｄ入力開始検出器２２０は、ステップＳ６０６で入力されたパケット先頭検出信号Ｓｐｓに基づいて、転送単位ＴＳｄの入力が開始されたことを検出する。つまり、パケットバッファ２７０に１パケットデータＰ分のデータを転送単位ＴＳｄ毎に複数回に渡って、ストリーム入力器ＴＳＲから転送されるので、パケット先頭検出信号Ｓｐｓの入力後に最初に入力される転送単位ＴＳｄを検出することで、転送単位ＴＳｄの入力開始を検出する。そして、処理は次のステップＳ６１６に進む。
【０１７７】
ステップＳ６１６において、ＴＳｄ入力開始検出器２２０はバッファセル要求信号Ｓｂａを生成してバッファセル割当器２３０に出力すると共に、書込許可信号Ｓｗを生成して書込先バッファセル指定器２５０に出力する。そして、処理は次のステップＳ６１８に進む。
【０１７８】
ステップＳ６１８において、バッファセル割当器２３０は、バッファセル割当情報格納器２４０から供給される割当バッファセル情報Ｉａｂに基づいて、ステップＳ６１２において転送が開始された転送単位ＴＳｄの書込に供せられるバッファセルＢｃを割り当てる。そして、処理は次のステップＳ６２０に進む。
【０１７９】
ステップＳ６２０において、バッファセル割当器２３０は、ステップＳ６１２での割り当てたバッファセルＢｃを示すバッファセル割当情報Ｉｂａを生成してバッファセル割当情報格納器２４０に出力する。そして、処理は次のステップＳ６２２に進む。
【０１８０】
ステップＳ６２２において、バッファセル割当情報格納器２４０はバッファセル割当情報Ｉｂａに基づいて、割当バッファセル情報Ｉａｂを生成して格納するする。そして、処理は次のステップＳ６２４に進む。
【０１８１】
ステップＳ６２４において、バッファセル割当情報格納器２４０は、バッファセル割当器２３０から入力されたバッファセル割当情報Ｉｂａを書込先バッファセル指定器２５０および蓄積完了バッファセル番号メモリ制御器２８０に出力する。そして、処理は次のステップＳ６２６に進む。
【０１８２】
ステップＳ６２６において、ＴＳｄ入力開始検出器２２０は、パケットバッファ２７０のバッファセルＢｃへの転送単位ＴＳｄの書込を許可する書込許可信号Ｓｗを生成して書込先バッファセル指定器２５０に出力する。そして、処理は次のステップＳ６２８に進む。
【０１８３】
ステップＳ６２８において、書込先バッファセル指定器２５０は、書込許可信号Ｓｗに応答して、バッファセル割当情報Ｉｂａが指示する、割り当てられたバッファセルＢｃに対する書込（蓄積）を要求する書込要求信号Ｓｗｄを生成して、パケットバッファ制御器２６０に出力する。そして、処理は次のステップＳ６３０に進む。
【０１８４】
ステップＳ６３０において、パケットバッファ制御器２６０は、ＴＳｄ入力開始検出器２２０から経由して供給される転送単位ＴＳｄを、書込要求信号Ｓｗｄ（バッファセル割当情報Ｉｂａ）の指示するバッファセルＢｃへのパケットデータＰの転送単位ＴＳｄでの書込（蓄積）を行う。そして、処理は次のステップＳ６３２に進む。
【０１８５】
ステップＳ６３２において、転送単位ＴＳｄ毎にストリーム入力器ＴＳＲからＤＭＡバス調停器２１０にリクエスト信号Ｓｒｑが出力され（ステップＳ６０７）、ＤＭＡバス調停器２１０はリクエスト信号Ｓｒｑに応答して調停して（ステップＳ６０８）データ有効信号Ｓｄｅをストリーム入力器ＴＳＲに出力し（ステップＳ６１０）、ストリーム入力器ＴＳＲはデータ有効信号Ｓｄｅに応答してパケットデータＰの次の転送単位ＴＳｄの転送を開始する（ステップＳ６１４）という、上述の動作が繰り返される。
【０１８６】
この間、パケットバッファ制御器２６０はバッファセルＢｃに書き込まれるデータのバイト数をカウントして、１パケットデータＰ分の転送単位ＴＳｄのバッファセルへの蓄積が終了したことを検出する。さらに、転送終了信号Ｓｔｆを生成して蓄積完了バッファセル番号メモリ制御器２８０に出力する。カウント数は、ＴＤ制御器ＴＤＣ１に予め格納されているトランスポートストリーム構造情報が示す入力されるトランスポートストリーム
ＴＳのパケットデータＰのデータサイズによって求められる。パケットバッファ制御器２６０は、そして、処理は次のステップＳ６３４に進む。
【０１８７】
ステップＳ６３４において、蓄積完了バッファセル番号メモリ制御器２８０は、転送終了信号Ｓｔｆとバッファセル割当情報Ｉｂａに基づいて、１パケットデータＰのデータの蓄積を完了したバッファセルＢｃを示すバッファセル番号信号Ｓｂｎを生成する。つまり、バッファセル番号信号Ｓｂｎは、転送終了信号Ｓｔｆが入力されたときに、バッファセル割当情報Ｉｂａが示すバッファセルＢｃのバッファセル番号Ｎｂｃに相当する。そして、処理は次のステップＳ６３６に進む。
【０１８８】
ステップＳ６３６において、蓄積完了バッファセル番号メモリ２９０は、バッファセル番号信号Ｓｂｎの示すバッファセル番号ＮｂｃをライトポイントＷＰの示す領域に記録する。そして、処理は次のステップＳ６３８に進む。
【０１８９】
ステップＳ６３８において、蓄積完了バッファセル番号メモリ制御器２８０は、ライトポイント更新信号Ｓｗｐを蓄積完了バッファセル番号メモリ制御器２８０に出力して、蓄積完了バッファセル番号メモリ制御器２８０のライトポインタＷＰを１つ進める。
【０１９０】
次に、図６に示すフローチャートを参照して、上述のステップ＃８００におけるデータバッファリング装置ＤＢＡ１による要求処理実行の詳細について説明する。なお、本図においては、図４に関して述べたようにステップ＃６００とステップ＃７００〜＃９００とを並行処理とする場合にも、連続処理とする場合にも適用できる構成を示す。
【０１９１】
先ず、ステップＳ８０２において、ＴＤ制御器ＴＤＣ１は蓄積完了バッファセル番号メモリ２９０から、ライトポインタＷＰおよびリードポインタＲＰのそれぞれの値を読み出す。ライトポインタＷＰは逐次入力されてくるトランスポートストリームＴＳのパケットデータＰをデータを書き込むバッファセルＢｃを択一的に示すパラメータであり、リードポインタＲＰはデータを読み出す対象であるバッファセルを示すパラメータである。そして、処理は次のステップＳ８０４に進む。
【０１９２】
ステップＳ８０４において、ＴＤ制御器ＴＤＣ１によって、ステップＳ８０２において読み出されたライトポインタＷＰとリードポインタＲＰの値が同一であるか否かが判断される。同一の場合はＹｅｓ、つまり特定のバッファセルＢｃが現在使用中であると判断されて、処理は前述のステップＳ８０４に戻る。これは、バッファセル中に完全な形で格納されていないパケットデータＰに対するアクセスを防止するためである。
【０１９３】
一方、ステップＳ８０４において、同一でない場合はＮｏ、つまりいずれのバッファセルも使用中でないと判断される。これは、パケットデータＰを完全な形で格納されているバッファセルＢｃがあることを意味する。言い換えると、当該パケットデータＰはユーザの要求に対する処理対象候補であるパケットデータＰが少なくとも１つはパケットバッファ２７０に蓄積されていることを意味する。そして、処理は次のステップＳ８０６に進む。
【０１９４】
上述のように、ステップＳ８０４およびＳ８０６を構成することにおいて、ステップ＃６００とステップ＃７００〜＃９００とを並行処理とする場合にも、連続処理とする場合にも適用できる。つまり、並行処理とした場合、パケットバッファ２７０に適当数なパケットデータＰが蓄積されていない（最悪、いずれのバッファセルＢｃにも、パケットデータＰが完全に格納されていない）とき、ユーザの要求された処理を実行しようとする事態を回避することができる。また、連続処理とする場合には、上述のようにステップ＃６００とステップ＃７００との開始時間に差を設けて所定数のバッファセルＢｃの蓄積完了を保証するが、トランスポートストリームＴＳの伝送経路上の理由等によりパケットデータＰの蓄積に異常が生じた場合にも、アンダーフローによる処理異常を防止できる。
【０１９５】
ステップＳ８０６において、格納されている処理対象候補のパケットデータＰが実際に処理対象であるか否かを調べるためにアクセスするバッファセルＢｃを決定する。具体的には、ＴＤ制御器ＴＤＣ１はリードポインタＲＰの示すバッファセル指定領域Ｒｃからバッファセル番号Ｎｂｃｎを読み出す。なお、後述のステップＳ８１０で処理対象であると判断された場合には、後述のステップＳ８１４において当該パケットデータＰに対してユーザの要求に基づく処理を施すために、同バッファセルＢｃは再度アクセスされる。そして、処理は次のステップＳ８０８に進む。
【０１９６】
ステップＳ８０８において、ステップＳ８０６で読み出されたバッファセル番号Ｎｂｃｎに対応するバッファセルＢｃｎ（パケットバッファ２７０）に格納されているパケットデータＰから、そのパケットデータＰのパケット識別子ＰＩＤが読み出されてバッファパケット識別情報ＰＩＤｅが生成される。そして、処理は次のステップＳ８１０に進む。
【０１９７】
ステップＳ８１０において、ステップＳ８０８で生成されたバッファパケット識別情報ＰＩＤｅが上述のステップ＃５００で生成された処理対象パケットデータ識別情報ＰＩＤｄとマッチするか否かが判断される。この場合のマッチとは、バッファパケット識別情報ＰＩＤｅに規定されるパケット識別子ＰＩＤが処理対象パケットデータ識別情報ＰＩＤｄに示されるがパケット識別子ＰＩＤに含まれていることを言う。Ｙｅｓ、つまり現在アクセス中のパケットデータＰは、上述のユーザの要求に基づく処理の対象である場合には、処理は次のステップＳ８１２に進む。この時点で、同バッファセルＢｃに格納されているパケットデータＰが処理対象候補から処理対象候補と確認される。
【０１９８】
ステップＳ８１２において、上述のステップ＃４００で決定された処理が現在アクセス中のパケットデータＰに対して実施される。なお、本実施形態においては、ユーザの要求処理は、トランスポートストリームＴＳから番組１および番組２のみを抽出することである。それゆえに、本ステップで実施されるべき処理は具体的には番組コンテンツパケットデータ管理表ＰＭＴ１および番組コンテンツパケットデータ管理表ＰＭＴ２で規定されるパケット識別子ＰＩＤを有するパケットデータＰあるかの判断であるが、これは上述のステップＳ８１０で既に実行されている。よって、本実施形態においては、本ステップにおいてはパケットデータＰは実質的には何らの変更も受けない。そして、処理は次のステップＳ８１４に進む。
【０１９９】
ステップＳ８１４においては、上述のステップＳ８１０およびステップＳ８１２を経て、ユーザの要求に応じて適切に処理されたパケットデータＰが、バッファセルＢｃＮから転送単位ＴＳｄ毎に読み出され、パケットバッファ制御器２６０を経由して、ＤＭＡバス調停器２１０へ転送が開始される。そして、処理は次のステップＳ８１６に進む。
【０２００】
ステップＳ８１６において、ＴＤ制御器ＴＤＣ１によって、ステップＳ８００で開始された転送単位ＴＳｄ毎にそのビット数をカウントすることでＤＭＡバス調停器２１０へのデータ転送が完了したか否かが繰り返し判断される。なお、データ転送が完了した時点で、処理は次のステップＳ８１８に進む。このようにして、上述のステップＳ８０２〜Ｓ８１６を経て、ユーザの要求処理を１つのパケットデータＰに対して完了する。そして、処理は次のステップＳ８１８に進む。
【０２０１】
一方、上述のステップＳ８１０においてＮｏ、つまり現在アクセス中のパケットデータＰは、上述のユーザの要求に基づく処理の対象でないと判断される場合は、処理は上述のステップＳ８１２、Ｓ８１４、およびＳ８１６を迂回して直接ステップＳ８１８に進む。
このように、ステップＳ８１０において、バッファパケット識別情報ＰＩＤｅと処理対象パケットデータ識別情報ＰＩＤｄとのマッチングに基づいて、逐次入力されてくるトランスポートストリームＴＳに含まれる全パケットデータＰを個別に処理対象であるか識別する。そして、処理対象であるパケットデータＰのみを選択して、ステップＳ８１２においてユーザの要求に基づく処理を施して、ステップＳ８１４およびＳ８１６において処理の結果得られるパケットデータＰをデータバッファリング装置ＤＢＡ１の外部に出力する。
【０２０２】
ステップＳ８１８において、ＴＤ制御器ＴＤＣ１は、リードポインタＲＰの示すバッファセル番号Ｎｂｃｎに相当するバッファセルを解放する。具体的には、上述のステップＳ８０６で読み出されたバッファセル番号Ｎｂｃｎに対応するバッファセル割当情報領域Ａｃｎに書き込まれている割当識別データを割当無に書き直す。そして、処理は次のステップＳ８２０に進む。
【０２０３】
ステップＳ８２０において、ＴＤ制御器ＴＤＣ１は蓄積完了バッファセル番号メモリ２９０におけるリードポインタＲＰの値を進める。これによって、次のパケットデータＰがユーザの要求処理対象候補として設定される。
【０２０４】
上述のように、逐次入力される単一のトランスポートストリームＴＳに含まれる複数の番組に対してユーザが選択的に所望する処理を施すためには、当該トランスポートストリームＴＳに含まれるすべてのパケットデータＰの内で対応するパケットデータＰのみに選択的に処理を施す。そのためには、逐次入力されるパケットデータＰのそれぞれに対して、所定の時間だけ処理を施すことを保証する必要がある。
【０２０５】
そこで、本実施形態においては、ライトポインタＷＰによって、各パケットデータＰを入力されてくる順番に、所定の時間、所定のバッファセルＢｃに閉じ込めると言う課程を管理する。そして、リードポインタＲＰによって、閉じ込めたパケットデータＰが処理対象であるかを識別し、処理対象である場合には処理を施した後に出力するという課程を管理する。この一連の動作をハードウェアとソフトウェアのハイブリッドな構成によって制御保証するものである。
【０２０６】
なお、上述のごとく、本発明の第１の実施形態においては、図７を参照して説明したように、トランスポートストリームＴＳはそれぞれに固有のパケット識別子ＰＩＤが付与されているパケットデータＰから構成される。このようなトランスポートストリームＴＳに関しては、本発明にかかるトランスポートストリームデコーダＴＤ１によって、トランスポートストリームＴＳを構成するすべてのパケットデータＰに対して、個別に異なる処理を施すことができることは上述の通りである。
【０２０７】
しかしながら、ＩＴＵ−Ｔ勧告Ｈ．２２０．０に代表されるトランスポートストリームＴＳは、それを構成するすべてのパケットデータＰのそれぞれに固有のパケット識別子ＰＩＤが付与されていない。そのトランスポートストリームＴＳを構成するパケットデータＰの内容毎に分類される所謂パケットデータグループ毎に固有のパケット識別子ＰＩＤが付与される。
【０２０８】
図９に、そのようなパケットデータグループ毎にパケット識別子ＰＩＤが扶養されたトランスポートストリームＴＳのパケット構成を例示する。図７に示した例と同様に、図９においても、トランスポートストリームＴＳを構成するパケットデータＰのそれぞれが１つの枠として表示されている。これらのパケットデータＰは、α種類の番組毎にそのコンテンツを形成する複数の番組コンテンツパケットデータＰｃと、番組毎にこれら番組コンテンツパケットデータＰｃのパケット識別子ＰＩＤを記述した番組コンテンツパケットデータ管理表ＰＭＴと、番組毎に対応する番組コンテンツパケットデータ管理表ＰＭＴを記した番組コンテンツ管理表ＰＡＴ等に分類される。
【０２０９】
図９においては、少なくとも３つの異なる番組１、番組２、および番組３を提供する場合（α≧３）のトランスポートストリームＴＳの構成が例示されている。パケット識別子ＰＩＤが１０１であるすべてのパケットデータＰは、番組１の映像データである番組コンテンツパケットデータＰｃ１０１と規定される。パケット識別子ＰＩＤが１１１１であるすべてのパケットデータＰは、番組１の音声データである番組コンテンツパケットデータＰｃ１０１と規定される。
【０２１０】
同様に、パケット識別子ＰＩＤが２０１であるすべてのパケットデータＰは、番組２の映像データである番組コンテンツパケットデータＰｃ２０１と規定される。パケット識別子ＰＩＤが２１１であるすべてのパケットデータＰは、番組２の音声データである番組コンテンツパケットデータＰｃ２１１と規定される。
【０２１１】
さらに、パケット識別子ＰＩＤが３０１であるすべてのパケットデータＰは、番組３の映像データである番組コンテンツパケットデータＰｃ３０１と規定される。パケット識別子ＰＩＤが３１１であるすべてのパケットデータＰは、番組３の音声データである番組コンテンツパケットデータＰｃ３１１と規定される。
【０２１２】
このように、トランスポートストリームＴＳを構成するすべてのパケットデータＰのそれぞれに固有のパケット識別子ＰＩＤが付与されるのではなく、そのパケットデータＰの種類毎に固有のパケット識別子ＰＩＤが付与されることを除いては、図９に示すトランスポートストリームＴＳも図７を参照して説明したのトランスポートストリームＴＳと同様に構成される。なお、原則として、同一パケット識別子ＰＩＤを有する複数のパケットデータＰは、ストリーム作成時において、その提示の順番に配列される。その結果、受信側においては、逐次入力されるトランスポートストリームＴＳのすべてのパケットデータＰのそれぞれに対して、パケット識別子ＰＩＤ毎に受信した順番に所定の処理を施すことによって、情報を抽出することができる。
【０２１３】
このようなパケット構成を有するトランスポートストリームＴＳに、上述の本発明の第１の実施形態にかかるトランスポートストリームデコーダＴＤ１を適応した場合の動作について説明する。パケットデータＰの内容毎に分類されるパケットデータグループ毎に固有のパケット識別子ＰＩＤが付与されると言うことは、図７に示したトランスポートストリームＴＳにパケットデータＰのパケット識別子ＰＩＤの上位３桁のみを指示することと実質的に同じである。つまり、本例においても、番組コンテンツパケットデータＰｃ１０１と番組コンテンツパケットデータＰｃ２０１の抽出することによって、図８に示した番組映像コンテンツパケットデータＰｃＶと実質的に同じパケット構成の複数番組映像コンテンツパケットデータ列を生成できる。同様に番組コンテンツパケットデータＰｃ１１１とパケットデータＰ２１１の抽出することによって、図８に示した番組音声コンテンツパケットデータＰｃＳと実質的に同じパケット構成の複数番組音声コンテンツパケットデータ列を生成できる。
【０２１４】
但し、ＴＤ制御器ＴＤＣ１で生成される処理対象パケットデータ識別情報ＰＩＤｄも、バッファセルＢｃに格納されているパケットデータＰから読みとられるバッファパケット識別情報ＰＩＤｅも共にパケットデータグループを示している。よって、上述のパケット選択器４００によるバッファパケット識別情報ＰＩＤｅと処理対象パケットデータ識別情報ＰＩＤｄとがマッチングしている判定された場合には、マッチしたパケット識別子ＰＩＤを有するパケットデータグループに属するすべてのパケットデータＰに対して、同一の処理が施される。これは、上述のごとく、図７に示したパケット構成を有するトランスポートストリームＴＳのすべてのパケットデータＰのパケット識別子ＰＩＤの上位の適当な桁を指定することによって、その指定された桁のパケット識別子ＰＩＤが同一であるパケットデータＰをグループとして、グループ毎に固有の処理を施すことと実質的に同一である。
【０２１５】
（第２の実施形態）
以下に、図１５、図１６、図１７、図１８、図１９、図２０、図２１、図２２、図２３、図２４、図２５および図２６を参照して、本発明の第２の実施形態にかかるデータバッファリング装置について説明する。本実施形態においては、本発明にかかるパケットデータ処理決定器は、複数のトランスポートストリームＴＳに含まれる複数の番組のコンテンツデータを選択的に抽出するトランスポートストリームデコーダに用いられるデータバッファリング装置を例として述べられる。
【０２１６】
先ず、本実施形態にかかるパケットデータ処理決定器を組み込んだトランスポートストリームデコーダの基本的概念について述べる。図２４に、本実施形態におけるのと同様に複数のトランスポートストリームＴＳ１〜ＴＳε（εは、２以上の任意の整数）から複数の番組を抽出する用途に適応させるべく提案する、図３３に示した従来のトランスポートストリームデコーダＴＤＡｃ（単一のトランスポートストリームＴＳから単一の番組を抽出する）の第２の改良例を示す。
【０２１７】
第２の改良であるトランスポートストリームデコーダＴＤＡＡ２は、基本的に図１０に示した第１の改良例であるトランスポートストリームデコーダＴＤＡＡ１において、拡張プログラムパケットフィルタＥＰＣＦがプログラムパケットフィルタ群ＧＰＣＦに置き換えられると共に、メインメモリ制御器７００Ｃが調停機能付きメインメモリ制御器７００Ｃｒに置き換えられ、さらにストリーム入力器６００Ｃが新たに設けられた構造を有する。
【０２１８】
プログラムパケットフィルタ群ＧＰＣＦ、調停機能付きメインメモリ制御器７００Ｃｒ、およびストリーム入力器６００Ｃについて説明する前に、先ず、図２０、図２５、および図２６を参照して、トランスポートストリームデコーダＴＤＡＡ２の動作について述べる。
【０２１９】
図２０を参照して、トランスポートストリームデコーダＴＤＡＡ２に入力される、それぞれが複数の番組のコンテンツを提供する２つのトランスポートストリームの構成について説明する。同図には、少なくとも３つの異なる番組１、番組２、番組３、・・・、番組α１を提供する第１のトランスポートストリームＴＳ１の構成例と、少なくとも６つの異なる番組１、番組２、番組３、番組４、番組５、番組６、・・・、番組α２を提供する第２のトランスポートストリームＴＳ２の構成例が示されている。
【０２２０】
なお、第２のトランスポートストリームＴＳ２における番組１、番組２、および番組３は、トランスポートストリームＴＳ１における番組１、番組２、および番組３とは基本的に異なるものであるが、同じであっても良い。なお、第２のトランスポートストリームＴＳ２のおける番組１、番組２、および番組３は、紙面の都合上図示されていない。
【０２２１】
このように、トランスポートストリームデコーダＴＤに入力される複数のトランスポートストリームＴＳのそれぞれには同一の番組番号を有する番組が重複して存在する。さらに、パケットデータＰには、トランスポートストリームＴＳ毎にパケット識別子ＰＩＤが付与されるので、複数のトランスポートストリームＴＳのそれぞれには、同一のパケット識別子ＰＩＤを有するパケットデータＰが重複して存在する。
【０２２２】
第１のトランスポートストリームＴＳ１において、番組コンテンツパケットデータＰｃ
１０１＿１、Ｐｃ１０１＿２、・・・は番組１を構成する映像データであり、番組コンテンツパケットデータＰｃ１１１＿１、Ｐｃ１１１＿２、・・・・は番組１を構成する音声データである。同様に、番組コンテンツパケットデータＰｃ２０１＿１、Ｐｃ２０１＿２、・・・・は番組２の映像データであり、番組コンテンツパケットデータＰｃ２１１＿１、Ｐｃ２１１＿２、・・・・は番組２の音声データである。さらに番組コンテンツパケットデータＰｃ３０１＿１、Ｐｃ３０１＿２、・・・・は番組３の映像データであり、番組コンテンツパケットデータＰｃ３１１＿１、Ｐｃ３１１＿２、・・・・は番組３の音声データである。
【０２２３】
第２のトランスポートストリームＴＳ２において、番組コンテンツパケットデータＰｃ４０１＿１、Ｐｃ４０１＿２、・・・は、番組４の映像データであり、番組コンテンツパケットデータＰｃ４１１＿１、Ｐｃ４１１＿２、・・・・は番組４の音声データである。同様に、番組コンテンツパケットデータＰｃ５０１＿１、Ｐｃ５０１＿２、・・・・は番組５の映像データであり、番組コンテンツパケットデータＰｃ５１１＿１、Ｐｃ５１１＿２、・・・・は番組５の音声データである。さらに番組コンテンツパケットデータＰｃ６０１＿１、Ｐｃ６０１＿２、・・・・は番組６の映像データであり、番組コンテンツパケットデータＰｃ６１１＿１、Ｐｃ６１１＿２、・・・・は番組６の音声データである。
【０２２４】
なお、トランスポートストリームデコーダＴＤＡＡ２に入力されるトランスポートストリームＴＳは３以上であっても良いし、各トランスポートストリームＴＳが提供できる番組数は３以上であっても良いことは言うまでも無い。また、トランスポートストリームＴＳには、提供する番組数に応じて対応する番組コンテンツパケットデータＰｃが含まれる。番組の内容によっては、映像や音声以外のデータ（例えば、文字情報）に対応する番組コンテンツパケットデータＰｃも含まれることも同様である。
【０２２５】
なお、第１のトランスポートストリームＴＳ１および第２のトランスポートストリームＴＳ２においても、番組コンテンツパケットデータＰｃの間に伝送経路および処理上の要因から定められる頻度で番組コンテンツ管理表ＰＡＴと番組コンテンツパケットデータ管理表ＰＭＴが配列されて構成される。
【０２２６】
第１のトランスポートストリームＴＳ１に関しては、番組１、２、および３の番組コンテンツの内で番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ１１１＿１、Ｐｃ２０１＿１、Ｐｃ２１１＿１、Ｐｃ３０１＿１、およびＰｃ３１１＿１の前に、全番組コンテンツのパケット識別子ＰＩＤを記した番組コンテンツパケットデータ管理表ＰＭＴ１、ＰＭＴ２、およびＰＭＴ３と、これらの番組コンテンツパケットデータ管理表ＰＭＴのそれぞれのパケット識別子ＰＩＤと対応番組とを示す番組コンテンツ管理表ＰＡＴが配されている。
【０２２７】
番組コンテンツ管理表ＰＡＴには、番組１の番組コンテンツパケットデータ管理表ＰＭＴのパケット識別子ＰＩＤは１００であり、番組２の番組コンテンツパケットデータ管理表ＰＭＴのパケット識別子ＰＩＤは２００であり、番組３の番組コンテンツパケットデータ管理表ＰＭＴのパケット識別子ＰＩＤは３００であり、・・・、番組α１ の番組コンテンツパケットデータ管理表ＰＭＴのパケット識別子ＰＩＤはα１ ００であると記述されている。
【０２２８】
第２のトランスポートストリームＴＳ２に関しては、番組４、５、および６の全３種類の番組コンテンツの内で番組コンテンツパケットデータＰｃ４０１＿１、Ｐｃ４１１＿１、Ｐｃ５０１＿１、Ｐｃ５１１＿１、Ｐｃ６０１＿１、およびＰｃ６１１＿１の前に、全番組コンテンツのパケット識別子ＰＩＤを記した番組コンテンツパケットデータ管理表ＰＭＴ１、ＰＭＴ２、およびＰＭＴ３と、これらの番組コンテンツパケットデータ管理表ＰＭＴのそれぞれのパケット識別子ＰＩＤと対応番組とを示す番組コンテンツ管理表ＰＡＴが配されている。
【０２２９】
番組コンテンツ管理表ＰＡＴには、番組４の番組コンテンツパケットデータ管理表ＰＭＴのパケット識別子ＰＩＤは４００であり、番組５の番組コンテンツパケットデータ管理表ＰＭＴのパケット識別子ＰＩＤは５００であり、番組６の番組コンテンツパケットデータ管理表ＰＭＴのパケット識別子ＰＩＤは６００であり、・・・、番組α２ の番組コンテンツパケットデータ管理表ＰＭＴはα２ ００であると記述されている。
【０２３０】
なお、トランスポートストリームＴＳに含まれるパケットデータＰの種類によって、その到着頻度は大きく異なるため、番組コンテンツ管理表ＰＡＴ、番組コンテンツパケットデータ管理表ＰＭＴ、番組コンテンツパケットデータＰｃ、およびその他のパケットが同一のトランスポートストリームＴＳの内部で入り乱れて配置されていることもあることは、単一のトランスポートストリームＴＳが入力される場合と同様である。
【０２３１】
なお、図２０においては、描画上の都合により第１のトランスポートストリームＴＳ１と第２のトランスポートストリームＴＳ２がパケット単位で同期されているように見えるが、大抵の場合は同期していない。よって、第１のトランスポートストリームＴＳ１における番組コンテンツパケットデータＰｃと、第２のトランスポートストリームＴＳ２における番組コンテンツパケットデータＰｃがトランスポートストリームデコーダＴＤＡＡ２に同時に入力される場合もそうでない場合もある。
【０２３２】
図２１に、トランスポートストリームデコーダＴＤＡＡ２によって、図２０に示したパケット構成を有する第１のトランスポートストリームＴＳ１から第１の選択複数番組パケットデータ列Ｐｅｍ１を抽出し、第２のトランスポートストリームＴＳ２から第２の選択複数番組パケットデータ列Ｐｅｍ２を抽出する様子を示す。本例においては、第１の選択複数番組パケットデータ列Ｐｅｍ１は、番組１および番組２のパケットデータＰを含み、第２の選択複数番組パケットデータ列Ｐｅｍ２は、番組３および番組４のパケットデータＰを含む。そして、第１の選択複数番組パケットデータ列Ｐｅｍ１および第２の選択複数番組パケットデータ列Ｐｅｍ２が混合されて混合選択複数番組パケットデータ列Ｐｅｍｓとして調停機能付きメインメモリ制御器７００Ｃｒに出力される。
【０２３３】
調停機能付きメインメモリ制御器７００Ｃｒは、入力された混合選択複数番組パケットデータ列Ｐｅｍｓに含まれる複数のトランスポートストリームＴＳに属する番組コンテンツパケットデータＰｃを調停してメインメモリ９００Ｃに出力する。結果、メインメモリ９００の内部で複数ＴＳ複数番組パケットデータ列Ｐｍｓｍが形成される。これは、トランスポートストリームＴＳに含まれるパケットデータＰは、トランスポートストリームＴＳが異なれば、そのパケットデータサイズ、転送レート、および到着タイミング等が異なるため、異なるトランスポートストリームＴＳに含まれるパケットデータＰが同時に入力されることがあるからである。
【０２３４】
なお、図２０および図２１に示す例では、トランスポートストリームＴＳ毎に異なる番組番号を有する番組が抽出されるため、混合選択複数番組パケットデータ列Ｐｅｍｓにおいて、番組番号やパケット識別子ＰＩＤが重複するパケットデータＰが存在しないように見える。しかしながら、第１のトランスポートストリームＴＳ１と第２のトランスポートストリームＴＳ２で同じ番組番号の番組を抽出する場合は、混合選択複数番組パケットデータ列Ｐｅｍｓにおいて同じ番組番号を有する異なる番組コンテンツパケットデータＰｃが存在する。またパケット識別子ＰＩＤに関しては、番組番号とは関係なくトランスポートストリームＴＳ毎に固有にそのパケットデータＰに付与できるので、やはり混合選択複数番組パケットデータ列Ｐｅｍｓにおいて同一のパケット識別子ＰＩＤを有する異なるパケットデータＰが存在する。
【０２３５】
なお、指定番組以外のトランスポートストリームＴＳ１の番組３を示す番組コンテンツパケットデータ管理表ＰＭＴ３や、第２のトランスポートストリームＴＳ２の番組６の番組コンテンツパケットデータ管理表ＰＭＴ６が抽出されることもある。このように、入力されるトランスポートストリームＴＳに連続的に配列されたパケットデータＰから所定の複数の番組に対応するパケットデータＰのみが離散的に抽出されると共に、トランスポートストリームデコーダＴＤＡＡ２に到着した順番に出力される。
【０２３６】
図２５に、混合選択複数番組パケットデータ列Ｐｅｍｓから生成される複数ＴＳ複数番組パケットデータ列Ｐｍｓｍの構成の一例を示す。本例においては、第１のトランスポートストリームＴＳ１の番組１の番組映像コンテンツパケットデータＰｃＶである番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ１０１＿２、・・・と、番組２の番組映像コンテンツパケットデータＰｃＶである番組コンテンツパケットデータＰｃ番組２０１＿１、Ｐｃ２０１＿２、・・・とが抽出される。そして、第２のトランスポートストリームＴＳ２の番組４の番組映像コンテンツパケットデータＰｃＶである番組コンテンツパケットデータＰｃ４０１＿１、Ｐｃ４０１＿２、・・・と、番組５の番組映像コンテンツパケットデータＰｃＶである番組コンテンツパケットデータＰｃ５０１＿１、Ｐｃ５０１＿２、・・・とが抽出されて、例えば番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ４０１＿１、Ｐｃ２０１＿１、Ｐｃ５０１＿１、Ｐｃ１０１＿２、Ｐｃ４０１＿２、Ｐｃ２０１＿２、Ｐｃ５０１＿２・・・の順番に複数ＴＳ複数番組映像コンテンツパケットデータ列ＰｍｓｍＶとして出力される。
【０２３７】
同様に、第１のトランスポートストリームＴＳ１の番組１および番組２の番組音声コンテンツパケットデータＰｃＳである番組コンテンツパケットデータＰｃ１１１＿１、Ｐｃ１１１＿２、・・・と番組コンテンツパケットデータＰｃ２１１＿１、Ｐｃ２１１＿２、・・・が抽出されると共に、トランスポートストリームＴＳ２の番組３および番組４の番組音声コンテンツパケットデータＰｃＳである番組コンテンツパケットデータＰｃ４１１＿１、Ｐｃ４１１＿２、・・・と番組コンテンツパケットデータＰｃ５１１＿１、Ｐｃ５１１＿２、・・・が抽出されて、番組コンテンツパケットデータＰｃ１１１＿１、Ｐｃ４１１＿１、Ｐｃ２１１＿１、Ｐｃ５１１＿１、Ｐｃ１１１＿２、Ｐｃ４１１＿２、Ｐｃ２１１＿２、Ｐｃ５１１＿２、・・・の順番に複数ＴＳ複数番組音声コンテンツパケットデータ列ＰｍｓｍＳ音声ストリームとしてメインメモリ９００Ｃに出力される。
【０２３８】
図２６に、混合選択複数番組パケットデータ列ＰｅｍｓのパケットデータＰのそれぞれがメインメモリ９００Ｃに蓄積される状態の一例を示す。メインメモリ９００Ｃは、図１３を参照して説明したように構成されている。但し、本例においては、映像パケット格納領域Ａ（ｖｉｄｅｏ）には複数ＴＳ複数番組映像コンテンツパケットデータ列ＰｍｓｍＶを構成する番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ４０１＿１、Ｐｃ２０１＿１、およびＰｃ５０１＿１、・・・が格納され、音声パケット格納領域Ａ（ａｕｄｉｏ）には複数ＴＳ複数番組音声コンテンツパケットデータ列ＰｍｓｍＳを構成する番組コンテンツパケットデータＰｃ１１１＿１、Ｐｃ４１１＿１、Ｐｃ２１１＿１、およびＰｃ５１１＿１、・・・が格納される。
【０２３９】
図２４に戻って、プログラムパケットフィルタ群ＧＰＣＦ、調停機能付きメインメモリ制御器７００Ｃｒ、およびストリーム入力器６００Ｃについて説明する。プログラムパケットフィルタ群ＧＰＣＦは、図１０に示した拡張プログラムパケットフィルタＥＰＣＦを複数個、つまり入力されるトランスポートストリームＴＳに対して１ずつ有する。同例においては、プログラムパケットフィルタ群ＧＰＣＦは、ストリーム入力器５００Ｃに接続されて第１のトランスポートストリームＴＳ１を第１の転送単位ＴＳ１ｄで入力される第１の拡張プログラムパケットフィルタＥＰＣＦ１と、ストリーム入力器６００Ｃに接続されて第２のトランスポートストリームＴＳ２を第２の転送単位ＴＳ２ｄで入力される第２の拡張プログラムパケットフィルタＥＰＣＦ２とを有する。
【０２４０】
拡張プログラムパケットフィルタＥＰＣＦ１は、第１のトランスポートストリームＴＳ１から第１の選択複数番組パケットデータ列Ｐｅｍ１を生成して調停機能付きメインメモリ制御器７００Ｃｒに出力する。同様に、第２の拡張プログラムパケットフィルタＥＰＣＦ２は、第２のトランスポートストリームＴＳ２から第２のトランスポートストリームＴＳ２から第２の選択複数番組パケットデータ列Ｐｅｍ２を生成して調停機能付きメインメモリ制御器７００Ｃｒに出力する。
【０２４１】
調停機能付きメインメモリ制御器７００Ｃｒは、図１０に示したメインメモリ制御器７００Ｃに、調停器を追加して構成される。この調停器は、プログラムパケットフィルタ群ＧＰＣＦから入力される第１の選択複数番組パケットデータ列Ｐｅｍ１および選択複数番組パケットデータ列Ｐｅｍ２において、２つのパケットデータＰが同時に入力された場合に、メインメモリ９００Ｃに選択複数番組パケットデータ列Ｐｅｍとして出力する順番を決定して、メインメモリ制御器７００Ｃへの入力とメインメモリ９００Ｃへの出力を調停する。
【０２４２】
メインメモリ９００Ｃは、トランスポートストリームデコーダＴＤＡＡ１におけるのと同様に、メインメモリ制御器７００Ｃを経由して、プログラムパケットフィルタ群ＧＰＣＦから混合選択複数番組パケットデータ列Ｐｅｍｓを格納することによって、内部に複数ＴＳ複数番組パケットデータ列Ｐｍｓｍを形成する。格納する。さらに、調停機能付きメインメモリ制御器７００Ｃｒは、ＡＶデコーダ２０００Ｃに代表される外部機器からの要求に応じてメインメモリ９００Ｃから複数ＴＳ複数番組パケットデータ列Ｐｍｓｍを読み出して出力する。
【０２４３】
この場合、ユーザが異なるトランスポートストリームＴＳに含まれる複数の番組の中から１つ以上の番組を選択して、それぞれに対するデータ処理（例えば番組１はモニターで表示し、番組４は録画する等）要求に応えるために、トランスポートストリームデコーダＴＤＡＡ２は、トランスポートストリームデコーダＴＤＡＡ１において識別すべき状況に加えて下記に述べる状況とその情報を生成して保持する必要がある。追加的に識別すべき状況とは、複数のトランスポートストリームＴＳのそれぞれから番組が選択されるため、同じパケット識別子ＰＩＤを有する異なるパケットデータＰが選択されることがある。この場合、パケット識別子ＰＩＤだけでは判らない、各パケットデータＰと選択された番組の関係の情報が必須である。
【０２４４】
さらに、単一のトランスポートストリームＴＳから複数の番組を選択する場合には、対応するパケットデータＰは必ず到着時間が異なる。それゆえに、対応するパケットデータＰを到着した順番に、パケットデータＰは選択複数番組パケットデータ列Ｐｅｍや複数番組パケットデータ列Ｐｍｓとして出力できる。しかしながら、異なるトランスポートストリームＴＳにおいては、同時に到着する複数のパケットデータＰが選択されることがある。そのような、到着時刻が同一のパケットデータＰを、混合選択複数番組パケットデータ列Ｐｅｍｓとしてメインメモリ９００Ｃに出力する場合には、到着時刻に関係なく順番に出力されなければならない。結果、メインメモリ９００Ｃ中で複数ＴＳ複数番組パケットデータ列Ｐｍｓｍを形成する際に、トランスポートストリームＴＳの正しい時間的関係を到着した順番で保証することができない。
【０２４５】
さらに、トランスポートストリームＴＳが異なれば、それを構成するパケットデータＰのサイズや転送速度が異なることが多い。例えば、トランスポートストリームＴＳ１は、
第２のトランスポートストリームＴＳ２に比べて、パケットデータＰのサイズが小さく、且つ転送速度が速い場合について考える。今、第２のトランスポートストリームＴＳ２のパケットデータＰ（ＴＳ２−１）が到着した直後に、第１のトランスポートストリームＴＳ１のパケットデータＰ（ＴＳ１−１）が到着したとする。この場合、パケットデータＰ（ＴＳ２−１）が第２の拡張プログラムパケットフィルタＥＰＣＦ２から、第２の転送単位ＴＳ２で調停機能付きメインメモリ制御器７００Ｃｒへの転送が開始される。その直後に、パケットデータＰ（ＴＳ１−１）が拡張プログラムパケットフィルタＥＰＣＦ１から、第１の転送単位ＴＳ１ｄで調停機能付きメインメモリ制御器７００Ｃｒへの転送が開始される。
【０２４６】
しかしながら、パケットデータＰ（ＴＳ１−１）はパケットデータＰ（ＴＳ２−１）に比べてサイズが小さくかつ第１のトランスポートストリームＴＳ１の転送速度は第２のトランスポートストリームＴＳ２のそれに比べて大きい。そのため、パケットデータＰ（ＴＳ２−１）の転送中に、第１のトランスポートストリームＴＳ１のパケットデータＰ（ＴＳ１−１）の転送が終了してしまい、さらに後続のパケットデータＰ（ＴＳ２−２）の転送が開始する事態になる。
【０２４７】
つまり、トランスポートストリームＴＳが異なると、遅れて到着したパケットデータＰが先に到着したパケットデータＰを追い越して、メインメモリ９００Ｃに出力されることになる。このような場合、到着した順番に混合選択複数番組パケットデータ列Ｐｅｍｓとして出力することによって、メインメモリ９００Ｃ中に正しく複数ＴＳ複数番組パケットデータ列Ｐｍｓｍを形成することは不可能である。よって、このような事態においても、複数ＴＳ複数番組パケットデータ列Ｐｍｓｍにおいて、異なるトランスポートストリームＴＳから抽出されたパケットデータＰが正しく再生できるように、トランスポートストリームＴＳにおけるパケットデータＰの時系列情報が必須である。
【０２４８】
そこで、本実施形態においては、逐次入力されてくるトランスポートストリームＴＳを構成する全パケットデータＰを個々にバッファリングすると共に、個々にバッファリングされているパケットデータＰを識別して、同パケットデータＰがユーザの所望する処理対象であるかを判断して、同パケットデータＰに対するアクセスおよび処理をリアルタイム制御する機能を備えたデータバッファリング装置を新たに考案する。さらに、リアルタイム処理時間内でのアクセス或いは加工時間を保証するために、対象パケットデータをバッファセル内に所定時間だけ確保することをソフトウェア制御で保証し、それ以外の受動的処理についてはハードウェア制御に任せる。結果、パケットデータＰ単位でのより柔軟な識別管理を可能にし、識別されたパケットデータＰに対して固有の処理を施す後行程に対する処理タイミング調整も容易なパケットデータ処理決定器を提供するものである。
【０２４９】
そこで、本実施形態においては、第１の実施形態におけるバッファリング装置に対して、パケットデータＰ単位でのトランスポートストリームＴＳの識別、さらにパケットデータＰの時系列識別機能を付加したパケットデータ処理決定器を提供するものである。
【０２５０】
図１５に、本例にかかるデータバッファリング装置ＤＢＡ２を組み込んだトランスポートストリームデコーダＴＤ２を示す。トランスポートストリームデコーダＴＤ２は、データバッファリング装置ＤＢＡ１がデータバッファリング装置ＤＢＡ２に置き換えられると共に、ストリーム入力器ＴＳＲが第１ストリーム入力器ＴＳＲ＿１と第２ストリーム入力器ＴＳＲ＿２に置き換えられ、メインメモリ９００がメインメモリ９００ｒに置き換えられ、さらにＴＤ制御器ＴＤＣ１がＴＤ制御器ＴＤＣ２に置き換えられている点を除けば、図１に示したトランスポートストリームデコーダＴＤ１と同様に構成される。なお、トランスポートストリームデコーダＴＤ２に同時に入力されるトランスポートストリームＴＳの数Ｎの分だけ、Ｎ個のストリーム入力器ＴＳＲ＿１〜ＴＳＲ＿Ｎが用意される。なお、
本例においては、２つのトランスポートストリームＴＳが入力される場合について具体的に述べる。
【０２５１】
さらに、データバッファリング装置ＤＢＡ２も、パケットバッファリング調停器ＰＢＡ１がパケットバッファリング調停器ＰＢＡ２に置き換えられ、制御器ＰＢＡＣ１が制御器ＰＢＡＣ２に置き換えられると共に、パケット選択器４００がパケット選択器４００ｒに置き換えられている点を除けば、図１に示したデータバッファリング装置ＤＢＡ１と同様に構成される。
【０２５２】
また、パケットバッファリング調停器ＰＢＡ２は、ＤＭＡバス調停器２１０がＤＭＡバス調停器２１０ｒに置き換えられ、バッファセル割当情報格納器２４０がバッファセル割当情報格納器２４０ｒに置き換えられ、パケットバッファ２７０がパケットバッファ２７０ｒに置き換えられると共に、蓄積完了バッファセル番号メモリ２９０が蓄積完了バッファセル番号メモリ２９０ｒに置き換えられている点を除けば、図１に示したパケットバッファリング調停器ＰＢＡ１と同様に構成される。
【０２５３】
これらの新たに設けられた構成要素について説明する前に、先ず、および図２２と既述の図２０および図２１を参照して、本実施形態におけるトランスポートストリームデコーダＴＤ２の基本的概念について述べる。トランスポートストリームデコーダＴＤには、既に図２０を参照して説明したデータ構成を有する第１のトランスポートストリームＴＳ１および第２のトランスポートストリームＴＳ２の少なくとも２つのトランスポートストリームＴＳが入力される。
【０２５４】
ストリームＴＳ１に含まれる第１の選択複数番組パケットデータ列Ｐｅｍ１（図２１）に相当する番組１および番組２のパケットデータＰを抽出すると共に、第２のトランスポートストリームＴＳ２に含まれる第２の選択複数番組パケットデータ列Ｐｅｍ２（図２１）に相当する番組４および番組５のパケットデータＰを選択複数ＴＳ複数番組パケットデータ列Ｐｅｍｍとして抽出する。そして、選択複数ＴＳ複数番組パケットデータ列Ｐｅｍｍは、メインメモリ９００に格納されて、図２５を参照して説明した複数ＴＳ複数番組パケットデータ列Ｐｍｓｍが形成される。
【０２５５】
図２２に、外部に設けられたフロントエンド部を介してトランスポートストリームデコーダＴＤ２に入力されたトランスポートストリームＴＳ１およびＴＳ２から抽出された選択複数ＴＳ複数番組パケットデータ列Ｐｅｍｍに含まれるパケットデータＰのそれぞれのメインメモリ９００ｒにおける蓄積状態の一例を示す。なお、同図において、ストリーム入力器ＴＳＲ＿Ｎ、データバッファリング装置ＤＢＡ２、メインメモリ制御器７００、ＴＤ制御器ＴＤＣ２、および副次処理要求入力器ＡＰＲは、トランスポートストリーム編集部ＴＤ２ｒと表示されている。
【０２５６】
メインメモリ９００Ｃｒは、図２６示したメインメモリ９００Ｃと同様に、複数ＴＳ複数番組映像コンテンツパケットデータ列ＰｍｓｍＶを構成する番組コンテンツパケットデータＰｃ１０１＿１、Ｐｃ４０１＿１、Ｐｃ２０１＿１、およびＰｃ５０１＿１、・・・を格納する映像パケット格納領域Ａ（ｖｉｄｅｏ）と、複数ＴＳ複数番組音声コンテンツパケットデータ列ＰｍｓｍＳを構成する番組コンテンツパケットデータＰｃ１１１＿１、Ｐｃ４１１＿１、Ｐｃ２１１＿１、およびＰｃ５１１＿１、・・・を格納する音声パケット格納領域Ａ（ａｕｄｉｏ）とを有する。
【０２５７】
メインメモリ９００Ｃｒは、さらに、番組コンテンツ管理表ＰＡＴの情報および番組コンテンツパケットデータ管理表ＰＭＴを格納するＰＡＴ格納領域Ａｒ（ＰＡＴ）を有する。しかしながら、メインメモリ９００ＣのＰＡＴ格納領域Ａ（ＰＡＴ）とは異なり、ＰＡＴ格納領域Ａｒ（ＰＡＴ）には入力されるトランスポートストリームＴＳ１〜ＴＳεのそれぞれに専用に格納すべく細分化されている。このような構成において、メインメモリ９００Ｃは、トランスポートストリームＴＳ毎に選別して番組コンテンツ管理表ＰＡＴを格納するＰＡＴ格納領域Ａｒ（ＰＡＴ）と、番組コンテンツパケットデータ管理表ＰＭＴの情報をトランスポートストリームＴＳ毎に選別して格納するＰＭＴ格納領域Ａｒ（ＰＭＴ）を有する。
【０２５８】
なお、ＰＭＴ格納領域Ａｒ（ＰＭＴ）は、トランスポートストリームＴＳに含まれている番組コンテンツパケットデータ管理表ＰＭＴ（番組）の種類（α）だけ用意されることは言うまでも無い。このように、構成することによって、入力されるトランスポートストリームＴＳ毎に読み込んだ管理パケットデータＰｃＡを識別して管理できるので、今後配信される番組に関する情報をトランスポートストリームＴＳ毎に容易に知ることができる。
【０２５９】
上述のごとく、個々のトランスポートストリームＴＳに含まれるすべてのパケットデータＰはパケット識別子ＰＩＤによって個別に識別できる。しかしがら、２つ以上のトランスポートストリームＴＳが入力される場合には、トランスポートストリームＴＳが異なれば、同じパケット識別子ＰＩＤを有する異なるパケットデータＰが存在する。トランスポートストリームデコーダＴＤ２に入力される全パケットデータＰを識別するために、本実施形態においてはトランスポートストリームＴＳのそれぞれを識別するトランスポートストリーム識別子ＴＳｉをパケットデータＰに付与して管理する。これについては、後ほど詳しく説明する。
【０２６０】
図１５に戻って、トランスポートストリームデコーダＴＤ２に固有の構成要素について詳しく説明する。第１ストリーム入力器ＴＳＲ＿１および第２ストリーム入力器ＴＳＲ＿２は、それぞれに入力される第１のトランスポートストリームＴＳ１と第２のトランスポートストリームＴＳ２とを識別するためのＩＤであるトランスポートストリーム識別子ＴＳｉを付与して、それぞれを転送単位ＴＳｄ１および転送単位ＴＳｄ２として出力する。なお、転送単位ＴＳｄ１およびＴＳｄ２に関しては、図１６を参照して後ほど説明するが、本例においては８バイトに設定されているが、データバッファリング装置ＤＢＡ２における調停負荷および伝送効率を考慮して任意に定めることができる。
【０２６１】
データバッファリング装置ＤＢＡ２は、第１ストリーム入力器ＴＳＲ＿１および第２ストリーム入力器ＴＳＲ＿２から供給される転送単位ＴＳｄ１およびＴＳｄ２の第１のトランスポートストリームＴＳ１および第２のトランスポートストリームＴＳ２をパケットデータＰ単位で管理蓄積すると共に、選択複数ＴＳ複数番組パケットデータ列Ｐｅｍｍで出力する。
【０２６２】
メインメモリ９００ｒは、データバッファリング装置ＤＢＡ２から出力される第１のトランスポートストリームＴＳ１および第２のトランスポートストリームＴＳ２から抽出された選択複数ＴＳ複数番組パケットデータ列Ｐｅｍｍを格納すると共に、ＡＶデコーダに代表される外部機器（図示せず）に複数ＴＳ複数番組パケットデータ列Ｐｍｓｍとして出力する。
【０２６３】
メインメモリ制御器７００は、選択複数ＴＳ複数番組パケットデータ列Ｐｅｍｍおよび複数ＴＳ複数番組パケットデータ列Ｐｍｓｍを転送単位ＴＳｄ毎に一時的に保持すると共に、メインメモリ９００ｒの動作を制御する。
【０２６４】
ＴＤ制御器ＴＤＣ２は、トランスポートストリームデコーダＴＤ２全体の動作を制御する。なお、トランスポートストリームデコーダＴＤ２は、上述の各構成要素の動作状態を
示す状態信号ＳｒＷ２を生成してＴＤ制御器ＴＤＣ２に出力する。ＴＤ制御器ＴＤＣ２は、状態信号ＳｒＷ２に基づいて、トランスポートストリームデコーダＴＤ２の各構成要素の動作を制御する制御信号ＳｃＷ２を生成して、トランスポートストリームデコーダＴＤ２を制御する。なお、状態信号ＳｒＷ２および制御信号ＳｃＷ２の生成およびトランスポートストリームデコーダＴＤ２の制御は公知の技術であるので説明を省く。
【０２６５】
パケットバッファリング調停器ＰＢＡ２は、第１ストリーム入力器ＴＳＲ＿１から転送単位ＴＳｄ１で入力されるトランスポートストリームＴＳ１と第２ストリーム入力器ＴＳＲ＿２から転送単位ＴＳｄ２で入力されるトランスポートストリームＴＳ２をパケット、つまりパケットデータＰの単位で識別管理してバッファリングする。制御器ＰＢＡＣ２は、パケットバッファリング調停器ＰＢＡ２の動作を制御する。
【０２６６】
パケットバッファリング調停器ＰＢＡ２は、ＤＭＡバス調停器２１０ｒ、ＴＳｄ入力開始検出器２２０、バッファセル割当器２３０、バッファセル割当情報格納器２４０、書込先バッファセル指定器２５０、パケットバッファ制御器２６０、パケットバッファ２７０、蓄積完了バッファセル番号メモリ制御器２８０、蓄積完了バッファセル番号メモリ２９０、およびパケットアクセス器３００を含む。
【０２６７】
ＤＭＡバス調停器２１０ｒは、第１ストリーム入力器ＴＳＲ＿１から出力される第１のパケット先頭検出信号Ｓｐｓ１、第１のリクエスト信号Ｓｒｑ１、および第１の転送単位ＴＳｄ１からの入力を受ける第１の入力ポート群と、第２ストリーム入力器ＴＳＲ＿２から出力される第２のパケット先頭検出信号Ｓｐｓ２、第２のリクエスト信号Ｓｒｑ２、および第２の転送単位ＴＳｄ２からの入力を受ける第２の入力ポート群とを有する。
【０２６８】
なお、ＤＭＡバス調停器２１０ｒには、同時に入力されるトランスポートストリームＴＳの数に応じて用意されるストリーム入力器ＴＳＲ毎に入力ポート群が用意されることは言うまでも無い。このように、入力されるトランスポートストリームＴＳ毎に入力ポート群を備えることによって、入力ポート群毎に、トランスポートストリームデコーダＴＤ２に入力されているトランスポートストリームＴＳを識別できる。
【０２６９】
さらに、ＤＭＡバス調停器２１０ｒは、第１ストリーム入力器ＴＳＲ＿１に第１のデータ有効信号Ｓｄｅ１を出力する第１の出力ポートと、第２ストリーム入力器ＴＳＲ＿２に第２のデータ有効信号Ｓｄｅ２を出力する第２の出力ポートを有する。なお、ＤＭＡバス調停器２１０ｒには、同時に入力されるトランスポートストリームＴＳの数に応じて用意されるストリーム入力器ＴＳＲ毎にデータ有効信号Ｓｄｅを出力する出力ポートが用意されることは言うまでも無い。
【０２７０】
ＤＭＡバス調停器２１０ｒは、主に、第１ストリーム入力器ＴＳＲ＿１および第２ストリーム入力器ＴＳＲ＿２とパケットバッファ制御器２６０との間での第１のトランスポートストリームＴＳ１および第２のトランスポートストリームＴＳ２の転送単位ＴＳｄ１および転送単位ＴＳｄ２での入出力を調停する。つまり、ＤＭＡバス調停器２１０ｒは第１ストリーム入力器ＴＳＲ＿１から入力される第１のパケット先頭検出信号Ｓｐｓ１および第１のリクエスト信号Ｓｒｑ１に基づいて、第１のパケット先頭検出信号Ｓｐｓ１をＴＳｄ入力開始検出器２２０に出力する。第１ストリーム入力器ＴＳＲ＿１は、ＤＭＡバス調停器２１０ｒから入力される第１のデータ有効信号Ｓｄｅ１に応答して、第１の転送単位ＴＳｄ１のを供給する。
【０２７１】
同様に、ＤＭＡバス調停器２１０ｒは第２ストリーム入力器ＴＳＲ＿２から入力される第２のパケット先頭検出信号Ｓｐｓ２、第２のリクエスト信号Ｓｒｑ２、および第２の転送単位ＴＳｄ２に基づいて、ＴＳｄ入力開始検出器２２０に第２のパケット先頭検出信号
Ｓｐｓ２および第２の転送単位ＴＳｄ２を供給する。
【０２７２】
ＴＳｄ入力開始検出器２２０は、パケットデータＰ毎に第１の転送単位ＴＳｄ１或いは第２の転送単位ＴＳｄ２の入力開始を検出する毎に、入力が開始されたパケットデータＰを格納するために、パケットバッファ２７０ｒのバッファセルＢｃの１つを割当を要求するバッファセル要求信号Ｓｂａを生成してバッファセル割当器２３０に出力する。さらに、割り当てられたバッファセルに対する書込を開始できる状態であることを示す書込許可信号Ｓｗを生成して書込先バッファセル指定器２５０に出力する。
【０２７３】
バッファセル割当器２３０、バッファセル割当情報格納器２４０ｒ、および書込先バッファセル指定器２５０は、上述の第１の実施形態におけるのと同じ動作を行う。
【０２７４】
パケットバッファ制御器２６０は、書込要求信号Ｓｗｄに応答して、ＴＳｄ入力開始検出器２２０から供給される転送単位ＴＳｄ１或いは転送単位ＴＳｄ２を、パケットバッファ２７０ｒの割り当てられたバッファセルに書き込む。このとき、ＤＭＡバス調停器２１０ｒはＴＳＲ＿１からのデータ（すなわちＴＳｄ１）か、ＴＳＲ＿２からのデータ（すなわちＴＳｄ２）かを、パケットバッファ制御器２６０に通知する。ＴＳｄ１若しくはＴＳｄ２には後に説明するが、予めそれがどちらのトランスポートストリームのデータであるかを示す印が付加されており、パケットバッファ制御器２６０はバッファセル中の蓄積されたデータに付加されたこれらの情報と、ＤＭＡバス調停器２１０ｒから通知された情報とを比較することで、正しいストリームの情報を区別しながら蓄積してゆく。さらに、パケットバッファ制御器２６０は、割り当てられたバッファセルに書き込んだデータのバイト数をカウントすることによって、パケットデータＰ分の転送単位ＴＳｄ１或いはＴＳｄ２が書き込まれたことを検出して、ＤＭＡバス調停器２１０ｒからの１パケットデータＰのデータ転送が終了したことを示す転送終了信号Ｓｔｆを生成して、蓄積完了バッファセル番号メモリ制御器２８０に出力する。
【０２７５】
蓄積完了バッファセル番号メモリ制御器２８０は、バッファセル割当情報格納器２４０ｒから入力されたバッファセル割当情報Ｉｂａとパケットバッファ制御器２６０から入力された転送終了信号Ｓｔｆに基づいて、１パケットデータＰが書き込まれたバッファセルＢｃを示すバッファセル番号信号Ｓｂｎと、バッファセル番号Ｎｂｃを書き込む記憶領域を示すライトポインタＷＰを１つ進めるライトポイント更新信号Ｓｗｐを生成して蓄積完了バッファセル番号メモリ２９０ｒに出力する。
【０２７６】
蓄積完了バッファセル番号メモリ２９０ｒは、現在ライトポインタＷＰが示す記憶領域に、バッファセル番号信号Ｓｂｎの示すバッファセル番号Ｎｂｃを記録すると共に、バッファセル番号信号Ｓｂｎに応答してライトポインタＷＰの位置を１つ進めて、バッファセル番号Ｎｂｃを記録した領域の次の領域を指し示させる。なお、本実施形態においては、蓄積完了バッファセル番号メモリ２９０ｒは図２を参照して説明するように、好ましくはリングメモリで構成されるので、このようにバッファセルに書込を終了する毎にライトポインタＷＰを１つずつ進めることによって、蓄積完了バッファセル番号メモリ２９０ｒの記憶領域に記憶されているバッファセル番号Ｎｂｃを適正に更新できる。
【０２７７】
なお、パケットアクセス器３００は、パケットバッファ制御器２６０およびＤＭＡバス調停器２１０ｒを経由して、パケットバッファ２７０のバッファセルＢｃに格納されているパケットデータＰを転送単位ＴＳｄ毎に選択的に読み出して、参照したり或いは編集等の処理を施した後にＤＭＡバス調停器２１０ｒおよびパケットバッファ制御器２６０を経由してパケットバッファ２７０ｒのバッファセルＢｃに格納されている元のパケットデータＰを上書き更新する。
【０２７８】
なお、パケットバッファリング調停器ＰＢＡ２は、上述の各構成要素の動作状態を示す状態信号Ｓｒ２を生成して制御器ＰＢＡＣ２に出力する。制御器ＰＢＡＣ２は、状態信号Ｓｒ２に基づいて、パケットバッファリング調停器ＰＢＡ２の各構成要素の動作を制御する制御信号Ｓｃ２を生成して、パケットバッファリング調停器ＰＢＡ２に出力する。なお、状態信号Ｓｒ２および制御信号Ｓｃ２の生成する制御器ＰＢＡＣ２の制御動作は公知の技術であるので説明を省く。
【０２７９】
バッファセル割当情報格納器２４０ｒ、パケットバッファ２７０ｒ、および蓄積完了バッファセル番号メモリ２９０ｒは、図２を参照して説明したバッファセル割当情報格納器２４０、パケットバッファ２７０、および蓄積完了バッファセル番号メモリ２９０のそれぞれと基本的同じ構成を有している。但し、パケットバッファ２７０ｒにおいては、バッファセルＢｃの個数Ｎは２ε以上の整数である。
【０２８０】
これは、入力されるトランスポートストリームＴＳ毎に、パケットデータＰの蓄積用と蓄積したパケットデータＰの読み出し用に異なるバッファセルＢｃが１つは必要であるからである。なお、本例においては、第１のトランスポートストリームＴＳ１と第２のトランスポートストリームＴＳ２の２つ（ε＝２）のトランスポートストリームＴＳが入力されているので、バッファセルＢｃの個数Ｎは４（２×２）以上の整数である。
【０２８１】
最低バッファ容量ＭＢＵは、分割の有無に関わらず格納するデータに管理情報に相当する管理バイトを足したものになる。管理情報には少なくとも、格納する分割／非分割データが入力される複数のトランスポートストリームＴＳのどれに属するかを示すトランスポートストリーム識別情報を含む。
【０２８２】
また、パケットを分割して格納する場合には、最低バッファ容量ＭＢＵはパケットデータＰの分割後のデータの最大サイズに分割情報とトランスポートストリームパケット識別情報を含む管理データサイズの和になる。この場合、バッファセルＢｃの個数Ｎの最小値であるバッファセル最少個数Ｎｍｉｎは２εに分割数Ｄを乗じたもの（バッファセル最少個数Ｎｍｉｎは２εＤ）になる。つまり、本実施形態においては、バッファセル最少個数Ｎｍｉｎは４Ｄと表現される。
【０２８３】
さらに、異なるパケットデータＰ間の入力レートの違いについて述べる。つまり、トランスポートストリームデコーダＴＤ２に入力される複数のトランスポートストリームＴＳのそれぞれに含まれるパケットデータＰの入力レートは、トランスポートストリームＴＳ毎に異なることが多い。第１のトランスポートストリームＴＳ１の番組１の番組コンテンツパケットデータＰｃ１０１およびＰｃ１１１と、第２のトランスポートストリームＴＳ２の第４の番組コンテンツパケットデータＰｃ４０１およびＰｃ４１１とをバッファリングする場合に、番組コンテンツパケットデータＰｃ４０１の入力レートが番組コンテンツパケットデータＰｃ１０１の入力レートに比べて圧倒的に大きい場合を例にして考える。
【０２８４】
この場合、番組コンテンツパケットデータＰｃ１０１とＰｃ４０１が同時にトランスポートストリームデコーダＴＤ２に到着したとしても、ＤＭＡバス調停器２１０ｒに調停されて、一方（例えば、番組コンテンツパケットデータＰｃ１０１）のバッファリングが他方（例えば、番組コンテンツパケットデータＰｃ４０１）より先に始まる。そして、番組コンテンツパケットデータＰｃ１０１のバッファリングの開始に引き続いて番組コンテンツパケットデータＰｃ４０１のバッファリングが開始する。しかしながら、番組コンテンツパケットデータＰｃ４０１の入力レートは番組コンテンツパケットデータＰｃ１０１の入力レートに比べて圧倒的に大きいために、番組コンテンツパケットデータＰｃ４０１のバッファリング途中で、番組コンテンツパケットデータＰｃ１０１の入力が完了してしまう。
【０２８５】
このような事態に対応するべく、番組コンテンツパケットデータＰｃ１０１のバッファリング中に、後から入力される高レートの番組コンテンツパケットデータＰｃ４１１のバッファリングするためにバッファセルＢｃを用意する必要がある。この場合のバッファセル最少個数Ｎｍｉｎは、入力されるトランスポートストリームＴＳの番組コンテンツパケットデータＰｃの入力レートに基づいて決定されるが、最低バッファ容量ＭＢＵを一定とすれば、バッファセル最少個数Ｎｍｉｎは一般に入力トランスポートストリームＴＳの数に比例し、入力トランスポートストリーム間で入力レートが著しく異なる番組コンテンツパケットデータＰｃの数に応じた分だけ増加する。
【０２８６】
なお、本例においては、最低バッファ容量ＭＢＵは１パケットデータＰに所定の管理データを付加したものを格納できるように定めており、具体的には１８８バイトの１パケットデータＰに４バイトの管理データを付加したものを格納できるように１９２バイトとしている。また、４バイトの管理データには、上述のトランスポートストリーム識別情報と共に、当該パケットデータＰの到着時間を示すタイムスタンプ情報も含まれている。これについては、後ほど図１６を参照して説明する。
【０２８７】
バッファセル割当情報格納器２４０ｒは、パケットバッファ２７０ｒのバッファセルＢｃ１〜ＢｃＮのそれぞれに対応するバッファセル割当情報領域Ａｃ１〜ＡｃＮを有することは上述の通りである。また、蓄積完了バッファセル番号メモリ２９０ｒは、バッファセル割当情報格納器２４０ｒのバッファセルＢｃ１〜ＢｃＮと同数だけ用意する必要は無く、Ｍ個のバッファセル指定領域Ｒｃ１〜Ｒｃｍを用意すれば良いことも上述の通りである。
【０２８８】
次に図１６に示す波形図を参照して、第１ストリーム入力器ＴＳＲ＿１、第２ストリーム入力器ＴＳＲ＿２、ＤＭＡバス調停器２１０ｒ、およびパケットバッファ制御器２６０の動作について簡単に説明する。紙面の都合上、図面上においては、第１のトランスポートストリームＴＳ１と第２のトランスポートストリームＴＳ２、第１のパケット先頭検出信号Ｓｐｓ１と第２のパケット先頭検出信号Ｓｐｓ２、第１のリクエスト信号Ｓｒｑ１と第２のリクエスト信号Ｓｒｑ２、第１のデータ有効信号Ｓｄｅ１と第２のデータ有効信号Ｓｄｅ２、および第１の転送単位ＴＳｄ１と第２の転送単位ＴＳｄ２のそれぞれを１つの代表的な波形で表示している。しかしこれらの信号のそれぞれは、本来、個別にタイミングや波形の相違が許されるものである。以下に第１のトランスポートストリームＴＳ１に関してのみ具体的に説明し、冗長を避けるために第２のトランスポートストリームＴＳ２に関する説明を省く。
【０２８９】
図１６に示すように、それぞれが１８８バイトのデータで構成されるパケットデータＰからなる第１のトランスポートストリームＴＳ１は、外部のトランスポートストリーム源から１バイトずつ、入力転送クロックＣｋに同期して第１ストリーム入力器ＴＳＲ＿１に順次入力される。なお、１バイト単位の代わりに１ビット単位で入力される場合もある。
【０２９０】
第１ストリーム入力器ＴＳＲ＿１は、パケットデータＰ毎に、最初の１バイトの同期データを検出した時点でパケットデータＰのパケット先頭を検出する。そして、パケット先頭を検出する都度、第１のパケット先頭検出信号Ｓｐｓ１を生成してＤＭＡバス調停器２１０ｒに出力する。
【０２９１】
第１ストリーム入力器ＴＳＲ＿１は、さらに、パケット先頭を検出した時点で、パケットデータＰの到着した時刻を示すタイムスタンプＳｔとそのパケットデータＰが第１のトランスポートストリームＴＳであること示すトランスポートストリーム識別子ＴＳｉを生成する。なお、トランスポートストリーム識別子ＴＳｉは言い換えれば、そのトランスポートストリームＴＳがＤＭＡバス調停器２１０ｒの第１の入力ポート群に入力されていることを示し、さらに第１ストリーム入力器ＴＳＲ＿１から入力されていることを示す。
【０２９２】
なお、タイムスタンプＳｔのバイト数はトランスポートストリームデコーダＴＤ２における処理精度によって任意に決めることができるが、本例においては好ましくは３バイトで表現する。また、トランスポートストリーム識別子ＴＳｉのバイト数は、トランスポートストリームデコーダＴＤ２に入力されるすべてのトランスポートストリームＴＳを識別するに十分であれば良いので、本例においては１バイトで表現する。第１ストリーム入力器ＴＳＲ＿１は、タイムスタンプＳｔとトランスポートストリーム識別子ＴＳｉとを併せて管理情報ＩＭを生成して、入力されるパケットデータＰの先頭に付加して、第１の転送単位ＴＳｄ１を生成する。
【０２９３】
このように、管理情報ＩＭとしてタイムスタンプＳｔおよびトランスポートストリーム識別子ＴＳｉをパケットデータＰに付与することによって、それぞれ異なるトランスポートストリームＴＳに含まれるパケットデータＰを正しく識別することが可能となる。さらに、上述のように、異なるパケットデータＰ間での入力レートの違いに起因する、後で到着したパケットデータＰが先に到着したパケットデータＰが入力を完了する前に入力を完了してしまうという、所謂追越しパケットが生じた場合にも、管理情報ＩＭに基づいてそれらのパケットを入力した順番に正しく処理できる。
【０２９４】
本実施形態においても、上述の第１の実施形態の例と同様に、第１の転送単位ＴＳｄ１は８バイトに設定される。第１ストリーム入力器ＴＳＲ＿１は、転送データ量が８バイト毎に、ＤＭＡバス調停器２１０ｒに対して、第１の転送単位ＴＳｄ１の入力を受け付けるよう要求する第１のリクエスト信号Ｓｒｑ１を生成して、ＤＭＡバス調停器２１０ｒに出力する。
【０２９５】
つまり、第１のトランスポートストリームＴＳ１のパケットデータＰの先頭である同期バイトＢｓｙｎｃを検出した時点で、３バイトのタイムスタンプＳｔと１バイトのトランスポートストリーム識別子ＴＳｉからなる合計４バイトの管理情報ＩＭが生成されるので、先頭の同期バイトＢｓｙｎｃから４バイトが入力された時点で、第１ストリーム入力器ＴＳＲ＿１は第１のリクエスト信号Ｓｒｑ１を生成する。なお、５バイト目以降については、８バイト毎に第１のリクエスト信号Ｓｒｑ１が生成される。つまり、各パケットデータＰの１番目に出力される転送単位ＴＳｄの最初の４バイトは、トランスポートストリームデコーダＴＤ２によって生成された管理情報ＩＭであって、トランスポートストリームＴＳのパケットデータＰそのものではない。
【０２９６】
なお、複数のトランスポートストリームＴＳのそれぞれを識別する必要がある場合には、タイムスタンプＳｔε、トランスポートストリーム識別子ＴＳｉε、および管理情報ＩＭεと表示するもとのする。εは、ストリーム入力器ＴＳＲに入力される複数のトランスポートストリームＴＳの何番目かを示す自然数である。具体的には、第１のトランスポートストリームＴＳ１に関しては、第１のパケット先頭検出信号Ｓｐｓ１、第１のリクエスト信号Ｓｒｑ１、第１のデータ有効信号Ｓｄｅ１、第１の転送単位ＴＳｄ１、タイムスタンプＳｔ１、トランスポートストリーム識別子ＴＳｉ１、および第１ストリーム入力器ＴＳＲ＿１と表現する。同様に、第２のトランスポートストリームＴＳ２に関しては、第２のパケット先頭検出信号Ｓｐｓ２、第２のリクエスト信号Ｓｒｑ２、第２のデータ有効信号Ｓｄｅ２、第２の転送単位ＴＳｄ２、タイムスタンプＳｔ２、第２のパケット先頭検出信号Ｓｐｓ２、トランスポートストリーム識別子ＴＳｉ２、およびストリーム入力器ＴＳＲ＿２と表現する。
【０２９７】
ＤＭＡバス調停器２１０ｒは、第１のリクエスト信号Ｓｒｑ１に応答して、その入出力を調停して、第１ストリーム入力器ＴＳＲ＿１からの第１の転送単位ＴＳｄ１の入力の準備を整える。そして、準備が整った時点（第１のリクエスト信号Ｓｒｑ１より時間Ｔａ後）に、第１のデータ有効信号Ｓｄｅ１を生成して第１ストリーム入力器ＴＳＲ＿１に出力する。
【０２９８】
第１ストリーム入力器ＴＳＲ＿１は、第１のデータ有効信号Ｓｄｅ１に応答して、内部のバッファに蓄積されているパケットデータＰのデータを８バイトずつ第１の転送単位ＴＳｄ１としてＤＭＡバス調停器２１０ｒに出力する。
【０２９９】
第１ストリーム入力器ＴＳＲ＿１とＤＭＡバス調停器２１０ｒに関して説明したのと同様の方法で、第２ストリーム入力器ＴＳＲ＿２は第２のパケット先頭検出信号Ｓｐｓ２および第２のリクエスト信号Ｓｒｑ２を生成してＤＭＡバス調停器２１０ｒに出力する。ＤＭＡバス調停器２１０ｒは、第２のリクエスト信号Ｓｒｑ２に応答して第２のデータ有効信号Ｓｄｅ２を第２ストリーム入力器ＴＳＲ＿２に出力する。
【０３００】
第２ストリーム入力器ＴＳＲ＿２は、第２の転送単位ＴＳｄ２を生成すると共に、第２のデータ有効信号Ｓｄｅ２に応答して、生成した第２の転送単位ＴＳｄ２をＤＭＡバス調停器２１０ｒに出力する。
【０３０１】
ＤＭＡバス調停器２１０ｒは、第２ストリーム入力器ＴＳＲ＿２から入力された第１のパケット先頭検出信号Ｓｐｓ１、第２のパケット先頭検出信号Ｓｐｓ２、第１の転送単位ＴＳｄ１、および第２の転送単位ＴＳｄ２をＴＳｄ入力開始検出器２２０に出力する。
【０３０２】
ＴＳｄ入力開始検出器２２０は、第１のパケット先頭検出信号Ｓｐｓ１および第１の転送単位ＴＳｄ１に基づいて、パケットデータＰ毎に第１の転送単位ＴＳｄ１の入力が開始されたことを検出すると共に、第１の転送単位ＴＳｄ１をパケットバッファ制御器２６０に供給する。
【０３０３】
同様に、ＴＳｄ入力開始検出器２２０は、第２のパケット先頭検出信号Ｓｐｓ２および第２の転送単位ＴＳｄ２に基づいて、パケットデータＰ毎に第２の転送単位ＴＳｄ２の入力が開始されたことを検出すると共に、第２の転送単位ＴＳｄ２をパケットバッファ制御器２６０に供給する。
【０３０４】
上述のようにして、ＴＳｄ入力開始検出器２２０は、第１の転送単位ＴＳｄ１或いは第２の転送単位ＴＳｄ２の入力開始を検出する度に、現在入力が開始されたパケットデータＰを格納するためにパケットバッファ２７０のバッファセルＢｃの１つを割当を要求するバッファセル要求信号Ｓｂａを生成してバッファセル割当器２３０に出力する。さらに、割り当てられたバッファセルに対する書込を開始できる状態であることを示す書込許可信号Ｓｗを生成して書込先バッファセル指定器２５０に出力する。
【０３０５】
パケットバッファ制御器２６０は、ＤＭＡバス調停器２１０ｒおよびＴＳｄ入力開始検出器２２０を経由して入力される第１の転送単位ＴＳｄ１および第２の転送単位ＴＳｄ２を、書込先バッファセル指定器２５０から入力される書込要求信号Ｓｗｄに基づいて、パケットバッファ２７０ｒの割り当てられたバッファセルＢｃに書き込む。そして、１パケットデータＰ分の第１の転送単位ＴＳｄ１或いは第２の転送単位ＴＳｄ２を書き込んだ時点で転送終了信号Ｓｔｆを生成して蓄積完了バッファセル番号メモリ制御器２８０に出力する。
【０３０６】
次に、図１７、図１８、および図１９を参照して、上述のトランスポートストリームデコーダＴＤ２の動作について詳しく説明する。図１７に示すように、トランスポートストリームデコーダＴＤ２における動作は、図４を参照して説明したトランスポートストリームデコーダＴＤ１における動作と類似しているが、入力される複数のトランスポートストリームＴＳ１〜ＴＳεのパケットデータＰに対する処理を可能にするために、以下に述べるように８つのサブルーチンにおける処理が変更されている。
【０３０７】
つまり、ステップ＃２００の「単一トランスポートストリームＴＳの提供番組および可能処理提示」サブルーチンが、ステップ＃２００Ｒの「複数トランスポートストリームＴＳ１〜ＴＳεの提供番組および可能処理提示」サブルーチンに置き換えられている。
【０３０８】
ステップ＃３００の「単一トランスポートストリームＴＳに対する処理要求検出」サブルーチンが、ステップ＃３００Ｒの「複数トランスポートストリームＴＳ１〜ＴＳεに対する処理要求検出」サブルーチンに置き換えられている。
ステップ＃４００の「単一トランスポートストリームＴＳに対する処理内容決定」サブルーチンが、ステップ＃４００Ｒの「複数トランスポートストリームＴＳ１〜ＴＳεに対する処理内容決定」サブルーチンに置き換えられている。
【０３０９】
ステップ＃５００の「処理対象パケットデータ識別情報ＰＩＤｄ生成」サブルーチンが、ステップ＃５００Ｒの「処理対象パケットデータ識別情報ＰＩＤｄおよび対象トランスポートストリーム識別情報ＴＳｉｄ生成」サブルーチンに置き換えられている。
ステップ＃６００の「単一トランスポートストリームＴＳのパケットデータＰ蓄積」サブルーチンが、ステップ＃６００Ｒの「複数トランスポートストリームＴＳのパケットデータＰ蓄積」サブルーチンに置き換えられている。
【０３１０】
ステップ＃７００の「単一トランスポートストリームＴＳの処理対象パケットデータＰ選択」サブルーチンが、ステップ＃７００Ｒの「複数トランスポートストリームＴＳ１〜ＴＳεの処理対象パケットデータＰ選択」サブルーチンに置き換えられている。
ステップ＃８００の「単一トランスポートストリームＴＳのパケットデータＰに要求処理実行」サブルーチンが、ステップ＃８００Ｒの「複数トランスポートストリームＴＳ１〜ＴＳεのパケットデータＰに要求処理実行」サブルーチンに置き換えられている。
【０３１１】
そして、ステップ＃９００の「単一トランスポートストリームＴＳの処理後パケットデータＰ蓄積」サブルーチンが、＃９００Ｒの「複数トランスポートストリームＴＳ１〜ＴＳεの処理後パケットデータＰ蓄積」サブルーチンに置き換えられている。
このように構成されたトランスポートストリームデコーダＴＤ２に固有な動作に重点をおいて、ステップ＃２００Ｒ〜＃９００Ｒについて以下に説明する。なお、冗長を避けるために、トランスポートストリームデコーダＴＤ１と同じ動作に付いては説明を省く。
【０３１２】
ステップ＃２００Ｒの「複数トランスポートストリームＴＳ１〜ＴＳεの番組および可能処理提示」サブルーチンにおいて、ＴＤ制御器ＴＤＣ２はメインメモリ９００ｒのＰＡＴ格納領域Ａｒ（ＰＡＴ）およびＰＭＴ格納領域Ａｒ（ＰＭＴ）に、トランスポートストリームＴＳεのそれぞれ毎に個別に格納されている番組コンテンツ管理表ＰＡＴ１〜ＰＡＴεおよび番組コンテンツパケットデータ管理表ＰＭＴ１〜ＰＭＴεを読んで配信される番組と、トランスポートストリームデコーダＴＤ２がユーザに提供できる処理機能とを表す番組内容提示信号Ｓｐ２を生成して、副次処理要求入力器ＡＰＲに出力する。
【０３１３】
ステップ＃３００Ｒの「複数トランスポートストリームＴＳ１〜ＴＳεに対する処理要求検出」サブルーチンにおいて、副次処理要求入力器ＡＰＲは、番組内容提示信号Ｓｐ２に基づいて、複数のトランスポートストリームＴＳ１〜ＴＳεに対するユーザの処理要求を検出して、処理要求信号Ｓｅ２を生成してＴＤ制御器ＴＤＣ２に出力する。
【０３１４】
ステップ＃４００Ｒの「複数トランスポートストリームＴＳ１〜ＴＳεに対する処理内容決定」サブルーチンにおいて、ＴＤ制御器ＴＤＣ２は処理要求信号Ｓｅ２に基づいて、トランスポートストリームデコーダＴＤ２側にて行うべき具体的な処理内容を決定して、処理内容情報を生成する。
【０３１５】
ステップ＃５００Ｒの「処理対象パケットデータ識別情報ＰＩＤｄおよび処理対象トランスポートストリーム識別情報ＴＳｉｄ生成」サブルーチンにおいては、ＴＤ制御器ＴＤＣ２は、ステップ＃４００Ｒにおいて決定された処理内容情報に基づいて処理すべきパケットデータＰを表す処理対象パケットデータ識別情報ＰＩＤｄと、処理すべきパケットデータＰのそれぞれが属するトランスポートストリームＴＳεを示す処理対象トランスポートストリーム識別情報ＴＳｉｄを生成して、パケット選択器４００ｒに出力する。
【０３１６】
次に、図１８を参照して、ステップ＃６００Ｒの「複数トランスポートストリームＴＳ１〜ＴＳεのパケットデータＰ蓄積」サブルーチンにおける動作について詳細に説明する。本実施形態においては、単一のトランスポートストリームではなく複数のトランスポートストリームのパケットを蓄積するために、図５に示したステップＳ６０２、Ｓ６０４、Ｓ６０５、Ｓ６０６、およびＳ６０７がストリームの数だけ用意される。
【０３１７】
さらに、ステップＳ６０８、Ｓ６１０、Ｓ６１２、Ｓ６１４、Ｓ６２８、Ｓ６３０、およびＳ６３２が、それぞれステップＳ６０８Ｒ、Ｓ６１０Ｒ、Ｓ６１２Ｒ、Ｓ６１４Ｒ、Ｓ６２８Ｒ、Ｓ６３０Ｒ、およびＳ６３２Ｒに置き換えられて構成されている。さらに、ステップＳ６０５ＡがステップＳ６０４とＳ６０５の間に新たに追加されている。
【０３１８】
以下に、上述のトランスポートストリームデコーダＴＤ２に固有の動作について詳細に述べると共に、ステップ＃４００Ｒにおける動作について説明する。
先ず、ステップＳ６０２において、外部のトランスポートストリーム供給源から第１のトランスポートストリームＴＳ１が第１ストリーム入力器ＴＳＲ＿１に入力される。
【０３１９】
同様に、ステップＳ６０２‘において、第２のトランスポートストリームＴＳ２が第２ストリーム入力器ＴＳＲ＿２に入力される。なお、本実施形態において、複数のトランスポートストリームＴＳ１〜ＴＳεのεが２の場合を例として説明するが任意の複数場合でも、処理対象のトランスポートストリームＴＳが増えることを除いて、同様に処理されることは言うまでも無い。
【０３２０】
ステップＳ６０４において、第１ストリーム入力器ＴＳＲ＿１は入力されている第１のトランスポートストリームＴＳ１のパケット先頭を検出して、第１のパケット先頭検出信号Ｓｐｓ１を生成する。そして、処理は次のステップＳ６０５Ａ、Ｓ６０６に進む。
【０３２１】
同様に、ステップＳ６０４‘において、第２ストリーム入力器ＴＳＲ＿２は、入力されている第２のトランスポートストリームＴＳ２のパケット先頭を検出して、第２のパケット先頭検出信号Ｓｐｓ２を生成する。そして、処理は次のステップＳ６０５Ａ’、Ｓ６０６’に進む。
【０３２２】
ステップＳ６０５Ａにおいて、第１ストリーム入力器ＴＳＲ＿１は、第１のトランスポートストリームＴＳ１の先頭バイトを検出した時間に基づいてタイムスタンプＳｔ１を生成し、ＤＭＡバス調停器２１０ｒの入力ポート群に関連づけられたトランスポートストリーム識別子ＴＳｉ１を生成し、そして、管理情報ＩＭ１を生成する。そして、処理は次のステップＳ６０５に進む。
【０３２３】
同様に、ステップＳ６０５Ａ‘において、第２ストリーム入力器ＴＳＲ＿２は、第２の
トランスポートストリームＴＳ２の先頭バイトを検出した時間に基づいてタイムスタンプＳｔ２を生成し、ＤＭＡバス調停器２１０ｒの入力ポート群に関連づけられたトランスポートストリーム識別子ＴＳｉ２を生成し、さらに管理情報ＩＭ２を生成する。そして、処理は次のステップＳ６０５’に進む。
【０３２４】
ステップＳ６０５において、ストリーム入力器ＴＳＲ＿１はパケット先頭以降のパケットデータを内蔵の入力バッファに蓄積する。転送単位ＴＳｄ分の蓄積が完了すると、処理は次のステップＳ６０７に進む。
【０３２５】
ステップＳ６０５‘において、ストリーム入力器ＴＳＲ＿２はパケット先頭以降のパケットデータを内蔵の入力バッファに蓄積する。転送単位ＴＳｄ分の蓄積が完了すると、処理は次のステップＳ６０７’に進む。
【０３２６】
ステップＳ６０７において、ストリーム入力器ＴＳＲ＿１はリクエスト信号Ｓｒｑ１をＤＭＡバス調停器２１０に出力する。そして、処理は次のステップＳ６０８Ｒに進む。
【０３２７】
ステップＳ６０７‘において、ストリーム入力器ＴＳＲ＿２はリクエスト信号Ｓｒｑ２をＤＭＡバス調停器２１０に出力する。そして、処理は次のステップＳ６０８Ｒに進む。
【０３２８】
ステップＳ６０８Ｒにおいて、ＤＭＡバス調停器２１０ｒは、第１のリクエスト信号Ｓｒｑ１および第２のリクエスト信号Ｓｒｑ２に基づいて、第１ストリーム入力器ＴＳＲ＿１からの第１の転送単位ＴＳｄ１の入力と、第２ストリーム入力器ＴＳＲ＿２からの第２の転送単位ＴＳｄ２の入力のために調停を行う。そして、第１の転送単位ＴＳｄ１および第２の転送単位ＴＳｄ２のいずれか一方の入力を許可する。そして、処理は次のステップＳ６１０Ｒに進む。
【０３２９】
ステップＳ６１０Ｒにおいて、ＤＭＡバス調停器２１０ｒはステップＳ６０８Ｒにおける調停の結果、転送単位ＴＳｄ１の入力を許可する場合には第１のデータ有効信号Ｓｄｅ１を第１ストリーム入力器ＴＳＲ＿１に出力する。一方、第２の転送単位ＴＳｄ２の入力を許可する場合には、第２のデータ有効信号Ｓｄｅ２を第２ストリーム入力器ＴＳＲ＿２に出力する。そして、処理は次のステップＳ６１２Ｒに進む。
【０３３０】
ステップＳ６１２Ｒにおいて、ステップＳ６１０Ｒにおいて第１のデータ有効信号Ｓｄｅ１が出力される場合は、第１ストリーム入力器ＴＳＲ＿１から第１の転送単位ＴＳｄ１のＤＭＡバス調停器２１０ｒへの転送が開始される。一方、第２のデータ有効信号Ｓｄｅ２が出力される場合は、第２ストリーム入力器ＴＳＲ＿２から第２の転送単位ＴＳｄ２のＤＭＡバス調停器２１０ｒへの転送が開始する。なお、転送単位ＴＳｄはＤＭＡバス調停器２１０ｒを経由して、ＴＳｄ入力開始検出器２２０に出力される。そして、処理は次のステップＳ６１４Ｒに進む。
【０３３１】
ステップＳ６１４Ｒにおいて、ＴＳｄ入力開始検出器２２０は、ステップＳ６０６Ｒで入力が開始された第１のパケット先頭検出信号Ｓｐｓ１或いは第２のパケット先頭検出信号Ｓｐｓ２に基づいて、第１の転送単位ＴＳｄ１或いは第２の転送単位ＴＳｄ２の入力が開始されたことを検出する。
【０３３２】
つまり、ＴＳｄ入力開始検出器２２０は、前述のステップＳ６１０Ｒで出力されているデータ有効信号Ｓｄｅに基づいて、１パケットデータＰ分のデータが転送単位ＴＳｄ１で複数回に渡って入力されてくる最初のデータを検出時点で、第１の転送単位ＴＳｄ１或いは第２の転送単位ＴＳｄ２のいずれかの入力開始を検出する。第１のデータ有効信号Ｓｄｅ１が出力されている状態では第１の転送単位ＴＳｄ１の入力開始を検出し、第２のデータ有効信号Ｓｄｅ２が出力された状態では第２の転送単位ＴＳｄ２の入力開始を検出する。
【０３３３】
また、ＴＳｄ入力開始検出器２２０は、ステップＳ６０８Ｒの調停の結果、第１のパケット先頭検出信号Ｓｐｓ１が入力された後に転送単位ＴＳｄが初めて入力された時点で、第１のストリーム入力器ＴＳＲ＿１から入力されてくるパケットの先頭の入力開始を検出する。同様に、ＴＳｄ入力開始検出器２２０は、ステップＳ６０８Ｒの調停の結果、第２のパケット先頭検出信号Ｓｐｓ２が入力された後に転送単位ＴＳｄが初めて入力された時点で、第２のストリーム入力器ＴＳＲ＿２から入力されてくるパケットの先頭の入力開始を検出する。そして、処理は次のステップＳ６１６に進む。
【０３３４】
ステップＳ６１６〜Ｓ６２６における処理は、図５を参照して説明した第１の実施形態にかかる処理と同様であるので説明を省く。
ステップＳ６２８Ｒにおいて、書込先バッファセル指定器２５０は、書込許可信号Ｓｗに応答して、バッファセル割当情報Ｉｂａが指示する、割り当てられたバッファセルＢｃに対する書込（蓄積）を要求する書込要求信号Ｓｗｄを生成して、パケットバッファ制御器２６０に出力する。そして、処理は次のステップＳ６３０に進む。
【０３３５】
ステップＳ６３０Ｒにおいて、パケットバッファ制御器２６０は、ＴＳｄ入力開始検出器２２０から経由して供給される転送単位ＴＳｄを、書込要求信号Ｓｗｄ（バッファセル割当情報Ｉｂａ）およびステップＳ６０８Ｒの調停結果が指示するバッファセルＢｃへのパケットデータＰの転送単位ＴＳｄでの書込（蓄積）を行う。そして、処理は次のステップＳ６３２Ｒに進む。
【０３３６】
ステップＳ６３２Ｒにおいて、転送単位ＴＳｄ毎に第１のストリーム入力器ＴＳＲ＿１および第２のストリーム入力器ＴＳＲ＿２からＤＭＡバス調停器２１０ｒにリクエスト信号Ｓｒｑ１およびＳｒｑ２が出力され（ステップＳ６０７、Ｓ６０７‘）、ＤＭＡバス調停器２１０ｒはリクエスト信号Ｓｒｑ１およびＳｒｑ２に応答し調停を行って（ステップＳ６０８Ｒ）、データ有効信号Ｓｄｅ１またはＳｄｅ２を対応するストリーム入力器ＴＳＲ＿１またはＴＳＲ＿２に出力し（ステップＳ６１０Ｒ、Ｓ６１０Ｒ’）、ストリーム入力器ＴＳＲ＿１はデータ有効信号Ｓｄｅ１に応答してパケットデータＰの次の転送単位ＴＳｄ１の転送を開始する。同様に、ストリーム入力器ＴＳＲ＿２はデータ有効信号Ｓｄｅ２に応答してパケットデータＰの次の転送単位ＴＳｄ２の転送を開始する（ステップＳ６１４Ｒ）という、上述の動作が繰り返される。
【０３３７】
この間、パケットバッファ制御器２６０はバッファセルＢｃに書き込まれるデータのバイト数を転送単位ＴＳｄ１、ＴＳｄ２別にカウントして、それぞれ１パケットデータＰ分の転送単位ＴＳｄのバッファセルへの蓄積が終了したことを検出する。さらに、転送終了信号Ｓｔｆを生成して蓄積完了バッファセル番号メモリ制御器２８０に出力する。カウント数は、ＴＤ制御器ＴＤＣ１に予め格納されているトランスポートストリーム構造情報が示す入力されるトランスポートストリームＴＳのパケットデータＰのデータサイズによって求められる。そして、処理は次のステップＳ６３４に進む。
【０３３８】
ステップＳ６３４において、蓄積完了バッファセル番号メモリ制御器２８０は、転送終了信号Ｓｔｆとバッファセル割当情報Ｉｂａに基づいて、１パケットデータＰのデータの蓄積を完了したバッファセルＢｃを示すバッファセル番号信号Ｓｂｎを生成する。つまり、バッファセル番号信号Ｓｂｎは、転送終了信号Ｓｔｆが入力されたときに、バッファセル割当情報Ｉｂａが示すバッファセルＢｃのバッファセル番号Ｎｂｃに相当する。そして、処理は次のステップＳ６３６に進む。
【０３３９】
ステップＳ６３６において、蓄積完了バッファセル番号メモリ２９０は、バッファセル番号信号Ｓｂｎの示すバッファセル番号ＮｂｃをライトポイントＷＰの示す領域に記録する。そして、処理は次のステップＳ６３８に進む。
【０３４０】
ステップＳ６３８において、蓄積完了バッファセル番号メモリ制御器２８０は、ライトポイント更新信号Ｓｗｐを蓄積完了バッファセル番号メモリ制御器２８０に出力して、蓄積完了バッファセル番号メモリ制御器２８０のライトポインタＷＰを１つ進める。
【０３４１】
上述のステップにより、ステップ＃６００Ｒにおいて、トランスポートストリームデコーダＴＤ２に入力される複数のトランスポートストリームＴＳ１〜ＴＳεのそれぞれに含まれるパケットデータＰのそれぞれの、トランスポートストリームＴＳとの従属関係および異なるトランスポートストリームＴＳとの時間関係の情報を保持した状態で、シーケンシャル且つリアルタイムにバッファリングすることができる。
【０３４２】
次に、図１９を参照して、上述のステップ＃８００Ｒの「複数トランスポートストリームＴＳ１〜ＴＳεのパケットデータＰに要求処理実行」サブルーチンにおける動作について詳細に説明する。本実施形態においては、単一のトランスポートストリームではなく複数のトランスポートストリームのパケットを蓄積するために、図６に示したステップＳ８０８およびＳ８１０が、それぞれステップＳ８０８ＲおよびＳ８１０Ｒに置き換えられている。以下に、上述のトランスポートストリームデコーダＴＤ２に固有の動作について詳細に述べると共に、ステップ＃８００Ｒにおける動作について説明する。
【０３４３】
なお、本図においては、ステップ＃６００Ｒとステップ＃７００Ｒ〜＃９００Ｒとを並行処理とする場合にも、連続処理とする場合にも適用できる構成を示しているのは、第１の実施形態（図６）におけるのと同様である。
先ず、ステップＳ８０２、Ｓ８０４、およびＳ８０６の一連の処理を経て、ユーザの要求に対する処理対象候補であるパケットデータＰを格納しているバッファセルＢｃｎが特定される。そして、処理は次のステップＳ８０８Ｒに進む。
【０３４４】
ステップＳ８０８Ｒにおいて、ステップＳ８０６で特定されたバッファセルＢｃｎ（パケットバッファ２７０ｒ）に格納されているパケットデータＰから、そのパケットデータＰの管理情報ＩＭが読み出される。読み出された管理情報ＩＭに基づいて、バッファパケット識別情報ＰＩＤｅとトランスポートストリーム識別情報ＴＳｉｅが生成されて、パケット選択器４００ｒに出力される。そして、処理は次のステップＳ８１０Ｒに進む。
【０３４５】
ステップＳ８１０Ｒにおいて、パケット選択器４００ｒによって、バッファパケット識別情報ＰＩＤｅが処理対象パケットデータ識別情報ＰＩＤｄとマッチし、且つトランスポートストリーム識別情報ＴＳｉｅが処理対象トランスポートストリーム識別情報ＴＳｉｄとマッチするか否かが判断される。このように、パケット識別子ＰＩＤとトランスポートストリーム識別子ＴＳｉの両方に関する同時マッチングを観ることによって、異なるトランスポートストリームＴＳに属する同一のパケット識別子ＰＩＤを有するパケットデータＰであっても、個別に識別できる。本ステップで、Ｙｅｓと判断される、つまり現在アクセス中のパケットデータＰが上述のユーザの要求に基づく処理の対象である場合には、処理は次のステップＳ８１２に進む。
【０３４６】
以降のステップＳ８１２〜Ｓ８２０における処理については、図６を参照して既に説明済みであるので、説明を省く。
【０３４７】
上述のように、逐次入力される複数のトランスポートストリームＴＳに含まれる複数の番組に対してユーザが選択的に所望する処理を施すためには、異なるトランスポートストリームＴＳに含まれるすべてのパケットデータＰの内で対応するパケットデータＰのみに選択的に処理を施す。しかしながら、異なるトランスポートストリームＴＳにおいては、パケットデータＰの入力レートが異なったり、同一パケット識別子ＰＩＤを有するパケットデータＰが存在したり、複数のパケットデータＰが同一に入力される。よって、このような用途においては、第１の実施形態においては、逐次入力されるパケットデータＰのそれぞれに対して、所定の時間だけ処理を施すことを保証することはできない。
【０３４８】
そこで、本実施形態においては、入力される複数のトランスポートストリームＴＳ１〜ＴＳεのパケットデータＰの個々に、トランスポートストリーム識別子ＴＳｉと、タイムスタンプＳｔとを付与することによって、パケットデータＰの１つずつをパケット識別子ＰＩＤとの組合せによって確実に識別することを可能にする。そして、第１の実施形態と同様に、ライトポインタＷＰによって、個々に識別可能にされた複数のトランスポートストリームＴＳ１〜ＴＳεのパケットデータＰのそれぞれを入力されてくる順番に、所定の時間、所定のバッファセルＢｃに閉じ込めると言う課程を管理する。そして、リードポインタＲＰによって、閉じ込めたパケットデータＰが処理対象であるかを識別し、処理対象である場合には処理を施した後に出力するという課程を管理する。この一連の動作をハードウェアとソフトウェアのハイブリッドな構成によって制御保証するものである。
【０３４９】
なお、上述のごとく、本発明の第２の実施形態においては、図２０を参照して説明したように、入力される複数のトランスポートストリームＴＳ１〜ＴＳεはそれぞれに固有のパケット識別子ＰＩＤが付与されているパケットデータＰから構成される。しかしながら、入力される複数のトランスポートストリームＴＳ１〜ＴＳεは、図９を参照して説明したように、ＩＴＵ−Ｔ勧告Ｈ．２２０．０に代表されるトランスポートストリームＴＳのようにパケットデータグループ毎に固有のパケット識別子ＰＩＤが付与される場合にも適用できる。
【０３５０】
図２３に、そのようなパケットデータグループ毎にパケット識別子ＰＩＤが扶養された２つのトランスポートストリームＴＳ１およびＴＳ２のパケット構成を例示する。図２０に示した例と同様に、図２３においても、少なくとも３つの異なる番組１、番組２、番組３、・・・、番組α１ を提供する第１のトランスポートストリームＴＳ１の構成例と、少なくとも６つの異なる番組１、番組２、番組３、番組４、番組５、番組６、・・・、番組α２ を提供する第２のトランスポートストリームＴＳ２の構成例が示されている。
【０３５１】
第１のトランスポートストリームＴＳ１に関しては、既に図９を参照して説明した通りであるので説明を省く。また、第２のトランスポートストリームＴＳ２に関しても第１のトランスポートストリームＴＳ１と同様に、番組４の映像データは番組コンテンツパケットデータＰｃ４０１と規定され、音声データは番組コンテンツパケットデータＰｃ４１１と規定される。番組５の映像データは番組コンテンツパケットデータＰｃ４０１と規定され、音声データは番組コンテンツパケットデータＰｃ５１１と規定される。番組６の映像データは番組コンテンツパケットデータＰｃ６０１と規定され、音声データは番組コンテンツパケットデータＰｃ６１１と規定される。
【０３５２】
このように、トランスポートストリームＴＳを構成するすべてのパケットデータＰのそれぞれに固有のパケット識別子ＰＩＤが付与されるのではなく、そのパケットデータＰの種類毎に固有のパケット識別子ＰＩＤが付与されることを除いては、図２３に示すトランスポートストリームＴＳも、図９を参照して説明したのトランスポートストリームＴＳと同様に構成される。
【０３５３】
このようなパケット構成を有する複数のトランスポートストリームＴＳ１〜ＴＳεに、上述の本発明の第２の実施形態にかかるトランスポートストリームデコーダＴＤ２を適応した場合の動作について説明する。パケットデータＰの内容毎に分類されるパケットデータグループ毎に固有のパケット識別子ＰＩＤが付与されると言うことは、図２０に示したトランスポートストリームＴＳのパケットデータＰのパケット識別子ＰＩＤの上位３桁のみを指示することと実質的に同じである。つまり、本例においても、第１のトランスポートストリームＴＳ１から番組コンテンツパケットデータＰｃ１０１と番組コンテンツパケットデータＰｃ２０１の抽出すると共に、第２のトランスポートストリームＴＳ２から番組コンテンツパケットデータＰｃ４０１と番組コンテンツパケットデータＰｃ５０１を抽出することによって、図２２に示した番組映像コンテンツパケットデータＰｃＶと実質的に同じ派毛エラー信号Ｅと構成の複数ＴＳ複数番組映像コンテンツパケットデータ列を生成できる。
【０３５４】
同様に、トランスポートストリームＴＳ１から番組コンテンツパケットデータＰｃ１１１と番組コンテンツパケットデータＰｃ２２２を抽出すると共に、第２のトランスポートストリームＴＳ２から番組コンテンツパケットデータＰｃ４１１と番組コンテンツパケットデータＰｃ５１１を抽出することによって、図２２に示した番組映像コンテンツパケットデータＰｃＶと実質的に同じパケット構成の複数ＴＳ複数番組音声コンテンツパケットデータ列を生成できる。
【０３５５】
但し、ＴＤ制御器ＴＤＣ２で生成される処理対象パケットデータ識別情報ＰＩＤｄも、バッファセルＢｃに格納されているパケットデータＰから読みとられるバッファパケット識別情報ＰＩＤｅも共にパケットデータグループを示している。但し、上述のパケット選択器４００ｒによってマッチングしていると判定された場合には、マッチしたパケット識別子ＰＩＤを有するパケットデータグループに属するすべてのパケットデータＰの内で同一のトランスポートストリームＴＳに属するもののみに対して、同一の処理が施される。これは、上述のごとく、図２０に示したパケット構成を有するトランスポートストリームＴＳのすべてのパケットデータＰのパケット識別子ＰＩＤの上位の適当な桁と属するトランスポートストリームＴＳを指定することによって、トランスポートストリームＴＳ毎に指定された桁のパケット識別子ＰＩＤが同一であるパケットデータＰをグループとして、グループ毎に固有の処理を施すことと実質的に同一である。
【０３５６】
（第３の実施形態）
以下に、図２７、図２８、図２９、図３０、図３１、図３２、および図３３を参照して、本発明の第３の実施形態にかかるデータバッファリング装置について説明する。図２７に、本例にかかるデータバッファリング装置ＤＢＡ３を組み込んだトランスポートストリームデコーダＴＤ３を示す。本実施形態においては、第２の実施形態におけるのと同様に、入力される複数のトランスポートストリームＴＳ１〜ＴＳεのパケットデータＰのそれぞれに個別的に特定の処理を施すことを保証することに加えて、入力されるトランスポートストリームＴＳにデータエラーが含まれている場合の対策を講じたものである。よって、トランスポートストリームデコーダＴＤ３は、以下に述べる点を除いて、図１５に示したトランスポートストリームデコーダＴＤ２と基本的に同一の構造を有する。
【０３５７】
つまり、トランスポートストリームデコーダＴＤ３は、データバッファリング装置ＤＢＡ２がデータバッファリング装置ＤＢＡ３に置き換えられ、ストリーム入力器ＴＳＲが第１ストリーム入力器ＴＳＲ＿１ｒと第２ストリーム入力器ＴＳＲ＿２ｒに置き換えられると共に、ＴＤ制御器ＴＤＣ２がＴＤ制御器ＴＤＣ３に置き換えられている点を除けば、図１５に示したトランスポートストリームデコーダＴＤ２と同様に構成される。なお、トランスポートストリームデコーダＴＤ３に同時に入力されるトランスポートストリームＴＳの数εの分だけ、ε個のストリーム入力器ＴＳＲ＿１ｒ〜ＴＳＲ＿εｒが用意される。なお、本例においては、２つのトランスポートストリームＴＳが入力される場合について具体的に述べる。
【０３５８】
さらに、データバッファリング装置ＤＢＡ３も、パケットバッファリング調停器ＰＢＡ２がパケットバッファリング調停器ＰＢＡ３に置き換えられると共に、制御器ＰＢＡＣ２が制御器ＰＢＡＣ３に置き換えられている点を除けば、図１５に示したデータバッファリング装置ＤＢＡ２と同様に構成される。
【０３５９】
また、パケットバッファリング調停器ＰＢＡ３は、蓄積完了バッファセル番号メモリ２９０ｒが蓄積完了バッファセル番号メモリ２９０ｒａに置き換えられると共に、エラーフラグ設定器２９５が新たに設けられている点を除けば、図１５に示したパケットバッファリング調停器ＰＢＡ２と同様に構成される。
【０３６０】
これらの新たに設けられた構成要素について説明する前に、本実施形態におけるトランスポートストリームデコーダＴＤ３の基本的概念について述べる。本実施形態においても、上述の第２の実施形態に関して述べたように複数のトランスポートストリームＴＳに含まれる複数の番組に対応するパケットデータＰのそれぞれを選択して個別に施す所定の処理として、複数のトランスポートストリームＴＳ１〜ＴＳεから複数の番組の抽出について例示する。但し、本実施形態においては、入力されるトランスポートストリームＴＳにデータエラーが含まれる場合であっても、パケットバッファ２７０ｒを効率的に制御することを目的とする。
【０３６１】
つまり、伝送経路上の種々の要因によりトランスポートストリームデコーダＴＤに入力されるトランスポートストリームＴＳは、パケット或いはそれ以下のデータ単位でエラーが含まれることがある。このようにエラーを有するトランスポートストリームＴＳを、上述のトランスポートストリームデコーダＴＤ１或いはトランスポートストリームデコーダＴＤ２において、パケットバッファ２７０或いはパケットバッファ２７０ｒのバッファセルＢｃに正常なデータと同じようにバッファリングすると、バッファリング後のパケットデータＰに対する一連の処理が破綻を来すことがある。さらに、処理が破綻しない場合においても、そのようなエラーデータに対して無意味な処理を行うことによって、トランスポートストリームデコーダＴＤ全体の動作効率が損なわれる。本実施形態においては、データエラーを含むパケットデータＰを格納したバッファセルＢｃをソフトウェア的に管理および解放することによって、このような不都合を防止することを目的とする。
【０３６２】
バッファセルＢｃの解放には、入力中のトランスポートストリームＴＳにデータエラーを検出した時点で、ハードウェアによってバッファセルＢｃをリセットする方法も考えられる。しかしながら、バッファセルＢｃ単位でのバッファリング後の種々のデータ処理とのタイミング調整に多大な課題が生じる。そこで、本発明においては、トランスポートストリームＴＳのデータエラーをハードウェアによって検出した後、対応するバッファセルＢｃの解放をソフトウェア的に処理するものである。なお、本実施形態においては、第２の実施形態と同様に複数トランスポートストリームＴＳが入力される場合に例を引いて述べているが、第１の実施形態と同様に単数のトランスポートストリームＴＳが入力される場合についても同様に適用できることは言うまでも無い。
【０３６３】
図２７に戻って、トランスポートストリームデコーダＴＤ３に固有の構成要素について詳しく説明する。なお、上述のトランスポートストリームデコーダＴＤ２におけるのと同じ構成要素の動作については、冗長を避けるために基本的に説明を省略する。
【０３６４】
第１ストリーム入力器ＴＳＲ＿１ｒおよび第２ストリーム入力器ＴＳＲ＿２は、それぞれ入力されてくる第１のトランスポートストリームＴＳ１および第２のトランスポートストリームＴＳ２にデータエラーがある場合には、それを検出して第１のエラー信号Ｅ１および第２のエラー信号Ｅ２をデータバッファリング装置ＤＢＡ３内のエラーフラグ設定器
２９５に出力する。なお、第１ストリーム入力器ＴＳＲ＿１ｒおよび第２ストリーム入力器ＴＳＲ＿２ｒの動作は、それぞれ第１のエラー信号Ｅ１および第２のエラー信号Ｅ２を出力する以外は、上述の第１ストリーム入力器ＴＳＲ＿１および第２ストリーム入力器ＴＳＲ＿２の動作と同一である。
【０３６５】
エラーフラグ設定器２９５は、第１ストリーム入力器ＴＳＲ＿１Ｒ或いは第２ストリーム入力器ＴＳＲ＿２ｒから入力される第１のエラー信号Ｅ１或いは第２のエラー信号Ｅ２と、パケットバッファ制御器２６０から入力される転送終了信号Ｓｔｆに基づいて、蓄積完了バッファセル番号メモリ２９０ｒａのエラーフラグ領域Ｆｃにデータエラーを含むパケットデータＰを格納したバッファセルＢｃｍを示すエラーフラグを立てさせるエラーフラグ信号Ｆｅを生成して、蓄積完了バッファセル番号メモリ２９０ｒａに出力する。
【０３６６】
図２９を参照して、蓄積完了バッファセル番号メモリ２９０ｒａの具体的な構成について説明する。蓄積完了バッファセル番号メモリ２９０ｒａは、図２に示した蓄積完了バッファセル番号メモリ２９０にエラーフラグメモリ２９０Ａが追加されている。
【０３６７】
エラーフラグメモリ２９０Ａは、蓄積完了バッファセル番号メモリ２９０のバッファセル指定領域Ｒｃ１〜ＲｃＭのそれぞれに対応するフラグ格納領域Ｆｃ（Ｆｃ１〜ＦｃＭ）を有する。エラーフラグメモリ２９０Ａは、基本的には蓄積完了バッファセル番号メモリ２９０と同様に好ましくはリングメモリで構成されて、エラーフラグ設定器２９５から入力されるエラーフラグ信号Ｆｅに基づいて、フラグ格納領域Ｆｃ１〜ＦｃＭにフラグ値が連続的且つ循環的に記録される。
【０３６８】
バッファセル番号Ｎｂｃｎを記入すべきバッファセル指定領域Ｒｃｍと、エラーフラグ信号Ｆｅに基づいてフラグ値を書き込むべきフラグ格納領域Ｆｃｍは同一のライトポインタＷＰによって指示される。そして、記入されているバッファセル番号Ｎｂｃｎを読み出すべきバッファセル指定領域Ｒｃｍと、フラグ値を読み出すべきフラグ格納領域Ｆｃｍは同一のリードポインタＲＰによって指示される。リードポインタＲＰは制御器ＰＢＡＣ３から出力される制御信号Ｓｃ３に基づいて進められる。
【０３６９】
さらに図３０を参照して、蓄積完了バッファセル番号メモリ２９０ｒａの変形例について説明する。本例における蓄積完了バッファセル番号メモリ２９０ｒｂは、簡単に言うと蓄積完了バッファセル番号メモリ２９０ｒａの蓄積完了バッファセル番号メモリ２９０のバッファセル指定領域Ｒｃとエラーフラグメモリ２９０Ａとがフラグ格納領域Ｆｃが一体化されてバッファセル属性格納領域Ｒｃｐ（Ｒｃｐ１〜ＲｃｐＭ）が構成されている。そして、バッファセル番号信号Ｓｂｎとエラーフラグ信号Ｆｅが一体的に結合されて、個々のバッファセルＢｃのデータ格納状況を表す属性データＰｂｃとして、バッファセル属性格納領域Ｒｃｐに記録される。なお、このようにバッファセルＢｃの状態を１種類のデータによって管理することによって、バッファセルＢｃの獲得および解放処理のより一層の効率化を図ることができる。
【０３７０】
ＴＤ制御器ＴＤＣ３は、トランスポートストリームデコーダＴＤ３全体の動作を制御する。なお、トランスポートストリームデコーダＴＤ２は、上述の各構成要素の動作状態を示す状態信号ＳｒＷ３を生成してＴＤ制御器ＴＤＣ２に出力する。ＴＤ制御器ＴＤＣ２は、状態信号ＳｒＷ３に基づいて、トランスポートストリームデコーダＴＤ３の各構成要素の動作を制御する制御信号ＳｃＷ３を生成して、トランスポートストリームデコーダＴＤ３を制御する。なお、状態信号ＳｒＷ３および制御信号ＳｃＷ３の生成およびトランスポートストリームデコーダＴＤ３の制御は公知の技術であるので説明を省く。
【０３７１】
次に図２８に示す波形図を参照して、第１ストリーム入力器ＴＳＲ＿１ｒ、第２ストリーム入力器ＴＳＲ＿２ｒ、ＤＭＡバス調停器２１０ｒ、パケットバッファ制御器２６０ｒａ、およびエラーフラグ設定器２９５の動作について簡単に説明する。紙面の都合上、第１のトランスポートストリームＴＳ１と第２のトランスポートストリームＴＳ２、第１のパケット先頭検出信号Ｓｐｓ１と第２のパケット先頭検出信号Ｓｐｓ２、第１のリクエスト信号Ｓｒｑ１と第２のリクエスト信号Ｓｒｑ２、第１のデータ有効信号Ｓｄｅ１と第２のデータ有効信号Ｓｄｅ２、第１の転送単位ＴＳｄ１と第２の転送単位ＴＳｄ２、第１のエラー信号Ｅ１および第２のエラー信号Ｅ２、および第１のラッチエラー信号ＬＥ１および第２のラッチエラー信号ＬＥ２のそれぞれを１つの代表的な波形で表示しているが、本来は個別にタイミングや波形の若干の相違が許されるものである。よって、以下に第１のトランスポートストリームＴＳ１に関してのみ具体的に説明し、冗長を避けるために第２のトランスポートストリームＴＳ２に関する説明を省く。
【０３７２】
図２７を参照して説明したように、第１ストリーム入力器ＴＳＲ＿１ｒおよび第２ストリーム入力器ＴＳＲ＿２ｒは、入力されるパケットデータＰのデータの８バイトずつをそれぞれ第１の転送単位ＴＳｄ１および第２の転送単位ＴＳｄ２としてＤＭＡバス調停器２１０ｒに出力する。
【０３７３】
ＴＳｄ入力開始検出器２２０は、ＤＭＡバス調停器２１０ｒから入力される第１のパケット先頭検出信号Ｓｐｓ１および第１の転送単位ＴＳｄ１に基づいて、パケットデータＰ毎に第１の転送単位ＴＳｄ１の入力が開始されたことを検出すると共に、第１の転送単位ＴＳｄ１をパケットバッファ制御器２６０に供給する。
【０３７４】
同様に、ＴＳｄ入力開始検出器２２０は、ＤＭＡバス調停器２１０ｒから入力される第２のパケット先頭検出信号Ｓｐｓ２および第２の転送単位ＴＳｄ２に基づいて、パケットデータＰ毎に第２の転送単位ＴＳｄ２の入力が開始されたことを検出すると共に、第２の転送単位ＴＳｄ２をパケットバッファ制御器２６０に供給する。
【０３７５】
上述のようにして、ＴＳｄ入力開始検出器２２０は、第１の転送単位ＴＳｄ１或いは第２の転送単位ＴＳｄ２の入力開始を検出する度に、現在入力が開始されたパケットデータＰを格納するためにパケットバッファ２７０ｒのバッファセルＢｃの１つを割当を要求するバッファセル要求信号Ｓｂａを生成してバッファセル割当器２３０に出力する。さらに、割り当てられたバッファセルに対する書込を開始できる状態であることを示す書込許可信号Ｓｗを生成して書込先バッファセル指定器２５０に出力する。
【０３７６】
パケットバッファ制御器２６０は、ＤＭＡバス調停器２１０ｒおよびＴＳｄ入力開始検出器２２０を経由して入力される第１の転送単位ＴＳｄ１および第２の転送単位ＴＳｄ２を、書込先バッファセル指定器２５０から入力される書込要求信号Ｓｗｄに基づいて、パケットバッファ２７０ｒの割り当てられたバッファセルＢｃに書き込む。
【０３７７】
上述のごとく、割り当てられたバッファセルＢｃにパケットデータＰの書込が開始された後に、例えば、第１１バイト目に第１のトランスポートストリームＴＳ１にデータがエラーがある場合に、ストリーム入力器ＴＳＲ＿１は第１のエラー信号Ｅ１を生成してエラーフラグ設定器２９５に出力する。
【０３７８】
エラーフラグ設定器２９５は、第１のエラー信号Ｅ１を受領した時点で、ハイ状態になり、転送終了信号Ｓｔｆを受領した時点でロー状態になる二値信号である第１のラッチエラー信号ＬＥ１を生成する。同様に、エラーフラグ設定器２９５は、第２のエラー信号Ｅ２を受領した時点で、ハイ状態になり、転送終了信号Ｓｔｆを受領した時点でロー状態になる二値信号である第２のラッチエラー信号ＬＥ２を生成する。これらの第１のラッチエラー信号ＬＥ１および第２のラッチエラー信号ＬＥ２はエラーフラグ信号Ｆｅとして蓄積完了バッファセル番号メモリ２９０ｒａに出力される。
【０３７９】
次に、図３１および図３２を参照して、上述のトランスポートストリームデコーダＴＤ３の動作について詳しく説明する。図３１に示すように、トランスポートストリームデコーダＴＤ３における動作は、図１７に示したトランスポートストリームデコーダＴＤ２における動作と類似しているが、入力される複数のトランスポートストリームＴＳ１〜ＴＳεにデータエラーがある場合のデータバッファリング装置ＤＢＡ３の制御を可能にするために、以下に述べるように４つのサブルーチンにおける処理が変更されている。
【０３８０】
つまり、ステップ＃６００Ｒの「複数トランスポートストリームＴＳのパケットデータＰ蓄積」サブルーチンが、ステップ＃６００ＲＲの「データエラーを含む複数トランスポートストリームＴＳのパケットデータＰ蓄積」サブルーチンに置き換えられている。
ステップ＃７００Ｒの「複数トランスポートストリームＴＳ１〜ＴＳεの処理対象パケットデータＰ選択」サブルーチンが、ステップ＃７００Ｒの「データエラーを含む複数トランスポートストリームＴＳ１〜ＴＳεの処理対象パケットデータＰ選択」サブルーチンに置き換えられている。
ステップ＃８００Ｒの「複数トランスポートストリームＴＳ１〜ＴＳεのパケットデータＰに要求処理実行」サブルーチンが、ステップ＃８００ＲＲの「データエラーを含む複数トランスポートストリームＴＳ１〜ＴＳεのパケットデータＰに要求処理実行」サブルーチンに置き換えられている。
そして、ステップ＃９００Ｒの「複数トランスポートストリームＴＳ１〜ＴＳεの処理後パケットデータＰ蓄積」サブルーチンが、＃９００ＲＲの「データエラーを含む複数トランスポートストリームＴＳ１〜ＴＳεの処理後パケットデータＰ蓄積」サブルーチンに置き換えられている。
このように構成されたトランスポートストリームデコーダＴＤ３に固有な動作に重点をおいて、ステップ＃６００ＲＲ〜＃９００ＲＲについて以下に説明する。なお、冗長を避けるために、トランスポートストリームデコーダＴＤ２と同じ動作に付いては説明を省く。
【０３８１】
以下に、図３２を参照して、ステップ＃６００ＲＲの「データエラーを含む複数トランスポートストリームＴＳ１〜ＴＳεのパケットデータＰ蓄積：サブルーチンにおける動作について以下に詳細に説明する。図３２に示すように、ステップ＃６００ＲＲにおける動作は、図１８に示したトランスポートストリームデコーダＴＤ２によるステップ＃６００Ｒにおける動作と類似しているが、入力される複数のトランスポートストリームＴＳ１〜ＴＳεにデータエラーがある場合のデータバッファリング装置ＤＢＡ３の制御を可能にするために、以下に述べるように１つのステップにおける処理が変更されると共に、３つのステップにおける処理が追加されている。
【０３８２】
つまり、ステップＳ６０４ＲとステップＳ６０５Ａの間に、新たにステップＳ６０４Ａの「データエラー検出開始」処理が設けられている。同様に、ステップＳ６０４Ｒ‘とステップＳ６０５Ａ’の間に、新たにステップＳ６０４Ａ‘の「データエラー検出開始」処理が設けられている。
【０３８３】
さらに、ステップＳ６３２ＲとステップＳ６３４Ｒの間に、新たにステップＳ６３３の「エラーフラグＯＮ／ＯＦＦ」およびステップＳ６３３Ａの「データエラー検出終了」処理が設けられている。
また、ステップＳ６３６の「蓄積バッファセル番号格納」処理が、ステップＳ６３６ＲＲの「蓄積バッファセル番号格納およびエラーフラグ格納」処理に変更されている。以下に、上述のトランスポートストリームデコーダＴＤ３に固有の動作について詳細に述べると共に、ステップ＃４００ＲＲ全体の動作について簡単に説明する。
【０３８４】
上述のトランスポートストリームデコーダＴＤ２と同様に、上述のステップＳ６０２（Ｓ６０２‘）およびＳ６０４Ｒ（Ｓ６０４Ｒ’）を経て、入力されたトランスポートストリームＴＳのパケット先頭を検出する。そして、処理は次のステップＳ６０４Ａ（Ｓ６０４Ａ‘）に進む。
【０３８５】
ステップＳ６０４Ａ（Ｓ６０４Ａ‘）において、ストリーム入力器ＴＳＲ＿１（ＴＳＲ＿２）は入力されるパケットデータＰについてデータエラー検出を開始する。なお、本ステップにおいて開始したデータエラー検出は、ステップＳ６３３Ａ（Ｓ６３３Ａ’）において終了されるまで、他のステップＳ６０５〜Ｓ６３２における処理に平行して継続実行されて、データエラーが検出された時点でデータエラーを有するトランスポートストリームＴＳを示すエラー信号Ｅを生成して出力する。
【０３８６】
上述のステップＳ６０５〜Ｓ６３０における処理の後に、ステップＳ６３２Ｒにおいて、転送単位ＴＳｄ毎に第１のストリーム入力器ＴＳＲ＿１および第２のストリーム入力器ＴＳＲ＿２からＤＭＡバス調停器２１０ｒにリクエスト信号Ｓｒｑ１およびＳｒｑ２が出力され（ステップＳ６０７、Ｓ６０７‘）、ＤＭＡバス調停器２１０ｒはリクエスト信号Ｓｒｑ１およびＳｒｑ２に応答し調停を行って（ステップＳ６０８Ｒ）、データ有効信号Ｓｄｅ１またはＳｄｅ２を対応するストリーム入力器ＴＳＲ＿１またはＴＳＲ＿２に出力し（ステップＳ６１０Ｒ、Ｓ６１０Ｒ’）、ストリーム入力器ＴＳＲ＿１はデータ有効信号Ｓｄｅ１に応答してパケットデータＰの次の転送単位ＴＳｄ１の転送を開始する。同様に、ストリーム入力器ＴＳＲ＿２はデータ有効信号Ｓｄｅ２に応答してパケットデータＰの次の転送単位ＴＳｄ２の転送を開始する（ステップＳ６１４Ｒ）という、上述の動作が繰り返される。
【０３８７】
この間、パケットバッファ制御器２６０はバッファセルＢｃに書き込まれるデータのバイト数を転送単位ＴＳｄ１、ＴＳｄ２別にカウントして、それぞれ１パケットデータＰ分の転送単位ＴＳｄのバッファセルへの蓄積が終了したことを検出する。さらに、転送終了信号Ｓｔｆを生成して蓄積完了バッファセル番号メモリ制御器２８０およびエラーフラグ設定器２９５に出力する。カウント数は、ＴＤ制御器ＴＤＣ１に予め格納されているトランスポートストリーム構造情報が示す入力されるトランスポートストリームＴＳのパケットデータＰのデータサイズによって求められる。そして、処理は次のステップＳ６３３に進む。
【０３８８】
ステップＳ６３３において、エラーフラグ設定器２９５はパケットバッファ制御器２６０から出力される転送終了信号Ｓｔｆに応答して、上述のステップＳ６０４Ｒ＋〜Ｓ６３２の間にストリーム入力器ＴＳＲ＿εから出力されるエラー信号Ｅεに基づいてライトポインタＷＰが示しているフラグ格納領域Ｆｃｍにエラーフラグ値を書き込む。つまり、ステップＳ６０４Ｒ＋〜Ｓ６３２の間に、バッファセルＢｃに格納中のパケットデータＰにデータエラーが検出される場合には、転送終了信号Ｓｔｆが入力された時点でフラグ格納領域ＦｃｎにエラーフラグＯＮに相当する値が書き込まれる。
【０３８９】
一方、ステップＳ６０４Ｒ＋〜Ｓ６３２の間に、データエラーが検出されること無く、パケットデータＰがバッファセルＢｃを格納された場合には、ステップＳ６３３Ａにおいて、転送終了信号Ｓｔｆが入力された時点でフラグ格納領域ＦｃｎにエラーフラグＯＦＦに相当する値が書き込まれる。なお、フラグ格納領域Ｆｃｎの初期値をエラーフラグＯＦＦに設定すれば、ステップＳ６３３Ａにおいて、フラグ格納領域Ｆｃｎには何も書き込まれない。この場合、エラーフラグＯＮが書き込まれたフラグ格納領域Ｆｃのリセットについては、後ほど図３３を参照して説明する。そして処理は、次のステップＳ６３３Ａに進む。
【０３９０】
ステップＳ６３３Ａにおいて、ステップＳ６０４Ａ（Ｓ６０４Ａ‘）において開始されたストリーム入力器ＴＳＲ＿Ｎによる入力トランスポートストリームＴＳのデータエラー検出を終了する。そして、処理は上述のステップＳ６３４を経て、ステップＳ６３６Ｒに進む。
【０３９１】
ステップＳ６３６Ｒにおいて、蓄積完了バッファセル番号メモリ２９０は、バッファセル番号信号Ｓｂｎの示すバッファセル番号ＮｂｃをライトポイントＷＰの示す領域に記録する。同様に、蓄積完了バッファセル番号メモリ２９０ｒａは、エラーフラグ信号Ｆｅの示すフラグ格納領域Ｆｃｍにエラーフラグ値を書き込む。そして、処理は次のステップＳ６３８に進む。
【０３９２】
ステップＳ６３８において、上述のごとくライトポインタＷＰを１つ進めた後に、本ステップ＃６００ＲＲにおける「データエラーを含む複数トランスポートストリームＴＳ１〜ＴＳεのパケットデータＰ蓄積」サブルーチンを終了する。
【０３９３】
なお、上述のステップＳ６３３Ａにおけるエラーフラグ値の書込について、図２８に示す波形図を参照して、各構成要素の動作をより具体的に説明する。図２８に示す例においては、トランスポートストリームＴＳ１／ＴＳ２の最初のパケットデータＰの第２バイト目から第２番目のパケットデータＰの第３バイト目までの期間が、図３２におけるステップＳ６０４Ｒ＋からステップＳ６３２までの期間に相当する。そして、ストリーム入力器ＴＳＲが最初のパケットデータＰの第１１バイト目にデータエラーを検出して、エラー信号Ｅをエラーフラグ設定器２９５に出力する。調停期間Ｔａは変動するので、上述の期間はそれぞれｓｐｓ〜ｓｔｆ範囲で変動することは言うまでも無い。
【０３９４】
エラーフラグ設定器２９５は、エラー信号Ｅをラッチしてラッチエラー信号ＬＥを生成して、そして保持する。そして、転送終了信号Ｓｔｆが入力された時点で、ラッチエラー信号ＬＥおよび転送終了信号Ｓｔｆが共にハイであれば、蓄積完了バッファセル番号メモリ２９０ｒａのフラグ格納領域ＦｃにフラグＯＮを書き込むエラーフラグ信号Ｆｅを生成する。
【０３９５】
一方、入力されたトランスポートストリームＴＳにデータエラーが検出されない場合には、転送終了信号Ｓｔｆが入力された時点でラッチエラー信号ＬＥはローであるので、蓄積完了バッファセル番号メモリ２９０ｒａのフラグ格納領域ＦｃにフラグＯＮを書き込むエラーフラグ信号Ｆｅは生成されない。
【０３９６】
このようにして、同時に入力される任意の数のトランスポートストリームＴＳｎのいずれかにデータエラーが含まれている場合でも、パケットバッファ２７０のバッファセルＢｃｎに格納されるパケットデータＰの単位で、データエラーの有無を識別管理できる。結果、入力されるトランスポートストリームＴＳに含まれているデータエラーの部分を捨たり或いは再度取得することで、トランスポートストリームＴＳが伝送する情報を正しく獲得できる。
【０３９７】
さらに、転送終了信号Ｓｔｆに応答して、蓄積完了バッファセル番号メモリ２９０ｒａのフラグ格納領域Ｆｃｎにエラーフラグ値の書込を行うのは、本実施形態のように複数のトランスポートストリームＴＳ１〜ＴＳεが同時に入力される場合である。その理由は、上述のように異なるトランスポートストリームＴＳにおけるパケットデータＰの入力レート差により、後から到着したパケットデータＰのバッファリングが、先に到着したパケットデータＰのバッファリングより早く終了するときに、本当は先に到着したパケットにデータエラーを検出したのに、後から到着して先にバッファリングを終了したパケットを格納したバッファセルＢｃに対応するフラグ格納領域ＦｃにエラーフラグＯＮと誤記入を防止するためである。
【０３９８】
次に、図３３に示すフローチャートを参照して、上述のステップ＃８００ＲＲにおける「データエラーを含む複数トランスポートストリームＴＳ１〜ＴＳεのパケットデータＰに要求処理実行」サブルーチンの詳細について説明する。図３３に示すように、本ステップ＃８００ＲＲにおける動作は、図１９に示したトランスポートストリームデコーダＴＤ２によるステップ＃８００Ｒにおける動作と類似しているが、入力される複数のトランスポートストリームＴＳ１〜ＴＳεにデータエラーがある場合のデータバッファリング装置ＤＢＡ３の制御を可能にするために、以下に述べるように３つのステップにおける処理が追加されている。
【０３９９】
つまり、ステップＳ８０８ＲとステップＳ８１０Ｒの間に、新たにステップＳ８０９Ａの「エラーフラグ値読み出し」処理およびステップＳ８０９Ｂの「エラーフラグＯＮ？」判断が設けられている。さらに、ステップＳ８１８とステップＳ８２０の間に、新たにステップＳ８１９の「エラーフラグをリセット」処理が設けられている。以下、本実施形態に固有の動作を重点的に説明すると共にステップ＃８００ＲＲの全体の動作を簡単に説明する。
【０４００】
上述のステップＳ８０２〜Ｓ８０８Ｒの処理を経て、処理対象候補であるパケットデータＰを格納していると特定されたバッファセルＢｃから管理情報ＩＭが読み出されて、格納されているパケットデータＰのバッファパケット識別情報ＰＩＤｅおよびトランスポートストリーム識別情報ＴＳｉｅが生成される。そして、処理は次のステップＳ８０９Ａに進む。
【０４０１】
ステップＳ８０９Ａにおいて、リードポインタＲＰの示すフラグ格納領域Ｆｃから、格納されているエラーフラグ値が読み出される。そして、処理は、次のステップＳ８０９Ｂに進む。
【０４０２】
ステップＳ８０９Ｂにおいて、読み出されたエラーフラグ値に基づいて、エラーフラグがＯＮであるか否かが判断される。Ｙｅｓ、つまり処理対象候補であるパケットデータＰはエラーを含んでいると判断される場合は、処理は上述のステップＳ８１０Ｒ、Ｓ８１２、Ｓ８１４、およびＳ８１６を迂回して、ステップＳ８１８に進み、そのバッファセルＢｃを今後入力されてくるパケットデータＰのバッファリングのために解放される。
【０４０３】
一方、ステップＳ８０９Ｂにおいて、Ｎｏ、つまり処理対象候補であるパケットデータＰはエラーを含んでいないと判断される場合は、処理は上述のステップＳ８１０Ｒ、Ｓ８１２、Ｓ８１４、およびＳ８１６を経て、ステップＳ８１８に進む。つまり、当該処理対象候補であるパケットデータＰが実際に処理対象である場合（Ｓ８１０ＲでＹｅｓ）には前述のステップ＃４００Ｒで決定された処理を実行し（Ｓ８１２）、処理済みのパケットデータＰをデータバッファリング装置ＤＢＡ３から出力（Ｓ８１６）した後に、当該バッファセルＢｃを解放（Ｓ８１８）する。また、当該処理対象候補であるパケットデータＰが処理対象でない場合（Ｓ８１０ＲでＮｏ）には、当該バッファセルＢｃは直ちに解放（Ｓ８１８）される。
【０４０４】
ステップＳ８１９において、ＴＤ制御器ＴＤＣ３は、リードポインタＲＰの示すフラグ格納領域Ｆｃのエラーフラグ値をローにすることによってエラーフラグをリセット（ＯＦＦ）する。そして、ステップＳ８２０において、ＴＤ制御器ＴＤＣ３は。蓄積完了バッファセル番号モリ２９０におけるリードポインタＲＰの値を進める。そして、処理は上述のステップＳ８０２に戻る。
【０４０５】
第２の実施形態におけるように、入力される複数のトランスポートストリームＴＳ１〜ＴＳεのパケットデータＰの個々に、トランスポートストリーム識別子ＴＳｉと、タイムスタンプＳｔとを付与することによって、パケットデータＰの１つずつをパケット識別子ＰＩＤとの組合せによって確実に識別することによって、逐次入力される複数のトランスポートストリームＴＳに含まれる複数の番組に対してユーザが選択的に所望する処理を可能にする。しかしながら、トランスポートストリームＴＳにエラーが含まれる場合には、パケットデータＰのバッファリング後の処理が破綻を来すか、ランスポートストリームデコーダＴＤ全体の動作効率の低下を招く。そこで、本実施形態においては、データエラーを含むパケットデータＰを格納したバッファセルＢｃをソフトウェア的に管理および解放することによって、このような不都合を防止できる。
【０４０６】
なお、本実施形態においても、図２２を参照して説明したように、ＩＴＵ−Ｔ勧告Ｈ．２２０．０に基づくパケット構成を有する複数のトランスポートストリームＴＳ１〜ＴＳεに対しても適用できることは明らかである。
【図面の簡単な説明】
【図１】  本発明の第１の実施形態にかかる、データバッファリング装置を組み込んだトランスポートストリームデコーダ装置の構造を示すブロック図である。
【図２】  図１に示したバッファセル割当情報格納器、パケットバッファ、および蓄積完了バッファセル番号メモリの相互関係を示す説明図である。
【図３】  図１に示したトランスポートストリームデコーダにおける種々の信号を示す波形図である。
【図４】  図１に示したトランスポートストリームデコーダの主な動作を示すフローチャートである。
【図５】  図４に示した単一トランスポートストリームＴＳのパケットデータＰ蓄積サブルーチンにおける詳細な動作を示すフローチャートである。
【図６】  図４に示した単一トランスポートストリームＴＳの処理対象パケットデータＰ選択サブルーチンにおける詳細な動作を示すフローチャートである。
【図７】  図１に示したトランスポートストリームデコーダに入力されるトランスポートストリームの構成を示す説明図である。
【図８】  図１に示したメインメモリに入出力されるパケットデータ列の一例を示す模式図である。
【図９】  図１に示したトランスポートストリームデコーダに入力される、ＩＴＵ−Ｔ勧告Ｈ．２２０．０に規定されるトランスポートストリームの構成を示す説明図である。
【図１０】  図１に示したトランスポートストリームデコーダと同等の機能を、主にハードウェアによって実現する場合の構成を示すブロック図である。
【図１１】  図１０に示したトランスポートストリームデコーダによって、図７に示したパケット構成を有する単一のトランスポートストリームから２つの番組の番組コンテンツパケットデータと管理パケットデータのみが抽出されて、構成される選択複数番組パケットデータ列の説明図である。
【図１２】  図４に示した単一トランスポートストリームＴＳの処理対象パケットデータＰ選択サブルーチンと、単一トランスポートストリームＴＳのパケットデータＰに対する要求処理実行サブルーチンとの関係を示す説明図である。
【図１３】  図１０に示したトランスポートストリームデコーダに入力されるトランスポートストリームから抽出された混合選択複数番組パケットデータ列に含まれるパケットデータのメインメモリにおける蓄積状態の一例を示す。
【図１４】  図１０に示したメインメモリに入出力される複数番組パケットデータ列の構成を示す説明図である。
【図１５】  本発明の第２の実施形態にかかる、データバッファリング装置を組み込んだトランスポートストリームデコーダ装置の構造を示すブロック図である。
【図１６】  図１５に示したトランスポートストリームデコーダにおける種々の信号を示す波形図である。
【図１７】  図１５に示したトランスポートストリームデコーダの主な動作を示すフローチャートである。
【図１８】  図１７に示した複数トランスポートストリームＴＳ１〜ＴＳεのパケットデータＰ蓄積サブルーチンにおける詳細な動作を示すフローチャートである。
【図１９】  図１７に示した複数トランスポートストリームＴＳ１〜ＴＳεのパケットデータＰに要求処理実行サブルーチンにおける詳細な動作を示すフローチャートである。
【図２０】  図１７に示したトランスポートストリームデコーダに入力される２つのトランスポートストリームのそれぞれの構成を示す説明図である。
【図２１】  図１７に示したトランスポートストリームデコーダによって、図２０に示したパケット構成を有する２つのトランスポートストリームから４つの番組の番組コンテンツパケットデータと管理パケットデータのみが抽出されて、構成される選択複数番組パケットデータ列の説明図である。
【図２２】  図１７に示したメインメモリに、混合選択複数番組パケットデータ列が蓄積される状態を示す模式図である。
【図２３】  図２３に示したトランスポートストリームデコーダに入力される、ＩＴＵ−Ｔ勧告Ｈ．２２０．０に基づく２つのトランスポートストリームの構成を示す説明図である。
【図２４】  図１７に示したトランスポートストリームデコーダと同等の機能を、主にハードウェアによって実現する場合の構成を示すブロック図である。
【図２５】  図２４に示したトランスポートストリームデコーダによって、図２３に示したパケット構成を有する２つトランスポートストリームから４つの番組の番組コンテンツパケットデータと管理パケットデータのみが抽出されて、構成される複数ＴＳ複数番組パケットデータ列の説明図である。
【図２６】  図２４に示したメインメモリに、混合選択複数番組パケットデータ列が蓄積される状態を示す模式図である。
【図２７】  本発明の第３の実施形態にかかる、データバッファリング装置を組み込んだトランスポートストリームデコーダ装置の構造を示すブロック図である。
【図２８】  図２７に示したトランスポートストリームデコーダにおける種々の信号を示す波形図である。
【図２９】  図２７に示した蓄積完了バッファセル番号メモリの詳細な構成を示すブロック図である。
【図３０】  図２９に示した蓄積完了バッファセル番号メモリの変形例の詳細な構成を示すブロック図である。
【図３１】  図２７に示したトランスポートストリームデコーダの主な動作を示すフローチャートである。
【図３２】  図３１に示したデータエラーを含む複数トランスポートストリームＴＳ１〜ＴＳεのパケットデータＰ蓄積サブルーチンの詳細な動作を示すフローチャートである。
【図３３】  図３１に示したデータエラーを含む複数トランスポートストリームＴＳ〜ＴＳεのパケットデータＰに要求処理実行サブルーチンの詳細な動作を示すフローチャートである。
【図３４】  単一のトランスポートストリームから複数の番組コンテンツパケットデータの出力に供することできると考えられる、従来の主にハードウェアによって実現されるトランスポートストリームデコーダの構成を示すブロック図である。
【図３５】  図３４に示したトランスポートストリームデコーダによる、単一のトランスポートストリームから抽出して構成される選択単一番組パケットデータ列の説明図である。
【図３６】  図３４に示したメインメモリに、選択単一番組パケットデータ列が蓄積される状態を示す模式図である。
【図３７】  図３４に示したメインメモリに入出力される単一番組パケットデータ列の構成を示す説明図である。
【符号の説明】
ＴＤ１、ＴＤ２、ＴＤ３、ＴＤＡｃ、ＴＤＡＡ１、ＴＤＡＡ２  トランスポートストリームデコーダ
ＴＳＲ  ストリーム入力器
ＴＳＲ＿１、ＴＳＲ＿１ｒ  第１ストリーム入力器
ＴＳＲ＿２、ＴＳＲ＿２ｒ  第２ストリーム入力器
ＤＢＡ１、ＤＢＡ２、ＤＢＡ３  データバッファリング装置
ＰＢＡＣ１、ＰＢＡＣ２、ＰＢＡＣ３  制御器
ＰＢＡ１、ＰＢＡ２、ＰＢＡ３  パケットバッファリング調停器
ＣＦ  チャンネルパケットフィルタ
ＥＰＣＦ  拡張プログラムパケットフィルタ
２１０、２１０ｒ  ＤＭＡバス調停器
２２０  ＴＳｄ入力開始検出器
２３０  バッファセル割当器
２４０  バッファセル割当情報格納器
２５０  書込先バッファセル指定器
２６０  パケットバッファ制御器
２８０  蓄積完了バッファセル番号メモリ制御器
２９０  蓄積完了バッファセル番号メモリ
３００  パケットアクセス器
７００  メインメモリ制御器
９００  メインメモリ
１０００  ＴＤ制御器
Ａｃ１〜ＡｃＮ  バッファセル割当情報領域
Ｂｃ１〜ＢｃＮ  バッファセル
Ｎｂｃ１〜ＮｂｃＮ  バッファセル番号
ＭＢＵ  最低バッファ容量
Ｒｃ、Ｒｃ１〜ＲｃＭ  バッファセル指定領域
Ｓｂａ  バッファセル要求信号
Ｓｂｎ  バッファセル番号信号
Ｓｃ１、Ｓｃ２、Ｓｃ３  制御信号
ＳｃＷ１、ＳｃＷ２、ＳｃＷ３  制御信号
Ｓｄｅ  データ有効信号
Ｓｄｅ１  第１のデータ有効信号
Ｓｄｅ２  第２のデータ有効信号
Ｓｐｓ  パケット先頭検出信号
Ｓｐｓ１  第１のパケット先頭検出信号
Ｓｐｓ２  第２のパケット先頭検出信号
Ｓｒ１、Ｓｒ２、Ｓｒ３  状態信号
Ｓｒｑ  リクエスト信号
Ｓｒｑ１  第１のリクエスト信号
Ｓｒｑ２  第２のリクエスト信号
ＳｒＷ１、ＳｒＷ２、ＳｒＷ３  状態信号
Ｓｔｆ  転送終了信号
Ｓｗ  書込許可信号
Ｓｗｄ  書込要求信号
Ｓｗｐ  ライトポイント更新信号
ＴＳ、ＴＳ１〜ＴＳε  トランスポートストリーム
ＴＳｄ  転送単位
ＴＳｄ１  第１の転送単位
ＴＳｄ２  第２の転送単位
【図１】
0003636307.tif 000002
【図２】
0003636307.tif 000003
【図３】
0003636307.tif 000004
【図４】
0003636307.tif 000005
【図５】
0003636307.tif 000006
【図６】
0003636307.tif 000007
【図７】
0003636307.tif 000008
【図８】
0003636307.tif 000009
【図９】
0003636307.tif 000010
【図１０】
0003636307.tif 000011
【図１１】
0003636307.tif 000012
【図１２】
0003636307.tif 000013
【図１３】
0003636307.tif 000014
【図１４】
0003636307.tif 000015
【図１５】
0003636307.tif 000016
【図１６】
0003636307.tif 000017
【図１７】
0003636307.tif 000018
【図１８】
0003636307.tif 000019
【図１９】
0003636307.tif 000020
【図２０】
0003636307.tif 000021
【図２１】
0003636307.tif 000022
【図２２】
0003636307.tif 000023
【図２３】
0003636307.tif 000024
【図２４】
0003636307.tif 000025
【図２５】
0003636307.tif 000026
【図２６】
0003636307.tif 000027
【図２７】
0003636307.tif 000028
【図２８】
0003636307.tif 000029
【図２９】
0003636307.tif 000030
【図３０】
0003636307.tif 000031
【図３１】
0003636307.tif 000032
【図３２】
0003636307.tif 000033
【図３３】
0003636307.tif 000034
【図３４】
0003636307.tif 000035
【図３５】
0003636307.tif 000036
【図３６】
0003636307.tif 000037
【図３７】
0003636307.tif 000038