(57)【特許請求の範囲】
【請求項１】
データフレームの行に関して計算された横のシンドローム（ＨＳ）に基づいて該フレームの行内のエラーを修正できる横方向のパリティデータ（ＨＰ）と、該データフレームの列に関して計算された縦のシンドローム（ＶＳ）に基づいて該フレームの列内のエラーを修正できる縦方向のパリティデータ（ＶＰ）とを含み、
遅いメモリ（１２，３４）に受信されている、現在のフレームのデータに基づいて、現在フレームの横及び縦のシンドロームを受信中に計算（１０）し、これらのシンドロームを速いメモリ領域（１４，１５）に記憶させるステップ、及び
次のフレームのデータを遅いメモリに受信しながら、速いメモリ領域に記憶されたシンドロームに基づいて現在のフレームのエラーの値と位置を見出す（１７）ステップと、
を含むデータフレーム内のエラーを修正する方法であって、
前記遅いメモリは利用回路によって管理され、各フレームのエラーの値と位置が次のフレームのデータの間に利用回路に供給され、この利用回路は各フレームを記憶し、エラーの値と位置を受信した際に、フレームを修正し、
パリティデータは、残りのデータと共にリード・ソロモン符号を構成し、フレームの１つの行又は１つの列について計算される各シンドローム係数は、ガロア体の要素の次数に対応している行又は列のデータにより構成された係数を有する多項式によって計算され、
縦方向のパリティデータは、列の中に織り交ぜられ、
シンドロームの計算は、
第一の補助レジスタ（５８）に、ガロア体の所定の要素を、各列の第一のデータに対応する次数にべき乗した値を設定するステップと、
第二の補助レジスタ（６０）に、ガロア体の前記所定の要素を、列の第一の縦方向のパリティデータに対応する次数にべき乗した値を設定するステップと、
可変レジスタ（５２）に、１を設定するステップと、
第一の補助レジスタ（５８）を、縦方向のパリティデータの到着の際を除き、列の新しいデータ（ａｒ  ）の到着の度に、ガロア体の前記所定の要素の逆数と第一の補助レジスタの内容との積で更新するステップと、
第二の補助レジスタ（６０）を、列の新しい縦方向のパリティデータの到着の度に、ガロア体の前記所定の要素の逆数と第二の補助レジスタの内容との積で更新するステップと、
各シンドローム係数に対して、可変レジスタ（５２）を、現在受信している列のデータが縦方向のパリティデータであるか否かに従って、この可変レジスタの内容と第二又は第一の補助レジスタの内容との積で更新するステップと、
速いメモリ領域（１４）において、各縦のシンドローム係数を、シンドローム係数と、可変レジスタの内容と現在受信されたデータ（ａｒ  ）との積との和（５４）で更新するステップと、
を有する方法。
【請求項２】
データフレームの行に関して計算された横のシンドローム（ＨＳ）に基づいて該フレームの行内のエラーを修正できる横方向のパリティデータ（ＨＰ）と、該データフレームの列に関して計算された縦のシンドローム（ＶＳ）に基づいて該フレームの列内のエラーを修正できる縦方向のパリティデータ（ＶＰ）とを含み、
遅いメモリ（１２，３４）に受信されている、現在のフレームのデータに基づいて、現在フレームの横及び縦のシンドロームを受信中に計算（１０）し、これらのシンドロームを速いメモリ領域（１４，１５）に記憶させるステップ、及び
次のフレームのデータを遅いメモリに受信しながら、速いメモリ領域に記憶されたシンドロームに基づいて現在のフレームのエラーの値と位置を見出す（１７）ステップと、
を含むデータフレーム内のエラーを修正する方法であって、
前記遅いメモリは利用回路によって管理され、各フレームのエラーの値と位置が次のフレームのデータの間に利用回路に供給され、この利用回路は各フレームを記憶し、エラーの値と位置を受信した際に、フレームを修正し、
データフレームがエラーチェック記号（ＣＲＣ）を含んでおり、その各々は、係数がフレームの一連のデータの各ビットである多項式を、生成多項式（ｇ）で割算した剰余に対応し、
発見された各エラーに対して、第一のレジスタ（７６）を生成多項式（ｇ）の係数に設定し、このレジスタをその内容の２乗（７８）で更新するステップと、
シフトレジスタ（７２）を前記一連のエラーの位置で設定し、第一のレジスタ（７６）の更新と同期してこのレジスタにクロックを与えるステップと、
記号レジスタ（７０）をエラーの値に設定し、シフトレジスタ（７２）の最下位ビット（ＬＳＢ）が１にあり、これにより記号レジスタがシフトレジスタの完全にシフトし終った時点でエラーの記号に対する影響を含む時だけ、記号レジスタの内容と第一レジスタの内容との積で記号レジスタを更新するステップと、
を含む方法。
【請求項３】
データフレームの行に関して計算された横のシンドローム（ＨＳ）に基づいて該フレームの行内のエラーを修正できる横方向のパリティデータ（ＨＰ）と、該データフレームの列に関して計算された縦のシンドローム（ＶＳ）に基づいて該フレームの列内のエラーを修正できる縦方向のパリティデータ（ＶＰ）とを含み、
現在のフレームのデータを行によって受信しながら、横方向のパリティデータ及び疑わしい行の位置のマーキングによって現在のフレームの行を受信中に修正しようとするステップと、
遅いメモリ（１２，３４）に記憶されている修正された行及び疑わしい行に基づいて、現在のフレームの縦のシンドローム（ＶＳ）を受信中に計算（１０）し、縦のシンドロームを速いメモリ領域（１４′，１５′，１６′）に記憶させるステップと、
次のフレームのデータを受信しながら、速いメモリ領域に記憶された縦のシンドロームに基づいて現在のフレームのエラーの値を計算（１７′）し、これらのエラーの位置を疑わしい行のマーキングによって提供するステップと、
を含むデータフレーム内のエラーを修正する方法であって、
前記遅いメモリは利用回路によって管理され、各フレームのエラーの値と位置が次のフレームのデータの間に利用回路に供給され、この利用回路は各フレームを記憶し、エラーの値と位置を受信した際に、フレームを修正し、
パリティデータは、残りのデータと共にリード・ソロモン符号を構成し、フレームの１つの行又は１つの列について計算される各シンドローム係数は、ガロア体の要素の次数に対応している行又は列のデータにより構成された係数を有する多項式によって計算され、
縦方向のパリティデータは、列の中に織り交ぜられ、
シンドロームの計算は、
第一の補助レジスタ（５８）に、ガロア体の所定の要素を、各列の第一のデータに対応する次数にべき乗した値を設定するステップと、
第二の補助レジスタ（６０）に、ガロア体の前記所定の要素を、列の第一の縦方向のパリティデータに対応する次数にべき乗した値を設定するステップと、
可変レジスタ（５２）に、１を設定するステップと、
第一の補助レジスタ（５８）を、縦方向のパリティデータの到着の際を除き、列の新しいデータ（ａｒ  ）の到着の度に、ガロア体の前記所定の要素の逆数と第一の補助レジスタの内容との積で更新するステップと、
第二の補助レジスタ（６０）を、列の新しい縦方向のパリティデータの到着の度に、ガロア体の前記所定の要素の逆数と第二の補助レジスタの内容との積で更新するステップと、
各シンドローム係数に対して、可変レジスタ（５２）を、現在受信している列のデータが縦方向のパリティデータであるか否かに従って、この可変レジスタの内容と第二又は第一の補助レジスタの内容との積で更新するステップと、
速いメモリ領域（１４）において、各縦のシンドローム係数を、シンドローム係数と、可変レジスタの内容と現在受信されたデータ（ａｒ  ）との積との和（５４）で更新するステップと、
を有する方法。
【請求項４】
データフレームの行に関して計算された横のシンドローム（ＨＳ）に基づいて該フレームの行内のエラーを修正できる横方向のパリティデータ（ＨＰ）と、該データフレームの列に関して計算された縦のシンドローム（ＶＳ）に基づいて該フレームの列内のエラーを修正できる縦方向のパリティデータ（ＶＰ）とを含み、
現在のフレームのデータを行によって受信しながら、横方向のパリティデータ及び疑わしい行の位置のマーキングによって現在のフレームの行を受信中に修正しようとするステップと、
遅いメモリ（１２，３４）に記憶されている修正された行及び疑わしい行に基づいて、現在のフレームの縦のシンドローム（ＶＳ）を受信中に計算（１０）し、縦のシンドロームを速いメモリ領域（１４′，１５′，１６′）に記憶させるステップと、
次のフレームのデータを受信しながら、速いメモリ領域に記憶された縦のシンドロームに基づいて現在のフレームのエラーの値を計算（１７′）し、これらのエラーの位置を疑わしい行のマーキングによって提供するステップと、
を含むデータフレーム内のエラーを修正する方法であって、
前記遅いメモリは利用回路によって管理され、各フレームのエラーの値と位置が次のフレームのデータの間に利用回路に供給され、この利用回路は各フレームを記憶し、エラーの値と位置を受信した際に、フレームを修正し、
データフレームがエラーチェック記号（ＣＲＣ）を含んでおり、その各々は、係数がフレームの一連のデータの各ビットである多項式を、生成多項式（ｇ）で割算した剰余に対応し、
発見された各エラーに対して、第一のレジスタ（７６）を生成多項式（ｇ）の係数に設定し、このレジスタをその内容の２乗（７８）で更新するステップと、
シフトレジスタ（７２）を前記一連のエラーの位置で設定し、第一のレジスタ（７６）の更新と同期してこのレジスタにクロックを与えるステップと、
記号レジスタ（７０）をエラーの値に設定し、シフトレジスタ（７２）の最下位ビット（ＬＳＢ）が１にあり、これにより記号レジスタがシフトレジスタの完全にシフトし終った時点でエラーの記号に対する影響を含む時だけ、記号レジスタの内容と第一レジスタの内容との積で記号レジスタを更新するステップと、
を含む方法。
【請求項５】
データフレームの行に関して計算された横のシンドローム（ＨＳ）に基づいて該フレームの行内のエラーを修正できる横方向のパリティデータ（ＨＰ）と、該データフレームの列に関して計算された縦のシンドローム（ＶＳ）に基づいて該フレームの列内のエラーを修正できる縦方向のパリティデータ（ＶＰ）とを含み、
遅いメモリ（１２，３４）に受信されている、現在のフレームのデータに基づいて、現在フレームの横及び縦のシンドロームを受信中に計算（１０）し、これらのシンドロームを速いメモリ領域（１４，１５）に記憶させるステップ、及び
次のフレームのデータを遅いメモリに受信しながら、速いメモリ領域に記憶されたシンドロームに基づいて現在のフレームのエラーの値と位置を見出す（１７）ステップと、
を含むデータフレーム内のエラーを修正する方法であって、
遅いメモリ（１２）から抽出したデータを、見出した値と位置で動作中に修正（２１）するステップを含み、
パリティデータは、残りのデータと共にリード・ソロモン符号を構成し、フレームの１つの行又は１つの列について計算される各シンドローム係数は、ガロア体の要素の次数に対応している行又は列のデータにより構成された係数を有する多項式によって計算され、
縦方向のパリティデータは、列の中に織り交ぜられ、
シンドロームの計算は、
第一の補助レジスタ（５８）に、ガロア体の所定の要素を、各列の第一のデータに対応する次数にべき乗した値を設定するステップと、
第二の補助レジスタ（６０）に、ガロア体の前記所定の要素を、列の第一の縦方向のパリティデータに対応する次数にべき乗した値を設定するステップと、
可変レジスタ（５２）に、１を設定するステップと、
第一の補助レジスタ（５８）を、縦方向のパリティデータの到着の際を除き、列の新しいデータ（ａｒ  ）の到着の度に、ガロア体の前記所定の要素の逆数と第一の補助レジスタの内容との積で更新するステップと、
第二の補助レジスタ（６０）を、列の新しい縦方向のパリティデータの到着の度に、ガロア体の前記所定の要素の逆数と第二の補助レジスタの内容との積で更新するステップと、
各シンドローム係数に対して、可変レジスタ（５２）を、現在受信している列のデータが縦方向のパリティデータであるか否かに従って、この可変レジスタの内容と第二又は第一の補助レジスタの内容との積で更新するステップと、
速いメモリ領域（１４）において、各縦のシンドローム係数を、シンドローム係数と、可変レジスタの内容と現在受信されたデータ（ａｒ  ）との積との和（５４）で更新するステップと、
を有する方法。
【請求項６】
データフレームの行に関して計算された横のシンドローム（ＨＳ）に基づいて該フレームの行内のエラーを修正できる横方向のパリティデータ（ＨＰ）と、該データフレームの列に関して計算された縦のシンドローム（ＶＳ）に基づいて該フレームの列内のエラーを修正できる縦方向のパリティデータ（ＶＰ）とを含み、
現在のフレームのデータを行によって受信しながら、横方向のパリティデータ及び疑わしい行の位置のマーキングによって現在のフレームの行を受信中に修正しようとするステップと、
遅いメモリ（１２，３４）に記憶されている修正された行及び疑わしい行に基づいて、現在のフレームの縦のシンドローム（ＶＳ）を受信中に計算（１０）し、縦のシンドロームを速いメモリ領域（１４′，１５′，１６′）に記憶させるステップと、
次のフレームのデータを受信しながら、速いメモリ領域に記憶された縦のシンドロームに基づいて現在のフレームのエラーの値を計算（１７′）し、これらのエラーの位置を疑わしい行のマーキングによって提供するステップと、
を含むデータフレーム内のエラーを修正する方法であって、
遅いメモリ（１２）から抽出したデータを、見出した値と位置で動作中に修正（２１）するステップを含み、
パリティデータは、残りのデータと共にリード・ソロモン符号を構成し、フレームの１つの行又は１つの列について計算される各シンドローム係数は、ガロア体の要素の次数に対応している行又は列のデータにより構成された係数を有する多項式によって計算され、
縦方向のパリティデータは、列の中に織り交ぜられ、
シンドロームの計算は、
第一の補助レジスタ（５８）に、ガロア体の所定の要素を、各列の第一のデータに対応する次数にべき乗した値を設定するステップと、
第二の補助レジスタ（６０）に、ガロア体の前記所定の要素を、列の第一の縦方向のパリティデータに対応する次数にべき乗した値を設定するステップと、
可変レジスタ（５２）に、１を設定するステップと、
第一の補助レジスタ（５８）を、縦方向のパリティデータの到着の際を除き、列の新しいデータ（ａｒ  ）の到着の度に、ガロア体の前記所定の要素の逆数と第一の補助レジスタの内容との積で更新するステップと、
第二の補助レジスタ（６０）を、列の新しい縦方向のパリティデータの到着の度に、ガロア体の前記所定の要素の逆数と第二の補助レジスタの内容との積で更新するステップと、
各シンドローム係数に対して、可変レジスタ（５２）を、現在受信している列のデータが縦方向のパリティデータであるか否かに従って、この可変レジスタの内容と第二又は第一の補助レジスタの内容との積で更新するステップと、
速いメモリ領域（１４）において、各縦のシンドローム係数を、シンドローム係数と、可変レジスタの内容と現在受信されたデータ（ａｒ  ）との積との和（５４）で更新するステップと、
を有する方法。
【請求項７】
各フレームはそのパリティデータ（ＨＰ，ＶＰ）なしで記憶され、フレームエラーの値と位置は、次のフレームのパリティデータを受信している間に利用回路（３２）に供給されることを特徴とする、請求項１から４のいずれか１項に記載のエラー修正方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の行及び列について、フレーム内のエラーを修正するための縦及び横のパリティデータを含む、データフレームにおけるエラーを修正するシステムに関するものである。フレームのデータ行及び列は、いわゆる積符号を構成する。
【０００２】
【従来の技術】
図１は、各１８２バイトの行と各２０８バイトの列とを有するフレームの例を示している。各行の１０バイトは横のパリティデータＨＰを構成し、各列の１６バイトは縦のパリティデータＶＰを構成している。残りの１７２×１９２バイトのフレームが有効データＤを含むことになる。
【０００３】
対応するパリティデータを有する各行又は列は、例えばリード・ソロモン符号を構成する。２ｋ個のパリティデータのリード・ソロモン符号では、この分野の技術ではよく知られている方法によって、２ｋ個のエラー表示が見出されるが、これは大抵の場合ｋ個のエラー値とｋ個の対応する符号内の位置から成る。図１のように積符号の場合は、各リード・ソロモン符号はもっと柔軟性のある方法で使用することができる。すなわち、２ｎ＋ｍ≦２ｋの場合、２ｋ個のパリティ値によって未知の値と位置を有するｎ個のエラーと、既知の値と未知の位置を有するｍ個のエラーとが見出される。
【０００４】
一つの行又は列に対する一つの符号におけるエラー修正を行うには、パリティデータを含むすべての符号データに基づいて一つのシンドロームを計算する。このシンドロームに基づいて、各エラーの値と位置を既知の方法で計算することが出来る。
【０００５】
あるシンドロームによって明らかにされるエラーの数が最大数である場合は、対応する修正をしない方が望ましいことがある。実際、修正しようとする符号が最大数を超えるエラーを含む場合は、横方向で約１０-5、縦方向では約１０-8の確率である。その時修正は誤りかもしれない。誤修正の確率を無視できる程度にするためには幾つかの修正パスが実施されるが、そこでは自身が最大数より小さいか又はそれに等しいしきい値よりも小さい数のエラーを明らかにするシンドロームだけが利用される。各パスに関しては、誤データが修正され横断的シンドロームが修正に影響を受ける。すなわち、ある行における修正によって影響を受けた縦方向のシンドローム及びある列における修正によって影響を受けた横方向のシンドロームが更新される。行又は列あたりのエラーの数は、このようにしてシンドロームが修正可能なエラーの最大数以下に減らすことが出来る。
【０００６】
修正を待っている間にフレームデータは記憶しておかなければならない。一般に二つのフレームを記憶する。すなわち、第一のフレームが受信されているとき第二のフレームが修正される。図１の例では、２×２７８５６メモリバイトを必要とする。このような容量を有するフレームメモリは、妥当な値段でエラー修正回路と合体することは出来ない。従って外付きでなければならない。更に、特別な注意を払うのでなければ、フレームの処理中に何回もメモリにアクセスしなければならないというリスクがあり、これには特別に速く高価なメモリを必要とする。
【０００７】
【発明が解決しようとする課題】
本発明の目的は、そのフレームメモリが遅い、すなわち、フレームデータの伝送速度だけに適用される可能性のある積符号のフレーム内のエラーを修正するシステムを提供することにある。
【０００８】
本発明の別の目的は、フレームメモリを修正されたフレームを処理するための回路の既存のメモリに組み込むことができるようなシステムを提供することである。
【０００９】
【課題を解決するための手段】
これら及びその他の目的は、次に述べるステップから成る方法により、本発明に従って実施される。つまり第一の側面に従って、遅いメモリに受信されている現在のフレームのデータに基づいて、現在のフレームの縦及び横のシンドロームを受信中に計算し、これらのシンドロームを速いメモリ領域に記憶し、次のフレームのデータが遅いメモリに受信されているので、速いメモリ領域に記憶されたシンドロームに基づいて現在のフレームのエラーの値と位置を見出すというステップである。
【００１０】
第一の側面とは無関係な第二の側面によれば、この方法は次のステップを含む。つまり、現在のフレームのデータは行によって受信されているので、横のパリティデータにより現在のフレームのデータの行を受信中に修正しようとし、疑わしい行の位置をマークし、遅いメモリに記憶されている修正されたかつ疑わしい行に基づいて現在のフレームの縦のシンドロームを受信中に計算し、これらの縦のシンドロームを速いメモリ領域に記憶し、次のフレームのデータが受信されているのであるから、速いメモリ領域に記憶された縦のシンドロームに基づいて現在のフレームのエラーの値を見出し、それらのエラーの位置は疑わしい行のマークによって区別される、という各ステップである。
【００１１】
本発明の一実施例によれば、この方法は見出した値と位置によって遅いメモリから抽出したデータを動作中に修正するステップを含む。
【００１２】
本発明の一実施例によれば、遅いメモリは利用回路によって管理され、各フレームのエラー値と位置は次のフレームのデータの間に利用回路に供給され、利用回路は、各フレームを記憶し、また、対応するエラーの値と位置を受信したとき修正するために適用される。
【００１３】
本発明の一実施例によれば、各フレームはそれぞれのパリティデータなしに記憶され、フレームのエラーの値と位置は、次のフレームのパリティデータを受信する間に利用回路に供給される。
【００１４】
本発明の一実施例によれば、縦のパリティデータは列の中に織り交ぜられ、シンドローム計算は次の各ステップを含む。すなわち、第一の補助レジスタを各列の最初のデータに対応する冪に累乗したガロア域の予め定めた要素に設定し、第二の補助レジスタを列の最初の縦のパリティデータに対応する冪に累乗したガロア域の上記要素に設定し、可変レジスタを１に設定し、縦のパリティデータの到来の場合を除き、列の新しいデータの到来毎に第一の補助レジスタをその内容とガロア域の前記要素の逆数との積で更新し、第二の補助レジスタを列の新しい縦のパリティデータの到来毎にその内容とガロア域の前記要素の逆数との積で更新し、各シンドローム係数に対して可変レジスタを、現在受信した列のデータが縦のパリティデータか否かに従って、その内容と第二又は第一のレジスタの内容との積で更新し、速いメモリ領域において各縦のシンドローム係数と可変レジスタの内容と現在受信したデータの積との和で更新する各ステップである。
【００１５】
本発明の一実施例によれば、データフレームはエラーをチェックする記号を含み、その各々は各係数がフレームの一連のデータのビットである多項式を生成多項式で割算した剰余に対応している。この方法は従って、発見された各エラーに関して第一のレジスタを生成多項式の係数に設定し、それをその内容の二乗で更新し、シフトレジスタを上記データ連におけるエラーの位置に設定して第一レジスタの更新と同期するようにクロックを置き、記号レジスタをエラーの値に設定してシフトレジスタの最下位ビットが１であるとき記号レジスタの内容と第一レジスタだけの内容との積で更新する各ステップを含む。これによって、記号レジスタにはシフトレジスタが完全にシフトしてしまったときは記号に及ぼすエラーの影響が含まれる。
【００１６】
本発明の一実施例によれば、この方法は、この第一の側面においては、次のフレームのデータが受信中であるから、速いメモリ領域において各シンドロームの係数を、そのシンドロームについて計算したエラーの値と位置で交換するステップを含む。
【００１７】
本発明の一実施例によれば、この方法は、その第二の側面においては、次のフレームのデータが受信中であるから、速いメモリ領域において各縦のシンドロームの係数を、マークした疑わしい行の位置とで計算したエラー決定多項式の係数と交換し、マークした疑わしい行の位置で計算したエラー位置探し多項式の係数を記憶し、エラー決定多項式とエラー位置探し多項式とでエラーの値を計算する各ステップを含む。
【００１８】
本発明の一実施例によれば、この方法は、その第二の側面においては、現在のフレームの縦のシンドロームを計算し、各疑わしい行のデータはキャンセルされ、次のフレームの縦のパリティデータの一行の受信の間、ある疑わしい行に対する計算されたエラー値をこの疑わしい行の代わりに遅いメモリに書込む、各ステップを含む。
【００１９】
前記及びその他の本発明の目的、特徴、及び利点は付図と関連して本発明の特定の実施例の以下に示す制限のない記述において詳細に論ぜられている。
【００２０】
【発明の実施の形態】
本発明の一側面は、図１のように積符号フレームにおけるエラーを見出すためには、すべてのフレームデータに基づいて一度だけ横及び縦のシンドロームを計算することで十分であることに注意することである。一度これらのシンドロームが計算されると、フレームデータは最早いくつかのパスが実行された場合でも、エラーの値と位置を計算する必要がない。
【００２１】
従って、この状態により、すべてのエラー値とその位置が独特のシンドロームに基づいてフレームの有効データを次々に修正するために最初に見出される。これらシンドロームは、フレームデータの受信の際その受信中に計算され、集積できるような容量を持ったメモリに記憶される。ある集積メモリに記憶されたシンドロームに基づいてエラー計算動作が行われ、その速さは、メモリとの接続が短時間で、動作周波数が本技術の最高周波数であるという事実により、特別に速い。その上、集積回路では、計算能力は内部メモリへのアクセス用バスのサイズを増すことにより増大することができる。すなわち、内部メモリの数は外部メモリに対するそれよりはずっと制限が少ない。
【００２２】
従って、メモリとの高い交換速度を要するプロセスは全てそのような速度に適用される集積メモリによって行われる。一方、外部フレームメモリはフレームデータの比較的ゆっくりした伝送速度に出会うだけである。更に、外部メモリはもはやパリティデータを記憶する必要がなくなる。
【００２３】
図２Ａは本発明によるエラー修正システムの第一の実施例の構成を線図的に示したものである。処理すべきフレームのデータ、すなわち有効データＤ、横のパリティデータＨＰ、及び縦のパリティデータＶＰは、同時にシンドローム計算回路１０及び外部フレームメモリ１２に到達する。メモリ１２は２つの領域Ｍ１とＭ２があり、それぞれ１つのフレームの有効データＤを記憶するように意図されている。
【００２４】
シンドローム計算回路１０は第一の内部メモリ領域１４と連動しており、そこには現在計算された横のシンドロームＨＳｎ及び縦のシンドロームＶＳｎが記憶される。第二の内部メモリ領域１５は、回路１０により前回のフレームｎ−１について計算された横及び縦のシンドロームＨＳｎ−１及びＶＳｎ−１を記憶している。エラー計算回路１７は、このメモリ領域１５と連動しており、フレームｎ−１のエラーの値と位置を第三の内部メモリ領域１９に供給する。第四の内部メモリ領域２０は、回路１７によりフレームｎ−２に対して前に計算されたエラーの値と位置を記憶している。エラー修正回路２１は、外部メモリ１２から伝送すべきフレームｎ−２の有効データＤを受信し、またメモリ領域２０の対応するエラーの値と位置を受信する。
【００２５】
現在のフレームｎを受信すると、そのフレームの有効データＤｎが外部メモリ１２の領域の１つ、例えば領域Ｍ１に書き込まれ、一方この領域Ｍ１に前回記憶されていた、後尾から２番目のフレームｎ−２に属するデータＤｎ−２は修正回路２１に伝送され修正される。外部メモリ１２の領域Ｍ２は前回フレームｎ−１の有効データＤｎ−１を記憶する。領域Ｍ１とＭ２は巡回的に使用される、すなわち次のフレームｎ＋１は領域Ｍ２に記憶され、そのときフレームｎ−１が伝送され修正を受ける。
【００２６】
現在のフレームｎのデータ（１バイト）を受信する毎に、計算回路１０は内部メモリ領域１４内の対応する横及び縦のシンドロームを更新する。１つのシンドロームは対応するコードにあるパリティデータと同じ数の係数を有している。図１の場合は、各横のシンドロームは１０バイトを含み、各縦のシンドロームは１６バイトを含んでいる。従って、横のシンドロームと縦のシンドロームの更新は、メモリ領域１４から２６バイトを読み、これらの２６バイトを更新後書きもどすことを意味する。このことは各データに対して５２バイトのアクセスが必要となる。すなわち、全フレームに対しては約２００万バイトのアクセスを要する訳である。受信中のシンドローム計算は、システム中で最も計算能力を要する仕事の１つである。この計算能力は、並行して処理されるバイト数、すなわちメモリ領域１４（及び１５）のバスの幅を増加させることによって適用できる。
【００２７】
メモリ領域１４及び１５は循環して使用される、すなわちフレームｎ＋１を受信すると、シンドローム計算回路１０はメモリ領域１５においてフレームｎ＋１のシンドロームに更新し、エラー計算回路１７はメモリ領域１４の横及び縦のシンドロームＨＳｎ及びＶＳｎを用いる。
【００２８】
エラーの値と位置を計算するのに、計算回路１７は例えば誤修正のリスクを避けるために２回のパスを行う。最初のパスでは、修正可能エラーの最大数よりも小さい数のエラーを明らかにするシンドロームを利用するだけである。図１の場合は、計算回路１７は、例えば多くとも４個のエラーを明らかにする横のシンドロームと、例えば多くとも７個のエラーを明らかにする縦のシンドロームを利用する。第二回目の通過では、残りのエラーが計算され得ることは極めて当り前である。
【００２９】
もっと特定して言えば、各シンドロームと各回のパスに関しては、エラー計算回路１７は次のような動作を行う。例えばフランス申請特許２，７２１，７７５号に記述されているように、エラーの値と位置を見出すため、シンドロームバイトがメモリ領域１５から読まれ、都合よく処理されるためにレジスタに記憶される。見出された値と位置はシンドローム処理の間、一時的に記憶される。
【００３０】
シンドローム処理の終わりに、これらのエラーが修正可能かどうか、また数は幾つあるかがわかる。見出されたエラーの数が最大数より小さければ、その値と位置は領域１９に記憶され、処理したばかりのシンドロームは領域１５で削除され、影響を受けた横断シンドロームは更新される。反対の場合には、行ったばかりの処理は無視され以下のシンドロームが考えられる。
【００３１】
リード・ソロモン符号化の場合は、見出された各エラーｅrc（ここでｒはエラーを含む行を示し、ｃはエラーを含む列を示す）に関しては、縦の横断シンドロームの各バイトＳv （図１の場合はｖ＝０〜１５）は次に示す関係に従って変更される。
【００３２】
Ｓv ＝Ｓv ＋αrvｅrc
但しαは、使用されたリード・ソロモン符号が定義されるそのガロア域の予め定められた非０及び非１の要素である。同様に、横の横断シンドロームの各バイトＳh （図１の場合はｈ＝０〜９）は次に示す関係に従って変更される。
【００３３】
Ｓh ＝Ｓh αchｅrc
横断シンドロームのこのような更新は、記憶されたフレームの位置（ｒ，ｃ）で誤データが修正されており、横又は縦のシンドロームが行ｒ又は列ｃに基づいて再計算されたとする状況に対応している。従って、本発明によれば、横断シンドロームは、対応する列又は行の各データから各シンドローム係数を再計算する代りに、シンドローム係数のそれぞれに単に乗算と加算の演算を行うだけで更新される。
【００３４】
このような計算は各エラーに対してメモリ領域１５のシンドロームバイトに有意の回数アクセスすることを意味している。しかし、エラーの数はフレーム内のデータの数に関して小さいから、必要な計算能力は実際上、受信中にシンドロームを計算するための回路１０のそれよりも小さい。
【００３５】
修正回路２１は、外部メモリ１２の領域Ｍ１に記憶されたフレームｎ−２のデータが伝送されているときに、これらを修正するためにこれらのデータを読みこむ。修正回路２１によって受信された各データについては、回路２１はエラーの位置がデータと関連しているかどうかを、メモリ領域２０でチェックする。この場合がそうだとすると、そのデータは対応するエラーによって修正される。伝送すべきデータに対応する順序でメモリ領域２０に記憶されているエラーの値と位置にアクセスするには、幾つかの方法が使用できる。
【００３６】
メモリ領域１９と２０は循環して使用される、すなわちフレームｎ＋１を受信すると、エラー計算回路１７はフレームｎのエラーの値と位置をメモリ領域２０に記憶させ、回路２１はメモリ領域１９に記憶されたエラーの値と位置に基づいてフレームｎ−１を修正する。
【００３７】
図２Ｂは図２Ａの構成の代替回路を示す。この構成にはエラーの値と位置を修正回路２１に正しい順序で提供し、一方では少ない数のハードウェアと計算能力しか要しないという利点がある。
【００３８】
図２Ｂの構成は、２つのシンドローム領域１４と１５に加えて、追加シンドローム領域１６を含む。図２Ａのメモリ領域１９と２０は、３つのシンドローム領域１４〜１６の中の２つに組込まれている。更に、数個のフラグが各シンドロームと関連している。すなわち、関連シンドロームはエラーの修正ができないことを示す「エラーの多過ぎ」フラグが少なくとも１個と、関連シンドロームがエラーの修正を許容したことを示す「エラー修正済み」フラグ１個とがある。好ましくは、シンドロームがゼロであることを示す「エラー無し」フラグが提供されることである。
【００３９】
現在のフレームｎのデータを受信する毎に、計算回路１０はメモリ領域１４の対応する横及び縦のシンドロームを更新する。これらのシンドロームは図２Ａに関して述べたように計算される。
【００４０】
フレームｎのデータの受信の初めに、メモリ領域１５は前回のフレームｎ−１について計算された横及び縦のシンドロームを持っている。フレームｎを受信している間に、エラー計算回路１７は領域１５にあるシンドロームを次々に処理する。幾つかの場合がそのとき生じる。
【００４１】
・シンドロームがゼロである。従ってエラーが無い。「エラー無し」フラグが立つ。
【００４２】
・シンドロームが多過ぎるエラーを示す。それはエラーの数が修正可能のエラーの数よりも大きいからか、エラーの数が修正可能なエラーの最大数に等しいかだからである。シンドロームは従ってそのまま放置され、その「エラーの多過ぎ」フラグが立つ。
【００４３】
・エラーの数が受入れられる。従って計算回路１７は紋切り形にエラーの値と位置を決め、横断シンドロームを更新する。発見されたエラーの値と位置はシンドロームの場所に記憶され、シンドロームの「エラー修正済み」フラグが立つ。エラーの値と位置はシンドローム係数の場所に記憶されることが好ましい。
【００４４】
メモリ領域１６はこのようにしてフレームｎ−２に対して見出されたエラーの位置と値を記憶し、これは回路２１に伝送されて修正される。
【００４５】
回路２１が伝送した各データの階級は領域１６の対応する横及び縦のシンドロームのアドレスを供給し、そのシンドロームは現在伝送されたデータの行と列に見出されたエラーの値と位置に交換されている。従って、伝送されたデータを修正するには、対応する横及び縦のシンドロームの場所に記憶されたエラーの位置がデータの階級に対応するまで、記憶されたエラーを走査することで十分である。図１の例では、伝送されたデータに対応するエラーが見つかる前に、少くとも５つの横方向エラーと８つの縦方向エラーが走査される。もちろん、対応するエラー位置が見つからない場合は、そのデータはエラーを有しない。
【００４６】
実際には、伝送されたデータに対応する横及び縦のシンドロームのフラグは次のように利用される。
【００４７】
・「エラー修正済み」フラグは、２つのシンドロームの各々に対して立つ：横及び縦方向のエラーは全部走査される。
【００４８】
・「エラー無し」フラグは２つのシンドロームのそれぞれに対して立つ：そのデータはエラーが無い。
【００４９】
・「エラー多過ぎ」フラグは２つのシンドロームの各々に対して立つ：そのデータは修正出来ないエラーを持っている。
・「エラー多過ぎ」フラグはシンドロームの中の１つに対して立ち、「エラー修正済み」フラグがもう１つのシンドロームに対して立つ：そのデータは修正可能なエラーを持っているかもしれず、「エラー修正済み」フラグが立っているシンドロームと関連しているエラーだけが走査される。
【００５０】
従来のエラー計算法はデータ伝送順序でエラーを見出すことができるようにする。従って、行によってデータを伝送することにより、各伝送データに対して横方向エラー１つだけを走査するだけで十分であることがある。すなわち、単一の横方向エラーをチェックに関して予め選択し、対応するデータの到来を、チェックに対する次の横方向エラーを予め選択する前に待受ける。このためには例えば、エラーレジスタ２３を設ける。この中には、ある行の最初のデータが伝送されるや否や最初のエラーの値と位置が記憶される。各伝送されたデータに関しては、それがレジスタ２３に含まれているエラーと関連しているかどうかをチェックする。関連があれば、伝送されたデータが修正され、レジスタ２３の内容が次の横方向エラーと交換される。
【００５１】
メモリ領域１４〜１６は循還して使用される。すなわち、フレームｎ＋１を受信すると、シンドローム計算回路１０は領域１５のシンドロームを更新し、エラー計算回路１７はエラーを発見、記憶するのに領域１６を使用し、修正回路２１が領域１４を使用する。
【００５２】
積符号フレームが使用される大抵の場合は、修正されたフレームを利用する回路は、マイクロコントローラ又はマイクロプロセッサのようなプログラマブルな要素と関連メモリを持っている。
【００５３】
図３は修正に先立ってフレームのデータを記憶するために利用する回路のメモリを使用することができる、本発明の一実施例を示す。換言すれば、図２Ａの外部メモリ１６は利用回路のメモリに組込まれている。このような利用回路は、例えばＭＰＥＧデコーダ又はマイクロコンピュータであって、そのメモリが、エラー修正に先立ちフレームを記憶するため十分な空き領域を持っているか、低価格で増設できるものであることが多い。
【００５４】
図３のシステムは、既に図２Ａに関して述べたように、シンドローム計算回路１０、集積メモリ領域１４と１５、及びエラー計算回路１７を包含している。ただし、図３のシステムには外部メモリ１２も、修正回路２１も含まれていない。エラーの値と位置を記憶するのに使われるメモリ領域１９及び２０はバッファメモリ３０と置き換えられている。データフレームを利用する回路には、プロセッサ３２と関連するメモリ３４が含まれている。
【００５５】
現在のフレームｎを受信すると、有効データＤｎがスイッチ又はマルチプレクサ３６を経由して直接プロセッサ３２に伝送される。その間に、図２Ａのようにシンドローム計算回路１０がメモリ領域１４のフレームｎの横及び縦のシンドロームを更新し、エラー計算回路１７が、メモリ領域１５に記憶されたシンドロームに基づいて前回のフレームｎ−１のエラーの値と位置を見出す。エラーの値と位置は、スイッチ３６を経てプロセッサ３２に伝送されるまでバッファメモリ３０に一時的に記憶される。
【００５６】
スイッチ３６は、現在のフレームｎの横のパリティデータＨＰと縦のパリティデータＶＰが到達している間、バッファメモリ３０の出力に切替えられる。従って、プロセッサ３２は現在のフレームの有効データＤｎを受信し、これらのデータの中前回のフレームｎ−１のエラーの値と位置を受信する。あるフレームのパリティデータが到来する間の時間間隔の和は一般に、前回のフレームのエラーの値と位置をすべて伝送するのに十分である。
【００５７】
プロセッサ３２は、そのメモリ３４に現在のフレームｎと前回のフレームｎ−１を記憶させ、現在のフレームｎのデータの中で受信されたエラーの値と位置によって、前回のフレームｎ−１のデータを修正するようにプログラムされている。
【００５８】
一般的な用途では、プロセッサ３２はＭＰＥＧデコーダのものでも、マイクロコンピュータのものでもよく、またディジタルビデオディスク（ＤＶＤ）におけるいわゆる「弾性のある」バッファを制御するものでもよい。
【００５９】
図４に示すように幾つかの用途では、縦のパリティデータＶＰの行は有効データＤの行とからみ合せてもよい。この事は特にディジタルビデオディスクＤＶＤに記憶されたデータに関して起る。従って、フレームの各１３番目のデータ行が縦のパリティデータ行となる。縦のパリティデータＶＰの行の階級は０から１５の範囲であり、有効データＤの行の階級は１６から２０７の範囲にまたがる。図４に示すように、行１９５と１９６の間に行１５が来、行１８３と１８４の間に行１４が来る等々となる。
【００６０】
図５は図４の場合の縦のシンドロームを受信中に計算する回路を線図的に示す。あるシンドロームのｉ番目の係数は次のように表わされる。
【００６１】
Ｓi ＝ａ207 α207i＋ａ206 α206i＋…＋ａr αri＋…＋ａ0 
ただしａr はシンドロームが計算される列における階級ｒのデータであり、αはエラー修正コードが定義されているがロア域の予め定められた非０、非１の要素である。図５の回路は、各シンドローム係数Ｓi をＳi ＋ａr αriで置換することによって、各係数Ｓi を更新するよう考えてある。
【００６２】
列のデータａr は、レジスタ５２に記憶されたαの十分な冪を各データと乗算する。乗算器５０に次から次から一般にｒの減小順序で到来する。加算器５４は乗算器５０の出力と、メモリ領域１４で変更すべきシンドローム係数の各々とを受ける。更新されたシンドローム係数は加算器５４によってメモリ領域１４に供給され、そこで前回の係数に重ね書きされる。乗算器５６は、レジスタ５２の内容を、その内容とマルチプレクサ６２が選択した２つのレジスタ５８と６０の何れかの内容との積で更新する。乗算器６４はレジスタ５８の内容を、その内容と定数α-1との積で更新する。乗算器６６はレジスタ６０に関して同じ動作を行う。
【００６３】
ある列の最初のデータａ207 が到来すると、レジスタ５２は１に設定され、レジスタ５８はα207 に設定され、レジスタ６０はα15に設定される。マルチプレクサ６２はレジスタ５８、すなわちα207 の値に切り替る。
【００６４】
列の新しいデータを受信する毎に、レジスタ５８が使用可能とされる。それを信号１／１で表現する。従って、列のデータａr を受信すると、ｒが減小して行く場合は、レジスタ５８はａr の値を有する。列の各１３番目のデータに対して、この１３番目のデータの受信時間の間に、同時に使用可能となるレジスタ６０にマルチプレクサ６２が切替えられる。マルチプレクサ６２の切替え及びレジスタ６０が使用可能になることが、信号１／１３によって示されている。従って、列の現在のデータに対応し、織り交ぜを考慮に入れて、マルチプレクサ６２は常に適切なαr 項を供給する。
【００６５】
列の各データａr については、レジスタ５２が１に設定され、従って１６回使用可能となる。すなわち、レジスタ５２は、１６個のシンドロームＳi を更新するのに必要な、０から１５まで変化するｉに関してαri項を順次内包する。１６個の項αriはデータａr を乗算した後加算器５４に提供され、加算器５４は更に更新のためメモリ領域１４に記憶されている１６個のシンドローム係数を受信する。
【００６６】
ある列の初めに、乗算器５０の出力に０という値を加え、先行の列に対して計算された１６個のシンドローム係数を加えないように、加算器５４は信号ＩＮＩＴによって設定される。
【００６７】
織り交ぜを考慮に入れるよう設けられている要素６０，６２及び６６の無い、図５におけると同じ回路を横のシンドロームを計算するのに使ってもよい。そのときレジスタ５８はα181 に設定される。各シンドローム係数Ｓi をαi Ｓi ＋ａc という値で更新する、多項式カウンタ形式のもっと簡単な回路がしかしより好ましいであろう。但しｃはシンドロームが計算されている行で受信されるデータの（減小してゆく）ランク（順序）である。
【００６８】
要素６０，６２，６６の無い図５の形式の回路は、発見されたエラーによってシンドロームを更新するのにも使用してよい。これらのエラーはデータ
【００６９】
【外１】
0003959788.tif 000002
【００７０】
の代りに乗算器５０に供給される。ｊがシンドロームを更新すべき行又は列におけるエラーの（減小してゆく）ランクであるとしたとき、各エラーｅj についてレジスタ５８は先づ多数回「オフロード」すなわちレジスタ５２をメモリ領域１４にアクセスさせない状態にされ、その結果レジスタ５８はエラーに対応する値αj に到達する。オフロードを可能にする回数は１つの列に対しては２０７ｊであり、１つの行に対しては１８１ｊである。
【００７１】
図４に示すとおりディジタルビデオディスクの場合は、１２個の有効データ行の各スライスは３２ビットの記号又はスライス内の全てのビットについて最初に計算されたＣＲＣ（巡回冗長検査）で終る。このＣＲＣはスライスエラーが効果的に修正されたかどうかのチェックに用いられる。
【００７２】
各ＣＲＣは多項式を次数３２の生成多項式で割ったときの剰余に対応し、このとき多項式の係数は関連スライスのビットである。ディジタルビデオディスクの場合は、生成多項式はｘ32＋ｘ31＋ｘ4 ＋１である。従って通常は、一度データが修正されてしまと、ＣＲＣはそれが有効に最初のＣＲＣに対応するかどうかチェックするため、再び計算される。
【００７３】
ＣＲＣのチェック計算は、例えば図２Ａの修正回路２１の後で、修正されたスライスの連続ビットを一次フィードバックシフトレジスタ（ＬＦＳＲ）に供給することによって行われる。ただし、図３の実施例においては、修正されたスライスは修正システムでは得られない。修正されなかったスライス及びエラーの位置と値だけが得られる。
【００７４】
図６は、エラーと修正されなかったスライスの記号に基づいて修正されたスライスのＣＲＣを発見することができる回路の例を示す。
【００７５】
図６の回路は、スライス中のある誤ビットの位置の２乗の和における分解に基づいている。スライス内の位置ｘにある１つのビットがエラーｅを有する場合は、このエラーのＣＲＣに及ぼす影響はｅｇx と表わされる。但しｇは生成多項式である。図６の回路は特にこの影響を迅速に計算することを可能にし、僅かなシリコン表面積しか使用しない。
【００７６】
３２ビットのレジスタ７０が、そのスライスのＣＲＣに与える影響を計算すべきであるエラーｅでロードされる。そのエラーがバイトで見出され記号が３２ビットに亘って計算されているとき、スライス内の階級ｘの各エラーバイトが３２ビットのエラー語ｅに従ってフォーマットされる。このｅの重みｘのモジュロ４のバイトはエラーバイトを含み、その他のバイトはゼロとなっている語中にある。このエラー語ｅがレジスタ７０にロードされる。シフトレジスタ７２では、スライス内のエラー語の階級ｉがロードされる。但しｉはｉ＝ｘ／４である。従って階級ｉは０から５１４まで変り（ＣＲＣ語はスライスから排除されている）、１０ビットのシフトレジスタ７２を必要とする。シフトレジスタ７２の最下位ビットＬＳＢはレジスタ７０の更新を可能とする。レジスタ７０を更新するため、３２ビットの乗算器７４はこのレジスタ７０の内容及びレジスタ７６の内容を受けとる。レジスタ７６は初めに生成多項式ｇの諸係数を持っている。２乗回路７８はレジスタ７６の内容を受けてその内容をその２乗に置換える。レジスタ７６と７２は同じクロック信号ＣＫ１で動作するようになっている。
【００７７】
エラーの影響を見出すために、シフトレジスタ７２の内容を完全にシフトするようにクロック信号ＣＫ１は１０回表明を行う。するとレジスタ７６は生成多項式の１０２４乗を含むことになる。レジスタ７０はシフトレジスタ７２の１におけるビットに対してのみ動作可能となっており、ｇi を乗算したエラーを持っている。
【００７８】
次に示す表は、ｉ＝１４５の例の場合に、レジスタ７２，７６及び７０の引続いてゆく内容を示している。
【００７９】
【表１】
0003959788.tif 000003
【００８０】
このようにしてレジスタ７０で得られたエラーの各影響は、各データスライスに対してレジスタ８０内で蓄積される。普通のＣＲＣ計算回路８２は、前回スライスの非修正データＤｎ−１単位で計算された記号ＣＲＣｎ−１を一時的に記憶し、一方では現在のスライスの非修正データＤｎ単位で記号ＣＲＣｎを計算する。記号ＣＲＣｎ−１をレジスタ８０に含まれている記号に加えることによって、調整したＣＲＣが得られる。この調整後のＣＲＣを元のＣＲＣと比較する。
【００８１】
２乗するということはガロア域での特に簡単な演算である。従って２乗回路７８は僅かなシリコン表面の場所を占有するだけである。ガロア域で２つの３２ビット数の乗算は、１サイクル中に遂行される必要がある場合は比較的複雑である。３２サイクルで乗算を完了するもののその構造が特に簡単である、直列形式の乗算器７４を使用することが好ましいであろう。従って、各エラーの記号に及ぼす影響は１０×３２＝３２０サイクルで得られるが、少数のエラーという点によってシンドローム計算回路１０よりも低い計算能力にしか達しない。
【００８２】
今述べてきた本発明によるシステムでは、２回の横方向及び縦方向の経路通過によって、約２％のエラー比を有する図１の形式のフレームの修正ができる。ディジタルビデオディスクのようなある用途では、最大エラー比は顕著に低い。結果として、上記のエラー修正システムはそのような用途に対しては大き過ぎるかもしれない。
【００８３】
図７は、エラー比が０．８％の図１の形式のフレームの修正ができる。本発明による修正システムの一実施例を示す。このシステムは、シンドローム計算回路１０′、外部フレームメモリ１２、内部メモリ領域１４′〜１６′、エラー計算回路１７′及び修正回路２１′を有する点では、図２Ｂのものと類似している。
【００８４】
修正すべき現在フレームｎのデータは、横方向のパリティデータＨＰによってフレームの行を受信中に修正する横の修正回路９０に到達する。回路９０は「単次元の」コードを修正する普通の形式の修正回路である。ただし、前述したように、ある行が最大数のエラー（図１では５）又はそれ以上のエラーを有している場合は、回路９０は何ら修正を行わない。この場合は、修正回路９０は、行の階級ＶＰＯＳをメモリ９２に書き込む。行全体は疑わしいと考えられる。２個の相似の追加メモリ９３と９４は、前回の２個のフレームｎ−１及びｎ−２の疑わしい行の位置を記憶している。
【００８５】
シンドローム計算回路１０′は、修正回路９０が供給する横方向の修正されたデータに基づき、受信中に縦のシンドロームＶＳを計算だけをする。縦のシンドロームは、前述した方法で、循還して使用されるメモリ領域１４′〜１６′の中の１つ（ここでは１４′）の以後引続く更新によって計算される。
【００８６】
横方向の修正回路９０によって修正されない疑わしい行をマーキングすることは、列内の可能性のあるエラーの位置を与え、各縦のシンドロームはエラーの値をその関連する列に見出すことを可能にする。従って、図１の例では、各縦のシンドロームは多くとも１６個のエラー値を見出し得るようにする。横方向の修正回路９０が１６個を超える未修正行をマークした場合は、エラーは修正可能ではなくなる。
【００８７】
疑わしい行の位置を知ることは、縦方向のエラー修正手順を著しく簡単にする。
【００８８】
リード・ソロモン符号化においては、エラーとシンドロームは次の関係で結合されている。
【００８９】
λ（ｘ）Ｓ（ｘ）＝Ω（ｘ）
ただしλ（ｘ）はいわゆるエラー探し多項式、Ω（ｘ）はエラー値を見出し可能にする多項式である。多項式λ（ｘ）は１＋ｘαp の各項の積で形成されており、ここにαがガロア域の非０非１要素であり、ｐは列中のエラーの位置である。エラーの値と位置が未知のときは、２つの多項式λとΩをいわゆるユークリッド算法を実行して決定しなければならない。これは多数回の計算を示している。反対に、位置が既知の場合は、多項式λは直接知られ、多項式Ωは上の関係式から直接得られる。
【００９０】
エラーの値は次のように表わされる。
【００９１】
ｅp ＝｛Ω（α-p）｝／｛α-p・λ‘（α-p）｝          （１）
ここでλ‘（ｘ）は多項式λの誘導多項式である。多項式ｘλ‘（ｘ）は多項式λ（ｘ）の全奇数冪項から成立っている。
【００９２】
あるフレームｎの縦シンドローム領域１４′で計算されるときは、多項式Ω及びλを計算する回路９６はフレームｎ−１と関連している領域１５′を用い、一方エラー計算回路１７′はフレームｎ−２と関連している領域１６′を用いる。
【００９３】
領域１４′〜１６′のそれぞれには、フレームと関連している多項式λの係数を受信するための付加領域がある。この多項式λはフレームの全ての列に共通である。それは可能性のあるエラーの位置は各列の中で同じであるからである。メモリ領域１４′においては、スライスｎの多項式λは未だ計算されていない。領域１５′では、スライスｎ−１と関連する多項式λが計算されている。最後に領域１６′においては、スライスｎ−２と関連する多項式λはエラー計算回路１７′によって利用されてエラー値を計算する。
【００９４】
メモリ領域１５′においては、計算回路９６は各縦のシンドロームを対応する多項式Ωと置き換える。この目的のため、回路９６はメモリから各エラーの位置ｐを読み出し、以下に示す関係式に従う逐次更新によって、各列と関連している多項式Ωを計算する。
【００９５】
Ω（ｘ）＝（１＋ｘαp ）Ω（ｘ）
ただしｐは逐次に全てのエラー位置をとり、Ω（ｘ）は列と関連しているシンドロームＳ（ｘ）に初期には等しい。同様に、多項式λは次に示す関係式に従って更新される。
【００９６】
λ（ｘ）＝（１＋ｘαp ）λ（ｘ）
ただしλ（ｘ）は初期は１（１の多項式）に等しい。
【００９７】
もっと具体的に言えば、各係数Ωj は次の関係式に従って修正される。
【００９８】
Ωj ＝Ωj ＋αp Ωj-1 
ここで、図１の例では、ｊは各エラー位置ｐに対して１５から０まで変化する。多項式λの係数は同じ関係に従って更新される。
【００９９】
エラー計算回路１７′は、各列及び領域１６′に記憶されている共通多項式λとそれぞれ関連している多項式Ωを利用して、フレームｎ−２の疑わしい行の逐次エラー値ｅp を計算する。具体的には、上記関係式（１）の比の分子Ｎは次の関係式に従って更新されるレジスタに記憶される。
【０１００】
Ｎp ＝α-pＮp ＋Ωj 
ただしｊはメモリ９４にて見出された各エラー位置ｐに対して１５から０まで変化する。ｐをメモリ９４内の位置の記憶の順番で変えることにより、エラー値ｅp は行の伝送順序で得ることができる。
【０１０１】
上記関係式（１）の分母は、多項式λに基づいて同様に更新される。但し指標ｊが奇数値によって１５から１まで変る点を除く。従って、分母は普通の方法で逆数化され、分子と乗算される。
【０１０２】
修正回路２１′は、メモリ領域９４から、疑わしい行の位置ｐを受信する。位置ｐが伝送されつつある行に対応しているときは、計算回路１７′によって供給されるエラー値ｅp はそれぞれ、修正回路２１′によって伝送されるデータに加えられる。
【０１０３】
図７の実施例の一代替例によれば、十分な計算能力が得られるならば、第三のメモリ領域１６′と修正回路２１′は省略してもよい。このときエラー計算回路１７′は、回路９６が多項式Ω及びλを領域１５′に書込み終った後、メモリ領域１５′上で動作する。疑わしい行中の全てのデータは、それらが明白に正しくても、ゼロと仮定され、縦のシンドロームがこれを考慮に入れて計算される。その結果、回路１７′で見出されたエラー値は直接疑わしい行の正しいデータとなる。フレームｎの第一の縦方向のパリティ行が到達する前に、回路９６は全ての多項式Ωを計算し終り、回路１７′は第一の疑わしい行のエラー値を全て計算し終わっていなければならない。実際、メモリ１２の領域Ｍ１に書き込まれていない、各縦のパリティ行の受信中は、修正回路１７′はフレームｎ−１の疑わしい列の代りに、領域Ｍ２に疑わしい行のエラー値を書込む。疑わしい行は、従って、メモリ１２のアクセス速度を増加することが必要でない状態で、メモリ１２内で修正される。
【０１０４】
もちろん、図７の実施例及びその代替例は、図３の実施例に関して、修正を待っているフレームが送りこまれるメモリ３４と関連しているプロセッサ３２と一緒に使用してもよい。
【０１０５】
本発明は、当該技術に通じている者にとっては容易に生じるような、種々の変更、修正、及び改善を有することは容易にできる。そのような変更、修正、及び改善はこの開示の一部であると考えられており、本発明の精神及び適用範囲の中にあると考えられる。従って、今までの記述は例によって行っただけであり、限定をしようと意図しているものではない。本発明は、特許請求の範囲及びそれに等価な範囲に定められていることのみに限定される。
【図面の簡単な説明】
【図１】前述したとおり、エラー修正符号から成るフレームの例である。
【図２Ａ】本発明によるエラー修正システムの第一の実施例の単純化した構成を示す。
【図２Ｂ】図２Ａの有利な代替実施例を示す。
【図３】本発明によるエラー修正システムの第二の実施例の単純化した構成を示す。
【図４】縦のパリティデータ行が有効なデータ行と織り交ぜられているようなデータフレームを示す。
【図５】図４に示す形式のフレームに対するシンドロームを動作中に計算する回路の実施例を線図的に表わしたものである。
【図６】図３の実施例の適用においてエラーの有無をチェックする記号に対するエラーの影響を計算する回路の実施例を示す。
【図７】本発明によるエラー修正システムの第三の実施例の単純化した構成を示す。
【図１】
0003959788.tif 000004
【図２Ａ】
0003959788.tif 000005
【図２Ｂ】
0003959788.tif 000006
【図３】
0003959788.tif 000007
【図４】
0003959788.tif 000008
【図５】
0003959788.tif 000009
【図６】
0003959788.tif 000010
【図７】
0003959788.tif 000011