(57)【特許請求の範囲】
【請求項１】
データ列を、ｍ（ｍ≧２）ビット毎に、ｎ（ｎ≧２）ブロックのデータ列にインターリーブし、前記インターリーブされた各ブロックのデータ列から第１の誤り訂正符号のパリティを生成し、前記データ列に各ブロックの前記第１の誤り訂正符号のパリティを付加して、誤り訂正符号語を作成するＥＣＣ符号器と、
前記誤り訂正符号語の複数のビット数毎に、パリティビットを作成し、前記誤り訂正符号語に付加するパリティ符号器と、
前記誤り訂正符号語に前記パリティ符号器により生成されたパリティが付加された第２の誤り訂正符号語を、Ｋ（Ｋ≧２）ビット毎に、Ｌ個（Ｌ≧２）のブロックのデータ列に分割し、各ブロックのデータ列から、前記ブロック単位に、線形符号である第２の誤り訂正符号のパリティを生成し、前記第２の誤り訂正符号語に、各ブロックの前記第２の誤り訂正符号のパリティを付加して、第３の誤り訂正符号語を作成する第２のＥＣＣ符号器とを有し、
前記パリティ符号器は、前記誤り訂正符号語を、Ｌ個（Ｌ≧２）のブロックに分割し、分割された各前記ブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを生成し、前記ｐ×ｑ個のデータ列に対して生成された前記パリティを、前記生成に用いたデータ列を含む前記ブロック以外のブロックに付加する
ことを特徴とする符号化器。
【請求項２】
前記第２のＥＣＣ符号器は、パリティ検査行列における“１”の数が低密度であり、かつ線形符号である低密度パリティ検査（ＬＤＰＣ）符号の要件を満たす第３の誤り訂正符号語を作成するとともに、前記パリティ検査行列に対応する生成行列を用いてパリティを生成する
ことを特徴とする請求項１の符号化器。
【請求項３】
前記ＥＣＣ符号器は、前記データ列を、ｍ（ｍ≧２）ビット毎に、ｎ（ｎ≧２）ブロックのデータ列にインターリーブするインターリーブ部と、インターリーブされた各ブロックのデータ列から誤り訂正符号のパリティを生成するＥＣＣ符号部と、前記各ブロックのデータ列を前記ｍビット毎に、デ・インターリーブし、且つ前記データ列に復元し、且つ前記誤り訂正符号のパリティを前記復元されたデータ列に付加するデ・インターリーブ部とを有する
ことを特徴とする請求項１の符号化器。
【請求項４】
請求項１記載の第３の誤り訂正符号語に符号化された符号化データを復号化する復号器であって、
受信した前記符号化データ列を、前記第２のＥＣＣ符号のパリティを用いて、反復復号し、前記符号化データ列を、ビット列に復号化し、且つ各ビットの尤度を出力する反復復号器と、
前記反復復号器の符号化データ列の第１の誤り訂正符号による誤り訂正復号と、前記パリティビットによる誤り検出に従う、前記尤度による前記符号ビット列の訂正復号とを反復して行うＥＣＣ復号回路とを有し、
前記ＥＣＣ復号回路は、復号失敗時に、失敗したブロックを含む前記Ｌ個のブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを再生成し、前記Ｌ個のブロック以外のブロックに付加された前記パリティビットと比較して、誤り検出する
ことを特徴とする復号器。
【請求項５】
前記反復復号器は、前記パリティ検査行列における“１”の数が低密度であり、かつ線形符号である低密度パリティ検査（ＬＤＰＣ）符号の要件を満たす前記第３の誤り訂正符号語から、前記第２の誤り訂正符号語の前記パリティを用いて、前記反復復号し、前記符号化データ列を、前記第２の誤り訂正符号語に硬判定し、且つ各ビットの尤度を出力する
ことを特徴とする請求項４の復号器。
【請求項６】
前記反復復号器は、前記第２の誤り訂正符号語の前記パリティビット列による誤り検出において、前記第２の誤り訂正符号語のブロックが、前記パリティ検査条件を満たし、誤りが検出されなかった時に、前記反復復号を停止し、且つ前記第２の誤り訂正符号語のブロック内の各ビットの尤度を最大の尤度値に設定する
ことを特徴とする請求項５の復号器。
【請求項７】
前記ＥＣＣ復号回路は、前記反復復号器からの符号ビット列の前記第１の誤り訂正符号による誤り訂正を行うＥＣＣ復号器と、前記ＥＣＣ復号器の復号失敗に応じて、前記パリティビットによる誤り検出を行い、前記誤り検出結果により、前記尤度により、前記ＥＣＣ復号器に入力される前記符号ビット列の訂正を行うパリティ・尤度訂正器とを有し、
前記パリティ・尤度訂正器は、前記Ｌ個のブロック以外のブロックに付加されたパリティを取り出し、前記再生成されたパリティと比較する
ことを特徴とする請求項５の復号器。
【請求項８】
前記ＥＣＣ復号器は、前記反復復号器からの符号ビット列から前記パリティビットを分離し、前記パリティ・尤度訂正器に出力する分割部と、前記パリティビットが分離された前記符号ビット列を、前記ｍ（ｍ≧２）ビット毎に、ｎ（ｎ≧２）ブロックのデータ列にインターリーブするインターリーブ部と、前記インターリーブされた各ブロックのデータ列を保存するデータ保存部とを更に有し、
前記ＥＣＣ復号器は、前記データ保存部の各ブロックのデータ列を前記誤り訂正符号による誤り訂正を行い、前記パリティ・尤度訂正器は、前記データ保存器のデータ列の訂正を行う
ことを特徴とする請求項７の復号器。
【請求項９】
データ列を、ｍ（ｍ≧２）ビット毎に、ｎ（ｎ≧２）ブロックのデータ列にインターリーブし、前記インターリーブされた各ブロックのデータ列から第１の誤り訂正符号のパリティを生成し、前記データ列に各ブロックの前記第１の誤り訂正符号のパリティを付加して、誤り訂正符号語を作成するＥＣＣ符号器と、
前記誤り訂正符号語の複数のビット数毎に、パリティビットを作成し、前記誤り訂正符号語に付加するパリティ符号器と、
前記誤り訂正符号語に前記パリティ符号器により生成されたパリティが付加された第２の誤り訂正符号語を、Ｋ（Ｋ≧２）ビット毎に、Ｌ個（Ｌ≧２）のブロックのデータ列に分割し、各ブロックのデータ列から、前記ブロック単位に、線形符号である第２の誤り訂正符号のパリティを生成し、前記第２の誤り訂正符号語に、各ブロックの前記第２の誤り訂正符号のパリティを付加して、第３の誤り訂正符号語を作成する第２のＥＣＣ符号器と、
受信した前記符号化データ列を、前記第２のＥＣＣ符号のパリティを用いて、反復復号し、前記符号化データ列を、ビット列に復号化し、且つ各ビットの尤度を出力する反復復号器と、
前記反復復号器の符号化データ列の第１の誤り訂正符号による誤り訂正復号と、前記パリティビットによる誤り検出に従う、前記尤度による前記符号ビット列の訂正復号とを反復して行うＥＣＣ復号回路とを有し、
前記パリティ符号器は、前記誤り訂正符号語を、Ｌ個（Ｌ≧２）のブロックに分割し、分割された各前記ブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを生成し、前記ｐ×ｑ個のデータ列に対して生成された前記パリティを、前記生成に用いたデータ列を含む前記ブロック以外のブロックに付加し、
前記ＥＣＣ復号回路は、復号失敗時に、失敗したブロックを含む前記Ｌ個のブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを再生成し、前記Ｌ個のブロック以外のブロックに付加された前記パリティビットと比較して、誤り検出する
ことを特徴とする符号化・復号化装置。
【請求項１０】
記憶媒体にデータを書き込み且つ読み取るヘッドと、
前記記憶媒体に書き込むべきデータ列を、データ列を、ｍ（ｍ≧２）ビット毎に、ｎ（ｎ≧２）ブロックのデータ列にインターリーブし、前記インターリーブされた各ブロックのデータ列から第１の誤り訂正符号のパリティを生成し、前記データ列に各ブロックの前記第１の誤り訂正符号のパリティを付加して、誤り訂正符号語を作成するＥＣＣ符号器と、
前記誤り訂正符号語の複数のビット数毎に、パリティビットを作成し、前記誤り訂正符号語に付加するパリティ符号器と、
前記誤り訂正符号語に前記パリティ符号器により生成されたパリティが付加された第２の誤り訂正符号語を、Ｋ（Ｋ≧２）ビット毎に、Ｌ個（Ｌ≧２）のブロックのデータ列に分割し、各ブロックのデータ列から、前記ブロック単位に、線形符号である第２の誤り訂正符号のパリティを生成し、前記第２の誤り訂正符号語に、各ブロックの前記第２の誤り訂正符号のパリティを付加して、第３の誤り訂正符号語を作成し、前記ヘッドに出力する第２のＥＣＣ符号器と、
前記ヘッドが読み出した前記符号化データ列を、前記第２のＥＣＣ符号のパリティを用いて、反復復号し、前記符号化データ列を、ビット列に復号化し、且つ各ビットの尤度を出力する反復復号器と、
前記反復復号器の符号化データ列の第１の誤り訂正符号による誤り訂正復号と、前記パリティビットによる誤り検出に従う、前記尤度による前記符号ビット列の訂正復号とを反復して行うＥＣＣ復号回路とを有し、
前記パリティ符号器は、前記誤り訂正符号語を、Ｌ個（Ｌ≧２）のブロックに分割し、分割された各前記ブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを生成し、前記ｐ×ｑ個のデータ列に対して生成された前記パリティを、前記生成に用いたデータ列を含む前記ブロック以外のブロックに付加し、
前記ＥＣＣ復号回路は、復号失敗時に、失敗したブロックを含む前記Ｌ個のブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを再生成し、前記Ｌ個のブロック以外のブロックに付加された前記パリティビットと比較して、誤り検出する
ことを特徴とする記録再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録再生装置や通信装置に使用される誤り訂正符号を含むデータの符号化装置、復号化装置、符号化・復号化装置及び記録再生装置に関し、特に、ＥＣＣ（Error Correction Code）を付与したデータブロックの誤り訂正のための符号化装置、復号化装置、符号化・復号化装置及び記録再生装置に関する。
【背景技術】
【０００２】
磁気ディスク装置等の記録再生装置や通信系の分野においては、記録再生過程や、伝送路において生じたデータの誤りを訂正するため、誤り訂正符号（ＥＣＣ：Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）を用いた誤り訂正技術が、広く普及している。
【０００３】
このＥＣＣ符号として、リード・ソロモン（ＲＳ：Ｒｅｅｄ  Ｓｏｌｏｍｏｎ）符号が、利用されている（例えば、特許文献１参照）。ＲＳ符号は、記録データに、予めＲＳ符号化を行い、記録再生過程を経て再生されたビット列に対し、ＲＳ復号化を行い、ビット列に含まれる誤りを検出・訂正する。即ち、ＲＳ符号は、シンボル単位の訂正能力に優れており、特に、バースト誤りの検出、訂正能力に優れている。
【０００４】
また、誤り訂正符号技術として、反復復号形式が利用されている。反復復号とＥＣＣとを組み合わせて、誤り検出・訂正能力を向上できる。近年、反復復号形式の１つである低密度パリティ検査（ＬＤＰＣ: Low Density Parity Check）符号が、実用化されている。
【０００５】
ＬＤＰＣ符号は、記録データに、予めＬＤＰＣ符号化を行い、記録再生過程を経て再生された信号に対し、信頼度伝播を用いた反復復号を行うことで、記録再生過程で生じた誤りを訂正することができる（例えば、特許文献２参照）。
【０００６】
ＬＤＰＣ符号化の特徴は、符号ブロック長を大きくした上で、パリティ検査行列Ｈ内の“1”（検査対象ビット）の数が少なく（すなわち低密度である）、且つランダムに配置できる特徴を持つ線形符号である。ＬＤＰＣ復号時は、尤度（データ列“0”、“1”の可能性を示す信頼度）を伝播して、復号を行う信頼度伝播を用いた復号と、反復復号（パーシャルレスポンスチャネルと信頼度伝播復号器間を反復する復号）とを行うことにより、誤り訂正を行う。
【０００７】
以下、ＬＤＰＣ符号化及び復号化を説明する。ＬＤＰＣ符号は、線形符号であるため、次の検査条件が成り立つように、パリティ検査行列Ｈを生成する。
【０００８】
ｗＨＴ＝０                                          （１）
式（１）で、ｗはＬＤＰＣ符号化された符号語を表し、Ｈはパリティ検査行列、Ｔは転置を表す。
【０００９】
ＬＤＰＣの復号を行う際、反復復号の停止条件として、規定回数を行う場合と、上式（１）の検査条件が成立するとき、つまり誤りが無となるときに停止し、復号器出力とする場合とがある。
【００１０】
一般的に尤度として、“0”となる確率と“1”となる確率との比を、対数化した対数尤度比（ＬＬＲ: Log-Likelihood Ratio）が用いられる。そして、元の２値データが“1”であれば、正の尤度、“0”であれば、負の尤度が与えられる。従って、反復復号出力において復号データ列を二値化する際には、“0”をしきい値とするしきい値判定器を用いて、２値判定を行うことができる。
【００１１】
このシンボル単位のＥＣＣ訂正をＲＳ符号と、ＥＣＣの前段で、反復復号により、ビット単位の誤り検出・訂正を行うＬＤＰＣ符号とを組み合わせた符号化、復号化装置が、提案されている（例えば、特許文献３参照）。
【００１２】
更に、ＥＣＣ訂正において、このＲＳ符号と、誤り検出を行うパリティ符号とを連接して、複数インターリーブ方式において、誤り訂正能力を改善する方法が提案されている（非特許文献１）。
【００１３】
図１５は、従来のＲＳ符号とパリティ符号とを連接した誤り訂正方法の説明図である。例えば、１ブロックが、８０ビットである多数のブロックからなるデータ列を符号化対象と想定する。先ず、各ブロック（８０ビット）を、２０ビットのビット間隔で、インターリーブして、４つのブロック１００１，１００２，１００３，１００４を生成する。この４つのブロック１００１，１００２，１００３，１００４に、ＥＣＣ符号器により、ＲＳパリティ１０１１，１０１２，１０１３，１０１４を付加する。
【００１４】
又、２０ビット×４（４ブロック）＝８０ビットの縦方向に対し、パリティ符号器により、２ビットのパリティ１１１０〜１１１ｎが計算され、付加される。このため、ここで、生成される符号は、横方向がＲＳ符号による誤り訂正符号であり、縦方向がマルチパリティ（２ビットパリティ）による誤り検出符号からなる連接型の符号の構成になる。
【００１５】
このように、４分割したブロックを、２０ビットでのインターリーブで作成し、誤り訂正及び検出符号を連接型符号とし、４分割したブロックの横方向に、ＲＳ符号による誤り訂正符号を、縦方向に、マルチパリティによる誤り検出符号を適用する。
【００１６】
これを、セクタデータ列で見ると、横方向に８０ビット毎に、マルチパリティによる誤り検出符号が設けられ、８０ビット（シンボル）単位で誤りを検出でき、且つ２０ビット（８０ビットの１／４）の４インターリーブ単位で、ＲＳ符号が設けられ、４インターリーブ単位で、誤り訂正が可能となる。これにより、ＥＣＣ復号失敗時に、訂正位置を、局所的に特定でき、利得向上に寄与する。
【特許文献１】特開平１１−３３０９８５号公報
【特許文献２】特開２００７−１６６４２５号公報
【特許文献３】特開２００５−０９３０３８号公報
【非特許文献１】著者  伊東  利雄，森田  俊彦、論文“ERROR CORRECTING CODES FOR 4K-BYTE SECTORS”ｂｙＩＥＥＥ“The Magnetic Recording Conference (TMRC 2007)”，２００７年
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、従来の反復復号にＬＤＰＣを用い、その後段のＥＣＣにＲＳ符号を用いた組み合わせた方法では、反復復号での訂正能力は、向上するが、ＥＣＣでの訂正能力の向上は、それ程、期待できない。
【００１８】
一方、従来のＲＳ符号とパリティ符号とを連接した誤り訂正方法（ＥＣＣ）の提案では、最尤復号を前提としているため、復号での誤り・訂正能力が高くないという問題がある。  
【００１９】
従って、本発明の目的は、復号とＥＣＣとの組み合わせによる誤り訂正性能を向上するための符号化器、復号化器、符号化・復号化装置及び記録再生装置を提供することにある。
【００２０】
又、本発明の他の目的は、線形符号化とＥＣＣとを組み合わせて、複数インターリーブ構成でＥＣＣ符号化しても、誤り訂正性能の劣化を防止するための符号化器、復号化器、符号化・復号化装置及び記録再生装置を提供することにある。
【００２１】
更に、本発明の更に他の目的は、ＬＤＰＣとＥＣＣとを組み合わせても、複数インターリーブ構成でＥＣＣ符号化での誤り訂正能力を向上し、ＬＤＰＣの局所的エラーの集中が生じても、エラー検出を可能とするための符号化器、復号化器、符号化・復号化装置及び記録再生装置を提供することにある。
【課題を解決するための手段】
【００２２】
この目的の達成のため、本発明の符号化器は、データ列を、ｍ（ｍ≧２）ビット毎に、ｎ（ｎ≧２）ブロックのデータ列にインターリーブし、前記インターリーブされた各ブロックのデータ列から第１の誤り訂正符号のパリティを生成し、前記データ列に各ブロックの前記第１の誤り訂正符号のパリティを付加して、誤り訂正符号語を作成するＥＣＣ符号器と、前記誤り訂正符号語の複数のビット数毎に、パリティビットを作成し、前記誤り訂正符号語に付加するパリティ符号器と、前記誤り訂正符号語に前記パリティ符号器により生成されたパリティが付加された第２の誤り訂正符号語を、Ｋ（Ｋ≧２）ビット毎に、Ｌ個（Ｌ≧２）のブロックのデータ列に分割し、各ブロックのデータ列から、前記ブロック単位に、線形符号である第２の誤り訂正符号のパリティを生成し、前記第２の誤り訂正符号語に、各ブロックの前記第２の誤り訂正符号のパリティを付加して、第３の誤り訂正符号語を作成する第２のＥＣＣ符号器とを有し、前記パリティ符号器は、前記誤り訂正符号語を、Ｌ個（Ｌ≧２）のブロックに分割し、分割された各前記ブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを生成し、前記ｐ×ｑ個のデータ列に対して生成された前記パリティを、前記生成に用いたデータ列を含む前記ブロック以外のブロックに付加する。
【００２３】
又、本発明の復号器は、前記第３の誤り訂正符号語に符号化された符号化データを復号化する復号器であって、受信した前記符号化データ列を、前記第２のＥＣＣ符号のパリティを用いて、反復復号し、前記符号化データ列を、ビット列に復号化し、且つ各ビットの尤度を出力する反復復号器と、前記反復復号器の符号化データ列の第１の誤り訂正符号による誤り訂正復号と、前記パリティビットによる誤り検出に従う、前記尤度による前記符号ビット列の訂正復号とを反復して行うＥＣＣ復号回路とを有し、前記ＥＣＣ復号回路は、復号失敗時に、失敗したブロックを含む前記Ｌ個のブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを再生成し、前記Ｌ個のブロック以外のブロックに付加された前記パリティビットと比較して、誤り検出する。
【００２４】
又、本発明の符号化・復号化装置は、データ列を、ｍ（ｍ≧２）ビット毎に、ｎ（ｎ≧２）ブロックのデータ列にインターリーブし、前記インターリーブされた各ブロックのデータ列から第１の誤り訂正符号のパリティを生成し、前記データ列に各ブロックの前記第１の誤り訂正符号のパリティを付加して、誤り訂正符号語を作成するＥＣＣ符号器と、前記誤り訂正符号語の複数のビット数毎に、パリティビットを作成し、前記誤り訂正符号語に付加するパリティ符号器と、前記誤り訂正符号語に前記パリティ符号器により生成されたパリティが付加された第２の誤り訂正符号語を、Ｋ（Ｋ≧２）ビット毎に、Ｌ個（Ｌ≧２）のブロックのデータ列に分割し、各ブロックのデータ列から、前記ブロック単位に、線形符号である第２の誤り訂正符号のパリティを生成し、前記第２の誤り訂正符号語に、各ブロックの前記第２の誤り訂正符号のパリティを付加して、第３の誤り訂正符号語を作成する第２のＥＣＣ符号器と、受信した前記符号化データ列を、前記第２のＥＣＣ符号のパリティを用いて、反復復号し、前記符号化データ列を、ビット列に復号化し、且つ各ビットの尤度を出力する反復復号器と、前記反復復号器の符号化データ列の第１の誤り訂正符号による誤り訂正復号と、前記パリティビットによる誤り検出に従う、前記尤度による前記符号ビット列の訂正復号とを反復して行うＥＣＣ復号回路とを有し、前記パリティ符号器は、前記誤り訂正符号語を、Ｌ個（Ｌ≧２）のブロックに分割し、分割された各前記ブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを生成し、前記ｐ×ｑ個のデータ列に対して生成された前記パリティを、前記生成に用いたデータ列を含む前記ブロック以外のブロックに付加し、前記ＥＣＣ復号回路は、復号失敗時に、失敗したブロックを含む前記Ｌ個のブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを再生成し、前記Ｌ個のブロック以外のブロックに付加された前記パリティビットと比較して、誤り検出する。
【００２５】
又、本発明の記録再生装置は、記憶媒体にデータを書き込み且つ読み取るヘッドと、前記記憶媒体に書き込むべきデータ列を、データ列を、ｍ（ｍ≧２）ビット毎に、ｎ（ｎ≧２）ブロックのデータ列にインターリーブし、前記インターリーブされた各ブロックのデータ列から第１の誤り訂正符号のパリティを生成し、前記データ列に各ブロックの前記第１の誤り訂正符号のパリティを付加して、誤り訂正符号語を作成するＥＣＣ符号器と、前記誤り訂正符号語の複数のビット数毎に、パリティビットを作成し、前記誤り訂正符号語に付加するパリティ符号器と、前記誤り訂正符号語に前記パリティ符号器により生成されたパリティが付加された第２の誤り訂正符号語を、Ｋ（Ｋ≧２）ビット毎に、Ｌ個（Ｌ≧２）のブロックのデータ列に分割し、各ブロックのデータ列から、前記ブロック単位に、線形符号である第２の誤り訂正符号のパリティを生成し、前記第２の誤り訂正符号語に、各ブロックの前記第２の誤り訂正符号のパリティを付加して、第３の誤り訂正符号語を作成し、前記ヘッドに出力する第２のＥＣＣ符号器と、前記ヘッドが読み出した前記符号化データ列を、前記第２のＥＣＣ符号のパリティを用いて、反復復号し、前記符号化データ列を、ビット列に復号化し、且つ各ビットの尤度を出力する反復復号器と、前記反復復号器の符号化データ列の第１の誤り訂正符号による誤り訂正復号と、前記パリティビットによる誤り検出に従う、前記尤度による前記符号ビット列の訂正復号とを反復して行うＥＣＣ復号回路とを有し、前記パリティ符号器は、前記誤り訂正符号語を、Ｌ個（Ｌ≧２）のブロックに分割し、分割された各前記ブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを生成し、前記ｐ×ｑ個のデータ列に対して生成された前記パリティを、前記生成に用いたデータ列を含む前記ブロック以外のブロックに付加し、前記ＥＣＣ復号回路は、復号失敗時に、失敗したブロックを含む前記Ｌ個のブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを再生成し、前記Ｌ個のブロック以外のブロックに付加された前記パリティビットと比較して、誤り検出する。
【００２６】
更に、本発明の符号化器は、好ましくは、前記第２のＥＣＣ符号器は、パリティ検査行列における“１”の数が低密度であり、かつ線形符号である低密度パリティ検査（ＬＤＰＣ）符号の要件を満たす第３の誤り訂正符号語を作成するとともに、前記パリティ検査行列に対応する生成行列を用いてパリティを生成する。
【００２７】
更に、本発明の符号化器は、好ましくは、前記パリティ符号器は、前記誤り訂正符号語を、Ｌ個（Ｌ≧２）のブロックに分割し、分割された各前記ブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを生成する。
【００２８】
更に、本発明の符号化器は、好ましくは、前記パリティ符号器は、前記ｐ×ｑ個のデータ列に対して生成された前記パリティを、前記生成に用いたデータ列を含む前記ブロック以外のブロックに付加する。
【００２９】
更に、本発明の符号化器は、好ましくは、前記ＥＣＣ符号器は、前記データ列を、ｍ（ｍ≧２）ビット毎に、ｎ（ｎ≧２）ブロックのデータ列にインターリーブするインターリーブ部と、インターリーブされた各ブロックのデータ列から誤り訂正符号のパリティを生成するＥＣＣ符号部と、前記各ブロックのデータ列を前記ｍビット毎に、デ・インターリーブし、且つ前記データ列に復元し、且つ前記誤り訂正符号のパリティを前記復元されたデータ列に付加するデ・インターリーブ部とを有する。
【００３０】
更に、本発明の符号化器は、好ましくは、前記ＥＣＣ符号器は、前記誤り訂正符号として、リードソロモン符号を生成する。
【００３１】
更に、本発明の復号器は、好ましくは、前記反復復号器は、前記パリティ検査行列における“１”の数が低密度であり、かつ線形符号である低密度パリティ検査（ＬＤＰＣ）符号の要件を満たす前記第３の誤り訂正符号語から、前記第２の誤り訂正符号語の前記パリティを用いて、前記反復復号し、前記符号化データ列を、前記第２の誤り訂正符号語に硬判定し、且つ各ビットの尤度を出力する。
【００３２】
更に、本発明の復号器は、好ましくは、前記反復復号器は、前記第２の誤り訂正符号語の前記パリティビット列による誤り検出において、前記第２の誤り訂正符号語のブロックが、前記パリティ検査条件を満たし、誤りが検出されなかった時に、前記反復復号を停止し、且つ前記第２の誤り訂正符号語のブロック内の各ビットの尤度を最大の尤度値に設定する。
【００３３】
更に、本発明の復号器は、好ましくは、前記ＥＣＣ復号回路は、前記反復復号器からの符号ビット列の前記第１の誤り訂正符号による誤り訂正を行うＥＣＣ復号器と、前記ＥＣＣ復号器の復号失敗に応じて、前記パリティビットによる誤り検出を行い、前記誤り検出結果により、前記尤度により、前記ＥＣＣ復号器に入力される前記符号ビット列の訂正を行うパリティ・尤度訂正器とを有する。
【００３４】
更に、本発明の復号器は、好ましくは、前記反復復号器からの符号ビット列から前記パリティビットを分離し、前記パリティ・尤度訂正器に出力する分割部と、前記パリティビットが分離された前記符号ビット列を、前記ｍ（ｍ≧２）ビット毎に、ｎ（ｎ≧２）ブロックのデータ列にインターリーブするインターリーブ部と、前記インターリーブされた各ブロックのデータ列を保存するデータ保存部とを更に有し、前記ＥＣＣ復号器は、前記データ保存部の各ブロックのデータ列を前記誤り訂正符号による誤り訂正を行い、前記パリティ・尤度訂正器は、前記データ保存器のデータ列の訂正を行う。
【００３５】
更に、本発明の復号器は、好ましくは、前記パリティ・尤度訂正器は、前記復号失敗時に、前記失敗したブロックを含む前記Ｌ個のブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを再生成し、付加された前記パリティビットと比較して、誤り検出する。
【００３６】
更に、本発明の復号器は、好ましくは、前記パリティ・尤度訂正器は、前記Ｌ個のブロック以外のブロックに付加されたパリティを取り出し、前記再生成されたパリティと比較する。
【００３７】
更に、本発明の復号器は、好ましくは、前記符号化データ列の前記誤り訂正符号が、リードソロモン符号からなる。
【発明の効果】
【００３８】
データ列を、ｍ（ｍ≧２）ビット毎に、複数ブロックにインターリーブし、誤り訂正符号のパリティを付加し、複数のビット数毎に、パリティビットを付加した連接型符号化データを作成するので、複数ブロックにインターリーブして誤り訂正符号のパリティを生成しても、回路規模の増加を防止できる。又、反復復号を使用する線形符号化の第２の誤り訂正符号化を併用するため、反復復号により、ＥＣＣの入力の誤りを訂正でき、訂正性能劣化も防止できる。このため、ＷＩＮＤＯＷＳ（登録商標）のＶＩＳＴＡ（登録商標）に使用されるロングセクタータイプの記録再生装置の回路規模増加を防止しつつ、訂正性能を向上できる。更に、パリティを、複数のブロックのデータ列から作成され、作成対象のブロック以外のブロックに、そのパリティを挿入するため、復号時におけるバースト誤り発生に対して、パリティが分散しているため、パリティによる誤り検出が可能となる。
【発明を実施するための最良の形態】
【００３９】
以下、本発明の実施の形態を、記録再生システム、符号化器、復号化器、ＥＣＣ復号器、符号化及び復号化の動作、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。
【００４０】
（記録再生システム）
図１は、本発明の一実施の形態の磁気ディスク装置の記録再生システムのブロック図である。図１に示すように、磁気ディスク装置の記録再生系は、大きく分けて、ハードディスクコントローラ（ＨＤＣ）２０３と、リードチャネル（ＲＤＣ）２０２と、プリアンプ（又はヘッドＩＣ）２０１からなる。
【００４１】
先ず、記録時（符号化時）を説明する。記録データは、ＨＤＣ２０３内のＣＲＣ符号器２３７で、ＣＲＣ符号（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｏｄｅ）が付加される。その後に、記録符号器２３６が、ＭＴＲ符号（Ｍａｘｉｍｕｍ  Ｔｒａｎｓｉｔｉｏｎ  Ｒｕｎ  Ｃｏｄｅ）やＲＬＬ（Ｒｕｎ  Ｌｅｎｇｔｈ  Ｌｉｍｉｔｅｄ）符号などの拘束条件が満たされるデータ列に変換する。そして、ＥＣＣ符号器２３５は、図２乃至図４で後述するように、インターリーブして、ＲＳパリティ列を付加する。
【００４２】
更に、パリティ符号器２３４は、図２、図５で説明するように、ＥＣＣとは別のエラー検出を行うための２ビットパリティを求め、求めた全ての２ビットパリティを、ＥＣＣ符号化データ列に付加する。
【００４３】
パリティが付加されたＥＣＣ符号化されたデータ列は、ＲＤＣ２０２に入力する。ＲＤＣ２０２内のＬＤＰＣ符号器２２０は、図６で説明するように、ＥＣＣ符号やパリティ符号とは、別のエラー検出を行うためのＬＤＰＣパリティを、ＬＤＰＣブロックごとに求め、且つそれぞれのＬＤＰＣパリティを、ＬＤＰＣブロックごとに、前記パリティ符号化されたＥＣＣ符号化データ列に付加する。
【００４４】
記録補償器２２９は、磁化反転が隣接する箇所で、反転間隔を多少広げる補償処理を行う。そして、ＲＤＣ２０２内のドライバ２２８は、記録補償されたデータ列をプリアンプ２０１に出力する。プリアンプ２０１では、ドライバ２１２が、図示しない記録ヘッド（ライトヘッド）のライト電流を発生し、記録ヘッドを駆動して、図示しない磁気ディスクに記録を行う。
【００４５】
一方、再生時を説明する。再生の際は、プリアンプ２０１のアンプ２１１が、再生ヘッド（リードヘッド）からのアナログ電圧を増幅した後、ＲＤＣ２０２に出力する。ＲＤＣ２０２のサーマルアスペリティ検出処理部２２１は、サーマルアスピリテイ処理した後、可変利得アンプ（ＶＧＡ）２２２が、振幅調整する。
【００４６】
その後、ローパスフィルタ（ＬＰＦ）２２３が、振幅調整されたリード信号の高周波数域をカットし、Ａ／Ｄコンバータ（ＡＤＣ）２２４が、そのアナログ出力をデジタル信号へ変換する。その後、ＦＩＲ（Ｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ）フィルタ２２５が、ＰＲ（Ｐａｒｔｉａｌ  Ｒｅｓｐｏｎｓｅ）波形等化を行った後、反復復号器２２６に出力する。
【００４７】
反復復号器２２６は、図９以下で説明するように、軟入力軟出力検出器とＬＤＰＣ復号器で構成され、尤度を用いて反復復号を行う。軟入力軟出力検出器は、例えば、Ｍａｘ−ｌｏｇ−ＭＡＰ（Maximum A Posteriori）アルゴリズム、ＳＯＶＡ（Soft-Output Viterbi Algorithm）及び雑音予測機能付ＳＯＶＡ（ＮＰＳＯＶＡ: Noise Predictive SOVA）などを用いる。ＬＤＰＣ復号器は、例えば、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムや、Ｍｉｎ−Ｓｕｍアルゴリズムなどを用いる。
【００４８】
第１のパリティ・尤度訂正器２２７は、復号器２２６が求めた尤度を使用して、誤り候補の位置情報を求め、尤度と位置情報のテーブルを作成する。反復復号器２２６から「０」又は「１」に硬判定（Ｈａｒｄ Ｄｅｃｉｓｉｏｎ）された復号列は、ＨＤＣ２０３に送られる。ＥＣＣ復号器２３０は、４インターリーブ構成での誤り訂正を行う。
【００４９】
復号が成功した場合は、記録復号器２３１が、記録符号器２３６の符号化と逆の復号化を行い、ＣＲＣ復号器２３２が、ＣＲＣ復号し、再生データとして出力する。
【００５０】
又、ＥＣＣ復号器２３０で復号が失敗した場合は、第２のパリティ・尤度訂正器２３３にデータが入力される。第２のパリティ・尤度訂正器２３３は、第１のパリティ・尤度訂正器２２７の尤度と位置情報テーブルを利用して、ＥＣＣの訂正が失敗したブロックの訂正を行う。
【００５１】
第２のパリティ・尤度訂正器２３３で訂正されたデータは、ＥＣＣ復号器２３０へ入力され、ＥＣＣによる誤り訂正を行う。ＥＣＣ復号器２３０で復号が成功した場合は、前述のように、記録復号器２３１、ＣＲＣ復号器２３２を経て、再生データとして出力される。一方、ＥＣＣ復号が、失敗した場合は、第２のパリティ・尤度訂正器２３３に再度データが入力され、ブロックの訂正が行われる。
【００５２】
このようにＥＣＣによる誤り訂正が失敗した場合は、尤度情報を使用して、第２のパリティ・尤度訂正器２３３とＥＣＣ復号器２３０での反復を繰り返すことによって、訂正能力を高めていくことができる。
【００５３】
ここで、ＥＣＣ復号器２３０での誤り訂正を何回か繰り返す場合があるため、図１２で説明する高速判定ＥＣＣ回路を使用する。これにより、計算量が削減できる。
【００５４】
又、本発明では、第１のパリティ・尤度訂正器２２７は、反復復号器２２６から復号列の各ビットの位置と、その尤度を受け、パリティが付加されたデータ列の単位で、尤度が低い（誤りの可能性の高い）ビット位置をエラー候補として、抽出し、テーブルを作成する。
【００５５】
即ち、エラー候補として、誤りの可能性の高いビット位置を抽出するため、ＥＣＣ復号器２３０に、有効な訂正ができるエラー候補を提供できる。又、エラー候補として、誤りの可能性の高いビット位置のみを抽出するため、ＥＣＣ復号器２３０が、尤度の低い順にエラー候補を取り出すことができるように、尤度順にソートする回数を削減でき、計算量削減に有効である。
【００５６】
（符号化器）
次に、図１のＥＣＣ符号器、パリティ符号器及びＬＤＰＣ符号器の構成を説明する。図２は、図１のＥＣＣ符号器２３５、パリティ符号器２３４及びＬＤＰＣ符号器のブロック図、図３は、図２のインターリーブ部の動作説明図、図４は、図２のＥＣＣ符号器及びデ・インターリーブ部の動作説明図、図５は、図２のパリティ符号器の動作説明図、図６は、図２のＬＤＰＣ符号器の動作説明図、図７は、図２乃至図６によるＬＤＰＣブロック、ＲＳブロック及びパリティの関係図、図８は、比較例の説明図である。
【００５７】
図２に示すように、ＥＣＣ符号器２３５は、インターリーブ部１０２、ＥＣＣ符号器１０４、デ・インターリーブ部１０６からなる。インターリーブ部１０２は、図３に示すように、４ｋＢｙｔｅセクタのデータ列１０００を、４つ（ｎ＝４）のブロック１００１，１００２，１００３，１００４にインターリーブする。このインターリーブを行う際、セクタのデータ列１０００を、１０ビット（ｍ＝１０）のビット間隔でインターリーブを行う。
【００５８】
ＥＣＣ符号器１０４は、４つに分割された各ブロック１００１，１００２，１００３，１００４に対し、ＥＣＣ符号化を行い、図４に示すように、各ブロック１００１〜１００４に、ＲＳ符号のパリティ１０１１，１０１２，１０１３，１０１４を付加する。ＥＣＣ符号器１０４は、復号が失敗したという情報を、誤り位置多項式を求めた際に判定できるように、ｔシンボル訂正に対し、２ｔ＋１シンボルのＲＳパリティを付加することが望ましい。
【００５９】
デ・インターリーブ部１０６は、図４に示すように、ＲＳパリティが付加された各ブロックに対し、１０ビットの間隔で、デ・インターリーブ処理（インターリーブと逆操作）を行い、１系列のデータ列（ＲＳ符号列）１１００へ変換する。
【００６０】
例えば、４ｋＢｙｔｅのセクタデータ列を４分割すると、１ブロックは、１ｋＢｙｔｅとなる。誤り訂正数ｔを５５シンボルとすると、２ｔ＋１シンボル（＝１１１シンボル）のＲＳパリティを付加する。
【００６１】
次に、パリティ符号器２３４は、図５に示すように、ＲＳ符号列１１００を、Ｌ個（例えば、１０個）に分割したブロック１１０１〜１１１０の内、q（q≦L）個（例えば、４個）のブロック１１０１〜１１０４から、１０ビットのデータ列（ｐ＝１０）をそれぞれ抽出し、ｐ×ｑ個のデータ列の各々に対して、パリティ１１２１，１１２２を生成する。生成したパリティは、抽出したブロック１１０１〜１１１０とは異なる各ブロック１１１７，１１１８に付加し、データ１１３０を出力する。ここでは、パリティは、｛（Ｋ・Ｌ）／（ｐ・ｑ）｝・２個生成される。
【００６２】
次に、図６に示すように、ＬＤＰＣ符号器２２０は、パリティ符号器２３４により、パリティが付加されたＲＳ符号列１１３０をＬ個に分割されたＫ‘（図５で説明したように、ＲＳ符号列１１００をＬ個に分割したデータ長をＫビットとし、それにパリティを付加したデータ長をＫ’とする）ビットのデータ列１１３１〜１１４０ごとに、ＬＤＰＣ符号化を行い、各ブロック１１３１〜１１４０に、ＬＤＰＣ符号のパリティ１１７１〜１１８０を付加する。
【００６３】
このように付加したパリティ１１２１を、各ＬＤＰＣブロック１１５１〜１１６０から抽出することにより、ＬＤＰＣ復号時におけるバースト誤り発生に対して、パリティが分散しているため、パリティによる誤り検出が可能となる。
【００６４】
これを図７及び図８で説明する。先ず、図７は、図５の実施の形態のように、パリティを分散させて、パリティを作成、付加した場合の説明図、図８は、図５の実施の形態のように、パリティを分散させないで、パリティを作成、付加した場合の説明図である。
【００６５】
ＬＤＰＣは、低い確率ではあるが、ＬＤＰＣブロック内の誤りを訂正できない場合があり、誤訂正により多くの誤りを発生させることがある。図８は、ＬＤＰＣブロック１１５１〜１１５５と、ＲＳ符号ブロック１００１〜１００４及びインターリーブしたビット列を纏めて、生成したパリティの関連の説明図を示す。非特許文献で示した方法とＬＤＰＣを組み合わせたものであり、１０ビットのビット間隔でのインターリーブにより生成された４つのブロック１００１，１００２，１００３，１００４に、ＥＣＣ符号器により、ＲＳパリティ１０１１，１０１２，１０１３，１０１４が付加される。又、１０ビット×４（４ブロック）＝４０ビットの縦方向に対し、パリティ符号器２３４により、２ビットパリティ１１２１〜１１２ｎが計算され、付加される。このため、ここで、生成される符号は、横方向がＲＳ符号による誤り訂正符号であり、縦方向がマルチパリティ（２ビットパリティ）による誤り検出符号からなる連接型の符号の構成になっている。
【００６６】
しかしながら、図８に示すように、ＬＤＰＣブロックが正しく復号できている場合（ブロック１１５１，１１５３，１１５４）は、誤りが無いため、パリティ１１２１の効果はない。
【００６７】
一方、ＬＤＰＣブロックを誤って復号する場合（ブロック１１５２、１１５５）は、非常に多くの誤り（図の×印で示す）が発生し、パリティによる誤りの検出が正しくできなくなる。その結果、パリティによる誤り検出ができず、ＥＣＣでの尤度を用いた訂正が行われないため、ＲＳ復号とパリティ尤度・訂正による誤り訂正能力の向上が期待できない。
【００６８】
一方、図７に示すように、図５のように、ＲＳ符号部１１００の分散したビット列からパリティを生成する場合には、１つのパリティが、１つのＬＤＰＣブロック内で作成されず、複数のＬＤＰＣブロックのデータ列から作成される。そして、作成対象のブロック以外のブロックに、そのパリティが挿入される。
【００６９】
従って、生成される符号は、横方向がＲＳ符号による誤り訂正符号であり、縦方向がＬＤＰＣパリティによる誤り検出符号からなり、且つ分割されたＲＳブロックの斜め方向に対するパリティが付加される。
【００７０】
このため、後述するように、復号時に、ＬＤＰＣブロックを誤って復号する場合（ブロック１１５２、１１５５）に、非常に多くの誤り（図の×印で示す）が発生しても、パリティによる誤りの検出が正しくできる。
【００７１】
一方、図８では、ＬＤＰＣパリティと、付加するパリティは、同じ、縦方向のため、前述のように、ＬＤＰＣブロックを誤って復号する場合（ブロック１１５２、１１５５）は、非常に多くの誤りが発生し、パリティによる誤りの検出が正しくできない。
【００７２】
（復号器）
図９は、図１の復号器の基本構成のブロック図、図１０は、図９の反復復号器の詳細ブロック図、図１１は、図９及び図１０のＬＤＰＣ復号器の説明図である。
【００７３】
図９に示すように、反復復号器２２６は、軟入力・軟出力復号器３００と、ＬＤＰＣ復号器３０２と、しきい値判定器３０４により構成する。軟入力・軟出力復号器３００は、前述した複数の実用的なアルゴリズムがあるが、ここでは、例えば、ＮＰＳＯＶＡを用いる。
【００７４】
図１０は、図９の反復復号器２２６の復号フローを示す説明図である。図に示すように、反復復号器２６０は、ＬＤＰＣブロックごとに復号を行う。ＮＰＳＯＶＡ３００の入力は、ＦＩＲフィルタ２２５（図１参照）の出力データ列と、ＬＤＰＣ復号器３０２からの事前尤度である。この事前尤度は、反復復号の初回においては、全て“０”とする。また、事前尤度は、ＬＤＰＣ復号器３０２の出力尤度から、ＬＤＰＣ復号器３０２の入力尤度を差し引いた尤度列（つまり、ＬＤＰＣ復号器３０２における尤度の更新量）である。
【００７５】
ＮＰＳＯＶＡ３００は、ＦＩＲフィルタ２２５の出力データ列と事前尤度を用いて復号を行う。ＮＰＳＯＶＡ３００からの出力尤度列は、復号によって得られた尤度から事前尤度を差し引いた尤度列である。このＮＰＳＯＶＡ出力尤度列は、ＬＤＰＣ復号器３０２に送られる。
【００７６】
ＬＤＰＣ復号器３０２も、前述した複数の実用的なアルゴリズムがあるが、ここでは、例えば、Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムを用いる。Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムは、図１１にて、説明するように、ＬＤＰＣのパリティ検査行列に従って、以下に説明する信頼度伝播復号を行う。即ち、ＬＤＰＣ復号器３０２の出力は、反復停止条件に満たない場合、事前尤度を出力し、再びＮＰＳＯＶＡ復号器３００に入力し、反復復号を行う。
【００７７】
反復復号器２２６は、ＬＤＰＣブロックごとに、ＮＰＳＯＶＡ３００と、ＬＤＰＣ復号器３０２の間を、所定の反復回数あるいは、パリティ検査の結果、誤り無しと判定する停止条件に達するまで、尤度を用いて、反復的に復号を行う。そして、反復停止時に、しきい値判定器３０４により、尤度列を、“0”と“1”の硬判定ビット列に判定する。
【００７８】
図１１により、ＬＤＰＣ復号に用いられるＳｕｍ−Ｐｒｏｄｕｃｔアルゴリズムを説明する。Ｓｕｍ−Ｐｒｏｄｕｃｔアルゴリズムは、パリティ検査判定器３１４と、ＬＤＰＣブロックのＮ個の尤度列ｗ１〜ｗＮを保持するバッファ３１６と、このＮ個の尤度列ｗ１〜ｗＮに対応するビットノード３１０と、パリティ検査行列の検査条件から生成するエッジ３１８及びチェックノード３１２とで構成する。
【００７９】
バッファ３１６からビットノード３１０に渡された尤度は、エッジ３１８に沿って、チェックノード３１２に集められ、チエックノード３１２で、チェックノード処理が行われる。
【００８０】
チェックノード処理が行われた尤度は、再びビットノード３１０に送られ、ビットノード３１０は、各チェックノード３１２に繋がるビットノード３１０に集められた尤度を用いて、ビットノード処理を行う。ここで、ビットノード処理が行われるたびに、得られた尤度列を、パリティ検査判定器３１４に入力する。
【００８１】
パリティ検査判定器３１４は、尤度列を、“１”及び“０”の２値に仮判定し、仮判定ビット列とパリティ検査行列との検査条件式（１）ｗＨＴ＝０が成立するか否かを判定する。判定の結果、検査条件式が成立する場合、信頼度伝播復号及び反復復号を停止（コントローラへ反復復号停止命令を出力）する。そして、出力尤度列として、パリティ検査判定時の尤度について、尤度が保持する極性は維持し、それぞれ正及び負の最大尤度値とする。
【００８２】
また、パリティ検査判定器３１４は、前述の検査条件式が成立しない場合、信頼度伝播復号において、所定のチェックノード、ビットノード処理を複数回実施し、得られた尤度列を出力尤度列とする。
【００８３】
ＬＤＰＣブロックごとに、反復復号を行い、閾値判定器３０４から出力された硬判定ビット列は、ＥＣＣ復号器２３０に入力し、尤度列はパリティ尤度訂正器２２７，２３３に入力する。ＥＣＣ復号器（ＲＳ復号器）２３０は、後述するように、硬判定ビット列を受け、４インターリーブし、各ブロックをＥＣＣ復号し、復号成功なら、復号列を出力する。
【００８４】
又、パリティ・尤度訂正器２２７，２３３は、反復復号器２２６からの尤度から尤度の低いビット位置を選択且つ保持する。そして、ＲＳ復号器２３０の復号失敗により、保持した尤度の低いビット位置から誤り位置を絞り、ビット列のその位置をフリップして、ＲＳ復号器２３０に入力する。復号失敗時に、これを反復し、訂正能力を高める。
【００８５】
（ＥＣＣ復号器）
図１２は、図１及び図９のＥＣＣ復号部のブロック図である。図１２に示すように、ＥＣＣ復号部２３０は、ＲＳ符号部・パリティ部の分割部１１０、インターリーブ部１１２、データ保存・更新部１１４、ＥＣＣ復号器１１６、デ・インターリーブ部１１８からなる。
【００８６】
ＥＣＣ復号器１１６は、シンドローム計算部２６０と、シンドローム保存部２６２と、シンドローム値更新部２６４と、誤り位置多項式作成部２６６と、チェーンサーチ実行部２６８と、誤り値計算部２７０とを備える。
【００８７】
シンドローム値計算部２６０が、復号器２２６からの復号列のシンドロームを計算し、シンドローム値保存部２６２に計算したシンドローム値を保存する。誤り位置多項式作成部２６６は、作成されたシンドローム多項式から誤り位置多項式を計算し、訂正能力を超えているかを判定する。
【００８８】
シンドローム値更新部２６４は、パリティ・尤度訂正器２３３により、データ更新されたビット列の更新部分のシンドローム値を計算し、シンドローム値保存器２６２に保存されたシンドローム値を更新する。
【００８９】
チェーンサーチ実行部２６８は、誤り位置多項式作成部２６６で、復号が失敗しないと判断された場合に、チェーンサーチにより誤り位置を求める。誤り値計算部２７０は、チェーンサーチで復号が失敗と判断されない場合に、即ち、チェーンサーチで誤り位置が特定された場合は、誤り値を計算する。
【００９０】
このように、前のシンドローム値を保存しておき、復号失敗時に、パリティ・尤度訂正器２３３で訂正された復号列の訂正部分のシンドローム値を計算して、前のシンドローム値を更新する。このため、訂正されたビット列は、シンドローム値を１から計算する必要がないので、計算量を削減できる。
【００９１】
また、後述するように、誤り位置多項式を計算した段階で、復号が失敗したかどうかを判定できるため、復号が失敗した場合は、次のビット列の復号に移ることができ、計算量が削減される。
【００９２】
次に、パリティ・尤度訂正器は、第１のパリティ・尤度訂正器２２７と、第２のパリティ・尤度訂正器２３３とからなる。第１のパリティ・尤度訂正器２２７は、復号器２２６から各ビットの尤度を受け、４インターリーブの各ブロック毎に、尤度の低いビット位置を抽出する。
【００９３】
第２のパリティ・尤度訂正器２３３は、後述するように、パリティ計算部１２０と、パリティ値チエック部１２２と、エラー候補テーブル保存器１２４と、エラーフリップ部１２６とからなる。
【００９４】
第１のパリティ・尤度訂正器２２７は、尤度をブロック部の尤度と、パリティ部の尤度に分割する分割し、分割された尤度をテーブルに保持する。そして、ブロック部の尤度の低いビット位置を抽出し、且つパリティ部の尤度を低い順にソートする。
【００９５】
尤度の絶対値が高いほど、そのビットは、正しい確率が高いことを示し、低いと、そのビットは、誤っている確率が高いことを示す。誤っている確率の高いビットを抽出したいので、尤度の低いビットのみを扱う。これらの結果を第２のパリティ・尤度訂正器２３３に出力する。
【００９６】
ＥＣＣ復号器２３０では、分割部１１０が、硬判定されたビット列を、ＲＳ符号部と、２ビットパリティ部に分割する。分割されたすべての２ビットパリティは、第２のパリティ・尤度訂正器２３３のパリティ値チエック部１２２へ出力される。
【００９７】
次に、インターリーブ部１１２は、分割されたＲＳ符号部を、１０ビット間隔で、インターリーブを行い、前述の４つのＲＳブロックに分割する。即ち、図４の符号化のデ・インターリーブと逆の置き換えを行う。
【００９８】
分割された各ＲＳブロックは、データ保存・更新部１１４に格納された後、ＥＣＣ復号器１１６により復号される。復号の結果、すべてのＲＳブロックの復号が成功した場合は、デ・インターリーブ部１１８は、各ＲＳブロックからＲＳパリティ１０１１〜１０１４を除去した後に、１０ビット間隔でのデ・インターリーブ処理を行い、セクタデータ１０００を出力して、終了する。
【００９９】
復号の結果、いくつかのＲＳブロックでの復号が失敗した場合は、ＥＣＣ復号器２３０から復号が失敗したすべてのＲＳブロック番号を、第２のパリティ・尤度訂正器２３３に出力する。また、デ・インターリーブ部１１８は、各ＲＳブロック１００１〜１０１４からＲＳパリティ１０１１〜１０１４を除去せずに、１０ビット間隔でのデ・インターリーブ処理を行い、結果である元のＲＳ符号部１１００を、第２のパリティ・尤度訂正器２３３に出力する。
【０１００】
次に、ＥＣＣ復号器１１６を説明する。シンドローム計算部２６０は、データ列のシンドローム多項式（多項式の係数ｓ１，ｓ２，・・・）を計算し、計算したシンドローム多項式を誤り位置多項式計算部２６６に出力する。この時、２ｔ＋１個のシンドローム係数ｓｉ（ｉ＝１，２，．．．．，２ｔ，２ｔ＋１）の値を計算する。これとともに、２回目以降の候補の復号処理で利用するため、シンドローム計算部２６０は、計算したシンドローム多項式をシンドローム値保存部２６２に格納する。
【０１０１】
誤り位置多項式計算部２６６は、バーレカンプマッシ（ＢＭ）法により、シンドローム多項式を計算する。バーレカンプマッシ法では、周知のように、多項式の初期値から始めて、生成多項式の次数と同じ回数だけ多項式の更新を繰り返すことで、誤り位置多項式を計算する。このとき、ｉ番目の多項式Ｃｉ（ｘ）を求めるには、ｉ番目のシンドロームｓｉの値が必要となる。
【０１０２】
この誤り位置多項式計算部２６６は、２ｔ番目の多項式Ｃ２ｔ（ｘ）と、２ｔ＋１番目の多項式Ｃ２ｔ＋１（ｘ）を、生成する。そして、誤り位置多項式計算部２６６は、２ｔ番目の多項式Ｃ２ｔ（ｘ）と、２ｔ＋１番目の多項式Ｃ２ｔ＋１（ｘ）の係数を比較し、２つの多項式が一致するか否かを判定する。
【０１０３】
バーレカンプマッシ法では、データ列に含まれる誤りの数がｋ個（ｋ≦ｔ）の場合、２ｋ＋１回目以降の繰り返しでは、多項式が更新されず、Ｃ２ｋ（ｘ）以降の多項式は、全て同じとなるという性質がある。従って、Ｃ２ｔ（ｘ）とＣ２ｔ＋１（ｘ）が一致すれば、誤りの数は、高々ｔ個であり、誤り訂正能力の範囲内であることが判る。逆に、Ｃ２ｔ（ｘ）とＣ２ｔ＋１（ｘ）が一致しなければ、誤り訂正能力を超えていることになる。
【０１０４】
従って、Ｃ２ｔ（ｘ）とＣ２ｔ＋１（ｘ）が一致すれば、この候補の訂正が成功すると判定し、データ列、シンドローム多項式、誤り位置多項式、及び判定結果をチェーンサーチ実行部２６８に出力する。又、Ｃ２ｔ（ｘ）とＣ２ｔ＋１（ｘ）が異なる場合は、候補の訂正が失敗したと判断して、現在復号中のＲＳブロックに対し、復号失敗のフラグを立て、第２のパリティ・尤度訂正器２３３のそのブロック番号を出力する。
【０１０５】
このように、１シンボルのパリティを余分にデータ列に付加することにより、バーレカンプマッシ法の多項式を１つ余分に計算することにより、復号途中でデータ列の訂正失敗を検出できる。なお、数シンボルのパリティを余分に付加するフォーマットを用いても良い。
【０１０６】
復号が失敗しないと判断された場合は、チェーンサーチにより誤り位置を求める。即ち、チェーンサーチ実行部２６８は、誤り位置多項式Ｃ（ｘ）を用いて、チェーンサーチを実行し、データ列上の全ての位置ｊについて、Ｃ（αｊ）の値（ｊ＝０，１，２，３，４、．．．、ｎ）を計算する。尚、Ｃ（αｊ）＝０となる位置ｊが、誤り位置である。
【０１０７】
更に、チェーンサーチ実行部２６８は、シンドローム多項式と、Ｃ（αｊ）の値を用いて、訂正の成否を判定し、訂正が成功すると判定した場合は、チェーンサーチ実行部２６８が、受け取ったデータ列、シンドローム多項式、誤り位置多項式を、誤り値計算部２７０に出力する。又、訂正が失敗すると判断した場合には、現在復号中のＲＳブロックに対し、復号失敗のフラグを立て、第２のパリティ・尤度訂正器２３３のそのブロック番号を出力する。
【０１０８】
チェーンサーチで誤り位置が特定された場合は、誤り値を計算する。即ち、誤り値計算部２７０は、シンドローム多項式と誤り位置多項式を用いて、所定のアルゴリズムで、データ列の誤り位置の誤った値を、正しい値に訂正する。そして、訂正後のデータ列を、デ・インターリーブ部１１８に出力する。
【０１０９】
即ち、復号が成功した場合には、誤り訂正されたデータ列が、ＥＣＣ復号器２３０から出力される。訂正が失敗して、２回目以降の復号をする必要が生じた場合は、シンドローム値保存部２６２に格納された情報を用いて、復号処理を行う。
【０１１０】
次に、後述するように、第２のパリティ・尤度訂正器２３３で、エラー箇所をフリップすることにより、データ更新・保存部１１４のデータを更新し、保存する。この更新されたＲＳブロックに対し、データを更新された箇所に対応して、シンドローム値更新部２６４が、シンドロームを計算し、保存部２６２に保存されていたシンドローム値を更新し、且つ更新したシンドローム多項式を、誤り位置多項式計算部２６６に出力する。
【０１１１】
以下、前述のように、誤り位置多項式計算部２６６で、誤り位置多項式を作成し、復号が失敗と判断された場合は、現在のＲＳブロックに対し、復号が失敗したというフラグを立て、第２のパリティ・尤度訂正器２３３に出力する。同様に、復号が失敗しないと判断された場合は、チェーンサーチ実行部２６８により誤り位置を求める。更に、チェーンサーチで復号が失敗と判断された場合は、同様に、現在のＲＳブロックに対し、復号が失敗したというフラグを立て、第２のパリティ・尤度訂正器２３３に出力する。チェーンサーチで誤り位置が特定された場合は、誤り値を計算する。
【０１１２】
以上のように、フリップされたビット列は、シンドローム値を１から計算する必要がないので計算量を削減できる。また誤り位置多項式を計算した段階で復号が失敗したかどうかを判定できるため、復号が失敗した場合は次の工程に移ることができ計算量が削減される。このように、このＥＣＣ復号器１１６は、従来のＥＣＣ復号器より、計算量が削減でき、高速な復号が可能となる。
【０１１３】
第２のパリティ・尤度訂正器２３３に、復号が失敗したすべてのＲＳブロック番号と、デ・インターリーブ処理が行われたＲＳ符号部１１００（図１８参照）が入力された後、図２、図５のパリティ符号器と同様にパリティを求める。
【０１１４】
すなわち、図１２のパリティ計算部１２０は、図５に示したように、ＲＳ符号部１１００〜１１１３に対し、斜め方向にビット列を抽出し、図５、図７のように、２ビットのパリティを再計算する。
【０１１５】
パリティ値チエック部１２２は、分割部１１０からのパリティ符号器で生成されたパリティ値と再計算によるパリティ値が一致するかパリティ値チェックを行う。  パリティチェックで、値が一致しているパリティブロック列は、誤りなしと判断し、値が一致していないパリティブロック列は、誤りがあると判断する。
【０１１６】
図１２のエラーフリップ部１２６は、パリティチエック結果と復号失敗ブロック番号とからブロック内でのエラー位置を絞り込み、パリティエラー値を計算して、パリティエラー値からテーブル１２４を参照して、エラー位置を特定し、エラー位置のビット値を反転する。
【０１１７】
このようして、エラー位置を絞り込むことができるため、１インターリーブのＥＣＣを超える性能を有することが確認できた。
【０１１８】
更に、図１２のＥＣＣ復号器１１６と組み合わせることにより、ＥＣＣ復号器の訂正不可の判定の高速化と、復号対象のデータ列のシンドローム作成を高速化でき、計算量の少ない復号が可能となる。
【０１１９】
（符号化及び復号化の動作）
図１３は、本発明の一実施例による符号化及び復号化の説明図であり、図１４は、比較例としての非特許文献の技術とＬＤＰＣとを組み合わせた符号化及び復号化の説明図である。
【０１２０】
図１３に示すように、符号化時には、記録データ１０００をインターリーブして、ＲＳ符号化し（１００１〜１００４）、デ・インターリーブして、ＲＳ符号化列１１００を作成する。そして、図５に示したように、ＲＳ符号列１１００を、Ｌ個（例えば、１０個）に分割したブロック１１０１〜１１１０の内、q（q≦L）個（例えば、４個）のブロック１１０１〜１１０４から、１０ビットのデータ列（ｐ＝１０）をそれぞれ抽出し、ｐ×ｑ個のデータ列の各々に対して、パリティ１１２１，１１２２を生成する。生成したパリティは、抽出したブロック１１０１〜１１０４とは異なる各ブロック１１１７，１１１８に付加し、データ１１３０を出力する。
【０１２１】
次に、図６に示したように、パリティが付加されたＲＳ符号列１１３０をＬ個に分割されたＫ‘ビットのデータ列１１３１〜１１４０ごとに、ＬＤＰＣ符号化を行い、各ブロック１１３１〜１１４０に、ＬＤＰＣ符号のパリティ１１７１〜１１８０を付加する。
【０１２２】
次に、復号時には、このＬＤＰＣ符号化ブロック１１５０を、ＬＤＰＣ復号して、ＲＳ符号データ列１１３０を得る。そして、復号時に、ＬＤＰＣブロックを誤って復号する場合（ブロック１１５４、１１５６）は、非常に多くの誤り（図の×印で示す）が発生しても、パリティによる誤りの検出が正しくできる。
【０１２３】
即ち、ＥＣＣ復号器において、誤りの検出されたＲＳブロックが特定され、図７で説明したパリティの作成位置関係から、そのパリティを作成したＲＳブロックを含む複数のＲＳブロックからパリティを再作成する。そして、符号化時の対応パリティは、予め決められた別のブロックに挿入されているため、その位置のパリティを読み出し、比較する。比較結果が不一致の場合には、誤り有りと判断し、誤りの検出されたＲＳブロックの尤度の低い誤り候補を、前述のように、フリップする。
【０１２４】
又、ＬＤＰＣ復号において、ＬＤＰＣブロック内の誤りの有無（検査条件に一致しないか否か）が判明しているため、誤り無しブロックから抽出された尤度は、復号器の取りうる最大の尤度を与える。このため、誤り候補から除外できる。これにより、パリティ尤度訂正候補を絞り込める。
【０１２５】
一方、図１４の比較例では、符号化時には、記録データ１０００をインターリーブして、ＲＳ符号化し（１００１〜１００４）、デ・インターリーブして、ＲＳ符号化列１１００を作成する。そして、図１５に示したように、ＲＳ符号列１１００のインターリーブしたデータ列に対して、パリティ１１２１，１１２２を生成する。生成したパリティは、ＲＳ符号化列の最後に付加し、データ１１３０−１を出力する。
【０１２６】
次に、図６に示したように、パリティが付加されたＲＳ符号列１１３０をＬ個に分割されたＫ‘ビットのデータ列１１３１〜１１４０ごとに、ＬＤＰＣ符号化を行い、各ブロック１１３１〜１１４０に、ＬＤＰＣ符号のパリティ１１７１〜１１８０を付加する。
【０１２７】
次に、復号時には、このＬＤＰＣ符号化ブロック１１５０を、ＬＤＰＣ復号して、ＲＳ符号データ列１１３０を得る。そして、復号時に、ＬＤＰＣブロックを誤って復号する場合（ブロック１１５４、１１５６）は、非常に多くの誤り（図の×印で示す）が発生したと仮定する。ＥＣＣ復号器において、誤りの検出されたＲＳブロックは、その対象ブロックからパリティを再作成する。符号化列の一番後ろのブロックにあるパリティを読み出し、比較する。比較結果が不一致の場合には、誤り有りと判断し、尤度の低い誤り候補を、前述のように、フリップする。
【０１２８】
しかしながら、符号化時のパリティは、符号化列の一番後ろのブロックにあるため、この部分に誤りがあると、誤り無しブロックも、再生成パリティとの比較で、不一致となり、誤りありと判定される。逆に、パリティのブロックに誤りがあると、誤り有りブロックも、再生成パリティとの比較で、一致となり、誤り無しと判定される。このため、ＬＤＰＣブロックで、誤りが集中すると、ＥＣＣで訂正不可能となる。
【０１２９】
（他の実施の形態）
前述の図２のインターリーブ方式では、１０ビットを例にしたが、他のビット数でもよく、図１２で説明したＥＣＣ復号器１１６も、シンドローム値保存部２６２とシンドローム値更新部２６４とを有しない従来のＥＣＣ復号器を適用できる。
【０１３０】
又、前述の実施の形態では、ＥＣＣ符号として、リードソロモン符号で説明したが、ＢＣＨ（Bose Chaudhari Hocquengham）符号等の他の符号を利用できる。インターリーブを４インターリーブで説明したが、２以上のインターリーブ構成に適用でき、パリティを２ビットとしたが、１ビットや３ビット以上も適用できる。更に、ＬＤＰＣを第２のＥＣＣで説明したが、他の線形符号化方式、例えば、ターボ符号化を使用しても良い。磁気ディスク装置の記録再生装置の適用の例で説明したが、光ディスク装置等の他の媒体記憶装置や、通信装置にも適用できる。
【０１３１】
以上、本発明を、実施の形態で説明したが、本発明は、その趣旨の範囲内で種々の変形が可能であり、これを本発明の範囲から排除するものではない。
【０１３２】
（付記１）データ列を、ｍ（ｍ≧２）ビット毎に、ｎ（ｎ≧２）ブロックのデータ列にインターリーブし、前記インターリーブされた各ブロックのデータ列から第１の誤り訂正符号のパリティを生成し、前記データ列に各ブロックの前記第１の誤り訂正符号のパリティを付加して、誤り訂正符号語を作成するＥＣＣ符号器と、前記誤り訂正符号語の複数のビット数毎に、パリティビットを作成し、前記誤り訂正符号語に付加するパリティ符号器と、前記誤り訂正符号語に前記パリティ符号器により生成されたパリティが付加された第２の誤り訂正符号語を、Ｋ（Ｋ≧２）ビット毎に、Ｌ個（Ｌ≧２）のブロックのデータ列に分割し、各ブロックのデータ列から、前記ブロック単位に、線形符号である第２の誤り訂正符号のパリティを生成し、前記第２の誤り訂正符号語に、各ブロックの前記第２の誤り訂正符号のパリティを付加して、第３の誤り訂正符号語を作成する第２のＥＣＣ符号器とを有することを特徴とする符号化器。
【０１３３】
（付記２）前記第２のＥＣＣ符号器は、パリティ検査行列における“１”の数が低密度であり、かつ線形符号である低密度パリティ検査（ＬＤＰＣ）符号の要件を満たす第３の誤り訂正符号語を作成するとともに、前記パリティ検査行列に対応する生成行列を用いてパリティを生成することを特徴とする付記１の符号化器。
【０１３４】
（付記３）前記パリティ符号器は、前記誤り訂正符号語を、Ｌ個（Ｌ≧２）のブロックに分割し、分割された各前記ブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを生成することを特徴とする付記１の符号化器。
【０１３５】
（付記４）前記パリティ符号器は、前記ｐ×ｑ個のデータ列に対して生成された前記パリティを、前記生成に用いたデータ列を含む前記ブロック以外のブロックに付加することを特徴とする付記３の符号化器。
【０１３６】
（付記５）前記ＥＣＣ符号器は、前記データ列を、ｍ（ｍ≧２）ビット毎に、ｎ（ｎ≧２）ブロックのデータ列にインターリーブするインターリーブ部と、インターリーブされた各ブロックのデータ列から誤り訂正符号のパリティを生成するＥＣＣ符号部と、前記各ブロックのデータ列を前記ｍビット毎に、デ・インターリーブし、且つ前記データ列に復元し、且つ前記誤り訂正符号のパリティを前記復元されたデータ列に付加するデ・インターリーブ部とを有することを特徴とする付記１の符号化器。
【０１３７】
（付記６）前記ＥＣＣ符号器は、前記誤り訂正符号として、リードソロモン符号を生成することを特徴とする付記１の符号化器。
【０１３８】
（付記７）付記１記載の第３の誤り訂正符号語に符号化された符号化データを復号化する復号器であって、受信した前記符号化データ列を、前記第２のＥＣＣ符号のパリティを用いて、反復復号し、前記符号化データ列を、ビット列に復号化し、且つ各ビットの尤度を出力する反復復号器と、前記反復復号器の符号化データ列の第１の誤り訂正符号による誤り訂正復号と、前記パリティビットによる誤り検出に従う、前記尤度による前記符号ビット列の訂正復号とを反復して行うＥＣＣ復号回路とを有することを特徴とする復号器。
【０１３９】
（付記８）前記反復復号器は、前記パリティ検査行列における“１”の数が低密度であり、かつ線形符号である低密度パリティ検査（ＬＤＰＣ）符号の要件を満たす前記第３の誤り訂正符号語から、前記第２の誤り訂正符号語の前記パリティを用いて、前記反復復号し、前記符号化データ列を、前記第２の誤り訂正符号語に硬判定し、且つ各ビットの尤度を出力することを特徴とする付記７の復号器。
【０１４０】
（付記９）前記反復復号器は、前記第２の誤り訂正符号語の前記パリティビット列による誤り検出において、前記第２の誤り訂正符号語のブロックが、前記パリティ検査条件を満たし、誤りが検出されなかった時に、前記反復復号を停止し、且つ前記第２の誤り訂正符号語のブロック内の各ビットの尤度を最大の尤度値に設定することを特徴とする付記８の復号器。
【０１４１】
（付記１０）前記ＥＣＣ復号回路は、前記反復復号器からの符号ビット列の前記第１の誤り訂正符号による誤り訂正を行うＥＣＣ復号器と、前記ＥＣＣ復号器の復号失敗に応じて、前記パリティビットによる誤り検出を行い、前記誤り検出結果により、前記尤度により、前記ＥＣＣ復号器に入力される前記符号ビット列の訂正を行うパリティ・尤度訂正器とを有することを特徴とする付記７の復号器。
【０１４２】
（付記１１）前記反復復号器からの符号ビット列から前記パリティビットを分離し、前記パリティ・尤度訂正器に出力する分割部と、前記パリティビットが分離された前記符号ビット列を、前記ｍ（ｍ≧２）ビット毎に、ｎ（ｎ≧２）ブロックのデータ列にインターリーブするインターリーブ部と、前記インターリーブされた各ブロックのデータ列を保存するデータ保存部とを更に有し、前記ＥＣＣ復号器は、前記データ保存部の各ブロックのデータ列を前記誤り訂正符号による誤り訂正を行い、前記パリティ・尤度訂正器は、前記データ保存器のデータ列の訂正を行うことを特徴とする付記１０の復号器。
【０１４３】
（付記１２）前記パリティ・尤度訂正器は、前記復号失敗時に、前記失敗したブロックを含む前記Ｌ個のブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを再生成し、付加された前記パリティビットと比較して、誤り検出することを特徴とする付記１０の復号器。
【０１４４】
（付記１３）前記パリティ・尤度訂正器は、前記Ｌ個のブロック以外のブロックに付加されたパリティを取り出し、前記再生成されたパリティと比較することを特徴とする付記１０の復号器。
【０１４５】
（付記１４）前記符号化データ列の前記誤り訂正符号が、リードソロモン符号からなることを特徴とする付記７の復号器。
【０１４６】
（付記１５）データ列を、ｍ（ｍ≧２）ビット毎に、ｎ（ｎ≧２）ブロックのデータ列にインターリーブし、前記インターリーブされた各ブロックのデータ列から第１の誤り訂正符号のパリティを生成し、前記データ列に各ブロックの前記第１の誤り訂正符号のパリティを付加して、誤り訂正符号語を作成するＥＣＣ符号器と、前記誤り訂正符号語の複数のビット数毎に、パリティビットを作成し、前記誤り訂正符号語に付加するパリティ符号器と、前記誤り訂正符号語に前記パリティ符号器により生成されたパリティが付加された第２の誤り訂正符号語を、Ｋ（Ｋ≧２）ビット毎に、Ｌ個（Ｌ≧２）のブロックのデータ列に分割し、各ブロックのデータ列から、前記ブロック単位に、線形符号である第２の誤り訂正符号のパリティを生成し、前記第２の誤り訂正符号語に、各ブロックの前記第２の誤り訂正符号のパリティを付加して、第３の誤り訂正符号語を作成する第２のＥＣＣ符号器と、受信した前記符号化データ列を、前記第２のＥＣＣ符号のパリティを用いて、反復復号し、前記符号化データ列を、ビット列に復号化し、且つ各ビットの尤度を出力する反復復号器と、前記反復復号器の符号化データ列の第１の誤り訂正符号による誤り訂正復号と、前記パリティビットによる誤り検出に従う、前記尤度による前記符号ビット列の訂正復号とを反復して行うＥＣＣ復号回路とを有することを特徴とする符号化・復号化装置。
【０１４７】
（付記１６）前記第２のＥＣＣ符号器は、パリティ検査行列における“１”の数が低密度であり、かつ線形符号である低密度パリティ検査（ＬＤＰＣ）符号の要件を満たす第３の誤り訂正符号語を作成するとともに、前記パリティ検査行列に対応する生成行列を用いてパリティを生成し、前記反復復号器は、前記パリティ検査行列における“１”の数が低密度であり、かつ線形符号である低密度パリティ検査（ＬＤＰＣ）符号の要件を満たす前記第３の誤り訂正符号語から、前記第２の誤り訂正符号語の前記パリティを用いて、前記反復復号し、前記符号化データ列を、前記第２の誤り訂正符号語に硬判定し、且つ各ビットの尤度を出力することを特徴とする付記１５の符号化・復号化装置。
【０１４８】
（付記１７）前記パリティ符号器は、前記誤り訂正符号語を、Ｌ個（Ｌ≧２）のブロックに分割し、分割された各前記ブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを生成し、前記ＥＣＣ復号回路は、前記復号失敗時に、前記失敗したブロックを含む前記Ｌ個のブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを再生成し、付加された前記パリティビットと比較して、誤り検出することを特徴とする付記１５の符号化・復号化装置。
【０１４９】
（付記１８）記憶媒体にデータを書き込み且つ読み取るヘッドと、前記記憶媒体に書き込むべきデータ列を、データ列を、ｍ（ｍ≧２）ビット毎に、ｎ（ｎ≧２）ブロックのデータ列にインターリーブし、前記インターリーブされた各ブロックのデータ列から第１の誤り訂正符号のパリティを生成し、前記データ列に各ブロックの前記第１の誤り訂正符号のパリティを付加して、誤り訂正符号語を作成するＥＣＣ符号器と、前記誤り訂正符号語の複数のビット数毎に、パリティビットを作成し、前記誤り訂正符号語に付加するパリティ符号器と、前記誤り訂正符号語に前記パリティ符号器により生成されたパリティが付加された第２の誤り訂正符号語を、Ｋ（Ｋ≧２）ビット毎に、Ｌ個（Ｌ≧２）のブロックのデータ列に分割し、各ブロックのデータ列から、前記ブロック単位に、線形符号である第２の誤り訂正符号のパリティを生成し、前記第２の誤り訂正符号語に、各ブロックの前記第２の誤り訂正符号のパリティを付加して、第３の誤り訂正符号語を作成し、前記ヘッドに出力する第２のＥＣＣ符号器と、前記ヘッドが読み出した前記符号化データ列を、前記第２のＥＣＣ符号のパリティを用いて、反復復号し、前記符号化データ列を、ビット列に復号化し、且つ各ビットの尤度を出力する反復復号器と、前記反復復号器の符号化データ列の第１の誤り訂正符号による誤り訂正復号と、前記パリティビットによる誤り検出に従う、前記尤度による前記符号ビット列の訂正復号とを反復して行うＥＣＣ復号回路とを有することを特徴とする記録再生装置。
【０１５０】
（付記１９）前記第２のＥＣＣ符号器は、パリティ検査行列における“１”の数が低密度であり、かつ線形符号である低密度パリティ検査（ＬＤＰＣ）符号の要件を満たす第３の誤り訂正符号語を作成するとともに、前記パリティ検査行列に対応する生成行列を用いてパリティを生成し、前記反復復号器は、前記パリティ検査行列における“１”の数が低密度であり、かつ線形符号である低密度パリティ検査（ＬＤＰＣ）符号の要件を満たす前記第３の誤り訂正符号語から、前記第２の誤り訂正符号語の前記パリティを用いて、前記反復復号し、前記符号化データ列を、前記第２の誤り訂正符号語に硬判定し、且つ各ビットの尤度を出力することを特徴とする付記１８の記録再生装置。
【０１５１】
（付記２０）前記パリティ符号器は、前記誤り訂正符号語を、Ｌ個（Ｌ≧２）のブロックに分割し、分割された各前記ブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを生成し、前記ＥＣＣ復号回路は、前記復号失敗時に、前記失敗したブロックを含む前記Ｌ個のブロックからｐ（ｐ≧１）ビット単位のデータ列を、ｑ（ｑ≧２）個抽出し、ｐ×ｑ個のデータ列に対して、パリティを再生成し、付加された前記パリティビットと比較して、誤り検出することを特徴とする付記１８の記録再生装置。
【産業上の利用可能性】
【０１５２】
データ列を、ｍ（ｍ≧２）ビット毎に、複数ブロックにインターリーブし、誤り訂正符号のパリティを付加し、複数のビット数毎に、パリティビットを付加した連接型符号化データを作成するので、複数ブロックにインターリーブして誤り訂正符号のパリティを生成しても、回路規模の増加を防止できる。又、反復復号を使用する線形符号化の第２の誤り訂正符号化を併用するため、反復復号により、ＥＣＣの入力の誤りを訂正でき、訂正性能劣化も防止できる。このため、ＷＩＮＤＯＷＳ（登録商標）のＶＩＳＴＡ（登録商標）に使用されるロングセクタータイプの記録再生装置の回路規模増加を防止しつつ、訂正性能を向上できる。更に、パリティを、複数のブロックのデータ列から作成され、作成対象のブロック以外のブロックに、そのパリティを挿入するため、復号時におけるバースト誤り発生に対して、パリティが分散しているため、パリティによる誤り検出が可能となる。
【図面の簡単な説明】
【０１５３】
【図１】本発明の一実施形態を示す媒体記憶装置の記録再生系の構成図である。
【図２】図１の符号器のブロック図である。
【図３】図２のインターリーブ部の動作説明図である。
【図４】図２のＥＣＣ符号器の動作説明図である。
【図５】図２のパリティ符号器のパリティ付与動作の説明図である。
【図６】図２のＬＤＰＣ符号器の動作説明図である。
【図７】図２の各パリティ符号の関係図である。
【図８】図７の比較例の各パリティ符号の関係図である。
【図９】図２の復号器の詳細ブロック図である。
【図１０】図９の反復復号器のブロック図である。
【図１１】図１０のＬＤＰＣ復号の説明図である。
【図１２】図２のＥＣＣ復号器のブロック図である。
【図１３】本発明の一実施の形態の符号化及び復号化動作の説明図である。
【図１４】本発明の比較例の符号化及び復号化動作の説明図である。
【図１５】従来の誤り訂正の連接符号化方法の説明図である。
【符号の説明】
【０１５４】
１０２  インターリーブ部
１０４  ＥＣＣ符号器
１０６  デ・インターリーブ部
１１０  分割部
１１２  インターリーブ部
１１４  データ保存・更新部
１１６  ＥＣＣ復号器
１１８  デ・インターリーブ部
１２０  パリティ計算部
１２２  パリティ値チエック部
１２４  エラー候補テーブル保存器
１２６  エラーフリップ部
１３０  ブロック・パリティ尤度分割部
２０１  プリアンプ
２０２  リードチャネル
２０３  ハードディスクコントローラ
２２０  ＬＤＰＣ符号器
２２６  反復復号器
２２７  第１のパリティ・尤度訂正器
２３０  ＥＣＣ復号器
２３３  第２のパリティ・尤度訂正器
２３４  パリティ符号器
２３５  ＥＣＣ符号器
【図１】
0005007676.tif 000002
【図２】
0005007676.tif 000003
【図３】
0005007676.tif 000004
【図４】
0005007676.tif 000005
【図５】
0005007676.tif 000006
【図６】
0005007676.tif 000007
【図７】
0005007676.tif 000008
【図８】
0005007676.tif 000009
【図９】
0005007676.tif 000010
【図１０】
0005007676.tif 000011
【図１１】
0005007676.tif 000012
【図１２】
0005007676.tif 000013
【図１３】
0005007676.tif 000014
【図１４】
0005007676.tif 000015
【図１５】
0005007676.tif 000016