(57)【要約】【課題】適応的信頼性伝播（ＡＢＰ）復号を的確に行うことが可能な復号方法、復号装置、およびプログラムを提供する。【解決手段】受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播（Ｂｅｌｉｅｆ  ｐｒｏｐａｇａｔｉｏｎ：ＢＰ）を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号方法であって、受信語の信頼度の大きさに応じてインデックスのソートを行う第１ステップＳＴ３２と、パリティ検査行列の対角化を行う第２ステップＳＴ３３と、対角化されたパリティ検査行列を用いて信頼性伝播を行う第３ステップＳＴ３４と、を有し、受信語の信頼度のソートに伴う、受信語の順番の入れ替え、およびパリティ検査行列の列の入れ替えの少なくともいずれかを、対応するインデックスの入れ替えで代用する。【選択図】図８
2008199148.tif 000002
【特許請求の範囲】
【請求項１】
受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播（Ｂｅｌｉｅｆ  ｐｒｏｐａｇａｔｉｏｎ：ＢＰ）を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号方法であって、
受信語の信頼度の大きさに応じてインデックスのソートを行う第１ステップと、
パリティ検査行列の対角化を行う第２ステップと、
対角化されたパリティ検査行列を用いて信頼性伝播を行う第３ステップと、を有し、
上記受信語の信頼度のソートに伴う、受信語の順番の入れ替え、およびパリティ検査行列の列の入れ替えの少なくともいずれかを、対応するインデックスの入れ替えで代用する
復号方法。
【請求項２】
上記インデックスにパリティ検査行列の列インデックスを用い、パリティ検査行列の対角化の時に、入れ替えられたインデックスの先頭の列から順に基本変形を施す
請求項１記載の復号方法。
【請求項３】
受信語の順番を入れ替えることなく、そのまま信頼性伝播（ＢＰ）で更新された値を出力する
請求項２記載の復号方法。
【請求項４】
パリティ検査行列の列同士の入れ替えを行わない
請求項３記載の復号方法。
【請求項５】
上記信頼性伝播（ＢＰ）で値が更新されるたびに、インデックスの順番を更新する
請求項４記載の復号方法。
【請求項６】
受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播（Ｂｅｌｉｅｆ  ｐｒｏｐａｇａｔｉｏｎ：ＢＰ）を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号装置であって、
受信語の信頼度の大きさに応じてインデックスのソートを行うソート部と、
パリティ検査行列の対角化を行う対角化部と、
対角化されたパリティ検査行列を用いて信頼性伝播を行う信頼性伝播部と、を有し、
上記ソート部は、受信語の信頼度のソートに伴う、受信語の順番の入れ替え、およびパリティ検査行列の列の入れ替えの少なくともいずれかを、対応するインデックスの入れ替えで代用する
復号装置。
【請求項７】
上記インデックスにパリティ検査行列の列インデックスを用い、パリティ検査行列の対角化の時に、入れ替えられたインデックスの先頭の列から順に基本変形を施す
請求項６記載の復号装置。
【請求項８】
受信語の順番を入れ替えることなく、そのまま信頼性伝播（ＢＰ）で更新された値を出力する
請求項７記載の復号装置。
【請求項９】
パリティ検査行列の列同士の入れ替えを行わない
請求項８記載の復号装置。
【請求項１０】
上記信頼性伝播（ＢＰ）で値が更新されるたびに、インデックスの順番を更新する
請求項９記載の復号装置。
【請求項１１】
受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播（Ｂｅｌｉｅｆ  ｐｒｏｐａｇａｔｉｏｎ：ＢＰ）を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す処理をコンピュータに実行させるプログラムであって、
受信語の信頼度の大きさに応じてインデックスのソートを行う第１処理と、
パリティ検査行列の対角化を行う第２処理と、
対角化されたパリティ検査行列を用いて信頼性伝播を行う第３処理と、を含み、
上記受信語の信頼度のソートに伴う、受信語の順番の入れ替え、およびパリティ検査行列の列の入れ替えの少なくともいずれかを、対応するインデックスの入れ替えで代用する処理をコンピュータに実行させるプログラム。
【請求項１２】
上記インデックスにパリティ検査行列の列インデックスを用い、パリティ検査行列の対角化の時に、入れ替えられたインデックスの先頭の列から順に基本変形を施す処理をコンピュータに実行させる
請求項１１記載のプログラム。
【請求項１３】
受信語の順番を入れ替えることなく、そのまま信頼性伝播（ＢＰ）で更新された値を出力する処理をコンピュータに実行させる
請求項１２記載のプログラム。
【請求項１４】
パリティ検査行列の列同士の入れ替えを行わない
請求項１３記載のプログラム。
【請求項１５】
上記信頼性伝播（ＢＰ）で値が更新されるたびに、インデックスの順番を更新する処理をコンピュータに実行させる
請求項１４記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば代数的手法を用いた誤り訂正符号技術を実現するための回路およびプログラム記憶媒体に関して適用される復号装置、復号方法、およびプログラムに関するものである。
【背景技術】
【０００２】
代数幾何符号、たとえばリードソロモン（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ）符号やその部分体部分符号としてのＢＣＨ符号には、その代数的性質を利用した、性能・計算コスト共に良い復号法が知られている。
【０００３】
たとえば、符号長ｎ、情報長ｋ、定義体ＧＦ（ｑ）（ｑ＝ｐｍ，ｐ：素数）、最小距離ｄ＝ｎ−ｋのＲｅｅｄ−Ｓｏｌｏｍｏｎ符号をＲＳ（ｎ，ｋ）とすると、硬判定受信語をハミング（Ｈａｍｍｉｎｇ）距離が最小の符号語に復号する最小距離復号（通常復号）はｔ＜ｄ／２を満たすｔ個の誤りシンボルの訂正を保証するものとして良く知られている。
【０００４】
また、グルスワミ−スーダン（Ｇｕｒｕｓｗａｍｉ−Ｓｕｄａｎ）によるリスト復号（以下Ｇ−Ｓリスト復号）は、ｔ＜√ｎｋを満たすｔ個の誤りシンボルの訂正を保証している（非特許文献１参照）。
【０００５】
Ｇｕｒｕｓｗａｍｉ−Ｓｕｄａｎのリスト復号の拡張版として軟判定受信語を用いたコータ−バルディ（Ｋｏｅｔｔｅｒ−Ｖａｒｄｙ）によるリスト復号（以下Ｋ−Ｖリスト復号）は、Ｇｕｒｕｓｗａｍｉ−Ｓｕｄａｎ同様に（１）受信情報から各シンボルの信頼性を算出、（２）信頼性から２変数多項式補間条件の抽出、（３）２変数多項式の補間、（４）補間多項式の因数分解を行い復号語りスト作成、の４つの手順により構成され、硬判定復号時に比べてより高い性能を持つことが知られている（非特許文献２参照）。
【０００６】
また、リエンコード（Ｒｅ−ｅｎｃｏｄｅ）により、その計算コストも現実的な範囲まで削減できることが知られている（非特許文献３参照）。
【０００７】
一方、線形符号としては、信頼性伝播（ｂｅｌｉｅｆ  ｐｒｏｐａｇａｔｉｏｎ：ＢＰ）を用いた繰り返し復号により限界性能に近い高性能を得られる低密度パリティ検査符号（Ｌｏｗ  ｄｅｎｓｉｔｙ  ｐａｒｉｔｙ−ｃｈｅｃｋ  ｃｏｄｅ，ＬＤＰＣ符号）が昨今注目されている（非特許文献４参照）。
【０００８】
ＬＤＰＣ符号に用いられる信頼性伝播（ＢＰ）は、一般に低密度なパリティ検査行列を持つ線形符号にしか有効でないことが理論的に知られており、また、Ｒｅｅｄ−Ｓｏｌｏｍｏｎ符号やＢＣＨ符号のパリティ検査行列を低密度化することはＮＰ−ｈａｒｄであることが知られている（非特許文献５参照）。
【０００９】
よって、Ｒｅｅｄ−Ｓｏｌｏｍｏｎ符号やＢＣＨ符号に信頼性伝播（ＢＰ）を適用することは困難であるとされてきた。
【００１０】
しかし、２００４年、受信語の信頼性に応じて対角化を行ったパリティ検査行列を用いてＲｅｅｄ−Ｓｏｌｏｍｏｎ符号やＢＣＨ符号、その他低密度でないパリティ検査行列を持つ線形符号への信頼性伝播（ＢＰ）の適用が効果的であることがナラヤナン(Ｎａｒａｙａｎａｎ)等によって紹介された（非特許文献６参照）。
【００１１】
この手法は、適応的信頼性伝播（ＡＢＰ：Ａｄａｐｔｉｖｅ  Ｂｅｌｉｅｆ  Ｐｒｏｐａｇａｔｉｏｎ）復号と呼ばれる。以下、このＡＢＰ復号法について説明する。
【００１２】
たとえば、符号長ｎ＝６、情報長ｋ＝３、符号化率ｒ＝１／２の符号で、以下の３×６行列Ｈをパリティ検査行列として持つような線形符号Ｃを考える。
【００１３】
【数１】
2008199148.tif 000003
【００１４】
符号空間Ｃは、次のように表される。
【００１５】
【数２】
2008199148.tif 000004
【００１６】
ある符号語があるチャネル、たとえばＢＰＳＫ変調＋ＡＷＧＮチャネル（Ａｄｄｉｔｉｖｅ  Ｗｈｉｔｅ  Ｇａｕｓｓｉａｎ  Ｎｏｉｓｅチャネル）を通った後、次のような受信語ｒとして受信機が受け取ったとする。
【００１７】
【数３】
2008199148.tif 000005
【００１８】
このとき、受信値の各絶対値の大きさは受信語の信頼性の高さを表す。つまり、信頼性の低い順に番号をつけると以下のようになる。
【００１９】
【数４】
2008199148.tif 000006
【００２０】
次に、信頼性の低いシンボルに対応する列より順にパリティ検査行列Ｈの対角化を行う。この例においては、信頼性の低いシンボルに対応する列は順に第３列、第５列、第１列、第４または第６列、第２列となるので、その優先順位に従ってＨの対角化を行う。
【００２１】
【数５】
2008199148.tif 000007
【００２２】
【数６】
2008199148.tif 000008
【００２３】
【数７】
2008199148.tif 000009
【００２４】
対角化を試みた列がそれ以前に対角化した列と線形従属であった場合は、その列はそのまま残し、次の順位の列で対角化を試みる。
このようにして行列Ｈのランク分対角化が行われた結果得られる新たなパリティ検査行列Ｈｎｅｗを用いて、信頼性伝播（ＢＰ）による信頼性の更新を行う。
【００２５】
図１はパリティ検査行列Ｈｎｅｗに対応するタナーグラフである。
信頼性伝播（ＢＰ）はタナーグラフのエッジに沿ってメッセージを行き来させることによって実現される。
行列の各列に対応するノードを可変（ｖａｒｉａｂｌｅ：バリアブル）ノード１、各行に対応するノードを検査（ｃｈｅｃｋ：チェック）ノード２と呼ぶ。
【００２６】
ｉ番目のバリアブルノードからｊ番目のチェックノードへのメッセージをＱi,j、ｊ番目のチェックノードからｉ番目のバリアブルノードへのメッセージをＲｉ,j、さらにｉ番目のバリアブルノードに連接するチェックノードのインデックス集合をＪ（ｉ）、ｊ番目のチェックノードに連接するバリアブルノードのインデックス集合をＩ（ｊ）とした場合、それぞれの更新式は以下のようになる。
【００２７】
【数８】
2008199148.tif 000010
【００２８】
ここで、θはバーティカルステップダンピングファクタ（ｖｅｒｔｉｃａｌ  ｓｔｅｐ  ｄａｍｐｉｎｇ  ｆａｃｔｏｒ）と呼ばれる係数を示し、０＜θ≦１なる条件を満足する。Ｑi,jの初期値はｒjが設定され、外部情報（ｅｘｔｒｉｎｓｉｃ  ｉｎｆｏｒｍａｔｉｏｎ）Λｊｘ更新は次式により行われる。
【００２９】
【数９】
2008199148.tif 000011
【００３０】
さらに、各符号ビットのＬＬＲΛｉｑの更新は、次式により行われる。
【００３１】
【数１０】
2008199148.tif 000012
【００３２】
ここで、α１は適応的信頼性伝播ダンピングファクタ（ａｄａｐｔｉｖｅ  ｂｅｌｉｅｆ  ｐｒｏｐａｇａｔｉｏｎ  ｄａｍｐｉｎｇ  ｆａｃｔｏｒ）と呼ばれる係数を示し、０＜α１≦１なる条件を満足する。
この信頼性伝播（ＢＰ）によるＬＬＲの更新は事前に用意された繰り返し停止条件を満たすまで、たとえば最大繰り返し数ＩｔＨに達成するまで繰り返される。
また、ＬＬＲを更新する列は、全ての列を対象とせずとも一部の列、たとえば対角化の対象となった列についてのみ行ってもよい。
【００３３】
信頼性伝播（ＢＰ）によって更新されたＬＬＲの信頼性を用いて、つまり、ＬＬＲの絶対値の大きさを信頼性として、信頼性の低いシンボルに対応する列順に対角化を行うことにより、新たな信頼性伝播（ＢＰ）による繰り返し復号を行うことができる。
これを内側繰り返し復号と呼ぶ。このＬＬＲの更新は事前に用意された内側繰り返し復号停止条件ＳＣ１を満たすまで繰り返される。
【００３４】
さらに、パリティ検査行列の列の対角化優先順位の初期値として、受信値の信頼性順以外の順位を複数用意する。複数の順位を用いて、シリアルもしくはパラレルに繰り返し内側繰り返し復号を行う。
これを外側繰り返し復号と呼ぶ。このＬＬＲ更新は事前に用意された外側繰り返し復号停止条件ＳＣ２を満たすまで繰り返される。
【００３５】
以上のＡＢＰ（ａｄａｐｔｉｖｅ  ｂｅｌｉｅｆ  ｐｒｏｐａｇａｔｉｏｎ）手順により繰り返し更新されたＬＬＲを入カとして、復号器により復号を行う。
今、対象となる線形符号がＲｅｅｄ−Ｓｏｌｏｍｏｎ符号であった場合、繰り返し復号停止条件ＳＣ１、ＳＣ２として、たとえば以下のものが考えられる。
【００３６】
（Ａ）  Ｈ・ｄ  ＝＝  ０または繰り返し数ｔ≧Ｎ、
（Ｂ）  限界距離復号成功または繰り返し数ｔ≧Ｎ、
（Ｃ）  Ｋｏｅｔｔｅｒ−Ｖａｒｄｙ軟判定リスト復号成功または繰り返し数ｔ≧Ｎ。
【００３７】
ここで、ｄ＝（ｄ１，ｄ２，・・・，ｄ６）はΛｉの硬判定結果、ｄｉ＝｛Λｉｑ＞０なら１，Λｉｑ≦０なら０｝であり、Ｎは事前に決めた最大繰り返し回数である。
また、復号方法として、たとえば以下のものが考えられる。
【００３８】
（ａ）  硬判定復号
（ｂ）  限界距離復号
（ｃ）  Ｋｏｅｔｔｅｒ−Ｖａｒｄｙ軟判定リスト復号
【００３９】
図２は、ＡＢＰ復号法を用いた繰り返し復号のフローチャートである。
【００４０】
受信後の信頼性順の探索を行い（ＳＴ１）、順序変換を行う（ＳＴ２）。
変換した順序に応じてパリティ検査行列の対角化を行い（ＳＴ３）、このパリティ検査行列を用いて信頼性伝播（ＢＰ）を行う（ＳＴ４）。
次に、ＬＬＲを計算し（ＳＴ５）、計算したＬＬＲの信頼性順を探索し（ＳＴ６）、復号を行い、復号語をリストへ追加する（ＳＴ７）。
そして、繰り返し復号停止条件Ｎ１，Ｎ２を満足するまで以上の処理を繰り返す（ＳＴ８、ＳＴ９）。
そして、復号語を１つ選択する（ＳＴ１０）。
【００４１】
【非特許文献１】Ｖ．Ｇｕｒｕｓｗａｍｉ，Ｍ．Ｓｕｄａｎ，Ｉｍｐｒｏｖｅ  ｄｅｃｏｄｉｎｇ  ｏｆ  Ｒｅｅｄ−Ｓｏｌｏｍｏｎ  ａｎｄ  Ａｌｇｅｂｒａｉｃ−Ｇｅｏｍｅｔｒｙ  ｃｏｄｅｓ，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，ｖｏｌ．４５，ｐｐ．１７５７−１７６７，１９９９
【非特許文献２】Ｒ．Ｋｏｅｔｔｅｒ，Ａ．Ｖａｒｄｙ，Ａｌｇｅｂｒａｉｃ  ｓｏｆｔ−ｄｅｃｉｓｉｏｎ  ｄｅｃｏｄｉｎｇ  ｏｆ  Ｒｅｅｄ−Ｓｏｌｏｍｏｎ  ｃｏｄｅｓ，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，２００１
【非特許文献３】Ｒ．Ｋｏｅｔｔｅｒ，Ｊ．Ｍａ，Ａ．Ｖａｒｄｙ，Ａ，Ａｈｍｅｄ，Ｅｆｆｃｉｅｎｔ  Ｉｎｔｅｒｐｏｌａｔｉｏｎ  ａｎｄ  Ｆａｃｔｏｒｉｚａｔｉｏｎ  ｉｎ  Ａｌｇｅｂｒａｉｃ  Ｓｏｆｔ−Ｄｅｃｉｓｉｏｎ  Ｄｅｃｏｄｉｎｇ  ｏｆ  Ｒｅｅｄ−Ｓｏｌｏｍｏｎ  ｃｏｄｅｓ，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＳＩＴ２００３
【非特許文献４】Ｄ．ＭａｃＫａｙ，Ｇｏｏｄ  Ｅｒｒｏｒ−Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅｓ  Ｂａｓｅｄ  ｏｎ  Ｖｅｒｙ  Ｓｐａｒｓｅ  Ｍａｔｒｉｃｅｓ，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，１９９９
【非特許文献５】Ｂｅｒｌｅｋａｍｐ，Ｒ．ＭｃＥｌｉｅｃｅ，Ｈ．ｖａｎ  Ｔｉｌｂｏｒｇ，Ｏｎ  ｔｈｅ  ｉｎｈｅｒｅｎｔ  ｉｎｔｒａｃｔａｂｉｌｉｔｙ  ｏｆ  ｃｅｒｔａｉｎ  ｃｏｄｉｎｇ  ｐｒｏｂｌｅｍｓ，ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，ｖｏｌ．２４，ｐｐ．３８４−３８６，Ｍａｙ，１９７８）。
【非特許文献６】Ｊｉｎｇ  Ｊｉａｎｇ，Ｋ．Ｒ．Ｎａｒａｙａｎ，Ｓｏｆｔ  Ｄｅｃｉｓｉｏｎ  Ｄｅｃｏｄｉｎｇ  ｏｆ  ＲＳ  Ｃｏｄｅｓ  Ｕｓｉｎｇ  Ａｄａｐｔｉｖｅ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ  Ｍａｔｒｉｃｅｓ，Ｐｒｏｃｅｅｄｉｎｇ  ｏｆ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ  ２００４
【発明の開示】
【発明が解決しようとする課題】
【００４２】
ところで、上述したようにＡＢＰ復号においては、対角化されたパリティ検査行列を用いて、信頼性伝播（ＢＰ）を行うことにより、値が更新され、更新された値に対して、所定の繰り返し回数、ソート、対角化、信頼性伝播（ＢＰ）を行う。
しかし、ＡＢＰ復号を行う復号装置をどうやって実現するかについては特に提案されていない。
【００４３】
本発明は、適応的信頼性伝播（ＡＢＰ）復号を的確に行うことが可能な復号装置、復号方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【００４４】
本発明の第１の観点は、受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播（Ｂｅｌｉｅｆ  ｐｒｏｐａｇａｔｉｏｎ：ＢＰ）を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号方法であって、受信語の信頼度の大きさに応じてインデックスのソートを行う第１ステップと、パリティ検査行列の対角化を行う第２ステップと、対角化されたパリティ検査行列を用いて信頼性伝播を行う第３ステップと、を有し、上記受信語の信頼度のソートに伴う、受信語の順番の入れ替え、およびパリティ検査行列の列の入れ替えの少なくともいずれかを、対応するインデックスの入れ替えで代用する。
【００４５】
本発明の第２の観点は、受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播（Ｂｅｌｉｅｆ  ｐｒｏｐａｇａｔｉｏｎ：ＢＰ）を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す復号装置であって、受信語の信頼度の大きさに応じてインデックスのソートを行うソート部と、パリティ検査行列の対角化を行う対角化部と、対角化されたパリティ検査行列を用いて信頼性伝播を行う信頼性伝播部と、を有し、上記ソート部は、受信語の信頼度のソートに伴う、受信語の順番の入れ替え、およびパリティ検査行列の列の入れ替えの少なくともいずれかを、対応するインデックスの入れ替えで代用する。
【００４６】
本発明の第３の観点は、受信語の信頼度の大きさに従いソートし、その順番に対角化されたパリティ検査行列を用いて、信頼性伝播（Ｂｅｌｉｅｆ  ｐｒｏｐａｇａｔｉｏｎ：ＢＰ）を行って信頼度を更新し、その更新された値に対して、再び上記動作を繰り返す処理をコンピュータに実行させるプログラムであって、受信語の信頼度の大きさに応じてインデックスのソートを行う第１処理と、パリティ検査行列の対角化を行う第２処理と、対角化されたパリティ検査行列を用いて信頼性伝播を行う第３処理と、を含み、上記受信語の信頼度のソートに伴う、受信語の順番の入れ替え、およびパリティ検査行列の列の入れ替えの少なくともいずれかを、対応するインデックスの入れ替えで代用する処理をコンピュータに実行させるプログラムである。
【００４７】
本発明によれば、たとえば、受信語の信頼性順を探索して順序変換を行う際、受信語を直接入れ替えるのではなく、対応するインデックス、例えばパリティ検査行列の第１列、第２列、、を順にインデックス１、２、、と名づけ、これを入れ替えて保持する。繰り返し復号により信頼度（ＬＬＲ）が更新された場合は、これに従いこのインデックスの順番を更新する。
また、パリティ検査行列の対角化を行う時には、インデックスを順に読出し、対応する列を順に基本変形し、対角化を行う。
また、信頼性伝播（ＢＰ）を行う際は、この入れ替えられていないＬＬＲとパリティ検査行列を利用してＬＬＲの更新を行う。
【発明の効果】
【００４８】
本発明によれば、適応的信頼性伝播（ＡＢＰ）復号を的確に行うことができる。
【発明を実施するための最良の形態】
【００４９】
以下、本発明の実施形態を図面に関連付けて説明する。
【００５０】
本発明の実施形態に係る復号装置は、代数的手法を用いた誤り訂正符号技術を実現するための回路、たとえば適応的信頼性伝播（Ａｄａｐｔｉｖｅ  Ｂｅｌｉｅｆ  Ｐｒｏｐａｇａｔｉｏｎ：ＡＢＰ）復号器に応用できる。
ＡＢＰ復号は、リードソロモン（Ｒｅａｄ−Ｓｏｌｏｍｏｎ：ＲＳ）符号やＢＣＨ符号、その他低密度でないパリティ検査行列を持つ線形符号に対する復号法であり、ある伝送路から符号語を受信すると、その受信語をより信頼できる値に更新する。
【００５１】
以下、ＡＢＰ復号器のシステム上の位置づけについて説明した後、本実施形態に係る復号装置の具体的な構成および機能について説明する。
【００５２】
図３は、デジタル信号受信機、たとえばデジタルテレビなどの誤り訂正システムにＡＢＰ復号器を用いた通信システムの構成例を示す図である。
【００５３】
本通信システム１０は、図３に示すように、ＲＳ符号化器１１、インタリーバ１２、畳み込み符号器１３、畳み込み符号の軟出力復号器１４、デインタリーバ１５、ＲＳ符号の既知情報付きＡＢＰ繰り返し復号器１６、およびチャネル１７を有する。
【００５４】
本通信システム１０では、ＲＳ符号化、畳み込み符号化された送信語に対して、畳み込み符号の軟出力復号をした後にＡＢＰ復号を行っている。
ここで言う畳み込み符号の軟出力復号とは、たとえばＢＣＪＲアルゴリズムやＳＯＶＡによる復号のことである。
ＡＢＰ復号器１６においては、ＡＢＰによる信頼性の更新後、硬判定後限界距離復号、リスト復号、もしくは、軟値をそのまま入力として軟判定リスト復号を行う。
【００５５】
図４は、ＭＡＰ復号が後段についたＡＢＰ復号器の構成例を示す図である。
この復号器２０は、図４に示すように、ＡＢＰ復号部２１、限界距離（ＢＤ）復号部２２、受信信頼度（ＬＬＲ）保持部２３、およびＭＡＰ復号部２４を有している。
【００５６】
復号器２０においては、ＡＢＰ復号部２１による信頼性（ＬＬＲ）の更新後、硬判定してＢＤ復号部２２において、限界距離復号を行い、この結果をリストに集め、最終的にＭＡＰ復号部２４において最大事後確率復号（Ｍａｘｉｍｕｍ  ａ  ｐｏｓｔｅｒｉｏｒｉ  Ｐｒｏｂａｂｉｌｉｔｙ：ＭＡＰ）復号を行う。
【００５７】
＜第１実施形態＞
図５は、本発明の第１の実施形態に係るＡＢＰ復号器の復号装置の構成例を示す図である。
図６は、図５の復号装置の処理を示すフローチャートである。
【００５８】
図５のＡＢＰ復号装置３０は、図３のＡＢＰ復号器１６や図４のＡＢＰ復号部２１に適用可能であり、ソート入力選択部３１、ソート部３２、パリティ検査行列の対角化部３３、信頼度（ＬＬＲ）保持部３４、信頼性伝播（ＢＰ）部３５、順序情報保持部３６、パリティ検査行列の列入れ替え部３７、および順序再入れ替え部３８を有している。
【００５９】
ＡＢＰ復号装置３０においては、入力として、受信ＬＬＲＳ３１が入力される。
そして、ソート入力選択部３１で、内側繰り返し一回目は、受信ＬＬＲＳ３１を選択する。ここで、ＬＬＲは信頼性を指す。
また、内側繰り返し二回目以降は、信頼性伝播（ＢＰ）で更新されたＬＬＲＳ４０を選択する（ＳＴ１１）。
ソート部３２においては、ＬＬＲをその大きさ順に入れ替えた後に（ＳＴ１２）、その入れ替えた順序情報Ｓ３３を順序情報保持部６０５に（ＳＴ１３）、またソートしなおしたＬＬＲＳ３４をＬＬＲ保持部３４にそれぞれ出力する。
順序情報を受け取った順序情報保持部３６は、その情報をパリティ検査行列列入れ替え部３７に出力し、その列入れ替え部３７でパリティ検査行列の列をＬＬＲ順に入れ替える（ＳＴ１４）。
入れ替えたパリティ検査行列Ｓ３６を使って、パリティ検査行列対角化部３３でその行列の対角化を行う（ＳＴ１５）。
対角化された行列の行Ｓ３７をＬＬＲ保持部３４から出力されたＬＬＲとともに信頼性伝播（ＢＰ）部３５に出力し、ここでＬＬＲを更新する（ＳＴ１６、ＳＴ１７）。
更新されたＬＬＲＳ３９は、その順序を順序情報保持部３６から送られる順序情報Ｓ３５を利用して再び入れ替えられ（ＳＴ１８、ＳＴ１９）、元の受信語の順番に戻され再びソート部３２に送られるとともに、後段の復号器、たとえば限界距離復号へ出力される（ＳＴ２０〜ＳＴ２３）。
【００６０】
このように、第１の実施形態によれば、順序情報保持部やパリティ検査行列の列の入れ替え、および順序再入れ替えなどの作業を行ってＡＢＰ復号処理を的確に行うことができる。
【００６１】
＜第２実施形態＞
図７は、本発明の第２の実施形態に係るＡＢＰ復号器の復号装置の構成例を示す図である。
図８は、図７の復号装置の処理を示すフローチャートである。
【００６２】
図７のＡＢＰ復号装置３０Ａは、図３のＡＢＰ復号器１６や図４のＡＢＰ復号部２１に適用可能であり、ソート入力選択部３１、ソート部３２、パリティ検査行列の対角化部３３、信頼度（ＬＬＲ）保持部３４、および信頼性伝播（ＢＰ）部３５を有し、図５の順序情報保持部３６、パリティ検査行列の列入れ替え部３７、および順序再入れ替え部３８は設けられていない。
【００６３】
第１の実施形態に係る復号装置３０は、ＡＢＰ復号処理を的確に行うことができるものの、受信語を信頼性に応じてソートし、さらにそれに対応するように順序に応じてパリティ検査行列の列入れ替えを行う必要がある。
また、最終的に復号するときのために、その受信語と行列を入れ替えた履歴情報を別途保持しておき、それを利用して、最終的に復号する前に、更新した値を再入れ替えし順番を元に戻す必要があり、これらに多くの計算量を要するおそれがある。
【００６４】
そこで、本第２の実施形態に係る復号装置３０Ａにおいては、受信語の信頼性順を探索して順序変換を行う際、受信語を直接入れ替えるのではなく、対応するインデックス、例えばパリティ検査行列の第１列、第２列、、を順にインデックス１、２、、と名づけ、これを入れ替えて保持する。繰り返し復号によりＬＬＲが更新された場合は、これに従いこのインデックスの順番を更新する。
パリティ検査行列の対角化を行うときには、インデックスを順に読出し、対応する列を順に基本変形し、対角化を行う。
信頼性伝播（ＢＰ）を行う際は、この入れ賛えられていないＬＬＲとパリティ検査行列を利用してＬＬＲの更新を行う。
このような構成を有する復号装置３０Ａによればパリティ検査行列の列入れ替えを行う必要はなくなる。また、最終的に復号する前の更新値の再入れ替えの作業も省かれ、計算量が削減される。
【００６５】
図７に示すように、復号装置３０Ａにおいては、受信ＬＬＲＳ４２が入力される。受信ＬＬＲは受信語の信頼度のことである。
今回は、受信語の信頼度のソートに伴う、受信語の順番の入れ替えやパリティ検査行列の列を代用するインデックスとして列インデックスＳ４１を利用する。列インデックスＳ４１は、入力された受信ＬＬＲが符号語の始まりからパリティ検査行列において第１列、第２列、、に対応するので、符号語の始まりからカウンタで１、２、３、、とカウントアップされた値を生成し利用する。
ソート入力選択部３１で、内側繰り返し一回目は、列インデックスＳ４１と受信ＬＬＲＳ６２を選択し、繰り返し二回目以降は信頼性伝播（ＢＰ）後，更新ＬＬＲＳ５０とその列インデックスＳ４９を選択する。
図７に示すように、受信語が入力されたら、まず、そのＬＬＲの大きさに応じて列インデックスのソートを行う。この時に、受信語を直接入れ替えるのではなく、列インデックスを入れ替える。
入れ替えた列インデックスをパリティ検査行列の対角化部３３に出力し、信頼度の低いシンボルに対応する列より順にパリティ検査行列の対角化を行う。
また、ＬＬＲ保持部３４には、受信語の順番そのままのＬＬＲがソートされる前に入力される。
最後に、対角化されたパリティ検査行列とＬＬＲ保持部３４から読み出されたＬＬＲＳ４を用いて、信頼性伝播（ＢＰ）を行うことにより、値が更新される。
更新された値に対して、再びソート、対角化、信頼性伝播（ＢＰ）を行う。繰り返し数が予め決められており、その繰り返し数だけこれを繰り返す。
以上より、受信語が直接入れ賛えられることはなく、列インデックスを入れ替えてＡＢＰ復号装置を実現しており、パリティ検査行列の列入れ替えを行う必要はなく、また、図４において最終的にＢＤ，ＭＡＰ復号する前の更新ＬＬＲ、つまり図７の出力更新ＬＬＲの再入れ替えの作業も行う必要がなく、計算量が低減される。
【００６６】
以下に、本第２の実施形態に係る復号方法についてさらに詳述する。
【００６７】
前述したように、本第２の実施形態に係るＡＢＰ復号方法において、受信語の信頼性順を探索して順序変換を行う際、受信値を直接入れ替えるのではなく、対応するインデックス、例えばパリティ検査行列の第１列、第２列、、を順にインデックス１、２、、と名づけ、これを入れ替えて保持する。受信語が更新されて再順序変換が行われた場合は、これに従いこのインデックスの順番を更新する。
【００６８】
ここで、符号長ｎ＝６、情報長ｋ＝３、符号化率ｒ＝１／２の符号で、以下の３×６-行列Ｈをパリティ検査行列として持つような線形符号Ｃを考える。
【００６９】
【数１１】
2008199148.tif 000013
【００７０】
符号空間Ｃは、次のように表される。
【００７１】
【数１２】
2008199148.tif 000014
【００７２】
ある符号語があるチャネル、たとえばＢＰＳＫ変調＋ＡＷＧＮチャネル（Ａｄｄｉｔｉｖｅ  Ｗｈｉｔｅ  Ｇａｕｓｓｉａｎ  Ｎｏｉｓｅチャネル）を通った後、次のような受信語ｒとして受信機が受け取ったとする。
【００７３】
【数１３】
2008199148.tif 000015
【００７４】
これらは、パリティ検査行列上で、第１列、第２列、、に対応し、受信系列をインデックス１、２、３、４、５、６と名づけ、受信値の代わりにこのインデックスをソートする。結果、以下のインデックス系列を得る。
【００７５】
【数１４】
2008199148.tif 000016
【００７６】
次に、信頼性の低いシンボルに対応する列より順にパリティ検査行列Ｈの対角化を行う。この例においては、上記ｉｄｘを先頭から順に読み出して、信頼性の低いシンボルに対応する列は順に第３列、第５列、第１列、第４または第６列、第２列となるので、その優先順位に従ってＨの対角化を行う。
【００７７】
【数１５】
2008199148.tif 000017
【００７８】
【数１６】
2008199148.tif 000018
【００７９】
【数１７】
2008199148.tif 000019
【００８０】
対角化を試みた列がそれ以前に対角化した列と線形従属であった場合は、その列はそのまま残し、次の順位の列で対角化を試みる。
このようにして行列Ｈのランク分対角化が行われた結果得られる新たなパリティ検査行列Ｈｎｅｗを用いて、信頼性伝播（ＢＰ）による信頼性の更新を行う。
【００８１】
図９は、本第２の実施形態に係るパリティ検査行列Ｈｎｅｗに対応するタナーグラフである。図９において、２０１はバリアブルノードを、２０２はチェックノードをそれぞれ示している。
信頼性伝播（ＢＰ）によってＬＬＲが更新されたらそれを再びソートする際インデックスの順番も更新する。以下通常と同様に、内側繰り返し復号、外側繰り返し復号を行い，最終的に、限界距離復号などで復号する。この最終的な復号の前に、更新値の再入れ替えは必要ない。
【００８２】
以上より、フローチャートは図８に示すようになり、順序に応じてパリティ検査行列の列入れ替えを行う必要はなくなる。また、最終的に復号する前の更新値の再入れ替えの作業も省かれる。
【００８３】
受信語の信頼性順の探索を行い（ＳＴ３１）、対応するインデックスの順序変換を行う（ＳＴ３２）。
変換した順序に応じてパリティ検査行列の対角化を行い（ＳＴ３３）、このパリティ検査行列を用いて信頼性伝播（ＢＰ）を行う（ＳＴ３４）。
次に、ＬＬＲを計算し（ＳＴ３５）、計算したＬＬＲの信頼性順に従いインデックス順序の並べ替えを行う（ＳＴ３６）。
そして、繰り返し復号停止条件ＳＣ１，ＳＣ２を満足するまで以上の処理を繰り返す（ＳＴ３７、ＳＴ３８）。
そして、復号を行う（ＳＴ３９）。
【００８４】
なお、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、ＣＰＵ等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー（登録商標）ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
【図面の簡単な説明】
【００８５】
【図１】パリティ検査行列Ｈｎｅｗに対応するタナーグラフである。
【図２】ＡＢＰ復号法を用いた繰り返し復号のフローチャートである。
【図３】デジタル信号受信機、たとえばデジタルテレビなどの誤り訂正システムにＡＢＰ復号器を用いた通信システムの構成例を示す図である。
【図４】ＭＡＰ復号が後段についたＡＢＰ復号器の構成例を示す図である。
【図５】本発明の第１の実施形態に係るＡＢＰ復号器の復号装置の構成例を示す図である。
【図６】図５の復号装置の処理を示すフローチャートである。
【図７】本発明の第２の実施形態に係るＡＢＰ復号器の復号装置の構成例を示す図である。
【図８】図７の復号装置の処理を示すフローチャートである。
【図９】本第２の実施形態に係るパリティ検査行列Ｈｎｅｗに対応するタナーグラフである。
【符号の説明】
【００８６】
１０・・・通信システム、１１・・・ＲＳ符号化器、１２・・・インタリーバ、１３・・・畳み込み符号器、１４・・・畳み込み符号の軟出力復号器、１５・・・デインタリーバ、１６・・・ＡＢＰ繰り返し復号器、１７・・・チャネル、２０・・・復号器、２１・・・ＡＢＰ復号部、２２・・・限界距離（ＢＤ）復号部、２３・・・受信信頼度（ＬＬＲ）保持部、２４・・・ＭＡＰ復号部、３０，３０Ａ・・・ＡＢＰ復号装置、３１・・・ソート入力選択部、３２・・・ソート部、３３・・・パリティ検査行列の対角化部、３４・・・信頼度（ＬＬＲ）保持部、３５・・・信頼性伝播（ＢＰ）部。
【図１】
2008199148.tif 000020
【図２】
2008199148.tif 000021
【図３】
2008199148.tif 000022
【図４】
2008199148.tif 000023
【図５】
2008199148.tif 000024
【図６】
2008199148.tif 000025
【図７】
2008199148.tif 000026
【図８】
2008199148.tif 000027
【図９】
2008199148.tif 000028