ERROR-CORRECTING ENCODING AND DECODING METHOD AND SYSTEM USING A PRODUCT CODE AND A SUPERIMPOSED CODE

Abstract: To make an error-correcting code C z , encoding is performed as follows: a first information of k₁ × k₂ digits having k₁ digits in a first direction and k₂ digits in a second direction is encoded into a product code C A of n₁ × n₂ digits by combining a partial code word C₁ expressed in a linear (n₁, k₁, d₁) code having a minimum distance d₁ in the first direction with a partial code word C₂ expressed in a linear (n₂, k₂, d₂) code having a minimum distance d₂ in the second direction; second information of r × k x (r < n₁ - k₁, k x < n₂) digits is encoded into a code U s of a linear (n₂, k x , d₃) code having a minimum distance d₃ in the second direction; and the code U s is superimposed on a check digit part of the product code C A . The first and second information are obtained from the code C z .

Description: TECHNICAL FIELD The present invention relates to a method for realizing an error-correction encoding and/or decoding for processing an error-correcting code made by superimposing error-correcting codes respectively generated from a couple of pieces of information. BACKGROUND ART Fig. 1 shows an example of a code format in encoding by utilizing a product code first information I p which is required to be highly reliable and second information I s which is not required to have such a high reliability, which example is described in "Error-Correcting Codes" written by Peterson et al., MIT Press, 1972, p.131-136. As shown in Fig. 1, first information I p of k 1 × k 2 digits is encoded by a product code. Namely, this first information is encoded to a product code comprising, as partial codes, a linear code C 11 having a code word length n 11 , information code length k 1 and minimum code length d 11 (hereinafter a linear code C of code word length N, information code length k and minimum code length D will be called a (N, K, D) linear code C. For example, the above linear code C 11 is expressed by (n 11 , k 1 , d 11 ) linear code C 11 ) and a (n 2 , k 2 , d 2 ) linear code C 2 and the composite minimum distance is expressed by d 11 × d 2 . On the other hand, second information I s of r × k x digit (r ≦ n 11 - k 1 ) is encoded to a block code. For instance, second information I s is encoded to a (n 2 , k x , D) linear code C 3 on a Galois field GF(2 r ). In this case, the product code and linear code C 3 are not superimposed with each other and are transmitted separately. In a receiving side, a received word of the product code and linear code C 3 are decoded to recover predetermined information. Fig. 2 shows an example of a code format in encoding first information I p and second information I s s using a superimposed code, introduced, for example, by M. Kasahara, et al.: "New Classes of Binary Codes Constructed on the Basis of Concanated Codes and Product Codes", IEEE Transaction on Information Theory, Vol. IT - 22, No. 4 (July 1976), p.462-468. In this case, first information I p is encoded to a product code of the compound minimum distance d 1 ·d 2 by using the partial codes of first information, i.e., (n 1 , k 1 , d 1 ) linear code C 1 and (n 2 , k 2 , d 2 ) linear code C 2 . Meanwhile, second information I s of (n 1 - k 1 ) × (n 2 - (d 1 ·d 2 - 1)) digits is encoded by an RS (Reed-Solomon) code on GF(2 r ) of the minimum distance d 1 ·d 2 - 1. Here, r = n 1 - k 1 and a code word C s of the RS code is superimposed on a check field C h (hatched portion in Fig. 2) of the product code. Next, an encoding operation will be explained. First information I p is encoded to a product code, while second information I s to an(n 2 , n 2 - d 1 ·d 2 + 1, d 1 ·d 2 - 1) RS code on GF(2 r ). When a code word of the product code is assumed as C p and a code word of the RS code as C s , code word C s is superimposed on a C 1 code check field C h of code word C p (C h is assumed to include a check field of linear code C 1 and a check field for this check field). Therefore, a code word C y after such superimposing is transmitted to a transmission line. Here, the i-th symbol R i of code word C s is expressed as R i = (R i1 , R i2 , ....., R ir ), and M i is defined as follows: M i = H i ⊕ R i = H i1 ⊕ R i1 , H i2 ⊕ R i2 , ....., H ir ⊕ R ir ) ⊕ means modulo-2 sum and H i designates a symbol of check field C h . Moreover, F i is defined as follows: F i = (I i , M i ) I i is an information symbol of linear code C 1 . Therefore, code word C y after the superimposing is expressed as a vector (F 1 , F 2 , ....., F q ) where q = n 2 . In addition, the article in the IEEE cited above shows the following theorem: Theorem: In case a product code is capable of correcting up to ten (10) errors, a code after the superimposing can correct t-fold random errors when the minimum distance D 1 of a superimposed code (the compound code explained above) satisfies the relationship t = (D 1 - 1)/2. Next, a decoding operation will be explained. Here, reencoding of a received information symbol series of a basic code (the product code mentioned above) for the purpose of separating a received word of the basic code and a superposed code is called "separation encoding". Further, internal check recovery by separation encoding is called "internal check recovery", while separation of a superimposed received word by modulo-2 sum of an internal check symbol and a received word is called "superimposing separation". An error newly added to a superimposed code word at the time of superimposing separation due to an error generated at the information symbol of the basic code is called a "pseudo-error". This pseudo-error coincides with a syndrome. Further a detailed explanation will be made with reference to a flowchart of Fig. 3 and an explanatory drawing of Fig. 4. A received word is shown in Fig. 4(a). In this figure, the hatched area indicates a redundant field. First, as shown in Fig. 4(B), C 1 separation encoding is carried out for each line of n 2 lines in a C 1 separation-encoding routine (step ST11) to obtain an internal check recovery symbol . Next, in a superimposing separation routine (step ST12), as shown in Fig. 4(C), internal check recovery symbol H i is modulo-2 summed with a check field of received word C y in order to separate a received word of the superimposed code. In a superimposed code decoding routine (step ST13), received word is decoded to obtain a decoded word C s and information I s is output as shown in Fig. 4(D). Moreover, a received word of the product code is separated in a product code recover routine (step ST14) by modulo-2 summing decoded word C s with check field . of received word . At this time, as shown in Fig. 4(E), a C 1 code check field H i * of the product code is recovered. Next, received word is decoded in a C 1 decoding routine (step ST15) to obtain an intermediate received word I p as shown in Fig. 4(F). Intermediate received word I p is decoded and information I p as shown in Fig. 4(G) is output in a C 2 decoding routine (step ST16). In the case where first information I p encoded with a product code is not superimposed by information obtained by encoding second information I s in the encoding and decoding operations explained with reference to Fig. 1, such a problem exists that sufficient error-correcting capability cannot be exerted if error-correction encoding is not carried out by providing wide check field because encoding is conducted with a code perfectly separating information I p and I s . Although the encoding and decoding explained with reference to Figs. 2-4 can remarkably reduce redundancy of a product code if the code word of information I s is superimposed on the check field of the product code, but the minimum distance of the superimposed code must be set as large as d 1 ·d 2 - 1 in order to transmit information I s , thereby necessitating complicated hardware structure. Furthermore, since the product code and the superimposed code must be separated at the time of decoding if the code word of information I s is superimposed on the product code, after internal check recovery symbol is generated by executing separation encoding, received word of the superimposed code is further separated from internal check recovery symbol and received word and the product code must be recovered by adding again decoded word C s obtained from received word to received word . Consequently, very complicated processings are required to be conducted to finally obtain information I p and I s as well as a longer decoding time required. DISCLOSURE OF INVENTION It is a general object of the present invention to solve the problems explained above. It is another object of the present invention to provide an error-correction encoding and/or decoding method which can reduce any influence from pseudo-error during superimposing separation and which is also capable of setting reliability of second information to a desired value independent of a reliability of first information. It is a further object of the present invention to provide an error-correction encoding and decoding method which is capable of enhancing error-correcting capability of a superimposed code U s up to 2 times as high as a conventional decoding system and which can transmit second information, if it is transmitted with a reliability similar to that in the conventional decoding system, with a redundancy substantially equal to half of that in the conventional decoding system. According to the present invention an error-correction method is provided, comprising (i) encoding, in a first direction, a first information of k 1 x k 2 digits having k 1 digits in the first direction and k 2 digits in a second direction to a first linear code (n 1 , k 1 , d 1 ) having a check symbol of (n 1 - k 1 ) digits and the minimum distance d 1 , (ii) encoding the first linear code in the second direction to a second linear code having a check symbol of (n 2 - k 2 ) digits and the minimum distance d 2 , (iii) thus resulting in encoding the first information to a product code C A of n 1 x n 2 digits, (iv) encoding a second information of the r x k x digits where r is smaller than the number of digits of the check symbol in the first direction and where k x is smaller than the code length of the second linear code, to a third linear code of the minimum distance d 3 , and (v) generate a composite code by superimposing a code word of the third linear code on a field on which the check symbol in the first or second direction of the product code is disposed. Further, according to the present invention an error -correction decoding method is provided comprising receiving a code word of a composite code generated as pointed out above as received word, decoding the composite code in the first direction to output the third linear code, decoding the third linear code to output the second information, and decoding the third linear code in the first direction to output the first information. BRIEF DESCRIPTION OF DRAWING Fig. 1 is a structural diagram indicating the structure of a conventional code word utilizing a product code and a block code; Fig. 2 is a structural diagram indicating the structure of a conventional code word utilizing a code superimposition; Fig. 3 is a flowchart indicating a conventional decoding method; Fig. 4 is a diagram for explaining a conventional decoding operation; Fig. 5 is a block diagram indicating the structure of an encoder to be used for an error-correction encoding and decoding system according to an embodiment of the present invention; Fig. 6 is a structural diagram indicating an example of the structure of a code word; Fig. 7 is a block diagram indicating the structure of a decoder for an error-correcting code encoded by the encoder of Fig. 5; Fig. 8 is a flowchart indicating a decoding method performed in the decoder of Fig. 7; Fig. 9 is a diagram for explaining a decoding operation of the decoder of Fig. 7; and Fig. 10 is a diagram for explaining operations of an improved error-correction encoding and decoding system of the present invention. DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION Some embodiments of the present invention will be explained hereunder. Fig. 5 is a block diagram indicating the structure of an embodiment of an encoder for realizing an error-correction encoding and decoding system according to the present invention. In this figure, the reference numeral 1 denotes an encoding memory for storing information I p (first information) and information I s (second information); 2, an address/data/control signal bus (hereinafter referred to as bus); 3, an encode control circuit; 4, a C 1 encoding unit (first encoding unit) for performing the encoding in the row direction (first direction); 5, a C 2 encoding unit (second encoding unit) for performing the encoding in the column direction (second direction); 6, a C 3 encoding unit (third encoding unit) for encoding a superimposed code (third linear code). It is assumed that the first information has k 1 × k 2 digits, the second information I s having r × k x digits (where r is an adequate number satisfying the relationship r < n 1 - k 1 and k x is an adequate number satisfying the relationship k x < n 2 ). Next, an operation of the encoder shown in Fig. 5 will be explained. Information I p of k 1 × k 2 digits stored in encoding memory 1 is input for each set of k 1 digits to C 1 encoding unit 4 under the control of encode control circuit 3. The encoding is carried out for each input digit and a code word of n 1 digits is generated. This processing is repeated k 2 times and an intermediate code word of k 2 × n 1 digits is generated. In addition, the intermediate code word is input for each set of k 2 digits to C 2 encoding unit 5 under the control of encode control circuit 3. Encoding is carried out for each input digit to generate a code word of n 2 digits. The processing is repeated n 1 times to generate a code word of a product code C A of n 1 × n 2 digits. Meanwhile, information I s of r × k x digits stored in encoding memory 1 is encoded by C 3 encoding unit 6 to a (n 2 , k x , d 3 ) linear code (superimposed code U s ) having the minimum distance d 3 to generate a code word. A code word C s of superimposed code U s is superimposed on a part C ℓ (hatched portion in Fig. 6) in the row direction of the code word of the product code through bus 2 under the control of encode control circuit 3. Finally, an error-correcting code word C z is generated. The structure of error-correcting code word C z is shown in Fig. 6. Fig. 7 is a block diagram indicating the structure of an embodiment of a decoder for decoding the code word encoded by the encoder of Fig. 5. In Fig. 7, the reference numeral 11 denotes a decoding memory for recovering a received word; 12 an address/data/control signal bus; 13 a decode control circuit for controlling each unit through address/data/control signal bus 12 and executing a decoding operation; 14 a C 1 decoding unit for decoding a received word C 1 which is a partial code word of received product code C A ; 15 a C 2 decoding unit for decoding a received word C 2 ; 16 a C 3 decoding unit for executing elimination/error decoding of superposed received word C 3 after superimposing and separating superimposed received word C 3 from the superimposing field of received error-correcting code C z stored in decoding memory 11. An operation of the decoder shown in Fig. 7 will then be explained with reference to a flowchart of Fig. 8 and an explanatory diagram of Fig. 9. A received word (hereinafter a received code or code word is only called a received word) of n 1 × n 2 digits received from the transmission line and stored in decoding memory 11 is then input to C 1 decoding unit 14 by a command of decode control circuit 13. The structure of received word is shown in Fig. 9(A). C 1 decoding unit 14 considers a field of r × n 2 digits on which a code U s is superimposed as an elimination pattern and received word C 1 is decoded n 2 times (step ST21). Namely, decoding is carried out for each of n 2 rows. At this time, r superimposed symbols are considered as eliminated symbols and t errors and r eliminations are corrected in the range where 2t + r < d . As a result of this correction, when n 2 received words in the row direction have been decoded, a recovered elimination error pattern becomes a received word of code word C s of superimposed code U s (code word C s plus transmission line error), namely, received word is superimposed and separated from received error-correcting code C z (refer to Fig. 9(B)). Next, receiving word is decoded by C 3 decoding unit 16 (step ST22) to output information I s (refer to Fig. 9(C)). Also, C 2 decoding unit 15 repeatedly decodes those decoded by C 1 decoding unit 14 n 1 times (step ST23) thereby completing the decoding of the product code and outputs information I p (refer to Fig. 9(D)). In the above embodiment, an example where a code word of a superimposed code is superimposed on the check symbol field of the codes in the row direction of the product code has been explained, but a similar advantages can also be obtained by superimposing such a code word on the check symbol field of the codes in the column direction. As will be understood from the above explanation, the present invention is advantageous in that, since an encoder for an error-correcting code is structured to superimpose a code word of a superimposed code only on a part of the check symbol field of a product code, an error correcting capability of the superimposed code can be arbitrarily set and a received word of the superimposed code can simultaneously be recovered in a decoding side at the time of decoding the product code in one direction. Moreover, the present invention is advantageous in that, since a decoder for an error-correcting code is structured to receive a code word made by superimposing a code word of the superimposed code only on a part of the check symbol field of the product code so as to recover a received word of the superimposed code at the time of decoding the product code in one direction, any influence of pseudo-error can be prevented without any necessity of superimposing and separating the product code and the superimposed code and high speed decoding can be achieved. The present invention is further advantageous in that, since the part on which a code word of a superimposed code is superimposed at the time of decoding a product code in one direction is decoded as eliminated digits, a received word of the superimposed code can be simultaneously recovered, high speed decoding can be achieved and any restriction to the error-correcting capability of a superimposed code can be removed. In the error-correction decoding system explained with reference to Fig. 7 - Fig. 9, correct second information I s can be obtained as long as superimposed code U s has sufficient error-correcting capability. Namely, recovered superimposed received word C s can be obtained as an elimination pattern in decoding received word C 1 , but the obtained elimination pattern is a result obtained by modulo-2 summing superimposed code U s with errors generated on this superimposed code U s . Therefore, if decoding of received word C 1 is not carried out correctly, an elimination pattern cannot be recovered correctly, resulting in an error (not elimination but pure error) of recovered superimposed received word C s . However, as shown, for example, in Fig. 10, in the case where random error 20 and burst error 21 exceeding the correcting capability of received word C 1 are generated, an elimination flag 22 is output with respect to superimposed received word C s when it is judged that correction is impossible by a syndrome of C 1 decoding unit 14 or when correction is possible but reliability is low. Superimposed received word C s thus recovered is corrected as an elimination symbol by C 3 decoding unit because no symbol is recovered at the point where elimination flag 22 is set. Such operations as described above are carried out based on instructions of decode control circuit 13. Assuming that the minimum distance of superimposed code U s is D, that S eliminations are generated by decoding received word C 1 and that recovered superimposed received code C s includes n e error symbols due to error correction of receiving word C 1 or overlooked error, n e errors and S eliminations can be corrected in the range where 2n e + S < D When all errors in decoding received word C 1 can successfully be corrected (namely n e = 0), S becomes equal to (D - 1) indicating that error correction as high as 2-fold of that in the ordinary correction can be realized. In an embodiment of the present invention, the first information of k 1 × k 2 digits is converted to a linear code of (n 2 - k 2 ) digits in the second direction with the minimum distance d 2 , but it is possible to construct an encoder which generates a composite code by linearly encoding the second information of r × k r digits in the second direction for superimposition and a decoder which decodes the first and second information from the received word encoded by the encoder, if the first information is comprised of k 1 × n 2 digits and no linear encoding is performed in the second direction. As explained above, an elimination flag is added to a relevant symbol of a corresponding superimposed received word C s by utilizing decoding information of a received word C 1 , and elimination error decoding is conducted on a recovered superimposed received word C s . Accordingly, the error-correcting capability of an error-correcting code U s of a superimposed code U s can be enhanced up to 2 times in comparison with that of a conventional decoding system. Further, in the case of transmission of information having a reliability similar to that of the conventional system, an error-correction decoding system which can transmit the second information with a redundancy of about half of that in the conventional decoding system can be realized.

Claims: Error-correction encoding method comprising (i) encoding, in a first direction, a first information of k 1 x k 2 digits having k 1 digits in the first direction and k 2 digits in a second direction to a first linear code (n 1 , k 1 , d 1 ) having a check symbol of (n 1 - k 1 ) digits and the minimum distance d 1 , (ii) encoding the first linear code in the second direction to a second linear code having a check symbol of (n 2 - k 2 ) digits and the minimum distance d 2 , (iii) thus resulting in encoding the first information to a product code C A of n 1 x n 2 digits, (iv) encoding a second information of the r x k x digits where k x is smaller than the code length of the second linear code, to a third linear code of the minimum distance d 3 , and (v) generate a composite code by superimposing a code word of the third linear code on a field on which the check symbol in the first or second direction of the product code is disposed, characterized in that the number of digits r is smaller than the number of digits of the check symbol in the first direction. Error-correction decoding method for decoding a code word of a composite code generated by encoding, in a first direction, a first information of k 1 x k 2 digits having k 1 digits in the first direction and k 2 digits in a second direction to a first linear code (n 1 , k 1 , d 1 ) having a check symbol of (n 1 - k 1 ) digits and the minimum distance d 1 , encoding the first linear code in the second direction to a second linear code having a check symbol of (n 2 - k 2 ) digits and the minimum distance d 2 , thus resulting in encoding the first information to a product code C A of n 1 x n 2 digits, encoding a second information of the r x k x digits where r is smaller than the number of digits of the check symbol in the first direction and where k x is smaller than the code length of the second linear code, to a third linear code of the minimum distance d 3 , and superimposing a code word of the third linear code on a field on which the check symbol in the first or second direction of the product code is disposed, receiving the code word as received word, decoding the composite code in the first direction to output the first linear code, decoding the third linear code to output the second information, and decoding the first linear code in the first direction to output the first information. Decoding method according to claim 2, wherein the code word of the composite code in the first direction is decoded by considering the digits on which the code word of the third linear code is superposed as elimination digits, and obtaining a recovered elimination/error pattern. An error correction encoding and decoding method, comprising the encoding method of claim 1 and the decoding method of claim 2 or 3. An encoder for carrying out the coding method of claim 1, comprising a first encoding unit (4) for encoding a first information of k 1 x k 2 digits with k 1 digits in the first direction and k 2 digits in the second direction to the first linear code having the check symbol of (n 1 - k 1 ) digits with the minimum distance d 1 , a second encoding unit (15) for encoding the first linear code, in the second direction, to the second linear code having the check symbol of (n 2 - k 2 ) digits with the minimum distance d 2 , thereby encoding the first information to a product code of n 1 x n 2 digits, the encoder further comprising a third encoding unit (16) for encoding the second information of r x k x digits which is a product of the number of digits r and the number of digits k x which is shorter than the code length of the second linear code to the third linear code of the minimum distance d 3 , and an encode control circuit (3) for generating a composite code by superimposing a code word of the third linear code on a field on which the check symbol in the first direction of the product code is disposed, characterized in that the number of digits r is smaller than the number of digits of the check symbol in the first direction. A decoder for carrying out the decoding method of claim 2 for decoding a code word of a composite code generated by encoding, in a first direction, a first information of k 1 x k 2 digits having k 1 digits in the first direction and k 2 digits in a second direction to a first linear code (n 1 , k 1 , d 1 ) having a check symbol of (n 1 - k 1 ) digits and the minimum distance d 1 , encoding the first linear code in the second direction to a second linear code having a check symbol of (n 2 - k 2 ) digits and the minimum distance d 2 , thus resulting in encoding the first information to a product code C A of n 1 x n 2 digits, encoding a second information of the r x k x digits where r is smaller than the number of digits of the check symbol in the first direction and where k x is smaller than the code length of the second linear code, to a third linear code of the minimum distance d 3 , and superimposing a code word of the third linear code on a field on which the check symbol in the first or second direction of the product code is disposed, the decoder comprising a first decoding unit (14) which receives a code word of the composite code as a received word to decode the code of the composite code in the first direction so as to output a received word of the third linear code, a third decoding unit (16) which decodes the second information from the received word of the output third linear code or the recovered elimination/error pattern, and a second decoding unit (15) which decodes the first information from the decoding output of first decoding unit. Error-correction encoding and decoding system, comprising an encoder according to claim 5 and an decoder according to claim 6.

Inventors: INOUE TOHRU, YOSHIDA HIDEO, INOUE, TOHRU, YOSHIDA, HIDEO, INOUE, TOHRU, MITSUBISHI DENKI KABUSHIKI KAISHA, YOSHIDA, HIDEO, MITSUBISHI DENKI KABUSHIKI KAISHA
Applicants: MITSUBISHI ELECTRIC CORP, MITSUBISHI DENKI KABUSHIKI KAISHA
Application year: 1991
Main classification: H03M13
IPC codes: H04L1, H03M13