(57)【要約】【課題】符号化率が高い場合にでも誤り率を改善し、回路規模を縮小可能にすること。【解決手段】記録再生装置１０のＧＳ符号器１０４が、入力されたビット列に対してスクランブルをおこなうことにより、符号化されたビット列を複数生成し、生成されたビット列内の所定の幅のビット列を１ビットずつシフトさせながら選択し、選択された各ビット列のＤＣ成分を評価し、評価された結果に基づいて、符号化された複数のビット列の中からＤＣ成分が抑制されたビット列を抽出する。【選択図】        図１
2006309910.tif 000002
【特許請求の範囲】
【請求項１】
ビット列の符号化を行う符号器であって、
入力されたビット列に対してスクランブルをおこなうことにより符号化されたビット列を生成する符号化ビット列生成手段と、
前記符号化ビット列生成手段により生成されたビット列内の所定の幅のビット列をＰ（Ｐは自然数）ビットずつシフトさせながら選択し、選択されたビット列のＤＣ成分を評価するＤＣ成分評価手段と、
前記ＤＣ成分評価手段により評価された結果に基づいてＤＣ成分が抑制されたビット列を出力するビット列出力手段と、
を備えたことを特徴とする符号器。
【請求項２】
前記符号化ビット列生成手段は、入力されたビット列に対してスクランブルをおこなうことにより符号化されたビット列を複数生成し、前記ＤＣ成分評価手段は、前記前記符号化ビット列生成手段により生成されたビット列内の所定の幅のビット列を１ビットずつシフトさせながら選択し、選択された各ビット列のＤＣ成分を評価し、前記ビット列出力手段は、前記ＤＣ成分評価手段により評価された結果に基づいて符号化された複数のビット列の中からＤＣ成分が抑制されたビット列を抽出して出力することを特徴とする請求項１に記載の符号器。
【請求項３】
前記符号化ビット列生成手段は、入力されたビット列にｎビットの互いに異なるビット列と特定のｑ（ｑは自然数）ビットとを付加してスクランブルをおこなうことにより符号化された複数のビット列を生成し、前記ビット列出力手段は、抽出したビット列から前記特定のｑビットを除去して出力することを特徴とする請求項２に記載の符号器。
【請求項４】
前記符号化ビット列生成手段は、符号化された各ビット列にパリティビットを付加し、前記ＤＣ成分評価手段は、パリティビットが付加されたビット列内の各ビット列のＤＣ成分を評価することを特徴とする請求項２または３に記載の符号器。
【請求項５】
前記ビット列出力手段により出力されたビット列に係るＲＬＬ符号化をおこなうＲＬＬ符号化手段をさらに備えたことを特徴とする請求項２に記載の符号器。
【請求項６】
前記ＤＣ成分評価手段は、Ｐ（Ｐは自然数）ビットずつシフトさせながら選択された所定の幅のビット列に対するＲＤＳ値を求めることによりビット列のＤＣ成分を評価することを特徴とする請求項１に記載の符号器。
【請求項７】
前記ＤＣ成分評価手段は、前記符号化ビット列生成手段により生成されたビット列内の所定の幅のビット列中のビットを、シフト回数および付加ビットに応じて異なる条件によって反転させることにより複数のビット列に対するＲＤＳ値を求め、当該複数のビット列のＤＣ成分を評価することを特徴とする請求項６に記載の符号器。
【請求項８】
前記ビット列出力手段は、前記ＤＣ成分評価手段により評価された結果に基づいてスクランブルを行いＤＣ成分が抑制されたビット列を出力することを特徴とする請求項１に記載の符号器。
【請求項９】
前記ビット列出力手段は、前記ＤＣ成分評価手段により評価された結果によって特定されるＤＣ成分が抑制されたビット列に付加されるｎ（ｎは自然数）ビットのビット列と、前記符号化ビット列生成手段により生成されたビット列との排他的論理和によるスクランブルをおこないＤＣ成分が抑制されたビット列を決定することを特徴とする請求項８に記載の符号器。
【請求項１０】
請求項１〜９のいずれか１つに記載の符号器により符号化されたビット列を復号化する復号化手段を備えたことを特徴とする復号器。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ビット列の符号化および復号化をおこなう符号器および復号器に関し、特に、符号化率が高い場合でも誤り率を改善し、回路規模を縮小可能にする符号器および復号器に関する。
【背景技術】
【０００２】
従来、磁気ディスクや光磁気ディスクなどの記憶装置にデータを記録する記録方式には、磁気ディスク面に沿って磁界をかける面内磁気記録方式と、磁気記録面に対して垂直に磁界をかける垂直磁気記録方式とがある。
【０００３】
垂直磁気記録方式は、面内磁気記録方式よりも熱ゆらぎに強く、面記録密度を高めることができる。そのため、近年、垂直磁気記録方式を用いた記憶装置の製品化が積極的に進められている。
【０００４】
面内磁気記録方式においては、記録再生信号の波形がパルス波であるのに対し、垂直磁気記録方式においては、記録再生信号の波形は矩形波となる。
【０００５】
ところが、磁気ヘッドを介して磁気記録面に対する情報の記録再生をおこなうプリアンプは、ハイパスフィルタ特性をもっているため、信号の低周波数領域が遮断されて矩形波の波形にひずみが生じ、信号の記録再生の誤り率が劣化しうるという問題がある。
【０００６】
この問題を解決するためには、リードチャネル（例えば、図１に示すリードチャネル１０１）に搭載されているベースライン補正処理を使用するか、矩形波信号のＤＣ（Direct Current，直流）成分を抑制する符号器および復号器を用いればよい。たとえば、このような符号器および復号器として、磁気ディスクや光磁気ディスクなどの記憶装置にすでに搭載されているＤＣフリーＲＬＬ（Run Length Limited）符号化方式を用いた符号器および復号器がある（たとえば、非特許文献１を参照）。
【０００７】
ここで、ＤＣフリーＲＬＬ符号化方式とは、信号のＤＣ成分を抑制する機能を備えたＲＬＬ符号化方式である。また、ＲＬＬ符号とは、ビット列において、連続する「０」の最小個数や最大個数を制限した符号である。
【０００８】
ＲＬＬ符号においては、連続する「０」の最大個数に係る制限をＧ拘束条件、偶数または奇数ビットにおいて連続する「０」の最大個数に係る制限をＩ拘束条件と呼び、これらの拘束条件を（０，Ｇ／Ｉ）などと表す。
【０００９】
Ｇ拘束条件を課すことにより、磁気ヘッドからのリード信号を復号する場合に、エラー伝播が抑制され、また、復号時の同期が取りやすくなる。また、Ｉ拘束条件を課すことにより、Ｇ拘束条件では抑制できないエラー伝播を抑制することができる。
【００１０】
ここで、ＤＣ成分が抑制されたか否かを評価する方法としては、ＲＤＳ（Running Digital Sum）のピーク値を求める方法がある。図４１は、ＤＣ成分の抑制量を評価する評価方法を説明する図である。
【００１１】
図４１に示すように、この評価方法では、記録再生信号のビット列のビット値が「０」の場合には「−１」を加算し、ビット値が「１」の場合には「１」を加算することによりＲＤＳ値を算出する。
【００１２】
そして、ビット列に含まれるすべてのビット値についてＲＤＳ値の算出が終了した後、ＲＤＳ値の絶対値が最大となるピーク値を求める。ここで、図４１の場合には、ピーク値は「３」となる。
【００１３】
ＤＣ成分を抑制するためには、このピーク値が小さいほどよく、ＲＤＳ値を調べることにより、ＤＣ成分の抑制量を評価することができる。したがって、ＤＣフリー符号とは、ピーク値を小さく抑えることのできる符号ということができる。
【００１４】
また、ＲＬＬ符号化方式では、変換表にしたがって符号化をおこなうが、符号化率（情報ビット長／符号ビット長）が大きくなると、変換表の規模が大きくなるため、符号化率が大きい場合でも効率的に符号化できる符号化方式が望まれる。
【００１５】
符号化率が比較的大きい場合にＤＣ成分を制御する方式として、GuidedScrambling方式がある。この方式では、記録再生信号のビット列を複数のスクランブル列に変換し、各スクランブル列のピーク値を算出する。そして、最もピーク値が小さいスクランブル列をＤＣ成分が抑制されたスクランブル列として選択する（たとえば、非特許文献２を参照）。
【００１６】
【非特許文献１】K. A. Schouhamer Immink, "Codes for Mass Data Storage Systems", The Netherlands, Shannon Foundation Publishers, November 2004
【非特許文献２】I. J. Fair, W. D. Grover, W. A. Krzymien, and R. I. MacDonald,"Guided Scrambling: A New Line Coding Technique for High Bit Rate Fiber Optic Transmission Systems", IEEE Transactions on Communications, Vol.39, No.2, February 1991
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、上述したGuided Scrambling方式による従来技術では、符号化率が極めて高い場合に、信号の記録再生の誤り率があまり改善しないという問題があった。
【００１８】
具体的には、現在記憶装置に用いられている面内磁気記憶方式の符号化率は０．９９以上と高いが、ＤＣ成分を抑制する垂直磁気記録方式において同様の符号化率が求められた場合に、Guided Scrambling方式を用いたとしても誤り率の改善効果が乏しかった。
【００１９】
また、従来のGuided Scrambling方式では、ビット列をスクランブル列に変換する複数のスクランブラにそれぞれＲＬＬ符号器を設ける必要があったが、符号化率が高いＲＬＬ符号器の回路規模は小さくなく、これを複数設けることは回路規模の増大に繋がるという問題があった。
【００２０】
そのため、垂直磁気記録方式において、符号化率が高い場合でも誤り率を改善し、回路規模を縮小することができる記録再生信号の符号器および復号器の開発が重要な課題となってきている。
【００２１】
本発明は、上述した従来技術による問題点を解消するためになされたものであり、ベースライン補正と組み合わせることにより、符号化率が高い場合でも誤り率を改善し、回路規模を縮小可能にする符号器および復号器を提供することを目的とする。
【課題を解決するための手段】
【００２２】
上述した課題を解決し、目的を達成するため、本発明は、ビット列の符号化を行う符号器であって、入力されたビット列に対してスクランブルをおこなうことにより符号化されたビット列を生成する符号化ビット列生成手段と、前記符号化ビット列生成手段により生成されたビット列内の所定の幅のビット列をＰ（Ｐは自然数）ビットずつシフトさせながら選択し、選択されたビット列のＤＣ成分を評価するＤＣ成分評価手段と、前記ＤＣ成分評価手段により評価された結果に基づいてＤＣ成分が抑制されたビット列を出力するビット列出力手段と、を備えたことを特徴とする。
【００２３】
また、本発明は、上記発明において、前記符号化ビット列生成手段は、入力されたビット列に対してスクランブルをおこなうことにより符号化されたビット列を複数生成し、前記ＤＣ成分評価手段は、前記前記符号化ビット列生成手段により生成されたビット列内の所定の幅のビット列を１ビットずつシフトさせながら選択し、選択された各ビット列のＤＣ成分を評価し、前記ビット列出力手段は、前記ＤＣ成分評価手段により評価された結果に基づいて符号化された複数のビット列の中からＤＣ成分が抑制されたビット列を抽出して出力することを特徴とする。
【００２４】
また、本発明は、上記発明において、前記符号化ビット列生成手段は、入力されたビット列にｎビットの互いに異なるビット列と特定のｑ（ｑは自然数）ビットとを付加してスクランブルをおこなうことにより符号化された複数のビット列を生成し、前記ビット列出力手段は、抽出したビット列から前記特定のｑビットを除去して出力することを特徴とする。
【００２５】
また、本発明は、上記発明において、前記符号化ビット列生成手段は、符号化された各ビット列にパリティビットを付加し、前記ＤＣ成分評価手段は、パリティビットが付加されたビット列内の各ビット列のＤＣ成分を評価することを特徴とする。
【００２６】
また、本発明は、上記発明において、前記ビット列出力手段により出力されたビット列に係るＲＬＬ符号化をおこなうＲＬＬ符号化手段をさらに備えたことを特徴とする。
【００２７】
また、本発明は、上記発明において、前記ＤＣ成分評価手段は、Ｐ（Ｐは自然数）ビットずつシフトさせながら選択された所定の幅のビット列に対するＲＤＳ値を求めることによりビット列のＤＣ成分を評価することを特徴とする。
【００２８】
また、本発明は、上記発明において、前記ＤＣ成分評価手段は、前記符号化ビット列生成手段により生成されたビット列内の所定の幅のビット列中のビットを、シフト回数および付加ビットに応じて異なる条件によって反転させることにより複数のビット列に対するＲＤＳ値を求め、当該複数のビット列のＤＣ成分を評価することを特徴とする。
【００２９】
また、本発明は、上記発明において、前記ビット列出力手段は、前記ＤＣ成分評価手段により評価された結果に基づいてスクランブルを行いＤＣ成分が抑制されたビット列を出力することを特徴とする。
【００３０】
また、本発明は、上記発明において、前記ビット列出力手段は、前記ＤＣ成分評価手段により評価された結果によって特定されるＤＣ成分が抑制されたビット列に付加されるｎ（ｎは自然数）ビットのビット列と、前記符号化ビット列生成手段により生成されたビット列との排他的論理和によるスクランブルをおこないＤＣ成分が抑制されたビット列を決定することを特徴とする。
【００３１】
また、本発明は、上記発明のいずれか１つに記載の符号器により符号化されたビット列を復号化する復号化手段を復号器が備えたことを特徴とする。
【００３２】
また、本発明は、ビット列の符号化をおこなう符号化方法であって、入力されたビット列に対してスクランブルをおこなうことにより符号化されたビット列を生成する符号化ビット列生成工程と、前記符号化ビット列生成工程により生成されたビット列内の所定の幅のビット列を１ビットずつシフトさせながら選択し、選択された各ビット列のＤＣ成分を評価するＤＣ成分評価工程と、前記ＤＣ成分評価工程により評価された結果に基づいて符号化された複数のビット列の中からＤＣ成分が抑制されたビット列を抽出するビット列抽出工程と、を含んだことを特徴とする。
【発明の効果】
【００３３】
本発明によれば、入力されたビット列に対してスクランブルを行うことにより、符号化されたビット列を生成し、生成されたビット列内の所定の幅のビット列を１ビットずつシフトさせながら選択し、選択されたビット列のＤＣ成分を評価し、評価された結果に基づいてビット列を出力するので、ＤＣ成分が抑制されたビット列を得るという効果を奏する。
【００３４】
また、本発明によれば、入力されたビット列に対してスクランブルをおこなうことにより符号化されたビット列を複数生成し、生成されたビット列内の所定の幅のビット列を１ビットずつシフトさせながら選択し、選択された各ビット列のＤＣ成分を評価し、評価された結果に基づいて符号化された複数のビット列の中からＤＣ成分が抑制されたビット列を抽出することとしたので、ベースライン補正と組み合わせることにより、符号化率が高い場合でもＤＣ成分を効果的に抑制して誤り率を改善することができ、また、スクランブルがなされたビット列のうちＤＣ成分が抑制されたビット列のみを抽出してその後にＲＬＬ符号化をおこなうので、従来のGuided Scrambling方式のようにスクランブルがなされた複数のビット列すべてについて符号化をおこなう必要がなくなり、回路規模を縮小することができるという効果を奏する。
【００３５】
また、本発明によれば、入力されたビット列にｎビットの互いに異なるビット列と特定のｑビットとを付加してスクランブルをおこなうことにより符号化された複数のビット列を生成し、また、ＤＣ成分が抑制されたビット列が抽出された場合に、抽出されたビット列から上記特定のｑビットを除去して出力することとしたので、スクランブルされたビット列の数を１／２＾ｑに減らすことができるとともに、符号化率を高めることができるという効果を奏する。
【００３６】
また、本発明によれば、スクランブルにより符号化がなされたビット列にパリティビットを付加し、パリティビットが付加されたビット列内の各ビット列のＤＣ成分を評価することとしたので、記憶装置などに記憶されるときのビット列の状態と同じ状態でビット列のＤＣ成分を評価することができるという効果を奏する。
【００３７】
また、本発明によれば、パリティビットが付加されたビット列内の各ビット列のＤＣ成分が評価され、ＤＣ成分が抑制されたビット列が抽出された後、抽出されたビット列からパリティビットを除去してビット列を出力することとしたので、パリティビットのない状態にもどしてビット列を出力することによりパリティビットを付加する他の符号器に影響を及ぼすことなくビット列の符号化をおこなうことができるという効果を奏する。
【００３８】
また、本発明によれば、１ビットずつシフトさせながら選択された所定の幅の各ビット列に対してＲＤＳ値を求めることにより各ビット列のＤＣ成分を評価することとしたので、ＲＤＳ値を用いることにより効果的にＤＣ成分の評価をおこなうことができるという効果を奏する。
【００３９】
また、本発明によれば、スクランブルにより符号化されたビット列に対してさらにＲＬＬ符号化をおこない、ＲＬＬ符号化がなされたビット列内の所定の幅のビット列を選択することとしたので、従来のGuided Scrambling方式のようにスクランブルがなされた複数のビット列すべてについて符号化をおこなうこともでき、符号化率が高い場合でもＤＣ成分を効果的に抑制して誤り率を改善することができるという効果を奏する。
【００４０】
また、本発明によれば、ＤＣ成分が抑制されたビット列に係るＲＬＬ符号化をおこなうこととしたので、スクランブルがなされた複数のビット列のうちＤＣ成分が抑制されたビット列のみを抽出してＲＬＬ符号化をおこなうことができ、従来のGuided Scrambling方式のようにスクランブルがなされた複数のビット列すべてについてＲＬＬ符号化をおこなう必要がなくなるため、回路規模を縮小することができるという効果を奏する。
【００４１】
また、本発明によれば、同一ビット値の連続数に係る所定の拘束条件をビット列が満足する場合にはＲＬＬ符号化をおこなうことなくビット列を出力することとしたので、拘束条件を満足する場合には、ＤＣ成分が抑制された状態のままビット列を出力することができるという効果を奏する。
【００４２】
また、本発明によれば、同一ビット値の連続数を制限する拘束条件に対する違反を解消するようビット列のＲＬＬ符号化をおこなうこととしたので、同一ビット値の連続数を制限することにより、ビット列のエラー伝播を抑制し、ビット列の復号時の同期を取りやすくすることができるという効果を奏する。
【００４３】
また、本発明によれば、ビット列において所定のビット数おきの同一ビット値の連続数を制限する拘束条件に対する違反をさらに解消するようビット列のＲＬＬ符号化をおこなうこととしたので、ビット列のエラー伝播をさらに抑制することができるという効果を奏する。
【００４４】
また、本発明によれば、ビット列が同一ビット値の連続数に係る所定の拘束条件に違反した場合に１のビットをビット列に付加し、ビット列が上記拘束条件に違反しなかった場合に０のビットをビット列に付加することとしたので、ビット列が拘束条件に違反したか否かを容易に判定し、拘束条件に違反していない場合には、ＤＣ成分が抑制された状態のままビット列を出力することができるという効果を奏する。
【００４５】
また、本発明によれば、ＤＣ成分が抑制されたビット列が出力された後、ビット列に係るＮＲＺ符号化およびＮＲＺ復号化をおこなうこととしたので、ＤＣ成分が抑制されたビット列に対して上記処理をおこなうことにより、拘束条件に違反していない場合には、ＤＣ成分が抑制された状態のままビット列を出力することができるという効果を奏する。
【００４６】
また、本発明によれば、ＤＣ成分が抑制されたビット列に係る周波数特性を検出することとしたので、ＤＣ成分の抑制の度合いを容易に調べることができるという効果を奏する。
【００４７】
また、本発明によれば、生成されたビット列内の所定の幅のビット列をＰ（Ｐは自然数）ビットずつシフトさせながら選択し、選択された各ビット列のＤＣ成分を評価するので、ＲＤＳ計算およびＤＣ成分評価にかかる演算処理を簡略化することができる。
【００４８】
また、本発明によれば、生成されたビット列内の所定幅のビット列中のビットを、反転条件によって反転させることにより複数のビット列に対するＲＤＳ値を求め、複数のビット列のＤＣ成分を評価するので、評価対象のスクランブルビット列をそれぞれ求めなくとも、スクランブルされた単一のビット列を求めるだけで、複数のビット列に対するＤＣ成分を評価することができる。
【００４９】
また、本発明によれば、ＤＣ成分の評価結果に基づいてスクランブルをおこない、ＤＣ成分が抑制されたビット列を出力するので、複数のビット列に対して予めスクランブルを行う必要がなくなり、必要なビット列に対してスクランブルを行えばよいので、スクランブルにかかる計算量を大幅に削減することができる。
【００５０】
また、本発明によれば、ＤＣ成分の評価結果によって特定される付加ビットとスクランブルされたビット列との排他的論理和によるスクランブルを実行し、ＤＣ成分が抑制されたビット列を出力するので、複数のビット列に対して予めスクランブルを行う必要がなくなり、必要なビット列に対して簡便な排他的論理和によるスクランブルを行えばよいので、スクランブルにかかる計算量を大幅に削減することができる。
【００５１】
また、本発明によれば、上記符号器により符号化されたビット列を復号化することとしたので、ＤＣ成分を抑制した符号化ビット列を復号化することができるという効果を奏する。
【発明を実施するための最良の形態】
【００５２】
以下に添付図面を参照して、本発明に係る符号器および復号器の好適な実施例を詳細に説明する。
【実施例１】
【００５３】
まず、図１を参照して、記録再生装置の符号器および復号器の概要と主要な特徴について説明する。図１は、実施例１に係る記録再生装置の構成を示す機能ブロック図である。
【００５４】
なお、以下では、ハードディスクに対して情報の記録再生をおこなう装置を例にして説明をおこなうが、光磁気ディスクなどに対して情報の記録再生をおこなう他の装置に対しても本発明を同様に適用することができる。
【００５５】
図１に示すように、本実施例１に係る記録再生装置１０は、ハードディスクに対して情報の記録再生をおこなう装置であり、ハードディスクコントローラ（以下においては「ＨＤＣ」という。）１００、リードチャンネル（以下においては「ＲＤＣ」という。）１０１、プリアンプ１０２を有する。
【００５６】
データを記録する場合、ＨＤＣ１００は、ＣＲＣ（Cyclic Redundancy Check）符号器１０３、ＧＳ（Guided Scrambling）符号器１０４、ＨＲ−ＲＬＬ（High Rate Run Length Limited）符号器１０５、ＥＣＣ（Error Correcting Code）符号器１０６、Ｐ−ＲＬＬ（Parity Run Length Limited）符号器１０７を介して符号化を行う。
【００５７】
ＣＲＣ符号器１０３は、巡回符号を用いて誤り検出をおこなうために用いられる符号器である。ＧＳ符号器１０４は、入力された情報ビット列を複数のスクランブル列に変換し、それらのスクランブル列の中からＤＣ成分が抑制されたスクランブル列を１つ決定して出力する。
【００５８】
図２は、ＧＳ符号器１０４がおこなう符号化処理を説明する図である。図２の例では、入力列２０は５２０ビットであり、出力列２１は５２３ビットとなる。まず、この符号化処理においては、ＧＳ符号器１０４は、入力列に対して８種類の３ビットの付加ビット（「０００」、「００１」、「０１０」、「０１１」、「１００」、「１０１」、「１１０」、「１１１」）を挿入し（ステップＳ１０１）、スクランブル処理をおこなう（ステップＳ１０２）。
【００５９】
図３は、ＧＳ符号器１０４がおこなうスクランブル処理を説明する図である。ここでは、スクランブル列を生成するためのスクランブル多項式として、１＋Ｘ4を用いることとする。
【００６０】
図３に示すように、ＧＳ符号器１０４は、入力列２０の前に３ビットの付加ビット２２と「０」ビット２３とを付加する。また、ＧＳ符号器１０４は、入力列２０の後には、４ビットの付加ビット２４「００００」を付加する。
【００６１】
そして、ＧＳ符号器１０４は、この列を１＋Ｘ4を表す「１０００１」で割り算し、商となるビット列を求める。その後、ＧＳ符号器１０４は、商のビット列の先頭から４ビット目のビットを除去し、スクランブル列２５を得る。
【００６２】
このように、スクランブル多項式に１＋Ｘ4を用いる場合、従来のGuided Scrambling方式では、４ビットの付加ビットが必要であったが、本方式では１ビット少ない３ビットの付加ビット２２を用いればよい。
【００６３】
このように、付加ビットを３ビットとすることにより、符号化率を高くすることができ、また、スクランブル数を半分に減らすことができるという利点がある。また、この実施例では１ビットの「０」を付加してスクランブルを行ったが、ｑビットを付加してスクランブルを行ってもよい。この場合は、スクランブル数を１／２＾ｑに減らせることができるという利点がある。
【００６４】
ここで、符号化率とは、情報ビット列のビット数と符号ビット列のビット数との比で定義されるものである。高符号化率とは、この比が１に近いことを表し、この比が１に近いほど符号器の性能がよいことを意味する。
【００６５】
その後、ＧＳ符号器１０４は、ＤＣ成分の抑制量を評価するため、実際の記録媒体に記録されるビット列と同様のビット列を、後に説明するポストプロセッサ１０８用のパリティを付加することにより生成する（ステップＳ１０３）。
【００６６】
図４は、ポストプロセッサ１０８用のパリティを付加するパリティ付加処理について説明する図であり、図５は、パリティ未処理ビットの対処について説明する図である。
【００６７】
図４に示すように、パリティ付加処理においては、所定のビット（図４の例では５ビット）ごとにポストプロセッサ１０８用パリティが付加される。ここで、パリティの値は、パリティ間の４ビットの和が偶数ならば０、奇数ならば１となる。
【００６８】
ただし、所定のビットごとにスクランブル列２６の上位ビットからパリティを付加していくと、スクランブル列２６の下位ビットにパリティの付加処理がなされないビット列が残る。
【００６９】
そこで、このパリティ付加処理では、パリティの付加処理がなされないパリティ未処理ビットを、つぎにパリティ付加処理をおこなうスクランブル列２６の先頭に下位ビット２２として付加する処理をおこなう。
【００７０】
図５には、パリティ未処理ビット２９が示されている。このパリティ未処理ビット２９は、前述したように、パリティが挿入されないスクランブル列２６の余りのビットである。このパリティ未処理ビット２９が、下位ビット２２としてつぎに処理するスクランブル列２６の先頭に付加される。
【００７１】
図２の説明に戻ると、ＧＳ符号器１０４は、ポストプロセッサ用パリティの付加処理の後、ポストプロセッサ用パリティが付加された８種類のスクランブル列に対してＳＤＳ（Sliding Digital Sum）計算をおこなう（ステップＳ１０４）。
【００７２】
図６は、ＳＤＳ計算について説明する図である。図６に示すように、ＳＤＳ計算においては、ＧＳ符号器１０４は、パリティ付スクランブル列３０の「０」のビットを「−１」に変換する。
【００７３】
そして、ＧＳ符号器１０４は、ビット幅が５ビットのＳＤＳウィンドウ３１を用意し、ビットの変換処理をおこなったスクランブル列の最初の５ビットのデータをＳＤＳウィンドウ３１に入力する。
【００７４】
なお、ここではＳＤＳウィンドウ３１の幅を説明のために５ビットとしているが、実際は５０ビットの幅のＳＤＳウィンドウを用いる。このＳＤＳウィンドウの幅には最適値があり、５０ビットに設定することにより誤り率を効果的に改善することができる。
【００７５】
続いて、ＧＳ符号器１０４は、ＳＤＳウィンドウ３１に入力された５ビットのビット列に対して、図４１で説明したようにして、ＲＤＳ値３２ａを算出し、ＲＤＳ値３２ａのピーク値３３ａを求める。
【００７６】
その後、ＧＳ符号器１０４は、ＳＤＳウィンドウ３１を１ビットずつシフトさせながら、同様の計算をおこない、ＲＤＳ値３２ｂ，３２ｃおよびピーク値３３ｂ，３３ｃを求める。
【００７７】
続いて、ＧＳ符号器１０４は、ＳＤＳウィンドウ３１をシフトさせながら算出したピーク値３３ａ〜３３ｃのうち、最大のピーク値３３ｂをパリティ付スクランブル列３０のピーク値３４として選択する。
【００７８】
そして、ＧＳ符号器１０４は、このようにして得られた８種類のポストプロセッサ用のパリティ付スクランブル列に対するピーク値を比較し、ピーク値が最も小さいパリティ付スクランブル列を選択する（ステップＳ１０６）。
【００７９】
その後、ＧＳ符号器１０４は、選択されたパリティ付スクランブル列からパリティを削除し、ＤＣ成分が抑制されたスクランブル列である出力列２１を出力する。ここで、パリティを削除するのは、後にポストプロセッサ１０８によりパリティが付加されるため、パリティが二重に付加されるのを防ぐためである。
【００８０】
このように、本方式では、ＧＳ符号器１０４が、ポストプロセッサ用のパリティを含めたスクランブル列に対してピーク値の算出をおこなう。そのため、実際のハードディスクに記録されるビット列と同じビット列に対してＤＣ成分の抑制効果を評価することができる。
【００８１】
また、従来のGuided Scrambling方式では、ハードディスク装置の１セクタ（４０９６ビット）全体においてＲＤＳ値を算出し、評価する必要があったが、本方式では入力列２０のみＲＤＳ値の算出および評価をおこなう。
【００８２】
また、従来のGuided Scrambling方式では、スクランブル列全体においてＲＤＳ値を計算し、ピーク値を算出するが、本方式では、ＳＤＳウィンドウ３１の所定のビット幅で、所定のビットずつＳＤＳウィンドウ３１をシフトさせながらＲＤＳ値の計算をおこない、ピーク値を求める点が異なる。
【００８３】
図７は、本方式におけるＤＣフリー符号の周波数特性を示す図である。図７には、符号なしの場合、従来のＤＣフリー符号の場合、および、本方式によるＤＣフリー符号の場合の正規化周波数に対する信号スペクトルが示されている。
【００８４】
図７に示すように、従来のＤＣフリー符号では周波数の低域成分が抑制されるが、本方式のＤＣフリー符号では周波数の中域成分が抑制される。また、周波数の低域成分は、ベースライン補正（ＢＬＣ，Base Line Correction）をおこなうことにより効果的に抑制されるので、本方式によるＤＣフリー符号とベースライン補正とを組み合わせることにより、周波数の中低域成分を抑制することができ、従来の方法に比べて誤り率をより改善することができる。
【００８５】
図１の説明に戻ると、ＨＲ−ＲＬＬ符号器１０５は、ｎビットのビット列を、ＲＬＬ拘束条件を満たす（ｎ＋１）ビットのビット列へ変換する高符号化率の符号器である。この場合、ＨＲ−ＲＬＬ符号器１０５の符号化率は、ｎ／（ｎ＋１）となる。このＨＲ−ＲＬＬ符号器１０５については後に詳しく説明する。
【００８６】
ＥＣＣ符号器１０６は、誤り訂正をおこなうためのＥＣＣパリティを付加する符号器である。Ｐ−ＲＬＬ符号器１０７は、ＥＣＣ符号器１０６により付加されたＥＣＣパリティに対してＲＬＬ符号化をおこなう符号器である。
【００８７】
ＲＤＣ１０１は、ポストプロセッサ１０８、記録補償器１０９、ドライバ１１０を介してプリアンプ１０２のドライバ１１１に記録データを送出する。
【００８８】
ポストプロセッサ１０８は、３０ビットおきにパリティを付加するプロセッサである。具体的には、ポストプロセッサ１０８は、３０ビットごとにＥＯＲ（ExclusiveOR）を算出し、その値が「０」である場合には「０」を、「１」である場合には「１」を付加する。
【００８９】
記録補償部１０９は、磁化反転が隣接する個所で反転間隔を広げる補償処理をおこなう。また、プリアンプ１０２は、ドライバ１１１によって記録ヘッドへライト電流を発生させる。
【００９０】
一方、データを再生する場合は、プリアンプ１０２は、再生ヘッドから入力したアナログ電圧をアンプ１１２で増幅し、ＲＤＣ１０１に送出する。ＲＤＣ１０１は、サーマルアスぺリティ検出部（ＴＡ検出部）１１３の検出処理の後、可変利得アンプ（ＶＧＡ）１１４、ローパスフィルタ（ＬＰＦ）１１５、ＡＤコンバータ（ＡＤＣ）１１６を介してデジタル信号を出力する。
【００９１】
また、ＲＤＣ１０１は、ＦＩＲフィルタ（ＦＩＲ）１１７によって波形等化を行った後、ビタビ復号器１１８でビタビ復号をおこなうとともに、ポストプロセッサ１０８により付加されたパリティのパリティチェックをおこない、信号をＨＤＣ１００に出力する。
【００９２】
また、ＲＤＣ１０１は、信号をサンプリングするタイミングを制御するＰＬＬ１２０および可変利得アンプ（ＶＧＡ）１１４の利得を制御する自動利得制御器（ＡＧＣ）１１９を有する。
【００９３】
ＨＤＣ１００のＰ−ＲＬＬ復号器１２１は、ＲＤＣ１０１から入力されたデータに含まれるＥＣＣパリティの復号化をおこない、ＥＣＣ復号器１２２は、ＥＣＣパリティに基づいて誤り訂正をおこなう。
【００９４】
さらに、ＨＤＣ１００のＨＲ−ＲＬＬ復号器１２３は、高符号化率のＲＬＬ符号ビット列をＲＬＬ符号器１０５の符号化処理を逆にたどることによって情報ビット列に復号化する。このＨＲ−ＲＬＬ復号器１２３については後に詳しく説明する。
【００９５】
そして、ＧＳ復号器１２４は、ＧＳ符号器１０４により符号化されたスクランブル列を復号化するデ・スクランブル処理をおこなう。図８は、デ・スクランブル処理について説明する図である。
【００９６】
図８に示すように、このデ・スクランブル処理では、入力列において、図２で説明した３ビットの付加ビット２２の後に「０」のビットを挿入する。そして、「０」のビットを挿入した入力列に対して、スクランブル多項式１＋Ｘ4の掛け算をおこなう。
【００９７】
具体的には、この演算は、図８に示すように、「０」のビットをビット列の先頭から４ビット目に挿入した入力列を２つ用意し、そのうちの１つを５ビットずらして両者を足し合わせることにより実行することができる。ＧＳ復号器１２４は、このようにして得られた結果を、デ・スクランブル処理の出力列として出力する。
【００９８】
図１の説明に戻ると、ＨＤＣ１００のＣＲＣ復号器２３８は、デ・スクランブル処理の出力列に対して巡回符号を用いた誤り検出処理を実行し、その後データを再生する。
【００９９】
つぎに、図１に示したＨＲ−ＲＬＬ符号器１０５が満足すべきＲＬＬ拘束条件について説明する。ＨＲ−ＲＬＬ符号器１０５が満足しなければならない一般的なＲＬＬ拘束条件には、Ｇ拘束条件とＸ拘束条件とがある。
【０１００】
Ｇ拘束条件とは、情報ビット列の内の連続する０の最大ビット数を限定する拘束条件であり、Ｘ拘束条件とは、情報ビット列の所定の数のビット毎の連続する０の最大ビット数を限定する拘束条件である。
【０１０１】
特に、Ｘ拘束条件において情報ビット列の２ビット毎の連続する０の最大ビット数を限定する拘束条件をＩ拘束条件と呼ぶ。Ｇ拘束条件によってデータのエラー伝播が抑制され、データの復号時の同期が取りやすくなる。また、Ｉ拘束条件によってＧ拘束条件で抑制できないデータのエラー伝播が抑制される。
【０１０２】
以下では、Ｇ拘束条件およびＩ拘束条件を情報ビット列および情報ビット列間において満足する高符号化率のＲＬＬ符号を生成するＨＲ−ＲＬＬ符号器１０５について説明する。
【０１０３】
本実施例１において、ＨＲ−ＲＬＬ符号器１０５が満足すべき拘束条件をさらに具体的に表記すると以下のようになる。
（０，Ｇ／Ｉ，ｒ／Ｒ，ｌ／Ｌ）＝（０，１２／１２，６／６，６／６）
【０１０４】
ここで、
Ｇ＝１２拘束条件；連続する０の最大ビット数が１２ビット、
Ｉ＝１２拘束条件；偶数・奇数ビットをみたときの連続する０の最大ビット数が１２ビット、
である。
【０１０５】
なお、Ｇ拘束条件、Ｉ拘束条件は、該当する情報ビット列だけではなく、該当する情報ビット列の右隣または左隣の情報ビット列との間でも満足されなければならない。そこで、該当する情報ビット列の右端または左端のビット列について以下のような拘束条件が適用される。
【０１０６】
ｒ＝６右端拘束条件；右端の連続する０の最大個数が６ビット。
ｌ＝６左端拘束条件；左端の連続する０の最大個数が６ビット。
Ｒ＝６右端拘束条件；偶数・奇数ビットをみたときの右端の連続する０の最大個数が６ビット。
Ｌ＝６左端拘束条件；偶数・奇数ビットをみたときの左端の連続する０の最大個数が６ビット。
【０１０７】
すなわち、該当する情報ビット列の右端拘束条件ｒ、Ｒまたは左端拘束条件ｌ、Ｌと、該当する情報ビット列の右隣の情報ビット列の左端拘束条件ｌ、Ｌまたは左隣の情報ビット列の右端拘束条件ｒ、Ｒとの間には次のような関係がある。
【０１０８】
該当する情報ビット列の右端拘束条件ｒ＋右隣の情報ビット列の左端拘束条件ｌ≦Ｇ拘束条件。
該当する情報ビット列の左端拘束条件ｌ＋左隣の情報ビット列の右端拘束条件ｒ≦Ｇ拘束条件。
該当する情報ビット列の右端拘束条件Ｒ＋右隣の情報ビット列の左端拘束条件Ｌ≦Ｉ拘束条件。
該当する情報ビット列の左端拘束条件Ｌ＋右隣の情報ビット列の右端拘束条件Ｒ≦Ｉ拘束条件。
【０１０９】
以下においては、ｒ拘束条件、ｌ拘束条件、Ｒ拘束条件およびＬ拘束条件は、陽に現われないが、右端処理、左端処理の拘束条件として適用される。
【０１１０】
つぎに、図９−１から図９−４を参照して、上述したＲＬＬ拘束条件の具体例について説明する。図９−１は、ｒ＝６拘束条件の具体例を示す図であり、図９−２は、ｌ＝６拘束条件の具体例を示す図であり、図９−３は、Ｒ＝６拘束条件の具体例を示す図であり、図９−４は、Ｌ＝６拘束条件の具体例を示す図である。
【０１１１】
図９−１に示すように、符号ビット列４０ａは、ｒ＝６拘束条件に違反していない（Ｇ拘束条件に違反するおそれがない）ビット列で、符号ビット列４０ｂは、ｒ＝６拘束条件に違反している（Ｇ拘束条件に違反するおそれがある）ビット列である。
【０１１２】
また、図９−２に示すように、符号ビット列４１ａは、ｌ＝６拘束条件に違反していない（Ｇ拘束条件に違反するおそれがない）ビット列で、符号ビット列４１ｂは、ｌ＝６拘束条件に違反している（Ｇ拘束条件に違反するおそれがある）ビット列である。
【０１１３】
また、図９−３に示すように、符号ビット列４２ａ、４２ｂは、Ｒ＝６拘束条件に違反していない（Ｉ拘束条件に違反するおそれがない）ビット列で、符号ビット列４２ｃ、４２ｄは、Ｒ＝６拘束条件に違反している（Ｉ拘束条件に違反するおそれがある）ビット列である。
【０１１４】
また、図９−４に示すように、符号ビット列４３ａ、４３ｂは、Ｌ＝６拘束条件に違反していない（Ｉ拘束条件に違反するおそれがない）ビット列で、符号ビット列４３ｃ、４３ｄは、Ｌ＝６拘束条件に違反している（Ｉ拘束条件に違反するおそれがある）ビット列である。
【０１１５】
次に、図１０を参照して、図１に示すＨＲ−ＲＬＬ符号器１０５の構成について説明する。図１０は、図１に示したＨＲ−ＲＬＬ符号器１０５の構成を示す機能ブロック図である。
【０１１６】
同図に示すように、ＨＲ−ＲＬＬ符号器１０５は、ｎ＝５２３ビットの情報ビット列を（ｎ＋１）＝５２４ビットの符号ビット列に変換する高符号化率の符号器である。
【０１１７】
このＨＲ−ＲＬＬ符号器１０５は、デ・プリコーダ１０５ａ、デ・インターリーブ符号器１０５ｂ、第１置換法符号器１０５ｃ、第１右端処理符号器１０５ｄ、左端処理符号器１０５ｅ、中間処理符号器１０５ｆ、インターリーブ符号器１０５ｇ、第２置換法符号器１０５ｈ、第２右端処理符号器１０５ｉ、プリコーダ１０５ｊを有する。
【０１１８】
デ・プリコーダ１０５ａは、ｎ＝５２３ビットのＮＲＺ（Non Return to Zero）列を符号ビット列へ変換する１＋Ｄ2処理をおこなう符号器である。図１１は、１＋Ｄ2処理について説明する図である。
【０１１９】
この１＋Ｄ2処理では、つぎの漸化式を用いてＮＲＺ列５１｛ｙ（ｉ）｝を符号ビット列５２｛ｘ（ｉ）｝に変換する。
ｘ（ｉ）＝ｙ（ｉ）＋ｙ（ｉ−２）
ここで、ｙ（−２）＝ｙ（−１）＝０とする。
【０１２０】
具体的には、図１１に示すように、前ビット５０（ｙ（−２）＝ｙ（−１）＝０）とＮＲＺ列５１｛ｙ（ｉ）｝とを用いてＥＯＲ演算をおこなうことにより、符号ビット列５２｛ｘ（ｉ）｝を算出する。
【０１２１】
デ・インターリーブ符号器１０５ｂは、デ・インターリーブ処理を実行する符号器である。図１２は、デ・インターリーブ処理について説明する図である。
【０１２２】
図１２に示すように、デ・インターリーブ符号器１０５ｂは、符号ビット列６０の先頭のビットから交互に１ビットずつ取り出して、２つのビット列（ａ1〜ａt（ａt+1）およびｂ1〜ｂt）を生成し、それらを連結して新たな符号ビット列６１を生成する。
【０１２３】
第１置換符号器１０５ｃは、符号ビット列内のＧ拘束条件に違反しているビット列から１２ビットのビット列を抜き取って、抜き取ったビット列を１２ビットのアドレス列に置換処理する符号器である。
【０１２４】
ここで、図１３を参照して、図１０に示した第１置換法符号器１０５ｃが符号ビット列を変換する一例について説明する。図１３は、第１置換法符号器１０５ｃが符号ビット列を変換する一例を示す図である。
【０１２５】
図１３に示すように、符号ビット列７０は、Ｇ＝１２拘束条件違反のビット列、すなわち１２ビットを超える０のビット列を持っている。
【０１２６】
第１置換法符号器１０５ｃは、符号ビット列７０の前に「１」をおいて、先頭から「１０」パターンカウンタで「１０」パターンの数をカウントする。
【０１２７】
そして、第１置換法符号器１０５ｃは、「１０」パターンの数と別途説明するアドレスコード変換表から１０ビットのアドレスコードを求め、Ｇ＝１２拘束条件違反のビット列のアドレスとする。
【０１２８】
さらに、図１３に示すように、第１置換法符号器１０５ｃは、Ｇ＝１２拘束条件違反のビット列から１２ビットのビット列を抜き取って、抜き取った１２ビットのビット列を１２ビットのアドレス列で置換する。
【０１２９】
このように置換することによって、第１置換法符号器１０５ｃは、符号ビット列７０をＧ＝１２拘束条件を満足する符号ビット列７１に変換できる。
【０１３０】
ここで、さらに符号ビット列７１のフォーマットについて説明する。符号ビット列７１は、ピボット７１ａ、アドレス部７１ｂ、データ部７１ｃを有する。ピボット７１ａは、符号ビット列７１が、ＲＬＬ拘束条件を満たすか否かを識別する１ビットのデータであり、以下のように定義されている。
【０１３１】
Ｐ＝０；入力された符号ビット列７０は、Ｇ、Ｉ、ｒ、Ｒ、ｌ、Ｌ拘束条件を全て満たす。
Ｐ＝１；入力された符号ビット列７０は、Ｇ、Ｉ、ｒ、Ｒ、ｌまたはＬ拘束条件のいずれかを満たさない。
【０１３２】
また、アドレス部７１ｂは、Ｇ拘束条件またはＩ拘束条件に違反したビット列を置換した複数のアドレス列を有する。例えば、アドレス列７１ｄは、アドレス７１ｅ、マーカ（Ｍ）７１ｆ、デリミタ（Ｄ）７１ｇを有する。
【０１３３】
アドレス７１ｅは、前述の「１０」パターンの数と別途説明するアドレスコード変換表から求められた１０ビットのアドレスコードである。
【０１３４】
また、マーカ（Ｍ）７１ｆは、１ビットのデータであり、以下のように定義される。
Ｍ＝１；ＧまたはＩ拘束条件に違反したビット列とアドレス列との置換処理がインターリーブ処理前であることを示す。
Ｍ＝０；ＧまたはＩ拘束条件に違反したビット列とアドレス列との置換処理がインターリーブ処理後であることを示す。
【０１３５】
また、デリミタ（Ｄ）７１ｇは、１ビットのデータであり、以下のように定義される。
Ｄ＝１；デリミタ７１ｇの次にデータ部７１ｃが来ることを示す。
Ｄ＝０；デリミタ７１ｇの次に他のアドレス列が来ることを示す。
【０１３６】
つぎに、図５に示した符号ビット列７０の「１０」パターンの数からインターリーブ処理前後でアドレスコードを求めるアドレスコード変換表について説明する。
【０１３７】
アドレスコード変換表は、図１３に示す符号ビット列７０の「１０」パターンの数とインターリーブ処理前の１０ビットのアドレスコードとを１対１で対応付ける表であり、アドレスコードからは、Ｇ＝１２拘束条件およびＩ＝１２拘束条件に違反する可能性のある以下の２つのビット列が除かれている。
（ａ）００００００＊＊＊＊
（ｂ）＊０＊０＊０＊０＊０
なお、「＊」は、「０」または「１」のビットを表す。
【０１３８】
このように、第１置換法符号器１０５ｃは、Ｇ拘束条件およびＩ拘束条件に違反するおそれのあるビット列を除いたアドレスコード変換表を用いてアドレス列を生成することとしたので、Ｇ拘束条件とＩ拘束条件を満足する高符号化率のＲＬＬ符号に対して用いることができる。
【０１３９】
第１右端処理符号器１０５ｄは、符号ビット列の右端の「０」のビット列を含む右端の１２ビットのビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残した１２ビットのアドレス列に置き換える右端処理を行う符号器である。
【０１４０】
ここで、図１４を参照して、図１０に示した第１右端処理符号器１０５ｄが符号ビット列をＩ＝１２拘束条件を満足する符号ビット列に変換する一例について説明する。図１４は、第１右端処理符号器１０５ｄが符号ビット列をＩ＝１２拘束条件を満足する符号ビット列に変換する一例を示す図である。
【０１４１】
図１４に示すように、符号ビット列８０は、インターリーブ処理後に右隣の符号ビット列との間でＩ＝１２拘束条件違反が発生するおそれのあるビット列、すなわち符号ビット列８０の右端で６ビットを超える「０」のビット列を持っている。
【０１４２】
第１右端処理符号器１０５ｄは、符号ビット列８０の右端にある１３ビットのビット列を抜き取り、抜き取った１３ビットの最初の６ビットを用いたアドレス列８１ｄに置き換える右端処理をおこない、符号ビット列８０の最終ビットに「１」のビットを付加する。
【０１４３】
このように右端処理することによって、第１右端処理符号器１０５ｄは、データ部８０ｃを右隣の符号ビット列間におけるＩ＝１２拘束条件を満足するデータ部８１ｃに変換できる。
【０１４４】
図３の説明に戻ると、左端処理符号器１０５ｅは、情報ビット列内の左端の「０」のビット列を含む１２ビットのビット列を抜き取って、抜き取ったビット列をビット列内の特定のビット列を残した１２ビットのアドレス列に置き換える左端処理を行う符号器である。
【０１４５】
ここで、図１５を参照して、図１０に示した左端処理符号器１０５ｅが符号ビット列をＩ＝１２拘束条件を満足する符号ビット列に変換する一例について説明する。図１５は、左端処理符号器１０５ｅが符号ビット列をＩ＝１２拘束条件を満足する符号ビット列に変換する一例を示す図である。
【０１４６】
図１５に示すように、符号ビット列９０は、インターリーブ処理後に左隣の符号ビット列との間でＩ＝１２拘束条件違反が発生するおそれのあるビット列、すなわち符号ビット列９０の左端で６ビットを超える０のビット列を持っている。
【０１４７】
左端処理符号器１０５ｅは、符号ビット列９０の左端にある１２ビットのビット列を抜き取り、抜き取った１２ビットの後半の５ビットを残したアドレス列９１ｄに置き換える左端処理をする。
【０１４８】
このように左端処理することによって、左端処理符号器１０５ｅは、符号ビット列９０を左隣の符号ビット列間におけるＩ＝１２拘束条件を満足する符号ビット列９１に変換できる。
【０１４９】
中間処理符号器１０５ｆは、データ列の中間より左にある「０」のビット列を含む１２ビットのビット列を抜き取って、抜き取ったビット列をビット列内の特定のビット列を残した１２ビットのアドレス列に置換する符号器である。
【０１５０】
ここで、図１６を参照して、図１０に示した中間処理符号器１０５ｆが符号ビット列をＩ＝１２拘束条件を満足する符号ビット列に変換する一例について説明する。図１６は、中間処理符号器１０５ｆが符号ビット列をＩ＝１２拘束条件を満足する符号ビット列に変換する一例を示す図である。
【０１５１】
図１６に示すように、符号ビット列２００は、データ部２００ｂにインターリーブ処理後にＩ＝１２拘束条件違反のおそれのあるビット列、すなわちデータ部２００ｂの中間より左に６ビットを超える「０」のビット列を持っている。
【０１５２】
中間処理符号器１０５ｆは、データ部２００ｂの中間にある１３ビットのビット列を抜き取り、抜き取った１３ビットの後半の６ビットを残したアドレス列２０１ｄに置換し、抜き取った１３ビットのビット列の代わりにデータ部１とデータ部２の間に１のビットを代入する。
【０１５３】
このように中間処理することによって、中間処理符号器１０５ｆは、インターリーブ処理後に右隣の符号ビット列間におけるＩ＝１２拘束条件を満足するデータ部２０１ｃにデータ部２００ｂを変換できる。
【０１５４】
インターリーブ符号器１０５ｇは、データ部を複数のビット列に分割して複数のビット列から順次１ビットずつビットを取り出し、取り出したビットを１ビットずつ順次並べて新たに生成したビット列とデータ部とを交換するインターリーブ処理を行う符号器である。
【０１５５】
ここで、図１７を参照して、図１０に示したインターリーブ符号器１０５ｇがＧ＝１２拘束条件を満足していた符号ビット列をＩ＝１２拘束条件を満足する符号ビット列に変換する一例について説明する。図１７は、インターリーブ符号器１０５ｇがＧ＝１２拘束条件を満足していた符号ビット列をＩ＝１２拘束条件を満足する符号ビット列に変換する一例を示す図である。
【０１５６】
図１７に示すように、インターリーブ符号器１０５ｇは、符号ビット列２１０のデータ部２１０ｃの中間で２つのビット列に分割する。
【０１５７】
例えば、データ部２１０ｃが、ｍ＝２ｔの偶数ビットである場合は、ｔビットの２つのビット列に分割する。ｍ＝（２ｔ＋１）の奇数ビットの場合は、例えば前半を（ｔ＋１）ビット、後半をｔビットのビット列に分割する。
【０１５８】
そして、前半のビット列と後半のビット列の先頭のビットから交互に１ビットずつ並べて新たに生成したｍ＝２ｔビットまたはｍ＝（２ｔ＋１）ビットのビット列とデータ部２１０ｃとを交換するインターリーブ処理を行う。
【０１５９】
このように、インターリーブ処理することによって、Ｇ＝１２拘束条件を満足していたデータ部２１０ｃを、Ｉ＝１２拘束条件を満足するデータ部２１１ｃに変換することができる。
【０１６０】
第２置換法符号器１０５ｈは、データ部内のＧ拘束条件に違反しているビット列から１２ビットのビット列を抜き取って、抜き取ったビット列をビット列のアドレス列と置換する符号器である。
【０１６１】
第２置換法符号器１０５ｈは、図１３で説明したような方法にしたがって、符号ビット列のＧ＝１２拘束条件違反のビット列から１２ビットのビット列を抜き取って、抜き取った１２ビットのビット列を１２ビットのアドレス列で置換処理する。
【０１６２】
このように置換処理することによって、第２置換法符号器１０５ｈは、符号ビット列のデータ部をＧ＝１２拘束条件を満足するデータ部に変換できる。
【０１６３】
ここで、第２置換法符号器１０５ｈは、第１置換法符号器１０５ｃと同様にして、「１０」パターンの数とアドレスコード変換表から１０ビットのアドレスコードを求め、Ｇ＝１２拘束条件違反のビット列のアドレスとする。
【０１６４】
ここで用いられるアドレスコード変換表は、符号ビット列の「１０」パターンの数と１０ビットのアドレスコードとを１対１で対応付ける表であり、アドレスコードからは、Ｇ＝１２拘束条件およびＩ＝１２拘束条件に違反する可能性のある以下の４つのビット列が除かれている。
（ａ）００００００＊＊＊＊
（ｂ）０＊０＊０＊０＊０＊
（ｃ）＊０＊０＊０＊０＊０
（ｄ）＊＊＊＊００００００
なお、「＊」は、「０」または「１」のビットを表す。
【０１６５】
このように、第２置換法符号器１０５ｈは、Ｇ拘束条件およびＩ拘束条件に違反するおそれのあるビット列を除いたアドレスコード変換表を用いてアドレス列を生成することとしたので、Ｇ拘束条件とＩ拘束条件を満足する高符号化率のＲＬＬ符号に対して用いることができる。
【０１６６】
第２右端処理符号器１０５ｉは、データ部内のｒ拘束条件に違反をしている右端の「０」のビット列を含む１２ビットのビット列を抜き取って、抜き取ったビット列をビット列の特定のビット列を残した１２ビットのアドレス列へ置換する符号器である。
【０１６７】
ここで、図１８から図２０を参照して、図１０に示す第２右端処理符号器１０５ｉが符号ビット列をｒ＝６拘束条件もしくは右隣の符号ビット列との間におけるＧ＝１２拘束条件を満足する符号ビット列に変換する一例について説明する。
【０１６８】
図１８は、第２右端処理符号器１０５ｉがデータ部が１３ビットより大きい場合に符号ビット列を右隣の符号ビット列との間におけるＧ＝１２拘束条件を満足する符号ビット列に変換する一例を示す図である。
【０１６９】
図１９は、第２右端処理符号器１０５ｉがデータ部が１３ビットである場合に符号ビット列を右隣の符号ビット列との間におけるＧ＝１２拘束条件を満足する符号ビット列に変換する一例を示す図である。
【０１７０】
そして、図２０は、第２右端処理符号器１０５ｉがデータ部が１２ビットである場合に符号ビット列を右隣の符号ビット列との間におけるＧ＝１２拘束条件を満足する符号ビット列に変換する一例を示す図である。
【０１７１】
図１８に示すように、符号ビット列２２０のデータ部２２０ｃが１３ビットよりも大きい場合には、第２右端処理符号器１０５ｉは、符号ビット列２３０の右端にある１４ビットのビット列を抜き取り、抜き取った１４ビットの前半の７ビットを残したアドレス列２２１ｄに置き換える右端処理をおこない、符号ビット列２２０の最終ビットに「１１」のビットを付加する。
【０１７２】
一方、図１９に示すように、符号ビット列２３０のデータ部２３０ｃが１３ビットである場合は、第２右端処理符号器１０５ｉは、符号ビット列２３０の右端にある１３ビットのビット列を抜き取り、抜き取った１３ビットの前半の６ビットを残したアドレス列２３１ｃに置き換える右端処理をおこない、符号ビット列２３０の最終ビットに「１」のビットを付加する。
【０１７３】
また、図２０に示すように、符号ビット列２４０のデータ部２４０ｃが１２ビットである場合は、第２右端処理符号器１０５ｉは、符号ビット列２４０の右端にある１２ビットのビット列を抜き取り、抜き取った１２ビットの前半の５ビットを残したアドレス列２４１ｃに置き換える右端処理を行う。
【０１７４】
このように右端処理することによって、第２右端処理符号器１０５ｉは、符号ビット列を右隣の符号ビット列との間におけるＧ＝１２拘束条件を満足するように変換できる。
【０１７５】
つぎに、図２１を参照して、図１０に示した第２右端処理符号器１０５ｉの右端処理の別な例について説明する。図２１は、第２右端処理符号器１０５ｉの右端処理の別な例を示す図である。
【０１７６】
図２１に示すように、第２右端処理符号器１０５ｉは、データ部が１２ビット未満であり、ｒ＝６拘束条件に違反している場合、データ部の左隣のアドレス列のデリミタの値を変えて、０ラン（「０」が連続している部分）の「０」のビットを「１」のビットに置き換える右端処理を行う。
【０１７７】
たとえば、第２右端処理符号器１０５ｉは、符号ビット列２５０のビット長がｎ＝５２３ビットで、アドレス列のビット長が１２ビットである場合に、符号ビット列２５０のデータ部のビット長が７ビットになりえるので、図１８〜図２０のように１２ビットのビット列を抜き取ると、アドレス部の一部も抜き取らなければならない現象が生じる。
【０１７８】
これを避けるために、第２右端処理符号器１０５ｉは、データ部が１２ビット未満であり、ｒ＝６拘束条件に違反している場合、データ部の左隣のアドレス列のデリミタの値を「１」から「０」に変え、７つの「０」のビットからなるデータ部を７つの「１」のビットからなるデータ部へ置き換える右端処理を行う。
【０１７９】
プリコーダ１０５ｊは、符号ビット列をＮＲＺ列へ変換する１／（１＋Ｄ2）処理をおこなう符号器である。図２２は、１／（１＋Ｄ2）処理について説明する図である。
【０１８０】
この１／（１＋Ｄ2）処理では、つぎの漸化式を用いて符号ビット列２６１｛ｘ（ｉ）｝をＮＲＺ列２６２｛ｙ（ｉ）｝に変換する。
ｙ（ｉ）＝ｘ（ｉ）＋ｙ（ｉ−２）
ここで、ｙ（−２）＝ｙ（−１）＝０とする。
【０１８１】
具体的には、図２２に示すように、前ビット２６０（ｙ（−２）＝ｙ（−１）＝０）と符号ビット列２６１｛ｘ（ｉ）｝とを用いてＥＯＲ演算をおこなうことにより、ＮＲＺ列２６２｛ｙ（ｉ）｝を算出する。
【０１８２】
以上ＨＲ−ＲＬＬ符号器１０５の構成について説明してきたが、上記ＨＲ−ＲＬＬ符号器１０５では、Ｇ拘束条件あるいはＩ拘束条件の違反がないビット列は、ＲＬＬ符号化がなされずにそのまま出力される。
【０１８３】
また、図２で説明したような方法で、ＧＳ符号器１０４がランダムなビット列をスクランブル列に変換した場合には、Ｇ拘束条件あるいはＩ拘束条件の違反があまり発生することがない。
【０１８４】
そのため、ＨＲ−ＲＬＬ符号器１０５を上述のように構成することにより、ＤＣ成分が抑制されたビット列を、ＤＣ成分が抑制されたビット列のままハードディスク装置に記録することができるようになる。
【０１８５】
また、従来のGuided Scrambling方式では、ＧＳ符号器１０４が算出した各スクランブル列に対してＨＲ−ＲＬＬ符号器１０５を設ける必要があるが、本実施例１においては、１つのＨＲ−ＲＬＬ符号器１０５があればよく、回路規模を小さくできる。
【０１８６】
つぎに、図２３を参照して、図１に示したＨＲ−ＲＬＬ復号器１２３の構成について説明する。図２３は、ＨＲ−ＲＬＬ復号器１２３の構成を示す機能ブロック図である。
【０１８７】
ＨＲ−ＲＬＬ復号器１２３は、ＲＬＬ拘束条件を満たすｎ＝５２４ビットの符号ビット列をｎ＝５２３ビットの情報ビット列へ変換する高符号化率の復号器である。
【０１８８】
このＨＲ−ＲＬＬ復号器１２３は、プリコーダ１２３ａ、第２右端処理復号器１２３ｂ、第２置換法復号器１２３ｃ、デ・インターリーブ復号器１２３ｄ、中間処理復号器１２３ｅ、左端処理復号器１２３ｆ、第１右端処理復号器１２３ｇ、第１置換法復号器１２３ｈ、インターリーブ復号器１２３ｉ、デ・プリコーダ１２３ｊを有する。
【０１８９】
プリコーダ１２３ａは、ｎ＝５２４ビットのＮＲＺ列を符号ビット列へ変換する復号器である。このプリコーダ１２３ａは、図１１で説明したような方法にしたがって、ＮＲＺ列を符号ビット列へ変換する。
【０１９０】
第２右端処理復号器１２３ｂ、第２置換法復号器１２３ｃ、デ・インターリーブ復号器１２３ｄ、中間処理復号器１２３ｅ、左端処理復号器１２３ｆ、第１右端処理復号器１２３ｇ、第１置換法復号器１２３ｈ、インターリーブ復号器１２３ｉは、ｎ＝５２４ビットの符号ビット列をｎ＝５２３ビットの情報ビット列に変換する複数の復号器である。
【０１９１】
これらの復号器の復号処理は、符号器の符号処理を逆に辿ることによって得られるので説明は省略する。
【０１９２】
また、デ・プリコーダ１２３ｊは、ｎ＝５２３ビットのＮＲＺ列を符号ビット列へ変換する復号器である。このデ・プリコーダ１２３ｊは、図２２で説明したような方法にしたがって、符号ビット列をＮＲＺ列に変換する。
【０１９３】
つぎに、図１に示すＨＲ−ＲＬＬ符号器１０５がおこなう符号化処理の処理手順について、図２４から図２９を用いて説明する。図２４は、ＨＲ−ＲＬＬ符号器１０５のデ・プリコーダ１０５ａおよびデ・インターリーブ符号器１０５ｂがおこなう符号化処理の処理手順を示すフローチャートである。
【０１９４】
図２４に示すように、デ・プリコーダ１０５ａは、図１１に示したようにして、１＋Ｄ2処理を実行し（ステップＳ２０１）、ＮＲＺ列を符号ビット列に変換する。
【０１９５】
そして、デ・インターリーブ符号器１０５ｂは、図１２に示したようにして、デ・インターリーブ処理を実行する（ステップＳ２０２）。
【０１９６】
図２５は、ＨＲ−ＲＬＬ符号器１０５の第１置換法符号器１０５ｃがおこなう符号化処理の処理手順を示すフローチャートである。
【０１９７】
図２５に示すように、第１置換法符号器１０５ｃは、符号ビット列の先頭にピボットＰを置いて、Ｐ＝０にリセットし（ステップＳ３０１）、「１０」パターンカウンタでデータ部の「１０」の場所を探す（ステップＳ３０２）。
【０１９８】
そして、第１置換法符号器１０５ｃは、「１０」の場所があるか否かを調べる（ステップＳ３０３）。その結果、「１０」の場所がある場合は（ステップＳ３０３，Ｙｅｓ）、第１置換法符号器１０５ｃは、「１０」パターンカウンタを「１０」の場所に移動させ、カウンタ値を１増やす（ステップＳ３０４）。
【０１９９】
そして、第１置換法符号器１０５ｃは、「１０」パターンカウンタの現在の場所がＧ拘束条件違反をしているか否かを調べる（ステップＳ３０５）。その結果、「１０」パターンカウンタの現在の場所がＧ拘束条件違反をしていない場合は（ステップＳ３０５，Ｎｏ）、第１置換法符号器１０５ｃは、「１０」パターンカウンタでデータ部の次の「１０」の場所を探す（ステップＳ３０６）。
【０２００】
一方、「１０」パターンカウンタの現在の場所がＧ拘束条件違反をしている場合は（ステップＳ３０５，Ｙｅｓ）、第１置換法符号器１０５ｃは、１２ビットの０ランを除去して、アドレス列へ置換し（ステップＳ３０７）、データ部の前に移動する（ステップＳ３０８）。
【０２０１】
そして、第１置換法符号器１０５ｃは、アドレスコード変換表からアドレスコードを求め（ステップＳ３０９）、マーカＭ＝１、デリミタＤ＝１と置く（ステップＳ３１０）。さらに、第１置換法符号器１０５ｃは、現在のアドレス列の前に他のアドレス列があれば、そのアドレス列のデリミタをＤ＝０に変える（ステップＳ３１１）。
【０２０２】
そして、第１置換法符号器１０５ｃは、現在の場所が、未だＧ拘束条件違反をしているか否かを調べる（ステップＳ３１２）。その結果、現在の場所が未だＧ拘束条件違反をしている場合は（ステップＳ３１２，Ｙｅｓ）、第１置換法符号器１０５ｃは、ステップＳ３０７に戻り、ステップＳ３０７〜ステップＳ３１１の手順を繰り返す。
【０２０３】
一方、現在の場所がＧ拘束条件違反をしていない場合は（ステップＳ３１２，Ｎｏ）、ステップＳ３０６に戻る。
【０２０４】
これに対して、「１０」の場所がない場合は（ステップＳ３０３，Ｎｏ）、第１置換法符号器１０５ｃは、さらに符号ビット列にアドレス列があるか否かを調べる（ステップＳ３１３）。
【０２０５】
その結果、符号ビット列にアドレス列がある場合は（ステップＳ３１３，Ｙｅｓ）、第１置換法符号器１０５ｃは、ピボットをＰ＝１にリセットする（ステップＳ３１４）。一方、符号ビット列にアドレス列がない場合は（ステップＳ３１３，Ｎｏ）、第１置換法符号器１０５ｃは、本処理を終了する。
【０２０６】
図２６は、ＨＲ−ＲＬＬ符号器１０５の第１右端処理符号器１０５ｄおよび左端処理符号器１０５ｅがおこなう符号化処理の処理手順を示すフローチャートである。
【０２０７】
図２６に示すように、第１右端処理符号器１０５ｄは、符号ビット列のデータ部の右端に７ビット以上の０ランが有るか否かを調べる（ステップＳ４０１）。その結果、符号ビット列のデータ部の右端に７ビット以上の０ランがない場合は（ステップＳ４０１，Ｎｏ）、第１右端処理符号器１０５ｄは、ステップＳ４０５に進む。
【０２０８】
一方、符号ビット列のデータ部の右端に７ビット以上の０ランがある場合は（ステップＳ４０１，Ｙｅｓ）、第１右端処理符号器１０５ｄは、さらに符号ビット列のデータ部の長さが１３ビット以上あるか否かを調べる（ステップＳ４０２）。
【０２０９】
その結果、符号ビット列のデータ部の長さが１３ビット未満である場合は（ステップＳ４０２，Ｎｏ）、第１右端処理符号器１０５ｄは、ステップＳ４０５に進む。
【０２１０】
一方、符号ビット列のデータ部の長さが１３ビット以上である場合は（ステップＳ４０２，Ｙｅｓ）、第１右端処理符号器１０５ｄは、図１４で説明したようにして、右端の１２ビットを除去し、アドレス列へ変換する（ステップＳ４０３）。そして、第１右端処理符号器１０５ｄは、ピボットをＰ＝１にリセットする（ステップＳ４０４）。
【０２１１】
さらに、左端処理符号器１０５ｅは、符号ビット列のピボットがＰ＝０であるか否かを調べる（ステップＳ４０５）。その結果、符号ビット列のピボットがＰ＝０でない場合は（ステップＳ４０５，Ｎｏ）、左端処理符号器１０５ｅは、左端処理をおこなわず、本処理を終了する。
【０２１２】
一方、符号ビット列のピボットがＰ＝０である場合は（ステップＳ４０５，Ｙｅｓ）、左端処理符号器１０５ｅは、さらに符号ビット列のデータ部の左端に７ビット以上の０ランがあるか否かを調べる（ステップＳ４０６）。
【０２１３】
その結果、符号ビット列のデータ部の左端に７ビット以上の０ランがない場合は（ステップＳ４０６，Ｎｏ）、左端処理符号器１０５ｅは、本処理を終了する。
【０２１４】
一方、符号ビット列のデータ部の左端に７ビット以上の０ランがある場合は（ステップＳ４０６，Ｙｅｓ）、左端処理符号器１０５ｅは、図１５で説明したようにして、符号ビット列の左端の１２ビットを除去し、アドレス列へ変換する（ステップＳ４０７）。
【０２１５】
そして、左端処理符号器１０５ｅは、符号ビット列のピボットをＰ＝１にリセットして（ステップＳ４０８）、本処理を終了する。
【０２１６】
図２７は、ＨＲ−ＲＬＬ符号器１０５の中間処理符号器１０５ｆおよびインターリーブ符号部１０５ｇがおこなう符号化処理の処理手順を示すフローチャートである。
【０２１７】
図２７に示すように、中間処理符号器１０５ｆは、符号ビット列のデータ部の中間に７ビット以上の０ランがあるか否かを調べる（ステップＳ５０１）。その結果、符号ビット列のデータ部の中間に７ビット以上の０ランがない場合は（ステップＳ５０１，Ｎｏ）、中間処理符号器１０５ｆは、ステップＳ５０５に進む。
【０２１８】
一方、符号ビット列のデータ部の中間に７ビット以上の０ランがある場合は（ステップＳ５０１，Ｙｅｓ）、中間処理符号器１０５ｆは、さらに符号ビット列のデータ部の長さが１３ビット以上あるか否かを調べる（ステップＳ５０２）。
【０２１９】
その結果、符号ビット列のデータ部の長さが１３ビット未満である場合は（ステップＳ５０２，Ｎｏ）、中間処理符号器１０５ｆは、ステップＳ５０５に進む。
【０２２０】
一方、符号ビット列のデータ部の長さが１３ビット以上である場合は（ステップＳ５０２，Ｙｅｓ）、中間処理符号器１０５ｆは、データ部の中間の１２ビットを除去し、アドレス列へ変換する（ステップＳ５０３）。そして、中間処理符号器２０７ｄは、ピボットをＰ＝１にリセットする（ステップＳ５０４）。
【０２２１】
さらに、インターリーブ符号器１０５ｇは、図１７で説明したようにして、符号ビット列のデータ部を２つに分け、インターリーブする（ステップＳ５０５）。
【０２２２】
図２８は、ＨＲ−ＲＬＬ符号器１０５の第２置換法符号器１０５ｈがおこなう符号化処理の処理手順を示すフローチャートである。
【０２２３】
図２８に示すように、第２置換法符号器１０５ｈは、「１０」パターンカウンタでデータ部の「１０」の場所を探す（ステップＳ６０１）。そして、第２置換法符号器１０５ｈは、「１０」の場所はあるか否かを調べる（ステップＳ６０２）。
【０２２４】
そして、「１０」の場所がある場合には（ステップＳ６０２，Ｙｅｓ）、第２置換法符号器１０５ｈは、「１０」パターンカウンタを「１０」の場所に移動させ、カウンタ値を１増やす（ステップＳ６０３）。
【０２２５】
その後、第２置換法符号器１０５ｈは、「１０」パターンカウンタの現在の場所がＧ拘束条件違反をしているか否かを調べる（ステップＳ６０４）。その結果、「１０」パターンカウンタの現在の場所がＧ拘束条件違反をしていない場合は（ステップＳ６０４，Ｎｏ）、第２置換法符号器１０５ｈは、「１０」パターンカウンタでデータ部の次の「１０」の場所を探す（ステップＳ６０５）。
【０２２６】
一方、「１０」パターンカウンタの現在の場所がＧ拘束条件違反をしている場合は（ステップＳ６０４，Ｙｅｓ）、第２置換法符号器１０５ｈは、１２ビットの０ランを除去してアドレス列へ置換し（ステップＳ６０６）、データ部の前に移動する（ステップＳ６０７）。
【０２２７】
そして、第２置換法符号器１０５ｈは、アドレスコード変換表からアドレスコードを求め（ステップＳ６０８）、マーカＭ＝０、デリミタＤ＝１と置く（ステップＳ６０９）。さらに、第２置換法符号器１０５ｈは、現在のアドレス列の前に他のアドレス列があれば、そのアドレス列のデリミタをＤ＝０に変える（ステップＳ６１０）。
【０２２８】
その後、第２置換法符号器１０５ｈは、現在の場所が未だＧ拘束条件違反をしているか否かを調べる（ステップＳ６１１）。その結果、現在の場所が未だＧ拘束条件違反をしている場合は（ステップＳ６１１，Ｙｅｓ）、第２置換法符号器１０５ｈは、ステップＳ６０６に戻り、ステップＳ６０６〜ステップＳ６１０の手順を繰り返す。
【０２２９】
一方、現在の場所がＧ拘束条件違反をしていない場合は（ステップＳ６１１，Ｎｏ）、ステップＳ６０５に戻る。
【０２３０】
これに対して、「１０」の場所がない場合は（ステップＳ６０２，Ｎｏ）、第２置換法符号器１０５ｈは、さらに符号ビット列にアドレス列があるか否かを調べる（ステップＳ６１２）。
【０２３１】
その結果、符号ビット列にアドレス列がある場合は（ステップＳ６１２，Ｙｅｓ）、第２置換法符号器１０５ｈは、ピボットをＰ＝１にリセットする（ステップＳ６１３）。一方、符号ビット列にアドレス列がない場合は（ステップＳ６１２，Ｎｏ）、第２置換法符号器１０５ｈは、本処理を終了する。
【０２３２】
図２９は、ＨＲ−ＲＬＬ符号器１０５の第２右端処理符号器１０５ｉおよびプリコーダ１０５ｊがおこなう符号化処理の処理手順を示すフローチャートである。
【０２３３】
図２９に示すように、第２右端処理符号器１０５ｉは、符号ビット列のデータ部の長さが１２ビット以上であるか否かを調べる（ステップ７０１）。
【０２３４】
その結果、符号ビット列のデータ部の長さが１２ビット以上である場合は（ステップ７０１，Ｙｅｓ）、第２右端処理符号器１０５ｉは、さらに符号ビット列のデータ部の右端に７ビット以上の０ランがあるか否かを調べる（ステップＳ７０２）。
【０２３５】
その結果、符号ビット列のデータ部の右端に７ビット以上の０ランがある場合は（ステップ７０２，Ｙｅｓ）、第２右端処理符号器１０５ｉは、符号ビット列の右端の１２ビットを除去してアドレス列に変換し（ステップＳ７０３）、ピボットをＰ＝１にリセットして（ステップＳ７０４）、ステップＳ７０９に進む。
【０２３６】
一方、符号ビット列のデータ部の右端に７ビット以上の０ランがない場合は（ステップ７０２，Ｎｏ）、ステップＳ７０９に進む。
【０２３７】
一方、符号ビット列のデータ部の長さが１２ビット未満である場合は（ステップ７０１，Ｎｏ）、第２右端処理符号器１０５ｉは、さらに符号ビット列のデータ部の右端に７ビット以上の０ランがあるか否かを調べる（ステップＳ７０５）。
【０２３８】
その結果、符号ビット列のデータ部の右端に７ビット以上の０ランがない場合は（ステップＳ７０５，Ｎｏ）、第２右端処理符号器１０５ｉは、ステップＳ７０９に進む。
【０２３９】
一方、符号ビット列のデータ部の右端に７ビット以上の０ランがある場合は（ステップＳ７０５，Ｙｅｓ）、第２右端処理符号器１０５ｉは、図２１で説明したようにして、０ランの「０」のビットを「１」のビットに置き換える右端処理をおこなう（ステップＳ７０６）。
【０２４０】
さらに、第２右端処理符号器１０５ｉは、データ部の左隣のデリミタの値を「０」に変更し（ステップＳ７０７）、ピボットをＰ＝１にリセットする（ステップＳ７０８）。
【０２４１】
その後、プリコーダ１０５ｊは、図２２で説明したようにして、１／（１＋Ｄ2）処理を実行し（ステップＳ７０９）、本処理を終了する。
【０２４２】
次に、図３０から図３２を参照して、図１に示したＨＲ−ＲＬＬ復号器１２３がおこなう復号化処理の処理手順について説明する。
【０２４３】
図３０は、ＨＲ−ＲＬＬ復号器１２３のプリコーダ１２３ａ、第２右端処理復号器１２３ｂ、第２置換法復号器１２３ｃおよびデ・インターリーブ復号器１２３ｄの復号化処理の処理手順を示すフローチャートである。
【０２４４】
図３０に示すように、まず、プリコーダ１２３ａは、図１１で説明したようにして、１＋Ｄ2処理を実行する（ステップＳ８０１）。
【０２４５】
そして、第２右端処理復号器１２３ｂは、符号ビット列のピボットがＰ＝１であるか否かを調べる（ステップＳ８０２）。その結果、符号ビット列のピボットがＰ＝０である場合は（ステップＳ８０２，Ｎｏ）、第２右端処理復号器１２３ｂは、ステップＳ８０９に進む。
【０２４６】
一方、符号ビット列のピボットがＰ＝１である場合は（ステップＳ８０２，Ｙｅｓ）、第２右端処復号器１２３ｂは、符号ビット列のアドレス列のデリミタＤが全て「０」であるか否かを調べる（ステップＳ８０３）。
【０２４７】
その結果、符号ビット列のアドレス列のデリミタＤが全て「０」である場合は（ステップＳ８０３，Ｙｅｓ）、第２右端処理復号器１２３ｂは、図２１で説明したようにして第２右端処理符号器１０５ｉがおこなった右端処理における変換を逆に辿ってデータ部を元に戻す（ステップＳ８０４）。
【０２４８】
一方、符号ビット列のアドレス列のデリミタＤが全て「０」でない場合は（ステップＳ８０３，Ｎｏ）、第２右端処理復号器１２３ｂは、さらに符号ビット列のアドレス列に「１１１＊＊＊＊＊＊＊０Ｄ”があるか否かを調べる（ステップＳ８０５）。ここで、「＊」は、「０」または「１」である。
【０２４９】
その結果、符号ビット列のアドレス列に「１１１＊＊＊＊＊＊＊０Ｄ」がある場合は（ステップＳ８０５，Ｙｅｓ）、第２右端処理復号器１２３ｂは、符号ビット列の右端を「＊＊＊＊＊＊＊０００００００」に戻す（ステップＳ８０６）。
【０２５０】
一方、符号ビット列のアドレス列に「１１１＊＊＊＊＊＊＊０Ｄ」がない場合は（ステップＳ８０５，Ｎｏ）、第２置換法復号器１２３ｃは、符号ビット列のアドレス列にＭ＝０となるアドレスが残っているか否かを調べる（ステップＳ８０７）。
【０２５１】
その結果、符号ビット列のアドレス列にＭ＝０となるアドレスが残っている場合は（ステップＳ８０７，Ｙｅｓ）、第２置換法復号器１２３ｃは、Ｍ＝０となる各アドレス列のアドレスコードに対応する場所へ１２ビットの０ランを挿入する（ステップＳ８０８）。
【０２５２】
一方、符号ビット列のアドレス列にＭ＝０となるアドレスが残ってない場合は（ステッ
プＳ８０７，Ｎｏ）、デ・インターリーブ復号器１２３ｄは、図１７で説明したようにして、符号ビット列のデータ部のインターリーブをおこなう（ステップＳ８０９）。
【０２５３】
図３１は、ＨＲ−ＲＬＬ復号器１２３の中間処理復号器１２３ｅ、左端処理復号器１２３ｆ、第１右端処理復号器１２３ｇおよび第１置換法復号器１２３ｈの復号化処理の処理手順を示すフローチャートである。
【０２５４】
図３１に示すように、まず、中間処理復号器１２３ｅは、符号ビット列のピボットがＰ＝１か否かを調べる（ステップＳ９０１）。その結果、符号ビット列のピボットがＰ＝０である場合は（ステップＳ９０１，Ｎｏ）、本処理を終了する。
【０２５５】
一方、符号ビット列のピボットがＰ＝１である場合は（ステップＳ９０１，Ｙｅｓ）、中間処理復号器１２３ｅは、符号ビット列のアドレス列に「１１１０＊＊＊＊＊＊１Ｄ」があるか否かを調べる（ステップＳ９０２）。なお、「＊」は、「０」または「１」である。
【０２５６】
その結果、符号ビット列のアドレス列に「１１１０＊＊＊＊＊＊１Ｄ」がある場合は（ステップＳ９０２，Ｙｅｓ）、中間処理復号器１２３ｅは、符号ビット列のデータ部の中間を「０００００００＊＊＊＊＊＊」に戻す（ステップＳ９０３）。
【０２５７】
一方、符号ビット列のアドレス列に「１１１０＊＊＊＊＊＊１Ｄ」がない場合は（ステップＳ９０２，Ｎｏ）、左端処理復号器１２３ｆは、さらに符号ビット列のアドレス列に「１１００１＊＊＊＊＊１Ｄ」があるか否かを調べる（ステップＳ９０４）。
【０２５８】
その結果、符号ビット列のアドレス列に「１１００１＊＊＊＊＊１Ｄ」がある場合は（ステップＳ９０４，Ｙｅｓ）、左端処理復号器１２３ｆは、符号ビット列のデータ部の左端を「０００００００＊＊＊＊＊」に戻す（ステップＳ９０５）。
【０２５９】
一方、符号ビット列のアドレス列に「１１００１＊＊＊＊＊１Ｄ」がない場合は（ステップＳ９０４，Ｎｏ）、第１右端処理復号器１２３ｇは、さらに符号ビット列のアドレス列に「１１１１＊＊＊＊＊＊１Ｄ」があるか否かを調べる（ステップＳ９０６）。
【０２６０】
その結果、符号ビット列のアドレス列に「１１１１＊＊＊＊＊＊１Ｄ」がある場合は（ステップＳ９０６，Ｙｅｓ）、第１右端処理復号器１２３ｇは、符号ビット列のデータ部の右端を「＊＊＊＊＊＊０００００００」に戻す（ステップＳ９０７）。
【０２６１】
一方、符号ビット列のアドレス列に「１１１１＊＊＊＊＊＊１Ｄ」がない場合は（ステップＳ９０６，Ｎｏ）、第１置換法復号器１２３ｈは、さらに符号ビット列のアドレス列にＭ＝１となるアドレスが残っているか否かを調べる（ステップＳ９０８）。
【０２６２】
その結果、符号ビット列のアドレス列にＭ＝１となるアドレスが残っている場合は（ステップＳ９０８，Ｙｅｓ）、Ｍ＝１となる各アドレス列のアドレスコードに対応する場所へ１２ビットの０ランを挿入する（ステップＳ９０９）。
【０２６３】
一方、符号ビット列のアドレス列にＭ＝１となるアドレスが残っていない場合は（ステップＳ９０８，Ｎｏ）、本処理を終了する。
【０２６４】
図３２は、ＨＲ−ＲＬＬ復号器１２３のインターリーブ復号器１２３ｉおよびデ・プリコーダ１２３ｊの復号化処理の処理手順を示すフローチャートである。
【０２６５】
図３２に示すように、インターリーブ復号器１２３ｉは、図１２で説明したようにして、符号ビット列のデータ部をデ・インターリーブする（ステップＳ１００１）。
【０２６６】
そして、デ・プリコーダ１２３ｊは、図２２に示したようにして、符号ビット列をＮＲＺ列に変換する１／（１＋Ｄ2）処理を実行し（ステップＳ１００２）、本処理を終了する。
【０２６７】
上述してきたように、本実施例１では、ＧＳ符号器１０４が、入力されたビット列に対してスクランブルをおこなうことにより当該符号化されたビット列を複数生成し、生成されたビット列内の所定の幅のビット列を１ビットずつシフトさせながら選択し、選択された各ビット列のＤＣ成分を評価し、評価された結果に基づいて符号化された複数のビット列の中からＤＣ成分が抑制されたビット列を抽出することとしたので、ベースライン補正と組み合わせることにより、符号化率が高い場合でもＤＣ成分を効果的に抑制して誤り率を改善することができ、また、スクランブルがなされたビット列のうちＤＣ成分が抑制されたビット列のみを抽出してその後の符号化をおこなうので、従来のGuidedScrambling方式のようにスクランブルがなされた複数のビット列すべてについて符号化をおこなう必要がなくなり、回路規模を縮小することができる。
【０２６８】
また、本実施例１では、ＧＳ符号器１０４が、入力されたビット列に３ビットの互いに異なるビット列と「０」のビットとを付加してスクランブルをおこなうことにより符号化された複数のビット列を生成し、また、ＤＣ成分が抑制されたビット列が抽出された場合に、抽出されたビット列から上記「０」のビットを除去して出力することとしたので、スクランブルされたビット列の数を半分に減らすことができるとともに、符号化率を高めることができる。
【０２６９】
また、本実施例１では、ＧＳ符号器１０４が、スクランブルにより符号化がなされたビット列にポストプロセッサ１０８用のパリティビットを付加し、パリティビットが付加されたビット列内の各ビット列のＤＣ成分を評価することとしたので、記憶装置に記憶されるときのビット列の状態と同じ状態でビット列のＤＣ成分を評価することができる。
【０２７０】
また、本実施例１では、ＧＳ符号器１０４が、ポストプロセッサ１０８用のパリティビットが付加されたビット列内の各ビット列のＤＣ成分が評価され、ＤＣ成分が抑制されたビット列が抽出された後、抽出されたビット列からパリティビットを除去してビット列を出力することとしたので、パリティビットのない状態にもどしてビット列を出力することによりパリティビットを付加するポストプロセッサ１０８に影響を及ぼすことなくビット列の符号化をおこなうことができる。
【０２７１】
また、本実施例１では、ＧＳ符号器１０４が、１ビットずつシフトさせながら選択された所定の幅の各ビット列に対してＲＤＳ値を求めることによりビット列のＤＣ成分を評価することとしたので、ＲＤＳ値を用いることにより効果的にＤＣ成分の評価をおこなうことができる。
【０２７２】
また、本実施例１では、ＨＲ−ＲＬＬ符号器１０５が、ＤＣ成分が抑制されたビット列に係るＲＬＬ符号化をおこなうこととしたので、スクランブルがなされた複数のビット列のうち、ＤＣ成分が抑制されたビット列のみを抽出してＲＬＬ符号化をおこなうことができ、従来のGuidedScrambling方式のようにスクランブルがなされた複数のビット列すべてについてＲＬＬ符号化をおこなう必要がなくなるため、回路規模を縮小することができる。
【０２７３】
また、本実施例１では、ＨＲ−ＲＬＬ符号器１０５が、Ｇ拘束条件およびＩ拘束条件をビット列が満足する場合にはＲＬＬ符号化をおこなうことなくビット列を出力することとしたので、拘束条件を満足する場合には、ＤＣ成分が抑制された状態のままビット列を出力することができる。
【０２７４】
また、本実施例１では、ＨＲ−ＲＬＬ符号器１０５が、Ｇ拘束条件に対する違反を解消するようビット列のＲＬＬ符号化をおこなうこととしたので、同一ビット値の連続数を制限することにより、ビット列のエラー伝播を抑制し、ビット列の復号時の同期を取りやすくすることができる。
【０２７５】
また、本実施例１では、ＨＲ−ＲＬＬ符号器１０５が、Ｉ拘束条件に対する違反をさらに解消するようビット列のＲＬＬ符号化をおこなうこととしたので、ビット列のエラー伝播をさらに抑制することができる。
【０２７６】
また、本実施例１では、ＨＲ−ＲＬＬ符号器１０５が、Ｇ拘束条件あるいはＩ拘束条件に違反した場合に「１」のビットをビット列に付加し、ビット列が上記拘束条件に違反しなかった場合に「０」のビットをビット列に付加することとしたので、ビット列がＧ拘束条件あるいはＩ拘束条件に違反したか否かを容易に判定し、Ｇ拘束条件あるいはＩ拘束条件に違反していない場合には、ＤＣ成分が抑制された状態のままビット列を出力することができる。
【０２７７】
また、本実施例１では、ＨＲ−ＲＬＬ符号器１０５が、ＤＣ成分が抑制されたビット列が出力された後、ビット列に係るＮＲＺ符号化およびＮＲＺ復号化をおこなうこととしたので、ＤＣ成分が抑制されたビット列に対して上記処理をおこなうことにより、Ｇ拘束条件あるいはＩ拘束条件に違反していない場合には、ＤＣ成分が抑制された状態のままビット列を出力することができる。
【０２７８】
また、本実施例１では、ＧＳ符号器１０４またはＨＲ−ＲＬＬ符号器１０５により符号化されたビット列を復号化することとしたので、ＤＣ成分を抑制した符号化ビット列を復号化することができる。
【実施例２】
【０２７９】
つぎに、本実施例２にかかる記録再生装置の符号器の概要について説明する。図３３は、本実施例２にかかる記録再生装置の符号器の概要を説明するための説明図である。図３３に示すように、上記した実施例１にかかるＳＤＳでは、入力されたビット列に対してスクランブルを行うことにより符号化されたビット列を複数生成し、生成した複数のビット列に対してＳＤＳウィンドウを例えば１ビットずつシフトさせ、各ビットのＲＤＳ計算毎にＲＤＳのピーク値を更新していた。
【０２８０】
これに対して、本実施例２にかかるＣＳＤＳ（Condensed SDS）では、ビット列に対してＣＳＤＳウィンドウ（ここでは、説明の便器上ＣＳＤＳウィンドウと表記しているが、ＳＤＳウィンドウと同様である）を例えば５ビットずつシフトさせ、５ビットおきにＲＤＳのピーク値を更新することで、ＲＤＳの計算を簡略化する。
【０２８１】
また、実施例１では、ＳＤＳウィンドウを１ビットずつシフトさせ、ビット列のＤＣ成分を評価していたが、実施例２では、ＣＳＤＳウィンドウを５ビットずつシフトさせ、ビット列のＤＣ成分を評価することで、ＤＣ成分評価にかかる処理を簡略化する。このように、本実施例２にかかる符号器は、上記した実施例１の符号器（図１に示したＧＳ符号器１０４）に比べて計算量を大幅に削減が可能であると共に、実施例１の符号器と同等の性能を引き出すことが可能となる。
【０２８２】
なお、図３３では、ビット列に対してＣＳＤＳウィンドウを５ビットずつシフトさせ、ＲＤＳ計算およびＤＣ成分評価を行う場合を示したが、ＣＳＤＳウィンドウを他のビット数ずつシフトさせ、ＲＤＳ計算およびＤＣ成分評価を行うことができる。
【０２８３】
図３４は、本実施例２に係る記録再生装置の構成を示す機能ブロック図である。同図に示すように、本実施例２に係る記録再生装置１５は、ＨＤＣ２００を有する。その他の構成および要素は、図１に示した記録再生装置１０と同様であるため、同一の構成要素には同一の符号を付して説明を省略する。また、ハードディスク２００においては、ＧＳ符号器２１０以外は、図１に示したＨＤＣ１００と同様であるため、同一の構成要素には同一の符号を付して説明を省略する。
【０２８４】
ここで、本実施例２にかかるＧＳ符号器２１０が行う符号化処理について説明する。図３５は、本実施例２にかかるＧＳ符号器の処理を説明するための説明図である。まず、この符号化処理においては、ＧＳ符号器２１０は、入力列に対して、付加ビット「００」を挿入し（ステップＳ２０１）、第１のスクランブル処理を行う（ステップＳ２０２）。
【０２８５】
図３６は、本実施例２にかかるＧＳ符号器がおこなう第１のスクランブル処理を説明する説明図である。ここでは、スクランブル列を生成するためのスクランブル多項式として、１＋Ｘ3を用いることとする。
【０２８６】
図３６に示すように、ＧＳ符号器２１０は、入力列２０ａの前に２ビットの付加ビット２２ａと、「０」ビット２３ａを付加する。また、ＧＳ符号器２１０は、入力列２０ａの後ろに、３ビットの付加ビット２４ａ「０００」を付加する。
【０２８７】
そして、ＧＳ符号器２１０は、この列を１＋Ｘ3を示す「１００１」で割り算し、商となるビット列を求める。その後、ＧＳ符号器２１０は、商のビットの先頭から３ビット目のビットを除去し、スクランブル列２５ａを得る。実施例１では、各付加ビット「０００」、「００１」、「０１０」、「０１１」、「１００」、「１０１」、「１１０」、「１１１」それぞれに対し、スクランブル処理をおこなっていたが、本実施例２では、付加ビット「００」のみに対して、スクランブル処理を実行する。
【０２８８】
そして、本実施例にかかるＧＳ符号器２１０は、残りの付加ビット「０１」、「１０」、「１１」にかかるスクランブル処理を、簡便な第２のスクランブル処理によって計算することになる。なお、この第２のスクランブル処理に関する詳しい説明は後述する。
【０２８９】
図３５の説明にもどると、ＧＳ符号器２１０は、単一のスクランブル列（付加ビット「００」にかかるスクランブル列）に対して、ＣＳＤＳ計算を行う（ステップＳ２０３）。
【０２９０】
図３７は、ＣＳＤＳ計算を説明するための説明図である。図３７の上から１番のビット列は、付加ビット「００」でのスクランブル列３０ａを示す。また、図３７の上から２番目の５５ビットのビット列３１ａは、５０ビットのＳＤＳウィンドウに対応する。このビット列３１ａの１ビット目から５ビット目までの５ビットを「Ａ」とし、ビット列３１ａの５１ビット目から５５ビット目までの５ビットを「Ｂ」とする。
【０２９１】
ビット列３１ａのＡおよびその次の４５ビットには、初期値として「０」を代入しておく。また、ビット列３１ａのＢには、初期値として、スクランブル列３０ａの１ビット目から５ビット目までの「１、−１変換」された値が代入される。すなわち、スクランブル列３０ａの最初の５ビットの「１」の値を「１」、「０」の値を「−１」に変換し、ビット列３１ａの「Ｂ」に代入する。図３７の例では、ビット列３１ａのＢに「−１、−１、１、−１、−１」が代入されることとなる。このスクランブル列３０ａは、５ビットずつ左にシフトし、ビット列３１ａは、スクランブル列３０ａの対応する値にあわせて、ビット列３１ａの各値を更新する。
【０２９２】
Ｓ５０、Ｓ４５、・・・、Ｓ５は、それぞれＳＤＳウィンドウ（ビット列３１ａ）の１ビット目から５０ビット目までのＲＤＳ値、１ビット目から４５ビット目までのＲＤＳ値、・・・、１ビット目から５ビット目までのＲＤＳ値が代入される。Ｓ５０、Ｓ４５、・・・、Ｓ５には、初期値として「０」が代入される。
【０２９３】
Ｐ５０、Ｐ４５、・・・、Ｐ５は、それぞれＳＤＳウィンドウの１ビット目から５０ビット目までのピーク値、１ビット目から４５ビット目までのピーク値、・・・、１ビット目から５ビット目までのピーク値が代入される。Ｐ５０、Ｐ４５、・・・Ｐ５には、初期値として「０」が代入される。
【０２９４】
続いて、ＣＳＤＳ計算の方法について説明する。はじめに、付加ビット「００」にかかるＣＳＤＳ計算について説明する。まず、ビット列３１ａの「Ａ」の和と「Ｂ」の和とを計算する。図３７の例では、「Ａ」の和は「０」となり、「Ｂ」の和は「−１」となる。そして、「Ａ」、「Ｂ」を用いて、Ｓ５、Ｓ１０、Ｓ１５、・・・、Ｓ４５、Ｓ５０のＲＤＳ値をそれぞれ更新する。Ｓ５〜Ｓ５０の各ＲＤＳ値は、Ｓ５＝Ｓ１０−Ａ、Ｓ１０＝Ｓ１５−Ａ、Ｓ１５＝２０−Ａ、・・・、Ｓ４５＝Ｓ５０−Ａ、Ｓ５０＝Ｓ５０−Ａ＋Ｂによって算出される。
【０２９５】
そして、更新されたＳ５〜Ｓ５０のＲＤＳ値の絶対値と、ＲＤＳ値のピーク値（Ｐ５〜Ｐ５０）との大小比較を行い、ピーク値を次式のよって求める。
Pi=max[|Si|,Pi] (i=5,10,15,…,50)
例えば、Ｓ５の絶対値が、Ｐ５の値よりも大きい場合には、Ｐ５の値をＳ５の絶対値に更新することとなる。
【０２９６】
続いて、スクランブル列３０ａおよびビット列３１ａを５ビットずつシフトし、Ｓ５〜Ｓ５０を計算して、Ｐ５〜Ｐ５０を順次更新していく。スクランブル列３０ａにかかるシフトが全て終了したとき、付加ビット「００」のスクランブル列３０ａのピーク値Ｓ１Ｐを次式によって求める。
S1P=max[Pi] (i=5,10,15,…,50)
【０２９７】
つぎに、付加ビット「００」以外の付加ビットにかかるＣＳＤＳ値計算について説明する。ここでは、付加ビット「１１」の場合ついて説明する。付加ビット「００」以外の付加ビットにかかるＣＳＤＳ計算を実行する場合には、「Ａの反転条件」および「Ｂの反転条件」を用いる。この「Ａの反転条件」および「Ｂの反転条件」を用いることによって、図３５のステップＳ２０２において、付加ビット「０１」、「１０」、「１１」のスクランブル処理を実行しなくとも、付加ビット「０１」、「１０」、「１１」のＲＤＳ値にかかるピーク値を算出することができる。
【０２９８】
ここで、「Ａの反転条件」は、ビット列３１ａの「Ａ」に対する反転条件であり、「Ｂの反転条件」は、ビット列３１ａの「Ｂ」に対する反転条件である。Ａの反転条件およびＢの反転条件は、図３８に示すように、スクランブル列３０ａのシフト回数によって変更される。図３８は、ＡおよびＢの反転条件とシフト回数との関係を示す図である。図３８に示すように、スクランブル列３０ａのシフト回数が「０」の場合、すなわち、初期段階において、Ａの反転条件は「ｄ０ｃｄ０」となり、Ｂの反転条件は「ｃｄ０ｃｄ」となる。
【０２９９】
Ａの反転条件およびＢの反転条件にかかる「ｃ」、「ｄ」には、付加ビットに対応した値が代入される。例えば、付加ビットが「１１」の場合には、「ｃ」に「１」が代入され、「ｄ」に「１」が代入される。同様に付加ビットが「０１」の場合には「ｃ」に「０」が代入され、「ｄ」に「１」が代入される。付加ビットが「１０」の場合には「ｃ」に「１」が代入され、「ｄ」に「０」が代入される。
【０３００】
したがって、付加ビットが「１１」で、シフト回数が「０」回の場合には、Ａの反転条件は「１０１１０」となり、Ｂの反転条件は「１１０１１」となる。そして、ＡとＢの反転条件で１となっているところは、「１」を「−１」、「１」を「−１」に反転し、反転条件で「０」となっているところは何もしない。具体的に、付加ビット「１１」に対するビット列３１ａの「Ａ」は、「Ａの反転条件」によって、「００００」となり、ビット列３１ａの「Ｂ」は、「Ｂの反転条件」によって「１１−１１−１」となる。
【０３０１】
そして、反転条件によって反転した状態で、「Ａ」の和（反転和）および「Ｂ」の和（反転和）を計算する。図３７の例では、付加ビット１１にかかる「Ａ」の反転和は「０」、「Ｂ」の反転和は「３」となる。ＲＤＳ値Ｓ５〜５０およびピーク値Ｐ５〜５０の求め方は、上記した付加ビット「００」の場合と同様であるため説明を省略する。
【０３０２】
そして、付加ビット「１１」の場合も、スクランブル列３０ａおよびビット列３１ａを５ビットずつシフトさせ、「Ａ」の反転和および「Ｂ」の反転和を求め、付加ビット「１１」にかかるＲＤＳ値Ｓ５〜Ｓ５０、ピーク値Ｐ５〜Ｐ５０を更新していく（ただし、図３８に示すように、シフト回数により反転条件が３周期で変化する）。
【０３０３】
続いて、付加ビット「１１」のスクランブル列３０ａのピーク値Ｓ４Ｐを求める。ただし、ピーク値Ｓ４Ｐの求め方は、上記したピーク値Ｓ１Ｐの求め方と同様であるため説明を省略する。また、付加ビット「０１」のピーク値Ｓ２Ｐおよび付加ビット「１０」のピーク値Ｓ３Ｐの求め方は、ピーク値Ｓ４Ｐの求め方と同様であるため説明を省略する。
【０３０４】
図３５の説明にもどると、ＧＳ符号器２１０は、スクランブル列のピーク値Ｓ１Ｐ〜Ｓ４Ｐの中で、最も小さい値を持つピーク値を検索し、付加ビットを決定する（ステップＳ２０４）。例えば、Ｓ１Ｐの値が最も小さい場合には、付加ビットは「００」となり、Ｓ２Ｐの値が最も小さい場合には、付加ビットは「０１」となり、Ｓ３Ｐの値が最も小さい場合には、付加ビットは「１０」となり、Ｓ４Ｐの値が最も小さい場合には、付加ビットは「１１」となる。
【０３０５】
ＧＳ符号器２１０は、付加ビットを決定した後、決定した付加ビットと、ステップＳ２０２においてスクランブル処理を施したスクランブル列とを用いて第２のスクランブル処理を実行する（ステップＳ２０５）。
【０３０６】
図３９は、本実施例２にかかるＧＳ符号器がおこなう再スクランブル処理を説明するための説明図である。同図に示すように、付加ビットが「００」のときのスクランブル列と、ステップＳ２０４で決定した付加ビットとの排他的論理和（ＸＯＲ）をとり、再スクランブルをおこなう。
【０３０７】
具体的に、ステップＳ２０４において付加ビットを「１０」に決定した場合には、付加ビット「００」にかかるスクランブル列の３ビット目および４ビット目、６ビット目および７ビット目、９ビット目および１０ビット目、・・・・と符号ビット「１０」との排他的論理和をとることによって、付加ビット「１０」に対するスクランブル列を求めることができる。ＧＳ符号器２１０は、算出したスクランブル列を図３４に示すＨＲ−ＲＬＬ符号器１０５に出力する。
【０３０８】
このように、ＧＳ符号器２１０は、上記したような簡便な手法によって、付加ビット「０１」、「１０」、「１１」に対するスクランブル列を求めることができるので、予めそれぞれの付加ビットに対するスクランブル列を算出しておく必要がなくなり、スクランブル処理に関わる計算量を大幅に削減させることができ、符号器にかかる回路規模を削減することができる。
【０３０９】
つぎに、ＧＳ復号器１２４が、ＧＳ符号器２１０により符号化されたスクランブル列を復号化するデ・スクランブル処理の説明をおこなう。図４０は、本実施例２のＧＳ符号器により符号化されたスクランブル列を復号化するデ・スクランブル処理を説明するための説明図である。
【０３１０】
図４０に示すように、このデ・スクランブル処理では、入力列において、２ビットの付加ビットの後に「０」ビットを挿入する。そして、「０」ビットを挿入した入力列に対して、スクランブル多項式１＋Ｘ3の掛け算をおこなう。
【０３１１】
具体的には、この演算は、図４０に示すように、「０」のビットをビット列の先頭から３ビット目に挿入した入力列を２つ用意し、そのうちの１つを３ビットずらして両者を足し合わせることにより実行することができる。ＧＳ復号器１２４は、このようにして得られた結果を、デ・スクランブル処理の出力列として出力する。
【０３１２】
上述してきたように、本実施例２では、ＧＳ符号器２１０が、入力されたビット列に対してスクランブルをおこなうことにより、符号化されたビット列（単一のビット列）を生成し、生成されたビット列内の所定の幅のビット列を例えば５ビットずつシフトさせながら選択し、選択されたビット内のＤＣ成分を評価し、評価された結果に基づいて付加ビットを特定し、特定した付加ビットを利用して再スクランブルし、ＤＣ成分が抑制されたビット列を抽出するので、符号化率が高い場合でもＤＣ成分を効果的に抑制して誤り率を改善することができる。
【０３１３】
また、本実施例２では、ＤＣ成分の評価結果によって特定される付加ビットとスクランブルされたビット列との排他的論理和によるスクランブルを実行し、ＤＣ成分が抑制されたビット列を出力するので、複数のビット列に対して予めスクランブルを行う必要がなくなり、必要なビット列に対して簡便な排他的論理和によるスクランブルをのみを行えばよいので、スクランブルにかかる計算量を大幅に削減することができる。
【０３１４】
また、本実施例２では、ＣＳＤＳウィンドウを５ビットずつシフトさせ、ＲＤＳ計算を簡略化したが、実施例１に示すＧＳ符号器と同様の性能を引き出すことができるので、実施例１にかかる記録再生装置１０と同様の性能を有する装置を低コストで作成することが可能となる。
【０３１５】
さて、これまで本発明の実施の形態について説明したが、本発明は上述した実施例１および実施例２以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。
【０３１６】
例えば、本実施例では、ＲＬＬ符号化をＨＲ−ＲＬＬ符号器がおこなうこととしたが、本発明はこれに限定されるものではなく、ＧＳ符号器１０４がビット列のスクランブル処理をおこなった後に、従来のGuidedScrambling方式のように、すべてのスクランブル列に対してＲＬＬ符号化をおこない、その後、ＳＤＳ計算によりＤＣ成分が抑制されたスクランブル列を抽出することとしてもよい。
【０３１７】
この場合、ＲＬＬ符号器の数が多くなり回路規模が大きくなるものの、符号化率が高い場合でもＤＣ成分を効果的に抑制して誤り率を改善することができるようになる。
【０３１８】
また、ＧＳ符号器１０４の出力ビット列の周波数特性を検出する回路を設けることとしてもよい。これにより、ＤＣ成分の抑制の度合いを調べることができ、符号化の効果を確認することができる。
【０３１９】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。
【０３２０】
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０３２１】
また、図示した装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。
【０３２２】
すなわち、装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０３２３】
さらに、装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０３２４】
なお、本実施の形態で説明した符号化方法あるいは復号化方法は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。このプログラムは、ＲＯＭなどの記録装置に記録され、それが記録装置から読み出されることによって実行することもできる。
【０３２５】
（付記１）ビット列の符号化を行う符号器であって、
入力されたビット列に対してスクランブルをおこなうことにより符号化されたビット列を生成する符号化ビット列生成手段と、
前記符号化ビット列生成手段により生成されたビット列内の所定の幅のビット列をＰ（Ｐは自然数）ビットずつシフトさせながら選択し、選択されたビット列のＤＣ成分を評価するＤＣ成分評価手段と、
前記ＤＣ成分評価手段により評価された結果に基づいてＤＣ成分が抑制されたビット列を出力するビット列出力手段と、
を備えたことを特徴とする符号器。
【０３２６】
（付記２）前記符号化ビット列生成手段は、入力されたビット列に対してスクランブルをおこなうことにより符号化されたビット列を複数生成し、前記ＤＣ成分評価手段は、前記前記符号化ビット列生成手段により生成されたビット列内の所定の幅のビット列を１ビットずつシフトさせながら選択し、選択された各ビット列のＤＣ成分を評価し、前記ビット列出力手段は、前記ＤＣ成分評価手段により評価された結果に基づいて符号化された複数のビット列の中からＤＣ成分が抑制されたビット列を抽出して出力することを特徴とする付記１に記載の符号器。
【０３２７】
（付記３）前記符号化ビット列生成手段は、入力されたビット列にｎビットの互いに異なるビット列と特定のｑ（ｑは自然数）ビットとを付加してスクランブルをおこなうことにより符号化された複数のビット列を生成し、前記ビット列出力手段は、抽出したビット列から前記特定のｑビットを除去して出力することを特徴とする付記２に記載の符号器。
【０３２８】
（付記４）前記符号化ビット列生成手段は、符号化された各ビット列にパリティビットを付加し、前記ＤＣ成分評価手段は、パリティビットが付加されたビット列内の各ビット列のＤＣ成分を評価することを特徴とする付記２または３に記載の符号器。
【０３２９】
（付記５）前記ビット列出力手段は、抽出したビット列から前記パリティビットを除去したビット列を出力することを特徴とする付記４に記載の符号器。
【０３３０】
（付記６）前記ＤＣ成分評価手段は、１ビットずつシフトさせながら選択された所定の幅の各ビット列に対してＲＤＳ値を求めることにより各ビット列のＤＣ成分を評価することを特徴とする付記２〜５のいずれか１つに記載の符号器。
【０３３１】
（付記７）前記符号化ビット列生成手段は、符号化されたビット列に対してさらにＲＬＬ符号化をおこない、前記ＤＣ成分評価手段は、前記符号化ビット列生成手段によりＲＬＬ符号化がなされたビット列内の所定の幅のビット列を選択することを特徴とする付記２に記載の符号器。
【０３３２】
（付記８）前記ビット列出力手段により出力されたビット列に係るＲＬＬ符号化をおこなうＲＬＬ符号化手段をさらに備えたことを特徴とする付記３に記載の符号器。
【０３３３】
（付記９）前記ＲＬＬ符号化手段は、同一ビット値の連続数に係る所定の拘束条件をビット列が満足する場合にはＲＬＬ符号化をおこなうことなくビット列を出力することを特徴とする付記８に記載の符号器。
【０３３４】
（付記１０）前記ＲＬＬ符号化手段は、同一ビット値の連続数を制限する拘束条件に対する違反を解消するようビット列のＲＬＬ符号化をおこなうことを特徴とする付記８または９に記載の符号器。
【０３３５】
（付記１１）前記ＲＬＬ符号化手段は、ビット列において所定のビット数おきの同一ビット値の連続数を制限する拘束条件に対する違反をさらに解消するようビット列のＲＬＬ符号化をおこなうことを特徴とする付記１０に記載の符号器。
【０３３６】
（付記１２）前記ＲＬＬ符号化手段は、ビット列が同一ビット値の連続数に係る所定の拘束条件に違反した場合に１のビットをビット列に付加し、ビット列が前記拘束条件に違反しなかった場合に０のビットをビット列に付加することを特徴とする付記９に記載の符号器。
【０３３７】
（付記１３）前記ＲＬＬ符号化手段は、前記ビット列出力手段により出力されたビット列に係るＮＲＺ符号化およびＮＲＺ復号化をおこなうことを特徴とする付記９に記載の符号器。
【０３３８】
（付記１４）前記ビット列出力手段により抽出されたビット列に係る周波数特性を検出する周波数特性検出手段をさらに備えたことを特徴とする付記１に記載の符号器。
【０３３９】
（付記１５）前記ＤＣ成分評価手段は、Ｐ（Ｐは自然数）ビットずつシフトさせながら選択された所定の幅のビット列に対するＲＤＳ値を求めることによりビット列のＤＣ成分を評価することを特徴とする付記１に記載の符号器。
【０３４０】
（付記１６）前記ＤＣ成分評価手段は、前記符号化ビット列生成手段により生成されたビット列内の所定の幅のビット列中のビットを、シフト回数および付加ビットに応じて異なる条件によって反転させることにより複数のビット列に対するＲＤＳ値を求め、当該複数のビット列のＤＣ成分を評価することを特徴とする付記１５に記載の符号器。
【０３４１】
（付記１７）前記ビット列出力手段は、前記ＤＣ成分評価手段により評価された結果に基づいてスクランブルを行いＤＣ成分が抑制されたビット列を出力することを特徴とする付記１に記載の符号器。
【０３４２】
（付記１８）前記ビット列出力手段は、前記ＤＣ成分評価手段により評価された結果によって特定されるＤＣ成分が抑制されたビット列に付加されるｎ（ｎは自然数）ビットのビット列と、前記符号化ビット列生成手段により生成されたビット列との排他的論理和によるスクランブルをおこないＤＣ成分が抑制されたビット列を決定することを特徴とする付記１７に記載の符号器。
【０３４３】
（付記１９）前記符号化ビット列生成手段は、入力されたビット列にｎ（ｎは自然数）ビットのビット列と特定のｑ（ｑは自然数）ビットとを付加してスクランブルをおこなうことにより符号化されたビット列を生成し、前記ビット列出力手段は、決定したビット列から前記特定のｑビットを除去して出力することを特徴とする付記１に記載の符号器。
【０３４４】
（付記２０）付記１〜１９のいずれか１つに記載の符号器により符号化されたビット列を復号化する復号化手段を備えたことを特徴とする復号器。
【０３４５】
（付記２１）ビット列の符号化をおこなう符号化方法であって、
入力されたビット列に対してスクランブルをおこなうことにより符号化されたビット列を生成する符号化ビット列生成工程と、
前記符号化ビット列生成工程により生成されたビット列内の所定の幅のビット列をＰ（Ｐは自然数）ビットずつシフトさせながら選択し、選択されたビット列のＤＣ成分を評価するＤＣ成分評価工程と、
前記ＤＣ成分評価工程により評価された結果に基づいてＤＣ成分が抑制されたビット列を出力するビット列出力工程と、
を含んだことを特徴とする符号化方法。
【産業上の利用可能性】
【０３４６】
以上のように、本発明に係る符号器および復号器は、符号化率が高い場合でも誤り率を改善し、回路規模を縮小可能にすることが必要な符号器および復号器に有用である。
【図面の簡単な説明】
【０３４７】
【図１】実施例１に係る記録再生装置の構成を示す機能ブロック図である。
【図２】ＧＳ符号器１０４がおこなう符号化処理を説明する図である。
【図３】ＧＳ符号器１０４がおこなうスクランブル処理を説明する図である。
【図４】ポストプロセッサ１０８用のパリティを付加するパリティ付加処理について説明する図である。
【図５】パリティ未処理ビットの対処について説明する図である。
【図６】ＳＤＳ計算について説明する図である。
【図７】本方式におけるＤＣフリー符号の周波数特性を示す図である。
【図８】デ・スクランブル処理について説明する図である。
【図９−１】ｒ＝６拘束条件の具体例を示す図である。
【図９−２】ｌ＝６拘束条件の具体例を示す図である。
【図９−３】Ｒ＝６拘束条件の具体例を示す図である。
【図９−４】Ｌ＝６拘束条件の具体例を示す図である。
【図１０】図１に示したＨＲ−ＲＬＬ符号器１０５の構成を示す機能ブロック図である。
【図１１】１＋Ｄ2処理について説明する図である。
【図１２】デ・インターリーブ処理について説明する図である。
【図１３】第１置換法符号器１０５ｃが符号ビット列を変換する一例を示す図である。
【図１４】第１右端処理符号器１０５ｄが符号ビット列をＩ＝１２拘束条件を満足する符号ビット列に変換する一例を示す図である。
【図１５】左端処理符号器１０５ｅが符号ビット列をＩ＝１２拘束条件を満足する符号ビット列に変換する一例を示す図である。
【図１６】中間処理符号器１０５ｆが符号ビット列をＩ＝１２拘束条件を満足する符号ビット列に変換する一例を示す図である。
【図１７】インターリーブ符号器１０５ｇがＧ＝１２拘束条件を満足していた符号ビット列をＩ＝１２拘束条件を満足する符号ビット列に変換する一例を示す図である。
【図１８】第２右端処理符号器１０５ｉがデータ部が１３ビットより大きい場合に符号ビット列を右隣の符号ビット列との間におけるＧ＝１２拘束条件を満足する符号ビット列に変換する一例を示す図である。
【図１９】第２右端処理符号器１０５ｉがデータ部が１３ビットである場合に符号ビット列を右隣の符号ビット列との間におけるＧ＝１２拘束条件を満足する符号ビット列に変換する一例を示す図である。
【図２０】第２右端処理符号器１０５ｉがデータ部が１２ビットである場合に符号ビット列を右隣の符号ビット列との間におけるＧ＝１２拘束条件を満足する符号ビット列に変換する一例を示す図である。
【図２１】第２右端処理符号器１０５ｉの右端処理の別な例を示す図である。
【図２２】１／（１＋Ｄ2）処理について説明する図である。
【図２３】ＨＲ−ＲＬＬ復号器１２３の構成を示す機能ブロック図である。
【図２４】ＨＲ−ＲＬＬ符号器１０５のデ・プリコーダ１０５ａおよびデ・インターリーブ符号器１０５ｂがおこなう符号化処理の処理手順を示すフローチャートである。
【図２５】ＨＲ−ＲＬＬ符号器１０５の第１置換法符号器１０５ｃがおこなう符号化処理の処理手順を示すフローチャートである。
【図２６】ＨＲ−ＲＬＬ符号器１０５の第１右端処理符号器１０５ｄおよび左端処理符号器１０５ｅがおこなう符号化処理の処理手順を示すフローチャートである。
【図２７】ＨＲ−ＲＬＬ符号器１０５の中間処理符号器１０５ｆおよびインターリーブ符号部１０５ｇがおこなう符号化処理の処理手順を示すフローチャートである。
【図２８】ＨＲ−ＲＬＬ符号器１０５の第２置換法符号器１０５ｈがおこなう符号化処理の処理手順を示すフローチャートである。
【図２９】ＨＲ−ＲＬＬ符号器１０５の第２右端処理符号器１０５ｉおよびプリコーダ１０５ｊがおこなう符号化処理の処理手順を示すフローチャートである。
【図３０】ＨＲ−ＲＬＬ復号器１２３のプリコーダ１２３ａ、第２右端処理復号器１２３ｂ、第２置換法復号器１２３ｃおよびデ・インターリーブ復号器１２３ｄの復号化処理の処理手順を示すフローチャートである。
【図３１】ＨＲ−ＲＬＬ復号器１２３の中間処理復号器１２３ｅ、左端処理復号器１２３ｆ、第１右端処理復号器１２３ｇおよび第１置換法復号器１２３ｈの復号化処理の処理手順を示すフローチャートである。
【図３２】ＨＲ−ＲＬＬ復号器１２３のインターリーブ復号器１２３ｉおよびデ・プリコーダ１２３ｊの復号化処理の処理手順を示すフローチャートである。
【図３３】本実施例２にかかる記録再生装置の符号器の概要を説明するための説明図である。
【図３４】本実施例２に係る記録再生装置の構成を示す機能ブロック図である。
【図３５】本実施例２にかかるＧＳ符号器の処理を説明するための説明図である。
【図３６】本実施例２にかかるＧＳ符号器がおこなう第１のスクランブル処理を説明する説明図である。
【図３７】ＣＳＤＳ計算を説明するための説明図である。
【図３８】ＡおよびＢの反転条件とシフト回数との関係を示す図である。
【図３９】本実施例２にかかるＧＳ符号器がおこなう第２のスクランブル処理を説明するための説明図である。
【図４０】本実施例２のＧＳ符号器により符号化されたスクランブル列を復号化するデ・スクランブル処理を説明するための説明図である。
【図４１】ＤＣ成分の抑制量を評価する評価方法を説明する図である。
【符号の説明】
【０３４８】
１０，１５    記録再生装置
１００，２００    ＨＤＣ
１０１    ＲＤＣ
１０２    プリアンプ
１０３    ＣＲＣ符号器
１０４，２１０    ＧＳ符号器
１０５    ＨＲ−ＲＬＬ符号器
１０５ａ    デ・プリコーダ
１０５ｂ    デ・インターリーブ符号器
１０５ｃ    第１置換法符号器
１０５ｄ    第１右端処理符号器
１０５ｅ    左端処理符号器
１０５ｆ    中間処理符号器
１０５ｇ    インターリーブ符号器
１０５ｈ    第２置換法符号器
１０５ｉ    第２右端処理符号器
１０５ｊ    プリコーダ
１０６    ＥＣＣ符号器
１０７    Ｐ−ＲＬＬ符号器
１０８    ポストプロセッサ
１０９    記録補償部
１１０，１１１    ドライバ
１１２    アンプ
１１３    ＴＡ検出部
１１４    ＶＧＡ
１１５    ＬＰＦ
１１６    ＡＤＣ
１１７    ＦＩＲ
１１８    ビタビ復号器
１１９    ＡＧＣ
１２０    ＰＬＬ
１２１    Ｐ−ＲＬＬ復号器
１２２    ＥＣＣ復号器
１２３    ＨＲ−ＲＬＬ復号器
１２３ａ    プリコーダ
１２３ｂ    第２右端処理復号器
１２３ｃ    第２置換法復号器
１２３ｄ    デ・インターリーブ復号器
１２３ｅ    中間処理復号器
１２３ｆ    左端処理復号器
１２３ｇ    第１右端処理復号器
１２３ｈ    第１置換法復号器
１２３ｉ    インターリーブ復号器
１２３ｊ    デ・プリコーダ
１２４    ＧＳ復号器
１２５    ＣＲＣ復号器
【図１】
2006309910.tif 000003
【図２】
2006309910.tif 000004
【図３】
2006309910.tif 000005
【図４】
2006309910.tif 000006
【図５】
2006309910.tif 000007
【図６】
2006309910.tif 000008
【図７】
2006309910.tif 000009
【図８】
2006309910.tif 000010
【図９−１】
2006309910.tif 000011
【図９−２】
2006309910.tif 000012
【図９−３】
2006309910.tif 000013
【図９−４】
2006309910.tif 000014
【図１０】
2006309910.tif 000015
【図１１】
2006309910.tif 000016
【図１２】
2006309910.tif 000017
【図１３】
2006309910.tif 000018
【図１４】
2006309910.tif 000019
【図１５】
2006309910.tif 000020
【図１６】
2006309910.tif 000021
【図１７】
2006309910.tif 000022
【図１８】
2006309910.tif 000023
【図１９】
2006309910.tif 000024
【図２０】
2006309910.tif 000025
【図２１】
2006309910.tif 000026
【図２２】
2006309910.tif 000027
【図２３】
2006309910.tif 000028
【図２４】
2006309910.tif 000029
【図２５】
2006309910.tif 000030
【図２６】
2006309910.tif 000031
【図２７】
2006309910.tif 000032
【図２８】
2006309910.tif 000033
【図２９】
2006309910.tif 000034
【図３０】
2006309910.tif 000035
【図３１】
2006309910.tif 000036
【図３２】
2006309910.tif 000037
【図３３】
2006309910.tif 000038
【図３４】
2006309910.tif 000039
【図３５】
2006309910.tif 000040
【図３６】
2006309910.tif 000041
【図３７】
2006309910.tif 000042
【図３８】
2006309910.tif 000043
【図３９】
2006309910.tif 000044
【図４０】
2006309910.tif 000045
【図４１】
2006309910.tif 000046