JPH11282703A - 誤り訂正装置及び誤り訂正方法 - Google Patents

誤り訂正装置及び誤り訂正方法

Info

Publication number
JPH11282703A
JPH11282703A JP10080950A JP8095098A JPH11282703A JP H11282703 A JPH11282703 A JP H11282703A JP 10080950 A JP10080950 A JP 10080950A JP 8095098 A JP8095098 A JP 8095098A JP H11282703 A JPH11282703 A JP H11282703A
Authority
JP
Japan
Prior art keywords
data
syndrome
array direction
intermediate value
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.)
Pending
Application number
JP10080950A
Other languages
English (en)
Inventor
Ayaka Iwasa
綾香 岩佐
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP10080950A priority Critical patent/JPH11282703A/ja
Publication of JPH11282703A publication Critical patent/JPH11282703A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

(57)【要約】 【課題】 バッファメモリに対するアクセスの回数を減
らすことができ、また、データの読み出し処理が減るた
めに、エラー訂正の処理時間を短縮することができる。 【解決手段】 データブロックを格納するバッファメモ
リ1と、バッファメモリ1のデータブロックから、上記
データブロックの第1配列方向のデータ列を順に読み出
し、このデータ列の全データを用いてこのデータ列のシ
ンドロームを順に生成すると同時に、このデータ列の各
データを用いて、上記データブロックの第2配列方向の
全データ列のシンドローム生成を開始し、上記第1配列
方向から最後のデータ列を読み出したときに、上記第2
配列方向の全データ列のシンドローム生成を終了する処
理装置2とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、データの誤り訂
正装置及び誤り訂正方法に係り、詳しくは、マトリック
ス状に配列されたデータの誤り訂正装置及び誤り訂正方
法に関する。
【0002】
【従来の技術】従来からマトリックス状に配列されたデ
ータでは、これらのデータに発生した誤りを防ぐため
に、マトリックス状のデータ配列の中で、横方向すなわ
ち読み出し方向のデータ列(以下、PI系列と記す)
と、読み出し方向と交差する方向のデータ列(以下、P
O系列と記す)とに誤り訂正符号が付加されている。そ
して、誤り訂正符号が付加されたPI系列及びPO系列
のデータを1つのブロックとし、各ブロックが一度バッ
ファメモリに転送されて、誤り訂正のための処理がこの
ブロックに対して行われる。このような誤り訂正の技術
が特開平3−31938号公報に記載されている。
【0003】ところで、上記誤り訂正のためには、処理
対象のデータの、上記バッファメモリへの転送、転送さ
れたデータに対する誤り訂正の処理、転送されたデータ
に対するCRC(Cyclic Redundancy Check)処理や
デイスクランブル処理、及び処理済みのデータの、上記
バッファメモリからホストコンピュータ等への転送の、
4つの処理がある。通常、上記誤り訂正を高速で行うた
めに、図10に示すパイプライン処理が行われる。すな
わち、第1のブロックの転送が終了すると、第2のブロ
ックを転送する。第2のブロックの転送と平行して、第
1のブロックに対する誤り訂正処理が行われる。
【0004】第2のブロックの転送が終了すると、第3
のブロックを転送する。第3のブロックの転送と平行し
て、第2のブロックに対する誤り訂正処理及び第1のブ
ロックに対するCRC処理やデイスクランブル処理が行
われる。第3のブロックの転送が終了すると、第4のブ
ロックを転送する。第3のブロックの転送と平行して、
第3のブロックに対する誤り訂正処理、第2のブロック
に対するCRCやデイスクランブル処理及び処理が終了
した第1のブロックの転送が行われる。こうして、デコ
ード処理をするために必要な、4つの処理が平行して行
われる。この結果、高速なデコード処理が実現される。
【0005】
【発明が解決しようとする課題】しかしながら、上記従
来の技術には、次のような課題がある。すなわち、上記
4つの処理の中の、2番目の処理では、特に、上記バッ
ファメモリに対するアクセスが頻繁に行われる。この様
子を図11に示す。上記バッファメモリに転送されたデ
ータに対して、誤り訂正処理をする場合、PI系列のデ
ータを読み出すときに、上記バッファメモリに対するア
クセス501が行われる。この後、PI系列の誤り訂正
処理をして、誤りが有ると、上記バッファメモリに対し
て誤り訂正をするためのアクセス502が行われる。
【0006】この後、PO系列のデータを上記バッファ
メモリから読み出すために、アクセス504が行われ
る。そして、PO系列の誤り訂正処理をして、誤りが有
ると、上記バッファメモリに対して誤り訂正をするため
に、アクセス505が行われる。こうして、上記バッフ
ァメモリに対するアクセスが、誤り訂正処理の各段階で
発生する。この結果、上記バッファメモリに対するアク
セスの回数が増加し、処理の高速化が妨げられるという
課題が発生する。
【0007】この発明は、上述の事情に鑑みてなされた
もので、バッファメモリに対するアクセスの回数を減ら
すことができ、また、データの読み出し処理が減るため
に、エラー訂正の処理時間を短縮できる誤り訂正装置及
び誤り訂正方法を提供することを目的としている。
【0008】
【課題を解決するための手段】上記課題を解決するため
に、請求項1記載の発明は、第1配列方向と第2配列方
向とが交差するように、データがマトリックス状に配列
されたデータブロックのデータの誤り訂正を、前記第1
配列方向及び前記第2配列方向のデータ列のシンドロー
ムを基にして行う誤り訂正装置において、前記データブ
ロックを格納するバッファメモリと、前記バッファメモ
リのデータブロックから、前記第1配列方向のデータ列
を順に読み出し、該データ列の全データを用いて該デー
タ列のシンドロームを生成すると同時に、該データ列の
各データを用いて、前記第2配列方向の全データ列のシ
ンドローム生成を開始し、前記第1配列方向から最後の
データ列を読み出したときに、前記第2配列方向の全デ
ータ列のシンドローム生成を終了する処理手段とを備え
てなることを特徴としている。
【0009】請求項2記載の発明は、請求項1記載の誤
り訂正装置であって、前記処理手段は、前記バッファメ
モリのデータブロックから読み出したデータ列の各デー
タを用いて、前記第2配列方向の全データ列のシンドロ
ーム生成を開始した後、シンドローム生成の途中で発生
した全データ列の各中間値を保持し、前記バッファメモ
リから次のデータ列を読み出すと、保持している前記各
中間値と該データ列の各データとを用いて、前記第2配
列方向の全データ列の中間値を生成すると共に保持して
いる中間値を更新し、前記第1配列方向の最後のデータ
列を読み出したときに、前記第2配列方向の全データ列
のシンドローム生成を終了することを特徴としている。
【0010】請求項3記載の発明は、請求項1記載の誤
り訂正装置であって、前記処理手段は、前記バッファメ
モリのデータブロックから、前記第1配列方向のデータ
列を読み出す第1処理と、前記第1処理で読み出したデ
ータ列の全データを第1生成処理で演算して、該データ
列のシンドロームを生成すると同時に、該データ列の各
データを第2生成処理でそれぞれ演算して、前記第2配
列方向の全データ列のシンドロームの中間値を生成して
保持する第2処理と、前記第2処理で得たシンドローム
に基づいて検出した誤りで、前記バッファメモリの該当
データの誤り訂正をすると同時に、保持している前記中
間値を該誤りで修正する第3処理と、前記1処理乃至前
記第3処理を繰り返して行い、前記中間値を生成する際
に、データ列の各データと保持している前記各中間値と
を前記第2生成処理でそれぞれ演算して、次の中間値を
それぞれ生成すると共に保持している前記中間値を更新
し、前記第1配列方向から最後のデータ列を読み出して
前記1処理乃至前記第3処理を終了してたときに、前記
第2配列方向の全データ列のシンドロームの生成を終了
することを特徴としている。
【0011】請求項4記載の発明は、第1配列方向と第
2配列方向とが交差するように、データがマトリックス
状に配列されると共に、バッファメモリに格納されてい
るデータブロックのデータの誤り訂正を、前記第1配列
方向及び前記第2配列方向のデータ列のシンドロームを
基にして行う誤り訂正方法において、前記バッファメモ
リのデータブロックから、前記第1配列方向のデータ列
を順に読み出す第1処理と、前記第1処理で読み出した
データ列の全データを用いて該データ列のシンドローム
を順に生成すると同時に、該データ列の各データを用い
て、前記第2配列方向の全データ列のシンドローム生成
を開始し、前記第1配列方向から最後のデータ列を読み
出したときに、前記第2配列方向の全データ列のシンド
ローム生成を終了する第2処理とを含むことを特徴とし
ている。
【0012】請求項5記載の発明は、請求項4記載の誤
り訂正方法であって、前記第2処理は、前記バッファメ
モリのデータブロックから読み出したデータ列の各デー
タを用いて、前記第2配列方向の全データ列のシンドロ
ーム生成を開始した後、シンドローム生成の途中で発生
した全データ列の各中間値を保持し、前記バッファメモ
リから次のデータ列を読み出すと、保持している前記各
中間値と該次のデータ列の各データとを用いて、前記第
2配列方向の全データ列の中間値を生成すると共に保持
している中間値を更新し、前記第1配列方向の最後のデ
ータ列を読み出したときに、前記第2配列方向の全デー
タ列のシンドローム生成を終了することを特徴としてい
る。
【0013】請求項6記載の発明は、請求項5記載の誤
り訂正方法であって、前記第2処理は、前記バッファメ
モリのデータブロックから、前記第1配列方向のデータ
列を読み出す第1処理ステップと、前記第1処理ステッ
プ読み出したデータ列の全データを第1生成処理で演算
して、該データ列のシンドロームを生成すると同時に、
該データ列の各データを第2生成処理でそれぞれ演算し
て、前記第2配列方向の全データ列のシンドロームの中
間値を生成して保持する第2処理ステップと、前記第2
処理ステップの演算で得たシンドロームに基づいて検出
した誤りで、前記バッファメモリの該当データの誤り訂
正をすると同時に、保持している前記中間値を該誤りで
修正する第3処理ステップと、前記1処理ステップ乃至
前記第3処理ステップを繰り返して行い、前記中間値を
生成する際に、データ列の各データと保持している前記
各中間値とを前記第2生成処理でそれぞれ演算して、次
の中間値をそれぞれ生成すると共に保持している前記中
間値を更新し、前記第1配列方向から最後のデータ列を
読み出して前記1処理ステップ乃至前記第3処理ステッ
プを終了してたときに、前記第2配列方向の全データ列
のシンドロームの生成を終了することを特徴としてい
る。
【0014】
【発明の実施の形態】以下、図面を参照して、この発明
の実施の形態について説明する。図1は、この発明の一
実施の形態である誤り訂正装置の構成を概略示すブロッ
ク図、図2は、同誤り訂正装置が記憶するデータのブロ
ックを説明する説明図、図3は、同誤り訂正装置の処理
装置の構成を概略示すブロック図、図4は、同誤り訂正
装置のシンドローム生成回路を概略示すブロック図、図
5は、同誤り訂正装置のシンドローム生成回路を概略示
すブロック図、図6は、同誤り訂正装置のメモリを説明
する説明図、図7は、同誤り訂正装置の制御部の処理を
示すフローチャート、図8は、同誤り訂正装置の制御部
の処理を示すフローチャート、図9は、同誤り訂正装置
の処理の様子を説明する説明図である。
【0015】以下、DVD(Digital Versatile Dis
c)のエラー訂正を例にして説明する。このエラー訂正
に用いられる誤り訂正装置は、図1に示すように、バッ
ファメモリ1及び処理装置2を備えている。この誤り訂
正装置は、光ディスクAからデータを読み出すためのデ
ータ読出し装置3と共に、光ディスク装置として使用さ
れる。バッファメモリ1は、データ読出し装置3が出力
するデータをブロック単位で格納する。各ブロックのデ
ータは、データ読出し装置3が光ディスクAから読み出
したものである。図2に示すように、1つのブロック1
00は、データ部101及びECC部102,103で
構成される。データ部101は、(m+1)×(n+
1)バイトのデータがマトリックス状に配置されたもの
である。そして、第1配列方向である横方向のデータ列
がPI系列であり、第2配列方向である縦方向のデータ
列がPO系列である。
【0016】ECC部102は、各PO系列の誤り訂正
符号(ECC:Error CorrectingCode)の集まりであ
る。誤り訂正符号は、各PO系列に発生する誤りを訂正
するためのものであり、q+1バイトのデータである。
ここで用いられる誤り訂正符号は、リードソロモン符号
(RS符号)である。ECC部103は、各PI系列の
誤り訂正符号の集まりである。誤り訂正符号は、各PI
系列に発生する誤りを訂正するためのものであり、p+
1バイトのデータである。なお、PI系列の1つのデー
タ列に符号系列を付加したもの、及びPO系列の1つの
データ列に符号系列を付加したものをインタリーブと記
す。
【0017】処理装置2は、読み出しの指示が出される
と、バッファメモリ1から1インタリーブ分のデータを
読み込む。データの読み込みは、PI系列のデータが並
んでいる方向、すなわち、矢印301の方向で行われ
る。(m+1)×(n+1)バイトのデータで構成され
るデータ部101をエラーから保護するために付加され
た符号がECC部102,103である。PO系列の各
誤り訂正符号で構成されるECC部102と、PI系列
の各誤り訂正符号で構成されるECC部103を付加す
ることによって、誤り訂正が可能になり、最終的に誤り
を含まないデータ部101がバッファメモリ1に格納さ
れることになる。
【0018】処理装置2は、図3に示すように、シンド
ローム生成部21、制御部22、メモリ23及びエラー
訂正部24を備えている。シンドローム生成部21は、
図3に示すように、シンドローム生成回路21A,21
Bを備えている。PI系列の1インタリーブ分のデータ
i0、…、Di(n+ p)が、制御部22からシンドローム生
成部21に入力されると、シンドローム生成回路21A
は、データDi0、…、Di(n+p)に基づいて、PI系列の
シンドロームS10、…、S1pを生成する。なお、値i
は、0〜m+qの範囲である。
【0019】シンドロームS10、…、S1pの生成のた
めに、シンドローム生成回路21Aは、図4に示すよう
に、ガロア体加算をする加算器21A11〜21
(p+1)1、入出力器21A12〜21A(p+1)2及びガロア
体乗算をする乗算器21A23〜21A(p+1)3を備えてい
る。また、入出力器21A12〜21A(p+1)2の初期値は
「0」である。PI系列のi行目のインタリーブ分のデ
ータDi0、…、Di(n+p)が制御部22から入力される
と、加算器21A11と入出力器21A12とで構成される
演算回路21A1は、PI系列のシンドロームS10
生成する。シンドローム生成回路21Aには、データが
i0、…、Di(n+p)の順に入力される。
【0020】先頭のデータDi0がシンドローム生成回路
21Aに入力されると、演算回路21A1の加算器21
11は、入出力器21A12からの演算結果とデータDi0
とを加算する。このときには、先頭のデータの演算つま
り最初の演算であり、入出力器21A12からの中間値が
出力されない状態、すなわち、入出力器21A12が初期
状態つまり値「0」の状態であるので、加算器21A11
は、データDi0を中間値として入出力器21A12に出力
する。上記中間値は、演算回路21A1が行う生成処理
によって、シンドロームS10を演算する場合、シンド
ロームS10を得るまでの過程で発生する値である。こ
のときのシンドロームS10の上記中間値は、 Di0 である。入出力器21A12は、入力された中間値Di0
一時的に保持すると共に、中間値Di0を加算器21A11
に出力する。
【0021】データDi0に続く、次のデータDi1が入力
されると、演算回路21A1の加算器21A11は、入出
力器21A12からの中間値Di0とデータDi1とを加算す
る。このときの中間値は、 Di0+Di1 である。入出力器21A12は、中間値Di0+Di1を一時
的に保持すると共に、中間値Di0+Di1を加算器21A
11に出力する。
【0022】演算回路21A1は、このような演算を繰
り返して行う。そして、最後のデータDi(n+p)が入力さ
れると、演算回路21A1の入出力器21A12は、シン
ドロームS10として、 Di0+Di1+…+Di(n+p) を保持することになる。加算器21A21、入出力器21
22及び乗算器21A23で構成される演算回路21A2
は、PI系列のシンドロームS11を生成する。シンド
ロームS11の生成は、シンドロームS10の生成と平行
して行われる。すなわち、先頭のデータDi0がシンドロ
ーム生成回路21Aに入力されると、加算器21A
21は、乗算器21A23からの乗算値とデータDi0とを加
算する。このときには、最初の演算であり、乗算器21
23からの乗算値が出力されない状態であるので、加算
器21A21は、データDi0を中間値として入出力器21
22に出力する。入出力器21A22は、入力された中間
値Di0を一時的に保持すると共に、中間値Di0を加算器
21A23に出力する。加算器21A23は、中間値Di0
値αを乗算して、Di0・αとなる値を算出する。値α
は、誤り訂正符号の生成多項式の根である。加算器21
23は、算出した中間値Di0・αを加算器21A21に出
力する。
【0023】2番目のデータDi1が入力されると、演算
回路21A2の加算器21A21は、乗算器21A23から
の乗算値Di0・αとデータDj1とを加算する。このとき
の加算結果が次の中間値であり、その値は、 Di0・α+Di1 である。入出力器21A22は、中間値Di0・α+Di1
を一時的に保持すると共に、中間値Di0・α+Di1を乗
算器21A23に出力する。
【0024】演算回路21A2は、このような演算を繰
り返して行い、最後のデータDi(n+p )が入力されると、
演算回路21A2の入出力器21A22は、シンドローム
S11として、 S10=Di0・α(n+p)+Di1・α(n+p)−1+…+D
i(n+p-1)・α+Di(n+p) を保持することになる。以下、同じようにして、シンド
ローム生成回路21Aは、シンドロームS11、S12
…、S1pまでを生成する。このとき、各乗算器21A
23、21A33、…、21A(p+1)3が入出力器21A22
21A32、…、21A(p+1)2からの中間値に乗算する値
は、次の通りである。 α1、α2、…、αp
【0025】そして、シンドローム生成回路21Aは、
生成したシンドロームS10、…、S1pを入出力器S1
0、…、S1pにそれぞれ一時的に保持する。入出力器S
0〜S1pに保持されるシンドロームS10、…、S1p
は、次の式で示される。 S10=Di0+Di1+…+Di(n+p) S11=Di0・α(n+p)+Di1・α(n+p)-1+…+D
i(n+p-1)・α+Di(n+p) S12=Di0・α2・(n+p)+Di1・α2・(n+p-1)+…+D
i(n+p-1)・α2+Di(n+p)… S1p=Di0・αp・(n+p)+Di1・αp・(n+p-1)+…+D
i(n+p-1)・αp+Di(n+p)
【0026】一方、シンドローム生成回路21Bは、P
I系列の1インタリーブ分のデータDi0、…、Di(n+p)
が制御部22から入力されると、データDi0、…、D
i(n+p)に基づいて、PO系列の1〜n列目のシンドロー
ムS200〜S20q、…、S2n0〜S2nqの中間値をそれ
ぞれ生成し、この中間値を更新することによって、PO
系列の1〜n行目のシンドロームS200〜S20q、…、
S2n0〜S2nqを最終的に生成する。このために、シン
ドローム生成回路21Bは、図5に示すように、加算器
21B11〜21B(q+1)1、入出力器21B12〜21B
(q+1)2及び乗算器21B23〜21B(q+1)3を備えてい
る。各乗算器21B23、21B33、…、21B
(q+1)3が、入出力器21B22、21B32、…、21B
(q+1)2からの中間値に乗算する値は、次の通りである。 α1、α2、…、αq
【0027】1行目の先頭のデータD00が制御部22に
順に入力されると、加算器21B11と入出力器21B12
とで構成される演算回路21B1は、先頭のデータD00
を用いて、中間値ST200、…、ST20qを生成す
る。この中間値ST200、…、ST20qは、PO系列の
1列目のデータ列に対応するものである。すなわち、P
I系列の1行目の先頭のデータD00が制御部22から入
力されると、演算回路21B1は、先頭のデータD00
用いて、中間値ST200を生成する。演算回路21B1
の加算器21B11は、入出力器21B12からの中間値と
データD00とを加算する。このときには、最初の演算で
あり、入出力器21B12が初期状態つまり値「0」の状
態であるので、加算器21B11は、データD00を中間値
ST200として入出力器21A12に出力する。入出力器
21B12は、入力された中間値ST200を一時的に保持
する。
【0028】加算器21B21、入出力器21B22及び乗
算器21B23で構成される演算回路21B2は、中間値
ST201を生成する。すなわち、PI系列の1行目の先
頭のデータD00が制御部22から入力されると、加算器
21B21は、乗算器21B23からの乗算値とデータD00
とを加算する。このときには、最初の演算であり、乗算
器21B23からの乗算値が出力されない状態であるの
で、加算器21A21は、データD00を中間値として入出
力器21B22に出力する。入出力器21B22は、入力さ
れた中間値D00を一時的に保持する。
【0029】以下、同じようにして、加算器21B
(q+1)1、入出力器21B(q+1)2及び乗算器21B(q+1)3
で構成される演算回路21B(q+1)までが、シンドロー
ムを生成する。これにより、入出力器21B12、…、2
1B(q+1)2に保持される中間値ST200、…、ST20q
の値は、 D00、…、D00 である。中間値ST200、…、ST20qは、制御部22
による後述する制御によって読み出される。
【0030】PI系列の1行目の次のデータD01が制御
部22から入力されると、演算回路21B1、…、21
q+1は、中間値ST210、…、ST21qを生成する。
中間値ST210、…、ST21qは、PO系列の2列目の
シンドロームS210、…、S21qに対応するものであ
る。このときにも、演算回路21B1、…、21B
q+1は、PO系列の1列目の中間値ST200、…、ST
0qを生成したときと同じようにして、中間値ST
10、…、ST21qを生成し、入出力器21B12、…、
21B(q+1)2が中間値ST210、…、ST21qを保持す
る。入出力器21B12、…、21B(q+1)2に保持される
中間値ST210、…、ST21qの値は、 D01、D01、…、D01 である。中間値ST210、…、ST21qは、制御部22
による後述する制御によって読み出される。
【0031】以下、同じようにして、データD03、…、
0(n+p)が順に制御部22から加えられると、演算回路
21B1、…、21Bq+1は、3〜n+1列目の中間値S
T220〜ST22q、…、ST2n0〜ST2nqを順に生成
する。PI系列の2行目のデータD10〜D1(n+p)が制御
部22から入力されると、シンドローム生成部21の演
算回路21B1、…、21Bq+1は、PO系列の1〜n+
1列目の中間値ST200〜ST20q、…、ST2n0〜S
T2nqを順に生成する。このとき、演算回路21B1
…、21Bq+1は、前回演算した中間値を用いて、新た
な中間値ST200〜ST20q、…、ST2n0〜ST2nq
を順に生成する。
【0032】すなわち、PI系列の2行目の先頭のデー
タD10を用いる演算の前に、制御部22によって、前回
演算した、PO系列の1列目の中間値2ST00、…、2
ST0qが演算回路21B1、…、21Bq+1の入出力器2
1B12、…、21B(q+1)2に入力される。入出力器21
12、…、21B(q+1)2は、入力された、前回の中間値
2ST00、…、2ST0qをそれぞれ保持する。この後、
PI系列の2行目の先頭のデータD10がシンドローム生
成回路21Bに入力されると、シンドローム生成回路2
1Bは、先頭のデータD10によって、新たな中間値ST
00、…、ST20qを生成する。この生成は、シンドロ
ーム生成回路21Aの演算回路21A1、…、21Ap+1
と同じである。
【0033】すなわち、演算回路21B1の入出力器2
1B12は、前回の中間値2ST00として、 D00 を保持しているので、この前回の中間値2ST00を加算
器21B11に出力する。加算器21B11は、入力された
中間値2ST00にデータD10を加える。これより、新た
な中間値2ST00の値は、 D00+D10 である。
【0034】演算回路21B2の入出力器21B22は、
前回の中間値2ST01の値として、 D00 を保持しているので、この前回の中間値2ST01を乗算
器21B23に出力する。乗算器21B23は、中間値2S
01に値αを乗算して、 D00・α となる値を算出し、この乗算値を加算器21B21に出力
する。加算器21B21は、乗算器21B23からの乗算値
にデータD10を加算する。このときの加算結果が新たな
中間値2ST01であり、その値は、 D00・α+D10である。加算器21B21は、新たな中間
値2ST01を入出力器21B22に出力し 、入出力器21B22は、この中間値2ST01を保持す
る。
【0035】以下、同じようにして、演算回路21
3、…、21Bq+1は、新たな中間値ST202、…、S
T20qとして、 D00・α2+D10 … D00・αq+D10 を生成する。こうして、最後の(m+1)+(q+1)
行目のデータD(m+q)0、…、D(m+q )nが読み出される
と、シンドローム生成回路21Bの演算回路21B1
…、21Bq+1は、シンドロームの更新を繰り返す。最
終的に、入出力器21B21、…、21B(q+1)2は、PO
系列の1列目のシンドロームS200、…、S20qとして 、 S200=D00+D10+…+D(m+q)0 S201=D00・α(m+q)+D10・α(m+q)-1+…+D
(m+q-1)0・α+D(m+q)0 … S20q=D00・αq(m+q)+D10・αq(m+q)-1+…+D
(m+q-1)0・αq+D(m+q)0 を演算して、制御部22に出力し、PI系列の2列目の
シンドロームS210、…、S21qとして、 S210=D01+D11+…+D(m+q)1 S211=D01・α(m+q)+D11・α(m+q)-1+…+D
(m+q-1)1・α+D(m+q)1 … S21q=D01・αq(m+q)+D11・αq(m+q)-1+…+D
(m+q-1)1・αq+D(m+q)1 を演算して、制御部22に出力する。そして、最後に、
PI系列のn+1列目のシンドロームS2n0、…、S2
nqとして、 S2n0=D0n+D1n+…+D(m+q)n S2n1=D0n・α(m+q)+D1n・α(m+q)-1+…+D
(m+q-1)n・α+D(m+q)n … S2nq=D0n・αq(m+q)+D1n・αq(m+q)-1+…+D
(m+q-1)n・αq+D(m+q)n を演算して、制御部22に出力する。
【0036】メモリ23は、図3に示すように、シンド
ローム格納回路23A,23Bを備えている。シンドロ
ーム格納回路23Aは、図6(a)に示すように、格納
領域23A1〜23Ap+1を備えている。シンドローム格
納回路23Aは、シンドローム生成回路21Aが生成し
たシンドロームS10〜S1pが、制御部22から入力さ
れると、シンドロームS10〜S1pを格納領域23A1
〜23Ap+1にそれぞれ格納する。
【0037】シンドローム格納回路23Bは、図6
(b)に示すように、(1+q)×(n+1)個の格納
領域、すなわち、格納領域23B11〜23B1(1+q)
…、23B(n+1)1〜23B(n+1)(1+q)を備えている。シ
ンドローム格納回路23Bは、シンドローム生成回路2
1Bが生成した中間値ST200〜ST20q、…、ST2
n0〜ST2nqが入力されると、これらを格納領域23B
11〜23B1(1+q)、…、23B(n+1)1〜23B
(n+1)(1+q)にそれぞれ格納する。エラー訂正部24は、
制御部22から入力されるシンドロームによって、誤り
を検出する。すなわち、エラー訂正部24は、PIの系
列シンドロームS10〜S1pが制御部22から入力され
ると、PI系列の誤りの有無を調べる。誤りE1ijを検
出すると、エラー訂正部24は、この誤りE1ijを制御
部22に出力する。また、エラー訂正部24は、POの
系列のシンドロームS200〜S20q、…、S2n0〜S2
nqが入力されると、PO系列の誤りの有無を調べる。誤
りE2ijを検出すると、エラー訂正部24は、この誤り
E2ijを制御部22に出力する。
【0038】制御部22は、バッファメモリ1に格納さ
れている各ブロックのデータの誤りの有無を検出し、誤
りを検出すると、バッファメモリ1に格納されているデ
ータの誤りを訂正する。このために、制御部22は、図
7に示すように、バッファメモリ1からPI系列の1イ
ンタリーブ分のデータD00、…、D0(n+p)を順に読み出
す(ステップSA1)。ステップSA1によって、先頭
のデータD00が読み出されると、制御部22は、このデ
ータD00をシンドローム生成回路21Aに出力し、PI
系列のシンドロームS10、…、S1pの生成を開始する
(ステップSA2)。
【0039】また、制御部22は、読み出したデータD
00をシンドローム生成回路21Bに出力する。この後、
シンドローム生成回路21BがデータD00に基づいて生
成した、PO系列の1列目の中間値ST200〜ST20q
が入力されると、制御部22は、1列目の中間値ST2
00〜ST20qをシンドローム格納回路23Bの格納領域
23B11〜23B1(1+q)に格納する(ステップSA
3)。ステップSA3が終了すると、制御部22は、1
インタリーブ分のデータを読み出したか否かを判断する
(ステップSA4)。読み出しが完了していなければ、
制御部22は、ステップSA1〜SA3を繰り返し、最
後のデータD0(n+p)までを順に読み出す。これにより、
シンドローム生成回路21AがPI系列の1行目のシン
ドロームS10〜S1pを生成すると、このシンドローム
S10〜S1pをシンドローム格納回路23Aに格納す
る。また、制御部22は、PI系列の1行目のインタリ
ーブ分のデータに基づいてシンドローム生成回路21B
が生成した、PO系列の中間値ST200〜ST20q
…、ST2n0〜ST2nqを、シンドローム格納回路23
Bの格納領域23B11〜23B1(1+q)、…、23B
(n+1)1〜23B(n+1)(1+q)に格納する。
【0040】ステップSA4で、1インタリーブ分のデ
ータの読み出しが終了すると、制御部22は、シンドロ
ーム格納回路23Aに格納されているシンドロームS1
0、…、S1pをエラー訂正部24に出力して、誤り検出
の演算をし(ステップSA5)、演算結果から誤りの有
無を調べる(ステップSA6)。ステップSA6の後、
エラー訂正部24から誤りE1ijが入力されると、制御
部22は、バッファメモリ1に対して、誤りを検出した
データの誤りを訂正する。このとき、制御部22は、バ
ッファメモリ1のデータDijに対して、次式のように誤
りEijを加算して、誤りを訂正する。 Dij+E1ij なお、この式の中で、「+」は、ガロア体加算を示す。
同時に、制御部22は、データDijに基づいて算出し
た、シンドローム格納回路23Bの中間値ST2j0
…、ST2jqに対して、次のようにして誤りEijを加算
し、誤り訂正をする。 ST2j0+E1ij … ST2jq+E1ij
【0041】こうして、制御部22は、誤りEijによっ
て、データDijの誤りを訂正すると共に、PO系列の中
間値ST2j0、…、ST2jqを補正する(ステップSA
7)。ステップSA7が終了すると、制御部22は、1
ブロックの最終のデータであるデータD(m+q)nまでの読
み出しが完了したか否かを判断する(ステップSA
8)。すべてのデータの読み出しが完了していなけれ
ば、制御部22は、ステップSA1〜SA7までの処理
を繰り返す。制御部22がステップSA7ですべてのデ
ータの読み出しが完了していると判断すると、このとき
には、PO系列の1〜n+1列目のシンドロームS200
〜S20q、…、S2n0〜S2nqが、シンドローム格納回
路23Bの格納領域23B11〜23B1(1+q)、…、23
(n+1)1〜23B(n+1)(1+q)に、最終的に格納されるこ
とになる。制御部22は、シンドローム格納回路23B
に格納されているシンドロームS200〜S20q、…、S
n0〜S2nqに基づいて、誤り検出の演算をし(ステッ
プSA9)、PO系列のデータに誤りが有るか否かを演
算結果から判断する(ステップSA10)。
【0042】ステップSA10の後、エラー訂正部24
から誤りE2ijが入力されると、制御部22は、バッフ
ァメモリ1に対して、誤りを検出したデータの誤りを訂
正する(ステップSA11)。このとき、制御部22
は、バッファメモリ1のデータDijに対して、次式のよ
うに誤りE2ijを加算して、誤りを訂正する。Dij+E
ijステップSA11が終了すると、制御部22は、P
O系列のすべてのインタリーブの誤り訂正が完了したか
否かを判断する(ステップSA12)。PO系列のすべ
てのインタリーブに対して、誤り訂正が完了していなけ
れば、制御部22は、ステップSA9〜SA11の処理
を繰り返す。また、ステップSA12で、PO系列のす
べてのインタリーブに対して、誤り訂正が完了していれ
ば、制御部22は、処理を終了する。
【0043】次に、この実施の形態の動作について説明
する。ホストコンピュータ等にデータを出力する場合、
データ読出し装置3は、光ディスクAからブロック単位
でデータを読み出し、1ブロックのデータをバッファメ
モリ1に格納する。データがバッファメモリ1に格納さ
れると、処理装置2の制御部22は、バッファメモリ1
からPI系列のインタリーブ分のデータを読み出すと、
ステップSA1〜SA4によって、シンドローム生成回
路21Aが生成したシンドロームS10〜S1pをシンド
ローム格納回路23Aに格納する。また、制御部22
は、シンドローム生成回路21Bが生成した中間値ST
00〜ST20q、…、ST2n0〜ST2nqをシンドロー
ム格納回路23Bに格納する。
【0044】この後、ステップSA5〜SA8によっ
て、PIの系列シンドロームS10〜S1pに基づいて、
PI系列の誤りの有無を調べる。エラー訂正部24から
PI系列の誤りE1ijが入力されると、制御部22は、
バッファメモリ1に格納されている、該当するデータD
ijに誤りE1ijを加算して、データDijの誤り訂正をす
る。同時に、シンドローム生成回路21Bに格納されて
いる、シンドローム格納回路23Bの中間値ST2j0
…、ST2jqに対して、誤りE1ijを加算して、誤り訂
正をする。ステップSA8が終了すると、PO系列の1
〜n+1列目のシンドロームS200〜S20q、…、S2
n0〜S2nqが、シンドローム格納回路23Bに、最終的
に格納される。制御部22は、ステップSA9〜SA1
2によって、PO系列のシンドロームS200〜S20q
…、S2n0〜S2nqに基づいて、PO系列の誤りの有無
を調べる。エラー訂正部24からPO系列の誤りE2ij
が入力されると、制御部22は、バッファメモリ1に格
納されている、該当するデータDijに誤りE2ijを加算
して、データDijの誤り訂正をする。
【0045】こうして、制御部22は、バッファメモリ
1に格納されているブロック100に対して誤り訂正を
する。このとき、制御部22は、バッファメモリ1に対
して、図9に示すアクセスをする。すなわち、制御部2
2は、ステップSA1の処理をする際のアクセス35
1、ステップSA7の処理をする際のアクセス352及
びステップSA9の処理をする際のアクセス353だけ
を行う。この結果、従来に比べて、バッファメモリ1に
対するアクセス回数を減らすことができる。
【0046】以上、この発明の一実施の形態を図面によ
り詳述してきたが、具体的な構成は、上記実施の形態に
限られるものではなく、この発明の要旨を逸脱しない範
囲の設計変更等があっても、この発明に含まれる。例え
ば、この実施の形態では、この発明をDVDに適用した
が、これに限らず、光磁気ディスクを用いる装置にも適
用可能である。光磁気ディスク装置では、クロスインタ
リーブのエラー訂正が行われる。また、シンドローム生
成回路21Bをシンドローム生成回路21Aとは別の構
成としたが、2つを共通化することが可能である。この
場合には、シンドローム生成回路21A及びシンドロー
ム生成回路21Bの演算回路の数の多い方を選択する。
そして、選択した回路をシンドローム生成回路21A及
びシンドローム生成回路21Bとして用いる。これによ
り、回路規模を小さくすることができる。
【0047】
【発明の効果】以上、説明したように、この発明の構成
によれば、第1配列方向のシンドロームを順に生成し
て、最後のシンドロームの生成を終了すると、第2配列
方向の全データ列のシンドロームを生成することができ
る。また、上記第2配列方向の全データ列のシンドロー
ムを生成する際には、バッファメモリに対するアクセス
を行わないので、従来に比べて、アクセス回数を減らす
ことができる。さらに、データの読み出し処理が減るた
めに、エラー訂正の処理時間を短縮することができる。
【図面の簡単な説明】
【図1】この発明の一実施の形態である誤り訂正装置の
構成を概略示すブロック図である。
【図2】同誤り訂正装置が記憶するデータのブロックを
説明する説明図である。
【図3】同誤り訂正装置の処理装置の構成を概略示すブ
ロック図である。
【図4】同誤り訂正装置のシンドローム生成回路を概略
示すブロック図である。
【図5】同誤り訂正装置のシンドローム生成回路を概略
示すブロック図である。
【図6】同誤り訂正装置のメモリを説明する説明図であ
る。
【図7】同誤り訂正装置の制御部の処理を示すフローチ
ャートである。
【図8】同誤り訂正装置の制御部の処理を示すフローチ
ャートである。
【図9】同誤り訂正装置の処理の様子を説明する説明図
である。
【図10】従来の処理の様子を説明する説明図である。
【図11】従来の処理の様子を説明する説明図である。
【符号の説明】
1 バッファメモリ 2 処理装置(処理手段)
フロントページの続き (51)Int.Cl.6 識別記号 FI G11B 20/18 572 G11B 20/18 572C 572F H03M 13/00 H03M 13/00

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 第1配列方向と第2配列方向とが交差す
    るように、データがマトリックス状に配列されたデータ
    ブロックのデータの誤り訂正を、前記第1配列方向及び
    前記第2配列方向のデータ列のシンドロームを基にして
    行う誤り訂正装置において、 前記データブロックを格納するバッファメモリと、 前記バッファメモリのデータブロックから、前記第1配
    列方向のデータ列を順に読み出し、該データ列の全デー
    タを用いて該データ列のシンドロームを生成すると同時
    に、該データ列の各データを用いて、前記第2配列方向
    の全データ列のシンドローム生成を開始し、前記第1配
    列方向から最後のデータ列を読み出したときに、前記第
    2配列方向の全データ列のシンドローム生成を終了する
    処理手段とを備えることを特徴とする誤り訂正装置。
  2. 【請求項2】 前記処理手段は、前記バッファメモリの
    データブロックから読み出したデータ列の各データを用
    いて、前記第2配列方向の全データ列のシンドローム生
    成を開始した後、シンドローム生成の途中で発生した全
    データ列の各中間値を保持し、前記バッファメモリから
    次のデータ列を読み出すと、保持している前記各中間値
    と該データ列の各データとを用いて、前記第2配列方向
    の全データ列の中間値を生成すると共に保持している中
    間値を更新し、前記第1配列方向の最後のデータ列を読
    み出したときに、前記第2配列方向の全データ列のシン
    ドローム生成を終了することを特徴とする請求項1記載
    の誤り訂正装置。
  3. 【請求項3】 前記処理手段は、 前記バッファメモリのデータブロックから、前記第1配
    列方向のデータ列を読み出す第1処理と、 前記第1処理で読み出したデータ列の全データを第1生
    成処理で演算して、該データ列のシンドロームを生成す
    ると同時に、該データ列の各データを第2生成処理でそ
    れぞれ演算して、前記第2配列方向の全データ列のシン
    ドロームの中間値を生成して保持する第2処理と、 前記第2処理で得たシンドロームに基づいて検出した誤
    りで、前記バッファメモリの該当データの誤り訂正をす
    ると同時に、保持している前記中間値を該誤りで修正す
    る第3処理と、 前記1処理乃至前記第3処理を繰り返して行い、前記中
    間値を生成する際に、データ列の各データと保持してい
    る前記各中間値とを前記第2生成処理でそれぞれ演算し
    て、次の中間値をそれぞれ生成すると共に保持している
    前記中間値を更新し、前記第1配列方向から最後のデー
    タ列を読み出して前記1処理乃至前記第3処理を終了し
    てたときに、前記第2配列方向の全データ列のシンドロ
    ームの生成を終了することを特徴とする請求項1記載の
    誤り訂正装置。
  4. 【請求項4】 第1配列方向と第2配列方向とが交差す
    るように、データがマトリックス状に配列されると共
    に、バッファメモリに格納されているデータブロックの
    データの誤り訂正を、前記第1配列方向及び前記第2配
    列方向のデータ列のシンドロームを基にして行う誤り訂
    正方法において、 前記バッファメモリのデータブロックから、前記第1配
    列方向のデータ列を順に読み出す第1処理と、 前記第1処理で読み出したデータ列の全データを用いて
    該データ列のシンドロームを順に生成すると同時に、該
    データ列の各データを用いて、前記第2配列方向の全デ
    ータ列のシンドローム生成を開始し、前記第1配列方向
    から最後のデータ列を読み出したときに、前記第2配列
    方向の全データ列のシンドローム生成を終了する第2処
    理とを含むことを特徴とする誤り訂正方法。
  5. 【請求項5】 前記第2処理は、 前記バッファメモリのデータブロックから読み出したデ
    ータ列の各データを用いて、前記第2配列方向の全デー
    タ列のシンドローム生成を開始した後、シンドローム生
    成の途中で発生した全データ列の各中間値を保持し、 前記バッファメモリから次のデータ列を読み出すと、保
    持している前記各中間値と該次のデータ列の各データと
    を用いて、前記第2配列方向の全データ列の中間値を生
    成すると共に保持している中間値を更新し、 前記第1配列方向の最後のデータ列を読み出したとき
    に、前記第2配列方向の全データ列のシンドローム生成
    を終了することを特徴とする請求項4記載の誤り訂正方
    法。
  6. 【請求項6】 前記第2処理は、 前記バッファメモリのデータブロックから、前記第1配
    列方向のデータ列を読み出す第1処理ステップと、 前記第1処理ステップ読み出したデータ列の全データを
    第1生成処理で演算して、該データ列のシンドロームを
    生成すると同時に、該データ列の各データを第2生成処
    理でそれぞれ演算して、前記第2配列方向の全データ列
    のシンドロームの中間値を生成して保持する第2処理ス
    テップと、 前記第2処理ステップの演算で得たシンドロームに基づ
    いて検出した誤りで、前記バッファメモリの該当データ
    の誤り訂正をすると同時に、保持している前記中間値を
    該誤りで修正する第3処理ステップと、 前記1処理ステップ乃至前記第3処理ステップを繰り返
    して行い、前記中間値を生成する際に、データ列の各デ
    ータと保持している前記各中間値とを前記第2生成処理
    でそれぞれ演算して、次の中間値をそれぞれ生成すると
    共に保持している前記中間値を更新し、前記第1配列方
    向から最後のデータ列を読み出して前記1処理ステップ
    乃至前記第3処理ステップを終了してたときに、前記第
    2配列方向の全データ列のシンドロームの生成を終了す
    ることを特徴とする請求項5記載の誤り訂正方法。
JP10080950A 1998-03-27 1998-03-27 誤り訂正装置及び誤り訂正方法 Pending JPH11282703A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10080950A JPH11282703A (ja) 1998-03-27 1998-03-27 誤り訂正装置及び誤り訂正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10080950A JPH11282703A (ja) 1998-03-27 1998-03-27 誤り訂正装置及び誤り訂正方法

Publications (1)

Publication Number Publication Date
JPH11282703A true JPH11282703A (ja) 1999-10-15

Family

ID=13732790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10080950A Pending JPH11282703A (ja) 1998-03-27 1998-03-27 誤り訂正装置及び誤り訂正方法

Country Status (1)

Country Link
JP (1) JPH11282703A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1104114A2 (en) * 1999-11-24 2001-05-30 Sanyo Electric Co., Ltd. Error correction device
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
GB2432691A (en) * 2005-11-24 2007-05-30 Realtek Semiconductor Corp Two dimensional error correction
JP2008204544A (ja) * 2007-02-20 2008-09-04 Fujitsu Ltd 誤り訂正装置及びデータ読み出し装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1104114A2 (en) * 1999-11-24 2001-05-30 Sanyo Electric Co., Ltd. Error correction device
EP1104114A3 (en) * 1999-11-24 2004-02-11 Sanyo Electric Co., Ltd. Error correction device
US6802040B1 (en) 1999-11-24 2004-10-05 Sanyo Electric Co., Ltd. Error correction device
KR100738170B1 (ko) * 1999-11-24 2007-07-10 산요덴키가부시키가이샤 오류 정정 장치
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
GB2432691A (en) * 2005-11-24 2007-05-30 Realtek Semiconductor Corp Two dimensional error correction
GB2432691B (en) * 2005-11-24 2007-10-10 Realtek Semiconductor Corp Decoding device in optical disc drive and related decoding method thereof
US7797608B2 (en) 2005-11-24 2010-09-14 Realtek Semiconductor Corp. Decoding device in optical disc drive and related decoding method thereof
JP2008204544A (ja) * 2007-02-20 2008-09-04 Fujitsu Ltd 誤り訂正装置及びデータ読み出し装置

Similar Documents

Publication Publication Date Title
JP3966993B2 (ja) 積符号の誤り訂正および並行検査
US5920578A (en) Method and apparatus for efficiently processing a multi-dimensional code
JP3863252B2 (ja) 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法
US20070157064A1 (en) Systems and methods for error corrections
US6725416B2 (en) Forward error correction apparatus and methods
US6772385B2 (en) Error-correcting device and decoder enabling fast error correction with reduced circuit scale
JPS6037833A (ja) 符号語の複号装置及び読み取り装置
JP3502583B2 (ja) 誤り訂正方法および誤り訂正装置
JP3281387B2 (ja) Crc/edcチェッカシステム
JP3345385B2 (ja) チェンサーチ装置
JPH11112358A (ja) データの誤り訂正方法及び誤り訂正装置
JPH11282703A (ja) 誤り訂正装置及び誤り訂正方法
JP3306413B2 (ja) 誤り訂正装置および誤り訂正方法
JP2662472B2 (ja) 誤り訂正処理用シンドローム演算回路
JP2002280909A (ja) エラー訂正装置
JP3272317B2 (ja) 誤り検出装置およびその方法
JP2907138B2 (ja) 誤り訂正の演算処理方法及び処理回路
JP3310186B2 (ja) リード・ソロモン符号の復号回路
JP2622383B2 (ja) ロングディスタンスコードの誤り訂正装置
JPS638984Y2 (ja)
JP2710176B2 (ja) 誤り位置及び誤りパターン導出回路
JP3259688B2 (ja) データ処理回路
JPH0512814A (ja) 誤り訂正回路
JPH03117923A (ja) 誤り訂正復号器
JPH09331263A (ja) 誤り訂正方法及び装置