JPS62169531A - Decoding method for error correcting code - Google Patents

Decoding method for error correcting code

Info

Publication number
JPS62169531A
JPS62169531A JP1092086A JP1092086A JPS62169531A JP S62169531 A JPS62169531 A JP S62169531A JP 1092086 A JP1092086 A JP 1092086A JP 1092086 A JP1092086 A JP 1092086A JP S62169531 A JPS62169531 A JP S62169531A
Authority
JP
Japan
Prior art keywords
block
series
correction
code
error
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
JP1092086A
Other languages
Japanese (ja)
Inventor
Yoichiro Sako
曜一郎 佐古
Shinichi Yamamura
山村 真一
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP1092086A priority Critical patent/JPS62169531A/en
Publication of JPS62169531A publication Critical patent/JPS62169531A/en
Pending legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

PURPOSE:To effectively correct a burst error by performing the correcting processes successively for series of 2-dimensional arrays so as to attain the alternating processes and correcting the series at the other side again after correction of the series at one side in case the correction is impossible for the series at the other side. CONSTITUTION:An address generating circuit 2 produces the address data to read the data on the column and row blocks alternately out of a memory 1 through the column or row block with which the decoding is started. A control circuit 6 produces the control signal to correct again the blocks preceding the block at the other side in case the correction of errors is impossible for the block at the other side after correction of errors of the block at one side when the column and row blocks are corrected alternately. The control signal of the circuit 6 is supplied to the circuit 2. Thus such errors that could not be corrected by a conventional method may sometimes be corrected by this new method. In such a way, correcting capability for burst errors is improved.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、積符号、クロスインターリーブ符号等のエ
ラー訂正符号の復号方法に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a method of decoding error correction codes such as product codes and cross-interleave codes.

〔発明の4既要〕 この発明は、ディジタルデータの複数シンボルの2次元
配列の互いに異なる方向に整列する第1の系列及び第2
の系列の夫々に第1のエラー訂正符号及び第2のエラー
訂正符号の符号化がされるエラー訂正符号の復号方法に
おいて、所定の第1の系列及び所定の第2の系列の一方
の系列を最初に訂正処理を行う系列に設定し、次に、第
1の系列及び第2の系列が交互に処理されるように、設
定された系列から隣接する系列に2次元配列の系列の訂
正処理を順次行い、この順次なされる訂正処理の間で、
一方の系列の訂正処理後に、他方の系列の訂正が不可能
な場合に、この他方の系列の以前の系列の訂正処理を再
度行い、この再度なされる訂正処理の回数を所定数以下
に制限することにより、所定の演算時間内でのエラー訂
正能力の向上、特に、バーストエラーを効果的に訂正で
きるようにしたものである。
[4 Summary of the Invention] The present invention provides a first series and a second series arranged in mutually different directions in a two-dimensional array of a plurality of symbols of digital data.
In an error correction code decoding method in which a first error correction code and a second error correction code are encoded in each of the sequences, one of the predetermined first sequence and the predetermined second sequence is encoded. First, set the series to be corrected, and then apply correction processing to the series in the two-dimensional array from the set series to the adjacent series so that the first series and second series are processed alternately. During this sequential correction process,
After correction processing of one series, if correction of the other series is impossible, correction processing of the previous series of this other series is performed again, and the number of times of correction processing that is performed again is limited to a predetermined number or less. This makes it possible to improve error correction capability within a predetermined calculation time, and in particular to effectively correct burst errors.

〔従来の技術〕[Conventional technology]

光磁気ディスクにディジタルデータを記憶する場合に、
データの書き込み又は読み出し時に生じるエラーを訂正
するために、積符号が用いられる。
When storing digital data on magneto-optical disks,
Product codes are used to correct errors that occur when writing or reading data.

積符号は、ディジタルデータの2次元配列(マトリクス
ブロック)の各列及び各行に関して、エラー訂正符号の
符号化を行うもので、エラー訂正符号としては、線形符
号が用いられる。
The product code encodes an error correction code for each column and row of a two-dimensional array (matrix block) of digital data, and a linear code is used as the error correction code.

従来の積符号の復号方法では、例えば特開昭60−11
6230号公報に示されるように、列方向のエラー訂正
符号CIの復号を符号C1の全ての系列について行うC
1復号と行方向のエラー訂正符号C2の復号を符号C2
の全ての系列について行うC2復号とが交互になされて
いる。
In the conventional product code decoding method, for example,
As shown in Publication No. 6230, C decoding the error correction code CI in the column direction for all sequences of the code C1.
1 decoding and row direction error correction code C2 decoding is performed as code C2.
C2 decoding is performed alternately on all sequences.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

積符号のマトリクスブロックの斜め方向(対角線の方間
)にデータを伝送する時に発生するバーストエラーを訂
正する場合、従来の復号方法は、符号C1の復号と符号
C2の復号の夫々の繰り返し回数を多(しないと、エラ
ーシンボルを訂正することができない問題点があった。
When correcting burst errors that occur when data is transmitted in a diagonal direction (between diagonals) of a matrix block of a product code, conventional decoding methods calculate the number of repetitions for decoding code C1 and decoding code C2. There was a problem that the error symbol could not be corrected unless it was done multiple times.

従って、積符号の1個のマトリクスブロックの復号に割
り、当てられている演算時間が充分に長くない時には、
訂正されないエラーシンボルが残る問題があった。
Therefore, when the calculation time allocated to decoding one matrix block of a product code is not long enough,
There was a problem where uncorrected error symbols remained.

上述の問題は、積符号に限らずクロスインターリーブ符
号に関しても同様に発生する。クロスインターリーブ符
号は、ディジタルデータの2次元配列の異なる2つの斜
め方向に並ぶ系列毎に第1のエラー訂正符号及び第2の
エラー訂正符号の符号化を行い、列方向がデータ伝送方
向とされたものである。従来のように、第1のエラー訂
正符号の復号を全ての符号系列について行い、次に第2
のエラー訂正符号の復号を全ての符号系列について行う
復号方法は、バーストエラーを効果的に訂正することが
できない。
The above-mentioned problem occurs not only with product codes but also with cross-interleaved codes. In the cross-interleave code, a first error correction code and a second error correction code are encoded for each of two diagonally arranged sequences with different two-dimensional arrays of digital data, and the column direction is the data transmission direction. It is something. As in the past, the first error correction code is decoded for all code sequences, and then the second error correction code is decoded for all code sequences.
A decoding method that performs decoding of error correction codes for all code sequences cannot effectively correct burst errors.

従って、この発明の目的は、バーストエラーを効果的に
補正することができるエラー訂正符号の復号方法を堤供
することにある。
Therefore, an object of the present invention is to provide an error correction code decoding method that can effectively correct burst errors.

c問題点を解決するための手段〕 この発明は、ディジタルデータの複数シンボルの2次元
配列の第1の方向に整列する複数個のシンボルからなる
第1の系列C1+、C1t、・・・CINの夫々に第1
のエラー訂正符号C1の符号化がされ、2次元配列の第
2の方向に整列する複数個のシンボルからなる第2の系
列C2,、C2□、・・・C2xの夫々に第2のエラー
訂正符号C2の符号化がされるエラー訂正符号の復号方
法において、所定の第1の系列C1n及び所定の第2の
系列C2,の一方の系列を最初に訂正処理を行う系列に
設定するステップと、第1の系列及び第2の系列が交互
に処理されるように、設定された系列から隣接する系列
に2次元配列の系列の訂正処理を順次行うステップと、
この順次なされる訂正処理の間で第1の系列及び第2の
系列の一方の系列の訂正処理後に、他方の系列の訂正が
不可能な場合に、この他方の系列の以前の系列の訂正処
理を再度行うステップと、この再度なされる訂正処理の
回数を所定数以下に制限するステップとからなることを
特徴とするエラー訂正符号の復号方法である。
Means for Solving Problem c] The present invention provides a first series C1+, C1t, . . . First for each
A second sequence C2, C2□, . In a method for decoding an error correction code encoded with a code C2, a step of setting one of a predetermined first sequence C1n and a predetermined second sequence C2 as a sequence to be subjected to correction processing first; sequentially performing correction processing on the two-dimensional array of sequences from the set sequence to adjacent sequences so that the first sequence and the second sequence are processed alternately;
During this sequential correction processing, after correction processing of one of the first series and second series, if correction of the other series is impossible, correction processing of the previous series of this other series. This is an error correction code decoding method characterized by comprising the steps of performing the correction process again, and limiting the number of times the correction process is performed again to a predetermined number or less.

C作用〕 ディジタルデータの複数シンボルの2次元配列(マトリ
クスブロック)の列方向にエラー訂正符号C1の符号化
がされ、その行方向にエラー訂正符号C2の符号化がさ
れている積符号の場合、列方向の系列である列ブロック
CI+、C1g、・・・CI Nと行方向の系列である
行ブロックC2+、C2t、・・・C2イとが1ブロツ
ク毎に交互に訂正処理される。マトリクスブロックの斜
め方向にデータを伝送する場合、バーストエラーによっ
て、1個の列ブロック又は1個の行ブロックにエラー訂
正可能な個数例えば1個のエラーシンボルより多い2個
以上のエラーシンボルが含まれるエラーパターンが発生
する。このようなエラーパターンの場合に、エラーシン
ボルの個数が少なく、エラー訂正することができる列ブ
ロック又は行ブロックから隣接するブロック毎に列ブロ
ック及び行ブロックを交互に処理することにより、エラ
ーシンボルが次々と訂正される。従って、所定の時間内
で復号処理を行う場合に、エラー訂正能力を実質的に上
げることができる。
C action] In the case of a product code in which an error correction code C1 is encoded in the column direction of a two-dimensional array (matrix block) of multiple symbols of digital data, and an error correction code C2 is encoded in the row direction, The column blocks CI+, C1g, . . . CIN, which are the series in the column direction, and the row blocks C2+, C2t, . When transmitting data in a diagonal direction of a matrix block, one column block or one row block contains two or more error symbols, which is more than the correctable error symbol, for example, one error symbol, due to burst errors. An error pattern occurs. In the case of such an error pattern, the number of error symbols is small and the error symbols are processed one after another by alternately processing the column blocks and row blocks for each adjacent block from the column block or row block where the error can be corrected. is corrected. Therefore, when decoding processing is performed within a predetermined time, error correction capability can be substantially improved.

また、一方の系列が訂正された時に、以前の他方の系列
の訂正処理を再度行うことによって、以前の処理では、
訂正できなかったエラーを訂正することが可能になる場
合が生じる。これによって、バーストエラーの訂正でき
る能力のより向上を図ることができる。
Also, when one series is corrected, by re-performing the previous correction process for the other series, the previous process
Sometimes it becomes possible to correct an error that could not be corrected. This makes it possible to further improve the ability to correct burst errors.

〔実施例〕〔Example〕

以下、この発明を積符号に適用した一実施例について図
面を参照して説明する。第1図は、この発明による復号
方法を実施するための復号装置を示す。
An embodiment in which the present invention is applied to a product code will be described below with reference to the drawings. FIG. 1 shows a decoding device for implementing the decoding method according to the invention.

第1図において、1で示すメモリ (RAM)に積符号
のマトリクスブロックを構成するディジタルデータ及び
チェックシンボルが記憶されている。
In FIG. 1, a memory (RAM) indicated by 1 stores digital data and check symbols constituting a matrix block of a product code.

メモリ1に記憶されているデータは、光磁気ディスク(
図示せず)から再生された1セクターのデータである。
The data stored in memory 1 is stored on a magneto-optical disk (
This is one sector of data reproduced from (not shown).

メモリ1の書き込みアドレス及び読み出しアドレスは、
アドレス発生回路2により生成される。メモリ1から読
み出された1個の列ブロック或いは行ブロックのデータ
は、入出力IJ ?I11回路3に供給される。
The write address and read address of memory 1 are:
Generated by address generation circuit 2. The data of one column block or row block read from memory 1 is input/output IJ? It is supplied to the I11 circuit 3.

入出力制御回路3には、列方向のエラー訂正符号C1の
復号器(C1復号器)4と行方向のエラー訂正符号C2
の復号器(C2復号器)5とが接続されている。アドレ
ス発生回路2及び入出力制御回路3は、制御回路6から
発生する制fml信号によって制御される。制御回路6
によりアドレス発生回路2がメモリ1に対して列ブロッ
クのデータを読み出すためのアドレスデータを発生する
時には、メモリ1とC1復号器4との間が接続され、読
み出された列ブロックのデータがC1復号器4に供給さ
れ、訂正処理がこの列ブロックに関してなされ、訂正が
された列ブロックのデータがメモリ1に書き込まれる。
The input/output control circuit 3 includes a decoder (C1 decoder) 4 for error correction code C1 in the column direction and an error correction code C2 in the row direction.
decoder (C2 decoder) 5 is connected. The address generation circuit 2 and the input/output control circuit 3 are controlled by a control fml signal generated from the control circuit 6. Control circuit 6
When the address generation circuit 2 generates address data for reading column block data to the memory 1, the memory 1 and the C1 decoder 4 are connected, and the read column block data is transferred to the C1 decoder 4. The data of the column block is supplied to a decoder 4, a correction process is performed on this column block, and the data of the corrected column block is written to the memory 1.

一方、アドレス発生回路2がメモリ1に対して行ブロッ
クのデータを読み出すためのアドレスデータを発生する
時には、メモリ1とC2復号器5との間が接続され、読
み出された行ブロックのデータがC2復号器5に供給さ
れ、訂正処理がこの行ブロックに関してなされ、訂正が
された行ブロックのデータがメモリ1に書き込まれる。
On the other hand, when the address generation circuit 2 generates address data for reading the row block data to the memory 1, the memory 1 and the C2 decoder 5 are connected, and the read row block data is The data is supplied to the C2 decoder 5, a correction process is performed on this row block, and the data of the corrected row block is written into the memory 1.

アドレス発生回路2は、復号開始の列ブロック又は行ブ
ロックから列ブロックのデータと行ブロックのデータと
を交互にメモリ1から読み出すようなアドレスデータを
発生する。復号開始のスタートブロックは、制御回路6
によって設定される。
The address generation circuit 2 generates address data such that column block data and row block data are alternately read from the memory 1 from the column block or row block at which decoding is started. The start block for starting decoding is the control circuit 6.
Set by.

この一実施例では、所定の列ブロックC1,又は所定の
行ブロックC2,1の一方がスタートプロ・ツクに設定
される。また、制御回路6により、列ブロックの変化の
ステップa及び行ブロックの変化のステップbと、一つ
の系列についての訂正処理の繰り返し回数の最大値α、
βが初期設定される。
In this embodiment, one of the predetermined column block C1 or the predetermined row block C2,1 is set to the start program. Further, the control circuit 6 controls step a for changing the column block, step b for changing the row block, and the maximum value α of the number of repetitions of the correction process for one sequence.
β is initialized.

更に、制御回路6は、列ブロックと行ブロックとを交互
に訂正処理する時に、一方のブロックのエラー訂正後に
、他方のブロックのエラー訂正が不可能な場合に、この
他方のブロックの以前のブロックの訂正処理を再度、行
うための制御信号を発生し、この制’rill信号がア
ドレス発生回路2に供給される。このため、C1復号器
4及びC2復号器5から訂正が可能かどうかを示す判別
信号が制御71回路6に供給される。この再度なされる
訂正処理の回数は、復号時間が長くなることを防止する
ために所定数α及びβ以下に制限される。α及びβは、
例えば2に設定される。
Further, when correcting column blocks and row blocks alternately, if error correction of the other block is impossible after error correction of one block, the control circuit 6 corrects the previous block of the other block. A control signal is generated to perform the correction process again, and this control signal is supplied to the address generation circuit 2. Therefore, a determination signal indicating whether correction is possible is supplied from the C1 decoder 4 and the C2 decoder 5 to the control 71 circuit 6. The number of times this correction process is performed again is limited to a predetermined number α and β or less in order to prevent the decoding time from increasing. α and β are
For example, it is set to 2.

第2図は、この発明を適用することができる積符号の一
例の構成を示す。第2図に示すように、M行、N列のマ
トリクス状に配列された(M・N)個のシンボルからな
るマトリクスブロックによって、符号化の単位が形成さ
れる。((M−p)x(N−Q))個のディジタルデー
タのシンボル(例えば1シンボルが1バイト)の列ブロ
ツク毎及びその行ブロツク毎にエラー訂正符号の符号化
がされる。光磁気ディスクを用いた記憶装置の場合、(
M−P=N−Q=23)とされ、1個のマトリクスブロ
ックが1個のセクターと対応する529バイトの大きさ
とされる。この529バイトの中の512八°イトがデ
ィジタルデータとされ、他の17バイトがアドレス、識
別コード、CRCコード等の付加データとされている。
FIG. 2 shows the structure of an example of a product code to which the present invention can be applied. As shown in FIG. 2, a coding unit is formed by a matrix block consisting of (M·N) symbols arranged in a matrix of M rows and N columns. An error correction code is encoded for each column block of ((M-p)x(N-Q)) digital data symbols (for example, one symbol is one byte) and for each row block thereof. In the case of a storage device using a magneto-optical disk, (
MP=N-Q=23), and one matrix block has a size of 529 bytes corresponding to one sector. Of these 529 bytes, 5128 bytes are digital data, and the other 17 bytes are additional data such as addresses, identification codes, and CRC codes.

N個の列ブロックC11,C1g、・・・CI Nの夫
々は、エラー訂正符号C1の符号系列であり、P個のチ
ェックシンボルを含んでいる。同様に、MIIIUの行
ブロックC2+、C2□、・・・C2Mの夫々は、エラ
ー訂正符号C2の符号系列であり、Q個のチェックシン
ボルを含んでいる。つまり、列ブロックCINを含むQ
個の列ブロックは、符号C2のチェックシンボルに符号
C1の符号化を行ったものであり、行ブロックC2Mを
含むP個の行ブロックは、符号C1のチェックシンボル
に符号C2の符号化を行ったものである。エラー訂正符
号CI及びC2としては、通常、線形符号が用いられる
。例えば1シンボルエラーの訂正が可能なリード・ソロ
モン符号がエラー訂正符号C1及びC2として用いられ
、列ブロック及び行ブロックの夫々に(P=Q=2)個
のチェックシンボルが含まれる。また、P個の行ブロッ
クとQ個の列ブロックとが重複する部分のチェックシン
ボルは、線形符号であるから行ブロック及び列ブロック
の間で一致したものとなる。
Each of the N column blocks C11, C1g, . . . CI N is a code sequence of the error correction code C1 and includes P check symbols. Similarly, each of the row blocks C2+, C2□, . . . C2M of MIIIU is a code sequence of the error correction code C2, and includes Q check symbols. That is, Q containing the column block CIN
The P row blocks including the row block C2M have the check symbols of code C2 encoded with code C1, and the check symbols of code C1 are encoded with code C2. It is something. Linear codes are normally used as the error correction codes CI and C2. For example, a Reed-Solomon code capable of correcting a one-symbol error is used as the error correction codes C1 and C2, and each column block and row block includes (P=Q=2) check symbols. Furthermore, since the check symbols in the portion where the P row blocks and the Q column blocks overlap are linear codes, the check symbols match between the row blocks and the column blocks.

第2図において破線で示すように、マトリクスブロック
の斜め方向(対角線の方向)に位置するシンボルの順序
でデータが伝送される。エラー訂正符号CI及びC2の
系列の方向と異なる斜め方向にデータを伝送するのは、
伝送時に発生するバーストエラーをランダムエラーに分
散化させ、エラー訂正符号CI及びC2によりエラー訂
正が不可能となることを回避するためである。
As shown by broken lines in FIG. 2, data is transmitted in the order of symbols located diagonally (in the diagonal direction) of the matrix block. Transmitting data in a diagonal direction different from the direction of the error correction code CI and C2 series is as follows.
This is to disperse burst errors that occur during transmission into random errors, and to prevent error correction from becoming impossible with the error correction codes CI and C2.

C1復号器4及びC2復号器5は、第2図に示す積符号
の復号を行う。メモリ1には、光磁気ディスクから再生
されたマトリクスブロックの全てのデータが格納され、
符号系列を形成する列ブロック又は行ブロツク毎にメモ
リ1からデータが読み出され、リード・ソロモン符号の
復号がなされる。メモリ1からディジタルデータの列ブ
ロックC1,、C1□、・・・C1,lが夫々読み出さ
れる時に、入出力制御回路3により、メモリl及びC1
復号器4の間が接続される。同様に、メモリ1からディ
ジタルデータの行ブロックC2,、C2t、・・・C2
>+が夫々読み出される時に、入出力制御回路3により
、メモリl及びC2復号器5の間が接続される。
The C1 decoder 4 and the C2 decoder 5 decode the product code shown in FIG. Memory 1 stores all the data of the matrix block reproduced from the magneto-optical disk,
Data is read out from memory 1 for each column block or row block forming a code sequence, and the Reed-Solomon code is decoded. When the column blocks C1, C1□, . . . C1, l of digital data are read out from the memory 1, the input/output control circuit 3
The decoders 4 are connected. Similarly, row blocks C2, C2t, . . . C2 of digital data from memory 1
>+ is read, the input/output control circuit 3 connects the memory l and the C2 decoder 5.

リード・ソロモン符号の復号処理は、パリティ検査行列
と各ブロックのシンボルとの乗算により2個のシンドロ
ームS0及びS、を求めるステップと、このシンドロー
ムS0及びSlからエラーの大きさをチェックするステ
ップと、1シンボルエラーの時に、エラーを訂正するス
テップとからなる。
The Reed-Solomon code decoding process includes the steps of obtaining two syndromes S0 and S by multiplying the parity check matrix and the symbol of each block, and checking the magnitude of the error from the syndromes S0 and S1. and correcting the error when one symbol error occurs.

従来では、全ての列ブロックC11+ Cl 2.・・
・CINに関してのエラー訂正を行うC1復号と、全て
の行ブロックCL、C2t、・・・C2,4に関しての
エラー訂正を行うC2復号とを交互に繰り返す方法で訂
正処理がなされる。この発明は、従来の訂正処理と同等
の訂正能力であって、より復号時間を短縮化できる方法
であり、列ブロックの符号系列と行ブロックの符号系列
とを1プロ・ツク毎に交互に訂正するものである。第3
図は、この発明の一実施例の訂正処理の方法のフローチ
ャートである。
Conventionally, all column blocks C11+Cl2.・・・
- Correction processing is performed by alternately repeating C1 decoding for error correction regarding CIN and C2 decoding for error correction for all row blocks CL, C2t, . . . C2, 4. This invention has a correction capability equivalent to that of conventional correction processing, and is a method that can further shorten decoding time. The code sequence of a column block and the code sequence of a row block are alternately corrected for each program. It is something to do. Third
The figure is a flowchart of a correction processing method according to an embodiment of the present invention.

第3図において、Yは肯定を表し、Nは否定を表してい
る。また、a及びbの夫々は、列ブロック及び行ブロッ
クの変化のステップであり、N1及びN2の夫々は、列
ブロック及び行ブロックに関し、以前のブロックの訂正
処理を再度行う毎に(十1)されるカウンタの計数値で
あり、α及びβの夫々は、この処理の回数を制限するし
きい値である。従って、(Nl≧α)の場合又は(N2
≧β)の場合には、以前のブロックの訂正処理が行われ
ない。更に、Fl及びF2は、列ブロック及び行ブロッ
クの夫々が訂正できる時にG(例えば0″)とされ、訂
正不可能な時にNG (例えば”1’)とされるフラグ
である。
In FIG. 3, Y represents affirmation and N represents negation. Further, each of a and b is a change step of a column block and a row block, and each of N1 and N2 is a step of changing a column block and a row block. α and β are each a threshold value that limits the number of times this process is performed. Therefore, if (Nl≧α) or (N2
≧β), the correction process for the previous block is not performed. Furthermore, Fl and F2 are flags that are set to G (eg, 0'') when each of the column block and row block can be corrected, and set to NG (eg, ``1'') when they cannot be corrected.

復号処理の最初に初期設定がなされる(ステップ■)。Initial settings are made at the beginning of the decoding process (step ■).

例えば列プロ、りの変化のステップa及び行ブロックの
変化のステップbの夫々が(a=b=1)と設定され、
しきい値α及びβが(α−β=2)と設定され、スター
トブロックn、 mが(n=1)(m−1)と設定され
、カウンタがリセットされ、計数値Nl及びN2が共に
Oとされる。そして、メモリ1からこれらのスタートプ
ロ7りC111及びC2,Iのシンボルが読み出される
(ステップ■)。
For example, each of step a for changing the column block and step b for changing the row block is set to (a=b=1),
Threshold values α and β are set as (α-β=2), start blocks n and m are set as (n=1) (m-1), the counter is reset, and both count values Nl and N2 are set. It is considered O. Then, these symbols of the start program C111, C2, and I are read out from the memory 1 (step 2).

次に、復号開始の系列である列ブロックC1,1の訂正
が可能かどうかがシンドロームから調べられる(ステッ
プ■)。列ブロックCI、の訂正が可能な場合、即ち、
列ブロックC17にエラーシンボルが無い場合又は1シ
ンボルエラーの場合に、列ブロックCI、の訂正処理に
移行する(ステップ■)。そして、列ブロックC1,の
訂正処理後に列ブロックに関するフラグF1がGとされ
る(ステップ■)。次に行ブロックに関するフラグF2
がGかどうかが調べられろくステップ■)。
Next, it is checked from the syndrome whether the column block C1,1, which is the sequence at which decoding is started, can be corrected (step 2). If it is possible to correct the column block CI, i.e.
If there is no error symbol in column block C17 or if there is one symbol error, the process moves to correction processing for column block CI (step 2). After the correction processing of the column block C1, the flag F1 regarding the column block is set to G (step 2). Next, flag F2 regarding the row block
Step ■) to check whether or not is G.

(F2=G)の時には、計数4MN2が0とされる(ス
テ7ブ■)。
When (F2=G), the count 4MN2 is set to 0 (Step 7).

次に行プロ・ツクC2,の訂正が可能かどうかがシンド
ロームから調べられる(ステップ■)。行ブロックC2
,の訂正が可能な場合に行ブロックC2,の訂正処理に
移行する(ステップ■)。行ブロック02F、の訂正処
理後に行ブロックに関するフラグF2がGとされる(ス
テップ[相])。次に、列ブロックに関するフラグF1
がGかどうかが調べられる(ステップ0>。(F1=G
)の時には、計数値N1がOとされる(ステップ@)、
Next, it is checked from the syndrome whether or not the row program C2 can be corrected (step 2). Row block C2
, if it is possible to correct the row block C2, the process moves to the correction process for the row block C2 (step 2). After the correction processing of row block 02F, the flag F2 regarding the row block is set to G (step [phase]). Next, the flag F1 regarding the column block
It is checked whether or not is G (step 0>. (F1=G
), the count value N1 is set to O (step @),
.

以上のように、ステップ■〜Oにより、列プロ7りC1
,と行ブロックC2,との訂正処理が終了すると、訂正
終了かどうかがステップ0で調べられ、若しそうであれ
ば、復号が終了する。ステップ0において、訂正終了で
ない時には、ブロックの番号(n及びm)が夫々(=、
a及び↑b)され(ステップ@l)、ステップ■〜◎の
処理が繰り返される。従って、L C1n→C2,−C
l n+1−〇 2 、 、 H・・・・〕の順序で符
号C1の系列と符号C2の系列とが1ブロツク毎に交互
に処理される。
As mentioned above, by steps
, and row block C2, it is checked in step 0 whether the correction has been completed, and if so, the decoding is completed. In step 0, if the correction is not completed, the block numbers (n and m) are respectively (=,
a and ↑b) (step @l), and the processes of steps ◎ to ◎ are repeated. Therefore, L C1n→C2, -C
The sequence of code C1 and the sequence of code C2 are processed alternately for each block in the order of ln+1-〇2, , H...].

また、ステ・ンブ■において、列フ゛ロックC1、の訂
正が不可能な場合には、フラグF1がNGとされ(ステ
ップO)、行ブロックC2゜の訂正処理に移行する。ス
テップ■において、行ブロックC2,、の訂正が不可能
な場合には、フラグF2がNGとされ(ステップ@)、
ステップ■に移行する。
Further, in step (2), if the column block C1 cannot be corrected, the flag F1 is set to NG (step O), and the process shifts to the correction process for the row block C2. In step ■, if it is impossible to correct the row block C2, , flag F2 is set to NG (step @),
Move to step ■.

ステップ■〜■の列ブロックC1fiの訂正処理におい
て、列ブロックC1,の訂正処理がされた後、(F2=
G)でない場合には、ステップ■において、(N2≧β
)が成立するかどうかが調べられる。この関係が成立す
る場合には、ステップ■に移行し、一方、(F2くβ)
の場合には、(m=zn−b、N2=N2+1>とされ
る(ステ・7プ0)。このステップ@は、列ブロックC
111の訂正がされた後に、フラグF2がNGの時に、
以前の行ブロックC2−bを再度処理するための処理で
ある。カウンタの計数(ifjN2は、この再度なされ
る処理の回数を示す。
In the correction processing of the column block C1fi in steps ■ to ■, after the correction processing of the column block C1, (F2=
G), in step ■, (N2≧β
) is checked to see if it holds true. If this relationship holds true, proceed to step ■, while (F2 β)
In the case of (m=zn-b, N2=N2+1>) (step 7 step 0).
After correction of 111, when flag F2 is NG,
This is a process for processing the previous row block C2-b again. The count of the counter (ifjN2 indicates the number of times this process is repeated).

ステップ■〜0の行ブロックC2,の訂正処理において
も、列ブロックC1,、、−、に戻る処理がなされる。
In the correction processing of row block C2, in steps ① to 0, processing to return to column blocks C1, . . . - is also performed.

つまり、行ブロックC2,の訂正処理がされ(ステップ
■)、フラグF2がGとされたステップ[相]の後に、
フラグF1がGかどう力4周べられる(ステップO)。
In other words, after the step [phase] in which the row block C2 is corrected (step ■) and the flag F2 is set to G,
The force is checked four times to see if the flag F1 is G (step O).

 (Fl≠G)の場合で、(N1くα)(ステップ0)
の場合には、(n=n−2a、N1=N1 +1)とさ
れる(ステップ@l)。このステップ[相]は、行ブロ
ックC2,の訂正がされた後に、フラグF1がNGの時
に、以前の列ブロックC2,、を再度処理するための処
理である。カウンタの計数に?jN1は、この再度なさ
れる処理の回数を示す。
In the case of (Fl≠G), (N1 × α) (step 0)
In the case of (n=n-2a, N1=N1 +1) (step @l). This step [phase] is a process for reprocessing the previous column block C2, when the flag F1 is NG after the row block C2 has been corrected. For counter counting? jN1 indicates the number of times this process is performed again.

上述の符号CIの系列と符号C2の系列とを1ブロツク
毎に交互に処理するこの発明によるエラー訂正は、第4
図に示すようなエラーパターンの訂正に効果的である。
The error correction according to the present invention in which the above-mentioned code CI series and code C2 series are processed alternately for each block is as follows:
This is effective for correcting error patterns as shown in the figure.

第4図は、簡単のため、マトリクスブロックが7行7列
の積符号を示し、Xで示すシンボルがエラーシンボルを
表している。−船釣な訂正処理として、1シンボルエラ
ーの訂正が可能な符号C1の系列である列ブロックの全
ての復号(C1復号)と1シンボルエラーの訂正が可能
な符号C2の系列である行ブロックの全ての復号(C2
復号)とを1回ずつ行うと、(C1復号−C2復号)又
は(C2復号−C1復号)の何れの場合でも、破線で囲
んだ6個のエラーシンボルが訂正されない。
For simplicity, FIG. 4 shows a product code in which the matrix block has 7 rows and 7 columns, and symbols indicated by X represent error symbols. - As a simple correction process, all the decoding (C1 decoding) of the column blocks, which are the code C1 series that can correct one symbol error, and the row blocks, which are the code C2 series, which can correct one symbol error, are performed. All decryption (C2
(decoding) is performed once each, the six error symbols surrounded by broken lines are not corrected in either case of (C1 decoding - C2 decoding) or (C2 decoding - C1 decoding).

この一実施例では、列ブロックcLからスタートして訂
正処理がなされる。列ブロックC11は、2個のエラー
シンボルを含むために、訂正ができず、ステップ(■−
■−@)を経て、次に、行ブロックC2,の訂正処理が
なされる。第4図において、各ブロックに付加された番
号は、訂正される順番を表している。行ブロックcL 
は、訂正が可能であるため、ステップ(■−■−[相]
)を経て、1個のエラーシンボルが訂正される。ステッ
プ■において、(F 1 =NG)であって、(NIT
−0)であるため、ステップ[相]に移行し、(n=1
−2=−1)(N1=1)とされる。次にステップ@に
おいて、(n=O)(m=2)とされる。ここで、CI
。の列ブロックは、列ブロックC1?を意味するので、
列ブロックCI、の訂正がされる(ステップ■)。
In this embodiment, the correction process is performed starting from column block cL. Column block C11 cannot be corrected because it contains two error symbols, and step (■-
(2-@), then correction processing is performed on the row block C2. In FIG. 4, the numbers added to each block represent the order in which they are corrected. Row block cL
can be corrected, so the step (■−■−[phase]
), one error symbol is corrected. In step ■, (F 1 =NG) and (NIT
-0), it moves to step [phase] and (n=1
-2=-1) (N1=1). Next, in step @, (n=O) (m=2). Here, CI
. The column block is column block C1? means,
Column block CI is corrected (step ■).

次に、(F2=G)であるため、行ブロックC2tの訂
正処理に移行する。この行ブロックc22の訂正が不可
能なため、(F2=NG)(ステップ■)とされ、列ブ
ロックCl lの訂正処理に移る。この列ブロックC1
+ は、行ブロックC21の訂正処理によって1個のエ
ラーシンボルになっているので、訂正が可能なものにな
っている。
Next, since (F2=G), the process moves to correction processing for the row block C2t. Since the row block c22 cannot be corrected, (F2=NG) (step ■) is determined, and the process moves on to the correction process for the column block Cll. This column block C1
+ has become one error symbol by the correction processing of row block C21, so it can be corrected.

従って、列ブロックC1lの訂正がなされる。Therefore, a correction is made to column block C1l.

(F2=NG)(N2=0)であるため、(mss3−
1=2)とされ、行ブロックC2,の訂正処理が再度行
われる。行ブロックC2□の訂正は可能なため、エラー
シンボルが訂正され、(F2=G)とされる。
(F2=NG) (N2=0), so (mss3-
1=2), and the correction process for row block C2 is performed again. Since row block C2□ can be corrected, the error symbol is corrected and (F2=G).

以後は、列ブロックと行ブロックとを第4図に示す番号
の順序で交互に訂正処理することにより全てのエラーシ
ンボルを訂正することができる。
Thereafter, all error symbols can be corrected by performing correction processing on the column blocks and row blocks alternately in the order of numbers shown in FIG.

第5図は、この発明によるエラー訂正が効果的なエラー
パターンの他の例を示す。第4図と同様に、×がエラー
シンボルを示している。Xが付されていないシンボル及
び○は、正しいシンボルを意味している。
FIG. 5 shows another example of an error pattern for which error correction according to the present invention is effective. Similarly to FIG. 4, x indicates an error symbol. Symbols without an X and ○ mean correct symbols.

第5図に示される番号の順序で、列プロ・7りと行ブロ
ックとが交互に処理される。ブロックC1、及びC2+
は、共にエラー訂正が不可能であるため、(F1=F2
=NG)とされ、列ブロックC12の処理に移る。この
列ブロックCLもエラー訂正が不可能なために、次に、
行ブロックC22が処理される。この行ブロックC2,
は、1個のエラーシンボルを含むので、エラー訂正がで
き、(n=0)とされる。ステップ[相]を経ることに
より、<n=1)とされ、列ブロックCI +について
の訂正処理が再度なされる。上述の行ブロックC2□の
訂正処理の結果、列ブロックCI +は、1個のエラー
シンボルを含むブロックになっているために、列ブロッ
クC1,のエラーシンボルが全て訂正される。
Column blocks and row blocks are processed alternately in the numerical order shown in FIG. Blocks C1 and C2+
Since error correction is impossible for both, (F1=F2
=NG), and the process moves to column block C12. Since error correction is not possible for this column block CL, next,
Row block C22 is processed. This row block C2,
contains one error symbol, so error correction is possible and (n=0). By going through step [phase], <n=1) is established, and the correction process for column block CI+ is performed again. As a result of the above-described correction processing for row block C2□, column block CI+ is a block containing one error symbol, so all error symbols in column block C1 are corrected.

以下、第5図に示されている順序で列ブロックと行ブロ
ックとが交互に処理され、全てのエラーシンボルが訂正
される。
Thereafter, column blocks and row blocks are processed alternately in the order shown in FIG. 5, and all error symbols are corrected.

上述の説明から明らかなように、従来の復号方法と略々
等しい訂正回数でもって、より多くのエラーシンボルを
訂正することができ、限られた訂正処理の時間を有効に
利用することができる。第4図及び第5図に示すエラー
パターンは、マトリクスブロックの斜め方向にデータを
伝送する時にバーストエラーによって生じ易いものであ
り、バーストエラーの訂正にこの一実施例の訂正処理は
、頗る有効である。
As is clear from the above description, more error symbols can be corrected with approximately the same number of corrections as in the conventional decoding method, and the limited correction processing time can be used effectively. The error patterns shown in FIGS. 4 and 5 are likely to occur due to burst errors when data is transmitted in a diagonal direction of a matrix block, and the correction processing of this embodiment is extremely effective in correcting burst errors. be.

勿論、この発明は、積符号のみならず、マトリクスブロ
ンクの斜め方向にエラー訂正符号の符号化を行うもの等
に適用することができる。また、エラー訂正符号として
は、リード・ソロモン符号以外の符号を使用でき、例え
ば1シンボルが1ビツトの場合には、BCH符号を用い
ることができる。
Of course, the present invention can be applied not only to product codes but also to those in which an error correction code is encoded in a diagonal direction of a matrix bronch. Further, as the error correction code, a code other than the Reed-Solomon code can be used. For example, when one symbol is one bit, a BCH code can be used.

〔発明の効果〕〔Effect of the invention〕

この発明に依れば、伝送時のバーストエラーにより、2
つのエラー訂正符号C1及びC2の両者の系列に関して
、複数個のエラーシンボルが含まれる系列が多いエラー
パターン(C1復号及びC2復号を何回か繰り返すこと
により最終的には訂正可能なエラーパターン)を復号す
る場合に、従来の復号方法に比して、少ないステップ数
とすることができ、復号時間を短縮化することができる
According to this invention, due to a burst error during transmission, 2
Regarding the sequences of both error correcting codes C1 and C2, an error pattern with many sequences containing multiple error symbols (an error pattern that can be finally corrected by repeating C1 decoding and C2 decoding several times) is calculated. When decoding, the number of steps can be reduced compared to conventional decoding methods, and the decoding time can be shortened.

【図面の簡単な説明】[Brief explanation of drawings]

第1図はこの発明の一実施例のブロック図、第2図はこ
の発明の一実施例の符号構成の説明に用いる路線図、第
3図はこの発明の一実施例の訂正処理の説明に用いるフ
ローチャート、第4図及び第5図はこの発明の一実施例
の訂正処理の説明に用いる路線間である。 図面における主要な符号の説明 1:メモリ、  2ニアドレス発生回路、3:入出力制
御回路、  4:C1復号器、5:C2復号器、 6:
制御回路。 代理人   弁理士 杉 浦 正 知 丁ロック図 第1図 積符号 第2図 第 4 図  工う−ノずターン 5 7   工う一パターン 第5図
Fig. 1 is a block diagram of an embodiment of the present invention, Fig. 2 is a route map used to explain the code structure of the embodiment of the invention, and Fig. 3 is a diagram used to explain the correction process of the embodiment of the invention. The flowcharts used, FIGS. 4 and 5, are the lines used to explain the correction processing of an embodiment of the present invention. Explanation of main symbols in the drawings 1: Memory, 2 Near address generation circuit, 3: Input/output control circuit, 4: C1 decoder, 5: C2 decoder, 6:
control circuit. Agent Patent Attorney Tadashi Sugiura Chicho Lock Diagram 1 Figure Area Code Figure 2 Figure 4 Kuu-Nozu Turn 5 7 Kuuichi Pattern Figure 5

Claims (1)

【特許請求の範囲】 ディジタルデータの複数シンボルの2次元配列の第1の
方向に整列する複数個の上記シンボルからなる第1の系
列の夫々に第1のエラー訂正符号の符号化がされ、上記
2次元配列の第2の方向に整列する複数個の上記シンボ
ルからなる第2の系列の夫々に第2のエラー訂正符号の
符号化がされるエラー訂正符号の復号方法において、 所定の上記第1の系列及び所定の上記第2の系列の一方
の系列を最初に訂正処理を行う系列に設定するステップ
と、 上記第1の系列及び上記第2の系列が交互に処理される
ように、上記設定された系列から隣接する系列に上記2
次元配列の系列の訂正処理を順次行うステップと 上記順次なされる訂正処理の間で、上記第1の系列及び
上記第2の系列の一方の系列のエラー訂正の訂正処理後
に、他方の系列の訂正が不可能な場合に、上記他方の系
列の以前の系列の訂正処理を再度行うステップと、 上記再度なされる訂正処理の回数を所定数以下に制限す
るステップと からなることを特徴とするエラー訂正符号の復号方法。
[Scope of Claims] A first error correction code is encoded on each of a first series consisting of a plurality of symbols arranged in a first direction of a two-dimensional array of a plurality of symbols of digital data; A method for decoding an error correction code in which a second sequence of symbols arranged in a second direction of a two-dimensional array is encoded with a second error correction code, comprising: setting one of the series and the predetermined second series as the series to be subjected to correction processing first; and setting the above so that the first series and the second series are processed alternately. The above 2.
Between the step of sequentially performing the correction process of the series of the dimensional array and the correction process performed sequentially, after the error correction process of one of the first series and the second series, the correction of the other series is performed. Error correction characterized by comprising the steps of: performing the correction process again on the previous series of the other series when the correction process is not possible; and limiting the number of times the correction process is performed again to a predetermined number or less. How to decode the code.
JP1092086A 1986-01-21 1986-01-21 Decoding method for error correcting code Pending JPS62169531A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1092086A JPS62169531A (en) 1986-01-21 1986-01-21 Decoding method for error correcting code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1092086A JPS62169531A (en) 1986-01-21 1986-01-21 Decoding method for error correcting code

Publications (1)

Publication Number Publication Date
JPS62169531A true JPS62169531A (en) 1987-07-25

Family

ID=11763681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1092086A Pending JPS62169531A (en) 1986-01-21 1986-01-21 Decoding method for error correcting code

Country Status (1)

Country Link
JP (1) JPS62169531A (en)

Similar Documents

Publication Publication Date Title
US4928280A (en) Fast processor for multi-bit error correction codes
USRE34245E (en) Two stage coding method
JP2570252B2 (en) Error correction code generation method
JPH0449139B2 (en)
JPS6349245B2 (en)
JPS62177768A (en) Error correcting device
US20020188909A1 (en) Symbol level error correction codes which protect against memory chip and bus line failures
JP3283130B2 (en) Digital data encoding and decoding methods and apparatus for implementing these methods
EP0603932B1 (en) Method and apparatus for implementing a quasi-product code with different degrees of protection against errors
JPS62169531A (en) Decoding method for error correcting code
JPS62181530A (en) Decoding method for error correction code
US6718505B1 (en) Method and apparatus for error correction in a process of decoding cross-interleaved Reed-Solomon code (CIRC)
JPS62161222A (en) Decoding method for error correction code
US6405343B1 (en) ECC Q-parity checkbyte indexing
JPS62161220A (en) Decoding device for product code
JPH08509351A (en) Method and apparatus for error-correctable data transmission based on semi-cyclic code
JPS62161223A (en) Decoding method for error correction code
JP2792670B2 (en) Error correction code decoding method
JPH07114371B2 (en) Decryption device
JPH0628343B2 (en) Product code decoding method
JPS6345922A (en) Error correction method
JPS62161224A (en) Decoding method for error correction code
JP2524119B2 (en) Error correction method
JPS5825295B2 (en) Error system
JP3728011B2 (en) Error correction method and error correction apparatus