(57)【要約】【課題】高いビット密度に付随する大きいＩＳＩと低いＳＮＲの複雑さにもかかわらず、１０−１５の訂正ＢＥＲに結び付く符号化の仕組みを提供すること。【解決手段】一実施形態では、誤り訂正の情報符号化のための装置が代数式に復号化可能なデータを発生する外部エンコーダを有し、この外部エンコーダが反復式に復号化可能なデータを発生する１つまたは複数の内部エンコーダへと動作可能なように連結される。外部エンコーダは、ｑ個の外部符号化された記号を作り出すためにｒ個の符号記号を使用して（ｑ−ｒ）個のオリジナルのデータ記号のグループを符号化するように構成され、外部エンコーダの符号化利得は最大でｘ個の記号誤りおよび（ｒ−２ｘ）個の記号消失の訂正を提供し、ここでｒはゼロよりも大きい整数であり、ｘは【数１】2006135980.tif 000005となるような整数である。【選択図】図１
2006135980.tif 000002
【特許請求の範囲】
【請求項１】
オリジナルのデータに外部エンコーダを適用し、引き続いて少なくとも１つの内部エンコーダを適用することによって作り出されたＥＣ符号化されたデータを復号化するための方法であって、
（ａ）第１の復号化されたデータを作り出すために前記ＥＣ符号化されたデータに、前記少なくとも１つの内部エンコーダに対応する少なくとも１つの内部デコーダを適用するステップと、
（ｂ）第２の復号化されたデータを作り出すために前記第１の復号化されたデータに、前記外部エンコーダに対応する少なくとも１つの反復型デコーダを適用するステップと、
（ｃ）出力の復号化されたデータを作り出すために前記第２の復号化されたデータに、前記外部エンコーダに対応する代数型デコーダを適用するステップとを含む方法。
【請求項２】
前記少なくとも１つの内部デコーダが反復型デコーダを含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの内部デコーダがＬＤＰＣデコーダを含み、前記少なくとも１つの反復型デコーダが反復型アレイ・デコーダを含み、前記代数型デコーダが代数型アレイ・デコーダである、請求項１に記載の方法。
【請求項４】
前記ＥＣ符号化されたデータが、（１）記号の第１のブロックを作り出すために前記オリジナルのデータに前記外部エンコーダを適用するステップ、および（２）符号語の第１のブロックを作り出すために前記記号の第１のブロックに前記少なくとも１つの内部エンコーダを適用するステップによって作り出された符号語の第１のブロックに対応する符号語の第２のブロックを含み、
ステップ（ａ）が、前記第１の復号化されたデータを作り出すために前記ＥＣ符号化されたデータの中の各々の符号語を別々に復号化するステップを含み、
前記第１の復号化されたデータが前記記号の第１のブロックに対応する記号の第２のブロックを含み、
前記少なくとも１つの内部デコーダによる前記符号語のうちの少なくとも１つの復号化が前記記号の第２のブロックの中に２つ以上の記号を作り出す、請求項１に記載の方法。
【請求項５】
ステップ（ａ）がさらに、チャンネルから前記ＥＣ符号化されたデータを受け取るためにチャンネル検出器を適用するステップを含む、請求項１に記載の方法。
【請求項６】
外因性の情報が前記少なくとも１つの内部デコーダから前記チャンネル検出器へと送られるか、
外因性の情報が前記少なくとも１つの反復型デコーダから前記チャンネル検出器へと送られるか、
外因性の情報が前記少なくとも１つの反復型デコーダから前記少なくとも１つの内部デコーダへと送られるかのうちの、少なくとも１つである、請求項５に記載の方法。
【請求項７】
オリジナルのデータに外部エンコーダを適用し、引き続いて少なくとも１つの内部エンコーダを適用することによって作り出されたＥＣ符号化されたデータを復号化するための連結されたデコーダであって、
（ａ）第１の復号化されたデータを作り出すために前記ＥＣ符号化されたデータを復号化するように構成され、前記少なくとも１つの内部エンコーダに対応する少なくとも１つの内部デコーダと、
（ｂ）第２の復号化されたデータを作り出すために前記第１の復号化されたデータを復号化するように構成され、前記外部エンコーダに対応する少なくとも１つの反復型デコーダと、
（ｃ）出力の復号化されたデータを作り出すために前記第２の復号化されたデータを復号化するように構成され、前記外部エンコーダに対応する代数型デコーダとを有するデコーダ。
【請求項８】
前記ＥＣ符号化されたデータが、（１）記号の第１のブロックを作り出すために前記オリジナルのデータに前記外部エンコーダを適用するステップ、および（２）符号語の第１のブロックを作り出すために前記記号の第１のブロックに前記少なくとも１つの内部エンコーダを適用するステップによって作り出された符号語の第１のブロックに対応する符号語の第２のブロックを含み、
前記少なくとも１つの内部デコーダが、前記第１の復号化されたデータを作り出すために前記ＥＣ符号化されたデータの中の各々の符号語を別々に復号化するように構成され、
前記第１の復号化されたデータが前記記号の第１のブロックに対応する記号の第２のブロックを含み、
前記少なくとも１つの内部デコーダによる前記符号語のうちの少なくとも１つの復号化が前記記号の第２のブロックの中に２つ以上の記号を作り出す、請求項７に記載のデコーダ。
【請求項９】
（１）記号の第１のブロックを作り出すためにデータの第１のブロックに外部エンコーダを適用するステップ、および（２）符号語の第１のブロックを作り出すために前記記号の第１のブロックに少なくとも１つの内部エンコーダを適用するステップによって作り出されたＥＣ符号化されたデータを復号化するための方法であって、
（ａ）前記符号語の第１のブロックに対応する符号語の第２のブロックを復号化するために少なくとも１つの内部デコーダを適用するステップであって、前記符号語の第２のブロックの復号化が前記記号の第１のブロックに対応する記号の第２のブロックを作り出し、前記内部デコーダが前記符号語の第２のブロックの中の各々の符号語を別々に復号化し、少なくとも１つの符号語が前記内部デコーダによって復号化されることで前記記号の第２のブロックの中に２つ以上の記号を作り出すステップと、
（ｂ）前記データの第１のブロックに対応するデータの第２のブロックを作り出すために代数の復号化仕組みを前記記号の第２のブロックに適用するステップとを含む方法。
【請求項１０】
（１）記号の第１のブロックを作り出すためにデータの第１のブロックに外部エンコーダを適用するステップ、および（２）符号語の第１のブロックを作り出すために前記記号の第１のブロックに少なくとも１つの内部エンコーダを適用するステップによって作り出されたＥＣ符号化されたデータを復号化するための連結されたデコーダであって、
前記符号語の第１のブロックに対応する符号語の第２のブロックを復号化するように構成された少なくとも１つの内部デコーダであって、前記符号語の第２のブロックの復号化が前記記号の第１のブロックに対応する記号の第２のブロックを作り出し、前記内部デコーダが前記符号語の第２のブロックの中の各々の符号語を別々に復号化し、少なくとも１つの符号語が前記内部デコーダによって復号化されることで前記記号の第２のブロックの中に２つ以上の記号を作り出すような内部デコーダと、
前記データの第１のブロックに対応するデータの第２のブロックを作り出すために代数の復号化仕組みを前記記号の第２のブロックに適用するように構成された代数型外部デコーダとを有する連結されたデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は誤り訂正（ＥＣ）の符号化に関し、さらに特定すると連結された誤りの符号化および復号化に関する。
【背景技術】
【０００２】
デジタル通信システムでは、情報はチャンネル上で送信器から受信器へと通信され、それは通常ではある程度の量のノイズによって損なわれる。同様に、デジタル記憶システム（例えば磁気、光、半導体、および有機の記憶システム）では記憶媒体への送信、記憶媒体への保存、および記憶媒体からのリードバックの中で情報への損傷が導入される可能性が高い。ビット誤り率（ＢＥＲ）と称される誤りの発生する率はデジタル通信リンクおよびデータ保存に関して極めて重要な設計基準である。普通、ＢＥＲはビットの合計数に対する導入されるビット誤りの数の比であると定義される。普通、ＢＥＲは用途に応じて決まる特定の値よりも下に保たれなければならない。通信および記憶システムの両方で、ノイズおよび符号間干渉（ＩＳＩ）のような損傷の存在下で可能な限りオリジナルの情報が正確に回収されることを確実化するために、オリジナルのメッセージへの冗長性の追加を基本とするＥＣの符号化技術が一般的に使用される。ＥＣコードの紹介および概観は本願明細書でその全文を参照で組み入れるＢｅｒｎａｒｄ  ＳｋａｌａｒとＦｒｅｄｒｉｃ  Ｊ．Ｈａｒｒｉｓの「Ｔｈｅ  ＡＢＣｓ  ｏｆ  ｌｉｎｅａｒ  ｂｌｏｃｋ  ｃｏｄｅｓ」，ＩＥＥＥ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｍａｇａｚｉｎｅ，Ｊｕｌｙ  ２００４，ｐｐ．１４〜３５に見出されることが可能である。
【０００３】
概して、ＥＣデコーダは２つの主要なクラス、すなわち代数型のハード・デコーダと反復型のソフト・デコーダに分類される。ハード・デコーディングは、受信された信号もしくは記憶媒体からリードバックされた信号サンプルがデジタル記号（例えば２進データのブロック）へと直接解読される処理に関し、それに対してソフト・デコーディングは、特定のサンプルが２進数０もしくは２進数１である確率といったさらに確率的な情報に結果としてつながる処理に関する。例えば、通常のソフト出力デコーダは各々の受信サンプルを表現するために４ビットで表わされる２進数の値を使用することが可能である。＋７に近い値は受信２進数１を表わす高い確率を有すると考えられ、それに対して−８に近い値は受信２進数０を表わす高い確率を有すると考えられる。反復型の復号化は、前の信頼性に欠けるビット予測からさらに信頼性のあるビット予測を作り出すことによって復号化精度を向上させることが可能である。
【０００４】
反復型デコーダ（例えばターボ・デコーダ、低密度パリティ・チェック（ＬＤＰＣ）デコーダ、および反復型アレイ・デコーダ）は高い符号化利得という興味を引く特性を有する。符号化利得は、符号化されていない信号を上回る、符号化された信号が与える効率の増大として定義される。デシベルで表現される場合、符号化利得は、例えば送信電力の減少のレベルを示すことが可能であり、それは無符号に相対して特定の符号が使用されるときにチャンネルを通る同じデータ転送速度を維持するために達成されることが可能である。反復型デコーダの１つの特徴は、デコーダの符号化利得に関して決定済みの表現がないことである。動作の有界の数の観点から分析的に表現されることが可能であれば、或る表現が決定済みの表現であると言われる。例えば、無限の合計は概して決定済みであると考えられないであろう。反復型デコーダの符号化利得に関して決定済みの表現がないので、これらのデコーダの符号化利得は通常ではシミュレーションによって決定される。残念ながら、反復型デコーダの目標ＢＥＲが極めて低い（例えば１０−１５以下）とき、デコーダのシミュレーションは現在のコンピュータ・システムを使用して実行不可能である。それゆえに例えば、特定の反復型デコーダがシミュレーションによって示されることで目標ＢＥＲが１０−５であるシステムに関して有意の符号化利得を示すことは可能であり得るが、しかし１０−１５の目標ＢＥＲについてはその性能が判定されることは不可能である。さらに、反復型デコーダについては性能は低いＢＥＲで平坦化し易いことを経験的データが示す傾向にあり、反復型デコーダは妥当な数の反復ですべての誤りを訂正する役に立たない可能性があるというさらなる心配を呼び起こす。アレイ符号およびＬＤＰＣ符号に関するさらなる情報は本願明細書にその全文を組み入れるＪ．Ｌ．Ｆａｎの「Ａｒｒａｙ  ｃｏｄｅｓ  ａｓ  Ｌｏｗ−Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ  ｃｏｄｅｓ」，Ｐｒｏｃ．３８ｔｈ  Ａｌｌｅｒｔｏｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ，Ｃｏｎｔｒｏｌ，ａｎｄ  Ｃｏｍｐｕｔｉｎｇ，９５５〜９５６，Ｓｅｐｔ．２０００に見出されることが可能である。ターボ符号に関するさらなる情報は本願明細書にその全文を組み入れるＢ．Ｓｋｉａｒの「Ａ  Ｐｒｉｍｅｒ  ｏｎ  Ｔｕｒｂｏ  Ｃｏｄｅ  Ｃｏｎｃｅｐｔｓ」，ｐｐ．９４〜１０２，ＩＥＥＥ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｍａｇａｚｉｎｅ，Ｄｅｃｅｍｂｅｒ  １９９７に見出されることが可能である。
【０００５】
他方で代数型デコーダ（例えばハミング・デコーダ、リード・ソロモン・デコーダ、Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ（ＢＣＨ）デコーダ、および代数アレイ・デコーダ）は反復型デコーダよりも低効率（低い符号化利得）である可能性が高い。しかしながら、代数型デコーダの性能は任意に低い目標ＢＥＲで分析的に計算されることが可能である。したがって、特定の目標ＢＥＲ、および予測されるチャンネル誤り率が与えられると、目標ＢＥＲを満たすために特定の代数コードが使用されることが可能か否かを判定するために決定済みの表現が使用されることが可能である。
【０００６】
データ記憶用途については、訂正されたビット誤り率（すなわち誤り訂正の後のＢＥＲ）は１０−１５以下の位数であることが好ましい。データ記憶用途では、例えば読み取りヘッドのミストラッキング、記録媒体に相対した読み取りヘッドの飛行高さ、ビット密度、およびシステムの信号対ノイズ比（ＳＮＲ）の変動が原因でビット誤りが導入される可能性が高い。現在、データ記憶用途の目標は１平方インチ当たり１テラビット（１Ｔｂｉｔ／ｉｎ２）以上の記憶密度を実現することである。そのような高いビット密度は高い符号間干渉（ＩＳＩ）を生じ、低いＢＥＲを実現する作業を複雑化する。さらに、そのような高いビット密度により、各々のビットが記録媒体上で占める物理的スペースが相対的に小さくなり、結果として相対的に低い信号強度につながり、それがＳＮＲに影響を及ぼす。付け加えると、演算上複雑な符号化／復号化の仕組みは付随する復号化動作を高いビットレートで実行することを困難にする。
【非特許文献１】Ｂｅｒｎａｒｄ  ＳｋａｌａｒとＦｒｅｄｒｉｃ  Ｊ．Ｈａｒｒｉｓの「Ｔｈｅ  ＡＢＣｓ  ｏｆ  ｌｉｎｅａｒ  ｂｌｏｃｋ  ｃｏｄｅｓ」，ＩＥＥＥ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｍａｇａｚｉｎｅ，Ｊｕｌｙ  ２００４，ｐｐ．１４〜３５
【非特許文献２】Ｊ．Ｌ．Ｆａｎの「Ａｒｒａｙ  ｃｏｄｅｓ  ａｓ  Ｌｏｗ−Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ  ｃｏｄｅｓ」，Ｐｒｏｃ．３８ｔｈ  Ａｌｌｅｒｔｏｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ，Ｃｏｎｔｒｏｌ，ａｎｄ  Ｃｏｍｐｕｔｉｎｇ，９５５〜９５６，Ｓｅｐｔ．２０００
【非特許文献３】Ｂ．Ｓｋｉａｒの「Ａ  Ｐｒｉｍｅｒ  ｏｎ  Ｔｕｒｂｏ  Ｃｏｄｅ  Ｃｏｎｃｅｐｔｓ」，ｐｐ．９４〜１０２，ＩＥＥＥ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｍａｇａｚｉｎｅ，Ｄｅｃｅｍｂｅｒ  １９９７
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、１Ｔｂｉｔ／ｉｎ２といった高いビット密度に通常では付随する大きいＩＳＩと低いＳＮＲの複雑さにもかかわらず、１０−１５以下の訂正ＢＥＲに結び付く符号化の仕組みに関するニーズが存在する。さらに、高いデータ転送速度で符号化／復号化を可能にするそのような符号化仕組みに関するニーズが存在する。
【課題を解決するための手段】
【０００８】
連結された代数型および反復型のデコーダの使用を含む誤り訂正符号化および復号化のための方法および装置によって先行技術の問題が、本発明の原理に従って対処される。反復型デコーダは高いＢＥＲから中程度のＢＥＲまでの誤りを効率的に下げるために使用され、その一方で代数型デコーダは低いＢＥＲで性能を保証する。
【０００９】
本発明の一実施形態はＥＣ符号化の方法であって、（１）代数型ＥＣ外部デコーダを使用して復号化され得る符号化されたデータを作り出すためにＥＣ外部エンコーダを使用してデータのＥＣ符号化を行なうステップ、および（２）１つまたは複数の反復型ＥＣ内部デコーダを使用して復号化され得るさらに符号化されたデータを作り出すために１つまたは複数のＥＣ内部エンコーダを使用して符号化されたデータのさらなるＥＣ符号化を行なうステップを含む。
【００１０】
本発明の他の実施形態は、反復型ＥＣ内部デコーダおよび代数型ＥＣ外部デコーダをＥＣ符号化されたデータに適用することにより、ＥＣ符号化されたデータの復号化を行なう方法である。反復型ＥＣ内部デコーダは、ＥＣ符号化されたデータ内の誤りをＥＣ内部エンコーダによって作り出された冗長データの関数として訂正するように動作する。代数型ＥＣ外部エンコーダはＥＣ符号化されたデータ内の誤りを、ＥＣ外部エンコーダによって作り出された冗長データを活用することによって訂正するように動作する。
【００１１】
本発明の他の実施形態は、オリジナルのデータに外部エンコーダを適用し、引き続いて少なくとも１つの内部エンコーダを適用することによって作り出されたＥＣ符号化されたデータの復号化のための方法である。この方法は（ａ）少なくとも１つの内部エンコーダに対応する少なくとも１つの内部デコーダをＥＣ符号化されたデータに適用することで第１の復号化されたデータを作り出すステップ、（ｂ）外部エンコーダに対応する少なくとも１つの反復型デコーダを第１の復号化されたデータに適用することで第２の復号化されたデータを作り出すステップ、および（ｃ）外部エンコーダに対応する代数型デコーダを第２の復号化されたデータに適用することで出力の複合化されたデータを作り出すステップを含む。
【００１２】
本発明の他の実施形態は、オリジナルのデータに外部エンコーダを適用し、引き続いて少なくとも１つの内部エンコーダを適用することによって作り出されたＥＣ符号化されたデータの復号化のための連結されたデコーダである。このデコーダは（ａ）ＥＣ符号化されたデータを復号化して第１の復号化されたデータを作り出すように構成され、少なくとも１つの内部エンコーダに対応する少なくとも１つの内部デコーダ、（ｂ）第１の復号化されたデータを複合化して第２の復号化されたデータを作り出すように構成され、外部エンコーダに対応する少なくとも１つの反復型デコーダ、および（ｃ）第２の復号化されたデータを復号化して出力の復号化データを作り出すように構成され、外部エンコーダに対応する代数型デコーダを有する。
【００１３】
本発明の他の実施形態は、（１）記号の第１のブロックを作り出すために外部エンコーダをデータの第１のブロックに適用し、（２）符号語の第１のブロックを作り出すために少なくとも１つの内部エンコーダを記号の第１のブロックに適用することによって作り出されたＥＣ符号化されたデータの復号化のための連結されたデコーダである。この連結されたデコーダは、符号語の第１のブロックに対応する符号語の第２のブロックを復号化するように構成された少なくとも１つの内部デコーダを含む。符号語の第２のブロックの復号化は記号の第１のブロックに対応する記号の第２のブロックを発生する。少なくとも１つの内部デコーダは符号語の第２のブロック内の各々の符号語を独立して復号化する。少なくとも１つのこれらの符号語が内部デコーダによって復号化されることで記号の第２のブロック内の２つ以上の記号を発生する。この連結デコーダはまた、代数復号化の仕組みを記号の第２のブロックに適用してデータの第１のブロックに対応するデータの第２のブロックを作り出すように構成された代数型外部デコーダも有する。
本発明のその他の態様、特徴、および利点は以下の詳細な説明、添付の特許請求項、および添付の図面からさらに完全に明らかになるであろう。
【発明を実施するための最良の形態】
【００１４】
本願明細書で「一実施形態」もしくは「或る実施形態」と言及する場合、その実施形態に関連して述べられる特定の特徴、構造、または特性が本発明の少なくとも１つの実施形態の中に含まれ得ることを意味する。本願明細書の様々な場所での「一実施形態では」という語句の表現は必ずしもすべてが同じ実施形態について言及しているわけではなく、別のもしくは代替選択肢の実施形態が必ずしも他の実施形態を互いに排除するわけでもない。
【００１５】
（誤り訂正システム）
図１は本発明による範例のＥＣシステム１００を例示している。ＥＣシステム１００はＥＣエンコーダ１１０およびＥＣデコーダ１２４を有する。ＥＣエンコーダ１１０はＥＣ外部エンコーダ１０４および１つまたは複数のＥＣ内部エンコーダ１０８を有する。ＥＣデコーダ１２４は１つまたは複数のＥＣ内部デコーダ１１８およびＥＣ外部デコーダ１２２を有する。
【００１６】
動作時では、外部エンコーダ１０４が符号化されたデータ１０６を作り出すために冗長データで入力データ１０２を符号化する。その後、符号化されたデータ１０６は一連の１つまたは複数の内部エンコーダ１０８へと送られ、そこでは符号化されたデータ１１２を作り出すために追加的なＥＣ符号化が実行される。その後、符号化されたデータ１１２はチャンネル１１４（例えば送信または記憶チャンネル）を通して送られ、そこでは定常的に誤りがデータの中に導入される。（潜在的に誤りを含む）符号化されたデータはその後、（送信チャンネルのケースで）受信されるか、または（記憶チャンネルのケースで）回収され、その後、結果として符号化されたデータ１１６がＥＣデコーダ１２４へと与えられる。デコーダ１２４内で、１つまたは複数の内部デコーダ１１８はチャンネルによって導入された誤りのうちのいくつかまたは全部を訂正するように動作する。内部デコーダの出力１２０は外部デコーダ１２２へと送られ、そこで残りの誤りのうちのいくつかまたは全部が訂正されることが可能である。最後に、回収されるかまたは部分的に回収されたデータ１２６がデコーダ１２４から出力される。
【００１７】
エンコーダ１１０内で、外部エンコーダ１０４および（複数の）内部エンコーダ１０８は、外部エンコーダ１０４によって作り出される代数的復号化が可能な符号を備えた当該技術で知られているような多様なＥＣエンコーダ（例えばターボ、二次元積符号（２ＤＰＣ）、ＬＤＰＣ、ハミング、リード・ソロモン、ＢＣＨ、およびアレイのエンコーダ）の適切な組み合わせであることが可能である。
【００１８】
同様に、デコーダ１２４内で、（複数の）内部デコーダ１１８および外部デコーダ１２２はエンコーダ１１０を作り上げる複数のエンコーダに対応するＥＣデコーダの適切な組み合わせであり、外部デコーダ１２２は少なくとも反復して復号化可能である。概して、（複数の）内部デコーダ１１８は（複数の）内部エンコーダ１０８および可能であれば外部エンコーダ１０４に対応する一連の１つまたは複数の反復型または代数型デコーダであることが可能である。
【００１９】
（符号化）
図３は図１のエンコーダ１１０の範例となる実施形態３００を例示しており、動作可能なように（内部）ＬＤＰＣエンコーダ３０８に連結された（外部）アレイ・エンコーダ３０４を有する。動作時では、アレイ・エンコーダ３０４は送信もしくは記憶される入力データ３０２を受け取り、この入力データを符号化してアレイ符号化されたデータ３０６を作り出し、その後、アレイ符号化されたデータをＬＤＰＣエンコーダ３０８へと送る。その後、ＬＤＰＣエンコーダ３０８がこのアレイ符号化されたデータを符号化してＬＤＰＣ／アレイ符号化されたデータ３１０を作り出す。
【００２０】
図４は図３のエンコーダ３００の動作に付随する追加的な詳細を例示している。エンコーダ３００によって符号化される入力データは最初にｐ本の横列×（ｑ−ｒ）本の縦列の複数ブロック３０２へとグループ化され、各々のブロックの記入事項は入力データの単一のビットであり、ｐ、ｑ、およびｒは正の整数であり、０＜ｒ＜ｑである。アレイ・エンコーダの用語で、（ｑ−ｒ）本の縦列は記号であると考えられる。したがってブロック３０２は（ｑ−ｒ）個のデータ記号３１２を備えたデータ・ブロックと考えられることが可能である。アレイ・エンコーダ３０４の動作は結果として、オリジナルの（ｑ−ｒ）個の記号３１２ならびにｒ個の符号（このケースではパリティ）の記号３１６を含む（ｐ×ｑ）個のブロック３０６につながる。その後、結果的に得られた（ｐ×ｑ）個のブロック３０６はＬＤＰＣエンコーダ３０８へと供給され、各々の縦列はブロック３０６内の他の縦列とは無関係に符号化される。ＬＤＰＣ符号化は結果としてデータ・ブロック３０６の各々の縦列へのｈビットの符号（このケースではパリティ）の追加につながり、各々の長さが（ｐ＋ｈ）のｑ個の符号語（例えば符号語３１８および３２０）を生じる。内部のＬＤＰＣエンコーダは様々な実施形態で、各々の縦列をその実施形態に最も適切であるように直列または並列で処理することが可能である。概して、並列の実施形態の選択肢は直列の実施形態に相対して内部エンコーダの動作のスピードを上げることが可能である。
【００２１】
代替選択肢の実施形態では、ブロック３０６の１つまたは複数の縦列が単一の符号語へと組み合わされ、各々の組み合わせは他とは無関係にＬＤＰＣエンコーダ３０８によって操作される。
【００２２】
（検出）
図５、６、および７で例示されるデコーダの各々の実施形態では、ソフトインプット・ソフトアウトプット（ＳＩＳＯ）のチャンネル検出器（例えば図５のＳＩＳＯチャンネル検出器５０２）がチャンネルからデータを受け取る。このデータは内部エンコーダ３０８からのデータ・ブロック３１０の出力と実質的に同様に配列されるが、しかしそれはエンコーダとデコーダの間のチャンネルに付随するノイズおよび障害によって劣悪化されている可能性が高い。ＳＩＳＯチャンネル検出器はＳＩＳＯアルゴリズム（例えばソフトアウトプット・ビタビ・アルゴリズム（ＳＯＶＡ））を使用してデータを処理し、受け取った各データ・ビットに関してソフト推定を出力する。この推定は−３２から＋３１の範囲の６ビットの２進数の値の形式であることが可能である。その値が−３２に近ければ、受け取ったデータ・ビットが２進の０として送信された可能性が極めて高いと考えられる。その値が＋３１に近ければ、受け取ったデータ・ビットが２進の１として送信された可能性が極めて高いと考えられる。チャンネル検出器によって作り出されるソフト推定はエンコーダによって作り出された（ｐ＋ｈ）ビットのｑ個の符号語に対応する（ｐ＋ｈ）個の６ビット値のｑ本の縦列へと分割され、ソフト・データのこれらｑ本の縦列は処理のためにデコーダの第１の段へと送られる。
【００２３】
（復号化）
図３のエンコーダの実施形態では、アレイ符号化されたデータが反復的および／または代数的に復号化されるので図５、６、および７に例示されるようにデコーダの実施形態について様々な選択肢が存在する。
【００２４】
符号語（例えば図４の縦列３１８）がチャンネルを通して送られ、チャンネル検出器によって処理され、１つまたは複数の内部エンコーダによって作用を受ける場合、いくつかの異なる可能なシナリオが存在し、それらは図２の表１に要約されるように外部デコーダへと入力されるデータに関連することに留意されたい。第１のシナリオでは、チャンネルによって誤りが導入されることはなく、受信される符号語はエンコーダからチャンネルへと送信された符号語に対応する。第２のシナリオでは、１つまたは複数の誤りがチャンネルによって符号語の中に導入されるが、しかしそれらの誤りは（複数の）内部デコーダによって訂正可能である。第３のシナリオでは、１つまたは複数の誤りがチャンネルによって導入され、それらの誤りは（複数の）内部デコーダが訂正を行なう能力を超えている。この第３のシナリオでは、符号化された記号（例えば図４のオリジナルのデータ記号３１２またはパリティ記号３１６）は内部デコーダ単独では回収不可能である。この回収不可能な記号は消失記号として規定され、その場所が外部デコーダに対するフラグを立てられる。第４のシナリオでは、誤りの性質はオリジナルの符号語が当初符号化されたそれとは異なる記号に対応するものを除いた他の有効な符号語に対してマップ化されるような性質である。このケースでは、データ記号またはパリティ記号が（複数の）内部デコーダによって回収されるが、しかしそれは符号化された記号ではない。このタイプの記号は誤り記号として知られている。第５のシナリオでは、誤りの性質はオリジナルの符号語がオリジナルの記号とは異なる記号に対応する無効な符号語に対してマップ化されるような性質である。このケースでは、（複数の）内部デコーダは無効な符号語を間違った記号へと復号化する。それ自体で、これは誤り記号の別の範例である。
【００２５】
（複数の）内部デコーダの動作から結果的に生じるデータの（ｐ×ｑ）個のブロックは（外部デコーダによる復号化の間の）最大でｘ個までの誤り記号および（ｒ−２ｘ）個の消失記号の訂正を可能にするために充分な冗長性を含み、ここでｒはゼロよりも大きい整数であり、（ｒ−２ｘ）はゼロよりも大きい整数であり、ｘは
【数１】
2006135980.tif 000003
となるような整数である。それゆえに、例えば、もしも受信されたデータ記号のブロックに外部エンコーダが７個の符号記号を追加し（すなわちｒ＝７）、記号誤りがない場合、外部デコーダはそのブロック内の最大で７個までの消失記号を回収することが可能であろう。もしも１つの記号誤りがある場合、外部デコーダはそのブロック内の最大で５個までの消失記号を回収することが可能であり、もしも２つの記号誤りがある場合、外部デコーダはそのブロック内の最大で３個までの消失記号を回収することが可能であろう。この範例で、もしも３つを超える記号誤りがあれば外部デコーダがオリジナルのデータを回収することが不可能であろうことに留意すべきである。
【００２６】
（デコーダの実施形態）
図５は図１のデコーダ１２４の範例となる実施形態５００を例示しており、それはＳＩＳＯチャンネル検出器５０２、反復型ＬＤＰＣデコーダ５０４、および代数型アレイ・デコーダ５０６を有する。動作時では、チャンネル検出器５０２がチャンネルからＥＣ符号化されたデータを受け取り、データのソフト推定を作り出し、それらの推定をｑ本の縦列と（ｐ＋ｈ）本の横列の複数のブロックへと分割し、それらの推定をＬＤＰＣデコーダ５０４へと供給する。
【００２７】
ＬＤＰＣデコーダは各々の縦列を他とは無関係に反復式に復号化し、特定の最大の反復回数の後にＬＤＰＣデコーダ５０４が有効な符号語へと収束させることに失敗すれば縦列を消失記号として代数型アレイ・デコーダ５０６に対してフラグを立てる。
内部のＬＤＰＣエンコーダは様々な実施形態で、各々の縦列をその実施形態に最も適切であるように直列または並列で処理することが可能であることに留意すべきである。概して、並列の実施形態の選択肢は直列の実施形態に相対して（複数の）内部エンコーダの動作のスピードを上げることが可能である。
【００２８】
前に検討されたように、符号語から記号を回収するためのＬＤＰＣによる試みは結果として、（１）消失記号、（２）誤り記号、または（３）正しいオリジナルの記号のいずれかにつながるであろう。第１のケースでは、その符号語はＬＤＰＣデコーダ５０４によって消失記号としてアレイ・デコーダ５０６に対してフラグを立てられる。アレイ・デコーダ５０６内で、消失が気付かれ、その記号が破棄される。後者の２つのケースでは、パリティのｈビットが符号語から除去され、結果として得られる記号がさらなる処理のためにアレイ・デコーダへと送られる。誤り記号ゼロを想定すると、代数型アレイ・デコーダ５０６は最大でｒ個までの消失記号を訂正することが可能であり、ここでｒはゼロよりも大きい整数である。ｒ個よりも多くの消失記号が内部デコーダによってフラグを立てられれば、そのブロック全体がアレイ・デコーダによって訂正不可能なものとしてフラグを立てられる。データ・ブロック内にｒ個以下の消失記号があってかつ誤り記号がなければ、あるいはデータ・ブロック内にｒ−２ｘ個以下の消失記号があってここでｘがブロック内の整数の誤り記号の数である場合、そのデータ・ブロックは訂正可能であり、オリジナルのデータ記号がアレイ・デコーダ５０６によって回収されてデコーダ５００の出力部へと送られる。
ｆｉｎｎｅｒが内部ＬＤＰＣデコーダの故障率であると仮定すると、連結された代数型−反復型デコーダのブロック誤り率は
【数２】
2006135980.tif 000004
を使用して分析的に計算されることが可能である。
【００２９】
代替選択肢の実施形態では、ＬＤＰＣエンコーダ３０８によって作り出される符号語は複数の記号から形成される。そのようなケースでは、符号語へと符号化されたオリジナルの記号を作り出すためにデコーダ５０４が符号語を復号化するであろう。各々の符号語は異なる数の記号を組み合わせることが可能であり、各々の符号語はＬＤＰＣデコーダによって他から無関係に操作されてオリジナルの記号、消失記号、または誤り記号の対応する数を生じることが可能である。
【００３０】
（外因性情報での復号化）
図６は図１のデコーダ１２４の代替選択肢の範例となる実施形態６００を例示しており、それはＳＩＳＯチャンネル検出器６０２、反復型ＬＤＰＣデコーダ６０４、および代数型アレイ・デコーダ６０６を有する。動作時では、チャンネル検出器６０２がチャンネルからＥＣ符号化されたデータを受け取り、データのソフト推定を作り出し、それらの推定をｑ本の縦列と（ｐ＋ｈ）本の横列の複数のブロックへと分割し、それらの推定をＬＤＰＣデコーダ６０４へと供給する。ＬＤＰＣデコーダは各々の縦列を他とは無関係に反復式に復号化し、特定の最大の反復回数の後にデコーダが有効な符号語へと収束させることに失敗すれば縦列を消失記号としてフラグを立てる。図６の実施形態では、内部デコーダ６０４からチャンネル検出器６０２への外因性情報（例えばソフト推定）の交換を可能にすることによって内部デコーダ６０４の決定能力が改善される。ここでは、データ経路６０８が情報交換のために使用される。
【００３１】
図５の実施形態と同様に、消失記号がアレイ・デコーダに対してフラグを立てられ、そこで消失記号の位置が気付かれる。消失記号がないと、各々の符号語からｈ個のパリティ・ビットが剥ぎ取られ、各々の非消失記号はさらなる処理のためにアレイ・デコーダへと送られる。代数型アレイ・デコーダが記号をさらに処理し、誤りの数がデコーダ全体の符号化利得の範囲内であると推定するとアレイ・デコーダは目標のＢＥＲでデコーダの出力部にオリジナルのデータ記号を出力する。
【００３２】
ＬＤＰＣデコーダとＳＩＳＯチャンネル検出器との間の外因性データの交換を伴った多数回の反復から派生する恩典の結果として、実施形態６００の故障率ｆｉｎｎｅｒは図５の実施形態に付随する故障率ｆｉｎｎｅｒよりも優れる（すなわち低い）はずであり、結果として式（１）について改善された（すなわち低い）ブロック誤り率につながる。
【００３３】
（連結された内部デコーダ）
図７は図１のデコーダ１２４の別の代替選択肢の範例となる実施形態７００を例示している。実施形態７００はＳＩＳＯチャンネル検出器７０２、反復型ＬＤＰＣデコーダ７０４、反復型アレイ・デコーダ７０６、および代数型アレイ・デコーダ７０８を有する。動作時では、チャンネル検出器７０２がチャンネルからＥＣ符号化されたデータを受け取り、データのソフト推定を作り出し、それらの推定をｑ本の縦列と（ｐ＋ｈ）本の横列の複数のブロックへと分割し、それらの推定をＬＤＰＣデコーダ７０４へと供給する。ＬＤＰＣデコーダは各々の縦列を他とは無関係に反復式に復号化し、特定の最大の反復回数の後にデコーダが有効な符号語へと収束させることに失敗すれば縦列を消失記号としてフラグを立てる。この実施形態では、図６の実施形態のようにＬＤＰＣデコーダ７０４からチャンネル検出器７０２への（データ経路７１０を介した）外因性情報の交換を可能にすることによって内部デコーダ７０４の決定能力が改善される。しかしながらこの実施形態では、アレイ符号が反復式復号化と代数式復号化の両方を為されることが可能であるという事実の恩典を活用するために割り増しのデコーダ段（反復型アレイ・デコーダ７０６）がデコーダに追加される。また、性能をさらに向上させるために、２つの反復型デコーダ段７０４と７０６の間（データ経路７１２経由）、および第２の反復型デコーダ段７０６とＳＩＳＯチャンネル検出器７０２との間（データ経路７１４経由）で外因性情報の交換がサポートされる。
【００３４】
図５および６の実施形態と同様に、消失記号は外部デコーダ、このケースでは代数型アレイ・デコーダ７０８に対してフラグを立てられ、そこで消失記号の場所が気付かれる。そうでない場合、ｈ個のパリティ・ビットが各々の符号語から剥ぎ取られ、各々の非消失記号はさらなる処理のために代数型アレイ・デコーダ７０８へと送られる。代数型アレイ・デコーダが記号をさらに処理し、誤りの数がデコーダの符号化利得の範囲内であると推定するとデコーダ７０８はデコーダの出力部にオリジナルのデータ記号を出力する。
【００３５】
ＬＤＰＣデコーダ、反復型アレイ・デコーダ、およびＳＩＳＯチャンネル検出器の間の外因性情報の交換を伴った多数回の反復から派生する恩典の結果として、実施形態７００の故障率ｆｉｎｎｅｒは図５の実施形態または図６の実施形態に付随する故障率ｆｉｎｎｅｒよりも優れる（すなわち低い）はずである。
【００３６】
さらに概して述べると、Ｎ個の反復型デコーダとＭ個の代数型デコーダが本発明の様々な実現例で利用されることが可能であり、ここでＮおよびＭは両方共にゼロよりも大きい整数である。いくつかの実施形態で、最後のデコーダが代数型デコーダである限り反復型および代数型のデコーダが交互配置されることが可能であることに留意すべきである。
【００３７】
本発明の様々な実施形態で、（複数の）内部エンコーダ／デコーダは二次元積符号の（複数の）エンコーダ／デコーダであることが可能である。
連結された代数型と反復型の符号化の仕組みは目標のＢＥＲでの符号化利得ｖｓ．複雑さの選択に大きな自在性を提供する。復号化は直列、部分的並列、または完全に並列のハードウェアまたはソフトウェアで実行されることが可能である。操作されるデータの各々の量がさらに少なくされる（例えばブロック全体に対抗して１つの縦列）ことが可能であるので、デコーダの複雑さは同じ符号速度の単一の反復型（例えばＬＤＰＣ）デコーダよりも低いことが可能である。アレイ符号に関して代数型復号化を使用すると、ブロック誤り率は相対的に低いＢＥＲ（例えば１０−１５）へと下げて分析的に計算されることが可能である。
【００３８】
本発明は、限定はされないが個別ハードウェア・ロジック、特定用途向けＩＣ、カスタムＩＣ、プログラマブル・ロジック、プログラマブル・マイクロプロセッサを基本とするシステム、あるいはフレーマ、ルータ、回線インターフェース・ユニット、マルチプレクサ、デマルチプレクサ、およびマッパーのようなネットワーク装置またはアド／ドロップ・マルチプレクサのような多重インターフェース、ＡＴＭ交換機、および多重インターフェースを組み入れる他のそのような装置を含めたハードウェア、ソフトウェア、またはハードウェアとソフトウェアのいくつかの組み合わせのいずれかで実施されることが可能である。
【００３９】
具体例となる実施形態を参照しながら本発明が述べられてきたが、この説明は限定の意味に解釈されるべきではない。述べられた実施形態の様々な改造例、ならびに本発明が関係する技術の当業者に明らかである本発明の他の実施形態は特許請求項に明示される本発明の原理および範囲の中にあると見なされる。
【００４０】
もしもあれば、方法の特許請求項の中のステップは対応する標示を伴って特定の順序で列挙されるが、請求項の列挙がこれらのステップのうちのいくつかもしくは全部を実行するために別の方式で特定の順序を示さない限り、これらのステップは必ずしもその特定の順序で実行されるように限定されるように意図されていない。
【図面の簡単な説明】
【００４１】
【図１】本発明による例示としての誤り訂正システムを示す図である。
【図２】チャンネルを通して符号語を送る処理に付随するシナリオを詳述する表１を含む図である。
【図３】図１のエンコーダ１１０の例示としての実施形態３００を示す図である。
【図４】図３のエンコーダ３００の動作に付随する追加的な詳細を示す図である。
【図５】図１のデコーダ１２４の例示としての実施形態５００を示す図である。
【図６】図１のデコーダ１２４の代替選択肢の例示としての実施形態６００を示す図である。
【図７】図１のデコーダ１２４の別の代替選択肢の例示としての実施形態７００を示す図である。
【図１】
2006135980.tif 000006
【図２】
2006135980.tif 000007
【図３】
2006135980.tif 000008
【図４】
2006135980.tif 000009
【図５】
2006135980.tif 000010
【図６】
2006135980.tif 000011
【図７】
2006135980.tif 000012