(57)【要約】  誤り訂正符号を復号化する方法は、ビットノードプロセッサによって生成されるメッセージを正規化するとともに、検査ノードプロセッサによって生成されるメッセージを正規化する。この復号化は、従来のｍｉｎ−ｓｕｍ復号法および正規化ｍｉｎ−ｓｕｍ復号法と比較した場合に大幅に向上したパフォーマンスを有する。同時に、２Ｄ正規化ｍｉｎ−ｓｕｍ復号化は、ウォーターフォール領域およびエラーフロア領域においてＢＰ復号法と同様およびＢＰ復号法よりも良好なパフォーマンスを有する。さらに、２Ｄ正規化ｍｉｎ−ｓｕｍ復号法に必要な計算複雑性は従来のＢＰ復号化よりもはるかに低い。２Ｄ正規化ｍｉｎ−ｓｕｍ復号化はまた、２Ｄオフセットｍｉｎ−ｓｕｍ復号化に拡張することも可能である。
2008541496.tif 000002
【特許請求の範囲】
【請求項１】
ビットノードプロセッサによって生成されるメッセージを正規化することと、
検査ノードプロセッサによって生成されるメッセージを正規化することと
を含む誤り訂正符号を復号化する方法。
【請求項２】
前記ビットノードプロセッサの正規化係数は、異なるビットノードの重みに依存し、前記検査ノードプロセッサおよび前記ビットノードプロセッサの正規化係数は、復号反復回数に依存する請求項１に記載の方法。
【請求項３】
前記誤り訂正符号は、ＬＤＰＣ符号である請求項１に記載の方法。
【請求項４】
前記ＬＤＰＣ符号は、正則である請求項３に記載の方法。
【請求項５】
前記ＬＤＰＣ符号は、非正則である請求項３に記載の方法。
【請求項６】
前記誤り訂正符号は、正則ＲＡ符号である請求項１に記載の方法。
【請求項７】
前記誤り訂正符号は、非正則ＲＡ符号である請求項１に記載の方法。
【請求項８】
前記ビットノードプロセッサの前記正規化係数は、前記検査ノードプロセッサによって生成されるメッセージのみを正規化する請求項２に記載の方法。
【請求項９】
前記検査ノードプロセッサの前記正規化係数は、第１の所定復号反復回数に依存し、残りの復号反復中は、一定である請求項２に記載の方法。
【請求項１０】
前記検査ノードプロセッサの前記正規化係数は、前記ビットノードプロセッサからのメッセージのみを正規化する請求項２に記載の方法。
【請求項１１】
前記ビットノードプロセッサの前記正規化係数は、第１の復号反復所定回数に依存し、残りの復号反復中は、一定である請求項２に記載の方法。
【請求項１２】
ビットノードプロセッサの前記正規化係数は、すべての復号反復中で一定である請求項２に記載の方法。
【請求項１３】
前記検査ノードプロセッサおよび前記ビットノードプロセッサの両方から生成されるメッセージを処理するオフセット演算により、前記正規化を置き換えることをさらに含む請求項１に記載の方法。
【請求項１４】
オフセットパラメータｘ以上の絶対値を有するビリーフメッセージは、ｘだけ減じられた大きさを有し、その他の場合はゼロに設定される請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には誤り訂正符号（ＥＣＣ）の復号化に関し、特に、ＬＤＰＣ符号およびＲＡ（repeat accumulate）符号用の正規化ｍｉｎ−ｓｕｍデコーダに関する。
【背景技術】
【０００２】
効率的かつ信頼性の高いデータストレージおよび通信には、実用的な誤り訂正符号の符号化方法および復号化方法が要求される。ビリーフ伝播（ＢＰ）復号化を使用した低密度パリティ検査（ＬＤＰＣ）符号が、シャノン限界に近いパフォーマンスを提供することが分かっている。特に、中でも非正則ＬＤＰＣ符号は、多くの用途に最良である。各種の非正則ＬＤＰＣ符号が受け入れられており、ＤＶＢ／ＤＡＢ、有線ＡＤＳＬ、ＩＥＥＥ８０２．１１ｎ、およびＩＥＥＥ８０２．１６等の各種通信規格およびストレージ規格に考慮されている。しかし、非正則ＬＤＰＣデコーダのパフォーマンスは最適に達していないことが分かっている。
【０００３】
こういったＬＤＰＣ符号用のＢＰ復号化は、優れたパフォーマンスを提供するが、ハードウェア実装が複雑すぎる。ＢＰ復号化は、単純な最小演算を有する検査ノードプロセッサによって簡易化することができ、この結果として、ｍｉｎ−ｓｕｍ復号法が生まれた。ｍｉｎ−ｓｕｍ復号法は、実装があまり複雑ではないが、その一方で、ＢＰ復号化と比較してパフォーマンスが劣る。ｍｉｎ−ｓｕｍ復号法は、検査ノードプロセッサでの線形事後正規化によって向上させることができ、これは、正規化ｍｉｎ−ｓｕｍ復号法と呼ばれる。それにもかかわらず、なお、非正則ＬＤＰＣ符号を復号化する場合に、特に、正規化ｍｉｎ−ｓｕｍ復号法のパフォーマンスとＢＰ復号化のパフォーマンスとの間には大きな差がある。
【０００４】
ＬＤＰＣ符号
ＬＤＰＣ符号は、最初に、１９６０年代にGallagerによって述べられた。ＬＤＰＣ符号は、シャノン限界に驚く程近いパフォーマンスを有する。符号長Ｎおよび次元Ｋを有するバイナリ（Ｎ，Ｋ）ＬＤＰＣ符号は、（Ｎ−Ｋ）行およびＮ列のパリティ検査行列Ｈによって定義される。行列Ｈの大半のエントリは、ゼロであり、ごく少数のエントリが１であるため、行列Ｈは、疎である。行列Ｈの各行は、チェックサムを表し、各列は、変数、たとえば、ビットまたはシンボルを表す。Gallagerによって述べられたＬＤＰＣ符号は、正則である。すなわち、パリティ検査行列Ｈは、一定の重みの行および列を有する。
【０００５】
１９９３年に、同様の反復法が「ターボ符号」として知られる新種の符号に対して、非常に良好なパフォーマンスを有することが示された。ターボ符号の成功は、部分的に、ＬＤＰＣ符号および反復復号法に対する関心が大きく復活したことによるものであった。ターボ符号およびＬＤＰＣ符号の両方、並びに「ターボ積符号」および「ＲＡ符号」等の関連する他の符号用の反復復号法のパフォーマンスを向上させることに対して、相当量の研究が近年なされている。たとえば、２００３年８月に、IEEE Communications Magazineの特別号は、この研究に捧げられた。概観については、C. Berrou著「The Ten-Year-Old Turbo Codes are entering into Service」（IEEE Communications Magazine, vol. 41, pp. 110-117, August 2003）並びにT. RichardsonおよびR. Urbanke著「The Renaissance of Gallager's Low-Density Parity Check Codes」（IEEE Communications Magazine, vol. 41, pp. 126-131, August 2003）を参照願いたい。
【０００６】
正則ＬＤＰＣ符号は、行および列の重みが変化する非正則ＬＤＰＣ符号に拡張することができる。非正則ＬＤＰＣ符号は、変数および検査ノードのそれぞれの次数分布を定義する次数分布多項式ｖ（ｘ）およびｃ（ｘ）によって特定される。より具体的には、ｖ（ｘ）およびｃ（ｘ）を下式（１）（２）とする。
【０００７】
【数１】
2008541496.tif 000003
【０００８】
式中、変数ｄｖｍａｘおよびｄｃｍａｘは、それぞれ最大変数ノード次数および最大検査ノード次数であり、ｖｊ（ｃｊ）は、次数ｊの変数（検査）ノードから派生するエッジの割合を表す。理論上および経験上の両方で、次数分布が適宜選択された場合、非正則ＬＤＰＣ符号のほうが正則ＬＤＰＣ符号よりも性能面で優れることが示されている。
【０００９】
正則および非正則のＬＤＰＣ符号は、硬判定法、軟判定法、および複合判定法によって復号化することができる。最良の軟判定復号化は、ＢＰであり、最良のＬＤＰＣ符号エラーパフォーマンスを提供する。
【００１０】
ＢＰ復号化
従来のＢＰ復号化について図１に示すように、検査ノードプロセッサ１１０およびビットノートプロセッサ１２０が順次動作し、その間、信頼性メッセージをビリーフ伝播原理に基づいて互いに渡し合う。ここで、Ｕｃｈ１３０は、通信路からの対数尤度比である。ＢＰデコーダの実際の実装に関する主な問題は、「双曲線正接」関数に複雑性が非常に高い計算が必要な、検査ノードプロセッサに起因する。
【００１１】
検査に関わるビットの集合を、ｍ×Ｎ（ｍ）と表し、ビットｎが関わる検査の集合を、Ｍ（ｎ）と表す。また、Ｎ（ｍ）／ｎを、ビットｎが除外された集合Ｎ（ｍ）として表し、Ｍ（ｎ）／ｍを、検査ｍが除外された集合Ｍ（ｎ）として表す。
【００１２】
ｉ番目の反復に関連する以下の表記を定義する。
Ｕｃｈ，ｎ：通信路出力によって生成されるビットｎの対数尤度比（ＬＬＲ）
Ｕ（ｉ）ｍｎ：検査ｍからビットノードｎに送られるビットｎのＬＬＲ
Ｖ（ｉ）ｍｎ：ビットノードｎから検査ノードｍに送られるビットｎのＬＬＲ
Ｖ（ｉ）ｎ：各反復において計算されるビットｎの事後確率ＬＬＲ
【００１３】
従来のＢＰ復号法は、以下のステップを含む。
【００１４】
初期化
ｉ＝１かつ最大反復数をＩｍａｘと設定する。各ｍおよびｎ毎に、Ｖ（０）ｍｎ＝Ｕｃｈ，ｎと設定する。
【００１５】
ステップ１
水平ステップにより、１≦ｎ≦Ｎおよび各ｍ∈Ｍ（ｎ）毎に、下式（３）を処理する。
【００１６】
【数２】
2008541496.tif 000004
【００１７】
垂直ステップにより、１≦ｎ≦Ｎおよび各ｍ∈Ｍ（ｎ）毎に、下式（４）（５）を処理する。
【００１８】
【数３】
2008541496.tif 000005
【００１９】
ステップ２
硬判定および終了判定基準をテストする。（＾）Ｗ（ｉ）＝［（＾）Ｗ（ｉ）ｎ］を、Ｖ（ｉ）ｎ＞０の場合には（＾）Ｗ（ｉ）ｎ＝１となり、その他の場合には（＾）Ｗ（ｉ）＝０となるように生成する（ここで、（＾）は、その後ろの文字の上に＾が付されることを意味している）。Ｈ（＾）ｗ（ｉ）の場合、または最大反復回数に達した場合、（＾）Ｗ（ｉ）を復号化符号語（decoded codeword）として出力し、復号反復を終了し、その他の場合にはｉ＝ｉ＋１と設定してステップ１に戻る。
【００２０】
ステップ３
（＾）Ｗ（ｉ）を復号化符号語として出力する。
【００２１】
ｍｉｎ−ｓｕｍ復号化
図２に示すように、従来のｍｉｎ−ｓｕｍ復号化は、双曲線正接関数の積を、ｍｉｎ−ｓｕｍ演算として近似することによって検査ノードプロセッサ２１０での従来のＢＰ復号化を簡易化する。ｍｉｎ−ｓｕｍの検査ノードでの更新規則は、下式（６）と変更される。
【００２２】
【数４】
2008541496.tif 000006
【００２３】
ｍｉｎ−ｓｕｍ復号化は、比較演算および加算演算しか必要としないため、ハードウェアにおいて可能である。それにもかかわらず、従来のｍｉｎ−ｓｕｍ復号化は、低いパフォーマンスを有する。
【００２４】
従来の正規化ｍｉｎ−ｓｕｍ復号化
図３に示すように、従来の正規化ｍｉｎ−ｓｕｍ復号化は、検査ノードプロセッサ２１０によって生成されるメッセージを正規化する（３１０）ことによってｍｉｎ−ｓｕｍ復号化を向上させる。ここで、「Ａ」３００は、正規化係数を表す。正規化ｍｉｎ−ｓｕｍ復号化の検査ノードでの更新規則は、下式（７）である。
【００２５】
【数５】
2008541496.tif 000007
【発明の開示】
【発明が解決しようとする課題】
【００２６】
正規化ｍｉｎ−ｓｕｍ復号法は、正則ＬＤＰＣ符号を復号化する場合に、従来のＢＰのパフォーマンスに近いパフォーマンスを有する。それにもかかわらず、多くの用途に好ましい非正則ＬＤＰＣ符号を復号化する場合、従来の正規化ｍｉｎ−ｓｕｍ復号化のパフォーマンスとＢＰのパフォーマンスとの間の差は大きい。
【００２７】
したがって、すべてのＬＤＰＣ符号に向けて正規化ｍｉｎ−ｓｕｍ復号法を向上させることが望ましい。
【課題を解決するための手段】
【００２８】
２Ｄ正規化ｍｉｎ−ｓｕｍ復号法では、ｍｉｎ−ｓｕｍ復号化において検査ノードによって生成されるメッセージおよびビットノードによって生成されるメッセージが両方とも正規化される。この復号化は、従来のｍｉｎ−ｓｕｍ復号法および正規化ｍｉｎ−ｓｕｍ復号法と比較した場合に大幅に向上したパフォーマンスを有する。
【００２９】
同時に、２Ｄ正規化ｍｉｎ−ｓｕｍ復号化は、ウォーターフォール領域およびエラーフロア領域においてＢＰ復号法と同様およびＢＰ復号法よりも良好なパフォーマンスを有する。
【００３０】
さらに、２Ｄ正規化ｍｉｎ−ｓｕｍ復号法に必要な計算複雑性は、従来のＢＰ復号化よりもはるかに低い。２Ｄ正規化ｍｉｎ−ｓｕｍ復号化は、また、２Ｄオフセットｍｉｎ−ｓｕｍ復号化に拡張することが可能である。
【発明を実施するための最良の形態】
【００３１】
本発明の一実施形態では、正則および非正則のＬＤＰＣ符号、並びに正則および非正則のＲＡ符号等の誤り訂正符号用の２Ｄ正規化ｍｉｎ−ｓｕｍデコーダを提供する。
【００３２】
従来の正規化ｍｉｎ−ｓｕｍ復号化では、検査ノードプロセッサにより生成されたビリーフメッセージが正規化演算によって後処理される。次いで、これら正規化されたビリーフメッセージに対して、ビットノードプロセッサが動作し、これは、従来のＢＰ復号法と同じである。
【００３３】
非正則ＬＤＰＣ符号の場合、ビットの次数は、一定でない。したがって、異なる重みを有する、ビットから生成されるビリーフメッセージの確率分布は、同じでない。検査ノードプロセッサが異なる次数を有するこれらメッセージを等しく扱うことは、妥当でない。
【００３４】
したがって、本発明の一実施形態では、ビットノードプロセッサによって生成されるメッセージも、同様に正規化される。さらに、ビットノードの異なる重みに主に依存する可変正規化係数を用いる。２つの正規化演算があるため、本発明による方法を、２Ｄ正規化ｍｉｎ−ｓｕｍ復号化と呼ぶ。
【００３５】
別の考慮事項は、可変正規化係数を用いることであり、これは、ビットノードおよび検査ノードの正規化係数が、異なる復号反復中に変化し得ることを意味する。たとえば、検査ノードプロセッサの正規化係数は、第１の所定復号反復回数（たとえば、１０）に依存し、残りの復号反復中は一定である。これに加えて、または、これに代えて、ビットノードプロセッサの正規化係数は、第１の復号反復所定回数（たとえば、１０）に依存し、残りの復号反復中は一定である。
【００３６】
まとめると、従来のｍｉｎ−ｓｕｍ復号化および正規化ｍｉｎ−ｓｕｍ復合化のパフォーマンスを向上させるために、以下の手順を提供する。
【００３７】
本発明では、検査ノードプロセッサによって生成されるメッセージを正規化するとともに、ビットノードプロセッサによって生成されるメッセージを正規化する。ビットノードプロセッサの正規化係数は、異なるビットノードの重みに依存し、検査ノードプロセッサおよびビットノードプロセッサの正規化係数は、復号反復回数に依存する。
【００３８】
図４は、本発明の一実施形態による誤り訂正符号の２Ｄ正規化ｍｉｎ−ｓｕｍデコーダを示す。Ｈを、ＬＤＰＣ符号を定義するパリティ検査行列とする。検査ｍに関わるビットの集合を、Ｎ（ｍ）と表し、ビットｎが関わる検査の集合を、Ｍ（ｎ）と表す。また、Ｎ（ｍ）／ｎを、ビットｎが除外された集合Ｎ（ｍ）として表し、Ｍ（ｎ）／ｍを、検査ｍが除外された集合Ｍ（ｎ）として表す。Ｕｃｈ，ｎ４３０をビットｎの対数尤度比（ＬＬＲ）とし、これは、通信路出力から導き出される。Ｕ（ｉ）ｍｎを、ビットｎのＬＬＲとし、これは、ｉ番目の復号反復において検査ノードｍからビットノードｎに送られる。Ｖ（ｉ）ｍｎを、ビットｎのＬＬＲとし、これは、ビットノードｎから検査ノードｍに送られる。
【００３９】
２Ｄ正規化ｍｉｎ−ｓｕｍ復号化での正規化検査ノードプロセッサは、下式（８）を実行する。
【００４０】
【数６】
2008541496.tif 000008
【００４１】
式中、ｄｃ（ｍ）は、検査ノードｍの次数を表し、Ａ（ｉ）ｄｃ（ｍ）４４０は、反復ｉでの検査ノードｍの正規化係数を表す。
【００４２】
２Ｄ正規化ｍｉｎ−ｓｕｍ復号化での正規化ビットノードプロセッサは、下式（９）を実行する。
【００４３】
【数７】
2008541496.tif 000009
【００４４】
式中、ｄｖ（ｎ）は、ビットノードｎの次数を表し、Ｂ（ｉ）ｄｖ（ｎ）４５０は、反復ｉでのビットノードｎの正規化係数を表す。
【００４５】
２Ｄ正規化ｍｉｎ−ｓｕｍ復号化のステップ１は、以下のサブステップを含む。
【００４６】
水平ステップにより、１≦ｎ≦Ｎおよび各ｍ∈Ｍ（ｎ）毎に、下式（１０）を処理する。
【００４７】
【数８】
2008541496.tif 000010
【００４８】
垂直ステップにより、１≦ｎ≦Ｎおよび各ｍ∈Ｍ（ｎ）毎に、下式（１１）（１２）を処理する。
【００４９】
【数９】
2008541496.tif 000011
【００５０】
一方は水平ステップに、他方は垂直ステップにと、２つの正規化演算があるため、本発明の方法を２Ｄ正規化ｍｉｎ−ｓｕｍ復号化と呼ぶ。
【００５１】
ステップ２およびステップ３は、従来の正規化ｍｉｎ−ｓｕｍ復号化、すなわち、従来のＢＰ復号のステップ２およびステップ３と同じである。
【００５２】
非正則ＬＤＰＣ符号の２Ｄ正規化ｍｉｎ−ｓｕｍ復号化は、２Ｄオフセットｍｉｎ−ｓｕｍ復号化に拡張することができる。オフセットｍｉｎ−ｓｕｍ復号化では、ビリーフメッセージがオフセットパラメータｘ以上の絶対値を有する。この場合、これらメッセージの大きさは、ｘだけ減じられ、他の場合、ビリーフメッセージは、ゼロに設定される。
【００５３】
オフセット演算を使用する主な理由は、復号反復間の相関を低減すること、および誤り伝播を抑制することである。従来のオフセットｍｉｎ−ｓｕｍ復号化の場合のように、検査ノードから送られるメッセージのみがオフセット演算を用いて再度処理される。それにもかかわらず、２Ｄオフセットｍｉｎ−ｓｕｍ復号化では、検査ノードおよびビットノードによって生成される両方のメッセージが、オフセット演算を用いて再度処理される。
【００５４】
２Ｄオフセットｍｉｎ−ｓｕｍ復号化のステップ１について、以下述べる。
【００５５】
水平ステップにより、１≦ｎ≦Ｎおよび各ｍ∈Ｍ（ｎ）毎に、下式（１３）を処理する。
【００５６】
【数１０】
2008541496.tif 000012
【００５７】
垂直ステップにより、１≦ｎ≦Ｎおよび各ｍ∈Ｍ（ｎ）毎に、下式（１４）（１５）を処理する。
【００５８】
【数１１】
2008541496.tif 000013
【００５９】
ステップ２およびステップ３は、上述したものと同じである。
【００６０】
２Ｄオフセットｍｉｎ−ｓｕｍ復号化は、上述した２Ｄ正規化ｍｉｎ−ｓｕｍ復号化と同様のパフォーマンスゲインを提供する。
【００６１】
本発明の他の実施形態では、本発明による方法が、正則および非正則のＲＡ符号に適用されることを理解されたい。
【００６２】
発明の効果
２Ｄ正規化ｍｉｎ−ｓｕｍデコーダの解析は、先行技術によるデコーダよりも良いパフォーマンス、より低い複雑性、および復号速度のトレードオフを示す。
【００６３】
図５は、従来のＢＰ復号化５０１、２Ｄ正規化ｍｉｎ−ｓｕｍ復号化５０２、従来の正規化ｍｉｎ−ｓｕｍ復号化５０３、およびｍｉｎ−ｓｕｍ復号化５０４の、Ｉｍａｘ＝２００を有する（１６２００、７２００）非正則ＬＤＰＣ符号を復号化する場合の語誤り率を比較する。２Ｄ正規化ｍｉｎ−ｓｕｍ復号法は、ＢＰ復号化に匹敵するパフォーマンスを提供し、興味深いことに、高ＳＮＲ領域において、ＢＰ復号化よりも低いエラーフロアを有する。
【図面の簡単な説明】
【００６４】
【図１】ＬＤＰＣ符号の従来のＢＰデコーダのブロック図である。
【図２】ＬＤＰＣ符号の従来のｍｉｎ−ｓｕｍデコーダのブロック図である。
【図３】ＬＤＰＣ符号の従来の正規化ｍｉｎ−ｓｕｍデコーダのブロック図である。
【図４】本発明の一実施形態による誤り訂正符号の２Ｄ正規化ｍｉｎ−ｓｕｍデコーダのブロック図である。
【図５】復号法の語誤り率（ＷＥＲ）を比較したグラフである。
【図１】
2008541496.tif 000014
【図２】
2008541496.tif 000015
【図３】
2008541496.tif 000016
【図４】
2008541496.tif 000017
【図５】
2008541496.tif 000018
【国際調査報告】
2008541496.tif 000019
2008541496.tif 000020
2008541496.tif 000021
2008541496.tif 000022