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