(57)【特許請求の範囲】
【請求項１】
各行を構成するシンボルが、消失を伴う訂正のためのアルゴリズムＡ1により復号可能な第１成分符号に応じて長さｎ1の許可語を形成し、各列を構成するシンボルが、消失を伴う訂正の為のアルゴリズムＡ2により復号可能な第２成分符号に応じて長さｎ2の許可語を形成する、ｎ2行、ｎ1列からなる表に各符号語のシンボルを置く、積符号を復号する方法であって、前記方法は、受信語の訂正が終了するまで継続して実行されるメインステップを有し、各ステップにおいては、前記表の行または列の処理を所定順に行い、ｉ（１≦ｉ≦ｎ2）行目を処理するために、
ａ）τ1i個の消失位置（もしあれば）を考慮しながら、ｉ行目に対してアルゴリズムＡ1を適用し、
ｂ）前記アルゴリズムＡ1がその行を訂正不可能であれば、その行のシンボルを全て消去し、
ｃ）前記アルゴリズムＡ1がその行を訂正可能であれば、ステップａ）の間に値が変更されたシンボル数ｔ1iをカウントし、値（２ｔ1i+τ1i ）を算出し、
ｄ*1が予め決められた正の整数であって、（２ｔ1i+τ1i ）≦ｄ*1の場合に、その訂正を認め、
（２ｔ1i+τ1i ）＞ ｄ*1の場合に、その行のシンボル全てを消去し、
また、ｊ（１≦ｊ≦ｎ1）列目を処理するために、
ｄ）  τ2j個の消失位置（もしあれば）を考慮しながら、ｊ列目に対してアルゴリズムＡ2を適用し、
ｅ）前記アルゴリズムＡ2がその列を訂正不可能であれば、その列のシンボルを全て消去し、
ｆ）前記アルゴリズムＡ2がその列を訂正可能であれば、ステップｄ）の間に値が変更されたシンボル数ｔ2jをカウントし、値（２ｔ2j+τ2j）を算出し、
ｄ*2が予め決められた正の整数であって、（２ｔ2j+τ2j ）≦ｄ*2の場合に、その訂正を認め、
（２ｔ2j+τ2j ）＞ｄ*2場合に、その列のシンボル全てを消去し、
ｄ*1及び／またはｄ*2の値は、受信語の復号中に変化するように構成されたことを特徴とする復号方法。
【請求項２】
前記第１符号及び／または前記第２符号は、代数幾何的符号であることを特徴とする請求項１に記載の復号方法。
【請求項３】
前記アルゴリズムＡ1及び／または前記アルゴリズムＡ2は、「準最大」アルゴリズムであることを特徴とする請求項２に記載の復号方法。
【請求項４】
前記復号アルゴリズムＡ1及び／またはＡ2は「基本」アルゴリズムであることを特徴とする請求項２及び３に記載の復号方法。
【請求項５】
請求項１乃至４に記載の復号方法のいずれかを実行するための手段を有することを特徴とする誤り訂正装置。
【請求項６】
請求項５に記載された、少なくとも１つの誤り訂正装置と、
少なくとも１つの冗長抑制装置と
を有することを特徴とする復号器。
【請求項７】
請求項６に記載の復号器を含み、前記符号化デジタル信号を受信する為の手段を含むことを特徴とする符号化デジタル信号を受信するための装置。
【請求項８】
請求項１に記載の方法のステップを実行するためのコンピュータプログラムコード命令を有することを特徴とする固定データ記憶装置。
【請求項９】
請求項１に記載の方法のステップを実行するためのコンピュータプログラムコード命令を含むことを特徴とする、部分的または全体的に着脱可能なデータ記憶装置。
【請求項１０】
コンピュータプログラムであって、前記プログラムがプログラム可能データ処理装置を制御する時に、前記データ処理装置に請求項１に記載の方法を実行させる命令を含むことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
本発明は、伝送の正確性を高める為に、伝送するデータに対してチャンネル符号化を行う通信システムに関する。さらに詳しくは、復号方法およびこの方法を実行するデバイスおよび装置に関する。
【０００２】
いわゆる「チャンネル」符号化は、受信機に送信される「符号語」を生成する時に、伝送するデータに一定量の冗長性を持たせることは周知の通りである。詳しくは、各符号語を利用して、有限なサイズの所定「アルファベット」から選択された所定数ｋ個の情報シンボルが伝送される。これらｋ個の情報シンボルには、同じアルファベットから選択された（ｎ−ｋ）個のいわゆる「パリティ」シンボルが加えられて、長さｎの符号語が形成される。パリティシンボル計算のために情報シンボルの関数として設定された規則は、パラメータ（ｎ、ｋ）の「符号」または「符号化方法」を定義する。
【０００３】
受信器側においては、関連する復号方法がここでこの冗長性を上手く利用して伝送誤りを検出し、可能であれば検出した誤りを訂正する。具体的には、この復号化は、大きくわけて２つのステップで行われる。
【０００４】
第１のステップでは、「関連符号語」を受信語に関連づける。これを行うために、復号器はまず、受信語がその符号に属するかを確認するために受信語を解析する。その符号に属する場合、伝送誤りが起きていないと仮定すると、前記「関連符号語」は受信語と単純に一致する。符号に属さない場合、受信語のいくつかのシンボルに誤りがあると推定して訂正アルゴリズムを実行し、受信シンボルのいくつかを同じアルファベットの別のシンボルに置き換え、置き換えた結果として得られる符号語が前記「関連符号語」を構成するようにする。
【０００５】
第２のステップは、符号化方法を単純に逆にしたもので、言い換えれば、冗長なシンボルを「関連符号語」から取り除いて、元のデータを得るものである。
【０００６】
より詳しくは、本発明はこれら２つのステップの最初のステップと、前記訂正アルゴリズムを実行するための条件に関する。これらのステップの役割は受信語に、この受信語から最も近いハミング距離にある符号語を関連づけることである。なお、「ハミング距離」とは、同じ長さの２つの語が異なるシンボルを有する場所の数のことをいう。従って、各符号は、符号の２つの語間の最小ハミング距離によって制限される誤り訂正能力を提供する。以下、符号の「最小距離」ｄと呼ぶ。より詳しくは、選択された訂正アルゴリズムが、受信語における誤りの可能性がある位置を探し出し、それらの各位置に代わりのシンボルをあてがうことが求められている場合、最小距離ｄの符号に対して、最高でINT[(d-1)/2] 個の誤りを訂正する能力を保証することができる（「INT」は整数部分を示す。）。もし受信語が厳密にINT[(d-1)/2]より多数の誤りを含む場合、アルゴリズムは場合によっては訂正を提言することはできるが、この訂正が正しいものであるか、すなわち、関連符号語が本当に送信器から送られた符号語であるかどうかは勿論定かではない。
【０００７】
ＣＤ（コンパクトディスク）やＤＶＤ（デジタルビデオディスク）などのレコーディングで良く使われる符号化方法のいくつかは、「積符号」である。これらの方法において、各符号語のシンボルは、ｎ1行、ｎ2列で構成される表に配置されるが、その際、各行を構成するシンボルが第１「成分」符号（ｎ1、ｋ1）に属する語を構成し、各列を構成するシンボルが第２成分符号（ｎ2、ｋ2）に属する語を構成するように配置される。そのような積符号が効果的であることは容易に理解できる。例えば、受信語の中で、ある行が第１符号に属さず、ある列が第２符号に属さない場合、このことから１つの受信シンボルに誤りがあるとすれば、この誤りを含むシンボルはその行及び列の交点にあるとすぐに推定できる。もう一つの重要な利点は、たとえ第１符号に関連するアルゴリズムでその行のいくつかを訂正することが最初は不可能であり、及び／また、第２符号に関連するアルゴリズムでその列のいくつかを訂正することが最初は不可能であったとしても、受信語の全ての誤りの訂正を達成することができることである。これは順次行の訂正、そして列の訂正、そしてまた行の訂正といったように必要に応じて訂正を繰り返し行うことで、ある段階において各行における誤り数が第１のアルゴリズムにより訂正可能な数まで、また、各列における誤り数が第２のアルゴリズムにより訂正可能な数まで下がるように、誤り数を徐々に減らすことが可能だからである。
【０００８】
米国特許第６，０４７，３９５号及び第６，１３８，２６３号等は、積符号を復号する方法を開示している。これらの方法は、第１の（または第２の）アルゴリズムが処理対象の行（または列）の訂正を提案することができない場合に、その行（または列）全体を「消去」するステップを有する。これは、その後列（または行）を訂正するために検索したときに、「消去」されたシンボルの位置が第２の（または第１の）アルゴリズムに知らされるということである。これは、一般的に、アルゴリズムが語を訂正しなければならない時に（ここでは行または列）、疑わしいシンボルを含む位置を予め知っておくことによりアルゴリズムのタスクをかなり容易にできるからである。より具体的には、この情報を考慮することのできるアルゴリズムは、消失を含む語のみが与えられた場合に、位置不明な誤りを含む語のみが与えられた場合よりも、信頼できる２倍の訂正限界を有することが知られている。これら訂正不可能な行や列の消去を行う積符号の復号方法によれば、非常に多くの伝送誤りに対応することができると共に、これら誤りの訂正処理速度を上げることができる。
【０００９】
これらの復号方法はある程度の利点を有するものの、比較的高い率で誤訂正を起こすという欠点がある。これは、行や列が消去される度に、その行や列で発生した伝送誤りに関わらずその行または列に残っていたかもしれない語の情報も勿論無くなってしまうからである。その結果、それでもこの語を正しく訂正したいのであれば、表の位置に消去されていない充分な数の信頼できるシンボルが無ければならない。しかし、アルゴリズムが少なくとも正しいシンボル１つを含む比較的少数のシンボルを更新することで、見た目には訂正された語を提案することができるために、アルゴリズムが「訂正」を提言することができる時にいつもその「訂正」を認めてしまうと、行または列のアルゴリズムに与えられる行または列における誤り数が比較的に多い場合に、実際は（気付かないうちに）しばしば誤りを含んだ新しい行または列が入れられる可能性があることを意味する。この語を「訂正」するステップ以降ではシンボル間違いが増えることになり、このような状況では非常に間違いの多い「関連符号語」が一般的に結果として出力される。
【００１０】
上記問題点を解決する為に、第１の視点によれば、本発明は積符号を復号する方法であって、各行を構成するシンボルが、消失を伴う訂正のためのアルゴリズムＡ1により復号可能な第１成分符号に応じて長さｎ1の許可語を形成し、各列を構成するシンボルが、消失を伴う訂正の為のアルゴリズムＡ2により復号可能な第２成分符号に応じて長さｎ2の許可語を形成する、ｎ2行、ｎ1列からなる表に各符号語のシンボルを置き、受信語の訂正が終了するまで継続して実行されるメインステップを有し、各ステップにおいては、前記表の行または列の処理を所定順に行い、ｉ（１≦ｉ≦ｎ2）行目を処理するために、
ａ）τ1i個の消失位置（もしあれば）を考慮しながら、ｉ行目に対してアルゴリズムＡ1を適用し、
ｂ）前記アルゴリズムＡ1がその行を訂正不可能であれば、その行のシンボルを全て消去し、
ｃ）前記アルゴリズムＡ1がその行を訂正可能であれば、その訂正結果が信頼できるかを判断し、
−信頼できると考えられる場合に、その訂正を認め、
−信頼できないと考えられる場合に、その行のシンボル全てを消去し、
また、ｊ（１≦ｊ≦ｎ1）列目を処理するために、
ｄ）  τ2j個の消失位置（もしあれば）を考慮しながら、ｊ列目に対してアルゴリズムＡ2を適用し、
ｅ）前記アルゴリズムＡ2がその列を訂正不可能であれば、その列のシンボルを全て消去し、
ｆ）前記アルゴリズムＡ2がその列を訂正可能であれば、この訂正結果が信頼できるかを判断し、
−信頼できると考えられる場合に、その訂正を認め、
−信頼できないと考えられる場合に、その列のシンボル全てを消去する
ことを特徴とする。
【００１１】
このように本発明によれば、行または列の訂正は、訂正アルゴリズムがその実際の能力を超えない場合に限って認められるため、提供される訂正は信頼性が持てる。従って、消失を含めて積符号を復号する技術の上述した利点は、本発明の特徴として、付随的ではあるが、誤訂正率を充分に下げることができることから得ることができる。
【００１２】
一実施形態によれば、ステップｃ）及びｆ）において、訂正対象の行または列の訂正中に値を変更され、且つ、予め訂正対象であることが分かっていなかった（つまり、消去された位置に無かった）シンボルｔの数をカウントし、訂正結果が信頼できるかどうかについて、その行または列における値ｔと、消去されたシンボル数τとに基づいて判断する。
【００１３】
なお、この数ｔは、対象の行または列における誤りシンボルの実際数（つまり、伝送されたシンボル数とは異なるシンボルの数）と必ずしも一致しない。これは、アルゴリズムが、実際には正しいシンボルの値を変更してしまうことにより、及び／または、復号化のステップにおいて見つからなかった誤りのあるシンボルをそのまま保持することにより、実際には誤りのある行または列を「訂正された」行または列であると提言するといったことが時折起こるからである。
【００１４】
この訂正処理では、本発明の発明者は、行または列アルゴリズムにより提案された訂正が（間違い補正ではなく）正しいものである確率が高いかどうかを評価しようとする場合に、考慮すべき自然量は数（２ｔ＋τ）であることに気が付いた。
【００１５】
従って、上述した実施形態における一具体例として、本復号方法では、
−ステップｃ）において、ステップａ）の間に値が変更されたシンボル数ｔ1iをカウントし、値（２ｔ1i+τ1i ）を算出し、
−ｄ*1が予め決められた正の整数であって、（２ｔ1i+τ1i ）≦ｄ*1の場合に、訂正を認め、
−（２ｔ1i+τ1i ）＞ ｄ*1の場合に、その行のシンボルを全て消去し、
−ステップｆ）において、ステップｄ）の間に値が変更されたシンボル数ｔ2jをカウントし、値（２ｔ2j+τ2j ）を算出し、
−ｄ*2が予め決められた正の整数であって、（２ｔ2j+τ2j ）≦ｄ*2の場合に、訂正を認め、
−（２ｔ2j+τ2j ） ＞ｄ*2の場合に、その列のシンボルを全て消去する。
【００１６】
上記基準によれば、アルゴリズムを適用した後に変更されたか、または決定した値を持つシンボル数がかなりに少ないことが分かった場合にのみ、行または列の訂正を認めることを確実に行うことができる。パラメータｄ*は、明らかに「信頼性の限界値」の役割をする。
【００１７】
言い換えれば、本基準によれば、全ての場合における受信語（すなわち、受信語がどのようなものであっても）の訂正を提案することができる訂正アルゴリズムの能力は、以下の式により正確に表現することができると考えられる。
（２ｔ＋τ）≦Δ
なお、Δはアルゴリズムの「解答能力」と呼ぶ厳密な正の整数である（誤り訂正アルゴリズムは、特に、「誤りシンドローム」から生じるある程度の数の方程式を解く能力が無ければならない）。もし値（２ｔ＋τ）が解答能力Δよりも大きい場合、アルゴリズムは、
−純粋且つ単純に、訂正処理に失敗するか、
−受信語の訂正を提案することができる。この場合、その訂正が認められると、その訂正が誤りであるリスク、つまり、提案された符号語が実際は送信された語では無いというリスクを伴い、（２ｔ＋τ）がΔより大きいほど、明らかにリスクも高くなる。
【００１８】
アルゴリズムを適用する対象である符号の最小距離ｄに関する導入説明において提示した事項を考慮すると、考えられるアルゴリズムは、もし
Δ＝ｄ−１
であれば「最大」であり、
Δ＜ｄ−１
であれば「準最大」であると言うことができる。
【００１９】
本発明の好適な特徴によれば、行符号に関連するアルゴリズムＡ1及び／または列符号に関連するアルゴリズムＡ2は、「準最大」アルゴリズムである（もし、存在すれば）。この特徴は、同一符号について、１つのアルゴリズムが「最大」、またはほんの「僅かに準最大」（Δが（ｄ−１）に近いが、小さい）で、１つのアルゴリズムが「実質準最大」（Δが（ｄ−１）より遙かに小さい）であることが分かっており、後者が前者よりも実行速度が速く、及び／または単純である場合に有利である。そして、本発明の消失を伴う準最大アルゴリズムが、消失を伴わない最大アルゴリズムに代わって選択されると、信頼性という特徴を大きく失うこと無く、即ち、受信語の誤訂正率を上げることを無く、復号処理を高速且つ単純に実行することができる。
【００２０】
これは、「実質準最大」アルゴリズムの誤訂正は、本発明における積符号を復号するという点において、情報のトータルロスと同義ではないからである。場合によっては、消失は、語の後段処理ステップを鑑みて、語におけるどの位置の信頼性がより低いかをアルゴリズムに知らせる処理からなる「ソフト情報」を含む。従ってこのアルゴリズムは、「ソフト情報」を利用して、より複雑なアルゴリズムに比べて能力的に劣る部分を補償することができるので、比較的単純に実行できるという点において非常に有利になる。
【００２１】
本発明を特定の場合で実施する前に、信頼性の限度ｄ*の可能な最適値を判断するテストを行うことが望ましい。この場合、解答能力Δの値は参照値として有用である。通常、２つの状況がある。
−選ばれたアルゴリズムが「最大」であるか、ほんの「僅かに準最大」：ｄ*はΔよりもかなり小さいことが好ましい。
−選ばれたアルゴリズムが「実質準最大」：ｄ*はΔと等しいか、または僅かに大きいことが好ましい。
【００２２】
具体的な特徴によれば、ｄ*1及び／またはｄ*2の値は、受信語の復号中に変化するように構成されている。また、復号処理は受信語に含まれる誤りを徐々に訂正する結果、アルゴリズムにより提案される訂正が誤りであるリスクがだんだん小さくなるという利点を活かすために、これらの値を徐々に大きくすることが好ましい。
【００２３】
上述した米国特許第６，０４７，３９５号及び第６，１３８，２６３号は、特に、行符号と列符号が両方とも「リード・ソロモン符号」である場合の応用に関する。リード・ソロモン符号は非常に効率的であるが、アルファベットの大きさが２５６を超えると扱いにくくなる。このようなリード・ソロモン符号２つからなる積符号では、得られる長さｎは、当然２５６2、即ち65,536以上となる。
【００２４】
しかし、現代の情報キャリアでは、情報密度を上げることが模索されている。そのため、そのようなキャリアが例えばキズなどの物理的な欠陥により影響を受けると、非常に多くの情報シンボルが読み出せなくなってしまう。しかしながら、この問題は非常に長い符号語を用いることで改善することができる。これが、リード・ソロモン符号よりも当然長い符号を構成することが模索されている理由であり、そのような符号を作成することで、非常に長い積符号を構成することができる。
【００２５】
特に、所謂「代数幾何的符号」または「ゴッパ幾何的符号」が近年提案されている（例えば、１９９０年、ベルリン、Springer-Verlag出版による、IMA Volumes Math. Appl.の第２１巻「符号化理論及びデザイン理論（Coding Theory and Design Theory ）」の第１部における、par J.H. van Lint著、「代数幾何的符号（Algebraic Geometric Codes）」参照）。これらの符号は、ガロア体に構成されたｇ元のアルファベットに基づいて定義される代数上の曲線から構成される。このような曲線の重要なパラメータは、その「種数」ｇである。曲線が単純な直線である場合（種数ｇが０）、代数幾何的符号はリード・ソロモン符号となる。代数幾何的符号は、非常に高い（ｑ＋２ｇ√ｑ）に等しい長さを達成することができる。例えば、それぞれがアルファベット長２５６、種数１２０を有する２つの成分符号を用いた場合、積符号の語は長さ16,777,216を達成することができる。
【００２６】
本発明の特徴によれば、行及び／または列符号は代数幾何的符号である。
【００２７】
代数幾何的符号は、上述したように符号語の長さにおいて有利であるが、（少なくとも現在の知識においては）かなり複雑な復号アルゴリズムを必要とし、そのため、装備（ソフトウエア及び／またはハードウエア）及び処理時間においてコストがかかってしまうという欠点を有する。この複雑さは、実際には、用いられるアルゴリズムによって大きかったり小さかったりするが、基本的には、復号器の誤り訂正能力が上がるとより複雑になる。
【００２８】
積符号の２つの成分符号の内、少なくとも片方が代数幾何的符号である場合、そういった符号のために設計された消失を伴う訂正のアルゴリズム（例えば、１９９５年１１月、IEEE Trans. Inform. Theory、第４１巻第６号の1,589〜1,614ページに記載の「代数幾何的符号の復号について（On the Decoding of Algebraic-Geometric Codes）」と題された、Tom Hoholdt and Ruud Pellikaan による記事を参照）に本発明を適用することができる。これらのアルゴリズムにおいては、リード・ソロモン符号を訂正するための最大アルゴリズムの「些細な」場合（「Berlekamp-Masseyアルゴリズム」と呼ばれる）を除いては、それらの解答能力Δの下限のみが与えられており、解答能力は厳密に分かっており、Δ＝ｎ−ｋに等しい。例えば、本発明を「Feng-Raoのアルゴリズム」として知られ、「多数決」アルゴリズムとも呼ばれるアルゴリズムに適用することができる。この場合、解答能力の安全値はΔ＝ｎ−ｋ−ｇである。所謂「基本」アルゴリズムを用いることもでき（１９９０年１１月、IEEE Trans. Inform. Theory、第３６巻第５号の1,051〜1,060ページに記載の「代数幾何的符号の復号について（On the Decoding of Algebraic-Geometric codes"）」と題されたA.N. Skorobogatov and S.G. Vladutによる記事を参照）、その場合、解答能力の安全値はΔ＝ｎ−ｋ−２ｇである。
【００２９】
なお、直積成分ではない代数幾何的符号の訂正するためには、この「基本」アルゴリズムは「Feng-Rao」アルゴリズムよりも単純ではあるが、能力は劣る。しかし、本発明においては、上述した理由により、実際のところ基本アルゴリズムの方が好ましい。
【００３０】
また、代数幾何的符号を復号するためにこれらのアルゴリズムのどれかを使用する場合に、例えば、上述した複数の誤りが発生した受信語の訂正を開始する際の処理手順に関する米国特許第６，１３８，２６２号に開示されるものや、「Berlekamp-Massey-Sakata acceleration」（１９８８年、「シンボリック計算」、第５巻、321-337ページ、及び、１９９０年、「Informat. Computing」、第８４巻、207-239ページに記載のＳ．サカタ著の記事を参照）等といった、公知のアルゴリズム上の改良を組み合わせることができる。
【００３１】
本発明を有益に応用する別の例としては、１９９９年、IEEE Trans. Inform. Theory、第４５巻第７号、2,506〜2,512ページ、O. Pretzel著の記事に記載されているように、成分符号の少なくとも１つが「部分代数幾何的符号」である積符号の応用である。これは、種数が明らかではないが、上述したアルゴリズムと類似した曲線のための「基本」復号アルゴリズム及び「多数決」復号アルゴリズムが存在する場合に、曲線によって定義される符号に関する。
【００３２】
また、別の視点によれば、本発明は様々な装置に関する。
【００３３】
従って、まず、誤り訂正装置に関し、上記概略説明した復号方法のいずれかを実行する手段を有することを特徴とする。
【００３４】
また、第２に本発明は復号器に関し、
−上記概略説明した、少なくとも１つの誤り訂正装置と、
−少なくとも１つの冗長抑圧装置とを有する。
【００３５】
また、本発明は、
−上記概略説明した復号器と、符号化デジタル信号を受信する手段とを備えた、符号化デジタル信号を受信するための装置と、
−上記概略説明したいずれかの方法のステップを実行するためのコンピュータプログラムコード命令を有する、固定データ記憶装置と、
−上記概略説明したいずれかの方法のステップを実行するためのコンピュータプログラムコード命令を有する、部分的または全体的に着脱可能な記憶装置と、
−前記プログラムがプログラム可能データ処理装置を制御する時に、前記データ処理装置に上記概略説明した方法の１つを実行させる命令を含むコンピュータプログラムとを有する。
【００３６】
これらの装置、データ処理装置、コンピュータプログラムにより得られる利点は、本発明の方法により提供されるものと基本的に同じである。
【００３７】
本発明のその他の特徴及び利点は、本発明を限定しない例としてあげられている、以下に記述する詳細な実施の形態から明らかになるであろう。なお、添付図面を参照して記述する。
【００３８】
図１は、本発明におけるチャンネル符号化を用いて情報を伝送するためのシステムを示すブロック図である。
【００３９】
このシステムの機能は、あらゆる性質の情報を、ソース１００から受信者、すなわちユーザ１０９に伝送することである。まず、ソース１００はこの情報を特定のアルファベットに属するシンボルの形式に変換し（例えば、４組のビット）、これらのシンボルを記憶部１０１に送信し、ここでそれぞれがｋ1・ｋ2シンボルを含む集合を構成するようにシンボルを蓄積する。次に、記憶部１０１はこれらの集合それぞれを符号器１０２に伝送し、符号器１０２は、各行が第１成分符号に属する長さがｎ１の語、各列が第２成分符号（できれば、第１成分符号と同じ）に属する長さがｎ２の語である積符号の語を生成するように、(ｎ1・ｎ2−ｋ1・ｋ2)の冗長シンボルを伝送された集合に加える。
【００４０】
次に、このようにして生成された積符号の語は変調器１０３に伝送され、そこで変調シンボル（例えば、復号振幅）と、積符号の語の各シンボルとを関連づける。次に、これらの変調シンボルは送信器またはレコーダ１０４に送られ、伝送チャンネルに入れられる。このチャンネルは、例えば、有線通信またはラジオ信号などの無線通信、またはＤＶＤや磁気テープなどの適切なキャリア上の記憶部を含む。こうして伝送されたシンボルは、アトランダムに変調シンボルをいくらか変更または消去する「伝送ノイズ」による影響を受けた後に、受信器またはリーダ１０５に達する。
【００４１】
この後、受信器またはリーダ１０５はこれらのシンボルを復調器１０６に送り、復調器１０６はそれらシンボルを、各集合が「受信語」を構成する上述したアルファベットのシンボルに変換する。受信語は次に、積符号に属する「関連符号語」を提供するように、本発明の復号方法を実行する誤り訂正部１０７により処理される。そして、この関連符号語は冗長抑制部１０８に送られ、冗長抑制部１０８は符号器１０２の実行内容と反対のアルゴリズムである復号アルゴリズムを実行することにより、ｋ1・ｋ2情報シンボルを抽出する。最後に、これらの情報シンボルは受信部１０９に提供される。
【００４２】
ユニット１０７及び１０８を「復号器」１０と共同形成しても良い。
【００４３】
図２は、本発明の誤り訂正方法の主なステップを示すフローチャートであり、誤り訂正部１０７がこの方法のステップ２００で新しい受信語（前記アルファベットに属するシンボル表の形態で）を受け取る度に実行される。
【００４４】
この方法は少なくとも１回実行され、また、無限に繰り返されるリスクを回避するために、その最大反復回数はＩmaxで予め固定されている。一回の処理は、行を訂正する試みと、次に行われる列を訂正する試みとを含む。R-correctと呼ぶ論理変数は、行訂正アルゴリズムＡ1が表の行全部が第１成分符号の符号語であると判断した場合に「真」を返し、そうでなければ、変数R-correctは「偽」を返す。同様に、C-correctと呼ぶ論理変数は、列変換アルゴリズムＡ2が表の列全部が第２成分符号の符号語であると判断した場合に「真」を返し、そうでなければ、変数C-correctは「偽」を返す。
【００４５】
ステップ２０１において、変数C-correctは「偽」に初期化され、反復カウンタは０に初期化される。ステップ２０２では、アルゴリズムＡ1は表の行の誤りシンドロームを計算する。
【００４６】
ステップ２０３でシンドロームが全て０である場合には、行は全て第１成分符号の語であると推定し、その結果、ステップ２０４で変数R-correctは「真」を返す。次にステップ２０５において、C-correctの値が「真」であるか確認する。「真」である場合、受信語の訂正が終了したと推定し、最後のステップ２０６で、誤り訂正部１０７は「関連符号語」を構成するシンボル表を冗長抑制部１０８に送る。しかし、ステップ２０５でC-correctが「偽」であった場合、ステップ２０７でアルゴリズムＡ2による表の列の誤りシンドロームの計算を行う。
【００４７】
一方、ステップＳ２０３でいずれかの行の誤りシンドロームが０ではない場合、ステップ２０８で図３ａを参照して上述した本発明の訂正を試みる方法を、対応する行に適用する。次にステップ２０９において、表のいくつかの位置が消去されたままであるか確認する。その場合、変数R-correctはステップ２１０で「偽」を返し、そうでなければステップＳ２１１で「真」を返す。ステップＳ２１０またはステップ２１１の後、すでに説明したステップ２０７が行われる。
【００４８】
もしステップ２１２において、列の誤りシンドロームが全て０であると判断されると、列は全て第２成分符号の語であると推定され、その結果、変数C-correctはステップＳ２１３で「真」を返す。次にステップ２１４において変数C-correctが「真」であるかを確認する。「真」であれば、このことから受信語の訂正は終了したと推定し、上述した最終ステップを行う。そうでなければ、ステップ２１５で反復カウンタをカウントアップする。
【００４９】
もし、反対に、ステップ２１２においていくつかの列の誤りシンドロームが０ではないと判断されると、ステップ２１６において図３ｂを参照して上述した本発明の訂正を試みる方法を、対応する列に対して実施する。次にステップ２１７で、表のいくつかの位置が消去されたままであるか確認する。消去されたままである場合、変数C-correctはステップ２１８で「偽」を返し、そうでなければ、変数C-correctはステップ２１９で「真」を返す。ステップ２１８またはステップ２１９の後、上述したステップ２１５が行われる。
【００５０】
ステップ２１５の後、ステップ２２０において、最大回数Ｉmaxと等しい回数、反復回数がすでに実行されたかどうかを判断する。まだの場合、ステップ２０２に戻って次の反復処理を行う。実行されている場合には、受信語の訂正試みが失敗したと判断し、ステップ２２１で方法を中断する。訂正が失敗した場合に行う処理は本発明の方法に関係がなく、予めこの方法のユーザによる了承が必要である。
【００５１】
図３ａは、ユニット１０７により処理されるシンボル表のｉ（１≦ｉ≦ｎ2）行目に含まれる誤りの訂正を試みる、本発明の方法の主なステップを示すフローチャートである。この方法を表の全ての行に連続的に適用することで、図２を参照して上述した方法のステップ２０８が構成される。
【００５２】
ステップ３０１において、アルゴリズムＡ1は、誤りシンドロームに基づいて、適切であれば、その行から消去されたτ1i個の位置を考慮に入れて、ｉ行目を訂正する試みを行う。
【００５３】
もし、ステップ３０２で、アルゴリズムＡ1がその行を訂正することができない、つまり、第１成分符号の対応する語を構成する部分を提案することができないことが分かった場合、ステップ３０３でｉ行目を完全に消去する。
【００５４】
反対に、ステップ３０２でアルゴリズムＡ1が、第１成分符号の対応する語を構成する部分を提案した場合、ステップ３０４において、そのアルゴリズムによって更新された（また、消去された位置に無かった）その行のシンボル数ｔ1iを数え、数（２ｔ1i+τ1i）を計算し、所定数ｄ*1と比較する。
【００５５】
もしステップ３０４において（２ｔ1i+τ1i）がｄ*1よりも大きい場合、ステップ３０３において、上述したようにｉ行目を完全に消去する。
【００５６】
逆に、（２ｔ1i+τ1i）がｄ*1以下であると判断した場合、ステップ３０５において、アルゴリズムＡ1により直前に行われたｉ行目の訂正を認める。
【００５７】
同様に、図３ｂはユニット１０７により処理されるシンボル表のｊ（１≦ｊ≦ｎ1）列目に含まれる誤りの訂正を試みる、本発明の方法の主なステップを示すフローチャートである。この方法を表の全ての列に連続的に適用することで、図２を参照して上述した方法のステップ２１６が構成される。
【００５８】
図３ｂのステップ３１１〜３１５は、図３ａのステップ３０１〜３０５とそれぞれ完全に同様である。
【００５９】
本発明における誤り訂正方法について、デジタル例に基づいて、図４ａ〜図６ｂを参照して説明する。なお、この例は、符号化または復号化のために好ましいパラメータを選択する処理を必ずしも含むものではない。選択処理は、本発明の方法の手順を当業者がより容易に理解できるように説明をしている。
【００６０】
成分符号が、種数ｇ＝１の２４点を有する最大楕円曲線（例えばｙ2＋ｙ＝ｘ3＋ｘ）に基づくＦ16上に形成された代数幾何的符号である積符号について考える。これらのコードのパラメータ（ｎ，ｋ）は、それぞれ、
ｎ1＝２４，ｋ1＝２０；
ｎ2＝２４，ｋ2＝１８
と等しいものとする。
【００６１】
更に、２つのアルゴリズムＡ1とＡ2として、「基本アルゴリズム」を選択する。従って、それぞれの解答能力は
Δ1＝ｎ1ーｋ1−２ｇ＝２、Δ2＝ｎ2−ｋ2−２ｇ＝４
である。
【００６２】
最後に、Ａ1が信頼できるやり方で１つの誤りを訂正するか、若しくは２つの消失位置の値を判断でき、且つ、Ａ2が信頼できるやり方で２つの誤りを訂正するか、１つの誤りを訂正すると共に２つの消失位置の値を判断するか、または、４つの消失位置の値を判断することができるように、
ｄ*1＝Δ1、及びｄ*2＝Δ2
を信頼性の限界値とする。
【００６３】
図４ａ乃至図６ｂにおいて、シンボル表の誤り位置（つまり、対応する伝送シンボルと異なるシンボルを有する位置）をｘで示す。図４ａは、復調器１０６から出力される形式の受信語そのものを示す。ここでは、いくつかの伝送誤りにより、３，６，９，１０，１４，１６行目が影響を受けていることが分かる
【００６４】
図４ｂは、アルゴリズムＡ1を１回適用した後のシンボル表の状態を示す。１０行目及び１６行目の単純な誤りが訂正されている。多くの誤りを含む６行目と９行目を訂正することはできず、それらを含むシンボルが消去され、この図及び以降の図では、グレーゾーンで表現している。
【００６５】
３行目も多数（４個）の伝送誤りを含むが、アルゴリズムＡ1は「訂正した」符号語を提案することができた。このために行わなければならないことは、３行目の１０列目にある１つのシンボルの値を変更することで、その結果、３行目は消去されなかった。しかし、このシンボル及び５、６、１２列目にあるシンボルは、実際は誤りである。
【００６６】
最後に、１４行目も多数（５個）の伝送誤りを含んでいるが、アルゴリズムＡ1は「訂正した」符号語を提案することができている。このために行わなければならないことは、１４行目の１５列目にある１つのシンボルの値を変更することで（受信語において、実は正しいシンボル！）、その結果、１４行目は消去されなかった。従って、このシンボル及び６，７，８，９，１０列目のシンボルは、この段階では誤りである。
【００６７】
図５ａは図４ｂと同じ図である。図５ｂは、アルゴリズムＡ2を１回適用した後のシンボル表の状態を示す（これにより、この方法の１回目の動作が終わる）。これにより、アルゴリズムＡ2により訂正することができなかったために消去された６列目及び１０列目を除いて、全ての列が訂正されたことが分かる。
【００６８】
図６ａは図５ｂと同じ図である。図６ｂはアルゴリズムＡ1の第２回目の適用後のシンボル表を示し、受信語に当初含まれた誤りが全て訂正されている。従って、図６ｂに示す関連する符号語は、対応する伝送された語と同一であり、ユニット１０９がユニット１０９のために残された情報シンボルを取得できるように、ユニット１０８において冗長シンボルを消去する処理を残すのみである。
【００６９】
本発明の誤り訂正方法について、図２乃至図６ｂを参照して一般的に上述した。しかし、もし「準最大」アルゴリズムをＡ1及びＡ2として選択すると、特に効果的であることが分かる。これは、導入部で説明したように、これらのアルゴリズムは一般的に実施が容易で、且つ実行速度が速いからである。受信語が多数の伝送誤りを抱える場合には、前記アルゴリズムが比較的に低い解決能力を有するために第１の処理ステップで多数の消去をしてしまうこともあり得る。しかし、本発明の方法は、これらの最初のステップの後、処理された語の消去されなかったシンボルが、ほぼ全て正しいことを保証する。その後は、この語の処理は確実且つ迅速に完了される（勿論、伝送誤りの数が非常に多く、受信語を訂正するための合理的な試みができない場合を除くが、その場合、最大アルゴリズムを使用しても訂正に失敗するか、または、悪くすると間違った関連符号語を与えることもあり得る）。
【００７０】
一意見として、本発明の訂正の最終ステップは、最終処理中に、信頼性の制限値ｄ*1及び／または信頼性の制限値ｄ*2を幾分上げることにより、より高速に行うことができる。
【００７１】
図７のブロック図は、復号器１０を有する、デジタル信号７０を受信する為の装置を示しており、使用されたチャンネル符号が積符号であって、その成分符号が共に、例えば代数幾何的符号である場合に適用された場合を示している。この装置７０は、キーボード７１１と、表示部７０９と、外部情報受信部１０９と、データリーダ１０５と、復調器１０６とを有し、ここでは論理ユニットの形態で生成される復号器１０の入出力ポート７０３に共同接続されている。
【００７２】
復号器１０は、アドレス・データバス７０２により同時接続された、
−中央処理装置７００と、
−ランダムアクセスメモリ（ＲＡＭ）７０４と、
−リードオンリーメモリ（ＲＯＭ）７０５と、
−前記入出力ポート７０３とを有する。
【００７３】
図７に示す各構成要素は、マイクロコンピュータ及び大容量記憶システム及び、より一般的には、情報処理システムに関する当業者には良く知られている。従ってここではこれら公知の構成要素の説明は行わない。しかしながら、
−情報受信部１０９は、例えば、インターフェース周辺機器、ディスプレイ、変調器、外部メモリ、またはその他の情報処理システム（不図示）等であり、音声や、サービスメッセージ、特にＩＰやＡＴＭタイプのマルチメディアデータなどを示す一連の信号を、一連の２値データの形態で受信することができる、
−リーダ１０５は磁気または光磁気ディスクのようなキャリア上に記憶されたデータを読み出すことができる
ことに留意されたい。
【００７４】
ランダムアクセスメモリ７０４は、ここでは、記憶する値のデータと同名のメモリレジスタに、データ、変数、中間処理結果を保存する。ランダムアクセスメモリ７０４は具体的には以下のレジスタを有する：
−「受信語」を記憶する「received_word」レジスタ、
−訂正中に、受信語から得られる表のシンボルを記憶する「estimated_symbols」レジスタ、
−「関連符号語」のシンボル表を記憶する「associated_word」レジスタ
−冗長抑制を行って得られるシンボルを記憶する「information_symbols」レジスタ、
−受信語の訂正中に復号器により実行された繰り返し回数を記憶する「No_iteration」レジスタ。
【００７５】
リードオンリーメモリ７０５は、便宜上、記憶するデータと同名のレジスタに、
−レジスタ「program」に、中央処理装置７００の動作プログラム、
−レジスタ「ｎ1」に第１成分符号の語長、
−レジスタ「ｎ2」に第２成分符号の語長、
−レジスタ「ｋ1」に第１成分符号の語における情報シンボル数、
−レジスタ「ｋ2」に第２成分符号の語における情報シンボル数、
−レジスタ「ｇ1」に第１符号のために選択した代数曲線の種数、
−レジスタ「ｇ2」に第２符号のために選択した代数曲線の種数、
−レジスタ「Ａ1」に第１成分符号のために選択した消失を伴う訂正のアルゴリズム、
−レジスタ「Ａ2」に第２成分符号のために選択した消失を伴う訂正のアルゴリズム、
−レジスタ「ｄ*1」に第１アルゴリズムのための信頼性制限値、
−レジスタ「ｄ*1」に第２ｄ*1アルゴリズムのための信頼性制限値、
−レジスタ「max_No_iteration」に最大反復回数Ｉmax
を記憶する。
【００７６】
本発明をデータの大容量記憶装置に適用した場合について一例として上記説明したが、本発明における方法は、遠隔通信ネットワークにおいても同様に実施可能であり、その場合、ユニット１０５は例えば、無線通信路を介するデータパケット伝送のためのプロトコルを実行可能な受信器である。
【図面の簡単な説明】
【図１】本発明におけるチャンネル符号化を用いて情報を伝送するためのシステムのブロック図である。
【図２】受信語における誤りを訂正する方法の主なステップを示すフローチャートである。
【図３ａ】図２に示す方法の一部を構成する、誤りの訂正を試みる方法の主なステップを示すフローチャートである。
【図３ｂ】図２に示す方法の別の一部を構成する、誤りの訂正を試みる方法の主なステップを示すフローチャートである。
【図４】、
【図５】、
【図６】、図２に示す方法を実施したデジタル例を示す。
【図７】本発明の復号器を含む、デジタル信号を受信するための装置を示す。
【図１】
0003703466.tif 000002
【図２】
0003703466.tif 000003
【図３ａ】
0003703466.tif 000004
【図３ｂ】
0003703466.tif 000005
【図４】
0003703466.tif 000006
【図５】
0003703466.tif 000007
【図６】
0003703466.tif 000008
【図７】
0003703466.tif 000009