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