JPH10150367A - 誤り訂正装置 - Google Patents

誤り訂正装置

Info

Publication number
JPH10150367A
JPH10150367A JP30534096A JP30534096A JPH10150367A JP H10150367 A JPH10150367 A JP H10150367A JP 30534096 A JP30534096 A JP 30534096A JP 30534096 A JP30534096 A JP 30534096A JP H10150367 A JPH10150367 A JP H10150367A
Authority
JP
Japan
Prior art keywords
error
polynomial
word
output
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
JP30534096A
Other languages
English (en)
Inventor
Tomio Ikegami
富雄 池上
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP30534096A priority Critical patent/JPH10150367A/ja
Publication of JPH10150367A publication Critical patent/JPH10150367A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

(57)【要約】 【課題】誤り訂正処理の高速化と回路の簡素化。 【解決手段】訂正処理をハードウエアで行うことにより
高速に処理できる。一つの演算装置を誤り訂正の各工程
で共通に使うことにより、実用的な回路規模まで回路が
簡素化できた。 【効果】高速かつ簡素な誤り訂正装置を提供できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は誤り訂正符号によっ
て符号化された情報に発生する誤りを訂正する誤り訂正
装置に関し、特に、コンパクトディスクプレーヤ、ディ
ジタルオーディオプレーヤ、ディジタルVTR、デジタ
ルビデオディスク(DVD)、磁気ディスク装置、光デ
ィスク装置などで蓄積されたデータを再生する際にディ
ジタル信号中に存在する誤りを訂正処理する誤り訂正装
置に関するものである。
【0002】
【従来の技術】CD,DAT,ディジタルVTR、DV
Dなどに音楽データ、映像データ、コンピュータデータ
などをディジタルデータの形式で記録及び再生する装置
が広く使用しまたは使用されようとしている。これらの
装置には、誤り訂正符号を用いた誤り訂正処理が用いら
れる。
【0003】従来この種の誤り訂正装置では、リードソ
ロモン符号が多く使われる。リードソロモン符号はガロ
ア体上で定義される訂正符号である。ガロア体は、排他
的論理和演算を基につくられ加減乗除演算が定義された
集合である。このガロア体の要素とワード単位のデータ
が対応つけられて誤り訂正符号に利用される。ワードの
単位としては、多くの場合バイト単位のデータが使われ
る。リードソロモン符号は、データ列の各データをXの
多項式の係数とみなして、生成多項式の除算による剰余
を元のデータ列に付加するものである。このデータ列を
情報部、剰余データをパリティ検査部、剰余データが付
加されたデータ列を符号語と称する。ここに除算はガロ
ア体の演算規則で行われるものである。
【0004】誤り訂正符号は訂正できる誤り数に制限が
あるのでこの対策のため、またバースト誤りを分散させ
るためにデータのインタリーブと共に用いられることが
多い。また、誤りの検出のみを行うCRC符号も同時に
用いられることがある。
【0005】誤り訂正符号の記録と再生について簡単に
説明する。ユーザデータとして与えられる情報部から符
号語を生成する工程はシンドローム生成回路により実行
される。一つの回路構成例としては、江藤良純ら著「デ
ィジタルビデオ記録技術」,出版日刊工業新聞社,P.1
02 に記載されている多項式の割り算回路がある。
尚、パリティ検査部は、時間領域のシンドロームと称さ
れることがある。
【0006】誤り訂正符号の再生は以下のように行われ
る。まず、再生した符号語から、記録時と同様な方法で
剰余計算により再生時のパリティ検査部を求める。全て
のパリティ検査部のデータが零でない時は、誤りが発生
しているため誤り訂正を行う。誤り訂正では、誤りの位
置と誤りの数値を求める必要がある。訂正の基本的な手
順は、以下の通りである。
【0007】
【表1】
【0008】剰余を周波数領域のシンドロームに変換す
る工程は、パリティ検査部の複数ワードのデータをガロ
ア体上の一次変換により、周波数領域のシンドロームに
変換するものである。以下では、単にシンドロームと言
えば周波数領域のシンドロームをさすものとする。良く
利用されるリードソロモン符号の例ではパリティ検査部
の長さは16バイトあり、この一次変換をハードウエア
で実現するには16個のガロア体上の乗算器や加算器は
必要となり回路規模はかなり大きくなる。
【0009】誤り位置多項式と誤り評価多項式の二つの
多項式を求める工程は、ユークリッドの互除法による方
法やバーレカンプのアルゴリズムによる方法などが良く
知られている。ユークリッドの互除法による方法は多項
式の除算のくり返しによる方法である。バーレカンプの
アルゴリズムによる方法もくり返し演算を含む方法であ
る。このため、この処理を実現する訂正回路の構成も、
多くの単位演算回路を含み、複雑で回路規模は大きい。
【0010】誤り位置多項式の求解により誤り位置を求
める工程では、ガロア体の要素を順次誤り位置多項式に
代入し解となるかを評価する方法で行われ、チェンサー
チと呼ばれる。求めた誤り位置で、誤り位置多項式と誤
り評価多項式から誤り数値を求める工程では、誤りの数
値が求められる。この段階は、前記誤り位置多項式の求
解により誤り位置を求める工程と同時に実行されるため
以下の説明では、この2工程を含めて誤りデータを求め
る工程と称する。
【0011】データを訂正する工程では、求まった誤り
位置と誤り数値により、RAMなどにある再生データの
内容を訂正する。
【0012】
【発明が解決しようとする課題】誤り訂正装置の例は、
例えば、特開平6−53842に記載されている。この
例では、誤り訂正の各段階が個別の回路で実現されてい
るため、その回路規模は大きなものとなっている。誤り
訂正装置を実現する別の方法として、ソフトウエアで前
記の各段階の少なくとも一部を実行することが実施され
ているが、高速なデータ転送には対応できないものであ
る。本発明は上記課題を解決するためのものであり、高
速なデータ転送処理が可能な誤り訂正装置を小さな回路
規模で提供することを主な目的とする。
【0013】
【課題を解決するための手段】上記課題を解決する本発
明の誤り訂正装置の構成は、以下の特徴を有する。
【0014】1)入力信号に付加された誤り訂正符号で
あるリードソロモン符号を用いて誤り訂正を行う誤り訂
正装置において、前記入力信号から剰余を計算する工
程、剰余からシンドロームを生成するシンドローム変換
工程と、該シンドローム変換工程の出力から誤り位置多
項式と誤り数値多項式の2多項式を求める工程と、該2
多項式を求める工程より求めた誤り位置多項式より誤り
位置を検出し、誤り位置が検出されたとき前記誤り位置
多項式と誤り数値多項式とを用いて誤り数値を導出して
誤り数値を求める誤り算出工程、当該入力信号中の誤り
位置が検出された誤ったデータに誤り数値により誤り訂
正を施す訂正工程により誤り訂正を行うときに、前記シ
ンドローム変換工程,前記2多項式を求める工程及び前
記誤り算出工程の三つの工程を一つの演算回路を使用し
て演算を行うことを特徴とする。
【0015】2)入力信号に付加された誤り訂正符号で
あるリードソロモン符号を用いて誤り訂正を行う誤り訂
正装置において、前記入力信号によりシンドロームをも
とめ、該シンドローム変換工程の出力から誤り位置多項
式と誤り数値多項式の2多項式を求める工程と、該2多
項式を求める工程より求めた誤り位置多項式より誤り位
置を検出し、誤り位置が検出されたとき前記誤り位置多
項式と誤り数値多項式とを用いて誤り数値を導出して誤
り数値を求める誤り算出工程、当該入力信号中の誤り位
置が検出された誤ったデータに誤り数値により誤り訂正
を施す訂正工程により誤り訂正を行うときに、前記2多
項式を求める工程及び前記誤り算出工程の二つの工程を
一つの演算回路を使用して演算を行うことを特徴とす
る。
【0016】3)入力信号に付加された誤り訂正符号で
あるリードソロモン符号を用いて誤り訂正を行う誤り訂
正装置において、前記入力信号から剰余を計算する工
程、剰余からシンドロームを生成するシンドローム変換
工程と、該シンドローム変換工程の出力から誤り位置多
項式と誤り数値多項式の2多項式を求める工程と、該2
多項式を求める工程より求めた誤り位置多項式より誤り
位置を検出し、誤り位置が検出されたとき前記誤り位置
多項式と誤り数値多項式とを用いて誤り数値を導出して
誤り数値を求める誤り算出工程、当該入力信号中の誤り
位置が検出された誤ったデータに誤り数値により誤り訂
正を施す訂正工程により誤り訂正を行うときに、前記シ
ンドローム変換工程,及び前記誤り算出工程の二つの工
程を一つの演算回路を使用して演算を行うことを特徴と
する。
【0017】4)上記1)〜3)において、一つの前記
演算回路がリードソロモン符号の最大訂正能力数をtと
したとき、ワード単位に上位方向にシフト可能でありワ
ードごとに入出力可能な2t+1ワードのシフトレジス
タと、前記シフトレジスタのデータを2t+1ワード入
力しさらに別の2t+1ワードのデータを入力しワード
毎に乗算する2t+1個のガロア体上の乗算器と、前記
乗算器の2t+1ワードの出力とさらに別の2t+1ワ
ードを入力しワード毎に加算する2t+1個のガロア体
上の加算器と、前記乗算器の2t+1ワードの出力のう
ち下位tワードを加算する加算器と、前記乗算器の2t
+1ワードの出力のうち上位t+1ワードを下位から1
ワードおきに加算する加算と、前記乗算器の2t+1ワ
ードの出力のうち上位t+1ワードを加算する加算器よ
りなることを特徴とする。
【0018】5)上記1)〜3)において、一つの前記
演算回路がリードソロモン符号の最大訂正能力数をtと
したとき、ワード単位に上位方向にシフト可能でありワ
ードごとに入出力可能な2tワードのシフトレジスタ
と、前記シフトレジスタのデータを2tワード入力しさ
らに別の2tワードのデータを入力しワード毎に乗算す
る2t個のガロア体上の乗算器と、前記乗算器の2tワ
ードの出力とさらに別の2tワードを入力しワード毎に
加算する2t個のガロア体上の加算器と、前記乗算器の
2tワードの出力のうち下位tワードを加算する加算器
と、前記乗算器の2tワードの出力のうち上位tワード
を下位から1ワードおきに加算する加算と、前記乗算器
の2tワードの出力のうち上位tワードを加算しさらに
別の1ワードを加算する加算器よりなることを特徴とす
る。
【0019】6)上記1)〜3)において、一つの前記
演算回路がただ一つのガロア体の割り算器を含むことを
特徴とする。
【0020】7)上記1)〜3)において、一つの前記
演算回路がシーケンサを含む制御部と選択器により制御
され中間の演算結果と誤り位置と誤り数値を格納する記
憶手段を含むことを特徴とする。
【0021】8)上記4)または5)において、前記誤
り算出工程が、可能性のある全ての位置を順次誤り位置
多項式と誤り数値多項式に代入して多項式の評価をする
ことにより実行され、前記シフトレジスタをワード単位
の複数のレジスタとして使用し、この複数のレジスタへ
前記複数の乗算器の出力を帰還する回路構成を持ち、当
該工程の開始時に符号の構成により定まる特定の値を前
記乗算器の第1の入力にセットし、前記乗算器のもう一
つの入力に誤り位置多項式と誤り数値多項式の係数をセ
ットし乗算結果をレジスタに帰還保持し、当該工程の動
作中は前記乗算器の第1の入力にリードソロモン符号の
構成により定まる特定の値を入力することにより符号語
の上位位置から下位位置の順番で前記多項式の評価を行
うことを特徴とする。
【0022】9)上記4)または5)において、リード
ソロモン符号の生成多項式にオフセットがある多項式を
使用し、前記誤り算出工程で、可能性のある全ての位置
を順次誤り位置多項式と誤り数値多項式に代入して多項
式の評価をすることにより実行され、前記シフトレジス
タをワード単位の複数のレジスタとして使用し、この複
数のレジスタへ前記複数の乗算器の出力を帰還する回路
構成を持ち、当該工程の開始時に符号の構成により定ま
る特定の値を前記乗算器の第1の入力にセットし、前記
乗算器のもう一つの入力に誤り位置多項式と誤り数値多
項式の係数をセットし乗算結果を前記レジスタに帰還保
持し、当該工程の動作中は前記乗算器の第1の入力にリ
ードソロモン符号の構成により定まる特定の値を入力す
ることにより誤り算出工程において前記オフセットの補
正を行うことを特徴とする。
【0023】
【発明の実施の形態】
(実施例1)本発明の実施例1を図1から図18により
説明する。本実施例は本発明の誤り訂正装置を、光ディ
スク装置に使った例である。図16は本発明の実施例1
における記憶装置の構成図である。図示しない外部イン
タフェースより本装置へ転送された記録データ201は
直接あるいは図示しないRAMに一旦貯えられた後、誤
り訂正および検出符号の符号化手段202により、誤り
訂正や検出のための剰余データが付加され符号語データ
203となる。符号語データ203は、変調器204に
より記録媒体の特性などにあわせて装置固有に決められ
た変調法で記録信号に変換され記録回路205により光
ヘッド206を介して記録媒体207に記録される。記
録媒体207に記録されたデータの再生に際しては、光
ヘッド206により再生され波形整形された再生信号が
復調器209により復調され再生符号語212を得る。
復調されたデータには剰余バイトが含まれる、これを用
いて誤り訂正および検出符号の復号手段210が誤り検
出を行い誤りがあれば誤り訂正を行って再生データ21
1を得る。
【0024】図17は光ディスクのフォーマットを示す
図である。本実施例の記録媒体207としては円盤状の
記録媒体を使用しほぼ同軸状に半径方向に多数の記録領
域に分割され、さらに周方向にセクタ220と呼ばれる
多数個の領域に分割されている。一つのセクタ220は
そのセクタの番号が記録されているID領域221、ユ
ーザデータの領域の先頭を示すヘッダ222、ユーザデ
ータ223,誤り検出に使うCRCデータ224、およ
び誤り訂正のパリティ検査部であるECCデータ225
が記録されている。一つのセクタ内のデータの構造を同
図b)でさらに詳しく説明する。本実施例では、1セク
タあたりのユーザデータは512バイトまたは2048
バイトである。ここでは、512バイトの場合につき説
明するが、2048バイトの場合もインタリーブの数以
外は同様である。図17b)によれば、512バイトの
ユーザデータ223にダミーの4バイトを付加し、これ
にCRCデータ224として4バイト、ECCデータ2
25として60バイトの冗長データが付加される。図1
7b)の配列された一つの四角が1バイトを表し、Dx
xxと表記された四角がユーザデータである。データの
転送や記録媒体への記録は、Dxxxの番号xxxの昇
順に行われる。符号化に際しては、データは5つのイン
タリーブに分けられ、インタリーブは0から4に番号つ
けられている。CRCxと番号つけられた4バイトのデ
ータはユーザデータとそれに連続して配置された4バイ
トのダミーデータに対して付加された誤り検出専用のデ
ータである。CRC符号は良く知られているため、説明
は省略するが、再生したユーザデータをD0から順番に
多項式の割り算回路に入力することにより誤り検出がで
きるものである。各インタリーブについて、ユーザデー
タ等の104バイトのデータを情報部として16バイト
のパリティ検査部を付加し符号語となし、5つのインタ
リーブをならべて記録データとする。各インタリーブに
ついて120バイトの符号語データがデータ転送の順番
と逆方向に0から119まで図の如く番号つけられてい
る。
【0025】一つのインタリーブについて、実施例1で
使用されるリードソロモン符号の構成を詳細に説明す
る。リードソロモン符号は、排他的論理和演算を基につ
くられた加減乗除が定義された集合であるガロア体を用
いて、データをガロア体の元と対応つけてデータ列をX
の多項式の係数とみなして、生成多項式の除算による剰
余をパリティ検査部とするものである。記録されたデー
タを再生する際には再生された符号語のデータから記録
時と同様な手順で剰余を演算し誤り訂正に使用する。
【0026】最初に、本実施例のガロア体の定義を説明
する。本実施例では、1バイトが1ワードとして扱う。
ガロア体の原始多項式 Gp(x)は式(1)で与えら
れ、この式によりまず中間的な単位元βが定義され、さ
らに単位元αが定義される。
【0027】
【数1】
【0028】本実施例での符号語の定義について説明す
る。一つのインタリーブ内での情報部のデータの並びを
[d103、d102...d1、d0]とする。例えば、
インタリーブ番号の0ではデータD 0がd103であ
る。情報部を式(2)のように多項式表現する。
【0029】
【数2】
【0030】パリティ検査部の生成に使用するリードソ
ロモン符号の生成多項式Ge(X)は次のものを使う。
【0031】
【数3】
【0032】本実施例では、インタリーブあたりの最大
訂正能力数tは8であり、生成多項式にはオフセットP
0=120がある。この多項式で情報部多項式D(X)
を除算してその記録剰余多項式R(X)をパリティ検査
部とする。
【0033】
【数4】
【0034】以上で記録するデータ列すなはち符号語が
生成された。記録符号語多項式I(X)は次の様にな
る。
【0035】
【数5】
【0036】以上のようにパリティ検査部が付加された
符号語データを記録再生する過程で、雑音や記録媒体の
欠陥により誤りが発生する。リードソロモン符号で多数
ワードの誤り訂正を行なうには、再生データよりシンド
ロームを生成して誤り位置多項式と誤り数値多項式との
係数を求める必要がある。このような多項式の係数を求
める手法としては、ユークリッドの互除法によるアルゴ
リズムやバーレカンプのアルゴリズム等が良く知られて
いる。本実施例では、ユークリッドの互除法によるアル
ゴリズムを使用している。このアルゴリズムは、与えら
れた2つの多項式の最大公約多項式を求めるユークリッ
ドの互除法を使う方法であって、ガロア体の元を係数と
する多項式同士の除算を行ない、誤り位置多項式と誤り
数値多項式とを求める。誤り多項式をE(X)として再
生符号語の表現である再生符号語多項式Y(X)を次の
様に表す。
【0037】
【数6】
【0038】一般に、誤りの数がパリティ検査部の半分
以下であれば誤り訂正が可能であるから、本実施例で
は、前述したようにこの最大訂正能力数tは8バイトと
なる。
【0039】以下、本実施例でのリードソロモン符号に
よる多数ワードの誤り訂正の手順を示す。リードソロモ
ン符号の復号手順は次のようになる。
【0040】
【表2】
【0041】上記の各工程を詳細に説明する。誤り訂正
の処理では、もとデータとしてシンドロームが用いられ
る。シンドロームは再生データをリードソロモン符号の
生成多項式で除算した剰余から求められる。剰余を求め
る演算は次式である。
【0042】
【数7】
【0043】そして、シンドローム変換工程において、
シンドロームはこの再生剰余多項式Ry(X)にリード
ソロモン符号の生成多項式Ge(X)の根を代入して求
められる。
【0044】
【数8】
【0045】二つの多項式を求める工程では、ユークリ
ッドの互除法によるアルゴリズムやバーレカンプのアル
ゴリズムが代表的方法である。いずれの方法も数学的な
原理は同じで次の式が基本となっている。
【0046】
【数9】
【0047】ここで、シンドローム多項式SyP
(Z),誤り位置多項式σ(Z),誤り数値多項式ω
(Z)は、Liを誤りの位置ERRNUMを誤りの数と
して、それぞれ次のように定義されている。
【0048】
【数10】
【0049】
【数11】
【0050】
【数12】
【0051】誤りデータを求める工程では、チェンサー
チという方法が用いる。この方法は、誤り位置多項式σ
(Z)に誤り位置の候補Liとしてインタリーブ内番号
例えば「0、1、2...」を順次代入する。実際に
は、各Liに対応するガロア体の元α^(−Li)を順
次代入して、σ(Z=α^(−Li))が0となるσ
(Z)の根(誤り位置に相当する)を求めるものであ
る。符号長をnとするとこの場合はn=120である。
上述の方法によると、誤り位置を演算するためには符号
長に相当するガロア体上のn個の元を順次誤り位置多項
式σ(Z)に代入してσ(Z)=0となる元を計算する
ことになるので、演算のステップ数はn=120ステッ
プとなる。チェンサーチで誤りの位置が見つかると、見
つかった誤り位置をLrとし、誤りの数値Erは次の式
を評価することにより求めることができる。
【0052】
【数13】
【0053】図18は誤り訂正の流れを示す図である。
誤り訂正および検出符号の復号手段210は、式(7)
に対応する剰余を演算する手段と誤り訂正手段よりな
る。図18はデータ再生時の処理のタイミングを示して
いる。複数のセクタ232が連続して記録媒体から読み
出されるときは、読み出しと同時に剰余を演算する手段
が剰余を演算する。あるセクタ232の読み出しが終了
した時点で剰余のデータが確定するので剰余を用いて誤
り訂正手段が処理をはじめて次のセクタの読み出しが終
了する前に誤りの位置と誤りの数値を確定する。これら
のデータにより先に読み出したデータの訂正を行うもの
である。
【0054】剰余を演算する手段については、例えば、
江藤良純ら著「ディジタルビデオ記録技術」, 出版日刊
工業新聞社,P.102に記述されている割り算回路が
利用できる。剰余演算は符号化時の誤り訂正および検出
符号の符号化手段202と復号時の剰余を演算する手段
ともにほぼ同じ回路を使用することができる。
【0055】次に、以上説明した誤り訂正の手順を実際
に行う本実施例の誤り訂正回路の具体的な説明をする。
図1は、本実施例の回路構成を示すブロック図である。
本実施例の回路は、演算器群と記憶手段群と実施例1の
選択器と各部を制御する実施例1の制御部1からなる。
【0056】まず、演算器群について説明する。第1の
演算器8は、第1の演算器の第1の入力13と第1の演
算器の第2の入力14をもち、17個のガロア体上の乗
算器とバイト単位にシフト可能な17バイトのレジスタ
からなる演算器であり、第1の演算器の出力15をも
つ。第2の演算器9は第1の演算器の出力15と第2の
演算器の第2の入力16のガロア体上の加算を行う17
個の加算器であり、第2の演算器の出力17を持つ。第
3の演算器は、第1の演算器の出力15に特殊な加算を
行う演算器であり、3バイトの第3の演算器の出力18
を持つ。第4の演算器11はガロア体上の割り算器であ
る。第5の演算器12は同じくガロア体上の割り算器で
ある。演算器群の入力には実施例1の選択器7の出力が
接続される。第1の記憶手段2はシンドロームと演算の
結果より得られる誤り位置と誤りの数値を格納する。第
2の記憶手段4は、誤り位置多項式の演算の結果を記憶
する。この記憶手段は、2ステップ前の演算結果を記憶
するBi_2レジスタ 30と1ステップ前の結果を記
憶するBi_1レジスタ 31をもつ。第3の記憶手段
5は、誤り数値多項式の演算の結果を記憶する。この記
憶手段は、2ステップ前の演算結果を記憶するRi_2
レジスタ 32と1ステップ前の結果を記憶するRi_
1レジスタ 33をもつ。第4の記憶手段6は、多項式
の割り算の商多項式を記憶する。
【0057】図2は第1の演算器8の構成図である。こ
の演算器は各17バイトの入力を二つ持ち、第1の演算
器の第1の入力13はその各バイトが各乗算器の一方の
入力に接続される。第1の演算器の第2の入力14は1
7バイトのレジスタに入力される。この第1の演算器の
レジスタ40は、8ビットの単位レジスタ41を単位と
してバイト単位に入出力可能であり、バイト単位に上位
に向かってシフト可能である。ここで上位とは、各入
力、各単位レジスタ、各乗算器に0から16まで番号づ
けられた番号の上位を意味する。各単位レジスタ41の
出力は各乗算器のもう一つの入力に入る。17個の乗算
結果が第1の演算器の出力15となる。
【0058】図3は、第2の演算器の構成図である。第
1の演算器の出力15と実施例1の選択器7からの入力
する第2の演算器の第2の入力14との間でバイト毎の
加算を行い17バイトの第2の演算器の出力17を出力
する。
【0059】図4は第3の演算器の構成図である。第3
の演算器は、第1の演算器の出力15を第3の演算器の
入力50として受け、図に示す加算を行い第3の演算器
の第1の出力63、第3の演算器の第2の出力64、第
3の演算器の第1の出力65を出力する。これは、誤り
位置のサーチ工程などで使用される。第3の演算器の第
1の加算器60は第1の演算器の出力15の最上位バイ
トから1バイトおきに4バイト加算し第3の演算器の第
1の出力63を出力する。第3の演算器の第1の加算器
61は、第1の演算器の出力15の上位8バイトを加算
し第3の演算器の第1の出力64を出力する。第3の演
算器の第3の加算器62は第1の演算器の出力15の下
位9バイトを加算し第3の演算器の第3の出力65を出
力する。
【0060】図5は第4、第5の演算器の構成図であ
る。この割り算器はガロア体上の二つの元の除算を行
う。一方の入力の逆元を演算する手段71と乗算器72
から構成される。尚、零での除算は本実施例ではつかわ
ないので任意の元が出力されてよい。
【0061】以上説明した演算器での加算はガロア体上
の加算であるから、各ビットごとの排他的論理和演算で
ある。乗算と除算は、ガロア体の定義によって異なり本
実施例での定義はすでに説明した。乗算は、例えば、5
00NANDゲート程度の論理回路で実現できる。
【0062】図6は第3の記憶手段の構成図である。第
3の記憶手段は第1の入力87、第2の入力88と第1
の出力89、第2の出力90、第3の出力91、第4の
出力92、第5の出力93、第6の出力94を持つ。内
部には、第3の記憶手段の第1の入力87がロードされ
る17バイトのRi_2レジスタ32、第3の記憶手段
の第2の入力88がロードされる16バイトのRi_1
レジスタの二つのレジスタ群がある。これらのレジスタ
は1バイト毎に番号がつけられている。Ri_2レジス
タ32のデータを検査し零でないデータが存在する最高
位の番号mを出力する最高次数検出器82により選択器
84を用いて最高位の零でないデータamを第3の記憶
手段の第2の出力90とし、最高位の番号を最高次数と
して第3の出力91に出す。Ri_1レジスタ33につ
いても、データの最高次数nと最高位のデータbnが検
出され第5の出力93に最高位のデータbnが出力され
る。両レジスタの最高次数の差mnが第4の出力92と
なる。第3の記憶手段の第1の出力89と第6の出力9
4には各レジスタのデータが出力される。
【0063】図7は第4の記憶手段の構成図である。Q
iレジスタ100は9バイトの番号づけられたレジスタ
である。Qiレジスタ100には、第4の記憶手段の第
1の入力105にバイトデータを入力し、第4の記憶手
段の第2の入力106にQiレジスタの単位レジスタ番
号を入力することによりデータを1バイト毎にロードす
ることができる。Qiレジスタ100のデータは最高次
数検出器102により、零でない最高位の番号が検出さ
れて減算カウンタ103にロードされる。制御部からの
指令101により次数が最高次から1づつ下げられたQ
iレジスタのデータqipが1バイト毎に第4の記憶手
段の第1の出力107にでる。第2の出力には、減算カ
ウンタ103に設定された次数の値が出力される。
【0064】次に、本実施例の回路動作の説明をする。
本実施例では、このような演算器群を、シンドローム変
換工程、ユークリッドの互除法によるアルゴリズムで二
つの多項式を求める工程、チェーンサーチで誤りデータ
を求める工程に共通に使用し、回路構成の簡易化を図っ
ている。各段階の動作を説明することにより本発明の特
徴を明らかにする。
【0065】まずは、シンドローム変換段階についてそ
の動作を説明する。図8はシンドローム変換の方法を示
す構成図である。前述のように剰余とシンドロームは式
(8)の関係があり、同式を変形すると次の式となる。
【0066】
【数14】
【0067】この関係から、剰余の16バイトのデータ
を高次からフィードバック付きの積和演算回路に通すこ
とによりシンドロームに変換することができる。図8の
回路構成で、このシンドローム変換動作を行える。剰余
110は高次のデータから1バイト毎に、16個並列に
並んだバイトデータを保持する単位レジスタ111な
ど、乗算器113など、加算器114など、よりなる積
和回路に入力され剰余110の最低次のデータが入力し
終わった時の出力がシンドロームとなる。尚、乗算器の
もう一つの入力にはリードソロモン符号の生成多項式G
e(X)により決まる定数が入れられる。
【0068】図8の構成は、図1の演算器群等により実
現できる。剰余を演算する手段より1バイト毎に現れる
剰余を第2の演算器の第2の入力16に各々入力し、バ
イト単位にシフトできる第1の演算器のレジスタ40を
シフト動作なしで単位レジスタ111などとして使用す
る。第2の演算器の出力17を第1の演算器の第2の入
力14に接続する。これらの接続は、実施例1の選択器
7が実施例1の制御部1の指令により実行する。尚、こ
の時シンドロームは16バイトなので第1の演算器と第
2の演算器の一部は使用されず、例えば、番号0から1
5のレジスタ、乗算器、加算器を使う。剰余の16バイ
トめが入力されて単位レジスタ111などが更新される
前の第2の演算器の出力17がシンドロームである。こ
の演算により得られたシンドロームは第1の記憶手段2
に記憶される。
【0069】次に、多項式を二つの多項式を求める工程
を説明する。回路動作を説明するまえに実施例1で利用
するユークリッドの互除法によるアルゴリズムについて
説明する。図9は、ユークリッドの互除法によるアルゴ
リズムの流れ図である。シンドローム多項式SyP
(Z)より誤り位置多項式σ(Z)及び誤り数値多項式
ω(Z)を求める。ユークリッドの互除法とは元々整数
を素数に分解するために考案されたアルゴリズムであ
り、誤り訂正では、これを多項式に拡張し、ガロア体上
で定義される多項式同士の除算を繰り返すものである。
すなわち、ユークリッドの互除法によるアルゴリズムと
は、ガロア体上で定義される2つの多項式をA(Z),
B(Z)とすると
【0070】
【数15】
【0071】というガロア体上で定義される多項式同士
の除算をある一定の条件が満たされるまで繰り返すもの
である。
【0072】図9の処理120では、多項式Ri_2
(Z)と多項式Ri_1(Z)に初期値として、Z^2
tとシンドローム多項式SyP(Z)を設定する。処理
121では、両多項式の除算を行い商多項式Qi(Z)
と剰余多項式Ri(Z)を求める。処理122では、誤
り数値多項式を求めるための多項式の積和演算を行う。
処理123では剰余多項式の次数をチェックし最大訂正
能力数t=8未満なら処理を終了し、そうでなければ多
項式を入れ替えて処理121、122、123を繰り返
す。ユークリッドの互除アルゴリズムによる誤り位置多
項式σ(Z)及び誤り数値多項式ω(Z)の算出は最大
訂正能力数tが8のリードソロモン符号の場合、ガロア
体上の多項式同士の除算を最大8回行なえば良いことに
なる。
【0073】ユークリッドの互除法によるアルゴリズム
では、誤り位置多項式と誤り数値多項式を二つの多項式
を求める工程では、図1の演算器群に加えて記憶手段も
使用される。第2の記憶手段4は、図9で説明した多項
式Bi_2(Z)の係数と多項式Bi_1(Z)の係数
を記憶するBi_2レジスタ30とBi_2レジスタ3
1を含む。各レジスタは9バイトのデータを記憶でき
る。Bi_2レジスタ30とBi_1レジスタ30は実
施例1の制御部1の指令によりその内容を交換すること
ができる。図6は第3の記憶手段の構成図である。第3
の記憶手段5は、Ri_2(Z)多項式とRi_1
(Z)多項式の係数を記憶するRi_2レジスタ32と
Ri_1レジスタ33を含む。Ri_2レジスタ32は
17バイト、Ri_1レジスタ群33は16バイトであ
る。 Ri_2レジスタ32とRi_1レジスタ33は
交換用レジスタ80を介して実施例1の制御部1の指令
によりその内容を交換することができる。また、第3の
記憶手段5には、各レジスタに記憶された係数の判定を
行い多項式の次数決定と最高次の係数を出力する機能を
有する。この係数判定はバイト単位に零判定を行うこと
で最高次数検出器82、83により実現される。両多項
式の次数の差が引き算器86で計算される。
【0074】図7は第4の記憶手段の構成図である。第
4の記憶手段6は商多項式Qi(Z)の係数を記憶する
9バイトのQiレジスタを含む。Qiレジスタ100の
データは最高次数検出器102で次数判定され制御部の
指令101により減算カウンタ103により次数の降順
に係数データが出力される。なお、ここ各記憶手段の各
レジスタ群は、バイト単位に0から番号がつけられてい
る。
【0075】図9のユークリッドの互除法によるアルゴ
リズムの流れ図に基づいて回路動作を説明する。これら
の回路動作はすべて実施例1の制御部1の制御のもとに
進行する。
【0076】多項式を二つの多項式を求める工程が開始
されると、図9の最始の処理120に対応して以下の動
作を行う。Bi_1レジスタ31にデータ“1”がセッ
トされる。つまり、当該レジスタの番号0の8ビットデ
ータが‘1’となり、それ以外の単位レジスタすべては
‘0’となる。Bi_2レジスタが全バイトに‘0’が
セットされる。Ri_1レジスタ33に第1の記憶手段
2からシンドロームのデータが転送される。Ri_2レ
ジスタ32の番号16の単位レジスタに‘1‘がセット
される。これは、多項式Ri_2(Z)にZの2t乗を
入れたことに相当する。次に多項式の除算処理121に
移る。この処理の結果は、除算の商はQiレジスタ10
0に、除算のあまりはRi_2レジスタ32に記憶され
る。
【0077】除算のアルゴリズムを図10の多項式の除
算を説明する図で説明する。本実施例では、多項式の除
算は筆算で良く使われる方法を利用した。Ri_2
(Z)をRi_1(Z)で除して、商多項式Qi(Z)
と剰余をもとめる。Ri_2の次数は16次以下、Ri
_1は15次以下である。これらの次数はリードソロモ
ン符号の生成多項式からきまるものである。Ri_2
(Z)とRi_1(Z)を次の式で表現する。
【0078】
【数16】
【0079】図10に従って行われる除算はガロア体上
の除算、多項式の係数に対するガロア体上の乗算と加算
により行えることがわかる。では除算手順を説明する。
なお、多項式Ri_2(Z)の係数をRi_2レジス
タ、多項式Ri_1(Z)の係数をRi_1レジスタ、
商多項式Qi(Z)の係数をQiレジスタに格納するも
のとする。
【0080】
【表3】
【0081】Ri_2レジスタのデータが剰余多項式の
係数であり、Qiレジスタに商多項式の係数が入ってい
る。処理122では、処理121と類似の方法でQiレ
ジスタの番号ごとにBi_1レジスタの内容をシフトし
Bi_1レジスタの各データとQiレジスタの当該番号
のデータを乗算しBi_2レジスタのデータと加算する
ことにより処理が行われる。処理123では、第3の記
憶手段の第3の出力91に表れるRi_2レジスタ32
の次数を判定する。処理122の条件が満たされなけれ
ばBi_2レジスタとBi_1レジスタのデータを交換
し、Ri_2レジスタとRi_1レジスタのデータを交
換して上記の処理121、122、123を繰り返す。
処理122の条件が満たされたときのBi_2レジスタ
のデータが誤り位置多項式の係数であり、Ri_2レジ
スタのデータが誤り数値多項式の係数である。
【0082】図11は、実施例1のユークリッドの互除
法によるアルゴリズムの制御状態遷移図である。実施例
1の制御部1はこの状態遷移図によって演算器群と記憶
手段を使い訂正処理をすすめる。多項式の係数を求める
段階が開始すると、制御はIDEL状態130からSE
T1状態131に移る。SET1状態131では、Bi
_1レジスタ31に“1”、Ri_2レジスタ30に
“0”がセットされる。さらにRi_1レジスタ33に
第1の記憶手段からシンドロームが16バイト転送され
る。
【0083】次にSET2状態に移り、Qiレジスタ1
00のクリアを行う。さらにRi_1レジスタ32,R
i_2レジスタ33の次数評価が行われ、Ri_1の最
高次数をn、Ri_2の最高次数をm、mとnの差mn
を求める。このとき第3の記憶手段からはそれぞれの最
高次数の係数値が第5の演算器12に対して出力され
る。
【0084】処理121に対応して、次にSET3状態
にうつり、第5の演算器で除算された多項式Ri_1
(Z)と多項式Ri_2(Z)の最高次数の比が第4の
記憶手段6のmn番の単位レジスタに取り入れられる。
さらにこの状態では、第5の演算器の出力は第1の演算
器8の17バイトの第1の演算器の第1の入力13にす
べて同じ値で実施例1の選択器7により接続される。ま
た、Ri_1レジスタ33のデータは実施例1の選択器
7を介し第1の演算器のレジスタ40に入力される。第
2の演算器の第2の入力にはRi_2レジスタ32が実
施例1の選択器7を介して接続される。また、次数差m
nは実施例1の制御部1に入力される。
【0085】次に状態はCAL1状態に移り、この状態
で第1の演算器のレジスタ40はmn回高次側にシフト
する。
【0086】次にSET8状態に移る。レジスタのシフ
トが終了したときに第2の演算器9の出力が多項式の除
算の剰余であるので、第2の演算器の出力17をRi_
2レジスタ32にロードする。
【0087】次に状態は、DEC1状態にうつる。DE
C1状態では、Ri_2レジスタ32の次数判定がなさ
れ、Ri_1レジスタ33の最高次数と比較しRi_2
レジスタ32の方が最高次数が高ければ状態3に遷移
し、前述の過程を繰り返す。Ri_2レジスタ32の最
高次数が低ければ多項式の除算が終了しているためSE
T3状態に遷移する。この時、第4の記憶手段のQiレ
ジスタ100のデータが商多項式Qiの係数であり、R
i_2レジスタ32のデータが剰余多項式の係数であ
る。
【0088】次に流れ図の次の処理122を制御状態遷
移にしたがって説明する。この段階は多項式の積和演算
である。SET4状態137では第4の記憶手段6のQ
iレジスタ100の次数が評価され最高次数Pが求めら
れ実施例1の制御部1に通知される。
【0089】次のSET5状態では、実施例1の選択器
7の切り替えが行われ次の操作が実行される。一つは、
第4の記憶手段6の第1の出力107が第1の演算器の
第1の入力13のうち下位の9バイトにすべて同じ値で
接続される。さらに、第1の演算器のレジスタ40には
Bi_1レジスタ31のデータが下位9バイトにロード
される。さらに、第2の演算器の第2の入力16にはB
i_2レジスタ30の出力が接続される。
【0090】これらの接続がなされた後、CAL2状態
139に遷移する。この状態では、第1の演算器8のレ
ジスタがP回シフトしシフトが終了したときの第2の演
算器の出力17がCAL3状態においてBi_2レジス
タにロードされる。また、この状態で第4の記憶手段6
の最高次数Pが減算カウンタ103により1だけ減らさ
れる。
【0091】次のDEC2状態は次数Pの評価期間であ
り、Pが正であればSET5状態に遷移し、負であれば
処理122の演算は終了したためDEC3状態に遷移す
る。Ri_2レジスタ32の内容が誤り数値多項式の候
補であるから、この状態でRi_2レジスタ32の次数
を評価し8以上であれば、SET6状態に遷移する。S
ET6状態とSET7状態では流れ図の処理124に対
応する処理、Ri_1レジスタとRi_2レジスタ間、
Bi_2レジスタとBi_1レジスタ間のデータの交換
を行う。このあと、SET2状態に遷移し、ユークリッ
ドの互除法によるアルゴリズムの次のループに入る。R
i_2レジスタ32の次数が8より小さければユークリ
ッドの互除法によるアルゴリズムが終了したと考えられ
るのでIDEL状態に遷移する。このとき、Ri_2レ
ジスタ32のデータが誤り数値多項式であり、Bi_2
レジスタ30のデータが誤り位置多項式である。
【0092】以上で多項式が求まったので、誤りの位置
と数値を求めるチェンサーチ工程につき説明する。本実
施例では誤りの位置をチェンサーチで求めると同時に誤
りの数値を求める。求められた誤り位置と数値により再
生したユーザデータを訂正するとともに正しく誤り訂正
ができているかをCRCデータで検定する。図12は実
施例1のチェンサーチの回路構成図である。この段階で
は、第1の演算器8、第2の演算器9、第3の演算器1
0と第4の演算器11を使う。各演算器は実施例1の選
択器7により図12の様に接続される。第1の演算器の
レジスタ40はシフトせずにバイト単位の17個の単位
レジスタとして使われる。図13はチェンサーチの制御
状態遷移図であり、この図に従って動作説明をする。
【0093】本実施例では、誤りの位置の候補としてイ
ンタリーブ内番号の高次から降順で誤り位置多項式を評
価して、同時に誤り数値多項式も評価している。このた
め、誤り位置多項式の係数の数9個と誤り数値多項式の
係数の数8個の合計17個の乗算器などが必要である。
第3の演算器の第2の出力64が誤り位置多項式の評価
値であり、この値が零のときに設定された誤り位置の候
補が誤り位置と判定できる。第3の演算器の第1の出力
63は誤り位置多項式の奇数次項の和であり、第3の演
算器の第3の出力65は誤り数値多項式の評価結果であ
る。両者の比をとることにより、式(13)で説明した
とおり、誤り数値を求めることができる。尚、誤り評価
多項式の評価についてはリードソロモン符号の生成多項
式のオフセット値P0=120による誤り数値多項式の
補正がなされた値が第3の演算器の第3の出力65の現
れているので別の手段でこの補正を行う必要は無い。
【0094】さて、チェンサーチ段階に演算開始指令が
はいると状態遷移図のC_IDEL状態160からC_
SET1状態161に遷移する。C_SET1状態16
1では、第2の演算器の第2の入力16に零“0”を設
定する。このチェンサーチ段階では、第2の演算器は使
う必要はないが第2の演算器の第2の入力16に零をセ
ットすることで加算動作をしないようにしている。第2
の演算器9を除いて演算を実行してもよい。
【0095】次に状態はC_SET2状態162に移
る。第1の演算器の第1の入力13には定数設定手段3
から実施例1の選択器により図14のチェンサーチ初期
設定データ図のデータが入力される。また、第1の演算
器のレジスタ40には下位から誤り評価多項式の係数と
してRi_2レジスタ32のデータがロードされる。第
1の演算器のレジスタ40の上位には誤り位置多項式の
係数としてBi_2レジスタ30のデータがロードされ
る。
【0096】次のC_CAL1状態163で、このとき
第3の演算器10の出力には、最初の誤り位置の候補で
ある位置=119での多項式の評価結果が出力されてお
り、第3の演算器の第2の出力64が零なら誤りがこの
位置にあるとして誤り検出信号151を出力し、第4の
演算器11により誤り数値を演算した結果を出力する。
誤り位置候補を降順に変えてサーチを行うため、次のC
_SET3状態に遷移し、第1の演算器のレジスタ40
の入力を第2の演算機の出力17に切り替え、演算結果
を第1の演算器のレジスタ40にロードする。
【0097】次にC_CAL2状態165に遷移し、第
1の演算器の第1の入力13を図15のチェンサーチ乗
算値設定データ図のデータに切り替え、図12の第1の
演算器と第2の演算器からなるフィードバックループを
まわすことにより、第1の演算器のレジスタ40にクロ
ックが入る毎に誤り位置の候補を降順にサーチする。各
候補位置に対して、前述と同様に誤り位置であるかどう
かの判定を行い、誤りの存在する位置であれば、誤り数
値を演算する。誤り位置の候補のサーチが終了したな
ら、C_SET4状態166に遷移したのち、C_ID
EL状態にもどりチェンサーチの段階が終了する。
【0098】以上のチェンサーチの方法では、インタリ
ーブ内番号の降順にサーチが行われ誤りがあれば誤り検
出信号が出力され同時に誤り数値が出力されるため、誤
りデータによるCRCデータの補正が符号器と同じ割り
算回路により演算可能であるため回路構成が簡単にな
る。
【0099】本実施例では、第4の演算器11と第5の
演算器12は同じ構成のガロア体の割り算器であり、第
5の演算器はユークリッドの互除法によるアルゴリズム
で多項式を求める際にのみ使われ、第4の演算器はチェ
ンサーチの段階でのみ使用されるため、一つの割り算器
で兼用することもできる。
【0100】(実施例2)実施例2では、誤り位置多項
式を求めるのに、バーレカンプのアルゴリズムを使う。
図20は本発明の実施例2の回路構成を示すブロック図
である。実施例1との違いは記憶手段、制御部とバーレ
カンプ用の選択器を使用する部分であり、演算器群は実
施例1と同じものを用いることができる。図19はバー
レカンプの方法を示すの流れ図である。バーレカンプの
方法は、式(9)を満たす誤り位置多項式の係数を、考
慮するシンドロームのバイト数を順次多くして求める方
法である。
【0101】流れ図の処理300では各変数のセットを
行う。処理301では、前段階で求めた誤り位置多項式
の係数σi(q)とシンドロームSjの積和演算を行
い、d(q)を求める。処理302では、d(q)の値
の判定を行う。d(q)が零ならば、処理ステップを1
進める。つまり、何の処理も行わずにqステップからq
+1に移る。d(q)が零でなければ誤り位置多項式の
係数の更新を処理303により行う。処理304では、
次の処理分岐判定のための値ΔLを計算する。処理30
5でこの値を判定し正であれば処理307を実行し、正
でなければ処理306を実行する。処理310と311
で処理ステップ番号qの更新をおこない、パリティ検査
部の長さ2t=16と比較し、両者が一致するまで上記
の処理を繰り返す。以上の処理で誤り位置多項式の係数
が求まる。次に処理313の演算により誤り数値多項式
の係数をもとめる。誤り数値多項式は誤り位置多項式の
次数より1次小さいため、処理315で誤り数値多項式
のすべての係数が求まるまで処理313を繰り返すよう
判定をしている。以上説明した流れ図で処理301、3
03,313はガロア体上の演算器群により実行でき
る。
【0102】さて、図20の第2実施例の回路構成によ
りさらに詳細に説明する。尚、シンドローム変換とチェ
ンサーチの段階は、実施例1と同じなので説明は省略す
る。
【0103】図20で、第5の記憶手段320は誤り数
値多項式の係数を9バイト記憶することができるωレジ
スタを含む。第6の記憶手段321は多項式の係数を9
バイトを3セット分記憶できるσcur、σnext、
σkpレジスタを含む。一つ目のσcurレジスタは流
れ図のσ(q)(Z)に、σnextレジスタはσ(q
+1)(Z)に、σkpレジスタはσ(k(p)+1)
(Z)のそれぞれの係数を記憶する。第7の記憶手段3
23は中間の演算結果などを記憶するレジスタである。
dcurレジスタは流れ図のd(q)に、dkpレジス
タはd(k(q)+1)に、LcurレジスタはL
(q)に、kcurレジスタはk(q)に、Lnext
レジスタはL(q+1)に、knextレジスタはk
(q+1)にそれぞれ対応する。
【0104】さて、回路動作を説明すれば次のようにな
る。まず、処理300に対応して、Lcurレジスタに
数値‘0’を、kcurレジスタに数値‘−1’を、σ
curレジスタにデータ“1”をdkpにデータ“1”
をセットする。処理301に対応して、実施例2の選択
器324により以下の様に演算器群にデータが入力され
る。第1の演算器の第1の入力13の上位から第6の記
憶手段321のσcurレジスタの下位データから順番
にデータを入力する。つまり、第1の演算器の第1の入
力13の16番の入力にはσcurレジスタの最下位バ
イトが接続される。また、本実施例では誤り位置多項式
の次数は8以下なので、第1の演算器の第1の入力13
の下位にはいるデータは無いため、下位8バイトは実施
例2の選択器324により零がセットされる。第1の演
算器のレジスタ40には第1の記憶手段2からシンドロ
ームがロードされる。第2の演算器の第2の入力16に
は全て零が入力される。
【0105】以上のデータが入力された後、第1の演算
器8のレジスタが上位に向かって(17−q)回シフト
された後に第3の演算器の第2の出力64が処理301
のd(q)でありこの値が第7の記憶手段323のdc
urレジスタに記憶される。
【0106】次に実施例2の制御部322はdcurレ
ジスタを参照し処理302を行う。処理303では、第
7の記憶手段323から第5の演算器12にdcurレ
ジスタの値とdkpレジスタの値が出力されガロア体上
の除算が行われる。さらに、実施例2の選択器324に
より、演算器群に次のようにデータが入力される。第5
の演算器12の出力は第1の演算器の第1の入力13の
下位9バイトすべてに接続される。第1の演算器のレジ
スタ40の下位9バイトにはσkpレジスタのデータが
ロードされる。第2の演算器の第2の入力16の下位9バ
イトには、σcurレジスタのデータが入力される。
尚、各入力の上位バイトには零が入力される。これらの
データ入力後に第1の演算器のレジスタ40を(q−1
−kcur)回上位にシフトすると第2の演算器の出力
に処理303のσ(q+1)(Z)の各係数が得られの
で、第6の記憶手段321のσnextレジスタに記憶
する。
【0107】誤り数値多項式の係数を求める処理313
等での回路動作について説明する。なお、多項式の係数
の番号をiで表す。求まった誤り位置多項式の係数は第
6の記憶手段321のσnextレジスタに記憶されて
いる。このデータを第1の演算器の第1の入力13の最
上位から係数の降順に入力する。第1の演算器のレジス
タ40には第1の記憶手段2からシンドロームをロード
する。この後、(16−i)回第1の演算器のレジスタ
40をシフトすると第3の演算器の第2の出力64に誤
り数値多項式のi番めの係数が出てくる。第1の演算器
のレジスタ40をシフトする毎に第5の記憶手段320
に誤り数値多項式の係数を記憶する。
【0108】本実施例では、第4の演算器11と第5の
演算器12は同じ構成のガロア体の割り算器であり、第
5の演算器はバーレカンプのアルゴリズムで多項式を求
める際にのみ使われ、第4の演算器はチェンサーチの段
階でのみ使用されるため、一つの割り算器で兼用するこ
ともできる。
【0109】(実施例3)実施例1において、第1の演
算器には17個の単位レジスタと17個の演算器を用意
した。ところがシンドローム変換ではこのうち16個の
みを使用している。ユークリッドの互除法によるアルゴ
リズムで多項式を二つの多項式を求める工程では、17
個使用しているが最上位の演算部分が使われるのは多項
式の除算でZ^2tを除算するときだけのため、最上位
の乗算器は第5の演算器による除算の逆演算を行うだけ
であるから省略可能である。チェンサーチの段階では、
17個全て使用しているが、図14、図15を参照する
と番号8のデータはαの零乗つまり1である。これを利
用してチェンサーチでも乗算器を一つとこれにともなう
単位レジスタ一つを省略することができる。図22は、
実施例3の演算器群の詳細構成図である。第6の演算器
330は各16バイトの入力を二つ持ち、第6の演算器
の第1の入力333はその各バイトが各乗算器の一方の
入力に接続される。第6の演算器の第2の入力334は
16バイトのレジスタ336に入力される。このレジス
タ336は、8ビットの単位レジスタを毎に入出力可能
であり、バイト単位に上位に向かってシフト可能であ
る。ここで上位とは、各入力、各単位レジスタ、各乗算
器に0から15まで番号づけられた番号の上位を意味す
る。各単位レジスタ336の出力は乗算器のもう一つの
入力に入る。16個の乗算結果が第6の演算器の中間出
力となる。
【0110】第6の演算器330から得られた中間出力
と第7の演算器の第2の入力335との間でバイト毎の
加算を行い16バイトの演算出力を出力する。第3の演
算器10は実施例1と同じである。第3の演算器の第2
の加算器61の一つの入力が入力332として取り出さ
れている。入力332には、チェンサーチにおいて誤り
位置多項式の最下位の係数が接続される。
【0111】以上の説明において、シンドローム変換工
程、多項式を二つの多項式を求める工程、チェンサーチ
の段階において、同一の演算器群よりなる演算回路で前
記3段階を実行したが、これらの段階の一つを別の方
法、たとえばソフトウエア、で実行することもできる。
【0112】また、最大訂正能力数t=8の場合を説明
したが、記録装置の仕様により異なる最大訂正能力数の
リードソロモン符号の復号にも本発明を適用することも
できる。
【0113】また、訂正能力をあげるためリードソロモ
ン符号でかつ積符号もビデオシステム等で利用されてい
るが、積符号の復号装置の要素回路として、本発明の誤
り訂正装置は利用できる。
【0114】
【発明の効果】以上説明したように本発明の請求項1か
ら9によれば、誤り訂正をハードウエアで実行するた
め、訂正に要する時間が短く高速の転送レートに対応で
きる上に次の様な効果が得られる。
【0115】請求項1の発明は、リードソロモン符号を
用いて誤り訂正を行う誤り訂正装置において、剰余から
シンドロームを生成するシンドローム変換工程と、該シ
ンドローム変換工程の出力から誤り位置多項式と誤り数
値多項式の2多項式を求める工程と、該2多項式を求め
る工程より求めた誤り位置多項式より誤り位置を検出
し、誤り位置が検出されたとき前記誤り位置多項式と誤
り数値多項式とを用いて誤り数値を導出して誤り数値を
求める誤り算出工程の三つの工程を一つの演算回路を使
用して演算を行うようにしたため、回路の共用化により
回路規模が小さくなる。
【0116】請求項2の発明は、リードソロモン符号を
用いて誤り訂正を行う誤り訂正装置において、シンドロ
ームから誤り位置多項式と誤り数値多項式の2多項式を
求める工程と、該2多項式を求める工程より求めた誤り
位置多項式より誤り位置を検出し、誤り位置が検出され
たとき前記誤り位置多項式と誤り数値多項式とを用いて
誤り数値を導出して誤り数値を求める誤り算出工程の二
つの工程を一つの演算回路を使用して演算を行うように
したため、回路の共用化により回路規模が小さくなる。
【0117】請求項3の発明は、リードソロモン符号を
用いて誤り訂正を行う誤り訂正装置において、剰余から
シンドロームを生成するシンドローム変換工程と、誤り
位置多項式より誤り位置を検出し、誤り位置が検出され
たとき誤り位置多項式と誤り数値多項式とを用いて誤り
数値を導出して誤り数値を求める誤り算出工程の二つの
工程を一つの演算回路を使用して演算を行うようにした
ため、回路の共用化により回路規模が小さくなる。
【0118】請求項4の発明は、一つの上記演算回路が
リードソロモン符号の最大訂正能力数をtとしたとき、
ワード単位に上位方向にシフト可能でありワードごとに
入出力可能な2t+1ワードのシフトレジスタと、前記
シフトレジスタのデータを2t+1ワード入力しさらに
別の2t+1ワードのデータを入力しワード毎に乗算す
る2t+1個のガロア体上の乗算器と、前記乗算器の2
t+1ワードの出力とさらに別の2t+1ワードを入力
しワード毎に加算する2t+1個のガロア体上の加算器
と、前記乗算器の2t+1ワードの出力のうち下位tワ
ードを加算する加算器と、前記乗算器の2t+1ワード
の出力のうち上位t+1ワードを下位から1ワードおき
に加算する加算と、前記乗算器の2t+1ワードの出力
のうち上位t+1ワードを加算する加算器よりなるよう
にしたため、複数の工程にこの演算回路が使用できるの
で回路の共用化により回路規模が小さくなる。
【0119】請求項5の発明は、一つの上記演算回路が
リードソロモン符号の最大訂正能力数をtとしたとき、
ワード単位に上位方向にシフト可能でありワードごとに
入出力可能な2tワードのシフトレジスタと、前記シフ
トレジスタのデータを2tワード入力しさらに別の2t
ワードのデータを入力しワード毎に乗算する2t個のガ
ロア体上の乗算器と、前記乗算器の2tワードの出力と
さらに別の2tワードを入力しワード毎に加算する2t
個のガロア体上の加算器と、前記乗算器の2tワードの
出力のうち下位tワードを加算する加算器と、前記乗算
器の2tワードの出力のうち上位tワードを下位から1
ワードおきに加算する加算と、前記乗算器の2tワード
の出力のうち上位tワードを加算しさらに別の1ワード
を加算する加算器よりなるようにしたため、複数の工程
にこの演算回路が使用できるので回路が共用化でき、さ
らに演算回路自身も小規模になり、全体の回路規模が小
さくなる。
【0120】請求項6の発明は、一つの上記演算回路が
ただ一つのガロア体の割り算器を含むようにしたため、
回路が共用化でき回路規模が小さくなる。
【0121】請求項7の発明は、一つの上記演算回路が
シーケンサを含む制御部と選択器により制御され中間の
演算結果と誤り位置と誤り数値を格納する記憶手段を含
むようにしたので、一つの演算回路で誤り訂正が行える
ため、回路規模が小さくなる。
【0122】請求項8の発明は、前記誤り算出工程が、
可能性のある全ての位置を順次誤り位置多項式と誤り数
値多項式に代入して多項式の評価をすることにより実行
され、前記シフトレジスタをワード単位の複数のレジス
タとして使用し、この複数のレジスタへ前記複数の乗算
器の出力を帰還する回路構成を持ち、当該工程の開始時
に符号の構成により定まる特定の値を前記乗算器の第1
の入力にセットし、前記乗算器のもう一つの入力に誤り
位置多項式と誤り数値多項式の係数をセットし乗算結果
をレジスタに帰還保持し、当該工程の動作中は前記乗算
器の第1の入力にリードソロモン符号の構成により定ま
る特定の値を入力することにより符号語の上位位置から
下位位置の順番で前記多項式の評価を行うことようにし
たため、CRCデータの補正回路が簡単化でき全体の回
路規模が小さくなる。
【0123】請求項9の発明は、リードソロモン符号の
生成多項式にオフセットがある多項式を使用し、前記誤
り算出工程で可能性のある全ての位置を順次誤り位置多
項式と誤り数値多項式に代入して多項式の評価をするこ
とにより実行され、前記シフトレジスタをワード単位の
複数のレジスタとして使用し、この複数のレジスタへ前
記複数の乗算器の出力を帰還する回路構成を持ち、当該
工程の開始時に符号の構成により定まる特定の値を前記
乗算器の第1の入力にセットし、前記乗算器のもう一つ
の入力に誤り位置多項式と誤り数値多項式の係数をセッ
トし乗算結果を前記レジスタに帰還保持し、当該工程の
動作中は前記乗算器の第1の入力にリードソロモン符号
の構成により定まる特定の値を入力することにより誤り
算出工程において前記オフセットの補正を行うようにし
たため、オフセット補正の付加回路が必要でなくなり誤
り算出工程の回路規模が小さくなる。
【図面の簡単な説明】
【図1】 本発明の実施例1の回路構成を示すブロック
図である。
【図2】 本発明の実施例1の第1の演算器の構成図で
ある。
【図3】 本発明の実施例1の第2の演算器の構成図で
ある。
【図4】 本発明の実施例1の第3の演算器の構成図で
ある。
【図5】 本発明の実施例1の第4の演算器の構成図で
ある。
【図6】 本発明の実施例1の第3の記憶手段の構成図
である。
【図7】 本発明の実施例1の第4の記憶手段の構成図
である。
【図8】 本発明の実施例1のシンドローム変換の方法
を示す構成図である。
【図9】 本発明の実施例1のユークリッドの互除法に
よるアルゴリズムの流れ図である。
【図10】本発明の実施例1の多項式の除算説明する図
である。
【図11】本発明の実施例1のユークリッドの互除法に
よるアルゴリズムの制御状態遷移図である。
【図12】本発明の実施例1のチェンサーチの構成図で
ある。
【図13】本発明の実施例1のチェンサーチの制御状態
遷移図である。
【図14】本発明の実施例1のチェンサーチの初期設定
データ図である。
【図15】本発明の実施例1のチェンサーチの乗算値設
定データ図である。
【図16】本発明の実施例1の記憶装置の構成図であ
る。
【図17】本発明の実施例1の光ディスクのフォーマッ
トを示す図である。
【図18】本発明の実施例1の誤り訂正の流れを示す図
である。
【図19】本発明の実施例2のバーレカンプの方法を示
す流れ図である。
【図20】本発明の実施例2の回路構成を示すブロック
図である。
【図21】本発明の実施例1の演算器群の詳細構成図で
ある。
【図22】本発明の実施例3の演算器群の詳細構成図で
ある。
【符号の説明】
1 実施例1の制御部 2 第1の記憶手段 3 定数設定手段 4 第2の記憶手段 5 第3の記憶手段 6 第4の記憶手段 7 実施例1の選択器 8 第1の演算器 9 第2の演算器 10 第3の演算器 11 第4の演算器 12 第5の演算器

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 入力信号に付加された誤り訂正符号であ
    るリードソロモン符号を用いて誤り訂正を行う誤り訂正
    装置において、前記入力信号から剰余を計算する工程、
    剰余からシンドロームを生成するシンドローム変換工程
    と、該シンドローム変換工程の出力から誤り位置多項式
    と誤り数値多項式の2多項式を求める工程と、該2多項
    式を求める工程より求めた誤り位置多項式より誤り位置
    を検出し、誤り位置が検出されたとき前記誤り位置多項
    式と誤り数値多項式とを用いて誤り数値を導出して誤り
    数値を求める誤り算出工程、当該入力信号中の誤り位置
    が検出された誤ったデータに誤り数値により誤り訂正を
    施す訂正工程により誤り訂正を行うときに、前記シンド
    ローム変換工程,前記2多項式を求める工程及び前記誤
    り算出工程の三つの工程を一つの演算回路を使用して演
    算を行うことを特徴とする誤り訂正装置。
  2. 【請求項2】入力信号に付加された誤り訂正符号である
    リードソロモン符号を用いて誤り訂正を行う誤り訂正装
    置において、前記入力信号によりシンドロームをもと
    め、該シンドローム変換工程の出力から誤り位置多項式
    と誤り数値多項式の2多項式を求める工程と、該2多項
    式を求める工程より求めた誤り位置多項式より誤り位置
    を検出し、誤り位置が検出されたとき前記誤り位置多項
    式と誤り数値多項式とを用いて誤り数値を導出して誤り
    数値を求める誤り算出工程、当該入力信号中の誤り位置
    が検出された誤ったデータに誤り数値により誤り訂正を
    施す訂正工程により誤り訂正を行うときに、前記2多項
    式を求める工程及び前記誤り算出工程の二つの工程を一
    つの演算回路を使用して演算を行うことを特徴とする誤
    り訂正装置。
  3. 【請求項3】 入力信号に付加された誤り訂正符号であ
    るリードソロモン符号を用いて誤り訂正を行う誤り訂正
    装置において、前記入力信号から剰余を計算する工程、
    剰余からシンドロームを生成するシンドローム変換工程
    と、該シンドローム変換工程の出力から誤り位置多項式
    と誤り数値多項式の2多項式を求める工程と、該2多項
    式を求める工程より求めた誤り位置多項式より誤り位置
    を検出し、誤り位置が検出されたとき前記誤り位置多項
    式と誤り数値多項式とを用いて誤り数値を導出して誤り
    数値を求める誤り算出工程、当該入力信号中の誤り位置
    が検出された誤ったデータに誤り数値により誤り訂正を
    施す訂正工程により誤り訂正を行うときに、前記シンド
    ローム変換工程,及び前記誤り算出工程の二つの工程を
    一つの演算回路を使用して演算を行うことを特徴とする
    誤り訂正装置。
  4. 【請求項4】 一つの前記演算回路がリードソロモン符
    号の最大訂正能力数をtとしたとき、ワード単位に上位
    方向にシフト可能でありワードごとに入出力可能な2t
    +1ワードのシフトレジスタと、前記シフトレジスタの
    データを2t+1ワード入力しさらに別の2t+1ワー
    ドのデータを入力しワード毎に乗算する2t+1個のガ
    ロア体上の乗算器と、前記乗算器の2t+1ワードの出
    力とさらに別の2t+1ワードを入力しワード毎に加算
    する2t+1個のガロア体上の加算器と、前記乗算器の
    2t+1ワードの出力のうち下位tワードを加算する加
    算器と、前記乗算器の2t+1ワードの出力のうち上位
    t+1ワードを下位から1ワードおきに加算する加算
    と、前記乗算器の2t+1ワードの出力のうち上位t+
    1ワードを加算する加算器よりなることを特徴とする請
    求項1乃至請求項3記載の誤り訂正装置。
  5. 【請求項5】 一つの前記演算回路がリードソロモン符
    号の最大訂正能力数をtとしたとき、ワード単位に上位
    方向にシフト可能でありワードごとに入出力可能な2t
    ワードのシフトレジスタと、前記シフトレジスタのデー
    タを2tワード入力しさらに別の2tワードのデータを
    入力しワード毎に乗算する2t個のガロア体上の乗算器
    と、前記乗算器の2tワードの出力とさらに別の2tワ
    ードを入力しワード毎に加算する2t個のガロア体上の
    加算器と、前記乗算器の2tワードの出力のうち下位t
    ワードを加算する加算器と、前記乗算器の2tワードの
    出力のうち上位tワードを下位から1ワードおきに加算
    する加算と、前記乗算器の2tワードの出力のうち上位
    tワードを加算しさらに別の1ワードを加算する加算器
    よりなることを特徴とする請求項1乃至請求項3記載の
    誤り訂正装置。
  6. 【請求項6】 一つの前記演算回路がただ一つのガロア
    体の割り算器を含むことを特徴とする請求項1乃至請求
    項3記載の誤り訂正装置。
  7. 【請求項7】 一つの前記演算回路がシーケンサを含む
    制御部と選択器により制御され中間の演算結果と誤り位
    置と誤り数値を格納する記憶手段を含むことを特徴とす
    る請求項1乃至請求項3記載の誤り訂正装置。
  8. 【請求項8】 請求項4または請求項5において、前記
    誤り算出工程が、可能性のある全ての位置を順次誤り位
    置多項式と誤り数値多項式に代入して多項式の評価をす
    ることにより実行され、前記シフトレジスタをワード単
    位の複数のレジスタとして使用し、この複数のレジスタ
    へ前記複数の乗算器の出力を帰還する回路構成を持ち、
    当該工程の開始時に符号の構成により定まる特定の値を
    前記乗算器の第1の入力にセットし、前記乗算器のもう
    一つの入力に誤り位置多項式と誤り数値多項式の係数を
    セットし乗算結果をレジスタに帰還保持し、当該工程の
    動作中は前記乗算器の第1の入力にリードソロモン符号
    の構成により定まる特定の値を入力することにより符号
    語の上位位置から下位位置の順番で前記多項式の評価を
    行うことを特徴とする誤り訂正装置。
  9. 【請求項9】 請求項4または請求項5において、リー
    ドソロモン符号の生成多項式にオフセットがある多項式
    を使用し、前記誤り算出工程で、可能性のある全ての位
    置を順次誤り位置多項式と誤り数値多項式に代入して多
    項式の評価をすることにより実行され、前記シフトレジ
    スタをワード単位の複数のレジスタとして使用し、この
    複数のレジスタへ前記複数の乗算器の出力を帰還する回
    路構成を持ち、当該工程の開始時に符号の構成により定
    まる特定の値を前記乗算器の第1の入力にセットし、前
    記乗算器のもう一つの入力に誤り位置多項式と誤り数値
    多項式の係数をセットし乗算結果を前記レジスタに帰還
    保持し、当該工程の動作中は前記乗算器の第1の入力に
    リードソロモン符号の構成により定まる特定の値を入力
    することにより誤り算出工程において前記オフセットの
    補正を行うことを特徴とする誤り訂正装置。
JP30534096A 1996-11-15 1996-11-15 誤り訂正装置 Pending JPH10150367A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30534096A JPH10150367A (ja) 1996-11-15 1996-11-15 誤り訂正装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30534096A JPH10150367A (ja) 1996-11-15 1996-11-15 誤り訂正装置

Publications (1)

Publication Number Publication Date
JPH10150367A true JPH10150367A (ja) 1998-06-02

Family

ID=17943940

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30534096A Pending JPH10150367A (ja) 1996-11-15 1996-11-15 誤り訂正装置

Country Status (1)

Country Link
JP (1) JPH10150367A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100336234B1 (ko) * 1999-02-19 2002-05-09 마츠시타 덴끼 산교 가부시키가이샤 데이터 오류 정정 장치
US7181483B2 (en) 2000-01-31 2007-02-20 Sanyo Electric Co., Ltd. Error-correcting device and decoder enabling fast error correction with reduced circuit scale

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100336234B1 (ko) * 1999-02-19 2002-05-09 마츠시타 덴끼 산교 가부시키가이샤 데이터 오류 정정 장치
US7181483B2 (en) 2000-01-31 2007-02-20 Sanyo Electric Co., Ltd. Error-correcting device and decoder enabling fast error correction with reduced circuit scale

Similar Documents

