KR19980074516A - An error correction method and an apparatus therefor for reproducing a digital signal - Google Patents

An error correction method and an apparatus therefor for reproducing a digital signal Download PDF

Info

Publication number
KR19980074516A
KR19980074516A KR1019970010382A KR19970010382A KR19980074516A KR 19980074516 A KR19980074516 A KR 19980074516A KR 1019970010382 A KR1019970010382 A KR 1019970010382A KR 19970010382 A KR19970010382 A KR 19970010382A KR 19980074516 A KR19980074516 A KR 19980074516A
Authority
KR
South Korea
Prior art keywords
error
quot
plug
errors
error correction
Prior art date
Application number
KR1019970010382A
Other languages
Korean (ko)
Other versions
KR100239798B1 (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

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 errors in data using a Reed-Solomon code and an apparatus applied thereto. This is an error correction method for correcting an error of data using a Reed-Solomon code in the reproduction of a digital signal, comprising: calculating a syndrome from a received signal (step 400); Determining a number of errors using the error number discriminant by the syndrome calculated in the syndrome calculation step (operation 400); Performing error correction according to the number of errors determined in the error count determination step (operation 404); A state searching step (step 406) of performing a state search of the system after the number of errors determined in the error number determination step (step 402) is '0' or after performing the error correction step (step 404); And a plug setting step of determining whether the state searched in the state searching step (step 406) is good or not and whether the number of errors determined in the error number determination step (step 402) is greater than or equal to 3 and setting the plug to 0 or 1 (Step 408), and a syndrome calculation step 500 for calculating a syndrome from a received signal. An error number discrimination step (step 502) of discriminating an error number using an error number discrimination formula by the syndrome calculated in the syndrome calculation step (step 500); If it is determined that the number of errors identified in the error count determination step 502 is '2', it is determined whether the current error position coincides with the position of the error set in the plug setting step (step 408) of the C1 decoding process Determining whether the plug is matched (step 504); If the number of errors determined in the error count determination step 502 is '1' through the error number determination step 502 and / or the plug matching determination step 504, a '1' error correction is performed An error correction step (step 506) of performing '2' error correction if the determination of the plug match determination step (step 504) matches the position of the error currently detected and the error position set in the C1 decoding process; Determining whether or not the laser is corrected if the number of errors detected in step 502 is greater than '2' (step 508); A first number of plugs (step 510) for determining the number of plugs if the determination of step 508 is 'ON'; If the number of plugs determined in the first number of plugs determination step 510 is '3' or '4', '3' / '4' performing laser correction of '3' / '4' (Step 512); In the laser correction step '3' or '4', after the laser correction of '3' or '4' is performed in the laser correction step 512, a check is performed to check whether the laser correction is performed correctly (Step 514); The determination of the plug matching determination step (step 504) through the plug matching determination step (step 504) and / or the laser correction determination step (step 508) A second number of plugs (step 516) for determining the number of plugs if the position of the set error does not coincide or the determination of the laser correcting step 508 is 'OFF'; And a C 2 decoding process having a plug setting step 518 of setting a plug after the syndrome calculation step 500 to the plug number second determination step 516 is performed.

Description

디지털 신호의 재생에 있어 에러정정방법 및 그에 적용되는 장치An error correction method and an apparatus therefor for reproducing a digital signal

본 발명은 디지털 신호의 재생에 있어서 데이터 에러정정에 관한 것으로서, 특히 리드-솔로몬(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 errors in data using a Reed-Solomon code and an apparatus applied thereto.

일반적으로, 디지털 신호의 전송 혹은 기록하는 경우에 있어서 전송 시스템상의 노이즈로 인하여 데이터에 에러가 발생될 수 있다. 이러한 에러를 가능하면 방지하기 위해서 데이터를 전송하거나 기록할 때 체크워드(Check Word)를 부가하여 에러 데이터를 정정한다.In general, when transmitting or recording a digital signal, errors may occur in data due to noise on the transmission system. In order to prevent such an error as much as 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 a compact disc player is typically a Reed-Solomon code that is a class of non-binary BCH codes. The ability of the Reed-Solomon code can correct not only the random error but also the burst error. The disadvantage of using this Reed-Solomon code is that since the Reed-Solomon code is a block sequence code having a symbol of an element of the finite field GF (2 M ), unlike the binary BCH code, (error value) must be obtained. Therefore, the decoding process is very complicated. In particular, the complexity of the system is greatly influenced by the error correction capability, the size of the finite field, and 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 is a diagram showing a C1 decoding algorithm according to a flag processing method in error correction of the conventional art.

신드롬(Syndrome)을 계산한다.(100단계)Syndrome is calculated (step 100).

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

상기 102단계의 판단이 에러의 개수가 0이면, 플러그(flag)를 0로 하고 종료한다.(104단계)If the determination in step 102 is that the number of errors is 0, the flag is set to 0 and the process is terminated (step 104)

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

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

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

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

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

상기 110단계의 판단이 에러의 개수가 2가 아니거나, 상기 112단계에서 2 에러정정을 수행하고 난 후에 플러그(flag)를 1로 하고 종료한다.(114단계)If it is determined in step 110 that the number of errors is not 2 or if the error is corrected in step 112, the flag is set to 1 and the process is terminated (step 114)

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

신드롬(Syndrome)을 계산한다.(150단계)Syndrome is calculated (step 150).

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

상기 152단계의 판단이 에러의 개수가 0이면, 플러그(flag)를 0로 하고 종료한다.(154단계)If the determination in step 152 is 0, the flag is set to 0 and the process is terminated (step 154)

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

상기 156단계의 판단이 에러의 개수가 1이면, 1 에러정정을 수행한다.(158단계)If it is determined in step 156 that the number of errors is 1, one error correction is performed (step 158)

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

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

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

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

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

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

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

상기 166단계의 판단이 플러그의 개수가 2보다 크지 않으면, 플러그를 1로 하고 종료한다.(170단계)If it is determined in step 166 that the number of plugs is not greater than 2, the plug is set to 1 and the process is terminated (step 170)

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

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

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

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

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

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

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

도 3b는 본 발명이 적용되는 일반적인 리드-솔로몬 부호의 신드롬 발생장치로서 수학식 5의을 구현한 장치도이다.FIG. 3B shows an apparatus for generating a syndrome of a general Reed-Solomon code to which the present invention is applied, Fig.

도 3c는 본 발명이 적용되는 일반적인 리드-솔로몬 부호의 신드롬 발생장치로서 수학식 5의를 구현한 장치도이다.FIG. 3C shows a syndrome generator of a general Reed-Solomon code to which the present invention is applied, Fig.

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

도 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 디코딩 과정을 포함한다.According to an aspect of the present invention, there is provided an error correction method for correcting errors in data using a Reed-Solomon code in digital signal reproduction, (Step 400); Determining a number of errors using the error number discriminant by the syndrome calculated in the syndrome calculation step (operation 400); Performing error correction according to the number of errors determined in the error count determination step (operation 404); A state searching step (step 406) of performing a state search of the system after the number of errors determined in the error number determination step (step 402) is '0' or after performing the error correction step (step 404); And a plug setting step of determining whether the state searched in the state searching step (step 406) is good or not and whether the number of errors determined in the error number determination step (step 402) is greater than or equal to 3 and setting the plug to 0 or 1 (Step 408), and a syndrome calculation step 500 for calculating a syndrome from a received signal. An error number discrimination step (step 502) of discriminating an error number using an error number discrimination formula by the syndrome calculated in the syndrome calculation step (step 500); If it is determined that the number of errors identified in the error count determination step 502 is '2', it is determined whether the current error position coincides with the position of the error set in the plug setting step (step 408) of the C1 decoding process Determining whether the plug is matched (step 504); If the number of errors determined in the error count determination step 502 is '1' through the error number determination step 502 and / or the plug matching determination step 504, a '1' error correction is performed An error correction step (step 506) of performing '2' error correction if the determination of the plug match determination step (step 504) matches the position of the error currently detected and the error position set in the C1 decoding process; Determining whether or not the laser is corrected if the number of errors detected in step 502 is greater than '2' (step 508); A first number of plugs (step 510) for determining the number of plugs if the determination of step 508 is 'ON'; If the number of plugs determined in the first number of plugs determination step 510 is '3' or '4', '3' / '4' performing laser correction of '3' / '4' (Step 512); In the laser correction step '3' or '4', after the laser correction of '3' or '4' is performed in the laser correction step 512, a check is performed to check whether the laser correction is performed correctly (Step 514); The determination of the plug matching determination step (step 504) through the plug matching determination step (step 504) and / or the laser correction determination step (step 508) A second number of plugs (step 516) for determining the number of plugs if the position of the set error does not coincide or the determination of the laser correcting step 508 is 'OFF'; And a C 2 decoding process having a plug setting step 518 of setting a plug after the syndrome calculation step 500 to the plug number second determination step 516 is performed.

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

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

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

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

임을 특징으로 한다..

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

이라 하고,And,

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

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

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

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

상기 a), b), c) 이외의 경우In cases other than the above a), b), and c)

로서 에러의 개수를 판별함을 특징으로 한다.The number of errors is determined.

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

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

X1 ===== 에러위치X1 = ==== Error location

Y1 ===== 에러값Y1 = ==== Error value

이고, 상기 '2'에러정정(404-2단계)의 수행은 2중 심벌 에러 발생의 경우 에러위치 X1, X2를 근으로 갖는 에러위치 다항식을이라 정의하면, 상기 다항식으로부터으로 치환하면, 상기 다항식은 다음의 수학식 14와 같이 나타낼 수 있고,, And the '2' error correction (step 404-2) is performed by using an error locator polynomial having error locus X1 and X2 in the vicinity of a double symbol error , The polynomial equation , The polynomial can be expressed by Equation (14) below,

[수학식 14]&Quot; (14) "

(여기서,이고,) 또한,의 트레이스(trace)인로 구별하여 식을 쓰면,(here, ego, ) Also, Trace of To Wow If you write an expression to distinguish it,

이고, 유한체 GF상에서 트레이스를 취하면 m=8이므로, 상기는 각각 수학식 15와 16과 같이 나타낼 수 있으며,, And the finite field GF , M = 8, and therefore, Wow Can be expressed by Equations 15 and 16, respectively,

[수학식 15]&Quot; (15) "

[수학식 16]&Quot; (16) "

상기 수학식 15 및 16으로부터이고,이면, 수학식 14에서 표현된의 두근는 다음의 수학식 17과 같이 표현할 수 있는 바,From equations (15) and (16) ego, , ≪ EMI ID = 14.0 > Throb and Can be expressed as the following Equation (17)

[수학식 17]&Quot; (17) "

그러나이나가 되는 경우에는 다음의 수학식 18과 같이 표현할 수 있고,But or The following equation (18) can be obtained,

[수학식 18]&Quot; (18) "

여기서, y는이 되는 GF(2B) 내의 한 원소이며이라 할 때을 만족시킴으로서 상기 수학식 18로 표현되는 두 근이 결정되는데, 상기 과정을 통하여 얻은를 이용하여 에러위치 X1, X2는 다음의 수학식 19와 같고, 에러값 Y1, Y2는 다음의 수학식 20과 같음을 특징으로 하고,Here, y is Is an element in GF (2 B ) When you say , The two roots expressed by the above-mentioned equation (18) are determined. and , The error positions X1 and X2 are expressed by the following Equation (19), and the error values Y1 and Y2 are expressed by the following Equation (20)

[수학식 19]&Quot; (19) "

[수학식 20]&Quot; (20) "

상기 에러정정 수행단계(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 searching step (step 406) is a step of searching system characteristics, data and player status. The state searching step (step 406) The step for variably adding the next plug (Flag)

STATUS FLAGSTATUS FLAG C1 FLAG Set/ResetC1 FLAG Set / Reset 프레임 싱크검출 유무Whether frame sync is detected 플레이어 동작상태Player operating status 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

임을 특징으로 한다..

상기 플러그 설정단계(408단계)는 상기 상태검색단계(406단계)에서 검색된 상태가 양호하면 플러그를 '0'로 설정하고, 검색된 상태가 양호하지 않으면 플러그를 '1'로 설정하며, 상기 에러 개수 판별단계(402단계)에서 판별된 에러의 개수가 '3'이상으로 판단되면 상기 에러정정단계(404단계) 및 상태검색단계(406단계)를 거치지 않고 직접적으로 플러그를 '1'로 설정함을 특징으로 한다.The plug setting step 408 sets the plug to '0' if the state searched in the state searching step 406 is good, sets the plug to '1' if the searched state is not good, If it is determined that the number of errors identified 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 state searching step 406 .

상기 플러그 설정단계(408단계)는 상기 상태검색단계(406단계)에서 검색된 상태가 양호하면 플러그를 '0'로 설정하는 단계(408-1단계); 및 상기 상태검색단계(406단계)에서 검색된 상태가 양호하지 않거나 또한, 상기 에러 개수 판별단계(402단계)에서 판별된 에러의 개수가 '3'이상으로 판단되면 상기 에러정정단계(404단계) 및 상태검색단계(406단계)를 거치지 않고 직접적으로 플러그를 '1'로 설정하는 단계(408-2단계)로 세분됨을 특징으로 한다.The plug setting step (step 408) includes setting (step 408-1) a plug to '0' if the state searched in the state searching step (step 406) is good. And if the number of errors identified in the error number determination step 402 is greater than or equal to 3, the error correction step 404 and / And directly setting the plug to '1' without going through the state searching step (step 406) (step 408-2).

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

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

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

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

임을 특징으로 한다..

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

이라 하고,And,

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

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

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

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

상기 a), b), c) 이외의 경우In cases other than the above a), b), and c)

로서 에러의 개수를 판별함을 특징으로 한다.The number of errors is determined.

상기 에러개수 판별단계(502단계)는 에러갯수 '0' 여부를 판단하는 단계(502-1단계); 에러갯수 '1' 여부를 판단하는 단계(502-2단계); 및 에러갯수 '2' 여부를 판단하는 단계(502-3단계)로 세분됨을 특징으로 한다.The error number determination step 502 may include determining whether the number of errors 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 divided into a '1' error correction step (step 506-1) and a '2' error correction step (step 506-2). The '1' error correction step 506-1 The performance of the step

X1 = s1/s0==== 에러위치X1 = s 1 / s 0 ==== error position

Y1 = s0==== 에러값Y1 = s 0 ==== error value

이고, 상기 '2'에러정정단계(506-2단계)의 수행은 2중 심벌 에러 발생의 경우 에러위치 X1, X2를 근으로 갖는 에러위치 다항식을 z(x)=x2 +z1x+z2이라 정의하면, 상기 다항식으로부터 x=z1x,으로 치환하면, 상기 다항식은 다음의 수학식 14와 같이 나타낼 수 있고,And, the "2" if the error occurs in performing the symbol of the second error correction step (step 506-2), the error position X1, the error locator polynomial having the near-X2 z (x) = x 2 + z 1 + x When defined as z 2, when replaced with x = z 1 x, from the polynomials, the polynomials can be represented as in the following equation (14), the

[수학식 14]&Quot; (14) "

(여기서,이고, z1= D2/D1z2= D3/D1) 또한,의 트레이스(trace)인 Tr(k)를 T2(k) 와 T4(k)로 구별하여 식을 쓰면,(here, And z 1 = D 2 / D 1 z 2 = D 3 / D 1 ) Further, Of to distinguish T r (k) of the trace (trace) in T 2 (k) and T 4 (k) write the formula,

이고, 유한체 GF상에서 트레이스를 취하면 m=8이므로, 상기는 각각 수학식 15와 16과 같이 나타낼 수 있으며,, And the finite field GF , M = 8, and therefore, Wow Can be expressed by Equations 15 and 16, respectively,

[수학식 15]&Quot; (15) "

[수학식 16]&Quot; (16) "

상기 수학식 15 및 16으로부터이고,이면, 수학식 14에서 표현된의 두근는 다음의 수학식 17과 같이 표현할 수 있는 바,From equations (15) and (16) ego, , ≪ EMI ID = 14.0 > Throb and Can be expressed as the following Equation (17)

[수학식 17]&Quot; (17) "

그러나이나가 되는 경우에는 다음의 수학식 18과 같이 표현할 수 있고,But or The following equation (18) can be obtained,

[수학식 18]&Quot; (18) "

여기서, y는이 되는 GF내의 한 원소이며이라 할 때을 만족시킴으로서 상기 수학식 18로 표현되는 두 근이 결정되는데, 상기 과정을 통하여 얻은를 이용하여 에러위치 X1, X2는 다음의 수학식 19와 같고, 에러값 Y1, Y2는 다음의 수학식 20과 같음을 특징으로 한다.Here, y is GF Is an element within When you say , The two roots expressed by the above-mentioned equation (18) are determined. and The error positions X1 and X2 are expressed by the following Equation (19), and the error values Y1 and Y2 are expressed by the following Equation (20).

[수학식 19]&Quot; (19) "

[수학식 20]&Quot; (20) "

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

[표][table]

STATUS FLAGSTATUS FLAG MICOM DATAMICOM DATA 이레이저정정여부Whether this laser is corrected 프레임 싱크 검출 유무Whether frame sync is detected 플레이어 동작상태Player operating status 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 caredo not care don't caredo not care setset OFFOFF

상기 '3'/'4' 이레이저 정정단계(512단계)에서 '3' 이레이저 정정은 신드롬요소는 다음의 수학식 21과 같이 표현되고,In the laser correction step (step 512) of '3' / '4', laser correction of '3' Is expressed by the following equation (21)

[수학식 21]&Quot; (21) "

또한, 에러위치 다항식은 다음의 수학식 22와 같으며,Also, the error location polynomial is given by the following equation (22)

[수학식 22]&Quot; (22) "

상기 수학식 22에서 각 차수의 계수는 다음의 수학식 23과 같이 표현할 수 있는 바,In Equation 22, the coefficient of each degree Can be expressed as the following Equation (23)

[수학식 23]&Quot; (23) "

그리고 상기 수학식 22는 3중 심벌 에러가 발생하였다면 '0'가 된다. 에러위치를 이미 알고 있다고 가정하고 상기 수학식 21의 3원 일차 연립 방정식을 풀면 에러값 Y1, Y2, Y3는 다음의 수학식 24와 같고,Equation (22) becomes '0' if a triple symbol error occurs. Error location , The error values Y1, Y2, and Y3 are obtained by the following Equation (24), and the error values Y1, Y2, and Y3 are obtained by solving the three-way linear simultaneous equations of Equation (21)

[수학식 24]&Quot; (24) "

'4' 이레이저 정정은 신드롬요소는 다음의 수학식 25와 같고,'4' This laser correction is a syndrome element Is expressed by the following equation (25)

[수학식 25]&Quot; (25) "

또한, 에러위치 다항식은 다음의 수학식 26과 같으며,Also, the error location polynomial is as shown in the following Equation 26,

[수학식 26]&Quot; (26) "

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

[수학식 27]&Quot; (27) "

그리고 상기 수학식 26은 4중 심벌 에러가 발생하였다면 '0'이 되고, 에러위치를 이미 알고 있다고 가정하고 상기 수학식 25의 4원 일차 연립방정식을 풀면 에러값 Y1, Y2, Y3, Y4는 다음의 수학식 28과 같음을 특징으로 한다.Equation (26) becomes '0' if a quad-symbol error occurs, And the error values Y1, Y2, Y3, and Y4 are as shown in the following Equation (28) by solving the 4-element linear simultaneous equations of Equation (25).

[수학식 28]&Quot; (28) "

