(57)【特許請求の範囲】
【請求項１】
あらかじめ決められた時間サイクルでシリアルインタフェースバス上に分割されて送信され、かつ送信パケット数を示す第１の制御情報および分割パケット数を示す第２の制御情報が付加されたパケットデータを受信してアプリケーション側へ出力する信号処理回路であって、
受信した分割パケットに付加された上記第２の制御情報の値をべき数とする２のべき乗から１を減じた値と第１の制御情報との論理積をとり、上記論理積が０である分割パケットを先頭パケットと判断する受信回路
を有する信号処理回路。
【請求項２】
あらかじめ決められた時間サイクルでシリアルインタフェースバス上に分割されて送信され、かつ送信パケット数を示す制御情報が付加されたパケットデータを受信してアプリケーション側へ出力する信号処理回路であって、
受信した分割パケットに付加された上記制御情報から次に受信される分割パケットの制御情報の値を予測する予測手段と、
今回受信した分割パケットの制御情報値と上記予測手段により予測された予測値とを比較し、不一致の場合にはパケット抜けが生じたものと判別する判別手段と、
受信データが格納される記憶手段と、
上記パケット抜けが生じたものと判別された場合に、今回の分割パケットを受信したときに格納前のポインター位置が上記記憶手段のバンク先頭であった場合には今回受信した分割パケットは全て格納し、格納前のポインター位置が先頭バンクでなかった場合には、前回正常に格納された分割パケットが格納されている次のアドレスから次の分割パケットを格納する受信回路と
を有する信号処理回路。
【請求項３】
あらかじめ決められた時間サイクルでシリアルインタフェースバス上に分割されて送信され、かつ送信パケット数を示す制御情報が付加されたパケットデータを受信して一旦記憶手段に格納してアプリケーション側へ出力する信号処理方法であって、
受信した分割パケットに付加された上記制御情報から次に受信される分割パケットの制御情報の値を予測し、
今回受信した分割パケットの制御情報値と予測した予測値とを比較し、不一致の場合にはパケット抜けと判別し、
上記パケット抜けが生じたものと判別した場合に、今回の分割パケットを受信したときに格納前のポインター位置が上記記憶手段のバンク先頭であった場合には今回受信した分割パケットは全て格納し、
格納前のポインター位置が先頭バンクでなかった場合には、前回正常に格納された分割パケットが格納されている次のアドレスから次の分割パケットを格納する
ことを特徴とする信号処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタルシリアルインターフェースに用いられる信号処理回路およびその方法に関するものである。
【０００２】
【従来の技術】
近年、マルチメディア・データ転送のためのインターフェースとして、高速データ転送、リアルタイム転送を実現するＩＥＥＥ（The Institute of Electrical and Electronic Engineers) １３９４、Ｈｉｇｈ  ＰｅｒｆｏｒｍａｎｃｅＳｉｒｉａｌ  Ｂｕｓが規格化された。
【０００３】
このＩＥＥＥ１３９４シリアルインタフェースのデータ転送には、従来のRequest,Acknoledgeの要求、受信確認を行うアシンクロナス（Asynchronous) 転送と、あるノードから１２５μｓに１回必ずデータが送られるアイソクロナス(Isochronous) 転送がある。
【０００４】
このように、２つの転送モードを有するＩＥＥＥ１３９４シリアルインタフェースでのデータは、パケット単位で転送が行われる。
【０００５】
図４は、アイソクロナス通信における１ソースパケットのバイトサイズを示す図である。図４（Ａ）はＤＶＢ(Digital Video Broadcast) 仕様時、図４（Ｂ）はＤＳＳ(Digital Satelite System) 仕様時のパケットサイズを示している。
【０００６】
ＤＶＢ仕様時のソースパケットサイズは、図４（Ａ）に示すように、４バイトのソースパケットヘッダ（ＳＰＨ；Source Packet Header）と１８８バイトのデータの１９２バイトである。
【０００７】
これに対して、ＤＳＳ仕様時のソースパケットサイズは、図４（Ｂ）に示すように、４バイトのソースパケットヘッダ（ＳＰＨ）、１０バイトの付加データ、および１３０バイトのデータの１４４バイトである。
付加バイトはソースパケットヘッダとデータとの間に挿入される。なお、ＩＥＥＥ１３９４規格では、取り扱う最小データの単位は１クワドレット(quadlet) （＝４バイト＝３２ビット）であるため、トランスポートストリームデータと付加データの合計が３２ビット単位で構成できる設定であることが必要である。
ただし、デフォルトでは付加バイトなしで設定される。
【０００８】
図５は、ＩＥＥＥ１３９４規格のアイソクロナス通信でデータを送信させるときの元のデータと、実際に送信されるパケットとの対応関係の一例を示す図である。
【０００９】
図５に示すように、元のデータであるソースパケットは、４バイトのソースパケットヘッダと、データ長を調整するためのパディングデータを付加された後、所定の数のデータブロックに分割される。
なお、パケットを転送するときのデータの単位が１クワドレット（４バイト）であることから、データブロックや各種ヘッダなどのバイト長は、全て４の倍数に設定される。
【００１０】
図６は、ソースパケットヘッダのフォーマットを示す図である。
図６に示すように、ソースパケットヘッダのうち、２５ビットには、たとえば上述したＤＶＢ方式等のディジタル衛星放送等で利用されているＭＰＥＧ(Moving Picture Experts Group)−ＴＳ(Transport Stream)データをアイソクロナス通信で送信するときに、ジッタを抑制するために利用されるタイムスタンプ(Time Stamp)が書き込まれる。
【００１１】
そして、このようなパケットヘッダやＣＩＰ(Common Isochronous Packet) ヘッダ等のデータが、所定の数のデータブロックに付加されることによりパケットが生成される。
【００１２】
図７はアイソクロナス通信用パケットの基本構成例を示す図である。
図７に示すように、アイソクロナス通信のパケットは、第１クワドレットが１３９４ヘッダ(Header)、第２クワドレットがヘッダＣＲＣ(Header-CRC)、第３クワドレットがＣＩＰヘッダ１（CIP-Header1)、第４クワドレットがＣＩＰヘッダ２（CIP-Header2)、第５クワドレットがソースパケットヘッダ（ＳＰＨ）で、第６クワドレット以降がデータ領域である。そして、最後のクワドレットがデータＣＲＣ(Data-CRC)である。
【００１３】
１３９４ヘッダは、データ長を表すdata-lengt、このパケット転送されるチャネルの番号（０〜６３のいずれか）を示すchannel 、処理のコードを表すtcode 、および各アプリケーションで規定される同期コードｓｙにより構成されている。
ヘッダＣＲＣは、パケットヘッダの誤り検出符号である。
【００１４】
ＣＩＰヘッダ１は、送信ノード番号のためのＳＩＤ(Source node ID)領域、データブロックの長さのためのＤＢＳ(Data Block Size) 領域、パケット化におけるデータの分割数のためのＦＮ(Fraction Number) 領域、パディグデータのクワドレット数のためのＱＰＣ(Quadlet Padding Count) 領域、ソースパケットヘッダの有無を表すフラグのためのＳＰＨ領域、アイソクロナスパケットの数を検出するカウンタのためのＤＢＣ（Data Block Continuty Counter）領域により構成されている。
なお、ＤＢＳ領域は、１アイソクロナスパケットで転送するクワドレット数を表す。
【００１５】
ＣＩＰヘッダ２は、転送されるデータの種類を表す信号フォーマットのためのＦＭＴ領域、および信号フォーマットに対応して利用されるＦＤＦ(Format Dependent Field)領域により構成されている。
【００１６】
ＳＰＨヘッダは、トランスポートストリームパケットが到着した軸に固定の遅延値を加えた値が設定されるタイムスタンプ領域を有している。
また、データＣＲＣは、データフィールドの誤り検出符号である。
【００１７】
上述した構成を有するパケットの送受信を行うＩＥＥＥ１３９４シリアルインタフェースの信号処理回路は、主としてＩＥＥＥ１３９４シリアルバスを直接ドライブするフィジカル・レイヤ回路と、フィジカル・レイヤのデータ転送をコントロールするリンク・レイヤ回路とにより構成される。
【００１８】
【発明が解決しようとする課題】
上述したＩＥＥＥ１３９４シリアルインタフェースにおけるアイソクロナス通信系では、たとえば図８に示すように、アプリケーションである側ＭＰＥＧトランスポータ(Transporter) １にリンク・レイヤ回路２が接続され、リンク・レイヤ回路２はフィジカル・レイヤ回路３を介してシリアルインタフェースバスＢＳに接続されている。
そして、ＩＥＥＥ１３９４シリアルインタフェースのデータ転送では、送信データおよび受信データは一旦リンク・レイヤ回路２に設けられたＦＩＦＯ（First-In First-Out）メモリ（以下、単にＦＩＦＯという）等の記憶装置に格納される。実際には、アシンクロナスパケット用ＦＩＦＯとアイソクロナスパケット用ＦＩＦＯとは別個に設けられる。
【００１９】
ところで、上述したように通常のＭＰＥＧのトランスポートストリームデータの１ソースパケットを分割して送信することがある。
この場合、受信側では、分割されて送られてくるパケットの中からソースパケットの先頭のパケットを判断してＦＩＦＯへ格納しはじめなければならない。
また、分割されて送られてくることから、もし送信途中のパケットがノイズ、その他の要因で抜けたとき、正常なデータの格納ができなくなる。
しかし、現在のＩＥＥＥ１３９４シリアルインタフェースの信号処理回路では、分割されて送信された受信パケットの処理系システムが確立されていない。
【００２０】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、シリアルインタフェースの分割パケットの受信時に、先頭のパケットを判断して格納することができ、またパケット抜けが生じた時に正常なデータ格納を実現できる信号処理回路およびその方法を提供することにある。
【００２３】
また、本発明は、あらかじめ決められた時間サイクルでシリアルインタフェースバス上に分割されて送信され、かつ送信パケット数を示す第１の制御情報および分割パケット数を示す第２の制御情報が付加されたパケットデータを受信してアプリケーション側へ出力する信号処理回路であって、受信した分割パケットに付加された上記第２の制御情報の値をべき数とする２のべき乗から１を減じた値と第１の制御情報との論理積をとり、上記論理積が０である分割パケットを先頭パケットと判断する受信回路を有する。
【００２４】
また、本発明は、あらかじめ決められた時間サイクルでシリアルインタフェースバス上に分割されて送信され、かつ送信パケット数を示す制御情報が付加されたパケットデータを受信してアプリケーション側へ出力する信号処理回路であって、受信した分割パケットに付加された上記制御情報から次に受信される分割パケットの制御情報の値を予測する予測手段と、今回受信した分割パケットの制御情報値と上記予測手段により予測された予測値とを比較し、不一致の場合にはパケット抜けが生じたものと判別する判別手段と、受信データが格納される記憶手段と、上記パケット抜けが生じたものと判別された場合に、今回の分割パケットを受信したときに格納前のポインター位置が上記記憶手段のバンク先頭であった場合には今回受信した分割パケットは全て格納し、格納前のポインター位置が先頭バンクでなかった場合には、前回正常に格納された分割パケットが格納されている次のアドレスから次の分割パケットを格納する受信回路とを有する。
【００２６】
また、本発明は、あらかじめ決められた時間サイクルでシリアルインタフェースバス上に分割されて送信され、かつ送信パケット数を示す制御情報が付加されたパケットデータを受信して一旦記憶手段に格納してアプリケーション側へ出力する信号処理方法であって、受信した分割パケットに付加された上記制御情報から次に受信される分割パケットの制御情報の値を予測し、今回受信した分割パケットの制御情報値と予測した予測値と比較し、不一致の場合にはパケット抜けと判別し、上記パケット抜けが生じたものと判別した場合に、今回の分割パケットを受信したときに格納前のポインター位置が上記記憶手段のバンク先頭であった場合には今回受信した分割パケットは全て格納し、格納前のポインター位置が先頭バンクでなかった場合には、前回正常に格納された分割パケットが格納されている次のアドレスから次の分割パケットを格納することを特徴とする。
【００２７】
本発明の信号処理回路によれば、たとえば受信回路で、受信した分割パケットに付加された制御情報のあらかじめ決められたビット情報から先頭パケットであるか否かが判断される。
たとえば、受信した分割パケットに付加された上記第１の制御情報と（第２の制御情報の値をべき数とする２のべき乗から１を減じた値）との論理積がとられ、その結果が０である受信パケットが先頭パケットとして判断される。
【００２８】
また、本発明の信号処理回路によれば、予測手段で、受信した分割パケットに付加された制御情報から次に受信されるパケットの制御情報の値が予測される。そして、判別手段において、今回受信したパケットの制御情報値と予測手段により予測された予測値とが比較され、比較の結果、不一致の場合にはパケット抜けが生じたものと判別される。
【００２９】
また、本発明の信号処理方法によれば、受信した分割パケットに付加された制御情報から次に受信されるパケットの制御情報の値が予測され、今回受信したパケットの制御情報値と予測した予測値が比較される。比較の結果、不一致の場合にはパケット抜けと判別される。
そして、パケット抜けが生じたものと判別した場合に、今回の受信データを受信したときに格納前のポインター位置が記憶手段のバンク先頭であった場合には今回受信したデータは全て格納され、格納前のポインター位置が先頭バンクでなかった場合には、前回正常に格納されたソースパケットが格納されている次のアドレスから次のソースパケットが格納される。
【００３０】
【発明の実施の形態】
第１実施形態
図１は、ＩＥＥＥ１３９４シリアルインタフェースに適用される本発明に係るＭＰＥＧ用信号処理回路の第１の実施形態を示すブロック構成図である。
【００３１】
この信号処理回路は、リンク・レイヤ回路１０、フィジカル・レイヤ回路２０、ホストコンピュータとしてのＣＰＵ３０により構成されている。また、４０はＭＰＥＧトランスポータを示している。
【００３２】
リンク・レイヤ回路１０は、ＣＰＵ３０の制御の下、アシンクロナス転送およびとアイソクロナス転送の制御、並びにフィジカル・レイヤ回路２０の制御を行う。
具体的には、図１に示すように、リンクコア(Link Core))１０１、ホストインタフェース回路（Host I/F）１０２、アプリケーションインタフェース回路（AP I/F) １０３、送信用ＦＩＦＯ（AT-FIFO)１０４ａ、受信用ＦＩＦＯ（AR-FIFO)１０４ｂからなるアシンクロナス通信用ＦＩＦＯ１０４、セルフＩＤ用リゾルバ(Resolver)１０５、アイソクロナス通信用送信前処理回路(TXOPRE)１０６、アイソクロナス通信用送信後処理回路(TXOPRO)１０７、アイソクロナス通信用受信前処理回路(TXIPRE)１０８、アイソクロナス通信用受信前処理回路(TXIPRO)１０９、アイソクロナス通信用ＦＩＦＯ(I-FIFO)１１０、およびコンフィギュレーションレジスタ（Configuration Register、以下ＣＦＲという）１１１により構成されている。
【００３３】
図１の回路おいて、ホストインタフェース回路１０２、送信用ＦＩＦＯ１０４ａ、アシンクロナス通信の受信用ＦＩＦＯ１０４ｂおよびリンクコア１０１によりアシンクロナス通信系回路が構成される。
そして、アプリケーションインタフェース回路１０３、送信前処理回路１０６、送信後処理回路１０７、受信前処理回路１０８、受信前処理回路１０９、ＦＩＦＯ１１０およびリンクコア１０１によりアイソクロナス通信系回路が構成される。
【００３４】
リンクコア１０１は、アシンクロナス通信用パケットおよびアイソクロナス通信用パケットの送信回路、受信回路、これらパケットのＩＥＥＥ１３９４シリアルバスＢＳを直接ドライブするフィジカル・レイヤ回路２０とのインタフェース回路、１２５μｓ毎にリセットされるサイクルタイマ、サイクルモニタやＣＲＣ回路から構成されている。そして、たとえばサイクルタイマ等の時間データ等はＣＦＲ１１１を通してアイソクロナス通信系処理回路に供給される。
【００３５】
ホストインタフェース回路１０２は、主としてホストコンピュータとしてのＣＰＵ３０と送信用ＦＩＦＯ１０４ａ、受信用ＦＩＦＯ１０４ｂとのアシンクロナス通信用パケットの書き込み、読み出し等の調停、並びに、ＣＰＵ３０とＣＦＲ１１１との各種データの送受信の調停を行う。
たとえばＣＰＵ３０からは、アイソクロナス通信用パケットのＳＰＨ（ソースパケットヘッダ）に設定されるタイムスタンプ用遅延時間Txdelay がホストインタフェース１０２を通してＣＦＲ１１１にセットされる。
【００３６】
送信用ＦＩＦＯ１０４ａには、ＩＥＥＥ１３９４シリアルバスＢＳに伝送させるアシンクロナス通信用パケットが格納され、受信用ＦＩＦＯ１０４ｂにはＩＥＥＥ１３９４シリアルバスＢＳを伝送されてきたアシンクロナス通信用パケットが格納される。
【００３７】
アプリケーションインタフェース回路１０３は、ＭＰＥＧトランスポータ４０とアイソクロナス通信用送信前処理回路１０６およびアイソクロナス通信用受信前処理回路１０９とのクロック信号や制御信号等を含むＭＰＥＧトランスポートストリームデータの送受信の調停を行う。
【００３８】
リゾルバ１０５は、ＩＥＥＥ１３９４シリアルバスＢＳを伝送されてきたセルフＩＤパケットを解析し、ＣＦＲ１１１に格納する。
【００３９】
送信前処理回路１０６、アプリケーションインタフェース回路１０３を介してＭＰＥＧトランスポータ４０によるＭＰＥＧトランスポートストリームデータを受けて、ＩＥＥＥ１３９４規格のアイソクロナス通信用としてクワドレット（４バイト）単位にデータ長を調整し、かつ４バイトのソースパケットヘッダ（ＳＰＨ）を付加し、ＦＩＦＯ１１０に格納する。
【００４０】
ソースパケットヘッダを付加するときに受信側のデータ出力時間を決定するタイムスタンプを設定するが、この設定は以下のように行われる。
まず、ＭＰＥＧトランスポータ４０からパケットの最終データを受け取ったタイミングで内部のサイクルレジスタの値をラッチする。
次に、ＣＰＵ３０からホストインタフェース１０２を介してＣＦＲ１１１にセットされた遅延時間Txdelay を上記サイクルレジスタの値に加算する。
そして、加算した値をタイムスタンプとして、受け取ったパケットのソースパケットヘッダに挿入（設定）する。
【００４１】
図２は、ソースパケットヘッダにおけるタイムスタンプの具体的な構成を説明するための図である。
図２に示すように、受信側のデータ出力時間を決定するためのタイムスタンプは、２５ビットで現時刻を表す。
すなわち、タイムスタンプは２５ビットで構成され、下位１２ビットがサイクルオフセットＣＯ(cycle-offset)領域、上位１３ビットがサイクルカウントＣＣ(cycle-count) 領域として割り当てられている。
サイクルオフセットは０〜３０７１（１２ｂ  １０１１１１１１１１１１）の１２５μｓをカウントし（クロックＣＬＫ＝２４．５７６ＭＨｚ）、サイクルカウントは０〜７９９９（１３ｂ  １１１１１００１１１１１１）の１秒をカウントするものである。
したがって、原則として、タイムスタンプの下位１２ビットは３０７２以上を示すことはなく、上位１３ビットは８０００以上を示すことはない。
【００４２】
送信後処理回路１０７は、ＦＩＦＯ１１０に格納されたソースパケットヘッダを含むデータに対して図７に示すように、１３９４ヘッダ、ＣＩＰヘッダ１，２を付加してリンクコア１０１の送信回路に出力する。
【００４３】
具体的には、図７に示すように、データ長を表すdata-lengt、このパケット転送されるチャネルの番号（０〜６３のいずれか）を示すchannel 、処理のコードを表すtcode 、および各アプリケーションで規定される同期コードｓｙにより構成した１３９４ヘッダ、送信ノード番号のためのＳＩＤ(Source node ID)領域、データブロックの長さのためのＤＢＳ(Data Block Size) 領域、パケット化におけるデータの分割数のためのＦＮ(Fraction Number) 領域、パディグデータのクワドレット数のためのＱＰＣ(Quadlet Padding Count) 領域、ソースパケットヘッダの有無を表すフラグのためのＳＰＨ領域、アイソクロナスパケットの数を検出するカウンタのためのＤＢＣ（Data Block Continuty Counter）領域により構成したＣＩＰヘッダ１、並びに転送されるデータの種類を表す信号フォーマットのためのＦＭＴ領域、および信号フォーマットに対応して利用されるＦＤＦ(Format Dependent Field)領域により構成したＣＩＰヘッダ２を付加する。
【００４４】
なお、以上のヘッダの各内容の中で、データブロックの長さのためのデータブロックサイズＤＢＳと、パケット化におけるデータの分割数のためのフラクションナンバーと、１つのソースパケットサイズＳＰＳとは、次の関係式を満足する。
【数１】
ＳＰＳ＝ＤＢＳ×ＦＮ                          …（１）
【００４５】
また、アイソクロナスパケットの数を検出するカウンタのためのＤＢＣは、データブロックを１つ送る毎に１カウントアップして送信される。
【００４６】
受信前処理回路１０８は、リンクコア１０１を介してＩＥＥＥ１３９４シリアルバスＢＳを、たとえば分割されて伝送されてきたアイソクロナス通信用パケットを受けて、受信パケットの１３９４ヘッダ、ＣＩＰヘッダ１，２等の内容を解析し、データを復元してソースパケットヘッダとデータをＦＩＦＯ１１０に格納する。
そして、ヘッダの解析処理を行って、分割パケットのＣＩＰヘッダ１の第１クワドレットに設定されているＤＢＣの値とＦＮの値とＤＢＳとの値を用いて、先頭パケットの判断、パケット抜けが生じ途中パケットがこない場合にそのパケット抜けを判断し、正常パケットのＦＩＦＯ１１０への格納処理を行う。
【００４７】
図３は、受信前処理回路１０８における先頭パケットの検出およびパケット抜け検出等を行う検出回路の構成例を示すブロック図である。
この検出回路１０８０は、図３に示すように、リンクコア１０１からの受信データＲＤＴおよび書き込みパルスＷＲを受けてＣＩＰヘッダ１を抽出し、受信データのＤＢＣの値を出力するＣＩＰヘッダ１抽出回路１０８１、ＤＢＳ（ＣＩＰヘッダ１のＤＢＳ領域の値）個の書き込みパルスを受けるたびにカウントアップ信号Ｓ１０８２を出力するＤＢＳカウンタ（Ｑレジスタ）１０８２、ＣＩＰヘッダ１抽出回路１０８１から出力されたＤＢＣの値を保持するＢレジスタ１０８３、カウントアップ信号Ｓ１０８２を受けるとＢレジスタ１０８３の値に＋１しするＤＢカウントアップ回路１０８４、ＤＢＣカウントアップ回路１０８４のカウントアップ値が次のパケットのＤＢＣの期待値として格納されるＡレジスタ１０８５、Ｂレジスタ１０８３の値とＡレジスタ１０８５の値を比較して一致する場合にはパケットが連続であると判断し、不一致の場合には不連続であると判断して判断結果を示す信号Ｓ１０８６を出力するＤＢＣ連続／不連続判別回路１０８６、Ｂレジスタ１０８３の値と（２のＦＮ乗−１）との論理積をとるアンドゲート１０８７、およびアンドゲート１０８７の論理積の結果が格納されるＴレジスタ１０８８により構成される。
【００４８】
以下に、ソースパケット先頭の検出、パケット抜け検出にもかかわるＤＢＣカウント処理、並びにそれに基づくＦＩＦＯへの格納位置のリセット処理、およびパケット抜けが起こった場合（ＤＢＣの不連続を検出した場合）の処理の具体的な処理手順について順をおって説明する。
【００４９】
ＤＢＣカウント処理
ここで行う処理の１つに、次のパケットのＤＢＣ期待値を求めることがある。この処理は、ソースパケット先頭の検出、パケット抜け検出にもかかわる。
以下に、具体的な処理手順を示す。
【００５０】
▲１▼ＣＩＰヘッダ１の１クワドレット目が書き込まれたら、その中のＤＢＣをＡレジスタ１０８５およびＢレジスタ１０８３に格納する。また、Ｑレジスタ１０８２をリセットする。
【００５１】
▲２▼ＣＩＰヘッダ（２クワドレット目）に続くデータが１クワドレット書き込まれるたびにＱレジスタ１０８２の値に＋１して、ＤＢＳと比較する。
比較の結果、等しい場合には、Ａレジスタ１０８５の値を＋１し、Ｑレジスタ１０８２をリセットする。
また、Ｂレジスタの値１０８３と（２のＦＮ乗−１）との論理積の結果をＴレジスタ１０８９に格納する。
そして、この論理積が０であることにより、ソースパケットの先頭であることを判断する。
具体的には、ＤＢＳカウンタ（Ｑレジスタ）１０８２でＤＢＳ個の書き込みパルスを受けるとカウントアップ信号Ｓ１０８２を出力し、ＤＢカウントアップ回路１０８４でこのカウントアップ信号Ｓ１０８２を受けてＢレジスタ１０８３の値に＋１し、そのカウントアップ値を次のパケットのＤＢＣの期待値としてＡレジスタ１０８５に格納する。
また、アンドゲート１０８８でＢレジスタ１０８３の値と（２のＦＮ乗−１）との論理積をとり、論理積の結果がＴレジスタ１０８９に格納される。
この論理積が０であることにより、ソースパケットの先頭であることを判断する。
なお、ここで検出したソースパケットの先頭は、データ−ＣＲＣのチェック前であるため間違っている場合もあり得るが、そのときは、データ−ＣＲＣエラーとしてそのバンクがエラーパケットになるので問題ない。
以上の処理をパケットの終わりまで繰り返す。
【００５２】
▲３▼データ−ＣＲＣが正常ならば、ＤＢＣの期待値をＡレジスタに更新する。なお、この場合、ＤＢＣ連続性チェックスキップフラグがセットされている場合にはリセットする。
また、現行のＤＢＣの値を示すＢレジスタの値が次の期待値を示すＡレジスタの値が不一致の場合には、後述するＤＢＣの不連続エラー処理を行う。
データ−ＣＲＣが異常ならば、データ−ＣＲＣエラー処理を行う。
なお、ＣＦＲ１１１のＣＩＰヘッダの領域は、データ−ＣＲＣが正常になった時点で更新される。
【００５３】
格納位置のリセット処理について
分割伝送の通信開始時などでは、パケットバンク（ＦＩＦＯ１１０のバンク）の先頭に正しくソースパケットの先頭が格納されなくなる。
そこで、上述したＤＢＣカウント処理で説明したデータ−ＣＲＣが正常で、ＤＢＣの期待値がＡレジスタに更新された後で、ＦＩＦＯ１１０への書き込みポインターがパケットバンクの先頭に位置し、ＤＢＣの値（Ｂレジスタの値）と（２のＦＮ乗−１）との論理積の結果が０でない、という条件が成り立つ場合には、次のリセット処理を行う。
すなわち、ＤＢＣ連続性チェックスキップフラグをセットし、以後の受信において、ＦＩＦＯ１１０への受信データの格納は、ソースパケットの先頭がくるまで行わない。
なお、ソースパケットの先頭を含まないために受信パケットを全て捨てるときには、ＤＢＣ連続チェックスキップフラグを再セットする。
受信開始時には、最初の受信データのソースパケット先頭のものとは限らないので、まず、上記リセット処理を行う。
【００５４】
パケット抜けが起こった場合
この処理は、データ−ＣＲＣが正常になってから実行される。すなわち、この処理が始まったときには、ＦＩＦＯ１１０には今回の受信データの全てが格納されている。
ここでの処理は、今回の受信データを最初に格納したＦＩＦＯ位置がパケットバンクの先頭か否かで次の２つにわかれる。
１）格納前のポインター位置がバンク先頭であった場合
データ−ＣＲＣが正常であるので、今回格納したデータは全て有効なデータである。しかし、手前にパケット抜けがある。
ここで、最初に格納したバンクのＤＢＣ不連続マークをセットし、パケット抜けの処理を始める。
２）格納前のポインター位置がバンク先頭でなかった場合
パケット抜けが確認されたソースパケット全てをすてる。すなわち、前回正常に格納されたソースパケットが格納されている次のＦＩＦＯアドレスからつぎのソースパケットを格納する手続きに入る。
なお、格納前のポインター位置については、前述のＤＢＣカウント処理におけるＢレジスタと（２のＦＮ乗−１）の論理積が０ならバンク先頭と見なしてよい。
【００５５】
また、受信前処理回路１０８は、上述したヘッダの解析処理において、ＣＩＰヘッダ１の第１クワドレットに設定されているＤＢＣ領域のデータから、受信したソースパケットが正常な連続データであるか不連続であるかを判断するが、その判断結果は、たとえば図２に示すように、ソースパケットヘッダの上位７ビットにうちの最上位ビットから２ビット目のビット３０に割り当てられたエラービットＥＲＭにセットする。
具体的には、正常の場合には、ソースパケットヘッダの上位７ビットにうちの最上位ビットから２ビット目のビット３０に割り当てられたエラービットＥＲＭは「０」に保持する。一方、不連続であると判断した場合には、このエラービットＥＲＭを「１」にセットする。
なお、エラービットＥＲＭを設定（書き込みを行う）前には、ソースパケットヘッダの上位７ビットの情報は、ＣＦＲ１１１（レジスタＳＰＨ−ＲＳＶ）に格納するために退避される。
【００５６】
受信後処理回路１０９は、ＦＩＦＯ１１０に格納されたソースパケットヘッダのタイムスタンプの時間データを読み出し、読み出したタイムスタンプデータ（ＴＳ）とリンクコア１０１内にあるサイクルタイマによるサイクルタイム（ＣＴ）を比較し、サイクルタイムＣＴがタイムスタンプデータＴＳより大きい場合には、ＦＩＦＯ１１０に格納されているソースパケットヘッダを除くデータをアプリケーションインタフェース回路１０３を介し、ＭＰＥＧ用トランスポートストリームデータとしてＭＰＥＧトランスポータ４０に出力する。
そして、このＦＩＦＯ１１０の読み出し時に、エラービットＥＲＭが「１」にセットされている場合には、すなわちＤＢＣ不連続マークがセットされているパケットを出力する場合には、まずエラービットをリセットし、たとえばダミーのエラーパケットを１つ出力する。なお、このエラーパケットはＤＢＣの不連続を示すために、ＦＩＦＯにないパケットを挿入するものである。
なお、次のデータ読み出しは、もはやＤＢＣ不連続マークはセットされていないことから、ＦＩＦＯ１１０から通常通り行う。
【００５７】
以上説明したように、本実施形態によれば、リンクコア１０１を介してＩＥＥＥ１３９４シリアルバスＢＳを、たとえば分割されて伝送されてきた分割パケットのＣＩＰヘッダ１の第１クワドレットに設定されているＤＢＣの値とＦＮの値とＤＢＳとの値を用いて、先頭パケットの判断、パケット抜けが生じ途中パケットがこない場合にそのパケット抜けを判断し、正常パケットのＦＩＦＯ１１０への格納処理を行う受信前処理回路１０８を設けたので、シリアルインタフェースの分割パケットの受信時に、先頭のパケットを判断して格納することができ、またパケット抜けが生じた時に正常なデータ格納を実現できる利点がある。
【００５８】
【発明の効果】
以上説明したように、本発明によれば、受信側は分割されて送られてくるパケットの中からソースパケットの先頭のパケットを判断して記憶手段に格納することができる。
また、分割されて送られてくる途中でパケットが抜けたとき正常のなデータ格納ができる利点がある。
【図面の簡単な説明】
【図１】ＩＥＥＥ１３９４シリアルインタフェースに適用される本発明に係るＭＰＥＧ用信号処理回路の一実施形態を示すブロック構成図である。
【図２】タイムスタンプの具体的な構成を説明するための図である。
【図３】本発明に係る先頭パケットの検出およびパケット抜け検出等を行う検出回路の構成例を示すブロック図である。
【図４】アイソクロナス通信における１ソースパケットのバイトサイズを示す図であって、（Ａ）はＤＶＢ仕様時、（Ｂ）はＤＳＳ仕様時のパケットサイズを示す図である。
【図５】ＩＥＥＥ１３９４規格のアイソクロナス通信でデータを送信させるときの元のデータと、実際に送信されるパケットとの対応関係の一例を示す図である。
【図６】ソースパケットヘッダのフォーマットを示す図である。
【図７】アイソクロナス通信用パケットの基本構成例を示す図である。
【図８】ＩＥＥＥ１３９４シリアルインタフェースにおけるアイソクロナス通信系回路の基本構成を示すブロック図である。
【符号の説明】
１０…リンク・レイヤ回路、１０１…リンクコア(Link Core))、１０２…ホストインタフェース回路（Host I/F）、１０３２…アプリケーションインタフェース回路（AP I/F) 、１０４…アシンクロナス通信用ＦＩＦＯ、送信用ＦＩＦＯ（AT-FIFO)、１０４ｂ…受信用ＦＩＦＯ（AR-FIFO)、１０５…セルフＩＤ用リゾルバ(Resolver)、１０６…アイソクロナス通信用送信前処理回路(TXOut1)、１０７…アイソクロナス通信用送信後処理回路(TXOut2)、１０８…アイソクロナス通信用受信前処理回路(TXIn1) 、１０９…アイソクロナス通信用受信前処理回路(TXIn2) 、１１０…アイソクロナス通信用ＦＩＦＯ(I-FIFO)、１１１…コンフィギュレーションレジスタ（ＣＦＲ）、２０…フィジカル・レイヤ回路、３０…ＣＰＵ、４０…ＭＰＥＧトランスポータ。
【図１】
0003731283.tif 000002
【図２】
0003731283.tif 000003
【図３】
0003731283.tif 000004
【図４】
0003731283.tif 000005
【図５】
0003731283.tif 000006
【図６】
0003731283.tif 000007
【図７】
0003731283.tif 000008
【図８】
0003731283.tif 000009