【発明の詳細な説明】データの符号化 技術分野
本発明は、データを符号化するための方法及びコーダに関するものである。背景技術
パーソナル・コンピュータ及びワークステーションの普及によって、こうした
装置と、プリンタ及びデータ記憶装置のような共通の資源を相互接続するための
ネットワークが発展した。しだいに、より強力で、高度な計算装置及びプログラ
ムの利用が可能になり、例えば、データ・ベース情報及びグラフィック・イメー
ジといった形で、ますます増大するデータ処理をこなすことも可能になってきた
。こうした発展によって、ネットワークの速度及びキャパシティに対する要求が
さらに強まることになった。
こうした要求を満たすため、さまざまな新規のネットワーク・テクノロジが提
案されている。こうしたテクノロジの1つに、光ファイバ及び光信号の利用をベ
ースにした分散型ファイバ・データ・インターフェイス(FDDI)がある。し
かし、実際の体験から明かなように、このテクノロジによって必要な性能を得る
ことが可能であるが、比較的高価であり、それ自体が本質的に高価な光ファイバ
による完全に新たなネットワークを敷設するという、コストのかかるプロセスが
必要となる。
従って、既存の敷設線設備を通じて、高速度にデータ転送を行うことによって
、新たなネットワークの敷設コストを回避し、さらに、既存の布線の敷設時に既
に
背負い込んでいる費用の回収も行うという可能性にも注意が向けられている。
こうした線に沿った可能性のある技法の1つでは、低速のローカル・エリア・
ネットワークに既に用いられている種類の、非シールド・ツイスト・ペア(UT
P)電話ケーブルの利用が必要とされる。例えば、米国特許第5,119,40
2号に解説されているこの技法では、多導体でデータ転送を行うことによって、
必要とされる高速データ転送速度を得るため、それぞれの導体によって、データ
の異なる部分が、同時に伝送されることになる。
この技法によれば多くの利点が得られるが、潜在的な固有の問題もある。すな
わち、こうした伝送に影響する主たるノイズ源は、電気インパルスであり、デー
タ・ビットの伝送所要時間に対して長い期間にわたって、全ての導体にまとめて
影響を及ぼす可能性がある。従って、例えば、伝送される20の連続するデータ
・ビットを、それぞれ、5ビットの4ブロックに分割し、既定の5B/6Bコー
ド・テーブルからの5ビット値に基づいて6ビット・コード値を選択することに
よって、符号化することが可能である。次に、4つの符号化ブロックは、グルー
プとして、多導体ケーブルにおける4つの導体のそれぞれに沿って同時に伝送さ
れる。それぞれ、4ブロックからなる2つの連続するグループが、電気ノイズに
よって影響される可能性がある。ブロック・グループの1つは、20ビットを表
すので、全部で40ビットがエラーを生じる可能性がある。例えば、巡回冗長検
査(CRC)コードを用いることによって、何らかのエラー混入からデータを保
護することが可能であるが、こうしたコードは、関連処理の負担を制限するため
、一般に、せいぜい32次の多項式をベースにしたものである。こうしたCRC
コードに保証できるのは、データ・ストリーム中におけるせいぜい32の連続ビ
ットのエラー発生を検出することであり、40の連続ビットにエラーを生じると
、CRCコードでは検出されないエラーとなる可能性がある。
特定のデータ・ワード/コード・ワードの組み合わせを選択することによって
、ノイズを導入するエラーに対するこうした通信技法の耐性を高めることは可能
である。しかし、こうした組み合わせの識別は、今日に至るまで、困難で、時間
のかかる手順である。
本発明の目的は、少なくとも、これらの問題を軽減する、例えば、多導体のケ
ーブルを利用した通信に合うようにデータを符号化するための方法及びコーダを
提供することにある。発明の開示
本発明の態様の1つによれば、nビットのデータ・ワードを(n+1)ビット
のコード・ワードとして符号化する方法が提供されるが、この場合、コード・ワ
ードは、データ・ワードの値に基づいて選択され、コードには、コード・ワード
のビットの反転によって生じるデータ・ワードのエラー値が、反転ビットのコー
ド・ワード内における位置に固有のものであり、該位置だけによって決まるとい
う特性がある。
上述の特性を備えたコードを用いると、データ・ワードとコード・ワードとの
対応の選択が容易になるので、検出不能なエラーの発生が減少するか、あるいは
、なくなることが明らかになった。
すなわち、コードは、
(a)各データ・ワードが、n個の独立したnビット・パラメータのうちの1つ
以上に基づいて定義可能であり、各コード・ワード毎に、そのnビットが、それ
ぞれ、そのコード・ワードに関連したデータ・ワードの定義に、前記パラメータ
のそれぞれが含まれているか否かによって決まる値を備えているという条件が満
たされる、任意のコードと、
(b)それについての任意の不変変換(以下で定義する)とを有するグループか
ら選択することが可能である。
本発明のもう1つの態様によれば、データ・ワードを受信し、データ・ワード
の値に基づいてコード・ワードを選択するための手段を有する、nビットのデー
タ・ワードを(n+1)ビットのコード・ワードとして符号化するためのコーダ
が提供されるが、コードには、コード・ワードのビットの反転によって生じるデ
ータ・ワードのエラー値が、反転ビットのコード・ワード内における位置に固有
のものであり、該位置だけによって決まるという特性がある。図面の簡単な説明
次に、4導体非シールド・ツイスト・ケーブルによる通信のためにデータを符
号化する、本発明による方法及びコーダについて、例として、添付の図面に基づ
いて解説を行うことにする。図面中、
図1には、該ケーブルによる通信に合わせて、データのフォーマッティングを
行う方法が示されている。
図2には、該ケーブルによる符号化データの通信方法が示されている。
図3は、5ビット・データ値および対応する6ビット・コード値の表である。
図4は、有利な特性を備えた、いくつかのnB/(n+1)Bコードに関する
データ値及び対応するコード値の表である。
図5は、図4におけるコードの任意の1つによるデータ・ブロックの符号化方
法に関する流れ図である。発明を実施するための最良の形態、及び産業上の応用性
本発明は、データ・ストリームの通信が複数のチャネルによって行われる環境
で利用することが可能であり、こうした単一のチャネルによって全データを伝送
する場合に可能な帯域幅よりも高い帯域幅を得るため、データ・ストリームの連
続部分の通信は、異なるそれぞれのチャネルで同時に行われる。便宜上、本発明
の解説は、4つのチャネルすなわち導体(例えば、4対のツイスト・ワイヤ)を
備えたケーブルによる2進データの伝送に関して行うこととする。実際には、例
えば、ケーブルは、パーソナル・コンピュータ、ワークステーション、マルチ・
ユーザ・コンピュータ、プリンタ、または、データ記憶装置といった、多くのス
テーションまたはノードを接続する、ネットワークの一部を形成している。これ
らのステーションに連係した回路装置は、伝送に備えて、データ及びネットワー
ク動作情報をフレームまたはパケットにアセンブルし、ネットワークにアクセス
し、ケーブルで物理情報を受信する(例えば、ツイスト対導体の場合、差分信号
によって)のに必要な機能を提供する。本発明は、これらの機能の特定の細部と
は関係がなく、例えば、既存のネットワーク・テクノロジに関して実施すること
が可能である。こうしたテクノロジには、これらの機能を提供するための既知の
技法が既に組み込まれており、該機能は、本発明の一部をなすものではないので
、ここでは、解説を加えない。
図1及び2を参照すると、4導体ケーブルによる通信を意図したデータ・フレ
ームの概略が、10で示されている。このフレームは、図1に示すように、最も
左のビットから始まる、ネットワークのステーション間で転送される2進デジタ
ル・メッセージ12と、所定の巡回冗長検査(CRC)アルゴリズムに従い、既
知の方法でメッセージ12から導き出される、検査データを含む、関連する32
ビットのCRCブロック14を有する。この例の場合、CRCは、
g(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+
x5+x4+x2+x+1
といった32次の多項式を利用して、メッセージから導き出されることを想定し
たものである。
4導体ケーブルによる送信の場合、データ・フレームは、それぞれ、5ビット
からなる連続ブロックに分割され、ブロックは、巡回式に、データ・フレームの
最も左のビットを含むブロックから始めて、4つの導体(ここでは、A〜Dで表
示)に分配される。従って、図1においてA1で表示された第1のブロックは、
導体Aを介して伝送され、次のブロック(B1)は、導体Bを介して伝送され、
第3のブロック(C1)は、導体Cを介して伝送され、第4のブロック(D1)
は、導体Dを介して伝送される。次に、第5のブロック(A2)に、再び、導体
Aを利用し、以下同様にして、このサイクルが繰り返される。
伝送前に、置換表に基づき、5ビット・ツー・6ビット(すなわち5B/6B
)・コーダ16(図2)を用いて、5ビットのデータ・ブロックを6ビット値に
符号化することによって、固有のエラー検出手段が得られる。5B/6B符号化
置換は、図3に示すようにすることも可能である。これら特定の5B/6B置換
は、部分的には、各符号化データ・ブロックの伝送後、2進数1と0の累積合計
が、ほんのわずかな所定の数だけしか異ならないことを保証することによって、
各導体毎に直流平衡を維持するために、選択される。
符号化は、導体によって伝送される2進数1及び0の合計間における累積イン
バランスのランニング・カウントを各導体毎に維持することによって実現する。
従って、111100(2進数の0より2つ多い2進数の1を備える)といった
コード・ワードが選択された場合、累積インバランスは、+2変化し、コード・
ワードが000001の場合、累積インバランスは、−4変化し(1が0より4
つ少ないので)、コード・ワードが、等しい数の2進数の1と0を備えている(
例えば、010110)場合、累積インバランスは変化しない。
図3から明らかなように、可能性のある各5ビット・データ・ブロックには、
可能性のある2つの6ビット・コート値が割り当てられるが、その一方は、もう
一方の逆数である。符号化する各データ・ブロック毎に、下記の規則に従って、
可能性のある2つの符号化からの選択が行われる:
(i)累積インバランスがゼロであって、可能性のある符号化のバランスがとれ
ない場合、累積インバランスを増大させる符号化(すなわち、2進数の1をより
多く備えるコード)を(任意に)選択する、
(ii)累積インバランスが非ゼロであって、可能性のある符号化のバランスが
とれない場合、累積インバランスと符号が逆のインバランスになる符号化を選択
する、
(iii)可能性のある符号化のバランスがとれる場合、どちらか任意の符号化
を選択する。これらバランスのとれたコード・ワード(図3において*で示す)
の場合、厳密には、代替コード・ワード間において選択を行う必要はなく、一方
または他方を利用して、関連データ・ワードの出現毎に符号化することが可能で
ある。
図1には、5ビットのデータ・ブロックが太文字で示され、その下に、対応す
る6ビットのコード値が通常の太さの文字で示されている。規則(i)が、ブロ
ックA1で示され、規則(ii)がブロックC2及びA3で示されている。
図3に示す5B/6B置換の特定の集合は、単なる例示であり、後述するよう
に、所望により、この表における5ビット・データ値及び6ビット・データ値の
異なる構成を指定することが可能である。
符号化が済むと、6ビット・コード値は、デマルチプレクサ18によって、上
述のように巡回式に、4つの導体A〜Dに分配すなわち「デマルチプレクス」(d
e-multiplexed)される。従って、図2に示すように、導体Aは、符号化データ・
ブロックA1、A2、A3等を順次伝送し(最初に、それぞれの最も左のビット
)、導体Bは、符号化データ・ブロックB1、B2、B3等を順次伝送し、導体
C及びDの同様である。
符号化データ・ブロックは、その宛先に達すると、検出され、回路20におい
て、既知のやり方で、タイミング・ドリフト及び他の信号劣化の効果が補償され
ることによって、4つのデジタル信号が復元する。次に、回路20によって、こ
れらのデジタル信号を多重化することによって、もとの符号化データ・ストリー
ムが再構成される。この復号化回路は、やはり、受信するコード・ワードの2進
数1と2進数0の合計間におけるインバランスのランニング・カウントを各導体
A〜D毎に維持し、各新規コード・ワードが上記(i)〜(iii)に従ってい
るかチェックする。この要件が満たされないか、あるいは、それとは異なる無効
な6ビット・コードに遭遇すると、データ・フレーム全体が、拒否される。さも
なければ、復号化回路22が、完全なデータ・フレームをアセンブルし、伝送さ
れたCRC値との比較のため、CRC値の再計算を行う。
ノイズの混乱による効果に対する通信システムの耐性を高めるため、欧州特許
第92310199.2.号に解説のように、互いに時間的にオフセットした4
つの導体のそれぞれ異なる導体で、符号化データ・ブロックを伝送することも可
能である。図示の特定の例の場合、データ・ブロックは、導体A及びBで同時に
(すなわち、ブロック全体に関して、互いに同相で)伝送され、導体C及びDで
互いに同時に伝送されるデータ・ブロックからオフセットしている(すなわち、
位相がずれている)。この場合のオフセットは、符号化データ・ブロックの半分
の長さに等しい。従って、導体C及びDにおける符号化データ・ブロックは、導
体A及びBにおける符号化データ・ブロック伝送の途中で開始される。
この構成の場合、4つの導体全てにおける4つの順次コード・ビットに任意に
エラーを持ち込むノイズ・バーストが、図2に示すように、該導体のうちの2つ
の導体のそれぞれにおける2つの符号化データにまたがる可能性がある。しかし
、他の2つの導体におけるデータ・ブロックのオフセット・タイミングのおかげ
で、このノイズ・バーストが影響を及ぼす可能性があるのは、他の2つの導体の
それぞれにおけるせいぜい1つのデータ・ブロックだけである。ノイズ・バース
トが、コード・ビット2つ分後で生じることになる場合、符号化ブロックC3及
びD3に影響するに違いないので、もはや、ブロックA2及びB2には影響がな
い。この場合、導体C及びDにおいて、2ブロックが影響を受けるが、A及びB
のそれぞれにおいて影響を受けるのは1ブロックだけである。結果として、エラ
ーの発生する可能性のある連続データ・ブロックの最大数は、もとのデータ・フ
レームの30の連続ビットに対応する6になる。この多数のデータ・ビットのエ
ラー発生でさえ、32次の多項式を利用するCRCアルゴリズムによって確実に
検出することが可能である。
図3に示す符号化は、ノイズによるエラー発生の検出を強化する選択の容易さ
、及び、直流平衡システムに対する有用性といった、さまざまな望ましい特性を
もたらす方法で、後述のように導き出される。
nの値が2〜5で、これらの特性を備えた、nB/(n+1)B符号化が、図
4に示されている(図3の符号化は、図4に示す一般的な5B/6B符号化の一
例である)。図4の場合、各コードに関するコラムの中央対には、コード・ワー
ドの相互反転対がリスト・アップされている。コード・ワード対にはデータ・ワ
ードのいくつかの異なる割り当てが可能であるため、各(n+1)ビットのコー
ド・ワード対のそばには、関連するnビットのデ一タ・ワードが、1つ以上のパ
ラメータa、b、c、d、及び、eに関して示されている。nビット・データ・
ワードの符号化に関するパラメータの総数は、nであり、こうした各パラメータ
は、それ自体、長さがnビットである。符号化のための全てのパラメータ値が、
線形に独立している場合、パラメータには、それぞれ、任意の値を割り当てるこ
とが可能であり、従って、5つのパラメータを備えた5B/6Bコードの場合、
記号表現
でなければならないが、ここで、2進係数V、W、X、Y、及び、Zは、全て0
に等しい。4B/5Bコード(n=4)の場合、パラメータは、例えば、a=0
001、b=0010、c=0100、及び、d=1000とし、5B/6Bコ
ード(n=5)の場合、a=00001、b=00010、c=00100、及
び、d=01000、及び、e=10000とすることが可能である。パラメー
タ値の割り当てが済むと、各コード・ワード対に対応するデータ・ワード値は、
図4のデータ・ワード・コラムにおけるパラメータ記号表現から導き出されるが
、
従って、例えば、3B/4B符号化(n=3)の場合、パラメータ値は、a=
100、b=010、及び、c=001となるように選択することが可能であり
、従って、データ・ワード及び対応するコード・ワードは、次のようになる:
図4に示すいずれの符号化の場合にも、データ・ワードのエラー混入に関する
、任意のコード・ワードの単一ビットを反転する効果が、コード・ワード内のビ
ット位置と、パラメータa、b等だけによって決まるのは明らかである(すなわ
ち、混乱したコード・ワードの値とは関係がない)。特に、データ・ワードに対
する効果は、データ・ワードと、その値がデータ・ワードに対応するコード・ワ
ード内の反転ビットの位置だけによって決まる定数(ここでは、データ・ワード
・エラーと呼ぶ)の間におけるビット単位の排他的OR演算の実施と同等である
。図4の「エラー・パターン」の見出し付きコラムには、各コードにおける各ビ
ット位置に関するこの定数値が、値S0、S1等によって示されている。S0は
、コード・ワードの最下位ビットを反転することによって誘発されるデータ・ワ
ード・エラーであり、S1は、次の最上位ビットを反転することによって誘発さ
れるエラーであり、最上位ビットを反転することによって誘発されるエラーであ
るSnまで以下同様である。
従って、例えば、3B/4Bコードの場合、コード・ワードの最下位ビットを
反転することによって生じるデータ・ワード・エラーは、データとパラメータ記
参照)、上述のパラメータ値の場合、このデータ・ワード・エラーは、111に
なる。同様に、コード・ワードの最上位から2番目のビットを反転することによ
って生じるエラーは、値S2によって示すように、データ・ワードとパラメータ
b値との間における排他的OR演算結果と同等である。上記パラメータ値の場合
、このデータ・ワード・エラーS2は、010になる。例えば、コード・ワード
1001(データ・ワード011に対応する)は、最上位から2番目のビット位
置においてエラーを生じる場合、データ・ワード001に対応する1101にな
る
が、これは、データ・ワード011とデータ・ワード・エラー010(S2)と
の間における排他的OR演算の結果であることが分かる。
さらに、任意のコード・ワードの複数ビットを反転することによるデータ・ワ
ードのエラー発生に関する効果も、予測可能であり、図4の「エラー・パターン
」・コラムにおける値M1、M2、L1、L2等によって示されている。M1は
、コード・ワードの単一の最上位ビットを反転することによって誘発されるエラ
ーである(そして、常にSnに等しい)。L1は、コード・ワードの単一の最下
位ビットを反転することによって誘発されるエラーである(そして、常にS0に
等しい)。M2は、コード・ワードの2つの最上位ビットの一方または両方を反
転することによって誘発されるエラーである。L2は、コード・ワードの2つの
最下位ビットの一方または両方を反転することによって誘発されるエラーであり
、以下同様である。図4には、2つ以上のビットを反転することによって誘発さ
れるエラーが、省略した形で示されている。例えば、3B/4Bコードの場合の
M2は、<a,b>で示されるが、これは、単独で取り上げられるか、あるいは
、共に排他的OR演算が施される、a及びbの可能性のある全ての組み合わせ、
すな
これは、コード・ワードの2つの最上位ビットの一方または両方を反転すること
によって、対応するデータ・ワードと可能性のある3つの値100、010、ま
たは、110の1つとの間における排他的OR演算の効果があるということを表
している。同様に、4B/5Bコードの場合のM3は、<a,b,c>で示され
るが、これは、単独で取り上げられるか、あるいは、共に排他的OR演算が施さ
れる、a、b、及び、cの可能性のある全ての組み合わせ、すなわち、a、また
エラー・パターンMn及びLn(コード・ワードの最下位ビットまたは最上位
ビット以外の全てに、それぞれ、エラーが生じる場合)は、極めて厳しく、対応
するデータ・ワードの可能性のあるエラー混入のどれもが、発生する可能性があ
ることを表している。
図3及び4に示す符号化、及び、後述のようにして導き出される同様の符号化
の場合は、データ・ワードをコード・ワード対に対して選択的に割り当てるので
、コード・ワード自体の利用によって得られる特性以外にも、符号化に有利な特
性をもたらすことになる。特に、コード・ワードの混乱の効果は、影響を受ける
ビット位置及びパラメータa、b等の値によって決まる(が、他の何にも左右さ
れない)ので、異なるパラメータ値の選択結果を簡単に予測することが可能にな
る。従って、特定のCRCアルゴリズム及び他項式を用いて、確実に、所定の長
さまでのノイズ・バーストによって誘発されるエラーを検出できることを保証す
るといった、特定の所望の特性を備える符号化の開発は、比較的簡単である。同
様に、特定の時間期間にわたって全導体の単一ビットに影響する全てのノイズ・
バーストと、特定の仕方で複数のビットに影響するノイズ・バーストの両方また
は一方を検出する符号化の開発も実現可能である。
奇数の単一ビット反転を検出することが所望の場合、これは、現在の累積イン
バランスに基づいて選択された2つの所定の区切り文字の一方が、導体における
シーケンスをなすコード・ワードの終わりにくるようにすることによって、実施
可能になる。従って、図3の5B/6Bコードの場合、インバランスが+6、+
2、または、−2であれば、一方の区切り文字が伝送される。インバランスが、
+4、0、または、−4であれば、他方の区切り文字が用いられる。個々のビッ
ト反転によって、2のインバランス変化が生じるので、奇数のこうした反転では
、4の全体変化を生じさせることはできない。従って、奇数の反転の場合、受信
側
は、実際に到着するものとは逆の区切り文字を期待するので、エラーの発生を検
出することが可能になる。
図3に示す符号化の場合、上述の32次の特定の多項式によるCRCアルゴリ
ズムを利用することにより、8コード・ビットまで継続するノイズ・バーストに
よって誘発されるエラーを検出できるようにすることが、確実に保証される。こ
の符号化に加えて、4導体全てに終了区切り文字を選択することによって、デー
タ・フレームの継続する12,145ビット内における3つの独立した単一ビッ
トのノイズ・バースト(すなわち、それぞれ、4つの導体の1つ以上において単
一ビットを反転させる可能性のあるノイズ・バースト)によって生じるエラーを
確実に検出することが可能になる。
図4に示す符号化のもう1つの利点は、直流平衡通信システムに、コード・ワ
ード長が奇数の符号化(例えば、4B/5B)をもたらすことさえ可能になると
いうことである。これは各データ・ワード毎に、コード・ワード対のコード・ワ
ード間で選択を行うための上述の規則(i)〜(iii)から、当然こういうこ
とになる。
次に、図4における5B/6Bの表の構成に基づいて説明するように、任意の
データ・ワード/コード・ワード長nB/(n+1)Bに関して、これらの望ま
しい特性を備えた符号化を導き出すことが可能である。図4を参照すると、第1
のステップは、パラメータa、b、c、d、e等に関してデータ・ワード記号表
現のリストを作成することである。このリストには、明らかに、各パラメータを
順次導入し、可能性のある全ての異なるやり方で、既に利用されているパラメー
タと排他的OR関係をなすように組み合わせることが含まれる。
2つのコード・ワード・コラムが、(この場合)6つの独立したビット・コラ
ムに分割され、左側のコード・ワード・コラムの場合(図3に示すように)、こ
れらのビット・コラムには、a、b、c、d、e、及び、0の見出しが付いてお
り、他方のコード・ワード・コラムの場合、NOT a、NOT b、NOT
c、NOT d、NOT e、及び、1(=NOT 0)の見出しが付いている
。
データ・ワードのパラメータ記号表現に、左側のコード・ワード・コラムのビ
ット・コラムの見出しにおけるパラメータが含まれている場合、その各データ・
ワード毎に、2進数の1の桁がその各ビット・コラムに挿入され、そうでなけれ
ば、2進数の0の桁が挿入される。従って、表における14番目のデータ・ワー
及び、dが含まれており、従って、そのデータ・ワードに関して、a、c、及び
、dの見出しが付いたコラムに、2進数1の桁が挿入され、残りのコラムb及び
eに、2進数の0が挿入される。最下位ビット・コラムには、該コラムの見出し
に示されるように、2進数の0の桁で満たされる。
他のコード・ワード・コラムの場合にも同様の操作が施されるが、逆センスで
あり、従って、他のコード・ワード・コラムのビット・コラムの見出しにおける
パラメータが、データ・ワードのパラメータ記号表現から除外されている場合、
その各ビット・コラムに、その各デ一タ・ワード毎に、2進数の1の桁が挿入さ
れる。従って、表における14番目のデ一タ・ワードの場合、コラムNOT b
及びNOT eには、2進数の1の桁が挿入され、NOT a、NOT c、N
OTdの見出しが付いたコラムには、2進数のOの桁が挿入される。最下位ビッ
卜・コラムには、該コラムの見出しに示されるように、2進数の1の桁で満たさ
れる。
コード・ワードの値とデータ・ワードのパラメータ記号表現との間におけるこ
の関係によって、各ビットをパラメータ記号表現に基づく論理的組み合わせとし
て表現することができるので、ハードウェアによるこうした符号化の実施が容易
になる。従って、論理ゲート回路の単純な組み合わせを利用して、ビット値を導
き出すことができるので、一般に、符号化システムの実施に用いられている(比
較的低速の)メモリ検索手順が不要になる。
図4から明らかなように、環境によっては、000000及び111111の
値を備えたコード・ワードが含まれるため、符号化データに、同じ値の数字が1
4(5B/6Bコードの場合)まで連続して現れる可能性もある。これが望まし
くないとみなされる場合、例えば、特有の所望のエラー検出特性を備えたコード
を導き出す容易さが多少損なわれるという犠牲を払って、これらの特定のコード
・ワード値を未使用の平衡コード・ワードに置き換えることも可能である。
同様に、上述のコードに他の変更を加えることも可能であり、従って、コード
対は、互いに逆数である必要はなく、不平衡コード対は、正確に等しいインバラ
ンスになる必要はない。こうした変更によって、データ・ワードに対するコード
・ワードの割り当ての融通性が高くなるが、やはり、コードに固有の特性である
予測可能性が低下するという犠牲を払うことになる。
図5には、図3に示すような符号化を実施するための方法に関する流れ図が示
されている。図5を参照すると、ステップ100において、カウンタRが、
R=(R+1) MOD 4
の関係式に従ってインクリメントするので、カウンタは、周期的に、0〜3の値
をとることになる。このカウンタの目的は、現在の(符号化)データ値が伝送さ
れる導体の状況をずっと把握することにある。ステップ102では、現在のデー
タ・ワードに対応するコード・ワードが検査を受け、バランスがとれる場合には
、いずれか任意のほうを選択し、ステップ104において、データ・ワードの符
号化を行うことが可能であり、該手順を出る。バランスがとれない場合には、該
手順を継続して、ステップ106に進む。
前述のように、各導体毎に、その導体によって伝送される2進数の1と0の累
積インバランスのカウントが維持される。ステップ106において、カウンタR
の現在値に基づいて選択された、現在の導体に関する累積インバランスが、テス
トされる。インバランスが0の場合、該手順では、ステップ108において、ど
ちらのコード・ワードが正の累積インバランスを生じるかはともかくとして、デ
ータ・ワードに対応するコード・ワード対から選択を行うことになり、インバラ
ンスが0でなければ、ステップ110において選択されるコード値は、累積イン
バランスの符号とは逆の符号のインバランスを有するものとなる。いずれにせよ
、該手順では、次に、ステップ112において、選択コード・ワードに関するイ
ンバランスを加えることによって、現在の導体に関する累積インバランスの更新
を行ってから、該手順を出ることになる。
図5とほぼ同じ手順をデコーダ22で利用することも可能である。ただし、デ
コーダは、ステップ104においてコード値を選択する代わりに、受信したコー
ド値が有効であるかチェックしてから、対応するデータ値を求める。同様に、ス
テップ108及び110において、デコーダは、受信コード値が有効であって、
前述の規則(i)〜(iii)に適合するインバランスになっているかチェック
してから、必要なデータ値を求める。こうしたチェックのいずれかで不合格にな
ると、デコーダは、データ・フレームの伝送中にエラーが生じたものと判定する
。
当業者には明らかなように、図3及び4の符号化が与えられると、単純な不変
変換によって、それから同じ特性を備えた追加符号化を導き出すことが可能であ
る。こうした変換の一例として、全てのデータ・ワードに対して任意の2進定数
値で排他的OR演算を施すことによって、ここで示された符号化を同等のある形
式に変換することが可能である。さらに、あるいは、代替案として、任意のデー
タ・ワードに関してコード・ワード対の交換を行うことも可能である。
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 クロウチ,シモン・エドウィン
イギリス国ウィルトシアー・エスエヌ14・
6ディーキュー チッペンハム、スタント
ン・ストリート・クインティン、スクー
ル・コテージ (番地表示なし)
(72)発明者 カニングァム,デイビィッド・ジョージ
イギリス国グロースターシャー・ジーエル
12・8ピーエフ ウィックワー、ハニーボ
ーン・ウエイ 5