(57)【特許請求の範囲】
【請求項１】
複数のデータを多重化した入力ストリームを分離し所望のデータを出力するデータ分離装置であって、
上記入力ストリームのデータを複数の格納領域に記憶するメモリと、
上記入力ストリームのデータを受信して、該データから得られたパケット単位のデータを上記メモリの上記複数の格納領域のひとつの格納領域に書き込む書き込み制御部と、
上記メモリから上記パケット単位のデータを読み出し、該読み出されたデータの種類を解析して解析情報を生成する解析処理部と、
上記メモリから読み出されたデータを上記解析処理部からの上記解析情報に応答してその出力に転送する複数の転送制御部とを具備してなり、
上記書き込み制御部から複数のパケット単位のデータが上記メモリに順次書き込まれる際に、上記複数のパケット単位のデータのそれぞれの書き込みアドレス情報をFIFOメモリに順次格納せしめ、
上記解析処理部は上記FIFOメモリから順次読み出される上記書き込みアドレス情報に従って上記メモリからパケット単位のデータを順次読み出してデータの種類を解析することにより解析情報を順次生成し、
上記複数の転送制御部のひとつの転送制御部が上記解析処理部からの上記解析情報に選択的に応答して、上記メモリのひとつの格納領域から読み出されたデータをその出力に転送することを特徴とするデータ分離装置。
【請求項２】
上記メモリと上記解析処理部と上記複数の転送制御部とはバスを介して相互に接続され、
上記解析処理部はCPUで構成され、
上記FIFOメモリは上記解析処理部の上記CPU内部のハードウェアであることを特徴とする請求項１に記載のデータ分離装置。
【請求項３】
上記メモリと上記解析処理部と上記複数の転送制御部とはバスを介して相互に接続され、
上記解析処理部はCPUで構成され、
上記FIFOメモリは上記解析処理部の上記CPUの動作を制御するソフトウェアにより実現されることを特徴とする請求項１に記載のデータ分離装置。
【請求項４】
上記複数の転送制御部のひとつの転送制御部が上記解析処理部からの上記解析情報を転送要求割り込み信号として選択的に応答して、上記メモリのひとつの格納領域からデータを読み出し、該読み出されたデータをその出力に転送することを特徴とする請求項１から請求項３までのいずれかに記載のデータ分離装置。
【請求項５】
上記入力ストリームはビデオとオーディオとの少なくともふたつのデータが多重化されたデータであり、
上記複数の転送制御部はビデオ転送制御部とオーディオ転送制御部との少なくともふたつを含み、
上記解析処理部は上記FIFOメモリから順次読み出される上記書き込みアドレス情報に従って上記メモリからパケット単位のデータを順次読み出してビデオとオーディオとの少なくともふたつのデータの種類を解析することにより解析情報を順次生成し、
上記解析処理部からの上記解析情報がビデオのデータの種類であることに上記ビデオ転送制御部は選択的に応答して、上記メモリのひとつの格納領域から読み出されたデータをその出力に転送し、
上記解析処理部からの上記解析情報がオーディオのデータの種類であることに上記オーディオ転送制御部は選択的に応答して、上記メモリのひとつの格納領域から読み出されたデータをその出力に転送することを特徴とする請求項１に記載のデータ分離装置。
【請求項６】
上記メモリは書き込みデータ端子が上記書き込み制御部に接続され、読み出しデータ端子が上記複数の転送制御部に接続されたデュアルポートメモリであることを特徴とする請求項１に記載のデータ分離装置。
【請求項７】
複数のデータを多重化した入力ストリームを分離し所望の出力データを出力するためのデータ分離装置は、
上記入力ストリームのデータを格納するメモリと、
上記入力ストリームのデータを受信して、該受信データから得られたパケットデータを上記メモリに書き込む書き込み制御部と、
上記メモリから上記パケットデータを読み出し、該読み出されたパケットデータの種類を解析する解析処理部とを具備してなり、
上記書き込み制御部は、
上記入力ストリームのデータから所定の同期パターンのパケットヘッダを検出する同期検出器と、
上記解析処理部により指定されたパケット識別情報を有するパケットデータを上記入力ストリームのデータから選択するパケット選択部と、
上記パケット選択部により選択される選択パケットデータが上記所望の出力データを構成するパケットデータのタイミング制御処理のための特定パターンを有することを検出して、該パケットデータを上記メモリへ格納し該検出結果の付加情報を出力するパケット検出格納部とを有してなり、
上記解析処理部はソフトウェアで動作が制御されるＣＰＵで構成され、
上記ＣＰＵは上記メモリから読み出された上記パケットデータから上記所望の出力データを構成するパケットデータのパケット識別情報を求め、該パケット識別情報を上記パケット選択部に設定し、
上記ＣＰＵは上記パケット検出格納部から出力される上記付加情報に応答して上記付加情報を有する上記パケットデータのタイミング制御処理を開始して実行することを特徴とするデータ分離装置。
【請求項８】
上記入力ストリームはビデオとオーディオとの少なくとも二つのデータが多重化されたデータであり、
上記メモリと上記ＣＰＵと上記書き込み制御部とはバスを介して相互に接続されたことを特徴とする請求項７に記載のデータ分離装置。
【請求項９】
上記特定パターンは、上記入力ストリーム中のビデオのシーケンスヘッダコードおよびピクチャスタートコードと、オーディオのフレーム先頭の同期パターンとの少なくともいずれかひとつであることを特徴とする請求項８に記載のデータ分離装置。
【請求項１０】
複数のデータを多重化した入力ストリームを分離し所望の出力データを出力するためのデータ分離装置は、
上記入力ストリームのデータを格納するメモリと、
上記入力ストリームのデータを受信して、該受信データから得られたパケットデータを上記メモリに書き込む書き込み制御部と、
上記メモリから上記パケットデータを読み出し、該読み出されたパケットデータの種類を解析する解析処理部とを具備してなり、
上記書き込み制御部は、
上記解析処理部により指定されたパケット識別情報を有するパケットデータを上記入力ストリームのデータから選択して、該パケットデータを上記メモリへ格納する選択部と、
上記入力ストリームのデータから所定の同期パターンのパケットヘッダを検出し、上記選択部により選択される選択パケットデータが上記所望の出力データを構成するパケットデータのタイミング制御処理のための特定パターンを有することを検出して、該検出結果の付加情報を出力する検出器とを有してなり、
上記解析処理部はソフトウェアで動作が制御されるＣＰＵで構成され、
上記ＣＰＵは上記メモリから読み出された上記パケットデータから上記所望の出力データを構成するパケットデータのパケット識別情報を求め、該パケット識別情報を上記選択部に設定し、
上記ＣＰＵは上記検出器から出力される上記付加情報に応答して上記付加情報を有する上記パケットデータのタイミング制御処理を開始して実行することを特徴とするデータ分離装置。
【請求項１１】
上記入力ストリームはビデオとオーディオとの少なくとも二つのデータが多重化されたデータであり、
上記メモリと上記ＣＰＵと上記書き込み制御部とはバスを介して相互に接続されたことを特徴とする請求項１０に記載のデータ分離装置。
【請求項１２】
上記特定パターンは、上記入力ストリーム中のビデオのシーケンスヘッダコードおよびピクチャスタートコードと、オーディオのフレーム先頭の同期パターンとの少なくともいずれかひとつであることを特徴とする請求項１１に記載のデータ分離装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ分離装置に関わり、特にビットレートの高いビデオ、オーディオ等のデータが多重化されたストリームを、ビデオストリームとオーディオストリームに分離し、それぞれビデオ復号器とオーディオ復号器に転送する装置に関するものである。
【０００２】
【従来の技術】
最近では、ディジタルビデオデータ、あるいはディジタルオーディオデータを蓄積メディア上において記録・再生したり、通信回線上で送受信する用途が増加しつつある。このような用途においては、一般的に、記録時、又は送信時にビデオやオーディオの各データをそれぞれパケットと呼ばれる単位に区切り、それら複数のパケットを多重化した多重化ストリームを形成する。以下、このような多重化ストリームから所望のビデオ、オーディオの各データを抽出して、それぞれビデオ復号器、オーディオ復号器に転送する装置のことを多重化ストリーム分離装置と呼ぶ。
【０００３】
このようにディジタル化されたビデオ、オーディオデータを伝送あるいは記録する用途の広がりにともない、記録・送信側では複数のビデオ、オーディオデータを多重化する技術が必要となっている。
また、再生側ではこれらの多重化されたデータから所望のビデオ、オーディオデータを分離して、ビデオデコーダ、オーディオデコーダに送ることが要求され、このような装置を多重化ストリーム分離装置という。
【０００４】
このような複数のビデオ、オーディオデータを多重化する規格のひとつとして、MPEG(Moving Pictures Expert Group)システム規格(詳細はISO/IEC,"Information Technology-Generic Coding of Moving Pictures and Associated Audio:SYSTEMS", ISO/IEC 13818-1 International Standard, 1994.Novなどを参照)があ げられる。
MPEGは、ディジタルビデオ/オーディオの符号化およびその多重化に関する国 際規格であり、そのなかの多重化に関する部分をMPEGシステム規格と呼ぶ。以下、MPEG2のシステム規格のうち、トランスポートストリーム(Transport Stream、以下ＴＳ)と呼ばれるストリームの形式に基づいて説明する。
【０００５】
ＴＳは、一本のストリーム上に複数プログラムの多重が可能なストリーム形式であり、主に放送用途に適用されるものである。ＴＳは188バイト固定長のパケ ットが連続するものであり、各々のパケットには符号化されたビデオデータ、オーディオデータ、および、ストリームに関する情報などが含まれる。各パケットの先頭にはヘッダが設けられており、このヘッダ内のＰＩＤ(Packet Identifier)と呼ばれるパケット識別用のフィールドを調べることにより、そのパケットの 種類を知ることができる。
次に、ＴＳから所望のプログラムのビデオ、オーディオデータを分離する手順を簡単に説明する。
まず、ＴＳには前述のようにビデオ、オーディオデータ以外にＰＳＩ(Program Specific Information)と呼ばれるストリームに関する情報が含まれており、ＰＳＩを解析することにより各プログラムのビデオ、オーディオデータが含まれるパケットにつけられているＰＩＤの値がわかるようになっている。ＰＳＩはＰＡＴ(Program Association Table)とＰＭＴ(Program Map Table)の2段階構成とな っており、まず、ＰＡＴパケットを解析し所望のプログラム番号に対応するＰＭＴのＰＩＤを得た後、ＰＭＴパケットを解析して所望プログラムのビデオ、オーディオデータが含まれるパケットのＰＩＤを得ることになる。ビデオ、オーディオパケットのＰＩＤの値が得られれば、該当するパケットのなかからビデオ、オーディオのデータを取り出してそれぞれの復号器(デコーダ)に転送する。
【０００６】
図５は前記MPEGシステム規格に基づいた多重化ストリーム分離装置の構成例である。送られてきたＴＳデータ101は分離部402によりビデオパケット、オーディオパケット、ＰＳＩパケットに分離される。
ＰＳＩパケットはバッファ403を通してＰＳＩ解析部404に送られ、ＰＡＴ、ＰＭＴの解析が行われる。初めにＰＡＴのみがＰＳＩ解析部404に送られるように なっており、ＰＡＴが解析される。ＰＭＴパケットに付属するＰＩＤが判明すれば、 ＰＳＩ解析部404はそのＰＩＤを分離部402に送り、ＰＡＴ、ＰＭＴがＰＳ Ｉ解析部404に送られるようにする。さらにＰＭＴが解析され、ビデオパケット 、オーディオパケットの持つＰＩＤの値が得られれば、ＰＳＩ解析部404はその ＰＩＤを分離部402に送る。このようにしてビデオパケット、オーディオパケッ トは分離部402からそれぞれバッファ403に転送され、順次ビデオデコーダ、オーディオデコーダに送られる(108,109)。ただし、ビデオデコーダ、オーディオデ コーダにはＴＳのヘッダなどを取り除いて送る必要があるため、バッファ403の 書き込み/読み出し時にヘッダの読み飛ばしを行う必要がある。
【０００７】
上述のようなＭＰＥＧによるディジタルビデオ、ディジタルオーディオの圧縮伸張方式と、その多重化・分離方式とからなる国際標準で、ＭＰＥＧシステムとはその多重化・分離方式の規定の部分をさす。ＭＰＥＧには現在ＭＰＥＧ１、ＭＰＥＧ２の二つの標準があるが、以下ではＭＰＥＧ２のＭＰＥＧシステムを取り上げ説明する。
また、ＭＰＥＧ２のＭＰＥＧシステムでは、一つのプログラムのビデオ、オーディオのパケット多重・分離する方式と、複数のプログラムのビデオ、オーディオのパケットを多重・分離する方式の２種類の方式が規定されている。前者の方式により多重化されたストリームはプログラムストリーム(以下ＰＳ)と呼ばれる。一方、後者の方式により多重化されたストリームはトランスポートストリーム(以下ＴＳ)と呼ばれる。ＴＳでは複数プログラムのデータの多重化が可能であるためディジタル放送、ディジタルＣＡＴＶ等の放送用途への適用が期待されている。
【０００８】
以下、入力ストリームであるＴＳについて、さらに説明する。ＴＳは１８８バイト固定長のトランスポートパケットが多重化されたストリームである。各パケットの先頭には最小で４バイトのヘッダが設けられ、ヘッダの後にはペイロードと呼ばれるデータ格納部がある。ヘッダの先頭の４バイトは８つのフィールドに区切られており、各フィールドの長さは最小１ビット、最大１３ビットである。これには８ビットの同期パターン、１３ビットのＰＩＤと呼ばれるパケット識別フィールドが含まれる。
ＴＳを分離する場合にはこれらのパケット識別フィールドの値を調べ、その値によりそのパケットに対する処理を分岐させる必要がある。すなわち、ＰＩＤ( パケット識別子)を見れば、そのパケットが何のパケットであるかが分かる。ま たヘッダ部が先頭４バイト以降に続く場合もあり、その場合は、さらに複数フィールドについて値を調べ、その値に従ってさらに処理を分岐させる必要がある。
【０００９】
上記パケットのうちビデオ、オーディオのパケットのペイロードには、ビデオ、オーディオのデータを符号化により圧縮したストリームがＰＥＳ(Packetized Elementary Stream)という形で格納される。図２に、ＰＥＳとＴＳの関係を示す。
ＰＥＳは、ビデオ、オーディオのストリームを適当な長さで区切り、区切った箇所にＰＥＳヘッダを先頭に付加したものである。ＰＥＳヘッダの中にはビデオ、又はオーディオの復号、表示のタイミングを合わせるための時刻情報であるタイムスタンプが含まれている。つまり図２に示すようにＰＥＳのデータは、複数のＴＳのパケットのペイロードに分割して格納される。なお、図２は、１本のＰＥＳから１本のＴＳを作成する場合について示している。ビデオ、オーディオの２本のＰＥＳから１本のＴＳを作成する場合には、ＰＥＳ毎に独立に複数のＴＳのパケットのペイロードに分割した後、それらのパケットを多重化する。この場合作成されるＴＳはビデオ、オーディオのパケットが混在したストリームとなる。
【００１０】
次にＴＳから所望のプログラムのビデオ、オーディオを復号する手順を説明する。まず所望のプログラムのビデオ、オーディオのデータが格納されたパケットのパケット識別情報ＰＩＤを求める。次にそれらのＰＩＤを持つパケットのペイロードを抜き出し、それぞれビデオ、オーディオの復号器に送る。ビデオ、オーディオの復号器では入力された符号化データを伸張して出力する。
ＴＳには、選択したプログラム番号に対してそのプログラムを構成するビデオ、オーディオのパケットのＰＩＤを与えるための情報として、ＰＳＩ(Program Specific Information) と言うテーブルが用意されている。すなわち、ＴＳの中 でどれが１チャネルのビデオで、どれが２チャネルのオーディオであるかが分からなければ、復号器に取り出せない。従って、あるプログラム番号に対してそのプログラムを構成するビデオ、オーディオがそれぞれ格納されたパケットのＰＩＤを与えるためのＰＳＩと言うテーブルが、以下に説明するようにＴＳに準備されている。
すなわち、ＰＳＩと言うテーブルは、上述のようにＰＡＴ(Program Association Table)とＰＭＴ(Program Map Table)との二段階のテーブルから構成される。まずＰＡＴとは、あるプログラム番号に対してそのプログラムのＰＭＴのパケットのＰＩＤを与えるテーブルである。 またＰＡＴとはＰＩＤがオール"０"(以下、単に０と記す)のパケットであり、このＰＡＴのパケットのペイロードにＰ ＭＴのパケットのＰＩＤが格納されている。
【００１１】
またＰＭＴとは、プログラム番号毎にプログラムを構成するビデオ、オーディオのパケットのＰＩＤを与えるテーブルである。
これらＰＡＴ、ＰＭＴを用いてビデオ、オーディオのＰＩＤを得る手順は、次の２ステップになる。まず、最初のステップでは、ＰＩＤ＝０のＰＡＴのパケットのペイロードを解析することにより、ＰＭＴのＰＩＤを得る。次のステップでは、ＰＭＴのパケットを解析してビデオ、オーディオのＰＩＤを得る。
【００１２】
このようにして、 ＴＳを受信する受信装置で希望のチャネルのプログラムを 再生する際には、 ＰＡＴから複数のチャネルのプログラム番号とこれらに対応 するＰＭＴのＰＩＤが得られ、このうち受信希望のチャネルのプログラム番号のＰＭＴのＰＩＤから受信希望のチャネルのプログラムを構成するビデオストリームとオーディオストリームとを抽出することができる。
なお、ＴＳには上述したビデオ、オーディオ、ＰＡＴ、ＰＭＴ以外のデータを格納したパケットも多重可能であるが、簡単のためビデオ、オーディオ、ＰＡＴ、ＰＭＴのパケットが多重化されたＴＳについて考えるものとする。
【００１３】
図１１にＴＳを入力としビデオ、オーディオを出力する一般的なＴＳ復号器の構成を示す。図１１のＴＳ復号器は、ＴＳ分離装置１、ビデオ復号器２、オーディオ復号器３から構成される。
【００１４】
このうちＴＳ分離装置１で行う処理は、大きく分けて次の二つである。
一つは、所望のプログラムのビデオ、オーディオのストリームをパケットのペイロードから抜き出し、それぞれビデオ復号器２、オーディオ復号器３に送ることである。
もう一つは、ＰＥＳヘッダ内のタイムスタンプに基づきビデオ復号器２、オーディオ復号器３の復号タイミングを制御することである。以下、ＴＳ復号器のＴＳ分離装置１のこれらの処理について説明する。
まず所望のプログラムのビデオ、オーディオストリームを取り出す処理について説明する。まず、 ＴＳ分離装置１は入力されるＴＳの同期パターン(具体的には、１６進数で４７と言う特定パターン)を検出することによりパケットに区切 り、各パケットヘッダ内のＰＩＤの値を得ることができる。次に、ＴＳ分離装置１はＰＩＤが０に一致するＰＡＴパケットの内容を解析して、複数のプログラムのＰＭＴパケットのＰＩＤを得ることができる。次に、希望プログラムのＰＭＴのＰＩＤに一致するＰＩＤを有するパケットの内容をＴＳ分離装置１が解析し、ビデオ、オーディオのＰＩＤを得ることができる。このようにしてＴＳ分離装置は、ビデオ、オーディオのＰＩＤに一致するＰＩＤを持つパケットのペイロードのデータからＰＥＳのヘッダを除いた部分を、それぞれビデオ復号器２、オーディオ復号器３に転送する。
【００１５】
次にＴＳ分離装置１のタイムスタンプによるタイミング制御処理を、ビデオの場合を例にとって説明する。
タイムスタンプはビデオではピクチャという単位に対して与えられる。ビデオストリームは数段階の階層構造になっており、そのうち一番上の階層がシーケンスと呼ばれる階層、その下の階層がピクチャである。シーケンスの先頭にはシーケンスヘッダが設けられており、復号に必要な画面サイズなどの情報が格納されている。
そのため、ＴＳ分離装置１は、電源投入直後の初期状態あるいは希望チャネル変更によりプログラムが切り替わった場合等には、ビデオストリーム内のシーケンスヘッダを検出し、その後のピクチャからタイミング制御を行う必要がある。いったん復号が開始された後は、ピクチャヘッダをビデオストリーム内から検出し、ピクチャとタイムスタンプとの対応をとる。これらシーケンスヘッダ、ピクチャヘッダの位置を見つけるには、それぞれのヘッダの先頭のシーケンスヘッダコード、ピクチャスタートコードと呼ばれる４バイトの特定パターンを探す必要がある。オーディオの場合にも同様に、フレームと呼ばれる単位に対しタイムスタンプとの対応付けが必要である。この場合はストリーム中からフレーム先頭の同期パターンを探す必要がある。すなわち、ビデオ、オーディオのタイミング制御処理には、ストリーム中のシーケンスヘッダコード、ピクチャスタートコード、同期パターンの特定パターンを検出する処理が含まれる。
【００１６】
以上のことからＴＳ分離装置１の処理は、次の４つの処理にまとめられる。すなわち、
(１)同期検出によるパケットの先頭合わせ(パケット区切り識別処理)、
(２)パケット識別情報(ＰＩＤ)によるパケット選択、
(３)ヘッダの特定パターンの解析と処理の分岐、
(４)ビデオとオーディオ等の所望の出力データのタイミング制御、
である。
【００１７】
【発明が解決しようとする課題】
前記のような構成の多重化ストリーム分離装置では、各パケット種類ごとにバッファを持っており、それらの管理が煩雑となる。特に、ＰＳＩ解析およびＴＳヘッダの読み飛ばし、バッファ管理をひとつのＰＳＩ解析部404のCPUによる管理(ソフトウェア管理)で行おうとすると、複数のバッファ管理の各処理を独立に行わなければならず、CPUである解析処理部の負荷が重くなってしまうと言う問題 が本願発明者等の検討により明かとされた。
【００１８】
本発明はこのような問題を解決するためになされたものであり、その第一の目的とするところは解析処理部の処理を軽減することの可能なデータ分離装置を提供することにある。
【００１９】
上述した(１)〜(４)の処理を行う多重化ストリーム装置を実現しようとすると次のような問題が生じることが本願発明者等の検討により明か
とされた。
【００２０】
まず、全てをハードウェアのみで構成しようとした場合には、特に(３)、(４)の処理を行うハードウェアの規模がかなり大きくなってしまう。これ以外にも、パケットヘッダには同期パターン、パケット識別情報(ＰＩＤ)以外の情報も含まれており、ハードウェアのみでの対応が困難なこと等にもよる。
【００２１】
また、汎用ＣＰＵ(Central Processing Unit)とソフトウェアとを用いて上記(１)〜(４)の処理を実現しようとした場合には、(１)、(３)の同期パターン、シ ーケンスヘッダコード等の特定パターンの検出処理に膨大なステップ数が費やされることになり、(２)、(４)の処理に支障をきたす恐れがある。特に、ＴＳのようにビットレートが数十ＭＨｚと高く、さらにヘッダの構造が複雑である場合には、(１)〜(４)の処理を全てＣＰＵのソフトウェア処理で実行することはかなり困難である。すなわち、全てをハードウェアのみで処理する方法、もしくは、ＣＰＵのソフトウェアのみで処理する方法の何れも現実的でないといえる。
【００２２】
本発明はこのような問題を鑑みてなされたものであり、その第二の目的とするところは、ビットレートが高く、ヘッダの構造が複雑な多重化ストリームを分離する場合にも分離処理を正しく実行可能な低コストのデータ分離装置を提供することにある。
【００２３】
【課題を解決するための手段】
上記第一の目的は、データ分離装置を書き込み制御部とメモリと解析処理部と転送制御部とで構成し、書き込み制御部では到達したパケットを到着順にメモリに書き込み、その書き込み情報を解析処理部に送り、解析処理部では上記書き込み情報をもとにパケット到達順にパケットの解析を行ってその解析結果のみを転送制御部に送り、メモリからパケットの到達順に読み出されたデータを転送制御部は上記解析結果をもとにデコーダに送ることによって基本的に達成される。
上記第一の目的を達成する本発明の具体的な実施形態は、
複数のデータを多重化した入力ストリームを分離し所望のデータを出力するデータ分離装置であって、
上記入力ストリームのデータを複数の格納領域に記憶するメモリ(104、304)と、
上記入力ストリームのデータを受信して、該データから得られたパケット単位のデータを上記メモリ(104、304)の上記複数の格納領域のひとつの格納領域に書き込む書き込み制御部(102、302)と、
上記メモリ(104、304)から上記パケット単位のデータを読み出し、該読み出されたデータの種類を解析して解析情報を生成する解析処理部(105)と、
上記メモリ(104、304)から読み出されたデータを上記解析処理部(105)からの 上記解析情報に応答してその出力に転送する複数の転送制御部(106、107)とを具備してなり、
上記書き込み制御部(102、302)から複数のパケット単位のデータが上記メモリ(104、304)に順次書き込まれる際に、上記複数のパケット単位のデータのそれぞれの書き込みアドレス情報をFIFOメモリ(FIFO)に順次格納せしめ、
上記解析処理部(105)は上記FIFOメモリ(FIFO)から順次読み出される上記書き 込みアドレス情報に従って上記メモリ(104、304)からパケット単位のデータを順次読み出してデータの種類を解析することにより解析情報を順次生成し、
上記複数の転送制御部(106、107)のひとつの転送制御部が上記解析処理部(105)からの上記解析情報に選択的に応答して、上記メモリ(104、304)のひとつの格 納領域から読み出されたデータをその出力に転送することを特徴とする(図1、図４参照)。
上記第一の目的を達成する本発明のさらに具体的な実施形態は、
上記メモリ(104、304)と上記解析処理部(105)と上記複数の転送制御部(106、107)とはバス(103)を介して相互に接続され、
上記解析処理部(105)はCPUで構成され、
上記FIFOメモリは上記解析処理部(105)の上記CPU内部のハードウェアであることを特徴とする。
【００２４】
上記第一の目的を達成する本発明の他のさらに具体的な実施形態は、
上記メモリ(104、304)と上記解析処理部(105)と上記複数の転送制御部(106、107)とはバス(103)を介して相互に接続され、
上記解析処理部(105)はCPUで構成され、
上記FIFOメモリは上記解析処理部(105)の上記CPUの動作を制御するソフトウェアにより実現されることを特徴とする。
本発明のより好適な実施形態は、
上記複数の転送制御部(106、107)のひとつの転送制御部が上記解析処理部(105)からの上記解析情報を転送要求割り込み信号として選択的に応答して、上記メ モリ(104、304)のひとつの格納領域からデータを読み出し、該読み出されたデータをその出力に転送することを特徴とする。
上記第一の目的を達成する本発明の好適な実施形態は、
上記入力ストリームはビデオとオーディオとの少なくともふたつのデータが多重化されたデータであり、
上記複数の転送制御部(106、107)はビデオ転送制御部(106)とオーディオ転送 制御部(107)との少なくともふたつを含み、
上記解析処理部(105)は上記FIFOメモリ(FIFO)から順次読み出される上記書き 込みアドレス情報に従って上記メモリ(104、304)からパケット単位のデータを順次読み出してビデオとオーディオとの少なくともふたつのデータの種類を解析することにより解析情報を順次生成し、
上記解析処理部(105)からの上記解析情報がビデオのデータの種類であること に上記ビデオ転送制御部(106)は選択的に応答して、上記メモリ(104、304)のひ とつの格納領域から読み出されたデータをその出力に転送し、
上記解析処理部(105)からの上記解析情報がオーディオのデータの種類である ことに上記オーディオ転送制御部(107)は選択的に応答して、上記メモリ(104、304)のひとつの格納領域から読み出されたデータをその出力に転送することを特 徴とする。
上記第一の目的を達成する本発明のより好適な実施形態は、
上記メモリ(304)は書き込みデータ端子が上記書き込み制御部に接続され、読 み出しデータ端子が上記複数の転送制御部に接続されたデュアルポートメモリであることを特徴とする。
【００２５】
上記第二の目的を達成するため、複数のデータを多重化した入力ストリームを分離し所望の出力データを出力するための本発明の具体的な実施形態によるデータ分離装置は、
上記入力ストリームのデータを格納するメモリ(５)と、
上記入力ストリームのデータを受信して、該受信データから得られたパケットデータを上記メモリ(５)に書き込む書き込み制御部(４)と、
上記メモリ(５)から上記パケットデータを読み出し、該読み出されたパケットデータの種類を解析する解析処理部(６)とを具備してなり、
上記書き込み制御部(４)は、
上記入力ストリームのデータから所定の同期パターンのパケットヘッダを検出する同期検出器(７)と、
上記解析処理部(６)により指定されたパケット識別情報を有するパケットデータを上記入力ストリームのデータから選択するパケット選択部(１８)と、
上記パケット選択部(１８)により選択される選択パケットデータが上記所望の出力データを構成するパケットデータのタイミング制御処理のための特定パターンを有することを検出して、該パケットデータを上記メモリ(５)へ格納し該検出結果の付加情報を出力するパケット検出格納部(１９)とを有してなり、
上記解析処理部(６)はソフトウェアで動作が制御されるＣＰＵで構成され、
上記ＣＰＵ(６)は上記メモリ(５)から読み出された上記パケットデータから上記所望の出力データを構成するパケットデータのパケット識別情報を求め、該パケット識別情報を上記パケット選択部(１８)に設定し、
上記ＣＰＵ(６)は上記パケット検出格納部(１９)から出力される上記付加情報に応答して上記付加情報を有する上記パケットデータのタイミング制御処理を開始して実行することを特徴とする(図６参照)。
【００２６】
上述の本発明の具体的な実施形態によれば、下記の理由により上記第二の目的を達成することができる。
(１)同期検出によるパケットの先頭合わせ(パケット区切り識別処理)は、書き込み制御部(４)で入力ストリームのデータから所定の同期パターンのパケットヘッダを検出する同期検出器(７)によってハードウェア方式で実行されるので、ソフトウェアのステップ数を削減することができる。
(２)パケット識別情報(ＰＩＤ)によるパケット選択は、書き込み制御部(４)で指定パケット識別情報を有するパケットを入力ストリームのデータから選択するパケット選択部(１８)によってハードウェア方式で実行されるので、ソフトウェアのステップ数を削減することができる。
(３)ヘッダ解析の特定パターンと処理の分岐は、選択パケットデータが特定パターンを有することを検出してこの検出結果の付加情報を出力するパケット検出格納部(１９)のハードウェアとメモリ(５)からの読み出しパケットデータの種類を解析するＣＰＵ解析処理部(６)のソフトウェア動作で実行されるので、ハードウェアの規模削減とソフトウェアのステップ数削減が可能となる。
(４)ビデオとオーディオ等の所望の出力データのタイミング制御に関しては、所望の出力データを構成するパケットのパケット選択部(１８)での選択を示す付加情報がパケット検出格納部(１９)から出力されることに解析処理部(６)が応答して付加情報を有するパケットデータのタイミング制御処理を開始して実行するので、解析処理部(６)のタイミング制御のための特定パターンの常時検出を不要とでき、解析処理部(６)の処理量を削減することができる。
【００２７】
上記第二の目的を達成するため本発明の他の具体的な実施形態によるデータ分離装置は、
上記入力ストリームのデータを格納するメモリ(５)と、
上記入力ストリームのデータを受信して、該受信データから得られたパケットデータを上記メモリ(５)に書き込む書き込み制御部(４)と、
上記メモリ(５)から上記パケットデータを読み出し、該読み出されたパケットデータの種類を解析する解析処理部(６)とを具備してなり、
上記書き込み制御部(４)は、
上記解析処理部(６)により指定されたパケット識別情報を有するパケットデータを上記入力ストリームのデータから選択して、該パケットデータを上記メモリ(５)へ格納する選択部(９、１５)と、
上記入力ストリームのデータから所定の同期パターンのパケットヘッダを検出し、上記選択部(９、１５)により選択される選択パケットデータが上記所望の出力データを構成するパケットデータのタイミング制御処理のための特定パターンを有することを検出して、該検出結果の付加情報を出力する検出器(１４)とを有してなり、
上記解析処理部(６)はソフトウェアで動作が制御されるＣＰＵで構成され、
上記ＣＰＵ(６)は上記メモリ(５)から読み出された上記パケットデータから上記所望の出力データを構成するパケットデータのパケット識別情報を求め、該パケット識別情報を上記選択部(９、１５)に設定し、
上記ＣＰＵ(６)は上記検出器(１４)から出力される上記付加情報に応答して上記付加情報を有する上記パケットデータのタイミング制御処理を開始して実行することを特徴とする(図１０参照)。
【００２８】
上述の本発明の他の具体的な実施形態によれば、下記の理由により上記第二の目的を達成することができる。
(１)同期検出によるパケットの先頭合わせ(パケット区切り識別処理)は、書き込み制御部(４)で入力ストリームのデータから所定の同期パターンのパケットヘッダを検出する検出器(１４)によってハードウェア方式で実行されるので、ソフトウェアのステップ数を削減することができる。
(２)パケット識別情報(ＰＩＤ)によるパケット選択は、書き込み制御部(４)で指定パケット識別情報を有するパケットを入力ストリームのデータから選択する選択部(９、１５)によってハードウェア方式で実行されるので、ソフトウェアのステップ数を削減することができる。
(３)ヘッダ解析の特定パターンと処理の分岐は、選択パケットデータが特定パターンを有することを検出して、この検出結果の付加情報を出力する検出器(１ ４)のハードウェアとメモリ(５)からの読み出しパケットデータの種類を解析す るＣＰＵ解析処理部(６)のソフトウェア動作で実行されるので、ハードウェアの規模削減とソフトウェアのステップ数削減が可能となる。
(４)ビデオとオーディオ等の所望の出力データのタイミング制御に関しては、所望の出力データを構成するパケットの選択部(９、１５)での選択を示す付加情報が選択部(９、１５)から出力されることに解析処理部(６)が応答して付加情報を有するパケットデータのタイミング制御処理を開始して実行するので、解析処理部(６)のタイミング制御のための特定パターンの常時検出を不要とでき、解析処理部(６)の処理量を削減することができる。
【００２９】
本発明のその他の目的と新規な特徴とは、以下の実施例から明かとなろう。
【００３０】
【発明の実施の形態】
以下、図面を参照して本発明の実施例による多重化ストリーム分離装置の構成と動作とを詳細に説明する。以下に述べる実施例はMPEG2システム規格で規定さ れたＴＳを分離する装置に関するものであるが、他の多重化ストリームを入力とする多重化ストリーム分離装置およびその他のデータ分離装置にも適用できるものである。
【００３１】
図1は上記第一の目的を達成する本発明の実施例による多重化ストリーム分離 装置の実施例を示す図である。
図1において、102は入力されるＴＳデータ101をメモリ104に書き込むための書き込み制御部、103はデータバス、104はメモリ、105はＴＳパケットを解析する 解析処理部、106はビデオデータをビデオデコーダに転送するビデオ転送制御部(Video)、107はオーディオデータをオーディオデコーダに転送するオーディオ転 送制御部(Audio)である。
尚、メモリ104内には受信したＴＳパケットを格納するためのパケットバッフ ァが設けられており、複数パケットを格納することができる。
また、解析処理部105は処理が複雑であるため、CPU(Central Processing Unit)を用いて実現されている。
さらに、メモリ104内には解析処理部105としてのCPUの動作を制御するソフト ウェアを格納するメインメモリとしての記憶領域も割り付けられている。尚、このメインメモリは、バッファメモリ104とは別に、データバス103に接続されることも可能である。
【００３２】
図1において、送られてきたＴＳデータ101は書き込み制御部102でパケット単 位に区切られ、パケット単位でメモリ104に転送される。この書き込み制御部102からメモリ104への転送制御は、書き込み制御部102自身で行ってもよいし、割り込み等でパケット到達を解析処理部105に知らせて解析処理部105がDMA(Direct Memory Access)の制御を行ってもよい。すなわち、後者の場合は、解析処理部105としてのCPUがDMA転送割り込み要求を受けると、パケット単位のＴＳデータ101 はデータバス103を介して書き込み制御部102からメモリ104に直接DMA転送される。
いずれの場合にも、書き込み制御部102からメモリ104へのパケット単位のＴＳデータ101のDMA転送に際して、解析処理部105にはメモリ104内のどこにパケットが書き込まれたかのパケット書き込みアドレス情報が送られる。このパケット書き込みアドレス情報としては、メモリ内のアドレス信号でもパケットバッファの番号でもよいが、以下はパケットバッファ番号の場合について説明する。
解析処理部105は上記パケットバッファ番号によるパケット書き込みアドレス 情報をもとにパケット解析を行う。パケット解析はパケットの到達順に行う必要があるため、解析処理部105にFirst in First Outメモリ(以下、FIFOと言う)を 持ち、パケット書き込みアドレス情報(パケットバッファ番号)はこのFIFOに順次格納される。尚、解析処理部105は上述の如くCPUで構成されているので、このFIFOはCPU内部の専用ハードウェアにより実現されることもできるし、メインメモ リとしてのメモリ104に格納されたCPUの動作を制御するソフトウェアにより実現されることもできる。
すなわち、解析処理部105はかくして実現されるFIFOからパケットバッファ番 号を順次に読み出し、このパケットバッファ番号に該当するメモリ104のパケッ トバッファからデータを読み出して、このパケットのデータについて解析処理を行う。解析の結果、該当パケットがＰＳＩであれば解析結果を保持する。該当パケットがビデオあるいはオーディオのデータのパケットであれば、パケットバッファ番号、ビデオあるいはオーディオの種別情報およびパケットのデータの中でビデオあるいはオーディオのデコーダに転送すべきデータの位置を転送情報としてそれぞれのビデオ転送制御部106、オーディオ転送制御部107に送る。
ビデオ転送制御部106とオーディオ転送制御部107は上述した転送情報をFIFOから受けて、パケット到達順にメモリ104から読み出されたパケットのデータをビ デオあるいはオーディオの種別に応じて選択的にその出力に転送する。すなわち、FIFOからの転送情報が読み出されたパケットのデータがビデオであることを示す場合は、ビデオ転送制御部106がこの転送情報に選択的に応答して読み出され たパケットのデータをその出力に転送する。この際、ビデオ転送制御部106はDMA転送要求の割り込み信号としてのFIFOからの転送情報に応答してメモリ104の該 当のパケットのデータを読み出して、その出力のビデオデコーダに転送する。逆に、FIFOからの転送情報が読み出されたパケットのデータがオーディオであることを示す場合は、オーディオ転送制御部107がこの転送情報に選択的に応答して 読み出されたパケットのデータをその出力に転送する。この際、オーディオ転送制御部107はDMA転送要求の割り込み信号としてのFIFOからの転送情報に応答してメモリ104の該当のパケットのデータを読み出して、その出力のオーディオデコ ーダに転送する。尚、ビデオ転送制御部106あるいはオーディオ転送制御部107のデータの出力への実際の転送は、ビデオあるいはオーディオのデコーダからの要求に応じるものである(108,109)。
解析処理部105によるＰＳＩの解析処理が完了するか、ビデオ転送制御部106あるいはオーディオ転送制御部107への転送が終了してひとつのパケットの転送処 理が終了したら、解析処理部105、ビデオ転送制御部106、オーディオ転送制御部107のいずれかは解析処理あるいは転送処理の終了済みのパケットが格納されて いたパケットバッファ番号を書き込み処理部102にデータバス103を介して転送する。この転送されたパケットバッファ番号に応答して書き込み処理部102は該当 するパケットバッファを空きとして、次に到達するＴＳパケットの格納を可能にする。
【００３３】
以上説明した図1の構成の多重化ストリーム分離装置の管理情報の流れを示し たのが図３である。ＴＳパケットが到達して書き込み制御部102によりメモリ104のパケットバッファに1パケットのデータが順次書き込まれると、書き込まれた パケットバッファの番号が書き込み制御部102から順次出力される(201)。出力されたパケットバッファ番号は、FIFO210を通して解析処理部105に送られ、解析処理部105により順次読み出される。尚、FIFOからのパケットバッファ番号の読み 出し順序は、FIFOへのパケットバッファ番号の書き込み順序となる。すなわち、解析処理部105では、FIFO210からパケットバッファ番号を読み出すことによりパケットの到着順にその内容を解析する。
パケットがＰＳＩであった場合には、解析完了後に該当するパケットバッファ番号を書き込み制御部102に転送し(204)、メモリ104の該当するパケットバッフ ァを「空き」とする。
一方、パケットの内容がビデオあるいはオーディオの場合には、パケットバッファ番号等の転送情報がFIFO211から該当する転送制御部106、107に転送される 。転送制御部106、107ではFIFO211から読み出した転送情報に選択的に応答して 、1パケット分のビデオあるいはオーディオのデータを出力側のビデオあるいは オーディオのデコーダに転送する。具体的には、ビデオあるいはオーディオ転送制御部106、107はDMA転送要求の割り込み信号としてのFIFOからの転送情報に応 答してメモリ104の該当のパケットのデータを読み出して、その出力のビデオあ るいはオーディオデコーダに転送する。この1パケット分の転送の終了後、転送 制御部106,107は該当するパケットバッファ番号を書き込み制御部に送り(205,206)、メモリ104の該当するパケットバッファを「空き」とする。
次に書き込み制御部102は、次に到達したＴＳパケットを上述の「空き」とな っているパケットバッファに書き込む。この時に、「空き」となっているパケットバッファが複数ある場合には、到達したＴＳパケットをどのパケットバッファに書き込むかは任意である。これは、前述のように、メモリ104の任意のパケッ トバッファへの書き込みにもかかわらず、ＴＳパケットの到着順に解析・デコーダへの転送を行うことができるためであり、このようにすることにより、バッファ管理を簡略化することができる。
なお、上記の説明では処理に必要なＰＳＩおよびビデオ、オーディオパケットについてのみ示したが、実際のＴＳパケットにはこれ以外に他のプログラムのデータなど処理に必要のないパケットも含まれている。このような無効パケットは破棄する必要があるが、パケットにつけられているＰＩＤにより無効パケットが判別できるので、処理に必要なパケットのＰＩＤの値を解析処理部105から書き 込み制御部102に送り、これとＰＩＤが一致するパケットのみをパケットバッフ ァに書き込むような構成とすることにより、転送されるデータ量を減少させることが可能である。
【００３４】
図４は、本発明の他の実施例による多重化ストリーム分離装置の構成を示す。図４において、302は入力されるＴＳパケットをメモリ304に書き込むための書き込み制御部、304はデュアルポートメモリ、103はデータバス、105はＴＳパケ ットを解析する解析処理部、106はビデオデータをビデオデコーダに転送するビ デオ転送制御部(Video)、107はオーディオデータをオーディオデコーダに転送するオーディオ転送制御部(Audio)である。
図４の実施例が図1の実施例と特に異なるのは、受信した複数のＴＳパケット を格納するためのメモリ304が書き込みと読み出しが独立に行えるデュアルポー トメモリであることである。すなわち、デュアルポートメモリ304の書き込みデ ータ端子は書き込み制御部304に接続される一方、読み出しデータ端子はデータ バス103を介してビデオ転送制御部106、オーディオ転送制御部107に接続されて 、メモリへの書き込みと読み出しとが平行に実行可能である。従って、書き込み制御部302からデュアルポートメモリ304へのＴＳパケットの順次書き込みの処理と平行して、デュアルポートメモリ304からビデオ転送制御部106、オーディオ転送制御部107への1パケットのデータの順次読み出し・転送の処理が可能となる。この順次書き込みの処理と順次読み出し・転送とはCPU105のFIFOに順
次格納されたパケットバッファ番号に従うことは、図1の実施例の場合と同様である。尚、
デュアルポートメモリ304の平行処理をするため、書き込み制御部302からCPU105のFIFOにパケットバッファ番号を転送する経路は、図４の破線に示すように、データバス103とは独立であることが望ましい。
尚、図４の本発明の実施例による多重化ストリーム分離装置の動作は図1の実 施例と基本的に同様であるので、説明を省略する。
以上の二つの実施例のような構成とすることにより、CPUである解析処理部に おけるバッファ管理が簡略化され、CPUである解析処理部の負荷が軽減される。 また、図４の実施例のような構成とすることにより、ＴＳデータをメモリ304 に書き込むためにCPUが接続されたデータバス103を使う必要がなくなり、書き込み制御部302と解析処理部105とをより効率的に使用することができる。
以上、本発明の実施例を詳細に説明したが、本発明は上記の具体的な実施例に限定されるものでは無く、その技術的思想の範囲内で種々の変形が可能であることは言うまでもない。
例えば、以上の実施例の説明においては解析処理部がCPUで構成されている場 合について示したが、この部分が専用ハードウェアで構成された場合にも、同様にして処理を行うことができる。また、書き込み制御部102、302あるいはビデオ転送制御部106、オーディオ転送制御部107は必ずしも専用ハードウェアである必要はなく、そのいずれかまたはすべてをCPUによる処理とすることももちろん可 能である。
【００３５】
以下、上記第二の目的を達成する本発明の第一の実施例について説明する。
図６に本実施例のＴＳ分離装置の構成を示す。図６のＴＳ分離装置は、書き込み制御部４と、メモリ５と、解析処理部であるＣＰＵ６とから構成される。ビデオとオーディオ等のパケットデータが多重化されたトランスポートストリーム( ＴＳ)が書き込み制御部４に入力されることにより、ビデオとオーディオ等の所 望の出力データが解析処理部であるＣＰＵ６の解析処理により分離されることができる。尚、解析処理部であるＣＰＵ６の動作は、図示されないメインメモリに格納されたプログラムのソフトウェアで制御される。
書き込み制御部４は、同期検出部７と、パケット選択部１８と、パケット検出格納部である特定パターン検出部１９とで構成されいる。
同期検出部７は、ＴＳのパケットヘッダに含まれる所定の同期パターン(具体 的には１６進数表示で４７、２進数表示で０１０００１１１)を検出することに よってパケット先頭を検出し、１８８バイト固定長のトランスポートパケットの単位にＴＳのデータを区切るものである。
パケット選択部１８はＣＰＵ６により設定されたパケット識別情報ＰＩＤに一致するパケット識別情報ＰＩＤを有するパケットを選択して入力から出力へ転送するものであり、選択されないパケットは実効的に廃棄される。 尚、ＣＰＵ６ よりパケット選択部１８にパケット識別情報ＰＩＤが設定されることにより、パケット選択部１８はＰＡＴ、ＰＭＴ、ビデオ、オーディオのパケットデータを選択して、選択パケットデータを特定パターン検出部１９へ転送する。
パケット検出格納部である特定パターン検出部１９は、パケット選択部１８により選択されたパケットデータの特定パターンを検出して、検出結果をそのパケットの付加情報としてパケットと共に出力するメモリ５へ格納する。この特定パターン検出部１９が検出する特定パターンは、ビデオストリームのシーケンスヘッダコード、ピクチャスタートコード、オーディオストリームの同期パターンである。
このようにして書き込み制御部４から選択出力されたパケットデータとそのパケットの付加情報は、メモリ５の隣接したアドレス(同一のエントリー)に格納される。尚、このメモリ５は書き込み制御部４からのパケットデータの書き込み順序に従ってパケットデータと付加情報とを読み出して解析処理部であるＣＰＵ６へ転送するため、メモリ５はＦＩＦＯメモリ(First In First Out)の機能を有する。このＦＩＦＯメモリ５はハードウェアで構成されることもできるし、ＣＰＵ６のソフトウェアで制御されるメインメモリ(図示せず)の一部で構成されることもできる。
ＣＰＵ６はメモリ５から読み出されたパケットデータからビデオやオーディオの所望の出力データを構成するパケットデータのパケット識別情報を求め、パケット識別情報をパケット選択部１８に設定する。またＣＰＵ６はメモリ５から読み出される付加情報に応答して付加情報を有するパケットデータのタイミング制御処理を開始して実行する。
【００３６】
上記のように構成された図６に示すデータ分離装置の処理動作を、以下に説明する。
所定の同期パターンを検出する同期検出部７によって、トランスポートスリームＴＳは１８８バイト固定長のトランスポートパケットに区切られる。ビデオやオーディオのパケットのパケット識別情報ＰＩＤを得るためのＰＳＩは上述のようにＰＡＴとＰＭＴとの二段階のテーブルから構成され、まずＰＡＴのパケットを抽出してＰＡＴのペイロードからＰＭＴのＰＩＤを得て、さらにＰＭＴのパケットを抽出してＰＭＴのペイロードからビデオやオーディオのパケットのＰＩＤを得る必要がある。
従って、最初にＰＡＴのパケットの抽出を行う必要があるので、ＰＡＴのＰＩＤのオールモ０モ(以下、０)をＣＰＵ６がパケット選択部１８に設定する。その結果、ＰＩＤが０のＰＡＴパケットは特定パターン検出部１９を介してメモリ５のエントリーに格納される。この時、このエントリーに格納される付加情報は、" ０"(選択パケットデータは、特定パターンを含まない)である。
次に、ＰＩＤが０のＰＡＴパケットがメモリ５から読み出されＣＰＵ６に供給されることにより、ＣＰＵ６はＰＡＴパケットのペイロードを解析してＰＭＴのＰＩＤを得て、このＰＭＴのＰＩＤをパケット選択部１８に設定する。その結果、ＰＭＴパケットは特定パターン検出部１９を介してメモリ５のエントリーに格納される。この時も、同様にこのエントリーに格納される付加情報は、モ０モとなる。
次に、ＰＭＴパケットがメモリ５から読み出されＣＰＵ６に供給されることにより、ＣＰＵ６はＰＭＴパケットのペイロードを解析してビデオやオーディオのパケットのパケット識別情報ＰＩＤを得て、これらのパケットのＰＩＤをパケット選択部１８に設定する。
従って、パケット選択部１８は入力されるパケットがビデオあるいはオーディオのパケットであれば、これらのパケットを出力に選択して、これらの選択パケットは特定パターン検出部１９を介してメモリ５のエントリーに格納される。この時、選択パケットデータが特定パターンを含む場合は、エントリー格納の付加情報はモ１モとなり、選択パケットデータが特定パターンを含まない場合は、エントリー格納の付加情報はモ０モとなる。
次に、ＣＰＵ６がＦＩＦＯのメモリ５からパケットデータを順次読み出して、このパケットデータの解析処理を行い、この解析結果から得られるビデオあるいはオーディオの種別情報をビデオストリームあるいはオーディオストリームとともにビデオ復号器あるいはオーディオ復号器へ転送する。
このようにして、ビデオとオーディオ等のパケットデータが多重化されたトランスポートストリームＴＳが書き込み制御部４に入力されることにより、ビデオとオーディオ等の所望の出力データが解析処理部であるＣＰＵ６の解析処理により分離されることができる。
また、ビデオとオーディオ等のパケットデータが多重化されたトランスポートストリームが入力される多重ストリーム分離装置においては、電源投入直後の初期状態あるいは希望チャネル変更によりプログラムが切り替わった場合には、前述のようにビデオ、オーディオのストリームに対してタイムスタンプによるタイミング制御処理を行う必要がある。このためには、ビデオストリームのパケットデータからシーケンスヘッダコード、ピクチャスタートコードを検出するとともに、オーディオストリームのパケットデータから同期パターンの位置を検出する必要がある。
【００３７】
本実施例では、ＣＰＵ６はメモリ５から読み出された付加情報(パケットデー タ中のシーケンスヘッダコード、ピクチャスタートコード、同期パターンの特定パターンの存在有無情報)に応答し、特定パターンが存在するパケットに対して のみ特定パターンの位置検出処理とタイミング制御処理とを行う。電源投入直後の初期状態あるいは希望チャネル変更によりプログラムが切り替わった場合には、ビデオストリームに関しては次のシーケンスヘッダまでのパケットデータを捨てる必要がある。このような場合も、本実施例では、ＣＰＵ６は付加情報のみの監視チェックで良く、特定パターンの存在を示す付加情報のパケットまでパケットデータの読み飛ばしが可能である。特定パターンの存在を示す付加情報をＣＰＵ６が検出したら、ＣＰＵ６は該当パケットデータからのシーケンスヘッダコード、ピクチャスタートコード、同期パターンの特定パターンを検出して、タイムスタンプによるタイミング制御処理を開始して実行する。
すなわち、本実施例によればＣＰＵ６は特定パターンの存在を示す付加情報にのみ選択的に応答するので、書き込み制御部４で選択された全てのパケット中の特定パターンの存在有無の監視をＣＰＵで継続実行する場合に比べ、ＣＰＵの処理量を低減できる。ようするに、付加情報により特定パターンの検出処理の対象となるパケットの数を最小にできるため、ＣＰＵ６の処理量を低減することができる。そのため、トランスポートストリームＴＳのビットレートが高く、ヘッダが複雑な場合にも正しく分離処理を行うことができる。
以上説明したように、解析処理部のＣＰＵ６はメモリ５から読み出されるパケットと付加情報からパケットのヘッダを解析しＰＩＤに基づきビデオ、オーディオのストリームを抜き出し、タイムスタンプによるタイミング合わせを行って出力する。
【００３８】
本発明は上記の実施例に限定されるものではなく、その技術思想の範囲内で種々の変形が可能であることは言うまでもない。
以下の変形実施例では、上記実施例と同一の事項は説明を省略し、相違点のみを説明する。
【００３９】
次に図７を参照して、本発明の他の実施例について説明する。本実施例は、上記実施例のトランスポートストリーム(ＴＳ)分離装置のより具体的な構成例を示したものである。図７のＴＳ分離装置１は、ＣＰＵ６と、ＣＰＵ６に制御されるアドレスバス１６とデータバス１７、アドレスバス１６とデータバス１７とに接続された書き込み制御部４、メモリ５からなる。尚、 ＣＰＵ６からのアドレス はビデオ復号器２、オーディオ復号器、３書き込み制御部４、メモリ５に供給されることにより、これらの周辺機器をアクセスすることができる。
【００４０】
以下、図７のＴＳ分離装置１の動作を、以下に説明する。まず書き込み制御部４では、ＴＳが入力として与えられると、ＣＰＵ６により設定されたＰＩＤに基づき必要なパケットのみを選択して、パケット単位でデータバス１７を通じてメモリ５に格納する。この書き込み制御部４からメモリ５への転送制御は、書き込み制御部４自身が行っても良いし、書き込み制御部４が割り込み等でパケット到来を解析処理部であるＣＰＵ６に通知して、ＣＰＵ６がＤＭＡ(Direct Memory Access)制御を行ってもよい。後者の場合は、解析処理部であるＣＰＵ６がＤＭＡ転送割り込み要求を受けると、パケット単位のＴＳデータはデータバス１７を介して書き込み制御部４からメモリ５へ直接ＤＭＡ転送される。
書き込み制御部４ではパケットデータだけでなく、パケットデータに関する付加情報も出力する。ここでは付加情報としては、ビデオ、オーディオのタイミング制御処理のためのストリーム中のシーケンスヘッダコード、ピクチャスタートコード、同期パターンの特定パターンの存在有無を示すものである。
具体的な付加情報としては、ビデオのパケットのペイロードにおけるシーケンスヘッダコードとピクチャスタートコードの有無の情報と、オーディオストリームの同期パターンの有無である。付加情報は、対応するパケットデータのメモリ５への書き込み終了後、ＣＰＵ６に対する割り込み信号として出力される。ＣＰＵ６は割り込み信号を受け取ると、その割り込み信号に基づきパケットに対する付加情報を生成し、その値をメモリ５のパケットの格納領域の前の領域に格納する。
ＣＰＵ６は、メモリ５に書き込まれたパケットデータと対応する付加情報とを読み出す。パケットがもしビデオまたはオーディオのパケットならば、ペイロードに格納されているビデオストリーム又はオーディオストリームをそれぞれビデオ復号器２、オーディオ復号器３に転送する。この際、ＰＥＳのヘッダにタイムスタンプがある場合には、そのタイムスタンプに対応したピクチャのピクチャヘッダをＰＥＳのペイロード中で探す。ＴＳ分離処理を開始直後の初期状態ではシーケンスヘッダの後のピクチャに対し同様の処理を行う。ここで、本実施例では書き込み制御部４から出力されるシーケンスヘッダ検出信号、ピクチャヘッダ検出信号により予めシーケンスヘッダ、ピクチャヘッダの有無がわかっているため、これを利用する。例えばシーケンスヘッダを探す場合には、パケットの付加情報をチェックすることによりシーケンスヘッダが含まれていないパケットを読み飛ばすことが可能となる。そのため、全てのビデオパケットのペイロード内を探す場合に比べ、ＣＰＵ６の処理量を低減できる。
【００４１】
図８に、図６および図７に示した実施例の書き込み制御部４の構成例を示す。書き込み制御部４は、同期検出部７と、ＰＩＤ検出部８と、ＰＩＤ比較部９と、スイッチ部ＳＷ、特定パターン検査部であるシーケンスヘッダ／ピクチャヘッダ検出部１０から構成される。以下、書き込み制御部４の動作について説明する。
【００４２】
書き込み制御部４に入力されたＴＳは、まず同期検出部７で処理される。同期検出部７では、パケットの先頭１バイト目に位置する同期パターン(１６進表示 で４７、２進数表示で０１０００１１１)を検出して、ＴＳデータをパケットに 区切る。次にＰＩＤ検出部８ではパケットのヘッダからＰＩＤを得る。ここで得られたＰＩＤは次にＰＩＤ比較部９に送られ、ＰＩＤ比較部９に予め設定されているＰＩＤ比較値と比較される。比較の結果、少なくとも一つのＰＩＤ比較値に一致したパケットは、ＰＩＤ検出部８によりオンとされたスイッチ部ＳＷを介して次段のシーケンスヘッダ／ピクチャヘッダ検出部１０に送られる。
特定パターン検査部１９であるシーケンスヘッダ／ピクチャヘッダ検出部１０は、ＰＩＤ検出部８から送られたパケットのペイロードの部分でシーケンスヘッダやピクチャヘッダがあるかどうかを調べる。この結果シーケンスヘッダがあると判定された場合には、パケットのデータをメモリ５に転送した後で割り込み信号１を発生する。ピクチャヘッダがあると判定された場合には同様に割り込み信号２を発生する。
これら割り込み信号１、割り込み信号２はＣＰＵ６に入力されると、割り込み信号に応じたパケットの付加情報を生成して、その値を保持する。この付加情報の保持回路としてはメモリ５を用いることも可能である。また、割り込み信号の割り当てはこれに限定されるものではなく、シーケンスヘッダとピクチャヘッダの両方がある場合、どちらもない場合に対しても割り込み信号を独立に割り当ててよい。またシーケンスヘッダ、ピクチャヘッダの検出結果をＣＰＵ６の割り込み信号として出力する代わりに、書き込み制御部４から直接パケットの付加情報としてメモリ５に書き込むことも可能である。
【００４３】
図９に図８のＰＩＤ比較部９の構成を示す。ＰＩＤ比較部９は複数のレジスタ１１０からなるＰＩＤ比較値設定レジスタ部１１と、複数の比較器１２０からなる比較部１２から構成され、レジスタ１１０には各々独立にＰＩＤ比較値が設定される。ＰＩＤ比較値はＣＰＵ６からデータバス１６を通して設定される。ＰＩＤ比較値と共に与えられる制御データに基づきレジスタイネーブル信号を生成し、これによりＰＩＤ比較値を格納するレジスタ１１０の選択を行う。ＰＩＤ比較値設定レジスタ部１１に設定するＰＩＤ比較値の種類は選択したプログラムにより異なるが、通常、ビデオ、オーディオのＰＩＤ値、ＰＡＴ、ＰＭＴのＰＩＤ値等である。パケットから検出されたＰＩＤと複数のＰＩＤ比較値との比較は並列に行われる。図９ではＰＩＤとＰＩＤ比較値が一致した場合に比較器１２０の出力がモ１モになるものとする。このとき論理ＯＲ１３の出力が"１"となりＰＩＤが複数のＰＩＤ比較値のうち少なくとも一つの比較値に一致した場合には、パケットを次段のシーケンスヘッダ／ピクチャヘッダ検出部１０に送る。論理ＯＲ１３の出力が０、すなわちどの比較値にも一致しなかったパケットは不要なパケットであるとしてこの時点で廃棄される。
なお、電源投入直後の初期状態あるいは希望チャネル変更によりプログラムが切り替わった場合等には、まずＰＡＴのパケットが必要であるため、ＰＡＴのＰＩＤ値である０(２進表示で０００００００００００００)が自動的に設定されるようにする。これは例えば電源ＯＮになった瞬間、ＰＩＤ比較値設定レジスタ部の全レジスタがリセットされるように制御することで実現できる。さらにまた、ＰＡＴのＰＩＤは固定であるため、ＰＡＴのＰＩＤ比較用として実際にレジスタを使用する代わりに比較器に与えるＰＩＤ比較値を０固定とすることもできる。また、図９のＰＩＤ比較部９において、ビデオのＰＩＤ比較値が格納されるレジスタ１１０に接続された比較器１２０の出力をシーケンスヘッダ／ピクチャヘッダ検出部１０の制御信号として用いることにより、シーケンスヘッダ、ピクチャヘッダのサーチ処理をビデオのパケットに対してのみ行うよう制御することも可能である。
本実施例によれば、ＰＩＤ比較部９においてＰＩＤの比較を並列に行うことができるため、所望のパケットを効率良く得ることが可能となる。
【００４４】
次に本発明の他の実施例について、図１０を参照して説明する。この実施例は、図８で示した書き込み制御部４の別の構成例である。本実施例の書き込み制御部４は、図８の同期検出７の機能とシーケンスヘッダ／ピクチャヘッダ検出１０の機能をひとつの回路にまとめ、同期／ヘッダ検出部１４として構成したものである。以下、この書き込み制御部４の動作について説明する。
【００４５】
ＴＳが入力として与えられると、まず同期／ヘッダ検出部１４では同期パターンを検出すると共にストリーム内のシーケンスヘッダコード、ピクチャスタートコードを検出する。ここでパケットの先頭を揃えられたパケットのデータは出力判定部１５に送られる。出力判定部１５では、ＰＩＤ比較部９により選択されたパケットを書き込み制御部４から選択出力するように制御すると共に、そのパケットに対して同期／ヘッダ検出部１４で生成された付加情報をＣＰＵに対する割り込み信号１、割り込み信号２として選択出力する。
本実施例では同期パターンとシーケンスヘッダコード、そしてピクチャスタートコード検出のための回路を共用できるため、図６、図７、図８に示した実施例に比べて回路規模の小さな書き込み制御部を実現することができる。
【００４６】
以上、本発明の実施例を多重化ストリーム分離装置としてＴＳ分離装置を例にとり説明したが、これらの実施例は、ビデオ、オーディオ等、種類の異なる複数のデータが格納されたパケットからなる多重化ストリームを分離する装置に対して同様に適用できる。
本実施例によれば、書き込み制御部で選択されたパケットのみＣＰＵで処理するため多重化ストリームの全てのパケットをＣＰＵで処理する場合に比べＣＰＵの処理量を低減できる。また、付加情報を用いることによって特定パターンの検出処理の対象となるパケットの数を最小にできるため、ＣＰＵの処理量をさらに低減することができる。そのため、多重化ストリームのビットレートが高く、ヘッダが複雑な場合にも正しく分離処理を行うことができる。
また、書き込み制御部は特定ビットパターンの検出等、ハードウェアに適した処理を実行する回路のみで構成できるため比較的小さな回路規模で実現できる。従って、メモリを除いた多重化ストリーム分離装置をハードウェアのみ、またはＣＰＵのみで実現する場合に比べ低いコストで実現できる。この効果は、ＭＰＥＧ２のＴＳのようにビットレートが高く、ヘッダの構造が複雑な多重化ストリームの分離装置に適用した場合に特に大きい。
【００４７】
【発明の効果】
本発明によれば、解析処理部の処理を軽減することの可能なデータ分離装置を提供することができる。
【００４８】
本発明によれば、ビットレートが高く、ヘッダの構造が複雑な多重化ストリームを分離する場合にも分離処理を正しく実行可能な低コストのデータ分離装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施例によるＴＳ分離装置の構成を示す図。
【図２】ＰＥＳとＴＳとの関係を示す図。
【図３】図１の実施例によるＴＳ分離装置における管理情報の流れを説明する図。
【図４】本発明の他の実施例によるＴＳ分離装置の構成を示す図。
【図５】一般的なＴＳ復号器の構成を示す図。
【図６】本発明の他の実施例によるＴＳ分離装置の構成を示す図。
【図７】本発明の他の実施例によるＴＳ分離装置の他の構成を示す図。
【図８】図６、図７の書き込み制御部４の構成例を示す図。
【図９】図８のＰＩＤ比較部の構成例。
【図１０】本発明の実施例による書き込み制御部４の他の構成例を示す図。
【図１１】一般的な多重化ストリーム分離装置の構成を示す図である。
【符号の説明】
102…書き込み制御部、104…メモリ、105…解析処理部、106、107…転送制御部 。
【図１】
0003641336.tif 000002
【図２】
0003641336.tif 000003
【図３】
0003641336.tif 000004
【図４】
0003641336.tif 000005
【図５】
0003641336.tif 000006
【図６】
0003641336.tif 000007
【図７】
0003641336.tif 000008
【図８】
0003641336.tif 000009
【図９】
0003641336.tif 000010
【図１０】
0003641336.tif 000011
【図１１】
0003641336.tif 000012