JP2673068B2 - レート2/5(2、18、2)符号を使用する2進データの符号化および復号の方法及び装置 - Google Patents

レート2/5(2、18、2)符号を使用する2進データの符号化および復号の方法及び装置

Info

Publication number
JP2673068B2
JP2673068B2 JP3270553A JP27055391A JP2673068B2 JP 2673068 B2 JP2673068 B2 JP 2673068B2 JP 3270553 A JP3270553 A JP 3270553A JP 27055391 A JP27055391 A JP 27055391A JP 2673068 B2 JP2673068 B2 JP 2673068B2
Authority
JP
Japan
Prior art keywords
bit
data
serial
register
codeword
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
JP3270553A
Other languages
English (en)
Other versions
JPH04266222A (ja
Inventor
ロバート・テイ・リンチ・ジユニア.
ダニエル・ルガー
トツド・チヤールズ・ウエイガンド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04266222A publication Critical patent/JPH04266222A/ja
Application granted granted Critical
Publication of JP2673068B2 publication Critical patent/JP2673068B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Dc Digital Transmission (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、光学的または磁気的
記憶媒体に対して高密度記録を可能とするランレングス
制限符号に関し、更に詳細には、磁気光学式記録に関す
る共振コイル直接重ね書き手法と共に使用するのに特に
好適な、レート2/5偶数連続ゼロ制約条件(2、18、
2)符号を符号化および復号する独得な方法および装置
に関する。
【0002】
【従来の技術および発明が解決しようとする課題】通常
のd、k制約条件に加えて、偶数連続ゼロの制約条件
(すなわち、各「1」符号ビットの間に偶数個の「0」
符号ビットがある)を持つランレングス制限(RLL)
符号が、これまで提案されており、(d、k、2)と呼
ばれている。
【0003】たとえば、米国特許4,928,187は、(2、
8、2)符号について記しているが、この符号は、各
「1」符号ビットの間に2、4、6、または8個の
「0」符号ビットから成るランレングスを備えているこ
とを意味する。この符号は、磁気式または光学式データ
記憶システムに有用であると述べられている。この符号
は、レート1/3を有しているが、これは、各データビ
ットに対して3個の符号ビットが必要であることを意味
している。
【0004】1982年に発行されたIEEE Transactio
ns、Magnetics、MAG−18、pp.772〜775で、ファンク
(Funk)は、磁気記録に関して(2、8、2)制約条件
を満足する、同様な1/3符号について記している。
【0005】SPIE、vol.1078、pp.265〜270で報告
されている the Proceedings of theOptical Data Stor
age Topical Meeting(1989)において、レート2/5
(2、18、2)符号をスライデイング・ブロック符号技
法を使用して構成することができることが報告されてい
る。しかし、符号を構成する方法または実現する方法に
ついての情報は示されなかった。この(2、18、2)符
号には、2データビットごとに5個の符号ビットが必要
であり、したがってそのレートは1/3符号より高い。
この符号は、並列記録に適合する現在のところ唯一の、
既知のフィールド変調重ね書き技法を開示している、米
国特許4,872,078に記されているような、共振コイル磁
気光学式直接重ね書き技法に使用するのに特に適してい
る。
【0006】(2、18、2)符号は、(a)最大傾斜ま
たはしきい検出チャンネルを用いるパルス幅変調(PW
M)記録に使用するとき(1、7)符号、(2、7)符
号、および(2、8、2)符号より優れており、(b)
45kbpiより上の線密度の(1、7)を含む、光学式PR
ML(Partial Response Maximum Likelihood) 形式チャ
ンネルについてはるか先までモデル化されている他のす
べての符号より優れており、(c)領域サイズの変動の
影響を受け難い。1ビットずつ検出する際の(2、18、
2)符号の主な長所は、所定のユーザデータ密度に対し
て検出窓が広くなっているためである。広い窓は、1ク
ロック周期おきに可能な縁位置として禁止する偶数ゼロ
制約条件の結果である。
【0007】レート2/5(2、18、2)符号を符号化
および復号する実際的方法の必要性が存在する。
【0008】
【課題を解決するための手段】直列2進入力データを
(2、18、2)制約条件を満足する直列2進符号データ
に変換し、直列2進入力データに再変換する。エンコー
ダは、逐次2入力ビットと直前の符号化動作から得られ
た5ビットの状態ベクトルとを受取り、該2入力ビット
と5ビット状態ベクトルとに基いて、5ビット符号語と
新しい5ビット状態ベクトルとを発生する。デコーダ
は、2進符号データを5ビットの符号語に変換し、各5
ビット符号語を逐次、再割当てされた3ビットの符号語
表現に変換し、次いで4個の隣接する3ビット符号語表
現の組を集める。再割当てされた各符号語表現は、前記
4個の3ビット符号語表現のそのとき現在の組に対応す
る2ビット出力に変換され、連続する2ビット出力が直
列2進データに再変換される。
【0009】
【実施例】(2、18、2)符号は、従来の(d、k)制
約条件および、連続する0のすべてのランレングスが偶
数であるという付加制約条件を有するランレングス制限
符号である。d=2の制約条件は、記号間干渉を制限す
る働きをし、k=18は、タイミングの回復に充分近い遷
移を保証する。(2、18、2)符号は、図1に示す有限
状態遷移図により記述することができる。(2、18、
2)制約条件の能力は、2/5という合理的な符号レー
トを可能とするに充分である。
【0010】図2は、(2、18、2)符号を採用して本
発明を実施しているデータ記憶装置を示す。データ源10
からの2進データストリームは、エンコーダ11により
(2、18、2)符号ビットストリームに変換される。符
号ビットストリームは、光学式ディスク装置のダイオー
ドレーザおよび関連の電子装置、または磁気ディスクま
たはテープ装置の磁気記録ヘッドおよび関連電子装置の
ような、書込み手段12を制御する。エンコーダ11により
(2、18、2)符号に符号化された情報は、光学または
磁気ディスクのような媒体13に、光学媒体の場合にはマ
ークの形で、または磁気媒体の場合には磁気的遷移の形
で、書込まれる。書込まれたマークまたは遷移は、レー
ザビームまたは磁気読取ヘッドを備えることができる読
取手段によりアナログ信号として読み戻される。このア
ナログ信号は、偶数個の連続0を有する符号に好適で且
つthe Proceedings of the IEEE International Confer
enceon Communications(1990年4月16〜19日)、pp.172
9〜1733に記されている形式のものとすることができる
データ検出器およびシンクロナイザ15により、符号デー
タを表わすディジタルデータ流れに逆変換される。デー
タ検出器およびシンクロナイザ15のデータ出力は、
(2、18、2)符号データを元の2進表現に変換して戻
すデコーダ16により復号される。
【0011】スライデイング・ブロック符号に関するア
ルゴリズムは、1983年1月に刊行された IEEE Transact
ions on Information Theory のpp.5〜22に記されてい
る。このアルゴリズムは、1985年9月に刊行された IEE
E Transactions on Magnetics のpp.1348〜1349に更に
圧縮した形で記述されている。これらの論文は、状態分
離および状態併合について述べている。
【0012】本発明の特徴によれば、出願人は、(2、
18、2)符号に関する図1の有限状態遷移図を巧みに処
理し、状態分離法を選択的に使用することにより、25の
状態と状態あたり4個の出力縁のみを備えた有限状態機
械(FSM)を(2、18、2)復号アルゴリズムを規定
するのに使用することができることを見出した。このF
SMを本文末尾の表1に示す。この表は、エンコーダ11
が使用する符号化規則を記しており、簡単なため、
(2、18、2)符号を実際的に実施することができる。
【0013】FSMの各縁は、表1のエントリにより表
わされている。縁は、FSMの現在の状態および2ビッ
トの入力ラベルに従って復号プロセス中に選択される。
各縁は、5ビットの符号語およびFSMの次の状態を指
定する。復号データは、FSMを通して経路を追跡する
ことにより発生される。2入力ビットの各新しい組合せ
を用いて、正しい縁が現在の状態から選択され、縁に関
連する符号語がエンコーダ11により出力される。
【0014】このようにして、入力データの2ビットお
よびFSMの現在の状態が、5ビットの符号語の他にF
SMの次の状態を指定する働きをする。符号語の可能な
選択肢は、00000、00001、00010、00100、01000、1000
0、01001、および10010の8個しかないことに注目する
こと。
【0015】表1のFSMは、入力縁の選択的割当と共
に、本発明の重要な特徴である、4個だけの符号語の窓
を有するデコーダの設計を可能とする、わずか4回の状
態分離で発生された。これにより8ビットへの復号時に
誤差の伝播が制限される。表1の各縁に対する2ビット
の入力ラベルは、スライデイング・ブロック・デコーダ
による独得な復号が可能であるように選択されている。
【0016】図3は、表1に記したFSMをハードウェ
アで実現することができる仕方を示す。FSMには25の
状態があるから、特定の一つの状態を表わすには少くと
も5ビットが必要である。5個の状態ビットは、S1
…、S5として区別され、2個の入力ビットは、x1およ
びx2として区別されている。これら7ビットは、符号
語y1、…、y5、および次の状態S1 *、…、S5 *を発生
する。クロックφの周波数は、入力データ流れのビット
レートより5倍高く、符号データのビットレートの2倍
である。他のクロック、φ/2、φ/5、およびφ/1
0、は適切な手段(図示せず)によりφから周波数分割
により得られる。
【0017】エンコーダ11で、直列入力データ19は、直
列入力、並列出力シフトレジスタとすることができる直
列並列変換器20により2個の並列ビットx1、x2に変換
される。2並列データビットx1およびx2、およびエン
コーダ11の現在の状態を区別する5状態ビットS1
…、S5は、読出し専用記憶装置(ROM)21の記憶場
所のアドレスを指定する。ROM21は、符号語ビットy
1、…、y5、およびエンコーダ11の次の状態を記述する
ビットS1 *、…、S5 *を発生する参照用テーブルとして
働く。レジスタ22は、次の状態および符号語を発生しな
がら、FSMの現在の状態の値を保持する。符号語ビッ
トy1、…、y5は、並列入力、直列出力シフトレジスタ
とすることができる並列直列変換器24により直列データ
ストリーム23に変換される。(2、18、2)エンコーダ
11に関する符号化規則は、各状態に独得な2進ラベルを
割当てることにより、表2に指定するような真理値表に
変換することができる。
【0018】図示のとおり、表2は、FSMの状態1、
……、25が2進値00001、……、11001に割当てられてい
る場合に対するROM21の内容を指定している。ただ
し、好適であれば、FSMの状態ラベルに2進値のどん
な他の一貫的割当てをも行うことができる。
【0019】必要ならば、表2の真理値表を標準の論理
最小化法を用いて論理方程式に変換することもできる。
ROM21を次に適切な組合せ論理回路で置き換えること
ができる。
【0020】今度は図4を参照すると、(2、18、2)
符号に関するデコーダ16は、5ビット符号語y1、…、
5を正しい2ビット系列x1、x2に逆変換し、回復デ
ータを表わすのにスライデイング・ウインドウ(窓)を
使用している。デコーダ16に対する入力データストリー
ムは、鎖状に接続された5ビット符号語から構成されて
いる。x1、x2を決定するためには、現在の符号語およ
びそれに続く三つの符号語を調べなければならない。デ
コーダ16は、4個の5ビット符号語(全部で20ビット)
の窓を調べて最初のものの正しい翻訳を行う。新しい5
個の符号ビットを受取ると、窓は1符号語前方に移り、
プロセスを繰返す。デコーダの窓は20ビット幅である
が、同じ情報を、本発明の重要な特徴によって、表3に
示す符号語再割当を採用することにより12ビットの形に
変換できることが望ましい。これは、エンコーダ11によ
る出力が8個の異なる5ビット符号語だけしか存在しな
いから、可能である。これら5ビット符号語y1、…、
5は、受取られるとより小さい3ビットラベルz1、z
2、z3を再割当てされる。これら3ビット符号語は、4
語の必要な窓を形成するのに使用され、全部で12ビット
しか生じない。20ビットから12ビットへのこの縮小によ
り、回復データビットを決定するのに使用される回路の
大きさが大幅に縮少される。
【0021】更に詳細に述べれば、図4に示すように、
シフトレジスタ31は、符号化データをデータ検出器およ
びシンクロナイザ15から直列に受取り、これを組合せ符
号語再割当論理回路32に並列に提示する。回路32は、5
ビット符号語y1、…、y5を並列に受取り、これを、表
3に指定するように、新しい3ビット表現z1、…、z3
に変換する。これら3ビット符号語は、12ビットのアド
レスレジスタ33で並列に利用可能になる。アドレスレジ
スタ33は、3個の4ビット・シフトレジスタから構成さ
れている。5クロックサイクルごとに、新しい符号語z
1、z2、z3がアドレスレジスタ33に移される。このと
きz1は最初のシフトレジスタに、z2は第2のシフトレ
ジスタに、z3は第3のシフトレジスタに進む。これら
シフトレジスタは4ビット幅であるから、共に窓情報の
12ビットを保持する。この12ビットの窓は、ROM34の
参照用テーブルをアドレスする。ROM34の出力は、現
在の符号語から復号された二つのビットx1、x2であ
る。これらビットx1、x2は、次にレジスタ35、マルチ
プレクサ36、およびレジスタ37を通して直列にされ、回
復した直列2進データを線39に供給する。
【0022】デコーダ16に対する制御信号は、すべて線
40のクロックパルスに応じてカウンタ38からの出力Q
A、QB、QCから発生される。出力QCは、新しい3
ビットの再割当符号語をアドレスレジスタ33にロードす
るのに使用される。出力QCはまた、x1、x2の組をレ
ジスタ35に記録し、ここでこの組はマルチプレクサ36と
レジスタ37との組合せを通して直列化されながら、保持
されることができる。出力QBは、マルチプレクサへの
入力であって、マルチプレクサは、x1およびx2のいず
れかを選択し、どのデータをレジスタ37に送るかを決定
する。出力QAは、出力データクロックとして働き、マ
ルチプレクサからのデータのレジスタ37への記録を制御
する。
【0023】これら制御信号間の関係を図5に示す。直
列出力は、5符号クロックパルス(レート2/5符号に
必要な)ごとに2出力パルスを持つ対称クロックにより
発せられる。カウンタ38は、線路41の同期化信号によ
り、デコーダ窓を正しく位置合せする。この同期化信号
は、データストリームを開始するプリアンサンブルから
生成される。
【0024】ROM34の内容は、デコーダ16の動作のキ
ーである。参照用テーブルは、エンコーダFSMにより
発生された可能な4符号語列のすべてを考慮し、各場合
の回復について正しいx1、x2を選択することにより得
られたものである。デコーダ11には全部で100個の縁(2
5の状態×状態あたり4個の縁)がある。或る場合に
は、異なる状態で始まる同一の符号語系列(縁系列とも
言う)が存在する。各系列は、異なる縁で始まるが、復
号を独特にすべき場合には、同じ入力に復号しなければ
ならない。
【0025】表1のエンコーダFSMは、これら同等の
縁系列を同じx1、x2に復号させる入力割当を用いて設
計されている。表4の参照用真理値表は、表3で再割当
てされた3ビット符号語の名前または表現で書かれてい
る。エントリは、最も古い符号語(翻訳すべきもの)を
左に、続く三つの符号語(復号窓に必要な)を右にし
て、左から右に書かれている。新しい符号語を受取る
と、この語は、最も古い語(現在復号されている)が左
に移るにつれて、右から窓に移される。
【0026】表2および表4の真理値表は、それぞれR
OM21および34を使用して実施されているように示して
あるが、好適ならば、これらを個別の論理回路か、また
はプログラム可能論理アレイで実現することができるこ
とが理解されるであろう。
【0027】本発明について、その好適実施例に関して
図示し、説明してきたが、当業者は、本発明の範囲およ
び教示から逸脱することなく、形態および細部の変更を
これら実施例に行うことができることを理解するであろ
う。 表1 (2,18,2)エンコーダに関する有限状態機械 現在の状態 入力データ 00 01 10 11 * ** * ** * ** * ** 01 04-00100 17-00100 18-00100 19-00100 02 06-00100 20-00100 21-00100 22-00100 03 01-00100 02-00100 03-00100 05-00100 04 13-00000 14-00000 15-00000 16-00000 05 08-00000 11-00000 23-00000 10-00000 06 04-00001 05-00001 06-00001 07-00001 07 01-00001 02-00001 03-00001 09-00000 08 13-01000 14-01000 15-01000 16-01000 09 04-00000 17-00000 18-00000 19-00000 10 20-00000 21-00000 06-00000 22-00000 11 08-01000 10-01000 11-01000 23-01000 12 01-00000 02-00000 03-00000 24-00000 13 13-00010 14-00010 15-00010 16-00010 14 09-00010 10-00010 11-00010 12-00010 15 01-01001 02-01001 03-01001 08-00010 16 04-01001 05-01001 06-01001 07-01001 17 04-10000 17-10000 18-10000 19-10000 18 06-10000 20-10000 21-10000 22-10000 19 01-10000 02-10000 03-10000 05-10000 20 09-10010 10-10010 11-10010 12-10010 21 13-10010 14-10010 15-10010 16-10010 22 01-00001 02-00001 03-00001 08-10010 23 01-00000 02-00000 03-00000 09-01000 24 08-00000 11-00000 23-00000 25-00000 25 20-00000 21-00000 18-00000 19-00000 *次の状態 **符号語 表2 (2,18,2)デコーダに関する有限状態機械の真理値表 00 00001 00100 00100 01 00001 10001 00100 10 00001 10010 00100 11 00001 10011 00100 00 00010 00110 00100 01 00010 10100 00100 10 00010 10101 00100 11 00010 10110 00100 00 00011 00001 00100 01 00011 00010 00100 10 00011 00011 00100 11 00011 00101 00100 00 00100 01101 00000 01 00100 01110 00000 10 00100 01111 00000 11 00100 10000 00000 00 00101 01000 00000 01 00101 01011 00000 10 00101 10111 00000 11 00101 01010 00000 00 00110 00100 00001 01 00110 00101 00001 10 00110 00110 00001 11 00110 00111 00001 00 00111 00001 00001 01 00111 00010 00001 10 00111 00011 00001 11 00111 01001 00000 00 01000 01101 01000 01 01000 01110 01000 10 01000 01111 01000 11 01000 10000 01000 00 01001 00100 00000 01 01001 10001 00000 10 01001 10010 00000 11 01001 10011 00000 00 01010 10100 00000 01 01010 10101 00000 10 01010 00110 00000 11 01010 10110 00000 00 01011 01000 01000 01 01011 01010 01000 10 01011 01011 01000 11 01011 10111 01000 00 01100 00001 00000 01 01100 00010 00000 10 01100 00011 00000 11 01100 11000 00000 00 01101 01101 00010 01 01101 01110 00010 10 01101 01111 00010 11 01101 10000 00010 00 01110 01001 00010 01 01110 01010 00010 10 01110 01011 00010 11 01110 01100 00010 00 01111 00001 01001 01 01111 00010 01001 10 01111 00011 01001 11 01111 01000 00010 00 10000 00100 01001 01 10000 00101 01001 10 10000 00110 01001 11 10000 00111 01001 00 10001 00100 10000 01 10001 10001 10000 10 10001 10010 10000 11 10001 10011 10000 00 10010 00110 10000 01 10010 10100 10000 10 10010 10101 10000 11 10010 10110 10000 00 10011 00001 10000 01 10011 00010 10000 10 10011 00011 10000 11 10011 00101 10000 00 10100 01001 10010 01 10100 01010 10010 10 10100 01011 10010 11 10100 01100 10010 00 10101 01101 10010 01 10101 01110 10010 10 10101 01111 10010 11 10101 10000 10010 00 10110 00001 00001 01 10110 00010 00001 10 10110 00011 00001 11 10110 01000 10010 00 10111 00001 00000 01 10111 00010 00000 10 10111 00011 00000 11 10111 01001 01000 00 11000 01000 00000 01 11000 01011 00000 10 11000 10111 00000 11 11000 11001 00000 00 11001 10100 00000 01 11001 10101 00000 10 11001 10010 00000 11 11001 10011 00000 表3 符号語の再割当 符号語 再割当された語 y1 y2 y3 y4 y5 z1 z2 z3 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 1 論理方程式 z1 = y1 + y2 z2 = y1 + y4 + y3 z3 = y5 + y3 + (y1y4) 表4 (2, 18, 2)デコーダに対する(2, 18, 2)参照用真理値表 入力 出力 z1 z2 z3 z1 z2 z3 z1 z2 z3 z1 z2 z3 x1 x2 [1] [2] [3] [4] 0 0 0 1 1 1 1 0 1 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 0 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 0 1 0 0 0 1 1 1 0 1 0 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 1 1 0 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 0 0 1 1 0 1 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 1 1 1 0 0 0 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 1 1 0 1 0 1 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1 1 1 1 1 1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 1 1 0 0 0 0 1 0 1 1 1 1 0 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 1 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 0 1 1 1 1 1 1 1 0 1 0 0 1 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 0 1 0 0 1 0 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 1 1 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 1 0 1 1 0 1 1 1 0 1 1 1 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 0 0 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 1 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 0 1 0 0 1 1 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 0 0 0 1 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 0 1 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 0 0 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 1 1 1 0 1 0 0 1 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 1 0 0 1 1 0 0 0 1 0 0 1 0 1 1 0 0 1 1 0 1 1 0 0 0 1 0 1 1 0 0 1 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 0 0 1 1 0 0 1 1 1 1 0 1 1 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 0 0 1 1 0 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 0 1 0 1 0 0 1 0 1 1 0 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 1 0 1 1 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 1 1 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 0 0 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 1 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 0 1 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 1 1 1 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 1 0 1 0 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 1 0 1 0 1 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 0 1 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 1 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 0 1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 0 1 0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 0 1 1 1 0 1 0 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1 0 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1 0 0 1 0 0 0 0 0 1 1 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 0 1 1 1 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 1 0 1 1 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 0 0 0 1 0 1 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 0 0 1 0 0 1 1 1 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 1 1 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 1 1 1 1 1 1 0 0 1 0 0 1 0 1 1 1 1 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 1 1 1 0 1 1 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 1 1 1 1 1 1 0 0 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 0 0 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 1 0 1 1 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 0 0 1 0 1 1 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 0 0 1 1 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 0 1 0 1 0 0 1 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 1 0 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 1 1 1 0 0 0 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 1 1 1 0 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0
【0028】
【発明の効果】上述のとおり、本発明によりレート2/
5(2、18、2)符号を符号化および復号する実際的方
法が提供される。
【図面の簡単な説明】
【図1】(2、18、2)符号を示す有限状態遷移図であ
る。
【図2】本発明を具現するデータ記憶装置のブロック図
である。
【図3】エンコーダのブロック図である。
【図4】デコーダのブロック図である。
【図5】デコーダの制御信号のタイミング図である。
【符号の説明】
10・・・データ源、11・・・エンコーダ、12・・
・書き込み手段 13・・・データ記憶媒体、14・・・読み取り手段 15・・・データ検出器及び、シンクロナイザ、 16・・・スライデイング・ブロック・デコーダ、17
・・・データ出力
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ダニエル・ルガー アメリカ合衆国カリフオルニア州パロ・ アルト、ウエブステア・ストリート228 番地 (72)発明者 トツド・チヤールズ・ウエイガンド アメリカ合衆国カリフオルニア州サンノ ゼ、マニラ・ドライブ351番地 (56)参考文献 特開 昭58−119273(JP,A) 特開 昭58−164377(JP,A)

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】データが記憶媒体に書き込まれ又は該記憶
    媒体から読み取られるデータ記憶システムであって、 (a)2値入力の連続して選ばれた2ビットを2つの並
    列ビットに変換する、直列/並列変換器と、 (b)符号器のベクトルを示す5ビットの現在の状態を
    保持するレジスタと、 (c)前記2つの並列ビット及び5ビットの現在の状態
    を示すベクトルから、前記レジスタに供給されかつ前記
    レジスタを更新する5ビットの次の状態ベクトルを生成
    し、さらに、2値入力データを(2,18,2)符号に
    符号化するために、00000、00001、00010、00100、0100
    0、10000、10010、01001の8個の可能な符号語から選定
    する5ビットの符号語を生成する、ルックアップテーブ
    ル・メモリと、 (d)前記5ビットの符号語を直列(2,18,2)2
    値符号データの系列としての電気信号に変換する、5ビ
    ットの並列/直列変換器と、 を含む、直列2値入力データを表すディジタル信号を受
    け取る符号器と、 前記直列(2,18,2)2値符号データを前記媒体に
    書き込むトランスデューサと、 を含む、データ記憶システム。
  2. 【請求項2】前記トランスデューサがダイオード・レー
    ザを含み、かつ、前記データ記憶システムが光ディスク
    ・システムであることを特徴とする、請求項1のシステ
    ム。
  3. 【請求項3】前記トランスデューサが磁気記録ヘッドを
    含み、かつ、前記データ記憶システムが磁気記録システ
    ムであることを特徴とする、請求項1のシステム。
  4. 【請求項4】前記媒体から読まれた直列(2,18,
    2)2値符号データの系列を直列2値入力データに復号
    するスライディング・ブロック復号器であって、 (a)前記直列(2,18,2)2値符号データの系列
    を4つの5ビット符号語に変換する第1のシフト・レジ
    スタと、 (b)各5ビット符号語を、再割当てされたそれぞれ3
    ビット符号語表現に変換するするための符号語再割当て
    論理回路と、 (c)4つの隣接する3ビット符号語をそれぞれ集める
    ための、3つの4ビット・シフト・レジスタを含むアド
    レス・レジスタ手段と、 (d)各再割当てされたそれぞれ3ビット符号語表現を
    4つの3ビット符号語表現の現在のセットに対応する2
    ビット出力に変換する、ルックアップテーブル・メモリ
    と、 (e)第2のレジスタ、マルチプレクサ、及び連続する
    2ビット出力を直列2値データに変換するために直列接
    続された第3のレジスタを含む手段と、 を有するスライディング・ブロック復号器を含む、請求
    項1のシステム。
  5. 【請求項5】データ記録媒体から読まれたレートm/n
    の符号化データ系列を直列2値データに復号するスライ
    ディング・ブロック復号器であって、 (a)前記直列系列をj個のnビット符号語に変換する
    第1のシフト・レジスタと、 (b)各nビット符号語を再割当てされたそれぞれk
    (<n)ビット符号語表現に変換するするための符号語
    再割当て論理回路と、 (c)j個の隣接するkビット符号語をそれぞれ集める
    ための、k個のjビット・シフト・レジスタを含むアド
    レス・レジスタ手段と、 (d)各再割当てされたそれぞれkビット符号語表現を
    j個のkビット符号語表現の現在のセットに対応するm
    ビット出力に変換する、ルックアップテーブル・メモリ
    と、 (e)第2のレジスタ、マルチプレクサ、及び連続する
    mビット出力を直列2値データに変換するために直列接
    続された第3のレジスタを含む手段と、 を含む、スライディング・ブロック復号器。
  6. 【請求項6】レート2/5(2,18,2)のRLLコ
    ードを復号するために、m=2、k=3、j=4、n=
    5であることを特徴とする、請求項5の復号器。
  7. 【請求項7】直列2値入力データを表すディジタル信号
    を受け取る符号器であって、 (a)2値入力の連続して選ばれた2ビットを2つの並
    列ビットに変換する、直列/並列変換器と、 (b)符号器のベクトルを示す5ビットの現在の状態を
    保持するレジスタと、 (c)前記2つの並列ビット及び5ビットの現在の状態
    を示すベクトルから、前記レジスタに供給されかつ前記
    レジスタを更新する5ビットの次の状態ベクトルを生成
    し、さらに、2値入力データを(2,18,2)符号に
    符号化するために、00000、00001、00010、00100、0100
    0、10000、10010、01001の8個の可能な符号語から選定
    する5ビットの符号語を生成する、ルックアップテーブ
    ル・メモリと、 (d)前記5ビットの符号語を直列(2,18,2)2
    値符号データの系列としての電気信号に変換する、5ビ
    ットの並列/直列変換器と、 を含む、直列2値入力データを表すディジタル信号を受
    け取る符号器。
JP3270553A 1990-10-29 1991-09-24 レート2/5(2、18、2)符号を使用する2進データの符号化および復号の方法及び装置 Expired - Fee Related JP2673068B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60528890A 1990-10-29 1990-10-29
US605288 1990-10-29

Publications (2)

Publication Number Publication Date
JPH04266222A JPH04266222A (ja) 1992-09-22
JP2673068B2 true JP2673068B2 (ja) 1997-11-05

Family

ID=24423040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3270553A Expired - Fee Related JP2673068B2 (ja) 1990-10-29 1991-09-24 レート2/5(2、18、2)符号を使用する2進データの符号化および復号の方法及び装置

Country Status (2)

Country Link
EP (1) EP0484072A3 (ja)
JP (1) JP2673068B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4488142A (en) * 1981-12-31 1984-12-11 International Business Machines Corporation Apparatus for encoding unconstrained data onto a (1,7) format with rate 2/3
US4463344A (en) * 1981-12-31 1984-07-31 International Business Machines Corporation Method and apparatus for generating a noiseless sliding block code for a (2,7) channel with rate 1/2
JPS58164377A (ja) * 1982-03-24 1983-09-29 Matsushita Electric Ind Co Ltd 信号圧縮方法
US4914438A (en) * 1987-09-01 1990-04-03 Hitachi, Ltd. Digital information coding system

Also Published As

Publication number Publication date
EP0484072A3 (en) 1992-08-05
JPH04266222A (ja) 1992-09-22
EP0484072A2 (en) 1992-05-06

Similar Documents

Publication Publication Date Title
US5173694A (en) Binary data encoding and decoding using a rate 2/5 (2,18,2) code
US4707681A (en) Method and apparatus for implementing optimum PRML codes
KR101244580B1 (ko) 코더, 및 제약 d=1,r=2를 갖는 패리티 상보적 워드할당에 의한 코드의 코딩방법
US4609907A (en) Dual channel partial response system
EP0554638A2 (en) Method and apparatus for implementing PRML codes with maximum ones
JPH0158705B2 (ja)
EP0122027A1 (en) Variable-length encoding-decoding system
US5537422A (en) Synchronization signal detector, synchronization signal detecting method and demodulator
JPH0544206B2 (ja)
US5535187A (en) High capacity run-length-limited coding system employing asymmetric and even-spaced codes
KR100370416B1 (ko) 고밀도 데이터의 기록/재생을 위한 부호화/복호화 방법 및 그에 따른 장치
US6492915B2 (en) Method for recording information, method for reproducing information, and information recording apparatus
JP3363432B2 (ja) データ符号化システム
KR100506070B1 (ko) 고밀도데이터의기록/재생을위한부호화/복호화방법
US4672362A (en) Binary data encoding and decoding process
JP3935217B2 (ja) mビット情報ワードのシーケンスから変調信号への変換
US6347390B1 (en) Data encoding method and device, data decoding method and device, and data supply medium
US4549167A (en) Method of encoding and decoding binary data
US6188335B1 (en) Method and apparatus having cascaded decoding for multiple runlength-limited channel codes
EP0090047B1 (en) Encoding and decoding system for binary data
KR19980031982A (ko) 데이타 저장기기의 prml 코드 생성방법
KR100450782B1 (ko) 고밀도 데이타 저장기기를 위한 피알엠엘 코드의 부호화 및복호화 방법
JPH01286626A (ja) データ符号化方式
JP2004518241A (ja) 一連のmビットの情報ワードを被変調信号に変換する方法
JP2673068B2 (ja) レート2/5(2、18、2)符号を使用する2進データの符号化および復号の方法及び装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees