JP3583905B2 - Error correction device - Google Patents

Error correction device Download PDF

Info

Publication number
JP3583905B2
JP3583905B2 JP19561497A JP19561497A JP3583905B2 JP 3583905 B2 JP3583905 B2 JP 3583905B2 JP 19561497 A JP19561497 A JP 19561497A JP 19561497 A JP19561497 A JP 19561497A JP 3583905 B2 JP3583905 B2 JP 3583905B2
Authority
JP
Japan
Prior art keywords
polynomial
erasure
error
correction
pattern
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.)
Expired - Fee Related
Application number
JP19561497A
Other languages
Japanese (ja)
Other versions
JPH1141113A (en
Inventor
敏 黒川
正人 夫馬
実幸 岡本
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP19561497A priority Critical patent/JP3583905B2/en
Publication of JPH1141113A publication Critical patent/JPH1141113A/en
Application granted granted Critical
Publication of JP3583905B2 publication Critical patent/JP3583905B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は誤り訂正装置に関し、特に、デジタルデータの受信再生システムにおいて、積符号ブロック化された受信再生データに対して各方向の符号の誤り訂正を順次行なう誤り訂正装置に関する。
【0002】
【従来の技術】
デジタル伝送システムやコンピュータの周辺装置においては、デジタルデータの信頼性を上げるため、誤り訂正符号が用いられる。最近では、受信再生側の処理能力の向上とともに、符号長・冗長度の大きいロングディスタンスコードの積符号といった高度な訂正能力を持つ符号が使われるようになってきた。
【0003】
図7はこのような積符号がデジタルデータ(情報シンボル)に付加される態様を模式的に示す図である。図7を参照して、積符号は一般に、縦横の異なる方向の誤り訂正符号を組合せたものであり、より特定的には、情報シンボルの縦方向に対して付加された外符号のパリティPOと、情報シンボルおよびPOの横方向に対して付加された内符号のパリティPIとから構成される。
【0004】
それぞれの誤り訂正符号としては、バイト単位の誤り訂正が可能なリード・ソロモン(RS)が符号が用いられることが多く、図7の例では、PO方向の誤り訂正符号は、符号長n,情報長k,最小距離dのRS符号であり、PI方向の誤り訂正符号は、符号長n,情報長k,最小距離dのRS符号である。
【0005】
なお、ここでd=2t+1,d=2t+1の関係が成り立っているものとする。
【0006】
このように2つの方向のRS誤り訂正符号が付加されて積符号ブロック化されたデータの受信再生側でのデコード(誤り訂正)は、一般に、各方向の符号の誤り訂正を繰返すことにより行なわれる。誤り訂正そのものの方式としては、以下に説明する検出訂正および消失訂正の2種類の方式が存在する。
【0007】
検出訂正は、大きくは以下のステップから構成される:
(1) 受信再生した符号からシンドローム多項式を求める;
(2) シンドローム多項式から誤り位置多項式および誤り数値多項式を求める;
(3) 誤り位置多項式からチェーンサーチ法により誤り位置を求め、その位置に対する誤りパターンを求めて誤り訂正を行なう;
(4) (3)により求めた誤り位置に対する誤りパターンを求めて訂正を行なう。
【0008】
(2)の検出訂正時における誤り位置多項式および誤り数値多項式は符号のパリティ長を2tとすると、それぞれ次式となる。
【0009】
【数1】

Figure 0003583905
【0010】
ただし、それぞれ最大次数の場合を示してある。
(1),(2)式から(4)の誤りパターンは、(3)式で求まる。
【0011】
【数2】
Figure 0003583905
【0012】
ここでαはガロア体の元であり、Lはi番目の誤り位置であるので、次式を満足する。
【0013】
【数3】
Figure 0003583905
【0014】
積符号では一方の符号をデコードした結果、訂正不能であった場合、その符号と他方の符号が共有するシンボルの位置を消失位置とすることで、検出訂正の2倍の訂正能力がある消失訂正を行なうことも可能である。
【0015】
このような消失訂正は、大きくは次のステップから構成される:
(1) 受信再生した符号からシンドローム多項式を求める;
(2) 消失位置から得られる消失位置多項式を用いて、シンドローム多項式を修正し、消失数値多項式を求める;
(3) 消失位置に対して消失パターンを求めて誤り訂正を行なう。
【0016】
(2)の消失訂正における消失位置多項式は最大で2t次の多項式となるので、次の(4)式となり、消失数値多項式は最大で2t−1次の多項式であるので、(5)式となる。
【0017】
【数4】
Figure 0003583905
【0018】
(4),(5)式より、消失パターンは(6)式で求まる。
【0019】
【数5】
Figure 0003583905
【0020】
ここでLはi番目の消失位置であり、次式を満足する。
【0021】
【数6】
Figure 0003583905
【0022】
これらの処理により、RS・ロングディスタンス符号の誤り訂正を行なうことができる。
【0023】
【発明が解決しようとする課題】
しかしながら、積符号の誤り訂正では、両方向とも検出訂正を行なってもよいが、より訂正能力の高い消失訂正を用いることが要求される。しかし、検出訂正に比べて消失訂正を用いると、より次数の高い多項式の演算を行なう必要があるため、回路規模が増大するという問題点があった。
【0024】
それゆえに、この発明の主たる目的は、積符号デコード時に消失訂正を実行可能としながらも、回路規模を抑えることのできるような誤り訂正装置を提供することである。
【0025】
【課題を解決するための手段】
請求項1に係る発明は、互いに直交する異なる方向の誤り訂正符号を付加することによって積符号ブロック化されたデータに対し、各方向の誤り訂正をラインごとに順次行なう誤り訂正装置であって、第1の方向の誤り訂正において誤りを訂正できなかった符号のライン番号を記憶するライン番号記憶手段と、この記憶されたライン番号を消失情報として第2の方向の所定のラインについて消失位置多項式の係数を算出する消失位置多項式算出手段と、当該所定ライン上の符号に対するシンドローム多項式を求めるシンドローム多項式算出手段と、シンドローム多項式と消失情報とに基づいて、消失数値多項式の係数を算出する消失数値多項式算出手段と、代入する係数と変数を切換えることにより、消失位置多項式の消失位置パターンおよび消失数値多項式の消失数値パターンを選択的に導出する多項式演算手段と、算出された係数を当該多項式算出手段に代入して得られた消失位置パターンを記憶する記憶手段と、算出された係数を多項式算出手段に代入して得られた消失数値パターンと記憶された消失位置パターンとに基づいて、消失パターンを算出する消失パターン演算手段とを備えて構成される。
【0026】
請求項2に係る発明では、請求項1のライン番号記憶手段によって記憶されるライン番号は、誤りを訂正できなかった確率の高い符号のライン番号を含む。
【0027】
【発明の実施の形態】
図1はこの発明による誤り訂正装置を用いた情報受信再生システムの一例としての光ディスク再生システムの構成を示す概略ブロック図である。
【0028】
図1を参照して、光ディスク1から読み出された信号は、読み出し二値化回路2によってデジタル信号に変換された後、復調・デフォーマット回路4に与えられ、前述の図7に示した形態の積符号ブロック化されたデータに復調される。この図7に示す形態の1ブロック分のデータはバッファメモリ5に格納される。
【0029】
一方、サーボ制御回路3は、復調・デフォーマット回路4の出力に基づいて、光ディスク1のドライブ機構(図示せず)をサーボ制御する。復調・デフォーマット回路4およびサーボ制御回路3の動作はコントローラ8によって制御される。
【0030】
コントローラ8はさらにバッファメモリ5に格納された1ブロック分のデータに対するデコード(誤り訂正)命令を誤り訂正装置6に与える。誤り訂正装置6は、この命令に応じて、以下に述べるような誤り訂正をバッファメモリ5に格納されているデータに施す。誤り訂正が施されたデータは、コントローラ8によって制御される出力インタフェース回路7を介してバッファメモリ5から読み出される。
【0031】
図2は図1に示した誤り訂正装置6の構成を示す具体的なブロック図である。次に、誤り訂正装置6によるPI方向のRS系列に対する誤り訂正(検出訂正)について説明する。RAM201は図1に示したバッファメモリ305から読み出されたPI系列のデータ1ライン分を記憶するバッファである。シンドローム演算回路202はRAM201からデータを読み出し、次式で定義されるシンドローム多項式S(x)の係数Sを演算する。
【0032】
【数7】
Figure 0003583905
【0033】
ここて、αはガロア体GF(2)の元であり、rはPI系列のシンボルを示す。シンドローム演算回路202は(7),(8)式に従って演算を行ない、演算結果S{S,…,S2t−1}をシンドローム演算回路202内のレジスタに記憶する。
【0034】
次に、誤り位置多項式・誤り数値多項式生成回路203によってシンドローム多項式の係数Sを元に次式により誤り位置多項式のσ(x)および誤り数値多項式ω(x)の係数を求める。
【0035】
【数8】
Figure 0003583905
【0036】
ここで、(9),(10)式は誤り位置多項式σ(x)を表わし、(11),(12)式は誤り数値多項式ω(x)を表わしている。ただし、Eは誤りの集合を表わし、Lは符号上の誤り位置を示している。これらの多項式の係数とは、具体的には次式で示すものである。
【0037】
【数9】
Figure 0003583905
【0038】
誤り位置多項式・誤り数値多項式生成回路203は、(9),(10),(11),(12)式に従って演算を行ない、演算結果σ(x){σ(0),…,σ(t)},ω(x){ω(0),…,ω(t−1)}を誤り位置多項式・誤り数値多項式生成回路203内のレジスタに記憶する。
【0039】
このとき、シンドローム多項式の係数から誤り位置多項式,誤り数値多項式の係数を導出するための方法として、ピーターンアルゴリズム,ユークリッドアルゴリズムなどがあるが、いずれの方法を用いて回路を構成してもよい。
【0040】
誤り位置多項式・誤り数値多項式生成回路203は、求めた値σ(x),ω(x)を次数回路204に送る。次数回路204では、各多項式の係数が0,非0かをチェックし、非0のときの次数を出力する。
【0041】
次に、誤りパターン生成訂正回路206は誤りのパターンを求める。誤りのパターンは次式のように求められる。
【0042】
【数10】
Figure 0003583905
【0043】
ここで、(13)式を満たすLはi番目の誤り位置を表わしており、このLに対して(14)式を計算することにより、誤りパターンeが求められる。このように(13)式が成り立つか否かを判定してLを求める方法はチェーンサーチ法として知られている。
【0044】
一方、(14)式におけるσ′(x)はσ(x)の形式微分を表わし、次式によって定義される。
【0045】
【数11】
Figure 0003583905
【0046】
上記の(13),(14)および(15)式における、次式に列挙する要素は、多項式演算回路205により各多項式の係数を用いて算出される。
【0047】
【数12】
Figure 0003583905
【0048】
これらの多項式演算は、たとえばσ(x)に対して、次の(16)式〜(20)式となる。
【0049】
【数13】
Figure 0003583905
【0050】
図3は図2に示した多項式演算回路205の具体例を示す図である。図3において、多項式演算回路205は8ビットのレジスタ301〜305と、線形帰還回路311〜314とセレクタ321〜324とEXORゲート310とから構成される。セレクタ321〜324は、初期値σt1,bti−1 …σ,σと線形帰還回路311〜314の出力を選択するものであり、初期値を選択すると、(16)式の右辺の各係数がレジスタ301〜304にストアされて初期化され、EXORゲート310の出力には(16)式の左辺のσ(α)が得られる。
【0051】
その後、1クロックサイクルでセレクタ321〜324が帰還回路311〜314側に切換えられ、各レジスタ301〜304の内容に帰還回路311〜314の出力が乗算され、各レジスタ301〜304には(17)式の右辺の係数がストアされ、EXORゲート310の出力から(17)式の左辺のσ(α)が得られる。
【0052】
以下、同様にして、1クロックサイクルごとに各レジスタ301〜304の内容に、線形帰還回路311〜314の出力が乗算され、(18)式〜(20)式のσ(α)…σ(α255 )がEXORゲート310から出力される。
【0053】
検出訂正のみを考える場合、t<tであるので、図3に示した多項式演算回路205内の演算回路に使われるレジスタはσ(x)の次数がt次なのでt個,ω(x)の次数がt−1次なのでt−1個必要となる。また、σ′(x)の演算は、上述の定義式からσ(x)の奇数番目のレジスタの出力をEXORすればよい。そして、多項式演算回路205で求められた各値が誤りパターン生成・訂正回路206へ送られる。
【0054】
誤りパターン生成・訂正回路206は多項式演算回路205から出力される次式を用いて誤りのパターンeを求める。
【0055】
【数14】
Figure 0003583905
【0056】
誤りパターンeは誤りパターン生成・訂正回路206内のガロア体除算器により算出される。σ(α−Li )=0となるときのシンボルを訂正するため、一旦RAM201から相当するシンボルを読み出して、訂正してRAM201に書き戻される。このようにして、検出訂正処理を行ない、誤っているシンボルが訂正される。
【0057】
上記のように誤り訂正処理が行なわれるが、必ずしも訂正ができているとは限らない。訂正の信頼性を図るため、信頼性を数値で表わす手段と、フラグで示す手段が設けられている。これについて説明する。チェーンサーチ法で検出された誤りの個数は、誤り数カウンタ207によって計数される。誤り位置多項式・誤り数値多項式生成回路203によって求められた誤り位置多項式が正確なものであれば、検出される誤りの個数と誤り位置多項式の次数は一致する。訂正の正誤は、符号長nに対してチェーンサーチ終了後、訂正ステータス回路208で誤り位置多項式の次数と誤り数カウンタ207の出力を比較回路215で比較することによって判定される。
【0058】
訂正ステータス回路208は、訂正の正誤を示すフラグと行なわれた訂正が符号語の能力を限界まで使った訂正なのかどうかを示すフラグを出力する。たとえば、PI系列の符号の場合、t個の訂正が行なわれたときが限界訂正である。能力を限界まで使った訂正では、それ以外の場合に比べ、誤訂正の確率が高くなることが知られている。
【0059】
消失ラインカウンタ209は、訂正ステータス回路208の出力フラグが訂正の誤りを示したり、限界訂正を示す度に、誤りの可能性を示すカウンタの値を指定した数値分加算する。また、ラインカウンタ210はデコードが終了したライン数を計数している。そのラインに対する訂正ステータスが誤りおよび限界訂正であったときには、そのライン数に相当するラインカウンタ210の値がRAM211に格納される。これはPO系列の訂正を行なう際の消失ライン情報として用いられる。
【0060】
このようにして、訂正の信頼性を、消失ラインカウンタ209の数値と、訂正ステータス回路208のフラグで表現している。1ラインの訂正が終了した後、訂正ステータスが正しいと判断された場合、RAM201の訂正済符号語がバッファメモリ305へ書き戻される。
【0061】
以上の動作を繰返し、PI方向の各符号語に対する誤り訂正が実行される。PI方向の訂正終了後、消失ラインカウンタ209の出力が消失数レジスタ212に格納される。なお、各演算回路の動作制御は、シーケンスコントローラ213によって行なわれる。
【0062】
次に、PO方向の符号語に対する訂正動作について説明する。PO方向ではPI方向と同様な検出訂正の他に、RAM211に格納されている消失ライン情報を用いた訂正方法もある(消失訂正)。消失訂正では予めPO系列の符号語上の誤り位置が、消失位置として検出されているので誤り(消失)位置多項式も次式により前記消失位置より求めることができる。
【0063】
【数15】
Figure 0003583905
【0064】
このため、誤り(消失)数値多項式のみを求めれば訂正処理が行なえる。たとえばユークリッドアルゴリズムでは、消失数値多項式はシンドローム多項式および消失位置多項式を用いて、(22)式により求まる。
【0065】
【数16】
Figure 0003583905
【0066】
このとき、消失パターンは(23)式となり、最大で2t個のシンボルの訂正が可能となる。
【0067】
【数17】
Figure 0003583905
【0068】
ここで、消失訂正の場合、(21)式の次数は2t,(22)式の次数は2t−1次であり、多項式演算回路205によって両多項式の演算を同時に行なうためには、図6に示した回路において、4t−1の線形帰還シフトレジスタが必要となる。しかし、PI系列の符号とPO系列の符号が図7に示すように直交している場合は、PO系列の符号上の消失位置はどの符号でも同じなる。たとえば、図7において、PI系列の7ライン目の符号が訂正不能となった場合、すべてのPO系列の符号上で7番目のシンボルが消失位置となる。すなわち、どの符号を訂正する場合でも(21)式は同一の多項式となり、(23)式の分母の値は毎回同じになる。したがって、(21)式の係数の算出と(23)式の分母の値は一度演算した後に記憶すれば再度計算する必要がない。
【0069】
図4はPO消失訂正時の動作を説明するためのフローチャートである。次に、図2および図4を参照して、消失訂正時の動作について説明する。まず、消失位置多項式生成回路214は、ステップS1においてRAM211に格納されている消失ライン情報を用いて(21)式の係数を算出する。次に、多項式演算回路205はステップS2において、消失位置に対する(23)式の分母の値(消失位置パターン)を算出してRAM211へ格納する。
【0070】
次に、各ラインに対する訂正処理について説明する。PO方向の消失訂正では、ステップS3において、バッファメモリ305からPO系列の符号語1ライン分が読み出されてRAM201に格納される。次に、シンドローム演算回路205はステップS4において、シンドローム多項式の係数S,(j=0…2t−1)を算出する。次に、消失数値多項式生成回路217は、ステップS5において、シンドローム多項式の係数およびRAM211に格納されている消失ライン情報を用いて(22)式の消失数値多項式を算出する。そして、多項式演算回路205はステップS6において、消失位置に対する消失数値パターンすなわち次式を算出する。
【0071】
【数18】
Figure 0003583905
【0072】
ここで、多項式演算回路205は消失位置多項式と消失数値多項式に対する演算を同時にする必要がないため、初期化する係数の値を変えることで、各演算で回路を共用化できる。したがって、図6に示すように、同時に演算するとした場合に4t−1個の線形帰還シフトレジスタが必要であったのに対して、図5に示すように2t個の線形帰還シフトレジスタで回路を構成できる。図5は消失位置多項式と消失数値多項式の演算を共用した場合の多項式演算回路のブロック図であり、この図5は図6に比べて簡略化できることは明らかである。
【0073】
さらに、多項式演算回路205による消失位置に対する演算と同時にRAM211からその位置に対する(23)式の分母の値が読み出され、ステップS7において、誤りパターン生成訂正回路206によって消失のパターンが生成される。そのパターンによってRAM201内のシンボルが訂正され、ステップS8においてRAM201の符号語がバッファメモリ305に書き戻される。以上ステップS3からS7の処理がPo系列のすべてのラインに対して行なわれる。このようにして、検出した消失ライン情報を用いて消失訂正処理を行ない、誤っているシンボルが訂正される。
【0074】
【発明の効果】
以上のように、この発明によれば、第1の方向に対して検出訂正を行なった後、第2の符号語の消失位置に対する消失位置パターンを予め演算して記憶しておき、各符号の訂正を行なう際には消失数値パターンのみを演算し、消失位置パターンは記憶されている値を用いて訂正を行なうようにしたので、消失位置多項式の演算回路と消失数値多項式の演算回路を多項式演算回路として共用化できるため、回路規模を縮小できる。
【図面の簡単な説明】
【図1】この発明による誤り訂正装置を用いた光ディスク再生システムの構成を示す概略ブロック図である。
【図2】図1に示した誤り訂正装置の構成を示すブロック図である。
【図3】図2に示した多項式演算回路のブロック図である。
【図4】消失訂正動作を説明するためのフローチャートである。
【図5】多項式演算回路のブロック図である。
【図6】消失位置多項式と消失数値多項式の演算を共用化しない場合の多項式演算回路のブロック図である。
【図7】積符号がデジタルデータに付加される態様を模式的に示す図である。
【符号の説明】
1 光ディスク
2 読み出し二値化回路
3 サーボ制御回路
4 復調デフォーマット回路
5 バッファメモリ
6 誤り訂正装置
7 出力インタフェース回路
8 コントローラ
201,211 RAM
202 シンドローム演算回路
203 誤り位置多項式・誤り数値多項式生成回路
204 次数回路
205 多項式演算回路
206 誤りパターン生成訂正回路
207 誤り数カウンタ
208 訂正ステータス回路
209 消失ラインカウンタ
210 ラインカウンタ
212 消失数レジスタ
213 シーケンスコントローラ
214 消失位置多項式生成回路
215 比較回路
216 設定レジスタ
217 消失数値多項式生成回路
301〜305 レジスタ
311〜314 帰還回路
321〜324 セレクタ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an error correction device, and more particularly, to an error correction device that sequentially corrects an error of a code in each direction with respect to received code reproduced in a product code block in a digital data reception / playback system.
[0002]
[Prior art]
In digital transmission systems and computer peripheral devices, error correction codes are used to increase the reliability of digital data. Recently, with the improvement of the processing capability on the receiving and reproducing side, a code having a high correction capability such as a product code of a long distance code having a large code length and redundancy has come to be used.
[0003]
FIG. 7 is a diagram schematically showing a mode in which such a product code is added to digital data (information symbols). Referring to FIG. 7, the product code is generally a combination of error correction codes in different vertical and horizontal directions. More specifically, the product code has an outer code parity PO added in the vertical direction of the information symbol. , An information symbol, and a parity PI of an inner code added in the horizontal direction of the PO.
[0004]
As each error correction code, a Reed-Solomon (RS) code that can perform error correction in byte units is often used. In the example of FIG. 7, the error correction code in the PO direction has a code length n 0 , information length k 0, an RS code of the minimum distance d 0, an error correction code of the PI direction, the code length n i, an information length k i, a RS code of the minimum distance d i.
[0005]
Here, it is assumed that the relationship of d i = 2t i +1 and d 0 = 2t 0 +1 holds.
[0006]
Decoding (error correction) on the receiving / reproducing side of the product code-blocked data to which the RS error correction codes in two directions are added as described above is generally performed by repeating the error correction of the code in each direction. . As a method of error correction itself, there are two types of detection correction and erasure correction described below.
[0007]
Detection correction consists of the following steps:
(1) Find a syndrome polynomial from the received and reproduced code;
(2) calculating an error location polynomial and an error numerical polynomial from the syndrome polynomial;
(3) An error position is obtained from the error position polynomial by a chain search method, an error pattern corresponding to the position is obtained, and error correction is performed;
(4) An error pattern for the error position obtained in (3) is obtained and corrected.
[0008]
The error locator polynomial and the error numerical polynomial at the time of detection and correction in (2) are as follows when the parity length of the code is 2t.
[0009]
(Equation 1)
Figure 0003583905
[0010]
However, the case of the maximum order is shown.
From the equations (1) and (2), the error pattern of the equation (4) is obtained by the equation (3).
[0011]
(Equation 2)
Figure 0003583905
[0012]
Here, α is an element of the Galois field, and Li is the i-th error position, so that the following expression is satisfied.
[0013]
(Equation 3)
Figure 0003583905
[0014]
If the product code cannot be corrected as a result of decoding one code, the position of the symbol shared by that code and the other code is set as the erasure position, so that the erasure correction has twice the correction capability of the detection correction. It is also possible to perform
[0015]
Such an erasure correction generally consists of the following steps:
(1) Find a syndrome polynomial from the received and reproduced code;
(2) correcting the syndrome polynomial by using the erasure position polynomial obtained from the erasure position to obtain an erasure numerical polynomial;
(3) Error correction is performed for an erasure position by obtaining an erasure pattern.
[0016]
Since the erasure position polynomial in the erasure correction of (2) is a polynomial of order 2t at the maximum, it becomes the following equation (4). Since the erasure numerical polynomial is a polynomial of the order of 2t-1 at the maximum, equations (5) and (5) are used. Become.
[0017]
(Equation 4)
Figure 0003583905
[0018]
From the equations (4) and (5), the disappearance pattern is obtained by the equation (6).
[0019]
(Equation 5)
Figure 0003583905
[0020]
Here, Li is the i-th erasure position, and satisfies the following equation.
[0021]
(Equation 6)
Figure 0003583905
[0022]
Through these processes, it is possible to correct the error of the RS / long distance code.
[0023]
[Problems to be solved by the invention]
However, in product code error correction, detection and correction may be performed in both directions, but it is required to use erasure correction with higher correction capability. However, when the erasure correction is used as compared with the detection correction, it is necessary to perform a higher-order polynomial operation, so that there is a problem that the circuit scale is increased.
[0024]
SUMMARY OF THE INVENTION Therefore, a main object of the present invention is to provide an error correction device capable of performing erasure correction at the time of decoding a product code, while suppressing the circuit scale.
[0025]
[Means for Solving the Problems]
The invention according to claim 1 is an error correction apparatus that sequentially performs error correction in each direction on data product-blocked by adding error correction codes in different directions orthogonal to each other, line by line. A line number storage means for storing a line number of a code for which an error could not be corrected in the first direction error correction, and using the stored line number as erasure information for a predetermined line in the second direction as an erasure position polynomial. Erasure position polynomial calculation means for calculating a coefficient, syndrome polynomial calculation means for obtaining a syndrome polynomial for the code on the predetermined line, and erasure value polynomial calculation for calculating a coefficient of the erasure number polynomial based on the syndrome polynomial and the erasure information By switching the means and the coefficients and variables to be substituted, the erasure position pattern of the erasure position polynomial and the Polynomial calculating means for selectively deriving a lost numerical pattern of a lost numerical polynomial; storage means for storing a lost position pattern obtained by substituting the calculated coefficients into the polynomial calculating means; and a polynomial calculating the calculated coefficients. It is provided with an erasure pattern calculation means for calculating an erasure pattern based on the erasure numerical value pattern obtained by substituting into the calculation means and the stored erasure position pattern.
[0026]
In the invention according to claim 2, the line number stored by the line number storage means of claim 1 includes a line number of a code having a high probability that an error could not be corrected.
[0027]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a schematic block diagram showing a configuration of an optical disk reproducing system as an example of an information receiving and reproducing system using an error correction device according to the present invention.
[0028]
Referring to FIG. 1, a signal read from optical disk 1 is converted into a digital signal by read / binarization circuit 2 and then applied to demodulation / deformatting circuit 4, which is used for the embodiment shown in FIG. Is demodulated into product code block data. One block of data in the form shown in FIG. 7 is stored in the buffer memory 5.
[0029]
On the other hand, the servo control circuit 3 servo-controls a drive mechanism (not shown) of the optical disc 1 based on the output of the demodulation / deformatting circuit 4. The operations of the demodulation / deformatting circuit 4 and the servo control circuit 3 are controlled by the controller 8.
[0030]
The controller 8 further provides a decode (error correction) instruction for the data of one block stored in the buffer memory 5 to the error correction device 6. The error correction device 6 performs the following error correction on the data stored in the buffer memory 5 according to the instruction. The error-corrected data is read from the buffer memory 5 via the output interface circuit 7 controlled by the controller 8.
[0031]
FIG. 2 is a specific block diagram showing the configuration of the error correction device 6 shown in FIG. Next, the error correction (detection correction) for the RS sequence in the PI direction by the error correction device 6 will be described. The RAM 201 is a buffer that stores one line of PI series data read from the buffer memory 305 shown in FIG. The syndrome calculation circuit 202 reads data from the RAM 201 and calculates a coefficient Sj of a syndrome polynomial S (x) defined by the following equation.
[0032]
(Equation 7)
Figure 0003583905
[0033]
Te Here, alpha is the element of the Galois field GF (2 8), r i denotes a symbol of the PI series. The syndrome operation circuit 202 performs an operation according to the equations (7) and (8), and stores the operation result S j {S 0 ,..., S 2t-1 } in a register in the syndrome operation circuit 202.
[0034]
Next, the error position polynomial / error value polynomial generation circuit 203 obtains σ (x) of the error position polynomial and the coefficient of the error value polynomial ω (x) from the following equation based on the coefficient S j of the syndrome polynomial.
[0035]
(Equation 8)
Figure 0003583905
[0036]
Here, equations (9) and (10) represent the error locator polynomial σ (x), and equations (11) and (12) represent the error numerical polynomial ω (x). However, E is represented a set of errors, L i denotes an error position on the code. The coefficients of these polynomials are specifically represented by the following equations.
[0037]
(Equation 9)
Figure 0003583905
[0038]
The error locator polynomial / error numerical polynomial generator 203 performs an operation according to equations (9), (10), (11), and (12), and the operation result σ (x) {σ (0),. ), Ω (x) {ω (0),..., Ω (t−1)} are stored in a register in the error position polynomial / error numerical polynomial generation circuit 203.
[0039]
At this time, as a method for deriving the coefficients of the error locator polynomial and the error numerical polynomial from the coefficients of the syndrome polynomial, there are a peaturn algorithm, a Euclidean algorithm, and the like, and the circuit may be configured using any method.
[0040]
The error locator polynomial / error value polynomial generator 203 sends the obtained values σ (x) and ω (x) to the order circuit 204. The order circuit 204 checks whether the coefficient of each polynomial is 0 or non-zero, and outputs the order when the coefficient is non-zero.
[0041]
Next, the error pattern generation and correction circuit 206 obtains an error pattern. The error pattern is obtained as follows.
[0042]
(Equation 10)
Figure 0003583905
[0043]
Here, (13) satisfying the equation L i represents the i-th error location, by calculating (14) relative to the L i, the error pattern e i is determined. How this manner (13) to determine whether equation holds determine the L i is known as a chain search method.
[0044]
On the other hand, σ ′ (x) in Expression (14) represents a formal derivative of σ (x), and is defined by the following expression.
[0045]
(Equation 11)
Figure 0003583905
[0046]
In the above equations (13), (14) and (15), the elements listed in the following equations are calculated by the polynomial operation circuit 205 using the coefficients of each polynomial.
[0047]
(Equation 12)
Figure 0003583905
[0048]
These polynomial operations are, for example, the following expressions (16) to (20) with respect to σ (x).
[0049]
(Equation 13)
Figure 0003583905
[0050]
FIG. 3 is a diagram showing a specific example of the polynomial operation circuit 205 shown in FIG. 3, the polynomial arithmetic circuit 205 includes 8-bit registers 301 to 305, linear feedback circuits 311 to 314, selectors 321 to 324, and an EXOR gate 310. The selectors 321 to 324 select the initial values σ t1 , b ti-1 ... Σ 1 , σ 0 and the outputs of the linear feedback circuits 311 to 314. When the initial values are selected, the selectors 321 to 324 Each coefficient is stored in the registers 301 to 304 and initialized, and σ (α 0 ) on the left side of the equation (16) is obtained from the output of the EXOR gate 310.
[0051]
Then, in one clock cycle, the selectors 321 to 324 are switched to the feedback circuits 311 to 314, and the contents of the registers 301 to 304 are multiplied by the outputs of the feedback circuits 311 to 314. The coefficient on the right side of the equation is stored, and σ (α 1 ) on the left side of the equation (17) is obtained from the output of the EXOR gate 310.
[0052]
Hereinafter, similarly, the contents of the registers 301 to 304 are multiplied by the outputs of the linear feedback circuits 311 to 314 every clock cycle, and σ (α 2 ). α 255 ) is output from the EXOR gate 310.
[0053]
When considering detection correction only, because it is t i <t 0, t 0 or so orders t 0 order of the register used for computation circuit in the polynomial operation circuit 205 shown in FIG. 3 σ (x), ω Since the degree of (x) is t 0 −1, t 0 −1 is required. The calculation of σ ′ (x) may be performed by EXORing the output of the odd-numbered register of σ (x) from the above-described definition expression. Then, each value obtained by the polynomial operation circuit 205 is sent to the error pattern generation / correction circuit 206.
[0054]
Error pattern generation and correction circuit 206 finds the pattern e i of errors by using the following equation which is output from the polynomial operation circuit 205.
[0055]
[Equation 14]
Figure 0003583905
[0056]
The error pattern e i is calculated by the Galois field divider in the error pattern generation / correction circuit 206. In order to correct the symbol when σ (α− Li ) = 0, the corresponding symbol is once read from the RAM 201, corrected, and written back to the RAM 201. In this manner, the detection and correction processing is performed, and an erroneous symbol is corrected.
[0057]
Although the error correction processing is performed as described above, the correction is not always performed. In order to ensure the reliability of correction, there are provided means for expressing the reliability by a numerical value and means for indicating the reliability by a flag. This will be described. The number of errors detected by the chain search method is counted by the error number counter 207. If the error locator polynomial obtained by the error locator polynomial / error value polynomial generator 203 is accurate, the number of detected errors matches the order of the error locator polynomial. Errata correction after the chain search end to the code length n i, with correction status circuit 208 is determined by comparing the output of the order and the error counter 207 of the error locator polynomial in the comparison circuit 215.
[0058]
The correction status circuit 208 outputs a flag indicating the correctness of the correction and a flag indicating whether the correction performed is a correction using the capability of the code word to the limit. For example, if the code of the PI series, is the limit correction when t i pieces of correction has been performed. It is known that the correction using the ability to the limit has a higher probability of erroneous correction than the other cases.
[0059]
Each time the output flag of the correction status circuit 208 indicates a correction error or indicates a marginal correction, the lost line counter 209 adds the value of the counter indicating the possibility of the error by the designated numerical value. The line counter 210 counts the number of lines for which decoding has been completed. When the correction status of the line is an error and a limit correction, the value of the line counter 210 corresponding to the number of lines is stored in the RAM 211. This is used as lost line information when correcting the PO sequence.
[0060]
In this way, the reliability of the correction is expressed by the value of the lost line counter 209 and the flag of the correction status circuit 208. After the correction of one line is completed, if the correction status is determined to be correct, the corrected codeword in the RAM 201 is written back to the buffer memory 305.
[0061]
The above operation is repeated to execute error correction for each codeword in the PI direction. After the correction in the PI direction is completed, the output of the lost line counter 209 is stored in the lost number register 212. The operation of each arithmetic circuit is controlled by the sequence controller 213.
[0062]
Next, a correction operation for a codeword in the PO direction will be described. In the PO direction, in addition to the detection and correction similar to the PI direction, there is also a correction method using the lost line information stored in the RAM 211 (erasure correction). In the erasure correction, the error position on the code word of the PO sequence is detected in advance as the erasure position. Therefore, the error (erasure) position polynomial can also be obtained from the erasure position by the following equation.
[0063]
(Equation 15)
Figure 0003583905
[0064]
For this reason, correction processing can be performed by obtaining only an error (erasure) numerical polynomial. For example, in the Euclidean algorithm, the erasure numerical polynomial is obtained by equation (22) using the syndrome polynomial and the erasure position polynomial.
[0065]
(Equation 16)
Figure 0003583905
[0066]
At this time, the disappearance pattern becomes (23), it is possible to correct the 2t 0 symbols at maximum.
[0067]
[Equation 17]
Figure 0003583905
[0068]
Here, in the case of erasure correction, the order of equation (21) is 2t 0 , and the order of equation (22) is 2t 0 -1 order. In the circuit shown in FIG. 6, a 4t 0 -1 linear feedback shift register is required. However, when the code of the PI sequence and the code of the PO sequence are orthogonal as shown in FIG. 7, the erasure position on the code of the PO sequence is the same for any code. For example, in FIG. 7, when the code on the seventh line of the PI sequence becomes uncorrectable, the seventh symbol on the code of all PO sequences is the erasure position. That is, regardless of which code is corrected, equation (21) becomes the same polynomial, and the value of the denominator of equation (23) becomes the same every time. Therefore, if the calculation of the coefficient in equation (21) and the value of the denominator in equation (23) are calculated once and stored, there is no need to calculate again.
[0069]
FIG. 4 is a flowchart for explaining the operation at the time of PO erasure correction. Next, an operation at the time of erasure correction will be described with reference to FIGS. First, the erasure position polynomial generation circuit 214 calculates the coefficient of the equation (21) using the erasure line information stored in the RAM 211 in step S1. Next, in step S2, the polynomial calculation circuit 205 calculates the value of the denominator (disappearance position pattern) of the expression (23) for the disappearance position and stores it in the RAM 211.
[0070]
Next, a correction process for each line will be described. In the erasure correction in the PO direction, one line of the PO-series codeword is read from the buffer memory 305 and stored in the RAM 201 in step S3. Next, in step S4, the syndrome calculation circuit 205 calculates the coefficients S j , (j = 0... 2t 0 −1) of the syndrome polynomial. Next, the erasure numerical polynomial generation circuit 217 calculates the erasure numerical polynomial of Expression (22) using the coefficients of the syndrome polynomial and the erasure line information stored in the RAM 211 in step S5. Then, in step S6, the polynomial calculation circuit 205 calculates a lost numerical value pattern for the lost position, that is, the following expression.
[0071]
(Equation 18)
Figure 0003583905
[0072]
Here, since the polynomial operation circuit 205 does not need to perform the operations for the erasure position polynomial and the erasure numerical polynomial at the same time, the circuit can be shared for each operation by changing the value of the coefficient to be initialized. Therefore, as shown in FIG. 6, 4T 0 -1 linear feedback shift registers are required when calculations are performed simultaneously, whereas 2t 0 linear feedback shift registers are required as shown in FIG. A circuit can be configured. FIG. 5 is a block diagram of a polynomial operation circuit in the case where the operations of the erasure position polynomial and the erasure numerical polynomial are shared. It is clear that FIG. 5 can be simplified as compared with FIG.
[0073]
Further, the value of the denominator of the expression (23) for the position is read from the RAM 211 at the same time as the calculation for the erasure position by the polynomial arithmetic circuit 205, and the erasure pattern is generated by the error pattern generation and correction circuit 206 in step S7. The symbol in the RAM 201 is corrected by the pattern, and the codeword of the RAM 201 is written back to the buffer memory 305 in step S8. The processes of steps S3 to S7 are performed on all the lines of the Po series. In this manner, erasure correction processing is performed using the detected lost line information, and an erroneous symbol is corrected.
[0074]
【The invention's effect】
As described above, according to the present invention, after performing detection and correction in the first direction, the erasure position pattern for the erasure position of the second codeword is calculated and stored in advance, and the When making corrections, only the erasure numerical pattern is calculated, and the erasure position pattern is corrected using the stored value. Therefore, the arithmetic circuit for the erasure position polynomial and the arithmetic circuit for the erasure numerical polynomial perform the polynomial operation. Since the circuit can be shared, the circuit scale can be reduced.
[Brief description of the drawings]
FIG. 1 is a schematic block diagram showing a configuration of an optical disk reproduction system using an error correction device according to the present invention.
FIG. 2 is a block diagram showing a configuration of the error correction device shown in FIG.
FIG. 3 is a block diagram of a polynomial operation circuit shown in FIG. 2;
FIG. 4 is a flowchart illustrating an erasure correction operation.
FIG. 5 is a block diagram of a polynomial operation circuit.
FIG. 6 is a block diagram of a polynomial operation circuit in a case where the operations of the erasure position polynomial and the erasure numerical polynomial are not shared.
FIG. 7 is a diagram schematically illustrating a mode in which a product code is added to digital data.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 Optical disk 2 Read-out binarization circuit 3 Servo control circuit 4 Demodulation / deformatting circuit 5 Buffer memory 6 Error correction device 7 Output interface circuit 8 Controller 201, 211 RAM
202 Syndrome operation circuit 203 Error position polynomial / error numerical polynomial generation circuit 204 Degree circuit 205 Polynomial operation circuit 206 Error pattern generation / correction circuit 207 Error counter 208 Correction status circuit 209 Missing line counter 210 Line counter 212 Missing number register 213 Sequence controller 214 Erasure position polynomial generation circuit 215 Comparison circuit 216 Setting register 217 Erasure value polynomial generation circuits 301 to 305 Registers 311 to 314 Feedback circuits 321 to 324 Selector