상기 플러그 설정단계(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 518 may include a plug setting step 518-1, a plug setting step 518-2, a plug setting step 518-3, (Step 502-1) of determining whether the number of errors in the number-of-errors determination step 502 is '0' is determined in the plug-0 setting step 518-1 (step 518-1) 1 'or' 2 'error is corrected in the' 1 '/' 2 'error correcting step (step 506), or when the result of checking in the checking step 514 is good, The plug number setting step 518-2 sets the number of plugs determined in the plug number first determination step 510 as '0', '1', '2' Or if the result of the checking in the checking step 514 is not good or if the number of the plugs determined in the second number of plug determination step 516 is '1' or '2' To (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 is' When the number of plugs determined in step " 2 " exceeds " 2 ".

또한 상기 본 발명의 다른 목적을 달성하기 위한 장치는According to another aspect of the present invention,

디지털 신호의 재생에 있어 리드-솔로몬(Reed-Solomon) 부호를 사용하여 데이터의 에러를 정정하기 위한 에러정정장치에 있어서, 에러정정 복호 알고리즘이 코딩(coding)화 되어 내장된 프로그램 롬; 상기 프로그램 롬에서 출력되는 인스트럭션(instruction)을 저장하는 프로그램 레지스터; 상기 프로그램 레지스터에 저장된 인스트럭션을 소정의 코딩 형태에 따라 제어신호를 출력하는 프로그램 디코더; 상기 프로그램 디코더로부터 출력되는 신호와 에러정정연산부로부터 출력된 신호를 입력신호로 하여 에러 정정시 특정 스텝(step)이나 인스트럭션을 일정 주기만큼 유지하거나, 다른 스텝으로 분기할 경우를 판단하여 제어신호를 발생하는 점프 콘트롤부; 상기 프로그램 레지스터로부터 출력되는 신호와 상기 프로그램 디코더로부터 출력되는 신호 및 상기 점프 콘트롤부로부터 출력되는 제어신호에 의해 어드레스(address)를 카운팅(counting)하는 프로그램 어드레스 카운터; 및 상기 프로그램 디코더로부터 출력된 신호에 의해 에러정정에 필요한 부호 데이터의 입출력조절신호를 발생하는 연산제어부를 갖는 에러정정제어부 그리고, 각 구성 요소간의 신호를 인터페이스하는 데이터 버스; 에러정정에 필요한 부호 데이터와 플러그를 리드/라이트(read/write)시에 사용하는 어드레스를 발생하는 어드레스 발생기; 상기 데이터 버스에 접속되고, 유한체 GF상의 임의의 원소를 정수값()로 변환하는변환기; 상기 데이터 버스에 접속되고, 정수값()를 유한체 GF상의 임의의 원소로 변환하는변환기; 상기 데이터 버스에 접속되고, C2 부호 에러정정시 C2 부호 데이터를 읽은 후 C1 플러그를 읽어들이는데 이때 C1 플러그의 개수를 계수화하는 C1 플러그 카운터; 상기 데이터 버스에 접속되고, 제로 데이터를 검출하여 개수를 측정 후 측정 개수를 출력하는 제로 카운터; 상기 데이터 버스에 접속되고, 부호 데이터 및 플러그 등을 입출력하는 입출력 레지스터; 상기 어드레스 발생기로부터 출력되는 일측의 출력신호와 상기변환기로부터 출력되는 일측의 출력신호를 입력신호로 하여 에러정정 연산 도중에 발생된 에러의 위치를 정수값으로 저장하거나 상기 어드레스 발생기로부터 출력되는 이레이저의 위치를 정수값으로 저장하는 에러위치 저장 레지스터; 상기 어드레스 발생기로부터 출력된 및 상기 에러위치 저장 레지스터로부터 출력된 신호를 선택적으로 출력하는 제1신호선택기; 상기 데이터 버스에 접속되고, 유한체 GF상의 임의의 원소혹은표현으로 변환 출력하는 역원기; 상기 데이터 버스에 접속되고, 2중 심벌 에러정정에 사용되며 에러위치 다항식의 근을 구하는 트레이스 변환기; 상기 데이터 버스에 접속되어 8비트 내부 데이터 버스상의 데이터 혹은 상기 역원기로부터 출력되는 데이터를 선택적으로 출력하는 제2신호선택기; 상기 데이터 버스에 접속되어 8비트 내부 데이터 버스상의 데이터 혹은 상기 트레이스 변환기를 거친 데이터를 선택적으로 출력하는 제3신호선택기; 상기 제2신호선택기로부터 출력된 신호를 일시적으로 저장하는 MA 레지스터; 상기 제3신호선택기로부터 출력되는 데이터를 일시적으로 저장하는 MB 레지스터; 상기 데이터 버스에 접속되어 데이터를 일시적으로 저장하는 AB 레지스터; 상기 데이터 버스에 접속되어 연산도중에 발생된 템포러리(Temporary) 데이터를 일시적으로 저장하는 TEMP 레지스터; 상기 데이터 버스에 접속되어 부호 데이터로부터 신드롬 요소를 구하는 신드롬 생성기; 상기 데이터 버스에 접속되고, 에러정정 처리 후 각 부호 데이터에 플러그 정보를 부가하거나 혹은 플러그 정보를 복사하는 C1/C2 플러그 생성기; 상기 데이터 버스에 접속되어 에러정정 연산 도중 발생된 중요 계수 데이터나 각종 근을 저장하는 RAM; 상기 MA 레지스터로부터 출력된 신호와 상기 MB 레지스터로부터 출력된 신호를 입력신호로 하여 유한체 GF상의 원소들을 곱하는 곱셈기; 및 상기 곱셈기로부터 출력된 신호와 상기 AB 레지스터로부터 출력된 신호를 입력신호로 하여 유한체 GF상의 원소들을 더하는 덧셈기를 갖는 에러정정연산부를 포함한다.An error correction apparatus for correcting an error of data by using a Reed-Solomon code in the reproduction of a digital signal, the error correction apparatus 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 for outputting a control signal according to a predetermined coding format to an instruction stored in the program register; A signal output from the program decoder and a signal output from the error correction operation unit are used as an input signal to hold a specific step or instruction at the time of error correction for a predetermined period, A jumping control unit A program address counter for counting an address by a signal output from the program register, a signal output from the program decoder, and a control signal output from the jump control unit; And an operation control unit for generating an input / output control signal for code data necessary for error correction according to a signal output from the program decoder, and a data bus for interfacing signals between the respective components; An address generator for generating code data necessary for error correction and an address for use in reading / writing a plug; And is connected to the data bus, Any element on To an integer value ( ) To convert converter; Connected to the data bus and having an integer value ( ) To a finite field GF Any element on To convert converter; A C1 plug counter connected to the data bus for reading the C2 code data at the time of correcting the C2 code error and then reading the C1 plug at the time of counting the number of C1 plugs; A zero counter connected to the data bus for detecting zero data and measuring the number and outputting the number of measurements; An input / output register connected to the data bus for inputting / outputting code data and plugs; An output signal from one side output from the address generator, An error location storage register for storing a location of an error generated during an error correction operation as an integer value and storing the location of the erasure output from the address generator as an integer value using an output signal of one side output from the converter as an input signal; A first signal selector for selectively outputting a signal output from the address generator and output from the error location storage register; And is connected to the data bus, Any element on To or Inverted output to convert to expression; And is connected to the data bus and used for error correction of the double symbol, A trace transformer for obtaining a root of the trapezoid; A second signal selector connected to the data bus for selectively outputting data on the 8-bit internal data bus or data output from the inverted data bus; A third signal selector connected to the data bus for selectively outputting data on an 8-bit internal data bus or data passed through the trace converter; An MA register for temporarily storing the 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 for temporarily storing data; A TEMP register connected to the data bus for temporarily storing temporary data generated during operation; Connected to the data bus and generating syndrome elements A syndrome generator for obtaining a syndrome; A C1 / C2 plug generator connected to the data bus and adding plug information or copying plug information to each code data after error correction processing; A RAM connected to the data bus for storing important coefficient data or various roots generated during an error correction operation; The signal output from the MA register and the signal output from the MB register are used as input signals, A multiplier for multiplying the elements on; And a signal output from the multiplier and a signal output from the AB register as input signals, And an adder for adding elements on the input signal.

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

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

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

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

1) 수신부호로부터 신드롬(syndrome)을 계산한다.1) Calculate the syndrome from the received 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) can be expressed as Equation (1).

[수학식 1][Equation 1]

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

a를 유한체(finite field) GF()상의 원시원(premitive element)이라 하면은 생성다항식 g(x)의 근이 되고, 이근을 상기 수학식 1에 대입하면 다음의 수학식 2와 수학식 3과 같이 표현할 수 있다.a as a finite field GF ( ) Is a premix element (X) of the generator polynomial g (x), and substituting the neighboring polynomial g (x) into the equation (1), the following equation (2) and equation (3) can be obtained.

[수학식 2]&Quot; (2) "

[수학식 3]&Quot; (3) "

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

[수학식 4]&Quot; (4) "

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

도 2는 본 발명에 적용되는 일반적인 리드-솔로몬 부호의 신드롬 발생장치의 블록도이다.2 is a block diagram of an apparatus for generating a syndrome 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) ()을 곱하여 가산기(204)로 출력한다.2, a received signal 200 (x) and a signal output from the multiplier 202 are input to an adder 204, and a signal output from the adder 204 is input to a flip-flop. Flop 206 and the signal output from the flip-flop 206 is input to the multiplier 202. The multiplier 202 multiplies the signal output from the flip-flop 206 and the output signal of the generator polynomial root 208 And outputs it to the adder 204. [

예를 들어, 유한체상의 임의의 원소 For example, Any element on

에 1, a,,을 곱할 경우 다음의 수학식 5와 같이 표현된다.1, a, , Is expressed by the following Equation (5). &Quot; (5) "

[수학식 5]&Quot; (5) "

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

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

도 3b는 본 발명이 적용되는 일반적인 리드-솔로몬 부호의 신드롬 발생장치로서 수학식 5의을 구현한 장치도이다.FIG. 3B shows an apparatus for generating a syndrome of a general Reed-Solomon code to which the present invention is applied, Fig.

도 3c는 본 발명이 적용되는 일반적인 리드-솔로몬 부호의 신드롬 발생장치로서 수학식 5의를 구현한 장치도이다.FIG. 3C shows a syndrome generator of a general Reed-Solomon code to which the present invention is applied, Fig.

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

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

[수학식 6]&Quot; (6) "

또한, 실제로개의 에러가 발생한다면, 상기 수학식 6을 다음의 수학식 7과 같이 표현할 수 있다.Also, (6) can be expressed as the following Equation (7). &Quot; (7) "

[수학식 7]&Quot; (7) "

상기 수학식 4로 정의된 신드롬요소는 수신부호에 생성 다항식의 근()을 대입하여 구해지고 각각의 신드롬요소는 다음의 수학식 8과 같다.The syndrome element < RTI ID = 0.0 > Is a polynomial of the generator polynomial ( ), And each syndrome element is expressed by the following Equation (8).

[수학식 8]&Quot; (8) "

상기 수학식 8에서 에러값라 하고 에러 위치 번호라 하면 다음의 수학식 9와 같다.In Equation (8) To And the error location number To (9) " (9) "

[수학식 9]&Quot; (9) "

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

그러면 수신신호로부터 에러를 계산한 후 다음에 기술된 에러 신드롬 판별을 수행한다.Then, an error is calculated from the received signal, and then the error syndrome discrimination described below is performed.

2중 에러 []인 경우 신드롬요소는 상기 수학식 8로부터 다음의 수학식 10을 얻을 수 있다.Double error [ ], The syndrome element can be obtained from Equation (8) as follows.

[수학식 10]&Quot; (10) "

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

와 같이 변형시켜 전개시키면 다음의 수학식 11과 같은 2차 방정식을 얻을 수 있다. A quadratic equation as shown in the following equation (11) can be obtained.

[수학식 11]&Quot; (11) "

상기 수학식 11의 각 계수를 다음의 수학식 12와 같이 치환한다.The respective coefficients of Equation (11) are replaced with Equation (12).

[수학식 12]&Quot; (12) "

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

이를 이용하여 에러개수 판별식으로 사용할 수 있다.And can be used as an error count discrimination formula.

1) 에러 발생이 없는 경우1) When there is no error

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

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

4) 3중 심벌 이상의 에러가 발생한 경우4) In case of error more than triple symbol

상기 1), 2), 3) 이외의 경우In cases other than 1), 2) and 3)

상기 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.

* 단일 심벌 에러 발생시* When a single symbol error occurs

단일 에러 발생시 신드롬은이고, 에러위치와 에러값은 다음의 수학식 13과 같이 구한다.When a single error occurs, the syndrome , And the error position and the error value are obtained by the following Equation (13).

[수학식 13]&Quot; (13) "

X1 ===== 에러위치X1 = ==== Error location

Y1 ===== 에러값Y1 = ==== Error value

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

2중 심벌 에러 발생의 경우 에러위치 X1, X2를 근으로 갖는 에러위치 다항식을이라 정의한다. 상기 다항식으로부터으로 치환하면, 다음의 수학식 14와 같이 나타낼 수 있다.In case of 2-symbol error, the error location polynomial with error locus X1, X2 . From the polynomial equation , It can be expressed by the following Equation (14).

[수학식 14]&Quot; (14) "

여기서,이고,이다. 그리고의 트레이스(trace)인로 구별하여 식을 쓰면 다음과 같다.here, ego, to be. And Trace of To Wow The following is an example.

유한체 GF상에서 트레이스를 취하면 m=8이므로,는 각각 수학식 15와 16과 같이 나타낼 수 있다.Finite element GF If m = 8, Wow Can be expressed by Equations (15) and (16), respectively.

[수학식 15]&Quot; (15) "

[수학식 16]&Quot; (16) "

상기 수학식 15 및 16으로부터이고,이면, 수학식 14에서 표현된의 두근는 다음의 수학식 17과 같이 표현할 수 있다.From equations (15) and (16) ego, , ≪ EMI ID = 14.0 > Throb and Can be expressed by the following Equation (17).

[수학식 17]&Quot; (17) "

그러나이나가 되는 경우에는 다음의 수학식 18과 같이 표현할 수 있다.But or The following equation (18) can be obtained.

[수학식 18]&Quot; (18) "

여기서, y는이 되는 GF내의 한 원소이며이라 할 때을 만족시킴으로서 상기 수학식 18로 표현되는 두 근이 결정된다.Here, y is GF Is an element within When you say The two roots expressed by the above-mentioned equation (18) are determined.

이와 같이 계산을 하여 두 근을 구하는 방법외에를 이용하여의 값을 구한 다음값을 롬(Read Only Memory;ROM)의 어드레스 입력으로 넣어 미리 계산된 두 근 중의 하나인을 바로 ROM의 출력으로 얻어 구할 수 있다. 다음의 표 1에 (32,28) 리드-솔로몬 부호인 경우의값의 예를 들어 보면 다음과 같다.In addition to the method of calculating two roots by this calculation Using And then Value into an address input of a read-only memory (ROM) to determine one of the two pre- Can be obtained directly from the output of the ROM. The following table 1 shows the case of (32,28) Reed-Solomon codes Here is an example of a value:

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

[표 1][Table 1]

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의에 대한값을 나타내는 기술적 관계는 기 출원된 대한민국 특허출원 제90-21950호(출원인 삼성전자)에 상세히 개시되어 있으므로 이에 대한 설명은 생략한다.Table 1 For Is described in detail in the Korean Patent Application No. 90-21950 (filed by Samsung Electronics), the description thereof is omitted.

값이 상기 표 1에 제시된 범위를 벗어나면 3중 이상의 에러가 발생한 것으로 처리한다. 상기 과정을 통하여 얻은를 이용하여 에러위치 X1, X2를 다음의 수학식 19와 같이 나타낼 수 있다. If the value is outside the range shown in Table 1, it is regarded that three or more errors have occurred. The and The error positions X1 and X2 can be expressed by the following equation (19).

[수학식 19]&Quot; (19) "

또한, 에러값 Y1, Y2는 다음의 수학식 20과 같이 나타낼 수 있다.The error values Y1 and Y2 can be expressed by the following Equation (20).

[수학식 20]&Quot; (20) "

* 3중 심벌 에러 발생시* When a triple symbol error occurs

만일 3중 심벌 에러가 발생하였다면 신드롬요소는 다음의 수학식 21과 같이 표현된다.If a triple symbol error occurs, the syndrome element Is expressed by the following equation (21).

[수학식 21]&Quot; (21) "

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

[수학식 22]&Quot; (22) "

상기 수학식 22에서 각 차수의 계수는 다음의 수학식 23과 같이 표현할 수 있다.In Equation 22, the coefficient of each degree Can be expressed by the following equation (23).

[수학식 23]&Quot; (23) "

그리고 상기 수학식 22는 3중 심벌 에러가 발생하였다면 '0'가 된다. 에러위치를 이니 알고 있다고 가정하고 상기 수학식 21의 3원 일차 연립 방정식을 풀면 에러값 Y1, Y2, Y3는 다음의 수학식 24와 같다.Equation (22) becomes '0' if a triple symbol error occurs. Error location , The error values Y1, Y2, and Y3 are obtained by the following Equation (24). ≪ EMI ID = 24.0 >

[수학식 24]&Quot; (24) "

* 4중 심벌 에러 발생시* When a 4-symbol error occurs

만일, 4중 심벌 에러가 발생하였다면 신드롬요소는 다음의 수학식 25와 같다.If a quad-symbol error occurs, the syndrome element Is expressed by the following equation (25).

[수학식 25]&Quot; (25) "

또한, 에러위치 다항식은 다음의 수학식 26과 같다.Also, the error location polynomial is given by the following equation (26).

[수학식 26]&Quot; (26) "

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

[수학식 27]&Quot; (27) "

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

에러위치를 이미 알고 있다고 가정하고 상기 수학식 25의 4원 일차 연립방정식을 풀면 에러값 Y1, Y2, Y3, Y4는 다음의 수학식 28과 같다.Error location The error values Y1, Y2, Y3, and Y4 are obtained by the following equation (28). ≪ EMI ID = 28.0 >

[수학식 28]&Quot; (28) "

지금까지 설명한 에러정정방법에 따라 리드-솔로몬 부호를 복호할 수 있으며, 실제 디지털 기기에 사용되는 에러정정부호는 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 the actual digital device is composed of two types of codes C1 and C2 as CIRC (Cross Interleaved Reed-Solomon Code) . That is, the error correction decoding process is divided into two steps.

C1, C2 부호의 최소 디스턴스(Minimum Distance)를 5라 가정할 때, 에러정정의 경우는 2t+15 까지 에러정정이 가능하며, 이레이저(erasure) 정정인 경우 t+15 까지 에러정정이 가능하다. 여기서, t는 에러정정 능력을 말한다.Assuming that the minimum distance of C1 and C2 codes is 5, in case of error correction, 2t + 1 5, and in the case of erasure correction, t + 1 Error correction up to 5 is possible. Where t is the error correction capability.

본 발명의 알고리즘에서 사용되는 복호순서는 C1 부호를 이용하여 C1 에러정정을 수행한 후, C2 부호 및 C1 플러그(Flag) 정보를 이용하여 C2 에러/이레이저 정정을 수행한다. 그러면, 도면을 참조하여 설명한다.In the decoding procedure used in the algorithm of the present invention, the C1 error correction is performed using the C1 code, and then the C2 error / the laser correction is performed using the C2 code and the C1 plug (Flag) 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 a received signal (step 400)

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

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

이다.to be.

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

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

에러 발생이 없는 경우, 단일 에러가 발생한 경우, 2중 에러가 발생한 경우, 3중 이상의 에러가 발생한 경우를 판별하는 판별식의 설명은 앞에서 이미 설명한 바와 같다.The description of the discriminant that discriminates whether a single error has occurred, a double error has occurred, or a triple or more error has occurred is as described above.

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

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

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

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

상기 에러개수 판별단계(402단계)에서 판별된 에러의 개수가 '0'이거나 상기 에러정정단계(404단계)를 수행한 후에 상태검색을 수행한다.(406단계)In step 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 is performed.

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

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

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

[표 2][Table 2]

STATUS FLAGSTATUS FLAG C1 FLAG Set/ResetC1 FLAG Set / Reset 프레임 싱크검출 유무Whether frame sync is detected 플레이어 동작상태Player operating status 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 the case of reset / set in Table 2, setting two conditions at the same time means that it can be changed depending on the characteristics of the system and various application circuits.

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

상기 상태검색단계(406단계)에서 검색된 상태가 양호하면 플러그를 '0'로 설정한다.(408-1단계) 반면, 상기 상태검색단계(406단계)에서 검색된 상태가 양호하지 않거나 또한, 상기 에러 개수 판별단계(402단계)에서 판별된 에러의 개수가 '3'이상으로 판단되면 상기 에러정정단계(404단계) 및 상태검색단계(406단계)를 거치지 않고 직접적으로 플러그를 '1'로 설정한다.(408-2단계)If the retrieved state is good in the state searching step 406, the plug is set to '0'. (Step 408-1) On the other hand, if the retrieved state in the state searching step 406 is not good, If it is determined that the number of errors identified in the number 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 state searching 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 a received signal (step 500)

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

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

이다.to be.

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

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

에러 발생이 없는 경우, 단일 에러가 발생한 경우, 2중 에러가 발생한 경우, 3중 이상의 에러가 발생한 경우를 판별하는 판별식의 설명은 앞에서 이미 설명한 바와 같다.The description of the discriminant that discriminates whether a single error has occurred, a double error has occurred, or a triple or more error has occurred is as described above.

즉, 도 5에서 에러갯수 '0' 여부를 판단하는 단계(502-1단계), 에러갯수 '1' 여부를 판단하는 단계(502-2단계), 에러갯수 '2' 여부를 판단하는 단계(502-3단계)는 상기 판별식에 의해서 결정된다.That is, it is determined whether the number of errors is '0' (step 502-1), whether the number of errors is '1' (step 502-2), whether the number of errors is '2' Step 502-3) is determined by the above discrimination formula.

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

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

상기 '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 a '1' error correction step (step 506-1) and a '2' error correction step (step 506-2). The '1' error correction step (step 506-1) is performed as described in Equation (13). Further, the '2' error correction step (step 506-2) is performed as described in Equations (14) to (20).

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

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

[표 3][Table 3]

STATUS FLAGSTATUS FLAG MICOM DATAMICOM DATA 이레이저정정여부Whether this laser is corrected 프레임 싱크 검출 유무Whether frame sync is detected 플레이어 동작상태Player operating status 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 caredo not care don't caredo not care setset OFFOFF

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

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

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

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

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

상기 플러그 일치 여부 판단단계(504단계) 및/또는 상기 이레이저 정정여부 판단단계(508단계)를 통하여 상기 플러그 일치 여부 판단단계(504단계)의 판단이 현재 검출된 에러의 위치와 C1 디코딩 알고리즘에서 설정된 에러의 위치가 일치하지 않거나 또는 상기 이레이저 정정여부 판단단계(508)의 판단이 상기 표 3에 의해 'OFF'이면 플러그의 개수를 판단한다.(516단계)The determination of the plug matching determination step (step 504) through the plug matching determination step (step 504) and / or the laser correction determination step (step 508) If the positions of the set errors do not coincide with each other, or if the determination of the laser correction determination step 508 is 'OFF' based on Table 3, the number of the plugs is determined (Step 516)

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

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

상기 플러그 '0' 설정단계(518-1단계)에서는 상기 에러개수 판별단계(502단계)의 에러갯수 '0' 여부를 판단하는 단계(502-1단계)의 판단이 현재 검출된 에러가 없거나, 상기 '1'/'2' 에러정정단계(506단계)에서 '1' 또는 '2' 에러가 정정되었거나, 또는 상기 검산단계(514단계)에서 검산된 결과가 양호할 때 플러그를 '0'으로 설정한다.If it is determined in step 502-1 that the number of errors in the error count determination step 502 is '0' (step 502-1), there is no error currently detected, If the '1' or '2' error is corrected in the '1' / '2' error correction step (step 506), or if the result of the checking in step 514 is good, Setting.

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

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

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

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

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

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

한편, 도 6b에 도시된 에러정정연산부는 어드레스 발생기(650),변환기(652),변환기(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 arithmetic operation unit shown in FIG. 6B includes an address generator 650, The converter 652, A first counter 654, a C1 plug counter 656, a zero counter 658, an i / o register 660, an error location storage register 662, a first signal selector 664, A trace converter 668, a second signal selector 670, a third signal selector 672, an MA register 674, an MB register 676, an AB register 678, a TEMP register 680, 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에 도시된 에러정정제어부 및 에러정정연산부를 구성하는 구성요소들간의 상호 유기적인 동작 설명을 실시한다.Then, the operation of the error correction control unit and the components constituting the error correction operation unit shown in FIGS. 6A and 6B will be described.

도 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 the control signal so that the error correction function is performed according to the flow of the algorithm as described in Figs. 4 and 5 above. The program ROM 600 is coded and embedded with an 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 an instruction output from the program ROM 600. The program decoder 604 outputs a control signal to the instruction stored in the program register 602 according to a predetermined coding format. The jump control unit 606 uses a signal output from the program decoder 604 and a signal output from the error correction operation unit shown in FIG. 6B as input signals to maintain a specific step or instruction for a predetermined period Or a case of branching 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 control unit 606 counting). The operation control unit 610 generates an input / output adjustment signal of code data required for error correction by the signal output from the program decoder 604. [

한편, 도 6b에 도시된 바와 같은 에러정정연산부는 에러정정을 위한 연산처리와 부호 데이터 및 C1/C2 플러그를 리드/라이트(read/write)시에 필요한 어드레스를 발생한다. 어드레스 발생기(650)는 에러정정에 필요한 부호 데이터와 플러그를 리드/라이트(read/write)시에 사용하는 어드레스를 발생한다. 부호 데이터는 C1 데이터와 C2 데이터를 일컫는다. 또한, 플러그는 C1 플러그와 C2 플러그를 일컫는다.변환기(652)는 데이터 버스(692)에 접속되고, 유한체 GF상의 임의의 원소를 정수값()로 변환한다. 상기변환기(652)에서 변환된 정수들은 에러위치 저장 레지스터(662)로 출력된다.변환기(654)는 데이터 버스(692)에 접속되고, 정수값()를 유한체 GF상의 임의의 원소로 변환한다. 이들 임의의 원소들은 에러정정 연산에 사용된다. C1 플러그 카운터(656)는 데이터 버스(692)에 접속되고, C2 부호 에러정정시 C2 부호 데이터를 읽은 후 C1 플러그를 읽어들이는데 이때 C1 플러그의 개수를 계수화한다. 제로 카운터(658)는 데이터 버스(692)에 접속되고, 제로 데이터를 검출하여 개수를 측정 후 측정 개수를 출력한다. 입출력 레지스터(660)는 데이터 버스(692)에 접속되고, 부호 데이터 및 플러그 등을 입출력할 때 사용되는 인터페이스 회로이다. 에러위치 저장 레지스터(662)는 상기 어드레스 발생기(650)로부터 출력되는 일측의 출력신호와 상기변환기(652)로부터 출력되는 일측의 출력신호를 입력신호로 하여 에러정정 연산 도중에 발생된 에러의 위치를 정수값으로 저장하거나 상기 어드레스 발생기(650)로부터 출력되는 이레이저의 위치를 정수값으로 저장한다. 제1신호선택기(664)는 상기 어드레스 발생기(650)로부터 출력된 및 상기 에러위치 저장 레지스터(662)로부터 출력된 신호를 선택적으로 출력한다. 역원기(666)는 데이터 버스(692)에 접속되고, 유한체 GF상의 임의의 원소혹은표현으로 변환 출력한다. 역원기(666)는 에러정정 연산중 나눗셈 연산을 수행할 때 사용된다. 트레이스 변환기(668)는 데이터 버스(692)에 접속되고, 2중 심벌 에러정정에 사용되며 에러위치 다항식의 근을 구한다. 이에 대한 변환표는 상기 표 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)에 접속되어 부호 데이터로부터 신드롬 요소를 구하는 회로이며내지까지 구하는 실시 예를 상기 도 3a 내지 도 3d에서 보인 바 있다. C1/C2 플러그 생성기(684)는 데이터 버스(692)에 접속되고, 에러정정 처리 후 각 부호 데이터에 플러그 정보를 부가하거나 혹은 플러그 정보를 복사한다. RAM(686)은 데이터 버스(692)에 접속되어 에러정정 연산 도중 발생된 중요 계수 데이터나 각종 근을 저장한다. 곱셈기(688)는 상기 MA 레지스터(674)로부터 출력된 신호와 상기 MB 레지스터(676)로부터 출력된 신호를 입력신호로 하여 유한체 GF상의 원소들을 곱한다. 덧셈기(690)는 상기 곱셈기(688)로부터 출력된 신호와 상기 AB 레지스터(678)로부터 출력된 신호를 입력신호로 하여 유한체 GF상의 원소들을 더한다. 상기 덧셈기(690)는 익스클루시브-오아(Exclusive-OR) 게이트로 구성된다.On the other hand, the error correction arithmetic unit as shown in Fig. 6B generates arithmetic processing for error correction and addresses necessary for read / write of code data and C1 / C2 plugs. The address generator 650 generates code data necessary for error correction and an address used for reading / writing the plug. The code data refers to C1 data and C2 data. The plug also refers to a C1 plug and a C2 plug. The converter 652 is connected to the data bus 692, and the finite field GF Any element on To an integer value ( ). remind The converted constants in the converter 652 are output to the error location storage register 662. [ The converter 654 is connected to the data bus 692 and has an integer value ( ) To a finite field GF Any element on . These arbitrary elements are used for error correction operations. The C1 plug counter 656 is connected to the data bus 692, reads the C2 code data at the time of correcting the C2 code error, reads the C1 plug, and at this time, 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 number of measurements. The input / output register 660 is an interface circuit connected to the data bus 692 and used for inputting / outputting code data and plugs and the like. The error location storage register 662 stores the output signal of one side output from the address generator 650, The position of the error generated during the error correction operation is stored as an integer value or the position of the error output from the address generator 650 is stored as an integer value using the output signal of one side outputted from the converter 652 as an input signal. The first signal selector 664 selectively outputs the signal output from the address generator 650 and the signal output from the error location storage register 662. Inverse inverter 666 is connected to data bus 692, and finite field GF Any element on To or Convert output to expression. The inverse transformer 666 is used when performing a division operation during an error correction operation. Trace converter 668 is connected to data bus 692 and is used for dual symbol error correction, . 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 to selectively output data on the 8-bit internal data bus or data output from the inverse transformer 666. The third signal selector 672 is connected to the data bus 692 to selectively output data on the 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 the 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 and temporarily stores the temporary data generated during the operation. The syndrome generator 682 is connected to the data bus 692 to generate syndrome elements ≪ / RTI > To 3A and 3B show the embodiment of the present invention. The C1 / C2 plug generator 684 is connected to the data bus 692, adds the plug information to each code data after the error correction processing, or copies the plug information. The RAM 686 is connected to the data bus 692 to store important coefficient data or various roots generated during error correction operations. The multiplier 688 multiplies the signal output from the MA register 674 and the signal output from the MB register 676 as an input signal, . The adder 690 receives the signal output from the multiplier 688 and the signal output from the AB register 678 as an input signal, Add the elements above. The adder 690 is composed of an exclusive-OR gate.

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

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

Claims (18)

디지털 신호의 재생에 있어 리드-솔로몬(Reed-Solomon) 부호를 사용하여 데이터의 에러를 정정하기 위한 에러정정방법에 있어서,An error correction method for correcting an error of data using a Reed-Solomon code in the reproduction of a digital signal, `수신신호로부터 신드롬을 계산하는 단계(400단계);Calculating a syndrome from a received signal (step 400); 상기 신드롬 계산단계(400단계)에서 계산된 신드롬에 의해 에러갯수 판별식을 이용하여 에러갯수를 판별하는 단계(402단계);Determining a number of errors using the error number discriminant by the syndrome calculated in the syndrome calculation step (operation 400); 상기 에러개수 판별단계(402단계)에서 판별된 에러의 개수에 따라 에러정정을 수행하는 단계(404단계);Performing error correction according to the number of errors determined in the error count determination step (operation 404); 상기 에러개수 판별단계(402단계)에서 판별된 에러의 개수가 '0'이거나 상기 에러정정단계(404단계)를 수행한 후에 시스템의 상태검색을 수행하는 상태검색단계(406단계); 및A state searching step (step 406) of performing a state search of the system after the number of errors determined in the error number determination step (step 402) is '0' or after performing the error correction step (step 404); And 상기 상태검색단계(406단계)에서 검색된 상태의 양호 여부 및 상기 에러 개수 판별단계(402단계)에서 판별된 에러의 개수가 '3'이상임을 판단하여 플러그를 0 또는 1로 설정하는 플러그 설정단계(408단계)를 갖는 C1 디코딩 과정A plug setting step of determining whether the searched state is good in the state searching step (step 406) and whether the number of errors determined in the error number determination step (step 402) is greater than or equal to 3 and setting the plug to 0 or 1 Step 408) 그리고,And, 수신신호로부터 신드롬을 계산하는 신드롬 계산단계(500단계);A syndrome calculation step 500 for calculating a syndrome from a received signal; 상기 신드롬 계산단계(500단계)에서 계산된 신드롬에 의해 에러개수 판별식을 이용하여 에러개수를 판별하는 에러개수 판별단계(502단계);An error number discrimination step (step 502) of discriminating an error number using an error number discrimination formula by the syndrome calculated in the syndrome calculation step (step 500); 상기 에러개수 판별단계(502단계)에서 판별된 에러의 개수가 '2'로 판단되면 현재의 에러 위치가 상기 C1 디코딩 과정의 플러그 설정단계(408단계)에서 설정된 에러의 위치와 일치하는가를 판단하는 플러그 일치 여부 판단단계(504단계);If it is determined that the number of errors identified in the error count determination step 502 is '2', it is determined whether the current error position coincides with the position of the error set in the plug setting step (step 408) of the C1 decoding process Determining whether the plug is matched (step 504); 상기 에러개수 판별단계(502단계) 및/또는 상기 플러그 일치 여부 판단단계(504단계)를 통하여 상기 에러개수 판별단계(502단계)에서 판별된 에러개수가 '1'개이면 '1' 에러 정정을 수행하고, 상기 플러그 일치 여부 판단단계(504단계)의 판단이 현재 검출된 에러의 위치와 C1 디코딩 과정에서 설정된 에러의 위치가 일치하면 '2' 에러 정정을 수행하는 에러정정단계(506단계);If the number of errors determined in the error count determination step 502 is '1' through the error number determination step 502 and / or the plug matching determination step 504, a '1' error correction is performed An error correction step (step 506) of performing '2' error correction if the determination of the plug match determination step (step 504) matches the position of the error currently detected and the error position set in the C1 decoding process; 상기 에러개수 판별단계(502단계)의 판단이 현재 검출된 에러의 개수가 '2'를 초과하면 이레이저 정정여부를 판단하는 이레이저 정정여부 판단단계(508단계);Determining whether or not the laser is corrected if the number of errors detected in step 502 is greater than '2' (step 508); 상기 이레이저 정정여부 판단단계(508)의 판단이 'ON'이면 플러그의 개수를 판단하는 플러그 개수 제1판단단계(510단계);A first number of plugs (step 510) for determining the number of plugs if the determination of step 508 is 'ON'; 상기 플러그 개수 제1판단단계(510단계)에서 판단된 플러그의 개수가 '3' 또는 '4'이면 '3'/'4' 이레이저 정정을 수행하는 '3'/'4' 이레이저 정정단계(512단계);If the number of plugs determined in the first number of plugs determination step 510 is '3' or '4', '3' / '4' performing laser correction of '3' / '4' (Step 512); 상기 '3'/'4' 이레이저 정정단계(512단계)에서 '3' 또는 '4' 이레이저 정정이 수행되고 난 후, 이레이저 정정이 올바른 수행 여부를 확인하기 위하여 검산을 수행하는 검산단계(514단계);In the laser correction step '3' or '4', after the laser correction of '3' or '4' is performed in the laser correction step 512, a check is performed to check whether the laser correction is performed correctly (Step 514); 상기 플러그 일치 여부 판단단계(504단계) 및/또는 상기 이레이저 정정여부 판단단계(508단계)를 통하여 상기 플러그 일치 여부 판단단계(504단계)의 판단이 현재 검출된 에러의 위치와 C1 디코딩 과정에서 설정된 에러의 위치가 일치하지 않거나 또는 상기 이레이저 정정여부 판단단계(508)의 판단이 'OFF'이면 플러그의 개수를 판단하는 플러그 개수 제2판단단계(516단계);The determination of the plug matching determination step (step 504) through the plug matching determination step (step 504) and / or the laser correction determination step (step 508) A second number of plugs (step 516) for determining the number of plugs if the position of the set error does not coincide or the determination of the laser correcting step 508 is 'OFF'; 상기 신드롬 계산단계(500단계) 내지 상기 플러그 개수 제2판단단계(516)가 수행되고 난 후 플러그를 설정하는 플러그 설정단계(518단계)를 갖는 C2 디코딩 과정을 포함하는 에러정정방법.And a C2 setting step of setting a plug after the syndrome calculation step (500) to the plug number second determination step (516) is performed (518). 제1항에 있어서, 상기 신드롬 계산단계(400단계)에서2. The method of claim 1, wherein in the syndrome calculation step (400) 단일 심벌 에러 발생시의 신드롬은The syndrome when a single symbol error occurs 이고, 2중 심벌 에러 발생시의 신드롬은, And the syndrome when a double symbol error occurs 이고, 3중 심벌 에러 발생시의 신드롬은, And the syndrome when a triple symbol error occurs 이고, 4중 심벌 에러 발생시의 신드롬은, And the syndrome when a quadruple symbol error occurs 임을 특징으로 하는 에러정정방법.The error correcting method. 제1항에 있어서, 상기 에러개수 판별단계(402단계)는The method of claim 1, wherein the error number determination step (402) 이라 하고,And, a) 에러 발생이 없는 경우a) If there is no error b) 단일 심벌 에러가 발생한 경우b) When a single symbol error occurs c) 2중 심벌 에러가 발생한 경우c) When a double symbol error occurs d) 3중 심벌 이상의 에러가 발생한 경우d) If an error of more than triple symbol occurs 상기 a), b), c) 이외의 경우In cases other than the above a), b), and c) 로서 에러의 개수를 판별함을 특징으로 하는 에러정정방법.And the number of errors is determined as the number of errors. 제1항 또는 제3항에 있어서, 상기 에러개수 판별단계(402단계)는4. The method of claim 1 or 3, wherein the error number determination step (402) 에러갯수 '0' 여부를 판단하는 단계(402-1단계);Determining whether the number of errors is '0' (step 402-1); 에러갯수 '1' 여부를 판단하는 단계(402-2단계); 및Determining whether the number of errors is '1' (step 402-2); And 에러갯수 '2' 여부를 판단하는 단계(402-3단계)로 세분됨을 특징으로 하는 에러정정방법.And determining whether the number of errors is '2' (step 402-3). 제1항에 있어서, 상기 에러정정 수행단계(404단계)는2. The method of claim 1, wherein the error correction step (404) 상기 에러개수 판별단계(402단계)에서 판별된 에러의 개수가 '0'이면 에러정정을 수행하지 않고, 판별된 에러의 개수가 '1'이면 '1'에러정정을 수행(404-1단계)하고, 판별된 에러의 개수가 '2'이면 '2'에러정정을 수행(404-2단계)하는 바,If the number of errors identified in step 402 is '0', error correction is not performed. If the number of errors is '1', error correction is performed in step 1 (step 404-1) And if the number of the identified errors is '2', '2' error correction is performed (step 404-2) 상기 '1'에러정정(404-1단계)의 수행은The performance of the '1' error correction (step 404-1) X1 ===== 에러위치X1 = ==== Error location Y1 ===== 에러값Y1 = ==== Error value 이고, 상기 '2'에러정정(404-2단계)의 수행은, And the execution of the '2' error correction (step 404-2) 2중 심벌 에러 발생의 경우 에러위치 X1, X2를 근으로 갖는 에러위치 다항식을이라 정의하면, 상기 다항식으로부터으로 치환하면, 상기 다항식은 다음의 수학식 14와 같이 나타낼 수 있고,In case of 2-symbol error, the error location polynomial with error locus X1, X2 , The polynomial equation , The polynomial can be expressed by Equation (14) below, [수학식 14]&Quot; (14) " (여기서,이고,) 또한,의 트레이스(trace)인로 구별하여 식을 쓰면,(here, ego, ) Also, Trace of To Wow If you write an expression to distinguish it, 이고, 유한체 GF상에서 트레이스를 취하면 m=8이므로, 상기는 각각 수학식 15와 16과 같이 나타낼 수 있으며,, And the finite field GF , M = 8, and therefore, Wow Can be expressed by Equations 15 and 16, respectively, [수학식 15]&Quot; (15) " [수학식 16]&Quot; (16) " 상기 수학식 15 및 16으로부터이고,이면, 수학식 14에서 표현된의 두근는 다음의 수학식 17과 같이 표현할 수 있는 바,From equations (15) and (16) ego, , ≪ EMI ID = 14.0 > Throb and Can be expressed as the following Equation (17) [수학식 17]&Quot; (17) " 그러나이나가 되는 경우에는 다음의 수학식 18과 같이 표현할 수 있고,But or The following equation (18) can be obtained, [수학식 18]&Quot; (18) " 여기서, y는이 되는 GF내의 한 원소이며이라 할 때을 만족시킴으로서 상기 수학식 18로 표현되는 두 근이 결정되는데,Here, y is GF Is an element within When you say The two roots represented by the above-mentioned equation (18) are determined, 상기 과정을 통하여 얻은를 이용하여 에러위치 X1, X2는 다음의 수학식 19와 같고, 에러값 Y1, Y2는 다음의 수학식 20과 같음을 특징으로 하고,The and , The error positions X1 and X2 are expressed by the following Equation (19), and the error values Y1 and Y2 are expressed by the following Equation (20) [수학식 19]&Quot; (19) " [수학식 20]&Quot; (20) " 상기 에러정정 수행단계(404단계)에서 판별된 에러의 개수가 '0', '1', '2' 이외의 개수이면 에러정정을 수행하지 않음을 특징으로 하는 에러정정방법.Wherein error correction is not performed if the number of errors determined in the error correction step (404) is a number other than '0', '1', or '2'. 제1항에 있어서, 상기 상태검색단계(406단계)는The method as claimed in claim 1, wherein the state searching step (406) 시스템 특성, 데이터 및 플레이어 상황을 검색하는 단계로서 EFM(Eight/Fourteen Modulation) 데이터 이상 유무, 플레이어(Player) 동작상태, 프레임 싱크(Frame Sync) 검출 유무 등을 확인한 다음 플러그(Flag)를 가변적으로 부가하기 위한 단계인 바,(Eight / Fourteen Modulation) data, a player operation state, a frame sync detection, and the like are detected as a step of searching for system characteristics, data, In this case, STATUS FLAGSTATUS FLAG C1 FLAG Set/ResetC1 FLAG Set / Reset 프레임 싱크검출 유무Whether frame sync is detected 플레이어 동작상태Player operating status 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
임을 특징으로 하는 에러정정방법.The error correcting method.
제1항에 있어서, 상기 플러그 설정단계(408단계)는2. The method of claim 1, wherein the plug setting step (408) 상기 상태검색단계(406단계)에서 검색된 상태가 양호하면 플러그를 '0'로 설정하고, 검색된 상태가 양호하지 않으면 플러그를 '1'로 설정하며, 상기 에러 개수 판별단계(402단계)에서 판별된 에러의 개수가 '3'이상으로 판단되면 상기 에러정정단계(404단계) 및 상태검색단계(406단계)를 거치지 않고 직접적으로 플러그를 '1'로 설정함을 특징으로 하는 에러정정방법.If the retrieved state is good in step 406, the plug is set to '0'. If the retrieved state is not good, the plug is set to '1' And if it is determined that the number of errors is equal to or greater than 3, the plug is directly set to '1' without going through the error correction step (404) and the state searching step (406). 제1항에 있어서, 상기 플러그 설정단계(408단계)는2. The method of claim 1, wherein the plug setting step (408) 상기 상태검색단계(406단계)에서 검색된 상태가 양호하면 플러그를 '0'로 설정하는 단계(408-1단계); 및If the retrieved state is good in the state searching step 406, setting the plug to '0' (step 408-1); And 상기 상태검색단계(406단계)에서 검색된 상태가 양호하지 않거나 또한, 상기 에러 개수 판별단계(402단계)에서 판별된 에러의 개수가 '3'이상으로 판단되면 상기 에러정정단계(404단계) 및 상태검색단계(406단계)를 거치지 않고 직접적으로 플러그를 '1'로 설정하는 단계(408-2단계)로 세분됨을 특징으로 하는 에러정정방법.If it is determined that the retrieved state is not good in the state searching step 406 or if the number of errors determined in the error number determination step 402 is greater than or equal to '3', the error correction step 404 and the state And setting the plug directly to '1' without going through the search step (step 406). 제1항에 있어서, 상기 신드롬 계산단계(500단계)에서2. The method of claim 1, wherein in the syndrome calculation step (500) 단일 심벌 에러 발생시의 신드롬은The syndrome when a single symbol error occurs 이고, 2중 심벌 에러 발생시의 신드롬은, And the syndrome when a double symbol error occurs 이고, 3중 심벌 에러 발생시의 신드롬은, And the syndrome when a triple symbol error occurs 이고, 4중 심벌 에러 발생시의 신드롬은, And the syndrome when a quadruple symbol error occurs 임을 특징으로 하는 에러정정방법.The error correcting method. 제1항에 있어서, 상기 에러개수 판별단계(502단계)는The method of claim 1, wherein the error number determination step (502) 이라 하고,And, a) 에러 발생이 없는 경우a) If there is no error b) 단일 심벌 에러가 발생한 경우b) When a single symbol error occurs c) 2중 심벌 에러가 발생한 경우c) When a double symbol error occurs d) 3중 심벌 이상의 에러가 발생한 경우d) If an error of more than triple symbol occurs 상기 a), b), c) 이외의 경우In cases other than the above a), b), and c) 로서 에러의 개수를 판별함을 특징으로 하는 에러정정방법.And the number of errors is determined as the number of errors. 제1항 또는 제10항에 있어서, 상기 에러개수 판별단계(502단계)는11. The method of claim 1 or 10, wherein the error number determination step (502) 에러갯수 '0' 여부를 판단하는 단계(502-1단계);Determining whether the number of errors is '0' (step 502-1); 에러갯수 '1' 여부를 판단하는 단계(502-2단계); 및Determining whether the number of errors is '1' (step 502-2); And 에러갯수 '2' 여부를 판단하는 단계(502-3단계)로 세분됨을 특징으로 하는 에러정정방법.And determining whether the number of errors is '2' (step 502-3). 제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단계)의 수행은The execution of the '1' error correction step (step 506-1) X1 ===== 에러위치X1 = ==== Error location Y1 ===== 에러값Y1 = ==== Error value 이고, 상기 '2'에러정정단계(506-2단계)의 수행은, And the execution of the '2' error correction step (step 506-2) 2중 심벌 에러 발생의 경우 에러위치 X1, X2를 근으로 갖는 에러위치 다항식을이라 정의하면, 상기 다항식으로부터으로 치환하면, 상기 다항식은 다음의 수학식 14와 같이 나타낼 수 있고,In case of 2-symbol error, the error location polynomial with error locus X1, X2 , The polynomial equation , The polynomial can be expressed by Equation (14) below, [수학식 14]&Quot; (14) " (여기서,이고,) 또한,의 트레이스(trace)인로 구별하여 식을 쓰면,(here, ego, ) Also, Trace of To Wow If you write an expression to distinguish it, 이고, 유한체 GF상에서 트레이스를 취하면 m=8이므로, 상기는 각각 수학식 15와 16과 같이 나타낼 수 있으며,, And the finite field GF , M = 8, and therefore, Wow Can be expressed by Equations 15 and 16, respectively, [수학식 15]&Quot; (15) " [수학식 16]&Quot; (16) " 상기 수학식 15 및 16으로부터이고,이면, 수학식 14에서 표현된의 두근는 다음의 수학식 17과 같이 표현할 수 있는 바,From equations (15) and (16) ego, , ≪ EMI ID = 14.0 > Throb and Can be expressed as the following Equation (17) [수학식 17]&Quot; (17) " 그러나이나가 되는 경우에는 다음의 수학식 18과 같이 표현할 수 있고,But or The following equation (18) can be obtained, [수학식 18]&Quot; (18) " 여기서, y는이 되는 GF내의 한 원소이며이라 할 때을 만족시킴으로서 상기 수학식 18로 표현되는 두 근이 결정되는데, 상기 과정을 통하여 얻은를 이용하여 에러위치 X1, X2는 다음의 수학식 19와 같고, 에러값 Y1, Y2는 다음의 수학식 20과 같음을 특징으로 하는 에러정정방법.Here, y is GF Is an element within When you say , The two roots expressed by the above-mentioned equation (18) are determined. and The error positions X1 and X2 are expressed by the following Equation (19), and the error values Y1 and Y2 are expressed by the following Equation (20). [수학식 19]&Quot; (19) " [수학식 20]&Quot; (20) " 제1항에 있어서, 상기 이레이저 정정여부 판단단계(508단계)의 판단은 다음의 표와 같음을 특징으로 하는 에러정정방법.The method of claim 1, wherein the determination of the step of determining whether the laser is to be corrected (step 508) is as shown in the following table. [표][table] STATUS FLAGSTATUS FLAG MICOM DATAMICOM DATA 이레이저정정여부Whether this laser is corrected 프레임 싱크 검출 유무Whether frame sync is detected 플레이어 동작상태Player operating status 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 caredo not care don't caredo not care setset OFFOFF
제1항에 있어서, 상기 '3'/'4' 이레이저 정정단계(512단계)에서 '3' 이레이저 정정은 신드롬요소는 다음의 수학식 21과 같이 표현되고,2. The method of claim 1, wherein the laser correction is performed in a laser correction step of '3' / '4' Is expressed by the following equation (21) [수학식 21]&Quot; (21) " 또한, 에러위치 다항식은 다음의 수학식 22와 같으며,Also, the error location polynomial is given by the following equation (22) [수학식 22]&Quot; (22) " 상기 수학식 22에서 각 차수의 계수는 다음의 수학식 23과 같이 표현할 수 있는 바,In Equation 22, the coefficient of each degree Can be expressed as the following Equation (23) [수학식 23]&Quot; (23) " 그리고 상기 수학식 22는 3중 심벌 에러가 발생하였다면 '0'가 된다. 에러위치를 이미 알고 있다고 가정하고 상기 수학식 21의 3원 일차 연립 방정식을 풀면 에러값 Y1, Y2, Y3는 다음의 수학식 24와 같고,Equation (22) becomes '0' if a triple symbol error occurs. Error location , The error values Y1, Y2, and Y3 are obtained by the following Equation (24), and the error values Y1, Y2, and Y3 are obtained by solving the three-way linear simultaneous equations of Equation (21) [수학식 24]&Quot; (24) " '4' 이레이저 정정은 신드롬요소는 다음의 수학식 25와 같고,'4' This laser correction is a syndrome element Is expressed by the following equation (25) [수학식 25]&Quot; (25) " 또한, 에러위치 다항식은 다음의 수학식 26과 같으며,Also, the error location polynomial is as shown in the following Equation 26, [수학식 26]&Quot; (26) " 상기 수학식 26에서 각 차수의 계수는 다음의 수학식 27과 같은 바,In Equation (26), the coefficient of each order is expressed by Equation (27) below, [수학식 27]&Quot; (27) " 그리고 상기 수학식 26은 4중 심벌 에러가 발생하였다면 '0'이 되고, 에러위치를 이미 알고 있다고 가정하고 상기 수학식 25의 4원 일차 연립방정식을 풀면 에러값 Y1, Y2, Y3, Y4는 다음의 수학식 28과 같음을 특징으로 하는 에러정정방법.Equation (26) becomes '0' if a quad-symbol error occurs, And the error values Y1, Y2, Y3, and Y4 are as shown in the following Equation (28) when the 4-element linear simultaneous equations of Equation (25) are solved. [수학식 28]&Quot; (28) " 제1항에 있어서, 상기 플러그 설정단계(518단계)는The method of claim 1, wherein the plug setting step (518) 플러그 '0' 설정단계(518-1단계), 플러그 '1' 설정단계(518-2단계), 플러그 '복사(copy)' 설정단계(518-3단계)로 세분되는 바,A plug '0' setting step (step 518-1), a plug '1' setting step (step 518-2) and a plug 'copy' setting step (step 518-3) 상기 플러그 '0' 설정단계(518-1단계)에서는 상기 에러개수 판별단계(502단계)의 에러갯수 '0' 여부를 판단하는 단계(502-1단계)의 판단이 현재 검출된 에러가 없거나, 상기 '1'/'2' 에러정정단계(506단계)에서 '1' 또는 '2' 에러가 정정되었거나, 또는 상기 검산단계(514단계)에서 검산된 결과가 양호할 때 플러그를 '0'으로 설정하고,If it is determined in step 502-1 that the number of errors in the error count determination step 502 is '0' (step 502-1), there is no error currently detected, If the '1' or '2' error is corrected in the '1' / '2' error correction step (step 506), or if the result of the checking in step 514 is good, Setting, 상기 플러그 '1' 설정단계(518-2단계)는 상기 플러그 개수 제1판단단계(510단계)에서 판단된 플러그의 개수가 '0', '1', '2'이거나, 상기 검산단계(514단계)에서 검산된 결과가 불량이거나, 또는 상기 플러그 개수 제2판단단계(516)에서 판단된 플러그의 개수가 '1' 또는 '2'일 때 플러그를 '1'로 설정하며,The plug 1 setting step 518-2 may be performed when the number of plugs determined in the plug number first determination step 510 is '0', '1', '2' Or when the number of plugs determined in the second number of plug determination step 516 is '1' or '2', the plug is set to '1' 상기 플러그 '복사' 설정단계(518-3단계)는 상기 플러그 개수 제1판단단계(510단계)에서 판단된 플러그의 개수가 '5'이거나, 또는 상기 플러그 개수 제2판단단계(516)에서 판단된 플러그의 개수가 '2'를 초과할 때 플러그를 '복사' 설정함을 특징으로 하는 에러정정방법.The plug 'copy' setting step 518-3 may be performed when the number of plugs determined in the plug number first determination step 510 is '5' or the plug number is determined in the plug number second determination step 516 And sets the plug to 'copy' when the number of plugs exceeds '2'. 디지털 신호의 재생에 있어 리드-솔로몬(Reed-Solomon) 부호를 사용하여 데이터의 에러를 정정하기 위한 에러정정장치에 있어서,An error correction apparatus for correcting errors in data using a Reed-Solomon code in the reproduction of a digital signal, the apparatus comprising: 에러정정 복호 알고리즘이 코딩(coding)화 되어 내장된 프로그램 롬;An embedded program ROM in which an error correction decoding algorithm is coded; 상기 프로그램 롬에서 출력되는 인스트럭션(instruction)을 저장하는 프로그램 레지스터;A program register for storing an instruction output from the program ROM; 상기 프로그램 레지스터에 저장된 인스트럭션을 소정의 코딩 형태에 따라 제어신호를 출력하는 프로그램 디코더;A program decoder for outputting a control signal according to a predetermined coding format to an instruction stored in the program register; 상기 프로그램 디코더로부터 출력되는 신호와 에러정정연산부로부터 출력된 신호를 입력신호로 하여 에러 정정시 특정 스텝(step)이나 인스트럭션을 일정 주기만큼 유지하거나, 다른 스텝으로 분기할 경우를 판단하여 제어신호를 발생하는 점프 콘트롤부;A signal output from the program decoder and a signal output from the error correction operation unit are used as an input signal to hold a specific step or instruction at the time of error correction for a predetermined period, A jumping control unit 상기 프로그램 레지스터로부터 출력되는 신호와 상기 프로그램 디코더로부터 출력되는 신호 및 상기 점프 콘트롤부로부터 출력되는 제어신호에 의해 어드레스(address)를 카운팅(counting)하는 프로그램 어드레스 카운터; 및A program address counter for counting an address by a signal output from the program register, a signal output from the program decoder, and a control signal output from the jump control unit; And 상기 프로그램 디코더로부터 출력된 신호에 의해 에러정정에 필요한 부호 데이터의 입출력조절신호를 발생하는 연산제어부를 갖는 에러정정제어부And an arithmetic control unit for generating an input / output adjustment signal of code data necessary for error correction according to the signal outputted from the program decoder, 그리고,And, 각 구성 요소간의 신호를 인터페이스하는 데이터 버스;A data bus for interfacing signals between each component; 에러정정에 필요한 부호 데이터와 플러그를 리드/라이트(read/write)시에 사용하는 어드레스를 발생하는 어드레스 발생기;An address generator for generating code data necessary for error correction and an address for use in reading / writing a plug; 상기 데이터 버스에 접속되고, 유한체 GF상의 임의의 원소를 정수값()로 변환하는변환기;And is connected to the data bus, Any element on To an integer value ( ) To convert converter; 상기 데이터 버스에 접속되고, 정수값()를 유한체 GF상의 임의의 원소로 변환하는변환기;Connected to the data bus and having an integer value ( ) To a finite field GF Any element on To convert converter; 상기 데이터 버스에 접속되고, C2 부호 에러정정시 C2 부호 데이터를 읽은 후 C1 플러그를 읽어들이는데 이때 C1 플러그의 개수를 계수화하는 C1 플러그 카운터;A C1 plug counter connected to the data bus for reading the C2 code data at the time of correcting the C2 code error and then reading the C1 plug at the time of counting the number of C1 plugs; 상기 데이터 버스에 접속되고, 제로 데이터를 검출하여 개수를 측정 후 측정 개수를 출력하는 제로 카운터;A zero counter connected to the data bus for detecting zero data and measuring the number and outputting the number of measurements; 상기 데이터 버스에 접속되고, 부호 데이터 및 플러그 등을 입출력하는 입출력 레지스터;An input / output register connected to the data bus for inputting / outputting code data and plugs; 상기 어드레스 발생기로부터 출력되는 일측의 출력신호와 상기변환기로부터 출력되는 일측의 출력신호를 입력신호로 하여 에러정정 연산 도중에 발생된 에러의 위치를 정수값으로 저장하거나 상기 어드레스 발생기로부터 출력되는 이레이저의 위치를 정수값으로 저장하는 에러위치 저장 레지스터;An output signal from one side output from the address generator, An error location storage register for storing a location of an error generated during an error correction operation as an integer value and storing the location of the erasure output from the address generator as an integer value using an output signal of one side output from the converter as an input signal; 상기 어드레스 발생기로부터 출력된 및 상기 에러위치 저장 레지스터로부터 출력된 신호를 선택적으로 출력하는 제1신호선택기;A first signal selector for selectively outputting a signal output from the address generator and output from the error location storage register; 상기 데이터 버스에 접속되고, 유한체 GF상의 임의의 원소혹은표현으로 변환 출력하는 역원기;And is connected to the data bus, Any element on To or Inverted output to convert to expression; 상기 데이터 버스에 접속되고, 2중 심벌 에러정정에 사용되며 에러위치 다항식의 근을 구하는 트레이스 변환기;And is connected to the data bus and used for error correction of the double symbol, A trace transformer for obtaining a root of the trapezoid; 상기 데이터 버스에 접속되어 8비트 내부 데이터 버스상의 데이터 혹은 상기 역원기로부터 출력되는 데이터를 선택적으로 출력하는 제2신호선택기;A second signal selector connected to the data bus for selectively outputting data on the 8-bit internal data bus or data output from the inverted data bus; 상기 데이터 버스에 접속되어 8비트 내부 데이터 버스상의 데이터 혹은 상기 트레이스 변환기를 거친 데이터를 선택적으로 출력하는 제3신호선택기;A third signal selector connected to the data bus for selectively outputting data on an 8-bit internal data bus or data passed through the trace converter; 상기 제2신호선택기로부터 출력된 신호를 일시적으로 저장하는 MA 레지스터;An MA register for temporarily storing the signal output from the second signal selector; 상기 제3신호선택기로부터 출력되는 데이터를 일시적으로 저장하는 MB 레지스터;An MB register for temporarily storing data output from the third signal selector; 상기 데이터 버스에 접속되어 데이터를 일시적으로 저장하는 AB 레지스터;An AB register connected to the data bus for temporarily storing data; 상기 데이터 버스에 접속되어 연산도중에 발생된 템포러리(Temporary) 데이터를 일시적으로 저장하는 TEMP 레지스터;A TEMP register connected to the data bus for temporarily storing temporary data generated during operation; 상기 데이터 버스에 접속되어 부호 데이터로부터 신드롬 요소를 구하는 신드롬 생성기;Connected to the data bus and generating syndrome elements A syndrome generator for obtaining a syndrome; 상기 데이터 버스에 접속되고, 에러정정 처리 후 각 부호 데이터에 플러그 정보를 부가하거나 혹은 플러그 정보를 복사하는 C1/C2 플러그 생성기;A C1 / C2 plug generator connected to the data bus and adding plug information or copying plug information to each code data after error correction processing; 상기 데이터 버스에 접속되어 에러정정 연산 도중 발생된 중요 계수 데이터나 각종 근을 저장하는 RAM;A RAM connected to the data bus for storing important coefficient data or various roots generated during an error correction operation; 상기 MA 레지스터로부터 출력된 신호와 상기 MB 레지스터로부터 출력된 신호를 입력신호로 하여 유한체 GF상의 원소들을 곱하는 곱셈기; 및The signal output from the MA register and the signal output from the MB register are used as input signals, A multiplier for multiplying the elements on; And 상기 곱셈기로부터 출력된 신호와 상기 AB 레지스터로부터 출력된 신호를 입력신호로 하여 유한체 GF상의 원소들을 더하는 덧셈기를 갖는 에러정정연산부를 포함하는 에러정정장치.And outputs the signal output from the multiplier and the signal output from the AB register as input signals to the finite field GF And an error correcting operation unit having an adder for adding elements on the error correction unit. 제16항에 있어서, 상기 역원기는 에러정정 연산중 나눗셈 연산을 수행할 때 사용됨을 특징으로 하는 에러정정장치.17. The error correction apparatus of claim 16, wherein the inverse encoder is used when performing a division operation during an error correction operation. 제16항에 있어서, 상기 덧셈기는 익스클루시브-오아(Exclusive-OR) 게이트로 구성됨을 특징으로 하는 에러정정장치.17. The error correction apparatus of claim 16, wherein the adder comprises 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 true KR19980074516A (en) 1998-11-05
KR100239798B1 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 (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

Families Citing this family (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

Cited By (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

Also Published As

Publication number Publication date
KR100239798B1 (en) 2000-01-15

Similar Documents

Publication Publication Date Title
EP0136604B1 (en) Decoding method and system.
EP0140381B1 (en) Decoding method and system for doubly-encoded reed-solomon codes
EP0129849B1 (en) Error correction method and system
EP0167627A1 (en) Method and apparatus for decoding error correction code
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
JPH0799503B2 (en) Error correction method for encoded data
JP3283122B2 (en) Code correction method and apparatus
KR0148004B1 (en) Error detection apparatus
KR19980074516A (en) An error correction method and an apparatus therefor for reproducing a digital signal
EP0571019B1 (en) Extended error protected communication system
US5155734A (en) Error correcting device
EP0650266A2 (en) An error correction code decoder and a method thereof
KR100330642B1 (en) Error Correction Method and Error Correction Device
KR100532373B1 (en) Error correction method in reproduction of digital signal
JPS60101766A (en) Address detection system
JPS6160618B2 (en)
JP2685180B2 (en) Error correction device
KR100397095B1 (en) Error-detecting device and method thereof
JPH0691471B2 (en) Error correction circuit
JP2664267B2 (en) Code error correction device
JP2518827B2 (en) Encoding / decoding device
JP3583905B2 (en) Error correction device
KR100246342B1 (en) Reed solomon error correction 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