データを所定の伝送路に伝送したり、または例えば磁気ディスク、光ディスク、光磁気ディスク等の記録媒体に記録する際、伝送路や記録媒体に適するように、データの変調が行われる。このような変調方法の1つとして、ブロック符号が知られている。ブロック符号とは、データ列をm×iビットからなる単位(以下データ語という)にブロック化し、このデータ語を適当な符号則に従って、n×iビットからなる符号語に変換するものである。そしてこの符号は、i=1のときには固定長符号となり、またiが複数個選べるとき、すなわち、1乃至imax(最大のi)の範囲の所定のiを選択して変換したときには可変長符号となる。このブロック符号化された符号は可変長符号(d,k;m,n;r)と表される。
ここでiは拘束長と称され、imaxはr(最大拘束長)となる。またdは、例えば、連続する“1”の間に入る“0”の最小連続個数、すなわち“0”の最小ランを示し、kは連続する“1”の間に入る“0”の最大連続個数、すなわち“0”の最大ランを示している。
ところで上述のようにして得られる符号語を、光ディスクや光磁気ディスク等に記録する場合、例えばコンパクトディスク(CD)やミニディスク(MD)(登録商標)では、可変長符号列より、“1”を反転とし、“0”を無反転とするNRZI(NonReturn to Zero Inverted)変調を行い、NRZI変調された可変長符号(以下、記録波形列と称する)に基づき、記録が行なわれている。これはマークエッジ記録と称される。これに対して、ISO規格の3.5inch・230MB容量の光磁気ディスク等では、記録変調された符号列が、NRZI変調されずにそのまま記録される。これはマークポジション記録と称される。現在のように高記録密度化された記録メディアでは、マークエッジ記録が多く用いられている。
記録波形列の最小反転間隔をTminとし、最大反転間隔をTmaxとするとき、線速方向に高密度記録を行うためには、最小反転間隔Tminは長い方が、即ち最小ランdは大きい方が良く、またクロックの再生の面からは、最大反転間隔Tmaxは短い方が、即ち最大ランkは小さい方が望ましい。またオーバーライト特性を考慮する場合にはTmax/Tminは小さい方が望ましい。さらには、JitterやS/Nの点から検出窓幅Tw=m/nが大きいことが重要になるなど、メディアの条件と照らし合わせながら種々の変調方法が提案され、実用化されている。
ここで具体的に、光ディスク、磁気ディスク、または光磁気ディスク等において、提案されたり、あるいは実際に使用されている変調方式をあげてみる。CDやMDで用いられるEFM符号((2,10;8,17;1)とも表記される)やDVD(Digital Versatile Disc)で用いられる8-16符号((2,10;1,2;1)とも表記される)、そしてPD(120mm650MB容量)で用いられるRLL(2,7)((2,7;m,n;r)とも表記される)は、最小ランd=2のRLL符号である。また、MD−DATA2あるいはISO規格の3.5inchMO(640MB容量)で用いられるRLL(1,7)((1,7;2,3;r)とも表記される)は、最小ランd=1のRLL符号である。この他、現在開発研究されている、記録密度の高い光ディスクや光磁気ディスク等の記録再生ディスク装置においては、最小マークの大きさや、変換効率のバランスの取れた、最小ランd=1のRLL符号(Run Length Limited code)がよく用いられている。
可変長の RLL(1,7)符号の変調テーブルは、例えば以下のようなデータパターンとそれに対応する符号パターンを変換パターンとするテーブルである。
<表1>
RLL(1,7) : (d,k;m,n;r) = (1,7;2,3;2)
データパターン 符号パターン
i=1 11 00x
10 010
01 10x
i=2 0011 000 00x
0010 000 010
0001 100 00x
0000 100 010
ここで変調テーブル内の記号xは、次に続くチャネルビットが“0”であるときに“1”とされ、また次に続くチャネルビットが“1”であるときに“0”とされる。最大拘束長rは2である。
可変長RLL(1,7)のパラメータは(1,7;2,3,2)であり、記録波形列のビット間隔をTとすると、(d+1)Tで表される最小反転間隔Tminは2(=1+1)Tとなる。データ列のビット間隔をTdataとすると、この(m/n)×2で表される最小反転間隔Tminは1.33(=(2/3)×2)Tdataとなる。また(k+1)Tで表される最大反転間隔Tmaxは、Tmax =8(=7+1)T(=(m/n)×8Tdata = (2/3)×8Tdata = 5.33Tdata)である。さらに検出窓幅Twは(m/n)×Tdataで表され、その値は、Tw = 0.67(=2/3)Tdataとなる。
ところで、表1のRLL(1,7)による変調を行ったチャネルビット列においては、発生頻度としてはTminである2Tが一番多く、以下、3T,4T,5T,6T,…の順に多い。そして最小ラン(Tmin)である2Tが繰り返した場合、即ちエッジ情報が早い周期で多く発生することは、クロック再生には有利となる場合が多い。
ところが、例えば光ディスクの記録再生において、さらに記録線密度を高くしていった場合、最小ランは、エラーが発生しやすい部位となる。なぜなら、ディスク再生時において、最小ランの波形出力は、他のランよりも小さく、例えばデフォーカスやタンジェンシャル・チルト等による影響を受けやすいからである。またさらに、高記録線密度における、最小マークの連続した記録再生は、ノイズ等の外乱の影響も受けやすく、従ってデータ再生誤りを起こしやすくなる。この時のデータ再生誤りのパターンとしては、連続する最小マークの先頭のエッジから最後のエッジまでが、一斉にシフトして誤るという場合がある。即ち発生するビットエラー長は、最小ランの連続する区間の、先頭から最後まで伝搬することになる。従ってエラー伝搬は長くなってしまうという問題が現れる。
以上より高線密度にデータを記録再生する場合の安定化のためには、最小ランの連続を制限することが効果的である。
一方、記録媒体へのデータの記録、あるいはデータの伝送の際には、記録媒体あるいは伝送路に適した符号化変調が行われるが、これら変調符号に低域成分が含まれていると、例えば、ディスク装置のサーボ制御におけるトラッキングエラーなどの、各種のエラー信号に変動が生じ易くなったり、あるいはジッターが発生し易くなったりする。従って変調符号は、低域成分がなるべく抑制されている方が望ましい。
低域成分を抑制する方法として、DSV(Digital Sum Value)制御がある。DSVとは、チャネルビット列をNRZI化(すなわちレベル符号化)して記録符号列とし、そのビット列(データのシンボル)の“1”を「+1」、“0”を「−1」として、符号を加算していったときのその総和を意味する。DSVは記録符号列の低域成分の目安となる。DSVの正負のゆれの絶対値を小さくすること、すなわちDSV制御を行うことは、記録符号列の直流成分を除き、低域成分を抑制することになる。
上記表1に示した、可変長RLL(1,7)テーブルによる変調符号は、DSV制御が行われていない。このような場合のDSV制御は、変調後の符号化列(チャネルビット列)において、所定の間隔でDSV計算を行い、所定のDSV制御ビットを符号化列(チャネルビット列)内に挿入することで、実現される(例えば、特許文献1)。
チャネルビット列内に挿入するDSV制御ビット数は、最小ランdによって決まる。d=1の時、最小ランを守るように、符号語内の任意の位置にDSV制御ビットを挿入する場合、必要なビット数は2(=d+1)チャネルビットである。また最大ランを守るように、符号語内の任意の位置にDSV制御ビットを挿入する場合に必要となるビット数は4(=2×(d+1))チャネルビットである。これらよりも少ないチャネルビットでDSV制御を行うと、挟まれる前後のパターンによって、DSV制御できない場合が発生する。
(d,k;m,n) = (1,7;2,3)である RLL(1,7)符号において、前記DSV制御ビットを、変換率と合わせて、データに換算すると、
4チャネルビット×2/3 = 8/3 = 2.67データ相当(2.67 Tdata)
になる。
ところでDSV制御ビットは、基本的には冗長ビットである。従って符号変換の効率から考えれば、DSV制御ビットはなるべく少ないほうが良い。
またさらに、挿入されるDSV制御ビットによって、最小ランdおよび最大ランkは、変化しないほうが良い。(d,k)が変化すると、記録再生特性に影響を及ぼしてしまうからである。
ただし、実際のRLL符号においては、最小ランは記録再生特性への影響が大きいために、必ず守られる必要があるが、最大ランについては必ずしも守られてはいない。場合によっては最大ランを破るパターンを同期パターンに用いるフォーマットも存在する。例えば、DVD(Digital Versatile Disk)の8-16符号における最大ランは11Tだが、同期パターン部分において最大ランを超える14Tを与え、同期パターンの検出能力を上げている。
以上を踏まえて本発明者等は、(d,k)=(1,7)で、さらに高記録密度に対応した変調方式として、表2の1,7PP符号を先に提案した(例えば、特許文献2参照)。
<表2>
1,7PP : (d,k;m,n;r) = (1,7;2,3;4)
データパターン 符号パターン
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
if xx1 then *0* = 000
xx0 then *0* = 101
=============================
Sync & Termination
#01 001 000 000 001 000 000 001 (24 channel bits)
# = 0 not terminate case
# = 1 terminate case
Termination table
00 000
0000 010 100
110111 001 000 000(next010):
When next channel bits are '010',
convert '11 01 11' to '001 000 000'.
表2の変調テーブルは、変換パターンとして、それがないと変換処理ができない基礎パターン(データパターン(11)から(000000)までの変換パターン)、それがなくても変換処理は可能であるが、それを行うことによって、より効果的な変換処理が実現する置換パターン(データパターン(110111),(00001000),(00000000)よりなる変換パターン)、および、データ列を任意の位置で終端させるための終端パターン(データパターン(00),(0000)よりなる変換パターン)を有している。
また、表2は、最小ランd=1、最大ランk=7で、基礎パターンの要素に不確定符号(*で表される符号)を含んでいる。不確定符号は、直前および直後の符号語列の如何によらず、最小ランdと最大ランkを守るように、“0”か“1”に決定される。すなわち表2において、変換する2データが(11)であったとき、その直前の符号語列(チャネルビット列)によって、“000”または“101”が選択され、そのいずれかに変換される。例えば、直前の符号語列の1チャネルビットが“1”である場合、最小ランdを守るために、2データ(11)は、符号語“000”に変換され、直前の符号語列の1チャネルビットが“0”である場合、最大ランkが守られるように、2データ(11)は、符号語“101”に変換される。
表2の変調テーブルの基礎パターンは可変長構造を有している。すなわち、拘束長i=1における基礎パターンは、必要数の4つ(2^m = 2^2 = 4)よりも少ない3つ(*0*,001,010の3つ)で構成されている。その結果、データ列を変換する際に、拘束長i=1だけでは変換出来ないデータ列が存在することになる。結局、表2において、全てのデータ列を変換するには(変調テーブルとして成り立つためには)、拘束長i=3までの基礎パターンを参照する必要がある。
また、表2の変調テーブルは、最小ランdの連続を制限する置換パターンを持っているため、データ列が(110111)である場合、さらに後ろに続く符号語列が参照され、それが“010”であるとき、この6データは符号語“001 000 000”に置き換えられる。また、このデータ列は、後ろに続く符号語列が“010”以外である場合、2データ単位((11),(01),(11))で符号語に変換されるので、符号語“*0* 010 *0*”に変換される。これによって、データを変換した符号語列は、最小ランの連続が制限され、最大でも6回までの最小ラン繰り返しとなる。
そして表2の変調テーブルは、最大拘束長r=4である。拘束長i=4の変換パターンは、最大ランk=7を実現するための、置換パターン(最大ラン保証パターン)で構成されている。すなわち、データパターン(00001000)は、符号パターン“000 100 100 100”に変換され、データパターン(00000000)は、符号パターン“010 100 100 100”に変換されるように構成されている。そしてこの場合においても、最小ランd=1は守られている。
さらに表2は、同期パターンを挟むために、データパターンの任意の位置において終端させる場合、データ列が(00)または(0000)で終端位置となる際には、終端パターンが用いられる。挿入される同期パターンは、先頭の1符号語が終端パターン使用識別ビットとなっており、終端パターンが用いられた時は、直後の同期パターン列の先頭符号語が“1”となる。また終端パターンが用いられなかった時は、“0”となる。なお、表2における同期パターンは、上述の終端パターン使用識別ビットと、同期パターン検出のために、最大ランk=7を超えるk=8の符号語を2回繰り返し、合計24符号語で構成してある。
ところで表2の変換パターンは、データパターンの要素としての「1」の個数を2で割った時の余りと、変換される符号パターンの要素としての「1」の個数を2で割った時の余りが、どちらも1あるいは0で同一(対応するいずれの要素も「1」の個数が奇数または偶数)となるような変換規則を持っている。例えば、変換パターンのうちのデータパターン(000001)は、“010 100 100”の符号パターンに対応しているが、それぞれの要素としての「1」の個数は、データパターンでは1個、対応する符号パターンでは3個であり、どちらも2で割ったときの余りが1(奇数)で一致している。同様にして、変換パターンのうちのデータパターン(000000)は、“010 100 000”の符号パターンに対応しているが、それぞれ「1」の個数は、データパターンでは0個、対応する符号パターンでは2個であり、どちらも2で割ったときの余りが0(偶数)で一致している。
次に、DSV制御を行う方法について述べる。表1のRLL(1,7)符号のような、変調テーブルにDSV制御が行われていない場合における、従来のDSV制御は、例えば、データ列を変調した後、変調後のチャネルビット列に、所定の間隔で、DSV制御ビットを少なくとも(d+1)ビットだけ付加することで行われた。表2のような変調テーブルにおいても、従来と同様にDSV制御を行うことが出来るが、表2における、データパターンと、変換される符号パターンの関係を生かして、さらに効率良くDSV制御を行うことができる。即ち、変調テーブルが、データパターンの要素としての「1」の個数と、変換される符号パターンの要素としての「1」の個数を、2で割った時の余りが、どちらも1あるいは0で同一となるような変換規則を持っている時、前記のようにチャネルビット列内に、「反転」を表す“1”、あるいは「非反転」を表す“0”のDSV制御ビットを挿入することは、データビット列内に、「反転」するならば(1)の、「非反転」ならば(0)の、それぞれDSV制御ビットを挿入することと等価となる。
例えば表2において、データ変換する3ビットが(001)と続いたときに、その後ろにおいてDSV制御ビットを挾むものとすると、データは、(001−x)(xは1ビットで、「0」又は「1」)となる。ここでxに「0」を与えれば、表2の変調テーブルで、
データパターン 符号パターン
0010 010 000
の変換が行われ、また、「1」を与えれば、
データパターン 符号パターン
0011 010 100
の変換が行われる。符号語列をNRZI化して、レベル符号列を生成すると、これらは
データパターン 符号パターン レベル符号列
0010 010 000 011111
0011 010 100 011000
となり、レベル符号列の最後の3ビットが相互に反転している。このことは、DSV制御ビットxの(1)と(0)を選択することによって、データ列内においても、DSV制御が行えることを意味する。
DSV制御による冗長度を考えると、データ列内の1ビットでDSV制御を行うということは、チャネルビット列で表現すれば、表2の変換率(m:n=2:3)より、1.5チャネルビットでDSV制御を行っていることに相当する。一方、表1のようなRLL(1,7)テーブルにおいてDSV制御を行うためには、チャネルビット列においてDSV制御を行う必要があるが、この時最小ランを守るためには、少なくとも2チャネルビットが必要であり、表2のDSV制御と比較すると、冗長度がより大きくなってしまう。換言すれば、表2のテーブル構造を持つ時、データ列内でDSV制御を行うことで、効率よくDSV制御を行うことができる。
以上に説明した(d,k)=(1,7)の最小ランと最大ランを持った、高記録密度に対応した表2の変調テーブルは、例えば高密度光ディスクシステムである、Blu-ray Disc ReWritable ver1.0(登録商標)におけるフォーマットとして採用されている。
そして、今後さらなる高記録密度に対して、具体的に例えば、高密度光ディスクに対するさらなる高密度規格に対して、変調方式においても、さらに安定したシステムが要求されている。
その際、既に商品化されている Blu-ray Disc ReWritable ver1.0に対し、従来の(1,7)PP符号と同様なパラメータであり、かつ同様な変調テーブルの構成で、より安定したシステムを実現する変調方式が実現すれば、従来の設計技術を流用することが出来ることより、ハードウエア設計時の設計リスクを低減することができる。
特開平6−197024号公報
特開平11−346154号公報
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の側面は、基本データ長がmビットのデータを、最小ランがd(d>0)、かつ最大ランがkの、基本符号語長がnビットの可変長符号(d,k;m,n;r)(最大拘束長r>1)に変換する変調テーブルにおいて、基本データ長がmビットの基礎データからなるデータパターン(例えば、表3の左側のデータパターン(11)乃至(000000))を基本符号語長がnビットの可変長符号の基礎符号からなる符号パターン(例えば、表3の右側の符号パターン“*0*”乃至“010 100 000”)に変換する基礎テーブル(例えば、表3の上側のデータパターン(11)乃至(000000)までの範囲の部分)と、置換データからなるデータパターン(例えば、表3の左側のデータパターン(00001000)乃至(100111011101))を置換符号からなる符号パターン(例えば、表3の右側の符号パターン(000 100 100 100)乃至(001)(no-change))に置換する置換テーブル(例えば、表3の下側のデータパターン(00001000)乃至(100111011101)までの範囲)とを備え、前記置換テーブルは、データパターンとしての、前記最小ランの連続をN(N>1)回以下に制限する最小ラン連続制限データパターン(例えば、表3の(110111)(next“010”)、(1001110111)、(100111011101))と、符号パターンとしての、前記最小ラン連続制限データパターンに対応する最小ラン連続制限符号パターン(例えば、表3の符号パターン“001 000 000”、“$0$ 010 000 000 101”、“001(no-change)”)を含み、前記最小ラン連続制限符号パターンの少なくとも1つは、直前あるいは直後の符号語列により値が決定される不確定符号(例えば、表3の“$”)を含み、前記不確定符号を含む最小ラン連続制限符号パターン(例えば、表3の符号パターン“$0$ 010 000 000 101”)を全体として変換するかまたは分割して個別に変換するかを決定する条件が、前記不確定符号を含む最小ラン連続制限符号パターンに対応する前記最小ラン連続制限データパターン(例えば、表3の(1001110111))の直後のデータビット(例えば、表3の(100111011101)の最後の2データビット(01)、表4のデータパターン(1001110111)の直後に位置するデータビット(01))で規定されている変調テーブル(例えば、表3の変調テーブル)である。
前記条件が、前記不確定符号を含む最小ラン連続制限符号パターン(例えば、表3の符号パターン“$0$ 010 000 000 101”)に対応する最小ラン連続制限データパターンである第1の最小ラン連続制限データパターン(例えば、表3の(1001110111))を一部に含む最小ラン連続制限データパターンであって、全体を分割して個別に変換する第2の最小ラン連続制限データパターン(例えば、表3の(100111011101))として規定されている変調テーブルとすることができる。
前記第1の最小ラン連続制限データパターン(例えば、表3の(1001110111))に含まれる第3の最小ラン連続制限データパターン(例えば、表3の(110111))は、次の3符号が“010”であるとき、全体が一括して前記不確定符号を含まない他の置換符号(例えば、表3の“001 000 000”)に変換されるようにすることができる。
前記条件が、前記不確定符号を含む最小ラン連続制限符号パターンに対応する最小ラン連続制限データパターンの直後に位置するデータビット(例えば、表4の(1001110111(not01)の(not01))として規定されている変調テーブルとすることができる。
前記不確定符号を含む最小ラン連続制限符号パターンは、d=1における最小ランの連続を制限する場合、直前の3符号が“010”のとき(例えば、図12のステップS83で直前符号語フラグがonであると判定されたとき)“0”となり(例えば、図12のステップS86)、直前の3符号が“010”でないとき(例えば、図12のステップS83で直前符号語フラグがonではないと判定されたとき)“1”となる(例えば、図12のステップS84)不確定符号“$”を含む符号語“$0$”を含むようにすることができる。
前記符号語“$0$”は、さらに直前の符号が“1”のとき(例えば、図12のステップS82で直前符号フラグがonであると判定されたとき)“000”となる(例えば、図12のステップS86)ようにすることができる。
本発明の他の側面は、基本データ長がmのデータを、最小ランがd、かつ最大ランがkの、基本符号語長がnの可変長符号(d,k;m,n;r)(最大拘束長r>1)に変換する変調装置において、入力データの、前記最小ランの連続をN(N>1)回以下に制限する第1の最小ラン連続制限データパターン(例えば、表3の(1001110111))と一致する部分を、一括して、前記第1の最小ラン連続制限データパターンに対応する、不確定符号を含む第1の最小ラン連続制限符号パターン(例えば、表3の符号パターン“$0$ 010 000 000 101”)に変換する第1の変換手段(例えば、図4の最小ラン連続制限テーブル92B)と、前記不確定符号を確定する確定手段(例えば、図4の不確定ビット決定部93)と、入力データの、前記第1の最小ラン連続制限データパターンの一部を構成する部分データパターンと一致する部分を、個別に、対応する符号パターンに変換する第2の変換手段(例えば、図4の変換テーブル72)と、前記第1の最小ラン連続制限データパターンを前記第1の最小ラン連続制限符号パターンに一括して変換する場合の条件を、入力データを構成するデータビットから検出する検出手段(例えば、図4の最小ラン連続制限データ検出部91、最小ラン連続制限データ検出予想部81)と、入力データが前記条件を満足することが検出された場合(例えば、図17のステップS231で最小ラン連続制限データ検出フラグ(10data)がonと判定され、ステップS232で予想フラグがonではないと判定された場合)、一括して変換され、かつ前記不確定符号が確定された前記第1の最小ラン連続制限符号パターンを選択し(例えば、図17のステップS233)、入力データが前記条件を満足しないことが検出された場合(例えば、図17のステップS231で最小ラン連続制限データ検出フラグ(10data)がonではないと判定されるか、またはステップS232で予想フラグがonであると判定された場合)、前記第1の最小ラン連続制限データパターンが、前記部分データパターン毎に個別に変換された符号パターンを選択する(例えば、図17のステップS236乃至S245)選択手段(例えば、図4の変換パターン決定部53)とを備える変調装置(例えば、図1の変調装置1)である。
前記選択手段は、前記入力データが前記第1の最小ラン連続制限データパターンと一致する部分を含み(例えば、図17のステップS231で最小ラン連続制限データ検出フラグ(10data)がonであると判定され)、かつ、その一致する部分の直後のデータビットが予め設定されている所定のデータビットではない場合(例えば、図17のステップS232で予想フラグがonではないと判定された場合)、前記条件が満足されたと判定することができる。
RLL規則を守るための情報(例えば、直前のチャネルビット列が“1”のときonとされ、“0”のときoffとされる直前符号フラグ)を生成するRLL情報生成手段(例えば、図15のステップS171乃至S173の処理を実行する図4の直前符号検出部54)と、前記最小ランの連続をN回以下に制限するための情報(例えば、直前の3チャネルビットが、“010”であるときonとされ、そうでないときoffとされる直前符号語フラグ)を生成する制限情報生成手段(例えば、図16のステップS201乃至S203の処理を実行する図4の直前符号語検出部55)とをさらに備え、前記確定手段は、生成された前記RLL規則を守るための情報と前記最小ランの連続をN回以下に制限するための情報に基づいて、前記不確定符号を確定する(例えば、図12のステップS82,S83,S84,S86の処理)ことができる。
入力データの、前記第1の最小ラン連続制限データパターン(例えば、表3の(1001110111))の一部のデータパターンを構成する第2の最小ラン連続制限データパターン(例えば、表3の(110111))と一致する部分を、一括して、前記第1の最小ラン連続制限符号パターンと異なる第2の最小ラン連続制限符号パターン(例えば、表3の“001 000 000”)に変換する第3の変換手段(例えば、図4の最小ラン連続制限テーブル92A)をさらに備え、前記選択手段は、前記第2の最小ラン連続制限データパターンの次の3符号が“010”であるとき(例えば、図17のステップS234で最小ラン連続制限データ検出フラグ(6data)がonであると判定されたとき)、前記第2の最小ラン連続制限符号パターンを選択する(例えば、図17のステップS235)ことができる。
前記入力データのうちの少なくとも12ビットのデータを記憶する記憶手段(例えば、図4のシフトレジスタ42)をさらに備えることができる。
変調装置(例えば、図1の変調装置1)により変調された信号を記録媒体(例えば、図1の記録媒体13)に記録することができる。
また本発明の側面は、基本データ長がmのデータを、最小ランがd、かつ最大ランがkの、基本符号語長がnの可変長符号(d,k;m,n;r)(最大拘束長r>1)に変換する変調方法において、入力データの、前記最小ランの連続をN(N>1)回以下に制限する最小ラン連続制限データパターン(例えば、表3の(1001110111))と一致する部分を、一括して、前記最小ラン連続制限データパターンに対応する、不確定符号を含む最小ラン連続制限符号パターン(例えば、表3の符号パターン“$0$ 010 000 000 101”)に変換する第1の変換ステップ(例えば、図12のステップS81)と、前記不確定符号を確定する確定ステップ(例えば、図12のステップS84,S86)と、入力データの、前記最小ラン連続制限データパターンの一部を構成する部分データパターンと一致する部分を、個別に、対応する符号パターンに変換する第2の変換ステップ(例えば、図9のステップ5)と、前記最小ラン連続制限データパターンを前記不確定符号を含む最小ラン連続制限符号パターンに一括して変換する場合の条件を、入力データを構成するデータビットから検出する検出ステップ(例えば、図10のステップS31乃至S33、図11のステップS52,S53)と、入力データが前記条件を満足することが検出された場合(例えば、図17のステップS231で最小ラン連続制限データ検出フラグ(10data)がonと判定され、ステップS232で予想フラグがonではないと判定された場合)、一括して変換され、かつ前記不確定符号が確定された前記最小ラン連続制限符号パターンを選択し(例えば、図17のステップS233)、入力データが前記条件を満足しないことが検出された場合(例えば、図17のステップS231で最小ラン連続制限データ検出フラグ(10data)がonではないと判定されるか、またはステップS232で予想フラグがonであると判定された場合)、前記最小ラン連続制限データパターンが、前記部分データパターン毎に個別に変換された符号パターンを選択する選択ステップ(例えば、図17のステップS236乃至S245)とを備える変調方法(例えば、図1の変調装置1の変調方法)である。
以下、図を参照して本発明の実施の形態について説明する。以後、変換前のデータパターンを、(000011)のように( )で区切って表し、変換後のチャネルビット列(符号パターン)を、“000 100 100”のように“ ”で区切って表す。また、本明細書において、1,7PP符号(PP : Parity-preserve Prohibit-repeated-minimum-transition-runlength)とは、最小ランd=1、最大ランk=7、かつ変換率(m:n)=(2:3)である可変長符号であり、さらに、最小ランの連続する回数を制限し、かつ、最小ランおよび最大ランを守りながら、効率の良いDSV制御ビットで、完全なDSV制御を行う変調テーブル(変換テーブル)を持つ符号をいう。
以下の表3は、本発明の一実施の形態としての変調テーブルを表す。
<表3>
1,7PP-rmtr5_code. rev.1 RLL(1,7;2,3;5)
17PP-rmtr5_ver.1
データパターン 符号パターン
i=1 11 *0*
10 001
01 010
i=2 0011 010 100
0010 010 000
0001 000 100
i=3 000011 000 100 100
000010 000 100 000
000001 010 100 100
000000 010 100 000
i=4 00001000 000 100 100 100
00000000 010 100 100 100
i=3 110111(next“010”) 001 000 000
i=5 1001110111 $0$ 010 000 000 101
i=6 100111011101 001 (no-change)
if xx1 then *0* = 000
xx0 then *0* = 101
if x10 or x01 then $0$ = 000
x00 $0$ = 101
Sync & Termination
#01 010 000 000 010 000 000 010 (24 cbits)
# = 0 not terminate case
# = 1 terminate case
Termination table
00 000
0000 010 100
なお、符号パターン“001”(no-change)は、データパターン(100111011101)を一括して変換しないこと、すなわち、データパターン(100111011101)を個別のデータに分割して、それぞれを変換することを意味する(換言すれば、データパターン(1001110111)は、その直後のデータビットが(01)である場合、一括して符号パターン“$0$ 010 000 000 101”に変換されず、分割して個別に変換されることを意味する)。具体的には、データパターン(100111011101)は最初の変換処理で、その先頭のデータ(10)が“001”に変換される。次の変換処理で、次のデータ(01)が“010”に変換される。以下同様に、次のデータ(110111)(next“010”)、さらに次のデータ(01)が、それぞれ、“001 000 000”,“010”に順次変換される。“001”(no-change)の“001”は、最初の回の変換の符号語を表している。
表3の拘束長i=5,6の部分は、次の表4に示されるように、データパターン(1001110111)は、その直後に位置するデータビットが(01)ではない((01)以外のデータビットである)場合に、符号パターン“$0$ 010 000 000 101”に変換されると規定した場合と等価である。
<表4>
データパターン 符号パターン
i=5 1001110111(not01) $0$ 010 000 000 101
表3の変調テーブルは、表1あるいは表2の変調テーブルと同様に、データパターンと符号パターンとよりなる変換パターンで構成されている。変調装置が表3の変調テーブルに従って変調を行う場合、変調装置に入力されたデータ列が、表3に記述されているデータパターンと一致すれば、そのデータ列のデータパターンと一致する部分は、対応する符号パターンに変換され、符号語列として出力される。
表3の変調テーブルは、1,7PP符号であり、さらに、基本構成が表2と同様である。この表3の変調テーブルは、基礎テーブル、置換テーブル、および終端テーブルにより構成される。
基礎テーブルは、それがないと変換処理ができない変換パターン(基礎パターン)により構成され、置換テーブルは、それがなくても変換処理は可能であるが、それを行うことによって、より効果的な変換処理を実現する(最大ランを制限したり、最小ランの連続を制限する)ことができる変換パターン(置換パターン)により構成される。終端テーブルは、符号を任意の位置で終端させるための変換パターン(終端パターン)により構成される。
具体的には、表3に示される変調テーブルのうち、(11)から(000000)までのデータパターンからなる基礎データパターンと、それに対応する“*0*”から“010 100 000”までの符号パターンからなる基礎符号パターンを含む変換パターン(基礎パターン)により構成される部分が基礎テーブルとしての変調テーブルであり、(00001000),(00000000),(110111)(next“010”),(1001110111),(100111011101)のデータパターンからなる置換データパターンと、それに対応する“000 100 100 100”,“010 100 100 100”,“001 000 000”,“$0$ 010 000 000 101”,“001”(no-change)の符号パターンからなる置換符号パターンを含む変換パターン(置換パターン)により構成される部分が置換テーブルとしての変調テーブルである。
置換テーブルのうち、(00001000),(00000000)のデータパターンからなる置換データパターンと、それに対応する“000 100 100 100”,“010 100 100 100”の符号パターンからなる置換符号パターンを含む部分は、最大ランを制限するための置換パターンのテーブルであり、(110111)(next“010”),(1001110111),(100111011101)のデータパターンからなる置換データパターンと、それに対応する“001 000 000”,“$0$ 010 000 000 101”,“001”(no-change)の符号パターンからなる置換符号パターンにより構成される部分が最小ランの連続を制限する置換パターン(最小ラン連続制限パターン)のテーブルである。
また、(00),(0000)のデータパターンからなる終端データパターンと、それに対応する“000”,“010 100”の符号パターンからなる終端符号パターンを含む変換パターン(終端パターン)により構成される部分が終端テーブルとしての変調テーブルである。
(11)から(00000000)までのデータパターンは、条件によらず、固定的に、“*0*”から“010 100 100 100”までの対応する符号パターンに変換される。その意味で、以下、これらの変換パターンを固定的変換パターンとも記述する。
これに対して、(110111)(next“010”)のデータパターンは、条件によっては(次のチャネルビットが“010”であるとき)、全体が一括して“001 000 000”の符号パターンに変換されるが、条件によっては(次のチャネルビットが“010”でないとき)、データパターンの全体が一括して変換されず、個別のデータパターン(固定的変換パターン)に分解され、個々のデータパターン毎に対応する符号パターンに変換される。その意味で、以下、この変換パターンを、条件的変換パターンとも記述する。
また、データパターンと符号パターンの対応関係を記述するのが変調テーブルであり、以下においては、表3の一部のことも必要に応じて変調テーブルあるいは変換テーブルと記述する。
表3は、最小ランd=1、最大ランk=7で、基礎符号の要素に不確定符号(記号*で表される符号)を持つ。この不確定符号は、最小ランdと最大ランkを守るように、“0”か“1”に決定される。すなわち表3において、変換する2データが(11)であったとき、その直前の符号語列(チャネルビット列)によって、“000”または“101”が選択され、そのいずれかに変換される。例えば、直前の符号語列の1チャネルビット(符号)が“1”である場合、最小ランdを守るために、2データ(11)は、符号語“000”に変換され、直前の符号語列の1チャネルビットが“0”である場合、最大ランkが守られるように、2データ(11)は、符号語“101”に変換される。
表3の変調テーブルは可変長構造を有しているので、基礎パターンはi=1からi=3までの変換パターンを有する。
また、表3の変調テーブルは、拘束長i=3において、最小ランdの連続を制限する置換パターンを持っている。データ列がデータパターン(110111)と一致する場合、さらにその直後の符号語が参照される。後ろに続く符号語列(チャネルビット)が“010”である時、この6データ(110111)は、一括して符号語“001 000 000”に置き換えられる。またこのデータパターンは、直後の符号語列が“010”でない場合(“001”,“101”,または“000”である場合)、2データ単位((11),(01),(11))に分割されて符号語に変換されるので、符号語“*0* 010 *0*”、即ち符号語“*0* 010 101”に変換される。
表3の変調テーブルはさらに、拘束長i=5において、最小ランdの連続を制限する置換パターンを別途持っている。データ列がデータパターン(1001110111)と一致する場合、後述の例外処理(続くデータが(01)である場合の処理)を除いて、このデータ列10ビットは、符号語“$0$ 010 000 000 101”に置き換えられる。符号語“$0$”の“$”はRLL規則を守り、かつ、最小ランの連続を所定回数までに制限するための不確定符号である。具体的には、直前の符号語列の1チャネルビットが“1”である場合には、最小ランを守るために、符号語“$0$”は、符号語“000”に変換される。これに対して直前の符号語列の1チャネルビットが“0”である場合には最大ランを守り、さらに、最小ランの連続を所定回数までに制限するために、直前の符号語列の3チャネルビットが“010”であるとき、符号語“$0$”は符号語“000”に変換され、直前の3チャネルビットが“010”ではないときには、符号語“101”に変換される。
この実施の形態においては、不確定符号$を直前の符号の値に基づいて確定するようにしたが、その位置によっては、直後の符号により確定するようにすることもできる。
以上をまとめると、次のようにも表現することができる。すなわち、直前の符号語列の2チャネルビットが、“10”あるいは“01”である場合、“$0$”は符号語“000”に置換され、そうでない時、即ち“00”である場合、“$0$”は符号語“101”に置換される。なお、2チャネルビットのパターンとしては4通りあるが、残る“11”は最小ランd=1を満たしていないので、変換パターンとして規定されていない。
また、例外処理とは、以下の通りである。即ち、データ列が(1001110111)である場合、さらに直後のデータが参照される。後ろに続くデータが(01)である時(結局、データが(100111011101)である時)、上述の様な置換処理は行われずに、先頭の2ビット(10)のみが、符号語“001”に変換される。
そして、次回の処理で、データ(01)が符号パターン“010”に変換され、さらに次の処理で、データ(110111)(next“010”)が、符号パターン“001 000 000”に変換される。
これによって、データを変換した符号語列は、最小ランの連続が制限され、最大でも5回までの最小ラン繰り返しとなる。
そして表3の変調テーブルは、拘束長i=4の変換パターンにおいて、最大ランk=7を実現するための置換パターン(最大ラン保証パターン)を持っている。すなわち、データ(00001000)は符号語“000 100 100 100”に変換され、データ(00000000)は符号“010 100 100 100”に変換される。なお、この場合にも最小ランd=1は守られている。
さらに表3は、同期パターンを挟むために、データ列の任意の位置において終端させる場合、データ列が(00)または(0000)で終端位置となる際には、終端パターンが用いられる。挿入される同期パターンは、先頭の1符号が終端パターン使用識別ビットとなっており、終端パターンが用いられた時は、直後の同期パターン列の先頭符号が“1”となる。また終端パターンが用いられなかった時は、“0”となる。なお、表3における同期パターンは、上述の終端パターン使用識別ビットと、同期パターン検出のために最大ランk=7を超えるk=8の符号語を持ち、最後の符号が“0”となるように構成されており、例えば表3にあるように、k=8を2回繰り返して、合計24符号(チャネルビット)で構成されている。
ところで表3の変換パターンは、データパターンの要素としての“1”の個数を2で割った時の余りと、変換される符号パターンの要素としての“1”の個数を2で割った時の余りが、どちらも1あるいは0で同一(対応するいずれの変換パターンも、“1”の個数が奇数または偶数)となるような変換規則を持っている。例えば、変換パターンのうちのデータパターン(000001)は、“010 100 100”の符号パターンに対応しているが、それぞれの要素としての“1”の個数は、データパターンでは1個、対応する符号パターンでは3個であり、どちらも2で割ったときの余りが1(奇数)で一致している。同様にして、変換パターンのうちのデータパターン(000000)は、“010 100 000”の符号パターンに対応しているが、それぞれ“1”の個数は、データパターンでは0個、対応する符号パターンでは2個であり、どちらも2で割ったときの余りが0(偶数)で一致している。
結局、各変換パターンにおける、データパターンとチャネルビット列は、DSV極性が保存されているので、データ列内において、冗長ビットとしてDSV制御ビットを1ビット挿入し、このDSV制御ビットが(1)である時、DSV制御ビット部分を含むデータ列をチャネルビット列に変換し、NRZI化して記録符号列を作成すると、極性が反転する。また前記DSV制御ビットが(0)である時、DSV制御ビット部分を含むデータ列をチャネルビット列に変換し、NRZI化して記録符号列を作成すると、極性は反転しない。従って、表3のような、DSV極性が保存された変調テーブルは、データ列内に冗長ビットとして挿入された1ビットによって、これをデータ変換し、NRZI化した後の極性を変えることが出来るので、データ列内でDSV制御が出来ることになる。
なお、変換のために参照する最大データパターンは、表3において、
データパターン 符号パターン
100111011101 001 (no-change)
の場合である。データパターン(1001110111)の後ろに続くデータパターンが(01)であるかどうかをデータ列から判定するためには、(1001110111)(10ビット)の後ろに続くデータ列の参照は、最大で(01)(2ビット)となり、合計すると12ビットの参照となる。
従って、表3のこの部分の変換パターンを、例えば
データパターン 符号パターン
1001110111(next“010”) 001(no-change)
のように記述する場合に較べて、後述する図4のシフトレジスタ42(従って装置)を小型化し、低コスト化することができる。また、入力データがデータパターンと一致するかどうかの判定を迅速に行うことができる。
すなわち、表3を上記したように記述した場合には、データパターン(1001110111)の後ろに続く符号語列が“010”であるかどうかを判定する必要があるが、そのためには、(1001110111)(10ビット)の後ろに続くデータ列の参照は、最大で(00000)(5ビット)となり、合計すると15ビットとなる。従って、シフトレジスタ(従って装置)が表3のように記述する場合より大型化し、コスト高となることになる。また、入力データがデータパターンと一致するかどうかの判定を行うのにそれだけ時間がかかることになる。
次に、本発明の実施の形態に係る変調装置の構成を図面を参照しながら説明する。図1は、本発明の実施の形態の変調装置1の全体の構成を示すブロック図である。変調装置1は、入力されたデータ列を符号化し、出力する符号化装置11と、符号化装置11の出力を記録媒体13に記録する記録部12により構成されている。符号化装置11は、DSV制御ビット決定挿入部21、変調部22、同期パターン挿入部23、並びにNRZI化部24により構成される。
DSV制御ビット決定挿入部21は、入力されたデータ列に対して、所定のフォーマットに従って任意の間隔でDSV制御を行い、その結果任意の間隔でDSV制御ビットである“1”あるいは“0”の決定を行い、挿入を行う。変調部22は、DSV制御ビットの挿入されたデータ列を変調する。同期パターン挿入部23は、所定の間隔で所定の位置に同期パターンを挿入する。NRZI化部24は、同期パターンが挿入されたデータを、記録符号列に変換する(あるいは伝送路に出力する場合は伝送符号列に変換する)。記録部12は、NRZI化部24より入力された記録符号列を、例えば光ディスク、磁気ディスク、光磁気ディスク等により構成される記録媒体13に記録する。また、図示はしないが、タイミング信号を生成し、各部に供給してタイミングを管理するタイミング管理部が設けられている。
図2は、変調装置1の各部に入出力されるデータのデータフォーマットを示す図であり、同期パターンを含んだ、DSV制御ビットの挿入の関係が示されている。図示せぬ装置からDSV制御ビット決定挿入部21に入力されるデータ列(図2A)には、ユーザデータの他、ECC(Error-Correcting Code)等の情報データが含まれている。DSV制御ビット決定挿入部21は、このデータ列の所定間隔の位置にDSV制御ビットを1ビット挿入する(図2B)。先頭の区間は、シンクSYNC(同期パターン)を挿入することを前提として、あらかじめ他の区間と異なる長さとされている。図2B中のDSV区間(DATA1,DATA2、およびDATA3)の長さをそれぞれaデータ、bデータ、およびbデータとすると、変換率m:n = 2:3の変調テーブル(表3)を用いた変調部22による変調により、各DSV区間(DATA1, DATA2, およびDATA3)の変換cbit(チャネルビット)区間は、( a×3/2 ) = ( 1.5a )あるいは、( b×3/2) = ( 1.5b )となる(図2C)。その後、同期パターン挿入部23は、所定の位置(図2ではDATA1位置の前の先頭位置)にシンク(SYNC)を挿入する(図2D)。SYNCのチャネルビット数をc(cbit)とすれば、a,b,cの間には、次の式(1)の関係が成り立つようにする。
1.5a + c = 1.5b …(1)
このとき、同期パターンを含んだフォーマットにおいても、等しい間隔でDSV制御が行われることとなる。
図2によるチャネルビット内のDSV制御ビットは、1.5チャネルビット相当である。すなわち、データ列内にDSV制御ビットは1ビット挿入されるから、チャネルビット相当では変換率分だけ増加し、
1ビット × n/m = 1×3/2 = 1.5チャネルビット …(2)
となる。
これを従来の方式と比較すると、例えば、チャネルビット内でDSV制御を、最小ランd=1を守って行うためには、2チャネルビットが必要である。あるいは、最小ランと最大ランの両方を守ってDSV制御を行うためには、4チャネルビットが必要である。従って、従来のDSV制御方式と較べると、本方式のデータ列内DSV制御ビット挿入は、DSV制御のための冗長チャネルビットが少なく行えることがわかる。
同期パターンが挿入されたチャネルビット列が、NRZI化部24によりNRZI化され(図2E)、記録符号列として記録部12に供給され、記録媒体13に記録される。
図3は、符号化装置11の主要部のより詳細な構成を示すブロック図である。DSV制御ビット決定挿入部21は、入力データにDSV制御ビットを付加する加算器41を有している。変調部22は、変換データ処理部51、最小ラン連続制限処理部52、変換パターン決定部53、直前符号検出部54、および直前符号語検出部55により構成されている。
加算器41は、入力されたデータ列に、DSV制御ビットを所定の間隔で挿入する。DSV制御ビットが挿入された入力データ列は、変換データ処理部51と最小ラン連続制限処理部52へ送られる。変換データ処理部51は、表3の基礎パターンと最小ランk=7を実現するための置換パターンを有しており、RLL規則を守るように変換データ処理を行い、その処理情報を変換パターン決定部53へ供給する。この変換データ処理には、直前符号検出部54からの情報が用いられる。また、変換データ処理部51は、同期パターンを挿入するための終端テーブルを有しており、所定の位置で終端させるように、必要に応じて終端テーブルを用いる。終端テーブルが用いられた際には、その情報が同期パターンに埋め込まれる。
最小ラン連続制限処理部52は、表3の最小ランdの連続を制限する置換パターンを有しており、最小ランの連続回数を所定の回数までに制限するように処理を行い、その処理情報を変換パターン決定部53へ供給する。この処理には、直前符号検出部54からの情報と直前符号語検出部55からの情報が用いられる。変換パターン決定部53は、変換データ処理部51からの情報と最小ラン連続制限処理部52からの情報より、最終的に確定した変換パターンを選び出し、その符号語列を出力する。符号語列には、同期パターン挿入部23により、所定の間隔、所定の位置に同期パターンが挿入される。同期パターンの決定には、必要に応じて変換データ処理部51から出力された終端テーブル処理情報が用いられる。そして、同期パターン挿入部23の出力はNRZI化部24においてNRZI化され、記録符号列として出力される(あるいは、伝送符号列として伝送路に出力される)。
直前符号検出部54は、変換パターン決定部53により最終的に確定された変換パターンからRLLを保証するために必要な情報として、処理対象データの直前の1チャネルビットの符号を検出し、その検出結果を変換データ処理部51と最小ラン連続制限処理部52へ供給する。直前符号語検出部55は、変換パターン決定部53により最終的に確定された変換パターンから、最小ランの連続制限回数を保証するために必要な情報として、処理対象データの直前の最小単位の符号語を検出し、その検出結果を最小ラン連続制限処理部52へ供給する。
また各部の動作のタイミングは、図示しないタイミング管理部から供給される、タイミング信号に同期して管理されている。
図4は、図3の符号化装置11の主要部のより詳細な構成を示すブロック図である。DSV制御ビット決定挿入部21には、加算器41の出力を2ビット単位で最大12ビット分保持するシフトレジスタ42が設けられている。シフトレジスタ42の出力は、変換データ処理部51と最小ラン連続制限処理部52に出力されている。
変換データ処理部51は、変換パターン検出部71、変換テーブル(変調テーブル)72A乃至72D、セレクタ73、並びに不確定ビット決定部74により構成されている。
最小ラン連続制限処理部52は、最小ラン連続制限データ検出予想部81と最小ラン連続制限データ処理部82とにより構成されている。最小ラン連続制限データ処理部82は、最小ラン連続制限データ検出部91、最小ラン連続制限テーブル(変調テーブル)92A,92B、並びに不確定ビット決定部93により構成されている。
加算器41は、入力されたデータ列にDSV制御ビットを所定の間隔で挿入する。DSV制御ビットが挿入された入力データ列は、シフトレジスタ42により1データずつ順次シフトされ、処理単位である2データ単位に揃えられる。2データ単位のデータ列は、変換パターン検出部71、最小ラン連続制限データ検出予想部81、並びに最小ラン連続制限データ検出部91に対して、各部がその処理を行うのに必要なビット数分だけ並列に供給される。
表3が変調テーブルとされるので、各部がその処理を行うのに必要な参照ビット数の最大値は12ビットであり、2ビット単位で処理されるため、シフトレジスタ42は12ビットを保持する。
変換パターン検出部71は、シフトレジスタ42から入力されたデータ列より、RLL規則を守る変換パターンの検出を行い、その結果情報(変換パターン決定情報)を変換パターン決定部53へ出力するとともに、各変換テーブル72A乃至72Dへも出力する。変換テーブル72Aは拘束長i=1の変換処理を行う。すなわち、2データを3チャネルビットに変換し、セレクタ73に出力する。変換テーブル72Bは拘束長i=2の変換処理を行う。すなわち、4データを6チャネルビットに変換し、変換パターン決定部53に出力する。変換テーブル72Cは拘束長i=3の変換処理を行う。すなわち、6データを9チャネルビットに変換し、変換パターン決定部53に出力する。変換テーブル72Dは拘束長i=4の変換処理を行う。すなわち、8データを12チャネルビットに変換し、変換パターン決定部53に出力する。また、変換パターン検出部71は、不確定符号に対応する不確定データを検出したとき、セレクタ73に不確定パターン識別情報を出力する。
セレクタ73は、変換パターン検出部71からの不確定パターン識別情報に基づいて、変換テーブル72Aから供給されるチャネルビット列に不確定符号が含まれる場合(不確定パターン識別情報が不確定符号の存在を表している場合)、変換テーブル72Aより供給されたチャネルビット列を不確定ビット決定部74に出力する。
不確定ビット決定部74は、直前符号検出部54の出力に基づいて、セレクタ73より供給された3チャネルビットに含まれる不確定ビットを確定し、不確定ビットが確定された後の3チャネルビットの符号列を変換パターン決定部53に出力する。これに対して、不確定符号が含まれていない場合には、セレクタ73は、変換テーブル72Aより供給されたチャネルビット列を変換パターン決定部53に直接出力する。
また、変換データ処理部51は同期パターンを挿入するための終端テーブルを持っており、所定の位置で終端させるように、必要に応じて終端テーブルを用いる。終端テーブルが用いられた際には、その情報が同期パターンに埋め込まれる。
最小ラン連続制限データ検出部91は、シフトレジスタ42より供給されるデータ列内に、最小ランの連続回数を制限するための変換パターンを検出した時、その情報を最小ラン連続制限データ検出情報として、変換パターン決定部53へ出力するとともに、各最小ラン連続制限テーブル92A,92Bにも出力する。最小ラン連続制限テーブル92Aは、最小ラン連続制限データ検出部91より供給された最小ラン連続制限データ検出情報に基づいて、6データを9チャネルビットに変換する処理を行い、9チャネルビットの符号列を変換パターン決定部53に出力する。最小ラン連続制限テーブル92Bは、最小ラン連続制限データ検出情報に基づいて、10データを15チャネルビットに変換し、不確定ビット決定部93に出力する。不確定ビット決定部93は、直前符号検出部54と直前符号語検出部55の出力に基づいて、最小ラン連続制限テーブル92Bより供給された15チャネルビットに含まれる不確定ビットを確定し、不確定ビットが確定された後の15チャネルビットの符号列を変換パターン決定部53に出力する。
最小ラン連続制限データ検出予想部81は、シフトレジスタ42より入力されたデータ列の先頭ではない所定の位置(途中の位置)において、最小ランの連続回数を制限するための変換パターンのうち所定の変換パターンを検出した時、その情報を最小ラン連続制限データ検出予想情報として変換パターン決定部53へ出力する。
変換パターン決定部53は、変換パターン検出部71、最小ラン連続制限データ検出部91、そして最小ラン連続制限データ検出予想部81からの情報を用いて、変換テーブル72A乃至72Dおよび最小ラン連続制限テーブル92A,92Bより入力されるチャネルビット列から1つのチャネルビット列(変換パターン)を決定(選択)して、同期パターン挿入部23に出力する。同期パターン挿入部23は、変換パターン決定部53により決定された変換パターン列に対して、所定の間隔、所定の位置に同期パターンを挿入し、出力する。同期パターン挿入部23は、変換データ処理部51により発生され、変換パターン決定部53を介して得られた終端テーブル処理に関する情報を用いて同期パターンを決定する。NRZI化部24は、同期パターンが挿入されたチャネルビット列をNRZI化し、記録符号列(あるいは伝送路に出力する場合は伝送符号列)として出力する。
直前符号検出部54は、変換パターン決定部53により最終的に確定された変換パターンからRLLを保証するために必要な情報として、次の変換処理の直前のチャネルビットを検出し、その検出結果(直前符号フラグ)を変換データ処理部51内の不確定ビット決定部74と、最小ラン連続制限処理部52内の不確定ビット決定部93へ供給する。直前符号語検出部55は、変換パターン決定部53により最終的に確定された変換パターンから、最小ランの連続制限回数を保証するために必要な情報として、次の変換処理の直前の最小単位の符号語を検出し、その検出結果(直前符号語フラグ)を最小ラン連続制限処理部52内の不確定ビット決定部93へ供給する。
また各部の動作のタイミングは、図示しないタイミング管理部から供給されるタイミング信号に同期して管理されている。
図4と表3の間での対応を示すと、次のようになる。すなわち、最小ラン連続制限データ検出部91は、表3において、入力データ列が(110111)であり、さらに続くチャネルビット列が“010”である時、または入力データ列が(1001110111)である時、動作する。最小ラン連続制限データ検出予想部81は、表3において、入力データ列の5データ目以降が、(110111)であり、さらに続く2データが(01)である時、動作する。
直前符号検出部54は、図5に示されるように、決定された変換パターン(チャネルビット列)の一番最後のチャネルビット列を記憶し、これが“1”か、“0”かの情報(直前符号フラグ)を出力する。直前符号語検出部55は、図6に示されるように、決定された変換パターン(チャネルビット列)の、最後から2チャネルビット目を記憶し、これが、“1”か、“0”かの情報(直前符号語フラグ)を出力する。あるいは、直前符号語検出部55は、最小ランd=1の特性とあわせて、最後から3チャネルビット分を記憶し、これが“010”か、そうでないかの情報(直前符号語フラグ)を出力する。不確定ビット決定部74は、図7に示されるように、表3において、入力データパターン(11)を“*0*”に変換するテーブルに相当する。直前のチャネルビットが“1”のときは(直前符号フラグがonのときは)“000”が、直前のチャネルビットが“0”のときは(直前符号フラグがoffのときは)“101”が、それぞれ出力される。
不確定ビット決定部93は、図8に示されるように、表3において、入力データパターン(1001110111)を置換符号“$0$ 010 000 000 101”に置換するテーブルに相当する。直前の符号が“1”であるとき(直前符号フラグがonのとき)、または“0”であっても、直前の符号語が“010”であるとき(直前符号語フラグがonのとき)、不確定符号“$0$”は“000”とされる。直前の符号語が“010”ではないとき(直前符号語フラグがoffのとき)、不確定符号“$0$”は“101”とされる。換言すると、直前の2チャネルビットが“10”あるいは“01”のときは置換符号“000 010 000 000 101”が、直前の2チャネルビットが“00”のときは置換符号“101 010 000 000 101”が、それぞれ出力される。
さらに図4と表3の間での対応を示すと、変換パターン決定部53は、変換テーブル72A乃至72Dからの出力と、最小ラン連続制限テーブル92A,92Bからの出力が重なる場合に、変換パターン検出部71、最小ラン連続制限データ検出部91、そして最小ラン連続制限データ検出予想部81からの情報を用いて、変換パターンの決定を行う。表3において例えば、重なるのが(11)と(110111)+“010”の場合は、拘束長の大きい最小ラン連続制限テーブル92Aからの出力(後者)が選択される。また、表3において、例えば、重なるのが(10)と(1001110111)+“010以外”の場合は、最小ラン連続制限データ検出予想部81からの出力により、拘束長の大きい最小ラン連続制限テーブル92Bからの出力(後者)が選択される。また、表3において例えば、重なるのが(10)と(1001110111)+“010”の場合は、最小ラン連続制限データ検出予想部81からの出力により、拘束長の小さい変換テーブル72Aからの出力(前者)が選択される。
次に、図9のフローチャートを参照して、図1の変調装置1の記録方法(変調方法)について説明する。ステップS1において、DSV制御ビット決定挿入部21の加算器41は、入力されたデータ列にDSV制御ビットを付加する。ステップS2においてシフトレジスタ42は、加算器41より供給されたDSV制御ビットが付加されたデータ列を2ビット単位で保持する。ステップS3で最小ラン連続制限データ検出予想部81により予想処理が、ステップS4で最小ラン連続制限データ処理部82により最小ラン連続制限データ検出処理が、そして、ステップS5で変換データ処理部51により変換パターン検出処理が、それぞれ実行される。
なお、実際には、これらのステップS3乃至ステップS5の処理はそれぞれ並列して実行される。
ステップS3の予想処理の詳細は図10のフローチャートを参照して後述するが、これにより、データに変換パターン(110111)が途中から含まれており、かつ、次のデータが(01)である場合には予想フラグがonされる。そして、そうでない場合には予想フラグがoffされる。
これに対して、ステップS4の最小ラン連続制限データ検出処理の詳細は図11のフローチャートを参照して後述するが、これによりデータが変換パターン(1001110111)である場合には、最小ラン連続制限データ検出フラグ(10data)がonとされ、10データを15チャネルビットに変換する処理が実行される。また、データが変換パターン(110111)であり、次のチャネルビットが“010”である場合には、最小ラン連続制限データ検出フラグ(6data)がonとされる。そうでない場合には、最小ラン連続制限データ検出フラグがoffとされる。
ステップS5の変換パターン検出処理の詳細は図13のフローチャートを参照して後述するが、これにより、8データを12チャネルビットに変換する処理、6データを9チャネルビットに変換する処理、4データを6チャネルビットに変換する処理、または2データを3チャネルビットに変換する処理が実行される。
図9に戻って、次に、ステップS6において、変換パターン決定部53は変換パターン決定処理を実行する。この変換パターン決定処理の詳細は図17のフローチャートを参照して後述するが、これにより変換データ処理部51の変換テーブル72A乃至72Dにより変換された変換パターンと、最小ラン連続制限テーブル92A,92Bにより変換された変換パターンのいずれかが選択され、出力される。
ステップS7において、同期パターン挿入部23は、変換パターン決定部53より入力された、変換パターンが最終的に確定された符号列に対して同期パターンを挿入する。ステップS8において、NRZI化部24は、同期パターン挿入部23より供給された同期パターンが挿入されている符号列をNRZI化する。ステップS9において、記録部12は、NRZI化部24によりNRZI化された記録符号列を記録媒体13に記録する。
次に、図10のフローチャートを参照して、図9のステップS3における予想処理の詳細について説明する。
ステップS31において、最小ラン連続制限データ検出予想部81は、シフトレジスタ42より供給されたデータがデータパターン(xxxx110111)と一致するかを判定する。入力されたデータがデータパターン(xxxx110111)と一致する場合には、ステップS32において、最小ラン連続制限データ検出予想部81は、次のデータが(01)かを判定する。次のデータが(01)である場合には、ステップS33において、最小ラン連続制限データ検出予想部81は、予想フラグonを最小ラン連続制限データ検出予想情報として変換パターン決定部53に出力する。なお、予想フラグは予想処理を開始するとき、事前にあらかじめoffに初期設定されている。
ステップS32において、次のデータが(01)ではないと判定された場合、ステップS34において、最小ラン連続制限データ検出予想部81は、予想フラグoffを出力する。また、ステップS31において、データがデータパターン(xxxx110111)と一致しないと判定された場合にも、最小ラン連続制限データ検出予想部81は、予想フラグoffを出力する。
この予想フラグは、図17のステップS232において利用される。
次に、図11のフローチャートを参照して、図9のステップS4の最小ラン連続制限データ検出処理について説明する。
ステップS51において、最小ラン連続制限データ処理部82の最小ラン連続制限データ検出部91は、最小ラン連続制限データ検出フラグをoffする。すなわち、最小ラン連続制限データ検出フラグ(10data)と最小ラン連続制限データ検出フラグ(6data)がoffに初期設定される。ステップS52において、最小ラン連続制限データ検出部91は、シフトレジスタ42より供給されたデータがデータパターン(1001110111)と一致するかを判定する。入力されたデータがデータパターン(1001110111)と一致する場合には、ステップS53において、最小ラン連続制限データ検出部91は、最小ラン連続制限データ検出フラグ(10data)onを最小ラン連続制限データ検出情報として、変換パターン決定部53と最小ラン連続制限テーブル92A,92Bに出力する。このフラグは、後述する図17のステップS231で利用される。
ステップS54において、最初ラン連続制限テーブル92Bは、10データ/15チャネルビット処理を実行する。この処理の詳細は図12に示されている。
すなわち、ステップS81において、最小ラン連続制限テーブル92Bは“$0$ 010 000 000 101”を不確定ビット決定部93に出力する。ステップS82において、不確定ビット決定部93は、直前符号フラグはonかを判定する。直前符号フラグは、直前符号検出部54が不確定ビット決定部93に出力するフラグであり、その詳細は図15のフローチャートを参照して後述するが、この直前符号フラグは、直前の符号語列の1チャネルビットが“1”のときonとされる。
ステップS82において、直前符号フラグがonであると判定された場合(直前の符号が“1”である場合)、ステップS86において、不確定ビット決定部93は、最小ラン連続制限テーブル92Bより供給された不確定符号を含む符号語“$0$”を“000”に設定し、ステップS87において“000 010 000 000 101”を変換パターン決定部53に出力する。この符号列は、図17のステップS233で選択、出力される。
ステップS82において、直前符号フラグがonではない(offである)と判定された場合(直前の符号が“0”である場合)、ステップS83において、不確定ビット決定部93は、直前符号語フラグがonかを判定する。この直前符号語フラグは、直前符号語検出部55により検出され、不確定ビット決定部93に供給されるフラグであり、このフラグは図16のフローチャートに示されるようにして検出される。その詳細は図16のフローチャートを参照して後述するが、この直前符号語フラグは、この直前符号語列の3チャネルビットが“010”のときonとされる。
ステップS83において直前符号語フラグがonであると判定された場合(直前の符号が“010”である場合)には、ステップS86において、不確定ビット決定部93は、直前符号フラグがonである場合と同様に、“$0$”に“000”を設定し、ステップS87においてチャネルビット列“000 010 000 000 101”を変換パターン決定部53に出力する。
ステップS83において、直前符号語フラグがonではない(offである)と判定された場合(直前の符号が“010”ではない場合)、ステップS84において、不確定ビット決定部93は、符号語“$0$”に“101”を設定し、ステップS85においてチャネルビット列“101 010 000 000 101”を変換パターン決定部53に出力する。この符号列は、図17のステップS233で選択、出力される。
図11に戻って、ステップS52において、データがデータパターン(1001110111)と一致しないと判定された場合、ステップS55において、最小ラン連続制限データ検出部91は、データがデータパターン(110111)と一致するかを判定する。データがデータパターン(110111)と一致する場合には、ステップS56において、最小ラン連続制限データ検出部91は、次の3チャネルビットが“010”かを判定する。次の3チャネルビットが“010”である場合には、ステップS58において、最小ラン連続制限データ検出部91は、最小ラン連続データ検出フラグ(6data)onを出力する。このフラグは、図17のステップS234で利用される。ステップS59において、最小ラン連続制限テーブル92Aは、置換符号“001 000 000”を変換パターン決定部53に出力する。この符号列は、図17のステップS235で選択、出力される。
ステップS56において、次の3チャネルビットが“010”ではないと判定された場合には、ステップS57において、最小ラン連続制限データ検出部91は、最小ラン連続制限データ検出フラグoffを変換パターン決定部53に出力する。ステップS55において、入力されたデータがデータパターン(110111)と一致しないと判定された場合にも、ステップS57において最小ラン連続制限データ検出フラグoffが出力される。この最小ラン連続制限データ検出フラグのoffは、最小ラン連続制限データ検出フラグ(10data)がoffであることを意味するとともに、最小ラン連続制限データ検出フラグ(6data)がoffであることを意味する。
次に、図13のフローチャートを参照して、図9のステップS5における変換パターン検出処理の詳細について説明する。
ステップS101において、変換パターン検出部71は、シフトレジスタ42より入力されたデータがデータパターン(00001000),(00000000)と一致するかを判定する。入力されたデータがデータパターン(00001000)または(00000000)と一致する場合には、ステップS102において、変換パターン検出部71は、8データ/12チャネルビットの変換データ決定情報を出力する。この情報は、変換パターン決定部53と変換テーブル72A乃至72Dに供給される。また、この情報は、図17のステップS236で利用される。ステップS103において、変換テーブル72Dは、8データを12チャネルビットに変換する。そして、12チャネルビットの符号列は変換パターン決定部53に供給される。すなわち、入力されたデータがデータパターン(00001000)または(00000000)と一致する場合には、それぞれ符号列“000 100 100 100”または“010 100 100 100”が出力される。この符号列は、図17のステップS237で選択、出力される。
ステップS101において、入力されたデータがデータパターン(00001000),(00000000)と一致しないと判定された場合、ステップS104において、変換パターン検出部71は、入力されたデータがデータパターン(000011),(000010),(000001),(000000)と一致するかを判定する。入力されたデータがこの4つのいずれかと一致する場合には、ステップS105において変換パターン検出部71は、6データ/9チャネルビットの決定情報を変換パターン決定部53と変換テーブル72A乃至72Dに出力する。この情報は、図17のステップS238で利用される。ステップS106において、変換テーブル72Cは、6データを9チャネルビットに変換し、変換パターン決定部53に出力する。すなわち、入力されたデータがデータパターン(000011),(000010),(000001),(000000)のいずれかである場合には、それぞれ符号列“000 100 100”,“000 100 000”,“010 100 100”,“010 100 000”がそれぞれ出力される。この符号列は、図17のステップS239で選択、出力される。
ステップS104において、入力されたデータがデータパターン(000011),(000010),(000001),(000000)のいずれとも一致しないと判定された場合には、ステップS107において変換パターン検出部71は、入力されたデータがデータパターン(0011),(0010),(0001)と一致するかを判定する。入力されたデータがこの3つのデータパターンのいずれかと一致する場合には、ステップS108において変換パターン検出部71は、4データ/6チャネルビットの変換データ決定情報を変換パターン決定部53と変換テーブル72A乃至72Dに出力する。この情報は、図17のステップS240で利用される。ステップS109において変換テーブル72Bは、4データを6チャネルビットに変換し、変換パターン決定部53に出力する。すなわち、入力されたデータがデータパターン(0011)と一致する場合には符号列“010 100”が出力され、入力データがデータパターン(0010)と一致する場合には符号列“010 000”が出力され、入力データがデータパターン(0001)と一致する場合には符号列“000 100”が出力される。この符号列は、図17のステップS241で選択、出力される。
ステップS107において、入力されたデータがデータパターン(0011),(0010),(0001)のいずれとも一致しないと判定された場合には、ステップS110において変換パターン検出部71は、入力されたデータがデータパターン(11),(10),(01)と一致するかを判定する。入力されたデータがこの3つのデータパターンのいずれかと一致する場合には、ステップS111において変換パターン検出部71は、2データ/3チャネルビットの変換データ決定情報を変換パターン決定部53と変換テーブル72A乃至72Dに出力する。この情報は、図17のステップS242,S243で利用される。
ステップS112において、変換パターン検出部71は、入力された2データはデータパターン(11)と一致するかを判定する。入力されたデータがデータパターン(11)と一致する場合には、ステップS113において変換パターン検出部71は、不確定パターン識別情報をセレクタ73に出力する。不確定パターン識別情報は、後述する図14のステップS142で利用される。
ステップS112において、入力されたデータがデータパターン(11)と一致しないと判定された場合においては、ステップS113の処理はスキップされる。ステップS113の処理の後、またはステップS112でデータがデータパターン(11)と一致しないと判定された場合には、ステップS114において、変換テーブル72Aは、2データ/3チャネルビット処理を実行する。この2データ/3チャネルビット処理の詳細は図14のフローチャートに示されている。
次に、図14のフローチャートを参照して、図13のステップS114における2データ/3チャネルビット処理の詳細について説明する。
ステップS141において、変換テーブル72Aは、2データを3チャネルビットに変換してセレクタ73に出力する。すなわち、変換テーブル72Aは、入力されたデータがデータパターン(11)と一致する場合には符号列“*0*”を出力し、入力されたデータがデータパターン(10)と一致する場合には符号語“001”を出力し、入力されたデータがデータパターン(01)と一致する場合には符号語“010”を出力する。
ステップS142において、不確定ビット決定部74は、不確定パターン識別情報を取得したかを判定する。不確定パターン識別情報(図13のステップS113で出力される)が変換パターン検出部71より取得されてない場合には、ステップS143においてセレクタ73は、3チャネルビットを変換パターン決定部53に出力する処理を実行する。具体的には、変換テーブル72Aより入力されたチャネルビット“001”,“010”が変換パターン決定部53に出力される。このチャネルビットは、図17のステップS245で選択、出力される。
これに対して、ステップS142において、不確定パターン識別情報が変換パターン検出部71より取得されたと判定された場合、ステップS144において、セレクタ73は不確定ビットを含む3チャネルビット“*0*”を出力する。すなわち、3チャネルビット“*0*”が不確定ビット決定部74に供給される。ステップS145において、不確定ビット決定部74は直前符号フラグはonかを判定する。この直前符号フラグは、後述する図15の処理に基づき、直前符号検出部54から供給されている。直前符号フラグがonである場合(直前の符号語列の1チャネルビットが“1”である場合)には、ステップS146において不確定ビット決定部74は、符号語“000”を変換パターン決定部53に出力する。これに対して、直前符号フラグがonではない(offである)場合(直前の符号語列の1チャネルビットが“0”である場合)、ステップS147において不確定ビット決定部74は、符号語“101”を変換パターン決定部53に出力する。ステップS146,S147で出力された符号列は、図17のステップS244で選択、出力される。
次に、図15と図16のフローチャートを参照して、直前符号検出部54と直前符号語検出部55の処理について説明する。
最初に、図15のフローチャートを参照して、直前符号検出部54の直前符号検出処理について説明する。
ステップS171において、直前符号検出部54は、変換パターン決定部53により最終的に確定された符号列より、次の変換処理の直前の符号列の1チャネルビットは“1”かを判定する。直前の符号列の1チャネルビットが“1”である場合には、ステップS172において直前符号検出部54は、直前符号フラグonを出力する。これに対して、ステップS171において、直前の符号列の1チャネルビットが“1”ではないと判定された場合(“0”であると判定された場合)、ステップS173において、直前符号検出部54は直前符号フラグoffを出力する。この直前符号フラグは、不確定ビット決定部74と不確定ビット決定部93に出力され、図12のステップS82と図14のステップS145で利用される。
次に、図16のフローチャートを参照して、直前符号語検出部55による直前符号語検出処理について説明する。
ステップS201において、直前符号語検出部55は、変換パターン決定部53により決定された符号列より、次の変換処理の直前の符号語列の3チャネルビットは“010”かを判定する。直前の符号語列の3チャネルビットが“010”である場合には、ステップS202において、直前符号語検出部55は、直前符号語フラグonを出力する。ステップS201において、直前の符号語列の3チャネルビットが“010”ではないと判定された場合(“000”,“101”,“001”である場合)、ステップS203において、直前符号語検出部55は、直前符号語フラグoffを出力する。この直前符号語フラグは不確定ビット検出決定部93に出力され、図12のステップS83で利用される。
次に、図17のフローチャートを参照して、図9のステップS6における変換パターン決定処理の詳細について説明する。
ステップS231において、変換パターン決定部53は、最小ラン連続制限データ検出フラグ(10data)がonかを判定する。この最小ラン連続制限データ検出フラグ(10data)は、図11のステップS53,S57で最小ラン連続制限データ検出部91より出力されたものである。最小ラン連続制限データ検出フラグ(10data)がonである場合(入力データがデータパターン(1001110111)と一致する場合)には、ステップS232において変換パターン決定部53は、予想フラグがonかを判定する。この予想フラグは、図10のステップS33,S34において最小ラン連続制限データ検出予想部81より出力されたものである。
予想フラグがonではない(offである)場合(入力データ列がデータパターン(xxxx110111)と一致しないか、または一致したとしても、次のデータが(01)でない場合)、ステップS233において変換パターン決定部53は、10データ/15チャネルビット(置換パターン)を選択し、出力する。すなわち、予想フラグがoffである場合には(データが(xxxx110111)でないか、または(xxxx110111)であったとしても次のデータが(01)でない場合には)、図12のステップS85,S87で出力した符号列が選択され、同期パターン挿入部23に出力される。
これに対して、予想フラグがonである場合(データが(xxxx110111)であり、かつ次のデータが(01)である場合)、ステップS233の処理は実行されず、後述するステップS236における8データ/12チャネルビットの変換処理以降の処理が実行される。これにより、最小ラン連続制限データ(110111)+“010”をその一部に含みうる最小ラン連続制限データ(1001110111)が入力データであった時、(xxxx110111)+(01)(結局、(xxxx11011101))が満足される場合には、入力データ(1001110111)を一括変換処理するのではなく、分割して先頭から2ビットを変換する処理が実行されることになる。
すなわち、予想フラグがonである場合には、ステップS236において変換パターン決定部53は、8データ/12チャネルビットの変換データ決定情報を受信したかを判定する。この決定情報は、図13のステップS102で出力されたものである。8データ/12チャネルビットの変換データ決定情報が受信されている場合には、ステップS237において変換パターン決定部53は、8データ/12チャネルビットの変換出力を選択、出力する。すなわち、図13のステップS103で変換されたチャネルビットが選択、出力されることになる。
ステップS236において、8データ/12チャネルビットの変換データ決定情報を受信していないと判定された場合には、ステップS238において変換パターン決定部53は、6データ/9チャネルビットの変換データ決定情報を受信したかを判定する。この決定情報は、図13のステップS105で出力されたものである。6データ/9チャネルビットの変換データ決定情報を受信した場合には、ステップS239において変換パターン決定部53は、6データ/9チャネルビットの変換出力を選択、出力する。すなわち、図13のステップS106で出力されたデータが選択、出力されることになる。
ステップS238において、6データ/9チャネルビットの変換データ決定情報を受信してないと判定された場合には、ステップS240において変換パターン決定部53は、4データ/6チャネルビットの変換データ決定情報を受信したかを判定する。この決定情報は、図13のステップS108で出力されたものである。4データ/6チャネルビットの変換データ決定情報を受信している場合には、ステップS241において変換パターン決定部53は、4データ/6チャネルビットの変換出力を選択、出力する。すなわち、図13のステップS109で出力されたチャネルビットが選択、出力されることになる。
ステップS240において、4データ/6チャネルビットの変換データ決定情報が受信されていないと判定された場合、ステップS242において変換パターン決定部53は、2データ/3チャネルビットの変換データ決定情報を変換パターン検出部71より受信したかを判定する。この情報は、図13のステップS111において出力されたものである。2データ/3チャネルビットの変換データ決定情報を受信した場合には、ステップS243において変換パターン決定部53は、さらにその2データ/3チャネルビットの変換データ決定情報は、データ(11)の変換データ決定情報かを判定する。すなわち、不確定符号を含む符号に変換される可能性があるデータパターンであるのかが判定される。データ(11)の変換データ決定情報を受信したと判定された場合には、ステップS244において変換パターン決定部53は、不確定ビット決定部74が出力する3チャネルビットを選択し、出力する処理を実行する。すなわち、図14のステップS146,S147の処理で出力された符号列が選択、出力される。
これに対して、ステップS243において、2データ/3チャネルビットの変換データ決定情報が、データ(11)の変換データ決定情報ではないと判定された場合(不確定符号を含む符号に変換されるデータのチャネルビットではないと判定された場合)、ステップS245において変換パターン決定部53は、セレクタ73の3チャネルビットを選択し、出力する。すなわち、この場合には、図14のステップS143で出力された符号列が選択、出力される。
ステップS231において、最小ラン連続制限データ検出フラグ(10data)がonではない(offである)と判定された場合(入力データのデータパターンは(1001110111)ではないと判定された場合)、ステップS234において変換パターン決定部53は、最小ラン連続制限データ検出フラグ(6data)がonかを判定する。この最小ラン連続制限データ検出フラグ(6data)は、図11のステップS58で、データパターンが(110111)であり、次の3チャネルビットが“010”である場合に出力されたものである。ステップS234において、最小ラン連続制限データ検出フラグ(6data)がonであると判定された場合、ステップS235において変換パターン決定部53は、6データ/9チャネルビット(置換パターン)の変換出力を選択、出力する。すなわち、図11のステップS59で出力された置換符号“001 000 000”が選択、出力されることになる。この点、ステップS239で選択出力されるのが、図13のステップS106で出力されたチャネルビットであるのと異なる。
ステップS234において、最小ラン連続制限データ検出フラグ(6data)がoffであると判定された場合(入力データがデータパターン(110111)と一致しないか、あるいは一致したとしても次のチャネルビットが“010”ではない場合)、ステップS232で予想フラグがonであると判定された場合と同様に、ステップS236以降の処理が実行される。
ステップS233,S235の処理の後、処理は図9のステップS7に戻る。これにより、データ(10),(01)が並列的に変換処理された場合においても、ステップS233,S235の処理が優先して実行されることになる。
また、ステップS237,S239,S241,S244,S245の処理が行われた後、あるいは、ステップS242で2データ/3チャネルビットの変換データ決定情報を受信していないと判定された場合、処理は図9のステップS7に戻る。
以上のようにして変換パターンが決定されると、決定されたチャネルビットに相当する分だけデータ列がシフトレジスタ42においてシフトされ、次のデータの変換パターン決定処理が実行されることになる。
以上の処理のうち、最小ラン連続制限データ検出予想部81、最小ラン連続制限データ検出部91、最小ラン連続制限テーブル92A,92B、変換パターン検出部71、変換テーブル72A乃至72Dの処理についてさらに説明すると、図18に示されるようになる。
すなわち、入力データ列が(xxxx110111)である場合には、さらに次の2データが(01)であるかが判定される。次の2データが(01)である場合には、最小ラン連続制限データ検出予想部81は予想フラグonを出力し、一致しない場合には予想フラグoffを出力する。
また、最小ラン連続制限データの検出は、最小ラン連続制限データ検出部91により、入力データ列の10データが表3にある拘束長i=5の10データの最小ラン連続制限データ(1001110111)と一致するかどうか比較することで行われる。一致したとき、さらに続くデータが(01)であるかが、予想フラグに基づいて、変換パターン決定部53により判定される。続くデータが(01)ではない(最小ラン連続制限データ検出予想部81より出力される予想フラグがoffである)ときは、データ(1001110111)は一括して変換されるが、続くデータが(01)である(予想フラグがonである)ときは、データ(1001110111)は一括して変換されず、分割して先頭から2ビットが処理される(例外処理される)。10データがデータパターン(1001110111)と一致しなかった場合、最小ラン連続制限データ検出部91は6データが表3にあるi=3の拘束長6データの最小ラン連続制限データ(110111)と一致するかどうかを判定する。一致したとき、最小ラン連続制限データ検出部91は、さらに続くチャネルビット列が“010”であるかをデータ列内で見るために、後続の5データを参照する。5データの先頭から、(01),(001),(00000),終端(0000)のうちのいずれかのパターンと一致した時に、6データの最小ランの連続制限コード検出処理が行われる。
変換パターンの検出では、変換パターン検出部71は、入力データ列から8データを参照し、それが表3にある拘束長が4の8データの変換パターンと一致するかどうか比較する。一致するパターンがあれば、変換テーブル72Dが置換符号を決定する。8データのパターンが一致しなかった場合、変換パターン検出部71は6データまでを参照し、それが表3にある拘束長が3の6データの変換パターンと一致するかどうか比較する。一致するパターンがあれば、変換テーブル72Cが変換符号を決定する。6データのパターンが一致しなかった場合、変換パターン検出部71は4データまでを参照し、それが表3にある拘束長が2の4データの変換パターンと一致するかどうか比較する。一致するパターンがあれば、変換テーブル72Bが変換符号を決定する。4データのパターンが一致しなかった場合は、変換パターン検出部71は最後に2データまでを参照し、それが表3にある拘束長が1の2データのテーブル(11),(10),(01)と一致するかどうか比較する。この中に一致するパターンがあれば、変換テーブル72Aが変換符号を決定する。
そして、入力データ列内のデータは、それぞれ決定した分だけシフトレジスタ42において先に進められ、次の検出処理が同様に繰り返される。
データ検出の様子を拘束長の長さで分けて説明すると、図19に示されるようになる。最小ラン連続制限データ検出部91は、入力データ列から10データを参照し、それが表3にある拘束長が5の10データの最小ラン連続制限データ(1001110111)と一致するかどうか比較する。一致したとき、以下の例外処理を除いて、10データの最小ラン連続制限データ変換処理が行われる。最小ラン連続制限データ検出予想部81は後続の2データを参照し、それが(01)であった時、例外処理として、最小ランの連続制限データ(1001110111)を一括して変換する処理を行わず、分割して先頭から2ビットを処理する。
10データが一致しなかった場合、最小ラン連続制限データ検出部91は8データまでを参照し、それが表3にある拘束長が4の8データの変換パターンと一致するかどうか比較する。一致するパターンがあれば、変換テーブル72Dが置換符号を決定する。
8データが変換パターンに一致しなかった場合、最小ラン連続制限データ検出部91は6データまでを参照し、それが表3にある拘束長が3の6データの最小ラン連続制限データ(110111)と一致するかどうか比較する。データがパターン(110111)と一致したとき、さらに続くチャネルビット列が“010”の場合となる条件をデータ列内で見るために、最小ラン連続制限データ検出部91は後続の5データを参照する。5データの先頭が(01),(001),(00000),終端(0000)のうちいずれかのパターンと一致した時に、6データの最小ランの連続制限データ変換処理が行われる。これらのいずれかのパターンにも一致しない時は、最小ランの連続制限データ変換処理は行われず、2ビット単位に分割して変換処理が行われる。
データパターン(110111)が検出されなかった時は、さらに、表3にある拘束長が3の6データの変換パターンと一致するかどうか比較され、一致するパターンがあれば、変換テーブル72Cが変換符号を決定する。6データが変換パターンに一致しなかった場合、4データまでが参照され、それが表3にある拘束長が2の4データの変換パターンと一致するかどうかが比較される。一致するパターンがあれば、変換テーブル72Bが変換符号を決定する。4データが変換パターンに一致しなかった場合は、最後に2データまでが参照され、それが表3にある拘束長が1の2データのパターン(11),(10),(01)と一致するかどうか比較される。この中に一致するパターンがあれば変換テーブル72Aが変換符号を決定する。
そして、上述した場合と同様に、入力データ列内のデータはそれぞれ決定した分だけシフトレジスタ42内で先に進められ、次の検出処理が同様に繰り返される。
以上の様にして、基本構成を 1,7PP符号と同様とし、すなわち、最小ランd=1と最大ランk=7、および変換率(m:n)=(2:3)であり、データ列内の所定の位置に1ビットのDSV制御ビットを挿入することで効率良くDSV制御を行い、さらに、最小ランの連続する回数を、5回までに制限してエラー伝播特性を改善するような変調テーブルと変調装置が実現する。
なお、表3におけるデータパターンとチャネルビット列の各拘束長内では、配列の順序については、同一の規則内であれば、変更してもよい。例えば、以下に表5として示す表3の拘束長i=1部分は、次の表6のような配列とすることができる。
<表5>
データパターン 符号パターン
i=1 11 *0*
10 001
01 010
<表6>
データパターン 符号パターン
i=1 11 *0*
10 010
01 001
この場合でもデータパターンの要素の「1」の個数と、チャネルビット列の要素の「1」の個数は、それぞれ2で割った時の余りがどちらも1あるいは0で一致するようにする。
この他にも、表3の、データパターンの各要素の(1)と(0)を反転させても良い。すなわち、次の表7として示す表3の一部は、表8のように配列することができる。この場合でもデータパターンの要素の「1」の個数と、符号パターンの要素の「1」の個数は、それぞれ2で割った時の余りがどちらも1あるいは0で一致している。
<表7>
データパターン 符号パターン
11 *0*
10 001
01 010
0011 010 100
0010 010 000
0001 000 100
………
<表8>
データパターン 符号パターン
00 *0*
01 001
10 010
1100 010 100
1101 010 000
1110 000 100
………
表3はさらに、システムの要求にもとづいて、以下のようにすることもできる。例えば、最大ランk=8を許容できる場合、表3において最大ランk=7を実現する置換パターンである、拘束長i=4の変換パターンを省略することができる。すなわち、拘束長i=4の変換パターンが省略された表3は、基礎パターンのi=1からi=3までによって、最小ランd=1、最大ランk=8のRLL符号を実現し、さらにi=3,i=5、及びi=6の最小ランの連続を制限する置換パターンによって、最小ランの連続が最大でも5回までに制限された符号語列を発生することができる。
そして、DSV制御の性能に対して許容できる場合は、例えば表3において、拘束長i=4の部分だけを他の部分と偶奇性が反対となるように構成するなどして、偶奇性の規則が部分的に他の部分と異なるテーブルとすることもできる。
この他、各テーブルの全てのパターンにおいて、データパターンの「1」の個数と、符号パターンの「1」の個数が、それぞれ2で割った時の余りが一致していないように選ぶことができる。ただし、その場合は、そのことを全てのパターンで統一して行う必要がある。
これらのテーブルはいずれも、本発明にもとづいた変調装置によって、同様にして実現することができる。
図1の変調装置1においては、DSV制御ビット決定挿入部21によりDSV制御ビットとして1または0のうち最適なものを決定し、付加するようにしたが、0を付加したデータ列と1を付加したデータ列を用意し、それぞれを処理し、最後の段階でいずれか一方を選ぶようにすることも可能である。図20は、この場合の変調装置の構成例を表している。
すなわち、図20の変調装置1の符号化装置11は、DSV制御ビット決定挿入部21に換えて、DSV制御ビット挿入部201が配置されている。また、NRZI化部24の後段に(記録部12の前段に)DSV制御部202が挿入されている。その他の構成は、図1と図20に示される場合と同様である。
すなわち、図20の変調装置1においては、DSV制御ビット挿入部201において、入力データ列(図21A)に対して、DSV制御ビットとして0を挿入したデータ列(図21B0)と1を挿入したデータ列(図21B1)の両方が生成される。そして、それぞれが変調部22に供給され、チャネルビット列に変換される(図21C0,C1)。同期パターン挿入部23は、変調部22より入力された2系列のチャネルビット列に対してそれぞれ同期パターンを挿入し、2系列のチャネルビット列を出力する。NRZI化部24は、2系列のチャネルビット列をそれぞれNRZI化し、DSV制御部202に出力する。DSV制御部202は、2系列のチャネルビット列のいずれか最適な方を各スパン毎に選び、1つのチャネルビット列を記録部12に供給する。記録部12は、最終的にDSV制御部202により選択されたチャネルビット列を記録媒体13に記録する。
以上の様にして、基本構成を1,7PP符号と同様とし、すなわち、最小ランd=1と最大ランk=7、および変換率(m:n)=(2:3)であり、データ列内の所定の位置に1ビットのDSV制御ビットを挿入することで効率良くDSV制御を行い、さらに、最小ランの連続する回数を5回までに制限してエラー伝播特性を改善する変調テーブルと変調装置を実現することができる。
以下に、本実施の形態の変調テーブルを用いた変調結果を検証した結果を示す。表3に従って変調し、Tminの連続を制限し、かつデータ列内においてDSV制御ビットを挿入したデータ列は、特に、複数の最小ラン連続制限パターンによって、Tminの連続回数が5回までに制限されている。シミュレーションは、表2の従来1,7PP符号と、表3による符号について行った。
任意に作成したランダムデータ634,880dataを、同期パターンを考慮した上で45data置きにDSV制御ビットの1bitを挿入してDSV制御を行い、表2または表3に従って符号語列(チャネルビット列)に変換した。さらに、データ列相当で1240data間隔で同期パターンを挿入した。結局、チャネルビット数は、989,184符号語(チャネルビット)となる。このとき、発生された符号語列の最小ラン連続の発生分布は以下の通りである。なお、表9では、最小ランの連続の回数がn回である場合の最小ラン連続の発生回数をRMTR(n)と表している。
<表9>
*** 1,7PPの比較***
表2の1,7PP 表3の1,7PP
RMTR(1) 42730 42842
RMTR(2) 17458 17540
RMTR(3) 6353 6364
RMTR(4) 2536 2538
RMTR(5) 652 658
RMTR(6) 149 ------
RMTR(7) ------ ------
max-RMTR 6 5
表9から、表2の1,7PP符号では最小ランの連続が6回であるのに対して、表3の1,7PP符号では5回までに制限されていることが確認されるとともに、その分布は、RMTR(6)の回数がなくなった一方でRMTR(1)乃至RMTR(5)の発生回数に大きな差異はないこと、すなわち、RMTR(6)の部分が、もっぱら別のラン長へ置き換えられていることが判る。
1,7PP符号は、最小ランd=1、最大ランk=7、変換率(m:n)=(2:3)の変調テーブルにおいて、最小ラン長の繰り返し回数を制限する置換パターンを設けるようにしたので、
(1)高線密度での記録再生、およびタンジェンシャル・チルトに対する許容度が向上する。
(2)信号レベルが小さい部分が減少し、AGC(Auto Gain Control)やPLL(Phase-Locked Loop)等の波形処理の精度が向上し、総合特性を高めることができる。
(3)従来と比較して、ビタビ復号等の際のパスメモリ長を短く設計することができ、回路規模を小さくすることができる。
また、変調テーブルの変換パターンを構成するデータパターンの要素の「1」の個数と、符号パターンの要素の「1」の個数を、2で割った時の余りが、どちらも1あるいは0で一致するようにしたので、
(4)DSVの制御のための冗長ビットを少なくすることができる。
(5)最小ランd=1かつ(m,n)=(2,3)においては、1.5符号語でDSV制御を行うことができる。
(6)冗長度が少ない上に、最小ランと最大ランを守ることができる。さらに表3のテーブルは、表2の1,7PP符号と較べて、最小ランの連続回数制限を6回から5回へと少なくしたので、データ記録再生時のエラー伝播を、より少なくすることができる。
上述したように、データ再生誤りのパターンとしては、連続する最小マークの先頭のエッジから最後のエッジまでが、一斉にシフトして誤るという場合がある。即ち発生するビットエラー長は、最小ランの連続する区間の、先頭から最後まで伝搬することになる。従ってエラー伝搬は長くなってしまうという問題が現れる。しかし、最小ランの連続を5回に制限することによって、このようなエラーの発生を少なくすることができ、より安定したデータの記録再生を実現することができる。
本実施の形態のテーブルは、表2の1,7PP符号と較べ、基本パラメータは同様であり、またテーブルのコンパクトさも、ほぼ同様であるので、回路構成の容易さを同等にしたまま、上述した効果を実現することができる。
図22は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。CPU(Central Processing Unit)321は、ROM(Read Only Memory)322、または記憶部328に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)323には、CPU321が実行するプログラムやデータなどが適宜記憶される。これらのCPU321、ROM322、およびRAM323は、バス324により相互に接続されている。
CPU321にはまた、バス324を介して入出力インターフェース325が接続されている。入出力インターフェース325には、キーボード、マウス、マイクロホンなどよりなる入力部326、ディスプレイ、スピーカなどよりなる出力部327が接続されている。CPU321は、入力部326から入力される指令に対応して各種の処理を実行する。そして、CPU321は、処理の結果を出力部327に出力する。
入出力インターフェース325に接続されている記憶部328は、例えばハードディスクからなり、CPU321が実行するプログラムや各種のデータを記憶する。通信部329は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。また、通信部329を介してプログラムを取得し、記憶部328に記憶してもよい。
入出力インターフェース325に接続されているドライブ330は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア331が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部328に転送され、記憶される。
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図22に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini-Disc)(登録商標)を含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア331、または、プログラムが一時的もしくは永続的に格納されるROM322や、記憶部328を構成するハードディスクなどにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部329を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 変調装置, 11 符号化装置, 21 DSV制御ビット決定挿入部, 22 変調部, 23 同期パターン挿入部, 24 NRZI化部, 41 加算器, 51 変換データ処理部, 52 最小ラン連続制限処理部, 53 変換パターン決定部, 54 直前符号検出部, 55 直前符号語検出部, 71 変換パターン検出部, 72A乃至72D 変換テーブル, 81 最小ラン連続制限データ検出予想部, 82 最小ラン連続制限データ処理部, 91 最小ラン連続制限データ検出部, 92A,92B 最小ラン連続制限テーブル