JPH10308675A - リードソロモン復号装置 - Google Patents
リードソロモン復号装置Info
- Publication number
- JPH10308675A JPH10308675A JP9116882A JP11688297A JPH10308675A JP H10308675 A JPH10308675 A JP H10308675A JP 9116882 A JP9116882 A JP 9116882A JP 11688297 A JP11688297 A JP 11688297A JP H10308675 A JPH10308675 A JP H10308675A
- Authority
- JP
- Japan
- Prior art keywords
- decoding
- decoding operation
- output
- code
- reed
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/158—Finite field arithmetic processing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1515—Reed-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)
Abstract
演算を高速に行うことが可能なリードソロモン復号装置
を提供する。 【解決手段】 データ系列からシンドロームおよび消失
データを含む復号演算入力パラメータを生成する復号演
算入力パラメータ演算器309と、所定の復号演算操作
を示す命令コードに基づいて、復号演算入力パラメータ
を用いた復号演算を行い、誤り値データおよび誤り位置
データを含む復号演算出力パラメータを生成する復号演
算処理部304と、前記復号演算出力パラメータを用い
て訂正操作を行う訂正操作実行器312と、復号演算処
理部304に出力する復号演算入力パラメータと、訂正
操作実行器312に出力する復号演算出力パラメータと
を選択的に記憶するレジスタB313とを有する。
Description
タル伝送の誤り訂正符号化として用いられるリードソロ
モン符号化された信号を復号するリードソロモン復号装
置に関する。
ド・ソロモン符号(以下RS符号)は、その符号化効率
の良さとバーストエラーに対する適正から、主に記録媒
体やディジタル伝送の外符号に用いられている。例えば
コンパクトディスクで採用されているエラー訂正符号
は、CIRC訂正符号(クロスインターリーブ・リード
・ソロモン符号)と称され、インターリーブの技法と組
み合わせた積符号である。その外符号としてRS(2
8、24)符号が、内符号としてRS(32、28)符
号が採用されていて、それぞれC2符号及びC1符号と
呼ばれる。いずれの符号とも、ひとつのRS符号化シン
ボルは1バイトで構成され、ひとつのRS符号化ブロッ
クは4バイトのパリティ検査列を含んでいる。
でtシンボルの訂正が可能である。tシンボルの訂正に
はt個の誤り位置とそのそれぞれの誤りに対応したt個
の誤りの値を知る必要がある。RS符号はt個の誤りの
発生に対し、復号側でシンドローム演算をすることで2
t個の線形独立な方程式を得る。この方程式を解くこと
で2t個の未知数である、前記t個の誤り位置とそのそ
れぞれの誤り位置に対応した前記t個の誤りの値を求め
ることができる。
を取っているものは、内符号に対する内側RS復号にお
いて訂正できなかったRS符号化ブロックや誤訂正の可
能性の比較的高いRS符号化ブロックに消失フラグを付
加することで、外符号に対応した外側RS復号において
消失エラー訂正が可能になる。消失フラグが付加された
内符号の消失シンボルはデ・インターリーブによって複
数の外側のRS符号化ブロックに分散される。消失エラ
ー訂正では、前記消失シンボルに誤りが存在すると仮定
してシンドローム演算から得られる連立方程式を解く。
誤り位置を既知として解くので最大2t個の誤りを値を
求めることができる。即ち、2tシンボルの検査列を持
つRS符号に対しては、消失エラー訂正を実行すること
で最大2tシンボルの誤り訂正が可能である。
正の手法を説明する。CIRC符号の場合、内符号であ
るC1符号のRS復号(C1復号)において消失フラグ
を付加することで、外符号であるC2符号のRS復号
(C2復号)で消失エラー訂正が可能である。C1符
号、C2符号ともにt=2であるから、C1復号は最大
2バイトの訂正が、C2復号の消失エラー訂正では最大
4バイトの訂正がそれぞれ可能である。そのC2復号に
おけるシンドロームs0 〜s3 と、誤り値e1 〜e4 が
次のようにして求められる。CIRC符号の符号生成多
項式Ge(x)は、下記式(1)で示される。
とき、入力系列からシンドローム演算により得たs0 〜
s3 は、前記x1 〜x4 およびe1 〜e4 との間に下記
式(2)で示される関係がある。
し、記号‘+’はガロア体上の加算を示す。以下、ある
ガロア体の元同士の四則演算は、そのガロア体上での演
算を示すこととする。前記式(2)を連立方程式を解い
て、未知数である誤り値e1 〜e4 を求めると次のよう
になるまず、e4 は、下記式(3)として得られる。
て3つの等式から成る連立方程式を再構成する。即ち、
CIRC符号で用いられているガロア体は加算と減算が
同じであることに注意して下記式(4)のように修正す
ることで、前記式(2)の連立方程式は下記式(5)に
変形される。
求めるときによく用いられる手法である。次に、式
(5)の連立方程式を解いてe3 を求めると、下記式
(6)のようになる。
(5)の連立方程式は下記式(7),(8)のように変
形される。
2 を求めると、下記式(9)となる。
入して下記式(10)を得る。
求めることができる。上述した手法において、情報とし
て元来もっているものと、実際の復号の際に行われる演
算操作とを区別するために、記号‘=’と‘←’とを使
い分けている。つまり、実際の復号演算に対応するの
は、式(3)、(4)、(6)、(7)、(9)および
(10)であり、少なくとも、ガロア体上の加算が23
回、乗算が17回、除算が3回必要である。一方、消去
エラー訂正を行わない場合には、C2復号で最大2バイ
トまで訂正(2重エラー訂正)ができる。このときは、
シンドロームs0 〜s3 から、誤り値e1 ,e2 と誤り
位置x’1 ,x’2 を求める。以上は、4重消去エラー
訂正、すなわち、消去位置の数が4の場合の復号演算処
理過程である。
いて説明する。図10は、従来のリードソロモン復号装
置1の構成図である。図10に示すように、リードソロ
モン復号装置1は、メモリブロック2、バスI/Fブロ
ック3および復号演算処理部4を備えている。メモリブ
ロック2は、スクラッチパッドメモリ5,6およびスイ
ッチ7,8を備えている。スイッチ7は、入力データを
選択的にスクラッチパッドメモリ5,6に出力する。ス
イッチ8は、スクラッチパッドメモリ5の記憶内容を選
択的に訂正操作実行器12に出力する。
演算器9、レジスタBOUT 10、バイナリカウンタ1
1、訂正操作実行器12およびレジスタBIN13を備え
ている。復号演算処理部4は、スイッチ14、レジスタ
GIN15、レジスタGOUT 16および復号演算器17を
備えている。図11は、リードソロモン復号装置1の動
作時におけるデータおよび構成要素の時系列的な状態を
示し、(A)は入力データ、(B)は出力データ、
(C)はレジスタBOUT 10の記憶状態、(D)はレジ
スタBIN13の記憶状態、(E)はレジスタGOUT 16
の記憶状態、(F)はレジスタGIN15の記憶状態、
(G)は復号演算器17の処理状態をそれぞれ示してい
る。
スクラッチパッドメモリ5においてC1符号に関する入
力データの入出力を行っているときには、バスI/Fブ
ロック3はC1符号に関する入力データ対して、入力パ
ラメータ演算器9において復号演算入力パラメータの計
算を行い、訂正操作実行器12において訂正操作を行っ
ている。また、このとき、復号演算処理部4ではC2符
号に関する入力データについてC2復号処理が行われて
いる。
C2符号に関する入力データの入出力を行っているとき
には、バスI/Fブロック3はC2符号に関する入力デ
ータ対して、入力パラメータ演算器9において復号演算
入力パラメータの計算を行い、訂正操作実行器12にお
いて訂正操作を行っている。また、このとき、復号演算
処理部4ではC1符号に関する入力データについてC1
復号処理が行われている。
体的には、シンドローム(S)および消失位置(I)で
ある。シンドローム(S)は、図10に示す入力パラメ
ータ演算器9およびレジスタBOUT 10の組み合わせに
よって演算される。図12は、入力パラメータ演算器9
およびレジスタBOUT 10の構成図である。図12に示
すように、入力パラメータ演算器9は、乗算器24〜2
7、加算器20〜23、消去フラグ検出器28および分
配器29を備えている。また、レジスタBOUT 10は、
レジスタ30〜33およびレジスタ34〜37を備えて
いる。
ガロア体の乗算器であり、それぞれ×α0 、×α1 、×
α2 、×α3 の乗算を行う。消去フラグ検出器28は、
入力データに含まれる消去フラグが「1」であるか否か
を検出する。分配器29は、入力データに含まれる各R
Sシンボル位置と対応して動作するバイナリカウンタ1
1の出力をレジスタBOUT 10のレジスタ34〜37の
いずれかに出力して記憶させる。このレジスタ34〜3
7の記憶結果が消失位置(I)を示す。
器17において、後述するコンバータにより、ガロア体
の表現に、すなわち「i」から「αi 」に変換される。
具体的には、I={i1 ,i2 ,i3 ,i4 }が、X=
{x1 ,x2 ,x3 ,x4 }に変換される。
式(3),(4),(6),(7)および(10)に対
応する復号演算は、復号演算処理部4において実行さ
れ、レジスタBOUT 10からの復号演算入力パラメータ
S={s0 ,s1 ,s2 ,s3}と、I={i1 ,
i2 ,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 }を得る。
部4において、後述するコンバータで、指数値に、すな
わちαi からiに変換される。具体的には、X’=X=
{x 1 ,x2 ,x3 ,x4 }がI={i1 ,i2 ,
i3 ,i4 }に変換され、X’={x’1 ,x’2 }が
I’={i’1 ,i’2 }に変換される。
スタBIN13の構成図である。図13に示すように、訂
正操作実行器12は、比較器40、加算器45およびゲ
ートロジック46を備えている。また、レジスタBIN1
3は、レジスタ41〜44およびレジスタ47〜50を
備えている。
16から入力した誤り値(E)と誤り位置(I’)とを
用いて、訂正操作を実行する。バイナリカウンタ11
は、スイッチ7,8によるスクラッチパッドメモリ5,
6からの出力の切り換わりに対応して動作し、バイナリ
カウンタ11のバイナリカウンタ値が誤り位置(I’)
の構成要素のいずれか(i’n )と一致したときに、ゲ
ートロジック46から対応する誤り値en が加算器45
に出力される。そして、加算器45において、誤り値e
n と、スイッチ8からのメモリブロックのデータ出力と
について、ガロア体の加算が行われ、加算結果が出力デ
ータとなる。
る。図14は、復号演算処理部4の構成図である。図1
4に示すように、復号演算処理部4は、マイクロコード
ROM50、シーケンサ51、デスティネイションコン
トローラ52、ワーキングレジスタ53、GLU(Globa
l Logic Unit) 54、ポート選択器55を備えている。
連立方程式から解が直接的に求められる場合で、かつ、
処理スピードが比較的遅くても良いときには、復号演算
処理部4としては、RISC(Reduced Instruction Set
Computer)型のものが用いられる。復号演算処理部4で
は、各演算は逐次的に行われ、演算セットは、GLU5
4として時分割共有化される。、また、一連の演算処理
は、マイクロコード化されて、インストラクションコー
ドとしてマイクロコードROM50に格納され、シーケ
ンサ51からのROMアドレスによって、処理順序(メ
モリからの読み出し順序)が制御される。
複数のワーキングレジスタ53に一時的に記憶される
が、どのワーキングレジスタ53に記憶するかは、イン
ストラクションコード内のデスティネイションコントロ
ールコードに記述されている。この手法によれば、処理
スピードの制限はあるものの、GLU54の時分割共有
化による装置の縮小化ができると共に、演算処理のマイ
クロコード化により設計の自由度を高めることができ
る。例えば、2つのガロア体の元同士の加算は、各ビッ
トの排他的論理和に相当し、復号演算処理部4では1ス
テップで実現できる。すなわち、GLU54は、ビット
毎の排他的論理和の機能を含んでいる。但し、ガロア体
における乗算は、加算に比べてはるかに複雑であり、こ
れをROMを用いて実現しようとすると、2バイトのア
ドレス入力に対して1バイトの出力を得ることになり、
非常に規模が大きくなってしまう。
5は、GLU54の構成図である。図15に示すよう
に、GLU54は、オペレイションロジック60,6
1、コンバータ62,63およびオペレイションセレク
タ64を備えている。GLU54では、2つの入力デー
タa,bのガロア体の元のそれぞれを、コンバータ62
において、対応する原始元の指数の値に変換、すなわち
αi をiに変換し、指数同士の加算を実行する。そし
て、その得られた加算結果を、コンバータ63におい
て、対応するガロア体の元に変換、すなわち、iをαi
に変換する。
V+W を得るには、GLU54において、下記式(11)
に示す4つの演算処理が必要で、少なくとも4ステップ
を要する。
に減算を実行する。従って、上述した手法では、誤り値
e1 〜e4 を求めるには、上記式(3),(4),
(6),(7),(9)および(10)における乗算・
除算が20回あるので、これだけでも80ステップ以上
必要となる。これに、23回の加算を含めると、合計1
03ステップ以上必要となる。そのため、高速処理の要
求に応えることができない。なお、tが4より大きい場
合には、前記式(2)に示したような連立方程式を解く
ことは非現実的であるため、ユークリッド復号法などの
繰り返しアルゴリズムが採用される。しかしながら、い
ずれにしても、ガロア体の乗算や除算に4ステップも必
要となると、高速処理の実現は困難である。
スピードの要求は、現在、2倍速から12倍速にまで高
まっており、誤り訂正の処理ステップ数の制限が日増し
に厳しくなってきている。さらには、光学系の読み取り
誤差が、当然大きくなってくるわけで、前記消失エラー
訂正による訂正能力の強化が強く望まれている。つま
り、より高い機能を、より少ないステップ数で実現する
必要がある。
実現するには、例えば演算の1ステップを16MHzの
1クロック内で終了するとすれば、C1とC2の1回ず
つの復号を、192ステップ以内で実行する必要があ
る。これには分岐処理等の周辺処理を含めての条件なの
で、C2復号のコアの処理はその1/4以内のステップ
数で実現する必要がある。しかしながら、従来の構成で
は、例えばC2復号で消失エラー訂正を行うときに、そ
の訂正コアの処理だけで103ステップ以上の演算ステ
ップ数を要し、高速処理の要求に答えることができな
い。
では、図10に示すように、バスI/Fブロック3には
レジスタBOUT 10およびレジスタBIN13の2個のレ
ジスタが設けられていると共に、復号演算処理部4に
は、レジスタGOUT 16およびレジスタGIN15の2個
のレジスタが設けられている。また、リードソロモン復
号装置1では、消失位置や誤り位置を用いた演算を、ガ
ロア体の指数表現で行なっているため、図15に示すよ
うに、復号演算処理部4のGLU54には、ガロア体の
元を対応する原始元の指数に変換するコンバータ62
と、その逆変換を行なうコンバータ63とが必要にな
る。そのため、リードソロモン復号装置1は、大規模な
ものになってしまうという問題がある。
れ、本発明は、回路規模の縮小化を図れるリードソロモ
ン復号装置を提供することを目的とする。また、本発明
は、高速処理が可能なリードソロモン復号装置を提供す
ることを目的とする。
点を解決し、上述した目的を達成するために、本発明の
リードソロモン復号装置は、データ系列からシンドロー
ムおよび消失位置を含む復号演算入力パラメータを生成
する復号演算入力パラメータ演算手段と、所定の復号演
算操作を示す命令コードに基づいて、復号演算入力パラ
メータを用いた復号演算を行い、誤り値データおよび誤
り位置データを含む復号演算出力パラメータを生成する
復号演算手段と、前記復号演算出力パラメータを用いて
訂正操作を行う訂正操作手段と、前記復号演算手段に出
力する復号演算入力パラメータと、前記訂正操作手段に
出力する復号演算出力パラメータとを選択的に記憶する
記憶手段とを有する。
号演算入力パラメータ演算手段における処理と、訂正操
作手段における処理とが同時に行われない。このとき、
記憶手段に、復号演算入力パラメータが記憶されている
タイミングと、復号演算出力パラメータが記憶されてい
るタイミングとが重なり合うことがないため、記憶手段
に、復号演算入力パラメータと復号演算出力パラメータ
とを選択的に記憶させることができる。
は、好ましくは、前記復号演算手段は、復号演算入力パ
ラメータと、前記訂正操作手段に出力する復号演算出力
パラメータとを選択的に記憶する記憶部を備える。
は、好ましくは、入力されたデータ系列を切り換えて、
C1符号のデータ語を第1の記憶部に記憶し、C2符号
のデータ語を第2の記憶部に記憶する入出力手段をさら
に有する。
は、好ましくは、前記入出力手段がC1符号のデータ語
に関する入出力を実行中に、前記復号演算入力パラメー
タ演算手段はC1符号のデータ語に関する復号演算入力
パラメータを生成し、前記復号演算手段は、C2符号の
データ語に関する復号演算を行い、前記入出力手段がC
2符号のデータ語に関する入出力を実行中に、前記復号
演算入力パラメータ演算手段はC2符号のデータ語に関
する復号演算入力パラメータを生成し、前記復号演算手
段は、C1符号のデータ語に関する復号演算を行う。
は、好ましくは、前記データ系列のシンボル位置を逐次
的に前記訂正操作手段に出力するガロア体カウンタをさ
らに有する。
は、好ましくは、前記復号演算手段は、ガロア体GF
(2i )の第1の元αw (Aw,i-1,Aw,i-2,Aw,i-3,
…, Aw,3,Aw,2,Aw,1,Aw,0 )T と第2の元αv (A
v,i-1,Av,i-2,Av,i-3,…, Av,3,Av,2,Av,1,
Av,0 )T との乗算を行なう乗算器であって、前記第1
の元と前記ガロア体の原始元αのαo ,α1 ,α2 ,α
3 ,…,αi-3 ,αi-2 ,αi-1 とのそれぞれの乗算を
並列に行なうi個の乗算部と、前記i個の乗算部の乗算
結果と前記Av,0,Av,1,Av,2,Av,3,…, Av,i-3,A
v,i-2,Av,i-1 とのそれぞれの論理積演算を並列に行な
うi個の論理積演算部と、前記i個の論理積演算部の演
算結果を加算する加算部とを備える乗算器を有する。
は、好ましくは、前記復号演算手段は、ガロア体GF
(2i )の第1の元αw (Aw,i-1,Aw,i-2,Aw,i-3,
…, Aw, 3,Aw,2,Aw,1,Aw,0 )T と第2の元αv (A
v,i-1,Av,i-2,Av,i-3,…, Av, 3,Av,2,Av,1,
Av,0 )T との乗算を行なう乗算器であって、前記第1
の元と前記Av,0,Av,1,Av,2,Av,3,…, Av,i-3,A
v,i-2,Av,i-1 とのそれぞれの論理積演算を並列に行な
うi個の論理積演算部と、前記論理積演算部のそれぞれ
の演算結果と前記ガロア体の原始元αのα0 ,α1 ,α
2 ,α3 ,…, αi-3 ,αi- 2 ,αi-1 とのそれぞれの
乗算を並列に行なうi個の乗算部と、前記i個の乗算部
の乗算結果を加算する加算部とを備える乗算器を有す
る。
リードソロモン復号装置について説明する。高速処理を
実現するひとつの直接的な手法は、1ステップでガロア
体の乗・除算を実現することである。これはROMで実
現できるが、かなり大きなもの(それぞれ容量64Kバ
イト)になることを先に述べた。ところが、乗算につい
てはその規則性を利用して、高速な乗算回路が300ゲ
ート程度で実現できる。一例として、ガロア体GF(2
i )でi=8の場合を示す。まず、ガロア体GF
(28 )の原始元をαとして、その任意の元αv は下記
式(12),(13)のように表現できる。
は任意の整数である。また、(αv)は元αv の列ベク
トル表現を示し、(…)T は転置行列を表す。ここで前
記ガロア体の任意の元αv とαw :(Aw ,7 A
w ,6... Aw ,1 A w ,0)T との乗算を考える。前記式
(13)から下記式(14)が成り立つ。
下記式(15)を得る。
当する行列で8×8行列である。つまり、下記式(1
6)が成り立つ。
記式(17)に示す体生成多項式から、下記式(1
8),(19)が成り立つ。
は、図1に示すように、2つの入力(αw ,αv )のう
ち、片方の元に乗算器111〜118によってα0 〜α
7 を乗じたものを、もう片方の各ビットを一方の入力と
するANDゲート121〜128によってゲートして、
8個の8バイトの出力を得て、それらの加算(ビットご
との排他的論理和)をGF加算器129によって演算す
る構成で実現できる。前記式(18)、(19)より
[×α0 ]〜[×α7 ]のそれぞれに対応した乗算回路
は、それぞれ3〜21個の排他的論理和ゲートを施すと
ガロア体の乗算回路全体を300ゲートくらいで実現で
きる。この乗算回路単体の遅延量は、例えば10ns以
下であり、16MHZ の周期で1ステップでの処理が十
分可能である。
のように変形できる。
図2のようにANDゲートを入力側に配置することも可
能である。すなわち、2つの入力(αw ,αv )のAN
DをANDゲート131〜138によって求め、その結
果に、乗算器141〜148によってα0 〜α7 を乗じ
たものを、GF加算器129によって加算する構成で実
現できる。
の元の逆元を求めてから、割られる方の元との乗算を、
前記乗算回路で実行する。つまり、2ステップを要する
ことになる。前記逆元を求めるには、8ビットの入力に
対し、8ビットの出力を得ればよいので、容量256バ
イトのROMで実現できる。これは、例えば500ゲー
ト相当であり、回路規模上もさほどインパクトがない。
乗算が1ステップで、除算が2ステップでそれぞれ実行
可能となる。これにより、前記式(3)、(4)、
(6)、(7)、(9)、及び(10)の17回の乗算
は17ステップで、3回の除算は6ステップで実現で
き、23回(23ステップ)の加算を含めて合計46ス
テップで実現できる。つまり、従来の半分以下のステッ
プ数で実現できる。
は、図1示す乗算器110あるいは図2に示す乗算器1
30を、復号演算処理部のGLUに用いている。また、
本実施形態のリードソロモン復号装置では、バイナリカ
ウンタの代わりに、ガロア体の元を逐次的に出力するガ
ロア体カウンタを用いることで、復号演算処理部のGL
Uの構成を簡単化すると共に、バスI/Fブロックおよ
び復号演算処理部のレジスタの規模を縮小する。
復号装置の構成について詳細に説明する。図3は、本実
施形態に係わるリードソロモン復号装置301の構成図
である。図3に示すように、リードソロモン復号装置3
01は、メモリブロック302、バスI/Fブロック3
03および復号演算処理部304を備えている。メモリ
ブロック302は、スクラッチパッドメモリ305,3
06およびスイッチ307,308を備えている。スイ
ッチ307は、入力データを選択的にスクラッチパッド
メモリ305,306に出力する。スイッチ308は、
スクラッチパッドメモリ305の記憶内容を選択的に訂
正操作実行器312に出力する。
ータ演算器309、スイッチ310、GFカウンタ31
1、訂正操作実行器312およびレジスタ313を備え
ている。ここで、GFカウンタ311は、図3に示すバ
イナリカウンタ11の代わりに設けられ、ガロア体の元
を逐次的に出力するガロア体カウンタである。例えば、
リードソロモン復号装置301に対する入出力が、RS
符号のMSB(Most Significant Bit)からLSB(Least
Significant Bit) の方向であるとき、GFカウンタ3
11は、図4に示すように、α-1の係数乗算器400と
レジスタ401で構成できる。この場合には、初期値と
して例えばα31を与える。また、リードソロモン復号装
置301に対する入出力が、RS符号のLSBからMS
Bの方向であるとき、GFカウンタ311は、図5に示
すように、α1 の係数乗算器402とレジスタ403で
構成できる。
4、スイッチ315および復号演算器317を備えてい
る。
動作時におけるデータおよび構成要素の時系列的な状態
を示し、(A)は入力データ、(B)は出力データ、
(C)はレジスタB313の記憶状態、(D)はレジス
タG314の記憶状態、(E)はは復号演算器317の
処理状態をそれぞれ示している。
のスクラッチパッドメモリ305においてC1符号に関
する入力データの入出力を行っているときに、そのシン
ドローム(S)と消失位置(X)が計算される。このと
き、図3および図7に示すスイッチ310の選択は点線
の矢印に示す位置なっている。また、このとき、復号演
算処理部304は、G2復号を実行していて、図3に示
すスイッチ315の選択は点線の矢印に示す位置になっ
ている。また、レジスタ314は、ワーキングレジスタ
として動作している。
作のための復号演算出力パラメータである誤り値(E)
と誤り位置(X’)がレジスタ314に入力される。前
述したC1の復号演算入力パラメータの入力が終了し、
かつ、C2復号が終了すると、図3のスイッチ310お
よびスイッチ315は、実線の矢印の位置に切り換わ
り、それぞれのデータを交換する。具体的には、C1の
復号演算入力パラメータがレジスタ313から復号演算
器317に出力され、レジスタ314からレジスタ31
3に、C2符号の誤り値(E)と誤り位置(X’)が入
力され、C2符号の訂正が、訂正操作実行器312によ
って行われる。このように、バスI/Fブロック303
では、入力パラメータ演算器309および訂正操作実行
器312における処理が同時に行われないことを利用し
て、復号演算入力パラメータ用および復号演算出力パラ
メータ用でレジスタ313を共用し、回路規模の縮小化
を図っている。
体的には、シンドローム(S)および消失位置(X)で
ある。図7は、入力パラメータ演算器309、スイッチ
310およびレジスタ313の構成図である。図7に示
すように、入力パラメータ演算器309は、乗算器32
4〜327、加算器320〜323、消去フラグ検出器
328および分配器329を備えている。分配器329
には、図3に示すGFカウンタ311からGFカウント
値が入力される。
値のガロア体の乗算器であり、それぞれ×α0 、×
α1 、×α2 、×α3 の乗算を行う。消去フラグ検出器
328は、入力データに含まれる消去フラグが「1」で
あるか否かを検出する。分配器329は、入力データに
含まれる各RSシンボル位置と対応して動作するGFカ
ウンタ311の出力をレジスタB313のレジスタ33
4〜337のいずれかに分配して出力し、記憶させる。
〜377を備えている。スイッチ370〜373は、復
号演算器317からの誤り値(E)および誤り位置
(X’)と、加算器320〜323からの出力とを選択
的にレジスタ330〜333に出力する。スイッチ37
4〜377は、復号演算器317からのE,X’と、分
配器329からの出力とを選択的にレジスタ334〜3
37に出力する。
3およびレジスタ334〜337を備えている。
で、復号演算処理部304はiからα i に変換する変換
器を設ける必要がない。
式(3),(4),(6),(7)および(10)に対
応する復号演算は、復号演算処理部304において実行
され、レジスタ313からの復号演算入力パラメータS
={s0 ,s1 ,s2 ,s3}と、X={x1 ,x2 ,
x3 ,x4 }とを用いて、復号演算出力パラメータE=
{e1 ,e2 ,e3 ,e4 }およびX’=X={x1 ,
x2 ,x3 ,x4 }を得る。消失エラー訂正を行わない
場合には、前述した2重エラー訂正においては、復号演
算入力パラメータS={s0 ,s1 ,s2 ,s3 }を用
いて、復号演算出力パラメータE={e1 ,e2 }およ
びX’={x’1 ,x’2 }を得る。
まま訂正操作に利用できる。従って、復号演算処理部3
04は、αi からiに変換する変換器を備える必要がな
い。
ある。図8に示すように、訂正操作実行器312は、比
較器340、加算器345およびゲートロジック346
を備えている。図3に示すGFカウンタ311は、スイ
ッチ307,308によるスクラッチパッドメモリ30
5,306からの出力の切り換わりに対応して動作し、
GFカウンタ311のGFカウンタ値が誤り位置
(X’)の構成要素のいずれか(x’ n )と一致したと
きに、ゲートロジック346から対応する誤り値en が
加算器345に出力される。そして、加算器345にお
いて、誤り値en と、バスI/Fブロック303からの
入力データとについて、ガロア体の加算が行われ、加算
結果が出力データとなる(訂正が行われる)。
示す復号演算処理部4の構成と同じである。但し、復号
演算処理部304のGLUの構成は、GLU54とは異
なる。図9は、復号演算処理部304のGLU454の
構成図である。図9に示すように、GLU454は、オ
ペレイションロジック460,461、GFインバージ
ョンROM462、GF乗算加算ロジック463および
オペレイションセレクタ464を備えている。ここで、
GF乗算加算ロジック463には、図1に示す乗算器1
10あるいは図2に示す乗算器130が用いられてい
る。そのため、復号演算処理のステップ数を大幅に減ら
すことができ、復号演算処理を短時間で行なうことがで
きる。また、図15に示すようなコンバータ62,63
を設ける必要がなくなり、回路規模の縮小化が図れる。
明したが、tの値が大きくて、ユークリッド復号法やバ
ーレカンプ・マッシイ法などを用いる場合にも、本発明
を適用できる。
ロモン復号装置によれば、装置規模の縮小化を図ること
ができる。また、本発明のリードソロモン復号装置によ
れば、復号演算処理を短時間で行うことができる。
乗算回路の構成図である。
その他の乗算回路の構成図である。
モン復号装置の構成図である。
図である。
の構成図である。
動作時におけるデータおよび構成要素の時系列的な状態
を示す図である。
イッチおよびレジスタの構成図である。
ある。
構成図である。
構成図である。
装置の動作時におけるデータおよび構成要素の時系列的
な状態を示し、(A)は入力データ、(B)は出力デー
タ、(C)はレジスタBOUT の記憶状態、(D)はレジ
スタBINの記憶状態、(E)はレジスタGOUT の記憶状
態、(F)はレジスタGINの記憶状態、(G)は復号演
算器の処理状態をそれぞれ示している。
器およびレジスタの構成図である。
びレジスタの構成図である。
成図である。
る。
装置、302…メモリブロック、303…バスI/Fブ
ロック、304…復号演算処理部、309…入力パラメ
ータ演算器、311…GFカウンタ、312…訂正操作
実行器、314…レジスタ、317…復号演算器
Claims (7)
- 【請求項1】データ系列からシンドロームおよび消失位
置を含む復号演算入力パラメータを生成する復号演算入
力パラメータ演算手段と、 所定の復号演算操作を示す命令コードに基づいて、復号
演算入力パラメータを用いた復号演算を行い、誤り値デ
ータおよび誤り位置データを含む復号演算出力パラメー
タを生成する復号演算手段と、 前記復号演算出力パラメータを用いて訂正操作を行う訂
正操作手段と、 前記復号演算手段に出力する復号演算入力パラメータ
と、前記訂正操作手段に出力する復号演算出力パラメー
タとを選択的に記憶する記憶手段とを有するリードソロ
モン復号装置。 - 【請求項2】前記復号演算手段は、復号演算入力パラメ
ータと、前記訂正操作手段に出力する復号演算出力パラ
メータとを選択的に記憶する記憶部を備える請求項1に
記載のリードソロモン復号装置。 - 【請求項3】入力されたデータ系列を切り換えて、C1
符号のデータ語を第1の記憶部に記憶し、C2符号のデ
ータ語を第2の記憶部に記憶する入出力手段をさらに有
する請求項1または請求項2に記載のリードソロモン復
号装置。 - 【請求項4】前記入出力手段がC1符号のデータ語に関
する入出力を実行中に、前記復号演算入力パラメータ演
算手段はC1符号のデータ語に関する復号演算入力パラ
メータを生成し、前記復号演算手段は、C2符号のデー
タ語に関する復号演算を行い、 前記入出力手段がC2符号のデータ語に関する入出力を
実行中に、前記復号演算入力パラメータ演算手段はC2
符号のデータ語に関する復号演算入力パラメータを生成
し、前記復号演算手段は、C1符号のデータ語に関する
復号演算を行う請求項3に記載のリードソロモン復号装
置。 - 【請求項5】前記データ系列のシンボル位置を逐次的に
前記訂正操作手段に出力するガロア体カウンタをさらに
有する請求項1〜4のいずれかに記載のリードソロモン
復号装置。 - 【請求項6】前記復号演算手段は、 ガロア体GF(2i )の第1の元αw (Aw,i-1,A
w,i-2,Aw,i-3,…, Aw,3,Aw,2,Aw,1,Aw,0 )T と第
2の元αv (Av,i-1,Av,i-2,Av,i-3,…, Av,3,A
v,2,Av,1,Av,0 )T との乗算を行なう乗算器であっ
て、前記第1の元と前記ガロア体の原始元αのαo ,α
1 ,α2 ,α3 ,…,αi-3 ,αi-2 ,αi-1 とのそれ
ぞれの乗算を並列に行なうi個の乗算部と、前記i個の
乗算部の乗算結果と前記Av,0,Av,1,Av,2,Av,3,…,
Av,i-3,Av,i-2,Av,i-1 とのそれぞれの論理積演算を
並列に行なうi個の論理積演算部と、前記i個の論理積
演算部の演算結果を加算する加算部とを備える乗算器を
有する請求項1〜5のいずれかに記載のリードソロモン
復号装置。 - 【請求項7】前記復号演算手段は、 ガロア体GF(2i )の第1の元αw (Aw,i-1,A
w,i-2,Aw,i-3,…, Aw,3,Aw,2,Aw,1,Aw,0 )T と第
2の元αv (Av,i-1,Av,i-2,Av,i-3,…, Av,3,A
v,2,Av,1,Av,0 )T との乗算を行なう乗算器であっ
て、前記第1の元と前記Av,0,Av,1,Av,2,Av,3,…,
Av,i-3,Av,i-2,Av,i-1 とのそれぞれの論理積演算を
並列に行なうi個の論理積演算部と、前記論理積演算部
のそれぞれの演算結果と前記ガロア体の原始元αの
α0 ,α1 ,α2 ,α3 ,…,αi-3 ,αi-2,αi-1
とのそれぞれの乗算を並列に行なうi個の乗算部と、前
記i個の乗算部の乗算結果を加算する加算部とを備える
乗算器を有する請求項1〜5のいずれかに記載のリード
ソロモン復号装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11688297A JP3850512B2 (ja) | 1997-05-07 | 1997-05-07 | リードソロモン復号装置 |
| US09/074,559 US6131179A (en) | 1997-05-07 | 1998-05-07 | Reed-Solomon decoding device |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11688297A JP3850512B2 (ja) | 1997-05-07 | 1997-05-07 | リードソロモン復号装置 |
| US09/074,559 US6131179A (en) | 1997-05-07 | 1998-05-07 | Reed-Solomon decoding device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10308675A true JPH10308675A (ja) | 1998-11-17 |
| JP3850512B2 JP3850512B2 (ja) | 2006-11-29 |
Family
ID=26455114
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11688297A Expired - Fee Related JP3850512B2 (ja) | 1997-05-07 | 1997-05-07 | リードソロモン復号装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6131179A (ja) |
| JP (1) | JP3850512B2 (ja) |
Cited By (1)
| 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 (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070150798A1 (en) * | 2005-12-12 | 2007-06-28 | Jia-Horng Shieh | Method for decoding an ecc block and related apparatus |
| US8240525B2 (en) * | 2006-06-16 | 2012-08-14 | Innovative Ways Pty Ltd | Device to carry a bottle |
| US8869013B1 (en) * | 2011-12-01 | 2014-10-21 | Xilinx, Inc. | Circuit enabling and a method of generating a product in a decoder circuit |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4142174A (en) * | 1977-08-15 | 1979-02-27 | International Business Machines Corporation | High speed decoding of Reed-Solomon codes |
| US4649541A (en) * | 1984-11-21 | 1987-03-10 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Reed-Solomon decoder |
| US5715262A (en) * | 1995-07-12 | 1998-02-03 | Lsi Logic Corporation | Errors and erasures correcting reed-solomon decoder |
| US5942055A (en) * | 1998-08-10 | 1999-08-24 | General Electric Company | Silicide composite with niobium-based metallic phase and silicon-modified Laves-type phase |
-
1997
- 1997-05-07 JP JP11688297A patent/JP3850512B2/ja not_active Expired - Fee Related
-
1998
- 1998-05-07 US US09/074,559 patent/US6131179A/en not_active Expired - Lifetime
Cited By (1)
| 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 |
|---|---|
| JP3850512B2 (ja) | 2006-11-29 |
| US6131179A (en) | 2000-10-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4649541A (en) | Reed-Solomon decoder | |
| US5642367A (en) | Finite field polynomial processing module for error control coding | |
| US5592404A (en) | Versatile error correction system | |
| EP0329789B1 (en) | Galois field arithmetic unit | |
| JP3232602B2 (ja) | ユークリッドの互除回路 | |
| US5905740A (en) | Apparatus and method for error correction | |
| JP2001502153A (ja) | 大規模データ・ブロックのためのハードウェア最適化リード・ソロモン・デコーダ | |
| JPS63193723A (ja) | リ−ドソロモン符号の復号方法 | |
| JP3850511B2 (ja) | リードソロモン復号装置 | |
| JPH0680491B2 (ja) | 有限体の演算回路 | |
| EP0781472B1 (en) | Multipurpose error correction calculation circuit | |
| JP3502583B2 (ja) | 誤り訂正方法および誤り訂正装置 | |
| JP3850512B2 (ja) | リードソロモン復号装置 | |
| JP2004206798A (ja) | 光ディスク装置のエンコードデータ符号回路 | |
| JP3239522B2 (ja) | データ消失訂正方法とその回路 | |
| JPH10322226A (ja) | リードソロモン復号方法 | |
| JP2553565B2 (ja) | ガロア体演算装置 | |
| EP0584864B1 (en) | A hardware-efficient method and device for encoding BCH codes and in particular Reed-Solomon codes | |
| JP2963018B2 (ja) | リード・ソロモン誤り訂正符号復号化回路 | |
| JP2907138B2 (ja) | 誤り訂正の演算処理方法及び処理回路 | |
| JP2665268B2 (ja) | サイクリックコードのステップ・バイ・ステップ型復号方法及び復号器 | |
| JPH0834439B2 (ja) | ガロア体演算装置 | |
| JP2800598B2 (ja) | 誤り訂正復号装置 | |
| JPH06268530A (ja) | 誤りパターン演算回路 | |
| JP4595238B2 (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 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060728 |
|
| 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: 20060822 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060830 |
|
| 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: 20100908 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100908 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120908 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130908 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |