(57)【要約】  実施形態によれば、パリティ検査行列作成方法において、マスク行列内のＮ個の列ベクトルは全て相異なる。マスク行列から連続したＬ列を任意に抽出した部分行列が、Ｂ１個の第１訂正行と、Ｂｉ個の第ｉ訂正行とを含む。Ｂ１個の第１訂正行の各々の行重みは１である。Ｂ１個の第１訂正行は、Ａ１個の第１訂正列の各々に合計１個以上の「１」を備える。Ｂｉ個の第ｉ訂正行の各々の行重みは２以上である。Ｂｉ個の第ｉ訂正行の各々は、Ａｉ−１個の第ｉ−１訂正列に合計１個以上の「１」を備える。Ｂｉ個の第ｉ訂正行の各々は、第１訂正列から第ｉ−１訂正列までを除外した列集合に含まれるＡｉ個の第ｉ訂正列のいずれか１つに「１」を備える。Ｂｉ個の第ｉ訂正行は、Ａｉ個の第ｉ訂正列の各々に合計１個以上の「１」を備える。Ａ１からＡＩまでの総和はＬに等しい。
2013136523.tif 000002
【特許請求の範囲】
【請求項１】
Ｍ行×Ｎ列（Ｍは４以上の整数であり、ＮはＭより大きな整数である）の要素の各々に「１」及び「０」のいずれか一方を割り当てることにより、列重みがＫ（Ｋは２以上の整数である）のマスク行列を作成することと、
前記マスク行列内の各要素について、当該要素が「１」である場合には対応する位置にＰ行×Ｐ列（Ｐは２以上の整数）の巡回置換行列を配置し、当該要素が「０」である場合には対応する位置にＰ行×Ｐ列の零行列を配置することにより、パリティ検査行列を作成することと
を具備し、
前記マスク行列内のＮ個の列ベクトルは全て相異なり、
前記マスク行列から連続したＬ列（ＬはＭ−Ｋ＋１以下の整数である）を任意に抽出したＭ行×Ｌ列の部分行列が、
Ｂ１個（Ｂ１は１以上の整数である）の第１訂正行と、
Ｂｉ個（Ｂｉは１以上の整数であり、ｉは２以上Ｉ以下の全ての整数であり、Ｉは２以上の整数である）の第ｉ訂正行と
を含み、
前記Ｂ１個の第１訂正行の各々の行重みは１であり、
前記Ｂ１個の第１訂正行は、Ａ１個（Ａ１は１以上、Ｂ１以下の整数である）の第１訂正列の各々に合計１個以上の「１」を備え、
前記Ｂｉ個の第ｉ訂正行の各々の行重みは２以上であり、
前記Ｂｉ個の第ｉ訂正行の各々は、Ａｉ−１個（Ａｉ−１は１以上、Ｂｉ−１以下の整数である）の第ｉ−１訂正列に合計１個以上の「１」を備え、
前記Ｂｉ個の第ｉ訂正行の各々は、前記第１訂正列から第ｉ−１訂正列までを除外した列集合に含まれるＡｉ個（Ａｉは１以上、Ｂｉ以下の整数である）の第ｉ訂正列のいずれか１つに「１」を備え、
前記Ｂｉ個の第ｉ訂正行は、前記Ａｉ個の第ｉ訂正列の各々に合計１個以上の「１」を備え、
Ａ１からＡＩまでの総和はＬに等しく、
ＢｉはＡｉ−１×（Ｋ−１）以下となる、
パリティ検査行列作成方法。
【請求項２】
ＡＩが１に等しく、ＢＩがＫに等しく、Ｂｉ−１がＡｉ−１に等しく、ＬがＭ−Ｋ＋１に等しい、請求項１のパリティ検査行列作成方法。
【請求項３】
ＡＩが２以上であり、
前記部分行列は、１個以上の第Ｉ伝搬行を更に含み、
前記１個以上の第Ｉ伝搬行の各々は、前記ＡＩ個の第Ｉ訂正列において合計２個以上の「１」を備える、
請求項１のパリティ検査行列作成方法。
【請求項４】
ＡＩが２以上であり、ＢＩがＡＩに等しく、Ｂｉ−１がＡｉ−１に等しく、ＬがＭ−Ｋ＋１に等しく、
前記部分行列は、Ｋ−１個の第Ｉ伝搬行を更に含み、
前記Ｋ−１個の第Ｉ伝搬行の各々は、前記ＡＩ個の第Ｉ訂正列の全てにおいて「１」を備える、
請求項１のパリティ検査行列作成方法。
【請求項５】
Ａ１の値とＡｉの値とを設定することを更に具備する、請求項１のパリティ検査行列作成方法。
【請求項６】
ＩがＬ／２以下となるように、Ａ１の値とＡｉの値とを設定することを更に具備する、請求項１のパリティ検査行列作成方法。
【請求項７】
前記マスク行列においてループ４が発生する４つの要素に対応する４つの位置のうち少なくとも１つに配置される巡回置換行列のシフト量を第１の値に設定し、残りの少なくとも１つに配置される巡回置換行列のシフト量を前記第１の値と異なる第２の値に設定することを更に具備する、請求項１のパリティ検査行列作成方法。
【請求項８】
請求項１のパリティ検査行列作成方法によって作成されたパリティ検査行列に基づいて、データを符号化する符号化部
を具備する符号化装置。
【請求項９】
請求項１のパリティ検査行列作成方法によって作成されたパリティ検査行列に基づいて、第１のデータを符号化し、第１の符号化データを得る第１の符号化部と、
前記第１のデータと異なる第２のデータを符号化し、第２の符号化データを得る第２の符号化部と、
前記第１の符号化データ及び前記第２の符号化データを合成し、記録媒体に記録されるデータフレームを作成する合成部と、
前記記録媒体からの前記データフレームの再生データのうち前記第２の符号化データを復号し、第２の復号データを得る第１の復号部と、
前記第２の復号データに基づいて前記再生データのうち前記第１の符号化データにおけるバースト誤りの発生エリアを推定する推定部と、
前記第１の符号化データのうち前記発生エリアに該当する各ビットの値を当該ビットが０である確率と当該ビットが１である確率とが等しいことを示す値に補正することによって、補正された第１の符号化データを得る補正部と、
前記パリティ検査行列に基づいて前記補正された第１の符号化データを復号することによって、第１の復号データを得る第２の復号部と
を具備する記録再生装置。
【請求項１０】
前記補正部は、前記第１の符号化データのうち前記発生エリアに該当する各ビットの値を「０」に補正し、前記補正された第１の符号化データを得る、請求項９の記録再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、誤り訂正符号に関する。
【背景技術】
【０００２】
近年、記録媒体の大容量化が進展しているが、記録媒体の大容量化に伴い再生環境は一層厳しくなる。例えば、光記録媒体は、記録マークの線密度の向上、情報記録層の多層化などによって、大容量化が達成される。反面、再生データには誤りが混入し易くなり、再生環境の悪化を招いている。従って、係る再生環境の下にあっても、再生データを高精度に復元することのできる信号処理技術が望まれている。【０００３】
記録再生系及び通信系において、データの誤りを訂正するために種々の誤り訂正符号方式が提案されている。ＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）符号は、優れた誤り訂正能力を持つことで知られる。特に、ランダム誤りに対して、ＬＤＰＣ符号は非常に優れた特性を示す。他方、記録媒体の欠陥などによって発生するバースト誤り（連続誤り）に対して、ＬＤＰＣ符号は必ずしも良好な特性を示さない。故に、ＬＤＰＣ符号を特に記録再生系に適用する場合に、そのバースト誤りに対する耐性を改善することが望まれる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“Ａｐｐｌｉｃａｔｉｏｎ  ｏｆ  Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ  Ｃｏｄｅｓ  ｔｏ  Ｈｉｇｈ−Ｄｅｎｓｉｔｙ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ  Ｓｔｏｒａｇｅ  Ｕｓｉｎｇ  １７ＰＰ  Ｃｏｄｅ”，ＪＪＡＰ  Ｖｏｌ．  ４５，  Ｎｏ．  ２Ｂ，  ２００６，  ｐｐ．  １１０１−１１０２
【非特許文献２】Ｗｉｌｌｉａｍ  Ｅ．  Ｒｙａｎ  ａｎｄ  Ｓｈｕ  Ｌｉｎ，  “Ｃｈａｎｎｅｌ  Ｃｏｄｅｓ  Ｃｌａｓｓｉｃａｌ  ａｎｄ  Ｍｏｄｅｒｎ”
【発明の概要】
【発明が解決しようとする課題】
【０００５】
実施形態は、誤り訂正符号のバースト誤りに対する耐性を改善することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態によれば、パリティ検査行列作成方法は、Ｍ行×Ｎ列（Ｍは４以上の整数であり、ＮはＭより大きな整数である）の要素の各々に「１」及び「０」のいずれか一方を割り当てることにより、列重みがＫ（Ｋは２以上の整数である）のマスク行列を作成することを含む。この方法は、マスク行列内の各要素について、当該要素が「１」である場合には対応する位置にＰ行×Ｐ列（Ｐは２以上の整数）の巡回置換行列を配置し、当該要素が「０」である場合には対応する位置にＰ行×Ｐ列の零行列を配置することにより、パリティ検査行列を作成することを含む。マスク行列内のＮ個の列ベクトルは全て相異なる。マスク行列から連続したＬ列（ＬはＭ−Ｋ＋１以下の整数である）を任意に抽出したＭ行×Ｌ列の部分行列が、Ｂ１個（Ｂ１は１以上の整数である）の第１訂正行と、Ｂｉ個（Ｂｉは１以上の整数であり、ｉは２以上Ｉ以下の全ての整数であり、Ｉは２以上の整数である）の第ｉ訂正行とを含む。Ｂ１個の第１訂正行の各々の行重みは１である。Ｂ１個の第１訂正行は、Ａ１個（Ａ１は１以上、Ｂ１以下の整数である）の第１訂正列の各々に合計１個以上の「１」を備える。Ｂｉ個の第ｉ訂正行の各々の行重みは２以上である。Ｂｉ個の第ｉ訂正行の各々は、Ａｉ−１個（Ａｉ−１は１以上、Ｂｉ−１以下の整数である）の第ｉ−１訂正列に合計１個以上の「１」を備える。Ｂｉ個の第ｉ訂正行の各々は、第１訂正列から第ｉ−１訂正列までを除外した列集合に含まれるＡｉ個（Ａｉは１以上、Ｂｉ以下の整数である）の第ｉ訂正列のいずれか１つに「１」を備える。Ｂｉ個の第ｉ訂正行は、Ａｉ個の第ｉ訂正列の各々に合計１個以上の「１」を備える。Ａ１からＡＩまでの総和はＬに等しい。ＢｉはＡｉ−１×（Ｋ−１）以下となる。
【図面の簡単な説明】
【０００７】
【図１】ＬＤＰＣ符号のパリティ検査行列を例示する図。
【図２】図１のパリティ検査行列に対応するＬＤＰＣ符号のバースト誤りに対する耐性を評価する技法の説明図。
【図３】図１のパリティ検査行列に対応するＬＤＰＣ符号のバースト誤りに対する耐性を評価する技法の説明図。
【図４】図１のパリティ検査行列に対応するＬＤＰＣ符号のバースト誤りに対する耐性を評価する技法の説明図。
【図５】図１のパリティ検査行列に対応するＬＤＰＣ符号のバースト誤りに対する耐性を評価する技法の説明図。
【図６】図１のパリティ検査行列に対応するＬＤＰＣ符号のバースト誤りに対する耐性を評価する技法の説明図。
【図７】図１のパリティ検査行列に対応するＬＤＰＣ符号のバースト誤りに対する耐性を評価する技法の説明図。
【図８】図１のパリティ検査行列に対応するＬＤＰＣ符号のバースト誤りに対する耐性を評価する技法の説明図。
【図９】図１のパリティ検査行列に対応するＬＤＰＣ符号のバースト誤りに対する耐性を評価する技法の説明図。
【図１０】図１のパリティ検査行列に対応するＬＤＰＣ符号のバースト誤りに対する耐性を評価する技法の説明図。
【図１１】比較例のマスク行列に対応するＬＤＰＣ符号の複数のバースト誤りに対する耐性の説明図。
【図１２】第１の実施形態に係るパリティ検査行列作成方法によって作成されるマスク行列に対応するＬＤＰＣ符号の複数のバースト誤りに対する耐性の説明図。
【図１３】マスク行列の初期行列を作成する処理を例示するフローチャート。
【図１４】マスク行列の初期行列を作成する処理の説明図。
【図１５】マスク行列の初期行列を作成する処理の説明図。
【図１６】マスク行列の初期行列を作成する処理の説明図。
【図１７】マスク行列の初期行列を作成する処理の説明図。
【図１８】マスク行列の初期行列を作成する処理の説明図。
【図１９】マスク行列の初期行列を作成する処理の説明図。
【図２０】マスク行列の初期行列を作成する処理の説明図。
【図２１】マスク行列を作成する処理を例示するフローチャート。
【図２２Ａ】第１の実施形態に係るパリティ検査行列作成方法によって作成されるパリティ検査行列（Ｈ２）の一部を示す図。
【図２２Ｂ】パリティ検査行列（Ｈ２）の一部を示す図。
【図２２Ｃ】パリティ検査行列（Ｈ２）の一部を示す図。
【図２３Ａ】第１の実施形態に係るパリティ検査行列作成方法によって作成されるパリティ検査行列（Ｈ３）の一部を示す図。
【図２３Ｂ】パリティ検査行列（Ｈ３）の一部を示す図。
【図２３Ｃ】パリティ検査行列（Ｈ３）の一部を示す図。
【図２４Ａ】第１の実施形態に係るパリティ検査行列作成方法によって作成されるパリティ検査行列（Ｈ４）の一部を示す図。
【図２４Ｂ】パリティ検査行列（Ｈ４）の一部を示す図。
【図２４Ｃ】パリティ検査行列（Ｈ４）の一部を示す図。
【図２４Ｄ】パリティ検査行列（Ｈ４）の一部を示す図。
【図２４Ｅ】パリティ検査行列（Ｈ４）の一部を示す図。
【図２４Ｆ】パリティ検査行列（Ｈ４）の一部を示す図。
【図２５Ａ】第１の実施形態に係るパリティ検査行列作成方法によって作成されるパリティ検査行列（Ｈ５）の一部を示す図。
【図２５Ｂ】パリティ検査行列（Ｈ５）の一部を示す図。
【図２５Ｃ】パリティ検査行列（Ｈ５）の一部を示す図。
【図２５Ｄ】パリティ検査行列（Ｈ５）の一部を示す図。
【図２５Ｅ】パリティ検査行列（Ｈ５）の一部を示す図。
【図２５Ｆ】パリティ検査行列（Ｈ５）の一部を示す図。
【図２６Ａ】第１の実施形態に係るパリティ検査行列作成方法によって作成されるパリティ検査行列（Ｈ６）の一部を示す図。
【図２６Ｂ】パリティ検査行列（Ｈ６）の一部を示す図。
【図２６Ｃ】パリティ検査行列（Ｈ６）の一部を示す図。
【図２６Ｄ】パリティ検査行列（Ｈ６）の一部を示す図。
【図２６Ｅ】パリティ検査行列（Ｈ６）の一部を示す図。
【図２６Ｆ】パリティ検査行列（Ｈ６）の一部を示す図。
【図２６Ｇ】パリティ検査行列（Ｈ６）の一部を示す図。
【図２６Ｈ】パリティ検査行列（Ｈ６）の一部を示す図。
【図２６Ｉ】パリティ検査行列（Ｈ６）の一部を示す図。
【図２６Ｊ】パリティ検査行列（Ｈ６）の一部を示す図。
【図２６Ｋ】パリティ検査行列（Ｈ６）の一部を示す図。
【図２７Ａ】第１の実施形態に係るパリティ検査行列作成方法によって作成されるパリティ検査行列（Ｈ７）の一部を示す図。
【図２７Ｂ】パリティ検査行列（Ｈ７）の一部を示す図。
【図２７Ｃ】パリティ検査行列（Ｈ７）の一部を示す図。
【図２７Ｄ】パリティ検査行列（Ｈ７）の一部を示す図。
【図２７Ｅ】パリティ検査行列（Ｈ７）の一部を示す図。
【図２７Ｆ】パリティ検査行列（Ｈ７）の一部を示す図。
【図２７Ｇ】パリティ検査行列（Ｈ７）の一部を示す図。
【図２７Ｈ】パリティ検査行列（Ｈ７）の一部を示す図。
【図２７Ｉ】パリティ検査行列（Ｈ７）の一部を示す図。
【図２７Ｊ】パリティ検査行列（Ｈ７）の一部を示す図。
【図２７Ｋ】パリティ検査行列（Ｈ７）の一部を示す図。
【図２８】パリティ検査行列（Ｈ２，Ｈ３，Ｈ４，Ｈ５，Ｈ６，Ｈ７）のバースト誤りに対する耐性の計算結果を示す図。
【図２９】第１の実施形態に係るパリティ検査行列作成方法によって作成されるマスク行列と比較例のマスク行列とのループ４発生数の比較結果を示す図。
【図３０】第２の実施形態に係る記録再生装置のうち符号化処理部を例示するブロック図。
【図３１】ユーザ符号データ、ＢＩＳデータ及びＳＹＮＣデータの合成データのフォーマットを例示する図。
【図３２】第２の実施形態に係る記録再生装置のうち再生処理部を例示するブロック図。
【図３３】図３１のフォーマットの下でバースト発生エリアを推定する技法の説明図。
【図３４】第２の実施形態に係る記録再生装置を例示するブロック図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら実施形態の説明が述べられる。尚、以降、説明済みの要素と同一または類似の要素には同一または類似の符号が付され、重複する説明は基本的に省略される。
【０００９】
（第１の実施形態）  
第１の実施形態は、バースト誤りに対する耐性が良好なＬＤＰＣ符号を定義するパリティ検査行列を作成する方法に関する。  
ＬＤＰＣ符号のバースト誤りに対する耐性は、以下に説明されるように、当該ＬＤＰＣ符号を定義するパリティ検査行列に基づいて評価できる。
【００１０】
図１は、パリティ検査行列（Ｈ１）を例示する。パリティ検査行列（Ｈ１）は、情報長が６ビットであり、パリティ長が６ビットであり、かつ、符号長が１２ビットであるＬＤＰＣ符号を定義する。以降の説明において、符号データは、例えばＣ＝（ｃ１，ｃ２，・・・，ｃ１１，ｃ１２）の形式で表現される。
【００１１】
ＬＤＰＣ符号は、基本的に、パリティ検査の結果に基づいて行毎に誤りを訂正する訂正処理と、各行における誤り訂正結果を行方向に伝搬させる伝搬処理とを反復することによって復号される。訂正処理及び伝搬処理は、パリティ検査行列の「１」の要素に対応する行（即ち、検査ノード）及び列（即ち、変数ノード）が関与する。
【００１２】
例えば、パリティ検査行列（Ｈ１）によれば、第１行において第１、第２、第３及び第４列（即ち、ｃ１，ｃ２，ｃ３，ｃ４）が訂正処理の対象とされる。他の行における訂正処理の対象もこのやり方で決められる。また、パリティ検査行列（Ｈ１）によれば、第１行における第１列（即ち、ｃ１）の誤り訂正結果は第４行に伝搬し、第４行における第１列の誤り訂正結果は第１行に伝搬する。他の誤り訂正結果もこのやり方で伝搬する。
【００１３】
このパリティ検査行列（Ｈ１）によって定義されるＬＤＰＣ符号の第８ビット（ｃ８）から第１０ビット（ｃ１０）に亘ってバースト誤りが発生し、他のビットには誤りが生じなかったと仮定する。この場合に、バースト誤りが訂正可能であるか否かは、パリティ検査行列（Ｈ１）の第８列から第１０列に亘る列ベクトルに基づいて判定できる。
【００１４】
具体的には、図２に示されるように、パリティ検査行列（Ｈ１）の第８列から第１０列に亘る列ベクトルからなる部分行列（Ｈｓｕｂ＿１）をパリティ検査行列（Ｈ１）から抽出することができる。この行列（Ｈｓｕｂ＿１）に注目すると、第１行及び第６行はいずれのビットも訂正処理の対象とせず、第２行は第８ビットを訂正処理の対象とし、第３行は第９及び第１０ビットを訂正処理の対象とし、第４行は第８及び第１０ビットを訂正処理の対象とし、第５行は第９ビットを訂正処理の対象としている。
【００１５】
以降の説明では、行列（Ｈｓｕｂ＿１）の各行において訂正処理の対象とならない列の要素は「−」で表現され、訂正処理の対象となる列の要素は「○」または「×」で表現される。「○」は誤りが訂正されたことを意味する記号であり、「×」は誤りが訂正されていないことを意味する記号である。第１回目の訂正処理が行われる時点では、第８ビットから第１０ビットにおいて発生したバースト誤りは訂正されていないので、図３の行列（Ｈｓｕｂ＿１ａ）が得られる。
【００１６】
ＬＤＰＣ符号の原理上、行毎の訂正処理によれば、当該行に１ビットだけの誤りが含まれる場合にはこれを１度で訂正できるものの、当該行に２ビット以上の誤りが含まれる場合にはこれらを１度では訂正できない。故に、第１回目の訂正処理によれば、訂正処理の対象のうち未訂正ビット数が１個である第２行及び第５行においてこの誤りは訂正されるが、訂正処理の対象のうち未訂正ビット数が２個以上である第３行及び第４行においてこれらの誤りは訂正されない。従って、第１回目の訂正処理の結果、図４の行列（Ｈｓｕｂ＿１ｂ）が得られる。
【００１７】
前述の通り、伝搬処理によれば、各行における誤り訂正結果が行方向に伝搬する。具体的には、第１回目の訂正処理によって、第２行において第８ビットの誤りが訂正され、第５行において第９ビットの誤りが訂正されている。第２行における第８ビットの誤り訂正結果は、同じく第８ビットを訂正処理の対象とする第４行へと伝搬する。第５行における第９ビットの誤り訂正結果は、同じく第９ビットを訂正処理の対象とする第３行へと伝搬する。従って、第１回目の伝搬処理の結果、図５の行列（Ｈｓｕｂ＿１ｃ）が得られる。
【００１８】
行列（Ｈｓｕｂ＿１ｃ）に注目すると、第２回目の訂正処理において、第３行及び第４行において訂正処理の対象のうち未訂正ビット数が２個から１個へと夫々減少している。故に、第２回目の訂正処理によれば、第３行及び第４行において誤りが訂正される。即ち、図６の行列（Ｈｓｕｂ＿１ｄ）が得られる。図６に示されるように、パリティ検査行列（Ｈ１）によれば、符号データの第８ビット（ｃ８）から第１０ビット（ｃ１０）に亘ってバースト誤りが発生したとしても、他のビットに誤りが生じなければ当該バースト誤りを訂正できる。
【００１９】
続いて、このパリティ検査行列（Ｈ１）によって定義されるＬＤＰＣ符号の第５ビット（ｃ５）から第７ビット（ｃ７）に亘ってバースト誤りが発生し、他のビットには誤りが生じなかったと仮定する。この場合に、バースト誤りが訂正可能であるか否かは、パリティ検査行列（Ｈ１）の第５列から第７列に亘る列ベクトルに基づいて判定できる。
【００２０】
具体的には、図７に示されるように、パリティ検査行列（Ｈ１）の第５列から第７列に亘る列ベクトルからなる部分行列（Ｈｓｕｂ＿２）をパリティ検査行列（Ｈ１）から抽出することができる。この行列（Ｈｓｕｂ＿２）に注目すると、第１行、第３行及び第４行はいずれのビットも訂正処理の対象とせず、第２行は第５、第６及び第７ビットを訂正処理の対象とし、第５行は第５及び第７ビットを訂正処理の対象とし、第６行は第６ビットを訂正処理の対象としている。
【００２１】
以降の説明では、行列（Ｈｓｕｂ＿２）の各行において訂正処理の対象とならない列の要素は「−」で表現され、訂正処理の対象となる列の要素は「○」または「×」で表現される。「○」は誤りが訂正されたことを意味する記号であり、「×」は誤りが訂正されていないことを意味する記号である。第１回目の訂正処理が行われる時点では、第５ビットから第７ビットにおいて発生したバースト誤りは訂正されていないので、図８の行列（Ｈｓｕｂ＿２ａ）が得られる。
【００２２】
第１回目の訂正処理によれば、訂正処理の対象のうち未訂正ビット数が１個である第６行においてこの誤りは訂正されるが、訂正処理の対象のうち未訂正ビット数が２個以上である第２行及び第５行においてこれらの誤りは訂正されない。従って、第１回目の訂正処理の結果、図９の行列（Ｈｓｕｂ＿２ｂ）が得られる。
【００２３】
第１回目の訂正処理によって、第６行において第６ビットの誤りが訂正されている。第６行における第６ビットの誤り訂正結果は、同じく第６ビットを訂正処理の対象とする第２行へと伝搬する。従って、第１回目の伝搬処理の結果、図１０の行列（Ｈｓｕｂ＿２ｃ）が得られる。
【００２４】
ＬＤＰＣ符号の原理上、第ｉ＋１回目（ｉは反復復号（即ち、訂正処理及び伝搬処理）の回数を示す）の訂正処理が行われる時点で、訂正処理の対象のうち未訂正ビット数が２個以上である行が残存し、かつ、訂正処理の対象のうち未訂正ビット数が１個である行が残存しなければ、第ｉ＋１回目以降の訂正処理及び伝搬処理によっても誤りを訂正することができない。行列（Ｈｓｕｂ＿２ｃ）に注目すると、第２回目の訂正処理において、第６行において訂正処理の対象のうち未訂正ビット数が３から２へと減少している。しかしながら、第２行及び第５行における訂正処理の対象のうち未訂正ビット数は依然として２以上であり、訂正処理の対象のうち未訂正ビット数が１である行は存在しない。故に、訂正処理及び伝搬処理をこれ以上反復しても、第５ビット及び第７ビットの誤りは訂正することができない。従って、パリティ検査行列（Ｈ１）によれば、符号データの第５ビット（ｃ５）から第７ビット（ｃ７）に亘ってバースト誤りが発生すると当該バースト誤りを訂正することができない。
【００２５】
このように、仮定されたバースト誤りに対応する部分行列をパリティ検査行列から抽出して分析することによって、当該パリティ検査行列によって定義されるＬＤＰＣ符号のバースト誤りに対する耐性を評価することができる。尚、バースト誤りを仮定することは、その発生数、各バースト誤りの発生エリア及び発生規模を定義することに相当する。
【００２６】
様々なエリアに様々な規模で発生し得るバースト誤りに対して安定的に高い耐性を発揮するＬＤＰＣ符号を設計することは容易な問題ではない。この問題に関して、非特許文献２には、バースト誤りの発生数が１の場合に少なくとも（Ｍ−Ｋ）×Ｐ＋１ビットまでのバースト誤りを訂正できることが保証された疑似巡回（ｑｕａｓｉ−ｃｙｃｌｉｃ）ＬＤＰＣ符号を設計する技法が提案されている。ここで、Ｍは後述されるマスク行列の行サイズを表し、Ｋはマスク行列の列重みを表し、Ｐはマスク行列の要素に対応するブロック行列のサイズを表す。
【００２７】
マスク行列は、対応するパリティ検査行列の構造を表す。具体的には、パリティ検査行列は、行方向に行サイズに応じた数のブロック行列が配列され、列方向に列サイズに応じた数のブロック行列が配列される。ブロック行列の各々は、Ｐ行×Ｐ列の巡回置換行列またはＰ行×Ｐ列の零行列である。マスク行列内の各要素は、パリティ検査行列内の各ブロック行列が巡回置換行列であるか零行列であるかを表す。
【００２８】
例えば、マスク行列は「１」または「０」を要素として持つ。「１」は、パリティ検査行列の対応するブロック行列が巡回置換行列であることを意味する。「０」は、パリティ検査行列の対応するブロック行列が零行列であることを意味する。即ち、パリティ検査行列の第（ｍ−１）×Ｐ＋１行第（ｎ−１）×Ｐ＋１列の要素を含むＰ行×Ｐ列のブロック行列は、マスク行列の第ｍ行第ｎ列の要素が「１」であれば巡回置換行列であり、「０」であれば零行列である。
【００２９】
マスク行列は、下記数式（１）に例示されるように、後述されるＭ行×Ｍ列の部分行列（Ｇ）を任意の連結数だけ列方向に結合することによって導出できる。  
【数１】
2013136523.tif 000003
【００３０】
数式（１）においてＺ１はマスク行列を表す。例えばＭ＝８，Ｋ＝４とすると、部分行列（Ｇ）は下記数式（２）によって導出できる。  
【数２】
2013136523.tif 000004
【００３１】
上記数式（１）及び数式（２）に従って導出されたマスク行列に対応するＬＤＰＣ符号は、前述の評価技法によると、バースト誤りの発生数が１である場合に５ブロックに亘るバースト誤りを訂正できる。より具体的には、マスク行列（Ｚ１）における部分行列（Ｇ）の連結数を８とすると、ＬＤＰＣ符号の符号化率は７／８（＝（８Ｍ−Ｍ）／８Ｍ）である。また、ブロック行列のサイズ（Ｐ）を７２とすると、ＬＤＰＣ符号はバースト誤りの発生数が１である場合に２８９（＝（８−４）×７２＋１）ビットに亘るバースト誤りを訂正できることが保証される。
【００３２】
更に、上記数式（１）のマスク行列（Ｚ１）を一般化すると、下記数式（３）に示されるマスク行列（Ｚ２）が得られる。マスク行列（Ｚ２）は、後述されるＭ行×Ｍ列の部分行列（Ｇａ）を任意の連結数だけ列方向に結合したものである。以降の説明において、上記数式（１）または数式（３）に示されるマスク行列（Ｚ１またはＺ２）は、比較例に係るマスク行列と称される。
【数３】
2013136523.tif 000005
【００３３】
数式（３）の部分行列（Ｇａ）は、下記数式（４）に示されるように、Ｋ行×Ｋ列の第１のブロック行列（ＧＬ）と、Ｋ行×Ｋ列の第２のブロック行列（ＧＵ）と、Ｋ行×Ｋ列の零行列とによって形成される。
【数４】
2013136523.tif 000006
【００３４】
数式（４）の第１のブロック行列（ＧＬ）は下記数式（５）に示されるものであり、数式（４）の第２のブロック行列（ＧＵ）は下記数式（６）に示されるものである。  
【数５】
2013136523.tif 000007
【数６】
2013136523.tif 000008
【００３５】
比較例のマスク行列は、部分行列（ＧまたはＧａ）を複数連結することによって形成されている。故に、これらマスク行列において、マスク行列の行サイズに応じた一定周期で同じ列ベクトルが現れる。例えば、数式（１）に示されるマスク行列（Ｚ１）は、行サイズ＝８なので、図１１に示されるように８列毎に同じ列ベクトルが現れる。
【００３６】
従って、比較例のマスク行列は、バースト誤りの発生数が２以上である場合に、バースト発生数の多寡及び各バースト誤りの規模の大小に関わらずこれらバースト誤りを訂正できないおそれがある。例えば、マスク行列（Ｚ１）の１列目に対応する第１，・・・，第Ｐビットを包含するエリアに第１のバースト誤りが発生し、かつ、９列目に対応する第８Ｐ＋１，・・・，第９Ｐビットを包含するエリアに第２のバースト誤りが発生したと仮定される。この場合には、第１回目の訂正処理が行われる時点で、訂正処理の対象のうち未訂正ビット数が２個以上の行が残存し、かつ、訂正処理の対象のうち未訂正ビット数が１個の行が残存しないので、第１回目以降の訂正処理及び伝搬処理によっても誤りを訂正することができない。
【００３７】
即ち、マスク行列において、あるバースト誤りの発生エリアに対応する列ベクトルが、異なるバースト誤りの発生エリアに対応する列ベクトルに一致すると、これらバースト誤りを訂正することが不可能となる。また、比較例に係るマスク行列において、同じ列ベクトルが出現する回数は、部分行列の連結数が増大するほど増大する。従って、符号化率を高く設計するほど、訂正不可能なバースト誤りパターンが増大するので、ＬＤＰＣ符号のバースト誤りに対する耐性が劣化する。
【００３８】
更に、比較例のマスク行列は、ＬＤＰＣ符号の性能劣化の一因となるループ４が発生し易い。この原因として、同じ列ベクトルが重複して出現することに加えて、隣接する列ベクトル同士の間で要素「１」が出現する行の重複数が多い（具体的には、Ｋ−１）ことが挙げられる。この重複数は、マスク行列の列重みが大きくなるほど増大する。即ち、マスク行列の列重みが大きくなるほど、マスク行列内に多数のループ４が発生する。
【００３９】
更に、比較例のマスク行列によれば、Ｌ列に亘るバースト誤りが発生した場合に、このバースト誤りの両端から順に１列ずつ訂正することができる。換言すれば、１回の訂正処理において最大２列の誤りが訂正される。故に、Ｌ列に亘るバースト誤りを訂正するために必要な反復復号回数（即ち、訂正処理及び伝搬処理の回数）は、Ｌ／２（Ｌが奇数の場合は切り上げる）となる。即ち、バースト誤りの規模（Ｌ）に対して、必要な反復復号回数は線形に増大する。尚、非特許文献２には、１回の訂正処理において３列以上の誤り訂正を可能にするマスク行列の作成技法は開示されていない。
【００４０】
そこで、本実施形態において、パリティ検査行列は下記の方法により作成される。  
この方法は、Ｍ行×Ｎ列の要素の各々に「１」及び「０」のいずれか一方を割り当てることにより、列重みがＫのマスク行列を作成することを含む。ここで、Ｍは４以上の整数であり、ＮはＭより大きな整数であり、Ｋは２以上の整数である。
【００４１】
この方法は、作成したマスク行列内の各要素について、当該要素が「１」である場合には対応する位置にＰ行×Ｐ列の巡回置換行列を配置し、当該要素が「０」である場合には対応する位置にＰ行×Ｐ列の零行列を配置することにより、パリティ検査行列を作成することを更に含む。ここで、Ｐは２以上の整数である。
【００４２】
尚、この方法によって作成されるマスク行列は、少なくとも、下記条件（ａ），（ｂ），（ｃ），（ｄ），（ｅ）及び（ｆ）を満足する。  
（ａ）  マスク行列内のＮ個の列ベクトルは全て相異なる。  
条件（ａ）を満足することにより、図１２に例示されるように、マスク行列内の任意の２つの列ベクトルの間で要素「１」が出現する行は多くとも（Ｋ−１）個しか重複しない。即ち、マスク行列のうち任意の２列に第１のバースト誤り及び第２のバースト誤りが生じたとしてもこれらを訂正することができる。故に、このマスク行列に対応するＬＤＰＣ符号は、比較例のマスク行列に対応するＬＤＰＣ符号に比べて、複数のバースト誤りに対する耐性が改善される。
【００４３】
（ｂ）  マスク行列から任意に連続したＬ列（ＬはＭ−Ｋ＋１以下の整数である）を抽出したＭ行×Ｌ列の部分行列が、Ｂ１個（Ｂ１は１以上の整数である）の第１訂正行を含む。
【００４４】
第１訂正行とは、第１回目の訂正処理によって初めて当該行の誤りが全て訂正されるＢ１個の行を指す。故に、Ｂ１個の第１訂正行の各々の行重みは１である必要がある。
【００４５】
（ｃ）  Ｂ１個の第１訂正行は、Ａ１個（Ａ１は１以上の整数である）の第１訂正列の各々に合計１個以上の「１」を備える。  
第１訂正列とは、第１回目の訂正処理においてＢ１個の第１訂正行において訂正されるＡ１個の列を指す。換言すれば、Ｂ１個の第１訂正行において「１」が配置された全ての列が第１訂正列として扱われる。従って、第１訂正列の総数（Ａ１）は、多くともＢ１個である。Ｂ１個の第１訂正行間で第１回目の訂正処理によって訂正される列が重複すれば、Ａ１＜Ｂ１となる。他方、Ｂ１個の第１訂正行間で第１回目の訂正処理によって訂正される列が全く重複しなければ、Ａ１＝Ｂ１となる。
【００４６】
（ｄ）  上記部分行列は、Ｂｉ個（Ｂｉは１以上の整数であり、ｉは２以上Ｉ以下の全ての整数であり、Ｉは２以上の整数である）の第ｉ訂正行を更に含む。
【００４７】
第ｉ訂正行とは、第ｉ回目の訂正処理によって初めて当該行の誤りが全て訂正されるＢｉ個の行を指す。換言すれば、Ｂｉ個の第ｉ訂正行は、第ｉ−１回目の伝搬処理によって第ｉ−１回目の誤り訂正結果が伝搬することによって、未訂正ビット数が２個以上から１個に減少する必要がある。故に、Ｂｉ個の第ｉ訂正行の各々の行重みは２以上である。また、Ｂｉ個の第１訂正行の各々は、Ａｉ−１個の第ｉ−１訂正列に合計１個以上の「１」を備える。ちなみに、第ｉ−１回目の伝搬処理によって、第ｉ−１回目の誤り訂正結果が伝搬する、第ｉ−１伝搬行の最大数は、Ａｉ−１×（Ｋ−１）となる。よって、Ｂｉに関して、下記数式（７）が成立する。
【数７】
2013136523.tif 000009
【００４８】
（ｅ）  Ｂｉ個の第ｉ訂正行の各々は、第１訂正列から第ｉ−１訂正列までを除外した列集合に含まれるＡｉ個（Ａｉは１以上の整数である）の第ｉ訂正列のいずれか１つに「１」を備え、かつ、Ｂｉ個の第ｉ訂正行は、第ｉ訂正列の各々に合計１個以上の「１」を備える。
【００４９】
第ｉ訂正列とは、第ｉ回目の訂正処理において第ｉ訂正行において訂正されるＡｉ個の列を指す。換言すれば、Ｂｉ個の第ｉ訂正行において、第１訂正列から第ｉ−１訂正列までを除外した列集合のうち「１」が配置された全ての列が第ｉ訂正列として扱われる。従って、第ｉ訂正列の総数（Ａｉ）は、多くともＢｉ個である。Ｂｉ個の第ｉ訂正行間で第ｉ回目の訂正処理によって訂正される列が重複すれば、Ａｉ＜Ｂｉとなる。他方、Ｂｉ個の第ｉ訂正行間で第ｉ回目の訂正処理によって訂正される列が全く重複しなければ、Ａｉ＝Ｂｉとなる。この場合には、Ｂｉ個の第ｉ訂正行は、Ａｉ個の第ｉ訂正列の各々に合計１個の「１」を備える。従って、Ａｉ≦Ｂｉが成立する。また、上記数式（７）から、下記数式（８）が成立する。
【数８】
2013136523.tif 000010
【００５０】
（ｆ）  Ａ１からＡＩまでの総和はＬに等しい。  
この条件（ｆ）を満足することにより、マスク行列のＬ行に亘るバースト誤りはＩ回の反復復号によって訂正することができる。
【００５１】
条件（ａ），（ｂ），（ｃ），（ｄ），（ｅ）及び（ｆ）を満足するマスク行列によれば、以下に説明されるように、任意の位置に発生したＬ列（Ｌは１以上Ｍ−Ｋ＋１以下の整数）に亘るバースト誤りを訂正できる。
【００５２】
Ｌ列に亘るバースト誤りを訂正するためには、これらＬ列に含まれる各列について当該列の誤りを訂正する訂正行が少なくとも１つ必要である。条件（ｃ）及び（ｅ）によれば、第１訂正列は、少なくとも１つの第１訂正行において訂正される。同様に、第ｉ訂正行は、少なくとも１つの第ｉ訂正行において訂正される。故に、条件（ａ），（ｂ），（ｃ），（ｄ），（ｅ）及び（ｆ）を満足するマスク行列によれば、任意の位置に発生したＬ列（Ｌは１以上Ｍ−Ｋ＋１以下の整数）に亘るバースト誤りを訂正できる。
【００５３】
また、条件（ａ），（ｂ），（ｃ），（ｄ），（ｅ）及び（ｆ）を満足するマスク行列によれば、以下に説明されるように、Ｌの上限はＭ−Ｋ＋１である。  
条件（ｃ）及び（ｅ）において説明したように、Ｂ１≧Ａ１かつＢｉ≧Ａｉである。更に、条件（ｆ）によれば、Ａ１からＡＩまでの総和はＬである。従って、Ｂ１からＢＩまでの総和はＬ以上である。故に、Ｂ１からＢＩ−１までの総和（Ｍ”）は、Ｌ−ＡＩ以上である。
【００５４】
ここで、ＡＩ＝１の場合に、部分行列は第１訂正行から第Ｉ−１訂正行までに加えて少なくとも第Ｉ訂正行を備える。そして、ＡＩ＝１の場合に、ＢＩ＝Ｋである。従って、ＡＩ＝１の場合に、Ｍ−Ｍ”≧ＡＩ＋Ｋ−１が成立する。
【００５５】
他方、ＡＩ≧２の場合に、部分行列は第１訂正行から第Ｉ−１訂正行までに加えて少なくとも第Ｉ訂正行を備える。更に、第Ｉ訂正行の誤り訂正結果が伝搬する第Ｉ伝搬行が存在する可能性がある。第Ｉ伝搬行の各々は、ＡＩ個の第Ｉ訂正列において２個以上の「１」を備える。Ｋ−１個の第Ｉ伝搬行の各々がＡＩ個の第Ｉ訂正列の全てにおいて「１」を備えるならば、第Ｉ訂正行の総数及び第Ｉ伝搬行の総数の和はＡＩ＋Ｋ−１に最小化される。従って、ＡＩ≧２の場合にも、Ｍ−Ｍ”≧ＡＩ＋Ｋ−１が成立する。
【００５６】
よって、下記数式（９）によりＬの上限値がＭ−Ｋ＋１であることが確認できる。  
【数９】
2013136523.tif 000011
【００５７】
尚、Ｌが上限値（Ｍ−Ｋ＋１）に到達するためには、数式（９）から明らかなように、Ｍ−（Ｌ−ＡＩ）＝Ｍ−Ｍ”、かつ、Ｍ−Ｍ”＝ＡＩ＋Ｋ−１が成立する必要がある。  
Ｍ−（Ｌ−ＡＩ）＝Ｍ−Ｍ”が成立するためには、Ａ１からＡＩ−１までの総和とＢ１からＢＩ−１までの総和とが一致する必要がある。前述のように、Ｂ１，・・・，ＢＩ−１は、夫々、Ａ１，・・・，ＡＩ−１以上なので、Ａ１からＡＩ−１までの総和とＢ１からＢＩ−１までの総和とが一致するためには、Ｂ１＝Ａ１，・・・，ＢＩ−１＝ＡＩ−１が夫々成立しなければならない。
【００５８】
ＡＩ＝１の場合にＭ−Ｍ”＝ＡＩ＋Ｋ−１が成立するためには、第１訂正行から第Ｉ−１訂正行までを部分行列から除外した行集合に、第Ｉ訂正行を含めて合計Ｋ個の行が残存する必要がある。前述のように、ＡＩ＝１の場合にＢＩはＫより小さくならない。故に、ＡＩ＝１の場合にＭ−Ｍ”＝ＡＩ＋Ｋ−１が成立するためには、ＢＩ＝Ｋが成立しなければならない。また、ＢＩ＝Ｋが成立するために、数式（７）より、ＡＩ−１≧２となる必要がある。
【００５９】
ＡＩ≧２の場合にＭ−Ｍ”＝ＡＩ＋Ｋ−１が成立するためには、第１訂正行から第Ｉ−１訂正行までを部分行列から除外した行集合に、第Ｉ訂正行及び第Ｉ伝搬行を含めて合計ＡＩ＋Ｋ−１個の行が残存する必要がある。前述のように、ＡＩ≧２の場合に第Ｉ訂正行の総数及び第Ｉ伝搬行の総数の和はＡＩ＋Ｋ−１より小さくならない。故に、ＡＩ≧２の場合にＭ−Ｍ”＝ＡＩ＋Ｋ−１が成立するためには、ＢＩ＝ＡＩが成立し、かつ、部分行列はＡＩ個の第Ｉ訂正列の全てにおいて「１」を備えるＫ−１個の第Ｉ伝搬行を含まなければならない。
【００６０】
以下、本実施形態に係るパリティ検査行列作成方法が具体的に説明される。本実施形態において、初期行列（Ｍｉｎｉ）と呼ばれるＭ行×Ｌ列の部分行列を作成し、当該初期行列の列数をＬからＮに拡張することによって、マスク行列が作成される。ここで、Ｍはマスク行列の行サイズを表す。Ｌ≦Ｍ−Ｋ＋１であり、Ｋはマスク行列の列重みを表す。また、Ｌは、マスク行列に対応するＬＤＰＣ符号によって訂正可能なバースト誤り長を表す。
【００６１】
初期行列（Ｍｉｎｉ）の作成処理が図１３に例示されている。図１３の処理は、メモリに連結されたプロセッサによって実行できる。典型的には、コンピュータが図１３の処理を実行すればよい。図１３の処理は、ステップＳ１０１から開始する。
【００６２】
ステップＳ１０１において、初期行列（Ｍｉｎｉ）の初期設定が行われる。具体的には、Ｍ行×Ｌ列の零行列がメモリの作業領域において作成される。また、第ｉ訂正列（Ｃｉ）の総数（Ａｉ）が設定される（ステップＳ１０２）。第ｉ訂正列（Ｃｉ）とは、第ｉ回目の訂正処理によって第ｉ訂正行（Ｒｉ）において訂正される列を意味する。ここで、ｉは反復復号回数を特定する変数であり、１≦ｉ≦Ｉである。また、Ａｉ≧１である。ＩはＬ列に亘るバースト誤りを達成するために必要な反復復号回数を表す値であり、好ましくはＬ／２以下に設定される。更に、Ａｉ及びＩに関して、下記数式（１０）が成立する。
【数１０】
2013136523.tif 000012
【００６３】
ステップＳ１０３においてｉ＝１に設定され、処理はステップＳ１０４に進む。ステップＳ１０４において、Ｂ１個の第１訂正行（Ｒ１）が作成される。尚、Ｂ１≧Ａ１である。ここで、第１訂正行とは、第１回目の訂正処理の対象のうち未訂正ビット数が１個である行を意味する。故に、第１訂正行は、いずれも行重みが１である。更に、Ｂ１個の第１訂正行は、Ａ１個の相異なる列（即ち、第１訂正列）の各々に合計１個以上の「１」を備える。ステップＳ１０４の後に、処理はステップＳ１０５へと進む。
【００６４】
ステップＳ１０５において、第ｉ訂正列（Ｃｉ）が抽出される。ステップＳ１０２において設定された通り、第ｉ訂正列（Ｃｉ）はＡｉ個存在する。ステップ１０５において抽出された第ｉ訂正列（Ｃｉ）に注目し、Ａｉ＋１個以上の第ｉ伝搬行（Ｒ’ｉ）が作成される（ステップＳ１０６）。ここで、第ｉ伝搬行（Ｒ’ｉ）とは、第ｉ訂正列から合計１個以上の誤り訂正結果が伝搬する行を意味する。即ち、第ｉ伝搬行（Ｒ’ｉ）は、Ａｉ個の第ｉ訂正列に１個以上の「１」を備える。但し、第１，・・・，第ｉ訂正行（Ｒ１，・・・，Ｒｉ）として既に作成済みの行は、第ｉ伝搬行の候補から除外される。第ｉ伝搬行に割り当てられる「１」によって、各第ｉ訂正列（Ｃｉ）の列重みがＫになるように調整される。
【００６５】
ステップＳ１０６において第ｉ伝搬行（Ｒ’ｉ）が作成されると、第ｉ訂正列（Ｃｉ）が決定するので、第ｉ訂正列（Ｃｉ）はメモリの作業領域から削除される（ステップＳ１０７）。ステップＳ１０７によって、メモリの作業領域から全ての列が削除されたならば初期行列（Ｍｉｎｉ）の作成が完了しているので処理は終了し、そうでなければ処理はステップＳ１０９にジャンプする。
【００６６】
ステップＳ１０９においてｉが１だけインクリメントされ、処理はステップＳ１１０へと進む。ステップＳ１１０において、前回のステップＳ１０６によって作成された第ｉ−１伝搬行（Ｒ’ｉ−１）の中からＢｉ個の第ｉ訂正行（Ｒｉ）が作成される。尚、Ｂｉ≧Ａｉである。ここで、Ｂｉ個の第ｉ訂正行は、Ａ１個の第１訂正列からＡｉ−１個の第ｉ−１訂正列までを除外した列集合に含まれるＡｉ個の相異なる列（即ち、第ｉ訂正列）の各々に合計１個以上の「１」を備える。また、Ｂｉ個の第ｉ訂正行の各々は、Ａｉ個の第ｉ訂正列に１つだけ「１」を備える。ステップＳ１１０の後に、処理はステップＳ１０５へと進む。
【００６７】
以下、図１４乃至図２０を用いて、図１３の処理を通じてマスク行列の初期行列（Ｍｉｎｉ）が生成される様子が説明される。尚、この説明において、Ｍ＝１０、Ｋ＝３、Ｌ＝８である。  
最初に、メモリの作業領域において１０行×８列の零行列が作成される（ステップＳ１０１）。更に、Ａ１＝３、Ａ２＝３、Ａ３＝２が設定される（ステップＳ１０２）。即ち、本例においてＩ＝３である。
【００６８】
図１４に示されるように、３（≧Ａ１）個の第１訂正行（Ｒ１）が作成され（ステップＳ１０４）、第１訂正列（Ｃ１）が抽出される（ステップＳ１０５）。具体的には、行重みが１であり、かつ、要素「１」の出現する列が互いに重複しないように、第８行、第９行及び第１０行が第１訂正行として作成される。図１４の例では、第８行第１列に要素「１」が与えられ、第９行第２列に要素「１」が与えられ、第１０行第３列に要素「１」が与えられている。即ち、第１列、第２列及び第３列が第１訂正列（Ｃ１）として抽出される。
【００６９】
それから、図１５に示されるように、第１訂正行を除外したうえで、４（≧３＝Ａ２）個の第１伝搬行（Ｒ’１）が作成される（ステップＳ１０６）。具体的には、第１訂正列の列重みが３になるように、第１伝搬行（即ち、第４行、第５行、第６行及び第７行）に要素「１」が割り当てられる。この時点で第１訂正列（Ｃ１）が決定し、メモリの作業領域から削除される（ステップＳ１０７）。しかしながら、未決定の列が残存するので処理は続く。
【００７０】
図１６に示されるように、第１伝搬行の中から３（≧Ａ２）個の第２訂正行（Ｒ２）が作成され（ステップＳ１１０）、第２訂正列（Ｃ２）が抽出される（ステップＳ１０５）。それから、図１７に示されるように、第１訂正行及び第２訂正行を除外したうえで、３（≧２＝Ａ３）個の第２伝搬行（Ｒ’２）が作成される（ステップＳ１０６）。この時点で第２訂正列（Ｃ２）が決定し、メモリの作業領域から削除される（ステップＳ１０７）。しかしながら、未決定の列が残存するので処理は続く。
【００７１】
図１８に示されるように、第２伝搬行の中から２（≧Ａ３）個の第３訂正行（Ｒ３）が作成され（ステップＳ１１０）、第３訂正列（Ｃ３）が抽出される（ステップＳ１０５）。それから、図１９に示されるように、第１訂正行、第２訂正行及び第３訂正行を除外したうえで、２（≧０＝Ａ４）個の第３伝搬行（Ｒ’３）が作成される（ステップＳ１０６）。この時点で第３訂正列（Ｃ３）が決定し、メモリの作業領域から削除される（ステップＳ１０７）。また、未決定の列が残存しないので処理は終了する。
【００７２】
本例によれば、図２０に示される初期行列（Ｍｉｎｉ）が作成される。図２０の初期行列によれば、８列に亘るバースト誤りを３（＝Ｉ）回の反復復号によって訂正することができる。他方、前述のように、比較例のマスク行列（Ｚ１またはＺ２）によると、８列に亘るバースト誤りを訂正するために、４（＝Ｌ／２＝８／２）回の反復復号が必要とされる。従って、この初期行列によれば、比較例のマスク行列（Ｚ１またはＺ２）に比べて、８列に亘るバースト誤りを訂正するために必要な反復復号回数を低減させることができる。尚、本例では、Ａ１＝３，Ａ２＝３，Ａ３＝２とすることによって、Ｉ＝３が達成された。しかしながら、上記、数式（８）及び数式（１０）を満足する限り、Ａｉには任意の正の整数が設定されてよい。
【００７３】
前述のように、マスク行列は、例えば図１３のフローチャートに従って作成された初期行列（Ｍｉｎｉ）の列数をＬからＮに拡張することによって作成される。図２１は、マスク行列の作成処理を例示する。図２１の処理は、メモリに連結されたプロセッサによって実行される。典型的には、コンピュータが図２１の処理を実行すればよい。図２１の処理は、ステップＳ２０１から開始する。
【００７４】
ステップＳ２０１において、マスク行列の初期行列（Ｍｉｎｉ）が作成される。即ち、ステップＳ２０１において、例えば図１３の処理が実行される。また、全ての列ベクトルパターンが作成される（ステップＳ２０２）。具体的には、Ｋ個の要素「１」とＭ−Ｋ個の要素「０」を備える列ベクトルの全パターンが作成される。係る列ベクトルパターンの総数は、ＭＣＫである。例えばＭ＝１０かつＫ＝３であるならば、１２０個のパターンが作成可能である。
【００７５】
ステップＳ２０２において作成された列ベクトルのうちステップＳ２０１において作成された初期行列（Ｍｉｎｉ）に含まれているものは、選択済みとして扱われる。例えばＬ＝８であるならば、初期行列に含まれる８個の列ベクトルは選択済みとして扱われる。選択済みの列ベクトルは後述されるステップＳ２０５以降において候補に含めることができない。この取り扱いによって、図１２に例示されるように、マスク行列内の任意の２つの列ベクトルの間で要素「１」が出現する行は多くとも（Ｋ−１）個しか重複しない。即ち、マスク行列のうち任意の２列に誤りが生じたとしてもこれらの誤りを訂正することができる。故に、図２１の処理によって作成されるマスク行列に対応するＬＤＰＣ符号は、比較例のマスク行列に対応するＬＤＰＣ符号に比べて、複数のバースト誤りに対する耐性が改善される。
【００７６】
ステップＳ２０４において、ｎ＝Ｌ＋１に設定される。ここで、ｎは、処理対象の列を特定する変数である。ステップＳ２０３及びステップＳ２０４が完了すると、処理はステップＳ２０５へと進む。
【００７７】
ステップＳ２０５において、第ｎ列目の列ベクトルとして選択可能な候補が選択される。ある列ベクトルパターンが第ｎ列目の列ベクトルとして採用された場合に、マスク行列の第ｎ−Ｌ＋１列目から第ｎ列目までに亘って生じたバースト誤りが最大反復復号回数（＝Ｉ）以内に訂正可能であるならば、当該列ベクトルパターンは候補の１つとして選択される。ステップＳ２０５の後に、処理はステップＳ２０６へと進む。
【００７８】
ステップＳ２０６において、１以上の候補が選択されていれば処理はステップＳ２０７に進み、そうでなければマスク行列の作成は不可能なのでステップＳ２０１に戻り初期行列（Ｍｉｎｉ）が改めて作成される。ステップＳ２０７において、複数の候補が選択されていれば処理はステップＳ２０８へと進み、候補が１つに絞られていれば処理はステップＳ２１３へと進む。
【００７９】
ステップＳ２０８において、マスク行列の第ｎ列目の列ベクトルとして採用された場合に、マスク行列におけるループ４の発生数が最小となる候補が更に選択される。ステップＳ２０８において選択された候補が依然として複数であるならば処理はステップＳ２１０へと進み、候補が１つに絞り込まれたならば処理はステップＳ２１３へと進む（ステップＳ２０９）。
【００８０】
ステップＳ２１０において、マスク行列の第ｎ列目の列ベクトルとして採用された場合に、マスク行列内の行重みの分散値が最小となる候補が更に選択される。ステップＳ２１０において選択された候補が依然として複数であるならば処理はステップＳ２１２へと進み、候補が１つに絞り込まれたならば処理はステップＳ２１３へと進む（ステップＳ２１１）。
【００８１】
ステップＳ２１２において複数の候補から任意の１つの候補が例えばランダムに選択され、処理はステップＳ２１３へと進む。尚、ステップＳ２１２は、複数の候補から１つを選択するための任意の技法によって実現されてよい。
【００８２】
ステップＳ２１３において、候補は１つに絞り込まれているので、当該候補がマスク行列の第ｎ列目の列ベクトルとして決定される。ステップＳ２１３の終了時にｎ＝Ｎならばマスク行列の作成が完了しているので処理は終了し、そうでなければ処理はステップＳ２１５へと進む（ステップＳ２１４）。ステップＳ２１５において、ｎは１だけインクリメントされ、ステップＳ２０５へと戻る。
【００８３】
図２１の処理によって作成されるマスク行列に対応するＬＤＰＣ符号は、比較例のマスク行列に対応するＬＤＰＣ符号に比べて、例えば、１つのバースト誤りに対する訂正能力、復号処理における計算量、メモリ使用量などの性能を概ね維持しながら、マスク行列内の任意の２列に生じた第１のバースト誤り及び第２のバースト誤りを訂正可能である。
【００８４】
図２１のステップＳ２０１において、Ｌ列に亘るバースト誤りを訂正するために必要な反復復号回数を調整できる。故に、図２１の処理によって作成されるマスク行列に対応するＬＤＰＣ符号は、比較例のマスク行列に対応するＬＤＰＣ符号に比べて、Ｌ列に亘るバースト誤りを訂正するために必要な反復復号回数を低減可能である。
【００８５】
図２１のステップＳ２０８において、複数の候補が存在する場合にマスク行列内のループ４の発生数が最小となる候補が選択される。故に、図２１の処理によって作成されるマスク行列は、比較例のマスク行列に比べて、ループ４の発生数を低減可能である。更に、マスク行列においてループ４の発生が回避できない場合であっても、各ループ４に関与する４つの要素に対応するパリティ検査行列内の巡回置換行列のシフト量を調整することによって、ビット単位でのループ４の発生を抑制することができる。具体的には、各ループ４に関与する４つの要素に対応する巡回置換行列のシフト量が全て同一にならないように調整すればよい。即ち、４つの要素のうち少なくとも２つに与えられるシフト量を異ならせればよい。
【００８６】
図２１の処理によって作成されたマスク行列の各要素に従って、巡回置換行列（シフト量は調整可能である）または零行列を配置することによって、パリティ検査行列を作成することができる。以下、本実施形態に係るパリティ検査行列作成方法によって作成された６つのパリティ検査行列（Ｈ２，Ｈ３，Ｈ４，Ｈ５，Ｈ６及びＨ７）について説明される。これら６つのパリティ検査行列は、いずれも、符号長３１３６ビットかつ符号化率４３／４９のＬＤＰＣ符号を定義する。
【００８７】
パリティ検査行列（Ｈ２）が図２２Ａ、図２２Ｂ及び図２２Ｃに示され、パリティ検査行列（Ｈ３）が図２３Ａ、図２３Ｂ及び図２３Ｃに示されている。パリティ検査行列（Ｈ２及びＨ３）は、Ｋ＝３、Ｍ＝１２、Ｎ＝９８のマスク行列に基づいて作成されている。パリティ検査行列（Ｈ２及びＨ３）に含まれるブロック行列のサイズは３２ビットである。マスク行列の１０（＝Ｍ−Ｋ＋１）列に亘るバースト誤りに対して、パリティ検査行列（Ｈ２）は５回の反復復号によって訂正できるように設計され、パリティ検査行列（Ｈ３）は４回の反復復号によって訂正できるように設計された。即ち、パリティ検査行列（Ｈ２）は、マスク行列の１０列に亘るバースト誤りを訂正するために、比較例のマスク行列に対応するパリティ検査行列と同数の反復復号を必要とする。他方、パリティ検査行列（Ｈ３）は、比較例のマスク行列に対応するパリティ検査行列よりも少ない反復復号によって、マスク行列の１０列に亘るバースト誤りを訂正できる。
【００８８】
尚、図２２Ａならびに以降の図面は、パリティ検査行列の各列インデックスに対応する列において３個（＝Ｋ）の巡回置換行列の各々が配置される行インデックスとそのシフト量（具体的には、右方向の巡回シフト量）とが示されている。例えば、図２２Ａによれば、パリティ検査行列（Ｈ２）の第１列から第３２列において、第１行から第３２行までシフト量＝０の巡回置換行列が配置され、第３３行から第２２４行まで６個の零行列が配置され、第２２５行から第２５６行までシフト量＝１７の巡回置換行列が配置され、第２５７行から第２８８行まで１個の零行列が配置され、第２８９行から第３２０行までシフト量＝１０の巡回置換行列が配置され、第３２１行から第３８４行まで２個の零行列が配置される。
【００８９】
パリティ検査行列（Ｈ４）が図２４Ａ、図２４Ｂ、図２４Ｃ、図２４Ｄ、図２４Ｅ及び図２４Ｆに示され、パリティ検査行列（Ｈ５）が図２５Ａ、図２５Ｂ、図２５Ｃ、図２５Ｄ、図２５Ｅ及び図２５Ｆに示されている。パリティ検査行列（Ｈ４及びＨ５）は、Ｋ＝３、Ｍ＝２４、Ｎ＝１９６のマスク行列に基づいて作成されている。パリティ検査行列（Ｈ４及びＨ５）に含まれるブロック行列のサイズは１６ビットである。マスク行列の２２（＝Ｍ−Ｋ＋１）列に亘るバースト誤りに対して、パリティ検査行列（Ｈ４）は１１回の反復復号によって訂正できるように設計され、パリティ検査行列（Ｈ５）は８回の反復復号によって訂正できるように設計された。即ち、パリティ検査行列（Ｈ４）は、マスク行列の２２列に亘るバースト誤りを訂正するために、比較例のマスク行列に対応するパリティ検査行列と同数の反復復号を必要とする。他方、パリティ検査行列（Ｈ５）は、比較例のマスク行列に対応するパリティ検査行列よりも少ない反復復号によって、マスク行列の２２列に亘るバースト誤りを訂正できる。
【００９０】
パリティ検査行列（Ｈ６）が図２６Ａ、図２６Ｂ、図２６Ｃ、図２６Ｄ、図２６Ｅ、図２６Ｆ、図２６Ｇ、図２６Ｈ、図２６Ｉ、図２６Ｊ及び図２６Ｋに示され、パリティ検査行列（Ｈ７）が図２７Ａ、図２７Ｂ、図２７Ｃ、図２７Ｄ、図２７Ｅ、図２７Ｆ、図２７Ｇ、図２７Ｈ、図２７Ｉ、図２７Ｊ及び図２７Ｋに示されている。パリティ検査行列（Ｈ６及びＨ７）は、Ｋ＝３、Ｍ＝４８、Ｎ＝３９２のマスク行列に基づいて作成されている。パリティ検査行列（Ｈ６及びＨ７）に含まれるブロック行列のサイズは８ビットである。マスク行列の４６（＝Ｍ−Ｋ＋１）列に亘るバースト誤りに対して、パリティ検査行列（Ｈ６）は２３回の反復復号によって訂正できるように設計され、パリティ検査行列（Ｈ７）は１６回の反復復号によって訂正できるように設計された。即ち、パリティ検査行列（Ｈ６）は、マスク行列の４６列に亘るバースト誤りを訂正するために、比較例のマスク行列に対応するパリティ検査行列と同数の反復復号を必要とする。他方、パリティ検査行列（Ｈ７）は、比較例のマスク行列に対応するパリティ検査行列よりも少ない反復復号によって、マスク行列の４６列に亘るバースト誤りを訂正できる。
【００９１】
１個のバースト誤りが発生した場合におけるパリティ検査行列（Ｈ２，Ｈ３，Ｈ４，Ｈ５，Ｈ６及びＨ７）のバースト誤りに対する耐性の計算結果が図２８に示されている。図２８によれば、いずれのパリティ検査行列によっても最低保証値が達成されている。尚、この最低保証値は、Ｐ×（Ｍ−Ｋ）＋１で計算されている。また、図２８によれば、マスク行列の行サイズ（Ｍ）が大きくなるほどバースト誤り訂正長が改善されている。更に、図２８によれば、パリティ検査行列（Ｈ３，Ｈ５及びＨ７）は、夫々、パリティ検査行列（Ｈ２，Ｈ４及びＨ６）に比べてバースト誤りを訂正するために必要な反復復号回数の最大値を低減させることができる。
【００９２】
パリティ検査行列（Ｈ２，Ｈ３，Ｈ４，Ｈ５，Ｈ６及びＨ７）に対応するマスク行列におけるループ４の発生数の計算結果と、比較例に係るマスク行列（具体的には、数式（３）のＺ２）におけるループ４の発生数の計算結果とが図２９に示されている。図２９によれば、いずれのサイズにおいても、パリティ検査行列（Ｈ２，Ｈ３，Ｈ４，Ｈ５，Ｈ６及びＨ７）に対応するマスク行列は、比較例のマスク行列に比べてループ４の発生数を低減させることができる。また、比較例のマスク行列は、そのサイズが大きくなるほどループ４の発生数が増大している。他方、パリティ検査行列（Ｈ２，Ｈ３，Ｈ４，Ｈ５，Ｈ６及びＨ７）に対応するマスク行列は、そのサイズが大きくなるほどループ４の発生数が減少している。
【００９３】
以上説明したように、第１の実施形態に係るパリティ検査行列作成方法は、Ｍ行×Ｎ列のマスク行列のうち任意の連続したＬ列に亘る１つのバースト誤りを最大反復復号回数以内で反復復号できるように当該マスク行列を作成する。従って、この検査行列作成方法によれば、パリティ検査行列はマスク行列のうち任意の連続したＬ列に亘る１つのバースト誤りを最大反復復号回数以内で訂正できる。また、最大反復復号回数が設定可能なので、バースト誤りを訂正するために必要な反復復号回数を設計次第で低減させることができる。また、この検査行列作成方法は、マスク行列に含まれるＮ個の列ベクトルが全て相異なるように当該マスク行列を作成する。従って、この検査行列作成方法によれば、パリティ検査行列はマスク行列のうち任意の２列において発生する２つのバースト誤りを訂正できる。
【００９４】
（第２の実施形態）  
第１の実施形態に係るパリティ検査行列作成方法によって作成されたパリティ検査行列は、復号装置によって誤り訂正復号処理のために使用される。また、このパリティ検査行列は、例えば生成行列に変換された状態で、符号化装置によって誤り訂正符号化処理のために使用される。これら符号化装置及び復号装置は、例えば記録再生システム、通信システムなどに組み込まれる。
【００９５】
第２の実施形態に係る記録再生装置は、誤り訂正のための符号化装置及び復号装置を組み込む。これら符号化装置及び復号装置は第１の実施形態に係るパリティ検査行列作成方法によって作成されたパリティ検査行列を使用する。尚、詳細な説明は省略されるが、このパリティ検査行列は、例えば半導体メモリ装置、通信装置、磁気記録再生装置など、誤り訂正符号が適用されるあらゆるシステムにおいて使用されてよい。
【００９６】
図３４に示されるように、本実施形態に係る記録再生装置は、符号化処理部３００と、再生処理部４００と、コントローラー５００とを備える。記録再生装置は、ユーザデータから記録データ１４を作成して光記録媒体６００に書き込んだり、光記録媒体６００から得られた再生データ２０を処理してユーザデータを復元したりする。コントローラー５００は、後述される符号化処理部３００及び再生処理部４００の各機能部を制御する。符号化処理部３００は、コントローラー５００の指示に従って、記録データ１４を作成する。再生処理部４００は、コントローラー５００の指示に従って、再生データ２０を処理する。
【００９７】
符号化処理部３００は、図３０に例示されるように、スクランブル処理部３０１と、ＥＤＣ（Ｅｒｒｏｒ  Ｄｅｔｅｃｔｉｏｎ  Ｃｏｄｅ）符号化部３０２と、ＢＣＨ符号化部３０３と、ＬＤＰＣ符号化部３０４と、第１のインターリーブ部３０５と、ＲＳ（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ）符号化部３１１と、第２のインターリーブ部３１２と、データ合成／ＳＹＮＣデータ付加部３２１と、１７ＰＰ（Ｐａｒｉｔｙ  Ｐｒｅｓｅｒｖｅ／Ｐｒｏｈｉｂｉｔ）変調部３２２と、ＮＲＺＩ（Ｎｏｎ  Ｒｅｔｕｒｎ  ｔｏ  Ｚｅｒｏ  Ｉｎｖｅｒｓｉｏｎ）変換部３２３とを備える。
【００９８】
符号化処理部３００は、コントローラー５００からユーザデータ１０及びデータアドレス１１を入力する。符号化処理部３００は、データアドレス１１を符号化してユーザ符号（Ｕｓｅｒ  Ｃｏｄｅ）データ１２を作成し、データアドレス１１を符号化してＢＩＳ（Ｂｕｒｓｔ  Ｉｎｄｉｃａｔｏｒ  ＳｕｂＣｏｄｅ）データ１３を作成し、ユーザ符号データ１２及びＢＩＳデータ１３に基づいて記録データ１４を作成する。尚、後述されるように、ＢＩＳデータ１３はバースト誤りを検出するために利用される。
【００９９】
スクランブル処理部３０１は、コントローラー５００からユーザデータ１０及びデータアドレス１１を入力する。スクランブル処理部３０１は、データアドレス１１に基づいてユーザデータ１０に対するスクランブル処理を行うことにより、スクランブル処理されたユーザデータを得る。スクランブル処理部３０１は、スクランブル処理されたデータをＥＤＣ符号化部３０２へと出力する。
【０１００】
ＥＤＣ符号化部３０２は、スクランブル処理部３０１からスクランブル処理されたデータを入力する。ＥＤＣ符号化部３０２は、スクランブル処理されたデータにＥＤＣ符号化を行うことにより、ＥＤＣ符号化データを得る。ＥＤＣ符号化部３０２は、ＥＤＣ符号化データをＢＣＨ符号化部３０３へと出力する。
【０１０１】
ＢＣＨ符号化部３０３は、ＥＤＣ符号化部３０２からＥＤＣ符号化データを入力する。ＢＣＨ符号化部３０３は、ＥＤＣ符号化データにＢＣＨ符号化を行うことにより、ＢＣＨ符号化データを得る。ＢＣＨ符号化部３０３は、ＢＣＨ符号化データをＬＤＰＣ符号化部３０４へと出力する。
【０１０２】
ＬＤＰＣ符号化部３０４は、第１の実施形態に係るパリティ検査行列作成方法によって作成されたパリティ検査行列を例えば生成行列に変換された状態で使用する。ＬＤＰＣ符号化部３０４は、ＢＣＨ符号化部３０３からＢＣＨ符号化データを入力する。ＬＤＰＣ符号化部３０４は、ＢＣＨ符号化データに上記パリティ検査行列に基づくＬＤＰＣ符号化を行うことにより、ＬＤＰＣ符号化データを得る。ＬＤＰＣ符号化部３０４は、ＬＤＰＣ符号化データを第１のインターリーブ部３０５へと出力する。
【０１０３】
第１のインターリーブ部３０５は、ＬＤＰＣ符号化部３０４からＬＤＰＣ符号化データを入力する。第１のインターリーブ部３０５は、ＬＤＰＣ符号化データにインターリーブを行うことにより、ユーザ符号データ１２を得る。第１のインターリーブ部３０５は、ユーザ符号データ１２をデータ合成／ＳＹＮＣデータ付加部３２１へと出力する。
【０１０４】
ＲＳ符号化部３１１は、コントローラー５００からデータアドレス１１を入力する。ＲＳ符号化部３１１は、データアドレス１１にＲＳ符号化を行うことにより、ＲＳ符号化データを得る。ＲＳ符号化部３１１は、ＲＳ符号化データを第２のインターリーブ部３１２へと出力する。
【０１０５】
第２のインターリーブ部３１２は、ＲＳ符号化部３１１からＲＳ符号化データを入力する。第２のインターリーブ部３１２は、ＲＳ符号化データにインターリーブを行うことにより、ＢＩＳデータ１３を得る。第２のインターリーブ部３１２は、ＢＩＳデータ１３をデータ合成／ＳＹＮＣデータ付加部３２１へと出力する。
【０１０６】
データ合成／ＳＹＮＣデータ付加部３２１は、第１のインターリーブ部３０５からユーザ符号データ１２を入力し、第２のインターリーブ部３１２からＢＩＳデータ１３を入力する。データ合成／ＳＹＮＣデータ付加部３２１は、ユーザ符号データ１２及びＢＩＳデータ１３を合成し、更にＳＹＮＣデータを付加することにより、合成データを生成する。ＳＹＮＣデータは、対応する合成データの先頭を検出するために利用される。データ合成／ＳＹＮＣデータ付加部３２１は、合成データを１７ＰＰ変調部３２２へと出力する。
【０１０７】
具体的には、データ合成／ＳＹＮＣデータ付加部３２１は、図３１に例示されるフォーマットに従って合成データを生成する。図３１によれば、１単位の合成データにおいて、先頭にＳＹＮＣデータが配置される。ここで、１単位の合成データは、１つの記録フレーム（Ｒｅｃｏｒｄｉｎｇ  Ｆｒａｍｅ）に相当する。ＳＹＮＣデータに続いて、固定長のユーザ符号データ１２とＲＳ符号の１シンボルに相当するＢＩＳデータ１３とが交互に配置される。換言すれば、１単位の合成データにおいて、ユーザ符号データ１２のために４つの固定サイズのフィールドが用意され、隣接するフィールド間にはＲＳ符号の１シンボルに相当するＢＩＳデータが夫々挿入される。
【０１０８】
１７ＰＰ変調部３２２は、データ合成／ＳＹＮＣデータ付加部３２１から合成データを入力する。１７ＰＰ変調部３２２は、光ディスク規格として知られるＢｌｕ−ｒａｙ方式の変調符号である１７ＰＰ変調符号を用いて、合成データにＲＬＬ（Ｒｕｎ  Ｌｅｎｇｔｈ  Ｌｉｍｉｔｅｄ）符号化を行うことにより、ＲＬＬ符号化データを得る。１７ＰＰ変調部３２２は、ＲＬＬ符号化データをＮＲＺＩ変換部３２３へと出力する。
【０１０９】
ＮＲＺＩ変換部３２３は、データ合成／ＳＹＮＣデータ付加部３２１からＲＬＬ符号化データを入力する。ＮＲＺＩ変換部３２３は、ＲＬＬ符号化データにＮＲＺＩ変換を行うことにより、記録データ１４を得る。
【０１１０】
再生処理部４００は、図３２に例示されるように、フィルタ／ＰＬＬ／等化処理部４０１と、ＳＹＮＣ検出部４０２と、ＰＲＭＬ／ＮＲＺ変換／１７ＰＰ復調部４０３と、データ分離部４０４と、第２のデインターリーブ部４１１と、ＲＳ復号部４１２と、第２のデインターリーブ部４１３と、データ比較部４１４と、バースト発生エリア推定部４１５と、バースト信号補正部４２１と、第１のデインターリーブ部４２２と、ＬＤＰＣ復号部４２３と、ＢＣＨ復号部４２４と、ＥＤＣ復号部４２５と、デスクランブル処理部４２６とを備える。  
再生処理部４００は、光記録媒体６００から再生データ２０を入力し、再生データ２０に後述される種々の処理を行って、ユーザデータ２８を復元する。
【０１１１】
フィルタ／ＰＬＬ／等化処理部４０１は、光記録媒体６００から再生データ２０を入力する。フィルタ／ＰＬＬ／等化処理部４０１は、フィルタ処理、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）処理及び等化処理を含む信号処理を行い、等化処理されたデータを得る。フィルタ／ＰＬＬ／等化処理部４０１は、等化処理されたデータをＳＹＮＣ検出部４０２へと出力する。
【０１１２】
ＳＹＮＣ検出部４０２は、等化処理されたデータから例えば図３１のフォーマットに従ってＳＹＮＣデータを検出する。ＳＹＮＣ検出部４０２は、検出したＳＹＮＣデータに基づいてＲｅｃｏｒｄｉｎｇ  Ｆｒａｍｅの同期処理を行う。ＳＹＮＣ検出部４０２は、同期処理されたデータをＰＲＭＬ／ＮＲＺ変換／１７ＰＰ復調部４０３へと出力する。
【０１１３】
ＰＲＭＬ／ＮＲＺ変換／１７ＰＰ復調部４０３は、ＳＹＮＣ検出部４０２から同期処理されたデータを入力する。ＰＲＭＬ／ＮＲＺ変換／１７ＰＰ復調部４０３は、同期処理されたデータにＰＲＭＬ処理、ＮＲＺ変換及び１７ＰＰ復調を行うことにより、符号データ２１を得る。符号データ２１は、ユーザ符号データの対数確率比及びＢＩＳデータの対数確率比に相当する。ＰＲＭＬ／ＮＲＺ変換／１７ＰＰ復調部４０３は、符号データ２１をデータ分離部４０４へと出力する。
【０１１４】
データ分離部４０４は、ＰＲＭＬ／ＮＲＺ変換／１７ＰＰ復調部４０３から符号データ２１を入力する。データ分離部４０４は、符号データ２１を分離することによって、ＢＩＳデータ２２及びユーザ符号データ２７を得る。ＢＩＳデータ２２は、ＢＩＳデータの対数確率比に相当する。ユーザ符号データ２７は、ユーザ符号データの対数確率比に相当する。データ分離部４０４は、ＢＩＳデータ２２を第２のデインターリーブ部４１１及び４１３へと出力する。データ分離部４０４は、ユーザ符号データ２７をバースト信号補正部４２１へと出力する。
【０１１５】
第２のデインターリーブ部４１１は、データ分離部４０４からＢＩＳデータ２２を入力する。第２のデインターリーブ部４１１は、ＢＩＳデータ２２にデインターリーブを行うことにより、デインターリーブされたＢＩＳデータを得る。第２のデインターリーブ部４１１は、デインターリーブされたＢＩＳデータをＲＳ復号部４１２へと出力する。
【０１１６】
ＲＳ復号部４１２は、第２のデインターリーブ部４１１からデインターリーブされたＢＩＳデータを入力する。ＲＳ復号部４１２は、デインターリーブされたＢＩＳデータにＲＳ復号を行うことによって、ＢＩＳデータ２３を得る。尚、ＢＩＳデータ２３は、データアドレス２４に相当する。ＲＳ復号部４１２は、ＢＩＳデータ２３をデータ比較部４１４へと出力する。また、ＲＳ復号部４１２は、データアドレス２４をデスクランブル処理部４２６へと出力する。
【０１１７】
第２のデインターリーブ部４１３は、データ分離部４０４からＢＩＳデータ２２を入力する。第２のデインターリーブ部４１３は、ＢＩＳデータ２２に第２のデインターリーブ部４１１と同一のデインターリーブを行うことにより、デインターリーブされたＢＩＳデータを得る。第２のデインターリーブ部４１３は、デインターリーブされたＢＩＳデータをデータ比較部４１４へと出力する。
【０１１８】
データ比較部４１４は、ＲＳ復号部４１２からＢＩＳデータ２３を入力し、第２のデインターリーブ部４１３からデインターリーブされたＢＩＳデータを入力する。データ比較部４１４は、ＢＩＳデータ２３とデインターリーブされたＢＩＳデータとを比較することによって、デインターリーブされたＢＩＳデータに含まれている誤りを判定する。判定の結果、データ比較部４１４はＢＩＳデータの誤り位置情報２５を得る。ここで、前述のように、ＢＩＳデータ２３は、デインターリーブされたＢＩＳデータにＲＳ復号を行うことによって生成されている。従って、両者を比較すれば、デインターリーブされたＢＩＳデータに含まれている誤りを判定することができる。データ比較部４１４は、ＢＩＳデータの誤り位置情報２５をバースト発生エリア推定部４１５へと出力する。
【０１１９】
バースト発生エリア推定部４１５は、データ比較部４１４からＢＩＳデータの誤り位置情報２５を入力する。バースト発生エリア推定部４１５は、ＢＩＳデータの誤り位置情報２５に基づいてユーザ符号データにおけるバースト誤りの発生エリアを推定することによって、バースト発生エリア情報２６を得る。バースト発生エリア推定部４１５は、バースト発生エリア情報２６をバースト信号補正部４２１へと出力する。尚、バースト発生エリア推定部４１５は、ＢＩＳデータの誤り位置に加えてＳＹＮＣデータの誤りの有無の情報に基づいてユーザ符号データにおけるバースト誤りの発生エリアを推定してもよい。
【０１２０】
例えば図３３に示されるように、第Ａ番目の記録フレームにおいて、ＳＹＮＣデータ（ＳＹＮＣ（Ａ））及び第３番目のＢＩＳデータ（ＢＩＳ（Ａ，３））が正しく、第１番目及び第２番目のＢＩＳデータ（ＢＩＳ（Ａ，１）及びＢＩＳ（Ａ，２））が誤っているとする。ここで、バースト誤りが発生していると仮定すると、第１番目及び第２番目のＢＩＳデータの間に配置された第２番目のユーザ符号データ（Ａ，２）は、誤りである可能性が高い。故に、図３３の例によれば、バースト発生エリア推定部４１５は、第２番目のユーザ符号データをバースト発生エリアと推定する。
【０１２１】
バースト信号補正部４２１は、バースト発生エリア推定部４１５からバースト発生エリア情報２６を入力し、データ分離部４０４からユーザ符号データ２７を入力する。バースト信号補正部４２１は、バースト発生エリア２６に基づいてユーザ符号データ２７におけるバースト発生エリアを特定する。バースト信号補正部４２１は、ユーザ符号データ２７のうちバースト発生エリアに該当するビットの対数確率比を例えば０に補正することによって、補正されたユーザ符号データを得る。対数確率比＝０は、対応するビットが０である確率と１である確率とが等しいことを意味する。係る補正によれば、ＬＤＰＣ復号部４２３によって行われるＬＤＰＣ復号において、バースト発生エリアにおける誤った対数確率比が、バースト発生エリア外に悪影響を及ぼす事態を予防することができる。バースト信号補正部４２１は、補正されたユーザ符号データを第１のデインターリーブ処理部４２２へと出力する。
【０１２２】
第１のデインターリーブ処理部４２２は、バースト信号補正部４２１から補正されたユーザ符号データを入力する。第１のデインターリーブ処理部４２２は、補正されたユーザ符号データにデインターリーブを行うことにより、デインターリーブされたユーザ符号データを得る。第１のデインターリーブ処理部４２２は、デインターリーブされたユーザ符号データをＬＤＰＣ復号部４２３へと出力する。
【０１２３】
ＬＤＰＣ復号部４２３は、第１の実施形態に係るパリティ検査行列作成方法によって作成されたパリティ検査行列を使用する。ＬＤＰＣ復号部４２３は、第１のデインターリーブ処理部４２２からデインターリーブされたユーザ符号データを入力する。ＬＤＰＣ復号部４２３は、デインターリーブされたユーザ符号データに上記パリティ検査行列に基づくＬＤＰＣ復号を行うことによって、ＬＤＰＣ復号データを得る。ＬＤＰＣ復号部４２３は、ＬＤＰＣ復号データをＢＣＨ復号部４２４へと出力する。
【０１２４】
ＢＣＨ復号部４２４は、ＬＤＰＣ復号部４２３からＬＤＰＣ復号データを入力する。ＢＣＨ復号部４２４は、ＬＤＰＣ復号データにＢＣＨ復号を行うことによって、ＢＣＨ復号データを得る。ＢＣＨ復号部４２４は、ＢＣＨ復号データをＥＤＣ復号部４２５へと出力する。
【０１２５】
ＥＤＣ復号部４２５は、ＢＣＨ復号部４２４からＢＣＨ復号データを入力する。ＢＣＨ復号部４２５は、ＢＣＨ復号データにＥＤＣ復号を行うことによって、ＥＤＣ復号データを得る。ＥＤＣ復号部４２５は、ＥＤＣ復号データをデスクランブル処理部４２６へと出力する。
【０１２６】
デスクランブル処理部４２６は、ＲＳ復号部４１２からデータアドレス２４を入力し、ＥＤＣ復号部４２５からＥＤＣ復号データを入力する。デスクランブル処理部４２６は、データアドレス２４に基づいてＥＤＣ復号データにデスクランブル処理を行うことによって、ユーザデータ２８を得る。デスクランブル処理部４２６は、ユーザデータ２８をコントローラー５００へと出力する。
【０１２７】
以上説明したように、第２の実施形態に係る記録再生装置は、第１の実施形態に係るパリティ検査行列作成方法によって作成されたパリティ検査行列に基づいてＬＤＰＣ符号化及びＬＤＰＣ復号を行う。従って、この記録再生装置によれば、バースト誤りが発生した場合にもデータを安定的に再生することができる。
【０１２８】
上記各実施形態の処理は、汎用のコンピュータを基本ハードウェアとして用いることで実現可能である。上記各実施形態の処理を実現するプログラムは、コンピュータで読み取り可能な記憶媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記憶媒体に記憶される。記憶媒体としては、磁気ディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリなどである。記憶媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記各実施形態の処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ（サーバ）上に格納し、ネットワーク経由でコンピュータ（クライアント）にダウンロードさせてもよい。
【０１２９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１３０】
１０，２８・・・ユーザデータ
１１，２４・・・データアドレス
１２，２７・・・ユーザ符号データ
１３，２２，２３・・・ＢＩＳデータ
１４・・・記録データ
２０・・・再生データ
２１・・・符号データ
２５・・・ＢＩＳデータの誤り位置情報
２６・・・バースト発生エリア情報
３００・・・符号化処理部
３０１・・・スクランブル処理部
３０２・・・ＥＤＣ符号化部
３０３・・・ＢＣＨ符号化部
３０４・・・ＬＤＰＣ符号化部
３０５・・・第１のインターリーブ部
３１１・・・ＲＳ符号化部
３１２・・・第２のインターリーブ部
３２１・・・データ合成／ＳＹＮＣデータ付加部
３２２・・・１７ＰＰ変調部
３２３・・・ＮＲＺＩ変換部
４００・・・再生処理部
４０１・・・フィルタ／ＰＬＬ／等化処理部
４０２・・・ＳＹＮＣ検出部
４０３・・・ＰＲＭＬ／ＮＲＺ変換／１７ＰＰ復調部
４０４・・・データ分離部
４１１，４１３・・・第２のデインターリーブ部
４１２・・・ＲＳ復号部
４１４・・・データ比較部
４１４・・・バースト発生エリア推定部
４２１・・・バースト信号補正部
４２２・・・第１のデインターリーブ部
４２３・・・ＬＤＰＣ復号部
４２４・・・ＢＣＨ復号部
４２５・・・ＥＤＣ復号部
４２６・・・デスクランブル処理部
５００・・・コントローラー
６００・・・光記録媒体
【図１】
2013136523.tif 000013
【図２】
2013136523.tif 000014
【図３】
2013136523.tif 000015
【図４】
2013136523.tif 000016
【図５】
2013136523.tif 000017
【図６】
2013136523.tif 000018
【図７】
2013136523.tif 000019
【図８】
2013136523.tif 000020
【図９】
2013136523.tif 000021
【図１０】
2013136523.tif 000022
【図１１】
2013136523.tif 000023
【図１２】
2013136523.tif 000024
【図１３】
2013136523.tif 000025
【図１４】
2013136523.tif 000026
【図１５】
2013136523.tif 000027
【図１６】
2013136523.tif 000028
【図１７】
2013136523.tif 000029
【図１８】
2013136523.tif 000030
【図１９】
2013136523.tif 000031
【図２０】
2013136523.tif 000032
【図２１】
2013136523.tif 000033
【図２２Ａ】
2013136523.tif 000034
【図２２Ｂ】
2013136523.tif 000035
【図２２Ｃ】
2013136523.tif 000036
【図２３Ａ】
2013136523.tif 000037
【図２３Ｂ】
2013136523.tif 000038
【図２３Ｃ】
2013136523.tif 000039
【図２４Ａ】
2013136523.tif 000040
【図２４Ｂ】
2013136523.tif 000041
【図２４Ｃ】
2013136523.tif 000042
【図２４Ｄ】
2013136523.tif 000043
【図２４Ｅ】
2013136523.tif 000044
【図２４Ｆ】
2013136523.tif 000045
【図２５Ａ】
2013136523.tif 000046
【図２５Ｂ】
2013136523.tif 000047
【図２５Ｃ】
2013136523.tif 000048
【図２５Ｄ】
2013136523.tif 000049
【図２５Ｅ】
2013136523.tif 000050
【図２５Ｆ】
2013136523.tif 000051
【図２６Ａ】
2013136523.tif 000052
【図２６Ｂ】
2013136523.tif 000053
【図２６Ｃ】
2013136523.tif 000054
【図２６Ｄ】
2013136523.tif 000055
【図２６Ｅ】
2013136523.tif 000056
【図２６Ｆ】
2013136523.tif 000057
【図２６Ｇ】
2013136523.tif 000058
【図２６Ｈ】
2013136523.tif 000059
【図２６Ｉ】
2013136523.tif 000060
【図２６Ｊ】
2013136523.tif 000061
【図２６Ｋ】
2013136523.tif 000062
【図２７Ａ】
2013136523.tif 000063
【図２７Ｂ】
2013136523.tif 000064
【図２７Ｃ】
2013136523.tif 000065
【図２７Ｄ】
2013136523.tif 000066
【図２７Ｅ】
2013136523.tif 000067
【図２７Ｆ】
2013136523.tif 000068
【図２７Ｇ】
2013136523.tif 000069
【図２７Ｈ】
2013136523.tif 000070
【図２７Ｉ】
2013136523.tif 000071
【図２７Ｊ】
2013136523.tif 000072
【図２７Ｋ】
2013136523.tif 000073
【図２８】
2013136523.tif 000074
【図２９】
2013136523.tif 000075
【図３０】
2013136523.tif 000076
【図３１】
2013136523.tif 000077
【図３２】
2013136523.tif 000078
【図３３】
2013136523.tif 000079
【図３４】
2013136523.tif 000080
【国際調査報告】
2013136523.tif 000081
2013136523.tif 000082
2013136523.tif 000083