JPH10112659A - 誤り訂正復号装置 - Google Patents

誤り訂正復号装置

Info

Publication number
JPH10112659A
JPH10112659A JP8267117A JP26711796A JPH10112659A JP H10112659 A JPH10112659 A JP H10112659A JP 8267117 A JP8267117 A JP 8267117A JP 26711796 A JP26711796 A JP 26711796A JP H10112659 A JPH10112659 A JP H10112659A
Authority
JP
Japan
Prior art keywords
circuit
galois field
polynomial
arithmetic
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.)
Pending
Application number
JP8267117A
Other languages
English (en)
Inventor
Tetsuya Shimizu
哲也 清水
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP8267117A priority Critical patent/JPH10112659A/ja
Priority to US08/943,026 priority patent/US5983389A/en
Priority to DE69732076T priority patent/DE69732076T2/de
Priority to EP97307852A priority patent/EP0836285B1/en
Publication of JPH10112659A publication Critical patent/JPH10112659A/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

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)【要約】 【課題】 処理が高速でかつ回路規模が小さく、汎用性
の高い誤り訂正復号装置を提供する。 【解決手段】 ガロア体多項式を求めるガロア体多項式
演算回路113を含む多項式ユニット123と、上記ガ
ロア体多項式から誤り訂正符号化データの誤り数値を求
めるGLU回路118を含むスカラ演算回路124とを
並列に設け、これらの制御をプログラムメモリ回路12
0より読み出されるプログラムに従って行うプロセッサ
構成とすることにより、発生するプログラムを変えるこ
とで、誤り訂正を行うためのアルゴリズムの変更等を全
てソフトウェアで実現できるようにするとともに、ガロ
ア体多項式演算回路113でのガロア体多項式の算出と
GLU回路118での誤り数値の算出とを並列に行うこ
とができるようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、誤り訂正復号装置
に関するものである。
【0002】
【従来の技術】近年、ディジタル記録の高密度化が進
み、それに伴い、高速でかつ訂正能力の高い誤り訂正符
号復号装置が求められている。リードソロモン符号は、
BCH符号の一種であり、バイト単位の訂正が可能で高
い訂正能力を持つことから、光ディスク、ディジタルV
TR等幅広い分野で用いられている。
【0003】以下に、リードソロモン符号の代表的な復
号法の原理を簡単に説明する。GF(q) の原始元をαと
し、1,α,α2 ,…,αd-2 を生成多項式G(x) の根
とするq元リードソロモン符号を例にとって説明する。
符号長n=q−1、情報記号数k=q−d、最小距離d
min =dとなる。
【0004】まず、受信多項式Y(x) から、次の式
(1)によりシンドロームSi を計算する。 Si =Y(αi )=E(αi ) (1) (i=0,1,…,d−2) なお、E(x) は、誤りパターンを表す多項式である。
【0005】ここで、l個の誤りがj1 ,j2 ,…,j
l の位置に生じたとする。ただし、 n−1≧j1 >j2 >…>jl ≧0 (2) l≦t=「(d−1)/2」 (3) とする。「x」は、x以下の最大整数を示し、tは誤り
訂正能力を示す。
【0006】このとき、誤りパターン多項式E(x) は、 E(x) =E1 j1+E2 j2+…+El jl (4) と表せる。Ei (i=1,…,l)は、位置ji におけ
る誤りの値であり、GF(q) の元である。シンドローム
i は、式(1)より、 Si =E1 i 1 +E2 i 2 +…+El i l (5) となる。ただし、xi は次の式(6)で定義される。 xi =αji (i=1,…,l) (6)
【0007】リードソロモン符号の復号は、このシンド
ロームSi から、誤り位置j1 ,j 2 ,…,jl と誤り
の値E1 ,E2 ,…,El とを求めることにより行われ
る。このため、まず、
【0008】
【数1】
【0009】という2つのGF(q) 上の多項式を求め
る。この多項式は、α-j1 ,α-j2 ,…,α-jl を根に
持つ多項式であり、σ(z) は誤り位置多項式、η(z) は
誤りの値を求めるために必要な多項式で誤り評価多項式
と呼ばれる。
【0010】ここで、シンドロームを係数とする以下の
多項式を考える。 S(z) =Sd2d-2 +…+S1 z+S0 (9) シンドローム多項式とσ(z) 、η(z) との関係を以下の
ように書き表すことができる。 σ(z) S(z) ≡η(z)modzd-1 (10) これが基本方程式であり、これからσ(z) とη(z) とを
求めることができる。
【0011】誤り訂正能力tが4〜5以上の場合、σ
(z) 、η(z) を効率的に求める方法として、ユークリッ
ドの互除法に基づく方法がある。以下、ユークリッドア
ルゴリズムを称す。式(10)は、適当な多項式A(z)
を用いて以下のように書き直せる。 A(z) zd-1 +σ(z) S(z) =η(z) (11) ここで、誤り個数lは、t以下としているから、 deg η(z) <deg σ(z) ≦t (12) でなければならない。ただし、deg は多項式の次数を示
す。
【0012】式(8)(7)から明らかなように、σ
(z) 、η(z) は共通因数を持たない。このようなσ(z)
、η(z) で式(12)を満たすものは、一意に定まる
ことが証明されている。そして、そのようなσ(z) とη
(z) はzd-1 とS(z) の最大公約多項式を求めていくユ
ークリッドアルゴリズムで求めることができることが知
られている。ユークリッドアルゴリズムの一般的な方法
を図5に示す。
【0013】ユークリッドアルゴリズムで算出されたσ
(z) の根を求める方法としては、チェンサーチを用いる
ことが一般的である。チェンサーチは、σ(z) にαのべ
きα i (i=0,1,…,n−1)を逐次代入し、σ
(αi )が0かどうかを調べる方法である。
【0014】誤りの値e1 ,e2 ,…,el は、例え
ば、 ei =−η(α-ji )/σ(α-ji )′ (13) (i=1,…,l) として求めることができる。ここで、σ(z)′はσ
(z)の導関数であり、σ(z)を形式的に微分するこ
とにより求められる。
【0015】従来、以上の訂正処理の各ステップをパイ
プライン化し、ハードで構成することが一般的であっ
た。
【0016】図6に、従来のリードソロモン符号の誤り
訂正復号装置の一構成例を示す。図6において、入力端
子600から入力される誤り訂正符号化されたエラーを
含むデータは、データ遅延回路601で以下に述べる処
理時間分の遅延が施されると同時に、シンドローム演算
回路602でシンドロームSi が式(1)に従って計算
されて、式(2)のシンドローム多項式としてガロア体
多項式演算回路603に送られる。
【0017】ガロア体多項式演算回路603では、図5
に示したユークリッドアルゴリズムを用いて、誤り位置
多項式σ(z) と誤り数値多項式η(z) とを求める。この
ユークリッドアルゴリズムでは、主にガロア体多項式の
商多項式と余り多項式を求める演算を繰り返し行うこと
になる。このガロア体多項式演算回路603で degR
(z) ≦t−1の比較条件を満たした誤り位置多項式σ
(z) は、チェンサーチ回路604に送られる。
【0018】チェンサーチ回路604では、ガロア体G
F(2m )の元を順次代入し、それにより得られる値が
0かどうかを調べることにより根を算出し、誤り位置情
報iと誤り数値η(z) と誤り位置を形式微分した値σ
(z) ′とを誤り数値計算回路605に送る。誤り数値計
算回路605では、チェンサーチ回路604により算出
された誤り位置情報iと、式(13)より、誤り数値e
i を算出する。
【0019】このようにして算出された誤りの位置と値
は、訂正回路606に送られる。ここでは、データ遅延
回路601で遅延されたデータ列の誤りの位置に、上記
算出された誤りの値との排他的論理和をとることにより
訂正処理を行い、その結果を出力端子607より出力す
る。
【0020】
【発明が解決しようとする課題】しかしながら、上記従
来の構成例では、全てのブロックをハードウェアで構成
することにより高速処理を実現することが可能となる反
面、回路規模が大きくなってしまうという問題があっ
た。また、積符号化されたデータの消失訂正を含む複雑
な繰り返し復号処理等、アルゴリズムを変更するたびに
制御ブロックのハードウェア構成を変更する必要があ
り、汎用性に乏しいという問題もあった。
【0021】本発明はこのような問題を解決するために
成されたものであり、処理が高速でかつ回路規模が小さ
く、汎用性の高い誤り訂正復号装置を提供することを目
的とする。
【0022】
【課題を解決するための手段】本発明の誤り訂正復号装
置は、ガロア体多項式を求めるガロア体多項式演算回路
を含む第1の演算手段と、上記ガロア体多項式を演算処
理するガロア体演算回路を含む第2の演算手段とを並列
に設け、上記第1の演算手段および第2の演算手段の制
御をプログラム発生手段により発生されるプログラムに
従って行うようにしたことを特徴とする。
【0023】本発明の他の特徴とするところは、ガロア
体多項式を求めるガロア体多項式演算回路および上記ガ
ロア体多項式演算回路での演算時に用いるレジスタ回路
を含む第1の演算手段と、上記ガロア体多項式を演算処
理するガロア体演算回路および汎用演算回路を含む第2
の演算手段と、上記第1、第2の演算手段での演算時に
用いるレジスタ手段とを備え、上記第1の演算手段と第
2の演算手段とレジスタ手段とを並列に設け、上記第1
の演算手段および第2の演算手段の制御をプログラム発
生手段により発生されるプログラムに従って行うように
したことを特徴とする。
【0024】本発明のその他の特徴とするところは、上
記第1の演算手段は、上記ガロア体多項式に対してチェ
ンサーチによる根の算出を行うことによって誤り訂正符
号化データの誤り位置を求めるチェンサーチ回路を更に
含むことを特徴とする。
【0025】上記のように構成した本発明によれば、誤
り訂正符号化データの復号化時に誤り訂正を行うための
各手段が、プログラム発生手段により発生されるプログ
ラムに従って動作するようになるので、単に発生するプ
ログラムを変えることで、誤り訂正を行うためのアルゴ
リズムの変更等を全てソフトウェアで実現することが可
能となる。また、ガロア体演算回路で演算処理を行って
いる間に、これと並列に設けられたガロア体多項式演算
回路により次の符号化データについてガロア体多項式を
求めることが可能となる。
【0026】また、本発明の更にその他の特徴とすると
ころは、上記レジスタ回路は、上記ガロア体多項式演算
回路が上記ガロア体多項式を求める際に使用するレジス
タと、求めたガロア体多項式を格納するレジスタとを備
え、上記ガロア体多項式を格納するレジスタに対してガ
ロア体係数器とガロア体加算回路とを付加し、上記レジ
スタに書き込まれたガロア体多項式に対し、チェンサー
チによる根の算出を行うことによって誤り訂正符号化デ
ータの誤り位置を求めるように構成したことを特徴とす
る。
【0027】このように構成した場合には、第2の演算
手段内のレジスタ回路の一部がチェンサーチの機能を有
することとなり、上記レジスタ回路内に備えられたガロ
ア体多項式演算回路用のレジスタとチェンサーチ用のレ
ジスタとを用いて、ガロア体多項式の演算とチェンサー
チによる誤り位置の算出とがプログラムの制御により並
列に実行されるようになる。
【0028】また、上記ガロア体多項式演算回路は、与
えられる複数のガロア体多項式に係数を乗算してそれぞ
れの和をとる乗算手段と加算手段とを含み、次式で規定
される演算を行う構成としても良い。 αX(Z)+βY(Z) αX(Z)+βY(Z)Z ただし、α,βはガロア体の元、X(Z),Y(Z)は
ガロア体の多項式。
【0029】
【発明の実施の形態】以下、本発明の実施形態につい
て、図面を参照して説明する。図1は、本発明の誤り訂
正復号装置の一実施形態を示すブロック図である。
【0030】図1において、本実施形態で最も特徴的で
ある多項式ユニット(第1の演算手段)123は、ガロ
ア体多項式演算回路113と、チェンサーチ回路を含む
多項式係数レジスタ回路107とを備えている。この多
項式ユニット123は、スカラレジスタ回路(レジスタ
手段)114や、汎用演算回路(ALU回路)116お
よびガロア体演算回路(GLU回路)118等から成る
スカラ演算回路(第2の演算手段)124と並列に、デ
ータバスに接続される構成となっている。
【0031】すなわち、上記多項式ユニット123は、
係数データの入力としてスカラレジスタ回路114の出
力バス(Aバス108,Bバス109)と、多項式デー
タの入出力としてスカラレジスタ回路114の入力バス
(Fバス)104とが接続される構成となっている。こ
こでは、ガロア体GF(28 )を用いるものとし、デー
タバスは8ビットとする。
【0032】上述のように、スカラレジスタ回路114
は、Aバス108、Bバス109、Fバス104が接続
される3ポートのメモリであり、1系統の書き込みと2
系統の読み出しとが独立にできる構成となっている。
【0033】また、スカラ演算回路124内のALU回
路116およびGLU回路118は、スカラレジスタ回
路114の出力値以外に、即値バス(Iバス)112を
介して入力した即値を用いた演算が可能である。すなわ
ち、選択回路115,117でAバス108かIバス1
12かをそれぞれ選択し、その選択した方の値とBバス
109の値とを演算し、演算結果をFバス104に出力
する。
【0034】これにより、上記演算結果をスカラレジス
タ回路114や、選択回路106を介して多項式係数レ
ジスタ回路107、またはメモリIF回路103を介し
てシンドロームメモリ回路102に書き込んだり、外部
IF回路121を介して外部(例えば訂正回路)に出力
したりする。
【0035】以下、C1(80,72)C2(90,8
2)リードソロモン積符号のC1シンドロームの復号動
作を例にとって動作を説明する。入力端子100から入
力されるデータは、符号化ブロック単位(80×90バ
イト)に入力され、ガロア体加算回路とガロア体係数回
路とで構成されるシンドローム演算回路101でC1シ
ンドロームおよびC2シンドロームが並列に計算され、
それぞれシンドロームメモリ回路102に書き込まれ
る。
【0036】シンドロームメモリ回路102は、2ブロ
ック分のシンドロームを記憶できる容量を持ち、1ブロ
ック分のシンドロームの書き込みと同時に、1ブロック
前に書き込まれたシンドロームをプロセッサ(上記多項
式ユニット123、スカラレジスタ回路114、スカラ
演算回路124等により構成される)がメモリIF回路
103を介して読み出して、誤り訂正復号処理を行える
構成となっている。
【0037】プロセッサ側では、制御回路119により
プログラムメモリ回路120から読み出される命令コー
ドに従って誤り訂正処理を行う。命令コードには、スカ
ラ命令とベクトル命令とがあり、ベクトル命令として、
多項式のメモリアクセスおよび多項式同士の演算が1命
令で行える構成となっている。プロセッサに供給するプ
ログラムを変えることで、誤り訂正を行うためのアルゴ
リズムの変更等をハードウェアを変更することなく実現
することができる。
【0038】上記プロセッサによる誤り訂正復号処理と
して、まずはユークリッドアルゴリズムによって、シン
ドローム多項式から誤り位置多項式と誤り数値多項式と
を算出する。すなわち、シンドロームメモリ回路102
に書き込まれたC1シンドロームをベクトル命令で7次
のシンドローム多項式として多項式係数レジスタ回路1
07に転送し、図4に示すユークリッドアルゴリズムを
もとに、ガロア体多項式演算回路113と多項式係数レ
ジスタ回路107とで上記誤り位置多項式と誤り数値多
項式とを求める演算を行う。
【0039】なお、図4において、A,B,L,Mはガ
ロア体の多項式、α,βはガロア体の多項式A,Bの最
高次の係数、tは誤り訂正能力、S(Z)はシンドロー
ム多項式、σ(Z)は誤り位置多項式、η(Z)は誤り
数値多項式を示す。
【0040】ここで、ガロア体多項式演算回路113の
詳細なブロック図を、図2に示す。図2の構成では、図
4のユークリッドアルゴリズムで用いる次式の演算が1
命令で行える構成になっている。なお、下記の式(1
4)、式(15)中でα,βはガロア体の元、X
(Z),Y(Z)はガロア体の多項式を示す。
【0041】
【数2】
【0042】例えば、式(14)に対応するベクトル命
令が発行された場合には、図1のAバス108、Bバス
109に接続された入力端子200,204からα,β
の係数が入力され、それぞれ係数レジスタ201,20
5にセットされる。また、多項式係数レジスタ回路10
7の出力バス(PAバス110、PBバス111)に接
続された入力端子202,206からガロア体の多項式
X(Z),Y(Z)が入力される。
【0043】そして、ガロア体乗算回路203,208
により、上記入力されたガロア体の多項式X(Z),Y
(Z)に対して、係数レジスタ201,205にセット
された係数α,βがそれぞれ乗算される。さらに、それ
ぞれの乗算結果がガロア体加算回路209によって加算
され、出力端子210に送られる。
【0044】一方、式(15)に対応するベクトル命令
が発行された場合は、上記入力端子206から入力され
た多項式Y(Z)の次数が次数シフト回路207で1次
シフトされた後、式(14)に対応するベクトル命令と
同様の演算がなされ、その演算結果が出力端子210に
送られる。上記出力端子210から出力されたデータ
は、図1のバス105および選択回路106を介して多
項式係数レジスタ回路107に書き込まれる。
【0045】なお、上述のユークリッドアルゴリズムに
おいて、多項式演算以外の次数の比較や、レジスタアド
レスの発生等の処理は、多項式演算と並列にスカラレジ
スタ回路114とスカラ演算回路124とを用いて行わ
れる。
【0046】図4に示したユークリッドアルゴリズムの
処理が終了した後、それにより求められた誤り位置多項
式σ(Z)と誤り数値多項式η(Z)は、多項式係数レ
ジスタ回路107の特定アドレスに書き込まれ、チェン
サーチ回路により根の算出が行われる。
【0047】図3に、上記多項式係数レジスタ回路10
7の詳細なブロック図を示す。この多項式係数レジスタ
回路107は、スカラレジスタ回路114と同様に3ポ
ートのメモリであり、入力端子300から選択回路30
1を介する1系統の書き込みと、選択回路307を介し
て出力端子308,309に対する2系統の読み出しと
を独立に行うことができる構成となっている。
【0048】多項式係数レジスタ回路107内のレジス
タを選択するためのアドレスは、ベクトルを選択する上
位アドレスと、ベクトル内の係数を選択する下位アドレ
スとから成り、入力端子306から制御回路305に入
力される。制御回路305では、入力されたアドレスを
デコードし、上記選択回路301,307を制御するこ
とにより書き込みおよび読み出しレジスタを選択する。
【0049】一例として、以下に示す入力アドレスによ
って、汎用レジスタ回路302、チェンサーチレジスタ
回路303、コントロールレジスタ回路304の何れか
およびその内部のレジスタを選択するものとする。 上位アドレス 下位アドレス 0〜4 0〜8 汎用レジスタ 5〜6 0〜7 チェンサーチレジスタ 7 0 コントロールレジスタ
【0050】汎用レジスタ回路302は、誤り訂正処理
で用いる多項式の最高次数がZ8 であるため、9バイト
の係数を1ベクトルとして5ベクトル分、すなわち9×
5バイトのレジスタ3100〜3148がランダムアク
セス可能な構成となっている。ここでは、上位アドレス
0〜1のレジスタ3100〜3118をユークリッドア
ルゴリズムによる多項式演算に使用するレジスタとして
割り当て、上位アドレス2〜4のレジスタ3120〜3
148をチェンサーチの結果を記憶するレジスタに割り
当てるものとする。
【0051】また、チェンサーチレジスタ回路303
は、8×2バイトのレジスタ3200〜3207,32
40〜3247がランダムアクセス可能な構成となって
おり、各レジスタには、各々α254 〜α247 のガロア体
係数を乗ずる係数器3210〜3217,3250〜3
257が接続されている。
【0052】ガロア体係数器3210〜3217の出力
は、ガロア体加算回路3230に入力され、ここで全て
の係数のガロア体加算が行われ、選択回路301を介し
て別のレジスタに書き込める構成となっている。また、
ガロア体係数器3250〜3257の出力は、ガロア体
加算回路3260に入力され、ここで全ての係数のガロ
ア体加算が行われて選択回路301に出力されるととも
に、上記ガロア体係数器3250〜3257の偶数次の
出力がガロア体加算回路3263に入力され、ここで偶
数次の係数のガロア体加算が行われて選択回路301に
出力される構成となっている。
【0053】また、上記ガロア体加算回路3260の出
力は、0検出回路3261にも送られ、上記ガロア体加
算回路3260の出力値が“0”かどうかが検出され
る。ここで、出力値が“0”の場合は、制御回路305
とエラーアドレスカウント回路3262とに制御信号が
送られる。エラーアドレスカウント回路3262は、0
検出回路3261からの制御信号に従って、エラーアド
レスを選択回路301に出力する構成となっている。
【0054】この図3のように構成した多項式係数レジ
スタ回路107の動作を説明する。まず、図1のガロア
体多項式演算回路113で図4のユークリッドアルゴリ
ズムにより算出された誤り数値多項式η(Z)と誤り位
置多項式σ(Z)とをそれぞれ、上位アドレス5,6の
チェンサーチレジスタ3200〜3207,3240〜
3247に書き込む。このように誤り位置多項式σ
(Z)と誤り数値多項式η(Z)とを各レジスタにセッ
トした後、上位アドレス7のコントロールレジスタ33
00を選択して符号長(ここでは80)をセットし、こ
れと同時に、チェンサーチスタートのフラグをセットす
る。
【0055】チェンサーチスタートのフラグがセットさ
れると、制御回路305は、選択回路301,307を
制御してチェンサーチレジスタ3200〜3207,3
240〜3247の入出力を開放し、誤り数値多項式η
(Z)、誤り位置多項式σ(Z)にαのべき乗を符号長
まで逐次代入するように制御する。同時に、ガロア体加
算回路3260の出力を0検出回路3261に入力し、
ここでσ(αi )=0となるかどうかの検出を行うこと
となる。
【0056】上記0検出回路3261でσ(αi )=0
を検出した場合、そのときのガロア体加算回路3260
の出力をη(αi )として上位アドレス2のレジスタ
に、ガロア体加算回路3263の出力をσ(αi )の形
式微分σ′(αi )として上位アドレス3のレジスタ
に、エラーアドレスカウント回路3262の出力をエラ
ーアドレスiとして上位アドレス4のレジスタに、それ
ぞれ選択回路301を介して書き込む。
【0057】その後、符号長である80回だけαのべき
乗の代入が行われたところでチェンサーチは終了する。
チェンサーチが終了すると、制御回路305により、コ
ントロールレジスタ3300にチェンサーチ終了のフラ
グが書き込まれる。このとき、プログラムでコントロー
ルレジスタ3300のフラグを読み出すことにより、チ
ェンサーチの終了を知ることができる。
【0058】多項式係数レジスタ回路107内のチェン
サーチ回路でチェンサーチの処理を行っている間、ガロ
ア体多項式演算回路113では、上位アドレス0,1の
レジスタを用いて次の符号のユークリッドアルゴリズム
を並列に実行することが可能であり、チェンサーチのた
めに処理を止める必要はない。よって、誤り訂正処理を
高速にすることができる。
【0059】また、チェンサーチの処理が終了した後、
スカラ演算回路124内のGLU回路118を用いて次
の式(16)に示す演算を行うことにより、エラーの値
iを求めることができる。
【0060】
【数3】
【0061】上記多項式係数レジスタ回路107内のチ
ェンサーチ回路で求められたエラーアドレスiと、GL
U回路118で求められたエラーの値ei は、メモリI
F回路103、外部IF回路121を介して出力端子1
22より図示しない訂正回路に送られ、誤り訂正が行わ
れるとともに、シンドロームメモリ回路102に対して
C2のシンドロームの書き換えが行われる。以上の処理
を繰り返すことでC1訂正の処理を高速に実行すること
ができる。
【0062】また、消失訂正については、誤り位置が既
に求まっているものとして誤り訂正処理を行うことで実
現でき、パリティ位置の消失訂正を行うことで、符号化
処理も実現できる。
【0063】
【発明の効果】以上説明したように本発明の誤り訂正復
号装置は、第1の演算手段と第2の演算手段とを並列に
設け、これらの制御をプログラム発生手段により発生さ
れるプログラムに従って行うようなプロセッサ構成とし
たので、誤り訂正を行うためのアルゴリズムの変更等を
全てソフトウェアで実現することができ、汎用性の高い
構成を小さい回路規模で実現することができる。さら
に、第2の演算手段内のガロア体演算回路で演算処理し
ている間に、これと並列に設けられた第1の演算手段内
のガロア体多項式演算回路で次の符号化データについて
ガロア体多項式を求めることができ、その分処理を高速
にすることもできる。
【0064】また、本発明の他の特徴によれば、レジス
タ回路を構成する一部のレジスタにガロア体係数器とガ
ロア体加算回路とを付加し、上記一部のレジスタに書き
込まれたガロア体多項式に対し、チェンサーチによる根
の算出を行うように構成したので、レジスタ回路の一部
にチェンサーチの機能を持たせ、ガロア体多項式演算回
路によるガロア体多項式の演算とチェンサーチによる誤
り位置の算出とをプログラムの制御により並列に実行す
ることができるようになる。これにより、処理の効率を
更に上げ、より高速な誤り訂正復号化を実現することが
できる。
【図面の簡単な説明】
【図1】本発明による誤り訂正復号装置の一実施形態を
示すブロック構成図である。
【図2】図1のガロア体多項式演算回路の具体的な構成
を示すブロック図である。
【図3】図1の多項式係数レジスタの具体的な構成を示
すブロック図である。
【図4】本実施形態で用いるユークリッドアルゴリズム
のフローチャートである。
【図5】一般的なユークリッドアルゴリズムのフローチ
ャートである。
【図6】誤り訂正復号装置の従来例の構成を示すブロッ
ク図である。
【符号の説明】
107 チェンサーチ回路を含む多項式係数レジスタ回
路 113 ガロア体多項式演算回路 114 スカラレジスタ回路(レジスタ手段) 116 汎用演算回路(ALU回路) 118 ガロア体演算回路(GLU回路) 119 制御回路 120 プログラムメモリ回路 123 多項式ユニット(第1の演算手段) 124 スカラ演算回路(第2の演算手段)

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 ガロア体多項式を求めるガロア体多項式
    演算回路を含む第1の演算手段と、 上記ガロア体多項式を用いて演算処理するガロア体演算
    回路を含む第2の演算手段とを並列に設け、 上記第1の演算手段および第2の演算手段の制御をプロ
    グラム発生手段により発生されるプログラムに従って行
    うようにしたことを特徴とする誤り訂正復号装置。
  2. 【請求項2】 ガロア体多項式を求めるガロア体多項式
    演算回路および上記ガロア体多項式演算回路での演算時
    に用いるレジスタ回路を含む第1の演算手段と、 上記ガロア体多項式を用いて演算処理するガロア体演算
    回路および汎用演算回路を含む第2の演算手段と、 上記第1、第2の演算手段での演算時に用いるレジスタ
    手段とを備え、 上記第1の演算手段と第2の演算手段とレジスタ手段と
    を並列に設け、上記第1の演算手段および第2の演算手
    段の制御をプログラム発生手段により発生されるプログ
    ラムに従って行うようにしたことを特徴とする誤り訂正
    復号装置。
  3. 【請求項3】 上記第1の演算手段は、上記ガロア体多
    項式に対してチェンサーチによる根の算出を行うことに
    よって誤り訂正符号化データの誤り位置を求めるチェン
    サーチ回路を更に含むことを特徴とする請求項1に記載
    の誤り訂正復号装置。
  4. 【請求項4】 上記レジスタ回路は、上記ガロア体多項
    式演算回路が上記ガロア体多項式を求める際に使用する
    レジスタと、求めたガロア体多項式を格納するレジスタ
    とを備え、 上記ガロア体多項式を格納するレジスタに対してガロア
    体係数器とガロア体加算回路とを付加し、上記レジスタ
    に書き込まれたガロア体多項式に対し、チェンサーチに
    よる根の算出を行うことによって誤り訂正符号化データ
    の誤り位置を求めるように構成したことを特徴とする請
    求項2に記載の誤り訂正復号装置。
  5. 【請求項5】 請求項1または2に記載のガロア体多項
    式演算回路は、与えられる複数のガロア体多項式に係数
    を乗算してそれぞれの和をとる乗算手段と加算手段とを
    含み、次式で規定される演算を行う構成としたことを特
    徴とする誤り訂正復号装置。 αX(Z)+βY(Z) αX(Z)+βY(Z)Z ただし、α,βはガロア体の元、X(Z),Y(Z)は
    ガロア体の多項式。
JP8267117A 1996-10-08 1996-10-08 誤り訂正復号装置 Pending JPH10112659A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP8267117A JPH10112659A (ja) 1996-10-08 1996-10-08 誤り訂正復号装置
US08/943,026 US5983389A (en) 1996-10-08 1997-10-02 Error correction decoding apparatus
DE69732076T DE69732076T2 (de) 1996-10-08 1997-10-03 Reed-Solomon Dekodierer mit universeller Prozessoreinheit und speziellen Schaltungen
EP97307852A EP0836285B1 (en) 1996-10-08 1997-10-03 Reed-Solomon decoder with general-purpose processing unit and dedicated circuits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8267117A JPH10112659A (ja) 1996-10-08 1996-10-08 誤り訂正復号装置

Publications (1)

Publication Number Publication Date
JPH10112659A true JPH10112659A (ja) 1998-04-28

Family

ID=17440311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8267117A Pending JPH10112659A (ja) 1996-10-08 1996-10-08 誤り訂正復号装置

Country Status (4)

Country Link
US (1) US5983389A (ja)
EP (1) EP0836285B1 (ja)
JP (1) JPH10112659A (ja)
DE (1) DE69732076T2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100260415B1 (ko) * 1997-08-13 2000-07-01 윤종용 고속시리얼에러위치다항식계산회로
US6209114B1 (en) * 1998-05-29 2001-03-27 Texas Instruments Incorporated Efficient hardware implementation of chien search polynomial reduction in reed-solomon decoding
US6412090B1 (en) * 1998-06-18 2002-06-25 Globespanvirata, Inc. Galois field computation system and method
US6637002B1 (en) 1998-10-21 2003-10-21 Maxtor Corporation Decoder for error correcting block codes
JP2000172520A (ja) * 1998-12-04 2000-06-23 Fujitsu Ltd ガロア体演算プロセッサ
US6175941B1 (en) * 1998-12-08 2001-01-16 Lsi Logic Corporation Error correction apparatus and associated method utilizing parellel processing
US7890846B2 (en) * 2000-01-06 2011-02-15 Supertalent Electronics, Inc. Electronic data flash card with Reed Solomon error detection and correction capability
US7962836B1 (en) * 2000-01-06 2011-06-14 Supertalent Electronics, Inc. Electronic data flash card with bose, ray-chaudhuri, hocquenghem (BCH) error detection/correction
KR100685360B1 (ko) * 2000-01-31 2007-02-22 산요덴키가부시키가이샤 회로 규모를 억제하며 고속의 오류 정정을 행하는 것이 가능한 오류 정정 장치 및 복호 장치
US8698649B2 (en) * 2008-05-30 2014-04-15 Navteq B.V. Data mining in a digital map database to identify decreasing radius of curvature along roads and enabling precautionary actions in a vehicle
US8688369B2 (en) 2008-05-30 2014-04-01 Navteq B.V. Data mining in a digital map database to identify blind intersections along roads and enabling precautionary actions in a vehicle
US9182241B2 (en) 2008-05-30 2015-11-10 Here Global B.V. Data mining in a digital map database to identify unusually narrow lanes or roads and enabling precautionary actions in a vehicle
US9121716B2 (en) * 2008-05-30 2015-09-01 Here Global B.V. Data mining in a digital map database to identify insufficient superelevation along roads and enabling precautionary actions in a vehicle
US10648817B2 (en) 2008-05-30 2020-05-12 Here Global B.V. Data mining in a digital map database to identify speed changes on upcoming curves along roads and enabling precautionary actions in a vehicle
US8775073B2 (en) 2008-05-30 2014-07-08 Navteq B.V. Data mining in a digital map database to identify insufficient merge lanes along roads and enabling precautionary actions in a vehicle
US9413391B2 (en) * 2014-04-18 2016-08-09 Kabushiki Kaisha Toshiba Chien search device, storage device, and chien search method
CN112468160B (zh) * 2020-12-01 2023-12-29 西安邮电大学 一种基于钱搜索算法和福尼算法的并行电路

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4567594A (en) * 1983-06-07 1986-01-28 Burroughs Corporation Reed-Solomon error detecting and correcting system employing pipelined processors
US4841300A (en) * 1986-06-18 1989-06-20 Mitsubishi Denki K.K. Error correction encoder/decoder
US5325373A (en) * 1986-12-22 1994-06-28 Canon Kabushiki Kaisha Apparatus for encoding and decoding reed-solomon code
JPS63186338A (ja) * 1987-01-28 1988-08-01 Nec Corp 誤り訂正回路
US5212695A (en) * 1989-04-28 1993-05-18 Canon Kabushiki Kaisha Error check or erro correction code coding device
US5170399A (en) * 1989-08-30 1992-12-08 Idaho Research Foundation, Inc. Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
JPH0458619A (ja) * 1990-06-28 1992-02-25 Canon Inc 誤り訂正システム
DE4140018A1 (de) * 1991-12-04 1993-06-09 Bts Broadcast Television Systems Gmbh, 6100 Darmstadt, De Verfahren und schaltungsanordnung zum decodieren von rs-codierten datensignalen
US5535225A (en) * 1993-10-12 1996-07-09 Hughes Aircraft Company Time domain algebraic encoder/decoder
JP3328093B2 (ja) * 1994-07-12 2002-09-24 三菱電機株式会社 エラー訂正装置
US5689727A (en) * 1994-09-08 1997-11-18 Western Digital Corporation Disk drive with pipelined embedded ECC/EDC controller which provides parallel operand fetching and instruction execution

