JPH0677844A - 誤り訂正装置 - Google Patents

誤り訂正装置

Info

Publication number
JPH0677844A
JPH0677844A JP10261993A JP10261993A JPH0677844A JP H0677844 A JPH0677844 A JP H0677844A JP 10261993 A JP10261993 A JP 10261993A JP 10261993 A JP10261993 A JP 10261993A JP H0677844 A JPH0677844 A JP H0677844A
Authority
JP
Japan
Prior art keywords
polynomial
circuit
error
division
error correction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10261993A
Other languages
English (en)
Other versions
JP3281938B2 (ja
Inventor
Yoshiyuki Inoue
禎之 井上
Takahiko Nakamura
隆彦 中村
Makoto Kumano
真 熊野
Junko Ishimoto
順子 石本
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10261993A priority Critical patent/JP3281938B2/ja
Publication of JPH0677844A publication Critical patent/JPH0677844A/ja
Application granted granted Critical
Publication of JP3281938B2 publication Critical patent/JP3281938B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

(57)【要約】 【目的】 リードソロモン符号等の誤り訂正符号を高速
に復号できる誤り訂正装置を提供する。 【構成】 RAM1に蓄えられた再生データに含まれた
誤りを訂正する際に、シンドローム生成回路2と、誤り
位置多項式及び誤り数値多項式を算出するユークリッド
演算回路20と、誤り位置を算出するチェンサーチ回路21
との動作を並行して行う。ユークリッド互除過程に基づ
く除算を行う際に、被除多項式の係数データが記憶され
ているレジスタの内容を逐次シフトしながらガロア体上
の除算を実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は誤り訂正符号によって符
号化された情報中に発生する誤りを訂正する誤り訂正装
置に関し、特に、コンパクトディスクプレーヤ(以下、
CDと記す)、ディジタルオーディオプレーヤ(以下、
DATと記す)、ディジタル映像信号記録再生装置(以
下、ディジタルVTRと記す)などで、再生または受信
ディジタル信号中に発生する誤りを高速で訂正処理する
誤り訂正装置に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】CD,
DAT,ディジタルVTRなどに代表されるPCM(Pu
lse Code Modulation )記録及び再生には誤り訂正符号
を用いた誤り訂正処理が用いられる。以下、上記CD、
DAT及びディジタルVTRに実際に用いられている誤
り訂正符号としてGF(q)上で定義されるリード・ソ
ロモン符号を用いて誤り訂正処理を行なう誤り訂正装置
について述べる。
【0003】リード・ソロモン符号を用いて多数ワード
の誤り訂正を行なうには、受信データよりシンドローム
を生成して誤り位置多項式と誤り数値多項式との係数を
求める必要がある。このような多項式の係数を求める一
手法として、ユークリッドアルゴリズムまたはバーレカ
ンプアルゴリズム等が知られている。例えば、上述のユ
ークリッドアルゴリズムは与えられた2つの多項式の最
大公約多項式を求めるためのアルゴリズムであって、ガ
ロアフィールドGF(q)の元を係数とする多項式同士
の除算を行ない、誤り位置多項式と誤り数値多項式とを
求める。なお、ユークリッドアルゴリズムについての詳
しい説明は後述する。
【0004】以下、リード・ソロモン符号による多数ワ
ードの誤り訂正の復号手順を示す。一般に、リード・ソ
ロモン符号の復号手順は次のようになる。 (1)受信データからシンドロームSi を求める。(シ
ンドローム生成) (2)求めたシンドロームSi から誤り位置多項式σ
(z)及び誤り数値多項式ω(z)を求める。(ユーク
リッドまたはバーレカンプアルゴリズム等) (3)誤り位置多項式σ(z)より誤り位置を求める。
(チェンサーチ) (4)この誤り位置及び誤り数値多項式ω(z)より誤
り数値を求める。 (5)誤り位置と誤り数値とから受信データの誤りを訂
正する。(誤り訂正)
【0005】以下、ガロアフィールドGF(28 )で定
義されるリード・ソロモン符号の復号方法について説明
する。
【0006】シンドロームSi は次式で与えられる。受
信多項式をX(z)、生成多項式をG(z)とすると、 S(z)=X(z)mod G(z) =S0 +S1 ×z+・・・+Sk ×zk となる。なお、本従来例では符号長nのリード・ソロモ
ン符号を復号する場合について説明する。
【0007】次に、シンドロームSi (S(z))より
誤り位置多項式σ(z)及び誤り数値多項式ω(z)を
求める。以下、ユークリッドアルゴリズムを用いた誤り
位置多項式及び誤り数値多項式の算出方法を簡単に説明
する。ユークリッドアルゴリズムとは、ガロア体上で定
義される多項式同士の除算の繰り返しであり、次のよう
に示される。すなわち、ユークリッドアルゴリズムと
は、ガロア体上で定義される2つの多項式をA(z),
B(z)とすると A(z) /B(z) =Q0 (z)(商)・・・R0
(z)(余り) B(z) /R0 (z)=Q1 (z)(商)・・・R1
(z)(余り) R0 (z)/R1 (z)=Q2 (z)(商)・・・R2
(z)(余り) というガロア体上で定義される多項式同士の除算をある
一定の条件を満たすまで繰り返すものである。
【0008】例えば、光ディスクに採用されている誤り
訂正符号の場合は最小ハミング距離が17のリード・ソロ
モン符号が採用されているので A(z)=z16 B(z)=S(z) =S0 +S1 ×z+・・・+S15×z15 と表わされ、上記割り算は余りの多項式の次数が7以下
になるまで繰り返される。(なお、本例では消失(イレ
ージャ)は考慮していない。)
【0009】図25にユークリッドアルゴリズムによる基
本方程式の解(誤り位置多項式及び誤り数値多項式)を
求めるフローチャートを示す。まず始めにS1で各値の
初期値の設定を行なう。S2,S3で図示した演算を実
行し、S4でNOの場合は各多項式をS5に図示したよ
うに設定し再びS2へ戻る。S4でYESの場合は、S
6で誤り位置多項式σ(z)及び誤り数値多項式ω
(z)を求める。なお、図中< >はガウス記号を示
す。
【0010】従って、ユークリッドアルゴリズムによる
誤り位置多項式σ(z)及び誤り数値多項式ω(z)の
算出は最小ハミング距離が17のリード・ソロモン符号の
場合、ガロア体上の多項式同士の除算を最大8回行なえ
ば良いことになる。
【0011】ユークリッドアルゴリズムによって求めら
れた誤り位置多項式σ(z)により誤り位置を求める。
これは、一般にチェンサーチという方法が用いられる。
この方法は、誤り位置多項式σ(z)にα(αはガロア
体GF(28 )上の元)のべき乗であるαi (i=0,
1,2,・・・,n−1)を逐次代入して、σ(αi)
が0となるσ(z)の根αi (誤り位置に相当する)を
求める。ただし、nは符号長である。
【0012】上述の方法によると、誤り位置を演算する
ためには符号長に相当するGF(28 )上のn個の元
(α0 〜αn-1 )を逐次誤り位置多項式σ(z)に代入
してσ(z)=0となるαi (誤り位置に相当する)を
計算することになるので、演算のステップ数はn(符号
長)ステップとなる。
【0013】以下、従来の誤り訂正装置について説明す
る。図26は従来のリード・ソロモン符号を復号する誤り
訂正装置の概略構成を示すブロック図である。図におい
て、1は誤り訂正の対象となるデータが格納されている
RAM、2は受信語よりシンドロームを生成するシンド
ローム生成回路、3はシンドローム生成回路2より出力
される受信シンドロームをもとに誤り訂正を行なう誤り
訂正演算回路、4は誤り訂正装置全体の制御を行なう誤
り訂正装置制御回路である。
【0014】図27にはシンドローム生成回路2の具体的
な回路構成図を示す。10は入力されたデータを一旦蓄え
るレジスタ、11はリード・ソロモン符号の生成多項式の
各係数を乗数とする乗算回路、12は加算回路である。以
上レジスタ10,乗算回路11及び加算回路12でシンドロー
ム生成回路2は構成されている。
【0015】図28に誤り訂正演算回路3の具体的な回路
構成例を示す。20は図25に示すユークリッドアルゴリズ
ムにしたがって誤り位置多項式σ(z)及び誤り数値多
項式ω(z)を算出するユークリッド演算回路、21はユ
ークリッド演算回路20より出力される誤り位置多項式σ
(z)の係数データより誤り位置を算出するチェンサー
チ回路、22はユークリッド演算回路20より出力される誤
り数値多項式ω(z)の係数データ及びチェンサーチ回
路21より出力される誤り位置情報に基づき誤り数値を算
出するとともに、誤り訂正を行なう誤り訂正回路であ
る。以上、ユークリッド演算回路20,チェンサーチ回路
21及び誤り訂正回路22で誤り訂正演算回路3は構成され
ている。
【0016】図29に、ユークリッド演算回路20の上記ガ
ロア体上の多項式の除算を行なう除算回路部分のブロッ
ク構成図を示す。50,51は入力端子、52a, 52bは除数,
被除数多項式の係数データを記憶しておくレジスタ、53
はセレクタ、54は乗算回路、55は加算回路である。以
上、レジスタ52a, 52b、セレクタ53、乗算回路54及び加
算回路55でユークリッド演算回路20のガロア体上の多項
式の除算回路部分は構成されている。
【0017】図30にチェンサーチ回路21の具体的な回路
構成例を示す。31はチェンサーチ開始時に誤り位置多項
式σ(z)の係数データをセットし、その後は逐次乗算
回路32の出力をセットする帰還レジスタ、32は乗算回
路、33は加算回路、34は加算回路33の出力が0であるか
を判定する判定回路、35は帰還レジスタ31の帰還回数を
カウントする係数カウンタ、36は判定回路34より出力さ
れる0判定結果に基づき係数カウンタ35のカウント値を
記憶するレジスタである。以上、帰還レジスタ31, 乗算
回路32, 加算回路33, 判定回路34, 係数カウンタ35及び
レジスタ36で、チェンサーチ回路21は構成されている。
【0018】次に、図26, 図27, 図28, 図29及び図30を
用いて誤り訂正装置の動作について説明する。RAM1
に格納されている受信または再生時に発生した誤りを含
む受信または再生データは、誤り訂正処理が開始される
とシンドローム生成回路2でシンドロームを生成するた
めにRAM1より読みだされる。シンドローム生成回路
2ではRAM1より読み出されたデータ(受信多項式形
式)を生成多項式で除算しシンドロームを生成する。な
お、RAM1から再生データを読み出すための読み出し
アドレス、及び読み出し制御信号は誤り訂正装置制御回
路4より出力される。
【0019】図27に回路構成を示すシンドローム生成回
路2はシフトレジスタ形式に配置されたレジスタ10と、
入力データ(帰還データ)に生成多項式の各項に対応す
る係数データを乗算する乗算回路11と、加算回路12とで
構成されている。シンドローム生成回路2では入力され
たデータを上記演算回路で逐次演算しながらシフトして
行くことによってガロア体上の多項式の除算を実行す
る。従って、演算を実行するに当たっては符号長分のス
テップ数(nステップ)を要する。なお、シンドローム
生成回路2の詳細は、今井秀樹著「符号理論」, 出版電
子情報通信学会,pp.115〜118 に記載されている。
【0020】上記の要領で、シンドローム生成回路2で
生成されたシンドロームは、シンドローム生成終了信号
とともに、誤り訂正演算回路3及び誤り訂正装置制御回
路4へ出力される。誤り訂正装置制御回路4では、シン
ドローム生成終了信号をもとに誤り訂正演算回路3へユ
ークリッド演算開始信号を出力する。誤り訂正演算回路
3では、ユークリッド演算開始信号が入力されると、シ
ンドローム生成回路2より出力されたシンドロームをも
とに、ユークリッド演算回路20で誤り位置多項式σ
(z)及び誤り数値多項式ω(z)を算出する。
【0021】以下、図29に示すユークリッド演算回路20
の除算部分の回路動作を説明する。シンドローム生成終
了信号が入力されると各レジスタ52には初期値がセット
される。具体的には上側のレジスタ52a 群にはZ2tがセ
ットされ、下側のレジスタ52b 群にはシンドローム生成
回路2により算出されたシンドローム多項式の係数がセ
ットされる。セットされたデータは被除数側(最初はZ
2tのデータがセットされた上側のレジスタ52a 群)のデ
ータをシフトしていくことによりガロア体上の多項式の
除算を実行する。除算は被除数側の多項式の次数が除数
側の多項式の次数より小さくなるまで繰り返す。図29に
おいて、被除数側のレジスタ52群に接続されているセレ
クタ53は加算回路55の出力を選択するように接続され、
除数側のレジスタ52群に接続されているセレクタ53はレ
ジスタ52の出力を選択するように構成する。この結果被
除数側のレジスタ52内のデータはシフトされ除算が実行
されることになる。
【0022】除算の結果、被除数側のレジスタ群には上
記除算の余りが格納されることになる。次に除数レジス
タ群に格納されている多項式を被除数として、また上記
除算結果の余りを除数として除算を行なう。これは、セ
レクタ53の出力を切り換えることにより除数、被除数の
切り換えを実行する。この動作を図25に示すアルゴリズ
ムの終了条件が満たされるまで繰り返す。上記条件が満
たされると、ユークリッド演算回路20では誤り位置多項
式、及び誤り数値多項式の係数データを算出し、ユーク
リッド演算終了信号とともにチェンサーチ回路21、及び
誤り訂正制御回路4へ出力する。なお、ユークリッド演
算回路20の除算回路部分の説明は特開平1-276825号公報
に記載されている。
【0023】誤り訂正装置制御回路4では、ユークリッ
ド演算回路20より出力されるユークリッド演算終了信号
をもとにチェンサーチ回路21の動作を開始させるチェン
サーチ開始信号を出力する。チェンサーチ回路21では、
チェンサーチ開始信号が入力されるとユークリッド演算
回路20で算出された誤り位置多項式σ(z)の各係数を
もとに誤り位置を算出する。図30を用いてチェンサーチ
回路21の具体的な動作を説明する。チェンサーチ回路21
ではチェンサーチ開始信号が入力されると係数カウンタ
35に0がセットされるとともに、帰還レジスタ31内にユ
ークリッド演算回路20で演算された誤り位置多項式σ
(z)の各係数データがセットされる。そして、帰還レ
ジスタ31の出力は乗算回路32にあらかじめセットされて
いる乗数と乗算され、再び帰還レジスタ31でラッチされ
る。
【0024】加算回路33では、各帰還レジスタ31の出力
を加算する。判定回路34では、前記加算結果が0である
かを判定し、0であった場合係数カウンタ35のカウント
値をレジスタ36へ書き込む。(このカウント値が誤り位
置に対応する。)チェンサーチ終了にあたってはnステ
ップ要することになる。なお、チェンサーチ回路21の詳
細は前述の「符号理論」, pp.165〜166 に記載されてい
る。
【0025】誤り訂正回路22では、まずはじめにチェン
サーチ回路21より出力される誤り位置情報をもとにRA
M1内に格納されている誤ったデータを読みだす。それ
と同時に誤り訂正回路22内では、ユークリッド演算回路
20より出力される誤り数値多項式ω(z)、及びチェン
サーチ回路21より出力される誤り位置情報により誤り数
値を求める。RAM1より読みだされた誤ったデータ
は、前述の誤り数値と加算され誤り訂正が施される。誤
り訂正が施されたデータはRAM1内の誤ったデータと
書き換えられる。
【0026】上述のような誤り訂正装置を例えばディジ
タルVTRに適用した場合の誤り訂正装置の符号、及び
復号の簡単なフローを図31に示す。図31において誤り訂
正装置に入力されたデータは複数個の単位情報ブロック
に分割される。一般に誤り訂正符号は2重符号化される
ことが多く、その場合、上記複数個に分割された単位情
報ブロックが複数個集められ図32に示すように2次元に
配置される。そして、誤り訂正符号化装置により、垂直
方向の誤り訂正符号(C2符号)が付加された後、記録
方向の誤り訂正符号(C1符号)が付加される。なお、
図32に示す符号構成は文献 ”AN EXPERIMENTAL HOME-US
E VCR WITH THREE DIMENSIONAL DCT ANDSUPERIMPOSED C
ORRECTION CODING”IEEE TRANSACTIONS ON CONSUMER EL
ECTRONICS AUG.1991 VOL.37 NUMBER3 に記載されている
家庭用ディジタルVTRに用いられる誤り訂正符号の1
構成例である。また、図33には図32に示す記録方向の1
ラインの符号構成を示す。誤り訂正符号の付加されたデ
ータは、ディジタルVTRの場合は記録媒体に記録さ
れ、通信の場合は通信路上へ送出される。記録媒体より
再生されたデータは、再生過程で発生する誤りを訂正す
るために誤り訂正処理が施される。誤り訂正処理過程で
は再生データ中に含まれる誤りを訂正、または検出す
る。誤り訂正が施された再生データは次のステップへ出
力される。
【0027】次に、従来の誤り訂正装置で図33に示す1
ラインのデータを復号する場合の各部の信号処理タイミ
ングを図34に示すタイミングチャートを用いて説明す
る。図34には誤り訂正装置制御回路4より出力される各
種制御信号(シンドローム生成開始信号、ユークリッド
演算開始信号、チェンサーチ開始信号、及び誤り訂正開
始信号)、各回路の動作タイミング(シンドローム生成
回路2のシンドローム生成タイミング、ユークリッド演
算回路20の演算タイミング、チェンサーチ回路21の演算
タイミング、及び誤り訂正回路22の誤り訂正タイミン
グ)、及びRAM1のデータアクセス状態を示す。誤り
訂正装置制御回路4では誤り訂正が開始されるとシンド
ローム生成回路2へシンドローム生成開始信号を出力す
るとともにRAM1に格納されている再生時に発生した
誤りを含む再生データを読みだすための読みだしアドレ
ス、及び制御信号を出力する。シンドローム生成回路2
ではシンドローム生成開始信号にもとづきレジスタ10内
の値を0にセットするとともにRAM1より読みだされ
たデータに対して所定の演算(除算)処理を行う。な
お、上述のようにシンドローム生成にあたっては演算終
了まで符号長に相当する241 ステップを要する。この演
算時間を図34中のSY部に示す。
【0028】シンドローム生成が終了すると、シンドロ
ーム生成回路2よりシンドローム生成終了信号が出力さ
れる。誤り訂正装置制御回路4ではこのシンドローム生
成終了信号にもとづきユークリッド演算開始信号を出力
する。ユークリッド演算回路20ではユークリッド演算開
始信号にもとづき上述の要領でGF(28 )上の多項式
の除算を行い、誤り位置多項式σ(z)及び誤り数値多
項式ω(z)を算出する。なお、ユークリッドアルゴリ
ズムを用いて、本従来例で示す最小距離17のリード・ソ
ロモン符号を復号(誤り位置多項式、及び誤り数値多項
式の算出)する場合、上述の多項式同士の除算を最大8
回繰り返すことにより算出できる。この演算時間を図34
中のEU部に示す。この際のステップ数はユークリッド
演算回路20の全体の回路構成にもよるが、図33に示す最
小距離17のリード・ソロモン符号をユークリッドアルゴ
リズムを用いて誤り位置多項式σ(z)、及び誤り数値
多項式ω(z)を算出するために必要なステップ数は12
0 ステップ程度で実現できる。回路の詳細動作の説明は
省略するが、上記除算回路での除算動作と、データのセ
ット、制御信号の発生、誤り位置多項式σ(z)及び誤
り数値多項式ω(z)の算出、または本従来例では省略
したがイレージャがあった場合の修正シンドロームの算
出などにより約120 ステップ程度ユークリッド演算回路
20での復号時間が必要になる。
【0029】ユークリッド演算が終了するとユークリッ
ド演算回路20よりユークリッド演算終了信号が出力され
る。誤り訂正装置制御回路4ではこのユークリッド終了
信号にもとづきチェンサーチ開始信号を出力する。チェ
ンサーチ回路21ではチェンサーチ開始信号に基づき係数
カウンタ35に0がセットされるとともに、ユークリッド
演算回路20で算出された誤り位置多項式の各係数データ
が各帰還レジスタ31にセットされる。そして帰還レジス
タ31の出力は乗算回路32にあらかじめセットされている
乗数と乗算され、再び帰還レジスタ31でラッチされる。
係数カウンタ35は帰還カウンタ31の帰還数をカウントす
る。加算回路33では各帰還レジスタ31の出力を加算す
る。判定回路34では前記加算結果が0であるかを判定
し、0であった場合には係数カウンタ35のカウント値を
レジスタ36へ書き込む。なお、上述のようにチェンサー
チ回路21では誤り位置を算出するために最大、符号長分
のステップ数すなわち241 ステップを必要とする。この
演算時間を図34中のCH部に示す。
【0030】チェンサーチが終了するとチェンサーチ回
路21よりチェンサーチ終了信号が出力される。誤り訂正
装置制御回路4ではこのチェンサーチ終了信号にもとづ
き誤り訂正開始信号を出力する。誤り訂正回路22の詳細
なタイミングチャートを図35に示す。誤り訂正回路22で
は誤り訂開始信号に基づき誤り数値多項式ω(z)、及
びチェンサーチ回路21より出力される誤り位置情報を用
いて誤り数値を算出する。一方、誤り訂正装置制御回路
4では、上述の誤り位置情報にもとづきRAM1より誤
ったデータを読みだす。RAM1より読みだされた誤っ
たデータは、次のクロックのタイミングで誤り数値と加
算され誤り訂正が施される。誤り訂正が施されたデータ
は次のクロックで再びRAM1へ書き込まれる。従っ
て、誤り訂正回路22で1シンボルの誤り訂正を実行する
ためには3クロックの期間を最低要することになる。よ
って、8シンボルの誤り訂正を行うためには最低24ステ
ップを必要とすることになる。
【0031】誤り訂正装置は、CD, DATまたはディ
ジタルVTR等において再生、または受信信号中に発生
する誤りを訂正するためには無くてはならない装置では
あるが従来の誤り訂正装置は以下の問題点を有する。問
題点の1つは、従来の誤り訂正装置は1ラインの誤り訂
正を行う際に必要とする復号時間が、図34に示すように
非常に長くなってしまうという点にある。本従来例の場
合、ユークリッド演算回路20の除算回路部分で高速演算
のための回路アーキテクチャーを採用し高速化を図った
にも係わらず図33に示す1ラインのC1ブロックを復号
するのに626 ステップ(241+120+241+24=626)の復号時
間を要する。図29に示すような、ユークリッド演算回路
20の高速化のための回路アーキテクチャはいくつか公開
特許公報等で紹介されている。しかしながら、ユークリ
ッド演算回路20での演算時間が短縮されても、シンドロ
ーム生成またはチェンサーチ等の処理時間が短縮され
ず、ディジタルVTRのようにリアルタイムでかつ、高
速信号処理を要求される場合には必要な処理速度が維持
できない場合が生じる。
【0032】誤り訂正装置の高速化に関する回路構成が
特開平3-63973 号公報で紹介されている。これは、図28
に示すシンドローム生成回路2及び誤り訂正演算回路3
を並行動作させるものである。図36に示すタイミングチ
ャートを用いてこの誤り訂正装置の回路動作を説明す
る。並行動作開始信号をもとにシンドローム生成回路2
はシンドローム生成を開始する。それと同時に誤り訂正
演算回路3中のユークリッド演算回路20が上述の要領で
ユークリッドアルゴリズムにしたがい誤り位置多項式σ
(z)及び誤り数値多項式ω(z)を算出する。ユーク
リッド演算回路20での演算が終了すると誤り位置多項式
の係数データをもとにチェンサーチ回路21で誤り位置の
算出が行なわれる。チェンサーチ回路21で誤り位置が算
出されると誤り訂正回路22で誤り訂正が施される。な
お、シンドローム生成回路2、ユークリッド演算回路2
0、チェンサーチ回路21、及び誤り訂正回路22の動作は
上記従来例と同一であるので詳細動作は説明は省略す
る。図36に各回路での演算ステップ数を示す。なお、図
36には上記従来例と同様に誤り訂正装置制御回路4より
出力される各種制御信号の出力タイミング、各回路の動
作タイミング、及びRAM1のデータアクセス状態を示
す。シンドローム生成回路2、及び誤り訂正演算回路3
を並行動作させることにより、図33に示す1ラインのC
1ブロックの誤り訂正を行なうために必要なステップ数
は最低385 ステップ必要になる。
【0033】しかしながら、この従来例でも図32に示す
ような積符号形式のリード・ソロモン符号を復号するに
あたってはC1符号による誤り訂正終了後に、C2符号
による誤り訂正を施すため復号ステップ数が非常に大き
くなってしまいリアルタイムで復号できない。また、C
2復号はC1復号が施されたデータに対して行なわれる
ため再度同一のRAMからデータを読み出さなければな
らない。その結果、誤り訂正装置を並列に配置し並行処
理を行うなどの対策を講じなければならず回路規模が増
大してしまう等の問題点があった。
【0034】また、図27,図30に示すように、シンドロ
ーム生成回路2及びチェンサーチ回路21はレジスタの出
力にガロア体上の定数値との乗算回路と、加算回路とが
直列または並列に配置されている。この際、ハードウェ
ア上では最大で4段のEX−ORゲートを通ることにな
る。それに対してユークリッド演算回路20上ではハード
ウェア構成にもよるが、EX−ORゲートを7段程度
と、数個のセレクタを通るため高速化がシンドローム生
成回路2及びチェンサーチ回路21に比べて困難であると
いう問題点があった。また、図29に示すユークリッド演
算回路20の回路規模が必要以上に大きいという問題点が
あった。また、誤り訂正回路22での1シンボルの誤り訂
正を行うためには最低3ステップを必要とし高速化にお
いて問題があった。
【0035】最近になりディジタルVTRの開発が各社
で進められており、誤り訂正装置の高速化が重要な課題
となってきた。図37に特開平3-172027号公報に記載され
ている、従来のユークリッド演算を行なう際のガロア体
上で定義される多項式同士の除算回路部(以下、コア回
路と記す)のブロック構成図を示す。なお、以下に説明
する加算回路, 乗算回路及び除算回路はガロア体上の加
算, 乗算及び除算演算を実行するものとして説明を続け
る。
【0036】図において、81a, 81bは被除多項式, 除多
項式の係数データを記憶するレジスタ、82, 83はレジス
タ81a とレジスタ81b とのどちらかの出力を選択するセ
レクタ、84は除算回路、85は乗算回路、86は加算回路、
95は入力端子、87, 88は次数検出回路でレジスタ81a, 8
1bに記憶されている多項式の次数を検出する。89は全体
の動作の制御を行うユークリッド演算制御回路であり、
セレクタ82, 83の制御を行うとともに次数検出回路87,
88より出力される次数判定結果によりユークリッドアル
ゴリズムの終了条件の判定等を行う。以上、レジスタ81
a, 81b、セレクタ82, 83、除算回路84、乗算回路85、加
算回路86、次数検出回路87, 88、及びユークリッド演算
制御回路89で上記ユークリッド演算回路中のガロア体上
の多項式同士の除算回路部(コア回路)は構成されてい
る。なお、本従来例では右側に配置されているレジスタ
に各多項式の高次の係数を記憶するように構成されてい
る。
【0037】次に、上記回路構成で除算を実行する際の
除算回路の動作原理を簡単に説明する。いま、被除多項
式及び除多項式をそれぞれ 被除多項式:M1(Z)=An Zn +An-1 Zn-1 +・
・・+A1 Z1 +A0 除多項式:M2(Z)=Bm Zm +Bm-1 Zm-1 +・・
・+B1 Z1 +B0 とする。なお、n>mとする。以下、筆算により上記除
算を行った場合の計算手順を数1に示す。
【0038】
【数1】
【0039】数1に示すように計算は被除多項式の剰余
の次数が除多項式の次数よりも小さくなるまで繰り返
す。なお、数1では最終の剰余多項式の各係数データを
Ci (i=0, 1, 2, ・・・・, m−1)で表わす。
【0040】図25に示すユークリッドアルゴリズムに従
うと剰余多項式: R(Z)=Cm-1 Zm-1 +Cm-2 Zm-2 +・・・+C1
Z+C0 の次数が予め定められた条件を満たしていない場合は上
記除多項式M2(Z)を被除多項式とし、また上記剰余
多項式R(Z)を除多項式として、除算を繰り返す。そ
の際、詳細は後述するが図37に示す除算回路ではセレク
タ82, 83を切り換えて除多項式と被除多項式との交換を
行う。
【0041】同様に、数2にM2(Z)をR(Z)で除
算した場合の計算手順を示す。
【0042】
【数2】
【0043】なお、本筆算では便宜上、上記剰余多項式
R(Z)の最大次数Cm-1 は0でないものとする。(一
般に、0であった場合は図37に示す次数検出回路87, 88
で上記被除多項式、及び除多項式の次数を判定して被除
多項式、及び除多項式の最大次数が0でなくなるまで被
除多項式、及び除多項式の係数データをシフトした後、
除算を実行する。また、除算演算中の剰余多項式の最大
次数が0に成った場合も同様に剰余多項式の最大次数が
0でなくなるまで剰余多項式の係数データをシフトした
後に、除算動作を行なう。)数1と同様に被除多項式の
剰余の係数が除多項式の次数よりも小さくなるまで除算
動作を繰り返す。
【0044】その結果の剰余多項式(R’(Z)とす
る)の各係数データをDi (i=0、1,2,・・・,
m−2)で表わす。そして、R’(Z)の次数が図25に
示した条件を満たしていない場合上記R(Z)を被除多
項式として、R’(Z)を除多項式として除算を繰り返
す。その際、図37の除算回路では先ほどと同様にセレク
タ82, 83を切り換えて除多項式と被除多項式の交換を行
う。そして、この動作をユークリッドアルゴリズムの終
了条件を満たすまで実行する。
【0045】また、図38, 39には従来例のガロア体上の
多項式同士の除算回路動作を説明するための原理図を示
す。図38, 39において90は被除多項式の係数データを記
憶するレジスタ、91は除多項式の係数データを記憶する
レジスタ、92は除算回路、93は乗算回路、94は加算回
路、95は入力端子である。以上、レジスタ90, 91、除算
回路92、乗算回路93、及び加算回路94でガロア体上の多
項式同士の除算回路は構成されている。なお、図38, 39
はガロア体上の多項式同士の除算の動作を説明するため
の図であるため、ユークリッドアルゴリズムによる交換
手段などは省略している。また、説明を簡単にするため
次数検出回路は省略してある。
【0046】以下、図38, 39に示すシフトレジスタ構成
でガロア体上の多項式同士の除算を行なう場合の回路動
作を説明する。図38, 39に示す除算回路の構成で、 被除多項式:A(Z)=Z8 +Z7 +Z5 +Z2 +1 除多項式:B(Z)=Z6 +Z3 +Z2 +1 の割り算を行なう場合について説明する。
【0047】本従来例では、被除多項式A(Z)の各係
数がレジスタ90に、除多項式B(Z)の各係数データが
レジスタ91にセットされる。ガロア体上の多項式同士の
除算は被除多項式A(Z)の各係数データが記憶されて
いるシフトレジスタ状に配置されたレジスタ90の内容を
逐次右側にシフトしながら演算する事により実行する。
図38, 39には上記被除多項式A(Z)を除多項式B
(Z)で除算する場合の各レジスタ内の係数データの内
容を示す。
【0048】まず始めに、図38(a) に示すようにレジス
タ10に被除多項式A(Z)の係数がセットされ、レジス
タ91に除多項式B(Z)の各係数データがセットされ
る。なお、本従来例では右端のレジスタより高次の項の
係数がセットされているものとする。図中レジスタ内に
記した数字は、各レジスタにセットされた係数データを
示す。図38(a) に示す状態より除算回路92, 乗算回路93
及び加算回路94で演算を各係数毎に行ないながら、被除
多項式の係数を右へ1つだけシフトすると結果は14(b)
に示すようになる。なお、除算回路92は被除多項式側の
最高次数の係数を除多項式側の最高次数の係数で除算す
るように構成されている。
【0049】各係数の状態をレジスタ内の数字で示す。
すなわち、被除多項式の各係数データを記憶するレジス
タ90には被除多項式を除多項式で除算を行ない被除多項
式の次数を1次減らした時の剰余が自動的にセットされ
ることになり、これが次回の除算で被除多項式となる。
同様にして2回目の除算を行なうと、図39(a) に示すよ
うに剰余がレジスタ90にセットされる。同様に3回目の
除算を行なった結果を図39(b) に示す。この除算動作は
被除多項式の次数が除多項式の次数より小さくなるまで
繰り返される。本従来例では被除多項式A(Z)と除多
項式B(Z)との次数差が2次であるので、上記除算動
作を3回繰り返せばよい。
【0050】以上の処理を筆算により確認する。数3に
筆算でガロア体上の多項式同士の除算(上記A(Z)/
B(Z))を行なった場合の計算過程を示す。
【0051】
【数3】
【0052】各段階の剰余は数3に示すように図38(a),
(b),図39(a),(b) の状態に対応したものとなっている。
このとき、レジスタ90に格納されているデータは被除多
項式を除多項式で除算した時の剰余多項式の係数データ
が記憶されている。よって、図38, 39に示すようなシフ
トレジスタ構成の除算回路を用いることによりガロア体
上の多項式同士の除算を1多項式毎に行えることにな
る。
【0053】以下、図25に示すユークリッドアルゴリズ
ムに従い、リード・ソロモン符号を復号する誤り訂正装
置のユークリッド演算の除算回路部の動作を図37を用い
て説明する。本従来例では、光ディスク等に採用されて
いる最小ハミング距離が17のリード・ソロモン符号を復
号する場合について説明する。いま、再生信号より生成
したシンドローム多項式S(Z)を S(Z)=S15Z15+S14Z14+S13Z13+・・・S1
Z+S0 とする。
【0054】ユークリッド演算が開始されるとまず始
め、ユークリッド演算制御回路89より出力されるユーク
リッド演算開始信号をもとにレジスタ81a に初期値であ
る被除多項式Z2t(本従来例では最小距離が17の符号で
あるのでZ16)の係数が記憶されるとともに、レジスタ
81b に除多項式であるシンドローム多項式S(Z)の係
数データが記憶される。また、次数検出回路87, 88のカ
ウンタにはそれぞれ次数の初期値である16と15とがセッ
トされる。次数検出回路87, 88内のカウンタは被除多項
式の係数データを記憶しているレジスタ81a, 81bが1回
シフトされるたびにカウント値が1つ下がるように構成
されている。
【0055】なお、本従来例では右側に配置されている
レジスタに高次の次数の係数データが記憶される。それ
と同時に、除多項式であるシンドローム多項式は次数検
出回路88で最高次数の係数データが0であるか判定され
る。ユークリッド演算制御回路89では、次数検出回路88
で検出された除多項式(シンドローム多項式)の最大次
数の係数データの値が0の場合、除多項式の係数データ
が記憶されているレジスタ81b の内容をシフトし最大次
数のデータが0でなくなるまでシフト動作を繰り返す。
その際、次数検出回路88内の次数カウンタのカウント値
が減らされていく。この動作が終了すると、セレクタ82
はレジスタ81a の出力を選択するように制御され、セレ
クタ83はレジスタ81b の出力を選択するように制御す
る。
【0056】また、被除多項式の係数データが記憶され
ているレジスタ81a はクロックが入力されると加算回路
86の出力がラッチされるように構成されており、除多項
式の係数データが記憶されているレジスタ81b は係数デ
ータが保持されるように構成されている。図37には、具
体的な制御回路は省略したが、上記レジスタ81a, 81bに
入力されるクロック1, 2を除数側の係数データが記憶
されているレジスタについてのみ供給しないという方法
で除多項式の係数データをレジスタ内に保持する構成を
取っている。または、レジスタ81a, 81bの前段にセレク
タを設け、被除数側の係数の記憶されているレジスタに
ついては加算回路86の出力を選択するように、また除数
側の係数が記憶されているレジスタについては自分自身
の出力をラッチするように構成することにより実現する
こともできる。なお、図中に記した各演算回路(除算回
路84, 乗算回路85及び加算回路86)はガロア体上で定義
された各演算を行うものとする。
【0057】以下、図40, 41を用いて上記従来のユーク
リッド演算回路中の除算回路の回路動作を説明する。図
40(a) にレジスタ81a に被除多項式として初期値である
Z16がセットされ、レジスタ81b に除多項式としてシン
ドローム多項式S(Z)がセットされた状態を示す。な
お、レジスタ中に記した数字及び記号はレジスタに格納
されている係数データを示すものとする。本従来例では
説明を簡単にするためシンドローム多項式の最高次の係
数は0でないものとする。また、レジスタに記憶される
各多項式の高次の次数の係数データは右端に配置される
ものとする。そして、この図においては動作の説明をす
るため、各々のレジスタ81a, 81bの出力はセレクタ82,
83が選択している除算回路84, 乗算回路85及び加算回路
86に直接接続してある。
【0058】図40, 41に示す除算回路は図38, 39で示し
た除算回路と同一の構成をとっており、被除多項式の剰
余の次数が、除多項式の次数より小さくなるところまで
シフト動作を繰り返すことにより除算を実行する。除算
の終了判定は次数検出回路87, 88より出力される次数情
報をもとにユークリッド演算制御回路89で行う。図40
(b) に上記除算が終了した際に、各レジスタ81a, 81bに
記憶されている係数データの状態を示す。なお、レジス
タ81a に記憶されているH14〜H0 は剰余多項式の係数
データである。
【0059】次に、ユークリッド演算制御回路89では、
次数検出回路87(または88)より出力される上記剰余多
項式の次数をもとに、剰余の次数がユークリッド演算の
終了条件(本従来例では次数が7以下)を満たしていれ
ばユークリッド演算を終了し、終了条件を満たしていな
ければ前回の演算で除多項式であった多項式を被除多項
式として、また上記剰余多項式を除多項式として演算を
実行する。その際、図37に示すユークリッド演算回路中
の除算部回路(コア回路)では、除多項式(剰余多項
式)の最大次数が0であるかを判定し0であった場合は
除多項式(剰余多項式)の最大次数が0でなくなるまで
レジスタ81a の内容をシフトした後、セレクタ82, 83の
選択出力を切り換えてセレクタ82はレジスタ81b の出力
を選択し、セレクタ83はレジスタ81a の出力を選択する
ように制御信号を出力する。
【0060】図41(a) に上記の接続状態を示す。図に示
すようにセレクタ82, 83で各演算回路への接続を切り換
えることにより被除多項式と除多項式の交換が実行され
ている。(なお、回路構成は図38, 39に示す除算回路と
同一の構成となっている。)除算は、上記例と同様に被
除多項式の剰余の次数が除多項式の次数より小さくなる
まで被除多項式の係数データを記憶しているレジスタの
内容を演算しながらシフト動作を繰り返すことにより除
算を実行する。図41(b) に上記除算が終了した際に、各
レジスタ81a, 81bに記憶されている係数データの状態を
示す。なお、レジスタ81b に記憶されているI13〜I0
は剰余多項式の係数データである。
【0061】そして、上記剰余多項式の次数を判定し所
定の条件を満たしていなければセレクタ82, 83の接続を
切り換えてユークリッドアルゴリズムに基づく除算動作
を再び行う。この除算動作を剰余多項式の次数が7次以
下になるまで繰り返す。これにより、リード・ソロモン
符号を復号する際に、ユークリッドアルゴリズムに基づ
くガロア体上の多項式同士の除算を1多項式毎に行うこ
とができ、誤り訂正処理速度を向上させることが出来
る。
【0062】従来の誤り訂正装置のユークリッド演算回
路中のガロア体上の多項式同士の除算部回路(コア回
路)はユークリッド演算を高速化するため上記のように
構成されているが、ユークリッド演算を行う時、多項式
同士の交換を行うために各レジスタの出力がセレクタに
接続されており、例えば上記従来例に示す光ディスクの
誤り訂正符号として採用されている最小ハミング距離が
17の符号を復号する際はセレクタが各レジスタ毎に必要
となり、セレクタの制御も必要となる。このため、回路
規模が必要以上に大きくなってしまい、また、これらの
セレクタを制御するためセレクタ制御回路、及び制御信
号用バスが必要となってくる。すなわち、特開平3-1720
27号公報で紹介されているユークリッド演算過程におけ
るガロア体上の多項式の除算部回路(コア回路)は、上
記多項式の除算を高速に行うことが出来るが不必要に回
路規模が大きくなり、また制御も複雑になるという問題
点があった。
【0063】本発明は斯かる事情に鑑みてなされたもの
であり、本発明の1つの目的は、高速動作が可能である
誤り訂正装置を提供することにある。
【0064】本発明の他の目的は、回路規模を大きくす
ることなく高速動作を可能とした誤り訂正装置を提供す
ることにある。
【0065】本発明の更に他の目的は、不必要な制御を
必要としない誤り訂正装置を提供することにある。
【0066】
【課題を解決するための手段】本願の第1発明に係る誤
り訂正装置は、入力信号に付加されている線形符号であ
る誤り訂正符号を用いて誤り訂正を行なう誤り訂正装置
であって、入力信号からシンドロームを生成するための
シンドローム生成手段と、生成されたシンドロームをも
とに誤り位置多項式σ(z)及び誤り数値多項式ω
(z)を算出する誤り位置・数値多項式演算手段と、算
出された誤り位置多項式σ(z)を基に誤り位置を算出
する誤り位置算出手段と、算出された誤り数値多項式ω
(z)及び誤り位置情報を基にRAM内に格納されてい
る誤ったデータの誤り訂正を行う誤り訂正手段とを有
し、誤り訂正時に、少なくともシンドローム生成手段,
誤り位置・数値多項式演算手段及び誤り位置算出手段の
3つの処理動作を並行して行うように構成したものであ
る。
【0067】本願の第2発明に係る誤り訂正装置は、第
1発明にあって、シンドローム生成手段及び誤り位置算
出手段を駆動するクロックを、誤り位置・数値多項式演
算手段を駆動するクロックより高い周波数のクロックと
するように構成する。
【0068】本願の第3発明に係る誤り訂正装置は、第
1発明にあって、回路規模が復号時のステップ数でほぼ
決定する誤り位置・数値多項式演算手段の復号ステップ
数をシンドローム生成手段及び誤り位置算出手段の復号
ステップ数とほぼ等しくなるように増加させるように構
成する。
【0069】本願の第4発明に係る誤り訂正装置は、第
1発明にあって、誤り訂正手段によりRAM内のデータ
に誤り訂正を施す際に誤り位置算出手段より出力される
誤り位置情報に基づく誤ったデータを少なくとも2つ以
上を連続してRAMより読み出した後に、誤り訂正を施
したデータを逐次RAM内の誤ったデータとに書き換
え、この動作を誤り位置検出されたデータがすべて訂正
されるまで繰り返すように構成する。
【0070】本願の第5発明に係る誤り訂正装置は、所
定の被除多項式を除多項式で除算し、さらにその剰余を
除多項式として、また除多項式を被除多項式として除算
して剰余の多項式の次数がある条件を満たすまで上記動
作を繰り返すユークリッド互除の処理過程を含んでリー
ド・ソロモン符号による誤り訂正処理を行う誤り訂正装
置であって、被除多項式及び除多項式の各係数データを
記憶しておくレジスタをシフトレジスタ状に配置し、そ
して、この2つの多項式の最大次数の係数同士を除算す
る除算回路と、除算回路の除数側に設定された多項式の
係数データと除算回路の出力とを乗算する乗算回路と、
乗算回路の出力と除算回路の被除数側に設定された多項
式の係数データとを加算する加算回路とを配置し、ガロ
ア体上の除算を実行する際に被除多項式の係数データが
記憶されているレジスタの内容を逐次シフトすることに
よりユークリッド互除過程に基づく除算を実行するよう
に構成する。
【0071】本願の第6発明に係る誤り訂正装置は、第
5発明において、乗算回路をユークリッド互除過程にお
ける初期値Z2tをセットするレジスタ群に配置するよう
に構成する。
【0072】本願の第7発明に係る誤り訂正装置は、第
5または第6発明において、除算回路において、除数と
して入力される多項式の最大次数の係数が0であった場
合、除算回路の出力を1として出力するように構成す
る。
【0073】本願の第8発明に係る誤り訂正装置は、第
5または第6または第7発明において、除算回路より出
力される除算結果を用いて誤り位置多項式σ(Z)を算
出する際、除算回路に入力される被除多項式の最大次数
の係数データが除数として扱われる場合と被除数として
扱われる場合とで算出方法を切り換えるように構成す
る。
【0074】本願の第9発明に係る誤り訂正装置は、第
5または第7または第8発明において、除算回路の出力
と誤り位置情報とを選択する第1の選択手段と、除算回
路の除数側の多項式の係数を記憶しておく記憶手段の出
力と、除算回路の被除数側の多項式の係数データを記憶
しておく記憶手段の出力とを選択する第2の選択手段
と、除算回路の除数側の多項式の係数とそれより1次次
数が高い除算回路の除数側の多項式の係数とを選択する
第3の選択手段と、第1の選択手段の出力と第3の選択
手段の出力とを乗算する乗算手段と、この乗算手段の出
力と第2の選択手段の出力とを加算する加算手段とを有
し、消失訂正時に修正シンドローム多項式を演算する
際、第1,第2及び第3の選択手段でそれぞれ誤り位置
情報,除算回路の除数側の多項式の係数データ及び1次
次数が高い多項式の係数を選択するように構成する。
【0075】
【作用】第1発明の誤り訂正装置は、再生または受信信
号中の誤りを訂正する際、シンドローム生成手段,誤り
位置・数値多項式演算手段及び誤り位置算出手段の3つ
の処理手段を並行して動作するように構成したので、図
33に示す1誤り訂正ブロックに誤り訂正を行なう際の復
号時間を半分以下にすることができる。また、復号時に
高速化のネックとなる誤り訂正装置とRAMとのデータ
のアクセスを常に行なうように構成したので、最も短い
復号時間で復号できる誤り訂正装置を得ることができ
る。(これは、先ほども述べたように図32に示すような
積符号形式の誤り訂正符号の復号を行なう場合、まずは
じめに受信データをRAM内に書き込み、C1及びC2
符号による誤り訂正を施す。このときRAM1ではシン
ドローム生成のためのデータの読み出し、誤り訂正を行
なうための誤りが検出されたデータの読み出し及び誤り
訂正が施されたデータの書き込みを行なう必要がある。
誤り訂正装置の高速化を考える際、RAMと誤り訂正装
置とのデータアクセスが非常に問題となっていた。)
【0076】第2発明の誤り訂正装置は、比較的高速化
が図れるシンドローム生成手段と誤り位置算出手段との
クロック周波数を誤り位置・数値多項式演算手段のクロ
ックの周波数に比べて高くすることにより、1誤り訂正
ブロックを復号するのに要する復号時間を短縮すること
ができ処理速度を上げることが可能となる。
【0077】第3発明の誤り訂正装置は、誤り位置・数
値多項式演算手段の復号ステップ数をシンドローム生成
手段または誤り位置算出手段の復号ステップ数と誤り訂
正回路の復号ステップ数とほぼ等しくなるように増加さ
せることにより、誤り位置・数値多項式演算手段の回路
規模を小さくするので、誤り位置・数値多項式演算手段
の復号ステップ数は増加するものの誤り訂正装置の復号
ステップ数は変化しないので誤り訂正装置の高速化を実
現することができる。
【0078】第4発明の誤り訂正装置は、誤り訂正回路
の処理動作を誤り位置情報に基づきRAM内の誤ったデ
ータを逐次読み出した後に、誤り訂正が施されたデータ
をRAMに書き込むので、通常1シンボルの誤り訂正を
行う際、RAMからのデータの読み出し、誤り訂正、R
AMへのデータの書き込みと最低3ステップかかってい
た動作を、RAMよりのデータの読み出し、誤り訂正及
びRAMへのデータの書き込みを平行動作させるので2
ステップで行うことが可能となり、誤り訂正装置の高速
化が図れる。特にRAMとのアクセス時間が問題となる
場合にRAM1とのアクセス時間が減少するので高速化
が図れる。
【0079】第5発明の誤り訂正装置は、ユークリッド
互除過程におけるガロア体上の多項式同士の除算を実行
する際、各多項式の係数データを交換するためのセレク
タをもたずにユークリッド互除過程中の除算を実行する
ので、回路規模の縮小を図れるとともにセレクタ制御が
不必要になり回路の簡素化が図れる。
【0080】第6発明の誤り訂正装置は、乗算回路をユ
ークリッド互除過程における初期値Z2tをセットするレ
ジスタ群に配置して除算動作を行うので、除算動作を行
うため乗算回路の数を1つ削減して回路規模の縮小を図
れる。
【0081】第7発明の誤り訂正装置は、ユークリッド
演算を行う際の除算回路中に配置されている除算回路の
出力を、除数として入力される多項式の最大次数の係数
が0であった場合、1とするように構成されているの
で、ユークリッド演算制御回路で被除多項式または除多
項式の最大次数が0であった場合でも、回路規模を増大
させることなくユークリッドアルゴリズムにおけるガロ
ア体上の多項式同士の演算を実行できる。
【0082】第8発明の誤り訂正装置は、除算回路の出
力を用いて誤り位置多項式σ(Z)を算出する際、除算
回路に入力される被除多項式の最大次数の係数データが
除数として扱われる場合と被除数として扱われる場合と
で算出方法を切り換えるので、誤り位置多項式が正確に
算出されるとともに、復号ステップ数を削減できる。
【0083】第9発明の誤り訂正装置は、イレージャ訂
正を行う際に算出する修正シンドローム多項式の算出を
セレクタ回路を付加するだけで構成できるので、回路規
模の増大を極力抑えてイレージャ訂正にも対応できる。
【0084】
【実施例】以下、本発明をその実施例を示す図面に基づ
いて詳述する。
【0085】第1実施例.図1に本発明の第1実施例で
ある誤り訂正装置のブロック構成図を示す。図において
1, 2及び20〜22は図26及び図28に示したものと同一で
あるので説明は省略する。40はユークリッド演算回路20
より出力される誤り位置多項式及び誤り数値多項式の各
係数データを記憶するレジスタ、41はシンドローム生成
回路2,ユークリッド演算回路20,レジスタ40,チェン
サーチ回路21及び誤り訂正回路22を制御するとともに、
RAM1の書き込み及び読み出し制御も行う誤り訂正装
置制御回路である。なお、シンドローム生成回路2、ユ
ークリッド演算回路20のガロア体上の多項式の除算回路
部分、及びチェンサーチ回路21の回路構成は図27,図29
及び図30に示すものと同一の構成であるので説明は省略
する。
【0086】次に、本発明の第1実施例である誤り訂正
装置の動作を説明する。なお、本実施例では従来例と同
様に図33に示す最小距離17の記録方向のC1符号を復号
する場合について説明する。RAM1に格納されている
再生または受信時に発生した誤りを含む再生または受信
データは、誤り訂正処理が開始されるとC1ブロック
(単位情報ブロック)を単位にRAM1より読みだされ
る。なお、RAM1からの再生データの読みだしは、誤
り訂正装置制御回路41より出力されるシステムスタート
信号に同期して発生する読みだしアドレス、及び読みだ
し制御信号に基づき行われる。RAM1より読みだされ
たデータはシンドローム生成回路2へ出力される。シン
ドローム生成回路2では誤り訂正装置制御回路41より出
力されるシステムスタート信号に基づきシフトレジスタ
形式に配置された各レジスタ10に0をセットする。そし
て、RAM1より読みだされたデータを従来例と同様に
逐次演算を行いながらシフトすることにより除算動作を
実行する。シンドローム生成に当たっては従来例と同様
に符号長分の241 ステップを必要とする。シンドローム
生成回路2で生成されたシンドロームはシンドローム生
成終了信号とともにユークリッド演算回路20に出力され
る。シンドローム生成終了信号は誤り訂正装置制御回路
41へも出力される。ユークリッド演算回路20ではシンド
ローム生成回路2より出力されるシンドローム生成終了
信号に基づきユークリッド演算回路20での演算処理の初
期値をセットする。なお、ユークリッド演算回路20の演
算動作が終了していない場合にはユークリッド演算が終
了と同時に演算処理の初期値をセットする。
【0087】一方、ユークリッド演算回路20では、誤り
訂正装置制御回路41より出力されるシステムスタート信
号に基づきシンドローム生成終了時にあらかじめセット
された初期値を元にユークリッド演算を開始する。ユー
クリッド演算回路20は、従来例と同様に図25に示すアル
ゴリズムに従いガロア体上の多項式の除算を繰り返し行
うことにより、誤り位置多項式σ(z)及び誤り数値多
項式ω(z)の算出を行う。図29を用いてユークリッド
演算回路20の回路動作を説明する。シンドローム生成終
了信号が入力されると各レジスタ52a, 52bには初期値が
セットされる。具体的には上側のレジスタ52a 群にはZ
2tがセットされ、下側のレジスタ52b 群には上記シンド
ローム生成回路2により算出されたシンドローム多項式
の係数データがセットされる。セットされたデータはシ
ステムスタート信号に基づき被除数側(最初はZ2tのデ
ータがセットされた上側のレジスタ52a 群)のデータを
シフトしていくことによりガロア体上の多項式の除算を
実行する。除算は被除数側の多項式の次数が除数側の多
項式の次数より小さくなるまで繰り返す。除算動作を具
体的に示すと次のようになる。図29において、被除数側
のレジスタ52群に接続されているセレクタ53は加算器55
の出力を選択するように接続され、除数側のレジスタ52
群に接続されているセレクタ53はレジスタ52の出力を選
択するように構成する。この結果、除数側のデータはレ
ジスタ52内に維持され、被除数側のレジスタ52内のデー
タはシフトされ除算が実行されることになる。
【0088】除算の結果、被除数側のレジスタ群には上
記除算の余りが格納されることになる。次に除数レジス
タ群に格納されている多項式を被除数として、また上記
除算結果の余りを除数として除算を行なう。これは、セ
レクタ53の出力を切り換えることにより除数、被除数の
切り換えを実行する。この動作を図25に示すユークリッ
ドアルゴリズムの終了条件が満たされるまで繰り返す。
上記、条件が満たされるとユークリッド演算回路20では
誤り位置多項式及び誤り数値多項式の各係数データを算
出する。算出された各係数データは一旦レジスタ40に格
納される。なお、ユークリッド演算回路20は、ユークリ
ッド演算が終了すると誤り訂正装置制御回路41へユーク
リッド演算終了信号を出力する。
【0089】同様にチェンサーチ回路21では誤り訂正装
置制御回路41より出力されたシステムスタート信号を基
準にしてレジスタ40に記憶されている誤り位置多項式の
係数データを帰還レジスタ31にセットするとともに、係
数カウンタ35のカウント値を0にセットする。そして、
従来例と同様に帰還レジスタ31の出力は乗算器32にあら
かじめセットされている乗数と乗算され、再び帰還レジ
スタ31でラッチされる。また、係数カウンタ35は帰還レ
ジスタ31の帰還回数をカウントする。
【0090】帰還レジスタ31の出力は加算回路33で加算
される。判定回路34では、前記加算結果が0であるかを
判定し、0であった場合係数カウンタ35の値をレジスタ
36へ書き込む。従来例と同様にこのカウント値が誤り位
置に対応する。チェンサーチは符号長に相当する241 回
帰還レジスタ31を動作させ誤り位置を算出する。チェン
サーチが終了するとチェンサーチ終了信号が誤り訂正装
置制御回路41へ出力される。誤り訂正装置制御回路41で
はチェンサーチ終了信号,ユークリッド演算終了信号及
びシンドローム生成終了信号にもとづき誤り訂正開始信
号を誤り訂正回路22に出力する。
【0091】誤り訂正装置制御回路41では、誤り訂正開
始信号を出力すると同時に、チェンサーチ回路21より出
力される誤り位置情報をもとにRAM1内に格納されて
いる誤ったデータを逐次読みだすための読み出しアドレ
ス及び読み出し制御信号を出力する。例えば、8誤り訂
正の場合8個の誤り位置情報に相当する8個の誤った情
報をRAM1より読み出す。一方、誤り訂正回路22で
は、入力された誤り訂正開始信号を基準にして誤り訂正
を開始する。まず始めに、誤り訂正回路22内では、ユー
クリッド演算回路20より出力される誤り数値多項式ω
(z)、及びチェンサーチ回路21より出力される誤り位
置情報により誤り数値を求める。RAM1より読みださ
れた誤ったデータは、誤り数値と加算され誤り訂正が逐
次施される。RAM1からの誤った情報の読みだしが終
了すると、上記誤り訂正が施されたデータがRAM1内
の誤ったデータと逐次書き換えられる。図9に誤り訂正
回路22のタイミングチャートを示す。
【0092】次に、第1実施例を用いて誤り訂正を施す
場合の、各回路部の信号処理タイミングを図2を用いて
説明する。図2には、誤り訂正装置制御回路41より出力
される各種制御信号の出力タイミング,各回路の動作タ
イミング及びRAM1のデータアクセス状態を示す。誤
り訂正装置制御回路41では誤り訂正が開始されるとシス
テムスタート信号をシンドローム生成回路2、ユークリ
ッド演算回路20、及びチェンサーチ回路21へ出力すると
ともにRAM1に格納されている再生データを読みだす
ための読みだしアドレス、及び制御信号を出力する。
【0093】シンドローム生成回路2ではシステムスタ
ート信号にもとづきレジスタ10内の値を0にセットする
とともにRAM1より読みだされたデータに対して所定
の演算(除算)処理を行う。なお、上述のようにシンド
ローム生成にあたっては演算終了まで符号長に相当する
241 ステップを要する。この演算時間を図2中のSY部
に示す。
【0094】シンドローム生成が終了すると、シンドロ
ーム生成回路2より生成されたシンドロームデータとと
もにシンドローム生成終了信号が出力される。ユークリ
ッド演算回路20では、シンドローム生成終了信号に基づ
きユークリッド演算のための初期値をセットする。な
お、ユークリッド演算回路20の演算が終了していない場
合は、ユークリッド演算が終了しだい初期値をセットす
る。
【0095】ユークリッド演算回路20ではシステムスタ
ート信号にもとづき上述の要領でGF(28 )上の多項
式の除算を行い、誤り位置多項式σ(z)及び誤り数値
多項式ω(z)を算出する。なお、ユークリッド演算回
路20で図33に示す最小距離17のリード・ソロモン符号を
復号する場合、従来例と同様に約120 ステップ程度必要
とする。この演算時間を図2中のEU部に示す。
【0096】ユークリッド演算回路20によって算出され
た誤り位置多項式σ(z)及び誤り数値多項式ω(z)
の各係数データはレジスタ40に一旦記憶される。なお、
ユークリッド演算が終了するとユークリッド演算回路20
よりユークリッド演算終了信号が出力される。
【0097】チェンサーチ回路21ではシステムスタート
信号に基づき係数カウンタ35に0がセットされるととも
に、ユークリッド演算回路20で算出された誤り位置多項
式の各係数データが各帰還レジスタ31にセットされる。
そして帰還レジスタ31の出力は乗算回路32にあらかじめ
セットされている乗数と乗算され、再び帰還レジスタ31
でラッチされる。係数カウンタ35は帰還カウンタ31の帰
還数をカウントする。加算回路33では各帰還レジスタ31
の出力を加算する。判定回路34では前記加算結果が0で
あるかを判定し、0であった場合には係数カウンタ35の
カウント値をレジスタ36へ書き込む。なお、上述のよう
にチェンサーチ回路21では誤り位置を算出するために最
大、符号長分のステップ数すなわち241 ステップを必要
とする。この演算時間を図2中のCH部に示す。
【0098】チェンサーチが終了するとチェンサーチ回
路21よりチェンサーチ終了信号が出力される。誤り訂正
装置制御回路41ではチェンサーチ終了信号,ユークリッ
ド演算終了信号及びシンドローム生成終了信号にもとづ
き誤り訂正開始信号を出力する。誤り訂正回路22では誤
り訂正開始信号に基づき誤り数値多項式ω(z)、及び
チェンサーチ回路21より出力される誤り位置情報を用い
て誤り数値を算出する。そして、RAM1より読み出さ
れた誤り位置を算出されたデータに誤り数値を加算する
ことにより誤り訂正を施す。誤り訂正が施されたデータ
は、RAM1からの誤ったデータの読み出しが終了する
と同時にRAM1へ書き込まれる。図9に誤り訂正回路
22のタイミングチャートを示す。本実施例では8シンボ
ルの誤りを訂正するために16ステップを要する。なお、
図9に示す誤り訂正回路のタイミングチャートについて
の詳しい説明は後述する。
【0099】誤り訂正装置制御回路41では、RAM1,
シンドローム生成回路2,ユークリッド演算回路20,レ
ジスタ40,チェンサーチ回路21及び誤り訂正回路22の上
記動作を制御する。その際、シンドローム生成回路2,
ユークリッド演算回路20及びチェンサーチ回路21の3つ
の回路の並行動作を管理するため、誤り訂正装置制御回
路41では、システムスタート信号で各々の回路の動作フ
ラグをセットし、各々の回路より出力される演算終了信
号に基づき上記動作フラグをリセットする動作フラグ生
成回路を内部に持っており、このフラグの状態により各
回路を制御する。具体的には、この動作フラグの状態に
より、RAM1のアドレス制御、各々の回路で算出され
たデータの転送、または各々の回路の初期値のセット等
の制御を行うための信号を各回路へ出力する。また、こ
の動作フラグは各回路へも出力される。
【0100】誤り訂正開始信号はシンドローム生成回路
2とRAM1とのアクセス、及びチェンサーチ回路21で
の誤り位置の計算が終了すると同時に出力される。それ
と同時にチェンサーチ回路21で算出された誤り位置情報
を基に、RAM1より誤ったデータを読み出すための読
みだしアドレス及び読みだし制御信号を発生する。
【0101】本実施例に示すように誤り訂正装置におい
て、シンドローム生成回路2,ユークリッド演算回路20
及びチェンサーチ回路21の3つの回路を並行動作するこ
とにより、図2に示すように1誤り訂正ブロックを復号
するステップ数を257 ステップとすることができ、従来
の誤り訂正装置に比べて約2.4 倍(626 /257)に復号速
度を上げることが可能である。また、シンドローム生成
回路2と誤り訂正演算回路3とを並行に動作せる場合に
比べても1.5 倍(386 /257)に復号速度を上げることが
可能である。よって、誤り訂正装置を並列に配置するこ
となく回路の高速化をはかることができ、並列に誤り訂
正装置を配置した場合に比べて回路規模の大幅な縮小を
図れる。
【0102】また、本実施例のように並行処理を行う誤
り訂正装置においては、RAM1のデータアクセス時間
が誤り訂正装置の動作速度を決定する。特に図32に示す
積符号形式の誤り訂正符号を復号する際は、再生された
誤りを含むデータを一旦RAM1内にデータを格納した
後に誤り訂正を施す。一般に、積符号形式の誤り訂正符
号の復号はC1符号により記録方向の誤り訂正を行なっ
た後にC2符号により垂直方向の誤り訂正を行ない、C
1符号により誤りを訂正できなかったデータに対してC
2符号により誤り訂正を行なう。(記録方向に付加され
たC1符号による誤り訂正を行なう場合は、RAM1内
にデータを一旦格納せずに、再生データより直接シンド
ロームを生成して誤り訂正を施してもよいが、C2符号
による誤り訂正を行なう際は図32に示す誤り訂正ブロッ
クのデータを垂直方向に読み出す必要がある。よって、
C2符号による再生データの誤り訂正はRAM1内に一
旦蓄えられたデータに対して誤り訂正が施される。)
【0103】RAM1内に一旦格納された再生データ
は、誤り訂正符号による誤り訂正を行なうためRAM1
より読み出される。RAM1より読み出されたデータは
上述のように誤り訂正装置でシンドローム生成、誤り位
置の算出、及び誤り数値の算出が行なわれる。そして、
算出された誤り位置に相当するアドレスのデータがRA
M1より読み出され、誤り数値と加算され誤り訂正が施
される。誤り訂正が施されたデータはRAM1内の誤り
位置に相当するアドレスへ書き込まれる。
【0104】この際使用されるRAM1は高速にデータ
をランダムにアクセスできるSRAM、またはDRAM
などが用いられる。一般に前述のようなRAMはデータ
の入出力I/Oポート、及び書き込み及び読み出しのア
ドレスポートは別々には設けられていない。従って、誤
り訂正装置において最高速度の処理を実現するためには
RAM1とのデータのアクセスがあるシンドローム生成
回路2及び誤り訂正回路22をそれぞれ独立に動作させ、
RAM1とのアクセスがないユークリッド演算回路20及
びチェンサーチ回路21をシンドローム生成回路2と並行
動作させればよい。すなわち、シンドローム生成回路2
及び誤り訂正回路22が動作している間に、ユークリッド
演算回路20及びチェンサーチ回路21の演算を終了するよ
うに誤り訂正装置を動作させればよいことになる。この
ように誤り訂正装置を動作させればRAM1は、誤り訂
正動作が開始されると常にシンドローム生成回路2また
は誤り訂正回路22とアクセス状態にあり、最小の復号時
間で誤り訂正を施すことができる。なお、本実施例にお
けるRAM1の動作状態を示すRAMアクセス信号を図
2に示す。従って、第1実施例の構成をとる誤り訂正装
置(すなわち、シンドローム生成回路2,ユークリッド
演算回路20及びチェンサーチ回路21の3つの回路を並行
動作させる構成)が最高速の復号速度を有することにな
る。
【0105】第2実施例.次に、本発明の第2実施例に
ついて説明する。図3は第2実施例である誤り訂正装置
のブロック構成図である。図において1, 2, 20〜22,
40, 41は第1実施例に示したものと同一のものであるの
で説明は省略する。本実施例では、図に示すようにシン
ドローム生成回路2,チェンサーチ回路21及び誤り訂正
回路22はクロック1で駆動するように構成されている。
また、ユークリッド演算回路20は上記クロック1と異な
る周波数のクロック2で駆動するように構成されてい
る。なお、誤り訂正装置制御回路41はクロック1及びク
ロック2をもとにRAM1,シンドローム生成回路2,
ユークリッド演算回路20,レジスタ40,チェンサーチ回
路21及び誤り訂正回路22を制御する。また、シンドロー
ム生成回路2、ユークリッド演算回路20のガロア体上の
多項式の除算回路、及びチェンサーチ回路21の回路構成
は図27, 図29及び図30に示すものと同一の構成であるの
で説明は省略する。
【0106】次に、本発明の第2実施例である誤り訂正
装置の動作を説明する。本実施例ではクロック1の周波
数をクロック2の周波数の2倍の周波数で制御した場合
について説明する。これは、図27及び図30に示すよう
に、シンドローム生成回路2及びチェンサーチ回路21は
レジスタの出力にガロア体上の定数値との乗算回路と、
加算回路が直列または並列に配置されている。この際、
ハードウェア上ではレジスタ間で最大で4段のEX−O
Rゲートを通ることになる。それに対してユークリッド
演算回路20上ではハードウェア構成にもよるが、変数ど
うしの乗算回路と加算器で構成されているのでEX−O
Rゲートを7段程度と、数個のセレクタを通って次のレ
ジスタにデータがラッチされる。従って、このシンドロ
ーム生成回路2及びチェンサーチ回路21はユークリッド
演算回路20に比べて高速化が比較的容易である。なお、
説明をわかりやすくするためクロック2の周波数は上記
実施例1で回路を駆動したクロックと同一の周波数であ
るとする。また、本実施例では第1実施例と同様に図33
に示す最小距離17の記録方向のC1符号を復号する場合
について説明する。
【0107】RAM1に格納されている再生、または受
信データは誤り訂正処理が開始されるとC1ブロック
(単位情報ブロック)を単位にRAM1より読みだされ
る。なお、RAM1からのデータの読みだしは、誤り訂
正装置制御回路41より出力されるシステムスタート信号
に基準にしてシンドローム生成回路2を駆動するクロッ
ク1に同期して発生する読みだしアドレス及び読みだし
制御信号に基づき行われる。RAM1より読みだされた
データはシンドローム生成回路2へ出力される。
【0108】シンドローム生成回路2では、第1実施例
と同様に、シンドロームが生成されるが、この時の動作
は第1実施例と同じであるので説明は省略する。シンド
ローム生成に当たっては第1実施例と同様に符号長分の
241 ステップを必要とするが、シンドローム生成回路2
を駆動するクロックは第1実施例に比べて2倍の周波数
のクロックで駆動しているので、第1実施例の半分の時
間でシンドロームの生成は終了する。ユークリッド演算
回路20では、誤り訂正装置制御回路41より出力されるシ
ステムスタート信号に基づきシンドローム演算終了時に
あらかじめセットされた初期値を元にクロック2に同期
してユークリッド演算を開始する。ユークリッド演算回
路20の動作は、第1実施例と同様であり、その説明は省
略する。その後、第1実施例と同様に、チェンサーチ回
路21において誤り位置が算出される。なお、チェンサー
チ回路21を駆動するクロックは上述のように、第1実施
例に比べて2倍の周波数のクロックで駆動しているの
で、第1実施例の半分の時間で誤り位置の算出が終了す
る。その後、第1実施例と同様に、誤り訂正回路22で誤
り数値が求められ、誤り訂正が逐次施され、誤り訂正が
施されたデータがRAM1内の誤ったデータと逐次書き
換えられる。
【0109】次に、第2実施例を用いて図33に示す1ラ
インのデータを復号する場合の各回路部の信号処理タイ
ミングを図4に示す。図4において、図2と同一部分に
は同一符号を付している。
【0110】シンドローム生成にあたっては演算終了ま
で符号長に相当する241 ステップを要するが、シンドロ
ーム生成にあたってはクロック1の周波数が第1実施例
の場合と比べて2倍になっているのでシンドローム生成
にかかる時間(図4中のSY部)は半分となる(241/2
ステップ程度)。なお、ユークリッド演算部分のクロッ
ク周波数は第1実施例と同じであるので、その演算時間
(図4中のEU部)は第1実施例と同じである(120 ス
テップ程度)。一方、チェンサーチ回路21を駆動するク
ロックの周波数はシンドローム生成の場合と同様に第1
実施例の場合の2倍であるので、チェンサーチ回路21で
の演算時間(図4中のCH部)は第1実施例に比べて半
分の時間となる(241/2ステップ程度)。また、第2実
施例では誤り訂正回路22をクロック1で駆動しているの
で、処理時間は第1実施例に比べて半分の処理時間で動
作は完了する(8ステップ程度)。
【0111】第2実施例では、シンドローム生成回路
2,ユークリッド演算回路20及びチェンサーチ回路21の
3つの回路の並行動作を、クロック1及びクロック2の
2系統で制御することとし、かつシンドローム生成回路
2及びチェンサーチ回路21を駆動するクロックの周波数
をユークリッド演算回路20を駆動するクロックの周波数
に対して2倍の周波数に設定する。従って、図4に示す
ように1誤り訂正ブロックを復号するステップ数を128.
5 ステップとすることができ、従来の誤り訂正装置に比
べて約4.8 倍(626 /128.5)に上げることが可能であ
る。また、シンドローム生成回路2と誤り訂正演算回路
3とを並行に動作せる場合に比べても約3倍(386 /12
8.5)に復号速度を上げることが可能である。よって、
誤り訂正装置を並列に配置することなく回路の高速化を
はかることができ、並列に誤り訂正装置を配置した場合
に比べて回路規模の大幅な縮小を図れる。
【0112】また、第1実施例と同様、本実施例でも、
RAM1とのデータのアクセスがないユークリッド演算
回路20及びチェンサーチ回路21を、シンドローム生成回
路2と並行動作させ、シンドローム生成回路2及び誤り
訂正回路22が動作している間に、ユークリッド演算回路
20及びチェンサーチ回路21の演算が終了するように動作
させているので、最小の復号時間で誤り訂正を施すこと
ができる。更に、本実施例の誤り訂正装置では、比較的
高速化が可能なシンドローム生成回路2及びチェンサー
チ回路21を駆動するクロックを第1実施例に比べて2倍
の周波数のクロックにしたため、第1実施例に比べてお
よそ半分の復号時間で1ブロック当たりの誤り訂正動作
を行うことが可能となる。
【0113】なお、第2実施例では、クロック1の周波
数をクロック2の周波数の2倍の周波数に設定したが、
これに限るものではなく例えば3倍,4倍等の整数倍、
または1.5 倍,3.2 倍等の非整数倍に選んでも同様の効
果を奏する。また、シンドローム生成回路2及びチェン
サーチ回路21を同一周波数のクロックで駆動したがこれ
に限るものではなく、ユークリッド演算回路20を駆動す
るクロックの周波数より高いクロックで駆動すれば、シ
ンドローム生成回路2を駆動するクロックとチェンサー
チ回路21を駆動するクロックの周波数が異なってもよ
い。更に、誤り訂正回路22を駆動するクロックとしてク
ロック1を用いたがこれに限るものではなくクロック2
または他の周波数のクロックを用いてもよい。
【0114】第3実施例.次に、第3実施例について説
明する。なお、本発明の第3実施例である誤り訂正装置
のブロック構成は第1実施例(図1)と同様である。図
5に第3実施例におけるユークリッド演算回路20のガロ
ア体上の多項式の除算を実行する除算回路部分のブロッ
ク構成図を示す。
【0115】図5において、50及び51は図29に示すもの
と同一であるので説明は省略する。60,65及び66はレジ
スタ、61及び62はセレクタ、64は加算器、63は乗算回路
である。以上、レジスタ60,65及び66、セレクタ61及び
62、加算器64、及び乗算回路63でユークリッド演算回路
20は構成されている。なお、本実施例では、図29に示す
従来のユークリッド演算回路20の除算回路に比べて図5
に示すユークリッド演算回路20の除算回路は各レジスタ
毎に接続されていた乗算回路がレジスタ2個毎に1個接
続されており、回路規模の削減を図っている。具体的に
はセレクタ62及びレジスタ66は増えているが、例えば本
実施例のように最小距離17のリード・ソロモン符号を復
号する場合、乗算回路が16個(400×16=6400ゲート) が
省略でき、増加するレジスタ66は8個(8×56=448 ゲ
ート) 、及びセレクタ62が16個(24×16=384 ゲート)
となり約5500ゲートの回路規模の縮小が図れる。
【0116】次に、第3実施例である誤り訂正装置の動
作を説明する。本実施例では第1実施例と同様に図33に
示す最小距離17の記録方向のC1符号を復号する場合に
ついて説明する。なお、第3実施例におけるシンドロー
ム生成回路2,チェンサーチ回路21及び誤り訂正回路22
の動作は第1実施例と同様であるのでその説明は省略
し、本実施例の特徴部分であるユークリッド演算回路20
の動作についてのみ図5を用いて詳述する。
【0117】シンドローム生成終了信号が入力されると
各レジスタ60, 65には初期値がセットされる。具体的に
は図5に示す上側2列のレジスタ群60a, 60bにはZ2tが
セットされ、下側2列のレジスタ群65a, 65bにはシンド
ローム生成回路2により算出されたシンドローム多項式
の係数がセットされる。セットされたデータはシステム
スタート信号に基づき被除数側(最初はZ2tのデータが
セットされた上側2列のレジスタ群60)のデータをシフ
トしていくことによりガロア体上の多項式の除算を実行
する。除算は被除数側の多項式の次数が除数側の多項式
の次数より小さくなるまで繰り返す。
【0118】除算動作を具体的に示すと次のようにな
る。図5において、被除数側のレジスタ60群に接続され
ているセレクタ61はレジスタ66の出力を選択するように
接続され、除数側のレジスタ65群に接続されているセレ
クタ61はレジスタ65の出力を選択するように構成する。
この結果、除数側のデータはレジスタ65内に維持され、
被除数側のレジスタ60内のデータはシフトされ除算が実
行されることになる。
【0119】この際、本実施例に示すユークリッド演算
回路20の除算回路は図に示すように乗算回路63がレジス
タ2個に1つ配置されているためセレクタ62を逐次切り
換えていくことにより除算を実行する。具体的には、被
除数側の一方のレジスタのデータが除算を行なっている
間、他方のレジスタはデータを保持するようにセレクタ
61を制御する。図6に被除数側の各レジスタ60, 除数側
の各レジスタ65, レジスタ66及び乗算回路63の動作を示
すタイミングチャートを示す。なお、本タイミングチャ
ートはレジスタ60に被除数が、レジスタ65に除数が記憶
されている場合のものである。なお、除数、被除数が入
れ替わっても制御のタイミング(演算順序、またはステ
ップ数)は変わらない。各レジスタ、及びセレクタの制
御は図6に示すタイミングチャートにしたがって実行さ
れる。図に示すように、ガロア体上の除算を実行するに
当たっては4ステップで被除数の次数を2次減らすよう
に構成されている。(従来例では2ステップで被除数の
次数を2次減らすように構成されている。)従って、本
実施例ではユークリッド演算回路20での復号ステップ数
は約240 ステップ程度になる。
【0120】除算の結果、被除数側のレジスタ群には上
記除算の余りが格納されることになる。次に除数レジス
タ群に格納されている多項式を被除数として、また上記
除算結果の余りを除数として除算を行なう。これは、セ
レクタ群61の制御を切り換えることにより除数、被除数
の切り換えを実行する。この動作を図25に示すユークリ
ッドアルゴリズムの終了条件が満たされるまで繰り返
す。上記、条件が満たされるとユークリッド演算回路20
では誤り位置多項式、及び誤り数値多項式の各係数デー
タを算出する。算出された各係数データは一旦レジスタ
40に格納される。なお、ユークリッド演算回路20は、ユ
ークリッド演算が終了すると誤り訂正装置制御回路41へ
ユークリッド演算終了信号を出力する。
【0121】次に、第3実施例を用いて図33に示す1ラ
インのデータを復号する場合の各回路部の信号処理タイ
ミングを図7に示す。図7において、図2と同一部分に
は同一符号を付している。本実施例では、ユークリッド
アルゴリズムを用いて、図33に示す最小距離17のリード
・ソロモン符号を復号する場合、ユークリッド演算回路
20における演算時間(図7中のEU部)に約240 ステッ
プ程度必要とする。他の部分は第1実施例と同一であ
る。
【0122】本実施例では、第1実施例と同様に、従来
例に比べて復号速度を上げることができる。また、ユー
クリッド演算回路20の復号ステップ数をシンドローム生
成回路2及び誤り訂正回路22を動作させる際に必要なス
テップ数程度に増加させる(この際、シンドローム生
成、及び誤り訂正に必要となるステップ数とほぼ等しく
なるようにステップ数を決定する)ことにより、誤り訂
正装置の復号時間を遅くすることなく回路規模の削減が
図れる。本実施例では従来例に比べて約5500ゲートの回
路規模の縮小が図れる。よって、誤り訂正装置を並列に
配置することなく回路の高速化を図ることができ、並列
に誤り訂正装置を配置した場合に比べて回路規模の大幅
な縮小が図れる。
【0123】なお、本実施例ではユークリッド演算回路
20の回路規模を、最大復号ステップ数がほぼチェンーサ
ーチ、またはシンドローム生成とほぼ等しくなるように
決定したが、これに限るものではなく、復号時間に余裕
があればその分を更なる回路規模の削減に用いても良い
ことは言うまでもない。また、RAM1とのデータのア
クセスがないユークリッド演算回路20及びチェンサーチ
回路21を、シンドローム生成回路2と並行動作させるこ
とにより、最小の復号時間で誤り訂正を施すことができ
る点は、第1,第2実施例と同様である。
【0124】第4実施例.次に、第4実施例について説
明する。なお、第4実施例は上記第3実施例である誤り
訂正装置中のユークリッド演算回路20のガロア体上の多
項式の除算を実行する除算回路の変形例に関するもので
ある。図8に第4実施例によるユークリッド演算回路20
の除算回路部分のブロック構成図を示す。なお、本実施
例の基本構成は図37に示すものである。
【0125】図8において、50及び51は図29に示すもの
と同一であるので説明は省略する。70及び71はレジス
タ、72,73及び74はセレクタ、75は乗算回路、76は加算
器、77はレジスタ、78は除算回路である。以上、レジス
タ70, 71、セレクタ72,73, 74、乗算回路75、加算器7
6、レジスタ77、及び除算回路78でユークリッド演算回
路20のガロア体上の多項式の除算回路は構成されてい
る。なお、本実施例では、被除数の最大次数の係数を、
除数の最大次数の係数で除算した結果を各除数の係数に
乗算することにより割り算を実行する。図8に示すユー
クリッド演算回路20の除算回路はセレクタ74で被除数、
及び除数を選択した後、除数側の各係数データに上記除
算回路78の出力を乗算し被除数側の各係数データを加算
することによりガロア体上の多項式の除算を実行する。
【0126】よって、第4実施例では、被除数側に接続
されていた乗算回路をすべて削除するとともに、除数側
のレジスタに接続されている乗算回路をレジスタ2個毎
に1個接続することにより第3実施例と同様に回路規模
の削減を図っている。具体的には第3実施例に比べて、
セレクタ74及び除算回路78が増えているが、最小距離17
のリード・ソロモン符号を復号する場合、乗算回路が7
個(400×7=2800ゲート) が省略でき、増加するセレク
タ74は16個(24×16=384 ゲート)、及び除算回路78が
1個(2000ゲート程度) となり約400 ゲート程度の回路
規模の縮小が図れる。
【0127】次に、本発明の第4実施例である誤り訂正
装置の動作を説明する。本実施例では第1実施例と同様
に図33に示す最小距離17の記録方向のC1符号を復号す
る場合について説明する。なお、第4実施例におけるシ
ンドローム生成回路2,チェンサーチ回路21及び誤り訂
正回路22の動作は第1実施例と同様であるのでその説明
は省略し、本実施例の特徴部分であるユークリッド演算
回路20の動作についてのみ図8を用いて詳述する。
【0128】シンドローム生成終了信号が入力されると
各レジスタ70, 71には初期値がセットされる。具体的に
は図8に示す上側2列のレジスタ群70a, 70bにはZ2tが
セットされ、下側2列のレジスタ群71a, 71bにはシンド
ローム生成回路2により算出されたシンドローム多項式
の係数がセットされる。セットされたデータはシステム
スタート信号に基づき被除数側(最初はZ2tのデータが
セットされた上側2列のレジスタ群70)のデータをシフ
トしていくことによりガロア体上の多項式の除算を実行
する。除算は被除数側の多項式の次数が除数側の多項式
の次数より小さくなるまで繰り返す。
【0129】除算動作を具体的に示すと次のようにな
る。図8において、被除数側のレジスタ70群に接続され
ているセレクタ72a はレジスタ77の出力を選択するよう
に接続され、除数側のレジスタ71群に接続されているセ
レクタ72b はレジスタ71の出力を選択するように構成す
る。この結果、除数側のデータはレジスタ71内に維持さ
れ、被除数側のレジスタ70内のデータは逐次シフトされ
除算が実行されることになる。
【0130】この際、本実施例に示すユークリッド演算
回路20の除算回路は、除数の各係数に除算回路78の出力
データを乗算するが、図に示すように乗算回路75はレジ
スタ2個に1つ配置されているためセレクタ73を逐次切
り換えていくことにより除算を実行する。具体的には、
被除数側の一方のレジスタのデータが除算を行なってい
る間、他方のレジスタはデータを保持するようにセレク
タ72を制御する。回路全体の制御は第3実施例と同様に
なされる(図6参照)。なお、本タイミングチャートは
レジスタ70に被除数が、レジスタ71に除数が記憶されて
いる場合のものである。
【0131】なお、第4実施例では誤り訂正装置の復号
時間を遅くすることなく回路規模の削減が図れるなど、
本実施例における他の動作,効果などは、前述の第3実
施例と同じであるので、その説明は省略する。
【0132】なお、第3実施例(第4実施例)ではレジ
スタ60, 65(70,71)内のデータを保持するためにレジ
スタ60, 65(70,71)の全段にセレクタ61(72)を設け
たがこれに限るものではなく、例えばデータを保持する
レジスタ60, 65(70,71)に入力されるクロックを止め
るなどの処理を施しても同様の効果を奏する。また、入
力端子50の出力に接続されている1段目の乗算回路63
(75)及びレジスタ66(77)は入力端子50より入力され
るデータが0であるので省略することができることはい
うまでもない。また、ユークリッド演算回路20のガロア
体上の多項式の復号ステップ数を2倍にした場合の回路
構成について述べたがこれに限るものではなく、シンド
ローム生成回路2及び誤り訂正回路22を動作させる際に
必要なステップ数とほぼ等しくなるような復号ステップ
数であれば3倍または4倍等のステップ数で復号できる
回路を用いてもよい。更に、ユークリッド演算回路20の
復号ステップ数をシンドローム生成回路2、及び誤り訂
正回路22を動作させる際に必要なステップ数とほぼ等し
くなるように設定したが、復号時間に余裕があればこれ
に限るものではなくもっと復号ステップ数を増やしても
同様の効果を奏する。
【0133】次に、上述の各実施例に共通である誤り訂
正回路22の回路動作について、図9及び図10を用いて説
明する。誤り訂正回路22では、上述のようにチェンサー
チ回路21より出力される誤り位置情報と、ユークリッド
演算回路20で算出された誤り数値多項式とをもとにRA
M1内の誤り位置が算出されたデータに誤り訂正を施
す。図9に示すタイミングチャートをもとに誤り訂正回
路22の回路動作を説明する。チェンサーチ回路21より出
力された誤り位置情報に基づき誤り訂正装置制御回路41
はRAM1内の誤り位置の算出されたデータを読み出す
ための読みだしアドレス及び制御信号を出力する。この
際、RAM1内の誤ったデータは図9に示すように逐次
8個連続して読み出される。
【0134】RAM1より連続して読み出された誤った
データは、誤り訂正回路22で計算された誤り数値と図9
に示す誤り訂正タイミングで逐次加算される。誤り訂正
が施されたデータは、RAM1からの誤り位置に算出さ
れたすべてのデータの読み出しが終了すると同時に誤っ
たデータが記憶されているアドレスへ逐次書き込まれ
る。8誤り訂正の場合、誤り訂正回路22の回路動作のス
テップ数は16となり従来最低24ステップ必要であったの
に対し8クロック分高速化が可能となる。
【0135】同様に図10のタイミングチャートを用いて
誤り訂正回路22の他の動作を説明する。この例では、チ
ェンサーチ回路21より出力された誤り位置情報に基づき
誤り訂正装置制御回路41はRAM1内の誤り位置の算出
されたデータを読み出すための読みだしアドレス、及び
制御信号を出力する。この際、RAM1内の誤ったデー
タは図10に示すように2つ連続して読み出される。
【0136】RAM1より2つ連続して読み出された誤
ったデータは、誤り訂正回路22で計算された誤り数値と
図10に示す誤り訂正タイミングで逐次加算される。誤り
訂正が施されたデータは、図10に示すタイミングで2つ
連続して誤り位置が算出されたデータが記憶されている
アドレスへ書き込まれる。以下、この動作を誤りを訂正
するデータの数だけ繰り返して誤り訂正を行う。図10に
示すような8誤り訂正の場合、誤り訂正回路22の回路動
作のステップ数は16となり従来最低24ステップ必要であ
ったのに対し8クロック分高速化が可能となる。
【0137】一般に誤り訂正装置の高速化を実現する
際、上記実施例でも述べたようにRAM1とのデータの
アクセス時間がいちばんネックとなる。これは、他の部
分は上記実施例に示すように各々の回路動作を並行化す
ることにより復号時間の短縮が図れるが、RAM1との
データのアクセスは並行処理が出来ないため、高速化を
実現する際RAM1とのアクセスがあるシンドローム生
成回路2及び誤り訂正回路22の計算ステップ数を如何に
減らすかがキーワードとなってくる。本実施例に示す誤
り訂正回路22を採用した場合、図33に示す最小距離17の
C1符号を誤り訂正する最低際に必要なステップ数は(2
41+16) ステップ程度となる。なお、本実施例では8シ
ンボルの誤りを訂正する際の動作について説明したがこ
れに限るものではない。また、RAM1より誤ったデー
タを、すべてまたは2つ連続して読み出したがこれに限
るものではなく、RAM1より誤ったデータ3つを連続
して読み出した後に誤り訂正が施されたデータをRAM
1へ書き込む等、連続して読み出すデータの数が2以上
であれば同様の効果を奏することはいうまでもない。
【0138】なお、上記第1〜第4実施例では、シンド
ローム生成回路2で求められたシンドロームより誤り位
置多項式及び誤り数値多項式を求める方法としてユーク
リッドアルゴリズムを用いた場合について説明したがこ
れに限るものではなく、バーレカンプアルゴリズムのよ
うな他の方法により誤り位置多項式、及び誤り数値多項
式を求めても、シンドローム生成回路2,ユークリッド
演算回路20及びチェンサーチ回路21を並行動作させるこ
とにより高速に誤り訂正符号を復号できることはいうま
でもない。
【0139】また、誤り訂正符号としてリード・ソロモ
ン符号を用いたがこれに限るものではなく、BCH符号
などの他の線形誤り訂正符号を復号する誤り訂正装置に
用いてもよい。
【0140】また、図33に示すC1符号の復号について
説明したがこれに限るものではなくC2符号の復号にも
同様の回路構成で復号すれば同様の効果を奏することは
いうまでもない。誤り訂正符号の構成は図32及び図33に
示すものに限るものではなく、また2重以上の積符号形
式の誤り訂正符号を復号する場合も同様の効果を奏す
る。また、積符号形式の誤り訂正符号としてリード・ソ
ロモン符号とBCH符号とを組み合わせた符号などでも
上記構成で復号回路の高速化が図れる。
【0141】また、シンドローム生成回路2,ユークリ
ッド演算回路20及びチェンサーチ回路21の3つの回路を
システムスタート信号に基づき同時に動作させるように
制御したが、並行動作を行うタイミングはこれに限るも
のではなく、例えばシンドローム生成後すぐにユークリ
ッド演算回路20の初期値をセットしユークリッド演算回
路20を動作させてもよい。また、チェンサーチ回路21を
ユークリッド演算終了後すぐに動作させてもよい。シン
ドローム生成回路2より出力されるシンドロームデータ
の出力タイミング、ユークリッド演算回路20での初期値
セットタイミング、レジスタ41への誤り位置多項式及び
誤り数値多項式の係数データの出力タイミング、チェン
サーチ回路21の初期値セットタイミング、誤り訂正回路
22での制御タイミングは前述したタイミングに限るもの
ではなく、シンドローム生成回路2,ユークリッド演算
回路20及びチェンサーチ回路21の3つの回路を並行動作
させることにより同様の効果を奏する。
【0142】また、シンドローム生成回路2,ユークリ
ッド演算回路20のガロア体上の除算回路及びチェンサー
チ回路21の回路構成を図27,図29及び図30に示したがこ
れに限るものではなく、例えば演算回路部分をマイコン
等の演算処理回路等で、または大容量のROM等で構成
してもよい。
【0143】また、シンドローム生成回路2,ユークリ
ッド演算回路20及びチェンサーチ回路21の3つの回路を
並行動作させたがこれに限るものではなく、例えばこれ
らの3つの回路以外に誤り訂正回路22を含むて4つの回
路を並行動作させても同様の効果を奏する。
【0144】また、誤り訂正回路22の回路動作はこれに
限るものではなく、例えば、復号時間に余裕があれば従
来例に示すようにチェンサーチ回路21で検出された誤り
位置に基づく誤ったデータをRAM1より読みだし誤り
訂正を行い、再びRAM1へ書き込むといった動作を繰
り返してもよい。
【0145】また、ユークリッド演算回路20の出力を一
旦レジスタ40に蓄えたが誤り位置多項式、誤り数値多項
式の係数を蓄えるレジスタは必ずしも必要がなく、制御
方法によっては省略してもよい。
【0146】また、シンドローム生成回路2,ユークリ
ッド演算回路20及びチェンサーチ回路21の回路動作の開
始を同時に行っていたがこれに限るものではなく、開始
タイミングは上記3つの回路がバラバラであっても同様
の効果を奏する。
【0147】次に、ガロア体上で定義される多項式同士
の除算回路部の構成に特徴がある本発明の他の実施例
(第5〜第9実施例)について説明する。
【0148】第5実施例.図11に本発明の第5実施例で
ある誤り訂正装置のガロア体上で定義される多項式同士
の除算回路部のブロック構成図を示す。図において81a,
81b, 85〜88及び95は図37に示すものと同一であるので
説明は省略する。100 はレジスタ81a の出力を被除数と
して、またレジスタ81b の出力を除数として除算を行う
除算回路、101 はユークリッド演算の除算回路部の制御
を行うユークリッド演算制御回路である。
【0149】次に、図11に示す回路構成で除算を実行す
る際の除算回路の動作原理を簡単に説明する。いま、被
除多項式、及び除多項式を従来例と同様にそれぞれ 被除多項式:M1(Z)=An Zn +An-1 Zn-1 +・
・・A1 Z +A0 除多項式:M2(Z)=Bm Zm +Bm-1 Zm-1 +・・
・B1 Z +B0 とする。なお、n>mとする。以下、筆算により上記除
算を行った場合の計算手順を数4に示す。なお、本実施
例では初期値として、被除多項式の各係数データがレジ
スタ81a に、また除多項式の各係数データがレジスタ81
b に記憶されているものとする。数4に示すようにまず
始めは除多項式の各係数データに除算回路100 より出力
される除算結果を掛け合わせることにより除多項式の最
大次数の係数データを被除多項式の最大次数の係数デー
タと同一にして除算(被除多項式の次数を1次減らす動
作)を行う。この除算を従来例と同様に被除多項式の剰
余の次数が除多項式の次数よりも小さくなるまで繰り返
す。なお、数4では最終の剰余多項式の各係数データを
Ci (i=0, 1, 2, ・・・・, m−1)で表わす。
【0150】
【数4】
【0151】図25に示すユークリッドアルゴリズムに従
うと上記剰余多項式 剰余多項式:R(Z)=Cm-1 Zm-1 +Cm-2 Zm-2 +
・・・+C1 Z+C0 の次数が予め定められた条件を満たしていない場合は上
記除多項式M2(Z)を被除多項式として、また上記剰
余多項式R(Z)を除多項式として除算を繰り返す。
【0152】数5にM2(Z)をR(Z)で除算した場
合の計算手順を示す。なお、本筆算では便宜上、上記剰
余多項式R(Z)の最大次数Cm-1 は0でないものとす
る。一般に、0であった場合は従来例と同様に図11に示
す次数検出回路87,88で上記被除多項式及び除多項式の
次数を判定して被除多項式の最大次数が0でなくなるま
で被除多項式の係数データをシフトして除算を実行す
る。また、除算演算中の剰余多項式の最大次数が0にな
った場合も同様に剰余多項式の最大次数が0でなくなる
まで剰余多項式の係数データをシフトして除算を行う。
【0153】
【数5】
【0154】なお、これらの制御はユークリッド演算制
御回路101 で行う。図11に示す本実施例では、従来例で
示したような被除多項式の係数データと除多項式の係数
データとを交換するためのセレクタが配置されていな
い。従って、除算を実行する際は、数5に示すように被
除多項式の各係数データに除算回路100 より出力される
乗数を掛け合わせることにより被除多項式の最大次数の
係数データを除多項式の最大次数の係数データと同一に
して除算(被除多項式の次数を1次減らす動作)を行
う。この除算を従来例と同様に被除多項式の剰余の次数
が除多項式の次数よりも小さくなるまで繰り返す。その
結果、剰余多項式(R”(Z)とする)の各係数データ
をEi (i=0, 1, 2, ・・・, m−2)で表わす。
【0155】そして、剰余多項式R”(Z)(R”
(Z)=Em-2 Zm-2 +Em-3 Zm-3 +・・・+E1 Z
+E0 )の次数が図25に示した条件を満たしていない場
合上記R(Z)を被除多項式として、R”(Z)を除多
項式として除算を繰り返す。数6に筆算手順を示す。な
お、この場合も説明を簡単にするため剰余多項式の最大
次数の係数であるEm-2 は0でないものとする。先ほど
述べたように被除多項式と除多項式の係数データの交換
を行うためのセレクタが配置されていない。
【0156】
【数6】
【0157】従って、数4と同様に除算を実行する際
は、除多項式の各係数データに除算回路100 より出力さ
れる乗数を掛け合わせることにより除多項式の最大次数
の係数データを被除多項式の最大次数の係数データと同
一にして除算(被除多項式の次数を1次減らす動作)を
行う。
【0158】この除算を従来例と同様に被除多項式の剰
余の次数が除多項式の次数よりも小さくなるまで繰り返
す。その結果、剰余多項式(R■■■(Z)とする)の
各係数データをFi (i=0,1,2,・・・,m−
3)で表わす。そして、この動作をユークリッドアルゴ
リズムの終了条件を満たすまで実行する。なお、この動
作の繰り返しで誤り数値多項式ω(Z)と誤り位置多項
式σ(Z)とが算出される理由は、誤り位置または誤り
数値を算出する際、上記多項式を各々の多項式の最大次
数で正規化するためである。(詳しくは前述した「符号
理論」,pp.169〜175 を参照)
【0159】以下、図25に示すユークリッドアルゴリズ
ムに従い、リード・ソロモン符号を復号する誤り訂正装
置のユークリッド演算の除算回路部の動作を図11を用い
て説明する。本実施例では、従来例と同様に光ディスク
等に採用されている最小ハミング距離が17のリード・ソ
ロモン符号を復号する場合について説明する。いま、再
生信号より生成したシンドローム多項式S(Z)を S(Z)=S15Z15+S14Z14+S13Z13+・・・+S
1 Z+S0 とする。
【0160】ユークリッド演算が開始されるとまず始
め、ユークリッド演算制御回路101 より出力されるユー
クリッド演算開始信号をもとにレジスタ81a に初期値で
ある被除多項式Z2tの係数が記憶されるとともに、レジ
スタ81b に除多項式であるシンドローム多項式S(Z)
の各係数データが記憶される。また、次数検出回路87,8
8のカウンタにはそれぞれ次数の初期値である16と15と
がセットされる。次数検出回路87, 88内のカウンタは被
除多項式の係数データを記憶しているレジスタ81が1
回シフトされるたびにカウント値が1つ下がるように構
成されている。なお、本実施例では従来例と同様に右側
に配置されているレジスタに高次の次数の係数データが
記憶される。
【0161】それと同時に、除多項式であるシンドロー
ム多項式は次数検出回路88で最高次数の係数データが
0であるか判定する。ユークリッド演算制御回路101 で
は、次数検出回路88で検出された除多項式(シンドロー
ム多項式)の最大次数の係数が0の場合、除多項式の係
数データが記憶されているレジスタ81b の内容をシフト
し(なお、この際加算回路86での加算動作を行わずレジ
スタ81b の内容をそのままシフトする構成に成ってい
る。)最大次数のデータが0でなくなるまでシフト動作
を繰り返す。その際、次数検出回路88中のカウンタはカ
ウント値をシフト動作が行われるたびに1づつ減らされ
る。
【0162】また、被除多項式の係数データが記憶され
ているレジスタ81a はクロックが入力されると加算回路
86の出力がラッチされるように構成されており、除多項
式の係数データが記憶されているレジスタ81b は係数デ
ータが保持されるように構成されている。(図11には、
具体的な制御回路は省略したが、レジスタ81a, 81bに入
力されるクロック(クロック1及びクロック2)を除数
側の係数データが記憶されているレジスタについては供
給しないという方法で除多項式の係数データをレジスタ
内に保持する構成を取っている。)なお、図中に記した
各演算回路(除算回路100,乗算回路85及び加算回路86)
はガロア体上で定義された各演算を行うものとする。
【0163】以下、図12, 13を用いて本実施例のユーク
リッド演算回路中の除算回路の回路動作を説明する。図
12(a) にレジスタ81a に被除多項式として初期値である
Z16がセットされ、81b に除多項式としてシンドローム
多項式S(Z)がセットされた状態を示す。なお、レジ
スタ中に記した数字、及び記号はレジスタに格納されて
いる係数データを示すものとする。本実施例では説明を
簡単にするためシンドローム多項式の最高次の係数は0
でないものとする。また、レジスタに記憶される各多項
式の高次の次数の係数データは右端に配置されるものと
する。除算回路100 はレジスタ81a の出力を被除数、レ
ジスタ81b の出力を除数として除算しその結果を出力す
る。このとき、被除数側の係数データが記憶されている
レジスタ81a 側にクロック1が供給される。
【0164】図12, 13に示す除算回路は図38, 39で説明
した除算回路と同一の構成をとっており、被除多項式の
剰余の次数が、除多項式の次数より小さくなるところま
でシフト動作を繰り返すことにより除算を実行する。除
算の終了判定は次数検出回路87, 88より出力される次数
情報をもとにユークリッド演算制御回路101 で判定を行
う。なお、除算演算実行中に剰余多項式の最大次数が次
数検出回路87(または88)により0と検出されるとユー
クリッド演算制御回路101 では剰余多項式の係数データ
が記憶されているレジスタ81a (または81b )の内容を
そのまま1つシフトするように構成されている。その
際、次数検出回路87(または88)中のカウンタのカウン
ト値が1つ減らされる。
【0165】図12(b) に上記除算が終了した際に、各レ
ジスタ81に記憶されている係数データの状態を示す。な
お、レジスタ81a に記憶されているH14〜H0 は上記除
算を行った際の剰余多項式の係数データである。除算演
算が終了すると、次数検出回路87(または88)では剰余
多項式の最大次数を検出し最大次数が0であったなら、
ユークリッド演算制御回路101 より出力される制御信号
をもとに、剰余多項式の係数をそのまま1つシフトす
る。この動作を剰余多項式の最大次数の係数データが0
でなくなるまで繰り返す。その際、上述のように、次数
検出回路87(または88)中のカウンタのカウント値が1
つづつ減らされる。
【0166】ユークリッド演算制御回路101 では、次数
検出回路87(または88)より出力される上記剰余多項式
の次数をもとに、剰余の次数がユークリッド演算の終了
条件(本実施例では次数が7以下)を満たしていればユ
ークリッド演算を終了し、終了条件を満たしていなけれ
ば前回の演算で除多項式であった多項式を被除多項式と
して、また上記剰余多項式を除多項式として演算を実行
する。その際、レジスタ81に格納されている係数データ
を図13(a) に示す。従来例のように交換手段を有してい
ないので回路の接続状態は変わらないが、レジスタ81a
に供給されていたクロック1が止められて、反対にレジ
スタ81b にクロック2が供給される。よって、レジスタ
81a の内容が保持され、レジスタ81b に剰余多項式の係
数が逐次記憶される。
【0167】その際、ユークリッド演算回路中の除算回
路では、次数検出回路88により被除多項式(剰余多項
式)の最大次数が0であるかを判定し、0であった場合
レジスタ81b に記憶されている被除多項式(剰余多項
式)の内容をそのまま1つシフトするように制御信号を
出力する。これは、除算回路100 へ出力される除数と被
除数を格納するレジスタが決まっており被除多項式の係
数データが除数として用いられる場合、被除多項式の最
大次数の係数が0となってしまうと被除数(除多項式の
最大係数)を0で割ることになり、解(出力)が不定と
成ってしまう場合が生じるためである。
【0168】除算は、上記例と同様に被除多項式の剰余
の次数が除多項式の次数より小さくなるまで被除多項式
の係数データを記憶しているレジスタの内容を演算しな
がらシフト動作を繰り返すことにより除算を実行する。
図13(b) に上記除算が終了した際に、各レジスタ81a, 8
1bに記憶されている係数データの状態を示した。なお、
レジスタ81b に記憶されているJ13〜J0 は剰余多項式
の係数データである。
【0169】そして、上記剰余多項式の次数を判定し所
定の条件を満たしていなければレジスタ81a, 81bに供給
するクロックを切り換えてユークリッドアルゴリズムに
基づく除算動作を再び行う。この除算動作を剰余多項式
の次数が7次以下になるまで繰り返す。これにより、リ
ード・ソロモン符号を復号する際に、ユークリッドアル
ゴリズムに基づくガロア体上の多項式同士の除算を1多
項式毎に行うことができ、誤り訂正処理速度を向上させ
ることが出来るとともに交換手段(セレクタ)を持たな
いため回路規模の縮小が図れ、またセレクタ制御も必要
なくなる。
【0170】第6実施例.図14に本発明の第6実施例を
示す。図14において回路構成は第5実施例(図11)と同
様であるので詳細な説明は省略する。なお、第6実施例
ではレジスタに接続されている乗算回路85の位置が第5
実施例とは異なる。ユークリッド演算開始時に初期値で
あるZ2tがセットされるレジスタ側に乗算回路85を接続
した点が第5実施例とは異なる。この構成により、第5
実施例に比べて乗算回路85を1つ省略でき回路規模の縮
小(約 400ゲート程度の縮小)が図れる。
【0171】以下、第5実施例と同様に図25に示すユー
クリッドアルゴリズムに従い、リード・ソロモン符号を
復号する誤り訂正装置のユークリッド演算の除算回路部
の動作を図14を用いて説明する。第6実施例では、第5
実施例と同様に光ディスク等に採用されている最小ハミ
ング距離が17のリード・ソロモン符号を復号する場合に
ついて説明する。いま、再生信号より生成したシンドロ
ーム多項式S(Z)を S(Z)=S15Z15+S14Z14+S13Z13+・・・+S
1 Z+S0 とする。
【0172】ユークリッド演算が開始されるとまず始
め、ユークリッド演算制御回路101 より出力されるユー
クリッド演算開始信号をもとにレジスタ81a に初期値で
ある被除多項式Z2tの係数が記憶されるとともに、レジ
スタ81b に除多項式であるシンドローム多項式S(Z)
の各係数データが記憶される。また、次数検出回路87,8
8のカウンタにはそれぞれ次数の初期値である15と16と
がセットされる。次数検出回路87, 88内のカウンタは被
除多項式の係数データを記憶しているレジスタ81a, 81b
が1回シフトされるたびにカウント値が1つ下がるよう
に構成されている。
【0173】それと同時に、除多項式であるシンドロー
ム多項式は次数検出回路88で最高次数の係数データが0
であるか判定する。ユークリッド演算制御回路101 で
は、次数検出回路88で検出された除多項式(シンドロー
ム多項式)の最大次数の係数データが0の場合、除多項
式の係数データが記憶されているレジスタ81b の内容を
シフトし(なお、この際加算回路86での加算動作を行わ
ずレジスタ81b の内容をそのままシフトする構成になっ
ている。)最大次数のデータが0でなくなるまでシフト
動作を繰り返す。その際、次数検出回路88中のカウンタ
はカウント値を1づつ減らされる。
【0174】また、被除多項式の係数データが記憶され
ているレジスタ81a はクロックが入力されると加算回路
86の出力がラッチされるように構成されており、除多項
式の係数データが記憶されているレジスタ81b は係数デ
ータが保持されるように構成されている。図14では、具
体的な制御回路は省略したが、第5実施例と同様にレジ
スタ81a, 81bに入力されるクロック1, 2をコントロー
ルすることにより除多項式の係数データをレジスタ内に
保持する構成を取っている。なお、図中に記した各演算
回路はガロア体上で定義された各演算を行うものとす
る。
【0175】以下、図15,16,17を用いて本実施例のユー
クリッド演算回路中の除算回路の回路動作を説明する。
図15(a) にレジスタ81a に被除多項式として初期値であ
るZ16がセットされ、レジスタ81b に除多項式としてシ
ンドローム多項式S(Z)がセットされた状態を示す。
なお、レジスタ中に記した数字、及び記号はレジスタに
格納されている係数データを示すものとする。本実施例
では説明を簡単にするためシンドローム多項式の最高次
の係数は0でないものとする。また、レジスタに記憶さ
れる各多項式の高次の次数の係数データは右端に配置さ
れるものとする。除算回路100 はレジスタ81a の出力を
除数、レジスタ81b の出力を被除数として除算しその結
果を出力する。このとき、除数側の係数データが記憶さ
れているレジスタ81a 側にクロック1が供給される。
【0176】図15(b) に図15(a) に示す状態より1回レ
ジスタ81a 側をシフトした状態を示した。被除数側の初
期値が図25に示すユークリッドアルゴリズムに示すよう
にZ16であるので被除多項式の最小次数の係数が0とな
る。よって、図14に示す回路構成の場合、1回目の除算
によって求められる被除多項式側の剰余多項式の最小次
数の係数データは S0 +0×S15=S0 となり、乗算回路85を省略できる事がわかる。図15(b)
に上記1回目の除算後のレジスタ81a, 81bに記憶されて
いる各係数データを示す。図中に記したK14〜K1 及び
S0 は剰余多項式の各係数データである。
【0177】第5実施例同様、被除多項式の剰余の次数
が、除多項式の次数より小さくなるところまでシフト動
作を繰り返すことにより除算を実行する。除算の終了判
定は次数検出回路87, 88より出力される次数情報をもと
にユークリッド演算制御回路101 で判定を行う。なお、
除算演算実行中に剰余多項式の最大次数が次数検出回路
87(または88)により0と検出されるとユークリッド演
算制御回路101 では剰余多項式の係数データが記憶され
ているレジスタ81a (または81b )の内容をそのまま1
つシフトするように構成されている。その際、次数検出
回路87(または88)中の次数カウンタのカウント値が1
つ減らされる。これは、除算回路100 へ出力される除数
と被除数を格納するレジスタが決まっており被除多項式
の係数データが除数として用いられる場合、被除多項式
の最大次数の係数が0となってしまうと被除数(除多項
式の最大係数)を0で割ることになり、解(出力)が不
定と成ってしまう場合が生じるためである。
【0178】図16(a) に上記除算が終了した際に、各レ
ジスタ81a, 81bに記憶されている係数データの状態を示
す。なお、レジスタ81a に記憶されているL14〜L0 は
上記除算を行った際の剰余多項式の係数データである。
なお、本実施例ではL0 =S0 である。除算演算が終了
すると、次数検出回路87(または88)では剰余多項式の
最大次数を検出し最大次数が0であったなら、ユークリ
ッド演算制御回路101より出力される制御信号をもと
に、剰余多項式の係数をそのまま1つシフトする。この
動作を剰余多項式の最大次数の係数データが0でなくな
るまで繰り返す。その際、上述のように、次数検出回路
87(または88)中の次数カウンタのカウント値が1つづ
つ減らされる。
【0179】ユークリッド演算制御回路101 では、次数
検出回路87(または88)より出力される上記剰余多項式
の次数をもとに、剰余の次数がユークリッド演算の終了
条件(本実施例では次数が7以下)を満たしていればユ
ークリッド演算を終了し、終了条件を満たしていなけれ
ば前回の演算で除多項式であった多項式を被除多項式と
して、また上記剰余多項式を除多項式として演算を実行
する。その際、レジスタ81a, 81bに格納されている係数
データを図16(b) に示す。従来例と同様に交換手段を有
していないので回路の接続状態は変わらないが、レジス
タ81a に供給されていたクロック1が止められて、反対
にレジスタ81b にクロック2が供給される。よって、レ
ジスタ81a の内容が保持され、レジスタ81b に剰余多項
式の係数が逐次記憶される。
【0180】その際、ユークリッド演算回路中の除算回
路では, 次数検出回路88により被除多項式(剰余多項
式)の最大次数が0であるかを判定し、0であった場合
レジスタ81b に記憶されている被除多項式(剰余多項
式)の内容をそのまま1つシフトするように制御信号を
出力する。
【0181】除算は、第5実施例と同様に被除多項式の
剰余の次数が除多項式の次数より小さくなるまで被除多
項式の係数データを記憶しているレジスタの内容を演算
しながらシフト動作を繰り返すことにより除算を実行す
る。図17に上記除算が終了した際に、各レジスタ81a, 8
1bに記憶されている係数データの状態を示す。なお、レ
ジスタ81b に記憶されているM13〜M0 は剰余多項式の
係数データである。
【0182】そして、上記剰余多項式の次数を判定し所
定の条件を満たしていなければレジスタ81a, 81bに供給
するクロックを切り換えてユークリッドアルゴリズムに
基づく除算動作を再び行う。この除算動作を剰余多項式
の次数が7次以下になるまで繰り返す。これにより、リ
ード・ソロモン符号を復号する際に、ユークリッドアル
ゴリズムに基づくガロア体上の多項式同士の除算を1多
項式毎に行うことができ、誤り訂正処理速度を向上させ
ることが出来るとともに交換手段(セレクタ)を持たな
いため回路規模の縮小が図れ、またセレクタ制御も必要
なくなる。また、第5実施例に比べて乗算回路85を1つ
省略でき回路規模の縮小を図れる。
【0183】第7実施例.本発明の第7実施例は、第
5,第6実施例で用いられた加算回路86及び除算回路10
0 の構成とユークリッド演算回路101 の制御方法とが異
なる。よって、第7実施例は図11に示すユークリッド演
算の除算回路を用いて説明する。図18に除算回路100 の
具体的な構成図を示す。110 は入力された係数の逆数を
出力する逆元ROM、111 は乗算回路、112 はORゲー
トである。逆元ROM110 は入力されたガロア体上の元
の逆数を出力するように構成されている。図19には加算
回路86の構成を示す。図において、113 はANDゲー
ト、114 はEXORゲートである。表1に本実施例の逆
元ROM110 の内容を示す。なお、表中に記したαは原
始多項式G(Z)のガロア体上の元である。表に示すよ
うに本実施例における逆元ROM110 は0が入力される
と0が出力される構成になっている。また、表1に記し
たαはGF(28 )で定義されるガロア体上の元であ
る。
【0184】
【表1】
【0185】以下、図11を用いて第7実施例の回路動作
を説明する。第5実施例と同様、再生信号より生成した
シンドローム多項式S(Z)を S(Z)=S15Z15+S14Z14+S13Z13+・・・+S
1 Z+S0 とする。
【0186】ユークリッド演算が開始されるとまず始
め、ユークリッド演算制御回路101 より出力されるユー
クリッド演算開始信号をもとにレジスタ81a に初期値で
ある被除多項式Z2tの係数が記憶されるとともに、レジ
スタ81b に除多項式であるシンドローム多項式S(Z)
の係数データが記憶される。また、次数検出回路87, 88
のカウンタにはそれぞれ次数の初期値である16と15とが
セットされる。
【0187】それと同時に、除多項式であるシンドロー
ム多項式は次数検出回路88で最高次数の係数データが検
出される。ユークリッド演算制御回路101 では、次数検
出回路88で検出された除多項式(シンドローム多項式)
の次数が0の場合、除多項式の係数データが記憶されて
いるレジスタ81b の内容をシフトし最大次数のデータが
0でなくなるまでシフト動作を繰り返す。その際、次数
検出回路88中の次数カウンタのカウント値は1づつ減ら
される。
【0188】この時、除算回路100 では除数側のデータ
として0が入力される。逆元ROM110 では表1に示す
ように0が入力されると0が出力される構成になってい
る。逆元ROM110 により出力されたデータは乗算回路
111 で被除数と乗算され出力される。この場合、逆元R
OM110 からの出力データが0であるので乗算回路111
の出力は0となる。ORゲート112 は乗算回路111 より
出力されるLSBデータとユークリッド演算制御回路10
1 より出力される制御信号との論理和をとる。ユークリ
ッド演算制御回路101 では次数検出回路88で検出された
多項式の最大次数の係数データが0である場合に”H”
を出力する構成になっている。よって、除算回路100 か
らは1が出力されることになる。
【0189】また、加算回路86中のANDゲート113 の
一方の入力端子には、除算回路100の被除数側の係数デ
ータが格納されているレジスタ81a より出力される係数
データの各ビットが入力されるように構成されており、
他方の入力には、ユークリッド演算制御回路101 より出
力される制御信号が入力される。この制御信号は、除算
回路100 の除数側の係数データが次数検出回路88で0と
検出された場合”L”を出力するように構成されてい
る。この構成により、除算回路100 へ入力される除数側
(レジスタ81b 側)の係数データは 1×Sj +0=Sj (j=0,1,・・・, 1
5) の演算が行われシフト動作が繰り返されることになる。
除数多項式の最大次数の係数データが0でなくなるまで
シフト動作を繰り返す。これにより、上記係数データを
シフトする際ユークリッド演算制御回路101 では特別な
制御を必要とせず、係数シフトを行うレジスタさえ意識
していればよいことになる。
【0190】シンドローム多項式の最大次数が検出され
るとユークリッドアルゴリズムに基づく除算が開始され
る。第5実施例と同様に、被除多項式の係数データが記
憶されているレジスタ81a はクロックが入力されると加
算回路86の出力がラッチされるように構成されており、
除多項式の係数データが記憶されているレジスタ81bは
係数データが保持されるように構成されている。
【0191】除算動作は、被除多項式の剰余の次数が、
除多項式の次数より小さくなるまで繰り返される。除算
の終了判定は次数検出回路87, 88より出力される次数情
報をもとにユークリッド演算制御回路101 で判定を行
う。なお、除算演算実行中に剰余多項式の最大次数が次
数検出回路87により0と検出された場合でも除算回路10
0 より0が出力されるので乗算回路85及び加算回路86で
は 0×Si +Xi =Xi の計算が行われレジスタ81a にはXi (Xi はレジスタ
81a に記憶されている係数データ)がそのままシフトさ
れ記憶されることになる。従って、ユークリッド演算制
御回路101 では特に制御を変えることなくシフト動作を
繰り返せばよい。
【0192】除算演算が終了すると、次数検出回路87
(または88)では剰余多項式の最大次数を検出し最大次
数が0であったなら、レジスタ81a の内容をそのままシ
フトする。その際、上述のように、次数検出回路87(ま
たは88)中のカウンタのカウント値が1つづつ減らされ
る。
【0193】ユークリッド演算制御回路101 では、次数
検出回路87(または88)より出力される上記剰余多項式
の次数をもとに、剰余の次数がユークリッド演算の終了
条件(本実施例では次数が7以下)を満たしていればユ
ークリッド演算を終了し、終了条件を満たしていなけれ
ば前回の演算で除多項式であった多項式を被除多項式と
して、また上記剰余多項式を除多項式として演算を実行
する。その際、従来例のように交換手段を有していない
ので回路の接続状態は変わらないが、レジスタ81a に供
給されていたクロック1が止められて、反対にレジスタ
81b にクロック2が供給される。よって、レジスタ81a
の内容が保持され、レジスタ81b に剰余多項式の係数が
逐次記憶される。
【0194】この時、ユークリッド演算回路中の除算回
路では、次数検出回路88により被除多項式(剰余多項
式)の最大次数(レジスタ81b の出力)が0であった場
合でも上述で述べた通りユークリッド演算制御回路101
では各加算回路86及び除算回路100 にそれぞれ”L”及
び”H”の制御信号を出力するだけでレジスタ81b の内
容がシフトされる構成になっており、0を意識した制御
を行わなくてもよい。すなわち、次数検出回路88により
レジスタ81b に記憶されている多項式の最大次の係数デ
ータが0と判断されると除算回路100 からは除算結果と
して1が出力される。一方、加算回路86ではユークリッ
ド演算制御回路101 より出力される制御信号によりAN
Dゲート113 の出力が”L”となる。(すなわち、加算
回路86に0が入力されることになる。)従って、乗算回
路85及び加算回路86では 1×Yi +0=Yi の演算が実行される。よって、レジスタ81b にはY
i (Yi はレジスタ81b に記憶されている係数データ)
がそのままシフトされ記憶されることになる。
【0195】除算は、上記例と同様に被除多項式の剰余
の次数が除多項式の次数より小さくなるまで被除多項式
の係数データを記憶しているレジスタの内容を演算しな
がらシフト動作を繰り返すことにより除算を実行する。
そして、上記剰余多項式の次数を判定し所定の条件を満
たしていなければレジスタ81a, 81bに供給するクロック
を切り換えてユークリッドアルゴリズムに基づく除算動
作を再び行う。この除算動作を剰余多項式の次数が7次
以下になるまで繰り返す。これにより、リード・ソロモ
ン符号を復号する際に、ユークリッドアルゴリズムに基
づくガロア体上の多項式同士の除算を1多項式毎に行う
ことができ、誤り訂正処理速度を向上させることが出来
るとともにユークリッド演算制御回路101 での制御も非
常に簡単になり回路規模の削減を図れる。
【0196】なお、第7実施例では除算回路100 を逆元
ROM110 及び乗算回路111 で構成したがこれに限るも
のではなく、入力された除数が0である場合除算回路10
0 の出力を1と出力するように除算回路100 を構成すれ
ばロジックゲート、またはマイクロコンピュータ等で構
成しても同様の効果を奏する。また、第7実施例では入
力されたデータの逆元を求める際、ROMを使用したが
RAMでもよく、またロジックゲートで逆元を求めるよ
うに構成してもよいことはいうまでもない。また、加算
回路86の構成は図19に示す構成に限るものではなく、ユ
ークリッド演算回路101 より出力される制御信号に基づ
きレジスタ81b の出力をそのまま出力するように構成す
れば同様の効果を奏する。また、GF(28 )で定義さ
れる場合について述べたがこれに限るものではない。G
F(q)(qは素数、または素数のべき表現)で定義さ
れるガロア体上の演算なら同様の効果を奏する。更に、
図11に示す除算回路の場合について述べたが図14に示す
回路構成でも同様の効果を奏する。また、第7実施例は
従来例に示す除算回路84及び加算回路86に適用しても同
様にユークリッド演算制御回路89の制御を簡略化できる
ことは言うまでもない。初期値を設定した際、シンドロ
ーム多項式の最大次の係数データが0であった場合、レ
ジスタ81b 内のデータを最大次の係数データが0でなく
なるまでシフトする時の回路構成及び制御を簡略化でき
る。
【0197】第8実施例.以下、本発明の第8実施例に
ついて説明する。本実施例では、図11に示す誤り訂正装
置で除算回路100 の構成を図18に示す構成のものを用い
た場合について説明する。図20は除算回路100 及びユー
クリッド演算制御回路101 より出力される除算結果、及
び制御信号を用いて誤り位置多項式を算出する誤り位置
算出回路の一部を示す。図において120 は逆元ROM、
121 は乗算回路、122 はセレクタである。なお、第8実
施例では説明を簡単にするためガロア体上の除算を実行
する際、被除多項式と除多項式の次数差が1次の場合に
ついて説明する。
【0198】図11に示す誤り訂正装置で多項式同士の除
算を行った場合、商として除算回路100 より出力される
データは次の2通りのパターンがある。一方は、被除多
項式の係数データがレジスタ81a に記憶されている場
合、もう一方は、被除多項式の係数データがレジスタ81
b に記憶されている場合である。今、被除多項式及び除
多項式をそれぞれ、 被除多項式:M1(Z)=An Zn +An-1 Zn-1 +・
・・+A1 Z+A0 除多項式:M2(Z)=Bn-1 Zn-1 +Bn-2 Zn-2 +
・・・+B1 Z+B0 とする。数7に被除多項式の係数データがレジスタ81a
に記憶されている場合の除算結果を、数8に被除多項式
の係数データがレジスタ81b に記憶されている場合の除
算結果を示す。
【0199】
【数7】
【0200】
【数8】
【0201】被除多項式の係数データがレジスタ81a に
記憶されている場合、除算は数7に示すように実行さ
れ、誤り位置多項式の係数データを算出する際は0次の
項を正規化(正規化して1にする)した後、図25に示す
アルゴリズムに従い誤り位置多項式の係数データを求め
る。この場合、除算回路100 より出力される除算結果は
そのまま商多項式の係数データに一致する。その結果を
正規化した場合の商多項式を数7の一番下の式に示す。
同様に、被除多項式の係数データがレジスタ81bに記憶
されている場合について数8を用いて説明する。数8に
は各ステップにおける演算過程を示す。右側には各々の
ステップにおける除算回路100 の出力を示す。この場
合、除算回路100 より出力される係数データは商多項式
の係数データとは一致しない。しかしながら、数8に示
す計算方法の場合、誤り位置多項式の係数データを算出
する際の正規化した式を求める場合商多項式が1次の多
項式の場合はステップ2の除算回路100 の出力がそのま
ま商多項式の1次の係数になっていることが数7と比較
するとわかる。これをもとに図20に示す回路の動作を説
明する。
【0202】図20において、逆元ROM120 には、図11
に示す除算回路100 より出力される0次の商多項式の係
数が入力される。また、乗算回路121 の一方の入力には
逆元ROM121 の出力が、もう一方の入力には除算回路
100 より出力される1次の商多項式の係数が入力され
る。セレクタ122 では、ユークリッド演算制御回路101
より出力される制御信号に基づき、被除多項式の係数が
レジスタ81a に記憶されている場合は乗算回路121 の出
力を選択し、被除多項式の係数データがレジスタ81b に
記憶されている場合は0次の商多項式の係数データが出
力されるように構成されている。
【0203】この構成によると、レジスタ81a に被除多
項式の係数データが記憶されている場合(数7に相当す
る)は除算結果が、誤り位置多項式を算出する際に用い
られる商多項式の1次の係数となり、レジスタ81b に被
除多項式の係数データが記憶されている場合(数8に相
当する)は、除算回路100 より出力される0次の係数デ
ータが上記商多項式の1次の係数データとして出力され
る。これにより、商多項式が正規化され、誤り位置多項
式を算出する際、セレクタ122 を追加するのみの簡単な
回路構成で誤り位置多項式を算出できる。また、数8に
示すように、レジスタ81b に被除多項式の係数データが
記憶されている場合は、除算演算を行う事なく係数デー
タが算出されるので復号ステップ数の削減が図れる。
【0204】なお、本実施例では商多項式として1次の
ものについて扱ったが、2次または3次等の場合につい
ても回路構成は少し複雑になるが、簡単な回路構成で実
現できる。以下、2次以上の場合について簡単に説明す
る。表2に被除多項式及び除多項式をそれぞれ、 被除多項式:M1(Z)=An Zn +An-1 Zn-1 +・
・・+A1 Z+A0 除多項式:M2(Z)=Bn-2 Zn-2 +Bn-3 Zn-3 +
・・・+B1 Z+B0 とした場合に、被除多項式の係数データがレジスタ81a
に記憶されている場合(除多項式の最大次数の係数デー
タが除算回路100 において除数として扱われている場
合、従来例に示す通常の除算の場合)の除算結果と、被
除多項式の係数データがレジスタ81b に記憶されている
場合(除多項式の最大次数の係数データが除算回路100
において被除数として扱われている場合)の計算結果を
示す。なお、本実施例においてもユークリッド演算を行
なう際の除算回路部の構成は図11に示す回路構成を採用
するものとする。
【0205】
【表2】
【0206】数9には上記通常の除算を行った商多項式
を正規化した場合の係数データを示す。これより、被除
多項式の係数データがレジスタ81b に記憶されている場
合(除多項式の最大次数の係数データが除算回路100 に
おいて被除数として扱われている場合)に、上記正規化
した商多項式を求める際は、除算回路100 より出力され
る商データをPi (i=0,1,・・・,k;kは商多
項式の次数)とし、商多項式の係数データをQi (i=
0,1,・・・,k;kは商多項式の次数)とすると、 Q0 =1 Q1 =Q0 ×P0 Q2 =Q1 ×P1 ・ ・ Qk =Qk-1 ×Pk-1 となる。数10に、商多項式が2次の場合の最大次数のデ
ータを計算した結果を示す。(除多項式の最大次数の係
数データが除算回路100 において被除数として扱われて
いる場合)
【0207】
【数9】
【0208】
【数10】
【0209】図21に上記商多項式が2次以上の場合につ
いても考慮した、誤り位置多項式を算出する誤り位置算
出回路の一部を示す。120 〜122 は図20に示すものと同
一であるので詳細は省略する。123 はシフトレジスタで
除算回路100 より出力される商多項式の各係数データ
(除算結果)が次数の低い順に記憶される。124 はセレ
クタ、125 はレジスタである。逆元ROM120 、乗算回
路121 、セレクタ122, 124、シフトレジスタ123 及びレ
ジスタ125 で誤り位置算出回路の一部は構成されてい
る。
【0210】次に、動作について説明する。図21におい
て、逆元ROM120 には、図11に示す除算回路100 より
出力される0次の商多項式の係数が入力される。また、
シフトレジスタ123 には図11に示す除算回路100 より出
力される1次以上の商多項式の係数データが次数の低い
順に逐次記憶される。セレクタ124 は逆元ROM120の
出力とレジスタ125 の出力をユークリッド演算回路101
より出力される制御信号に基づき切り換える。乗算回路
121 ではシフトレジスタ123 の出力とセレクタ124 の出
力を乗算する。なお、シフトレジスタ123 は乗算回路12
1 で乗算が実施されるたびにデータを逐次シフトする構
成になっている。
【0211】セレクタ122 では、ユークリッド演算回路
100 より出力される制御信号に基づき、被除多項式の係
数がレジスタ81a に記憶されている場合は乗算回路121
の出力を選択し、被除多項式の係数データがレジスタ81
b に記憶されている場合は、まづ初め0次の商多項式の
係数データがそのまま出力され、商多項式の2次以降の
係数を算出する際は乗算回路121 の出力を選択するよう
に制御するように構成されている。セレクタ122 の出力
はレジスタ125 に記憶される。セレクタ124 は図11に示
すレジスタ81a が被除多項式として扱われている場合は
逆元ROM120の出力を選択し、レジスタ81b が被除多
項式として扱われている場合はレジスタ125 の出力を選
択するように構成されている。
【0212】この構成によると、レジスタ81a に被除多
項式の係数データが記憶されている場合は除算回路100
より出力される各商多項式の係数データを0次の係数デ
ータで正規化された除算結果が、誤り位置多項式を算出
する際に用いられる商多項式の係数データとなり、レジ
スタ81b に被除多項式の係数データが記憶されている場
合は、セレクタ122, 124を上述のように制御することに
より上述の演算を実行し商多項式の係数データを算出す
ることが可能となる。よって、セレクタ122, 124を追加
するのみの簡単な回路構成で誤り位置多項式を算出でき
る。
【0213】なお、上記実施例では商多項式として2次
または3次等の場合について述べたが、この場合商多項
式の各係数データに0が含まれている場合がある。この
ような場合も少し説明は複雑になるが、簡単な回路構成
で実現できる。以下、2次の商多項式中1次の項が0で
あった場合について簡単に説明する。表3に被除多項
式、及び除多項式をそれぞれ、 被除多項式:M1(Z)=An Zn +An-1 Zn-1 +・
・・+A1 Z+A0 除多項式:M2(Z)=Bn-2 Zn-2 +Bn-3 Zn-3 +
・・・+B1 Z+B0 とした場合に、被除多項式の係数データがレジスタ81a
に記憶されている場合(除多項式の最大次数の係数デー
タが除算回路100 において除数として扱われている場
合、従来例に示す通常の除算の場合)の除算結果と、被
除多項式の係数データがレジスタ81b に記憶されている
場合(除多項式の最大次数の係数データが除算回路100
において被除数として扱われている場合)の計算結果と
を示す。なお、本実施例においてもユークリッド演算を
行なう際の除算回路部の構成を図11に示す回路構成を採
用するものとする。また、本実施例を説明するため、商
多項式の1次の項を0とする。
【0214】
【表3】
【0215】数11には上記通常の除算を行った商多項式
を正規化した場合の係数データを示す。
【0216】
【数11】
【0217】これより、被除多項式の係数データがレジ
スタ81b に記憶されている場合(除多項式の最大次数の
係数データが除算回路100 において被除数として扱われ
ている場合)に、上記正規化した商多項式を求める際
は、除算回路100 より出力される商データをPi (i=
0,1,・・・,k;kは商多項式の次数)とし、商多
項式の係数データをQi (i=0,1,・・・,k;k
は商多項式の次数)とし、またPj 〜Pm (0<j≦m
<k)のデータを0とすると、 Q0 =1 Q1 =Q0 ×P0 Q2 =Q1 ×P1 ・ ・ Qj =0 ・ ・ Qm+1 =Qj-1 ×Pj-1 ・ ・ Qk =Qk-1 ×Pk-1 となる。
【0218】図22に上記商多項式の係数中に0が存在し
た場合にも対応できる誤り位置多項式を算出する誤り位
置算出回路の一部の回路構成を示す。120 〜125 は図21
に示すものと同一であるので詳細は省略する。126 はレ
ジスタ81b に記憶されている係数データが被除多項式の
時に、次数検出回路88で検出された最大次の係数データ
が0であるかを識別するフラグデータを記憶するシフト
レジスタ、128 はシフトレジスタ126 の出力をラッチし
てデータとのタイミングを合わせるレジスタ、127 はレ
ジスタ128 より出力される信号をもとにレジスタ125 の
出力と0とを選択するセレクタである。逆元ROM120
、乗算回路121 、セレクタ122,124,127、シフトレジス
タ123, 126及びレジスタ125, 128で誤り位置算出回路の
一部は構成されている。なお、本実施例で説明に用いる
図11に示す除算回路100 の構成は図18に示す構成を取っ
ているものとする。すなわち、除算回路100 の除数側の
データに0が入力された場合除算回路100 からは1が出
力されるものとする。
【0219】次に、動作について説明する。図22におい
て、逆元ROM120 には、図11に示す除算回路100 より
出力される0次の商多項式の係数が入力される。また、
シフトレジスタ123 には図11に示す除算回路100 より出
力される1次以上の商多項式の係数データが次数の低い
順に逐次記憶される。なお、それと同時にシフトレジス
タ126 にレジスタ81b が被除多項式として扱われる際、
次数検出回路88で検出された0検出フラグ(本実施例で
は、0を検出すると”H”となるものとする)が記憶さ
れる。なお、0検出フラグデータはレジスタ81b に記憶
されている係数データが被除多項式として用いられてい
る場合、被除多項式の最大次数の係数が0であった場合
出力される。セレクタ124 は逆元ROM120 の出力とレ
ジスタ125 の出力とをユークリッド演算制御回路101 よ
り出力される制御信号に基づき切り換える。乗算回路12
1 ではシフトレジスタ123 の出力とセレクタ124 の出力
とを乗算する。
【0220】なお、シフトレジスタ123, 126は乗算回路
121 で乗算が実施されるたびにデータを逐次シフトする
構成になっている。セレクタ122 では、ユークリッド演
算制御回路101 より出力される制御信号に基づき、被除
多項式の係数データがレジスタ81a に記憶されている場
合は乗算回路121 の出力を選択し、被除多項式の係数デ
ータがレジスタ81b に記憶されている場合は、まず初め
0次の商多項式の係数データがそのまま出力され、商多
項式の2次以降の係数を算出する際は乗算回路121 の出
力を選択するように制御するように構成されている。セ
レクタ122 の出力はレジスタ125 に記憶される。セレク
タ124 は図11に示すレジスタ81a が被除多項式として扱
われている場合は逆元ROM120 の出力を選択し、レジ
スタ81bが被除多項式として扱われている場合はレジス
タ125 の出力を選択するように構成されている。また、
シフトレジスタ126 より出力された0フラグデータはレ
ジスタ128 で商多項式の係数データとタイミングが合わ
されて出力される。
【0221】いま、被除多項式の係数データがレジスタ
81a に記憶されている場合について説明する。除算回路
100 より出力された商データが0次のものは逆元ROM
120及びセレクタ122 へ入力され1次以上の商データは
シフトレジスタ123 へ記憶される。なお、シフトレジス
タ126 へは”L”が記憶されるものとする。また、逆元
ROM120 に入力されたデータが0の場合は本実施例で
は誤り検出として扱うように制御するものとする。(な
お、上述の実施例でも同様に扱うものとする。)セレク
タ124 は逆元ROM120 の出力を、セレクタ122 は乗算
回路121 の出力を、セレクタ127 はレジスタ125 の出力
を選択するように構成されている。この場合、商多項式
の係数データに0が記憶されている場合でも、0/(逆
元ROM120 の出力)が実行され特に何も操作せずに正
規化が実行される。これによりレジスタ81a に被除多項
式の係数データが記憶されている場合の商多項式の正規
化は実行される。
【0222】同様に、被除多項式の係数データがレジス
タ81b に記憶されている場合について説明する。除算回
路100 より出力された商データが0次のものは逆元RO
M120 及びセレクタ122 へ入力され、1次以上の商デー
タはシフトレジスタ123 へ記憶される。その際、シフト
レジスタ126 には次数検出回路88で検出された0フラグ
データが記憶される。なお、本実施例ではレジスタ81b
に記憶されている被除多項式の最大次数の係数データが
0の場合”H”を出力する構成になっている。また、商
多項式の0次の係数データが0の場合、本実施例では誤
り検出として扱うように誤り訂正装置を制御するものと
する。セレクタ124 はレジスタ125 の出力を選択するよ
うに制御される。セレクタ122 では、ユークリッド演算
制御回路101 より出力される制御信号に基づき、まず初
めは0次の商多項式の係数データがそのま出力され、そ
れ以降の商多項式の係数を算出する際は乗算回路121 の
出力を選択するように制御するように構成されている。
セレクタ122 の出力はレジスタ125 に記憶される。これ
により、初期値として商多項式の1次の係数データがセ
レクタ122 より出力された後、逐次乗算回路121 により
Qi ×Pi が実行され商多項式がもとめられる。
【0223】一方、商多項式の係数データが0の場合
(すなわち除算回路100 に除数として入力される被除多
項式の係数データが0の場合)、除算回路100 では先ほ
ども述べたように除算出力として1が出力され、それと
同時に次数検出回路88より0検出フラグが出力される。
よって、商多項式の係数データを求める際は、乗算回路
121 ではQi ×1が実行されレジスタ125 にはQi が記
憶されることになる。なお、シフトレジスタ126 より出
力された0フラグデータはレジスタ128 で商多項式の係
数データとタイミングが合わされてセレクタ127 に出力
される。また、シフトレジスタ126 からは0フラグデー
タが出力され、セレクタ127 で0が選択される。そし
て、次の商多項式を算出する際はQi ×Pi+1 が実行さ
れる。
【0224】この構成によると、0フラグを記憶するシ
フトレジスタ126 とセレクタ122,124,127 とを上述のよ
うに制御することにより上述の演算を実行し商多項式の
係数データを算出することが可能となる。よって、シフ
トレジスタ126 とセレクタ122,124,127 とを追加するの
みの簡単な回路構成で誤り位置多項式を算出できる。
【0225】なお、第8実施例では、誤り位置多項式を
算出する際の誤り位置多項式算出回路の商多項式を正規
化する回路の構成を図20〜22に示したが、逆元ROM12
0 及び乗算回路121 部分を図20に示す除算回路100 と兼
用し回路規模の縮小を図ってもよい。また、シフトレジ
スタ123 をレジスタ81a, 81bと兼用して回路規模の縮小
を図ってもよい。
【0226】また、第8実施例では、誤り位置多項式を
算出する際の誤り位置多項式算出回路の回路構成を図20
〜22に示す構成をとってきたがこの構成に限るものでは
なく、図11または図14に示す回路構成をとる誤り訂正装
置において、除算回路100 へ被除数として入力される多
項式が、除多項式であった場合と被除多項式であった場
合とで誤り位置多項式を算出する誤り位置算出回路での
演算方法を切り換えるように構成すれば同様の効果を奏
する。例えば、本実施例では商多項式の0次の係数デー
タを1に正規化したが、商多項式の最大次数の係数を1
に正規化する場合においても、商多項式の求め方の詳細
は省略するが上述のように誤り位置算出手段中の商多項
式を求める演算方法を切り換えれば同様に求められる。
【0227】また、第8実施例では、商多項式が2次の
場合または除算回路100 より出力される除算結果が0の
場合についても、図21または図22に示す回路構成により
商多項式を算出したが、商多項式がある次数以上の場合
または除算回路100 より出力された係数データに0の係
数データが含まれていた場合、商多項式を算出せず誤り
検出として処理し制御の簡略化及び回路規模の縮小を図
ってもよい。
【0228】第9実施例.以下、本発明の第9実施例に
ついて説明する。本実施例では図11に示す誤り訂正装置
を用いた場合について説明する。図23に第9実施例のブ
ロック構成図を示す。本実施例では図11に示す誤り訂正
装置のコア回路の構成にイレージャ訂正を行う際に必要
となる修正シンドロームを算出するためのセレクタを追
加した構成になっている。図において81a, 81b, 85〜8
8,95,100 及び101 は図11と同一であるので説明は省
略する。130,131,132 はセレクタ、133 はイレージャ位
置を入力する入力端子である。なお、イレージャ訂正を
行う際は、上記被除多項式及び除多項式を記憶するレジ
スタ81a, 81bの数は、修正シンドロームの各係数データ
を記憶するため、(修正シンドロームの最大次数+1)
個のレジスタが被除数及び除数各々に必要となる。
【0229】イレージャ訂正とは誤りの位置はわかって
いるが誤り数値がわからないといった場合の誤り訂正に
用いられる方法で、簡単に述べると、誤り位置情報より
修正シンドロームを計算し、この修正シンドロームをも
とに図25に示すユークリッドアルゴリズムを実行し誤り
訂正を行う。その際、ユークリッドアルゴリズムにおい
ては終了条件を変えて、シンドローム多項式を修正シン
ドローム多項式に置き換えるだけで他は変わらない。
(イレージャがある場合のユークリッドアルゴリズムの
詳しい説明は前述の「符号理論」のpp.173〜175 を参
照)
【0230】上記修正シンドロームの算出方法を以下に
簡単に説明する。いま、再生または受信データより算出
されたシンドローム多項式S(Z)を S(Z)=S15Z15+S14Z14+S13Z13+・・・S1
Z+S0 とし、またイレージャの位置をα0 ・・・αk とする。
この際、修正シンドロームS(z)’は S(z)’=S(z)×{(Z+α0 )×(Z+α1 )
×・・・×(Z+αk )} で算出される。
【0231】以下、図23を用いて修正シンドロームS
(Z)’を求める際の回路動作を説明する。シンドロー
ム生成が終了するとユークリッド演算のコア回路ではレ
ジスタ81b にシンドローム多項式の各係数データがセッ
トされる。その際、イレージャ数によりシンドローム多
項式の最大次数の係数が記憶されるレジスタ位置が変わ
る。レジスタ81b にシンドローム多項式の係数データが
セットされるとユークリッド演算制御回路101 より出力
される制御信号によりセレクタ130 は誤り位置情報を、
セレクタ131 はレジスタ81b の出力を、セレクタ132 は
レジスタ81b に記憶されている1次次数が高いシンドロ
ーム多項式の係数データを選択するように制御される。
そして、レジスタ81b の内容を右側にシフトすることに
より S(Z)×Z+S(Z)×α0 を実行する。(なお、α0 はイレージャの位置情報を示
す。)数12に、具体的な筆算結果を示す。
【0232】
【数12】
【0233】なお、最大次数S15については演算が行わ
れても変わらないため係数をそのままシフトするように
構成するものとする。また、0次の係数はS0 ×α0 の
みを実行するように構成する。そして、この動作を、逐
次行うことにより修正シンドロームを算出する。図24に
修正シンドロームを算出する際のセレクタ131, 132の接
続状態を示す。なお、この図は図23に示す回路の1部の
接続状態を示したものである。図に示すように本実施例
では修正シンドロームを算出する際はレジスタ81a は動
作しない。
【0234】修正シンドロームの算出が終了すると図23
に示す誤り訂正装置のコア回路はセレクタ130 を除算回
路100 の出力を、セレクタ131 はレジスタ81a の出力を
選択するように切り換えられる。また、セレクタ132 は
同次数のレジスタ81b の出力を選択するように切り換え
られ、各構成要素の接続が図11に示すものと同一の構成
になる。一方、ユークリッド演算制御回路101 では、修
正シンドロームを求める際、イレージャ数により図25に
示す終了条件uを u=t から u=(2×t+k)/2 と設定する。なお、kはイレージャ訂正を行なうシンボ
ルの数である。
【0235】ユークリッド演算が開始されるとまず始
め、ユークリッド演算制御回路101 より出力されるユー
クリッド演算開始信号をもとにレジスタ81a に初期値で
ある被除多項式Z2tの係数が記憶されるとともに、レジ
スタ81b に除多項式である修正シンドローム多項式S
(Z)’の各係数データが記憶される。また、次数検出
回路87, 88のカウンタにはそれぞれ次数の初期値である
16と15とがセットされる。次数検出回路87, 88内のカウ
ンタは被除多項式の係数データを記憶しているレジスタ
81が1回シフトされるたびにカウント値が1つ下がるよ
うに構成されている。それと同時に、除多項式である修
正シンドローム多項式は次数検出回路88で最高次数の係
数データが0であるか判定する。ユークリッド演算制御
回路101 では、次数検出回路88で検出された除多項式
(修正シンドローム多項式)の最大次数の係数が0の場
合、除多項式の係数データが記憶されているレジスタ81
b の内容をシフトし(なお、この際加算回路86での加算
動作を行わずレジスタ81b の内容をそのままシフトする
構成になっている)最大次数のデータが0でなくなるま
でシフト動作を繰り返す。その際、次数検出回路88中の
カウンタはカウント値をシフト動作が行われるたびに1
づつ減らされる。
【0236】また、第5実施例と同様に、被除多項式の
係数データが記憶されているレジスタ81a はクロックが
入力されると加算回路86の出力がラッチされるように構
成されており、除多項式の係数データが記憶されている
レジスタ81b は係数データが保持されるように構成され
ている。この動作を、被除多項式の次数が除多項式の次
数より小さくなるまで繰り返す。
【0237】ユークリッド演算制御回路101 では、次数
検出回路87(または88)より出力される上記剰余多項式
の次数をもとに、剰余の次数が上記イレージャ訂正を行
なう際に新たに設定されたユークリッド演算の終了条件
を満たしていればユークリッド演算を終了し、終了条件
を満たしていなければ前回の演算で除多項式であった多
項式を被除多項式として、また上記剰余多項式を除多項
式として演算を実行する。従来例のように交換手段を有
していないので回路の接続状態は変わらないが、レジス
タ81a に供給されていたクロック1が止められて、反対
にレジスタ81bにクロック2が供給される。よって、レ
ジスタ81a の内容が保持され、レジスタ81b に剰余多項
式の係数が逐次記憶される。
【0238】その際、ユークリッド演算回路中の除算回
路では、次数検出回路88により被除多項式(剰余多項
式)の最大次数が0であるかを判定し、0であった場合
レジスタ81b に記憶されている被除多項式(剰余多項
式)の内容をそのまま1つシフトするように制御信号を
出力する。これは、除算回路100 へ出力される除数と被
除数を格納するレジスタが決まっており被除多項式の係
数データが除数として用いられる場合、被除多項式の最
大次数の係数が0と成ってしまうと被除数(除多項式の
最大係数)を0で割ることになり、解(出力)が不定と
なってしまう場合が生じるためである。なお、本実施例
では除算回路100 の構成を図18に示す構成としているの
で最大次数の係数データが0の場合もあまり気にせず除
算動作を行える。
【0239】上記例と同様に、被除多項式の剰余の次数
が除多項式次数より小さくなるまで被除多項式の係数デ
ータを記憶しているレジスタの内容を演算しながらシフ
ト動作を繰り返すことにより除算を実行する。そして、
上記剰余多項式の次数を判定し所定の条件を満たしてい
なければレジスタ81a, 81bに供給するクロックを切り換
えてユークリッドアルゴリズムに基づく除算動作を再び
行う。これにより、リード・ソロモン符号を復号する際
に、イレージャ訂正をも考慮したユークリッドアルゴリ
ズムに基づくガロア体上の多項式同士の除算を1多項式
毎に行うことができ、誤り訂正処理速度を向上させるこ
とが出来るとともに交換手段(セレクタ)を持たないた
め回路規模の縮小が図れ、またセレクタ制御も必要なく
なる。
【0240】上記実施例5〜9では光ディスク等に採用
されている最小ハミング距離17のリード・ソロモン符号
について述べたがこれに限るものではなく最小ハミング
距離が17以外の符号でも同様の効果を奏する。また、上
記実施例に示す回路構成にて、最小ハミング距離が異な
る2種類以上のリード・ソロモン符号も復号できる。例
えば、積符号形式のリード・ソロモン符号の復号も同一
の回路でユークリッドアルゴリズムの初期値及び終了条
件をかえるだけで復号することができる。
【0241】また、各実施例では誤り訂正符号としてリ
ード・ソロモン符号を用いた場合について説明したがB
CH符号などの他の線形誤り訂正符号の復号に上記除算
回路を用いて復号しても同様の効果を奏する。
【0242】また、各実施例では除算演算時、レジスタ
81a, 81bのシフト、及びデータの保持をクロック1, 2
を制御することにより実行したがこれに限るものではな
く、例えばレジスタ81a, 81bの入力にセレクタを設け、
セレクタにより除多項式側のレジスタは自分自身の出力
をラッチし、被除多項式側のレジスタは加算回路86の出
力をラッチする様に制御してもよい。
【0243】また、被除多項式と除多項式との交換判定
は次数検出回路87,88より出力される各多項式の次数差
を検出する方法に限るものではない。例えば、被除多項
式の次数と除多項式の次数との差を除算を始める前に予
め求めておき、この情報をもとに一義的に除算回路のシ
フト回数を決定し次数差を検出せず除算を行うなどの方
法を用いてもよい。
【0244】また、各実施例では、シンドローム多項
式, 剰余多項式等の次数を検出する際、レジスタ81a, 8
1bにおける最大次数の係数が記憶されているレジスタの
みに次数検出回路87, 88を接続し検出していたが、これ
に限るものではなく、例えば、各係数データを記憶する
レジスタ81に係数判定回路(係数データが0であるか否
かを判定する回路)を設けて次数判定を行ってもよい。
【0245】更に、詳細は省略するがユークリッドアル
ゴリズム以外、例えば剰余復号等にも上記回路構成を適
用できることは言うまでもない。
【0246】
【発明の効果】以上のように第1発明の誤り訂正装置
は、入力信号にあらかじめ付加されている線形符号であ
る誤り訂正符号によって符号化された信号中に発生する
誤りを訂正するための誤り訂正装置にあって、誤り訂正
符号が付加された単位情報ブロックより再生または受信
信号中に含まれる誤りにのみ依存するシンドロームを生
成するためのシンドローム生成手段と、生成されたシン
ドロームを基に誤り位置多項式σ(z)及び誤り数値多
項式ω(z)を算出する誤り位置・数値多項式演算手段
と、算出された誤り位置多項式σ(z)を基に誤り位置
を算出する誤り位置算出手段と、上記算出された誤り数
値多項式ω(z)及び誤り位置情報を基に誤り訂正を行
う誤り訂正手段とを有し、誤り訂正時に、少なくともシ
ンドローム生成手段、誤り位置・数値多項式演算手段及
び誤り位置算出手段の3つの処理動作を並行して動作す
るように構成されているので、例えば図33に示す1誤り
訂正ブロックに復号処理を施す際2倍以上のスピードで
処理を完了することが可能となる。
【0247】また第2発明の誤り訂正装置は、比較的高
速化が図れるシンドローム生成手段及び誤り位置算出手
段を駆動するクロックを、誤り位置・数値多項式演算手
段を駆動するクロックより高い周波数のクロックで駆動
するように構成したので、1誤り訂正ブロックを復号す
るのに要する復号時間を短縮することができ、処理速度
を上げることが可能となる。
【0248】また第3発明の誤り訂正装置は、比較的計
算にステップ数を要するシンドローム生成手段及び誤り
位置算出手段のステップ数にあわせて誤り位置・数値多
項式演算手段のステップ数を増やすことにより回路規模
を図ったので、誤り訂正装置全体の復号速度を損ねるこ
となく回路規模の削減を図れる。
【0249】また第4発明の誤り訂正装置は、誤り訂正
手段によりRAM内のデータに誤り訂正を施す際に誤り
位置算出手段より出力される誤り位置情報に基づく誤っ
たデータを逐次読み出した後に、誤り訂正を施したデー
タを逐次RAMに書き込むように構成したので、通常1
シンボルの誤り訂正を行う際、RAMからのデータの読
み出し、誤り訂正、RAMへのデータの書き込みと最低
3ステップかかっていた動作を2ステップで行うことが
可能となり、誤り訂正装置の高速化が図れる。よって、
高速化のネックとなるRAMのデータのアクセスを常に
行うように構成されているので、回路規模の増大を極力
控えて最高速の誤り訂正装置を構成することが可能とな
る。
【0250】また第5発明の誤り訂正装置は、所定の被
除多項式を除多項式で除算し、さらにその剰余を除多項
式として、また前記除多項式を被除多項式として除算し
て剰余の多項式の次数がある条件を満たすまで上記動作
を繰り返すユークリッド互除の処理過程を含んでリード
・ソロモン符号による誤り訂正処理を行う誤り訂正装置
において、上記被除多項式及び除多項式の各係数データ
を記憶しておくレジスタをシフトレジスタ状に配置し、
そして、上記2つの多項式の最大次数の係数同士を除算
する除算回路と、除算回路の除数側に設定された多項式
の係数データと除算回路の出力を乗算する乗算回路と乗
算回路の出力と除算回路の被除数側に設定された多項式
の係数データを加算する加算回路とを配置し、ガロア体
上の除算を実行する際に被除多項式の係数データが記憶
されているレジスタの内容を逐次シフトすることにより
ユークリッド互除過程に基づく除算を実行するように構
成しているので、ユークリッド互除過程におけるガロア
体上の多項式同士の除算を実行する際、各多項式の係数
データを交換するためのセレクタをもたずにユークリッ
ド互除過程中の除算を実行するため、回路規模の縮小を
図れるとともにセレクタ制御が不必要になり回路の簡素
化が図れる。
【0251】また第6発明の誤り訂正装置は、乗算回路
をユークリッド互除過程における初期値Z2tをセットす
るレジスタ群に配置し乗算回路の数を削減するように構
成したので、除算動作を行うため乗算回路の数を1つ減
らすことができ、前述したように約 400ゲート程度の回
路規模の縮小が図れる。
【0252】また第7発明の誤り訂正装置は、除算回路
において、除数として入力される多項式の最大次数の係
数が0であった場合、除算回路の出力を1として出力す
るように構成したので、ユークリッド演算制御回路で被
除多項式または除多項式の最大次数が0であった場合で
も、特別な制御を加えることなくユークリッドアルゴリ
ズムにおけるガロア体上の多項式同士の演算を実行で
き、制御回路の簡素化が図れる。
【0253】また第8発明の誤り訂正装置は、除算回路
の出力を用いて誤り位置多項式σ(Z)を算出する際、
除算回路に入力される被除多項式の最大次数の係数デー
タが除数として扱われる場合と被除数として扱われる場
合とで算出方法を切り換えるように構成されているの
で、誤り位置多項式が正確に算出されるとともに、復号
ステップ数を削減できる。
【0254】また第9発明の誤り訂正装置は、除算手段
の出力と誤り位置情報を選択する第1の選択手段と、除
算手段の除数側の多項式の係数を記憶しておく記憶手段
の出力と、除算手段の被除数側の多項式の係数データを
記憶しておく記憶手段の出力とを選択する第2の選択手
段と、除算手段の除数側の多項式の係数とそれより1次
次数が高い除算手段の除数側の多項式の係数とを選択す
る第3の選択手段と、第1の選択手段の出力と第3の選
択手段の出力とを乗算する乗算手段と、乗算手段の出力
と第2の選択手段の出力とを加算する加算手段とを有
し、消失訂正時に修正シンドローム多項式を演算する
際、第1,第2及び第3の選択手段でそれぞれ誤り位置
情報,上記除算手段の除数側の多項式の係数データ及び
1次次数が高い多項式の係数を選択するように構成して
いるので、イレージャ訂正を行う際に算出する修正シン
ドローム多項式の算出をセレクタ回路を付加するだけで
行うことができ、回路規模の増大を極力抑えてイレージ
ャ訂正にも対応できる。
【図面の簡単な説明】
【図1】本発明の誤り訂正装置のブロック構成図であ
る。
【図2】図1に示す誤り訂正装置の回路動作を説明する
ためのタイミングチャートである。
【図3】本発明の他の誤り訂正装置のブロック構成図で
ある。
【図4】図3に示す誤り訂正装置の回路動作を説明する
ためのタイミングチャートである。
【図5】ユークリッド演算回路のガロア体上の多項式の
除算回路のブロック構成図である。
【図6】図5に示す除算回路の回路動作を説明するため
のタイミングチャートである。
【図7】誤り訂正装置全体の動作を説明するためのタイ
ミングチャートである。
【図8】ユークリッド演算回路のガロア体上の多項式の
他の除算回路のブロック構成図である。
【図9】誤り訂正回路の回路動作を説明するためのタイ
ミングチャートである。
【図10】誤り訂正回路の回路動作を説明するための他
のタイミングチャートである。
【図11】本発明の誤り訂正装置のユークリッド演算を
行う際のガロア体上の多項式同士の除算を行う他の除算
回路のブロック構成図である。
【図12】図11に示す除算回路の回路動作を説明する
ための図である。
【図13】図11に示す除算回路の回路動作を説明する
ための図である。
【図14】本発明の誤り訂正装置のユークリッド演算を
行う際のガロア体上の多項式同士の除算を行う他の除算
回路のブロック構成図である。
【図15】図14に示す除算回路の回路動作を説明する
ための図である。
【図16】図14に示す除算回路の回路動作を説明する
ための図である。
【図17】図14に示す除算回路の回路動作を説明する
ための図である。
【図18】本発明の誤り訂正装置における除算回路のブ
ロック構成図である。
【図19】本発明の誤り訂正装置における加算回路のブ
ロック構成図である。
【図20】本発明の誤り訂正装置における誤り位置算出
手段の回路構成図である。
【図21】本発明の誤り訂正装置における他の誤り位置
算出手段の回路構成図である。
【図22】本発明の誤り訂正装置における更に他の誤り
位置算出手段の回路構成図である。
【図23】イレージャ訂正を考慮した本発明の誤り訂正
装置のユークリッド演算を行う際のガロア体上の多項式
同士の除算を行う除算回路のブロック構成図である。
【図24】本発明の誤り訂正装置の回路動作を説明する
ための回路接続図である。
【図25】ユークリッドアルゴリズムの動作を説明する
フローチャートである。
【図26】従来の誤り訂正装置のブロック構成図であ
る。
【図27】シンドローム生成回路のブロック構成図であ
る。
【図28】従来の誤り訂正演算回路のブロック構成図で
ある。
【図29】従来のユークリッド演算回路のガロア体上の
多項式の除算回路のブロック構成図である。
【図30】チェンサーチ回路のブロック構成図である。
【図31】誤り訂正符号による符号化及び復号化の手順
を示すフローチャートである。
【図32】家庭用ディジタルVTRに採用されている誤
り訂正符号の構成図である。
【図33】図32に示す誤り訂正符号の記録方向の1ラ
インの構成図である。
【図34】従来の誤り訂正装置の動作を説明するための
タイミングチャートである。
【図35】従来の誤り訂正装置の回路動作を説明するた
めのタイミングチャートである。
【図36】Fig.12は従来の誤り訂正装置の動作を説明す
るためのタイミングチャートである。
【図37】従来の誤り訂正装置のユークリッド演算を行
う際のガロア体上の多項式同士の除算を行う除算回路の
ブロック構成図である。
【図38】従来のガロア体上の多項式同士の除算を行な
うための除算回路動作を説明するための図である。
【図39】従来のガロア体上の多項式同士の除算を行な
うための除算回路動作を説明するための図である。
【図40】従来の誤り訂正装置のユークリッド演算を行
う際のガロア体上の多項式同士の除算を行う除算回路動
作を説明するための図である。
【図41】従来の誤り訂正装置のユークリッド演算を行
う際のガロア体上の多項式同士の除算を行う除算回路動
作を説明するための図である。
【符号の説明】
1 RAM 2 シンドローム生成回路 20 ユークリッド演算回路 21 チェンサーチ回路 22 誤り訂正回路 41 誤り訂正装置制御回路 81a, 81b レジスタ 85 乗算回路 86 加算回路 100 除算回路 101 ユークリッド演算制御回路 130 セレクタ 131 セレクタ 132 セレクタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 石本 順子 京都府長岡京市馬場図所1番地 三菱電機 株式会社電子商品開発研究所内

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 入力信号に付加されている線形符号であ
    る誤り訂正符号を用いて誤り訂正を行う誤り訂正装置に
    おいて、前記入力信号からシンドロームを生成するシン
    ドローム生成手段と、該シンドローム生成手段の出力に
    基づき誤り位置多項式と誤り数値多項式とを演算する演
    算手段と、該演算手段より導出された誤り位置多項式よ
    り誤り位置を算出する誤り位置算出手段と、該誤り位置
    算出手段より出力される誤り位置情報と前記誤り数値多
    項式とを用いて誤り数値を導出して、入力信号中の誤り
    位置が検出された誤ったデータに誤り訂正を施す訂正手
    段と、前記シンドローム生成手段,前記演算手段及び前
    記誤り位置算出手段の3つの手段を並行して動作させる
    制御手段とを備えることを特徴とする誤り訂正装置。
  2. 【請求項2】 前記シンドローム生成手段及び前記誤り
    位置算出手段の駆動クロックの周波数を、前記演算手段
    を駆動するクロックの周波数より高くすることを特徴と
    する請求項1記載の誤り訂正装置。
  3. 【請求項3】 前記演算手段の復号ステップ数が、前記
    シンドローム生成手段または前記誤り位置算出手段のス
    テップ数とほぼ等しいことを特徴とする請求項1記載の
    誤り訂正装置。
  4. 【請求項4】 入力信号に付加されている線形符号であ
    る誤り訂正符号を用いて誤り訂正を行う誤り訂正装置に
    おいて、前記入力信号を一旦蓄える記憶手段と、前記入
    力信号からシンドロームを生成するシンドローム生成手
    段と、該シンドローム生成手段の出力に基づき誤り位置
    多項式と誤り数値多項式とを演算する演算手段と、該演
    算手段より導出された誤り位置多項式より誤り位置を算
    出する誤り位置算出手段と、該誤り位置算出手段より出
    力される誤り位置情報と前記誤り数値多項式とを用いて
    誤り数値を導出して、入力信号中の誤り位置が検出され
    た誤ったデータに誤り訂正を施す訂正手段と、該訂正手
    段が誤り訂正を行う際、前記誤り位置情報に基づく誤っ
    た情報を少なくとも2つ以上連続して前記記憶手段より
    読み出した後、誤り訂正が施されたデータを前記誤り位
    置情報に基づく誤ったデータと逐次書き換える動作を誤
    り位置が検出されたデータがすべて訂正されるまで繰り
    返すように、前記訂正手段を制御する制御手段とを備え
    ることを特徴とする誤り訂正装置。
  5. 【請求項5】 所定の被除多項式を除多項式で除算し、
    その後その剰余を除多項式とし前記除算を行なった際の
    除多項式を被除多項式として除算する動作を、剰余の多
    項式の次数がある条件を満たすまで繰り返すユークリッ
    ド互除の処理過程を含んでリード・ソロモン符号による
    誤り訂正処理を行なう誤り訂正装置において、前記2つ
    の多項式の各々の係数を記憶する記憶手段と、該記憶手
    段に記憶されている2つの多項式の最大次数の係数同士
    のガロア体上の除算を行なう除算手段と、該除算手段の
    除数側の多項式の係数を記憶しておく前記記憶手段の出
    力と前記除算結果とをガロア体上で乗算する乗算手段
    と、該乗算手段の出力と、前記除算手段の被除数側の多
    項式の係数を記憶しておく前記記憶手段の出力とをガロ
    ア体上で加算する加算手段とを備え、前記記憶手段をそ
    れぞれシフトレジスタ状に配置してガロア体上の多項式
    同士の除算回路を構成し、被除多項式が記憶されている
    前記憶手段の内容を逐次シフトすることにより多項式同
    士の除算を実行するように構成したことを特徴とする誤
    り訂正装置。
  6. 【請求項6】 前記乗算手段が、ユークリッド互除法に
    より多項式同士の除算を行なう際、初期値としてZ2tが
    セットされる前記記憶手段側に配置されることを特徴と
    する請求項5記載の誤り訂正装置。
  7. 【請求項7】 前記除算手段において、除数として入力
    される多項式の最大次数の係数が0であった場合、前記
    除算手段の出力を1とすることを特徴とする請求項5ま
    たは6記載の誤り訂正装置。
  8. 【請求項8】 前記除算手段の出力より誤り位置多項式
    を算出する際、前記除算手段に入力される被除多項式の
    係数が除数として扱われる場合と被除数として扱われる
    場合とで演算方法を切り換えることを特徴とする請求項
    5,6または7記載の誤り訂正装置。
  9. 【請求項9】 前記除算手段の出力と誤り位置情報とを
    選択する第1の選択手段と、前記2つの多項式の各々の
    係数を記憶しておく記憶手段の出力を選択する第2の選
    択手段と、前記除算手段の除数側の多項式の係数とそれ
    より1次次数が高い前記除算手段の除数側の多項式の係
    数とを選択する第3の選択手段と、前記第1の選択手段
    の出力と前記第3の選択手段の出力とを乗算する乗算手
    段と、該乗算手段の出力と前記第2の選択手段の出力と
    を加算する加算手段とを更に備え、消失訂正時に修正シ
    ンドローム多項式を演算する際、前記第1,第2及び第
    3の選択手段は、それぞれ誤り位置情報,前記除算手段
    の除数側の多項式の係数及び1次次数が高い多項式の係
    数を選択するように構成したことを特徴とする請求項
    5,7または8記載の誤り訂正装置。
JP10261993A 1992-04-28 1993-04-28 誤り訂正装置 Expired - Fee Related JP3281938B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10261993A JP3281938B2 (ja) 1992-04-28 1993-04-28 誤り訂正装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP10940292 1992-04-28
JP4-183742 1992-07-10
JP18374292 1992-07-10
JP4-109402 1992-07-10
JP10261993A JP3281938B2 (ja) 1992-04-28 1993-04-28 誤り訂正装置

Publications (2)

Publication Number Publication Date
JPH0677844A true JPH0677844A (ja) 1994-03-18
JP3281938B2 JP3281938B2 (ja) 2002-05-13

Family

ID=27309750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10261993A Expired - Fee Related JP3281938B2 (ja) 1992-04-28 1993-04-28 誤り訂正装置

Country Status (1)

Country Link
JP (1) JP3281938B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997050184A1 (en) * 1996-06-27 1997-12-31 Matsushita Electric Industrial Co., Ltd. Reed solomon error correcting circuit and method and device for euclidean mutual division
KR100380788B1 (ko) * 2000-03-29 2003-04-18 가부시끼가이샤 도시바 복호장치 및 복호방법
US7155659B2 (en) 2000-03-27 2006-12-26 Sanyo Electric Co., Ltd. Error detection and correction circuit
US8176393B2 (en) 2006-09-12 2012-05-08 Tamagawa K-12 & University Encoding device for error correction, encoding method for error correction and encoding program for error correction
US8365053B2 (en) 2009-05-27 2013-01-29 International Business Machines Corporation Encoding and decoding data using store and exclusive or operations
CN113764029A (zh) * 2020-06-03 2021-12-07 三星电子株式会社 用于并行生成校正子和部分系数信息的设备和方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997050184A1 (en) * 1996-06-27 1997-12-31 Matsushita Electric Industrial Co., Ltd. Reed solomon error correcting circuit and method and device for euclidean mutual division
US7155659B2 (en) 2000-03-27 2006-12-26 Sanyo Electric Co., Ltd. Error detection and correction circuit
KR100380788B1 (ko) * 2000-03-29 2003-04-18 가부시끼가이샤 도시바 복호장치 및 복호방법
US8176393B2 (en) 2006-09-12 2012-05-08 Tamagawa K-12 & University Encoding device for error correction, encoding method for error correction and encoding program for error correction
US8365052B2 (en) 2006-09-12 2013-01-29 Tamagawa K-12 & University Encoding device for error correction, encoding method for error correction and encoding program for error correction
US8365053B2 (en) 2009-05-27 2013-01-29 International Business Machines Corporation Encoding and decoding data using store and exclusive or operations
CN113764029A (zh) * 2020-06-03 2021-12-07 三星电子株式会社 用于并行生成校正子和部分系数信息的设备和方法

Also Published As

Publication number Publication date
JP3281938B2 (ja) 2002-05-13

Similar Documents

Publication Publication Date Title
US5504758A (en) Error-correcting apparatus
US5170399A (en) Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
US5642367A (en) Finite field polynomial processing module for error control coding
US5107503A (en) High bandwidth reed-solomon encoding, decoding and error correcting circuit
US6047395A (en) Error correction processor for correcting a multi-dimensional code by generating an erasure polynomial over one dimension for correcting multiple codewords in another dimension
EP0329789B1 (en) Galois field arithmetic unit
US5999959A (en) Galois field multiplier
US4532629A (en) Apparatus for error correction
US6772385B2 (en) Error-correcting device and decoder enabling fast error correction with reduced circuit scale
US5490154A (en) Method of and circuit arrangement for decoding RS-coded data signals
WO1999009694A2 (en) Reed-solomon decoder and vlsi implementation thereof
US8201061B2 (en) Decoding error correction codes using a modular single recursion implementation
US5974583A (en) Error correcting method and device
US5107506A (en) Error trapping decoding method and apparatus
US5471485A (en) Reed-solomon decoder using discrete time delay in power sum computation
JP3281938B2 (ja) 誤り訂正装置
US6453441B1 (en) Error correcting device and optical disk reader comprising same
KR19990026630A (ko) 리드-솔로몬 복호기와 그 복호방법
WO2003036798A2 (en) Decoding method and decoder for reed solomon code
JP3614978B2 (ja) ガロア体の除算方法および除算装置
WO1999016175A1 (fr) Circuit integre a semi-conducteurs et systeme de traitement de donnees
US20080140740A1 (en) Systems and methods for processing data sets in parallel
JPH04365139A (ja) 誤り訂正処理用シンドローム演算回路
US7743311B2 (en) Combined encoder/syndrome generator with reduced delay
JP3126973B2 (ja) 誤り訂正処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080301

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090301

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100301

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100301

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110301

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110301

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees