JP3772264B2 - 連続した入力ブロックを符号化する方法 - Google Patents

連続した入力ブロックを符号化する方法 Download PDF

Info

Publication number
JP3772264B2
JP3772264B2 JP28349696A JP28349696A JP3772264B2 JP 3772264 B2 JP3772264 B2 JP 3772264B2 JP 28349696 A JP28349696 A JP 28349696A JP 28349696 A JP28349696 A JP 28349696A JP 3772264 B2 JP3772264 B2 JP 3772264B2
Authority
JP
Japan
Prior art keywords
state
codeword
codewords
encoder
bits
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
JP28349696A
Other languages
English (en)
Other versions
JPH09223969A (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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH09223969A publication Critical patent/JPH09223969A/ja
Application granted granted Critical
Publication of JP3772264B2 publication Critical patent/JP3772264B2/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
    • 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)
  • Theoretical Computer Science (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、伝送のための定められた制約を満たす、2進データ・ワードをコードワードに符号化し、その後、コードワードをオリジナルの2進データワードにデコードするシステムに関する。特に、この発明は、情報密度を増やし、送られたディジタル・コードの総体的なDC成分を最小にし、そしてコーディング表のために必要なメモリを最小にする、データを符号化しデコードするシステムに関連する。
【0002】
【従来の技術】
デジタル通信システムならびに磁気および光の記録・再生システムにおいて、転送されるまたは記録される情報は、1と0によるビットストリーム・シーケンスとして提示される。光および磁気記録システムにおいて、装置に書かれたビットストリームは、ある制約を満たさなければならない。制約の共通部分は、ビットストリーム中の1の間にある連続的な0のランが定められたパラメータdとkについて少なくともdの長さとk以下の長さとを持たなければならないということを指定する(d,k)ランレングス制限(RLL)制約である。現在、コンパクトディスクが制約(d,k)=(2,10)を持つコードを使うのが一般的である。(2,10)制約を満たしているシーケンスの例は、.....00010000000000100100000100...で、最初の4つのランレングスは、3、10、2及び5である。磁気記録規格は、(1,7)-RLL制約および(1,3)-RLL制約を含む。
【0003】
所与の(d,k)-RLL制約を満たしているすべてのシーケンスの組を、図1の中で示されるラベルをつけられた有向グラフにおいて経路からはずれるラベルを読みとることによって説明することができる。パラメータkは、リードバック中のクロック同期のため必要である、記録された波形における十分な正負符号変更を保証するために課される。パラメータdは、記号間の干渉を防ぐために必要とされる。
【0004】
別の種類の制約は、入力データストリームの低周波またはDC定数を制御することを必要とする。DC制御が、光記録の中でサーボ系との干渉のような問題を避け、指紋から生じるノイズのフィルタリングを許すために使用される。情報チャネルは、通常直流に反応せず、伝送されまたは記録された信号のDC成分は失われる。このように、記号のシーケンスのDC成分は、できる限りゼロの近くに、好ましくはゼロに保たれねばならない。これは、記号アルファベット{+l,-l}にわたって認められた記録されたシーケンスW1W2......Wlが、
【0005】
【数1】
Figure 0003772264
のあらゆるi,jに対して、1≦i≦j≦lを満たすような正整数Bの存在を必要とすることによって達成することができる。これらの条件に従うシーケンスは、B−チャージ制約を満たすといわれる。Bの値が大きいほどDC成分における低減が小さくなる。
【0006】
しかし、あるアプリケーションでは、チャージ制約をゆるめることができ、高いコーディング速度を可能にする。そのようなアプリケーションにおいて、DC制御が、(平均して)ある割合の記号が次の記号の極性を逆にするのを許すコード構成を使用することによって達成されることがある。代わりに、DC制御は、平均してある割合の記号が、より低いかまたは反対極性のDC成分を持つオルタネート・コードワードを持つのを許すことによって達成されることがある。
【0007】
DC制御と(d,k)-RLL制約は、結合されることができる。そのような方式において、(d,k)-RLL制約を満たす2進シーケンスZ1Z2Z3.....Zlの制約 は、それぞれのNRZIシーケンス
【0008】
【数2】
(−1)z1(−1)z1+z2(−1)z1+z2+z3...
が制御されたDC成分を持つようなものである。
【0009】
図2を参照すると、従来の符号化/デコード・システム200の機能ブロック図が示される。CD上へ記録された音声データの典型的な例において、ステレオ・システムの左右のスピーカ202a、202bからのアナログ・オーディオ・データが、8ビット信号に変換され、データ・スクランブラおよび誤り訂正コード発生装置に入力され、出力210は、チャネル・エンコーダ214および並直変換器216を含むエンコーダ212に送られる。シリアルデータ220がコンパクトディスク222に書かれる。同様のプロセスが、データをCDからデコードするために使用される。CDからのデータ224は、直並列変換器230とチャネル・デコーダ232を含むデコーダ230に入力される。CDからのデータは、デコードされ、エラー訂正器および暗号解読器(デスクランブラ)238に入力され、オーディオ・データ240として出力される。
【0010】
エンコーダ212は、制約のないシーケンスの制約のあるシーケンスへの特異にデコード可能な(または損失のない)マッピングである。コンパクトディスク・データを符号化する現在の規格は、8対14変調(EFM)である。EFM符号化を使用すると、8つのデータビットのブロックが、チャネル・ビットとして知られている14のデータビットのブロックに翻訳される。EFMが、14ビットの長さを持つ明確なコードワードを8ビットのデータワードごとに割り当てるルックアップ・テーブルを使う。正しい14−ビット・ワード、(2,10)制約を満たすビット・パターンを選ぶことによって、高いデータ密度が達成される。マージ・ビットと呼ばれる3つの付加ビットが、複数の14ビットのコードワードの間に挿入される。
【0011】
これらの3つのビットは、(2,10)制約が維持されることを保証し、ビットストリームの低周波またはDC成分を制御するために選ばれる。これらの3つのマージ・ビットの付加は、8:17(8:14でなく)のコード構成の効果的な割合を作る。
【0012】
より高いデータ密度に対する需要は、マルチメディア、グラフィックス集約コンピュータ・アプリケーションおよび高品質のデジタル・ビデオ・プログラミングの出現で増加している。記事「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,」の中で説明された案は、EFMコーディングに比べてデータ密度を増やす符号化/デコーディング・システムを説明する。EFMPlus記事の中で提案されたシステムにおいては、制約されたデータのためのエンコーダとデコーダの両方が有限状態マシンの形をとる。速度p:qの有限状態エンコーダは、p−ビットの入力ブロックを受けて、入力ブロックとエンコーダの現在の状態に基づいてq−ビットのコードワードを生成する。生成されたq−ビット・コードワードを連結することによって得られたシーケンスは、その制約を満たす。光記憶装置において、p−ビット入力ブロックは、エラー訂正方式で使用する単位サイズに一致するので、典型的に8ビットのバイトととられる。
【0013】
提案されたEFMPlus方式は、EFM方式と比べてそのデータ密度を増やす(2,10)-RLL制約のためのレート8:16の有限状態エンコーダである。エンコーダは、しかし各状態が256+88の16ビットのコードワードを必要とするより複雑な4状態のエンコーダである。(88のコードワードは、DC成分を制御するために使用される交互のコードワードである。)
情報密度を増やし、送られたディジタル・コードの総体的なDC成分を最小にし、符号化およびデコーディングのテーブルのために必要なメモリを最小にする、2進データの符号化およびデコーディングの方法および装置が必要とされている。
【0014】
【発明が解決しようとする課題】
この発明は、ある程度のDC制御を提供しながら制約のない2進シーケンスを(d,k)-RLL制約に従うシーケンスにマップする損失のないコーディング構成を提供する。損失のないコーディング方法が、EFMコーディングに対して相対的に情報密度を増やし、出力の制約されたシーケンスの総体的なDC成分を最小にする2進データを符号化しデコードする方法および装置を提供する。さらに、このコーディング方法は、符号化およびデコーディングのテーブルに必要なメモリを最小にしようとするものである。メモリサイズは、EFMコーディング方法と比較して減らされる。
【0015】
【課題を解決するための手段】
好ましい実施例において、チャネル・エンコーダは、複数のテーブルを使用するよりはすべての状態について一つの「重複する」テーブルを使用する状態機械である。最初の状態xiの中のコードワードのサブセットが、第2の状態xjのコードワードのサブセットと同一であると認識すると、重複する符号化テーブルは、第1および第2の状態において同じコードワードのサブセットについて同じアドレスを使う。このように、2以上の状態のためのアドレスが一つのコードワードを指すことがありえる。いくつかの入力バイトが、複数の1の異なるパリティを持ち、 DC制御を可能にする2つの異なるコードワードにエンコードされることができる。デコードは、状態に独立な態様で行われる。
【0016】
エンコーダは、入力ブロックをコードワードにマップする有限状態マシンである。エンコーダ設計は、一つのテーブルが、制約された2進シーケンスを(d,k)ランレングス制約(ここでd=2、k=10又は12)および固定レート(8:15又は8:16)に従うシーケンスにマップするためにつくられるように、コードワードを選ぶ方法ならびに状態分割、状態組み合わせおよび状態削除技法を使用するコードワードのシーケンスに基づく。エンコーダは、4以上の状態から成っている有限状態マシンである。エンコーダは、反対の「パリティ」を持つ出力コードワードの間で選ぶことによってDCオフセット制御を達成することができる。
【0017】
エンコーダのメイン構成ブロックは、すべての状態に仕えるコードワードのテーブルである。それは、コードワードまたはその反対のパリティのコードワードを選択するための、アドレス回路を単純化する単純なアドレス方式を持つ。符号化は、入力ブロックおよび現在のエンコーダ状態に依存する固定数のビット(例では2ビット)で入力ブロックに接頭辞(プレフィックス)を付けることによって行われる。その結果は、現在のコード化されたコードワードがそれからとられるテーブルへのアドレスである。ランダムな入力を仮定すると、所与の状態にある確率は、データの統計的ランダムネスを利用することを許す前の状態から独立している。
【0018】
エンコーダは、いくらかの入力ブロックが2つの可能なコード化されたコードワードを持つことを許すDC制御を特徴とする。パリティ(1の数)が、2つの可能なコードワードで異なり、そしてそれぞれのNRZIシーケンスが異なる極性で終るので、次のコードワードの極性の反転が許される。反対の極性のコードワードでコードワードを置き換える能力は、累積するDCオフセットの制御を許す。すべてのコードワードの「最終のビット」または「最終のラン」と、その反対のパリティのコードワードと、が一致するので、次の符号化は、どちらが選ばれるか(コードワードまたはその反対のパリティのもの)によって影響を受けない。これは、DC制御を最適化するために「ルックアヘッド」を使用するのを容易にする。DC制御が可能なこれらの場合において、交互のコードワードのアドレスは、固定された数(例では2)を計算されたアドレスに加えることによって得られる。
【0019】
エンコーダが、エンコーダ・テーブルを含む連想メモリを使用して、効率的に実行することができる、すべるブロック(スライディング・ブロック)のデコーダを持つ。現在の入力ブロックは、現在のコードワード、そして、おそらく定められた数の後続のコードワードから回復される。第1の例において、入力バイトは、現在の受け取られたコードワードが位置するテーブルの中のアドレスから完全に回復される。第2の例において、現在の入力バイトの最上位の7つのビットが同様の態様で得られる。最下位のビット(LSB)に関しては、それは、アドレスからも計算されることがあり、または現在のコードワードによっては、次のコードワードがテーブルのどちらの半分に位置するか決定することによって計算される。
【0020】
エラー伝搬は、スライディング・ブロックのデコーダの使用によって制限されることができる。すべるブロックのデコーダは、所与の受け取られたq−ビットのコードワードについて、受け取られたシーケンス、すなわちコードワード自身、固定数mの先行するコードワードおよび固定数aの後続のコードワードにおけるコードワードの局部的なコンテキストに基づいて決定をする。このように、スライディング・ブロックのデコーダへの入力での単一エラーは、最大m+a+l連続コードワードのデコーディングに影響を及ぼすだけである。
【0021】
【発明の実施の形態】
この発明は、各ブロックがpビットからなる入力ブロックのシーケンスを符号化およびデコードするための方法と装置を提供する。入力ブロックは、各コードワードがqビットからなるコードワードのシーケンスにエンコードされ、コードワードのシーケンスは、d−制約を満足し、遷移によって特徴づけられた連続ビットが、遷移の不在によって特徴づけられる少なくとも別の型のdビットによって分離され、そしてk制約を満足し、一つの型の連続したビットの間に他の型の最大kビット以下が生じる。符号化の方法は、pビット入力ブロックを受け取るステップ、および各入力ブロックをエンコーダを使用してq直列ビットの対応するコードワードに変換するステップを含む。エンコーダは、符号化テーブルを含み、符号化テーブルは、いくつかの状態x1,x2,.......xnを表している。
【0022】
この発明においてエンコーダは、複数のテーブルを使用するというよりはむしろすべての状態について一つの「重複する」テーブルを使う状態マシンである。第1の状態xiのコードワードのサブセットが第2の状態xjのコードワードのサブセットと同一であることを認識し、重複する符号化テーブルは、第1および第2の状態において同じコードワードのサブセットについて同じアドレスを使用する。このように、第1の状態におけるコードワードのサブセットのアドレスは、第2の状態のコードワードのサブセットのアドレスと同一である。
【0023】
この発明のコード体系は、図2に示すのと同様で入力ブロックのシーケンスを符号化およびデコーディングする手段を含む機能ブロック図に従って実行することができる。しかし、符号化テーブルの構成とか符号化テーブルへのアドレス指定の方法などの相違点は、詳細に下で説明される。符号化テーブルがメモリに格納され、「一つの」重複するテーブルとして参照されるけれども、「一つの」テーブルが、シーケンシャル・メモリーアドレスに格納される必要はない。
【0024】
次の詳細な説明が、この発明に従う符号化およびデコーディングのシステムを利用する2つの例を提供する。第1の例は、546のコードワードのテーブルを使用するレート8:16の4状態の(2,10)-RLLエンコーダである 。平均して、DC制御を許すバイトの割合は、49.7%である。デコーディングは、現在の16ビットのコードワードから入力バイトを回復することによって行われる。
【0025】
第2の例は、551のコードワードのテーブルを使用するレート8:15の(2,12)-RLLエンコーダである 。DC制御を許すバイトの割合は、4と8の間で変動することができるエンコーダの状態の数に依存して7.6%と12.2%の間で変動する。デコーディングが、おそらく次の15ビットのコードワードである入力バイトを現在のものから取り戻すことによって実行される。
【0026】
I. (2,10)-RILL制約の符号化方式
次の説明は、(2,10)-RLL制約のためにコーディング方法に関する。図3は、(2,10)-RLLエンコーダ300の回路図を示す。図3を参照すると、符号化テーブル312を使用して出力コードワード314にコード化される入力バイト310が示される。エンコーダが、x1,x2....xn状態のいずれかにあることができる。好ましい実施例において、(2,10)-RLL制約についてn=4である。このように各符号化ステップで、エンコーダ300は、4つの状態S0,S1,S2-5,又はS6-8からの1つでありうる。各状態は、状態名に反映されている最終のランレングスの範囲と関連する。例えば、状態S6-8は、ランレングス6、7及び8と関連する。
【0027】
好ましい実施例において、(2,10)-RLL符号化テーブル312は、それぞれ16ビットを持つ546のコードワードから成る。図4は、この発明に従う(2,10)-RLLエンコーダ300のために1つの可能な符号化テーブル312を示す。図4の中で示されたコードワードは、16進形である。
【0028】
pビット入力ブロック310を受け取った後に、エンコーダ300は、各入力ブロック310を符号化テーブル3l2を使用して対応するqビット・コードワード3l4に変換する。符号化テーブル312のアドレス3l6は、固定数のビットを持つあらかじめ決められた値318を入力ブロック310に接頭辞(プレフィックス)として付けることによって決定される。図5は、符号化テーブル3l2へのアドレスのフォーマットを示す。好ましい実施例において、あらかじめ決められた接頭部の値3l8は、2ビットの値である。このように、10ビットのアドレス316が、入力ブロック310まで2ビットにプレフィックスを付けることによって形成され、図5に示されるようなアドレスになる。
【0029】
2ビットのあらかじめ決められたプレフィックスの値318は、入力ブロック310の値(整数として)が、第1のしきい値および第2のしきい値、T1(320a)とT2(320b)とどのように比較するかに依存する。これらのしきい値320a、320bは、エンコーダ300の現在の状態に依存する。
【0030】
図6は、(2,10)-RLLエンコーダのためにしきい値のテーブルとプレフィックスのテーブルを示す。表記法”Φ”は、ここでは「空」記号を表す。たとえば図6を参照すると、S6-8の現在状態について、入力バイトが(10進法の)038で、対応するコードワード・アドレスが256+038=294であることが示される。
【0031】
出力コードワード314は、計算されたアドレスでの符号化テーブル312におけるエントリである。次のエンコーダ状態は、生成されたコードワードの最後のランレングスを含む関連したランレングス範囲をもつユニークな状態である。コードワードの最終のランレングスがエンコーダの次の状態を決める。図3で示される例では、出力コードワード314が、010000100010010(16進法の4212)で、そして、次のエンコーダ状態は、S1である。
【0032】
図6で見られるように、2以上のプレフィックスがある場合があり、2つの異なるコードワード候補があることになる。ランダムな入力を仮定すると、2つのコードワード候補が存在する入力シーケンス内のバイトの割合は、平均して49.7%である。
【0033】
それらのコードワード候補が正負符号変更の異なるパリティ(すなわち、1の数の異なるパリティ)を持ちDC制御を可能にするように符号化テーブル312が、設計される。さらに、両方のコードワード候補選択が、エンコーダを同じ状態に導き、したがって、その代替物とのコードワードの置き換えを、先行のまたは次のコードワードに影響を及ぼすことなく出力ストリーム内で完了することができる。たとえば現在の状態がS1で、そして入力が70(10進法の)であるならば、出力コードワードは、0000100000010001または0100100000010001である。両方のコードワードは、状態S0に至る。選ばれた特定のコードワード候補に関係なく、デコーダは入力バイトを回復することができる。
【0034】
好ましい実施例において、コードワード候補が、正負符号変更の異なるパリティを持ち、DC制御を可能にする。代替実施例の中で、コードワード候補は、異なり好ましくは反対の符号であるDC成分を持ち、累積されたDCを減らすコードワードを選ぶことによってDC制御を可能にする。
【0035】
図4で示される符号化テーブル312は、(16進の)ワード8111,8121,8421,8821,8812,8822,9124,9244,8408,8810を含まず、9または10のランレングスで終える(2,10)-RLL制約の中の10の16ビット・ワードのどれも含まない。したがって、これらのワードは、同期のために使用されることができる。図4のしきい値034を減らすことによって、符号化テーブル312の終わりでより多くのコードワードを特別な使用のために保留することができる。
【0036】
連想式 のリード・オンリー・メモリに常駐すると仮定される符号化テーブル312を使用して、(2,10)-RLLシステムのデコーディングが、状態独立な態様で行われる。第1に、受け取られたコードワードを含むテーブル・エントリのアドレスが見つけられる。コードワードが位置するアドレスの2つの最上位のビット(MSBのもの)をトランケートすることによって、入力バイト310が得られる。
【0037】
II. (2,12)-RLL制約のコーディング方法
次の例が、(2,12)-RLL制約のコーディング方法に関係がある。符号化アルゴリズムは、受け入れ可能な数の状態と望ましいDC制御に依存していくつかの符号化レベルを持つ。基本レベル(Level-4として参照する)において、エンコーダが4つの状態(n=4)を持ち、そしてDC制御は、平均して入力バイトの7.6%で可能である。拡張レベルが、より多くの状態を加えることによって得られ、Level-8エンコーダにおいて8つの状態(n=8)に達する。拡張レベル(n=8)は、平均して入力バイトの12.2%においてDC制御を可能にする。
【0038】
Level-4(2,12)-RLL制約のためのエンコーダ構造は、図3に示すようなものである。しかし図4のエンコーダ・テーブルを使用する代わりに、図7のエンコーダ・テーブルを使用することができる。図7は、(2,12)-RLL制約のためのエンコーダ・テーブルである。図7のエンコーダ・テーブルは、それぞれ長さ15ビットの551のコードワードから成る。エンコーダ・テーブル312は、2つの区分に分割されることができる。第1の区分は第1の292のコードワードを含み、第2のものは残りの259のコードワードを含む。
【0039】
n=4について、エンコーダは、4つの状態、S0、S1、S2-6aまたはS2-6bのうちの1つであることができる。特定の状態は、前のコードワードの最後のランレングスおよび前の入力バイトのLSBに依存する。この発明による(2,12)-RLLエンコーダのためのランレングス状態の依存性が図8に示される。
【0040】
以前に説明した(2,10)-RLLエンコーダと同様に、符号化は、入力バイトbをしきい値と比較し、適当な2ビットのプレフィックスを加えることによって行われる。(2,12)エンコーダのためのしきい値とプレフィックスが図9に示される。状態Sのためのしきい値T1およびT2を以下それぞれT1(S)およびT2(S)で表示する。
【0041】
出力コードワードは、計算されたアドレスでの図7へのエントリである。次のエンコーダ状態は、図8によって決定される。DC制御は、ある入力バイトが2つの異なるコードワード候補をもつのを可能にすることによって達成される。ランダムな入力を仮定すると、入力シーケンス内のそのような入力バイトの割合は、平均して7.6%である。
【0042】
T2(S2-6b)が036に変わるならば、アドレス548、549および550でのコードワードは、決して使用されないだろう。さらに、エンコーダ・テーブルは、9以上のランレングスで終える(2,12)-RLL制約の10個の15ビット・ワードのいずれをも含まない。これにより、すべてのそれらのワードを同期に使用可能となる。代わりに、T2(S2-6a)およびT1(S2-6b)は、036とT2(S2-6b)の間の任意の値にに増やされることができる。
【0043】
前に説明した(2,10)-RLLデコーダと同様に、デコーディングは、符号化テーブルを使用して状態依存態様で行われる 。第1に、受け取られたコードワードを含むテーブル・エントリのアドレスが見つけられる。コードワードが0、1、7または8のランレングスで終わるならば、コードワードは、一度だけテーブルに現れる。この場合、入力バイトは、コードワードが位置するアドレスの2つのMSBを切り捨てて得られる。
【0044】
コードワードが2、3、4、5または6のランレングスで終わる場合、それは、2つの隣接のロケーションで回エンコーダ・テーブルに現れ、第1のものが偶数アドレスを持つ(したがって、2つのアドレスは、それらのLSBだけで違う)。アドレスの2つのMSBを切り捨てることによって、そのLSBを除いて入力バイトのすべてのビットが決定される。入力バイトのLSBを回復するために、次の受け取られたコードワードが、エンコーダ・テーブル312で見つけられる。図7に示されるエンコーダ・テーブルの第1の区分にそれが位置する(すなわち292より小さいアドレスで)ならば、入力バイトのLSBは、0である。さもなければ、それは1である。
【0045】
代わりに、受け取られたコードワードが2、3、4、5または6のランレングスで終わるとき、以下の変更がなされるならば、入力バイトのLSBを決定するための規準が修正されることができる。
(a)038へのT2(S2-6a)とT1(S2-6b)を増やし、そして
(b)次のアドレス対、36<->041、037<-> 048、292<->297および293<->304のテーブル内容の間で切り替える。
【0046】
これらの変更で、現在の入力バイトのLSBは、現在のコードワードが2ないし6のランレングスで終わるときはいつでも、図10に示されるテーブルに従って次のコードワードの第1および第2のランレングスによって決定されることができる。
【0047】
代わりに、符号化のレベルが広げられることがある。次の例は、8つの状態を持つ(2,12)-RLLコーディングを説明する。拡張レベルの符号化を使用する利点は、エンコーダの状態の数を増やすことの代償として、DC制御が可能なところでは平均してより多くの入力バイトを持つことである。ランダムな入力を仮定すると、2つのコードワード候補を持つ入力バイトの割合は、Level-4における7.6%と比べて平均して12.2%になる。
【0048】
Level-8は、デコーダが8つの状態を持つ拡張符号化レベルである。各状態は、図11のテーブルからわかるように前のコードワードの最後のランレングスと前の入力バイトのLSBによって決定される。符号化は、図12に示すテーブルに従って入力バイトbをしきい値と比較し、適当なプレフィックスを加えることによって行われる。
【0049】
T2(S2-6a)およびTI(S7-8)が036に変えられるならば、エンコーダ・テーブルの中の最後の3つのコードワードが、同期のために使用されることができる。
【0050】
215の入力バイトが、2つの出力コードワードが可能な状態S7-8にある。そのような対の各々において、両方のコードワードが、同じエンコーダ状態に至り、16ではなく全ての対がDC制御のために可能になる(すなわち、lの数の同じパリティを持つ2つのコードワードに16の対がある)。全ての他の状態において、全ての置換コードワードは、DC制御を用意する。
【0051】
このように、 より低い符号化レベルを生成して、Level-8の中の幾つかの状態は、削除されることができる。状態が、削除される時、エンコーダをその状態に導いたコードワードは、他の状態に向け直(リダイレクション)される必要がある。削除されることができる状態と必要なリダイレクションの要約は、図13のテーブルで示される。特に、状態S5-6aが状態S2-6aになる場合に状態S2a、S3a、S4a及びS7-8を削除することによって、前に記述したLevel-4(2,12)-RLLエンコーダが得られる。図14に、平均した、DC制御が可能な、状態削除の構成のためのランダムな入力バイトの割合の要約を示す。
【0052】
(2,12)-RLLのために、また拡張符号化レベルのために、説明されたデコーダが、使用されることができる。入力バイトのLSBを決定することの基準が、同様に修正され、現在、T1(S2-6b)と同様に、図12の中で、036に等しくなっている全ての閾値T2が038まで変更される必要がある。
【0053】
III. コード設計
このセクションにおいて、前に論じたコーディングと符号化するシステムのデザインをガイドした法則を概説する。各々の入力ブロックを対応するコードワードに変換するステップの前に、エンコーダ・テーブルは、定義されなければならない。いろいろなデザイン方法が使用されているが、選択された方法の中でコードワードは、以下の、隣接関係マトリックスAGを決定するステップと、隣接関係マトリックスAGの近似の固有ベクトルを計算するステップと、0ウェイトで状態を削除するステップと、同じウェイトを持っている状態の少くとも1以上のサブセットをマージするステップと、削除された状態とマージされた状態に応じて、新しい隣接関係マトリックスAHを決定するステップと、エンコーダ状態の数を減らすステップとによって定義される。
【0054】
以下は、(2,12)-RLL制約のための設計方法の記述である。設計方法の中の最初のステップは、隣接関係マトリックスAGを決定するステップである。Gによって図15の中で示される(2,12)-RLL制約のグラフ・プレゼンテーションを示す。G(図16とAGの中で示される)の隣接関係マトリックスが、13x13のマトリックスであり、その行と列は、Gの状態(頂点)とAGの(u,v)番目のエントリによってインデックスを付けられ、示された(AG)u,vは、Gの中の状態uから状態vまでの複数のエッジに等しい。ここで、0≦u,v≦12であり、
【0055】
【数3】
Figure 0003772264
である。
【0056】
グラフGqは、以下の方法の中でGから得られる。Gqの状態のセットはGのそれと同じものである、そして、Gqの中の各々のエッジ(Gの中のパスの最初のエッジの初期状態から始まって、Gの中のパスの最後のエッジのターミナルの状態のところで終わる)は、Gの中の長さqのパスに対応する。Gqの中のエッジのラベルは、Gの中のそれぞれのパスによって生成されたワードである。Gqの隣接関係マトリックスは、(AG)qに等しい。q = 15のために、マトリックスを図16に示す。
【0057】
A. 状態マージングと状態分割
率8: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」の中で記述される状態分割の技術を第一に起動する。(AG 15,28)近似の固有ベクトルを計算することによって始められ、これは、マイナスでなくゼロでない整数ベクトル、例えばAG 15x≧28xのようなx=[xu]u=0 12である。そこでは、その不平等さがコンポーネントによってコンポーネントを保持する。エントリxuは、状態uのウェイトとして引用される。可能な限り最小の加算を追加しているコンポーネントをもつ(AG 15,28)近似の固有ベクトルは、
【0058】
【数4】
x=[112222211OOOO]T
によって与えられる。
【0059】
特に、(AG 15,28)近似の固有ベクトルは、1より大きいコンポーネントを含まなければならない。m=a=0であるスライディング−ブロック・デコーダを持つ率8:15の(2,12)-RLL制約のための有限の状態エンコーダがないことを以下に示す。我々がつくるエンコーダは、m=0とa=1でスライディング−ブロック・デコーダを持つ。さらに、現在の入力バイトの7ビットは、現在の受け取られたコードワードから単独で決めることができる。現在の入力バイトのLSBは、デコーディングのために次の受け取られたコードワードを必要とする唯一のビットである。((2,10)-RLL制約の場合、0-1のベクトルである近似の固有ベクトルがある。)この場合、m=a=0でスライディング−ブロック・デコーダを得ることができた。そのようなエンコーダは、呼び出されたデコード可能なブロックである。
【0060】
近似の固有ベクトルを計算するステップの後、0ウェイトを持っている状態は削除される、そして、同じウェイトを持っている状態はマージされる。9から12の状態は、0ウェイトを持っており、従って、全てのそれらの着信と発信のきわ(エッジ)でG15から移される。状態7と8が同じウェイトを持ち、加えて、G15の中の状態8から始まるパスによって生成される全てのワードが状態7で生成される。したがって、状態7は、状態7に着信するエッジをリダイレクトすることによって状態8にマージされ、よって、状態8の中で終わり、状態7が削除可能となる。同様に、2から5の状態は、状態6にマージされる。そうしているとき、最後に図14の中で定義されるLevel-5エンコーダとなる。Level-8エンコーダを得るために、我々は状態5だけを状態6にマージする。(同じ様に、以前に記述された(2、10)エンコーダに関して適用する。(2,10)-RLLエンコーダを得るために状態2から7を状態8にマージする。しかし、より多くのDC制御を得るために、状態2から4を状態5にマージし、状態6と7を状態8にマージして、全体として4つの状態を得る)。
【0061】
状態をマージして、削除した後に、S0、S1、S2、S3、S4、S5-6、及びS7-8の7つの状態でグラフHを得る。状態S0からS4までが、G15の中で状態0から4までに対応し、状態S5-6が、G15の中で状態5を状態6にマージすることによって得られ、そして、状態S7-8は、G15の中で状態7を状態8にマージすることによって得られる。Hの中の各々のエッジのラベル(ワード)が独自にそのエッジのターミナルの状態を決める点に注意する。実際、そのワードの中の最後のランレングスは、そのターミナルの状態を識別する。前述のそのようなグラフHは、メモリ1を持つ。
【0062】
Hの隣接関係マトリックスは、AHによって与えられて、図17の中で(AH,28)近似の固有ベクトル
【0063】
【数5】
Y=[1122221]T
で示される。
【0064】
1より大きいウェイトをもつ状態は、分割される必要がある。状態uが分割されるとき、少なくとも2つ以上の下降性状態が、形成される。uへの着信エッジは下降性の状態の各々に複製されるのに、uからの発信エッジは下降性の状態の中で分割される。更に、uのウェイトが、下降性の状態の間で分けられるので、分割の後、次が保持される。下降性の状態のウェイトが、合計してそれらの親の状態ウェイトになる正の整数であり、そして、各々の下降性の状態vからのエッジ発信のターミナルの状態のウェイトは、合計して少くとも28回のvのウェイトになる。全てのウェイトが1になるとき、エンコーダは分割するいくつかの四捨五入の後得られる。グラフHにおいて、分割される要求、すなわちS2、S3、S4及びS5-6の4つの状態がある。これらの状態の各々が2つの状態に分割されることができることが確認でき、各々、少くとも28の発信エッジを持つ下降性の状態になっている。事実、分割後に、ほとんどの状態は、28以上の発信エッジを持ち、代替コードワードとそれゆえに、DC制御を持つことが可能である。参考文献「("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制約は、分割している1つの状態によって同様の方法で得られる。一方、以前に記述されている(2,10)-RLLエンコーダを得るために分割している状態を適用する必要がなかった。
【0065】
Hの中のウェイト2をもつ4つの状態の簡単な分割は、11のエンコーダ状態である。エンコーダ状態の数を減らして、コンパクトなコードワード・テーブルを得るために、H中の各々の状態から発信エッジ(又は、それらのラベル)の上である種の順序を定義する次のデザイン・ステップに取りかかる。選ばれた特定の順序は、単純なデコーディング規則を考慮に入れる。
【0066】
この終りに、それらの最初のランレングスの降順に従って、(2,12)-RLL制約を満たす長さ15の全てのワードが書きとめられる。即ち、Hが形成されたとき、それぞれのエッジが削除されたので、少なくとも9個のランレングスで終わるワードが省略される。一方、2つの連続場所で、2乃至6のランレングスで終わっている各々のワードは、二度書かれる。確かに、それらのワードは、状態S2、S3、S4、及びS5-6の分割のために複製されたエッジに対応する。結果として生ずるリストは、551のワードから成って、エンコーダのコードワード・テーブルの役目を果たす。
【0067】
ターミナルの状態のウェイトに従ってそれらの多重度でエッジを数えるならば、状態S0からの
【0068】
【数6】
Σv(AH)s0,vxv=28
の発信エッジがHにあるとわかり、そして、それらのラベルは2と12の間のランレングスから始まる。それらのラベルは、テーブルの中で最初の28のコードワードとして現れる。同様に、状態S1からのエッジ発信のラベルの最初のランレングスは、1乃至11の間で変動する。それらのラベルは、アドレス002(3番目のエントリ)時に始まる、
【0069】
【数7】
Σv(AH)s1,vxv=374
の連続エントリでテーブルに現れる。
【0070】
図18は、各々の状態からHの中で生成されることができるテーブルの中で、コードワードの領域を示している概略図である。エンコーダ・テーブル410は、最初のランレングスに従ってランレングス・インタバルに分割される551コードワードのテーブルである。ランレングスの幾つかは、図中で結合されている。例えば、2乃至4の間のランレングスから始まる全てのコードワードは、一つのランレングス・インタバルとして記される。
【0071】
2方向垂直矢印412は、Hの中で各々の状態から生成されるコードワードの領域を記す。各々の状態に対応する(多重度を数える)コードワードの数が、状態ネームの下に括弧書にされる。あらゆる状態uに対して、この数が、
【0072】
【数8】
Σv(AH)u,vxv
と等しい。H中の異なる状態に対応するテーブルのセグメント間でインタバル境界が分かれるというような方法で、ランレングスをテーブルの中で、ランレングス・インタバルにを群がらせた。
【0073】
図18はまた、破線によって記された状態S2、S3、S4、及びS5-6の分割を示す。それらの状態のそれぞれにおいて、発信エッジが分割されるので、拡張子「a」で親状態のネームを受け継ぐ下降性の状態に属する292より小さいアドレスで位置するコードワードによって、エッジはラベルをつけられる。他のエッジは、拡張子「b」で親状態のネームを受け継ぐ他の下降性の状態に属している。ナンバ292が選ばれると、状態S5-6aが少くとも28の発信エッジを持つ。有効な分割を持つために、アドレス291と292でのエントリが同じコードワードの2つのコピーを含まないことが必須である。分割された状態への各々の着信エッジが、その状態の両方の降下に入るために複製され、そして、両方の新しいエッジは、親エッジの同じラベルを受け継ぐ。テーブルの中の複製されたコードワードは、そのような複製されたエッジに対応する。そのようなコードワードのテーブルの中の最初のコピーが状態「a」に入っているエッジに対応し、2番目のコピーは状態「b」に入るという規則が得られる。
【0074】
以下に詳述する。
・与えられた状態から生成される全てのコードワードは、テーブルの隣接するセグメントを形成する。参考文献「"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は、より多くのエッジを持つ。
【0075】
現在のテーブルは、次のようにすでにコード構成を考慮に入れている。図5の中で示されるように、コード化することは入力バイトに2ビットのプレフィックスを追加することによって実行される。2ビットのプレフィックスが選ばれ、その結果、図18によって決定されるように、アドレスは現在の状態に対応するテーブルの(隣接する)セグメントのアドレス範囲の範囲内で降る。各々の状態のテーブル・セグメントが少くとも28のコードワードから成るので、そのようなプレフィックスは、常に見つけることができる。実際、多くの場合、1以上のプレフィックスが可能である。右のプレフィックスを見つけることは、閾値比較に変換することができる。
【0076】
状態S2aの上でこれを示す。この状態に対応するテーブル・セグメントが、005<a<292の範囲のアドレスを占める。入力バイトが005<b<256の範囲内の数bであるならば、bはコードワードがとられることになっているテーブルに、アドレスとして割り当てられる。または、b<005ならば、bに28(又は「01」をプレフィックスする)を追加することによってアドレスを得る。b<036の場合、「01」をプレフィックスすることは有効なアドレス生むことにもなる。したがって閾値T1とT2をそれぞれ005と036にセットし、そして、コード化することを次に示す。 b<T1ならば、プレフィックスは「01」である。一方、b<T2ならば、プレフィックスは「01」又は「00」、そうでないならば、プレフィックスは「00」である。これらの閾値とプレフィックスは、図12の中で示しているものと一致する。
【0077】
デコーディングは、次のように実行される。受け取られたコードワードが一度テーブルに現れるならば、入力バイトは、そのコードワードのアドレスによって独自に決められる。コード化する間にこのコードワードを生成する状態に関係なく保持する点に注意する。コードワードが二回現れるならば、次のエンコーダ状態が、状態の「a」降下か、又は状態S2-6bであったかを検査する必要がある。「a」状態から生成されるコードワードが、292より小さいアドレスでテーブルに現れ、一方、状態S2-6bから生成されるコードワードは、292より大きいアドレスに現れる。したがって次のコードワードがテーブルの中でどのセクションに位置するか決めることによって、デコーダは充分に入力バイトを取り戻すことができる。
【0078】
2回テーブルに現れるコードワードが連続的なアドレスを占めるようにリコールする。それに加えて、各々そのような対の中で最初のコードワードを偶数アドレスに置く処理をするならば、現在の入力バイトの最上位の7つのビットは、現在の受け取られたコードワードによって決められる。アドレスのそのような割当ては、簡単に得ることができる。
【0079】
B. DC制御
今までで、符号化とデコーディングが効率的であり、エラー伝達が限定されるテーブルをつくる方法を示した。DC制御を考慮に入れるために付加状況を履行している間、現在、テーブルの中でコードワードを再び整理し、図18の構造を保守する。
【0080】
特に、aとa+28をテーブルの中の2つのアドレスで表し、両方ともHの中でいくらかの状態に対応している同じテーブル・セグメントに属している。それから、最も大きい可能性の範囲にとって、以下の2つの状況をアドレスのそのような対毎に保持することが必要である。
【0081】
(C1)アドレスaとa+28とでのコードワードのターミナルの状態は、同じものでなければならない。この状況が満たされるならば、次の符号化されたコードワードに影響を及ぼすことなく、それらの2つのコードワードの一つのいずれかも交換可能に符号化することができる。
【0082】
(C2)アドレスaとa+28でのコードワードは、異なる(1の数の)パリティを持たなければならない。コード化する間これらの2つのコードワードの間で選ぶオプションが、DC制御の要求される影響をもたらす。
【0083】
この場合、全ての002<a<551−28=295のために、aとa+28がテーブルの中のその状態に対応しているセグメントに属するようにHの中に状態が存在する。簡単に、状況(C1)と(C2)を残っているアドレス000と001に適用してみる。このように、間隔28であるアドレスのあらゆる対でのコードワードが同じターミナルの状態と異なるパリティを(最も大きい可能性の範囲に)離れて持つ、「半定期的な」テーブルを得る。
【0084】
以下のプロシージャを使用しているテーブルを再び処理する。
【0085】
【表1】
Figure 0003772264
アドレスxで始まり、アドレスy−1(このアドレスも含む)で終了するテーブル部分は、[x,y)によってプロシージャの中で示される。プロシージャの基本アイデアが、テーブルを走査して、アドレス000で開始して、i=0,1,..[s/28]の全てについてテーブル部分(s,l)を識別し、部分[s-28, 1-28i)の各々は、テーブルの中でいくつかのランレングス・インタバルに完全に含まれる。また、新しい部分[s+28,h+28)がいつかのランレングス・インタバルに完全に含まれる。I<hならば、部分[s+28,h+28)が再び処理され、(C1)と(C2)の状況からコードワード毎に、その(l-s)-プレフィックスが部分(s,l)を一致させる。これは、必ずしも可能でないが、多くの場合はlよりhがかなり大きいので、部分的には、それは多くの場合可能である。I>hならば、[s+28,h+28 )を一致させるために同時にi=0,1,..,[s/28]のための部分[s-28i,t-28i)を再び処理する。
【0086】
このプロシージャをテーブルに適用して、状況(C1)が完全に現れるテーブルの再処理を得ることとなり、状況(C2)は、アドレスの16対のみならずほとんどで満たされる。プロシージャが、そこに一つ存在する完全一致(フル・マッチング)を見つける。
【0087】
このプロシージャが、Sections IIIの曲面線図に沿ってつくられた、q > kで(d,K)-RLL制約のためのテーブルに基づく率p:qエンコーダの半周期表を得るために一般化される(すなわち、エンコーダは、(d,K)-RLL制約のサブセットのグラフ・プレゼンテーションHの中で分割し、コードワードがそれらの最初のランレングスに従って処理されるエンコーダ・テーブルをつくっている状態によって得られ、それらのターミナルの状態のウェイトに従って、Hの中で複製される)。もしもそこに一つ存在し、テーブルの中のアドレス2Pがランレングス・レンジの一のインタバル境界である場合にはいつでも、フル・マッチングを見つけるプロシージャはまた、2Pに近いある間隔で、2つのインタバル境界がテーブルの中にある場合を扱うために簡単に適応することができる。
【0088】
結果として生ずるエンコーダの状態図が、8つの状態をもつグラフεであり、そして、εの隣接マトリックスは、全ての行が[59 40 28 19 13 15 75 7]に等しい8x8マトリックスAεである。
【0089】
S0, S1, S2a, S3a, S4a, S5-6a, S2-6b, 及びS7-8の順序に従って、行と列はエンコーダ状態によってインデックスを付けられる。Aεの中のエントリは、DC制御のために使用される代替コードワードを考慮に入れない。図19の中で示されるように、これらは、別々に以下のマトリックスDεの中で順番に数えられる。マトリックスDεを参照すると、状態S7-8から生成された16付加コードワードは、それらが状況(C2)を満たさないので、省略される。
【0090】
全てのエンコーダ状態のためにAεの中で等しい行を持つ特徴によって、ターミナルの状態は、28間隔のアドレスでテーブルにあるコードワードのものと同じである。したがって、与えられたエンコーダ状態からの最初の28発信エッジのターミナルの状態の分布は、全てのエンコーダ状態のためのものと同じものである。
【0091】
図20は、エンコーダ状態が変化しない確率を示す。与えられたエンコーダ状態uが変化しない確率は、(任意のuのために)(Aε)v,uを28で割ることによって得られる。これらの確率は、図20の中で示されたテーブルの2番目の列の中で要約される。図20の中で示されたテーブルの3番目の列の中のエントリは、28によって各々のrow-sumをDεに分割することによって得られる。これらの数は、その状態からDC制御を考慮に入れる入力バイトの小数を各々のエンコーダ状態のために判断する。変化がない確率に関して、それらの数の期待値は、DC制御を考慮に入れるランダム・シーケンスの中の入力バイトの平均小数をもたらす。この平均は、0.1219と等しい。
【0092】
(2,12)-RLL制約のShannon容量が0.547であることを指示することは価値があり、したがって、エンコーダは率、容量の丁度2.5%である8:15で作用する。更にまた、入力バイトの12.19%の中のDC制御が有する(2,12)-RLL制約の効果的なShannon容量は、0.536であり、このことは、効果的な容量の下のたった0.5%の率で、Level-8エンコーダが作用することを意味する。
【0093】
このセクションの中の議論は、Level-8エンコーダのデザインに集中している。(より限定されたDC制御の代価で)多数の状態の減少は、図13の中で示されたテーブルに従ってマージして、状態を削除することによって得られる。削除された状態uへの着信エッジが、vから生成されるあらゆるコードワード順序が、また、uから生成される(実際、そして、それが入力バイトの同じ順序のためにuから生成される)属性をもつ状態vの中の一つに向け直(リダイレクト)される。他のある種の(d,k)-RLL制約のためのエンコーダと同様に、同様のデザイン・ツールが、以前に記述されたSection 2の(2,10)-RLLエンコーダを得るために適用さる。
【0094】
本願発明が上記の実例に制限されるものではない。例えば、コード体系が(d,k)-RLL制約ではなく他の制約に基づいてもよい。さらに、コードワード又はサイズのテーブルの取り決めは、変わってもよい。例えば、サイズのテーブルは、分割されて、マージされて、削除される状態の数の上で、依存事項を変えてもよい。さらに、デザインに基づいて、1以上の代替コードワード候補者がある。
【0095】
以下に、本願発明の実施の態様を記載する。
(1)各々がqビットから成る連続したコードワード内において、各々がpビットから成る連続した入力ブロックを符号化する方法において、変化によって特徴付けられた一つのタイプの連続ビットは変化がないことによって特徴付けられた他のタイプのdビットとは少なくとも分離されるというd−制限と、前記一つのタイプの連続したビット間で発生する前記他のタイプの最大の連続ビットがkビット以下であるというk−制限とを、前記連続したコードワードが満足し、pビット入力ブロックを受け取るステップと、各々の入力ブロックを、状態x1,x2,.....xnの数を表示するエンコード・テーブルを含むエンコーダを使用する直列qビットの対応するコードワードに変換するステップと、を含み、1番目の状態のコードワードのサブセットの少なくとも1つが、2番目の状態のコードワードのサブセットの1つと等しく、更に、前記1番目の状態のコードワードのサブセットのアドレスが、前記2番目の状態のコードワードのサブセットのアドレスと等しい、という特徴を有する前記方法。
(2)前記入力ブロックに対応するエンコード・テーブルのコードワードのアドレスが、前記入力ブロックに固定数のビットを有するプレフィックスを加えることによって決定されることを特徴とする(1)記載の方法。
(3)前記プレフィックスが、1以上の可能性コードワード値から得られる1以上の可能性値を有することを特徴とする(2)記載の方法。
(4)前記入力ブロックに追加されたプレフィックスの値が、1番目の閾値と2番目の閾値とに入力ブロックの値を比較することを基礎に決められることを特徴とする(3)記載の方法。
【0096】
(5)1番目の閾値と2番目の閾値が、エンコーダの現在の状態に依存することを特徴とする(4)記載の方法。
(6)コードワードの最終ランレングスがエンコーダの次の状態を決定することを特徴とする(1)記載の方法。
(7)1以上の可能性コードワード値が同一の状態に導く最終的な実行の最後であることを特徴とする(3)記載の方法。
(8)1以上の可能性コードワード値が異なったパリティを持つことを特徴とする(3)記載の方法。
(9)1以上の可能性コードワード値がDC構成要素の異なった値を持つことを特徴とする(3)記載の方法。
(10)エンコード・テーブルの各々のコードワードが特定値を持つことを特徴とする(1)記載の方法。
(11)更に、エンコード・テーブルのコードワードを定義するステップを有し、コードワードが各々の入力ブロックを対応するコードワードに変換するステップに先行して決定されることを特徴とする(1)記載の方法。
(12)更に、前記エンコード・テーブルのコードワードを定義するステップが、隣接マトリックスAGを決定するステップと、隣接マトリックスAGの近似の固有ベクトルを計算するステップと、0ウェイトで状態を削除するステップと、少くとも同じウェイトを持っている状態のサブセットをマージするステップと、削除された状態とマージされた状態に応じて、新しい隣接マトリックスAHを決めるステップと、エンコーダの状態の数を減らすステップとを有することを特徴とする(11)記載の方法。
【0097】
(13)更に、DC制御状況を満たすためにコードワードを再処理するステップを有することを特徴とする(12)記載の方法。
(14)更に、前記コードワードを再処理するステップが、同じ次の状態に至るコードワードを含んでいるアドレスaとa+2Pの数を最大にするステップと、コードワードが異なるパリティを持つアドレスaとa+2Pの数を最大にするステップとを有することを特徴とする(13)記載の方法。
(15)更に、エンコーダの状態の数を減らすステップが、隣接マトリックスAHの中の各々の状態のための発信エッジの命令を定義するステップを有することを特徴とする(12)記載の方法。
(16)更に、エンコーダの状態の数を減らすステップが、(d,k)制約を満たす全てのワードを確立するステップと、グラフHの形成中に削除されたエッジを削除するステップと、グラフHの形成中に削除されたエッジより大きいランレングスで終わっているワードを削除するステップと、を有することを特徴とする(15)記載の方法。
(17)更に、前記コードワードを再処理するステップが、同じ次の状態に至るコードワードを含んでいるアドレスaとa+2Pの数を最大にするステップと、コードワードが異なるDC構成要素の値を持つアドレスaとa+2Pの数を最大にするステップとを有することを特徴とする(13)記載の方法。
(18)各々がqビットから成る連続したコードワード内において、各々がpビットから成る連続した入力ブロックを符号化し、デコードする方法において、変化によって特徴付けられた一つのタイプの連続ビットは変化がないことによって特徴付けられた他のタイプのdビットとは少なくとも分離されるというd−制限と、前記一つのタイプの連続したビット間で発生する前記他のタイプの最大の連続ビットがkビット以下であるというk−制限とを、前記連続したコードワードが満足し、pビット入力ブロックを受け取るステップと、各々の入力ブロックを、状態x1,x2,.....xnの数を表示するエンコード・テーブルを含むエンコーダを使用する直列qビットの対応するコードワードに変換するステップと、を含み、1番目の状態のコードワードのサブセットの少なくとも1つが、2番目の状態のコードワードのサブセットの1つと等しく、更に、前記1番目の状態のコードワードのサブセットのアドレスが、前記2番目の状態のコードワードのサブセットのアドレスと等しく、更に、各々のコードワードをデコードするステップを有する前記方法。
【0098】
(19)各々がqビットから成る連続したコードワード内において、各々がpビットから成る連続した入力ブロックを符号化し、デコードするコーディング・システムにおいて、変化によって特徴付けられた一つのタイプの連続ビットは変化がないことによって特徴付けられた他のタイプのdビットとは少なくとも分離されるというd−制限と、前記一つのタイプの連続したビット間で発生する前記他のタイプの最大の連続ビットがkビット以下であるというk−制限とを、前記連続したコードワードが満足し、各々の入力ブロックを、状態x1,x2,.....xnの数を表示するエンコード・テーブルを含むエンコーダを使用する直列qビットの対応するコードワードに変換する変換手段を含み、1番目の状態のコードワードのサブセットの少なくとも1つが、2番目の状態のコードワードのサブセットの1つと等しく、更に、前記1番目の状態のコードワードのサブセットのアドレスが、前記2番目の状態のコードワードのサブセットのアドレスと等しく、更に、各々のコードワードをデコードするデコード手段を有する前記システム。
【0099】
【発明の効果】
上述の通り、本願発明によって、ある程度のDC制御を提供しながら制約のない2進シーケンスを(d,k)-RLL制約に従うシーケンスにマップする損失のないコーディング構成を提供することができた。また、本願発明によって、損失のないコーディング方法がEFMコーディングに対して相対的に情報密度を増やし、出力の制約されたシーケンスの総体的なDC成分を最小にする2進データを符号化しデコードする方法および装置を提供できることとなった。さらに、このコーディング方法は、符号化およびデコーディングのテーブルに必要なメモリを最小にする。従って、メモリサイズは、EFMコーディング方法と比較して減らされることとなった。
【図面の簡単な説明】
【図1】(d,k)-RLL制約のグラフィック表示を示す図である。
【図2】従来の符号化/デコーディング・システムの機能ブロック図である。
【図3】本願発明の(2,10)-RLLエンコーダの回路図である。
【図4】(2,10)-RLLエンコーダのための符号化テーブルを示す図である。
【図5】符号化テーブルへのアドレスのフォーマットを示す図である。
【図6】(2,10)-RLLエンコーダのための閾値のテーブルおよびプレフィックスのテーブルを示す図である。
【図7】(2,12)-RLLエンコーダのための符号化テーブルを示す図である。
【図8】(2,10)-RLL Level-4エンコーダのランレングスの次の状態依存を示す図である。
【図9】(2,12)-RLL Level-4エンコーダの閾値のテーブルとプレフィックスのテーブルを示す図である。
【図10】(2,12)-RLL Level-4エンコーダのランレングスの次の状態依存を示す図である。
【図11】(2,12)-RLL Level-8エンコーダのランレングスの次の状態依存を示す図である。
【図12】(2,12)-RLL Level-8エンコーダの閾値のテーブルとプレフィックスのテーブルを示す図である。
【図13】削除されることができリダイレクションが要求される状態を要約した図である。
【図14】DC制御が可能なランダムな入力バイトの割合を平均的に要約した図である。
【図15】(2,12)-RLL制約のグラフィック表示を示す図である。
【図16】Gの隣接関係マトリックスを示す図である。
【図17】Hの隣接関係マトリックスを示す図である。
【図18】Hの各状態から生成されるテーブルにおけるコードワードのロケーションを示す概略図である。
【図19】マトリックスDεを示す図である。
【図20】エンコーダ状態の動かない確率を示す図である。

Claims (7)

  1. 各々がpビットから成る一連の入力ブロックを、各々がqビットから成る一連のコードワードに符号化する方法であって、
    前記コードワードは、遷移によって特徴付けられる一方の型の連続ビットが、遷移の無いことによって特徴付けられる他方の型の少なくともdビットによって分離されるように、また、前記一方の型の連続ビットの間に存在する他方の型の最大ビットがkビット以下であるように、(d、k)ランレングス制限を満たしており、
    前記方法が、
    前記一連のpビット入力ブロックを受け取るステップと、
    前記pビット入力ブロックのそれぞれを、エンコーダを用いて直列qビットの対応するコードワードに変換するステップと、を有し、
    前記エンコーダは符号化テーブルを含んでおり、前記符号化テーブル内の前記コードワードのアドレスは、先に出力されたコードワードの前記状態に依存するプレフィクス値を前記入力ブロックの先頭に追加することによって定められ、前記コードワードのそれぞれは複数の状態 x 1 ,x 2 ,.....x n のうちの一つに属しており、先に出力されたコードワードが第 1 の状態を示すとき次に選択される対象となるコードワードの少なくとも1つのサブセットは、先に出力されたコードワードが第2の状態を示すとき次に選択される対象となるコードワードのサブセットと同一であり、この場合、前記第 1 の状態において選択対象となるコードワードのサブセットのアドレスと、前記第2の状態において選択対象となるコードワードのサブセットのアドレスとは同一であり、
    前記符号化テーブルは、重複しないサブテーブルに分割されており、
    (a)所与のサブテーブルに属する全てのコードワードが、該サブテーブルに固有のランレングスのインターバル内にその長さが入るゼロのランで始まり、
    (b)所与のサブテーブルに属するランレングスのインターバルは、同じランレングス値が2以上のサブテーブルに属することがないように規定されており、
    (c)先に出力されたコードワードの状態に応じて選択対象となる前記符号化テーブルのセグメントは、符号化テーブル内に連続するコードワードとして配置されている、
    方法。
  2. 所与の状態に対応する前記符号化テーブルの少なくとも2つのセグメントが、重複しており、
    所与の状態に対応する前記符号化テーブルの少なくとも1つのセグメントが、2 より大きい、請求項1に記載の方法。
  3. 前記入力ブロックに対応する符号化テーブルのコードワードのアドレスが、固定数のビットを有するプレフィックスを前記入力ブロックに追加することによって求められ、
    前記プレフィックスが、2以上の可能なコードワード値から得られる2以上の可能な値を備える、請求項1に記載の方法。
  4. 前記入力ブロックに追加されたプレフィックスの値が、第1のしきい値および第2のしきい値と入力ブロックの値との比較の結果であり、
    前記プレフィクスの値が、前記符号化テーブル内の前記サブテーブル間の境界、および前記符号化テーブル内の別の状態に対応するセグメントの間の境界によってあらかじめ決められており、
    前記第1のしきい値および前記第2のしきい値の値が、エンコーダの現在の状態に依存している、
    請求項3に記載の方法。
  5. 前記コードワードのゼロの最後のランレングスが、エンコーダの次の状態を決定する、請求項1に記載の方法。
  6. 2以上の起こりうるコードワード値が、別々のパリティを備えており、同一の状態に導くゼロのランレングスとなる、請求項3記載の方法。
  7. 各々がpビットから成る一連の入力ブロックを、各々がqビットから成る一連のコードワードに符号化するシステムであって、
    前記コードワードは、遷移によって特徴付けられる一方の型の連続ビットが、遷移の無いことによって特徴付けられる他方の型の少なくともdビットによって分離されるように、また、前記一方の型の連続ビットの間に存在する他方の型の最大ビットがkビット以下であるように、(d、k)ランレングス制限を満たしており、
    前記システムが、
    前記pビット入力ブロックのそれぞれを、エンコーダを用いて直列qビットの対応するコードワードに変換する変換手段を有し、
    前記エンコーダは符号化テーブルを含んでおり、前記符号化テーブル内の前記コードワードのアドレスは、先に出力されたコードワードの前記状態に依存するプレフィクス値を前記入力ブロックの先頭に追加することによって定められ、前記コードワードのそれぞれは複数の状態 x 1 ,x 2 ,.....x n のうちの一つに属しており、先に出力されたコードワードが第 1 の状態を示すとき次に選択される対象となるコードワードの少なくとも1つのサブセットは、先に出力されたコードワードが第2の状態を示すとき次に選択される対象となるコードワードのサブセットと同一であり、この場合、前記第 1 の状態において選択対象となるコードワードのサブセットのアドレスと、前記第2の状態において選択対象となるコードワードのサブセットのアドレスとは同一であり、
    前記符号化テーブルは、重複しないサブテーブルに分割されており、
    (a)所与のサブテーブルに属する全てのコードワードが、該サブテーブルに固有のランレングスのインターバル内にその長さが入るゼロのランで始まり、
    (b)所与のサブテーブルに属するランレングスのインターバルは、ランレングス値が2以上のサブテーブルに属することがないように規定されており、
    (c)先に出力されたコードワードの状態に応じて選択対象となる前記符号化テーブルのセグメントは、符号化テーブルに連続するコードワードとして配置されている、
    システム。
JP28349696A 1995-10-27 1996-10-25 連続した入力ブロックを符号化する方法 Expired - Fee Related JP3772264B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/549,377 US6002718A (en) 1995-10-27 1995-10-27 Method and apparatus for generating runlength-limited coding with DC control
US549,377 1995-10-27

Publications (2)

Publication Number Publication Date
JPH09223969A JPH09223969A (ja) 1997-08-26
JP3772264B2 true JP3772264B2 (ja) 2006-05-10

Family

ID=24192775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28349696A Expired - Fee Related JP3772264B2 (ja) 1995-10-27 1996-10-25 連続した入力ブロックを符号化する方法

Country Status (4)

Country Link
US (1) US6002718A (ja)
EP (1) EP0771078B1 (ja)
JP (1) JP3772264B2 (ja)
DE (1) DE69611150T2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549666B1 (en) * 1994-09-21 2003-04-15 Ricoh Company, Ltd Reversible embedded wavelet system implementation
US6195764B1 (en) * 1997-01-30 2001-02-27 Fujitsu Network Communications, Inc. Data encoder/decoder for a high speed serial link
US7034719B2 (en) * 2002-09-27 2006-04-25 Samsung Electronics Co., Ltd. Data modulating method and apparatus, data demodulating method and apparatus, and code arranging method
US6195778B1 (en) * 1998-07-30 2001-02-27 Lsi Logic Corp. Demodulation of DVD codewords using dependency-sorted tables for duplicate/dependent and unique/non-dependent mappings
US6177890B1 (en) * 1998-12-04 2001-01-23 Texas Instruments Incorporated Technique for increasing information density in data storage devices by utilizing a high-efficiency encoding scheme
KR100565046B1 (ko) 1999-04-21 2006-03-30 삼성전자주식회사 개선된 dc 억압 능력을 갖는 rll 코드 배치 방법, 변복조 방법 및 복조 장치
US6417788B1 (en) 1999-07-09 2002-07-09 Maxtor Corporation High rate runlength limited codes for 10-bit ECC symbols
US6201485B1 (en) * 1999-07-09 2001-03-13 Quantum Corp. High rate runlength limited codes for 8-bit ECC symbols
US6259384B1 (en) * 1999-07-09 2001-07-10 Quantum Corporation High rate runlength limited codes for 10-bit ECC symbols
PL351717A1 (en) * 2000-05-10 2003-06-02 Koninkl Philips Electronics Nv Method of converting a stream of databits of a binary information signal into a stream of databits of a constrained binary channel signal, device for encoding, signal comprising a stream of databits of a constrained binary channel signal, record carrier, method for decoding, device for decoding
KR100424482B1 (ko) * 2000-06-22 2004-03-24 엘지전자 주식회사 일련의 데이터 워드를 변조신호로 변환하는 방법 및 장치
PL353622A1 (en) * 2000-08-14 2003-12-01 Koninklije Philips Electronics N.V.Koninklije Philips Electronics N.V. Method of device for adding or extracting a secondary information signal to/from a rll code sequence
US6778483B2 (en) * 2000-11-08 2004-08-17 Matsushita Electric Industrial Co., Ltd. Multilevel record modulator and demodulator
CN100428633C (zh) * 2001-06-29 2008-10-22 日本胜利株式会社 数字信号的调制方法及调制装置
WO2003079557A1 (en) * 2002-03-04 2003-09-25 Seagate Technology Llc Error correction coding utilizing numerical base conversion for modulation coding
JP3757918B2 (ja) * 2002-08-20 2006-03-22 日本電気株式会社 符号化変調方法および変調装置、復調方法および復調装置
KR100917884B1 (ko) * 2003-03-13 2009-09-16 삼성전자주식회사 동기 코드워드의 패리티 정보를 이용하여 dc 억압이가능한 데이터 변조 방법 및 장치
US7224295B2 (en) * 2005-07-11 2007-05-29 Mediatek Inc. System and method for modulation and demodulation using code subset conversion
TWI330006B (en) * 2007-07-27 2010-09-01 Lite On It Corp Encoding method and encoder for generating balanced code or constant weighted code
ITVI20100175A1 (it) * 2010-06-21 2011-12-22 St Microelectronics Pvt Ltd Sistema per la codifica entropica di video h.264 per applicazioni hdtv in tempo reale
US9229804B2 (en) 2010-08-17 2016-01-05 Technion Research And Development Foundation Ltd. Mitigating inter-cell coupling effects in non volatile memory (NVM) cells
US20140143289A1 (en) * 2012-11-20 2014-05-22 Lsi Corporation Constrained System Endec
TWI589892B (zh) * 2015-04-22 2017-07-01 威盛電子股份有限公司 傳輸介面晶片以及內建式傳輸介面晶片測試方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3108261A (en) * 1960-04-11 1963-10-22 Ampex Recording and/or reproducing system
US3518662A (en) * 1965-09-27 1970-06-30 Kokusai Denshin Denwa Co Ltd Digital transmission system using a multilevel pulse signal
US4027335A (en) * 1976-03-19 1977-05-31 Ampex Corporation DC free encoding for data transmission system
US4413251A (en) * 1981-07-16 1983-11-01 International Business Machines Corporation Method and apparatus for generating a noiseless sliding block code for a (1,7) channel with rate 2/3
EP0552384B1 (fr) * 1991-12-23 2001-11-21 Alcatel Procédé pour réduire le nombre de bits d'un mot binaire représentant une suite d'adresses
US5561422A (en) * 1994-05-16 1996-10-01 Daewoo Electronics Co., Ltd. Method and apparatus for variable length coding with reduced memory requirement
US5623517A (en) * 1994-06-21 1997-04-22 U.S. Philips Corporation Transmission system with improved decoding of a block code
US5642112A (en) * 1994-12-29 1997-06-24 Unisys Corporation Method and apparatus for performing LZW data compression utilizing an associative memory
US5663724A (en) * 1996-03-28 1997-09-02 Seagate Technology, Inc. 16B/20B encoder

Also Published As

Publication number Publication date
EP0771078A2 (en) 1997-05-02
DE69611150T2 (de) 2001-04-05
EP0771078B1 (en) 2000-12-06
EP0771078A3 (en) 1997-07-02
DE69611150D1 (de) 2001-01-11
JPH09223969A (ja) 1997-08-26
US6002718A (en) 1999-12-14

Similar Documents

Publication Publication Date Title
JP3772264B2 (ja) 連続した入力ブロックを符号化する方法
US4731678A (en) Digital data recording and reproducing method
EP0162558B1 (en) Method and apparatus for generating a run length limited code
KR100352353B1 (ko) 신호변조방법,신호변조장치,신호복조방법및신호복조장치
US4677421A (en) Digital information signal encoding method with reduced run length and improved self-clocking
KR100294893B1 (ko) 개선된 dc 억압 능력을 갖는 rll 코드 생성 방법 과 생성된 rll 코드 변복조 방법
JP3363432B2 (ja) データ符号化システム
JPH10508456A (ja) mビットの情報語の系列を変調信号に変換する方法、記録キャリアを製造する方法、コード装置、装置、記録装置、信号及び記録キャリア
JP3306271B2 (ja) 符号化方法、符号化回路、及び復号回路
US5208834A (en) Lexicographical encoding and decoding of state-dependent codes
US6188335B1 (en) Method and apparatus having cascaded decoding for multiple runlength-limited channel codes
KR100444982B1 (ko) 직류 성분이 제거되는 코드 변환 및 그 복조 방법
JPH01286626A (ja) データ符号化方式
JP3429623B2 (ja) 高速可変長符号復号化装置
KR100231379B1 (ko) 코드 변환/복호 장치 및 방법
US5969651A (en) Signal modulating method, signal modulating apparatus, signal demodulating method and signal demodulating apparatus
JP2003536315A (ja) バイナリのソース信号のデータビットのストリームをバイナリのチャネル信号のデータビットのストリームに符号化するデバイス、メモリ手段、情報を記録するデバイス、記録担体、符号化するデバイス、および再生するデバイス
KR100669623B1 (ko) 디지털 데이터 변환방법
JPH08204573A (ja) 符号変換方法
Roth On runlength-limited coding with DC control
JP4059253B2 (ja) 変調方法、変調装置および情報記録媒体
JP2005513706A (ja) データストリームの符号化方法
EP0510116A4 (en) Method and apparatus for providing maximum rate modulation or compression encoding and decoding
JPH06176497A (ja) ディジタル信号の記録符号化方法
KR19990005669A (ko) Mtr 조건을 만족하는 인코더 및 디코더

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050916

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051213

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: 20060110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060201

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: 20090224

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100224

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100224

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110224

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120224

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130224

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140224

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees