(57)【特許請求の範囲】
【請求項１】
入力データを並列処理することにより、該入力データのスタッフ位置に挿入された無効データを除去して有効データを抽出するデスタッフ回路であって、
複数のレーンに割り当てられた複数のデータ信号、および、該各データ信号におけるスタッフ位置を示す複数のスタッフ信号が入力され、該各スタッフ信号に基づいて、前記各データ信号のスタッフ位置に挿入された無効データを同じ列内で移動させて各列の同じ方向の片側に集めるスタッフ移動部と、
前記スタッフ移動部から出力される各レーンのデータ信号、および、該各データ信号にそれぞれ対応したスタッフ信号が入力され、該各スタッフ信号に基づいて前記各データ信号の列ごとのスタッフの個数を検出し、該検出結果に応じて前記各データ信号の各列のデータを一方向に回転操作するデータ回転部と、
前記データ回転部から出力される各レーンのデータ信号に含まれる有効データを先入れ先出し方式で記憶して出力するバッファ部と、
を備えたことを特徴とするデスタッフ回路。
【請求項２】
請求項１に記載のデスタッフ回路であって、
前記スタッフ移動部は、２入力１出力セレクタおよびフリップフロップを含む論理回路により構成される少なくとも１つのシフトブロックを有することを特徴とするデスタッフ回路。
【請求項３】
請求項１または２に記載のデスタッフ回路であって、
前記データ回転部は、Ｎを２以上の正数として、前記スタッフ移動部から出力されるＮ個のレーンのデータ信号について、前記スタッフの個数を０からＮ−１までの巡回カウント値として検出し、該巡回カウント値に応じて、２入力１出力セレクタおよびフリップフロップを含む論理回路により構成されるＮ−１段の回転ブロックを用いたパイプライン処理によりデータの回転操作を行うことを特徴とするデスタッフ回路。
【請求項４】
請求項１〜３のいずれか１つに記載のデスタッフ回路であって、
前記スタッフ移動部は、同期網を伝送された信号が前記複数のデータ信号として入力され、
前記バッファ部は、前記同期網の信号速度よりも遅い非同期信号を出力することを特徴とするデスタッフ回路。
【請求項５】
請求項１〜４のいずれか１つに記載のデスタッフ回路を備えたことを特徴とする伝送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号速度の異なる伝送路間でデータ信号を転送する伝送装置において、入力データのスタッフ位置にある無効データを除去するデスタッフ回路に関する。
【背景技術】
【０００２】
例えば、非同期信号をマッピングして同期網に送る場合などに、スタッフ（Stuff）という概念を用いて、非同期信号の速度と同期網における信号の伝送速度との調整が行われる（例えば、特許文献１参照）。このスタッフによる信号速度の調整は、非同期信号のマッピングを行う際、該非同期信号の情報量が少ないときに、非同期信号のデータ列に対して所定のスタッフ位置に無効データを挿入して、マッピング後の信号に対応したクロック周波数を同期網におけるクロック周波数に一致させる。なお、非同期信号の情報量が多いときには、上記スタッフ位置の無効データが有効データに置き換えられる。
【０００３】
同期網を伝送された信号をデマッピングする側では、該伝送信号がデスタッフ回路に入力され、スタッフの挿入位置に関する情報に基づいて、入力データに含まれる無効データを除去して有効データのみを抽出するデスタッフ処理が行われ、同期網の伝送前と同じ非同期信号が再生成される。スタッフの挿入位置は、マッピング仕様により予め決められた部分とされるか、または、伝送信号のオーバーヘッド情報を基に計算により求められる。
【０００４】
図１は、比較的低速な信号を処理する一般的なデスタッフ回路の構成例を示す図である。このデスタッフ回路は、エラスティック（elastic）型のＦＩＦＯ（first-in first-out）１０１を用いて構成されている。該デスタッフ回路は、ＦＩＦＯ１０１への入力データにおけるスタッフの挿入位置に関する情報に基に、入力データが無効データ（図１中のＳ１，Ｓ２）に該当することを判別すると、書き込みクロック信号ＣＬＫ−Ｗに従って行われるＦＩＦＯ１０１へのデータの書き込みを制御するイネーブル信号ＥＮをローレベルとして、ＦＩＦＯ１０１へのデータの書き込みを無効にする。これにより、ＦＩＦＯ１０１への入力データから無効データが除去され、読み出しクロック信号ＣＬＫ−Ｒに従ってＦＩＦＯから有効データ（図１中のＤ１，Ｄ２，…Ｄ６）のみが読み出される。
【０００５】
上記のようなデスタッフ回路では、処理する信号が高速になるにつれて、データを並列処理して回路の動作クロックを低く抑える方式が採用される（例えば、特許文献２参照）。具体的には、例えば図２に示すように、４つのレーンに割り当てられた並列データ信号ＤＴ１〜ＤＴ４が、４つの入力ポートおよび４つの出力ポートを有するマトリックススイッチ２０１に入力され、各レーンにおけるスタッフ位置を示す信号に基づいてスイッチ制御回路２０２から出力される制御信号に従って、上記マトリックススイッチ２０１がスイッチング動作することにより、同じタイミングでマトリックススイッチ２０１に入力される同一列内のデータの並べ替えが行われる。マトリックススイッチ２０１から出力される並列データ信号は、各レーンに対応したＦＩＦＯ２０３１〜２０３４にそれぞれ入力され、各々のＦＩＦＯ２０３１〜２０３４が前述した図１の場合と同様に動作することで、無効データを除去して有効データのみを抽出した並列データ信号ＤＴ１ｏｕｔ〜ＤＴ４ｏｕｔが出力される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２１７９４０号公報
【特許文献２】特開２００７−３３６０４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記図２に示したような入力データを並列処理する従来のデスタッフ回路は、スタッフ位置に応じてデータを並べ替えるマトリックススイッチの回路構成が複雑なものになるため、入力データの並べ替えを高速に行うことが難しく、デスタッフ処理の速度が制限されてしまうという問題がある。この問題は、入力データの並列数が増加してマトリックススイッチの入出力ポート数が多くなるほど顕著になるため、より高速な信号に対応したデスタッフ回路の実現を困難にする。
【０００８】
本発明は上記の点に着目してなされたもので、並列データ信号のデスタッフ処理を単純な論理回路によって高速に行うことのできるデスタッフ回路および伝送装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するため本発明は、入力データを並列処理することにより、該入力データのスタッフ位置に挿入された無効データを除去して有効データを抽出するデスタッフ回路を提供する。このデスタッフ回路の一態様は、複数のレーンに割り当てられた複数のデータ信号、および、該各データ信号におけるスタッフ位置を示す複数のスタッフ信号が入力され、該各スタッフ信号に基づいて、前記各データ信号のスタッフ位置に挿入された無効データを同じ列内で移動させて片側に集めるスタッフ移動部と、前記スタッフ移動部から出力される各レーンのデータ信号、および、該各データ信号にそれぞれ対応したスタッフ信号が入力され、該各スタッフ信号に基づいて前記各データ信号の列ごとのスタッフの個数を検出し、該検出結果に応じて前記各データ信号の各列のデータを一方向に回転操作するデータ回転部と、前記データ回転部から出力される各レーンのデータ信号に含まれる有効データを先入れ先出し方式で記憶して出力するバッファ部と、を備える。
【発明の効果】
【００１０】
上記のようなデスタッフ回路によれば、スタッフ移動部において、複数のレーンに割り当てられた各データ信号に含まれる無効データを同じ列内の片側に集めた後に、データ回転部において、各データ信号の列ごとのスタッフ個数に応じて各列のデータを一方向に回転操作するようにしたことで、従来のデスタッフ回路におけるマトリックススイッチに相当する機能を単純な論理回路の組み合わせにより実現可能になる。よって、入力データの任意の位置に挿入された無効データを高速に除去することができ、より高速な信号に対応したデスタッフ回路を容易に提供することが可能である。
【図面の簡単な説明】
【００１１】
【図１】低速信号を処理する一般的なデスタッフ回路の構成例を示す図である。
【図２】並列処理に対応した従来のデスタッフ回路の構成例を示す図である。
【図３】デスタッフ回路の一実施形態の構成を示すブロックである。
【図４】図３のスタッフ移動部の具体的な構成の一例を示す回路図である。
【図５】図３のデータ回転部の具体的な構成の一例を示す回路図である。
【図６】図３のバッファ部の具体的な構成の一例を示す回路図である。
【図７】図４のスタッフ移動部における処理を説明する図である。
【図８】図５のデータ回転部における処理を説明する図である。
【図９】図５のデータ回転部および図６のバッファ部おける処理を説明する図である。
【図１０】２バイトごとにデスタッフ処理する場合の構成例を示す図である。
【図１１】図５のデータ回転部に関連した応用例を示す回路図である。
【図１２】デスタッフ回路を用いた伝送装置およびそれを適用したネットワークの構成を示すブロックである。
【図１３】図１２のスタッフ回路の具体的な構成例を示す回路図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について添付図面を参照しながら詳細に説明する。
図３は、本発明によるデスタッフ回路の一実施形態の構成を示すブロックである。
図３において、本実施形態のデスタッフ回路は、スタッフ移動部１０、データ回転部３０およびバッファ部５０を備える。
【００１３】
スタッフ移動部１０は、複数のレーンに割り当てられた並列データ信号が入力され、各レーンにおけるスタッフの位置情報を基に入力データ中の無効データを同じ列内で移動させて片側に集める。データ回転部３０は、スタッフ移動部１０から出力される並列データ信号の列ごとのスタッフ数を検出し、該検出結果に応じて各列のデータを一方向に回転操作する。バッファ部５０は、データ回転部３０から出力される並列データ信号の有効データを先入れ先出し（ＦＩＦＯ）方式で記憶して出力する。
【００１４】
以下では、上記デスタッフ回路の各部の具体的な構成について、ＯＴＮ（Optical Transport Network）やＳＯＮＥＴ／ＳＤＨ（Synchronous Optical NETwork / Synchronous Digital Hierarchy）等の規格に対応してデスタッフ処理がバイト単位で行われる場合の例を挙げて詳しく説明する。ただし、本発明がバイト単位のデスタッフ処理に限定されることを意味するものではなく、デスタッフ処理がビット単位で行われる場合にも本発明は有効である。
【００１５】
図４は、上記スタッフ移動部１０の具体的な構成の一例を示す回路図である。
図４において、スタッフ移動部１０は、例えば、３２ビットの並列データ信号をバイト単位で４つのレーンに割り当てた各データ信号ＤＴ１，ＤＴ２，ＤＴ３，ＤＴ４、および、該各データ信号ＤＴ１〜ＤＴ４にそれぞれ対応したスタッフ信号ＳＴＦ１，ＳＴＦ２，ＳＴＦ３，ＳＴＦ４が与えられる第１シフトブロック１１と、該第１シフトブロック１１に直列に接続された第２シフトブロック１２と、を有する。なお、第１および第２シフトブロック１１，１２は同一の回路構成であるため、図４には第１シフトブロック１１内の回路構成のみを示し、第２シフトブロック１２内の回路構成の図示は省略している。
【００１６】
上記データ信号ＤＴ１〜ＤＴ４は、図示しない送信側でのスタッフ処理により無効データがバイト単位で挿入された信号である。また、上記スタッフ信号ＳＴＦ１〜ＳＴＦ４は、対応するデータ信号ＤＴ１〜ＤＴ４のスタッフ位置に関する情報を示す１ビットの信号である。ここでは、スタッフ信号ＳＴＦ１〜ＳＴＦ４のビット値が「１」のとき、対応するデータ信号ＤＴ１〜ＤＴ４のバイトがスタッフ位置に該当する無効データであることを示し、ビット値が「０」のとき、対応するデータ信号ＤＴ１〜ＤＴ４のバイトがスタッフ位置には該当しない有効データであることを示すものとする。
【００１７】
第１シフトブロック１１は、例えば、４個の２入力１出力（２×１）セレクタ２１，２２，２３，２４およびフリップフロップ（ＦＦ）２５を組み合わせた前段部分と、２個の２入力１出力セレクタ２６，２７およびフリップフロップ（ＦＦ）２８を組み合わせた後段部分とから構成される。
【００１８】
セレクタ２１は、２つの入力端子のうちの一方の入力端子に対して、４つのデータ信号ＤＴ１〜ＤＴ４のうちの第１レーンに該当するデータ信号ＤＴ１およびそれに対応するスタッフ信号ＳＴＦ１を一緒にした９ビットの信号（以下、ＤＴ１＋ＳＴＦ１信号と表記する）が入力される。また、セレクタ２１は、２つの入力端子のうちの他方の入力端子に対して、４つのデータ信号ＤＴ１〜ＤＴ４のうちの第２レーンに該当するデータ信号ＤＴ２およびそれに対応するスタッフ信号ＳＴＦ２を一緒にした９ビットの信号（以下、ＤＴ２＋ＳＴＦ２信号と表記する）が入力される。上記セレクタ２１は、制御端子に入力されるスタッフ信号ＳＴＦ１のビット値が「０」、すなわち、データ信号ＤＴ１のバイトが有効データである場合、一方の入力端子に入力されるＤＴ１＋ＳＴＦ１信号を選択して出力端子から出力する。また、セレクタ２１は、スタッフ信号ＳＴＦ１のビット値が「１」、すなわち、データ信号ＤＴ１のバイトが無効データである場合、他方の入力端子に与えられるＤＴ２＋ＳＴＦ２信号を選択して出力端子から出力する。
【００１９】
セレクタ２２は、２つの入力端子のうちの一方の入力端子に対してＤＴ２＋ＳＴＦ２信号が入力され、他方の入力端子に対してＤＴ１＋ＳＴＦ１信号が入力される。このセレクタ２２は、制御端子に入力されるスタッフ信号ＳＴＦ１のビット値が「０」の場合、一方の入力端子に入力されるＤＴ２＋ＳＴＦ２信号を選択して出力端子から出力し、スタッフ信号ＳＴＦ１のビット値が「１」の場合には、他方の入力端子に与えられるＤＴ１＋ＳＴＦ１信号を選択して出力端子から出力する。
【００２０】
セレクタ２３は、２つの入力端子のうちの一方の入力端子に対して、４つのデータ信号ＤＴ１〜ＤＴ４のうちの第３レーンに該当するデータ信号ＤＴ３およびそれに対応するスタッフ信号ＳＴＦ３を一緒にした９ビットの信号（以下、ＤＴ３＋ＳＴＦ３信号と表記する）が入力される。また、セレクタ２３は、２つの入力端子のうちの他方の入力端子に対して、４つのデータ信号ＤＴ１〜ＤＴ４のうちの第４レーンに該当するデータ信号ＤＴ４およびそれに対応するスタッフ信号ＳＴＦ４を一緒にした９ビットの信号（以下、ＤＴ４＋ＳＴＦ４信号と表記する）が入力される。上記セレクタ２３は、制御端子に入力されるスタッフ信号ＳＴＦ３のビット値が「０」、すなわち、データ信号ＤＴ３のバイトが有効データである場合、一方の入力端子に入力されるＤＴ３＋ＳＴＦ３信号を選択して出力端子から出力する。また、セレクタ２３は、スタッフ信号ＳＴＦ３のビット値が「１」、すなわち、データ信号ＤＴ３のバイトが無効データである場合、他方の入力端子に与えられるＤＴ４＋ＳＴＦ４信号を選択して出力端子から出力する。
【００２１】
セレクタ２４は、２つの入力端子のうちの一方の入力端子に対してＤＴ４＋ＳＴＦ４信号が入力され、他方の入力端子に対してＤＴ３＋ＳＴＦ３信号が入力される。このセレクタ２４は、制御端子に入力されるスタッフ信号ＳＴＦ３のビット値が「０」の場合、一方の入力端子に入力されるＤＴ４＋ＳＴＦ４信号を選択して出力端子から出力し、スタッフ信号ＳＴＦ３のビット値が「１」の場合には、他方の入力端子に与えられるＤＴ３＋ＳＴＦ３信号を選択して出力端子から出力する。
【００２２】
フリップフロップ２５は、各セレクタ２１〜２４からそれぞれ出力される信号をラッチして第１シフトブロック１１の後段部分に伝える。なお、上記各セレクタ２１〜２４およびフリップフロップ２５の内部における処理は、バイト単位のデータ信号と１ビットのスタッフ信号を合わせた９ビットごとに行われる。
【００２３】
セレクタ２６は、２つの入力端子のうちの一方の入力端子に対して、前段部分のセレクタ２２からフリップフロップ２５を介して伝えられる、データ信号ＤＴ２’およびそれに対応したスタッフ信号ＳＴＦ２’を一緒にした９ビットの信号（以下、ＤＴ２’＋ＳＴＦ２’信号と表記する）が入力される。また、セレクタ２６は、２つの入力端子のうちの他方の入力端子に対して、前段部分のセレクタ２３からフリップフロップ２５を介して伝えられる、データ信号ＤＴ３’およびそれに対応したスタッフ信号ＳＴＦ３’を一緒にした９ビットの信号（以下、ＤＴ３’＋ＳＴＦ３’信号と表記する）が入力される。上記セレクタ２６の制御端子には、ＤＴ２’＋ＳＴＦ２’信号から取り出したスタッフ信号ＳＴＦ２’が与えられる。セレクタ２６は、スタッフ信号ＳＴＦ２’のビット値が「０」、すなわち、データ信号ＤＴ２’のバイトが有効データである場合、一方の入力端子に入力されるＤＴ２’＋ＳＴＦ２’信号を選択して出力端子から出力する。また、セレクタ２６は、スタッフ信号ＳＴＦ２’のビット値が「１」、すなわち、データ信号ＤＴ２’のバイトが無効データである場合、他方の入力端子に与えられるＤＴ３’＋ＳＴＦ３’信号を選択して出力端子から出力する。
【００２４】
セレクタ２７は、２つの入力端子のうちの一方の入力端子に対してＤＴ３’＋ＳＴＦ３’信号が入力され、他方の入力端子に対してＤＴ２’＋ＳＴＦ２’信号が入力される。このセレクタ２７は、制御端子に与えられるスタッフ信号ＳＴＦ２’のビット値が「０」の場合、一方の入力端子に入力されるＤＴ３’＋ＳＴＦ３’信号を選択して出力端子から出力し、スタッフ信号ＳＴＦ２’のビット値が「１」の場合には、他方の入力端子に与えられるＤＴ２’＋ＳＴＦ２’信号を選択して出力端子から出力する。
【００２５】
フリップフロップ２８は、前段部分のセレクタ２１，２４からフリップフロップ２５を介して伝えられるＤＴ１’＋ＳＴＦ１’信号およびＤＴ４’＋ＳＴＦ４’信号と、各セレクタ２６，２７から出力される信号とをそれぞれラッチして第２シフトブロック１２に伝える。なお、上記各セレクタ２６，２７およびフリップフロップ２８の内部における処理についても、バイト単位のデータ信号と１ビットのスタッフ信号を合わせた９ビットごとに行われる。
【００２６】
第２シフトブロック１２は、上記第１シフトブロック１１と同一の回路構成であり、該第２シフトブロック１２は、後段部分のフリップフロップ２８から、第１レーンの出力信号として、データ信号ＤＴ１ａおよびそれに対応したスタッフ信号ＳＴＦ１ａを一緒にしたＤＴ１ａ＋ＳＴＦ１ａ信号を出力し、第２レーンの出力信号として、データ信号ＤＴ２ａおよびそれに対応したスタッフ信号ＳＴＦ２ａを一緒にしたＤＴ２ａ＋ＳＴＦ２ａ信号を出力し、第３レーンの出力信号として、データ信号ＤＴ３ａおよびそれに対応したスタッフ信号ＳＴＦ３ａを一緒にしたＤＴ３ａ＋ＳＴＦ３ａ信号を出力し、第４レーンの出力信号として、データ信号ＤＴ４ａおよびそれに対応したスタッフ信号ＳＴＦ４ａを一緒にしたＤＴ４ａ＋ＳＴＦ４ａ信号を出力する。
【００２７】
図５は、上記図３に示したデータ回転部３０の具体的な構成の一例を示す回路図である。
図５において、データ回転部３０は、例えば、４個の２入力１出力（２×１）セレクタ３１Ａ，３２Ａ，３３Ａ，３４Ａおよびフリップフロップ（ＦＦ）３５Ａを組み合わせた第１回転ブロック３０Ａと、４個の２入力１出力（２×１）セレクタ３１Ｂ，３２Ｂ，３３Ｂ，３４Ｂおよびフリップフロップ（ＦＦ）３５Ｂを組み合わせた第２回転ブロック３０Ｂと、４個の２入力１出力（２×１）セレクタ３１Ｃ，３２Ｃ，３３Ｃ，３４Ｃおよびフリップフロップ（ＦＦ）３５Ｃを組み合わせた第３回転ブロック３０Ｃと、を備える。また、データ回転部３０は、スタッフ移動部１０からの出力信号に含まれるデータ信号ＤＴ１ａ〜ＤＴ４ａにおける各列のスタッフ数を検出するための加算回路４１およびフリップフロップ４２と、該スタッフ数の検出結果に応じて各段のセレクタ３１Ａ〜３４Ａ，３１Ｂ〜３４Ｂ，３１Ｃ〜３４Ｃを制御するためのデコーダ４３およびフリップフロップ４４Ｂ，４４Ｃ１，４４Ｃ２と、を備える。
【００２８】
第１回転ブロック３０Ａのセレクタ３１Ａは、２つの入力端子のうちの一方の入力端子に対して、スタッフ移動部１０から出力されるＤＴ１ａ＋ＳＴＦ１ａ信号が入力され、他方の入力端子に対して、スタッフ移動部１０から出力されるＤＴ２ａ＋ＳＴＦ２ａ信号が入力される。このセレクタ３１Ａの制御端子には、後述するデコーダ４３から出力される制御信号ＳＣ１が与えられる。セレクタ３１Ａは、制御信号ＳＣ１のビット値が「０」の場合、一方の入力端子に入力されるＤＴ１ａ＋ＳＴＦ１ａ信号を選択して出力端子から出力し、制御信号ＳＣ１のビット値が「１」の場合には、他方の入力端子に与えられるＤＴ２ａ＋ＳＴＦ２ａ信号を選択して出力端子から出力する。
【００２９】
セレクタ３２Ａは、２つの入力端子のうちの一方の入力端子に対して、スタッフ移動部１０から出力されるＤＴ２ａ＋ＳＴＦ２ａ信号が入力され、他方の入力端子に対して、スタッフ移動部１０から出力されるＤＴ３ａ＋ＳＴＦ３ａ信号が入力される。このセレクタ３２Ａは、制御端子に与えられる制御信号ＳＣ１のビット値が「０」の場合、一方の入力端子に入力されるＤＴ２ａ＋ＳＴＦ２ａ信号を選択して出力端子から出力し、制御信号ＳＣ１のビット値が「１」の場合には、他方の入力端子に与えられるＤＴ３ａ＋ＳＴＦ３ａ信号を選択して出力端子から出力する。
【００３０】
セレクタ３３Ａは、２つの入力端子のうちの一方の入力端子に対して、スタッフ移動部１０から出力されるＤＴ３ａ＋ＳＴＦ３ａ信号が入力され、他方の入力端子に対して、スタッフ移動部１０から出力されるＤＴ４ａ＋ＳＴＦ４ａ信号が入力される。このセレクタ３３Ａは、制御端子に与えられる制御信号ＳＣ１のビット値が「０」の場合、一方の入力端子に入力されるＤＴ３ａ＋ＳＴＦ３ａ信号を選択して出力端子から出力し、制御信号ＳＣ１のビット値が「１」の場合には、他方の入力端子に与えられるＤＴ４ａ＋ＳＴＦ４ａ信号を選択して出力端子から出力する。
【００３１】
セレクタ３４Ａは、２つの入力端子のうちの一方の入力端子に対して、スタッフ移動部１０から出力されるＤＴ４ａ＋ＳＴＦ４ａ信号が入力され、他方の入力端子に対して、スタッフ移動部１０から出力されるＤＴ１ａ＋ＳＴＦ１ａ信号が入力される。このセレクタ３４Ａは、制御端子に与えられる制御信号ＳＣ１のビット値が「０」の場合、一方の入力端子に入力されるＤＴ４ａ＋ＳＴＦ４ａ信号を選択して出力端子から出力し、制御信号ＳＣ１のビット値が「１」の場合には、他方の入力端子に与えられるＤＴ１ａ＋ＳＴＦ１ａ信号を選択して出力端子から出力する。
【００３２】
フリップフロップ３５Ａは、各セレクタ３１Ａ〜３４Ａからそれぞれ出力される信号をラッチして第２回転ブロック３０Ｂに伝える。なお、上記各セレクタ３１Ａ〜３４Ａおよびフリップフロップ３５Ａの内部における処理は、バイト単位のデータ信号と１ビットのスタッフ信号を合わせた９ビットごとに行われる。
【００３３】
第２回転ブロック３０Ｂの各セレクタ３１Ｂ〜３４Ｂおよびフリップフロップ３５Ｂ、並びに、第３回転ブロック３０Ｃの各セレクタ３１Ｃ〜３４Ｃおよびフリップフロップ３５Ｃも、上記第１回転ブロック３０Ａの各セレクタ３１Ａ〜３４Ａおよびフリップフロップ３５Ａと同様な構成であり、第２回転ブロック３０Ｂの各セレクタ３１Ｂ〜３４Ｂは、デコーダ４３からフリップフロップ４４Ｂを介して各々の制御端子に与えられる制御信号ＳＣ２のビット値に従って動作する。また、第３回転ブロック３０Ｃの各セレクタ３１Ｃ〜３４Ｃは、デコーダ４３からフリップフロップ４４Ｃ１，４４Ｃ２を介して各々の制御端子に与えられる制御信号ＳＣ３のビット値に従って動作する。第３回転ブロック３０Ｃのフリップフロップ３５Ｃは、第１レーンの出力信号として、データ信号ＤＴ１ｂおよびそれに対応したスタッフ信号ＳＴＦ１ｂを一緒にしたＤＴ１ｂ＋ＳＴＦ１ｂ信号を出力し、第２レーンの出力信号として、データ信号ＤＴ２ｂおよびそれに対応したスタッフ信号ＳＴＦ２ｂを一緒にしたＤＴ２ｂ＋ＳＴＦ２ｂ信号を出力する。また、第３回転ブロック３０Ｃのフリップフロップ３５Ｃは、第３レーンの出力信号として、データ信号ＤＴ３ｂおよびそれに対応したスタッフ信号ＳＴＦ３ｂを一緒にしたＤＴ３ｂ＋ＳＴＦ３ｂ信号を出力し、第４レーンの出力信号として、データ信号ＤＴ４ｂおよびそれに対応したスタッフ信号ＳＴＦ４ｂを一緒にしたＤＴ４ｂ＋ＳＴＦ４ｂ信号を出力する。
【００３４】
加算回路４１は、スタッフ移動部１０からの各出力信号よりそれぞれ取り出したスタッフ信号ＳＴＦ１ａ〜ＳＴＦ４ａと、後段のフリップフロップ４２の出力信号とが入力され、該各入力信号が示すビット値を、データ信号ＤＴ１ａ〜ＤＴ４ａに同期したクロック信号のタイミングに合わせて加算し、該加算値を示す２ビットの信号ＡＤＤをフリップフロップ４２に出力する。フリップフロップ４２は、加算回路４１の出力信号ＡＤＤをラッチし、加算回路４１における前回の加算値を示す２ビットの信号Ｃをデコーダ４３および加算回路４１に出力する。上記加算回路４１およびフリップフロップ４２の組み合わせにより、データ回転部３０への入力データに含まれるスタッフの現在までの合計個数が加算回路４１で求められ、該合計個数を０〜３個の巡回カウント値として示す信号ＡＤＤがフリップフロップ４２を介してデコーダ４３に伝えられる。
【００３５】
デコーダ４３は、フリップフロップ４２の出力信号Ｃが示すカウント値に応じて、第１〜第３回転ブロック３０Ａ〜３０Ｃにおけるデータの回転操作をそれぞれ制御する信号ＳＣ１〜ＳＣ３を生成する。該各制御信号ＳＣ１〜ＳＣ３の値は、ここでは、Ｃ＝０のときＳＣ１＝ＳＣ２＝ＳＣ３＝０、Ｃ＝１のときＳＣ１＝１およびＳＣ２＝ＳＣ３＝０、Ｃ＝２のときＳＣ１＝ＳＣ２＝１およびＳＣ３＝０、Ｃ＝３のときＳＣ１＝ＳＣ２＝ＳＣ３＝１に設定される。上記デコーダ４３で生成される制御信号ＳＣ１は、第１回転ブロック３０Ａの各セレクタ３１Ａ〜３４Ａの制御端子にそれぞれ与えられる。制御信号ＳＣ２は、１つのフリップフロップ４４Ｂを介して、第２回転ブロック３０Ｂの各セレクタ３１Ｂ〜３４Ｂの制御端子にそれぞれ与えられる。制御信号ＳＣ３は、２つのフリップフロップ４４Ｃ１，４４Ｃ２を介して、第３回転ブロック３０Ｃの各セレクタ３１Ｃ〜３４Ｃの制御端子にそれぞれ与えられる。
【００３６】
図６は、上記図３に示したバッファ部５０の具体的な構成の一例を示す回路図である。
図６において、バッファ部５０は、例えば、４個のエラスティック型のＦＩＦＯ５１〜５４と、該ＦＩＦＯ５１〜５４へのデータの書き込みを制御する制御回路５５〜５８とを有する。
【００３７】
ＦＩＦＯ５１〜５４は、それぞれ、データ回転部３０の出力信号より取り出したデータ信号ＤＴ１ｂ〜ＤＴ４ｂが入力され、該データ信号ＤＴ１ｂ〜ＤＴ４ｂに同期した書き込みクロック信号ＣＬＫ−Ｗに従ってデータの書き込みを行うと共に、該書き込みクロック信号ＣＬＫ−Ｗより周波数の低い読み出しクロック信号ＣＬＫ−Ｒに従ってデータの読み出しを行う。
【００３８】
制御回路５５〜５８は、それぞれ、データ回転部３０の出力信号より取り出したスタッフ信号ＳＴＦ１ｂ〜ＳＴＦ４ｂに応じて、ＦＩＦＯ５１〜５４へのデータの書き込みを制御するイネーブル信号ＥＮ１〜ＮＥ４を生成する。イネーブル信号ＥＮ１〜ＮＥ４は、ＦＩＦＯ５１〜５４に対してスタッフ位置に該当する無効データが入力される時にローレベルとなり、ＦＩＦＯ５１〜５４へのデータの書き込みを無効にする。
【００３９】
次に、本実施形態のデスタッフ回路の動作について説明する。
上記のような構成のデスタッフ回路では、上述の図２に示した従来のデスタッフ回路におけるマトリックススイッチに相当する機能を実現するために、まずスタッフ移動部１０において、スタッフ信号ＳＴＦ１〜ＳＴＦ４を基に、データ信号ＤＴ１〜ＤＴ４に挿入されている無効データを同じ列内で下方へ移動させる下詰め処理が行われた後に、データ回転部３０において、スタッフ移動部１０から出力されるデータ信号ＤＴ１ａ〜ＤＴ４ａの列ごとのスタッフ数が検出され、該検出結果に応じて各列のデータが一方向に回転操作される。そして、バッファ部５０において、データ回転部３０から出力されるデータ信号ＤＴ１ｂ〜ＤＴ４ｂが、従来のデスタッフ回路の場合と同様にしてＦＩＦＯ５１〜５４に記憶されることで、無効データを除去して有効データのみを抽出したデータ信号ＤＴ１ｏｕｔ〜ＤＴ４ｏｕｔがＦＩＦＯ５１〜５４から出力される。
【００４０】
ここで、上記のようなデスタッフ回路の各部における処理の詳細について具体的な一例を挙げて説明する。
スタッフ移動部１０における処理は、例えば図７の左上に示すようなデータ信号ＤＴ１〜ＤＴ４からなる並列データがスタッフ移動部１０に入力される場合を想定すると、該入力データの第１列目＃１の４バイトは、データ信号ＤＴ１，ＤＴ２，ＤＴ４に対応するバイトが有効データＤ１，Ｄ２，Ｄ３、データ信号ＤＴ３に対応するバイトがスタッフ位置に該当する無効データＳ１となっているので、この第３レーンの無効データＳ１を下方に移動して下詰めする処理がスタッフ移動部１０により実行される。なお、以下の説明では、第１列目＃１の４バイトの配置を第１レーンから順に（Ｄ１，Ｄ２，Ｓ１，Ｄ３）と表記することにし、他の列の４バイトの配置についても同様とする。
【００４１】
具体的に、スタッフ移動部１０に入力された第１列目＃１の４バイトは、図７の２段目に示すように、第１シフトブロック１１の前段部分におけるセレクタ２１〜２４（図４）にそれぞれ入力される。このとき、データ信号ＤＴ１に対応するスタッフ信号ＳＴＦ１のビット値は、データ信号ＤＴ１のバイトがスタッフ位置には該当しないことを示す「０」となり、データ信号ＤＴ３に対応するスタッフ信号ＳＴＦ３のビット値は、データ信号ＤＴ３のバイトがスタッフ位置に該当することを示す「１」となる。このため、セレクタ２１ではＤＴ１＋ＳＴＦ１信号が選択され、セレクタ２２ではＤＴ２＋ＳＴＦ２信号が選択され、セレクタ２３ではＤＴ４＋ＳＴＦ４信号が選択され、セレクタ２４ではＤＴ３＋ＳＴＦ３信号が選択される。これにより、第３レーンの無効データＳ１と第４レーンの有効データＤ３が入れ替わり（図７）、フリップフロップ２５から出力されるデータ信号ＤＴ１’〜ＤＴ４’における第１列目＃１の４バイトの配置は（Ｄ１，Ｄ２，Ｄ３，Ｓ１）となる。
【００４２】
上記フリップフロップ２５の出力信号は、第１シフトブロック１１の後段部分（図４）に送られ、第２レーンのＤＴ２’＋ＳＴＦ２’信号および第３レーンのＤＴ３’＋ＳＴＦ３’信号がセレクタ２６，２７に入力され、第１レーンのＤＴ１’＋ＳＴＦ１’信号および第４レーンのＤＴ４’＋ＳＴＦ４’信号がフリップフロップ２８に入力される。このとき、データ信号ＤＴ２’に対応するスタッフ信号ＳＴＦ２’のビット値は、データ信号ＤＴ２’のバイトがスタッフ位置には該当しないことを示す「０」となるため、セレクタ２６ではＤＴ２’＋ＳＴＦ２’信号が選択され、セレクタ２７ではＤＴ３’＋ＳＴＦ３’信号が選択される。よって、第１シフトブロック１１の後段部分でのデータの入れ替わりはなく（図７）、フリップフロップ２８の出力信号における第１列目＃１の４バイトの配置は（Ｄ１，Ｄ２，Ｄ３，Ｓ１）が維持される。
【００４３】
続いて、上記フリップフロップ２８の出力信号は、第１シフトブロック１１と同じ回路構成の第２シフトブロック１２に送られる。第２シフトブロック１２では、第１列目＃１の無効バイトＳ１が第１シフトブロック１１の処理により既に第４レーンに移動して下詰めされた状態にあるので、前段部分および後段部分でのデータの入れ替えは行われない。よって、第２シフトブロック１２のフリップフロップ２８の出力信号における第１列目＃１の４バイトの配置も（Ｄ１，Ｄ２，Ｄ３，Ｓ１）が維持される。
【００４４】
また、スタッフ移動部１０に入力されるデータ信号ＤＴ１〜ＤＴ４における第２列目＃２の４バイトについては、データ信号ＤＴ１，ＤＴ３，ＤＴ４に対応するバイトが有効データＤ４，Ｄ５，Ｄ６、データ信号ＤＴ２に対応するバイトがスタッフ位置に該当する無効データＳ２となっているので、この第２レーンの無効データＳ２を下方に移動して下詰めする処理がスタッフ移動部１０により実行される。
【００４５】
具体的には、図７の３段目に示すように、上記第２列目＃２の４バイトが第１シフトブロック１１の前段部分におけるセレクタ２１〜２４（図４）にそれぞれ入力される。このとき、データ信号ＤＴ１，ＤＴ３に対応するスタッフ信号ＳＴＦ１，ＳＴＦ３の各ビット値は「０」となるため、セレクタ２１ではＤＴ１＋ＳＴＦ１信号が選択され、セレクタ２２ではＤＴ２＋ＳＴＦ２信号が選択され、セレクタ２３ではＤＴ３＋ＳＴＦ３信号が選択され、セレクタ２４ではＤＴ４＋ＳＴＦ４信号が選択される。よって、第１シフトブロック１１の前段部分でのデータの入れ替わりはなく（図７）、フリップフロップ２５の出力信号における第２列目＃２の４バイトの配置は（Ｄ４，Ｓ２，Ｄ５，Ｄ６）となる。
【００４６】
上記フリップフロップ２５の出力信号は、第１シフトブロック１１の後段部分（図４）に送られ、このときのデータ信号ＤＴ２’に対応するスタッフ信号ＳＴＦ２’のビット値が「１」となるため、セレクタ２６ではＤＴ３’＋ＳＴＦ３’信号が選択され、セレクタ２７ではＤＴ２’＋ＳＴＦ２’信号が選択される。これにより、第２レーンの無効データＳ２と第３レーンの有効データＤ５が入れ替わり（図７）、フリップフロップ２８の出力信号における第２列目＃２の４バイトの配置は（Ｄ４，Ｄ５，Ｓ２，Ｄ６）となる。
【００４７】
続いて、上記フリップフロップ２８の出力信号は、第２シフトブロック１２の前段部分に送られる。このとき、第１レーンのデータ信号に対応するスタッフ信号のビット値は「０」となり、第３レーンのデータ信号に対応するスタッフ信号のビット値は「１」となる。このため、第３レーンの無効データＳ２と第４レーンの有効データＤ６が入れ替わり、第２シフトブロック１２のフリップフロップ２５の出力信号における第２列目＃２の４バイトの配置は（Ｄ４，Ｄ５，Ｄ６，Ｓ２）となる。このフリップフロップ２５の出力信号は、第２シフトブロック１２の後段部分に送られる。後段部分では、第２列目＃２の無効バイトＳ２が前段部分の処理により既に第４レーンに移動して下詰めされた状態にあるので、データの入れ替えは行われない。よって、第２シフトブロック１２のフリップフロップ２８の出力信号における第２列目＃２の４バイトの配置は（Ｄ４，Ｄ５，Ｄ６，Ｓ２）が維持される。
【００４８】
さらに、スタッフ移動部１０に入力されるデータ信号ＤＴ１〜ＤＴ４における第３列目＃３の４バイトについては、データ信号ＤＴ１，ＤＴ２に対応するバイトがスタッフ位置に該当する無効データＳ３，Ｓ４、データ信号ＤＴ３，ＤＴ４に対応するバイトが有効データＤ７，Ｄ８となっているので、上記第１および第２レーンの無効データＳ３，Ｓ４を下方に移動して下詰めする処理がスタッフ移動部１０により実行される。
【００４９】
具体的には、図７の４段目に示すように、上記第３列目＃３の４バイトが第１シフトブロック１１の前段部分におけるセレクタ２１〜２４（図４）にそれぞれ入力される。このとき、データ信号ＤＴ１に対応するスタッフ信号ＳＴＦ１のビット値は「１」となり、データ信号ＤＴ３に対応するスタッフ信号ＳＴＦ３のビット値は「０」となる。このため、セレクタ２１ではＤＴ２＋ＳＴＦ２信号が選択され、セレクタ２２ではＤＴ１＋ＳＴＦ１信号が選択され、セレクタ２３ではＤＴ３＋ＳＴＦ３信号が選択され、セレクタ２４ではＤＴ４＋ＳＴＦ４信号が選択される。これにより、第１レーンの無効データＳ３と第２レーンの無効データＳ４が入れ替わり（図７）、フリップフロップ２５から出力されるデータ信号ＤＴ１’〜ＤＴ４’における第３列目＃３の４バイトの配置は（Ｓ４，Ｓ３，Ｄ７，Ｄ８）となる。
【００５０】
上記フリップフロップ２５の出力信号は、第１シフトブロック１１の後段部分（図４）に送られ、このときのデータ信号ＤＴ２’に対応するスタッフ信号ＳＴＦ２’のビット値が「１」となるため、セレクタ２６ではＤＴ３’＋ＳＴＦ３’信号が選択され、セレクタ２７ではＤＴ２’＋ＳＴＦ２’信号が選択される。これにより、第２レーンの無効データＳ３と第３レーンの有効データＤ７が入れ替わり（図７）、フリップフロップ２８の出力信号における第３列目＃３の４バイトの配置は（Ｓ４，Ｄ７，Ｓ３，Ｄ８）となる。
【００５１】
続いて、上記フリップフロップ２８の出力信号は、第２シフトブロック１２の前段部分に送られる。このとき、第１および第３レーンの各データ信号に対応するスタッフ信号の各ビット値は両方とも「１」となる。このため、第１レーンの無効データＳ４と第２レーンの有効データＤ７が入れ替わると共に、第３レーンの無効データＳ３と第４レーンの有効データＤ８が入れ替わる。これにより、第２シフトブロック１２のフリップフロップ２５の出力信号における第３列目＃３の４バイトの配置は（Ｄ７，Ｓ４，Ｄ８，Ｓ３）となる。
【００５２】
上記第２シフトブロック１２のフリップフロップ２５の出力信号は、第２シフトブロック１２の後段部分に送られ、このときの第２レーンのデータ信号に対応するスタッフ信号のビット値が「１」となるため、第２レーンの無効データＳ４と第３レーンの有効データＤ８が入れ替わる。これにより、第２シフトブロック１２のフリップフロップ２８の出力信号における第３列目＃３の４バイトの配置は（Ｄ７，Ｄ８，Ｓ４，Ｓ３）となり、無効データＳ３およびＳ４が第４および第３レーンに移動して下詰めされた状態となる。なお、下詰めされた状態において、無効データＳ３，Ｓ４の順番が逆転しているが、後述するように無効データはバッファ部５０で除去されることになるので問題はない。
【００５３】
上記のようにスタッフ移動部１０では、入力されるデータ信号ＤＴ１〜ＤＴ４の各列の４バイトが、第１および第２シフトブロック１１，１２を順に通過することにより、任意の位置に挿入されている無効バイトが同じ列内の下方に集められて、図７の右上に示すように各列の無効データＳ１〜Ｓ４を下詰めしたデータ信号ＤＴ１ａ〜ＤＴ４ａが生成されるようになる。そして、該データ信号ＤＴ１ａ〜ＤＴ４ａは、各々に対応したスタッフ信号ＳＴＦ１ａ〜ＳＴＦ４ａと一緒にデータ回転部３０に送られる。
【００５４】
データ回転部３０における処理は、図８の上部に示すように、データ回転部３０に入力されるデータ信号ＤＴ１ａ〜ＤＴ４ａの各列に含まれるスタッフの個数を時間の経過とともに検出してその累積数を０〜３の巡回カウント値で表し、該カウント値に応じて第１〜第３回転ブロック３０Ａ〜３０Ｃの各セレクタ３１Ａ〜３４Ａ，３１Ｂ〜３４Ｂ，３１Ｃ〜３４Ｃを制御することで各列のデータを一方向に回転操作する。
【００５５】
ここで、スタッフ移動部１０から出力されたデータ信号ＤＴ１ａ〜ＤＴ４ａの第１列目＃１の４バイトがデータ回転部３０の第１回転ブロック３０Ａに入力される時間を基準（ｔ＝０）とし、続く第２列目＃２の４バイトが第１回転ブロック３０Ａに入力される時間をｔ＝１とし、以降、各列の４バイトが第１回転ブロック３０Ａに順次入力される時間をｔ＝２，３，…として、時間ｔの経過とともにデータ回転部３０の処理を追うことにする。
【００５６】
まず、ｔ＝０においては、図８の２段目に示すように、データ回転部３０の第１回転ブロック３０Ａに入力される第１列目＃１の４バイトは、第４レーンに無効データＳ１を含んでいるので、データ回転部３０の加算回路４１（図５）に入力される、スタッフ信号ＳＴＦ１ａのビット値Ａ１が「０」、スタッフ信号ＳＴＦ２ａのビット値Ａ２が「０」、スタッフ信号ＳＴＦ３ａのビット値Ａ３が「０」、スタッフ信号ＳＴＦ４ａのビット値Ａ４が「１」となる。この段階では、加算回路４１の後段のフリップフロップ４２の出力信号Ｃが示すカウント値は初期値の「０」となるので、加算回路４１における加算値は「１」となる。したがって、加算回路４１の出力信号ＡＤＤは、０〜３の巡回カウント値として「１」を示す。
【００５７】
また、デコーダ４３は、フリップフロップ４２の出力信号Ｃが初期値の状態にあるので、制御信号ＳＣ１〜Ｓ３の初期値としてＳＣ１＝ＳＣ２＝ＳＣ３＝０を出力する。この制御信号ＳＣ１は、第１回転ブロック３０Ａの各セレクタ３１Ａ〜３４Ａの制御端子に直接与えられる。このため、セレクタ３１ＡではＤＴ１ａ＋ＳＴＦ１ａ信号が選択され、セレクタ３２ＡではＤＴ２ａ＋ＳＴＦ２ａ信号が選択され、セレクタ３３ＡではＤＴ３ａ＋ＳＴＦ３ａ信号が選択され、セレクタ３４ＡではＤＴ４ａ＋ＳＴＦ４ａ信号が選択される。これにより、第１列目＃１の４バイトは、回転操作されることなく（Ｄ１，Ｄ２，Ｄ３，Ｓ１）の配置のまま、フリップフロップ３５Ａにラッチされる。なお、ｔ＝０の段階ではフリップフロップ３５Ａの有効な出力はない。また、制御信号ＳＣ２，ＳＣ３は、フリップフロップ４４Ｂ，４４Ｃ１にラッチされる。
【００５８】
次のｔ＝１においては、図８の３段目に示すように、データ回転部３０の第１回転ブロック３０Ａに入力される第２列目＃２の４バイトは、第４レーンに無効データＳ２を含んでいるので、加算回路４１に入力されるスタッフ信号ＳＴＦ１ａ〜ＳＴＦ４ａの各ビット値は、Ａ１＝０，Ａ２＝０，Ａ３＝０，Ａ４＝１となる。また、加算回路４１の後段のフリップフロップ４２の出力信号Ｃは、前回のｔ＝０におけるカウント値である「１」を示す。このため、加算回路４１における加算値はＡ１〜Ａ４およびＣの各ビット値を加算した「２」となる。したがって、加算回路４１の出力信号ＡＤＤは、巡回カウント値として「２」を示す。
【００５９】
また、デコーダ４３から出力される制御信号ＳＣ１〜ＳＣ３は、フリップフロップ４２の出力信号Ｃが示すカウント値が「１」であるので、ＳＣ１＝１，ＳＣ２＝０，ＳＣ３＝０となる。この制御信号ＳＣ１により、第１回転ブロック３０Ａのセレクタ３１ＡではＤＴ２ａ＋ＳＴＦ２ａ信号が選択され、セレクタ３２ＡではＤＴ３ａ＋ＳＴＦ３ａ信号が選択され、セレクタ３３ＡではＤＴ４ａ＋ＳＴＦ４ａ信号が選択され、セレクタ３４ＡではＤＴ１ａ＋ＳＴＦ１ａ信号が選択される。これにより、第２列目＃２の４バイトが上方に一レーン分だけ回転操作され、各セレクタ３１Ａ〜３４Ａから出力される第２列目＃２の４バイトの配置は（Ｄ５，Ｄ６，Ｓ２，Ｄ４）となる。なお、フリップフロップ３５Ａの出力信号は、前回のｔ＝０のときにラッチした第１列目＃１の４バイトの配置（Ｄ１，Ｄ２，Ｄ３，Ｓ１）を示す。
【００６０】
さらに、第２回転ブロック３０Ｂの各セレクタ３１Ｂ〜３４Ｂの制御端子には、フリップフロップ４４Ｂの出力信号、すなわち、前回のｔ＝０における制御信号ＳＣ２＝０が与えられる。このため、セレクタ３１Ｂでは第１レーン側の入力信号が選択され、セレクタ３２Ｂでは第２レーン側の入力信号が選択され、セレクタ３３Ｂでは第３レーン側の入力信号が選択され、セレクタ３４Ｂでは第４レーン側の入力信号が選択される。これにより、第１回転ブロック３０Ａから出力されるデータ信号（第１列目＃１の４バイト）は、回転操作されることなく（Ｄ１，Ｄ２，Ｄ３，Ｓ１）の配置のまま、フリップフロップ３５Ｂにラッチされる。なお、ｔ＝１の段階ではフリップフロップ３５Ｂの有効な出力はない。また、フリップフロップ４４Ｃ１から４４Ｃ２に対して、前回のｔ＝０における制御信号ＳＣ３＝０が出力される。
【００６１】
次のｔ＝２においては、図８の４段目に示すように、データ回転部３０の第１回転ブロック３０Ａに入力される第３列目＃３の４バイトは、第３および第４レーンに無効データＳ４，Ｓ３を含んでいるので、加算回路４１に入力されるスタッフ信号ＳＴＦ１ａ〜ＳＴＦ４ａの各ビット値は、Ａ１＝０，Ａ２＝０，Ａ３＝１，Ａ４＝１となる。また、加算回路４１の後段のフリップフロップ４２の出力信号Ｃは、前回のｔ＝１におけるカウント値である「２」を示す。このため、加算回路４１における加算値はＡ１〜Ａ４およびＣの各ビット値を加算した「４」となる。したがって、加算回路４１の出力信号ＡＤＤは、巡回カウント値として「０」を示す。
【００６２】
また、デコーダ４３から出力される制御信号ＳＣ１〜ＳＣ３は、フリップフロップ４２の出力信号Ｃが示すカウント値が「２」であるのでＳＣ１＝１，ＳＣ２＝１，ＳＣ３＝０となる。この制御信号ＳＣ１により、第１回転ブロック３０Ａでは、前述したｔ＝１の場合と同様にして、第３列目＃３の４バイトが上方に一レーン分だけ回転操作され、各セレクタ３１Ａ〜３４Ａから出力される第３列目＃３の４バイトの配置は（Ｄ８，Ｓ４，Ｓ３，Ｄ７）となる。なお、フリップフロップ３５Ａの出力信号は、前回のｔ＝１のときにラッチした第２列目＃２の４バイトの配置（Ｄ５，Ｄ６，Ｓ２，Ｄ４）を示す。
【００６３】
さらに、第２回転ブロック３０Ｂの各セレクタ３１Ｂ〜３４Ｂの制御端子には、フリップフロップ４４Ｂの出力信号、すなわち、前回のｔ＝１における制御信号ＳＣ２＝０が与えられる。このため、セレクタ３１Ｂでは第１レーン側の入力信号が選択され、セレクタ３２Ｂでは第２レーン側の入力信号が選択され、セレクタ３３Ｂでは第３レーン側の入力信号が選択され、セレクタ３４Ｂでは第４レーン側の入力信号が選択される。これにより、第１回転ブロック３０Ａから出力されるデータ信号（第２列目＃２の４バイト）は、回転操作されることなく（Ｄ５，Ｄ６，Ｓ２，Ｄ４）の配置のまま、フリップフロップ３５Ｂにラッチされる。なお、フリップフロップ３５Ｂの出力信号は、前回のｔ＝１のときにラッチした第１列目＃１の４バイトの配置（Ｄ１，Ｄ２，Ｄ３，Ｓ１）を示す。
【００６４】
加えて、第３回転ブロック３０Ｃの各セレクタ３１Ｃ〜３４Ｃの制御端子には、フリップフロップ４４Ｃ２の出力信号、すなわち、前々回のｔ＝０における制御信号ＳＣ３＝０が与えられる。このため、セレクタ３１Ｃでは第１レーン側の入力信号が選択され、セレクタ３２Ｃでは第２レーン側の入力信号が選択され、セレクタ３３Ｃでは第３レーン側の入力信号が選択され、セレクタ３４Ｃでは第４レーン側の入力信号が選択される。これにより、第２回転ブロック３０Ｂから出力されるデータ信号（第１列目＃１の４バイト）は、回転操作されることなく（Ｄ１，Ｄ２，Ｄ３，Ｓ１）の配置のまま、フリップフロップ３５Ｃにラッチされる。なお、ｔ＝２の段階ではフリップフロップ３５Ｃの有効な出力はない。
【００６５】
次のｔ＝３においては、図８の５段目に示すように、データ回転部３０の第１回転ブロック３０Ａに入力される第４列目の４バイトは無効データを含んでいないので、加算回路４１に入力されるスタッフ信号ＳＴＦ１ａ〜ＳＴＦ４ａの各ビット値は、Ａ１＝０，Ａ２＝０，Ａ３＝０，Ａ４＝０となる。また、加算回路４１の後段のフリップフロップ４２の出力信号Ｃは、前回のｔ＝２におけるカウント値である「０」を示す。このため、加算回路４１における加算値はＡ１〜Ａ４およびＣの各ビット値を加算した「０」となる。したがって、加算回路４１の出力信号ＡＤＤは、巡回カウント値として「０」を示す。
【００６６】
また、デコーダ４３から出力される制御信号ＳＣ１〜ＳＣ３は、フリップフロップ４２の出力信号Ｃが示すカウント値が「０」であるのでＳＣ１＝０，ＳＣ２＝０，ＳＣ３＝０となる。この制御信号ＳＣ１により、第１回転ブロック３０Ａでは、前述したｔ＝０の場合と同様にして、第４列目の４バイトが回転操作されることなく（Ｄ９，Ｄａ，Ｄｂ，Ｄｃ）の配置のまま、フリップフロップ３５Ａにラッチされる。なお、フリップフロップ３５Ａの出力信号は、前回のｔ＝２のときにラッチした第３列目＃３の４バイトの配置（Ｄ８，Ｓ４，Ｓ３，Ｄ７）を示す。
【００６７】
さらに、第２回転ブロック３０Ｂの各セレクタ３１Ｂ〜３４Ｂの制御端子には、フリップフロップ４４Ｂの出力信号、すなわち、前回のｔ＝２における制御信号ＳＣ２＝１が与えられる。このため、セレクタ３１Ｂでは第２レーン側の入力信号が選択され、セレクタ３２Ｂでは第３レーン側の入力信号が選択され、セレクタ３３Ｂでは第４レーン側の入力信号が選択され、セレクタ３４Ｂでは第１レーン側の入力信号が選択される。これにより、第１回転ブロック３０Ａから出力されるデータ信号（第３列目＃３の４バイト）は、上方に一レーン分だけ回転操作され、各セレクタ３１Ｂ〜３４Ｂから出力される第３列目＃３の４バイトの配置は（Ｓ４，Ｓ３，Ｄ７，Ｄ８）となる。なお、フリップフロップ３５Ｂの出力信号は、前回のｔ＝２のときにラッチした第２列目＃２の４バイトの配置（Ｄ５，Ｄ６，Ｓ２，Ｄ４）を示す。
【００６８】
加えて、第３回転ブロック３０Ｃの各セレクタ３１Ｃ〜３４Ｃの制御端子には、フリップフロップ４４Ｃ２の出力信号、すなわち、前々回のｔ＝１における制御信号ＳＣ３＝０が与えられる。これにより、第３回転ブロック３０Ｃでは、前述したｔ＝２の場合と同様にして、第２回転ブロック３０Ｂから出力されるデータ信号（第２列目＃２の４バイト）が回転操作されることなく（Ｄ５，Ｄ６，Ｓ２，Ｄ４）の配置のまま、フリップフロップ３５Ｃにラッチされる。なお、フリップフロップ３５Ｃの出力信号は、前回のｔ＝２のときにラッチした第１列目＃１の４バイトの配置（Ｄ１，Ｄ２，Ｄ３，Ｓ１）を示し、該出力信号がバッファ部５０に送られる。
【００６９】
次のｔ＝４以降においては、上記のようにデータ回転部３０から出力される第１列目＃１の４バイトがバッファ部５０に入力されることになるので、図９の１段目に示すようにデータ回転部３０だけでなくバッファ部５０における処理も含めて、第１列目＃１の４バイトから第３列目＃３の４バイトまでの各状態を中心に説明を行うことにする。
【００７０】
ｔ＝４では、第１列目＃１の４バイトが、（Ｄ１，Ｄ２，Ｄ３，Ｓ１）の配置でバッファ部５０の各ＦＩＦＯ５１〜５４（図６）に入力される。このとき、第４レーンに対応する制御回路５８では、ＦＩＦＯ５４への入力データがスタッフ位置に該当することを示すスタッフ信号ＳＴＦ４ｂを受けて、ＦＩＦＯ５４に出力するイネーブル信号ＥＮ４がローレベルにされ、ＦＩＦＯ５４におけるデータの書き込みが無効にされる。これにより、有効データＤ１〜Ｄ３のみがＦＩＦＯ５１〜５３にそれぞれ書き込まれ、無効データＳ１は除去される。なお、図９の１段目においてＦＩＦＯ５１〜５４の右側に示したＰ１〜Ｐ４は、各ＦＩＦＯ５１〜５４内における有効データの先頭の位置が何列目にあるかを表している。
【００７１】
第２列目＃２の４バイトについては、前回のｔ＝３のときにデータ回転部３０の第３回転ブロック３０Ｃのフリップフロップ３５Ｃにラッチされた配置（Ｄ５，Ｄ６，Ｓ２，Ｄ４）が、該フリップフロップ３５Ｃの出力信号となって、バッファ部５０に送られる。
【００７２】
また、第３列目＃３の４バイトについては、第２回転ブロック３０Ｂのフリップフロップ３５Ｂの出力信号が（Ｓ４，Ｓ３，Ｄ７，Ｄ８）の配置を示すことになり、該出力信号が第３回転ブロック３０Ｃの各セレクタ３１Ｃ〜３４Ｃに入力される。このとき、各セレクタ３１Ｃ〜３４Ｃの制御端子には、フリップフロップ４４Ｃ２の出力信号、すなわち、前々回のｔ＝２における制御信号ＳＣ３＝０が与えられる。これにより、第３列目＃３の４バイトは、第３回転ブロック３０Ｃで回転操作されることなく（Ｓ４，Ｓ３，Ｄ７，Ｄ８）の配置のまま、フリップフロップ３５Ｃにラッチされる。なお、第４列目の４バイト以降については、これまで説明してきた第１〜第３列目の場合と同様にして考えることができるので、説明を省略する。
【００７３】
次のｔ＝５においては、図９の２段目に示すように、第２列目＃２の４バイトが、（Ｄ５，Ｄ６，Ｓ２，Ｄ４）の配置でバッファ部５０の各ＦＩＦＯ５１〜５４に入力される。このとき、第３レーンに対応する制御回路５７では、ＦＩＦＯ５３への入力データがスタッフ位置に該当することを示すスタッフ信号ＳＴＦ３ｂを受けて、ＦＩＦＯ５３に出力するイネーブル信号ＥＮ３がローレベルにされ、ＦＩＦＯ５３におけるデータの書き込みが無効にされる。これにより、有効データＤ５，Ｄ６，Ｄ４がＦＩＦＯ５１，５２，５４にそれぞれ書き込まれ、無効データＳ２は除去される。前回のｔ＝４においてＦＩＦＯ５１，５２に書き込まれた有効データＤ１，Ｄ２は、有効データＤ５，Ｄ６が書き込まれることにより、ＦＩＦＯ５１，５２内での位置が右方にシフトする。各ＦＩＦＯ５１〜５４内における有効データの先頭の位置は、Ｐ１＝Ｐ２＝２、Ｐ３＝Ｐ４＝１となる。
【００７４】
第３列目＃３の４バイトについては、前回のｔ＝４のときにデータ回転部３０の第３回転ブロック３０Ｃのフリップフロップ３５Ｃにラッチされた配置（Ｓ４，Ｓ３，Ｄ７，Ｄ８）が、該フリップフロップ３５Ｃの出力信号となって、バッファ部５０に送られる。
【００７５】
次のｔ＝６においては、図９の３段目に示すように、第３列目＃３の４バイトが、（Ｓ４，Ｓ３，Ｄ７，Ｄ８）の配置でバッファ部５０の各ＦＩＦＯ５１〜５４に入力される。このとき、第１および第２レーンに対応する制御回路５５，５６では、ＦＩＦＯ５１，５２への入力データがスタッフ位置に該当することを示すスタッフ信号ＳＴＦ１ｂ，ＳＴＦ２ｂを受けて、ＦＩＦＯ５１，５２に出力するイネーブル信号ＥＮ１，ＥＮ２がローレベルにされ、ＦＩＦＯ５１，５２におけるデータの書き込みが無効にされる。これにより、有効データＤ７，Ｄ８がＦＩＦＯ５３，５４にそれぞれ書き込まれ、無効データＳ３，Ｓ４は除去される。前回のｔ＝５までにＦＩＦＯ５３，５４に書き込まれた有効データＤ３，Ｄ４は、有効データＤ７，Ｄ８が書き込まれることにより、ＦＩＦＯ５３，５４内での位置が右方にシフトする。各ＦＩＦＯ５１〜５４内における有効データの先頭の位置は、Ｐ１＝Ｐ２＝Ｐ３＝Ｐ４＝２となる。
【００７６】
次のｔ＝７においては、図９の４段目に示すように、第４列目の４バイトが、（Ｄ９，Ｄａ，Ｄｂ，Ｄｃ）の配置でバッファ部５０の各ＦＩＦＯ５１〜５４に入力され、いずれのバイトもスタッフ位置には該当していないので、各ＦＩＦＯ５１〜５４にそれぞれ書き込まれる。前回のｔ＝６までに各ＦＩＦＯ５１〜５４に書き込まれた有効データＤ１〜Ｄ８は、有効データＤ９，Ｄａ〜Ｄｃが書き込まれることにより、ＦＩＦＯ５１〜５４内での位置が右方にシフトする。各ＦＩＦＯ５１〜５４内における有効データの先頭の位置は、Ｐ１＝Ｐ２＝Ｐ３＝Ｐ４＝３となる。そして、各ＦＩＦＯ５１〜５４内の先頭に位置する有効データＤ１〜Ｄ４が、読み出しクロック信号ＣＬＫ−Ｒのタイミングに合わせて読み出される。次のｔ＝８以降も上記と同様の処理が繰り返されることにより、デスタッフ処理されたデータ信号ＤＴ１ｏｕｔ〜ＤＴ４ｏｕｔがバッファ部５０から出力されるようになる。
【００７７】
上記のように本実施形態のデスタッフ回路によれば、複数のセレクタおよびフリップフロップを組み合わせた単純な論理回路を多段に接続して構成したスタッフ移動部１０およびデータ回転部３０において、デスタッフ回路への入力データをパイプライン処理することにより、従来のデスタッフ回路におけるマトリックススイッチに相当する機能を実現可能にしたので、入力データの任意の位置に挿入された無効データを高速に除去することができる。したがって、より高速な信号に対応したデスタッフ回路を容易に提供することが可能である。
【００７８】
なお、上記の実施形態では３２ビットの並列データ信号がデスタッフ回路に入力され、４バイトごとにデスタッフ処理を行う場合の構成例について説明したが、本発明は任意のバイト数（若しくはビット数）ごとにデスタッフ処理を行う場合に応用することが可能である。
【００７９】
図１０は、１６ビットの並列データ信号を２バイトごとにデスタッフ処理する場合に対応した構成例を示している。この場合、スタッフ移動部１０は、上述した実施形態の第１シフトブロック１１における２つのセレクタ２１，２２およびフリップフロップ２５の組み合わせにより無効データの下詰め処理を実現することが可能である。また、データ回転部３０は、上述した実施形態の第１回転ブロック３０Ａにおける２つのセレクタ３１Ａ，３２Ａおよびフリップフロップ３５Ａの組み合わせを用い、加算回路４１およびフリップフロップ４２によりスタッフの個数を０，１の巡回カウント値として検出することにより、該カウント値に応じて各列のデータの回転操作を実現することができる。さらに、バッファ部５０は、上述した実施形態における２つのＦＩＦＯ５１，５２および制御回路５５，５６の組み合わせにより無効データを除去して有効データのみを抽出する処理を実現することが可能である。上記データ回転部３０に関しては、Ｎを２以上の正数として、Ｎバイトごとにデスタッフ処理を行う場合、スタッフの個数を０からＮ−１までの巡回カウント値として検出し、Ｎ−１段のパイプライン処理によりデータの回転操作が行われるようにデータ回転部３０を構成すればよいことになる。
【００８０】
また、上述の図５に示したデータ回転部３０に関連した応用例として、４バイトごとにデスタッフ処理を行う場合において、各列に含まれるスタッフの個数が最高で１個、すなわち、連続する４バイト中に挿入されるスタッフが１個以下となるマッピング仕様が適用されている場合、図１１に示すように加算回路４１の前段にＯＲ回路４５を挿入して、処理の高速化を図るようにしてもよい。この応用例では、スタッフ信号ＳＴＦ１ａ〜ＳＴＦ４ａの各ビット値の論理和がＯＲ回路４５で演算された後に、その論理和の演算値（１ビット）とフリップフロップ４２から出力される前回の演算値（２ビット）とが加算回路４１で加算されることにより、スタッフの現在までの個数がカウントされる。一般に、加算回路は、加算する入力数が増加すると動作速度の低下を招くことが知られている。このため、図１１の回路構成では、加算回路４１の入力をＯＲ回路４５から出力される１ビットの信号と、フリップフロップ４２から出力される２ビットの信号に絞り込むことで、加算回路４１の動作の高速化を図っている。このようなＯＲ回路４５を利用した加算回路４１の高速化は、Ｎバイトごとにデスタッフ処理を行う場合において、連続するＭバイト中に挿入されるスタッフが１個以下となるマッピング仕様に対し有効である。つまり、データ回転部３０がデータの回転操作をＮバイトごとに行う構成で、Ｍ≧Ｎの関係が成り立つ場合、上記図１１と同様な回路構成を適用することができる。また、Ｍ＜Ｎの関係が成り立つ場合には、Ｍバイトごとにスタッフ信号の論理和を演算して１ビットの個数情報を生成した後に、該個数情報を加算回路４１に与えるようにすることで、論理和の演算を行わない構成（図５）の場合に比べて、加算回路４１の処理の高速化が可能である。
【００８１】
次に、上述したようなデスタッフ回路を用いた伝送装置について説明する。
図１２は、上記伝送装置の一実施形態の構成、および該伝送装置を適用したネットワーク全体の構成を示すブロックである。
図１２の上部に示す送信側の伝送装置７０は、外部より入力されるクライアント信号（非同期信号）を速度の異なるネットワーク（同期網）に送るために、クライアント信号のスタッフ処理およびマッピング処理を行うものである。また、図１２の下部に示す受信側の伝送装置９０は、上述した実施形態のデスタッフ回路を用いて構成されており、ネットワークを伝送された信号のデマッピング処理およびデスタッフ処理を行ってクライアント信号を再生成するものである。なお、ここでは信号伝送が一方向に行われるネットワークの構成例を示すが、送信側および受信側の関係を逆にした伝送装置を別途設けるか、或いは、送受を一体化した伝送装置をネットワークの両端に設けることで、双方向の信号伝送に対応することも可能である。
【００８２】
送信側の伝送装置７０は、例えば、固有処理回路７１、スタッフ回路７２、マッピング回路７３および送信制御回路７４を備える。
固有処理回路７１は、クライアント信号に依存するプロトコルなどを処理する回路であって、必要に応じてデータの加工を行う。
【００８３】
スタッフ回路７２は、固有処理回路７１で処理されたクライアント信号が入力され、該クライアント信号の情報量に応じて、送信制御回路７４から指示されるスタッフ位置に無効データを挿入するか、または、クライアント信号の有効データを配置することにより、クライアント信号の速度（クロック周波数）とネットワーク上での信号速度（クロック周波数）との調整を行う。
【００８４】
図１３は、上記スタッフ回路７２の具体的な構成例を示す回路図である。この図１３のスタッフ回路７２には、固有処理回路７１から出力される３２ビットの並列データ信号をバイト単位で４つのレーンに割り当てたデータ信号ＤＴ１ｓ〜ＤＴ４ｓが入力されると共に、該各データ信号ＤＴ１ｓ〜ＤＴ４ｓに対応したスタッフ位置を示すスタッフ信号ＳＴＦ１ｓ〜ＳＴＦ４ｓが送信制御回路７４から与えられる。このスタッフ回路７２は、４段のシフトブロック８０Ａ〜８０Ｄを組み合わせた構成になっている。
【００８５】
第１シフトブロック８０Ａは、４個の２入力１出力セレクタ８１Ａ〜８４Ａおよびフリップフロップ８５Ａを有する。セレクタ８１Ａは、一方の入力端子にデータ信号ＤＴ１ｓが入力され、他方の入力端子に無効データＳｉ（例えば、ビット値が「００００００００」のデータ）が入力される。セレクタ８２Ａは、一方の入力端子にデータ信号ＤＴ２ｓが入力され、他方の入力端子にデータ信号ＤＴ１ｓが入力される。セレクタ８３Ａは、一方の入力端子にデータ信号ＤＴ３ｓが入力され、他方の入力端子にデータ信号ＤＴ２ｓが入力される。セレクタ８４Ａは、一方の入力端子にデータ信号ＤＴ４ｓが入力され、他方の入力端子にデータ信号ＤＴ３ｓが入力される。各セレクタ８１Ａ〜８４Ａの制御端子には、スタッフ信号ＳＴＦ１ｓが与えられる。この第１シフトブロック８０Ａは、スタッフ信号ＳＴＦ１ｓのビット値が「０」の場合、データ信号ＤＴ１ｓ〜ＤＴ４ｓをそのままフリップフロップ８５Ａを介して第２シフトブロック８０Ｂに送る。一方、スタッフ信号ＳＴＦ１ｓのビット値が「１」の場合、セレクタ８１Ａで無効データＳｉを選択し、該無効データＳｉおよび１レーンずつ下方にシフトさせたデータ信号ＤＴ１ｓ〜ＤＴ３ｓをフリップフロップ８５Ａを介して第２シフトブロック８０Ｂに送る。
【００８６】
第２シフトブロック８０Ｂは、３個の２入力１出力セレクタ８２Ｂ〜８４Ｂおよびフリップフロップ８５Ｂを有する。セレクタ８２Ｂは、前段のフリップフロップ８５Ａの第２レーンに対応した出力信号が一方の入力端子に入力され、無効データＳｉが他方の入力端子に入力される。セレクタ８３Ｂは、フリップフロップ８５Ａの第３レーンに対応した出力信号が一方の入力端子に入力され、フリップフロップ８５Ａの第２レーンに対応した出力信号が他方の入力端子に入力される。セレクタ８４Ｂは、フリップフロップ８５Ａの第４レーンに対応した出力信号が一方の入力端子に入力され、フリップフロップ８５Ａの第３レーンに対応した出力信号が他方の入力端子に入力される。各セレクタ８２Ｂ〜８４Ｂの制御端子には、スタッフ信号ＳＴＦ２ｓが１個のフリップフロップ８６Ｂを介して与えられる。この第２シフトブロック８０Ｂは、スタッフ信号ＳＴＦ２ｓのビット値が「０」の場合、フリップフロップ８５Ａからの各レーンに対応した出力信号をそのままフリップフロップ８５Ｂを介して第３シフトブロック８０Ｃに送る。一方、スタッフ信号ＳＴＦ２ｓのビット値が「１」の場合、セレクタ８２Ｂで無効データＳｉを選択し、該無効データＳｉおよびフリップフロップ８５Ａの第２および第３レーンに対応した各出力信号を１レーンずつ下方にシフトさせた信号をフリップフロップ８５Ｂを介して第３シフトブロック８０Ｃに送る。
【００８７】
第３シフトブロック８０Ｃは、２個の２入力１出力セレクタ８３Ｃ，８４Ｃおよびフリップフロップ８５Ｃを有する。セレクタ８３Ｃは、前段のフリップフロップ８５Ｂの第３レーンに対応した出力信号が一方の入力端子に入力され、無効データＳｉが他方の入力端子に入力される。セレクタ８４Ｃは、フリップフロップ８５Ｂの第４レーンに対応した出力信号が一方の入力端子に入力され、フリップフロップ８５Ｂの第３レーンに対応した出力信号が他方の入力端子に入力される。各セレクタ８３Ｃ，８４Ｃの制御端子には、スタッフ信号ＳＴＦ３ｓが２個のフリップフロップ８６Ｃ１，８６Ｃ２を介して与えられる。この第３シフトブロック８０Ｃは、スタッフ信号ＳＴＦ３ｓのビット値が「０」の場合、フリップフロップ８５Ｂからの各レーンに対応した出力信号をそのままフリップフロップ８５Ｃを介して第４シフトブロック８０Ｄに送る。一方、スタッフ信号ＳＴＦ３ｓのビット値が「１」の場合、セレクタ８３Ｃで無効データＳｉを選択し、該無効データＳｉおよびフリップフロップ８５Ｂの第３レーンに対応した出力信号を１レーン下方にシフトさせた信号をフリップフロップ８５Ｃを介して第４シフトブロック８０Ｄに送る。
【００８８】
第４シフトブロック８０Ｄは、２入力１出力セレクタ８４Ｄを有する。セレクタ８４Ｄは、前段のフリップフロップ８５Ｃの第４レーンに対応した出力信号が一方の入力端子に入力され、無効データＳｉが他方の入力端子に入力され、スタッフ信号ＳＴＦ４ｓが３個のフリップフロップ８６Ｄ１〜８６Ｄ３を介して制御端子に与えられる。この第４シフトブロック８０Ｄは、スタッフ信号ＳＴＦ４ｓのビット値が「０」の場合、フリップフロップ８５Ｃからの各レーンに対応した出力信号をそのまま後段のマッピング回路７３（図１２）に送る。一方、スタッフ信号ＳＴＦ４ｓのビット値が「１」の場合、セレクタ８４Ｄで無効データＳｉを選択してマッピング回路７３に送る。
【００８９】
上記図１３に示したスタッフ回路７２は、複数のセレクタおよびフリップフロップを組み合わせた単純な論理回路の多段構成になっており、回路構成の複雑なマトリクススイッチを用いていないので、スタッフ処理を高速に行うことが可能である。
【００９０】
マッピング回路７３は、スタッフ回路７２で処理されたデータ信号ＤＴ１ｓ’〜ＤＴ４ｓ’が入力され、送信制御回路７４から指示されるマッピング情報に従って、所要のフレームのオーバーヘッド部分に必要な情報を書き込み、ネットワーク側へ転送可能な形式にデータを加工する。
【００９１】
送信制御回路７４は、予め定められたマッピング仕様に基づいて、無効データを挿入するスタッフ位置をスタッフ回路７２に指示する信号を生成すると共に、オーバーヘッドの挿入タイミングなどの情報をマッピング回路７３に指示する信号を生成する。
【００９２】
上記のような送信側の伝送装置７０では、クライアント信号のスタッフ処理およびマッピング処理が行われることにより、例えば図１２の中央部分に示すようなオーバーヘッド（ＯＨ）部分とペイロード部分とからなる所要のフレームフォーマットの信号が生成され、該信号がネットワーク転送に必要なメディアを用いて物理的に伝送され、対向する受信側の伝送装置９０まで送られる。上記信号のペイロード部分は、図１２中に「Ｓ」で示した無効データと、「Ｄ」で示した有効データとを含んでおり、無効バイトの挿入位置を示すスタッフ情報が対向する伝送装置７０，９０の間で共有される。
【００９３】
受信側の伝送装置９０は、例えば、デマッピング回路９１、上述の図３〜図６に示したようなデスタッフ回路９２、固有処理回路９３および受信制御回路９４を備える。
デマッピング回路９１は、ネットワークを伝送された信号を受信し、受信制御回路９４から指示されるマッピング情報に従って、受信信号のオーバーヘッド部分を抽出して情報を読み取り、該オーバーヘッド情報に基づいて受信信号のデマッピング処理を行う。
【００９４】
デスタッフ回路９２は、デマッピング回路９１で処理された信号が、上述の図４に示したスタッフ移動部１０に入力されるデータ信号ＤＴ１〜ＤＴ４として与えられると共に、受信制御回路９４から出力されるスタッフ位置を示す信号が、上記データ信号ＤＴ１〜ＤＴ４にそれぞれ対応したスタッフ信号ＳＴＦ１〜ＳＴＦ４として与えられる。このデスタッフ回路９２では、上述の実施形態で説明したように、受信信号に含まれる無効データを除去して有効データのみを抽出するデスタッフ処理が行われる。
【００９５】
固有処理回路９３は、デスタッフ回路９２で処理された信号について、クライアント信号に対応したプロトコルなどに変換する処理を行う。
受信制御回路９４は、予め定められたマッピング仕様に基づいて、オーバーヘッドの抽出タイミングなどの情報をデマッピング回路９１に指示する信号を生成すると共に、受信信号のスタッフ位置をデスタッフ回路９２に指示する信号を生成する。なお、ここではマッピング仕様を基にスタッフ位置が決められるようにしたが、受信信号のオーバーヘッド情報を基にスタッフ位置を計算するようにしてもよい。
【００９６】
上記のような受信側の伝送装置９０によれば、ネットワークを伝送された信号をデマッピングした後に、上述の実施形態の場合と同様にして受信信号の任意の位置に挿入された無効データを高速に除去することができるので、より高速なクライアント信号を確実に再生成することが可能である。
【００９７】
以上の各実施形態に関して、さらに以下の付記を開示する。
（付記１）  入力データを並列処理することにより、該入力データのスタッフ位置に挿入された無効データを除去して有効データを抽出するデスタッフ回路であって、
複数のレーンに割り当てられた複数のデータ信号、および、該各データ信号におけるスタッフ位置を示す複数のスタッフ信号が入力され、該各スタッフ信号に基づいて、前記各データ信号のスタッフ位置に挿入された無効データを同じ列内で移動させて片側に集めるスタッフ移動部と、
前記スタッフ移動部から出力される各レーンのデータ信号、および、該各データ信号にそれぞれ対応したスタッフ信号が入力され、該各スタッフ信号に基づいて前記各データ信号の列ごとのスタッフの個数を検出し、該検出結果に応じて前記各データ信号の各列のデータを一方向に回転操作するデータ回転部と、
前記データ回転部から出力される各レーンのデータ信号に含まれる有効データを先入れ先出し方式で記憶して出力するバッファ部と、
を備えたことを特徴とするデスタッフ回路。
【００９８】
（付記２）  付記１に記載のデスタッフ回路であって、
前記スタッフ移動部は、２入力１出力セレクタおよびフリップフロップを含む論理回路により構成される少なくとも１つのシフトブロックを有することを特徴とするデスタッフ回路。
【００９９】
（付記３）  付記１または２に記載のデスタッフ回路であって、
前記データ回転部は、Ｎを２以上の正数として、前記スタッフ移動部から出力されるＮ個のレーンのデータ信号について、前記スタッフの個数を０からＮ−１までの巡回カウント値として検出し、該巡回カウント値に応じて、２入力１出力セレクタおよびフリップフロップを含む論理回路により構成されるＮ−１段の回転ブロックを用いたパイプライン処理によりデータの回転操作を行うことを特徴とするデスタッフ回路。
【０１００】
（付記４）  付記３に記載のデスタッフ回路であって、
前記データ回転部は、前記Ｎ個のレーンのデータ信号にそれぞれ対応したスタッフ信号が入力される加算回路と、該加算回路の出力信号をラッチするフリップフロップとを組み合わせ、前記加算回路において、前記各スタッフ信号のビット値および前記フリップフロップの出力信号のビット値を加算し、該加算値を０からＮ−１までの巡回カウント値とすることにより、前記スタッフの個数を検出することを特徴とするデスタッフ回路。
【０１０１】
（付記５）  付記４に記載のデスタッフ回路であって、
前記データ回転部は、前記Ｎ個のレーンのデータ信号の各列に含まれるスタッフの個数が最高で１個である場合に、前記加算回路の前段にＯＲ回路を設け、該ＯＲ回路が、前記各スタッフ信号のビット値の論理和を演算し、前記加算回路が、前記ＯＲ回路の演算値および前記フリップフロップの出力信号のビット値を加算することを特徴とするデスタッフ回路。
【０１０２】
（付記６）  付記１〜５のいずれか１つに記載のデスタッフ回路であって、
前記スタッフ移動部は、同期網を伝送された信号が前記複数のデータ信号として入力され、
前記バッファ部は、前記同期網の信号速度よりも遅い非同期信号を出力することを特徴とするデスタッフ回路。
【０１０３】
（付記７）  付記１〜６のいずれか１つに記載のデスタッフ回路を備えたことを特徴とする伝送装置。
【０１０４】
（付記８）  付記７に記載の伝送装置であって、
ネットワークを伝送された信号をデマッピング処理して前記デスタッフ回路に出力するデマッピング回路と、
前記デスタッフ回路から出力される信号を処理してクライアント信号を生成する固有処理回路と、
予め定められたマッピング仕様に基づいて、前記デスタッフ回路および前記デマッピング回路を制御する受信制御回路と、を備えたことを特徴とする伝送装置。
【０１０５】
（付記９）  付記８に記載の伝送装置であって、
入力されるクライアント信号を処理する送信側の固有処理回路と、
前記送信側の固有処理回路で処理されたクライアント信号の情報量に応じて、予め定められたスタッフ位置に無効データを挿入することにより、前記クライアント信号の速度と前記ネットワーク上での信号速度との調整を行うスタッフ回路と、
前記スタッフ回路で処理された信号をマッピング処理して前記ネットワークに送信するマッピング回路と、
前記マッピング仕様に基づいて、前記スタッフ回路および前記マッピング回路を制御する送信制御回路と、を備えたことを特徴とする伝送装置。
【符号の説明】
【０１０６】
１０…スタッフ移動部
１１，１２…シフトブロック
２１〜２４，２６，２７…セレクタ
２５，２８…フリップフロップ（ＦＦ）
３０…データ回転部
３０Ａ〜３０Ｃ…回転ブロック
３１Ａ〜３４Ａ，３１Ｂ〜３４Ｂ，３１Ｃ〜３４Ｃ…セレクタ
３５Ａ〜３５Ｃ，４２，４４Ｂ，４４Ｃ１，４４Ｃ２…フリップフロップ（ＦＦ）
４１…加算回路
４３…デコーダ
４５…ＯＲ回路
５０…バッファ部
５１〜５４…ＦＩＦＯ
５５〜５８…制御回路
７０…送信側の伝送装置
７１…固有処理回路
７２…スタッフ回路
７３…マッピング回路
７４…送信制御回路
９０…受信側の伝送装置
９１…デマッピング回路
９２…デスタッフ回路
９３…固有処理回路
９４…受信制御回路
ＤＴ１〜ＤＴ４…データ信号
ＳＴＦ１〜ＳＴＦ４…スタッフ信号
Ｄ１〜Ｄ９，Ｄａ…Ｄｒ…有効データ
Ｓ１〜Ｓ４…無効データ
【図１】
0005531513.tif 000002
【図２】
0005531513.tif 000003
【図３】
0005531513.tif 000004
【図４】
0005531513.tif 000005
【図５】
0005531513.tif 000006
【図６】
0005531513.tif 000007
【図７】
0005531513.tif 000008
【図８】
0005531513.tif 000009
【図９】
0005531513.tif 000010
【図１０】
0005531513.tif 000011
【図１１】
0005531513.tif 000012
【図１２】
0005531513.tif 000013
【図１３】
0005531513.tif 000014