(57)【要約】【課題】市販のレーザを１０Ｇｂ／秒イーサネット（Ｒ）で使用するための、低オーバヘッドの符号化方法を提供すること。【解決手段】情報ワードのパケットを送信用のフレームとして符号化する方法。この方法は、制御ワードと、情報ワードのパケットを含む入力データのブロックを受信することを含む。ブロックが情報ワードだけから構成されている場合、第１の意味を有するマスター・トランジションをスクランブルしてをブロックに付加し、フレームの１つを形成する。ブロックが情報ワードだけから構成されるものでない場合、そのブロックを圧縮してＴＹＰＥワードが入るようにし、そのブロックの構造的特性を示す値を有するＴＹＰＥワードを生成し、そのブロックに挿入する。そして第１の意味とは逆の意味である第２の意味を有するマスター・トランジションをスクランブルしてそのブロックに付加し、フレームの１つを形成する。【選択図】図１
2006333478.tif 000002
【特許請求の範囲】
【請求項１】
情報ワードのパケット(130)をフレームに符号化する方法であって、
制御ワードと、情報ワードのパケットとを含む入力データのブロックを受信するステップ(202)であって、前記パケットが始まり(131)と終わり(132)を有し、前記始まりの前に前記制御ワードのうちの幾つかが続き、前記終わりの後に前記制御ワードのうちの他の幾つかが続き、前記ブロックは前記パケットよりも小さいものである、入力データのブロックを受信するステップ(202)と、
ブロックが情報ワードだけから構成されているか否かを判定するステップ(204)と、
前記ブロックが情報ワードだけから構成されている場合、第１の意味を有するマスター・トランジション(151)をスクランブル(151)し、スクランブルされたマスター・トランジションを前記ブロックに付加して、前記フレームの１つを形成するステップ(207)と、
前記ブロックが情報ワードだけから構成されていない場合、
前記ブロックを圧縮(205)してＴＹＰＥワード(157)を入れることができるようにし、
前記ブロックの構造的特性を示す値を有するＴＹＰＥワードを生成し、該ＴＹＰＥワードを前記ブロックに挿入(205)し、
前記第１の意味とは反対の意味の第２の意味を有するマスター・トランジションをスクランブル(212)し、スクランブルされたマスター・トランジションを前記ブロックに付加して、前記フレームの１つを形成するステップ(213)と
からなる方法。
【請求項２】
生成される前記ＴＹＰＥワードは、前記ブロックの構造的特性である、（ａ）前記ブロックにおけるパケットの始まりの位置、（ｂ）前記ブロックにおけるパケットの終わりの位置、（ｃ）ブロックが制御ワードだけから構成されていること、のうちのいずれか１つを示す値を有する、請求項１に記載の方法。
【請求項３】
前記ブロックの送信前に前記ブロックを復元可能にスクランブル(206,212)するステップ、を更に含む請求項１に記載の方法。
【請求項４】
前記マスター・トランジションは０１又は１０の２ビット値である、請求項１に記載の方法。
【請求項５】
前記マスター・トランジションの両方のビットが、単一のスクランブラビットに基づいてスクランブルされ、スクランブルされたマスター・トランジションが、０１又は１０の２ビット値である、請求項４に記載の方法。
【請求項６】
入力データ(202)のブロックを送信用の対応するフレーム(150)として符号化するためのコーダ(100)であって、前記入力データが、制御ワードと、情報ワードのパケットとを含み、前記パケットが始まり(131)と終わり(132)を有し、前記始まりの前に前記制御ワードのうちの幾つかが続き、前記終わりの後に前記制御ワードのうちの他の幾つかが続き、前記ブロックが前記パケットよりも小さいものにおいて、
ブロックを受信し、該ブロックのＴＹＰＥワード(157)を生成するタイプワード発生器(181)であって、前記ＴＹＰＥワードが、前記ブロックの構造的特性を示す値を有するものである、タイプワード発生器(181)と、
前記ＴＹＰＥワードに従って動作するマスター・トランジション発生器(184)であって、前記ＴＹＰＥワードが、前記ブロックが情報ワードだけから構成されていることを示すものである場合に、第１の意味を有するマスター・トランジション(151)を生成し、それ以外の場合に、前記第１の意味とは反対の第２の意味を有するマスター・トランジションを生成する、マスター・トランジション発生器(184)と、
前記マスター・トランジションをスクランブルすることにより、スクランブルされたマスター・トランジションを形成する、第１のスクランブラ(186)と、
前記ＴＹＰＥワードに従って動作するペイロードフィールド発生器(182)であって、前記ＴＹＰＥワードが、前記ブロックが情報ワードだけから構成されていることを示すものである場合に、前記ブロックを使用して前記ブロックに対応するフレームのペイロードフィールド(152)を形成し、それ以外の場合に、前記ブロックを圧縮し、前記ＴＹＰＥワードを前記ブロックに挿入してペイロードフィールドを形成する、ペイロードフィールド発生器(184)と、
前記スクランブルされたマスター・トランジションを前記ペイロードフィールドに付加し、フレームを形成する、フレーム組み立て器(185)と
からなるコーダ(100)。
【請求項７】
生成される前記ＴＹＰＥワードは、前記ブロックの構造的特性である、（ａ）前記ブロックが情報ワードだけから構成されているか否か、（ｂ）前記ブロックにおける前記パケットの始まりの位置、（ｃ）前記ブロックにおける前記パケットの終わりの位置、及び、（ｄ）前記ブロックが制御ワードだけから構成されているか否か、のうちのいずか１つを示す値を有する、請求項６に記載のコーダ。
【請求項８】
前記第１のスクランブラは、前記ペイロードフィールドをスクランブルするように更に構成される、請求項６に記載のコーダ。
【請求項９】
前記ペイロードフィールド発生器と前記フレーム組み立て器の間に、前記ペイロードフィールドをスクランブルするための第２のスクランブラ(183)が更に配置される、請求項６に記載のコーダ。
【請求項１０】
前記マスター・トランジションは０１又は１０の２ビット値であり、前記マスター・トランジションの両方のビットが、単一のスクランブラビットに基づいてスクランブルされ、スクランブルされたマスター・トランジションは０１又は１０の値である、請求項６に記載のコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパケットデータの符号化及び復号に関する。
【背景技術】
【０００２】
ここ数十年もの間、集積回路技術やレーザー技術の性能は、約１８ヶ月毎に２倍になる速度で向上してる。急速に増大する広域通信機能を求める要求は、それらの技術によって支えられている。そのような要求は、基礎技術の向上速度に比べて非常に速い速度で増大している。例えば、インターネットを流れるトラフィックは近年、９ヶ月毎に２倍になっている。更なる電流帯域幅を求める要求が、現在の電子技術や光技術の能力を強く圧迫している。
【０００３】
特に、イーサネット（Ｒ）ローカルエリアネットワークの規格は、１９８２年における１０メガビット／秒から始まり、１０倍の速度で徐々に増加している。１９９９年には、１０ギガビット／秒のイーサネット（Ｒ）規格が作られた。シリアルデータを１Ｇｂ／秒で転送するための８ｂ／１０ｂラインコーディングに使用される従来のイーサネット（Ｒ）規格は、非特許文献１に記載されている。８ｂ／１０ｂラインコーディングは、８ビットの入力ワードを１０ビットコードで表現し、データリンクを介して送信するものである。８ｂ／１０ｂラインコーディングは、この２５％のオーバヘッドを犠牲にすることにより、ＤＣバランスを確保し、遷移密度を確保する。この１０ビットコードは、信号伝達やフレーム制御に使用される制御ワードの類を表現する機能を有している。
【０００４】
８ｂ／１０ｂコーディングを１０Ｇｂ／秒の情報の伝送に再使用することが、１０Ｇｂ／秒イーサネット（Ｒ）規格案において検討された。しかしながら、この技術を使用すれば、情報を１２．５Ｇボー（すなわち、１２．５Ｇｂ／秒）のボーレートで伝送しなければならなくなるであろう。
【０００５】
現在利用可能なレーザー製造技術を使用して、１２．５Ｇｂ／秒の変調が可能なレーザを適度な価格で製造することは、非常に難しいと思われる。ただし、ＯＣ−１９２ＳＯＮＥＴ電気通信規格に準拠するシステムで使用するためのレーザシステムがある。これらのシステムは９．９５３２８Ｇｂ／秒の信号伝送速度で動作する。しかしながら、こうした市販のレーザーは、設計速度よりも２５％速い速度で動作させることが可能な十分な性能マージンを有してはいない。
【０００６】
ＳＯＮＥＴ電気通信システムで使用するために設計されたレーザーを１０Ｇｂ／秒イーサネット（Ｒ）規格案で使用するための１つの方法は、８ｂ／１０ｂラインコードよりもオーバヘッドの少ない、単純で頑強な符号化方式を設計することであろう。ブロックコードを使用し、ＭビットのワードをＮビットコードで表現し、Ｎ：Ｍの比率を１０：８未満に設定すれば、この目標は、原理的には実現することが可能である。
【０００７】
８ｂ／１０ｂラインコードよりもオーバヘッドを低くできる可能性を持つ符号化方式の一つは、ＳＯＮＥＴ電気通信規格で使用されている符号化方式である。ＳＯＮＥＴ符号化方式は、スクランブルシステムを使用してＤＣバランスを確保するので、約３％のオーバヘッドがある。ただし、ＳＯＮＥＴ符号化方式で使用されるスクランブルシステムで十分なレベルの保護を実現するためには、２層の多項式スクランブルシステムが必要となる。この２層方式の実施は複雑である。また、ＳＯＮＥＴ符号化方式は、低コストで実施することが難しい複雑なフレーム制御プロトコルを使用する。更に、ＳＯＮＥＴ符号化方式でイーサネット（Ｒ）パケットを区分するためには、その方式に変更を加え、余分なレベルのエンコーディングを追加しなければならない。そうした余計なレベルのエンコーディングは大抵、ＳＯＮＥＴ符号化方式のオーバヘッドを７％以上増加させるものとなる。更に、ネットワーク社会は、通信規格を不愉快なものにする大規模な変更を見つけようとしている。今述べた性能の問題や政治的問題から、標準的なＳＯＮＥＴ符号化方式を新たなイーサネット（Ｒ）規格として修正することは、難しいと思われる。
【０００８】
８ｂ／１０ｂラインコードよりもオーバヘッドを低くできる可能性を持つ他の符号化方式として、ＣＩＭＴと呼ばれる符号化方式がある。この符号化方式については、特許文献１及び特許文献２に記載されている。ＣＩＭＴコードは、Ｍの値を非常に大きくすることにより、８ｂ／１０ｂラインコードよりもオーバヘッドが低くなるように構成された（Ｍ）ｂ／（Ｍ＋４）ｂコードである。ただし、Ｍの値が大きい場合、ＣＩＭＴコードを実施することは難しい。なぜなら、ＣＩＭＴコードは、Ｍビットの入力ブロックのＤＣバランスを計算しなければならず、また、送信ビットの実効ＤＣバランスをリアルタイムで計算しなければならないからである。
【０００９】
本願と同じ譲受人の特許文献３及び特許文献４は、上で指摘した問題点を解消する６４ｂ／６６ｂ符号化方式を開示している。開示されている符号化方式では、フレームを形成する各データブロックに「マスター・トランジション」を付加している。制御情報又はデータが全て送信されると、マスター・トランジションは一定値になり、その結果生じる周期信号は、周波数領域において望ましくないスペクトルピークを発生させる。
【特許文献１】米国特許第５，０２２，０５１号明細書
【特許文献２】米国特許第５，４３８，６２１号明細書
【特許文献３】米国特許第６，７１８，４９１号明細書
【特許文献４】米国特許第６，６５０，６３８号明細書
【非特許文献１】A. X. Widmer及びP. A. Franaszek著、IBM Journal of Research and Development、Vol 27、 No. 5、 pp 440、１９８３年９月、「A DC-Balanced, Partitioned-Block, 8b/10b Transmission Code」
【発明の開示】
【課題を解決するための手段】
【００１０】
本発明の一実施形態によれば、情報ワードのパケットを送信用のフレームとして符号化する方法が得られる。この方法は、入力データのブロックを受信するステップを含む。入力データは、制御ワードと、情報ワードを含むパケットとを含む。パケットは始まりと終わりを有し、パケットの始まりの前に前記制御ワードのうちの幾つかが続き、パケットの終わりの後に前記制御ワードのうちの他の幾つかが続く。ブロックはパケットよりも小さい。この方法は、ブロックが情報ワードだけから構成されているか否かを判定するステップを含む。ブロックが情報ワードだけから構成されている場合、第１の意味を有するマスター・トランジションをスクランブルしてブロックに付加し、フレームの１つを形成する。ブロックが情報ワードだけから構成されていない場合、そのブロックを圧縮し、ＴＹＰＥワードを入れることができるようにし、そのブロックの構造的特性を示す値を有するＴＹＰＥワードを生成し、そのＴＹＰＥワードをブロックに挿入し、第１の意味とは逆の第２の意味を有するマスター・トランジションをスクランブルしてそのブロックに付加し、フレームの一つを形成する。
【発明を実施するための最良の形態】
【００１１】
下記の詳細な説明では、添付の図面を参照する。図面は本発明を実施することが可能な幾つかの特定の実施形態を例として示すものである。本発明の範囲から外れることなく、他の実施形態を使用したり、それらの実施形態に構造的変更や論理的変更を施すことも可能であると考えられる。従って、下記の説明を制限の意味で解釈してはならない。本発明の範囲は特許請求の範囲によって規定される。
【００１２】
図１は、本発明の一実施形態によるエンコーダ１００を有する物理的符号化サブレイヤモジュール（ＰＣＳ）３０を含む１０Ｇｂ／秒イーサネット（Ｒ）インタフェース１０の一例を示すブロック図である。インタフェース１０は、メディア・アクセス・コントローラ（ＭＡＣ）１２、ＸＧＭＩＩエクステンダ・サブレイヤモジュール（ＸＧＸＳ）１４、及び、ＰＣＳ３０を含む。ＭＡＣ１２は、ホストシステム（図示せず）から受信したユーザデータを含むデータを、３７本の導体からなるＸＧＭＩＩバス１６を介してＸＧＸＳに送信する。また、ＭＡＣ１２は、３７本の導体からなるＸＧＭＩＩバス１７を介してＸＧＸＳからユーザデータを含むデータを受信し、ホストシステムに送信する。
【００１３】
ＸＧＸＳ１４は、符号化されたシリアルビットストリーム（後で説明）を４レーンのＸＡＵＩバス１８を介してＰＣＳ３０に送信するとともに、ＰＣＳ３０から４レーンのＸＡＵＩバス１９を介して符号化されたシリアルビットストリームを受信する。
【００１４】
ＰＣＳ３０は送信パス２０と受信パス２２を有する。送信パス２０は、４ｘ８ｂ／１０ｂデコーダ３２、エンコーダ１００及びマルチプレクサ３４の直列構成からなる。４ｘ８ｂ／１０ｂデコーダ３２は、ＸＡＵＩバス１８によってＸＧＸＳ１４の出力に接続される。４ｘ８ｂ／１０ｂデコーダ３２の出力は、３７本の導体からなる擬似ＸＧＭＩＩバス４２によってエンコーダ１００の入力に接続される。
【００１５】
エンコーダ１００の出力は、バス４４によってマルチプレクサ３４の入力に接続される。一実施形態において、バス４４は６６本の導体を有し、エンコーダ１００及びマルチプレクサ３４は、それよりも狭いバスを使用するように構成される。マルチプレクサ３４の出力はシリアルビットストリームであり、イーサネット（Ｒ）メディア４０に供給される。
【００１６】
受信パス２２は、デマルチプレクサ３６、デコーダ１２０及び４ｘ８ｂ／１０ｂエンコーダ３８の直列構成からなる。デマルチプレクサ３６はイーサネット（Ｒ）メディア４０からシリアルビットストリームを受信する。
【００１７】
デマルチプレクサ３６の出力は、バス４５によってデコーダ１２０の入力に接続される。一実施形態において、バス４５は６６本の導体を有し、デコーダ１２０はそれよりも狭いバスを使用するように構成される。デコーダ１２０の出力は、３７本の導体からなる擬似ＸＧＭＩＩバス４３によって４ｘ８ｂ／１０ｂの入力に接続される。
【００１８】
４ｘ８ｂ／１０ｂエンコーダ３８の出力は、ＸＡＵＩバス１９によってＸＧＸＳ１４の入力に接続される。
【００１９】
イーサネット（Ｒ）インタフェース１０において、ＭＡＣ１２は、ホストコンピュータ（図示せず）に対するユーザデータの送受信を行う。ＭＡＣ１２は、４６から１５００までの間の任意のワード数のユーザデータを得ると、１８ワード又は２２ワードのアドレス及び他のデータをそのユーザデータの前に追加するとともに、４ワードのＣＲＣ３２チェックサムをそのユーザデータの後ろに追加して、パケットを形成する。本明細書では、パケットの中身のことを情報ワードと呼ぶ場合がある。
【００２０】
ＭＡＣ１２は更に、スタート・オブ・パケット（ＳＯＰ：Start Of Packet）制御ワードＳを生成し、それを各パケットの始まりに追加して、パケットの始まりのマークとする。ＭＡＣ１２は更に、エンド・オブ・パケット（ＥＯＰ：End Of Packet）制御ワードＴを生成し、それを各パケットの終わりに追加して、パケットの終わりのマークとする。ＭＡＣ１２は、更に別の制御ワードを生成し、それらを隣り合ったパケット間に挿入し、ＸＧＸＳ１４へ送信するためのワードの連続ストリームを生成する。この連続ストリームは、レシーバの位相アライメントを維持するために使用される。挿入される制御ワードには、アイドル（無効）と、エラーＥとがある。本明細書では、制御ワードのうちの任意の１つを指す汎用文字としてＺを使用する。
【００２１】
ＭＡＣ１２は、ＸＧＭＩＩバス１６を介して、ワードの連続ストリームをＸＧＸＳ１４に供給する。ＸＧＭＩＩバス１６及び１７のそれぞれにおける３７本の導体のうち、３２本の導体は、並列な４個の８ビットワードに割り当てられ、４本の導体は制御ワードフラグに割り当てられ、各制御ワードフラグは４個のワードのうちの対応する１つが情報ワードであるか、それとも制御ワードであるかを示す。そして、残りの１本の導体はクロック信号に割り当てられる。ＸＧＭＩＩバス１６又は１７によって並列に伝送される４個の８ビットワードのセットや、擬似ＸＧＭＩＩバス４２又は４３によって並列に伝送される４個の８ビットワードのセットは、カッドと呼ばれる。
【００２２】
また、ＭＡＣ１２は、ＸＧＭＩＩバス１７を介して、ＸＧＸＳ１４からカッドの連続ストリームを受信する。今説明したように、これらのカッドは、パケットとして構成された情報ワードと、隣り合ったパケット間に挿入された制御ワードとから構成される。各パケットの始まりと終わりは、ＳＯＰ制御ワードとＥＯＰ制御ワードによってそれぞれマークされる。ＭＡＣ１２は、ＸＧＸＳ１４から受信したカッドのストリームから、カッドと並列に受信した情報ワードを示す制御ワードフラグを使用して、情報ワードのパケットを抽出する。ＭＡＣ１２は更に、パケットの最後の４ワードを構成するＣＲＣ−３２チェックサムを使用して、各パケットの妥当性をチェックする。そして、ＭＡＣ１２は、パケットからユーザデータを抽出し、そのユーザデータをホストシステム（図示せず）に転送する。
【００２３】
ＸＧＸＳ１４は、ＭＡＣ１２からカッドの連続ストリームを受信する。一実施形態において、ＭＡＣ１２及びＸＧＸＳ１４は、従来のイーサネット（Ｒ）システムの構成要素である。従って、ＸＧＸＳモジュール１４は、ＭＡＣ１２から受信したカッドの各ワードに８ｂ／１０ｂラインコードを適用する。各ワードはそれに対応する制御ワードフラグに従って符号化され、同じ８ビットコードを有する情報ワードと制御ワードが、別の１０ビットコードで表現される。ＸＧＸＳ１４は更に、それらの１０ビットラインコードを直列化し、ＸＡＵＩバス１８を介して、それらの１０ビットラインコードをＰＣＳ３０の入力に供給する。ＸＡＵＩバス１８は１０Ｇｂ／秒のイーサネット（Ｒ）用の規格であり、「レーン」と呼ばれる４本の並列な導体からなる。各レーンは、３．１２５Ｇｂ／秒の速度でシリアル１０ビットコードワードを伝送する。従って、ＸＡＵＩバス１８を構成する４本の導体は全部で、シリアル１０ビットラインコードワードを１２．５Ｇｂ／秒の実効ビットレートでＰＣＳ３０に伝送する。
【００２４】
ＸＡＵＩバス１８及び１９は、４本の並列な導体を使用して、１２．５Ｇｂ／秒の合計ビットレートを実現する。なぜなら、３．１２５Ｇｂ／秒は、現在の技術を使用している一部のプリント回路基板の導体を介してデータを確実に転送することが可能な最大速度に相当するからである。また、非常に様々な現在の集積回路技術がこの速度のインタフェースはサポートしているものの、インタフェースによっては、それより速い速度はサポートしていないこともあるからである。
【００２５】
ＸＧＸＳ１４は更に、ＰＣＳ３０からＸＡＵＩバス１９を介して４つのシリアルビットストリームを受信する。ＸＧＸＳ１４は、それらのビットストリームを並列化し、ビットストリームを構成している１０ビットラインコードワードの８ｂ／１０ｂ符号をデコードし、得られた情報ワードと制御ワードから構成されるカッドの連続ストリームをＸＧＭＩＩバス１７を介してＭＡＣ１２に供給する。ＸＧＸＳ１４は更に、カッドを構成している各ワードの制御ワードフラグをＸＧＭＩＩバス１７を介してＭＡＣ１２に供給する。
【００２６】
ＰＣＳ３０の送信パス２０において、４ｘ８ｂ／１０ｂデコーダ３２はＸＡＵＩバス１８に接続され、４×３．１２５Ｇｂ／秒のビットレートで到来するシリアル１０ビットラインコードワードを受信する。４ｘ８ｂ／１０ｂデコーダ３２は、その１０ビットラインコードワードの８ｂ／１０ｂ符号をデコードして対応する８ビットワードを復元し、各ワードについて、そのワードが情報ワードであるか、それとも制御ワードであるかを示すワードタイプビットを生成する。４ｘ８ｂ／１０ｂデコーダ３２は、擬似ＸＧＭＩＩバス４２を介して、それらの８ビットワードのカッドとそれらに対応する制御ワードフラグをエンコーダ１００に供給する。擬似ＸＧＭＩＩバス４２は、ＸＧＭＩＩバス１６と同じ構造を有しているが、本明細書では擬似ＸＧＭＩＩと呼ばれる。その理由は、擬似ＸＧＭＩＩバス４２は、内部バスの論理機能は常に備えているものの、内部バスが物理的に実現されない場合もあるからである。擬似ＸＧＭＩＩバス４２は３７本の導体から構成される。そのうちの３２本はカッドに割り当てられ、４本はカッドの制御ワードフラグに割り当てられ、残りの１本はクロック信号に割り当てられる。
【００２７】
ＸＧＸＳ１４、ＸＡＵＩバス１８及び１９、４ｘ８ｂ／１０ｂデコーダ３２、４ｘ８ｂ／１０ｂエンコーダ３８、並びに擬似ＸＧＭＩＩバス４２及び４３を省略し、エンコーダ１００及びデコーダ１２０をそれぞれＸＧＭＩＩバス１６及び１７を介して単純にＭＡＣ１２に接続すれば、大幅な単純化が可能であると思われるかも知れない。ＸＡＵＩバスの最大伝送距離は１ｍ程度であるのに対し、ＸＧＭＩＩバスの現在の実施形態における最大伝送距離は１００ｍｍ程度しかない。また、ＭＡＣ１２及びＸＧＸＳ１４はＸＡＵＩバスと共に１つの集積回路に組み込まれることが多い。なぜなら、チップ間のインタフェースだけを露出させることにより、プリント回路基板上で配線しなければならないピン数やトレース数を大幅に減らすことができるからである。従って、上記のような単純化を行うことが可能であるのは、ＸＧＭＩＩバスの長さがＸＧＭＩＩバスの最大伝送距離よりも短く、且つ、ＸＧＭＩＩバスに対する必要なピン及びトレースの追加が許容できる場合に限られる。
【００２８】
後で詳しく説明するように、エンコーダ１００は、擬似ＸＧＭＩＩバス４２から入力データとしてカッドを受信し、隣り合ったカッドのペアをエンコードして対応する６６ビットフレームを生成し、それらのフレームをバス４４を介してマルチプレクサ３４に供給する。
【００２９】
マルチプレクサ３４は、６６ビットフレームを受信してそれらを直列化し、それを１０Ｇｂ／秒のビットレートでイーサネット（Ｒ）メディア４０に送信する。伝送距離は一般に、ＲＧ−１７４同軸ケーブルを使用した場合は５ｍ、５ｍｍの同軸ケーブルを使用した場合は１０ｍ、光ファイバを使用した場合は４０ｋｍである。
【００３０】
ＰＣＳ３０の受信パスにおいて、デマルチプレクサ３６はイーサネット（Ｒ）メディア４０から１０Ｇｂ／秒のビットレートで受信したシリアルデータを６６ビットフレームに分離し、それらのフレームをバス４５を介してデコーダ１２０に供給する。デコーダ１２０は、それらの６６ビットフレームをデコードして、８ビットワードの２つの連続したカッド及び各ワードの制御ワードフラグを生成する。デコーダ１２０は、擬似ＸＧＭＩＩバス４３を介して、それらのカッドとカッドに対応する制御ワードフラグを並列に４ｘ８ｂ／１０ｂエンコーダ３８に送信する。
【００３１】
４ｘ８ｂ／１０ｂエンコーダ３８は、擬似ＸＧＭＩＩバス４３を介して受信したカッドに８ｂ／１０ｂエンコードを適用し、カッドを構成している各ワードの制御ワードフラグに従って処理を行う。４ｘ８ｂ／１０ｂエンコーダ３８は、得られた１０ビットラインコードワードをＸＡＵＩバス１９を介して１２．５Ｇｂ／秒のビットレートでＸＧＸＳモジュール１４に送信する。それらの１０ビットラインコードワードはＸＧＸＳモジュール１４及びＭＡＣ１２によって処理され、上述のように、受信したユーザデータがホストシステム（図示せず）に送信される。
【００３２】
次に、エンコーダ１００で使用される本発明の一実施形態による６４ｂ／６６ｂ符号化について、図２、図３Ａ〜図３Ｄ、及び図４Ａ〜図４Ｃを参照して説明する。
【００３３】
図２は、エンコーダ１００が擬似ＸＧＭＩＩバス４２の４本のレーンを介して受信した入力データのカッドの例を示す概略図である。図示のように、入力データは、幾つかの情報ワードＤからなるパケット１３０を含む。図を簡単にするために、パケット１３０中の情報ワードの数は、標準的なイーサネット（Ｒ）パケット中の情報ワードの最少数よりも大幅に少なくしてある。
【００３４】
エンコーダ１００は、パケット１３０の受信に先だって、擬似ＸＧＭＩＩバス４２の４本の入力レーン全てに関する制御ワードを受信する。これらの制御ワードは、ＸＧＭＩＩバスに対してアイドル（Ｉ）である（すなわち、何も作用を及ぼさない）。ＸＡＵＩを介して送信するためには、これらのアイドル（Ｉ）をＫ、Ｒ及びＡの制御ワードで置換する。パケット１３０の始まりは、１３１に示すようなＳＯＰ制御ワードＳ１３１によって分かる。ＳＯＰ制御ワード１３１は常にレーン０に現われ、他のレーンに現れることはない。ＳＯＰ制御ワード１３１がレーン０以外のレーンに現れた場合、それはエラーがあったことを意味し、その制御ワードはエラーコードＥで置換される。
【００３５】
次に、エンコーダ１００は、パケット１３０を構成する情報ワードＤを次々と受信し、その後に、１３２に示すようなＥＯＰ制御ワードＴを受信する。ＥＯＰ制御ワード１３２は、擬似ＸＧＭＩＩバス４２のどのレーンに現れる可能性もある。ＥＯＰ制御ワード１３２が現れるレーンは、パケット１３０中の情報ワードの数によって決まる。パケット１３０は、４６個から１５００個までの任意数の情報ワードから構成される。隣り合ったパケット間においてイーサネット（Ｒ）ＭＡＣが送信する制御ワードの最少数は１２個である。エンコーダ１００は、ＥＯＰ制御ワード１３２を受信した後、擬似ＸＧＭＩＩバスの４本のレーン全てからアイドル（何もしない）制御ワードを受信する。アイドル制御ワードは、次のパケットの始まりを意味するＳＯＰ制御ワード（図示せず）が現れるまで続く。
【００３６】
本発明の一実施形態によるエンコーダ１００は、擬似ＸＧＭＩＩバス４２から連続的に受信した入力データの２つのカッドからなるブロックに対して６４ｂ／６６ｂ符号化を適用する。すなわち、合計６４個の受信ビットに対して６４ｂ／６６ｂ符号化を適用する。６４ｂ／６６ｂ符号化は、６４個の受信ビットを６６個のビットを使用して表現する符号化である。６４ｂ／６６ｂ符号化は、ブロックの始まりに２ビットからなるマスター・トランジションを付加し、フレームを形成する。このマスター・トランジションは、フレーム同期の基準として使用され、また、そのフレームが情報ワードだけから構成されていることを示すフラグとしても使用される。６４ｂ／６６ｂ符号化は、６４／６６の符号化効率を有し、すなわち、３．１２５％のオーバヘッドを有する。６４ｂ／６６ｂ符号化によれば、ＳＯＮＥＴトランスミッタで使用するために設計された既存のレーザーの指定ビットレートの４％以内の伝送ビットレートが得られる。この伝送ビットレートは、そのような既存のレーザーの一般的な製造パフォーマンス枠内にあるものと考えられる。
【００３７】
エンコーダ１００が擬似ＸＧＭＩＩバス４２から受信する各ワードは制御ワードと情報ワードのどちらである可能性もあるため、同じく擬似ＸＧＭＩＩバス４２から受信するそのワードに対応する制御ワードフラッグによって示されるように、各ワードの制御ワードフラグを送信することにより、レシーバに対し、そのレシーバが受信しているワードのタイプを知らせなければならない。そのようなコードの最大効率は８／９、すなわち１２．５％のオーバヘッドであることが好ましい。６４ｂ／６６ｂ符号化によれば、ＸＡＵＩインタフェースの機能と、イーサネット（Ｒ）パケット構造を利用して、入力データ中に情報ワードと制御ワードが配置される様式の数を減らすことにより、実質的にそれよりも低いオーバヘッドを実現することが可能となる。
【００３８】
第１に、エンコーダ１００が受信する情報ワードの各パケットは、少なくとも６４個のワードから構成され、常にＳＯＰ制御ワードＳから始まり、常にＥＯＰ制御ワードＴで終わり、隣り合ったパケット間は少なくとも１２個の制御ワードによって分離される。つまり、入力データの８ワード（６４ビット）のブロックを符号化した場合、各ブロックは、情報ワードのみ、制御ワードのみ、制御ワードから情報ワードへの単一の遷移、又は、情報ワードから制御ワードへの単一の遷移を含む可能性がある。上記のように、フレームの最初の２ビットを構成するマスター・トランジションは、そのフレームが情報ワードだけから構成されていることを示すフラグとして機能する。つまり、各フレームに８個の制御ワードを入れて、そのフレームを構成している８個のワードがそれぞれ情報ワードであるか、それとも制御ワードであるかを示す代わりに、この数のビットを使用して、情報ワードだけから構成されるのではない全てのフレームに入れるＴＹＰＥワードを表してもよい。ＴＹＰＥワードの値が異なることは、そのブロックが次のような構造的特性のうちの１つを有していることを意味する。（１）フレームを形成する元になったブロックが制御ワードだけから構成されているか否か。（２）フレームを形成する元になったブロック中におけるパケットの始まりの位置。（３）フレームを形成する元になったブロック中におけるパケットの終わりの位置。８ビットのＴＹＰＥワードによって表現可能な状態の数は比較的少ないため、ＴＹＰＥワードには、大きな相互ハミング距離を有するＴＹＰＥワードが選択される。例えば、４ビット以上のエラーが発生しない限り、或るＴＹＰＥワードが別のＴＹＰＥワードに変換されることはないようなＴＹＰＥワードが使用される。
【００３９】
第２に、上記のように、ＸＧＭＩＩは、ＳＯＰ制御ワードＳがレーン０にしか現れないことが保証されている。そのため、フレーム中にパケットの始まりが現れる様式は２つにまで減少し、その結果、フレーム中にパケットの始まりやパケットの終わりが現れる様式の総数も減少する。
【００４０】
第３に、制御ワードのセットは、８ビット未満のビットを使用して制御ワードを符号化することができるくらいに小さく、大きな相互ハミング距離を有する１セットのコードを使用して符号化される。次に、８ビット未満のビットを使用して制御ワードを符号化することにより削減されたビットを、ブロックの圧縮に使用し、そのフレームが上記のＴＹＰＥワードを受け入れられるようにする。符号を選択すれば、ビットエラーに対する耐性の強い制御ワード符号化が可能である。
【００４１】
図３Ａ〜図３Ｄは、本発明の一実施形態によるエンコーダ１００が擬似ＸＧＭＩＩバス４２から受信する可能性がある、１２種類のブロックを示している。図３Ａは、パケットの中程に位置する連続した２つのカッドから生成されたブロックを示している。図中、２つのカッドはいずれも、情報ワードだけから構成されている。情報ワードだけからなる２つの連続したカッドから構成されたブロックは、タイプ１ブロックと呼ばれる。
【００４２】
図３Ｂは、２つの隣り合ったパケット間のギャップの中程に位置する２つの連続したカッドを含むブロックタイプを示している。図中、２つのカッドはいずれも、制御ワードだけから構成されている。制御ワードだけからなる２つの連続したカッドから構成されたブロックは、タイプ２ブロックと呼ばれる。
【００４３】
図３Ｃは、パケットの始まりを含む２つの異なるブロックタイプを示している。パケットの始まりはＳＯＰ制御ワードＳによって示される。ＳＯＰ制御ワードは擬似ＸＧＭＩＩバスのレーン０にしか現れないので、ＳＯＰ制御ワードがブロック中に現れる可能性がある位置は２つしかない。ＳＯＰ制御ワードが偶数番号のカッドに現れるブロックはタイプ３ブロックと呼ばれ、ＳＯＰ制御ワードが奇数番号のカッドに現れるブロックはタイプ４ブロックと呼ばれる。
【００４４】
図３Ｄは、パケットの終わりを含む８つの異なるブロックタイプを示している。パケットの終わりはＥＯＰ制御ワードＴによって示される。ＥＯＰ制御ワードは擬似ＸＧＭＩＩバスの４本のレーンのうちのどのレーンにも現れる可能性があり、ＥＯＰ制御ワードはブロック中のどの位置にも現れる可能性がある。ＥＯＰ制御ワードがブロックのワード１〜ワード８（図７Ａ参照）として現れるブロックはそれぞれ、タイプ５ブロック〜タイプ１２ブロックと呼ばれる。
【００４５】
これら１２種類のブロックは、マスター・トランジションとＴＹＰＥワードの組み合わせを使用した符号によって識別される。これら１２種類のブロックは、２つの異なるカテゴリに分類される。すなわち、情報ワードだけから構成されたブロック（すなわち、図３Ａに示したタイプ１ブロック）と、少なくとも１つの制御ワードを含むブロック（すなわち、図３Ｂ〜図３Ｄに示したタイプ２〜１２ブロック）である。
【００４６】
図４Ａは、本発明の一実施形態によるエンコーダ１００により、入力データのブロックから生成されるフレーム１５０の基本構造を示している。フレーム１５０は、２ビットの同期フィールドと、その後に続く６４ビットのペイロードフィールド１５２とから構成される。同期フィールド１５１には、２ビットのマスター・トランジションを入れることができる。後で詳しく説明するように、ペイロードフィールド１５２に格納されるワードは、周期の長い自己同期式のスクランブラによってスクランブルされ、送信ビットストリームの統計的ＤＣバランスが維持される。後で詳しく説明するように、本発明の一実施形態では、２ビットのマスター・トランジションもスクランブルする場合がある。
【００４７】
エンコーダ１００は、図４Ａに示した基本構造を有する２つの異なるタイプのフレームを生成するが、それらのペイロードフィールドの構造は異なる。ペイロードフィールド１５２の構造は、フレームを生成する元になるブロックが、情報ワードだけから構成されたタイプ１のブロックであるか否かによって決まる。ペイロードフィールド１５２の構造は、同期フィールド１５１に記憶されたマスター・トランジションによって示される。図４Ｂは、ブロックがタイプ１ブロックであるときに生成されるフレーム１５３の構造を示している。この場合、同期フィールド１５１のマスター・トランジションは０１であり、ペイロードフィールド１５２は、そのブロック（すなわち６４ビット）を構成する８個の情報ワードから構成されている。
【００４８】
図４Ｃは、ブロックがタイプ２〜タイプ１２のブロックである場合、つまり、少なくとも１つの制御ワードを含む場合に生成されるフレーム１５６の構造を示している。この場合、同期フィールド１５１に格納されるマスター・トランジションは１０であり、ペイロードフィールド１５２は、８ビットのサブフィールド１５７と、５６ビットのサブフィールド１５８とから構成される。８ビットのサブフィールド１５７にはＴＹＰＥワードが格納され、５６ビットのサブフィールド１５８にはそのブロックを圧縮したものが格納されている。具体的には、そのブロックに含まれる全ての情報が、変更されることなくサブフィールド１５８に含まれる。５６ビットのサブフィールド１５８には、最大で７個の、すなわち、少なくとも１つの制御ワードを含むブロックにおける情報ワードの最大数の、情報ワードを入れることができる。また、ブロック中に制御ワードＳ及びＴが現れた場合、それらは破棄され、サブフィールド１５８には転送されない。最後に、ブロック中の残りの制御ワードを全て、８ビット未満のビットを使用して再符号化し、再符号化された制御ワードをサブフィールド１５８に入れる。好ましい実施形態において、これらの残りの制御ワードは、４ビットの相互ハミング距離を有するように選択された７ビットコードを使用して、再符号化される。
【００４９】
サブフィールド１５８から制御ワードＳ及びＴを除去してよい理由は、フレーム中におけるパケットの始まりの位置とパケットの終わりの位置が、サブフィールド１５７に含まれるＴＹＰＥワードによって示されているからである。図３Ｃのタイプ３ブロックや図３Ｄのタイプ１２ブロックの場合のように、そのブロックが７個の情報ワードと、ＳＯＰ制御ワードＳ又はＥＯＰ制御ワードを含むものである場合、制御ワードＳ及びＴを除去することにより、ＴＹＰＥワードと７個の情報ワードの全てをペイロードフィールド１５２に一杯に格納することが可能になる。図３のタイプ２ブロックの場合のように、そのブロックが制御ワードだけから構成されている場合、残りの制御ワードを７ビットワードとして再符号化することにより、ＴＹＰＥワードと８個の制御ワードの全てをペイロードフィールド１５２に格納することが可能となる。制御ワードＳと制御ワードＴを除去し、少数のビットを使用して残りの制御ワードを再符号化した後、情報ワードと制御ワードの他の組み合わせは全て、５６ビット未満のビットから構成される。
【００５０】
図５Ａは、情報データのパケットを含む入力データに対して６４ｂ／６６ｂ符号化を適用するための、本発明による符号化方法の第１の実施形態２００を示すフロー図である。この方法のプロセス２０５において実施される処理の詳細ついては、後で図５Ｂを参照して説明する。
【００５１】
この方法はプロセス２０２から開始される。プロセス２０３では、入力データのブロックを受信する。入力データは、上記の制御ワードの他に、情報ワードのパケットを含む。情報ワードのパケットの前後には制御ワードが続く。ブロックはパケットよりも小さい。好ましい実施形態において、各ブロックは連続した２つのカッドから構成され、それらのカッドは、擬似ＸＧＭＩＩバス４２から受信した４つの並列ワードからなる。
【００５２】
プロセス２０４では、入力データのブロックが情報ワードだけから構成されているか否かを判定するためのテストを実施する。好ましい実施形態において、このテストは、そのブロックを構成している８個のワードの制御ワードフラグを単純に検査することによって実施される。これらの制御ワードフラグは、そのブロックを構成しているワードと共に、擬似ＸＧＭＩＩバス４２を介して受信される。あるいは、後で図６を参照して詳しく説明するように、このテストは、カッドを受信したときにカッドをテストし、そのカッドに関するテスト結果からブロックのテスト結果を計算することによって実施してもよい。
【００５３】
テスト結果がＮＯであった場合、処理はプロセス２０５へ進む。テスト結果がＹＥＳであった場合、処理はプロセス２０６へ進み、そこで、そのブロックと、第１の意味のマスター・トランジションをスクランブルする。
【００５４】
次に、処理はプロセス２０７へ進み、そこで、スクランブルされたマスター・トランジションをスクランブルされたブロックの前に配置することにより、フレームを形成する。好ましい実施形態において、スクランブルされる前の第１の意味のマスター・トランジションは、２つのビット０１によって与えられる。
【００５５】
次に、処理はプロセス２０８へ進み、そこでフレームを送信し、次にプロセス２０９へ進み、そこでテストを実施し、入力データの全ブロックが処理されたか否かを判定する。テスト結果がＹＥＳであった場合、処理はプロセス２１０へ進み、そこで終了する。テスト結果がＮＯであった場合、処理はプロセス２１１を介してプロセス２０４へ戻り、次のブロックを処理することができる。
【００５６】
プロセス２０４におけるテスト結果がＮＯであった場合、それは、そのブロックが少なくとも１つの制御ワードを含むことを意味する。処理はプロセス２０５へ進み、そこで、そのブロックの構造的特性を示すＴＹＰＥワードを生成し、そのブロックを圧縮し、ＴＹＰＥワードをそのブロックに挿入する。ＴＹＰＥワードは、そのブロックに関する下記の構造的特性のうちの１つを示す。（１）ブロックが制御ワードだけから構成されているか否か。（２）ブロック中におけるフレームの始まりの位置。（３）ブロック中におけるフレームの終わりの位置。ブロックタイプについては、図３Ａ〜図３Ｄを参照して既に上で説明したとおりである。プロセス２０５で実施される処理については、図５Ｂを参照して後で詳しく説明する。
【００５７】
次に、処理はプロセス２１２へ進み、そこで、そのブロックと、第１の意味とは逆の第２の意味のマスター・トランジションをスクランブルする。
【００５８】
次に、処理はプロセス２１３へ進み、そこで、スクランブルされたマスター・トランジションをスクランブルされたブロックの前に配置することにより、フレームを形成する。好ましい実施形態において、スクランブルされる前の第２の意味のマスター・トランジションは、２つのビット１０によって与えられる。
【００５９】
次に、処理はプロセス２０８へ進み、そこで、上記のようにフレームを送信する。
【００６０】
上記のブロックは、プロセス２０６及び２１２においてスクランブルされたものである。汎用データ伝送アプリケーションにおいて、ブロックのスクランブルは、レシーバをマスター・トランジションに同期させ、パケットをデコードするのに役立つ。ただし、ランダムデータを伝送するデータ伝送アプリケーションの場合、ブロックのスクランブルは省略してもよい。ランダムデータの例には、デジタル音声信号や圧縮データなどがある。
【００６１】
図５Ｂは、プロセス２０５で実施される処理の一例を示している。このプロセスでは、ブロックを圧縮し、そのブロックの構造的特性を示すＴＹＰＥワードをブロックに挿入する。構造の例には、ブロック中におけるパケットの始まりや終わりの位置、あるいは、そのブロックが制御ワードだけから構成されているか否か、などがある。
【００６２】
この処理はプロセス２２０から開始される。プロセス２２１では、ブロックがそのブロック中のパケットの始まりを示すＳＯＰ制御ワードＳを有しているか否かを判定するためのテストを実施する。テスト結果がＮＯであった場合、処理はプロセス２２２へ進む。プロセス２２２については後で説明する。テスト結果がＹＥＳであった場合、処理はプロセス２２３へ進み、そこで、そのブロックを構成する第１のカッド中にＳＯＰ制御ワードが現れたか否かを判定するためのテストを実施する。エンコーダ１００によって処理される各ブロックは、連続して受信された２つのカッドからなる。
【００６３】
プロセス２２３によって生成されたテスト結果がＮＯであった場合、処理はプロセス２２４へ進み、そこで、そのブロックがタイプ４ブロックであることを示すＴＹＰＥワードを生成する。タイプ４ブロックは、ＳＯＰ制御ワードが第２のカッド中に現れるブロックである。ブロックタイプについては、図３Ａ〜図３Ｄを参照して上で詳しく説明したとおりである。次に、処理はプロセス２２６へ進む。プロセス２２３において生成されたテスト結果がＹＥＳであった場合、処理はプロセス２２５へ進み、そこで、そのブロックがタイプ３ブロックであることを示すＴＹＰＥワードを生成する。ＴＹＰＥ３ブロックは、ＳＯＰ制御ワードが第１のカッド中に現れるブロックである。
【００６４】
処理はプロセス２２４又はプロセス２２５からプロセス２２６へ進み、そこで、そのブロックからＳＯＰ制御ワードを除去することにより、そのブロックを圧縮する。ブロックを圧縮することにより、プロセス２２４又はプロセス２２５で生成されたＴＹＰＥワードを以下で説明するプロセス２２８においてそのブロックに挿入するための空き空間が作成される。
【００６５】
次に、処理はプロセス２２７へ進み、そこで、そのブロック中の制御ワードを比較的少ない数のビットを使用して再符号化することにより、そのブロックを圧縮する。このプロセスに先行して、プロセス２２６又はプロセス２３３が既に実施されていた場合、プロセス２２７を実施することにより得られる作用は、そのブロックを更に圧縮するものとなる。プロセス２３３については後で説明する。好ましい実施形態では、比較的少数のビットを使用して８ビット制御ワードを再符号化する。制御ワードのセットは、４ビットの相互ハミング距離を有するように選択された７ビットコードを使用して制御ワードを符号化することができるくらい小さい。再符号化プロセスでは、そのブロックのＴＹＰＥワードを参照して、そのブロック中における制御ワードの位置を見付けることができる。
【００６６】
次に、処理はプロセス２２８へ進み、そこで、ブロックの先頭にＴＹＰＥワードを挿入する。ＴＹＰＥワードをブロックに挿入するための空き空間は、プロセス２２６、２２７及び２３３のうちの幾つかを実施することにより既に作成されている。プロセス２３３については後で説明する。
【００６７】
次に、処理はプロセス２２９へ進み、そこからメインルーチンへ戻る。
【００６８】
プロセス２２１におけるテスト結果がＮＯであった場合、処理はプロセス２２２へ進み、そこで、そのブロックが、そのブロック中に現れるパケットの終わりを示すＥＯＰ制御ワードＴを有しているか否かを判定するためのテストを実施する。テスト結果がＮＯであった場合、処理はプロセス２３０へ進む。プロセス２３０については後で説明する。テスト結果がＹＥＳであった場合、処理はプロセス２３１へ進み、そこで、そのブロック中のＥＯＰ制御ワードの位置を判定する。図３Ｄに示すように、ブロック中の８個のワードのうちのどのワードをＥＯＰ制御ワードとして使用してもよい。
【００６９】
次に、処理はプロセス２３２へ進み、そこで、ブロック中のＥＯＰ制御ワードの位置に応じてＴＹＰＥワードを生成する。このＴＹＰＥワードは、そのブロックが、タイプ５〜タイプ１２のうちのいずれかのブロックであることを示す。図３Ｄを参照して上で説明したように、タイプ５〜タイプ１２のブロックは、ＥＯＰ制御ワードがブロック中の８個のワード位置のうちのいずれかに現れるブロックである。
【００７０】
次に、処理はプロセス２３３へ進み、そこで、そのブロックからＥＯＰ制御ワードを除去することにより、そのブロックを圧縮する。圧縮の目的については、上で述べたとおりである。
【００７１】
次に、処理はプロセス２２７へ進み、そこで、上記のように、そのブロック中に残っている制御ワードを全て、比較的少数のビットを使用して再符号化することにより、そのブロックを更に圧縮する。
【００７２】
プロセス２２２におけるテスト結果がＮＯであることは、そのブロックが制御ワードだけから構成されていることを意味する。その場合、処理はプロセス２３０へ進み、そこで、そのブロックがタイプ２ブロックであることを示すＴＹＰＥワードを生成する。タイプ２ブロックは、制御ワードだけからなるブロックである。
【００７３】
次に、処理はプロセス２２７へ進み、そこで、上記のように、そのブロックに含まれる制御ワードを比較的少数のビットを使用して再符号化することにより、そのブロックを圧縮する。この場合、ブロック中の８個のワードが全て制御ワードであるため、それらが全て再符号化される。
【００７４】
ここで、上記の処理では、それらの情報ワードが、変更されることなくブロック中に残されている点に注意して欲しい。
【００７５】
図６は、情報データのパケットを含む入力データに対して６４ｂ／６６ｂコーディングを適用するための、本発明による符号化方法の第２の実施形態２５０を示すフロー図である。この実施形態は、ブロックベースの符号化方法ではなく、カッドベースの符号化方法である。この方法はプロセス２５１から開始される。プロセス２５２では、図１に示した擬似ＸＧＭＩＩバス４２から入力データのカッドを受信する。好ましくは、カッド中の各ワードの制御ワードフラグを更に受信する。
【００７６】
プロセス２５３では、カッドが情報ワードだけから構成されているか否かを判定するためのテストを実施する。このテストは、そのカッドの制御ワードフラグを単純に検査することによって実施することができる。テスト結果がＹＥＳであった場合、処理はプロセス２５４へ進み、そこで、カッドが情報ワードだけから構成されていることを示すカッドタイプコードをそのカッドに付加する。次に、処理はプロセス２６１へ進む。プロセス２６１については後で説明する。プロセス２５３におけるテスト結果がＮＯであった場合、処理はプロセス２５５へ進む。
【００７７】
プロセス２５５では、カッド中の制御ワードのうちのいずれかが、エンド・オブ・パケット（ＥＯＰ）制御ワードであるか否かを判定するためのテストを実施する。テスト結果がＮＯであった場合、処理はプロセス２５６へ進む。プロセス２５６については後で説明する。テスト結果がＹＥＳであった場合、処理はプロセス２５７へ進み、そこで、カッド中におけるＥＯＰ制御ワードの位置を判定し、プロセス２５８へ進み、そこで、カッドタイプコードをそのカッドに付加する。カッドタイプコードは、カッド中におけるＥＯＰ制御ワードの位置を示すコードである。
【００７８】
プロセス２５９では、カッドからＥＯＰ制御ワードを除去する。これにより、そのカッドが構成しているブロックを圧縮する効果が得られる。
【００７９】
プロセス２６０では、上記のように、カッド中の残りの他の制御ワードを比較的少数のビットを使用して再符号化する。その結果、そのカッドが構成しているブロックを更に圧縮する効果が得られる。次に、処理はプロセス２６１へ進む。プロセス２６１については後で説明する。
【００８０】
プロセス２５５における試験結果がＮＯであった場合、処理はプロセス２５６へ進み、そこで、そのカッド中のいずれかの制御ワードが、スタート・オブ・パケット（ＳＯＰ）制御ワードであるか否かを判定するための試験を実施する。試験結果がＮＯであった場合、処理はプロセス２６２へ進み、そこで、そのカッドが制御ワードだけから構成されたカッドであることを示すカッドタイプコードをそのカッドに付加する。次に、処理は上で説明したプロセス２６０へ進み、そこで制御ワードを再符号化し、更にプロセス２６１へ進む。プロセス２６１については後で説明する。
【００８１】
プロセス２５６におけるテスト結果がＹＥＳであった場合、処理はプロセス２６３へ進み、そこで、そのカッドのレーン０にＳＯＰ制御ワードが現れたことを示すカッドタイプコードをそのカッドに付加する。
【００８２】
プロセス２６４では、そのカッドからＳＯＰ制御ワードを除去する。これにより、そのカッドが構成しているブロックを圧縮する効果が得られる。
【００８３】
次に、処理は上で説明したプロセス２６０へ進み、そこで、制御ワードを再符号化し、更にプロセス２６１へ進む。
【００８４】
プロセス２６１では、今処理したカッドが偶数番号のカッドであるか否かを判定するための試験を実施する。試験結果がＹＥＳであった場合、処理はプロセス２６５を介してプロセス２５２へ進み、次のカッドを受信して処理できるようにする。この場合、この次のカッドとは、フレームを生成する元になるブロックを構成している第２のカッドである。テスト結果がＮＯであることは、そのブロックを構成しているカッドが両方とも受信され、それらを処理し終えたことを意味し、処理はプロセス２６６へ進む。
【００８５】
プロセス２６６では、それら２つのカッドに付加されたカッドタイプコードを検査し、それらのカッドから生成されるブロックのブロックタイプを判定し、そのブロックのＴＹＰＥワードを生成する。例えば、偶数番号のカッドのカッドタイプコードが、そのカッド中に現れるＳＯＰ制御ワードを示し、奇数番号のカッドのカッドタイプコードが、そのカッドが情報ワードだけから構成されていることを示している場合、プロセス２６６は、そのブロックがタイプ３ブロック（図３Ｃを参照）であるものと判定する。
【００８６】
ＴＹＰＥワードは制御ワードを有するブロックにしか割り当てられないが、更に別のタイプワードをタイプ１ブロック（すなわち、情報ワードだけから構成されたブロック）に割り当てることにより、プロセス２５０を単純化することもできる。この更に別のタイプワードはプロセス２５０の中で使用され、ブロックには挿入されない。例えば、タイプ１ブロックのＴＹＰＥワードとして００Ｈを使用することができる。プロセス２６７では、そのブロックがタイプ１ブロックであるか否かを検査することにより、そのブロックが情報ワードだけから構成されたブロックであるか否かを判定する試験を実施する。テスト結果がＹＥＳであった場合、処理はプロセス２６８へ進み、そこで、それらのカッドを結合してブロックを形成する。
【００８７】
プロセス２６９では、上記のように、そのブロックと第１の意味のマスター・トランジションをスクランブルする。好ましい実施形態において、スクランブルされる前の第１の意味のマスター・トランジションは、２つのビット０１によって与えられる。上記のように、情報ワードがランダムなものである場合、このブロックのスクランブルは省略してもよい。
【００８８】
プロセス２７０では、スクランブルされたブロックの前にスクランブルされたマスター・トランジションを配置することにより、フレームを形成する。
【００８９】
次に、処理はプロセス２７４へ進む。プロセス２７４については後で説明する。
【００９０】
プロセス２６７において生成されたテスト結果がＮＯであった場合、処理はプロセス２７１へ進み、そこで、それらのカッドを結合してブロックを形成し、ＴＹＰＥワードを挿入する。ＴＹＰＥワードはブロックの先頭に挿入される。カッドを結合するときは、それらの情報ワードをシフトさせ、それらが互いに接するように、また、ＴＹＰＥワード又はブロックの終わりに接するようにシフトさせる。符号化された制御ワードもシフトさせ、それらが互いに接するように、また、ブロックの終わり又はＴＹＰＥワードに接するようにシフトさせる（例えば、図７Ａ〜図７Ｌを参照）。情報ワードと制御ワードの間にあるギャップは全て充填ビットによって埋められる。
【００９１】
プロセス２７２では、上記のように、そのブロックと第２の意味のマスター・トランジションをスクランブルする。好ましい実施形態において、スクランブルされる前の第２の意味のマスター・トランジションは、２つのビット１０によって与えられる。この場合も、情報ワードがランダムなものであれば、ブロックのスクランブルは行っても行わなくてもよい。
【００９２】
プロセス２７３では、スクランブルされたブロックの前にスクランブルされたマスター・トランジションを配置することにより、フレームを形成する。
【００９３】
次に、処理はプロセス２７４へ進む。このプロセスについて次に説明する。
【００９４】
プロセス２７４では、フレームを送信する。
【００９５】
プロセス２７５では、入力データのカッドが全て処理されたか否かを判定するためのテストを実施する。テスト結果がＹＥＳであった場合、処理はプロセス２７６へ進み、そこで終了する。テスト結果がＮＯであった場合、上記のように、処理はプロセス２６５を介してプロセス２５２へ戻り、次のカッド、すなわち偶数番号のカッドを処理することができる。
【００９６】
図７Ａ〜図７Ｌは、図３Ａ〜図３Ｄに示した１２個のブロックタイプのそれぞれから生成された種々のフレームの具体例を示しており、これのフレームは、マスター・トランジション及びＴＹＰＥワードを含む。図７Ａ〜図７Ｌでは、マスター・トランジションの２つのビットとブロックが、スクランブルされていない状態で描かれている。本発明の一実施形態では、フレームを送信する前に、マスター・トランジションのビットとブロックのビットをスクランブルする。図７Ａは、図３Ａに示したタイプ１ブロックから生成されたフレーム１５３を示している。このブロックは、情報ワードだけから構成されている。図示のように、フレーム１５３では、同期フィールド１５１が２ビットのマスター・トランジション０１で埋められ、ペイロードフィールド１５２が８個の情報ワードで埋められている。これらの情報ワードは、ブロック１６０の８個の位置０〜７に位置している。ペイロードフィールド１５２中の各情報ワードには、文字Ｄ、番号及び数字８が付されている。文字Ｄは情報ワードを意味し、番号はブロック１６０中における情報ワードの位置を意味し、数字８はその情報ワードが８ビットからなることを意味している。
【００９７】
図７Ｂは、図３Ｂに示したタイプ２のブロックから生成されたフレームを示している。図７Ｃ及び７Ｄはそれぞれ、図３Ｃに示したタイプ３及びタイプ４のブロックから生成されたフレームを示している。図７Ｅ〜図７Ｌはそれぞれ、図３Ｄに示したタイプ５〜タイプ１２のブロックから生成されたフレームを示している。例えば、図７Ｄは、図３Ｃに示したタイプ４のブロックから生成されたフレーム１５６を示している。タイプ４のブロックの一部は、制御ワードによって構成される。すなわち、フレーム１５６は、ＳＯＰ制御ワードＳと、未指定の制御ワードＺと、情報ワードＤの一部とを含む。フレーム１５６において、同期フィールド１５１は、２ビットのマスター・トランジション１０によって占められ、ペイロードフィールド１５２のサブフィールド１５７は、８ビットのＴＹＰＥワード（この例では、１６進数の３３Ｈ）によって占められる。ＴＹＰＥワードは、そのフレームがタイプ４のブロックから生成されたものであること示す。タイプ４のブロックでは、パケットの始まりがそのブロックを構成している奇数番号のカッド中に現れる。ペイロードフィールド１５２のサブフィールド１５８は、４つの符号化された制御ワードＺと、３つの８ビット情報ワードＤによって占められている。
【００９８】
サブフィールド１５８中の各データ要素には、文字Ｄ又はＺ、番号、及び、数字７又は８が付されている。文字Ｄは情報ワードを意味し、文字Ｚは制御ワードを意味し、図７Ａを参照して上で説明したように、番号はブロック中の情報ワード又は制御ワードの位置を意味し、数字７又は８はデータ要素中のビット数（すなわち、符号化された制御ワードの場合は７ビット、情報ワードの場合は８ビット）を意味する。上記のように、ＳＯＰ制御ワードＳは破棄され、サブフィールド１５８には転送されない。代わりに、ＴＹＰＥコード３３Ｈが、パケットがブロックの位置４から始まることを示すＳＯＰ制御ワードを働きをする。
【００９９】
フレーム１５６のサブフィールド１５８が、７ビットワードとして符号化された４つの符号化制御ワードＺと、３つの８ビット情報ワードＤによって、完全に埋まることはない。サブフィールド１５８の空き領域１６４は、適当なアイドル（何もしない）ビットによって埋められる。代替実施形態において、サブフィールド１５８の空き部分を埋めるために使用されるビットには、幾つかの機能を割り当ててもよい。
【０１００】
図７Ｂ〜図７Ｌに示したＴＹＰＥワードは、パケットの始まりと終わりを確実に識別するために、相互ハミング距離が４になるように選択されたものである。これらのＴＹＰＥワードは更に、その生成とテストが容易になるものを選択してもよい。選択されたＴＹＰＥワードのセットは、下記のようにして生成された１６要素のセットのうちの１１要素からなるサブセットである。セット中の連続した要素のそれぞれの最初の４ビットを２進数で０から１５まで増加させる。各要素の次の４ビットは、最小ハミング距離保護を提供し、且つ、（１）最初の４ビットのパリティが偶数であれば、最初の４ビットの複製とし、（２）最初の４ビットのパリティが奇数であれば、最初の４ビットの補数とする。１６要素のセットが最適である理由は、１６要素のセットは非常に単純な実施形態で、ゲート遅延及びレイテンシを短くすることができるからである。
【０１０１】
一見すると、マスター・トランジションを２ビットで構成することは、マスター・トランジションが２ビットのエラーによりＴＹＰＥワードを含まないフレーム（図４Ｂ）からＴＹＰＥを含むフレーム（図４Ｃ）へ変換されてしまう可能性があるという欠点があるのではないかと思われるかもしれない。この構成は、イーサネット要件を満足するほど頑強ではない。しかしながら、４ビット程度のマスター・トランジションエラーは、フレームの種類のシーケンスを監視することにより、デコーダ１２０で検出することができる。上記のように、各フレームは、４つの異なる種類のフレームのうちの１つに分類することができる。４つとは、情報ワードＤだけから構成されたフレーム（タイプ１）、パケットの始まりＳを含むフレーム（タイプ３及び４）、パケットの終わりＴを含むフレーム（タイプ３、タイプ４）、及び、制御ワードＺだけからなるフレーム（タイプ２）である。通常動作において、これら４つのフレームタイプは所定の順序（例えば、Ｓ，Ｄ，・・・Ｄ，Ｔ，Ｚ，・・・Ｚ，Ｓ，Ｄ，・・・Ｄ，Ｔ，Ｚ，・・・Ｚなど）で生成され、その順序その所定の順序で受信されなければならない。受信したフレームのフレームタイプの順序を監視し、所定の順序に違反した場合、デコードされたデータにエラー制御ワードＥを付けることにより、ＭＡＣ１２は損傷したパケットの受信を回避することができる。
【０１０２】
図８Ａは、本発明によるエンコーダ１００の第１の実施形態を示すブロック図である。エンコーダ１００は、タイプワード発生器１８１、ペイロードフィールド発生器１８２、６４ビットスクランブラ１８３、マスター・トランジション発生器１８４、フレーム組み立て器１８５、及び、マスター・トランジション・スクランブラ１８６を含む。
【０１０３】
エンコーダ１００において、タイプワード発生器１８１及びペイロードフィールド発生器１８２は、擬似ＸＧＭＩＩバス４２（図１）を介して４ｘ８ｂ／１０ｂデコーダ３２から入力データのブロックを受信するように接続される。入力データは、制御ワードと、情報ワードのパケットとから構成される。パケットの前後には制御ワードが続く。好ましい実施形態において、これらのブロックは、８ワード、すなわち６４ビットの長さを有し、パケットの最小サイズよりも小さい。更に、これらのブロックは、隣り合ったパケット間の制御ワードの数よりも小さい。エンコーダ１００は、入力データをブロック毎に処理し、送信用の対応するフレームを生成する。
【０１０４】
タイプワード発生器１８１はＴＹＰＥワードを生成する。このＴＹＰＥワードは、下記のようなブロックの相互排他的構造特性のうちの１つを示す値を有する。（１）ブロックが、パケットの終わりを除き、制御ワードだけから構成されているか否か。（２）ブロック中におけるパケットの始まりの位置。（３）ブロック中におけるパケットの終わりの位置。（４）ブロックが情報ワードだけから構成されているか否か。タイプワード発生器は、そのＴＹＰＥワードをペイロードフィールド発生器１８２及びマスター・トランジション発生器１８４に供給する。ブロックが情報ワードだけから構成されているか否かを示すＴＹＰＥワードの値は、フラグビットの形でマスター・トランジション発生器１８４に供給され、任意選択でペイロードフィールド発生器１８２にも供給される場合がある。
【０１０５】
ペイロードフィールド発生器１８２は、ＴＹＰＥワードに従って動作する。ＴＹＰＥワードが、そのブロックが情報ワードだけから構成されていることを示すものである場合、ペイロードフィールド発生器１８２は、そのブロックを使用してペイロードフィールドを形成する。一方、ＴＹＰＥワードが、そのブロックが情報ワードだけから構成されていないことを示すものである場合、ペイロードフィールド発生器はそのブロックを圧縮し、ＴＹＰＥワードをそのブロックに挿入し、ペイロードフィールドを形成する。
【０１０６】
ペイロードフィールド発生器１８２は、次の２つの処理のうちのいずれか一方又は両方を実施することにより、ブロックを圧縮する。（１）ブロックから何らかのスタート・オブ・パケット制御ワード又はエンド・オブパケット制御ワードを除去する処理。（２）比較的少数のビットを使用して、そのブロック中の何らかの他の制御ワードを再符号化する処理。好ましい実施形態において、これらの制御ワードは、４ビットの相互ハミング距離を有する７ビットコードを使用して、再符号化される。ペイロードフィールド発生器１８２がそのブロックをペイロードフィールドとして単純に使用するか、それともペイロードフィールドを形成する前にそのブロックに更なる処理を加えるかは、ＴＹＰＥワード全体の代わりとなる上記のフラグビットによって決まる。ＴＹＰＥワードは、そのブロック中におけるスタート・オブ・パケット制御ワード（もしあれば）やエンド・オブ・パケット制御ワード（もしあれば）の位置や、そのブロック中における他の制御ワード（もしあれば）の位置を示すものである。
【０１０７】
ペイロードフィールド発生器１８２は、ブロックから生成されたペイロードフィールドＰＦを１６ビットスクランブラ１８３に供給する。
【０１０８】
１６ビットスクランブラ１８３は、高次多項式を利用した自己同期スクランブラであり、その詳細については後で説明する。上記のように、既にランダムになっている入力データだけを送信するように設計されたエンコーダ１００の実施形態では、スクランブラ１８３は省略してもよい。スクランブラ１８３は、ペイロードフィールドＰＦから生成されたスクランブルされたペイロードフィールドＳＰＦをフレーム組み立て器１８５に供給する。
【０１０９】
マスター・トランジション発生器１８４は、ＴＹＰＥワード、又は、上で説明したフラグビットに従って動作し、マスター・トランジションを生成する。ＴＹＰＥワード又はフラグビットが、そのブロックが情報ワードだけから構成されていることを示している場合、マスター・トランジション発生器１８４は第１の意味のマスター・トランジションを生成する。一方、ＴＹＰＥワード又はフラグビットが、そのブロックが情報ワードだけから構成されるものではないことを示している場合、マスター・トランジション発生器１８４は、第１の意味とは反対の第２の意味のマスター・トランジションを生成する。好ましい実施形態において、第１の意味のマスター・トランジションは０１であり、第２のマスター・トランジションは１０である。これとは逆の遷移を代わりに使用してもよい。マスター・トランジション発生器１８４は、マスター・トランジションＭＴをマスター・トランジション・スクランブラ１８６に供給する。
【０１１０】
一実施形態において、マスター・トランジション・スクランブラ１８６は、６４ビットスクランブラ１８３から提供されるスクランブラビットを使用して、マスター・トランジション発生器１８４から受信した２ビットのマスター・トランジションをスクランブルすることにより、スクランブルされたマスター・トランジションＳＭＴを生成し、それをフレーム組み立て器１８５に渡す。一実施形態において、マスター・トランジション・スクランブラ１８６は、６４ビットスクランブラ１８３から提供される１ビットのスクランブラビットを使用して、マスター・トランジション発生器１８４によって生成された２ビットのマスター・トランジションの両方のビットをスクランブルする。本発明の一実施形態において、マスター・トランジション・スクランブラ１８６は、スクランブルビットとマスター・トランジションの第１のビットに対してＸＯＲ演算を実施し、そのＸＯＲ演算の結果をスクランブルされたマスター・トランジションの第１のビットとし、同じスクランブラビットとマスター・トランジションの第２のビットに対してＸＯＲ演算を実施し、そのＸＯＲ演算の結果をスクランブルされたマスター・トランジションの第２のビットとする。マスター・トランジション・スクランブラ１８６は、スクランブルされたマスター・トランジションＳＭＴをフレームスクランブラ１８５に供給する。本発明の一実施形態において、６４ビットスクランブラ１８６から提供される単一のスクランブラビットは、ペイロードフィールドの最初のビット又は最後のビットをスクランブルするのには使用されない。ペイロードフィールドの最初のビット又は最後のビットをスクランブラとして使用すると、ペイロードフィールドの値によっては誤ったマスター・トランジションが生成される可能性がある。誤ったマスター・トランジションはチェックして無視しなければならないが、そのような状況を回避する方が簡単である。
【０１１１】
フレーム組み立て器１８５は、６４ビットスクランブラ１８３からスクランブルされたペイロードフィールドＳＰＦを受信するとともに、マスター・トランジション・スクランブラ１８６からスクランブルされたマスター・トランジションＳＭＴを受信し、スクランブルされたマスター・トランジションをスクランブルされたペイロードフィールドに付加することにより送信用のフレームを形成する。フレーム組み立て器１８５は、スクランブルされたペイロードフィールドの前にスクランブルされたマスター・トランジションを配置することが望ましいが、スクランブルされたペイロードフィールドの後にスクランブルされたマスター・トランジションを配置してもよい。
【０１１２】
フレーム組み立て器１８５は、バス４４（図１）を介して、６６ビットフレームをマルチプレクサ３４に供給する。
【０１１３】
図８Ｂは、本発明によるエンコーダ１００の第２の実施形態を示すブロック図である。この実施形態では、カッドベースで処理が実施される。エンコーダ１００は、ＳＴＺプレコーダ３０１、デマルチプレクサ３０３とレジスタ３０４からなるブロック発生器３０２、ペイロードフィールド発生器３０５、タイプワード発生器３０６、６４ビットスクランブラ３０７、フレーム組み立て器３０８、及び、マスター・トランジション・スクランブラ３０９を含む。
【０１１４】
ＳＴＺプレコーダ３０１は、ワードのカッド、及び、それらに対応する制御ワードフラグを擬似ＸＧＭＩＩバス４２を介して送信する。ＳＴＺプレコーダ３０１は、各カッドのカッドタイプコードを生成する。カッドタイプコードは、上で説明したブロックのブロックタイプを示すＴＹＰＥワードに似ているが、カッドに関するものである。カッドタイプコードの値は、下記の、カッドの相互排他的構造特性のうちの１つを示すものである。（１）カッドが情報ワードだけから構成されているか否か。（２）ＥＯＰを除き、カッドが制御ワードだけから構成されているか否か。（３）ＳＯＰ制御ワードがカッド中に現れるか否か。（４）カッド中におけるＥＯＰ制御ワード（もしあれば）の位置。特性（１）は、制御ワードフラグを検査することにより、簡単に検査することが可能である。
【０１１５】
情報ワードだけから構成されない各カッドについて、ＳＴＺプレコーダ３０１は、制御ワードフラグによって制御ワードであることが分かっているカッド中の各ワード（もしあれば）を再符号化することにより、そのカッドを圧縮する。制御ワードを符号化するためのコードには、４ビットの相互ハミング距離を有するコードを選択する。ＳＯＰ制御ワードとＥＯＰ制御ワードの再符号化は行ってもよいし行わなくてもよい。なぜなら、それらの制御ワードは、後でペイロードフィールド発生器３０５によって破棄されるからである。ＳＴＺプレコーダ３０１は更に、４個の制御ワードフラグ及びカッドタイプコードをカッド（このカッドは既に圧縮されている場合もある）に付加し、プレコード（事前符号化）されたカッドを形成し、そのプレコードされたカッドを４１ビット幅のバス３１０を介してブロック発生器３０２に供給する。
【０１１６】
ブロック発生器３０２は、ＳＴＺプレコーダ３０１からプレコードされたカッドの連続したペアを受信し、それらから８ワードのブロックを形成する。ブロック発生器３０２において、デマルチプレクサ３０３は、プレコードされたカッドの連続したペアを受信し、それを４１ビット幅のバス３１１及び３１２を交互に介してレジスタ３０４の対応する入力に出力するように接続される。
【０１１７】
レジスタ３０４は、プレコードされたカッドのペアを並列に出力する。プレコードされたカッドは２つの部分に分けて出力され、それらのカッドは、対応するカッドタイプコードと制御ワードフラグに有効に分割される。レジスタ３０４が受信したカッドのペアはブロックＢＬＫを形成し、ブロックＢＬＫは６４ビット幅のバス３１３を介してペイロードフィールド発生器３０５に供給される。カッドタイプコードとそのブロックに対応する制御ワードフラグのペアが、１８ビット幅のバス３１４を介してタイプワード発生器３０６に供給される。
【０１１８】
タイプワード発生器３０６は、バス３１４から受信したブロックのカッドタイプコードのペアから、そのブロックＢＬＫのブロックタイプを判定し、対応するＴＹＰＥワードを生成し、８ビットバス３１５を介してそのＴＹＰＥワードをペイロードフィールド発生器３０５に供給する。例えば、偶数番号のカッドのカッドコードが、そのカッドが情報ワードだけから構成されることを示していて、奇数番号のカッドのカッドコードが、ＥＯＰ制御ワードＴがそのカッドの第３のワードであることを示している場合、タイプワード発生器は、タイプ１１ブロックのＴＹＰＥワードを生成する。他の例として、カッドコードが両方とも、対応するカッドが情報ワードだけから構成されることを示している場合、タイプワード発生器は、００のような特殊な別の値のＴＹＰＥワードを生成する。この特殊な値のＴＹＰＥワードは、エンコーダ１００の内部でのみ使用され、そのブロックがタイプ１のブロックであることを示すのに使用される。このＴＹＰＥワードの値は、送信用に生成されるフレームのペイロードフィールド１５２には挿入されない（図４Ｂを参照）。
【０１１９】
タイプワード発生器３０６が、そのブロックがタイプ１のブロックであることを判定をした場合、タイプワード発生器３０６は、好ましい実施形態において第１の状態のマスター・トランジションＭＴ、すなわち０１を生成し、そのマスター・トランジションを２ビットバス３１６Ａを介してマスター・トランジション・スクランブラ３０９に供給する。タイプワード発生器３０６が、そのブロックがタイプ１以外のブロックであるという判定をした場合、タイプワード発生器３０６は、好ましい実施形態において第２の状態のマスター・トランジション、すなわち１０を生成し、そのマスター・トランジションを２ビットバス３１６Ａを介してマスター・トランジション・スクランブラ３０９に供給する。
【０１２０】
一実施形態において、マスター・トランジション・スクランブラ３０９は、６４ビットスクランブラ３０７から１ビットバス３１９を介して提供されるスクランブラビットを使用して、タイプワード発生器３０６から受信した２ビットのマスター・トランジションをスクランブルすることにより、スクランブルされたマスター・トランジションＳＭＴを生成し、そのスクランブルされたマスター・トランジションＳＭＴを２ビットバス３１６Ｂを介してフレーム組み立て器３０８に渡す。一実施形態において、マスター・トランジション・スクランブラ３０９は、６４ビットスクランブラ３０７から提供された単一のスクランブラビットを使用して、タイプワード発生器３０９によって生成された２ビットのマスター・トランジションの両方のビットをスクランブルする。本発明の一実施形態において、マスタ遷移スクランブラ３０９は、スクランブラビットとマスター・トランジションの第１のビットに対してＸＯＲ演算を実施し、そのＸＯＲ演算の結果をスクランブルされたマスター・トランジションの第１のビットとし、同じスクランブラビットとマスター・トランジションの第２のビットに対してＸＯＲ演算を実施し、その第２のＸＯＲ演算の結果をスクランブルされたマスター・トランジションの第２のビットとする。マスター・トランジション・スクランブラ３０９は、そのスクランブルされたマスター・トランジションをフレーム組み立て器３０８に供給する。
【０１２１】
ペイロードフィールド発生器３０５が、そのブロックがタイプ１のブロックであることを示す特殊な値のＴＹＰＥワードをタイプワード発生器３０６から受信した場合、ペイロードフィールド発生器３０５は、ブロック発生器３０２からバス３１３を介して受信したそのブロックを、そのブロックから生成されるフレーム１５３のペイロードフィールド１５２として使用する（図４を参照）。ペイロードフィールド１５２は、６４ビットのサイズを有し、情報ワードだけから構成される。
【０１２２】
ペイロードフィールド発生器３０５が、そのブロックがタイプ１のブロックではないことを示す値を有するＴＹＰＥワードをタイプワード発生器３０６から受信した場合、ペイロードフィールド発生器３０５は、ブロック発生器３０２からバス３１３を介して受信したブロックの中身をそのブロックから生成されるフレーム１５６のペイロードフィールド１５２のサブフィールド１５８に転送するとともに（図４Ｃを参照）、そのＴＹＰＥワードをそのペイロードフィールドのサブフィールド１５７にも挿入する。この転送を実施する際に、ブロック中に現れる何らかのスタート・オブ・パケット制御ワードやエンド・オブ・パケット制御ワードが、ブロックの圧縮のためにペイロードフィールドに転送されることはない。ＳＯＰ制御ワード及びＥＯＰ制御ワード以外の、ブロックの中身のサイズが５６ビット未満である場合、ペイロードフィールド発生器３０５は、例えば図７Ｇに示すように、サブフィールド１５８に詰め物をして５６ビットにする。その結果、ペイロードフィールド１５２の合計サイズは６４ビットになる。ペイロードフィールド発生器３０５は、ＴＹＰＥワードに従って動作する６４個の３入力データセレクタからなる１バンクのデータセレクタを使用して、ブロックの中身をペイロードフィールドに転送する。
【０１２３】
ペイロードフィールド発生器３０５は、そこで生成された各ペイロードフィールドＰＦを６４ビットバス３１７を介して６４ビットスクランブラ３０７に供給する。
【０１２４】
６４ビットスクランブラ３０７は、高次多項式を使用して、ペイロードフィールド発生器３０５から受信したペイロードフィールドＰＦをスクランブルする。高次多項式の特徴については後で説明する。上記のように、エンコーダ１００が、既にランダム化された入力データだけを送信するように設計される実施形態の場合、ペイロードフィールドのスクランブルは省略してもよい。６４ビットスクランブラ３０７は、スクランブルされたペイロードフィールドＳＰＦを６４ビット幅のバス３１８を介してフレーム組み立て器３０８に供給する。
【０１２５】
フレームスクランブラ３０８は、スクランブルされたマスター・トランジションＳＭＴをスクランブルされたペイロードフィールドＳＰＦに付加し、得られた６６ビットフレームを６６ビット幅のバス４４を介してマルチプレクサ３４（図１）に供給する。スクランブルされたマスター・トランジションは、スクランブルされたペイロードフィールドの先頭に付加することが好ましいが、スクランブルされたペイロードフィールドの末尾に付加してもよい。
【０１２６】
多項式を利用した自己同期式スクランブラを使用してビットストリームをスクランブルすることは、当該技術分野で知られている。本発明の一実施形態によるコーダ又は符号化方法によれば、フレームを送信するときに、最終的なビットストリームの統計的ＤＣバランスがとれ、ランダムであるように見えるように、各フレーム１５０（図４Ａを参照）のペイロードフィールド１５２がスクランブルされる。ペイロードフィールドをスクランブルすることにより、デコーダは、２ビットのマスター・トランジションを容易に同期させることができる。ただし、一実施形態において、マスター・トランジションをスクランブルする際に、その各ビットは単一のスクランブラビットを使用してスクランブルされる。すなわち、一実施形態において、スクランブルされたマスター・トランジションは常に１０又は０１であり、１１や００にはならない。そのため、各フレームの開始時には必ず何らかの遷移が存在する。フレームの他の部分がこの特徴を有することはない。なぜなら、本発明の一実施形態において、フレーム中の他のビットは全て個別にスクランブルされるからである。マスター・トランジションをこのようにしてスクランブルすることにより、各フレームの開始時に単一の遷移が維持され、マスター・トランジションの繰り返しパターンを送信することにより発生するスペクトルピークは抑制される。
【０１２７】
多項式のタップ間隔を調節することによりスクランブラを所与の用途に最適化する試みが行われている。本発明の一実施形態による１０Ｇｂ／秒用のスクランブラの場合、スクランブル多項式には下記の要件を満たすものが選択される。（１）選択される多項式は、全サイズのパケットを流入及び流出させる徹底的な３エラーテストにおいて、イーサネット（Ｒ）規格ＣＲＣ３２違反を起こさないものでなければならない。（２）ＴＹＰＥワード間のハミング距離を計算しなおすことによって生じるエラーの増加を防止するために、多項式のタップ間隔は８よりも大きくなければならない。（３）多項式の次数は、悪質な有害電波を防止するために５７よりも大きくなければならず、また、実施の複雑さを最小限に抑えるために６４よりも小さくなければならない。
【０１２８】
上記の基準を満たす多項式、及び、この基準の大部分を満たす好ましい多項式の例には、ｘ５８＋ｘ１９＋ｘ０、又はｘ６４＋ｘ１８＋ｘ０がある。
【０１２９】
好ましい実施形態において、ブロックは、６４ビットの自己同期式並列スクランブラ１８３又は３０７を使用して、好ましい多項式を使用してスクランブルされる。一実施形態において、スクランブラ１８３又は３０７は、マスター・トランジションのスクランブルにも使用され、独立したマスター・トランジション・スクランブラ１８６は使用しない場合がある。本発明の他の実施形態では、マスター・トランジション・スクランブラ１８３又は３０７を使用して、６４ビットペイロードスクランブラ１８３又は３０７から受信した単一のスクランブラビットを再使用して、ペアワイズスクランブルを実施することにより、マスター・トランジションをスクランブルする。その場合、単一のスクランブラビット（例えば、ペイロードフィールドの第１のビットをスクランブルするのに使用されたスクランブラビット）を使用してマスター・トランジションの両方のビットがスクランブルされる。本発明の一実施形態では、マスター・トランジションの２つのビットを個々にスクランブルするのではなくペアとしてスクランブルする場合、マスタースクランブラ１８６又は３０９は、スクランブラビットとマスター・トランジションの両方のビットに対してＸＯＲ演算を実施するか、又は、スクランブラビットとマスター・トランジションの一方のビットに対してＸＯＲ演算を実施することにより、スクランブルされたマスター・トランジションの第１のビットを生成し、その第１のビットを反転させて、スクランブルされたマスター・トランジションの第２のビットを得る場合がある。この実施形態において、スクランブラ１８６又は３０９は、自己のスクランブラビットを生成せず、スクランブルする各ビットを別のビットとＸＯＲ演算しない点で、従来のスクランブラとは異なる。本発明の他の実施形態において、マスター・トランジション・スクランブラ１８６又は３０９は、自己のスクランブラビットを生成する自己同期式スクランブラであり、マスター・トランジションのペアワイズスクランブルを実施する。本発明の一実施形態において、独立した自己同期式スクランブラ１８６又は３０９は、比較的短いビット幅（例えば８ビット又は１６ビット）のスクランブラである。
【０１３０】
図９Ａは、本発明の一実施形態による符号化方法及びコーダによって生成されるフレームをデコードするためのデコード方法の一例２７０を示すフロー図である。
【０１３１】
この方法はプロセス２７１から開始される。プロセス２７２では、デマルチプレクサ３６からバス４５（図１）を介してフレームを受信する。プロセス２７３では、そのフレーム中のスクランブルされたペイロードフィールド及びスクランブルされたマスター・トランジションのスクランブルを解除する。エンコーダ１００がペイロードをスクランブルしない場合（上を参照）、スクランブル解除の処理は省略してもよい。プロセス２７４では、そのフレームのマスター・トランジションに対してテストを実施し、そのマスター・トランジションが第１の状態になっているか否かを判定する。好ましい実施形態において、第１の状態は０１である。テスト結果がＹＥＳであった場合、それは、そのフレームのペイロードフィールドが情報ワードだけから構成されていることを意味し、処理はプロセス２７７へ進む。プロセス２２７については後で説明する。テスト結果がＮＯであった場合、処理はプロセス２７５へ進む。
【０１３２】
プロセス２７４におけるＮＯという結果は、そのフレームのペイロードフィールドが情報ワードだけから構成されるものでないこと、すなわち、ＴＹＰＥワードを含むことを意味する。プロセス２７５では、ペイロードフィールドからそのＴＹＰＥワードを抽出する。
【０１３３】
プロセス２７６では、ＴＹＰＥワードによって提供されるペイロードフィールドの構造に関する情報を使用して、そのフレームのペイロードフィールドを展開する。ペイロードフィールドの展開は、フレーム生成の元になったブロックに対してエンコーダ１００が適用した圧縮の逆である。従って、ペイロードフィールドを展開ときには、符号化された制御ワードを再符号化し、８ビットの制御ワードを生成する。また、パケットの始まり又はパケットの終わりがペイロードフィールド中にある場合、スタート・オブ・パケット制御ワード又はエンド・オフ・パケット制御ワードをそれぞれペイロードフィールドに挿入する。上記のように、ＴＹＰＥワードは、ペイロードフィールドのうちの符号化された制御ワードによって占められた部分、及び、そのペイロードフィールド中におけるパケットの始まり又はパケットの終わりの位置を示すものである。プロセス２７６において実施される処理の詳細については、図９Ｂを参照して後で説明する。次に、処理はプロセス２７７へ進む。
【０１３４】
プロセス２７７では、そのペイロードフィールドを受信データのブロックとして使用する。
【０１３５】
プロセス２７８では、全てのフレームの処理が完了したか否かを判定するためのテストを実施する。テスト結果がＮＯであった場合、処理はプロセス２８０を介してプロセス２７２へ進み、次のフレームを処理することができる。
【０１３６】
次に、図９Ａを参照して上で説明した方法のプロセス２７６について、図９Ｂを参照して説明する。
【０１３７】
図９Ｂは、本発明の一実施形態による図９Ａに示した方法のプロセス２７６において実施される処理の一例を示すフロー図である。
【０１３８】
この処理はプロセス２９１から開始される。
【０１３９】
プロセス２９３において、ＴＹＰＥワードが何らかの符号化された制御ワードがペイロードフィールド中に現れたことを示しているか否か、すなわち、エンコーダ１００がペイロードフィールドをタイプ２のブロック又はタイプ４〜１１のブロックから導出したか否かを判定する。テスト結果がＮＯであった場合、処理はプロセス２９６へ進む、プロセス２９６については後で説明する。テスト結果がＹＥＳであった場合、処理はプロセス２９４へ進む。
【０１４０】
プロセス２９４では、ＴＹＰＥワードを使用して、ペイロードフィールドのうちの、１以上の符号化された制御ワードによって占められている部分、及び、符号化された制御ワードの数を識別する。図７Ａ〜図７Ｌを参照すると、各ブロックタイプから導出されたフレーム中の符号化された制御ワードの数は異なるが、それらの制御ワードは常に連続していることが分かる。ただし、フレームによっては、符号化された制御ワードがペイロードフィールドの先頭に接する場合や、符号化された制御ワードがペイロードフィールドの末尾に接する場合もある。
【０１４１】
プロセス２９５では、プロセス２９４で識別された符号化された制御ワードをデコードし、元の制御ワードを復元する。
【０１４２】
プロセス２９６では、ＴＹＰＥワードが、パケットがペイロードフィールド中で始まっている又は終わっていることを示すものであるか否かを判定するためのテストを実施する。すなわち、エンコーダ１００がタイプ３〜タイプ１２のブロックからペイロードフィールドを導出したか否かを判定する。試験結果がＮＯであった場合、それは、ペイロードフィールドがタイプ２のブロックから導出されたことを意味する。その場合、処理はプロセス２９９へ進む。プロセス２９９については後で説明する。テスト結果がＹＥＳであった場合、処理はプロセス２９７へ進む。
【０１４３】
プロセス２９７では、ペイロードフィールド中におけるパケットの始まりの位置又はパケットの終わりの位置の部分をＴＹＰＥワードから識別する。
【０１４４】
プロセス２９８では、ＳＯＰ制御ワードＳ又はＥＯＰ制御ワードＴをペイロードフィールドに挿入する。挿入される制御ワードＳ又はＴと、その制御ワードが挿入されるペイロードフィールド中の位置は、挿入される制御ワードが制御ワードＳであるか制御ワードＴであるかに関わらず、ＴＹＰＥワードによって定義される。次に、処理はプロセス２９９へ進む。
【０１４５】
プロセス２９９において、処理はメインルーチンに戻る。
【０１４６】
プロセス２９５において実施される制御ワードのデコードと、プロセス２９８において実施される制御ワードの挿入のうちの、いずれか一方又は両方により、８ビット制御ワードがペイロードフィールドに挿入される。その結果、ＴＹＰＥワードによって以前占められていたペイロードフィールド中の空間が満たされ、フレームによっては幾つかのビットが上書きされる。
【０１４７】
図１０Ａは、デコーダ１２０の第１の実施形態を示すブロック図である。デコーダ１２０は、フレームデコーダ１９１、６４ビット並列スクランブル解除器１９２、タイプワード抽出器１９３、ブロック発生器１９４、ブロックシーケンス検出器１９５、及び、マスター・トランジション・スクランブル解除器１９６を含む。
【０１４８】
フレームデコーダ１９１は、デマルチプレクサ３６から６６ビットバス４５（図１）を介して各６６ビットのフレームを受信する。フレームデコーダ１９１は、フレームの先頭にあるスクランブルされたマスター・トランジションＳＭＴを読み取り、そのスクランブルされたマスター・トランジションをマスター・トランジション識別器１９６に供給する。フレームデコーダ１９１は、スクランブルされたペイロードフィールドＳＰＦを構成している残りの６４ビットをスクランブル解除器１９２に供給する。
【０１４９】
スクランブル解除器１９２は、エンコーダ１００のスクランブラ１８３（図８Ａ）がペイロードフィールドをスクランブルするときに使用したものと同じ多項式を使用する、自己同期式多項式スクランブル解除器である。レイテンシを低減するために、スクランブル解除器１９２は並列スクランブル解除器であることが好ましい。スクランブル解除器１９２は、フレームデコーダ１９１から受信したスクランブルされたペイロードフィールドＳＰＦのスクランブルを解除し、得られたペイロードフィールドＰＦをタイプワード抽出器１９３及びブロック発生器１９４に供給する。ペイロードフィールドがスクランブルされていないフレームをデコードするために専用に設計されたデコーダを使用する場合、スクランブル解除器１９２は省略してもよい。
【０１５０】
マスター・トランジション・スクランブル解除器１９６は、６４ビットスクランブル解除器１９２から提供されたスクランブル解除ビットを使用して、フレームデコーダ１９１から受信したスクランブルされたマスター・トランジションＳＭＴのスクランブルを解除することにより、（スクランブル解除された）マスター・トランジションＭＴを生成する。マスター・トランジション・スクランブル解除器１９６は、そのマスター・トランジションＭＴをタイプワード抽出器１９３、ブロックシーケンス検出器１９５、及び、ブロック発生器１９４に供給する。
【０１５１】
タイプワード抽出器１９３は、スクランブル解除器１９２からペイロードフィールドＰＦを受信し、更に、マスター・トランジション・スクランブル解除器１９６からマスター・トランジションＭＴを受信する。タイプワード抽出器１９３が動作するのは、マスター・トランジションが第２の状態にあるときのみ、すなわち、フレームのペイロードフィールドが情報ワードだけから構成されるものでない場合のみである。タイプワード抽出器１９３は、ペイロードフィールド１５２（図４Ｃ）のサブフィールド１５７からＴＹＰＥワードを抽出し、そのＴＹＰＥワードをブロック発生器１９４及びブロックシーケンス検出器１９５に供給する。
【０１５２】
ブロック発生器１９４は、スクランブル解除器１９２からペイロードフィールドＰＦを受信し、タイプワード抽出器１９３からＴＹＰＥワードを受信し、マスター・トランジション・スクランブル解除器１９６からマスター・トランジションＭＴを受信する。ブロック発生器１９４は、マスター・トランジションＭＴに従って動作する。マスター・トランジションが第１の状態にあるとき、ブロック発生器１９４は、ペイロードフィールドＰＦを受信データのブロックとして使用する。マスター・トランジションが第２の状態にあるとき、ブロック発生器１９４は、タイプワードによって提供されたペイロードフィールドの構造に関する情報を使用して、ペイロードフィールドを展開する。このペイロードフィールドの展開は、フレームを生成した元のブロックに対してエンコーダ１００が適用した圧縮の逆の処理である。従って、ペイロードフィールドを展開する場合、符号化された制御ワードを再符号化し、８ビットの制御ワードが生成される。また、パケットの始まり又は終わりがペイロードフィールド中に現れる場合、スタート・オブ・パケット制御ワード又はエンド・オブ・パケット制御ワードがそれぞれ、ペイロードフィールドに挿入される。上記のように、ＴＹＰＥワードは、ペイロードフィールドのどの部分が符号化された制御ワードによって占められているか、及び、ペイロードフィールド中におけるパケットの始まり又はパケットの終わりの位置を示している。最後に、ブロック発生器１９４は、展開後のペイロードフィールドを受信データのブロックとして使用する。
【０１５３】
ブロック発生器１９４は、受信データのブロックをバス４３（図１）を介して４ｘ８ｂ／１０ｂエンコーダ３８に供給する。
【０１５４】
ブロックシーケンス検出器１９５は、タイプワード抽出器１９３からＴＹＰＥワードを受信し、マスター・トランジション・スクランブル解除器１９６からマスター・トランジションＭＴを受信する。フレームのマスター・トランジションと、そのフレームのＴＹＰＥワードが存在する場合、それら全部により、そのフレームがどのようなフレームであるかが規定される。上記のように、フレームは４つの異なる種類のうちの１つに分類することができる。すなわち、情報ワードＤだけから構成されたフレーム（タイプ１のブロックから生成される）、パケットの始まりを含むフレーム（タイプ３又はタイプ４のブロックから生成される）、パケットの終わりを含むフレーム（タイプ５〜タイプ１２のブロックのうちの１つから生成される）、及び、制御ワードＺだけからなるフレーム（タイプ２のブロックから生成される）である。エンコーダ１００は、これら４つの異なる種類のフレームを所定の順序、例えば、Ｓ，Ｄ，・・・，Ｄ，Ｔ，Ｚ，・・・，Ｚ，Ｓ，Ｄ，・・・，Ｄ，Ｔ，Ｚ，・・・Ｚなどで生成する。ブロックシーケンス検出器１９５は、受信フレームの種類の順序を監視し、ＴＹＰＥワード及びマスター・トランジションが、そのフレームが所定の順序に違反するフレームであることを示している場合、エラーフラグＥＲＲを生成する。ブロック発生器１９４は、そのエラー信号に応じて、フレームから生成された受信データのブロックにエラー制御ワードＥを追加する。このエラー制御ワードにより、ＭＡＣ１２（図１）は、ブロックの一部を形成するそのパケットを無効化することができる。
【０１５５】
図１０Ｂは、デコーダ１２０の第２の実施形態を示すブロック図である。デコーダ１２０は、フレームデコーダ３２０、６４ビット並列スクランブル解除器３２１、ペイロードフィールドデコーダ３２２、タイプワードデコーダ３２３、ＳＴＺデコーダ３２４、マルチプレクサ３２５、及び、マスター・トランジション・スクランブル解除器３２６を含む。
【０１５６】
フレームデコーダ３２０は、６６ビット幅のバス４５によってデマルチプレクサ３６（図１）の出力に接続され、デマルチプレクサ３６から受信したビットストリームから各フレームを復元する。フレームデコーダ３２０は、そのフレームの先頭にあるスクランブルされたマスター・トランジションＳＭＴを読み取り、そのスクランブルされたマスター・トランジションを２ビットバス３２８を介してマスター・トランジション・スクランブル解除器３２６に供給する。フレームデコーダ３２０は、そのフレームのスクランブルされたペイロードフィールドを構成している残りの６４ビットを６４ビットバス３３１を介してスクランブル解除器３２１に供給する。
【０１５７】
スクランブル解除器３２１は、エンコーダ１００のスクランブラ３０７（図８Ｂ）においてペイロードフィールドのスクランブルに使用されたものと同じ多項式を使用する、自己同期式多項式スクランブル解除器である。レイテンシを低減するために、スクランブル解除器３２１は並列スクランブル解除器であることが望ましい。スクランブル解除器３２１は、フレームデコーダ３２０から受信したスクランブルされたペイロードフィールドのスクランブルを解除し、得られたペイロードフィールドを６６ビットバス３３２を介してペイロードフィールドデコーダ３２２に供給する。また、スクランブル解除器３２１によって出力されたペイロードフィールドの先頭に最も近い８ビット、すなわち、ペイロードフィールド（図４Ａ）中にＴＹＰＥワードが存在する場合、そのＴＹＰＥワードに相当するビットを更に、８ビットバス３３３を介してタイプワードデコーダ３２３に供給する。
【０１５８】
マスター・トランジション・スクランブル解除器３２６は、６４ビットスクランブル解除器３２１から１ビットバス３２９を介して提供されたスクランブル解除ビットを使用して、フレームデコーダ３２０から受信したスクランブルされたマスター・トランジションＳＭＴのスクランブルを解除することにより、（スクランブル解除された）マスター・トランジションＭＴを生成する。マスター・トランジション・スクランブル解除器３２６は、そのマスター・トランジションＭＴを２ビットバス３３０を介してタイプワードデコーダ３２３に供給する。
【０１５９】
タイプワードデコーダ３２３は、マスター・トランジション・スクランブル解除器３２６からマスター・トランジションＭＴを受信し、スクランブル解除器３２１から８ビットワード（そのうちの幾つかはＴＹＰＥワード）を受信する。マスター・トランジションが１０である場合、それは、ペイロードフィールドが情報ワードだけから構成されるものではないことを意味し、バス３３３から受信した８ビットワードは、ペイロードフィールドから抽出されたＴＹＰＥワードである。タイプワードデコーダ３２３は、そのＴＹＰＥワードを最初の４ビットまでに切り詰め、切り詰めたＴＹＰＥワードを４ビットバス３３４を介してペイロードフィールドデコーダ３２２に供給する。代替実施形態において、ＴＹＰＥワードは切り詰めずに使用してもよい。
【０１６０】
マスター・トランジションが０１である場合、それは、ペイロードフィールドが情報ワードだけから構成されていることを意味し、タイプワードデコーダ３２３は、バス３３３から受信した８ビットワードのデコードを何も実施しない。代わりにタイプワードデコーダは、ペイロードフィールドが情報ワードだけから構成されていることを示す別の切り詰められたＴＹＰＥワードを生成する。ただし、ペイロードフィールドが情報ワードだけから構成されていることを示すこの切り詰められたＴＹＰＥワードを使用した場合でも、ＴＹＰＥワードのセットは十分に小さく、デコーダによって実施される内部処理においてＴＹＰＥワードを４ビットコードで確実に表現することが可能である。
【０１６１】
タイプワードデコーダ３２３は、上記のブロックシーケンス検出器１９５（図１０Ａ）に似たブロックシーケンス検出器（図示せず）を更に含む。このブロックシーケンス検出器は、マスター・トランジションＭＴ及びＴＹＰＥワードを使用し、フレームタイプの順番をトラッキングし、フレームタイプの順番が上記のような所定の順番から外れた場合、接続３３６を介してエラー信号ＥＲＲをＳＴＺデコーダ３２４に送信する。
【０１６２】
ペイロードフィールドデコーダ３２２は、スクランブル解除器３２１からペイロードフィールドを受信し、タイプワードデコーダ３２３からそれに対応する切り詰められたＴＹＰＥワードを受信する。ペイロードフィールドデコーダ３２２は、その切り詰められたＴＹＰＥワードを検査し、ペイロードフィールドの構造を判定する。すなわち、ペイロードフィールドのどのデータ要素が情報ワードであるか、どのデータ要素が符号化された制御ワードであるか、及び、ペイロードフィールド中におけるパケット（もしあれば）の始まり又はパケットの終わりの位置を判定する。ペイロードフィールドデコーダ３２２は、その切り詰められたＴＹＰＥワードによって規定される構造に従って、ペイロードフィールドの中身を８ワード、すなわち６４ビットのブロックに転送する。この目的のために、ＴＹＰＥワードに従って動作する６４個の３入力データセレクタのセットを使用することができる。
【０１６３】
ＴＹＰＥワードがタイプ３〜タイプ１２のブロックに対応するものである場合、ペイロードフィールドデコーダ３２２は、切り詰められたＴＹＰＥワードによって示されたブロック中の位置に、スタート・オブ・パケット制御ワードＳ又はエンド・オブ・パケット制御ワードＴを挿入する。ペイロードフィールドデコーダ３２２は、バス３３６の７２本の導体のうちの６４本を介して、その６４ビットブロックをＳＴＺデコーダ３２４に供給する。ペイロードフィールドデコーダ３２２は更に、バス３３６の残りの３本の導体を介して、そのブロックの８個の制御ワードフラグのセットを供給する。これらの制御ワードフラグは、ブロック中の各ワードが情報ワードであるか、それとも制御ワードであるかを示すものである。ペイロードフィールドデコーダ３２２は、切り詰められたＴＹＰＥワードに従って制御ワードフラグのセットを選択し、それを各ブロックと共にＳＴＺデコーダ３２４に供給する。なぜなら、ブロックの各ワードが情報ワードであるか制御ワードであるかは、そのブロックのブロックタイプによって決まるからである。
【０１６４】
ＳＴＺデコーダ３２４は、ペイロードフィールドデコーダ３２２からブロックと共に受信した８個の制御ワードフラグに従って動作する。ＳＴＮデコーダ３２４は、ブロック中の符号化された各制御ワードの符号をデコードし、元の８ビット制御ワードを復元する。ブロック中のデコードすべきワードは、ワードが制御ワードとして符号化されていることを示す制御ワードフラグによって分かる。
【０１６５】
ＳＴＮデコーダ３２４は、ブロックの最初の４ワードとそれに対応する制御ワードフラグを３６ビットバス３３７に送信し、ブロックの次の４ワードとそれに対応する制御ワードフラグを３６ビットバス３３８に送信することにより、２つのカッドを構成する。バス３３７及び３３８は、それらのカッドとその制御ワードフラグを並列にマルチプレクサ３２５に供給する。
【０１６６】
マルチプレクサ３２５は、バス３３７及び３３８から受信したカッドと対応する制御ワードフラグを擬似ＸＧＭＩＩバス４３を介して４ｘ８ｂ／１０ｂエンコーダ３８に交互に供給する。
【０１６７】
一実施形態では、スクランブル解除器１９２又は３２１を更に使用して、スクランブルされたマスター・トランジションのスクランブルを解除する場合があり、独立したマスター・トランジション・スクランブル解除器１９６又は３２６は使用しない場合がある。本発明の他の実施形態において、スクランブルされたマスター・トランジションは、マスター・トランジション・スクランブル解除器１９６又は３２６を使用し、６４ビットペイロードスクランブル解除器１９２又は３２１からの単一のスクランブラビットを再使用して、ペアワイズスクランブル解除を実施することにより、そのスクランブルが解除される。その場合、その単一のスクランブル解除ビット（例えば、ペイロードフィールドの最初のビットのスクランブルを解除するのに使用されたスクランブラビット）は、スクランブルされたマスター・トランジションの両方のビットのスクランブルを解除するのに使用される。この実施形態において、スクランブル解除器１９２又は３２６は、自己のスクランブラビットを生成しない点で、従来のスクランブル解除器とは異なり、スクランブルを解除すべきビットのスクランブルが、別のスクランブル解除ビットを使用して解除されることはない。本発明の他の実施形態において、マスター・トランジション・スクランブル解除器１９６又は３２６は、自己のスクランブル解除ビットを生成する独立した自己同期式スクランブル解除器であり、スクランブルされたマスター・トランジションのペアワイズスクランブル解除を実施する。この実施形態の１つでは、独立した自己同期式スクランブル解除器１９６又は３２６として、ビット幅の比較的短いスクランブル解除器が使用される（例えば８ビット又は１６ビット）。
【０１６８】
本発明の一実施形態は、６４ｂ／６６ｂ符号として実施した場合に、非常に低いオーバヘッド（３．１２５％）を有するコーダ及び符号化方法を提供する。このオーバヘッドは、８ｂ／１０ｂの場合（２５％）に比べて非常に小さい。本発明の一実施形態によるコーダ及び符号化方法は、自己同期式スクランブラを使用する。他の符号化方式では、同期情報の定期的な送信や複雑な技術を使用して、非自己同期スクランブラを初期化しなければならない場合がある。本発明の一実施形態によるコーダ及び符号化方法は、イーサネット（Ｒ）規格ＣＲＣ３２コーディングの妨げにならないようにスクランブラ多項式を選択した場合、１０Ｇｂ／秒において良好なエラー検出特性を有する。本発明の一実施形態によるコーダ及び符号化方法は、ＴＹＰＥワードと制御ワードの最小ハミング距離が４ビットになるようにそれらを選択することにより、誤ったパケットを受信するまでの平均時間（ＭＴＦＰＡ）が素晴らしいものになる。ビットエラーレートが１０−９で、ビットレートが１０．３Ｇｂ／秒のとき、一実施形態によるコーダ及び符号化方法によれば、ビットエラーレートが１０−１１のときに８ｂ／１０ｂラインコードを使用する１Ｇｂ／秒のイーサネット（Ｒ）のものとほぼ同じＭＴＦＰＡが得られる本発明の一実施形態によるコーダ及び符号化方法は、十分な情報ワードを取得すると直ぐに、符号化を開始する。すなわち、送信に先立ってイーサネット（Ｒ）パケット全体をバッファリングする必要はない。本発明の一実施形態によるコーダ及び符号化方法によれば、ＳＯＮＥＴ  ＯＣ−１９２トランスミッタで使用するために設計された既存のレーザーを使用して、イーサネット（Ｒ）データを１０．０Ｇｂ／秒のビットレートで伝送することが可能である。本発明の一実施形態によるコーダ及び符号化方法に基づく１０Ｇｂ／秒イーサネット（Ｒ）規格は、１２．５ボーの変調が可能なレーザーが開発されるのを待つことなく、直ぐに使用することが可能である。本発明の一実施形態に従ってマスター・トランジションのスクランブル及びスクランブル解除を行えば、各フレームの始まりにおける信号遷移が維持され、マスター・トランジションの反復パターンを送信することにより生じるスペクトルピークを除去することができる。
【０１６９】
本発明の種々の例示的実施形態を以下に列挙する。
１．情報ワードのパケットを送信用のフレームとして符号化する方法であって、
制御ワードと、情報ワードのパケットとを含む入力データのブロックを受信するステップであって、前記パケットが始まりと終わりを有し、前記始まりの前に前記制御ワードのうちの幾つかが続き、前記終わりの後に前記制御ワードのうちの他の幾つかが続き、前記ブロックは前記パケットよりも小さいものである、入力データのブロックを受信するステップと、
ブロックが情報ワードだけから構成ささているか否かを判定するステップと、
前記ブロックが情報ワードだけから構成されている場合、第１の意味を有するマスター・トランジションをスクランブルし、スクランブルされたマスター・トランジションを前記ブロックに付加して、前記フレームの１つを形成するステップと、
前記ブロックが情報ワードだけから構成されていない場合、
前記ブロックを圧縮してＴＹＰＥワードを入れることができるようにし、
前記ブロックの構造的特性を示す値を有するＴＹＰＥワードを生成し、該ＴＹＰＥワードを前記ブロックに挿入し、
前記第１の意味とは反対の第２の意味を有するマスター・トランジションをスクランブルし、スクランブルされたマスター・トランジションを前記ブロックに付加して、前記フレームの１つを形成するステップと
からなる方法。
２．生成される前記ＴＹＰＥワードは、前記ブロックの構造的特性である、（ａ）前記ブロックにおける前記パケットの始まりの位置、（ｂ）前記ブロックにおける前記パケットの終わりの位置、（ｃ）前記ブロックが制御ワードだけから構成されていること、のうちのいずれか１つを示す値を有する、１に記載の方法。
３．前記ブロックの送信前に前記ブロックを復元可能にスクランブルするステップ、を更に含む１に記載の方法。
４．前記マスター・トランジションは０１又は１０の２ビット値である、１に記載の方法。
５．前記マスター・トランジションの両方のビットが、単一のスクランブラビットに基づいてスクランブルされ、スクランブルされたマスター・トランジションが、０１又は１０の２ビット値である、４に記載の方法。
６．入力データのブロックを送信用の対応するフレームとして符号化するためのコーダであって、前記入力データが、制御ワードと、情報ワードのパケットとを含み、前記パケットが始まりと終わりを有し、前記始まりの前に前記制御ワードのうちの幾つかが続き、前記終わりの後に前記制御ワードのうちの他の幾つかが続き、前記ブロックが前記パケットよりも小さいものにおいて、
ブロックを受信し、該ブロックのＴＹＰＥワードを生成するタイプワード発生器であって、前記ＴＹＰＥワードが前記ブロックの構造的特性を示す値を有するものである、タイプワード発生器と、
前記ＴＹＰＥワードに従って動作するマスター・トランジション発生器であって、前記ＴＹＰＥワードが、前記ブロックが情報ワードだけから構成されることを示すものである場合に、第１の意味を有するマスター・トランジションを生成し、それ以外の場合に、前記第１の意味とは反対の第２の意味を有するマスター・トランジションを生成する、マスター・トランジション発生器と、
前記マスター・トランジションをスクランブルすることにより、スクランブルされたマスター・トランジションを形成する、第１のスクランブラと、
前記ＴＹＰＥワードに従って動作するペイロードフィールド発生器であって、前記ＴＹＰＥワードが、前記ブロックが情報ワードだけから構成されることを示すものである場合に、前記ブロックを使用して、前記ブロックに対応するフレームのペイロードフィールドを形成し、それ以外の場合に、前記ブロックを圧縮し、前記ＴＹＰＥワードを前記ブロックに挿入してペイロードフィールドを形成する、ペイロードフィールド発生器と、
前記スクランブルされたマスター・トランジションを前記ペイロードフィールドに付加し、フレームを形成する、フレーム組み立て器と
からなるコーダ。
７．生成される前記ＴＹＰＥワードは、前記ブロックの構造的特性である、（ａ）前記ブロックが情報ワードだけから構成されているか否か、（ｂ）前記ブロックにおける前記パケットの始まりの位置、（ｃ）前記ブロックにおける前記パケットの終わりの位置、（ｄ）前記ブロックが制御ワードだけから構成されているか否か、のうちのいずれか１つを示す値を有する、６に記載のコーダ。
８．前記第１のスクランブラは、前記ペイロードフィールドをスクランブルするように更に構成される、６に記載のコーダ。
９．前記ペイロードフィールド発生器と前記フレーム組み立て器の間に、前記ペイロードフィールドをスクランブルするための第２のスクランブラが更に配置される、６に記載のコーダ。
１０．前記第１のスクランブラは１６ビットスクランブラである、９に記載のコーダ。
１１．前記第１のスクランブラは８ビットスクランブラである、９に記載のコーダ。
１２．前記マスター・トランジションは０１又は１０の２ビット値であり、前記マスター・トランジションの両方のビットが、単一のスクランブラビットに基づいてスクランブルされ、スクランブルされたマスター・トランジションは、０１又は１０の２ビット値である、６に記載のコーダ。
１３．前記スクランブラビットは、前記ペイロードフィールドをスクランブルする第２のスクランブラによって提供される、１２に記載のコーダ。
１４．データのフレームをデコードする方法であって、前記フレームが、情報のパケットを表す１セットのフレームであって、前記パケットの前後に続く符号化された制御ワードを更に表す１セットのフレームのうちの１つであり、前記フレームのそれぞれが、スクランブルされたマスター・トランジションと、ペイロードフィールドとを有し、前記ペイロードフィールドが、（ａ）情報ワードだけから構成されたペイロードフィールドと、（ｂ）前記ペイロードフィールドの構造を識別するＴＹＰＥワードを含むペイロードフィールドとのうちのいずれか一方であるものにおいて、
前記ペイロードフィールドが情報ワードだけから構成されている場合に第１の状態にあるスクランブルされたマスター・トランジションであって、それ以外の場合に第２の状態にあるスクランブルされたマスター・トランジションのスクランブルを解除するステップと、
スクランブル解除されたマスター・トランジションが前記第１の状態にある場合に、前記ペイロードフィールドを受信データのブロックとして使用するステップと、
スクランブル解除されたマスター・トランジションが前記第１の状態にない場合に、
前記ペイロードフィールドからＴＹＰＥワードを抽出し、
前記ＴＹＰＥワードに従って前記ペイロードフィールドを展開し、
展開後のペイロードフィールドを受信データのブロックとして使用するステップと
からなる方法。
１５．前記ペイロードフィールドはスクランブルされていて
前記方法は、前記ペイロードフィールドのスクランブルを解除するステップを更に含む、１４に記載の方法。
１６．前記スクランブルされたマスター・トランジションは０１又は１０の２ビット値である、１４に記載の方法。
１７．前記スクランブルされたマスター・トランジションの両方のビットのスクランブルが、単一のスクランブラビットに基づいて解除され、スクランブル解除されたマスター・トランジションは、０１又は１０の２ビット値である、１６に記載の方法。
１８．データのフレームをデコードするためのデコーダであって、前記フレームが、情報のパケットを表す１セットのフレームであって、前記パケットの前後に続く符号化された制御ワードを更に表す１セットのフレームのうちの１つであり、前記フレームのそれぞれが、スクランブルされたマスター・トランジションと、ペイロードフィールドとを有し、前記ペイロードフィールドが、（ａ）情報ワードだけから構成されたフレームと、（ｂ）前記ペイロードフィールドの構造を識別するＴＹＰＥワードを含むフレームとのうちのいずれか一方であるものにおいて、
前記フレームを受信し、前記フレームを前記スクランブルされたマスター・トランジションと前記ペイロードフィールドに分離する、フレームデコーダと、
前記ペイロードフィールドが情報ワードだけから構成されている場合に第１の状態にあるスクランブルされたマスター・トランジションであって、それ以外の場合に第２の状態にあるスクランブルされたマスター・トランジションのスクランブルを解除する、第１のスクランブル解除器と、
前記ペイロードフィールド及び前記スクランブル解除されたマスター・トランジションを受信するように接続されたタイプワード抽出器であって、前記スクランブル解除されたマスター・トランジションが第２の状態にあるときに、前記ペイロードフィールドからＴＹＰＥワードを抽出するように動作する、タイプワード抽出器と、
前記ペイロードフィールド、前記ＴＹＰＥワード、及び、前記スクランブル解除されたマスター・トランジションを受信するように接続されたブロック発生器であって、前記スクランブル解除されたマスター・トランジションが前記第１の状態にある場合に、前記ペイロードフィールドを受信データのブロックとして使用し、前記スクランブル解除されたマスター・トランジションが前記第２の状態にある場合に、前記ＴＹＰＥワードに従って前記ペイロードフィールドを展開し、展開後の前記ペイロードフィールドを受信データのブロックとして使用する、ブロック発生器と
からなるデコーダ。
１９．前記ペイロードフィールドはスクランブルされていて、
前記デコーダは、前記フレームデコーダから前記ペイロードフィールドを受信するように接続された第２のスクランブル解除器を更に含む、１８に記載のデコーダ。
２０．前記第１のスクランブル解除器は、前記第２のスクランブル解除器によって提供される単一のスクランブル解除ビットに基づいて、前記スクランブルされたマスター・トランジションのスクランブルを解除する、１９に記載のデコーダ。
【０１７０】
本明細書には、本発明の種々の例示的実施形態が詳細に記載されている。しかしながら、本発明が記載した実施形態に厳密に制限されることはなく、特許請求の範囲によって規定される本発明の範囲内において、種々の変更を実施することが可能であると考えられる。本明細書は特定の幾つかの実施形態について図示説明しているが、当業者には明らかなように、本発明の範囲から外れることなく、それらの特定の実施形態に代えて種々の代替実施形態及び／又は均等実施形態を使用することも可能である。従って出願人は、本明細書に記載した特定の実施形態の変更実施形態や修正実施形態も本発明の範囲に含めることを意図している。本発明の範囲は特許請求の範囲及びその均等によって規定される。
【図面の簡単な説明】
【０１７１】
【図１】本発明の一実施形態によるコーダを含む１０Ｇｂ／秒イーサネット（Ｒ）インタフェースの一例を示すブロック図である。
【図２】本発明の一実施形態によるコーダによって受信される入力データのカッドの例を示す概略図である。
【図３Ａ】本発明の一実施形態によるコーダによって受信することが可能なブロックタイプの例を示す図である。
【図３Ｂ】本発明の一実施形態によるコーダによって受信することが可能なブロックタイプの例を示す図である。
【図３Ｃ】本発明の一実施形態によるコーダによって受信することが可能なブロックタイプの例を示す図である。
【図３Ｄ】本発明の一実施形態によるコーダによって受信することが可能なブロックタイプの例を示す図である。
【図４Ａ】本発明の一実施形態によるコーダが入力データのブロックから生成するフレームの基本構造の一例を示す図である。
【図４Ｂ】本発明の一実施形態によるコーダが入力データのブロックから生成するフレームの基本構造の一例を示す図である。
【図４Ｃ】本発明の一実施形態によるコーダが入力データのブロックから生成するフレームの基本構造の一例を示す図である。
【図５Ａ】本発明による符号化方法の第１の実施形態を示すフロー図である。
【図５Ｂ】図５Ａに示した方法のプロセス２０５において実施される、本発明の一実施形態による処理の一例を示すフロー図である。
【図６】本発明による符号化方法の第２実施形態であるカッドベースの実施形態を示すフロー図である。
【図７Ａ】図３Ａに示したブロックタイプ１から生成される、本発明の一実施形態によるマスター・トランジション及びＴＹＰＥワードを含むフレームの例を示す図である。
【図７Ｂ】図３Ｂに示したブロックタイプ２から生成される、本発明の一実施形態によるマスター・トランジション及びＴＹＰＥワードを含むフレームの例を示す図である。
【図７Ｃ】図３Ｃに示したブロックタイプ３から生成される、本発明の一実施形態によるマスター・トランジション及びＴＹＰＥワードを含むフレームの例を示す図である。
【図７Ｄ】図３Ｃに示したブロックタイプ４から生成される、本発明の一実施形態によるマスター・トランジション及びＴＹＰＥワードを含むフレームの例を示す図である。
【図７Ｅ】図３Ｄに示したブロックタイプ５から生成される、本発明の一実施形態によるマスター・トランジション及びＴＹＰＥワードを含むフレームの例を示す図である。
【図７Ｆ】図３Ｄに示したブロックタイプ６から生成される、本発明の一実施形態によるマスター・トランジション及びＴＹＰＥワードを含むフレームの例を示す図である。
【図７Ｇ】図３Ｄに示したブロックタイプ７から生成される、本発明の一実施形態によるマスター・トランジション及びＴＹＰＥワードを含むフレームの例を示す図である。
【図７Ｈ】図３Ｄに示したブロックタイプ８から生成される、本発明の一実施形態によるマスター・トランジション及びＴＹＰＥワードを含むフレームの例を示す図である。
【図７Ｉ】図３Ｄに示したブロックタイプ９から生成される、本発明の一実施形態によるマスター・トランジション及びＴＹＰＥワードを含むフレームの例を示す図である。
【図７Ｊ】図３Ｄに示したブロックタイプ１０から生成される、本発明の一実施形態によるマスター・トランジション及びＴＹＰＥワードを含むフレームの例を示す図である。
【図７Ｋ】図３Ｄに示したブロックタイプ１１から生成される、本発明の一実施形態によるマスター・トランジション及びＴＹＰＥワードを含むフレームの例を示す図である。
【図７Ｌ】図３Ｄに示したブロックタイプ１２から生成される、本発明の一実施形態によるマスター・トランジション及びＴＹＰＥワードを含むフレームの例を示す図である。
【図８Ａ】本発明によるコーダの第１の実施形態を示すブロック図である。
【図８Ｂ】本発明によるコーダの第２の実施形態であるカッドベースの実施形態を示すブロック図である。
【図９Ａ】本発明の一実施形態による符号化方法及びコーダによって生成されたフレームをデコードするためのデコード方法の一例を示す図である。
【図９Ｂ】図９Ａに示した方法のプロセス２７６において実施される、本発明の一実施形態による処理の一例を示すフロー図である。
【図１０Ａ】本発明による符号化方法及びコーダによって生成されるフレームをデコードするためのデコーダの第１の実施形態を示すブロック図である。
【図１０Ｂ】本発明による符号化方法及びコーダによって生成されるフレームをデコードするためのデコーダの第２の実施形態を示すブロック図である。
【図１】
2006333478.tif 000003
【図２】
2006333478.tif 000004
【図３Ａ】
2006333478.tif 000005
【図３Ｂ】
2006333478.tif 000006
【図３Ｃ】
2006333478.tif 000007
【図３Ｄ】
2006333478.tif 000008
【図４Ａ】
2006333478.tif 000009
【図４Ｂ】
2006333478.tif 000010
【図４Ｃ】
2006333478.tif 000011
【図５Ａ】
2006333478.tif 000012
【図５Ｂ】
2006333478.tif 000013
【図６】
2006333478.tif 000014
【図７Ａ】
2006333478.tif 000015
【図７Ｂ】
2006333478.tif 000016
【図７Ｃ】
2006333478.tif 000017
【図７Ｄ】
2006333478.tif 000018
【図７Ｅ】
2006333478.tif 000019
【図７Ｆ】
2006333478.tif 000020
【図７Ｇ】
2006333478.tif 000021
【図７Ｈ】
2006333478.tif 000022
【図７Ｉ】
2006333478.tif 000023
【図７Ｊ】
2006333478.tif 000024
【図７Ｋ】
2006333478.tif 000025
【図７Ｌ】
2006333478.tif 000026
【図８Ａ】
2006333478.tif 000027
【図８Ｂ】
2006333478.tif 000028
【図９Ａ】
2006333478.tif 000029
【図９Ｂ】
2006333478.tif 000030
【図１０Ａ】
2006333478.tif 000031
【図１０Ｂ】
2006333478.tif 000032