(57)【特許請求の範囲】
【請求項１】
基本データ長がｍビットのデータを、変換テーブルに基づいて、基本符号長がｎビットの可変長符号（ｄ，ｋ；ｍ，ｎ；ｒ）に変換する変調装置において、
データ列に第１のＤＳＶ制御ビットを挿入した第１のデータ列と、第２のＤＳＶ制御ビットを挿入した第２のデータ列を生成するＤＳＶ制御ビット挿入手段と、
最小ランｄが１とされ、かつ、データ列の要素内の”１”の個数と、変換される符号語列の要素内の”１”の個数を、２で割った時の余りが、どちらも１あるいは０で一致するような変換テーブルを用いて、前記第１のデータ列と第２のデータ列の両方を変調する変調手段と、
前記変換テーブルを用いて変調された前記第１のデータ列の第１の区間ＤＳＶと第２のデータ列の第２の区間ＤＳＶを計算し、それらをそれまでの累積ＤＳＶと加算した値から、前記変換テーブルを用いて変調された前記第１のデータ列と第２のデータ列の一方を選択して出力するＤＳＶ計算手段と
を備えることを特徴とする変調装置。
【請求項２】
前記第１のＤＳＶ制御ビットは、”１”であり、前記第２のＤＳＶ制御ビットは、”０”である
ことを特徴とする請求項１に記載の変調装置。
【請求項３】
前記ＤＳＶ計算手段は、直前の累積ＤＳＶの計算の範囲を、所定の区間の境界部と、その境界部から前記変換テーブルで規定されている最大拘束長ビットまでさかのぼった位置の間の範囲の中の所定の第１の位置までとする
ことを特徴とする請求項１に記載の変調装置。
【請求項４】
前記ＤＳＶ計算手段は、累積ＤＳＶの次の所定の区間の区間ＤＳＶの計算の範囲を、前記所定の第１の位置の次のビットから、次の区間の境界部と、その境界部から前記変換テーブルで規定されている最大拘束長ビットまでさかのぼった位置の間の範囲の中の所定の第２の位置までとする
ことを特徴とする請求項３に記載の変調装置。
【請求項５】
前記ＤＳＶ計算手段は、それまでの累積ＤＳＶ値と前記第１の区間ＤＳＶを加算した値の絶対値と、それまでの累積ＤＳＶ値と前記第２の区間ＤＳＶを加算した値の絶対値を比較し、その小さい方に対応するデータ列を選択し、出力する
ことを特徴とする請求項１に記載の変調装置。
【請求項６】
前記ＤＳＶ計算手段は、選択する出力が決定したとき、決定した方に対応する累積ＤＳＶを新たな累積ＤＳＶとする
ことを特徴とする請求項５に記載の変調装置。
【請求項７】
基本データ長がｍビットのデータを、変換テーブルに基づいて、基本符号長がｎビットの可変長符号（ｄ，ｋ；ｍ，ｎ；ｒ）に変換する変調方法において、
データ列に第１のＤＳＶ制御ビットを挿入した第１のデータ列と、第２のＤＳＶ制御ビットを挿入した第２のデータ列を生成するＤＳＶ制御ビット挿入ステップと、
最小ランｄが１とされ、かつ、データ列の要素内の”１”の個数と、変換される符号語列の要素内の”１”の個数を、２で割った時の余りが、どちらも１あるいは０で一致するような変換テーブルを用いて、前記第１のデータ列と第２のデータ列の両方を変調する変調ステップと、
前記変換テーブルを用いて変調された前記第１のデータ列の第１の区間ＤＳＶと第２のデータ列の第２の区間ＤＳＶを計算し、それらをそれまでの累積ＤＳＶと加算した値から、前記変換テーブルを用いて変調された前記第１のデータ列と第２のデータ列の一方を選択して出力するＤＳＶ計算ステップと
を備えることを特徴とする変調方法。
【請求項８】
基本データ長がｍビットのデータを、変換テーブルに基づいて、基本符号長がｎビットの可変長符号（ｄ，ｋ；ｍ，ｎ；ｒ）に変換する変調方法であって、
データ列に第１のＤＳＶ制御ビットを挿入した第１のデータ列と、第２のＤＳＶ制御ビットを挿入した第２のデータ列を生成するＤＳＶ制御ビット挿入ステップと、
最小ランｄが１とされ、かつ、データ列の要素内の”１”の個数と、変換される符号語列の要素内の”１”の個数を、２で割った時の余りが、どちらも１あるいは０で一致するような変換テーブルを用いて、前記第１のデータ列と第２のデータ列の両方を変調する変調ステップと、
前記変換テーブルを用いて変調された前記第１のデータ列の第１の区間ＤＳＶと第２のデータ列の第２の区間ＤＳＶを計算し、それらをそれまでの累積ＤＳＶと加算した値から、前記変換テーブルを用いて変調された前記第１のデータ列と第２のデータ列の一方を選択して出力するＤＳＶ計算ステップと
を含む前記変調方法によって変換されたデータ列が記録されている記録媒体。
【請求項９】
前記第１のＤＳＶ制御ビットは、”１”であり、前記第２のＤＳＶ制御ビットは、”０”である
ことを特徴とする請求項８に記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、変調装置および方法、並びに記録媒体に関し、特にデータ伝送や記録媒体への記録に適するように、効率よくＤＳＶ制御を行いながらデータを変調する変調装置および方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
データを所定の伝送路に伝送したり、または例えば磁気ディスク、光ディスク、光磁気ディスク等の記録媒体に記録する際、伝送や記録に適するようにデータの変調が行われる。このような変調方法の１つとして、ブロック符号が知られている。このブロック符号は、データ列をｍ×ｉビットからなる単位（以下データ語という）にブロック化し、このデータ語を適当な符号則に従ってｎ×ｉビットからなる符号語に変換するものである。そしてこの符号は、ｉ＝１のときには固定長符号となり、またｉが複数個選べるとき、すなわち１乃至ｉmax（最大のｉ）の範囲の所定のｉを選択して変換したときには可変長符号となる。このブロック符号化された符号は可変長符号（ｄ，ｋ；ｍ，ｎ；ｒ）と表される。
【０００３】
ここでｉは拘束長と称され、ｉmaxはｒ（最大拘束長）となる。またｄは、連続する”１”の間に入る、”０”の最小連続個数、例えば０の最小ランを示し、ｋは連続する”１”の間に入る、”０”の最大連続個数、例えば０の最大ランを示している。
【０００４】
ところで上述のようにして得られる可変長符号を、例えば光ディスクや光磁気ディスク等に記録する場合、コンパクトディスクやミニディスク等では可変長符号に対して、”１”を反転し、”０”を無反転する、ＮＲＺＩ(Non Return to Zero Inverted)変調を行い、ＮＲＺＩ変調化された可変長符号（以下記録波形列という）に基づき記録を行っている。また他にも、ＩＳＯ規格の光磁気ディスクのように、記録変調したビット列を、ＮＲＺＩ変調を行なわずにそのまま記録を行なうシステムもある。
【０００５】
記録波形列の最小反転間隔をＴminとし、最大反転間隔をＴmaxとするとき、線速方向に高密度記録を行うためには、最小反転間隔Ｔminは長い方が、すなわち最小ランｄは大きい方が良く、またクロックの再生の面からは、最大反転間隔Ｔmaxは短いほうが、すなわち最大ランｋは小さい方が望ましく、種々の変調方法が提案されている。
【０００６】
具体的には、例えば光ディスク、磁気ディスク、又は光磁気ディスク等において提案されている変調方式として、可変長ＲＬＬ（１−７）、固定長ＲＬＬ（１−７）、そして可変長であるＲＬＬ（２−７）などがある。
【０００７】
可変長ＲＬＬ（１−７）符号の変換テーブルは例えば以下の通りである。
【０００８】
0003722180.tif 000002
【０００９】
ここで変換テーブル内の記号ｘは、次に続くチャネルビットが０であるときに１とされ、また次に続くチャネルビットが１であるときに０とされる。拘束長ｒは２である。
【００１０】
可変長ＲＬＬ（１−７）のパラメータは（１，７；２，３；２）であり、記録波形列のビット間隔をＴとすると、最小反転間隔Ｔminは２（＝１＋１）Ｔとなる。データ列のビット間隔をＴdataとすると、最小反転間隔Ｔminは１．３３（＝（２／３）×２）Ｔdataとなる。また最大反転間隔Ｔmaxは８Ｔ（５．３３Ｔdata）である。さらに検出窓幅Ｔwは（ｍ／ｎ）×Ｔで表され、その値は０．６７（＝２／３）Ｔとなる。
【００１１】
ところでＲＬＬ（１−７）による変調を行ったチャネルビット列は、発生頻度としてはＴｍｉｎである２Ｔが一番多く、以下３Ｔ、４Ｔと続く。２Ｔや３Ｔのようなエッジ情報が早い周期で多く発生することは、クロック再生には有利となりうる。しかしながら２Ｔが連続し続けると、むしろ記録波形に歪みが生じ易くなってくる。すなわち２Ｔの波形出力は小さく、デフォーカスやタンジェンシャルチルトによる影響を受け易い。またさらに高線密度に記録する場合、最小マークの連続した記録はノイズ等外乱の影響を受け易く、データ再生誤りを起こし易くなる。
【００１２】
本出願人は、特願平９−２５６７４５号として、Ｔｍｉｎ（連続ラン）の連続を制限した符号を提案した。これをＲＭＬ符号（Repeated Minimum run-length Limitedcode）と呼ぶことにする。
【００１３】
可変長符号（ｄ，k；ｍ，ｎ；ｒ）を、例えば可変長符号（１，７；２，３；３）であるとするとき、すなわち０の最小ランであるｄを１ビット、０の最大ランであるｋを７ビット、基本データ長であるｍを２ビット、基本符号長であるｎを３ビット、最大拘束長であるｒを３とするとき、変換テーブルは、例えば次の表に示すような変換テーブルとされている。
【００１４】
0003722180.tif 000003
ここで、拘束長ｒは３である。
【００１５】
上記表２において、データ列が”１０”となったとき、特に、さらに次の４データを参照し、合計６データ列が”１００１１０”となったとき、これは最小ランの繰り返しを制限するコードであるとして、符号”１００００００１０”に変換することにより、表２による変調では最小ランの繰り返しは最大で５回までにすることができる。
【００１６】
こうすることによって、高線密度記録する場合におけるデータの記録を安定化することができる。
【００１７】
ところで、記録媒体への記録、または、データの伝送の際には、各媒体（伝送）に適した符号化変調が行われるが、これら変調符号に直流成分が含まれているとき、たとえばディスク装置のサーボの制御におけるトラッキングエラーなどの、各種のエラー信号に変動が生じ易くなったり、あるいはジッタが発生し易くなったりする。従って、直流成分はなるべく含まない方が良い。
【００１８】
ここで上記した、可変長ＲＬＬ（１−７）テーブル、及び、ＲＭＬ（１−７）テーブルによる変調符号は、ＤＳＶ制御が行われていない。このような場合のＤＳＶ制御は、変調後の符号化列において、所定の間隔においてＤＳＶ制御を行い、所定のＤＳＶ制御ビットを符号化列（チャネルビット列）内において挿入することで、行うことが出来る。
【００１９】
ＤＳＶ(Digital Sum Value)制御とは、チャネルビット列をＮＲＺＩ化し（すなわちレベル符号化し）、そのビット列（データのシンボル）の”１”を＋１、”０”を−１として符号を加算していったときの総和を意味する。ＤＳＶは符号列の直流成分の目安となり、ＤＳＶの絶対値を小さくることは、符号列の直流成分を抑制することを意味する。
【００２０】
この、挿入されるＤＳＶ制御ビットを、
２×（ｄ＋１）
すなわち、ｄ＝１の場合では、２×（１＋１）＝４ビットとすることができる。
このとき、任意の間隔において、最小ランおよび最大ランを守ることができ、かつ反転と非反転も可能な完全なＤＳＶ制御が行われる。
【００２１】
しかし、ＤＳＶ制御ビットは、基本的には冗長ビットである。従って符号変換の効率から考えれば、ＤＳＶ制御ビットはなるべく少ない方が良い。
【００２２】
そこで、例えば制御ビットを、
１×（ｄ＋１）
すなわち、ｄ＝１の場合では、１×（１＋１）＝２ビットとすることができる。このとき、任意の間隔において、反転と非反転が可能な完全なＤＳＶ制御が行われる。ただし、最小ランは守られるが、最大ランは大きくなり、（ｋ＋２）となる。符号としては、最小ランは必ず守る必要があるが、最大ランについてはその限りではない。場合によっては最大ランを破るパターンを同期信号に用いるフォーマットも存在する。例えば、ＤＶＤのＥＦＭプラスは、最大ランが１１Ｔだが、フォーマットの都合上１４Ｔを許している。
【００２３】
そしてさらに、これらのＤＳＶ制御方式よりも、さらに冗長度の少ない効率の良い方式として、次のテーブルが考えられる。
【００２４】
＜表３＞
RML(1,7) plus data-bit-DSV control
(d,k;m,n;r)=(1,7;2,3;4)
データ      符号
10         100
01         010
1110       000 100
1101       101 010
1111       001 010
1100       101 000
0010       000 010
0001       001 000
001110     001 001 010
001101     101 001 000
001111     101 001 010
001100     001 001 000
000010     000 101 010
000000     000 101 000
00000110   001 001 001 010
00000101   010 000 001 000
00000111   010 000 001 010
00000100   001 001 001 000
00001110   101 001 001 010
00001101   000 101 001 000
00001111   000 101 001 010
00001100   101 001 001 000
11011101   100 000 001 000
00001011   100 000 001 010
【００２５】
表３は、最小ランｄ＝１で、可変長構造を持ち、変換テーブル内に、最小ランの連続を制限する、置き換えコードを持っている。すなわち、表３はＴmin繰り返し制限コードとして、
１１０１１１０１    １００ ０００ ００１ ０００
００００１０１１    １００ ０００ ００１ ０１０
を持ち、その左側のデータを、右側の対応する符号に変換することで、最小反転間隔Ｔminの繰り返しは最大で６回までとなる。
【００２６】
表３は、さらに、データ列の要素内の”１”の個数と、変換される符号語列の要素内の”１”の個数を、２で割った時の余りが、どちらも１あるいは０で同一となるような変換規則を持っている。例えば、データ列の要素”１１１０”は”０００１００”の符号語列に対応しているが、それぞれ”１”の個数は、データ列で３個、対応する符号語列では１個であり、どちらも２で割った余りが１で一致している。同様に、データ列の要素”１１１１”は”００１０１０”の符号語列に対応しているが、それぞれ”１”の個数は、データ列で４個、対応する符号語列では２個であり、どちらも２で割った余りが０で一致している。
【００２７】
表３では、拘束長ｒ＝４である。最大ランｋ＝７を与えるためには、少なくとも拘束長ｒは４が必要である。また最小ランの繰り返しを制限するコードを付加しても拘束長は増加しない。
【００２８】
＜表４＞
RML(1,7) plus data-bit-DSV control
(d,k;m,n;r)=(1,7;2,3;4)
データ      符号
11         *0*        (Before 0 * = 1, Before 1 :* = 0)
10         010
01         001
0011       010 100
0010       000 100
0001       010 000
000011     000 100 100
000010     010 100 100
00000111   000 100 100 100
00000110   000 100 000 010
00000101   000 100 000 001
00000100   000 100 000 101
00000011   010 100 100 100
00000010   010 100 000 010
00000001   010 100 000 001
00000000   010 100 000 101
10111011   001 000 000 010
11101100   001 000 000 101
【００２９】
表４は、最小ランｄ＝１で、可変長構造を持ち、変換テーブル内の要素に、不確定符号（*0*）を持ち、さらに最小ランの連続を制限する、置き換えコードを持っている。すなわち表４は、Ｔmin繰り返し制限コードとして、
１０１１１０１１    ００１ ０００ ０００ ０１０
１１１０１１００    ００１ ０００ ０００ １０１
を持ち、これにより、最小反転間隔Ｔminの繰り返しを最大で６回までとすることができる。
【００３０】
また、表４では、変換データ列の２ビットが”１１”であったとき、その直前の変換データ列によって”０００”あるいは”１０１”が選択される。直前の変換データ列が、”０１”，”０００００１０１”，”０００００１００”，”０００００００１”，または”００００００００”であるとき、最小ランを守るために、”１１”の変換は”０００”となる。それ以外の場合、データ”１１”は符号”１０１”に変換される。
【００３１】
表４は、さらに、データ列の要素内の”１”の個数と、変換される符号語列の要素内の”１”の個数を、２で割った時の余りが、どちらも１あるいは０で同一となるような変換規則を持っている。例えば、データ列の要素”００１１”は”０１０１００”の符号語列に対応しているが、それぞれ”１”の個数は、データ列で２個、対応する符号語列では２個であり、どちらも２で割った余りが０で一致している。同様に、データ列の要素”００１０”は”０００１００”の符号語列に対応しているが、それぞれ”１”の個数は、データ列で１個、対応する符号語列では１個であり、どちらも２で割った余りが１で一致している。
【００３２】
なお、表４中の不確定符号は、各要素に２箇所与えられているが、これは、要素内の”１”の個数を、２で割ったときの余りをそろえるためのものである。
【００３３】
表４では、拘束長ｒ＝４である。最大ランｋ＝７を与えるためには、少なくとも拘束長ｒは４が必要である。また最小ランの繰り返しを制限するコードを付加しても拘束長は増加しない。
【００３４】
表３、または表４のような変換テーブルを用いた時、これまでと同様にデータ列を変調し、変調後のチャネルビット列を、所定の間隔で、ＤＳＶ制御することができる。しかし、表３と表４では、データ列と、変換される符号語列の関係を生かして、さらに効率良くＤＳＶ制御を行うことができる。
【００３５】
即ち、変換テーブルが、データ列の要素内の”１”の個数と、変換される符号語列の要素内の”１”の個数を、２で割った時の余りが、どちらも１あるいは０で同一となるような変換規則を持っている時、上記のように挿入するチャネルビットで、「反転」を表す”１”、あるいは「非反転」を表す”０”を、データビット列で挿入し、「反転」するならば”１”を挾み、「非反転」ならば”０”を挾むことと同様になる。
【００３６】
たとえば表４において、データ変換する３ビットが”００１”と続いた時に、その後ろにおいてＤＳＶ制御ビットを挾むことにすると、変換後のデータは、”００１−ｘ”となる。
ここでｘに”１”を与えれば、
データ列   符号語列
0011       010 100
となり、また”０”を与えれば、
データ列   符号語列
0010       000 100
となる。符号語列をＮＲＺＩ化してレベル符号化すると、たとえば
データ列   符号語列   レベル符号列
0011       010 100    011000
0010       000 100    000111
となり、最後のレベル符号列が反転している。すなわち、ＤＳＶ制御ビットの”１”と”０”を選択することによって、データ列内においても、ＤＳＶ制御が行えることになる。
【００３７】
このことは、ＤＳＶ制御による冗長度で考えると、データ列内の１ビットでＤＳＶ制御を行うと、チャネルビット列で表現すれば、表４の変換率ｍ＝２、ｎ＝３より、１．５チャネルビットでＤＳＶ制御を行っていることに相当する。もしチャネルビット列においてＤＳＶ制御を行うものとすると、Ｔｍｉｎ（最小反転間隔）、およびＴｍａｘ（最大反転間隔）を守るためには４ビット必要であり、冗長度が大きくなる。
【００３８】
挿入されるＤＳＶ制御ビットとして、ビット数が１ビットのものと２ビットのものの２種類を用意し、適応的に選択して一方を使用することで、平均的なＤＳＶ制御ビットのビット数を、ｄ＝１の場合では、１．５ビットとすることができる（冗長度を小さくすることができる）。これによって完全なＤＳＶ制御は可能であるが、この場合においては、Ｔｍａｘ（最大反転間隔）が増加する。
【００３９】
【発明が解決しようとする課題】
以上のように、磁気ディスク、光磁気ディスク、光ディスク等の記録媒体を高密度化して記録再生を行う場合に、ＲＬＬ（１−７）符号あるいはＲＭＬ（１−７）符号等の、ＤＳＶ制御の行われていない符号においては、エラー信号の発生を抑えたり、ジッタの発生を抑えたりするために、ＤＳＶ制御を行う必要がある。
【００４０】
また、これらＤＳＶ制御を行うことは、即ち、冗長ビットを加えることを意味しており、ＤＳＶ制御はなるべく効率良く行わなければならない。
【００４１】
本発明は、このような状況に鑑みてなされたものであり、表３及び表４にあるような、データ列の要素内の”１”の個数と、変換される符号語列の要素内の”１”の個数を、２で割った時の余りが、どちらも１あるいは０で同一となるような変換規則を持つ変換テーブルを用いて、データ変調とＤＳＶ制御を、同時に行うようにし、少ない冗長ビットでＤＳＶ制御を行うことができるようにするものである。
【００４２】
さらにこのような冗長度の少ないＤＳＶ制御によって、最小ラン、最大ランを破らないようにする。
【００４３】
また本発明は、同時に行うデータ変調とＤＳＶ制御を、データ列あるいは符号語列の入れ替えを行わないで実現し、変換装置の構成を容易にするものである。
【００４４】
【課題を解決するための手段】
請求項１に記載の変調装置は、データ列に第１のＤＳＶ制御ビットを挿入した第１のデータ列と、第２のＤＳＶ制御ビットを挿入した第２のデータ列を生成するＤＳＶ制御ビット挿入手段と、最小ランｄが１とされ、かつ、データ列の要素内の”１”の個数と、変換される符号語列の要素内の”１”の個数を、２で割った時の余りが、どちらも１あるいは０で一致するような変換テーブルを用いて、第１のデータ列と第２のデータ列の両方を変調する変調手段と、変換テーブルを用いて変調された第１のデータ列の第１の区間ＤＳＶと第２のデータ列の第２の区間ＤＳＶを計算し、それらをそれまでの累積ＤＳＶと加算した値から、変換テーブルを用いて変調された第１のデータ列と第２のデータ列の一方を選択して出力するＤＳＶ計算手段とを備えることを特徴とする。
【００４５】
請求項７に記載の変調方法は、データ列に第１のＤＳＶ制御ビットを挿入した第１のデータ列と、第２のＤＳＶ制御ビットを挿入した第２のデータ列を生成するＤＳＶ制御ビット挿入ステップと、最小ランｄが１とされ、かつ、データ列の要素内の”１”の個数と、変換される符号語列の要素内の”１”の個数を、２で割った時の余りが、どちらも１あるいは０で一致するような変換テーブルを用いて、第１のデータ列と第２のデータ列の両方を変調する変調ステップと、変換テーブルを用いて変調された第１のデータ列の第１の区間ＤＳＶと第２のデータ列の第２の区間ＤＳＶを計算し、それらをそれまでの累積ＤＳＶと加算した値から、変換テーブルを用いて変調された第１のデータ列と第２のデータ列の一方を選択して出力するＤＳＶ計算ステップとを備えることを特徴とする。
【００４６】
請求項８に記載の記録媒体は、データ列に第１のＤＳＶ制御ビットを挿入した第１のデータ列と、第２のＤＳＶ制御ビットを挿入した第２のデータ列を生成するＤＳＶ制御ビット挿入ステップと、最小ランｄが１とされ、かつ、データ列の要素内の”１”の個数と、変換される符号語列の要素内の”１”の個数を、２で割った時の余りが、どちらも１あるいは０で一致するような変換テーブルを用いて、第１のデータ列と第２のデータ列の両方を変調する変調ステップと、変換テーブルを用いて変調された第１のデータ列の第１の区間ＤＳＶと第２のデータ列の第２の区間ＤＳＶを計算し、それらをそれまでの累積ＤＳＶと加算した値から、変換テーブルを用いて変調された第１のデータ列と第２のデータ列の一方を選択して出力するＤＳＶ計算ステップとを含む変調方法によって変換されたデータ列が記録されていることを特徴とする。
【００４７】
本発明においては、第１のデータ列と第２のデータ列のそれぞれが変調され、区間ＤＳＶが計算される。それぞれの区間ＤＳＶとそれまでの累積ＤＳＶを加算した値から、２組のデータ列の一方が選択される。
【００４８】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態（但し一例）を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段を記載したものに限定することを意味するものではない。
【００４９】
請求項１に記載の変調装置は、データ列に第１のＤＳＶ制御ビットを挿入した第１のデータ列と、第２のＤＳＶ制御ビットを挿入した第２のデータ列を生成するＤＳＶ制御ビット挿入手段（例えば、図１のＤＳＶビット挿入部１１）と、最小ランｄが１とされ、かつ、データ列の要素内の”１”の個数と、変換される符号語列の要素内の”１”の個数を、２で割った時の余りが、どちらも１あるいは０で一致するような変換テーブルを用いて、第１のデータ列と第２のデータ列の両方を変調する変調手段（例えば、図１の変調部１２）と、変換テーブルを用いて変調された第１のデータ列の第１の区間ＤＳＶと第２のデータ列の第２の区間ＤＳＶを計算し、それらをそれまでの累積ＤＳＶと加算した値から、変換テーブルを用いて変調された第１のデータ列と第２のデータ列の一方を選択して出力するＤＳＶ計算手段（例えば、図１のＤＳＶ制御部１３）とを備えることを特徴とする。
【００５０】
以下、本発明に係る変調装置の実施の形態を図面を参照しながら説明する。この実施の形態は本発明を、基本データ長がｍビットであるデータに、ＤＳＶ制御ビットを所定の間隔で挾み、それを可変長符号（ｄ，k；ｍ，ｎ；ｒ）に変換する変調装置に適用した場合のものであり、変調装置内の変換テーブルとしては、例えば表３及び表４に示すものが用いられる。
【００５１】
変調装置は、図１に示すように、入力されたデータ列に対して、所定の間隔でＤＳＶビットとして、”１”または”０”を挿入するＤＳＶビット挿入部１１を備える。このＤＳＶビット挿入部１１では、ＤＳＶビット”１”を挿入するデータ列と、ＤＳＶビット”０”を挿入するデータ列とが用意される。変調部１２は、ＤＳＶビット挿入部１１でＤＳＶビットの挿入されたデータ列を変調し、ＮＲＺＩ化してレベルデータに変換する。ＤＳＶ制御部１３は、変調部１２から出力されるレベルデータに対してＤＳＶ計算を行い、最終的にＤＳＶ制御の行われた記録符号列を出力する。
【００５２】
図２はＤＳＶビット挿入部１１、変調部１２、およびＤＳＶ制御部１３のより詳細な構成を示すブロック図である。データ列には、ＤＳＶビット挿入部１１を構成するビット挿入部２１で、まず所定の間隔（例えば４７ビット置き）に、ＤＳＶビットが挿入される。このとき、挿入後データ列として、４７ビットの間隔で”１”を挾んだデータ列と、４７ビットの間隔で”０”を挾んだデータ列の、２組のデータ列が生成される。
【００５３】
変調部１２を構成する変調およびＮＲＺＩ化部２２では、ビット挿入部１１より入力された２組のＤＳＶビットの挿入されたデータ列をそれぞれ変調し、それをさらにＮＲＺＩ化してレベルデータに変換する。従って、チャネルビットのレベル化列も、ＤＳＶビットとして”１”を挿入したものと、”０”を挿入したものの、２組が生成される。
【００５４】
そして、ＤＳＶ制御部１３を構成するＤＳＶ計算区間取り出し部２３では、次のＤＳＶ計算を行うＤＳＶ区間を取り出す処理が行われる。４７ビットの間隔で挿入されたＤＳＶビットは、データ変調後の符号語列においては、表３及び表４に示すように、変換規則が可変長であることより、前方のデータと組み合わされてデータ変換される場合がある。そこで、ＤＳＶ計算区間は、その始まりとしては、任意の間隔であるＤＳＶビットの挿入されたデータ列のｎ／ｍ＝１．５倍毎の位置よりも、さかのぼり、また終了位置としては、任意の間隔であるＤＳＶビットの挿入されたデータ列のｎ／ｍ＝１．５倍毎の位置よりも、早く終了することにする。こうすることにより、ＤＳＶ計算区間には、１箇所のＤＳＶ制御ビットを含む、データ変調列が必ず得られることになる。
【００５５】
なお、上記さかのぼるデータ列位置、及び、早く終了する位置は、可変長データ変換の切れ目によって前後するが、最小で０ビット、最大でも最大拘束長ビットまでとする。表３及び表４では、８ビットまでとなる。
【００５６】
ＤＳＶ計算区間が確定したら、その区間の２組のチャネルビットのレベル化列は、後のＤＳＶ制御データ列決定部２４において、どちらか一方が選択され、ＤＳＶ制御された記録符号列として選ばれた方が出力される。
【００５７】
また、ＤＳＶ計算区間が確定したら、区間ＤＳＶ計算部２５は区間ＤＳＶを計算する。区間ＤＳＶも、これまでと同様に、２組について行われる。そして累積ＤＳＶ計算およびＤＳＶビット決定部２６において、積算ＤＳＶ値と、２つの区間ＤＳＶ値をそれぞれ加減算し、合計の絶対値の小さい方をＤＳＶビットとして決定する。絶対値の小さい方とは、言い換えれば、ＤＳＶ値がゼロに近い方のことである。最終的にＤＳＶビットが決定したら、その最後のレベル値を積算ＤＳＶ計算およびＤＳＶビット決定部２６から区間ＤＳＶ計算部２５に送り、次の区間ＤＳＶ値計算に用いるようにする。
【００５８】
ＤＳＶビットがどちらかに決定されると、ＤＳＶ制御データ列決定部２４は、積算ＤＳＶ計算およびＤＳＶビット決定部２６から供給される決定信号に対応して、ただ１通りのチャネルビットのレベル化列を選択し、出力する。これは、ＤＳＶ制御が行われた記録符号列となっている。
【００５９】
図３は図２の例のビット挿入と変調の動作をフローチャートにしたものである。ビット挿入部２１は、ステップＳ１で入力されたデータ列のビットをカウントする。ステップＳ２では、そのカウント値が予め設定した所定の値（いまの場合４７）に達したか否かが判定される。カウント値が４７に達していない場合、ステップＳ１に戻り、それ以降の処理が繰り返し実行される。ステップＳ２で、カウント値が４７に達したと判定された場合、ステップＳ３に進み、ビット挿入部２１は、入力されたデータ列に”１”を挿入して、データ「メモリ１」を生成し、これを内蔵するメモリ１に記憶する。さらにステップＳ４において、ビット挿入部２１は、入力されたデータ列に”０”を挿入して、データ「メモリ０」を生成し、これを内蔵するメモリ０に記憶する。
【００６０】
変調およびＮＲＺＩ化部２２は、ビット挿入部２１よりデータ「メモリ１」とデータ「メモリ０」の供給を受け、ステップＳ５において、データ「メモリ１」を内蔵する変換テーブルを参照して変調して、データＭＯＤ１を生成し、これを内蔵するメモリに記憶する。また、このデータＭＯＤ１をさらにＮＲＺＩ化し、Ｌ−ＭＯＤ１とし、これをメモリに記憶する。同様に、ステップＳ６において、変調およびＮＲＺＩ化部２２は、データ「メモリ０」を変換テーブルを参照して変調し、データＭＯＤ０を生成し、これを内蔵するメモリに記憶する。また、このデータＭＯＤ０をさらにＮＲＺＩ化し、データＬ−ＭＯＤ０とし、これを内蔵するメモリに記憶する。
【００６１】
次に、ステップＳ７に進み、ビット挿入部２１は、内蔵するカウンタをリセットし、ステップＳ１に戻り、それ以降の処理を繰り返し実行する。
【００６２】
以上のようにして、図４に示すように、ビット挿入部２１に入力された同図（Ａ）に示すデータ列に、所定の間隔（span＝４７ビット）毎に、ＤＳＶ制御ビットｘ１（ｘ２，ｘ３）が、同図（Ｂ）に示すように挿入される。ＤＳＶ制御ビットｘ１（ｘ２，ｘ３）としては、”１”と”０”の２つが用いられる。従って、ＤＳＶ制御ビットとして”１”を含むデータ列と、”０”を含むデータ列の、２つのデータ列が生成される。
【００６３】
そして、ＤＳＶ制御ビットが挿入されたデータ列が変調およびＮＲＺＩ化部２２に供給され、変調され、さらにＮＲＺＩ化されて、図４（Ｃ）に示すようなデータとなる。
【００６４】
変調およびＮＲＺＩ化部２２より出力されたチャネルビットデータ列は、ＤＳＶ計算区間取り出し部２３に供給され、図５のフローチャートに示すようなＤＳＶ制御処理が実行される。
【００６５】
すなわち、最初にステップＳ２１において、ＤＳＶ計算区間取り出し部２３は、内蔵するカウンタにより、変調およびＮＲＺＩ化部２２より供給されるチャネルビットデータ列のビット数をカウントする。そして、ステップＳ２２において、ＤＳＶ区間に達したか否かを判定する。
span＋１−Ｒmax≦cnt
となったとき、ＤＳＶ計算区間に達したと判定される。ここで、上述したように、spanは、間隔を表し（いまの場合、４７）、Ｒmaxは、最大拘束長（いまの場合、８）を表す。なお、１を加算しているのは、ＤＳＶ制御ビットのビット数の分を補償するためである。
【００６６】
ステップＳ２２において、ＤＳＶ計算区間に達していないと判定された場合には、ステップＳ２１に戻り、それ以降の処理が繰り返し実行される。ステップＳ２２において、ＤＳＶ計算区間に達したと判定された場合、ステップＳ２３に進み、区間ＤＳＶ計算部２５は、データＬ−ＭＯＤ１とＬ−ＭＯＤ０の区間ＤＳＶを計算する。それぞれのＤＳＶは、span−ＤＳＶ１、またはspan−ＤＳＶ０として、区間ＤＳＶ計算部２５に記憶される。
【００６７】
さらに、ステップＳ２４において、累積ＤＳＶ計算およびＤＳＶビット決定部２６は、累積ＤＳＶ（Ｔｏｔａｌ−ＤＳＶ）をデータＬ−ＭＯＤ１とＬ−ＭＯＤ０のそれぞれについて、次に示すように、それまでの累積ＤＳＶに、区間ＤＳＶを加算して計算し、それぞれの値をＹ１，Ｙ０として内蔵するメモリに記憶する。
Ｙ１＝（Ｔｏｔａｌ−ＤＳＶ）＋（span−ＤＳＶ１）
Ｙ０＝（Ｔｏｔａｌ−ＤＳＶ）＋（span−ＤＳＶ０）
【００６８】
ステップＳ２５において、累積ＤＳＶ計算およびＤＳＶビット決定部２６は、上述したようにして計算した累積ＤＳＶとしてのＹ１，Ｙ０の絶対値の大きさを比較し、Ｙ１の方がＹ０より大きいと判定された場合、ステップＳ２８に進み、Ｌ−ＭＯＤ０を出力するものと決定し、その決定結果を、ＤＳＶ制御データ列決定部２４に出力する。ＤＳＶ制御データ列決定部２４は、この決定に対応して、ＤＳＶ計算区間取り出し部２３より供給されたデータＬ−ＭＯＤ０とＬ−ＭＯＤ１のうち、データＬ−ＭＯＤ０を選択し、出力する。
【００６９】
またこのとき、累積ＤＳＶ計算およびＤＳＶビット決定部２６は、ステップＳ２９において、新たな累積ＤＳＶをＹ０に設定する。
【００７０】
一方、ステップＳ２５において、Ｙ１がＹ０と等しいか、それより大きいと判定された場合、ステップＳ２６に進み、累積ＤＳＶ計算およびＤＳＶビット決定部２６は、Ｌ−ＭＯＤ１を出力するものと決定し、ＤＳＶ制御データ列決定部２４を制御し、ＤＳＶ計算区間取り出し部２３より供給されたデータＬ−ＭＯＤ１とＬ−ＭＯＤ０のうち、Ｌ−ＭＯＤ１を選択し、出力させる。また、累積ＤＳＶ計算およびＤＳＶビット決定部２６は、ステップＳ２７において、新たな累積ＤＳＶとして、Ｙ１を設定する。
【００７１】
次にステップＳ３０に進み、カウンタを初期化処理するなどした後、ステップＳ２１に戻り、それ以降の処理が繰り返し実行される。
【００７２】
以上のようにして、図４（Ｂ）に示すように、各４７ビット毎の区間に対して、ＤＳＶ制御ビットｘ１，ｘ２，ｘ３などが挿入されたデータを、同図（Ｃ）に示すように、ＮＲＺＩ化したデータのビットをカウントし、各区間の境界部（各区間のデータとＤＳＶ制御ビットとの境界部）から所定のビット数（０乃至Ｒmax）だけ前の位置から、次の区間の対応する位置までの範囲が、ＤＳＶ計算区間とされる。そして、区間ＤＳＶ計算部２５において、Ｌ−ＭＯＤ１とＬ−ＭＯＤ０の両方の区間ＤＳＶが計算される。
【００７３】
さらに、図４（Ｅ）に示すように、累積ＤＳＶ計算およびＤＳＶビット決定部２６において、それまでの累積ＤＳＶ（Ｔｏｔａｌ−ＤＳＶ）にデータＬ−ＭＯＤ１の区間ＤＳＶ（span−ＤＳＶ１）を加算した値と、それまでの累積ＤＳＶ（Ｔｏｔａｌ−ＤＳＶ）にデータＬ−ＭＯＤ０の区間ＤＳＶ（span−ＤＳＶ０）を加算した値の絶対値が比較される。そして、データＬ−ＭＯＤ１とＬ−ＭＯＤ０のうち、その絶対値の小さい方に対応するデータがＤＳＶ制御データ列決定部２４で選択され、出力される。
【００７４】
例えば、データＬ−ＭＯＤ１が選択された場合、図４（Ｆ）に示すように、それまでの累積ＤＳＶに、区間ＤＳＶが加算され、新たな累積ＤＳＶとされる。そして、以下、同様の処理が繰り返される。
【００７５】
なお、ｃｎｔの設定は、前に行われたＤＳＶ計算区間が数ビットだけさかのぼっている場合がある。そのときはそこからスタートするようにする。このときｃｎｔの設定は、例えば、
ｃｎｔ＝０−（span−前のｃｎｔ）
とする。
【００７６】
図４についてさらに説明すると次のようになる。図４（Ａ）は、元のデータ列が任意の区間（span）で区切られている様子を示している。
【００７７】
図４（Ｂ）は、任意の区間（span）置きにＤＳＶ制御ビットｘ１，ｘ２，ｘ３が挿入されて、データ列として並んでいる様子を示している。図４（Ｂ）のデータ列（実際には、それをＮＲＺＩ化したデータ列）より、ＤＳＶ計算区間を区切るのだが、図４（Ｂ）には、可変長テーブルによる、挿入されたＤＳＶ制御ビット近辺の様子も示されている。同図に示すように、最初のＤＳＶ制御ビットｘ１付近では、区間の切れ目が、ｘ１の位置から０ビット乃至Ｒｍａｘビットまでさかのぼった位置とされている。そして次のＤＳＶビットｘ２付近では、同様に、区間の切れ目は、ｘ２の位置から、最大でＲｍａｘビットまでさかのぼった位置までのどこかにある。Ｒｍａｘビットの値は、表３あるいは表４の場合、Ｒｍａｘ＝８である。
【００７８】
区間の切れ目は、変換テーブルにしたがってデータ変換していき、変換が行われるごとに生成される。表３あるいは表４の場合、２データ、４データ、６データ、８データのうちいずれかごとに区切られる。つまり、区切られるＤＳＶ計算区間として、例えばＤＳＶ制御ビットｘ１付近では、切れ目が、ｘ１の位置から０ビット乃至Ｒｍａｘビットまでさかのぼる位置とすれば、区切られる直前までのデータ列でｘ１をデータ変換することはない。
【００７９】
図４（Ｃ）には、各ＤＳＶ計算区間として決定したＤＡＴＡ１、ＤＡＴＡ２、ＤＡＴＡ３があるが、始めのＤＡＴＡ１は初期値として特別で、以降のＤＡＴＡ２及びＤＡＴＡ３には、それぞれ、必ず区間の最初の方の１箇所に、ＤＳＶビットｘ１及びｘ２が含まれている。
【００８０】
図４（Ｄ）は、これらＤＳＶ計算区間が、各テーブルによってデータ変換されたものを示している。データの大きさは、例えば
ＤＡＴＡ１×ｎ／ｍ＝１．５×ＤＡＴＡ１
のように、変換率分だけ大きさが増える。また次のＤＳＶ計算区間では、ＤＳＶビットとして”１”の入ったデータ列の変調列、及びＤＳＶビットとして”０”の入ったデータ列の変調列がある。この時のデータの大きさも、
ＤＡＴＡ２×ｎ／ｍ＝１．５×ＤＡＴＡ２
となり、やはり変換率分だけ大きさが増える。
【００８１】
図４（Ｅ）は、上の２通りの変調列の選択決定を行う様子を示している。図４（Ｆ）は、決定した後の並びと、さらに次の区間ＤＡＴＡ３のＤＳＶ制御の準備の様子を示している。
【００８２】
以上のようにして、データ変調、ＤＳＶ計算区間取り出し、区間ＤＳＶ計算及び、ＤＳＶビット決定が行われる。
【００８３】
そしてこのような方式でＤＳＶ制御を行えば、同時に行われるデータ変調とＤＳＶ制御は、データ列あるいは符号語列の入れ替えのような作業がなく、記録符号列をすぐ決定することができる。
【００８４】
次に、Ｔminの連続を制限し、かつＤＳＶ制御ビットを、本方式によって挿入したデータ列を変調したシミュレーションの結果について以下に示す。
【００８５】
変換テーブルとしては、表３及び表４が用いられている。
【００８６】
任意に作成したランダムデータ１３１０７２００ビットを、表３及び表４の変調コードテーブルを用いて、４７データビットおきにＤＳＶ制御を行い、さらにＤＳＶ制御ビットを挿入したデータ列を、表３及び表４のテーブルによって変調した際の、Ｔminの連続の分布のシミュレーション結果は以下の通りである。
【００８７】
表３及び表４のいずれの場合も、さらにＴminの繰り返し制限を付加したので、最小ランのくり返し回数は、最大で６回までであり、有効に短くすることができている。また平均反転間隔は、総チャネルビット列を、各Ｔの総和で割ったもので、表３では３．３５Ｔ、また表４では３．３７Ｔであった。
【００８８】
0003722180.tif 000004
【００８９】
また同チャネルビット列のＤＳＶ制御は、ＮＲＺＩ化後の”１”をhighとし、”０”をlowとしたときの差、および、ＤＳＶ値のプラス側のピーク及びマイナス側のピークは以下の通りである。なお、ＤＳＶビットとして４７データ列おきにＤＳＶ制御ビットを挿入した場合の冗長率は、４７データ列に対して１データであるから、１／（１＋４７）＝２．０８％である。
【００９０】
0003722180.tif 000005
【００９１】
なお、従来の例えばＲＬＬ（１−７）符号やＲＭＬ（１−７）符号は、データ列内のＤＳＶ制御が出来ないので、チャネルビット列発生後にＤＳＶ制御ビットを挾むことにより、ＤＳＶ制御を実現する。しかし、最大ランを守った上でＤＳＶ制御を行うためには、４チャネルビットを必要とし、上記表３、表４に較べると効率が悪い。
【００９２】
またさらに、上記シミュレーションにおいて、発生させたチャネルビット列をテーブル表３及び表４に基づいて復調し、さらに４７ビットおきにＤＳＶビットを抜き出したデータ列は、元のランダムデータと一致するのを確認した。
【００９３】
以上のように、本発明によれば、さらに、可変長テーブルにおいて、一意に決定する変換規則をもち、最小ラン長の繰り返し回数の制限を行った上に、さらに変換テーブルの要素内の”１”の個数と、変換される符号語列の要素内の”０”の個数を、２で割った時の余りが、どちらも１あるいは０で一致するようにしたので、
（１）ＤＳＶの制御を少ない冗長度で行うことができる。
（２）冗長が少ない上に、最小ラン、最大ランを守ることができる。
（３）挿入ＤＳＶビットは同一ビット数であるため、エラー伝搬が起こりにくい。
さらに、最小ランの繰り返しが制限されていない符号語列と比較すると、
（４）高線密度でのタンジェンシャルチルトに対する許容度が向上する。
（５）信号レベルが小さい部分が減少し、ＡＧＣやＰＬＬ等の波形処理の精度が向上し、総合特性を高めることができる。
（６）従来と比較して、ビタビ復号等の際のパスメモリ長を短く設計でき、回路規模を小さくすることができる。
【００９４】
また本発明によれば、データ変調とＤＳＶ制御を、データ列あるいは符号語列の入れ替えを行わないで、同時に実現したので、変換装置の構成を簡略化することができる。
【００９５】
なお、上記したような処理を行うプログラムをユーザに伝送する提供媒体としては、磁気ディスク、CD-ROM、固体メモリなどの記録媒体の他、ネットワーク、衛星などの通信媒体を利用することができる。
【００９６】
【発明の効果】
以上の如く、本発明によれば、２組のデータ列の変調ＤＳＶ計算をそれぞれ行うようにし、その一方を選択するようにしたので、データ列内でＤＳＶ制御が行えるようになり、少ない冗長度でＤＳＶ制御を行うことが可能となる。
【図面の簡単な説明】
【図１】本発明の変調装置の構成を示すブロック図である。
【図２】図１の変調装置のより詳細な構成例を示すブロック図である。
【図３】図２の変調装置の動作を説明するフローチャートである。
【図４】図２の変調装置ののＤＳＶ制御を説明する図である。
【図５】図２の変調装置の動作を説明するフローチャートである。
【符号の説明】
１１  ＤＳＶビット挿入部，  １２  変調部，  １３  ＤＳＶ制御部，  ２１ビット挿入部，  ２２  変調およびＮＲＺＩ化部，  ２３  ＤＳＶ計算区間取り出し部，  ２４  ＤＳＶ制御データ列決定部，  ２５  区間ＤＳＶ計算部，  ２６  累積ＤＳＶ計算およびＤＳＶビット決定部
【図１】
0003722180.tif 000006
【図２】
0003722180.tif 000007
【図３】
0003722180.tif 000008
【図４】
0003722180.tif 000009
【図５】
0003722180.tif 000010