KR19990049147A - Error correction method - Google Patents

Error correction method Download PDF

Info

Publication number
KR19990049147A
KR19990049147A KR1019970068011A KR19970068011A KR19990049147A KR 19990049147 A KR19990049147 A KR 19990049147A KR 1019970068011 A KR1019970068011 A KR 1019970068011A KR 19970068011 A KR19970068011 A KR 19970068011A KR 19990049147 A KR19990049147 A KR 19990049147A
Authority
KR
South Korea
Prior art keywords
syndrome
error correction
data
error
ram
Prior art date
Application number
KR1019970068011A
Other languages
Korean (ko)
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 KR1019970068011A priority Critical patent/KR19990049147A/en
Publication of KR19990049147A publication Critical patent/KR19990049147A/en

Links

Abstract

본 발명은 데이터의 에러정정방법에 관한 것으로, 더욱 상세하게는 디스크로부터 잘못 재생된 재생데이터를 원래의 데이터로 정정하기 위한 에러정정방법에 관한 것이다.The present invention relates to an error correction method of data, and more particularly, to an error correction method for correcting reproduction data erroneously reproduced from a disc to original data.

본 발명의 에러정정방법은, 복조된 데이터를 신드롬 연산하는 단계와; 주데이터와 신드롬값으로 프레임을 구성하여 저장하는 단계와; 상기 신드롬값에 의해 제1방식으로 에러정정하고, 동시에 신드롬을 정정하는 단계와; 제1방식으로 에러정정된 데이터를 제2방식으로 에러정정하고, 동시에 신드롬을 정정하는 단계와; 제2방식에 의해서 정정된 신드롬을 이용하여 다시 제1방식의 에러정정을 반복 수행하는 단계를 포함하여 이루어진 것을 특징으로 한다.The error correction method of the present invention comprises the steps of: performing a syndrome operation on the demodulated data; Constructing and storing a frame with main data and syndrome values; Error correcting in a first manner based on the syndrome value and simultaneously correcting the syndrome; Error correcting the data corrected in the first manner in a second manner and simultaneously correcting the syndromes; And repeating the error correction of the first method again using the syndrome corrected by the second method.

Description

에러정정방법Error correction method

본 발명은 데이터의 에러정정방법에 관한 것으로, 더욱 상세하게는 디스크로부터 잘못 읽혀진 데이터를 원래의 데이터로 정정하기 위한 에러정정방법에 관한 것이다.The present invention relates to an error correction method of data, and more particularly, to an error correction method for correcting data which is erroneously read from a disc to original data.

디지털신호는 1과 0의 두 가지 정보, 구체적으로는 전압이 있는가(HIGH) 또는 없는가(LOW) 하는 2진수의 조합으로 데이터를 전송, 기록한다. 따라서 전송시스템과 기록시스템에 왜곡이나 잡음이 존재한다고 해도 1 또는 0을 바르게 판별할 수 있는 상태가 확보되는 한, 신호의 열화는 절대 없다. 이처럼 디지털신호는 아나로그신호에 비해서 신뢰성이 높다.The digital signal transmits and records data in a combination of two pieces of information, 1 and 0, specifically, a binary number with or without voltage (HIGH) or low (LOW). Therefore, even if there is distortion or noise in the transmission system and the recording system, there is no signal deterioration as long as a state capable of correctly discriminating 1 or 0 is ensured. As such, digital signals are more reliable than analog signals.

그러나 2진수로 부호화된 순수한 디지털신호, 그 자체는 융통성이 전혀 없어서, 만약 수 많은 비트 중에서 하나의 1이 0으로, 0이 1로 뒤바뀌면 원래의 정보 내용이 완전히 달라져서 큰 왜곡이나 잡음을 유발할 수 있다. 심지어 에러발생 정도가 심한 경우에는 정보의 내용을 전혀 해석할 수 없는 경우도 발생한다.However, pure digital signals encoded in binary numbers, themselves, are not flexible at all, so if one of the many bits changes from one to zero and zero to one, the original information content will be completely different, causing large distortion or noise. have. Even when the error occurs severely, the content of the information cannot be interpreted at all.

따라서 디지털신호를 이용한 기록매체 및 그 기록매체를 재생하기 위한 시스템에서 제품의 품질은 에러가 얼마나 많이 발생하는가에 따라서 좌우된다고 해도 과언이 아니다.Therefore, it is no exaggeration to say that the quality of a product in a recording medium using a digital signal and a system for reproducing the recording medium depends on how many errors occur.

이러한 디지털신호를 기록하고 있는 컴팩트 디스크(Compact Disc ; 이하 CD라고 함)는 리드-솔로몬 코드와 인터리브 기법을 조합시킨 매우 강력한 에러정정방법인 CIRC(Cross Interleaved Reed-Solomon Code)에 의해서 재생데이터의 에러정정을 수행하고 있다.Compact Discs that record these digital signals (hereinafter referred to as CDs) are reproduced data errors by CIRC (Cross Interleaved Reed-Solomon Code), a very powerful error correction method combining Reed-Solomon codes and interleaving techniques. Correction is being performed.

상기 CIRC는 에러정정 능력이 매우 강력해서 CD를 비롯한 디지털 오디오기기에서 폭넓게 응용되고 있다. 더군다나 CD에 직접적으로 사용되고 있는 CIRC는 C1, C2라 불리우는 2단 CIRC 처리로, 만약 CD표면에 20㎜의 흠집이 발생해서 이 사이의 데이터를 전혀 읽어낼 수 없는 경우에도, 원래의 음을 완전히 재현할 수 있는 강력한 에러정정능력을 가지고 있다.The CIRC is very powerful in error correction, and is widely used in digital audio equipment including CDs. Furthermore, the CIRC used directly on the CD is a two-stage CIRC treatment called C1 and C2. If the CD surface is scratched and the data between them cannot be read at all, the original sound is completely reproduced. It has strong error correction capability.

CIRC에 이용되는 리드 솔로몬 부호는 데이터의 최소단위를 1비트가 아닌 8비트를 기본단위로 하고 있다. 상기 8비트 단위의 심볼을 코드 워드(code word)라고 한다. 따라서 CIRC의 C1 부호에는 데이터가 28심볼, 정정용 패리티가 4심볼, 모두해서 32 심볼을 갖는다. 그리고 CIRC C2 부호에서는 데이터가 24 심볼, 정정용 패리티가 4심볼, 모두해서 28심볼을 갖는다.The Reed-Solomon code used for CIRC has the minimum unit of data as 8 bits instead of 1 bit. The 8-bit symbol is called a code word. Therefore, the C1 code of CIRC has 28 symbols of data and 4 symbols of parity for correction. In the CIRC C2 code, data has 24 symbols, correction parity has 4 symbols, and 28 symbols.

CIRC 에러정정은 C1, C2의 크로스 인터리브와 각각의 계열에 대해서 독립적으로 정정부호를 가하고 있다. 따라서 각각 2워드의 에러정정이 독립적으로 가능하다. 특히, C2의 에러정정은 C1에서 검출된 에러 플래그를 이용한 디코딩이 이루어지므로, 총 4워드까지의 에러정정이 가능하게 된다. 만약, C2의 에러정정 후, 다시 C1의 에러정정을 반복할 경우에는 C1, C2의 에러정정에서 검출된 에러 플래그에 의해서 4개의 에러정정이 가능하다.CIRC error correction independently applies the correcting codes to the cross interleaving of C1 and C2 and their respective sequences. Therefore, error correction of two words is possible independently. In particular, since error correction of C2 is performed using the error flag detected by C1, error correction of up to four words is possible. If error correction of C1 is repeated after error correction of C2, four error corrections are possible by the error flag detected in error correction of C1 and C2.

이와 같이 C1→C2→C1 과정에 의해서 디코딩을 하게 되면, 이전 디코딩에서 검출된 에러 플레그를 이용한 디코딩이 이루어지므로 에러정정의 정확도가 매우 높게 된다. 그러나 C1→C2→C1 과정을 수행하기까지에는 램 엑세스 시간이 필요 이상 소요되고, 그렇기 때문에 C1→C2과정에서 대부분의 CD는 에러정정과정을 종료한다.As described above, when decoding is performed by the C1 → C2 → C1 process, since the decoding is performed using the error flag detected in the previous decoding, the accuracy of error correction is very high. However, it takes longer than necessary to access RAM until C1 → C2 → C1. Therefore, most CDs in C1 → C2 complete the error correction process.

다음은 종래 CD에서의 에러정정방법에 대해서 상세하게 설명한다.The following describes the error correction method in the conventional CD in detail.

도1은 종래 컴팩트 디스크에서 사용되는 에러정정방법에 따른 동작을 나타내는 흐름도이다. 이 흐름도에서 C1→C2→C1 과정에 따른 CIRC 에러정정과정을 도시하고 있다.1 is a flowchart showing an operation according to an error correction method used in a conventional compact disc. In this flowchart, a CIRC error correction process according to C1 → C2 → C1 is shown.

디스크로부터 읽혀진 데이터는 동기 검출 후, EFM 복조가 이루어진다. 상기 EFM 복조된 데이터는 프레임 단위로 램에 저장된다. 이때 데이터의 저장은 1심볼 단위로 이루어지기 때문에 총 32번의 데이터 쓰기과정이 이루어진다.The data read from the disk is subjected to EFM demodulation after synchronization detection. The EFM demodulated data is stored in RAM on a frame basis. At this time, since data is stored in one symbol unit, a total of 32 data writing processes are performed.

이러한 과정으로 램에 저장된 32심볼은 C1 에러정정이 이루어지기 위해서 다시 램으로부터 읽혀지는데, 이때 읽혀지는 데이터는 1 프레임에 대한 C1계의 데이터이다(제101단계). 상기 램으로부터의 데이터 리딩은 심볼단위로 이루어진다. 따라서 상기 제101단계에서 데이터 28심볼과 패리티 4심볼을 포함한 32심볼을 모두 램으로부터 읽어내기 위해서는 모두 32번의 램 엑세스가 필요하게 된다.In this process, the 32 symbols stored in the RAM are read back from the RAM in order to perform C1 error correction. At this time, the read data is data of the C1 system for one frame (step 101). Data reading from the RAM is performed in symbol units. Therefore, in order to read all 32 symbols including 28 data symbols and 4 parity symbols from the RAM in step 101, 32 RAM accesses are required.

그리고 C1계의 디코딩이 이루어진다(제103단계). C1의 디코딩과정에서는 모두 2워드의 에러가 정정 가능하다. 따라서 상기 C1 디코딩과정에서 2개의 에러가 검출되었다면, 에러가 발생된 위치의 C1계 데이터를 2번의 리딩과정을 통해서 읽어오고, 그 에러값을 정정하여 에러가 발생된 위치에 다시 쓰는 작업이 2번의 과정을 통해서 이루어진다. 따라서 상기 C1의 디코딩과정에서는 총 4번의 램 엑세스과정이 필요하다. 상기 제103단계의 C1 디코딩 후, 램에 저장된 데이터는 C1의 패리티 데이터인 4심볼을 포함한 상태가 된다. 만약 상기 C1 디코딩과정에서 1개의 에러가 검출되었다면, C1 디코딩과정에서는 1번의 리딩과 1번의 쓰기작업이 이루어질 것이다.Then, decoding of the C1 system is performed (step 103). In the decoding process of C1, an error of two words can be corrected. Therefore, if two errors are detected in the C1 decoding process, the C1 data of the position where the error occurred is read through two reading processes, and the operation of correcting the error value and rewriting the error at the position where the error occurred is performed twice. It is through the process. Therefore, a total of four RAM accesses are required in the decoding process of C1. After C1 decoding in step 103, the data stored in the RAM is in a state including four symbols that are parity data of C1. If one error is detected in the C1 decoding process, one reading and one writing operation will be performed in the C1 decoding process.

상기 제103단계의 수행에 의해서 C1 디코딩 후, 램에는 C1 디코딩과정에서 검출된 2에러까지의 정정된 데이터가 저장되어 있다. 이와 같이 C1의 디코딩이 수행된 데이터를 C2 디코딩을 수행하기 위하여 C2계의 데이터 28심볼을 램으로부터 읽어온다(제105단계). 따라서 상기 제105단계에서는 모두 28번의 램 엑세스가 필요하다.After performing C1 decoding by performing step 103, the RAM stores corrected data up to two errors detected in the C1 decoding process. As described above, in order to perform C2 decoding on the data on which the decoding of C1 is performed, 28 symbols of the C2 system are read from the RAM (step 105). Therefore, in step 105, all RAM accesses are required 28 times.

상기 제105단계에서 읽혀진 C2계의 28심볼은 제107단계에서 C2계의 디코딩이 이루어진다. 상기 C2계의 디코딩은 이미 C1계에 의한 디코딩이 이루어진 데이터를 다시 디코딩하는 과정으로, 이때 상기 C1계의 디코딩 과정에서 검출된 에러 플래그를 참조해서 디코딩이 이루어진다. 그래서 상기 C2 디코딩과정에서는 4워드까지의 에러정정이 가능하다.28 symbols of the C2 system read in step 105 are decoded in the C2 system in step 107. The decoding of the C2 system is a process of decoding the data which has already been decoded by the C1 system again. In this case, the decoding is performed by referring to the error flag detected in the decoding process of the C1 system. Thus, in the C2 decoding process, error correction of up to 4 words is possible.

만약 상기 C2의 디코딩과정에서 4워드의 에러가 검출되었다면, 에러가 발생된 위치의 에러값을 제거하기 위해서 램으로부터 불러오는 과정이 4번에 걸쳐서 수행되고, 마찬가지로 정정된 에러값을 에러가 발생된 위치에 써 넣는 작업이 4번에 걸쳐서 이루어진다. 따라서 상기 제107단계에 의한 C2의 디코딩과정에서는 최대 8번의 램 엑세스 작업이 수행된다.If an error of 4 words is detected in the decoding process of C2, the process of loading from RAM is performed four times to remove the error value of the position where the error occurred, and similarly, the corrected error value is the position where the error occurred. It is written four times. Accordingly, up to eight RAM access operations are performed in the decoding process of C2 in step 107.

이상의 과정에 의한 C1, C2의 디코딩은 C1, C2의 크로스인터리브와 각각의 계열에 대해서 독립적으로 정정부호를 가하고 있기 때문에, C1 디코딩에서 2워드, C2 디코딩에서 4워드의 에러정정이 가능하다.In the decoding of C1 and C2 by the above process, since correction codes are independently applied to the cross-interleaves of C1 and C2 and their respective sequences, error correction of two words in C1 decoding and four words in C2 decoding is possible.

이상의 과정으로 C1→C2과정에 의한 ECC는 종료되었다. 그러나 C1→C2과정후, 다시 한번 더 C1의 에러정정을 수행하는 경우인 C1→C2→C1과정에 의한 ECC에서는 C1에 의한 에러정정과정이 더 수행된다.In the above process, ECC by C1 → C2 process was completed. However, after the process of C1 → C2, the error correction process by C1 is further performed in ECC by the process C1 → C2 → C1.

즉, 제109단계에서는 램으로부터 C1계의 32심볼 데이터를 읽어온다(제109단계). 이때 읽어오는 데이터는 패리티 데이터인 4심볼을 포함하고 있다. 따라서 상기 제109단계에서도 모두 32번의 램 엑세스가 필요하게 된다. 그리고 읽어온 32심볼을 C1 디코딩하면서 최대 4번의 램 엑세스가 수행된다. (제111단계).That is, in step 109, the 32 symbol data of the C1 system is read from the RAM (step 109). The data read at this time includes four symbols, which are parity data. Accordingly, 32 steps of RAM access are required in step 109 as well. Up to four RAM accesses are performed while C1 decoding the 32 symbols read. (Step 111).

이상의 과정으로 C1→C2→C1에 따른 에러정정이 행해진 데이터는 램에 저장되고, 이후 패리티 심볼을 뺀 24심볼이 다시 램으로부터 읽혀져서 디지털신호처리를 위한 블록으로 출력된다(제113단계).The error correction data according to C1 → C2 → C1 is stored in the RAM. After that, 24 symbols minus parity symbols are read from the RAM and output as a block for digital signal processing (step 113).

이상의 과정으로 수행되는 종래의 에러정정과정은 C1→C2과정에 의한 ECC에서는 최대 128번의 램 엑세스가 수행되고, C1→C2→C1과정에 의한 ECC에서는 최대 164회의 램 엑세스가 수행된다. 상기 C1→C2과정에서 수행되는 램 엑세스 타임을 첨부된 도면 표1에 도시하고 있고, C1→C2→C1과정에 의한 램 엑세스 타임을 첨부된 도면 표2에 도시하고 있다.In the conventional error correction process performed by the above process, up to 128 RAM accesses are performed in ECC by C1 → C2 and up to 164 RAM accesses are performed in ECC by C1 → C2 → C1. The RAM access time performed in the process C1 → C2 is shown in the attached table Table 1, and the RAM access time in the process C1 → C2 → C1 is shown in the attached table Table2.

그러나, CD, DVD에서와 같이 점차 재생배속을 높이고 있는 디스크 재생장치에서는 디지털신호처리에서 가장 문제되는 부분이 램 엑세스 타임이다. 그래서 C1→C2→C1과정에 의한 강력한 ECC를 수행하고 싶어도 램 엑세스 타임으로 인한 문제가 발생되기 때문에, 지금까지 대부분의 CD ECC는 C1→C2과정으로 종료되었다.However, in the disc reproducing apparatus which is gradually increasing the reproduction speed as in CD and DVD, the RAM access time is the most problematic part in digital signal processing. So even if you want to perform strong ECC by C1 → C2 → C1 process, there is a problem due to RAM access time. Thus, most CD ECCs have been terminated by C1 → C2 process.

이러한 점은 꼭 CD의 경우에 한정되는 것은 아니다. 예를 들어서 디지털 비디오 디스크의 경우에 있어서도 PI 디코딩 후에 PO 디코딩을 수행하고 있다. 따라서 더 뛰어난 에러정정을 위해서는 PI 디코딩을 반복 수행하면 좋지만, ECC과정에 의한 정해진 램 엑세스 타임으로는 이를 해결할 수 없었기 때문에, 반복된 에러정정을 수행할 수 없었다.This point is not necessarily limited to the case of CD. For example, in the case of digital video discs, PO decoding is performed after PI decoding. Therefore, it is good to repeat PI decoding for better error correction, but it is not possible to perform repeated error correction because the RAM access time by ECC process could not solve this problem.

따라서 본 발명의 목적은 디코딩과정의 반복에 의한 보다 정확한 에러정정방법을 제공함에 있다.Accordingly, an object of the present invention is to provide a more accurate error correction method by repeating the decoding process.

본 발명의 다른 목적은 에러정정과정에서 소요되는 램 엑세스 타임을 최소화할 수 있는 에러정정방법을 제공함에 있다.Another object of the present invention is to provide an error correction method that can minimize the RAM access time required in the error correction process.

도1은 종래 컴팩트 디스크에서 사용되는 에러정정방법에 따른 동작을 나타내는 흐름도, 도2는 일반적인 컴팩트 디스크 재생장치를 도시하는 블록도, 도3은 본 발명에 따른 CIRC 디코더(25)의 상세 구성도, 도4는 도3에 도시된 신드롬 연산기(56)의 내부 구성도, 도5는 본 발명에 따른 에러정정과정에 따른 동작 흐름도, 도6은 본 발명에서 C2 에러 정정 후의 신드롬 연산을 위한 신드롬 연산기의 내부 구성도, 표1은 종래 C1→C2과정에서 수행되는 램 엑세스 시간, 표2는 종래 C1→C2→C1과정에 의한 램 엑세스 시간.1 is a flowchart showing an operation according to an error correction method used in a conventional compact disc, FIG. 2 is a block diagram showing a general compact disc reproducing apparatus, and FIG. 3 is a detailed configuration diagram of the CIRC decoder 25 according to the present invention. 4 is an internal configuration diagram of the syndrome calculator 56 shown in FIG. 3, FIG. 5 is an operation flowchart according to an error correction process according to the present invention, and FIG. 6 is a diagram of a syndrome operator for syndrome calculation after C2 error correction in the present invention. Internal diagram, Table 1 shows the RAM access time performed in the conventional C1 → C2 process, Table 2 shows the RAM access time according to the conventional C1 → C2 → C1 process.

상기 목적을 달성하기 위한 본 발명에 따른 에러정정방법은, 복조된 데이터를 신드롬 연산하는 단계와; 주데이터와 신드롬값으로 프레임을 구성하여 저장하는 단계와; 상기 신드롬값에 의해서 제1방식으로 에러정정하고, 동시에 신드롬을 정정하는 단계와; 제1방식으로 에러정정된 데이터를 제2방식으로 에러정정하고, 동시에 신드롬을 정정하는 단계와; 제2방식에 의해서 정정된 신드롬을 이용하여 다시 제1방식의 에러정정을 반복 수행하는 단계를 포함하여 구성된다.An error correction method according to the present invention for achieving the above object comprises the steps of: syndrome calculation of the demodulated data; Constructing and storing a frame with main data and syndrome values; Error correcting in a first manner based on the syndrome value and simultaneously correcting the syndrome; Error correcting the data corrected in the first manner in a second manner and simultaneously correcting the syndromes; And repeating the error correction of the first method again using the syndrome corrected by the second method.

본 발명의 에러정정방법은 C1→C2→C1 방식으로 앞의 디코딩과정에서 검출된 포인트를 기준으로해서 에러정정을 반복 수행하는 것을 특징으로 한다.The error correction method of the present invention is characterized by repeating the error correction on the basis of the point detected in the previous decoding process in the method C1 → C2 → C1.

본 발명의 에러정정방법에서 C1 디코딩은 신드롬 값을 이용하는 것을 특징으로 한다.In the error correction method of the present invention, C1 decoding is characterized by using a syndrome value.

즉, 본 발명의 에러정정방법은 램 엑세스 타임을 줄이면서 C1 에러정정을 한번 더 수행하므로써 에러정정 능력을 향상시킬 수 있는 효과를 가져온다.That is, the error correction method of the present invention brings the effect of improving the error correction capability by performing C1 error correction once more while reducing the RAM access time.

이하 첨부한 도면을 참조해서 본 발명에 따른 에러정정방법을 상세하게 설명한다.Hereinafter, an error correction method according to the present invention will be described in detail with reference to the accompanying drawings.

도2는 일반적인 컴팩트 디스크 재생장치를 도시하는 블록도이다.2 is a block diagram showing a general compact disc reproducing apparatus.

디스크 재생동작은 우선, 광픽업장치(5)를 이용하여 디스크(40)로부터 데이터를 읽어내고, 이 읽어낸 데이터가 고주파 증폭부(10)로 입력되어서 다음단에서 충분히 신호처리할 수 있을 만큼의 레벨로 증폭하고, 그 파형을 정형한 후에 디지털신호처리부(45)로 출력한다. 따라서 상기 고주파 증폭부(10)에서 출력하는 EFM 신호는 인접신호의 간섭이나 일그러짐이 크게 개선되어 출력된다.In the disc reproducing operation, first, data is read from the disc 40 using the optical pickup device 5, and the read data is input to the high frequency amplifier 10 so as to be sufficiently signaled at the next stage. After amplifying to a level and shaping the waveform, the waveform is output to the digital signal processing unit 45. Therefore, the EFM signal output from the high frequency amplification unit 10 is greatly improved and the interference or distortion of the adjacent signal is output.

데이터 스트로브(15)는 상기 고주파 증폭부(10)에서 출력되는 EFM 신호에서 동기 클럭을 정확하게 재생하여, 지터나 에러의 영향없이 디지털신호를 아날로그신호로 복조한다. 통상 상기 고주파 증폭부(10)의 EFM 출력은 디스크의 편심, 회전속 변화 등에 의해서 시간축 에러가 많이 포함되어 있다. 이 신호를 기준으로 정확한 동기펄스를 재생하고 에러펄스를 제거하기 위하여 일반적으로 PLL회로를 사용한다.The data strobe 15 accurately reproduces the synchronous clock from the EFM signal output from the high frequency amplifier 10, and demodulates the digital signal into an analog signal without affecting jitter or error. In general, the EFM output of the high frequency amplifier 10 includes a large number of time axis errors due to disc eccentricity, rotation speed change, and the like. Based on this signal, a PLL circuit is generally used to reproduce an accurate sync pulse and to remove an error pulse.

EFM 복조부(20)는 14비트로 채널 코딩된 EFM 신호를 원래의 8비트 데이터로 변환시키기 위한 구성이다. 직렬 EFM 신호는 컨버터에서 병렬로 변환되어 14비트마다 래치된다. 14비트 단위의 EFM 신호는 256개의 데이터 패턴과 서브코드의 선두를 나타내는 두 개의 서브코드용 동기패턴을 합해서 모두 258개의 패턴으로 복조된다.The EFM demodulator 20 is a component for converting an 14-bit channel coded EFM signal into original 8-bit data. The serial EFM signal is converted in parallel in the converter and latched every 14 bits. The 14-bit EFM signal is demodulated in a total of 258 patterns by combining 256 data patterns and two subcode sync patterns representing the head of the subcode.

CIRC 디코더(25)는 동기 재생 후, 14 비트 단위의 EFM 신호가 8비트의 데이터 열로 변환된 데이터를 입력한다. 상기 CIRC 디코더(25)는 일단 입력한 데이터를 램(35)에 저장한 다음 디인터리브와 지터 흡수를 동시에 실행한다.The CIRC decoder 25 inputs data after the 14-bit EFM signal is converted into an 8-bit data string after synchronous reproduction. The CIRC decoder 25 stores the data once input into the RAM 35 and then simultaneously performs deinterleave and jitter absorption.

즉, 8비트 단위로 구성된 심벌 데이터는 디스크가 크게 손상되었을 때, 발생하는 버스트에러를 랜덤에러화하기 위해서 기록시에 프레임 단위로 분산(인터리브)해서 기록된다. 따라서 디인터리브는 에러정정회로에 데이터를 입력시킬 때, 인터리브된 데이터를 원래의 배열로 되돌리는 작업으로서, 통상 디인터리브 램이라고 부리는 외부 램을 사용하여 써넣기 어드레스와 읽어내기 어드레스를 제어한다.That is, symbol data composed of 8-bit units are recorded by being distributed (interleaved) in units of frames at the time of recording in order to randomize the burst error that occurs when the disk is largely damaged. Therefore, the deinterleave is an operation of returning the interleaved data to the original array when data is input to the error correction circuit, and controls the write address and the read address by using an external RAM called a deinterleave RAM.

도3은 본 발명에 따른 CIRC 디코더(25)의 상세 구성도이다. 즉, 도3은 본 발명에서 요구하는 신드롬값에 따른 C1 에러정정을 수행하기 위해서 신드롬값을 연산하고, 그 연산된 신드롬을 심볼을 포함시켜서 램(35)에 저장시키는 구성을 나타낸다.3 is a detailed block diagram of the CIRC decoder 25 according to the present invention. That is, FIG. 3 shows a configuration in which a syndrome value is calculated in order to perform C1 error correction according to the syndrome value required by the present invention, and the calculated syndrome is stored in the RAM 35 including a symbol.

본 발명의 CIRC 디코더(25)는 EFM 복조부(20)에서 출력되는 심볼을 입력하고, 1 프레임분의 심볼을 저장하는 레지스터(50)와, 상기 레지스터(50)에서 출력되는 심볼 또는 현재 입력되는 심볼R(x)을 번갈아가면서 출력하는 멀티플렉서(52)와, 상기 멀티플렉서(52)의 출력을 입력하고 신드롬을 연산하는 신드롬 연산기(56)와 그리고 상기 멀티플렉서(52)의 출력을 입력하고 패리티가 제거된 데이터만을 출력하는 패리티 제거부(54)를 포함한다.The CIRC decoder 25 of the present invention inputs a symbol output from the EFM demodulator 20, registers 50 for storing symbols for one frame, a symbol output from the register 50, or is currently input. The multiplexer 52 outputs the alternating symbols R (x), the syndrome operator 56 for inputting the output of the multiplexer 52 and calculating the syndrome, and the output of the multiplexer 52, and parity is removed. And a parity removal unit 54 for outputting only the data.

그리고 본 발명의 CIRC 디코더(25)는 상기 패리티 제거부(54)에서 출력하는 데이터에 상기 신드롬 연산기(56)에서 출력하는 신드롬값을 포함하여 새로운 심볼을 구성시키는 심볼생성기(58)를 포함하며, 상기 심볼생성기(58)에서 신드롬을 포함해서 이루어진 심볼은 램(35)에 저장되도록 구성된다.In addition, the CIRC decoder 25 of the present invention includes a symbol generator 58 constituting a new symbol by including a syndrome value output from the syndrome operator 56 in the data output from the parity remover 54. In the symbol generator 58, a symbol including a syndrome is configured to be stored in the RAM 35.

다음은 상기 구성에 의한 복조된 데이터의 신드롬값을 연산하는 과정에 대해서 설명한다.Next, a process of calculating the syndrome value of the demodulated data by the above configuration will be described.

EFM 복조부(20)에서 복조된 심볼R(x)을 입력하여 1 프레임 분의 데이터가 레지스터(50)에 저장된다. 그 후, 신드롬 연산기(56)는 멀티플렉서(52)를 통해서 현재 입력되는 심볼과 레지스터(50)에서 출력하는 심볼을 번갈아가면서 읽어들인 후, 입력된 심볼R'(x)의 신드롬 연산을 하게 된다.The demodulated symbol R (x) is inputted by the EFM demodulator 20 to store one frame of data in the register 50. Thereafter, the syndrome operator 56 alternately reads the symbol currently input through the multiplexer 52 and the symbol output from the register 50, and then performs a syndrome operation of the input symbol R '(x).

한편, 패리티 제거부(54)는 입력되는 심볼R'(x)에서 패리티 값을 뺀 데이터 D(x)값을 출력한다. 상기 패리티 제거부(54)에서 제거되는 패리티는 모두해서 4바이드 분, 4심볼이다.On the other hand, the parity remover 54 outputs the data D (x) value obtained by subtracting the parity value from the input symbol R '(x). The parity removed by the parity removal unit 54 is four symbols and four symbols.

이렇게 해서 상기 신드롬 연산기(56)에서 생성된 신드롬(Sj)과, 입력되는 심볼R'(x)에서 패리티 값을 뺀 데이터D(x)는 심볼생성기(58)에 입력된다. 상기 심볼생성기(58)는 상기 패리티 제거부(54)에서 출력되는 데이터D(x)와 신드롬연산기(56)에서 출력하는 신드롬 값으로 하나의 심볼R"(x)을 형성시켜서 램(35)으로 출력한다. 즉, 상기 신드롬 연산기(56)에서 출력되는 신드롬은 원 데이터의 패리티 위치에 기록된다. 따라서 상기 라이트되는 신드롬은 제거된 패리티의 양과 같은 4바이트 분이 된다.In this way, the syndrome Sj generated by the syndrome operator 56 and the data D (x) obtained by subtracting the parity value from the input symbol R '(x) are input to the symbol generator 58. The symbol generator 58 forms a symbol R " (x) by using the data D (x) output from the parity removing unit 54 and the syndrome value output from the syndrome operator 56 to the RAM 35. That is, the syndrome output from the syndrome operator 56 is recorded at the parity position of the original data, so that the written syndrome is 4 bytes equal to the amount of parity removed.

따라서 상기 램(35)에 1프레임분의 32심볼이 저장되기까지는 총 32번의 라이트 과정이 수행되는 것이다. 28바이트분의 데이터와 4바이트분의 신드롬이 저장된다.Therefore, a total of 32 write processes are performed until 32 symbols for one frame are stored in the RAM 35. 28 bytes of data and 4 bytes of syndrome are stored.

다음, 도4는 도3에 도시된 신드롬 연산기(56)의 내부 구성도이다.Next, FIG. 4 is an internal configuration diagram of the syndrome calculator 56 shown in FIG.

상기 신드롬 연산기(56)는 입력되는 심볼R(x)을 가산기(64)를 통해서 레지스터(60)에 일단 저장한다. 상기 레지스터(60)에 저장된 심볼은 신드롬 값으로 출력되고, 동시에 곱셈기(62)에서 생성다항식의 근(ajr)과 곱해진다. 이때 얻어진 값 R(x)ajr은 다음 입력되는 심볼과 가산기(64)에서 더해져서 레지스터(60)에 저장되고, 그리고 신드롬 값으로 출력된다. 상기 과정은 1 프레임을 기준으로 해서 32심볼이 입력되기까지 계속 반복 수행된다.The syndrome operator 56 once stores the input symbol R (x) in the register 60 through the adder 64. The symbol stored in the register 60 is output as a syndrome value and simultaneously multiplied by the root a jr of the polynomial generated by the multiplier 62. The value R (x) a jr obtained at this time is added to the next input symbol and the adder 64, stored in the register 60, and output as a syndrome value. The process is repeated repeatedly until 32 symbols are input based on one frame.

즉, 도4에 도시된 구성은 1 프레임에 대해서 입력되는 심볼에 대하여 신드롬 값을 계속 누적 가산하는 구성이다. 그리고 도4에서는 하나의 신드롬 값을 출력하는 신드롬 연산기(56)에 대해서 도시하고 있다. 그러나 본 발명의 신드로 연산기(56)는 모두 4개의 신드롬 값을 출력하며, 그 구성은 도4와 동일하되, 단지 생성다항식의 근이 a0, a1, a2, a3인가에 따라서 구해지는 신드롬 값이 달라진다.In other words, the configuration shown in Fig. 4 is a configuration in which a syndrome value is continuously accumulated and added to a symbol input for one frame. 4 illustrates a syndrome operator 56 that outputs one syndrome value. Yet, all of Sind by operator 56 of the present invention outputs the four syndrome value, but the configuration is the same as Figure 4, only the roots of the generator polynomial a 0, a 1, a 2, a calculated according to the third applied Losing syndrome values vary.

따라서 상기 신드롬 연산기(56)는 각 프레임에 대하여 4개의 신드롬값(S0, S1, S2, S3)를 출력한다. 이때 출력되는 신드롬 값의 생성은 하기와 같은 연산식에 의해서 생성된다.Therefore, the syndrome operator 56 outputs four syndrome values S0, S1, S2, and S3 for each frame. At this time, generation of the output syndrome value is generated by the following equation.

S0 =r31+ r30+r29+ r28+ r27+.... r0 S0 = r 31 + r 30 + r 29 + r 28 + r 27 + .... r 0

S1 = r31(a)31+ r30(a)30+ r29(a)29+.... r0aS1 = r 31 (a) 31 + r 30 (a) 30 + r 29 (a) 29 + .... r 0 a

S2 = r31(a2)31+ r30(a2)30+ r29(a2)29+.... r0a2 S2 = r 31 (a 2 ) 31 + r 30 (a 2 ) 30 + r 29 (a 2 ) 29 + .... r 0 a 2

S3 = r31(a3)31+ r30(a3)30+ r29(a3)29+.... r0a3 S3 = r 31 (a 3 ) 31 + r 30 (a 3 ) 30 + r 29 (a 3 ) 29 + .... r 0 a 3

여기에서 rn은 코드 워드(code word)이고, a는 생성다항식의 근을 나타낸다.Where r n is the code word and a represents the root of the generator polynomial.

다음, 도5는 본 발명에 따른 에러정정방법을 나타내는 흐름도이다.5 is a flowchart showing an error correction method according to the present invention.

디스크로부터 재생된 데이터는 EFM 복조부(20)에서 테이터의 복조가 이루어진다(제201단계).Data reproduced from the disc is demodulated by the EFM demodulator 20 (step 201).

상기 제201단계에서 복조된 데이터R(x)는 1 프레임 분량(32 심볼)이 레지스터(50)에 저장된다. 그 후, 신드롬연산기(56)는 멀티플렉서(52)를 통해서 1심볼씩 번갈아가면서 현재 입력된 심볼R(x)과 상기 레지스터(50)의 출력을 읽어들인 후, 신드롬 연산이 이루어진다(제203단계).The data R (x) demodulated in step 201 stores one frame (32 symbols) in the register 50. Thereafter, the syndrome operator 56 reads the currently input symbol R (x) and the output of the register 50 alternately by one symbol through the multiplexer 52, and then a syndrome operation is performed (step 203). .

이때 심볼생성기(58)는 상기 제203단계에서 연산된 신드롬Sj과, 입력되는 심볼R(x)에서 패리티 값을 뺀 데이터d(x) 값으로 새로운 심볼R"(x)을 형성시킨다. 이렇게 해서 새롭게 구성된 심볼 R"(x)=d(x)Xn-k+Sj이 된다.At this time, the symbol generator 58 forms a new symbol R "(x) with the syndrome Sj calculated in step 203 and the data d (x) value obtained by subtracting the parity value from the input symbol R (x). The newly constructed symbol R "(x) = d (x) X nk + Sj.

이와 같이 구성되는 심볼 R"(x)은 램(35)에 저장된다. 따라서 상기 램(35)에 데이터의 쓰기 동작은 1심볼 단위로 이루어지므로, 1 프레임이 저장되기까지는 모두 32번의 램 엑세스가 이루어진다. 다시 말해서 데이터 28 바이트분과, 신드롬 4바이트 분이 저장되는 것이다(제 205단계).The symbol R ″ (x) configured as described above is stored in the RAM 35. Therefore, since the data write operation is performed in the unit of the symbol 35, 32 RAM accesses are performed until one frame is stored. In other words, 28 bytes of data and 4 bytes of syndrome are stored (step 205).

이러한 과정으로 램에 저장된 32심볼은 C1 에러정정이 이루어지기 위해서 다시 램으로부터 읽혀지는데, 이때 읽혀지는 데이터는 4바이트 분의 신드롬 데이터이다(제207단계). 상기 램으로부터의 데이터 리딩은 심볼단위로 이루어진다. 따라서 상기 제207단계에서 4바이트분의 신드롬이 램으로부터 읽어내기 위해서는 모두 4번의 램 엑세스가 필요하게 된다.In this process, 32 symbols stored in the RAM are read back from the RAM to perform C1 error correction. At this time, the read data is 4 bytes of syndrome data (step 207). Data reading from the RAM is performed in symbol units. Therefore, in step 207, all four RAM accesses are required for the four-byte syndrome to read from the RAM.

상기 제207단계인 C1 에러정정을 위한 신드롬 데이터 리드는 생략될 수가 있다. 이것은 상기 제203단계에 의한 신드롬 연산이 이루어질 때, 에러정정까지 한 다음에 신드롬을 저장할 수 있기 때문이다.In step 207, the syndrome data read for C1 error correction may be omitted. This is because, when the syndrome operation according to step 203 is performed, the syndrome can be stored after error correction.

그리고 신드롬 값을 이용한 C1계의 디코딩이 이루어진다(제209단계). C1의 디코딩과정에서는 모드 2워드의 에러가 정정 가능하다. 따라서 상기 C1 디코딩과정에서 2개의 에러가 검출되었다면, 에러가 발생된 위치의 C1계 데이터를 2번의 리딩과정을 통해서 읽어오고, 그 에러값을 정정하여 에러가 발생된 위치에 다시 쓰는 작업이 2번의 과정을 통해서 이루어진다. 따라서 상기 C1의 디코딩과정에서는 총 4번의 램 엑세스과정이 필요하다.Then, decoding of the C1 system using the syndrome value is performed (step 209). In the decoding process of C1, an error of mode 2 words can be corrected. Therefore, if two errors are detected in the C1 decoding process, the C1 data of the position where the error occurred is read through two reading processes, and the operation of correcting the error value and rewriting the error at the position where the error occurred is performed twice. It is through the process. Therefore, a total of four RAM accesses are required in the decoding process of C1.

상기 제209단계에서 C1계의 디코딩이 이루어진 후 에러가 있을 경우, 그 에러 위치에 해당하는 신드롬 값의 정정이 필요하다. 따라서 제209단계에서는 검출된 에러 위치에 해당하는 신드롬 값의 정정이 4번의 램 엑세스 과정을 통해서 이루어진다.If there is an error after the decoding of the C1 system is performed in step 209, it is necessary to correct the syndrome value corresponding to the error position. Therefore, in step 209, correction of the syndrome value corresponding to the detected error position is performed through four RAM access processes.

상기 제209단계까지의 수행에 의해서 C1 디코딩 후, 램에는 C1 디코딩과정에서 검출된 2에러까지의 정정된 데이터가 저장되어 있다. 이와 같이 C1의 디코딩이 수행된 데이터를 C2 디코딩을 수행하기 위하여 C2계의 데이터 28 심볼을 램으로부터 읽어온다(제211단계). 따라서 상기 제211단계에서는 모두 28번의 램 엑세스가 필요하다.After C1 decoding by performing step 209, the RAM stores corrected data up to two errors detected in the C1 decoding process. As described above, in order to perform C2 decoding on the data on which the decoding of C1 is performed, 28 symbols of data of the C2 system are read from the RAM (step 211). Therefore, in step 211, all RAM accesses are required 28 times.

상기 제211단계에서 읽혀진 C2계의 28 심볼은 제213단계에서 C2계의 디코딩이 이루어진다. 상기 C2계의 디코딩은 이미 C1계에 의한 디코딩이 이루어진 데이터를 다시 디코딩하는 과정으로, 이때 상기 C1계의 디코딩 과정에서 검출된 에러 플래그를 참조해서 디코딩이 이루어진다. 그래서 상기 C2 디코딩과정에서는 4 워드까지의 에러정정이 가능하다.28 symbols of the C2 system read in step 211 are decoded by the C2 system in step 213. The decoding of the C2 system is a process of decoding the data which has already been decoded by the C1 system again. In this case, the decoding is performed by referring to the error flag detected in the decoding process of the C1 system. Thus, in the C2 decoding process, error correction of up to 4 words is possible.

만약 상기 C2의 디코딩과정에서 4워드의 에러가 검출되었다면, 에러가 발생된 위치의 에러값을 제거하기 위해서 램으로부터 불러오는 과정이 4번에 걸쳐서 수행되고, 마찬가지로 정정된 에러값을 에러가 발생된 위치에 써 넣는 작업이 4번에 걸쳐서 이루어진다. 따라서 상기 제213단계에 의한 C2의 디코딩과정에서는 최대 8번의 램 엑세스 작업이 수행된다.If an error of 4 words is detected in the decoding process of C2, the process of loading from RAM is performed four times to remove the error value of the position where the error occurred, and similarly, the corrected error value is the position where the error occurred. It is written four times. Therefore, up to eight RAM access operations are performed in the decoding process of C2 in step 213.

만약, C2의 디코딩과정에서 에러가 없을 경우에는 데이터값의 변화가 없기 때문에, 신드롬 값의 수정도 필요가 없다. 그러나 에러가 발생되었을때(최대 4 심볼)각 에러가 발생한 프레임의 신드롬 값을 수정해야 한다. 따라서 C1 데이터의 K번째 에러를 수정하였을 경우, 그 프레임에 해당하는 신드롬을 다시 산출해야 한다.If there is no error in the decoding process of C2, since there is no change in the data value, there is no need to modify the syndrome value. However, when an error occurs (up to 4 symbols), the syndrome value of the frame where each error occurs must be corrected. Therefore, when the K-th error of the C1 data is corrected, the syndrome corresponding to the frame must be calculated again.

이때 신드롬 정정은 다음과 같이 이루어진다.Syndrome correction is performed as follows.

R'(x) = R(x) + ekxk, R(x) : C2 에러정정 전의 데이터이고R '(x) = R (x) + e k x k , R (x): data before C2 error correction

R'(x) : C2 에러정정 후의 데이터이다.R '(x): Data after C2 error correction.

Sj = R(aj)이므로, Sj' = R(aj) + ekajk,Since Sj = R (a j ), Sj '= R (a j ) + e k a jk ,

Sj : C2 에러정정 전의 C1 신드롬이고,Sj: C1 syndrome before C2 error correction,

Sj' : C2 에러정정 후의 C1 신드롬이다.Sj ': C1 syndrome after C2 error correction.

이와 같이 산출하는 상기 C2 에러정정 후의 신드롬 연산을 위한 구성을 도6에 도시하였다.Fig. 6 shows a configuration for the syndrome calculation after the C2 error correction calculated as described above.

신드롬 연산기는 C2 에러정정 전의 C1 신드롬을 입력하고, 레지스터(72)와 곱셈기(74)에 의해 구해진 생성다항식의 근을 곱셈기(76)에서 에러값에 곱하고, 이렇게 해서 새로 계산된 신드롬을 가산기(78)를 통해서 C2 에러정정 후에 C1 데이터의 신드롬 자리에 써 넣는다. 마찬가지로 상기 C2 에러 정정 후의 신드롬 연산을 위한 구성도, 동일한 구성으로 4개가 구성되어서 각 생성다항식의 근에 따른 새로운 신드롬값을 구해낸다.The syndrome operator inputs the C1 syndrome before the C2 error correction, multiplies the root of the generated polynomial obtained by the register 72 and the multiplier 74 by the error value in the multiplier 76, and adds the newly calculated syndrome to the adder 78 ), And correct the C2 error, then write the C1 data into the syndrome. Similarly, four configurations for the syndrome calculation after the C2 error correction are configured with the same configuration to obtain a new syndrome value according to the root of each generated polynomial.

이와 같은 구성으로 각 생성다항식의 근에 따른 4개의 신드롬(S0', S1', S2', S3')을 구하면,With this configuration, four syndromes (S0 ', S1', S2 ', S3') based on the root of each generated polynomial are obtained.

S0' = S0 + ek S0 '= S0 + e k

S1' = S1 + ekak S1 '= S1 + e k a k

S2' = S2 + ek7a2k S2 '= S2 + e k7 a 2k

S3' = S3 + eka3k(CD의 경우)이 된다.S3 '= S3 + e k a 3k (for CD).

한편, C2의 에러정정 과정에서는 검출된 각 에러에 대해서 4개의 신드롬값이 구해진다. 따라서 검출된 에러가 최대 4개일 경우, 신드롬 값은 16개가 수정되야하고, 따라서 16번의 램 엑세스 과정이 수행된다. 그리고 수정되는 신드롬 값은 C2 정정 후에 C1 데이터의 신드롬 위치에 저장된다.On the other hand, in the error correction process of C2, four syndrome values are obtained for each detected error. Therefore, when the maximum number of detected errors is four, 16 syndrome values should be corrected, and thus 16 RAM access procedures are performed. The modified syndrome value is stored in the syndrome position of the C1 data after the C2 correction.

여기까지의 과정이 수행되어서 C1, C2의 에러정정의 한번씩 이루어졌고, 두번째 C1 에러정정에서는 첫 번째 C1의 디코딩과 C2 디코딩에 의해서 만들어진 에러 플래그를 이용하여 이레이져(Eraure) 정정이 가능하기 때문에 최대 4심볼까지 에러정정이 가능하다.Up to this point, the error correction of C1 and C2 was performed once, and in the second C1 error correction, since the erasure correction is possible by using the error flag generated by the decoding of the first C1 and the C2 decoding, the maximum Error correction is possible up to 4 symbols.

따라서, 다시 C1의 에러정정을 수행하기, C1 신드롬을 램(35)으로부터 읽어온다. 이때, 읽어오는 데이터는 4심볼의 C1 신드롬이므로, 모두 4번의 램 엑세스가 이루어진다(제215단계).Thus, to perform C1 error correction again, the C1 syndrome is read from the RAM 35. At this time, since the read data is a C1 syndrome of four symbols, all four RAM accesses are performed (step 215).

그리고 상기 C1 신드롬을 이용한 에러정정이 이루어진다(제217단계). 이때의 에러정정에서는 최대 4심볼까지의 에러정정이 이루어지므로, 검출된 에러가 4개라면, 4번의 리드와 4번의 쓰기 동작이 이루어져서 최대 8번의 램 엑세스가 필요하다. 즉, 상기 제217단계에서는 첫 번째 C1의 디코딩과 C2 디코딩에 의해서 만들어진 에러 플래그를 이용하여 이레이져(Eraure) 정정이 가능하기 때문에 최대 4심볼까지 에러정정이 이루어진다.Error correction using the C1 syndrome is performed (step 217). At this time, error correction is performed up to 4 symbols. Therefore, if there are 4 detected errors, 4 reads and 4 write operations are performed and up to 8 RAM accesses are required. That is, in operation 217, since error correction is possible using error flags generated by the decoding of the first C1 and the decoding of C2, error correction is performed up to 4 symbols.

이상의 과정으로 C1→C2→C1에 따른 에러정정이 행해진 데이터는 램에 저장되고, 이후 패리티 심볼을 뺀 24심볼이 다시 램으로부터 읽혀져서 디지털신호처리를 위한 블록으로 출력된다(제219단계).The error correction data according to C1? C2? C1 is stored in the RAM. After that, the 24 symbols minus parity symbols are read from the RAM and output as a block for digital signal processing (step 219).

표3은 본 발명에서 제안하는 에러정정시에 램 엑세스 타이밍에 도시하고 있다. 그리고 상기 제203단계에 의한 신드롬 연산이 이루어질 때, 에러정정까지 한 다음에 신드롬을 저장했을 경우, 상기 제207단계인 4회에 걸친 신드롬 데이터리드 과정은 표3에서 생략될 것이다.Table 3 shows the RAM access timing in error correction proposed by the present invention. When the syndrome operation according to step 203 is performed, if the syndrome is stored after error correction, the four syndrome data reading processes of step 207 may be omitted.

즉, 본 발명의 에러정정과정에서는 C1→C2→C1과정에 의한 C1 에러정정을 한번 더 수행하였지만, 모두해서 132번의 램 엑세스만이 수행되므로, 종래 큰 문제점으로 제시되었던 램 엑세스 타임을 줄일 수 있었다. 따라서 CD, DVD의 경우 램 엑세스 시간을 단축시키면서, 배속을 높이면서 에러정정능력을 훨씬 더 증가시킬 수 있다.That is, in the error correction process of the present invention, the C1 error correction by C1 → C2 → C1 process is performed once more, but since only 132 RAM accesses are performed in all, it was possible to reduce the RAM access time, which has been presented as a big problem in the prior art. . Therefore, in case of CD and DVD, the RAM access time can be shortened, and the error correction capability can be further increased while increasing the speed.

이상 설명한 바와 같이 본 발명에 따른 에러정정방법은 에러정정을 3번에 걸쳐서 반복 수행하므로써 에러정정 능력을 향상시켜 오정정의 확률을 획기적으로 감소시켰다. 특히, 램 엑세스 타임이 단축되므로써, 고배속 재생에서 요구하는 램 엑세스 타임 조절이 가능하다.As described above, the error correction method according to the present invention improves error correction capability by repeatedly performing error correction three times, thereby dramatically reducing the probability of false correction. In particular, by shortening the ram access time, it is possible to adjust the ram access time required for high-speed playback.

또한, 본 발명의 설명상에서는 CD의 경우를 예를 들어서 설명하고 있지만, DVD에서도 본 발명에서와 같이 1차 에러정정시에 구해진 신드롬값을 저장하고, 반복된 방식으로의 에러정정시에 1차 에러정정시에 저장된 신드롬값을 리딩하여, 이를 이용한 에러정정을 수행할 수 있다.In the description of the present invention, the case of CD is described as an example. However, the DVD also stores the syndrome value obtained at the first error correction as in the present invention, and at the time of the first error correction at the time of error correction in a repeated manner. By reading the stored syndrome value, error correction using the same can be performed.

[표 1] TABLE 1

[표 2] TABLE 2

[표 3] TABLE 3

Claims (4)

복조된 데이터를 신드롬 연산하는 단계와; 주데이터와 신드롬 값으로 프레임을 구성하여 저장하는 단계와; 상기 신드롬 값에 의해서 제1방식으로 에러정정하고, 동시에 신드롬을 정정하는 단계와; 제1방식으로 에러정정된 데이터를 제2방식으로 에러정정하고, 동시에 신드롬을 정정하는 단계와; 제2방식에 의해서 정정된 신드롬을 이용하여 다시 제1방식의 에러정정을 반복 수행하는 단계를 포함하여 이루어진 에러정정방법.Synthesizing the demodulated data; Constructing and storing a frame with main data and syndrome values; Error correcting in a first manner based on the syndrome value and simultaneously correcting the syndrome; Error correcting the data corrected in the first manner in a second manner and simultaneously correcting the syndromes; And repeating the error correction of the first method again using the syndrome corrected by the second method. 제1항에 있어서, 상기 신드롬 값은 패리티 영역에 저장되는 것을 특징으로 하는 에러정정방법.The error correcting method of claim 1, wherein the syndrome value is stored in a parity region. 제2항에 있어서, 상기 신드롬값은 4 심볼로 이루어지는 것을 특징으로 하는 에러정정방법.The error correction method of claim 2, wherein the syndrome value is composed of 4 symbols. 제3항에 있어서, 상기 제1방식은 C1에 의한 디코딩이고, 상기 제2방식은 C2에 의한 디코딩인 것을 특징으로 하는 에러정정방법.4. The method of claim 3, wherein the first scheme is decoding by C1 and the second scheme is decoding by C2.
KR1019970068011A 1997-12-12 1997-12-12 Error correction method KR19990049147A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970068011A KR19990049147A (en) 1997-12-12 1997-12-12 Error correction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970068011A KR19990049147A (en) 1997-12-12 1997-12-12 Error correction method

Publications (1)

Publication Number Publication Date
KR19990049147A true KR19990049147A (en) 1999-07-05

Family

ID=66088481

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970068011A KR19990049147A (en) 1997-12-12 1997-12-12 Error correction method

Country Status (1)

Country Link
KR (1) KR19990049147A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100467270B1 (en) * 2002-03-12 2005-01-24 엘지전자 주식회사 Apparatus and method for correcting error
KR100509137B1 (en) * 2001-03-22 2005-08-23 산요덴키가부시키가이샤 Error correction device
KR100589814B1 (en) * 1999-12-09 2006-06-14 엘지전자 주식회사 Method for correcting errors of digital data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100589814B1 (en) * 1999-12-09 2006-06-14 엘지전자 주식회사 Method for correcting errors of digital data
KR100509137B1 (en) * 2001-03-22 2005-08-23 산요덴키가부시키가이샤 Error correction device
KR100467270B1 (en) * 2002-03-12 2005-01-24 엘지전자 주식회사 Apparatus and method for correcting error

Similar Documents

Publication Publication Date Title
KR920000164B1 (en) Method and apparatus for error correction
KR100480183B1 (en) A method for recording (transmitting) / reproducing (receiving) data and an apparatus therefor, and a data recording medium
KR100265769B1 (en) Error correction device in an optical disc system and error correction method therefor
JP2920065B2 (en) Data recording method, recording apparatus, reproducing apparatus and reproducing method
KR100384087B1 (en) Digital signal encoding method and apparatus, digital signal recording medium and digital signal decoding method and apparatus
EP0563922B1 (en) Data processing circuit for disc player
RU2158970C2 (en) Method for digital signal encoding and device which implements said method, carrier for digital signal recording, method for digital signal decoding and device which implements said method
KR100416057B1 (en) Interleaving method for short burst error correction control in the high density DVD
JPH0471367B2 (en)
EP1359583A2 (en) Recording medium suitable for recording/reproducing multi-level data
US4491882A (en) Disc players
JP2557340B2 (en) Control method of memory for deinterleave processing in digital reproducing apparatus
KR19990049147A (en) Error correction method
JPH11297000A (en) Data generating method and data generating device
JP3462031B2 (en) Disc playback device
KR100691065B1 (en) Method and apparatus for generating error correction codes for data recorded on high density optical medium and correcting error using the codes
US7334180B2 (en) Optical encoding method
JPS6314428B2 (en)
JP3653315B2 (en) Error correction method and error correction apparatus
KR100606521B1 (en) Method and apparatus for generating error correction codes for data recorded on high density optical medium
KR100207616B1 (en) Method and circuit for the processing of error flags
KR100257622B1 (en) Data demodulation method
KR100785610B1 (en) High speed encoder of reed-solomon product coder
JPS63298776A (en) Error correction processing system
JPH06124548A (en) Data reproduction device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application