JPH10117148A - 縦及び横のパリティコードを有するデータフレームにおけるエラーを修正するシステム - Google Patents

縦及び横のパリティコードを有するデータフレームにおけるエラーを修正するシステム

Info

Publication number
JPH10117148A
JPH10117148A JP9211256A JP21125697A JPH10117148A JP H10117148 A JPH10117148 A JP H10117148A JP 9211256 A JP9211256 A JP 9211256A JP 21125697 A JP21125697 A JP 21125697A JP H10117148 A JPH10117148 A JP H10117148A
Authority
JP
Japan
Prior art keywords
data
frame
error
syndrome
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP9211256A
Other languages
English (en)
Other versions
JP3959788B2 (ja
Inventor
Jacques Meyer
メイヤー ジャック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SGS THOMSON MICROELECTRONICS
STMicroelectronics SA
Original Assignee
SGS THOMSON MICROELECTRONICS
SGS Thomson Microelectronics SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SGS THOMSON MICROELECTRONICS, SGS Thomson Microelectronics SA filed Critical SGS THOMSON MICROELECTRONICS
Publication of JPH10117148A publication Critical patent/JPH10117148A/ja
Application granted granted Critical
Publication of JP3959788B2 publication Critical patent/JP3959788B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • H03M13/2915Product codes with an error detection code in one dimension
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2918Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes with error correction codes in three or more dimensions, e.g. 3-dimensional product code where the bits are arranged in a cube
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • H03M13/293Decoding strategies with erasure setting
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

(57)【要約】 【課題】 行に関して計算された横のシンドロームに基
づいて、フレームの各行におけるエラーの修正を可能に
する横方向のパリティデータ、及び列に関して計算され
た縦のシンドロームに基づいて、フレームの各列におけ
るエラーの修正を可能にする縦方向のパリティデータを
含む、あるデータフレーム内のエラーを修正する方法に
関する。 【解決手段】 本方法は、遅いメモリに受信している現
在のフレームのデータに関する、現在フレームの横及び
縦のシンドロームを受信中に計算し、これらのシンドロ
ームを速いメモリ領域に記憶させ、次のフレームのデー
タを遅いメモリに受信しながら、速いメモリ領域に記憶
させたシンドロームに基づいて現在のフレームのエラー
の値と位置を見出すという各ステップを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の行及び列に
ついて、フレーム内のエラーを修正するための縦及び横
のパリティデータを含む、データフレームにおけるエラ
ーを修正するシステムに関するものである。フレームの
データ行及び列は、いわゆる積符号を構成する。
【0002】
【従来の技術】図1は、各182バイトの行と各208
バイトの列とを有するフレームの例を示している。各行
の10バイトは横のパリティデータHPを構成し、各列
の16バイトは縦のパリティデータVPを構成してい
る。残りの172×192バイトのフレームが有効デー
タDを含むことになる。
【0003】対応するパリティデータを有する各行又は
列は、例えばリード・ソロモン符号を構成する。2k個
のパリティデータのリード・ソロモン符号では、この分
野の技術ではよく知られている方法によって、2k個の
エラー表示が見出されるが、これは大抵の場合k個のエ
ラー値とk個の対応する符号内の位置から成る。図1の
ように積符号の場合は、各リード・ソロモン符号はもっ
と柔軟性のある方法で使用することができる。すなわ
ち、2n+m≦2kの場合、2k個のパリティ値によっ
て未知の値と位置を有するn個のエラーと、既知の値と
未知の位置を有するm個のエラーとが見出される。
【0004】一つの行又は列に対する一つの符号におけ
るエラー修正を行うには、パリティデータを含むすべて
の符号データに基づいて一つのシンドロームを計算す
る。このシンドロームに基づいて、各エラーの値と位置
を既知の方法で計算することが出来る。
【0005】あるシンドロームによって明らかにされる
エラーの数が最大数である場合は、対応する修正をしな
い方が望ましいことがある。実際、修正しようとする符
号が最大数を超えるエラーを含む場合は、横方向で約1
-5、縦方向では約10-8の確率である。その時修正は
誤りかもしれない。誤修正の確率を無視できる程度にす
るためには幾つかの修正パスが実施されるが、そこでは
自身が最大数より小さいか又はそれに等しいしきい値よ
りも小さい数のエラーを明らかにするシンドロームだけ
が利用される。各パスに関しては、誤データが修正され
横断的シンドロームが修正に影響を受ける。すなわち、
ある行における修正によって影響を受けた縦方向のシン
ドローム及びある列における修正によって影響を受けた
横方向のシンドロームが更新される。行又は列あたりの
エラーの数は、このようにしてシンドロームが修正可能
なエラーの最大数以下に減らすことが出来る。
【0006】修正を待っている間にフレームデータは記
憶しておかなければならない。一般に二つのフレームを
記憶する。すなわち、第一のフレームが受信されている
とき第二のフレームが修正される。図1の例では、2×
27856メモリバイトを必要とする。このような容量
を有するフレームメモリは、妥当な値段でエラー修正回
路と合体することは出来ない。従って外付きでなければ
ならない。更に、特別な注意を払うのでなければ、フレ
ームの処理中に何回もメモリにアクセスしなければなら
ないというリスクがあり、これには特別に速く高価なメ
モリを必要とする。
【0007】
【発明が解決しようとする課題】本発明の目的は、その
フレームメモリが遅い、すなわち、フレームデータの伝
送速度だけに適用される可能性のある積符号のフレーム
内のエラーを修正するシステムを提供することにある。
【0008】本発明の別の目的は、フレームメモリを修
正されたフレームを処理するための回路の既存のメモリ
に組み込むことができるようなシステムを提供すること
である。
【0009】
【課題を解決するための手段】これら及びその他の目的
は、次に述べるステップから成る方法により、本発明に
従って実施される。つまり第一の側面に従って、遅いメ
モリに受信されている現在のフレームのデータに基づい
て、現在のフレームの縦及び横のシンドロームを受信中
に計算し、これらのシンドロームを速いメモリ領域に記
憶し、次のフレームのデータが遅いメモリに受信されて
いるので、速いメモリ領域に記憶されたシンドロームに
基づいて現在のフレームのエラーの値と位置を見出すと
いうステップである。
【0010】第一の側面とは無関係な第二の側面によれ
ば、この方法は次のステップを含む。つまり、現在のフ
レームのデータは行によって受信されているので、横の
パリティデータにより現在のフレームのデータの行を受
信中に修正しようとし、疑わしい行の位置をマークし、
遅いメモリに記憶されている修正されたかつ疑わしい行
に基づいて現在のフレームの縦のシンドロームを受信中
に計算し、これらの縦のシンドロームを速いメモリ領域
に記憶し、次のフレームのデータが受信されているので
あるから、速いメモリ領域に記憶された縦のシンドロー
ムに基づいて現在のフレームのエラーの値を見出し、そ
れらのエラーの位置は疑わしい行のマークによって区別
される、という各ステップである。
【0011】本発明の一実施例によれば、この方法は見
出した値と位置によって遅いメモリから抽出したデータ
を動作中に修正するステップを含む。
【0012】本発明の一実施例によれば、遅いメモリは
利用回路によって管理され、各フレームのエラー値と位
置は次のフレームのデータの間に利用回路に供給され、
利用回路は、各フレームを記憶し、また、対応するエラ
ーの値と位置を受信したとき修正するために適用され
る。
【0013】本発明の一実施例によれば、各フレームは
それぞれのパリティデータなしに記憶され、フレームの
エラーの値と位置は、次のフレームのパリティデータを
受信する間に利用回路に供給される。
【0014】本発明の一実施例によれば、縦のパリティ
データは列の中に織り交ぜられ、シンドローム計算は次
の各ステップを含む。すなわち、第一の補助レジスタを
各列の最初のデータに対応する冪に累乗したガロア域の
予め定めた要素に設定し、第二の補助レジスタを列の最
初の縦のパリティデータに対応する冪に累乗したガロア
域の上記要素に設定し、可変レジスタを1に設定し、縦
のパリティデータの到来の場合を除き、列の新しいデー
タの到来毎に第一の補助レジスタをその内容とガロア域
の前記要素の逆数との積で更新し、第二の補助レジスタ
を列の新しい縦のパリティデータの到来毎にその内容と
ガロア域の前記要素の逆数との積で更新し、各シンドロ
ーム係数に対して可変レジスタを、現在受信した列のデ
ータが縦のパリティデータか否かに従って、その内容と
第二又は第一のレジスタの内容との積で更新し、速いメ
モリ領域において各縦のシンドローム係数と可変レジス
タの内容と現在受信したデータの積との和で更新する各
ステップである。
【0015】本発明の一実施例によれば、データフレー
ムはエラーをチェックする記号を含み、その各々は各係
数がフレームの一連のデータのビットである多項式を生
成多項式で割算した剰余に対応している。この方法は従
って、発見された各エラーに関して第一のレジスタを生
成多項式の係数に設定し、それをその内容の二乗で更新
し、シフトレジスタを上記データ連におけるエラーの位
置に設定して第一レジスタの更新と同期するようにクロ
ックを置き、記号レジスタをエラーの値に設定してシフ
トレジスタの最下位ビットが1であるとき記号レジスタ
の内容と第一レジスタだけの内容との積で更新する各ス
テップを含む。これによって、記号レジスタにはシフト
レジスタが完全にシフトしてしまったときは記号に及ぼ
すエラーの影響が含まれる。
【0016】本発明の一実施例によれば、この方法は、
この第一の側面においては、次のフレームのデータが受
信中であるから、速いメモリ領域において各シンドロー
ムの係数を、そのシンドロームについて計算したエラー
の値と位置で交換するステップを含む。
【0017】本発明の一実施例によれば、この方法は、
その第二の側面においては、次のフレームのデータが受
信中であるから、速いメモリ領域において各縦のシンド
ロームの係数を、マークした疑わしい行の位置とで計算
したエラー決定多項式の係数と交換し、マークした疑わ
しい行の位置で計算したエラー位置探し多項式の係数を
記憶し、エラー決定多項式とエラー位置探し多項式とで
エラーの値を計算する各ステップを含む。
【0018】本発明の一実施例によれば、この方法は、
その第二の側面においては、現在のフレームの縦のシン
ドロームを計算し、各疑わしい行のデータはキャンセル
され、次のフレームの縦のパリティデータの一行の受信
の間、ある疑わしい行に対する計算されたエラー値をこ
の疑わしい行の代わりに遅いメモリに書込む、各ステッ
プを含む。
【0019】前記及びその他の本発明の目的、特徴、及
び利点は付図と関連して本発明の特定の実施例の以下に
示す制限のない記述において詳細に論ぜられている。
【0020】
【発明の実施の形態】本発明の一側面は、図1のように
積符号フレームにおけるエラーを見出すためには、すべ
てのフレームデータに基づいて一度だけ横及び縦のシン
ドロームを計算することで十分であることに注意するこ
とである。一度これらのシンドロームが計算されると、
フレームデータは最早いくつかのパスが実行された場合
でも、エラーの値と位置を計算する必要がない。
【0021】従って、この状態により、すべてのエラー
値とその位置が独特のシンドロームに基づいてフレーム
の有効データを次々に修正するために最初に見出され
る。これらシンドロームは、フレームデータの受信の際
その受信中に計算され、集積できるような容量を持った
メモリに記憶される。ある集積メモリに記憶されたシン
ドロームに基づいてエラー計算動作が行われ、その速さ
は、メモリとの接続が短時間で、動作周波数が本技術の
最高周波数であるという事実により、特別に速い。その
上、集積回路では、計算能力は内部メモリへのアクセス
用バスのサイズを増すことにより増大することができ
る。すなわち、内部メモリの数は外部メモリに対するそ
れよりはずっと制限が少ない。
【0022】従って、メモリとの高い交換速度を要する
プロセスは全てそのような速度に適用される集積メモリ
によって行われる。一方、外部フレームメモリはフレー
ムデータの比較的ゆっくりした伝送速度に出会うだけで
ある。更に、外部メモリはもはやパリティデータを記憶
する必要がなくなる。
【0023】図2Aは本発明によるエラー修正システム
の第一の実施例の構成を線図的に示したものである。処
理すべきフレームのデータ、すなわち有効データD、横
のパリティデータHP、及び縦のパリティデータVP
は、同時にシンドローム計算回路10及び外部フレーム
メモリ12に到達する。メモリ12は2つの領域M1と
M2があり、それぞれ1つのフレームの有効データDを
記憶するように意図されている。
【0024】シンドローム計算回路10は第一の内部メ
モリ領域14と連動しており、そこには現在計算された
横のシンドロームHSn及び縦のシンドロームVSnが
記憶される。第二の内部メモリ領域15は、回路10に
より前回のフレームn−1について計算された横及び縦
のシンドロームHSn−1及びVSn−1を記憶してい
る。エラー計算回路17は、このメモリ領域15と連動
しており、フレームn−1のエラーの値と位置を第三の
内部メモリ領域19に供給する。第四の内部メモリ領域
20は、回路17によりフレームn−2に対して前に計
算されたエラーの値と位置を記憶している。エラー修正
回路21は、外部メモリ12から伝送すべきフレームn
−2の有効データDを受信し、またメモリ領域20の対
応するエラーの値と位置を受信する。
【0025】現在のフレームnを受信すると、そのフレ
ームの有効データDnが外部メモリ12の領域の1つ、
例えば領域M1に書き込まれ、一方この領域M1に前回
記憶されていた、後尾から2番目のフレームn−2に属
するデータDn−2は修正回路21に伝送され修正され
る。外部メモリ12の領域M2は前回フレームn−1の
有効データDn−1を記憶する。領域M1とM2は巡回
的に使用される、すなわち次のフレームn+1は領域M
2に記憶され、そのときフレームn−1が伝送され修正
を受ける。
【0026】現在のフレームnのデータ(1バイト)を
受信する毎に、計算回路10は内部メモリ領域14内の
対応する横及び縦のシンドロームを更新する。1つのシ
ンドロームは対応するコードにあるパリティデータと同
じ数の係数を有している。図1の場合は、各横のシンド
ロームは10バイトを含み、各縦のシンドロームは16
バイトを含んでいる。従って、横のシンドロームと縦の
シンドロームの更新は、メモリ領域14から26バイト
を読み、これらの26バイトを更新後書きもどすことを
意味する。このことは各データに対して52バイトのア
クセスが必要となる。すなわち、全フレームに対しては
約200万バイトのアクセスを要する訳である。受信中
のシンドローム計算は、システム中で最も計算能力を要
する仕事の1つである。この計算能力は、並行して処理
されるバイト数、すなわちメモリ領域14(及び15)
のバスの幅を増加させることによって適用できる。
【0027】メモリ領域14及び15は循環して使用さ
れる、すなわちフレームn+1を受信すると、シンドロ
ーム計算回路10はメモリ領域15においてフレームn
+1のシンドロームに更新し、エラー計算回路17はメ
モリ領域14の横及び縦のシンドロームHSn及びVS
nを用いる。
【0028】エラーの値と位置を計算するのに、計算回
路17は例えば誤修正のリスクを避けるために2回のパ
スを行う。最初のパスでは、修正可能エラーの最大数よ
りも小さい数のエラーを明らかにするシンドロームを利
用するだけである。図1の場合は、計算回路17は、例
えば多くとも4個のエラーを明らかにする横のシンドロ
ームと、例えば多くとも7個のエラーを明らかにする縦
のシンドロームを利用する。第二回目の通過では、残り
のエラーが計算され得ることは極めて当り前である。
【0029】もっと特定して言えば、各シンドロームと
各回のパスに関しては、エラー計算回路17は次のよう
な動作を行う。例えばフランス申請特許2,721,7
75号に記述されているように、エラーの値と位置を見
出すため、シンドロームバイトがメモリ領域15から読
まれ、都合よく処理されるためにレジスタに記憶され
る。見出された値と位置はシンドローム処理の間、一時
的に記憶される。
【0030】シンドローム処理の終わりに、これらのエ
ラーが修正可能かどうか、また数は幾つあるかがわか
る。見出されたエラーの数が最大数より小さければ、そ
の値と位置は領域19に記憶され、処理したばかりのシ
ンドロームは領域15で削除され、影響を受けた横断シ
ンドロームは更新される。反対の場合には、行ったばか
りの処理は無視され以下のシンドロームが考えられる。
【0031】リード・ソロモン符号化の場合は、見出さ
れた各エラーerc(ここでrはエラーを含む行を示し、
cはエラーを含む列を示す)に関しては、縦の横断シン
ドロームの各バイトSv (図1の場合はv=0〜15)
は次に示す関係に従って変更される。
【0032】Sv =Sv +αrvrc 但しαは、使用されたリード・ソロモン符号が定義され
るそのガロア域の予め定められた非0及び非1の要素で
ある。同様に、横の横断シンドロームの各バイトS
h (図1の場合はh=0〜9)は次に示す関係に従って
変更される。
【0033】Sh =Sh αchrc 横断シンドロームのこのような更新は、記憶されたフレ
ームの位置(r,c)で誤データが修正されており、横
又は縦のシンドロームが行r又は列cに基づいて再計算
されたとする状況に対応している。従って、本発明によ
れば、横断シンドロームは、対応する列又は行の各デー
タから各シンドローム係数を再計算する代りに、シンド
ローム係数のそれぞれに単に乗算と加算の演算を行うだ
けで更新される。
【0034】このような計算は各エラーに対してメモリ
領域15のシンドロームバイトに有意の回数アクセスす
ることを意味している。しかし、エラーの数はフレーム
内のデータの数に関して小さいから、必要な計算能力は
実際上、受信中にシンドロームを計算するための回路1
0のそれよりも小さい。
【0035】修正回路21は、外部メモリ12の領域M
1に記憶されたフレームn−2のデータが伝送されてい
るときに、これらを修正するためにこれらのデータを読
みこむ。修正回路21によって受信された各データにつ
いては、回路21はエラーの位置がデータと関連してい
るかどうかを、メモリ領域20でチェックする。この場
合がそうだとすると、そのデータは対応するエラーによ
って修正される。伝送すべきデータに対応する順序でメ
モリ領域20に記憶されているエラーの値と位置にアク
セスするには、幾つかの方法が使用できる。
【0036】メモリ領域19と20は循環して使用され
る、すなわちフレームn+1を受信すると、エラー計算
回路17はフレームnのエラーの値と位置をメモリ領域
20に記憶させ、回路21はメモリ領域19に記憶され
たエラーの値と位置に基づいてフレームn−1を修正す
る。
【0037】図2Bは図2Aの構成の代替回路を示す。
この構成にはエラーの値と位置を修正回路21に正しい
順序で提供し、一方では少ない数のハードウェアと計算
能力しか要しないという利点がある。
【0038】図2Bの構成は、2つのシンドローム領域
14と15に加えて、追加シンドローム領域16を含
む。図2Aのメモリ領域19と20は、3つのシンドロ
ーム領域14〜16の中の2つに組込まれている。更
に、数個のフラグが各シンドロームと関連している。す
なわち、関連シンドロームはエラーの修正ができないこ
とを示す「エラーの多過ぎ」フラグが少なくとも1個
と、関連シンドロームがエラーの修正を許容したことを
示す「エラー修正済み」フラグ1個とがある。好ましく
は、シンドロームがゼロであることを示す「エラー無
し」フラグが提供されることである。
【0039】現在のフレームnのデータを受信する毎
に、計算回路10はメモリ領域14の対応する横及び縦
のシンドロームを更新する。これらのシンドロームは図
2Aに関して述べたように計算される。
【0040】フレームnのデータの受信の初めに、メモ
リ領域15は前回のフレームn−1について計算された
横及び縦のシンドロームを持っている。フレームnを受
信している間に、エラー計算回路17は領域15にある
シンドロームを次々に処理する。幾つかの場合がそのと
き生じる。
【0041】・シンドロームがゼロである。従ってエラ
ーが無い。「エラー無し」フラグが立つ。
【0042】・シンドロームが多過ぎるエラーを示す。
それはエラーの数が修正可能のエラーの数よりも大きい
からか、エラーの数が修正可能なエラーの最大数に等し
いかだからである。シンドロームは従ってそのまま放置
され、その「エラーの多過ぎ」フラグが立つ。
【0043】・エラーの数が受入れられる。従って計算
回路17は紋切り形にエラーの値と位置を決め、横断シ
ンドロームを更新する。発見されたエラーの値と位置は
シンドロームの場所に記憶され、シンドロームの「エラ
ー修正済み」フラグが立つ。エラーの値と位置はシンド
ローム係数の場所に記憶されることが好ましい。
【0044】メモリ領域16はこのようにしてフレーム
n−2に対して見出されたエラーの位置と値を記憶し、
これは回路21に伝送されて修正される。
【0045】回路21が伝送した各データの階級は領域
16の対応する横及び縦のシンドロームのアドレスを供
給し、そのシンドロームは現在伝送されたデータの行と
列に見出されたエラーの値と位置に交換されている。従
って、伝送されたデータを修正するには、対応する横及
び縦のシンドロームの場所に記憶されたエラーの位置が
データの階級に対応するまで、記憶されたエラーを走査
することで十分である。図1の例では、伝送されたデー
タに対応するエラーが見つかる前に、少くとも5つの横
方向エラーと8つの縦方向エラーが走査される。もちろ
ん、対応するエラー位置が見つからない場合は、そのデ
ータはエラーを有しない。
【0046】実際には、伝送されたデータに対応する横
及び縦のシンドロームのフラグは次のように利用され
る。
【0047】・「エラー修正済み」フラグは、2つのシ
ンドロームの各々に対して立つ:横及び縦方向のエラー
は全部走査される。
【0048】・「エラー無し」フラグは2つのシンドロ
ームのそれぞれに対して立つ:そのデータはエラーが無
い。
【0049】・「エラー多過ぎ」フラグは2つのシンド
ロームの各々に対して立つ:そのデータは修正出来ない
エラーを持っている。 ・「エラー多過ぎ」フラグはシンドロームの中の1つに
対して立ち、「エラー修正済み」フラグがもう1つのシ
ンドロームに対して立つ:そのデータは修正可能なエラ
ーを持っているかもしれず、「エラー修正済み」フラグ
が立っているシンドロームと関連しているエラーだけが
走査される。
【0050】従来のエラー計算法はデータ伝送順序でエ
ラーを見出すことができるようにする。従って、行によ
ってデータを伝送することにより、各伝送データに対し
て横方向エラー1つだけを走査するだけで十分であるこ
とがある。すなわち、単一の横方向エラーをチェックに
関して予め選択し、対応するデータの到来を、チェック
に対する次の横方向エラーを予め選択する前に待受け
る。このためには例えば、エラーレジスタ23を設け
る。この中には、ある行の最初のデータが伝送されるや
否や最初のエラーの値と位置が記憶される。各伝送され
たデータに関しては、それがレジスタ23に含まれてい
るエラーと関連しているかどうかをチェックする。関連
があれば、伝送されたデータが修正され、レジスタ23
の内容が次の横方向エラーと交換される。
【0051】メモリ領域14〜16は循還して使用され
る。すなわち、フレームn+1を受信すると、シンドロ
ーム計算回路10は領域15のシンドロームを更新し、
エラー計算回路17はエラーを発見、記憶するのに領域
16を使用し、修正回路21が領域14を使用する。
【0052】積符号フレームが使用される大抵の場合
は、修正されたフレームを利用する回路は、マイクロコ
ントローラ又はマイクロプロセッサのようなプログラマ
ブルな要素と関連メモリを持っている。
【0053】図3は修正に先立ってフレームのデータを
記憶するために利用する回路のメモリを使用することが
できる、本発明の一実施例を示す。換言すれば、図2A
の外部メモリ16は利用回路のメモリに組込まれてい
る。このような利用回路は、例えばMPEGデコーダ又
はマイクロコンピュータであって、そのメモリが、エラ
ー修正に先立ちフレームを記憶するため十分な空き領域
を持っているか、低価格で増設できるものであることが
多い。
【0054】図3のシステムは、既に図2Aに関して述
べたように、シンドローム計算回路10、集積メモリ領
域14と15、及びエラー計算回路17を包含してい
る。ただし、図3のシステムには外部メモリ12も、修
正回路21も含まれていない。エラーの値と位置を記憶
するのに使われるメモリ領域19及び20はバッファメ
モリ30と置き換えられている。データフレームを利用
する回路には、プロセッサ32と関連するメモリ34が
含まれている。
【0055】現在のフレームnを受信すると、有効デー
タDnがスイッチ又はマルチプレクサ36を経由して直
接プロセッサ32に伝送される。その間に、図2Aのよ
うにシンドローム計算回路10がメモリ領域14のフレ
ームnの横及び縦のシンドロームを更新し、エラー計算
回路17が、メモリ領域15に記憶されたシンドローム
に基づいて前回のフレームn−1のエラーの値と位置を
見出す。エラーの値と位置は、スイッチ36を経てプロ
セッサ32に伝送されるまでバッファメモリ30に一時
的に記憶される。
【0056】スイッチ36は、現在のフレームnの横の
パリティデータHPと縦のパリティデータVPが到達し
ている間、バッファメモリ30の出力に切替えられる。
従って、プロセッサ32は現在のフレームの有効データ
Dnを受信し、これらのデータの中前回のフレームn−
1のエラーの値と位置を受信する。あるフレームのパリ
ティデータが到来する間の時間間隔の和は一般に、前回
のフレームのエラーの値と位置をすべて伝送するのに十
分である。
【0057】プロセッサ32は、そのメモリ34に現在
のフレームnと前回のフレームn−1を記憶させ、現在
のフレームnのデータの中で受信されたエラーの値と位
置によって、前回のフレームn−1のデータを修正する
ようにプログラムされている。
【0058】一般的な用途では、プロセッサ32はMP
EGデコーダのものでも、マイクロコンピュータのもの
でもよく、またディジタルビデオディスク(DVD)に
おけるいわゆる「弾性のある」バッファを制御するもの
でもよい。
【0059】図4に示すように幾つかの用途では、縦の
パリティデータVPの行は有効データDの行とからみ合
せてもよい。この事は特にディジタルビデオディスクD
VDに記憶されたデータに関して起る。従って、フレー
ムの各13番目のデータ行が縦のパリティデータ行とな
る。縦のパリティデータVPの行の階級は0から15の
範囲であり、有効データDの行の階級は16から207
の範囲にまたがる。図4に示すように、行195と19
6の間に行15が来、行183と184の間に行14が
来る等々となる。
【0060】図5は図4の場合の縦のシンドロームを受
信中に計算する回路を線図的に示す。あるシンドローム
のi番目の係数は次のように表わされる。
【0061】Si =a207 α207i+a206 α206i+…+
r αri+…+a0 ただしar はシンドロームが計算される列における階級
rのデータであり、αはエラー修正コードが定義されて
いるがロア域の予め定められた非0、非1の要素であ
る。図5の回路は、各シンドローム係数Si をSi +a
r αriで置換することによって、各係数Si を更新する
よう考えてある。
【0062】列のデータar は、レジスタ52に記憶さ
れたαの十分な冪を各データと乗算する。乗算器50に
次から次から一般にrの減小順序で到来する。加算器5
4は乗算器50の出力と、メモリ領域14で変更すべき
シンドローム係数の各々とを受ける。更新されたシンド
ローム係数は加算器54によってメモリ領域14に供給
され、そこで前回の係数に重ね書きされる。乗算器56
は、レジスタ52の内容を、その内容とマルチプレクサ
62が選択した2つのレジスタ58と60の何れかの内
容との積で更新する。乗算器64はレジスタ58の内容
を、その内容と定数α-1との積で更新する。乗算器66
はレジスタ60に関して同じ動作を行う。
【0063】ある列の最初のデータa207 が到来する
と、レジスタ52は1に設定され、レジスタ58はα
207 に設定され、レジスタ60はα15に設定される。マ
ルチプレクサ62はレジスタ58、すなわちα207 の値
に切り替る。
【0064】列の新しいデータを受信する毎に、レジス
タ58が使用可能とされる。それを信号1/1で表現す
る。従って、列のデータar を受信すると、rが減小し
て行く場合は、レジスタ58はar の値を有する。列の
各13番目のデータに対して、この13番目のデータの
受信時間の間に、同時に使用可能となるレジスタ60に
マルチプレクサ62が切替えられる。マルチプレクサ6
2の切替え及びレジスタ60が使用可能になることが、
信号1/13によって示されている。従って、列の現在
のデータに対応し、織り交ぜを考慮に入れて、マルチプ
レクサ62は常に適切なαr 項を供給する。
【0065】列の各データar については、レジスタ5
2が1に設定され、従って16回使用可能となる。すな
わち、レジスタ52は、16個のシンドロームSi を更
新するのに必要な、0から15まで変化するiに関して
αri項を順次内包する。16個の項αriはデータar
乗算した後加算器54に提供され、加算器54は更に更
新のためメモリ領域14に記憶されている16個のシン
ドローム係数を受信する。
【0066】ある列の初めに、乗算器50の出力に0と
いう値を加え、先行の列に対して計算された16個のシ
ンドローム係数を加えないように、加算器54は信号I
NITによって設定される。
【0067】織り交ぜを考慮に入れるよう設けられてい
る要素60,62及び66の無い、図5におけると同じ
回路を横のシンドロームを計算するのに使ってもよい。
そのときレジスタ58はα181 に設定される。各シンド
ローム係数Si をαi i +ac という値で更新する、
多項式カウンタ形式のもっと簡単な回路がしかしより好
ましいであろう。但しcはシンドロームが計算されてい
る行で受信されるデータの(減小してゆく)ランク(順
序)である。
【0068】要素60,62,66の無い図5の形式の
回路は、発見されたエラーによってシンドロームを更新
するのにも使用してよい。これらのエラーはデータ
【0069】
【外1】
【0070】の代りに乗算器50に供給される。jがシ
ンドロームを更新すべき行又は列におけるエラーの(減
小してゆく)ランクであるとしたとき、各エラーej
ついてレジスタ58は先づ多数回「オフロード」すなわ
ちレジスタ52をメモリ領域14にアクセスさせない状
態にされ、その結果レジスタ58はエラーに対応する値
αj に到達する。オフロードを可能にする回数は1つの
列に対しては207jであり、1つの行に対しては18
1jである。
【0071】図4に示すとおりディジタルビデオディス
クの場合は、12個の有効データ行の各スライスは32
ビットの記号又はスライス内の全てのビットについて最
初に計算されたCRC(巡回冗長検査)で終る。このC
RCはスライスエラーが効果的に修正されたかどうかの
チェックに用いられる。
【0072】各CRCは多項式を次数32の生成多項式
で割ったときの剰余に対応し、このとき多項式の係数は
関連スライスのビットである。ディジタルビデオディス
クの場合は、生成多項式はx32+x31+x4 +1であ
る。従って通常は、一度データが修正されてしまと、C
RCはそれが有効に最初のCRCに対応するかどうかチ
ェックするため、再び計算される。
【0073】CRCのチェック計算は、例えば図2Aの
修正回路21の後で、修正されたスライスの連続ビット
を一次フィードバックシフトレジスタ(LFSR)に供
給することによって行われる。ただし、図3の実施例に
おいては、修正されたスライスは修正システムでは得ら
れない。修正されなかったスライス及びエラーの位置と
値だけが得られる。
【0074】図6は、エラーと修正されなかったスライ
スの記号に基づいて修正されたスライスのCRCを発見
することができる回路の例を示す。
【0075】図6の回路は、スライス中のある誤ビット
の位置の2乗の和における分解に基づいている。スライ
ス内の位置xにある1つのビットがエラーeを有する場
合は、このエラーのCRCに及ぼす影響はegx と表わ
される。但しgは生成多項式である。図6の回路は特に
この影響を迅速に計算することを可能にし、僅かなシリ
コン表面積しか使用しない。
【0076】32ビットのレジスタ70が、そのスライ
スのCRCに与える影響を計算すべきであるエラーeで
ロードされる。そのエラーがバイトで見出され記号が3
2ビットに亘って計算されているとき、スライス内の階
級xの各エラーバイトが32ビットのエラー語eに従っ
てフォーマットされる。このeの重みxのモジュロ4の
バイトはエラーバイトを含み、その他のバイトはゼロと
なっている語中にある。このエラー語eがレジスタ70
にロードされる。シフトレジスタ72では、スライス内
のエラー語の階級iがロードされる。但しiはi=x/
4である。従って階級iは0から514まで変り(CR
C語はスライスから排除されている)、10ビットのシ
フトレジスタ72を必要とする。シフトレジスタ72の
最下位ビットLSBはレジスタ70の更新を可能とす
る。レジスタ70を更新するため、32ビットの乗算器
74はこのレジスタ70の内容及びレジスタ76の内容
を受けとる。レジスタ76は初めに生成多項式gの諸係
数を持っている。2乗回路78はレジスタ76の内容を
受けてその内容をその2乗に置換える。レジスタ76と
72は同じクロック信号CK1で動作するようになって
いる。
【0077】エラーの影響を見出すために、シフトレジ
スタ72の内容を完全にシフトするようにクロック信号
CK1は10回表明を行う。するとレジスタ76は生成
多項式の1024乗を含むことになる。レジスタ70は
シフトレジスタ72の1におけるビットに対してのみ動
作可能となっており、gi を乗算したエラーを持ってい
る。
【0078】次に示す表は、i=145の例の場合に、
レジスタ72,76及び70の引続いてゆく内容を示し
ている。
【0079】
【表1】
【0080】このようにしてレジスタ70で得られたエ
ラーの各影響は、各データスライスに対してレジスタ8
0内で蓄積される。普通のCRC計算回路82は、前回
スライスの非修正データDn−1単位で計算された記号
CRCn−1を一時的に記憶し、一方では現在のスライ
スの非修正データDn単位で記号CRCnを計算する。
記号CRCn−1をレジスタ80に含まれている記号に
加えることによって、調整したCRCが得られる。この
調整後のCRCを元のCRCと比較する。
【0081】2乗するということはガロア域での特に簡
単な演算である。従って2乗回路78は僅かなシリコン
表面の場所を占有するだけである。ガロア域で2つの3
2ビット数の乗算は、1サイクル中に遂行される必要が
ある場合は比較的複雑である。32サイクルで乗算を完
了するもののその構造が特に簡単である、直列形式の乗
算器74を使用することが好ましいであろう。従って、
各エラーの記号に及ぼす影響は10×32=320サイ
クルで得られるが、少数のエラーという点によってシン
ドローム計算回路10よりも低い計算能力にしか達しな
い。
【0082】今述べてきた本発明によるシステムでは、
2回の横方向及び縦方向の経路通過によって、約2%の
エラー比を有する図1の形式のフレームの修正ができ
る。ディジタルビデオディスクのようなある用途では、
最大エラー比は顕著に低い。結果として、上記のエラー
修正システムはそのような用途に対しては大き過ぎるか
もしれない。
【0083】図7は、エラー比が0.8%の図1の形式
のフレームの修正ができる。本発明による修正システム
の一実施例を示す。このシステムは、シンドローム計算
回路10′、外部フレームメモリ12、内部メモリ領域
14′〜16′、エラー計算回路17′及び修正回路2
1′を有する点では、図2Bのものと類似している。
【0084】修正すべき現在フレームnのデータは、横
方向のパリティデータHPによってフレームの行を受信
中に修正する横の修正回路90に到達する。回路90は
「単次元の」コードを修正する普通の形式の修正回路で
ある。ただし、前述したように、ある行が最大数のエラ
ー(図1では5)又はそれ以上のエラーを有している場
合は、回路90は何ら修正を行わない。この場合は、修
正回路90は、行の階級VPOSをメモリ92に書き込
む。行全体は疑わしいと考えられる。2個の相似の追加
メモリ93と94は、前回の2個のフレームn−1及び
n−2の疑わしい行の位置を記憶している。
【0085】シンドローム計算回路10′は、修正回路
90が供給する横方向の修正されたデータに基づき、受
信中に縦のシンドロームVSを計算だけをする。縦のシ
ンドロームは、前述した方法で、循還して使用されるメ
モリ領域14′〜16′の中の1つ(ここでは14′)
の以後引続く更新によって計算される。
【0086】横方向の修正回路90によって修正されな
い疑わしい行をマーキングすることは、列内の可能性の
あるエラーの位置を与え、各縦のシンドロームはエラー
の値をその関連する列に見出すことを可能にする。従っ
て、図1の例では、各縦のシンドロームは多くとも16
個のエラー値を見出し得るようにする。横方向の修正回
路90が16個を超える未修正行をマークした場合は、
エラーは修正可能ではなくなる。
【0087】疑わしい行の位置を知ることは、縦方向の
エラー修正手順を著しく簡単にする。
【0088】リード・ソロモン符号化においては、エラ
ーとシンドロームは次の関係で結合されている。
【0089】λ(x)S(x)=Ω(x) ただしλ(x)はいわゆるエラー探し多項式、Ω(x)
はエラー値を見出し可能にする多項式である。多項式λ
(x)は1+xαp の各項の積で形成されており、ここ
にαがガロア域の非0非1要素であり、pは列中のエラ
ーの位置である。エラーの値と位置が未知のときは、2
つの多項式λとΩをいわゆるユークリッド算法を実行し
て決定しなければならない。これは多数回の計算を示し
ている。反対に、位置が既知の場合は、多項式λは直接
知られ、多項式Ωは上の関係式から直接得られる。
【0090】エラーの値は次のように表わされる。
【0091】 ep ={Ω(α-p)}/{α-p・λ‘(α-p)} (1) ここでλ‘(x)は多項式λの誘導多項式である。多項
式xλ‘(x)は多項式λ(x)の全奇数冪項から成立
っている。
【0092】あるフレームnの縦シンドローム領域1
4′で計算されるときは、多項式Ω及びλを計算する回
路96はフレームn−1と関連している領域15′を用
い、一方エラー計算回路17′はフレームn−2と関連
している領域16′を用いる。
【0093】領域14′〜16′のそれぞれには、フレ
ームと関連している多項式λの係数を受信するための付
加領域がある。この多項式λはフレームの全ての列に共
通である。それは可能性のあるエラーの位置は各列の中
で同じであるからである。メモリ領域14′において
は、スライスnの多項式λは未だ計算されていない。領
域15′では、スライスn−1と関連する多項式λが計
算されている。最後に領域16′においては、スライス
n−2と関連する多項式λはエラー計算回路17′によ
って利用されてエラー値を計算する。
【0094】メモリ領域15′においては、計算回路9
6は各縦のシンドロームを対応する多項式Ωと置き換え
る。この目的のため、回路96はメモリから各エラーの
位置pを読み出し、以下に示す関係式に従う逐次更新に
よって、各列と関連している多項式Ωを計算する。
【0095】Ω(x)=(1+xαp )Ω(x) ただしpは逐次に全てのエラー位置をとり、Ω(x)は
列と関連しているシンドロームS(x)に初期には等し
い。同様に、多項式λは次に示す関係式に従って更新さ
れる。
【0096】λ(x)=(1+xαp )λ(x) ただしλ(x)は初期は1(1の多項式)に等しい。
【0097】もっと具体的に言えば、各係数Ωj は次の
関係式に従って修正される。
【0098】Ωj =Ωj +αp Ωj-1 ここで、図1の例では、jは各エラー位置pに対して1
5から0まで変化する。多項式λの係数は同じ関係に従
って更新される。
【0099】エラー計算回路17′は、各列及び領域1
6′に記憶されている共通多項式λとそれぞれ関連して
いる多項式Ωを利用して、フレームn−2の疑わしい行
の逐次エラー値ep を計算する。具体的には、上記関係
式(1)の比の分子Nは次の関係式に従って更新される
レジスタに記憶される。
【0100】Np =α-pp +Ωj ただしjはメモリ94にて見出された各エラー位置pに
対して15から0まで変化する。pをメモリ94内の位
置の記憶の順番で変えることにより、エラー値ep は行
の伝送順序で得ることができる。
【0101】上記関係式(1)の分母は、多項式λに基
づいて同様に更新される。但し指標jが奇数値によって
15から1まで変る点を除く。従って、分母は普通の方
法で逆数化され、分子と乗算される。
【0102】修正回路21′は、メモリ領域94から、
疑わしい行の位置pを受信する。位置pが伝送されつつ
ある行に対応しているときは、計算回路17′によって
供給されるエラー値ep はそれぞれ、修正回路21′に
よって伝送されるデータに加えられる。
【0103】図7の実施例の一代替例によれば、十分な
計算能力が得られるならば、第三のメモリ領域16′と
修正回路21′は省略してもよい。このときエラー計算
回路17′は、回路96が多項式Ω及びλを領域15′
に書込み終った後、メモリ領域15′上で動作する。疑
わしい行中の全てのデータは、それらが明白に正しくて
も、ゼロと仮定され、縦のシンドロームがこれを考慮に
入れて計算される。その結果、回路17′で見出された
エラー値は直接疑わしい行の正しいデータとなる。フレ
ームnの第一の縦方向のパリティ行が到達する前に、回
路96は全ての多項式Ωを計算し終り、回路17′は第
一の疑わしい行のエラー値を全て計算し終わっていなけ
ればならない。実際、メモリ12の領域M1に書き込ま
れていない、各縦のパリティ行の受信中は、修正回路1
7′はフレームn−1の疑わしい列の代りに、領域M2
に疑わしい行のエラー値を書込む。疑わしい行は、従っ
て、メモリ12のアクセス速度を増加することが必要で
ない状態で、メモリ12内で修正される。
【0104】もちろん、図7の実施例及びその代替例
は、図3の実施例に関して、修正を待っているフレーム
が送りこまれるメモリ34と関連しているプロセッサ3
2と一緒に使用してもよい。
【0105】本発明は、当該技術に通じている者にとっ
ては容易に生じるような、種々の変更、修正、及び改善
を有することは容易にできる。そのような変更、修正、
及び改善はこの開示の一部であると考えられており、本
発明の精神及び適用範囲の中にあると考えられる。従っ
て、今までの記述は例によって行っただけであり、限定
をしようと意図しているものではない。本発明は、特許
請求の範囲及びそれに等価な範囲に定められていること
のみに限定される。
【図面の簡単な説明】
【図1】前述したとおり、エラー修正符号から成るフレ
ームの例である。
【図2A】本発明によるエラー修正システムの第一の実
施例の単純化した構成を示す。
【図2B】図2Aの有利な代替実施例を示す。
【図3】本発明によるエラー修正システムの第二の実施
例の単純化した構成を示す。
【図4】縦のパリティデータ行が有効なデータ行と織り
交ぜられているようなデータフレームを示す。
【図5】図4に示す形式のフレームに対するシンドロー
ムを動作中に計算する回路の実施例を線図的に表わした
ものである。
【図6】図3の実施例の適用においてエラーの有無をチ
ェックする記号に対するエラーの影響を計算する回路の
実施例を示す。
【図7】本発明によるエラー修正システムの第三の実施
例の単純化した構成を示す。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 データフレームの行に関して計算された
    横のシンドローム(HS)に基づいて該フレームの行内
    のエラーを修正できる横方向のパリティデータ(HP)
    と、該データフレームの列に関して計算された縦のシン
    ドローム(VS)に基づいて該フレームの列内のエラー
    を修正できる縦方向のパリティデータ(VP)とを含
    み、以下の各ステップを有する、データフレーム内のエ
    ラーを修正する方法: ・遅いメモリ(12,34)に受信されている、現在の
    フレームのデータに基づいて、現在フレームの横及び縦
    のシンドロームを受信中に計算(10)し、これらのシ
    ンドロームを速いメモリ領域(14,15)に記憶させ
    るステップ、及び ・次のフレームのデータを遅いメモリに受信しながら、
    速いメモリ領域に記憶されたシンドロームに基づいて現
    在のフレームの複数のデータの値と位置を見出す(1
    7)ステップ。
  2. 【請求項2】 データフレームの行に関して計算された
    横のシンドローム(HS)に基づいて該フレームの行内
    のエラーを修正できる横方向のパリティデータ(HP)
    と、該データフレームの列に関して計算された縦のシン
    ドローム(VS)に基づいて該フレームの列内のエラー
    を修正できる縦方向のパリティデータ(VP)とを含
    み、以下の各ステップを有する、データフレーム内のエ
    ラーを修正する方法: ・現在のフレームのデータを行によって受信しながら、
    横方向のパリティデータ及び疑わしい行の位置のマーキ
    ングによって現在のフレームの行を受信中に修正しよう
    とするステップ、 ・遅いメモリ(12,34)に記憶されている修正され
    た行及び疑わしい行に基づいて、現在のフレームの縦の
    シンドローム(VS)を受信中に計算(10)し、縦の
    シンドロームを速いメモリ領域(14′,15′,1
    6′)に記憶させるステップ、及び ・次のフレームのデータを受信しながら、速いメモリ領
    域に記憶された縦のシンドロームに基づいて現在のフレ
    ームのエラーの値を計算(17′)し、これらのエラー
    の位置を疑わしい行のマーキングによって提供するステ
    ップ。
  3. 【請求項3】 遅いメモリ(12)から抽出したデータ
    を、見出した値と位置で動作中に修正(21)するステ
    ップを含むことを特徴とする、請求項1又は2に記載す
    るエラー修正方法。
  4. 【請求項4】 前記遅いメモリ(34)は利用回路(3
    2)によって管理され、各フレームのエラーの値と位置
    が次のフレームのデータの間に利用回路に供給され、こ
    の利用回路は各フレームを記憶し、それを対応するエラ
    ーの値と位置を受信した際に修正するのに適用されるこ
    とを特徴とする、請求項1又は2に記載するエラー修正
    方法。
  5. 【請求項5】 各フレームはそのパリティデータ(H
    P,VP)なしで記憶され、フレームエラーの値と位置
    は、次のフレームのパリティデータを受信している間に
    利用回路(32)に供給されることを特徴とする、請求
    項4に記載のエラー修正方法。
  6. 【請求項6】 パリティデータが残りのデータのリード
    ・ソロモン符号から成り、フレームの1つの行又は1つ
    の列について計算されたシンドロームの各係数は1つの
    多項式によってとられる値であり、その多項式の係数は
    対応する冪に累乗したガロア域の要素に関して、行又は
    列のデータによって構成され、且つ縦方向のパリティデ
    ータが列の中に織り交ぜられ、シンドロームの計算は次
    の各ステップを含むことを特徴とする、請求項3又は4
    に記載のエラー修正方法: ・第一の補助レジスタ(58)を、各列の第一のデータ
    に対応する冪(207)に累乗された、ガロア域の予め
    決定された要素(α)に設定するステップ、 ・第二の補助レジスタ(60)を、列の第一の縦方向の
    パリティデータに対応する冪(15)に累乗されたガロ
    ア域の上記要素(α)に設定するステップ、 ・可変レジスタ(52)を1に設定するステップ、 ・第一の補助レジスタ(58)を、縦方向のパリティデ
    ータの到着の際を除き、列の新しいデータ(ar )の到
    着の度に、ガロア域の上記要素の逆数と第一の補助レジ
    スタの内容との積で更新するステップ、 ・第二の補助レジスタ(60)を、列の新しい縦方向の
    パリティデータの到着の度に、ガロア域の上記要素の逆
    数と第二の補助レジスタの内容との積で更新するステッ
    プ、 ・各シンドローム係数に対して、可変レジスタ(52)
    を、現在受信している列のデータが縦方向のパリティデ
    ータであるか否かに従って、この可変レジスタの内容と
    第二又は第一の補助レジスタの内容との積で更新するス
    テップ、及び ・速いメモリ領域(14)において、各縦のシンドロー
    ム係数を、シンドローム係数と、可変レジスタの内容と
    現在受信されたデータ(ar )との積との和(54)で
    更新するステップ。
  7. 【請求項7】 データフレームがエラーチェック記号
    (CRC)を含んでおり、その各々は、係数がフレーム
    の一連のデータの各ビットである多項式を、生成多項式
    (g)で割算した剰余に対応し、次の各ステップを含む
    ことを特徴とする、請求項4に記載のエラー修正方法: ・発見された各エラーに対して、第一のレジスタ(7
    6)を生成多項式(g)の係数に設定し、このレジスタ
    をその内容の2乗(78)で更新するステップ、 ・シフトレジスタ(72)を前記一連のエラーの位置で
    設定し、第一のレジスタ(76)の更新と同期してこの
    レジスタにクロックを与えるステップ、及び ・記号レジスタ(70)をエラーの値に設定し、シフト
    レジスタ(72)の最下位ビット(LSB)が1にあ
    り、これにより記号レジスタがシフトレジスタの完全に
    シフトし終った時点でエラーの記号に対する影響を含む
    時だけ、記号レジスタの内容と第一レジスタの内容との
    積で記号レジスタを更新するステップ。
  8. 【請求項8】 次のフレームのデータを受信しながら、
    速いメモリ領域において、各シンドロームの係数をシン
    ドロームで計算したエラーの値と位置で置換するステッ
    プを含むことを特徴とする、請求項1に記載のエラー修
    正方法。
  9. 【請求項9】 下記の各ステップを含むことを特徴とす
    る、請求項2に記載のエラー修正方法: ・次のフレームのデータを受信しながら、速いメモリ領
    域において、各縦のシンドロームの係数を、縦のシンド
    ロームの係数とマーキングした疑わしい行の位置とで計
    算された、エラー決定多項式(Ω)の係数で置換するス
    テップ、 ・マーキングした疑わしい行の位置で計算されたエラー
    探し多項式(λ)の係数を記憶するステップ、及び ・エラー決定多項式及びエラー探し多項式でエラー値を
    計算するステップ。
  10. 【請求項10】 次の各ステップを含む、請求項9に記
    載のエラー修正方法: ・各疑わしい行のデータをキャンセルしながら現在のフ
    レームの縦のシンドロームを計算するステップ、及び ・次のフレームの縦のパリティデータの一行を受信して
    いる間、疑わしい行に対する計算されたエラー値を、こ
    の疑わしい行の代りに遅いメモリに書き込むステップ。
JP21125697A 1996-07-23 1997-07-23 縦及び横のパリティコードを有するデータフレームにおけるエラーを修正するシステム Expired - Fee Related JP3959788B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9609488 1996-07-23
FR9609488A FR2751810B1 (fr) 1996-07-23 1996-07-23 Systeme de correction d'erreurs dans des trames de donnees ayant des codes de parite horizontaux et verticaux

Publications (2)

Publication Number Publication Date
JPH10117148A true JPH10117148A (ja) 1998-05-06
JP3959788B2 JP3959788B2 (ja) 2007-08-15

Family

ID=9494565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21125697A Expired - Fee Related JP3959788B2 (ja) 1996-07-23 1997-07-23 縦及び横のパリティコードを有するデータフレームにおけるエラーを修正するシステム

Country Status (5)

Country Link
US (1) US6032283A (ja)
EP (1) EP0821493B1 (ja)
JP (1) JP3959788B2 (ja)
DE (1) DE69721406T2 (ja)
FR (1) FR2751810B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181483B2 (en) 2000-01-31 2007-02-20 Sanyo Electric Co., Ltd. Error-correcting device and decoder enabling fast error correction with reduced circuit scale
JP2008165808A (ja) * 2006-12-29 2008-07-17 Samsung Electronics Co Ltd 誤り訂正確率を減らすエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置
CN112542115A (zh) * 2019-09-23 2021-03-23 奇景光电股份有限公司 错误检测系统、错误检测方法以及影像显示控制系统

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974580A (en) * 1997-07-23 1999-10-26 Cirrus Logic, Inc. Concurrent row/column syndrome generator for a product code
US6457156B1 (en) * 1998-01-29 2002-09-24 Adaptec, Inc. Error correction method
FR2776115B1 (fr) * 1998-03-13 2000-07-21 Thomson Multimedia Sa Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif
JP2002501655A (ja) * 1998-03-18 2002-01-15 エスティーマイクロエレクトロニクス エス.アール.エル. Dvd又はcdサポートから読取ったデータのリード−ソロモンデコーディング
US6363511B1 (en) * 1998-03-31 2002-03-26 Stmicroelectronics N.V. Device and method for decoding data streams from storage media
US6279135B1 (en) * 1998-07-29 2001-08-21 Lsi Logic Corporation On-the-fly row-syndrome generation for DVD controller ECC
US6581178B1 (en) 1999-02-15 2003-06-17 Nec Corporation Error correction coding/decoding method and apparatus
US6662334B1 (en) * 1999-02-25 2003-12-09 Adaptec, Inc. Method and device for performing error correction on ECC data sectors
CN1286275C (zh) * 1999-11-24 2006-11-22 三洋电机株式会社 纠错装置
US6651208B1 (en) * 2000-04-04 2003-11-18 Mosel Vitelic Corporation Method and system for multiple column syndrome generation
US8656246B2 (en) * 2001-04-16 2014-02-18 Qualcomm Incorporated Method and an apparatus for use of codes in multicast transmission
US20030061558A1 (en) * 2001-09-25 2003-03-27 Fackenthal Richard E. Double error correcting code system
JP4695814B2 (ja) 2002-02-08 2011-06-08 株式会社日立グローバルストレージテクノロジーズ データ復号方法・回路及びこれを用いた情報記録再生装置
KR100970223B1 (ko) * 2002-05-08 2010-07-16 톰슨 라이센싱 리드-솔로몬 코드의 소프트-결정 디코딩 방법, 리드-솔로몬 코드워드 디코더 및 컴퓨터 프로그램 제품
EP1416660A1 (en) * 2002-10-31 2004-05-06 Alcatel Improved FEC decoder and method
CN100530980C (zh) * 2003-07-09 2009-08-19 汤姆森特许公司 里德-所罗门乘积码的错误校正方法
EP1569348A1 (en) * 2004-02-13 2005-08-31 Alcatel Iterative multidimensional decoding
KR100757469B1 (ko) * 2004-06-07 2007-09-11 삼성전자주식회사 수신 성능 향상을 위해 널 패킷 및 trs 코드를 이용한지상파 디지털 방송 송수신 시스템 및 그의 신호처리방법
JP2006190346A (ja) * 2004-12-28 2006-07-20 Toshiba Corp エラー訂正処理装置及びエラー訂正処理方法
US7447980B2 (en) * 2005-10-17 2008-11-04 Newport Media, Inc. Error detection and correction in data transmission packets
CA2828516C (en) 2011-03-07 2019-05-07 Hayashibara Co., Ltd. Method for producing 2-o-.alpha.-d-glucosyl-l-ascorbic acid anhydrous crystal-containing powder
KR102504176B1 (ko) * 2016-06-23 2023-03-02 에스케이하이닉스 주식회사 반도체장치
KR20220139199A (ko) * 2021-04-07 2022-10-14 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU544259B2 (en) * 1980-04-16 1985-05-23 Sony Corporation Detecting + correcting errors in digital video signals
US4494234A (en) * 1982-12-29 1985-01-15 International Business Machines Corporation On-the-fly multibyte error correcting system
US4791643A (en) * 1986-12-29 1988-12-13 Minnesota Mining And Manufacturing Company Single track orthogonal error correction system
JPS6447131A (en) * 1987-08-18 1989-02-21 Sony Corp Syndrome generating method
JPS6447132A (en) * 1987-08-18 1989-02-21 Sony Corp Error correction method
US5068855A (en) * 1988-07-18 1991-11-26 Canon Kabushiki Kaisha Error correcting method and apparatus
US5422895A (en) * 1992-01-09 1995-06-06 Quantum Corporation Cross-checking for on-the-fly Reed Solomon error correction code
US5592404A (en) * 1993-11-04 1997-01-07 Cirrus Logic, Inc. Versatile error correction system
FR2721775B1 (fr) * 1994-06-27 1996-09-06 Sgs Thomson Microelectronics Circuit de localisation d'erreurs d'un décodeur Reed-Solomon.
US5784387A (en) * 1994-10-31 1998-07-21 International Business Machines Corporation Method for detecting start-of-frame, end of frame and idle words in a data stream

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181483B2 (en) 2000-01-31 2007-02-20 Sanyo Electric Co., Ltd. Error-correcting device and decoder enabling fast error correction with reduced circuit scale
JP2008165808A (ja) * 2006-12-29 2008-07-17 Samsung Electronics Co Ltd 誤り訂正確率を減らすエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置
CN112542115A (zh) * 2019-09-23 2021-03-23 奇景光电股份有限公司 错误检测系统、错误检测方法以及影像显示控制系统

Also Published As

Publication number Publication date
EP0821493A1 (fr) 1998-01-28
FR2751810B1 (fr) 1998-10-23
EP0821493B1 (fr) 2003-05-02
DE69721406D1 (de) 2003-06-05
JP3959788B2 (ja) 2007-08-15
FR2751810A1 (fr) 1998-01-30
US6032283A (en) 2000-02-29
DE69721406T2 (de) 2004-03-18

Similar Documents

Publication Publication Date Title
JP3959788B2 (ja) 縦及び横のパリティコードを有するデータフレームにおけるエラーを修正するシステム
US6639865B2 (en) Memory device, method of accessing the memory device, and reed-solomon decoder including the memory device
US6003151A (en) Error correction and detection system for mass storage controller
JP3966993B2 (ja) 積符号の誤り訂正および並行検査
US5996105A (en) ECC system employing a data buffer for storing codeword data and a syndrome buffer for storing error syndromes
US6363511B1 (en) Device and method for decoding data streams from storage media
US6041431A (en) Method and apparatus for performing error correction code operations
JP2000165259A (ja) データ復号処理装置および方法
US6725416B2 (en) Forward error correction apparatus and methods
CN100380507C (zh) 可抑制电路规模能进行高速纠错的纠错装置和解码装置
US6279135B1 (en) On-the-fly row-syndrome generation for DVD controller ECC
US5983389A (en) Error correction decoding apparatus
US20070050663A1 (en) Error correction apparatus for performing consecutive reading of multiple code words
US6128760A (en) Method and apparatus for calculating a CRC remainder
JP3306413B2 (ja) 誤り訂正装置および誤り訂正方法
JP2000010807A (ja) ディジタルデータ再生装置
JP2005216477A (ja) 選択的なpo補正を利用したdvdデコーディング方法及び装置
JP3342422B2 (ja) 誤り訂正方法およびその装置
JP3728011B2 (ja) 誤り訂正方法および誤り訂正装置
JPS638984Y2 (ja)
JPH1141113A (ja) 誤り訂正装置
JP2534563B2 (ja) 許容誤り逐次訂正回路
KR940007422B1 (ko) 버퍼레지스터를 사용하지 않는 rs 복호시스템
JPH0555926A (ja) 誤り訂正装置
JPH06303149A (ja) Bch符号の復号装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070507

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110525

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120525

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130525

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130525

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees