(57)【要約】      （修正有）【課題】最小ランの連続をより少なくし、データの記録再生時のエラー伝播をより少なくする。【解決手段】変換データ処理部51は、入力されたデータ列を変換パターンの符号列に変換し、変換パターン決定部52に出力する。最小ラン連続制限対象処理部53は、変換パターン決定部52により変換された符号列から、最小ランの連続を制限すべき対象のパターンを検出し、対応する検出フラグを出力すると共に、先頭ではない位置において所定のパターン列を検出し、対応する予想フラグを出力する。チャネルビット列変換部55は、変換パターン決定部52より供給された符号列を、最小ラン連続制限対象処理部53より供給された検出フラグ及び予想フラグに基づいて不確定符号を含む符号列に変換するとともに、直前検出部54により検出された符号列の直前の値に基づいて不確定符号を確定する。【選択図】図３
2007133979.tif 000002
【特許請求の範囲】
【請求項１】
基本データ長がｍのデータを、最小ランがｄ、かつ最大ランがｋの、基本符号語長がｎの可変長符号(d,k;m,n;r)（最大拘束長ｒ＞１）に変換する変調装置において、
データパターンと符号パターンの対応関係を記述する変換テーブルに従って、入力データをRLL規則を守るように前記符号パターンからなる符号列に変換するデータ変換手段と、
前記符号パターンからなる符号列の直前の符号または符号語を検出する第１の検出手段と、
前記符号パターンからなる符号列から、最小ランの連続を制限すべき対象のパターンであるところの最小ラン連続制限対象パターンを検出する第２の検出手段と、
前記最小ラン連続制限対象パターンを不確定符号を含む最小ラン連続制限パターンに変換するとともに、検出された前記符号パターンからなる符号列の直前の符号または符号語に基づいて前記不確定符号を確定し、出力する出力手段と
を備える変調装置。
【請求項２】
前記第２の検出手段は、前記符号パターンからなる符号列から、第１の最小ラン連続制限対象パターンを一部に含む第２の最小ラン連続制限対象パターンの後の符号語を検出するとともに、前記第１の最小ラン連続制限対象パターンを一部に含む第３の最小ラン連続制限対象パターンを検出し、
前記出力手段は、前記第２の最小ラン連続制限対象パターンの後の符号語の検出結果が第１の検出結果である場合、前記データ変換手段により変換された前記符号列を選択出力し、前記第２の最小ラン連続制限対象パターンの後の符号語の検出結果が第２の検出結果である場合、前記第３の最小ラン連続制限対象パターンを前記不確定符号を含む最小ラン連続制限パターンに変換し、前記第３の最小ラン連続制限対象パターンの直前の符号または符号語に基づいて前記不確定符号を確定した前記符号列を選択出力する
請求項１に記載の変調装置。
【請求項３】
前記第２の検出手段は、第２の最小ラン連続制限対象パターンの後の符号語として最小単位の符号語を検出し、
前記第１の検出結果は、特定の前記最小単位の符号語が存在する場合であり、前記第２の検出結果は、特定の前記最小単位の符号語が存在しない場合である
請求項２に記載の変調装置。
【請求項４】
前記第１の最小ラン連続制限対象パターンは、“101 010 101”であり、
前記第２の最小ラン連続制限対象パターンは、“xxx xxx 101 010 101”であり
前記第３の最小ラン連続制限対象パターンは、“001 010 101 010 101”であり、
前記不確定符号を含む前記最小ラン連続制限パターンは、前記不確定符号を“＄”とするとき、“$0$ 010 000 000 101”である
請求項２に記載の変調装置。
【請求項５】
前記出力手段は、前記不確定符号を含む符号語“$0$”を、前記第３の最小ラン連続制限対象パターンの直前の符号語が“010”であるとき“000”に変換し、“010”ではないとき、“101”に変換する
請求項４に記載の変調装置。
【請求項６】
前記出力手段は、さらに前記符号語“$0$”を、直前の符号が“１”のとき“000”に変換する
請求項５に記載の変調装置。
【請求項７】
前記第２の検出手段は、前記第１の最小ラン連続制限対象パターンを検出したとき、次の最小単位の符号語をさらに検出し、
前記出力手段は、前記第１の最小ラン連続制限対象パターンの次の最小単位の符号語が基準の符号語である場合、前記第１の最小ラン連続制限対象パターンを、前記不確定符号を含まない他の最小ラン連続制限パターンに置換し、次の最小単位の符号語が基準の符号語でない場合、前記データ変換手段により変換された前記符号列を選択する
請求項２に記載の変調装置。
【請求項８】
前記不確定符号を含まない他の最小ラン連続制限パターンは“001 000 000”である
請求項７に記載の変調装置。
【請求項９】
前記出力手段は、前記最小ランの連続を、５回以下に制限する
請求項１に記載の変調装置。
【請求項１０】
請求項１に記載の変調装置により変調された信号が記録されている記録媒体。
【請求項１１】
基本データ長がｍのデータを、最小ランがｄ、かつ最大ランがｋの、基本符号語長がｎの可変長符号(d,k;m,n;r)（最大拘束長ｒ＞１）に変換する変調方法において、
データパターンと符号パターンの対応関係を記述する変換テーブルに従って、入力データをRLL規則を守るように前記符号パターンからなる符号列に変換するデータ変換ステップと、
前記符号パターンからなる符号列の直前の符号または符号語を検出する第１の検出ステップと、
前記符号パターンからなる符号列から、最小ランの連続を制限すべき対象のパターンであるところの最小ラン連続制限対象パターンを検出する第２の検出ステップと、
前記最小ラン連続制限対象パターンを不確定符号を含む最小ラン連続制限パターンに変換するとともに、検出された前記符号パターンからなる符号列の直前の符号または符号語に基づいて前記不確定符号を確定し、出力する出力ステップと
を備える変調方法。
【請求項１２】
基本データ長がｍのデータを、最小ランがｄ、かつ最大ランがｋの、基本符号語長がｎの可変長符号(d,k;m,n;r)（最大拘束長ｒ＞１）に変換するプログラムにおいて、
データパターンと符号パターンの対応関係を記述する変換テーブルに従って、入力データを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)とも表記される)は、最小ランｄ＝２の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符号と同様なパラメータであり、かつ同様な変調テーブルの構成で、より安定したシステムを実現する変調方式が実現すれば、従来の設計技術を流用することが出来るので、ハードウエア設計時の設計リスクを低減することができる。
【００３５】
【特許文献１】特開平6−197024号公報
【特許文献２】特開平11−346154号公報
【発明の開示】
【発明が解決しようとする課題】
【００３６】
以上のように、RLL符号を高線密度にディスクに記録再生する場合、最小ランｄの連続したパターンがあると、長いエラーが発生し易かった。また(1,7;2,3)符号においてDSV制御を行うには冗長ビットを挟む必要があり、なるべくこの冗長ビットを少なくする必要があった。そして、このような状況から開発された、最小ランｄ＝１のRLL符号(d,k;m,n)=(1,7;2,3)において、最小ランの連続する回数を制限し、さらに最小ランおよび最大ランを守りながら、効率の良い制御ビットでDSV制御を行うことができる等の特徴を持つ1,7PP符号に対し、さらに安定した符号列を発生する変調方式が望まれた。具体的には、例えば、エッジシフトによるエラーの発生を、さらに少なくする変調方式が要求された。
【００３７】
さらには、ハードウエア設計を考慮するために、従来の1,7PP符号と同様のテーブル構成であることが望まれた。
【００３８】
本発明は、このような状況に鑑みてなされたものであり、基本構成を1,7PP符号と同様にした上で、さらに、最小ランの連続する回数を、従来よりもさらに減らすようにし、記録再生時における、長いエラーの発生を改善するものである。
【課題を解決するための手段】
【００３９】
本発明の側面は、基本データ長がｍのデータを、最小ランがｄ、かつ最大ランがｋの、基本符号語長がｎの可変長符号(d,k;m,n;r)（最大拘束長ｒ＞１）に変換する変調装置において、データパターンと符号パターンの対応関係を記述する変換テーブルに従って、入力データをRLL規則を守るように前記符号パターンからなる符号列に変換するデータ変換手段と、前記符号パターンからなる符号列の直前の符号または符号語を検出する第１の検出手段と、前記符号パターンからなる符号列から、最小ランの連続を制限すべき対象のパターンであるところの最小ラン連続制限対象パターンを検出する第２の検出手段と、前記最小ラン連続制限対象パターンを不確定符号を含む最小ラン連続制限パターンに変換するとともに、検出された前記符号パターンからなる符号列の直前の符号または符号語に基づいて前記不確定符号を確定し、出力する出力手段とを備える変調装置である。
【００４０】
前記第２の検出手段は、前記符号パターンからなる符号列から、第１の最小ラン連続制限対象パターンを一部に含む第２の最小ラン連続制限対象パターンの後の符号語を検出するとともに、前記第１の最小ラン連続制限対象パターンを一部に含む第３の最小ラン連続制限対象パターンを検出し、前記出力手段は、前記第２の最小ラン連続制限対象パターンの後の符号語の検出結果が第１の検出結果である場合、前記データ変換手段により変換された前記符号列を選択出力し、前記第２の最小ラン連続制限対象パターンの後の符号語の検出結果が第２の検出結果である場合、前記第３の最小ラン連続制限対象パターンを前記不確定符号を含む最小ラン連続制限パターンに変換し、前記第３の最小ラン連続制限対象パターンの直前の符号または符号語に基づいて前記不確定符号を確定した前記符号列を選択出力することができる。
【００４１】
前記第２の検出手段は、第２の最小ラン連続制限対象パターンの後の符号語として最小単位の符号語を検出し、前記第１の検出結果は、特定の前記最小単位の符号語が存在する場合であり、前記第２の検出結果は、特定の前記最小単位の符号語が存在しない場合とすることができる。
【００４２】
前記第１の最小ラン連続制限対象パターンは、“101 010 101”であり、前記第２の最小ラン連続制限対象パターンは、“xxx xxx 101 010 101”であり記第３の最小ラン連続制限対象パターンは、“001 010 101 010 101”であり、前記不確定符号を含む前記最小ラン連続制限パターンは、前記不確定符号を“＄”とするとき、“$0$ 010 000 000 101”とすることができる。
【００４３】
前記出力手段は、前記不確定符号を含む符号語“$0$”を、前記第３の最小ラン連続制限対象パターンの直前の符号語が“010”であるとき“000”に変換し、“010”ではないとき、“101”に変換することができる。
【００４４】
前記出力手段は、さらに前記符号語“$0$”を、直前の符号が“１”のとき“000”に変換することができる。
【００４５】
前記第２の検出手段は、前記第１の最小ラン連続制限対象パターンを検出したとき、次の最小単位の符号語をさらに検出し、前記出力手段は、前記第１の最小ラン連続制限対象パターンの次の最小単位の符号語が基準の符号語である場合、前記第１の最小ラン連続制限対象パターンを、前記不確定符号を含まない他の最小ラン連続制限パターンに置換し、次の最小単位の符号語が基準の符号語でない場合、前記データ変換手段により変換された前記符号列を選択することができる。
【００４６】
前記不確定符号を含まない他の最小ラン連続制限パターンは“001 000 000”とすることができる。
【００４７】
前記出力手段は、前記最小ランの連続を、５回以下に制限することができる。
【００４８】
前記変調装置により変調された信号を記録媒体に記録することができる。
【００４９】
また本発明の側面は、基本データ長がｍのデータを、最小ランがｄ、かつ最大ランがｋの、基本符号語長がｎの可変長符号(d,k;m,n;r)（最大拘束長ｒ＞１）に変換する変調方法、プログラム、またはプログラムが記載された記録媒体において、データパターンと符号パターンの対応関係を記述する変換テーブルに従って、入力データをRLL規則を守るように前記符号パターンからなる符号列に変換するデータ変換ステップと、前記符号パターンからなる符号列の直前の符号または符号語を検出する第１の検出ステップと、前記符号パターンからなる符号列から、最小ランの連続を制限すべき対象のパターンであるところの最小ラン連続制限対象パターンを検出する第２の検出ステップと、前記最小ラン連続制限対象パターンを不確定符号を含む最小ラン連続制限パターンに変換するとともに、検出された前記符号パターンからなる符号列の直前の符号または符号語に基づいて前記不確定符号を確定し、出力する出力ステップとを備える変調方法、プログラム、またはプログラムが記載された記録媒体である。
【００５０】
本発明の側面においては、データパターンと符号パターンの対応関係を記述する変換テーブルに従って、入力データがRLL規則を守るように符号パターンからなる符号列に変換される。符号パターンからなる符号列から検出された最小ラン連続制限対象パターンは不確定符号を含む最小ラン連続制限パターンに変換され、不確定符号は、検出された符号パターンからなる符号列の直前の符号または符号語に基づいて確定される。
【発明の効果】
【００５１】
本発明の側面によれば、最小ランの連続をより少なくし、データの記録再生時のエラー伝播を、より少なくすることができる。
【発明を実施するための最良の形態】
【００５２】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００５３】
本発明の側面は、基本データ長がｍのデータを、最小ランがｄ、かつ最大ランがｋの、基本符号語長がｎの可変長符号(d,k;m,n;r)（最大拘束長ｒ＞１）に変換する変調装置において、データパターンと符号パターンの対応関係を記述する変換テーブル（例えば、表３の上側のデータパターン（11）乃至（00000000）までの範囲の部分）に従って、入力データをRLL規則を守るように前記符号パターンからなる符号列に変換するデータ変換手段（例えば、図５のステップS303,S304の処理を実行する図３の変換データ処理部51、変換パターン決定部52）と、前記符号パターンからなる符号列の直前の符号または符号語を検出する第１の検出手段（例えば、図８の直前符号検出処理と図９の直前符号語検出処理を実行する図３の直前検出部54）と、前記符号パターンからなる符号列から、最小ランの連続を制限すべき対象のパターンであるところの最小ラン連続制限対象パターン（例えば、符号パターン“101 010 101”,“001 010 101 010 101”,“xxx xxx 101 010 101”）を検出する第２の検出手段（例えば、図５のステップS305の予想処理とステップS306の最小ラン連続制限対象パターン検出処理を実行する図３の最小ラン連続制限対象処理部53）と、少なくとも１つの前記最小ラン連続制限対象パターン（例えば、符号パターン“001 010 101 010 101”）を不確定符号（例えば、“＄”）を含む最小ラン連続制限パターン（例えば、符号パターン“$0$ 010 000 000 101”）に変換するとともに、検出された前記符号パターンからなる符号列の直前の符号（例えば、直前符号フラグ）または符号語（例えば、直前符号語フラグ）に基づいて前記不確定符号を確定し、出力する出力手段（例えば、図５のステップS307の処理を実行する図３のチャネルビット列変換部55）と
を備える変調装置（例えば、図３の変調装置１）である。
【００５４】
前記第２の検出手段は、前記符号パターンからなる符号列から、第１の最小ラン連続制限対象パターン（例えば、符号パターン“101 010 101”）を一部に含む第２の最小ラン連続制限対象パターン（例えば、符号パターン“xxx xxx 101 010 101”）の後の符号語（例えば、符号パターン“010”）を検出する（例えば、図11のステップS481乃至S484の予想処理）とともに、前記第１の最小ラン連続制限対象パターンを一部に含む第３の最小ラン連続制限対象パターン（例えば、符号パターン“001 010 101 010 101”）を検出し（例えば、図12のステップS502,S503の処理）、前記出力手段は、前記第２の最小ラン連続制限対象パターン（例えば、符号パターン“xxx xxx 101 010 101”）の後の符号語（例えば、符号パターン“010”）の検出結果が第１の検出結果である場合（例えば、図13のステップS532で予想フラグがoffではないと判定された場合）、前記データ変換手段により変換された前記符号列を選択出力し（例えば、図13のステップS533）、前記第２の最小ラン連続制限対象パターン（例えば、符号パターン“xxx xxx 101 010 101”）の後の符号語（例えば、符号パターン“010”）の検出結果が第２の検出結果である場合（例えば、図13のステップS532で予想フラグがoffであると判定された場合）、前記第３の最小ラン連続制限対象パターン（例えば、符号パターン“001 010 101 010 101”）を前記不確定符号（例えば、“＄”）を含む最小ラン連続制限パターン（例えば、符号パターン“$0$ 010 000 000 101”）に変換し（例えば、図13のステップS534）、前記第３の最小ラン連続制限対象パターンの直前の符号または符号語に基づいて前記不確定符号を確定した前記符号列を選択出力する（例えば、図13のステップS535乃至S540）ことができる。
【００５５】
前記第２の検出手段は、第２の最小ラン連続制限対象パターンの後の符号語として最小単位の符号語（例えば、符号パターン“010”）を検出し、前記第１の検出結果は、特定の前記最小単位の符号語（例えば、符号パターン“010”）が存在する場合（例えば、図11のステップS482でYESと判定された場合）とし、前記第２の検出結果は、特定の前記最小単位の符号語が存在しない場合（例えば、図11のステップS482でNOと判定された場合）とすることができる。
【００５６】
前記出力手段は、前記不確定符号を含む符号語“$0$”を、前記第３の最小ラン連続制限対象パターンの直前の符号語が“010”であるとき“000”に変換し（例えば、図13のステップS539）、“010”ではないとき、“101”に変換する（例えば、図13のステップS537）ことができる。
【００５７】
前記出力手段は、さらに前記符号語“$0$”を、直前の符号が“１”のとき“000”に変換する（例えば、図13のステップS539）ことができる。
【００５８】
前記第２の検出手段は、前記第１の最小ラン連続制限対象パターンを検出したとき（例えば、図12のステップS504でYESと判定されたとき）、次の最小単位の符号語（例えば、符号パターン“010”）をさらに検出し（例えば、図12のステップS505）、前記出力手段は、前記第１の最小ラン連続制限対象パターンの次の最小単位の符号語が基準の符号語（例えば、符号パターン“010”）である場合（例えば、図13のステップS541で最小ラン連続制限パターン検出フラグ12がonであると判定された場合）、前記第１の最小ラン連続制限対象パターンを、前記不確定符号を含まない他の最小ラン連続制限パターン（例えば、符号パターン“001 000 000”）に置換し（例えば、図13のステップS542）、次の最小単位の符号語が基準の符号語でない場合（例えば、図13のステップS541で最小ラン連続制限パターン検出フラグ12がoffであると判定された場合）、前記データ変換手段により変換された前記符号列を選択する（例えば、図13のステップS533）ことができる。
【００５９】
変調装置（例えば、図３の変調装置１）により変調された信号を記録媒体（例えば、図３の記録媒体13）に記録することができる。
【００６０】
また本発明の側面は、基本データ長がｍのデータを、最小ランがｄ、かつ最大ランがｋの、基本符号語長がｎの可変長符号(d,k;m,n;r)（最大拘束長ｒ＞１）に変換する変調方法、プログラム、またはプログラムが記録された記録媒体において、データパターンと符号パターンの対応関係を記述する変換テーブル（例えば、表３の上側のデータパターン（11）乃至（00000000）までの範囲の部分）に従って、入力データをRLL規則を守るように前記符号パターンからなる符号列に変換するデータ変換ステップ（例えば、図５のステップS303）と、前記符号パターンからなる符号列の直前の符号または符号語を検出する第１の検出ステップ（例えば、図８のステップS391乃至S393と図９のステップS411乃至S413）と、前記符号パターンからなる符号列から、最小ランの連続を制限すべき対象のパターンであるところの最小ラン連続制限対象パターン（例えば、符号パターン“101 010 101”,“001 010 101 010 101”,“xxx xxx 101 010 101”）を検出する第２の検出ステップ（例えば、図５のステップS305とステップS306）と、少なくとも１つの前記最小ラン連続制限対象パターン（例えば、符号パターン“001 010 101 010 101”）を不確定符号（例えば、“＄”）を含む最小ラン連続制限パターン（例えば、符号パターン“$0$ 010 000 000 101”）に変換するとともに、検出された前記符号パターンからなる符号列の直前の符号（例えば、直前符号フラグ）または符号語（例えば、直前符号語フラグ）に基づいて前記不確定符号を確定し、出力する出力ステップ（例えば、図５のステップS307）とを備える変調方法、プログラム、またはプログラムが記録された記録媒体（例えば、図３の変調装置１の変調方法、プログラム、またはプログラムが記録された記録媒体）である。
【００６１】
以下、図を参照して本発明の実施の形態について説明する。以後、変換前のデータ列を、（000011）のように（  ）で区切って表し、変換後のチャネルビット列（符号列）を、“000 100 100”のように“  ”で区切って表す。また、本明細書において、1,7PP符号（PP : Parity-preserve Prohibit-repeated-minimum-transition-runlength ）とは、最小ランｄ＝１、最大ランｋ＝７、かつ変換率(m:n)=(2:3)である可変長符号であり、さらに、最小ランの連続する回数を制限し、かつ、最小ランおよび最大ランを守りながら、効率の良いDSV制御ビットで、完全なDSV制御を行う変調テーブル（変換テーブル）を持つ符号をいう。
【００６２】
以下の表３は、本発明の一実施の形態としての変調テーブルを表す。
【００６３】
＜表３＞
1,7PP-rmtr5_code. rev.1    RLL(1,7;2,3;5)
1,7PP-rmtr5_ver.1
データパターン               符号パターン
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(next“010”)       001 000 000
1001110111                $0$ 010 000 000 101
1001110111(next“010”)   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
【００６４】
表３の変調テーブルは、表１あるいは表２の変調テーブルと同様に、データパターンと符号パターンとよりなる変換パターンで構成されている。変調装置が表３の変調テーブルに従って変調を行う場合、変調装置に入力されたデータ列が、表３に記述されているデータパターンと一致すれば、そのデータ列のデータパターンと一致する部分は、対応する符号パターンに変換され、符号語列として出力される。
【００６５】
表３の変調テーブルは、1,7PP符号であり、さらに、基本構成が表２と同様である。この表３の変調テーブルは、基礎テーブル、置換テーブル、および終端テーブルにより構成される。
【００６６】
基礎テーブルは、それがないと変換処理ができない変換パターン（基礎パターン）により構成され、置換テーブルは、それがなくても変換処理は可能であるが、それを行うことによって、より効果的な変換処理を実現する（最小ランの連続を制限する）ことができる変換パターン（置換パターン）により構成される。終端テーブルは、符号を任意の位置で終端させるための変換パターン（終端パターン）により構成される。
【００６７】
具体的には、表３に示される変調テーブルのうち、（11）から（000000）までのデータパターンからなる基礎データパターンと、それに対応する“*0*”から“010 100 000”までの符号パターンからなる基礎符号パターンを含む変換パターン（基礎パターン）により構成される部分が基礎テーブルとしての変調テーブルであり、（00001000），（00000000），（110111），（1001110111）のデータパターンからなる置換データパターンと、それに対応する“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）,（1001110111）(next“010”)のデータパターンからなる置換データパターンと、それに対応する“001 000 000”，“$0$ 010 000 000 101”，“001”（no-change）の符号パターンからなる置換符号パターンにより構成される部分が最小ランの連続を制限する置換パターン（最小ラン連続制限パターン）のテーブルである。
【００６９】
また、（00），（0000）のデータパターンからなる終端データパターンと、それに対応する“000”，“010 100”の符号パターンからなる終端符号パターンを含む変換パターン（終端パターン）により構成される部分が終端テーブルとしての変調テーブルである。
【００７０】
（11）から（00000000）までのデータパターンは、条件によらず、固定的に、“*0*”から“010 100 100 100”までの対応する符号パターンに変換される。その意味で、以下、これらの変換パターンを固定的変換パターンとも記述する。
【００７１】
これに対して、（110111），（1001110111）のデータパターンは、条件によっては、全体が一括して“001 000 000”，“$0$ 010 000 000 101”の符号パターンに変換されるが、条件によっては、データパターンの全体が一括して変換されず、個別のデータパターン（固定的変換パターン）に分解され、個々のデータパターン毎に対応する符号パターンに変換される。その意味で、以下、これらの変換パターンを、条件的変換パターンとも記述する。
【００７２】
また、データパターンと符号パターンの対応関係を記述するのが変調テーブルであり、以下においては、表３の一部のことも必要に応じて変調テーブルあるいは変換テーブルと記述する。
【００７３】
表３は、最小ランｄ＝１、最大ランｋ＝７で、基礎符号の要素に不確定符号(記号＊で表される符号)を持つ。この不確定符号は、最小ランｄと最大ランｋを守るように、“０”か“１”に決定される。すなわち表３においては、変換するデータがデータパターン（11）と一致するとき（以下、このような場合、必要に応じて変換する２データが（11）であったときのように簡略化として表現する）、その直前の符号語列（チャネルビット列）によって、“000”または“101”が選択され、そのいずれかに変換される。例えば、直前の符号語列の１チャネルビット（符号）が“１”である場合、最小ランｄを守るために、２データ（11）は、符号語“000”に変換され、直前の符号語列の１チャネルビットが“０”である場合、最大ランｋが守られるように、２データ（11）は、符号語“101”に変換される。
【００７４】
表３の変調テーブルは可変長構造を有しているので、基礎パターンはｉ＝１からｉ＝３までの変換パターンを有する。
【００７５】
また、表３の変調テーブルは、拘束長ｉ＝３において、最小ランｄの連続を制限する置換パターンを持っている。データ列が（110111）である場合、さらにその直後の符号語が参照される。後ろに続く符号語列が“010”である時、この６データ（110111）は、符号語“001 000 000”に置き換えられる。またこのデータ列は、直後の符号語列が“010”でない場合（“001”，“101”,または“000”である場合）、一括して変換されず、２データ単位（（11），（01），（11））に分割されて符号語に変換されるので、符号語“*0* 010 *0*”、即ち符号語“*0* 010 101”に変換される。
【００７６】
表３の変調テーブルはさらに、拘束長ｉ＝５において、最小ランｄの連続を制限する置換パターンを別途持っている。データ列が（1001110111）である場合、後述の例外処理（続く符号語列が“010”である場合の処理）を除いて、このデータ列10ビットは、符号語“$0$ 010 000 000 101”に置き換えられる。符号語“$0$”の“＄”はRLL規則を守り、かつ、最小ランの連続を所定回数までに制限するための不確定符号である。具体的には、直前の符号語列の１チャネルビットが“１”である場合には、最小ランを守るために、符号語“$0$”は、符号語“000”に変換される。これに対して直前の符号語列の１チャネルビットが“０”である場合には最大ランを守り、さらに、最小ランの連続を所定回数までに制限するために、直前の符号語列の３チャネルビットが“010”である場合に、符号語“$0$”は符号語“000”に変換され、直前の３チャネルビットが“010”ではない場合には、符号語“101”に変換される。
【００７７】
この実施の形態においては、不確定符号＄を直前の符号の値に基づいて確定するようにしたが、その位置によっては、直後の符号により確定するようにすることもできる。
【００７８】
以上をまとめると、次のようにも表現することができる。すなわち、直前の符号語列の２チャネルビットが、“10”あるいは“01”である場合、“$0$”は符号語“000”に置換され、そうでない時、即ち“00”である場合、“$0$”は符号語“101”に置換される。なお、２チャネルビットのパターンとしては４通りあるが、残る“11”は最小ランｄ＝１を満たしていないので、変換パターンとして規定されていない。
【００７９】
ここで、例外処理とは、以下の通りである。即ち、データ列が（1001110111）である場合、さらに直後の符号語列が参照される。後ろに続く符号語列が“010”である時、上述の様な一括した置換処理は行われずに、先頭の２ビット（10）のみが、符号語“001”に変換される。以下、次回の処理で２ビット（01）が符号語“010”に変換され、さらに次の処理で６ビット（110111），（next“010”）が“001 000 000”に変換される
【００８０】
これによって、データを変換した符号語列は、最小ランの連続が制限され、最大でも５回までの最小ラン繰り返しとなる。
【００８１】
そして表３の変調テーブルは、拘束長ｉ＝４の変換パターンにおいて、最大ランｋ＝７を実現するための置換パターン（最大ラン保証パターン）を持っている。すなわち、データパターン（00001000）は符号パターン“000 100 100 100”に変換され、データパターン（00000000）は符号パターン“010 100 100 100”に変換される。なお、この場合にも最小ランｄ＝１は守られている。
【００８２】
さらに表３は、同期パターンを挟むために、データ列の任意の位置において終端させる場合、データ列が（00）または（0000）で終端位置となる時は、終端パターンが用いられる。挿入される同期パターンは、先頭の１符号が終端パターン使用識別ビットとなっており、終端パターンが用いられた時は、直後の同期パターン列の先頭符号が“１”となる。また終端パターンが用いられなかった時は、“０”となる。なお、表３における同期パターンは、上述の終端パターン使用識別ビットと、同期パターン検出のために最大ランｋ＝７を超えるｋ＝８の符号語を持ち、最後の符号が“０”となるように構成されており、例えば表３にあるように、ｋ＝８を２回繰り返して、合計24符号（チャネルビット）で構成されている。
【００８３】
ところで表３の変換パターンは、データパターンの要素としての“１”の個数を２で割った時の余りと、符号パターンの要素としての“１”の個数を２で割った時の余りが、どちらも１あるいは０で同一（対応するいずれの変換パターンも、“１”の個数が奇数または偶数）となるような変換規則を持っている。例えば、変換パターンのうちのデータパターン（000001）は、“010 100 100”の符号パターンに対応しているが、それぞれの要素としての“１”の個数は、データパターンでは１個、対応する符号パターンでは３個であり、どちらも２で割ったときの余りが１（奇数）で一致している。同様にして、変換パターンのうちのデータパターン（000000）は、“010 100 000”の符号パターンに対応しているが、それぞれ“１”の個数は、データパターンでは０個、対応する符号パターンでは２個であり、どちらも２で割ったときの余りが０（偶数）で一致している。
【００８４】
結局、各変換パターンにおける、データ列とチャネルビット列は、DSV極性が保存されているので、データ列内において、冗長ビットとしてDSV制御ビットを１ビット挿入し、このDSV制御ビットが（１）である時、DSV制御ビット部分を含むデータ列をチャネルビット列に変換し、NRZI化して記録符号列を作成すると、極性が反転する。また前記DSV制御ビットが（０）である時、DSV制御ビット部分を含むデータ列をチャネルビット列に変換し、NRZI化して記録符号列を作成すると、極性は反転しない。従って、表３のような、DSV極性が保存された変調テーブルは、データ列内に冗長ビットとして挿入された１ビットによって、これをデータ変換し、NRZI化した後の極性を変えることが出来るので、データ列内でDSV制御が出来ることになる。
【００８５】
なお、変換のために参照する最大データ列は、表３において、
データパターン               符号パターン
1001110111(next“010”)      001(no-change)
の場合である。データパターン（1001110111）の後ろに続く符号パターンが“010”であるかどうかをデータ列から判定するためには、（1001110111）（10ビット）の後ろに続くデータ列の参照は、最大で（00000）（５ビット）となり、合計すると15ビットの参照となる。
【００８６】
次に、本発明の実施の形態に係る変調装置の構成を図面を参照しながら説明する。図１は、本発明の実施の形態の変調装置１の全体の構成を示すブロック図である。変調装置１は、入力されたデータ列を符号化し、出力する符号化装置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の変調テーブル（表３）を用いた変調部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制御を行うためには、4チャネルビットが必要である。従って、従来のDSV制御方式と較べると、本方式のデータ列内DSV制御ビット挿入は、DSV制御のための冗長チャネルビットが少なく行えることがわかる。
【００９２】
同期パターンが挿入されたチャネルビット列が、NRZI化部24によりNRZI化され（図2E）、記録符号列として記録部12に供給され、記録媒体13に記録される。
【００９３】
図３は、変調装置１の主要部のより詳細な構成を示すブロック図である。DSV制御ビット決定挿入部21は、入力データにDSV制御ビットを付加する加算器41を有している。変調部22は、変換データ処理部51、変換パターン決定部52、最小ラン連続制限対象処理部53、直前検出部54、およびチャネルビット列変換部55により構成されている。
【００９４】
図３の変調装置１において、入力されたデータ列には、加算器41によりDSV制御ビットが所定の間隔で挿入される。DSV制御ビットが挿入された入力データ列は、変換データ処理部51へ送られる。変換データ処理部51は、表３の基礎パターン部分と最小ランｋ＝７を実現するための置換パターンを有しており、RLL規則を守るように変換パターン処理を行い、その処理情報を変換パターン決定部52へ供給する。変換データ処理には、直前検出部54からの情報が用いられる。また、変換データ処理部51は、同期パターンを挿入するための終端テーブルを有しており、所定の位置で終端させるように、必要に応じて終端テーブルを用いる。終端テーブルが用いられた際には、その情報が同期パターンに埋め込まれる。
【００９５】
変換パターン決定部52は、変換データ処理部51からの情報に基づいて、確定した変換パターンを選び出し、その符号を出力する。最小ラン連続制限対象処理部53は、変換パターン決定部52より出力されたチャネルビット列から、最小ラン連続制限対象パターンを検出し、その情報をチャネルビット列変換部55に出力する。チャネルビット列変換部55は、変換パターン決定部52より出力されたチャネルビット列を、最小ラン連続制限対象処理部53からの情報を用いて、処理単位である３チャネルビット単位で置換する処理を行う。
【００９６】
置換処理が行われたチャネルビット列には、同期パターン挿入部23により所定の間隔、所定の位置で同期パターンが挿入される。同期パターンの決定には、変換データ処理部51から出力された終端テーブル処理情報が用いられる。同期パターン挿入部23の出力は、NRZI化部24においてNRZI化され、記録符号列として記録部12により記録媒体13に記録される（あるいは、伝送符号列として伝送路に出力される）。
【００９７】
直前検出部54は、変換パターン決定部52により確定された変換パターンからRLLを保証するために必要な情報として、次の変換処理の直前の符号を検出し、その検出結果を変換データ処理部51およびチャネルビット列変換部55へ供給する。また、直前検出部54は、変換パターン決定部52により確定された変換パターンから最小ランの連続制限回数を保証するために必要な情報として、次の変換処理の直前の最小単位の符号語を検出し、その検出結果をチャネルビット列変換部55へ供給する。
【００９８】
また各部の動作のタイミングは、図示しないタイミング管理部から供給されるタイミング信号に同期して管理されている。
【００９９】
図４は、図３の変調装置１のより詳細な構成を表している。DSV制御ビット決定挿入部21は、加算器41とシフトレジスタ42により構成されている。シフトレジスタ42は、最大８ビットのデータを保持するように構成されている。変換データ処理部51は、変換パターン検出部71、変換テーブル72A乃至72D、セレクタ73、および不確定ビット決定部74により構成されている。
【０１００】
直前検出部54は、変換パターン決定部52により、確定された変換パターンからRLLを保証するために必要な情報として、次の変換処理の直前の符号を検出する直前符号検出部61と、変換パターン決定部52により確定された変換パターンから最小ランの連続制限回数を保証するために必要な情報として、次の変換処理の直前の最小単位の符号語を検出する直前符号語検出部62とにより構成されている。
【０１０１】
変換パターン検出部71は、シフトレジスタ42から入力されたデータ列より、RLL規則を守る変換パターンの検出を行い、その結果情報（変換パターン決定情報）を変換パターン決定部52へ出力するとともに、各変換テーブル72A乃至72Dへも出力する。変換テーブル72Aは拘束長ｉ＝１の変換処理を行う。すなわち、２データを３チャネルビットに変換し、セレクタ73に出力する。変換テーブル72Bは拘束長ｉ＝２の変換処理を行う。すなわち、４データを６チャネルビットに変換し、変換パターン決定部52に出力する。変換テーブル72Cは拘束長ｉ＝３の変換処理を行う。すなわち、６データを９チャネルビットに変換し、変換パターン決定部52に出力する。変換テーブル72Dは拘束長ｉ＝４の変換処理を行う。すなわち、８データを12チャネルビットに変換し、変換パターン決定部52に出力する。また、変換パターン検出部71は、不確定符号に対応する不確定データを検出したとき、セレクタ73に不確定パターン識別情報を出力する。
【０１０２】
セレクタ73は、変換パターン検出部71からの不確定パターン識別情報に基づいて、変換テーブル72Aから供給されるチャネルビット列に不確定符号が含まれる場合（不確定パターン識別情報が不確定符号の存在を表している場合）、変換テーブル72Aより供給されたチャネルビット列を不確定ビット決定部74に出力する。
【０１０３】
不確定ビット決定部74は、直前符号検出部61の出力に基づいて、セレクタ73より供給された3チャネルビットに含まれる不確定ビットを確定し、不確定ビットが確定された後の3チャネルビットの符号列を変換パターン決定部52に出力する。これに対して、不確定符号が含まれていない場合には、セレクタ73は、変換テーブル72Aより供給されたチャネルビット列を変換パターン決定部52に直接出力する。
【０１０４】
また、変換データ処理部51は同期パターンを挿入するための終端テーブルを持っており、所定の位置で終端させるように、必要に応じて終端テーブルを用いる。終端テーブルが用いられた際には、その情報が同期パターンに埋め込まれる。
【０１０５】
最小ラン連続制限対象処理部53は、最小ラン連続制限対象パターン検出予想部111と最小ラン連続制限対象パターン検出部112とにより構成されている。
【０１０６】
最小ラン連続制限対象パターン検出予想部111は、変換パターン決定部52より出力されたチャネルビット列から基本処理単位である３チャネルビット単位で処理を行う。最小ラン連続制限対象パターン検出予想部111は、先頭ではない所定位置において、最小ランの連続回数を制限するための所定のパターン列を検出したとき、その情報を最小ラン連続制限対象パターン検出予想情報としてチャネルビット列変換部55に出力する。また、最小ラン連続制限対象パターン検出予想部111は、所定のチャネルビット列検出として、表３の拘束長ｉ＝５の最小ランｄの連続を制限する置換パターンの例外処理に相当する処理を含み、同期パターンを含まないチャネルビット列上で基本処理単位である３チャネルビット単位で見て、先頭から７チャネルビット目が“101 010 101”とこれに続く３チャネルビットが“010”であった部分に対して検出処理を行う。すなわち、“xxx xxx 101 010 101”＋“010”であるかどうかが検出される。
【０１０７】
最小ラン連続制限対象パターン検出部112は、変換パターン決定部52より出力されたチャネルビット列から基本処理単位である３チャネルビット単位で最小の連続回数を制限するためのパターン列を検出したとき、その情報を最小ラン連続制限対象パターン検出情報としてチャネルビット列変換部55に出力する。また、最小ラン連続制限対象パターン検出部112は、所定のチャネルビット列検出として表３の拘束長ｉ＝３，５の最小ランｄの連続を制限する置換パターンに相当する処理を行い、基本処理単位である３チャネルビット単位で見て、“101 010 101”とこれに続く３チャネルビットが“010”であった部分に対しての検出処理を行う。さらに、基本処理単位である３チャネルビット単位で見て“001 010 101 010 101”である部分に対しての検出処理を行う。
【０１０８】
チャネルビット列変換部55は、最小ラン連続制限対象パターン検出部112により、符号パターン“101 010 101”と、これに続く３チャネルビットが“010”であることが検出された場合に、符号パターン“101 010 101”を符号パターン“001 000 000”へ置換する処理を行う。
【０１０９】
チャネルビット列変換部55はさらに、符号パターン“001 010 101 010 101”を、さらに先頭７チャネルビットからの検出予想情報が“xxx xxx 101 010 101”＋“not 010”の時、符号パターン“001 010 101 010 101”を符号パターン“$0$ 010 000 000 101”に変換する。
【０１１０】
次に、図３と図４に示される変調装置１の動作について図５のフローチャートを参照して説明する。
【０１１１】
ステップS301において、加算器41は、入力されたデータ列に対してDSV制御ビットを付加する。ステップS302においてシフトレジスタ42は、加算器41より供給されたデータ列を２ビット単位で保持する。ステップS303において、変換データ処理部51は、変換パターン検出処理を実行する。この変換パターン検出処理の詳細は図６のフローチャートを参照して後述するが、この処理により、８データ／12チャネルビットの変換、６データ／９チャネルビットの変換、４データ／６チャネルビットの変換、並びに２データ／３チャネルビットの変換がそれぞれ実行される。
【０１１２】
ステップS304において、変換パターン決定部52は変換パターン決定処理を実行する。この変換パターン決定処理の詳細は、図10のフローチャートを参照して後述するが、12チャネルビットの変換出力、９チャネルビットの変換出力、６チャネルビットの変換出力、または３チャネルビット変換出力のいずれかが選択され、出力される。
【０１１３】
ステップS305において、最小ラン連続制限対象パターン検出予想部111は予想処理を実行する。この予想処理の詳細は図11のフローチャートを参照して後述するが、この処理により、符号列“xxx xxx 101 010 101”であり、次のチャネルビットが“010”である場合に、予想フラグonが出力される。
【０１１４】
次に、ステップS306において最小ラン連続制限対象パターン検出部112は、最小ラン連続制限対象パターン検出処理を実行する。この最小ラン連続制限対象パターン検出処理の詳細は図12のフローチャートを参照して後述するが、この処理により、符号列“001 010 101 010 101”が検出された場合、最小ラン連続制限パターン検出フラグ15onが出力され、また、符号列“101 010 101”が検出され、かつ次の３チャネルビットが“010”である場合、最小ラン連続制限パターン検出フラグ12onが出力される。
【０１１５】
なお、ステップS305，S306の処理は、実際には平行して実行される。
【０１１６】
ステップS307において、チャネルビット列変換部55はチャネルビット列変換処理を実行する。このチャネルビット列変換処理の詳細は図13のフローチャートを参照して後述するが、これにより、最小ラン連続制限パターン検出フラグ15および最小ラン連続制限パターン検出フラグ12がonである場合における処理が実行される。また、ここにおいて、不確定符号の変換処理も実行される。
【０１１７】
ステップS308において、同期パターン挿入部23はチャネルビット列変換部55より出力されたチャネルビット列に対して同期パターンを挿入する。ステップS309において、NRZI化部24は、同期パターン挿入部23により同期パターンが挿入されたチャネルビット列に対して、NRZI化処理を実行する。ステップS310において記録部12は、NRZI化部24によりNRZI化された記録符号列を記録媒体13に記録する。
【０１１８】
次に、図６のフローチャートを参照して、図５のステップS303における変換パターン検出処理の詳細について説明する。
【０１１９】
ステップS331において、変換パターン検出部71は、シフトレジスタ42より入力されたデータ列がデータパターン（00001000），（00000000）と一致するかを判定する。入力されたデータ列がこの２つのデータパターンのいずれかと一致する場合には、ステップS332において変換パターン検出部71は、８データ／12チャネルビットの変換データ決定情報を出力する。この決定情報は、変換テーブル72A乃至72Dと変換パターン決定部52に供給される。ステップS333において変換テーブル72Dは、８データを12チャネルビットに変換する処理を実行する。すなわち、データ（00001000）は符号列“000 100 100 100”に変換され、データ（00000000）は符号列“010 100 100 100”に変換される。ステップS332で出力された決定情報は後述する図10のステップS451で利用され、ステップS333で変換された符号列は図10のステップS452で選択、出力される。
【０１２０】
ステップS331において、入力されたデータがデータパターン（00001000），（00000000）と一致しないと判定された場合、ステップS334において変換パターン検出部71は、入力されたデータがデータパターン（000011），（000010），（000001），（000000）と一致するかを判定する。入力されたデータがこのいずれかのデータパターンと一致する場合には、ステップS335において変換パターン検出部71は、６データ／９チャネルビットの変換データ決定情報を出力する。この決定情報は、変換テーブル72A乃至72Dと変換パターン決定部52に供給される。ステップS336において変換テーブル72Cは、６データを９チャネルビットに変換する処理を実行する。具体的には、データ（000011），（000010），（000001），（000000）は、それぞれ符号列“000 100 100”，“000 100 000”，“010 100 100”，“010 100 000”に変換される。ステップS335で出力された決定情報は図10のステップS453で利用され、ステップS336で変換された符号列は図10のステップS454で選択、出力される。
【０１２１】
ステップS334において、入力されたデータ列がデータパターン（000011），（000010），（000001），（000000）のいずれとも一致しないと判定された場合、ステップS337において変換パターン検出部71は、入力されたデータがデータパターン（0011），（0010），（0001）と一致するかを判定する。入力されたデータがこのいずれかのデータパターンと一致する場合には、ステップS338において変換パターン検出部71は、４データ／６チャネルビットの変換データ決定情報を出力する。この決定情報は、変換テーブル72A乃至72Dと変換パターン決定部52に出力される。ステップS339において変換テーブル72Bは、４データを６チャネルビットに変換する。具体的には、データ（0011），（0010），（0001）は、それぞれ符号列“010 100”，“010 000”，“000 100”に変換される。ステップS338で出力された決定情報は図10のステップS455で利用され、ステップS339で変換された符号列は図10のステップS456で選択、出力される。
【０１２２】
ステップS337において、入力されたデータがデータパターン（0011），（0010），（0001）のいずれとも一致しないと判定された場合、ステップS340において変換パターン検出部71は、入力されたデータがデータパターン（11），（10），（01）と一致するかを判定する。入力されたデータがこのいずれかのデータパターンと一致する場合には、ステップS341において変換パターン検出部71は、２データ／３チャネルビットの変換データ決定情報を出力する。この決定情報は、変換テーブル72A乃至72Dと変換パターン決定部52に出力される。この決定情報は、図10のステップS458で利用される。
【０１２３】
ステップS342において、変換パターン検出部71は、さらに２データはデータパターン（11）と一致するかを判定する。入力されたデータがデータパターン（11）と一致する場合には、ステップS343において変換パターン検出部71は、不確定パターン識別情報を出力する。この情報は、図７のステップS362で利用される。ステップS342において２データがデータパターン（11）と一致しないと判定された場合、ステップS343の不確定パターン識別情報を出力する処理はスキップされる。
【０１２４】
ステップS342において、２データがデータパターン（11）と一致しないと判定された場合、並びにステップS343の処理の後、ステップS344において、２データ／３チャネルビット処理が実行される。この２データ／３チャネルビット処理の詳細は、図７のフローチャートに示されている。
【０１２５】
図７のフローチャートに示されるように、２データ／３チャネルビット処理においては、ステップS361において、変換テーブル72Aが２データを３チャネルビットに変換して出力する。具体的には、データ（11）は、符号列“*0*”に変換され、データ（10）は符号列“001”に変換され、データ（01）は符号列“010”に変換される。これらの符号列はセレクタ73に供給される。
【０１２６】
ステップS362において、セレクタ73は、図６のステップS343で出力された不確定パターン識別情報を取得したかを判定する。この情報は、図６のステップS343で出力されたものである。不確定パターン識別情報が取得されていない場合には、ステップS363においてセレクタ73は、ステップS361の処理で変換テーブル72Aより供給された３チャネルビット（“001”，“010”）を選択し、変換パターン決定部52に出力する。この符号列は、図10のステップS460で選択、出力される。これに対して、不確定パターン識別情報が取得されている場合には、ステップS364においてセレクタ73は、ステップS361の処理で変換テーブル72Aより入力された３チャネルビット（“*0*”）を選択し、不確定ビット決定部74に出力する。
【０１２７】
ステップS365において、不確定ビット決定部74は、直前符号検出部61より供給される直前符号フラグはonかを判定する。後述する図８の処理で生成される直前符号フラグがonである場合（直前の符号語列の１チャネルビットが“１”である場合）には、ステップS366において不確定ビット決定部74は、符号列“*0*”を変換した符号列として符号列“000”を出力する。これに対して、直前符号フラグがonではない（offである）と判定された場合（直前の符号語列の１チャネルビットが“０”である場合）、ステップS367において不確定ビット決定部74は、符号列“*0*”の不確定符号を変換した符号列として符号列“101”を出力する。ステップS366，S367で出力された符号列は、図10のステップS459で選択、出力される。
【０１２８】
直前符号検出部61による直前符号検出処理は、図８のフローチャートに示されるように実行される。
【０１２９】
すなわち、ステップS391において直前符号検出部61は、次の変換処理の直前の符号語列の１チャネルビットは“１”かを変換パターン決定部52により決定された符号列から判定する。直前の符号語列の１チャネルビットが“１”である場合には、ステップS392において直前符号検出部61は、直前符号フラグonを出力する。これに対して、次の変換処理の直前の符号語列の１チャネルビットが“１”ではないと判定された場合（“０”であると判定された場合）、ステップS393において直前符号検出部61は、直前符号フラグoffを出力する。直前符号検出部61により出力された直前符号フラグは、不確定ビット決定部74とチャネルビット列変換部55に供給される。
【０１３０】
直前符号フラグは、上述した図７のステップS365で利用される他、後述する図13のステップS535で利用される。
【０１３１】
以上の直前符号検出部61の処理と同様に、直前符号語検出部62は図９のフローチャートに示される直前符号語検出処理を実行し、直前符号語フラグを出力する。
【０１３２】
すなわち、ステップS411において直前符号語検出部62は、次の変換処理の直前の符号語列の３チャネルビットは“010”かを判定する。変換パターン決定部52が決定した符号語列の３チャネルビットが“010”である場合には、ステップS412において、直前符号語検出部62は直前符号語フラグonを出力する。次の変換処理の直前の符号語列の３チャネルビットが“010”ではないと判定された場合（“101”，“000”，または“001”であると判定された場合）、ステップS413において、直前符号語検出部62は直前符号語フラグoffを出力する。この直前符号語フラグは、チャネルビット列変換部55に供給される。
【０１３３】
直前符号語フラグは、後述する図13のステップS536で利用される。
【０１３４】
次に、図10のフローチャートを参照して、図５のステップS304における変換パターン決定処理について説明する。
【０１３５】
ステップS451において、変換パターン決定部52は、８データ／12チャネルビットの変換データ決定情報を受信したかを判定する。この決定情報は、図６のステップS332において出力されたものである。８データ／12チャネルビットの変換データ決定情報を受信している場合には、ステップS452において変換パターン決定部52は、８データ／12チャネルビットの変換出力を選択、出力する。すなわち、図６のステップS333において出力された８データを12チャネルビットに変換した出力がここで選択されることになる。
【０１３６】
ステップS451において、８データ／12チャネルビットの変換データ決定情報を受信していないと判定された場合、ステップS453において変換パターン決定部52は、６データ／９チャネルビットの変換データ決定情報を受信したかを判定する。この決定情報は、図６のステップS335において出力されたものである。６データ／９チャネルビットの変換データ決定情報を受信した場合には、ステップS454において変換パターン決定部52は、６データ／９チャネルビットの変換出力を選択、出力する。この６データ／９チャネルビットの変換出力は、図６のステップS336の処理で生成されたものである。
【０１３７】
ステップS453において、６データ／９チャネルビットの変換データ決定情報を受信していないと判定された場合、ステップS455において変換パターン決定部52は、４データ／６チャネルビットの変換データ決定情報を受信したかを判定する。この決定情報は、図６のステップS338において出力されたものである。４データ／６チャネルビットの変換データ決定情報を受信した場合には、ステップS456において変換パターン決定部52は、４データ／６チャネルビットの変換出力を選択、出力する。すなわち、図６のステップS339において変換された４データを６チャネルビットに変換された出力がここで選択される。
【０１３８】
ステップS455において、４データ／６チャネルビットの変換データ決定情報を受信してないと判定された場合、ステップS457において変換パターン決定部52は、２データ／３チャネルビットの変換データ決定情報を受信したかを判定する。この決定情報は、図６のステップS341において出力されたものである。
【０１３９】
２データ／３チャネルビットの変換データ決定情報を受信している場合には、ステップS458において変換パターン決定部52は、さらにその２データ／３チャネルビットの変換データ決定情報はデータ（11）の変換データ決定情報かを判定する。この決定情報がデータ（11）の変換データ決定情報である場合には、ステップS460において変換パターン決定部52は、不確定ビット決定部74の３チャネルビットを選択、出力する。すなわち、データがデータパターン（11）と一致する場合には不確定符号を含む符号列が使用されているため、その変換符号列は不確定ビット決定部74より出力されている。そこで、図７のステップS366，S367の処理で不確定ビット決定部74より出力された符号列がここで選択、出力される。
【０１４０】
これに対して、決定情報がデータ（11）の変換データ決定情報ではないと判定された場合、ステップS459において変換パターン決定部52は、セレクタ73が出力した３チャネルビットを選択、出力する。すなわち、データがデータパターン（11）と一致しない場合には不確定符号は含まれていないため、セレクタ73が変換パターン決定部52に図７のステップS363で直接出力した符号列が選択、出力される。
【０１４１】
次に、図11のフローチャートを参照して、図５のステップS305における予想処理の詳細について説明する。
【０１４２】
ステップS481において、最小ラン連続制限対象パターン検出予想部111は、変換パターン決定部52により決定された符号列が“xxx xxx 101 010 101”かを判定する。符号パターン“xxx xxx 101 010 101”は、最小ランの連続を制限すべき対象のパターンであるところの最小ラン連続制限対象パターンである。符号列が“xxx xxx 101 010 101”である場合には、ステップS482において最小ラン連続制限対象パターン検出予想部111は、次のチャネルビット（符号列）は“010”かを判定する。次のチャネルビットが“010”である場合にはステップS483において、最小ラン連続制限対象パターン検出予想部111は予想フラグonを出力する。
【０１４３】
これに対して、ステップS481において、符号列が“xxx xxx 101 010 101”ではないと判定された場合、並びにステップS482において次のチャネルビットが“010”ではないと判定された場合（“000”，“001”，または“101”であると判定された場合）、ステップS484において最小ラン連続制限対象パターン検出予想部111は、予想フラグoffを出力する。
【０１４４】
この予想フラグは、後述する図13のステップS532において利用される。
【０１４５】
図５のステップS306における最小ラン連続制限対象パターン検出処理の詳細について、図12のフローチャートを参照して説明する。
【０１４６】
ステップS501において、最小ラン連続制限対象パターン検出部112は、最小ラン連続制限データ検出フラグをoffする。すなわち、最小ラン連続制限データ検出フラグ（10data）と最小ラン連続制限データ検出フラグ（6data）がoffに初期設定とされる。ステップS502において、最小ラン連続制限対象パターン検出部112は、変換パターン決定部52により決定された符号列が“001 010 101 010 101”かを判定する。符号パターン“001 010 101 010 101”は、最小ランの連続を制限すべき対象のパターンであるところの最小ラン連続制限対象パターンである。符号列が“001 010 101 010 101”である場合には、ステップS503において最小ラン連続制限対象パターン検出部112は、最小ラン連続制限パターン検出フラグ15onを出力する。このフラグは、後述する図13のステップS531において利用される。
【０１４７】
ステップS502において決定された符号列が“001 010 101 010 101”ではないと判定された場合、ステップS504において最小ラン連続制限対象パターン検出部112は、 符号列が“101 010 101”かを判定する。符号パターン“101 010 101”も、最小ランの連続を制限すべき対象のパターンであるところの最小ラン連続制限対象パターンである。符号列が“101 010 101”である場合には、ステップS505において最小ラン連続制限対象パターン検出部112は、次の３チャネルビットは“010”かを判定する。次の３チャネルビットが“010”である場合には、ステップS507において最小ラン連続制限対象パターン検出部112は、最小ラン連続制限パターン検出フラグ12onを出力する。このフラグは、図13のステップS541において利用される。
【０１４８】
ステップS504において、符号列が“101 010 101”ではないと判定された場合、並びにステップS505において次の３チャネルビットは“010”ではないと判定された場合（“101”，“000”，“001”であると判定された場合）、ステップS506において最小ラン連続制限対象パターン検出部112は、最小ラン連続制限パターン検出フラグoffを出力する。この最小ラン連続制限パターン検出フラグoffは、最小ラン連続制限パターン検出フラグ15のoffであることを意味するとともに、最小ラン連続制限パターン検出フラグ12のoffであることも意味する。
【０１４９】
次に、図13のフローチャートを参照して、図５のステップS307におけるチャネルビット列変換処理の詳細について説明する。
【０１５０】
ステップS531において、チャネルビット列変換部55は、最小ラン連続制限パターン検出フラグ15がonかを判定する。このフラグは、図12のステップS503，S506において出力されたものである。ステップS531において最小ラン連続制限パターン検出フラグ15がonであると判定された場合、ステップS532においてチャネルビット列変換部55は、予想フラグがoffかを判定する。この予想フラグは、図11のステップS483，S484において出力されたものである。予想フラグがoffである場合（符号列が“xxx xxx 101 010 101”ではないか、そうであったとしても次のチャネルビットが“010”ではない場合）には、ステップS534においてチャネルビット列変換部55は、符号列“001 010 101 010 101”を“$0$ 010 000 000 101”に変換する。
【０１５１】
そして、さらにステップS535において、チャネルビット列変換部55は直前符号フラグはonかを判定する。この直前符号フラグは、図８のステップS392，S393において出力されたものである。直前符号フラグがonである場合（直前の符号語列の１チャネルビットが“１”である場合）には、ステップS539においてチャネルビット列変換部55は、ステップS534で変換した符号列に含まれる不確定符号語“$0$”を“000”に設定する。ステップS540においてチャネルビット列変換部55は、符号列“000 010 000 000 101”を出力する。
【０１５２】
ステップS535において、直前符号フラグがonではない（offである）と判定された場合（直前の符号語列の１チャネルビットが“０”である場合）、ステップS536においてチャネルビット列変換部55は、直前符号語フラグがonかを判定する。この直前符号語フラグは、図９のステップS412，S413で出力されたものである。直前符号語フラグがonである場合（直前の符号語列の３チャネルビットが“010”である場合）には、直前符号フラグがonである場合と同様に、ステップS539，S540の処理が実行される。
【０１５３】
これに対して、直前符号語フラグがonではない（offである）と判定された場合（直前の符号語列の３チャネルビットが“010”ではない場合）、ステップS537においてチャネルビット列変換部55は、ステップS534で変換した不確定符号語“$0$”を“101”に変換する。そして、ステップS538においてチャネルビット列変換部55は符号列“101 010 000 000 101”を出力する。
【０１５４】
ステップS531において、最小ラン連続制限パターン検出フラグ15がonではない（offである）と判定された場合（符号列は“001 010 101 010 101”ではない場合）、ステップS541においてチャネルビット列変換部55は、最小ラン連続制限パターン検出フラグ12がonかを判定する。この検出フラグは、図12のステップS506，S507で出力されたものである。最小ラン連続制限パターン検出フラグ12がonである場合（符号列は“101 010 101”であり、かつ、次の３チャネルビットが“010”である場合）には、ステップS542においてチャネルビット列変換部55は、符号列“101 010 101”を符号列“001 000 000”に変換する。そして、ステップS543において、チャネルビット列変換部55は、ステップS542で変換した符号列“001 000 000”を出力する。
【０１５５】
ステップS532において、予想フラグがoffではない（onである）と判定された場合（符号列は“xxx xxx 101 010 101”であり、かつ、次のチャネルビットが“010”である場合）、並びにステップS541において最小ラン連続制限パターン検出フラグ12がonではない（offである）と判定された場合（符号が“101 010 101”ではないか、そうであったとしても次のチャネルビットが“010”ではない場合）、ステップS533においてチャネルビット列変換部55は、入力されたチャネルビット列をそのまま出力する処理を実行する。
【０１５６】
以上の処理における変換データ処理部51の処理をさらに説明すると、図14に示されるようになる。
【０１５７】
すなわち、入力されたデータがデータパターン（00001000），（00000000）のいずれかと一致する場合には、この８データが変換テーブル72Dにより12チャネルビットに変換され、変換パターン決定部52に出力される。入力された８データがこのパターンと一致しない場合には、データパターン（000011），（000010），（000001），（000000）のいずれかと一致するかが判定され、いずれかのパターンと一致する場合には、６データは変換テーブル72Cにより９チャネルビットに変換され、変換パターン決定部52に出力される。
【０１５８】
入力データが６データからなる変換パターンに一致しない場合には、４データのデータパターン（0011），（0010），（0001）のいずれかと一致するかが判定され、一致する場合には４データは変換テーブル72Bにより６チャネルビットに変換され、変換パターン決定部52に出力される。一致しない場合には、さらに２データのデータパターン（11），（10），（01）のいずれかと一致するかが判定され、一致する場合には２データは変換テーブル72Aにより３チャネルビットに変換され、変換パターン決定部52に出力される。
【０１５９】
さらに、最小ラン連続制限対象処理部53の処理を説明すると、図15に示されるようになる。
【０１６０】
すなわち、変換パターン決定部52より出力されたチャネルビット列が“xxx xxx 101 010 101”である場合には、さらに次の３チャネルビットが“010”であるかが判定される。次の３チャネルビットが“010”である場合には、最小ラン連続制限対象パターン検出予想部111は予想フラグonを出力し、一致しない場合には予想フラグoffを出力する。
【０１６１】
また、最小ラン連続制限対象パターン検出部112は、15チャネルビットが符号パターン“001 010 101 010 101”と一致するかを判定し、一致する場合には、最小ラン連続制限パターン検出フラグ15onを出力する。この時、チャネルビット列変換部55は、予想フラグがonである場合にはチャネルビット列を変換せずにそのまま出力し、予想フラグがoffである場合にはチャネルビット列“001 010 101 010 101”を“$0$ 010 000 000 101”に変換する。
【０１６２】
15チャネルビットが“001 010 101 010 101”でない場合には、最小ラン連続制限対象パターン検出部112は、９チャネルビットが“101 010 101”であるかを判定する。９チャネルビットが“101 010 101”である場合には、さらに次の３チャネルビットが“010”であるかが判定され、そうである場合には最小ラン連続制限パターン検出フラグ12onが出力される。この場合、チャネルビット列“101 010 101”が“001 000 000”に変換される。これに対して、次の３チャネルビットが“010”でない場合には、最小ラン連続制限パターン検出フラグはoffとされ、チャネルビット列は変換されないことになる。
【０１６３】
以上の様にして、基本構成を 1,7PP符号と同様とし、すなわち、最小ランｄ＝１と最大ランｋ＝７、および変換率(m:n)=(2:3)であり、データ列内の所定の位置に１ビットの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
………
【０１６７】
表３はさらに、システムの要求にもとづいて、以下のようにすることもできる。例えば、最大ランｋ＝８を許容できる場合、表３において最大ランｋ＝７を実現する置換パターンである、拘束長ｉ＝４の変換パターンを省略することができる。すなわち、拘束長ｉ＝４の変換パターンが省略された表３は、基礎パターンのｉ＝１からｉ＝３までによって、最小ランｄ＝１、最大ランｋ＝８のRLL符号を実現し、さらにｉ＝３及びｉ＝５の最小ランの連続を制限する置換パターンによって、最小ランの連続が最大でも５回までに制限された符号語列を発生することができる。
【０１６８】
そして、DSV制御の性能に対して許容できる場合は、例えば表３において、拘束長i＝４の部分だけを他の部分と偶奇性が反対となるように構成するなどして、偶奇性の規則が部分的に他の部分と異なるテーブルとすることもできる。
【０１６９】
この他、各テーブルの全てのパターンにおいて、データパターンの「１」の個数と、符号パターンの「１」の個数が、それぞれ２で割った時の余りが一致していないように選ぶことができる。ただし、その場合は、そのことを全てのパターンで統一して行う必要がある。
【０１７０】
これらのテーブルはいずれも、本発明にもとづいた変調装置によって、同様にして実現することができる。
【０１７１】
図１の変調装置１においては、DSV制御ビット決定挿入部21によりDSV制御ビットとして１または０のうち最適なものを決定し、付加するようにしたが、０を付加したデータ列と１を付加したデータ列の両方を用意し、それぞれを処理し、最後の段階でいずれか一方を選ぶようにすることも可能である。図16は、この場合の変調装置の構成例を表している。
【０１７２】
すなわち、図16の変調装置１の符号化装置11は、DSV制御ビット決定挿入部21に換えて、DSV制御ビット挿入部201が配置されている。また、NRZI化部24の後段に（記録部12の前段に）DSV制御部202が挿入されている。その他の構成は、図１と図３に示される場合と同様である。
【０１７３】
すなわち、図16の変調装置１においては、DSV制御ビット挿入部201において、入力データ列（図17A）に対して、DSV制御ビットとして０を挿入したデータ列（図17B0）と１を挿入したデータ列（図17B1）の両方が生成される。そして、それぞれが変調部22に供給され、チャネルビット列に変換される（図17C0，C1）。同期パターン挿入部23は、変調部22より入力された２系列のチャネルビット列に対してそれぞれ同期パターンを挿入し、２系列のチャネルビット列を出力する。NRZI化部24は、２系列のチャネルビット列をそれぞれNRZI化し、DSV制御部202に出力する。DSV制御部202は、２系列のチャネルビット列のいずれか最適な方を各スパン（DSV区間）毎に選び、１つのチャネルビット列を記録部12に供給する。記録部12は、最終的にDSV制御部202により選択されたチャネルビット列を記録媒体13に記録する。
【０１７４】
以上の様にして、基本構成を1,7PP符号と同様とし、すなわち、最小ランｄ＝１と最大ランｋ＝７、および変換率(m:n)=(2:3)であり、データ列内の所定の位置に１ビットのDSV制御ビットを挿入することで効率良くDSV制御を行い、さらに、最小ランの連続する回数を５回までに制限してエラー伝播特性を改善する変調テーブルと変調装置を実現することができる。
【０１７５】
1,7PP符号は、最小ランｄ＝１、最大ランｋ＝７、変換率(m:n)=(2:3)の変調テーブルにおいて、最小ラン長の繰り返し回数を制限する置換パターンを設けるようにしたので、
（１）高線密度での記録再生、およびタンジェンシャル・チルトに対する許容度が向上する。
（２）信号レベルが小さい部分が減少し、AGC（Auto Gain Control）やPLL（Phase-Locked Loop）等の波形処理の精度が向上し、総合特性を高めることができる。
（３）従来と比較して、ビタビ復号等の際のパスメモリ長を短く設計することができ、回路規模を小さくすることができる。
また、変調テーブルの変換パターンを構成するデータ列の要素の「１」の個数と、符号語列の要素の「１」の個数を、２で割った時の余りが、どちらも１あるいは０で一致するようにしたので、
（４）DSVの制御のための冗長ビットを少なくすることができる。
（５）最小ランｄ＝１かつ(m,n)=(2,3)においては、1.5符号語でDSV制御を行うことができる。
（６）冗長度が少ない上に、最小ランと最大ランを守ることができる。さらに表３のテーブルは、表２の1,7PP符号と較べて、最小ランの連続回数制限を６回から５回へと少なくしたので、データ記録再生時のエラー伝播を、より少なくすることができる。
【０１７６】
上述したように、データ再生誤りのパターンとしては、連続する最小マークの先頭のエッジから最後のエッジまでが、一斉にシフトして誤るという場合がある。即ち発生するビットエラー長は、最小ランの連続する区間の、先頭から最後まで伝搬することになる。従ってエラー伝搬は長くなってしまうという問題が現れる。しかし、最小ランの連続を５回に制限することによって、このようなエラーの発生を少なくすることができ、より安定したデータの記録再生を実現することができる。
【０１７７】
本実施の形態のテーブルは、表２の1,7PP符号と較べ、基本パラメータは同様であり、またテーブルのコンパクトさも、ほぼ同様であるので、回路構成の容易さを同等にしたまま、上述した効果を実現することができる。
【０１７８】
図18は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。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に転送され、記憶される。
【０１８２】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【０１８３】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図18に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスク（MD（Mini-Disc）（登録商標）を含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア331、または、プログラムが一時的もしくは永続的に格納されるROM322や、記憶部328を構成するハードディスクなどにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部329を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１８４】
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１８５】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１８６】
【図１】本発明の実施の形態の変調装置の構成を示すブロック図である。
【図２】データフォーマットを説明する図である。
【図３】図１の変調装置のより詳細な構成を示すブロック図である。
【図４】図３の符号化装置のより詳細な構成を示すブロック図である。
【図５】図１の変調装置の記録処理を説明するフローチャートである。
【図６】図５のステップS303の変換パターン検出処理の詳細を説明するフローチャートである。
【図７】図６のステップS344の２データ／３チャネルビット処理の詳細を説明するフローチャートである。
【図８】直前符号検出処理を説明するフローチャートである。
【図９】直前符号語検出処理を説明するフローチャートである。
【図１０】図５のステップS304の変換パターン決定処理を説明するフローチャートである。
【図１１】図５のステップS305の予想処理を説明するフローチャートである。
【図１２】図５のステップS306の最小ラン連続制限対象パターン検出処理を説明するフローチャートである。
【図１３】図５のステップS307のチャネルビット列変換処理を説明するフローチャートである。
【図１４】図４の変換データ処理部の変換パターン検出処理を説明する図である。
【図１５】図４の最小ラン連続制限対象処理部の処理を説明する図である。
【図１６】本発明の他の実施の形態の変調装置の構成を示すブロック図である。
【図１７】図16の変調装置のデータフォーマットを説明する図である。
【図１８】パーソナルコンピュータの構成を示すブロック図である。
【符号の説明】
【０１８７】
１  変調装置，  11  符号化装置，  21  DSV制御ビット決定挿入部，  22  変調部，  23  同期パターン挿入部，  24  NRZI化部，  41  加算器，  51  変換データ処理部，  52  変換パターン決定部，  53  最小ラン連続制限対象処理部，  54  直前検出部，  55  チャネルビット列変換部,  61    直前符号検出部  62  直前符号語検出部，71  変換パターン検出部，  72A乃至72D  変換テーブル，  201  DSV制御ビット挿入部，  202  DSV制御部,  111  最小ラン連続制限対象パターン検出予想部,  112  最小ラン連続制限対象パターン検出部
【図１】
2007133979.tif 000003
【図２】
2007133979.tif 000004
【図３】
2007133979.tif 000005
【図４】
2007133979.tif 000006
【図５】
2007133979.tif 000007
【図６】
2007133979.tif 000008
【図７】
2007133979.tif 000009
【図８】
2007133979.tif 000010
【図９】
2007133979.tif 000011
【図１０】
2007133979.tif 000012
【図１１】
2007133979.tif 000013
【図１２】
2007133979.tif 000014
【図１３】
2007133979.tif 000015
【図１４】
2007133979.tif 000016
【図１５】
2007133979.tif 000017
【図１６】
2007133979.tif 000018
【図１７】
2007133979.tif 000019
【図１８】
2007133979.tif 000020