Claims (2)

互いに直交する異なる方向の誤り訂正符号を付加することによって積符号ブロック化されたデータに対し、各方向の誤り訂正をラインごとに順次行なう誤り訂正装置であって、
第1の方向の誤り訂正において誤りを訂正できなかった符号のライン番号を記憶するライン番号記憶手段と、
前記ライン番号記憶手段に記憶されたライン番号を消失情報として第2の方向の所定ラインについて消失位置多項式の係数を算出する消失位置多項式算出手段と、
当該所定ライン上の符号に対するシンドローム多項式を求めるシンドローム多項式算出手段と、
前記シンドローム多項式と前記消失情報とに基づいて、消失数値多項式の係数を算出する消失数値多項式算出手段と、
代入する係数と変数とを切換えることにより、前記消失位置多項式の消失位置パターンおよび前記消失数値多項式の消失数値パターンを選択的に算出する多項式演算手段と、
前記消失位置多項式算出手段によって算出された係数を当該多項式算出手段に代入して得られた消失位置パターンを記憶する記憶手段と、
前記消失数値多項式算出手段によって算出された係数を前記多項式算出手段に代入して得られた消失数値パターンと当該記憶手段に記憶された消失位置パターンとに基づいて消失パターンを算出する消失パターン演算手段とを備えた、誤り訂正装置。
An error correction device that sequentially performs error correction in each direction on a line-by-line basis for data that has been product-coded into blocks by adding error correction codes in different directions orthogonal to each other,
Line number storage means for storing a line number of a code whose error could not be corrected in the first direction error correction;
An erasure position polynomial calculation unit that calculates a coefficient of an erasure position polynomial for a predetermined line in a second direction using the line number stored in the line number storage unit as erasure information;
Syndrome polynomial calculating means for obtaining a syndrome polynomial for a code on the predetermined line;
Based on the syndrome polynomial and the erasure information, an erasure number polynomial calculation unit that calculates a coefficient of the erasure number polynomial,
By switching between the coefficient and the variable to be substituted, a polynomial operation means for selectively calculating the disappearance position pattern of the disappearance position polynomial and the disappearance value pattern of the disappearance value polynomial,
Storage means for storing a disappearance position pattern obtained by substituting the coefficient calculated by the disappearance position polynomial calculation means into the polynomial calculation means,
Erasure pattern calculation means for calculating the erasure pattern based on the erasure numerical pattern obtained by substituting the coefficient calculated by the erasure numerical polynomial calculation means into the polynomial calculation means and the erasure position pattern stored in the storage means An error correction device comprising:
前記ライン番号記憶手段によって記憶されるライン番号は、誤りを訂正できなかった確率の高い符号のライン番号を含むことを特徴とする、請求項1に記載の誤り訂正装置。2. The error correction device according to claim 1, wherein the line number stored by the line number storage unit includes a line number of a code having a high probability that an error could not be corrected.
JP19561497A 1997-07-22 1997-07-22 Error correction device Expired - Fee Related JP3583905B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19561497A JP3583905B2 (en) 1997-07-22 1997-07-22 Error correction device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19561497A JP3583905B2 (en) 1997-07-22 1997-07-22 Error correction device

Publications (2)

Publication Number Publication Date
JPH1141113A JPH1141113A (en) 1999-02-12
JP3583905B2 true JP3583905B2 (en) 2004-11-04

Family

ID=16344103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19561497A Expired - Fee Related JP3583905B2 (en) 1997-07-22 1997-07-22 Error correction device

Country Status (1)

Country Link
JP (1) JP3583905B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6285591B1 (en) 2017-03-24 2018-02-28 株式会社ショーワ Suspension control device and suspension device
JP6273059B1 (en) 2017-03-24 2018-01-31 株式会社ショーワ Vehicle control device and vehicle

Also Published As

Publication number Publication date
JPH1141113A (en) 1999-02-12

Similar Documents

Publication Publication Date Title
KR960003094B1 (en) Error correction code generator
KR930001071B1 (en) Error correction circuit
EP0117287A2 (en) Method for correcting errors in digital data and system employing such method
EP0167627A1 (en) Method and apparatus for decoding error correction code
US7181483B2 (en) Error-correcting device and decoder enabling fast error correction with reduced circuit scale
US5541937A (en) Apparatus for uniformly correcting erasure and error of received word by using a common polynomial
US6138263A (en) Error correcting method and apparatus for information data having error correcting product code block
JP3583905B2 (en) Error correction device
US5541940A (en) Error correction method and error correction circuit
JP2605966B2 (en) Error correction circuit
KR100330642B1 (en) Error Correction Method and Error Correction Device
JP2001292066A (en) Error correction device and error correction method
JP2606647B2 (en) Error correction method
JP3583903B2 (en) Error correction device and error correction method
KR100207492B1 (en) Method for testing error correction and apparatus therefor
KR100589814B1 (en) Method for correcting errors of digital data
JP3583904B2 (en) Error correction device and error correction method
JP2796291B2 (en) Error correction method
KR19990039252A (en) Eraser correction method and apparatus
JP2000101447A (en) Device and method of error correction
JP2553571B2 (en) Galois field arithmetic unit
JP2000148522A (en) Arithmetic circuit for euclidean mutual division
JPH04297164A (en) Error correction system
JPS6342343B2 (en)
KR100219524B1 (en) Method for correcting error of product code

Legal Events

Date Code Title Description
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: 20040720

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040730

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

Free format text: PAYMENT UNTIL: 20070806

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080806

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090806

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees