(57)【特許請求の範囲】
【請求項１】
情報ビット列に符号化を行うことによって、パリティ検査行列に対応する符号語を生成する符号化部を具備し、
前記パリティ検査行列は、空間結合行列に複製置換操作を施すことによって得られる行列に一致し、
前記空間結合行列において、複数の展開行列を行方向に結合した行列が対角方向に複数個配列され、
前記複数の展開行列の総和は、基本行列に一致し、
前記基本行列は、ｎ個（ｎは１以上の整数）の第１のタイプの検査ノードと、ｎ個の第２のタイプの検査ノードと、ｎ個の第１のタイプの変数ノードと、ｎ個の第２のタイプの変数ノードと、ｎ個の第３のタイプの変数ノードと、ｎ本以上の第１のタイプの枝と、２ｎ本以上の第２のタイプの枝と、ｒｎ本（ｒは３以上の整数）の第３のタイプの枝と、ｇｎ本（ｇは２以上の整数）の第４のタイプの枝とを含むプロトグラフに対応し、
前記プロトグラフにおいて、前記ｎ個の第１のタイプの検査ノードの各々は、前記ｎ個の第１のタイプの変数ノードと合計１本以上の前記第１のタイプの枝によって接続され、前記ｎ個の第２のタイプの変数ノードと合計２本以上の前記第２のタイプの枝によって接続され、
前記プロトグラフにおいて、前記ｎ個の第２のタイプの検査ノードの各々は、前記ｎ個の第２のタイプの変数ノードと合計ｒ本の前記第３のタイプの枝によって接続され、前記ｎ個の第３のタイプの変数ノードと合計ｇ本の前記第４のタイプの枝によって接続され、
前記プロトグラフにおいて、前記ｎ個の第１のタイプの変数ノードの各々は、前記ｎ個の第１のタイプの検査ノードと合計１本以上の前記第１のタイプの枝によって接続され、
前記プロトグラフにおいて、前記ｎ個の第２のタイプの変数ノードの各々は、前記ｎ個の第１のタイプの検査ノードと合計２本以上の前記第２のタイプの枝によって接続され、前記ｎ個の第２のタイプの検査ノードと合計ｒ本の前記第３のタイプの枝によって接続され、
前記プロトグラフにおいて、前記ｎ個の第３のタイプの変数ノードの各々は、前記ｎ個の第２のタイプの検査ノードと合計ｇ本の前記第４のタイプの枝によって接続される、
符号化装置。
【請求項２】
前記プロトグラフは、ｎ個の第ｉ＋１（ｉは２以上ｋ以下の全ての整数を意味し、ｋは２以上のいずれかの整数を意味する）のタイプの検査ノードと、ｎ個の第ｉ＋２のタイプの変数ノードと、ｒｎ本の第２ｉ＋１のタイプの枝と、ｇｎ本の第２ｉ＋２のタイプの枝とを更に含み、
前記プロトグラフにおいて、前記ｎ個の第ｉ＋１のタイプの検査ノードの各々は、前記ｎ個の第２のタイプの変数ノードと合計ｒ本の前記第２ｉ＋１のタイプの枝によって接続され、前記ｎ個の第ｉ＋２のタイプの変数ノードと合計ｇ本の前記第２ｉ＋２のタイプの枝によって接続され、
前記プロトグラフにおいて、前記ｎ個の第ｉ＋２のタイプの変数ノードの各々は、前記ｎ個の第ｉ＋１のタイプの検査ノードと合計ｇ本の前記第２ｉ＋２のタイプの枝によって接続され、
前記プロトグラフにおいて、前記ｎ個の第２のタイプの変数ノードの各々は、更に、前記ｎ個の第ｉ＋１のタイプの検査ノードと合計ｒ本の前記第２ｉ＋１のタイプの枝によって接続される、
請求項１の符号化装置。
【請求項３】
前記プロトグラフは、ｎ個の第ｉ＋３（ｉは１以上ｅ以下の全ての整数を意味し、ｅは１以上のいずれかの整数を意味する）のタイプの変数ノードと、ｒｎ本の第ｉ＋４のタイプの枝とを更に含み、
前記プロトグラフにおいて、前記ｎ個の第ｉ＋３のタイプの変数ノードの各々は、前記ｎ個の第２のタイプの検査ノードと合計ｒ本の前記第ｉ＋４のタイプの枝によって接続され、
前記プロトグラフにおいて、前記ｎ個の第２のタイプの検査ノードの各々は、更に、前記ｎ個の第ｉ＋３のタイプの変数ノードと合計ｒ本の前記ｉ＋４のタイプの枝によって接続される、
請求項１の符号化装置。
【請求項４】
ｒ＝３かつｇ＝２である、請求項１の符号化装置。
【請求項５】
前記プロトグラフにおいて、前記ｎ個の第１のタイプの検査ノードの各々は、前記ｎ個の第１のタイプの変数ノードと合計１本の前記第１のタイプの枝によって接続され、前記ｎ個の第２のタイプの変数ノードと合計２本の前記第２のタイプの枝によって接続され、
前記プロトグラフにおいて、前記ｎ個の第１のタイプの変数ノードの各々は、前記ｎ個の第１のタイプの検査ノードと合計１本の前記第１のタイプの枝によって接続され、
前記プロトグラフにおいて、前記ｎ個の第２のタイプの変数ノードの各々は、前記ｎ個の第１のタイプの検査ノードと合計２本の前記第２のタイプの枝によって接続される、
請求項１の符号化装置。
【請求項６】
情報ビット列に符号化を行うことによって、パリティ検査行列に対応する符号語を生成する符号化部を具備し、
前記パリティ検査行列は、空間結合行列に複製置換操作を施すことによって得られる行列に一致し、
前記空間結合行列において、複数の展開行列を行方向に結合した行列が対角方向に複数個配列され、
前記複数の展開行列の総和は、基本行列に一致し、
前記基本行列は、第１のタイプの検査ノードと、第２のタイプの検査ノードと、第１のタイプの変数ノードと、第２のタイプの変数ノードと、第３のタイプの変数ノードと、１本以上の第１のタイプの枝と、２本以上の第２のタイプの枝と、ｒ本（ｒは３以上の整数）の第３のタイプの枝と、ｇ本（ｇは２以上の整数）の第４のタイプの枝とを含むプロトグラフに対応し、
前記プロトグラフにおいて、前記第１のタイプの検査ノードは、前記第１のタイプの変数ノードと前記１本以上の第１のタイプの枝によって接続され、前記第２のタイプの変数ノードと前記２本以上の第２のタイプの枝によって接続され、
前記プロトグラフにおいて、前記第２のタイプの検査ノードは、前記第２のタイプの変数ノードと前記ｒ本の第３のタイプの枝によって接続され、前記第３のタイプの変数ノードと前記ｇ本の第４のタイプの枝によって接続される、
符号化装置。
【請求項７】
前記複数の展開行列は、第１の展開行列及び第２の展開行列を含み、
前記基本行列に対応するプロトグラフは、前記第１の展開行列に対応する第１の部分プロトグラフと、前記第２の展開行列に対応する第２の部分プロトグラフとの和に一致し、
前記第１の部分プロトグラフにおいて、前記第２のタイプの検査ノードは、前記第２のタイプの変数ノードと１本の前記第３のタイプの枝によって接続され、前記第３のタイプの変数ノードと１本の前記第４のタイプの枝によって接続され、
前記第２の部分プロトグラフにおいて、前記第１のタイプの検査ノードは、前記第１のタイプの変数ノードと前記１本以上の第１のタイプの枝によって接続され、前記第２のタイプの変数ノードと前記２本以上の第２のタイプの枝によって接続され、
前記第２の部分プロトグラフにおいて、前記第２のタイプの検査ノードは、前記第２のタイプの変数ノードとｒ−１本の前記第３のタイプの枝によって接続され、前記第３のタイプの変数ノードとｇ−１本の前記第４のタイプの枝によって接続される、
請求項６の符号化装置。
【請求項８】
請求項１の符号化装置と、
前記符号語を変調し、変調信号を得る変調部と、
前記変調信号をデジタル−アナログ変換し、ベースバンド送信信号を得るデジタルアナログ変換部と、
前記ベースバンド送信信号をアップコンバートし、ＲＦ送信信号を得る周波数変換部と
を具備する通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、誤り訂正符号化に関する。
【背景技術】
【０００２】
空間結合ＬＤＰＣ符号は、ＬＤＰＣ畳み込み符号の構成法に基づいて開発された。具体的には、空間結合ＬＤＰＣ符号は、空間結合プロトグラフによって定義される。空間結合プロトグラフは、複数のレギュラーＬＤＰＣ符号のプロトグラフを連結することによって形成される。空間結合ＬＤＰＣ符号の繰り返し復号時（即ち、ＢＰ（Ｂｅｌｉｅｆ  Ｐｒｏｐａｇａｔｉｏｎ）復号時）の性能限界は、対応する空間結合プロトグラフを形成するレギュラーＬＤＰＣ符号の最尤復号性能に到達する。ここで、レギュラーＬＤＰＣ符号の最尤復号性能は、対応する検査ノードの次数（即ち、対応するパリティ検査行列の行重み）が大きく設定されるほどシャノン限界（即ち、理論限界）に漸近する。即ち、検査ノードの次数が非常に大きく設定されたレギュラーＬＤＰＣ符号に基づく空間結合ＬＤＰＣ符号の繰り返し復号性能は、シャノン限界に漸近できる。反面、繰り返し復号において１試行あたりの計算量は、一般に検査ノードの次数に比例する。故に、空間ＬＤＰＣ符号の繰り返し復号性能をシャノン限界に漸近させると、計算量が非常に大きくなる。
【０００３】
また、ＭａｃＫａｙ−Ｎｅａｌ（ＭＮ）符号及びＨｓｕ−Ａｎａｓｔａｓｏｐｏｕｌｏｓ（ＨＡ）符号は、その最尤復号性能がシャノン限界に漸近すると予想されている。これらＭＮ符及びＨＡ符号に基づく空間結合ＭＮ符号及び空間結合ＨＡ符号について、２元消失通信路上での繰り返し復号性能がシャノン限界に漸近することが数値計算を通じて確認されている。ここで、ＭＮ符号及びＨＡ符号の検査ノードの次数は定数で与えられる。この定数は、レギュラーＬＤＰＣ符号の最尤復号性能をシャノン限界に漸近させる場合に設定される検査ノードの次数に比べて小さい。故に、空間結合ＭＮ符号及び空間結合ＨＡ符号によれば、前述のレギュラーＬＤＰＣ符号に基づく空間結合ＬＤＰＣ符号に比べて、繰り返し復号性能をシャノン限界に漸近させた場合の計算量を小さくすることができる。但し、空間結合ＭＮ符号及び空間ＨＡ符号はいずれも非組織符号であるから、復号処理を経由しなければ符号語ビット列から情報ビット列を取り出すことができない。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｓ．  Ｋｕｄｅｋａｒ，  Ｔ．  Ｒｉｃｈａｒｄｓｏｎ，  ａｎｄ  Ｒ．  Ｕｒｂａｎｋｅ，  “Ｔｈｒｅｓｈｏｌｄ  ｓａｔｕｒａｔｉｏｎ  ｖｉａ  ｓｐａｔｉａｌ  ｃｏｕｐｌｉｎｇ：  Ｗｈｙ  ｃｏｎｖｅｎｔｉｏｎａｌ  ＬＤＰＣ  ｅｎｓｅｍｂｌｅｓ  ｐｅｒｆｏｒｍ  ｓｏ  ｗｅｌｌ  ｏｖｅｒ  ｔｈｅ  ＢＥＣ，”  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，  ｖｏｌ．  ５７，  ｐｐ．  ８０３−８３４，  Ｆｅｂｒｕａｒｙ  ２０１１．
【非特許文献２】Ｋ．  Ｋａｓａｉ  ａｎｄ  K．  Ｓａｋａｎｉｗａ，  “Ｓｐａｔｉａｌｌｙ−Ｃｏｕｐｌｅｄ  ＭａｃＫａｙ−Ｎｅａｌ  Ｃｏｄｅｓ  ａｎｄ  Ｈｓｕ−Ａｎａｓｔａｓｏｐｏｕｌｏｓ  Ｃｏｄｅｓ，”  ｉｎ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ  （ＩＳＩＴ），  Ａｕｇｕｓｔ  ２０１１，  Ｓａｉｎｔ−Ｐｅｔｅｒｓｂｕｒｇ，  Ｒｕｓｓｉａ．
【非特許文献３】Ｊ．  Ｔｈｏｒｐｅ，  ”Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ  （ＬＤＰＣ）  Ｃｏｄｅｓ  Ｃｏｎｓｔｒｕｃｔｅｄ  ｆｒｏｍ  Ｐｒｏｔｏｇｒａｐｈｓ，”  ＪＰＬ  ＩＰＮ  Ｐｒｏｇｒｅｓｓ  Ｒｅｐｏｒｔ  ４２−１５４，  Ａｕｇｕｓｔ  ２００３．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
実施形態は、組織符号においてシャノン限界に近い繰り返し復号性能を達成することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態によれば、符号化装置は、符号化部を具備する。符号化部は、情報ビット列に符号化を行うことによって、パリティ検査行列に対応する符号語を生成する。パリティ検査行列は、空間結合行列に複製置換操作を施すことによって得られる行列に一致する。空間結合行列において、複数の展開行列を行方向に結合した行列が対角方向に複数個配列される。複数の展開行列の総和は、基本行列に一致する。基本行列は、ｎ個（ｎは１以上の整数）の第１のタイプの検査ノードと、ｎ個の第２のタイプの検査ノードと、ｎ個の第１のタイプの変数ノードと、ｎ個の第２のタイプの変数ノードと、ｎ個の第３のタイプの変数ノードと、ｎ本以上の第１のタイプの枝と、２ｎ本以上の第２のタイプの枝と、ｒｎ本（ｒは３以上の整数）の第３のタイプの枝と、ｇｎ本（ｇは２以上の整数）の第４のタイプの枝とを含むプロトグラフに対応する。プロトグラフにおいて、ｎ個の第１のタイプの検査ノードの各々は、ｎ個の第１のタイプの変数ノードと合計１本以上の第１のタイプの枝によって接続され、ｎ個の第２のタイプの変数ノードと合計２本以上の第２のタイプの枝によって接続される。プロトグラフにおいて、ｎ個の第２のタイプの検査ノードの各々は、ｎ個の第２のタイプの変数ノードと合計ｒ本の第３のタイプの枝によって接続され、ｎ個の第３のタイプの変数ノードと合計ｇ本の第４のタイプの枝によって接続される。プロトグラフにおいて、ｎ個の第１のタイプの変数ノードの各々は、ｎ個の第１のタイプの検査ノードと合計１本以上の第１のタイプの枝によって接続される。プロトグラフにおいて、ｎ個の第２のタイプの変数ノードの各々は、ｎ個の第１のタイプの検査ノードと合計２本以上の第２のタイプの枝によって接続され、ｎ個の第２のタイプの検査ノードと合計ｒ本の第３のタイプの枝によって接続される。プロトグラフにおいて、ｎ個の第３のタイプの変数ノードの各々は、ｎ個の第２のタイプの検査ノードと合計ｇ本の第４のタイプの枝によって接続される。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る符号化装置を例示するブロック図。
【図２】プロトグラフ及び基本行列の説明図。
【図３】複製置換操作の説明図。
【図４】プロトグラフを例示する図。
【図５】プロトグラフを例示する図。
【図６】プロトグラフを例示する図。
【図７】第２の実施形態に係る記憶装置を例示するブロック図。
【図８】第３の実施形態に係る通信装置を例示するブロック図。
【図９】第３の実施形態に係る通信装置を例示するブロック図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら実施形態の説明が述べられる。尚、以降、説明済みの要素と同一または類似の要素には同一または類似の符号が付され、重複する説明は基本的に省略される。パリティ検査行列の性質は、当該パリティ検査行列に行基本変形及び列基本変形が施されても変化しない。従って、以降の説明において、第１のパリティ検査行列に対して行基本変形及び列基本変形の少なくとも一方を任意に施すことによって導出可能な第２のパリティ検査行列は、第１のパリティ検査行列と同一とみなされる。
【０００９】
（第１の実施形態）  
第１の実施形態に係る符号化装置及び復号装置は、誤り訂正符号化及び誤り訂正復号をそれぞれ行う。これら符号化装置及び復号装置は、例えば記憶システム、通信システムなどに組み込まれる。具体的には、これら符号化装置及び復号装置は、不揮発性半導体記憶システム、通信システム、光記録システム、磁気記録システムなど、誤り訂正符号を利用可能なあらゆるシステムに適用されてよい。
【００１０】
本実施形態における誤り訂正符号は、例えば、いわゆる空間結合ＬＤＰＣ符号である。空間結合ＬＤＰＣ符号は、パリティ検査行列によって定義される可変長ＬＤＰＣ符号である。このパリティ検査行列は、一般的にはプロトグラフ（即ち、２部グラフ）或いはその行列表現である基本行列（＝Ｂ）を用いて定義される。本実施形態に係る符号化装置は、パリティ検査行列に対応する符号語を生成する。パリティ検査行列に対応する符号語とは、当該パリティ検査行列との積が零ベクトルとなる符号語を意味する。
【００１１】
基本行列は、ｍｐ行×ｎｐ列の非零行列である。基本行列は、（１＋ｄ）個の展開行列（＝Ｂ０，・・・，Ｂｄ）へと展開されて使用される。ここで、ｄは１以上の整数である。尚、Ｂ０及びＢｄは非零行列であるが、これら以外のＢ１，・・・，Ｂｄ−１の一部または全部は零行列であってもよい。基本行列は、下記数式（１）に示されるように、（１＋ｄ）個の展開行列の総和に等しい。換言すれば、（１＋ｄ）個の展開行列の各々は、基本行列に対応するプロトグラフを分解した部分プロトグラフに対応する。
【数１】
0005696068.tif 000002
【００１２】
そして、（１＋ｄ）個の展開行列を行方向に結合した（１＋ｄ）ｍｐ行×ｎｐ列の非零行列を対角方向にＬ個配列することによって、下記数式（２）に示されるように、空間結合行列Ｂ［１，Ｌ］を導出できる。この対角方向に配列されたＬ個の非零行列は、帯行列と呼ぶこともできる。ここで、Ｌは空間結合ＬＰＤＣ符号の符号語長を決定するパラメータである。Ｌは２以上の整数である。尚、以降の説明において、行列またはベクトルの要素として「０」が記載されている場合に、この「０」は単なる零を意味することもあるし、零行列または零ベクトルを意味することもある。
【数２】
0005696068.tif 000003
【００１３】
数式（２）に示される空間結合行列（＝Ｂ［１，Ｌ］）に対して後述される複製置換操作を施すことによって、空間結合ＬＤＰＣ符号のパリティ検査行列が導出できる。尚、基本行列及びその展開行列はプロトグラフの行列表現であるから、Ｂ［１，Ｌ］はプロトグラフを空間結合したもの（空間結合プロトグラフとも呼ばれる）の行列表現として扱うことができる。また、プロトグラフに基づくパリティ検査行列によって定義されるＬＤＰＣ符号は、プロトグラフＬＤＰＣ符号と呼ばれる。空間結合ＬＤＰＣ符号は、プロトグラフＬＰＤＣ符号の一種として扱うことができる。
【００１４】
前述のように、基本行列は、プロトグラフの行列表現である。具体的には、図２に示されるように、基本行列の行インデックスは検査ノードのタイプを特定し、列インデックスは変数ノードのタイプを特定し、各要素はその行インデックス及び列インデックスによって特定されるタイプの検査ノード及び変数ノードの間を接続する枝の本数を特定する。また、要素が非零である場合には、当該非零要素について枝のタイプを定めることができる。図２の例では、第１行第１列の要素が２であることから、第１のタイプ（行インデックス＝１）の検査ノード（＝Ｃ０）及び第１のタイプ（列インデックス＝１）の変数ノード（＝Ｖ０）が２本の第１のタイプの枝によって接続される。また、第１行第２列の要素が１であることから、第１のタイプの検査ノード（＝Ｃ０）及び第２のタイプ（列インデックス＝２）の変数ノード（＝Ｖ１）が１本の第２のタイプの枝によって接続される。
【００１５】
複製置換操作の詳細は非特許文献３に記述されているが、複製置換操作の概略が以下に説明される。基本行列（或いはプロトグラフ）の複製置換操作は、図３に例示されるように、基本行列をＺ個（図３の例では４個）複製する操作と、複製されたＺ個の基本行列において枝の接続を置換する操作とを含む。Ｚは、複製数を表すパラメータであり、２以上の整数である。置換操作は、プロトグラフの構造を維持した状態で行う必要がある。具体的には、各検査ノード及び各変数ノードに接続される枝の本数は、置換操作の前後を通じて一致する必要がある。換言すれば、置換操作の前後を通じて、各枝が接続する検査ノードのタイプ及び変数ノードのタイプは一致する必要がある。
【００１６】
図３の例であれば、下記の構造が置換操作の前後を通じて維持されている。（１）第１のタイプ（行インデックス＝１，２，３，４）の検査ノードのうち任意の１つと、第１のタイプ（列インデックス＝１，２，３，４）の変数ノードとの間は合計２本の枝によって接続される。（２）第１のタイプの検査ノードのうち任意の１つと、第２のタイプ（列インデックス＝５，６，７，８）の変数ノードとの間は合計１本の枝によって接続される。（３）第１のタイプの変数ノードのうち任意の１つと、第１のタイプの検査ノードとの間は合計２本の枝によって接続される。（４）第２のタイプの変数ノードのうち任意の１つと、第１のタイプの検査ノードとの間は合計１本の枝によって接続される。
【００１７】
尚、複製置換操作における置換操作として巡回置換操作を行うことによって、Ｑｕａｓｉ−Ｃｙｃｌｉｃ  ＬＤＰＣ符号を構成することができる。Ｑｕａｓｉ−Ｃｙｃｌｉｃ  ＬＤＰＣ符号は、実装が比較的容易である。
【００１８】
前述のように、空間結合ＬＤＰＣ符号において、基本行列（＝Ｂ）に基づく空間結合行列（＝Ｂ［１，Ｌ］）が複製置換操作の対象である。以下、基本行列について説明される。
【００１９】
本実施形態において用いられる基本行列は、例えば下記数式（３）に示されるものである。或いは、数式（３）に示される行列に対して複製置換操作を施すことによって、基本行列を導出してもよい。係る場合には、後述されるように、同タイプの検査ノード、変数ノード及び枝が複製数に応じて増大する。例えば、複製数をｎ（ｎ＝１（複製置換操作せず），２，・・・）として一般化すれば、同タイプの検査ノード、変数ノード及び枝の数がｎ倍になる。
【数３】
0005696068.tif 000004
【００２０】
数式（３）において、ｋ，ｒ，ｇ，ｅは設定可能なパラメータを表す。ｋは、１以上の整数である。ｒは３以上の整数である。ｇは２以上の整数である。ｅは０以上の整数である。尚、数式（３）に示される基本行列において、第１行第１列の要素「１」ならびに第１行第２＋ｅ列の要素「２」は例示であり、いずれもより大きな整数に置き換えられてよい。但し、符号化に必要な計算量を抑える観点では、基本行列の各要素は小さいことが好ましい。
【００２１】
上記数式（３）における行列Ｅは、下記数式（４）に示されるように、ｋ行×ｅ列の行列である。行列Ｅの要素は全てｒである。尚、ｅ＝０の場合には、行列Ｅは存在しない。
【数４】
0005696068.tif 000005
【００２２】
上記数式（３）における行列Ａは、下記数式（５）に示されるように、ｋ行×１列の行列（即ち、縦ベクトル）である。行列Ａの要素は全てｒである。  
【数５】
0005696068.tif 000006
【００２３】
上記数式（３）における行列Ｄは、下記数式（６）に示されるように、ｋ行×ｋ列の正方行列である。行列Ｄは、対角要素が全てｇであって、非対角要素が全て零である。  
【数６】
0005696068.tif 000007
【００２４】
上記数式（３）の基本行列（＝Ｂ）のうち左から第１列，・・・，第１＋ｅ列は情報ビットに対応する。この基本行列のうち左から第２＋ｅ列，・・・，第２＋ｅ＋ｋ列はパリティビットに対応する。尚、この基本行列のうち左から第２＋ｅ列は、複製置換操作によって得られるパリティ検査行列においてパンクチャビットに対応する。後述されるように、パンクチャビットは外部（例えば、通信路、記憶媒体など）へ供給されない。従って、この基本行列に基づくプロトグラフＬＤＰＣ符号の符号化率は、下記数式（７）で表すことができる。
【数７】
0005696068.tif 000008
【００２５】
前述のように、上記数式（３）においてｋ，ｒ，ｇ，ｅは設定可能なパラメータである。これらに様々な値を与えることによって、所望の基本行列を設計することができる。例えば、ｋ＝１，ｒ＝３，ｇ＝２，ｅ＝０の場合には、下記数式（８）に示される基本行列を得ることができる。
【数８】
0005696068.tif 000009
【００２６】
数式（８）の基本行列に対応するプロトグラフが図４に示される。この基本行列の第１行第１列は、第１のタイプ（行インデックス＝１）の検査ノードＣＴ１−１と第１のタイプ（列インデックス＝１）の変数ノードＶＴ１−１との間が１本の第１のタイプの枝ＥＴ１−１で接続されることを示す。第１行第２列は、第１のタイプの検査ノードＣＴ１−１と第２のタイプ（列インデックス＝２）の変数ノードＶＴ１−２との間が２本の第２のタイプの枝ＥＴ１−２で接続されることを示す。第２行第２列は、第２のタイプ（行インデックス＝２）の検査ノードＣＴ１−２と第２のタイプの変数ノードＶＴ１−２との間が３（＝ｒ）本の第３のタイプの枝ＥＴ１−３で接続されることを示す。第２行第３列は、第２のタイプの検査ノードＣＴ１−２と第３のタイプ（列インデックス＝３）の変数ノードＶＴ１−３との間が２（＝ｇ）本の第４のタイプの枝ＥＴ１−４で接続されることを示す。
【００２７】
また、ｋ＝２，ｒ＝３，ｇ＝２，ｅ＝０の場合には、下記数式（９）に示される基本行列を得ることができる。
【数９】
0005696068.tif 000010
【００２８】
数式（９）の基本行列に対応するプロトグラフが図５に示される。この基本行列の第１行第１列は、第１のタイプ（行インデックス＝１）の検査ノードＣＴ２−１と第１のタイプ（列インデックス＝１）の変数ノードＶＴ２−１との間が１本の第１のタイプの枝ＥＴ２−１で接続されることを示す。第１行第２列は、第１のタイプの検査ノードＣＴ２−１と第２のタイプ（列インデックス＝２）の変数ノードＶＴ２−２との間が２本の第２のタイプの枝ＥＴ２−２で接続されることを示す。第２行第２列は、第２のタイプ（行インデックス＝２）の検査ノードＣＴ２−２と第２のタイプの変数ノードＶＴ２−２との間が３（＝ｒ）本の第３のタイプの枝ＥＴ２−３で接続されることを示す。第２行第３列は、第２のタイプの検査ノードＣＴ２−２と第３のタイプ（列インデックス＝３）の変数ノードＶＴ２−３との間が２（＝ｇ）本の第４のタイプの枝ＥＴ２−４で接続されることを示す。第３行第２列は、第３のタイプ（行インデックス＝３）の検査ノードＣＴ２−３と第２のタイプの変数ノードＶＴ２−２との間が３（＝ｒ）本の第５のタイプの枝ＥＴ２−５で接続されることを示す。第３行第４列は、第３のタイプの検査ノードＣＴ２−３と第４のタイプ（列インデックス＝４）の変数ノードＶＴ２−４との間が２（＝ｇ）本の第６のタイプの枝ＥＴ２−６で接続されることを示す。
【００２９】
また、ｋ＝１，ｒ＝３，ｇ＝２，ｅ＝１の場合には、下記数式（１０）に示される基本行列を得ることができる。
【数１０】
0005696068.tif 000011
【００３０】
数式（１０）の基本行列に対応するプロトグラフが図６に示される。この基本行列の第１行第１列は、第１のタイプ（行インデックス＝１）の検査ノードＣＴ３−１と第１のタイプ（列インデックス＝１）の変数ノードＶＴ３−１との間が１本の第１のタイプの枝ＥＴ３−１で接続されることを示す。第１行第３列は、第１のタイプの検査ノードＣＴ３−１と第２のタイプ（列インデックス＝３）の変数ノードＶＴ３−２との間が２本の第２のタイプの枝ＥＴ３−２で接続されることを示す。第２行第２列は、第２のタイプ（行インデックス＝２）の検査ノードＣＴ３−２と第４のタイプ（列インデックス＝２）の変数ノードＶＴ３−４との間が３（＝ｒ）本の第５のタイプの枝ＥＴ３−５で接続されることを示す。第２行第３列は、第２のタイプの検査ノードＣＴ３−２と第２のタイプの変数ノードＶＴ３−２との間が３（＝ｒ）本の第３のタイプの枝ＥＴ３−３で接続されることを示す。第２行第４列は、第２のタイプの検査ノードＣＴ３−２と第３のタイプ（列インデックス＝４）の変数ノードＶＴ３−３との間が２（＝ｇ）本の第４のタイプの枝ＥＴ３−４で接続されることを示す。
【００３１】
以上のように設計された基本行列（＝Ｂ）は、（１＋ｄ）個の展開行列（＝Ｂ０，・・・，Ｂｉ）へと展開される。以降の説明では、ｄ＝１の場合の展開例が示されるが、基本行列は任意の技法によって（１＋ｄ）個の展開行列へと展開されてよい。上記数式（３）より、ｄ＝１の場合には下記数式（１１）が成立する。
【数１１】
0005696068.tif 000012
【００３２】
本例において、Ｂ１は下記数式（１２）に示される展開行列とすることができる。  
【数１２】
0005696068.tif 000013
【００３３】
数式（１２）において、行列Ｉはｋ行×ｋ列の単位行列である。行列Ｖは下記数式（１３）に示されるように、ｋ行×１列の行列（即ち、縦ベクトル）である。行列Ｖの要素は全て「１」である。  
【数１３】
0005696068.tif 000014
【００３４】
上記数式（２）及び数式（１１）によれば、空間結合行列は下記数式（１４）で表すことができる。  
【数１４】
0005696068.tif 000015
【００３５】
尚、この空間結合行列のうち、基本行列の左から第２＋ｅ列に対応するＬ個の列、即ち、第２＋ｅ列、第２＋ｅ＋（２＋ｅ＋ｋ）列、・・・、第２＋ｅ＋（Ｌ−１）（２＋ｅ＋ｋ）列は、パンクチャビットに対応する。よって、数式（１４）の空間結合行列に基づく空間結合ＬＤＰＣ符号の符号化率は、下記数式（１５）で表すことができる。  
【数１５】
0005696068.tif 000016
【００３６】
数式（１５）に示されるように、上記数式（１４）の空間結合行列に基づく空間結合ＬＤＰＣ符号の符号化率は、基本行列に基づくプロトグラフＬＤＰＣ符号の符号化率（上記数式（７）参照）に比べて低くなる。しかしながら、符号化率の低下分（ｋ／（１＋ｅ＋ｋ）Ｌ）は、Ｌを大きくすることによって零に近付けることができる。
【００３７】
上記数式（１４）の空間結合行列に複製置換操作を施すことによって、空間結合ＬＤＰＣ符号を定義するパリティ検査行列を導出することができる。パリティ検査行列（＝Ｈ）は、下記数式（１６）で表すことができる。
【数１６】
0005696068.tif 000017
【００３８】
数式（１６）において、Ｚは複製数を表す。数式（１６）のパリティ検査行列は、２個の非零行列（＝Ｈ０（ｌ），Ｈ１（ｌ））を行方向に結合した２（１＋ｋ）Ｚ行×（２＋ｅ＋ｋ）Ｚ列の非零行列を対角方向にＬ個配列したものである。この対角方向に配列されたＬ個の非零行列は帯行列と呼ぶこともできる。ここで、ｌは１以上Ｌ以下の整数であり、パリティ検査行列における上記非零行列の列位置に対応するセクションを表す。
【００３９】
数式（１６）において、Ｈ０（ｌ）は、Ｂ０に複製置換操作を施すことによって得られる行列である。同様に、Ｈ１（ｌ）は、Ｂ１に複製置換操作を施すことによって得られる行列である。尚、図２にも示されるように、複製置換操作は置換操作に自由度があるので、複製数が同一であったとしても同じ展開行列から様々な非零行列を得ることができる。従って、Ｈ０（ｌ）は、セクション毎に異なってもよいし、複数のセクションに亘って共通であってもよい。同様に、Ｈ１（ｌ）は、セクション毎に異なってもよいし、複数のセクションに亘って共通であってもよい。Ｈ０（ｌ）は、下記数式（１７）で表すことができる。Ｈ１（ｌ）は、下記数式（１８）で表すことができる。
【数１７】
0005696068.tif 000018
【００４０】
【数１８】
0005696068.tif 000019
【００４１】
数式（１７）に示される各部分行列は、Ｂ０の各部分行列に複製置換操作を施すことによって得られる。例えば、Ｅ→Ｅ（ｌ）、（Ａ−Ｖ）→Ａ（ｌ）、（Ｄ−Ｉ）→Ｆ（ｌ）である。尚、説明を簡単にするため、数式（１７）に示したＨ０（ｌ）の一部をＺ行×Ｚ列の単位行列Ｉで構成するが、どのような複製置換操作で得られたパリティ検査行列であっても、行基本変形により数式（１７）のパリティ検査行列が得られるため、一般性を失わない。数式（１８）に示される各部分行列は、Ｂ１の各部分行列に複製置換操作を施すことによって得られる。例えば、Ｖ→Ｐ（ｌ）である。
【００４２】
本実施形態に係る符号化装置は、例えば上記数式（１６）のパリティ検査行列によって定義される空間結合ＬＤＰＣ符号語を生成する。以降の説明において、簡単化のために、ｋ＝１＋ｅとする。また、全てのセクションに亘って部分行列Ｃ（ｌ）及びＦ（ｌ）は、フルランクであるとする。更に、下記数式（１９）に示される行列もまたフルランクであるとする。
【数１９】
0005696068.tif 000020
【００４３】
数式（１９）の行列は、上記数式（１６）のパリティ検査行列のうち第Ｌセクションに対応する部分行列に含まれており、係る部分行列からパリティビットの生成に寄与しない零要素のみからなる行を省いたものに相当する。尚、これらの条件の一部または全部が満たされない場合であっても、下記に説明される事項を適宜変形することによって、本実施形態に係る符号化装置を実装することができる。
【００４４】
本実施形態に係る符号化装置は、第１セクションから第Ｌ−１セクションまでにおける動作と、第Ｌセクションにおける動作とが異なる。符号化装置は、第１セクションから第Ｌ−１セクションまでにおいて、セクション毎に情報ビット列を入力し、当該セクションのパリティビット列を生成する。他方、符号化装置は、第Ｌセクションにおいて情報ビット列を入力せずに、第Ｌセクションのパリティビット列を生成する。
【００４５】
符号化装置は、第ｌセクション（但し、１≦ｌ≦Ｌ−１）の情報ビット列（＝ｕ１（ｌ），ｕ２（ｌ））に対して第ｌセクションのパリティビット列（＝ｖ（ｌ），ｗ（ｌ））を生成する。各情報ビット列の長さは、（１＋ｅ）Ｚビットである。各パリティビット列の長さは、（１＋ｋ）Ｚビットである。具体的には、第ｌセクションの第１の情報ビット列（＝ｕ１（ｌ））の長さはＺビットであり、第ｌセクションの第２の情報ビット列（＝ｕ２（ｌ））の長さはｅＺビットであり、第ｌセクションのパンクチャパリティビット列（＝ｖ（ｌ））の長さはＺビットであり、第ｌセクションの出力パリティビット列（＝ｗ（ｌ））の長さはｋＺビットである。これらのうちパンクチャパリティビット列は、出力ビット列には含められず外部へ供給されない。即ち、第ｌセクションの出力ビット列は、（ｕ１（ｌ），ｕ２（ｌ），ｗ（ｌ））である。各出力ビット列の長さは、（１＋ｅ＋ｋ）Ｚ（＝２ｋＺ）ビットである。
【００４６】
符号化装置は、下記数式（２０）に従って、第１セクションの第１の情報ビット列（＝ｕ１（１））に基づいて第１セクションのパンクチャパリティビット列（＝ｖ（１））を生成できる。尚、以降の説明において、各種ビット列は横ベクトルとして扱われるものとする。また、ベクトルまたは行列に付された「Ｔ」は転置を表すものとし、行列に付された「−１」は逆行列を表すものとする。
【数２０】
0005696068.tif 000021
【００４７】
符号化装置は、下記数式（２１）に従って、第１セクションの第２の情報ビット列（＝ｕ２（１））及びパンクチャパリティビット列（＝ｖ（１））に基づいて第１セクションの出力パリティビット列（＝ｗ（１））を生成できる。
【数２１】
0005696068.tif 000022
【００４８】
符号化装置は、下記数式（２２）に従って、第ｌセクション（但し、２≦ｌ≦Ｌ−１）の第１の情報ビット列（＝ｕ１（ｌ））に基づいて第ｌセクションのパンクチャパリティビット列（＝ｖ（ｌ））を生成できる。
【数２２】
0005696068.tif 000023
【００４９】
符号化装置は、下記数式（２３）に従って、第ｌ−１セクション（但し、２≦ｌ≦Ｌ−１）のパンクチャパリティビット列（＝ｖ（ｌ−１））及び出力パリティビット列（＝ｗ（ｌ−１））と、第ｌセクションの第２の情報ビット列（＝ｕ２（ｌ））及びパンクチャパリティビット列（＝ｖ（ｌ））とに基づいて第ｌセクションの出力パリティビット列（＝ｗ（ｌ））を生成できる。
【数２３】
0005696068.tif 000024
【００５０】
数式（２３）に示されるように、第ｌセクションの出力パリティビット列を生成するために、第ｌ−１セクションのパンクチャパリティビット列及び出力パリティビットが必要である。即ち、この空間結合ＬＤＰＣ符号において、出力パリティビット列は、逐次的な計算を通じて生成される。
【００５１】
符号化装置は、第Ｌセクションにおいて、情報ビット列を入力せずに第Ｌセクションのパリティビット列（＝ｗ１（Ｌ），ｖ（Ｌ），ｗ２（Ｌ））を生成する。第Ｌセクションのパリティビット列の長さは、（１＋２ｋ）Ｚビットである。具体的には、第Ｌセクションの第１の出力パリティビット列（＝ｗ１（Ｌ））の長さはｋＺビットであり、第Ｌセクションのパンクチャパリティビット列（＝ｖ（Ｌ））の長さはＺビットであり、第Ｌセクションの第２の出力パリティビット列（＝ｗ２（Ｌ））の長さはｋＺビットである。これらのうちパンクチャパリティビット列は、出力ビット列には含められず外部へ供給されない。即ち、第Ｌセクションの出力ビット列は、（ｗ１（Ｌ），ｗ２（Ｌ））である。第Ｌセクションの出力ビット列の長さは、（ｋ＋ｋ）Ｚ（＝２ｋＺ）ビットである。
【００５２】
符号化装置は、下記数式（２４）及び数式（２５）に従って、第Ｌ−１セクションのパンクチャパリティビット列（＝ｖ（Ｌ−１））及び出力パリティビット列（＝ｗ（Ｌ−１））に基づいて第Ｌセクションの第１の出力パリティビット列（＝ｗ１（Ｌ））、パンクチャパリティビット列（＝ｖ（Ｌ））、第２の出力パリティビット列（＝ｗ２（Ｌ））を生成できる。
【数２４】
0005696068.tif 000025
【００５３】
【数２５】
0005696068.tif 000026
【００５４】
以上のように生成された第１，・・・，第Ｌセクションの符号語ビット列（＝ｃ（０），ｃ（１），・・・，ｃ（Ｌ））は、下記数式（２６）を満足する。尚、前述の通り、１≦ｌ≦Ｌ−１の場合にはｃ（ｌ）＝（ｕ１（ｌ），ｕ２（ｌ），ｖ（ｌ），ｗ（ｌ））であり、ｃ（Ｌ）＝（ｗ１（Ｌ），ｖ（Ｌ），ｗ２（Ｌ））である。即ち、本実施形態に係る符号化装置は、組織符号化を実現する。
【数２６】
0005696068.tif 000027
【００５５】
図１に示される符号化装置１００は、上記第１，・・・，第Ｌセクションの符号語ビット列（＝ｃ（０），ｃ（１），・・・，ｃ（Ｌ））を生成するものである。図１の符号化装置は、分割部１０１と、行列演算部１０２，１０３，１０４と、ベクトル加算部１０５と、行列演算部１０６，１０７と、遅延部１０８と、行列演算部１０９と、遅延部１１０と、行列演算部１１１と、遅延部１１２と、行列演算部１１３と、遅延部１１４と、ベクトル加算部１１５と、行列演算部１１６とを備える。
【００５６】
分割部１０１は、第ｌセクション（但し、１≦ｌ≦Ｌ−１）において、ビット列１０−ｌを入力する。尚、情報ビット列１０−ｌは、（ｕ１（ｌ），ｕ２（ｌ））に相当する。分割部１０１は、情報ビット列１０−ｌを第ｌセクションの第１の情報ビット列１１−ｌ及び第２の情報ビット列１２−ｌへと分割する。第１の情報ビット列１１−ｌはｕ１（ｌ）に相当し、第２の情報ビット列１２−ｌはｕ２（ｌ）に相当する。分割部１０１は、第１の情報ビット列１１−ｌを行列演算部１０２へと出力し、第２の情報ビット列１２−ｌを行列演算部１０３へと出力する。
【００５７】
行列演算部１０２は、第ｌセクション（但し、１≦ｌ≦Ｌ−１）において、分割部１０１から第１の情報ビット列１１−ｌを入力する。行列演算部１０２は、上記数式（２０）及び数式（２２）に示されるように、（Ｃ（ｌ））−１を第１の情報ビット列１１−ｌに乗算し、セクションｌのパンクチャパリティビット列１３−ｌを得る。パンクチャパリティビット列１３−ｌは、ｖ（ｌ）に相当する。行列演算部１０２は、パンクチャパリティビット列１３−ｌを行列演算部１０４へと出力する。更に、行列演算部１０２は、第１，・・・，第Ｌ−２セクションにおいてパンクチャパリティビット列１３−１，・・・，１３−（Ｌ−２）を行列演算部１０７へと出力し、第Ｌ−１セクションにおいてパンクチャパリティビット列１３−（Ｌ−１）を行列演算部１１１へと出力する。
【００５８】
行列演算部１０３は、第ｌセクション（但し、１≦ｌ≦Ｌ−１）において、分割部１０１から第２の情報ビット列１２−ｌを入力する。行列演算部１０３は、上記数式（２１）及び数式（２３）に示されるように、Ｅ（ｌ）を第２の情報ビット列１２−ｌに乗算し、第ｌセクションの第１の中間ベクトルを得る。行列演算部１０３は、第ｌセクションの第１の中間ベクトルをベクトル加算部１０５へと出力する。
【００５９】
行列演算部１０４は、第ｌセクション（但し、１≦ｌ≦Ｌ−１）において、行列演算部１０２からパンクチャパリティビット列１３−ｌを入力する。行列演算部１０４は、上記数式（２１）及び数式（２３）に示されるように、Ａ（ｌ）をパンクチャパリティビット列１３−ｌに乗算し、セクションｌの第２の中間ベクトルを得る。行列演算部１０４は、セクションｌの第２の中間ベクトルをベクトル加算部１０５へと出力する。
【００６０】
ベクトル加算部１０５は、第１セクションにおいて、行列演算部１０３から第１セクションの第１の中間ベクトルを入力し、行列演算部１０４から第１セクションの第２の中間ベクトルを入力する。ベクトル加算部１０５は、上記数式（２１）に示されるように、第１の中間ベクトル及び第２の中間ベクトルを加算し、第１セクションの第３の中間ベクトルを得る。ベクトル加算部１０５は、第３の中間ベクトルを行列演算部１０６へと出力する。
【００６１】
ベクトル加算部１０５は、第ｌセクション（但し、２≦ｌ≦Ｌ−１）において、行列演算部１０３から第ｌセクションの第１の中間ベクトルを入力し、行列演算部１０４から第ｌセクションの第２の中間ベクトルを入力する。後述されるように、ベクトル加算部１０５は、第ｌセクションにおいて、遅延部１０８から第ｌ−１セクションの第４の中間ベクトルを更に入力し、遅延部１１０から第ｌ−１セクションの第５の中間ベクトルを更に入力する。ベクトル加算部１０５は、上記数式（２３）に示されるように、第１の中間ベクトル、第２の中間ベクトル、第４の中間ベクトル及び第５の中間ベクトルを加算し、第ｌセクションの第３の中間ベクトルを得る。ベクトル加算部１０５は、第３の中間ベクトルを行列演算部１０６へと出力する。
【００６２】
行列演算部１０６は、第ｌセクション（但し、１≦ｌ≦Ｌ−１）において、ベクトル加算部１０５から第ｌセクションの第３の中間ベクトルを入力する。行列演算部１０６は、上記数式（２１）及び数式（２３）に示されるように、（Ｆ（ｌ））−１を第３の中間ベクトルに乗算し、第ｌセクションの出力パリティビット列１４−ｌを生成する。出力パリティビット列１４−ｌは、ｗ（ｌ）に相当する。出力パリティビット列１４−ｌは、前述のように、第ｌセクションの出力ビット列の一部として情報ビット列１０−ｌと共に外部へと供給される。更に、行列演算部１０６は、第１，・・・，第Ｌ−２セクションにおいて出力パリティビット列１４−１，・・・，１４−（Ｌ−２）を行列演算部１０９へと供給し、第Ｌ−１セクションにおいて出力パリティビット列１４−（Ｌ−１）を行列演算部１１３へと供給する。
【００６３】
行列演算部１０７は、第ｌセクション（但し、１≦ｌ≦Ｌ−２）において、行列演算部１０２から第ｌセクションのパンクチャパリティビット列１３−ｌを入力する。行列演算部１０７は、上記数式（２３）に示されるように、Ｐ（ｌ）をパンクチャパリティビット列１３−ｌに乗算し、第ｌセクションの第４の中間ベクトルを得る。行列演算部１０７は、第４の中間ベクトルを遅延部１０８へと出力する。尚、Ｐ（ｌ）は、各行に１つだけ非零要素を含む置換行列である。従って、行列演算部１０７は、インタリーバを用いて実装されてよい。
【００６４】
遅延部１０８は、第ｌセクション（但し、１≦ｌ≦Ｌ−２）において、行列演算部１０７から第ｌセクションの第４の中間ベクトルを入力する。遅延部１０８は、第４の中間ベクトルにセクション１つ分に相当する単位遅延を与える。遅延部１０８は、第ｌ＋１セクションにおいて、第ｌセクションの第４の中間ベクトルをベクトル加算部１０５へと出力する。尚、遅延部１０８は、行列演算部１０７と順序を入れ替えられてもよい。
【００６５】
行列演算部１０９は、第ｌセクション（但し、１≦ｌ≦Ｌ−２）において、行列演算部１０６から第ｌセクションの出力パリティビット列１４−ｌを入力する。行列演算部１０９は、上記数式（２３）に示されるように、Ｑ（ｌ）を出力パリティビット列１４−ｌに乗算し、第ｌセクションの第５の中間ベクトルを得る。行列演算部１０９は、第５の中間ベクトルを遅延部１１０へと出力する。尚、Ｑ（ｌ）は、各行に１つだけ非零要素を含む置換行列である。従って、行列演算部１０９は、インタリーバを用いて実装されてよい。
【００６６】
遅延部１１０は、第ｌセクション（但し、１≦ｌ≦Ｌ−２）において、行列演算部１０９から第ｌセクションの第５の中間ベクトルを入力する。遅延部１１０は、第５の中間ベクトルにセクション１つ分に相当する単位遅延を与える。遅延部１１０は、第ｌ＋１セクションにおいて、第ｌセクションの第５の中間ベクトルをベクトル加算部１０５へと出力する。尚、遅延部１１０は、行列演算部１０９と順序を入れ替えられてもよい。
【００６７】
行列演算部１１１は、第Ｌ−１セクションにおいて、行列演算部１０２から第Ｌ−１セクションのパンクチャパリティビット列１３−（Ｌ−１）を入力する。行列演算部１１１は、上記数式（２５）に示されるように、Ｐ（Ｌ−１）をパンクチャパリティビット列１３−（Ｌ−１）に乗算し、第Ｌ−１セクションの第４の中間ベクトルを得る。行列演算部１０７は、第４の中間ベクトルを遅延部１１２へと出力する。尚、Ｐ（Ｌ−１）は、各行に１つだけ非零要素を含む置換行列である。従って、行列演算部１１１は、インタリーバを用いて実装されてよい。
【００６８】
遅延部１１２は、第Ｌ−１セクションにおいて、行列演算部１１１から第４の中間ベクトルを入力する。遅延部１１２は、第４の中間ベクトルにセクション１つ分に相当する単位遅延を与える。遅延部１１２は、第Ｌセクションにおいて、第４の中間ベクトルをベクトル加算部１１５へと出力する。
【００６９】
行列演算部１１３は、第Ｌ−１セクションにおいて、行列演算部１０６から第Ｌ−１セクションの出力パリティビット列１４−（Ｌ−１）を入力する。行列演算部１１３は、上記数式（２５）に示されるように、Ｑ（Ｌ−１）を出力パリティビット列１４−（Ｌ−１）に乗算し、第Ｌ−１セクションの第５の中間ベクトルを得る。行列演算部１１３は、第５の中間ベクトルを遅延部１１４へと出力する。尚、Ｑ（Ｌ−１）は、各行に１つだけ非零要素を含む置換行列である。従って、行列演算部１１３は、インタリーバを用いて実装されてよい。
【００７０】
遅延部１１４は、第Ｌ−１セクションにおいて、行列演算部１１３から第５の中間ベクトルを入力する。遅延部１１４は、第５の中間ベクトルにセクション１つ分に相当する単位遅延を与える。遅延部１１４は、第Ｌセクションにおいて、第５の中間ベクトルをベクトル加算部１１５へと供給する。
【００７１】
ベクトル加算部１１５は、第Ｌセクションにおいて、遅延部１１２から第４の中間ベクトルを入力し、遅延部１１４から第５の中間ベクトルを入力する。ベクトル加算部１１５は、上記数式（２５）に示されるように、第４の中間ベクトル及び第５の中間ベクトルを加算し、第６の中間ベクトルを得る。第６の中間ベクトルは、Ｓ（Ｌ）に相当する。ベクトル加算部１１５は、第６の中間ベクトルを行列演算部１１６へと出力する。
【００７２】
行列演算部１１６は、第Ｌセクションにおいて、ベクトル加算部１１５から第６の中間ベクトルを入力する。行列演算部１１６は、上記数式（２４）に示されるように、第６の中間ベクトルの先頭にＺ個の要素からなる零ベクトルを結合し、第６の中間ベクトルの末尾にｋＺ個の要素からなる零ベクトルを結合することによって、第７の中間ベクトルを得る。更に、行列演算部１１６は、数式（２４）に示されるように、上記数式（１９）に示される行列の逆行列を第７の中間ベクトルに乗算することによって、第Ｌセクションの出力パリティビット列１４−Ｌを生成する。第Ｌセクションの出力パリティビット列１４−Ｌは、（ｗ１（Ｌ），ｗ２（Ｌ））に相当する。出力パリティビット列１４−Ｌは、前述のように、第Ｌセクションの出力ビット列として外部へと供給される。
【００７３】
尚、遅延部１１２は、行列演算部１１１と順序を入れ替えられてもよい。同様に、遅延部１１４は、行列演算部１１３と順序を入れ替えられてもよい。或いは、遅延部１１２，１１４が除去され、第６の中間ベクトル或いは第Ｌセクションの出力パリティビット列１４−Ｌにセクション１つ分に相当する単位遅延を与える機能部が用意されてもよい。
【００７４】
本実施形態に係る符号化装置は、各種パラメータ（ｋ，ｒ，ｇ，ｅ，Ｌ）の設計を通じて様々な符号化率を達成できる。下記表１に、パラメータの設計例と、対応する符号化率、復号限界ならびにシャノン限界（理論限界）とが示される。尚、復号限界は、２元消失通信路上での復号可能な最大消失確率を密度発展法によって評価した結果が示される。
【表１】
0005696068.tif 000028
【００７５】
表１から明らかなように、本実施形態に係る符号化装置は、様々な符号化率の下でシャノン限界に近い繰り返し復号性能を達成することができる。  
以上説明したように、第１の実施形態に係る符号化装置は、例えば上記数式（３）に示される基本行列に基づく空間結合行列に対して複製置換操作を施すことによって得られるパリティ検査行列によって定義される符号語を生成する。従って、この符号化装置によれば、シャノン限界に近い繰り返し復号性能を達成する組織符号を生成することができる。尚、本実施形態に係る復号装置は、例えば上記数式（１６）に示されるパリティ検査行列を用いて繰り返し復号を行うものであればよい。従って、その詳細な説明は省略される。
【００７６】
（第２の実施形態）  
第１の実施形態に係る符号化装置及び復号装置は、例えば記憶装置に組み込まれる。第２の実施形態に係る記憶装置は、第１の実施形態に係る符号化装置及び復号装置を組み込む。尚、詳細な説明は省略されるが、第１の実施形態に係る符号化装置及び復号装置は、光記録装置、磁気記録装置など、誤り訂正符号を利用可能なあらゆる装置に組み込まれてよい。
【００７７】
図７に示されるように、第３の実施形態に係る記憶装置は、ＬＤＰＣ符号化部２０１と、不揮発性半導体メモリ２０２と、ＬＤＰＣ復号部２０３とを備える。また、簡単化のために、図７において不揮発性半導体メモリ２０２へのデータの読み書きを行う機能部が省略されている。しかしながら、記憶装置は、係る機能部を必要に応じて備えることができる。
【００７８】
ＬＤＰＣ符号化部２０１は、第１の実施形態に係る符号化装置に対応する。ＬＤＰＣ符号化部２０１は、前段の処理部（図示しない）からデータを入力し、当該データを構成する情報ビット列にＬＤＰＣ符号化処理を行う。即ち、ＬＤＰＣ符号化部２０１は、情報ビット列にパリティビット列（パンクチャパリティビット列を除く）を付加してＬＤＰＣ符号フレーム（即ち、出力ビット列）を生成する。尚、ＬＤＰＣ符号化部２０１は、上記数式（１６）に示されるパリティ検査行列を利用して符号化処理を行う。ＬＤＰＣ符号化部２０１は、１以上のＬＤＰＣ符号フレームを束ねてページデータを形成する。ＬＤＰＣ符号化部２０１は、ページデータを不揮発性半導体メモリ２０２へと出力する。
【００７９】
不揮発性半導体メモリ２０２への書き込み処理及び不揮発性半導体メモリ２０２からの読み出し処理は、いずれもページデータ単位で行われる。ページデータは、前述の通り、１以上のＬＤＰＣ符号フレームが束ねられたものである。ページデータのサイズは、不揮発性半導体メモリ２０２の構成に依存するが、概ね数ＫＢ程度である。不揮発性半導体メモリ２０２は、複数のメモリセルを備える。具体的には、不揮発性半導体メモリ２０２は、例えば複数のメモリセルがＮＡＮＤ型に接続されたアレイ構造を備えるフラッシュメモリによって実現される。
【００８０】
各メモリセルは、２個以上の閾値電圧が割り当てられ、１ビット以上のデータを記憶できる。各メモリセルが記憶可能なデータ量は、各メモリセルに割り当てられる閾値電圧の総数によって決まる。例えば、１セルあたり２ビットを記憶するフラッシュメモリに関して、各セルには２ビット値のパターン：「００」，「０１」，「１０」，「１１」に応じた４個の閾値が割り当てられる。メモリセルの閾値電圧は、隣接セルとの容量結合などの理由によって、揺らぐことがある。そして、この閾値電圧の揺らぎは、読み出しデータの誤りを引き起こす一因となる。
【００８１】
不揮発性半導体メモリ２０２は、ＬＤＰＣ符号化部２０１によって生成されたページデータを入力する。不揮発性半導体メモリ２０２は、ページデータをメモリセルに記憶する（書き込む）。また、不揮発性半導体メモリ２０２は、メモリセルに記憶されたページデータを読み出し、これを出力する。尚、前述の通り、閾値電圧の揺らぎなどの要因によって、ページデータは誤りを含んで読み出される可能性がある。
【００８２】
ＬＤＰＣ復号部２０３は、第１の実施形態に係る復号装置に対応する。ＬＤＰＣ復号部２０３は、不揮発性半導体メモリ２０２によって読み出されたページデータを入力する。ＬＤＰＣ復号部２０３は、ページデータに含まれる１以上のＬＤＰＣ符号フレームの各々にＬＤＰＣ復号処理を行う。ＬＤＰＣ復号処理は、パリティ検査行列を用いた繰り返し復号アルゴリズムによって実現される。繰り返し復号アルゴリズムは、例えば、ｓｕｍ−ｐｒｏｄｕｃｔアルゴリズム、ｍｉｎ−ｓｕｍアルゴリズムなどである。尚、ＬＤＰＣ復号部２０３は、上記数式（１６）に示されるパリティ検査行列を用いる。
【００８３】
ＬＤＰＣ復号部２０３は、パリティ検査において誤りなしと判定した場合（即ち、復号成功の場合）に、一時推定語からパリティビット列を除去して情報ビット列を生成し、これを後段の信号処理部（図示しない）へと出力する。また、ＬＤＰＣ復号部２０３は、復号処理の試行回数が最大繰り返し回数に達した場合（即ち、復号失敗の場合）に、情報ビット列を後段の信号処理部（図示しない）へと出力してもよいし、復号の失敗を後段の信号処理部（図示しない）に通知してもよい。
【００８４】
以上説明したように、第２の実施形態に係る記憶装置は、第１の実施形態に係る符号化装置及び復号装置を組み込む。従って、この記憶装置によれば、データの読み出し時に強力な誤り訂正能力を発揮することができる。
【００８５】
（第３の実施形態）  
第１の実施形態に係る符号化装置は、通信装置（送信機または送受信機）に組み込まれてもよい。第３の実施形態に係る通信装置は、図８に示されるように、ＬＤＰＣ符号化部３０１と、変調部３０２と、デジタルアナログ変換部３０３と、周波数変換部３０４と、アンテナ３０５とを備える。図８の通信装置は、典型的には、（セルラ、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などをサポートする）無線通信装置（送信機または送受信機）、放送波通信装置（送信機または送受信機）などである。また、図８には示されていないが、電力増幅器、フィルタなどを含むことも可能である。
【００８６】
ＬＤＰＣ符号化部３０１は、第１の実施形態に係る符号化装置に対応する。ＬＤＰＣ符号化部３０１は、前段の処理部（図示しない）からデータを入力し、当該データを構成する情報ビット列にＬＤＰＣ符号化処理を行う。即ち、ＬＤＰＣ符号化部３０１は、情報ビット列にパリティビット列（パンクチャパリティビット列を除く）を付加してＬＤＰＣ符号フレーム（即ち、出力ビット列）を生成する。尚、ＬＤＰＣ符号化部３０１は、上記数式（１６）に示されるパリティ検査行列を利用して符号化処理を行う。ＬＤＰＣ符号化部３０１は、ＬＤＰＣ符号フレームを変調部３０２へと出力する。
【００８７】
変調部３０２は、ＬＤＰＣ符号フレームを変調する。デジタルアナログ変換部３０３は、変調部３０２からの変調信号をデジタルアナログ変換する。周波数変換部３０４は、デジタルアナログ変換部３０３からのベースバンド送信信号をアップコンバートする。アンテナ３０５は、周波数変換部３０４からのＲＦ送信信号を放射する。
【００８８】
また、通信装置（受信機または送受信機）は、第１の実施形態に係る復号装置を組み込むこともできる。本実施形態に係る通信装置は、図９に示されるように、アンテナ４０１と、周波数変換部４０２と、アナログデジタル変換部４０３と、復調部４０４と、ＬＤＰＣ復号部４０５とを備える。図９の通信装置は、典型的には、（セルラ、無線ＬＡＮなどをサポートする）無線通信装置（受信機または送受信機）、放送波通信装置（受信機または送受信機）などである。また、図９には示されていないが、低雑音増幅器、フィルタなどを含むことも可能である。
【００８９】
アンテナ４０１は、高周波の無線信号を受信する。周波数変換部４０２は、アンテナ４０１からのＲＦ受信信号をダウンコンバートする。アナログデジタル変換部４０３は、周波数変換部４０２からのベースバンド受信信号をアナログデジタル変換する。復調部４０４は、送信側の変調方式に従って、アナログデジタル変換部４０３からのデジタル信号を復調する。
【００９０】
ＬＤＰＣ復号部４０５には、前述の第１の実施形態に係る復号装置が組み込まれる。ＬＤＰＣ復号部４０５は、送信側の符号化方式に従って、復調部４０４からの復調データにＬＤＰＣ復号処理を行い、受信データを復元する。具体的には、ＬＤＰＣ復号処理は、パリティ検査行列を用いた繰り返し復号アルゴリズムによって実現される。繰り返し復号アルゴリズムは、例えば、ｓｕｍ−ｐｒｏｄｕｃｔアルゴリズム、ｍｉｎ−ｓｕｍアルゴリズムなどである。尚、ＬＤＰＣ復号部４０５は、上記数式（１６）に示されるパリティ検査行列を用いる。
【００９１】
以上説明したように、第３の実施形態に係る通信装置は、前述の第１の実施形態に係る符号化装置または復号装置を組み込んでいる。従って、この通信装置によれば、受信データの復元において強力な誤り訂正能力を発揮できる。
【００９２】
上記各実施形態の処理は、汎用のコンピュータを基本ハードウェアとして用いることで実現可能である。上記各実施形態の処理を実現するプログラムは、コンピュータで読み取り可能な記憶媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記憶媒体に記憶される。記憶媒体としては、磁気ディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリなどである。記憶媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記各実施形態の処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ（サーバ）上に格納し、ネットワーク経由でコンピュータ（クライアント）にダウンロードさせてもよい。
【００９３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９４】
１０，１１，１２・・・情報ビット列
１３・・・パンクチャパリティビット列
１４・・・出力パリティビット列
１００・・・符号化装置
１０１・・・分割部
１０２，１０３，１０４，１０６，１０７，１０９，１１１，１１３，１１６・・・行列演算部
１０５，１１５・・・ベクトル加算部
１０８，１１０，１１２，１１４・・・遅延部
２０１，３０１・・・ＬＤＰＣ符号化部
２０２・・・不揮発性半導体メモリ
２０３，４０５・・・ＬＤＰＣ復号部
３０２・・・変調部
３０３・・・デジタルアナログ変換器
３０４，４０２・・・周波数変換部
３０５，４０１・・・アンテナ
４０３・・・アナログデジタル変換器
４０４・・・復調部
【図１】
0005696068.tif 000029
【図２】
0005696068.tif 000030
【図３】
0005696068.tif 000031
【図４】
0005696068.tif 000032
【図５】
0005696068.tif 000033
【図６】
0005696068.tif 000034
【図７】
0005696068.tif 000035
【図８】
0005696068.tif 000036
【図９】
0005696068.tif 000037