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