(57)【特許請求の範囲】
【請求項１】
最小ランが１以上で、基本符号長がｎビットのラン長制限符号を含む符号(d,k;m,n;r)を、基本データ長がｍビットのデータに復調する復調装置であって、
所定の変換規則に対応する復調テーブルを有し、前記復調テーブルの正しい符号のうちの少なくとも一部の符号の先頭の１ビットの値を無視することにより、前記正しい符号の前記変換規則に一致しない誤った符号を、前記復調テーブルの正しい符号と同一の前記復調テーブルで復調する復調手段
を備えることを特徴とする復調装置。
【請求項２】
前記符号の拘束長を特定する拘束長特定手段をさらに有する
ことを特徴とする請求項１に記載の復調装置。
【請求項３】
前記復調テーブルは、最小ランｄ＝１の規則を守る
ことを特徴とする請求項１に記載の復調装置。
【請求項４】
前記復調テーブルは、最大ランｋ＝７の規則を守る
ことを特徴とする請求項１に記載の復調装置。
【請求項５】
前記復調テーブルは、最小ランの連続を所定の回数までに制限する置き換えコードを有する
ことを特徴とする請求項１に記載の復調装置。
【請求項６】
前記復調テーブルは、データ列の要素内の”１”の個数と、前記復調手段により変換される符号語列の要素内の”１”の個数とについて、それぞれを２で割った時の余りがどちらも１あるいは０で一致するような変換規則を有する
ことを特徴とする請求項１に記載の復調装置。
【請求項７】
最小ランが１以上で、基本符号長がｎビットのラン長制限符号を含む符号(d,k;m,n;r)を、基本データ長がｍビットのデータに復調する復調方法であって、
所定の変換規則に対応する復調テーブルの正しい符号のうちの少なくとも一部の符号の先頭の１ビットの値を無視することにより、前記正しい符号の前記変換規則に一致しない誤った符号を、前記復調テーブルの正しい符号と同一の前記復調テーブルで復調する復調ステップ
を含むことを特徴とする復調方法。
【請求項８】
前記符号の拘束長を特定する拘束長特定ステップをさらに含む
ことを特徴とする請求項７に記載の復調方法。
【請求項９】
前記復調テーブルは、最小ランｄ＝１の規則を守る
ことを特徴とする請求項７に記載の復調方法。
【請求項１０】
前記復調テーブルは、最大ランｋ＝７の規則を守る
ことを特徴とする請求項７に記載の復調方法。
【請求項１１】
前記復調テーブルは、最小ランの連続を所定の回数までに制限する置き換えコードを有する
ことを特徴とする請求項７に記載の復調方法。
【請求項１２】
前記復調テーブルは、データ列の要素内の”１”の個数と、前記復調ステップの処理により変換される符号語列の要素内の”１”の個数とについて、それぞれを２で割った時の余りがどちらも１あるいは０で一致するような変換規則を有する
ことを特徴とする請求項７に記載の復調方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、復調装置および方法に関し、特に、データ伝送や記録媒体への記録に適するように変調されたデータを、復調してデータを再生する復調装置および方法に関する。
【背景技術】
【０００２】
データを所定の伝送路で伝送する、または、例えば磁気ディスク、光ディスク、光磁気ディスク等の記録媒体に記録するとき、伝送や記録に適するようにデータの変調が行われる。このような変調方法の１つとして、ブロック符号が知られている。このブロック符号は、データ列をm×iビットからなる単位（以下、単にデータ語と称する）にブロック化し、このデータ語を適当な符号則に従ってn×iビットからなる符号語に変換するものである。そして、この符号は、iが１のとき、固定長符号となり、また、ｉが複数個選べるとき、すなわち、１乃至imax（最大のｉ）の範囲の所定のｉを選択して変換したとき、可変長符号となる。このブロック符号化された符号は、可変長符号(d,k;m,n;r)と表される。
【０００３】
ここでｉは、拘束長と称され、imaxは、最大拘束長rと称される。また、最小ランdは、符号系列内の連続する”１”の間に入る、連続する”０”の最小の個数を示し、最大ランｋは、符号系列内の連続する”１”の間に入る、連続する”０”の最大の個数を示している。
【０００４】
コンパクトディスクやミニディスク等においては、上述のようにして得られた可変長符号に対して、”１”で反転、”０”で無反転とするNRZI(NonReturn to Zero Inverted)変調を行い、NRZI変調された可変長符号（以下、NRZI変調された可変長符号を、レベル符号と称する）を記録する。
【０００５】
また、レベル符号を、”１”から”０”あるいは”０”から”１”に反転したとき、即ち、エッジとなったとき、”１”とする、逆NRZI変調を行うと、元のEFM符号やRLL(1-7)符号と同じ符号列を得ることができる。この逆NRZI符号列は、エッジ符号と称する。
【０００６】
レベル符号の最小反転間隔をTminとし、最大反転間隔をTmaxとするとき、線速方向に高密度の記録を行うためには、最小反転間隔Tminは長い方が、すなわち最小ランdは大きい方が良く、また、クロックの再生の面からは最大反転間隔Tmaxは短いほうが、すなわち最大ランkは小さい方が望ましく、種々の変調方法が提案されている。
【０００７】
具体的には、例えば磁気ディスクまたは光磁気ディスク等で用いられる変調方式としてRLL(Run Length Limited Code)（2-7）がある。この変調方式のパラメータは(2,7;1,2;4)であり、レベル符号のビット間隔をTとすると、(d+1)Tで求められる最小反転間隔Tminは、(2+1)Tより3Tとなる。データ列のビット間隔をTdataとすると、この最小反転間隔Tminは、(m/n)×Tmin=(1/2)×3より、1.5Tdataとなる。また、(k+1)Tで求められる最大反転間隔Ｔmaxは、8(=7+1)T((=(m/n)×Tmax)Tdata=(1/2)×8Tdata=4.0Tdata)となる。さらに、(m/n)Tで求められる検出窓幅Ｔwは、0.5(=1/2)Tdataとなる。
【０００８】
この他、例えば、磁気ディスクまたは光磁気ディスク等の記録で用いられる変調方式としてRLL(1-7)がある。この変調方式のパラメータは(1,7;2,3;2)であり、最小反転間隔Tminは、2(=1+1)T(=2/3×2Tdata=1.33Tdata)となる。また最大反転間隔Tmaxは8(=7+1)T(=2/3×8Tdata=5.33Tdata)となる。さらに検出窓幅Ｔwは、0.67(=2/3)Tdataとなる。
【０００９】
ここでRLL(2-7)とRLL(1-7)を比較すると、例えば磁気ディスクシステムや光磁気ディスクシステムにおいて、線速方向に記録密度を高くするには、最小反転間隔Tminが1.33TdataであるRLL(1-7)より、1.5TdataであるRLL(2-7)の方が望ましい。しかしながら、実際には、RLL(2-7)より、検出窓幅Twがより大きく、ジッタに対する許容量が大きいと言われるRLL(1-7)がよく用いられている。
【００１０】
RLL(1-7)符号の変換テーブルは、例えば、表１に示すようなテーブルである。
【００１１】
＜表１＞
RLL(1,7; 2,3; 2)
データ    符号
ｉ＝１  １１      ００ｘ
１０      ０１０
０１      １０ｘ
ｉ＝２  ００１１  ０００ ００ｘ
００１０  ０００ ０１０
０００１  １００ ００ｘ
００００  １００ ０１０
ここで変換テーブル内の記号xは、次に続くチャネルビットが”０”であるとき”１”を与え、または次に続くチャネルビットが”１”であるとき”０”を与える。最大拘束長rは２である。
【００１２】
また、最小ランdが２で、最大反転間隔Tmaxが8T（最大ラン7）であるRLL(2-7)符号の変換テーブルは、例えば、表２に示すようなテーブルである。
【００１３】
＜表２＞
RLL(2,7; 1,2; 4)
データ    符号
ｉ＝２  １１      １０００
１０      ０１００
ｉ＝３  ０１１    ００１０００
０１０    １００１００
０００    ０００１００
ｉ＝４  ００１１  ００００１０００
００１０  ００１００１００
最大拘束長ｒは４である。
【００１４】
ところで、RLL(1-7)による変調を行ったチャネルビット列は、発生頻度としてはTminである2Tが一番多く、以下3T，4Tと続く。2Tや3Tのようなエッジ情報が早い周期で多く発生すると、クロック再生には有利であるが、2Tが連続しつづけると、記録波形に歪みが生じやすくなる（2Tの波形出力は小さく、デフォーカスやタンジェンシャル・チルトによる影響を受けやすい）。また、さらに高線密度で、最小マークの連続した記録は、ノイズ等の外乱の影響を受けやすく、データ再生誤りを起こしやすくなる。
【００１５】
そこで、本出願人は特願平９−１３３３７９号として、Tminが所定の回数以上連続するのを制限することを提案したが、その符号の変換テーブルは、例えば表３に示すテーブルである。
【００１６】
＜表３＞
RML(1,7;2,3;3)
データ         符号
ｉ＝１  １１          ００ｘ
１０          ０１０
０１          １０ｘ
ｉ＝２  ００１１      ０００ ００ｘ
００１０      ０００ ０１０
０００１      １００ ００ｘ
００００      １００ ０１０
ｉ＝３  １００１１０  １００ ０００ ０１０
ここで変換テーブル内の記号xは、次に来るチャネルビットが”０”であるとき”１”を与え、また次に来るチャネルビットが”１”であるとき”０”を与える。最大拘束長ｒは３である。
【００１７】
表３を使用した変換は、データ列が”１０”となった場合、さらに次の４データを参照し、合計６データ列が”１００１１０”となったとき、最小ランｄの繰り返しを制限するコード”１００ ０００ ０１０”を与える。この変換により得られる符号の最小ランｄの繰り返しは、最大で５回までになる。
【００１８】
表３を使用した変換は、表１のRLL(1-7)と比較すると、最小ランｄ、最大ランｋ、基本データ長ｍ、および基本符号長ｎが同じであるが、拘束長ｒが２から３に大きくなっている。これは、即ち、テーブルの最大サイズが大きくなっていることを示し、例えば復調時にビットシフトエラーが発生したとき、復調エラー伝搬が増加する可能性があることを示している。
【００１９】
ビットシフトエラーとは、符号列においてエッジを表す”１”が、前または後ろに１ビットずれるエラーのことである。エラー伝搬は、例えば、ビットシフトエラーによって１ヶ所でエラーが発生した符号列を、そのまま復号した際に発生する復調エラーの、エラーの先頭からエラーの終了までのビット数で表される。
【００２０】
このビットシフトエラーは、実際の記録再生装置における、データ再生時にもっともよく発生するエラーの形態である。また、これらエラーは、もっぱら最小ランｄ付近において発生することが確認されている。
【００２１】
またさらに、可変長符号(d,k;m,n;r)を、例えば可変長符号(2,7;1,2;5)であるとするとき、すなわち０の最小ランｄを２ビット、０の最大ランｋを７ビット、基本データ長ｍを１ビット、基本符号長ｎを２ビット、最大拘束長ｒを５とする変換テーブルは、例えば、表４に示すような変換テーブルとされる。
【００２２】
＜表４＞
RML(2,7;1,2;5)
データ    符号
ｉ＝２  １１      １０００
１０      ０１００
ｉ＝３  ０１１    ００１０００
０１０    １００１００
０００    ０００１００
ｉ＝４  ００１１  ００００１０００
００１０  ００１００１００
ｉ＝５  ０１００１  ００００１００１００
最大拘束長ｒは５である。
【００２３】
表４に示した変換テーブルを使用した変換は、データ列が”０１０”となった場合、さらに次の２データを参照し、合計５データ列が”０１００１”となったとき、最小ランｄの繰り返しを制限するコード”００００１００１００”を与えることで、この変換により得られる符号の最小ランｄの繰り返しは、最大で４回までとなる。
【００２４】
この表４の処理は、表２のRLL(2-7)と比較すると、最小ランｄ、最大ランｋ、基本データ長ｍ、および基本符号長ｎが同じであるが、最大拘束長ｒが、４から５に大きくなっている。これは、即ち、テーブルの最大サイズが大きくなっていることを示し、例えば復調のときにビットシフトエラーが発生した場合、復調エラー伝搬が増加する可能性があることを示している。
【００２５】
この他のラン長制限符号として、本出願人が特願平１０−１５０２８０号にて提案している、例えば、表５および表６の変換テーブルで得られる符号がある。表５および表６の変換テーブルで得られる符号は、RLL(1,7)符号であり、その上に最小ランｄの連続を制限し、さらにデータ語と符号語の対応した要素に規則を与えた変調符号である。
【００２６】
＜表５＞
17PP.RML.32
11          *0*
10          001
01          010
0011        010 100
0010        010 000
0001        000 100
000011      000 100 100
000010      000 100 000
000001      010 100 100
000000      010 100 000
"110111      001 000 000(next010)
00001000    000 100 100 100
00000000    010 100 100 100
【００２７】
表５は、最小ランｄが１、かつ最大ランｋが７で、変換テーブル内の要素に不確定符号を有する。不確定符号は、直前および直後の符号語列の如何によらず、最小ランｄと最大ランｋを守るように、”０”か”１”かを決定する。すなわち表５の変換テーブルを利用した処理は、変換するデータ列２ビットが（１１）であったとき、その直前の符号語列によって”０００”あるいは”１０１”が選択され、直前の符号語列の１チャネルビットが”１”であったとき、最小ランｄを守るため、（１１）は、”０００”に変換され、直前の符号語列の１チャネルビットが”０”であったとき、（１１）は、”１０１”に変換され、最大ランｄを守れるようにする。
【００２８】
表５の変換テーブルは、可変長構造である。すなわち拘束長ｉが１における変換コードは、必要数の４つ（2^(m x i) = 2^(2 x 1) = 4)よりも少ない３つで構成されている。その結果、データ列を変換する際に、拘束長ｉが１だけでは変換出来ないデータ列が存在することになる。結局、表５において、全てのデータ列に対応するためには、すなわち変換テーブルとして成り立つためには、拘束長ｉが３までのテーブルを参照する必要がある。
【００２９】
また、表５の変換テーブルは、変換テーブル内に、最小ランの連続を制限する、置き換えコードを有する。すなわち、データ列が（１１０１１１）である場合、表５の変換テーブルを使用する処理は、さらに後ろに続く符号語列を参照し、それが”０１０”であったとき、”００１ ０００ ０００”に置き換える。後ろに続く符号語列が”０１０”以外のとき、”＊０＊ ０１０ ＊０＊”とテーブル変換する。
【００３０】
これによって、データ変換後の符号語列は、最小ランｄの連続が制限され、最大でも６回までの最小ランｄの繰り返しとなる。
【００３１】
さらに表５の変換テーブルは、データ列の要素内の”１”の個数と、変換される符号語列の要素内の”１”の個数が、それを２で割った時の余りが、どちらも１あるいは０で同一となるような変換規則を有する。例えば、データ列の要素（０００００１）は”０１０ １００ １００”の符号語列に対応しているが、それぞれ”１”の個数は、データ列では１個、対応する符号語列では３個であり、どちらも２で割った余りが１で一致している。同様にして、データ列の要素（００００００）は、”０１０ １００ ０００”の符号語列に対応しているが、それぞれ”１”の個数は、データ列が０個、対応する符号語列は２個であり、どちらも２で割った余りが０で一致している。
【００３２】
そして表５の変換テーブルは、最大拘束長ｒが４である。拘束長ｉが４の変換コードは、最大ランｋが７を実現するための、置き換えコードを有する。
【００３３】
＜表６＞
17PP.RML.52
i=1 Main table:      
00        101
01        100
10        001
11        000
i=2 substitution table A. (limits d to 1)
0000      100 010
0001      101 010
1000      000 010
1001      001 010
i=3 substitution table B. (limits k to 8)
111111    000 010 010
111110    001 010 010
011110    101 010 010
011111    100 010 010
i=4 substitution table C. (limits RMTR to 6)
00010001  100 010 010 010
chan --0 10010001  100 000 010 010
chan --1 10010001  000 010 010 010
i=4 substitution table D. (limits k to 7)
chan 010 11100000  000 001 010 010
chan 010 11100010  100 001 010 010
chan 010 11100001  001 010 010 010
chan 010 11100011  101 010 010 010
【００３４】
表６の変換テーブルは、最小ランｄが１、最大ランｋが７で、拘束長ｉが１において変換コードを４つ（2^(m x i) = 2^(2 x 1) = 4)有する構造をしている。すなわち表６の変換テーブルは、拘束長ｉが１をメインテーブルとし、以下拘束長ｉを大きくすることで、最小ランｄ、および最大ランｋ等を制限する構造となっている。表６の変換テーブルは、拘束長ｉが２では最小ランｄを１に制限する置き換えコードを与え、拘束長ｉが３では最大ランｋを８までに制限する置き換えコードを与え、さらに、拘束長ｉが４では、１である最小ランｄの連続を制限する置き換えコードを与えると共に、最大ランｋを７までに制限する置き換えコードを与える。表６の変換テーブルは、最大拘束長ｒが４である。
【００３５】
表６の変換テーブルは、変換テーブル内に、最小ランｄの連続を制限する、置き換えコードを有する。すなわち、表６の変換テーブルを使用した処理では、例えばデータ列（０００１０００１）は、”１０００１００１００１０”に置き換えられ、データ列（１００１０００１）は、その直前の符号語列を参照し、それが”０”か”１”かによって変換コードを選択して置き換えられる。表６の変換テーブルを使用した処理は、直前の符号語列が”０”ならば、”１００００００１００１０”を、”１”ならば”００００１００１００１０”を選択する。これにより、データ変換後の符号語列は、最小ランｄの連続が制限され、最大でも６回までの最小ランｄの繰り返しとなる。
【００３６】
さらに表６の変換テーブルは、データ列の要素内の”１”の個数と、変換される符号語列の要素内の”１”の個数が、それを２で割ったときの余りが、どちらも１あるいは０で同一となるような変換規則を有する。例えば、データ列の要素（１０００）は、”００００１０”の符号語列に対応しているが、それぞれ”１”の個数は、データ列が１個、対応する符号語列は１個であり、どちらも２で割った余りが１で一致する。同様に、データ列の要素（１１１１１１）は、”００００１００１０”の符号語列に対応しているが、それぞれ”１”の個数は、データ列では６個、対応する符号語列では２個であり、どちらも２で割った余りが０で一致する。
【００３７】
そして表６の変換テーブルは、最大拘束長ｉが４の変換コードにおいて、最大ランｋが７を実現するための、置き換えコードを有する。このとき、表６の変換テーブルを使用した処理は、変換するために、その直前の符号語列を参照し、それが”０１０”であるとき、置き換えが実行される。
【００３８】
ここでDSV(Digital Sum Value)制御について説明する。表１乃至表６の変換テーブルを使用したデータ変換は、それ自身だけではDSV制御が行われない。従って、システムによってDSV制御を行う必要があるとき、データ変調後のチャネルビット列に、所定の間隔で計算されたDSV制御ビットが挟みこまれる。
【００３９】
ところで、表５および表６に従ってデータ列を変調し、変調後のチャネルビット列を、所定の間隔で、これまでと同様にDSV制御することができるが、表５および表６の例では、データ列と、変換される符号語列の関係を生かして、さらに効率良くDSV制御を行うことができる。
【００４０】
即ち、変換テーブルが、データ列の要素内の”１”の個数と、変換される符号語列の要素内の”１”の個数が、それを２で割った時の余りが、どちらも１あるいは０で同一となるような変換規則を有するとき、チャネルビットに、「反転」を表す”１”、あるいは「非反転」を表す”０”のDSV制御ビットを挿入することは、データビット列内に、「反転」するならば”１”を挾み、「非反転」ならば”０”のDSV制御ビットを挿入することと等価となる。
【００４１】
たとえば表５の変換テーブルを使用したデータ変換において、データ変換する３ビットが”００１”と続いたときに、その後ろにおいてDSV制御ビットを挾むと決定すると、データ変換は、（００１−ｘ）（ｘは１ビットで、０又は１）となる。ここでｘに”０”を与えれば、表５の変換テーブルは、表７に示すようになる。
【００４２】
＜表７＞
データ     符号語
0010       010 000
【００４３】
また、”１”を与えれば、表５の変換テーブルは、表８に示すようになる。
＜表８＞
データ     符号語
0011       010 100
【００４４】
符号語列をNRZI化してレベル符号化したとき、表７の変換テーブルおよび表８の変換テーブルは、表９に示すようになる。
【００４５】
＜表９＞
データ     符号語     レベル符号
0010       010 000    011111
0011       010 100    011000
【００４６】
レベル符号列の最後の３ビットが相互に反転する。すなわち、DSV制御ビットｘの、”１”と”０”を選択することによって、データ列内においても、DSV制御が行えることになる。
【００４７】
DSV制御による冗長度を考えると、データ列内において１ビットでDSV制御を行うことは、チャネルビット列で表現すれば、表５および表６の基本データ長ｍが２で、基本符号長ｎが３であるから、１．５チャネルビットでDSV制御を行っていることに相当する。ここで、例えば、表１のようなRLL(1-7)テーブルにおいてDSV制御をするためには、チャネルビット列においてDSV制御を行うことになり、最小ランｄを守るためには、少なくとも２チャネルビットが必要であり、冗長度は、より大きくなってしまう。
【００４８】
表５および表６の変換テーブルを使用した変換は、データ列内でDSV制御を行えるので、効率が良い。表５および表６の変換テーブルにより変換された符号は、DSV制御が行えると共に、最小ランｄの繰り返しが制限されているので、高線密度記録再生に適している符号である。
【００４９】
ところで、表５および表６の変換テーブルにより変換された符号は、表３のRML17符号と比較すると、最小ランｄ、最大ランｋ、基本データ長ｍ、および基本符号長ｎが同じであるが、最大拘束長ｒが３から４と大きい。これは即ち、テーブルの最大サイズが大きくなっていることを示し、例えば復調時にビットシフトエラーが発生したとき、エラー伝搬が増加する可能性があることを示す。エラー伝搬は少ない方がよいのは言うまでもない。
【発明の開示】
【発明が解決しようとする課題】
【００５０】
以上のように、磁気ディスクや光磁気ディスク、光ディスク等の記録媒体を高密度化し、変調符号として、最小ランｄが１以上である、最小マーク長が大きいRLL符号を選択する場合、さらに記録・再生時の歪みを少なくすることでエラーの発生を抑え、DSV制御の効率を良くすることで、より高密度記録再生に適した符号として表５や表６に基づく符号を選択したとき、最大拘束長ｒの大きな符号は、エラーが発生した後のエラー伝搬が増加することがあるという課題がある。
【００５１】
本発明はこのような状況に鑑みてなされたものであり、ビットシフトエラーが発生したとき、より簡単な構成でエラー伝搬が小さくなるようにする。
【課題を解決するための手段】
【００５２】
請求項１に記載の復調装置は、所定の変換規則に対応する復調テーブルを有し、復調テーブルの正しい符号のうちの少なくとも一部の符号の先頭の１ビットの値を無視することにより、正しい符号の変換規則に一致しない誤った符号を、復調テーブルの正しい符号と同一の復調テーブルで復調する復調手段を備えることを特徴とする。
【００５３】
請求項７に記載の復調方法は、所定の変換規則に対応する復調テーブルの正しい符号のうちの少なくとも一部の符号の先頭の１ビットの値を無視することにより、正しい符号の変換規則に一致しない誤った符号を、復調テーブルの正しい符号と同一の復調テーブルで復調する復調ステップを含むことを特徴とする。
【００５４】
請求項１に記載の復調装置および請求項７に記載の復調方法においては、所定の変換規則に対応する復調テーブルの正しい符号うちの少なくとも一部の符号の先頭の１ビットの値が無視されることにより、正しい符号の変換規則に一致しない誤った符号が、復調テーブルの正しい符号と同一の復調テーブルで復調される。
【発明の効果】
【００５５】
本発明によれば、ビットシフトエラーが発生したとき、より簡単な構成でエラー伝搬が小さくなるようにすることが可能になる。
【発明を実施するための最良の形態】
【００５８】
以下、本発明に係る復調装置の実施例を図面を参照しながら説明する。この実施例は、データ列を表５および表６に示した変換テーブルを用いて可変長符号(d,k;m,n)=(1,7;2,3)に変換した変調符号語列を復調する復調装置に適用したものである。
【００５９】
図１は、表５のテーブルに対応する復調テーブルを用いた、復調装置の一実施の形態の構成を示すブロック図である。復調装置のコンパレート部１１は、図１に示すように、伝送路より伝送されてきた信号、または、記録媒体より再生された信号を２値化する。コンパレート部１１は、チャネルビット列に変調した後に挿入された、同期信号などのデータとは関係のない部分を取り除く。
【００６０】
エラーデータ復調部１２は、２値化されたデータより、復調テーブルには存在しないが、より確からしい復調を行う復調テーブルを作成し、これに基づいた復調を行う。
【００６１】
復調部１３は、復調テーブルに基づいて復調を行う。コンパレート部１１から供給されたデータが、復調部１３の有する復調テーブルと一致した場合、復調部１３は、供給されたデータの復調を行い、出力する。また、コンパレート部１１から供給されたデータが、復調部１３の有する復調テーブルと一致しない場合、すなわちエラーの場合、エラーデータ復調部１２が、復調結果を出力する。
【００６２】
表５を用いた場合、データ列においてDSV制御ビットの１ビットを挿入した後に符号語列に変換する様な、DSV制御方法を用いることが出来るため、DSVビット取出部１４は、復調部１３から供給されたデータから、任意の間隔で挿入されているデータ列内のDSV制御ビットを取り除き、元のデータ列を出力する。
【００６３】
そしてバッファ１５は、DSVビット取出部１４から供給されたシリアルデータを一旦記憶し、所定の転送レートで読み出し、出力する。タイミング管理部１６は、タイミング信号を生成し、コンパレート部１１、エラーデータ復調部１２、復調部１３、DSVビット取出部１４、およびバッファ１５に供給し、タイミングを管理する。
【００６４】
図２は、復調部１３およびエラーデータ復調部１２の詳細な構成を示すブロック図である。図１の復調装置におけるコンパレート部１１は、NRZI変調されているデジタルデータ列（レベル符号）を、逆NRZI符号（エッジ符号）化する。エラーコード／拘束長判定部２１は、２値のデジタル信号の入力を受け、拘束長ｉを判定し、デジタルデータ列が表５の復調テーブルに存在する場合、拘束長ｉを出力し、そうでない場合、すなわちエラーのデジタルデータ列の場合は、エラーデータ復調テーブル２５を参照するような信号を出力する。
【００６５】
最小ラン連続制限コード検出部２２は、２値のデジタル信号の入力から、最小ランｄの連続を制限するために与えられた専用のコードを検出し、その情報を拘束長判定部２１に供給する。最小ラン・最大ラン補償コード検出部２３は、２値のデジタル信号の入力から、最小ランｄおよび最大ランｋを補償するために与えられた専用のコードを検出し、その情報を拘束長判定部２１に供給する。
【００６６】
エラーデータ復調コード検出部２４は、２値のデジタル信号の入力から、表５の復調テーブルに存在しない、所定の復調コードを検出し、これがあった場合、その情報をエラーデータ復調テーブル２５に供給する。
【００６７】
エラーデータ復調テーブル２５は、逆変換部２６−１乃至２６−４と同様の構造をしており、エラーデータ復調コード検出部２４の情報を基に、どのエラーデータ復調テーブルを用いるかを選択し、決定する。
【００６８】
逆変換部２６−１乃至２６−４は、ｎ×ｉビットの可変長符号を、ｍ×ｉビットのデータに復調するテーブルを有している。マルチプレクサ２７は、逆変換部２６−１乃至２６−４からのデータ、およびエラーデータ復調テーブル２５からのエラーデータを切り替え選択し、シリアルデータとして出力する。
【００６９】
ここで、エラーデータの復調について説明する。表５において、拘束長ｉ＝４の２つの要素は、先頭の１符号語は無視して復調を行っても、他と間違えることはない。つまり、符号語列の、”０００−１００−１００−１００”（第１項）および”１００−１００−１００−１００”（第２項）並びに、”０１０−１００−１００−１００”（第１項）および”１１０−１００−１００−１００”（第２項）の、それぞれの符号語列の第１項は表５に存在するが、第２項は表５に存在せず、エラーである。しかし、これらの第２項を第１項と同じとみなして、”Ｘ００−１００−１００−１００” を（００００１０００）と復調し、”Ｘ１０−１００−１００−１００”を（００００００００）と復調しても（”Ｘ”を任意の１符号語とする）、符号語にエラーがないときは正しく復調が可能であり、またさらに、符号語にエラーがあった場合、よりエラーの少ない復調結果の選択が可能になる。
【００７０】
同様に、拘束長ｉが４以外の３、または２のときについても、全ての要素において、先頭の１符号語は無視してもよく、その場合でも、符号語にエラーがない時は正しく復調し、またさらに、符号語にエラーがあった場合、よりエラーの少ない復調結果の選択が可能になる。
【００７１】
さらに拘束長ｉが１のときについては、３つの要素のうち、”０１０”と”１１０”のみが先頭の１符号語を無視してもよく、”Ｘ１０”を（０１）と書くことができる。
【００７２】
上記に基づいて表５の復調テーブルを作成すると、下の表１０のように表すことができ、エラーコード／拘束長判定部２１、最小ラン連続制限コード検出部２２、最小ラン・最大ラン補償コード検出部２３、およびエラーデータ復調コード検出部２４の処理は、図３のように表すことができる。
【００７３】
最小ラン・最大ラン補償コード検出部２３は、入力された符号語列が”Ｘ００−１００−１００−１００”または”Ｘ１０−１００−１００−１００”であると判定したとき、エラーコード／拘束長判定部２１に拘束長ｉが４であることを示す信号を出力し、入力された符号語列が”Ｘ００−１００−１００−１００”および”Ｘ１０−１００−１００−１００”でないと判定したとき、エラーコード／拘束長判定部２１に拘束長ｉが４以外であることを示す信号を出力する。最小ラン連続制限コード検出部２２は、入力された符号語列が”Ｘ０１−０００−０００−（ｎｏｔ１００）”であると判定したとき、エラーコード／拘束長判定部２１に拘束長ｉが３であることを示す信号を出力し、入力された符号語列が”Ｘ０１−０００−０００−（ｎｏｔ１００）”でないと判定したとき、エラーコード／拘束長判定部２１に拘束長ｉが３と判定しなかったことを示す信号を出力する。
【００７４】
エラーコード／拘束長判定部２１は、入力された符号語列が”Ｘ００−１００−１００”、”Ｘ００−１００−０００−（ｎｏｔ１００）”、”Ｘ１０−１００−１００”、または”Ｘ１０−１００−０００−（ｎｏｔ１００）”であると判定したとき、拘束長ｉが３であることを示す信号を出力し、入力された符号語列が”Ｘ００−１００−１００”、”Ｘ００−１００−０００−（ｎｏｔ１００）”、”Ｘ１０−１００−１００”、および”Ｘ１０−１００−０００−（ｎｏｔ１００）”でないと判定したとき、入力された符号語列が”Ｘ１０−１００”、”Ｘ１０−０００−（ｎｏｔ１００）”、または”Ｘ００−１００”であるか否かを判定する。エラーコード／拘束長判定部２１は、入力された符号語列が”Ｘ１０−１００”、”Ｘ１０−０００−（ｎｏｔ１００）”、または”Ｘ００−１００”であると判定したとき、拘束長ｉが２であることを示す信号を出力し、入力された符号語列が”Ｘ１０−１００”、”Ｘ１０−０００−（ｎｏｔ１００）”、および”Ｘ００−１００”でないと判定したとき、入力された符号語列が”０００”、”１０１”、”００１”、または”Ｘ１０”であるか否かを判定する。エラーコード／拘束長判定部２１は、入力された符号語列が”０００”、”１０１”、”００１”、または”Ｘ１０”であると判定したとき、拘束長ｉが１であることを示す信号を出力し、入力された符号語列が”０００”、”１０１”、”００１”、および”Ｘ１０”でないと判定したとき、エラーを出力する。
【００７５】
＜表１０＞
復調テーブル(1,7;2,3;4)
符号  復調データ
i=1 101    11
000    11
001    10
x10    01
i=2 x10 100   0011
x10 000(not 100)  0010
x00 100   0001
i=3 x00 100 100   000011
x00 100 000(not 100) 000010
x10 100 100   000001
x10 100 000(not 100) 000000
i=3 : Prohibit Repeated Minimum Transition Runlength
x01 000 000(not 100) 110111
i=4 : limits k to 7
x00 100 100 100   00001000
x10 100 100 100   00000000
(x: 0 or 1)
【００７６】
上の表１０に従った場合、図２の逆変換部２６−１乃至２６−４に表１０を与え、またエラーコード／拘束長判定部２１にも表１０を与えることで、実質的に、図２に示したエラーデータ復調テーブル２５およびエラーデータ復調コード検出部２４は不要となる。すなわち、図１で言えば、復調部１３およびエラーデータ復調部１２が統合されて一つとなった構成とすることが出来る。
【００７７】
ところで表５に対応する、エラーを含めた復調を行わない、従来の復調テーブルは、以下の表１１の通りである。
【００７８】
＜表１１＞
復調テーブル(1,7;2,3;4)
符号  復調データ
i=1 101    11
000    11
001    10
010    01
i=2 010 100   0011
010 000(not 100)  0010
000 100   0001
i=3 000 100 100   000011
000 100 000(not 100) 000010
010 100 100   000001
010 100 000(not 100) 000000
i=3 : Prohibit Repeated Minimum Transition Runlength
001 000 000(not 100) 110111
i=4 : limits k to 7
000 100 100 100   00001000
010 100 100 100   00000000
【００７９】
従来の処理を示す表１１に従った場合、図２の逆変換部２６−１乃至２６−４は、表１１が与えられ、またエラーコード／拘束長判定部２１にも表１１が与えられる。すると、図２中のエラーデータ復調テーブル２５およびエラーデータ復調コード検出部２４が必要となる。
【００８０】
図４は、表１１に基づいて、復調部１３とエラーデータ復調部１２を区別し、図３に示した処理の詳細を、図２に対応するように書き換えたものである。図４は、図２の各部の動作に対応している。
【００８１】
エラーデータ復調コード検出部２４は、入力された符号語列が”１００−１００−１００−１００”、”１１０−１００−１００−１００”、”１０１−０００−０００−（ｎｏｔ１００）”、”１００−１００−１００−（ｎｏｔ１００）”、”１００−１００−０００−（ｎｏｔ１００）”、”１１０−１００−１００−（ｎｏｔ１００）”、”１１０−１００−０００−（ｎｏｔ１００）”、”１１０−１００−（ｎｏｔ１００）”、”１１０−０００−（ｎｏｔ１００）”、”１００−１００−（ｎｏｔ１００）”、または”１１０−（ｎｏｔ１００）”であると判定したとき、エラーデータ復調テーブル２５において、それぞれ対応した復調データが出力されるように、所定の信号を送る。上記以外の時は復調不可能エラーとなり、エラーデータ復調テーブル２５は、エラーのための所定の値を出力する。そして、エラーデータ復調テーブル２５からのマルチプレクサ２７への出力は、エラーコード／拘束長判定部２１より、エラーコードとしての出力をマルチプレクサ２７に与えた時に用いられる。エラーコード／拘束長判定部２１にエラーコードを出力し、入力された符号語列が”１００−１００−１００−１００”、”１１０−１００−１００−１００”、”１０１−０００−０００−（ｎｏｔ１００）”、”１００−１００−１００−（ｎｏｔ１００）”、”１１０−１００−１００−（ｎｏｔ１００）”、”１１０−１００−０００−（ｎｏｔ１００）”、”１１０−１００−（ｎｏｔ１００）”、”１１０−０００−（ｎｏｔ１００）”、”１００−１００−（ｎｏｔ１００）”、および”１１０−（ｎｏｔ１００）”でないと判定したとき、エラーコード／拘束長判定部２１にエラーでないことを示す所定のコードを出力する。
【００８２】
最小ラン・最大ラン補償コード検出部２３は、入力された符号語列が”０００−１００−１００−１００”または”０１０−１００−１００−１００”であると判定したとき、エラーコード／拘束長判定部２１に拘束長ｉが４であることを示す信号を出力し、入力された符号語列が”０００−１００−１００−１００”および”０１０−１００−１００−１００”でないと判定したとき、エラーコード／拘束長判定部２１に拘束長ｉが４以外であることを示す信号を出力する。最小ラン連続制限コード検出部２２は、入力された符号語列が”００１−０００−０００−（ｎｏｔ１００）”であると判定したとき、エラーコード／拘束長判定部２１に拘束長ｉが３であることを示す信号を出力し、入力された符号語列が”００１−０００−０００−（ｎｏｔ１００）”でないと判定したとき、エラーコード／拘束長判定部２１に拘束長ｉが３と判定しなかったことを示す信号を出力する。
【００８３】
エラーコード／拘束長判定部２１は、入力された符号語列が”０００−１００−１００”、”０００−１００−０００−（ｎｏｔ１００）”、”０１０−１００−１００”、または”０１０−１００−０００−（ｎｏｔ１００）”であると判定したとき、拘束長ｉが３であることを示す信号を出力し、入力された符号語列が”０００−１００−１００”、”０００−１００−０００−（ｎｏｔ１００）”、”０１０−１００−１００”、および”０１０−１００−０００−（ｎｏｔ１００）”でないと判定したとき、入力された符号語列が”０１０−１００”、”０１０−０００−（ｎｏｔ１００）”、または”０００−１００”であるか否かを判定する。エラーコード／拘束長判定部２１は、入力された符号語列が”０１０−１００”、”０１０−０００−（ｎｏｔ１００）”、または”０００−１００”であると判定したとき、拘束長ｉが２であることを示す信号を出力し、入力された符号語列が”０１０−１００”、”０１０−０００−（ｎｏｔ１００）”、および”０００−１００”でないと判定したとき、入力された符号語列が”０００”、”１０１”、”００１”、または”０１０”であるか否かを判定する。エラーコード／拘束長判定部２１は、入力された符号語列が”０００”、”１０１”、”００１”、または”０１０”であると判定したとき、拘束長ｉが１であることを示す信号を出力し、入力された符号語列が”０００”、”１０１”、”００１”、および”０１０”でないと判定したとき、エラーを出力する。
【００８４】
図３および図４は、本発明における第１のシフトエラー減少の具体的な手法を示している。このように、本発明における第１のシフトエラー発生時の、復調エラー伝搬減少の手法が示された。
【００８５】
次に、本発明における第２のシフトエラー発生時の、復調エラー伝搬を減少させる手法を説明する。第１と第２のシフトエラー減少の手法は独立であり、どちらか片方だけの構成としても良い。ここでは、第１と第２の両方のシフトエラー減少の手法を含む例を述べる。図５および図８は、本発明における第１のシフトエラー減少の手法に加えて、第２のシフトエラー減少の手法を合わせて具体的に示したものである。
【００８６】
図５の処理は、エラーデータ復調の手法を拡大させたもので、表５においてエラーが発生したときでも、より正しく復調を行い、エラー伝搬を少なくし、かつ、エラーがない時は間違いなく復調を行えるようにした拘束長判定部２１、最小ラン連続制限コード検出部２２、最小ラン・最大ラン補償コード検出部２３、およびエラーデータ復調コード検出部２４の処理を説明するものである。
【００８７】
図５に示す処理は、拘束長ｉが２、３、または４の場合、図３の処理と同様であるが、拘束長ｉが１の場合、エラーの判定をより厳しくしている。すなわち、エラーコード／拘束長判定部２１は、入力された符号語列が”０００−ｎｏｔ（０００−＜ｎｏｔ１００＞）”、”０００−ｎｏｔ（１１０）”、”ｎｏｔ（０−０００−０１０）”、”１０１”、”００１−ｎｏｔ１００”、または”ｘ１０”であると判定したとき、拘束長ｉが１であることを示す信号を出力し、入力された符号語列が”０００−ｎｏｔ（０００−＜ｎｏｔ１００＞）”、”０００−ｎｏｔ（１１０）”、”ｎｏｔ（０−０００−０１０）”、”１０１”、”００１−ｎｏｔ１００”、および”ｘ１０”でないと判定したとき、エラーを出力する。しかし、復調時にエラーがない場合、図３に示す処理、および図５に示す処理は、同じ結果（復調結果）を出力する。さらに図５に示す処理は、拘束長ｉが１とも一致しなかった場合、さらにエラーデータ復調テーブル２５で一致するかしないかを判定する。
【００８８】
図６は、図５に示したエラーデータ復調コード検出部２４とエラーデータ復調テーブル２５の処理の詳細を説明する図である。すなわち、図６の左側に示された符号は、いずれも、表５の復調テーブルを用いた処理ではエラーとなるので、図６の右側に示されたデータに復調される。符号は、最大で１２符号語まで参照され（図６の上から１番目の符号の場合）、また、変換する符号語の、直前の１符号語が参照される（図６の下から２番目の符号の場合）。そして、復調されるデータ語は、２データ語あるいは４データ語である（それぞれ、拘束長ｉが１あるいは２に相当する）。ここでは参照する符号および復調されるデータは、表５の変換率（ｍ、ｎ）＝（２、３）の関係とは異なる。しかし復調が決定した後の、送られる（ビットが進められる）符号語は、復調データに基づき、復調データ×（ｎ／ｍ）だけとされる。
【００８９】
図６に示した処理を実行するエラーデータ復調テーブル２５は、例えばハードウエアの簡易化のために、部分的に省略しても、データの復調自体は正しく行われる。例えば、エラーデータ復調テーブル２５は、図６における上から１番目の、１２符号語を参照する部分を省略し、参照する部分を最大９符号語（上から２番目と下から３番目）に縮小してもよい。
【００９０】
図７は、エラーデータ復調コード検出部２４とエラーデータ復調テーブル２５の、他の動作を記述した図であり、図５および図６を書き換えたものに相当し、ここでは拘束長ｉが２以下の復調部として独立させた処理を説明する図である。図７に示した例では、拘束長ｉが１または拘束長ｉが２のとき、正しいデータの復調とエラーデータの復調が同じテーブル内で処理される。図７の例では、例えば３符号語”１０１”を、データ（１１）へ変換するといった正しい復調も行なわれ、さらに符号語”１００−０１０”をデータ（１１）へ変換するといったエラーデータの復調も行なわれる。図７のようにすることで、エラーデータ復調部１２の拘束長ｉが１または拘束長ｉが２に対応する部分が効率良く構成される。
【００９１】
図８は、図７に示した動作を実行する場合における、拘束長判定部２１、最小ラン連続制限コード検出部２２、最小ラン・最大ラン補償コード検出部２３、およびエラーデータ復調コード検出部２４の、他の動作を記述した図である。図８は、図５を書き換えて簡単化したものに相当する。エラーデータ復調部１２が図７の構成を有するとき、復調部１３およびエラーデータ復調部１２の処理を示したものが図８であり、そのときの復調部１３とエラーデータ復調部１２の構成を示したものが図９である。図５および図８は、同じ復調内容を示し、図６および図７は、エラーデータ復調部１２の処理の具体例を示す。
【００９２】
図９においても伝送路より供給された信号、または、記録媒体より再生された信号が２値化されたデジタルデータ列は、NRZI変調されているとき（レベル符号であるとき）、逆NRZI符号（エッジ符号）に変換されて入力される。拘束長判定部３１は、２値のデジタル信号の入力を受け、拘束長ｉを判定する。拘束長判定部３１は、拘束長ｉ＝３および拘束長ｉ＝４のとき、参照データのそれぞれ先頭の１ビットを省略して拘束長の判定を行い、拘束長ｉ＝２および拘束長ｉ＝１のとき、表５の復調テーブルである表１１に存在する、または、存在しないに関わらず、拘束長ｉを判定する。
【００９３】
エラーデータ復調コード検出部２４は、この判定結果を、拘束長判定部３１、および具体的な復調テーブルを有するエラーデータ復調テーブルを含む拘束長ｉが１または２のエラーデータ復調／逆変換部３２に出力する。拘束長判定部３１は、拘束長ｉが１または２の判定は、エラーデータ復調コード検出部２４から供給された情報を用いて行うが、拘束長ｉが３または４の判定には、エラーデータ復調コード検出部２４からの情報は特に必要としない。拘束長判定部３１の判定結果は、マルチプレクサ２７に供給される。
【００９４】
また最小ラン連続制限コード検出部２２は、２値のデジタル信号の入力から、最小ランｄの連続を制限するために与えられた専用のコードを検出し、その情報を拘束長判定部３１に供給する。さらに最小ラン・最大ラン補償コード検出部２３は、２値のデジタル信号の入力から、最小ランｄおよび最大ランｋを補償するために与えられた専用のコードを検出し、その情報を拘束長判定部３１に送る。
【００９５】
エラーデータ復調／逆変換部３２は、ｎ×ｉビットの符号語を、ｍ×ｉビットのデータに逆変換するテーブルを有する。逆変換部２６−３乃至２６−４は、ｎ×ｉビットの可変長符号を、ｍ×ｉビットのデータに復調するテーブルを有している。マルチプレクサ２７は、拘束長判定部３１から供給された情報に基づいて、逆変換部２６−３，２６−４、またはエラーデータ復調／逆変換部３２の出力のいずれかを選択し、シリアルデータとして出力する。
【００９６】
次に図９に示した復調部１３およびエラーデータ復調部１２の動作を説明する。
【００９７】
伝送路より伝送されてきた信号、または記録媒体より再生された信号は、波形等化等の処理が施され、図１のコンパレート部１１に入力され、コンパレートされる。
【００９８】
コンパレート部１１はその信号を、逆NRZI符号（”１”がエッジを示す符号）のデジタル信号に変換し、拘束長判定部３１に入力する。そこで拘束長の判定処理が実行され、判定結果（拘束長）がマルチプレクサ２７に出力される。拘束長判定部３１は、例えば、図８に示すような、表５に対応する逆変換テーブル（復調テーブル）を有する。
【００９９】
コンパレート部１１のデジタル信号出力は、最小ラン連続制限データ検出部２２にも入力され、最小ランdの連続を制限するために与えられた専用のパターンが検出され、その検出結果は拘束長判定部３１に出力される。最小ラン連続制限データ検出部２２は、表５に示す、変換テーブルのうちの最小ランｄの連続を制限する置き換えコード（表５の場合、符号語”００１ ０００ ０００”を変換する部分および、”１０１ ０００ ０００”を含めて”ｘ０１ ０００ ０００”とする）を内蔵しており、この復調テーブルを参照して、最小ランｄの連続を制限するコードを検出し、所定の検出信号を拘束長判定部３１に出力する。
【０１００】
また、コンパレート部１１のデジタル信号出力は、最小ラン・最大ラン補償コード検出部２３にも入力され、最小ランdおよび最大ランkを補償するために与えられた専用のパターンが検出され、その検出結果が拘束長判定部３１に出力される。最小ラン・最大ラン補償コード検出部２３は、表５に示す変換テーブルの中では、最大ランｋを守る置き換えコード（表５の場合、符号語列”ｘ００ １００ １００ １００”あるいは”ｘ１０ １００ １００ １００”）を内蔵しており、この復調テーブルを参照して、最大ランｋを守る置き換えコードを検出し、所定の検出信号を拘束長判定部３１に出力する。
【０１０１】
さらに、コンパレート部１１のデジタル信号出力は、エラーデータ復調コード検出部２４にも入力され、エラーが発生しても復調可能な、あるいはエラー伝搬を減少させるような、所定のコードが検出され、その検出結果が拘束長判定部３１およびエラーデータ復調／逆変換部３２に出力される。エラーデータ復調コード検出部２４は、例えば図８で示す、４段目である拘束長ｉが１または２のときの（すなわち図７の処理を実行する）決定部分を内蔵し、この復調テーブルを参照して判定し、所定の検出信号を拘束長判定部３１およびエラーデータ復調／逆変換部３２に出力する。
【０１０２】
最小ラン・最大ラン補償コード検出部２３は、表５に示すテーブルの、”ｘ００−１００−１００−１００”または”ｘ１０−１００−１００−１００”の復調テーブルを有し、入力された符号語列１２ビットが、これと一致する場合、拘束長ｉ＝４を検出信号として拘束長判定部３１に出力する。
【０１０３】
最小ラン連続制限コード検出部２２は、表５に示すテーブルの、”ｘ０１−０００−０００”の復調テーブル分を有し、入力された符号語列１２ビットが、”ｘ０１−０００−０００−(not１００)”と一致する場合、拘束長ｉ＝３を検出信号として拘束長判定部３１に出力する。
【０１０４】
また、拘束長判定部３１は、表５に示す復調テーブルを内蔵しており、入力された符号語列の９ビットまたは１２ビットが、”ｘ００−１００−１００”、”ｘ００−１００−０００−(not１００)”、”ｘ１０−１００−１００”、または”ｘ１０−１００−０００−(not１００)”のいずれかに一致するとき、拘束長ｉ＝３と判定する。
【０１０５】
これに当てはまらない場合、拘束長判定部３１は、表１２に示すように、入力された符号語列のうち最大１２ビットまでを参照し、それぞれ拘束長を判定していく。
【０１０６】
＜表１２＞
符号                            拘束長
”１０１”                           １
”１００−０００−０００−１００”   ２
”１００−０００−(not１００）”     ２
”１００−(else)”                   １
”０１１−００１”                   １
”０１１−(else)”                   １
”ｘ１０−１００”                   ２
”ｘ１０−０００−(not１００）”     ２
”ｘ１０−(not０００、１００）”     １
”０００−０００−(not１００）”     ２
”ｘ００−１００”                   ２
”pre０−０００−０１０”            １
”０００−１１０”                   １
”０００−(else)”                   １
【０１０７】
エラーデータ復調／逆変換部３２は、図７のような復調テーブルを有し、拘束長ｉが１または２のデータの全てを変換する。一方、図８に示す処理は、図５に示す処理と同様である。図５に示す処理は、図２に示したエラーデータ復調部１２および復調部１３を用いる。
【０１０８】
図５は、エラーコード／拘束長判定部２１、最小ラン連続制限コード検出部２２、最小ラン・最大ラン補償コード検出部２３、およびエラーデータ復調コード検出部２４の動作の、表５おける具体例を説明している。
【０１０９】
最小ラン・最大ラン補償コード検出部２３は、表５に示すテーブルの、”ｘ００−１００−１００−１００”または”ｘ１０−１００−１００−１００”の復調部分を有し、入力された符号語列１２ビットが、これと一致するとき、拘束長ｉ＝４を検出信号として拘束長判定部２１に出力する。
【０１１０】
最小ラン連続制限コード検出部２２は、表５に示すテーブルの、”ｘ０１−０００−０００”の復調部分を有し、入力された符号語列１２ビットが、”ｘ０１−０００−０００−(not１００)”と一致するとき、拘束長ｉ＝３を検出信号として拘束長判定部２１に出力する。
【０１１１】
また拘束長判定部３１は、表５に示す復調テーブルを内蔵しており、入力された符号語列の９ビットまたは１２ビットが、”ｘ００−１００−１００”、”ｘ００−１００−０００−(not１００)”、”ｘ１０−１００−１００”、または”ｘ１０−１００−０００−(not１００)”のいずれかに一致するとき、拘束長ｉ＝３と判定する。
【０１１２】
これに当てはまらない場合、拘束長判定部３１は、入力された符号語列の６ビットまたは９ビットが、”ｘ１０−１００”、”ｘ１０−０００−(not１００)”、あるいは”ｘ００−１００”のいずれかに一致するとき、拘束長ｉ＝２と判定する。さらにこれに当てはまらない場合、拘束長判定部３１は、入力された符号語列の３ビットが、”０００−(not000−(not100))”、”０００−(not110)”、not(pre"0"−"000−010")、”１０１”、”００１−(not100)”、または”ｘ１０”のいずれかに一致するとき、拘束長ｉ＝１と判定する。
【０１１３】
そして以上の判定に当てはまらない場合、拘束長判定部３１は、エラーと判定し、マルチプレクサ２７に信号を送り、また、エラーデータ復調コード検出部２４の入力された符号語列が、”１００−０００−０００−１００”、”１００−０００−(not100)”、”１００−(else)"、”０１１−００１”、”０１１−(else)"、”００１−１００”、”０００−０００−(not100)”、”pre0−０００−０１０”、または”０００−１１０”のいずれかに一致するとき、エラーデータとしてそれぞれに対応する検出信号をエラーデータ復調テーブル２５に出力する。エラーデータ復調コード検出部２４での、それぞれの拘束長ｉは、図６に示すとおりである。
【０１１４】
なお、拘束長判定部２１、最小ラン連続制限コード検出部２２、および最小ラン・最大ラン補償コード検出部２３の拘束長判定の処理は、図５および図８に示す他に、拘束長iの小さい方から順にｉ＝１、ｉ＝２、ｉ＝３、およびｉ＝４のようにしてもよく、この時も同様にして拘束長が判定される。
【０１１５】
ところで、拘束長の小さい方から順にｉ＝１、ｉ＝２、ｉ＝３、およびｉ＝４のように判定した場合、入力された符号語列が、例えば、”０００−１００−１００−１００”であったとき、拘束長判定部２１において、拘束長ｉの小さいほうから順に一致／不一致を判定していくと、拘束長i＝１あるいは、拘束長i＝２、拘束長i＝３、そして拘束長i＝４と全ての拘束長にあてはまることになるため、拘束長から最大のものを選択する。
【０１１６】
図９に戻り、逆変換部２６−３、および２６−４は、それぞれ表１０の拘束長ｉが３または４に対応するデータが書き込まれ、供給された３×ｉビットの符号語列を２×ｉビットのデータ列に変換し、そのデータ列をマルチプレクサ２７に出力する。
【０１１７】
マルチプレクサ２７は、エラーデータ復調／逆変換部３２、および逆変換部２６−３、２６−４より供給されたデータから、拘束長判定部３１が出力する拘束長判定結果に対応するものを選択し、シリアルデータとして出力する。
【０１１８】
表１３は、図７および図８による、拘束長ｉが１または２の処理において、エラーデータ復調コード検出を含んでいるときの、表５の復調テーブルである。
【０１１９】
＜表１３＞
復調テーブル(1,7;2,3;4)
符号  復調データ
i=1,2
101                  11
(ER) 100 000 000 100      0010
(ER) 100 000(not 100)     0000
(ER) 100(else)            11
(ER) 011 001              01  
(ER) 011(else)            00
x10 100              0011
x10 000(not 100)     0010
x10(not 000,100)     01
(ER) 001 100              00
001(else)            10
(ER) 000 000(not 100)     0000
x00 100              0001
(ER) pre0 000 010         00
(ER) 000 110              10
000(else)            11
i=3  x00 100 100   000011
x00 100 000(not 100) 000010
x10 100 100   000001
x10 100 000(not 100) 000000
i=3 : Prohibit Repeated Minimum Transition Runlength
x01 000 000(not 100) 110111
i=4 : limits k to 7
x00 100 100 100   00001000
x10 100 100 100   00000000
(x: 0 or 1)
【０１２０】
以上の動作は、表５に対する復調テーブルとして具体例を示したが、これを表６に対する復調テーブルとしても同様に構成することが出来る。
【０１２１】
表１４は、エラーデータ復調部分を含んだ復調テーブルの一例を示す。表１５は、エラーデータ復調部のエラーデータに対応した復調テーブルを示す。表１６には、エラーデータ復調部分のない、従来の復調テーブルを示す。
【０１２２】
＜表１４＞
復調テーブル(1,7;2,3;4)
符号     復調データ
r=1 Main table:
101      00
100         01
001          10
000          11
(ER)    110             00  
(ER)    011             00
(ER)    010             01
r=2 substitution table A. (limits d to 1)
100 010         0000
101 01x         0001
000 010         1000
001 01x         1001
r=3 substitution table B. (limits k to 8)
000 010 010     111111    
001 010 010     111110
101 010 010     011110
100 010 010     011111
(ER)    010 010 010     010001
r=4 substitution table C. (limits RMTR to 6)
100 010 010 010 00010001  
100 000 010 010 10010001  
000 010 010 010 10010001  
r=4 substitution table D. (limits k to 7)
000 001 010 010 11100000  
100 001 010 010 11100010  
001 010 010 010 11100001  
101 010 010 010 11100000  
(ER)    110 010 010 010 11100000
(ER)    011 010 010 010 11100000
【０１２３】
＜表１５＞
エラーデータ復調部の復調テーブル(1,7;2,3;4)
符号     復調データ
i=1     110             00  
011             00
010             01
i=2 101 011         0001
001 011         1001
i=3     010 010 010     010001
r=4     110 010 010 010 11100000
011 010 010 010 11100000
【０１２４】
＜表１６＞
復調テーブル(1,7;2,3;4)
符号     復調データ
r=1 Main table:
101      00
100         01
001          10
000          11
r=2 substitution table A. (limits d to 1)
100 010         0000
101 010         0001
000 010         1000
001 010         1001
r=3 substitution table B. (limits k to 8)
000 010 010     111111    
001 010 010     111110
101 010 010     011110
100 010 010     011111
r=4 substitution table C. (limits RMTR to 6)
100 010 010 010 00010001  
100 000 010 010 10010001  
000 010 010 010 10010001  
r=4 substitution table D. (limits k to 7)
000 001 010 010 11100000  
100 001 010 010 11100010  
001 010 010 010 11100001  
【０１２５】
図１０は、復調装置全体の、ビタビ復号やRun-detector、およびランエラー補正等のエラーを減少させる手段を用いる場合の、他の実施の形態の構成を示すブロック図である。図１０に示すように、復調部１３の前段にデータ検出補正部４１を設け、データ検出補正部４１においてビタビ復号等を行えばよい。
【０１２６】
図１１は、図１０中のデータ検出補正部４１、復調部１３、およびエラーデータ復調部１２の詳細な構成を示すブロック図である。データ検出補正部４１は、図１１に示すように、復調部１３およびエラーデータ復調部１２と、直列に接続される。復調部１３およびエラーデータ復調部１２の動作は、前述と同様である。
【０１２７】
本発明における効果を確認するシミュレーションの結果を示す。シミュレーションの手順は、まず、表５にもとづいて、Ｔminの連続を制限し、かつデータ列内においてDSV制御ビットを挿入したデータ列を変調した符号語列を作成する。次に、この符号語列より任意の位置にシフトエラーを前方向および後ろ方向に発生させる。そして、エラーを含んだ符号語列を、本方式を用いた場合とそうでない場合の２通りで復調し、比較する。復調結果は、一箇所のエラー発生によって何データ語までエラーが伝搬したかによって評価を行った。
【０１２８】
符号語列（チャネルビット列）は、任意に作成した１３１０７２００ビットのランダムデータを、表５の変調コードテーブルを用いて、５６データビットおきにDSV制御ビット１ビットを挿入しDSV制御を行い、発生させた。発生した符号語列は、DSV制御されていることを確認した。また平均のラン長は 3.366チャネルビットであった。さらに、最小ラン２Ｔ、および最大ラン８Ｔを確認した。そして最小ラン２Ｔの連続は、最大でも６回までであることを確認した。
【０１２９】
そして、上記のように得られたチャネルビット列より、任意の間隔でシフトエラーさせた結果は、表１７の通りである。ここでByte error（０）〜（３）は、それぞれ出現する割合で示す。
【０１３０】
＜表１７＞
ビットシフト時の復調エラー伝搬特性  その１
Shift error response
<Table.5>   <Table.5>   <Table.5>
図３の手法             無し        有り        有り
図５（図８）の手法     無し        無し        有り
worst case           3 Bytes     3 Bytes     3 Bytes
(dc bit)                 in.         in.         in.
Byte error(0)        0.0282      0.0282      0.1313
Byte error(1)        0.7472      0.7768      0.6795
Byte error(2)        0.2238      0.1944      0.1887
Byte error(3)        0.0006      0.0003      0.0003
Average -
Byte error rate      1.1968 Byte 1.1668 Byte 1.0581Byte
(Average)
bit error rate      3.1320 bit  2.8496 bit  2.6148bit
【０１３１】
表１７の結果により、本発明によるエラーデータ復調の２つの手法は、大きなByte-errorの発生を減少させ、すなわちビットシフト時のエラー補正を有効に行うことが確認された。また、平均エラー伝搬においても、バイトエラー（８データ単位に区切った時のエラー）およびビットエラーの両方において、伝搬値が少なくなることが確認された。
【０１３２】
なお、表５の最悪エラー伝搬は、３バイトであり、これは、例えば、同じ最大ランｄ＝１の符号である、表１の従来ＲＬＬ（１、７）符号では２バイトである。また、表３でも最大は２バイトである。しかしながら、シミュレーションの結果に示されるように、表５における、実際の３バイトのエラー伝搬の発生は、１０００分の１以下であり、非常に小さい。
【０１３３】
そして、図１０および図１１にあるような実施例として、ランエラー補正を与えた後に本発明を適用した場合の結果は、表１８の通りであり、最も良好な結果を得た。なお、比較のために、表１７のランエラー補正無しの結果も再度、示している。
【０１３４】
＜表１８＞
ビットシフト時の復調エラー伝搬特性  その２
Shift error response
<Table.5>   <Table.5>   <Table.5>
図３の手法             無し        有り        有り
図５（図８）の手法     無し        有り        有り
ランエラー補正         無し        無し        有り
worst case           3 Bytes     3 Bytes     3 Bytes
(dc bit)                 in.         in.         in.
Byte error(0)        0.0282      0.1313      0.1739
Byte error(1)        0.7472      0.6795      0.6403
Byte error(2)        0.2238      0.1687      0.1854
Byte error(3)        0.0006      0.0003      0.0003
Average -
Byte error rate      1.1968 Byte 1.0581 Byte 1.0121Byte
(Average)
bit error rate      3.1320 bit  2.6148 bit  2.5382bit
【０１３５】
さらに、上記エラーレートの結果の数値は、DSVビットの１ビットを、含んだまま（すなわち、図１の復調装置のブロック図の変調部１３が出力する値を言う）であり、実際のデータ列であるためには、さらにDSVビットの１ビットを取り出す必要がある。従って、データ列でいうエラー伝搬特性はこれよりも多少変動する。一般にはエラー伝搬平均値は、上記結果よりも良好になる。いずれにしても、本発明を適用した結果、エラーは減少し、平均エラー伝搬も良好になった。
【０１３６】
また、同様に図１０および図１１の実施例である、ランエラー補正を直前で行った場合の結果は、表１９に示され、表１７および表１８のいずれよりも良いものとなった。
【０１３７】
＜表１９＞
ビットシフト時の復調エラー伝搬特性  その３
<Table.5>   <Table.5>   <Table.5>   <Table.5>
図３の手法             無し        有り        有り        有り
図５（図８）の手法     無し        無し        有り        有り
ランエラー補正         無し        無し        無し        有り
(dc bit)                out.        out.        out.        out.
Byte error(0)        0.0302      0.0389      0.1361      0.1776
Byte error(1)        0.7921      0.8032      0.7094      0.6721
Byte error(2)        0.1770      0.1575      0.1541      0.1498
Byte error(3)        0.0005      0.0003      0.0002      0.0002
Average -
Byte error rate      1.1479 Byte 1.1191 Byte 1.0184 Byte 0.9726 Byte
(Average)
bit error rate      2.8505 bit  2.6110 bit  2.3986 bit  2.3268 bit
【０１３８】
以上のように、本発明の復調装置は、最小ランｄが１以上のRLL符号列である、表５のような符号において、エラーが含まれていても、他と間違いがないようにして復調することによって、ビットシフトによる復調エラーを減らすことができ、また平均エラーレートを良好にすることができる。
【０１３９】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものとする。
【０１４０】
なお、上記したような処理を行うコンピュータプログラムをユーザに提供する提供媒体としては、磁気ディスク、CD-ROM、固体メモリなどの記録媒体の他、ネットワーク、衛星などの通信媒体を利用することができる。
【図面の簡単な説明】
【０１４１】
【図１】復調装置の一実施の形態の構成を示すブロック図である。
【図２】復調部１３およびエラーデータ復調部１２の詳細な構成を示すブロック図である。
【図３】エラーコード／拘束長判定部２１、最小ラン連続制限コード検出部２２、最小ラン・最大ラン補償コード検出部２３、およびエラーデータ復調コード検出部２４の処理を説明する図である。
【図４】エラーコード／拘束長判定部２１、最小ラン連続制限コード検出部２２、最小ラン・最大ラン補償コード検出部２３、およびエラーデータ復調コード検出部２４の処理を説明する図である。
【図５】エラーコード／拘束長判定部２１、最小ラン連続制限コード検出部２２、最小ラン・最大ラン補償コード検出部２３、およびエラーデータ復調コード検出部２４の処理を説明する図である。
【図６】エラーデータ復調コード検出部２４の動作の詳細を説明する図である。
【図７】エラーデータ復調コード検出部２４の、他の動作を説明する図である。
【図８】拘束長判定部３１、最小ラン連続制限コード検出部２２、最小ラン・最大ラン補償コード検出部２３、およびエラーデータ復調コード検出部２４の処理を説明する図である。
【図９】復調部１３およびエラーデータ復調部１２の他の詳細な構成を示すブロック図である。
【図１０】ランエラー補正等のエラーを減少させる手段を用いる場合の、復調装置の実施の形態の構成を示すブロック図である。
【図１１】データ検出補正部４１、復調部１３、およびエラーデータ復調部１２の詳細な構成を示すブロック図である。
【符号の説明】
【０１４２】
１１  コンパレート部，  １２  エラーデータ復調部，  １３  復調部，  １４  DSVビット取出部，  １５  バッファ，  １６  タイミング管理部，  ２１  エラーコード／拘束長判定部、  ２２  最小ラン連続制限コード検出部、  ２３  最小ラン・最大ラン補償コード検出部，  ２５  エラーデータ復調テーブル，  ２６−１乃至２６−４  逆変換部，  ３１  拘束長判定部，  ３２  エラーデータ復調／逆変換部
【図１】
0004428414.tif 000002
【図２】
0004428414.tif 000003
【図３】
0004428414.tif 000004
【図４】
0004428414.tif 000005
【図５】
0004428414.tif 000006
【図６】
0004428414.tif 000007
【図７】
0004428414.tif 000008
【図８】
0004428414.tif 000009
【図９】
0004428414.tif 000010
【図１０】
0004428414.tif 000011
【図１１】
0004428414.tif 000012