(57)【要約】【課題】  ＭＰＥＧストリームのスタートコード検出装置では、連続する５バイト中のいずれか３バイトがスタートコードであるビットストリームのスタートコードを検出できない、という問題を解決する。【解決手段】  第２のモードカウンタ８のカウンタ値に応じてパターン比較器６で第１のリードアドレスＲＡ１が示す入力バッファ２の出力ＲＤ１とパターンＳＣとの比較を行うか否かを切り替えることによって、ＭＰＥＧストリームのスタートコードの他に、ストリーム中の連続した５バイト中のいずれか３バイトがスタートコードであるストリームのスタートコード検出が、同一の装置で可能となる。【選択図】    図１
2005348172.tif 000002
【特許請求の範囲】
【請求項１】
映像データ，音声データなどが多重化されたストリーム中の連続したｎバイト（ｎは２以上の整数）と、ｎバイトの第１のスタートコード検出用パターンとを比較する第１の検出モードと、
映像データおよび音声データなどが多重化されたストリーム中の連続したｍバイト（ｍはｍ＞ｎを満たす整数）中のいずれかｎバイトと、ｎバイトの第２のスタートコード検出用パターンとを比較する第２の検出モードとを有する、
ことを特徴とするスタートコード検出装置。
【請求項２】
請求項１記載のスタートコード検出装置において、
前記ｎは３，ｍは５であり、
映像データ，音声データなどが多重化されたストリームを入力する入力端子と、
該入力端子からのストリームを書き込み、書き込まれたストリームを出力する第１の出力および第２の出力を有する入力バッファと、
該入力バッファの前記第２の出力よりデータが書き込まれるメモリと、
前記入力バッファの書き込み位置を示すライトアドレス信号を出力するライトポインタ制御部と、
前記入力バッファの第１の出力の読み出し位置を示す第１のリードアドレス信号を出力する第１のリードポインタ制御部と、
前記入力バッファの第２の出力の読み出し位置を示す第２のリードアドレス信号を出力する第２のリードポインタ制御部と、
前記入力バッファの第１の出力からのデータと設定した３バイトの第１または第２のスタートコード検出用パターン（以下、設定した３バイトのパターンと称す）の各バイトデータとを比較するパターン比較器と、
前記第１または第２の検出モードの際に前記入力バッファの第１の出力からのデータと設定した３バイトの第１または第２のスタートコード検出用パターンとがバイト単位で一致する毎に１ずつ増加する第１のモードカウンタ値を出力する第１のモードカウンタと、
前記第１または第２の検出モードの際に前記入力バッファの第１の出力が正規の３バイトまたは５バイトのスタートコードに一致する場合、当該正規のスタートコードが１バイトずつ入力される毎に１ずつ増加する第２のモードカウンタ値を出力する第２のモードカウンタとを備え、
該第２のモードカウンタからの第２のモードカウンタ値に応じて、前記パターン比較器により前記入力バッファの第１の出力からのデータと設定した３バイトの第２のスタートコード検出用パターンの各バイトデータとの比較を行うか否かを切り替える、
ことを特徴とするスタートコード検出装置。
【請求項３】
請求項２記載のスタートコード検出装置において、
前記メモリを制御し、該メモリへ書き込み可能な場合有効となるメモリ書き込み有効信号を出力するメモリ制御部と、
前記ライトポインタ制御部からの前記ライトアドレス信号と前記第２のリードポインタ制御部からの前記第２のリードアドレス信号とを比較して前記入力バッファが空である場合に有効になる入力バッファ空信号を出力する比較器とをさらに備え、
前記パターン比較器は、前記入力バッファの第１の出力からのデータと前記設定した３バイトのパターンの各バイトデータとの比較により、どのバイトデータと一致するかを示すパターン一致信号を出力するとともに、前記入力バッファの第１の出力からのデータと前記第１モードカウンタ値より前記３バイトの第１または第２のスタートコード検出用パターンのうち先頭の１バイトは一致したが先頭から２バイト目は不一致であるかまたは先頭の２バイトは一致したが先頭から３バイト目は不一致である時に有効になるパターン不一致信号を出力し、
前記第１のリードポインタ制御部は、前記メモリ書き込み有効信号が有効であることを示しかつ前記入力バッファ空信号が無効であることを示しかつ前記第１のモードカウンタ値が初期値＋２以下の場合は前記第１のリードアドレス信号の値を＋１し、前記第２の検出モードでかつ前記第２のモードカウンタ値が初期値＋３以上でかつ前記不一致信号が有効の場合は前記第１のリードアドレス信号の値を前記第２のリードアドレス信号の出力＋１とし、それ以外の場合は該第１のリードアドレス信号の値を固定することで、該第１のリードアドレス信号の生成を行い、
前記第２のリードポインタ制御部は、前記メモリ書き込み有効信号が有効であることを示しかつ前記入力バッファ空信号が無効であることを示しかつ前記第１のモードカウンタ値が初期値でかつ前記パターン一致信号が前記設定した３バイトのパターンの１バイト目と一致しないことを示す場合は前記第２のリードアドレス信号の値を＋１し、前記メモリ書き込み有効信号が有効であることを示しかつ前記入力バッファ空信号が無効であることを示しかつ前記第１のモードカウンタ値が初期値＋１以上でかつ前記パターン不一致信号が有効の場合は前記第２のリードアドレス信号の値を＋１し、それ以外の場合は前記第２のリードアドレス信号の値を固定することで、該第２のリードアドレス信号の生成を行い、
前記第１のモードカウンタ値を出力する前記第１のモードカウンタは、スタートコード検出開始時に初期値に初期化され、
前記第１の検出モードの場合、初期値の時に前記パターン比較器からのパターン一致信号が前記設定した３バイトのパターンの１バイト目と一致することを示す時は初期値＋１となり、初期値＋１の時に前記パターン比較器からのパターン一致信号が前記設定した３バイトのパターンの２バイト目と一致することを示す時は初期値＋２となり、初期値＋２の時に前記パターン比較器からの前記パターン信号が前記設定した３バイトのパターンの３バイト目と一致することを示す時は初期値＋３となり、初期値＋１または初期値＋２の時に前記パターン比較器からの前記パターン不一致信号が有効な場合は初期値となり、
前記第２の検出モードの場合、初期値に一致する時に前記パターン比較器からの前記パターン信号が前記設定した３バイトのパターンの１バイト目と一致することを示す時は初期値＋１となり、初期値＋１の時に前記第２のモードカウンタが初期値＋１または初期値＋２の場合は初期値＋１のままで、前記第２のモードカウンタが初期値＋１または初期値＋２以外の場合に前記パターン比較器からの前記パターン信号が前記設定した３バイトのパターンの２バイト目と一致することを示す時は初期値＋２となり、初期値＋２の時に前記パターン比較器からの前記パターン信号が前記設定した３バイトのパターンの３バイト目と一致することを示す時は初期値＋３となり、初期値＋１または初期値＋２の時に前記パターン比較器からのパターン不一致信号が有効な場合は初期値となる第１のモードカウンタ値を出力し、
前記第２のモードカウンタ値を出力する前記第２のモードカウンタは、スタートコード検出開始時に初期値に初期化され、
前記第１の検出モードの時は初期値に固定され、
前記第２の検出モードの場合、初期値の時に前記パターン比較器からの前記パターン信号が前記設定した３バイトのパターンの１バイト目と一致することを示す時は初期値＋１となり、初期値＋１の時は初期値＋２となり、初期値＋２の時は初期値＋３となり、初期値＋３の時に前記パターン比較器からのパターン信号が前記設定した３バイトのパターンの２バイト目と一致することを示す時は初期値＋４となり、初期値＋４の時に前記パターン比較器からのパターン信号が前記設定した３バイトのパターンの３バイト目と一致することを示す時は初期値＋５となり、初期値＋３以上の時に前記パターン比較器からのパターン不一致信号が有効な場合は初期値となる第２のモードカウンタ値を出力する、
ことを特徴とするスタートコード検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビットストリームのスタートコードを検出するスタートコード検出装置の改良を図ったものに関する。
【背景技術】
【０００２】
従来のＭＰＥＧビットストリームのスタートコード検出装置は、スタートコードとして、００ｈ，００ｈ，０１ｈ（ｈは１６進数を表す）の３バイトが連続したコードを検出している（例えば、特許文献１参照）。
【０００３】
図４は従来のＭＰＥＧビットストリームのスタートコード検出方法を説明するフローチャートである。
【０００４】
まず、ストリーム中のスタートコードの直前のバイトまでが入力されているものとする。コード検出開始後、ステップ１０１で次のバイトに進む。ステップ１０２でそのバイトと００ｈ（ｈは１６進数を表わす）とを比較し、もし００ｈではない場合はステップ１０１に戻り、００ｈである場合はステップ１０３に進む。ステップ１０３では次のバイトに進み、ステップ１０４でそのバイトと００ｈとを比較し、もし００ｈではない場合はステップ１０１に戻り、００ｈである場合はステップ１０５に進む。ステップ１０５では次のバイトに進み、ステップ１０６でそのバイトと０１ｈとを比較し、もし０１ｈではない場合はステップ１０４に戻り、０１ｈである場合はスタートコードが検出された旨の判定結果を出力する。
【特許文献１】特開平１１−１３６２２５号公報（第２−３頁、第２図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、近年はＭＰＥＧストリーム以外にも様々な映像・音声ビットストリームが登場してきており、ＭＰＥＧストリームも含めて再生できることが要望されている。この種の映像・音声ビットストリームのうちの或るストリーム（以降、Ａストリームと記す）では、そのパケットの先頭を検出する場合、連続した５バイトのうちの特定の３バイト、即ち１バイト目，４バイト目，５バイト目が所定のパターンと一致することを検出する必要があるが、従来の方式では３バイトが連続したパターンのみが検出可能であり、Ａストリームは検出対象である３バイトが連続していないためこれを検出できない。
【０００６】
本発明は、上記のような従来のものの問題点を解決するためになされたもので、その目的とするところは、ＭＰＥＧストリームの他に、連続する５バイトのうちの任意の３バイト、例えば１バイト目，４バイト目，５バイト目が或るパターンと一致するか否かを同一の装置で検出可能なスタートコード検出装置を提供することにある。
【課題を解決するための手段】
【０００７】
この目的を達成するために、本発明の請求項１に係るスタートコード検出装置は、映像データ，音声データなどが多重化されたストリーム中の連続したｎバイト（ｎは２以上の整数）と、ｎバイトの第１のスタートコード検出用パターンとを比較する第１の検出モードと、映像データおよび音声データなどが多重化されたストリーム中の連続したｍバイト（ｍはｍ＞ｎを満たす整数）中のいずれかｎバイトと、ｎバイトの第２のスタートコード検出用パターンとを比較する第２の検出モードとを有することを特徴とするものである。
【０００８】
また、本発明の請求項２に係るスタートコード検出装置は、請求項１記載のスタートコード検出装置において、前記ｎは３，ｍは５であり、映像データ，音声データなどが多重化されたストリームを入力する入力端子と、該入力端子からのストリームを書き込み、書き込まれたストリームを出力する第１の出力および第２の出力を有する入力バッファと、該入力バッファの前記第２の出力よりデータが書き込まれるメモリと、前記入力バッファの書き込み位置を示すライトアドレス信号を出力するライトポインタ制御部と、前記入力バッファの第１の出力の読み出し位置を示す第１のリードアドレス信号を出力する第１のリードポインタ制御部と、前記入力バッファの第２の出力の読み出し位置を示す第２のリードアドレス信号を出力する第２のリードポインタ制御部と、前記入力バッファの第１の出力からのデータと設定した３バイトの第１または第２のスタートコード検出用パターン（以下、設定した３バイトのパターンと称す）の各バイトデータとを比較するパターン比較器と、前記第１または第２の検出モードの際に前記入力バッファの第１の出力からのデータと設定した３バイトの第１または第２のスタートコード検出用パターンとがバイト単位で一致する毎に１ずつ増加する第１のモードカウンタ値を出力する第１のモードカウンタと、前記第１または第２の検出モードの際に前記入力バッファの第１の出力が正規の３バイトまたは５バイトのスタートコードに一致する場合、当該正規のスタートコードが１バイトずつ入力される毎に１ずつ増加する第２のモードカウンタ値を出力する第２のモードカウンタとを備え、該第２のモードカウンタからの第２のモードカウンタ値に応じて、前記パターン比較器により前記入力バッファの第１の出力からのデータと設定した３バイトの第２のスタートコード検出用パターンの各バイトデータとの比較を行うか否かを切り替えることを特徴とするものである。
【０００９】
また、本発明の請求項３に係るスタートコード検出装置は、請求項２記載のスタートコード検出装置において、前記メモリを制御し、該メモリへ書き込み可能な場合有効となるメモリ書き込み有効信号を出力するメモリ制御部と、前記ライトポインタ制御部からの前記ライトアドレス信号と前記第２のリードポインタ制御部からの前記第２のリードアドレス信号とを比較して前記入力バッファが空である場合に有効になる入力バッファ空信号を出力する比較器とをさらに備え、前記パターン比較器は、前記入力バッファの第１の出力からのデータと前記設定した３バイトのパターンの各バイトデータとの比較により、どのバイトデータと一致するかを示すパターン一致信号を出力するとともに、前記入力バッファの第１の出力からのデータと前記第１モードカウンタ値より前記３バイトの第１または第２のスタートコード検出用パターンのうち先頭の１バイトは一致したが先頭から２バイト目は不一致であるかまたは先頭の２バイトは一致したが先頭から３バイト目は不一致である時に有効になるパターン不一致信号を出力し、前記第１のリードポインタ制御部は、前記メモリ書き込み有効信号が有効であることを示しかつ前記入力バッファ空信号が無効であることを示しかつ前記第１のモードカウンタ値が初期値＋２以下の場合は前記第１のリードアドレス信号の値を＋１し、前記第２の検出モードでかつ前記第２のモードカウンタ値が初期値＋３以上でかつ前記不一致信号が有効の場合は前記第１のリードアドレス信号の値を前記第２のリードアドレス信号の出力＋１とし、それ以外の場合は該第１のリードアドレス信号の値を固定することで、該第１のリードアドレス信号の生成を行い、前記第２のリードポインタ制御部は、前記メモリ書き込み有効信号が有効であることを示しかつ前記入力バッファ空信号が無効であることを示しかつ前記第１のモードカウンタ値が初期値でかつ前記パターン一致信号が前記設定した３バイトのパターンの１バイト目と一致しないことを示す場合は前記第２のリードアドレス信号の値を＋１し、前記メモリ書き込み有効信号が有効であることを示しかつ前記入力バッファ空信号が無効であることを示しかつ前記第１のモードカウンタ値が初期値＋１以上でかつ前記パターン不一致信号が有効の場合は前記第２のリードアドレス信号の値を＋１し、それ以外の場合は前記第２のリードアドレス信号の値を固定することで、該第２のリードアドレス信号の生成を行い、前記第１のモードカウンタ値を出力する前記第１のモードカウンタは、スタートコード検出開始時に初期値に初期化され、前記第１の検出モードの場合、初期値の時に前記パターン比較器からのパターン一致信号が前記設定した３バイトのパターンの１バイト目と一致することを示す時は初期値＋１となり、初期値＋１の時に前記パターン比較器からのパターン一致信号が前記設定した３バイトのパターンの２バイト目と一致することを示す時は初期値＋２となり、初期値＋２の時に前記パターン比較器からの前記パターン信号が前記設定した３バイトのパターンの３バイト目と一致することを示す時は初期値＋３となり、初期値＋１または初期値＋２の時に前記パターン比較器からの前記パターン不一致信号が有効な場合は初期値となり、前記第２の検出モードの場合、初期値に一致する時に前記パターン比較器からの前記パターン信号が前記設定した３バイトのパターンの１バイト目と一致することを示す時は初期値＋１となり、初期値＋１の時に前記第２のモードカウンタが初期値＋１または初期値＋２の場合は初期値＋１のままで、前記第２のモードカウンタが初期値＋１または初期値＋２以外の場合に前記パターン比較器からの前記パターン信号が前記設定した３バイトのパターンの２バイト目と一致することを示す時は初期値＋２となり、初期値＋２の時に前記パターン比較器からの前記パターン信号が前記設定した３バイトのパターンの３バイト目と一致することを示す時は初期値＋３となり、初期値＋１または初期値＋２の時に前記パターン比較器からのパターン不一致信号が有効な場合は初期値となる第１のモードカウンタ値を出力し、前記第２のモードカウンタ値を出力する前記第２のモードカウンタは、スタートコード検出開始時に初期値に初期化され、前記第１の検出モードの時は初期値に固定され、前記第２の検出モードの場合、初期値の時に前記パターン比較器からの前記パターン信号が前記設定した３バイトのパターンの１バイト目と一致することを示す時は初期値＋１となり、初期値＋１の時は初期値＋２となり、初期値＋２の時は初期値＋３となり、初期値＋３の時に前記パターン比較器からのパターン信号が前記設定した３バイトのパターンの２バイト目と一致することを示す時は初期値＋４となり、初期値＋４の時に前記パターン比較器からのパターン信号が前記設定した３バイトのパターンの３バイト目と一致することを示す時は初期値＋５となり、初期値＋３以上の時に前記パターン比較器からのパターン不一致信号が有効な場合は初期値となる第２のモードカウンタ値を出力する、ことを特徴とするものである。
【００１０】
この構成によって、第１の検出モードの場合ＭＰＥＧストリームの連続した３バイトと設定した３バイトのパターンとを比較でき、また第２の検出モードの場合ストリームの連続した５バイトのうちの任意の３バイト、例えば１バイト目，４バイト目，５バイト目と、設定した３バイトのパターンとを比較できるため、ＭＰＥＧストリームの他に、連続した５バイトのうちの３バイトがあるパターンと一致するストリームのスタートコードを検出することが可能となる。
【発明の効果】
【００１１】
本発明は、第２のモードカウンタのカウンタ値に応じて、パターン比較器での入力バッファの第１の出力とこれに設定した３バイトのスタートコード検出用パターンの各バイトとの比較を行うか否かを切り替えることによって、ＭＰＥＧストリームのスタートコードの他に、連続した５バイトのうちの任意の３バイト、例えば１バイト目，４バイト目，５バイト目が或るパターンと一致するストリームのスタートコードを、同一の装置で検出することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について、図面を参照しながら説明する。
（実施の形態１）
図１は、本発明の実施の形態１におけるスタートコード検出装置の構成例を示す図である。
【００１３】
図１に示すスタートコード検出装置は、入力端子１、入力バッファ２、ライトポインタ制御部３、第１のリードポインタ制御部４、第２のリードポインタ制御部５、パターン比較器６、第１のモードカウンタ７、第２のモードカウンタ８、比較器９、メモリ１０、メモリ制御部１１およびコントローラ１００を有している。
【００１４】
入力端子１は、映像データ、音声データ、システムデータなどが多重化されたストリームを入力する。
【００１５】
入力バッファ２は、入力端子１からのストリームＷＤをバイト単位で書き込み、書き込まれたストリームをバイト単位でそれぞれ出力する第１，第２の出力ＲＤ１，ＲＤ２を有する。
【００１６】
ライトポインタ制御部３は、入力バッファ２の書き込み位置を示すライトアドレスＷＡを出力する。
【００１７】
第１のリードポインタ制御部４は、入力バッファ２の第１の出力ＲＤ１の読み出し位置を示す第１のリードアドレスＲＡ１を出力する。
【００１８】
第２のリードポインタ制御部５は、入力バッファ２の第２の出力ＲＤ２の読み出し位置を示す第２のリードアドレスＲＡ２を出力する。
【００１９】
パターン比較器６は、入力バッファ２の第１の出力ＲＤ１から入力されたデータと図示しないコントローラにより本パターン比較器６に設定した３バイトのパターン（スタートコード検出用パターン）ＳＣとを１バイトずつ比較し、パターンＳＣの先頭の１バイトと一致する時に“１”を、パターンＳＣの先頭の２バイトと一致する時に“２”を、パターンＳＣの先頭の３バイトと一致する時に“３”を、それ以外の場合は“０”を示すパターン一致信号ＰＡＴを出力するとともに、パターンＳＣのうち先頭の１バイトと一致したが先頭から２バイト目とは不一致であるかまたは先頭の２バイトとは一致したが先頭から３バイト目とは不一致である時に“Ｈ”となりそれ以外は“Ｌ”となるパターン不一致信号ＮＰＡＴを出力する。
【００２０】
第１のモードカウンタ７は、パターン比較器６からのパターン一致信号ＰＡＴ，パターン不一致信号ＮＰＡＴおよび第２のモードカウンタ８からの第２モードカウンタ値ＣＢを入力とし、３バイトのパターンＳＣのどれかと一致すると＋１される第１のモードカウンタ値ＣＡを出力する。
【００２１】
第２のモードカウンタ８は、パターン比較器６からのパターン一致信号ＰＡＴおよびパターン不一致信号ＮＰＡＴを入力とし、第２のモードカウンタ値ＣＢを出力する。
【００２２】
比較器９は、ライトポインタ制御部３からのライトアドレスＷＡと第２のリードポインタ制御部５からの第２のリードアドレスＲＡ２とを比較してこれらが一致する場合入力バッファ２が空であるとして“Ｈ”を出力し、一致しない場合は“Ｌ”となる入力バッファ空信号ＥＭＰを出力する。
メモリ１０は、入力バッファ２の第２の出力ＲＤ２からのデータが書き込まれる。
【００２３】
メモリ制御部１１は、メモリ１０を制御し、メモリ１０へ書き込み可能な場合“Ｈ”となり、可能でない場合は“Ｌ”となるメモリ書き込み有効信号ＶＡＬを出力する。
【００２４】
コントローラ１００は、第１の検出モードと第２の検出モードとで相異なる３バイトのパターンＳＣをパターン比較器６に設定するスタートコード検出用パターン設定手段１００ａと、第１の検出モード，第２の検出モードで相異なる検出手順となるよう第２のモードカウンタ８等のカウントロジックを変更するカウントロジック変更手段１００ｂとを有する。
【００２５】
次に、以上のように構成された本実施の形態１に係るスタートコード検出装置の動作について説明する。
【００２６】
このスタートコード検出装置は入力するストリームの種類によって２つの検出モードを持つ。１つはＭＰＥＧ検出モードであり、スタートコードが１６進数で“００ｈ，００ｈ，０１ｈ”であるストリームのスタートコードを検出する。これを第１の検出モードとする。もう１つは、連続した５バイトのうち１バイト目，４バイト目，５バイト目がスタートコードであるストリームのスタートコード検出であり、これを第２の検出モードとする。
【００２７】
これら第１，第２の検出モードの切り替えは、コントローラ１００が、例えば図示しない上位装置からのモード変更コマンドＭＣ等により、検出モードに応じてパターン比較器６に設定する３バイトのパターンＳＣの値を変更し、第２のモードカウンタ８が比較を行うべきバイトおよび比較をスキップするバイトでカウントアップするカウントロジックを変更することで可能となる。
【００２８】
前者の３バイトのパターンＳＣの設定はスタートコード検出用パターン設定手段１００ａがこれを行う。また、後者のカウントロジックの変更は検出モードに応じてスタートコードの検出手順を図２と図３との間で変更するよう、カウントロジック設定手段１００ｂが第２のモードカウンタ８の動作ロジックを変更する他、第１のモードカウンタ７，第１のリードポインタ制御部４，第２のリードポインタ制御部５，パターン比較器６についてもその動作ロジックを変更することでこれを実現している。
【００２９】
また、このスタートコード検出装置はスタートコードの直前の１バイトまでをメモリ１０に書き込んで停止するものとする。
【００３０】
まず、第１の検出モードについて説明する。
スタートコード検出開始時に第１のモードカウンタ７の第１のモードカウンタ値ＣＡと第２のモードカウンタ８の第２のモードカウンタ値ＣＢとはともに“０”に初期化される。また第１のリードポインタ制御部４の第１のリードアドレスＲＡ１と第２のリードポインタ制御部５の第２のリードアドレスＲＡ２とは同じ値である。
第２のモードカウンタ値ＣＢは常に“０”である。
【００３１】
パターン比較器６には、検出すべき３バイトのパターン（第１のスタートコード検出用パターン）ＳＣ（この場合“００ｈ，００ｈ，０１ｈ”）がコントローラ１００のスタートコード検出用パターン設定手段１００ａにより設定される。
【００３２】
スタートコード検出開始後、ライトアドレスＷＡは“１”ずつ増加される。入力端子１から入力されたストリームはライトアドレスＷＡにより示される入力バッファ２のアドレスに１バイトずつ書き込まれる。この動作は入力バッファが満杯になるまで続けられる。
【００３３】
次に入力バッファ２の読み出しについて説明する。
図２は第１の検出モードのスタートコード検出手順のフローチャートである。
【００３４】
スタートコード検出開始後、図２のステップ２１の時に、パターン比較器６は第１のリードアドレスＲＡ１が示す入力バッファ２の出力ＲＤ１とパターンＳＣとを比較し、パターンＳＣの１バイト目“００ｈ”と一致せず（パターン一致信号ＰＡＴが“１”ではない）、かつメモリ１０へ書き込み可能で（メモリ制御部１１のメモリ書き込み有効信号ＶＡＬが“Ｈ”）、かつ入力バッファ２が空でない（比較器９の入力バッファ空信号ＥＭＰが“Ｌ”）場合は、ステップ２２により第１のリードアドレスＲＡ１と第２のリードアドレスＲＡ２とをともに＋１してステップ２１に戻る。この時に、第１のモードカウンタ値ＣＡは“０”のままである。
【００３５】
次に、入力バッファ２の出力ＲＤ１とパターンＳＣの１バイト目“００ｈ”とが一致し（パターン一致信号ＰＡＴが“１”）、かつ入力バッファ２が空でない（比較器９の入力バッファ空信号ＥＭＰが“Ｌ”）場合は、ステップ２３により第１のリードアドレスＲＡ１を＋１してステップ２４に移る。この時に、第２のリードアドレスＲＡ２はそのままである。また、第１のモードカウンタ値ＣＡは“１”となる。
【００３６】
図２のステップ２４の時に、パターン比較器６で第１のリードアドレスＲＡ１が示す入力バッファ２の出力ＲＤ１とパターンＳＣとを比較し、入力バッファ２の出力ＲＤ１とパターンＳＣの２バイト目“００ｈ”とが一致せず（パターン不一致信号ＮＰＡＴが“Ｈ”）、かつメモリ１０へ書き込み可能で（メモリ制御部１１のメモリ書き込み有効信号ＶＡＬが“Ｈ”）、かつ入力バッファ２が空でない（比較器９の入力バッファ空信号ＥＭＰが“Ｌ”）の場合は、ステップ２２により第１のリードアドレスＲＡ１を（第２のリードアドレスＲＡ２＋１）とし、かつ第２リードアドレスＲＡ２を＋１してステップ２１に移る。この時に、第１のモードカウンタ値ＣＡは“０”となる。
【００３７】
これに対し、入力バッファ２の出力ＲＤ１とパターンＳＣの２バイト目“００ｈ”とが一致し（パターン一致信号ＰＡＴが“２”）、かつ入力バッファ２が空でない（比較器9の入力バッファ空信号ＥＭＰが“Ｌ”）場合は、ステップ２５により第１のリードアドレスＲＡ１を＋１してステップ２６に移る。この時に、第２のリードアドレスＲＡ２はそのままである。また、第１のモードカウンタ値ＣＡは“２”となる。
【００３８】
図２のステップ２６の時に、パターン比較器６で第１のリードアドレスＲＡ１が示す入力バッファ２の出力ＲＤ１とパターンＳＣとを比較し、入力バッファ２の出力ＲＤ１とパターンＳＣの３バイト目“０１ｈ”とが一致せず（不一致信号ＮＰＡＴが“Ｈ”）、メモリ１０へ書き込み可能で（メモリ制御部１１のメモリ書き込み有効信号ＶＡＬが“Ｈ”）、かつ入力バッファ２が空でない（比較器９の入力バッファ空信号ＥＭＰが“Ｌ”）場合は、ステップ２２により第１のリードアドレスＲＡ１を（第２のリードアドレスＲＡ２＋１）とし、第２のリードアドレスＲＡ２を＋１してステップ２１に移る。この時に、第１のモードカウンタ値ＣＡは“０”となる。
【００３９】
これに対し、入力バッファ２の出力ＲＤ１とパターンＳＣの３バイト目“０１ｈ”とが一致し（パターン一致信号ＰＡＴが“３”）、かつ入力バッファ２が空でない（比較器9の入力バッファ空信号ＥＭＰが“Ｌ”）場合は第１のリードアドレスＲＡ１を＋１する。これがスタートコードを検出したこととなる。この時に、第２のリードアドレスＲＡ２はそのままである。また、第１のモードカウンタ値ＣＡは“３”となる。
【００４０】
次に、第２の検出モードについて説明する。
スタートコード検出開始時に第１のモードカウンタ７の第１のモードカウンタ値ＣＡと第２のモードカウンタ８の第２のモードカウンタ値ＣＢとはともに“０”に初期化される。また第１のリードポインタ制御部４の第１のリードアドレスＲＡ１と第２のリードポインタ制御部５の第２のリードアドレスＲＡ２とは同じ値である。
【００４１】
パターン比較器６にはコントローラ１００により連続した５バイト中の検出すべき３バイトのパターン（第２のスタートコード検出用パターン）ＳＣ（この場合は“７１ｈ，００ｈ，０１ｈ”とする）が互いに間隔を置かずに設定される。
【００４２】
スタートコード検出開始後、ライトアドレスＷＡは“１”ずつ増加される。入力端子１から入力されたストリームはライトアドレスＷＡにより示される入力バッファ２のアドレスに１バイトずつ書き込まれる。この動作は入力バッファが満杯になるまで続けられる。
【００４３】
次に入力バッファ２の読み出しについて説明する。
図３は第２の検出モードのスタートコード検出手順のフローチャートである。
【００４４】
スタートコード検出開始後、図３のステップ３１の時に、パターン比較器６は第１のリードアドレスＲＡ１が示す入力バッファ２の出力ＲＤ１とパターンＳＣとを比較し、入力バッファ２の出力ＲＤ１とパターンＳＣの１バイト目“７１ｈ”とが一致せず（パターン一致信号ＰＡＴが“１”ではない）、かつメモリ１０へ書き込み可能で（メモリ制御部１１のメモリ書き込み有効信号ＶＡＬが“Ｈ”）、かつ入力バッファ２が空でない（比較器９の入力バッファ空信号ＥＭＰが“Ｌ”）場合は、ステップ３２により第１のリードアドレスＲＡ１と第２のリードアドレスＲＡ２とをともに＋１し、ステップ３１に戻る。この時に、第１のモードカウンタ値ＣＡは“０”のままである。また、第２のモードカウンタ値ＣＢも“０”のままである。
【００４５】
これに対し、入力バッファ２の出力ＲＤ１とパターンＳＣの１バイト目“７１ｈ”とが一致し（パターン一致信号ＰＡＴが“１”）、かつ入力バッファ２が空でない（比較器９の入力バッファ空信号ＥＭＰが“Ｌ”）場合は、ステップ３３により第１リードアドレスＲＡ１を＋１してステップ３４に移る。この時に、第２のリードアドレスＲＡ２はそのままである。また、第１のモードカウンタ値ＣＡは“１”、第２のモードカウンタ値ＣＢも“１”となる。
【００４６】
図３のステップ３４の時に、すなわち第２のモードカウンタ値ＣＢが“１”の時は、パターン比較器６で第１のリードアドレスＲＡ１が示す入力バッファ２の出力ＲＤ１とパターンＳＣとを比較せず、入力バッファ２が空でない（比較器９の入力バッファ空信号ＥＭＰが“Ｌ”）場合は第１のリードアドレスＲＡ１を＋１してステップ３５に移る。この時に、第２のリードアドレスＲＡ２はそのままである。また、第１のモードカウンタ値ＣＡは“１”のままである。第２のモードカウンタ値ＣＢは“２”となる。
【００４７】
図３のステップ３５の時に、すなわち第２のモードカウンタ値ＣＢが“２”の時は、パターン比較器６で第１のリードアドレスＲＡ１が示す入力バッファ２の出力ＲＤ１とパターンＳＣとを比較せず、入力バッファ２が空でない（比較器９の入力バッファ空信号ＥＭＰが“Ｌ”） 場合は、第１のリードアドレスＲＡ１を＋１してステップ３６に移る。第２のリードアドレスＲＡ２はそのままである。第１のモードカウンタ値ＣＡは“１”のままである。第２のモードカウンタ値ＣＢは“３”となる。
【００４８】
図３のステップ３６の時に、パターン比較器６で第１のリードアドレスＲＡ１が示す入力バッファ２の出力ＲＤ１とパターンＳＣとを比較し、入力バッファ２の出力ＲＤ１とパターンＳＣの２バイト目“００ｈ”とが一致せず（パターン不一致信号ＮＰＡＴが“Ｈ”）、メモリ１０へ書き込み可能で（メモリ制御部１１のメモリ書き込み有効信号ＶＡＬが“Ｈ”）、かつ入力バッファ２が空でない（比較器９の入力バッファ空信号ＥＭＰが“Ｌ”）場合は、ステップ３２により第１のリードアドレスＲＡ１を（第２のリードアドレスＲＡ２＋１）とし、第２リードアドレスＲＡ２を＋１してステップ３１に移る。この時に、第１のモードカウンタ値ＣＡは“０”となる。また、第２モードカウンタ値ＣＢは“０”となる。
【００４９】
これに対し、入力バッファ２の出力ＲＤ１とパターンＳＣの２バイト目“００ｈ”とが一致し（パターン一致信号ＰＡＴが“２”）、かつ入力バッファ２が空でない（比較器９の入力バッファ空信号ＥＭＰが“Ｌ”）場合は、ステップ３７により第１リードアドレスＲＡ１を＋１してステップ３８に移る。この時に、第２リードアドレスＲＡ２はそのままである。第１モードカウンタ値ＣＡは“２”となる。第２モードカウンタ値ＣＢは“４”となる。
【００５０】
図３のステップ３８の時に、パターン比較器６で第１リードアドレスＲＡ１が示す入力バッファ２の出力ＲＤ１とパターンＳＣとを比較し、入力バッファ２の出力ＲＤ１とパターンＳＣの３バイト目“０１ｈ”とが一致せず（不一致信号ＮＰＡＴが“Ｈ”）、メモリ１０へ書き込み可能（メモリ制御部１１のメモリ書き込み有効信号ＶＡＬが“Ｈ”）、かつ入力バッファ２が空でない（比較器９の入力バッファ空信号ＥＭＰが“Ｌ”）場合は、ステップ３２により第１のリードアドレスＲＡ１を（第２のリードアドレスＲＡ２＋１）とし、第２のリードアドレスＲＡ２を＋１してステップ３１に移る。この時に、第１のモードカウンタ値ＣＡは“０”となる。また、第２のモードカウンタ値ＣＢは“０”となる。
【００５１】
これに対し、入力バッファ２の出力ＲＤ１とパターンＳＣの３バイト目“０１ｈ”とが一致し（パターン一致信号ＰＡＴが“３”）、かつ入力バッファ２が空でない（比較器９の入力バッファ空信号ＥＭＰが“Ｌ”）場合は、第１のリードアドレスＲＡ１を＋１する。これがスタートコードを検出したこととなる。この時に、第２のリードアドレスＲＡ２はそのままである。第１のモードカウンタ値ＣＡは“３”となる。第２のモードカウンタ値ＣＢは“５”となる。
【００５２】
このように、本発明の実施の形態１によるスタートコード検出装置は、第２のモードカウンタ８の値に応じてパターン比較器６で第１のリードアドレスＲＡ１が示す入力バッファ２の出力ＲＤ１とパターンＳＣとの比較を行うか否かを切り替えることによって、ＭＰＥＧストリーム、またはストリーム中の連続した５バイト中のいずれか３バイトがスタートコードであるストリームのスタートコード検出が１台の装置で可能となる。
【００５３】
なお、上記実施の形態１では、第２検出モードの検出対象である３バイトのパターンＳＣを“７１ｈ，００ｈ，０１ｈ”としているが、これに限定するものではない。
【００５４】
また、第２の検出モード時は連続した５バイトのうち１バイト目、４バイト目、５バイト目がスタートコードであるストリームのスタートコード検出を行っているが、コントローラ１００によりパターン比較器６に設定するパターンＳＣの値を変更するとともに、第２のモードカウンタ８が比較を行うべきバイトおよび比較をスキップするバイトでカウントアップするカウントロジックを変更することにより、連続した５バイトのいずれか３バイトとの比較が可能であるため、これらに限定するものではない。
【００５５】
さらに、第１の検出モードにおいて連続するｎバイト（ｎワード；ｎは２以上の整数）とｎバイト（ｎワード）の検出用パターンとの一致を検出し、第２の検出モードにおいて連続するｍバイト（ｍワード；ｍはｍ＞ｎを満たす整数）とｎバイト（ｎワード）の検出用パターンとの一致を検出するようにしてもよく、これも、コントローラ１００がパターン比較器６に設定するパターンＳＣおよび第２のモードカウンタ８等の動作ロジックを所望のスタートコード検出手順に応じて適宜変更することで実現できる。
【００５６】
また、上記実施の形態１では入力バッファの第２の出力はメモリに接続されるものとしたが、これは図示しない外部装置であってもよく、この場合、メモリ制御部は不要となる。
【００５７】
さらに、上記実施の形態１では図示しない上位装置が存在するものとしたが、コントローラがこの上位装置の機能を含んでいてもよい。
【００５８】
また、ライトポイント制御部，第１のリードポインタ制御部，第２のリードポインタ制御部，メモリ制御部等がコントローラの機能を含んでいてもよい。
【産業上の利用可能性】
【００５９】
以上のように、本発明にかかるスタートコード検出装置は、ＭＰＥＧストリーム以外に、ストリーム中の連続した５バイト中のいずれか３バイトがスタートコードであるような映像・音声ビットストリームのスタートコード検出も可能であるため、映像・音声ビットストリームを復号する復号装置のスタートコード検出装置等として有用である。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施の形態１に係るスタートコード検出装置の構成例を示す図である。
【図２】本発明の実施の形態１における第１の検出モードのスタートコード検出手順のフローチャートを示す図である。
【図３】本発明の実施の形態１における第２の検出モードのスタートコード検出手順のフローチャートを示す図である。
【図４】従来のスタートコード検出方法のフローチャートを示す図である。
【符号の説明】
【００６１】
１    入力端子
２    入力バッファ
３    ライトポインタ制御部
４    第１のリードポインタ制御部
５    第２のリードポインタ制御部
６    パターン比較器
７    第１のモードカウンタ
８    第２のモードカウンタ
９    比較器
１０    メモリ
１１    メモリ制御部
１００    コントローラ
ＲＡ１    第１のリードアドレス
ＲＡ２    第２のリードアドレス
ＲＤ１    第１の出力
ＲＤ２    第２の出力
ＰＡＴ    パターン一致信号
ＮＰＡＴ    パターン不一致信号
ＣＡ    第１のモードカウンタ値
ＣＢ    第２のモードカウンタ値
ＥＭＰ    入力バッファ空信号
ＶＡＬ    メモリ書き込み有効信号
ＷＡ     ライトアドレス
【図１】
2005348172.tif 000003
【図２】
2005348172.tif 000004
【図３】
2005348172.tif 000005
【図４】
2005348172.tif 000006