JP3581819B2 - 符号化方法 - Google Patents

符号化方法 Download PDF

Info

Publication number
JP3581819B2
JP3581819B2 JP2000160158A JP2000160158A JP3581819B2 JP 3581819 B2 JP3581819 B2 JP 3581819B2 JP 2000160158 A JP2000160158 A JP 2000160158A JP 2000160158 A JP2000160158 A JP 2000160158A JP 3581819 B2 JP3581819 B2 JP 3581819B2
Authority
JP
Japan
Prior art keywords
word
disparity
bit
block
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000160158A
Other languages
English (en)
Other versions
JP2001036410A (ja
Inventor
ソルヤーニ エミナ
Original Assignee
ルーセント テクノロジーズ インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ルーセント テクノロジーズ インコーポレーテッド filed Critical ルーセント テクノロジーズ インコーポレーテッド
Publication of JP2001036410A publication Critical patent/JP2001036410A/ja
Application granted granted Critical
Publication of JP3581819B2 publication Critical patent/JP3581819B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • H04L25/4908Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using mBnB codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Dc Digital Transmission (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はデジタルデータの符号化に関し、特に、伝送あるいはストレージチャネルへシリアルバイナリデータを配置するための準備段階におけるその種のデータの符号化に関する。さらに詳細に述べれば、本発明は符号化されたデータの周波数パワースペクトルを調節する方法に関する。
【0002】
【従来の技術】
ブロック符号は、データの光学的ストレージ及び伝送に広く用いられている。この種の符号の利用に従って、バイナリビットよりなる入力ストリームが、固定長の入力ワードに分割される。各入力ワードは、入力ワードの固定長よりも長い第二の固定長を有する、符号化済み出力ワードにマッピングされる。符号化済み出力ワードはコードワードと呼称される。
【0003】
ブロック伝送符号を用いることにより、いくつかの利点が得られる。これらの利点は、一般に、エラー検出及び回復された信号の品質に関わる。一つの特別な利点は、符号化済み信号のdc成分、すなわち、ゼロ周波数近傍におけるパワースペクトル成分が、適切な符号を用いることによって抑圧されうることである。これは、例えば光通信システムなどにおいて望ましいことである。なぜなら、光ファイバレシーバは、しばしばac結合された入力段を有しているからである。結合が不充分な比較的低周波数領域内の情報内容が抑圧されると、回復された信号の処理が簡潔化され、その信号の品質が改善される。dc抑圧の別の利点は、信号データからのクロックタイミングの回復の問題が簡潔化されることである。
【0004】
実際の2レベル信号は、1と0のシーケンスあるいは+1と−1のシーケンスとして、もしくは他の等価な表現において伝送される。以下、この種の信号全てをバイナリ信号と呼称し、1と0とよりなる信号をこの種の全ての信号を代表するものとして採用することにするが、これは何ら限定を与えるものではない。
【0005】
種々のブロック伝送符号が当業者には知られている。例えば、公知のマンチェスター(Manchester)符号は、各々の入力ビットを二つの出力ビットにマッピングする。他の公知の符号では、5ビット入力ワードを6ビットコードワードにマッピングする。この種の符号は、5B/6B符号と呼称される。さらに別の符号は8B/10B符号である。8B/10B符号の一例は、1984年12月4日付けのP.A.Franaszekらによる米国特許第4,486,739号に記載されている。Franaszekらによる符号化方式においては、8B/10Bコーダが5B/6Bコーダと3B/4Bコーダに分割されている。
【0006】
【発明が解決しようとする課題】
dc強度を抑圧する目的で符号化された信号をスペクトル的に調節する目的では、比較的高い冗長性を利用すること、すなわち、コードワードの入力ワードに対する比較的高い長さ比を利用することが一般的には有利である。この理由の一つは、スペクトル的な調節が、少なくとも部分的には、各コードワードにおける1の数が0の数に正確にあるいはほぼ一致する場合に実現されるからである。コードワード中で0に対して1が多すぎる、あるいは1に対して0が多すぎることは、ディスパリティと呼称される。よって、ディスパリティを減少させることがパワースペクトルを改善することになる。しかしながら、与えられた長さを有する全ワードのうち、ゼロあるいは非常に小さいディスパリティを有するものはわずかである。よって、低ディスパリティへの要求は利用可能なコードワードの個数を低減させ、よって、コードワード当たりに伝送されうる情報量を低減する。このことを補償するためには、冗長性を増大させる、すなわち、コードワードの長さを増大させることが必要である。
【0007】
他方、コードワードの冗長性を増大させることは、通信チャネルを介して送出される情報のグロスレートを低減する。それゆえ、冗長性とディスパリティとの間にはトレードオフが存在する。双方を同時に最小化することは不可能である。よって、適切な冗長性と適切なディスパリティとを組み合わせる符号化方式を見出す必要がある。
【0008】
【課題を解決するための手段】
本発明に係る符号は、16/18B低ディスパリティ符号である。16ビット入力ワードは2バイトに分割、すなわち、2つの8ビットワードに分割され、各バイトが9ビットワードにマッピングされる。マッピング下での各入力バイトの写像は、少なくとも一部分、そのディスパリティに依存する。
【0009】
ある場合には、結果として得られる写像は中間写像ワードであって、それが出力コードワードを得るために反転される。ワードが反転されるとは、その1の各々が0に変換され、その0の各々が1に変換されることである。写像を反転するか否かの決定は、少なくとも一部分、出力の移動デジタル総和(running digital sum;RDS)に依存する。移動デジタル総和とは、データストリームの開始時(あるいは、指定された開始点)からの当該デジタルストリームにおける全ての1の総和である。
【0010】
全ての可能な入力ワードは、そのディスパリティによって、複数個の別個のカテゴリーにグループ分けされる。入力ワードのマッピングに係るルールは、各カテゴリー毎に異なる。
【0011】
【発明の実施の形態】
8ビットワードに関して可能なディスパリティは、0、±2、±4、±6、及び±8のみである。ディスパリティ0を有する8ビットワードは70個存在する。ディスパリティ2を有するものは56個であり、ディスパリティ−2の場合も同様である。ディスパリティ4及び−4のものは28個である。ディスパリティ6及び−6のものは8個であり、ディスパリティ8及び−8のものは1つずつのみである。
【0012】
16ビット入力ワードの各々は、二つの8ビット入力ワードに分割される。ディスパリティ0の8ビット入力ワードは、クラスAに割り当てられる。ディスパリティ2あるいは4を有する入力はクラスBに割り当てられる。クラスBは、ディスパリティ2のものを含むクラスB1と、ディスパリティ4のものを含むクラスB0にさらに分割される。ディスパリティ−2を有する入力ワードはクラスCに割り当てられる。他の全ての8ビット入力ワードはクラスDに割り当てられる。
【0013】
図1において、列10は、8ビット入力ワードの種々の可能なディスパリティを示している。列15は、対応するクラス割り当てを示している。列20は、各ディスパリティを有する入力ワードの個数を示している。
【0014】
図1の列25は、それぞれディスパリティ−3、−1、1、及び3を有する可能な9ビットワードの個数を示している。対応する個数は、それぞれ、84、126、126、及び84である。
【0015】
図1には、さらに、クラスA、B、及びCの入力ワードが9ビット写像ワードにマッピングされる際の最初の処理段階も示されている。クラスAワードは、0ビットを付加することによって、ディスパリティ−1を有するワードにマッピングされる。クラスBワードは、ディスパリティ3の写像ワードに全てマッピングされる。このことは、入力ワードがクラスB1に属する場合には1ビットを付加し、入力ワードがクラスB0に属する場合には0ビットを付加することによって実現される。クラスCワードは、1ビットを付加することによってディスパリティ−1の写像ワードにマッピングされる。
【0016】
図2は、本発明に係る符号化方式を実装するエンコーダの模式的なブロック図である。この図においては、対応する8ビット入力ワードは
0706050403020100
及び
1716151413121110
で表現されている。対応する出力ワードは、
0706050403020100
及び
1716151413121110
で表現されている。表記を簡潔にする目的で、以下の定義を採用する:
【数1】
Figure 0003581819
【0017】
ディスパリティの別名は“ブロックデジタル総和(BDS)”である。数学的には、BDSの定義は
【数2】
Figure 0003581819
によって与えられる。
【0018】
図2のブロック30は、入力ワードxに関するブロックデジタル総和BDS及び入力ワードxに関するBDSを計算するディスパリティチェッカーである。これらの値は、以下に記述されるアルゴリズムなどを表現しているブロック35に対する入力として供給される。
【0019】
図2には、”RDS”というラベルが付されたループ40も示されている。このループは、アルゴリズムにおける移動デジタル総和(RDS)のフィードバックを表現している。フィードバックされる値は、その直前の値に現時点の出力のBDSを追加したものに等しい。
【0020】
図3及び図4には、図2のブロック35に対応するアルゴリズム例をより拡大して表示したものが示されている。図3及び図4に示された流れ図は単に例示目的であり、等価な結果を与える他のアルゴリズムも、本発明の範疇及びその精神内に含まれることが企図されている。特に、順次発生するものとして記述されている種々の操作は、容易に並列実行されうる。
【0021】
以下、図3及び図4に示された手続きが記述される。この手続きは、クラスA入力ワードの各々をディスパリティ−1あるいは1のコードワードにマッピングし、クラスBの入力ワードの各々をディスパリティ3あるいは−3のコードワードにマッピングし、及び、クラスCの入力ワードの各々を−1あるいは1のディスパリティを有するコードワードにマッピングする。この手続きは、さらに、クラスDの入力ワードの各々をディスパリティ1のコードワードにマッピングする。
【0022】
ブロック45、50、及び55に示されているように、ある種の特別な場合が識別され、特別の処理のために分離される。このような場合よりなるグループの一つにおいては、RDSの現在値は±2であり、x及びxの双方がクラスDに属している。この種の場合が図4のブロック140で参照されている。このような場合よりなるグループの別のものは、RDSの現在値が−2であって、x及びxがクラスAに属している場合である。このような場合は、図4のブロック145で参照されている。他の全ての場合に関しては、ブロック60−135の操作がまずx次にxに関して実行される。シンボルxは、入力ワードx及びxのうちの現時点のものを示す。
【0023】
ブロック60、65、及び70に示されているように、xのクラスに依存して個別の処理が存在する。クラスがAである場合には、プロセスはブロック75へ進み、yがxと等置され、bが0にセットされる。その後、プロセスはブロック80へ進む。
【0024】
クラスがBの場合には、以下に記述されるようにブロック85−120の操作が実行され、その後処理はブロック80へ進む。
【0025】
クラスがCの場合には、プロセスはブロック125へ進み、yがxと等置され、bが1にセットされる。その後、現時点でのRDSが非負である場合には、プロセスはブロック80へ進む。現時点でのRDSが負である場合には、ブロック130に示されているように、現時点でのw(すなわち、現時点でのy)が、全ての1を0に変更し、かつ、全ての0を1に変更することによって、その2の補数に変更される。(その2の補数によって置換されるワードは、しばしば“反転された”と言われる。)その後、プロセスはブロック80へ進む。
【0026】
クラスがDの場合には、プロセスはブロック135へ進み、bが1にセットされ、特別のマッピングがxに適用される。この特別のマッピングは、図5及び図6を参照して以下に記述される。ブロック135の後、プロセスはブロック80へ戻る。
【0027】
入力ワードがクラスBに属する場合に戻ると、ブロック85において示されているように、入力ワードがクラスB0とクラスB1のいずれに属しているのかの決定がまずなされる。ブロック90及び95に示されているように、yはいずれの場合においてもxに等置され、クラスB0の場合にはbが0に、クラスB1の場合にはbが1に、それぞれセットされる。その後、ブロック100及び105に示されているように、RDSの現在値が正、0、負のいずれであるかに係る決定がなされる。
【0028】
RDSの現在値が正である場合には、現在のwは、ブロック120に示されているように、その2の補数に変更され、この手続きはブロック80に進む。RDSの現在値が負である場合には、この手続きは現在のwを変更せずにブロック80へ進む。RDSの現在値が0の場合には、ブロック110に示されているようにさらなる決定がなされる。現在の入力ワードがxである場合には、現在のw、すなわちw、がブロック120に従って変更され、その後手続きはブロック80へ進む。現在の入力ワードがxである場合には、現在のw、すなわちw、が、xのBDSが少なくとも4である場合にのみ、ブロック120に従って変更される。他の場合には、手続きは、ブロック120へ行くことなくブロック80に進む。
【0029】
ブロック80では、RDSが現時点の出力ワードに従って更新される。
【0030】
以下、特別の場合の処理が図4を参照して議論される。
【0031】
前述されているように、入力ワードx、xよりなる対が、RDSの現在値が±2であり、かつ、xとxの双方がクラスDに属している場合に、ブロック140で参照される。
【0032】
ブロック140では、RDSの現在値が−2に等しいか否かの決定がなされる。RDSの現在値が−2に等しい場合には、ブロック150に示されているように、yがxにセットされ、bが0にセットされ、yがxに、そしてbが0にそれぞれセットされる。その後、ブロック155に示されているように、xのBDS及びxのBDSが双方とも正であるか、あるいは双方とも負であるかの決定がなされる。少なくとも一方のBDS値がゼロである場合、あるいはBDS値が互いに逆符号を有する場合には、手続きはブロック160へ進み、RDS値が現時点のw及びwの値に従って更新される。それぞれのBDS値が共に正あるいは共に負である場合には、ブロック165に示されているように、xのBDSがxのBDSより小さいか否かというさらなる決定がなされる。xのBDSがxのBDSより小さい場合には、ブロック170に示されているように、現在のwがその2の補数によって置換される。xのBDSがxのBDSより小さくない場合には、ブロック175に示されているように、現在のwがその2の補数によって置換される。その後、手続きはブロック160へ進む。
【0033】
ブロック140において一対の入力ワードx、xが参照され、かつ、RDSの現在値が2である場合には、手続きはブロック180に進む。ブロック180においては、yがxにセットされ、bが0にセットされ、yがxに、そしてbが0にそれぞれセットされる。その後、ブロック185に示されているように、xのBDSとxのBDSとの和が4であるか否かの決定がなされる。これらのBDSの和が4である場合には、ブロック190に示されているように、w及びwの双方がぞれぞれ対応する2の補数に変更され、手続きはブロック160へ進む。BDSの和が4ではない場合には、さらに、ブロック195に示されているように、xのBDSとxのBDSの双方が共に正であるか、あるいは共に負であるかに係る決定がなされる。少なくとも一方のBDSが0であるか、あるいは、BDS値が相異なった符号を有する場合には、手続きはブロック160に進む。それぞれのBDS値が共に正であるか、あるいは共に負である場合には、さらに、ブロック200に示されているように、xのBDSがxのBDSより大きいか否かに係る決定がなされる。xのBDSがxのBDSより大きくない場合には、ブロック210に示されているように、現在のwがその2の補数によって置換される。その後、手続きはブロック160へ進む。
【0034】
前述されているように、現在のRDS値が−2であって、かつ一対の入力ワードx及びxの双方がクラスAに属する場合には、x、xがブロック145で参照される。ブロック145では、yがxにセットされ、bが1にセットされ、yがxに、そしてbが1にそれぞれセットされる。その後、手続きはブロック160へ進む。
【0035】
前述されているように、現在の入力ワードがクラスDに属していて図4のブロック140で参照されない場合には、図3のブロック135において特別のマッピングが起動される。この特別のマッピングの目的は、ディスパリティ±8、±6、あるいは4を有する46バイトをディスパリティ0の46バイトにマッピングすることである。ディスパリティ0のものは70バイトあるため、残りの24個は特別の信号に用いられる。この種のマッピングを実現するための利用可能な方法が複数個存在することは当業者には明らかである。以下、例示目的のために、図5及び図6を参照して、その種の一例が記述される。他のマッピング方法も本発明の精神及び範疇に含まれることが企図されている。
【0036】
ブロック215に示されているように、入力ワードに含まれる数字“1”の個数が数えられる。この個数が0、すなわち、入力ワードの全ビットが0である場合には、この入力ワードはここでのマッピングによって10100011にマッピングされる(ブロック220)。この個数が8、すなわち、入力ワードの全ビットが1である場合には、01011100にマッピングされる(ブロック225)。この個数が7、すなわち、入力ワードが単一の0のみを有する場合には、処理はブロック230へ進む。入力ワードが単一の1のみを有する場合には、処理はブロック235へ進む。
【0037】
“1”が2つあり、双方共入力ワードの左側から4ビット分の中に入っている場合には、ブロック240に示されているように、写像は、入力ワードの右側の4ビット分の位置にある数字を0000から1010に変更することによって得られる。入力ワードに“1”が2つある他の全ての場合に関しては、手続きはブロック245に進む。
【0038】
ブロック230では、XXXで示される3ビットバイナリ表現が、数字“0”の位置jに関して導出される。位置jは、最も右側のビットから最も左側のビットに向かって0から7のように数えられる。jが1、2、あるいは4である場合には、写像は010XXX11となる(ブロック250)。jが3、5、あるいは6の場合には、写像は101XXX00となる(ブロック255)。jが0の場合には、写像は10101001となる(ブロック260)。jが1の場合には、写像は10110001となる(ブロック265)。
【0039】
ブロック235では、XXXで示される3ビットバイナリ表現が、数字“1”の位置jに関して導出される。jが1、2、あるいは4である場合には、写像は101XXX10となる(ブロック270)。jが3、5、あるいは6の場合には、写像は010XXX10となる(ブロック275)。jが0の場合には、写像は01001101となる(ブロック280)。jが1の場合には、写像は00101101となる(ブロック285)。
【0040】
ブロック245では、2つの数字“1”のうちの第二のものの位置kが求められる。双方の“1”が最初の5つの位置に含まれる場合には、写像はブロック290に従って、入力ワードから求められる。図示されているように、値“1”は位置k+1及びk+2に割り当てられ、他の全ての位置の数字は入力ワードと同一のままとなる。
【0041】
ブロック295に示されているように、2つの数字“1”のうちの第一のものの位置mも求められる。ブロック240での条件が適用されないため、mは3より大きいことはない。kが6である場合には、ブロック300に示されているように、写像は、入力ワードから、値“1”を最も左の位置及びm+1番目の位置に割り当て、その他を全ての位置を入力ワードから変更せずにおくことによって求められる。kが7である場合には、ブロック305に示されているように、写像は、値“1”をm+1及びm+2の位置に割り当て、その他を全ての位置を入力ワードから変更せずにおくことによって求められる。
【0042】
本発明に係る符号化手続きの一つの利点は、それが、簡潔かつ計算効率の高い復号化手続きを有していることである。この復号化手続きは、図7及び図8を参照して記述される。図7及び図8に記述されている手続きは例示目的であって、等価な結果を実現する他の手続きも本発明の範疇及び精神に従うことが企図されている。
【0043】
図7には、特別の場合を識別して配置するフィルタ310が示されている。フィルタ310は、後に図8に関連して記述される。
【0044】
入力コードワードy(i=0,1)がフィルタ310によって処理されない場合には、ブロック315−355よりなる手続きが起動される。図示されているように、この手続きはyに関する参照なしにyに対して、及びyに関する参照なしにyに対して、それぞれ実行される。入力語yの各々に対して、回復される出力ワード
【数3】
Figure 0003581819
は、そのBDSであるBDS及びbを含むそれぞれのyのみから決定される。
【0045】
ブロック315では、BDS+2b−1という表式が評価される。この表式の値が−3に等しい場合には、回復されるワードは、入力コードワードの2の補数に等しくセットされる。他の場合には、手続きはブロック325へ進む。
【0046】
ブロック325及び330においては、現在のBDSが0であるか否か(ブロック325)、及び現在のbが1に等しいか否か(ブロック330)、が決定される。双方の条件が満たされる場合には、回復されるワードはブロック335に従って決定される。ブロック335では、図5及び図6に示された特別のマッピングの逆が適用される。代表的な場合には、逆方向のマッピングは順方向のマッピングから容易に導出されうるものであり、ここでは逆方向マッピングに関する詳細な記述はなされない。
【0047】
ブロック325の条件あるいはブロック330の条件が満たされない場合には、手続きはブロック340へ進む。ブロック340及び345においては、現在のBDSが2に等しいか否か(ブロック340)、及び現在のbが0に等しいか否か(ブロック345)の決定がなされる。双方の条件が満たされる場合には、ブロック350に示されているように、回復されるワードは入力コードワードの2の補数に等しくセットされる。他の場合には、回復されるワードは、ブロック355に示されているように、入力コードワードに等しくセットされる。
【0048】
以下、図8を参照して、特別な場合のフィルタ310が記述される。まず、BDSが値0を有するか否か(ブロック360)、BDS1が値0を有するか否か(ブロック365)、b0及びb1が等しいか否か(ブロック370)、及びRDSの現在値が非零であるか否か(ブロック375)、の決定がなされる。これらの条件の全てが満たされる場合には、ブロック380に示されているように、
回復されるワード
【数4】
Figure 0003581819
はyに等置され、回復されるワード
【数5】
Figure 0003581819
はyに等置される。他の場合には、手続きはブロック385へ進む。
【0049】
ブロック385及び390においては、BDSの絶対値が少なくとも4であるか否か(ブロック385)、及びBDSの絶対値が少なくとも4であるか否か(ブロック390)の決定がなされる。双方の条件が満たされる場合には、手続きはブロック395へ進む。他の場合には、手続きはこの特別の場合のフィルタを終了し、図7のブロック315へ進む(それぞれのiの値に関して(i=0,1))。
【0050】
ブロック395においては、bの値が1に等しいか否かの決定がなされる。bの値が1に等しい場合には、回復されるワード
【数4】
Figure 0003581819
は入力コードワードyの2の補数にセットされる。他の場合には、回復されるワード
【数4】
Figure 0003581819
は入力コードワードyに等置される。その後、手続きはブロック410へ戻る。
【0051】
ブロック410においては、bの値が1に等しいか否かの決定がなされる。bの値が1に等しい場合には、回復されるワード
【数5】
Figure 0003581819
は入力コードワードyの2の補数にセットされる。他の場合には、回復されるワード
【数5】
Figure 0003581819
は入力コードワードyに等置される。
【0052】
図2から図8に関連して前述された手続きの全ては、ソフトウエア、ハードウエアあるいはファームウエアにおいて適切に実装されたプログラムの制御下で、汎用デジタルコンピュータあるいは特定目的デジタルプロセッサによって容易に実行されうる。
【0053】
本発明の別の実施例が、図9から図15を参照して以下に記述される。図9には、列10’に示されているディスパリティ±8、±6、±4、±2、あるいは0の入力ワードが、それぞれのディスパリティに従って、列15’に示されているクラスA、B、B、C、D、D、あるいはEに割り当てられる方式、が示されている。クラスB及びBは、双方で、クラスBを構成している。クラスD及びDは、双方で、クラスDを構成している。それぞれのクラスに属する可能なワード数は列20’に示されている。0あるいは1をビットとして付加することによる、クラスA、B、C、及びDに属する入力ワードの9ビット写像ワードへのマッピングは、図中では矢印によって示されている。列25’には、結果として得られるクラスの各々における可能な9ビットワードの個数が示されており、列10’’には、これらのクラスのディスパリティが示されている。
【0054】
以下、図9に従ったマッピング手続きが図10から図14を参照して記述される。この手続きは、クラスA入力ワードの各々をディスパリティ−1あるいは1のコードワードに、クラスB入力ワードの各々をディスパリティ3あるいは−3のコードワードに、及び、クラスC入力ワードの各々をディスパリティ−1あるいは1のコードワードに、それぞれマッピングする。また、この手続きは、クラスD入力ワードの各々(すなわち、ディスパリティ−6あるいは−4のコードワード)をディスパリティ−5あるいは+5のコードワードにマッピングする。この手続きは、さらに、クラスE入力ワードの各々を、入力ワードに0をビットとして付加することによって中間写像ワードにマッピングし、そのことによって入力ワードのディスパリティよりも1だけ小さいディスパリティを有するワードを実現する。ある場合には、出力コードワードはこの中間写像ワードと同一である。しかしながら、別の場合には、出力コードワードは、この中間写像ワードを反転することによって求められる。以下に説明されているように、この種の反転は、例えば、8ビット入力ワードのディスパリティがRDSの現在値と同一の符号を有する場合になされる。
【0055】
図10のブロック425及び426に示されているように、x及びxの双方がクラスAに属している場合には、特別のマッピング手続きが存在する。ブロック430及び431に示されているように、x及びxの双方がクラスEに属している場合には、特別のマッピング手続きが存在する。いずれの特別の手続きも適用されない場合には、ブロック435−445に示された段階が入力ワードx及び入力ワードxに関して順次実行される。ブロック435−436に示されているように、クラスA、B、及びCのいずれかに属する入力ワードは、図3を参照して既に記述された手続きに従ってマッピングされる。ブロック440−441に示されているように、クラスDに属する入力ワードは、以下に図13に関連して記述されている手続きに従ってマッピングされる。ブロック445に示されているように、この段階までに処理されていない入力ワードはクラスEに属することになる。この種の入力ワードは、以下に図14に関連して記述されている手続きに従ってマッピングされる。
【0056】
図11は、x及びxの双方がクラスAに属している場合の特別のマッピング手続きを記述している。ブロック450に示されているように、yはxにセットされ、yはxにセットされる。ブロック455−457に示されているように、現在のRDSが負の場合にはb及びbは1にセットされ、それ以外の場合は共に0にセットされる。その後、ブロック460に示されているように、RDSが更新される。
【0057】
図12は、x及びxの双方がクラスEに属している場合の特別のマッピング手続きを記述している。図12に示された手続きは、入力ワードx及び入力ワードxに関して順次実行される。ブロック465に示されているように、現時点の出力ワードyは現時点の入力ワードxに等置され、現時点のbは0にセットされる。ブロック470に示されているように、現在のRDS及び現在の入力ワードに係るBDSが双方とも正であるか双方とも負であるかに係るテストがなされる。これらのうちのいずれかが真である場合には、ブロック475に示されているように、現在のwがその2の補数によって置換される。他の場合にはブロック475はスキップされる。その後、プロセスはブロック480へ進み、RDSが更新される。
【0058】
図13は、現在の入力ワードがクラスDに属する場合に実行されるマッピング手続きを記述している。ブロック485−495に示されているように、現在の出力ワードは現在の入力ワードに等置される。入力ワードがクラスDに属する場合には、現在のbは0にセットされる。現在の入力ワードがクラスDに属する場合には、現在のbは1にセットされる。ブロック500及び520に示されているように、現在のwは、RDSの現在値が負である場合には、その2の補数によって置換される。ブロック505−520に示されているように、RDSの現在値が0であり、かつ、xが−4あるいはそれより小さいBDSを有する場合には、wがその2の補数によって置換される。その後、プロセスはブロック525へ進み、RDSが更新される。
【0059】
図14は、現在の入力ワードがクラスEに属する場合に実行されるマッピング手続きを記述している。ブロック530に示されているように、このクラスは、2進値“1”を有する数字を0個、7個、あるいは8個有している。ブロック535に示されているように、マッピングは、図5に関連して記述された手続きに従って実行される。ブロック540に示されているように、現在のbが1にセットされる。その後、ブロック545に示されているように、RDSが更新される。その後、ブロック550に示されているように、制御は図10に戻る。
【0060】
復号化は、例えば図15に従って実行される。ブロック555は、ある種の特別な場合を識別するフィルタである。ブロック560に示されているように、ブロック555内で、これら特別な場合の一つでは、入力コードワードy及びyの双方がディスパリティ0を有すること、及び、それぞれに付加されたビットb及びbが等しいことが必要とされる。この場合には、ブロック570に示されているように、
【数4】
Figure 0003581819
が入力コードワードyに等置され、
【数5】
Figure 0003581819
が入力コードワードyのに等置される。ブロック565に示されているように、フィルタブロック555内では、第二の特別の場合が、入力コードワードy及びyの双方が絶対値で6以上のディスパリティを有していることを必要とする。この場合には、ブロック575、580、及び585に示されているように、bが0に等しい場合には
【数4】
Figure 0003581819
がyに等置され、bが1に等しい場合には
【数4】
Figure 0003581819
がyの2の補数に等置される。さらに、ブロック590、595、及び600に示されているように、bが0に等しい場合には
【数5】
Figure 0003581819
がyに等置され、b1が1に等しい場合には
【数5】
Figure 0003581819
がyの2の補数に等置される。
【0061】
フィルタブロック555の特別の場合が適用されない場合には、第一入力コードワードyの復号化は第二入力コードワードyに依存せず、かつ、yの復号化はyに依存しない。従って、ブロック605−635の手続きが、順次、入力コードワードy及びyに対して、すなわち、入力コードワードy(i=0,1)に対して実行される。
【0062】
ブロック605では、入力コードワードのディスパリティに、対応する付加ビットbの2倍を加え、さらに、1を減じたものが−3あるいは+5に等しいか否かに係るテストが実行される。この条件が満たされる場合には、
【数3】
Figure 0003581819
は、ブロック610に示されているように、yの2の補数に等置される。他の場合には、手続きはブロック615へ進む。ブロック615では、入力コードワードがディスパリティ0を有しているか否か、及び、対応する付加ビットbが1であるか否かのテストが実行される。これら双方の条件が満たされる場合には、入力コードワードは、ブロック620に示されているように、図5に示された特別のマッピングを反転することによって復号化される。他の場合には、手続きはブロック625へ進む。ブロック625では、入力コードワードがディスパリティ2を有しているか否か、及び、対応する付加ビットbiが0であるか否かのテストが実行される。双方の条件が満たされる場合には、
【数3】
Figure 0003581819
は、ブロック630に示されているように、yの2の補数に等置される。
【0063】
他の全ての場合には、
【数3】
Figure 0003581819
は、ブロック635に示されているように、yに等置される。
【0064】
以上の説明は、本発明の一実施例に関するもので,この技術分野の当業者であれば、本発明の種々の変形例が考え得るが、それらはいずれも本発明の技術的範囲に包含される。
【0065】
【発明の効果】
以上述べたごとく、本発明によれば、適切な冗長性と適切なディスパリティとを組み合わせた符号化方法が提供される。
【図面の簡単な説明】
【図1】可能な8ビット入力ワードの、そのディスパリティによる分類例、及び、これら入力ワードのあるクラスの9ビットコードワードへのマッピングを示す図。
【図2】本発明に係る符号化方法の概念レベルでの実施例を示す高次の流れ図。
【図3】本発明に従った符号化方法の一実施例の詳細を示す流れ図。
【図4】本発明に従った符号化方法の一実施例の詳細を示す流れ図。
【図5】図3に示された“特別マッピング”段階の詳細を示す流れ図。
【図6】図3に示された“特別マッピング”段階の詳細を示す流れ図。
【図7】図3及び図4に従って符号化されたワードをデコードする手続き例を示す詳細な流れ図。
【図8】図7の“特別ケースフィルタ”を流れ図の形で展開した図。
【図9】図1に示された分類及びマッピングとは異なった、入力ワードの分類例及び入力ワードのクラスのマッピングを示す図。
【図10】図9の実施例に従った本発明に係る符号化方法を示す流れ図の一部。図10に示されている部分は入力ワード、さらにある場合には入力ワード対の分類、及び、入力ワードあるいは入力ワード対のさらなる処理目的での転送に係るものである。
【図11】図10に示された流れ図からの続きを表わす流れ図。ある種のクラスを占めるすなわちある特別の場合に対応する入力ワードを処理するためのプロセスを記述している。
【図12】図10に示された流れ図からの続きを表わす流れ図。ある種のクラスを占めるすなわちある特別の場合に対応する入力ワードを処理するためのプロセスを記述している。
【図13】図10に示された流れ図からの続きを表わす流れ図。ある種のクラスを占めるすなわちある特別の場合に対応する入力ワードを処理するためのプロセスを記述している。
【図14】図10に示された流れ図からの続きを表わす流れ図。ある種のクラスを占めるすなわちある特別の場合に対応する入力ワードを処理するためのプロセスを記述している。
【図15】図10から図14に示された手続きに従って符号化されたワードを復号化する手続きの例を示す流れ図。
【符号の説明】
10、10’ 8ビットワードのディスパリティを示す列
10’’ 9ビットワードのディスパリティを示す列
15、15’ それぞれが属する組を示す列
20、20’ それぞれのディスパリティを有するワードの数
25、25’ 9ビットワードの個数
30 ディスパリティチェッカー
35 アルゴリズム
40 ループ

Claims (15)

  1. 符号化方法であって、
    (a) データを表現する複数個の16ビットワードを受けとるステップと、
    (b)前記複数個の16ビットワードの各々を第一の8ビット入力ワード及び第二の8ビット入力ワードに分割するステップと、
    (c)前記各8ビット入力ワードのディスパリティを計算するステップと、
    (d)前記8ビット入力ワードをそれぞれ対応する第一の9ビットコードワード及び第二の9ビットコードワードにマッピングするステップと、
    (e)前記9ビットコードワードの各ビットからなる移動デジタル総和(RDS)を保持するステップとを含み、
    (I)前記各8ビット入力ワードのマッピングが当該8ビット入力ワードのディスパリティの関数であり;
    (II)前記8ビット入力ワードのうちの少なくともいくつかのものの各々のマッピングが前記RDSの関数であり;及び、
    (III)前記第一のあるいは第二の8ビット入力ワードのうちの少なくともいくつかのものの各々のマッピングが対応する前記第二のあるいは第一の8ビット入力ワードの前記ディスパリティの関数であることを特徴とする符号化方法。
  2. 前記8ビット入力ワードのうちの少なくともいくつかのものの各々の前記コードワードへのマッピングが前記8ビットワードを中間写像ワードへマッピングするステップ、及び前記中間写像ワードの二進反転を条件つきで実行するステップ、
    を有している請求項1に記載の符号化方法。
  3. 前記条件つき反転が、前記RDS値に関連した条件によるものである請求項2に記載の符号化方法。
  4. 前記条件つき反転が、前記RDSが非負である場合にのみ実行される請求項3に記載の符号化方法。
  5. 前記条件つき反転が、前記第二8ビット入力ワードの前記ディスパリティに関連する条件によって、前記対応する第一8ビット入力ワードの前記中間写像に対して実行される請求項2に記載の符号化方法。
  6. ディスパリティが−2、0、2、または4の8ビット入力ワードの各々の前記マッピングが、それら自体あるいはそれらの2の補数へのマッピングにビット0またはビット1を付加したものに等価である請求項1に記載の符号化方法。
  7. ディスパリティが0の8ビット入力ワードがクラスAワードと呼称されてディスパリティが−1あるいは1のコードワードにマッピングされ、
    ディスパリティが2あるいは4の8ビット入力ワードがクラスBワードと呼称されてディスパリティが3あるいは−3のコードワードにマッピングされ、及び、
    ディスパリティが−2の8ビット入力ワードがクラスCワードと呼称されてディスパリティが−1あるいは1のコードワードにマッピングされるようになっている請求項1に記載の符号化方法。
  8. 前記クラスAの第一あるいは第二入力ワードが、対応する第二あるいは第一8ビット入力ワードがクラスAに属していて、かつ、前記RDSが負である場合にのみ、ディスパリティ1のコードワードにマッピングされる請求項7に記載の符号化方法。
  9. 前記クラスAの第一あるいは第二入力ワードが、対応する第二あるいは第一8ビット入力ワードがクラスAに属していて、かつ、前記RDSが−2である場合にのみ、ディスパリティ1のコードワードにマッピングされる請求項7に記載の符号化方法。
  10. 前記クラスBワードが、前記RDSが非負の場合にのみディスパリティ−3のコードワードにマッピングされる請求項7に記載の符号化方法。
  11. 前記RDSが0である場合には、前記第二8ビット入力ワードである場合のみ、もしくは、第一8ビット入力ワード及び対応する第二8ビット入力ワードが少なくとも4以上のディスパリティを有している場合に、前記クラスBワードがディスパリティ−3のコードワードにマッピングされる請求項10に記載の符号化方法。
  12. 前記クラスCワードが、前記RDSが負の場合にのみディスパリティ1のコードワードにマッピングされる請求項7に記載の符号化方法。
  13. ディスパリティが−8、−6、−4、6、または8の8ビット入力ワードの各々がディスパリティ1のコードワードにマッピングされる請求項7に記載の符号化方法。
  14. ディスパリティが−6または−4の8ビット入力ワードの各々がディスパリティ−5あるいは5のコードワードにマッピングされる請求項7に記載の符号化方法。
  15. ディスパリティ−8、6、または8の8ビット入力ワードの各々がビット0を付加することによって中間写像ワードにマッピングされ、及び、前記出力コードワードが、前記8ビット写像ワードのディスパリティが前記RDSの現在値と同一の符号を有する場合に前記中間写像ワードを反転することによって得られる請求項14に記載の符号化方法。
JP2000160158A 1999-06-01 2000-05-30 符号化方法 Expired - Fee Related JP3581819B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/323,490 US6188337B1 (en) 1999-06-01 1999-06-01 Low disparity coding method for digital data
US09/323490 1999-06-01

Publications (2)

Publication Number Publication Date
JP2001036410A JP2001036410A (ja) 2001-02-09
JP3581819B2 true JP3581819B2 (ja) 2004-10-27

Family

ID=23259424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000160158A Expired - Fee Related JP3581819B2 (ja) 1999-06-01 2000-05-30 符号化方法

Country Status (5)

Country Link
US (1) US6188337B1 (ja)
EP (1) EP1058432B1 (ja)
JP (1) JP3581819B2 (ja)
KR (1) KR100401393B1 (ja)
DE (1) DE60000636T2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456208B1 (en) 2000-06-30 2002-09-24 Marvell International, Ltd. Technique to construct 32/33 and other RLL codes
KR100384886B1 (ko) * 2000-10-10 2003-05-22 주식회사 케이티 니블 반전 부호 활용 방법 및 그 장치
US6504493B1 (en) 2000-10-31 2003-01-07 Marvell International, Ltd. Method and apparatus for encoding/decoding data
US7113507B2 (en) * 2000-11-22 2006-09-26 Silicon Image Method and system for communicating control information via out-of-band symbols
US6661356B1 (en) 2001-03-05 2003-12-09 Marvell International, Ltd. Method and apparatus for DC-level constrained coding
US7286065B1 (en) 2001-03-05 2007-10-23 Marvell International Ltd. Method and apparatus for DC-level constrained coding
US20030152154A1 (en) * 2002-02-14 2003-08-14 Johnson Ryan C. Coding and decoding system and method for high-speed data transmission
US7277477B1 (en) * 2002-06-21 2007-10-02 Cisco Technology, Inc. Zero overhead back channel for adaptive transmit filter updates in SerDes transceivers
US7084789B2 (en) * 2003-11-17 2006-08-01 Seagate Technology Llc DC-free code having limited error propagation and limited complexity
US8139628B1 (en) 2005-01-10 2012-03-20 Marvell International Ltd. Method and device to compensate for baseline wander
US6995695B1 (en) * 2005-01-28 2006-02-07 International Business Machines Corporation System, method, and article of manufacture for synchronizing running disparity values in a computer and a data demapping device
US7852242B2 (en) * 2008-05-15 2010-12-14 Taiwan Semiconductor Manufacturing Company, Ltd. Increasing 8B/10B coding speed using a disparity look-ahead table
US8823558B2 (en) * 2012-08-30 2014-09-02 International Business Machines Corporation Disparity reduction for high speed serial links
GB2530753A (en) * 2014-09-30 2016-04-06 Canon Kk DC-Free nyquist-free error correcting line coding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4486739A (en) 1982-06-30 1984-12-04 International Business Machines Corporation Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code
US5200979A (en) * 1991-06-06 1993-04-06 Northern Telecom Limited High speed telecommunication system using a novel line code
US5825824A (en) * 1995-10-05 1998-10-20 Silicon Image, Inc. DC-balanced and transition-controlled encoding method and apparatus
US5663724A (en) * 1996-03-28 1997-09-02 Seagate Technology, Inc. 16B/20B encoder
WO1998023060A1 (fr) * 1996-11-22 1998-05-28 Sony Corporation Procede et dispositif de transmission des donnees

Also Published As

Publication number Publication date
US6188337B1 (en) 2001-02-13
EP1058432A3 (en) 2001-05-30
DE60000636T2 (de) 2003-06-26
KR100401393B1 (ko) 2003-10-11
EP1058432B1 (en) 2002-10-23
DE60000636D1 (de) 2002-11-28
EP1058432A2 (en) 2000-12-06
JP2001036410A (ja) 2001-02-09
KR20010014990A (ko) 2001-02-26

Similar Documents

Publication Publication Date Title
JP3581819B2 (ja) 符号化方法
EP0758825B1 (en) Method and apparatus for generating dc-free sequences with conveying partial information by the sequence of codeword digital sums of successive codewords
EP0333324A2 (en) Matched spectral null trellis codes for partial response channels
US4707681A (en) Method and apparatus for implementing optimum PRML codes
US4463344A (en) Method and apparatus for generating a noiseless sliding block code for a (2,7) channel with rate 1/2
EP0162558B1 (en) Method and apparatus for generating a run length limited code
US6614369B1 (en) DC balanced 7B/8B, 9B/10B, and partitioned DC balanced 12B/14B, 17B/20B, and 16B/18B transmission codes
US5781133A (en) Method and apparatus for implementing run length limited codes
US6241778B1 (en) Methods and apparatus for implementing run-length limited and maximum transition run codes
EP0333321A2 (en) Even mark modulation coding
EP0344903A2 (en) Traversed (d, k) code translation
JP3772264B2 (ja) 連続した入力ブロックを符号化する方法
US20020167426A1 (en) Modulation system
JPS6217418B2 (ja)
KR20000031961A (ko) 고속 광 전송 시스템을 위한 비트 삽입/조작 선로 부호의 부/복호화 장치
US7786905B2 (en) Modulation coding and decoding
US5208834A (en) Lexicographical encoding and decoding of state-dependent codes
US6346895B1 (en) Apparatus and method for using nibble inversion code
US6765511B2 (en) Method and apparatus for encoding digital data
KR100231379B1 (ko) 코드 변환/복호 장치 및 방법
US7741980B2 (en) Providing running digital sum control in a precoded bit stream using precoder aware encoding
JP3658395B2 (ja) 信号復調装置及び方法
KR20040033022A (ko) 변조 코드 시스템 및 다수의 적분에 의해 신호를 인코딩및 디코딩하는 방법
JPH11154873A (ja) 符号化回路、符号化方法、ディジタル信号伝送装置およびディジタル磁気記録装置
JPH02119434A (ja) 符合化回路及び復合化回路

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031215

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040315

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040615

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040726

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080730

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110730

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120730

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120730

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees