(57)【特許請求の範囲】
【請求項１】
各々がｐビットから成る一連の入力ブロックを、各々がｑビットから成る一連のコードワードに符号化する方法であって、
前記コードワードは、遷移によって特徴付けられる一方の型の連続ビットが、遷移の無いことによって特徴付けられる他方の型の少なくともｄビットによって分離されるように、また、前記一方の型の連続ビットの間に存在する他方の型の最大ビットがｋビット以下であるように、（ｄ、ｋ）ランレングス制限を満たしており、
前記方法が、
前記一連のｐビット入力ブロックを受け取るステップと、
前記ｐビット入力ブロックのそれぞれを、エンコーダを用いて直列ｑビットの対応するコードワードに変換するステップと、を有し、
前記エンコーダは符号化テーブルを含んでおり、前記符号化テーブル内の前記コードワードのアドレスは、先に出力されたコードワードの前記状態に依存するプレフィクス値を前記入力ブロックの先頭に追加することによって定められ、前記コードワードのそれぞれは複数の状態x1,x2,.....xnのうちの一つに属しており、先に出力されたコードワードが第1の状態を示すとき次に選択される対象となるコードワードの少なくとも１つのサブセットは、先に出力されたコードワードが第２の状態を示すとき次に選択される対象となるコードワードのサブセットと同一であり、この場合、前記第1の状態において選択対象となるコードワードのサブセットのアドレスと、前記第２の状態において選択対象となるコードワードのサブセットのアドレスとは同一であり、
前記符号化テーブルは、重複しないサブテーブルに分割されており、
（ａ）所与のサブテーブルに属する全てのコードワードが、該サブテーブルに固有のランレングスのインターバル内にその長さが入るゼロのランで始まり、
（ｂ）所与のサブテーブルに属するランレングスのインターバルは、同じランレングス値が２以上のサブテーブルに属することがないように規定されており、
（ｃ）先に出力されたコードワードの状態に応じて選択対象となる前記符号化テーブルのセグメントは、符号化テーブル内に連続するコードワードとして配置されている、
方法。
【請求項２】
所与の状態に対応する前記符号化テーブルの少なくとも２つのセグメントが、重複しており、
所与の状態に対応する前記符号化テーブルの少なくとも１つのセグメントが、２ｐより大きい、請求項１に記載の方法。
【請求項３】
前記入力ブロックに対応する符号化テーブルのコードワードのアドレスが、固定数のビットを有するプレフィックスを前記入力ブロックに追加することによって求められ、
前記プレフィックスが、２以上の可能なコードワード値から得られる２以上の可能な値を備える、請求項１に記載の方法。
【請求項４】
前記入力ブロックに追加されたプレフィックスの値が、第１のしきい値および第２のしきい値と入力ブロックの値との比較の結果であり、
前記プレフィクスの値が、前記符号化テーブル内の前記サブテーブル間の境界、および前記符号化テーブル内の別の状態に対応するセグメントの間の境界によってあらかじめ決められており、
前記第１のしきい値および前記第２のしきい値の値が、エンコーダの現在の状態に依存している、
請求項３に記載の方法。
【請求項５】
前記コードワードのゼロの最後のランレングスが、エンコーダの次の状態を決定する、請求項１に記載の方法。
【請求項６】
２以上の起こりうるコードワード値が、別々のパリティを備えており、同一の状態に導くゼロのランレングスとなる、請求項３記載の方法。
【請求項７】
各々がｐビットから成る一連の入力ブロックを、各々がｑビットから成る一連のコードワードに符号化するシステムであって、
前記コードワードは、遷移によって特徴付けられる一方の型の連続ビットが、遷移の無いことによって特徴付けられる他方の型の少なくともｄビットによって分離されるように、また、前記一方の型の連続ビットの間に存在する他方の型の最大ビットがｋビット以下であるように、（ｄ、ｋ）ランレングス制限を満たしており、
前記システムが、
前記ｐビット入力ブロックのそれぞれを、エンコーダを用いて直列ｑビットの対応するコードワードに変換する変換手段を有し、
前記エンコーダは符号化テーブルを含んでおり、前記符号化テーブル内の前記コードワードのアドレスは、先に出力されたコードワードの前記状態に依存するプレフィクス値を前記入力ブロックの先頭に追加することによって定められ、前記コードワードのそれぞれは複数の状態x1,x2,.....xnのうちの一つに属しており、先に出力されたコードワードが第1の状態を示すとき次に選択される対象となるコードワードの少なくとも１つのサブセットは、先に出力されたコードワードが第２の状態を示すとき次に選択される対象となるコードワードのサブセットと同一であり、この場合、前記第1の状態において選択対象となるコードワードのサブセットのアドレスと、前記第２の状態において選択対象となるコードワードのサブセットのアドレスとは同一であり、
前記符号化テーブルは、重複しないサブテーブルに分割されており、
（ａ）所与のサブテーブルに属する全てのコードワードが、該サブテーブルに固有のランレングスのインターバル内にその長さが入るゼロのランで始まり、
（ｂ）所与のサブテーブルに属するランレングスのインターバルは、ランレングス値が２以上のサブテーブルに属することがないように規定されており、
（ｃ）先に出力されたコードワードの状態に応じて選択対象となる前記符号化テーブルのセグメントは、符号化テーブルに連続するコードワードとして配置されている、
システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、伝送のための定められた制約を満たす、２進データ・ワードをコードワードに符号化し、その後、コードワードをオリジナルの２進データワードにデコードするシステムに関する。特に、この発明は、情報密度を増やし、送られたディジタル・コードの総体的なＤＣ成分を最小にし、そしてコーディング表のために必要なメモリを最小にする、データを符号化しデコードするシステムに関連する。
【０００２】
【従来の技術】
デジタル通信システムならびに磁気および光の記録・再生システムにおいて、転送されるまたは記録される情報は、１と０によるビットストリーム・シーケンスとして提示される。光および磁気記録システムにおいて、装置に書かれたビットストリームは、ある制約を満たさなければならない。制約の共通部分は、ビットストリーム中の１の間にある連続的な０のランが定められたパラメータｄとｋについて少なくともｄの長さとｋ以下の長さとを持たなければならないということを指定する（ｄ，ｋ）ランレングス制限（ＲＬＬ）制約である。現在、コンパクトディスクが制約（ｄ，ｋ）＝（２，10）を持つコードを使うのが一般的である。（２,10）制約を満たしているシーケンスの例は、.....00010000000000100100000100...で、最初の４つのランレングスは、３、１０、２及び５である。磁気記録規格は、(1,7)-RLL制約および(1,3)-RLL制約を含む。
【０００３】
所与の(d,k)-RLL制約を満たしているすべてのシーケンスの組を、図１の中で示されるラベルをつけられた有向グラフにおいて経路からはずれるラベルを読みとることによって説明することができる。パラメータｋは、リードバック中のクロック同期のため必要である、記録された波形における十分な正負符号変更を保証するために課される。パラメータｄは、記号間の干渉を防ぐために必要とされる。
【０００４】
別の種類の制約は、入力データストリームの低周波またはＤＣ定数を制御することを必要とする。ＤＣ制御が、光記録の中でサーボ系との干渉のような問題を避け、指紋から生じるノイズのフィルタリングを許すために使用される。情報チャネルは、通常直流に反応せず、伝送されまたは記録された信号のＤＣ成分は失われる。このように、記号のシーケンスのＤＣ成分は、できる限りゼロの近くに、好ましくはゼロに保たれねばならない。これは、記号アルファベット{+l,-l}にわたって認められた記録されたシーケンスW1W2......Wlが、
【０００５】
【数１】
0003772264.tif 000002
のあらゆるｉ，ｊに対して、１≦ｉ≦ｊ≦ｌを満たすような正整数Ｂの存在を必要とすることによって達成することができる。これらの条件に従うシーケンスは、Ｂ−チャージ制約を満たすといわれる。Ｂの値が大きいほどＤＣ成分における低減が小さくなる。
【０００６】
しかし、あるアプリケーションでは、チャージ制約をゆるめることができ、高いコーディング速度を可能にする。そのようなアプリケーションにおいて、ＤＣ制御が、（平均して）ある割合の記号が次の記号の極性を逆にするのを許すコード構成を使用することによって達成されることがある。代わりに、ＤＣ制御は、平均してある割合の記号が、より低いかまたは反対極性のＤＣ成分を持つオルタネート・コードワードを持つのを許すことによって達成されることがある。
【０００７】
ＤＣ制御と(d,k)-RLL制約は、結合されることができる。そのような方式において、(d,k)-RLL制約を満たす２進シーケンスZ1Z2Z3.....Zlの制約 は、それぞれのＮＲＺＩシーケンス
【０００８】
【数２】
（−１）z1（−１）z1+z2（−１）z1+z2+z3...
が制御されたＤＣ成分を持つようなものである。
【０００９】
図２を参照すると、従来の符号化／デコード・システム200の機能ブロック図が示される。ＣＤ上へ記録された音声データの典型的な例において、ステレオ・システムの左右のスピーカ202a、202bからのアナログ・オーディオ・データが、８ビット信号に変換され、データ・スクランブラおよび誤り訂正コード発生装置に入力され、出力210は、チャネル・エンコーダ214および並直変換器216を含むエンコーダ212に送られる。シリアルデータ220がコンパクトディスク222に書かれる。同様のプロセスが、データをＣＤからデコードするために使用される。ＣＤからのデータ224は、直並列変換器230とチャネル・デコーダ232を含むデコーダ230に入力される。ＣＤからのデータは、デコードされ、エラー訂正器および暗号解読器（デスクランブラ）238に入力され、オーディオ・データ240として出力される。
【００１０】
エンコーダ212は、制約のないシーケンスの制約のあるシーケンスへの特異にデコード可能な（または損失のない）マッピングである。コンパクトディスク・データを符号化する現在の規格は、８対14変調（ＥＦＭ）である。ＥＦＭ符号化を使用すると、８つのデータビットのブロックが、チャネル・ビットとして知られている14のデータビットのブロックに翻訳される。ＥＦＭが、14ビットの長さを持つ明確なコードワードを８ビットのデータワードごとに割り当てるルックアップ・テーブルを使う。正しい14−ビット・ワード、（２，10）制約を満たすビット・パターンを選ぶことによって、高いデータ密度が達成される。マージ・ビットと呼ばれる３つの付加ビットが、複数の14ビットのコードワードの間に挿入される。
【００１１】
これらの３つのビットは、（２，10）制約が維持されることを保証し、ビットストリームの低周波またはＤＣ成分を制御するために選ばれる。これらの３つのマージ・ビットの付加は、８：17（８：14でなく）のコード構成の効果的な割合を作る。
【００１２】
より高いデータ密度に対する需要は、マルチメディア、グラフィックス集約コンピュータ・アプリケーションおよび高品質のデジタル・ビデオ・プログラミングの出現で増加している。記事「EFMPlus: The Coding Format of the MultiMedia Compact Disc", Proc. 16th Symp. on Inform. Theory in the Benelux, Nieuwerkerk a/d Yssel, May 18- 19, 1995,」の中で説明された案は、ＥＦＭコーディングに比べてデータ密度を増やす符号化／デコーディング・システムを説明する。EFMPlus記事の中で提案されたシステムにおいては、制約されたデータのためのエンコーダとデコーダの両方が有限状態マシンの形をとる。速度ｐ：ｑの有限状態エンコーダは、ｐ−ビットの入力ブロックを受けて、入力ブロックとエンコーダの現在の状態に基づいてｑ−ビットのコードワードを生成する。生成されたｑ−ビット・コードワードを連結することによって得られたシーケンスは、その制約を満たす。光記憶装置において、ｐ−ビット入力ブロックは、エラー訂正方式で使用する単位サイズに一致するので、典型的に８ビットのバイトととられる。
【００１３】
提案されたEFMPlus方式は、ＥＦＭ方式と比べてそのデータ密度を増やす(2,10)-RLL制約のためのレート８：16の有限状態エンコーダである。エンコーダは、しかし各状態が256+88の16ビットのコードワードを必要とするより複雑な４状態のエンコーダである。（88のコードワードは、ＤＣ成分を制御するために使用される交互のコードワードである。）
情報密度を増やし、送られたディジタル・コードの総体的なＤＣ成分を最小にし、符号化およびデコーディングのテーブルのために必要なメモリを最小にする、２進データの符号化およびデコーディングの方法および装置が必要とされている。
【００１４】
【発明が解決しようとする課題】
この発明は、ある程度のＤＣ制御を提供しながら制約のない２進シーケンスを(d,k)-RLL制約に従うシーケンスにマップする損失のないコーディング構成を提供する。損失のないコーディング方法が、ＥＦＭコーディングに対して相対的に情報密度を増やし、出力の制約されたシーケンスの総体的なＤＣ成分を最小にする２進データを符号化しデコードする方法および装置を提供する。さらに、このコーディング方法は、符号化およびデコーディングのテーブルに必要なメモリを最小にしようとするものである。メモリサイズは、ＥＦＭコーディング方法と比較して減らされる。
【００１５】
【課題を解決するための手段】
好ましい実施例において、チャネル・エンコーダは、複数のテーブルを使用するよりはすべての状態について一つの「重複する」テーブルを使用する状態機械である。最初の状態xiの中のコードワードのサブセットが、第２の状態xjのコードワードのサブセットと同一であると認識すると、重複する符号化テーブルは、第１および第２の状態において同じコードワードのサブセットについて同じアドレスを使う。このように、２以上の状態のためのアドレスが一つのコードワードを指すことがありえる。いくつかの入力バイトが、複数の１の異なるパリティを持ち、 ＤＣ制御を可能にする２つの異なるコードワードにエンコードされることができる。デコードは、状態に独立な態様で行われる。
【００１６】
エンコーダは、入力ブロックをコードワードにマップする有限状態マシンである。エンコーダ設計は、一つのテーブルが、制約された２進シーケンスを（ｄ，ｋ）ランレングス制約（ここでｄ＝２、ｋ＝10又は12）および固定レート（８：15又は８：16）に従うシーケンスにマップするためにつくられるように、コードワードを選ぶ方法ならびに状態分割、状態組み合わせおよび状態削除技法を使用するコードワードのシーケンスに基づく。エンコーダは、４以上の状態から成っている有限状態マシンである。エンコーダは、反対の「パリティ」を持つ出力コードワードの間で選ぶことによってＤＣオフセット制御を達成することができる。
【００１７】
エンコーダのメイン構成ブロックは、すべての状態に仕えるコードワードのテーブルである。それは、コードワードまたはその反対のパリティのコードワードを選択するための、アドレス回路を単純化する単純なアドレス方式を持つ。符号化は、入力ブロックおよび現在のエンコーダ状態に依存する固定数のビット（例では２ビット）で入力ブロックに接頭辞（プレフィックス）を付けることによって行われる。その結果は、現在のコード化されたコードワードがそれからとられるテーブルへのアドレスである。ランダムな入力を仮定すると、所与の状態にある確率は、データの統計的ランダムネスを利用することを許す前の状態から独立している。
【００１８】
エンコーダは、いくらかの入力ブロックが２つの可能なコード化されたコードワードを持つことを許すＤＣ制御を特徴とする。パリティ（１の数）が、２つの可能なコードワードで異なり、そしてそれぞれのＮＲＺＩシーケンスが異なる極性で終るので、次のコードワードの極性の反転が許される。反対の極性のコードワードでコードワードを置き換える能力は、累積するＤＣオフセットの制御を許す。すべてのコードワードの「最終のビット」または「最終のラン」と、その反対のパリティのコードワードと、が一致するので、次の符号化は、どちらが選ばれるか（コードワードまたはその反対のパリティのもの）によって影響を受けない。これは、ＤＣ制御を最適化するために「ルックアヘッド」を使用するのを容易にする。ＤＣ制御が可能なこれらの場合において、交互のコードワードのアドレスは、固定された数（例では２８)を計算されたアドレスに加えることによって得られる。
【００１９】
エンコーダが、エンコーダ・テーブルを含む連想メモリを使用して、効率的に実行することができる、すべるブロック（スライディング・ブロック）のデコーダを持つ。現在の入力ブロックは、現在のコードワード、そして、おそらく定められた数の後続のコードワードから回復される。第１の例において、入力バイトは、現在の受け取られたコードワードが位置するテーブルの中のアドレスから完全に回復される。第２の例において、現在の入力バイトの最上位の7つのビットが同様の態様で得られる。最下位のビット（ＬＳＢ）に関しては、それは、アドレスからも計算されることがあり、または現在のコードワードによっては、次のコードワードがテーブルのどちらの半分に位置するか決定することによって計算される。
【００２０】
エラー伝搬は、スライディング・ブロックのデコーダの使用によって制限されることができる。すべるブロックのデコーダは、所与の受け取られたｑ−ビットのコードワードについて、受け取られたシーケンス、すなわちコードワード自身、固定数ｍの先行するコードワードおよび固定数ａの後続のコードワードにおけるコードワードの局部的なコンテキストに基づいて決定をする。このように、スライディング・ブロックのデコーダへの入力での単一エラーは、最大ｍ＋ａ＋ｌ連続コードワードのデコーディングに影響を及ぼすだけである。
【００２１】
【発明の実施の形態】
この発明は、各ブロックがｐビットからなる入力ブロックのシーケンスを符号化およびデコードするための方法と装置を提供する。入力ブロックは、各コードワードがｑビットからなるコードワードのシーケンスにエンコードされ、コードワードのシーケンスは、ｄ−制約を満足し、遷移によって特徴づけられた連続ビットが、遷移の不在によって特徴づけられる少なくとも別の型のｄビットによって分離され、そしてｋ制約を満足し、一つの型の連続したビットの間に他の型の最大ｋビット以下が生じる。符号化の方法は、ｐビット入力ブロックを受け取るステップ、および各入力ブロックをエンコーダを使用してｑ直列ビットの対応するコードワードに変換するステップを含む。エンコーダは、符号化テーブルを含み、符号化テーブルは、いくつかの状態x1,x2,.......xnを表している。
【００２２】
この発明においてエンコーダは、複数のテーブルを使用するというよりはむしろすべての状態について一つの「重複する」テーブルを使う状態マシンである。第１の状態xiのコードワードのサブセットが第２の状態xjのコードワードのサブセットと同一であることを認識し、重複する符号化テーブルは、第１および第２の状態において同じコードワードのサブセットについて同じアドレスを使用する。このように、第１の状態におけるコードワードのサブセットのアドレスは、第２の状態のコードワードのサブセットのアドレスと同一である。
【００２３】
この発明のコード体系は、図２に示すのと同様で入力ブロックのシーケンスを符号化およびデコーディングする手段を含む機能ブロック図に従って実行することができる。しかし、符号化テーブルの構成とか符号化テーブルへのアドレス指定の方法などの相違点は、詳細に下で説明される。符号化テーブルがメモリに格納され、「一つの」重複するテーブルとして参照されるけれども、「一つの」テーブルが、シーケンシャル・メモリーアドレスに格納される必要はない。
【００２４】
次の詳細な説明が、この発明に従う符号化およびデコーディングのシステムを利用する２つの例を提供する。第１の例は、546のコードワードのテーブルを使用するレート８：16の４状態の(2,10)-RLLエンコーダである 。平均して、ＤＣ制御を許すバイトの割合は、49.7%である。デコーディングは、現在の16ビットのコードワードから入力バイトを回復することによって行われる。
【００２５】
第２の例は、551のコードワードのテーブルを使用するレート８：15の(2,12)-RLLエンコーダである 。ＤＣ制御を許すバイトの割合は、４と８の間で変動することができるエンコーダの状態の数に依存して7.6%と12.2%の間で変動する。デコーディングが、おそらく次の15ビットのコードワードである入力バイトを現在のものから取り戻すことによって実行される。
【００２６】
Ｉ．  (2,10)-RILL制約の符号化方式
次の説明は、(2,10)-RLL制約のためにコーディング方法に関する。図３は、(2,10)-RLLエンコーダ300の回路図を示す。図３を参照すると、符号化テーブル312を使用して出力コードワード314にコード化される入力バイト310が示される。エンコーダが、x1,x2....xn状態のいずれかにあることができる。好ましい実施例において、(2,10)-RLL制約についてｎ＝４である。このように各符号化ステップで、エンコーダ300は、４つの状態S0,S1,S2-5,又はS6-8からの１つでありうる。各状態は、状態名に反映されている最終のランレングスの範囲と関連する。例えば、状態S6-8は、ランレングス６、７及び８と関連する。
【００２７】
好ましい実施例において、(2,10)-RLL符号化テーブル312は、それぞれ16ビットを持つ546のコードワードから成る。図４は、この発明に従う(2,10)-RLLエンコーダ300のために１つの可能な符号化テーブル312を示す。図４の中で示されたコードワードは、16進形である。
【００２８】
ｐビット入力ブロック310を受け取った後に、エンコーダ300は、各入力ブロック310を符号化テーブル3l2を使用して対応するｑビット・コードワード3l4に変換する。符号化テーブル312のアドレス3l6は、固定数のビットを持つあらかじめ決められた値318を入力ブロック310に接頭辞（プレフィックス）として付けることによって決定される。図５は、符号化テーブル3l2へのアドレスのフォーマットを示す。好ましい実施例において、あらかじめ決められた接頭部の値3l8は、２ビットの値である。このように、10ビットのアドレス316が、入力ブロック310まで2ビットにプレフィックスを付けることによって形成され、図５に示されるようなアドレスになる。
【００２９】
２ビットのあらかじめ決められたプレフィックスの値318は、入力ブロック310の値（整数として）が、第１のしきい値および第２のしきい値、T1(320a)とT2(320b)とどのように比較するかに依存する。これらのしきい値320a、320bは、エンコーダ300の現在の状態に依存する。
【００３０】
図６は、(2,10)-RLLエンコーダのためにしきい値のテーブルとプレフィックスのテーブルを示す。表記法”Φ”は、ここでは「空」記号を表す。たとえば図６を参照すると、S6-8の現在状態について、入力バイトが（10進法の）038で、対応するコードワード・アドレスが256＋038=294であることが示される。
【００３１】
出力コードワード314は、計算されたアドレスでの符号化テーブル312におけるエントリである。次のエンコーダ状態は、生成されたコードワードの最後のランレングスを含む関連したランレングス範囲をもつユニークな状態である。コードワードの最終のランレングスがエンコーダの次の状態を決める。図３で示される例では、出力コードワード314が、010000100010010（16進法の4212）で、そして、次のエンコーダ状態は、S1である。
【００３２】
図６で見られるように、２以上のプレフィックスがある場合があり、２つの異なるコードワード候補があることになる。ランダムな入力を仮定すると、２つのコードワード候補が存在する入力シーケンス内のバイトの割合は、平均して49.7%である。
【００３３】
それらのコードワード候補が正負符号変更の異なるパリティ（すなわち、１の数の異なるパリティ）を持ちＤＣ制御を可能にするように符号化テーブル312が、設計される。さらに、両方のコードワード候補選択が、エンコーダを同じ状態に導き、したがって、その代替物とのコードワードの置き換えを、先行のまたは次のコードワードに影響を及ぼすことなく出力ストリーム内で完了することができる。たとえば現在の状態がS1で、そして入力が70（10進法の）であるならば、出力コードワードは、0000100000010001または0100100000010001である。両方のコードワードは、状態S0に至る。選ばれた特定のコードワード候補に関係なく、デコーダは入力バイトを回復することができる。
【００３４】
好ましい実施例において、コードワード候補が、正負符号変更の異なるパリティを持ち、ＤＣ制御を可能にする。代替実施例の中で、コードワード候補は、異なり好ましくは反対の符号であるＤＣ成分を持ち、累積されたＤＣを減らすコードワードを選ぶことによってＤＣ制御を可能にする。
【００３５】
図４で示される符号化テーブル312は、（16進の）ワード8111,8121,8421,8821,8812,8822,9124,9244,8408,8810を含まず、９または10のランレングスで終える(2,10)-RLL制約の中の10の16ビット・ワードのどれも含まない。したがって、これらのワードは、同期のために使用されることができる。図４のしきい値034を減らすことによって、符号化テーブル312の終わりでより多くのコードワードを特別な使用のために保留することができる。
【００３６】
連想式 のリード・オンリー・メモリに常駐すると仮定される符号化テーブル312を使用して、(2,10)-RLLシステムのデコーディングが、状態独立な態様で行われる。第１に、受け取られたコードワードを含むテーブル・エントリのアドレスが見つけられる。コードワードが位置するアドレスの２つの最上位のビット（ＭＳＢのもの）をトランケートすることによって、入力バイト310が得られる。
【００３７】
ＩＩ．  (2,12)-RLL制約のコーディング方法
次の例が、(2,12)-RLL制約のコーディング方法に関係がある。符号化アルゴリズムは、受け入れ可能な数の状態と望ましいＤＣ制御に依存していくつかの符号化レベルを持つ。基本レベル（Level-4として参照する）において、エンコーダが４つの状態（ｎ＝４）を持ち、そしてＤＣ制御は、平均して入力バイトの7.6%で可能である。拡張レベルが、より多くの状態を加えることによって得られ、Level-8エンコーダにおいて８つの状態（ｎ＝８）に達する。拡張レベル（ｎ＝８）は、平均して入力バイトの12.2%においてＤＣ制御を可能にする。
【００３８】
Level-4(2,12)-RLL制約のためのエンコーダ構造は、図３に示すようなものである。しかし図４のエンコーダ・テーブルを使用する代わりに、図７のエンコーダ・テーブルを使用することができる。図７は、(2,12)-RLL制約のためのエンコーダ・テーブルである。図７のエンコーダ・テーブルは、それぞれ長さ15ビットの551のコードワードから成る。エンコーダ・テーブル312は、２つの区分に分割されることができる。第１の区分は第１の292のコードワードを含み、第２のものは残りの259のコードワードを含む。
【００３９】
ｎ＝４について、エンコーダは、４つの状態、S0、S1、S2-6aまたはS2-6bのうちの１つであることができる。特定の状態は、前のコードワードの最後のランレングスおよび前の入力バイトのＬＳＢに依存する。この発明による(2,12)-RLLエンコーダのためのランレングス状態の依存性が図８に示される。
【００４０】
以前に説明した(2,10)-RLLエンコーダと同様に、符号化は、入力バイトｂをしきい値と比較し、適当な２ビットのプレフィックスを加えることによって行われる。（２，12）エンコーダのためのしきい値とプレフィックスが図９に示される。状態Ｓのためのしきい値T1およびT2を以下それぞれT1(S)およびT2(S)で表示する。
【００４１】
出力コードワードは、計算されたアドレスでの図７へのエントリである。次のエンコーダ状態は、図８によって決定される。ＤＣ制御は、ある入力バイトが２つの異なるコードワード候補をもつのを可能にすることによって達成される。ランダムな入力を仮定すると、入力シーケンス内のそのような入力バイトの割合は、平均して7.6%である。
【００４２】
T2(S2-6b)が036に変わるならば、アドレス548、549および550でのコードワードは、決して使用されないだろう。さらに、エンコーダ・テーブルは、９以上のランレングスで終える(2,12)-RLL制約の10個の15ビット・ワードのいずれをも含まない。これにより、すべてのそれらのワードを同期に使用可能となる。代わりに、T2(S2-6a)およびT1(S2-6b)は、036とT2(S2-6b)の間の任意の値にに増やされることができる。
【００４３】
前に説明した(2,10)-RLLデコーダと同様に、デコーディングは、符号化テーブルを使用して状態依存態様で行われる 。第１に、受け取られたコードワードを含むテーブル・エントリのアドレスが見つけられる。コードワードが０、１、７または８のランレングスで終わるならば、コードワードは、一度だけテーブルに現れる。この場合、入力バイトは、コードワードが位置するアドレスの２つのＭＳＢを切り捨てて得られる。
【００４４】
コードワードが２、３、４、５または６のランレングスで終わる場合、それは、２つの隣接のロケーションで回エンコーダ・テーブルに現れ、第１のものが偶数アドレスを持つ（したがって、２つのアドレスは、それらのＬＳＢだけで違う）。アドレスの２つのＭＳＢを切り捨てることによって、そのＬＳＢを除いて入力バイトのすべてのビットが決定される。入力バイトのＬＳＢを回復するために、次の受け取られたコードワードが、エンコーダ・テーブル312で見つけられる。図７に示されるエンコーダ・テーブルの第１の区分にそれが位置する（すなわち292より小さいアドレスで）ならば、入力バイトのＬＳＢは、０である。さもなければ、それは１である。
【００４５】
代わりに、受け取られたコードワードが２、３、４、５または６のランレングスで終わるとき、以下の変更がなされるならば、入力バイトのＬＳＢを決定するための規準が修正されることができる。
(a)038へのT2(S2-6a)とT1(S2-6b)を増やし、そして
(b)次のアドレス対、36<->041、037<-> 048、292<->297および293<->304のテーブル内容の間で切り替える。
【００４６】
これらの変更で、現在の入力バイトのＬＳＢは、現在のコードワードが２ないし６のランレングスで終わるときはいつでも、図10に示されるテーブルに従って次のコードワードの第１および第２のランレングスによって決定されることができる。
【００４７】
代わりに、符号化のレベルが広げられることがある。次の例は、８つの状態を持つ(2,12)-RLLコーディングを説明する。拡張レベルの符号化を使用する利点は、エンコーダの状態の数を増やすことの代償として、ＤＣ制御が可能なところでは平均してより多くの入力バイトを持つことである。ランダムな入力を仮定すると、２つのコードワード候補を持つ入力バイトの割合は、Level-4における7.6%と比べて平均して12.2%になる。
【００４８】
Level-8は、デコーダが８つの状態を持つ拡張符号化レベルである。各状態は、図11のテーブルからわかるように前のコードワードの最後のランレングスと前の入力バイトのＬＳＢによって決定される。符号化は、図12に示すテーブルに従って入力バイトｂをしきい値と比較し、適当なプレフィックスを加えることによって行われる。
【００４９】
T2(S2-6a)およびTI(S7-8)が036に変えられるならば、エンコーダ・テーブルの中の最後の３つのコードワードが、同期のために使用されることができる。
【００５０】
215の入力バイトが、２つの出力コードワードが可能な状態S7-8にある。そのような対の各々において、両方のコードワードが、同じエンコーダ状態に至り、16ではなく全ての対がＤＣ制御のために可能になる（すなわち、ｌの数の同じパリティを持つ２つのコードワードに16の対がある）。全ての他の状態において、全ての置換コードワードは、ＤＣ制御を用意する。
【００５１】
このように、 より低い符号化レベルを生成して、Level-8の中の幾つかの状態は、削除されることができる。状態が、削除される時、エンコーダをその状態に導いたコードワードは、他の状態に向け直（リダイレクション）される必要がある。削除されることができる状態と必要なリダイレクションの要約は、図13のテーブルで示される。特に、状態S5-6aが状態S2-6aになる場合に状態S2a、S3a、S4a及びS7-8を削除することによって、前に記述したLevel-4(2,12)-RLLエンコーダが得られる。図14に、平均した、ＤＣ制御が可能な、状態削除の構成のためのランダムな入力バイトの割合の要約を示す。
【００５２】
（2,12)-RLLのために、また拡張符号化レベルのために、説明されたデコーダが、使用されることができる。入力バイトのＬＳＢを決定することの基準が、同様に修正され、現在、T1(S2-6b)と同様に、図12の中で、036に等しくなっている全ての閾値T2が038まで変更される必要がある。
【００５３】
ＩＩＩ．  コード設計
このセクションにおいて、前に論じたコーディングと符号化するシステムのデザインをガイドした法則を概説する。各々の入力ブロックを対応するコードワードに変換するステップの前に、エンコーダ・テーブルは、定義されなければならない。いろいろなデザイン方法が使用されているが、選択された方法の中でコードワードは、以下の、隣接関係マトリックスAGを決定するステップと、隣接関係マトリックスAGの近似の固有ベクトルを計算するステップと、０ウェイトで状態を削除するステップと、同じウェイトを持っている状態の少くとも１以上のサブセットをマージするステップと、削除された状態とマージされた状態に応じて、新しい隣接関係マトリックスAHを決定するステップと、エンコーダ状態の数を減らすステップとによって定義される。
【００５４】
以下は、(2,12)-RLL制約のための設計方法の記述である。設計方法の中の最初のステップは、隣接関係マトリックスAGを決定するステップである。Ｇによって図15の中で示される(2,12)-RLL制約のグラフ・プレゼンテーションを示す。Ｇ（図16とAGの中で示される）の隣接関係マトリックスが、13x13のマトリックスであり、その行と列は、Ｇの状態（頂点）とAGの（ｕ，ｖ）番目のエントリによってインデックスを付けられ、示された(AG)u,vは、Ｇの中の状態ｕから状態ｖまでの複数のエッジに等しい。ここで、０≦ｕ，ｖ≦12であり、
【００５５】
【数３】
0003772264.tif 000003
である。
【００５６】
グラフGqは、以下の方法の中でＧから得られる。Gqの状態のセットはＧのそれと同じものである、そして、Gqの中の各々のエッジ（Ｇの中のパスの最初のエッジの初期状態から始まって、Ｇの中のパスの最後のエッジのターミナルの状態のところで終わる）は、Ｇの中の長さｑのパスに対応する。Gqの中のエッジのラベルは、Ｇの中のそれぞれのパスによって生成されたワードである。Gqの隣接関係マトリックスは、(AG)qに等しい。q = 15のために、マトリックスを図16に示す。
【００５７】
Ａ．  状態マージングと状態分割
率８：15の有限状態エンコーダを獲得するために、参考文献「"Algorithms for sliding block codes -- an application of symbolic dynamics to information theory," Adler et al., IEEE Trans」、「Handbook of Coding Theory, R.A.Brualdi, W.C.Huffman, V.Pless (Eds.), Elsevier,Amsterdam」に示させる「Inform.Theory, 29 (1983), 5-22, "Constrained systems and coding for recording channels," Marcus et ai.」、「TR 839, Computer Science Department, Technion, Haifa, Israel, December 1994」、及び「"Finite-state modulation codes for data storage," IEEE J. Sel. Areas Comm., 10 (1992), 5-37」の中で記述される状態分割の技術を第一に起動する。(AG15,28)近似の固有ベクトルを計算することによって始められ、これは、マイナスでなくゼロでない整数ベクトル、例えばAG15x≧28xのようなx=[xu]u=012である。そこでは、その不平等さがコンポーネントによってコンポーネントを保持する。エントリxuは、状態ｕのウェイトとして引用される。可能な限り最小の加算を追加しているコンポーネントをもつ(AG15,28)近似の固有ベクトルは、
【００５８】
【数４】
x=[112222211OOOO]T
によって与えられる。
【００５９】
特に、(AG15,28)近似の固有ベクトルは、１より大きいコンポーネントを含まなければならない。ｍ＝ａ＝０であるスライディング−ブロック・デコーダを持つ率８：15の(2,12)-RLL制約のための有限の状態エンコーダがないことを以下に示す。我々がつくるエンコーダは、ｍ＝０とａ＝１でスライディング−ブロック・デコーダを持つ。さらに、現在の入力バイトの７ビットは、現在の受け取られたコードワードから単独で決めることができる。現在の入力バイトのＬＳＢは、デコーディングのために次の受け取られたコードワードを必要とする唯一のビットである。（(2,10)-RLL制約の場合、0-1のベクトルである近似の固有ベクトルがある。）この場合、ｍ＝ａ＝０でスライディング−ブロック・デコーダを得ることができた。そのようなエンコーダは、呼び出されたデコード可能なブロックである。
【００６０】
近似の固有ベクトルを計算するステップの後、０ウェイトを持っている状態は削除される、そして、同じウェイトを持っている状態はマージされる。９から12の状態は、０ウェイトを持っており、従って、全てのそれらの着信と発信のきわ（エッジ）でG15から移される。状態７と８が同じウェイトを持ち、加えて、G15の中の状態８から始まるパスによって生成される全てのワードが状態７で生成される。したがって、状態７は、状態７に着信するエッジをリダイレクトすることによって状態８にマージされ、よって、状態８の中で終わり、状態７が削除可能となる。同様に、２から５の状態は、状態６にマージされる。そうしているとき、最後に図14の中で定義されるLevel-5エンコーダとなる。Level-8エンコーダを得るために、我々は状態５だけを状態６にマージする。（同じ様に、以前に記述された（２、10）エンコーダに関して適用する。(2,10)-RLLエンコーダを得るために状態２から７を状態８にマージする。しかし、より多くのＤＣ制御を得るために、状態２から４を状態５にマージし、状態６と７を状態８にマージして、全体として４つの状態を得る）。
【００６１】
状態をマージして、削除した後に、S0、S1、S2、S3、S4、S5-6、及びS7-8の７つの状態でグラフＨを得る。状態S0からS4までが、G１５の中で状態０から４までに対応し、状態S5-6が、G１５の中で状態５を状態６にマージすることによって得られ、そして、状態S7-8は、G１５の中で状態７を状態８にマージすることによって得られる。Ｈの中の各々のエッジのラベル（ワード）が独自にそのエッジのターミナルの状態を決める点に注意する。実際、そのワードの中の最後のランレングスは、そのターミナルの状態を識別する。前述のそのようなグラフＨは、メモリ１を持つ。
【００６２】
Ｈの隣接関係マトリックスは、AHによって与えられて、図17の中で(AH,28)近似の固有ベクトル
【００６３】
【数５】
Y=[1122221]T
で示される。
【００６４】
１より大きいウェイトをもつ状態は、分割される必要がある。状態ｕが分割されるとき、少なくとも２つ以上の下降性状態が、形成される。ｕへの着信エッジは下降性の状態の各々に複製されるのに、ｕからの発信エッジは下降性の状態の中で分割される。更に、ｕのウェイトが、下降性の状態の間で分けられるので、分割の後、次が保持される。下降性の状態のウェイトが、合計してそれらの親の状態ウェイトになる正の整数であり、そして、各々の下降性の状態ｖからのエッジ発信のターミナルの状態のウェイトは、合計して少くとも28回のｖのウェイトになる。全てのウェイトが１になるとき、エンコーダは分割するいくつかの四捨五入の後得られる。グラフＨにおいて、分割される要求、すなわちS2、S3、S4及びS5-6の４つの状態がある。これらの状態の各々が２つの状態に分割されることができることが確認でき、各々、少くとも28の発信エッジを持つ下降性の状態になっている。事実、分割後に、ほとんどの状態は、28以上の発信エッジを持ち、代替コードワードとそれゆえに、ＤＣ制御を持つことが可能である。参考文献「("EFMPlus: The Coding Format of the MultiMedia Compact Disc", Proc. 16th Symp. on Inform. Theory in the Benelux, Nieuwerkerk a/d Yssel, May 18- 19, 1995)」の中でエンコーダが示され、(2,10)-RLL制約は、分割している１つの状態によって同様の方法で得られる。一方、以前に記述されている(2,10)-RLLエンコーダを得るために分割している状態を適用する必要がなかった。
【００６５】
Ｈの中のウェイト２をもつ４つの状態の簡単な分割は、11のエンコーダ状態である。エンコーダ状態の数を減らして、コンパクトなコードワード・テーブルを得るために、Ｈ中の各々の状態から発信エッジ（又は、それらのラベル）の上である種の順序を定義する次のデザイン・ステップに取りかかる。選ばれた特定の順序は、単純なデコーディング規則を考慮に入れる。
【００６６】
この終りに、それらの最初のランレングスの降順に従って、(2,12)-RLL制約を満たす長さ15の全てのワードが書きとめられる。即ち、Ｈが形成されたとき、それぞれのエッジが削除されたので、少なくとも９個のランレングスで終わるワードが省略される。一方、２つの連続場所で、２乃至６のランレングスで終わっている各々のワードは、二度書かれる。確かに、それらのワードは、状態S2、S3、S4、及びS5-6の分割のために複製されたエッジに対応する。結果として生ずるリストは、551のワードから成って、エンコーダのコードワード・テーブルの役目を果たす。
【００６７】
ターミナルの状態のウェイトに従ってそれらの多重度でエッジを数えるならば、状態S0からの
【００６８】
【数６】
Σv(AH)s0,vxv=28
の発信エッジがＨにあるとわかり、そして、それらのラベルは２と12の間のランレングスから始まる。それらのラベルは、テーブルの中で最初の2８のコードワードとして現れる。同様に、状態S1からのエッジ発信のラベルの最初のランレングスは、１乃至11の間で変動する。それらのラベルは、アドレス002（3番目のエントリ）時に始まる、
【００６９】
【数７】
Σv(AH)s1,vxv=374
の連続エントリでテーブルに現れる。
【００７０】
図18は、各々の状態からＨの中で生成されることができるテーブルの中で、コードワードの領域を示している概略図である。エンコーダ・テーブル410は、最初のランレングスに従ってランレングス・インタバルに分割される551コードワードのテーブルである。ランレングスの幾つかは、図中で結合されている。例えば、２乃至４の間のランレングスから始まる全てのコードワードは、一つのランレングス・インタバルとして記される。
【００７１】
２方向垂直矢印412は、Ｈの中で各々の状態から生成されるコードワードの領域を記す。各々の状態に対応する（多重度を数える）コードワードの数が、状態ネームの下に括弧書にされる。あらゆる状態ｕに対して、この数が、
【００７２】
【数８】
Σv(AH)u,vxv
と等しい。Ｈ中の異なる状態に対応するテーブルのセグメント間でインタバル境界が分かれるというような方法で、ランレングスをテーブルの中で、ランレングス・インタバルにを群がらせた。
【００７３】
図18はまた、破線によって記された状態S2、S3、S4、及びS5-6の分割を示す。それらの状態のそれぞれにおいて、発信エッジが分割されるので、拡張子「ａ」で親状態のネームを受け継ぐ下降性の状態に属する292より小さいアドレスで位置するコードワードによって、エッジはラベルをつけられる。他のエッジは、拡張子「ｂ」で親状態のネームを受け継ぐ他の下降性の状態に属している。ナンバ292が選ばれると、状態S5-6aが少くとも28の発信エッジを持つ。有効な分割を持つために、アドレス291と292でのエントリが同じコードワードの２つのコピーを含まないことが必須である。分割された状態への各々の着信エッジが、その状態の両方の降下に入るために複製され、そして、両方の新しいエッジは、親エッジの同じラベルを受け継ぐ。テーブルの中の複製されたコードワードは、そのような複製されたエッジに対応する。そのようなコードワードのテーブルの中の最初のコピーが状態「ａ」に入っているエッジに対応し、２番目のコピーは状態「ｂ」に入るという規則が得られる。
【００７４】
以下に詳述する。
・与えられた状態から生成される全てのコードワードは、テーブルの隣接するセグメントを形成する。参考文献「"Sequence-state methods for run-length-limited coding, " Franaszek et ai., IBM J.Res.Develop., 14 (1970), 376-383」によれば、隣接するセグメントは、(d,K)-RLL制約のために生成される。異なる状態に対応するテーブルのセグメントは、重なることができ、このように、全ての状態に仕えるコンパクトなテーブルになる。
・それらの状態のそれぞれから生成されるコードワード順序のセットが同じものであるという意味で、状態S2b、S3b、S4b及びS5-6bは等価である。したがって、それらの状態をS2-6bが呼出される一つの状態に結合することができる。
・S0とS5-6aを除いては、全ての状態は、28以上の発信エッジを持つ。状態S1とS7-8は、より多くのエッジを持つ。
【００７５】
現在のテーブルは、次のようにすでにコード構成を考慮に入れている。図５の中で示されるように、コード化することは入力バイトに２ビットのプレフィックスを追加することによって実行される。２ビットのプレフィックスが選ばれ、その結果、図18によって決定されるように、アドレスは現在の状態に対応するテーブルの（隣接する）セグメントのアドレス範囲の範囲内で降る。各々の状態のテーブル・セグメントが少くとも28のコードワードから成るので、そのようなプレフィックスは、常に見つけることができる。実際、多くの場合、１以上のプレフィックスが可能である。右のプレフィックスを見つけることは、閾値比較に変換することができる。
【００７６】
状態S2aの上でこれを示す。この状態に対応するテーブル・セグメントが、005＜ａ＜292の範囲のアドレスを占める。入力バイトが005＜ｂ＜256の範囲内の数ｂであるならば、ｂはコードワードがとられることになっているテーブルに、アドレスとして割り当てられる。または、ｂ＜005ならば、bに28(又は「01」をプレフィックスする）を追加することによってアドレスを得る。ｂ＜036の場合、「01」をプレフィックスすることは有効なアドレス生むことにもなる。したがって閾値T1とT2をそれぞれ005と036にセットし、そして、コード化することを次に示す。  ｂ＜T1ならば、プレフィックスは「01」である。一方、ｂ＜T2ならば、プレフィックスは「01」又は「00」、そうでないならば、プレフィックスは「00」である。これらの閾値とプレフィックスは、図12の中で示しているものと一致する。
【００７７】
デコーディングは、次のように実行される。受け取られたコードワードが一度テーブルに現れるならば、入力バイトは、そのコードワードのアドレスによって独自に決められる。コード化する間にこのコードワードを生成する状態に関係なく保持する点に注意する。コードワードが二回現れるならば、次のエンコーダ状態が、状態の「ａ」降下か、又は状態S2-6bであったかを検査する必要がある。「ａ」状態から生成されるコードワードが、292より小さいアドレスでテーブルに現れ、一方、状態S2-6bから生成されるコードワードは、292より大きいアドレスに現れる。したがって次のコードワードがテーブルの中でどのセクションに位置するか決めることによって、デコーダは充分に入力バイトを取り戻すことができる。
【００７８】
２回テーブルに現れるコードワードが連続的なアドレスを占めるようにリコールする。それに加えて、各々そのような対の中で最初のコードワードを偶数アドレスに置く処理をするならば、現在の入力バイトの最上位の７つのビットは、現在の受け取られたコードワードによって決められる。アドレスのそのような割当ては、簡単に得ることができる。
【００７９】
Ｂ．  ＤＣ制御
今までで、符号化とデコーディングが効率的であり、エラー伝達が限定されるテーブルをつくる方法を示した。ＤＣ制御を考慮に入れるために付加状況を履行している間、現在、テーブルの中でコードワードを再び整理し、図18の構造を保守する。
【００８０】
特に、ａとａ＋28をテーブルの中の2つのアドレスで表し、両方ともＨの中でいくらかの状態に対応している同じテーブル・セグメントに属している。それから、最も大きい可能性の範囲にとって、以下の２つの状況をアドレスのそのような対毎に保持することが必要である。
【００８１】
(C1)アドレスａとａ＋28とでのコードワードのターミナルの状態は、同じものでなければならない。この状況が満たされるならば、次の符号化されたコードワードに影響を及ぼすことなく、それらの２つのコードワードの一つのいずれかも交換可能に符号化することができる。
【００８２】
(C2)アドレスａとａ＋28でのコードワードは、異なる（１の数の）パリティを持たなければならない。コード化する間これらの２つのコードワードの間で選ぶオプションが、ＤＣ制御の要求される影響をもたらす。
【００８３】
この場合、全ての002＜ａ＜551−28=295のために、ａとａ＋28がテーブルの中のその状態に対応しているセグメントに属するようにＨの中に状態が存在する。簡単に、状況(C1)と(C2)を残っているアドレス000と001に適用してみる。このように、間隔28であるアドレスのあらゆる対でのコードワードが同じターミナルの状態と異なるパリティを（最も大きい可能性の範囲に）離れて持つ、「半定期的な」テーブルを得る。
【００８４】
以下のプロシージャを使用しているテーブルを再び処理する。
【００８５】
【表１】
0003772264.tif 000004
アドレスｘで始まり、アドレスｙ−１（このアドレスも含む）で終了するテーブル部分は、［ｘ，ｙ）によってプロシージャの中で示される。プロシージャの基本アイデアが、テーブルを走査して、アドレス000で開始して、i=0,1,..[s/28]の全てについてテーブル部分（ｓ，ｌ）を識別し、部分[s-28, 1-28i)の各々は、テーブルの中でいくつかのランレングス・インタバルに完全に含まれる。また、新しい部分[s+28,h+28)がいつかのランレングス・インタバルに完全に含まれる。Ｉ＜ｈならば、部分[s+28,h+28)が再び処理され、(C1)と(C2)の状況からコードワード毎に、その(l-s)-プレフィックスが部分（ｓ，ｌ）を一致させる。これは、必ずしも可能でないが、多くの場合はｌよりｈがかなり大きいので、部分的には、それは多くの場合可能である。Ｉ＞ｈならば、[s+28,h+28 )を一致させるために同時にi=0,1,..,[s/28]のための部分[s-28i,t-28i)を再び処理する。
【００８６】
このプロシージャをテーブルに適用して、状況(C1)が完全に現れるテーブルの再処理を得ることとなり、状況(C2)は、アドレスの16対のみならずほとんどで満たされる。プロシージャが、そこに一つ存在する完全一致（フル・マッチング）を見つける。
【００８７】
このプロシージャが、Sections IIIの曲面線図に沿ってつくられた、q > ｋで(d,K)-RLL制約のためのテーブルに基づく率ｐ：ｑエンコーダの半周期表を得るために一般化される（すなわち、エンコーダは、(d,K)-RLL制約のサブセットのグラフ・プレゼンテーションＨの中で分割し、コードワードがそれらの最初のランレングスに従って処理されるエンコーダ・テーブルをつくっている状態によって得られ、それらのターミナルの状態のウェイトに従って、Ｈの中で複製される）。もしもそこに一つ存在し、テーブルの中のアドレス2Pがランレングス・レンジの一のインタバル境界である場合にはいつでも、フル・マッチングを見つけるプロシージャはまた、2Pに近いある間隔で、２つのインタバル境界がテーブルの中にある場合を扱うために簡単に適応することができる。
【００８８】
結果として生ずるエンコーダの状態図が、８つの状態をもつグラフεであり、そして、εの隣接マトリックスは、全ての行が[59 40 28 19 13 15 75 7]に等しい８ｘ８マトリックスAεである。
【００８９】
S0, S1, S2a, S3a, S4a, S5-6a, S2-6b, 及びS7-8の順序に従って、行と列はエンコーダ状態によってインデックスを付けられる。Aεの中のエントリは、ＤＣ制御のために使用される代替コードワードを考慮に入れない。図19の中で示されるように、これらは、別々に以下のマトリックスDεの中で順番に数えられる。マトリックスDεを参照すると、状態S7-8から生成された16付加コードワードは、それらが状況(C2)を満たさないので、省略される。
【００９０】
全てのエンコーダ状態のためにAεの中で等しい行を持つ特徴によって、ターミナルの状態は、28間隔のアドレスでテーブルにあるコードワードのものと同じである。したがって、与えられたエンコーダ状態からの最初の28発信エッジのターミナルの状態の分布は、全てのエンコーダ状態のためのものと同じものである。
【００９１】
図20は、エンコーダ状態が変化しない確率を示す。与えられたエンコーダ状態ｕが変化しない確率は、（任意のｕのために）(Aε)v,uを28で割ることによって得られる。これらの確率は、図20の中で示されたテーブルの２番目の列の中で要約される。図20の中で示されたテーブルの３番目の列の中のエントリは、28によって各々のrow-sumをDεに分割することによって得られる。これらの数は、その状態からＤＣ制御を考慮に入れる入力バイトの小数を各々のエンコーダ状態のために判断する。変化がない確率に関して、それらの数の期待値は、ＤＣ制御を考慮に入れるランダム・シーケンスの中の入力バイトの平均小数をもたらす。この平均は、0.1219と等しい。
【００９２】
（2,12)-RLL制約のShannon容量が0.547であることを指示することは価値があり、したがって、エンコーダは率、容量の丁度2.5%である８：15で作用する。更にまた、入力バイトの12.19%の中のＤＣ制御が有する(2,12)-RLL制約の効果的なShannon容量は、0.536であり、このことは、効果的な容量の下のたった0.5%の率で、Level-8エンコーダが作用することを意味する。
【００９３】
このセクションの中の議論は、Level-8エンコーダのデザインに集中している。（より限定されたＤＣ制御の代価で）多数の状態の減少は、図13の中で示されたテーブルに従ってマージして、状態を削除することによって得られる。削除された状態ｕへの着信エッジが、ｖから生成されるあらゆるコードワード順序が、また、ｕから生成される（実際、そして、それが入力バイトの同じ順序のためにｕから生成される）属性をもつ状態ｖの中の一つに向け直（リダイレクト）される。他のある種の(d,k)-RLL制約のためのエンコーダと同様に、同様のデザイン・ツールが、以前に記述されたSection ２の(2,10)-RLLエンコーダを得るために適用さる。
【００９４】
本願発明が上記の実例に制限されるものではない。例えば、コード体系が(d,k)-RLL制約ではなく他の制約に基づいてもよい。さらに、コードワード又はサイズのテーブルの取り決めは、変わってもよい。例えば、サイズのテーブルは、分割されて、マージされて、削除される状態の数の上で、依存事項を変えてもよい。さらに、デザインに基づいて、１以上の代替コードワード候補者がある。
【００９５】
以下に、本願発明の実施の態様を記載する。
（１）各々がｑビットから成る連続したコードワード内において、各々がｐビットから成る連続した入力ブロックを符号化する方法において、変化によって特徴付けられた一つのタイプの連続ビットは変化がないことによって特徴付けられた他のタイプのｄビットとは少なくとも分離されるというｄ−制限と、前記一つのタイプの連続したビット間で発生する前記他のタイプの最大の連続ビットがｋビット以下であるというｋ−制限とを、前記連続したコードワードが満足し、ｐビット入力ブロックを受け取るステップと、各々の入力ブロックを、状態x1,x2,.....xnの数を表示するエンコード・テーブルを含むエンコーダを使用する直列ｑビットの対応するコードワードに変換するステップと、を含み、１番目の状態のコードワードのサブセットの少なくとも１つが、２番目の状態のコードワードのサブセットの１つと等しく、更に、前記１番目の状態のコードワードのサブセットのアドレスが、前記２番目の状態のコードワードのサブセットのアドレスと等しい、という特徴を有する前記方法。
（２）前記入力ブロックに対応するエンコード・テーブルのコードワードのアドレスが、前記入力ブロックに固定数のビットを有するプレフィックスを加えることによって決定されることを特徴とする（１）記載の方法。
（３）前記プレフィックスが、１以上の可能性コードワード値から得られる１以上の可能性値を有することを特徴とする（２）記載の方法。
（４）前記入力ブロックに追加されたプレフィックスの値が、１番目の閾値と２番目の閾値とに入力ブロックの値を比較することを基礎に決められることを特徴とする（３）記載の方法。
【００９６】
（５）１番目の閾値と２番目の閾値が、エンコーダの現在の状態に依存することを特徴とする（４）記載の方法。
（６）コードワードの最終ランレングスがエンコーダの次の状態を決定することを特徴とする（１）記載の方法。
（７）１以上の可能性コードワード値が同一の状態に導く最終的な実行の最後であることを特徴とする（３）記載の方法。
（８）１以上の可能性コードワード値が異なったパリティを持つことを特徴とする（３）記載の方法。
（９）１以上の可能性コードワード値がＤＣ構成要素の異なった値を持つことを特徴とする（３）記載の方法。
（１０）エンコード・テーブルの各々のコードワードが特定値を持つことを特徴とする（１）記載の方法。
（１１）更に、エンコード・テーブルのコードワードを定義するステップを有し、コードワードが各々の入力ブロックを対応するコードワードに変換するステップに先行して決定されることを特徴とする（１）記載の方法。
（１２）更に、前記エンコード・テーブルのコードワードを定義するステップが、隣接マトリックスAGを決定するステップと、隣接マトリックスAGの近似の固有ベクトルを計算するステップと、０ウェイトで状態を削除するステップと、少くとも同じウェイトを持っている状態のサブセットをマージするステップと、削除された状態とマージされた状態に応じて、新しい隣接マトリックスAHを決めるステップと、エンコーダの状態の数を減らすステップとを有することを特徴とする（１１）記載の方法。
【００９７】
（１３）更に、ＤＣ制御状況を満たすためにコードワードを再処理するステップを有することを特徴とする（１２）記載の方法。
（１４）更に、前記コードワードを再処理するステップが、同じ次の状態に至るコードワードを含んでいるアドレスａとａ＋2Pの数を最大にするステップと、コードワードが異なるパリティを持つアドレスａとａ＋2Pの数を最大にするステップとを有することを特徴とする（１３）記載の方法。
（１５）更に、エンコーダの状態の数を減らすステップが、隣接マトリックスAHの中の各々の状態のための発信エッジの命令を定義するステップを有することを特徴とする（１２）記載の方法。
（１６）更に、エンコーダの状態の数を減らすステップが、(d,k)制約を満たす全てのワードを確立するステップと、グラフＨの形成中に削除されたエッジを削除するステップと、グラフＨの形成中に削除されたエッジより大きいランレングスで終わっているワードを削除するステップと、を有することを特徴とする（１５）記載の方法。
（１７）更に、前記コードワードを再処理するステップが、同じ次の状態に至るコードワードを含んでいるアドレスａとａ＋2Pの数を最大にするステップと、コードワードが異なるＤＣ構成要素の値を持つアドレスａとａ＋2Pの数を最大にするステップとを有することを特徴とする（１３）記載の方法。
（１８）各々がｑビットから成る連続したコードワード内において、各々がｐビットから成る連続した入力ブロックを符号化し、デコードする方法において、変化によって特徴付けられた一つのタイプの連続ビットは変化がないことによって特徴付けられた他のタイプのｄビットとは少なくとも分離されるというｄ−制限と、前記一つのタイプの連続したビット間で発生する前記他のタイプの最大の連続ビットがｋビット以下であるというｋ−制限とを、前記連続したコードワードが満足し、ｐビット入力ブロックを受け取るステップと、各々の入力ブロックを、状態x1,x2,.....xnの数を表示するエンコード・テーブルを含むエンコーダを使用する直列ｑビットの対応するコードワードに変換するステップと、を含み、１番目の状態のコードワードのサブセットの少なくとも１つが、２番目の状態のコードワードのサブセットの１つと等しく、更に、前記１番目の状態のコードワードのサブセットのアドレスが、前記２番目の状態のコードワードのサブセットのアドレスと等しく、更に、各々のコードワードをデコードするステップを有する前記方法。
【００９８】
（１９）各々がｑビットから成る連続したコードワード内において、各々がｐビットから成る連続した入力ブロックを符号化し、デコードするコーディング・システムにおいて、変化によって特徴付けられた一つのタイプの連続ビットは変化がないことによって特徴付けられた他のタイプのｄビットとは少なくとも分離されるというｄ−制限と、前記一つのタイプの連続したビット間で発生する前記他のタイプの最大の連続ビットがｋビット以下であるというｋ−制限とを、前記連続したコードワードが満足し、各々の入力ブロックを、状態x1,x2,.....xnの数を表示するエンコード・テーブルを含むエンコーダを使用する直列ｑビットの対応するコードワードに変換する変換手段を含み、１番目の状態のコードワードのサブセットの少なくとも１つが、２番目の状態のコードワードのサブセットの１つと等しく、更に、前記１番目の状態のコードワードのサブセットのアドレスが、前記２番目の状態のコードワードのサブセットのアドレスと等しく、更に、各々のコードワードをデコードするデコード手段を有する前記システム。
【００９９】
【発明の効果】
上述の通り、本願発明によって、ある程度のＤＣ制御を提供しながら制約のない２進シーケンスを(d,k)-RLL制約に従うシーケンスにマップする損失のないコーディング構成を提供することができた。また、本願発明によって、損失のないコーディング方法がＥＦＭコーディングに対して相対的に情報密度を増やし、出力の制約されたシーケンスの総体的なＤＣ成分を最小にする２進データを符号化しデコードする方法および装置を提供できることとなった。さらに、このコーディング方法は、符号化およびデコーディングのテーブルに必要なメモリを最小にする。従って、メモリサイズは、ＥＦＭコーディング方法と比較して減らされることとなった。
【図面の簡単な説明】
【図１】(d,k)-RLL制約のグラフィック表示を示す図である。
【図２】従来の符号化／デコーディング・システムの機能ブロック図である。
【図３】本願発明の(2,10)-RLLエンコーダの回路図である。
【図４】(2,10)-RLLエンコーダのための符号化テーブルを示す図である。
【図５】符号化テーブルへのアドレスのフォーマットを示す図である。
【図６】(2,10)-RLLエンコーダのための閾値のテーブルおよびプレフィックスのテーブルを示す図である。
【図７】(2,12)-RLLエンコーダのための符号化テーブルを示す図である。
【図８】(2,10)-RLL Level-4エンコーダのランレングスの次の状態依存を示す図である。
【図９】(2,12)-RLL Level-4エンコーダの閾値のテーブルとプレフィックスのテーブルを示す図である。
【図１０】(2,12)-RLL Level-4エンコーダのランレングスの次の状態依存を示す図である。
【図１１】(2,12)-RLL Level-8エンコーダのランレングスの次の状態依存を示す図である。
【図１２】(2,12)-RLL Level-8エンコーダの閾値のテーブルとプレフィックスのテーブルを示す図である。
【図１３】削除されることができリダイレクションが要求される状態を要約した図である。
【図１４】ＤＣ制御が可能なランダムな入力バイトの割合を平均的に要約した図である。
【図１５】(2,12)-RLL制約のグラフィック表示を示す図である。
【図１６】Ｇの隣接関係マトリックスを示す図である。
【図１７】Ｈの隣接関係マトリックスを示す図である。
【図１８】Ｈの各状態から生成されるテーブルにおけるコードワードのロケーションを示す概略図である。
【図１９】マトリックスＤεを示す図である。
【図２０】エンコーダ状態の動かない確率を示す図である。
【図１】
0003772264.tif 000005
【図２】
0003772264.tif 000006
【図３】
0003772264.tif 000007
【図４】
0003772264.tif 000008
【図５】
0003772264.tif 000009
【図６】
0003772264.tif 000010
【図７】
0003772264.tif 000011
【図８】
0003772264.tif 000012
【図９】
0003772264.tif 000013
【図１０】
0003772264.tif 000014
【図１１】
0003772264.tif 000015
【図１２】
0003772264.tif 000016
【図１３】
0003772264.tif 000017
【図１４】
0003772264.tif 000018
【図１５】
0003772264.tif 000019
【図１６】
0003772264.tif 000020
【図１７】
0003772264.tif 000021
【図１８】
0003772264.tif 000022
【図１９】
0003772264.tif 000023
【図２０】
0003772264.tif 000024