(57)【要約】【課題】０ランに関する複数の拘束条件を満足する高符号化率のＲＬＬ符号に対して用いることができること。【解決手段】情報語を示す複数の連続したビットである情報ビット列を符号語を示す複数の連続したビットである符号ビット列に符号化するＲＬＬ符号器２０７と符号ビット列を情報ビット列に復号化するＲＬＬ復号器２３７を有する記録再生装置２０であって、ＲＬＬ符号器２０７は、情報ビット列を０ランに関する複数の拘束条件を満足する高符号化率ＲＬＬ符号である符号ビット列に符号化し、ＲＬＬ復号器２３７は、ＲＬＬ符号器２０７によって符号化された符号ビット列を情報ビット列に復号化することとしたので、０ランに関する複数の拘束条件を満足する高符号化率のＲＬＬ符号に対して符号化、復号化ができる。【選択図】        図１
2005302154.tif 000002
【特許請求の範囲】
【請求項１】
情報語を示す複数の連続したビットである情報ビット列を符号語を示す複数の連続したビットである符号ビット列に符号化する符号器と該符号ビット列を該情報ビット列に復号化する復号器を有する記録再生装置であって、
前記符号器は、
前記情報ビット列を連続する０の列に関する複数の拘束条件を満足する高符号化率ランレングス限定符号である符号ビット列に符号化する符号化手段を備え、
前記復号器は、
前記符号化手段によって符号化された符号ビット列を前記情報ビット列に復号化する復号化手段とを備えたことを特徴とする記録再生装置。
【請求項２】
前記符号ビット列は、該符号ビットの先頭にあり、前記情報ビット列が前記拘束条件に違反しているビット列を含んでいたか否かを識別する１ビットのデータであるピボットと、前記拘束条件に違反しているビット列のアドレス情報を示すビット列であるアドレス列と、前記情報ビットから前記拘束条件に違反しているビット列を抜き取ったビット列であるデータ列とを有し、
前記アドレス列は、前記拘束条件に違反しているビット列の位置情報と、前記データ列のインターリーブ処理を行った回数であるマーカと、該アドレス列に続くビット列が他のアドレス列であるか、前記データ列であるかを識別するデリミタとを有し、
前記拘束条件に違反しているビット列と前記アドレス列とを置換処理する置換処理手段と、
前記データ列を複数のビット列に分割し、該複数のビット列から順番に１ビットづつビットを取り出して、取り出したビットを１ビットづつ順番に並べて新たに生成したビット列と該データ列とを交換するインターリーブ処理を行うインターリーブ処理手段と、
をさらに備え、
前記符号化手段は、前記置換処理手段による置換処理と前記インターリーブ処理手段によるインターリーブ処理とを複数回交互に行って、前記情報ビット列を前記複数の拘束条件を満足する符号ビット列に符号化することを特徴とする請求項１に記載の記録再生装置。
【請求項３】
前記符号化手段は、前記情報ビット列を用いて、該情報ビット列の内の連続する０の最大ビット数を限定するＧ拘束条件と、該情報ビット列の所定の数のビット毎の連続する０の最大ビット数を限定するＸ拘束条件とを同時に満足する符号ビット列に符号化することを特徴とする請求項１または２に記載の記録再生装置。
【請求項４】
前記情報ビット列の前記Ｇ拘束条件に違反しているビット列から前記最大ビット数のビット列を抜き取って、抜き取ったビット列を前記アドレス列に置換処理する第１の置換処理手段をさらに備え、
前記符号化手段は、前記第１の置換処理手段によって前記情報ビット列を、前記Ｇ拘束条件を満足する符号ビット列に符号化することを特徴とする請求項１、２または３に記載の記録再生装置。
【請求項５】
前記データ列から前記Ｘ拘束条件に違反するおそれのある右端の０のビット列を含む右端の前記最大ビット数のビット列を抜き取って、抜き取ったビット列を該ビット列の特定のビット列を残した前記アドレス列に置き換える右端処理を行う第１の右端処理手段をさらに備え、
前記符号化手段は、前記第１の右端処理手段によって前記情報ビット列を、前記Ｘ拘束条件を満足する符号ビット列に符号化することを特徴とする請求項１〜４のいずれか一つに記載の記録再生装置。
【請求項６】
前記データ列から前記Ｘ拘束条件に違反するおそれのある左端の０のビット列を含む左端の前記最大ビット数のビット列を抜き取って、抜き取ったビット列を該ビット列の特定のビット列を残した前記アドレス列に置き換える左端処理を行う左端処理手段をさらに備え、
前記符号化手段は、前記左端処理手段によって前記情報ビット列を、前記Ｘ拘束条件を満足する符号ビット列に符号化することを特徴とする請求項１〜５のいずれか一つに記載の記録再生装置。
【請求項７】
前記データ列を前記所定の数に等分割し、等分割したデータ列間の境界のそれぞれで前記Ｘ拘束条件に違反するおそれのある０のビット列を含む前記最大ビット数のビット列を抜き取って、抜き取ったビット列を該ビット列の特定のビット列を残した前記アドレス列に置き換える中間処理を行う中間処理手段と、
前記中間処理手段によって中間処理された前記所定の数に等分割したデータ列のそれぞれから順次１ビットづつビットを取り出して、取り出したビットを１ビットづつ順次並べて新たに生成したビット列と該データ列とを交換するインターリーブ処理を行うインターリーブ処理手段と、
をさらに備え、
前記符号化手段は、前記中間処理手段と前記インターリーブ手段によって前記情報ビット列を、前記Ｘ拘束条件を満足する符号ビット列に符号化することを特徴とする請求項１〜６のいずれか一つに記載の記録再生装置。
【請求項８】
前記データ列の前記Ｇ拘束条件に違反しているビット列から前記最大ビット数のビット列を抜き取って、抜き取ったビット列を該ビット列の前記アドレス列に置換処理する第２の置換処理手段を備え、
前記符号化手段は、前記第２の置換処理手段によって前記情報ビット列を前記Ｇ拘束条件と前記Ｘ拘束条件とを同時に満足する符号ビット列に符号化することを特徴とする請求項１〜７のいずれか一つに記載の記録再生装置。
【請求項９】
前記データ列の前記Ｇ拘束条件に違反をするおそれのある右端の０のビット列を含む前記最大ビット数のビット列を抜き取って、抜き取ったビット列を該ビット列の特定のビット列を残した前記アドレス列に置き換える右端処理を行う第２の右端処理手段をさらに備え、
前記符号化手段は、前記第２の右端処理手段によって前記符号ビット列間において前記Ｇ拘束条件と前記Ｘ拘束条件とを同時に満足する高符号化率の符号ビット列に符号化することを特徴とする請求項１〜８のいずれか一つに記載の記録再生装置。
【請求項１０】
前記第２の右端処理手段は、前記データ列が前記最大ビット数未満であり、該データ列が前記Ｇ拘束条件に違反するおそれがある場合、該データ列の左隣の前記アドレス列のデリミタの値を変えて、該データ列を該データ列の特定のビット列を残した前記データ列に置き換える右端処理を行うことを特徴とする請求項１〜９のいずれか一つに記載の記録再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、記録再生装置に関し、特に連続する０の列（以下においては「０ラン」という。）に関する複数の拘束条件を満足する高符号化率のランレングス限定符号に対して用いることができる記録再生装置に関するものである。
【背景技術】
【０００２】
従来から、情報ビット列を符号ビット列に符号化する符号器と符号ビット列を情報ビット列に復号化する復号器を有する記録再生装置は、磁気ディスク、光ディスク、光磁気ディスクなどの記録再生装置として広く用いられている。かかる記録再生装置では、データを記録する場合は、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）符号化の後にランレングス限定（以下においては、「ＲＬＬ（Ｒｕｎ  Ｌｅｎｇｔｈ  Ｌｉｍｉｔｔｅｄ）」という。）符号化を行い、データを再生する場合は、ＲＬＬ復号化の後にＥＣＣ復号化を行っていたが、このようなコンフィギュレーションでは、ＲＬＬ復号化の際にエラーが伝播しやすく、ＥＣＣ復号化での誤り訂正の限界を超えてしまう。例えば、特許文献１では、データを記録する場合は、ＥＣＣ符号化の後にＲＬＬ符号化を行い、データを再生する場合は、ＲＬＬ復号化の後にＥＣＣ復号化を行う記録再生装置の従来技術が開示されている。
【０００３】
これに対して、パーミュテーション法では、ＲＬＬ符号化とＥＣＣ符号化、ＲＬＬ復号化とＥＣＣ復号化の順番を逆にして、ＥＣＣ復号化で誤り訂正を行った後でＲＬＬ復号化を行うので、高符号化率ＲＬＬ符号が適用でき、ＳＮ比が改善できる。また、パーミュテーション法において高符号化率ＲＬＬ符号を用いるために、計算量が少なく、回路規模が小さい置換法を適用することが期待されている。例えば、非特許文献１では、置換法についての従来技術が開示されている。
【０００４】
【特許文献１】特開２００３−６８０２４号公報
【非特許文献１】Ａ．Ｊ．  ｖａｎ  Ｗｉｊｉｎｇａａｒｄｅｎ  ａｎｄ  Ｋ．Ａ．  Ｓｃｈｏｕｈａｍｅｒ  Ｉｍｍｉｎｋ、“Ｃｏｎｓｔｒｕｃｔｉｏｎ  ｏｆ  Ｃｏｎｓｔｒａｉｎｅｄ  Ｃｏｄｅｓ  ｅｍｐｌｏｙｉｎｇ  Ｓｅｑｕｅｎｃｅ  Ｒｅｐｌａｃｅｍｅｎｔ  Ｔｅｃｈｎｉｑｕｅｓ”、Ｐｒｏｃ．  ＩＥＥＥ  ＩＳＩＴ９７、Ｕｌｍ，Ｇｅｒｍａｎｙ．  ｐｐ．  １４４、  Ｊｕｎｅ  ２９、１９９７
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の置換法は、連続する０の最大ビット数を限定するＧ拘束条件を満足しているが、２ビット毎の連続する０の最大ビット数を限定するＩ拘束条件を満足しない。また、符号ビット列間の処理に対してもＧ拘束条件を満足しているが、Ｉ拘束条件を満足していないという課題があった。
【０００６】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、０ランに関する複数の拘束条件を満足する高符号化率のＲＬＬ符号に対して用いることができる記録再生装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、請求項１の発明に係る記録再生装置は、  情報語を示す複数の連続したビットである情報ビット列を符号語を示す複数の連続したビットである符号ビット列に符号化する符号器と該符号ビット列を該情報ビット列に復号化する復号器を有する記録再生装置であって、前記符号器は、前記情報ビット列を連続する０の列に関する複数の拘束条件を満足する高符号化率ランレングス限定符号である符号ビット列に符号化する符号化手段を備え、前記復号器は、前記符号化手段によって符号化された符号ビット列を前記情報ビット列に復号化する復号化手段とを備えたことを特徴とする。
【０００８】
この請求項１の発明によれば、情報ビット列を連続する０の列に関する複数の拘束条件を満足する高符号化率ＲＬＬ符号である符号ビット列に符号化し、符号化された符号ビット列を情報ビット列に復号化することとしたので、０ランに関する複数の拘束条件を満足する高符号化率のＲＬＬ符号に対して符号化、復号化ができる。
【０００９】
また、請求項２の発明に係る記録再生装置は、請求項１の発明において、前記符号ビット列は、該符号ビットの先頭にあり、前記情報ビット列が前記拘束条件に違反しているビット列を含んでいたか否かを識別する１ビットのデータであるピボットと、前記拘束条件に違反しているビット列のアドレス情報を示すビット列であるアドレス列と、前記情報ビットから前記拘束条件に違反しているビット列を抜き取ったビット列であるデータ列とを有し、前記アドレス列は、前記拘束条件に違反しているビット列の位置情報と、前記データ列のインターリーブ処理を行った回数であるマーカと、該アドレス列に続くビット列が他のアドレス列であるか、前記データ列であるかを識別するデリミタとを有し、前記拘束条件に違反しているビット列と前記アドレス列とを置換処理する置換処理手段と、前記データ列を複数のビット列に分割し、該複数のビット列から順番に１ビットづつビットを取り出して、取り出したビットを１ビットづつ順番に並べて新たに生成したビット列と該データ列とを交換するインターリーブ処理を行うインターリーブ処理手段と、をさらに備え、前記符号化手段は、前記置換処理手段による置換処理と前記インターリーブ処理手段によるインターリーブ処理とを複数回交互に行って、前記情報ビット列を前記複数の拘束条件を満足する符号ビット列に符号化することを特徴とする。
【００１０】
この請求項２の発明によれば、符号ビット列は、符号ビットの先頭にあり、情報ビット列が拘束条件に違反しているビット列を含んでいたか否かを識別する１ビットのデータであるピボットと、拘束条件に違反しているビット列のアドレス情報を示すビット列であるアドレス列と、情報ビットから拘束条件に違反しているビット列を抜き取ったビット列であるデータ列とを有し、アドレス列は、拘束条件に違反しているビット列の位置情報と、データ列のインターリーブ処理を行った回数であるマーカと、アドレス列に続くビット列が他のアドレス列であるか、データ列であるかを識別するデリミタとを有し、拘束条件に違反しているビット列とアドレス列とを置換処理し、データ列を複数のビット列に分割し、複数のビット列から順番に１ビットづつビットを取り出して、取り出したビットを１ビットづつ順番に並べて新たに生成したビット列とデータ列とを交換するインターリーブ処理を行い、置換処理とインターリーブ処理を複数回交互に行って、情報ビット列を複数の拘束条件を満足する符号ビット列に符号化することとしたので、０ランに関する複数の拘束条件を満足する高符号化率のＲＬＬ符号に対して用いることができる。
【００１１】
また、請求項３の発明に係る記録再生装置は、請求項１または２の発明において、前記符号化手段は、前記情報ビット列を用いて、該情報ビット列の内の連続する０の最大ビット数を限定するＧ拘束条件と、該情報ビット列の所定の数のビット毎の連続する０の最大ビット数を限定するＸ拘束条件とを同時に満足する符号ビット列に符号化することを特徴とする。
【００１２】
この請求項３の発明によれば、情報ビット列を用いて、情報ビット列の内の連続する０の最大ビット数を限定するＧ拘束条件と、情報ビット列の所定の数のビット毎の連続する０の最大ビット数を限定するＸ拘束条件とを同時に満足する符号ビット列に符号化することとしたので、Ｇ拘束条件とＸ拘束条件を満足する高符号化率のＲＬＬ符号に対して用いることができる。
【００１３】
また、請求項４の発明に係る記録再生装置は、請求項１、２または３の発明において、前記情報ビット列の内の前記Ｇ拘束条件に違反しているビット列から前記最大ビット数のビット列を抜き取って、抜き取ったビット列を前記アドレス列に置換処理する第１の置換処理手段をさらに備え、前記符号化手段は、前記第１の置換処理手段によって前記情報ビット列を、前記Ｇ拘束条件を満足する符号ビット列に符号化することを特徴とする。
【００１４】
この請求項４の発明によれば、情報ビット列のＧ拘束条件に違反しているビット列から最大ビット数のビット列を抜き取って、抜き取ったビット列をアドレス列に置換処理することとしたので、情報ビット列を、Ｇ拘束条件を満足する符号ビット列に符号化することができる。
【００１５】
また、請求項５の発明に係る記録再生装置は、請求項１〜４のいずれか一つの発明において、前記データ列から前記Ｘ拘束条件に違反するおそれのある右端の０のビット列を含む右端の前記最大ビット数のビット列を抜き取って、抜き取ったビット列を該ビット列の特定のビット列を残した前記アドレス列に置き換える右端処理を行う第１の右端処理手段をさらに備え、前記符号化手段は、前記第１の右端処理手段によって前記情報ビット列を、前記Ｘ拘束条件を満足する符号ビット列に符号化することを特徴とする。
【００１６】
この請求項５の発明によれば、データ列からＸ拘束条件に違反するおそれのある右端の０のビット列を含む右端の最大ビット数のビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残したアドレス列に置き換える右端処理を行うこととしたので、情報ビット列を、Ｘ拘束条件を満足する符号ビット列に符号化することができる。
【００１７】
また、請求項６の発明に係る記録再生装置は、請求項１〜５のいずれか一つの発明において、前記データ列から前記Ｘ拘束条件に違反するおそれのある左端の０のビット列を含む左端の前記最大ビット数のビット列を抜き取って、抜き取ったビット列を該ビット列の特定のビット列を残した前記アドレス列に置き換える左端処理を行う左端処理手段をさらに備え、前記符号化手段は、前記左端処理手段によって前記情報ビット列を、前記Ｘ拘束条件を満足する符号ビット列に符号化することを特徴とする。
【００１８】
この請求項６の発明によれば、データ列からＸ拘束条件に違反するおそれのある左端の０のビット列を含む左端の最大ビット数のビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残したアドレス列に置き換える左端処理を行うこととしたので、情報ビット列を、Ｘ拘束条件を満足する符号ビット列に符号化することができる。
【００１９】
また、請求項７の発明に係る記録再生装置は、請求項１〜６のいずれか一つの発明において、前記データ列を前記所定の数に等分割し、等分割したデータ列間の境界のそれぞれで前記Ｘ拘束条件に違反するおそれのある０のビット列を含む前記最大ビット数のビット列を抜き取って、抜き取ったビット列を該ビット列の特定のビット列を残した前記アドレス列に置き換える中間処理を行う中間処理手段と、前記中間処理手段によって中間処理された前記所定の数に等分割したデータ列のそれぞれから順次１ビットづつビットを取り出して、取り出したビットを１ビットづつ順次並べて新たに生成したビット列と該データ列とを交換するインターリーブ処理を行うインターリーブ処理手段と、をさらに備え、前記符号化手段は、前記中間処理手段と前記インターリーブ手段によって前記情報ビット列を、前記Ｘ拘束条件を満足する符号ビット列に符号化することを特徴とする。
【００２０】
この請求項７の発明によれば、データ列を所定の数に等分割し、等分割したデータ列間の境界のそれぞれでＸ拘束条件に違反するおそれのある０のビット列を含む最大ビット数のビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残したアドレス列に置き換える中間処理を行い、中間処理された所定の数に等分割したデータ列のそれぞれから順次１ビットづつビットを取り出して、取り出したビットを１ビットづつ順次並べて新たに生成したビット列とデータ列とを交換するインターリーブ処理を行うこととしたので、情報ビット列を、Ｘ拘束条件を満足する符号ビット列に符号化することができる。
【００２１】
また、請求項８の発明に係る記録再生装置は、請求項１〜７のいずれか一つの発明において、前記データ列の前記Ｇ拘束条件に違反しているビット列から前記最大ビット数のビット列を抜き取って、抜き取ったビット列を該ビット列の前記アドレス列に置換処理する第２の置換処理手段を備え、前記符号化手段は、前記第２の置換処理手段によって前記情報ビット列を前記Ｇ拘束条件と前記Ｘ拘束条件とを同時に満足する符号ビット列に符号化することを特徴とする。
【００２２】
この請求項８の発明によれば、データ列のＧ拘束条件に違反しているビット列から最大ビット数のビット列を抜き取って、抜き取ったビット列をアドレス列に置換処理することとしたので、情報ビット列をＧ拘束条件とＸ拘束条件とを同時に満足する符号ビット列に符号化することができる。
【００２３】
また、請求項９の発明に係る記録再生装置は、請求項１〜８のいずれか一つの発明において、前記データ列の前記Ｇ拘束条件に違反をするおそれのある右端の０のビット列を含む前記最大ビット数のビット列を抜き取って、抜き取ったビット列を該ビット列の特定のビット列を残した前記アドレス列に置き換える右端処理を行う第２の右端処理手段をさらに備え、前記符号化手段は、前記第２の右端処理手段によって前記符号ビット列間において前記Ｇ拘束条件と前記Ｘ拘束条件とを同時に満足する高符号化率の符号ビット列に符号化することを特徴とする。
【００２４】
この請求項９の発明によれば、データ列のＧ拘束条件に違反をするおそれのある右端の０のビット列を含む最大ビット数のビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残したアドレス列に置き換える右端処理を行うこととしたので、符号ビット列間においてＧ拘束条件とＸ拘束条件とを同時に満足する高符号化率の符号ビット列に符号化することができる。
【００２５】
また、請求項１０の発明に係る記録再生装置は、請求項１〜９のいずれか一つの発明において、前記第２の右端処理手段は、前記データ列が前記最大ビット数未満であり、該データ列が前記Ｇ拘束条件に違反するおそれがある場合、該データ列の左隣の前記アドレス列のデリミタの値を変えて、該データ列を該データ列の特定のビット列を残した前記データ列に置き換える右端処理を行うことを特徴とする。
【００２６】
この請求項１０の発明によれば、データ列が最大ビット数未満であり、データ列がＧ拘束条件に違反するおそれがある場合、データ列の左隣のアドレス列のデリミタの値を変えて、データ列をデータ列の特定のビット列を残したデータ列に置き換える右端処理を行うこととしたので、情報ビット列のビット数が異なる場合にも、同じ拘束条件を満足する高符号化率の符号ビット列に符号化することができる。
【発明の効果】
【００２７】
請求項１の発明によれば、情報ビット列を連続する０の列に関する複数の拘束条件を満足する高符号化率ＲＬＬ符号である符号ビット列に符号化し、符号化された符号ビット列を情報ビット列に復号化するよう構成したので、０ランに関する複数の拘束条件を満足する高符号化率のＲＬＬ符号に対して符号化、復号化ができるという効果を奏する。
【００２８】
また、請求項２の発明によれば、符号ビット列は、符号ビットの先頭にあり、情報ビット列が拘束条件に違反しているビット列を含んでいたか否かを識別する１ビットのデータであるピボットと、拘束条件に違反しているビット列のアドレス情報を示すビット列であるアドレス列と、情報ビットから拘束条件に違反しているビット列を抜き取ったビット列であるデータ列とを有し、アドレス列は、拘束条件に違反しているビット列の位置情報と、データ列のインターリーブ処理を行った回数であるマーカと、アドレス列に続くビット列が他のアドレス列であるか、データ列であるかを識別するデリミタとを有し、拘束条件に違反しているビット列とアドレス列とを置換処理し、データ列を複数のビット列に分割し、複数のビット列から順番に１ビットづつビットを取り出して、取り出したビットを１ビットづつ順番に並べて新たに生成したビット列とデータ列とを交換するインターリーブ処理を行い、置換処理とインターリーブ処理を複数回交互に行って、情報ビット列を複数の拘束条件を満足する符号ビット列に符号化するよう構成したので、０ランに関する複数の拘束条件を満足する高符号化率のＲＬＬ符号に対して用いることができるという効果を奏する。
【００２９】
また、請求項３の発明によれば、情報ビット列を用いて、情報ビット列の内の連続する０の最大ビット数を限定するＧ拘束条件と、情報ビット列の所定の数のビット毎の連続する０の最大ビット数を限定するＸ拘束条件とを同時に満足する符号ビット列に符号化するよう構成したので、Ｇ拘束条件とＸ拘束条件を満足する高符号化率のＲＬＬ符号に対して用いることができるという効果を奏する。
【００３０】
また、請求項４の発明によれば、情報ビット列のＧ拘束条件に違反しているビット列から最大ビット数のビット列を抜き取って、抜き取ったビット列をアドレス列に置換処理するよう構成したので、情報ビット列を、Ｇ拘束条件を満足する符号ビット列に符号化することができるという効果を奏する。
【００３１】
また、請求項５の発明によれば、データ列からＸ拘束条件に違反するおそれのある右端の０のビット列を含む右端の最大ビット数のビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残したアドレス列に置き換える右端処理を行うよう構成したので、情報ビット列を、Ｘ拘束条件を満足する符号ビット列に符号化することができるという効果を奏する。
【００３２】
また、請求項６の発明によれば、データ列からＸ拘束条件に違反するおそれのある左端の０のビット列を含む左端の最大ビット数のビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残したアドレス列に置き換える左端処理を行うよう構成したので、情報ビット列を、Ｘ拘束条件を満足する符号ビット列に符号化することができるという効果を奏する。
【００３３】
また、請求項７の発明によれば、データ列を所定の数に等分割し、等分割したデータ列間の境界のそれぞれでＸ拘束条件に違反するおそれのある０のビット列を含む最大ビット数のビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残したアドレス列に置き換える中間処理を行い、中間処理された所定の数に等分割したデータ列のそれぞれから順次１ビットづつビットを取り出して、取り出したビットを１ビットづつ順次並べて新たに生成したビット列とデータ列とを交換するインターリーブ処理を行うよう構成したので、情報ビット列を、Ｘ拘束条件を満足する符号ビット列に符号化することができるという効果を奏する。
【００３４】
また、請求項８の発明によれば、データ列のＧ拘束条件に違反しているビット列から最大ビット数のビット列を抜き取って、抜き取ったビット列をアドレス列に置換処理するよう構成したので、情報ビット列をＧ拘束条件とＸ拘束条件とを同時に満足する符号ビット列に符号化することができるという効果を奏する。
【００３５】
また、請求項９の発明によれば、データ列のＧ拘束条件に違反をするおそれのある右端の０のビット列を含む最大ビット数のビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残したアドレス列に置き換える右端処理を行うよう構成したので、符号ビット列間においてＧ拘束条件とＸ拘束条件とを同時に満足する高符号化率の符号ビット列に符号化することができるという効果を奏する。
【００３６】
また、請求項１０の発明によれば、データ列が最大ビット数未満であり、データ列がＧ拘束条件に違反するおそれがある場合、データ列の左隣のアドレス列のデリミタの値を変えて、データ列をデータ列の特定のビット列を残したデータ列に置き換える右端処理を行うよう構成したので、情報ビット列のビット数が異なる場合にも、同じ拘束条件を満足する高符号化率の符号ビット列に符号化することができるという効果を奏する。
【発明を実施するための最良の形態】
【００３７】
以下に添付図面を参照して、この発明に係る記録再生装置の好適な実施例を詳細に説明する。ここでは、（１）符号器および復号器の概要と主要な特徴、（２）記録再生装置の構成、（３）ＲＬＬ拘束条件、（４）ＲＬＬ符号器の構成、（５）ＲＬＬ復号器の構成、（６）ＲＬＬ符号器の符号化手順、（７）ＲＬＬ復号器の復号化手順の順番で説明する。
【実施例】
【００３８】
（１）符号器および復号器の概要と主要な特徴
最初に、図１を参照して、記録再生装置の符号器および復号器の概要と主要な特徴について説明する。図１は、実施例に係る記録再生装置の構成を示す機能ブロック図である。
本実施例に係る記録再生装置２０は、情報語を示す複数の連続したビットである情報ビット列を符号語を示す複数の連続したビットである符号ビット列に符号化するＲＬＬ符号器２０７と符号ビット列を情報ビット列に復号化するＲＬＬ復号器２３７を有する装置であり、０ランに関する複数の拘束条件を満足する高符号化率のＲＬＬ符号に対して用いることができることを特徴とする。
【００３９】
ＲＬＬ符号器２０７は、情報ビット列を０ランに関する複数の拘束条件を満足する高符号化率ＲＬＬ符号である符号ビット列に符号化し、ＲＬＬ復号器２３７は、ＲＬＬ符号器２０７によって符号化された符号ビット列を情報ビット列に復号化することとしたので、０ランに関する複数の拘束条件を満足する高符号化率のＲＬＬ符号に対して用いることができる。
【００４０】
（２）記録再生装置の構成
図１に示すように、本実施例に係る記録再生装置２０は、磁気ディスク、光ディスク、磁気光ディスクなどの記録装置であり、ハードディスクコントローラ（以下においては「ＨＤＣ」という。）２００、リードチャンネル（以下においては「ＲＤＣ」という。）２０２、ヘッドＩＣ２０４を有する。
【００４１】
データを記録する場合、ＨＤＣ２００は、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）符号器２０６、ＲＬＬ符号器２０７、ＥＣＣ符号器２０８を介して符号化を行う。ＣＲＣ符号器２０６は、ＥＣＣの誤り訂正を検出するために用いられるものである。
【００４２】
ＲＬＬ符号器２０７は、ｎビットの情報ビット列をＲＬＬ拘束条件を満たす（ｎ＋１）ビットの符号ビット列へ変換する高符号化率の符号器である。なお、符号化率は、情報ビット列のビット数と符号ビット列のビット数との比で定義するので、ＲＬＬ符号器２０７の符号化率は、ｎ／（ｎ＋１）となる。高符号化率とは、この比が１に近いことを表し、この比が１に近いほど符号器の性能がよいことを意味する。
【００４３】
ＥＣＣ符号器２０８は、誤り訂正を行う符号器である。またＲＤＣ２０２は、記録補償器２１２、ドライバ２１４を介してヘッドＩＣ２０４のドライバ２１６に記録データを送出する。記録補償部２１２は、磁化反転が隣接する個所で反転間隔を広げる補償処理を行う。また、ヘッドＩＣ２０４は、ドライバ２１６によって記録ヘッドへライト電流を発生させる。
【００４４】
一方、データを再生する場合は、ヘッドＩＣ２０４は、再生ヘッドから入力したアナログ電圧をアンプ２１８で増幅し、ＲＤＣ２０２に送出する。ＲＤＣ２０２は、サーマルアスぺリティ検出部（ＴＡ検出部）２２０の検出処理の後、可変利得アンプ（ＶＧＡ）２２２、ローパスフィルタ（ＬＰＦ）２２４、ＡＤコンバータ（ＡＤＣ）２２６を介してデジタル信号へ変換する。また、ＲＤＣ２０２は、ＦＩＲフィルタ（ＦＩＲ）２２８によって波形等化を行った後、ビタビ復号器２２９でビタビ復号を行い、ＨＤＣ２００に出力する。また、ＲＤＣ２０２は、信号をサンプリングするタイミングを制御するＰＬＬ２３２および可変利得アンプ（ＶＧＡ）２２２の利得を制御する自動利得制御器（ＡＧＣ）２３４を有する。
【００４５】
ＨＤＣ２００は、ＲＤＣ２０２から入力したデータをＥＣＣ復号器２３６で誤り訂正した後、ＲＬＬ復号器２３７で高符号化率のＲＬＬ符号ビット列をＲＬＬ符号器２０７の符号化処理を逆にたどることによって情報ビット列に復号化する。また、ＣＲＣ復号器２３８で検査処理をして、データを再生する。
【００４６】
（３）ＲＬＬ拘束条件
次に、図１に示すＲＬＬ符号器２０７が満足するＲＬＬ拘束条件について説明する。図１に示すＲＬＬ符号器２０７が満足しなければならない一般的なＲＬＬ拘束条件は、Ｇ拘束条件とＸ拘束条件である。Ｇ拘束条件とは、情報ビット列の内の連続する０の最大ビット数を限定する拘束条件であり、Ｘ拘束条件とは、情報ビット列の所定の数のビット毎の連続する０の最大ビット数を限定する拘束条件である。特に、Ｘ拘束条件において情報ビット列の２ビット毎の連続する０の最大ビット数を限定する拘束条件をＩ拘束条件と呼ぶ。Ｇ拘束条件によってデータのエラー伝播が抑制され、データの復号時の同期が取りやすくなる。また、Ｉ拘束条件によってＧ拘束条件で抑制できないデータのエラー伝播が抑制される。
【００４７】
本実施例では、Ｇ拘束条件およびＩ拘束条件を情報ビット列および情報ビット列間において満足する高符号化率のＲＬＬ符号に対して適用するＲＬＬ符号器２０７について検討する。本実施例においてＲＬＬ符号器２０７が満足する拘束条件をさらに具体的に表記すると以下のようになる。
（０、Ｇ／Ｉ、ｒ／Ｒ、ｌ／Ｌ）＝（０、１０／１０、５／５、５／５）
ここで、
Ｇ＝１０拘束条件；連続する０の最大ビット数が１０ビットであることを表す。
Ｉ＝１０拘束条件；偶数・奇数ビットをみたときの連続する０の最大ビット数が１０ビットであることを表す。
【００４８】
なお、Ｇ拘束条件、Ｉ拘束条件は、該当する情報ビット列だけではなく、該当する情報ビット列の右隣または左隣の情報ビット列との間でも満足されなければならない。そこで、該当する情報ビット列の右端または左端のビット列について以下のような拘束条件が適用される。
ｒ＝５右端拘束条件；右端の連続する０の最大個数が５ビットであることを表す。
ｌ＝５左端拘束条件；左端の連続する０の最大個数が５ビットであることを表す。
Ｒ＝５右端拘束条件；偶数・奇数ビットをみたときの右端の連続する０の最大個数が５ビットであることを表す。
Ｌ＝５左端拘束条件；偶数・奇数ビットをみたときの左端の連続する０の最大個数が５ビットであることを表す。
【００４９】
すなわち、該当する情報ビット列の右端拘束条件ｒ、Ｒまたは左端拘束条件ｌ、Ｌと、該当する情報ビット列の右隣の情報ビット列の左端拘束条件ｌ、Ｌまたは左隣の情報ビット列の右端拘束条件ｒ、Ｒとの間には次のような関係がある。
該当する情報ビット列の右端拘束条件ｒ＋右隣の情報ビット列の左端拘束条件ｌ≦Ｇ拘束条件
該当する情報ビット列の左端拘束条件ｌ＋左隣の情報ビット列の右端拘束条件ｒ≦Ｇ拘束条件
該当する情報ビット列の右端拘束条件Ｒ＋右隣の情報ビット列の左端拘束条件Ｌ≦Ｉ拘束条件
該当する情報ビット列の左端拘束条件Ｌ＋右隣の情報ビット列の右端拘束条件Ｒ≦Ｉ拘束条件
以下においては、ｒ拘束条件、ｌ拘束条件、Ｒ拘束条件およびＬ拘束条件は、陽に現われないが、右端処理、左端処理の拘束条件として適用される。
【００５０】
ここで、図２−１〜図２−４を参照して、図１に示すＲＬＬ符号器２０７が満足するＲＬＬ拘束条件の具体例について説明する。図２−１は、図１に示すＲＬＬ符号器２０７が満足するｒ＝５拘束条件の具体例を示す図である。また、図２−２は、図１に示すＲＬＬ符号器２０７が満足するｌ＝５拘束条件の具体例を示す図である。また、図２−３は、図１に示すＲＬＬ符号器２０７が満足するＲ＝５拘束条件の具体例を示す図である。また、図２−４は、図１に示すＲＬＬ符号器２０７が満足するＬ＝５拘束条件の具体例を示す図である。
【００５１】
図２−１に示すように、符号ビット列１ａがｒ＝５拘束条件に違反していない（Ｇ拘束条件に違反するおそれがない）ビット列で、符号ビット列１ｂがｒ＝５拘束条件に違反している（Ｇ拘束条件に違反するおそれがある）ビット列である。また、図２−２に示すように、符号ビット列２ａがｌ＝５拘束条件に違反していない（Ｇ拘束条件に違反するおそれがない）ビット列で、符号ビット列２ｂがｌ＝５拘束条件に違反している（Ｇ拘束条件に違反するおそれがある）ビット列である。
【００５２】
また、図２−３に示すように、符号ビット列３ａ、３ｂがＲ＝５拘束条件に違反していない（Ｉ拘束条件に違反するおそれがない）ビット列で、符号ビット列３ｃ、３ｄがＲ＝５拘束条件に違反している（Ｉ拘束条件に違反するおそれがある）ビット列である。また、図２−４に示すように、符号ビット列４ａ、４ｂがＬ＝５拘束条件に違反していない（Ｉ拘束条件に違反するおそれがない）ビット列で、符号ビット列４ｃ、４ｄがＬ＝５拘束条件に違反している（Ｉ拘束条件に違反するおそれがある）ビット列である。
【００５３】
（４）ＲＬＬ符号器の構成
次に、図３を参照して、図１に示すＲＬＬ符号器２０７の構成について説明する。図３は、図１に示すＲＬＬ符号器２０７の構成を示す機能ブロック図である。同図に示すように、ＲＬＬ符号器２０７は、ｎ＝２００ビットの情報ビット列を（ｎ＋１）＝２０１ビットの符号ビット列に変換する高符号化率の符号器で、置換法符号器（１）２０７ａ、右端処理符号器（１）２０７ｂ、左端処理符号器２０７ｃ、中間処理符号器２０７ｄ、インターリーブ符号器２０７ｅ、置換法符号器（２）２０７ｆ、右端処理符号器（２）２０７ｇ、プリコーダ２０７ｈを有する。ここでは、（４−１）置換法符号器（１）、（４−２）右端処理符号器（１）、（４−３）左端処理符号器、（４−４）中間処理符号器、（４−５）インターリーブ符号器、（４−６）置換法符号器（２）、（４−７）右端処理符号器（２）、（４−８）プリコーダの順番に説明する。
【００５４】
（４−１）置換法符号器（１）
置換法符号器（１）２０７ａは、情報ビット列の内のＧ拘束条件に違反しているビット列から１０ビットのビット列を抜き取って、抜き取ったビット列を１０ビットのアドレス列に置換処理する符号器である。ここで、図５を参照して、図３に示す置換法符号器（１）２０７ａが情報ビット列を符号ビット列に変換する一例について説明する。図５は、図３に示す置換法符号器（１）２０７ａが情報ビット列を符号ビット列に変換する一例を示す図である。
【００５５】
同図に示すように、情報ビット列６ａは、Ｇ＝１０拘束条件違反のビット列、すなわち１０ビットを超える０のビット列を持っている。置換法符号器（１）２０７ａは、情報ビット列６ａの前に“１”をおいて先頭から“１０”パターンカウンタで“１０”パターンの数をカウントする。そして、“１０”パターンの数と別途説明するアドレスコード変換表から８ビットのアドレスコードを求め、Ｇ＝１０拘束条件違反のビット列のアドレスとする。さらに、図５に示すように、Ｇ＝１０拘束条件違反のビット列から１０ビットのビット列を抜き取って、抜き取った１０ビットのビット列を１０ビットのアドレス列で置換する。このように置換することによって、置換法符号器（１）２０７ａは、情報ビット列６ａをＧ＝１０拘束条件を満足する符号ビット列６ｂに変換できる。
【００５６】
ここで、さらに符号ビット列６ｂのフォーマットについて説明する。符号ビット列６ｂは、ピボット６ｂ−１、アドレス部６ｂ−２、データ部６ｂ−３を有する。ピボット６ｂ−１は、符号ビット列６ｂが、ＲＬＬ拘束条件を満たすか否かを識別する１ビットのデータであり、以下のように定義されている。
Ｐ＝１；入力された情報ビット列６ａは、Ｇ、Ｉ、ｒ、Ｒ、ｌ、Ｌ拘束条件を全て満たす。
Ｐ＝０；入力された情報ビット列６ａは、Ｇ、Ｉ、ｒ、Ｒ、ｌまたはＬ拘束条件のいずれかを満たさない。
【００５７】
また、アドレス部６ｂ‐２は、Ｇ拘束条件またはＩ拘束条件に違反したビット列を置換した複数のアドレス列を有する。例えば、アドレス列６ｂ−２１は、アドレス６ｂ−２１ａ、マーカ（Ｍ）６ｂ−２１ｂ、デリミタ（Ｄ）６ｂ−２１ｃを有する。アドレス６ｂ−２１ａは、前述の“１０”パターンの数と別途説明するアドレスコード変換表から求められた８ビットのアドレスコードである。
【００５８】
また、マーカ（Ｍ）６ｂ−２１ｂは、１ビットのデータであり、以下のように定義される。
Ｍ＝１；ＧまたはＩ拘束条件に違反したビット列とアドレス列との置換処理がインターリーブ処理前であることを示す。
Ｍ＝０；ＧまたはＩ拘束条件に違反したビット列とアドレス列との置換処理がインターリーブ処理後であることを示す。
【００５９】
また、デリミタ（Ｄ）６ｂ−２１ｃは、１ビットのデータであり、以下のように定義される。
Ｄ＝１；デリミタ６ｂ−２１ｃの次にデータ部６ｂ−３が来ることを示す。
Ｄ＝０；デリミタ６ｂ−２１ｃの次に他のアドレス列が来ることを示す。
【００６０】
ここで、右端処理符号器（１）２０７ｂの説明に入る前に、図１４および図１５を参照して、図５に示す情報ビット列６ａの“１０”パターンの数からインターリーブ処理前後でアドレスコードを求めるアドレスコード変換表の一例について説明する。図１４は、図５に示す情報ビット列６ａの“１０”パターンの数からインターリーブ処理前の置換法符号器（１）２０７ａの置換処理においてアドレスコードを求めるアドレスコード変換表１５の一例を示す図である。また、図１５は、図５に示す情報ビット列６ａの“１０”パターンの数からインターリーブ処理後の置換法符号器（２）２０７ｆの置換処理においてアドレスコードを求めるアドレスコード変換表１６の一例を示す図である。
【００６１】
図１４に示すように、アドレスコード変換表１５は、図５に示す情報ビット列６ａの“１０”パターンの数“ｉ”とインターリーブ処理前のアドレスコード“Ｆ１（ｉ）”とを対応付ける表であり、アドレスコードは、Ｇ＝１０拘束条件およびＩ＝１０拘束条件に違反する可能性のある以下の２つのビット列を除いてある。
（ａ）０００００＊＊＊
（ｂ）＊０＊０＊０＊０
また、図１５に示すように、アドレスコード変換表１６は、図５に示す情報ビット列６ａの“１０”パターンの数“ｉ”とインターリーブ処理後のアドレスコード“Ｆ２（ｉ）”とを対応付ける表であり、アドレスコードは、Ｇ＝１０拘束条件およびＩ＝１０拘束条件に違反する可能性のある以下の３つのビット列を除いてある。
（ａ）０００００＊＊＊
（ｂ）＊０＊０＊０＊０
（ｃ）０＊０＊０＊０＊
なお、“＊”は、０または１のビットを示す。
【００６２】
このように、置換法符号器（１）２０７ａと置換法符号器（２）２０７ｆは、Ｇ拘束条件およびＩ拘束条件に違反するおそれのあるビット列を除いたアドレスコード変換表を用いてアドレス列を生成することとしたので、Ｇ拘束条件とＩ拘束条件を満足する高符号化率のＲＬＬ符号に対して用いることができる。
【００６３】
（４−２）右端処理符号器（１）
図３の説明に戻ると、右端処理符号器（１）２０７ｂは、情報ビット列の右端の０のビット列を含む右端の１０ビットのビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残した１０ビットのアドレス列に置き換える右端処理を行う符号器である。ここで、図６を参照して、図３に示す置換法符号器（１）２０７ａが符号ビット列間におけるＩ＝１０拘束条件を満足するデータ部７ｂ−３に変換する一例について説明する。図６は、図３に示す右端処理符号器（１）２０７ｂが符号ビット列間におけるＩ＝１０拘束条件を満足するデータ部７ｂ−３に変換する一例を示す図である。
【００６４】
同図に示すように、符号ビット列７ａは、インターリーブ処理後に右隣の符号ビット列間におけるＩ＝１０拘束条件違反のおそれのあるビット列、すなわち符号ビット列７ａの右端で５ビットを超える０のビット列を持っている。右端処理符号器（１）２０７ｂは、符号ビット列７ａの右端にある１１ビットのビット列を抜き取り、抜き取った１１ビットの最初の５ビットを用いたアドレス列７ｂ−２１に置き換える右端処理をし、符号ビット列７ｂの最終ビットに１のビットを付加する。このように右端処理することによって、右端処理符号器（１）２０７ｂは、データ部７ａ−３を右隣の符号ビット列間におけるＩ＝１０拘束条件を満足するデータ部７ｂ−３に変換できる。
【００６５】
（４−３）左端処理符号器
図３の説明に戻ると、左端処理符号器２０７ｃは、情報ビット列の内の左端の０のビット列を含む左端の１０ビットのビット列を抜き取って、抜き取ったビット列をビット列の内の特定のビット列を残した１０ビットのアドレス列に置き換える左端処理を行う符号器である。ここで、図７を参照して、図３に示す左端処理符号器２０７ｃが符号ビット列間におけるＩ＝１０拘束条件を満足する符号ビット列８ｂに変換する一例について説明する。図７は、図３に示す左端処理符号器２０７ｃが符号ビット列間におけるＩ＝１０拘束条件を満足する符号ビット列８ｂに変換する一例を示す図である。
【００６６】
同図に示すように、符号ビット列８ａは、インターリーブ処理後に左隣の符号ビット列間におけるＩ＝１０拘束条件違反のおそれのあるビット列、すなわち符号ビット列７ａの左端で５ビットを超える０のビット列を持っている。左端処理符号器２０７ｃは、符号ビット列８ａの左端にある１０ビットのビット列を抜き取り、抜き取った１０ビットの後半の４ビットを残したアドレス列８ｂ−２１に置き換える左端処理をする。このように左端処理することによって、左端処理部２０７ｃは、符号ビット列８ａ−３を左隣の符号ビット列間におけるＩ＝１０拘束条件を満足する符号ビット列８ｂに変換できる。
【００６７】
（４−４）中間処理符号器
図３の説明に戻ると、中間処理符号器２０７ｄは、データ列の中間より左にある０のビット列を含む１０ビットのビット列を抜き取って、抜き取ったビット列をビット列の内の特定のビット列を残した１０ビットのアドレス列に置換する符号器である。ここで、図８を参照して、図３に示す中間処理符号器２０７ｄがインターリーブ処理後に符号ビット列間におけるＩ＝１０拘束条件を満足するデータ部９ｂ−３に変換する一例について説明する。図８は、図３に示す中間処理符号器２０７ｄがインターリーブ処理後に符号ビット列間におけるＩ＝１０拘束条件を満足するデータ部９ｂ−３に変換する一例を示す図である。
【００６８】
同図に示すように、符号ビット列９ａは、データ部９ａ−３にインターリーブ処理後にＩ＝１０拘束条件違反のおそれのあるビット列、すなわちデータ部９ａ−３の中間より左に５ビットを超える０のビット列を持っている。中間処理符号器２０７ｄは、符号データ部９ａ−３の中間にある１１ビットのビット列を抜き取り、抜き取った１１ビットの後半の５ビットを残したアドレス列９ｂ−２１に置換し、抜き取った１１ビットのビット列の代わりにデータ部１とデータ部２の間に１のビットを代入する。このように中間処理することによって、中間処理符号器２０７ｄは、データ部９ａ−３をインターリーブ処理後に右隣の符号ビット列間におけるＩ＝１０拘束条件を満足するデータ部９ｂ−３に変換できる。
【００６９】
（４−５）インターリーブ符号器
図３の説明に戻ると、インターリーブ符号器２０７ｅは、データ部を複数のビット列に分割して複数のビット列から順次１ビットづつビットを取り出して、取り出したビットを１ビットづつ順次並べて新たに生成したビット列とデータ部とを交換するインターリーブ処理を行う符号器である。ここで、図９を参照して、図３に示すインターリーブ符号器２０７ｅがＧ＝１０拘束条件を満足していたデータ部１０ａ−３をＩ＝１０拘束条件を満足するデータ部１０ｂ−３に変換する一例について説明する。図９は、図３に示すインターリーブ符号器２０７ｅがＧ＝１０拘束条件を満足していたデータ部１０ａ−３をＩ＝１０拘束条件を満足するデータ部１０ｂ−３に変換する一例を示す図である。
【００７０】
同図に示すように、インターリーブ符号器２０７ｅは、符号ビット列１０ａのデータ部１０ａ―３の中間で２つのビット列に分割する。例えば、データ部１０ａ−３が、ｍ＝２ｔの偶数ビットである場合は、ｔビットの２つのビット列に分割する。ｍ＝（２ｔ＋１）の奇数ビットの場合は、例えば前半を（ｔ＋１）ビット、後半をｔビットのビット列に分割する。そして、前半のビット列と後半のビット列の先頭のビットから交互に１ビットづつ並べて新たに生成したｍ＝２ｔビットまたはｍ＝（２ｔ＋１）ビットのビット列とデータ部１０ａ−３とを交換するインターリーブ処理を行う。このようにインターリーブ処理することによって、Ｇ＝１０拘束条件を満足していたデータ部１０ａ−３をＩ＝１０拘束条件を満足するデータ部１０ｂ−３に変換することができる。
【００７１】
（４−６）置換法符号器（２）
図３の説明に戻ると、置換法符号器（２）２０７ｆは、データ部の内のＧ拘束条件に違反しているビット列から１０ビットのビット列を抜き取って、抜き取ったビット列をビット列のアドレス列と置換する符号器である。
【００７２】
図５に示すように、置換法符号器（２）２０７ｆは、符号ビット列のＧ＝１０拘束条件違反のビット列から１０ビットのビット列を抜き取って、抜き取った１０ビットのビット列を１０ビットのアドレス列で置換処理する。このように置換処理することによって、置換法符号器（２）２０７ｆは、符号ビット列のデータ部をＧ＝１０拘束条件を満足するデータ部に変換できる。
【００７３】
（４−７）右端処理符号器（２）
図３の説明に戻ると、右端処理符号器（２）２０７ｇは、データ部の内のｒ拘束条件に違反をしている右端の０のビット列を含む１０ビットのビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残した１０ビットのアドレス列へ置換する符号器である。ここで、図１０および図１１を参照して、図３に示す右端処理符号器（２）２０７ｇが符号ビット列１１ａおよび１２ａをｒ＝５拘束条件もしくは右隣の符号ビット列間におけるＧ＝１０拘束条件を満足する符号ビット列１１ｂおよび１２ｂに変換する一例について説明する。図１０は、図３に示す右端処理符号器（２）２０７ｇが符号ビット列１１ａを右隣の符号ビット列間におけるＧ＝１０拘束条件を満足する符号ビット列１１ｂに変換する一例を示す図である。また、図１１は、図３に示す右端処理符号器（２）２０７ｇが符号ビット列１２ａを右隣の符号ビット列間におけるＧ＝１０拘束条件を満足する符号ビット列１２ｂに変換する一例を示す図である。
【００７４】
図１０に示すように、符号ビット列１１ａのデータ部１１ａ−３が１１ビット以上である場合は、右端処理符号器（２）２０７ｇは、右端処理符号器（１）２０７ｂの場合と同様に処理をする。一方、図１１に示すように、符号ビット列１２ａのデータ部１２ａ−３が１０ビットである場合は、右端処理符号器（２）２０７ｇは、符号ビット列１２ａの右端にある１０ビットのビット列を抜き取り、抜き取った１０ビットの前半の４ビットを残したアドレス列１２ｂ−２１に置き換える右端処理を行う。このように右端処理することによって、右端処理符号器（２）２０７ｇは、符号ビット列１２ａを右隣の符号ビット列間におけるＧ＝１０拘束条件を満足するように変換できる。
【００７５】
次に、図１２−１〜図１２−４を参照して、図３に示す右端処理符号器（２）２０７ｇの右端処理の別な例について説明する。図１２−１〜図１２−４は、図３に示す右端処理符号器（２）２０７ｇの右端処理の別な例を示す図である。同図に示すように、右端処理符号器（２）２０７ｇは、データ部が１０ビット未満であり、ｒ＝５拘束条件に違反している場合、データ部の左隣のアドレス列のデリミタの値を変えて、データ部をデータ部の特定のビット列を残したデータ部へ置き換える右端処理を行う。
【００７６】
右端処理符号器（２）２０７ｇは、情報ビット列のビット長が例えばｎ＝２０６〜２０９ビットで、アドレス列のビット長が１０ビットである場合に、情報ビット列のデータ部のビット長が６〜９ビットになりえるので、図１０、図１１のように１０ビットのビット列を抜き取ると、アドレス部の一部も抜き取らなければならない現象が生じる。これを避けるために、右端処理符号器（２）２０７ｇは、データ部が１０ビット未満であり、ｒ＝５拘束条件に違反している場合、データ部の左隣のアドレス列のデリミタの値を変えて、データ部をデータ部の特定のビット列を残したデータ部へ置き換える右端処理を行う。
【００７７】
図１２−１に示すように、符号ビット列１３−１ａは、データ部のビットが９ビットであり、ｒ＝５拘束条件に違反しているので、右端処理符号（２）２０７ｇは、符号ビット列１３−１ｂのようにデータ部の左隣のデリミタの値を０に変えて、データ部をデータ部の特定のビット列“ａ１ａ２ａ３”を残したデータ部“１１ａ１ａ２ａ３１１１１”へ置き換える右端処理を行うことによって、符号ビット列間のＧ＝１０拘束条件違反を避けることができる。また、図１２−２、図１２−３、図１２−４は、符号ビット列１３−２ａ、１３−３ａ、１３−４ａのデータ部のビットがそれぞれ８ビット、７ビット、６ビットであり、ｒ＝５拘束条件に違反しているので、右端処理符号（２）２０７ｇは、図１２−１の場合と同様に右端処理を行うことにより、符号ビット列間のＧ＝１０拘束条件違反を避けることができる。
【００７８】
次に、図１３−１〜図１３−８を参照して、図３に示す右端処理符号器（２）２０７ｇの右端処理のさらに別な例について説明する。図１３−１〜図１３−８は、図３に示す右端処理符号器（２）２０７ｇの右端処理のさらに別な例を示す図である。図１３−１〜図１３−８は、Ｇ＝８拘束条件およびＩ＝８拘束条件を満足する符号ビット列であるが、Ｇ＝１０拘束条件、Ｉ＝１０拘束条件を満足する符号ビット列の場合も同様に取り扱うことができる。
【００７９】
同図に示すように、右端処理符号器（２）２０７ｇは、符号ビット列の右端のビット列と符号ビット列の右隣の符号ビット列のピボットと右隣の符号ビット列の左端のビット列とがＧ拘束条件に違反している場合は、右端のビット列を特定のアドレス列に置換し、右隣の符号ビット列のピボットの値を反転させる。
【００８０】
図１３−１に示すように、符号ビット列１４−１１ａは、右端に８ビットの０のビット列を有し、その右隣の符号ビット列のピボットが０であるので、符号ビット列間のＧ拘束条件違反となっている。そこで、右端処理符号器（２）２０７ｇは、符号ビット列１４−１１ａの右端の８ビットの０のビット列を２進数の１２７のアドレスコードを持つアドレス列、すなわち“１１１１１１１Ｄ”のアドレス列に変換し、さらに符号ビット列１４−１２ａのピボットを１に反転させることによって、符号ビット列間のＧ＝８拘束条件違反を避けることができる。
【００８１】
図１３−２〜図１３−８も同様にして、符号ビット列１４−２１ａ〜１４−８１ａの右端の８ビットの０のビット列を２進数の１２６，１２５、１２４、１２３，１２２，１２１、１２０のアドレスコードを持つアドレス列“１１１１１１０Ｄ”、“１１１１１０１Ｄ”、“１１１１１００Ｄ”、“１１１１０１１Ｄ”、“１１１１０１０Ｄ”、“１１１１００１Ｄ”、“１１１１０００Ｄ”に右端処理し、さらに符号ビット列１４−１２ａ〜１４−８２ａのピボットを１に反転させることによって、符号ビット列間のＧ＝８拘束条件違反を避けることができる。
【００８２】
（４−８）プリコーダ
図３の説明に戻ると、プリコーダ２０７ｈは、置換法符号器（１）２０７ａ〜右端処理符号器（２）２０７ｇによって変換された符号ビット列をＮＲＺ列へ変換する符号器である。
【００８３】
（５）ＲＬＬ復号器の構成
次に、図４を参照して、図１に示すＲＬＬ復号器２３７の構成について説明する。図４は、図１に示すＲＬＬ符号器２３７の構成を示す機能ブロック図である。ＲＬＬ復号器２３７は、ＲＬＬ拘束条件を満たすｎ＝２０１ビットの符号ビット列をｎ＝２００ビットの情報ビット列へ変換する高符号化率の復号器で、プリコーダ２３７ａと右端処理復号器（２）２３７ｂ〜置換法復号器（１）２３７ｈを有する。プリコーダ２３７ａは、ＲＬＬ拘束条件を満たすｎ＝２０１ビットのＮＲＺ列を符号ビット列へ変換する復号器である。また、右端処理復号器（２）２３７ｂ〜置換法復号器（１）２３７ｈは、ｎ＝２０１ビットの符号ビット列をｎ＝２００ビットの情報ビット列に変換する複数の復号器である。復号器の復号処理は、符号器の符号処理を逆に辿ることによって得られるので説明は省略する。
【００８４】
（６）ＲＬＬ符号器の符号化手順
次に、図１６〜図２０を参照して、図２に示すＲＬＬ符号器２０７の符号化手順について説明する。図１６〜図２０は、図２に示すＲＬＬ符号器２０７の符号化手順を示すフローチャートである。ここでは、符号化手順を（６−１）第１の置換処理手順、（６−２）第１の右端処理手順と左端処理手順、（６−３）中間処理手順とインターリーブ処理手順、（６−４）第２の置換処理手順、（６−５）第２の右端処理手順の順番で説明する。
【００８５】
（６−１）第１の置換処理手順
まず、図１６を参照して、図３に示す置換法符号器（１）２０７ａの第１の置換処理手順について説明する。図１６は、図３に示す置換法符号器（１）２０７ａの第１の置換処理手順を示すフローチャートである。同図に示すように、置換法符号器（１）２０７ａは、符号ビット列の先頭にピボットＰを置いて、Ｐ＝１にリセットし（ステップＳ１７０１）、“１０”パターンカウンタでデータ部の“１０”の場所を探す（ステップＳ１７０２）。そして、置換法符号器（１）２０７ａは、“１０”の場所はあるか否かを調べる（ステップＳ１７０３）。その結果、“１０”の場所がある場合は（ステップＳ１７０３肯定）、置換法符号器（１）２０７ａは、“１０”パターンカウンタを“１０”の場所に移動させ、カウンタ値を１増やす（ステップＳ１７０４）。そして、置換法符号器（１）２０７ａは、“１０”パターンカウンタの現在の場所はＧ拘束条件違反をしているか否かを調べる（ステップＳ１７０５）。その結果、“１０”パターンカウンタの現在の場所はＧ拘束条件違反をしていない場合は（ステップＳ１７０５否定）、置換法符号器（１）２０７ａは、“１０”パターンカウンタでデータ部の次の“１０”の場所を探す（ステップＳ１７０６）。
【００８６】
一方、“１０”パターンカウンタの現在の場所はＧ拘束条件違反をしている場合は（ステップＳ１７０５肯定）、置換法符号器（１）２０７ａは、１０ビットの０ランを除去し、アドレス列へ置換し（ステップＳ１７０７）、データ部の前に移動する（ステップＳ１７０８）。そして、置換法符号器（１）２０７ａは、アドレスコード変換表１５からアドレスコードを求め（ステップＳ１７０９）、マーカＭ＝１、デリミタＤ＝１と置く（ステップＳ１７１０）。さらに、置換法符号器（１）２０７ａは、現在のアドレス列の前に他のアドレス列があれば、そのアドレス列のデリミタをＤ＝０に変える（ステップＳ１７１１）。
【００８７】
そして、置換法符号器（１）２０７ａは、現在の場所は、未だＧ拘束条件違反をしているか否かを調べる（ステップＳ１７１２）。その結果、現在の場所は、未だＧ拘束条件違反をしている場合は（ステップＳ１７１２肯定）、置換法符号器（１）２０７ａは、ステップＳ１７０７に戻り、ステップＳ１７０７〜ステップＳ１７１１の手順を繰り返す。一方、現在の場所は、Ｇ拘束条件違反をしていない場合は（ステップＳ１７１２否定）、ステップＳ１７０６に戻る。
【００８８】
これに対して、“１０”の場所がない場合は（ステップＳ１７０３否定）、置換法符号器（１）２０７ａは、さらに符号ビット列にアドレス列はあるか否かを調べる（ステップＳ１７１３）。その結果、符号ビット列にアドレス列がある場合は（ステップＳ１７１３肯定）、置換法符号器（１）２０７ａは、ピボットをＰ＝０とリセットする（ステップＳ１７１４）。一方、符号ビット列にアドレス列がない場合は（ステップＳ１７１３否定）、置換法符号器（１）２０７ａは、本手順を終了する。このようにして、本手順によれば置換法符号器（１）２０７ａは、情報ビット列をＧ拘束条件を満足する符号ビット列に置換することができる。
【００８９】
（６−２）第１の右端処理手順と左端処理手順
次に、図１７を参照して、図３に示す右端処理符号器（１）２０７ｂおよび左端処理符号器２０７ｃの第１の右端処理手順と左端処理手順について説明する。図１７は、図３に示す右端処理符号器（１）２０７ｂおよび左端処理符号器２０７ｃの第１の右端処理手順と左端処理手順を示すフローチャートである。同図に示すように、右端処理符号器（１）２０７ｂは、符号ビット列のデータ部の右端に６ビット以上の０ランが有るか否かを調べる（ステップＳ１８０１）。その結果、符号ビット列のデータ部の右端に６ビット以上の０ランがない場合は（ステップＳ１８０１否定）、右端処理符号器（１）２０７ｂは、次の手順に進む。
【００９０】
一方、符号ビット列のデータ部の右端に６ビット以上の０ランがある場合は（ステップＳ１８０１肯定）、右端処理符号器（１）２０７ｂは、さらに符号ビット列のデータ部の長さが１１ビット以上あるか否かを調べる（ステップＳ１８０２）。その結果、符号ビット列のデータ部の長さが１１ビット未満である場合は（ステップＳ１８０２否定）、右端処理符号器（１）２０７ｂは、次の手順に進む。
【００９１】
一方、符号ビット列のデータ部の長さが１１ビット以上である場合は（ステップＳ１８０２肯定）、右端処理符号器（１）２０７ｂは、右端の１０ビットを除去し、アドレス列へ変換する（ステップＳ１８０３）。そして、第１の右端処理符号器２０７ｂは、ピボットをＰ＝０にリセットする（ステップＳ１８０４）。さらに、左端処理符号器２０７ｃは、符号ビット列のピボットＰ＝１であるか否かを調べる（ステップＳ１８０５）。その結果、符号ビット列のピボットＰ＝１でない場合は（ステップＳ１８０５否定）、左端処理符号器２０７ｃは、左端処理を行わずに終了する。
【００９２】
一方、符号ビット列のピボットＰ＝１である場合は（ステップＳ１８０５肯定）、左端処理符号器２０７ｃは、さらに符号ビット列のデータ部の左端に６ビット以上の０ランがあるか否かを調べる（ステップＳ１８０６）。その結果、符号ビット列のデータ部の左端に６ビット以上の０ランがない場合は（ステップＳ１８０６否定）、左端処理符号器２０７ｃは、本手順を終了する。
【００９３】
一方、符号ビット列のデータ部の左端に６ビット以上の０ランがある場合は（ステップＳ１８０６肯定）、左端処理符号器２０７ｃは、符号ビット列の左端の１０ビットを除去し、アドレス列へ変換する（ステップＳ１８０７）。そして、左端処理符号器２０７ｃは、符号ビット列のピボットをＰ＝０とリセットして（ステップＳ１８０８）、本手順を終了する。このようにして、本手順によれば右端処置符号器（１）２０７ｂおよび左端処理符号器２０７ｃは、インターリーブ処理後に符号ビット列および符号ビット列間においてＩ拘束条件を満足する符号ビット列に置換することができる。
【００９４】
（６−３）中間処理手順とインターリーブ処理手順
次に、図１８を参照して、図３に示す中間処理符号器２０７ｄおよびインターリーブ符号器２０７ｅの中間処理手順とインターリーブ処理手順について説明する。図１８は、図３に示す中間処理符号器２０７ｄおよびインターリーブ符号器２０７ｅの中間処理手順とインターリーブ処理手順を示すフローチャートである。同図に示すように、中間処理符号器２０７ｄは、符号ビット列のデータ部の中間に６ビット以上の０ランが有るか否かを調べる（ステップＳ１９０１）。その結果、符号ビット列のデータ部の中間に６ビット以上の０ランがない場合は（ステップＳ１９０１否定）、中間処理符号器２０７ｄは、インターリーブ処理手順に進む。
【００９５】
一方、符号ビット列のデータ部の中間に６ビット以上の０ランがある場合は（ステップＳ１９０１肯定）、中間処理符号器２０７ｄは、さらに符号ビット列のデータ部の長さが１１ビット以上あるか否かを調べる（ステップＳ１９０２）。その結果、符号ビット列のデータ部の長さが１１ビット未満である場合は（ステップＳ１９０２否定）、中間処理符号器２０７ｄは、インターリーブ処理手順に進む。
【００９６】
一方、符号ビット列のデータ部の長さが１１ビット以上である場合は（ステップＳ１９０２肯定）、中間処理符号器２０７ｄは、データ部の中間の１０ビットを除去し、アドレス列へ変換する（ステップＳ１９０３）。そして、中間処理符号器２０７ｄは、ピボットをＰ＝０にリセットする（ステップＳ１９０４）。さらに、インターリーブ符号器２０７ｅは、符号ビット列のデータ部を２つに分け、インターリーブする（ステップＳ１９０５）。このようにして、本手順に依れば、中間処理符号器２０７ｄおよびインターリーブ符号器２０７ｅは、Ｇ拘束条件を満足する符号ビット列をＩ拘束条件を満足する符号ビット列に変換することができる。
【００９７】
（６−４）第２の置換処理手順
次に、図１９を参照して、図３に示す置換法符号器（２）２０７ｆの第２の置換処理手順について説明する。図１９は、図３に示す置換法符号器（２）２０７ｆの第２の置換処理手順を示すフローチャートである。同図に示すように、置換法符号器（２）２０７ｆは、“１０”パターンカウンタでデータ部の“１０”の場所を探す（ステップＳ２００１）。そして、“１０”の場所はあるか否かを調べる（ステップＳ２００２）。その結果、  “１０”の場所がある場合は（ステップＳ２００２肯定）、置換法符号器（２）２０７ｆは、“１０”パターンカウンタを“１０”の場所に移動させ、カウンタ値を１増やす（ステップＳ２００３）。そして、置換法符号器（２）２０７ｆは、“１０”パターンカウンタの現在の場所はＧ拘束条件違反をしているか否かを調べる（ステップＳ２００４）。その結果、“１０”パターンカウンタの現在の場所はＧ拘束条件違反をしていない場合は（ステップＳ２００４否定）、置換法符号器（２）２０７ｄは、“１０”パターンカウンタでデータ部の次の“１０”の場所を探す（ステップＳ２００５）。
【００９８】
一方、“１０”パターンカウンタの現在の場所はＧ拘束条件違反をしている場合は（ステップＳ２００４肯定）、置換法符号器（２）２０７ｆは、１０ビットの０ランを除去し、アドレス列へ置換し（ステップＳ２００６）、データ部の前に移動する（ステップＳ２００７）。そして、置換法符号器（２）２０７ｆは、アドレスコード変換表１６からアドレスコードを求め（ステップＳ２００８）、マーカＭ＝０、デリミタＤ＝１と置く（ステップＳ２００９）。さらに、置換法符号器（２）２０７ｆは、現在のアドレス列の前に他のアドレス列があれば、そのアドレス列のデリミタをＤ＝０に変える（ステップＳ２０１０）。
【００９９】
そして、置換法符号器（２）２０７ｆは、現在の場所は、未だＧ拘束条件違反をしているか否かを調べる（ステップＳ２０１１）。その結果、現在の場所は、未だＧ拘束条件違反をしている場合は（ステップＳ２０１１肯定）、置換法符号器（２）２０７ｆは、ステップＳ２００６に戻り、ステップＳ２００６〜ステップＳ２０１０の手順を繰り返す。一方、現在の場所は、Ｇ拘束条件違反をしていない場合は（ステップＳ２０１１否定）、ステップＳ２００５に戻る。
【０１００】
これに対して、“１０”の場所がない場合は（ステップＳ２００２否定）、置換法符号器（２）２０７ｆは、さらに符号ビット列にアドレス列はあるか否かを調べる（ステップＳ２０１２）。その結果、符号ビット列にアドレス列がある場合は（ステップＳ２０１２肯定）、置換法符号器（２）２０７ｆは、ピボットをＰ＝０とリセットする（ステップＳ２０１３）。一方、符号ビット列にアドレス列がない場合は（ステップＳ２０１２否定）、置換法符号器（２）２０７ｆは、本手順を終了する。このようにして、本手順によれば置換法符号器（２）２０７ｆは、Ｉ拘束条件を満足する符号ビット列をＩ拘束条件とＧ拘束条件を満足する符号ビット列に置換することができる。
【０１０１】
（６−５）第２の右端処理手順
次に、図２０を参照して、図３に示す右端処理符号器（２）２０７ｇの第２の右端処理手順について説明する。図２０は、図３に示す右端処理符号器（２）２０７ｇの第２の右端処理手順を示すフローチャートである。同図に示すように、右端処理符号器（２）２０７ｇは、符号ビット列のデータ部の長さが１０ビット以上であるか否かを調べる（ステップ２１０１）。
【０１０２】
その結果、符号ビット列のデータ部の長さが１０ビット以上である場合は（ステップ２１０１肯定）、右端処理符号器（２）２０７ｇは、さらに符号ビット列のデータ部の右端に６ビット以上の０ランがあるか否かを調べる（ステップＳ２１０２）。その結果、符号ビット列のデータ部の右端に６ビット以上の０ランがある場合は（ステップ２１０２肯定）、右端処理符号器（２）２０７ｇは、符号ビット列の右端の１０ビットを除去し、アドレス列に変換し（ステップＳ２１０３）、ピボットをＰ＝０にリセットする（ステップＳ２１０４）。一方、符号ビット列のデータ部の右端に６ビット以上の０ランがない場合は（ステップ２１０２肯定）、右端処理符号器（２）２０７ｇは、本手順を終了する。
【０１０３】
一方、符号ビット列のデータ部の長さが１０ビット未満である場合は（ステップ２１０１否定）、右端処理符号器（２）２０７ｇは、さらに符号ビット列のデータ部の右端に６ビット以上の０ランがあるか否かを調べる（ステップＳ２１０５）。その結果、符号ビット列のデータ部の右端に６ビット以上の０ランがない場合は（ステップＳ２１０５否定）、右端処理符号器（２）２０７ｇは、本手順を終了する。
【０１０４】
一方、符号ビット列のデータ部の右端に６ビット以上の０ランがある場合は（ステップＳ２１０５肯定）、右端処理符号器（２）２０７ｇは、データ部を特定のビット列を残したデータ部へ置き換える右端処理を行い（ステップＳ２１０６）、データ部の左隣のデリミタの値を０に変更する（ステップＳ２１０７）。このようにして、本手順に依れば右端処理符号器（２）２０７ｇは、Ｉ拘束条件を満足し、さらに符号ビット列間におけるＧ拘束条件を満足するように変換することができる。
【０１０５】
（７）ＲＬＬ復号器の復号化手順
次に、図２１および図２２を参照して、図４に示すＲＬＬ復号器２３７の復号化手順について説明する。図２１は、図４に示すＲＬＬ復号器の復号処理手順の内の第２の右端処理手順、第２の置換処理手順およびデインターリーブ処理手順を示すフローチャートである。また、図２２は、図４に示すＲＬＬ復号器の復号処理手順の内の中間処理手順、左端処理手順、第１の右端処理手順および第１の置換処理手順を示すフローチャートである。ここでは、（７−１）第２の右端処理手順、第２の置換処理手順およびデインターリーブ処理手順、（７−２）中間処理手順、左端処理手順、第１の右端処理手順および第１の置換処理手順の順番で説明する。
【０１０６】
（７−１）第２の右端処理手順、第２の置換処理手順およびデインターリーブ処理手順
図２１に示すように、右端処理復号器（２）２３７ｂは、符号ビット列のピボットがＰ＝０であるか否かを調べる（ステップＳ２３０１）。その結果、符号ビット列のピボットがＰ＝１である場合は（ステップＳ２３０１否定）、右端処理復号器（２）２３７ｂは、ステップＳ２３０８に進む。
【０１０７】
一方、符号ビット列のピボットがＰ＝０である場合は（ステップＳ２３０１肯定）、右端処復号器（２）２３７ｂは、符号ビット列のアドレス列のデリミタＤが全て０であるか否かを調べる（ステップＳ２３０２）。その結果、符号ビット列のアドレス列のデリミタＤが全て０である場合は（ステップＳ２３０２肯定）、右端処理復号器（２）２３７ｂは、右端処理符号器（２）２０７ｇが行った第２の右端処理手順（オプション）の変換を逆に辿ってデータ部を元に戻す（ステップＳ２３０３）。
【０１０８】
一方、符号ビット列のアドレス列のデリミタＤが全て０でない場合は（ステップＳ２３０２否定）、右端処理復号器（２）２３７ｂは、さらに符号ビット列のアドレス列に“１１１＊＊＊＊＊０Ｄ”があるか否かを調べる（ステップＳ２３０４）。なお、ここで“＊”は、０または１である。その結果、符号ビット列のアドレス列に“１１１＊＊＊＊＊０Ｄ”がある場合は（ステップＳ２３０４肯定）、右端処理復号器（２）２３７ｂは、符号ビット列の右端に“＊＊＊＊＊００００００”を戻す（ステップＳ２３０５）。
【０１０９】
一方、符号ビット列のアドレス列に“１１１＊＊＊＊＊０Ｄ”がない場合は（ステップＳ２３０４否定）、置換法復号器（２）２３７ｃは、符号ビット列のアドレス列にＭ＝０となるアドレスが残っているか否かを調べる（ステップＳ２３０６）。その結果、符号ビット列のアドレス列にＭ＝０となるアドレスが残っている場合は（ステップＳ２３０６肯定）、置換法復号器（２）２３７ｃは、Ｍ＝０となる各アドレス列のアドレスコードに対応する場所へ１０ビットの０ランを挿入する（ステップＳ２３０７）。
【０１１０】
一方、符号ビット列のアドレス列にＭ＝０となるアドレスが残ってない場合は（ステップＳ２３０６否定）、デインターリーブ復号器２３７ｄは、インターリーブされた符号ビット列のデータ部を元に戻す（ステップＳ２３０８）。このようにして、本手順に依れば、Ｇ拘束条件およびＩ拘束条件を同時に満足する符号ビット列をＧ拘束条件を満足する符号ビット列に復号化することができる。
【０１１１】
（７−２）中間処理手順、左端処理手順、第１の右端処理手順および第１の置換処理手順
図２２に示すように、中間処理復号器２３７ｅは、符号ビット列のピボットがＰ＝０か否かを調べる（ステップＳ２４０１）。その結果、符号ビット列のピボットがＰ＝１である場合は（ステップＳ２４０１否定）、中間処理復号器２３７ｅは、本手順を終了する。
【０１１２】
一方、符号ビット列のピボットがＰ＝０である場合は（ステップＳ２４０１肯定）、中間処理復号器２３７ｅは、符号ビット列のアドレス列に“１１０＊＊＊＊＊１Ｄ”があるか否かを調べる（ステップＳ２４０２）。なお、“＊”は、０または１である。その結果
、符号ビット列のアドレス列に“１１０＊＊＊＊＊１Ｄ”がある場合は（ステップＳ２４０２肯定）、中間処理復号器２３７ｅは、符号ビット列のデータ部の中間に“００００００＊＊＊＊＊”を戻す（ステップＳ２４０３）。
【０１１３】
一方、符号ビット列のアドレス列に“１１０＊＊＊＊＊１Ｄ”がない場合は（ステップＳ２４０２否定）、左端処理復号器２３７ｆは、さらに符号ビット列のアドレス列に“１０１１＊＊＊＊１Ｄ”があるか否かを調べる（ステップＳ２４０４）。その結果、符号ビット列のアドレス列に“１０１１＊＊＊＊１Ｄ”がある場合は（ステップＳ２４０４肯定）、左端処理復号器２３７ｆは、符号ビット列のデータ部の左端に“００００００＊＊＊＊”を戻す（ステップＳ２４０５）。
【０１１４】
一方、符号ビット列のアドレス列に“１０１１＊＊＊＊１Ｄ”がない場合は（ステップＳ２４０４否定）、右端処理復号器（１）２３７ｇは、さらに符号ビット列のアドレス列に“１１１＊＊＊＊＊１Ｄ”があるか否かを調べる（ステップＳ２４０６）。その結果、符号ビット列のアドレス列に“１１１＊＊＊＊＊１Ｄ”がある場合は（ステップＳ２４０６肯定）、右端処理復号器（１）２３７ｇは、符号ビット列のデータ部の右端に“＊＊＊＊＊００００００”を戻す（ステップＳ２４０７）。
【０１１５】
一方、符号ビット列のアドレス列に“１１１＊＊＊＊＊１Ｄ”がない場合は（ステップＳ２４０６否定）、置換法復号器（１）２３７ｈは、さらに符号ビット列のアドレス列にＭ＝１となるアドレスが残っているか否かを調べる（ステップＳ２４０８）。その結果、符号ビット列のアドレス列にＭ＝１となるアドレスが残っている場合は（ステップＳ２４０８肯定）、Ｍ＝１となる各アドレス列のアドレスコードに対応する場所へ１０ビットの０ランを挿入する（ステップＳ２４０９）。一方、符号ビット列のアドレス列にＭ＝１となるアドレスが残っていない場合は（ステップＳ２４０８否定）、置換法復号器（１）２３７ｈは、本手順を終了する。このようにして、本手順に依ればＧ拘束条件を満足する符号ビット列を情報ビット列に復号化することができる。
【０１１６】
上述してきたように、本実施例１では、ＲＬＬ符号器２０７は、情報ビット列を０ランに関する複数の拘束条件を満足する高符号化率ＲＬＬ符号である符号ビット列に符号化し、ＲＬＬ復号器２３７は、ＲＬＬ符号器２０７によって符号化された符号ビット列を情報ビット列に復号化することとしたので、０ランに関する複数の拘束条件を満足する高符号化率のＲＬＬ符号に対して符号化、復号化ができる。
【０１１７】
また、符号ビット列は、符号ビットの先頭にあり、情報ビット列が拘束条件に違反しているビット列を含んでいたか否かを識別する１ビットのデータであるピボットと、拘束条件に違反しているビット列のアドレス情報を示すビット列であるアドレス列と、情報ビットから拘束条件に違反しているビット列を抜き取ったビット列であるデータ列とを有し、アドレス列は、拘束条件に違反しているビット列の位置情報と、データ列のインターリーブ処理を行った回数であるマーカと、アドレス列に続くビット列が他のアドレス列であるか、データ列であるかを識別するデリミタとを有し、符号器２０７ａ〜２０７ｄ、２０７ｆ〜２０７ｇは、拘束条件に違反しているビット列とアドレス列とを置換処理し、インターリーブ符号器２０７ｅは、データ列を複数のビット列に分割し、複数のビット列から順番に１ビットづつビットを取り出して、取り出したビットを１ビットづつ順番に並べて新たに生成したビット列とデータ列とを交換するインターリーブ処理をし、ＲＬＬ符号器２０７は、置換処理とインターリーブ処理を複数回交互に行って、情報ビット列を複数の拘束条件を満足する符号ビット列に符号化することとしたので、０ランに関する複数の拘束条件を満足する高符号化率のＲＬＬ符号に対して用いることができる。
【０１１８】
また、ＲＬＬ符号器２０７は、情報ビット列を用いて、情報ビット列の内の連続する０の最大ビット数を限定するＧ拘束条件と、情報ビット列の内の偶数ビットまたは奇数ビットに関する連続する０の最大ビット数を限定するＩ拘束条件とを同時に満足する符号ビット列に符号化することとしたので、Ｇ拘束条件とＩ拘束条件を満足する高符号化率のＲＬＬ符号に対して用いることができる。
【０１１９】
また、置換法符号器（１）２０７ａは、情報ビット列のＧ拘束条件に違反しているビット列から最大ビット数のビット列を抜き取って、抜き取ったビット列をアドレス列に置換処理することとしたので、情報ビット列を、Ｇ拘束条件を満足する符号ビット列に符号化することができる。
【０１２０】
また、右端処理符号器（１）２０７ｂは、データ列からＩ拘束条件に違反するおそれのある右端の０のビット列を含む右端の最大ビット数のビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残したアドレス列に置き換える右端処理を行うこととしたので、情報ビット列を、Ｉ拘束条件を満足する符号ビット列に符号化することができる。
【０１２１】
また、左端処理符号器２０７ｃは、データ列からＩ拘束条件に違反するおそれのある左端の０のビット列を含む左端の最大ビット数のビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残したアドレス列に置き換える左端処理を行うこととしたので、情報ビット列を、Ｉ拘束条件を満足する符号ビット列に符号化することができる。
【０１２２】
また、中間処理符号器２０７ｄは、データ列を２つに等分割し、等分割したデータ列間の境界でＩ拘束条件に違反するおそれのある０のビット列を含む最大ビット数のビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残したアドレス列に置き換える中間処理を行い、インターリーブ符号器２０７ｅは、中間処理符号器２０７ｄによって中間処理された２つに等分割したデータ列のそれぞれから順次１ビットづつビットを取り出して、取り出したビットを１ビットづつ順次並べて新たに生成したビット列とデータ列とを交換するインターリーブ処理を行うこととしたので、情報ビット列を、Ｉ拘束条件を満足する符号ビット列に符号化することができる。
【０１２３】
また、置換法符号器（２）２０７ｆは、データ列のＧ拘束条件に違反しているビット列から最大ビット数のビット列を抜き取って、抜き取ったビット列をアドレス列に置換処理することとしたので、情報ビット列をＧ拘束条件とＩ拘束条件とを同時に満足する符号ビット列に符号化することができる。
【０１２４】
また、右端処理符号器（２）２０７ｇは、データ列のＧ拘束条件に違反をするおそれのある右端の０のビット列を含む最大ビット数のビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残したアドレス列に置き換える右端処理を行うこととしたので、符号ビット列間においてＧ拘束条件とＩ拘束条件とを同時に満足する高符号化率の符号ビット列に符号化することができる。
【０１２５】
また、右端処理符号器（２）２０７ｇは、データ列が最大ビット数未満であり、データ列がＧ拘束条件に違反するおそれがある場合、データ列の左隣のアドレス列のデリミタの値を変えて、データ列をデータ列の特定のビット列を残したデータ列に置き換える右端処理を行うこととしたので、情報ビット列のビット数が異なる場合にも、同じ拘束条件を満足する高符号化率の符号ビット列に符号化することができる。
【０１２６】
また、右端処理符号器（２）２０７ｇは、符号ビット列の右端のビット列と符号ビット列の右隣の符号ビット列のピボットと右隣の符号ビット列の左端のビット列とがＧ拘束条件に違反している場合は、右端のビット列を特定のアドレス列に右端処理し、右隣の符号ビット列のピボットの値を反転させることとしたので、隣接する符号ビット列間の拘束条件の違反を防ぐことができる。
【０１２７】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、上記特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。
【０１２８】
例えば、本実施例では、所定の数が２のＸ拘束条件、すなわちＩ拘束条件を用いて符号化を行う場合について説明したが、これだけに限定されるものではなく、所定の数が２以外のＸ拘束条件、所定の数が３や４のＸ拘束条件を用いて符号化を行う場合に適用することができる。
【０１２９】
また、本実施例では、情報ビット列が２００ビットの場合について説明したが、これだけに限定されるものではなく、情報ビット列が２００ビット以外の場合、例えば情報ビット列が２０７ビット、２０８ビットの場合に適用することができる。
【０１３０】
（付記１）情報語を示す複数の連続したビットである情報ビット列を符号語を示す複数の連続したビットである符号ビット列に符号化する符号器と該符号ビット列を該情報ビット列に復号化する復号器を有する記録再生装置であって、
前記符号器は、
前記情報ビット列を連続する０の列に関する複数の拘束条件を満足する高符号化率ランレングス限定符号である符号ビット列に符号化する符号化手段を備え、
前記復号器は、
前記符号化手段によって符号化された符号ビット列を前記情報ビット列に復号化する復号化手段を備えたことを特徴とする記録再生装置。
【０１３１】
（付記２）前記符号ビット列は、該符号ビットの先頭にあり、前記情報ビット列が前記拘束条件に違反しているビット列を含んでいたか否かを識別する１ビットのデータであるピボットと、前記拘束条件に違反しているビット列のアドレス情報を示すビット列であるアドレス列と、前記情報ビットから前記拘束条件に違反しているビット列を抜き取ったビット列であるデータ列とを有し、
前記アドレス列は、前記拘束条件に違反しているビット列の位置情報と、前記データ列のインターリーブ処理を行った回数であるマーカと、該アドレス列に続くビット列が他のアドレス列であるか、前記データ列であるかを識別するデリミタとを有し、
前記拘束条件に違反しているビット列と前記アドレス列とを置換処理する置換処理手段と、
前記データ列を複数のビット列に分割し、該複数のビット列から順番に１ビットづつビットを取り出して、取り出したビットを１ビットづつ順番に並べて新たに生成したビット列と該データ列とを交換するインターリーブ処理を行うインターリーブ処理手段と、
をさらに備え、
前記符号化手段は、前記置換処理手段による置換処理と前記インターリーブ処理手段によるインターリーブ処理とを複数回交互に行って、前記情報ビット列を前記複数の拘束条件を満足する符号ビット列に符号化することを特徴とする付記１に記載の記録再生装置。
【０１３２】
（付記３）前記符号化手段は、前記情報ビット列を用いて、該情報ビット列の内の連続する０の最大ビット数を限定するＧ拘束条件と、該情報ビット列の所定の数のビット毎の連続する０の最大ビット数を限定するＸ拘束条件とを同時に満足する符号ビット列に符号化することを特徴とする付記１または２に記載の記録再生装置。
【０１３３】
（付記４）前記情報ビット列の前記Ｇ拘束条件に違反しているビット列から前記最大ビット数のビット列を抜き取って、抜き取ったビット列を前記アドレス列に置換処理する第１の置換処理手段をさらに備え、
前記符号化手段は、前記第１の置換処理手段によって前記情報ビット列を、前記Ｇ拘束条件を満足する符号ビット列に符号化することを特徴とする付記１、２または３に記載の記録再生装置。
【０１３４】
（付記５）前記データ列から前記Ｘ拘束条件に違反するおそれのある右端の０のビット列を含む右端の前記最大ビット数のビット列を抜き取って、抜き取ったビット列を該ビット列の特定のビット列を残した前記アドレス列に置き換える右端処理を行う第１の右端処理手段をさらに備え、
前記符号化手段は、前記第１の右端処理手段によって前記情報ビット列を、前記Ｘ拘束条件を満足する符号ビット列に符号化することを特徴とする付記１〜４のいずれか一つに記載の記録再生装置。
【０１３５】
（付記６）前記データ列から前記Ｘ拘束条件に違反するおそれのある左端の０のビット列を含む左端の前記最大ビット数のビット列を抜き取って、抜き取ったビット列を該ビット列の特定のビット列を残した前記アドレス列に置き換える左端処理を行う左端処理手段をさらに備え、
前記符号化手段は、前記左端処理手段によって前記情報ビット列を、前記Ｘ拘束条件を満足する符号ビット列に符号化することを特徴とする付記１〜５のいずれか一つに記載の記録再生装置。
【０１３６】
（付記７）前記データ列を前記所定の数に等分割し、等分割したデータ列間の境界のそれぞれで前記Ｘ拘束条件に違反するおそれのある０のビット列を含む前記最大ビット数のビット列を抜き取って、抜き取ったビット列を該ビット列の特定のビット列を残した前記アドレス列に置き換える中間処理を行う中間処理手段と、
前記中間処理手段によって中間処理された前記所定の数に等分割したデータ列のそれぞれから順次１ビットづつビットを取り出して、取り出したビットを１ビットづつ順次並べて新たに生成したビット列と該データ列とを交換するインターリーブ処理を行うインターリーブ処理手段と、
をさらに備え、
前記符号化手段は、前記中間処理手段と前記インターリーブ手段によって前記情報ビット列を、前記Ｘ拘束条件を満足する符号ビット列に符号化することを特徴とする付記１〜６のいずれか一つに記載の記録再生装置。
【０１３７】
（付記８）前記データ列の前記Ｇ拘束条件に違反しているビット列から前記最大ビット数のビット列を抜き取って、抜き取ったビット列を該ビット列の前記アドレス列に置換処理する第２の置換処理手段を備え、
前記符号化手段は、前記第２の置換処理手段によって前記情報ビット列を前記Ｇ拘束条件と前記Ｘ拘束条件とを同時に満足する符号ビット列に符号化することを特徴とする付記１〜７のいずれか一つに記載の記録再生装置。
【０１３８】
（付記９）前記データ列の前記Ｇ拘束条件に違反をするおそれのある右端の０のビット列を含む前記最大ビット数のビット列を抜き取って、抜き取ったビット列を該ビット列の特定のビット列を残した前記アドレス列に置き換える右端処理を行う第２の右端処理手段をさらに備え、
前記符号化手段は、前記第２の右端処理手段によって前記符号ビット列間において前記Ｇ拘束条件と前記Ｘ拘束条件とを同時に満足する高符号化率の符号ビット列に符号化することを特徴とする付記１〜８のいずれか一つに記載の記録再生装置。
【０１３９】
（付記１０）前記第２の右端処理手段は、前記データ列が前記最大ビット数未満であり、該データ列が前記Ｇ拘束条件に違反するおそれがある場合、該データ列の左隣の前記アドレス列のデリミタの値を変えて、該データ列を該データ列の特定のビット列を残した前記データ列に置き換える右端処理を行うことを特徴とする付記１〜９のいずれか一つに記載の記録再生装置。
【０１４０】
（付記１１）前記第２の右端処理手段は、前記符号ビット列の右端のビット列と該符号ビット列の右隣の符号ビット列の前記ピボットと該右隣の符号ビット列の左端のビット列とが前記Ｇ拘束条件に違反している場合は、該右端のビット列を特定のアドレス列に置換し、該右隣の符号ビット列のピボットの値を反転させることを特徴とする付記１〜１０のいずれか一つに記載の記録再生装置。
【０１４１】
（付記１２）前記第１の置換処理手段と前記第２の置換処理手段は、前記Ｇ拘束条件および前記Ｘ拘束条件に違反するおそれのあるビット列を除いたアドレスコード変換表を用いて前記アドレス列を生成することを特徴とする付記４または８に記載の記録再生装置。
【０１４２】
（付記１３）情報語を示す複数の連続したビットである情報ビット列を符号語を示す複数の連続したビットである符号ビット列に符号化する符号器と該符号ビット列を該情報ビット列に復号化する復号器を有する記録再生装置に用いられる記録再生方法であって、
前記符号器は、
前記情報ビット列を連続する０の列に関する複数の拘束条件を満足する高符号化率ランレングス限定符号である符号ビット列に符号化する符号化工程を含み、
前記復号器は、
前記符号化工程によって符号化された符号ビット列を前記情報ビット列に復号化する復号化工程を含んだことを特徴とする記録再生方法。
【０１４３】
（付記１４）前記符号ビット列は、該符号ビットの先頭にあり、前記情報ビット列が前記拘束条件に違反しているビット列を含んでいたか否かを識別する１ビットのデータであるピボットと、前記拘束条件に違反しているビット列のアドレス情報を示すビット列であるアドレス列と、前記情報ビットから前記拘束条件に違反しているビット列を抜き取ったビット列であるデータ列とを有し、
前記アドレス列は、前記拘束条件に違反しているビット列の位置情報と、前記データ列のインターリーブ処理を行った回数であるマーカと、該アドレス列に続くビット列が他のアドレス列であるか、前記データ列であるかを識別するデリミタとを有し、
前記拘束条件に違反しているビット列と前記アドレス列とを置換処理する置換処理工程と、
前記データ列を複数のビット列に分割し、該複数のビット列から順番に１ビットづつビットを取り出して、取り出したビットを１ビットづつ順番に並べて新たに生成したビット列と該データ列とを交換するインターリーブ処理を行うインターリーブ処理工程と、
をさらに含み、
前記符号化工程は、前記置換処理工程による置換処理と前記インターリーブ処理工程によるインターリーブ処理とを複数回交互に行って、前記情報ビット列を前記複数の拘束条件を満足する符号ビット列に符号化することを特徴とする付記１３に記載の記録再生方法。
【０１４４】
（付記１５）前記符号化工程は、前記情報ビット列を用いて、該情報ビット列の内の連続する０の最大ビット数を限定するＧ拘束条件と、該情報ビット列の所定の数のビット毎の連続する０の最大ビット数を限定するＸ拘束条件とを同時に満足する符号ビット列に符号化することを特徴とする付記１３または１４に記載の記録再生方法。
【０１４５】
（付記１６）情報語を示す複数の連続したビットである情報ビット列を符号語を示す複数の連続したビットである符号ビット列に符号化する符号器と該符号ビット列を該情報ビット列に復号化する復号器を有する記録再生装置に用いられる記録再生プログラムであって、
前記符号器は、
前記情報ビット列を連続する０の列に関する複数の拘束条件を満足する高符号化率ランレングス限定符号である符号ビット列に符号化する符号化手順をコンピュータに実行させ、
前記復号器は、
前記符号化手順によって符号化された符号ビット列を前記情報ビット列に復号化する復号化手順をコンピュータに実行させることを特徴とする記録再生プログラム。
【０１４６】
（付記１７）前記符号ビット列は、該符号ビットの先頭にあり、前記情報ビット列が前記拘束条件に違反しているビット列を含んでいたか否かを識別する１ビットのデータであるピボットと、前記拘束条件に違反しているビット列のアドレス情報を示すビット列であるアドレス列と、前記情報ビットから前記拘束条件に違反しているビット列を抜き取ったビット列であるデータ列とを有し、
前記アドレス列は、前記拘束条件に違反しているビット列の位置情報と、前記データ列のインターリーブ処理を行った回数であるマーカと、該アドレス列に続くビット列が他のアドレス列であるか、前記データ列であるかを識別するデリミタとを有し、
前記拘束条件に違反しているビット列と前記アドレス列とを置換処理する置換処理手順と、
前記データ列を複数のビット列に分割し、該複数のビット列から順番に１ビットづつビットを取り出して、取り出したビットを１ビットづつ順番に並べて新たに生成したビット列と該データ列とを交換するインターリーブ処理を行うインターリーブ処理手順と、
をさらにコンピュータに実行させ、
前記符号化手順は、前記置換処理手順による置換処理と前記インターリーブ処理手順によるインターリーブ処理とを複数回交互に行って、前記情報ビット列を前記複数の拘束条件を満足する符号ビット列に符号化することを特徴とする付記１６に記載の記録再生プログラム。
【０１４７】
（付記１８）前記符号化手順は、前記情報ビット列を用いて、該情報ビット列の内の連続する０の最大ビット数を限定するＧ拘束条件と、該情報ビット列の所定の数のビット毎の連続する０の最大ビット数を限定するＸ拘束条件とを同時に満足する符号ビット列に符号化することを特徴とする付記１６または１７に記載の記録再生プログラム。
【産業上の利用可能性】
【０１４８】
以上のように、本発明にかかる記録再生装置は、磁気記録再生装置に有用であり、特に、磁気ディスク装置、光ディスク装置、磁気光ディスク装置などに適している。
【図面の簡単な説明】
【０１４９】
【図１】実施例に係る記録再生装置の構成を示す機能ブロック図である。
【図２−１】図１に示すＲＬＬ符号器が満足するｒ＝５拘束条件の具体例を示す図である。
【図２−２】図１に示すＲＬＬ符号器が満足するｌ＝５拘束条件の具体例を示す図である。
【図２−３】図１に示すＲＬＬ符号器が満足するＲ＝５拘束条件の具体例を示す図である。
【図２−４】図１に示すＲＬＬ符号器が満足するＬ＝５拘束条件の具体例を示す図である。
【図３】図１に示すＲＬＬ符号器の構成を示す機能ブロック図である。
【図４】図１に示すＲＬＬ復号器の構成を示す機能ブロック図である。
【図５】図３に示す置換法符号器（１）が情報ビット列を符号ビット列に変換する一例を示す図である。
【図６】図３に示す右端処理符号器（１）が符号ビット列間におけるＩ＝１０拘束条件を満足するデータ部に変換する一例を示す図である。
【図７】図３に示す左端処理符号器が符号ビット列間におけるＩ＝１０拘束条件を満足する符号ビット列に変換する一例を示す図である。
【図８】図３に示す中間処理符号器がインターリーブ処理後に符号ビット列間におけるＩ＝１０拘束条件を満足するデータ部に変換する一例を示す図である。
【図９】図３に示すインターリーブがＧ＝１０拘束条件を満足していたデータ部をＩ＝１０拘束条件を満足するデータ部に変換する一例を示す図である。
【図１０】図３に示す右端処理符号器（２）が符号ビット列間におけるＧ＝１０拘束条件を満足する符号ビット列に変換する一例を示す図である。
【図１１】図３に示す右端処理符号器（２）が符号ビット列間におけるＧ＝１０拘束条件を満足する符号ビット列に変換する一例を示す図である。
【図１２−１】図３に示す右端処理符号器（２）の右端処理の別な例を示す図である。
【図１２−２】図３に示す右端処理符号器（２）の右端処理の別な例を示す図である。
【図１２−３】図３に示す右端処理符号器（２）の右端処理の別な例を示す図である。
【図１２−４】図３に示す右端処理符号器（２）の右端処理の別な例を示す図である。
【図１３−１】図３に示す右端処理符号器（２）の右端処理のさらに別な例を示す図である。
【図１３−２】図３に示す右端処理符号器（２）の右端処理のさらに別な例を示す図である。
【図１３−３】図３に示す右端処理符号器（２）の右端処理のさらに別な例を示す図である。
【図１３−４】図３に示す右端処理符号器（２）の右端処理のさらに別な例を示す図である。
【図１３−５】図３に示す右端処理符号器（２）の右端処理のさらに別な例を示す図である。
【図１３−６】図３に示す右端処理符号器（２）の右端処理のさらに別な例を示す図である。
【図１３−７】図３に示す右端処理符号器（２）の右端処理のさらに別な例を示す図である。
【図１３−８】図３に示す右端処理符号器（２）の右端処理のさらに別な例を示す図である。
【図１４】図５に示す情報ビット列の“１０”パターンの数からインターリーブ処理前の置換法符号器（１）の置換処理においてアドレスコードを求めるアドレスコード変換表の一例を示す図である。
【図１５】図５に示す情報ビット列の“１０”パターンの数からインターリーブ処理後の置換法符号器（２）の置換処理においてアドレスコードを求めるアドレスコード変換表の一例を示す図である。
【図１６】図３に示す置換法符号器（１）の第１の置換処理手順を示すフローチャートである。
【図１７】図３に示す右端処理符号器（１）および左端処理符号器の第１の右端処理手順と左端処理手順を示すフローチャートである。
【図１８】図３に示す中間処理符号器およびインターリーブ符号器の中間処理手順とインターリーブ処理手順を示すフローチャートである。
【図１９】図３に示す置換法符号器（２）の第２の置換処理手順を示すフローチャートである。
【図２０】図３に示す右端処理符号器（２）の第２の右端処理手順を示すフローチャートである。
【図２１】図４に示すＲＬＬ復号器の復号処理手順の内の第２の右端処理手順、第２の置換処理手順およびデインターリーブ処理手順を示すフローチャートである。
【図２２】図４に示すＲＬＬ復号器の復号処理手順の内の中間処理手順、左端処理手順、第１の右端処理手順および第１の置換処理手順を示すフローチャートである。
【符号の説明】
【０１５０】
１ａ、２ａ、３ａ、３ｂ、４ａ、４ｂ    拘束条件違反していない符号ビット列
１ｂ、２ｂ、３ｃ、３ｄ、４ｃ、４ｄ    拘束条件違反している符号ビット列
６ａ    情報ビット列、
６ｂ、７ａ、７ｂ、８ａ、８ｂ、９ａ、９ｂ、１０ａ、１０ｂ、１１ａ、１１ｂ、１２ａ、１２ｂ    符号ビット列
６ｂ−１、７ａ−１、７ｂ−１、８ａ−１、８ｂ−１、９ａ−１、９ｂ−１、１０ａー１、１０ｂ−１、１１ａ−１、１１ｂ−１、１２ａ−１、１２ｂ−１    ピボット
６ｂ−２、７ａ−２、７ｂ−２、８ａ−２、８ｂ−２、９ａ−２、９ｂ−２、１０ａー２、１０ｂ−２、１１ａ―２、１１ｂ−２、１２ａー２、１２ｂ−２    アドレス部
６ｂ−３、７ａ−３、７ｂ−３、８ａ−３、８ｂ−３、９ａ−３、９ｂ−３、１０ａー３、１０ｂ−３、１１ａ−３、１１ｂ−３、１２ａ−３    データ部
６ｂ−２１、７ｂ−２１、８ｂ−２１、９ｂ−２１、１１ｂ−２１、１２ｂ−２１    アドレス列
６ｂ−２１ａ    アドレスコード
６ｂ−２１ｂ    マーカ
６ｂ−２１ｃ    デリミタ
１３−１ａ、１３−２ａ、１３−３ａ、１３−４ａ、１３−１ｂ、１３−２ｂ、１３−３ｂ、１３−４ｂ、１４−１１ａ、１４−１２ａ、１４−２１ａ、１４−２２ａ、１４−３１ａ、１４−３２ａ、１４−４１ａ、１４−４２ａ、１４−５１ａ、１４−５２ａ、１４−６１ａ、１４−６２ａ、１４−７１ａ、１４−７２ａ、１４−８１ａ、１４−８２ａ、１４−１１ｂ、１４−１２ｂ、１４−２１ｂ、１４−２２ｂ、１４−３１ｂ、１４−３２ｂ、１４−４１ｂ、１４−４２ｂ、１４−５１ｂ、１４−５２ｂ、１４−６１ｂ、１４−６２ｂ、１４−７１ｂ、１４−７２ｂ、１４−８１ｂ、１４−８２ｂ    符号ビット列
１５    インターリーブ処理前のアドレスコード変換表
１６    インターリーブ処理後のアドレスコード変換表
２０    記録再生装置
２００    ハードディスクコントローラまたはＨＤＣ
２０２    リードチャンネルまたはＲＤＣ
２０４    ヘッドＩＣ
２０６    ＣＲＣ符号器
２０７    ＲＬＬ符号器
２０７ａ    置換法符号器（１）
２０７ｂ    右端処理符号器（１）
２０７ｃ    左端処理符号器
２０７ｄ    中間処理符号器
２０７ｅ    インターリーブ符号器
２０７ｆ    置換法符号器（２）
２０７ｇ    右端処理符号器（２）
２０７ｈ    プリコーダ
２０８    ＥＣＣ符号器
２１２    記録補償部
２１４    ドライバ
２１６    ドライバ
２１８    アンプ
２２０    サーマルアスぺリティ検出部（ＴＡ検出部）
２２２    可変利得アンプ（ＶＧＡ）
２２４    ローパスフィルタ（ＬＰＦ）
２２６    ＡＤコンバータ（ＡＤＣ）
２２８    ＦＩＲフィルタ（ＦＩＲ）
２２９    ビタビ復号器
２３２    ＰＬＬ
２３４    自動利得制御器（ＡＧＣ）
２３６    ＥＣＣ復号器
２３７    ＲＬＬ復号器
２３７ａ    プリコーダ
２３７ｂ    右端処理復号器（２）
２３７ｃ    置換法復号器（２）
２３７ｄ    デインターリーブ復号器
２３７ｅ    中間処理復号器
２３７ｆ    左端処理復号器
２３７ｇ    右端処理復号器（１）
２３７ｈ    置換法復号器（１）
２３８    ＣＲＣ復号器
【図１】
2005302154.tif 000003
【図２−１】
2005302154.tif 000004
【図２−２】
2005302154.tif 000005
【図２−３】
2005302154.tif 000006
【図２−４】
2005302154.tif 000007
【図３】
2005302154.tif 000008
【図４】
2005302154.tif 000009
【図５】
2005302154.tif 000010
【図６】
2005302154.tif 000011
【図７】
2005302154.tif 000012
【図８】
2005302154.tif 000013
【図９】
2005302154.tif 000014
【図１０】
2005302154.tif 000015
【図１１】
2005302154.tif 000016
【図１２−１】
2005302154.tif 000017
【図１２−２】
2005302154.tif 000018
【図１２−３】
2005302154.tif 000019
【図１２−４】
2005302154.tif 000020
【図１３−１】
2005302154.tif 000021
【図１３−２】
2005302154.tif 000022
【図１３−３】
2005302154.tif 000023
【図１３−４】
2005302154.tif 000024
【図１３−５】
2005302154.tif 000025
【図１３−６】
2005302154.tif 000026
【図１３−７】
2005302154.tif 000027
【図１３−８】
2005302154.tif 000028
【図１４】
2005302154.tif 000029
【図１５】
2005302154.tif 000030
【図１６】
2005302154.tif 000031
【図１７】
2005302154.tif 000032
【図１８】
2005302154.tif 000033
【図１９】
2005302154.tif 000034
【図２０】
2005302154.tif 000035
【図２１】
2005302154.tif 000036
【図２２】
2005302154.tif 000037