(57)【要約】      （修正有）【課題】メッセージパッシングを用いた訂正符号の復号、特にＬＤＰＣ符号又はターボ符号の復号改良方法を提供する。【解決手段】反復復号アルゴリズムを用いて訂正符号語を反復的に復号する方法であって、符号語の各ビットに対して、各反復において少なくとも１つの外部情報アイテム（Ｌｉ→ｊ、Ｌ１→２、Ｌ２→１）が生成され、前記方法は、以下のステップ：反復復号アルゴリズムを用いた復号の初期ステップ１０１と、同時に、前記符号語の各ビットに対して、少なくとも１つの外部情報アイテム（Ｌｉ→ｊ、Ｌ１→２、Ｌ２→１）又は別の外部情報アイテム（Ｌ２→１）に対する１つの外部情報アイテム（Ｌ１→２）の変動数を表す基準を作るステップと、復号が収束しない場合は、変動数が最も高い前記符号語のビットの値を変更するステップ１０２と、反復復号アルゴリズムを用いて前記少なくとも１つの変更符号語を復号する追加ステップ１０３と、を含む。【選択図】図１
2015033137.tif 000002
【特許請求の範囲】
【請求項１】
反復復号アルゴリズムを用いて訂正符号語を反復的に復号する方法であって、その過程において、前記符号語の各ビットに対して、各反復において少なくとも１つの外部情報アイテム（Ｌｉ→ｊ、Ｌ１→２、Ｌ２→１）が生成され、前記方法は、以下のステップ：
前記反復復号アルゴリズムを用いた復号の初期ステップ（１０１）と、
前記反復復号と同時に、前記符号語の各ビットに対して、前記反復復号アルゴリズムの一連の連続する反復の過程において、前記少なくとも１つの外部情報アイテム（Ｌｉ→ｊ、Ｌ１→２、Ｌ２→１）又は別の外部情報アイテム（Ｌ２→１）に対する１つの外部情報アイテム（Ｌ１→２）の変動数を表す基準を作るステップと、
前記復号が収束しない場合は、
前記符号語において、前記変動数が最も高い前記ビットの値のみを変更することによって、少なくとも１つの変更符号語を生成するステップ（１０２）と、
前記反復復号アルゴリズムを用いて前記少なくとも１つの変更符号語を復号する追加ステップ（１０３）と、
を含むことを特徴とする方法。
【請求項２】
前記符号語の１ビットの値を変更する前記ステップ（１０２）及び前記変更符号語を復号する前記ステップ（１０３）は、前の反復において値が変更されていない前記ビットの中で前記変動数が最も高い前記符号語のビットの値を各反復において変更しながら反復される、請求項１に記載の訂正符号語を反復的に復号する方法。
【請求項３】
前記追加復号ステップ（１０３）と同時に、前記符号語の各ビットに対して、前記連続する復号反復の過程において、前記少なくとも１つの外部情報アイテム（Ｌｉ→ｊ、Ｌ１→２、Ｌ２→１）又は別の外部情報アイテム（Ｌ２→１）に対する１つの外部情報アイテム（Ｌ１→２）の変動数を表す基準を作る新規ステップが実行され、
前記符号語の１ビットの値を変更する前記ステップ（１０２）及び前記変更符号語を復号する前記ステップ（１０３）は、
ｉ：前の前記反復において生じたビット値の１つ又は複数の前記変更の保存と、
ｉｉ：前記前の反復において実行された前記追加復号ステップにおいて前記変動数が最も高い前記符号語のビットの値の変更と、
を行いながら反復される、請求項１に記載の訂正符号語を反復的に復号する方法。
【請求項４】
前記符号語の１ビットの値を変更する前記ステップ（１０２）及び前記変更符号語を復号する前記ステップ（１０３）の前記反復が、所定の反復数の終了時に停止される、請求項２又は３に記載の訂正符号語を反復的に復号する方法。
【請求項５】
前記符号語の１ビットの値を変更する前記ステップ（１０２）及び前記変更符号語を復号する前記ステップ（１０３）の前記反復が、前記復号器が収束するとすぐに停止される、請求項２又は３に記載の訂正符号語を反復的に復号する方法。
【請求項６】
前記復号器が収束すると、復号語がリストに保存され、前記符号語の１ビットの値を変更する前記ステップ及び前記変更符号語を復号する前記ステップの前記反復が、前記リストが所定数の要素に達する（１０６）とすぐに停止される、請求項２又は３に記載の訂正符号語を反復的に復号する方法。
【請求項７】
前記復号語の前記リスト中の各要素に対して、尤度基準及び前記尤度基準を最適化する前記復号語の選択を計算するステップ（１０５）をさらに含む、請求項６に記載の訂正符号語を反復的に復号する方法。
【請求項８】
前記反復復号アルゴリズムは、変数ノードと呼ばれ、各変数ノードは前記符号語の１ビットに関連付けられた複数の第１のノード（Ｖｊ）を含むタナーグラフと呼ばれる二部グラフの使用を含み、前記グラフは、チェックノードと呼ばれる複数の第２のノード（Ｃｉ）をさらに含み、前記各変数ノード（Ｖｊ）は、少なくとも１つのチェックノード（Ｃｉ）に接続されることによって前記チェックノードから外部情報アイテム（Ｌｉ→ｊ）を受信し、前記変動数を表す前記基準は、前記連続する復号反復の過程において、チェックノードに由来する変数ノード（Ｖｊ）によって受信された外部情報アイテム（Ｌｉ→ｊ）の記号変化数と等しくなるように選択される、請求項１〜７の何れか一項に記載の訂正符号語を反復的に復号する方法。
【請求項９】
外部情報アイテムの記号変化数の計数は、チェックノードに由来する変数ノードによって受信された全ての前記外部情報アイテムに対して行われる、請求項８に記載の訂正符号語を反復的に復号する方法。
【請求項１０】
チェックノードに由来する変数ノードによって受信された全ての前記外部情報アイテムに基づいて包括的外部情報アイテムが計算され、外部情報アイテムの記号変化数の計数は、前記包括的外部情報アイテムに対して行われる、請求項８に記載の訂正符号語を反復的に復号する方法。
【請求項１１】
前記訂正符号がＬＤＰＣ符号である、請求項８〜１０の何れか一項に記載の反復復号方法。
【請求項１２】
前記訂正符号がターボ符号であり、前記反復復号アルゴリズムは、互いに第１の外部情報アイテム（Ｌ１→２）及び第２の外部情報アイテム（Ｌ２→１）を交換可能な第１の復号器（４０１）及び第２の復号器（４０２）の使用を含み、前記変動数を表す前記基準は、前記反復復号アルゴリズムの前記連続する反復の過程における、前記第２の復号器によって受信された前記外部情報アイテム（Ｌ２→１）の記号変化数、又は前記反復復号アルゴリズムの前記連続する反復の過程における、前記第２の復号器（４０２）によって受信された前記外部情報アイテム（Ｌ２→１）及び前記第１の復号器（４０１）によって受信された前記外部情報アイテム（Ｌ１→２）の記号変化数、又は前記反復復号アルゴリズムの前記連続する反復の過程における、１つの反復又は半分の反復の過程における前記第２の復号器（４０２）によって受信された前記外部情報アイテム（Ｌ２→１）と前記第１の復号器（４０１）によって受信された前記外部情報アイテム（Ｌ１→２）との記号差数に等しくなるように選択される、請求項１〜７の何れか一項に記載の訂正符号語を反復的に復号する方法。
【請求項１３】
前記符号語が二値を含み、前記符号語の１ビットの値を変更する前記ステップは、前記ビットの前記値を反転させることにある、請求項１〜１２の何れか一項に記載の訂正符号語を反復的に復号する方法。
【請求項１４】
前記符号語は、軟値を含み、前記符号語の１ビットの値を変更する前記ステップは、前記ビットの前記値を正の最大飽和値及び負の最小飽和値にそれぞれ飽和させることによって、２つの変更符号語を生成することにある、請求項１〜１２の何れか一項に記載の訂正符号語を反復的に復号する方法。
【請求項１５】
前記符号語の１ビットの値を変更する前記ステップ及び前記変更符号語を復号する前記ステップの前記反復は、各ノードが前記正の最大値及び前記負の最小値中の前記２つの飽和値の一方に関連付けられた復号反復に対応するツリーの形で表され、前記ツリーは、幅方向又は深さ方向にトラバースされる、請求項３と組み合わせた請求項１４に記載の訂正符号語を反復的に復号する方法。
【請求項１６】
前記ツリーのノードに関連付けられた前記復号反復が収束すると、前記ノードの子ノードはトラバースされない、請求項１５に記載の訂正符号語を反復的に復号する方法。
【請求項１７】
請求項１〜１６の何れか１項に記載の前記反復復号方法の前記ステップの実行に適した手段を含む通信を受信するためのシステム。
【請求項１８】
プログラムがプロセッサによって実行される場合に、請求項１〜１６の何れか１項に記載の前記反復復号方法を実行するための命令を含むコンピュータプログラム。
【請求項１９】
プログラムがプロセッサによって実行される場合に、請求項１〜１６の何れか１項に記載の前記反復復号方法を実行するための命令を含む前記プログラムが保存される、前記プロセッサによって読み取り可能なストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル電気通信の分野に関し、より正確には、最初に生成されたメッセージを不完全な伝搬チャネル上でこのメッセージを送信する間に導入された誤りにもかかわらず再構築できるように送信された情報の冗長性レベルを増加させる目的で訂正符号の使用を伴うチャネル符号化の分野に関する。
【０００２】
本発明は、特に、メッセージパッシングを用いた復号アルゴリズムに適用可能な訂正符号の改良復号方法に関する。本発明は、ＬＤＰＣ（「低密度パリティ検査」）符号及びターボ符号に有利に適用できるが、パリティ行列によって表すことができる、及びメッセージパッシングアルゴリズムを用いて反復的に復号されることが可能で、その過程で、復号される各ビットに対して、反復の過程で決定の信頼性を向上させる目的で外部情報アイテムが生成される他の訂正符号にも適用できる。
【背景技術】
【０００３】
反復的に復号され得る訂正符号のファミリーは、特にＬＤＰＣ符号及びターボ符号を含むチャネル符号化の特定のファミリーである。以下、「ターボファミリーの符号」という表現は、パリティ行列によって表すことができる、及びメッセージパッシングアルゴリズムを用いて反復的に復号され得る全ての訂正符号を表すために使用する。
【０００４】
これらの符号は、パケット又は信号対雑音比に相関したビット誤り率の観点から良好な性能を得ることを可能にするが、２つの大きな欠点を持つ。
【０００５】
第１に、これらの符号の性能は、その下では、受信の際の信号対雑音比の増加にもかかわらず誤り率がもはや減少しないフロアを有する。この現象は、当該分野において「エラーフロア」という名称で知られている。
【０００６】
第２に、これらの符号の性能は、小さなパケットサイズ（一般的に１００〜５００ビット）の場合に大幅に低下する。実際、これらの符号ファミリーがシャノンの定理の意味で理論上のチャネル容量に漸近的に近づくことを可能にすることが知られているが、小さなパケットサイズの場合、実際に達成される容量との差は、かなりの程度であることが多い。
【０００７】
ターボファミリーの符号の性能を向上させる第１の公知の解決策は、それをＢＣＨ符号又はリードソロモン符号タイプの外部符号で補うことにより、連結符号化スキームを形成することにある。この方法は、性能の観点では効果的であるが、送信の有用なスループットを減少させる欠点を有する。
【０００８】
参考文献［２］に記載の第２の公知の解決策は、復号入力で生成されたフレームにおける最小保護ビットを識別するために、符号語のスペクトルを分析することにある。実際、そのような符号に関して、全てのビットが等しく保護されるとは限らず、従って、あるビットに対する誤りの影響は、別のビットに対する誤りの影響と同じではない。これらのビットのセットΩが決定されると、ターボ符号器は、セットΩによって示された位置に既知のビットを挿入する。その結果、復号の際に、セットΩ及び挿入されたビットの値が分かっているので、ターボ復号器の入力において、その性能を向上させるために、かなりのレベルの信頼性が断言される。その後、最初の情報フレームを回復させるために、挿入されたビットをターボ復号器の出力において取り出す。
【０００９】
ここでも、この技術は、情報ビットが除去され、既知の値のビットによって置き換えられるので、符号の有効収率を減少させる欠点を有する。
【００１０】
［３］に提案された第３の解決策は、復号器の入力フレームの特定の位置にパルスを導入することにある。これらの位置は、復号器入力におけるビットの尤度情報に基づいて決定される。尤度は、それらの大きさに従ってのみソートされ、パルスは、最も信頼性の低い尤度から開始して、１つずつフレームに導入される。
【００１１】
この方法は、効果的であるが、その主な欠点は、実施が非常に複雑である点である。実際、これは、多数の位置にとって効果的であるように思われ、フレーム中の全てのビットが同じ重要性を有するという原則に基づくが、これは、ターボファミリーの符号に関しては当てはまらない。
【００１２】
参考文献［４］に記載の第４の解決策は、復号器の多様性を生かすために復号器の決定則を変更することにある。
【００１３】
この方法は、ＬＤＰＣ符号にのみ有効で、同じファミリーの他の符号には有効ではない。さらに、これは、復号器の複雑なパラメータ化を必要とする。
【００１４】
最後に、幾つかの復号パスを実行するために、復号器のグラフにおいて所定数の誤りノードを識別しようと試みることにある［５］に記載の解決策も公知である。しかしながら、この方法は、提案されたアルゴリズムが様々な復号の試みの過程で復号器によって交換された全てのメッセージの保存を必要とするので、高度な複雑性を有する。さらに、［５］に記載の方法は、特定の種類の復号アルゴリズムにのみ適合し、軟入力値にのみ有効である。
【発明の概要】
【発明が解決しようとする課題】
【００１５】
公知の解決策の上述の制約を改善するために、本発明は、最尤復号の性能に近づくことが可能な反復復号方法を提案する。
【課題を解決するための手段】
【００１６】
本発明による方法は、復号器の入力において、反復復号の過程で交換された外部情報アイテムの記号変化に基づいて最も信頼性の低いビットの識別に基づき、用いられる復号アルゴリズムは、「メッセージパッシング」タイプのものである、すなわち、復号される各ビットに対して、復号決定の信頼性を向上させる目的で各復号反復において外部情報アイテムが生成される。
【００１７】
従って、本発明の主題は、反復復号アルゴリズムを用いて訂正符号語を反復的に復号する方法であって、その過程で、各反復において前記符号語の各ビットに対して少なくとも１つの外部情報アイテムが生成され、前記方法は、以下のステップ：
前記反復復号アルゴリズムを用いた復号の初期ステップと、
前記反復復号と同時に、前記符号語の各ビットに対して、連続する復号反復の過程で、少なくとも１つの外部情報アイテム又は別の外部情報アイテムに対する１つの外部情報アイテムの変動数を表す基準を作るステップと、
復号が収束しない場合は、
前記変動数が最も高い前記符号語のビットの値を変更することによって、少なくとも１つの変更符号語を生成するステップと、
前記反復復号アルゴリズムを用いて前記少なくとも１つの変更符号語を復号する追加ステップと、
を含むことを特徴とする。
【００１８】
本発明のある特定の局面によれば、符号語の１ビットの値を変更するステップ及び変更符号語を復号するステップは、各反復において、前の反復において値が変更されていないビットの中で前記変動数が最も高い前記符号語のビットの値を変更しながら反復される。
【００１９】
本発明のある特定の局面によれば、
追加復号ステップと同時に、前記符号語の各ビットに対して、連続する復号反復の過程で、少なくとも１つの外部情報アイテム又は別の外部情報アイテムに対する１つの外部情報アイテムの変動数を表す基準を作る新規ステップが実行され、
符号語の１ビットの値を変更するステップ及び変更符号語を復号するステップは、
ｉ：前の反復において生じたビット値の１つ又は複数の変更の保存と、
ｉｉ：前の反復において実行された追加復号ステップにおいて前記変動数が最も高い前記符号語のビットの値の変更と、
を行いながら反復される。
【００２０】
本発明のある特定の局面によれば、符号語の１ビットの値を変更するステップ及び変更符号語を復号するステップの反復は、所定の反復数の終了時に停止される。
【００２１】
本発明のある特定の局面によれば、符号語の１ビットの値を変更するステップ及び変更符号語を復号するステップの反復は、復号器が収束するとすぐに停止される。
【００２２】
本発明のある特定の局面によれば、復号器が収束すると、復号語がリストに保存され、符号語の１ビットの値を変更するステップ及び変更符号語を復号するステップの反復は、リストが所定数の要素に達するとすぐに停止される。
【００２３】
本発明のある特定の局面によれば、この方法は、復号語のリスト中の各要素に対して、尤度基準及び前記尤度基準を最適化する復号語の選択を計算するステップをさらに含む。
【００２４】
本発明のある特定の局面によれば、前記反復復号アルゴリズムは、変数ノードと呼ばれ、各変数ノードは前記符号語の１ビットに関連付けられた複数の第１のノードを含むタナーグラフと呼ばれる二部グラフの使用を含み、前記グラフは、チェックノードと呼ばれる複数の第２のノードをさらに含み、各変数ノードは、少なくとも１つのチェックノードに接続されることによって前記チェックノードから外部情報アイテムを受信し、変動数を表す前記基準は、連続する復号反復の過程における、チェックノードに由来する変数ノードによって受信された外部情報アイテムの記号変化数と等しくなるように選択される。
【００２５】
本発明のある特定の局面によれば、外部情報アイテムの記号変化数の計数は、チェックノードに由来する変数ノードによって受信された全ての外部情報アイテムに対して行われる。
【００２６】
本発明のある特定の局面によれば、チェックノードに由来する変数ノードによって受信された全ての外部情報アイテムに基づいて包括的外部情報アイテムが計算され、外部情報アイテムの記号変化数の計数は、包括的外部情報アイテムに対して行われる。
【００２７】
本発明のある特定の局面によれば、前記訂正符号は、ＬＤＰＣ符号である。
【００２８】
本発明のある特定の局面によれば、前記訂正符号がターボ符号であり、前記反復復号アルゴリズムは、互いに第１の外部情報アイテム及び第２の外部情報アイテムを交換可能な第１の復号器及び第２の復号器の使用を含み、変動数を表す前記基準は、前記反復復号アルゴリズムの連続する反復の過程における、第２の復号器によって受信された外部情報アイテムの記号変化数、又は前記反復復号アルゴリズムの連続する反復の過程における、第２の復号器によって受信された外部情報アイテム及び第１の復号器によって受信された外部情報アイテムの記号変化数、又は前記反復復号アルゴリズムの連続する反復の過程における、１つの反復又は半分の反復の過程における第２の復号器によって受信された外部情報アイテムと第１の復号器によって受信された外部情報アイテムとの記号差数に等しくなるように選択される。
【００２９】
本発明のある特定の局面によれば、前記符号語が二値を含み、前記符号語の１ビットの値を変更する前記ステップは、前記ビットの値を反転させることにある。
【００３０】
本発明の別の特定の局面によれば、前記符号語は、軟値を含み、前記符号語の１ビットの値を変更する前記ステップは、前記ビットの値を正の最大飽和値及び負の最小飽和値にそれぞれ飽和させることによって、２つの変更符号語を生成することにある。
【００３１】
本発明のある特定の局面によれば、符号語の１ビットの値を変更するステップ及び変更符号語を復号するステップの反復は、各ノードが正の最大値及び負の最小値中の２つの飽和値の一方に関連付けられた復号反復に対応するツリーの形で表され、前記ツリーは、幅方向又は深さ方向にトラバースされる。
【００３２】
本発明のある特定の局面によれば、前記ツリーのノードに関連付けられた復号反復が収束すると、前記ノードの子ノードはトラバースされない。
【００３３】
本発明の別の主題は、本発明による反復復号方法のステップの実行に適した手段を含む通信を受信するためのシステム、プログラムがプロセッサによって実行される場合に、本発明による反復復号方法を実行するための命令を含むコンピュータプログラム、及びプログラムがプロセッサによって実行される場合に、本発明による反復復号方法を実行するための命令を含むプログラムが保存される、プロセッサによって読み取り可能なストレージ媒体である。
【００３４】
本発明の他の特徴及び利点は、以下を示す添付の図面を参照して、以下の記載を読めば、より明白となるであろう。
【図面の簡単な説明】
【００３５】
【図１】本発明による方法を実施するステップを記載するフローチャートである。
【図２】タナーグラフを用いたＬＤＰＣタイプの訂正符号の表現を示す図である。
【図３ａ】本発明の実施形態による、本方法のある特定のステップにおけるツリーの使用及びそのトラバースを示す図である。
【図３ｂ】本発明の実施形態による、本方法のある特定のステップにおけるツリーの使用及びそのトラバースを示す図である。
【図４】ターボ符号の復号中の外部情報アイテムの交換を示す図である。
【発明を実施するための形態】
【００３６】
図１は、所与の訂正符号の符号語を復号するための本発明による方法を実施するための一連のステップをフローチャートで記述する。
【００３７】
まず、ＬＤＰＣ符号を復号するのに適した本発明の第１の実施形態を説明する。
【００３８】
準備ステップ１０１において、符号語を復号するための復号の第１のインスタンスが実行される。本発明の第１の実施形態によれば、使用される復号アルゴリズムは、タナーグラフと呼ばれる二部グラフの使用に基づく。このようなグラフは、特に、ＬＤＰＣ符号の復号に適している。
【００３９】
参考文献テキスト［１］、特に「低密度パリティ検査符号」というタイトルの第５章は、ＬＤＰＣ符号を復号するためのタナーグラフの使用及びそのようなグラフに基づく様々な復号アルゴリズム（特にｓｕｍ−ｐｒｏｄｕｃｔアルゴリズム）を詳細に説明する。本発明の方法の準備ステップ１０１に使用される復号アルゴリズムは、前記テキストの第５章に記載されるものの１つ又は二部タナーグラフに基づいたものであることを前提とした他の同等のアルゴリズムでもよい。このようなアルゴリズムは、訂正符号の専門家である当業者がテキスト［１］又はこのアルゴリズムを実施するための分野の他の参考文献テキストを参照できるので、本明細書において詳細な説明は行わない。
【００４０】
タナーグラフは、２種類のノードから構成される二部グラフである。第１の種類のノードは、カスタムに応じて変数ノード又は符号ビットノードと呼ばれる。変数ノードは、復号アルゴリズムの入力において生成された符号語の１ビットと各々関連付けられる。従って、復号される符号語のビットと同数の変数ノードが存在する。各変数ノードは、１つ又は複数のチェックノード又は制約ノードに接続される。チェックノードの数は、訂正符号のパリティ行列の行数に等しい。添え字ｉのチェックノードは、符号のパリティ行列の行ｉ及び列ｊの要素が１と等しい場合に限り、添え字ｊの変数ノードに接続される。
【００４１】
図２は、互いにリンクされた変数ノードＶｊ及びチェックノードＣｉを含むタナーグラフの一部を示す。図２の例では、変数ノードＶｊは、３つの他のチェックノードにも接続されている。変数ノードＶｊは、アルゴリズムの入力で受信した符号語の添え字ｊのビットの値Ｌｊを用いて初期化される。この値は、二値でもよいが、ほとんどの場合、対数尤度比ＬＬＲに等しい、いわゆる軟値である。復号アルゴリズムの各反復において、変数ノードＶｊは、それが接続されるチェックノードに外部情報アイテムＬｊ→ｉを送信し、それが接続されるチェックノードから外部情報アイテムＬｉ→ｊを受信する。
【００４２】
外部情報アイテムの概念は、当該分野では周知であり、例えば、参考文献テキスト［１］の第５章に説明されている。これは、対数尤度比タイプの情報アイテムと等しくなり得る。尤度比は、受信した符号語が分かっている場合に０の１ビットを有する確率と、受信した符号語が分かっている場合に１の１ビットを有する確率の比によって定義される。
【００４３】
復号と同時に、かつ、復号される符号語の各ビットに関連付けられた各変数ノードに対して、変数ノードによって受信された外部情報アイテムの記号変化数が記録され、復号の終了まで保存される。
【００４４】
記号変化数は、変数ノードが接続される全てのチェックノードから生じた、変数ノードによって受信された外部情報アイテムの全てにわたって計数されてもよく、あるいは、受信された外部情報アイテムの合計に等しい包括的外部情報アイテムを事前に計算し、その後包括的外部情報アイテムの記号変化数を計数することによって計数してもよい。
【００４５】
従って、復号の終了時に、各復号ビットに対して、このビットに関連する変数ノードによって受信された外部情報アイテムの記号変化数に関する関連情報アイテムが存在する。
【００４６】
この情報アイテムは、復号ビットの信頼性の指標を与え、以下、１つ又は複数の連続する復号パスを実行することによって復号を向上させるために使用される。
【００４７】
準備ステップ１０１において実行された復号が収束すると、得られた復号語は、保持され、プロセスが停止される。ある変形実施形態では、この復号語は、幾つかの復号語のリストに加えられ、このリストから、以下により詳細に説明する基準に応じて最も可能性の高い語が選択される。
【００４８】
使用される収束の基準は、任意の通常の基準でよく、特に、この基準は、受信した符号語を補うＣＲＣ符号の検査、シンドローム検出、又は復号アルゴリズムの収束の定義を可能にする他の基準から成り得る。
【００４９】
準備ステップ１０１において実行された復号が収束しない場合、本発明による方法の新規ステップ１０２において、復号アルゴリズムの入力において生成された符号語中で、受信された外部情報アイテムの記号変化数が最も高いタナーグラフの変数ノードに対応するビットが識別される。識別されたビットの値は、次に、変更符号語を生成するために変更される。
【００５０】
識別されたビットにもたらされる変更は、この方法の入力において生成された符号語が二値であるか、又は軟値から構成されているかに応じて異なる。第１のケースでは、ビットの値は、識別されたビットを反転することにより、すなわち、その値を０から１へ、又は１から０へ変更することによって変更される。第２のケースでは、ビットの値は、軟値の変動範囲に応じて最大及び最小可能値で飽和する。例えば、軟値が末端−Ｓ及び＋Ｓ間で異なるように数値化される場合（Ｓは、正の数）、識別されたビットの変更は、２つの変更符号語を生成するために、値＋Ｓ及び値−Ｓでこのビットの値をそれぞれ飽和させることにある。
【００５１】
この変更は、関連する外部情報アイテムの多数の記号変化（これらは、復号器の決断の不安定性の表れである）により信頼性が低いと識別されたビットに対して事前に決断を下すことによって、復号器を支援することを可能にする。
【００５２】
次のステップ１０３では、準備ステップ１０１と同じ復号アルゴリズムを用いるが、それを変更符号語に適用して、復号方法が繰り返される。２つの変更符号語が生成された場合は、ステップ１０３は、これら２つの語に対して交互に復号アルゴリズムを実行することにある。
【００５３】
ステップ１０２及び１０３は、停止テスト１０４が検証されるまで数回反復される。
【００５４】
ステップ１０２、１０３、１０４の反復の幾つかの変形実施形態をこれより説明する。
【００５５】
第１の変形例では、各反復において、前の反復で値が変更されていないビットの中で受信された外部情報アイテムの記号変化数が最も高い変数ノードに関連付けられた符号語のビットの値が変更される。
【００５６】
つまり、符号語のビットは、関連する記号変化数の多い順にソートされ、次に、各反復において、次のビットの値を所定の多い順に変更しながら復号１０３が実行される。新規の反復ごとに、符号語は、そのビットの１つの値を変更する前にリセットされる。
【００５７】
この変形例は、最初の復号パスにおける記号変化の１回の計数のみを必要とするので、複雑性の低さという利点を有する。
【００５８】
第２の変形例では、各復号反復１０３において、復号１０３の過程における各変数ノードによって受信された外部情報アイテムの記号変化数の新規の計数が実行され、前の反復において変更された符号語中で、記号変化数が最も高い変数ノードに関連付けられたビットの値が変更される。
【００５９】
この第２の変形例は、符号語のビットの変更という形での決定支援が連続する反復によって高められるので、復号性能の向上という利点を有する。
【００６０】
この第２の変形例において、符号語が軟値を含む場合には、復号反復１０３は、図３ａ及び３ｂに示されるようなツリーの形で表すことができる。
【００６１】
このようなツリー３００では、ツリーのノード３０１、３０２、３０３、３０４はそれぞれ、変更ビットの２つの飽和値−Ｓ、＋Ｓの一方と関連付けられた１つの復号反復に対応する。
【００６２】
ツリー３００は、まず、図３ａに示されるように、幅方向にトラバースされ得る。この場合、第１の復号反復ＩＴ１が正の飽和値＋Ｓを用いて変更された最初の符号語に適用され、次に、第２の復号反復ＩＴ２が負の飽和値−Ｓを用いて変更された最初の符号語に適用される。次に、ツリーの第２の深さレベルがトラバースされる。つまり、第３の復号反復ＩＴ３が正の飽和値＋Ｓを用いて変更された第１の反復で変更された符号語に適用され、第４の復号反復ＩＴ４が負の飽和値−Ｓを用いて変更された第１の反復で変更された符号語に適用され、第５の復号反復ＩＴ５が正の飽和値＋Ｓを用いて変更された第２の反復で変更された符号語に適用され、第６の復号反復ＩＴ６が負の飽和値−Ｓを用いて変更された第２の反復で変更された符号語に適用される。ツリーの次の深さレベルが同様にトラバースされる。各反復において、前のステップで変更された符号語が保存され、受信した外部情報アイテムの記号変化数が最も高い変数ノードに関連するビットの値が変更される。
【００６３】
深さレベルの数、すなわち、反復の最大数が先験的に設定される。
【００６４】
図３ｂは同じツリーを表すが、図３ａのように幅方向ではなく深さ方向のツリーのトラバースを示す。
【００６５】
図３ｂに表現される変形例では、ツリーは、一方では正の飽和値＋Ｓを用いて変更された最初の符号語に対応するノード３０１の子ノードをテストし、他方では負の飽和値−Ｓを用いて変更された最初の符号語に対応するノード３０２の子ノードをテストすることによってトラバースされる。
【００６６】
この変形例は、ノード３０１に起因する反復及びノード３０２に起因する反復を同時に実行しながら、復号反復を並行して行うことができるという利点を提供する。
【００６７】
別の変形実施形態では、ツリーのトラバース方法がどんなものであれ、ツリーは、復号器の収束をもたらした反復に対応するノードの子ノードを除外することにより、枝刈りが行われ得る。実際、復号器が収束すると、子ノードの中から復号語の別のより可能性の高い候補を見つけ出す確率は、限りなく小さい。ツリーの枝刈りは、無用な復号反復を取り除くことによって、その複雑性を低下させることを可能にする。
【００６８】
復号反復１０３を停止させるために使用される停止テスト１０４は、幾つかの形を取り得る。
【００６９】
第１の変形例では、反復１０２、１０３は、復号器が収束するとすぐに停止される。
【００７０】
第２の変形例では、反復１０２、１０３は、例えばツリー３００の深さの程度に一致する所定の反復数の終了時に停止される。
【００７１】
本発明のある変形実施形態では、追加ステップの群１１０が、保持される復号語を決定する前に実行される。
【００７２】
この群１１０の第１のステップ１０５では、停止テスト１０４の終了時又は復号器が収束した場合は第１の最初の復号パス１０１の終了時に得られた復号語が、候補復号語のリストに保存される。このリストは、例えば最大３つの候補に等しい所定サイズを有する。
【００７３】
リスト中の各候補に対して、復号語の尤度の基準が計算される。
【００７４】
候補語の数がリスト中の語の最大数に等しければ（１０６）、尤度基準の最適化を可能にする候補が選択される（１０７）。
【００７５】
これらの追加ステップ１０５、１０６、１０７は、幾つかの候補の中から最も可能性の高い復号語を選択することによって復号性能のさらなる向上を可能にする。
【００７６】
使用される尤度基準は、復号器入力における符号語の性質による。
【００７７】
符号語が二値データを含む場合、基準は、復号器入力における変調受信ビット（すなわち、値＋１又は−１を取り得る）及び候補復号語の変調決定ビットの積のペアワイズ総和と、その後のこの基準を最大にする候補復号語の選択とにあり得る。
【００７８】
符号語が軟データを含む場合、基準は、復号器入力において受信されたビットの尤度及び候補復号語の変調決定ビットの積のペアワイズ総和と、その後のこの基準を最大にする候補復号語の選択とにあり得る。
【００７９】
２つの上述の基準に代えて、訂正符号を復号するためのアルゴリズムの分野において公知の他の同等の尤度基準を代わりに使用してもよい。
【００８０】
本発明の第２の実施形態によれば、復号方法は、ターボ符号にも適用できる。
【００８１】
この場合、本発明による方法のステップ１０１及び１０３を実行するために使用される復号アルゴリズムは、もはや、タナーグラフの使用には基づかないが、２つの復号器間の外部情報アイテムの交換を用いた反復復号に基づく。
【００８２】
図４は、ターボ符号の復号に適した復号器の動作を図式化する。
【００８３】
このような復号器４００は、特に、第１及び第２のインターリーバ４０３、４０４によって互いにリンクされた第１の訂正符号の第１の単一復号器４０１及び第２の訂正符号の第２の単一復号器４０２を含む。
【００８４】
このような復号器４００の詳細な動作は、当該分野で公知であり、特に、参考文献テキスト［１］の第７章に記載されている。これは、本発明の主題ではなく、従って、本特許出願においては詳細な記載を行わない。
【００８５】
要約すれば、復号器４００は、以下の原則に従って反復的に動作する。復号される符号語の各ビットに対して、第１の単一復号器４０１が実行され、第２の単一復号器４０２に送信される第１の外部情報アイテムＬ１→２の生成を可能にし、第２の単一復号器４０２は、次に、この情報アイテムを使用して符号語を復号し、第２の外部情報アイテムＬ２→１を生成する。この第２の情報アイテムは、復号器４００の新規反復を実行する目的で第１の復号器４０１に再送信される。このプロセスは、幾つかの連続的反復を続ける。最後の反復の終了時に、復号語を得るための決定が第２の単一復号器４０２によって行われる。
【００８６】
符号語のビット毎に２つの単一復号器間で交換された外部情報アイテムは、二部タナーグラフのノード間で交換された外部情報アイテムと同じ性質のものである。
【００８７】
従って、本発明による方法をターボ符号の復号に適用するためには、ＬＤＰＣ符号の復号の過程で変数ノードによって受信された外部情報アイテムを、ターボ符号の復号の過程で２つの単一復号器４０１、４０２間で交換された外部情報アイテムによって置き換えれば十分である。
【００８８】
この主題に関して、幾つかの変形実施形態が可能である。
【００８９】
第１の変形例では、ＬＤＰＣ符号の場合に関して先に説明したような記号変化数の計数に関して、第２の復号器４０２によって受信された外部情報アイテムＬ１→２のみを考慮する。記号変化は、連続する復号反復の際に計数される。
【００９０】
実際、復号に関する決断は第２の復号器４０２によって最後に行われるので、後者によって受信された外部情報アイテムの記号変化は、関連する復号ビットの信頼性の指標を提供する。多くの変動が様々な連続する復号反復の際に生じた場合、これは、復号ビットの値に関する決定の不安定性を示す。つまり、外部情報アイテムの変動が多いほど、ビットの実際の値がより不確かとなる。
【００９１】
第２の変形例では、記号変化数の計数は、第２の復号器４０２によって受信された外部情報アイテムＬ１→２及び第１の復号器４０１によって受信された外部情報アイテムＬ２→１の両方を考慮に入れ得る。
【００９２】
第３の変形例では、記号変化数の計数は、連続する復号反復の過程で、第２の復号器４０２によって受信された外部情報アイテムＬ１→２及び第１の復号器４０１によって受信された外部情報アイテムＬ２→１の記号が正反対である回数の計数に置き換えることができる。実際、全く同一のビットに関して、半分の反復で２つの復号器によって交換された外部情報アイテムの記号が正反対である場合、これもまた、復号ビットの値に関する決断の変動を表す。
【００９３】
より一般的に、復号反復の過程で交換された外部情報アイテムの記号変化数又は２つの外部情報アイテム間の記号差の数に関する基準は、１つ又は複数の外部情報アイテム又は別の外部情報アイテムに対する１つの外部情報アイテムの変動を表す任意の同等の基準によって置き換えられてもよい。従って、本発明による方法を、２つの上述の例に記載したものとは異なる別の種類のメッセージパッシングアルゴリズムを用いた別の種類の訂正符号の復号に適用するために、当業者は、使用される基準を使用される復号器の固有動作に適応させて同等の基準を作る方法が分かるであろう。
【００９４】
本発明による復号方法は、ハードウェア及び／又はソフトウェア要素に基づいて実施され得る。これは、特に、その実行のための命令を含むコンピュータプログラムとして実施され得る。コンピュータプログラムは、プロセッサによって読み取り可能なストレージ媒体に保存され得る。
【００９５】
エミッタ及びレシーバ間の符号化データのストリームの送信状況で使用されてもよく、本発明による方法は、レシーバによって実施される。
【００９６】
これは、符号化され、ストレージデバイスに保存されたデータのストリームに基づいて実行されてもよい。
【００９７】
本発明による方法の様々なステップは、プロセッサ及びメモリを含むデバイスによって実行されてもよい。プロセッサは、一般的なプロセッサ、特殊プロセッサ、ＡＳＩＣ（特定用途向け集積回路）、又はＦＰＧＡ（フィールドプログラマブルゲートアレイ）でもよい。
【００９８】
参考文献
［１］“Ｃｈａｎｎｅｌ  ｃｏｄｅｓ，ｃｌａｓｓｉｃａｌ  ａｎｄ  ｍｏｄｅｒｎ”，Ｗｉｌｌｉａｍ  Ｅ．Ｒｙａｎ，Ｓｈｕ  Ｌｉｎ，Ｃａｍｂｒｉｄｇｅ  Ｕｎｉｖｅｒｓｉｔｙ  Ｐｒｅｓｓ．
［２］Ｍ．Ｏｂｅｒｇ  ＆  Ｐ．Ｓｉｅｇｅｌ，“Ａｐｐｌｉｃａｔｉｏｎ  ｏｆ  ｄｉｓｔａｎｃｅ  ｓｐｅｃｔｒｕｍ  ａｎａｌｙｓｉｓ  ｔｏ  ｔｕｒｂｏ  ｃｏｄｅ  ｐｅｒｆｏｒｍａｎｃｅ  ｉｍｐｒｏｖｅｍｅｎｔ”，Ｐｒｏｃ．３５ｔｈ  Ａｎｎｕ．Ｃｏｎｆ．Ｃｏｍｍｕｎ，Ｃｏｎｔｒｏｌ  ａｎｄ  Ｃｏｍｐｕｔｉｎｇ．  ｐｐ  ７０１−７１０，Ｓｅｐｔ  １９９７．
［３］Ｙ．Ｏｕｌｄ−Ｃｈｅｉｋｈ−Ｍｏｕｈａｍｅｄｏｕ，“Ａ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｌｏｗｅｒｉｎｇ  Ｔｕｒｂｏ  Ｃｏｄｅ  Ｅｒｒｏｒ  Ｆｌａｒｅ  ｕｓｉｎｇ  Ｃｏｒｒｅｃｔｉｏｎ  Ｉｍｐｕｌｓｅｓ  ａｎｄ  Ｒｅｐｅａｔｅｄ  Ｄｅｃｏｄｉｎｇ”，６ｔｈ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ＩＴＧ−Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｓｏｕｒｃｅ  ａｎｄ  Ｃｈａｎｎｅｌ  Ｃｏｄｉｎｇ（Ｔｕｒｂｏｃｏｄｉｎｇ），２００６  ４ｔｈ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｓｙｍｐｏｓｉｕｍ
［４］“Ａｐｐｒｏａｃｈｉｎｇ  Ｍａｘｉｍｕｍ  Ｌｉｋｅｌｉｈｏｏｄ  ｄｅｃｏｄｉｎｇ  ｏｆ  ｆｉｎｉｔｅ  ｌｅｎｇｔｈ  ＬＤＰＣ  ｃｏｄｅｓ  ｖｉａ  ＦＡＩＤ  ｄｉｖｅｒｓｉｔｙ”，Ｄ．Ｄｅｃｌｅｒｃｑ  ｅｔ  ａｌ．
［５］“Ａｕｇｍｅｎｔｅｄ  Ｂｅｌｉｅｆ  Ｐｒｏｐａｇａｔｉｏｎ  Ｄｅｃｏｄｉｎｇ  ｏｆ  Ｌｏｗ−Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ  Ｃｏｄｅｓ”，Ｖａｒｎｉｃａ  ｅｔ  ａｌ．ＩＥＥＥ  Ｔｒａｎｓ  ｏｎ  Ｃｏｍ  ２００７
【符号の説明】
【００９９】
Ｌｉ→ｊ、Ｌ１→２、Ｌ２→１  外部情報アイテム
１０１  準備ステップ
１０４  停止テスト
Ｖｊ  変数ノード
Ｃｉ  チェックノード
４０１  第１の復号器
４０２  第２の復号器
３００  ツリー
３０１、３０２、３０３、３０４  ノード
−Ｓ、＋Ｓ  飽和値
【図１】
2015033137.tif 000003
【図２】
2015033137.tif 000004
【図３ａ】
2015033137.tif 000005
【図３ｂ】
2015033137.tif 000006
【図４】
2015033137.tif 000007
【外国語明細書】
2015033137000001.pdf