KR19990049147A - 에러정정방법 - Google Patents
에러정정방법 Download PDFInfo
- 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
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
본 발명은 데이터의 에러정정방법에 관한 것으로, 더욱 상세하게는 디스크로부터 잘못 재생된 재생데이터를 원래의 데이터로 정정하기 위한 에러정정방법에 관한 것이다.
본 발명의 에러정정방법은, 복조된 데이터를 신드롬 연산하는 단계와; 주데이터와 신드롬값으로 프레임을 구성하여 저장하는 단계와; 상기 신드롬값에 의해 제1방식으로 에러정정하고, 동시에 신드롬을 정정하는 단계와; 제1방식으로 에러정정된 데이터를 제2방식으로 에러정정하고, 동시에 신드롬을 정정하는 단계와; 제2방식에 의해서 정정된 신드롬을 이용하여 다시 제1방식의 에러정정을 반복 수행하는 단계를 포함하여 이루어진 것을 특징으로 한다.
Description
본 발명은 데이터의 에러정정방법에 관한 것으로, 더욱 상세하게는 디스크로부터 잘못 읽혀진 데이터를 원래의 데이터로 정정하기 위한 에러정정방법에 관한 것이다.
디지털신호는 1과 0의 두 가지 정보, 구체적으로는 전압이 있는가(HIGH) 또는 없는가(LOW) 하는 2진수의 조합으로 데이터를 전송, 기록한다. 따라서 전송시스템과 기록시스템에 왜곡이나 잡음이 존재한다고 해도 1 또는 0을 바르게 판별할 수 있는 상태가 확보되는 한, 신호의 열화는 절대 없다. 이처럼 디지털신호는 아나로그신호에 비해서 신뢰성이 높다.
그러나 2진수로 부호화된 순수한 디지털신호, 그 자체는 융통성이 전혀 없어서, 만약 수 많은 비트 중에서 하나의 1이 0으로, 0이 1로 뒤바뀌면 원래의 정보 내용이 완전히 달라져서 큰 왜곡이나 잡음을 유발할 수 있다. 심지어 에러발생 정도가 심한 경우에는 정보의 내용을 전혀 해석할 수 없는 경우도 발생한다.
따라서 디지털신호를 이용한 기록매체 및 그 기록매체를 재생하기 위한 시스템에서 제품의 품질은 에러가 얼마나 많이 발생하는가에 따라서 좌우된다고 해도 과언이 아니다.
이러한 디지털신호를 기록하고 있는 컴팩트 디스크(Compact Disc ; 이하 CD라고 함)는 리드-솔로몬 코드와 인터리브 기법을 조합시킨 매우 강력한 에러정정방법인 CIRC(Cross Interleaved Reed-Solomon Code)에 의해서 재생데이터의 에러정정을 수행하고 있다.
상기 CIRC는 에러정정 능력이 매우 강력해서 CD를 비롯한 디지털 오디오기기에서 폭넓게 응용되고 있다. 더군다나 CD에 직접적으로 사용되고 있는 CIRC는 C1, C2라 불리우는 2단 CIRC 처리로, 만약 CD표면에 20㎜의 흠집이 발생해서 이 사이의 데이터를 전혀 읽어낼 수 없는 경우에도, 원래의 음을 완전히 재현할 수 있는 강력한 에러정정능력을 가지고 있다.
CIRC에 이용되는 리드 솔로몬 부호는 데이터의 최소단위를 1비트가 아닌 8비트를 기본단위로 하고 있다. 상기 8비트 단위의 심볼을 코드 워드(code word)라고 한다. 따라서 CIRC의 C1 부호에는 데이터가 28심볼, 정정용 패리티가 4심볼, 모두해서 32 심볼을 갖는다. 그리고 CIRC C2 부호에서는 데이터가 24 심볼, 정정용 패리티가 4심볼, 모두해서 28심볼을 갖는다.
CIRC 에러정정은 C1, C2의 크로스 인터리브와 각각의 계열에 대해서 독립적으로 정정부호를 가하고 있다. 따라서 각각 2워드의 에러정정이 독립적으로 가능하다. 특히, C2의 에러정정은 C1에서 검출된 에러 플래그를 이용한 디코딩이 이루어지므로, 총 4워드까지의 에러정정이 가능하게 된다. 만약, C2의 에러정정 후, 다시 C1의 에러정정을 반복할 경우에는 C1, C2의 에러정정에서 검출된 에러 플래그에 의해서 4개의 에러정정이 가능하다.
이와 같이 C1→C2→C1 과정에 의해서 디코딩을 하게 되면, 이전 디코딩에서 검출된 에러 플레그를 이용한 디코딩이 이루어지므로 에러정정의 정확도가 매우 높게 된다. 그러나 C1→C2→C1 과정을 수행하기까지에는 램 엑세스 시간이 필요 이상 소요되고, 그렇기 때문에 C1→C2과정에서 대부분의 CD는 에러정정과정을 종료한다.
다음은 종래 CD에서의 에러정정방법에 대해서 상세하게 설명한다.
도1은 종래 컴팩트 디스크에서 사용되는 에러정정방법에 따른 동작을 나타내는 흐름도이다. 이 흐름도에서 C1→C2→C1 과정에 따른 CIRC 에러정정과정을 도시하고 있다.
디스크로부터 읽혀진 데이터는 동기 검출 후, EFM 복조가 이루어진다. 상기 EFM 복조된 데이터는 프레임 단위로 램에 저장된다. 이때 데이터의 저장은 1심볼 단위로 이루어지기 때문에 총 32번의 데이터 쓰기과정이 이루어진다.
이러한 과정으로 램에 저장된 32심볼은 C1 에러정정이 이루어지기 위해서 다시 램으로부터 읽혀지는데, 이때 읽혀지는 데이터는 1 프레임에 대한 C1계의 데이터이다(제101단계). 상기 램으로부터의 데이터 리딩은 심볼단위로 이루어진다. 따라서 상기 제101단계에서 데이터 28심볼과 패리티 4심볼을 포함한 32심볼을 모두 램으로부터 읽어내기 위해서는 모두 32번의 램 엑세스가 필요하게 된다.
그리고 C1계의 디코딩이 이루어진다(제103단계). C1의 디코딩과정에서는 모두 2워드의 에러가 정정 가능하다. 따라서 상기 C1 디코딩과정에서 2개의 에러가 검출되었다면, 에러가 발생된 위치의 C1계 데이터를 2번의 리딩과정을 통해서 읽어오고, 그 에러값을 정정하여 에러가 발생된 위치에 다시 쓰는 작업이 2번의 과정을 통해서 이루어진다. 따라서 상기 C1의 디코딩과정에서는 총 4번의 램 엑세스과정이 필요하다. 상기 제103단계의 C1 디코딩 후, 램에 저장된 데이터는 C1의 패리티 데이터인 4심볼을 포함한 상태가 된다. 만약 상기 C1 디코딩과정에서 1개의 에러가 검출되었다면, C1 디코딩과정에서는 1번의 리딩과 1번의 쓰기작업이 이루어질 것이다.
상기 제103단계의 수행에 의해서 C1 디코딩 후, 램에는 C1 디코딩과정에서 검출된 2에러까지의 정정된 데이터가 저장되어 있다. 이와 같이 C1의 디코딩이 수행된 데이터를 C2 디코딩을 수행하기 위하여 C2계의 데이터 28심볼을 램으로부터 읽어온다(제105단계). 따라서 상기 제105단계에서는 모두 28번의 램 엑세스가 필요하다.
상기 제105단계에서 읽혀진 C2계의 28심볼은 제107단계에서 C2계의 디코딩이 이루어진다. 상기 C2계의 디코딩은 이미 C1계에 의한 디코딩이 이루어진 데이터를 다시 디코딩하는 과정으로, 이때 상기 C1계의 디코딩 과정에서 검출된 에러 플래그를 참조해서 디코딩이 이루어진다. 그래서 상기 C2 디코딩과정에서는 4워드까지의 에러정정이 가능하다.
만약 상기 C2의 디코딩과정에서 4워드의 에러가 검출되었다면, 에러가 발생된 위치의 에러값을 제거하기 위해서 램으로부터 불러오는 과정이 4번에 걸쳐서 수행되고, 마찬가지로 정정된 에러값을 에러가 발생된 위치에 써 넣는 작업이 4번에 걸쳐서 이루어진다. 따라서 상기 제107단계에 의한 C2의 디코딩과정에서는 최대 8번의 램 엑세스 작업이 수행된다.
이상의 과정에 의한 C1, C2의 디코딩은 C1, C2의 크로스인터리브와 각각의 계열에 대해서 독립적으로 정정부호를 가하고 있기 때문에, C1 디코딩에서 2워드, C2 디코딩에서 4워드의 에러정정이 가능하다.
이상의 과정으로 C1→C2과정에 의한 ECC는 종료되었다. 그러나 C1→C2과정후, 다시 한번 더 C1의 에러정정을 수행하는 경우인 C1→C2→C1과정에 의한 ECC에서는 C1에 의한 에러정정과정이 더 수행된다.
즉, 제109단계에서는 램으로부터 C1계의 32심볼 데이터를 읽어온다(제109단계). 이때 읽어오는 데이터는 패리티 데이터인 4심볼을 포함하고 있다. 따라서 상기 제109단계에서도 모두 32번의 램 엑세스가 필요하게 된다. 그리고 읽어온 32심볼을 C1 디코딩하면서 최대 4번의 램 엑세스가 수행된다. (제111단계).
이상의 과정으로 C1→C2→C1에 따른 에러정정이 행해진 데이터는 램에 저장되고, 이후 패리티 심볼을 뺀 24심볼이 다시 램으로부터 읽혀져서 디지털신호처리를 위한 블록으로 출력된다(제113단계).
이상의 과정으로 수행되는 종래의 에러정정과정은 C1→C2과정에 의한 ECC에서는 최대 128번의 램 엑세스가 수행되고, C1→C2→C1과정에 의한 ECC에서는 최대 164회의 램 엑세스가 수행된다. 상기 C1→C2과정에서 수행되는 램 엑세스 타임을 첨부된 도면 표1에 도시하고 있고, C1→C2→C1과정에 의한 램 엑세스 타임을 첨부된 도면 표2에 도시하고 있다.
그러나, CD, DVD에서와 같이 점차 재생배속을 높이고 있는 디스크 재생장치에서는 디지털신호처리에서 가장 문제되는 부분이 램 엑세스 타임이다. 그래서 C1→C2→C1과정에 의한 강력한 ECC를 수행하고 싶어도 램 엑세스 타임으로 인한 문제가 발생되기 때문에, 지금까지 대부분의 CD ECC는 C1→C2과정으로 종료되었다.
이러한 점은 꼭 CD의 경우에 한정되는 것은 아니다. 예를 들어서 디지털 비디오 디스크의 경우에 있어서도 PI 디코딩 후에 PO 디코딩을 수행하고 있다. 따라서 더 뛰어난 에러정정을 위해서는 PI 디코딩을 반복 수행하면 좋지만, ECC과정에 의한 정해진 램 엑세스 타임으로는 이를 해결할 수 없었기 때문에, 반복된 에러정정을 수행할 수 없었다.
따라서 본 발명의 목적은 디코딩과정의 반복에 의한 보다 정확한 에러정정방법을 제공함에 있다.
본 발명의 다른 목적은 에러정정과정에서 소요되는 램 엑세스 타임을 최소화할 수 있는 에러정정방법을 제공함에 있다.
도1은 종래 컴팩트 디스크에서 사용되는 에러정정방법에 따른 동작을 나타내는 흐름도, 도2는 일반적인 컴팩트 디스크 재생장치를 도시하는 블록도, 도3은 본 발명에 따른 CIRC 디코더(25)의 상세 구성도, 도4는 도3에 도시된 신드롬 연산기(56)의 내부 구성도, 도5는 본 발명에 따른 에러정정과정에 따른 동작 흐름도, 도6은 본 발명에서 C2 에러 정정 후의 신드롬 연산을 위한 신드롬 연산기의 내부 구성도, 표1은 종래 C1→C2과정에서 수행되는 램 엑세스 시간, 표2는 종래 C1→C2→C1과정에 의한 램 엑세스 시간.
상기 목적을 달성하기 위한 본 발명에 따른 에러정정방법은, 복조된 데이터를 신드롬 연산하는 단계와; 주데이터와 신드롬값으로 프레임을 구성하여 저장하는 단계와; 상기 신드롬값에 의해서 제1방식으로 에러정정하고, 동시에 신드롬을 정정하는 단계와; 제1방식으로 에러정정된 데이터를 제2방식으로 에러정정하고, 동시에 신드롬을 정정하는 단계와; 제2방식에 의해서 정정된 신드롬을 이용하여 다시 제1방식의 에러정정을 반복 수행하는 단계를 포함하여 구성된다.
본 발명의 에러정정방법은 C1→C2→C1 방식으로 앞의 디코딩과정에서 검출된 포인트를 기준으로해서 에러정정을 반복 수행하는 것을 특징으로 한다.
본 발명의 에러정정방법에서 C1 디코딩은 신드롬 값을 이용하는 것을 특징으로 한다.
즉, 본 발명의 에러정정방법은 램 엑세스 타임을 줄이면서 C1 에러정정을 한번 더 수행하므로써 에러정정 능력을 향상시킬 수 있는 효과를 가져온다.
이하 첨부한 도면을 참조해서 본 발명에 따른 에러정정방법을 상세하게 설명한다.
도2는 일반적인 컴팩트 디스크 재생장치를 도시하는 블록도이다.
디스크 재생동작은 우선, 광픽업장치(5)를 이용하여 디스크(40)로부터 데이터를 읽어내고, 이 읽어낸 데이터가 고주파 증폭부(10)로 입력되어서 다음단에서 충분히 신호처리할 수 있을 만큼의 레벨로 증폭하고, 그 파형을 정형한 후에 디지털신호처리부(45)로 출력한다. 따라서 상기 고주파 증폭부(10)에서 출력하는 EFM 신호는 인접신호의 간섭이나 일그러짐이 크게 개선되어 출력된다.
데이터 스트로브(15)는 상기 고주파 증폭부(10)에서 출력되는 EFM 신호에서 동기 클럭을 정확하게 재생하여, 지터나 에러의 영향없이 디지털신호를 아날로그신호로 복조한다. 통상 상기 고주파 증폭부(10)의 EFM 출력은 디스크의 편심, 회전속 변화 등에 의해서 시간축 에러가 많이 포함되어 있다. 이 신호를 기준으로 정확한 동기펄스를 재생하고 에러펄스를 제거하기 위하여 일반적으로 PLL회로를 사용한다.
EFM 복조부(20)는 14비트로 채널 코딩된 EFM 신호를 원래의 8비트 데이터로 변환시키기 위한 구성이다. 직렬 EFM 신호는 컨버터에서 병렬로 변환되어 14비트마다 래치된다. 14비트 단위의 EFM 신호는 256개의 데이터 패턴과 서브코드의 선두를 나타내는 두 개의 서브코드용 동기패턴을 합해서 모두 258개의 패턴으로 복조된다.
CIRC 디코더(25)는 동기 재생 후, 14 비트 단위의 EFM 신호가 8비트의 데이터 열로 변환된 데이터를 입력한다. 상기 CIRC 디코더(25)는 일단 입력한 데이터를 램(35)에 저장한 다음 디인터리브와 지터 흡수를 동시에 실행한다.
즉, 8비트 단위로 구성된 심벌 데이터는 디스크가 크게 손상되었을 때, 발생하는 버스트에러를 랜덤에러화하기 위해서 기록시에 프레임 단위로 분산(인터리브)해서 기록된다. 따라서 디인터리브는 에러정정회로에 데이터를 입력시킬 때, 인터리브된 데이터를 원래의 배열로 되돌리는 작업으로서, 통상 디인터리브 램이라고 부리는 외부 램을 사용하여 써넣기 어드레스와 읽어내기 어드레스를 제어한다.
도3은 본 발명에 따른 CIRC 디코더(25)의 상세 구성도이다. 즉, 도3은 본 발명에서 요구하는 신드롬값에 따른 C1 에러정정을 수행하기 위해서 신드롬값을 연산하고, 그 연산된 신드롬을 심볼을 포함시켜서 램(35)에 저장시키는 구성을 나타낸다.
본 발명의 CIRC 디코더(25)는 EFM 복조부(20)에서 출력되는 심볼을 입력하고, 1 프레임분의 심볼을 저장하는 레지스터(50)와, 상기 레지스터(50)에서 출력되는 심볼 또는 현재 입력되는 심볼R(x)을 번갈아가면서 출력하는 멀티플렉서(52)와, 상기 멀티플렉서(52)의 출력을 입력하고 신드롬을 연산하는 신드롬 연산기(56)와 그리고 상기 멀티플렉서(52)의 출력을 입력하고 패리티가 제거된 데이터만을 출력하는 패리티 제거부(54)를 포함한다.
그리고 본 발명의 CIRC 디코더(25)는 상기 패리티 제거부(54)에서 출력하는 데이터에 상기 신드롬 연산기(56)에서 출력하는 신드롬값을 포함하여 새로운 심볼을 구성시키는 심볼생성기(58)를 포함하며, 상기 심볼생성기(58)에서 신드롬을 포함해서 이루어진 심볼은 램(35)에 저장되도록 구성된다.
다음은 상기 구성에 의한 복조된 데이터의 신드롬값을 연산하는 과정에 대해서 설명한다.
EFM 복조부(20)에서 복조된 심볼R(x)을 입력하여 1 프레임 분의 데이터가 레지스터(50)에 저장된다. 그 후, 신드롬 연산기(56)는 멀티플렉서(52)를 통해서 현재 입력되는 심볼과 레지스터(50)에서 출력하는 심볼을 번갈아가면서 읽어들인 후, 입력된 심볼R'(x)의 신드롬 연산을 하게 된다.
한편, 패리티 제거부(54)는 입력되는 심볼R'(x)에서 패리티 값을 뺀 데이터 D(x)값을 출력한다. 상기 패리티 제거부(54)에서 제거되는 패리티는 모두해서 4바이드 분, 4심볼이다.
이렇게 해서 상기 신드롬 연산기(56)에서 생성된 신드롬(Sj)과, 입력되는 심볼R'(x)에서 패리티 값을 뺀 데이터D(x)는 심볼생성기(58)에 입력된다. 상기 심볼생성기(58)는 상기 패리티 제거부(54)에서 출력되는 데이터D(x)와 신드롬연산기(56)에서 출력하는 신드롬 값으로 하나의 심볼R"(x)을 형성시켜서 램(35)으로 출력한다. 즉, 상기 신드롬 연산기(56)에서 출력되는 신드롬은 원 데이터의 패리티 위치에 기록된다. 따라서 상기 라이트되는 신드롬은 제거된 패리티의 양과 같은 4바이트 분이 된다.
따라서 상기 램(35)에 1프레임분의 32심볼이 저장되기까지는 총 32번의 라이트 과정이 수행되는 것이다. 28바이트분의 데이터와 4바이트분의 신드롬이 저장된다.
다음, 도4는 도3에 도시된 신드롬 연산기(56)의 내부 구성도이다.
상기 신드롬 연산기(56)는 입력되는 심볼R(x)을 가산기(64)를 통해서 레지스터(60)에 일단 저장한다. 상기 레지스터(60)에 저장된 심볼은 신드롬 값으로 출력되고, 동시에 곱셈기(62)에서 생성다항식의 근(ajr)과 곱해진다. 이때 얻어진 값 R(x)ajr은 다음 입력되는 심볼과 가산기(64)에서 더해져서 레지스터(60)에 저장되고, 그리고 신드롬 값으로 출력된다. 상기 과정은 1 프레임을 기준으로 해서 32심볼이 입력되기까지 계속 반복 수행된다.
즉, 도4에 도시된 구성은 1 프레임에 대해서 입력되는 심볼에 대하여 신드롬 값을 계속 누적 가산하는 구성이다. 그리고 도4에서는 하나의 신드롬 값을 출력하는 신드롬 연산기(56)에 대해서 도시하고 있다. 그러나 본 발명의 신드로 연산기(56)는 모두 4개의 신드롬 값을 출력하며, 그 구성은 도4와 동일하되, 단지 생성다항식의 근이 a0, a1, a2, a3인가에 따라서 구해지는 신드롬 값이 달라진다.
따라서 상기 신드롬 연산기(56)는 각 프레임에 대하여 4개의 신드롬값(S0, S1, S2, S3)를 출력한다. 이때 출력되는 신드롬 값의 생성은 하기와 같은 연산식에 의해서 생성된다.
S0 =r31+ r30+r29+ r28+ r27+.... r0
S1 = r31(a)31+ r30(a)30+ r29(a)29+.... r0a
S2 = r31(a2)31+ r30(a2)30+ r29(a2)29+.... r0a2
S3 = r31(a3)31+ r30(a3)30+ r29(a3)29+.... r0a3
여기에서 rn은 코드 워드(code word)이고, a는 생성다항식의 근을 나타낸다.
다음, 도5는 본 발명에 따른 에러정정방법을 나타내는 흐름도이다.
디스크로부터 재생된 데이터는 EFM 복조부(20)에서 테이터의 복조가 이루어진다(제201단계).
상기 제201단계에서 복조된 데이터R(x)는 1 프레임 분량(32 심볼)이 레지스터(50)에 저장된다. 그 후, 신드롬연산기(56)는 멀티플렉서(52)를 통해서 1심볼씩 번갈아가면서 현재 입력된 심볼R(x)과 상기 레지스터(50)의 출력을 읽어들인 후, 신드롬 연산이 이루어진다(제203단계).
이때 심볼생성기(58)는 상기 제203단계에서 연산된 신드롬Sj과, 입력되는 심볼R(x)에서 패리티 값을 뺀 데이터d(x) 값으로 새로운 심볼R"(x)을 형성시킨다. 이렇게 해서 새롭게 구성된 심볼 R"(x)=d(x)Xn-k+Sj이 된다.
이와 같이 구성되는 심볼 R"(x)은 램(35)에 저장된다. 따라서 상기 램(35)에 데이터의 쓰기 동작은 1심볼 단위로 이루어지므로, 1 프레임이 저장되기까지는 모두 32번의 램 엑세스가 이루어진다. 다시 말해서 데이터 28 바이트분과, 신드롬 4바이트 분이 저장되는 것이다(제 205단계).
이러한 과정으로 램에 저장된 32심볼은 C1 에러정정이 이루어지기 위해서 다시 램으로부터 읽혀지는데, 이때 읽혀지는 데이터는 4바이트 분의 신드롬 데이터이다(제207단계). 상기 램으로부터의 데이터 리딩은 심볼단위로 이루어진다. 따라서 상기 제207단계에서 4바이트분의 신드롬이 램으로부터 읽어내기 위해서는 모두 4번의 램 엑세스가 필요하게 된다.
상기 제207단계인 C1 에러정정을 위한 신드롬 데이터 리드는 생략될 수가 있다. 이것은 상기 제203단계에 의한 신드롬 연산이 이루어질 때, 에러정정까지 한 다음에 신드롬을 저장할 수 있기 때문이다.
그리고 신드롬 값을 이용한 C1계의 디코딩이 이루어진다(제209단계). C1의 디코딩과정에서는 모드 2워드의 에러가 정정 가능하다. 따라서 상기 C1 디코딩과정에서 2개의 에러가 검출되었다면, 에러가 발생된 위치의 C1계 데이터를 2번의 리딩과정을 통해서 읽어오고, 그 에러값을 정정하여 에러가 발생된 위치에 다시 쓰는 작업이 2번의 과정을 통해서 이루어진다. 따라서 상기 C1의 디코딩과정에서는 총 4번의 램 엑세스과정이 필요하다.
상기 제209단계에서 C1계의 디코딩이 이루어진 후 에러가 있을 경우, 그 에러 위치에 해당하는 신드롬 값의 정정이 필요하다. 따라서 제209단계에서는 검출된 에러 위치에 해당하는 신드롬 값의 정정이 4번의 램 엑세스 과정을 통해서 이루어진다.
상기 제209단계까지의 수행에 의해서 C1 디코딩 후, 램에는 C1 디코딩과정에서 검출된 2에러까지의 정정된 데이터가 저장되어 있다. 이와 같이 C1의 디코딩이 수행된 데이터를 C2 디코딩을 수행하기 위하여 C2계의 데이터 28 심볼을 램으로부터 읽어온다(제211단계). 따라서 상기 제211단계에서는 모두 28번의 램 엑세스가 필요하다.
상기 제211단계에서 읽혀진 C2계의 28 심볼은 제213단계에서 C2계의 디코딩이 이루어진다. 상기 C2계의 디코딩은 이미 C1계에 의한 디코딩이 이루어진 데이터를 다시 디코딩하는 과정으로, 이때 상기 C1계의 디코딩 과정에서 검출된 에러 플래그를 참조해서 디코딩이 이루어진다. 그래서 상기 C2 디코딩과정에서는 4 워드까지의 에러정정이 가능하다.
만약 상기 C2의 디코딩과정에서 4워드의 에러가 검출되었다면, 에러가 발생된 위치의 에러값을 제거하기 위해서 램으로부터 불러오는 과정이 4번에 걸쳐서 수행되고, 마찬가지로 정정된 에러값을 에러가 발생된 위치에 써 넣는 작업이 4번에 걸쳐서 이루어진다. 따라서 상기 제213단계에 의한 C2의 디코딩과정에서는 최대 8번의 램 엑세스 작업이 수행된다.
만약, C2의 디코딩과정에서 에러가 없을 경우에는 데이터값의 변화가 없기 때문에, 신드롬 값의 수정도 필요가 없다. 그러나 에러가 발생되었을때(최대 4 심볼)각 에러가 발생한 프레임의 신드롬 값을 수정해야 한다. 따라서 C1 데이터의 K번째 에러를 수정하였을 경우, 그 프레임에 해당하는 신드롬을 다시 산출해야 한다.
이때 신드롬 정정은 다음과 같이 이루어진다.
R'(x) = R(x) + ekxk, R(x) : C2 에러정정 전의 데이터이고
R'(x) : C2 에러정정 후의 데이터이다.
Sj = R(aj)이므로, Sj' = R(aj) + ekajk,
Sj : C2 에러정정 전의 C1 신드롬이고,
Sj' : C2 에러정정 후의 C1 신드롬이다.
이와 같이 산출하는 상기 C2 에러정정 후의 신드롬 연산을 위한 구성을 도6에 도시하였다.
신드롬 연산기는 C2 에러정정 전의 C1 신드롬을 입력하고, 레지스터(72)와 곱셈기(74)에 의해 구해진 생성다항식의 근을 곱셈기(76)에서 에러값에 곱하고, 이렇게 해서 새로 계산된 신드롬을 가산기(78)를 통해서 C2 에러정정 후에 C1 데이터의 신드롬 자리에 써 넣는다. 마찬가지로 상기 C2 에러 정정 후의 신드롬 연산을 위한 구성도, 동일한 구성으로 4개가 구성되어서 각 생성다항식의 근에 따른 새로운 신드롬값을 구해낸다.
이와 같은 구성으로 각 생성다항식의 근에 따른 4개의 신드롬(S0', S1', S2', S3')을 구하면,
S0' = S0 + ek
S1' = S1 + ekak
S2' = S2 + ek7a2k
S3' = S3 + eka3k(CD의 경우)이 된다.
한편, C2의 에러정정 과정에서는 검출된 각 에러에 대해서 4개의 신드롬값이 구해진다. 따라서 검출된 에러가 최대 4개일 경우, 신드롬 값은 16개가 수정되야하고, 따라서 16번의 램 엑세스 과정이 수행된다. 그리고 수정되는 신드롬 값은 C2 정정 후에 C1 데이터의 신드롬 위치에 저장된다.
여기까지의 과정이 수행되어서 C1, C2의 에러정정의 한번씩 이루어졌고, 두번째 C1 에러정정에서는 첫 번째 C1의 디코딩과 C2 디코딩에 의해서 만들어진 에러 플래그를 이용하여 이레이져(Eraure) 정정이 가능하기 때문에 최대 4심볼까지 에러정정이 가능하다.
따라서, 다시 C1의 에러정정을 수행하기, C1 신드롬을 램(35)으로부터 읽어온다. 이때, 읽어오는 데이터는 4심볼의 C1 신드롬이므로, 모두 4번의 램 엑세스가 이루어진다(제215단계).
그리고 상기 C1 신드롬을 이용한 에러정정이 이루어진다(제217단계). 이때의 에러정정에서는 최대 4심볼까지의 에러정정이 이루어지므로, 검출된 에러가 4개라면, 4번의 리드와 4번의 쓰기 동작이 이루어져서 최대 8번의 램 엑세스가 필요하다. 즉, 상기 제217단계에서는 첫 번째 C1의 디코딩과 C2 디코딩에 의해서 만들어진 에러 플래그를 이용하여 이레이져(Eraure) 정정이 가능하기 때문에 최대 4심볼까지 에러정정이 이루어진다.
이상의 과정으로 C1→C2→C1에 따른 에러정정이 행해진 데이터는 램에 저장되고, 이후 패리티 심볼을 뺀 24심볼이 다시 램으로부터 읽혀져서 디지털신호처리를 위한 블록으로 출력된다(제219단계).
표3은 본 발명에서 제안하는 에러정정시에 램 엑세스 타이밍에 도시하고 있다. 그리고 상기 제203단계에 의한 신드롬 연산이 이루어질 때, 에러정정까지 한 다음에 신드롬을 저장했을 경우, 상기 제207단계인 4회에 걸친 신드롬 데이터리드 과정은 표3에서 생략될 것이다.
즉, 본 발명의 에러정정과정에서는 C1→C2→C1과정에 의한 C1 에러정정을 한번 더 수행하였지만, 모두해서 132번의 램 엑세스만이 수행되므로, 종래 큰 문제점으로 제시되었던 램 엑세스 타임을 줄일 수 있었다. 따라서 CD, DVD의 경우 램 엑세스 시간을 단축시키면서, 배속을 높이면서 에러정정능력을 훨씬 더 증가시킬 수 있다.
이상 설명한 바와 같이 본 발명에 따른 에러정정방법은 에러정정을 3번에 걸쳐서 반복 수행하므로써 에러정정 능력을 향상시켜 오정정의 확률을 획기적으로 감소시켰다. 특히, 램 엑세스 타임이 단축되므로써, 고배속 재생에서 요구하는 램 엑세스 타임 조절이 가능하다.
또한, 본 발명의 설명상에서는 CD의 경우를 예를 들어서 설명하고 있지만, DVD에서도 본 발명에서와 같이 1차 에러정정시에 구해진 신드롬값을 저장하고, 반복된 방식으로의 에러정정시에 1차 에러정정시에 저장된 신드롬값을 리딩하여, 이를 이용한 에러정정을 수행할 수 있다.
[표 1]
[표 2]
[표 3]
Claims (4)
- 복조된 데이터를 신드롬 연산하는 단계와; 주데이터와 신드롬 값으로 프레임을 구성하여 저장하는 단계와; 상기 신드롬 값에 의해서 제1방식으로 에러정정하고, 동시에 신드롬을 정정하는 단계와; 제1방식으로 에러정정된 데이터를 제2방식으로 에러정정하고, 동시에 신드롬을 정정하는 단계와; 제2방식에 의해서 정정된 신드롬을 이용하여 다시 제1방식의 에러정정을 반복 수행하는 단계를 포함하여 이루어진 에러정정방법.
- 제1항에 있어서, 상기 신드롬 값은 패리티 영역에 저장되는 것을 특징으로 하는 에러정정방법.
- 제2항에 있어서, 상기 신드롬값은 4 심볼로 이루어지는 것을 특징으로 하는 에러정정방법.
- 제3항에 있어서, 상기 제1방식은 C1에 의한 디코딩이고, 상기 제2방식은 C2에 의한 디코딩인 것을 특징으로 하는 에러정정방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970068011A KR19990049147A (ko) | 1997-12-12 | 1997-12-12 | 에러정정방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970068011A KR19990049147A (ko) | 1997-12-12 | 1997-12-12 | 에러정정방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19990049147A true KR19990049147A (ko) | 1999-07-05 |
Family
ID=66088481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970068011A KR19990049147A (ko) | 1997-12-12 | 1997-12-12 | 에러정정방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR19990049147A (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100467270B1 (ko) * | 2002-03-12 | 2005-01-24 | 엘지전자 주식회사 | 에러 정정장치 및 방법 |
KR100509137B1 (ko) * | 2001-03-22 | 2005-08-23 | 산요덴키가부시키가이샤 | 에러 정정 장치 |
KR100589814B1 (ko) * | 1999-12-09 | 2006-06-14 | 엘지전자 주식회사 | 디지털 데이터의 에러정정 방법 |
-
1997
- 1997-12-12 KR KR1019970068011A patent/KR19990049147A/ko not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100589814B1 (ko) * | 1999-12-09 | 2006-06-14 | 엘지전자 주식회사 | 디지털 데이터의 에러정정 방법 |
KR100509137B1 (ko) * | 2001-03-22 | 2005-08-23 | 산요덴키가부시키가이샤 | 에러 정정 장치 |
KR100467270B1 (ko) * | 2002-03-12 | 2005-01-24 | 엘지전자 주식회사 | 에러 정정장치 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR920000164B1 (ko) | 에러 정정 방법 및 장치 | |
KR100480183B1 (ko) | 데이터를기록(전송)/재생(수신)하는방법과그에대한장치,및데이터기록매체 | |
KR100265769B1 (ko) | 광 디스크 시스템에서의 에러 정정 장치 및 그 에러 정정 방법 | |
JP2920065B2 (ja) | データ記録方法、記録装置、再生装置及び再生方法 | |
KR100384087B1 (ko) | 디지탈신호부호화방법및장치,디지탈신호기록매체그리고디지탈신호복호화방법및장치 | |
EP0563922B1 (en) | Data processing circuit for disc player | |
RU2158970C2 (ru) | Способ кодирования цифрового сигнала и устройство для его осуществления, носитель записи цифрового сигнала, способ декодирования цифрового сигнала и устройство для его осуществления | |
KR100416057B1 (ko) | 고밀도 디브이디에서 단연집 오류정정을 위한 인터리빙 방법 | |
JPH0471367B2 (ko) | ||
EP1359583A2 (en) | Recording medium suitable for recording/reproducing multi-level data | |
US4491882A (en) | Disc players | |
JP2557340B2 (ja) | デジタル再生装置におけるデインタ−リ−ブ処理用メモリの制御方法 | |
KR19990049147A (ko) | 에러정정방법 | |
JPH11297000A (ja) | データ生成方法及びデータ生成装置 | |
JP3462031B2 (ja) | ディスク再生装置 | |
KR100691065B1 (ko) | 고밀도 광 기록매체에서의 데이터 에러정정 코드생성방법과 이에 의한 에러 정정 방법, 그리고 그 장치 | |
US7334180B2 (en) | Optical encoding method | |
JPS6314428B2 (ko) | ||
JP3653315B2 (ja) | エラー訂正方法及びエラー訂正装置 | |
KR100606521B1 (ko) | 고밀도 광 기록매체에서의 데이터 에러정정 코드 생성방법및 장치 | |
KR100207616B1 (ko) | 에러플래그 처리방법 및 회로 | |
KR100257622B1 (ko) | 데이터복조방법 | |
KR100785610B1 (ko) | 리드솔로몬적부호기의 고속 부호화 장치 | |
JPS63298776A (ja) | エラ−訂正処理方式 | |
JPH06124548A (ja) | データ再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |