(57)【特許請求の範囲】
【請求項１】
１つのビットストリーム中の１つのパケットを捕捉する装置において：
該パケットの長さにそのパケットについての同期パターンのビット数を加えた数値に等しい蓄積容量を持つ先入れ先出し(FIFO)バッファであって、(i)上記ビットストリームのデータを、それが入力される上記先入れ先出しバッファの末端からその先端まで通過させ、それにより、(ii)その先端にある予め定められた数のビットと、末端にある予め定められた数のビットとがほぼ同時に出力として供給できるようにしてある先入れ先出しバッファと；
該先入れ先出しバッファの先端の出力を、第１の予め定められたデータパターンと比較するため、及びその両者間に一致があるか否かを信号するための第１比較器と；
上記先入れ先出しバッファの末端の出力を第２の予め定められたデータパターンと比較するため、及びその両者間に一致があるか否かを信号するための第２比較器と；
上記第１比較器及び第２比較器が共に一致を示し、また上記先入れ先出しバッファが、その先端にある上記予め定められたビット数と末端にある上記予め定められた数のビットとの間の上記ビットストリームのデータで満たされるときに、パケットの検出を示すための手段と；
を有して成ることを特徴とする１つのビットストリーム中の１つのパケットを捕捉する装置。
【請求項２】
請求項１に記載の装置において、上記先入れ先出しバッファは、上記ビットストリームのデータを、一時に１ビットだけそれを通過させるところの１ビット幅のバッファであることを特徴とする１つのビットストリーム中の１つのパケットを捕捉する装置。
【請求項３】
請求項１に記載の装置において、上記第１の予め定められたデータパターンと第２の予め定められたデータパターンとは同一であることを特徴とする１つのビットストリーム中の１つのパケットを捕捉する装置。
【請求項４】
請求項３に記載の装置において、上記第１の予め定められたデータパターンと第２の予め定められたデータパターンとは、Ox47のバイトであることを特徴とする１つのビットストリーム中の１つのパケットを捕捉する装置。
【請求項５】
請求項１に記載の装置において、上記パケットの検出を示すための手段は、上記第１比較器と第２比較器とが共に、中断することのない一連の予め定められた数の一致を示し、該一連の一致の各々は、データの全パケット長が上記先入れ先出しバッファを通って流れるのに必要な時間に等しい時間間隔で生起することを特徴とする１つのビットストリーム中の１つのパケットを捕捉する装置。
【請求項６】
１つのビットストリーム中の、予め定義された幾つもの長さのうちの１つをその各々が持つところの、複数のパケットを捕捉する装置において：
それらのパケットのうちの最大の長さを持つものの長さに、そのパケットについての同期パターンのビット数を加えた数値に等しい蓄積容量を持つ先入れ先出しバッファであって、(i)上記ビットストリームのデータを、それが入力される上記先入れ先出しバッファの末端からその先端まで通過させ、そのにより、(ii)その先端にある予め定められた数のビットと、上記長さの各々に同期パターンのビット数を加えた量に等しい量だけ先端から離れた上記先入れ先出しバッファ内の位置にある予め定められた数のビットとが、ほぼ同時に出力として供給できるようにしてある先入れ先出しバッファと；
該先入れ先出しバッファの先端の出力を、１個又は複数個の予め定められた第１のデータパターンと比較するため、及び上記先端の出力と、上記予め定められた第１のデータパターンのうちのいずれか１つとの間に、一致があるか否かを信号するための第１比較手段と；
上記長さの各々に同期パターンのビット数を加えた量に等しい量だけ先端から離れた先入れ先出しバッファ内の上記位置の各々にあるデータを、１個又は複数個の予め定められた第２のデータパターンと比較するため、及びそれらのうちのいずれかの間に一致があるか否かを信号するための第２比較手段と；
上記第１比較手段及び第２比較手段が共に一致を示し、また上記先入れ先出しバッファが、その先端にある上記予め定められたビット数と末端にある上記予め定められた数のビットとの間の上記ビットストリームのデータで満たされるときに、パケットの検出を示すための手段と；
を有して成ることを特徴とする１つのビットストリーム中の複数のパケットを捕捉する装置。
【請求項７】
請求項６に記載の装置において、
上記第１比較手段は更に１個又は複数個の第１比較器を有し、該第１比較器の各々は上記予め定められた第１のデータパターンのうちのそれぞれ１つと共に使用され、且つ、上記第２比較手段は更に１個又は複数個の第２比較器を有し、該第２比較器の各々は上記予め定められた第２のデータパターンのうちのそれぞれ１つと共に使用され；
上記第１比較器の各々は、上記第２比較器のうちの１個又は複数個と関連付けられており；また
上記パケットの検出を示すための手段は、上記第１及び第２比較器の関連付けられているものの各々が一致を示すときにのみパケットの検出を示す；
ことを特徴とする１つのビットストリーム中の複数のパケットを捕捉する装置。
【請求項８】
請求項７に記載の装置において、上記パケットの検出を示すための手段は、
上記第１比較手段と第２比較手段とが共に、中断することのない一連の予め定められた数の一致を示し、該一連の一致の各々は、一致を直前に示した上記第１及び第２比較器の関連付けられているものの間の距離にその長さが等しいデータ量が、上記先入れ先出しバッファを通って流れるのに必要な時間に等しい時間間隔で生起することを特徴とする１つのビットストリーム中の複数のパケットを捕捉する装置。
【請求項９】
１つのビットストリーム中の複数のパケットを捕捉するのに使用する方法において、該方法は次の諸ステップ、すなわち：
上記ビットストリームを、先入れ先出しバッファを通して供給するステップ；
該先入れ先出しバッファの先端にあるデータを、任意の予め定められたパケット同期パターンと比較するステップ；
上記先入れ先出しバッファの先端が上記予め定められたパケット同期パターンの何れかに一致するときに、上記先端のデータがそれに一致したところの特定のパケット同期パターンに関連のあるパケット長に１つの同期パターンの長さを加えた量に等しい長さだけ上記先端から移動した位置に在るデータを、もし上記先端のデータが有効なパケットの開始であるならばその位置に在ることが期待されるパターンと比較するステップ；及び
上記移動した位置に在るデータが期待されたパターンと一致するときに、実現の可能性があるパケットの捕捉を示すステップ；
を有して成ることを特徴とする方法。
【請求項１０】
請求項９に記載の方法において、該方法は次の諸ステップ、すなわち：
上記先入れ先出しバッファを通って上記データを上記位置移動した量だけ流して、それにより該位置移動したデータが上記先入れ先出しバッファの先頭のデータになるようにするステップ；
上記比較するステップと上記捕捉するステップと上記データを流すステップとを繰り返して、上記実現の可能性があるパケットの捕捉が、上記繰り返されるステップの予め定められた繰り返し回数だけ継続的に示されるに至るまで上記３つのステップを繰り返すステップ；及び
パケット捕捉を示すステップ；
を更に含むことを特徴とする方法。
【請求項１１】
１つのビットストリーム中の、１つの同期パターンにより捕捉されるところの複数のパケットを補足するのに使用する方法において、該方法は次の諸ステップ、すなわち：
上記ビットストリームを、そのビットストリームのパケット長に同期パターンのビット数を加えた量に等しい蓄積容量を持つ先入れ先出しバッファに供給するステップ；
上記先入れ先出しバッファの先端にあるデータを上記同期パターンと比較するステップ；
上記先入れ先出しバッファの末端にあるデータを上記同期パターンと比較するステップ；
上記先入れ先出しバッファの上記先端と末端との両方が上記同期パターンに等しい値を持つに至るまで、上記比較するステップの両方を繰り返すステップ；
上記先入れ先出しバッファの上記先端と末端との両方が上記同期パターンに等しい値を持った後に、１個のパケットが上記先入れ先出しバッファを通過する時間に等しい長さの時間だけ待機するステップ；
もし上記先入れ先出しバッファの上記先端と末端との両方が上記同期パターンに等しい値を持つならば、上記２つの比較するステップの両方のその後の継続的な各繰り返しの結果が、上記先入れ先出しバッファの上記先端と末端との両方とも上記同期パターンに等しい値を持つ限り、予め定められた繰り返し回数に至るまで、上記待機するステップとそれから上記２つの比較するステップの両方とを繰り返すステップ；
もし上記先入れ先出しバッファの上記先端と末端との両方が上記同期パターンに等しい値をいつまでも持たないならば、上記プロセスを再開始するステップ；及び
上記予め定められた回数の継続的な繰り返しが成功裡に完了したとき、パケット捕捉を示すステップ；
を有して成ることを特徴とする方法。
【請求項１２】
請求項11に記載の方法において、１つのパケットが上記先入れ先出しバッファを通過する時間に等しい連続的な時間間隔で実施されるところの上記２つの比較するステップの両方の各繰り返しの結果が、上記先入れ先出しバッファの上記先端と末端との両方とも上記同期パターンに等しい値を持つ限り、上記パケット捕捉を示すステップを繰り返すステップを更に有することを特徴とする方法。
【請求項１３】
請求項11に記載の方法において、上記パケット捕捉を示すことは、次の諸ステップ、すなわち：
有効データ信号をアサートするステップ；及び
１つのパケットが上記先入れ先出しバッファを通過する時間より短い時間だけパケット信号の開始をアサートするステップ；
を含むことを特徴とする方法。
【請求項１４】
請求項11に記載の方法において、該方法は更に次のステップすなわち、上記パケット捕捉を示すステップに引き続き且つ１パケットが上記先入れ先出しバッファを通過するに要する時間の必須の複数倍の時間が上記末端を比較するステップの先行の繰り返しの時間から相殺されるそれぞれの時間ごとに実行されるところの、上記パケット捕捉を示すステップの予め定められた回数の繰り返しの各々の結果が、上記先入れ先出しバッファの上記末端は上記同期パターンに等しい数値を持たないものであるときには常に、パケット捕捉を示すことを取り止めるステップを含むことを特徴とする方法。
【発明の詳細な説明】
本発明は、コンピュータ通信の分野、特に、ビットストリーム中のパケットの開始点の検出の分野に関係する。
ビットストリーム中のパケットは、しばしば、その中の特定のデータ値、即ち「同期パターン」と名付けられる特別な８ビット幅の（バイト又はオクテット）データパターンの出現により捕捉(delineate)される。同期パターンが８ビット長であれば、しばしば同期バイトと呼ばれる。ビットストリームと共に明確なフレーム化信号が受信できない時は、ビットストリームを受信する装置はパケットの開始の識別に同期パターンを使用する。しかし、このようにすることは、同期パターンに使用された特別なデータ値がパケットの残りを構成するビットの中に至る所に出現出来るので複雑になる。そのような現象は、a)同期パターン値がパケット開始点の識別用のみに保留されていない時、b)ビットストリームが事前に定義したビット・グループすなわちバイト又はアラインメントを持たない時、又は、c)ビットストリーム中に誤りが生じた時に発生する。
例えば、所謂モーション・ピクチャ・エキスパート・グループ-2(MPEG-2)国際標準ISO/IEC 13818-1によれば、そこでシンクバイト(sync-byte)と呼ばれる同期パターンに使用されるデータ値はOx47である。各MPEG-2トランスポート・ビットストリーム・パケットは188バイト長を持ち、その最初のものは同期バイトである。このようにして、シンクバイトはビットストリーム中に188バイト毎に現れる。
既存の技術の１つによれば、MPEG-2ビットストリームの各８ビットパターンはそれがシンクバイトであるかどうかを決定するために試験される。該試験は、シンクバイトが見つけられるまで、試験が実施される毎に１ビットだけ滑るようにされる８ビット・ウインドウを使用して実施される。８ビットの試験されたグループがシンクバイトに一致すれば、それに続く187個の８ビットグループは通過時に計数されるのみで試験はされない。次いで189番目のバイトがシンクバイトかどうかを試験される。もし、そうであれば、それより前の188バイト、すなわち最初に発見されたシンクバイトと続いて計数された187個の８ビットグループは１個のパケットであったものと思われる。該手順は、１パケット長の間隔での見かけ上のシンクバイトの検出が、ビットストリーム中に正確な間隔でランダムに出現し実際のパケットを捕捉する(delineating)シンクバイトではないが、シンクバイトと同じ数値による結果である機会を最小限にするために繰り返される。シンクバイトが出現すべきでない位置にシンクバイトと同じ数値が出現することを「疑似シンクバイト」（“sync-byte emulation”）と呼ばれることを注記する。もし189番目の８ビット・パターンがシンクバイトに一致しなければ、該手順が再度開始される。
不都合なことに、疑似シンクバイトが存在する適用分野では、この技術はパケットを受信したことを確認するのが遅い。さらに、捕捉プロセスは、パケット捕捉の決定に使用された全てのパケットのデータを消失させることになる。
本発明の原理によれば、ビットストリーム中のパケットの捕捉(delineation)の改善が、
1)先入れ先出しバッファ(FIFO)を使用し、該バッファは
a)１パケットのビット数に同期パターンのビット数を加えた数に等しい実効蓄積容量を持ち、
b)データの先頭と末端とで該データを同期パターンのデータパターンと比較できるようにされており；また
2)FIFOの先頭と末端とがそれぞれ同期パターンに等しい情報を、実質的に同時に蓄積した時にパケットを検出したと宣言する；
ことにより達成される。ビットストリーム中のパケットが異なる長さを持つ場合には、検出すべきパケット長が事前に判明していればFIFOの実効蓄積容量が調整されるか、FIFOが複数の同時に機能する末端を持つように設計される。もし、ビットストリーム中の異なるパケットが異なる同期パターンを持つ場合、多重比較器が同期パターンの有効な組み合わせを検査するのに使用され、これはビットストリーム中の適切な位置移動により達成されるであろう。可能性のある複雑な周期の同期パターンを追随するために状態機械(state machine)が使用されるであろう。好都合なことに、本発明はビットストリームがバイト配列または他のビット配列の何れにも適用できる。
本発明の一実施例では、入力ビットストリームからのデータがFIFOに供給される。FIFOが一度満たされると、データの新規ユニットがFIFOに供給される毎に、同期パターンを含んでいるか否かを決定するために、その先頭と末端とが検査される。もし含んでいるときは、パケットが予備的に宣言され、この検査と予備的宣言を事前に決定した回数だけ反復するが、データの新規ユニットがFIFOに供給される毎ではなく１個のパケット全体がFIFOを出ていくのに必要な時間間隔で行われる。これらの反復は、該同期パターンが該ビットストリーム中に正確な間隔で有効に検出されるのを確認するために実施され、疑似同期パターンによる間違ったパケット捕捉の機会を最小にする。パケット間隔毎の各反復の性能は、予備的パケット宣言のそれまでの繰り返した結果次第である。各受信の成功裏の終了と共に、パケットは有効であると表示され、その時に末端が同期パターンを持っていれば、末端データがFIFOを経て先端部への通過を完了する毎に、それらのパケットは捕捉される。パケットが有効であるとの宣言前の反復の何れか一つでも予備的宣言の結果に一致しない時は、該過程は再度開始され、FIFOの先端と末端との両方が、それにデータの新規ユニットが供給される度毎に検査される。
図面のうちで：
図１は、本発明の原理によりパケットを捕捉するための、典型的なパケット捕捉器を示し；
図２は、図１に示すパケット捕捉器に対する典型的な状態遷移図を示し；
図３は、パケット捕捉のために、図１のパケット捕捉器の制御器により実施される典型的な過程のフローチャートを示す。
図１は、本発明の原理によるパケットを捕捉するための、典型的なパケット捕捉器100を示す。図１に示すのは、a)先入れ先出しバッファ(FIFO)101，b)比較器103と105，c)比較器104である。FIFO 101は１パケットのビット数に同期パターンのビット数を加算したビットに等しい蓄積容量を持つ。FIFO 101は先端から末端まで蓄積したデータを出力として供給するように設計されている。
比較器103は、FIFO 101の先端部に蓄積されたデータパターンを受信し、それをFIFO 101への入力して供給されるデータストリームに対する同期パターンと比較するように設計される。比較器103の出力は、一致または不一致を示し、制御器104に供給される。同様に、比較器105は入力として、FIFO 101の末端に蓄積されたデータを受信し、それを同期パターンと比較するように設計される。比較器105の出力は、一致または不一致を示し、同様に制御器104に供給される。
一例として、MPEG-2と共に使用される時、FIFO 101は、188バイトのMPEG-2のパケットと追加の８ビットのシンクバイトに相当する1,512ビットを蓄積する容量を持っている。また、MPEG-2に対して、各比較器103と105は、８ビット幅を持ち、シンクバイトは値がOx47であるように定義されている。
制御器104はFIFO 101に結合されている。データがFIFO 101の末端に流入し、FIFO 101の先端に達し、FIFO 101から出力するようにFIFO 101は動作する。代表的な方法では、FIFO 101中のデータの流れは、データがFIFO 101で受信されるのと同一速度であるように、FIFO 101は動作する。このようにすることにより、FIFO 101からの出力は、FIFO 101への入力であるデータの速度と同一となる。そのようなモードではFIFO 101は遅延線のように動作する。
動作上、本発明の典型的実施例におけるパケット捕捉は４段階からなり、それらは，a)アンロック，b)同期，c)ロック，およびd)再同期である。リセットまたは初期化により、FIFO 101は空にされ、パケット捕捉器100はアンロック・フェーズに入る。FIFO 101で受信したデータは、空のFIFOを通過するのに必要な遅延すなわちデータがFIFO中のポジションからポジションへ通過するのに必要な「バケットブリゲード」（“bucket brigade”）遅延以外の遅延は無しに、その中に末端から先端まで流れる。データネーブル信号DEは制御器104から供給され、アサート(assert)されると、FIFO 101からのデータが使用できることを示し、また、パケットに捕捉されなかったデータの使用を防止するためには、データエネーブル信号DEはデアサート(deassert)される。更に、パケットの任意(optional)スタート信号SOPも、新規の有効パケットがFIFO 101の先端に現れたことを示すために使用される。そのようなパケット・スタート信号は全てのパケット時間に対してアサートされていなくて、パケットがFIFO 101から流出するとき単に１バイト時間に対してのみアサートされる。
適切なタイミングを維持するため、制御器104はどれほどの情報、すなわち、どれほどのビットまたはどれほどのバイトがFIFO 101に蓄積されるかの計数を続ける。FIFO 101が丁度一杯になったことga確定すると、比較器103は同期パターンすなわちMPEG-2に対しては同期バイトのOx47がFIFO 101の先端に現れているかを確定する試験を行い、一方、比較器105はFIFO 101の末端に同期信号が現れているかを確定する試験を行う。比較器103と105の少なくとも１個でマッチングが検出できない時は、該システムはアンロック・フェーズに留まり、データの新規ユニットがFIFO 101に入る毎に、末端データと先端データが再試験される。
しかし、もし比較器103と104とが共に、ほぼ同時期に同期パターンを検出するならば、制御器104はこの事実を検出し、このことから１パケットがFIFO 101に蓄積されたと想定する。従って、同期フェーズに入る。そのようなパケットの境界はFIFO 101の先端から後方へ向かって末端より１バイト前まであることを特記する。
同期フェーズ中も、アンロック・フェーズ中に検出されたパケット境界が、パケットのビットの流れの後続の部分の試験に使用される。特に、そのようなパケットは、検出された先端同期パターンの位置からパケット長の複数倍の位置に同期パターンが現れることにより捕捉されることが予測されている。このようにして、パケットは、a)比較器103と105が以前と同様に同期パターンを実質的に同時に検出したと確定し、b)予想されたパケットの開始がFIFO 101の先端にある時にのみ同期フェーズで検出される。これは、FIFO 101の事前に決定してある場所、すなわち先端を通過するビット数またはバイト数を計数し、完全なパケットとしてFIFO 101を通過したのと同量のデータが含まれているかを試験することにより達成される。同期フェーズ中に予想していた時に予期したパケットが検出されないときは、該システムはアンチロックフェーズに逆戻りする。
パケットの長さの間隔で繰り返されるところの、類似ではあるが間違った一連の同期パターンにロックすることを防ぐために、一連の適切にＮ個のパケットを検出すると、同期フェーズは完了し、ロックフェーズが開始される。Ｎの数値は実施者により決定される。勿論、大きいＮではパケットが捕捉される可能性が高く、小さいＮでは同期に入る時間が短くなる。
有効なデータの存在と捕捉されたパケットの開始を示すものに使用され、同期フェーズでアサートされた上記のデータの何れもがパケット信号をエネーブルしたり開始させたりしないため、同期フェーズ中にFIFO 101を通過するデータは使用しないことを特記する。しかし、好都合なことに、Ｎ番目の捕捉されたデータは捕捉された状態でまだFIFO 101に蓄積されている。従って、従来の技術で実施したようにＮ番目のデータを棄却する必要はなく、使用できる。
ロックフェーズでは、パケット信号の開始はパケットのシンクバイトがFIFO 101の先端から流出する毎にアサートされる。これは、FIFO 101を流出するデータは常にフレーム化されていることを保証する。さらにロックフェーズでは、比較器103と105がデータストリーム中の適切な位置に同期パターンを検出していることを、制御器104はチェックを続ける。
ロックフェーズ中にシンクバイトを適切に検出することに失敗した場合、再同期フェーズに移る。再同期フェーズでは、アンロックフェーズでもともと発見された同期パターンの位置を基に予測される位置での同期パターンの検査が繰返し実施される。Ｎより小さいＭの回数まで繰り返される。再同期フェーズ中に、予測した位置は正しいが、データ信号中に誤りがあったことが確認される。このようにして、データエネーブル信号DEは再同期フェーズ中アサートされたままになり、パケット開始信号SOPは各予測されたパケット時刻にアサートされる。許容されたＭ回の試み中に少なくとも１回の同期パターンの検出にも失敗した場合、同期信号喪失(LOS)が宣言され、制御器104は同期信号喪失をアサートする。一度、同期信号喪失がアサートされると、同期過程を再開させるには、リセット信号RSが必要となる。予測した位置に同期を発見した場合は、該システムはロックフェーズに戻る。
前記の状態遷移は図２に示す状態図に示されている。この図において、参照番号201はアンロックフェーズを、202は同期フェーズを、203はロックフェーズを、そして204は再同期フェーズを示す。矢印210はシンクバイトが発見されたことを示し矢印211はシンクバイトが発見されないことを示し、矢印212はシンクバイトは発見されたがＮ回以内であったことを示し、矢印213はシンクバイトをＮ回発見したことを示し、矢印214はシンクバイトを発見したことを示し、矢印215は同期誤りが発生したことを示し、矢印216はシンクバイトをＭ回以内見失ったことを示し、矢印217はシンクバイトをＭ回見失ったかリセット信号を受信したかを示す。
図３はパケット捕捉器100にパケット捕捉動作をさせる時の制御器104により実行される典型的な過程のフローチャートを示す。制御器104をリセットしてステップ301に処理を開始するが、全体のシステムは図１に示され、データの最初のユニットはFIFO 101の末尾に流入する。次に条件付き分岐点303は、FIFO 101の先端のデータが同期パターンと一致していることを先端比較器103が示すか否かを試験する。もし、ステップ303の試験結果がYESであれば、制御は条件付き分岐点305へ引き継がれ、そこでFIFO 101の末端のデータが同期パターンと一致しているか否かを決定する試験が行われる。もし、ステップ305の試験結果がYESであれば、制御はステップ307へ引き継がれ、そこで制御器101は１パケット時間待ち合わせる。この時間の間に、データはFIFO 101中を流れ続け、その前にはFIFO 101の末端に存在したデータはFIFO 101の先端に現れる。その後、条件付き分岐点309において、制御器104は先端比較器103と末端比較器105が実質的に同時期に一致を表示するか否かを決定する試験を行う。もし、そうであれば、同期パターンがその前に発見されたあとの１パケット時間後の適切な位置に発見され、FIFO 101の先端からFIFO 101の末端から１同期パターン長の手前まで蓄積されたデータは１個のパケットでありそうであることを示す。
もし、ステップ303,305または309の試験結果の何れかがNOであれば、制御は311へ引き継がれ、比較器で検査されるデータはFIFO 101中で１ユニット下方へ流れる。この流れは１ビット単位で実施されるか、もしビットが既知の境界を持った大きい群、すなわちバイトに配列されていれば、この流れは、そのような群の複数のビット単位になる。ステップ303,305または309の試験結果がNOであれば、FIFO 101の先頭からFIFO 101の末端から１同期パターン長手前まで蓄積されたデータは１個のパケットでは無さそうである。
もし、ステップ309の試験結果がYESであれば、制御は条件付き分岐点313に引き継がれ、Ｎ回の一致が発見されたか否かを決定する試験を行う。もしＮ回の一致が発見されれば、一致の発見毎にFIFO 101の先頭はパケットの同期パターンであると実施者に受け入れられる可能性がある。もしステップ313の試験結果がNOであれば、制御はステップ307へ戻され、上記の過程が繰り返される。もしステップ313の試験結果がYESであれば、制御はステップ315に引き継がれ、制御器104はデータエネーブル出力をアサートするか、アサートし続けるか、または、希望に応じて、現在FIFO 101に蓄積されているパケットに対してパケット信号のスタートをアサートする。
次に、FIFO 101に蓄積されたデータパケットが、新規データがFIFO 101に受信され蓄積される時に、新規の先端データになる末端のデータを除いて、読み出される間、制御器104は１パケット時間待ち合わせを行う。続いて、条件付き分岐点319は、先端比較器103と末端比較器105が先端および末端データが同期パターンとの一致を表示するか否かを、決定する試験を実施する。もしステップ319の試験結果がYESであれば、制御はステップ315へ戻される。もしステップ319の試験結果がNOであれば、制御はステップ320に引き継がれ、パケット信号のスタートをアサートされる。次いでステップ321において、末端を除いて新規データがFIFO 101中を巡回するように、制御器104は１パケット時間の間、待ち合わせを行う。
その後、条件付き分岐点323において、制御器104はFIFO 101末端が同期パターンに一致するか否かを決定する試験を実施する。もしステップ323の試験結果がYESであれば、制御はステップ315に戻り、上記の過程が繰り返される。もしステップ323の試験結果がNOであれば、制御は条件付き分岐点325へ引き継がれ、ステップ319の試験結果がNOであったのち末端データが同期パターンに一致するのを発見することがＭ回すでになされたか否かを決定する試験が行われる。もしステップ325の試験結果がYESであれば、制御はステップ327に引き継がれ、制御器104は同期信号の喪失をアサートして同期の喪失を示し、データエネーブル信号をデアサートする。その後、過程はステップ329へ出ていく。
ビットストリーム内の異なる種類のパケットは、異なる所定の長さを有し得る。そのような場合は，検出すべきパケット長が先験的に(a priori)判明していれば、FIFOの実効的な蓄積容量は調整されるだろう。他の方法として、FIFOには複数の同時有効末尾(multiple simultaneous effective tails)を持たせ、それぞれを有効な同期パターンに対してチェックさせることになる。これに対する他の実施例では、それぞれ、可能性のあるパケット寸法に同期パターンを追加したものに対応する異なる長さを持った１個以上のFIFOを並列に使用する。その種の各FIFOは、それぞれ自分の比較器と結合され、全体が調和して動作するように制御される。
もし、ビットストリームの異なるパケットが異なる同期パターンを持つ場合は、ビットストリーム中で適切な変位をしている有効な同期パターンの組み合わせをチェックする複数比較器が、適宜先端または末端もしくは双方に使用される。予想される同期パターンの複雑なサイクルに追随するのに状態機械が使用されるであろう。
また、本発明の実施のための、FIFO 101を制御する他の形態や方法は、当業者に取って明白であろう。前記は単に本発明の原理の記述に過ぎない。従って、当業者が、ここには明確には記述したり説明はしていないが、本発明の原理を、その精神と範囲の中で、具体化する各種の実施方法を考え出すことが出来るであろう。
【図１】
0003845117.tif 000002
【図２】
0003845117.tif 000003
【図３】
0003845117.tif 000004