(57)【要約】【課題】解析手段に負担をかけることなく、スタートコードに続く所定のビット数のデータを効率良く解析する。【解決手段】先ず、スタートコード検出部２１がスタートコードを検出する。スタートコード検出部２１は、データが１バイト供給される毎に遅延回路２２に対して入力データ信号を供給する。スタートコード検出部２１は、スタートコードが認識されたときには遅延回路２２に対して入力データ信号として「１」を供給し、認識されないときには「０」を供給する。遅延回路２２は、供給された入力データ信号を、順次シフトレジスタへ記憶することにより、スタートコードに続いてスタートコード検出部２１へ入力されたデータのビット数を認識する。そして、全ての分離データがスタートコード検出部２１へ入力したところで、検出位置保持部２４に対してスタートコード検出信号を供給し、検出位置保持部２４が位置信号をデータ解析部４へ供給する。【選択図】　図３
2004120632.tif 000002
【特許請求の範囲】
【請求項１】
複数のパケットから構成されるデータストリームが順次入力され、当該データストリームを解析するデータ解析システムにおいて、
入力されたデータストリームから上記パケットの先頭を示すスタートコードを検出する検出手段と、
上記データストリームを順次記憶するパケットデータ記憶手段と、
上記検出手段がスタートコードを検出したタイミングに基づいて、上記スタートコードに続く所定のビット数のヘッダデータが上記パケットデータ記憶手段に対して全て記憶されたタイミングを生成するタイミング生成手段と、
上記パケットデータ記憶手段に対して記憶されているデータのうち、上記スタートコードに続く所定のビット数のヘッダデータを解析する解析手段とを備え、
上記解析手段は、上記タイミング生成手段が生成したタイミングに基づいて、上記スタートコードに続く所定のビット数のヘッダデータの解析を開始すること
を特徴とするデータ解析システム。
【請求項２】
上記検出手段は、スタートコードを検出したタイミングを示すスタートコード検出信号を上記タイミング生成手段に対して供給し、
上記タイミング生成手段は、上記データストリームの同期クロックで動作する遅延回路からなり、上記スタートコード検出信号を上記所定のビット数分遅延させて出力し、
上記解析手段は、上記タイミング生成手段から上記スタートコード検出信号が出力されたタイミングに基づいて、上記スタートコードに続く所定のビット数のヘッダデータの解析を開始すること
を特徴とする請求項１記載のデータ解析システム。
【請求項３】
上記スタートコードに続く所定のビット数のヘッダデータを解析するためのプログラムが記録されたプログラム記録手段を備え、
上記解析手段は、上記遅延手段が上記スタートコード検出信号を出力したタイミングで上記プログラムを起動させ、上記所定のビット数のヘッダデータの解析を開始すること
を特徴とする請求項１記載のデータ解析システム。
【請求項４】
複数のパケットから構成されるデータストリームが順次入力され、当該データストリームを解析するデータ解析方法において、
入力されたデータストリームから上記パケットの先頭を示すスタートコードを検出する検出ステップと、
上記データストリームを記憶手段に対して順次記憶する記憶ステップと、
上記検出ステップにおいてスタートコードが検出されたタイミングに基づいて、上記スタートコードに続く所定のビット数のヘッダデータが上記パケットデータ記憶手段に対して全て記憶されたタイミングを生成するタイミング生成ステップと、
上記記憶手段に対して記憶されているデータのうち、上記スタートコードに続く所定のビット数のヘッダデータを解析する解析ステップとを備え、
上記解析ステップにおいては、上記タイミング生成ステップにおいてスタートコード検出信号が出力されたタイミングに基づいて、上記スタートコードに続く所定のビット数のヘッダデータの解析を開始すること
を特徴とするデータ解析方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、ＭＰＥＧ（Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔ　Ｇｒｏｕｐ）システムなどにおいて、ビデオ符号化データ及びオーディオ符号化データなどを多重化するとき、並びに多重化されたデータを分離するときなどに使用されるデータ解析システム及びデータ解析方法に関する。
【０００２】
【従来の技術】
近年、デジタル放送メディアやデジタル通信メディアなどを伝送媒体としたデジタル伝送システムにおいては、一般に、音声情報及び画像情報の圧縮多重化規格の１つであるＭＰＥＧシステムを利用したデジタル多重化方式を採用している。
【０００３】
ＭＰＥＧとは、ＩＳＯ／ＩＥＣ　ＪＴＣ１／ＳＣ２９（Ｉｎｔｅｒｎａｔｉｏｎａｌ　Ｏｒｇａｎｉｚａｔｉｏｎ／Ｉｎｔｅｒｎａｔｉｏｎａｌ　Ｅｌｅｃｔｒｏｔｅｃｈｎｉｃａｌ　Ｃｏｍｍｉｓｓｉｏｎ，　Ｊｏｉｎｔ　Ｔｅｃｈｎｉｃａｌ　Ｃｏｍｍｉｔｔｅｅ　１／Ｓｕｂ　Ｃｏｍｍｉｔｅｅ　２９：国際標準化機構／国際電気標準会議　合同技術委員会１／専門部会２９）における蓄積用動画像符号化の検討組織（Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔ　Ｇｒｏｕｐ）の略称であり、例えば、ＭＰＥＧ１標準としてＩＳＯ１１１７２が、ＭＰＥＧ２標準としてＩＳＯ１３８１８が規格化されている。なお、以下では、ＭＰＥＧによって定められた動画像符号化の国際規格基準を、ＭＰＥＧと称することとする。
【０００４】
以下では、ＭＰＥＧ２−ＰＳ（Ｐｒｏｇｒａｍ　Ｓｔｒｅａｍ）に基づいたデジタル多重伝送システムについて説明する。ＭＰＥＧ２−ＰＳに基づいたデジタル多重伝送システム１００は、図６に示すように、送信系１０１と、受信系１０２と、伝送路１０３とから構成されている。
【０００５】
送信系１０１は、オーディオエンコーダ１１１と、ビデオエンコーダ１１２と、オーディオエンコードバッファ１１３と、ビデオエンコードバッファ１１４と、多重化器１１５とを備えている。
【０００６】
オーディオエンコーダ１１１には、例えばマイクによって集音されたデジタルのオーディオ信号や、記録媒体から再生されたオーディオ信号などが入力される。オーディオエンコーダ１１１は、入力されたデジタルのオーディオ信号をＭＰＥＧ２−ＰＳ規格に基づいて圧縮符号化して、オーディオ符号化データを生成する。生成されたオーディオ符号化データは、オーディオエンコードバッファ１１３に格納される。
【０００７】
ビデオエンコーダ１１２には、例えばカメラによって撮影されたデジタルのビデオ信号や記録媒体から再生されたデジタルのビデオ信号が入力される。ビデオエンコーダ１１２は、入力されたデジタルのビデオ信号をＭＰＥＧ２規格に基づいて圧縮符号化して、ビデオ符号化データを生成する。生成されたビデオ符号化データは、ビデオエンコードバッファ１１４に格納される。
【０００８】
オーディオエンコードバッファ１１３は、供給されたオーディオ符号化データを、多重化器１１５に読み出されるまで一時的に格納する。
【０００９】
ビデオエンコードバッファ１１４は、供給されたビデオ符号化データを、多重化器１１５に読み出されるまで一時的に格納する。
【００１０】
多重化器１１５は、オーディオエンコードバッファ１１３に格納されたオーディオ符号化データ及びビデオエンコードバッファ１１４に格納されたビデオ符号化データを多重化し、ＭＰＥＧ２−ＰＳ規格に規定されたＰＥＳ（Ｐｒｏｇｒａｍ　Ｅｌｅｍｅｎｔａｒｙ　Ｓｔｒｅａｍ）パケットを生成する。
【００１１】
ＰＥＳパケットは、図１に示すように、オーディオ符号化データ及びビデオ符号化データなどのパケットデータの先頭にヘッダが付加した構成とされる。ヘッダは、ＰＥＳパケットの先頭を示す３バイトのスタートコード、パケットデータの内容を示す１バイトのストリームＩＤ、この領域に続くデータの長さを示す２バイトのＰＥＳパケット長、２バイトのフラグ、１バイトのＰＥＳヘッダデータ長、及びＰＥＳヘッダデータを含む。なお、ＰＥＳヘッダデータとパケットデータとは、バイト数が可変とされている。
【００１２】
そして、多重化器１１５は、１つ又は複数のＰＥＳパケットの先頭にパックヘッダを付加することでパックを生成し、パックを繋げることでプログラムストリーム（以下、ＰＳと称する。）を生成する。
【００１３】
なお、多重化器１１５は、ＰＥＳパケットを生成するときに、アクセスユニットと呼ばれる再生単位毎に、復号時刻を示す時間情報であるＤＴＳ（Ｄｅｃｏｄｉｎｇ　Ｔｉｍｅ　Ｓｔａｍｐ）及び再生出力時刻を示す時間情報であるＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ　ＴｉｍｅＳｔａｍｐ）と呼ばれるタイムスタンプを付加する。ＤＴＳ及びＰＴＳは、ＰＥＳヘッダデータに含まれる。
【００１４】
また、多重化器１１５は、パックを生成するときに、ＳＣＲ（Ｓｙｓｔｅｍ　Ｃｌｏｃｋ　Ｒｅｆｅｒｅｎｃｅ）も付加する。ＳＣＲは、復号のときに用いられる基準同期クロックであるＳＴＣ（Ｓｙｓｔｅｍ　Ｔｉｍｅ　Ｃｒｏｃｋ）を、受信系１０２において意図した値にセットするための情報である。ＳＣＲは、パックヘッダに含まれる。
【００１５】
一方、受信系１０２は、分離器１２１と、オーディオデコードバッファ１２２と、ビデオデコードバッファ１２３と、オーディオデコーダ１２４と、ビデオデコーダ１２５とを備える。
【００１６】
分離器１２１は、供給されたＰＥＳパケットに記述されたストリームＩＤに基づいて、当該ＰＥＳパケットに含まれるパケットデータが、ビデオ符号化データであるか、オーディオ符号化データであるかなどを判別する。分離器１２１は、当該ＰＥＳパケットに含まれるパケットデータが、ビデオ符号化データであるときには当該データをビデオデコードバッファへ格納し、オーディオ符号化データであるときには当該データをオーディオデコードバッファへ格納する。
【００１７】
オーディオデコードバッファ１２２は、供給されたオーディオ符号化データを、当該データがオーディオデコーダ１２４により読み出されるまで一時的に記憶する。
【００１８】
ビデオデコードバッファ１２３は、供給されたビデオ符号化データを、当該データがビデオデコーダ１２５により読み出されるまで一時的に記憶する。
【００１９】
オーディオデコーダ１２４は、オーディオデコードバッファ１２２に格納されたオーディオ符号化データをアクセスユニット単位で読み出して、ＭＰＥＧ２−ＰＳ規格に従って復号し、オーディオ信号を生成する。オーディオデコーダ１２４は、ＳＴＣとＰＴＳとが一致したタイミングで、オーディオ符号化データの復号及び出力を行う。
【００２０】
ビデオデコーダ１２５は、ビデオデコードバッファ１２２に格納されたビデオ符号化データをアクセスユニット単位で読み出して、ＭＰＥＧ２−ＰＳ規格に従って復号し、ビデオ信号を生成する。ビデオデコーダ１２５は、ＳＴＣとＤＴＳとが一致したタイミングでビデオ符号化データの復号を行い、ＳＴＣとＰＴＳとが一致したタイミングで復号したビデオ信号の出力を行う。
【００２１】
以上説明したデジタル多重伝送システムでは、ＰＥＳパケット、オーディオ符号化データ、及びビデオ符号化データなどの各データストリームが解析される。各データストリームはパケットから構成されており、パケットの先頭にパケットヘッダが付加した構成とされている。パケットヘッダには、先頭がスタートコードとされており、スタートコードに続く位置にはストリームの長さや解析方法などに関するデータが含まれている。データストリームを解析するときには、スタートコードの検出を行った後にパケットヘッダのデータを解析することによってパケットデータの解析方法や長さなどの読みとり、読みとった結果に従ってパケットデータに対する処理を行う。
【００２２】
以下では、分離器１２１が、ＰＥＳパケットのパケットヘッダを解析して、パケットデータをオーディオデコードバッファ１２２又はビデオデコードバッファ１２３へ供給する方法について詳細に説明する。
【００２３】
分離器１２１は、図７に示すように、データ用バッファ１３０と、スタートコード検出部１３１と、データ解析部１３２とを備える。
【００２４】
先ず、データストリームは、データ用バッファ１３０へ記憶される。次に、スタートコード検出部１３１が、データ用バッファ１３０に対して記憶されたデータを検索する。
【００２５】
次に、スタートコード検出部１３１は、スタートコードが検出されたときに、スタートコードが検出された旨をデータ解析部１３２に通知する。
【００２６】
次に、データ解析部１３２がデータ用バッファ１３０へアクセスし、パケットヘッダのデータが全てデータ用バッファ１３０に対して記憶されたことを確認する。
【００２７】
そして、データ解析部１３２がパケットヘッダを解析することによってパケットデータの種類などを判断し、パケットデータがビデオ符号化データであるときには、当該パケットデータをビデオデコードバッファ１２３へ供給し、オーディオ符号化データであるときには、当該パケットデータをオーディオデコードバッファ１２４へ供給する。
【００２８】
【発明が解決しようとする課題】
ところで、データ解析部１３２は、データ用バッファ１３０に対してパケットヘッダのデータが全て記憶されてから、パケットヘッダのデータを解析を開始する。データ解析部１３２がパケットヘッダのデータを解析するを開始するまでの過程は、以下の図８に示す通りとなる。
【００２９】
先ず、ステップＳ１において、スタートコード検出器１３１が入力されたデータからスタートコードを検出し、データ解析部１３２に通知する。
【００３０】
次に、ステップＳ２において、データ解析部１３２は、データ用バッファ１３０にアクセスし、パケットヘッダのデータが全てデータ用バッファ１３０に対して記憶されているか否かを判断する。パケットヘッダのデータが全てデータ用バッファ１３０に対して記憶されているときにはステップＳ３へすすみ、記憶されていないときには再度ステップＳ２の動作を行う。
【００３１】
そして、ステップＳ３において、データ解析部１３２は、パケットヘッダのデータの解析を開始する。
【００３２】
すなわち、データ解析部１３２では、スタートコードが検出された後に、パケットヘッダが全て記憶されるまで、データ用バッファ１３０に繰り返しアクセスする必要性が生じる。
【００３３】
しかしながら、受信系１０３においては、図９に示すように、パケットヘッダが断続的に分離器１２１に対して供給される場合が生じる。パケットヘッダが断続的に分離器１２１に対して供給される場合には、データ用バッファ１３０に対してパケットヘッダが全て記憶されるまでに長い時間を要することとなる。
【００３４】
したがって、データ解析部１３２がデータ用バッファ１３０に対してアクセスする回数が多くなる。データ解析部１３２がデータ用バッファ１３０に対してアクセスする回数が多いときには、データ解析部１３２の負担が大きくなる。また、データ解析部１３２がパケットヘッダを解析するために要する時間も長くなる。
【００３５】
本発明は、以上説明した従来の実情に鑑みて提案されたものであり、解析手段が記憶手段に対して複数回アクセスすることなくスタートコードに続く所定のビット数のヘッダデータが記憶手段に対して記憶されたことを判断することによって、データストリームに対する処理を効率良く行うことが可能となるデータ解析システム及びデータ解析方法を提供することを目的とする。
【００３６】
【課題を解決するための手段】
本発明に係るデータ解析システムは、複数のパケットから構成されるデータストリームが順次入力され、当該データストリームを解析するデータ解析システムにおいて、入力されたデータストリームから上記パケットの先頭を示すスタートコードを検出する検出手段と、上記データストリームを順次記憶するパケットデータ記憶手段と、上記検出手段がスタートコードを検出したタイミングに基づいて、上記スタートコードに続く所定のビット数のヘッダデータが上記パケットデータ記憶手段に対して全て記憶されたタイミングを生成するタイミング生成手段と、上記パケットデータ記憶手段に対して記憶されているデータのうち、上記スタートコードに続く所定のビット数のヘッダデータを解析する解析手段とを備え、上記解析手段は、上記タイミング生成手段が生成したタイミングに基づいて、上記スタートコードに続く所定のビット数のヘッダデータの解析を開始することを特徴とする。
【００３７】
本発明に係るデータ解析システムでは、検出手段がスタートコード検出信号を出力したタイミングに基づいて、タイミング生成手段が上記スタートコードに続く所定のビット数のヘッダデータが全て上記パケットデータ記憶手段に記憶されたタイミングを検出する。そして、解析手段は、上記タイミング生成手段がスタートコード検出信号を出力したタイミングに基づいて、上記スタートコードに続く所定のビット数のヘッダデータの解析を開始する。
【００３８】
また、本発明に係るデータ解析方法は、複数のパケットから構成されるデータストリームが順次入力され、当該データストリームを解析するデータ解析方法において、入力されたデータストリームから上記パケットの先頭を示すスタートコードを検出する検出ステップと、上記データストリームを記憶手段に対して順次記憶する記憶ステップと、上記検出ステップにおいてスタートコードが検出されたタイミングに基づいて、上記スタートコードに続く所定のビット数のヘッダデータが上記パケットデータ記憶手段に対して全て記憶されたタイミングを生成するタイミング生成ステップと、上記記憶手段に対して記憶されているデータのうち、上記スタートコードに続く所定のビット数のヘッダデータを解析する解析ステップとを備え、上記解析ステップにおいては、上記タイミング生成ステップにおいてスタートコード検出信号が出力されたタイミングに基づいて、上記スタートコードに続く所定のビット数のヘッダデータの解析を開始することを特徴とする。
【００３９】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。以下では、本発明をＰＥＳ（Ｐｒｏｇｒａｍ　Ｅｌｅｍｅｎｔａｒｙ　Ｓｔｒｅａｍ）パケットに含まれるデータを分離するＰＥＳパケット分離器に適用した例について説明する。
【００４０】
ＰＥＳパケットは、図１に示すように、オーディオ符号化データ及びビデオ符号化データなどのパケットデータの先頭にヘッダが付加した構成とされる。ヘッダは、ＰＥＳパケットの先頭を示す３バイトのスタートコード、パケットデータの内容を示す１バイトのストリームＩＤ、この領域に続くデータの長さを示す２バイトのＰＥＳパケット長、２バイトのフラグ、１バイトのＰＥＳヘッダデータ長、及びＰＥＳヘッダデータを含む。なお、ＰＥＳヘッダデータとパケットデータとは、バイト数が可変とされている。
【００４１】
なお、本実施の形態では、ＰＥＳパケットにおけるストリームＩＤ、ＰＥＳパケット長、フラグ、ＰＥＳヘッダデータ長、ＰＴＳ、ＤＴＳを分離データと称することとする。分離データを解析することによって、パケットデータの種類やタイムスタンプなどを知ることが可能となり、ＰＥＳパケットの分離を行うことが可能となる。また、図１に示すように、分離データは固定長とされる。
【００４２】
図２に示すように、ＰＥＳパケット分離器１は、解析遅延部２と、データ用バッファ３と、データ解析部４と、ＤＭＡ転送部５とを備える。また、ＰＥＳパケット分離器１は、オーディオデコードバッファ６及びビデオデコードバッファ７と接続している。ＰＥＳパケット分離器１は、外部から入力されたデータストリームのＰＥＳパケットを、パケットデータがオーディオ符号化データであるものと、ビデオ符号化データであるものとに分離する。
【００４３】
解析遅延部２は、データ用バッファ３に対して分離データが全て記憶されたときに、データ解析部４へ位置信号を供給し、データ解析部４に対して分離データの解析を開始させる。なお、解析遅延部２については、詳細を後述する。
【００４４】
データ用バッファ３は、ＰＥＳパケット分離器１に入力されたデータを記憶する。
【００４５】
データ解析部４は、解析遅延部２から供給された位置信号に基づいてデータ用バッファ３に対して記憶された分離データを解析し、パケットデータの種類、位置、及び復号方法などを読みとる。データ解析部４は、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１０と、データを解析するためのプログラムが記憶されたプログラム記憶手段１１とを備えている。データ解析部４は、解析遅延部２から位置信号が供給されたときに、当該プログラムを起動させて分離データの解析を開始する。
【００４６】
ＤＭＡ転送部５は、データ解析部４からの指示に従って、パケットデータがオーディオ符号化データであるときには当該パケットデータをオーディオデコードバッファ６へ供給し、パケットデータがビデオ符号化データであるときには当該パケットデータをビデオデコードバッファ７へ供給する。
【００４７】
オーディオデコードバッファ６は、供給されたオーディオ符号化データがオーディオデコーダ（図示せず。）により読み出されるまで、当該オーディオ符号化データを一時的に記憶する。
【００４８】
ビデオデコードバッファ７は、供給されたビデオ符号化データがビデオデコーダ（図示せず。）により読み出されるまで、当該ビデオ符号化データを一時的に記憶する。
【００４９】
以下では、解析遅延部２について詳細に説明する。
【００５０】
解析遅延部２は、図３に示すように、スタートコード検出部２１と、遅延回路２２と、位置検出部２３と、検出位置保持部２４とを備える。
【００５１】
スタートコード検出部２１は、データストリームを構成するＰＥＳパケットのスタートコードを検出する。また、データが供給される毎に遅延回路２２に対して、「１」又は「０」をデータ入力信号として供給する。詳述すると、スタートコード検出部２１は、データが入力されることによってスタートコードが検出されたときには遅延回路２２に対して「１」を供給し、データが入力されてもスタートコードが検出されないときには遅延回路２２に対して「０」を供給する。さらに、スタートコード検出部２１は、データが入力される毎に、位置検出部２３に対して位置検出信号を供給する。
【００５２】
なお、本実施の形態においては、スタートコード検出部２１は、１バイトのデータが入力される毎に、遅延回路２２に対してデータ入力信号を供給し、位置検出部２３に対して位置検出信号を供給する。スタートコード検出部２１の詳細な構成については後述する。
【００５３】
遅延回路２２は、データストリームの同期クロックで動作し、スタートコード検出信号をタイミングを、分離データのバイト数分遅延させて出力する。なお、遅延回路２２の詳細な構成については後述する。
【００５４】
位置検出部２３は、スタートコード検出部２１から位置検出信号が供給される毎に値を１ずつ増やすことによって、データ用バッファ３に対して記憶されたデータのデータ用バッファ３上の位置を示す。
【００５５】
検出位置保持部２４は、スタートコード検出信号が供給されたときの位置検出部２３のデータを保持する。保持したデータは位置信号としてデータ解析部４に対して供給される。
【００５６】
以下では、スタートコード検出部２１の詳細な構成について説明する。
【００５７】
スタートコード検出部２１は、例えば、図４に示すように、ＡＮＤ回路４１と、第１のデータ比較部４２ａと、第２のデータ比較部４２ｂと、第３のデータ比較部４２ｃ（以下、総称するときには、第１〜第３のデータ比較部４２ａ〜４２ｃと称する。）とを備える。
【００５８】
ＡＮＤ回路４１は、第１〜第３のデータ比較部４２ａ〜４２ｃからの出力が全て「１」であったときに「１」を出力し、第１〜第３のデータ比較部４２ａ〜４２ｃからの出力の中に「０」があるときには、「０」を出力する。
【００５９】
第１〜第３のデータ比較部４２ａ〜４２ｃは、入力されたデータをスタートコードを構成するデータと比較し、一致するか否かを判断する。
【００６０】
第１のデータ比較部４２ａは、第１の入力データレジスタ５１ａと、第１のスタートコードレジスタ５２ａと、第１のＸＯＲ回路５３ａと、第１のパターンマスク５４ａと、第１のＮＡＮＤ回路５５ａとを備える。また、第２のデータ比較部４２ｂは、第２の入力データレジスタ５１ｂと、第２のスタートコードレジスタ５２ｂと、第２のＸＯＲ回路５３ｂと、第２のパターンマスク５４ｂと、第２のＮＡＮＤ回路５５ｂとを備える。さらに、第３のデータ比較部４２ｃは、第３の入力データレジスタ５１ｃと、第３のスタートコードレジスタ５２ｃと、第３のＸＯＲ回路５３ｃと、第３のパターンマスク５４ｃと、第３のＮＡＮＤ回路５５ｃとを備える。
【００６１】
なお、以下では、第１の入力データレジスタ５１ａ、第２の入力データレジスタ５１ｂ、第３の入力データレジスタ５１ｃを総称するときには第１〜第３の入力データレジスタ５１ａ〜５１ｃと称する。また、第１のスタートコードレジスタ５２ａ、第２のスタートコードレジスタ５２ｂ、第３のスタートコードレジスタ５２ｃを総称するときには第１〜第３のスタートコードレジスタ５２ａ〜５２ｃと称する。さらに、第１のＸＯＲ回路５３ａ、第２のＸＯＲ回路５３ｂ、第３のＸＯＲ回路５３ｃを総称するときには第１〜第３のＸＯＲ回路５３ａ〜５３ｃと称する。さらにまた、第１のパターンマスク５４ａ、第２のパターンマスク５４ｂ、第３のパターンマスク５４ｃを総称するときには第１〜第３のパターンマスク５４ａ〜５４ｃと称する。さらにまた、第１のＮＡＮＤ回路５５ａ、第２のＮＡＮＤ回路５５ｂ、第３のＮＡＮＤ回路５５ｃを総称するときには第１〜第３のＮＡＮＤ回路５５ａ〜５５ｃと称する。
【００６２】
第１〜第３の入力データレジスタ５１ａ〜５１ｃは、スタートコード検出部２１に入力されたデータを１バイトずつ記憶する。スタートコード検出部２にデータが１バイト入力されると、当該データは第１の入力データレジスタ５１ａに対して記憶され、第１の入力データレジスタ５１ａに対して記憶されていたデータは第２の入力データレジスタ５１ｂに対して記憶され、第２の入力データレジスタ５１ｂに対して記憶されていたデータは第３の入力データレジスタ５１Ｃに対して記憶される。
【００６３】
第１〜第３のスタートコードレジスタ５２ａ〜５２ｃは、スタートコードを構成するデータを１バイトずつ記憶している。詳述すると、第１のスタートコードレジスタ５２ａはスタートコードを構成するデータのうち先頭から３バイト目のデータを記憶しており、第２のスタートコードレジスタ５２ｂはスタートコードを構成するデータのうち先頭から２バイト目のデータを記憶しており、第３のスタートコードレジスタ５２ｃはスタートコードを構成するデータのうち先頭のバイトのデータを記憶している。
【００６４】
第１〜第３のＸＯＲ回路５３ａ〜５３ｃは、第１〜第３の入力データレジスタ５１ａ〜５１ｃに対して記憶されたデータと第１〜第３のスタートコードレジスタ５２ａ〜５２ｃに対して記憶されたデータとを比較して一致したときに「０」を出力する。詳述すると、第１のＸＯＲ回路５３ａは第１の入力データレジスタ５１ａに対して記憶されたデータと第１のスタートコードレジスタ５２ａに対して記憶されたデータとを比較し、第２のＸＯＲ回路５３ｂは第２の入力データレジスタ５１ｂに対して記憶されたデータと第２のスタートコードレジスタ５２ｂに対して記憶されたデータとを比較し、第３のＸＯＲ回路５３ｃは第３の入力データレジスタ５１ｃに対して記憶されたデータと第３のスタートコードレジスタ５２ｃに対して記憶されたデータとを比較する。
【００６５】
第１〜第３のパターンマスク５４ａ〜５４ｃは、「１」を記憶している。
【００６６】
第１〜第３のＮＡＮＤ回路５５ａ〜５５ｃは、第１〜第３のＸＯＲ回路５３ａ〜５３ｃから出力された信号と、第１〜第３のパターンマスク５４ａ〜５４ｃに対して記憶されている信号とを比較し、第１〜第３のＸＯＲ回路５３ａ〜５３ｃから「０」が出力されたときに「１」を出力する。
【００６７】
以上説明したスタートコード検出部２１の動作は、以下に説明する通りとなる。
【００６８】
先ず、スタートコード検出部２１に１バイトのデータが入力されると、入力されたデータが第１の入力データレジスタ５１ａに対して記憶される。また、第１の入力データレジスタ５１ａに対して記憶されていたデータは第２の入力データレジスタ５１ｂに対して記憶され、第２の入力データレジスタ５１ｂに対して記憶されていたデータは第３の入力データレジスタ５１ｃに対して記憶される。
【００６９】
次に、第１のＸＯＲ回路５３ａは、第１の入力データレジスタ５１ａに対して記憶されたデータと第１のスタートコードレジスタ５２ａに対して記憶されたデータとが一致したときには「０」を出力し、一致しないときには「１」を出力する。
【００７０】
また、第２のＸＯＲ回路５３ｂは、第２の入力データレジスタ５１ｂに対して記憶されたデータと第２のスタートコードレジスタ５２ｂに対して記憶されたデータとが一致したときには「０」を出力し、一致しないときには「１」を出力する。
【００７１】
さらに、第３のＸＯＲ回路５３ｃは、第３の入力データレジスタ５１ｃに対して記憶されたデータと第３のスタートコードレジスタ５２ｃに対して記憶されたデータとが一致したときには「０」を出力し、一致しないときには「１」を出力する。
【００７２】
次に、第１のＮＡＮＤ回路５５ａは、第１のＸＯＲ回路５３ａが「０」を出力したときには「１」を出力し、第１のＸＯＲ回路５３ａが「１」を出力したときには「０」を出力する。
【００７３】
また、第２のＮＡＮＤ回路５５ｂは、第２のＸＯＲ回路５３ｂが「０」を出力したときには「１」を出力し、第２のＸＯＲ回路５３ｂが「１」を出力したときには「０」を出力する。
【００７４】
さらに、第３のＮＡＮＤ回路５５ｃは、第３のＸＯＲ回路５３ｃが「０」を出力したときには「１」を出力し、第３のＸＯＲ回路５３ｃが「１」を出力したときには「０」を出力する。
【００７５】
そして、ＡＮＤ回路４１が、第１〜第３のＮＡＮＤ回路５５ａ〜５５ｃの全てから「１」が出力されたときにのみ「１」を出力し、第１〜第３のＮＡＮＤ回路５５ａ〜５５ｃのうち１つ以上から「０」が出力されたときには「０」を出力する。ＡＮＤ回路４１が出力した「１」及び「０」は、入力データ信号として遅延回路２２へ供給される。
【００７６】
以上説明したように、スタートコード検出部２１は、データが１バイト入力される毎にスタートコードの検出を行い、入力データ信号を遅延回路２２へ供給している。
【００７７】
以下では、遅延回路２２の構成について詳細に説明する。
【００７８】
遅延回路２２は、例えば図５に示すように、分離データのバイト数が異なるときに遅延量の調整を行うディレイセレクタ３０と、入力データ信号を記憶するレジスタ３１−１，３１−２，３１−３，・・・３１−（ｎ−１），３１−ｎ（ｎは自然数。）から構成されるシフトレジスタ３２とを備える。遅延回路２２は、データストリームの同期クロックで動作する。
【００７９】
すなわち、遅延回路２２は、スタートコード検出信号を分離データのバイト数分遅延させて出力する。遅延回路２２は、レジスタ３１−１に対して「１」が記憶されている状態でスタートコード検出部２１からデータ入力信号が供給されたときに、検出位置保持部２４へスタートコード検出信号を供給する。
【００８０】
以上説明したＰＥＳパケット分離器１の動作は以下に説明する通りとなる。
【００８１】
先ず、ＰＥＳパケット分離器１に対して、ＰＥＳパケットを構成するデータが順次入力される。供給されたデータは解析遅延部２へ供給され、且つデータ用バッファ３に対して記憶される。
【００８２】
解析遅延部２に供給されたデータは、スタートコード検出部２１に備えられた第１の入力データ用バッファ５１ａに対して１バイト毎に記憶される。また、スタートコード検出部２１においては、第１の入力データ用バッファ５１ａに対して新しくデータが記憶されると、第１の入力データ用バッファ５１ａに対して記憶されていたデータが第２の入力データ用バッファ５１ｂに対して記憶され、第２の入力データ用バッファ５１ｂに対して記憶されていたデータが第３の入力データ用バッファ５１ｃに対して記憶される。
【００８３】
そして、スタートコード検出部２１は、第１〜第３の入力データ用バッファ５１ａ〜５１ｃに対して記憶された３バイトのデータが、スタートコードと一致するか否かを検出する。スタートコード検出部２１は、当該データがスタートコードと一致したとき、すなわちスタートコードを検出したときには「１」を出力し、一致しないときには「０」を出力する。スタートコード検出部２１が出力した「１」及び「０」は、遅延回路２２へ供給される。
【００８４】
また、スタートコード検出部２１は、データが１バイト供給される毎に、位置検出部２３に対して位置検出信号を供給する。位置検出部２３は、位置検出信号が供給される毎に数値を１だけ増加させる。
【００８５】
次に、遅延回路２２は、スタートコード検出部２１から「１」が供給されたタイミングよりもｍバイト分遅延させて、検出位置保持部２４へスタートコード検出信号を供給する。
【００８６】
スタートコード検出信号が供給されると、検出位置保持部２４は、位置検出部２３のデータを保持する。保持したデータは位置信号としてデータ解析部４に対して供給される。
【００８７】
データ解析部４は、位置信号が供給されることによって、データ用バッファ３に対して記憶された分離データの解析を開始し、ＰＥＳパケットのパケットデータがオーディオ符号化データであるかビデオ符号化データであるかを判断する。
【００８８】
次に、ＤＭＡ転送部５は、データ解析部４からの指示に従って、パケットデータがオーディオ符号化データであるＰＥＳパケットをオーディオデコードバッファ６へ供給し、パケットデータがビデオ符号化データであるＰＥＳパケットをビデオデコードバッファ７へ供給する。
【００８９】
そして、オーディオデコードバッファ６は、供給されたオーディオ符号化データを、当該データがオーディオデコーダにより読み出されるまで一時的に記憶し、ビデオデコードバッファ７は、供給されたビデオ符号化データを、当該データがビデオデコーダにより読み出されるまで一時的に記憶する。
【００９０】
以上説明したように、本発明を適用したＰＥＳパケット分離器１は、遅延回路２２がスタートコード検出手段２１から出力されたスタートコード検出信号を、上記分離データのビット数分遅延させている。そして、検出位置保持部２４は、スタートコード検出信号が供給されたときに、位置検出部２３のデータを保持し、データ解析部４に対して位置信号を供給する。データ解析部４は、位置信号が供給されたときに、分離データの解析を開始する。
【００９１】
すなわち、本発明を適用したＰＥＳパケット分離器１によれば、データ解析部４がデータ用バッファ３に対してアクセスすることなく、分離データ全てがデータ用バッファ３に対して記憶されたタイミングを検出することが可能となる。
【００９２】
したがって、本発明を適用したＰＥＳパケット分離器１においては、データ解析部４に備えられたＣＰＵ１０に負担をかけることなく、効率良く分離データの解析を行うことが可能となる。例えば分離データが断続的にスタートコード検出部２に対して入力されたときにも、データ解析部４に備えられたＣＰＵ１０に負担をかけることなく分離データの解析を行うことが可能となる。
【００９３】
なお、本実施の形態では、本発明をＰＥＳパケット分離器に適用したときを例に挙げて説明したが、本発明の適用は、ＰＥＳパケット分離器に限定されない。例えば、本発明は、ＴＳ（Ｔｒａｎｓｐｏｒｔ　Ｓｔｒｅａｍ）パケットのパケットデータを分離するための分離器に適用しても良い。また、本発明は、オーディオデコーダやビデオデコーダに適用しても良い。
【００９４】
【発明の効果】
本発明に係るデータ解析システムは、検出手段がスタートコードを検出したタイミングに基づいて、タイミング生成手段が所定のビット数のヘッダデータが記憶手段に対して全て記憶されたタイミングを生成する。そして、解析手段は、タイミング生成手段が所定のビット数のデータが記憶手段に対して全て記憶されたタイミングを検出した後に、当該ヘッダデータの解析を開始する。
【００９５】
すなわち、本発明に係るデータ解析システムにおいては、解析手段が記憶手段に対してアクセスすることなく、スタートコードに続く所定のビット数のデータが記憶手段に対して記憶されたタイミングを検出することが可能となる。
【００９６】
したがって、本発明に係るデータ解析システムによれば、解析手段に負担をかけることなく、スタートコードに続く所定の数のヘッダデータの解析を効率良く行うことが可能となる。
【００９７】
また、本発明に係るデータ解析方法では、スタートコードを検出したタイミングに基づいて、スタートコードに続く所定のビット数のヘッダデータが記憶手段に対して全て記憶されたタイミングを生成した後に、当該ヘッダデータの解析を開始する。
【００９８】
したがって、本発明に係るデータ解析方法によれば、スタートコードに続く所定の数のヘッダデータの解析を効率良く行うことが可能となる。
【図面の簡単な説明】
【図１】ＰＥＳパケットのフォーマットを示すブロック図である。
【図２】本発明を適用したＰＥＳパケットの分離器を示す模式図である。
【図３】同分離器における解析遅延部を示す模式図である。
【図４】同分離器におけるスタートコード検出部を示す模式図である。
【図５】同分離器における遅延部を示す模式図である。
【図６】ＭＰＥＧ２−ＰＳシステムのデジタル多重システムを示し模式図である。
【図７】従来のＰＥＳパケットの分離器を示す模式図である。
【図８】同分離器の動作を示すフローチャートである。
【図９】パケットヘッダが断続的に分離器へ入力する状態を示す模式図である。
【符号の説明】
２　解析遅延部、３　データ用バッファ、４　データ検出部、２１　スタートコード検出装置、２２　遅延回路、２３　位置検出部、２４　検出位置保持部
【図１】
2004120632.tif 000003
【図２】
2004120632.tif 000004
【図３】
2004120632.tif 000005
【図４】
2004120632.tif 000006
【図５】
2004120632.tif 000007
【図６】
2004120632.tif 000008
【図７】
2004120632.tif 000009
【図８】
2004120632.tif 000010
【図９】
2004120632.tif 000011