(57)【要約】【課題】挿入パターンに対して制限を加えることなく、最小ランの連続を所定の回数に制限できるようにする。【解決手段】変換パターン決定部52は、変換パターン処理部51によりRLL規則を守るように変換された符号語列から所定の変換パターンを選択する。最小ラン連続制限パターン処理部54は、最小ランの連続回数を制限するように処理する。特定規則変換パターン検出部53は、データ列内でDSV制御を行うことの出来ない特定規則を持ったパターンを検出する。チャネルビット列変換部55は、変換パターン決定部52より出力されたチャネルビット列を、最小ラン連続制限パターン処理部54、特定規則変換パターン検出部53、直前符号検出部56、および総合検出部57からの情報に基づいて、他のチャネルビット列に変換する。本発明は、データを光ディスク等の記録媒体に記録するのに利用することができる。【選択図】図３
2007213656.tif 000002
【特許請求の範囲】
【請求項１】
基本データ長がｍビットのデータを、最小ランがｄ（ｄ＞０）、かつ最大ランがｋの、基本符号語長がｎビットの可変長符号(d,k;m,n)に変換する変調装置において、
データパターンと符号パターンの対応関係を記述する変換テーブルに従って、入力されたデータをRLL規則を守るように符号パターンからなる符号列に変換する第１の変換手段と、
入力されたデータが、偶奇性保存違反データパターンと一致する部分を、対応する偶奇性保存違反符号パターンに変換すべき条件を有することを、前記符号パターンに変換された符号列から判定する判定手段と、
入力されたデータが、前記偶奇性保存違反データパターンと一致する部分を、対応する前記偶奇性保存違反符号パターンに変換すべき条件を有すると判定された場合、入力されたデータの前記偶奇性保存違反データパターンと一致する部分を個別に変換することで生成された偶奇性保存違反個別変換符号パターンを前記偶奇性保存違反符号パターンに変換する第２の変換手段と
を備える変調装置。
【請求項２】
前記判定手段は、前記符号パターンに変換された符号列が前記偶奇性保存違反個別変換符号パターンを含み、前記偶奇性保存違反個別変換符号パターンの直前の符号と直後の符号が予め定められた符号である場合、入力されたデータが前記条件を有すると判定する
請求項１に記載の変調装置。
【請求項３】
入力されたデータの所定の位置に同期パターンを挿入する同期パターン挿入手段をさらに備える
請求項１に記載の変調装置。
【請求項４】
前記同期パターンと前記偶奇性保存違反符号パターンを含むDSV区間に、DSV制御が可能なようにDSV制御ビットを挿入するDSV制御ビット挿入手段をさらに備える
請求項３に記載の変調装置。
【請求項５】
請求項１に記載の変調装置により変調された信号が記録された記録媒体。
【請求項６】
基本データ長がｍビットのデータを、最小ランがｄ（ｄ＞０）、かつ最大ランがｋの、基本符号語長がｎビットの可変長符号(d,k;m,n)に変換する変調方法において、
データパターンと符号パターンの対応関係を記述する変換テーブルに従って、入力されたデータをRLL規則を守るように符号パターンからなる符号列に変換する第１の変換ステップと、
入力されたデータが、偶奇性保存違反データパターンと一致する部分を、対応する偶奇性保存違反符号パターンに変換すべき条件を有することを、前記符号パターンに変換された符号列から判定する判定ステップと、
入力されたデータが、前記偶奇性保存違反データパターンと一致する部分を、対応する前記偶奇性保存違反符号パターンに変換すべき条件を有すると判定された場合、入力されたデータの前記偶奇性保存違反データパターンと一致する部分を個別に変換することで生成された偶奇性保存違反個別変換符号パターンを前記偶奇性保存違反符号パターンに変換する第２の変換ステップと
を備える変調方法。
【請求項７】
基本データ長がｍビットのデータを、最小ランがｄ（ｄ＞０）、かつ最大ランがｋの、基本符号語長がｎビットの可変長符号(d,k;m,n)に変換するプログラムにおいて、
データパターンと符号パターンの対応関係を記述する変換テーブルに従って、入力されたデータをRLL規則を守るように符号パターンからなる符号列に変換する第１の変換ステップと、
入力されたデータが、偶奇性保存違反データパターンと一致する部分を、対応する偶奇性保存違反符号パターンに変換すべき条件を有することを、前記符号パターンに変換された符号列から判定する判定ステップと、
入力されたデータが、前記偶奇性保存違反データパターンと一致する部分を、対応する前記偶奇性保存違反符号パターンに変換すべき条件を有すると判定された場合、入力されたデータの前記偶奇性保存違反データパターンと一致する部分を個別に変換することで生成された偶奇性保存違反個別変換符号パターンを前記偶奇性保存違反符号パターンに変換する第２の変換ステップと
をコンピュータに実行させるプログラム。
【請求項８】
請求項７に記載のプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変調装置および方法、プログラム、並びに記録媒体に関し、挿入パターンに対して制限を加えることなく、最小ランの連続を所定の回数に所望である制限無することができるようにする変調装置および方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
データを所定の伝送路に伝送したり、または例えば磁気ディスク、光ディスク、光磁気ディスク等の記録媒体に記録する際、伝送路や記録媒体に適するように、データの変調が行われる。このような変調方法の１つとして、ブロック符号が知られている。ブロック符号とは、データ列をｍ×ｉビットからなる単位（以下データ語という）にブロック化し、このデータ語を適当な符号則に従って、ｎ×ｉビットからなる符号語に変換するものである。そしてこの符号は、ｉ＝１のときには固定長符号となり、またｉが複数個選べるとき、すなわち、１乃至ｉmax（最大のｉ）の範囲の所定のｉを選択して変換したときには可変長符号となる。このブロック符号化された符号は可変長符号（d,k;m,n;r）と表される。
【０００３】
ここでｉは拘束長と称され、ｉmaxはｒ（最大拘束長）となる。またｄは、例えば、連続する“１”の間に入る“０”の最小連続個数、すなわち“０”の最小ランを示し、ｋは連続する“１”の間に入る“０”の最大連続個数、すなわち“０”の最大ランを示している。
【０００４】
ところで上述のようにして得られる符号語を、光ディスクや光磁気ディスク等に記録する場合、例えばコンパクトディスク(CD)やミニディスク(MD)（登録商標）では、可変長符号列より、“１”を反転とし、“０”を無反転とするNRZI(NonReturn to Zero Inverted)変調を行い、NRZI変調された可変長符号(以下、記録波形列と称する)に基づき、記録が行なわれている。これはマークエッジ記録と称される。これに対して、ISO規格の3.5inch・230MB容量の光磁気ディスク等では、記録変調された符号列が、NRZI変調されずにそのまま記録される。これはマークポジション記録と称される。現在のように高記録密度化された記録メディアでは、マークエッジ記録が多く用いられている。
【０００５】
記録波形列の最小反転間隔をＴminとし、最大反転間隔をＴmaxとするとき、線速方向に高密度記録を行うためには、最小反転間隔Ｔminは長い方が、即ち最小ランｄは大きい方が良く、またクロックの再生の面からは、最大反転間隔Ｔmaxは短い方が、即ち最大ランｋは小さい方が望ましい。またオーバーライト特性を考慮する場合にはＴmax/Ｔminは小さい方が望ましい。さらには、JitterやS/Nの点から検出窓幅Ｔw=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−DATA２あるいはISO規格の3.5inchMO(640MB容量)で用いられるRLL(1,7)((1,7;2,3;r)とも表記される)は、最小ランｄ＝１のRLL符号である。この他、現在開発研究されている、記録密度の高い光ディスクや光磁気ディスク等の記録再生ディスク装置においては、最小マークの大きさや、変換効率のバランスの取れた、最小ランｄ＝１のRLL符号（Run Length Limited code）がよく用いられている。
【０００７】
可変長の RLL(1,7)符号の変調テーブルは、例えば以下のようなテーブルである。
＜表１＞
RLL(1,7) : (d,k;m,n;r) = (1,7;2,3;2)
データパターン    符号パターン
ｉ＝１  11              00x
10              010
01              10x
ｉ＝２  0011            000 00x
0010            000 010
0001            100 00x
0000            100 010      
【０００８】
ここで変調テーブル内の記号ｘは、次に続くチャネルビットが“０”であるときに“１”とされ、また次に続くチャネルビットが“１”であるときに“０”とされる。最大拘束長ｒは２である。
【０００９】
可変長RLL(1,7)のパラメータは(1,7;2,3,2)であり、記録波形列のビット間隔をＴとすると、(ｄ＋１)Ｔで表される最小反転間隔Ｔminは２(=1+1)Ｔとなる。データ列のビット間隔をＴdataとすると、この(m/n)×２で表される最小反転間隔Ｔminは1.33(=(2/3)×2)Ｔdataとなる。また(ｋ＋１)Ｔで表される最大反転間隔Ｔmaxは、Ｔmax = ８(=7+1)Ｔ(=(m/n)×８Ｔdata = (2/3)×８Ｔdata = 5.33Ｔdata) である。さらに検出窓幅Ｔwは(m/n)×Ｔdataで表され、その値は、Ｔw = 0.67(=2/3)Ｔdata となる。
【００１０】
ところで、表１のRLL(1,7)による変調を行ったチャネルビット列においては、発生頻度としてはＴminである２Ｔが一番多く、以下、３Ｔ，４Ｔ，５Ｔ，６Ｔ，…の順に多い。そして最小ラン（Ｔmin）である２Ｔが繰り返した場合、即ちエッジ情報が早い周期で多く発生することは、クロック再生には有利となる場合が多い。
【００１１】
ところが、例えば光ディスクの記録再生において、さらに記録線密度を高くしていった場合、最小ランは、エラーが発生しやすい部位となる。なぜなら、ディスク再生時において、最小ランの波形出力は、他のランよりも小さく、例えばデフォーカスやタンジェンシャル・チルト等による影響を受けやすいからである。またさらに、高記録線密度における、最小マークの連続した記録再生は、ノイズ等の外乱の影響も受けやすく、従ってデータ再生誤りを起こしやすくなる。この時のデータ再生誤りのパターンとしては、連続する最小マークの先頭のエッジから最後のエッジまでが、一斉にシフトして誤るという場合がある。即ち発生するビットエラー長は、最小ランの連続する区間の、先頭から最後まで伝搬することになる。従ってエラー伝搬は長くなってしまうという問題が現れる。
【００１２】
高線密度にデータを記録再生する場合の安定化のためには、最小ランの連続を制限することが効果的である。
【００１３】
一方、記録媒体へのデータの記録、あるいはデータの伝送の際には、記録媒体あるいは伝送路に適した符号化変調が行われるが、これら変調符号に低域成分が含まれていると、例えば、ディスク装置のサーボ制御におけるトラッキングエラーなどの、各種のエラー信号に変動が生じ易くなったり、あるいはジッターが発生し易くなったりする。従って変調符号は、低域成分がなるべく抑制されている方が望ましい。
【００１４】
低域成分を抑制する方法として、DSV(Digital Sum Value)制御がある。DSVとは、チャネルビット列をNRZI化（すなわちレベル符号化）して記録符号列とし、そのビット列（データのシンボル）の“１”を「＋１」、“０”を「−１」として、符号を加算していったときのその総和を意味する。DSVは記録符号列の低域成分の目安となる。DSVの正負のゆれの絶対値を小さくすること、すなわちDSV制御を行うことは、記録符号列の直流成分を除き、低域成分を抑制することになる。
【００１５】
前記表１に示した、可変長RLL(1,7)テーブルによる変調符号は、DSV制御が行われていない。このような場合のDSV制御は、変調後の符号化列（チャネルビット列）において、所定の間隔でDSV計算を行い、所定のDSV制御ビットを符号化列（チャネルビット列）内に挿入することで、実現される（例えば、特許文献１）。
【００１６】
チャネルビット列内に挿入するDSV制御ビット数は、最小ランｄによって決まる。ｄ＝１の時、最小ランを守るように、符号語内の任意の位置にDSV制御ビットを挿入する場合、必要なビット数は２(＝ｄ＋1)チャネルビットである。また最大ランを守るように、符号語内の任意の位置にDSV制御ビットを挿入する場合に必要となるビット数は４(＝2×(ｄ＋1))チャネルビットである。これらよりも少ないチャネルビットでDSV制御を行うと、挟まれる前後のパターンによって、DSV制御できない場合が発生する。
【００１７】
(d,k;m,n) = (1,7;2,3)である RLL(1,7)符号において、前記DSV制御ビットを、変換率と合わせて、データに換算すると、
４チャネルビット×２／３  ＝  ８／３  ＝  ２．６７データ相当（2.67 Ｔdata）
になる。
【００１８】
ところでDSV制御ビットは、基本的には冗長ビットである。従って符号変換の効率から考えれば、DSV制御ビットはなるべく少ないほうが良い。
【００１９】
またさらに、挿入されるDSV制御ビットによって、最小ランｄおよび最大ランｋは、変化しないほうが良い。（ｄ，ｋ）が変化すると、記録再生特性に影響を及ぼしてしまうからである。
【００２０】
ただし、実際のRLL符号においては、最小ランは記録再生特性への影響が大きいために、必ず守られる必要があるが、最大ランについては必ずしも守られてはいない。場合によっては最大ランを破るパターンを同期パターンに用いるフォーマットも存在する。例えば、DVD（Digital Versatile Disk）の8-16符号における最大ランは11Ｔだが、同期パターン部分において最大ランを超える14Ｔを与え、同期パターンの検出能力を上げている。
【００２１】
以上を踏まえて本発明者等は、(d,k)=(1,7)で、さらに高記録密度に対応した変調方式として、表２の1,7PP符号を先に提案した（例えば、特許文献２参照）。
＜表２＞
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'.
【００２２】
表２の変調テーブルは、変換パターンとして、それがないと変換処理ができない基礎パターン（（11）から（000000）までのデータパターンよりなる変換パターン）、それがなくても変換処理は可能であるが、それを行うことによって、より効果的な変換処理が実現する置換パターン（（110111），（00001000），（00000000）のデータパターンよりなる変換パターン）、および、データ列を任意の位置で終端させるための終端パターン（（00），（0000）のデータパターンよりなる変換パターン）を有している。
【００２３】
また、表２は、最小ランｄ＝１、最大ランｋ＝７で、基礎パターンの要素に不確定符号（＊で表される符号）を含んでいる。不確定符号は、直前および直後の符号語列の如何によらず、最小ランｄと最大ランｋを守るように、“０”か“１”に決定される。すなわち表２において、変換する２データパターンが（11）であったとき、その直前の符号語列（チャネルビット列）によって、“000”または“101”の符号パターンが選択され、そのいずれかに変換される。例えば、直前の符号語列の１チャネルビットが“１”である場合、最小ランｄを守るために、データパターン（11）は、符号パターン“000”に変換され、直前の符号語列の１チャネルビットが“０”である場合、最大ランｋが守られるように、データパターン（11）は、符号パターン“101”に変換される。
【００２４】
表２の変調テーブルの基礎パターンは可変長構造を有している。すなわち、拘束長ｉ＝１における基礎パターンは、必要数の４つ（2^m = 2^2 = 4）よりも少ない３つ（*0*，001，010の３つ）で構成されている。その結果、データ列を変換する際に、拘束長ｉ＝１だけでは変換出来ないデータ列が存在することになる。結局、表２において、全てのデータ列を変換するには（変調テーブルとして成り立つためには）、拘束長ｉ＝３までの基礎パターンを参照する必要がある。
【００２５】
また、表２の変調テーブルは、最小ランｄの連続を制限する置換パターンを持っているため、データパターンが（110111）である場合、さらに後ろに続く符号語列が参照され、それが“010”であるとき、この６データパターン符号パターン“001 000 000”に置き換えられる。また、このデータパターンは、後ろに続く符号語列が“010”以外である場合、２データ単位（（11），（01），（11））で符号パターンに変換されるので、符号語“*0* 010 *0*”に変換される。これによって、データを変換した符号語列は、最小ランの連続が制限され、最大でも６回までの最小ラン繰り返しとなる。
【００２６】
そして表２の変調テーブルは、最大拘束長ｒ＝４である。拘束長ｉ＝４の変換パターンは、最大ランｋ＝７を実現するための、置換パターン（最大ラン保証パターン）で構成されている。すなわち、データパターン（00001000）は、符号パターン“000 100 100 100”に変換され、データパターン（00000000）は、符号パターン“010 100 100 100”に変換されるように構成されている。そしてこの場合においても、最小ランｄ＝１は守られている。
【００２７】
さらに表２は、同期パターンを挟むために、データ列の任意の位置において終端させる場合、データ列が（00）または（0000）で終端位置となる際には、終端パターンが用いられる。挿入される同期パターンは、先頭の１符号語が終端パターン使用識別ビットとなっており、終端パターンが用いられた時は、直後の同期パターン列の先頭符号語が“１”となる。また終端パターンが用いられなかった時は、“０”となる。なお、表２における同期パターンは、上述の終端パターン使用識別ビットと、同期パターン検出のために、最大ランｋ＝７を超えるｋ＝８の符号パターンを２回繰り返し、合計24符号語で構成してある。
【００２８】
ところで表２の変換パターンは、データパターンの要素としての「１」の個数を２で割った時の余りと、変換される符号パターンの要素としての「１」の個数を２で割った時の余りが、どちらも１あるいは０で同一（対応するいずれの要素も「１」の個数が奇数または偶数）となるような変換規則を持っている。例えば、変換パターンのうちのデータパターン（000001）は、“010 100 100”の符号パターンに対応しているが、それぞれの要素としての「１」の個数は、データパターンでは１個、対応する符号パターンでは３個であり、どちらも２で割ったときの余りが１（奇数）で一致している。同様にして、変換パターンのうちのデータパターン（000000）は、“010 100 000”の符号パターンに対応しているが、それぞれ「１」の個数は、データパターンでは０個、対応する符号パターンでは２個であり、どちらも２で割ったときの余りが０（偶数）で一致している。
【００２９】
次に、DSV制御を行う方法について述べる。表１のRLL(1,7)符号のような、変調テーブルにDSV制御が行われていない場合における従来のDSV制御は、例えば、データ列を変調した後、変調後のチャネルビット列に、所定の間隔で、DSV制御ビットを少なくとも（ｄ＋１）ビットだけ付加することで行われた。表２のような変調テーブルにおいても、従来と同様にDSV制御を行うことが出来るが、表２における、データパターンと符号パターンの関係を生かして、さらに効率良くDSV制御を行うことができる。即ち、変調テーブルが、データパターンの要素としての「１」の個数と符号パターンの要素としての「１」の個数を２で割った時の余りが、どちらも１あるいは０で同一となるような変換規則を持っている時、前記のようにチャネルビット列内に、「反転」を表す“１”、あるいは「非反転」を表す“０”のDSV制御ビットを挿入することは、データビット列内に、「反転」するならば（１）の、「非反転」ならば（０）の、それぞれDSV制御ビットを挿入することと等価となる。
【００３０】
例えば表２において、データ変換する３ビットが（001）と続いたときに、その後ろにおいてDSV制御ビットを挾むものとすると、データは、（001−x）（xは１ビットで、「０」又は「１」）となる。ここでｘに「０」を与えれば、表２の変調テーブルで、
データパターン    符号パターン
0010              010 000
の変換が行われ、また、「１」を与えれば、
データパターン    符号パターン
0011              010 100
の変換が行われる。符号語列をNRZI化して、レベル符号列を生成すると、これらは
データパターン  符号パターン  レベル符号列
0010            010 000      011111
0011            010 100      011000
となり、レベル符号列の最後の３ビットが相互に反転している。このことは、DSV制御ビットｘの（１）と（０）を選択することによって、データ列内においても、DSV制御が行えることを意味する。
【００３１】
DSV制御による冗長度を考えると、データ列内の１ビットでDSV制御を行うということは、チャネルビット列で表現すれば、表２の変換率(m:n=2:3)より、1.5チャネルビットでDSV制御を行っていることに相当する。一方、表１のようなRLL(1,7)テーブルにおいてDSV制御を行うためには、チャネルビット列においてDSV制御を行う必要があるが、この時最小ランを守るためには、少なくとも２チャネルビットが必要であり、表２のDSV制御と比較すると、冗長度がより大きくなってしまう。換言すれば、表２のテーブル構造を持つ時、データ列内でDSV制御を行うことで、効率よくDSV制御を行うことができる。
【００３２】
以上に説明した(d,k)=(1,7)の最小ランと最大ランを持った、高記録密度に対応した表２の変調テーブルは、例えば高密度光ディスクシステムである、Blu-ray Disc ReWritable ver1.0 （登録商標）におけるフォーマットとして採用されている。
【００３３】
そして、今後さらなる高記録密度に対して、具体的に例えば、高密度光ディスクに対するさらなる高密度規格に対して、変調方式においても、さらに安定したシステムが要求されている。
【００３４】
その際、既に商品化されているBlu-ray Disc ReWritable ver1.0 に対し、従来の (1,7)PP符号と同様なパラメータであり、かつ同様な変調テーブルの構成で、より安定したシステムを実現する変調方式が実現すれば、従来の設計技術を流用することが出来るので、ハードウエア設計時の設計リスクを低減することができる。
【００３５】
ところで、特許文献２に対応した同期パターンは、例えば特許文献３にも示されているが、これによると、同期パターンとして#01 010 000 000 010 000 000 010(24 channel bits)が与えられ、さらに、複数種類の同期パターンを持ち、これを識別するために６符号語が与えられている。具体的には、例えば次の７種類が与えられている。
＜表３＞
#01 010 000 000 010 000 000 010 000 001  (30 channel bits)
000 100
001 001
010 000
010 010
100 001
101 000
# = 0  not terminate case
# = 1  terminate case
Termination table
00    000
0000  010 100
【００３６】
【特許文献１】特開平6−197024号公報
【特許文献２】特開平11−346154号公報
【特許文献３】特開2000−68846号公報
【発明の開示】
【発明が解決しようとする課題】
【００３７】
表３の同期パターンのうち、最後の符号語が“１”である場合は、後続の符号パターンによって最大で６回の最小ラン連続が発生し得る。今、最小ランの連続を改善する場合においては、同期パターンの最後の符号語として“０”を与える必要が発生し、表３にあるような同期パターン識別のための６符号語に対し、制限を加えなければならないという課題が発生する。
【００３８】
本発明は、このような状況に鑑みてなされたものであり、同期信号などの挿入パターンに対して制限を加えることなく、最小ランの連続を所定の回数に制限することが出来るようにするものである。
【課題を解決するための手段】
【００３９】
本発明の側面は、基本データ長がｍビットのデータを、最小ランがｄ（ｄ＞０）、かつ最大ランがｋの、基本符号語長がｎビットの可変長符号(d,k;m,n)に変換する変調装置において、データパターンと符号パターンの対応関係を記述する変換テーブルに従って、入力されたデータをRLL規則を守るように符号パターンからなる符号列に変換する第１の変換手段と、入力されたデータが、偶奇性保存違反データパターンと一致する部分を、対応する偶奇性保存違反符号パターンに変換すべき条件を有することを、前記符号パターンに変換された符号列から判定する判定手段と、入力されたデータが、前記偶奇性保存違反データパターンと一致する部分を、対応する前記偶奇性保存違反符号パターンに変換すべき条件を有すると判定された場合、入力されたデータの前記偶奇性保存違反データパターンと一致する部分を個別に変換することで生成された偶奇性保存違反個別変換符号パターンを前記偶奇性保存違反符号パターンに変換する第２の変換手段とを備える変調装置である。
【００４０】
前記判定手段は、前記符号パターンに変換された符号列が前記偶奇性保存違反個別変換符号パターンを含み、前記偶奇性保存違反個別変換符号パターンの直前の符号と直後の符号が予め定められた符号である場合、入力されたデータが前記条件を有すると判定することができる。
【００４１】
入力されたデータの所定の位置に同期パターンを挿入する同期パターン挿入手段をさらに備えることができる。
【００４２】
前記同期パターンと前記偶奇性保存違反符号パターンを含むDSV区間に、DSV制御が可能なようにDSV制御ビットを挿入するDSV制御ビット挿入手段をさらに備えることができる。
【００４３】
前記変調装置により変調された信号を記録媒体に記録することができる。
【００４４】
基本データ長がｍビットのデータを、最小ランがｄ（ｄ＞０）、かつ最大ランがｋの、基本符号語長がｎビットの可変長符号(d,k;m,n)に変換する変調方法、プログラム、またはプログラムが記録された記録媒体において、データパターンと符号パターンの対応関係を記述する変換テーブルに従って、入力されたデータをRLL規則を守るように符号パターンからなる符号列に変換する第１の変換ステップと、入力されたデータが、偶奇性保存違反データパターンと一致する部分を、対応する偶奇性保存違反符号パターンに変換すべき条件を有することを、前記符号パターンに変換された符号列から判定する判定ステップと、入力されたデータが、前記偶奇性保存違反データパターンと一致する部分を、対応する前記偶奇性保存違反符号パターンに変換すべき条件を有すると判定された場合、入力されたデータの前記偶奇性保存違反データパターンと一致する部分を個別に変換することで生成された偶奇性保存違反個別変換符号パターンを前記偶奇性保存違反符号パターンに変換する第２の変換ステップとを備える変調方法、プログラム、またはプログラムが記録された記録媒体である。
【００４５】
本発明の側面においては、入力されたデータが、偶奇性保存違反データパターンと一致する部分を、対応する偶奇性保存違反符号パターンに変換すべき条件を有する場合、入力されたデータの偶奇性保存違反データパターンと一致する部分を個別に変換することで生成された偶奇性保存違反個別変換符号パターンが偶奇性保存違反符号パターンに変換される。
【発明の効果】
【００４６】
本発明の側面によれば、データ記録再生時のエラー伝搬を、より少なくすることができ、その結果、高線密度記録再生により適するようになる。また、本発明の側面によれば、データ列内におけるDSV制御が可能となる。さらに本発明の側面によれば、挿入パターンに対して制限を加えることなく、最小ランの連続を所定の回数に制限することができる。
【発明を実施するための最良の形態】
【００４７】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００４８】
本発明の側面は、基本データ長がｍビットのデータを、最小ランがｄ（ｄ＞０）、かつ最大ランがｋの、基本符号語長がｎビットの可変長符号(d,k;m,n)に変換する変調装置において、データパターンと符号パターンの対応関係を記述する変換テーブル（例えば、図４と図21の変換テーブル72）に従って、入力されたデータをRLL規則を守るように符号パターンからなる符号列に変換する第１の変換手段（例えば、図４と図21の変換パターン処理部51）と、入力されたデータが、偶奇性保存違反データパターン（例えば、表４のデータパターン(01110111)）と一致する部分を、対応する偶奇性保存違反符号パターン（例えば、表４の符号パターン“010 000 000 101”）に変換すべき条件を有することを、前記符号パターンに変換された符号列から判定する判定手段（例えば、図４と図21の特定規則変換パターン検出部53、最小ラン連続制限パターン検出予想部111）と、入力されたデータが、前記偶奇性保存違反データパターンと一致する部分を、対応する前記偶奇性保存違反符号パターンに変換すべき条件を有すると判定された場合、入力されたデータの前記偶奇性保存違反データパターンと一致する部分を個別に変換することで生成された偶奇性保存違反個別変換符号パターン（例えば、図16のステップS241と図30のステップS641における“010 101 010 101”）を前記偶奇性保存違反符号パターンに変換する第２の変換手段（例えば、図4と図21のチャネルビット列変換部55）とを備える変調装置（例えば、図１または図33の変調装置１）である。
【００４９】
前記判定手段は、前記符号パターンに変換された符号列が前記偶奇性保存違反個別変換符号パターン（例えば、図16のステップS241または図30のステップS641における“010 101 010 101”）を含み、前記偶奇性保存違反個別変換符号パターンの直前の符号と直後の符号が予め定められた符号である場合（例えば、図17のステップS293で、特定規則変換パターン検出フラグがonである（最小ラン連続制限総合フラグ(2)がonである）と判定され、ステップS294で予想フラグ(C4)がoffである（直後のチャネルビットが“010”ではない）と判定された場合、または図31のステップS693で、特定規則変換パターン検出フラグがonである（最小ラン連続制限総合フラグ(2)がonである）と判定され、ステップS695で予想フラグ(C4)がoffである（直後のチャネルビットが“010”ではない）と判定された場合）、入力されたデータが前記条件を有すると判定することができる。
【００５０】
入力されたデータの所定の位置に同期パターンを挿入する同期パターン挿入手段（例えば、図１または図33の同期パターン挿入部23）をさらに備えることができる。
【００５１】
前記同期パターン（例えば、図２または図34のSync）と前記偶奇性保存違反符号パターン（例えば、図２または図34のviolate-code）を含むDSV区間（例えば、図２のspan1または図34のシンク挿入部DSVスパン）に、DSV制御が可能なようにDSV制御ビットを挿入するDSV制御ビット挿入手段（例えば、図１のDSV制御ビット決定挿入部21、図33のDSV制御ビット挿入部201、DSV制御部202）をさらに備えることができる。
【００５２】
前記変調装置により変調された信号を記録媒体（例えば、図１と図33の記録媒体13）に記録することができる。
【００５３】
また本発明の側面は、基本データ長がｍビットのデータを、最小ランがｄ（ｄ＞０）、かつ最大ランがｋの、基本符号語長がｎビットの可変長符号(d,k;m,n)に変換する変調方法において、データパターンと符号パターンの対応関係を記述する変換テーブル（例えば、図４と図21の変換テーブル72）に従って、入力されたデータをRLL規則を守るように符号パターンからなる符号列に変換する第１の変換ステップ（例えば、図８のステップS3、図22のステップS403）と、入力されたデータが、偶奇性保存違反データパターン（例えば、表４のデータパターン(01110111)）と一致する部分を、対応する偶奇性保存違反符号パターン（例えば、表４の符号パターン“010 000 000 101”）に変換すべき条件を有することを、前記符号パターンに変換された符号列から判定する判定ステップ（例えば、図８のステップS5,S7、図22のステップS405、S407）と、入力されたデータが、前記偶奇性保存違反データパターンと一致する部分を、対応する前記偶奇性保存違反符号パターンに変換すべき条件を有すると判定された場合、入力されたデータの前記偶奇性保存違反データパターンと一致する部分を個別に変換することで生成された偶奇性保存違反個別変換符号パターン（例えば、図16のステップS241または図30のステップS641における“010 101 010 101”）を前記偶奇性保存違反符号パターンに変換する第２の変換ステップ（例えば、図８のステップS8、図22のステップS408）とを備える変調方法（例えば、図8または図22の変調方法）である。
【００５４】
以下、本発明の実施の形態について説明する。以後、変換前のデータ列（データパターン）を（000011）のように（  ）で区切って表し、変換後のチャネルビット列（符号パターン）を“000 100 100”のように“  ”で区切って表す。また、本明細書において、最小ランｄ＝１、最大ランｋ＝７、かつ変換率(m:n)=(2:3)である可変長符号であり、さらに、最小ランの連続する回数を制限し、かつ、最小ラン及び最大ランを守りながら、効率の良いDSV制御ビットで、完全なDSV制御を行う変換テーブルを持つ符号を、1,7PP符号（PP : Parity-preserve Prohibit-repeated-minimum-transition-runlength ）と呼ぶ。
【００５５】
以下の表４は、本発明の一実施の形態としての変調テーブルを表す。
【００５６】
＜表４＞
1,7PP-rmtr5_code. rev.11    RLL(1,7;2,3;5)
データパターン    符号パターン
ｉ＝１  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
ｉ＝４  00001000    000 100 100 100
00000000    010 100 100 100
ｉ＝３  110111      001 000 000(next010)
ｉ＝４  01110111    (pre1)010 000 000 101(not010)
ｉ＝５  1001110111  $0$ 010 000 000 101(not010)
If xx1         then  *0* = 000
xx0         then  *0* = 101
If x10 or x01  then  $0$ = 000
x00         then  $0$ = 101
Sync & Termination
#01 010 000 000 010 000 000 010 yyy yyy  (30 cbits = SY_24 cbits + ID_6 cbits)
# = 0  not terminate case
# = 1  terminate case
Termination table
00          000
0000        010 100
【００５７】
なお、符号パターン“001 000 000”(next010)は、符号パターン“001 000 000”の次の符号パターンが“010”である場合に変換が行われることを意味する。符号パターン”(pre1)010 000 000 101(not010)”の(pre1)は、直前の符号が“１”である場合に変換が行われることを意味し、(not010)は、直後の符号が“010”でない場合に変換が行われることを意味する。他の変換パターンにおいても同様である。
【００５８】
表４の変調テーブルは、表１あるいは表２の変調テーブルと同様に、データパターンと符号パターンとよりなる変換パターンで構成されている。変調装置が表４の変調テーブルに従って変調を行う場合、変調装置に入力されたデータ列が、表４に記述されているデータパターンと一致すれば、そのデータ列のデータパターンと一致する部分は、対応する(表４において右側に示される)符号パターンに変換され、符号語列として出力される。
【００５９】
表４の変調テーブルは1,7PP符号であり、さらに基本構成が表２と同様である。この表４の変調テーブルは、基礎テーブル、置換テーブル、および終端テーブルにより構成される。
【００６０】
基礎テーブルは、それがないと変換処理ができない変換パターン（基礎パターン）により構成され、置換テーブルは、それがなくても変換処理は可能であるが、それを行うことによって、より効果的な変換処理を実現する（最大ランを制限したり、最小ランの連続を制限する）ことができる変換パターン（置換パターン）により構成される。終端テーブルは、符号を任意の位置で終端させるための変換パターン（終端パターン）により構成される。
【００６１】
具体的には、表４に示される変調テーブルのうち、（11）から（000000）までのデータパターンからなる基礎データパターンと、それに対応する“*0*”から“010 100 000”までの符号パターンからなる基礎符号パターンを含む変換パターン（基礎パターン）により構成される部分が基礎テーブルとしての変調テーブルであり、（00001000），（00000000），（110111），(01110111),(1001110111)のデータパターンからなる置換データパターンと、それに対応する“000 100 100 100”，“010 100 100 100”，“001 000 000(next010)”，“(pre1)010 000 000 101(not010)”,“$0$ 010 000 000 101(not010)”の符号パターンからなる置換符号パターン（置換パターン）により構成される部分が置換テーブルとしての変調テーブルである。
【００６２】
置換テーブルのうち、（00001000），（00000000）のデータパターンからなる置換データパターンと、それに対応する“000 100 100 100”，“010 100 100 100”の符号パターンからなる置換符号パターンを含む部分は、最大ランを制限するための置換パターンのテーブルであり、（110111），(01110111),(1001110111)のデータパターンからなる置換データパターンと、それに対応する“001 000 000(next010)”，“(pre1)010 000 000 101(not010)”,“$0$ 010 000 000 101(not010)”の符号パターンからなる置換符号パターンにより構成される部分が最小ランの連続を制限する置換パターンのテーブルである。
【００６３】
さらに（11）から（00000000）までのデータパターンは、条件によらず、固定的に、“*0*”から“010 100 100 100”までの対応する符号パターンに変換される。その意味で、以下、これらの変換パターンを固定的変換パターンとも記述する。
【００６４】
これに対して、（110111），（01110111）,（1001110111）のデータパターンは、条件によっては、全体が一括して“001 000 000”，“010 000 000 101”,“$0$ 010 000 000 101”の符号パターンに変換されるが、条件によっては、データパターンの全体が一括して変換されず、個別のデータパターン（固定的変換パターン）に分割され、個々のデータパターン毎に対応する符号パターンに変換される。その意味で、以下、これらの変換パターンを、条件的変換パターンとも記述する。
【００６５】
また、（00），（0000）のデータパターンからなる終端データパターンと、それに対応する“000”，“010 100”の符号パターンからなる終端符号パターンを含む変換パターン（終端パターン）により構成される部分が終端テーブルとしての変調テーブルである。
【００６６】
データパターンと符号パターンの対応関係を記述するのが変調テーブルであり、以下においては、表4の一部のことも必要に応じて変調テーブルあるいは変換テーブルと記述する。
【００６７】
表４は、最小ランｄ＝１、最大ランｋ＝７で、基礎符号の要素に不確定符号(＊で表される符号)を持つ。不確定符号は、直前および直後の符号語列の如何によらず、最小ランｄと最大ランｋを守るように、“０”か“１”に決定される。即ち表４において、変換する２データが（11）であったとき、その直前の符号語列（チャネルビット列）によって、“000”または“101”が選択され、そのいずれかに変換される。例えば、直前の符号語列の１チャネルビットが“１”である場合、最小ランｄを守るために、２データ（11）は、符号語“000”に変換され、直前の符号語列の１チャネルビットが“０”である場合、最大ランｋが守られるように、２データ（11）は、符号語“101”に変換される。
【００６８】
表４の変換テーブルは可変長構造を有しているので、基礎パターンはｉ＝１からｉ＝３までを持つ。
【００６９】
また、表４の変換テーブルは、拘束長ｉ＝３において、最小ランｄの連続を制限する置換パターンを持っている。データパターンが（110111）である場合、さらに直後の符号語が参照される。後ろに続く符号語列が“010”の符号パターンと一致する時、この６データは、符号パターン“001 000 000”に置き換えられる。またこの６データは、直後の符号語列が符号パターン“010”と一致しない場合、分割された２データ単位（（11），（01），（11））で符号語に変換されるので、符号語“*0* 010 *0*”即ち符号語“*0* 010 101”に変換される。
【００７０】
表４の変換テーブルはさらに、拘束長ｉ＝５において、最小ランｄの連続を制限する置換パターンを別途持っている。データ列が（1001110111）である場合、後述の例外処理の場合（続く符号が“010”である場合）を除いて、このデータ列10ビットは、符号語“$0$ 010 000 000 101”に置き換えられる。
【００７１】
“＄”はRLL規則を守り、かつ、最小ランの連続を所定回数までに制限するための不確定符号である。具体的には、最小ランを守るために、直前の符号語列の１チャネルビットが“１”である場合に、符号語“$0$”は符号語“000”に変換され、最大ランを守るために、直前の符号語列の１チャネルビットが“０”である場合に、符号語“$0$”は符号語“101”に変換される。さらに、最小ランの連続を所定回数までに制限するために、直前の符号語列の３チャネルビットが“010”である場合に、符号語“$0$”は符号語“000”に変換される。
【００７２】
以上をまとめると、直前の符号語列の２チャネルビットが、“10”あるいは“01”である場合に、符号語“$0$”は符号語“000”に変換され、そうでない時、即ち“00”である場合に、符号語“$0$”は符号語“101”に変換されることになる。
【００７３】
なお、２チャネルビットのパターンとしては、４通りあるが、残る“11”は最小ランｄ＝１を満たしていないので、変換パターンとして利用されない。
【００７４】
また、例外処理とは、以下の通りである。即ち、データ列がデータパターン（1001110111）と一致する場合、さらに直後の符号語列が参照され、後ろに続く符号語列が“010”であった時、上述の様な符号語“$0$ 010 000 000 101”への一括した置き換え処理は行われずに、先頭の２ビット（10）のみが、符号語“001”に変換される。以下、同様に、（01），（110111）と区分（分割）して順次変換される。
【００７５】
そして、表４の変調テーブルは、拘束長ｉ＝４において最小ランｄの連続を制限する置換パターンを別途持っている。同期パターンが挿入された後の符号語列において、変換処理を行うデータ列が（01110111）である時、さらにその直前の符号語が“１”であり、かつ後ろに続く符号語列が“010”でなかった時、この８データは、符号語“010 000 000 101”に置き換えられる。またこのデータ列は、直前の符号語が“０”であるか、または直後の符号語列が“010”である場合、区分（分割）され、２データ（01）が符号語“010”に変換される。そして次の変換処理でデータ（110111）の変換処理が行われる。
【００７６】
以上、同期パターンを挿入した状態でデータを変換した符号語列は、最小ランの連続が制限され、最大でも５回までの最小ラン繰り返しとなる。
【００７７】
表４の変換テーブルは、拘束長ｉ＝４の変換パターンにおいて、最大ランｋ＝７を実現するための置換パターン（最大ラン保証パターン）を持っている。即ち、データパターン（00001000）は符号パターン“000 100 100 100”に変換され、データパターン（00000000）は符号パターン“010 100 100 100”に変換されるようになされている。なお、この場合にも最小ランｄ＝１は守られている。
【００７８】
さらに表４は、同期パターンを挟むために、データ列の任意の位置において終端させる場合、データ列が（00）または（0000）で終端位置となる場合には、終端パターンが用いられる。挿入される同期パターンは、先頭の１符号語が終端パターン使用識別ビットとなっており、終端パターンが用いられた時は、直後の同期パターン列の先頭符号語が“１”となり、終端パターンが用いられなかった時は“０”となる。なお、表４における同期パターンは、上述の終端パターン使用識別ビットと、同期信号検出のために最大ランｋ＝７を超えるｋ＝８の符号語（同期位置を特定するためのパターン）を持ち、さらに複数の同期パターンのいずれであるのかを識別する識別ビットとしての６符号語が与えられている。この６符号語は、RLL規則を守るように任意に選択することができる。以上より、例えば表４にあるように、同期パターンはｋ＝８を２回繰り返して、合計30符号語（チャネルビット）で構成されている。
【００７９】
ところで表４の変換パターンは、基本的にデータパターンの“１”の個数を２で割った時の余りと、対応する符号パターンの“１”の個数を２で割った時の余りが、どちらも１あるいは０で同一（対応するいずれのパターンも“１”の個数が奇数または偶数）となるような変換規則を持っている。例えば、変換パターンのうちのデータパターン（000001）は、“010 100 100”の符号パターンに対応しているが、それぞれのパターンの“１”の個数は、データパターンでは１個、対応する符号パターンでは３個であり、どちらも２で割ったときの余りが１（奇数）で一致している。同様にして、変換パターンのうちのデータパターン（000000）は、符号パターン“010 100 000”に対応しているが、それぞれ“１”の個数はデータパターンでは０個、対応する符号パターンでは２個であり、どちらも２で割ったときの余りが０（偶数）で一致している。即ち、これらのパターンは偶奇性が保存されている偶奇性保存パターンである。
【００８０】
データ列内において、冗長ビットとしてDSV制御ビットを１ビット挿入し、このDSV制御ビットが（１）である時、DSV制御ビット部分を含むデータ列をチャネルビット列に変換し、NRZI化して記録符号列を作成すると、“１”と“０”の極性が反転する。また上記DSV制御ビットが（０）である時、DSV制御ビット部分を含むデータ列をチャネルビット列に変換し、NRZI化して記録符号列を作成すると、極性は反転しない。従って、データ列内に冗長ビットとして挿入された１ビットによって、これをデータ変換しNRZI化した後の極性を変えることが出来るので、データ列内でDSV制御が出来ることになる。すなわち、表４は、データ列によって符号のDSVを制御することができる規則（基本規則）を持ったテーブルである。
【００８１】
一方、表４は、拘束長ｉ＝４において最小ランｄの連続を制限する置換パターンの変換が行われた場合は、８ビットのデータパターン（01110111）が12チャネルビットの符号パターン “010 000 000 101”に置き換えられる。これらのパターンは、データパターンの“１”の個数を２で割った時の余りと、符号パターンの“１”の個数を２で割った時の余りが０と１で一致していない偶奇性保存違反パターンである。したがって、この変調テーブルは、データ列によって符号のDSVを制御することが出来ない規則（特定規則）を一部に持ったテーブルである。
【００８２】
そこで本発明の実施の形態においては、DSV制御を行うことが出来ない拘束長ｉ＝４の最小ランｄの連続を制限する置換パターンの出現位置が、同期パターンの直後に限定されるようにする。そして、同期パターンは30符号語であり、偶奇性保存違反パターン“010 000 000 101”は12チャネルビットであるので、合計のチャネルビット数は42となる。42チャネルビットは、変換率（ｍ／ｎ）でデータビットに換算すると28ビットとなる（42×（変換率）＝ 42×２/３＝28）。そこで、データ列内で28データおき以上の間隔で１ビットのDSV制御ビットが挿入される（DSV区間が28ビット以上とされる）。これにより、偶奇性保存違反パターンによる影響を避けることができる。よって表４においては、28データ＋１DSV制御ビットが、偶奇性保存違反パターンによる影響がない最小値である。DSV区間をこれ以上の間隔（例えば、45＋１DSV）とすれば、DSV制御は通常通り行うことができる。
【００８３】
即ち、表４は、データに対して挿入されるパターン（30ビットの同期パターン）と偶奇性保存違反パターン(12ビットのパターン“010 000 000 101”)の和の長さ（42ビット）に対応する変換前の長さ（28ビット）を基準長とし、１ビットのDSV制御ビットを挿入するDSV区間を基準長以上の長さとする規則を有する表である。これにより変調テーブル中に、偶奇性保存パターンだけでなく、偶奇性保存違反パターンも利用することが可能となり、変調テーブルに採用可能な変換パターンの自由度が向上する。
【００８４】
以上のような構成とすることによって、最小ランｄ＝１、最大ランｋ＝７、かつ変換率（m:n)=(2:3）であり、任意の位置に同期パターンが挿入された場合において、データ列内に１ビットのDSV制御ビットを挿入することによってDSV制御を行うことができ、さらに最小ランの連続が最大５回までに制限された、符号語列を得ることができる。
【００８５】
ここで表４においては、入力データの先頭の８ビットが偶奇性保存違反データパターン (01110111) と一致する場合、直前のチャネルビットが“1”であり、かつ、直後の３チャネルビットが“010”でなければ、偶奇性保存違反符号パターン“010 000 000 101”に変換される。また、入力データの先頭の８ビットが偶奇性保存違反データパターン (01110111)と一致したとしても、直前のチャネルビットが “0”であるか、また直後の３チャネルビットが“010”である場合には、偶奇性保存違反符号パターン“010 000 000 101”への変換は行われない。
【００８６】
このとき偶奇性保存違反符号パターン“010 000 000 101”への変換が適用されるのは、同期パターンが挿入されないDSV区間では発生せず、同期パターンが挿入されるDSV区間においてのみ発生する。以下、この理由について説明する。偶奇性保存違反データパターン（01110111）の直前のチャネルビットが“1”になる可能性があるのは、表４より、偶奇性保存違反データパターン(01110111)の前のデータパターンが、(10)（符号パターン“001”に変換される）であるか、または(11)（符号パターン“*0*”（“101”）に変換される）である場合である。
【００８７】
しかし、データパターンが(10)である場合には、表４の拘束長ｉ＝５の変換（データパターン(1001110111)の変換）が既に行われていることになる。また、直前のデータパターンが(11)である場合には、先頭の６ビットが表４の拘束長ｉ＝３のデータパターン(110111)に一致することになり、それに対応する変換が既に行われていることになる。結局、偶奇性保存違反符号パターンが適用される条件である、偶奇性保存違反データパターン（01110111）の直前のチャネルビットが“1”になる可能性があるのは、変調テーブルの規則に拘わらずに自由にチャネルビットが決定される場合、すなわち、同期パターンが挿入される場合だけである。
【００８８】
具体的には、偶奇性保存違反データパターン（01110111）の直前のチャネルビットが“1”になるのは、挿入される同期パターン列の後方にある識別ビットの“yyy yyy”の最後の１チャネルビット“y”が“1”である場合である。従って、偶奇性保存違反パターンは同期パターンが挿入されるDSV区間においてのみ使用され、同期パターンが挿入されないDSV区間においては使用されないことになる。
【００８９】
表４以外で、同様な変調テーブルの他の実施の形態として、次のようなテーブルが考えられる。すなわち
表４の
ｉ＝４  01110111    (pre1)010 000 000 101(not010)
の部分を、
ｉ＝４  01110111  010 000 000 101(not010)、但し挿入パターン（例えば同期信号）直後にのみ適用
として、他の部分を同様なテーブルとした時においても、DSV制御を行うことが出来ない拘束長ｉ＝４の最小ランｄの連続を制限する置換パターンの出現位置が、同期パターンの直後に限定されるようにすることができる。
【００９０】
勿論、挿入されるパターンは同期パターン以外の各種のパターンとすることができ、また、偶奇性保存違反パターンの長さも12ビット以外の長さにすることができる。
【００９１】
次に、本発明の実施の形態に係る変調装置の構成を図面を参照しながら説明する。図１は、本発明の実施の形態の変調装置１の全体の構成を示すブロック図である。変調装置１は、入力されたデータ列を符号化し、出力する符号化装置11と、符号化装置11の出力を記録媒体13に記録する記録部12により構成されている。符号化装置11は、DSV制御ビット決定挿入部21、変調部22、同期パターン挿入部23、並びにNRZI化部24により構成される。
【００９２】
DSV制御ビット決定挿入部21は、入力されたデータ列に対して、所定のフォーマットに従って任意の間隔でDSV制御を行い、その結果任意の間隔でDSV制御ビットである“１”あるいは“０”の決定を行い、挿入を行う。変調部22は、DSV制御ビットの挿入されたデータ列を変調する。同期パターン挿入部23は、所定の間隔で所定の位置に同期パターンを挿入する。NRZI化部24は、同期パターンが挿入されたデータを、記録符号列に変換する（あるいは伝送路に出力する場合は伝送符号列に変換する）。記録部12は、NRZI化部24より入力された記録符号列を、例えば光ディスク、磁気ディスク、光磁気ディスク等により構成される記録媒体13に記録する。また、図示はしないが、タイミング信号を生成し、各部に供給してタイミングを管理するタイミング管理部が設けられている。
【００９３】
図２は、変調装置１の各部に入出力されるデータのデータフォーマットを示す図であり、同期パターンを含んだ、DSV制御ビットの挿入の関係が示されている。図示せぬ装置からDSV制御ビット決定挿入部21に入力されるデータ列（図2A）には、ユーザデータの他、ECC（Error-Correcting Code）等の情報データが含まれている。DSV制御ビット決定挿入部21は、このデータ列の所定間隔の位置にDSV制御ビットを１ビット挿入する（図2B）。
【００９４】
先頭の区間は、シンクSYNC(同期パターン)を挿入することを前提として、あらかじめ他の区間と異なる長さとされている。図2B中のDSV区間(DATA1, DATA2, および DATA3)の長さをそれぞれaデータ、bデータ、およびbデータとすると、変換率m:n = 2:3の変調テーブル（表4）を用いた変調部22による変調により、各DSV区間(DATA1, DATA2, およびDATA3)の変換cbit（チャネルビット）区間は、( a×３/２ ) = ( 1.5a )あるいは、( b×３/２) = ( 1.5b )となる（図2C）。その後、同期パターン挿入部23は、所定の位置（図２ではDATA1位置の前の先頭位置）にシンク（SYNC）を挿入する（図2D）。SYNCのチャネルビット数をc(cbit) とすれば、a,b,c の間には、次の式（１）の関係が成り立つようにする。
1.5a + c = 1.5b                    …（１）
【００９５】
このとき、同期パターンを含んだフォーマットにおいても、等しい間隔でDSV制御が行われることとなる。
【００９６】
図２によるチャネルビット内のDSV制御ビットは、1.5チャネルビット相当である。即ち、データ列内にDSV制御ビットは１ビット挿入されるから、チャネルビット相当では変換率分だけ増加し、
１ビット  ×  ｎ／ｍ  ＝  １×３／２  ＝  1.5チャネルビット    …（２）
となる。
【００９７】
これを従来の方式と比較すると、例えば、チャネルビット内でDSV制御を、最小ランｄ＝１を守って行うためには、２チャネルビットが必要である。あるいは、最小ランと最大ランの両方を守ってDSV制御を行うためには、４チャネルビットが必要である。従って、従来のDSV制御方式と較べると、本方式のデータ列内DSV制御ビット挿入は、DSV制御のための冗長チャネルビットが少なく行えることがわかる。
【００９８】
なお、同期パターンの最後の１チャネルビットが“1”であり、その直後のデータがデータパターン（01110111）と一致し、さらに後ろに続く3チャネルビットが“010”でない場合には、その部分は変調部22により符号パターン“010 000 000 101”に変換されている（図2E）。この符号パターンは偶奇性保存違反パターンである。しかし、偶奇性保存違反パターンはDSV区間内に含まれているため、DSV区間においてはDSV制御が可能となっている。なお、変調部22には、同期パターンが挿入される区間のデータであるのか、あるいは同期パターンが挿入される場合、そのIDは何か、従って、偶奇性保存違反パターンを使用するのかといったことを決定できるように、各部から必要な情報が供給されている。
【００９９】
同期パターンが挿入されたチャネルビット列が、NRZI化部24によりNRZI化され（図2F）、記録符号列として記録部12に供給され、記録媒体13に記録される。
【０１００】
図３は、符号化装置11の主要部の構成を示すブロック図である。DSV制御ビット決定挿入部21は、入力データにDSV制御ビットを付加する加算器41を有している。変調部22は、変換パターン処理部51、変換パターン決定部52、特定規則変換パターン検出部53、最小ラン連続制限パターン処理部54、チャネルビット列変換部55、直前符号検出部56、および総合検出部57により構成されている。
【０１０１】
図３の符号化装置11において、入力されたデータ列には、加算器41によりDSV制御ビットが所定の間隔で挿入される。DSV制御ビットが挿入された入力データ列は、変換パターン処理部51へ送られる。変換パターン処理部51は、表４の基礎パターン部分と最大ランｋ＝７を実現するための置換パターンを有しており、RLL規則を守るように変換パターン処理を行い、その処理情報を変換パターン決定部52へ供給する。変換パターン処理には、直前符号検出部56からの情報が用いられる。また、変換パターン処理部51は、同期パターンを挿入するための終端テーブルを有しており、所定の位置で終端させるように、必要に応じて終端テーブルを用いる。終端テーブルが用いられた際には、その情報が同期パターンに埋め込まれる。変換パターン決定部52は、変換パターン処理部51が出力する符号語列から所定の変換パターンを選び出し、出力する。
【０１０２】
最小ラン連続制限パターン処理部54は、表４の、データ列内でDSV制御を行うことができる最小ランｄの連続を制限する置換パターンを含んでおり、所望の最小ランの連続回数までに制限するように処理を行い、その処理情報をチャネルビット列変換部55へ供給する。特定規則変換パターン検出部53は、データ列内でDSV制御を行うことの出来ない特定規則を持った置換パターンを含んでおり、所望の最小ランの連続回数までに制限するように処理を行い、その処理情報をチャネルビット列変換部55へ供給する。特定規則変換パターン検出部53の処理には、総合検出部57からの情報が用いられる。
【０１０３】
チャネルビット列変換部55は、変換パターン決定部52より出力されたチャネルビット列を、最小ラン連続制限パターン処理部54、特定規則変換パターン検出部53、直前符号検出部56、および総合検出部57からの情報に基づいて、他のチャネルビット列に変換する。
【０１０４】
直前符号検出部56は、変換パターン決定部52および同期パターン挿入部23からの情報に基づいて、最終的に確定した変換パターンからRLLを保証するために必要な情報として、次の変換処理の直前の符号が“１”であるかを検出し、その検出結果を変換パターン処理部51とチャネルビット列変換部55へ供給する。総合検出部57は、変換パターン決定部52および同期パターン挿入部23からの情報に基づいて、最終的に確定した変換パターンおよび同期パターンから、最小ランの連続制限回数を保証するために必要な情報を生成し、チャネルビット列変換部55と特定規則変換パターン検出部53へ供給する。具体的には、次の変換処理の直前の符号が“010”であるか、または“１”であるかを検出する。
【０１０５】
尚、直前符号検出部56あるいは総合検出部57の検出において、最終的に確定した変換パターンを得るための入力情報として、変換パターン決定部52からの情報としたが、図示していないが、チャネルビット列変換部55からの同期パターン挿入部23への出力を用いても、同様にして行うことができる。また、直前符号検出部56の出力先である、変換パターン処理部51とチャネルビット列変換部55において、処理を行うタイミングが異なる場合は、それぞれのタイミングにおける、直前の符号についての検出結果を提供する。
【０１０６】
同期パターン挿入部23は、チャネルビット列変換部55から出力された符号語に所定の間隔、所定の位置で同期パターンを挿入する。同期パターン挿入部23の出力は、NRZI化部24においてNRZI化され、記録符号列（あるいは伝送路に出力する場合は伝送符号列）として出力される。この出力は、記録部12により記録媒体13に記録されるか、あるいは所定の伝送路に伝送される。
【０１０７】
また各部の動作のタイミングは、図示しないタイミング管理部から供給されるタイミング信号に同期して管理されている。
【０１０８】
図４は、図３の符号化装置11のより詳細な構成を表している。DSV制御ビット決定挿入部21は、加算器41とシフトレジスタ42により構成されている。シフトレジスタ42は、最大８ビットのデータを保持するように構成されている。変換パターン処理部51は、変換パターン検出部71、変換テーブル72（変換テーブル72A乃至72D）、セレクタ73、および不確定ビット決定部74により構成されている。
【０１０９】
変換パターン検出部71は、シフトレジスタ42から入力されたデータ列より、RLL規則を守る変換パターンの検出を行い、その結果情報（変換パターン決定情報）を変換パターン決定部52へ出力するとともに、各変換テーブル72A乃至72Dへも出力する。変換テーブル72Aは拘束長ｉ＝１の変換処理を行う。すなわち、２データを３チャネルビットに変換し、セレクタ73に出力する。変換テーブル72Bは拘束長ｉ＝２の変換処理を行う。すなわち、４データを６チャネルビットに変換し、変換パターン決定部52に出力する。変換テーブル72Cは拘束長ｉ＝３の変換処理を行う。すなわち、６データを９チャネルビットに変換し、変換パターン決定部52に出力する。変換テーブル72Dは拘束長ｉ＝４の変換処理を行う。すなわち、８データを12チャネルビットに変換し、変換パターン決定部52に出力する。また、変換パターン検出部71は、不確定符号に対応する不確定データを検出したとき、セレクタ73に不確定パターン識別情報を出力する。
【０１１０】
セレクタ73は、変換パターン検出部71からの不確定パターン識別情報に基づいて、変換テーブル72Aから供給されるチャネルビット列に不確定符号が含まれる場合（不確定パターン識別情報が不確定符号の存在を表している場合）、変換テーブル72Aより供給されたチャネルビット列を不確定ビット決定部74に出力する。
【０１１１】
不確定ビット決定部74は、直前符号検出部56の出力に基づいて、セレクタ73より供給された3チャネルビットに含まれる不確定ビットを確定し、不確定ビットが確定された後の3チャネルビットの符号列を変換パターン決定部52に出力する。これに対して、不確定符号が含まれていない場合には、セレクタ73は、変換テーブル72Aより供給されたチャネルビット列を変換パターン決定部52に直接出力する。
【０１１２】
また、変換パターン処理部51は同期パターンを挿入するための終端テーブルを持っており、所定の位置で終端させるように、必要に応じて終端テーブルを用いる。終端テーブルが用いられた際には、その情報が同期パターンに埋め込まれる。
【０１１３】
特定規則変換パターン検出部53は、符号パターン“010 101 010 101”であること、および総合検出部57からの情報に基づいて、直前の符号が“1”であることを検出する。
【０１１４】
最小ラン連続制限パターン処理部54は、最小ラン連続制限パターン検出予想部111と最小ラン連続制限パターン検出部112とにより構成されている。
【０１１５】
最小ラン連続制限パターン検出予想部111は、先頭ではない所定位置において、最小ランの連続回数を制限するための所定のパターン列を検出したとき、その情報を最小ラン連続制限パターン検出予想情報としてチャネルビット列変換部55に出力する。具体的には、最小ラン連続制限パターン検出予想部111は、所定のチャネルビット列検出として、表４の拘束長ｉ＝５の最小ランｄの連続を制限する置換パターンの例外処理に相当する処理を含み、同期パターンを含まないチャネルビット列上で基本処理単位である３チャネルビット単位で見て、先頭から７チャネルビット目が“101 010 101”と、これに続く３チャネルビットが“010”であった部分に対して検出処理を行う。すなわち、“xxx xxx 101 010 101”＋“010”であるかどうかが検出される。また、最小ラン連続制限パターン検出予想部111は、先頭から４チャネルビット目が“101 010 101”と、これに続く３チャネルビットが“010”であった部分に対して検出処理を行う。すなわち、“xxx 101 010 101”＋“010”であるかどうかが検出される。
【０１１６】
最小ラン連続制限パターン検出部112は、所定のチャネルビット列検出として表４の拘束長ｉ＝３，５の最小ランｄの連続を制限する置換パターンに相当する処理を行い、基本処理単位である３チャネルビット単位で見て、“101 010 101”とこれに続く３チャネルビットが“010”であった部分に対しての検出処理を行う。さらに、基本処理単位である３チャネルビット単位で見て“001 010 101 010 101”である部分に対しての検出処理を行う。
【０１１７】
チャネルビット列変換部55は、最小ラン連続制限パターン検出部112により、符号パターン“101 010 101”と、これに続く３チャネルビットが“010”であることが検出された場合に、符号パターン“101 010 101”を符号パターン“001 000 000”へ置換する処理を行う。
【０１１８】
チャネルビット列変換部55はまた、最小ラン連続制限パターン検出部112により、符号パターン“001 010 101 010 101”が検出された場合に、さらに先頭７チャネルビットからの検出予想情報が“xxx xxx 101 010 101”＋“not 010”の時、符号パターン“001 010 101 010 101”を符号パターン“$0$ 010 000 000 101”に変換する。“$0$”は、直前の符号が“１”であるか、または直前の３符号語が“010”であるとき“000”に変換され、そうでないとき“101”に変換される。
【０１１９】
さらにチャネルビット列変換部55は、特定規則変換パターン検出部53により、符号パターン“010 101 010 101”と、直前の符号が“1”であることが検出された場合に、さらに先頭４チャネルビットからの検出予想情報が“xxx 101 010 101”＋“not 010”の時、 符号パターン“010 101 010 101”を符号パターン“010 000 000 101”に変換する。
【０１２０】
直前符号検出部56は、図５に示されるように、決定された変換パターン（チャネルビット列）の一番最後のチャネルビット列を記憶し、これが“１”か、“０”かの情報（直前符号フラグ）を出力する。総合検出部57は、図６に示されるように、決定された変換パターン（チャネルビット列）の最後から３チャネルビット分を記憶し、これが“010”か、そうでないかの情報（総合フラグ(1)）と、“１”であるか、そうでないかの情報（総合フラグ(２)）を出力する。不確定ビット決定部74は、図７に示されるように、表４において、入力データ列データパターン（11）を“*0*”に変換するテーブルに相当する。直前のチャネルビットが“１”のときは（直前符号フラグがonのときは）“000”が、直前のチャネルビットが“０”のときは（直前符号フラグがoffのときは）“101”が、それぞれ出力される。
【０１２１】
次に、図８のフローチャートを参照して、図１の変調装置１の記録方法（変調方法）について説明する。ステップS1において、DSV制御ビット決定挿入部21の加算器41は、入力されたデータ列にDSV制御ビットを付加する。ステップS2においてシフトレジスタ42は、加算器41より供給されたDSV制御ビットが付加されたデータ列を２ビット単位で保持する。ステップS3で変換パターン処理部51により変換パターン検出処理が実行される。その処理の詳細は、図９を参照して詳述するが、これにより、８データを12チャネルビットに変換する処理、６データを９チャネルビットに変換する処理、４データを６チャネルビットに変換する処理、または２データを３チャネルビットに変換する処理が実行される。
【０１２２】
次にステップS4で、変換パターン決定部52は変換パターン決定処理を実行する。この変換パターン決定処理の詳細は図13のフローチャートを参照して後述するが、これにより変換パターン処理部51の変換テーブル72A乃至72Dにより変換された符号パターンのいずれかが選択され、出力される。
【０１２３】
ステップS5で最小ラン連続制限パターン検出予想部111により予想処理が、ステップS6で最小ラン連続制限パターン検出部112により最小ラン連続制限パターン検出処理が、ステップS7で特定規則変換パターン検出部53により特定規則変換パターン検出処理が、それぞれ実行される。
【０１２４】
なお、実際には、これらのステップS5乃至ステップS7の処理はそれぞれ並列して実行される。なお、後述するように、直前符号検出部56による図11の直前符号検出処理と、総合検出部57による図12の最小ラン連続制限総合検出処理もこれらと平行して実行される。
【０１２５】
ステップS5の予想処理の詳細は図14のフローチャートを参照して後述するが、これにより、符号パターン“101 010 101”が途中（7ビット目）から含まれており、かつ、次のチャネルビットが“010”である場合には予想フラグ(C7)がonされ、符号パターン“101 010 101”が途中（４ビット目）から含まれており、かつ、次のチャネルビットが“010”である場合には予想フラグ(C4)がonされる。そして、そうでない場合には予想フラグがoffされる。
【０１２６】
ステップS6の最小ラン連続制限パターン検出処理の詳細は図15のフローチャートを参照して後述するが、これにより符号が変換パターン“001 010 101 010 101”である場合には、最小ラン連続制限パターン検出フラグ15がonとされ、また、符号が変換パターン“101 010 101”であり、次のチャネルビットが“010”である場合には、最小ラン連続制限パターン検出フラグ12がonとされる。そうでない場合には、最小ラン連続制限データ検出フラグがoffとされる。
【０１２７】
ステップS7の特定規則変換パターン検出処理の詳細は、図16のフローチャートを参照して後述するが、これにより、符号が変換パターン“010 101 010 101”と一致し、かつ直前の符号が“1”である場合には特定規則変換パターン検出フラグがonとされる。
【０１２８】
図８に戻って、次に、ステップS8において、チャネルビット列変換部55はチャネルビット列変換処理を実行する。このチャネルビット列変換処理の詳細は図17のフローチャートを参照して後述するが、これによりチャネルビット列が最終的に確定され、出力される。
【０１２９】
ステップS9において、同期パターン挿入部23は、チャネルビット列変換部55より入力された、変換パターンが最終的に確定された符号列に対して同期パターンを挿入する。ステップS10において、NRZI化部24は、同期パターン挿入部23より供給された同期パターンが挿入されている符号列をNRZI化する。ステップS11において、記録部12は、NRZI化部24によりNRZI化された記録符号列を記録媒体13に記録する。
【０１３０】
次に、図９のフローチャートを参照して、図８のステップS3における変換パターン検出処理の詳細について説明する。
【０１３１】
ステップS51において、変換パターン検出部71は、シフトレジスタ42より入力されたデータがデータパターン（00001000），（00000000）と一致するかを判定する。入力されたデータがデータパターン（00001000）または（00000000）と一致する場合には、ステップS52において、変換パターン検出部71は、８データ／12チャネルビットの変換パターン決定情報を出力する。この情報は、変換パターン決定部52と変換テーブル72A乃至72Dに供給される。ステップS53において、変換テーブル72Dは、８データを12チャネルビットに変換する。そして、12チャネルビットは変換パターン決定部52に供給される。すなわち、入力されたデータがデータパターン（00001000）または（00000000）と一致する場合には、それぞれ符号列“000 100 100 100”または“010 100 100 100”が出力される。ステップS52で出力された情報は後述する図13のステップS151で利用され、ステップS53で変換された符号列はステップS152で選択、出力される。
【０１３２】
ステップS51において、入力されたデータがデータパターン（00001000），（00000000）と一致しないと判定された場合、ステップS54において、変換パターン検出部71は、入力されたデータがデータパターン（000011），（000010），（000001），（000000）と一致するかを判定する。入力されたデータがこの４つのいずれかと一致する場合には、ステップS55において変換パターン検出部71は、６データ／９ャネルビット決定情報を変換パターン決定部52と変換テーブル72A乃至72Dに出力する。ステップS56において、変換テーブル72Cは、６データを９チャネルビットに変換し、変換パターン決定部52に出力する。すなわち、入力されたデータがデータパターン（000011），（000010），（000001），（000000）のいずれかである場合には、符号列“000 100 100”,“000 100 000”,“010 100 100”,“010 100 000”がそれぞれ出力される。ステップS55で出力された情報は図13のステップS153で利用され、ステップS56で変換された符号列はステップS154で選択、出力される。
【０１３３】
ステップS54において、入力されたデータがデータパターン（000011），（000010），（000001），（000000）のいずれとも一致しないと判定された場合には、ステップS57において変換パターン検出部71は、入力されたデータがデータパターン（0011），（0010），（0001）と一致するかを判定する。入力されたデータがこの３つのデータパターンのいずれかと一致する場合には、ステップS58において変換パターン検出部71は、４データ／６チャネルビットの変換パターン決定情報を変換パターン決定部52と変換テーブル72A乃至72Dに出力する。ステップS59において変換テーブル72Bは、４データを６チャネルビットに変換し、変換パターン決定部52に出力する。すなわち、入力されたデータがデータパターン（0011）と一致する場合には符号列“010 100”が出力され、入力データがデータパターン（0010）と一致する場合には符号列“010 000”が出力され、入力データがデータパターン（0001）と一致する場合には符号列“000 100”が出力される。ステップS58で出力された情報は図13のステップS155で利用され、ステップS59で変換された符号列はステップS156で選択、出力される。
【０１３４】
ステップS57において、入力されたデータがデータパターン（0011），（0010），（0001）のいずれとも一致しないと判定された場合には、ステップS60において変換パターン検出部71は、２データ／３チャネルビットの変換パターン決定情報を変換パターン決定部52と変換テーブル72A乃至72Dに出力する。この情報は、図13のステップS157,S158で利用される。
【０１３５】
ステップS61において、変換パターン検出部71は、入力された２データはデータパターン（11）と一致するかを判定する。入力されたデータがデータパターン（11）と一致する場合には、ステップS62において変換パターン検出部71は、不確定パターン識別情報をセレクタ73に出力する。不確定パターン識別情報は、後述する図10のステップS82で利用される。
【０１３６】
ステップS61において、入力されたデータがデータパターン（11）と一致しないと判定された場合においては、ステップS62の処理はスキップされる。ステップS62の処理の後、またはステップS61でデータがデータパターン（11）と一致しないと判定された場合には、ステップS63において、変換テーブル72Aは、２データ／３チャネルビット処理を実行する。この２データ／３チャネルビット処理の詳細は図10のフローチャートに示されている。
【０１３７】
次に、図10のフローチャートを参照して、図９のステップS63における２データ／３チャネルビット処理の詳細について説明する。
【０１３８】
ステップS81において、変換テーブル72Aは、２データを３チャネルビットに変換してセレクタ73に出力する。すなわち、変換テーブル72Aは、入力されたデータがデータパターン（11）と一致する場合には符号列“*0*”を出力し、入力されたデータがデータパターン（10）と一致する場合には符号語“001”を出力し、入力されたデータがデータパターン（01）と一致する場合には符号語“010”を出力する。
【０１３９】
ステップS82において、セレクタ73は、不確定パターン識別情報を取得したかを判定する。不確定パターン識別情報（図９のステップS62で出力される）が変換パターン検出部71より取得されてない場合には、ステップS83においてセレクタ73は、３チャネルビットを変換パターン決定部52に出力する処理を実行する。具体的には、変換テーブル72Aより入力されたチャネルビット“001”,“010”が変換パターン決定部52に出力される。ステップS83で出力された符号列は、図13のステップS160で選択、出力される。
【０１４０】
これに対して、ステップS82において、不確定パターン識別情報が変換パターン検出部71より取得されたと判定された場合、ステップS84において、セレクタ73は３チャネルビット(“*0*”)を不確定ビット決定部74に出力する。ステップS85において、不確定ビット決定部74は直前符号フラグはonかを判定する。この直前符号フラグは、後述する図11のステップS103,S104の処理に基づき、直前符号検出部56から供給されている。直前符号フラグがonである場合（直前の符号語列の１チャネルビットが“１”である場合）には、ステップS86において不確定ビット決定部74は、符号語“000”を変換パターン決定部52に出力する。これに対して、直前符号フラグがonではない（offである）場合（直前の符号語列の１チャネルビットが“０”である場合）、ステップS87において不確定ビット決定部74は、符号語“101”を変換パターン決定部52に出力する。ステップS86，S87で出力された符号列は、図13のステップS159で選択、出力される。
【０１４１】
次に、図11と図12のフローチャートを参照して、直前符号検出部56と総合検出部57の処理について説明する。
【０１４２】
最初に、図11のフローチャートを参照して、直前符号検出部56の直前符号検出処理について説明する。
【０１４３】
ステップS101において、直前符号検出部56は、同期パターンが直前に挿入されている場合は、挿入パターンの最後のチャネルビットを直前の符号語列の１チャネルビットとする。すなわち、直前符号検出部56は、同期パターン挿入部23からの出力に基づいて、同期パターンが挿入されたかを判定し、挿入されている場合には、次のステップS102の判定における直前の符号語列の１チャネルビットとして、挿入パターン（同期パターン）の最後の１チャネルビットを選択する。
【０１４４】
ステップS102において、直前符号検出部56は、変換パターン決定部52からの符号列情報より、次の変換処理の直前の符号列の１チャネルビットは“１”かを判定する。直前の符号列の１チャネルビットが“１”である場合には、ステップ103において直前符号検出部56は、直前符号フラグonを出力する。これに対して、ステップS102において、直前の符号列の１チャネルビットが“１”ではないと判定された場合（“0”であると判定された場合）、ステップS104において、直前符号検出部56は直前符号フラグoffを出力する。この直前符号フラグは、不確定ビット決定部74とチャネルビット列変換部55に出力され、図10のステップS85と図17のステップS284で利用される。
【０１４５】
次に、図12のフローチャートを参照して、総合検出部57による最小ラン連続制限総合検出処理について説明する。
【０１４６】
ステップS121において、総合検出部57は、同期パターンが直前に挿入されている場合は、挿入パターンの最後の３チャネルビットを直前の符号語列の３チャネルビットとする。すなわち、総合検出部57は、同期パターン挿入部23からの出力に基づいて、同期パターンが挿入されたかを判定し、挿入されている場合には、次のステップS122の判定における直前の符号語列の３チャネルビットとして、挿入パターン（同期パターン）の最後の３チャネルビットを選択する。
【０１４７】
ステップS122において、総合検出部57は、変換パターン決定部52からの符号列情報より、次の変換処理の直前の符号語列の３チャネルビットは“010”かを判定する。直前の符号語列の３チャネルビットが“010”である場合には、ステップS123において、総合検出部57は、最小ラン連続制限総合フラグ(1)onを出力する。ステップS122において、直前の符号語列の３チャネルビットが“010”ではないと判定された場合（“000”,“101”,“001”である場合）、ステップS124において、総合検出部57は、最小ラン連続制限総合フラグ(1)offを出力する。この最小ラン連続制限総合フラグ(1)はチャネルビット列変換部55に出力され、図17のステップS285で利用される。
【０１４８】
ステップS125において、総合検出部57は、変換パターン決定部52からの符号列情報より、次の変換処理の直前の符号語列の１チャネルビットは“1”かを判定する。直前の符号語列の１ャネルビットが“1”である場合には、ステップS126において、総合検出部57は、最小ラン連続制限総合フラグ(2)onを出力する。ステップS125において、直前の符号語列の１チャネルビットが“1”ではないと判定された場合（“0”である場合）、ステップS127において、総合検出部57は、最小ラン連続制限総合フラグ(2)offを出力する。この最小ラン連続制限総合フラグ(2)は特定規則変換パターン検出部53に出力され、図16のステップS242で利用される。
【０１４９】
次に、図13のフローチャートを参照して、図８のステップS4における変換パターン決定処理の詳細について説明する。
【０１５０】
ステップS151において変換パターン決定部52は、８データ／12チャネルビットの変換パターン決定情報を受信したかを判定する。この決定情報は、図９のステップS52で出力されたものである。８データ／12チャネルビットの変換パターン決定情報が受信されている場合には、ステップS152において変換パターン決定部52は、８データ／12チャネルビットの変換出力を選択、出力する。すなわち、図９のステップS53で変換されたチャネルビットが選択、出力されることになる。
【０１５１】
ステップS151において、８データ／12チャネルビットの変換パターン決定情報を受信していないと判定された場合には、ステップS153において変換パターン決定部52は、６データ／９チャネルビットの変換パターン決定情報を受信したかを判定する。この決定情報は、図９のステップS55で出力されたものである。６データ／９チャネルビットの変換パターン決定情報を受信した場合には、ステップS154において変換パターン決定部52は、６データ／９チャネルビットの変換出力を選択、出力する。すなわち、図９のステップS56で出力されたデータが選択、出力されることになる。
【０１５２】
ステップS153において、６データ／９チャネルビットの変換パターン決定情報を受信してないと判定された場合には、ステップS155において変換パターン決定部52は、４データ／６チャネルビットの変換パターン決定情報を受信したかを判定する。この決定情報は、図９のステップS58で出力されたものである。４データ／６チャネルビットの変換パターン決定情報を受信している場合には、ステップS156において変換パターン決定部52は、４データ／６チャネルビットの変換出力を選択、出力する。すなわち、図９のステップS59で変換されたチャネルビットが選択、出力されることになる。
【０１５３】
ステップS155において、４データ／６チャネルビットの変換パターン決定情報が受信されていないと判定された場合、ステップS157において変換パターン決定部52は、２データ／３チャネルビットの変換パターン決定情報を変換パターン検出部71より受信したかを判定する。この情報は、図９のステップS60において出力されたものである。２データ／３チャネルビットの変換パターン決定情報を受信した場合には、ステップS158において変換パターン決定部52は、さらにその２データ／３チャネルビットの変換パターン決定情報は、データ（11）の変換パターン決定情報かを判定する。すなわち、不確定符号を含む符号に変換される可能性があるデータパターンであるのかが判定される。データ（11）の変換パターン決定情報を受信したと判定された場合には、ステップS159において変換パターン決定部52は、不確定ビット決定部74が出力する３チャネルビットを選択し、出力する処理を実行する。すなわち、図10のステップS86,S87の処理で出力された符号列が選択、出力される。
【０１５４】
これに対して、ステップS158において、２データ／３チャネルビットの変換パターン決定情報が、データ（11）の変換パターン決定情報ではないと判定された場合（不確定符号を含む符号に変換されるデータのチャネルビットではないと判定された場合）、ステップS160において変換パターン決定部52は、セレクタ73の３チャネルビットを選択し、出力する。すなわち、この場合には、図10のステップS83で出力された符号列が選択、出力される。
【０１５５】
以上のようにして変換パターンが決定されると、決定されたチャネルビットに相当する分だけデータ列がシフトレジスタ42においてシフトされ、次のデータの変換パターン決定処理が実行されることになる。
【０１５６】
次に、図14のフローチャートを参照して、図８のステップS5における予想処理の詳細について説明する。
【０１５７】
ステップS181において、最小ラン連続制限パターン検出予想部111は、予想フラグをクリアする。すなわち、後述するステップS184,S187で出力される予想フラグ(C7),(C4)がクリアされる。ステップS182において、最小ラン連続制限パターン検出予想部111は、変換パターン決定部52より供給された符号が符号パターン“xxx xxx 101 010 101”と一致するかを判定する。入力された符号が符号パターン“xxx xxx 101 010 101”と一致する（符号が符号パターン“101 010 101”と７ビット目から一致する）場合には、ステップS183において、最小ラン連続制限パターン検出予想部111は、次のチャネルビットが“010”かを判定する。次のチャネルビットが“010”である場合には、ステップS184において、最小ラン連続制限パターン検出予想部111は、予想フラグ(C7)onを最小ラン連続制限データ検出予想情報としてチャネルビット列変換部55に出力する。このフラグは後述する図17のステップS282で利用される。
【０１５８】
ステップS182において、符号が符号パターン“xxx xxx 101 010 101”と一致しないと判定された場合、ステップS185において、最小ラン連続制限パターン検出予想部111は、符号が符号パターン“xxx 101 010 101”と一致するかを判定する。入力された符号が符号パターン“xxx 101 010 101”と一致する（符号が符号パターン“101 010 101”と４ビット目から一致する）場合には、ステップS186において、最小ラン連続制限パターン検出予想部111は、次のチャネルビットが“010”かを判定する。次のチャネルビットが“010”である場合には、ステップS187において、最小ラン連続制限パターン検出予想部111は、予想フラグ(C4)onを最小ラン連続制限データ検出予想情報として変換パターン決定部52に出力する。このフラグは後述する図17のステップS294で利用される。
【０１５９】
ステップS183において、次のチャネルビットが“010”ではないと判定された場合（“000”, “101”、または“001”である場合）、ステップS185において、符号が符号パターン”xxx 101 010 101”と一致しないと判定された場合、またはステップS186において、次のチャネルビットが“010”ではないと判定された場合（“000”,“101”、または“001”である場合）、ステップS188において、最小ラン連続制限パターン検出予想部111は、予想フラグoffを出力する。この予想フラグoffは、ステップS184で生成される予想フラグ(C7)のoffを意味するとともに、ステップS187で生成される予想フラグ(C4)のoffをも意味する。
【０１６０】
次に、図15のフローチャートを参照して、図８のステップS6の最小ラン連続制限パターン検出処理について説明する。
【０１６１】
ステップS201において、最小ラン連続制限パターン検出部112は、検出フラグをクリアする。すなわち、後述するステップS203,S206で出力される最小ラン連続制限パターン検出フラグ15,12がクリアされる。ステップS202において、最小ラン連続制限パターン検出部112は、変換パターン決定部52より供給された符号が符号パターン“001 010 101 010 101”と一致するかを判定する。入力された符号が符号パターン“001 010 101 010 101”と一致する場合には、ステップS203において、最小ラン連続制限パターン検出部112は、最小ラン連続制限パターン検出フラグ15onを最小ラン連続制限パターン検出情報として、チャネルビット列変換部55に出力する。このフラグは後述する図17のステップS281で利用される。
【０１６２】
ステップS202において、符号が符号パターン“001 010 101 010 101”と一致しないと判定された場合、ステップS204において、最小ラン連続制限パターン検出部112は、符号が符号パターン“101 010 101”と一致するかを判定する。入力された符号が符号パターン“101 010 101”と一致する場合には、ステップS205において、最小ラン連続制限パターン検出部112は、次の３チャネルビットが“010”かを判定する。次の３チャネルビットが“010”である場合には、ステップS206において、最小ラン連続制限パターン検出部112は、最小ラン連続制限パターン検出フラグ12onを最小ラン連続制限パターン検出情報として、チャネルビット列変換部55に出力する。このフラグは後述する図17のステップS290で利用される。
【０１６３】
ステップS204において、入力された符号が符号パターン“101 010 101”と一致しないと判定された場合、並びにステップS205において、次の３チャネルビットが“010”ではないと判定された場合には、ステップS207において、最小ラン連続制限パターン検出部112は、最小ラン連続制限データ検出フラグoffをチャネルビット列変換部55に出力する。この最小ラン連続制限データ検出フラグのoffは、最小ラン連続制限パターン検出フラグ15がoffであることを意味するとともに、最小ラン連続制限パターン検出フラグ12がoffであることを意味する。
【０１６４】
次に図16のフローチャートを参照して、図8のステップS7における特定規則変換パターン検出処理について説明する。
【０１６５】
ステップS241において、特定規則変換パターン検出部53は、符号が符号パターン“010 101 010 101”と一致するかを判定する。符号が符号パターン“010 101 010 101”と一致する場合、特定規則変換パターン検出部53は、ステップS242において、最小ラン連続制限総合フラグ(2)がonかを判定する。このフラグは図12のステップS126,S127の処理で総合検出部57により生成されたものである。最小ラン連続制限総合フラグ(2)がonである場合（直前の１チャネルビットが“１”である場合）には、ステップS243において、特定規則変換パターン検出部53は特定規則変換パターン検出フラグonを出力する。このフラグは図17のステップS293で利用される。
【０１６６】
符号列“010 101 010 101”は偶奇性保存違反個別変換符号パターンであり、偶奇性保存違反パターン(01110111)が個別に２ビット単位で分割して変換された場合（データパターン（01），（11），（01），（11）として変換された場合）の符号列と一致する。また、最小ラン連続制限総合フラグ(2)のonは、直前のチャネルビットが“1”であることを意味するので、特定規則変換パターン検出フラグのonは、特定規則の変換パターンを構成する偶奇性保存違反データパターン(01110111)が変換された符号パターンである可能性があることを意味する。
【０１６７】
ステップS241において、符号が符号パターン“010 101 010 101”と一致しないと判定された場合、並びにステップS242において、最小ラン連続制限総合フラグ(2)がonではない（offである）と判定された場合（直前の１チャネルビットが“０”である場合）、ステップS244において、特定規則変換パターン検出部53は特定規則変換パターン検出フラグoffを出力する。
【０１６８】
次に、図17のフローチャートを参照して、図８のステップS8におけるチャネルビット列変換処理の詳細について説明する。
【０１６９】
ステップS281において、チャネルビット列変換部55は、最小ラン連続制限パターン検出フラグ15がonかを判定する。このフラグは、図15のステップS203,S207において出力されたものである。ステップS281において最小ラン連続制限パターン検出フラグ15がonであると判定された場合（符号が符号パターン“001 010 101 010 101”である場合）、ステップS282においてチャネルビット列変換部55は、予想フラグ(C7)がonかを判定する。この予想フラグ(C7)は、図14のステップS184,S188において出力されたものである。予想フラグ(C7)がoffである場合（符号列が“xxx xxx 101 010 101”ではないか、そうであったとしても次のチャネルビットが“010”ではない場合）には、ステップS283においてチャネルビット列変換部55は、符号列“001 010 101 010 101”を“$0$ 010 000 000 101”に変換する。
【０１７０】
そして、さらにステップS284において、チャネルビット列変換部55は直前符号フラグはonかを判定する。この直前符号フラグは、図11のステップS103,S104において出力されたものである。直前符号フラグがonである場合（直前の符号語列の１チャネルビットが“１”である場合）には、ステップS288においてチャネルビット列変換部55は、ステップS283で変換した符号列に含まれる不確定符号語“$0$”を“000”に設定する。ステップS289においてチャネルビット列変換部55は、符号列“000 010 000 000 101”を出力する。
【０１７１】
ステップS284において、直前符号フラグがonではない（offである）と判定された場合（直前の符号語列の１チャネルビットが“0”である場合）、ステップS285においてチャネルビット列変換部55は、最小ラン連続制限総合フラグ(1)がonかを判定する。この最小ラン連続制限総合フラグ(1)は、図12のステップS123,S124で出力されたものである。最小ラン連続制限総合フラグ(1)がonである場合（直前の符号語列の３チャネルビットが“010”である場合）には、直前符号フラグがonである場合と同様に、ステップS288,S289の処理が実行される。
【０１７２】
これに対して、最小ラン連続制限総合フラグ(1)がonではない（offである）と判定された場合（直前の符号語列の３チャネルビットが“010”ではない場合）、ステップS286においてチャネルビット列変換部55は、ステップS283で変換した不確定符号語“$0$”を“101”に変換する。そして、ステップS287においてチャネルビット列変換部55は符号列“101 010 000 000 101”を出力する。
【０１７３】
ステップS281において最小ラン連続制限パターン検出フラグ15がonではない（offである）と判定された場合（符号列は“001 010 101 010 101”ではない場合）、ステップS290においてチャネルビット列変換部55は、最小ラン連続制限パターン検出フラグ12がonかを判定する。この検出フラグは、図15のステップS206,S207で出力されたものである。最小ラン連続制限パターン検出フラグ12がonである場合（符号列は“101 010 101”であり、かつ、次の３チャネルビットが“010”である場合）には、ステップS291においてチャネルビット列変換部55は、符号列“101 010 101”を符号列“001 000 000”に変換する。そして、ステップS292において、チャネルビット列変換部55は、ステップS291で変換した符号列“001 000 000”を出力する。
【０１７４】
ステップS290において最小ラン連続制限パターン検出フラグ12がonではない（offである）と判定された場合（符号列は“101 010 101”ではないか、または、そうであっても次の３チャネルビットが“010”ではない場合）、ステップS293においてチャネルビット列変換部55は、特定規則変換パターン検出フラグがonかを判定する。このフラグは、図16のステップS243，S244で出力されたものである。ステップS293において、特定規則変換パターン検出フラグがonであると判定された場合（符号列は“010 101 010 101”であり、かつ、直前の符号が”1”である場合）、ステップS294においてチャネルビット列変換部55は、予想フラグ(C4)がonかを判定する。このフラグは、図14のステップS187,S188で出力されたものである。
【０１７５】
特定規則変換パターン検出フラグがonであるということは、特定規則の変換パターンを構成する偶奇性保存違反パターンである(01110111)が変換された可能性があることを意味する。そして、さらに予想フラグ(C4)がonではない（offである）とすれば、符号列は“xxx 101 010 101”であり、次の３チャネルビットが“010”ではないことになるので、処理対象の符号は偶奇性保存違反データパターン(01110111)が変換された符号であることになる。そこでステップS295においてチャネルビット列変換部55は、符号列“010 101 010 101”を偶奇性保存違反符号パターン“010 000 000 101”に変換する。そして、ステップS296において、チャネルビット列変換部55は、ステップS295で変換した符号列“010 000 000 101”を出力する。
【０１７６】
ステップS282において予想フラグ(C7)がonであると判定された場合（最小ラン連続制限パターン検出フラグ15がonであり、さらに符号列が“xxx xxx 101 010 101”で、かつ次のチャネルビットが“010”である場合）、ステップS293において、特定規則変換パターン検出フラグがonではない（offである）と判定された場合（符号列は“010 101 010 101”ではないか、またはそうであったとしても、直前の符号が”1”ではない場合）、並びにステップS294において予想フラグ(C4)がonであると判定された場合（特定規則変換パターン検出フラグがonであり、さらに符号列が“xxx 101 010 101”で、かつ次の３チャネルビットが“010”である場合）、ステップS297においてチャネルビット列変換部55は、入力されたチャネルビット列をそのまま出力する。すなわち、この場合においては、変換パターン決定部52で決定された変換パターンがそのまま符号列として出力される。
【０１７７】
以上の処理における変換パターン処理部51の処理をさらに説明すると、図18に示されるようになる。すなわち、変換パターンの検出は入力データ列から８データを参照し、表４にある拘束長ｉ＝４の８データの変換テーブルと一致するかどうか比較することで行われる。一致するパターンがあれば、変換パターンが変換テーブル72Dからの情報に基づき決定される。これに一致しなかった場合、６データまでが参照され、表４にある拘束長ｉ＝３の６データの変換テーブルと一致するかどうか比較される。一致するパターンがあれば、変換パターンが変換テーブル72Cからの情報に基づき決定される。これに一致しなかった場合、４データまでが参照され、表４にある拘束長ｉ＝２の４データの変換テーブルと一致するかどうか比較される。一致するパターンがあれば、変換パターンが変換テーブル72Bからの情報に基づき決定される。これに一致しなかった場合は、最後に２データまでが参照され、表４にある拘束長ｉ＝１の２データのテーブル（11），（10），（01）で一致するかどうか比較される。この中に一致するパターンに対する変換パターンが、変換テーブル72Aからの情報に基づき決定される。
【０１７８】
さらに最小ラン連続制限パターン処理部54と特定規則変換パターン検出部53の処理をまとめると、図19に示されるようになる。すなわち、最小ラン連続制限パターン検出予想部111は、符号が符号パターン“xxx xxx 101 010 101”であり、次のチャネルビットが“010”である場合には予想フラグ(C7)をonし、そうでなければoffとする。また、最小ラン連続制限パターン検出予想部111は、符号が符号パターン“xxx 101 010 101”であり、次のチャネルビットが“010”である場合には予想フラグ(C4)をonし、そうでなければoffとする。
【０１７９】
最小ラン連続制限パターン検出部112により、符号が符号パターン“001 010 101 010 101”である時は最小ラン連続制限パターン検出フラグ15がonとされ、さらに予想フラグ(C7)がoffである場合に、チャネルビット列“001 010 101 010 101”がチャネルビット列“$0$ 010 000 000 101”に変換される。一方、最小ラン連続制限パターン検出フラグ15がonであっても、予想フラグ(C7)がonであれば、符号パターン“001 010 101 010 101”は変換処理が行われない。
【０１８０】
符号が符号パターン“001 010 101 010 101”ではない場合、次に、符号パターン“101 010 101”であり、次のチャネルビット列が“010”であるかが判定され、そうである場合には、最小ラン連続制限パターン検出フラグ12がonとなり、そうでない場合にはoffとなる。最小ラン連続制限パターン検出フラグ12がonである場合には、チャネルビット列“101 010 101”がチャネルビット列“001 000 000”に変換される。一方、最小ラン連続制限パターン検出フラグ12がoffである場合には、変換処理は行われない。
【０１８１】
さらに、特定規則変換パターン検出部53における特定規則変換パターン検出フラグについて、符号パターン“010 101 010 101”が検出され、その直前の符号が“1”である場合には、特定規則変換パターン検出フラグがonとなり、あるいは符号パターン“010 101 010 101”が検出されないか、検出されてもその直前の符号が“１”ではない場合には、特定規則変換パターン検出フラグがoffされる。特定規則変換パターン検出フラグがonであり、さらに予想フラグ(C4)がoffである場合、チャネルビット列“010 101 010 101”がチャネルビット列(偶奇性保存違反符号パターン)“010 000 000 101”に変換される。一方、特定規則変換パターン検出フラグがonであっても、予想フラグ(C4)がonであれば、符号パターン“010 101 010 101”は変換処理が行われない。また、特定規則変換パターン検出フラグがoffである場合にも、変換処理が行われない。
【０１８２】
以上の様にして、基本構成を 1,7PP符号と同様とし、すなわち、最小ランｄ＝１と最大ランｋ＝７、及び変換率（ｍ：ｎ）＝（２：３）であり、データ列内の所定の位置に１ビットのDSV制御ビットを挿入することで効率良くDSV制御を行い、さらに、所定の識別ビットを持った、同期パターンが挿入された場合においても、最小ランの連続する回数を５回までに制限し、記録再生時のエラー伝搬特性を改善するような変換テーブルと変調装置を実現することができる。
【０１８３】
なお、表４におけるデータパターンと符号パターンの各拘束長内では、配列の順序については、本発明の規則内であれば変更してもよい。例えば、表５に示す表４の拘束長ｉ＝１の部分は、次のような表６の配列としてもよい。
＜表５＞
データパターン      符号パターン
ｉ＝１  11            *0*
10            001
01            010
＜表６＞
データパターン      符号パターン
ｉ＝１  11            *0*
10            010
01            001
この場合でも、データパターンの「１」の個数と符号パターンの「１」の個数は、それぞれ２で割った時の余りがどちらも１あるいは０で一致するようにする。
【０１８４】
この他にも、表４のデータ列の各要素の（１）と（０）を反転させてもよい。即ち、表４の表７に示す部分は、表８に示すように構成してもよい。この場合でも、データパターンの「１」の個数と符号パターンの「１」の個数は、それぞれ２で割った時の余りがどちらも１あるいは０で一致している。
【０１８５】
＜表７＞
データパターン    符号パターン
11                  *0*
10                  001
01                  010
0011                010 100
0010                010 000
0001                000 100
………
＜表８＞
データパターン    符号パターン
00                  *0*
01                  001
10                  010
1100                010 100
1101                010 000
1110                000 100
………
【０１８６】
この他、特定規則変換パターン検出部53において直前に決定された変換パターンあるいは同期パターンの最終符号語が、“１”であること（最終ラン連続制限総合フラグ（２））を検出に用いたが、これを所定の間隔で挿入されている同期パターンの位置を情報として、同期パターン挿入直後において（01110111）と一致し、さらに続くチャネルビット列が“010”ではない時に８データの特定規則変換パターンの検出処理を行うようにしてもよい。この場合でも、DSV制御を行うことが出来ない特定規則パターンによるDSV制御間隔の条件は、上述した場合と同様である。
【０１８７】
そして、直前符号検出部56および総合検出部57が出力するフラグの供給先はテーブルが変更され、不確定ビットの位置が変化した場合には、その変化した位置に供給すれば良い。
【０１８８】
図20は本発明の変調装置１の他の実施の形態の構成を表している。この実施の形態における基本的な構成は図３の実施の形態におけると同様であるが、図３の実施の形態においては、直前符号検出部56からの出力が変換パターン処理部51とチャネルビット列変換部55に供給されていたが、この実施の形態においては、チャネルビット列変換部55だけに供給される。また、総合検出部57からの出力も特定規則変換パターン検出部53には供給されず、チャネルビット列変換部55だけに供給される。また、図20の実施の形態においては、不確定ビットの決定と、直前に決定された変換パターンあるいは同期パターンの最終符号語が、“１”であるかの検出が、チャネルビット列変換部55で行なわれる。
【０１８９】
図21は図20の変調装置１のより詳細な構成を表している。その基本的な構成は、図４における場合と同様であるが、変換パターン処理部51において不確定ビット決定部74が省略されている点が異なっている。
【０１９０】
図22乃至図32は、図20と図21に示される変調装置１の動作を説明するフローチャートである。
【０１９１】
図22は、図20と図21に示される変調装置１の記録処理(変調方法)を表している。
【０１９２】
ステップS401において、DSV制御ビット決定挿入部21の加算器41は、入力されたデータ列にDSV制御ビットを付加する。ステップS402においてシフトレジスタ42は、加算器41より供給されたDSV制御ビットが付加されたデータ列を２ビット単位で保持する。
【０１９３】
ステップS403で変換パターン処理部51により変換パターン検出処理が実行される。変換パターン検出処理の詳細は図23のフローチャートを参照して後述するが、これにより、８データを12チャネルビットに変換する処理、６データを９チャネルビットに変換する処理、４データを６チャネルビットに変換する処理、または２データを３チャネルビットに変換する処理が実行される。
【０１９４】
ステップS404において、変換パターン決定部52は変換パターン決定処理を実行する。この変換パターン決定処理の詳細は図27のフローチャートを参照して後述するが、これにより変換パターン処理部51の変換テーブル72A乃至72Dにより変換された符号パターンのいずれかが選択され、出力される。
【０１９５】
ステップS405で最小ラン連続制限パターン検出予想部111により予想処理が、ステップS406で最小ラン連続制限パターン検出部112により最小ラン連続制限パターン検出処理が、ステップS407で特定規則変換パターン検出部53により特定規則変換パターン検出処理が、それぞれ実行される。
【０１９６】
なお、実際には、これらのステップS405乃至ステップS407の処理はそれぞれ並列して実行される。
【０１９７】
ステップS405の予想処理の詳細は図28のフローチャートを参照して後述するが、これにより、チャネルビット列に変換パターン“101 010 101”が途中（７ビット目）から含まれており、かつ、次のチャネルビットが“010”である場合には予想フラグ(C7)がonされ、変換パターン“101 010 101”が途中（４ビット目）から含まれており、かつ、次のチャネルビットが“010”である場合には予想フラグ(C4)がonされる。そして、そうでない場合には予想フラグがoffされる。
【０１９８】
ステップS406の最小ラン連続制限パターン検出処理の詳細は図29のフローチャートを参照して後述するが、これによりチャネルビット列が変換パターン“001 010 101 010”である場合には、最小ラン連続制限パターン検出フラグ15がonとされる。また、チャネルビット列が変換パターン“101 010 101”であり、次のチャネルビットが“010”である場合には、最小ラン連続制限パターン検出フラグ12がonとされる。そうでない場合には、最小ラン連続制限データ検出フラグがoffとされる。
【０１９９】
ステップS407の特定規則変換パターン検出処理の詳細は、図30のフローチャートを参照して後述するが、これにより、チャネルビット列が変換パターン“010 101 010 101”である場合には、特定規則変換パターン検出フラグがonとされる。
【０２００】
ステップS408において、チャネルビット列変換部55はチャネルビット列変換処理を実行する。このチャネルビット列変換処理の詳細は図31のフローチャートを参照して後述するが、これにより、最小ラン連続制限パターン検出フラグ15および最小ラン連続制限パターン検出フラグ12がonである場合における処理、並びに特定規則変換パターン検出フラグと予想フラグ(C4)がoffである場合の処理が実行される。また、ここにおいて、不確定符号の変換処理も実行される。
【０２０１】
ステップS409において、同期パターン挿入部23は、チャネルビット列変換部55より入力された、変換パターンが最終的に確定された符号列に対して同期パターンを挿入する。ステップS410において、NRZI化部24は、同期パターン挿入部23より供給された同期パターンが挿入されている符号列をNRZI化する。ステップS411において、記録部12は、NRZI化部24によりNRZI化された記録符号列を記録媒体13に記録する。
【０２０２】
次に、図23のフローチャートを参照して、図22のステップS403における変換パターン検出処理の詳細について説明する。
【０２０３】
ステップS451において、変換パターン検出部71は、シフトレジスタ42より入力されたデータがデータパターン（00001000），（00000000）と一致するかを判定する。入力されたデータがデータパターン（00001000）または（00000000）と一致する場合には、ステップS452において、変換パターン検出部71は、８データ／12チャネルビットの変換パターン決定情報を出力する。この情報は、変換パターン決定部52と変換テーブル72A乃至72Dに供給される。ステップS453において、変換テーブル72Dは、８データを12チャネルビットに変換する。そして、12チャネルビットは変換パターン決定部52に供給される。即ち、入力されたデータがデータパターン（00001000）または（00000000）と一致する場合には、それぞれ符号列“000 100 100 100”または“010 100 100 100”が出力される。ステップS452で出力された情報は後述する図27のステップS551で利用され、ステップS453で変換された符号列はステップS552で選択、出力される。
【０２０４】
ステップS451において、入力されたデータがデータパターン（00001000），（00000000）と一致しないと判定された場合、ステップS454において、変換パターン検出部71は、入力されたデータがデータパターン（000011），（000010），（000001），（000000）と一致するかを判定する。入力されたデータがこの４つのいずれかと一致する場合には、ステップS455において変換パターン検出部71は、６データ／９チャネルビット決定情報を変換パターン決定部52と変換テーブル72A乃至72Dに出力する。ステップS456において、変換テーブル72Cは、６データを９チャネルビットに変換し、変換パターン決定部52に出力する。即ち、入力されたデータがデータパターン（000011），（000010），（000001），（000000）のいずれかである場合には、符号列“000 100 100”,“000 100 000”,“010 100 100”,“010 100 000”がそれぞれ出力される。ステップS455で出力された情報は図27のステップS553で利用され、ステップS456で変換された符号列はステップS554で選択、出力される。
【０２０５】
ステップS454において、入力されたデータがデータパターン（000011），（000010），（000001），（000000）のいずれとも一致しないと判定された場合には、ステップS457において変換パターン検出部71は、入力されたデータがデータパターン（0011），（0010），（0001）と一致するかを判定する。入力されたデータがこの３つのデータパターンのいずれかと一致する場合には、ステップS458において変換パターン検出部71は、４データ／６チャネルビットの変換パターン決定情報を変換パターン決定部52と変換テーブル72A乃至72Dに出力する。ステップS459において変換テーブル72Bは、４データを６チャネルビットに変換し、変換パターン決定部52に出力する。即ち、入力されたデータがデータパターン（0011）と一致する場合には符号列“010 100”が出力され、入力データがデータパターン（0010）と一致する場合には符号列“010 000”が出力され、入力データがデータパターン（0001）と一致する場合には符号列“000 100”が出力される。ステップS458で出力された情報は図27のステップS555で利用され、ステップS459で変換された符号列はステップS556で選択、出力される。
【０２０６】
ステップS457において、入力されたデータがデータパターン（0011），（0010），（0001）のいずれとも一致しないと判定された場合には、ステップS460において変換パターン検出部71は、２データ／３チャネルビットの変換パターン決定情報を変換パターン決定部52と変換テーブル72A乃至72Dに出力する。この情報は、図27のステップS557,S558で利用される。
【０２０７】
ステップS461において、変換パターン検出部71は、入力された２データはデータパターン（11）と一致するかを判定する。入力されたデータがデータパターン（11）と一致する場合には、ステップS462において変換パターン検出部71は、不確定パターン識別情報をセレクタ73に出力する。不確定パターン識別情報は、後述する図24のステップS482で利用される。
【０２０８】
ステップS461において、入力されたデータがデータパターン（11）と一致しないと判定された場合においては、ステップS462の処理はスキップされる。ステップS462の処理の後、またはステップS461でデータがデータパターン（11）と一致しないと判定された場合には、ステップS463において、変換テーブル72Aは、２データ／３チャネルビット処理を実行する。この２データ／３チャネルビット処理の詳細は図24のフローチャートに示されている。
【０２０９】
次に、図24のフローチャートを参照して、図23のステップS463における２データ／３チャネルビット処理の詳細について説明する。
【０２１０】
ステップS481において、変換テーブル72Aは、２データを３チャネルビットに変換してセレクタ73に出力する。すなわち即ち、変換テーブル72Aは、入力されたデータがデータパターン（11）と一致する場合には符号列“*0*”を出力し、入力されたデータがデータパターン（10）と一致する場合には符号語“001”を出力し、入力されたデータがデータパターン（01）と一致する場合には符号語“010”を出力する。
【０２１１】
ステップS482において、セレクタ73は、不確定パターン識別情報を取得したかを判定する。不確定パターン識別情報（図23のステップS462で出力される）が変換パターン検出部71より取得されてない場合には、ステップS483においてセレクタ73は、３チャネルビットを変換パターン決定部52に出力する処理を実行する。具体的には、変換テーブル72Aより入力されたチャネルビット“001”,“010”が変換パターン決定部52に出力される。ステップS483で出力された符号列は、図27のステップS560で選択、出力される。
【０２１２】
これに対して、ステップS482において、不確定パターン識別情報が変換パターン検出部71より取得されたと判定された場合、ステップS484において、セレクタ73は３チャネルビット(“*0*”)を変換パターン決定部52に出力する。この出力は後述する図31のステップS698,S699において処理される。尚、“*0*”の出力について、ここでは最終決定するための情報が未だ提供されていないので、例えば仮に“101”とする。もちろん“000”としても良い。
【０２１３】
次に、図25のフローチャートを参照して、直前符号検出部56の直前符号検出処理について説明する。この処理は、図11の直前符号検出処理と基本的に同様の処理である。
【０２１４】
すなわち、ステップS491において、直前符号検出部56は、同期パターンが直前に挿入されている場合は、挿入パターンの最後のチャネルビットを直前の符号語列の１チャネルビットとする。即ち、直前符号検出部56は、同期パターン挿入部23からの出力に基づいて、同期パターンが挿入されているかを判定し、挿入されている場合には、次のステップS492の判定における直前の符号語列の１チャネルビットとして、挿入パターン（同期パターン）の最後の１チャネルビットを選択する。
【０２１５】
ステップS492において、直前符号検出部56は、変換パターン決定部52からの符号列情報より、次の変換処理の直前の符号列の１チャネルビットは“１”かを判定する。直前の符号列の１チャネルビットが“１”である場合には、ステップS493において直前符号検出部56は、直前符号フラグonを出力する。これに対して、ステップS492において、直前の符号列の１チャネルビットが“１”ではないと判定された場合（“０”であると判定された場合）、ステップS494において、直前符号検出部56は直前符号フラグoffを出力する。この直前符号フラグは、変換パターン決定部52に出力され、後述する図31のステップS684で利用される。
【０２１６】
次に、図26のフローチャートを参照して、総合検出部57による最小ラン連続制限総合検出処理について説明する。この処理は、図12の最小ラン連続制限総合検出処理と基本的に同様の処理である。
【０２１７】
すなわち、ステップS521において、総合検出部57は、同期パターンが直前に挿入されている場合は、挿入パターンの最後の３チャネルビットを直前の符号語列の３チャネルビットとする。即ち、総合検出部57は、同期パターン挿入部23からの出力に基づいて、同期パターンが挿入されているかを判定し、挿入されている場合には、次のステップS522の判定における直前の符号語列の３チャネルビットとして、挿入パターン（同期パターン）の最後の３チャネルビットを選択する。
【０２１８】
ステップS522において、総合検出部57は、変換パターン決定部52からの符号列情報より、次の変換処理の直前の符号語列の３チャネルビットは“010”かを判定する。直前の符号語列の３チャネルビットが“010”である場合には、ステップS523において、総合検出部57は、最小ラン連続制限総合フラグ(1)onを出力する。ステップS522において、直前の符号語列の３チャネルビットが“010”ではないと判定された場合（“000”,”101”,”001”である場合）、ステップS524において、総合検出部57は、最小ラン連続制限総合フラグ(1)offを出力する。この最小ラン連続制限総合フラグ(1)は変換パターン決定部52に出力され、図31のステップS685で利用される。
【０２１９】
ステップS525において、総合検出部57は、変換パターン決定部52からの符号列情報より、次の変換処理の直前の符号語列の１チャネルビットは“1”かを判定する。直前の符号語列のチャネルビットが“1”である場合には、ステップS526において、総合検出部57は、最小ラン連続制限総合フラグ(2)onを出力する。ステップS525において、直前の符号語列の１チャネルビットが“1”ではないと判定された場合（“0”である場合）、ステップS527において、総合検出部57は、最小ラン連続制限総合フラグ(2)offを出力する。この最小ラン連続制限総合フラグ(2)は変換パターン決定部52に出力され、図31のステップS694で利用される。
【０２２０】
図27は図22のステップS404の変換パターン決定処理を表している。図27に示されるステップS551乃至S560の変換パターン決定処理も、図13のステップS151乃至S160の処理と基本的に同様の処理であるが、ステップS559,S560の処理が図13の対応するステップS159,S160の処理と異なっている。
【０２２１】
すなわち、図27の変換パターン決定処理では、ステップS551において変換パターン決定部52は、８データ／12チャネルビットの変換パターン決定情報を受信したかを判定する。この決定情報は、図23のステップS452で出力されたものである。８データ／12チャネルビットの変換パターン決定情報が受信されている場合には、ステップS552において変換パターン決定部52は、８データ／12チャネルビットの変換出力を選択、出力する。すなわち、図23のステップS453で変換されたチャネルビットが選択、出力されることになる。
【０２２２】
ステップS551において、８データ／12チャネルビットの変換パターン決定情報を受信していないと判定された場合には、ステップS553において変換パターン決定部52は、６データ／９チャネルビットの変換パターン決定情報を受信したかを判定する。この決定情報は、図23のステップS455で出力されたものである。６データ／９チャネルビットの変換パターン決定情報を受信した場合には、ステップS554において変換パターン決定部52は、６データ／９チャネルビットの変換出力を選択、出力する。すなわち、図23のステップS456で出力されたデータが選択、出力されることになる。
【０２２３】
ステップS553において、６データ／９チャネルビットの変換パターン決定情報を受信してないと判定された場合には、ステップS555において変換パターン決定部52は、４データ／６チャネルビットの変換パターン決定情報を受信したかを判定する。この決定情報は、図23のステップS458で出力されたものである。４データ／６チャネルビットの変換パターン決定情報を受信している場合には、ステップS556において変換パターン決定部52は、４データ／６チャネルビットの変換出力を選択、出力する。すなわち、図23のステップS459で変換されたチャネルビットが選択、出力されることになる。
【０２２４】
ステップS555において、４データ／６チャネルビットの変換パターン決定情報が受信されていないと判定された場合、ステップS557において変換パターン決定部52は、２データ／３チャネルビットの変換パターン決定情報を変換パターン検出部71より受信したかを判定する。この情報は、図23のステップS460において出力されたものである。２データ／３チャネルビットの変換パターン決定情報を受信した場合には、ステップS558において変換パターン決定部52は、さらにその２データ／３チャネルビットの変換パターン決定情報は、データ（11）の変換パターン決定情報かを判定する。すなわち、不確定符号を含む符号に変換される可能性があるデータパターンであるのかが判定される。データ（11）の変換パターン決定情報を受信したと判定された場合には、ステップS559において変換パターン決定部52は、不確定ビットを含む３チャネルビットを選択し、出力する処理を実行する。すなわち、図24のステップS484の処理で出力された符号列が選択、出力される。
【０２２５】
これに対して、ステップS558において、２データ／３チャネルビットの変換パターン決定情報が、データ（11）の変換パターン決定情報ではないと判定された場合（不確定符号を含む符号に変換されるデータのチャネルビットではないと判定された場合）、ステップS560において変換パターン決定部52は、元々不確定ビットを含まない３チャネルビットを選択し、出力する。すなわち、この場合には、図24のステップS483で出力された符号列が選択、出力される。
【０２２６】
以上のようにして変換パターンが決定されると、決定されたチャネルビットに相当する分だけデータ列がシフトレジスタ42においてシフトされ、次のデータの変換パターン決定処理が実行されることになる。
【０２２７】
次に、図28のフローチャートを参照して、図22のステップS405における予想処理の詳細について説明する。この処理は、図14の予想処理と基本的に同様の処理である。
【０２２８】
ステップS581において、最小ラン連続制限パターン検出予想部111は、予想フラグをクリアする。すなわち、後述するステップS584,S587で出力される予想フラグ(C7),(C4)がクリアされる。ステップS582において、最小ラン連続制限パターン検出予想部111は、変換パターン決定部52より供給された符号が符号パターン“xxx xxx 101 010 101”と一致するかを判定する。入力された符号が符号パターン“xxx xxx 101 010 101”と一致する（符号が符号パターン“101 010 101”と７ビット目から一致する）場合には、ステップS583において、最小ラン連続制限パターン検出予想部111は、次のチャネルビットが“010”かを判定する。次のチャネルビットが“010”である場合には、ステップS584において、最小ラン連続制限パターン検出予想部111は、予想フラグ(C7)onを最小ラン連続制限データ検出予想情報としてチャネルビット列変換部55に出力する。このフラグは後述する図31のステップS682で利用される。
【０２２９】
ステップS582において、符号が符号パターン“xxx xxx 101 010 101”と一致しないと判定された場合、ステップS585において、最小ラン連続制限パターン検出予想部111は、符号が符号パターン“xxx 101 010 101”と一致するかを判定する。入力された符号が符号パターン“xxx 101 010 101”と一致する（符号が符号パターン“101 010 101”と４ビット目から一致する）場合には、ステップS586において、最小ラン連続制限パターン検出予想部111は、次のチャネルビットが“010”かを判定する。次のチャネルビットが“010”である場合には、ステップS587において、最小ラン連続制限パターン検出予想部111は、予想フラグ(C4)onを最小ラン連続制限データ検出予想情報として変換パターン決定部52に出力する。このフラグは後述する図31のステップS695で利用される。
【０２３０】
ステップS583において、次のチャネルビットが“010”ではないと判定された場合（“000”,”101”、または“001”である場合）、ステップS585において、符号が符号パターン”xxx 101 010 101”と一致しないと判定された場合、またはステップS586において、次のチャネルビットが“010”ではないと判定された場合（“000”,“101”、または“001”である場合）、ステップS588において、最小ラン連続制限パターン検出予想部111は、予想フラグoffを出力する。この予想フラグoffは、ステップS584で生成される予想フラグ(C7)のoffを意味するとともに、ステップS587で生成される予想フラグ(C4)のoffをも意味する。
【０２３１】
次に、図29のフローチャートを参照して、図22のステップS406の最小ラン連続制限パターン検出処理について説明する。この処理は、図15の最小ラン連続制限パターン検出処理と基本的に同様の処理である。
【０２３２】
すなわち、ステップS601において、最小ラン連続制限パターン検出部112は、検出フラグをクリアする。すなわち、後述するステップS603,S606で出力される最小ラン連続制限パターン検出フラグ15,12がクリアされる。ステップS602において、最小ラン連続制限パターン検出部112は、変換パターン決定部52より供給された符号が符号パターン“001 010 101 010 101”と一致するかを判定する。入力された符号が符号パターン“001 010 101 010 101”と一致する場合には、ステップS603において、最小ラン連続制限パターン検出部112は、最小ラン連続制限パターン検出フラグ15onを最小ラン連続制限パターン検出情報として、チャネルビット列変換部55に出力する。このフラグは後述する図31のステップS681で利用される。
【０２３３】
ステップS602において、符号が符号パターン“001 010 101 010 101”と一致しないと判定された場合、ステップS604において、最小ラン連続制限パターン検出部112は、符号が符号パターン“101 010 101”と一致するかを判定する。符号が符号パターン“101 010 101”と一致する場合には、ステップS605において、最小ラン連続制限パターン検出部112は、次の３チャネルビットが“010”かを判定する。次の３チャネルビットが“010”である場合には、ステップS606において、最小ラン連続制限パターン検出部112は、最小ラン連続制限パターン検出フラグ12onを最小ラン連続制限パターン検出情報として、チャネルビット列変換部55に出力する。このフラグは後述する図31のステップS690で利用される。
【０２３４】
ステップS604において、入力された符号が符号パターン“101 010 101”と一致しないと判定された場合、並びにステップS605において、次の３チャネルビットが“010”ではないと判定された場合には、ステップS607において、最小ラン連続制限パターン検出部112は、最小ラン連続制限データ検出フラグoffをチャネルビット列変換部55に出力する。この最小ラン連続制限データ検出フラグのoffは、最小ラン連続制限パターン検出フラグ15がoffであることを意味するとともに、最小ラン連続制限パターン検出フラグ12がoffであることを意味する。
【０２３５】
次に図30のフローチャートを参照して、図22のステップS407における特定規則変換パターン検出処理について説明する。この処理は、図16における特定規則変換パターン検出処理と基本的に同様の処理であるが、図16は、ステップS241,S243に対応する図30のステップS641,S642の間に、ステップS242が挿入されている点が異なっている。
【０２３６】
すなわち、ステップS641において、特定規則変換パターン検出部53は、符号が符号パターン“010 101 010 101”と一致するかを判定する。符号が符号パターン“010 101 010 101”と一致する場合、ステップS642において、特定規則変換パターン検出部53は特定規則変換パターン検出フラグonを出力する。このフラグは図31のステップS693で利用される。
【０２３７】
符号列“010 101 010 101”は、偶奇性保存違反パターンである(01110111)が個別に２ビット単位で分割して変換された場合の符号列と一致する。すなわち、特定規則変換パターン検出フラグのonは、特定規則の変換パターンを構成する偶奇性保存違反パターンである(01110111)が変換された可能性があることを意味する。
【０２３８】
ステップS641において、符号が符号パターン“010 101 010 101”と一致しないと判定された場合、ステップS643において、特定規則変換パターン検出部53は特定規則変換パターン検出フラグoffを出力する。
【０２３９】
次に、図31のフローチャートを参照して、図22のステップS408におけるチャネルビット列変換処理の詳細について説明する。この処理は、図17におけるチャネルビット列変換処理と基本的に同様の処理であるが、図17のステップS293,S294に対応するステップS693,S695の間に、ステップS694が挿入され、さらに図17のステップS293,S297に対応するステップS693,S700の間に、ステップS698が挿入されている点が異なっている。
【０２４０】
ステップS681において、チャネルビット列変換部55は、最小ラン連続制限パターン検出フラグ15がonかを判定する。このフラグは、図29のステップS603,S607において出力されたものである。ステップS681において最小ラン連続制限パターン検出フラグ15がonであると判定された場合、ステップS682においてチャネルビット列変換部55は、予想フラグ(C7)がonかを判定する。この予想フラグ(C7)は、図28のステップS584,S588において出力されたものである。予想フラグ(C7)がoffである場合（符号列が“xxx xxx 101 010 101”ではないか、そうであったとしても次のチャネルビットが“010”ではない場合）には、ステップS683においてチャネルビット列変換部55は、符号列“001 010 101 010 101”を“$0$ 010 000 000 101”に変換する。
【０２４１】
そして、さらにステップS684において、チャネルビット列変換部55は直前符号フラグはonかを判定する。この直前符号フラグは、図25のステップS493,S494において出力されたものである。直前符号フラグがonである場合（直前の符号語列の１チャネルビットが“１”である場合）には、ステップS688においてチャネルビット列変換部55は、ステップS683で変換した符号列に含まれる不確定符号語“$0$”を“000”に設定する。ステップS689においてチャネルビット列変換部55は、符号列“000 010 000 000 101”を出力する。
【０２４２】
ステップS684において、直前符号フラグがonではない（offである）と判定された場合（直前の符号語列の１チャネルビットが“0”である場合）、ステップS685においてチャネルビット列変換部55は、最小ラン連続制限総合フラグ(1)がonかを判定する。この最小ラン連続制限総合フラグ(1)は、図26のステップS523,S524で出力されたものである。最小ラン連続制限総合フラグ(1)がonである場合（直前の符号語列の３チャネルビットが“010”である場合）には、ステップS684において直前符号フラグがonである場合と同様に、ステップS688,S689の処理が実行される。
【０２４３】
これに対して、最小ラン連続制限総合フラグ(1)がonではない（offである）と判定された場合（直前の符号語列の３チャネルビットが“010”ではない場合）、ステップS686においてチャネルビット列変換部55は、ステップS683で変換した不確定符号語“$0$”を“101”に変換する。そして、ステップS687においてチャネルビット列変換部55は符号列“101 010 000 000 101”を出力する。
【０２４４】
ステップS681において最小ラン連続制限パターン検出フラグ15がonではない（offである）と判定された場合（符号列は“001 010 101 010 101”ではない場合）、ステップS690においてチャネルビット列変換部55は、最小ラン連続制限パターン検出フラグ12がonかを判定する。この検出フラグは、図29のステップS606，S607で出力されたものである。最小ラン連続制限パターン検出フラグ12がonである場合（符号列は“101 010 101”であり、かつ、次の３チャネルビットが“010”である場合）には、ステップS691においてチャネルビット列変換部55は、符号列“101 010 101”を符号列“001 000 000”に変換する。そして、ステップS692において、チャネルビット列変換部55は、ステップS691で変換した符号列“001 000 000”を出力する。
【０２４５】
ステップS690において最小ラン連続制限パターン検出フラグ12がonではない（offである）と判定された場合（符号列は“101 010 101”ではないか、または、そうであっても次の３チャネルビットが“010”ではない場合）、ステップS693においてチャネルビット列変換部55は、特定規則変換パターン検出フラグがonかを判定する。このフラグは、図30のステップS642，S643で出力されたものである。ステップS693において、特定規則変換パターン検出フラグがonであると判定された場合（符号列が“010 101 010 101”である場合）、ステップS694において、最小ラン連続制限総合フラグ(2)がonかを判定する。このフラグは図26のステップS526,S527の処理で総合検出部57により生成されたものである。最小ラン連続制限総合フラグ(2)がonである場合（直前の符号が“１”である場合）には、ステップS695においてさらに、チャネルビット列変換部55は、予想フラグ(C4)がonかを判定する。このフラグは、図28のステップS587,S588で出力されたものである。
【０２４６】
特定規則変換パターン検出フラグがonであり、最小ラン連続制限総合フラグ(2)がonであるということは、特定規則の変換パターンを構成する偶奇性保存違反パターンである(01110111)が変換された可能性があることを意味する。そして、予想フラグ(C4)がonではない（offである）とすれば、符号列は“xxx 101 010 101”であり、次の３チャネルビットが“010”ではないことになるので、処理対象の符号は偶奇性保存違反パターンである(01110111)が変換された符号であることになる。そこでステップS696においてチャネルビット列変換部55は、符号列“010 101 010 101”を符号列“010 000 000 101”に変換する。そして、ステップS697において、チャネルビット列変換部55は、ステップS696で変換した符号列“010 000 000 101”を出力する。
【０２４７】
ステップS693において、特定規則変換パターン検出フラグがonではない（offである）と判定された場合（符号列は“010 101 010 101”ではない場合）、ステップS698において、チャネルビット列変換部55は、不確定ビットを含む３チャネルビット（“*0*”）を受信したかを判定する。このチャネルビット“*0*”は、図24のステップS484でセレクタ73により出力され、図27のステップS559で変換パターン決定部52により選択、出力されたものである。ステップS698で不確定ビットを含む３チャネルビット“*0*”を受信したと判定した場合、ステップS699でチャネルビット列変換部55は、不確定ビット決定の３チャネルビット選択処理を実行する。
【０２４８】
不確定ビット決定の３チャネルビット選択処理の詳細は、図32に示されている。すなわち、ステップS721においてチャネルビット列変換部55は、直前符号フラグがonかを判定する。直前符号フラグは、図25のステップS493,S494の処理に基づき、直前符号検出部56から供給されている。直前符号フラグがonである場合（直前の符号語列の１チャネルビットが“１”である場合）、ステップS772においてチャネルビット列変換部55は、３チャネルビット“000”を出力する。これに対して、直前符号フラグがonではない（offである）場合（直前の符号語列の１チャネルビットが“０”である場合）、ステップS723においてチャネルビット列変換部55は、チャネルビット“101”を出力する。
【０２４９】
図31に戻って、ステップS682において予想フラグ(C7)がonであると判定された場合（最小ラン連続制限パターン検出フラグ15がonであり、かつ符号列が“xxx xxx 101 010 101”で、さらに次のチャネルビットが“010”である場合）、ステップS694において最小ラン連続制限総合フラグ(2)がoffであると判定された場合（特定規則変換パターン検出フラグがonであり、かつ直前の符号が“１”でない場合）、またステップS695において予想フラグ(C4)がonであると判定された場合（特定規則変換パターン検出フラグがonで、かつ直前の符号が“１”であり、さらに符号列が“xxx 101 010 101”で、かつ次の３チャネルビットが“010”である場合）、並びにステップS698において不確定ビットを含む３チャネルビット“*0*”を受信していないと判定された場合、ステップS700においてチャネルビット列変換部55は、入力されたチャネルビット列をそのまま出力する。すなわち、この場合においては、変換パターン決定部52で決定された変換パターンがそのまま符号列として出力される。
【０２５０】
図１の変調装置１においては、DSV制御ビット決定挿入部21によりDSV制御ビットとして１または０のうち最適なものを決定し、付加するようにしたが、０を付加したデータ列と１を付加したデータ列の両方を用意し、それぞれを処理し、最後の段階でいずれか一方を選ぶようにすることも可能である。図33は、この場合の変調装置の実施の形態を表している。
【０２５１】
図33の変調装置１の符号化装置11は、DSV制御ビット決定挿入部21に換えて、DSV制御ビット挿入部201が配置されている。また、NRZI化部24の後段に（記録部12の前段に）DSV制御部202が挿入されている。その他の構成は、図１に示される場合と同様である。
【０２５２】
即ち、図33の変調装置１においては、DSV制御ビット挿入部201において、入力データ列（図34A）に対して、DSV制御ビットを挿入したデータ列(図34B)として、DSV制御ビットとして「０」を挿入したデータ列（図34B0）と、「１」を挿入したデータ列（図34B1）の両方が生成される。そして、それぞれが変調部22に供給され、チャネルビット列に変換される（図34C0，C1）。同期パターン挿入部23は、変調部22より入力された２系列のチャネルビット列に対してそれぞれ同期パターンを挿入し、２系列のチャネルビット列を出力する。上述したように、同期パターンが挿入されない場合には、偶奇性保存違反パターンは使用されないが（図35A）、データがデータパターン(01110111)と一致し、その直前の符号が“1”であり、直後の符号が“010”でなければ、この２系列のチャネルビット列の同期パターン（Sync）の直後では偶奇性保存違反パターンが使用される（図34C0，C1、図35B）。NRZI化部24は、２系列のチャネルビット列をそれぞれNRZI化し、DSV制御部202に出力する。
【０２５３】
DSV制御部202は、２系列のチャネルビット列のいずれか最適な方（DSVが０に近くなる方）を各スパン（DSV区間）毎に選択する。DSV制御部202は、それまでの積算DSV（Cbit_1をNRZI化後演算される）に、いま選択した方のDSV値（ 選択したのが０を挿入した方であれば、その区間DSV値（図34C0をNRZI化後演算される）、１を挿入した方であれば、その区間DSV値（図34C1をNRZI化後演算される） ）を加算し、それを新たな積算DSVとする。そしてこの新たな積算DSVを用いて、次のDSV区間の選択が行われる。記録部12は、最終的にDSV制御部202により選択された記録符号列を、記録媒体13に記録する。
【０２５４】
なお、不確定符号＄,＊は、テーブルに対して所望の条件を満たすために、直前の符号だけではなく、直後の符号も用いて決定してもよい。
【０２５５】
変調テーブルが、例えば次の表９に示されるように構成されている場合において、DSV制御を可能としつつ、任意の位置に所定のパターンを挿入できるようにするには、変調テーブルは表10に示されるように構成することができる。
＜表９＞
1,7PP-rmtr5_code. rev.2    RLL(1,7;2,3;5)
データパターン  符号パターン
ｉ＝１  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
ｉ＝４  00001000        000 100 100 100
00000000        010 100 100 100
ｉ＝３  110111          001 000 000(next010)
ｉ＝５  1001110111      $0$ 010 000 000 101
ｉ＝６  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
-----------------------------
【０２５６】
＜表10＞
1,7PP-rmtr5_code. rev.21    RLL(1,7;2,3;5)
データパターン  符号パターン
ｉ＝１    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
ｉ＝４    00001000        000 100 100 100
00000000        010 100 100 100
ｉ＝３    110111                 001 000 000(next010)
ｉ＝４    01110111(not01)  (pre1)010 000 000 101
ｉ＝５    1001110111             $0$ 010 000 000 101
ｉ＝６    100111011101           001 (no-change)
If xx1          then  *0* = 000
xx0          then  *0* = 101
If x10 or x01   then  $0$ = 000
x00          then  $0$ = 101
-----------------------------
Sync & Termination
#01 010 000 000 010 000 000 010 yyy yyy  (30 cbits = SY_24 cbits + ID_6 cbits)
# = 0  not terminate case
# = 1  terminate case
Termination table
データパターン  符号パターン
00              000
0000            010 100
-----------------------------
【０２５７】
表10の実施の形態においては、以下の拘束長ｉ＝４のテーブルにおいて、偶奇性保存違反パターンが使用されている。
ｉ＝４    01110111(not01)    (pre1)010 000 000 101
【０２５８】
表10は、さらにこのほか、
データパターン      符号パターン
01110111(not01)    (pre1)010 000 000 101
の部分を、
データパターン      符号パターン
01110111            (pre1)010 000 000 101(not010)
の変換規則に置き換えて、表11に示されるように構成してもよい。
【０２５９】
＜表11＞
1,7PP-rmtr5_code. rev.22    RLL(1,7;2,3;5)
データパターン      符号パターン
ｉ＝１  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
ｉ＝４  00001000            000 100 100 100
00000000            010 100 100 100
ｉ＝３  110111              001 000 000(next010)
ｉ＝４  01110111      (pre1)010 000 000 101(not010)
ｉ＝５  1001110111          $0$ 010 000 000 101
ｉ＝６  100111011101        001 (no-change)
If xx1            then  *0* = 000
xx0            then  *0* = 101
If x10 or x01     then  $0$ = 000
x00            then  $0$ = 101
-----------------------------
Sync & Termination
#01 010 000 000 010 000 000 010 yyy yyy  (30 cbits = SY_24 cbits + ID_6 cbits)
# = 0  not terminate case
# = 1  terminate case
Termination table
データパターン    符号パターン
00                000
0000              010 100
-----------------------------
【０２６０】
表10と表11のどちらにおいても、DSV制御が出来ない特定規則変換パターンの発生部位は、同期信号の直後だけに限られているので、DSV制御の性能も同等となる。
【０２６１】
さらに次の表12に示される27PP符号のテーブルに対しては、表13に示されるテーブルを考えることができる。
【０２６２】
＜表12＞
(d,k;m,n)=(2,7;1,2)
データパターン    符号パターン
10                10 00
01                01 00
001               00 10 00
000               10 01 00
111               00 01 00
1101              00 00 10 00
1100              00 10 01 00
00000             00 00 10 01 00
【０２６３】
最小ランd=2即ち3Tの連続は、‘00000'の置き換えコードによって、最大4回まで
に制限されている。
【０２６４】
＜表13＞
(d,k;m,n)=(2,7or8;1,2)
データパターン    符号パターン
10              10 00
01              01 00
001             00 10 00
000             10 01 00
111             00 01 00
1101            00 00 10 00
SY+1100         00 00 01 00
1100            00 10 01 00
00000           00 00 10 01 00
【０２６５】
データパターン(1100)は基礎テーブルであるから、データ列内のあらゆる箇所で発生しうる。そこで表13にある通り、「SY+1100」として、同期パターンの直後においてのみ、偶奇性規則を破るパターンが適用できるようにする。
この様にすることで、本発明に基づいた変調装置によって、同様にして実現することができる。
【０２６６】
表13は、新規規則を与えることによって、表12に対する特性の改善は無いが、出現位置が同期パターン直後に限定されているものの、最小ランの連続する場合の出現頻度を減らすことが出来るので、高線密度に対する再生信号品質の向上が期待できる。
【０２６７】
そして、DSV制御の性能に対して多少の劣化が許容できる場合は、例えば表４において、拘束長i＝４の部分だけを他の部分と偶奇性が反対となるように構成するなどして、偶奇性の規則が部分的に他の部分と異なるテーブルとすることもできる。
【０２６８】
この他、各テーブルの全てのパターンにおいて、データパターンの「１」の個数と、符号パターンの「１」の個数が、それぞれ２で割った時の余りが一致していないように選ぶことができる。ただし、その場合は、そのことを全てのパターンで統一して行う必要がある。
【０２６９】
1,7PP符号は、最小ランｄ＝１、最大ランｋ＝７、変換率（ｍ：ｎ）＝(２：３)の変調テーブルにおいて、最小ラン長の繰り返し回数を制限する置換パターンを設けるようにしたので、
（１）高線密度での記録再生、およびタンジェンシャル・チルトに対する許容度が向上する。
（２）信号レベルが小さい部分が減少し、AGC（Auto Gain Control）やPLL（Phase-Locked Loop）等の波形処理の精度が向上し、総合特性を高めることができる。
（３）従来と比較して、ビタビ復号等の際のパスメモリ長を短く設計することができ、回路規模を小さくすることができる。
【０２７０】
また、DSV制御ビットを挿入する位置において、変調テーブルの変換パターンを構成するデータ列の「１」の個数と、符号語列の「１」の個数を、２で割った時の余りが、どちらも１あるいは０で一致するようにしたので、
（４）DSVの制御のための冗長ビットを少なくすることができる。
（５）最小ランｄ＝１かつ(m,n)=(2,3)においては、1.5符号語でDSV制御を行うことができる。
（６）冗長度が少ない上に、最小ランと最大ランを守ることができる。さらに表４のテーブルは、表２の1,7PP符号と較べて、最小ランの連続回数制限を６回から５回へと少なくしたので、データ記録再生時のエラー伝播を、より少なくすることができる。
【０２７１】
上述したように、データ再生誤りのパターンとしては、連続する最小マークの先頭のエッジから最後のエッジまでが、一斉にシフトして誤るという場合がある。即ち発生するビットエラー長は、最小ランの連続する区間の、先頭から最後まで伝搬することになる。従ってエラー伝搬は長くなってしまうという問題が現れる。しかし、最小ランの連続を５回に制限することによって、このようなエラーの発生を少なくすることができ、より安定したデータの記録再生を実現することができる。
【０２７２】
図36は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。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に転送され、記憶される。
【０２７６】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【０２７７】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図36に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスク（MD（Mini-Disc）（登録商標）を含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア331、または、プログラムが一時的もしくは永続的に格納されるROM322や、記憶部328を構成するハードディスクなどにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部329を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０２７８】
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２７９】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２８０】
【図１】本発明の一実施の形態の変調装置の構成を示すブロック図である。
【図２】データフォーマットを説明する図である。
【図３】図１の符号化装置の詳細な構成を示すブロック図である。
【図４】図３の符号化装置のより詳細な構成を示すブロック図である。
【図５】直前符号検出部の機能を説明する図である。
【図６】総合検出部の機能を説明する図である。
【図７】不確定ビット決定部の機能を説明する図である。
【図８】記録処理を説明するフローチャートである。
【図９】図８のステップS3の変換パターン検出処理を説明するフローチャートである。
【図１０】図９のステップS63の２データ／３チャネルビット処理を説明するフローチャートである。
【図１１】直前符号検出処理を説明するフローチャートである。
【図１２】最小ラン連続制限総合検出処理を説明するフローチャートである。
【図１３】図８のステップS4の変換パターン決定処理を説明するフローチャートである。
【図１４】図８のステップS5の予想処理を説明するフローチャートである。
【図１５】図８のステップS6の最小ラン連続制限パターン検出処理を説明するフローチャートである。
【図１６】図８のステップS7の特定規則変換パターン検出処理を説明するフローチャートである。
【図１７】図８のステップS8のチャネルビット列変換処理を説明するフローチャートである。
【図１８】変換パターン処理部の処理を説明する図である。
【図１９】最小ラン連続制限パターン処理部と特定規則変換パターン検出部の処理を説明する図である。
【図２０】本発明の変調装置の他の実施の形態の構成を示すブロック図である。
【図２１】図20の変調装置のより詳細な構成を示すブロック図である。
【図２２】図21の変調装置の記録処理を説明するフローチャートである。
【図２３】図22のステップS403の変換パターン検出処理を説明するフローチャートである。
【図２４】図23のステップS463の２データ／３チャネルビット処理を説明するフローチャートである。
【図２５】直前符号検出処理を説明するフローチャートである。
【図２６】最小ラン連続制限総合検出処理を説明するフローチャートである。
【図２７】図22のステップS404の変換パターン決定処理を説明するフローチャートである。
【図２８】図22のステップS405の予想処理を説明するフローチャートである。
【図２９】図22のステップS406の最小ラン連続制限パターン検出処理を説明するフローチャートである。
【図３０】図22のステップS407の特定規則変換パターン検出処理を説明するフローチャートである。
【図３１】図22のステップS408のチャネルビット列変換処理を説明するフローチャートである。
【図３２】図31のステップS699の不確定ビット決定の３チャネルビット選択処理を説明するフローチャートである。
【図３３】本発明のさらに他の実施の形態の変調装置の構成を示すブロック図である。
【図３４】図33の変調装置のデータフォーマットを説明する図である。
【図３５】図33の変調装置の同期パターンがない場合と、ある場合のデータフォーマットを説明する図である。
【図３６】パーソナルコンピュータの構成を示すブロック図である。
【符号の説明】
【０２８１】
１  変調装置，  11  符号化装置，  21  DSV制御ビット決定挿入部，  22  変調部，  23  同期パターン挿入部，  24  NRZI化部，  41  加算器，  51  変換パターン処理部，  52  変換パターン決定部，  53  特定規則変換パターン検出部，  54  最小ラン連続制限パターン処理部，  55  チャネルビット列変換部,  56  直前符号検出部,  57  総合検出部,  71  変換パターン検出部,  72A乃至72D  変換テーブル,  73  セレクタ,  74  不確定ビット決定部，  111  最小ラン連続制限パターン検出予想部，  112  最小ラン連続制限パターン検出部
【図１】
2007213656.tif 000003
【図２】
2007213656.tif 000004
【図３】
2007213656.tif 000005
【図４】
2007213656.tif 000006
【図５】
2007213656.tif 000007
【図６】
2007213656.tif 000008
【図７】
2007213656.tif 000009
【図８】
2007213656.tif 000010
【図９】
2007213656.tif 000011
【図１０】
2007213656.tif 000012
【図１１】
2007213656.tif 000013
【図１２】
2007213656.tif 000014
【図１３】
2007213656.tif 000015
【図１４】
2007213656.tif 000016
【図１５】
2007213656.tif 000017
【図１６】
2007213656.tif 000018
【図１７】
2007213656.tif 000019
【図１８】
2007213656.tif 000020
【図１９】
2007213656.tif 000021
【図２０】
2007213656.tif 000022
【図２１】
2007213656.tif 000023
【図２２】
2007213656.tif 000024
【図２３】
2007213656.tif 000025
【図２４】
2007213656.tif 000026
【図２５】
2007213656.tif 000027
【図２６】
2007213656.tif 000028
【図２７】
2007213656.tif 000029
【図２８】
2007213656.tif 000030
【図２９】
2007213656.tif 000031
【図３０】
2007213656.tif 000032
【図３１】
2007213656.tif 000033
【図３２】
2007213656.tif 000034
【図３３】
2007213656.tif 000035
【図３４】
2007213656.tif 000036
【図３５】
2007213656.tif 000037
【図３６】
2007213656.tif 000038