(57)【要約】【目的】低密度パリティ検査符号の生成方法及び装置を提供する。【解決手段】パリティ検査行列を構成する段階と、情報部分行列とパリティ部分行列とに分割する段階と、パリティ部分行列をサブブロックに分割する段階と、第１対角部分と第２対角部分とを決定する段階と、サブブロックにシフトされた単位行列をそれぞれ配置する段階と、残りのサブブロックをゼロ行列で充填する段階と、１つのサブブロック列に奇数個のデルタ行列を配置する段階と、パリティ検査行列を記憶する段階とを含む。【選択図】図４
2006157926.tif 000002
【特許請求の範囲】
【請求項１】
低密度パリティ検査符号の生成方法において、
長さＫの情報シーケンスを長さＮの符号語に符号化するために、検査ノードに対する（Ｎ−Ｋ）個の行及び変数ノードに対するＮ個の列を有するパリティ検査行列を構成する段階と、
前記パリティ検査行列をＫ個の列を有する情報部分行列と（Ｎ−Ｋ）個の列を有するパリティ部分行列とに分割する段階と、
前記パリティ部分行列をＰ＊Ｐのサイズを有するサブブロックに分割する段階（ここで、Ｐは（Ｎ−Ｋ）の約数である）と、
前記パリティ部分行列の第１対角部分と、前記第１対角部分からサブブロックシフト量ｆだけシフトされた第２対角部分とを決定する段階と、
前記第１対角部分及び第２対角部分のサブブロックにシフトインデックスを有するシフトされた単位行列をそれぞれ配置する段階と、
前記第１及び第２対角部分を除いた残りのサブブロックをゼロ行列で充填する段階と、
前記パリティ部分行列の１つのサブブロック列に、それぞれただ１つの１元素だけを含み、残りの元素は全部０である奇数個のデルタ行列を配置する段階と、
前記パリティ検査行列を記憶する段階と、
を含むことを特徴とする低密度パリティ検査符号の生成方法。
【請求項２】
第１対角部分は、最初のサブブロック行及び最初のサブブロック列から最終のサブブロック行及び最終のサブブロック列までのサブブロックで形成されることを特徴とする請求項１記載の低密度パリティ検査符号の生成方法。
【請求項３】
前記シフトインデックスは、前記第１及び第２対角部分におけるシフトされた単位行列の全てのシフトインデックスを合算した和をＰを法とした値が、Ｐと互いに素になるように決められることを特徴とする請求項１記載の低密度パリティ検査符号の生成方法。
【請求項４】
前記デルタ行列を配置する段階において、
前記パリティ部分行列における第一サブブロック列の１つのゼロ行列をデルタ行列に置換することを特徴とする請求項１記載の低密度パリティ検査符号の生成方法。
【請求項５】
前記デルタ行列は、第一列にそれぞれただ１つの１元素を含むことを特徴とする請求項１記載の低密度パリティ検査符号の生成方法。
【請求項６】
前記記憶する段階は、
各検査ノードの次数、各変数ノードの次数、各行における非ゼロ行列の位置、各非ゼロ行列のシフトインデックス、各非ゼロ行列が前記デルタ行列であるか否かを示す１ビットのサブブロック情報を記憶することを特徴とする請求項１記載の低密度パリティ検査符号の生成方法。
【請求項７】
前記デルタ行列である非ゼロ行列のシフトインデックスは前記デルタ行列に含まれる１元素の位置を示すことを特徴とする請求項６記載の低密度パリティ検査符号の生成方法。
【請求項８】
前記記憶する段階は、
各検査ノードの次数、各変数ノードの次数、各行における非ゼロ行列の位置、各非ゼロ行列のシフトインデックスに対する情報を記憶し、デルタ行列である前記非ゼロ行列の シフトインデックスは前記Ｐより小さいか等しいことを特徴とする請求項１記載の低密度パリティ検査符号の生成方法。
【請求項９】
低密度パリティ検査符号の生成装置において、
低密度パリティ検査符号を定義するパリティ検査行列を生成するプログラムコード及び前記生成されたパリティ検査行列を記憶するメモリシステムと、
前記プログラムコードを実行して前記パリティ検査行列を生成するプロセッサとからなり、前記プロセッサは、
長さＫの情報シーケンスを長さＮの符号語に符号化するために、検査ノードに対する（Ｎ−Ｋ）個の行及び変数ノードに対するＮ個の列を有するパリティ検査行列を構成する段階と、
前記パリティ検査行列をＫ個の列を有する情報部分行列と（Ｎ−Ｋ）個の列を有するパリティ部分行列とに分割する段階と、
前記パリティ部分行列をＰ＊Ｐのサイズを有するサブブロックに分割する段階（ここで、Ｐは（Ｎ−Ｋ）の約数である）と、
前記パリティ部分行列の第１対角部分と、前記第１対角部分からサブブロックシフト量ｆだけシフトされた第２対角部分とを決定する段階と、
前記第１対角部分及び第２対角部分のサブブロックにシフトインデックスを有するシフトされた単位行列をそれぞれ配置する段階と、
前記第１及び第２対角部分を除いた残りのサブブロックをゼロ行列で充填する段階と、
前記パリティ部分行列の１つのサブブロック列に、それぞれただ１つの１元素だけを含み、残りの元素は全部０である奇数個のデルタ行列を配置する段階と、
前記パリティ検査行列を記憶する段階と、
を実行することを特徴とする低密度パリティ検査符号の生成装置。
【請求項１０】
第１対角部分は、最初のサブブロック行及び最初のサブブロック列から最終のサブブロック行及び最終のサブブロック列までのサブブロックで形成されることを特徴とする請求項９記載の低密度パリティ検査符号の生成装置。
【請求項１１】
前記シフトインデックスは、前記第１及び第２対角部分におけるシフトされた単位行列の全てのシフトインデックスを合算した和をＰを法とした値が、Ｐと互いに素になるように決められることを特徴とする請求項９記載の低密度パリティ検査符号の生成装置。
【請求項１２】
前記デルタ行列を配置する段階において、
前記プロセッサは、前記パリティ部分行列における第一サブブロック列の１つのゼロ行列をデルタ行列に置換することを特徴とする請求項９記載の低密度パリティ検査符号の生成装置。
【請求項１３】
前記デルタ行列は、第一列にそれぞれただ１つの１元素を含むことを特徴とする請求項９記載の低密度パリティ検査符号の生成装置。
【請求項１４】
前記メモリシステムは、
各検査ノードの次数、各変数ノードの次数、各行における非ゼロ行列の位置、各非ゼロ行列のシフトインデックスに対する情報及び、各非ゼロ行列が前記デルタ行列であるか否かを示す１ビットのサブブロック情報を用いる前記パリティ検査行列で構成されることを特徴とする請求項９記載の低密度パリティ検査符号の生成装置。
【請求項１５】
前記デルタ行列である非ゼロ行列のシフトインデックスは前記デルタ行列に含まれる１元素の位置を示すことを特徴とする請求項１４記載の低密度パリティ検査符号の生成装置。
【請求項１６】
前記メモリシステムは、
各検査ノードの次数、各変数ノードの次数、各行における非ゼロ行列の位置に対する情報及び各非ゼロ行列のシフトインデックスを用いる前記パリティ検査行列で構成され、デルタ行列である前記非ゼロ行列のシフトインデックスはＰより小さいか等しいことを特徴とする請求項９記載の低密度パリティ検査符号の生成装置。
【請求項１７】
低密度パリティ検査符号の符号化方法において、
情報シーケンスを受信する段階と、
（Ｎ−Ｋ）個の行及びＫ個の列からなる情報部分行列及び、Ｋ個の行及びＫ個の列からなるパリティ部分行列で構成される（Ｎ、Ｋ）パリティ検査行列を用いて、長さＫの情報シーケンスを長さＮの符号語に符号化する段階と、
前記符号語を受信機に伝送する段階とから構成され、
前記パリティ検査行列はサブブロックの集合から構成され、次数が１である列が存在しないように、前記サブブロックのうち少なくとも１つにだた１つの１元素を含む行列を含んで構成されることを特徴とする低密度パリティ検査符号の符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの符号化に関し、特に低密度パリティ検査（Ｌｏｗ−Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ；以下ＬＤＰＣと称する）符号の生成方法及び装置に関する。
【背景技術】
【０００２】
通常、通信システムではデータの伝送時、伝送されるデータを符号化して伝送することにより、伝送の安定性は増加させるとともに、できるだけ再伝送を避けることで伝送効率を高めている。このため、移動通信システムでは畳み込み（ｃｏｎｖｏｌｕｔｉｏｎａｌ）符号化、ターボ符号化などの方法が用いられている。
【０００３】
無線通信技術の急速な発展に伴い、もっと高速にデータを伝送できる無線通信システムが登場している。ところが、一層の高速のデータ伝送のために、前記した既存の符号化方法よりも高い効率が得られる符号化方法が求められている実状である。
【０００４】
かかる要求に応じるために、有望な新しい代案として低密度パリティ検査（ＬＤＰＣ）符号が提案されている。ＬＤＰＣ符号は１９６０年代初にＧａｌｌａｇｅｒによって最初に提案され、１９９０年代以降ＭａｃＫａｙらによって再発見された。前記ＭａｃＫａｙらによって再発見されたＬＤＰＣ符号は和積アルゴリズム（Ｓｕｍ−Ｐｒｏｄｕｃｔ  ａｌｇｏｒｉｔｈｍ）を用いた復号化方法に基づいている。また、ＬＤＰＣ符号は確率伝播（ｂｅｌｉｅｆ  Ｐｒｏｐａｇａｔｉｏｎ）アルゴリズムを用いることで、シャノン容量限界（Ｓｈａｎｎｏｎ  ｃａｐａｃｉｔｙ  ｌｉｍｉｔ）（以下、シャノン限界（Ｓｈａｎｎｏｎ  ｌｉｍｉｔ）ともいう）に近づく優れた性能を有する符号として関心が集まっている。
【０００５】
その後、Ｒｉｃｈａｒｄｓｏｎ及びＣｈｕｎｇなどは、ＬＤＰＣ符号を構成するファクターグラフ（ｆａｃｔｏｒ  ｇｒａｐｈ）上で復号中に生成、更新されるメッセジーの確率分布（ｐｒｏｂａｂｉｌｉｔｙ  ｄｉｓｔｒｉｂｕｔｉｏｎ）の繰り返し（ｉｔｅｒａｔｉｏｎ）回数によって変化することを追跡するという密度進化（ｄｅｎｓｉｔｙ  ｅｖｏｌｕｔｉｏｎ）を提案した。前記密度進化を用いたファクターグラフ上における無限の反復を仮定して、エラー確率（ｐｒｏｂａｂｉｌｉｔｙ  ｏｆ ｅｒｒｏｒ）を“０”に収束できるチャンネルパラメーター（ｃｈａｎｎｅｌ  ｐａｒａｍｅｔｅｒ）が発明された。すなわち、ファクターグラフ上でチャンネルパラメーターを最大化できるように変数ノード（ｖａｒｉａｂｌｅ  ｎｏｄｅ）及び検査ノード（ｃｈｅｃｋ  ｎｏｄｅ）の次数分布（ｄｅｇｒｅｅ  ｄｉｓｔｒｉｂｕｔｉｏｎ）を提案した。そして、このような場合がサイクルを有する有限長さのＬＤＰＣ符号に対しても適用できることを理論的に証明した。かかる密度進化技術を用いると、不均一な（ｉｒｒｅｇｕｌａｒ）ＬＤＰＣ符号のチャンネル容量が理論的なシャロン限界にほとんど０．００４５ｄＢまで迫ることができる。
【０００６】
このようなＬＤＰＣ符号は次世代移動通信システムにおいてターボ符号を代替することができる強力な代案として議論されている。これはＬＤＰＣ符号が有している復号器具現上の並列構造（ｐａｒａｌｌｅｌ  ｓｔｒｕｃｔｕｒｅ）及び低い複雑度（ｌｏｗ  ｃｏｍｐｌｅｘｉｔｙ）、そして性能上の低いエラーフロア（ｅｒｒｏｒ  ｆｌｏｏｒ）、良好なフレーム誤り率（ｇｏｏｄ  ｆｒａｍｅ  ｅｒｒｏｒ  ｒａｔｅ）などの要因のためである。従って、今後とも多くの研究が進行されるにつれ、より優秀な特性を有するＬＤＰＣ符号が見込まれている。
【０００７】
しかし、従来のＬＤＰＣ符号の具現するに当たり、ターボ符号（ｔｕｒｂｏ  ｃｏｄｅ）に比べて符号化（ｅｎｃｏｄｉｎｇ）工程が多少複雑であり、ＬＤＰＣ符号を表現するに多くのメモリが必要となり、また短いフレームサイズ（ｆｒａｍｅ  ｓｉｚｅ）でターボ符号より優秀な性能を出すことができる最適の符号構造を決定することが容易でないという問題点がある。従って、フレーム長さに柔軟性（ｆｌｅｘｉｂｉｌｉｔｙ）を有する一層効率的なＬＤＰＣ符号が求められるようになった。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は上述した従来の問題点を解決するために案出されたもので、その目的は符号化工程が単純な低密度パリティ検査符号の生成方法及び装置を提供することにある。
【０００９】
本発明の他の目的は符号化工程が単純であり、ブロック形態の低密度パリティ検査符号の生成方法及び装置を提供することにある。
【課題を解決するための手段】
【００１０】
このような目的を達成するために、本発明は低密度パリティ検査符号の生成方法において、長さＫの情報シーケンスを長さＮの符号語に符号化するために、検査ノードに対する（Ｎ−Ｋ）個の行及び変数ノードに対するＮ個の列を有するパリティ検査行列を構成する段階と、前記パリティ検査行列をＫ個の列を有する情報部分行列と（Ｎ−Ｋ）個の列を有するパリティ部分行列とに分割する段階と、前記パリティ部分行列をＰ＊Ｐのサイズを有するサブブロックに分割する段階（ここで、Ｐは（Ｎ−Ｋ）の約数である）と、前記パリティ部分行列の第１対角部分と、前記第１対角部分からサブブロックシフト量ｆだけシフトされた第２対角部分とを決定する段階と、前記第１対角部分及び第２対角部分のサブブロックにシフトインデックスを有するシフトされた単位行列をそれぞれ配置する段階と、前記第１及び第２対角部分を除いた残りのサブブロックをゼロ行列で充填する段階と、前記パリティ部分行列の１つのサブブロック列に、それぞれただ１つの１元素だけを含み、残りの元素は全部０である奇数個のデルタ行列を配置する段階と、前記パリティ検査行列を記憶する段階とを含むことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ＧＤＭ  ＬＤＰＣ符号において次数が１である変数ノードを取り除くことで、全てのパリティビットの符号化に密度進化を適用させて符号化性能の向上を図ることができる。また、ブロック構造を維持するとともに、ＬＤＰＣ符号を表現するに必要なメモリ容量を節減できるようになる。その結果、効率的な符号化を実現することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面に参照しながら本発明の実施形態を詳細に説明する。なお、下記の説明において、本発明の要旨のみを明瞭にする目的で、関連した公知の機能又は構成に関する具体的な説明は省略する。
【００１３】
低密度パリティ検査（ＬＤＰＣ）符号は、線形ブロック符号の一種であり、大部分の元素が０の値を有し、０の値を有する元素以外の極めて僅かな数の元素が１の値を有するパリティ検査行列（ｐａｒｉｔｙ  ｃｈｅｃｋ  ｍａｔｒｉｘ）によってその構造が定義される。例えば、Ｋビットの情報ビットのための（Ｎ，Ｋ）ＬＤＰＣ符号はブロックサイズがＮである線形ブロック符号（ｌｉｎｅａｒ  ｂｌｏｃｋ  ｃｏｄｅ）であって、１の値を有する元素を除いた元素は全部０の値を有する疎らな（ｓｐａｒｓｅ）構造の（Ｎ−Ｋ）＊Ｎパリティ検査行列によって定義される。ここで、各行又は各列に含まれる１の個数を各行又は各列の次数（ｄｅｇｒｅｅ）という。
【００１４】
前記パリティ検査行列内の各列及び各行の次数が一定しているＬＤＰＣ符号を均一（ｒｅｇｕｌａｒ）ＬＤＰＣ符号と称する。これとは異なり、パリティ検査行列内の各列及び各行の次数が一定していないＬＤＰＣ符号を不均一（ｉｒｒｅｇｕｌａｒ）ＬＤＰＣ符号と称する。一般に均一ＬＤＰＣ符号の性能に比べて不均一ＬＤＰＣ符号の性能がもっと優れていると知られている。しかし、不均一ＬＤＰＣ符号の場合、パリティ検査行列内の各列及び各行の次数が一定していないので、優秀な性能保障のためにはパリティ検査行列内の各列及び各行の次数を適宜に調節しなければならないという不具合がある。
【００１５】
長さがＮである符号語はベクトルＣに表現され、情報ビットの長さがＫであるとき、２Ｋ個のうち一つの符号語を示す（Ｎ，Ｋ）符号が使用される。（Ｎ，Ｋ）ＬＤＰＣ符号は（Ｎ−Ｋ）＊Ｎパリティ検査行列Ｈによって定義され、下記数式（１）を満足する。
【００１６】
【数１】
2006157926.tif 000003
【００１７】
図１は一般的な（１０、５）ＬＤＰＣ符号の一例を示すパリティ検査行列を示す図である。
【００１８】
図１に示したように、ＬＤＰＣ符号のパリティ検査行列Ｈは１０つの列及び５つの行から構成され、列の次数は均一に２であり、行の次数は均一に４である。このように列の次数及び行の次数が均一であるので、前記（１０、５）ＬＤＰＣ符号は均一ＬＤＰＣ符号となる。
【００１９】
図２は図１に示したＬＤＰＣ符号のファクターグラフを示す図である。
【００２０】
図２に示したように、前記ＬＤＰＣ符号のファクターグラフは１０つの変数ノード（ｖａｒｉａｂｌｅ  ｎｏｄｅ）２０、つまりＶ１〜Ｖ１０と、５つの検査ノード（ｃｈｅｃｋ  ｎｏｄｅ）２２、つまりＣ１〜Ｃ５とから構成される。前記ＬＤＰＣ符号のパリティ検査行列のｉ番目列とｊ番目の行とが交差する支点に１の値を有する元素が存在する場合、ｉ番目の変数ノードＶｉとｊ番目の検査ノードＣｊとの間にブランチ（ｂｒａｎｃｈ）（エッジ（ｅｄｇｅ）ともいう）２５が形成される。
【００２１】
前述のように、ＬＤＰＣ符号のパリティ検査行列は極めて小さい次数を有するので、比較的長いサイズを有するブロック符号に対しても和積アルゴリズムを用いたメッセージ伝達反復復号化が可能であり、ブロック符号のブロックサイズを増加させ続けると、ターボ符号のようにシャノンのチャンネル容量限界に近づく形態の性能を示す。
【００２２】
ＬＤＰＣの復号化はファクターグラフ上の変数ノードと検査ノードとの間で各ノード別に生成及び更新されたメッセージを互いに交換する工程を反復することにより行われる。このとき、各ノードでは和積アルゴリズムを用いてメッセージを更新（ｕｐｄａｔｅ）することになる。このようなＬＤＰＣ符号の反復復号動作を図３Ａ及び図３Ｂに示した。
【００２３】
図３Ａに示すように、検査ノード２２ａは、前記検査ノード２２ａに連結された変数ノード２０ｂのうちいずれか１つの変数ノードのための検査ノードメッセージ２４を、残りの変数ノードから受信した変数ノード値を合算することにより生成する。図３Ｂに示すように、変数ノード２０ａは、前記変数ノード２０ａに連結された検査ノード２２ｂのうちいずれか１つの検査ノードのための変数ノードメッセージ２６を、残りの検査ノードから受信した検査ノードの値を積算することにより生成する。
【００２４】
前述のように、和積アルゴリズムを適用するに際して、検査ノードメッセージ及び変数ノードメッセージは変数ノードと検査ノードとの間を連結するエッジに沿って伝達される。このため、パリティ検査行列の１の個数が少なければ少ないほど伝達すべきメッセージの数が減少し、これにより復号化のための計算量及び記憶空間を減らすことができるという効果が得られる。
【００２５】
ＬＤＰＣ符号の効率的な符号化のための多様な方法が研究されている。一般に、長さＫの情報シーケンスＣＩ及び（Ｎ−Ｋ）＊Ｎパリティ検査行列を用いて、（Ｎ−Ｋ）個のパリティビットを含むパリティシーケンスＣＰが生成される。このとき、パリティ検査行列は（Ｎ−Ｋ）＊Ｋ情報部分行列であるＨＩ及び（Ｎ−Ｋ）＊（Ｎ−Ｋ）パリティ部分行列であるＨＰの連接であって、下記の数式（２）のように表現される。
【００２６】
【数２】
2006157926.tif 000004
【００２７】
このとき、Ｃ＝［ＣＩ：ＣＰ］であり、ＣＩ＝［ｃ０，ｃ１，…ｃＫ−１］、 ＣＰ＝［ｐ０，ｐ１，…ｐＮ−Ｋ−１］である。
【００２８】
パリティ検査行列の情報部分はＬＤＰＣ符号のサイクル特性及び密度進化特性を考慮して設計されるもので、これは本発明の主な要旨とは関連がないので、本願明細書ではこれ以上詳細に言及しない。
【００２９】
図４はＬＤＰＣ符号の効率的な符号化のためのパリティ検査行列の一例を示す図である。
【００３０】
図４に示すように、パリティ検査行列１００は、情報部分１０２とパリティ部分１０４とからなる。図示のように、正方行列であるパリティ部分１０４の最初行及び最初列の元素から最終行及び最終列までの元素で形成される第一の対角部分は全部１から構成される。第二の対角部分は最初行の第二列から始まる全部１である元素から構成される。すると、第二の対角部分は第一の対角部分から１だけ循環シフトされたものと理解できる。
【００３１】
前記パリティ検査行列１００は次数が１である列を取り除くとともにパリティビットを順次に生成できるように、第一列１０６が奇数個の１を含むように構成されている。図４において、前記パリティ部分１０４に１と表記された元素を除いた元素は全部０である。
【００３２】
前記パリティ検査行列１００の全ての行を元素単位で合算すると、全ての行を合算して作られたベクトルＳ＝［ＳＩ：ＳＰ］と符号語ベクトルＣとの内積が０であるべきことは前記数式（１）から明らかである。ここで、本願明細書全般に亘って合算とは、ガロアフィールド（Ｇａｌｏｉｓ  Ｆｉｅｌｄ）足し算を意味する。パリティ部分１０４において第一のパリティビットを除いた残りのパリティビットに対応する変数ノードはいつも次数が２であるので、ＳＰは［１，０，０，…，０］のように最初のビットを除くと全部０となる。従って、前記数式（１）から下記数式（３）が導かれて、第一のパリティビットｐ０が計算される。
【００３３】
【数３】
2006157926.tif 000005
【００３４】
パリティ検査行列１００の各行を下記の数式（４）とするとき、下記数式（５）が成り立つことは自明である。
【００３５】
【数４】
2006157926.tif 000006
【００３６】
【数５】
2006157926.tif 000007
【００３７】
ここで、ｊは０と（Ｎ−Ｋ−１）との間の整数である。
したがって、下記数式（６）からｐ１が求められ、このように順次にパリティビットを求めることができる。
【００３８】
【数６】
2006157926.tif 000008
【００３９】
まず、全ての行に対してｈｊＩＣＩＴを求め、その後、前記求められた値を累積しながらｚ＋１番目のパリティビットを求める方法は次のようである。ｈｊＰ（ｚ）をｈｊＰのｚ番目の要素とし、ＨＰの第一列であるベクトルｇを下記の数式（７）のように表記するとき、下記数式（８）が求められる。
【００４０】
【数７】
2006157926.tif 000009
【００４１】
【数８】
2006157926.tif 000010
【００４２】
図４のパリティ検査行列１００において１と表記された各元素を所定のサイズＰ＊Ｐを有する単位行列（Ｉｄｅｎｔｉｔｙ  Ｍａｔｒｉｘ）に置換すると、パリティ部分１０４をＰ倍のサイズを有するパリティ部分に拡張することができる。ここで、Ｐは（Ｎ−Ｋ）の約数になることは明らかである。このように拡張されたパリティ部分を有するブロックタイプのＬＤＰＣ符号は、不規則的に生成されたＬＤＰＣ符号に比べて割りに小さなメモリ容量でＬＤＰＣ符号を表現することができ、フレーム長さに柔軟性を有することができ、復号器の具現が比較的簡単であるという長所をもっている。ブロックタイプのＬＤＰＣ符号は、ベクトルＬＤＰＣ符号、ブロックＬＤＰＣ符号、或いはＧＤＭ（Ｇｅｎｅｒａｌｉｚｅｄ  Ｄｕａｌ−ｄｉａｇｏｎａｌ  ）ＬＤＰＣ符号などのように呼ばれる。
【００４３】
ＧＤＭ  ＬＤＰＣ符号のパリティ検査行列は、アレー符号（Ａｒｒａｙ  ｃｏｄｅ）と同様に、Ｐ＊Ｐ単位行列Ｉの各行をｓだけ循環シフトした行列をサブブロック（ｓｕｂｂｌｏｃｋ）として有する。ここで、ｓはシフトインデックス（ｓｈｉｆｔ ｉｎｄｅｘ）である。
【００４４】
次に、図５を参照して、特にＧＤＭ  ＬＤＰＣ符号を定義するブロックパリティ検査行列について説明する。ここでは（２７，１５）ＧＤＭ  ＬＤＰＣ符号を一例として示している。
【００４５】
図５において、ｎはＮ／Ｐであり、ｋはＫ／Ｐと定義すると、図示のパリティ検査行列１１０の場合Ｐ＝３、ｎ＝９、ｋ＝５である。パリティ検査行列１１０は情報部分１１２とパリティ部分１１４とに分割され、前記パリティ部分１１４は３＊３サイズの行列を含むサブブロックに分割される。よって、前記パリティ部分１１４は４つのサブブロック行（ｓｕｂｂｌｏｃｋ  ｒｏｗ）及び４つのサブブロック列（ｓｕｂｂｌｏｃｋ  ｃｏｌｕｍｎ）を有する。図示されてはいないが、情報部分１１２はゼロ行列やシフトされた単位行列だけで構成され、非ゼロ（ｎｏｎ−ｚｅｒｏ）サブブロックの位置及びシフトされた単位行列のシフトインデックスｓは符号の密度進化及びサイクル特性を考慮して決定される。
【００４６】
パリティ部分１１４の最初のサブブロック行及び最初のサブブロック列から最終のサブブロック行及び最終のサブブロック列のサブブロックまでのサブブロックで形成される第一の対角部分には全部シフトされた単位行列が配置される。但し、パリティ部分１１４はシフトされた単位行列においてただ１つの１が穿孔された一つのブロック１１６を有する。第二の対角部分は最初のサブブロック列の第二のサブブロック行から始まるサブブロックからなり、同様にシフトされた単位行列で構成される。すると、第二の対角部分は第一の対角部分から１だけシフトされたものと理解できる。パリティ部分１１４において空いているサブブロックはゼロ行列である。
【００４７】
サブブロックに含まれる行列は、単位行列Iを対角方向にシフトした行列、即ちシフトされた単位行列である。下記の数式（９）にシフトされた単位行列の一例を示した。
【００４８】
【数９】
2006157926.tif 000011
【００４９】
シフトインデックスｓを有するシフトされた単位行列σｓは、単位行列Ｉをｓ回数だけシフトした構造を有するので、σ０＝１である。図５に示したパリティ部分１１４の全ての対角部分は σｓのサブブロックから構成される。前記シフトされた単位行列は単位行列Ｉの各列を循環シフトした循環順列行列（ｃｙｃｌｉｃ  ｐｅｒｍｕｔａｔｉｏｎ  ｍａｔｒｉｘ）である。
【００５０】
ＧＤＭ  ＬＤＰＣ符号は図６に示すようなパリティ検査行列のパリティ部分を用いて作られる。図６の２進行列において対角線で表示した対角部分３０ａ、３０ｂ、３２は全部１である。図６の二重対角行列は第二の対角部分３０ａ、３０ｂを第一の対角部分３２からｆだけシフトした構造であり、第二の対角部分３０ａの一番目の元素を０にすると（つまり、穿孔すると）、ｐ０の符号化が可能になり、残りのパリティビットは図４のパリティ検査行列１００と類似した方式で順次に符号化される。前記ｐ０から出発して図示の矢印方向に沿って順次に全てのパリティビットが符号化される。ここで、ｒ＝ｎ−ｋ＝（Ｎ−Ｋ）／Ｐである。
【００５１】
図７は図６に示したパリティ部分から拡張されたブロックパリティ部分を示す図である。
【００５２】
図７において、図示のパリティ部分は第一、第二の対角部分４０、４２ａ、４２ｂに配置されたシフトされた単位行列σｊと残りのサブブロックに配置されたゼロ行列とからなる。第一の対角部分４０はシフトインデックス０、２、…、２（ｒ−ｆ−１）、２（ｒ−ｆ）、…２（ｒ−１）を有するシフトされた単位行列からなる。前記第一の対角部分４０からサブブロックシフト量ｆだけシフトされた第二の対角部分４２ａ、４２ｂはシフトインデックス１、３、…、２（ｒ−ｆ−１）＋１、…、２（ｒ−ｆ）＋１、…、２（ｒ−１）＋１を有するシフトされた単位行列からなる。前記シフトされた単位行列はそれぞれＰ＊Ｐのサイズを有するので、第二の対角部分４２ａは第一の対角部分４２からＰ＊ｆ個の列だけ離隔される。
【００５３】
前記パリティ部分において、第二の対角部分の第一のシフトされた単位行列σｊ１をゼロ行列に置換するに代わりに、σｊ１の第一行の１だけを０に変えると、全体として非ゼロ元素を循環しながら全てのパリティビットが符号化できる。
【００５４】
更に図５を参照すると、パリティ部分１１４は図７に示したパリティ部分にサブブロックシフト量ｆ＝３を適用することにより作られたものである。パリティビットの置換（ｐｅｒｍｕｔａｔｉｏｎ）を通じてｊ０＝ｊ１＝０のようにし、サブブロック１１６のσｊ０の第一行だけを全部０に変えてもパリティ検査行列の固有の特性を失わない。
【００５５】
各サブブロックのシフトインデックスjiは全てのパリティビットが順次に符号化できるように決定される。すなわち、両対角部分に該当する全てのシフトインデックスを合算した和をＰを法とした（ｍｏｄｕｌｏ）値が、Ｐと互いに素になるように、下記の数式（１０）に基づいて前記 jiが決められる。
【００５６】
【数１０】
2006157926.tif 000012
【００５７】
ここで、ｇｃｄは最大公約数（ｇｒｅａｔ  ｃｏｍｍｏｎ  ｄｉｖｉｓｏｒ）を意味する。
【００５８】
図８はＰ＝３であり、Ｎ−Ｋ＝１５であるＧＤＭ  ＬＤＰＣ符号を定義するパリティ検査行列を示す図である。図示のように、パリティ検査行列１２０は情報部分１２２とパリティ部分１２４とからなり、パリティ部分１２４は２つの対角部分を除いた部分が全部ゼロ行列で充填される。第一の対角部分は、パリティ部分１２４の最初のサブブロック行及び最初のサブブロック列から最終のサブブロック行及び最終のサブブロック列のサブブロックまでのサブブロックで形成され、第二の対角部分は前記第一の対角部分から２サブブロックだけシフトされたもので、シフトされた単位行列で充填される。
【００５９】
ここで、前記パリティ部分１２４の第一行／第一列の元素１３０を穿孔すると、前述の数式（５）に基づいて最初に符号化されるパリティビットは第一行の７番目の元素１２６により得られる。次のパリティビットは矢印方向に沿って符号化が進行され、第一列の１２番目の元素１２８によって最後のパリティビットが得られる。
【００６０】
ところが、図８のように構成されるＧＤＭ  ＬＤＰＣ符号は次数が１である列が存在することになる。次数が１である列の元素は反復復号の影響を十分に受けることができないようになる。より具体的に、図８の場合、元素１３０の穿孔によって元素１２８は他の行の影響を受けないようになる。次に、次数が１である列が存在する符号ビットをなくす方法について説明する。
【００６１】
図９は本発明の実施形態によるパリティ検査行列のパリティ部分の構造を示す図である。ここで、前記パリティ検査行列の情報部分は本発明の主な要旨とは関連がないので図示を省略した。
【００６２】
図９に示すように、パリティ部分は対角部分５０、５０ａ、５０ｂに配置されたシフトされた単位行列σｊと残りのサブブロックに配置されたゼロ行列とからなる。ここで、ｊは０と２（ｒ−１）との間の整数であり、ｒはｎ−ｋである。第一の対角部分５０は偶数個のシフトインデックス、０、２、…、２（ｒ−ｆ−１）、２（ｒ−ｆ）、…２（ｒ−１）を有するシフトされた単位行列からなる。前記第一の対角部分５０からサブブロックシフト量ｆだけシフトされた第二の対角部分５２ａ、５２ｂは奇数個のシフトインデックス１，３、２（ｒ−ｆ−１）＋１、…、２（ｒ−ｆ）＋１、…、２（ｒ−１）＋１を有するシフトされた単位行列からなる。前記シフトされた単位行列のシフトインデックスはＬＤＰＣ符号の性能を最大化するとともに復号器の構造を単純化することができるように決定されるが、前記シフトインデックスの決定は本発明の主な要旨とは関係がないので、その詳細を省略する。
【００６３】
特に、次数が１である列を含むサブブロック列５４にはただ１つの１だけを含む行列（以下、デルタ行列δｉと称する）が挿入される。前記デルタ行列δｉはシフトされた単位行列と同様にＰ＊Ｐのサイズを有し、第一列のｉ番目のビットだけが１である行列である。ここで、ｉは０と（Ｐ−１）との間の整数であり、δ−１はゼロ行列である。下記の数式（１１）に４＊４δｉを示した。
【００６４】
【数１１】
2006157926.tif 000013
【００６５】
パリティ部分のサイズは（Ｎ−Ｋ）＊（Ｎ−Ｋ）であり、ｎ＝Ｎ／Ｐ及びｋ＝Ｋ／Ｐを考慮すると、前記サブブロック列５４は（ｎ−ｋ−２）個のデルタ行列を含む。ここで、（ｎ−ｋ−２）は奇数であり、デルタ行列の位置は任意に決定される。
【００６６】
図９の行列の全ての行を合算すると、第一のパリティビットに該当する元素だけが１であり、残りの元素は全部０となる。従って、前述のように順次にパリティビットが符号化できるようになる。
【００６７】
図１０は本発明の実施形態によるＬＤＰＣ符号の一例及び符号化方法を示す図である。図１０に記載の数字はパリティビットの符号化される順序を意味する。
【００６８】
図１０を参照すると、パリティ検査行列Ｈ１４０は、情報部分ＨＩ１４２とパリティ部分ＨＰ１４４とから構成され（Ｈ＝［ＨＩ：ＨＰ］）、パリティ部分１４４は２つの対角部分１５４ａ、１５６ａ、１５６ｂを含む。パリティ部分１４４の第一のサブブロック列１５０は２つのシフトされた単位行列１５４、１５６と１つのデルタ行列１５２とを含む。
【００６９】
前述したようにパリティ検査行列Ｈ１４０の全ての行を合算したベクトルはＳ＝［ＳＩ：ＳＰ］のようになる。すると、ＨＣＴ＝０からＳＣＴ＝ｐ０＋ＳＩＣＩＴ＝０となることは明らかであり、ｐ０＝ＳＩＣＩＴ・ｐ１に基づいて元素１４６によってｐ０が求められる。その後、 ｈ０ＩＣＩＴ＋ｐ０＋Ｐ１＝０によりｐ１が符号化され、図１０に示した矢印方向に沿って全てのパリティビットが符号化される。最後のパリティビットは元素１４８を用いて符号化される。但し、デルタ行列が存在するサブブロック１５２の場合は、更にｐ０をも考慮することによって、当該サブブロック１５２の１の元素を含む列に該当するパリティビットが符号化される。即ち、符号化順序によって整列された（ｏｒｄｅｒｅｄ）パリティビットはｐ０’、ｐ１’、…ｐ（Ｎ−Ｋ−１）’を示し、ｈ＾ｔはｐｔ’の順序によって再整列された（ｒｅｏｒｄｅｒｅｄ）行を示すとき、パリティビットは下記の数式（１２）により符号化される。
【００７０】
【数１２】
2006157926.tif 000014
【００７１】
図１１は本発明の実施形態によるＬＤＰＣ符号を生成する装置を示すブロック図である。
【００７２】
同図において、コンピュータシステム２００は、システムバス２３０を通してメモリシステム２１８と連結されるプロセッサ２１２を含む。プロセッサ２１２はメモリシステム２１８から必要なパラメータを読み出し、前記パラメータを用いてＬＤＰＣ符号を生成して前記メモリシステム２１８に記憶する。前記ＬＤＰＣ符号を生成するために、プロセッサ２１２はシステムバス２３０を通してメインメモリ２１０、入力装置２１４、及び出力装置２１６に連結されることができる。
【００７３】
ユーザは入力装置２１４を操作してシステムバス２３０を通してプロセッサ２１２へコマンド信号を入力する。プロセッサ２１２は前記コマンド信号による動作を遂行し、その結果を出力装置２１６を通してユーザに表示する。前記結果はユーザの要求に応じてメモリシステム２１８に記憶できる。
【００７４】
本発明の実施形態によるＬＤＰＣ符号の生成動作は周知の対応するコンピュータプログラムコードの形態でメモリシステム２１８に記憶されるか、対応するハードウェアロジックで実現される。前記ＬＤＰＣ符号の生成に必要なパラメータ又は前記パラメータを計算するに必要なプログラムコードが前記メモリシステム２１８に記憶される。プロセッサ２１２によって生成されたＬＤＰＣ符号は前記メモリシステム２１８にサブブロック別に記憶される。
【００７５】
図１２は本発明の実施形態によるＬＤＰＣ符号を生成する動作を示すフローチャートである。ここでは、ＬＤＰＣ符号を定義するパリティ検査行列を生成する動作を示す。
【００７６】
図１２に示すように、ステップ３００で、長さＫの情報シーケンスを長さＮの符号語に符号化するために検査ノードに対する（Ｎ−Ｋ）個の行及び変数ノードに対するＮ個の列を有するパリティ検査行列が形成される。ステップ３０２では、前記パリティ検査行列はＫ個の列を有する情報部分行列と、（Ｎ−Ｋ）個の列を有するパリティ部分行列とに分割される。そして、ステップ３０４では、前記パリティ部分行列はＰ＊Ｐのサイズを有するサブブロックに更に分割される。前記Ｐは（Ｎ−Ｋ）の約数であり、前記パリティ部分行列は（Ｎ−Ｋ）／Ｐ＝（ｎ−ｋ）個のサブブロック行及び（ｎ−ｋ）個のサブブロック列を有することになる。
【００７７】
ステップ３０６にて、前記パリティ部分行列の第一のサブブロック行／第一のサブブロック列から最後のサブブロック行／最後のサブブロック行を含む第一対角部分と、前記第一対角部分からサブブロックシフト量ｆだけシフトされた第２対角部分とが決定される。ステップ３０８では、前記第１対角部分及び第２対角部分のサブブロックには所定のサブブロックシフト量ｆ及びシフトインデックスｊｉを有するシフトされた単位行列が夫々配置される。前記サブブロックシフト量ｆ及びシフトインデックスｊｉは前記パリティ検査行列の符号化性能を最大化できるように決められる。このとき、従来のＧＤＭ  ＬＤＰＣ符号とは異なり、前記第１及び第２対角部分のいずれの元素も０に穿孔されない。
【００７８】
ステップ３１０において、前記第１及び第２対角部分を除いた残りのサブブロックはゼロ行列で充填される。すると、ステップ３１２で前記パリティ部分行列における次数が１である列を含むサブブロック列の奇数個のゼロ行列をデルタ行列に置換する。前記デルタ行列は前述のようにただ１つの１だけを含み、残りの元素は全部０である行列を意味する。ステップ３１４にて前記のように生成されたパリティ検査行列がメモリシステムに記憶される。
【００７９】
図１３は本発明の実施形態によるＬＤＰＣ符号のパリティ部分の具現例を示す図である。
【００８０】
図１３を参照すると、パリティ部分ＨＰの二重対角部分は全部単位行列Ｉであり、第一サブブロック列の２つのサブブロックはデルタ行列δ０とシフトされた単位行列σｓである。前記シフトされた単位行列σｓは単位行列Ｉをｓだけシフトした構造である。このように、第一サブブロック列にデルタ行列δ０だけを挿入して次数が１である列を取り除くことにより簡単なＬＤＰＣ符号化ができるようになる。ここで、ｓはサブブロックサイズであるＰと互いに素である値である。かかるＬＤＰＣ符号はパリティ構造を極めて単純化し、極めて規則的なパリティビットの符号化が可能になる。
【００８１】
ｓ＝１である場合に符号化順序は下記の数式（１３）の通りである。
【００８２】
【数１３】
2006157926.tif 000015
【００８３】
図１４は本発明の実施形態によるパリティ検査行列においてＰ＝３である場合の例を示す図である。
【００８４】
図１４に示すように、パリティ検査行列１６０は、情報部分１６２とパリティ部分１６４とからなり、パリティ部分１６４の二重対角部分１７０、１７２ａ、１７２ｂには３＊３単位行列が配置される。また、第一サブブロック列は１だけシフトされた単位行列１６８と、だた一つの１だけを含むデルタ行列１６６とを含む。
【００８５】
前述のような組織的形態のＬＤＰＣ符号は、シフトされた単位行列形態のサブブロック及びただ１つの１だけを有するデルタ行列形態のサブブロック（デルタブロック）を有する。メモリシステムは、ブロックＬＤＰＣ符号を表現するために必要なパラメータを守る。前記パラメータは、各検査ノードの次数、各変数ノードの次数、各行における非ゼロ行列の位置、そして各非ゼロ行列のシフトインデックスｓに対する情報であって、正の整数に表現される。本発明の実施形態によるメモリシステムは、デルタ行列を含むサブブロックを他のサブブロックと区分して記憶する。
【００８６】
本発明の一実施形態によれば、メモリシステムは非ゼロ行列である各サブブロックがデルタ行列を構成するか、或いはシフトされた単位行列を構成するかを示す１ビットのサブブロック情報を管理する。シフトされた単位行列を含むサブブロックのｓは、前記シフトされた単位行列のシフトインデックスを示し、デルタ行列を含むサブブロックのｓは、前記デルタ行列に含まれる１の位置を示す。
【００８７】
本発明の他の実施形態によれば、メモリシステムはシフトインデックスｓを用いて、各サブブロックがデルタ行列を含む非ゼロ行列であるか否かを表示する。ｓは０より大きいか等しく、Ｐより小さいので、ｓを表現するためにはｂ＝「ｌｏｇ２Ｐ」ビットが必要となる。ここで、［］はシーリング（ｃｅｉｌｉｎｇ）関数を意味する。従って、メモリシステムはシフトインデックスｓに対してｂより大きいか等しいビット数を割り当て、デルタブロックに対してはＰより大きいか等しいｓ値を表示する。
【００８８】
前記メモリシステムから取り出されたパリティ検査行列はＬＤＰＣ符号の符号器及び復号器に提供される。ＬＤＰＣ符号器は入力される情報シーケンスＣＩ及び前記パリティ検査行列を用いて前述の数式（１２）に基づいてパリティシーケンスＣＰを求め、ＣＩとＣＰを符号語Ｃに連接させる。前記符号語は変調器及びＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）ユニットなどを経て受信機に伝送される。
【００８９】
次に、図１５を参照して本発明の実施形態によるパリティ検査行列を用いてブロックＬＤＰＣ符号を復号化する復号化装置の内部構造について説明する。
【００９０】
同図において、前記復号化装置はブロック制御器（ｂｌｏｃｋ  ｃｏｎｔｒｏｌｌｅｒ）４１０と、変数ノード部分４００と、加算器４１５と、デインタリーバ（ｄｅ−ｉｎｔｅｒｌｅａｖｅｒ）４１７と、インタリーバ（ｉｎｔｅｒｌｅａｖｅｒ）４１９と、制御器４２１と、メモリ４２３と、加算器４２５と、検査ノード部分４５０、硬判定復号器（ｈａｒｄ−ｄｅｃｉｓｉｏｎ  ｄｅｃｏｄｅｒ）４２９とから構成される。前記変数ノード部分４００は、変数ノードプロセッサ４１１、スイッチ４１３、４１４から構成され、前記検査ノード部分４５０は検査ノードプロセッサ４２７から構成される。前記メモリ４２３は各検査ノードの次数、各変数ノードの次数、各行における非ゼロ行列の位置、そして各非ゼロ行列のシフトインデックスｓを用いてパリティ検査行列を表現する。加えて、前記メモリ４２３には非ゼロ行列である各サブブロックがデルタ行列を含むか、若しくはシフトされた単位行列を含むかを示す１ビットのサブブロック情報を更に含むことができる。
【００９１】
まず、無線チャンネルを通じて受信される受信信号は前記ブロック制御器４１０に入力される。前記ブロック制御器４１０は前記受信信号のブロックサイズを決定し、また前記ＬＤＰＣ復号化装置に対応する符号化装置において穿孔された情報語部分が存在する場合、前記穿孔された位置に０を挿入することで全体としてのブロックサイズを制御する。
【００９２】
前記変数ノードプロセッサ４１１は、前記ブロック制御器４１０からの信号を受信して前記信号の確率を計算し、前記計算された確率をもって現在の確率を更新する。ここで、前記変数ノードプロセッサ４１１は、所定のパリティ検査行列に相応するように変数ノードと検査ノードとを連結し、前記各変数ノードに連結された検査ノードの個数だけの入力値及び対応する出力値を有する更新演算を遂行する。前記各変数ノードに連結された検査ノードの個数は、前記パリティ検査行列を構成する各列の重み（ｗｅｉｇｈｔ）（例えば、次数）、つまり各列における１の個数と同一である。従って、前記パリティ検査行列を構成する各列の重みに基づいて前記変数ノードプロセッサ４１１の内部演算が遂行される。前記スイッチ４１４は前記スイッチ４１３がスイッチオンされなかった場合にスイッチオンされて、前記変数ノードプロセッサ４１１から出力される出力信号を前記加算器４１５に伝達する。
【００９３】
前記加算器４１５は前記変数ノードプロセッサ４１１の出力信号から以前の反復復号（ｉｔｅｒａｔｉｏｎ  ｄｅｃｏｄｉｎｇ）サイクルで生成された前記インタリーバ４１９の出力信号を減算する。ここで、最初の復号化サイクルである場合、前記インタリーバ４１９の出力信号は０に見なされる。
【００９４】
前記デインタリーバ４１７は、前記加算器４１５から受信した信号の差を所定の方法によってデインタリーブ（ｄｅｉｎｔｅｒｌｅａｖｅ）する。ここで、前記デインタリーバ４１７の内部構造は前記パリティ検査行列に相応する構造を有するが、その理由は前記パリティ検査行列の１の値を有する元素の位置に応じて前記デインタリーバ４１７に対応するインタリーバ４１９の動作が相異なるようになるからである。
【００９５】
前記加算器４２５は、以前の反復復号工程で生成された前記検査ノードプロセッサ４２７の出力信号から前記デインタリーバ４１７の出力信号を減算する。前記検査ノードプロセッサ４２７は前記パリティ検査行列に相応するように検査ノードを変数ノードに連結し、前記各検査ノードに連結された変数ノードの個数だけの入力値及び対応する出力値を有する更新演算が遂行される。前記各検査ノードに連結された変数ノードの個数は前記パリティ検査行列を構成する各行の重みと同一である。従って、前記パリティ検査行列を構成する各行の重みに基づいて前記検査ノードプロセッサ４２７の内部演算が遂行される。
【００９６】
ここで、前記インタリーバ４１９は前記制御器４２１の制御のもとに、所定のインタリーブ方法で前記加算器４２５から受信した信号をインタリーブする。ここで、前記制御器４２１は前記メモリ４２３に記憶されているインタリーブ情報を読み出して前記インタリーバ４１９のインタリーブ動作を制御するようになる。また、最初の復号化サイクルである場合は、前記デインタリーバ４１７の出力信号は０に見なされることは明らかである。
【００９７】
前記のような復号化動作を繰り返して遂行し、所定の反復回数だけ反復復号を遂行した後、前記スイッチ４１４は前記変数ノードプロセッサ４１１と加算器４１５との間をスイッチオフ（ｓｗｉｔｃｈｉｎｇ  ｏｆｆ）し、前記スイッチ４１３は前記変数ノードプロセッサ４１１と硬判定復号器４２９との間をスイッチオンする。前記硬判定複合機４２９は前記変数ノードプロセッサ４１１から出力された信号を受信して硬判定した後、その硬判定値を復号ビットとして最終的に出力する。
【００９８】
本発明の他の実施形態によれば、前記ブロック制御器４１０から受信された信号に対する変数ノードプロセッシング及び検査ノードプロセッシングが終了されると、変数ノードプロセッサ４１１の出力信号がスイッチ４１３によって硬判定復号器４２９に伝達される。前記硬判定復号器４２９による硬判定値はバッファ（図示せず）にバッファされ、パリティ検査器（図示せず）は前記硬判定値によるパリティ検査を遂行する。ここで、前記パリティ検査は前記制御器４２１により遂行されることもできる。前記パリティ検査に失敗すると、パリティ検査器は制御器４２１に更なる反復復号が必要であることを通知し、前記ブロック制御器４１０からの信号に対して変数ノードプロセッシング及び検査ノードプロセッシングが再び遂行される。これに対し、前記パリティ検査に成功すると、前記バッファされた硬判定値は復号ビットとして最終的に出力される。
【００９９】
次に、前述のような本発明の動作によって得られる主な効果について説明する。
【０１００】
本発明によれば、ＧＤＭ  ＬＤＰＣ符号において次数が１である変数ノードを取り除くことで、全てのパリティビットの符号化に密度進化を適用させて符号化性能の向上を図ることができる。また、ブロック構造を維持するとともに、ＬＤＰＣ符号を表現するに必要なメモリ容量を節減できるようになる。その結果、効率的な符号化を実現することができる。
【０１０１】
以上、本発明の詳細について具体的な実施形態に基づき説明してきたが、本発明の範囲を逸脱しない限り、各種の変形が可能なのは当該分野における通常の知識をもつ者ならば自明なことである。
【図面の簡単な説明】
【０１０２】
【図１】一般的な（１０、５）ＬＤＰＣ符号の一例を示すパリティ検査行列を示す図である。
【図２】図１に示したＬＤＰＣ符号のファクターグラフを示す図である。
【図３Ａ】ＬＤＰＣ符号の復号動作を示す概念図である。
【図３Ｂ】ＬＤＰＣ符号の復号動作を示す概念図である。
【図４】ＬＤＰＣ符号の効率的な符号化のためのパリティ検査行列の一例を示す図である。
【図５】ＧＤＭ  ＬＤＰＣ符号を定義するブロックパリティ検査行列を示す図である。
【図６】ＧＤＭ  ＬＤＰＣ符号を生成するための基底パリティ検査行列のパリティ部分及びＧＤＭ  ＬＤＰＣ符号化工程を示す図である。
【図７】図６に示したパリティ部分から拡張されたブロックパリティ部分を示す図である。
【図８】Ｐ＝３であり、Ｎ−Ｋ＝１５であるＧＤＭ  ＬＤＰＣ符号を定義するパリティ検査行列及びＧＤＭ  ＬＤＰＣ符号化工程を示す図である。
【図９】本発明の実施形態によるパリティ検査行列のパリティ部分の構造を示す図である。
【図１０】本発明の実施形態によるＬＤＰＣ符号の一例及びＬＤＰＣ符号化方法を示す図である。
【図１１】本発明の実施形態によるＬＤＰＣ符号を生成する装置を示すブロック図である。
【図１２】本発明の実施形態によるＬＤＰＣ符号を生成する動作を示すフローチャートである。
【図１３】本発明の実施形態によるＬＤＰＣ符号のパリティ部分の具現例を示す図である。
【図１４】本発明の実施形態によるパリティ検査行列においてＰ＝３である場合の例を示す図である。
【図１５】本発明の実施形態によるブロックＬＤＰＣ符号を復号化する復号化装置を示すブロック図である。
【符号の説明】
【０１０３】
２０  変数ノード
２０ｂ  変数ノード
２２ａ  検査ノード
２４  検査ノードメッセージ
２６  変数ノードメッセージ
２２  検査ノード
２５  ブランチ（エッジ）
１００  パリティ検査行列
１０２  情報部分
１０４  パリティ部分
１０６  第１列
１１０  パリティ検査行列
１１２  情報部分
１１４  パリティ部分
１１６  ブロック
３０ａ、３０ｂ、３２  対角部分
４０、４２ａ、４２ｂ  対角部分
１２０  パリティ検査行列
１２２  情報部分
１２４  パリティ部分
５０、５０ａ、５０ｂ  対角部分
１４２  情報部分
１４４  パリティ部分
１７０、１７２ａ、１７２ｂ  二重対角部分
２００  コンピューターシステム
２１２  プロセッサ
２１０  メインメモリ
２１４  入力装置
２１６  出力装置
２１８  メモリシステム
２３０  システムバス
１６０  パリティ検査行列
１６２  情報部分
１６４  パリティ部分
４７０  ブロック制御器
４００  変数ノード部分
４１０  ブロック制御器
４１５  加算器
４１７  デインタリーバ
４１９  インタリーバ
４２１  制御器
４２３  メモリ
４２５  加算器
４５０  検査ノード部分
４２９  硬判定復号器
４１１  変数ノードプロセッサ
４１３、４１４  スイッチ
４２７  検査ノードプロセッサ
【図１】
2006157926.tif 000016
【図２】
2006157926.tif 000017
【図３Ａ】
2006157926.tif 000018
【図３Ｂ】
2006157926.tif 000019
【図４】
2006157926.tif 000020
【図５】
2006157926.tif 000021
【図６】
2006157926.tif 000022
【図７】
2006157926.tif 000023
【図８】
2006157926.tif 000024
【図９】
2006157926.tif 000025
【図１０】
2006157926.tif 000026
【図１１】
2006157926.tif 000027
【図１２】
2006157926.tif 000028
【図１３】
2006157926.tif 000029
【図１４】
2006157926.tif 000030
【図１５】
2006157926.tif 000031
【外国語明細書】
2006157926.tif 000032
2006157926.tif 000033
2006157926.tif 000034
2006157926.tif 000035
2006157926.tif 000036
2006157926.tif 000037
2006157926.tif 000038
2006157926.tif 000039
2006157926.tif 000040
2006157926.tif 000041
2006157926.tif 000042
2006157926.tif 000043
2006157926.tif 000044
2006157926.tif 000045
2006157926.tif 000046
2006157926.tif 000047
2006157926.tif 000048
2006157926.tif 000049
2006157926.tif 000050
2006157926.tif 000051
2006157926.tif 000052
2006157926.tif 000053
2006157926.tif 000054
2006157926.tif 000055
2006157926.tif 000056
2006157926.tif 000057
2006157926.tif 000058
2006157926.tif 000059
2006157926.tif 000060
2006157926.tif 000061
2006157926.tif 000062
2006157926.tif 000063
2006157926.tif 000064