JPH10322226A - リードソロモン復号方法 - Google Patents

リードソロモン復号方法

Info

Publication number
JPH10322226A
JPH10322226A JP9124411A JP12441197A JPH10322226A JP H10322226 A JPH10322226 A JP H10322226A JP 9124411 A JP9124411 A JP 9124411A JP 12441197 A JP12441197 A JP 12441197A JP H10322226 A JPH10322226 A JP H10322226A
Authority
JP
Japan
Prior art keywords
decoding
erasure
reed
correction
error
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.)
Pending
Application number
JP9124411A
Other languages
English (en)
Inventor
Shigeru Okita
茂 沖田
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.)
Texas Instruments Japan Ltd
Original Assignee
Texas Instruments Japan 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 Texas Instruments Japan Ltd filed Critical Texas Instruments Japan Ltd
Priority to JP9124411A priority Critical patent/JPH10322226A/ja
Priority to US09/078,423 priority patent/US6233710B1/en
Publication of JPH10322226A publication Critical patent/JPH10322226A/ja
Pending 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/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/158Finite field arithmetic processing
    • 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

Landscapes

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

Abstract

(57)【要約】 【課題】 誤訂正を効果的に防止できるリードソロモン
復号方法を提供する。 【解決手段】 2t(正の整数)シンボルのパリティデ
ータを持つ、リードソロモン符号化系列に対して、誤り
のシンボルの位置を示す消失位置を用いて誤り訂正を行
い、復号するリードソロモン復号方法であって、前記消
失位置から誤りのシンボルの数nを求め(S13)、0
≦m1 ≦n≦m2 ≦2t(m1 、m2 およびnは正の整
数)である場合に(S14,S15,S18)、nシン
ボルの消失エラー訂正の復号演算を行って誤り値を求め
(S19)、前記誤り値および前記消失位置を用いて、
訂正操作を行う(S17)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、記録媒体やディジ
タル伝送の誤り訂正符号化として用いられるリードソロ
モン符号化された信号を復号するリードソロモン復号方
法に関する。
【0002】
【従来の技術および発明が解決しようとする課題】リー
ド・ソロモン符号(以下RS符号)は、その符号化効率
の良さとバーストエラーに対する適正から、主に記録媒
体やディジタル伝送の外符号に用いられている。例えば
コンパクトディスクで採用されているエラー訂正符号
は、CIRC訂正符号(クロスインターリーブ・リード
・ソロモン符号)と称され、インターリーブの技法と組
み合わせた積符号である。その外符号としてRS(2
8、24)符号が、内符号としてRS(32、28)符
号が採用されていて、それぞれC2符号及びC1符号と
呼ばれる。いずれの符号とも、ひとつのRS符号化シン
ボルは1バイトで構成され、ひとつのRS符号化ブロッ
クは4バイトのパリティ検査列を含んでいる。
【0003】一般に、RS符号は2tシンボルの検査列
でtシンボルの訂正が可能である。tシンボルの訂正に
はt個の誤り位置とそのそれぞれの誤りに対応したt個
の誤りの値を知る必要がある。RS符号はt個の誤りの
発生に対し、復号側でシンドローム演算をすることで2
t個の線形独立な方程式を得る。この方程式を解くこと
で2t個の未知数である、前記t個の誤り位置とそのそ
れぞれの誤り位置に対応した前記t個の誤りの値を求め
ることができる。
【0004】一方、CIRC符号のように積符号の構成
を取っているものは、内符号に対する内側RS復号にお
いて訂正できなかったRS符号化ブロックや誤訂正の可
能性の比較的高いRS符号化ブロックに消失フラグを付
加することで、外符号に対応した外側RS復号において
消失エラー訂正が可能になる。消失フラグが付加された
内符号の消失シンボルはデ・インターリーブによって複
数の外側のRS符号化ブロックに分散される。消失エラ
ー訂正では、前記消失シンボルに誤りが存在すると仮定
してシンドローム演算から得られる連立方程式を解く。
誤り位置を既知として解くので最大2t個の誤りを値を
求めることができる。即ち、2tシンボルの検査列を持
つRS符号に対しては、消失エラー訂正を実行すること
で最大2tシンボルの誤り訂正が可能である。
【0005】CIRC符号を例に挙げて、消失エラー訂
正の手法を説明する。CIRC符号の場合、内符号であ
るC1符号のRS復号(C1復号)において消失フラグ
を付加することで、外符号であるC2符号のRS復号
(C2復号)で消失エラー訂正が可能である。C1符
号、C2符号ともにt=2であるから、C1復号は最大
2バイトの訂正が、C2復号の消失エラー訂正では最大
4バイトの訂正がそれぞれ可能である。そのC2復号に
おけるシンドロームs0 〜s3 と、誤り値e1 〜e4
次のようにして求められる。CIRC符号の符号生成多
項式Ge(x)は、下記式(1)で示される。
【0006】
【数1】
【0007】ここでαはガロア体の原始元である。この
とき、受信系列からシンドローム演算により得たs0
3 は、前記x1 〜x4 およびe1 〜e4 との間に下記
式(2)で示される関係がある。
【0008】
【数2】
【0009】ここで記号‘・’はガロア体上の乗算を示
し、記号‘+’はガロア体上の加算を示す。以下、ある
ガロア体の元同士の四則演算は、そのガロア体上での演
算を示すこととする。前記式(2)を連立方程式を解い
て、未知数である誤り値e1 〜e4 を求めると次のよう
になるまず、e4 は、下記式(3)として得られる。
【0010】
【数3】
【0011】この得られたe4 を前記式(2)に代入し
て3つの等式から成る連立方程式を再構成する。即ち、
CIRC符号で用いられているガロア体は加算と減算が
同じであることに注意して下記式(4)のように修正す
ることで、前記式(2)の連立方程式は下記式(5)に
変形される。
【0012】
【数4】
【0013】
【数5】
【0014】これは、連立方程式の解を、手計算で順に
求めるときによく用いられる手法である。次に、式
(5)の連立方程式を解いてe3 を求めると、下記式
(6)のようになる。
【0015】
【数6】
【0016】同様にして修正を施すことで、前記式
(5)の連立方程式は下記式(7),(8)のように変
形される。
【0017】
【数7】
【0018】
【数8】
【0019】さらに、式(8)の連立方程式を解いてe
2 を求めると、下記式(9)となる。
【0020】
【数9】
【0021】次に、この求めたe2 を前記式(8)に代
入して下記式(10)を得る。
【0022】
【数10】
【0023】このようにして、誤り値e1 〜e4 を順次
求めることができる。上述した手法において、情報とし
て元来もっているものと、実際の復号の際に行われる演
算操作とを区別するために、記号‘=’と‘←’とを使
い分けている。つまり、実際の復号演算に対応するの
は、式(3)、(4)、(6)、(7)、(9)および
(10)であり、少なくとも、ガロア体上の加算が23
回、乗算が17回、除算が3回必要である。一方、消去
エラー訂正を行わない場合には、C2復号で最大2バイ
トまで訂正(2重エラー訂正)ができる。このときは、
シンドロームs0 〜s3 から、誤り値e1 ,e2 と誤り
位置x’1 ,x’2 を求める。以上は、4重消去エラー
訂正、すなわち、消去位置の数が4の場合の復号演算処
理過程である。
【0024】従来手法による消失エラー訂正処理のフロ
ーチャートを図2に示す。図2に示すように、受信系列
からシンドロームs0 〜s3 を計算し(ステップS
1)、その消失フラグから消失位置x1 〜x4 を得る
(ステップS2)。そして、消失フラグの数をカウント
し、このカウント値をnとする(ステップS3)。
【0025】次に、n=4(2t)の場合には(ステッ
プS4)、前記式(3),(4),(6),(7),
(9)および(10)のアルゴリズムにより、4重消去
エラー訂正の復号演算を実行して、誤り値e1 〜e4
求める(ステップS5)。そして、誤り値e1 〜e4
消去位置x1 〜x4 とを用いて訂正操作を行う(ステッ
プS6)。
【0026】また、n=3(t<n<2t)の場合には
(ステップS7)、前記式(6),(7),(9)およ
び(10)のアルゴリズムにより、3重消去エラー訂正
の復号演算を実行して、誤り値e1 〜e3 を求める(ス
テップS8)。そして、誤り値e1 〜e3 と消去位置x
1 〜x3 とを用いて訂正操作を行う(ステップS6)。
【0027】一方、n≦2(t)の場合には、これに対
応した所定の誤り訂正を実行する(ステップS9,S
6)。
【0028】上述したように、4重消失エラー訂正では
シンドロームs0 〜s3 の全てを使用しているが、従来
の3重消失エラー訂正ではs0 〜s2 の3つしか使用し
ていない。また、n≦2(=t)の場合の訂正方法が明
確化されていない。さらには、従来の手法では、誤った
訂正が生じた場合の対策が十分に施されていないという
問題がある。
【0029】以下、上述した消失エラー訂正処理を行う
リードソロモン復号装置の一般的な構成について説明す
る。図3は、従来のリードソロモン復号装置1の構成図
である。図3に示すように、リードソロモン復号装置1
は、メモリブロック2、バスI/Fブロック3および復
号演算処理部4を備えている。メモリブロック2は、ス
クラッチパッドメモリ5,6およびスイッチ7,8を備
えている。スイッチ7は、入力データを選択的にスクラ
ッチパッドメモリ5,6に出力する。スイッチ8は、ス
クラッチパッドメモリ5の記憶内容を選択的に訂正操作
実行器12に出力する。
【0030】バスI/Fブロック3は、入力パラメータ
演算器9、レジスタBOUT 10、バイナリカウンタ1
1、訂正操作実行器12およびレジスタBIN13を備え
ている。復号演算処理部4は、スイッチ14、レジスタ
IN15、レジスタGOUT 16および復号演算器17を
備えている。図4は、リードソロモン復号装置1の動作
時におけるデータおよび構成要素の時系列的な状態を示
し、(A)は入力データ、(B)は出力データ、(C)
はレジスタBOUT 10の記憶状態、(D)はレジスタB
IN13の記憶状態、(E)はレジスタGOUT 16の記憶
状態、(F)はレジスタGIN15の記憶状態、(G)は
復号演算器17の処理状態をそれぞれ示している。
【0031】図4に示すように、メモリブロック2のス
クラッチパッドメモリ5においてC1符号に関する入力
データの入出力を行っているときには、バスI/Fブロ
ック3はC1符号に関する入力データ対して、入力パラ
メータ演算器9において復号演算入力パラメータの計算
を行い、訂正操作実行器12において訂正操作を行って
いる。また、このとき、復号演算処理部4ではC2符号
に関する入力データについてC2復号処理が行われてい
る。
【0032】また、スクラッチパッドメモリ6において
C2符号に関する入力データの入出力を行っているとき
には、バスI/Fブロック3はC2符号に関する入力デ
ータ対して、入力パラメータ演算器9において復号演算
入力パラメータの計算を行い、訂正操作実行器12にお
いて訂正操作を行っている。また、このとき、復号演算
処理部4ではC1符号に関する入力データについてC1
復号処理が行われている。
【0033】ここで、復号演算入力パラメータとは、具
体的には、シンドローム(S)および消失位置(I)で
ある。シンドローム(S)は、図3に示す入力パラメー
タ演算器9およびレジスタB OUT 10の組み合わせによ
って演算される。図5は、入力パラメータ演算器9およ
びレジスタBOUT 10の構成図である。図5に示すよう
に、入力パラメータ演算器9は、乗算器24〜27、加
算器20〜23、消去フラグ検出器28および分配器2
9を備えている。また、レジスタBOUT 10は、レジス
タ30〜33およびレジスタ34〜37を備えている。
【0034】乗算器24〜27は、乗算係数が固定値の
ガロア体の乗算器であり、それぞれ×α0 、×α1 、×
α2 、×α3 の乗算を行う。消去フラグ検出器28は、
入力データに含まれる消去フラグが「1」であるか否か
を検出する。分配器29は、入力データに含まれる各R
Sシンボル位置と対応して動作するバイナリカウンタ1
1の出力をレジスタBOUT 10のレジスタ34〜37の
いずれかに出力して記憶させる。このレジスタ34〜3
7の記憶結果が消失位置(I)を示す。
【0035】消失位置(I)は、図3に示す復号演算器
17において、後述するコンバータにより、ガロア体の
表現に、すなわち「i」から「αi 」に変換される。具
体的には、I={i1 ,i2 ,i3 ,i4 }が、X=
{x1 ,x2 ,x3 ,x4 }に変換される。
【0036】4重消失エラー訂正を実行する場合の前記
式(3),(4),(6),(7)および(10)に対
応する復号演算は、復号演算処理部4において実行さ
れ、レジスタBOUT 10からの復号演算入力パラメータ
S={s0 ,s1 ,s2 ,s3}と、I={i1
2 ,i3 ,i4 }を変換して得られたX={x1 ,x
2 ,x3 ,x4 }とを用いて、復号演算出力パラメータ
E={e1 ,e2 ,e3 ,e 4 }およびX’=X={x
1 ,x2 ,x3 ,x4 }を得る。消失エラー訂正を行わ
ない場合には、前述した2重エラー訂正においては、復
号演算入力パラメータS={s0 ,s1 ,s2 ,s3
を用いて、復号演算出力パラメータE={e1,e2
およびX’={x’1 ,x’2 }を得る。
【0037】誤り位置XあるいはX’は、復号演算処理
部4において、後述するコンバータで、指数値に、すな
わちαi からiに変換される。具体的には、X’=X=
{x 1 ,x2 ,x3 ,x4 }がI={i1 ,i2
3 ,i4 }に変換され、X’={x’1 ,x’2 }が
I’={i’1 ,i’2 }に変換される。
【0038】図6は、訂正操作実行器12およびレジス
タBIN13の構成図である。図6に示すように、訂正操
作実行器12は、比較器40、加算器45およびゲート
ロジック46を備えている。また、レジスタBIN13
は、レジスタ41〜44およびレジスタ47〜50を備
えている。
【0039】バスI/Fブロック3は、レジスタGOUT
16から入力した誤り値(E)と誤り位置(I’)とを
用いて、訂正操作を実行する。バイナリカウンタ11
は、スイッチ7,8によるスクラッチパッドメモリ5,
6からの出力の切り換わりに対応して動作し、バイナリ
カウンタ11のバイナリカウンタ値が誤り位置(I’)
の構成要素のいずれか(i’n )と一致したときに、ゲ
ートロジック46から対応する誤り値en が加算器45
に出力される。そして、加算器45において、誤り値e
n と、スイッチ8からのメモリブロックのデータ出力と
について、ガロア体の加算が行われ、加算結果が出力デ
ータとなる。
【0040】次に、復号演算処理部4について説明す
る。図7は、復号演算処理部4の構成図である。図7に
示すように、復号演算処理部4は、マイクロコードRO
M50、シーケンサ51、デスティネイションコントロ
ーラ52、ワーキングレジスタ53、GLU(Global Lo
gic Unit) 54、ポート選択器55を備えている。
【0041】CIRC符号のようにtが4より小さく、
連立方程式から解が直接的に求められる場合で、かつ、
処理スピードが比較的遅くても良いときには、復号演算
処理部4としては、RISC(Reduced Instruction Set
Computer)型のものが用いられる。復号演算処理部4で
は、各演算は逐次的に行われ、演算セットは、GLU5
4として時分割共有化される。また、一連の演算処理
は、マイクロコード化されて、インストラクションコー
ドとしてマイクロコードROM50に格納され、シーケ
ンサ51からのROMアドレスによって、処理順序(メ
モリからの読み出し順序)が制御される。
【0042】また、途中の演算結果は、予め用意された
複数のワーキングレジスタ53に一時的に記憶される
が、どのワーキングレジスタ53に記憶するかもインス
トラクションコード内のデスティネイションコントロー
ルコードに記述されている。この手法によれば、処理ス
ピードの制限はあるものの、GLU54の時分割共有化
による装置の縮小化ができると共に、演算処理のマイク
ロコード化により設計の自由度を高めることができる。
例えば、2つのガロア体の元同士の加算は、各ビットの
排他的論理和に相当し、復号演算処理部4では1ステッ
プで実現できる。すなわち、GLU54は、ビット毎の
排他的論理和の機能を含んでいる。但し、ガロア体にお
ける乗算は、加算に比べてはるかに複雑であり、これを
ROMを用いて実現しようとすると、2バイトのアドレ
ス入力に対して1バイトの出力を得ることになり、非常
に規模が大きくなってしまう。
【0043】GLU54の構成について説明する。図8
は、GLU54の構成図である。図8に示すように、G
LU54は、オペレイションロジック60,61、コン
バータ62,63およびオペレイションセレクタ64を
備えている。GLU54では、2つの入力データa,b
のガロア体の元のそれぞれを、コンバータ62におい
て、対応する原始元の指数の値に変換、すなわちαi
iに変換し、指数同士の加算を実行する。そして、その
得られた加算結果を、コンバータ63において、対応す
るガロア体の元に変換、すなわち、iをαi に変換す
る。
【0044】例えば、αv とαw の乗算を実行して、α
V+W を得るには、GLU54において、下記式(11)
に示す4つの演算処理が必要で、少なくとも4ステップ
を要する。
【0045】
【数11】
【0046】除算も同様で、乗算における加算の代わり
に減算を実行する。従って、上述した手法では、誤り値
1 〜e4 を求めるには、上記式(3),(4),
(6),(7),(9)および(10)における乗算・
除算が20回あるので、これだけでも80ステップ以上
必要となる。これに、23回の加算を含めると、合計1
03ステップ以上必要となる。
【0047】本発明は、上述した従来技術に鑑みてなさ
れ、誤訂正を効果的に防止できるリードソロモン復号方
法を提供することを目的とする。また、本発明は、nシ
ンボルのデータ語について、n≦2(=t)の場合の訂
正方法を明確化したリードソロモン復号方法を提供する
ことを目的とする。
【0048】
【課題を解決するための手段】上述した従来技術の問題
点を解決し、上述した目的を達成するために、本発明の
リードソロモン復号方法は、2t(正の整数)シンボル
のパリティデータを持つ、リードソロモン符号化系列に
対して、誤りのシンボルの位置を示す消失位置を用いて
誤り訂正を行い、復号するリードソロモン復号方法であ
って、前記消失位置から誤りのシンボルの数nを求め、
0≦m1 ≦n≦m2 ≦2t(m1 、m2およびnは正の
整数)である場合に、nシンボルの消失エラー訂正の復
号演算を行って誤り値を求め、前記誤り値および前記消
失位置を用いて、訂正操作を行う。
【0049】また、本発明のリードソロモン復号方法
は、好ましくは、n=2tである場合に、2tシンボル
の消失エラー訂正を行う。
【0050】さらに、本発明のリードソロモン復号方法
は、好ましくは、n<m1 あるいはn>m2 である場合
に、前記消失位置を用いないでt重以下のエラー訂正を
行う。
【0051】
【発明の実施の形態】以下、本発明の実施形態に係わる
リードソロモン復号方法について説明する。第1実施形態 図1は、本実施形態に係わるリードソロモン復号方法の
フローチャートである。なお、以下、m1 =3、m2
4およびt=2の場合を例示して説明する。このリード
ソロモン復号方法では、図1に示すように、入力系列か
らシンドロームs0 〜s3 を計算し(ステップS1
1)、その消去フラグから消去位置x1〜x4 を得る
(ステップS12)。そして、消去フラグの数をカウン
トし、このカウント値をnとする(ステップS13)。
【0052】次に、n<m1 あるいはn>m2 である
か、すなわち、n<3あるいはn>4であるかを判断し
(ステップS14)、n<3あるいはn>4である場合
には、消去エラー訂正ができないので、訂正操作を行わ
ない(図1中実線(1))。あるいは、消去位置を用い
ないで、従来から行われているエラー訂正を実行し(図
1中点線(2))、2重以下の訂正を行う(ステップS
21,22,23)。
【0053】一方、0≦m1 ≦n≦m2 ≦2tである場
合に、すなわち、3≦n≦4の場合には、n=4(2
t)であるか否かを判断し(ステップS15)、n=4
であれば、従来技術において述べた、式(3),
(4),(6),(7),(9)および(10)のアル
ゴリズムにより、4重消失エラー訂正の復号演算を実行
して、誤り値e1 〜e4 を求める(ステップS16)。
次に、この求めた誤り値e1 〜e4 と、前述した消失位
置(すなわち、誤りの位置)x1 〜x4 を用いて訂正操
作を行う(ステップS17)。
【0054】また、ステップS15においてn=4でな
い場合には、n=3であるか否かが判断され(ステップ
S18)、n=3である場合には、前述した式(6),
(7),(9)および(10)のアルゴリズムにより、
3重消失エラー訂正の復号演算を実行して、誤り値e1
〜e3 を求める(ステップS19)。ところで、消失シ
ンボル数が3の場合で、もし復号演算の結果が正しいと
き、すなわち、消失位置以外に誤りが生じていない場合
には、入力系列からシンドローム演算により得たs0
3 と、消失位置x1 〜x3 および復号および復号演算
から求めた誤り値e1 〜e3 との間には、下記式(12
a)〜(12d)に示す関係がある。
【0055】
【数12】
【0056】ここで、消失位置以外に誤りが生じていて
復号演算の結果が正しくないときにも、求めたe1 〜e
3 は前述した式(5)の解であるから上記式(12a)
〜(12c)は必ず成立する。ところが、式(12d)
は、復号演算には用いられていないので必ず成立すると
は限らず、消失位置以外に誤りが生じていて復号演算の
結果が正しくないときは、むしろ成立しない確率が高
い。従って、復号演算の後に、上記式(12d)の右辺
を計算し、それが入力系列からシンドローム演算により
得たs3 と一致するかどうかで、正常終了判定を行う
(ステップS20)。もし、正常に終了していたなら
ば、誤り値e1 〜e3 と消失位置x1 〜x3 とを用いて
訂正操作を行う(ステップS17)。
【0057】一方、正常に終了していない場合には、訂
正操作は行わない(図1中実線(3))。あるいは、訂
正の速度に余裕がある場合には、消失位置を用いない
で、従来から行われているエラー訂正を実行すること
で、2重以下の訂正を行う(図1中点線(4))。この
場合には、誤り値e1 ,e2 と共に、新たに誤り位置
x’1,x’2を得て、訂正操作を行う(ステップS2
1,22,23)。
【0058】n=2のときには、2重消去エラー訂正お
よび1重エラー訂正を実行するものが考えられる。これ
は、2重消去エラー訂正のアルゴリズムで消去位置
1 ,x 2 を用いて誤り値e1 ,e2 を求め、1重エラ
ー訂正のアルゴリズムで誤り位置x’3 と誤り値e3
得る。これらの値と入力系列からシンドローム演算によ
り得たs0 〜s3 との間には、下記式(13)に示すよ
うな関係がある。
【0059】
【数13】
【0060】このとき、求める値は、e1 〜e3 とx’
3 の4つであるから、上記式(13)の4つの方程式か
らなる連立方程式を解くことで上記4つのパラメータを
得ることができ、3バイトの訂正ができるはずである。
しかしながら、上記式(13)を解くのは複雑である。
【0061】n≦2(=t)の場合の簡単な方法は、図
1に示すように、消失エラー訂正を実行しないで前記2
重以下の訂正を実行することである。この方法が有効な
のは、2重消失エラー訂正のみを実行しても、訂正可能
なシンボル数は、高々2シンボルであり、かつ、消失位
置以外のシンボルに誤りが生じているときに上記(1
3)を解いて訂正するのは複雑だからである。従って、
上述した例では、m1 >tとすることが望ましい。
【0062】以上説明したように、本実施形態のリード
ソロモン復号方法によれば、誤訂正を効果的に防止でき
る。また、本実施形態のリードソロモン復号方法では、
n≦2(=t)の場合の訂正方法を明確化している。
【0063】上述した実施形態では、CIRC符号を例
に、t=2の場合について説明したが、本発明は任意の
値のtに対して適用できる。ただし、tが比較的大きな
値の場合には、連立方程式の解を直接求めるのが困難で
あるため、ユークリッド復号法などの繰り返しのアルゴ
リズムを用いる。前記ユークリッド復号法については、
文献「Sugiyama、Kasahara、Hira
sawa著、A method for solvin
g key equation for decodi
ng Goppa codes、Inf.and Co
nt.、27、1975年」に、その消失訂正法につい
ては、文献「Sugiyama、Kasahara、H
irasawa、Namekawa著、An eras
ures−and−errors decoding
algorithm for Goppa Code
s、IEEE Trans.Inform.Theor
y、1976年」に詳しい。このような繰り返しのアル
ゴリズムを用いるときには、消失位置以外のシンボルに
誤りが生じていても、訂正できる場合がある。誤りの総
数Nについて、N<max{(2t+n)/2}≦2t
であるならば、訂正可能である。このときは、n≦tの
ときにも、n<max{(2t+n)/2}であること
から、m1 ≦tとすることも可能である。ここで、ma
x{ }は、ガロア記号であり、例えば、max{a}
は、aを越えない最大の整数を示している。また、積符
号の内符号の復号については、所定の数Lに対して、復
号後に判明した誤りの数が、max{(2t+n)/
2}−Lより大きいならば、出力の消失フラグをセット
したり、誤り訂正を行わないなどの処理も可能である。
このようにすることで、内符号の復号の誤り検出能力を
高めることができる。
【0064】
【発明の効果】以上説明したように、本発明のリードソ
ロモン復号方法によれば、誤訂正を効果的に防止でき
る。また、本発明のリードソロモン復号方法では、n≦
2(=t)の場合の訂正方法を明確化している。
【図面の簡単な説明】
【図1】図1は、本発明の実施形態に係わるリードソロ
モン復号方法のフローチャートである。
【図2】図2は、従来のリードソロモン復号方法のフロ
ーチャートである。
【図3】図3は、従来のリードソロモン復号装置の構成
図である。
【図4】図4は、図3に示すリードソロモン復号装置の
動作時におけるデータおよび構成要素の時系列的な状態
を示し、(A)は入力データ、(B)は出力データ、
(C)はレジスタBOUT の記憶状態、(D)はレジスタ
INの記憶状態、(E)はレジスタGOUT の記憶状態、
(F)はレジスタGINの記憶状態、(G)は復号演算器
の処理状態をそれぞれ示している。
【図5】図5は、図3に示す入力パラメータ演算器およ
びレジスタの構成図である。
【図6】図6は、図3に示す訂正操作実行器およびレジ
スタの構成図である。
【図7】図7は、図3に示す復号演算処理部の構成図で
ある。
【図8】図8は、図7に示すGLUの構成図である。
【符号の説明】
1…リードソロモン復号装置、2…メモリブロック、3
…バスI/Fブロック、4…復号演算処理部、9…入力
パラメータ演算器、12…訂正操作実行器、17…復号
演算器

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】2t(正の整数)シンボルのパリティデー
    タを持つ、リードソロモン符号化系列に対して、誤りの
    シンボルの位置を示す消失位置を用いて誤り訂正を行
    い、復号するリードソロモン復号方法において、 前記消失位置から誤りのシンボルの数nを求め、 0≦m1 ≦n≦m2 ≦2t(m1 、m2 およびnは正の
    整数)である場合に、 nシンボルの消失エラー訂正の復号演算を行って誤り値
    を求め、 前記誤り値および前記消失位置を用いて、訂正操作を行
    うリードソロモン復号方法。
  2. 【請求項2】n=2tである場合に、2tシンボルの消
    失エラー訂正を行う請求項1に記載のリードソロモン復
    号方法。
  3. 【請求項3】n<m1 あるいはn>m2 である場合に、
    前記消失位置を用いないでt重以下のエラー訂正を行う
    請求項1に記載のリードソロモン復号方法。
JP9124411A 1997-05-14 1997-05-14 リードソロモン復号方法 Pending JPH10322226A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9124411A JPH10322226A (ja) 1997-05-14 1997-05-14 リードソロモン復号方法
US09/078,423 US6233710B1 (en) 1997-05-14 1998-05-13 Reed-Solomon decoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9124411A JPH10322226A (ja) 1997-05-14 1997-05-14 リードソロモン復号方法

Publications (1)

Publication Number Publication Date
JPH10322226A true JPH10322226A (ja) 1998-12-04

Family

ID=14884813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9124411A Pending JPH10322226A (ja) 1997-05-14 1997-05-14 リードソロモン復号方法

Country Status (2)

Country Link
US (1) US6233710B1 (ja)
JP (1) JPH10322226A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233710B1 (en) * 1997-05-14 2001-05-15 Texas Instruments Incorporated Reed-Solomon decoding device

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100378181B1 (ko) * 2000-06-09 2003-03-29 삼성전자주식회사 Efm/efm+ 디코딩에 의해 검출된 에러위치를 이용한c1/pi 워드의 에러정정 방법 및 장치
KR100561847B1 (ko) * 2003-10-08 2006-03-16 삼성전자주식회사 공개키를 이용한 데이터 암호화 및 복호화 방법
US7228490B2 (en) * 2004-02-19 2007-06-05 Quantum Corporation Error correction decoder using cells with partial syndrome generation
US10164660B1 (en) 2016-12-23 2018-12-25 Intel Corporation Syndrome-based Reed-Solomon erasure decoding circuitry
US11962327B2 (en) * 2022-01-13 2024-04-16 Micron Technology, Inc. Iterative decoding technique for correcting DRAM device failures

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541091A (en) * 1982-06-11 1985-09-10 Hitachi, Ltd. Code error detection and correction method and apparatus
JP2605271B2 (ja) * 1987-02-10 1997-04-30 ソニー株式会社 エラー訂正及びチエツク装置
US5099482A (en) * 1989-08-30 1992-03-24 Idaho Research Foundation, Inc. Apparatus for detecting uncorrectable error patterns when using Euclid's algorithm to decode Reed-Solomon (BCH) codes
US5589994A (en) * 1992-08-21 1996-12-31 Mitsubishi Denki Kabushiki Kaisha Image recording method and apparatus with reduced error propagation
JP3154607B2 (ja) * 1993-12-28 2001-04-09 三菱電機株式会社 誤り訂正復号装置及び誤り訂正復号方法
US5644695A (en) * 1994-01-03 1997-07-01 International Business Machines Corporation Array combinatorial decoding with multiple error and erasure detection and location using cyclic equivalence testing
JP3328093B2 (ja) * 1994-07-12 2002-09-24 三菱電機株式会社 エラー訂正装置
KR20000011007A (ko) * 1996-05-15 2000-02-25 토마스 에프.멀베니 판독 채널 성능 지시기 및 에러 정정코드를 이용한 판독 방법및 디스크 드라이브u
JP3850512B2 (ja) * 1997-05-07 2006-11-29 日本テキサス・インスツルメンツ株式会社 リードソロモン復号装置
JPH10322226A (ja) * 1997-05-14 1998-12-04 Texas Instr Japan Ltd リードソロモン復号方法
US6009550A (en) * 1997-05-20 1999-12-28 Seagate Technology, Inc. PBA recovery apparatus and method for interleaved reed-solomon codes
JP3813337B2 (ja) * 1997-12-01 2006-08-23 日本テキサス・インスツルメンツ株式会社 消失誤り訂正方法とその装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233710B1 (en) * 1997-05-14 2001-05-15 Texas Instruments Incorporated Reed-Solomon decoding device

Also Published As

Publication number Publication date
US6233710B1 (en) 2001-05-15

Similar Documents

Publication Publication Date Title
US5020060A (en) Error code correction device having a galois arithmetic unit
EP0357461B1 (en) Error correction circuit
US5642367A (en) Finite field polynomial processing module for error control coding
EP0114938A2 (en) On-the-fly multibyte error correction
JP2001502153A (ja) 大規模データ・ブロックのためのハードウェア最適化リード・ソロモン・デコーダ
WO2000057561A1 (en) Pipelined high speed reed-solomon error/erasure decoder
CA1291819C (en) Decoder
JPH11507754A (ja) 10ビットリード−ソロモン誤り訂正モジュール用専用aluアーキテクチャ
KR100213254B1 (ko) 에러 정정 방법 및 장치
JP3850511B2 (ja) リードソロモン復号装置
JPH10322226A (ja) リードソロモン復号方法
US20030159103A1 (en) Efficient method for fast decoding of BCH binary codes
EP0629052B1 (en) Method of and circuit for correcting errors
JP3850512B2 (ja) リードソロモン復号装置
JP2605966B2 (ja) 誤り訂正回路
JP2553565B2 (ja) ガロア体演算装置
JP2665268B2 (ja) サイクリックコードのステップ・バイ・ステップ型復号方法及び復号器
JP2907138B2 (ja) 誤り訂正の演算処理方法及び処理回路
JP3265273B2 (ja) 誤り訂正回路
JP2553571B2 (ja) ガロア体演算装置
JPH07230388A (ja) 誤り訂正方法及び装置
KR0158639B1 (ko) 신드롬 변환을 이용한 에러 정정 장치 및 그 방법
KR910009094B1 (ko) 갈로이계 연산장치
KR930000220B1 (ko) 리드-솔로몬 코드의 에러위치 정정시스템
JPH0133055B2 (ja)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040430

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060530

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061003