Also Published As

Publication number Publication date
DE69732076D1 (de) 2005-02-03
US5983389A (en) 1999-11-09
EP0836285B1 (en) 2004-12-29
EP0836285A2 (en) 1998-04-15
EP0836285A3 (en) 1999-09-15
DE69732076T2 (de) 2005-12-08

Similar Documents

Publication Publication Date Title
US4099160A (en) Error location apparatus and methods
US4567594A (en) Reed-Solomon error detecting and correcting system employing pipelined processors
JPH10112659A (ja) 誤り訂正復号装置
US5715262A (en) Errors and erasures correcting reed-solomon decoder
US4928280A (en) Fast processor for multi-bit error correction codes
EP0167627A1 (en) Method and apparatus for decoding error correction code
JPH0452556B2 (ja)
JPH11507754A (ja) 10ビットリード−ソロモン誤り訂正モジュール用専用aluアーキテクチャ
KR19990016134A (ko) 고속 시리얼 에러 위치 다항식 계산회로
CN110908827A (zh) 用于NAND Flash闪存纠错的并行BCH解码方法
JP3245290B2 (ja) 復号方法とその装置
JP2001292066A (ja) 誤り訂正装置および誤り訂正方法
US8327243B1 (en) System and method for generating locator polynomials
JP2907138B2 (ja) 誤り訂正の演算処理方法及び処理回路
JP2665268B2 (ja) サイクリックコードのステップ・バイ・ステップ型復号方法及び復号器
JPS6217256B2 (ja)
JP2710176B2 (ja) 誤り位置及び誤りパターン導出回路
JPS638984Y2 (ja)
JP2008112522A (ja) 誤り検出装置および誤り検出方法
KR950008485B1 (ko) 단일에러정정용 리드-솔로몬 복호기
JP3728011B2 (ja) 誤り訂正方法および誤り訂正装置
JP2622383B2 (ja) ロングディスタンスコードの誤り訂正装置
CN117632577A (zh) 一种基于bch编码的快速ecc纠错电路
JPH0133055B2 (ja)
JPH0636286B2 (ja) 誤り訂正方法及び装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050809

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051206