Publication Publication Date Title
US6141786A (en) Method and apparatus for performing arithmetic operations on Galois fields and their extensions
US5592404A (en) Versatile error correction system
JPS638651B2 (ja)
US5107506A (en) Error trapping decoding method and apparatus
US5555516A (en) Multipurpose error correction calculation circuit
JP2001127645A (ja) 誤り訂正方法および誤り訂正装置
JP2001196938A (ja) デジタルデータをデコーディングする装置及び方法
JP2004206798A (ja) 光ディスク装置のエンコードデータ符号回路
JPH0865175A (ja) リードソロモン復号器の誤り位置検出回路
JPH10150367A (ja) 誤り訂正装置
JP2001292066A (ja) 誤り訂正装置および誤り訂正方法
JPH04365139A (ja) 誤り訂正処理用シンドローム演算回路
JP2553565B2 (ja) ガロア体演算装置
JP3281938B2 (ja) 誤り訂正装置
JP2001044853A (ja) チェンサーチ回路、誤り訂正装置及びディスクドライブ装置
JP3850512B2 (ja) リードソロモン復号装置
JP3252515B2 (ja) 誤り訂正装置
JPS638648B2 (ja)
JP2002118471A (ja) 記録再生装置及び誤り訂正符号化方法並びに情報記録方法
JP2008112522A (ja) 誤り検出装置および誤り検出方法
KR920010184B1 (ko) 유한체(有限體)의 연산회로
JPH0834439B2 (ja) ガロア体演算装置
JP3230888B2 (ja) ユークリッド互除回路
JPH1065552A (ja) 誤り訂正の演算処理方法及び処理回路
JP2006033233A (ja) リード・ソロモン復号方法及び装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040203