KR100239798B1 - Error correction method in the reproduction of digital signal and apparatus therefor - Google Patents

Error correction method in the reproduction of digital signal and apparatus therefor Download PDF

Info

Publication number
KR100239798B1
KR100239798B1 KR1019970010382A KR19970010382A KR100239798B1 KR 100239798 B1 KR100239798 B1 KR 100239798B1 KR 1019970010382 A KR1019970010382 A KR 1019970010382A KR 19970010382 A KR19970010382 A KR 19970010382A KR 100239798 B1 KR100239798 B1 KR 100239798B1
Authority
KR
South Korea
Prior art keywords
error
plug
error correction
equation
determination
Prior art date
Application number
KR1019970010382A
Other languages
Korean (ko)
Other versions
KR19980074516A (en
Inventor
이석정
Original Assignee
윤종용
삼성전자주식회사
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 윤종용, 삼성전자주식회사 filed Critical 윤종용
Priority to KR1019970010382A priority Critical patent/KR100239798B1/en
Publication of KR19980074516A publication Critical patent/KR19980074516A/en
Application granted granted Critical
Publication of KR100239798B1 publication Critical patent/KR100239798B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • G11B2020/14618 to 14 modulation, e.g. the EFM code used on CDs or mini-discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1836Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a Reed Solomon [RS] code

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 디지털 신호의 재생에 있어서 데이터 에러정정에 관한 것으로서, 특히 리드-솔로몬(Reed-Solomon) 부호를 사용하여 데이터의 에러를 정정하기 위한 에러정정방법 및 그에 적용되는 장치에 관한 것이다. 이는 디지털 신호의 재생에 있어 리드-솔로몬(Reed-Solomon) 부호를 사용하여 데이터의 에러를 정정하기 위한 에러정정방법에 있어서, 수신신호로부터 신드롬을 계산하는 단계(400단계); 상기 신드롬 계산단계(400단계)에서 계산된 신드롬에 의해 에러갯수 판별식을 이용하여 에러갯수를 판별하는 단계(402단계); 상기 에러갯수 판별단계(402단계)에서 판별된 에러의 개수에 따라 에러정정을 수행하는 단계(404단계); 상기 에러개수 판별단계(402단계)에서 판별된 에러의 개수가 '0'이거나 상기 에러정정단계(404단계)를 수행한 후에 시스템의 상태검색을 수행하는 상태검색단계(406단계); 및 상기 상태 검색단계(406단계)에서 검색된 상태의 양호 여부 및 상기 에러 개수 판별단계(402단계)에서 판별된 에러의 개수가 '3' 이상임을 판단하여 플러그를 "0" 또는 "1"로 설정하는 플러그 설정단계(408단계)를 갖는 C1 디코딩 과정 그리고, 수신신호로부터 신드롬을 계산하는 신드롬 계산단계(500단계); 상기 신드롬 계산단계(500단계)에서 계산된 시드롬에 의해 에러개수 판별식을 이용하여 에러개수를 판별하는 에러개수 판별단계(502단계); 상기 에러개수 판별단계(502단계)에서 판별된 에러의 개수가 '2'로 판단되면 현재의 에러 위치가 상기 C1 디코딩 과정의 플러그 설정단계(408단계)에서 설정된 에러의 위치와 일치하는가를 판단하는 플러그 일치 여부판단단계(504단계); 상기 에러개수 판별단계(502단계) 및/또는 상기 플러그 일치여부 판단단계(504단계)를 통하여 상기 에러개수 판별단계(502단계)에서 판별된 에러개수가 '1'개 이면 '1' 에러 정정을 수행하고, 상기 플러그 일치 여부 판단단계(504단계)의 판단이 현재 검출된 에러의 위치와 C1 디코딩 과정에서 설정된 에러의 위치가 일치하면 '2' 에러 정정을 수행하는 에러정정단계(506단계); 상기 에러개수 판별단계(502단계)의 판단이 현재 검출된 에러의 개수가 '2'를 초과하면 이레이저 정정여부를 판단하는 이레이저 정정여부 판단단계(508)단계; 상기 이레이저 정정여부 판단단계(508)의 판단이 'ON'이면 플러그의 개수를 판단하는 플러그 개수 제1판단단계(510단계); 상기 플러그 개수 제1판단단계(510단계)에서 판단된 플러그의 개수가 '3' 또는 '4'이면 '3'/'4' 이레이저 정정을 수행하는 '3'/'4' 이레이저 정정단계(512단계); 상기 '3'/'4' 이레이저 정정단계(512단계)에서 '3' 또는 '4' 이레이저 정정이 수행되고 난 후, 이레이저 정정이 올바른 수행 여부를 확인하기 위하여 검산을 수행하는 검산단계(514단계); 상기 플러그 일치 여부 판단단계(504단계) 및/또는 상기 이레이저 정정여부 판단단계(508단계)를 통하여 상기 플러그 이치 여부 판단단계(504단계)의 판단이 현재 검출된 에러의 위치와 C1 디코딩 과정에서 설정된 에러의 위치가 일치하지 않거나 또는 상기 이레이저 정정여부 판단단계(508)의 판단이 'OFF'이면 플러그의 개수를 판단하는 플러그 개수 제2판단단계(516단계); 상기 신드롬 계산단계(500단계) 내지 상기 플러그 개수 제2판단단계(516)가 수행되고 난 후 플러그를 설정하는 플러그 설정단계(518단계)를 갖는 C2 디코딩 과정을 포함한다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to data error correction in digital signal reproduction, and more particularly, to an error correction method for correcting an error in data using a Reed-Solomon code and an apparatus applied thereto. In the error correction method for correcting an error of data using a Reed-Solomon code in the reproduction of a digital signal, the method comprising: calculating a syndrome from a received signal (step 400); Determining an error number using an error number determination equation based on the syndrome calculated in the syndrome calculation step (step 400); Performing error correction according to the number of errors determined in the error number determination step (402) (step 404); A status search step (406) of performing a status search of a system after performing the error correction step (404) or the number of errors determined in the error number determination step (402); And setting the plug to "0" or "1" by determining whether the state searched in the state search step (406) is good or the number of errors determined in the error number determination step (402) is greater than or equal to '3'. A C1 decoding process having a plug setting step (408), and a syndrome calculation step (500) for calculating a syndrome from the received signal; An error number determination step (502) of determining an error number using an error number determination equation by the seed calculated in the syndrome calculation step (500); If the number of errors determined in the error number determination step (502) is determined to be '2', it is determined whether the current error position matches the error position set in the plug setting step (408) of the C1 decoding process. Determining whether a plug is matched (step 504); If the number of errors determined in the error number determination step (502) through the error number determination step (502) and / or the plug match determination step (504) is '1' error correction is performed. An error correction step (506) of performing a “2” error correction when the location of the error detected in the plug matching determination step (504) and the location of the error set in the C1 decoding process coincide; An erasure correction determination step (508) of determining whether or not the error count determination step (502) determines whether the error is corrected when the number of currently detected errors exceeds '2'; A first plug determination step (510) of determining the number of plugs when the determination of the erasure correction determination step (508) is 'ON'; '3' / '4' erasure correction step for performing '3' / '4' erasure correction when the number of plugs determined in the first determination step (510) is '3' or '4' (Step 512); After the '3' or '4' eraser correction is performed in the '3' / '4' eraser correcting step (step 512), a checking step of performing checking to confirm whether the eraser correction is performed correctly. (Step 514); In the plug matching determination step (504) and / or the erasure correction determination step (508), the determination of the plug value determination step (504) is performed in the position of the currently detected error and the C1 decoding process. A second plug determination step (516) of determining the number of plugs when the position of the set error does not match or the determination of the eraser correction determination (508) is 'OFF'; And a plug setting step (518) for setting a plug after the syndrome calculation step (500) to the plug number second determination step (516) are performed.

Description

디지털 신호의 재생에 있어 에러 정정방법 및 그에 적용되는 장치{Error correction method in the reproduction of digital signal and apparatus therefor}Error correction method in the reproduction of digital signal and apparatus therefor}

본 발명은 디지털 신호의 재생에 있어서 데이터 에러정정에 관한 것으로서, 특히 리드-솔로몬(Reed-Solomon) 부호를 사용하여 데이터의 에러를 정정하기 위한 에러정정방법및 그에 적용되는 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to data error correction in digital signal reproduction, and more particularly, to an error correction method for correcting an error in data using a Reed-Solomon code and an apparatus applied thereto.

일반적으로, 디지털 신호의 전송 혹은 기록하는 경우에 있어서 전송 시스템상의 노이즈로 인하여 데이터에 에러가 발생될 수 있다. 이러한 에러를 가능하면 방지하기 위해서 데이터를 전송하거나 기록할 때 체크워드(Check Word)를 부가하여 에러 데이터를 정정한다.In general, when transmitting or recording a digital signal, an error may occur in the data due to noise on the transmission system. In order to prevent such an error if possible, a check word is added when data is transmitted or recorded to correct the error data.

컴팩트 디스크 플레이어에서 에러 정정을 위해 이용되는 부호는 통상적으로 논바이너리(Non-binary) BCH 부호의 한 부류인 리드-솔로몬 부호이다. 리드-솔로몬 부호의 능력은 산발오류(Random Error) 뿐만 아니라 연집오류(Burst Error)까지도 정정이 가능한 것이다. 그런데 이러한 리드-솔로몬 부호를 이용의 단점은 리드-솔로몬 부호는 유한체 GF(2m)의 원소를 심벌(Symbol)로 하는 블록(block) 계열 부호이므로 바이너리(binary) BCH 부호와는 달리 에러값(error value)를 구해야 하는 등 복호화 과정이 매우 복잡하다. 특히, 에러정정능력, 유한체의 크기, 및 유한체 연산의 종류와 횟수 등에 의해 시스템의 복잡도가 크게 좌우되며, 복호화하는데 소요되는 시간도 시스템의 복잡도에 비례하여 길어진다.The code used for error correction in compact disc players is typically the Reed-Solomon code, which is a class of Non-binary BCH codes. Reed-Solomon code's ability can correct not only random error but also burst error. However, the disadvantage of using the Reed-Solomon code is that the Reed-Solomon code is a block-based code that uses the element of the finite field GF (2 m ) as a symbol, so unlike the binary BCH code, it is an error value. The decoding process is very complicated, such as the need to obtain an error value. In particular, the complexity of the system depends largely on the error correction capability, the size of the finite field, the type and number of finite field operations, and the time required for decoding also increases in proportion to the complexity of the system.

도 1a는 종래 기술의 에러정정시 플러그(flag) 처리 방법에 따른 C1 디코딩 알고리즘을 보이는 도면이다.FIG. 1A illustrates a C1 decoding algorithm according to a plug processing method of error correction in the prior art.

신드롬(Syndrome)을 계산한다.(100단계)Calculate the Syndrome (Step 100)

상기 100단계에서 계산된 신드롬에 대하여 에러의 개수가 "0"개 인가를 판단한다.(102단계)It is determined whether the number of errors is "0" with respect to the syndrome calculated in step 100 (step 102).

상기 102단계의 판단이 에러의 개수가 "0"이면, 플러그(flag)를 "0"으로 하고 종료한다.(104단계)In step 102, if the number of errors is " 0 ", the plug is set to " 0 " (step 104).

상기 102단계의 판단이 에러의 개수가 "0"이 아니면, 에러의 개수가 "1"인가를 판단한다.(106단계)In step 102, if the number of errors is not "0", it is determined whether the number of errors is "1" (step 106).

상기 106단계의 판단이 에러의 개수가 "1"이면, 1 에러정정을 수행한다.(108단계)In step 106, if the number of errors is "1", 1 error correction is performed (step 108).

상기 108단계에서 1 에러정정을 수행하고 나면, 플러그(flag)를 "0"으로 하고 종료한다.(104단계)After 1 error correction is performed in step 108, the plug is set to " 0 " (step 104).

상기 106단계의 판단이 에러의 개수가 "1"이 아니면, 에러의 개수가 "2"인가를 판단한다.(110단계)In step 106, if the number of errors is not "1", it is determined whether the number of errors is "2" (step 110).

상기 110단계의 판단이 에러의 개수가 "2"이면, 2 에러정정을 수행한다.(112단계)In step 110, if the number of errors is "2", 2 error correction is performed (step 112).

상기 110단계의 판단이 에러의 개수가 "2"가 아니거나, 상기 112단계에서 2 에러정정을 수행하고 난 후에 플러그(flag)를 "1"로 하고 종료한다.(114단계)In step 110, the number of errors is not "2", or after performing 2 error correction in step 112, the plug is set to "1" and ends (step 114).

도 1b는 종래 기술의 에러 정정시 플러그(flag) 처리방법에 따른 C2 디코딩 알고리즘을 보이는 도면이다.FIG. 1B illustrates a C2 decoding algorithm according to a plug processing method of error correction in the prior art.

신드롬(Syndrome)을 계산한다.(150단계)Calculate the Syndrome (Step 150)

상기 150단계에서 계산된 신드롬에 대해서 에러의 개수가 "0"개 인가를 판단한다.(152단계)It is determined whether the number of errors is "0" for the syndrome calculated in step 150 (step 152).

상기 152단계의 판단이 에러의 개수가 "0"이면, 플러그(flag)를 "0"으로 하고 종료한다.(154단계)If the determination of step 152 is that the number of errors is "0", the plug is set to "0" and ends (step 154).

상기 152단계 판단이 에러의 개수가 "0"이 아니면, 에러의 개수가 "1"인가를 판단한다.(156단계)In step 152, if the number of errors is not "0", it is determined whether the number of errors is "1" (step 156).

상기 156단계의 판단이 에러의 개수가 "1이면, 1 에러정정을 수행한다.(158단계)In step 156, if the number of errors is "1," 1 error correction is performed.

상기 158단계에서 1 에러정정을 수행하고 나면, 플러그(flag)를 "0"으로 하고 종료한다.(154단계)After 1 error correction is performed in step 158, the plug is set to " 0 " (step 154).

상기 156단계의 판단이 에러의 개수가 "1"이 아니면, 에러의 개수가 "2"인가를 판단한다.(160단계)In step 156, if the number of errors is not "1", it is determined whether the number of errors is "2" (step 160).

상기 160단계의 판단이 에러의 개수가 "2"이면, 플러그를 체크한다.(162단계)In step 160, if the number of errors is "2", the plug is checked.

상기 162단계의 체크된 결과가 "good"이면, 2 에러정정을 수행한다.(164단계)If the checked result of step 162 is "good", 2 error correction is performed.

상기 164단계에서 2 에러정정을 수행하고 난 후, 플러그(flag)를 "0"으로 하고 종료한다.(154단계)After performing 2 error corrections in step 164, the plug is set to " 0 " (step 154).

상기 162단계의 체크된 결과가 "bad"이면, 플러그의 개수가 "2"보다 큰가를 판단한다.(166단계)If the checked result of step 162 is "bad", it is determined whether the number of plugs is larger than "2" (step 166).

상기 166단계의 판단이 플러그의 개수가 "2"보다 크면 플러그를 복사하고 종료한다.(168단계)If the number of plugs is greater than "2" in step 166, the plug is copied and ends.

상기 166단계의 판단이 플러그의 개수가 "2"보다 크지 않으면, 플러그를 "1"로 하고 종료한다.(170단계)If the number of plugs is not greater than " 2 ", the determination of step 166 ends with the plug " 1 " (step 170).

컴팩트 디스크 플레이어 기기에 사용되는 리드-솔로몬(Reed-Solomon) 에러정정장치에서는 C1 코드에서 2 에러까지 정정하고, C2 코드에서는 4 이레이저(erasure)까지 정정이 가능하나 실제로는 2 에러까지만 정정하였다. 2에러만 정정할 경우 버스트 에러(burst error)가 부호어 개수로 8개 이상이 발생하면 에러정정을 할 수 없으나 4 이레이저 정정을 할 경우 16개의 부호어까지 연속적으로 에러가 발생하여도 에러정정을 할 수 있는 장점이 있다. 그러나, 최대의 에러 정정을 행할 경우 8/14변조 데이터가 부정확하거나 플레이어 동작 상태가 불안정하면 오정할 수 있는 확률이 매우 커진다.The Reed-Solomon error correcting device used in the compact disc player device can correct up to 2 errors in the C1 code, and up to 4 erasures in the C2 code, but only up to 2 errors. If only 2 errors are corrected, if 8 or more burst errors occur as the number of codewords, error correction is not possible.However, if 4 errors are corrected, error correction is possible even if 16 errors occur consecutively. There is an advantage to doing this. However, when the maximum error correction is performed, the probability of miscorrection becomes very large if the 8/14 modulation data is incorrect or the player operation state is unstable.

따라서 본 발명의 목적은 종래 기술의 문제점을 개선하기 위하여 안출된 것으로서 에러 정정 능력을 최대한 발휘하면서, 보다 간단한 구조를 가지면 신속하게 수행하는 복호 알고리즘을 갖는 에러 정정방법을 제공함에 있다.Accordingly, an object of the present invention is to provide an error correction method having a decoding algorithm that is designed to improve the problems of the prior art, while exhibiting the maximum error correction capability and having a simpler structure.

본 발명의 다른 목적은 상기 목적의 에러 정정방법에 적용되는 에러 정정장치를 제공함에 있다.Another object of the present invention is to provide an error correction apparatus applied to the error correction method of the above object.

도 1a는 종래 기술의 에러 정정시 플러그(flag) 처리방법에 따른 C1 디코딩 알고리즘을 보이는 도면이다.1A is a diagram illustrating a C1 decoding algorithm according to a plug processing method of error correction in the prior art.

도 1b는 종래 기술의 에러 정정시 플러그(flag) 처리방법에 따른 C2 디코딩 알고리즘을 보이는 도면이다.FIG. 1B illustrates a C2 decoding algorithm according to a plug processing method of error correction in the prior art.

도 2는 본 발명에 적용되는 일반적인 리드-솔로몬 부호의 신드롬 발생장치의 블록도이다.2 is a block diagram of a syndrome generator of a general Reed-Solomon code according to the present invention.

도 3a는 본 발명이 적용되는 일반적인 리드-솔로몬 부호의 신드롬 발생장치로서 수학식 5의 s0를 구현한 장치도이다.3A is a schematic diagram of a device for implementing s 0 of Equation 5 as a syndrome generator of a general Reed-Solomon code to which the present invention is applied.

도 3b는 본 발명이 적용되는 일반적인 리드-솔로몬 부호의 신드롬 발생장치로서 수학식 5의 s1을 구현한 장치도이다.FIG. 3b is a device diagram of s 1 of Equation 5 as a syndrome generator of a general Reed-Solomon code to which the present invention is applied.

도 3c는 본 발명에 적용되는 일반적인 리드-솔로몬 부호의 신드롬 발생장치로서 수학식 5의 s2를 구현한 장치도이다.FIG. 3C is a schematic diagram of a device for implementing s 2 of Equation 5 as a syndrome generator of a general Reed-Solomon code according to the present invention.

도 3d는 본 발명이 적용되는 일반적인 리드-솔로몬 부호의 신드롬 발생장치로서 수학식 5의 s3를 구현한 장치도이다.FIG. 3D is a device diagram implementing s 3 of Equation 5 as a syndrome generator of a general Reed-Solomon code to which the present invention is applied.

도 4는 본 발명에 따른 에러정정방법으로서 C1 디코딩 알고리즘의 흐름도이다.4 is a flowchart of a C1 decoding algorithm as an error correction method according to the present invention.

도 5는 본 발명에 따른 에러 정정방법으로서 C2 디코딩 알고리즘의 흐름도이다.5 is a flowchart of a C2 decoding algorithm as an error correction method according to the present invention.

도 6a 내지 도 6b는 본 발명에 따른 에러 정정장치의 블록도이다.6A to 6B are block diagrams of an error correction apparatus according to the present invention.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 에러정정방법은 디지털 신호의 재생에 있어 리드-솔로몬(Reed-Solomon) 부호를 사용하여 데이터의 에러를 정정하기 위한 에러 정정방법에 있어서, 신드롬을 계산하는 단계(400단계); 상기 신드롬 계산단계(400단계)에서 계산된 신드롬에 의해 에러개수 판별식을 이용하여 에러 개수를 판별하는 단계(402단계); 상기 에러개수 판별단계(402단계)에서 판별된 에러의 개수에 따라 에러정정을 수행하는 단계(404단계); 상기 에러개수 판별단계(402단계)에서 판별된 에러의 개수가 '0'이거나 상기 에러정정단계(404단계)를 수행한 후에 시스템의 상태 검색을 수행하는 상태검색단계(406단계); 및 상기 상태 검색단계(406단계)에서 검색돈 상태의 양호 여부 및 상기 에러 개수 판별단계(402단계)에서 판별된 에러의 개수가 '3'이상임을 판단하여 플러그를 "0" 또는 "1"로 설정하는 플러그 설정단계(408)단계)를 갖는 C1디코딩 과정 그리고, 수신신호로부터 신드롬을 계산하는 신드롬 계산단계(500단계); 상기 신드롬 계산단계(500단계)에서 계산된 신드롬에 의해 에러개수 판별식을 이용하여 에러개수를 판별하는 에러개수 판별단계(502단계); 상기 에러개수 판별단계(502단계)에서 판별된 에러의 개수가 '2'로 판단되면 현재의 에러 위치가 상기 C1디코딩 과정의 플로그 설정단계(408단계)에서 설정된 에러의 위치와 일치하는가를 판단하는 플러그 일치 여부 판단단계(504단계); 상기 에러개수 판별단계(502단계) 및/또는 상기 플러그 일치 여부 판단단계(504단계)를 통하여 상기 에러개수 판별단계(502단계)에서 판별된 에러개수가 '1'개이면 '1'에러정정을 수행하고, 상기 플러그 일치 여부 판단단계(504단계)의 판단이 현재 검출된 에러의 위치와 C1디코딩 과정에서 설정된 에러의 위치가 일치하면 '2'에러 정정을 수행하는 에러정정단계(506단계); 상기 에러개수 판별단계(502단계)의 판단이 현재 검출된 에러의 개수가 '2'를 초과하면 이레이저 정정여부를 판단하는 이레이저 정정 여부 판단단계(508단계); 상기 이레이저 정정여부 판단단계(508)의 판단이 'ON'이면 플러그의 개수를 판단하는 플러그 개수 제1판단단계(510단계); 상기 플러그 개수 제1판단단계(510단계)에서 판단된 플러그의 개수가 '3' 또는 '4'이면 '3'/'4' 이레이저 정정을 '3'/'4' 이레이저 정정단계(512단계); 상기 '3'/'4' 이레이저 정정단계(512단계)에서 '3' 또는 '4' 이레이저 정정이 수행되고 난 후, 이레이저 정정이 올바른 수행 여부를 확인하기 위하여 검산을 수행하는 검산단계(514단계; 상기 플러그 일치 여부 판단단계(504단계) 및/또는 상기 이레이저 정정여부 판단단계(508단계)를 통하여 상기 플러그 일치 여부 판단단계(504단계)의 판단이 현재 검출된 에러의 위치와 C1 디코딩 과정에서 설정된 에러의 위치가 일치하지 않거나 또는 상기 이레이저 정정 여부 판단단계(508)의 판단이 'OFF'이면 플러그의 개수를 판단하는 플러그 개수 제2판단단계(516단계); 상기 신드롬 계산단계(500단계) 내지 상기 플러그 개수 제2판단단계(516)가 수행되고 난 후 플러그를 설정하는 플러그 설정단계(518단계)를 갖는 C2 디코딩 과정을 포함한다.The error correction method of the present invention for achieving the above object is to calculate the syndrome in the error correction method for correcting the error of the data using the Reed-Solomon code in the reproduction of the digital signal Step (step 400); Determining an error number using an error number determination equation based on the syndrome calculated in the syndrome calculation step (step 400); Performing error correction according to the number of errors determined in the error number determination step (402) (step 404); A status search step (step 406) of performing a status search of a system after performing the error correction step (404) or the number of errors determined in the error number determination step (402); And the plug is determined to be "0" or "1" in the state retrieval step (406) to determine whether the retrieval state is good and the number of errors determined in the error number determination step (402) is greater than or equal to '3'. A C1 decoding process having a plug setting step (408) step of setting and a syndrome calculation step (step 500) of calculating a syndrome from a received signal; An error number determination step (502) of determining an error number using an error number determination equation by the syndrome calculated in the syndrome calculation step (500); If the number of errors determined in the error number determination step (502) is determined to be '2', it is determined whether the current error position matches the position of the error set in the plug setting step (408) of the C1 decoding process. Determining whether a plug is matched (step 504); If the number of errors determined in the error number determination step (502) through the error number determination step (502) and / or the plug match determination step (504) is '1' error correction is performed. An error correction step (506) of performing error correction if the location of the error detected in the plug matching determination step (504) and the location of the error set in the C1 decoding process match; An erasure correction determination step (508) of determining whether an error is corrected if the number of errors currently detected in the error number determination step (502) exceeds '2'; A first plug determination step (510) of determining the number of plugs when the determination of the erasure correction determination step (508) is 'ON'; If the number of plugs determined in the first determination step (510) is '3' or '4', the '3' / '4' eraser correction is performed by '3' / '4' erasure correction (512). step); After the '3' or '4' eraser correction is performed in the '3' / '4' eraser correcting step (step 512), a checking step of performing checking to confirm whether the eraser correction is performed correctly. The determination of the plug matching determination step (504) through the plug matching determination step (504) and / or the erasure correction determination step (508) is performed by the step (504). A second plug determination step (516) of determining the number of plugs when the position of the error set during the C1 decoding process does not match or the determination of the erasure correction step (508) is 'OFF'; And a plug setting step (step 518) of setting a plug after the plug number second determination step 516 is performed.

상기 신드롬 계산단계(400단계)에서 단일 심벌 에러 발생시의 신드롬은The syndrome when a single symbol error occurs in the syndrome calculation step 400 is

Figure pat00025
Figure pat00025

이고, 2중 심벌 에러 발생시의 신드롬은When the double symbol error occurs, the syndrome is

Figure pat00026
Figure pat00026

이고, 3중 심벌 에러 발생시의 신드롬은When the triple symbol error occurs, the syndrome is

Figure pat00027
Figure pat00027

이고, 4중 심벌 에러 발생시의 신드롬은The syndrome when a quadruple symbol error occurs

Figure pat00028
Figure pat00028

임을 특징으로 한다.It is characterized by that.

상기 에러 개수 판별단계(402단계)는The error number determination step (402)

Figure pat00029
Figure pat00029

이라 하고,This is called,

a) 에러 발생이 없는 경우a) If no error occurs

Figure pat00030
Figure pat00030

b) 단일 심벌 에러가 발생한 경우b) when a single symbol error occurs

Figure pat00031
Figure pat00031

c) 2중 심벌 에러가 발생한 경우c) a double symbol error occurs

Figure pat00032
Figure pat00032

d) 3중 심벌 이상의 에러가 발생한 경우d) an error of more than three symbols occurs

상기 a), b), c) 이외의 경우Other than a), b) and c) above

로서 에러의 개수를 판별함을 특징으로 한다.As a result, the number of errors is determined.

상기 에러개수 판별단계(402단계)는 에러개수 '0' 여부를 판단하는 단계(402-1단계); 에러개수 '1' 여부를 판단하는 단계(402-2단계); 및 에러개수 '2' 여부를 판단하는 단계(402-3단계)로 세분됨을 특징으로 한다.The error number determination step (step 402) may include determining whether the error number is '0' (step 402-1); Determining whether the number of errors is '1' (step 402-2); And determining whether the error number is '2' (step 402-3).

상기 에러 정정 수행단계(404단계)는 상기 에러개수 판별단계(402단계)에서 판별된 에러의 개수가 '0'이면 에러정정을 수행하지 않고, 판별된 에러의 개수가 '1'이면 '1'에러정정을 수행(404-1단계)하고, 판별된 에러의 개수가 '2'이면 '2' 에러정정을 수행(404-2단계)하는 바, 상기 '1' 에러정정(404-1단계)의 수행은In the error correcting step (404), if the number of errors determined in the error number determining step (402) is '0', error correction is not performed. If the determined number of errors is '1', '1' If error correction is performed (step 404-1), and if the number of the determined errors is '2', '2' error correction is performed (step 404-2), and the '1' error correction (step 404-1) is performed. The conduct of

Figure pat00033
Figure pat00033

이고, 상기 '2' 에러정정(404-2단계)의 수행은 2중 심벌 에러 발생의 경우 에러 위치 X1, X2를 근으로 갖는 에러위치 다항식을

Figure pat00034
이라 정의하면, 상기 다항식으로부터
Figure pat00035
으로 치환하면, 상기 다항식은 다음의 수학식 14와 같이 나타낼 수 있고,Performing the '2' error correction (step 404-2) is an error position polynomial having the error positions X1 and X2 in the case of a double symbol error occurrence.
Figure pat00034
In this definition, from the polynomial
Figure pat00035
When substituted with, the polynomial can be represented by the following equation (14),

Figure pat00036
Figure pat00036

(여기서,

Figure pat00037
이고,
Figure pat00038
Figure pat00039
) 또한, k의 트레이스(trace)인
Figure pat00040
Figure pat00041
Figure pat00042
로 구별하여 식을 쓰면(here,
Figure pat00037
ego,
Figure pat00038
Figure pat00039
) Is also a trace of k
Figure pat00040
To
Figure pat00041
Wow
Figure pat00042
If you write

Figure pat00043
Figure pat00043

이고, 유한체 GF(28) 상에서 트레이스를 취하면 m=8이므로, 상기

Figure pat00044
Figure pat00045
는 각각 수학식 15와 16과 같이 나타낼 수 있으며,And taking the trace on the finite field GF (2 8 ), m = 8,
Figure pat00044
Wow
Figure pat00045
Can be represented as in Equations 15 and 16, respectively.

Figure pat00046
Figure pat00046

Figure pat00047
Figure pat00047

상기 수학식 15 및 16으로부터

Figure pat00048
이고,
Figure pat00049
이면, 수학식 14에서 표현된
Figure pat00050
의 두근
Figure pat00051
Figure pat00052
는 다음의 수학식 17과 같이 표현할 수 있는 바,From Equations 15 and 16
Figure pat00048
ego,
Figure pat00049
If is expressed in equation (14)
Figure pat00050
Pounding
Figure pat00051
and
Figure pat00052
Can be expressed as in Equation 17 below.

Figure pat00053
Figure pat00053

그러나

Figure pat00054
이나
Figure pat00055
가 되는 경우에는 다음의 수학식 18과 같이 표현할 수 있고,But
Figure pat00054
or
Figure pat00055
If it becomes can be expressed as the following equation (18),

Figure pat00056
Figure pat00056

여기서, y는

Figure pat00057
이 되는
Figure pat00058
내의 한 원소이며
Figure pat00059
이라 할 때
Figure pat00060
을 만족시킴으로서 상기 수학식 18로 표현되는 두 근이 결정되는데, 상기 과정을 통하여 얻은
Figure pat00061
Figure pat00062
를 이용하여 에러 위치 X1, X2는 다음의 수학식 19와 같고, 에러값 Y1, Y2는 다음의 수학식 20과 같음을 특징으로 하고,Where y is
Figure pat00057
Being
Figure pat00058
Is an element within
Figure pat00059
When called
Figure pat00060
By satisfying the two roots represented by the equation (18) is determined, obtained through the process
Figure pat00061
and
Figure pat00062
The error positions X1 and X2 are represented by Equation 19 below, and the error values Y1 and Y2 are represented by Equation 20 below.

Figure pat00063
Figure pat00063

Figure pat00064
Figure pat00064

상기 에러 정정 수행단계(404단계)에서 판별된 에러의 개수가 '0', '1', '2' 이외의 개수이면 에러정정을 수행하지 않음을 특징으로 한다.If the number of errors determined in the error correction step (404) is other than '0', '1', or '2', error correction is not performed.

상기 상태검색단계(406단계)는 시스템 특성, 데이터 및 플레이어 상황을 검색하는 단계로서 EFM(Eight/Fourteen Modulation) 데이터 이상 유무, 플레이어(Player) 동작상태, 프레임 싱크(Frame Sync) 검출 유무 등을 확인한 다음 플러그(Flag)를 가변적으로 부가하기 위한 단계인 바,The state search step (406) is a step of searching for system characteristics, data, and player status, and confirms whether there is an abnormality of EFM (Eight / Fourteen Modulation) data, a player operating state, a frame sync detection, etc. A step for variably adding a next plug,

STATUS FLAGSTATUS FLAG C1 FLAG Set/ResetC1 FLAG Set / Reset 프레임 싱크 검출 유무Frame Sync Detected 플레이어 동작 상태Player operating state No ErrorNo error One ErrorOne error Two ErrorTwo error reset(OK)reset (OK) reset(OK)reset (OK) resetreset resetreset reset/setreset / set reset(OK)reset (OK) set(NG)set (NG) resetreset reset/setreset / set setset set(NG)set (NG) reset(OK)reset (OK) resetreset reset/setreset / set setset set(NG)set (NG) set(NG)set (NG) reset/setreset / set setset setset

임을 특징으로 한다.It is characterized by that.

상기 플러그 설정단계(408단계)는 상기 상태검색단계(406단계)에서 검색된 상태가 양호하면 플러그를 '0'으로 설정하고, 검색된 상태가 양호하지 않으면 플러그를 '1'로 설정하며, 상기 에러 개수 판별단계(402단계)에서 판별된 에러의 개수가 '3'이상으로 판단되면 사익 에러정정단계(404단계) 및 상태검색단계(406단계)를 거치지 않고 직접적으로 플러그를 '1'로 설정함을 특징으로 한다.The plug setting step (408) sets the plug to '0' if the detected state is good in the state searching step (406), and sets the plug to '1' if the detected state is not good, and the number of errors If the number of errors determined in the determination step (402) is greater than or equal to '3', the plug is directly set to '1' without going through the error correction step (404) and the status search step (406). It features.

상기 플러그 설정단계(408단계)는 상기 상태검색단계(406단계)에서 검색된 상태가 양호하면 플러그를 '0'으로 설정하는 단계(408-1단계); 및 상기 상태검색단계(406단계)에서 검색된 상태가 양호하지 않거나 또한, 상기 에러 개수 판별단계(402단계)에서 판별된 에러의 개수가 '3'이상으로 판단되면 상기 에러정정단계(404단계) 및 상태검색단계(406단계)를 거치지 않고 직접적으로 플러그를 '1'로 설정하는 단계(408-2단계)로 세분됨을 특징으로 한다.The plug setting step (408) may include setting a plug to '0' (step 408-1) if the state found in the state searching step (406) is good; And the error correction step (404) when the status searched in the status search step (406) is not good or the number of errors determined in the error number determination step (402) is determined to be '3' or more. It is characterized in that it is subdivided into the step (408-2) of setting the plug directly to '1' without going through the state search step (406).

상기 신드롬 계산단계(500단계)에서 단일 심벌 에러 발생시의 신드롬은In the syndrome calculation step (500), a syndrome when a single symbol error occurs

이고, 2중 심벌 에러 발생시의 신드롬은When the double symbol error occurs, the syndrome is

Figure pat00066
Figure pat00066

이고, 3중 심벌 에러 발생시의 신드롬은When the triple symbol error occurs, the syndrome is

Figure pat00067
Figure pat00067

이고, 4중 심벌 에러 발생시의 신드롬은The syndrome when a quadruple symbol error occurs

Figure pat00068
Figure pat00068

임을 특징으로 한다.It is characterized by that.

상기 에러 개수 판별단계(502단계)는The error number determination step (502)

Figure pat00069
Figure pat00069

이라 하고,This is called,

a) 에러 발생이 없는 경우a) If no error occurs

Figure pat00070
Figure pat00070

b) 단일 심벌 에러가 발생한 경우b) when a single symbol error occurs

Figure pat00071
Figure pat00071

c) 2중 심벌 에러가 발생한 경우c) a double symbol error occurs

Figure pat00072
Figure pat00072

d) 3중 심벌 이상의 에러가 발생한 경우d) an error of more than three symbols occurs

상기 a), b), c) 이외의 경우Other than a), b) and c) above

로서 에러의 개수를 판별함을 특징으로 한다.As a result, the number of errors is determined.

상기 에러개수 판별단계(502단계)는 에러개수 '0' 여부를 판단하는 단계(502-1단계); 에러개수 '1' 여부를 판단하는 단계(502-2단계); 및 에러개수 '2' 여부를 판단하는 단계(502-3단계)로 세분됨을 특징으로 한다.The error number determination step (step 502) may include determining whether the error number is '0' (step 502-1); Determining whether the number of errors is '1' (step 502-2); And determining whether the number of errors is '2' (step 502-3).

상기 에러정정단계(506단계)는 '1' 에러정정단계(506-1단계)와 '2' 에러정정단계(506-2단계)하는 바, 상기 '1' 에러정정단계(506-1단계)의 수행은The error correction step (506) is a '1' error correction step (step 506-1) and the '2' error correction step (step 506-2), the '1' error correction step (506-1) The conduct of

Figure pat00073
Figure pat00073

이고, 상기 '2' 에러정정단계(506-2단계)의 수행은 2중 심벌 에러 발생의 경우 에러 위치 X1, X2를 근으로 갖는 에러위치 다항식을

Figure pat00074
이라 정의하면, 상기 다항식으로부터
Figure pat00075
으로 치환하면, 상기 다항식은 다음의 수학식 14와 같이 나타낼 수 있고,Performing the '2' error correction step (step 506-2), the error position polynomial having the error position X1, X2 in the case of a double symbol error occurrence
Figure pat00074
In this definition, from the polynomial
Figure pat00075
When substituted with, the polynomial can be represented by the following equation (14),

<수학식 14><Equation 14>

Figure pat00076
Figure pat00076

(여기서,

Figure pat00077
이고,
Figure pat00078
Figure pat00079
) 또한, k의 트레이스(trace)인
Figure pat00080
Figure pat00081
Figure pat00082
로 구별하여 식을 쓰면(here,
Figure pat00077
ego,
Figure pat00078
Figure pat00079
) Is also a trace of k
Figure pat00080
To
Figure pat00081
Wow
Figure pat00082
If you write

Figure pat00083
Figure pat00083

이고, 유한체

Figure pat00084
상에서 트레이스를 취하면 m=8이므로, 상기
Figure pat00085
Figure pat00086
는 각각 수학식 15와 16과 같이 나타낼 수 있으며,And finite body
Figure pat00084
Taking trace on m = 8, so
Figure pat00085
Wow
Figure pat00086
Can be represented as in Equations 15 and 16, respectively.

<수학식 15><Equation 15>

Figure pat00087
Figure pat00087

<수학식 16><Equation 16>

Figure pat00088
Figure pat00088

상기 수학식 15 및 16으로부터

Figure pat00089
이고,
Figure pat00090
이면, 수학식 14에서 표현된
Figure pat00091
의 두근
Figure pat00092
Figure pat00093
는 다음의 수학식 17과 같이 표현할 수 있는 바,From Equations 15 and 16
Figure pat00089
ego,
Figure pat00090
If is expressed in equation (14)
Figure pat00091
Pounding
Figure pat00092
and
Figure pat00093
Can be expressed as in Equation 17 below.

<수학식 17><Equation 17>

Figure pat00094
Figure pat00094

그러나,

Figure pat00095
이나
Figure pat00096
가 되는 경우에는 다음의 수학식 18과 같이 표현할 수 있고,But,
Figure pat00095
or
Figure pat00096
If it becomes can be expressed as the following equation (18),

<수학식 18><Equation 18>

Figure pat00097
Figure pat00097

여기서, y는

Figure pat00098
이 되는
Figure pat00099
내의 한 원소이며
Figure pat00100
이라 할 때
Figure pat00101
을 만족시킴으로서 상기 수학식 18로 표현되는 두 근이 결정되는데, 상기 과정을 통하여 얻은
Figure pat00102
Figure pat00103
를 이용하여 에러 위치 X1, X2는 다음의 수학식 19와 같고, 에러값 Y1, Y2는 다음의 수학식 20과 같음을 특징으로 하고,Where y is
Figure pat00098
Being
Figure pat00099
Is an element within
Figure pat00100
When called
Figure pat00101
By satisfying the two roots represented by the equation (18) is determined, obtained through the process
Figure pat00102
and
Figure pat00103
The error positions X1 and X2 are represented by Equation 19 below, and the error values Y1 and Y2 are represented by Equation 20 below.

<수학식 19><Equation 19>

Figure pat00104
Figure pat00104

<수학식 20><Equation 20>

Figure pat00105
Figure pat00105

상기 이레이저 정정 여부 판단단계(508단계)의 판단은 다음의 표와 같음을 특징으로 한다.The determination of the erasure correction step (508) is as shown in the following table.

STATUS FLAGSTATUS FLAG MICOM DATAMICOM DATA 이레이저 정정여부Erasure Correction 프에임 싱크 검출 유무Frame Sync Detection 플레이어 동작 상태Player operating state forced Erasure OFFforced Erasure OFF reset(OK)reset (OK) reset(OK)reset (OK) resetreset ONON reset(OK)reset (OK) set(NG)set (NG) resetreset ON/OFFON / OFF set(NG)set (NG) reset(OK)reset (OK) resetreset ON/OFFON / OFF set(NG)set (NG) set(NG)set (NG) resetreset ON/OFFON / OFF don't caredon't care don't caredon't care setset OFFOFF

상기 '3'/'4' 이레이저 정정단계(512단계)에서 '3'이레이저 정정은 신드롬 요서

Figure pat00106
는 다음의 수학식 21과 같이 표현되고,In the '3' / '4' erasure correction step (step 512), the '3' erasure correction is a syndrome request.
Figure pat00106
Is expressed as in Equation 21 below,

Figure pat00107
Figure pat00107

또한, 에러위치 다항식은 다음의 수학식 22와 같으며,In addition, the error position polynomial is represented by the following Equation 22,

Figure pat00108
Figure pat00108

상기 수학식 22에서 각 차수의 계수

Figure pat00109
는 다음의 수학식 23과 같이 표현할 수 있는 바,Coefficient of each order in Equation 22
Figure pat00109
Can be expressed as Equation 23 below.

Figure pat00110
Figure pat00110

그리고 상기 수학식 22는 3중 심벌 에러가 발생하였다면 '0'이 된다. 에러 위치

Figure pat00111
를 이미 알고 있다고 가정하고 상기 수학식 21의 3원 일차 연립 방정식을 풀면 에러값 Y1, Y2, Y3는 다음의 수학식 24와 같고,Equation 22 becomes '0' if a triple symbol error occurs. Error location
Figure pat00111
Assuming that we already know the equation, solving the three-dimensional linear system of equations (21), the error values Y1, Y2, Y3 are equal to the following equation (24),

Figure pat00112
Figure pat00112

'4'이레이저 정정은 신드롬 요소

Figure pat00113
는 다음의 수학식 25와 같고,'4' eraser correction syndrome element
Figure pat00113
Is equal to the following Equation 25,

Figure pat00114
Figure pat00114

또한, 에러위치 다항식은 다음의 수학식 26과 같으며,In addition, the error position polynomial is represented by the following Equation 26,

Figure pat00115
Figure pat00115

상기 수학식 26에서 각 차수의 계수는 다음의 수학식 27과 같은 바,In Equation 26, the coefficient of each order is as shown in Equation 27 below.

Figure pat00116
Figure pat00116

그리고 상기 수학식 26은 4중 심벌 에러가 발생하였다면 '0'이 되고, 에러위치

Figure pat00117
를 이미 알고 있다고 가정하고 상기 수학식 25의 4원 일차 연립방정식을 풀면 에러값 Y1, Y2, Y3, Y4는 다음의 수학식 28과 같음을 특징으로 한다.Equation 26 becomes '0' if a quadruple symbol error occurs, and an error position
Figure pat00117
Suppose we already know the equation and solve the quadratic linear equations of Equation 25, the error values Y1, Y2, Y3, Y4 are characterized by the following Equation 28.

Figure pat00118
Figure pat00118

상기 플러그 설정단계(518단계)는 플러그 '0' 설정단계(518-1단계), 플러그 '1' 설정단계(518-2단계), 플러그 '복사(copy)' 설정단계(518-3단계)로 세분되는 바, 상기 플러그 '0' 설정단계(518-1단계)에서는 상기 에러개수 판별단계(502단계)의 에러개수 '0' 여부를 판단하는 단계(502-1단계)의 판단이 현재 검출된 에러가 없거나 상기 '1'/'2' 에러정정단계(506단계)에서 '1' 또는 '2' 에러가 정정되었거나, 또는 상기 검산단계(514단계)에서 검산된 결과가 양호할 때 플러그를 '0'으로 설정하고, 상기 플러그 '1' 설정단계(518-2단계)는 상기 플러그 개수 제1판단단계(510단계)에서 판단된 플러그의 개수가 '0', '1', '2'이거나, 상기 검산단계(514단계애서 검산된 결과가 불량이거나, 또는 사익 플러그 개수 제2판단단계(516)에서 판단된 플러그의 개수가 '1'또는 '2'일 때 플러그를 '1'로 설정하며, 상기 플러그 '복사' 설정단계(518-3단계)는 상기 플러그 개수 제1판단단계(510단계)에서 판단된 플러그의 개수가 '5'이거나, 또는 상기 플러그 개수 제2판단단계(516)에서 판단된 플러그의 개수가 '2'를 초과할 때 플러그를 '복사' 설정함을 특징으로 한다.The plug setting step (step 518) includes plug '0' setting step (step 518-1), plug '1' setting step (step 518-2), plug 'copy' setting step (step 518-3) In the plug '0' setting step (step 518-1), the determination of the step (502-1) of determining whether the error number '0' of the error number determination step (502) is currently detected. If no error is detected, or if the error '1' or '2' is corrected in the '1' / '2' error correction step (step 506), or the result of the check in the check step (514) is satisfactory, In the step of setting the plug '1' (step 518-2), the number of plugs determined in the first determination step (510) of the plug number is '0', '1', '2'. Or the plug is set to '1' when the number of plugs determined in the checking step (514) is bad or the number of plugs determined in the second judging step 516 is '1' or '2'. In the plug 'copy' setting step (step 518-3), the number of plugs determined in the plug number first determination step (510) is '5', or the plug number second determination step (516). When the number of plugs determined in step 2 exceeds '2', the plug is set to 'copy'.

또한 상기 본 발명의 다른 목적을 달성하기 위한 장치는In addition, the apparatus for achieving the other object of the present invention

디지털 신호의 재생에 있어 리드-솔로몬(Reed-Solomon) 부호를 사용하여 데이터의 에러를 정정하기 위한 에러정정장치에 있어서, 에러정정 복호 알고리즘이 코딩(coding)화 되어 내장된 프로그램 롬; 상기 프로그램 롬에서 출력되는 인스트럭션(instruction)을 저장하는 프로그램 레지스터; 상기 프로그램 레지스터에 저장된 인스트럭션을 소정의 코딩 형태에 따라 제어신호를 출력하는 프로그램 디코더; 상기 프로그램 디코더로부터 출력되는 신호와 에러정정연산부로부터 출력된 신호를 입력신호로 하여 에러 정정시 특정 스텝(step)이나 인스트럭션을 일정 주기만큼 유지하거나, 다른 스텝으로 분기할 경우를 판단하여 제어신호를 발생하는 점프 콘트롤부; 상기 프로그램 레지스터로부터 출력되는 신호와 상기 프로그램 디코더로부터 출력되는 신호 및 상기 점프 콘트롤부로부터 출력되는 제어신호에 의해 어드레스(address)를 카운팅(counting)하는 프로그램 어드레스 카운터; 및 상기 프로그램 디코더로부터 출력된 신호에 의해 에러정정에 필요한 부호 데이터의 입출력 조절신호를 발생하는 연산제어부를 갖는 에러정정제어부 그리고, 각 구성 요소간의 신호를 인터페이스하는 데이터 버스; 에러정정에 필요한 부호 데이터와 플러그를 리드/라이트(read/write)시에 사용하는 어드레스를 발생하는 어드레스 발생기; 상기 데이터 버스에 접속되고, 유한체

Figure pat00119
상의 임의의 원소
Figure pat00120
를 정수값
Figure pat00121
로 변환하는
Figure pat00122
변환기; 상기 데이터 버스에 접속되고, 정수값
Figure pat00123
를 유한체
Figure pat00124
상의 임의의 원소
Figure pat00125
로 변환하는
Figure pat00126
변환기; 상기 데이터 버스에 접속되고, C2부호 에러정정시 C2부호 데이터를 읽은 후 C1 플러그를 읽어들이는데 이때 C1 플러그의 개수를 계수화하는 C1 플러그 카운터; 상기 데이터 버스에 접속되고, 제로 데이터를 검출하여 개수를 측정 후 측정 개수를 출력하는 제로 카운터; 상기 데이터 버스에 접속되고, 부호 데이터 및 플러그 등을 입출력하는 입출력 레지스터; 상기 어드레스 발생기로부터 출력되는 일측의 출력신호와 상기
Figure pat00127
변환기로부터 출력되는 일측의 출력신호를 입력신호로 하여 에러정정 연산 도중에 발생된 에러의 위치를 정수값으로 저장하거나 상기 어드레스 발생기로부터 출력되는 이레이저의 위치를 정수값으로 저장하는 에러위치 저장 레지스터; 상기 어드레스 발생기로부터 출력된 및 상기 에러위치 저장 레지스터로부터 출력된 신호를 선택적으로 출력하는 제1신호선택기; 상기 데이터 버스에 접속되고, 유한체
Figure pat00128
상의 임의의 원소
Figure pat00129
Figure pat00130
혹은
Figure pat00131
표현으로 변환 출력하는 역원기; 상기 데이터 버스에 접속되고, 2중 심벌 에러정정에 사용되며 에러 위치 다항식
Figure pat00132
의 근을 구하는 트레이스 변환기; 상기 데이터 버스에 접속되어 8비트 내부 데이터 버스상의 데이터 혹은 상기 역원기로부터 출력되는 데이터를 선택적으로 출력하는 제2신호선택기; 상기 데이터 버스에 접속되어 8비트 내부 데이터 버스상의 데이터 혹은 상기 트레이스 변환기를 거친 데이터를 선택적으로 출력하는 제3신호선택기; 상기 제2신호선택기로부터 출력된 신호를 일시적으로 저장하는 MA레지스터; 상기 제3신호선택기로부터 출력되는 데이터를 일시적으로 저장하는 MB레지스터; 상기 데이터 버스에 접속되어 데이터를 일시적으로 저장하는 AB레지스터; 상기 데이터 버스에 접속되어 연산도중에 발생된 템포러리(Temporary) 데이터를 일시적으로 저장하는 TEMP레지스터; 상기 데이터 버스에 접속되어 부호 데이터로부터 신드롬 요소
Figure pat00133
를 구하는 신드롬 생성기; 상기 데이터 버스에 접속되고, 에러정정 처리 후 각 부호 데이터에 플러그 정보를 부가하거나 혹은 플러그 정보를 복사하는 C1/C2 플러그 생성기; 상기 데이터 버스에 접속되어 에러정정 연산 도중 발생된 중요 계수 데이터나 각종 근을 저장하는 RAM; 상기 MA레지스터로부터 출력된 신호와 상기 MB레지스터로부터 출력된 신호를 입력신호로 하여 유한체
Figure pat00134
상의 원소들을 곱하는 곱셈기; 및 상기 곱셈기로부터 출력된 신호와 상기 AB레지스터로부터 출력된 신호로 입력신호로 하여 유한체
Figure pat00135
상의 원소들을 더하는 덧셈기를 갖는 에러정정연산부를 포함한다.An error correction apparatus for correcting an error of data by using a Reed-Solomon code in reproduction of a digital signal, comprising: a program ROM in which an error correction decoding algorithm is coded and embedded; A program register for storing an instruction output from the program ROM; A program decoder configured to output a control signal according to a predetermined coding type from an instruction stored in the program register; Generates a control signal by determining whether to maintain a specific step or instruction for a certain period or branch to another step when correcting an error using the signal output from the program decoder and the signal output from the error correction operation unit as input signals. A jump controller; A program address counter that counts an address based on a signal output from the program register, a signal output from the program decoder, and a control signal output from the jump controller; And an error correction control unit having an operation control unit for generating an input / output control signal of code data necessary for error correction by the signal output from the program decoder, and a data bus for interfacing signals between components. An address generator for generating code data necessary for error correction and an address for reading / writing plugs; A finite body connected to the data bus
Figure pat00119
Elements on Pinterest
Figure pat00120
To an integer value
Figure pat00121
Convert to
Figure pat00122
converter; An integer value connected to the data bus
Figure pat00123
To finite body
Figure pat00124
Elements on Pinterest
Figure pat00125
Convert to
Figure pat00126
converter; A C1 plug counter connected to the data bus and reading the C1 plug after reading the C2 code data when correcting the C2 code error; A zero counter connected to the data bus and configured to detect zero data, measure a number, and output a measured number; An input / output register connected to the data bus to input and output code data, a plug, and the like; An output signal of one side output from the address generator and the
Figure pat00127
An error position storage register for storing, as an integer value, a position of an error generated during an error correction operation using an output signal of one side output from the converter as an integer value or storing the position of an eraser output from the address generator as an integer value; A first signal selector for selectively outputting a signal output from the address generator and output from the error position storage register; A finite body connected to the data bus
Figure pat00128
Elements on Pinterest
Figure pat00129
To
Figure pat00130
or
Figure pat00131
An inverter for converting and outputting into a representation; Error location polynomial connected to the data bus and used for double symbol error correction
Figure pat00132
A trace converter for finding the root of the tracer; A second signal selector connected to the data bus and selectively outputting data on an 8-bit internal data bus or data output from the inverse generator; A third signal selector connected to the data bus and selectively outputting data on an 8-bit internal data bus or data passed through the trace converter; A MA register for temporarily storing a signal output from the second signal selector; An MB register for temporarily storing data output from the third signal selector; An AB register connected to the data bus to temporarily store data; A TEMP register connected to the data bus to temporarily store temporal data generated during a calculation; A syndrome element connected to the data bus from symbol data
Figure pat00133
A syndrome generator for obtaining a; A C1 / C2 plug generator connected to the data bus for adding plug information or copying plug information to each code data after an error correction process; A RAM connected to the data bus and storing important coefficient data or various roots generated during an error correction operation; Finite field using the signal output from the MA register and the signal output from the MB register as input signals
Figure pat00134
A multiplier for multiplying the elements of the phase; And a signal output from the multiplier and a signal output from the AB register as finite elements as input signals.
Figure pat00135
It includes an error correction operation unit having an adder for adding the elements of the phase.

상기 역원기는 에러정정연산중 나눗셈 연산을 수행할 때 사용됨을 특징으로 한다.The inverse generator is used when performing a division operation during an error correction operation.

상기 덧셈기는 익스클루시브-와(Exclusive-OR) 게이트로 구성됨을 특징으로 한다.The adder is composed of an exclusive-OR gate.

이하, 본 발명의 바람직한 실시예를 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail.

일반적으로 리드-솔로몬 부호의 복호과정은 다음과 같은 5단계로 집약된다.In general, the decoding process of the Reed-Solomon code is concentrated in five steps as follows.

1) 수신부호로부터 신드롬(syndrome)을 계산한다.1) Calculate the syndrome from the receiving code.

2) 에러위치 다항식(error locator polynomial)을 계산한다.2) Compute the error locator polynomial.

3) 에러위치번호(error location number)를 계산한다.3) Calculate the error location number.

4) 에러값(error value)을 계산한다.4) Calculate the error value.

5) 에러정정(error correction)을 수행한다.5) Perform error correction.

전송부호 c(x)를 전송하였을 때 전송도중 에러 e(x)가 발생하였다면, 수신부호 r(x)는 수학식 1과 같이 표현할 수 있다.If an error e (x) occurs during transmission when the transmission code c (x) is transmitted, the reception code r (x) may be expressed as Equation (1).

r(x) = c(x) + e(x)r (x) = c (x) + e (x)

a를 유한체(finite field)

Figure pat00136
상의 원시원(premitive element)이라 하면
Figure pat00137
은 생성다항식 g(x)의 근이 되고, 이근을 상기 수학식 1에 대입하면 다음의 수학식 2와 수학식 3과 같이 표현할 수 있다.a is a finite field
Figure pat00136
The primitive element
Figure pat00137
Is the root of the generated polynomial g (x), and can be expressed as Equation 2 and Equation 3 by substituting the root value in Equation 1 above.

Figure pat00138
Figure pat00138

Figure pat00139
Figure pat00139

그리고 I번째 신드롬요소(syndrome element)는 다음의 수학식 4와 같이 표현할 수 있다.The I-th syndrome element may be expressed as in Equation 4 below.

Figure pat00006
Figure pat00006

실제로 컴팩트 디스크 플레이어상에서 적용되는 2중 에러정정 (32,28), (28,24) 리드-솔로몬 부호의 신드롬(syndrome) 발생장치는 도 1에서 보이는 바와 같다.In practice, a double error correction (32, 28), (28, 24) Reed-Solomon code syndrome generator applied on a compact disc player is shown in FIG.

도 2는 본 발명에 적용되는 일반적인 리드-솔로몬 부호의 신드롬 발생장치의 블록도이다.2 is a block diagram of a syndrome generator of a general Reed-Solomon code according to the present invention.

도 2의 구성을 보면, 수신신호(200) r(x)와 곱셈기(202)에서 출력되는 신호가 가산기(204)로 입력되고, 가산기(204)에서 출력된 신호는 플립플롭(flip-flop)(206)으로 입력되고, 플립플롭(206)에서 출력된 신호는 곱셈기(202)로 입력되고, 곱셈기(202)에서는 플립플롭(206)에서 출력된 신호와 생성 다항식의 근(208)

Figure pat00140
을 곱하여 가산기(204)로 출력한다.Referring to the configuration of FIG. 2, the received signal 200 r (x) and the signal output from the multiplier 202 are input to the adder 204, and the signal output from the adder 204 is flip-flop. A signal input from 206 and output from flip-flop 206 is input to multiplier 202, and a multiplier 202 outputs signal from flip-flop 206 and the root 208 of the generated polynomial.
Figure pat00140
Multiply by and output to the adder 204.

예를 들어, 유한체

Figure pat00007
상의 임의의 원소
Figure pat00008
Figure pat00141
을 곱할 경우 다음의 수학식 5와 같이 표현된다.For example, finite
Figure pat00007
Elements on Pinterest
Figure pat00008
on
Figure pat00141
When multiply by, it is expressed as Equation 5 below.

Figure pat00012
Figure pat00012

상기 수학식 5에 대한 장치는 도 3a 내지 도 3d와 같이 구성된다.The apparatus for Equation 5 is configured as shown in Figs. 3a to 3d.

도 3a는 본 발명이 적용되는 일반적인 리드-솔로몬 부호의 신드롬 발생장치로서 수학식 5의

Figure pat00142
를 구현한 장치도이다.3A is a syndrome generator of a general Reed-Solomon code to which the present invention is applied.
Figure pat00142
This is also a device implementation.

도 3b는 본 발명이 적용되는 일반적인 리드-솔로몬 부호의 신드롬 발생장치로서 수학식 5의

Figure pat00143
을 구현한 장치도이다.Figure 3b is a syndrome generator of the general Reed-Solomon code to which the present invention is applied
Figure pat00143
This is also a device implementation.

도 3c는 본 발명이 적용되는 일반적인 리드-솔로몬 부호의 신드롬 발생장치로서 수학식 5의

Figure pat00144
를 구현한 장치도이다.3c is a syndrome generator of a general Reed-Solomon code to which the present invention is applied.
Figure pat00144
This is also a device implementation.

도 3d는 본 발명이 적용되는 일반적인 리드-솔로몬 부호의 신드롬 발생장치로서 수학식 5의

Figure pat00145
를 구현한 장치도이다.3d is a syndrome generator of a general Reed-Solomon code to which the present invention is applied.
Figure pat00145
This is also a device implementation.

전송 도중 발생한 에러를 다음의 수학식 6에 나타내면 다음과 같다.An error occurring during the transmission is shown in Equation 6 below.

Figure pat00146
Figure pat00146

또한, 실제로

Figure pat00014
개의 오류가 발생한다면, 상기 수학식 6을 다음의 수학식 7과 같이 표현할 수 있다.Also, actually
Figure pat00014
If 6 errors occur, Equation 6 may be expressed as Equation 7 below.

Figure pat00015
Figure pat00015

상기 수학식 4로 정의된 신드롬요소

Figure pat00147
는 수신부호에 생성 다항식의 근
Figure pat00148
을 대입하여 구해지고 각각의 신드롬요소는 다음의 수학식 8과 같다.Syndrome element defined by Equation 4
Figure pat00147
Is the root of the polynomial
Figure pat00148
Obtained by substituting for each syndrome element is shown in Equation (8).

Figure pat00019
Figure pat00019

상기 수학식 8에서 에러값

Figure pat00020
Figure pat00021
라 하고 에러 위치 번호
Figure pat00022
Figure pat00023
라 하면 다음의 수학식 9와 같다.Error value in Equation 8
Figure pat00020
To
Figure pat00021
Error location number
Figure pat00022
To
Figure pat00023
In the following equation (9).

Figure pat00024
Figure pat00024

상기 수학식 9로부터

Figure pat00149
Figure pat00150
를 구하여 상기 수학식 7로 표현되는 에러 e(x)를 알아내는 것이 리드-솔로몬 부호를 이용하여 복호하는 과정을 말한다.From Equation 9
Figure pat00149
Wow
Figure pat00150
Finding the error e (x) represented by Equation 7 refers to a process of decoding using Reed-Solomon code.

그러면 수신신호로부터 에러를 계산한 후 다음에 기술된 에러 신드롬 판별을 수행한다.Then, after calculating the error from the received signal, the error syndrome determination described next is performed.

2중 에러

Figure pat00151
인 경우 신드롬 요소는 상기 수학식 8로부터 다음의 수학식 10을 얻을 수 있다.Double error
Figure pat00151
In the case of the syndrome element, the following Equation 10 can be obtained from Equation 8.

Figure pat00152
Figure pat00152

상기 수학식 10을 이용하여Using Equation 10

Figure pat00153
와 같이 변형시켜 전개시키면 다음의 수학식 11과 같은 2차 방정식을 얻을 수 있다.
Figure pat00153
By transforming and developing as follows, a quadratic equation can be obtained as shown in Equation 11 below.

Figure pat00154
Figure pat00154

상기 수학식 11의 각 계수를 다음의 수학식 12와 같이 치환한다.Each coefficient of Equation 11 is substituted as in Equation 12 below.

Figure pat00155
Figure pat00155

상기 수학식 12와 같이 치환하면, 상기 수학식 11은 다음과 같이 표현된다.When substituted as in Equation 12, Equation 11 is expressed as follows.

Figure pat00156
Figure pat00156

이를 이용하여 에러개수 판별식으로 사용할 수 있다.By using this, it can be used as error count discrimination formula.

1) 에러 발생이 없는 경우1) If no error occurs

Figure pat00157
Figure pat00157

2) 단일 심벌 에러가 발생한 경우2) Single symbol error occurs

Figure pat00158
Figure pat00158

3) 2중 심벌 에러가 발생한 경우3) In case of double symbol error

Figure pat00159
Figure pat00159

4) 3중 심벌 이상의 에러가 발생한 경우4) If an error of more than 3 symbols occurs

상기 1), 2), 3) 이외의 경우When other than 1), 2), 3) above

상기 1), 2), 3), 4)에서 에러 개수 판별후 해당 에러에 대한 에러 위치와 에러값을 결정해야 하며 각 경우 다음과 같이 수행한다.After determining the number of errors in 1), 2), 3), and 4), the error position and error value for the corresponding error should be determined.

* 단일 심벌 에러 발생시* In case of single symbol error

단일 에러 발생시 신드롬은

Figure pat00160
이고, 에러위치와 에러값은 다음의 수학식 13과 같이 구한다.If a single error occurs, the syndrome
Figure pat00160
The error position and error value are obtained as in Equation 13.

Figure pat00161
Figure pat00161

*2중 심벌 에러 발생시* When double symbol error occurs

2중 심벌 에러 발생의 경우 에러 위치 X1, X2를 근으로 갖는 에러위치 다항식을

Figure pat00162
이라 정의한다. 상기 다항식으로부터
Figure pat00163
으로 치환하면, 다음의 수학식 14와 같이 나타낼 수 있고,In case of double symbol error, the error position polynomial with error positions X1 and X2
Figure pat00162
This is defined as. From the polynomial
Figure pat00163
If replaced with, the following equation (14),

<수학식 14><Equation 14>

Figure pat00164
Figure pat00164

여기서,

Figure pat00165
이고,
Figure pat00166
Figure pat00167
이다. 그리고, k의 트레이스(trace)인
Figure pat00168
Figure pat00169
Figure pat00170
로 구별하여 식을 쓰면 다음과 같다.here,
Figure pat00165
ego,
Figure pat00166
Figure pat00167
to be. And k's trace
Figure pat00168
To
Figure pat00169
Wow
Figure pat00170
If you write the formula as follows:

Figure pat00171
Figure pat00171

유한체

Figure pat00172
상에서 트레이스를 취하면 m=8이므로,
Figure pat00173
Figure pat00174
는 각각 수학식 15와 16과 같이 나타낼 수 있으며,Finite body
Figure pat00172
If you take a trace on m = 8,
Figure pat00173
Wow
Figure pat00174
Can be represented as in Equations 15 and 16, respectively.

<수학식 15><Equation 15>

Figure pat00175
Figure pat00175

<수학식 16><Equation 16>

Figure pat00176
Figure pat00176

상기 수학식 15 및 16으로부터

Figure pat00177
이고,
Figure pat00178
이면, 수학식 14에서 표현된
Figure pat00179
의 두근
Figure pat00180
Figure pat00181
는 다음의 수학식 17과 같이 표현할 수 있는 바,From Equations 15 and 16
Figure pat00177
ego,
Figure pat00178
If is expressed in equation (14)
Figure pat00179
Pounding
Figure pat00180
and
Figure pat00181
Can be expressed as in Equation 17 below.

<수학식 17><Equation 17>

Figure pat00182
Figure pat00182

그러나

Figure pat00183
이나
Figure pat00184
가 되는 경우에는 다음의 수학식 18과 같이 표현할 수 있다.But
Figure pat00183
or
Figure pat00184
When can be expressed as shown in Equation 18 below.

<수학식 18><Equation 18>

Figure pat00185
Figure pat00185

여기서, y는

Figure pat00186
이 되는
Figure pat00187
내의 한 원소이며
Figure pat00188
이라 할 때
Figure pat00189
을 만족시킴으로서 상기 수학식 18로 표현되는 두 근이 결정된다.Where y is
Figure pat00186
Being
Figure pat00187
Is an element within
Figure pat00188
When called
Figure pat00189
By satisfying the two roots represented by the equation (18) is determined.

이와 같이 계산을 하여 두 근을 구하는 방법 외에

Figure pat00190
를 이용하여 k의 값을 구한 다음 k값을 롬(Read Only Memory;ROM)의 어드레스 입력으로 넣어 미리 계산된 두 근 중의 하나인
Figure pat00191
을 바로 ROM의 출력으로 얻어 구할 수 있다. 다음의 표 1에 (32,28) 리드-솔로몬 부호인 경우의 k값의 예를 들어 보면 다음과 같다.In addition to calculating the two roots by calculating like this
Figure pat00190
Find the value of k by using and insert the value of k into the address input of ROM (Read Only Memory; ROM).
Figure pat00191
Can be obtained directly from the ROM output. Table 1 below shows an example of the value of k in the case of the (32,28) Reed-Solomon code.

다음의 표 1은 상기 수학식 14의 근을 구하는 트레이스 변환 테이블이다.Table 1 below is a trace conversion table for finding the root of Equation 14.

kk xx 1010 1110100111101001 1000011110000111 1000010110000101 1100100111001001 1000111010001110 1000111110001111 1010100110101001 110110 1111 1100000011000000 11101001110100 1001010010010100 10101001010100 100110100110 100110100110 1101001011010010 11100101110010 1101111011011110 1011010010110100 1100001011000010 1001110110011101 10111101011110 1110010111100101 1000100110001001 1010101010101010 1111011110 1100000011000000 1101111111011111 11000101100010 1100011111000111 1010000010100000 1101101011011010 10111101011110 10011111001111 1101110111011101 1000010010000100 1011101110111011 1010110101 1101001111010011 10010011001001 1101111111011111 1001001010010010 10101101010110 1101010111010101 1010011110100111 1101101111011011 1000100110001001 10000011000001 1111001111110011 1100100011001000 10110011011001 1101110111011101 1000101010001010 10100111010011 1111010011110100 10011001 1111101011111010 1100101111001011 11001111100111 1011010110 1110110011101100

상기 표 1의 x에 대한 k값을 나타내는 기술적 관계는 기 출원된 대한민국 특허출원 제90-21950호(출원인 삼성전자)에 상세히 개시되어 있으므로 이에 대한 설명은 생략한다.The technical relationship showing the k value for x in Table 1 is disclosed in detail in Korean Patent Application No. 90-21950 (Applicant Samsung Electronics), which is already filed, and thus description thereof will be omitted.

k값이 상기 표 1에 제시된 범위를 벗어나면 3중 이상의 에러가 발생한 것으로 처리한다. 상기 과정을 통하여 얻은

Figure pat00192
Figure pat00193
를 이용하여 에러 위치 X1, X2를 다음의 수학식 19와 같이 나타낼 수 있다.If the value of k is outside the range shown in Table 1, the error is treated as three or more errors. Obtained through the above process
Figure pat00192
and
Figure pat00193
The error positions X1 and X2 can be expressed by Equation 19 below.

<수학식 19><Equation 19>

Figure pat00194
Figure pat00194

또한, 에러값 Y1, Y2는 다음의 수학식 20과 같이 나타낼 수 있다.In addition, the error values Y1 and Y2 may be represented by Equation 20 below.

<수학식 20><Equation 20>

Figure pat00195
Figure pat00195

* 3중 심벌 에러 발생시* In case of triple symbol error

만일 3중 심벌 에러가 발생하였다면 신드롬 요소

Figure pat00196
는 다음의 수학식 21과 같이 표현된다.Syndrome element if a triple symbol error occurs
Figure pat00196
Is expressed by Equation 21 below.

<수학식 21><Equation 21>

Figure pat00197
Figure pat00197

또한, 에러위치 다항식은 다음의 수학식 22와 같다.The error position polynomial is represented by the following equation (22).

<수학식 22><Equation 22>

Figure pat00198
Figure pat00198

상기 수학식 22에서 각 차수의 계수

Figure pat00199
는 다음의 수학식 23과 같이 표현할 수 있다.Coefficient of each order in Equation 22
Figure pat00199
Can be expressed as Equation 23 below.

<수학식 23><Equation 23>

그리고 상기 수학식 22는 3중 심벌 에러가 발생하였다면 '0'이 된다. 에러 위치

Figure pat00201
를 이미 알고 있다고 가정하고 상기 수학식 21의 3원 일차 연립 방정식을 풀면 에러값 Y1, Y2, Y3는 다음의 수학식 24와 같다.Equation 22 becomes '0' if a triple symbol error occurs. Error location
Figure pat00201
Suppose we already know, and solve the ternary first-order simultaneous equation of Equation 21, the error values Y1, Y2, Y3 are given by Equation 24 below.

<수학식 24><Equation 24>

Figure pat00202
Figure pat00202

* 4중 심벌 에러 발생시* In case of quadruple symbol error

만일, 4중 심벌 에러가 발생하였다면 신드롬 요소

Figure pat00203
는 다음의 수학식 25와 같다.Syndrome element if a quad symbol error occurs
Figure pat00203
Is as shown in Equation 25 below.

<수학식 25><Equation 25>

Figure pat00204
Figure pat00204

또한, 에러위치 다항식은 다음의 수학식 26과 같다.In addition, the error position polynomial is represented by Equation 26 below.

<수학식 26><Equation 26>

Figure pat00205
Figure pat00205

상기 수학식 26에서 각 차수의 계수는 다음의 수학식 27과 같다.In Equation 26, the coefficient of each order is expressed by Equation 27 below.

<수학식 27><Equation 27>

Figure pat00206
Figure pat00206

그리고 상기 수학식 26은 4중 심벌 에러가 발생하였다면 '0'이 된다.Equation 26 becomes '0' if a quadruple symbol error occurs.

에러위치

Figure pat00207
를 이미 알고 있다고 가정하고 상기 수학식 25의 4원 일차 연립방정식을 풀면 에러값 Y1, Y2, Y3, Y4는 다음의 수학식 28과 같다.Error location
Figure pat00207
Suppose we already know the equation and solve the quadratic first-order system of equation 25, and the error values Y1, Y2, Y3, Y4 are given by

<수학식 28><Equation 28>

Figure pat00208
Figure pat00208

지금까지 설명한 에러정정방법에 따라 리드-솔로몬 부호를 복호할 수 있으며, 실제 디지털 기기에 사용되는 에러정정부호는 CIRC(Cross Interleaved Reed-Solomon Code)로 C1, C2의 두 종류로 부호가 구성되어 있다. 즉, 에러정정복호화 과정을 2단계로 구별하여 진행한다.The Reed-Solomon code can be decoded according to the error correction method described so far, and the error correction code used in digital devices is CIRC (Cross Interleaved Reed-Solomon Code) and consists of two types of codes: C1 and C2 . That is, the error correction decoding process is divided into two stages.

C1, C2 부호의 최소 디스턴스(Minimum Distance)를 5라 가정할 때, 에러정정의 경우는

Figure pat00209
까지 에러정정이 가능하며, 이레이저(erasure) 정정인 경우
Figure pat00210
까지 에러정정이 가능하다. 여기서, t는 에러정정 능력을 말한다.If the minimum distance of the C1 and C2 codes is assumed to be 5, in case of error correction,
Figure pat00209
Error correction is possible up to the case of erasure
Figure pat00210
Error correction is possible. Where t is the error correction capability.

본 발명의 알고리즘에서 사용되는 복호순서는 C1 부호를 이용하여 C1 에러정정을 수행한 후, C2 부호 및 C1 플러그(Flag) 정보를 이용하여 C2 에러/이레이저 정정을 수행한다. 그러면, 도면을 참조하여 설명한다.The decoding sequence used in the algorithm of the present invention performs C1 error correction using C1 code, and then performs C2 error / eraser correction using C2 code and C1 plug information. This will be described with reference to the drawings.

도 4는 본 발명에 따른 에러정정방법으로서 C1 디코딩 알고리즘의 흐름도이다.4 is a flowchart of a C1 decoding algorithm as an error correction method according to the present invention.

먼저, 수신신호로부터 신드롬을 계산한다.(400단계)First, a syndrome is calculated from the received signal (step 400).

상기 400단계에서 계산된 신드롬에 의해 에러갯수 판별식을 이용하여 에러갯수를 판별한다.(402단계)The number of errors is determined using an error number discrimination equation based on the syndrome calculated in step 400 (step 402).

단일 심벌 에러 발생시의 신드롬은The syndrome when a single symbol error occurs

Figure pat00211
Figure pat00211

이다.to be.

또한, 2중 심벌 에러 발생시의 신드롬은 상기 수학식 10과 같다. 3중 심벌 에러 발생시의 신드롬은 상기 수학식 21과 같다. 4중 심벌 에러 발생시의 신드롬은 상기 수학식 25와 같다.In addition, the syndrome when a double symbol error occurs is shown in Equation (10). The syndrome when a triple symbol error occurs is represented by Equation 21 above. The syndrome when a quadruple symbol error occurs is shown in Equation 25 above.

상기 수학식 10 내지 12에서 에러갯수를 판별하는 일예를 들어 이미 설명하였다.An example of determining the number of errors in Equations 10 to 12 has already been described.

에러 발생이 없는 경우, 단일 에러가 발생한 경우, 2중 에러가 발생한 경우, 3중 이상의 에러가 발생한 경우를 판별하는 판별식의 설명은 앞에서 이미 설명한 바와 같다.In the case where there is no error, a single error occurs, a double error occurs, and a triple or more error occurs, the description of the discrimination equation is as described above.

즉, 도 4에서 에러갯수 '0' 여부를 판단하는 단계(402-1단계), 에러갯수 '1' 여부를 판단하는 단계(402-2단계), 에러갯수 '2' 여부를 판단하는 단계(402-3단계)는 상기 판별식에 의해서 결정된다.That is, in FIG. 4, determining whether the error number is '0' (step 402-1), determining whether the error number is '1' (step 402-2), and determining whether the error number is '2' ( Step 402-3) is determined by the above discriminant.

상기 402단계에서 판별된 에러의 개수에 따라 에러정정을 수행한다.(404단계)Error correction is performed according to the number of errors determined in step 402 (step 404).

상기 402단계에서 판별된 에러의 개수가 '0'이면 에러정정을 수행하지 않는다. 판별된 에러의 개수가 '1'이면 '1'에러정정을 수행한다.(404-1단계) 또한, 판별된 에러의 개수가 '2'이면 '2'에러정정을 수행한다.(404-2단계)If the number of errors determined in step 402 is '0', error correction is not performed. If the determined number of errors is '1', error correction is performed (step 404-1). If the number of determined errors is '2', '2' error correction is performed. step)

'1'에러정정(404-1단계)은 상기 수학식 13에서 이미 설명한 바와 같다. 또한, 판별된 에러의 개수가 '2'이면 '2'에러정정을 수행한다.(404-2단계)'1' error correction (step 404-1) is as described above in Equation (13). In addition, if the determined number of errors is '2', '2' error correction is performed (step 404-2).

'1'에러정정(404-1단계)은 상기 수학식 13에서 이미 설명한 바와 같다. 또한, '2'에러정정(404-2단계)은 상기 수학식 14 내지 20에서 이미 설명한 바와 같다. 또한, 상기 404단계에서 판별된 에러의 개수가 '0','1', '2' 이외의 개수이면 에러정정을 수행하지 않는다.'1' error correction (step 404-1) is as described above in Equation (13). In addition, the '2' error correction (step 404-2) is the same as already described in the equations (14) to (20). In addition, if the number of errors determined in step 404 is other than '0', '1', or '2', error correction is not performed.

상기 에러개수 판별단계(402단계)에서 판별된 에러의 개수가 '0'이거나 상기 에러정정단계(404단계)를 수행한 후에 상태검색을 수행한다.(406단계)The number of errors determined in the error count determination step (402) is '0' or the state search is performed after the error correction step (404).

상태검색단계(406단계)는 시스템 특성, 데이터 및 플레이어 상황을 검색하기 위한 단계이다. 즉, EFM(Eight/Fourteen Modulation) 데이터 이상 유무, 플레이어(Player) 동작상태, 프레임 싱크(Frame Sync) 검출 유무 등을 확인한 다음 플러그(Flag)를 가변적으로 부가하기 위한 단계이다.The status search step (406) is a step for searching for system characteristics, data, and player status. That is, after checking whether there is an abnormality of EFM (Eight / Fourteen Modulation) data, a player operation state, a frame sync detection, etc., it is a step for variably adding a plug.

EFM 데이터 이상 유무에 대한 설명은 다음과 같다.The explanation on the abnormality of EFM data is as follows.

디스크로부터 입력되는 14비트 채널 데이터가 8비트로 복조되는데,

Figure pat00212
가지의 채널 데이터중
Figure pat00213
가지의 채널 데이터만 변환한다. 나머지 16384-256=16128가지의 데이터는 불필요한 데이터이다. 만일 이러한 불필요한 데이터가 디스크로부터 입력된다면 정상적인 8비트 데이터로 복조될 수 없다. 이때 EFM 데이터 이상 유무 상태 플러그를 셋(set) 시킨다. 마찬가지로, 한 프레임(frame)의 시작 혹은 끝을 지시하는 프레임 싱크 데이터를 7.35㎑(=136㎲)마다 검출하지 못하면 해당 프레임분의 데이터가 이상이 있을 가능성이 크므로 프레임 싱크 검출유무 상태 플러그를 셋시킨다. 플레이어 동작 상태는 정상 동작과 비정상 동작으로 구분되는데 비정상적으로 플레이어가 동작할 때 플레이어 상태 플레그를 셋시킨다. 정상 상태란 노말(normal) 플레이 상태를 의미하며 비정상 상태는 패스트 포워드(fast forward), 리뷰(review), 서치(search) 등의 상태를 의미한다. C1 디코딩에서 사용되는 상태(STATUS)와 그때 부가되는 C1 플러그는 다음의 표 2와 같다.The 14-bit channel data input from the disc is demodulated into 8 bits.
Figure pat00212
Of channel data
Figure pat00213
Convert only channel data. The remaining 16384-256 = 16128 data are unnecessary data. If such unnecessary data is input from the disc, it cannot be demodulated into normal 8-bit data. At this time, the plug of EFM data status is set. Similarly, if frame sync data indicating the start or end of one frame is not detected every 7.35 ms (= 136 ms), the data for the corresponding frame is likely to be abnormal, so set the frame sync detection status plug. Let's do it. The player action state is divided into normal action and abnormal action. When the player operates abnormally, the player state flag is set. The normal state refers to a normal play state, and the abnormal state refers to states such as fast forward, review, and search. STATUS used in C1 decoding and the C1 plug added at that time are shown in Table 2 below.

STATUS FLAGSTATUS FLAG C1 FLAG Set/ResetC1 FLAG Set / Reset 프레임 싱크 검출 유무Frame Sync Detected 플레이어 동작 상태Player operating state No ErrorNo error One ErrorOne error Two ErrorTwo error reset(OK)reset (OK) reset(OK)reset (OK) resetreset resetreset reset/setreset / set reset(OK)reset (OK) set(NG)set (NG) resetreset reset/setreset / set setset set(NG)set (NG) reset(OK)reset (OK) resetreset reset/setreset / set setset set(NG)set (NG) set(NG)set (NG) reset/setreset / set setset setset

그리고 상기 표 2에서 "reset/set"의 경우와 같이 두가지 상황을 동시에 설정한 것은 시스템의 특성 및 여러 가지 응용회로에 따라 달라질 수 있음을 의미한다.In addition, as shown in the case of "reset / set" in Table 2, setting two situations simultaneously means that the characteristics of the system and various application circuits may vary.

상기 상태검색단계(406단계)에서 검색된 상태의 양호 여부 및 상기 에러 개수 판별단계(402단계)에서 판별된 에러의 개수가 '3'이상임을 판단하여 플러그를 "0" 또는 "1"로 설정한다.(408단계)The plug is set to "0" or "1" by determining whether the state searched in the state search step (406) is good or the number of errors determined in the error number determination step (402) is greater than or equal to '3'. (Step 408)

상기 상태검색단계(406단계)에서 검색된 상태가 양호하면 플러그를 '0'로 설정한다.(408-1단계) 반면, 상기 상태검색단계(406단계)에서 검색된 상태가 양호하지 않거나 또한, 상기 에러 개수 판별단계(402단계)에서 판별된 에러의 개수가 '3'이상으로 판단되면 상기 에러정정단계(404단계) 및 상태검색단계(406단계)를 거치지 않고 직접적으로 플러그를 '1'로 설정한다.(408-2단계)The plug is set to '0' if the state found in the state searching step 406 is good (step 408-1). On the other hand, the state found in the state searching step 406 is not good or the error is detected. If the number of errors determined in the number determination step (402) is determined to be '3' or more, the plug is directly set to '1' without going through the error correction step (404) and the status search step (406). (Step 408-2)

도 5는 본 발명에 따른 에러정정방법으로서 C2 디코딩 알고리즘의 흐름도이다.5 is a flowchart of a C2 decoding algorithm as an error correction method according to the present invention.

먼저, 수신신호로부터 신드롬을 계산한다.(500단계)First, a syndrome is calculated from the received signal (step 500).

상기 신드롬 계산단계(500단계)에서 계산된 신드롬에 의해 에러갯수 판별식을 이용하여 에러갯수를 판별한다.(502단계)The number of errors is determined using an error number discrimination equation by the syndrome calculated in the syndrome calculation step (step 500).

도 4의 설명과 같이 단일 심벌 에러 발생의 신드롬은As shown in FIG. 4, the syndrome of occurrence of a single symbol error is

Figure pat00214
Figure pat00214

이다.to be.

또한, 2중 심벌 에러 발생시의 신드롬은 상기 수학식 10과 같다. 3중 심벌 에러 발생시의 신드롬은 상기 수학식 21과 같다. 4중 심벌 에러 발생시의 신드롬은 상기 수학식 25와 같다.In addition, the syndrome when a double symbol error occurs is shown in Equation (10). The syndrome when a triple symbol error occurs is represented by Equation 21 above. The syndrome when a quadruple symbol error occurs is shown in Equation 25 above.

상기 수학식 10 내지 12에서 에러갯수를 판별하는 일예를 들어 이미 설명하였다.An example of determining the number of errors in Equations 10 to 12 has already been described.

에러 발생이 없는 경우, 단일 에러가 발생한 경우, 2중 에러가 발생한 경우, 2중 이상의 에러가 발생한 경우를 판별하는 판별식의 설명은 앞에서 이미 설명한 바와 같다.In the case where there is no error, a single error occurs, a double error occurs, and a description of the discrimination equation for determining the case where a double error or more occurs has been described above.

즉, 도 5에서 에러갯수 '0' 여부를 판단하는 단계(502-1단계), 에러갯수 '1' 여부를 판단하는 단계(502-2단계), 에러갯수 '2' 여부를 판단하는 단계(502-3단계)는 상기 판별식에 의해서 결정된다.That is, the step of determining whether the error number '0' (step 502-1), the step of determining whether the error number '1' (step 502-2), the step of determining whether or not the error number '2' in FIG. Step 502-3) is determined by the discriminant.

상기 에러개수 판별단계(502단계)에서 에러갯수 '2' 여부를 판단하는 단계(502-3단계)의 판단이 에러갯수가 '2'로 판단되면 현재의 에러 위치가 C1 디코딩 알고리즘에서 설정된 플러그에 의해 설정된 에러 위치와 일치하는가를 판단한다.(504단계)If the determination of the number of errors in step 502 determines whether the number of errors is '2' (step 502-3), and the number of errors is determined to be '2', the current error position is determined by the plug set in the C1 decoding algorithm. In operation 504, it is determined whether the error position coincides with the set error position.

상기 에러개수 판별단계(502단계) 및/또는 상기 플러그 일치 여부 판단단계(504단계)를 통하여 상기 에러개수 판별단계(502단계)에서 판별된 에러개수가 '1'개이면 '1'에러 정정을 수행하고, 상기 플러그 일치 여부 판단단계(504단계)의 판단이 현재 검출된 에러의 위치와 C1 디코딩 알고리즘에서 설정된 에러의 위치가 일치하면 '2' 에러 정정을 수행한다.(506단계)If the number of errors determined in the error number determination step (502) through the error number determination step (502) and / or the plug match determination step (504) is '1' error correction is performed. In step 504, if the position of the currently detected error and the position of the error set by the C1 decoding algorithm coincide with each other, the operation of determining whether the plug is determined to be matched (step 504) is performed.

상기 '1'/'2' 에러정정단계(506단계)는 '1' 에러정정단계(506-1단계)와 '2' 에러정정단계(506-2단계)로 구분된다. '1' 에러정정단계(506-1단계)는 상기 수학식 13에서 설명한 바와 같이 이루어진다. 또한, '2' 에러정정단계(506-2단계)는 상기 수학식 14 내지 20에서 설명한 바와 같이 이루어진다.The '1' / '2' error correction step (step 506) is divided into an '1' error correction step (step 506-1) and a '2' error correction step (step 506-2). An error correction step 506-1 is performed as described in Equation 13 above. In addition, the '2' error correction step (step 506-2) is performed as described in equations (14) to (20).

상기 에러개수 판별단계(502단계)의 에러갯수 '2'여부를 판단하는 단계(502-3단계)의 판단이 현재 검출된 에러의 개수가 '2'가 아니면 이레이저 정정여부를 판단한다.(508단계)The determination of the step (502-3) of the error number determination step (502) determines whether the error is corrected if the number of detected errors is not '2'. 508 steps)

상기 이레이저 정정여부 판단단계(508단계)의 판단은 다음의 표 3에서 상세히 설명한다.The determination of the erasure correction step (508) is described in detail in Table 3 below.

STATUS FLAGSTATUS FLAG MICOM DATAMICOM DATA 이레이저 정정여부Erasure Correction 프에임 싱크 검출 유부Frame sync detection married 플레이어 동작 상태Player operating state forced Erasure OFFforced Erasure OFF reset(OK)reset (OK) reset(OK)reset (OK) resetreset ONON reset(OK)reset (OK) set(NG)set (NG) resetreset ON/OFFON / OFF set(NG)set (NG) reset(OK)reset (OK) resetreset ON/OFFON / OFF set(NG)set (NG) set(NG)set (NG) resetreset ON/OFFON / OFF don't caredon't care don't caredon't care setset OFFOFF

상기 표 2에서와 같이 상기 표 3에서도 ON 또는 OFF("ON/OFF")의 두가지 상태를 선택적으로 설정한 것은 시스템의 특성 및 여러가지 응용회로에 따라 달라질 수 있음을 의미한다.As shown in Table 2, the selective setting of two states of ON or OFF ("ON / OFF") also in Table 3 means that the characteristics of the system and various application circuits may vary.

상기 이레이저 정정여부 판단단계(508)의 판단이 상기 표 3에 의해 'ON'이면 플러그의 개수를 판단한다.(510단계)If the determination of the erasure correction step 508 is 'ON' according to Table 3, the number of plugs is determined.

상기 플러그 개수 제1판단단계(510단계)에서 판단된 플러그의 개수가 '3' 또는 '4'이면 '3'/'4' 이레이저 정정을 수행한다.(512단계)If the number of plugs determined in the first determination step (510) is '3' or '4', the '3' / '4' erasure correction is performed (step 512).

상기 '3'/'4' 이레이저 정정단계(512단계)에서 '3' 이레이저 정정은 상기 수학식 21 내지 24에서 설명한 바와 같이 이루어진다. 또한 '4' 이레이저 정정은 상기 수학식 25 내지 28에서 설명한 바와 같이 이루어진다.In the '3' / '4' erasure correction step (step 512), the '3' erasure correction is performed as described in Equations 21 to 24 above. In addition, the '4' erasure correction is performed as described in Equations 25 to 28.

상기 '3'/'4' 이레이저 정정단계(512단계)에서 '3' 또는 '4' 이레이저 정정이 수행되고 난 후, 이레이저 정정이 올바른 수행 여부를 확인하기 위하여 검산을 수행한다.(514단계)After the '3' or '4' erasure correction is performed in the '3' / '4' erasure correction step (step 512), a check is performed to confirm whether the erasure correction is correctly performed. Step 514)

상기 플러그 일치 여부 판단단계(504단계) 및/또는 상기 이레이저 정정여부 판단단계(508단계)를 통하여 상기 플러그 일치 여부 판단단계(504단계)의 판단이 현재 검출된 에러의 위치와 C1 디코딩 알고리즘에서 설정된 에러의 위치가 일치하지 않거나 또는 상기 이레이저 정정여부 판단단계(508)의 판단이 상기 표 3에 의해 'OFF'이면 플러그의 개수를 판단한다.(516단계)The determination of the plug matching determination step (504) through the plug matching determination step (504) and / or the erasure correction determination step (508) is performed in the position of the currently detected error and the C1 decoding algorithm. If the position of the set error does not match or the determination of the eraser correction determination step 508 is 'OFF' according to Table 3, the number of plugs is determined (step 516).

상기 신드롬 계산단계(500단계) 내지 상기 플러그 개수 제2판단단계(516)가 수행되고 난 후 플러그를 설정한다.(518단계)The plug is set after the syndrome calculation step (500) to the plug number second determination step (516) is performed (step 518).

상기 플러그 설정단계(518단계)는 플러그 '0' 설정단계(518-1단계), 플러그 '1' 설정단계(518-2단계), 플러그 '복사(copy)' 설정단계(518-3단계)로 구분된다.The plug setting step (step 518) includes plug '0' setting step (step 518-1), plug '1' setting step (step 518-2), plug 'copy' setting step (step 518-3) Separated by.

상기 플러그 '0' 설정단계(518-1단계)에서는 상기 에러개수 판별단계(502단계)의 에러갯수 '0' 여부를 판단하는 단계(502-1단계)의 판단이 현재 검출된 에러가 없거나, 상기 '1'/'2' 에러정정단계(506단계)에서 '1' 또는 '2' 에러가 정정되었거나, 또는 상기 검산단계(514단계)에서 검산된 결과가 양호할 때 플러그를 '0'으로 설정한다.In the plug '0' setting step (step 518-1), the determination of the step (502-1) of determining whether the error number '0' in the error number determination step (502) does not include an error currently detected; When the error '1' or '2' is corrected in the '1' / '2' error correction step (step 506) or the result of the check in the check step (514) is satisfactory, the plug is changed to '0'. Set it.

상기 플러그 '1' 설정단계(518-2단계)는 상기 플러그 개수 제1판단단계(510단계)에서 판단된 플러그의 개수가 '0', '1', '2' 이거나, 상기 검산단계(514단계)에서 검산된 결과가 불량이거나, 또는 상기 플러그 개수 제2판단단계(516)에서 판단된 플러그의 개수가 '1' 또는 '2'일 때 플러그를 '1'로 설정한다.In the plug '1' setting step (518-2), the number of plugs determined in the plug number first determination step (510) is '0', '1', or '2', or the checking step (514). The plug is set to '1' when the result checked in step) is bad or the number of plugs determined in the plug determination second determination step 516 is '1' or '2'.

상기 플러그 '복사' 설정단계(518-3단계)는 상기 플러그 개수 제1판단단계(510단계)에서 판단된 플러그의 개수가 '5'이거나, 또는 상기 플러그 개수 제2판단단계(516)에서 판단된 플러그의 개수가 '2'를 초과할때 플러그를 '복사' 설정한다.In the plug 'copy' setting step (step 518-3), the number of plugs determined in the plug number first determination step (510) is '5', or the plug number is determined in the second determination step 516. When the number of plugs plugged exceeds '2', 'plug' is set.

이제 본 발명의 다른 목적을 달성하기 위한 에러정정장치를 설명한다.Now, an error correction apparatus for achieving another object of the present invention will be described.

도 6a 내지 도 6b는 본 발명에 따른 에러정정장치의 블록도이다.6A to 6B are block diagrams of an error correction apparatus according to the present invention.

특히, 도 6a는 본 발명에 따른 에러정정장치의 에러정정제어부의 블록도이고, 도 6b는 에러정정연산부의 블록도이다.In particular, FIG. 6A is a block diagram of an error correction control unit of the error correction apparatus according to the present invention, and FIG. 6B is a block diagram of an error correction operation unit.

먼저, 도 6a에 도시된 에러정정제어부는 프로그램 롬(600), 상기 프로그램 롬(600)의 출력신호를 입력신호로 하는 프로그램 레지스터(6020), 상기 프로그램 레지스터(6020)의 출력신호를 입력신호로 하는 프로그램 디코더(604), 상기 프로그램 디코더(604)의 일측 출력신호와 도 6b에 도시된 바와 같은 에러정정연산부의 출력신호를 입력신호로 하는 점프 콘트롤부(606), 상기 점프 콘트롤부(606)의 출력신호와 상기 프로그램 레지스터(602)의 출력신호 및 상기 프로그램 디코더(604)의 다른 출력신호를 입력신호로 하는 프로그램 어드레스 카운터(608), 및 상기 프로그램 디코더(604)의 출력신호를 입력신호로 하여 에러정정연산부(도 6b)로 출력하는 연산 제어부(610)로 구성된다.First, the error correction control unit illustrated in FIG. 6A uses a program ROM 600, a program register 6020 having an output signal of the program ROM 600 as an input signal, and an output signal of the program register 6020 as an input signal. A jump control unit 606 and the jump control unit 606 that use an output signal of one side of the program decoder 604, an output signal of the program decoder 604, and an output signal of an error correction operation unit as shown in FIG. 6B. A program address counter 608 that takes an output signal of the program register 602, an output signal of the program register 602, and another output signal of the program decoder 604, and an output signal of the program decoder 604 as an input signal. And an arithmetic control unit 610 for outputting to an error correction operation unit (FIG. 6B).

한편, 도 6b에 도시된 에러정정연산부는 어드레스 발생기(650),

Figure pat00215
변환기(652),
Figure pat00216
변환기(654), C1 플러그 카운터(656), 제로 카운터(658), 입출력(i/o) 레지스터(660), 에러위치 저장 레지스터(662), 제1신호선택기(664), 역원기(666), 트레이(trace) 변환기(668), 제2신호선택기(670), 제3신호선택기(672), MA 레지스터(674), MB 레지스터(676), AB 레지스터(678), TEMP 레지스터(680), 신드롬 생성기(682), C1/C2 플러그 발생기(684), RAM(686), 곱셈기(688), 덧셈기(690), 및 데이터 버스(data bus)로 구성된다.On the other hand, the error correction operation unit shown in Figure 6b, the address generator 650,
Figure pat00215
Converter 652,
Figure pat00216
Converter 654, C1 plug counter 656, zero counter 658, input / output (i / o) register 660, error position storage register 662, first signal selector 664, invertor 666 , Tray converter 668, second signal selector 670, third signal selector 672, MA register 674, MB register 676, AB register 678, TEMP register 680, It consists of a syndrome generator 682, a C1 / C2 plug generator 684, a RAM 686, a multiplier 688, an adder 690, and a data bus.

그러면 도 6a 및 도 6b에 도시된 에러정정제어부 및 에러정정연산부를 구성하는 구성요소들간의 상호 유기적인 동작 설명을 실시한다.Next, a description will be given of the mutual organic operation between the components constituting the error correction control unit and the error correction operation unit shown in FIGS. 6A and 6B.

도 6a에 도시된 바와 같은 에러정정제어부는 에러정정 기능이 상기 도 4 및 도 5에서 설명된 바와 같은 알고리즘의 플로우(flow) 대로 수행되도록 제어신호를 발생한다. 프로그램 롬(600)은 에러정정 복호 알고리즘이 코디(coding)화 되어 내장된다. 즉, 상기 도 4 및 도 5에서 설명한 바와 같은 C1 및 C2 디코딩 알고리즘이 코딩화 되어 내장된다. 프로그램 레지스터(602)는 상기 프로그램 롬(600)에서 출력되는 인스트럭션(instruction)을 저장한다. 프로그램 디코더(604)는 상기 프로그램 레지스터(602)에 저장된 인스트럭션을 소정의 코딩 형태에 따라 제어신호를 출력한다. 점프 콘트롤부(606)는 상기 프로그램 디코더(604)로부터 출력되는 신호와 도 6b에 도시된 에러정정연산부로부터 출력되는 신호를 입력신호로 하여 에러 정정시 특정 스텝(step)이나 인스트럭션을 일정 주기만큼 유지하거나, 다른 스텝으로 분기할 경우를 판단하여 그 때의 상황에 알맞는 제어신호를 발생한다. 프로그램 어드레스 카운터(608)는 상기 프로그램 레지스터(602)로부터 출력되는 신호와 상기 프로그램 디코더(604)로부터 출력되는 신호 및 상기 점프 콘트롤부(606)로부터 출력되는 제어신회에 의해 어드레스(address)를 카운팅(counting)한다. 연산제어부(610)는 상기 프로그램 디코더(604)로부터 출력된 신호에 의해 에러정정에 필요한 부호 데이터의 입출력조절신호를 발생한다.The error correction control unit as shown in FIG. 6A generates a control signal such that the error correction function is performed according to the flow of the algorithm as described with reference to FIGS. 4 and 5. The program ROM 600 includes a coded error correction decoding algorithm. That is, the C1 and C2 decoding algorithms described with reference to FIGS. 4 and 5 are coded and embedded. The program register 602 stores instructions output from the program ROM 600. The program decoder 604 outputs a control signal for the instructions stored in the program register 602 according to a predetermined coding format. The jump controller 606 uses a signal output from the program decoder 604 and a signal output from the error correction operator shown in FIG. 6B as input signals to maintain a specific step or instruction for a predetermined period during error correction. Or, it determines whether to branch to another step and generates a control signal suitable for the situation at that time. The program address counter 608 counts an address by a signal output from the program register 602, a signal output from the program decoder 604, and a control signal output from the jump controller 606. counting). The operation controller 610 generates an input / output control signal of code data necessary for error correction by the signal output from the program decoder 604.

한편, 도 6b에 도시된 바와 같은 에러정정연산부는 에러정정을 위한 연산처리와 부호 데이터 및 C1/C2 플러그를 리드/라이트(read/write)시에 필요한 어드레스를 발생한다. 어드레스 발생기(650)는 에러정정에 필요한 부호 데이터와 플러그를 리드/라이트(read/write)시에 사용하는 어드레스를 발생한다. 부호 데이터는 C1 데이터와 C2 데이터를 일컫는다. 또한, 플러그는 C1 플러그와 C2 플러그를 일컫는다.

Figure pat00217
변환기(652)는 데이터 버스(692)에 접속되고, 유한체
Figure pat00218
상의 임의의 원소
Figure pat00219
를 정수값(i)로 변환한다. 상기
Figure pat00220
변환기(652)에서 변환된 정수들은 에러위치 저장 레지스트(662)로 출력된다.
Figure pat00221
변환기(654)는 데이터 버스(692)에 접속되고, 정수값(i)를 유한체
Figure pat00222
상의 임의의 원소
Figure pat00223
로 변환한다. 이들 임의의 원소들은 에러정정 연산에 사용된다. C1 플러그 카운터(656)는 데이터버스(692)에 접속되고, C2 부호 에러정정시 C2 부호 데이터를 읽은 후 C1 플러그를 읽어들이는데 이때 C1 플러그의 개수를 계수화한다. 제로 카운터(658)는 데이터버스(692)에 접속되고, 제로 데이터를 검출하여 개수를 측정 후 측정 개수를 출력한다. 입출력 레지스터(660)는 데이터 버스(692)에 접속되고, 부호 데이터 및 플러그 등을 입출력할 때 사용되는 인터페이스 회로이다. 에러위치 저장 레지스터(662)는 상기 어드레스 발생기(650)로부터 출력되는 일측의 출력신호외 상기
Figure pat00224
변환기(652)로부터 출력되는 일측의 출력신호를 입력신호로 하여 에러정정 연산 도중에 발생된 에러의 위치를 정수값으로 저장하거나 상기 어드레스 발생기(650)로부터 출력되는 이레이저의 위치를 정수값으로 저장한다. 제1신호선택기(664)는 상기 어드레스 발생기(650)로부터 출력된 및 상기 에러위치 저장 레지스터(662)로부터 출력된 신호를 선택적으로 출력한다. 역원기(666)는 데이터 버스(692)에 접속되고 유한체
Figure pat00225
상의 임의의 원소
Figure pat00226
Figure pat00227
혹은
Figure pat00228
표현으로 변환 출력한다. 역원기(666)는 에러정정 연산중 나눗셈 연산을 수행할 때 사용된다. 트레이스 변환기(668)는 데이터 버스(692)에 접속되고, 2중 심벌 에러정정에 사용되며 에러위치 다항식
Figure pat00229
의 근을 구한다. 이에 대한 변환표는 상기 표 1에서 이미 설명한 바와 같이 수행한다. 제2신호선택기(670)는 데이터 버스(692)에 접속되어 8비트 내부 데이터 버스상의 데이터 혹은 상기 역원기(666)로부터 출력되는 데이터를 선택적으로 출력한다. 제3신호선택기(672)는 데이터버스(692)에 접속되어 8비트 내부 데이터 버스상의 데이터 혹은 상기 트레이스 변환기(668)를 거친 데이터를 선택적으로 출력한다. MA 레지스터(674)는 상기 제2신호선택기(670)로부터 출력된 신호를 일시적으로 저장한다. MB 레지스터(676)는 상기 제3신호선택기(672)로부터 출력되는 데이터를 일시적으로 저장한다. AB 레지스터(678)는 데이터 버스(692)에 접속되어 데이터를 일시적으로 저장한다. TEMP 레지스터(680)는 데이터 버스(692)에 접속되어 연산도중에 발생된 템포러리(Temporary) 데이터를 일시적으로 저장한다. 신드롬 생성기(682)는 데이터 버스(692)에 접속되어 부호 데이터로부터 신드롬 요소
Figure pat00230
를 구하는 회로이며
Figure pat00231
내지
Figure pat00232
까지 구하는 실시예를 상기 도 3a 내지 도 3d에서 보인 바 있다. C1/C2 플러그 생성기(684)는 데이터버스(692)에 접속되고, 에러정정 처리 후 각 부호 데이터에 플러그 정보를 부가하거나 혹은 플러그 정보를 복사한다. RAM(686)은 데이터 버스(6920)에 접속되어 에러정정 연산 도중 발생된 중요 계수 데이터나 각종 근을 저장한다. 곱셈기(688)는 상기 MA, 레지스터(674)로부터 출력된 신호와 상기 MB 레지스터(676)로부터 출력된 신호를 입력신호로 하여 유한체
Figure pat00233
상의 원소들을 곱한다. 덧셈기(690)는 상기 곱셈기(688)로부터 출력된 신호와 상기 AB 레지스터(678)로부터 출력된 신호를 입력신호로 하여 유한체
Figure pat00234
상의 원소들을 더한다. 상기 덧셈기(690)는 익스클루시브-오아(Exclusive-OR) 게이트로 구성된다.On the other hand, the error correction operation unit as shown in Fig. 6b generates an operation process for error correction and an address necessary for reading / writing the sign data and the C1 / C2 plug. The address generator 650 generates an address that uses code data and plugs necessary for error correction during read / write. The sign data refers to C1 data and C2 data. In addition, a plug refers to a C1 plug and a C2 plug.
Figure pat00217
Converter 652 is connected to data bus 692 and is a finite field
Figure pat00218
Elements on Pinterest
Figure pat00219
Is converted to an integer value (i). remind
Figure pat00220
The integers converted by the converter 652 are output to the error location storage register 662.
Figure pat00221
The converter 654 is connected to the data bus 692 and is a finite field of integer value i.
Figure pat00222
Elements on Pinterest
Figure pat00223
Convert to These arbitrary elements are used for error correction operations. The C1 plug counter 656 is connected to the data bus 692. When the C2 code error is corrected, the C1 plug counter 656 reads the C1 plug and then counts the number of C1 plugs. The zero counter 658 is connected to the data bus 692, detects zero data, measures the number, and outputs the measured number. The input / output register 660 is an interface circuit connected to the data bus 692 and used for inputting and outputting sign data, plugs, and the like. The error position storing register 662 may be output from one side of the output signal output from the address generator 650.
Figure pat00224
Using the output signal of one side output from the converter 652 as an input signal, the position of the error generated during the error correction operation is stored as an integer value, or the position of the eraser output from the address generator 650 is stored as an integer value. The first signal selector 664 selectively outputs a signal output from the address generator 650 and output from the error location storage register 662. Inverter 666 is connected to data bus 692 and is a finite field
Figure pat00225
Elements on Pinterest
Figure pat00226
To
Figure pat00227
or
Figure pat00228
Convert to output the output. The inverter 666 is used to perform the division operation during the error correction operation. Trace converter 668 is connected to data bus 692 and is used for double symbol error correction and error location polynomials.
Figure pat00229
Find the root of. The conversion table for this is performed as already described in Table 1 above. The second signal selector 670 is connected to the data bus 692 and selectively outputs data on the 8-bit internal data bus or data output from the inverter 666. The third signal selector 672 is connected to the data bus 692 and selectively outputs data on an 8-bit internal data bus or data passed through the trace converter 668. The MA register 674 temporarily stores the signal output from the second signal selector 670. The MB register 676 temporarily stores data output from the third signal selector 672. The AB register 678 is connected to the data bus 692 to temporarily store data. The TEMP register 680 is connected to the data bus 692 to temporarily store temporary data generated during the operation. The syndrome generator 682 is connected to the data bus 692 to allow syndrome elements from the sign data.
Figure pat00230
Is a circuit to find
Figure pat00231
To
Figure pat00232
An embodiment obtained until has been shown in Figures 3a to 3d. The C1 / C2 plug generator 684 is connected to the data bus 692, adds plug information to each code data or copies the plug information after error correction processing. The RAM 686 is connected to the data bus 6920 to store important coefficient data or various roots generated during the error correction operation. The multiplier 688 uses a signal output from the MA and the register 674 and a signal output from the MB register 676 as input signals.
Figure pat00233
Multiply the elements of the phases. The adder 690 uses a signal output from the multiplier 688 and a signal output from the AB register 678 as input signals.
Figure pat00234
Add the elements of the phase. The adder 690 is configured with an Exclusive-OR gate.

상술한 바와 같은 본 발명에 의하면 다음과 같은 효과를 갖는다.According to the present invention as described above has the following effects.

종래의 디지털 A/V(Audio/Video) 기기에 사용되는 리드-솔로몬 에러정정장치에서는 C1 코드에서 2 에러까지 정정하고, C2 코드에서는 4 이레이저까지 정정이 가능하나 실제로는 2 에러까지만 정정하였다. 2 에러만 정정할 경우 버스트(burst) 에러가 코드 워드 개수로 8개 이상이 발생하면 에러정정을 할 수 없으나, 본 발명에서와 같이 4 이레이저 정정을 수행할 경우 16개의 코드 워드까지 연속적으로 에러가 발생하여도 에러정정을 수행할 수 있는 효과를 제공한다.The Reed-Solomon error correction device used in the conventional digital A / V (Audio / Video) device corrects up to 2 errors in the C1 code, and up to 4 erasers in the C2 code, but only up to 2 errors. If only 2 errors are corrected If 8 or more burst errors occur as the number of code words, error correction cannot be performed. However, if 4 erasure correction is performed as in the present invention, up to 16 code words can be used continuously. Even if the error occurs, the error correction can be performed.

Claims (11)

디지털 신호의 재생에 있어 리드-솔로몬(Reed-Solomon) 부호를 사용하여 데이터의 에러를 정정하기 위한 에러정정방법에 있어서,An error correction method for correcting an error of data by using a Reed-Solomon code in reproduction of a digital signal, 수신신호로부터 신드롬을 계산하는 단계(400단계);Calculating a syndrome from the received signal (step 400); 상기 신드롬 계산단계(400단계)에서 계산된 신드롬에 의해 에러갯수 판별식을 이용하여 에러갯수를 판별하는 단계(402단계);Determining an error number using an error number determination equation based on the syndrome calculated in the syndrome calculation step (step 400); 상기 에러개수 판별단계(402단계)에서 판별된 에러의 개수에 따라 에러정정을 수행하는 단계(404단계);Performing error correction according to the number of errors determined in the error number determination step (402) (step 404); 상기 에러개수 판별단계(402단계)에서 판별된 에러의 개수가 '0'이거나 상기 에러정정단계(404단계)를 수행한 후에 시스템의 상태검색을 수행하는 상태검색단계(406단계); 및A status search step (406) of performing a status search of a system after performing the error correction step (404) or the number of errors determined in the error number determination step (402); And 상기 상태검색단계(406단계)에서 검색된 상태의 양호 여부 및 상기 에러 개수 판별단계(402단계)에서 판별된 에러의 개수가 '3'이상임을 판단하여 플러그를 "0" 또는 "1"로 설정하는 플러그 설정단계(408단계)를 갖는 C1 디코딩 과정The plug is set to "0" or "1" by determining that the status searched in the status search step (406) is good or the number of errors determined in the error number determination step (402) is greater than or equal to '3'. C1 decoding process with plug setting step (408) 그리고,And, 수신신호로부터 신드롬을 계산하는 신드롬 계산단계(500단계);A syndrome calculation step (500) of calculating a syndrome from the received signal; 상기 신드롬 계산단계(500단계)에서 계산된 신드롬에 의해 에러개수 판별식을 이용하여 에러개수를 판별하는 에러개수 판별단계(502단계);An error number determination step (502) of determining an error number using an error number determination equation by the syndrome calculated in the syndrome calculation step (500); 상기 에러개수 판별단계(502단계)에서 판별된 에러의 개수가 '2'로 판단되면 현재의 에러 위치가 상기 C1 디코딩 과정의 플러그 설정단계(408단계)에서 설정된 에러의 위치와 일치하는가를 판단하는 플러그 일치 여부 판단단계(504단계);If the number of errors determined in the error number determination step (502) is determined to be '2', it is determined whether the current error position matches the error position set in the plug setting step (408) of the C1 decoding process. Determining whether a plug is matched (step 504); 상기 에러개수 판별단계(502단계) 및/또는 상기 플러그 일치 여부 판단단계(504단계)를 통하여 상기 에러개수 판별단계(502단계)에서 판별된 에러개수가 '1'개이면 '1' 에러 정정을 수행하고, 상기 플러그 일치 여부 판단단계(504단계)의 판단이 현재 검출된 에러의 위치와 C1 디코딩 과정에서 설정된 에러의 위치가 일치하면 '2' 에러 정정을 수행하는 에러정정단계(506단계);If the number of errors determined in the error number determination step (502) through the error number determination step (502) and / or the plug match determination step (504) is '1' error correction is performed. An error correction step (506) of performing a “2” error correction when the location of the error detected in the plug matching determination step (504) and the location of the error set in the C1 decoding process coincide; 상기 에러개수 판별단계(502단계)의 판단이 현재 검출된 에러의 개수가 '2'를 초과하면 이레이저 정정여부를 판단하는 이레이저 정정여부 판단단계(508단계);An erasure correction determination step (508) of determining whether the error number determination step (502) determines whether or not the eraser is corrected when the number of currently detected errors exceeds '2'; 상기 이레이저 정정여부 판단단계(508단계)의 판단이 'ON'이면 플러그의 개수를 판단하는 플러그 개수 제1판단단계(510단계);A first plug determination step (510) of determining the number of plugs when the determination of the erasure correction (step 508) is 'ON'; 상기 플러그 개수 제1판단단계(510단계)에서 판단된 플러그의 개수가 '3' 또는 '4'이면 '3'/'4' 이레이저 정정을 수행하는 '3'/'4' 이레이저 정정단계(512단계);'3' / '4' erasure correction step for performing '3' / '4' erasure correction when the number of plugs determined in the first determination step (510) is '3' or '4' (Step 512); 상기 '3'/'4' 이레이저 정정단계(512단계)에서 '3' 또는 '4' 이레이저 정정이 수행되고 난 후, 이레이저 정정이 올바른 수행 여부를 확인하기 위하여 검산을 수행하는 검산단계(514단계);After the '3' or '4' eraser correction is performed in the '3' / '4' eraser correcting step (step 512), a checking step of performing checking to confirm whether the eraser correction is performed correctly. (Step 514); 상기 플러그 일치 여부 판단단계(504단계) 및/또는 상기 이레이저 정정여부 판단단계(508단계)를 통하여 상기 플러그 일치 여부 판단단계(504단계)의 판단이 현재 검출된 에러의 위치와 C1 디코딩 과정에서 설정된 에러의 위치가 일치하지 않거나 또는 상기 이레이저 정정여부 판단단계(508단계)의 판단이 'OFF'이면 플러그의 개수를 판단하는 플러그 개수 제2판단단계(516단계);In the plug matching determination step (504) and / or the erasure correction determination step (508), the determination of the plug matching determination step (504) is performed in the position of the currently detected error and the C1 decoding process. A second plug determination step (516) of determining the number of plugs when the position of the set error does not match or the determination of whether the erasure is corrected (step 508) is 'OFF'; 상기 신드롬 계산단계(500단계) 내지 상기 플러그 개수 제2판단단계(516단계)가 수행되고 난 후 플러그를 설정하는 플러그 설정단계(518단계)를 갖는 C2 디코딩 과정을 포함하는 에러정정방법.And a plug setting step (step 518) of setting a plug after the syndrome calculation step (500) to the plug number second determination step (516) are performed. 제1항에 있어서, 상기 에러정정 수행단계(404단계)는The method of claim 1, wherein the error correction is performed (step 404). 상기 에러개수 판별단계(402단계)에서 판별된 에러의 개수가 '0'이면 에러정정을 수행하지 않고, 판별된 에러의 개수가 '1'이면 '1'에러정정을 수행(404-1다계)하고, 판별된 에러의 개수가 '2'이면 '2'에러정정을 수행(404-2)하는 바,If the number of errors determined in the error number determination step (402) is '0', error correction is not performed. If the number of errors determined is '1', error correction is performed (404-1 multisystem). If the determined number of errors is '2', '2' error correction is performed (404-2). 상기 '1'에러정정(404-1단계)의 수행은Performing the '1' error correction (step 404-1)
Figure pat00235
Figure pat00235
이고, 상기 '2'에러정정(404-2단계)의 수행은And, performing the '2' error correction (step 404-2) 2중 심벌 에러 발생의 경우 에러위치 X1, X2를 근으로 갖는 에러위치 다항식을
Figure pat00236
이라 정의하면, 상기 다항식으로부터
Figure pat00237
으로 치환하면, 상기 다항식은 다음의 수학식 14와 같이 나타낼 수 있고
In case of double symbol error, the error position polynomial with error positions X1 and X2
Figure pat00236
In this definition, from the polynomial
Figure pat00237
If replaced with, the polynomial can be expressed as
<수학식 14><Equation 14>
Figure pat00238
Figure pat00238
(여기서,
Figure pat00239
이고,
Figure pat00240
) 또한,
Figure pat00241
의 트레이스(trace)인
Figure pat00242
Figure pat00243
Figure pat00244
로 구별하여 식을 쓰면,
(here,
Figure pat00239
ego,
Figure pat00240
) Also,
Figure pat00241
Is a trace of
Figure pat00242
To
Figure pat00243
Wow
Figure pat00244
If you write the expression as
Figure pat00245
Figure pat00245
Figure pat00246
Figure pat00246
이고, 유한체 GF
Figure pat00247
상에서 트레이스를 취하면 m=8이므로,
Figure pat00248
Figure pat00249
는 각각 수학식 15와 16과 같이 나타낼 수 있다.
, Finite field GF
Figure pat00247
If you take a trace on m = 8,
Figure pat00248
Wow
Figure pat00249
May be represented as in Equations 15 and 16, respectively.
<수학식 15><Equation 15>
Figure pat00250
Figure pat00250
<수학식 16><Equation 16>
Figure pat00251
Figure pat00251
상기 수학식 15 및 16으로부터 T2(k)=0 이고, T4(k)=1 이면, 수학식 14에서 표현된 z(x')의 두근 x1과 x2는 다음의 수학식 17과 같이 표현할 수 있는 바,When T 2 (k) = 0 and T 4 (k) = 1 from Equations 15 and 16, the weights x 1 and x 2 of z (x ') expressed in Equation 14 are represented by Equations 17 and Can be expressed together, <수학식 17><Equation 17>
Figure pat00252
Figure pat00252
그러나 T2(k)=0 이나 T4(k)=0 가 되는 경우에는 다음의 수학식 18과 같이 표현할 수 있고,However, when T 2 (k) = 0 or T 4 (k) = 0, it can be expressed as Equation 18 below. <수학식 18><Equation 18>
Figure pat00253
Figure pat00253
여기서, y는 T2(y)=1 이 되는 GF(28) 내의 한 원소이며 k1=y+y2이라 할 때 T4(c)=T4(k+k1)=1을 만족시킴으로서 상기 수학식 18로 표현되는 두 근이 결정되는데,Where y is an element in GF (2 8 ) such that T 2 (y) = 1 and satisfying T 4 (c) = T 4 (k + k 1 ) = 1 when k 1 = y + y 2 By doing so, two roots represented by Equation 18 are determined. 상기 과정을 통하여 얻은 x1과 x2를 이용하여 에러위치 X1, X2는 다음의 수학식 19와 같고, 에러값 Y1, Y2는 다음의 수학식 20과 같음을 특징으로 하고,By using x 1 and x 2 obtained through the above process, the error positions X1 and X2 are represented by Equation 19, and the error values Y1 and Y2 are represented by Equation 20, <수학식 19><Equation 19>
Figure pat00254
Figure pat00254
<수학식 20><Equation 20>
Figure pat00255
Figure pat00255
상기 에러정정 수행단계(404단계)에서 판별된 에러의 개수가 '0', '1', '2' 이외의 개수이면 에러정정을 수행하지 않음을 특징으로 하는 에러정정방법.And error correction is not performed if the number of errors determined in the error correction performing step (404) is other than '0', '1', or '2'.
제1항에 있어서, 상기 상태검색단계(406단계)는The method of claim 1, wherein the status retrieval step (406) is performed. 시스템 특헝, 데이터 및 플레이어 상황을 검색하는 단계로서 EFM(Eight/Fourteen Modulation) 데이터 이상 유무, 플레이어(Player) 동작상태, 프레임 싱크(Frame Sync) 검출 유무 등을 확인한 다음 플러그(Flag)를 가변적으로 부가하기 위한 단계인 바,As a step to search system features, data and player status, check whether there is an abnormality of EFM (Eight / Fourteen Modulation) data, player operation status, frame sync detection, etc. Are the steps to do this, STATUS FLAGSTATUS FLAG C1 FLAG Set/ResetC1 FLAG Set / Reset 프레임 싱크검출 유무Frame Sync Detection 플레이어 동작상태Player operating state No ErrorNo error One ErrorOne error Two ErrorTwo error reset(OK)reset (OK) reset(OK)reset (OK) resetreset resetreset reset/setreset / set reset(OK)reset (OK) set(NG)set (NG) resetreset reset/setreset / set setset set(NG)set (NG) reset(OK)reset (OK) resetreset reset/setreset / set setset set(NG)set (NG) set(NG)set (NG) reset/setreset / set setset setset
임을 특징으로 하는 에러정정방법.Error correction method characterized in that.
제1항에 있어서, 상기 플러그 설정단계(408단계)는The method of claim 1, wherein the plug setting step (408) 상기 상태검색단계(406단계)에서 검색된 상태가 양호하면 플러그를 '0'로 설정하고, 검색된 상태가 양호하지 않으면 플러그를 '1'로 설정하며, 상기 에러 개수 판별단계(402단계)에서 판별된 에러의 개수가 '3'이상으로 판단되면 상기 에러정정단계(404단계) 및 상태검색단계(406단계)를 거치지 않고 직접적으로 플러그를 '1'로 설정함을 특징으로 하는 에러정정방법.If the detected state is good in step 406, the plug is set to '0'. If the detected state is not good, the plug is set to '1'. If the number of errors is determined to be greater than or equal to '3', the error correction method of setting a plug directly to '1' without going through the error correction step (404) and the status search step (406). 제1항에 있어서, 상기 플러그 설정단계(408단계)는The method of claim 1, wherein the plug setting step (408) 상기 상태검색단계(406단계)에서 검색된 상태가 양호하면 플러그를 '0'로 설정하는 단계(408-1단계); 및Setting the plug to '0' if the state found in the state search step (406) is good (step 408-1); And 상기 상태검색단계(406단계)에서 검색된 상태가 양호하지 않거나 또한, 상기 에러 개수 판별단계(402단계)에서 판별된 에러의 개수가 '3'이상으로 판단되면 상기 에러정정단계(404단계) 및 상태검색단계(406단계)를 거치지 않고 직접적으로 플러그를 '1'로 설정하는 단계(408-2단계)로 세분됨을 특징으로 하는 에러정정방법.If the status searched in the status search step (406) is not good or if the number of errors determined in the error count determination step (402) is determined to be '3' or more, the error correction step (404 step) and the state Error setting method characterized in that the subdivided into the step (408-2) to directly set the plug to '1' without going through the search step (406). 제1항에 있어서, 상기 에러정정단계(506단계)는 '1' 에러정정단계(506-1단계)와 '2'에러정정단계(506-2)로 구분되는 바,The method of claim 1, wherein the error correction step (506) is divided into a '1' error correction step (506-1) and a '2' error correction step (506-2). 상기 '1'에러정정(506-1단계)의 수행은Performing the '1' error correction (step 506-1)
Figure pat00256
Figure pat00256
이고, 상기 '2'에러정정(506-2단계)의 수행은And the '2' error correction (step 506-2) is performed 2중 심벌 에러 발생의 경우 에러위치 X1, X2를 근으로 갖는 에러위치 다항식을
Figure pat00257
이라 정의하면, 상기 다항식으로부터 x=z1x'으로 치환하면, 상기 다항식은 다음의 수학식 14와 같이 나타낼 수 있고
In case of double symbol error, the error position polynomial with error positions X1 and X2
Figure pat00257
In this case, if x = z 1 x 'is substituted from the polynomial, the polynomial can be expressed as Equation 14 below.
<수학식 14><Equation 14>
Figure pat00258
Figure pat00258
(여기서,
Figure pat00259
이고,
Figure pat00260
) 또한, k의 트레이스(trace)인 Tr(k)를 T2(k) 와 T4(k)로 구별하여 식을 쓰면,
(here,
Figure pat00259
ego,
Figure pat00260
Also, if we write T r (k) which is trace of k as T 2 (k) and T 4 (k),
Figure pat00261
Figure pat00261
이고, 유한체 GF
Figure pat00262
상에서 트레이스를 취하면 m=8이므로,
Figure pat00263
Figure pat00264
는 각각 수학식 15와 16과 같이 나타낼 수 있다.
, Finite field GF
Figure pat00262
If you take a trace on m = 8,
Figure pat00263
Wow
Figure pat00264
May be represented as in Equations 15 and 16, respectively.
<수학식 15><Equation 15>
Figure pat00265
Figure pat00265
<수학식 16><Equation 16>
Figure pat00266
Figure pat00266
상기 수학식 15 및 16으로부터 T2(k)=0 이고, T4(k)=1 이면, 수학식 14에서 표현된 z(x')의 두근 x1과 x2는 다음의 수학식 17과 같이 표현할 수 있는 바,When T 2 (k) = 0 and T 4 (k) = 1 from Equations 15 and 16, the weights x 1 and x 2 of z (x ') expressed in Equation 14 are represented by Equations 17 and Can be expressed together, <수학식 17><Equation 17>
Figure pat00267
Figure pat00267
그러나 T2(k)=0이나 T4(k)=0가 되는 경우에는 다음의 수학식 18과 같이 표현할 수 있고,However, when T 2 (k) = 0 or T 4 (k) = 0, it can be expressed as Equation 18 below. <수학식 18><Equation 18>
Figure pat00268
Figure pat00268
여기서, y는 T2(y)=1이 되는 GF(28) 내의 한 원소이며 k1=y+y2이라 할 때 T4(c)=T4(k+k1)=1을 만족시킴으로서 상기 수학식 18로 표현되는 두 근이 결정되는데, 상기 과정을 통하여 얻은 x1과 x2를 이용하여 에러위치 X1, X2는 다음의 수학식 19와 같고, 에러값 Y1, Y2느 다음의 수학식 20과 같음을 특징으로 하는 에러정정방법.Where y is an element in GF (2 8 ) such that T 2 (y) = 1 and satisfying T 4 (c) = T 4 (k + k 1 ) = 1 when k 1 = y + y 2 By determining the two roots represented by Equation 18, the error positions X1 and X2 are represented by the following Equation 19 using x 1 and x 2 obtained through the above process, and the following equations of the error values Y1 and Y2 Error correction method characterized by the same as Equation 20. <수학식 19><Equation 19>
Figure pat00269
Figure pat00269
<수학식 20><Equation 20>
Figure pat00270
Figure pat00270
제1항에 있어서, 상기 이레이저 정정여부 판단단계(508단계)의 판단은 다음의 표와 같음을 특징으로 하는 에러정정방법.The error correction method according to claim 1, wherein the determination of whether to correct the eraser (step 508) is as follows. STATUS FLAGSTATUS FLAG MICOM DATAMICOM DATA 이레이저정정여부Erasure Correction 프레임 싱크 검출 유무Frame Sync Detected 플레이어 동작상태Player operating state forced Erasure OFFforced Erasure OFF reser(OK)reser (OK) reset(OK)reset (OK) resetreset ONON reset(OK)reset (OK) set(NG)set (NG) resetreset ON/OFFON / OFF set(NG)set (NG) reset(OK)reset (OK) resetreset ON/OFFON / OFF set(NG)set (NG) set(NG)set (NG) resetreset ON/OFFON / OFF don't caredon't care don't caredon't care setset OFFOFF
제1항에 있어서, 상기 플러그 설정단계(518단계)는The method of claim 1, wherein the plug setting step (518) 플러그 '0' 설정단계(518-1단계), 플러그 '1' 설정단계(518-2단계), 플러그 '복사(copy)' 설정단게(518-3단계)로 세분되는 바,The plug '0' setting step (step 518-1), the plug '1' setting step (step 518-2), and the plug 'copy' setting step (step 518-3) 상기 플러그 '0' 설정단계(518-1단계)에서는 상기 에러개수 판별단계(502단계)의 에러갯수 '0' 여부를 판단하는 단계(502-1단계)의 판단이 현재 검출된 에러가 없거나, 상기 '1'/'2' 에러정정단계(506단계)에서 '1' 또는 '2' 에러가 정정되었거나, 또는 상기 검산단계(514단계)에서 검산된 결과가 양호할 때 플러그를 '0'으로 설정하고,In the plug '0' setting step (step 518-1), the determination of the step (502-1) of determining whether the error number '0' in the error number determination step (502) does not include an error currently detected; When the error '1' or '2' is corrected in the '1' / '2' error correction step (step 506) or the result of the check in the check step (514) is satisfactory, the plug is changed to '0'. Set it up, 상기 플러그 '1' 설정단계(518-2단계)는 상기 플러그 개수 제1판단단계(510단계)에서 판단된 플러그의 개수가 '0', '1', '2'이거나, 상기 검산단계(514단계)에서 검산된 결과가 불량이거나, 또는 상기 플러그 개수 제2판단단계(515)에서 판단된 플러그의 개수가 '1' 또는 '2'일 때 플러그를 '1'로 설정하며,In the plug '1' setting step (step 518-2), the number of plugs determined in the plug number first determination step (510) is '0', '1', '2', or the checking step (514). The plug is set to '1' when the result of the check in step) is bad or the number of plugs determined in the plug number second determination step 515 is '1' or '2'. 상기 플러그 '복사' 설정단계(518-3단계)는 상기 플러그 개수 제1판단단계(510단계)에서 판단된 플러그의 개수가 '5'이거나, 또는 상기 플러그 개수 제2판단단계(516단계)에서 판단된 플러그의 개수가 '2'를 초과할 때 플러그를 '복사' 설정함을 특징으로 하는 에러정정방법.In the plug 'copy' setting step (step 518-3), the number of plugs determined in the plug number first determination step (510) is '5', or in the plug number second determination step (516). An error correction method, characterized in that the setting of the "copy" of the plug when the number of the determined plug exceeds "2". 디지털 신호의 재생에 있어 리드-솔로몬(Reed-Solomon) 부호를 사용하여 데이터의 에러를 정정하기 위한 에러정정장치에 있어서,An error correcting apparatus for correcting an error in data by using a Reed-Solomon code in reproduction of a digital signal, 에러정정 복호 알고리즘이 코딩(coding)화 되어 내장된 프로그램 롬;A program ROM in which an error correction decoding algorithm is coded and embedded; 상기 프로그램 롬에서 출력되는 인스트럭션(instruction)을 저장하는 프로그램 레지스터;A program register for storing an instruction output from the program ROM; 상기 프로그램 레지스터에 저장된 인스트럭션을 소정의 코딩 형태에 따라 제어신호를 출력하는 프로그램 디코더;A program decoder configured to output a control signal according to a predetermined coding type from an instruction stored in the program register; 상기 프로그램 디코더로부터 출력되는 신호와 에러정정연산부로부터 출력된 신호를 입력신호로 하여 에러 정정시 특정 스텝(step)이나 인스트럭션을 일정 주기만큼 유지하거나, 다른 스텝으로 분기할 경우를 판단하여 제어신호를 발생하는 점프 콘트롤부;Generates a control signal by determining whether to maintain a specific step or instruction for a certain period or branch to another step when correcting an error using the signal output from the program decoder and the signal output from the error correction operation unit as input signals. A jump controller; 상기 프로그램 레지스터로부터 출력되는 신호와 상기 프로그램 디코더로부터 출력되는 신호 및 상기 점프 콘트롤부로부터 출력되는 제어신호에 의해 어드레스(address)를 카운팅(counting)하는 프로그램 어드레스 카운터; 및A program address counter that counts an address based on a signal output from the program register, a signal output from the program decoder, and a control signal output from the jump controller; And 상기 프로그램 디코더로부터 출력된 신호에 의해 에러정정에 필요한 부호 데이터의 입출력 조절신호를 발생하는 연산제어부를 갖는 에러정정제어부An error correction controller having an operation control section for generating an input / output control signal of code data necessary for error correction by the signal output from the program decoder 그리고,And, 각 구성 요소간의 신호를 인터페이스하는 데이터버스;A data bus for interfacing signals between components; 에러정정에 필요한 부호 데이터와 플러그를 리드/라이트(read/write) 시에 사용하는 어드레스를 발생하는 어드레스 발생기;An address generator for generating code data necessary for error correction and an address for reading / writing a plug; 상기 데이터 버스에 접속되고, 유한체 GF(2m) 상의 임의의 원소 (ai)를 정수값(i)로 변환하는 ai/i 변환기;An a i / i converter connected to the data bus and converting any element (a i ) on the finite field GF (2 m ) to an integer value (i); 상기 데이터 버스에 접속되고, 정수값(i)를 유한체 GF(2m) 상의 임의의 원소 (ai)로 변환하는 i/ai변환기;An i / a i converter connected to the data bus and converting an integer value (i) to any element (a i ) on the finite field GF (2 m ); 상기 데이터 버스에 접속되고, C2 부호 에러정정시 C2 부호 데이터를 읽은 후 C1 플러그를 읽어들이는데 이때 C1 플러그의 개수를 계수화하는 C1 플러그 카운터;A C1 plug counter connected to the data bus and reading a C1 plug after reading C2 code data when correcting a C2 code error; 상기 데이터 버스에 접속되고, 제로 데이터를 검출하여 개수를 측정 후 측정 개수를 출력하는 제로 카운터;A zero counter connected to the data bus and configured to detect zero data, measure a number, and output a measured number; 상기 데이터 버스에 접속되고, 부호 데이터 및 플러그 등을 입출력하는 입출력 레지스터;An input / output register connected to the data bus to input and output code data, a plug, and the like; 상기 어드레스 발생기로부터 출력되는 일측의 출력신호와 상기 ai/i 변환기로부터 출력되는 일측의 출력신호를 입력신호로 하여 에러정정 연산 도중에 발생된 에러의 위치를 정수값으로 저장하거나 상기 어드레스 발생기로부터 출력되는 이레이저의 위치를 정수값으로 저장하는 에러위치 저장 레지스터;Storing the position of a subject to output signal of the one side and the output signal of one output from the address generator to be output from the a i / i transducer as the input signal is generated during the error correction operation error to an integer value or output from the address generator An error position storage register for storing the position of the eraser as an integer value; 상기 어드레스 발생기로부터 출력된 및 상기 에러위치 저장 레지스터로부터 출력된 신호를 선택적으로 출력하는 제1신호선택기;A first signal selector for selectively outputting a signal output from the address generator and output from the error position storage register; 상기 데이터 버스에 접속되고, 유한체 GF(2m) 상의 임의의 원소 (ai)를 1/al혹은 a-1표현으로 변환 출력하는 역원기;Is connected to the data bus, the finite field GF (2 m) a random element (a i) to 1 / l, or a prototype of the station which converts the output into a -1 on the expression; 상기 데이터 버스에 접속되고, 2중 심벌 에러정정에 사용되며 에러위치 다항식 z'(x)의 근을 구하는 트레이스 변환기;A trace converter connected to the data bus and used for double symbol error correction to find the root of the error location polynomial z '(x); 상기 데이터 버스에 접속되어 8비트 내부 데이터 버스상의 데이터 혹은 상기 역원기로부터 출력되는 데이터를 선택적으로 출력하는 제2신호선택기;A second signal selector connected to the data bus and selectively outputting data on an 8-bit internal data bus or data output from the inverse generator; 상기 데이터 버스에 접속되어 8비트 내부 데이터 버스상의 데이터 혹은 상기 역원기로부터 출력되는 데이터를 선택적으로 출력하는 제2신호선택기;A second signal selector connected to the data bus and selectively outputting data on an 8-bit internal data bus or data output from the inverse generator; 상기 데이터 버스에 접속되어 8비트 내부 데이터 버스상의 데이터 혹은 상기 트레이스 변환기를 거친 데이터를 선택적으로 출력하는 제3신호선택기;A third signal selector connected to the data bus and selectively outputting data on an 8-bit internal data bus or data passed through the trace converter; 상기 제2신호선택기로부터 출력된 신호를 일시적으로 저장하는 MA 레지스터;A MA register for temporarily storing a signal output from the second signal selector; 상기 제2신호선택기로부터 출력되는 데이터를 일시적으로 저장하는 MB 레지스터;An MB register for temporarily storing data output from the second signal selector; 상기 데이터 버스에 접속되어 데이터를 일시적으로 저장하는 AB 레지스터;An AB register connected to the data bus to temporarily store data; 상기 데이터 버스에 접속되어 연산도중에 발생된 템포러리(Temporary) 데이터를 일시적으로 저장하는 TEMP 레지스터;A TEMP register connected to the data bus to temporarily store temporal data generated during a calculation; 상기 데이터 버스에 접속되어 부호 데이터로부터 신드롬 요소 (si)를 구하는 신드롬 생성기;A syndrome generator connected to the data bus to obtain a syndrome element (s i ) from code data; 상기 데이터 버스에 접속되고, 에러정정 처리 후 각 부호 데이터에 플러그 정보를 부가하거나 혹은 플러그 정보를 복사하는 C1/C2 플러그 생성기;A C1 / C2 plug generator connected to the data bus for adding plug information or copying plug information to each code data after an error correction process; 상기 데이터 버스에 접속되어 에러정정 연산 도중 발생된 중요 계수 데이터나 각종 근을 저장하는 RAM;A RAM connected to the data bus and storing important coefficient data or various roots generated during an error correction operation; 상기 MA 레지스터로부터 출력된 신호와 상기 MB 레지스터로부터 출력된 신호를 입력신호로 하여 유한체 GF(2m) 상의 원소들을 곱하는 곱셈기; 및A multiplier for multiplying elements on the finite field GF (2 m ) by using the signal output from the MA register and the signal output from the MB register as input signals; And 상기 곱셈기로부터 출력된 신호와 상기 AB 레지스터로부터 출력된 신호를 입력신호로 하여 유한체 GF(2m) 상의 원소들을 더하는 덧셈기를 갖는 에러정정연산부를 포함하는 에러정정장치.And an error correcting operation unit having an adder for adding elements on the finite field GF (2 m ) by using the signal output from the multiplier and the signal output from the AB register as input signals. 제9항에 있어서, 상기 역원기는 에러정정 연산중 나눗셈 연산을 수행할 때 사용됨을 특징으로 하는 에러정정장치.10. The error correcting apparatus of claim 9, wherein the inverse generator is used when performing a division operation during an error correction operation. 제9항에 있어서, 상기 덧셈기는 익스클루시브-오아(Exclusive-OR) 게이트로 구성됨을 특징으로 하는 에러정정장치.10. The error correcting apparatus of claim 9, wherein the adder is configured of an exclusive-OR gate.
KR1019970010382A 1997-03-25 1997-03-25 Error correction method in the reproduction of digital signal and apparatus therefor KR100239798B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970010382A KR100239798B1 (en) 1997-03-25 1997-03-25 Error correction method in the reproduction of digital signal and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970010382A KR100239798B1 (en) 1997-03-25 1997-03-25 Error correction method in the reproduction of digital signal and apparatus therefor

Publications (2)

Publication Number Publication Date
KR19980074516A KR19980074516A (en) 1998-11-05
KR100239798B1 true KR100239798B1 (en) 2000-01-15

Family

ID=19500746

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970010382A KR100239798B1 (en) 1997-03-25 1997-03-25 Error correction method in the reproduction of digital signal and apparatus therefor

Country Status (1)

Country Link
KR (1) KR100239798B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100532373B1 (en) * 1997-08-25 2006-03-24 삼성전자주식회사 Error correction method in reproduction of digital signal

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100564532B1 (en) * 1997-07-24 2006-05-25 삼성전자주식회사 Error correction method by generation error flag
KR101437396B1 (en) * 2008-02-27 2014-09-05 삼성전자주식회사 Memory system comprising ecc block for reducing a latency and error correction method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100532373B1 (en) * 1997-08-25 2006-03-24 삼성전자주식회사 Error correction method in reproduction of digital signal

Also Published As

Publication number Publication date
KR19980074516A (en) 1998-11-05

Similar Documents

Publication Publication Date Title
EP0167627A1 (en) Method and apparatus for decoding error correction code
JP3234130B2 (en) Error correction code decoding method and circuit using this method
JPH084233B2 (en) Error correction code decoding device
JPS632370B2 (en)
US6138263A (en) Error correcting method and apparatus for information data having error correcting product code block
KR100239798B1 (en) Error correction method in the reproduction of digital signal and apparatus therefor
KR0148004B1 (en) Error detection apparatus
KR100330642B1 (en) Error Correction Method and Error Correction Device
KR100281946B1 (en) Syndrome calculation device
KR100532373B1 (en) Error correction method in reproduction of digital signal
JP2685180B2 (en) Error correction device
JP2553576B2 (en) Error correction device
JPH0691471B2 (en) Error correction circuit
US20240063824A1 (en) Bose-chadhuri-hocquenghem (bch) encoder and method for generating a bch signal for navigation signal
KR100246342B1 (en) Reed solomon error correction apparatus
JPS6160618B2 (en)
JP3583905B2 (en) Error correction device
JP3099890B2 (en) Error correction device for BCH code
JP2553575B2 (en) Error correction device
JP3223513B2 (en) Error correction decoding device
KR0149298B1 (en) Reed-solomon decoder
KR20000062472A (en) Error-detecting device and method thereof
JP3595271B2 (en) Error correction decoding method and apparatus
JP2662457B2 (en) BCH code decoding circuit
JPH0636286B2 (en) Error correction method and apparatus

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20071001

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee