JP5030919B2 - 変調コード化およびデコード方法および装置 - Google Patents

変調コード化およびデコード方法および装置 Download PDF

Info

Publication number
JP5030919B2
JP5030919B2 JP2008276263A JP2008276263A JP5030919B2 JP 5030919 B2 JP5030919 B2 JP 5030919B2 JP 2008276263 A JP2008276263 A JP 2008276263A JP 2008276263 A JP2008276263 A JP 2008276263A JP 5030919 B2 JP5030919 B2 JP 5030919B2
Authority
JP
Japan
Prior art keywords
input
quaternary
bit
range
output
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
JP2008276263A
Other languages
English (en)
Other versions
JP2009117021A (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 JP2009117021A publication Critical patent/JP2009117021A/ja
Application granted granted Critical
Publication of JP5030919B2 publication Critical patent/JP5030919B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/20Conversion to or from representation by pulses the pulses having more than three levels

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

本発明は、一般的には、データの変調コーディングに関し、詳しく言えば、変調コーディング・システムおよび対応するデコーディング・システムにおける入力区分化に関するものである。
変調コードは、記録データにおける望ましくないビット・シーケンス、例えば、再生プロセスにおいてエラーを生じさせるビット・シーケンス、を排除するためにデータ記憶システムにおいて使用される。望ましくないビット・シーケンスの一例は、同じ値のビットの長いラン(run)である。別の例は、ビット・ストリーム内の1つおきの位置における、即ち、ビット・ストリームの奇数番目(O)または偶数番目(E)の交互位置(・・・EOEOEO・・・)における同じ値のビットの長いランである。例えば、表示形式0a0b0c0d0・・・(但し、a、b、c等は、0または1のいずれであってもよい)の長いシーケンスは一般には望ましくないであろう。変調コードは、エンコードされたビット・ストリームにおける望ましくないビット・シーケンスの発生に関して或る形式の制約を課している。例えば、或る変調コードは、所謂、J制約を課しており、それによって、そのエンコードされたビット・ストリームにおける連続した「1」のランの最大長が所定値jに制限される。別の変調コードは連続した0の最大のラン・レングスに関して制約を課している。これは、k制約またはG制約とも呼ばれ、それによって、連続した0の最大連続体長がそれぞれ値kまたはGに制限される。後者のコード・タイプの例は、テープ・ドライブおよび光学的記憶システムのような記録システムに基づいたPRML(partialresponse maximum likelihood)において使用されるPRML(G,I)コードによって提供される。「グローバル」制約、即ち、G制約のほかに、これらのコードは「インターリーブ」制約、即ち、I制約を課している。これは、奇数インターリーブおよび偶数インターリーブの各々における0の最大のラン・レングスを値Iに制限する。勿論、I制約されたビット・ストリームは、G=2Iの場合には必然的にG制約される。
変調コーディング・システムは、理想的には、選択された制約の最大能力近くで作動する高レートのコードおよびエンコーダを使用する。しかし、有用であるためには、これらのシステムは、効率的なエンコード及びデコード・アルゴリズムに基づいた実用的な具現化方法を用いる必要がある。
エンコードされたビット・ストリームにおいてk制約を課するための実用的なエンコーダが、米国特許第5,760,718号に開示されている。これは、汎用フィボナッチ・コードのクラスに基づいた列挙型エンコード技法を実施する。列挙型エンコードは、IEEETrans. Inform. Theory, Vol. 19, pp. 73-77, January 1973 における T. M. Cover による「EnumerativeSource Encoding」と題した論文に開示されている。フィボナッチ・コードは、IEEE Trans. Inform. Theory, Vol. 11,pp. 284-292, April 1965 における W. H. Kautz による「Fibonacci Codes forSynchronization Control」と題した論文に開示されている。詳細な検討のためには上記の論文の参照を行うべきであるが、本発明の理解を助けるためにはこれらの技法の簡単な説明を行うことが有用であろう。
簡単に言えば、列挙型エンコードは、入力ワードを出力コードワードに、そのコードワードの辞書編集式順序に基づいてマップするプロセスである。即ち、X個の2進コードワードのセットが2進値に従って順序付けられる場合、各コードワードに対して、その順序付けられたセットにおけるそれの位置に従って1からXまでの番号を割り当てることが可能である。そこで、これらの割り当てられた番号1乃至Xの各々が2進入力ワードの値を定義する場合、X個の2進入力ワードの各々が、対応するコードワードと関連付けられる。列挙型エンコードは、このタイプの方式に従って入力ワードを出力コードワードにマップするプロセスである。その基礎となるエンコードの原理は非常に単純であるが、それらのコードワードを2進入力ワードから生成するための効率的なエンコーダの設計には、実用面で問題がある。例えば、2100個のコードワードが存在する場合、効率的なエンコーダの設計が必要であることは容易に明らかである。
フィボナッチ・コードは、2進コードワード表示におけるそれぞれの位置での2進1の値を定義する、ベースとも呼ばれるウェートのセットによって特徴付けられる。即ち、2進コードワードにおける所与の位置での1は、通常の2の累乗ではなくその位置に対するフィボナッチ・ウェートの値を表す。簡単な例として、{wn:n=1,2,・・・,7}={1,2,3,5,8,13,21} によって与えられたN=7個のウェートのセットにより定義されたフィボナッチ・コードを考察することにする。ベースは、下記のように線形回帰を満すことがわかる。
n+1=wn+wn-1 (但し、n=2,3,・・,6)
(N=7)ビットのフィボナッチ・コードワードの完全なセットは、wN+1=13+21=34の可能な値を表し得る。34≧25であるので、この簡単なフィボナッチ・コードは、列挙型エンコード・プロセスによって5ビット入力を長さN=7のコードワードにエンコードすることができる。このエンコード・プロセスは、
u=ΣxiN-i+1 (但し、i=1乃至7)
によって定義される。但し、uは入力ワード値であり、(x1,x2,・・・,x7)は出力コードワードである。そのエンコード・プロセスは、図1に示されるように入力ワード値からフィボナッチ・ウェートを連続的に減じることによって行われる。詳しく言えば、数値uは、逓減値順に取られたウェートwnのどれもマイナスの結果を生じないことによって連続的に減少する。所与のウェートwN-i+1がその連続する差から実際に減じる場合、xi=1である。そうでない場合、xi=0である。
図1を考察すると、この簡単なフィボナッチ・コードがj=1の制約を課するということ、即ち、1つの連続的な1しかコードワードにおいて生じ得ないということが示される。j制約を有する純粋のフィボナッチ・コードが、線形回帰:
n+1=wn+wn-1+・・・+wn-j (但し、n=j+1,j+2,・・・,N−1) (1)
を満足するウェートwn (但し、n=1.2,・・・,N)によって定義され、j+1の初期ウェートが
n=2n-1 (n=1,2,・・・,j+1)
によって与えられる。但し、指定された正の整数jはそのコードのj制約を定義する。汎用のフィボナッチ・コードを用いると、数式(1)における式は不等式:
n+1≦wn+wn-1+・・・+wn-j (但し、n=j+1,j+2,・・・,N−1) (2)
によって置換される。そのような汎用のフィボナッチ・コードにおけるコードワードの最大数は
N+1=wN+wN-1+・・・+wN-j
によって与えられる。図1の簡単なコードの場合のように、汎用のフィボナッチ・コードにおける2進コードワード(x,x,・・・x)は、入力u(但し、0≦u<wN+1)をウェート{w}により表すこと、即ち、
u=ΣxiN-i+1
によって得られる。具体化のためには、前述の米国特許第5,760,718号に記載されているように、ウェートは、制限されたスパンLを持つように、即ち、
n=Bnn-1 (3)
(但し、Bnは範囲2-L≦Bn≦1におけるものであり、Lビット表示を有する)ように、選ばれる。スパンLのウェートの場合、Σukkの最上位ビットから最下位ビットまでおよぶ(L+1)ビットの幅広いウィンドウを使って、エンコードがスライディング・ウィンドウ態様で行われ得る。
米国特許第7,126,502号および第7,071,851号は、前述の米国特許第5,760,718号のものと同様の列挙型エンコード方式に基づいたPRML(G,I)コード用に設計されたエンコーダおよびデコーダを開示している。これらは、汎用のフィボナッチ・コードから派生している。特に、入力ビット・ストリームがそれの奇数インターリーブおよび偶数インターリーブに区分され、その2つのインターリーブ・ビット・ストリームが個別のフィボナッチ・エンコーダによってエンコードされる。フィボナッチ・コードは1のランにj制約を課するので、エンコーダ出力のビット反転が、0のランに関する制約をそれぞれ有する2つのエンコードされたビット・ストリームを生じる。G=2I(但し、Iはオリジナルのフィボナッチ・コードに対するjの値に等しい)を有する単一の(G,I)制約されたビット・ストリームを与えるために、マルチプレクサがそのエンコードされたビット・ストリームをインターリーブする。米国特許第7,126,502号では、エンコーダ全体の入力区分化ステージがデマルチプレクサによって実現される。これは、単に、長さ2(N−1)の入力データ・ワードをインターリーブして長さ(N−1)の奇数および偶数インターリーブ・シーケンスにする。一般に、エンコーダの入力シーケンスが偶数のビット、即ち、2(N−Q)ビットを有する場合、その入力は、それぞれの長さが(N−Q)である2つのシーケンスに容易に区分され得る。そこで、ブロック長(即ち、出力コードワード長)2Nおよびレート(N−Q)/Nのエンコーダが得られる。同じブロック長に対して更に高いレートを、即ち、長さ2Nに対してレート(2N−1)/2Nを得るためには、入力ビットを、後続の列挙型エンコーダに対する有効な入力シーケンスであるように所定の制約を満たす2つのビット・ストリームに区分することが望ましい。米国特許第7,064,678号の変調エンコーダでは、入力区分化ステージが、そのような(非変調)制約を課するショート・ブロック・エンコーダを使用する。そのショート・ブロック・エンコーダの操作を通して、入力区分化ステージは入力を、範囲制約を満たす奇数ビット・シーケンスおよび偶数ビット・シーケンスに分離する。即ち、これらのNビット・シーケンスの可能な値の範囲が制限されるので、可能なNビット・シーケンスがすべて生じるわけではない。この方法では、2つのフィボナッチ・エンコーダへの可能な入力が制限され、これらのエンコーダにおけるNビット対Nビットのエンコードを可能にする。偶数ビットビット・シーケンスおよび奇数ビット・シーケンスに関する必要な2進制約は、これらの制約が偶数および奇数インターリーブにおいて同じである場合に対して指定され、レート3/4、9/10、および13/14ときにショート・ブロック・エンコーダの実施が行われる。入力区分化ステージに対するこれらのショート・ブロック・エンコーダの構成はゲート付き区分の技法に基づいている。この技法は、入力区分化の問題に対する体系的な方法を提供するものではなく、特に、長いおよび高いレートのショート・ブロック・エンコーダに対して適用することが益々難しくなっている。
米国特許第5,760,718号 米国特許第7,126,502号 米国特許第7,071,851号 米国特許第7,064,678号 欧州特許出願07120162.8 IEEE Trans. Inform. Theory, Vol. 19, pp. 73-77, January 1973における T.M. Cover による「Enumerative Source Encoding」と題した論文 IEEE Trans. Inform. Theory, Vol. 11, pp. 284-292, April 1965における W.H. Kautz による「Fibonacci Codes for Synchronization Control」と題した論文
本発明の目的は、変調コード化システムにおいて出力に対して変調制約を課さない入力データを区分化するための改良された技法を提供することにある。
本発明の第1の局面は、2進入力データのストリームを2つの2進出力ストリームに区分化してそれぞれの変調エンコーダに供給するための方法を提供することにある。
本発明の方法は、入力ビット・ストリームにおける一連の入力ワードの各々に対して、一連の4進出力記号を生成するために、入力ワードに列挙型4進エンコード・アルゴリズムを適用するステップを含む。その4進エンコード・アルゴリズムは、一連の4進出力記号のそれぞれの対応するビットにより形成された2つのビット・シーケンスが範囲制限済みコードワードとなるよう、入力ワードの奇数および偶数インターリーブにおけるそれぞれのj=∞フィボナッチ・コードを同時にエンコードするように作用する。その方法は、更に、連続した各入力ワードから生成された2つの範囲制限済みコードワードを分離することによって2つの2進出力ストリームを生成するステップを含む。
従って、本発明の入力区分化技法は、列挙型4進エンコード・アルゴリズムを入力ビット・ストリームにおける一連のワードに適用することに関連する。その4進エンコード・アルゴリズムは、奇数および偶数インターリーブを、4進出力記号を伴う単一の列挙型コードとして、同時にフィボナッチ・エンコードするように、各2進入力ワードに関して操作する。本明細書では、この単一のコードは「インターリーブされたフィボナッチ・コード」と呼ばれる。変調制約を入力データに適用するために列挙型4進エンコード・アルゴリズムを使用するインターリーブされたフィボナッチ・コードは、本願出願人による欧州特許出願07120162.8に開示されている。そのシステムとは対照的に、本入力区分化システムの4進アルゴリズムは、奇数および偶数インターリーブにおいてj=∞の場合のフィボナッチ・コードをエンコードする。j=∞であるので、ここでは、基礎となるフィボナッチ・コードにより変調制約が課されることはない。しかし、インターリーブされたj=∞フィボナッチ・コードは、奇数および偶数インターリーブ上に範囲制約を課するように作用する。上述の列挙型エンコードの原理によれば、インターリーブされたj=∞フィボナッチ・コードの4進アルゴリズムは、入力ビット・ストリームにおけるワードを、値に従って、4進記号を有する出力コードワードの順序付けられたセットにマップする。4進記号は、それぞれ、2つの並列ビットによって表され、各入力ワードに対して、結果として生じる一連の出力記号におけるそれぞれの対応ビットによって形成された2つのビット・シーケンスが、範囲制限済みコードワードである。従って、一連のN’個の出力記号が各入力ワードから生成され、4進記号が奇数ビットおよび偶数ビットを含むものとみなされる場合、N’個の奇数ビットのシーケンスおよびN’個の偶数ビットのシーケンスが共に、範囲制限済みコードワードである。即ち、許されたN’ビットの値の範囲は各コードワードに対して制限され、従って、すべての可能なN’ビットの値がいずれの場合においても生じ得るわけではない。そこで、2つの2進出力ストリームが、各連続した入力ワードから生じる2つの範囲制限済みコードワードを分離することによって生成される。
上記の技法は体系的な入力区分化システムを提供し、それによって、以後の変調エンコーダに供給するための区分化されたビット・ストリームに範囲制限を課することが可能となる。入力区分化技法は、区分化されたビット・ストリームに課せられた範囲抑制が次の変調エンコーダへの入力シーケンスに対する特定の要件に容易に適応し得る、という点で極めて融通性がある。範囲抑制は、希望次第でその2つの区分化されたビット・ストリームにおいて異なることも可能である。この融通性は、次の変調エンコーダの最適な活用を可能にし、変調エンコーダの所与の対のために最高のレートが達成されることを可能にする。全体的に、本発明の実施例は、変調エンコーダのための非常に効率的な入力区分化システムを提供し、効率的な変調コーディング・システムが設計されることおよび前述の従来技術のシステムを用いて得られるものよりも更に効率的なPRMI(G,I)コードを可能にする。
各出力ストリームにおける許容されたコードワード値の範囲は、一般的に(必ずしも一般的ではないが)或る範囲の連続的な値であり、前述のように各出力ストリームに対して異なることもあり得る。従って、出力ストリームの範囲に関する種々の制限を伴う種々のj=∞フィボナッチ・コードが、希望次第で入力ワードの奇数および偶数インターリーブにおいて適用され得る。しかし、簡単な例では、4進エンコード・アルゴリズムは、奇数および偶数インターリーブにおいて同じj=∞フィボナッチ・コードをエンコードするように作用する。範囲制限を課している2つのj=∞フィボナッチ・コードを適用するための4進エンコード・アルゴリズムに関しては後で説明することにする。しかし、簡単に言えば、4進エンコード・アルゴリズムが各入力ワードから一連のN'個の4進出力記号を生成する場合、所望の範囲制限がその2つのj=∞フィボナッチ・コードの(N'+1)番目のウェートに関する上部境界を決定する。その(N'+1)番目のウェートがL'の最大スパンを有する場合、4進エンコード・アルゴリズムは、2L'+2のウィンドウ幅を伴うスライディング・ウィンドウ・アルゴリズムとして実施され得る。
一般に、4進エンコード・アルゴリズムが適用される入力ワードは、区分化されるべき2進入力ストリームにおけるユーザ・データワードのすべてまたはそれの一部分だけを含み得る。2進入力ストリームが一連の連続的なMビットのデータ・ワードを含み、4進エンコード・アルゴリズムへの入力ワードの各々がMビットのデータ・ワードである場合、各2進出力ストリームは、それぞれのMビットのデータ・ワードから生成された一連の連続した範囲制限済みコードワードとして生成され得る。それとは別に、4進エンコード・アルゴリズムへの各入力ワードは、それぞれのMビットのデータ・ワードにおけるQビット部分(但し、Q<M)を含む。この場合、4進エンコード・アルゴリズムが各Qビットの入力ワードから一連のL'個の4進出力記号を生成する場合、2つの2進出力ストリームが、各Mビットのデータ・ワードのエンコードされてないM−Qビットを2セットの(M−Q)/2ビットに分割すること、および各セットを各一連のMビットのデータ・ワードに対するそれぞれのL'ビットの範囲制限済みコードワードに付加すること、によって生成され得る。そこで、各出力ストリームは、4進エンコード・アルゴリズムによって適用された範囲制限によって制限された範囲である一連の連続した(L'+(M−Q)/2)ビットのコードワードを含む。これは、長さN'=(L'+(M−Q)/2)ビットの2つの範囲制限済みコードワードを生成するためにMビットの入力ワード全体に本入力区分化技法の4進エンコード・アルゴリズムを適用することに等しい。但し、基礎となるj=∞フィボナッチ・コードの(N'+1)番目のウェートはL'の最大スパンを有する。換言すれば、そのようなM/2N'の4進エンコード・アルゴリズムは、L'のウェートのみを伴うフィボナッチ・コードを適用し且つ入力されたMビット・ワードのQビット部分だけに関して作動するアルゴリズムに簡易化され得る。これに関しては、更に後述することにする。
本発明の第2の局面は、2進入力データのストリームを変調コード化するための方法を提供する。その方法は、
本発明の第1の局面による区分化方法によって、入力ビット・ストリームを2つの2進出力ストリームに区分化するステップと、
2つのエンコードされた出力ストリームを生成するために2つの2進出力ストリームをそれぞれの変調エンコーダにおいて変調エンコードするステップと、
変調制約された出力を生成するためにそのエンコードされた出力ストリームをインターリーブするステップと、
を含む。
各変調エンコーダは、列挙型エンコード・アルゴリズムをそれぞれの2進出力ストリーム(最も望ましくは、汎用フィボナッチ・コード)に適用することが望ましい。そこで、エンコードされた出力ストリームが、フィボナッチ・エンコードされた奇数および偶数インターリーブを伴う出力を生成するためにインターリーブされる。従って、前述のフィボナッチ・コードの固有の特性が、グローバルおよびインターリーブされたラン・レングス制約を有する出力ビット・ストリームを提供する。1の最大ラン・レングスに関する制約が必要であるアプリケーションが考えられるが、上述のPRMLコードに適する(G,I)制約された出力においてビット反転がその結果として生じる。
本発明の第3の局面は、本発明の第2の局面による方法によって生成された変調制約されたビット・ストリームを変調デコードするための方法を提供する。その方法は、
2つのエンコードされた出力ストリームを生成するために、変調制約されたビット・ストリームのビットをデインターリーブするステップと、
2つの2進出力ストリームを復元するためにその2つのコード化された出力ストリームをそれぞれの変調デコーダにおいて変調デコードするステップと、
各入力ワードに対応するそれぞれの2進出力ストリームにおける範囲制限済みコードワードから一連の4進出力記号を生成するステップと、
4進エンコード・アルゴリズムによって奇数および偶数インターリーブに適用されたj=∞フィボナッチ・コードを同時にデコードし、それによって一連の入力ワードを復元するために、列挙型4進デコード・アルゴリズムをその4進記号に適用するステップと、
を含む。
本発明の第4の局面は、2つの2進出力ストリームをそれぞれの変調エンコーダに供給するために、2進入力データのストリームをその2つの2進出力ストリームに区分化するための装置を提供する。その装置は、各入力ワードから一連の4進出力記号を生成するために、入力ビット・ストリームにおける一連の入力ワードの各々に列挙型4進エンコード・アルゴリズムを適用するための4進エンコーダを含む。その4進アルゴリズムは、一連の出力記号のそれぞれの対応するビットにより形成された2つのビット・ストリームが、範囲制限済みコードワードであるように、入力ワードの奇数および偶数インターリーブにおけるそれぞれのj=∞フィボナッチ・コードを同時にエンコードするように作用する。
その装置は、更に、連続した各入力ワードから生成された2つの範囲制限済みコードワードを分離することによって2つの2進出力ストリームを生成するための2進出力ジェネレータを含む。
本発明の第5の局面は、2進入力データのストリームを変調コード化するための装置を提供する。その装置は、本発明の第4の局面に従って、入力ビット・ストリームを2つの2進出力ストリームに区分化するための区分化装置と、
2つのエンコードされた出力ストリームを生成するために2つの2進出力ストリームを変調エンコードするための変調エンコーダと、
変調制約された出力を生成するためにそのエンコードされた出力ストリームをインターリーブするためのマルチプレクサと、
を含む。
本発明の第6の局面は、本発明の第5の局面に従って変調コード化装置によって生成される変調制約されたビット・ストリームを変調デコードするための装置を提供する。その装置は、
2つのエンコードされた出力ストリームを生成するために、変調制約されたビット・ストリームのビットをデインターリーブするためのデマルチプレクサと、
2つの2進出力ストリームを復元するために、2つのエンコードされた出力ストリームを変調デコードするための変調デコーダと、
各入力ワードに対応するそれぞれの2進出力ストリームにおける範囲制限済みコードワードから一連の4進出力記号を生成するための4進記号ジェネレータと、
4進エンコード・アルゴリズムによって奇数および偶数インターリーブに適用されたj=∞フィボナッチ・コードを同時にデコードし、それによって2進入力ワードにおける一連の入力ワードを復元するために、列挙型4進デコード・アルゴリズムを4進記号に適用するための4進デコーダと、
を含む。
本発明の第7の局面は、
本発明の第5の局面に従って、一連の2進入力データのストリームから、変調制約された出力を生成するための変調コード化装置と、
変調制約された出力を記憶媒体上に記録および再生するための記録/再生機構を含む記録チャネルと、
本発明の第6の局面に従って、記憶媒体から再生された変調制約された出力を変調デコードし、それによって2進入力データにおける一連の入力ワードを復元するための変調デコーディング装置と、
を含む。
一般に、本発明の1つの局面の実施例に関連して特徴が説明される場合、対応する特徴が本発明の他の局面の実施例において提供されることもある。
図2は、本発明の実施例の操作に関連する主要なコンポーネントを示すデータ記憶システムの概略図である。この例では、データ記憶システムは1として総体的に表されたテープ・ドライブであり、従って、磁気テープ4に対して読取りおよび書込み行うための読取り/書込みヘッド3を備えた記録チャネル2を有する。記録側では、変調コーディング装置5が、一連のMビットのデータ・ワードを含む入力ビット・ストリームを受け取る。この実施例の装置5は、2NビットPRML(G,I)コードワードを含む変調制約された出力を生成するために、後で詳述する変調コーディング・プロセスを実施する。変調制約されたビット・ストリームは、一般にはプリコーディング・ステージおよびエラー訂正コーディング・ステージ(図示されてない)の後に記録チャネル2に供給される。ここでは、そのビット・ストリームは、通常のチャネル信号処理の後にテープ4上に記録される。再生に関しては、検出およびエラー訂正デコーディングを含む通常の再生信号処理の後に、その結果生じたビット・ストリームが変調デコーディング装置6に供給される。装置6は、詳細に後述するように、再生された信号における2Nビットのコードワードの変調デコーディングを行い、それによってオリジナル入力データに対応する一連のMビットのワードを復元する。
変調コーディング装置5は、2ステージのエンコード・プロセスを行う。第1ステージにおいて、入力ビット・ストリームが列挙型4進エンコード・プロセスを介して2つの2進出力ストリームに区分化される。第2ステージでは、2つの2進出力ストリームがそれぞれの変調エンコーダにおいて独立的にエンコードされ、その結果生じるエンコードされた出力ストリームが結合されて最終的な変調制約された出力を生成する。変調デコーディング装置6は、同様に2ステージのデコード・プロセスを行う。第1ステージにおいて、分離したエンコードされた出力ストリームがそれぞれの変調デコーダによってデコードされる。第2ステージでは、その結果生じるデコードされたビット・ストリームが列挙型4進デコード・プロセスにより結合されてオリジナル入力データ・ストリームを復元する。変調コーディング装置および変調デコーディング装置の種々のステージが図3乃至図10に関連して後述される。原理的には、これらのコンポーネントはソフトウェアで、またはハードウェアおよびソフトウェアの組み合わせで具現化され得るが、実用的には、ハードワイヤード・ロジックにおける実施が単純性および操作速度にとって望ましい。本明細書における説明から、適当な実施方法が当業者には明らかであろう。
図3は、変調コーディング装置5の第1ステージにおいて使用するための入力区分化装置のブロック図である。この実施例では、入力区分化装置10は列挙型4進エンコーダ11および2進出力ジェネレータ12を含む。4進エンコーダ11は、インターリーブされたj=∞フィボナッチ・コードを具現化するために列挙型4進エンコード・アルゴリズムを利用する。4進エンコード・アルゴリズムを説明する前に、j=∞フィボナッチ・コードのコンセプトを簡単に説明することにする。
上記数式(1)において示されるように、j制約を伴う純粋なフィボナッチ・コードは、初期のj+1ウェートがwn=2n-1(但し、n=1,2,・・・,j+1)であるとき、
n+1=wn+wn-1+・・・+wn-j(但し、n=j+1,j+2,・・・,N−1)
の関係を満たす一組のウェートwn(但し、n=1,2,・・・,N)によって定義される。しかし、J=∞の制限ケースに対しては、
w'n=2n-1(但し、n=1,2,・・・, N'+1)
であり、その結果生じるコードは制約をまったく満たさない。(システムの他のどこかで使用されるJ制約を伴うフィボナッチ・コードとJ=∞コードとを単に区別するために、此処および以下ではアポストロフィが使用される)。このJ=∞コードに対するコードワードの最大数は、w'N'+1=2N'である。しかし、わずかな数のコードワード、即ち、w'N'+1(但し、2N'-1<w'N'+1≦2N')を考慮するように選択することも可能である。
j=∞フィボナッチ・コードにおける2進コードワード[x'1, x'2,・・・x'N]が、ウェート{w'n}により入力u(0≦u<w'N'+1)を表すことによって、即ち、uの2進表示である
u=Σx'iw'N'-i+1=Σx'iN'-i
によって得られる。従って、長さN'のこのj=∞フィボナッチ・コードは、範囲0≦u<w'N'+1における数値を表す長さN'のすべての2進シーケンスから成る。
図3の4進エンコーダ11は、前に定義したように、インターリーブされたj=∞フィボナッチ・コードを実施するために各Mビットの入力ワードに列挙型4進エンコード・アルゴリズムを適用する。即ち、エンコーダ11は、各入力ワードの奇数および偶数インターリーブにおいてそれぞれのj=∞フィボナッチ・コードを、4進出力記号を有する単一の列挙型コードとして、同時にエンコードするように作動する。2つの基礎となるフィボナッチ・コードは同じであっても或いは異なっていてもよいが、簡単な実施例ではこれらの2つのコードが同じである。いずれの方法でも、入力ビット・ストリームにおける値uIF=Σukk(但し、k=0乃至M−1)の各Mビットのワード(uM-1,uM-2,・・・,u0)に対して、エンコーダ11は、一連のN'個の4進出力記号を生成する。従って、エンコーダ11は、長さN'のインターリーブされたj=∞フィボナッチ・コードを具現化する。N'個の4進記号zi(i=1乃至N')がそれぞれ2ビット、即ち、奇数ビットx'o iおよび偶数ビットx'e iによって表される。そのN'個の出力記号のそれぞれの対応するビットによって形成された奇数ビット・シーケンス[x'o 1, x'o 2,・・・x'o N']および偶数ビット・シーケンス[x'e 1,x'e 2,・・・x'e N']は、それぞれ、w'o N'+1およびw'e N'+1記号(の2進表示)よりも辞書編集的には小さい。但し、w'o N'+1およびw'e N'+1は、奇数および偶数インターリーブに対する基礎となるj=∞フィボナッチ・コードにおけるコードワードの数である。従って、エンコーダ11は、範囲0≦uIF<w'o N'+1w'e N'+1における1次元の入力ワード値を、出力zi(但し、i=1乃至N')に対するzi=(x'o i,x'e i)の場合の4進出力シーケンス[z1、z2,・・・,zN']にマップする。これは、w'o N'+1およびw'e N'+1よりもそれぞれ小さい且つ変調制約のない奇数および偶数のN'ビットの2進シーケンスを含む。(j=∞であるので、インターリーブされたフィボナッチ・コードは1のラン・レングスに関して制限を課さず、従って、出力コードワードに関して変調制約を課さない)。奇数および偶数N'ビットの2進シーケンスの各々は、前述のように、範囲制限済みコードワードである。奇数および偶数インターリーブにおける範囲制限は、変調エンコーディング・プロセス全体の第2ステージにおいて使用された後続の列挙型変調コードに従って選択される。特に、次のような要件が満たされる。即ち、各インターリーブにおいて、許容されたコードワード値の範囲がそのインターリーブに対する後続の列挙型変調エンコーダの入力範囲に含まれる。この要件は、2つのj=∞フィボナッチ・コードの(N'+1)番目のウェートw'e N'+1およびw'o N'+1における上位境界を指定する。これら2つのコードのすべてのウェートw'n=2n-1が、或る最大の制限されたスパンL'を有する(N'+1)番目のウェートを除いて、1のスパンを有する(上記数式(3)を参照)。(w'e N'+1およびw'o N'+1のスパンは異なることがあるが、その2つのスパンの最大はL'である(但し、L'<N'))。一般に、L'の値は小さい値、例えば、10となるように選ばれる。特に、(N'+1)番目のウェートの選択には多少の自由があるので、最大の可能範囲をわずかに少なくするだけでより小さいスパンを持つように(N'+1)番目のウェートを選択することによって、複雑さと最大範囲との間のトレード・オフを行うことも可能である。多くともL'のスパンを有する(N'+1)番目のウェートに基づいた4進エンコード・アルゴリズムが、2L'+2のウィンドウ幅を伴うスライディング・ウィンドウ・アルゴリズムとして具体化することも可能である。
上記のように、いずれの所望の範囲制限も、(N'+1)番目のウェートw'o N'+1およびw'e N'+1を適切に選択することによって課せられ得る。重要な点は、出力が、下記の後続の変調エンコード・プロセスに対する有効な入力に限定されることを範囲制限が可能にする、ということである。一般に、M=2N'−1および積w'o N'+1w'e N'+1は22N'-1を超える、即ち、c=w'o N'+1w'e N'+1−22N'-1>0である。この場合、希望次第で、幾つかの望ましくないコードワードを除去し、PRML(G,I)変調コードに関して更なる弱い変調制約を課することも可能である。簡単な例として、整数uを表すすべての(2N'−1)ビットの入力ベクトルに、オフセットc=w'o N'+1w'e N'+1−22N'-1を加えることも可能である。その場合、uIF=u+cは、c≦uIF<w'o N'+1w'e N'+1の範囲にあり、それによって、すべて0の出力は排除される。後続の変調エンコーダは一般にすべて0の入力をすべて0のシーケンスにマップするので、その結果生じるPRML(G,I)変調コードは(ビット反転の後)すべて1のシーケンスを含まないであろうし、したがって、有限のj制約を有するであろう。
図3に説明を戻すと、各Mビットの入力ワードに対して、エンコーダ11はその結果生じた一連のN'個の4進出力記号zj=(x'o i,x'e i)を2進出力ジェネレータ12に供給する。これは、そのN'個の出力記号における2つの範囲制限済みコードワード[x'o 1,x'o 2, ・・・x'o N']および[x'e 1,x'e 2, ・・・x'e N']を、奇数ビットx'o iおよび偶数ビットx'e iから成る2つの2進出力ストリームに分離するだけである。従って、装置10は、連続したMビットのデータ・ワードによって形成された入力データ・ストリームを奇数および偶数2進出力ストリームに区分化するように働く。なお、各出力ストリームは、明らかなように、一連の連続する範囲制限済みコードワード[x'o 1,x'o 2, ・・・x'o N']および[x'e 1,x'e 2, ・・・x'e N']から成る。
上記のように、4進アルゴリズムは、2L'+2のウィンドウ幅を用いたスライディング・ウィンドウ・アルゴリズムとしてエンコーダ11において実施することが可能である。この実施例の4進アルゴリズムは、各反復ステップiに対して1つの4進記号ziを生成する反復プロセスとしてエンコーダ11において利用される。更に詳しく言えば、インターリーブされたj=∞フィボナッチ・コードIFが、前述のようにN'ベース{w'n}を各々が有する2つの基礎となるj=∞フィボナッチ・コードを同時にエンコードするために、そのアルゴリズムは、値uIF=Σukk(k=0乃至M−1)の入力ワード(uM-1,uM-2,・・・,u0,)を、uIFに従って4進コードワード((x'o 1,x'e 1),(x'o 2, x'e 2),・・・,(x'o N',x'e N'))にマップする。特に、入力uIF
0≦uIF<w'o N'+1w'e N'+1
の範囲にある場合、そのアルゴリズムは次のようになる。
初期設定: Uo=w'o N'+1 , Ue=w'e N'+1, u=uIF
i=1乃至N'に対して do{
部分的辞書編集式指標v0、veおよび区分化指標N00、N01、N10を計算する:
o=min{2N'-1, Uo},ve=min{2N'-1, Ue}
00=voe, N01=voe,N10=N01+(Uo-vo)ve
時間i出力(x'o i, x'e i)を計算し、入力uを更新する:
if u<N00,thenx'o i=0, x'e i=0
else if N00≦u<N01, thenx'o i=0, x'e i=1,u=u−N00
else if N01≦u<N10, thenx'o i=1, x'e i=0,u=u−N01
elsex'o i=1, x'e i=1, u=u−N10
上位境界を更新する:
o=min{2N'-i,Uo−x'o iN'-i},Ue=min{2N'-i,Ue−x'e iN'-i}
}
上記のアルゴリズムを考察すると、そのアルゴリズムは、入力値uを入力ワード値uIFに初期設定すること、しかる後、i=1乃至N'の各反復に対して、変数N00、N01、N10に対する値を計算すること、および入力値uとN00、N01、N10との比較によって出力記号(x'o i,x'e i)を生成することを含む、ということがわかる。変数N00、N01、N10は、それらが各反復に対する可能な入力値uの範囲を4つのサブ・レンジ
u<N00
00≦u<N01
01≦u<N10
u≧N10
に区分化するように働くので、本明細書では「区分化指標」と呼ばれる。
各反復に対して、可能な入力値uの範囲は0≦u<Uoeである。但し、UoおよびUeは、更新前の反復iにおける奇数および偶数上位境界である。初期入力値uIFはここではMビットのワード値であるので、第1反復i=1に対する区分化指標は可能なMビット値を4に区分化する。更に詳しく言うと、出力記号(x'o i, x'e i)の生成は、
(a) 区分化指標N00、N01、N10を計算するステップ、
(b) 上記4つのサブ・レンジのどれがその入力値を含むかを決定するために現在の入力値uを区分化指標に比較するステップ、
(c) どの特定のサブ・レンジがその入力値を含むかに従って(x'o i, x'e i)の2ビットをセットするステップ、および
(d) uの現在の値から、そのuの値を含むサブ・レンジの下位境界値を減じることによって入力値を更新するステップ(ここでは、下位境界値がそのとき0であるので、uが最も低いサブ・レンジにある場合、更新された入力値は変化しないであろう)、
を含む。
区分化指標N00、N01、N10は、「部分的な辞書編集式指標」vo、veおよびUoおよびUeの第1の対および第2の対から計算される。指標vo、veは、以後、下位の部分的辞書編集式指標と呼ばれ、上位の境界U0、Ueは、上位の部分的辞書編集式指標と呼ばれる。これらの値の対は、その対の各値が入力ワードの奇数および偶数インターリーブのそれぞれ1つと関連付けられ、従って、インターリーブされたj=∞フィボナッチ・コードにおける基礎となるj=∞フィボナッチ・コードの一方または他方と関連付けられる、という点で「部分的」指標と呼ばれる。上記のアルゴリズムにおいて表されるように、各対のvo、veおよびUo、Ueの部分的辞書編集式指標は、反復数iに従って選択されたそれぞれのフィボナッチ・ウェート(即ち、共に2N'-iに等しいw'o N'-i+1およびw'e N'-i+1)に依存する。
エンコーダ11では、エンコード・アルゴリズムのもっとも複雑な部分は、区分化指標N00、N01、N10を計算するために乗算を含む。しかし、下位部分の辞書編集式指標vo、veのほとんどは2の累乗であり、その場合、シフト操作による乗算を実施し、実質的に複雑さを減らすことが可能である。
図4には、入力区分化装置の別の好適な実施例が示される。この実施例の入力区分化装置15は、参照番号16として全体的に表された4進エンコード装置および参照番号17として全体的に示された2進出力ジェネレータを含む。4進エンコード装置16は、デマルチプレクサ18および列挙型4進エンコーダ19を含む。2進出力ジェネレータ17は、2進セパレータ20、デマルチプレクサ21、および図に示されるように接続された2つのマルチプレクサ22、23を含む。入力区分化装置15は、図3の装置10の実施態様を単純化している。特に、(N'+1)番目のフィボナッチ・ウェートw'o N'+1およびw'e N'+1がL'よりも長くないスパンを有する場合、入力uIFからの入力ビットを奇数および偶数出力ビット・ストリームにマップする操作は下記の点で単純化される。
(i) 入力Mビット・ワードの最上位QビットがL'エンコード・ステップにおける4進エンコーダ19を通過して、奇数および偶数出力ビット・ストリームに分離される2つの範囲制限済みコードワード[x'o 1,x'o 2, ・・・x'o L']および[x'e 1,x'e 2, ・・・x'e L']を生成する。
(ii) 最下位 (M−Q)入力ビットが奇数および偶数出力ビット・ストリームに直接にデマルチプレクスされる。
この実施例では、デマルチプレクサ18がMビットのデータ・ワードのQビット部分だけを4進エンコーダ19に供給するので、4進アルゴリズムへの各入力ワードはQビットしか含まない。エンコーダ19は各Qビットの入力ワードから一連のL'個の4進出力記号を生成する。次に、2進セパレータ20が、L'個の4進出力記号から奇数および偶数の範囲制限済みコードワードを分離する。L'個の奇数ビットx'o iがマルチプレクサ22に出力され、L'個の偶数ビットx'e iがマルチプレクサ23に出力される。デマルチプレクサ18は、各Mビットのデータ・ワードのうちのエンコードされてないM−Qビットをデマルチプレクサ21に供給し、マルチプレクサ21は奇数および偶数ビットをデインターリーブする。(M−Q)/2個の奇数ビットがデマルチプレクサ21からマルチプレクサ22に出力され、N'ビットのコードワードを生成するためにL'個の奇数ビットのコードワードに付加される。同様に、(M−Q)/2個の偶数ビットがマルチプレクサ23に出力され、別のN'ビットのコードワードを生成するためにL'個の偶数ビット・コードワードに付加される。従って、各出力ストリームは、4進エンコーダ19により課せられた範囲制限によって範囲制限された一連の連続した(L'+(M−Q)/2)ビットのコードワードを効果的に構成する。この好適な実施例では、Q=2L'−1であるので、入力の最上位2L'−1ビットがエンコーダ19を通して送られ、最下位2(N'−L')入力ビットが直接に偶数および奇数ビット・ストリームにデマルチプレクスされる。
区分化装置15では、エンコーダ全体のうちの複雑性強調(complexity-intensive)部分が最初のL'ステップに制限されることがわかるであろう。即ち、それは、L'ウェートw''n=2n-1(但し、n=1,2,・・・,L')および上位境界w''e L'+1=w'e N'+1/2(N'−L')およびw''0 L'+1=w'0 N'+1/2(N'−L')のみを用いて、インターリーブされたj=∞フィボナッチ・コードに対する列挙型エンコード・アルゴリズムに縮小され得る。
従って、エンコード・アルゴリズムは下記のように縮小する。
仮定: 入力uIFの範囲 0≦uIF<w''e L'+1w''o L'+1
初期設定: Uo=w''o L'+1 , Ue=w''e L'+1, u=uIF
i=1乃至L'に対して do{
部分的辞書編集式指標vo、veおよび区分化指標N00、N01、N10を計算する:
o=min{2L'-i, Uo},ve=min{2L'-i, Ue}
00=voe, N01=voe,N10=N01+(Uo-vo)ve
時間i出力(x'o i, x'e i)を計算し、入力uを更新する:
if u<N00,thenx'o i=0, x'e i=0
else if N00≦u<N01, thenx'o i=0, x'e i=1,u=u−N00
else if N01≦u<N10, thenx'o i=1, x'e i=0,u=u−N01
elsex'o i=1, x'e i=1, u=u−N10
上位境界を更新する:
o=min{2L'-i,Uo−x'o iL'-i},Ue=min{2L'-i,Ue−x'e iL'-i}
}
上記のアルゴリズムは、次の例によって示されるように、区分化指標N00、N01、N10を事前計算することによって更に単純化することが可能である。L'=9およびw''o L+1=363=w''e L'+1の場合を考察することにする。ここでは、2log2(363)>17であるので、レート17/18エンコーダが得られる。下位および上位の辞書編集式指標v0、veおよびUo、Ueは、図5の表に示されるように、各ステップiにおいて多くとも2つの異なる値しか取ることができない。更に、ほとんどの値は2の累乗である。この表から、区分化指標N00、N01、N10は各反復ステップiにおいて多くとも4つの値しか取ることができない。これらの値は、すべて4進エンコーダにおいて事前計算され得るし、従って、複雑な乗算演算を実施する必要を回避する。各ステップiにおいて、事前計算された値N00、N01、N10は、上位の部分的な辞書編集式指標Uo、Ueの実際の値の関数として処理することが可能である。このために、次のような2つの2進インジケータ関数
O=I{Uo=210-i}およびe=I{Ue=210-i}
が導かれる。これらの関数は、中括弧内の等式が有効である場合に値1を取り、そうでない場合に値0を取る。図6の表は、iのすべての値に対する区分化指標の可能な値を示している。各ステップi(i≠1)において、表に示されるように、事前計算された区分化指標N00、N01、N10が上位の部分的辞書編集式指標UoおよびUeの関数として決定される。2進値0=I{Uo=210-i}およびe=I{Ue=210-i}は、ステップiにおいて、それぞれ、UoおよびUeの実際の値に依存するということに留意されたい。
図7は、図2の変調コーディング装置を更に詳しく示す。変調コーディング装置5は、図に示されるように接続された入力区分化装置25、2つの変調エンコーダ26、27、マルチプレクサ28、およびインバータ29を含む。入力区分化装置25は、図3および図4の区分化装置10または15によって具体化することが可能である。従って、区分化装置25は、入力ビット・ストリームにおける一連のMビット・ワードを奇数および偶数ビット・ストリームに区分化する。これらの各々は、上記のように一連のN'ビットの範囲制限済みコードワードから成る。そこで、その2つの出力ビット・ストリームは、それぞれの変調エンコーダ26、27において別々に変調エンコードされる。この実施例では、各変調エンコーダは、汎用フィボナッチ・コードを入力N'ビット・ワードに適用するための列挙型2進エンコーダである。簡単にするために、同じ汎用フィボナッチ・コードF({wn})がこの例ではエンコーダ26、27において適用される。各フィボナッチ・エンコーダ26、27は、j制約を満たす一連のNビット・ワードを含む変調エンコードされた出力ビット・ストリームxo i,xo iを生成する。そこで、奇数および偶数変調エンコードされたビット・ストリームがマルチプレクサ28によってインターリーブされ、そのビット値がインバータ29において反転される。従って、エンコード5の結果として生じた変調制約された出力は、一連の2Nビット・ワードを含む(G,I)制約されたビット・ストリーム(但し、汎用フィボナッチ・コードF({wn})に対してG=2IおよびI=j)である。
ウェートwn(n=1、・・・・,N)を有する汎用フィボナッチ・コードF({wn})に対して、エンコードは、u=ΣxiN-i+1によって決定される。従って、フィボナッチ・エンコーダ26、27の操作は下記のアルゴリズムによって定義される。
入力: 或る整数u=Σx'iN'-i(但し、u<wN+1)を表す2進ベクトル[x'1,x'2,・・・, x'N]
出力: 2進ベクトル[x1, x2,・・・, xN] (但し、N'≦N)
エンコード・ルール: i=1乃至Nに対して {
if u≧wN-i+1 then xi=1
u=u−wN-i+1 (入力からの連続した減算)
else xi=0
}
フィボナッチ・ウェート{wn}が制限されたスパンLを有するという好適なケースでは、エンコーダ26、27がウィンドウ長L+1を用いてスライディング・ウィンドウ態様で作動する。
区分化された出力ストリームx'o iおよびx'e iにおけるN'ビットのコードワードに関して区分化装置25により課せられた範囲制限は、フィボナッチ・エンコーダ26、27への可能な入力の範囲を制限する。詳しく言えば、範囲制限は、N'ビットのコードワード値を、効果的な高レートのフィボナッチ・コードに対するフィボナッチ・エンコーダの有効な入力に限定するように設計される。好適な実施例では、汎用フィボナッチ・コードF({wn})が入力ワードを同じ長さ、即ち、N=N'の出力ワードにマップする。従って、区分化装置25における4進エンコードは、このNビットからNビットへの変調コーディングを可能にするために奇数および偶数出力コードワードにおいて(同様の)範囲制限を課する。一般に、変調コーディング装置5は、M=(2N−P)ビットのワード(P≧1)を2Nビットの(G,I)制約された出力ワードにマップすることが可能である。しかし、M=2N'−1およびN=N'の場合のこの好適な例では、変調コーディング・プロセス全体が入力(2N−1)ビットのデータ・ワードを2Nビットの(G,I)制約されたコードワードにマップすることが可能である。
変調エンコーダ5の第2ステージへの入力ビットに対する適切な範囲0≦uIF<(wN+1)2を選択することによって、2ステージ・エンコーダは、偶数/奇数インターリーブ・フィボナッチ・コードF({wn})から得ることが可能な(wN+1)2(G,I)制約されたコードワードをすべて生成することができる。従って、その2ステージ・エンコード方法は、例えば、上記の欧州特許出願07120162.8に開示されているように、単一ステージの列挙型4進エンコーダによってエンコードされ得るすべての偶数/奇数フィボナッチ・コードF({wn})を用いて適用することが可能である。エンコーダ26,27において使用され得る汎用フィボナッチ・コードF({wn})の3つの特定の例を以下に示す。
第1コードF({wn})は、ウェートwn=Bnn-1(下記により定義されたスパンL=9のn=1,2,・・・,N(=118))の場合のj=7コードである。
n9=512 (但し、n=1,2,・・・,5)
n9=496 (但し、n=6,7,・・・,9)
n9=505−n (但し、n=10,11,・・・,118)
2ステージ変調エンコーダ5によって実施されるその結果のPRML(G,I)コードは、コードワード内でおよび連結されたコードワードのコードワード境界にまたがって、I=7およびG=14制約を満たすレート235/236=0.9958のコードである。
第2コードF({wn})は、図8の表において示されたウェートおよびjプロファイルによって完全に定義されるN=100およびj=5コードである。その結果のPRML(G,I)コードはG=10、I=5、およびレート197/200=0.985のコードを有する。
第3コードは、図9の表に示されたウェートを有するn=200コードである。このコードに対して、j制約プロファイルはコードワード内のj(n)=6(但し、n=6,7,・・・,199)である。境界では、下記のj制約が適用する。
左の境界:j(1)=1,j(2)=2,j(3)=3,j(4)=3,j(5)=4,j(6)=5
右の境界:j(200)=3
従って、j=6制約は、コードワード内およびコードワード境界にまたがって適用する。その結果のPRML(G,I)コードは397/400=0.9925のコード・レートを有し、コードワード内およびコードワード境界にまたがって制約G=12およびI=6を満たす。
上記の3つのコードに対して、上位境界wN+1はスパンL≦9を有する。従って、第1の入力区分化ステージにおけるインターリーブされたj=∞フィボナッチ・コードに対するエンコーダの実施では、図4の単純化したものが適用され、乗算が事前計算により回避され得る。従って、第1ステージは複雑性が低くなり、それは実質的にはそのアルゴリズムの第1L'=Lステップにおける2(L'+1)ビット数の比較および加算/減算から生じる。第2ステージでは、単に、2つの羅列型2進フィボナッチ・エンコーダが各ステップにおいて(L+1)ビット数の比較および加算/減算を行うだけである。
図10は、図2のシステムの変調デコーディング装置を示す。これは、コーディング装置5における変調コーディング・プロセスの実質的に逆である2ステージのデコーディング・プロセスを実施する。従って、デコーディング装置6は、インバータ35、デマルチプレクサ36、2つのフィボナッチ・デコーダ37、38、および4進デコーディング装置39を含む。インバータ35は、再生された信号から検出された一連の2Nビット・ワードを受け取り、それらのビットを反転してデマルチプレクサ36への2進出力ストリームを生成する。これは、受け取ったビット・ストリームの奇数ビットおよび偶数ビットをデインターリーブしてNビットのコードワードの2つのストリームを生成する。そこで、これらは下記のデコーディング・アルゴリズムに従ってフィボナッチ・デコーダ37、38によりデコードされる。ウェートwn(但し、n=1,・・・,N)を用いた汎用のフィボナッチ・コードF({wn})に対して、そのデコーダは、コードワード・コンポーネントによって指定されるウェートを実質的に累算する。
入力: [x1, x2,・・・, xN]
出力の初期設定: udec=0
デコード・ルール: i=1乃至Nに対して{
dec=udec+xiN-I+1
}
それらの対応するエンコーダの場合のように、デコーダ37、38は、ウィンドウ長L+1(但し、Lはフィボナッチ・ウェート{wn}のスパンである)を用いてスライディング・ウィンドウ態様で作動する。
各デコーダ37、38からのその結果生じた一連のN'ビットの出力データは、2つの2進出力ストリームを4進デコーディング装置39に与える。これは、コーディング側における入力区分化装置によって実施されたプロセスの逆を行う。従って、図11は、図3の区分化装置に対応した4進デコーディング装置45を示す。4進記号ジェネレータ46が、2つの入力N'ビットの対応するビットを結合して一連のN'個の4進出力記号を4進デコーダ47に供給する。デコーダ47は4進エンコーダ11によって利用されたエンコード・アルゴリズムの逆を実行し、従って、エンコーダ11によって適用されたインターリーブされたj=∞フィボナッチ・コードの基礎となるj=∞フィボナッチ・コードを同時にデコードするために羅列型4進デコーディング・アルゴリズムを利用する。そのアルゴリズムは、連続した反復ステップにおいて、連続した4進記号のビットの対(x'o i,x'e i)を処理する。詳しく言えば、奇数および偶数インターリーブにおける基礎となるj=∞フィボナッチ・コードのコードワードx'o 1,x'o 2, ・・・x'o N'およびx'e 1,x'e 2, ・・・x'e N'を仮定すると、そのアルゴリズムは次のようになる。
初期設定: Uo N=w'N'+1 , Ue=w'N'+1 , u=0
事前処理(すべての上位の部分的辞書編集式指標を事前計算し、保存する):
i=1乃至N'に対して do{
o i=min{2N'-i,Uo i−x'o iN'-i},Ue i=min{2N'-i,Ue i−x'e iN'-i}
}
i=N'以下1に対して do{
下位の部分的辞書編集式指標および区分化指標を計算する:
o=min{2N'-i, Uo i},ve=min{2N'-i, Ue i}
00=voe, N01=voe i,N10=N01+(Uo i-vo)ve
列挙型指標(=デコーダ出力)uを更新する:
if (x'o i=0, x'e i=0), thenu=u
else if (x'o i=0, x'e i=1),thenu=u+N00
else if (x'o i=1, x'e i=0),thenu=u+N01
else u=u+N10
}
デコーダ47は、幅2L'+2のスライディング・ウィンドウ・デコーダとして作動し、エンコーダ11に適用する同時関連の乗算がデコーダ47に同様に適用する。
図12は、図4のエンコード装置15に対応する単純化された4進デコーディング装置を示す。4進デコーディング装置50は、2つのデマルチプレクサ51、52、4進記号ジェネレータ53、およびマルチプレクサ54を含む。これらのコンポーネントは、共に、図4における2進出力ジェネレータ17の操作と逆になる。従って、デマルチプレクサ51、52にそれぞれ供給されるN'ビットの各対に対して、4進記号ジェネレータ53は一連のL'個の4進出力記号を4進デコーダ55に供給する。このデコーダ55は、図3における4進エンコーダ19によって利用されたエンコード・アルゴリズムの逆を行う。従って、そのアルゴリズムは、4進アルファベットに基づいており、下記のように、各ステップにおいてビット対(x'o i,x'e i)を処理する。
仮定: 奇数/偶数インターリーブのコードワードx'o 1, x'o 2, ・・・x'o L'およびx'e 1,x'e 2, ・・・x'e L'
初期設定: Uo=w''L'+1 , Ue=w''L'+1, u=0
事前処理(すべての上位の部分的辞書編集式指標を事前計算し、保存する):
i=1乃至N'に対して do{
o i=min{2L'-i,Uo i−x'o iL'-i},Ue i=min{2L'-i,Ue i−x'e iL'-i}
}
i=N'逓減1に対して do{
下位の部分的辞書編集式指標および区分化指標を計算する:
o=min{2L'-i, Uo i},ve=min{2L'-i, Ue i}
00=voe, N01=voe i,N10=N01+(Uo i-vo)ve
列挙型指標(=デコーダ出力)uを更新する:
if (x'o i=0, x'e i=0), thenu=u
else if (x'o i=0, x'e i=1),thenu=u+N00
else if (x'o i=1, x'e i=0),thenu=u+N01
else u=u+N10
}
再び、デコーダは、ウィンドウ幅2L'+2のスライディング・ウィンドウ態様で作動し、エンコーダ11に適用する乗算に関する単純化がデコーダ55にも適用する。
4進デコーダ55は、その結果生じた一連のQビットのワードマルチプレクサ56の一方の入力に供給する。デコーディング装置50に入力されたN'ビットの各ワードにおける最下位の(M−Q)/2ビットが、マルチプレクサ54によってインターリーブされ、マルチプレクサ56の他方の入力における(M−Q)ビットを生成する。そこで、これらは、マルチプレクサ56によって4進デコーダ55からのQビット・ワードに付加され、オリジナルの入力データ・ワードに対応するMビット・ワードを復元する。
上記の体系的で融通性のある効率的な入力区分化技法が、特に効率的なエンコーダ/デコーダの実装によって高レートの変調コードの設計を可能にするということは明らかであろう。上記の欧州特許出願07120162.8の4進変調エンコーダに比較しても、本発明の実施例は、エンコーダの第1区分化ステージにおける乗算を回避し、第2変調コーディング・ステージにおける乗算を不必要にし、対応した単純化をデコーダにおいて適用し得るので、更に複雑性効率(complexityefficient)がよい。
本発明の好適な実施例を上述したが、本発明の範囲から逸脱することなく、多くの変更および修正を行うことが可能である。例えば、エンコーダ26、27には種々の汎用のフィボナッチ・コードを適用し得るし、或いは、フィボナッチ・エンコーダ以外の変調エンコーダを都合よく利用し得る。図7において、フィボナッチ・エンコードされた出力ストリームのビット反転がマルチプレクサ28によるインターリーブの前に行われてもよいことは勿論である。更に、上記のインターリーブされたj=∞フィボナッチ・コードによって同様の範囲制限が奇数および偶数出力コードワードに課せられるが、一般に、範囲制限は奇数および偶数コードワードに対して同じである必要がなく、いずれの場合も、種々の数の許容されたコードワード値が存在し得る。
簡単なフィボナッチ・コードを使ったエンコード・プロセスを示す概略図である。 本発明を具体化するデータ処理システムの概略的なブロック図である。 図2のシステムにおいて使用するための入力区分化装置の第1実施例を示す概略図である。 図2のシステムにおいて使用するための入力区分化装置の第2実施例を示す概略図である。 図4の装置において、スパンL'=9のときの4進エンコーダによって使用される部分的な辞書編集式指標を表にしたものである。 スパンL'=9のときの4進エンコーダによって使用される区分化指標を表にしたものである。 図2のシステムにおける変調コーディング装置のブロック図である。 図7の装置において使用することが可能な汎用のフィボナッチ・コードのウェートを表にしたものである。 図7の装置において使用することが可能な汎用フィボナッチ・コードのウェートを表にしたものである。 図2のシステムにおける変調デコーディング装置のブロック図である。 図10の変調デコーディング装置における4進デコーディング装置の第1実施例の概略図である。 図10の変調デコーディング装置における4進デコーディング装置の第2実施例の概略図である。

Claims (15)

  1. 2つの2進出力ストリームそれぞれの変調エンコーダに供給するために、2進入力データのストリームを該2つの2進出力ストリームに区分化するための方法であって、
    入力ビット・ストリームにおける一連の入力ワードの各々に対して、一連の4進出力記号を生成するために前記入力ワードに列挙型4進エンコード・アルゴリズムを適用するステップであって、前記4進エンコード・アルゴリズムは、前記一連の4進出力記号におけるそれぞれの対応するビットにより形成された2つのビット・シーケンスが範囲制限済みコードワードになるよう、前記入力ワードの奇数および偶数インターリーブにおけるそれぞれのj=∞フィボナッチ・コードを同時にエンコードするように作用し、入力値を前記入力ワードの値に初期設定するステップを含み、各反復i(但し、i=1乃至Xであり、Xは前記一連の4進出力記号の長さである)に対して、
    (a).前記入力値を含むサブ・レンジを決定するために、可能な入力値の範囲を4つのサブ・レンジに区分化する所定の区分化指標に前記入力値を比較するステップと、
    (b).前記入力値を含むサブ・レンジに依存した値の4進出力記号を生成するステップと、
    (c).前記入力値を含むサブ・レンジの下位境界値を減じることによって前記入力値を更新するステップとを実行する、前記4進エンコード・アルゴリズムを適用するステップと、
    連続した入力ワードの各々から生成された2つの範囲制限済みコードワードを分離することによって2つの2進出力ストリームを生成するステップと、を含む方法。
  2. 前記4進エンコード・アルゴリズムは、前記入力ワードの奇数および偶数インターリーブにおける同じj=∞フィボナッチ・コードをエンコードするように作用する、請求項1に記載の方法。
  3. 前記2進入力データは一連の連続したMビットのデータ・ワードを含み、
    前記入力ワードの各々はMビットのデータ・ワードであり、
    前記2進出力ストリームの各々は、それぞれのMビットのデータ・ワードから生成された一連の連続した範囲制限済みコードワードとして生成される、
    請求項に記載の方法。
  4. 前記4進エンコード・アルゴリズムは、Mビットのデータ・ワードの各々から一連のN'個の4進出力記号(但し、M=2N'−1)を生成する、請求項3に記載の方法。
  5. 前記2進入力データは一連の連続したMビットのデータ・ワードを含み、
    前記入力ワード各々はそれぞれのMビットのデータ・ワードのQビット部分(但し、Q<M)を含み、
    前記4進エンコード・アルゴリズムは、Qビットの入力ワードの各々から一連のL'個
    の4進出力記号を生成し、
    前記2進出力ストリームは、Mビットのデータ・ワードの各々におけるエンコードされてないM−Qビットを(M−Q)/2ビットの2つのセットに分割すること、およびMビットのデータ・ワードの各々に対するそれぞれのL'ビットの範囲制限済みコードワードに
    前記2つのセットの各々を付加することによって生成される、
    請求項に記載の方法。
  6. Q=2L'−1である、請求項5に記載の方法。
  7. 部分的辞書編集式指標の第1の対および第2の対から区分化指標を計算するステップであって、前記部分的辞書編集式指標の各対は、前記反復iの数に従って選択されたそれぞれのフィボナッチ・ウェートに依存する、前記ステップを含む、請求項に記載の方法。
  8. 各反復iに対して、現在の反復に対する区分化指標を計算するステップを含む、請求項に記載の方法。
  9. 各反復iに対する区分化指標は前記4進アルゴリズムに対して事前計算され、前記ステップ(a)は現在の反復iに対する事前計算された区分化指標を選択するステップを含む、請求項に記載の方法。
  10. 2進入力データのストリームを変調コード化するための方法であって、
    入力ビット・ストリームを2つの2進出力ストリームに区分化するステップであって、
    入力ビット・ストリームにおける一連の入力ワードの各々に対して、一連の4進出力記号を生成するために前記入力ワードに列挙型4進エンコード・アルゴリズムを適用するステップであって、前記4進エンコード・アルゴリズムは、前記一連の4進出力記号におけるそれぞれの対応するビットにより形成された2つのビット・シーケンスが範囲制限済みコードワードになるよう、前記入力ワードの奇数および偶数インターリーブにおけるそれぞれのj=∞フィボナッチ・コードを同時にエンコードするように作用し、入力値を前記入力ワードの値に初期設定するステップを含み、各反復i(但し、i=1乃至Xであり、Xは前記一連の4進出力記号の長さである)に対して、
    (a).前記入力値を含むサブ・レンジを決定するために、可能な入力値の範囲を4つのサブ・レンジに区分化する所定の区分化指標に前記入力値を比較するステップと、
    (b).前記入力値を含むサブ・レンジに依存した値の4進出力記号を生成するステップと、
    (c).前記入力値を含むサブ・レンジの下位境界値を減じることによって前記入力値を更新するステップとを実行する、前記4進エンコード・アルゴリズムを適用するステップと、
    連続した入力ワードの各々から生成された2つの範囲制限済みコードワードを分離することによって2つの2進出力ストリームを生成するステップとを含むことを特徴とする、 前記区分化するステップと、
    2つのエンコードされた出力ストリームを生成するために前記2つの2進出力ストリームをそれぞれの変調エンコーダにおいて変調エンコードするステップと、
    変調制約された出力を生成するために前記エンコードされた出力ストリームをインターリーブするステップと、
    を含む、方法。
  11. 前記変調エンコーダの各々は、列挙型エンコード・アルゴリズムをそれぞれの2進出力ストリームに適用する、請求項10に記載の方法。
  12. 前記変調エンコーダの各々は、汎用フィボナッチ・コードをそれぞれの2進出力ストリームに適用する、請求項11に記載の方法。
  13. 前記エンコードされた出力ストリームのビットを反転するステップを含み、従って前記変調制約された出力は(G,I)制約されたビット・ストリームである、請求項11に記載の方法。
  14. 前記2進入力データは一連の連続した(2N−1)ビットのデータ・ワードを含み、前記変調制約された出力は一連の連続した(2N−1)ビットの変調制約されたコードワードを含む、請求項10に記載の方法。
  15. 2つの2進出力ストリームそれぞれの変調エンコーダに供給するために、2進入力データのストリームを該2つの2進出力ストリームに区分化するための装置であって、
    各入力ワードから一連の4進出力記号を生成するために、入力ビット・ストリームにおける一連の入力ワードの各々に列挙型4進エンコード・アルゴリズムを適用するための4進エンコーダであって、前記4進エンコード・アルゴリズムは、前記一連の4進出力記号のそれぞれの対応するビットにより形成された2つのビット・シーケンスが範囲制限済みコードワードになるよう、前記入力ワードの奇数および偶数インターリーブにおけるそれぞれのj=∞フィボナッチ・コードを同時にエンコードするように作用し、
    入力値を前記入力ワードの値に初期設定するステップを含み、各反復i(但し、i=1乃至Xであり、Xは前記一連の4進出力記号の長さである)に対して、
    (a).前記入力値を含むサブ・レンジを決定するために、可能な入力値の範囲を4つのサブ・レンジに区分化する所定の区分化指標に前記入力値を比較するステップと、
    (b).前記入力値を含むサブ・レンジに依存した値の4進出力記号を生成するステップと、
    (c).前記入力値を含むサブ・レンジの下位境界値を減じることによって前記入力値を更新するステップとを含む、前記4進エンコード・アルゴリズムを適用するステップと、
    連続した入力ワードの各々から生成された2つの範囲制限済みコードワードを分離することによって2つの2進出力ストリームを生成するステップと、を実行する、前記4進エンコーダと、
    連続した入力ワードから生成された2つの範囲制限済みコードワードを分離することによって2つの2進出力ストリームを生成するための2進出力ジェネレータと、
    を含む、装置。
JP2008276263A 2007-11-07 2008-10-28 変調コード化およびデコード方法および装置 Expired - Fee Related JP5030919B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP07120165 2007-11-07
EP07120165.1 2007-11-07

Publications (2)

Publication Number Publication Date
JP2009117021A JP2009117021A (ja) 2009-05-28
JP5030919B2 true JP5030919B2 (ja) 2012-09-19

Family

ID=40587583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008276263A Expired - Fee Related JP5030919B2 (ja) 2007-11-07 2008-10-28 変調コード化およびデコード方法および装置

Country Status (3)

Country Link
US (1) US7786905B2 (ja)
JP (1) JP5030919B2 (ja)
CN (1) CN101431335B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200945797A (en) * 2007-11-07 2009-11-01 Ibm Modulation coding and decoding
US8139304B2 (en) * 2010-08-03 2012-03-20 International Business Machines Corporation Tape layout design for reliable ECC decoding
GB2527604A (en) * 2014-06-27 2015-12-30 Ibm Data encoding in solid-state storage devices
CN105791850B (zh) * 2016-03-10 2018-08-03 京东方科技集团股份有限公司 一种编码器及其编码方法、解码器及其解码方法
US10176040B2 (en) * 2016-04-05 2019-01-08 Micron Technology, Inc. Error correction code (ECC) operations in memory
CN110086575B (zh) * 2019-05-06 2021-10-08 Tcl华星光电技术有限公司 编码方法、解码方法、相关装置及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3718863A (en) * 1971-10-26 1973-02-27 J Fletcher M-ary linear feedback shift register with binary logic
DE69613181T2 (de) 1995-02-03 2002-01-31 Koninkl Philips Electronics Nv Anordnung zum kodieren einer sequenz von (n-1)-bit informationswörtern in eine sequenz von n-bit kanalwörtern sowie dekodieranordnung zum dekodieren einer sequenz von n-bit kanalwörtern in eine sequenz von (n-1)-bit informationswörtern
US6046691A (en) * 1998-04-13 2000-04-04 Lucent Technologies Inc. Rate 16/17 (0,5) modulation code apparatus and method for partial response magnetic recording channels
US6504493B1 (en) * 2000-10-31 2003-01-07 Marvell International, Ltd. Method and apparatus for encoding/decoding data
US7071851B1 (en) 2005-01-31 2006-07-04 Hitachi Global Storage Technologies Netherlands B.V. Techniques for implementing non-uniform constraints in modulation encoded data
US7064687B1 (en) * 2005-01-31 2006-06-20 Hitachi Global Storage Technologies Netherlands B.V. Techniques for modulating data using short block encoders
US7126502B2 (en) 2005-02-01 2006-10-24 Hitachi Global Storage Technologies Netherlands B.V. Techniques for using interleaved encoders to obtain modulation constraints

Also Published As

Publication number Publication date
JP2009117021A (ja) 2009-05-28
CN101431335B (zh) 2011-11-16
US20090115648A1 (en) 2009-05-07
US7786905B2 (en) 2010-08-31
CN101431335A (zh) 2009-05-13

Similar Documents

Publication Publication Date Title
KR101114057B1 (ko) Rll 인코딩
JP5030919B2 (ja) 変調コード化およびデコード方法および装置
KR20060061261A (ko) 주기적으로 변화하는 심볼 매핑들을 이용하여 데이터에변조 제약들을 적용하기 위한 기술들
JP3541439B2 (ja) 信号変調方法及び装置、並びに信号復調装置及び方法
US7064687B1 (en) Techniques for modulating data using short block encoders
JPS6217418B2 (ja)
US7126502B2 (en) Techniques for using interleaved encoders to obtain modulation constraints
JP5031100B2 (ja) ビット・ストリームの変調コーディング及びデコーディング方法、装置、及びシステム(変調コーディング及びデコーディング)
JP3363432B2 (ja) データ符号化システム
JP3664091B2 (ja) 変調方法、変調装置、復調方法、復調装置、情報記録媒体に記録する方法、情報伝送方法および情報伝送装置
JP2000078025A (ja) 符号化されたデ―タを処理する装置
JP2000209095A (ja) 変調エンコ―ダ、変調デコ―ダ、およびデ―タストリ―ムを変調するためのコンピュ―タプログラムプロダクト
US8054207B1 (en) Enumerative DC-RLL constrained coding
US6985320B2 (en) Method and apparatus for encoding data to guarantee isolated transitions in a magnetic recording system
JP2000134101A (ja) 符号化回路
US7667626B1 (en) Enumerative DC-RLL constrained coding
JP2005522809A (ja) 確率dc制御
JP4059253B2 (ja) 変調方法、変調装置および情報記録媒体
JP3692974B2 (ja) 符号化方法、符号化装置、記録媒体及びプログラム
JP4059212B2 (ja) 変調方法、および変調装置
JP4059254B2 (ja) 復調方法及び復調装置
JP2005203093A (ja) 変調方法、変調装置および情報記録媒体
JP2007533195A (ja) 変調コードシステム並びに信号をコード化及びデコードする方法
JP2001312863A (ja) 符号化方法及び符号器、復号器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120517

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120626

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees