KR100195254B1 - 에러정정시 플러그 처리방법 - Google Patents

에러정정시 플러그 처리방법 Download PDF

Info

Publication number
KR100195254B1
KR100195254B1 KR1019960049321A KR19960049321A KR100195254B1 KR 100195254 B1 KR100195254 B1 KR 100195254B1 KR 1019960049321 A KR1019960049321 A KR 1019960049321A KR 19960049321 A KR19960049321 A KR 19960049321A KR 100195254 B1 KR100195254 B1 KR 100195254B1
Authority
KR
South Korea
Prior art keywords
errors
determined
error correction
error
checked
Prior art date
Application number
KR1019960049321A
Other languages
English (en)
Other versions
KR19980029987A (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 KR1019960049321A priority Critical patent/KR100195254B1/ko
Publication of KR19980029987A publication Critical patent/KR19980029987A/ko
Application granted granted Critical
Publication of KR100195254B1 publication Critical patent/KR100195254B1/ko

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/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
    • G11B2020/184Error 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 using a cross-interleaved Reed Solomon [CIRC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2545CDs

Landscapes

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

Abstract

에러정정시 플러그(flag) 처리 방법을 개시한다.
에러정정시 C1 디코딩의 플러그(flag) 처리 방법에 있어서, 신드롬을 계산하는 200단계; 상기 200단계에서 계산된 신드롬에 대하여 에러의 개수가 0인가를 판단하는 202단계; 상기 202단계의 판단이 에러의 개수가 0이 아니면, 에러의 개수가 1인가를 판단하는 204단계; 상기 204단계의 판단이 에러의 개수가 1이면, 1 에러 정정을 수행하는 206단계; 상기 204단계의 판단이 에러의 개수가 1이 아니면, 에러의 개수가 2인가를 판단하는 208단계; 상기 208단계의 판단이 에러의 개수가 2이면, 2 에러 정정을 수행하는 210단계; 상기 206단계 및 210단계가 수행된 후, STATUS를 체크하는 212단계; 상기 212단계에서 체크된 STATUS가 good이면, 플러그를 0으로 하고 종료하는 214단계; 및 상기 208단계의 판단이 에러의 개수가 2가 아니거나 또는 상기 212단계에서 체크된 STATUS가 bad이면, 플러그를 1로 하고 종료하는 216단계를 포함한다.
따라서, 에러 정정 능력을 최대한 발휘하면서 오정정을 방지하는 효과를 제공한다.

Description

에러정정시 플러그(flag) 처리 방법
본 발명은 에러정정시 플러그(flag) 처리 방법에 관한 것이다.
도 1a는종래 기술의 에러정정시 플러그(flag) 처리 방법에 따른 C1 디코딩 알고리즘을 보이는 도면이다.
신드롬(Syndrome)을 계산한다.(100단계)
상기 100단계에서 계산된 신드롬에 대해서 에러의 개수가 0개 인가를 판단한다.(102단계)
상기 102단계의 판단이 에러의 개수가 0이면, 플러그(flag)를 0로 하고 종료한다.(104단계)
상기 102단계의 판단이 에러의 개수가 0이 아니면, 에러의 개수가 1인가를 판단한다.(106단계)
상기 106단계의 판단이 에러의 개수가 1이면, 1 에러정정을 수행한다.(108단계)
상기 108단계에서 1 에러정정을 수행하고 나면, 플러그(flag)를 0로 하고 종료한다.(104단계)
상기 106단계의 판단이 에러의 개수가 1이 아니면, 에러의 개수가 2인가를 판단한다.(110단계)
상기 110단계의 판단이 에러의 개수가 2이면, 2 에러정정을 수행한다.(112단계)
상기 110단계의 판단이 에러의 개수가 2가 아니거나, 상기 112단계에서 2 에러정정을 수행하고 난 후에 플러그(flag)를 1로 하고 종료한다.(114단계)
도 1b는 종래 기술의 에러정정시 플러그(flag) 처리 방법에 따른 C2 디코딩 알고리즘을 보이는 도면이다.
신드롬(Syndrome)을 계산한다.(150단계)
상기 150단계에서 계산된 신드롬에 대해서 에러의 개수가 0개 인가를 판단한다.(152단계)
상기 152단계의 판단이 에러의 개수가 0이면, 플러그(flag)를 0로 하고 종료한다.(154단계)
상기 152단계의 판단이 에러의 개수가 0이 아니면, 에러의 개수가 1인가를 판단한다.(156단계)
상기 156단계의 판단이 에러의 개수가 1이면, 1 에러정정을 수행한다.(158단계)
상기 158단계에서 1 에러정정을 수행하고 나면, 플러그(flag)를 0로 하고 종료한다.(154단계)
상기 156단계의 판단이 에러의 개수가 1이 아니면, 에러의 개수가 2인가를 판단한다.(160단계)
상기 160단계의 판단이 에러의 개수가 2이면, 플러그를 체크한다.(162단계)
상기 162단계의 체크된 결과가 good이면, 2 에러 정정을 수행한다.(164단계)
상기 164단계에서 2 에러 정정을 수행하고 난 후, 플러그(flag)를 0로 하고 종료한다.(154단계)
상기 162단계의 체크된 결과가 bad이면, 플러그의 개수가 2보다 큰가를 판단한다.(166단계)
상기 166단계의 판단이 플러그의 개수가 2보다 크면 플러그를 복사하고 종료한다.(168단계)
상기 166단계의 판단이 플러그의 개수가 2보다 크지 않으면, 플러그를 1로 하고 종료한다.(170단계)
컴팩트 디스크 플레이어 기기에 사용되는 리드-솔로몬(Reed-Solomon) 에러 정정 장치에서는 C1 코드에서 2 에러까지 정정하고, C2 코드에서는 4 이레이저(erasure)까지 정정이 가능하나 실제로는 2 에러까지만 정정하였다. 2 에러만 정정할 경우 버스트 에러(burst error)가 부호어 개수로 8개 이상이 발생하면 에러 정정을 할 수 없으나 4 이레이저 정정을 할 경우 16개의 부호어까지 연속적으로 에러가 발생하여도 에러 정정을 할 수 있는 장점이 있다. 그러나, 최대의 에러 정정을 행할 경우 8/14변조 데이터가 부정확하거나 플레이어 동작 상태가 불안정하면 오정정할 수 있는 확률이 매우 커진다.
상술한 바와 같은 종래 기술의 문제점을 개선하기 위하여 안출된 것으로서, 에러 정정 능력을 최대한 발휘하면서 오정정을 방지하기 위한 에러정정시 플러그(flag) 처리 방법을 제공함에 있다.
도 1a는종래 기술의 에러정정시 플러그(flag) 처리 방법에 따른 C1 디코딩 알고리즘을 보이는 도면이다.
도 1b는 종래 기술의 에러정정시 플러그(flag) 처리 방법에 따른 C2 디코딩 알고리즘을 보이는 도면이다.
도 2a는본 발명에 따른 C1 디코딩 알고리즘의 일실시예를 보이는 도면이다.
도 2b는 본 발명에 따른 C2 디코딩 알고리즘의 일실시예를 보이는 도면이다.
도 3a는 본 발명에 따른 C1 디코딩 알고리즘의 다른 일실시예를 보이는 도면이다.
도 3b는 본 발명에 따른 C2 디코딩 알고리즘의 다른 일실시예를 보이는 도면이다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 일실시예는 에러정정시 C1 디코딩의 플러그(flag) 처리 방법에 있어서, 신드롬을 계산하는 200단계; 상기 200단계에서 계산된 신드롬에 대하여 에러의 개수가 0인가를 판단하는 202단계; 상기 202단계의 판단이 에러의 개수가 0이 아니면, 에러의 개수가 1인가를 판단하는 204단계; 상기 204단계의 판단이 에러의 개수가 1이면, 1 에러 정정을 수행하는 206단계; 상기 204단계의 판단이 에러의 개수가 1이 아니면, 에러의 개수가 2인가를 판단하는 208단계; 상기 208단계의 판단이 에러의 개수가 2이면, 2 에러 정정을 수행하는 210단계; 상기 206단계 및 210단계가 수행된 후, STATUS를 체크하는 212단계; 상기 212단계에서 체크된 STATUS가 good이면, 플러그를 0으로 하고 종료하는 214단계; 및 상기 208단계의 판단이 에러의 개수가 2가 아니거나 또는 상기 212단계에서 체크된 STATUS가 bad이면, 플러그를 1로 하고 종료하는 216단계를 포함한다.
상기 212단계의 체크단계는
STATUS C1 플러그 부가 여부
EFM 데이터 FSYNC Player No Error 1 Error 2 Error
OK OK 정상 0 0 1
OK OK 비정상 0 0 1
NG NG 정상 0 1 1
NG NG 비정상 1 1 1
에 준하여 동작함이 바람직하다.
또한, 에러정정시 C2 디코딩의 플러그(flag) 처리 방법에 있어서, 신드롬을 계산하는 250단계; 상기 계산된 신드롬에 대하여 에러의 개수가 0인가를 판단하는 252단계; 상기 252단계의 판단이 에러의 개수가 0이 아니면, 에러의 개수가 1인가를 판단하는 254단계; 상기 254단계의 판단이 에러의 개수가 1이면, 1 에러 정정을 수행하는 256단계; 상기 254단계의 판단이 에러의 개수가 1이 아니면, 에러의 개수가 2인가를 판단하는 258단계; 상기 258단계의 판단이 에러의 개수가 2이면, 플러그를 체크하는 260단계; 상기 260단계에서 체크된 플러그가 good이면, 2 에러 정정을 수행하는 262단계; 상기 258단계의 판단이 에러의 개수가 2가 아니면, 플러그의 개수를 체크하는 264단계; 상기 264단계에서 체크된 플러그의 개수가 3 또는 4이면, 3 또는 4 이레이저를 정정하는 266단계; 상기 266단계에서 3 또는 4 이레이저를 정정하고 난 후, 검산을 실시하는 268단계; 상기 252단계에서 에러의 개수가 0이거나, 256단계에서 1 에러 정정 수행후거나, 256단계에서 2 에러 정정 수행후거나 268단계에서 검산된 결과가 good이면, 플러그를 0로 하고 종료하는 270단계; 상기 260단계에서 체크된 플러그가 bad이면, 플러그의 수가 2 보다 큰가를 판단하는 272단계; 상기 272단계의 판단이 플러그의 수가 2 보다 크거나, 264단계에서 체크된 플러그의 개수가 5이면, 플러그를 복사하는 274단계; 및 상기 264단계에서 체크된 플러그의 개수가 0 또는 1 또는 2이거나, 272단계의 판단이 플러그의 개수가 2 보다 크지 않거나, 268단계에서 검산된 결과가 bad이면, 플러그를 1로 하고 종료하는 276단계를 포함한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 다른 일실시예는 에러정정시 C1 디코딩의 플러그(flag) 처리 방법에 있어서, 신드롬을 계산하는 300단계; 상기 300단계에서 계산된 신드롬에 대하여 에러의 개수가 0인가를 판단하는 302단계; 상기 302단계의 판단이 에러의 개수가 0이 아니면, 에러의 개수가 1인가를 판단하는 304단계; 상기 304단계의 판단이 에러의 개수가 1이면, 1 에러 정정을 수행하는 306단계; 상기 304단계의 판단이 에러의 개수가 1이 아니면, 에러의 개수가 2인가를 판단하는 308단계; 상기 308단계의 판단이 에러의 개수가 2이면, 2 에러 정정을 수행하는 310단계; 상기 306단계 및 310단계가 수행된 후, STATUS를 체크하는 312단계; 상기 302단계의 판단이 에러의 개수가 0이거나 312단계에서 체크된 STATUS가 good이면, 플러그를 0으로 하고 종료하는 314단계; 및 상기 308단계의 판단이 에러의 개수가 2가 아니거나 또는 상기 312단계에서 체크된 STATUS가 bad이면, 플러그를 1로 하고 종료하는 316단계를 포함한다.
상기 312단계의 체크단계는
STATUS C1 플러그 부가 여부
EFM 데이터 FSYNC Player No Error 1 Error 2 Error
OK OK 정상 0 0 1
OK OK 비정상 0 0 1
NG NG 정상 0 1 1
NG NG 비정상 1 1 1
에 준하여 동작함이 바람직하다.
또한, 에러정정시 C2 디코딩의 플러그(flag) 처리 방법에 있어서, 신드롬을 계산하는 350단계; 상기 계산된 신드롬에 대하여 에러의 개수가 0인가를 판단하는 352단계; 상기 352단계의 판단이 에러의 개수가 0이 아니면, 에러의 개수가 1인가를 판단하는 354단계; 상기 354단계의 판단이 에러의 개수가 1이면, 1 에러 정정을 수행하는 356단계; 상기 354단계의 판단이 에러의 개수가 1이 아니면, 에러의 개수가 2인가를 판단하는 358단계; 상기 358단계의 판단이 에러의 개수가 2이면, 플러그를 체크하는 360단계; 상기 360단계에서 체크된 플러그가 good이면, 2 에러 정정을 수행하는 362단계; 상기 358단계의 판단이 에러의 개수가 2가 아니면, STATUS를 체크하는 364단계; 상기 360단계에서 체크된 플러그가 bad이거나 364단계에서 체크한 STATUS가 bad이면, 플러그의 개수가 2 보다 큰지를 판단하는 366단계; 상기 364단계에서 체크된 STATUS가 good이면, 플러그의 개수를 체크하는 368단계; 상기 368단계에서 체크된 플러그의 개수가 3 또는 4이면, 3 또는 4 이레이저를 정정하는 370단계; 상기 370단계에서 3 또는 4 이레이저를 정정하고 난 후, 검산을 실시하는 372단계; 상기 352단계에서 에러의 개수가 0이거나 356단계에서 1 에러 정정 수행후거나 362단계에서 2 에러 정정 수행후거나 372단계에서 검산된 결과가 good이면, 플러그를 0로 하고 종료하는 374단계; 상기 366단계의 판단이 플러그의 수가 2 보다 크거나, 368단계에서 체크된 플러그의 개수가 5이면, 플러그를 복사하는 376단계; 및 상기 368단계에서 체크된 플러그의 개수가 0 또는 1 또는 2이거나, 366단계의 판단이 플러그의 개수가 2 보다 크지 않거나, 372단계에서 검산된 결과가 bad이면, 플러그를 1로 하고 종료하는 378단계를 포함한다.
이하, 첨부된 도면을 참조하여 본 발명을 보다 상세히 설명한다.
컴팩트 디스크 플레이어에 사용되는 에러 정정 부호는 크로스 인터리브드 리드-솔로몬 코드(Cross Interleaved Reed-Solomon Code ; CIRC)로 C1, C2 2종류 코드로 구성되어 있으며, 에러 정정 플로우(flow)도 2 스테이지(stage)로 구분되어 있다. C1, C2 코드의 minimum distance는 5이며 GF() 상에서 C1(32, 28), C2(28, 24)의 리드-솔로몬 코드이다. 이는 최대한 2 에러 또는 4 이레이저까지의 데이터 정정이 가능하다는 것을 의미하며, C1 코드와 C2 코드 사이를 크로스 인터리빙(Cross Interleaving)하여 버스트 에러(burst error)를 랜덤 에러(random error)로 바꿔줌으로써 효율적으로 에러 정정을 할 수 있게 되어 있다.
디코딩 순서는 C1 코드를 이용하여 C1 에러 정정을 수행한 후, C2 코드 및 C1 플러그 정보를 이용하여 C2 에러 / 이레이저 정정을 수행한다.
C1 플러그의 의미는 C1 코드에 에러가 발생했거나, 에러 정정을 했어도 오정정하였을 가능성이 존재한다는 것을 의미한다. 이들 플러그를 사용하여 C2 디코딩시 이레이저 정정 방법을 이용하여 4개 에러까지 정정이 가능하다. 그리고, 에러 검출 능력 역시 에러 정정 능력만큼 중요하다.
컴팩트 디스크 플레이어(CD Player), 비디오-컴팩트 디스크(Video-CD), 컴팩트 디스크-롬(CD-ROM)등과 같은 디지탈 오디오/비디오 시스템은 미검출 에러가 직접적으로 오디오와 비디오 신호에 노이즈를 발생시킨다. 오정정 역시 마찬가지이다.
이런 일련의 미검출 및 오정정을 방지하기 위하여 적절한 플러그의 세트/리세트는 매우 중요한 일이다.
그리고, 시스템 특성, 데이터 및 플레이어 상황에 맞게 플러그를 가변적으로 부가할 수 있다.
C1, C2 디코딩은 다음과 같은 절차를 필히 밟는다.
1) 신드롬(Syndrome) 계산
2) 에러 개수 계산
3) 에러 위치 계산
4) 에러 값 계산
도 2a은 본 발명에 따른 C1 디코딩 알고리즘의 일실시예를 보이는 도면이다.
신드롬을 계산한다.(200단계)
상기 200단계에서 계산된 신드롬에 대하여 에러의 개수가 0인가를 판단한다.(202단계)
상기 202단계의 판단이 에러의 개수가 0이 아니면, 에러의 개수가 1인가를 판단한다.(204단계)
상기 204단계의 판단이 에러의 개수가 1이면, 1 에러 정정을 수행한다.(206단계)
상기 204단계의 판단이 에러의 개수가 1이 아니면, 에러의 개수가 2인가를 판단한다.(208단계)
상기 208단계의 판단이 에러의 개수가 2이면, 2 에러 정정을 수행한다.(210단계)
상기 206단계 및 210단계가 수행된 후, STATUS를 체크한다.(212단계)
상기 212단계에서 체크된 STATUS가 good이면, 플러그를 0으로 하고 종료한다.(214단계)
상기 208단계의 판단이 에러의 개수가 2가 아니거나 또는 상기 212단계에서 체크된 STATUS가 bad이면, 플러그를 1로 하고 종료한다.(216단계)
도 2a에 있어서, 첫 번째 단계로 신드롬 계산을 수행하여 에러 개수, Num(E)를 계산해내고 이후에 Num(E)에 대응하는 에러 위치 및 에러 값 정정을 수행한다.
No error, 1, 2 에러 정정이 수행되고 난 후, STATUS check 단계에서 8/14변조(EFM) 데이터 이상 유무, 플레이어 동작상태, 프레임(Frame Sync) 검출 유무 등을 확인항 다음 각 상황에 맞는 플러그를 부가하게 되어 있다. EFM 데이터 이상 유무란 디스크로부터 입력되는 14비트 채널 데이터가 8비트 데이터로 복조되는데,= 16384 가지의 채널 데이터중= 256 가지의 채널 데이터만 변환하게 되어 있다. 나머지 16384 - 256 = 16128 가지의 데이터는 불필요한 데이터이다.
만일, 이런 불필요한 데이터가 디스크로부터 입력된다면 정상적인 8 비트 데이터로 복조될 수 없으며 이때 STATUS 플러그를 세트시킨다.
마찬가지로, 한 프레임(Frame)의 시작 혹은 끝을 지시하는 프레임 싱크 데이터를 7.35KHz(=136μs)마다 검출하지 못하면 STATUS 플러그를 세트시킨다.
플레이어 동작 상태는 정상 동작과 비정상 동작으로 구분되는데 비정상적으로 플레이어가 동작할 때 STATUS 플러그를 세트시킨다. 정상 상태란 노말 플레이 상태를 의미하며 비정상 상태는 패스트 포워드(F/F), 리뷰(Review), 서치 등의 상태를 의미한다.
C1 디코딩에서 사용되는 STATUS와 그때 부가되는 플러그는 아래 표 1과 같다.
STATUS C1 플러그 부가 여부
EFM 데이터 FSYNC Player No Error 1 Error 2 Error
OK OK 정상 0 0 1
OK OK 비정상 0 0 1
NG NG 정상 0 1 1
NG NG 비정상 1 1 1
도 2a에서 상기 212단계의 STATUS 체크단계는 상기 표 1에 준하여 작동된다. 즉, C1 플러그는 No Error, 1, 2 Error 정정 후에 상기 표 1에 따라서 가변적으로 부가되어 진다.
도 2b는 본 발명에 따른 C2 디코딩 알고리즘의 일실시예를 보이는 도면이다.
신드롬을 계산한다.(250단계)
상기 계산된 신드롬에 대하여 에러의 개수가 0인가를 판단한다.(252단계)
상기 252단계의 판단이 에러의 개수가 0이 아니면, 에러의 개수가 1인가를 판단한다.(254단계)
상기 254단계의 판단이 에러의 개수가 1이면, 1 에러 정정을 수행한다.(256단계)
상기 254단계의 판단이 에러의 개수가 1이 아니면, 에러의 개수가 2인가를 판단한다.(258단계)
상기 258단계의 판단이 에러의 개수가 2이면, 플러그를 체크한다.(260단계)
상기 260단계에서 체크된 플러그가 good이면, 2 에러 정정을 수행한다.(262단계)
상기 258단계의 판단이 에러의 개수가 2가 아니면, 플러그의 개수를 체크한다.(264단계)
상기 264단계에서 체크된 플러그의 개수가 3 또는 4이면, 3 또는 4 이레이저를 정정한다.(266단계)
상기 266단계에서 3 또는 4 이레이저를 정정하고 난 후, 검산을 실시한다.(268단계)
상기 252단계에서 에러의 개수가 0이거나, 256단계에서 1 에러 정정 수행후거나, 256단계에서 2 에러 정정 수행후거나 268단계에서 검산된 결과가 good이면, 플러그를 0로 하고 종료한다.(270단계)
상기 260단계에서 체크된 플러그가 bad이면, 플러그의 수가 2 보다 큰가를 판단한다.(272단계)
상기 272단계의 판단이 플러그의 수가 2 보다 크거나, 264단계에서 체크된 플러그의 개수가 5이면, 플러그를 복사한다.(274단계)
상기 264단계에서 체크된 플러그의 개수가 0 또는 1 또는 2이거나, 272단계의 판단이 플러그의 개수가 2 보다 크지 않거나, 268단계에서 검산된 결과가 bad이면, 플러그를 1로 하고 종료한다.(276단계)
도 2b에 있어서, C2 디코딩 역시 C1 디코딩과 마찬가지로 첫 번째로 신드롬을 계산하고, 에러 개수를 검출한다. 그 후, 에러의 개수가 1 또는 2라면 에러 정정 플로우를 수행하며, 3개 이상의 에러가 발생하였으면 이레이저 정정 플로우로 간다. 특히, 2 에러 정정 경우에 C2 디코딩에서 검출된 에러의 위치가 C1 플러그에 의해 지시되는 에러 위치와 일치하는가를 확인하여 , 만일 일치하면 2 에러 정정을 수행하며, 수행 후 C2 플러그를 리세트시킨다. 만일 일치하지 않으면 플러그 개수를 판단하는 단계로 넘어가 플러그의 개수가 3이상이면 플러그를 복사하고 2 이하면 플러그 세트 모드로 간다. 그리고, 3 에러 이상이 발생하여 에러 정정을 할 수 없는 경우에는 이레이저 정정을 수행하는데 이 때에도 C1 플러그가 이용된다. 이 경우에는 C1 플러그 이용에 매우 유의하여야 한다. 에러 위치 정보로 C1 플러그를 사용하기 때문이다. 즉, 신드롬으로부터 계산된 에러의 위치가 아니라 C1 디코딩의 결과로 얻은 에러의 위치이기 때문이다. 264 단계에서 C1 플러그의 개수가 0, 1, 2인 경우에는 플러그를 세트시킨다. 그 이유는 C1 플러그의 개수가 0, 1, 2이면 C2 디코딩시 에러 정정 범위에 들어가는데 에러 개수의 판단 결과가 3 에러 이상이 발생하였으므로 에러+이레이저가 발생했거나 3개 이상의 에러가 발생하였다고 간주되므로 이레이저 정정을 할 수 없다. 그래서, C2 플러그를 1로 세트시킨다. 또한, 플러그의 개수가 5인 경우는 이레이저 정정 범위를 초과하므로 C1 플러그를 C2 플러그로 복사하여 사용한다. 플러그의 개수가 3, 4인 경우는 이레이저 정정 범위에 들어가므로 이레이저 정정 후에 검산을 거쳐 정확한 이레이저 정정을 하였으면 C2 플러그를 0으로 리세트시키며, 그렇지 못한 경우는 1로 세트시킨다. 이와 같이 C2 플러그를 각 상황에 따라 세트, 리세트, 복사하는 이유는 오정정, 미검출로 인하여 노이즈가 발생하는 것을 방지하기 위함이며, 실제로 이들 C2 플러그는 보간이라는 기능에서 사용되어져 C2 플러그 존재 유무에 따라 보간 처리되거나 혹은 통과된다.
그러면, 본 발명의 다른 실시예를 설명한다.
도 3a는 본 발명에 따른 C1 디코딩 알고리즘의 다른 일실시예를 보이는 도면이다.
신드롬을 계산한다.(300단계)
상기 300단계에서 계산된 신드롬에 대하여 에러의 개수가 0인가를 판단한다.(302단계)
상기 302단계의 판단이 에러의 개수가 0이 아니면, 에러의 개수가 1인가를 판단한다.(304단계)
상기 304단계의 판단이 에러의 개수가 1이면, 1 에러 정정을 수행한다.(306단계)
상기 304단계의 판단이 에러의 개수가 1이 아니면, 에러의 개수가 2인가를 판단한다.(308단계)
상기 308단계의 판단이 에러의 개수가 2이면, 2 에러 정정을 수행한다.(310단계)
상기 306단계 및 310단계가 수행된 후, STATUS를 체크한다.(312단계)
상기 302단계의 판단이 에러의 개수가 0이거나 312단계에서 체크된 STATUS가 good이면, 플러그를 0으로 하고 종료한다.(314단계)
상기 308단계의 판단이 에러의 개수가 2가 아니거나 또는 상기 312단계에서 체크된 STATUS가 bad이면, 플러그를 1로 하고 종료한다.(316단계)
도 3a에 있어서, 첫 번째 단계로 신드롬 계산을 수행하여 에러 개수, Num(E)를 계산해내고 이후에 Num(E)에 대응하는 에러 위치 및 에러 값 정정을 수행한다.
1, 2 에러 정정이 수행되고 난 후, STATUS check 단계에서 8/14변조(EFM) 데이터 이상 유무, 플레이어 동작상태, 프레임(Frame Sync) 검출 유무 등을 확인항 다음 각 상황에 맞는 플러그를 부가하게 되어 있다. EFM 데이터 이상 유무란 디스크로부터 입력되는 14비트 채널 데이터가 8비트 데이터로 복조되는데,= 16384 가지의 채널 데이터중= 256 가지의 채널 데이터만 변환하게 되어 있다. 나머지 16384 - 256 = 16128 가지의 데이터는 불필요한 데이터이다.
만일, 이런 불필요한 데이터가 디스크로부터 입력된다면 정상적인 8 비트 데이터로 복조될 수 없으며 이때 STATUS 플러그를 세트시킨다.
마찬가지로, 한 프레임(Frame)의 시작 혹은 끝을 지시하는 프레임 싱크 데이터를 7.35KHz(=136μs)마다 검출하지 못하면 STATUS 플러그를 세트시킨다.
플레이어 동작 상태는 정상 동작과 비정상 동작으로 구분되는데 비정상적으로 플레이어가 동작할 때 STATUS 플러그를 세트시킨다. 정상 상태란 노말 플레이 상태를 의미하며 비정상 상태는 패스트 포워드(F/F), 리뷰(Review), 서치 등의 상태를 의미한다.
C1 디코딩에서 사용되는 STATUS와 그때 부가되는 플러그는 아래 표 1과 같다.
STATUS C1 플러그 부가 여부
EFM 데이터 FSYNC Player No Error 1 Error 2 Error
OK OK 정상 0 0 1
OK OK 비정상 0 0 1
NG NG 정상 0 1 1
NG NG 비정상 1 1 1
도 3a에서 상기 312단계의 STATUS 체크단계는 상기 표 1에 준하여 작동된다. 즉, C1 플러그는 1, 2 Error 정정 후에 상기 표 1에 따라서 가변적으로 부가되어 진다.
No error 시에도 STATUS를 확인하므로 C2 디코딩시 이레이저 정정 능력을 떨러뜨릴 가능성이 있으므로 No error 시에는 체크하지 않는다.
도 3b는 본 발명에 따른 C2 디코딩 알고리즘의 다른 일실시예를 보이는 도면이다.
신드롬을 계산한다.(350단계)
상기 계산된 신드롬에 대하여 에러의 개수가 0인가를 판단한다.(352단계)
상기 352단계의 판단이 에러의 개수가 0이 아니면, 에러의 개수가 1인가를 판단한다.(354단계)
상기 354단계의 판단이 에러의 개수가 1이면, 1 에러 정정을 수행한다.(356단계)
상기 354단계의 판단이 에러의 개수가 1이 아니면, 에러의 개수가 2인가를 판단한다.(358단계)
상기 358단계의 판단이 에러의 개수가 2이면, 플러그를 체크한다.(360단계)
상기 360단계에서 체크된 플러그가 good이면, 2 에러 정정을 수행한다.(362단계)
상기 358단계의 판단이 에러의 개수가 2가 아니면, STATUS를 체크한다.(364단계)
상기 360단계에서 체크된 플러그가 bad이거나 364단계에서 체크한 STATUS가 bad이면, 플러그의 개수가 2 보다 큰지를 판단한다.(366단계)
상기 364단계에서 체크된 STATUS가 good이면, 플러그의 개수를 체크한다.(368단계)
상기 368단계에서 체크된 플러그의 개수가 3 또는 4이면, 3 또는 4 이레이저를 정정한다.(370단계)
상기 370단계에서 3 또는 4 이레이저를 정정하고 난 후, 검산을 실시한다.(372단계)
상기 352단계에서 에러의 개수가 0이거나 356단계에서 1 에러 정정 수행후거나 362단계에서 2 에러 정정 수행후거나 372단계에서 검산된 결과가 good이면, 플러그를 0로 하고 종료한다.(374단계)
상기 366단계의 판단이 플러그의 수가 2 보다 크거나, 368단계에서 체크된 플러그의 개수가 5이면, 플러그를 복사한다.(376단계)
상기 368단계에서 체크된 플러그의 개수가 0 또는 1 또는 2이거나, 366단계의 판단이 플러그의 개수가 2 보다 크지 않거나, 372단계에서 검산된 결과가 bad이면, 플러그를 1로 하고 종료한다.(378단계)
여기서, 사용되는 C2 디코딩 알고리즘 또한 C1 디코딩 알고리즘처럼 이레이저 정정을 하기 전에 STATUS를 체크하여 만일 OK이면 이레이저 정정을 수행하며 그렇지 않으면 플러그의 개수에 따라 C2 플러그를 세트/복사한다. 이때, 사용되는 STATUS는 EFM 데이터 이상 유무와 프레임 싱크 검출 유무 판단은 배제하고 단지 플레이어의 동작 상태만 확인한다. 이렇게 STATUS를 확인하는 이유는 C1 플러그를 이용하여 이레이저 정정을 수행할 때 만일 있을 수 있는 오정정을 방지하기 위한 것이다. 실제로 플레이어가 불안전한 상태에서 최대의 에러/이레이저 정정을 수행하였을 경우 에러 데이터를 오정정하여 노이즈를 발생시켜 음질 및 화질에 심각한 영향을 미쳤다.
상술한 바와 같은 본 발명은 에러 정정 능력을 최대한 발휘하면서 오정정을 방지하는 효과를 제공한다.

Claims (6)

  1. 에러정정시 C1 디코딩의 플러그(flag) 처리 방법에 있어서,
    신드롬을 계산하는 200단계;
    상기 200단계에서 계산된 신드롬에 대하여 에러의 개수가 0인가를 판단하는 202단계;
    상기 202단계의 판단이 에러의 개수가 0이 아니면, 에러의 개수가 1인가를 판단하는 204단계;
    상기 204단계의 판단이 에러의 개수가 1이면, 1 에러 정정을 수행하는 206단계;
    상기 204단계의 판단이 에러의 개수가 1이 아니면, 에러의 개수가 2인가를 판단하는 208단계;
    상기 208단계의 판단이 에러의 개수가 2이면, 2 에러 정정을 수행하는 210단계;
    상기 206단계 및 210단계가 수행된 후, STATUS를 체크하는 212단계;
    상기 212단계에서 체크된 STATUS가 good이면, 플러그를 0으로 하고 종료하는 214단계; 및
    상기 208단계의 판단이 에러의 개수가 2가 아니거나 또는 상기 212단계에서 체크된 STATUS가 bad이면, 플러그를 1로 하고 종료하는 216단계를 포함하는 에러정정시 C1 디코딩의 플러그(flag) 처리 방법.
  2. 제1항에 있어서, 상기 212단계의 체크단계는
    STATUS C1 플러그 부가 여부 EFM 데이터 FSYNC Player No Error 1 Error 2 Error OK OK 정상 0 0 1 OK OK 비정상 0 0 1 NG NG 정상 0 1 1 NG NG 비정상 1 1 1
    에 준하여 동작함을 특징으로 하는 에러정정시 C1 디코딩의 플러그(flag) 처리 방법.
  3. 에러정정시 C2 디코딩의 플러그(flag) 처리 방법에 있어서,
    신드롬을 계산하는 250단계;
    상기 계산된 신드롬에 대하여 에러의 개수가 0인가를 판단하는 252단계;
    상기 252단계의 판단이 에러의 개수가 0이 아니면, 에러의 개수가 1인가를 판단하는 254단계;
    상기 254단계의 판단이 에러의 개수가 1이면, 1 에러 정정을 수행하는 256단계;
    상기 254단계의 판단이 에러의 개수가 1이 아니면, 에러의 개수가 2인가를 판단하는 258단계;
    상기 258단계의 판단이 에러의 개수가 2이면, 플러그를 체크하는 260단계;
    상기 260단계에서 체크된 플러그가 good이면, 2 에러 정정을 수행하는 262단계;
    상기 258단계의 판단이 에러의 개수가 2가 아니면, 플러그의 개수를 체크하는 264단계;
    상기 264단계에서 체크된 플러그의 개수가 3 또는 4이면, 3 또는 4 이레이저를 정정하는 266단계;
    상기 266단계에서 3 또는 4 이레이저를 정정하고 난 후, 검산을 실시하는 268단계;
    상기 252단계에서 에러의 개수가 0이거나, 256단계에서 1 에러 정정 수행후거나, 256단계에서 2 에러 정정 수행후거나 268단계에서 검산된 결과가 good이면, 플러그를 0로 하고 종료하는 270단계;
    상기 260단계에서 체크된 플러그가 bad이면, 플러그의 수가 2 보다 큰가를 판단하는 272단계;
    상기 272단계의 판단이 플러그의 수가 2 보다 크거나, 264단계에서 체크된 플러그의 개수가 5이면, 플러그를 복사하는 274단계; 및
    상기 264단계에서 체크된 플러그의 개수가 0 또는 1 또는 2이거나, 272단계의 판단이 플러그의 개수가 2 보다 크지 않거나, 268단계에서 검산된 결과가 bad이면, 플러그를 1로 하고 종료하는 276단계를 포함하는 에러정정시 C2 디코딩의 플러그(flag) 처리 방법.
  4. 에러정정시 C1 디코딩의 플러그(flag) 처리 방법에 있어서,
    신드롬을 계산하는 300단계;
    상기 300단계에서 계산된 신드롬에 대하여 에러의 개수가 0인가를 판단하는 302단계;
    상기 302단계의 판단이 에러의 개수가 0이 아니면, 에러의 개수가 1인가를 판단하는 304단계;
    상기 304단계의 판단이 에러의 개수가 1이면, 1 에러 정정을 수행하는 306단계;
    상기 304단계의 판단이 에러의 개수가 1이 아니면, 에러의 개수가 2인가를 판단하는 308단계;
    상기 308단계의 판단이 에러의 개수가 2이면, 2 에러 정정을 수행하는 310단계;
    상기 306단계 및 310단계가 수행된 후, STATUS를 체크하는 312단계;
    상기 302단계의 판단이 에러의 개수가 0이거나 312단계에서 체크된 STATUS가 good이면, 플러그를 0으로 하고 종료하는 314단계; 및
    상기 308단계의 판단이 에러의 개수가 2가 아니거나 또는 상기 312단계에서 체크된 STATUS가 bad이면, 플러그를 1로 하고 종료하는 316단계를 포함하는 에러정정시 C1 디코딩의 플러그(flag) 처리 방법.
  5. 제4항에 있어서, 상기 312단계의 체크단계는
    STATUS C1 플러그 부가 여부 EFM 데이터 FSYNC Player No Error 1 Error 2 Error OK OK 정상 0 0 1 OK OK 비정상 0 0 1 NG NG 정상 0 1 1 NG NG 비정상 1 1 1
    에 준하여 동작함을 특징으로 하는 에러정정시 C1 디코딩의 플러그(flag) 처리 방법.
  6. 에러정정시 C2 디코딩의 플러그(flag) 처리 방법에 있어서,
    신드롬을 계산하는 350단계;
    상기 계산된 신드롬에 대하여 에러의 개수가 0인가를 판단하는 352단계;
    상기 352단계의 판단이 에러의 개수가 0이 아니면, 에러의 개수가 1인가를 판단하는 354단계;
    상기 354단계의 판단이 에러의 개수가 1이면, 1 에러 정정을 수행하는 356단계;
    상기 354단계의 판단이 에러의 개수가 1이 아니면, 에러의 개수가 2인가를 판단하는 358단계;
    상기 358단계의 판단이 에러의 개수가 2이면, 플러그를 체크하는 360단계;
    상기 360단계에서 체크된 플러그가 good이면, 2 에러 정정을 수행하는 362단계;
    상기 358단계의 판단이 에러의 개수가 2가 아니면, STATUS를 체크하는 364단계;
    상기 360단계에서 체크된 플러그가 bad이거나 364단계에서 체크한 STATUS가 bad이면, 플러그의 개수가 2 보다 큰지를 판단하는 366단계;
    상기 364단계에서 체크된 STATUS가 good이면, 플러그의 개수를 체크하는 368단계;
    상기 368단계에서 체크된 플러그의 개수가 3 또는 4이면, 3 또는 4 이레이저를 정정하는 370단계;
    상기 370단계에서 3 또는 4 이레이저를 정정하고 난 후, 검산을 실시하는 372단계;
    상기 352단계에서 에러의 개수가 0이거나 356단계에서 1 에러 정정 수행후거나 362단계에서 2 에러 정정 수행후거나 372단계에서 검산된 결과가 good이면, 플러그를 0로 하고 종료하는 374단계;
    상기 366단계의 판단이 플러그의 수가 2 보다 크거나, 368단계에서 체크된 플러그의 개수가 5이면, 플러그를 복사하는 376단계; 및
    상기 368단계에서 체크된 플러그의 개수가 0 또는 1 또는 2이거나, 366단계의 판단이 플러그의 개수가 2 보다 크지 않거나, 372단계에서 검산된 결과가 bad이면, 플러그를 1로 하고 종료하는 378단계를 포함하는 에러정정시 C2 디코딩의 플러그(flag) 처리 방법.
KR1019960049321A 1996-10-28 1996-10-28 에러정정시 플러그 처리방법 KR100195254B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960049321A KR100195254B1 (ko) 1996-10-28 1996-10-28 에러정정시 플러그 처리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960049321A KR100195254B1 (ko) 1996-10-28 1996-10-28 에러정정시 플러그 처리방법

Publications (2)

Publication Number Publication Date
KR19980029987A KR19980029987A (ko) 1998-07-25
KR100195254B1 true KR100195254B1 (ko) 1999-06-15

Family

ID=19479366

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960049321A KR100195254B1 (ko) 1996-10-28 1996-10-28 에러정정시 플러그 처리방법

Country Status (1)

Country Link
KR (1) KR100195254B1 (ko)

Also Published As

Publication number Publication date
KR19980029987A (ko) 1998-07-25

Similar Documents

Publication Publication Date Title
US5684810A (en) Error correcting decoder and error correction decoding method
US7266748B2 (en) Method and apparatus for correcting C1/PI word errors using error locations detected by EFM/EFM+ decoding
JPH0799503B2 (ja) 符号化されたデータの誤り訂正方法
JP2770611B2 (ja) データエラー再試行回路
US6738943B1 (en) Apparatus and method for counting errors in an optical compact disc storage system
KR100195254B1 (ko) 에러정정시 플러그 처리방법
US20060085721A1 (en) Method of detecting error event in codeword reproduced by perpendicular magnetic recording medium and apparatus using the same
KR0164518B1 (ko) 컴팩트디스크 플레이어에 있어서 에러정정방법 및 장치
KR100207492B1 (ko) 에러 정정 검사 방법 및 장치
JP2863168B2 (ja) 誤り検出方法
KR100259296B1 (ko) 오류정정 방법
US6961879B1 (en) Apparatus and method for counting error rates in an optical compact disc storage system
KR19980040055A (ko) C1/c2 부호에 의한 2에러 정정 방법
JP2874933B2 (ja) デジタル信号の誤り訂正処理装置及びその誤り訂正処理方法
KR19980074516A (ko) 디지털 신호의 재생에 있어 에러정정방법 및 그에 적용되는 장치
JP2768723B2 (ja) 復号化装置
KR100425083B1 (ko) 이종 광 디스크 에러정정 회로
JP2518827B2 (ja) 符号化復号化装置
JP2586392B2 (ja) 符号誤り訂正方式
JP2001189059A (ja) 記録再生装置
JP2751415B2 (ja) 誤り検出訂正回路
KR19990039252A (ko) 이레이저 정정방법 및 그 장치
JP3583903B2 (ja) 誤り訂正装置および誤り訂正方法
JP2721752B2 (ja) 誤り制御方法
JPH01171327A (ja) 復号化器

Legal Events

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

Payment date: 20070125

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee