JP3636307B2 - パケットデータ処理決定装置 - Google Patents

パケットデータ処理決定装置 Download PDF

Info

Publication number
JP3636307B2
JP3636307B2 JP2001099730A JP2001099730A JP3636307B2 JP 3636307 B2 JP3636307 B2 JP 3636307B2 JP 2001099730 A JP2001099730 A JP 2001099730A JP 2001099730 A JP2001099730 A JP 2001099730A JP 3636307 B2 JP3636307 B2 JP 3636307B2
Authority
JP
Japan
Prior art keywords
packet data
buffer cell
packet
transport stream
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001099730A
Other languages
English (en)
Other versions
JP2002300201A (ja
Inventor
幹彦 山田
昌一 後藤
教彦 溝端
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2001099730A priority Critical patent/JP3636307B2/ja
Priority to US10/467,448 priority patent/US7359441B2/en
Priority to DE60220153T priority patent/DE60220153T2/de
Priority to PCT/JP2002/002953 priority patent/WO2002082721A2/en
Priority to EP02708677A priority patent/EP1374482B1/en
Publication of JP2002300201A publication Critical patent/JP2002300201A/ja
Application granted granted Critical
Publication of JP3636307B2 publication Critical patent/JP3636307B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4344Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams

Description

【0001】
【発明の属する技術分野】
本発明は、入力されてくるトランスポートストリームを構成するパケットデータの個々を所定の処理対象であるかをリアルタイムに識別して、対応する場合には当該所定の処理に対してアクセスを許すパケットデータアクセス制御装置に関し、さらに詳述すればトランスポートストリームデコーダに組み込まれて、パケットデータ単位での処理を行う各種アプリケーションに対して同アプリケーションに対応するパケットデータの処理を許すパケットデータ処理決定装置に関する。
【0002】
【従来の技術】
デジタルコンテンツに対して種々な処理や編集を施して副次利用すると言うような要求は、従来は放送局のようなコンテンツ制作或いは配信元にのみ可能であった。しかしながら、近年のデジタル技術の進歩により、インフラストラクチャとしてデジタル配信システムの質および量は日々に充実している。つまり、デジタルコンテンツを提供するトランスポートストリームの充実、ユーザによる処理に必要なハードウェアの性能アップ、およびそのためのコストの低減により、従来は放送局等の施設によってのみ実施されていた、トランスポートストリームの編集や、トランスポートストリームを構成するパケットデータの編集をユーザ側で楽しむための環境条件が整いつつある。
しかしながら、ユーザ側においてデジタルコンテンツ毎に所望の処理を施すためには、逐次入力されてくるトランスポートストリームを構成するパケットデータの個々に対して、リアルタイム選択し、さらに選択されたパケットデータに対して対応する処理或いは加工を施すべく処理手段のアクセスを許す手段が必要である。
【0003】
そのような手段の一例と、図34にトランスポートストリームを構成するパケットデータの個々をリアルタイムに識別して選択的に抽出する機能を有する従来実現されている装置を示す。同図に示すトランスポートデコーダは、複数の番組(Program)のそれぞれを形成するパケットデータ列から構成される単一のトランスポートストリームから特定の単一の番組を構成するパケットデータ群のみを抽出してAVデコーダに出力する。つまり、後述するように、同トランスポートデコーダには単一のトランスポートストリームを構成する複数のパケットデータの内で特定のパケットデータのみを選択的に抽出する手段が設けられている。
【0004】
当該トランスポートストリームデコーダTDAcは、外部のトランスポートストリーム源(図示せず)から供給されるトランスポートストリームTSを受け取るストリーム入力器500C、プログラムパケットフィルタPCF、メインメモリ制御器700C、メインメモリ900C、およびトランスポートストリームデコーダTDAc全体の動作を制御するTD制御器TDCcを含む。
【0005】
これら構成要素について説明する前に、先ず、図7を参照して、トランスポートストリームデコーダTDAcに入力される単一のトランスポートストリームTSについて説明する。トランスポートストリームTSは、図7においてそれぞれが1つの枠として表示されている複数のパケットデータPから構成される。これらのパケットデータPにはそれぞれに固有のパケット識別子(Packet ID)PIDが付与されて、それぞれの識別に供される。
【0006】
これらのパケットデータPは、α種類(αは2以上の整数)の番組毎にそのコンテンツを形成する複数の番組コンテンツパケットデータPcと、番組毎にこれら番組コンテンツパケットデータPcのパケット識別子PIDを記述した番組コンテンツパケットデータ管理表(Program Map Table )PMTと、番組毎に対応する番組コンテンツパケットデータ管理表PMTを記した番組コンテンツ管理表(Program Association Table)PAT等に分類される。
【0007】
これら番組コンテンツパケットデータPcを管理する情報を有する番組コンテンツ管理表PATおよび番組コンテンツパケットデータ管理表PMTを、管理パケットデータPcAと総称する。なお、図7においては、少なくとも3つの異なる番組1、番組2、および番組3を提供する場合(α≧3)のトランスポートストリームTSの構成が例示されている。
【0008】
番組コンテンツパケットデータPc101_1、Pc101_2、・・・は、番組1の映像データであり、番組コンテンツパケットデータPc111_1、Pc111_2、・・・・は番組1の音声データである。同様に、番組コンテンツパケットデータPc201_1、Pc201_2、・・・・は、番組2の映像データであり、番組コンテンツパケットデータPc211_1、Pc211_2、・・・・は番組2の音声データである。
【0009】
さらに、番組コンテンツパケットデータPc301_1、Pc301_2、・・・・は番組3の映像データであり、番組コンテンツパケットデータPc311_1、Pc311_2、・・・・は番組3の音声データである。上述のごとく映像データを有する番組コンテンツパケットデータPcを番組映像コンテンツパケットデータPcVと、音声データを有する番組コンテンツパケットデータPcを番組音声コンテンツパケットデータPcSとそれぞれ総称する。
【0010】
なお、提供できる番組数(α)は3に限定されないことは言うまでも無く、提供する番組数に対応する必要なだけの番組コンテンツパケットデータPcがトランスポートストリームTSに含まれる。さらに、番組の内容によっては、映像や音声以外の情報(例えば、文字情報)に対応する番組コンテンツパケットデータPcも含まれることも同様である。
【0011】
さらに詳述すれば、トランスポートストリームTSは、番組コンテンツパケットデータPcの間に、伝送経路および処理上の要因から定められる頻度で番組コンテンツ管理表PATと番組コンテンツパケットデータ管理表PMTが配列されて構成される。図7において、番組1、2、および3の全3種類の番組を形成する複数の番組コンテンツパケットデータPcの内で、番組コンテンツパケットデータPc101_1、Pc111_1、Pc201_1、Pc211_1、Pc301_1、およびPc311_1の前に、番組毎の番組コンテンツパケットデータPcのパケット識別子PIDを記した番組コンテンツパケットデータ管理表PMT1、PMT2、およびPMT3と、これらの番組コンテンツパケットデータ管理表PMTのそれぞれのパケット識別子PIDに対応する番組とを示す番組コンテンツ管理表PATからなる管理パケットデータPcAが配されている。
【0012】
なお、本明細書において、同一の部材や信号は共通の数字或いはアルファベットで構成される符号を識別子として附して表現し、同一の部材や信号であっても個々に識別を要する場合には、当該識別子にさらに数字或いはアルファベットによる接尾辞を附して個々の識別子として表現するものとする。よって、同一部材或いは信号において個々に識別を要しない場合には、識別子に接尾辞を附さずに表すものとする。具体的に言えば、番組コンテンツパケットデータPc101は、番組コンテンツパケットデータPc101_1、Pc101_2、・・・Pc101_β(βは任意の自然数)の総称である。上述の番組コンテンツパケットデータPc111、Pc201、Pc211、Pc301、およびPc401についても同様である。
【0013】
番組コンテンツ管理表PATには、そのトランスポートストリームTSに含まれる全番組の番組コンテンツパケットデータ管理表PMTのパケット識別子PIDが記述されている。つまり、番組1の番組コンテンツパケットデータ管理表PMTのパケット識別子PIDは100であり、番組2の番組コンテンツパケットデータ管理表PMTのパケット識別子PIDは200であり、番組3の番組コンテンツパケットデータ管理表PMTのパケット識別子PIDは300である、・・・、番組αの番組コンテンツパケットデータ管理表PMTのパケット識別子PIDはα00であると記述されている。
【0014】
さらに、番組コンテンツパケットデータPc101_2、Pc111_2、Pc201_2、Pc211_2、Pc301_2、およびPc311_2の前には、前述の番組コンテンツパケットデータ管理表PMT1、PMT2、およびPMT3と番組コンテンツ管理表PATとからなる管理パケットデータPcAが再び配置されている。なお、トランスポートストリームTSが4以上の番組を含む(α≧4)の場合は、図7には明示されていないが、管理パケットデータPcAには、番組コンテンツパケットデータ管理表PMT4〜PMTαが含まれ、トランスポートストリームTSにはそれぞれの番組に対応する番組コンテンツパケットデータPcが含まれることは言うまでも無い。
【0015】
トランスポートストリームTSに含まれるパケットデータPの種類によって、管理パケットデータPcAの配置頻度は大きく異る。さらに管理パケットデータPcAは必ずしも、図7に例示したようにパケットデータPの一まとまりとして配置されるとは限らない。場合によっては、管理パケットデータPcAの構成単位である番組コンテンツ管理表PAT、番組コンテンツパケットデータ管理表PMTおよび番組コンテンツパケットデータPcのそれぞれの間にほかのパケットデータPが入り乱れて配されることもある。
【0016】
図34に戻って、トランスポートストリームデコーダTDAcの構成要素のそれぞれについて説明する。ストリーム入力器500Cは、外部のトランスポートストリーム源(図示せず)から入力されるトランスポートストリームTSを内部に備えた入力バッファに一時的に保持して、転送単位TSd毎にプログラムパケットフィルタPCFに転送する。
【0017】
プログラムパケットフィルタPCFは、ストリーム入力器500Cから転送単位TSd毎に転送されてくる全番組コンテンツパケットデータPcのそれぞれに付与されているパケット識別子PIDに基づいて、管理パケットデータPcAのみを選択的に出力するパケットフィルタ1100_00と、特定の番組の番組映像コンテンツパケットデータPcVのみを選択的に出力するパケットフィルタ1100_01と、当該特定の番組の番組音声コンテンツパケットデータPcSのみを選択的に出力するパケットフィルタ1100_02との少なくとも3つを有する。なお、入力されたトランスポートストリームTSに含まれる全パケットデータPから抽出された、管理パケットデータPcAと特定の番組のコンテンツを形成する番組コンテンツパケットデータPc(PcV、PcA)とを併せて選択単一番組パケットデータ列Pesと総称する。
【0018】
上述のように、プログラムパケットフィルタPCFに含まれる管理パケットデータPcAの抽出用、番組映像コンテンツパケットデータPcVの抽出用、および番組音声コンテンツパケットデータPcSの抽出用の3種類のパケットフィルタのそれぞれを識別する必要のある場合には、それぞれ管理パケットフィルタ1100_00、映像パケットフィルタ1100_01および音声パケットフィルタ1100_02と表し、識別する必要の無い場合或いはそれらを総称する場合には単にパケットフィルタ1100と表する。
【0019】
プログラムパケットフィルタPCFには、抽出する1つの番組を構成するコンテンツの種類数γ(γは自然数)に応じて、つまり抽出すべき番組コンテンツパケットデータPcの種類数に相当するγ個のパケットフィルタ1100_01〜1100_0γと、トランスポートストリームTSから管理パケットデータPcAを抽出する1個の管理パケットフィルタ1100_00の合計γ+1個の管理パケットフィルタ1100_00〜1100_0γが設けられる。説明の簡便化のために本例においては、管理パケットフィルタ1100_00、映像パケットフィルタ1100_01、音声パケットフィルタ1100_02の3種類のみを有する場合について述べる。
【0020】
トランスポートストリームTSに含まれる複数の番組を構成する番組コンテンツパケットデータPcの内、管理パケットデータPcA(PAT、PMT1、PMT2、PMT3)、番組1を構成する番組映像コンテンツパケットデータPcV(Pc101_1、Pc101_2、・・・)および番組音声コンテンツパケットデータPcS(Pc111_1、Pc111_2、・・・)は、それぞれトランスポートストリームデコーダTDAcに到着した順番に映像パケットフィルタ1100_01および音声パケットフィルタ1100_02によって抽出される。
【0021】
そして、抽出された番組コンテンツ管理表PAT、番組コンテンツパケットデータ管理表PMT1、PMT2、およびPMT3と、番組コンテンツパケットデータPc101_1、Pc111_1、Pc101_2、Pc111_2、・・・は、トランスポートストリームデコーダTDAcに到着した順番に、選択単一番組パケットデータ列Pesとしてメインメモリ制御器700Cに出力される。
このように、プログラムパケットフィルタPCFは、入力されるトランスポートストリームTSのパケットデータの個々をリアルタイムに識別して、選択的に抽出する機能を有する。
【0022】
メインメモリ制御器700Cは、プログラムパケットフィルタPCFから入力される選択単一番組パケットデータ列Pesを転送単位TSd毎に一時的に保持すると共にメインメモリ900Cを制御して、メインメモリ900Cのそれぞれ異なる所定の領域に、管理パケットデータPcA、単一番組映像コンテンツパケットデータ列PssV、および単一番組音声コンテンツパケットデータ列PssS毎にメインメモリ900Cの所定の領域に格納させる。
【0023】
つまり、メインメモリ900Cは、メインメモリ制御器700Cを経由してプログラムパケットフィルタPCFから入力される選択単一番組パケットデータ列Pesに含まれる各パケットデータPを、管理パケットデータPcA、番組映像コンテンツパケットデータPcVおよび番組音声コンテンツパケットデータPcAのいずれかに選別して、管理パケットデータPcA、単一番組映像コンテンツパケットデータ列PssV、および単一番組音声コンテンツパケットデータ列PssSとして格納する。
【0024】
さらに、メインメモリ制御器700Cは、メインメモリ900Cから単一番組映像コンテンツパケットデータ列PssVおよび単一番組音声コンテンツパケットデータ列PssSを読み出して転送単位TSd毎に一時的に保持すると共に、単一番組パケットデータ列PssとしてAVデコーダ2000Cに代表される外部機器に出力する。
【0025】
なお、トランスポートストリームデコーダTDAcは、上述の各構成要素の動作状態を示す状態信号SrWCを生成してTD制御器TDCcに出力する。TD制御器TDCcは、状態信号SrWCに基づいて、トランスポートストリームデコーダTDAcの各構成要素の動作を制御する制御信号ScWCを生成して、トランスポートストリームデコーダTDAcに出力する。
【0026】
このようにして、TD制御器TDCcはトランスポートストリームデコーダTDAcの動作全体を制御して、トランスポートストリームデコーダTDAcに入力される単一のトランスポートストリームTSから単一の番組を構成する番組コンテンツパケットデータPcのみを入力された順番で抽出して、単一番組パケットデータ列PssとしてAVデコーダ2000Cなどの外部機器に出力させる。AVデコーダ2000Cは、入力される単一番組パケットデータ列Pssに含まれる番組映像コンテンツパケットデータPcVおよび番組音声コンテンツパケットデータPcSを順番にデコードして映像音声信号Savを生成してユーザの視聴に供する。
【0027】
図35に、トランスポートストリームデコーダTDAcによって、図7に示したパケット構成を有する単一のトランスポートストリームTSに含まれる3つの番組から1つの番組の番組コンテンツパケットデータPc(番組映像コンテンツパケットデータPcVおよび番組音声コンテンツパケットデータPcS)と管理パケットデータPcA(PAT、PMT)のみが抽出されて構成される選択単一番組パケットデータ列Pesの一例を示す。本例においては、番組1を構成する番組コンテンツパケットデータPc101_1、Pc111_1、Pc101_2、Pc111_2、・・・、およびそれらを示す番組コンテンツ管理表PATと番組コンテンツパケットデータ管理表PMT1のみが抽出されて抽出パケットデータ列Pseとして、プログラムパケットフィルタPCFからメインメモリ制御器700Cに出力される。
【0028】
なお、指定番組以外の番組2および番組3を示す番組コンテンツパケットデータ管理表PMT2およびPMT3が抽出されることもある。このように、入力されるトランスポートストリームTSに連続的に配列されたパケットデータPから所定の番組に対応するパケットデータPのみが離散的に抽出される。
【0029】
図36に、メインメモリ900Cにおける選択単一番組パケットデータ列Pesに含まれる番組コンテンツパケットデータPcのそれぞれの蓄積状態の一例を示す。メインメモリ900Cは、番組映像コンテンツパケットデータPcVである番組コンテンツパケットデータPc101_1、Pc101_2、Pc101_3、Pc101_4、・・・を格納する映像パケット格納領域A(video)と、番組音声コンテンツパケットデータPcSである番組コンテンツパケットデータPc111_1、Pc111_2、Pc111_3、Pc111_4、・・・を格納する音声パケット格納領域A(audio)とを有する。さらに、管理パケットデータPcAの構成要素である番組コンテンツ管理表PATの情報を格納するPAT格納領域A(PAT)、番組コンテンツパケットデータ管理表PMTの情報を格納するPMT格納領域A(PMTα)を有する。具体的に言えば、番組1の番組コンテンツパケットデータ管理表PMT1は番組コンテンツパケットデータ管理表PMT格納領域A(PMT1)に格納される。
【0030】
番組映像コンテンツパケットデータPcVである番組コンテンツパケットデータPc101_1、Pc101_2、Pc101_3、Pc101_4、・・・が、映像パケット格納領域A(video)内に互いに隙間無く格納されることによって、単一番組映像コンテンツパケットデータ列PssVが形成される。同様に、番組音声コンテンツパケットデータPcSである番組コンテンツパケットデータPc111_1、Pc111_2、Pc111_3、Pc111_4、・・・が音声パケット格納領域A(audio)内に互いに隙間無く格納されることによって、単一番組音声コンテンツパケットデータ列PssSが形成される。
【0031】
このように、メインメモリ900C内に構成された単一番組映像コンテンツパケットデータ列PssVおよび単一番組音声コンテンツパケットデータ列PssSが、メインメモリ制御器700Cによって、図37に例示するような単一番組パケットデータ列Pssとして読み出されて、AVデコーダ2000Cに出力される。
【0032】
【発明が解決しようとする課題】
上記のごとく構成された従来のトランスポートストリームデコーダは、入力されるトランスポートストリームが単一の場合に、当該トランスポートストリームから同時に単一の番組のみを再生してユーザに提示する用途に対しては十分である。なぜならば、AVデコーダは、入力されてくる単一の番組を構成する単一番組パケットデータ列Pssに含まれるパケットデータPを入力されてくる順番にデコードすれば良いからである。しかしながら、上述のトランスポートストリームデコーダでは、以下に大別される3種類の番組の再生形態において、再生した番組を同時にユーザに提示するか否かに関わらず対応できない。
【0033】
(再生形態1)
単一のトランスポートストリームのみの入力を許す、つまりストリーム入力器が1つだけ用意される場合であって、当該トランスポートストリームから同時に複数の番組を再生する場合。
【0034】
(再生形態2)
複数のトランスポートストリームの入力を許す、つまり複数のストリーム入力器が用意される場合。本生成形態においては、同時に入力されるトランスポートストリームが複数か単数かに関わらず、以下に分類する6種類の再生形態に細分される。
再生形態2−1:複数のトランスポートストリームのそれぞれから単一の番組のみを再生する場合。
再生形態2−2:複数のトランスポートストリームのそれぞれから同時に複数の番組を再生する場合。
再生形態2−3:複数のトランスポートストリームの特定の1つから単一の番組のみを再生する場合。
再生形態2−4:複数のトランスポートストリームの特定の1つから同時に複数の番組を再生する場合。
再生形態2−5:複数のトランスポートストリームの特定の幾つかから同時に複数の番組を再生する場合。
再生形態2−6:複数のトランスポートストリームの特定の幾つかから単一の番組のみを再生する場合。
【0035】
(再生形態3)
トランスポートストリームから抽出された選択単一番組パケットデータ列Pesに含まれるパケットデータP(Pc、PAT、PMT)の単位でのデータ処理を必要とする場合。この場合のデータ処理とは、番組コンテンツパケットデータPc、番組コンテンツ管理表PAT、或いは番組コンテンツパケットデータ管理表PMTそのものを加工したり、パケットデータP毎に個別に所定の処理を施す場合などが含まれる。
以下に、上述の各再生形態毎に従来のトランスポートストリームデコーダが適用できない理由について具体的に述べる。
【0036】
再生形態1においては、単一のトランスポートストリームTSから同時に再生される複数の番組の内、ユーザの所望する特定の番組をユーザの所望する方法で提示する必要がある。この場合、少なくとも、選択単一番組パケットデータ列Pes或いは単一番組パケットデータ列Pssに混在する番組コンテンツパケットデータPcのそれぞれと対応する番組との関係が識別且つ管理されて、その識別管理結果が情報として利用できるように準備されていなければならない。
【0037】
従来のトランスポートストリームデコーダにおいても、複数の番組の番組コンテンツパケットデータ管理表PMTを抽出することは上述のように可能であるので、単一のトランスポートストリームTSにどのような番組の番組コンテンツパケットデータPcが含まれているかを知ることはできる。しかしながら、プログラムパケットフィルタPCFに入力される複数の番組コンテンツパケットデータPcを特定の1つの番組を構成する番組コンテンツパケットデータPcのパケット識別子PIDという項目だけで単純にフィルタリングして出力しているので、当該特定の番組以外の番組にそれぞれに対応する番組コンテンツパケットデータPcは選択単一番組パケットデータ列Pes内には存在しない。当然、番組コンテンツパケットデータPcのそれぞれと対応する番組と識別管理結果の情報は獲得されない。
【0038】
再生形態2においては、複数のトランスポートストリームTSが同時に入力され得る。つまり、複数のストリーム入力器のそれぞれには、種類、方式、或いはサプライヤの異なるδ種類(δは2以上の正の整数)のトランスポートストリームTS_1〜TS_δが供給される可能性がある。このような状態において、複数のトランスポートストリームTS_1〜TSδのそれぞれから単一の番組のみを再生する再生形態2−1、複数のトランスポートストリームTS_1〜TS_δの特定の1つから単一の番組のみを再生する再生形態2−3、および複数のトランスポートストリームTS_1〜TS_δの特定の幾つかから単一の番組のみを再生する再生形態2−6のいずれにおいても、再生される番組が属するトランスポートストリームTSの区別と、選択単一番組パケットデータ列Pes或いは単一番組パケットデータ列Pssにおける番組コンテンツパケットデータPcとトランスポートストリームTSとの関係の識別が必要である。しかし、従来のトランスポートストリームデコーダにそのような区別や識別ができないことは上述の通りである。
【0039】
また、複数のトランスポートストリームTS_1〜TS_δのそれぞれから同時に複数の番組を再生する再生形態2−2、複数のトランスポートストリームTS_1〜TS_δの特定の1つから同時に複数の番組を再生する再生形態2−4、および複数のトランスポートストリームTS_1〜TS_δの特定の幾つかから同時に複数の番組を再生する再生形態2−5のいずれにおいても、再生された複数の番組の内ユーザの所望する番組を提示するためには、トランスポートストリームTS_1〜TS_δおよび番組に関して選択単一番組パケットデータ列Pesに含まれる全パケットデータP間の関係および識別情報が必要である。しかしながら、従来のトランスポートストリームデコーダにそのような識別ができないことは上述の通りである。
【0040】
再生形態3に関しては、トランスポートストリームTSに含まれる番組に対応するパケットデータP(Pc、PAT、PMT)の個々に、ユーザの要求に応じた異なる処理を施す場合がある。例えば、ある番組はユーザに提示するために対応する番組コンテンツパケットデータPcを単純に順番に出力して、AVデコーダ2000Cにデコードさせてモニターに出力させる。別の番組は、外部の記憶装置に記憶させるために、その記憶装置および周辺機器の伝送条件に従って、対応する番組コンテンツパケットデータPcを含む新たなトランスポートストリームTSr(図示せず)を構成して出力する。この場合、要求される伝送条件に従って、番組コンテンツパケットデータPcを管理して新たなトランスポートストリームTSrを生成するためには、上述の識別管理情報が必要である。さらに、必要に応じて、パケットデータPそのものに加工を施す場合にも、対象となるパケットデータPを特定し、加工後のパケットデータPを正しく取り扱うために上述の識別管理情報が必要である。しかし、従来のトランスポートストリームデコーダにそのような識別ができないことは上述の通りである。
【0041】
上述のように、従来のトランスポートストリームデコーダは単一のトランスポートストリームから単一の番組を再生する用途には適している。しかしながら、単一のトランスポートストリームに含まれる複数の番組の番組コンテンツパケットデータPcを番組毎に識別できない。
複数のトランスポートストリーム間が入力される際には、番組毎に番組コンテンツパケットデータPcを識別できないことに加えて、さらにトランスポートストリームの区別、トランスポートストリームと再生する番組の番組コンテンツパケットデータの関係を認識できない。
このように、従来のトランスポートストリームデコーダにおいては、入力されるトランスポートストリームが単一或いは複数の別に限らず、複数の番組を再生する用途には使用できない。複数のトランスポートストリームが入力される場合には、単一の番組を再生する用途にも使用できない。
【0042】
さらに、上述のいずれの再生形態においても、単一および複数の別に限らず、入力されるトランスポートストリームTSから再生される複数の番組のそれぞれのコンテンツに応じた処理を施すためには、パケットフィルタ毎に個々の処理を施す装置に対応するインターフェースを設ける必要がある。そのため、装置の規模の巨大化、構造の複雑化、処理負荷の増大、仕様或いは要求処理の変更に対応不可、しいてはコストの増大という諸問題を招く。
本発明は上記の問題に鑑み、入力されてくるトランスポートストリームを構成するパケットデータの個々を所定の処理対象であるかをリアルタイムに識別して、対応する場合には当該所定の処理対象であることを示すパケットデータ処理決定装置を提供することを目的とする。
【0043】
【課題を解決するための手段および発明の効果】
第1の発明は、それぞれに識別情報が付与された連続する複数のパケットデータによって構成されるトランスポートストリームが複数入力されたとき、トランスポートストリームに対して所定の処理を施すトランスポートストリーム処理装置に用いられ、トランスポートストリーム処理装置での処理単位がパケットデータ単位となるように、入力された複数のトランスポートストリームのそれぞれを構成する各パケットデータが予め規定された処理の対象になっているか否かを個別に決定するためのパケットデータ処理決定装置であって、
複数のトランスポートストリームを構成する全てのパケットデータのそれぞれを一義的に識別する管理情報を生成して、パケットデータのそれぞれに付与するパケットデータ管理情報生成手段と、
処理の対象となるパケットデータを識別するための処理対象パケットデータ識別情報を入力する識別情報入力手段と、
管理情報が付与されたパケットデータのそれぞれを、入力されてくる順番に所定時間だけ保持するパケットデータ保持手段と、
パケットデータ保持手段に保持されているパケットデータに付与されている管理情報か ら、当該パケットデータ保持手手段に保持されているパケットデータを表すバッファパケット識別情報を生成保持パケットデータ識別手段と、
生成されたパケットバッファ識別情報を処理対象パケットデータ識別情報と比較して、保持されているパケットデータが予め規定された処理の対象であるか否かを示す処理対象判断信号を生成すると共に、識別情報と管理情報とに基づいて、異なるトランスポートストリームを構成する同一の識別情報を有する複数のパケットデータのそれぞれが予め規定された処理の対象であるか否かを個別に決定する処理対象パケットデータ選定手段とを備え、
生成されたパケットバッファ識別情報を処理対象パケットデータ識別情報と比較して、保持されているパケットデータが予め規定された処理の対象であるか否かを示す処理対象判断信号を生成すると共に、識別情報と管理情報とに基づいて、異なるトランスポートストリームを構成する同一の識別情報を有する複数のパケットデータのそれぞれが予め規定された処理の対象であるか否かを個別に決定する処理対象パケットデータ選定手段とを備え、
理対象判断信号が保持されているパケットデータが予め規定された処理の対象でないことを示す場合は、パケットデータ保持手段は他のパケットデータの格納のために解放されることを特徴とする。
【0044】
上記のように、第1の発明では、逐次入力される複数のトランスポートストリームのパケットデータの個々を一次的に格納して、その格納されたパケットデータが予め規定された処理のどれの対象であるかを識別することによって、パケットデータ単位での予め規定された処理の適応を可能にすると共に、パケットデータ保持手段が逐次入力される複数のトランスポートストリームのパケットデータの格納に必要とされるパケットデータ保持手段の容量を最小限にすることができる。
【0045】
第2の発明は、第1の発明において、トランスポートストリーム処理装置による、パケットデータ保持手段に保存されたパケットデータ対して実行される規定された処理の完了を検出する規定処理実行完了検出手段をさらに備え、処理完了の検出後に、パケットデータ保持手段は他のパケットデータの格納のために解放されることを特徴とする。
【0046】
上記のように、第2の発明では、パケットデータ保持手段がパケットデータの格納のために使用される時間を必要最小限に留めることができ、結果として逐次入力される複数のトランスポートストリームのパケットデータの格納に必要とされるパケットデータ保持手段の容量を最小限にすることができる。
【0047】
第3の発明は、第2の発明において、パケットデータ保持手段は、
連続するパケットデータを個別に格納する複数のバッファセルと、
連続するパケットデータの1つを格納するために、複数のバッファセルのいずれか1つを割り当てるバッファセル割当手段と、
バッファセル割当手段によって割り当てられたバッファセルを、他のパケットデータの格納に備えて、解放するバッファセル解放手段と、
複数のバッファセルのそれぞれの割当状態を示すバッファセル割当情報を記憶するバッファセル割当情報記憶手段とを備え、パケットデータ割当手段は、バッファセル割当情報に基づいて、次に入力されるパケットデータの格納のために、複数のバッファセルのいずれを割り当てるかを決定することを特徴とする。
【0048】
上記のように、第3の発明では、パケットデータ保持手段を構成するパケットデータ単で格納できるバッファセルの容量および個数を適正に設定することで、必要とされる容量を有するパケットデータ保持手段を容易に実現できる。
【0049】
第4の発明は、第3の発明において、複数のバッファセルの中で、パケットデータを格納中のバッファセルを示す格納中バッファセルポインタと、
複数のバッファセルの中で、保持パケットデータ識別手段が識別情報を読み出すべきパケットデータが保存されているバッファセルを示す対象バッファセルポインタとを備え、バッファセル割当手段、格納中バッファセルポインタおよびアクセス対象バッファセルポインタのいずれかが示すバッファセルをパケットデータ格納に割り当てないことを特徴とする。
【0050】
上記のように、第4の発明では、バッファセルの使用状態を示す2種類のポインタによって、バッファセルを効率的に使用できる。
【0051】
第5の発明は、第4の発明において、格納中バッファセルポインタおよびアクセス対象バッファセルポインタに基づいて、保持パケットデータ識別手段のバッファセルに対するアクセスを制限する第1のアクセス制限手段をさらに備える。
【0052】
第6の発明は、第5の発明において、第1のアクセス制限手段は、格納中バッファセルポインタがアクセス対象バッファセルポインタが示すのと同じバッファセルを示す間はバッファセルに対する保持パケットデータ識別手段のアクセスを禁止することを特徴とする。
【0053】
第7の発明は、第5の発明において、第1のアクセス制限手段は、データ格納中バッファセルポインタがアクセス対象バッファセルポインタが示すのと異なるバッファセルを示す間はアクセス対象バッファセルポインタの示すバッファセルに対する保持パケットデータ識別手段のアクセスを許可することを特徴とする。
【0054】
上記のように、第5、第6、および第7の発明では、パケットデータが完全に格納された後に、識別情報の読み出しを禁止することによって、パケットデータの不完全な完全に起因するパケットデータの誤識別を防止できる。
【0055】
第8の発明は、第5の発明において、入力されるトランスポートストリームに含まれるデータエラーを検出してエラー検出信号を生成するデータエラー検出手段と、
エラー検出信号に基づいて、データエラーを含むパケットデータが格納されているバッファセルを示すエラーフラグ手段と、
エラーフラグ手段に基づいて、保持パケットデータ識別手段のバッファセルに対するアクセスを制限する第2のアクセス制限手段をさらに備える。
【0056】
第9の発明は、第8の発明において、データ格納中バッファセルポインタがアクセス対象バッファセルポインタの示すのと異なるバッファセルを示す間でもあっても、アクセス対象バッファセルポインタの示すバッファセルがエラーフラグ手段によっても示される場合、バッファセルに対する保持パケットデータ識別手段のアクセスを禁止すると共に、バッファセル解放手段はバッファセルを解放することを特徴とする。
【0057】
上記のように、第8および第9の発明は、データエラーを含むパケットデータを格納したバッファセルに対する処理を制限することによって、処理の破綻の防止および処理の効率化を確保できる。
【0058】
第10の発明は、第4の発明において、処理対象判断信号がバッファセルに保持されているパケットデータは規定された処理の対象でないことを示す場合には、バッファセル解放手段はバッファセルを解放する共に、アクセス対象バッファセルポインタは解放されたバッファセルとは別のバッファセルを示すことを特徴とする。
【0059】
第11の発明は、第4の発明において、規定処理実行完了検出手段による、バッファセルに保持されているパケットデータに対して実行されたトランスポートストリーム処理装置による規定された処理の完了の検出後に、バッファセル解放手段はバッファセルを解放する共に、アクセス対象バッファセルポインタは解放されたバッファセルとは別のバッファセルを示すことを特徴とする。
【0060】
上記のように、第10および第11の発明は、バッファセルがパケットデータの格納のために使用される時間を必要最小限に留めることができ、結果として逐次入力されるトランスポートストリームのパケットデータの格納に必要とされるバッファセルの数量を最小限にすることができる。
【0061】
第12の発明は、第4の発明において、複数のバッファセルはそれぞれに固有のバッファセル識別情報が付与されており、
バッファセル割当情報記憶手段は、バッファセル識別情報のそれぞれに対応づけられた第1および第2の値からなる二値情報を格納するバッファセル割当情報領域を備え、
バッファセル割当手段は、
バッファセル割当情報領域に第1の値を書き込むことによって、対応するバッファセルを割り当て、
第2の値を書き込むことによって、対応するバッファセルを解放することを特徴とする。
【0062】
第13の発明は、第1の発明において、トランスポートストリームの複数のパケットデータは、ITU−T勧告H.220.0に基づき、それぞれが属するパケットデータグループに固有の識別情報が付与されており、
処理対象パケットデータ識別情報は、パケットデータグループにそれぞれの識別情報を示すことを特徴とする。
【0063】
第14の発明は、第1の発明において、管理情報は、入力されるトランスポートストリーム毎に割り当てられるストリーム識別情報であることを特徴とする。
【0064】
第15の発明は、第1の発明において、管理情報は、さらに、パケットデータが入力された時刻を示すタイムスタンプを含むことを特徴とする。
【0065】
上記のように、第14、および第15の発明は、入力される複数のトランスポートストリームのそれぞれのパケットデータを正しく識別できる。
【0066】
第16の発明は、それぞれに識別情報が付与された連続する複数のパケットデータによって構成されるトランスポートストリームが複数入力されたとき、トランスポートストリームに対して所定の処理を施すトランスポートストリーム処理装置に用いられ、トランスポートストリーム処理装置での処理単位がパケットデータ単位となるように、入力されたトランスポートストリームのそれぞれを構成する各パケットデータが予め規定された処理の対象になっているか否かを個別に決定するためのパケットデータ処理決定方法であって、
複数のトランスポートストリームを構成する全てのパケットデータのそれぞれを一義的に識別する管理情報を生成して、パケットデータのそれぞれに付与するパケットデータ管理情報生成ステップと、
処理の対象となるパケットデータを識別するための処理対象パケットデータ識別情報を入力する識別情報入力ステップと、
パケットデータのそれぞれを、入力されてくる順番に所定時間だけ保持するパケットデータ保持手段に保持させるパケットデータ保持ステップと、
保持されているパケットデータに付与されている識別情報を読み出す保持パケットデータ識別ステップと、
読み出された識別情報を処理対象パケットデータ識別情報と比較して、保持されているパケットデータが予め規定された処理の対象であるか否かを示す処理対象判断信号を生成すると共に、識別情報と管理情報とに基づいて、異なるトランスポートストリームを構成する同一の識別情報を有する複数のパケットデータのそれぞれが予め規定された処理の対象であるか否かを決定する処理対象パケット決定ステップと、
処理対象判断信号が保持されているパケットデータが予め規定された処理の対象でないことを示す場合は、パケットデータを保持しているパケットデータ保持手段を解放する第1のパケットデータ保持手段解放ステップとを備える。
【0067】
上記のように、第16の発明では、逐次入力されるトランスポートストリームのパケットデータの個々を一次的に格納して、その格納されたパケットデータが予め規定された処理のどれの対象であるかを識別することによって、パケットデータ単位での予め規定された処理の適応を可能にすると共に、パケットデータ保持手段が逐次入力される複数のトランスポートストリームのパケットデータの格納に必要とされるパケットデータ保持手段の容量を最小限にすることができる。
【0068】
第17の発明は、第16の発明において、トランスポートストリーム処理装置による、パケットデータ保持手段に保存されたパケットデータ対して実行される規定された処理の完了を検出する規定処理実行完了検出ステップと、
規定処理完了の検出後に、パケットデータ保持手段を他のパケットデータの格納のために解放する第2のパケットデータ保持手段解放ステップをさらに備える。
【0069】
上記のように、第16および第17の発明では、パケットデータ保持手段がパケットデータの格納のために使用される時間を必要最小限に留めることができ、結果として逐次入力されるトランスポートストリームのパケットデータの格納に必要とされるパケットデータ保持手段の容量を最小限にすることができる。
【0070】
第18の発明は、第17の発明において、パケットデータ保持手段は、連続するパケットデータを個別に格納する複数のバッファセルを備え、
複数のバッファセルのそれぞれの割当状態を示すバッファセル割当情報を記憶するバッファセル割当情報記憶ステップと、
バッファセル割当情報に基づいて、次に入力されるパケットデータの格納のために、複数のバッファセルのいずれを割り当てるかを決定するパケットデータ割当ステップと、
バッファセルを、他のパケットデータの格納に備えて、解放するバッファセル解放ステップとを備える。
【0071】
上記のように、第18の発明では、パケットデータ保持手段を構成するパケットデータ単で格納できるバッファセルの容量および個数を適正に設定することで、必要とされる容量を有するパケットデータ保持手段を容易に実現できる。
【0072】
第19の発明は、第18の発明において、複数のバッファセルの中で、パケットデータを格納中のバッファセルを示す格納中バッファセルポインタと、
複数のバッファセルの中で、保持パケットデータ識別ステップにおいて、識別情報が読み出されるべきパケットデータが保存されているバッファセルを示す対象バッファセルポインタとを備え、バッファセル割当ステップは格納中バッファセルポインタおよびアクセス対象バッファセルポインタのいずれかが示すバッファセルをパケットデータ格納に割り当てないことを特徴とする。
【0073】
上記のように、第19の発明では、バッファセルの使用状態を示す2種類のポインタによって、バッファセルを効率的に使用できる。
【0074】
第20の発明は、第19の発明において、格納中バッファセルポインタおよびアクセス対象バッファセルポインタに基づいて、保持パケットデータ識別ステップの実行を制限する第1のアクセス制限ステップをさらに備える。
【0075】
第21の発明は、第20の発明において、第1のアクセス制限ステップは、格納中バッファセルポインタがアクセス対象バッファセルポインタの示すのと同じバッファセルを示す間は保持パケットデータ識別ステップの実行を禁止することを特徴とする。
【0076】
第22の発明は、第21の発明において、第1のアクセス制限ステップは、データ格納中バッファセルポインタがアクセス対象バッファセルポインタが示すのと異なるバッファセルを示す間は保持パケットデータ識別ステップの実行を許可することを特徴とする。
【0077】
上記のように、第20、第21、および第22の発明では、パケットデータが完全に格納された後に、識別情報の読み出しを禁止することによって、パケットデータの不完全な完全に起因するパケットデータの誤識別を防止できる。
【0078】
第23の発明は、第19の発明において、処理対象判断信号がバッファセルに保持されているパケットデータは規定された処理の対象でないことを示す場合には、アクセス対象バッファセルポインタに解放されたバッファセルとは別のバッファセルを示させる第1のアクセス対象バッファセルポインタ制御ステップをさらに備える。
【0079】
第24の発明は、第19の発明において、規定処理実行完了検出ステップにおける規定された処理の完了の検出後、且つバッファセル解放ステップにおけるバッファセルの解放の後に、アクセス対象バッファセルポインタに解放されたバッファセルとは別のバッファセルを示させる第2のアクセス対象バッファセルポインタ制御ステップをさらに備える。
【0080】
上記のように、第23および第24の発明は、バッファセルがパケットデータの格納のために使用される時間を必要最小限に留めることができ、結果として逐次入力されるトランスポートストリームのパケットデータの格納に必要とされるバッファセルの数量を最小限にすることができる。
【0081】
第25の発明は、第19の発明において、複数のバッファセルはそれぞれに固有のバッファセル識別情報が付与されており、
バッファセル識別情報のそれぞれに対応づけられた第1および第2の値からなる二値情報を記憶するバッファセル割当情報記憶ステップをさらに備え、第1の値が記憶されている場合は対応するバッファセルが割り当てられ、第2の値が記憶されている場合は対応するバッファセルが解放されることを特徴とする。
【0082】
第26の発明は、第16の発明において、入力されるトランスポートストリームに含まれるデータエラーを検出してエラー検出信号を生成するデータエラー検出ステップと、
エラー検出信号に基づいて、データエラーを含むパケットデータが格納されているバッファセルを示すデータエラーバッファセル表示ステップと、
データエラーバッファセル表示ステップで表示されたバッファセルに対する、保持パケットデータ識別ステップの実行を制限する第2のアクセス制限ステップとをさらに備える。
【0083】
上記のように、第26の発明は、データエラーを含むパケットデータを格納したバッファセルに対する処理を制限することによって、処理の破綻の防止および処理の効率化を確保できる。
【0084】
【発明の実施の形態】
(第1の実施形態)
以下に、図1、図2、図3、図4、図5、図7、図8、図9、図10、図11、図12、図13、および図14を参照して、本発明の第1の実施形態にかかる本発明にかかるパケットデータ識別装置について説明する。なお、本発明にかかるパケットデータ識別装置は、本実施形態においては単一のトランスポートストリームTSに含まれる複数の番組のコンテンツデータを選択的に抽出するトランスポートストリームデコーダに用いられるデータバッファリング装置として構成される。
【0085】
先ず、図10、図11、図13、および図14を参照して、本実施形態にかかるパケットデータ処理決定器を組み込んだトランスポートストリームデコーダの基本的概念について述べる。
図10に、本実施形態におけるのと同様に単一のトランスポートストリームTSから複数の番組を抽出する用途に適応させるべく提案する、図34に示した従来のトランスポートストリームデコーダTDAcの第1の改良例を示す。第1の改良であるトランスポートストリームデコーダTDAA1は、基本的に図34に示したトランスポートストリームデコーダTDAcにおけるプログラムパケットフィルタPCFが拡張プログラムパケットフィルタEPCFに置き換えられて構成される。
【0086】
拡張プログラムパケットフィルタEPCFについて説明する前に、先ず、図11、図13、図14、および前述の図7を参照して、トランスポートストリームデコーダTDAA1の動作について述べる。トランスポートストリームデコーダTDAA1は、図7を参照して説明したデータ構成を有する単一のトランスポートストリームTSに含まれる複数の番組の番組コンテンツパケットデータPcの内、特定の複数の番組を構成する番組コンテンツパケットデータPcを選択的に抽出して複数番組パケットデータ列Pmsとして、AVデコーダ2000Cに出力する。
【0087】
図11に、トランスポートストリームデコーダTDAA1によって、図7に示したパケット構成を有する単一のトランスポートストリームTSに含まれる3つの番組から2つの番組の番組コンテンツパケットデータPc(番組映像コンテンツパケットデータPcVおよび番組音声コンテンツパケットデータPcS)と管理パケットデータPcA(PAT、PMT)のみが抽出されて構成される選択複数番組パケットデータ列Pemの一例を示す。
【0088】
本例においては、番組1を構成する番組コンテンツパケットデータPc101_1、Pc111_1、Pc101_2、Pc111_2、・・・、番組2を構成する番組コンテンツパケットデータPc201_1、Pc211_1、Pc201_2、Pc211_2、・・・、およびそれらを示す番組コンテンツ管理表PATと番組コンテンツパケットデータ管理表PMT1とPMT2のみが抽出されて選択複数番組パケットデータ列Pemとして、拡張プログラムパケットフィルタEPCFからメインメモリ制御器700Cに出力される。
【0089】
なお、指定番組以外の番組3を示す番組コンテンツパケットデータ管理表PMT3が抽出されることもある。このように、入力されるトランスポートストリームTSに連続的に配列されたパケットデータPから所定の複数の番組に対応するパケットデータPのみが離散的に抽出されると共に、トランスポートストリームデコーダTDAA2に到着した順番
に出力される。
【0090】
図13に、外部に設けられたフロントエンド部を介してトランスポートストリームデコーダTDAA1に入力されたトランスポートストリームTSから抽出された混合選択複数番組パケットデータ列Pemsに含まれるパケットデータPのそれぞれのメインメモリ900Cおける蓄積状態の一例を示す。なお、同図において、ストリーム入力器500C、拡張プログラムパケットフィルタEPCF、メインメモリ制御器700C、およびTD制御器1000Cは、トランスポートストリーム編集部TDAA1rと表示されている。
【0091】
メインメモリ900Cにおける混合選択複数番組パケットデータ列Pemsに含まれる番組コンテンツパケットデータPcのそれぞれの蓄積状態の一例を示す。メインメモリ900Cの映像パケット格納領域A(video)には、番組1および番組2の番組映像コンテンツパケットデータPcVである番組コンテンツパケットデータPc101_1、Pc201_1、Pc101_2、Pc201_2、・・・が格納され、音声パケット格納領域A(audio)には番組1および番組2の番組音声コンテンツパケットデータPcSである番組コンテンツパケットデータPc111_1、Pc211_1、Pc111_2、Pc211_2、・・・が格納される。
【0092】
さらに、PAT格納領域A(PAT)には、管理パケットデータPcAの構成要素である番組コンテンツ管理表PATの情報が格納され、PMT格納領域A(PMTα)には番組コンテンツパケットデータ管理表PMT1およびPMT2の情報が格納される。具体的に言えば、番組1の番組コンテンツパケットデータ管理表PMT1は番組コンテンツパケットデータ管理表PMT格納領域A(PMT1)に格納され、番組2の番組コンテンツパケットデータ管理表PMT2は番組コンテンツパケットデータ管理表PMT格納領域A(PMT2)に格納される。
【0093】
番組1および番組2の番組映像コンテンツパケットデータPcVである番組コンテンツパケットデータPc101_1、Pc201_1、Pc101_2、Pc201_2、・・・が、映像パケット格納領域A(video)内に互いに隙間無く格納されることによって、複数番組映像コンテンツパケットデータ列PmsVが形成される。同様に、番組1および番組2の番組音声コンテンツパケットデータPcSである番組コンテンツパケットデータPc111_1、Pc211_1、Pc111_2、Pc211_2、・・・が音声パケット格納領域A(audio)内に互いに隙間無く格納されることによって、複数番組音声コンテンツパケットデータ列PmsSが形成される。
【0094】
このように、メインメモリ900C内に構成された複数番組映像コンテンツパケットデータ列PmsVおよび複数番組音声コンテンツパケットデータ列PmsSが、メインメモリ制御器700Cによって、図14に例示するような複数番組パケットデータ列Pmsとして読み出されて、AVデコーダ2000Cに出力される。なお、番組コンテンツパケットデータ管理表PMT格納領域A(PMT)は、トランスポートストリームTSに含まれている番組コンテンツパケットデータ管理表PMT(番組)の種類だけ用意されることは上述の通りである。
【0095】
図10に示すように、拡張プログラムパケットフィルタEPCFはストリーム入力器500Cから転送単位TSd毎に転送されてくる入力される全パケットデータPのそれぞれに付与されているパケット識別子PIDに基づいて、管理パケットデータPcAのみを選択的に出力する管理パケットフィルタPCF_0と、番組1の番組コンテンツパケットデータPcのみを選択的に抽出する第1プログラムパケットフィルタPCF_1と、番組2の番組コンテンツパケットデータPcのみを選択的に抽出する第2プログラムパケットフィルタPCF_2とを含む。
【0096】
管理パケットフィルタPCF_0は図34に示した管理パケットフィルタ1100_00で構成される。さらに、第1プログラムパケットフィルタPCF_1は、入力されるトランスポートストリームTSに含まれる全番組コンテンツパケットデータPcから、番組1の番組映像コンテンツパケットデータPcVのみを抽出して第1番組映像コンテンツパケットデータPcV_1として出力する第1映像パケットフィルタ1100_11と、番組1の番組音声コンテンツパケットデータPcSのみを抽出して、第1番組音声コンテンツパケットデータPcS_1として出力する第1音声パケットフィルタ1100_12を有する。なお、第1映像パケットフィルタ1100_11および第1音声パケットフィルタ1100_12はそれぞれに設定されるフィルタ値を除いては、図34に示したプログラムパケットフィルタPCFを構成する映像パケットフィルタ1100_01および音声パケットフィルタ1100_02と基本的に同一の構成を有する。
【0097】
同様に、第2プログラムパケットフィルタPCF_2も、入力されるトランスポートストリームTSに含まれる全番組コンテンツパケットデータPcから、番組2の番組映像コンテンツパケットデータPcVのみを抽出して第2番組映像コンテンツパケットデータPcV_2として出力する第2映像パケットフィルタ1100_21と、番組2の番組音声コンテンツパケットデータPcSのみを抽出して、第2番組音声コンテンツパケットデータPcS_2として出力する第2音声パケットフィルタ1100_22を有する。なお、第2映像パケットフィルタ1100_21および第2音声パケットフィルタ1100_22も、設定されるフィルタ値を除けば、基本的には映像パケットフィルタ1100_01および音声パケットフィルタ1100_02と同一に構成される。
【0098】
つまり、本例における拡張プログラムパケットフィルタEPCFは、図34に示したプログラムパケットフィルタPCFに、さらに番組2の番組映像コンテンツパケットデータPcVおよび番組音声コンテンツパケットデータPcSを抽出するための映像パケットフィルタ1100_01および音声パケットフィルタ1100_02を追加した構成である。
【0099】
この意味において、拡張プログラムパケットフィルタEPCFは、最大で単一のトランスポートストリームTSに含まれる番組の数αに応じたプログラムパケットフィルタPCF_1〜PCF_αと、単一のトランスポートストリームTSに含まれる番組コンテンツパケットデータPcの関係を示す管理パケットデータPcAを抽出する管理パケットフィルタPCF_0の1つとで構成される。さらに、プログラムパケットフィルタPCF_1〜PCF_αのそれぞれは、最大で、γ個のパケットフィルタ1000_α’1〜1000_α’γ(α’は1以上、且つα以下の自然数)を有する。
【0100】
上述のように、プログラムパケットフィルタPCFに含まれる管理パケットデータPcAの抽出用、管理パケットデータPcAの抽出用、および番組音声コンテンツパケットデータPcSの抽出用の3種類のパケットフィルタのそれぞれを識別する必要のある場合には、それぞれ管理パケットフィルタ1100_00、映像パケットフィルタ1100_1γ’(γ’は1以上、且つγ以下の自然数)および音声パケットフィルタ1100_2γ’と表し、識別する必要の無い場合或いはそれらを総称する場合には単にパケットフィルタ1100_α’γ’と表する。
【0101】
トランスポートストリームTSに含まれるα種類の番組を構成する番組コンテンツパケットデータPcの内、管理パケットデータPcA(PAT、PMT1、PMT2、PMT3)、番組1を構成する第1番組映像コンテンツパケットデータPcV_1(Pc101_1、Pc101_2、・・・)および管理パケットデータPcA1(Pc111_1、Pc111_2、・・・)は、それぞれトランスポートストリームデコーダTDAA1に到着した順番に第1映像パケットフィルタ1100_11および第1音声パケットフィルタ1100_12によって抽出される。
【0102】
同様に、番組2を構成する第2番組映像コンテンツパケットデータPcV_2(Pc201_1、Pc201_2、・・・)および管理パケットデータPcA2(Pc211_1、Pc211_2、・・・)は、それぞれトランスポートストリームデコーダTDAA1に到着した順番に第2映像パケットフィルタ1100_21および第2音声パケットフィルタ1100_22によって抽出される。
そして、抽出された番組コンテンツ管理表PAT、番組コンテンツパケットデータ管理表PMT1、PMT2、およびPMT3と、番組コンテンツパケットデータPc101_1、Pc111_1、Pc201_1、Pc211_2、Pc101_2、Pc111_2、Pc201_1、Pc211_2、・・・は、トランスポートストリームデコーダTDAA1に到着した順番に、選択複数番組パケットデータ列Pemとしてメインメモリ制御器700Cに出力される。
【0103】
メインメモリ制御器700Cは、プログラムパケットフィルタPCFから入力される選択複数番組パケットデータ列Pemを転送単位TSd毎に一時的に保持すると共にメインメモリ900Cを制御して、メインメモリ900Cのそれぞれ異なる所定の領域に、管理パケットデータPcA、複数番組映像コンテンツパケットデータ列PmsV、および複数番組音声コンテンツパケットデータ列PmsSとしてメインメモリ900Cの所定の領域に格納させる。
【0104】
さらに、メインメモリ制御器700Cは、AVデコーダ2000Cに代表される外部機器からの要求に応じて、メインメモリ900Cから複数番組映像コンテンツパケットデータ列PmsVおよび複数番組音声コンテンツパケットデータ列PmsSを読み出して、複数番組パケットデータ列PmsとしてAVデコーダ2000Cに出力する。
【0105】
この場合、ユーザが番組1および番組2のいずれか一方に対して、所望の処理(例えばモニターでの表示)を要求する場合、これに応えるためにトランスポートストリームデコーダTDAA1は、少なくとも以下に列記する状況を識別すると共にその情報を生成して保持する必要がある。識別すべき状況とは、先ず、ストリーム入力器500Cから拡張プログラムパケットフィルタEPCFに入力される転送単位TSdと番組コンテンツパケットデータPcとの対応、およびパケット識別子PIDとの関係である。
【0106】
さらに、拡張プログラムパケットフィルタEPCFに含まれるプログラムパケットフィルタPCF_1〜PCF_αのそれぞれから出力された番組コンテンツパケットデータPcのパケット識別子PIDおよび順番である。そして、ユーザが所望の処理の内容と、その処理を実行するための種々の処理方法およびデバイス、そして処理方法のそれぞれに対応する番組およびパケットデータとの関係である。保持すべき情報とは、後行程における処理にて利用できるように、識別された状況を識別管理データとして表現することである。
【0107】
そして、特定の番組に対する処理要求がAVデコーダ2000C等の外部機器からあった場合には、前述の識別管理データに基づいてメインメモリ制御器700Cがメインメモリ900Cに格納された選択複数番組パケットデータ列Pemの内、対応する番組の番組コンテンツパケットデータPcをユーザに対する提示の順番に読み出す。このような処理を、拡張プログラムパケットフィルタEPCFの前後でのデータの流れを制御して行うことはできない。
また、再生する番組の数(α’)だけプログラムパケットフィルタPCFが必要であり、さらに識別するパケットデータPの種類だけパケットフィルタ1100が必要であり、識別されたパケットデータPに固有の処理を施すための処理手段が必要になる。結果、装置の無制限な巨大化且つ製造コストの増大を招く。
【0108】
そこで、本実施形態においては、逐次入力されてくるトランスポートストリームTSを構成する全パケットデータPを個々にバッファリングすると共に、個々にバッファリングされているパケットデータPを識別して、同パケットデータPがユーザの所望する処理対象であるかを判断して、同パケットデータPに対するアクセスおよび処理をリアルタイム制御する機能を備えたデータバッファリング装置を新たに考案する。
【0109】
さらに、リアルタイム処理時間内でのアクセス或いは加工時間を保証するために、対象パケットデータをバッファセル内に所定時間だけ確保することをソフトウェア制御で保証し、それ以外の受動的処理についてはハードウェア制御に任せる。結果、パケットデータP単位でのより柔軟な識別管理を可能にし、識別されたパケットデータPに対して固有の処理を施す後行程に対する処理タイミング調整も容易なパケットデータ処理決定器を提供するものである。
【0110】
図1に、本例にかかるデータバッファリング装置DBA1を組み込んだトランスポートストリームデコーダTD1を示す。トランスポートストリームデコーダTD1は、外部のトランスポートストリーム源(図示せず)からパケット単位で供給されるトランスポートストリームTSを受け取るストリーム入力器TSR、データバッファリング装置DBA1、メインメモリ制御器700、メインメモリ900、TD制御器TDC1、および副次処理要求入力器APRを含む。
【0111】
これら構成要素について説明する前に、先ず、図8、図12、図14、および前述の図7および図11を参照して、本実施形態におけるトランスポートストリームデコーダTD1の基本的概念について述べる。トランスポートストリームデコーダTD1には、既に図7を参照して説明した3つの異なる番組1、番組2、および番組3を提供するデータ構成を有するトランスポートストリームTSが1つだけ入力される。
【0112】
トランスポートストリームデコーダTD1においては、図11を参照して説明したように、入力される単一のトランスポートストリームTSから番組1および番組2の番組コンテンツパケットデータPcコンテンツのみが抽出されて、選択複数番組パケットデータ列Pemが生成される。そして、生成された選択複数番組パケットデータ列Pemをメインメモリ制御器700を経由してメインメモリ900に出力される。なお、トランスポートストリームTSから番組1および番組2の番組コンテンツパケットデータPcのみを抽出する考え方は、図11を参照して説明したのと基本的に同じである。しかしながら、本実施形態においては、拡張プログラムパケットフィルタEPCFを用いずにデータバッファリング装置DBA1によって行う点が異なるが、これに付いては後ほど図4、図5、および図6を参照して詳しく述べる。
【0113】
図8に、外部に設けられたフロントエンド部を介してトランスポートストリームデコーダTD1に入力されたトランスポートストリームTSから抽出された選択複数番組パケットデータ列Pemに含まれる番組コンテンツパケットデータPcのそれぞれのメインメモリ900における蓄積状態の一例を示す。なお、同図において、ストリーム入力器TSR、データバッファリング装置DBA1、メインメモリ制御器700、TD制御器TDC1、および副次処理要求入力器APRは、トランスポートストリーム編集部TD1rと表示されている。
【0114】
本実施形態におけるメインメモリ900は、図13に示したメインメモリ900Cと基本的に同様に構成されて、その映像パケット格納領域A(video)には番組1および
番組2の番組映像コンテンツパケットデータPcVである番組コンテンツパケットデータPc101_1、Pc201_1、Pc101_2、Pc201_2、・・・が互いに隙間無く格納されて複数番組映像コンテンツパケットデータ列PmsVが形成される。
【0115】
同様に、音声パケット格納領域A(audio)には番組1および番組2の番組音声コンテンツパケットデータPcSである番組コンテンツパケットデータPc111_1、Pc211_1、Pc111_2、Pc211_2、・・・が互いに隙間無く格納されて複数番組音声コンテンツパケットデータ列PmsSが形成される。
【0116】
さらに、PAT格納領域A(PAT)には、管理パケットデータPcAの構成要素である番組コンテンツ管理表PATの情報が格納され、PMT格納領域A(PMTα)には番組コンテンツパケットデータ管理表PMT1およびPMT2の情報が格納される。なお、番組コンテンツパケットデータ管理表PMT格納領域A(PMT)は、トランスポートストリームTSに含まれている番組コンテンツパケットデータ管理表PMT(番組)の種類だけ用意されることは上述の通りである。番組コンテンツ管理表PATには、入力されるトランスポートストリームTSに含まれるすべての番組コンテンツパケットデータ管理表PMT1〜PMTαに関して記述されていることは上述の通りである。
【0117】
このように、メインメモリ900内に構成された複数番組映像コンテンツパケットデータ列PmsVおよび複数番組音声コンテンツパケットデータ列PmsSが、メインメモリ制御器700によって、図14に例示した複数番組パケットデータ列Pmsとして読み出されて、トランスポートストリームデコーダTD1の外部に出力される。
【0118】
図1に戻って、トランスポートストリームデコーダTD1の構成要素のそれぞれについて詳しく説明する。ストリーム入力器TSRは、外部のトランスポートストリーム源(図示せず)からパケット単位で供給されるトランスポートストリームTSを内部に備えた入力バッファに一時的に保持して、所定の転送単位TSd毎にデータバッファリング装置DBA1に転送する。なお、本例においては、転送単位TSdは8バイトに設定されているが、データバッファリング装置DBA1における調停負荷および伝送効率を考慮して任意に定めることができる。
【0119】
データバッファリング装置DBA1は、ストリーム入力器TSRから逐次供給される転送単位TSdのトランスポートストリームTSをパケットデータP単位で管理蓄積すると共に、トランスポートストリームTSに含まれる番組コンテンツパケットデータPcをリアルタイムに個別選択的に出力する。なお、本実施形態においては、3つの番組を含むトランスポートストリームTSから、2つの番組の番組コンテンツパケットデータPcのみを抽出して選択複数番組パケットデータ列Pemとして出力される例について述べる。
【0120】
なお、本発明においては、トランスポートストリームTSに含まれるパケットデータPを個別にバッファセルBcに格納すると共に、格納しているパケットデータPの内容を識別し、当該パケットデータPに対するアクセスおよび処理を可能ならしめる装置である。しかしながら、上述の従来技術との対比を容易にするために、本実施形態においてはパケットデータPに対するアクセスおよび処理の一例として、特定の番組を構成する番組コンテンツパケットデータPcのみを選択的に抽出してトランスポートストリームTSを編集する場合を例に引くものである。
【0121】
メインメモリ900は、メインメモリ制御器700を経由して、データバッファリング装置DBA1から出力される選択複数番組パケットデータ列Pemを格納すると共に、複数番組パケットデータ列Pms(複数番組映像コンテンツパケットデータ列PmsV、複数番組音声コンテンツパケットデータ列PmsS)をAVデコーダに代表される外部機器
(図示せず)に複数番組パケットデータ列Pmsとして出力する。
【0122】
メインメモリ制御器700は、データバッファリング装置DBA1から入力される選択複数番組パケットデータ列Pemを転送単位TSd毎に一時的に保持する。メインメモリ制御器700はさらに、メインメモリ900の動作を制御して、一時的に保持する選択複数番組パケットデータ列Pemを転送単位TSd毎にメインメモリ900に出力すると共に、メインメモリ900を制御してその内部に複数番組映像コンテンツパケットデータ列PmsVおよび複数番組音声コンテンツパケットデータ列PmsSを形成させる。
【0123】
TD制御器TDC1は、予めトランスポートストリームデコーダTD1に入力されるトランスポートストリームTSの種類毎のデータ構造情報を格納している。そしてTD制御器TDC1は、実際に入力されるトランスポートストリームTSのデータ構造を示すトランスポートストリーム構造信号Stsを生成して、ストリーム入力器TSRに出力することによって、ストリーム入力器TSRを入力されるトランスポートストリームTSに応じて適正に動作するように制御する。この場合、ユーザが副次処理要求入力器APRなどを利用して、TD制御器TDC1に格納されている構造情報を指示しても良い。
【0124】
トランスポートストリームTSのデータ構造情報を予めTD制御器TDC1に格納しておく代わりに、ユーザが副次処理要求入力器APRなどを利用して、実際に入力されるトランスポートストリームTSの構造情報をTD制御器TDC1に指示するようにしても良い。さらに、実際に入力されるトランスポートストリームTSを読み込んで、そのデータ構造を検出するようにトランスポートストリームデコーダTD1を構成しても良い。
【0125】
TD制御器TDC1は、トランスポートストリームデコーダTD1全体の動作を制御する。なお、トランスポートストリームデコーダTD1は、上述の各構成要素の動作状態を示す状態信号SrW1を生成してTD制御器TDC1に出力する。TD制御器TDC1は、状態信号SrW1に基づいて、トランスポートストリームデコーダTD1の各構成要素の動作を制御する制御信号ScW1を生成して、トランスポートストリームデコーダTD1に出力する。なお、状態信号SrW1および制御信号ScW1の生成およびトランスポートストリームデコーダTD1の制御は公知の技術であるので説明を省く。
【0126】
データバッファリング装置DBA1は、ストリーム入力器TSRから転送単位TSd毎に入力されるトランスポートストリームTSをパケットデータPの単位で識別してバッファリングするパケットバッファリング調停器PBA1、バッファリングされているパケットデータPが所望のパケットデータPであるかを判断するパケット選択器400、パケット選択器400の判断結果に基づいてパケットバッファリング調停器PBA1の動作を制御する制御器PBAC1を含む。
【0127】
パケットバッファリング調停器PBAは、DMAバス調停器210、TSd入力開始検出器220、バッファセル割当器230、バッファセル割当情報格納器240、書込先バッファセル指定器250、パケットバッファ制御器260、パケットバッファ270、蓄積完了バッファセル番号メモリ制御器280、蓄積完了バッファセル番号メモリ290、およびパケットアクセス器300を含む。
【0128】
DMAバス調停器210は、主に、ストリーム入力器TSRとパケットバッファ制御器260との間でのトランスポートストリームTSのパケットデータPの転送単位TSd毎に入出力を調停する。つまり、DMAバス調停器210はストリーム入力器TSRから入力されるパケット先頭検出信号Sps、リクエスト信号Srq、および転送単位TSdに基づいて、TSd入力開始検出器220にパケット先頭検出信号Spsおよび転送単位TSdを供給する。さらに、DMAバス調停器210は、パケットバッファ制御器260から入力される選択複数番組パケットデータ列Pemをメインメモリ制御器700に出力する。
【0129】
TSd入力開始検出器220は、パケット先頭検出信号Spsおよび転送単位TSdに基づいて、パケットデータP毎に転送単位TSdの入力が開始されたことを検出すると共に、入力された転送単位TSdをパケットバッファ制御器260に供給する。そして、TSd入力開始検出器220は、その転送単位TSdでの入力が開始されたパケットデータPを格納するために、パケットバッファ270を構成する複数のバッファセルの1つを割り当てるよう要求するバッファセル要求信号Sbaを生成してバッファセル割当器230に出力する。さらに、バッファセルBcが割り当てられれば、そのバッファセルに対して番組コンテンツパケットデータPcの書込が開始できる状態であることを示す書込許可信号Swを生成して書込先バッファセル指定器250に出力する。
【0130】
バッファセル割当器230は、バッファセル要求信号Sbaに応答して、後述する割当バッファセル情報Iabに基づいて、入力が開始されたパケットデータPの格納に供するバッファセルを割り当てる。そして、割り当てたバッファセルを示すバッファセル割当情報Ibaを生成して、バッファセル割当情報格納器240に出力する。
【0131】
バッファセル割当情報格納器240は、バッファセル割当器230から入力されるバッファセル割当情報Ibaを格納する。さらにバッファセル割当情報格納器240は、同バッファセル割当情報Ibaを書込先バッファセル指定器250および蓄積完了バッファセル番号メモリ制御器280に供給する。なお、さらにバッファセル割当情報格納器240は、バッファセル割当情報Ibaに基づいて、パケットバッファ270を構成する各バッファセルBcの割当状況を示す割当バッファセル情報Iabを生成してバッファセル割当器230にフィードバックする。
【0132】
書込先バッファセル指定器250は、TSd入力開始検出器220から入力される書込許可信号Swに応答して、バッファセル割当情報格納器240から入力されるバッファセル割当情報Ibaで示される、割り当てられたバッファセルに対する転送単位TSdの書込を指示する書込要求信号Swdを生成して、パケットバッファ制御器260に出力する。
【0133】
パケットバッファ制御器260は、書込要求信号Swdに応答して、TSd入力開始検出器220から供給される転送単位TSdを、パケットバッファ270の割り当てられたバッファセルに書き込む。さらに、パケットバッファ制御器260は、割り当てられたバッファセルに書き込んだデータのバイト数をカウントすることによって、1パケットデータP分の転送単位TSdが書き込まれたことを検出して、DMAバス調停器210からの1パケットデータPのデータ転送が終了したことを示す転送終了信号Stfを生成して、蓄積完了バッファセル番号メモリ制御器280に出力する。なお、入力されるトランスポートストリームTSの1パケットデータPのデータサイズは、予めトランスポートストリームデコーダTD1に格納されているデータ構造情報に含まれていることは上述の通りである。
【0134】
蓄積完了バッファセル番号メモリ制御器280は、バッファセル割当情報格納器240から入力されたバッファセル割当情報Ibaとパケットバッファ制御器260から入力された転送終了信号Stfに基づいて、1パケットデータPが書き込まれたバッファセルを示すバッファセル番号信号Sbnと、バッファセル番号Nbcを書き込む記憶領域を示すライトポインタWPを1つ進めるライトポイント更新信号Swpを生成して蓄積完了バッファセル番号メモリ290に出力する。
【0135】
蓄積完了バッファセル番号メモリ290は、ライトポインタWPが示す記憶領域に、バッファセル番号信号Sbnの示すバッファセル番号Nbcを記録した後に、ライトポインタWPの位置を1つ進めて、バッファセル番号Nbcを記録した領域の次の領域を指し示させる。なお、本実施形態においては、蓄積完了バッファセル番号メモリ290は後ほど図2を参照して説明するように、好ましくはリングメモリで構成されるので、このようにバッファセルに書込を終了する毎にライトポインタWPを1つずつ進めることによって、蓄積完了バッファセル番号メモリ290の記憶領域に記憶されているバッファセル番号Nbcを適正に更新できる。
【0136】
なお、パケットアクセス器300は、パケットバッファ制御器260およびDMAバス調停器210を経由して、パケットバッファ270のバッファセルに格納された直後のパケットデータPに選択的にアクセスして、読み出し、参照、或いは編集等の処理を施した後にDMAバス調停器210およびパケットバッファ制御器260を経由して、元のパケットデータPを上書き更新したりする。
【0137】
この為に、パケットバッファ制御器260は、後述のリードポインタRPが指し示すバッファセルに格納されているパケットデータPのパケット識別子PIDを読んで、バッファパケット識別情報PIDeを抽出すると共に、DMAバス調停器210に出力する。
【0138】
なお、パケットバッファリング調停器PBA1は、上述の各構成要素の動作状態を示す状態信号Sr1を生成して制御器PBAC1に出力する。制御器PBAC1は、状態信号Sr1に基づいて、パケットバッファリング調停器PBA1の各構成要素の動作を制御する制御信号Sc1を生成して、パケットバッファリング調停器PBA1に出力する。なお、状態信号Sr1および制御信号Sc1の生成する制御器PBAC1の制御は公知の技術であるので説明を省く。
【0139】
次に図2を参照して、上述のバッファセル割当情報格納器240、パケットバッファ270、および蓄積完了バッファセル番号メモリ290の関係について簡単に説明する。パケットバッファ270は、TSd入力開始検出器220を経由して転送単位TSdで入力されるパケットデータPを一時的に蓄えるためのN個のバッファセルBc1〜BcN(Nは2以上の自然数)を含む。これは、パケットデータPの蓄積用と、蓄積したパケットデータPの読み出し用にそれぞれ異なるバッファセルBcが1つは必要であるからである。
【0140】
バッファセルBcのそれぞれは、所定のサイズのデータを一時的に蓄える、つまりバッファリングできる。そのために必要なバッファセルBcの容量を最低バッファ容量MBUと言う。最低バッファ容量MBUは、パケットデータPを構成するパケットデータPのデータサイズに応じて適宜設定される。最低バッファ容量MBUをパケットサイズに比べて小さく設定すれば、番組コンテンツパケットデータPcの抽出をよりきめ細やかに制御できるが、DMAバス調停器210における入出力調停頻度が大きくなり、そのための制御工数の増大を招き処理効率が悪くなる。
【0141】
一方、最低バッファ容量MBUをパケットサイズに比べて大きく、例えば数倍程度に設定すれば、1つのバッファセルBcに複数のパケットデータPを格納することも可能になる。しかしながらこの場合は、1つのバッファセルBcに格納されている複数のパケットデータPを区別できないので、パケットデータP単位での制御、或いはアクセスができない。従って、最低バッファ容量MBUは、トランスポートストリームデコーダの内部処理速度、パケットデータPの入力レート、パケットサイズ、およびパケットデータPへのアクセス頻度に基づいて適切に設定されるべきものである。
【0142】
なお、本例においては、最低バッファ容量MBUは1パケットデータPを格納できるように定めており、具体的には188バイトとしている。なお、必要に応じて、パケットデータPを識別または管理するための所定のバイト数を有する補助データを1パケットデータPに追加して格納できるようにしても良い。
【0143】
しかしながら、必要に応じて、上述のようにパケットサイズに比べて小さく設定、つまり1つのパケットを複数のバッファセルBcに分割して格納するようにしても良い。この場合、最低バッファ容量MBUはパケットデータPの分割後のデータの最大サイズに、分割状態を表す分割情報等を記録管理するための管理情報に相当する管理バイトを足したものになる。また、Nの最小値は2に分割数を乗じたものになる。
【0144】
バッファセル割当情報格納器240は、パケットバッファ270のバッファセルBc1〜BcNのそれぞれに対応するバッファセル割当情報領域Ac1〜AcNを有する。バッファセル割当情報格納器240は、バッファセル割当器230から供給されるバッファセル割当情報Ibaに基づいて、割り当てられたバッファセルBcn(nは1以上、N以下の自然数)に対応するバッファセル割当情報領域Acnに割当の有無を示す割当識別データを書き込む。つまり、バッファセル割当情報格納器240は、パケットバッファ270のバッファセルBc1〜BcNと同数のバッファセル割当情報領域Ac1〜AcNが用意される。
【0145】
例えば、割当識別データは1と0の二値データであり、初期値は0である。そして、バッファセルBc1が割り当てられる場合には、バッファセルBc1に対応するバッファセル割当情報領域Ac1には、例えば1が書き込まれる。一方、バッファセルBc1に書き込まれたデータが読み出された後に、制御器PBAC1から出力される制御信号Sc1に基づいてバッファセル割当情報領域Ac1に0が書き込まれて、バッファセルBc1は解放される。このようにして、パケットバッファ270の各バッファセルBc1〜BcNのそれぞれの割当状況がバッファセル割当情報領域Ac1〜AcNにおける値の集合で表現されて、割当バッファセル情報Iabとしてバッファセル割当器230に供給される。
【0146】
蓄積完了バッファセル番号メモリ290は、パケットバッファ270のバッファセルBc1〜BcNの特定の1つを示すバッファセル番号NbcNを格納するバッファセル指定領域Rc(Rc1〜RcM)を有する。なお、Mは2以上かつN以下の自然数である。蓄積完了バッファセル番号メモリ290は好ましくは、リングメモリで構成されてバッファセル指定領域Rc1〜RcMが連続的且つ循環的に記録される。結果、バッファセル割当情報格納器240の場合と異なり、バッファセル割当情報格納器240のバッファセルBc1〜BcNと同数だけ用意する必要は無く、M個のバッファセル指定領域Rc1〜RcMを用意すれば良い。
【0147】
バッファセル番号Nbcnを記入すべきバッファセル指定領域Rcm(mは1以上M以下の自然数)はライトポインタWPによって指示される。そして、記入されているバッファセル番号Nbcnを読み出すべきバッファセル指定領域RcmはリードポインタRPによって指示される。ライトポインタWPはリードポインタRPの示す位置より1つ次か同一のバッファセル指定領域Rcmを示す。ライトポインタWPは、上述のように蓄積完了バッファセル番号メモリ制御器280から出力されるライトポイント更新信号Swpに基づいて進められるが、リードポインタRPは制御器PBAC1から出力される制御信号Sc1に基づいて進められる。
【0148】
ライトポインタWPがリードポインタRPの位置より1つ進んでいる場合は、リードポインタRPが示すバッファセル指定領域Rcmに示されているバッファセルBcnは、データを格納し終わって読み出し可の状態であることを意味している。ライトポインタWPとリードポインタRPが同位置を示している場合は、データが読み出し可の状態にあるバッファセルBcnは無いことを意味している。
【0149】
次に図3に示す波形図を参照して、ストリーム入力器TSR、DMAバス調停器210、およびパケットバッファ制御器260の動作について簡単に説明する。図3に示すように、それぞれが188バイトのデータで構成されるパケットデータPからなるトランスポートストリームTSは、外部のトランスポートストリーム源から1バイトずつ、入力転送クロックCkに同期してストリーム入力器TSRに順次入力される。なお、1バイト単位の代わりに1ビット単位で入力される場合もあるが、処理内容は、入力データ単位に関わらず基本的に同一であるであるので、以下に1バイト単位に入力される場合についてのみ説明する。
【0150】
ストリーム入力器TSRは、パケットデータP毎に、最初の1バイトの同期データを検出した時点でパケットデータPのパケット先頭を検出する。そして、パケット先頭を検出する都度、パケット先頭検出信号Spsを生成してDMAバス調停器210に出力する。
【0151】
ストリーム入力器TSRは、さらに、パケット先頭から数えて8バイト毎に、DMAバス調停器210に対して、転送単位TSdの入力を受け付けるよう要求するリクエスト信号Srqを生成して、DMAバス調停器210に出力する。言い換えれば、転送単位TSdは8バイトであり、各パケット(188バイト)に対して、8バイト毎に転送単位TSd転送のためのリクエスト信号Srqが出力される。
【0152】
DMAバス調停器210は、リクエスト信号Srqに応答して、その入出力を調停して、ストリーム入力器TSRからの転送単位TSdの入力の準備を整える。準備が整った時点、つまりリクエスト信号Srqより所定の時間Ta後に、データ有効信号Sdeを生成してストリーム入力器TSRに出力する。この時間Taは、データバッファリング装置DBA1を含めた内部処理時間に起因して自ずと決まるものであり、データバッファリング装置DBA1の状態によって若干の変動が許される。
【0153】
ストリーム入力器TSRは、データ有効信号Sdeに応答して、内部のバッファに蓄積されているパケットデータPのデータを8バイトずつ転送単位TSdとしてDMAバス調停器210に出力する。
【0154】
パケットバッファ制御器260は、DMAバス調停器210およびTSd入力開始検出器220を経由して入力される転送単位TSdを、書込要求信号Swdに基づいて、パケットバッファ270の割り当てられたバッファセルBcに書き込む。そして、1パケットデータP分の転送単位TSdを書き込んだ時点で転送終了信号Stfを生成して蓄積完了バッファセル番号メモリ制御器280に出力する。
【0155】
次に、図4、図5、および図6を参照して、上述のトランスポートストリームデコーダTD1の動作について詳しく説明する。図4にメインフローを示すように、トランスポートストリームデコーダTD1は、電源が投入されてその動作を開始する。
先ず、ステップ#100の初期化サブルーチンにおいて、蓄積完了バッファセル番号メモリ290のライトポインタWPおよびリードポインタRPの値が共に0にセットされる。
【0156】
ステップ#200の「単一トランスポートストリームTSの提供番組および可能処理提示」サブルーチンにおいて、配信される番組と、それぞれの番組に対して可能な処理がユーザに対して提示される。後ほど詳しく述べるが、TD制御器TDC1はメインメモリ900のPAT格納領域A(PAT)に予め格納されている番組コンテンツ管理表PATを読んで配信される番組と、トランスポートストリームデコーダTD1がユーザに提供できる処理機能とを表す番組内容提示信号Sp1を生成して、副次処理要求入力器APRに出力する。副次処理要求入力器APRは、番組内容提示信号Sp1に基づいて、ディスプレイ等の適当な表示手段を用い手配信番組と提供処理機能をユーザに一覧提示する。ユーザは、副次処理要求入力器APRを操作して、提示された番組と処理機能の内で、所望の番組と処理機能を選択する。
【0157】
ステップ#300の「単一トランスポートストリームTSに対する処理要求検出」サブルーチンにおいて、副次処理要求入力器APRは、ユーザの処理要求を検出する。具体的には、副次処理要求入力器APRはユーザの操作に基づいて、ユーザの選択内容を表す処理要求信号Se1を生成してTD制御器TDC1に出力する。
【0158】
ステップ#400の「単一トランスポートストリームTSに対する処理内容決定」サブルーチンにおいて、ユーザの処理要求に応えて、トランスポートストリームデコーダTD1側にて行うべき具体的な処理内容を決定する。具体的には、TD制御器TDC1は、副次処理要求入力器APRから入力された処理要求信号Se1に基づいて、処理対象となる番組、番組に対する処理方法、および処理に要するデバイス等の手段の情報に代表される処理内容情報を生成する。
【0159】
ステップ#500の「処理対象パケットデータ識別情報PIDd生成」サブルーチンにおいて、処理すべきパケットデータPを表す処理対象パケットデータ識別情報PIDdを生成する。具体的には、TD制御器TDC1は、ステップ#400において決定された処理内容情報に基づいて、選択された番組を構成するパケットデータPの内で実際に処理を施すべきパケットデータPのパケット識別子PIDを特定して、処理対象パケットデータ識別情報PIDdを生成する。
【0160】
ステップ#600の「単一トランスポートストリームTSのパケットデータP蓄積」サブルーチンにおいて、トランスポートストリームデコーダTD1に逐次入力される単一のトランスポートストリームTSに含まれるパケットデータPのデータバッファリング装置DBA1へのバッファリングが開始される。なお、パケットデータPは、データバッファリング装置DBA1のバッファセルBcのそれぞれに、パケットデータP/n単位(nは自然数)で格納される。なお、本ステップにおける処理については、後ほど図5を参照して詳述する。所定数のパケットデータPの蓄積が完了した時点で、次のステップ#700の処理が開始される。言い換えれば、データバッファリング装置DBA1の複数のバッファセルBcの内、所定数のバッファセルBcのそれぞれにパケットデータPが蓄積された状態でステップ#700の処理が開始する。
【0161】
ステップ#700の「単一トランスポートストリームTSの処理対象パケットデータP選択」サブルーチンにおいて、データバッファリング装置DBA1のバッファセルBcに順次格納されるパケットデータPの中で処理対象のものを選択する。具体的には、1つのバッファセルBcに格納されているパケットデータPがステップ#400で特定されたパケットデータPであるかを、ステップ#500で決定されたパケット識別子PIDを有するかを判断することによって、処理対象パケットデータPとしの選択が行われる。なお、本ステップにおける処理については、後ほど図6を参照して詳述する。
【0162】
ステップ#800の「単一トランスポートストリームTSのパケットデータPに要求処理実行」サブルーチンにおいて、ステップ#700において選択されたパケットデータPに対して、ステップ#400において決定された内容のユーザの要求処理が実行される。本実施形態においては、バッファセルBcに順次格納される単一のトランスポートストリームTSのパケットデータPの中で、ステップ#700で選択された特定の番組の番組コンテンツパケットデータPcのみを抽出して、選択複数番組パケットデータ列Pemが抽出される例が示されているが、これについては、後ほど図7を参照して詳述する。なお、要求処理が特定の番組を構成する番組コンテンツパケットデータPcの選択抽出に限らず、種々のデジタル処理の適用が可能であることは言うまでも無い。
【0163】
#900の「単一トランスポートストリームTSの処理後パケットデータP蓄積」サブルーチンにおいて、ステップ#800で抽出された選択複数番組パケットデータ列Pemがメインメモリ制御器700に出力されて、複数番組パケットデータ列Pmsが生成される。
【0164】
なお、上述のようにステップ#600は主にハードウェアによる受動的な処理であり、ステップ#700〜#900は主にソフトウェアによる能動的な処理である。よって、ステップ#600とステップ#700〜#900は好ましくは並行処理として構成される。そのためには、ステップ#700における対象処理パケットデータP選択サブルーチンを開始する前に、ステップ#600において、適正な数だけのバッファセルBcにパケットデータPが蓄積されていることが望ましい。これに付いては、後ほど図6を参照して説明する。
【0165】
しかしながら、本図においてはステップ#600、#700、#800、および#900を一連の繰り返し処理としての構成を示している。このような構成における動作について簡単に説明する。ステップ#600の単一トランスポートストリームTSのパケットデータP蓄積サブルーチンを初めて行う場合は、所定数のバッファセルBcにパケットデータPが蓄積されるのを待った後に、ステップ#700、#800、および#900の処理を連続的に実行する。そして、2回目以降のステップ#600においては、所定数ではなく1つのバッファセルBcにパケットデータPが格納された後に、ステップ#700〜#900の処理を実行させる。
【0166】
この場合の所定数とは、データバッファリング装置DBA1の一連の動作速度より決まる、ソフトウェアによるステップ#700〜#900の処理に対して許容外のアンダーフロー或いはオーバーフローを起こさないように決められる。よって、所定数の最小値は1である。実際には、所定数のバッファセルBcにパケットデータPが蓄積されたことの保証は、ステップ#600が開始してから、ステップ#700が開始するまでの時間で管理される。
【0167】
図12に、上述のステップ#700の「単一トランスポートストリームTSの処理対象パケットデータP選択」サブルーチンとステップ#800の「単一トランスポートストリームTSのパケットデータPに対する要求処理実行」サブルーチンの関係を模式的に表す。図11は、既に説明した図11に、ステップ#700およびステップ#800の位置づけを追記したものである。つまり、トランスポートストリームデコーダTD1に入力されたトランスポートストリームTSの全パケットデータPに対して、ステップ#700で個別に処理対象であるかが判断されて、処理対象であると判断されたパケットデータP(図12において、太線の矢印で表示)に対してのみ、ステップ#800でユーザの要求に基づく処理が実施される。
【0168】
上述のように、本実施形態では、ユーザの要求に基づく処理は、番組1および番組2のみを抽出であるので、バッファセルBcに格納される全パケットデータPの内100番台および200番台のパケット識別子PIDを有する番組コンテンツパケットデータPcと、管理パケットデータPcAのみが、ステップ#700で選択される。そして、選択された番組コンテンツパケットデータPcおよび管理パケットデータPcAが、ステップ#800でそのままバッファセルBcからデータバッファリング装置DBA1の外部へ選択複数番組パケットデータ列Pemとして出力される。
【0169】
ユーザの要求処理が特定の番組の番組コンテンツパケットデータPcの加工であれば、上述の例においては、選択された管理パケットデータPcAおよび番組コンテンツパケットデータPcの内で、特定の番組を形成する番組コンテンツパケットデータPcのみに加工が施されることになる。これについては、後ほど図6を参照して簡単に述べる。
【0170】
次に、図5を参照して、上述のステップ#600におけるパケットバッファ270による単一トランスポートストリームTSのパケットデータP蓄積動作の詳細について説明する。先ず、ステップS602において、外部のトランスポートストリーム供給源からトランスポートストリームTSがストリーム入力器TSRに入力される。そして、処理は次のステップS604に進む。
【0171】
ステップS604において、ストリーム入力器TSRは入力されたトランスポートストリームTSのパケット先頭を検出する。具体的には、ストリーム入力器TSRはTD制御器TDC1から入力されたトランスポートストリーム構造信号Stsに基づいて、入力されてくるトランスポートストリームTSの構造に基づいて、入力されてくるパケットデータPの先頭を検出する。そして、処理は次のステップS605およびS606に進む。
【0172】
ステップS605において、ストリーム入力器TSRはパケット先頭以降のパケットデータを内蔵の入力バッファに蓄積する。転送単位TSd分の蓄積が完了すると、処理は次のステップS607に進む。なお、ストリーム入力器に内蔵の入力バッファの容量は、入力パケットデータを取りこぼすことが無いように、入力ストリームの伝送レート等によって適正に定められなければならない。少なくとも転送単位TSdより大きい必要があるのは言うまでも無い。
【0173】
ステップS607において、ストリーム入力器TSRはリクエスト信号SrqをDMAバス調停器210に出力する。そして、処理は次のステップS608に進む。
ステップS608において、DMAバス調停器210はリクエスト信号Srqに基づいて、ストリーム入力器TSRからのパケットデータPの転送単位TSdでの入力に備えて調停を行う。そして、処理は次のステップS610に進む。
ステップS610において、DMAバス調停器210はデータ有効信号Sdeをストリーム入力器TSRに出力する。そして、処理は次のステップS612に進む。
【0174】
ステップS612において、データ有効信号Sdeに応答して、パケットデータPのストリーム入力器TSRからDMAバス調停器210への転送単位TSdでの転送が開始する。なお、転送単位TSdはDMAバス調停器210を経由して、TSd入力開始検出器220に出力される。そして、処理は次のステップS614に進む。
【0175】
ステップS606において、ストリーム入力器TSRはパケット先頭検出信号SpsをDMAバス調停器210に出力する。なお、パケット先頭検出信号Spsは、DMAバス調停器210を経由してTSd入力開始検出器220に出力される。そして、処理は次のステップS608に進む。
【0176】
ステップS614において、TSd入力開始検出器220は、ステップS606で入力されたパケット先頭検出信号Spsに基づいて、転送単位TSdの入力が開始されたことを検出する。つまり、パケットバッファ270に1パケットデータP分のデータを転送単位TSd毎に複数回に渡って、ストリーム入力器TSRから転送されるので、パケット先頭検出信号Spsの入力後に最初に入力される転送単位TSdを検出することで、転送単位TSdの入力開始を検出する。そして、処理は次のステップS616に進む。
【0177】
ステップS616において、TSd入力開始検出器220はバッファセル要求信号Sbaを生成してバッファセル割当器230に出力すると共に、書込許可信号Swを生成して書込先バッファセル指定器250に出力する。そして、処理は次のステップS618に進む。
【0178】
ステップS618において、バッファセル割当器230は、バッファセル割当情報格納器240から供給される割当バッファセル情報Iabに基づいて、ステップS612において転送が開始された転送単位TSdの書込に供せられるバッファセルBcを割り当てる。そして、処理は次のステップS620に進む。
【0179】
ステップS620において、バッファセル割当器230は、ステップS612での割り当てたバッファセルBcを示すバッファセル割当情報Ibaを生成してバッファセル割当情報格納器240に出力する。そして、処理は次のステップS622に進む。
【0180】
ステップS622において、バッファセル割当情報格納器240はバッファセル割当情報Ibaに基づいて、割当バッファセル情報Iabを生成して格納するする。そして、処理は次のステップS624に進む。
【0181】
ステップS624において、バッファセル割当情報格納器240は、バッファセル割当器230から入力されたバッファセル割当情報Ibaを書込先バッファセル指定器250および蓄積完了バッファセル番号メモリ制御器280に出力する。そして、処理は次のステップS626に進む。
【0182】
ステップS626において、TSd入力開始検出器220は、パケットバッファ270のバッファセルBcへの転送単位TSdの書込を許可する書込許可信号Swを生成して書込先バッファセル指定器250に出力する。そして、処理は次のステップS628に進む。
【0183】
ステップS628において、書込先バッファセル指定器250は、書込許可信号Swに応答して、バッファセル割当情報Ibaが指示する、割り当てられたバッファセルBcに対する書込(蓄積)を要求する書込要求信号Swdを生成して、パケットバッファ制御器260に出力する。そして、処理は次のステップS630に進む。
【0184】
ステップS630において、パケットバッファ制御器260は、TSd入力開始検出器220から経由して供給される転送単位TSdを、書込要求信号Swd(バッファセル割当情報Iba)の指示するバッファセルBcへのパケットデータPの転送単位TSdでの書込(蓄積)を行う。そして、処理は次のステップS632に進む。
【0185】
ステップS632において、転送単位TSd毎にストリーム入力器TSRからDMAバス調停器210にリクエスト信号Srqが出力され(ステップS607)、DMAバス調停器210はリクエスト信号Srqに応答して調停して(ステップS608)データ有効信号Sdeをストリーム入力器TSRに出力し(ステップS610)、ストリーム入力器TSRはデータ有効信号Sdeに応答してパケットデータPの次の転送単位TSdの転送を開始する(ステップS614)という、上述の動作が繰り返される。
【0186】
この間、パケットバッファ制御器260はバッファセルBcに書き込まれるデータのバイト数をカウントして、1パケットデータP分の転送単位TSdのバッファセルへの蓄積が終了したことを検出する。さらに、転送終了信号Stfを生成して蓄積完了バッファセル番号メモリ制御器280に出力する。カウント数は、TD制御器TDC1に予め格納されているトランスポートストリーム構造情報が示す入力されるトランスポートストリーム
TSのパケットデータPのデータサイズによって求められる。パケットバッファ制御器260は、そして、処理は次のステップS634に進む。
【0187】
ステップS634において、蓄積完了バッファセル番号メモリ制御器280は、転送終了信号Stfとバッファセル割当情報Ibaに基づいて、1パケットデータPのデータの蓄積を完了したバッファセルBcを示すバッファセル番号信号Sbnを生成する。つまり、バッファセル番号信号Sbnは、転送終了信号Stfが入力されたときに、バッファセル割当情報Ibaが示すバッファセルBcのバッファセル番号Nbcに相当する。そして、処理は次のステップS636に進む。
【0188】
ステップS636において、蓄積完了バッファセル番号メモリ290は、バッファセル番号信号Sbnの示すバッファセル番号NbcをライトポイントWPの示す領域に記録する。そして、処理は次のステップS638に進む。
【0189】
ステップS638において、蓄積完了バッファセル番号メモリ制御器280は、ライトポイント更新信号Swpを蓄積完了バッファセル番号メモリ制御器280に出力して、蓄積完了バッファセル番号メモリ制御器280のライトポインタWPを1つ進める。
【0190】
次に、図6に示すフローチャートを参照して、上述のステップ#800におけるデータバッファリング装置DBA1による要求処理実行の詳細について説明する。なお、本図においては、図4に関して述べたようにステップ#600とステップ#700〜#900とを並行処理とする場合にも、連続処理とする場合にも適用できる構成を示す。
【0191】
先ず、ステップS802において、TD制御器TDC1は蓄積完了バッファセル番号メモリ290から、ライトポインタWPおよびリードポインタRPのそれぞれの値を読み出す。ライトポインタWPは逐次入力されてくるトランスポートストリームTSのパケットデータPをデータを書き込むバッファセルBcを択一的に示すパラメータであり、リードポインタRPはデータを読み出す対象であるバッファセルを示すパラメータである。そして、処理は次のステップS804に進む。
【0192】
ステップS804において、TD制御器TDC1によって、ステップS802において読み出されたライトポインタWPとリードポインタRPの値が同一であるか否かが判断される。同一の場合はYes、つまり特定のバッファセルBcが現在使用中であると判断されて、処理は前述のステップS804に戻る。これは、バッファセル中に完全な形で格納されていないパケットデータPに対するアクセスを防止するためである。
【0193】
一方、ステップS804において、同一でない場合はNo、つまりいずれのバッファセルも使用中でないと判断される。これは、パケットデータPを完全な形で格納されているバッファセルBcがあることを意味する。言い換えると、当該パケットデータPはユーザの要求に対する処理対象候補であるパケットデータPが少なくとも1つはパケットバッファ270に蓄積されていることを意味する。そして、処理は次のステップS806に進む。
【0194】
上述のように、ステップS804およびS806を構成することにおいて、ステップ#600とステップ#700〜#900とを並行処理とする場合にも、連続処理とする場合にも適用できる。つまり、並行処理とした場合、パケットバッファ270に適当数なパケットデータPが蓄積されていない(最悪、いずれのバッファセルBcにも、パケットデータPが完全に格納されていない)とき、ユーザの要求された処理を実行しようとする事態を回避することができる。また、連続処理とする場合には、上述のようにステップ#600とステップ#700との開始時間に差を設けて所定数のバッファセルBcの蓄積完了を保証するが、トランスポートストリームTSの伝送経路上の理由等によりパケットデータPの蓄積に異常が生じた場合にも、アンダーフローによる処理異常を防止できる。
【0195】
ステップS806において、格納されている処理対象候補のパケットデータPが実際に処理対象であるか否かを調べるためにアクセスするバッファセルBcを決定する。具体的には、TD制御器TDC1はリードポインタRPの示すバッファセル指定領域Rcからバッファセル番号Nbcnを読み出す。なお、後述のステップS810で処理対象であると判断された場合には、後述のステップS814において当該パケットデータPに対してユーザの要求に基づく処理を施すために、同バッファセルBcは再度アクセスされる。そして、処理は次のステップS808に進む。
【0196】
ステップS808において、ステップS806で読み出されたバッファセル番号Nbcnに対応するバッファセルBcn(パケットバッファ270)に格納されているパケットデータPから、そのパケットデータPのパケット識別子PIDが読み出されてバッファパケット識別情報PIDeが生成される。そして、処理は次のステップS810に進む。
【0197】
ステップS810において、ステップS808で生成されたバッファパケット識別情報PIDeが上述のステップ#500で生成された処理対象パケットデータ識別情報PIDdとマッチするか否かが判断される。この場合のマッチとは、バッファパケット識別情報PIDeに規定されるパケット識別子PIDが処理対象パケットデータ識別情報PIDdに示されるがパケット識別子PIDに含まれていることを言う。Yes、つまり現在アクセス中のパケットデータPは、上述のユーザの要求に基づく処理の対象である場合には、処理は次のステップS812に進む。この時点で、同バッファセルBcに格納されているパケットデータPが処理対象候補から処理対象候補と確認される。
【0198】
ステップS812において、上述のステップ#400で決定された処理が現在アクセス中のパケットデータPに対して実施される。なお、本実施形態においては、ユーザの要求処理は、トランスポートストリームTSから番組1および番組2のみを抽出することである。それゆえに、本ステップで実施されるべき処理は具体的には番組コンテンツパケットデータ管理表PMT1および番組コンテンツパケットデータ管理表PMT2で規定されるパケット識別子PIDを有するパケットデータPあるかの判断であるが、これは上述のステップS810で既に実行されている。よって、本実施形態においては、本ステップにおいてはパケットデータPは実質的には何らの変更も受けない。そして、処理は次のステップS814に進む。
【0199】
ステップS814においては、上述のステップS810およびステップS812を経て、ユーザの要求に応じて適切に処理されたパケットデータPが、バッファセルBcNから転送単位TSd毎に読み出され、パケットバッファ制御器260を経由して、DMAバス調停器210へ転送が開始される。そして、処理は次のステップS816に進む。
【0200】
ステップS816において、TD制御器TDC1によって、ステップS800で開始された転送単位TSd毎にそのビット数をカウントすることでDMAバス調停器210へのデータ転送が完了したか否かが繰り返し判断される。なお、データ転送が完了した時点で、処理は次のステップS818に進む。このようにして、上述のステップS802〜S816を経て、ユーザの要求処理を1つのパケットデータPに対して完了する。そして、処理は次のステップS818に進む。
【0201】
一方、上述のステップS810においてNo、つまり現在アクセス中のパケットデータPは、上述のユーザの要求に基づく処理の対象でないと判断される場合は、処理は上述のステップS812、S814、およびS816を迂回して直接ステップS818に進む。
このように、ステップS810において、バッファパケット識別情報PIDeと処理対象パケットデータ識別情報PIDdとのマッチングに基づいて、逐次入力されてくるトランスポートストリームTSに含まれる全パケットデータPを個別に処理対象であるか識別する。そして、処理対象であるパケットデータPのみを選択して、ステップS812においてユーザの要求に基づく処理を施して、ステップS814およびS816において処理の結果得られるパケットデータPをデータバッファリング装置DBA1の外部に出力する。
【0202】
ステップS818において、TD制御器TDC1は、リードポインタRPの示すバッファセル番号Nbcnに相当するバッファセルを解放する。具体的には、上述のステップS806で読み出されたバッファセル番号Nbcnに対応するバッファセル割当情報領域Acnに書き込まれている割当識別データを割当無に書き直す。そして、処理は次のステップS820に進む。
【0203】
ステップS820において、TD制御器TDC1は蓄積完了バッファセル番号メモリ290におけるリードポインタRPの値を進める。これによって、次のパケットデータPがユーザの要求処理対象候補として設定される。
【0204】
上述のように、逐次入力される単一のトランスポートストリームTSに含まれる複数の番組に対してユーザが選択的に所望する処理を施すためには、当該トランスポートストリームTSに含まれるすべてのパケットデータPの内で対応するパケットデータPのみに選択的に処理を施す。そのためには、逐次入力されるパケットデータPのそれぞれに対して、所定の時間だけ処理を施すことを保証する必要がある。
【0205】
そこで、本実施形態においては、ライトポインタWPによって、各パケットデータPを入力されてくる順番に、所定の時間、所定のバッファセルBcに閉じ込めると言う課程を管理する。そして、リードポインタRPによって、閉じ込めたパケットデータPが処理対象であるかを識別し、処理対象である場合には処理を施した後に出力するという課程を管理する。この一連の動作をハードウェアとソフトウェアのハイブリッドな構成によって制御保証するものである。
【0206】
なお、上述のごとく、本発明の第1の実施形態においては、図7を参照して説明したように、トランスポートストリームTSはそれぞれに固有のパケット識別子PIDが付与されているパケットデータPから構成される。このようなトランスポートストリームTSに関しては、本発明にかかるトランスポートストリームデコーダTD1によって、トランスポートストリームTSを構成するすべてのパケットデータPに対して、個別に異なる処理を施すことができることは上述の通りである。
【0207】
しかしながら、ITU−T勧告H.220.0に代表されるトランスポートストリームTSは、それを構成するすべてのパケットデータPのそれぞれに固有のパケット識別子PIDが付与されていない。そのトランスポートストリームTSを構成するパケットデータPの内容毎に分類される所謂パケットデータグループ毎に固有のパケット識別子PIDが付与される。
【0208】
図9に、そのようなパケットデータグループ毎にパケット識別子PIDが扶養されたトランスポートストリームTSのパケット構成を例示する。図7に示した例と同様に、図9においても、トランスポートストリームTSを構成するパケットデータPのそれぞれが1つの枠として表示されている。これらのパケットデータPは、α種類の番組毎にそのコンテンツを形成する複数の番組コンテンツパケットデータPcと、番組毎にこれら番組コンテンツパケットデータPcのパケット識別子PIDを記述した番組コンテンツパケットデータ管理表PMTと、番組毎に対応する番組コンテンツパケットデータ管理表PMTを記した番組コンテンツ管理表PAT等に分類される。
【0209】
図9においては、少なくとも3つの異なる番組1、番組2、および番組3を提供する場合(α≧3)のトランスポートストリームTSの構成が例示されている。パケット識別子PIDが101であるすべてのパケットデータPは、番組1の映像データである番組コンテンツパケットデータPc101と規定される。パケット識別子PIDが1111であるすべてのパケットデータPは、番組1の音声データである番組コンテンツパケットデータPc101と規定される。
【0210】
同様に、パケット識別子PIDが201であるすべてのパケットデータPは、番組2の映像データである番組コンテンツパケットデータPc201と規定される。パケット識別子PIDが211であるすべてのパケットデータPは、番組2の音声データである番組コンテンツパケットデータPc211と規定される。
【0211】
さらに、パケット識別子PIDが301であるすべてのパケットデータPは、番組3の映像データである番組コンテンツパケットデータPc301と規定される。パケット識別子PIDが311であるすべてのパケットデータPは、番組3の音声データである番組コンテンツパケットデータPc311と規定される。
【0212】
このように、トランスポートストリームTSを構成するすべてのパケットデータPのそれぞれに固有のパケット識別子PIDが付与されるのではなく、そのパケットデータPの種類毎に固有のパケット識別子PIDが付与されることを除いては、図9に示すトランスポートストリームTSも図7を参照して説明したのトランスポートストリームTSと同様に構成される。なお、原則として、同一パケット識別子PIDを有する複数のパケットデータPは、ストリーム作成時において、その提示の順番に配列される。その結果、受信側においては、逐次入力されるトランスポートストリームTSのすべてのパケットデータPのそれぞれに対して、パケット識別子PID毎に受信した順番に所定の処理を施すことによって、情報を抽出することができる。
【0213】
このようなパケット構成を有するトランスポートストリームTSに、上述の本発明の第1の実施形態にかかるトランスポートストリームデコーダTD1を適応した場合の動作について説明する。パケットデータPの内容毎に分類されるパケットデータグループ毎に固有のパケット識別子PIDが付与されると言うことは、図7に示したトランスポートストリームTSにパケットデータPのパケット識別子PIDの上位3桁のみを指示することと実質的に同じである。つまり、本例においても、番組コンテンツパケットデータPc101と番組コンテンツパケットデータPc201の抽出することによって、図8に示した番組映像コンテンツパケットデータPcVと実質的に同じパケット構成の複数番組映像コンテンツパケットデータ列を生成できる。同様に番組コンテンツパケットデータPc111とパケットデータP211の抽出することによって、図8に示した番組音声コンテンツパケットデータPcSと実質的に同じパケット構成の複数番組音声コンテンツパケットデータ列を生成できる。
【0214】
但し、TD制御器TDC1で生成される処理対象パケットデータ識別情報PIDdも、バッファセルBcに格納されているパケットデータPから読みとられるバッファパケット識別情報PIDeも共にパケットデータグループを示している。よって、上述のパケット選択器400によるバッファパケット識別情報PIDeと処理対象パケットデータ識別情報PIDdとがマッチングしている判定された場合には、マッチしたパケット識別子PIDを有するパケットデータグループに属するすべてのパケットデータPに対して、同一の処理が施される。これは、上述のごとく、図7に示したパケット構成を有するトランスポートストリームTSのすべてのパケットデータPのパケット識別子PIDの上位の適当な桁を指定することによって、その指定された桁のパケット識別子PIDが同一であるパケットデータPをグループとして、グループ毎に固有の処理を施すことと実質的に同一である。
【0215】
(第2の実施形態)
以下に、図15、図16、図17、図18、図19、図20、図21、図22、図23、図24、図25および図26を参照して、本発明の第2の実施形態にかかるデータバッファリング装置について説明する。本実施形態においては、本発明にかかるパケットデータ処理決定器は、複数のトランスポートストリームTSに含まれる複数の番組のコンテンツデータを選択的に抽出するトランスポートストリームデコーダに用いられるデータバッファリング装置を例として述べられる。
【0216】
先ず、本実施形態にかかるパケットデータ処理決定器を組み込んだトランスポートストリームデコーダの基本的概念について述べる。図24に、本実施形態におけるのと同様に複数のトランスポートストリームTS1〜TSε(εは、2以上の任意の整数)から複数の番組を抽出する用途に適応させるべく提案する、図33に示した従来のトランスポートストリームデコーダTDAc(単一のトランスポートストリームTSから単一の番組を抽出する)の第2の改良例を示す。
【0217】
第2の改良であるトランスポートストリームデコーダTDAA2は、基本的に図10に示した第1の改良例であるトランスポートストリームデコーダTDAA1において、拡張プログラムパケットフィルタEPCFがプログラムパケットフィルタ群GPCFに置き換えられると共に、メインメモリ制御器700Cが調停機能付きメインメモリ制御器700Crに置き換えられ、さらにストリーム入力器600Cが新たに設けられた構造を有する。
【0218】
プログラムパケットフィルタ群GPCF、調停機能付きメインメモリ制御器700Cr、およびストリーム入力器600Cについて説明する前に、先ず、図20、図25、および図26を参照して、トランスポートストリームデコーダTDAA2の動作について述べる。
【0219】
図20を参照して、トランスポートストリームデコーダTDAA2に入力される、それぞれが複数の番組のコンテンツを提供する2つのトランスポートストリームの構成について説明する。同図には、少なくとも3つの異なる番組1、番組2、番組3、・・・、番組α1を提供する第1のトランスポートストリームTS1の構成例と、少なくとも6つの異なる番組1、番組2、番組3、番組4、番組5、番組6、・・・、番組α2を提供する第2のトランスポートストリームTS2の構成例が示されている。
【0220】
なお、第2のトランスポートストリームTS2における番組1、番組2、および番組3は、トランスポートストリームTS1における番組1、番組2、および番組3とは基本的に異なるものであるが、同じであっても良い。なお、第2のトランスポートストリームTS2のおける番組1、番組2、および番組3は、紙面の都合上図示されていない。
【0221】
このように、トランスポートストリームデコーダTDに入力される複数のトランスポートストリームTSのそれぞれには同一の番組番号を有する番組が重複して存在する。さらに、パケットデータPには、トランスポートストリームTS毎にパケット識別子PIDが付与されるので、複数のトランスポートストリームTSのそれぞれには、同一のパケット識別子PIDを有するパケットデータPが重複して存在する。
【0222】
第1のトランスポートストリームTS1において、番組コンテンツパケットデータPc
101_1、Pc101_2、・・・は番組1を構成する映像データであり、番組コンテンツパケットデータPc111_1、Pc111_2、・・・・は番組1を構成する音声データである。同様に、番組コンテンツパケットデータPc201_1、Pc201_2、・・・・は番組2の映像データであり、番組コンテンツパケットデータPc211_1、Pc211_2、・・・・は番組2の音声データである。さらに番組コンテンツパケットデータPc301_1、Pc301_2、・・・・は番組3の映像データであり、番組コンテンツパケットデータPc311_1、Pc311_2、・・・・は番組3の音声データである。
【0223】
第2のトランスポートストリームTS2において、番組コンテンツパケットデータPc401_1、Pc401_2、・・・は、番組4の映像データであり、番組コンテンツパケットデータPc411_1、Pc411_2、・・・・は番組4の音声データである。同様に、番組コンテンツパケットデータPc501_1、Pc501_2、・・・・は番組5の映像データであり、番組コンテンツパケットデータPc511_1、Pc511_2、・・・・は番組5の音声データである。さらに番組コンテンツパケットデータPc601_1、Pc601_2、・・・・は番組6の映像データであり、番組コンテンツパケットデータPc611_1、Pc611_2、・・・・は番組6の音声データである。
【0224】
なお、トランスポートストリームデコーダTDAA2に入力されるトランスポートストリームTSは3以上であっても良いし、各トランスポートストリームTSが提供できる番組数は3以上であっても良いことは言うまでも無い。また、トランスポートストリームTSには、提供する番組数に応じて対応する番組コンテンツパケットデータPcが含まれる。番組の内容によっては、映像や音声以外のデータ(例えば、文字情報)に対応する番組コンテンツパケットデータPcも含まれることも同様である。
【0225】
なお、第1のトランスポートストリームTS1および第2のトランスポートストリームTS2においても、番組コンテンツパケットデータPcの間に伝送経路および処理上の要因から定められる頻度で番組コンテンツ管理表PATと番組コンテンツパケットデータ管理表PMTが配列されて構成される。
【0226】
第1のトランスポートストリームTS1に関しては、番組1、2、および3の番組コンテンツの内で番組コンテンツパケットデータPc101_1、Pc111_1、Pc201_1、Pc211_1、Pc301_1、およびPc311_1の前に、全番組コンテンツのパケット識別子PIDを記した番組コンテンツパケットデータ管理表PMT1、PMT2、およびPMT3と、これらの番組コンテンツパケットデータ管理表PMTのそれぞれのパケット識別子PIDと対応番組とを示す番組コンテンツ管理表PATが配されている。
【0227】
番組コンテンツ管理表PATには、番組1の番組コンテンツパケットデータ管理表PMTのパケット識別子PIDは100であり、番組2の番組コンテンツパケットデータ管理表PMTのパケット識別子PIDは200であり、番組3の番組コンテンツパケットデータ管理表PMTのパケット識別子PIDは300であり、・・・、番組α1 の番組コンテンツパケットデータ管理表PMTのパケット識別子PIDはα1 00であると記述されている。
【0228】
第2のトランスポートストリームTS2に関しては、番組4、5、および6の全3種類の番組コンテンツの内で番組コンテンツパケットデータPc401_1、Pc411_1、Pc501_1、Pc511_1、Pc601_1、およびPc611_1の前に、全番組コンテンツのパケット識別子PIDを記した番組コンテンツパケットデータ管理表PMT1、PMT2、およびPMT3と、これらの番組コンテンツパケットデータ管理表PMTのそれぞれのパケット識別子PIDと対応番組とを示す番組コンテンツ管理表PATが配されている。
【0229】
番組コンテンツ管理表PATには、番組4の番組コンテンツパケットデータ管理表PMTのパケット識別子PIDは400であり、番組5の番組コンテンツパケットデータ管理表PMTのパケット識別子PIDは500であり、番組6の番組コンテンツパケットデータ管理表PMTのパケット識別子PIDは600であり、・・・、番組α2 の番組コンテンツパケットデータ管理表PMTはα2 00であると記述されている。
【0230】
なお、トランスポートストリームTSに含まれるパケットデータPの種類によって、その到着頻度は大きく異なるため、番組コンテンツ管理表PAT、番組コンテンツパケットデータ管理表PMT、番組コンテンツパケットデータPc、およびその他のパケットが同一のトランスポートストリームTSの内部で入り乱れて配置されていることもあることは、単一のトランスポートストリームTSが入力される場合と同様である。
【0231】
なお、図20においては、描画上の都合により第1のトランスポートストリームTS1と第2のトランスポートストリームTS2がパケット単位で同期されているように見えるが、大抵の場合は同期していない。よって、第1のトランスポートストリームTS1における番組コンテンツパケットデータPcと、第2のトランスポートストリームTS2における番組コンテンツパケットデータPcがトランスポートストリームデコーダTDAA2に同時に入力される場合もそうでない場合もある。
【0232】
図21に、トランスポートストリームデコーダTDAA2によって、図20に示したパケット構成を有する第1のトランスポートストリームTS1から第1の選択複数番組パケットデータ列Pem1を抽出し、第2のトランスポートストリームTS2から第2の選択複数番組パケットデータ列Pem2を抽出する様子を示す。本例においては、第1の選択複数番組パケットデータ列Pem1は、番組1および番組2のパケットデータPを含み、第2の選択複数番組パケットデータ列Pem2は、番組3および番組4のパケットデータPを含む。そして、第1の選択複数番組パケットデータ列Pem1および第2の選択複数番組パケットデータ列Pem2が混合されて混合選択複数番組パケットデータ列Pemsとして調停機能付きメインメモリ制御器700Crに出力される。
【0233】
調停機能付きメインメモリ制御器700Crは、入力された混合選択複数番組パケットデータ列Pemsに含まれる複数のトランスポートストリームTSに属する番組コンテンツパケットデータPcを調停してメインメモリ900Cに出力する。結果、メインメモリ900の内部で複数TS複数番組パケットデータ列Pmsmが形成される。これは、トランスポートストリームTSに含まれるパケットデータPは、トランスポートストリームTSが異なれば、そのパケットデータサイズ、転送レート、および到着タイミング等が異なるため、異なるトランスポートストリームTSに含まれるパケットデータPが同時に入力されることがあるからである。
【0234】
なお、図20および図21に示す例では、トランスポートストリームTS毎に異なる番組番号を有する番組が抽出されるため、混合選択複数番組パケットデータ列Pemsにおいて、番組番号やパケット識別子PIDが重複するパケットデータPが存在しないように見える。しかしながら、第1のトランスポートストリームTS1と第2のトランスポートストリームTS2で同じ番組番号の番組を抽出する場合は、混合選択複数番組パケットデータ列Pemsにおいて同じ番組番号を有する異なる番組コンテンツパケットデータPcが存在する。またパケット識別子PIDに関しては、番組番号とは関係なくトランスポートストリームTS毎に固有にそのパケットデータPに付与できるので、やはり混合選択複数番組パケットデータ列Pemsにおいて同一のパケット識別子PIDを有する異なるパケットデータPが存在する。
【0235】
なお、指定番組以外のトランスポートストリームTS1の番組3を示す番組コンテンツパケットデータ管理表PMT3や、第2のトランスポートストリームTS2の番組6の番組コンテンツパケットデータ管理表PMT6が抽出されることもある。このように、入力されるトランスポートストリームTSに連続的に配列されたパケットデータPから所定の複数の番組に対応するパケットデータPのみが離散的に抽出されると共に、トランスポートストリームデコーダTDAA2に到着した順番に出力される。
【0236】
図25に、混合選択複数番組パケットデータ列Pemsから生成される複数TS複数番組パケットデータ列Pmsmの構成の一例を示す。本例においては、第1のトランスポートストリームTS1の番組1の番組映像コンテンツパケットデータPcVである番組コンテンツパケットデータPc101_1、Pc101_2、・・・と、番組2の番組映像コンテンツパケットデータPcVである番組コンテンツパケットデータPc番組201_1、Pc201_2、・・・とが抽出される。そして、第2のトランスポートストリームTS2の番組4の番組映像コンテンツパケットデータPcVである番組コンテンツパケットデータPc401_1、Pc401_2、・・・と、番組5の番組映像コンテンツパケットデータPcVである番組コンテンツパケットデータPc501_1、Pc501_2、・・・とが抽出されて、例えば番組コンテンツパケットデータPc101_1、Pc401_1、Pc201_1、Pc501_1、Pc101_2、Pc401_2、Pc201_2、Pc501_2・・・の順番に複数TS複数番組映像コンテンツパケットデータ列PmsmVとして出力される。
【0237】
同様に、第1のトランスポートストリームTS1の番組1および番組2の番組音声コンテンツパケットデータPcSである番組コンテンツパケットデータPc111_1、Pc111_2、・・・と番組コンテンツパケットデータPc211_1、Pc211_2、・・・が抽出されると共に、トランスポートストリームTS2の番組3および番組4の番組音声コンテンツパケットデータPcSである番組コンテンツパケットデータPc411_1、Pc411_2、・・・と番組コンテンツパケットデータPc511_1、Pc511_2、・・・が抽出されて、番組コンテンツパケットデータPc111_1、Pc411_1、Pc211_1、Pc511_1、Pc111_2、Pc411_2、Pc211_2、Pc511_2、・・・の順番に複数TS複数番組音声コンテンツパケットデータ列PmsmS音声ストリームとしてメインメモリ900Cに出力される。
【0238】
図26に、混合選択複数番組パケットデータ列PemsのパケットデータPのそれぞれがメインメモリ900Cに蓄積される状態の一例を示す。メインメモリ900Cは、図13を参照して説明したように構成されている。但し、本例においては、映像パケット格納領域A(video)には複数TS複数番組映像コンテンツパケットデータ列PmsmVを構成する番組コンテンツパケットデータPc101_1、Pc401_1、Pc201_1、およびPc501_1、・・・が格納され、音声パケット格納領域A(audio)には複数TS複数番組音声コンテンツパケットデータ列PmsmSを構成する番組コンテンツパケットデータPc111_1、Pc411_1、Pc211_1、およびPc511_1、・・・が格納される。
【0239】
図24に戻って、プログラムパケットフィルタ群GPCF、調停機能付きメインメモリ制御器700Cr、およびストリーム入力器600Cについて説明する。プログラムパケットフィルタ群GPCFは、図10に示した拡張プログラムパケットフィルタEPCFを複数個、つまり入力されるトランスポートストリームTSに対して1ずつ有する。同例においては、プログラムパケットフィルタ群GPCFは、ストリーム入力器500Cに接続されて第1のトランスポートストリームTS1を第1の転送単位TS1dで入力される第1の拡張プログラムパケットフィルタEPCF1と、ストリーム入力器600Cに接続されて第2のトランスポートストリームTS2を第2の転送単位TS2dで入力される第2の拡張プログラムパケットフィルタEPCF2とを有する。
【0240】
拡張プログラムパケットフィルタEPCF1は、第1のトランスポートストリームTS1から第1の選択複数番組パケットデータ列Pem1を生成して調停機能付きメインメモリ制御器700Crに出力する。同様に、第2の拡張プログラムパケットフィルタEPCF2は、第2のトランスポートストリームTS2から第2のトランスポートストリームTS2から第2の選択複数番組パケットデータ列Pem2を生成して調停機能付きメインメモリ制御器700Crに出力する。
【0241】
調停機能付きメインメモリ制御器700Crは、図10に示したメインメモリ制御器700Cに、調停器を追加して構成される。この調停器は、プログラムパケットフィルタ群GPCFから入力される第1の選択複数番組パケットデータ列Pem1および選択複数番組パケットデータ列Pem2において、2つのパケットデータPが同時に入力された場合に、メインメモリ900Cに選択複数番組パケットデータ列Pemとして出力する順番を決定して、メインメモリ制御器700Cへの入力とメインメモリ900Cへの出力を調停する。
【0242】
メインメモリ900Cは、トランスポートストリームデコーダTDAA1におけるのと同様に、メインメモリ制御器700Cを経由して、プログラムパケットフィルタ群GPCFから混合選択複数番組パケットデータ列Pemsを格納することによって、内部に複数TS複数番組パケットデータ列Pmsmを形成する。格納する。さらに、調停機能付きメインメモリ制御器700Crは、AVデコーダ2000Cに代表される外部機器からの要求に応じてメインメモリ900Cから複数TS複数番組パケットデータ列Pmsmを読み出して出力する。
【0243】
この場合、ユーザが異なるトランスポートストリームTSに含まれる複数の番組の中から1つ以上の番組を選択して、それぞれに対するデータ処理(例えば番組1はモニターで表示し、番組4は録画する等)要求に応えるために、トランスポートストリームデコーダTDAA2は、トランスポートストリームデコーダTDAA1において識別すべき状況に加えて下記に述べる状況とその情報を生成して保持する必要がある。追加的に識別すべき状況とは、複数のトランスポートストリームTSのそれぞれから番組が選択されるため、同じパケット識別子PIDを有する異なるパケットデータPが選択されることがある。この場合、パケット識別子PIDだけでは判らない、各パケットデータPと選択された番組の関係の情報が必須である。
【0244】
さらに、単一のトランスポートストリームTSから複数の番組を選択する場合には、対応するパケットデータPは必ず到着時間が異なる。それゆえに、対応するパケットデータPを到着した順番に、パケットデータPは選択複数番組パケットデータ列Pemや複数番組パケットデータ列Pmsとして出力できる。しかしながら、異なるトランスポートストリームTSにおいては、同時に到着する複数のパケットデータPが選択されることがある。そのような、到着時刻が同一のパケットデータPを、混合選択複数番組パケットデータ列Pemsとしてメインメモリ900Cに出力する場合には、到着時刻に関係なく順番に出力されなければならない。結果、メインメモリ900C中で複数TS複数番組パケットデータ列Pmsmを形成する際に、トランスポートストリームTSの正しい時間的関係を到着した順番で保証することができない。
【0245】
さらに、トランスポートストリームTSが異なれば、それを構成するパケットデータPのサイズや転送速度が異なることが多い。例えば、トランスポートストリームTS1は、
第2のトランスポートストリームTS2に比べて、パケットデータPのサイズが小さく、且つ転送速度が速い場合について考える。今、第2のトランスポートストリームTS2のパケットデータP(TS2−1)が到着した直後に、第1のトランスポートストリームTS1のパケットデータP(TS1−1)が到着したとする。この場合、パケットデータP(TS2−1)が第2の拡張プログラムパケットフィルタEPCF2から、第2の転送単位TS2で調停機能付きメインメモリ制御器700Crへの転送が開始される。その直後に、パケットデータP(TS1−1)が拡張プログラムパケットフィルタEPCF1から、第1の転送単位TS1dで調停機能付きメインメモリ制御器700Crへの転送が開始される。
【0246】
しかしながら、パケットデータP(TS1−1)はパケットデータP(TS2−1)に比べてサイズが小さくかつ第1のトランスポートストリームTS1の転送速度は第2のトランスポートストリームTS2のそれに比べて大きい。そのため、パケットデータP(TS2−1)の転送中に、第1のトランスポートストリームTS1のパケットデータP(TS1−1)の転送が終了してしまい、さらに後続のパケットデータP(TS2−2)の転送が開始する事態になる。
【0247】
つまり、トランスポートストリームTSが異なると、遅れて到着したパケットデータPが先に到着したパケットデータPを追い越して、メインメモリ900Cに出力されることになる。このような場合、到着した順番に混合選択複数番組パケットデータ列Pemsとして出力することによって、メインメモリ900C中に正しく複数TS複数番組パケットデータ列Pmsmを形成することは不可能である。よって、このような事態においても、複数TS複数番組パケットデータ列Pmsmにおいて、異なるトランスポートストリームTSから抽出されたパケットデータPが正しく再生できるように、トランスポートストリームTSにおけるパケットデータPの時系列情報が必須である。
【0248】
そこで、本実施形態においては、逐次入力されてくるトランスポートストリームTSを構成する全パケットデータPを個々にバッファリングすると共に、個々にバッファリングされているパケットデータPを識別して、同パケットデータPがユーザの所望する処理対象であるかを判断して、同パケットデータPに対するアクセスおよび処理をリアルタイム制御する機能を備えたデータバッファリング装置を新たに考案する。さらに、リアルタイム処理時間内でのアクセス或いは加工時間を保証するために、対象パケットデータをバッファセル内に所定時間だけ確保することをソフトウェア制御で保証し、それ以外の受動的処理についてはハードウェア制御に任せる。結果、パケットデータP単位でのより柔軟な識別管理を可能にし、識別されたパケットデータPに対して固有の処理を施す後行程に対する処理タイミング調整も容易なパケットデータ処理決定器を提供するものである。
【0249】
そこで、本実施形態においては、第1の実施形態におけるバッファリング装置に対して、パケットデータP単位でのトランスポートストリームTSの識別、さらにパケットデータPの時系列識別機能を付加したパケットデータ処理決定器を提供するものである。
【0250】
図15に、本例にかかるデータバッファリング装置DBA2を組み込んだトランスポートストリームデコーダTD2を示す。トランスポートストリームデコーダTD2は、データバッファリング装置DBA1がデータバッファリング装置DBA2に置き換えられると共に、ストリーム入力器TSRが第1ストリーム入力器TSR_1と第2ストリーム入力器TSR_2に置き換えられ、メインメモリ900がメインメモリ900rに置き換えられ、さらにTD制御器TDC1がTD制御器TDC2に置き換えられている点を除けば、図1に示したトランスポートストリームデコーダTD1と同様に構成される。なお、トランスポートストリームデコーダTD2に同時に入力されるトランスポートストリームTSの数Nの分だけ、N個のストリーム入力器TSR_1〜TSR_Nが用意される。なお、
本例においては、2つのトランスポートストリームTSが入力される場合について具体的に述べる。
【0251】
さらに、データバッファリング装置DBA2も、パケットバッファリング調停器PBA1がパケットバッファリング調停器PBA2に置き換えられ、制御器PBAC1が制御器PBAC2に置き換えられると共に、パケット選択器400がパケット選択器400rに置き換えられている点を除けば、図1に示したデータバッファリング装置DBA1と同様に構成される。
【0252】
また、パケットバッファリング調停器PBA2は、DMAバス調停器210がDMAバス調停器210rに置き換えられ、バッファセル割当情報格納器240がバッファセル割当情報格納器240rに置き換えられ、パケットバッファ270がパケットバッファ270rに置き換えられると共に、蓄積完了バッファセル番号メモリ290が蓄積完了バッファセル番号メモリ290rに置き換えられている点を除けば、図1に示したパケットバッファリング調停器PBA1と同様に構成される。
【0253】
これらの新たに設けられた構成要素について説明する前に、先ず、および図22と既述の図20および図21を参照して、本実施形態におけるトランスポートストリームデコーダTD2の基本的概念について述べる。トランスポートストリームデコーダTDには、既に図20を参照して説明したデータ構成を有する第1のトランスポートストリームTS1および第2のトランスポートストリームTS2の少なくとも2つのトランスポートストリームTSが入力される。
【0254】
ストリームTS1に含まれる第1の選択複数番組パケットデータ列Pem1(図21)に相当する番組1および番組2のパケットデータPを抽出すると共に、第2のトランスポートストリームTS2に含まれる第2の選択複数番組パケットデータ列Pem2(図21)に相当する番組4および番組5のパケットデータPを選択複数TS複数番組パケットデータ列Pemmとして抽出する。そして、選択複数TS複数番組パケットデータ列Pemmは、メインメモリ900に格納されて、図25を参照して説明した複数TS複数番組パケットデータ列Pmsmが形成される。
【0255】
図22に、外部に設けられたフロントエンド部を介してトランスポートストリームデコーダTD2に入力されたトランスポートストリームTS1およびTS2から抽出された選択複数TS複数番組パケットデータ列Pemmに含まれるパケットデータPのそれぞれのメインメモリ900rにおける蓄積状態の一例を示す。なお、同図において、ストリーム入力器TSR_N、データバッファリング装置DBA2、メインメモリ制御器700、TD制御器TDC2、および副次処理要求入力器APRは、トランスポートストリーム編集部TD2rと表示されている。
【0256】
メインメモリ900Crは、図26示したメインメモリ900Cと同様に、複数TS複数番組映像コンテンツパケットデータ列PmsmVを構成する番組コンテンツパケットデータPc101_1、Pc401_1、Pc201_1、およびPc501_1、・・・を格納する映像パケット格納領域A(video)と、複数TS複数番組音声コンテンツパケットデータ列PmsmSを構成する番組コンテンツパケットデータPc111_1、Pc411_1、Pc211_1、およびPc511_1、・・・を格納する音声パケット格納領域A(audio)とを有する。
【0257】
メインメモリ900Crは、さらに、番組コンテンツ管理表PATの情報および番組コンテンツパケットデータ管理表PMTを格納するPAT格納領域Ar(PAT)を有する。しかしながら、メインメモリ900CのPAT格納領域A(PAT)とは異なり、PAT格納領域Ar(PAT)には入力されるトランスポートストリームTS1〜TSεのそれぞれに専用に格納すべく細分化されている。このような構成において、メインメモリ900Cは、トランスポートストリームTS毎に選別して番組コンテンツ管理表PATを格納するPAT格納領域Ar(PAT)と、番組コンテンツパケットデータ管理表PMTの情報をトランスポートストリームTS毎に選別して格納するPMT格納領域Ar(PMT)を有する。
【0258】
なお、PMT格納領域Ar(PMT)は、トランスポートストリームTSに含まれている番組コンテンツパケットデータ管理表PMT(番組)の種類(α)だけ用意されることは言うまでも無い。このように、構成することによって、入力されるトランスポートストリームTS毎に読み込んだ管理パケットデータPcAを識別して管理できるので、今後配信される番組に関する情報をトランスポートストリームTS毎に容易に知ることができる。
【0259】
上述のごとく、個々のトランスポートストリームTSに含まれるすべてのパケットデータPはパケット識別子PIDによって個別に識別できる。しかしがら、2つ以上のトランスポートストリームTSが入力される場合には、トランスポートストリームTSが異なれば、同じパケット識別子PIDを有する異なるパケットデータPが存在する。トランスポートストリームデコーダTD2に入力される全パケットデータPを識別するために、本実施形態においてはトランスポートストリームTSのそれぞれを識別するトランスポートストリーム識別子TSiをパケットデータPに付与して管理する。これについては、後ほど詳しく説明する。
【0260】
図15に戻って、トランスポートストリームデコーダTD2に固有の構成要素について詳しく説明する。第1ストリーム入力器TSR_1および第2ストリーム入力器TSR_2は、それぞれに入力される第1のトランスポートストリームTS1と第2のトランスポートストリームTS2とを識別するためのIDであるトランスポートストリーム識別子TSiを付与して、それぞれを転送単位TSd1および転送単位TSd2として出力する。なお、転送単位TSd1およびTSd2に関しては、図16を参照して後ほど説明するが、本例においては8バイトに設定されているが、データバッファリング装置DBA2における調停負荷および伝送効率を考慮して任意に定めることができる。
【0261】
データバッファリング装置DBA2は、第1ストリーム入力器TSR_1および第2ストリーム入力器TSR_2から供給される転送単位TSd1およびTSd2の第1のトランスポートストリームTS1および第2のトランスポートストリームTS2をパケットデータP単位で管理蓄積すると共に、選択複数TS複数番組パケットデータ列Pemmで出力する。
【0262】
メインメモリ900rは、データバッファリング装置DBA2から出力される第1のトランスポートストリームTS1および第2のトランスポートストリームTS2から抽出された選択複数TS複数番組パケットデータ列Pemmを格納すると共に、AVデコーダに代表される外部機器(図示せず)に複数TS複数番組パケットデータ列Pmsmとして出力する。
【0263】
メインメモリ制御器700は、選択複数TS複数番組パケットデータ列Pemmおよび複数TS複数番組パケットデータ列Pmsmを転送単位TSd毎に一時的に保持すると共に、メインメモリ900rの動作を制御する。
【0264】
TD制御器TDC2は、トランスポートストリームデコーダTD2全体の動作を制御する。なお、トランスポートストリームデコーダTD2は、上述の各構成要素の動作状態を
示す状態信号SrW2を生成してTD制御器TDC2に出力する。TD制御器TDC2は、状態信号SrW2に基づいて、トランスポートストリームデコーダTD2の各構成要素の動作を制御する制御信号ScW2を生成して、トランスポートストリームデコーダTD2を制御する。なお、状態信号SrW2および制御信号ScW2の生成およびトランスポートストリームデコーダTD2の制御は公知の技術であるので説明を省く。
【0265】
パケットバッファリング調停器PBA2は、第1ストリーム入力器TSR_1から転送単位TSd1で入力されるトランスポートストリームTS1と第2ストリーム入力器TSR_2から転送単位TSd2で入力されるトランスポートストリームTS2をパケット、つまりパケットデータPの単位で識別管理してバッファリングする。制御器PBAC2は、パケットバッファリング調停器PBA2の動作を制御する。
【0266】
パケットバッファリング調停器PBA2は、DMAバス調停器210r、TSd入力開始検出器220、バッファセル割当器230、バッファセル割当情報格納器240、書込先バッファセル指定器250、パケットバッファ制御器260、パケットバッファ270、蓄積完了バッファセル番号メモリ制御器280、蓄積完了バッファセル番号メモリ290、およびパケットアクセス器300を含む。
【0267】
DMAバス調停器210rは、第1ストリーム入力器TSR_1から出力される第1のパケット先頭検出信号Sps1、第1のリクエスト信号Srq1、および第1の転送単位TSd1からの入力を受ける第1の入力ポート群と、第2ストリーム入力器TSR_2から出力される第2のパケット先頭検出信号Sps2、第2のリクエスト信号Srq2、および第2の転送単位TSd2からの入力を受ける第2の入力ポート群とを有する。
【0268】
なお、DMAバス調停器210rには、同時に入力されるトランスポートストリームTSの数に応じて用意されるストリーム入力器TSR毎に入力ポート群が用意されることは言うまでも無い。このように、入力されるトランスポートストリームTS毎に入力ポート群を備えることによって、入力ポート群毎に、トランスポートストリームデコーダTD2に入力されているトランスポートストリームTSを識別できる。
【0269】
さらに、DMAバス調停器210rは、第1ストリーム入力器TSR_1に第1のデータ有効信号Sde1を出力する第1の出力ポートと、第2ストリーム入力器TSR_2に第2のデータ有効信号Sde2を出力する第2の出力ポートを有する。なお、DMAバス調停器210rには、同時に入力されるトランスポートストリームTSの数に応じて用意されるストリーム入力器TSR毎にデータ有効信号Sdeを出力する出力ポートが用意されることは言うまでも無い。
【0270】
DMAバス調停器210rは、主に、第1ストリーム入力器TSR_1および第2ストリーム入力器TSR_2とパケットバッファ制御器260との間での第1のトランスポートストリームTS1および第2のトランスポートストリームTS2の転送単位TSd1および転送単位TSd2での入出力を調停する。つまり、DMAバス調停器210rは第1ストリーム入力器TSR_1から入力される第1のパケット先頭検出信号Sps1および第1のリクエスト信号Srq1に基づいて、第1のパケット先頭検出信号Sps1をTSd入力開始検出器220に出力する。第1ストリーム入力器TSR_1は、DMAバス調停器210rから入力される第1のデータ有効信号Sde1に応答して、第1の転送単位TSd1のを供給する。
【0271】
同様に、DMAバス調停器210rは第2ストリーム入力器TSR_2から入力される第2のパケット先頭検出信号Sps2、第2のリクエスト信号Srq2、および第2の転送単位TSd2に基づいて、TSd入力開始検出器220に第2のパケット先頭検出信号
Sps2および第2の転送単位TSd2を供給する。
【0272】
TSd入力開始検出器220は、パケットデータP毎に第1の転送単位TSd1或いは第2の転送単位TSd2の入力開始を検出する毎に、入力が開始されたパケットデータPを格納するために、パケットバッファ270rのバッファセルBcの1つを割当を要求するバッファセル要求信号Sbaを生成してバッファセル割当器230に出力する。さらに、割り当てられたバッファセルに対する書込を開始できる状態であることを示す書込許可信号Swを生成して書込先バッファセル指定器250に出力する。
【0273】
バッファセル割当器230、バッファセル割当情報格納器240r、および書込先バッファセル指定器250は、上述の第1の実施形態におけるのと同じ動作を行う。
【0274】
パケットバッファ制御器260は、書込要求信号Swdに応答して、TSd入力開始検出器220から供給される転送単位TSd1或いは転送単位TSd2を、パケットバッファ270rの割り当てられたバッファセルに書き込む。このとき、DMAバス調停器210rはTSR_1からのデータ(すなわちTSd1)か、TSR_2からのデータ(すなわちTSd2)かを、パケットバッファ制御器260に通知する。TSd1若しくはTSd2には後に説明するが、予めそれがどちらのトランスポートストリームのデータであるかを示す印が付加されており、パケットバッファ制御器260はバッファセル中の蓄積されたデータに付加されたこれらの情報と、DMAバス調停器210rから通知された情報とを比較することで、正しいストリームの情報を区別しながら蓄積してゆく。さらに、パケットバッファ制御器260は、割り当てられたバッファセルに書き込んだデータのバイト数をカウントすることによって、パケットデータP分の転送単位TSd1或いはTSd2が書き込まれたことを検出して、DMAバス調停器210rからの1パケットデータPのデータ転送が終了したことを示す転送終了信号Stfを生成して、蓄積完了バッファセル番号メモリ制御器280に出力する。
【0275】
蓄積完了バッファセル番号メモリ制御器280は、バッファセル割当情報格納器240rから入力されたバッファセル割当情報Ibaとパケットバッファ制御器260から入力された転送終了信号Stfに基づいて、1パケットデータPが書き込まれたバッファセルBcを示すバッファセル番号信号Sbnと、バッファセル番号Nbcを書き込む記憶領域を示すライトポインタWPを1つ進めるライトポイント更新信号Swpを生成して蓄積完了バッファセル番号メモリ290rに出力する。
【0276】
蓄積完了バッファセル番号メモリ290rは、現在ライトポインタWPが示す記憶領域に、バッファセル番号信号Sbnの示すバッファセル番号Nbcを記録すると共に、バッファセル番号信号Sbnに応答してライトポインタWPの位置を1つ進めて、バッファセル番号Nbcを記録した領域の次の領域を指し示させる。なお、本実施形態においては、蓄積完了バッファセル番号メモリ290rは図2を参照して説明するように、好ましくはリングメモリで構成されるので、このようにバッファセルに書込を終了する毎にライトポインタWPを1つずつ進めることによって、蓄積完了バッファセル番号メモリ290rの記憶領域に記憶されているバッファセル番号Nbcを適正に更新できる。
【0277】
なお、パケットアクセス器300は、パケットバッファ制御器260およびDMAバス調停器210rを経由して、パケットバッファ270のバッファセルBcに格納されているパケットデータPを転送単位TSd毎に選択的に読み出して、参照したり或いは編集等の処理を施した後にDMAバス調停器210rおよびパケットバッファ制御器260を経由してパケットバッファ270rのバッファセルBcに格納されている元のパケットデータPを上書き更新する。
【0278】
なお、パケットバッファリング調停器PBA2は、上述の各構成要素の動作状態を示す状態信号Sr2を生成して制御器PBAC2に出力する。制御器PBAC2は、状態信号Sr2に基づいて、パケットバッファリング調停器PBA2の各構成要素の動作を制御する制御信号Sc2を生成して、パケットバッファリング調停器PBA2に出力する。なお、状態信号Sr2および制御信号Sc2の生成する制御器PBAC2の制御動作は公知の技術であるので説明を省く。
【0279】
バッファセル割当情報格納器240r、パケットバッファ270r、および蓄積完了バッファセル番号メモリ290rは、図2を参照して説明したバッファセル割当情報格納器240、パケットバッファ270、および蓄積完了バッファセル番号メモリ290のそれぞれと基本的同じ構成を有している。但し、パケットバッファ270rにおいては、バッファセルBcの個数Nは2ε以上の整数である。
【0280】
これは、入力されるトランスポートストリームTS毎に、パケットデータPの蓄積用と蓄積したパケットデータPの読み出し用に異なるバッファセルBcが1つは必要であるからである。なお、本例においては、第1のトランスポートストリームTS1と第2のトランスポートストリームTS2の2つ(ε=2)のトランスポートストリームTSが入力されているので、バッファセルBcの個数Nは4(2×2)以上の整数である。
【0281】
最低バッファ容量MBUは、分割の有無に関わらず格納するデータに管理情報に相当する管理バイトを足したものになる。管理情報には少なくとも、格納する分割/非分割データが入力される複数のトランスポートストリームTSのどれに属するかを示すトランスポートストリーム識別情報を含む。
【0282】
また、パケットを分割して格納する場合には、最低バッファ容量MBUはパケットデータPの分割後のデータの最大サイズに分割情報とトランスポートストリームパケット識別情報を含む管理データサイズの和になる。この場合、バッファセルBcの個数Nの最小値であるバッファセル最少個数Nminは2εに分割数Dを乗じたもの(バッファセル最少個数Nminは2εD)になる。つまり、本実施形態においては、バッファセル最少個数Nminは4Dと表現される。
【0283】
さらに、異なるパケットデータP間の入力レートの違いについて述べる。つまり、トランスポートストリームデコーダTD2に入力される複数のトランスポートストリームTSのそれぞれに含まれるパケットデータPの入力レートは、トランスポートストリームTS毎に異なることが多い。第1のトランスポートストリームTS1の番組1の番組コンテンツパケットデータPc101およびPc111と、第2のトランスポートストリームTS2の第4の番組コンテンツパケットデータPc401およびPc411とをバッファリングする場合に、番組コンテンツパケットデータPc401の入力レートが番組コンテンツパケットデータPc101の入力レートに比べて圧倒的に大きい場合を例にして考える。
【0284】
この場合、番組コンテンツパケットデータPc101とPc401が同時にトランスポートストリームデコーダTD2に到着したとしても、DMAバス調停器210rに調停されて、一方(例えば、番組コンテンツパケットデータPc101)のバッファリングが他方(例えば、番組コンテンツパケットデータPc401)より先に始まる。そして、番組コンテンツパケットデータPc101のバッファリングの開始に引き続いて番組コンテンツパケットデータPc401のバッファリングが開始する。しかしながら、番組コンテンツパケットデータPc401の入力レートは番組コンテンツパケットデータPc101の入力レートに比べて圧倒的に大きいために、番組コンテンツパケットデータPc401のバッファリング途中で、番組コンテンツパケットデータPc101の入力が完了してしまう。
【0285】
このような事態に対応するべく、番組コンテンツパケットデータPc101のバッファリング中に、後から入力される高レートの番組コンテンツパケットデータPc411のバッファリングするためにバッファセルBcを用意する必要がある。この場合のバッファセル最少個数Nminは、入力されるトランスポートストリームTSの番組コンテンツパケットデータPcの入力レートに基づいて決定されるが、最低バッファ容量MBUを一定とすれば、バッファセル最少個数Nminは一般に入力トランスポートストリームTSの数に比例し、入力トランスポートストリーム間で入力レートが著しく異なる番組コンテンツパケットデータPcの数に応じた分だけ増加する。
【0286】
なお、本例においては、最低バッファ容量MBUは1パケットデータPに所定の管理データを付加したものを格納できるように定めており、具体的には188バイトの1パケットデータPに4バイトの管理データを付加したものを格納できるように192バイトとしている。また、4バイトの管理データには、上述のトランスポートストリーム識別情報と共に、当該パケットデータPの到着時間を示すタイムスタンプ情報も含まれている。これについては、後ほど図16を参照して説明する。
【0287】
バッファセル割当情報格納器240rは、パケットバッファ270rのバッファセルBc1〜BcNのそれぞれに対応するバッファセル割当情報領域Ac1〜AcNを有することは上述の通りである。また、蓄積完了バッファセル番号メモリ290rは、バッファセル割当情報格納器240rのバッファセルBc1〜BcNと同数だけ用意する必要は無く、M個のバッファセル指定領域Rc1〜Rcmを用意すれば良いことも上述の通りである。
【0288】
次に図16に示す波形図を参照して、第1ストリーム入力器TSR_1、第2ストリーム入力器TSR_2、DMAバス調停器210r、およびパケットバッファ制御器260の動作について簡単に説明する。紙面の都合上、図面上においては、第1のトランスポートストリームTS1と第2のトランスポートストリームTS2、第1のパケット先頭検出信号Sps1と第2のパケット先頭検出信号Sps2、第1のリクエスト信号Srq1と第2のリクエスト信号Srq2、第1のデータ有効信号Sde1と第2のデータ有効信号Sde2、および第1の転送単位TSd1と第2の転送単位TSd2のそれぞれを1つの代表的な波形で表示している。しかしこれらの信号のそれぞれは、本来、個別にタイミングや波形の相違が許されるものである。以下に第1のトランスポートストリームTS1に関してのみ具体的に説明し、冗長を避けるために第2のトランスポートストリームTS2に関する説明を省く。
【0289】
図16に示すように、それぞれが188バイトのデータで構成されるパケットデータPからなる第1のトランスポートストリームTS1は、外部のトランスポートストリーム源から1バイトずつ、入力転送クロックCkに同期して第1ストリーム入力器TSR_1に順次入力される。なお、1バイト単位の代わりに1ビット単位で入力される場合もある。
【0290】
第1ストリーム入力器TSR_1は、パケットデータP毎に、最初の1バイトの同期データを検出した時点でパケットデータPのパケット先頭を検出する。そして、パケット先頭を検出する都度、第1のパケット先頭検出信号Sps1を生成してDMAバス調停器210rに出力する。
【0291】
第1ストリーム入力器TSR_1は、さらに、パケット先頭を検出した時点で、パケットデータPの到着した時刻を示すタイムスタンプStとそのパケットデータPが第1のトランスポートストリームTSであること示すトランスポートストリーム識別子TSiを生成する。なお、トランスポートストリーム識別子TSiは言い換えれば、そのトランスポートストリームTSがDMAバス調停器210rの第1の入力ポート群に入力されていることを示し、さらに第1ストリーム入力器TSR_1から入力されていることを示す。
【0292】
なお、タイムスタンプStのバイト数はトランスポートストリームデコーダTD2における処理精度によって任意に決めることができるが、本例においては好ましくは3バイトで表現する。また、トランスポートストリーム識別子TSiのバイト数は、トランスポートストリームデコーダTD2に入力されるすべてのトランスポートストリームTSを識別するに十分であれば良いので、本例においては1バイトで表現する。第1ストリーム入力器TSR_1は、タイムスタンプStとトランスポートストリーム識別子TSiとを併せて管理情報IMを生成して、入力されるパケットデータPの先頭に付加して、第1の転送単位TSd1を生成する。
【0293】
このように、管理情報IMとしてタイムスタンプStおよびトランスポートストリーム識別子TSiをパケットデータPに付与することによって、それぞれ異なるトランスポートストリームTSに含まれるパケットデータPを正しく識別することが可能となる。さらに、上述のように、異なるパケットデータP間での入力レートの違いに起因する、後で到着したパケットデータPが先に到着したパケットデータPが入力を完了する前に入力を完了してしまうという、所謂追越しパケットが生じた場合にも、管理情報IMに基づいてそれらのパケットを入力した順番に正しく処理できる。
【0294】
本実施形態においても、上述の第1の実施形態の例と同様に、第1の転送単位TSd1は8バイトに設定される。第1ストリーム入力器TSR_1は、転送データ量が8バイト毎に、DMAバス調停器210rに対して、第1の転送単位TSd1の入力を受け付けるよう要求する第1のリクエスト信号Srq1を生成して、DMAバス調停器210rに出力する。
【0295】
つまり、第1のトランスポートストリームTS1のパケットデータPの先頭である同期バイトBsyncを検出した時点で、3バイトのタイムスタンプStと1バイトのトランスポートストリーム識別子TSiからなる合計4バイトの管理情報IMが生成されるので、先頭の同期バイトBsyncから4バイトが入力された時点で、第1ストリーム入力器TSR_1は第1のリクエスト信号Srq1を生成する。なお、5バイト目以降については、8バイト毎に第1のリクエスト信号Srq1が生成される。つまり、各パケットデータPの1番目に出力される転送単位TSdの最初の4バイトは、トランスポートストリームデコーダTD2によって生成された管理情報IMであって、トランスポートストリームTSのパケットデータPそのものではない。
【0296】
なお、複数のトランスポートストリームTSのそれぞれを識別する必要がある場合には、タイムスタンプStε、トランスポートストリーム識別子TSiε、および管理情報IMεと表示するもとのする。εは、ストリーム入力器TSRに入力される複数のトランスポートストリームTSの何番目かを示す自然数である。具体的には、第1のトランスポートストリームTS1に関しては、第1のパケット先頭検出信号Sps1、第1のリクエスト信号Srq1、第1のデータ有効信号Sde1、第1の転送単位TSd1、タイムスタンプSt1、トランスポートストリーム識別子TSi1、および第1ストリーム入力器TSR_1と表現する。同様に、第2のトランスポートストリームTS2に関しては、第2のパケット先頭検出信号Sps2、第2のリクエスト信号Srq2、第2のデータ有効信号Sde2、第2の転送単位TSd2、タイムスタンプSt2、第2のパケット先頭検出信号Sps2、トランスポートストリーム識別子TSi2、およびストリーム入力器TSR_2と表現する。
【0297】
DMAバス調停器210rは、第1のリクエスト信号Srq1に応答して、その入出力を調停して、第1ストリーム入力器TSR_1からの第1の転送単位TSd1の入力の準備を整える。そして、準備が整った時点(第1のリクエスト信号Srq1より時間Ta後)に、第1のデータ有効信号Sde1を生成して第1ストリーム入力器TSR_1に出力する。
【0298】
第1ストリーム入力器TSR_1は、第1のデータ有効信号Sde1に応答して、内部のバッファに蓄積されているパケットデータPのデータを8バイトずつ第1の転送単位TSd1としてDMAバス調停器210rに出力する。
【0299】
第1ストリーム入力器TSR_1とDMAバス調停器210rに関して説明したのと同様の方法で、第2ストリーム入力器TSR_2は第2のパケット先頭検出信号Sps2および第2のリクエスト信号Srq2を生成してDMAバス調停器210rに出力する。DMAバス調停器210rは、第2のリクエスト信号Srq2に応答して第2のデータ有効信号Sde2を第2ストリーム入力器TSR_2に出力する。
【0300】
第2ストリーム入力器TSR_2は、第2の転送単位TSd2を生成すると共に、第2のデータ有効信号Sde2に応答して、生成した第2の転送単位TSd2をDMAバス調停器210rに出力する。
【0301】
DMAバス調停器210rは、第2ストリーム入力器TSR_2から入力された第1のパケット先頭検出信号Sps1、第2のパケット先頭検出信号Sps2、第1の転送単位TSd1、および第2の転送単位TSd2をTSd入力開始検出器220に出力する。
【0302】
TSd入力開始検出器220は、第1のパケット先頭検出信号Sps1および第1の転送単位TSd1に基づいて、パケットデータP毎に第1の転送単位TSd1の入力が開始されたことを検出すると共に、第1の転送単位TSd1をパケットバッファ制御器260に供給する。
【0303】
同様に、TSd入力開始検出器220は、第2のパケット先頭検出信号Sps2および第2の転送単位TSd2に基づいて、パケットデータP毎に第2の転送単位TSd2の入力が開始されたことを検出すると共に、第2の転送単位TSd2をパケットバッファ制御器260に供給する。
【0304】
上述のようにして、TSd入力開始検出器220は、第1の転送単位TSd1或いは第2の転送単位TSd2の入力開始を検出する度に、現在入力が開始されたパケットデータPを格納するためにパケットバッファ270のバッファセルBcの1つを割当を要求するバッファセル要求信号Sbaを生成してバッファセル割当器230に出力する。さらに、割り当てられたバッファセルに対する書込を開始できる状態であることを示す書込許可信号Swを生成して書込先バッファセル指定器250に出力する。
【0305】
パケットバッファ制御器260は、DMAバス調停器210rおよびTSd入力開始検出器220を経由して入力される第1の転送単位TSd1および第2の転送単位TSd2を、書込先バッファセル指定器250から入力される書込要求信号Swdに基づいて、パケットバッファ270rの割り当てられたバッファセルBcに書き込む。そして、1パケットデータP分の第1の転送単位TSd1或いは第2の転送単位TSd2を書き込んだ時点で転送終了信号Stfを生成して蓄積完了バッファセル番号メモリ制御器280に出力する。
【0306】
次に、図17、図18、および図19を参照して、上述のトランスポートストリームデコーダTD2の動作について詳しく説明する。図17に示すように、トランスポートストリームデコーダTD2における動作は、図4を参照して説明したトランスポートストリームデコーダTD1における動作と類似しているが、入力される複数のトランスポートストリームTS1〜TSεのパケットデータPに対する処理を可能にするために、以下に述べるように8つのサブルーチンにおける処理が変更されている。
【0307】
つまり、ステップ#200の「単一トランスポートストリームTSの提供番組および可能処理提示」サブルーチンが、ステップ#200Rの「複数トランスポートストリームTS1〜TSεの提供番組および可能処理提示」サブルーチンに置き換えられている。
【0308】
ステップ#300の「単一トランスポートストリームTSに対する処理要求検出」サブルーチンが、ステップ#300Rの「複数トランスポートストリームTS1〜TSεに対する処理要求検出」サブルーチンに置き換えられている。
ステップ#400の「単一トランスポートストリームTSに対する処理内容決定」サブルーチンが、ステップ#400Rの「複数トランスポートストリームTS1〜TSεに対する処理内容決定」サブルーチンに置き換えられている。
【0309】
ステップ#500の「処理対象パケットデータ識別情報PIDd生成」サブルーチンが、ステップ#500Rの「処理対象パケットデータ識別情報PIDdおよび対象トランスポートストリーム識別情報TSid生成」サブルーチンに置き換えられている。
ステップ#600の「単一トランスポートストリームTSのパケットデータP蓄積」サブルーチンが、ステップ#600Rの「複数トランスポートストリームTSのパケットデータP蓄積」サブルーチンに置き換えられている。
【0310】
ステップ#700の「単一トランスポートストリームTSの処理対象パケットデータP選択」サブルーチンが、ステップ#700Rの「複数トランスポートストリームTS1〜TSεの処理対象パケットデータP選択」サブルーチンに置き換えられている。
ステップ#800の「単一トランスポートストリームTSのパケットデータPに要求処理実行」サブルーチンが、ステップ#800Rの「複数トランスポートストリームTS1〜TSεのパケットデータPに要求処理実行」サブルーチンに置き換えられている。
【0311】
そして、ステップ#900の「単一トランスポートストリームTSの処理後パケットデータP蓄積」サブルーチンが、#900Rの「複数トランスポートストリームTS1〜TSεの処理後パケットデータP蓄積」サブルーチンに置き換えられている。
このように構成されたトランスポートストリームデコーダTD2に固有な動作に重点をおいて、ステップ#200R〜#900Rについて以下に説明する。なお、冗長を避けるために、トランスポートストリームデコーダTD1と同じ動作に付いては説明を省く。
【0312】
ステップ#200Rの「複数トランスポートストリームTS1〜TSεの番組および可能処理提示」サブルーチンにおいて、TD制御器TDC2はメインメモリ900rのPAT格納領域Ar(PAT)およびPMT格納領域Ar(PMT)に、トランスポートストリームTSεのそれぞれ毎に個別に格納されている番組コンテンツ管理表PAT1〜PATεおよび番組コンテンツパケットデータ管理表PMT1〜PMTεを読んで配信される番組と、トランスポートストリームデコーダTD2がユーザに提供できる処理機能とを表す番組内容提示信号Sp2を生成して、副次処理要求入力器APRに出力する。
【0313】
ステップ#300Rの「複数トランスポートストリームTS1〜TSεに対する処理要求検出」サブルーチンにおいて、副次処理要求入力器APRは、番組内容提示信号Sp2に基づいて、複数のトランスポートストリームTS1〜TSεに対するユーザの処理要求を検出して、処理要求信号Se2を生成してTD制御器TDC2に出力する。
【0314】
ステップ#400Rの「複数トランスポートストリームTS1〜TSεに対する処理内容決定」サブルーチンにおいて、TD制御器TDC2は処理要求信号Se2に基づいて、トランスポートストリームデコーダTD2側にて行うべき具体的な処理内容を決定して、処理内容情報を生成する。
【0315】
ステップ#500Rの「処理対象パケットデータ識別情報PIDdおよび処理対象トランスポートストリーム識別情報TSid生成」サブルーチンにおいては、TD制御器TDC2は、ステップ#400Rにおいて決定された処理内容情報に基づいて処理すべきパケットデータPを表す処理対象パケットデータ識別情報PIDdと、処理すべきパケットデータPのそれぞれが属するトランスポートストリームTSεを示す処理対象トランスポートストリーム識別情報TSidを生成して、パケット選択器400rに出力する。
【0316】
次に、図18を参照して、ステップ#600Rの「複数トランスポートストリームTS1〜TSεのパケットデータP蓄積」サブルーチンにおける動作について詳細に説明する。本実施形態においては、単一のトランスポートストリームではなく複数のトランスポートストリームのパケットを蓄積するために、図5に示したステップS602、S604、S605、S606、およびS607がストリームの数だけ用意される。
【0317】
さらに、ステップS608、S610、S612、S614、S628、S630、およびS632が、それぞれステップS608R、S610R、S612R、S614R、S628R、S630R、およびS632Rに置き換えられて構成されている。さらに、ステップS605AがステップS604とS605の間に新たに追加されている。
【0318】
以下に、上述のトランスポートストリームデコーダTD2に固有の動作について詳細に述べると共に、ステップ#400Rにおける動作について説明する。
先ず、ステップS602において、外部のトランスポートストリーム供給源から第1のトランスポートストリームTS1が第1ストリーム入力器TSR_1に入力される。
【0319】
同様に、ステップS602‘において、第2のトランスポートストリームTS2が第2ストリーム入力器TSR_2に入力される。なお、本実施形態において、複数のトランスポートストリームTS1〜TSεのεが2の場合を例として説明するが任意の複数場合でも、処理対象のトランスポートストリームTSが増えることを除いて、同様に処理されることは言うまでも無い。
【0320】
ステップS604において、第1ストリーム入力器TSR_1は入力されている第1のトランスポートストリームTS1のパケット先頭を検出して、第1のパケット先頭検出信号Sps1を生成する。そして、処理は次のステップS605A、S606に進む。
【0321】
同様に、ステップS604‘において、第2ストリーム入力器TSR_2は、入力されている第2のトランスポートストリームTS2のパケット先頭を検出して、第2のパケット先頭検出信号Sps2を生成する。そして、処理は次のステップS605A’、S606’に進む。
【0322】
ステップS605Aにおいて、第1ストリーム入力器TSR_1は、第1のトランスポートストリームTS1の先頭バイトを検出した時間に基づいてタイムスタンプSt1を生成し、DMAバス調停器210rの入力ポート群に関連づけられたトランスポートストリーム識別子TSi1を生成し、そして、管理情報IM1を生成する。そして、処理は次のステップS605に進む。
【0323】
同様に、ステップS605A‘において、第2ストリーム入力器TSR_2は、第2の
トランスポートストリームTS2の先頭バイトを検出した時間に基づいてタイムスタンプSt2を生成し、DMAバス調停器210rの入力ポート群に関連づけられたトランスポートストリーム識別子TSi2を生成し、さらに管理情報IM2を生成する。そして、処理は次のステップS605’に進む。
【0324】
ステップS605において、ストリーム入力器TSR_1はパケット先頭以降のパケットデータを内蔵の入力バッファに蓄積する。転送単位TSd分の蓄積が完了すると、処理は次のステップS607に進む。
【0325】
ステップS605‘において、ストリーム入力器TSR_2はパケット先頭以降のパケットデータを内蔵の入力バッファに蓄積する。転送単位TSd分の蓄積が完了すると、処理は次のステップS607’に進む。
【0326】
ステップS607において、ストリーム入力器TSR_1はリクエスト信号Srq1をDMAバス調停器210に出力する。そして、処理は次のステップS608Rに進む。
【0327】
ステップS607‘において、ストリーム入力器TSR_2はリクエスト信号Srq2をDMAバス調停器210に出力する。そして、処理は次のステップS608Rに進む。
【0328】
ステップS608Rにおいて、DMAバス調停器210rは、第1のリクエスト信号Srq1および第2のリクエスト信号Srq2に基づいて、第1ストリーム入力器TSR_1からの第1の転送単位TSd1の入力と、第2ストリーム入力器TSR_2からの第2の転送単位TSd2の入力のために調停を行う。そして、第1の転送単位TSd1および第2の転送単位TSd2のいずれか一方の入力を許可する。そして、処理は次のステップS610Rに進む。
【0329】
ステップS610Rにおいて、DMAバス調停器210rはステップS608Rにおける調停の結果、転送単位TSd1の入力を許可する場合には第1のデータ有効信号Sde1を第1ストリーム入力器TSR_1に出力する。一方、第2の転送単位TSd2の入力を許可する場合には、第2のデータ有効信号Sde2を第2ストリーム入力器TSR_2に出力する。そして、処理は次のステップS612Rに進む。
【0330】
ステップS612Rにおいて、ステップS610Rにおいて第1のデータ有効信号Sde1が出力される場合は、第1ストリーム入力器TSR_1から第1の転送単位TSd1のDMAバス調停器210rへの転送が開始される。一方、第2のデータ有効信号Sde2が出力される場合は、第2ストリーム入力器TSR_2から第2の転送単位TSd2のDMAバス調停器210rへの転送が開始する。なお、転送単位TSdはDMAバス調停器210rを経由して、TSd入力開始検出器220に出力される。そして、処理は次のステップS614Rに進む。
【0331】
ステップS614Rにおいて、TSd入力開始検出器220は、ステップS606Rで入力が開始された第1のパケット先頭検出信号Sps1或いは第2のパケット先頭検出信号Sps2に基づいて、第1の転送単位TSd1或いは第2の転送単位TSd2の入力が開始されたことを検出する。
【0332】
つまり、TSd入力開始検出器220は、前述のステップS610Rで出力されているデータ有効信号Sdeに基づいて、1パケットデータP分のデータが転送単位TSd1で複数回に渡って入力されてくる最初のデータを検出時点で、第1の転送単位TSd1或いは第2の転送単位TSd2のいずれかの入力開始を検出する。第1のデータ有効信号Sde1が出力されている状態では第1の転送単位TSd1の入力開始を検出し、第2のデータ有効信号Sde2が出力された状態では第2の転送単位TSd2の入力開始を検出する。
【0333】
また、TSd入力開始検出器220は、ステップS608Rの調停の結果、第1のパケット先頭検出信号Sps1が入力された後に転送単位TSdが初めて入力された時点で、第1のストリーム入力器TSR_1から入力されてくるパケットの先頭の入力開始を検出する。同様に、TSd入力開始検出器220は、ステップS608Rの調停の結果、第2のパケット先頭検出信号Sps2が入力された後に転送単位TSdが初めて入力された時点で、第2のストリーム入力器TSR_2から入力されてくるパケットの先頭の入力開始を検出する。そして、処理は次のステップS616に進む。
【0334】
ステップS616〜S626における処理は、図5を参照して説明した第1の実施形態にかかる処理と同様であるので説明を省く。
ステップS628Rにおいて、書込先バッファセル指定器250は、書込許可信号Swに応答して、バッファセル割当情報Ibaが指示する、割り当てられたバッファセルBcに対する書込(蓄積)を要求する書込要求信号Swdを生成して、パケットバッファ制御器260に出力する。そして、処理は次のステップS630に進む。
【0335】
ステップS630Rにおいて、パケットバッファ制御器260は、TSd入力開始検出器220から経由して供給される転送単位TSdを、書込要求信号Swd(バッファセル割当情報Iba)およびステップS608Rの調停結果が指示するバッファセルBcへのパケットデータPの転送単位TSdでの書込(蓄積)を行う。そして、処理は次のステップS632Rに進む。
【0336】
ステップS632Rにおいて、転送単位TSd毎に第1のストリーム入力器TSR_1および第2のストリーム入力器TSR_2からDMAバス調停器210rにリクエスト信号Srq1およびSrq2が出力され(ステップS607、S607‘)、DMAバス調停器210rはリクエスト信号Srq1およびSrq2に応答し調停を行って(ステップS608R)、データ有効信号Sde1またはSde2を対応するストリーム入力器TSR_1またはTSR_2に出力し(ステップS610R、S610R’)、ストリーム入力器TSR_1はデータ有効信号Sde1に応答してパケットデータPの次の転送単位TSd1の転送を開始する。同様に、ストリーム入力器TSR_2はデータ有効信号Sde2に応答してパケットデータPの次の転送単位TSd2の転送を開始する(ステップS614R)という、上述の動作が繰り返される。
【0337】
この間、パケットバッファ制御器260はバッファセルBcに書き込まれるデータのバイト数を転送単位TSd1、TSd2別にカウントして、それぞれ1パケットデータP分の転送単位TSdのバッファセルへの蓄積が終了したことを検出する。さらに、転送終了信号Stfを生成して蓄積完了バッファセル番号メモリ制御器280に出力する。カウント数は、TD制御器TDC1に予め格納されているトランスポートストリーム構造情報が示す入力されるトランスポートストリームTSのパケットデータPのデータサイズによって求められる。そして、処理は次のステップS634に進む。
【0338】
ステップS634において、蓄積完了バッファセル番号メモリ制御器280は、転送終了信号Stfとバッファセル割当情報Ibaに基づいて、1パケットデータPのデータの蓄積を完了したバッファセルBcを示すバッファセル番号信号Sbnを生成する。つまり、バッファセル番号信号Sbnは、転送終了信号Stfが入力されたときに、バッファセル割当情報Ibaが示すバッファセルBcのバッファセル番号Nbcに相当する。そして、処理は次のステップS636に進む。
【0339】
ステップS636において、蓄積完了バッファセル番号メモリ290は、バッファセル番号信号Sbnの示すバッファセル番号NbcをライトポイントWPの示す領域に記録する。そして、処理は次のステップS638に進む。
【0340】
ステップS638において、蓄積完了バッファセル番号メモリ制御器280は、ライトポイント更新信号Swpを蓄積完了バッファセル番号メモリ制御器280に出力して、蓄積完了バッファセル番号メモリ制御器280のライトポインタWPを1つ進める。
【0341】
上述のステップにより、ステップ#600Rにおいて、トランスポートストリームデコーダTD2に入力される複数のトランスポートストリームTS1〜TSεのそれぞれに含まれるパケットデータPのそれぞれの、トランスポートストリームTSとの従属関係および異なるトランスポートストリームTSとの時間関係の情報を保持した状態で、シーケンシャル且つリアルタイムにバッファリングすることができる。
【0342】
次に、図19を参照して、上述のステップ#800Rの「複数トランスポートストリームTS1〜TSεのパケットデータPに要求処理実行」サブルーチンにおける動作について詳細に説明する。本実施形態においては、単一のトランスポートストリームではなく複数のトランスポートストリームのパケットを蓄積するために、図6に示したステップS808およびS810が、それぞれステップS808RおよびS810Rに置き換えられている。以下に、上述のトランスポートストリームデコーダTD2に固有の動作について詳細に述べると共に、ステップ#800Rにおける動作について説明する。
【0343】
なお、本図においては、ステップ#600Rとステップ#700R〜#900Rとを並行処理とする場合にも、連続処理とする場合にも適用できる構成を示しているのは、第1の実施形態(図6)におけるのと同様である。
先ず、ステップS802、S804、およびS806の一連の処理を経て、ユーザの要求に対する処理対象候補であるパケットデータPを格納しているバッファセルBcnが特定される。そして、処理は次のステップS808Rに進む。
【0344】
ステップS808Rにおいて、ステップS806で特定されたバッファセルBcn(パケットバッファ270r)に格納されているパケットデータPから、そのパケットデータPの管理情報IMが読み出される。読み出された管理情報IMに基づいて、バッファパケット識別情報PIDeとトランスポートストリーム識別情報TSieが生成されて、パケット選択器400rに出力される。そして、処理は次のステップS810Rに進む。
【0345】
ステップS810Rにおいて、パケット選択器400rによって、バッファパケット識別情報PIDeが処理対象パケットデータ識別情報PIDdとマッチし、且つトランスポートストリーム識別情報TSieが処理対象トランスポートストリーム識別情報TSidとマッチするか否かが判断される。このように、パケット識別子PIDとトランスポートストリーム識別子TSiの両方に関する同時マッチングを観ることによって、異なるトランスポートストリームTSに属する同一のパケット識別子PIDを有するパケットデータPであっても、個別に識別できる。本ステップで、Yesと判断される、つまり現在アクセス中のパケットデータPが上述のユーザの要求に基づく処理の対象である場合には、処理は次のステップS812に進む。
【0346】
以降のステップS812〜S820における処理については、図6を参照して既に説明済みであるので、説明を省く。
【0347】
上述のように、逐次入力される複数のトランスポートストリームTSに含まれる複数の番組に対してユーザが選択的に所望する処理を施すためには、異なるトランスポートストリームTSに含まれるすべてのパケットデータPの内で対応するパケットデータPのみに選択的に処理を施す。しかしながら、異なるトランスポートストリームTSにおいては、パケットデータPの入力レートが異なったり、同一パケット識別子PIDを有するパケットデータPが存在したり、複数のパケットデータPが同一に入力される。よって、このような用途においては、第1の実施形態においては、逐次入力されるパケットデータPのそれぞれに対して、所定の時間だけ処理を施すことを保証することはできない。
【0348】
そこで、本実施形態においては、入力される複数のトランスポートストリームTS1〜TSεのパケットデータPの個々に、トランスポートストリーム識別子TSiと、タイムスタンプStとを付与することによって、パケットデータPの1つずつをパケット識別子PIDとの組合せによって確実に識別することを可能にする。そして、第1の実施形態と同様に、ライトポインタWPによって、個々に識別可能にされた複数のトランスポートストリームTS1〜TSεのパケットデータPのそれぞれを入力されてくる順番に、所定の時間、所定のバッファセルBcに閉じ込めると言う課程を管理する。そして、リードポインタRPによって、閉じ込めたパケットデータPが処理対象であるかを識別し、処理対象である場合には処理を施した後に出力するという課程を管理する。この一連の動作をハードウェアとソフトウェアのハイブリッドな構成によって制御保証するものである。
【0349】
なお、上述のごとく、本発明の第2の実施形態においては、図20を参照して説明したように、入力される複数のトランスポートストリームTS1〜TSεはそれぞれに固有のパケット識別子PIDが付与されているパケットデータPから構成される。しかしながら、入力される複数のトランスポートストリームTS1〜TSεは、図9を参照して説明したように、ITU−T勧告H.220.0に代表されるトランスポートストリームTSのようにパケットデータグループ毎に固有のパケット識別子PIDが付与される場合にも適用できる。
【0350】
図23に、そのようなパケットデータグループ毎にパケット識別子PIDが扶養された2つのトランスポートストリームTS1およびTS2のパケット構成を例示する。図20に示した例と同様に、図23においても、少なくとも3つの異なる番組1、番組2、番組3、・・・、番組α1 を提供する第1のトランスポートストリームTS1の構成例と、少なくとも6つの異なる番組1、番組2、番組3、番組4、番組5、番組6、・・・、番組α2 を提供する第2のトランスポートストリームTS2の構成例が示されている。
【0351】
第1のトランスポートストリームTS1に関しては、既に図9を参照して説明した通りであるので説明を省く。また、第2のトランスポートストリームTS2に関しても第1のトランスポートストリームTS1と同様に、番組4の映像データは番組コンテンツパケットデータPc401と規定され、音声データは番組コンテンツパケットデータPc411と規定される。番組5の映像データは番組コンテンツパケットデータPc401と規定され、音声データは番組コンテンツパケットデータPc511と規定される。番組6の映像データは番組コンテンツパケットデータPc601と規定され、音声データは番組コンテンツパケットデータPc611と規定される。
【0352】
このように、トランスポートストリームTSを構成するすべてのパケットデータPのそれぞれに固有のパケット識別子PIDが付与されるのではなく、そのパケットデータPの種類毎に固有のパケット識別子PIDが付与されることを除いては、図23に示すトランスポートストリームTSも、図9を参照して説明したのトランスポートストリームTSと同様に構成される。
【0353】
このようなパケット構成を有する複数のトランスポートストリームTS1〜TSεに、上述の本発明の第2の実施形態にかかるトランスポートストリームデコーダTD2を適応した場合の動作について説明する。パケットデータPの内容毎に分類されるパケットデータグループ毎に固有のパケット識別子PIDが付与されると言うことは、図20に示したトランスポートストリームTSのパケットデータPのパケット識別子PIDの上位3桁のみを指示することと実質的に同じである。つまり、本例においても、第1のトランスポートストリームTS1から番組コンテンツパケットデータPc101と番組コンテンツパケットデータPc201の抽出すると共に、第2のトランスポートストリームTS2から番組コンテンツパケットデータPc401と番組コンテンツパケットデータPc501を抽出することによって、図22に示した番組映像コンテンツパケットデータPcVと実質的に同じ派毛エラー信号Eと構成の複数TS複数番組映像コンテンツパケットデータ列を生成できる。
【0354】
同様に、トランスポートストリームTS1から番組コンテンツパケットデータPc111と番組コンテンツパケットデータPc222を抽出すると共に、第2のトランスポートストリームTS2から番組コンテンツパケットデータPc411と番組コンテンツパケットデータPc511を抽出することによって、図22に示した番組映像コンテンツパケットデータPcVと実質的に同じパケット構成の複数TS複数番組音声コンテンツパケットデータ列を生成できる。
【0355】
但し、TD制御器TDC2で生成される処理対象パケットデータ識別情報PIDdも、バッファセルBcに格納されているパケットデータPから読みとられるバッファパケット識別情報PIDeも共にパケットデータグループを示している。但し、上述のパケット選択器400rによってマッチングしていると判定された場合には、マッチしたパケット識別子PIDを有するパケットデータグループに属するすべてのパケットデータPの内で同一のトランスポートストリームTSに属するもののみに対して、同一の処理が施される。これは、上述のごとく、図20に示したパケット構成を有するトランスポートストリームTSのすべてのパケットデータPのパケット識別子PIDの上位の適当な桁と属するトランスポートストリームTSを指定することによって、トランスポートストリームTS毎に指定された桁のパケット識別子PIDが同一であるパケットデータPをグループとして、グループ毎に固有の処理を施すことと実質的に同一である。
【0356】
(第3の実施形態)
以下に、図27、図28、図29、図30、図31、図32、および図33を参照して、本発明の第3の実施形態にかかるデータバッファリング装置について説明する。図27に、本例にかかるデータバッファリング装置DBA3を組み込んだトランスポートストリームデコーダTD3を示す。本実施形態においては、第2の実施形態におけるのと同様に、入力される複数のトランスポートストリームTS1〜TSεのパケットデータPのそれぞれに個別的に特定の処理を施すことを保証することに加えて、入力されるトランスポートストリームTSにデータエラーが含まれている場合の対策を講じたものである。よって、トランスポートストリームデコーダTD3は、以下に述べる点を除いて、図15に示したトランスポートストリームデコーダTD2と基本的に同一の構造を有する。
【0357】
つまり、トランスポートストリームデコーダTD3は、データバッファリング装置DBA2がデータバッファリング装置DBA3に置き換えられ、ストリーム入力器TSRが第1ストリーム入力器TSR_1rと第2ストリーム入力器TSR_2rに置き換えられると共に、TD制御器TDC2がTD制御器TDC3に置き換えられている点を除けば、図15に示したトランスポートストリームデコーダTD2と同様に構成される。なお、トランスポートストリームデコーダTD3に同時に入力されるトランスポートストリームTSの数εの分だけ、ε個のストリーム入力器TSR_1r〜TSR_εrが用意される。なお、本例においては、2つのトランスポートストリームTSが入力される場合について具体的に述べる。
【0358】
さらに、データバッファリング装置DBA3も、パケットバッファリング調停器PBA2がパケットバッファリング調停器PBA3に置き換えられると共に、制御器PBAC2が制御器PBAC3に置き換えられている点を除けば、図15に示したデータバッファリング装置DBA2と同様に構成される。
【0359】
また、パケットバッファリング調停器PBA3は、蓄積完了バッファセル番号メモリ290rが蓄積完了バッファセル番号メモリ290raに置き換えられると共に、エラーフラグ設定器295が新たに設けられている点を除けば、図15に示したパケットバッファリング調停器PBA2と同様に構成される。
【0360】
これらの新たに設けられた構成要素について説明する前に、本実施形態におけるトランスポートストリームデコーダTD3の基本的概念について述べる。本実施形態においても、上述の第2の実施形態に関して述べたように複数のトランスポートストリームTSに含まれる複数の番組に対応するパケットデータPのそれぞれを選択して個別に施す所定の処理として、複数のトランスポートストリームTS1〜TSεから複数の番組の抽出について例示する。但し、本実施形態においては、入力されるトランスポートストリームTSにデータエラーが含まれる場合であっても、パケットバッファ270rを効率的に制御することを目的とする。
【0361】
つまり、伝送経路上の種々の要因によりトランスポートストリームデコーダTDに入力されるトランスポートストリームTSは、パケット或いはそれ以下のデータ単位でエラーが含まれることがある。このようにエラーを有するトランスポートストリームTSを、上述のトランスポートストリームデコーダTD1或いはトランスポートストリームデコーダTD2において、パケットバッファ270或いはパケットバッファ270rのバッファセルBcに正常なデータと同じようにバッファリングすると、バッファリング後のパケットデータPに対する一連の処理が破綻を来すことがある。さらに、処理が破綻しない場合においても、そのようなエラーデータに対して無意味な処理を行うことによって、トランスポートストリームデコーダTD全体の動作効率が損なわれる。本実施形態においては、データエラーを含むパケットデータPを格納したバッファセルBcをソフトウェア的に管理および解放することによって、このような不都合を防止することを目的とする。
【0362】
バッファセルBcの解放には、入力中のトランスポートストリームTSにデータエラーを検出した時点で、ハードウェアによってバッファセルBcをリセットする方法も考えられる。しかしながら、バッファセルBc単位でのバッファリング後の種々のデータ処理とのタイミング調整に多大な課題が生じる。そこで、本発明においては、トランスポートストリームTSのデータエラーをハードウェアによって検出した後、対応するバッファセルBcの解放をソフトウェア的に処理するものである。なお、本実施形態においては、第2の実施形態と同様に複数トランスポートストリームTSが入力される場合に例を引いて述べているが、第1の実施形態と同様に単数のトランスポートストリームTSが入力される場合についても同様に適用できることは言うまでも無い。
【0363】
図27に戻って、トランスポートストリームデコーダTD3に固有の構成要素について詳しく説明する。なお、上述のトランスポートストリームデコーダTD2におけるのと同じ構成要素の動作については、冗長を避けるために基本的に説明を省略する。
【0364】
第1ストリーム入力器TSR_1rおよび第2ストリーム入力器TSR_2は、それぞれ入力されてくる第1のトランスポートストリームTS1および第2のトランスポートストリームTS2にデータエラーがある場合には、それを検出して第1のエラー信号E1および第2のエラー信号E2をデータバッファリング装置DBA3内のエラーフラグ設定器
295に出力する。なお、第1ストリーム入力器TSR_1rおよび第2ストリーム入力器TSR_2rの動作は、それぞれ第1のエラー信号E1および第2のエラー信号E2を出力する以外は、上述の第1ストリーム入力器TSR_1および第2ストリーム入力器TSR_2の動作と同一である。
【0365】
エラーフラグ設定器295は、第1ストリーム入力器TSR_1R或いは第2ストリーム入力器TSR_2rから入力される第1のエラー信号E1或いは第2のエラー信号E2と、パケットバッファ制御器260から入力される転送終了信号Stfに基づいて、蓄積完了バッファセル番号メモリ290raのエラーフラグ領域Fcにデータエラーを含むパケットデータPを格納したバッファセルBcmを示すエラーフラグを立てさせるエラーフラグ信号Feを生成して、蓄積完了バッファセル番号メモリ290raに出力する。
【0366】
図29を参照して、蓄積完了バッファセル番号メモリ290raの具体的な構成について説明する。蓄積完了バッファセル番号メモリ290raは、図2に示した蓄積完了バッファセル番号メモリ290にエラーフラグメモリ290Aが追加されている。
【0367】
エラーフラグメモリ290Aは、蓄積完了バッファセル番号メモリ290のバッファセル指定領域Rc1〜RcMのそれぞれに対応するフラグ格納領域Fc(Fc1〜FcM)を有する。エラーフラグメモリ290Aは、基本的には蓄積完了バッファセル番号メモリ290と同様に好ましくはリングメモリで構成されて、エラーフラグ設定器295から入力されるエラーフラグ信号Feに基づいて、フラグ格納領域Fc1〜FcMにフラグ値が連続的且つ循環的に記録される。
【0368】
バッファセル番号Nbcnを記入すべきバッファセル指定領域Rcmと、エラーフラグ信号Feに基づいてフラグ値を書き込むべきフラグ格納領域Fcmは同一のライトポインタWPによって指示される。そして、記入されているバッファセル番号Nbcnを読み出すべきバッファセル指定領域Rcmと、フラグ値を読み出すべきフラグ格納領域Fcmは同一のリードポインタRPによって指示される。リードポインタRPは制御器PBAC3から出力される制御信号Sc3に基づいて進められる。
【0369】
さらに図30を参照して、蓄積完了バッファセル番号メモリ290raの変形例について説明する。本例における蓄積完了バッファセル番号メモリ290rbは、簡単に言うと蓄積完了バッファセル番号メモリ290raの蓄積完了バッファセル番号メモリ290のバッファセル指定領域Rcとエラーフラグメモリ290Aとがフラグ格納領域Fcが一体化されてバッファセル属性格納領域Rcp(Rcp1〜RcpM)が構成されている。そして、バッファセル番号信号Sbnとエラーフラグ信号Feが一体的に結合されて、個々のバッファセルBcのデータ格納状況を表す属性データPbcとして、バッファセル属性格納領域Rcpに記録される。なお、このようにバッファセルBcの状態を1種類のデータによって管理することによって、バッファセルBcの獲得および解放処理のより一層の効率化を図ることができる。
【0370】
TD制御器TDC3は、トランスポートストリームデコーダTD3全体の動作を制御する。なお、トランスポートストリームデコーダTD2は、上述の各構成要素の動作状態を示す状態信号SrW3を生成してTD制御器TDC2に出力する。TD制御器TDC2は、状態信号SrW3に基づいて、トランスポートストリームデコーダTD3の各構成要素の動作を制御する制御信号ScW3を生成して、トランスポートストリームデコーダTD3を制御する。なお、状態信号SrW3および制御信号ScW3の生成およびトランスポートストリームデコーダTD3の制御は公知の技術であるので説明を省く。
【0371】
次に図28に示す波形図を参照して、第1ストリーム入力器TSR_1r、第2ストリーム入力器TSR_2r、DMAバス調停器210r、パケットバッファ制御器260ra、およびエラーフラグ設定器295の動作について簡単に説明する。紙面の都合上、第1のトランスポートストリームTS1と第2のトランスポートストリームTS2、第1のパケット先頭検出信号Sps1と第2のパケット先頭検出信号Sps2、第1のリクエスト信号Srq1と第2のリクエスト信号Srq2、第1のデータ有効信号Sde1と第2のデータ有効信号Sde2、第1の転送単位TSd1と第2の転送単位TSd2、第1のエラー信号E1および第2のエラー信号E2、および第1のラッチエラー信号LE1および第2のラッチエラー信号LE2のそれぞれを1つの代表的な波形で表示しているが、本来は個別にタイミングや波形の若干の相違が許されるものである。よって、以下に第1のトランスポートストリームTS1に関してのみ具体的に説明し、冗長を避けるために第2のトランスポートストリームTS2に関する説明を省く。
【0372】
図27を参照して説明したように、第1ストリーム入力器TSR_1rおよび第2ストリーム入力器TSR_2rは、入力されるパケットデータPのデータの8バイトずつをそれぞれ第1の転送単位TSd1および第2の転送単位TSd2としてDMAバス調停器210rに出力する。
【0373】
TSd入力開始検出器220は、DMAバス調停器210rから入力される第1のパケット先頭検出信号Sps1および第1の転送単位TSd1に基づいて、パケットデータP毎に第1の転送単位TSd1の入力が開始されたことを検出すると共に、第1の転送単位TSd1をパケットバッファ制御器260に供給する。
【0374】
同様に、TSd入力開始検出器220は、DMAバス調停器210rから入力される第2のパケット先頭検出信号Sps2および第2の転送単位TSd2に基づいて、パケットデータP毎に第2の転送単位TSd2の入力が開始されたことを検出すると共に、第2の転送単位TSd2をパケットバッファ制御器260に供給する。
【0375】
上述のようにして、TSd入力開始検出器220は、第1の転送単位TSd1或いは第2の転送単位TSd2の入力開始を検出する度に、現在入力が開始されたパケットデータPを格納するためにパケットバッファ270rのバッファセルBcの1つを割当を要求するバッファセル要求信号Sbaを生成してバッファセル割当器230に出力する。さらに、割り当てられたバッファセルに対する書込を開始できる状態であることを示す書込許可信号Swを生成して書込先バッファセル指定器250に出力する。
【0376】
パケットバッファ制御器260は、DMAバス調停器210rおよびTSd入力開始検出器220を経由して入力される第1の転送単位TSd1および第2の転送単位TSd2を、書込先バッファセル指定器250から入力される書込要求信号Swdに基づいて、パケットバッファ270rの割り当てられたバッファセルBcに書き込む。
【0377】
上述のごとく、割り当てられたバッファセルBcにパケットデータPの書込が開始された後に、例えば、第11バイト目に第1のトランスポートストリームTS1にデータがエラーがある場合に、ストリーム入力器TSR_1は第1のエラー信号E1を生成してエラーフラグ設定器295に出力する。
【0378】
エラーフラグ設定器295は、第1のエラー信号E1を受領した時点で、ハイ状態になり、転送終了信号Stfを受領した時点でロー状態になる二値信号である第1のラッチエラー信号LE1を生成する。同様に、エラーフラグ設定器295は、第2のエラー信号E2を受領した時点で、ハイ状態になり、転送終了信号Stfを受領した時点でロー状態になる二値信号である第2のラッチエラー信号LE2を生成する。これらの第1のラッチエラー信号LE1および第2のラッチエラー信号LE2はエラーフラグ信号Feとして蓄積完了バッファセル番号メモリ290raに出力される。
【0379】
次に、図31および図32を参照して、上述のトランスポートストリームデコーダTD3の動作について詳しく説明する。図31に示すように、トランスポートストリームデコーダTD3における動作は、図17に示したトランスポートストリームデコーダTD2における動作と類似しているが、入力される複数のトランスポートストリームTS1〜TSεにデータエラーがある場合のデータバッファリング装置DBA3の制御を可能にするために、以下に述べるように4つのサブルーチンにおける処理が変更されている。
【0380】
つまり、ステップ#600Rの「複数トランスポートストリームTSのパケットデータP蓄積」サブルーチンが、ステップ#600RRの「データエラーを含む複数トランスポートストリームTSのパケットデータP蓄積」サブルーチンに置き換えられている。
ステップ#700Rの「複数トランスポートストリームTS1〜TSεの処理対象パケットデータP選択」サブルーチンが、ステップ#700Rの「データエラーを含む複数トランスポートストリームTS1〜TSεの処理対象パケットデータP選択」サブルーチンに置き換えられている。
ステップ#800Rの「複数トランスポートストリームTS1〜TSεのパケットデータPに要求処理実行」サブルーチンが、ステップ#800RRの「データエラーを含む複数トランスポートストリームTS1〜TSεのパケットデータPに要求処理実行」サブルーチンに置き換えられている。
そして、ステップ#900Rの「複数トランスポートストリームTS1〜TSεの処理後パケットデータP蓄積」サブルーチンが、#900RRの「データエラーを含む複数トランスポートストリームTS1〜TSεの処理後パケットデータP蓄積」サブルーチンに置き換えられている。
このように構成されたトランスポートストリームデコーダTD3に固有な動作に重点をおいて、ステップ#600RR〜#900RRについて以下に説明する。なお、冗長を避けるために、トランスポートストリームデコーダTD2と同じ動作に付いては説明を省く。
【0381】
以下に、図32を参照して、ステップ#600RRの「データエラーを含む複数トランスポートストリームTS1〜TSεのパケットデータP蓄積:サブルーチンにおける動作について以下に詳細に説明する。図32に示すように、ステップ#600RRにおける動作は、図18に示したトランスポートストリームデコーダTD2によるステップ#600Rにおける動作と類似しているが、入力される複数のトランスポートストリームTS1〜TSεにデータエラーがある場合のデータバッファリング装置DBA3の制御を可能にするために、以下に述べるように1つのステップにおける処理が変更されると共に、3つのステップにおける処理が追加されている。
【0382】
つまり、ステップS604RとステップS605Aの間に、新たにステップS604Aの「データエラー検出開始」処理が設けられている。同様に、ステップS604R‘とステップS605A’の間に、新たにステップS604A‘の「データエラー検出開始」処理が設けられている。
【0383】
さらに、ステップS632RとステップS634Rの間に、新たにステップS633の「エラーフラグON/OFF」およびステップS633Aの「データエラー検出終了」処理が設けられている。
また、ステップS636の「蓄積バッファセル番号格納」処理が、ステップS636RRの「蓄積バッファセル番号格納およびエラーフラグ格納」処理に変更されている。以下に、上述のトランスポートストリームデコーダTD3に固有の動作について詳細に述べると共に、ステップ#400RR全体の動作について簡単に説明する。
【0384】
上述のトランスポートストリームデコーダTD2と同様に、上述のステップS602(S602‘)およびS604R(S604R’)を経て、入力されたトランスポートストリームTSのパケット先頭を検出する。そして、処理は次のステップS604A(S604A‘)に進む。
【0385】
ステップS604A(S604A‘)において、ストリーム入力器TSR_1(TSR_2)は入力されるパケットデータPについてデータエラー検出を開始する。なお、本ステップにおいて開始したデータエラー検出は、ステップS633A(S633A’)において終了されるまで、他のステップS605〜S632における処理に平行して継続実行されて、データエラーが検出された時点でデータエラーを有するトランスポートストリームTSを示すエラー信号Eを生成して出力する。
【0386】
上述のステップS605〜S630における処理の後に、ステップS632Rにおいて、転送単位TSd毎に第1のストリーム入力器TSR_1および第2のストリーム入力器TSR_2からDMAバス調停器210rにリクエスト信号Srq1およびSrq2が出力され(ステップS607、S607‘)、DMAバス調停器210rはリクエスト信号Srq1およびSrq2に応答し調停を行って(ステップS608R)、データ有効信号Sde1またはSde2を対応するストリーム入力器TSR_1またはTSR_2に出力し(ステップS610R、S610R’)、ストリーム入力器TSR_1はデータ有効信号Sde1に応答してパケットデータPの次の転送単位TSd1の転送を開始する。同様に、ストリーム入力器TSR_2はデータ有効信号Sde2に応答してパケットデータPの次の転送単位TSd2の転送を開始する(ステップS614R)という、上述の動作が繰り返される。
【0387】
この間、パケットバッファ制御器260はバッファセルBcに書き込まれるデータのバイト数を転送単位TSd1、TSd2別にカウントして、それぞれ1パケットデータP分の転送単位TSdのバッファセルへの蓄積が終了したことを検出する。さらに、転送終了信号Stfを生成して蓄積完了バッファセル番号メモリ制御器280およびエラーフラグ設定器295に出力する。カウント数は、TD制御器TDC1に予め格納されているトランスポートストリーム構造情報が示す入力されるトランスポートストリームTSのパケットデータPのデータサイズによって求められる。そして、処理は次のステップS633に進む。
【0388】
ステップS633において、エラーフラグ設定器295はパケットバッファ制御器260から出力される転送終了信号Stfに応答して、上述のステップS604R+〜S632の間にストリーム入力器TSR_εから出力されるエラー信号Eεに基づいてライトポインタWPが示しているフラグ格納領域Fcmにエラーフラグ値を書き込む。つまり、ステップS604R+〜S632の間に、バッファセルBcに格納中のパケットデータPにデータエラーが検出される場合には、転送終了信号Stfが入力された時点でフラグ格納領域FcnにエラーフラグONに相当する値が書き込まれる。
【0389】
一方、ステップS604R+〜S632の間に、データエラーが検出されること無く、パケットデータPがバッファセルBcを格納された場合には、ステップS633Aにおいて、転送終了信号Stfが入力された時点でフラグ格納領域FcnにエラーフラグOFFに相当する値が書き込まれる。なお、フラグ格納領域Fcnの初期値をエラーフラグOFFに設定すれば、ステップS633Aにおいて、フラグ格納領域Fcnには何も書き込まれない。この場合、エラーフラグONが書き込まれたフラグ格納領域Fcのリセットについては、後ほど図33を参照して説明する。そして処理は、次のステップS633Aに進む。
【0390】
ステップS633Aにおいて、ステップS604A(S604A‘)において開始されたストリーム入力器TSR_Nによる入力トランスポートストリームTSのデータエラー検出を終了する。そして、処理は上述のステップS634を経て、ステップS636Rに進む。
【0391】
ステップS636Rにおいて、蓄積完了バッファセル番号メモリ290は、バッファセル番号信号Sbnの示すバッファセル番号NbcをライトポイントWPの示す領域に記録する。同様に、蓄積完了バッファセル番号メモリ290raは、エラーフラグ信号Feの示すフラグ格納領域Fcmにエラーフラグ値を書き込む。そして、処理は次のステップS638に進む。
【0392】
ステップS638において、上述のごとくライトポインタWPを1つ進めた後に、本ステップ#600RRにおける「データエラーを含む複数トランスポートストリームTS1〜TSεのパケットデータP蓄積」サブルーチンを終了する。
【0393】
なお、上述のステップS633Aにおけるエラーフラグ値の書込について、図28に示す波形図を参照して、各構成要素の動作をより具体的に説明する。図28に示す例においては、トランスポートストリームTS1/TS2の最初のパケットデータPの第2バイト目から第2番目のパケットデータPの第3バイト目までの期間が、図32におけるステップS604R+からステップS632までの期間に相当する。そして、ストリーム入力器TSRが最初のパケットデータPの第11バイト目にデータエラーを検出して、エラー信号Eをエラーフラグ設定器295に出力する。調停期間Taは変動するので、上述の期間はそれぞれsps〜stf範囲で変動することは言うまでも無い。
【0394】
エラーフラグ設定器295は、エラー信号Eをラッチしてラッチエラー信号LEを生成して、そして保持する。そして、転送終了信号Stfが入力された時点で、ラッチエラー信号LEおよび転送終了信号Stfが共にハイであれば、蓄積完了バッファセル番号メモリ290raのフラグ格納領域FcにフラグONを書き込むエラーフラグ信号Feを生成する。
【0395】
一方、入力されたトランスポートストリームTSにデータエラーが検出されない場合には、転送終了信号Stfが入力された時点でラッチエラー信号LEはローであるので、蓄積完了バッファセル番号メモリ290raのフラグ格納領域FcにフラグONを書き込むエラーフラグ信号Feは生成されない。
【0396】
このようにして、同時に入力される任意の数のトランスポートストリームTSnのいずれかにデータエラーが含まれている場合でも、パケットバッファ270のバッファセルBcnに格納されるパケットデータPの単位で、データエラーの有無を識別管理できる。結果、入力されるトランスポートストリームTSに含まれているデータエラーの部分を捨たり或いは再度取得することで、トランスポートストリームTSが伝送する情報を正しく獲得できる。
【0397】
さらに、転送終了信号Stfに応答して、蓄積完了バッファセル番号メモリ290raのフラグ格納領域Fcnにエラーフラグ値の書込を行うのは、本実施形態のように複数のトランスポートストリームTS1〜TSεが同時に入力される場合である。その理由は、上述のように異なるトランスポートストリームTSにおけるパケットデータPの入力レート差により、後から到着したパケットデータPのバッファリングが、先に到着したパケットデータPのバッファリングより早く終了するときに、本当は先に到着したパケットにデータエラーを検出したのに、後から到着して先にバッファリングを終了したパケットを格納したバッファセルBcに対応するフラグ格納領域FcにエラーフラグONと誤記入を防止するためである。
【0398】
次に、図33に示すフローチャートを参照して、上述のステップ#800RRにおける「データエラーを含む複数トランスポートストリームTS1〜TSεのパケットデータPに要求処理実行」サブルーチンの詳細について説明する。図33に示すように、本ステップ#800RRにおける動作は、図19に示したトランスポートストリームデコーダTD2によるステップ#800Rにおける動作と類似しているが、入力される複数のトランスポートストリームTS1〜TSεにデータエラーがある場合のデータバッファリング装置DBA3の制御を可能にするために、以下に述べるように3つのステップにおける処理が追加されている。
【0399】
つまり、ステップS808RとステップS810Rの間に、新たにステップS809Aの「エラーフラグ値読み出し」処理およびステップS809Bの「エラーフラグON?」判断が設けられている。さらに、ステップS818とステップS820の間に、新たにステップS819の「エラーフラグをリセット」処理が設けられている。以下、本実施形態に固有の動作を重点的に説明すると共にステップ#800RRの全体の動作を簡単に説明する。
【0400】
上述のステップS802〜S808Rの処理を経て、処理対象候補であるパケットデータPを格納していると特定されたバッファセルBcから管理情報IMが読み出されて、格納されているパケットデータPのバッファパケット識別情報PIDeおよびトランスポートストリーム識別情報TSieが生成される。そして、処理は次のステップS809Aに進む。
【0401】
ステップS809Aにおいて、リードポインタRPの示すフラグ格納領域Fcから、格納されているエラーフラグ値が読み出される。そして、処理は、次のステップS809Bに進む。
【0402】
ステップS809Bにおいて、読み出されたエラーフラグ値に基づいて、エラーフラグがONであるか否かが判断される。Yes、つまり処理対象候補であるパケットデータPはエラーを含んでいると判断される場合は、処理は上述のステップS810R、S812、S814、およびS816を迂回して、ステップS818に進み、そのバッファセルBcを今後入力されてくるパケットデータPのバッファリングのために解放される。
【0403】
一方、ステップS809Bにおいて、No、つまり処理対象候補であるパケットデータPはエラーを含んでいないと判断される場合は、処理は上述のステップS810R、S812、S814、およびS816を経て、ステップS818に進む。つまり、当該処理対象候補であるパケットデータPが実際に処理対象である場合(S810RでYes)には前述のステップ#400Rで決定された処理を実行し(S812)、処理済みのパケットデータPをデータバッファリング装置DBA3から出力(S816)した後に、当該バッファセルBcを解放(S818)する。また、当該処理対象候補であるパケットデータPが処理対象でない場合(S810RでNo)には、当該バッファセルBcは直ちに解放(S818)される。
【0404】
ステップS819において、TD制御器TDC3は、リードポインタRPの示すフラグ格納領域Fcのエラーフラグ値をローにすることによってエラーフラグをリセット(OFF)する。そして、ステップS820において、TD制御器TDC3は。蓄積完了バッファセル番号モリ290におけるリードポインタRPの値を進める。そして、処理は上述のステップS802に戻る。
【0405】
第2の実施形態におけるように、入力される複数のトランスポートストリームTS1〜TSεのパケットデータPの個々に、トランスポートストリーム識別子TSiと、タイムスタンプStとを付与することによって、パケットデータPの1つずつをパケット識別子PIDとの組合せによって確実に識別することによって、逐次入力される複数のトランスポートストリームTSに含まれる複数の番組に対してユーザが選択的に所望する処理を可能にする。しかしながら、トランスポートストリームTSにエラーが含まれる場合には、パケットデータPのバッファリング後の処理が破綻を来すか、ランスポートストリームデコーダTD全体の動作効率の低下を招く。そこで、本実施形態においては、データエラーを含むパケットデータPを格納したバッファセルBcをソフトウェア的に管理および解放することによって、このような不都合を防止できる。
【0406】
なお、本実施形態においても、図22を参照して説明したように、ITU−T勧告H.220.0に基づくパケット構成を有する複数のトランスポートストリームTS1〜TSεに対しても適用できることは明らかである。
【図面の簡単な説明】
【図1】 本発明の第1の実施形態にかかる、データバッファリング装置を組み込んだトランスポートストリームデコーダ装置の構造を示すブロック図である。
【図2】 図1に示したバッファセル割当情報格納器、パケットバッファ、および蓄積完了バッファセル番号メモリの相互関係を示す説明図である。
【図3】 図1に示したトランスポートストリームデコーダにおける種々の信号を示す波形図である。
【図4】 図1に示したトランスポートストリームデコーダの主な動作を示すフローチャートである。
【図5】 図4に示した単一トランスポートストリームTSのパケットデータP蓄積サブルーチンにおける詳細な動作を示すフローチャートである。
【図6】 図4に示した単一トランスポートストリームTSの処理対象パケットデータP選択サブルーチンにおける詳細な動作を示すフローチャートである。
【図7】 図1に示したトランスポートストリームデコーダに入力されるトランスポートストリームの構成を示す説明図である。
【図8】 図1に示したメインメモリに入出力されるパケットデータ列の一例を示す模式図である。
【図9】 図1に示したトランスポートストリームデコーダに入力される、ITU−T勧告H.220.0に規定されるトランスポートストリームの構成を示す説明図である。
【図10】 図1に示したトランスポートストリームデコーダと同等の機能を、主にハードウェアによって実現する場合の構成を示すブロック図である。
【図11】 図10に示したトランスポートストリームデコーダによって、図7に示したパケット構成を有する単一のトランスポートストリームから2つの番組の番組コンテンツパケットデータと管理パケットデータのみが抽出されて、構成される選択複数番組パケットデータ列の説明図である。
【図12】 図4に示した単一トランスポートストリームTSの処理対象パケットデータP選択サブルーチンと、単一トランスポートストリームTSのパケットデータPに対する要求処理実行サブルーチンとの関係を示す説明図である。
【図13】 図10に示したトランスポートストリームデコーダに入力されるトランスポートストリームから抽出された混合選択複数番組パケットデータ列に含まれるパケットデータのメインメモリにおける蓄積状態の一例を示す。
【図14】 図10に示したメインメモリに入出力される複数番組パケットデータ列の構成を示す説明図である。
【図15】 本発明の第2の実施形態にかかる、データバッファリング装置を組み込んだトランスポートストリームデコーダ装置の構造を示すブロック図である。
【図16】 図15に示したトランスポートストリームデコーダにおける種々の信号を示す波形図である。
【図17】 図15に示したトランスポートストリームデコーダの主な動作を示すフローチャートである。
【図18】 図17に示した複数トランスポートストリームTS1〜TSεのパケットデータP蓄積サブルーチンにおける詳細な動作を示すフローチャートである。
【図19】 図17に示した複数トランスポートストリームTS1〜TSεのパケットデータPに要求処理実行サブルーチンにおける詳細な動作を示すフローチャートである。
【図20】 図17に示したトランスポートストリームデコーダに入力される2つのトランスポートストリームのそれぞれの構成を示す説明図である。
【図21】 図17に示したトランスポートストリームデコーダによって、図20に示したパケット構成を有する2つのトランスポートストリームから4つの番組の番組コンテンツパケットデータと管理パケットデータのみが抽出されて、構成される選択複数番組パケットデータ列の説明図である。
【図22】 図17に示したメインメモリに、混合選択複数番組パケットデータ列が蓄積される状態を示す模式図である。
【図23】 図23に示したトランスポートストリームデコーダに入力される、ITU−T勧告H.220.0に基づく2つのトランスポートストリームの構成を示す説明図である。
【図24】 図17に示したトランスポートストリームデコーダと同等の機能を、主にハードウェアによって実現する場合の構成を示すブロック図である。
【図25】 図24に示したトランスポートストリームデコーダによって、図23に示したパケット構成を有する2つトランスポートストリームから4つの番組の番組コンテンツパケットデータと管理パケットデータのみが抽出されて、構成される複数TS複数番組パケットデータ列の説明図である。
【図26】 図24に示したメインメモリに、混合選択複数番組パケットデータ列が蓄積される状態を示す模式図である。
【図27】 本発明の第3の実施形態にかかる、データバッファリング装置を組み込んだトランスポートストリームデコーダ装置の構造を示すブロック図である。
【図28】 図27に示したトランスポートストリームデコーダにおける種々の信号を示す波形図である。
【図29】 図27に示した蓄積完了バッファセル番号メモリの詳細な構成を示すブロック図である。
【図30】 図29に示した蓄積完了バッファセル番号メモリの変形例の詳細な構成を示すブロック図である。
【図31】 図27に示したトランスポートストリームデコーダの主な動作を示すフローチャートである。
【図32】 図31に示したデータエラーを含む複数トランスポートストリームTS1〜TSεのパケットデータP蓄積サブルーチンの詳細な動作を示すフローチャートである。
【図33】 図31に示したデータエラーを含む複数トランスポートストリームTS〜TSεのパケットデータPに要求処理実行サブルーチンの詳細な動作を示すフローチャートである。
【図34】 単一のトランスポートストリームから複数の番組コンテンツパケットデータの出力に供することできると考えられる、従来の主にハードウェアによって実現されるトランスポートストリームデコーダの構成を示すブロック図である。
【図35】 図34に示したトランスポートストリームデコーダによる、単一のトランスポートストリームから抽出して構成される選択単一番組パケットデータ列の説明図である。
【図36】 図34に示したメインメモリに、選択単一番組パケットデータ列が蓄積される状態を示す模式図である。
【図37】 図34に示したメインメモリに入出力される単一番組パケットデータ列の構成を示す説明図である。
【符号の説明】
TD1、TD2、TD3、TDAc、TDAA1、TDAA2 トランスポートストリームデコーダ
TSR ストリーム入力器
TSR_1、TSR_1r 第1ストリーム入力器
TSR_2、TSR_2r 第2ストリーム入力器
DBA1、DBA2、DBA3 データバッファリング装置
PBAC1、PBAC2、PBAC3 制御器
PBA1、PBA2、PBA3 パケットバッファリング調停器
CF チャンネルパケットフィルタ
EPCF 拡張プログラムパケットフィルタ
210、210r DMAバス調停器
220 TSd入力開始検出器
230 バッファセル割当器
240 バッファセル割当情報格納器
250 書込先バッファセル指定器
260 パケットバッファ制御器
280 蓄積完了バッファセル番号メモリ制御器
290 蓄積完了バッファセル番号メモリ
300 パケットアクセス器
700 メインメモリ制御器
900 メインメモリ
1000 TD制御器
Ac1〜AcN バッファセル割当情報領域
Bc1〜BcN バッファセル
Nbc1〜NbcN バッファセル番号
MBU 最低バッファ容量
Rc、Rc1〜RcM バッファセル指定領域
Sba バッファセル要求信号
Sbn バッファセル番号信号
Sc1、Sc2、Sc3 制御信号
ScW1、ScW2、ScW3 制御信号
Sde データ有効信号
Sde1 第1のデータ有効信号
Sde2 第2のデータ有効信号
Sps パケット先頭検出信号
Sps1 第1のパケット先頭検出信号
Sps2 第2のパケット先頭検出信号
Sr1、Sr2、Sr3 状態信号
Srq リクエスト信号
Srq1 第1のリクエスト信号
Srq2 第2のリクエスト信号
SrW1、SrW2、SrW3 状態信号
Stf 転送終了信号
Sw 書込許可信号
Swd 書込要求信号
Swp ライトポイント更新信号
TS、TS1〜TSε トランスポートストリーム
TSd 転送単位
TSd1 第1の転送単位
TSd2 第2の転送単位

Claims (26)

  1. それぞれに識別情報が付与された連続する複数のパケットデータによって構成されるトランスポートストリームが複数入力されたとき、当該トランスポートストリームに対して所定の処理を施すトランスポートストリーム処理装置に用いられ、当該トランスポートストリーム処理装置での処理単位がパケットデータ単位となるように、入力された複数のトランスポートストリームのそれぞれを構成する各パケットデータが予め規定された処理の対象になっているか否かを個別に決定するためのパケットデータ処理決定装置であって、
    前記複数のトランスポートストリームを構成する全てのパケットデータのそれぞれを一義的に識別する管理情報を生成して、当該パケットデータのそれぞれに付与するパケットデータ管理情報生成手段と、
    処理の対象となるパケットデータを識別するための処理対象パケットデータ識別情報を入力する識別情報入力手段と、
    前記管理情報が付与されたパケットデータのそれぞれを、入力されてくる順番に所定時間だけ保持するパケットデータ保持手段と、
    前記パケットデータ保持手段に保持されているパケットデータに付与されている管理情報から、当該パケットデータ保持手段に保持されているパケットデータを表すバッファパケット識別情報を生成保持パケットデータ識別手段と、
    前記生成されたパケットバッファ識別情報を前記処理対象パケットデータ識別情報と比較して、前記保持されているパケットデータが予め規定された処理の対象であるか否かを示す処理対象判断信号を生成すると共に、前記識別情報と前記管理情報とに基づいて、異なるトランスポートストリームを構成する同一の識別情報を有する複数のパケットデータのそれぞれが予め規定された処理の対象であるか否かを個別に決定する処理対象パケットデータ選定手段とを備え
    記処理対象判断信号が前記保持されているパケットデータが予め規定された処理の対象でないことを示す場合は、当該パケットデータ保持手段は他のパケットデータの格納のために解放されることを特徴とするパケットデータ処理決定装置。
  2. 前記トランスポートストリーム処理装置による、前記パケットデータ保持手段に保存されたパケットデータ対して実行される前記規定された処理の完了を検出する規定処理実行完了検出手段をさらに備え、当該処理完了の検出後に、当該パケットデータ保持手段は他のパケットデータの格納のために解放されることを特徴とする、請求項1に記載のパケットデータ処理決定装置。
  3. 前記パケットデータ保持手段は、
    前記連続するパケットデータを個別に格納する複数のバッファセルと、
    前記連続するパケットデータの1つを格納するために、前記複数のバッファセルのれか1つを割り当てるバッファセル割当手段と、
    前記バッファセル割当手段によって割り当てられた前記バッファセルを、他のパケットデータの格納に備えて、解放するバッファセル解放手段と、
    前記複数のバッファセルのそれぞれの割当状態を示すバッファセル割当情報を記憶するバッファセル割当情報記憶手段とを備え、前記パケットデータ割当手段は、前記バッファセル割当情報に基づいて、次に入力されるパケットデータの格納のために、前記複数のバッファセルの何れを割り当てるかを決定することを特徴とする、請求項2に記載のパケットデータ処理決定装置。
  4. 前記複数のバッファセルの中で、前記パケットデータを格納中のバッファセルを示す格納中バッファセルポインタと、
    前記複数のバッファセルの中で、前記保持パケットデータ識別手段が識別情報を読み出すべきパケットデータが保存されているバッファセルを示す対象バッファセルポインタとを備え、前記バッファセル割当手段は、当該格納中バッファセルポインタおよび当該アクセス対象バッファセルポインタの何れかが示すバッファセルをパケットデータ格納に割り当てないことを特徴とする、請求項3に記載のパケットデータ処理決定装置。
  5. 前記格納中バッファセルポインタおよび前記アクセス対象バッファセルポインタに基づいて、前記保持パケットデータ識別手段の前記バッファセルに対するアクセスを制限する第1のアクセス制限手段をさらに備える請求項4に記載のパケットデータ処理決定装置。
  6. 前記第1のアクセス制限手段は、前記格納中バッファセルポインタが前記アクセス対象バッファセルポインタが示すのと同じバッファセルを示す間は当該バッファセルに対する前記保持パケットデータ識別手段のアクセスを禁止することを特徴とする、請求項5に記載のパケットデータ処理決定装置。
  7. 前記第1のアクセス制限手段は、前記データ格納中バッファセルポインタが前記アクセス対象バッファセルポインタが示すのと異なるバッファセルを示す間は当該アクセス対象バッファセルポインタの示すバッファセルに対する前記保持パケットデータ識別手段のアクセスを許可することを特徴とする、請求項5に記載のパケットデータ処理決定装置。
  8. 前記入力されるトランスポートストリームに含まれるデータエラーを検出してエラー検出信号を生成するデータエラー検出手段と、
    前記エラー検出信号に基づいて、前記データエラーを含むパケットデータが格納されているバッファセルを示すエラーフラグ手段と、
    前記エラーフラグ手段に基づいて、前記保持パケットデータ識別手段の前記バッファセルに対するアクセスを制限する第2のアクセス制限手段をさらに備える、請求項5に記載のパケットデータ処理決定装置。
  9. 当該データ格納中バッファセルポインタが前記アクセス対象バッファセルポインタの示すのと異なるバッファセルを示す間でもあっても、当該アクセス対象バッファセルポインタの示すバッファセルが前記エラーフラグ手段によっても示される場合、当該バッファセルに対する前記保持パケットデータ識別手段のアクセスを禁止すると共に、前記バッファセル解放手段は当該バッファセルを解放することを特徴とする、請求項8に記載のパケットデータ処理決定装置。
  10. 前記処理対象判断信号が前記バッファセルに保持されているパケットデータは前記規定された処理の対象でないことを示す場合には、前記バッファセル解放手段は当該バッファセルを解放する共に、前記アクセス対象バッファセルポインタは当該解放されたバッファセルとは別のバッファセルを示すことを特徴とする、請求項4に記載のパケットデータ処理決定装置。
  11. 前記規定処理実行完了検出手段による、前記バッファセルに保持されているパケットデータに対して実行された前記トランスポートストリーム処理装置による前記規定された処理の完了の検出後に、前記バッファセル解放手段は当該バッファセルを解放する共に、前記アクセス対象バッファセルポインタは当該解放されたバッファセルとは別のバッファセルを示すことを特徴とする、請求項4に記載のパケットデータ処理決定装置。
  12. 前記複数のバッファセルはそれぞれに固有のバッファセル識別情報が付与されており、
    前記バッファセル割当情報記憶手段は、前記バッファセル識別情報のそれぞれに対応づけられた第1および第2の値からなる二値情報を格納するバッファセル割当情報領域を備え、
    前記バッファセル割当手段は、前記バッファセル割当情報領域に前記第1の値を書き込むことによって、対応するバッファセルを割当て、前記第2の値を書き込むことによって、対応するバッファセルを解放することを特徴とする、請求項4に記載のパケットデータ処理決定装置。
  13. 前記トランスポートストリームの前記複数のパケットデータは、ITU−T勧告H.220.0に基づき、それぞれが属するパケットデータグループに固有の識別情報が付与されており、
    前記処理対象パケットデータ識別情報は、前記パケットデータグループにそれぞれの識別情報を示すことを特徴とする、請求項1に記載のパケットデータ処理決定装置。
  14. 前記管理情報は、入力されるトランスポートストリーム毎に割り当てられるストリーム識別情報であることを特徴とする、請求項1に記載のパケットデータ処理決定装置。
  15. 前記管理情報は、さらに、前記パケットデータが入力された時刻を示すタイムスタンプを含むことを特徴とする、請求項1に記載のパケットデータ処理決定装置。
  16. それぞれに識別情報が付与された連続する複数のパケットデータによって構成されるトランスポートストリームが複数入力されたとき、当該トランスポートストリームに対して所定の処理を施すトランスポートストリーム処理装置に用いられ、当該トランスポートストリーム処理装置での処理単位がパケットデータ単位となるように、入力されたトランスポートストリームのそれぞれを構成する各パケットデータが予め規定された処理の対象になっているか否かを個別に決定するためのパケットデータ処理決定方法であって、
    前記複数のトランスポートストリームを構成する全てのパケットデータのそれぞれを一義的に識別する管理情報を生成して、当該パケットデータのそれぞれに付与するパケットデータ管理情報生成ステップと、
    処理の対象となるパケットデータを識別するための処理対象パケットデータ識別情報を入力する識別情報入力ステップと、
    前記管理情報が付与されたパケットデータのそれぞれを、入力されてくる順番に所定時間だけ保持するパケットデータ保持手段に保持させるパケットデータ保持ステップと、
    前記保持されているパケットデータに付与されている管理情報から当該保持されているパケットデータを表すバッファパケット識別情報を生成保持パケットデータ識別ステップと、
    前記生成されたバッファパケット識別情報を前記処理対象パケットデータ識別情報と比較して、前記保持されているパケットデータが予め規定された処理の対象であるか否かを示す処理対象判断信号を生成すると共に、前記識別情報と前記管理情報とに基づいて、異なるトランスポートストリームを構成する同一の識別情報を有する複数のパケットデータのそれぞれが予め規定された処理の対象であるか否かを決定する処理対象パケット決定ステップと、
    前記処理対象判断信号が前記保持されているパケットデータが予め規定された処理の対象でないことを示す場合は、当該パケットデータを保持しているパケットデータ保持手段を解放する第1のパケットデータ保持手段解放ステップとを備える、パケットデータ処理決定方法。
  17. 前記トランスポートストリーム処理装置による、前記パケットデータ保持手段に保存されたパケットデータ対して実行される前記規定された処理の完了を検出する規定処理実行完了検出ステップと、
    前記規定処理完了の検出後に、前記パケットデータ保持手段を他のパケットデータの格納のために解放する第2のパケットデータ保持手段解放ステップをさらに備える、請求項16に記載のパケットデータ処理決定方法。
  18. 前記パケットデータ保持手段は、前記連続するパケットデータを個別に格納する複数のバッファセルを備え、
    前記複数のバッファセルのそれぞれの割当状態を示すバッファセル割当情報を記憶するバッファセル割当情報記憶ステップと、
    前記バッファセル割当情報に基づいて、次に入力されるパケットデータの格納のために、前記複数のバッファセルのれを割り当てるかを決定するパケットデータ割当ステップと、
    前記バッファセルを、他のパケットデータの格納に備えて、解放するバッファセル解放ステップとを備える、請求項17に記載のパケットデータ処理決定方法。
  19. 前記複数のバッファセルの中で、前記パケットデータを格納中のバッファセルを示す格納中バッファセルポインタと、
    前記複数のバッファセルの中で、前記保持パケットデータ識別ステップにおいて、前記識別情報が読み出されるべきパケットデータが保存されているバッファセルを示す対象バッファセルポインタとを備え、前記バッファセル割当ステップは当該格納中バッファセルポインタおよび当該アクセス対象バッファセルポインタのれかが示すバッファセルをパケットデータ格納に割り当てないことを特徴とする、請求項18に記載のパケットデータ処理決定方法。
  20. 前記格納中バッファセルポインタおよび前記アクセス対象バッファセルポインタに基づいて、前記保持パケットデータ識別ステップの実行を制限する第1のアクセス制限ステップをさらに備える、請求項19に記載のパケットデータ処理決定方法。
  21. 前記第1のアクセス制限ステップは、前記格納中バッファセルポインタが前記アクセス対象バッファセルポインタの示すのと同じバッファセルを示す間は前記保持パケットデータ識別ステップの実行を禁止することを特徴とする、請求項20に記載のパケットデータ処理決定方法。
  22. 前記第1のアクセス制限ステップは、当該データ格納中バッファセルポインタが前記アクセス対象バッファセルポインタが示すのと異なるバッファセルを示す間は前記保持パケットデータ識別ステップの実行を許可することを特徴とする、請求項20に記載のパケットデータ処理決定方法。
  23. 前記処理対象判断信号が前記バッファセルに保持されているパケットデータは前記規定された処理の対象でないことを示す場合には、前記アクセス対象バッファセルポインタに当該解放されたバッファセルとは別のバッファセルを示させる第1のアクセス対象バッファセルポインタ制御ステップをさらに備える請求項19に記載のパケットデータ処理決定方法。
  24. 前記規定処理実行完了検出ステップにおける前記規定された処理の完了の検出後、且つ前記バッファセル解放ステップにおける当該バッファセルの解放の後に、前記アクセス対象バッファセルポインタに当該解放されたバッファセルとは別のバッファセルを示させる第2のアクセス対象バッファセルポインタ制御ステップをさらに備える請求項19に記載のパケットデータ処理決定方法。
  25. 前記複数のバッファセルはそれぞれに固有のバッファセル識別情報が付与されており、
    前記バッファセル識別情報のそれぞれに対応づけられた第1および第2の値からなる二値情報を記憶するバッファセル割当情報記憶ステップをさらに備え、前記第1の値が記憶されている場合は対応するバッファセルが割り当てられ、前記第2の値が記憶されている場合は対応するバッファセルが解放されることを特徴とする、請求項19に記載のパケットデータ処理決定方法。
  26. 前記入力されるトランスポートストリームに含まれるデータエラーを検出してエラー検出信号を生成するデータエラー検出ステップと、
    前記エラー検出信号に基づいて、前記データエラーを含むパケットデータが格納されているバッファセルを示すデータエラーバッファセル表示ステップと、
    前記データエラーバッファセル表示ステップで表示されたバッファセルに対する、前記保持パケットデータ識別ステップの実行を制限する第2のアクセス制限ステップとをさらに備える、請求項16に記載のパケットデータ処理決定方法。
JP2001099730A 2001-03-30 2001-03-30 パケットデータ処理決定装置 Expired - Fee Related JP3636307B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2001099730A JP3636307B2 (ja) 2001-03-30 2001-03-30 パケットデータ処理決定装置
US10/467,448 US7359441B2 (en) 2001-03-30 2002-03-27 Packet data processing determination apparatus
DE60220153T DE60220153T2 (de) 2001-03-30 2002-03-27 Vorrichtung zur paketdatenverarbeitung
PCT/JP2002/002953 WO2002082721A2 (en) 2001-03-30 2002-03-27 Packet data processing apparatus
EP02708677A EP1374482B1 (en) 2001-03-30 2002-03-27 Packet data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001099730A JP3636307B2 (ja) 2001-03-30 2001-03-30 パケットデータ処理決定装置

Publications (2)

Publication Number Publication Date
JP2002300201A JP2002300201A (ja) 2002-10-11
JP3636307B2 true JP3636307B2 (ja) 2005-04-06

Family

ID=18953240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001099730A Expired - Fee Related JP3636307B2 (ja) 2001-03-30 2001-03-30 パケットデータ処理決定装置

Country Status (5)

Country Link
US (1) US7359441B2 (ja)
EP (1) EP1374482B1 (ja)
JP (1) JP3636307B2 (ja)
DE (1) DE60220153T2 (ja)
WO (1) WO2002082721A2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4788081B2 (ja) * 2001-08-07 2011-10-05 パナソニック株式会社 パケットデータ出力装置
CA2559584A1 (en) * 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method of providing a self-optimizing reservation in space of compute resources
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
WO2006053093A2 (en) 2004-11-08 2006-05-18 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
EP1872249B1 (en) 2005-04-07 2016-12-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
US20080313240A1 (en) * 2007-06-18 2008-12-18 Freking Ronald E Method for Creating Data Transfer Packets With Embedded Management Information
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8179887B1 (en) * 2008-02-01 2012-05-15 Tellabs Operations, Inc. Method and apparatus for improving performance of TDM sequencing for packet processing engines using a delay line
US8369413B2 (en) * 2009-04-23 2013-02-05 Mediatek Inc. Transport stream processing system and related method thereof
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
JP5593792B2 (ja) * 2010-03-31 2014-09-24 富士通株式会社 Raid装置、記憶制御方法、および、記憶制御プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100226528B1 (ko) * 1995-03-29 1999-10-15 가나이 쓰도무 다중화 압축화상/음성데이타의 복호장치
JP3269768B2 (ja) 1996-01-16 2002-04-02 株式会社東芝 ディジタル信号受信装置
US5675654A (en) * 1996-03-29 1997-10-07 Matsushita Electric Corporation Of America System and method for interfacing a transport decoder to a national renewable security systems (NRSS) smart card
US5844478A (en) 1996-05-31 1998-12-01 Thomson Consumer Electronics, Inc. Program specific information formation for digital data processing
US6226291B1 (en) 1996-11-01 2001-05-01 Texas Instruments Incorporated Transport stream packet parser system
JP3356203B2 (ja) 1997-06-09 2002-12-16 日本電気株式会社 Mpeg2トランスポートストリーム分離方法と回路
US6088357A (en) 1997-09-26 2000-07-11 International Business Machines Corporation Auxiliary transport assist processor especially for an MPEG-2 compliant decoder
US6078594A (en) * 1997-09-26 2000-06-20 International Business Machines Corporation Protocol and procedure for automated channel change in an MPEG-2 compliant datastream

Also Published As

Publication number Publication date
US20040081148A1 (en) 2004-04-29
WO2002082721A2 (en) 2002-10-17
DE60220153D1 (de) 2007-06-28
WO2002082721A3 (en) 2003-02-13
US7359441B2 (en) 2008-04-15
JP2002300201A (ja) 2002-10-11
EP1374482A2 (en) 2004-01-02
DE60220153T2 (de) 2008-01-17
EP1374482B1 (en) 2007-05-16

Similar Documents

Publication Publication Date Title
JP4416361B2 (ja) マルチフォーマットトランスポートストリームデコーダ
JP3636307B2 (ja) パケットデータ処理決定装置
US5742361A (en) Data demultiplexer
KR100248456B1 (ko) 전달 디코더 시스템용 프로그램 카운터 기준 수신 조절 방법과, 불연속 표시자 수신 조절 장치 및 방법
CN1085008C (zh) 多路压缩图象声音数据的解码装置、应用程序实施装置和编码化图像声音数据接收装置
CN101505417B (zh) 时戳附加装置、时戳附加方法
CN101287111A (zh) 带有视频程序的传输流再分多路复用器
US7149230B2 (en) Transport processor for processing multiple transport streams
US6577813B1 (en) Transmitting system and transmitting apparatus
EP1701551A2 (en) Signal processing apparatus and signal processing method
US20100142554A1 (en) Multiplexer and multiplexing method, program, and recording medium
CN101821973B (zh) 用于多通道、多流、复用的传输流处理的多格式流再复用器
KR20020076315A (ko) 적어도 두 개의 전송 스트림과 대응하는 디지털 스트림에대한 디멀티플렉싱 디바이스 및 프로세스
US7088732B2 (en) Apparatus and methods for storing and comparing PIDs
US20020031330A1 (en) Storage and reproduction system, transport stream storage method, and transport stream reproduction method
JP4788081B2 (ja) パケットデータ出力装置
US7385996B2 (en) Data distribution apparatus and method
US8264960B2 (en) Method and system for sharing AV/record resources in a programmable transport demultiplexer and PVR engine
EP0917143A1 (en) Method and apparatus for controlling the buffering of a data stream
JP3293581B2 (ja) データメモリ管理方法、画像データ処理方法、データメモリ管理装置、および画像表示装置
EP0917142A1 (en) Method and apparatus for controlling the buffering of a data stream
JPH09162829A (ja) 符号化・多重化装置,多重化前処理装置及び符号化・多重化方法
JP2004289240A (ja) パケットデータ処理装置
JP2003009082A (ja) トランスポートストリーム処理装置、及びトランスポートストリーム処理方法
JP2003163900A (ja) トランスポートストリーム復号装置及びトランスポートストリーム復号方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040324

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040621

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041008

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041208

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20041213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041228

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080114

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100114

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees