KR100265769B1 - 광 디스크 시스템에서의 에러 정정 장치 및 그 에러 정정 방법 - Google Patents

광 디스크 시스템에서의 에러 정정 장치 및 그 에러 정정 방법 Download PDF

Info

Publication number
KR100265769B1
KR100265769B1 KR1019980017994A KR19980017994A KR100265769B1 KR 100265769 B1 KR100265769 B1 KR 100265769B1 KR 1019980017994 A KR1019980017994 A KR 1019980017994A KR 19980017994 A KR19980017994 A KR 19980017994A KR 100265769 B1 KR100265769 B1 KR 100265769B1
Authority
KR
South Korea
Prior art keywords
efm
error
signal
error correction
data
Prior art date
Application number
KR1019980017994A
Other languages
English (en)
Other versions
KR19990085529A (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 KR1019980017994A priority Critical patent/KR100265769B1/ko
Priority to US09/298,732 priority patent/US6378103B1/en
Publication of KR19990085529A publication Critical patent/KR19990085529A/ko
Application granted granted Critical
Publication of KR100265769B1 publication Critical patent/KR100265769B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2921Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes wherein error correction coding involves a diagonal direction
    • H03M13/2924Cross interleaved Reed-Solomon codes [CIRC]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • 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/1816Testing
    • G11B2020/1823Testing wherein a flag is set when errors are detected or qualified

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

EFM 복조를 하는 동안에 각 부호어별로 신드롬을 계산하여 이레이져 플래그를 설정하고, EFM 복조가 완료된 후 상기 이레이져 플래그를 사용하여 에러 정정 부호화를 수행함으로써, 에러 정정 단계에서 데이터 메모리에 대한 액세스 횟수가 감소되어 에러 정정 시간이 단축되는 광디스크 재생 시스템이 제공된다.
광디스크 재생시스템은 상기 EFM 신호와 상기 EFM 복조된 신호를 각각 상기 에러 정정 블록 단위로 저장하기 위한 데이터 메모리; 상기 EFM 신호에 대해 EFM 복조를 수행하여 상기 EFM 복조된 신호를 상기 데이터 메모리로 출력하며, EFM 복조 수행 중에 상기 제1 부호어 단위로 상기 EFM 복조된 신호에 대해 신드롬을 계산하고 오류가 존재하는지를 나타내는 플래그를 출력하는 EFM 복조 및 신드롬 계산부; 및 상기 제1 소정수 개의 제1 부호어들 각각에 대한 상기 제1 소정수 개의 플래그들을 저장하기 위한 플래그 메모리; 및 상기 플래그 메모리에 저장된 플래그들을 토대로 하여 상기 데이터 메모리에 저장된 EFM 복조된 신호를 상기 에러 정정 블록 단위로 에러 정정 복호화하는 에러 정정부;를 포함한다.

Description

광 디스크 시스템에서의 에러 정정 장치 및 그 에러 정정 방법
본 발명은 광 디스크 재생 시스템에 관한 것으로서, 보다 상세하게는 광디스크 재생 시스템에서의 에러 정정 복호화 장치 및 에러 정정 방법에 관한 것이다.
디지털 다기능 디스크(Digital Versatile Disk: 디지털 비디오 디스크라고도 함)는 컴팩트 디스크(CD)의 특징을 유지하면서 데이터 저장 용량을 증대시킨 저장 매체이다. 이러한 DVD는 고해상도의 동영상 데이터를 저장함으로써 비디오 카세트 플레이어와 같이 영화나 그 밖의 영상을 제공하는데 사용될 수 있다. 또한, DVD는 대량의 데이터를 저장하기 위한 예컨대 컴퓨터와 같은 정보처리장치의 보조 기억 장치로 활용될 수도 있다.
DVD에 저장된 정보를 재생하기 위한 일반적인 DVD 시스템이 도 7에 도시되어 있다.
도 7을 참조하면, 픽업(212)에 의해 디스크(210)로부터 독출된 데이터는 RF 증폭 및 등화기(214)에 의해 증폭됨과 동시에 신호 열화를 보상하기 위해 등화된다. 데이터 슬라이서(216)는 RF 증폭 및 등화기(214)에 의해 출력되는 아날로그 신호로부터 디지털 데이터를 복원한다. 동기 검출기(218)는 RF 증폭 및 등화기(214)로부터의 디지털 데이터를 받아들이고 데이터 내에 포함된 동기 신호를 검출한다. 8-15 변조(Eight-to-fifteen Modulation: EFM) 복조부(220)는 상기 동기 신호에 따라 상기 디지털 데이터에 대해 EFM 복조를 수행하고, 복조된 신호를 데이터 메모리(232)에 저장한다. 에러 정정부호(Error Correction Code: ECC) 복호화부(222)는 메모리에 저장된 복조 신호에 대해 ECC 블록 단위로 에러 정정 복호화를 수행하여, 복호화된 신호를 출력한다.
DVD 시스템이 영상 데이터를 재생하는데 사용되는 경우, 상기 복호화된 신호는 MPEG-2 복호화부(224)로 출력된다. MPEG-2 복호화부(224)는 MPEG-2 규격에 따라 부호화된 영상 데이터를 복호화하여, 복호화된 신호를 예컨대 텔레비젼과 같은 영상 표시 장치로 출력한다. 한편, DVD 시스템이 데이터를 재생하는 DVD-ROM 시스템으로 사용되는 경우에는, 또는 ECC 복호화부(222)로부터의 복호화된 신호는 호스트 인터페이스(226)로 출력하며, 호스트 인터페이스(226)는 받아들여진 데이터를 예컨대 컴퓨터와 같은 정보처리 장치로 전송한다.
DVD 시스템이 DVD-ROM 시스템으로 사용될 때, DVD-ROM 시스템은 컴퓨터로부터의 데이터 액세스 시간을 줄이기 위해 가능한 한 고속으로 동작하는 것이 바람직하다. 그런데, 도 1의 시스템에 있어서 가장 시간이 많이 소요되는 단계는 ECC 복호화부(222)에서의 복호화 단계이다. 따라서, DVD-ROM 시스템을 고속으로 동작시켜 DVD에 대한 액세스 시간을 줄이기 위해서는 에러 정정 복호화 시간을 최대한으로 단축시키는 것이 요망된다.
본 발명자의 발명 동기와 본 발명의 특징에 대한 이해를 돕기 위해 종래의 DVD 시스템에서의 에러 정정 복호화를 도 8 내지 도 10을 사용하여 설명한다.
DVD 시스템에서 정보 데이터는 데이터의 신뢰성을 높이기 위하여 각 에러 정정코드(ECC) 블록별로 리드 솔로몬(Reed-Solomon) 코드에 의해 이중부호화된다. 도 8은 DVD에서의 ECC 블록의 구성을 보여주는 도면이다. 각 ECC 블록 내에서, 172 바이트의 정보 데이터는 10 바이트의 내부 패리티 데이터를 부가함으로써 내부호화되고, 내부호화된 192 개의 부호어는 외부 패리티 데이터를 부가함으로써 외부호화된다. 이와 같이 이중 부호화된 182×208 바이트의 데이터는 하나의 ECC 블록을 형성한다. 이에 따라, 하나의 ECC 블록은 172×192 바이트 크기의 정보 영역과, 10×192 바이트 크기의 내부 패리티(PI) 데이터 영역과, 172×16 바이트 크기의 외부 패리티(PO) 데이터 영역을 포함한다.
일반적으로 k개의 메시지 심볼에 패리티를 부가하여 n개의 심볼로 부호화된 (n, k, d+1) 리드-솔로몬 코드를 사용하는 경우, d/2 개의 에러 또는 d 개의 이레이져를 정정할 수 있다. 여기서 에러는 위치 및 값을 모르는 오류를 말하고, 이레이져는 위치는 알고 값만을 모르는 오류를 말한다. 따라서, 도 8와 같이 (182, 172, 11) 리드-솔로몬 코드에 의해 부호화된 부호어에 있어서는, 5 개의 에러 또는 10 개의 이레이져가 정정할 수 있다. 또한 (208, 192, 17) 리드-솔로몬 코드에 의해 부호화된 부호어에 있어서는, 8 개의 에러 또는 16 개의 이레이져가 정정될 수 있다.
일반적으로 ECC 블록에 대해 에러 정정 복호화를 하는 경우에는 먼저 PI 데이터를 사용하여 에러를 정정하고 그다음 PO 데이터를 사용하여 에러를 정정하게 된다. 아울러, 에러 정정 능력을 향상시키기 위해 추가적으로 PI 또는 PO 데이터를 사용하여 반복 정정을 행할 수도 있다.
상기와 같은 ECC 블록에 대한 에러 정정 복호화 방법을 간략하게 설명한다. 먼저, 데이터 메모리에 저장되어 있는 EFM 복조된 데이터에 대해 신드롬을 계산하여 에러의 유무를 점검한다. 그다음, 이레이져 정정을 하는데 필요한 이레이져 위치식을 구하고, 이레이져 위치식과 신드롬 식을 곱하여 변형된 신드롬(Modified Syndrome) 식을 구한다. 상기 신드롬 식, 이레이져 위치식 및 변형된 신드롬 식을 사용하여 유클리드 알고리즘(Euclidean Algorithm) 또는 바러캠프 알고리즘(Barlekamp Algorithm)에 의해 에러 위치식과 에러값 추정식을 계산한다. 그리고, 상기 에러 위치식을 사용하여 에러가 발생한 위치를 계산하고, 에러 위치식 및 에러값 추정식을 사용하여 에러값을 계산하게 된다. 이때 각 부호어에 대해 에러 정정이 가능한지 여부를 판단하여 그 판단결과를 플래플래그로써 저장한다. 마지막으로, 에러 위치 및 에러값에 따라 데이터 내에 있는 에러를 정정한다.
한편, 도 9 및 도 10은 종래의 광 디스크 재생 장치에 있어서, 상기 데이터 메모리의 운영 방법을 보여준다. 데이터 메모리는 3부분으로 분할되어 운영된다. 먼저, EFM 복조된 한 ECC 블록의 데이터가 A 영역에 기록된다. A 영역에 기록된 ECC 블록 데이터가 ECC 복호화되는 동안, 또 하나의 ECC 블록 데이터가 EFM 복조되어 데이터 메모리의 B 영역에 기록된다. 또 ECC 복호화가 완료된 A 영역의 ECC 블록 데이터가 출력되는 동안, B 영역의 ECC 블록은 ECC 복호화되고 또 하나의 ECC 블록 데이터가 EFM 복조되어 데이터 메모리의 C 영역에 기록된다. ECC 복호화가 완료된 B 영역의 ECC 블록 데이터가 출력되는 동안, C 영역의 ECC 블록은 ECC 복호화되고 또 하나의 ECC 블록 데이터가 EFM 복조되어 다시 데이터 메모리의 A 영역에 기록된다.
이와 같은 에러 정정 복호화 장치에 있어서 복호화 시간을 감소시키기 위하여, 이노우에 사다유끼 등에게 부여된 미국 특허 제5,570,378호(발명의 명칭: 에러 정정 장치)는 상대적으로 연산량이 많은 에러값 계산부에 대해서 다른 블록에 비해 높은 주파수의 클럭을 사용하는 기법을 공개하고 있다.
그런데, 상기와 같은 ECC 복호화 과정에 있어서, 복호화 시간에 큰 영향을 미치는 것은 연산 속도뿐만 아니라 데이터 메모리(232)에 대한 액세스 시간이다. 본 발명자의 관심은 이 데이터 메모리 액세스 시간에 있다.
ECC 복호화 과정 중에 데이터 메모리는 신드롬을 계산할 때 그리고 최종적으로 에러를 정정할 때 액세스된다. 도 8에 도시된 바와 같이 ECC 블록 데이터가 (182, 172, 11) 리드-솔로몬 코드에 의해 내부호화되고 (208, 192, 17) 리드-솔로몬 코드에 의해 외부호화된 경우에, 신드롬 계산 과정에서 데이터 메모리는 37,856(=182×208)번 액세스된다. 또한, 최종 정정 시에 부호어당 5의 에러가 정정될 수 있기 때문에, 에러 정정 시의 독출 및 기록을 위해 최대 2,028(=5×2×208)번까지 데이터 메모리(232)가 액세스될 수 있다. 따라서, PI 데이터를 사용하여 에러 정정을 하는 경우, 최대 40,768(=37,856+2,028)번 데이터 메모리를 액세스하게 된다. 만약 에러 정정 대신에 이레이져 정정을 수행하는 경우, 정정을 위한 데이터 메모리 액세스 횟수는 이보다 더 커지게 된다.
클럭 주파수를 높임으로써 데이터 메모리에 대한 액세스 시간을 어느 정도는 줄이는 것이 가능하다. 그렇지만, 통상 DRAM을 사용하여 구성되는 데이터 메모리의 동작 주파수의 한계로 말미암아, 클럭 주파수에 의해 메모리에 대한 액세스 속도를 높이는 데에는 한계가 있다.
본 발명은 이러한 문제점을 해결하기 위한 것으로서, 본 발명의 기술적 과제는 EFM 복조를 하는 동안에 각 부호어 별로 신드롬을 계산하여 이레이져 플래그를 설정하고 EFM 복조가 완료된 후 상기 이레이져 플래그를 사용하여 에러 정정 부호화를 수행함으로써, 에러 정정 단계에서 데이터 메모리에 대한 액세스 횟수가 감소되어 에러 정정 시간이 단축되는 광디스크 재생 시스템을 제공하는 것이다.
본 발명의 다른 기술적 과제는 EFM 복조를 하는 동안에 각 부호어 별로 신드롬을 계산하여 이레이져 플래그를 설정하고 EFM 복조가 완료된 후 상기 이레이져 플래그를 사용하여 에러 정정 부호화를 수행하는 광디스크 재생 시스템에서의 EFM 복조 및 에러 정정 방법을 제공하는 것이다.
도 1은 본 발명에 의한 디지털 다기능 디스크(DVD) 시스템의 블록도.
도 2는 도 1의 EFM 복조 및 신드롬 계산부의 상세 블록도.
도 3은 도 2의 플래그 메모리의 구조를 보여주는 도면.
도 4는 도 1의 ECC 복호화부의 상세 블록도.
도 5는 본 발명에 의한 에러 정정 방법을 설명하기 위한 흐름도.
도 6은 본 발명에 의한 에러 정정 방법에 있어서 플래그 설정과, 상기 플래그에 따른 에러 정정 및 이레이져 정정을 설명하기 위한 도면.
도 7은 종래의 디지털 다기능 디스크(DVD) 시스템의 블록도.
도 8은 DVD에서의 에러 정정코드(ECC) 블록의 일반적인 구성을 보여주는 도면.
도 9는 ECC 블록의 복호화를 수행하기 위한 데이터 메모리의 분할을 설명하기 위한 도면.
도 10은 도 9에 도시된 메모리의 운영 방법을 보여주는 도면.
도 11은, ECC 블록내의 각 부호어들의 인터리빙을 설명하기 위하여, 디스크로부터 독출되어 EFM 복조된 직후의 ECC 블록을 보여주는 도면.
상기 기술적 과제를 달성하기 위한 본 발명의 광 디스크 재생 시스템은 광 디스크에 저장된 신호를 독출하고, EFM 신호를 복원하며, 상기 EFM 신호를 복조하여 각각이 제2 소정수의 심볼을 가지는 제1 소정수의 메시지를 제1 패리티 데이터를 사용하여 각각 제1 부호어로 부호화되고 상기 제1 패리티 데이터에 의한 부호화와 직교하는 방향으로 제2 패리티 데이터를 사용하여 제2 부호어로 부호화됨으로써 이중부호화된 소정의 에러 정정 블록을 복원하고, 상기 에러 정정 블록 단위로 에러 정정 복호화한다. 상기 광디스크 재생시스템은 상기 EFM 신호와 상기 EFM 복조된 신호를 각각 상기 에러 정정 블록 단위로 저장하기 위한 데이터 메모리; 상기 EFM 신호에 대해 EFM 복조를 수행하여 상기 EFM 복조된 신호를 상기 데이터 메모리로 출력하며, EFM 복조 수행 중에 상기 제1 부호어 단위로 상기 EFM 복조된 신호에 대해 신드롬을 계산하고 오류가 존재하는지를 나타내는 플래그를 출력하는 EFM 복조 및 신드롬 계산부; 및 상기 제1 소정수 개의 제1 부호어들 각각에 대한 상기 제1 소정수 개의 플래그들을 저장하기 위한 플래그 메모리; 및 상기 플래그 메모리에 저장된 플래그들을 토대로 하여 상기 데이터 메모리에 저장된 EFM 복조된 신호를 상기 에러 정정 블록 단위로 에러 정정 복호화하는 에러 정정부;를 포함한다.
한편, 상기 다른 기술적 과제를 달성하기 위한 본 발명의 EFM 복조 및 에러 정정 방법은 EFM 변조된 EFM 신호를 복원하고, 상기 EFM 신호를 복조하여 각각이 제2 소정수의 심볼을 가지는 제1 소정수의 메시지를 제1 패리티 데이터를 사용하여 각각 제1 부호어로 부호화되고 상기 제1 패리티 데이터에 의한 부호화와 직교하는 방향으로 제2 패리티 데이터를 사용하여 제2 부호어로 부호화됨으로써 이중부호화된 소정의 에러 정정 블록을 복원하고, 상기 에러 정정 블록 단위로 에러 정정 복호화하는 광디스크 재생시스템에서 구현된다. 먼저, 상기 EFM 신호에 대해 EFM 복조가 수행되면서, 각 제1 부호어 단위로 EFM 복조된 신호에 대해 신드롬이 계산되어 오류를 포함하고 있는지가 판단되고, 오류를 포함하고 있다고 판단된 경우 제1 플래그가 설정된다. 그다음, 상기 제1 부호어들에 대한 제1 플래그들을 사용하여, 상기 에러 정정 블록 단위로 상기 EFM 복조된 신호가 에러 정정 복호화된다.
이하, 첨부된 도면을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명한다.
도 1은 본 발명에 의한 디지털 다기능 디스크(DVD) 시스템의 블록도이다.
RF 증폭 및 등화기(14)는 픽업(12)에 의해 디스크(10)로부터 독출된 데이터를 받아들이고, 이 신호를 증폭함과 동시에 신호 열화를 보상하기 위해 등화한다. 데이터 슬라이서(16)는 RF 증폭 및 등화기(14)에 의해 출력되는 신호로부터 EFM 변조된 디지털 신호를 복원한다. 동기 검출기(18)는 상기 EFM 데이터를 받아들이고 데이터 내에 포함된 동기 신호를 검출한다. EFM 복조 및 신드롬 계산부(20)는 상기 동기 신호에 동기되어 상기 디지털 데이터에 대해 EFM 복조를 수행하고, 복조된 신호를 데이터 메모리(34)에 저장한다. 또한, EFM 복조 및 신드롬 계산부(20)는 EFM 복조 수행 중에 내부 패리티(PI) 데이터를 사용하여 각 부호어별로 신드롬을 계산하고, 해당 부호어 내에 오류가 존재하는지를 나타내는 플래그를 플래그 메모리(38)에 저장한다. ECC 복호화부(22)는, 상기 EFM 복조 및 신드롬 계산부(20)에 의해 계산된 신드롬을 토대로 하여, 메모리에 저장된 복조 신호에 대해 ECC 블록 단위로 에러 정정 복호화를 수행한다.
한편, 도 1의 DVD 시스템은 응용분야에 따라 MPEG-2 복호화부(24) 또는 호스트 인터페이스(26)를 포함하거나, 상기 양자를 모두 포함한다. DVD 시스템이 영상 데이터를 재생하는데 사용되는 경우, MPEG-2 복호화부(24)는 상기 ECC 복호화된 신호를 받아들이고, MPEG-2 규격에 따라 부호화된 영상 데이터를 복호화하여, 복호화된 신호를 예컨대 텔레비젼과 같은 영상 표시 장치로 출력한다. 한편, DVD 시스템이 데이터를 재생하는 DVD-ROM 시스템으로 사용되는 경우에는, 호스트 인터페이스(26)는 ECC 복호화부(22)로부터 ECC 복호화된 신호를 받아들이고 예컨대 컴퓨터와 같은 정보 처리 장치로 출력한다. 상기 호스트 인터페이스(26)로는 예컨대 ATAPI(Advanced Technology Attachment PC Interface) 인터페이스가 사용될 수 있다.
도 2는 도 1의 EFM 복조 및 신드롬 계산부(20)를 상세하게 보여준다.
EFM 복조 및 신드롬 계산부(20)는 EFM 복조회로(42), 신드롬 계산부(44), 신드롬 점검부(46), 에러 부호어 계수기(48), 열 계수기(50), 부호어 종료신호 생성부(52) 및 행 계수기(54)를 포함한다. 한편, 도 2에는 도 1에 도시된 데이터 메모리 제어부(32), 데이터 메모리(34), 플래그 메모리 제어부(36) 및 플래그 메모리(38)가 함께 도시되어 있다.
EFM 복조회로(42)는 EFM 신호를 받아들이고, ECC 블록 동기 신호(block_sync)에 동기되어 상기 EFM 신호에 대해 EFM 복조를 수행한다. EFM 복조회로(42)는 복조된 신호를 데이터 버스(58)를 통해 데이터 메모리(34)에 출력하여, 데이터 메모리(34)가 ECC 블록 단위로 EFM 복조 신호를 저장하도록 한다. 또한 EFM 복조회로(42)는 EFM 복조 신호의 각 바이트를 출력할 때마다 데이터 버스 내의 데이터가 EFM 복조 신호임을 나타내는 기입 인에이블 신호(WE)를 발생하여 출력한다.
데이터 메모리 제어부(32)는 상기 인에이블 신호(WE)에 응답하여 데이터 메모리(34)에 대한 어드레스 신호를 발생하여, 발생된 어드레스 신호를 데이터 메모리 제어부(34)에 공급한다. 이에 따라, 데이터 메모리(34)는 ECC 블록별로 EFM 복조 신호를 저장한다. 한편, EFM 복조회로(42)에 의해 출력되는 EFM 복조 신호는 도 8의 포맷으로 배치되어 있지 않다. 대신에 EFM 복조 신호는, 버스트 에러를 랜덤 에러로 변환하기 위해, 도 11과 같이 행 단위로 인터리빙되어 있다(row-interleaved). 따라서, 데이터 메모리 제어부(32)는 데이터 메모리(34)에 대한 행 어드레스 신호를 순차적으로 발생시키지 않고, 0∼11, 192, 12∼23, 193, ...의 순으로 행 어드레스를 발생시킨다. 이에 따라, 데이터 메모리(34)에는 디인터리빙된 EFM 복조 신호가 도 2와 같은 포맷에 따라 저장된다.
신드롬 계산부(44)는 EFM 복조 신호를 받아들이고, 내부 패리티(PI) 데이터를 사용하여 ECC 블록의 PI 부호어별로 신드롬을 계산한다. 신드롬 점검부(46)는 신드롬 계산부(44)로부터 신드롬을 받아들이고, 모든 신드롬 계수들이 0인지 여부를 점검한다. 만약 모든 신드롬 계수들이 0이라면, 신드롬 점검부(46)는 0을 출력한다. 한편, 신드롬 계수들 내에 0이 아닌 값이 하나 이상 있다면, 신드롬 점검부(46)는 1을 출력한다.
에러 부호어 계수기(48)는 새로운 ECC 블록에 대한 처리가 시작될 때 블록 동기 신호(block_sync)에 의해 리셋된다. 그다음, 에러 부호어 계수기(48)는 신드롬 점검부(47)가 1을 출력하는 경우에만 업카운트한다. 따라서, 에러 부호어 계수기(48) 내의 카운트된 값은 ECC 블록 내에서 에러를 포함하고 있는 PI 부호어의 수를 나타낸다. 이러한 에러를 포함한 부호어의 수는 도 1의 ECC 복호화부(22)에서 에러 정정 방법을 결정하는데 사용된다.
열 계수기(50), 부호어 종료신호 생성부(52) 및 행 계수기(54)는, 상기 신드롬 계산부(44)가 각 부호어별로 신드롬을 계산할 수 있도록, ECC 블록 내의 열과 행을 카운팅한다.
구체적으로, 열 계수기(50)는 0에서 181까지 카운팅을 수행하는 부호어 내의 바이트 카운터이다. 열 계수기(50)는 블록 동기 신호(block_sync) 및 부호어 종료신호 생성부(52)로부터의 부호어 종료신호에 응답하여 리셋된다. 그리고 열 계수기(50)는 기입 인에이블 신호(WE)를 받아들이고, 기입 인에이블 신호(WE)에 따라 업카운팅한다. 따라서, 열 계수기(50)는 부호어 내의 바이트 수를 카운트하게 되어, 카운트된 값은 현재 EFM 복조회로(42)가 출력하고 있는 데이터의 ECC 블록 내에서의 열 즉 수평 방향 위치를 나타내게 된다. 부호어 종료신호 생성부(52)는 열 계수기(50)의 카운트된 값이 최대값인 181에 이르렀을 때 부호어 종료신호를 발생한다.
행 계수기(54)는 0에서 207까지 카운팅을 수행하는 ECC 블록 내의 부호어 카운터이다. 행 계수기(54)는 블록 동기 신호(block_sync)에 응답하여 리셋된다. 그리고 행 계수기(54)는 상기 부호어 종료신호에 응답하여 업카운팅한다. 따라서 행 계수기(54) 내의 카운트된 값은 현재 EFM 복조회로(42)가 출력하고 있는 데이터의 ECC 블록 내에서의 행 즉 수직 방향 위치를 나타내게 된다.
지연기(56)는 부호어 종료신호를 1T(T: 동기클럭의 주기) 만큼 지연시켜, 지연된 신호를 신드롬 계산부(44)에 대한 리셋 신호로써 출력한다.
플래그 메모리(38)는 신드롬 점검부(46)의 출력 신호를 저장한다. 플래그 메모리(38)의 구조가 도 3에 도시되어 있다. 플래그 메모리(38)는 각각이 208비트를 포함하는 제1 영역(38a) 및 제2 영역(38b)을 구비한다. 최초의 ECC 블록이 EFM 복조될 때에는 제1 영역(38a)이 신드롬 점검 결과를 저장하는데 사용된다. 다음의 ECC 블록이 EFM 복조될 때에는 제2 영역(38b)이 신드롬 점검 결과를 저장하는데 사용되며, 이때 제1 영역(38a)에 저장된 신드롬 점검 결과는 ECC 디코딩에 사용된다. 그리고, 세 번째 ECC 블록이 EFM 복조될 때에는 제1 영역(38a)이 신드롬 점검 결과를 저장하는데 사용되며, 이때 제2 영역(38b)에 저장된 신드롬 점검 결과는 ECC 디코딩에 사용된다. 제1 및 제2 영역(38a, 38b)에 있어서, 비트 0은 ECC 블록 중 첫 번째 부호어에 에러가 포함되어 있는지를 나타내고, 비트 1은 두 번째 부호어에 에러가 포함되어 있는지를 나타낸다. 일반적으로 비트 i는 ECC 블록 중 (i+1) 번째 부호어에 에러가 포함되어 있는지를 나타낸다.
플래그 메모리 제어부(36)는 부호어 종료신호 생성부(52) 및 행 계수기(54)로부터 각각 출력되는 부호어 종료신호 및 카운트된 행번호를 받아들인다. 플래그 메모리 제어부(36)는 부호어 종료신호가 입력될 때 카운트된 행번호를 토대로 플래그 메모리에 대한 어드레스를 발생하여 플래그 메모리(38)에 출력함으로써, 신드롬 점검부(46)로부터의 신드롬 점검 결과가 플래그 메모리(36)의 해당 비트에 저장되도록 하게 된다. 이때, 플래그 메모리 제어부(36)는 타이밍을 맞추기 위하여 부호어 종료신호 및 카운트된 행번호를 받아들인 후 소정의 지연시간 후에 어드레스 신호를 발생할 수 있다. 또한, 신드롬 점검 결과에 해당하는 행의 다음 행의 행번호가 받아들여지기 때문에, 플래그 메모리 제어부(36)는 받아들여진 행번호에서 1을 차감한 값을 어드레싱에 사용한다. 아울러, 플래그 메모리 제어부(36)는, 데이터 메모리 제어부(32)에서와 같이, 플래그 메모리(36)에 대한 어드레스를 순차적으로 발생시키는 대신에 0∼11, 192, 12∼23, 193, ...의 순으로 어드레스를 발생시킨다. 이에 따라, 플래그 메모리(36)에는 데이터 메모리(34)에서와 같이 도 2와 같은 포맷에 대응하여 EFM 복조 신호가 저장된다.
도 4는 도 1의 ECC 복호화부를 상세하게 보여준다.
ECC 복호화부(22)는 신드롬 계산부(62), 이레이져 위치식 계산부(64), 변형 신드롬 계산부(66), 에러값 추정식 계산부(68), 에러값 계산부(70) 및 에러 정정부(72)를 포함한다.
신드롬 계산부(62)는 데이터 메모리(34)에 저장되어 있는 EFM 복조된 데이터를 데이터 버스(35)를 통해 받아들이고, 에러의 유무를 나타내는 신드롬을 계산한다. 변형 신드롬 계산부(66)는 신드롬 계산부(62)로부터의 신드롬 식과 이레이져 위치식 계산부(64)로부터의 이레이져 위치식을 곱하여 변형된 신드롬(Modified Syndrome) 식을 구한다. 에러값 추정식 계산부(68)는 상기 신드롬 식, 이레이져 위치식 및 변형된 신드롬 식을 사용하여 에러 위치식과 에러값 추정식을 계산한다. 이때 유클리드 알고리즘(Euclidian Algorithm) 또는 바러캠프 알고리즘(Berlekamp Algorithm)이 계산에 사용된다. 에러값 계산부(70)는 상기 에러 위치식을 사용하여 에러가 발생한 위치를 계산하고, 에러 위치식 및 에러값 추정식을 사용하여 에러값을 계산한다. 에러값 계산에는 예컨대 첸 탐색법(Chien Search Algorithm)이 사용될 수 있다. 또한, 에러값 계산부(70)는 각 부호어에 대해 에러 정정이 가능한지 여부를 판단하여 그 판단결과를 이레이져 플래그로써 플래그 메모리(38)에 저장한다. 에러 정정부(72)는 데이터 메모리(34)로부터 EFM 복조된 ECC 블록 데이터를 받아들이고, 상기 에러 위치 및 에러값에 따라 데이터 내에 있는 에러를 정정한다.
한편, ECC 복호화부(22)는 도시되지 않은 제어부를 포함하는데, 상기 제어부는 도 4에 도시된 ECC 복호화부(22)의 각 블록에 필요한 제어신호를 공급함으로써, 복호화 과정을 제어하게 된다.
도 5는 본 발명에 의한 에러 정정 방법을 설명하기 위한 흐름도이다. 도 5를 참조하여, 본 발명에 따른 광 디스크 재생장치에서의 에러 정정 방법을 설명한다.
EFM 복조 및 신드롬 계산부(20)는 EFM 신호에 대하여 EFM 복조를 수행하면서, 동시에 PI 데이터를 사용하여 각각의 내부호화된 부호어에 대하여 신드롬을 계산한다. 신드롬 계산 후에, EFM 복조 및 신드롬 계산부(20)는 각 내부호화된 부호어의 신드롬 내에 적어도 하나의 1이 포함되어 있는지를 판단하여, 도 6에 도시된 바와 같이 오류가 포함되어 있는 경우에는 오류를 나타내는 플래그가 설정된다. 또한, EFM 복조 및 신드롬 계산부(20) 내의 에러 부호어 계수기(48)는 ECC 블록 내에서 오류를 포함한 내부호어를 카운트하여 카운트된 값을 유지한다(제80단계).
상기 플래그 및 오류를 포함한 부호어 개수를 토대로, ECC 복호화부(22)는 복조된 ECC 블록에 대한 에러 정정 복호화를 수행한다.
먼저 오류를 포함한 부호어 개수가 16보다 큰지를 판단한다(제82단계). 위에서 기술한 바와 같이, 일반적으로 (208, 192, 17) 리드-솔로몬 코드에 의해 부호화된 부호어에 있어서는, 최대 16 개의 이레이져가 정정될 수 있다. 따라서, 상기 제82단계에서 오류를 포함한 부호어 개수가 16보다 크다고 판단된 경우에는, 외부 패리티(PO) 데이터를 사용하여 이레이져를 정정할 수 없다. 따라서, 이러한 경우에는 PI 데이터를 사용하여 에러 정정이 행해진다(제84단계). 이때, 모든 부호어에 대한 에러 정정을 행하는 대신에 상기 제80단계에서 플래그가 설정되어 있는 즉 에러를 포함한 부호어에 대해서만 에러 정정이 수행된다. 종래의 장치에 있어서는 모든 행에 대해 신드롬을 계산하고 에러를 정정했던 것과는 달리, 본 발명에 의하면 ECC 복호화부가 이미 계산되어진 플래그를 사용하여 에러를 정정하기 때문에 메모리 액세스 시간과 계산 시간이 상당히 줄어들게 된다.
제86단계에서는, 상기 제82단계에서의 에러 정정 시에 구해진 플래그를 사용하여, 오류를 포함한 부호어 개수가 16보다 큰지를 다시 판단한다.
만약 오류를 포함한 부호어 개수가 16보다 크다면, PO 데이터를 사용하여 에러를 정정한다(제88단계). 그리고 다시 상기 제88단계에서의 에러 정정 시에 구해진 플래그를 사용하여, 오류를 포함한 부호어 개수가 10보다 큰지를 판단한다(제90단계). 여기에서 오류를 포함한 외부호어 개수가 10보다 큰지를 판단하는 이유는 일반적으로 (182, 172, 11) 리드-솔로몬 코드에 의해 부호화된 부호어에 있어서는 최대 10 개의 이레이져가 정정될 수 있기 때문에 상기 플래그를 사용하여 PI 데이터의 이레이져를 정정할 수 있는지를 판단하기 위함이다. 만약 오류를 포함한 부호어 개수가 10보다 크다면, 다시 PI 데이터를 사용하여 에러를 정정한다(제92단계). 한편, 만약 오류를 포함한 부호어 개수가 16보다 크지 않다면, PI 데이터를 사용하여 이레이져를 정정한다(제94단계).
제86단계에서 만약 오류를 포함한 부호어 개수가 16보다 크다고 판단된 경우에는, PO 데이터를 사용하여 이레이져를 정정한다(제96단계). 그리고 다시 상기 제96단계에서의 이레이져 정정 시에 구해진 플래그를 사용하여, 오류를 포함한 내부호어 개수가 10보다 큰지를 판단한다(제98단계). 만약, 오류를 포함한 부호어 개수가 10보다 크다면, 다시 PO 데이터를 사용하여 에러를 정정한다(제100단계). 한편, 만약 오류를 포함한 부호어 개수가 10보다 크지 않다면, PI 데이터를 사용하여 이레이져를 정정한다(제102단계).
한편, 상기 제82단계에서 오류를 포함한 부호어 개수가 16보다 크지 않다고 판단된 경우에는, 도 6과 같이 패리티가 설정된 것을 이레이져 위치로 보고 외부 패리티(PO) 데이터를 사용하여 이레이져를 정정하게 된다(제104단계). 일반적으로 (208, 192, 17) 리드-솔로몬 코드에 의해 부호화된 부호어에서는 최대 16개의 이레이져가 정정될 수 있기 때문에 이 경우의 이레이져는 정정가능한 범위 내에 있다.
제106단계에서는, 상기 제104단계에서의 에러 정정 시에 구해진 플래그를 사용하여, 오류를 포함한 부호어 개수가 10보다 큰지를 다시 판단한다.
만약 오류를 포함한 부호어 개수가 10보다 크다면, 다시 PI 데이터를 사용하여 에러를 정정한다(제108단계). 그리고 상기 제108단계에서의 에러 정정 시에 구해진 플래그를 사용하여, 오류를 포함한 부호어 개수가 16보다 큰지를 다시 판단한다(제110단계). 만약 오류를 포함한 부호어 개수가 16보다 크다면, 다시 PO 데이터를 사용하여 에러를 정정한다(제112단계). 한편, 만약 오류를 포함한 부호어 개수가 16보다 크지 않다면, PO 데이터를 사용하여 이레이져를 정정한다(제114단계).
제106단계에서 만약 오류를 포함한 부호어 개수가 10보다 크다고 판단된 경우에는, PI 데이터를 사용하여 이레이져를 정정한다(제116단계). 그리고 다시 상기 제116단계에서의 이레이져 정정 시에 구해진 플래그를 사용하여, 오류를 포함한 내부호어 개수가 16보다 큰지를 판단한다(제118단계). 만약, 오류를 포함한 부호어 개수가 16보다 크다면, PO 데이터를 사용하여 에러를 정정한다(제120단계). 한편, 만약 오류를 포함한 부호어 개수가 16보다 크지 않다면, PO 데이터를 사용하여 이레이져를 정정한다(제122단계).
한편, 이상의 설명은 본 발명의 바람직한 실시예를 기술한 것으로서, 상기 바람직한 실시예는 다양한 방법으로 변형될 수 있다.
예컨대, EFM 복조 및 신드롬 계산부(20)는 에러 부호어 계수기(48)를 별도로 구비하지 않을 수도 있다. 이러한 경우, ECC 복호화부(22)의 제어부는 플래그 메모리(38)에 저장된 플래그를 합산하여 에러를 포함한 부호어의 개수를 구하여 복호화에 사용할 수 있다.
상술한 바와 같이, 본 발명에 따르면, EFM 복조를 하는 동안에 각 부호어 별로 신드롬을 계산하여 이레이져 플래그를 설정하고, EFM 복조가 완료된 후 상기 이레이져 플래그를 사용하여 에러 정정 부호화를 수행함으로써, 에러 정정 단계에서 데이터 메모리에 대한 액세스 횟수가 감소되어 에러 정정 시간이 단축된다. 이에 따라 DVD에 저장된 데이터의 액세스 속도가 빨라지는 효과가 있다.

Claims (8)

  1. 광 디스크에 저장된 신호를 독출하고, EFM 신호를 복원하며, 상기 EFM 신호를 복조하여 각각이 제2 소정수의 심볼을 가지는 제1 소정수의 메시지를 제1 패리티 데이터를 사용하여 각각 제1 부호어로 부호화되고 상기 제1 패리티 데이터에 의한 부호화와 직교하는 방향으로 제2 패리티 데이터를 사용하여 제2 부호어로 부호화됨으로써 이중부호화된 소정의 에러 정정 블록을 복원하고, 상기 에러 정정 블록 단위로 에러 정정 복호화하는 광디스크 재생시스템에 있어서,
    상기 EFM 신호와 상기 EFM 복조된 신호를 각각 상기 에러 정정 블록 단위로 저장하기 위한 데이터 메모리;
    상기 EFM 신호에 대해 EFM 복조를 수행하여 상기 EFM 복조된 신호를 상기 데이터 메모리로 출력하며, EFM 복조 수행 중에 상기 제1 부호어 단위로 상기 EFM 복조된 신호에 대해 신드롬을 계산하고 오류가 존재하는지를 나타내는 플래그를 출력하는 EFM 복조 및 신드롬 계산부; 및
    상기 제1 소정수 개의 제1 부호어들 각각에 대한 상기 제1 소정수 개의 플래그들을 저장하기 위한 플래그 메모리; 및
    상기 플래그 메모리에 저장된 플래그들을 토대로 하여 상기 데이터 메모리에 저장된 EFM 복조된 신호를 상기 에러 정정 블록 단위로 에러 정정 복호화하는 에러 정정부;를 포함하는 광 디스크 재생 시스템.
  2. 제1항에 있어서, 상기 EFM 복조 및 신드롬 계산부는
    상기 EFM 신호를 받아들이고, EFM 복조를 수행하여 복조된 신호를 출력하며, 복조된 신호를 출력할 때마다 데이터 버스 내의 데이터가 EFM 복조 신호임을 나타내는 기입 인에이블 신호를 발생하여 출력하는 EFM 복조회로;
    상기 EFM 복조 신호를 받아들이고, 상기 제1 부호어 각각에 대해 신드롬을 계산하는 신드롬 계산부; 및
    상기 신드롬 계산부로부터 신드롬을 받아들이고, 모든 신드롬 계수들이 0인지 여부를 점검하여, 모든 신드롬 계수들이 0이라면 0의 값을 가지고 신드롬 계수들 내에 0이 아닌 값이 하나 이상 있다면 1의 값을 가지는 플래그를 출력하는 신드롬 점검부;를 포함하는 광 디스크 재생 시스템.
  3. 제2항에 있어서, 상기 EFM 복조 및 신드롬 계산부는
    한 바이트의 EFM 복조 신호가 상기 EFM 복조회로로부터 출력될 때마다 업카운트하여 카운트된 값을 출력하고, 부호어 종료신호에 의해 리셋되는 열 계수기;
    상기 열 계수기로부터 상기 카운트된 값을 받아들이고, 상기 카운트된 값이 상기 제2 소정수와 같아졌을 때 상기 부호어 종료신호를 발생하는 부호어 종료신호 생성부; 및
    상기 부호어 종료신호에 응답하여 업카운트하고, 상기 EFM 복조회로가 하나의 에러 정정 블록에 대한 EFM 복조를 완료하였을 때 리셋되는 행 계수기;를 더 포함하며,
    상기 신드롬 점검부는 상기 부호어 종료신호에 응답하여 상기 플래그를 발생하는 광 디스크 재생 시스템.
  4. 제2항에 있어서, 상기 EFM 복조 및 신드롬 계산부는
    상기 신드롬 점검부로부터 상기 플래그를 받아들이고 플래그가 1인 경우에만 업카운트하며, 새로운 에러 정정 블록에 대한 EFM 복조가 시작될 때 리셋되는 에러 부호어 계수기;를 더 포함하는 광 디스크 재생 시스템.
  5. EFM 변조된 EFM 신호를 복원하고, 상기 EFM 신호를 복조하여 각각이 제2 소정수의 심볼을 가지는 제1 소정수의 메시지를 제1 패리티 데이터를 사용하여 각각 제1 부호어로 부호화되고 상기 제1 패리티 데이터에 의한 부호화와 직교하는 방향으로 제2 패리티 데이터를 사용하여 제2 부호어로 부호화됨으로써 이중부호화된 소정의 에러 정정 블록을 복원하고, 상기 에러 정정 블록 단위로 에러 정정 복호화하는 광디스크 재생시스템에 있어서,
    (a) 상기 EFM 신호에 대해 EFM 복조를 수행하면서, 각 제1 부호어 단위로 EFM 복조된 신호에 대해 신드롬을 계산하여 오류를 포함하고 있는지를 판단하고, 상기 오류를 포함하고 있다고 판단된 경우 제1 플래그를 설정하는 단계; 및
    (b) 상기 제1 부호어들에 대한 제1 플래그들을 사용하여, 상기 에러 정정 블록 단위로 상기 EFM 복조된 신호를 에러 정정 복호화하는 단계;를 포함하는 EFM 복조 및 에러 정정 복호화 방법.
  6. 제5항에 있어서, 상기 (b) 단계는
    (c) 상기 에러 정정 블록을 구성하는 상기 제1 부호어들 중 제1 플래그가 설정된 제1 부호어의 개수가 제3 소정수보다 큰지를 판단하는 단계;
    (d) 상기 (c) 단계에서 상기 오류를 포함하는 제1 부호어의 개수가 상기 제3 소정수보다 큰 경우, 상기 오류를 포함한 제1 부호어들 내의 에러를 정정하는 단계; 및
    (e) 상기 (c) 단계에서 상기 오류를 포함하는 제1 부호어의 개수가 상기 제3 소정수보다 크지 않은 경우, 상기 제1 플래그들을 사용하여 상기 제2 부호어들에 대해 이레이져를 정정하는 단계;를 포함하는 EFM 복조 및 에러 정정 복호화 방법.
  7. 제5항에 있어서, 상기 (d) 단계에서는 에러 정정 중에, 오류를 포함하는 제1 부호어들을 표시하는 제2 플래그를 발생시키고,
    상기 (d) 단계 후에,
    (d1) 상기 제2 플래그 개수가 상기 제3 소정수보다 큰지를 판단하는 단계;
    (d2) 상기 (d1) 단계에서 제2 플래그의 개수가 상기 제3 소정수보다 큰 경우, 상기 제2 부호어들 내의 에러를 정정하는 단계; 및
    (d3) 상기 (d1) 단계에서 제2 플래그의 개수가 상기 제3 소정수보다 크지 않은 경우, 상기 제2 부호어들 내의 이레이져를 정정하는 단계;를 더 포함하는 EFM 복조 및 에러 정정 복호화 방법.
  8. 제5항에 있어서, 상기 (e) 단계에서는 이레이져 정정 중에, 오류를 포함하는 제2 부호어들을 표시하는 제2 플래그를 발생시키고,
    상기 (e) 단계 후에,
    (e1) 상기 (e) 단계에서 에러를 정정하는 도중에 생성된 제2 플래그 개수가 제4 소정수보다 큰지를 판단하는 단계;
    (e2) 상기 (e1) 단계에서 제2 플래그의 개수가 상기 제4 소정수보다 큰 경우, 상기 제1 부호어들 내의 에러를 정정하는 단계; 및
    (e3) 상기 (e1) 단계에서 제2 플래그의 개수가 상기 제4 소정수보다 크지 않은 경우, 상기 제1 부호어들 내의 이레이져를 정정하는 단계;를 더 포함하는 EFM 복조 및 에러 정정 복호화 방법.
KR1019980017994A 1998-05-19 1998-05-19 광 디스크 시스템에서의 에러 정정 장치 및 그 에러 정정 방법 KR100265769B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019980017994A KR100265769B1 (ko) 1998-05-19 1998-05-19 광 디스크 시스템에서의 에러 정정 장치 및 그 에러 정정 방법
US09/298,732 US6378103B1 (en) 1998-05-19 1999-04-23 Apparatus and method for error correction in optical disk system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980017994A KR100265769B1 (ko) 1998-05-19 1998-05-19 광 디스크 시스템에서의 에러 정정 장치 및 그 에러 정정 방법

Publications (2)

Publication Number Publication Date
KR19990085529A KR19990085529A (ko) 1999-12-06
KR100265769B1 true KR100265769B1 (ko) 2000-09-15

Family

ID=19537488

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980017994A KR100265769B1 (ko) 1998-05-19 1998-05-19 광 디스크 시스템에서의 에러 정정 장치 및 그 에러 정정 방법

Country Status (2)

Country Link
US (1) US6378103B1 (ko)
KR (1) KR100265769B1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6483882B1 (en) * 1999-05-24 2002-11-19 O'dea James Orrin EFM demodulation circuit and method
KR100589814B1 (ko) * 1999-12-09 2006-06-14 엘지전자 주식회사 디지털 데이터의 에러정정 방법
KR20010081335A (ko) * 2000-02-12 2001-08-29 구자홍 차세대 고밀도 기록 매체를 위한 디지털 데이터의 오류정정 부호화 방법
TW509900B (en) * 2000-02-29 2002-11-11 Via Tech Inc Error correction method for correcting errors in digital data
JP2001291344A (ja) * 2000-04-04 2001-10-19 Hitachi Ltd 光ディスク装置およびそのデータ再生方法
KR100378181B1 (ko) * 2000-06-09 2003-03-29 삼성전자주식회사 Efm/efm+ 디코딩에 의해 검출된 에러위치를 이용한c1/pi 워드의 에러정정 방법 및 장치
US6910174B2 (en) * 2001-06-01 2005-06-21 Dphi Acquisitions, Inc. Error correction code block format
KR100856399B1 (ko) * 2002-01-23 2008-09-04 삼성전자주식회사 디코딩 방법 및 그 장치
KR100467270B1 (ko) * 2002-03-12 2005-01-24 엘지전자 주식회사 에러 정정장치 및 방법
KR20040017383A (ko) * 2002-08-21 2004-02-27 삼성전자주식회사 어드레스 데이터 변조 방법 및 장치, 그 어드레스 데이터복조방법 및 장치, 그리고 그 기록매체
JP3843952B2 (ja) * 2003-02-27 2006-11-08 ソニー株式会社 復号装置、誤り位置多項式計算方法、プログラム
US20050078584A1 (en) * 2003-10-09 2005-04-14 Cheertek, Inc. System and method for error correction in optical disk system
US7266069B2 (en) * 2004-02-06 2007-09-04 Via Technologies, Inc., Method and apparatus for retry calculation in an optical disk device
US7418644B2 (en) * 2004-03-01 2008-08-26 Hewlett-Packard Development Company, L.P. System for error correction coding and decoding
TWI266292B (en) * 2004-03-03 2006-11-11 Via Tech Inc An EFM data decoding method and apparatus for optical disk system
US7328395B1 (en) 2004-04-13 2008-02-05 Marvell International Ltd. Iterative Reed-Solomon error-correction decoding
US20070260963A1 (en) * 2006-04-21 2007-11-08 Kuo-Lung Chien Error correction system and related method thereof
US20070260961A1 (en) * 2006-04-21 2007-11-08 Kuo-Lung Chien Error correction system and related method thereof
US20070260960A1 (en) * 2006-04-21 2007-11-08 Kuo-Lung Chien Error correction system and related method thereof
KR100840577B1 (ko) * 2006-12-20 2008-06-23 주식회사 대우일렉트로닉스 광 디스크의 품질 체크 방법 및 장치
US8321761B1 (en) * 2009-09-28 2012-11-27 Nvidia Corporation ECC bits used as additional register file storage
CN103166649B (zh) 2011-12-19 2016-06-15 国际商业机器公司 用于解码循环码的方法、装置和解码器
DE102018131613A1 (de) * 2018-04-10 2019-10-10 Infineon Technologies Ag Fehlererkennung mittels Gruppenfehler

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5857781B2 (ja) * 1978-01-17 1983-12-21 三菱電機株式会社 符号化復号化方式
US4873688A (en) 1987-10-05 1989-10-10 Idaho Research Foundation High-speed real-time Reed-Solomon decoder
US4868828A (en) 1987-10-05 1989-09-19 California Institute Of Technology Architecture for time or transform domain decoding of reed-solomon codes
US5099482A (en) 1989-08-30 1992-03-24 Idaho Research Foundation, Inc. Apparatus for detecting uncorrectable error patterns when using Euclid's algorithm to decode Reed-Solomon (BCH) codes
US5084891A (en) * 1989-09-08 1992-01-28 Bell Communications Research, Inc. Technique for jointly performing bit synchronization and error detection in a TDM/TDMA system
US5504758A (en) 1992-04-28 1996-04-02 Mitsubishi Denki Kabushiki Kaisha Error-correcting apparatus
JPH06203489A (ja) * 1992-12-30 1994-07-22 Sony Corp 誤り訂正方法
US5689727A (en) * 1994-09-08 1997-11-18 Western Digital Corporation Disk drive with pipelined embedded ECC/EDC controller which provides parallel operand fetching and instruction execution
US5691994A (en) * 1995-05-08 1997-11-25 Western Digital Corporation Disk drive with fast error correction validation
US5812564A (en) * 1995-05-08 1998-09-22 Western Digital Corporation Disk drive with embedded finite field processor for error correction

Also Published As

Publication number Publication date
US6378103B1 (en) 2002-04-23
KR19990085529A (ko) 1999-12-06

Similar Documents

Publication Publication Date Title
KR100265769B1 (ko) 광 디스크 시스템에서의 에러 정정 장치 및 그 에러 정정 방법
KR100415136B1 (ko) 에러정정방법,에러정정장치,데이터판독장치,및데이터맵핑방법
US7408863B2 (en) Digital signal processing method, data recording and reproducing apparatus, and data recording medium that are resistant to burst errors
US5974580A (en) Concurrent row/column syndrome generator for a product code
US7739582B2 (en) Error correction method for high density disc
US7478306B2 (en) Method of detecting error location, and error detection circuit, error correction circuit, and reproducing apparatus using the method
CN1779838B (zh) 执行可变数量的纠错重复的数字信号处理方法和装置
US7370262B2 (en) Apparatus and method generating error flag for error correction
US7640483B2 (en) Error detecting code calculation circuit, error detecting code calculation method, and recording apparatus
US20060259850A1 (en) Error correcting apparatus
US20080134004A1 (en) Recording and/or reproducing apparatus and method
US7797608B2 (en) Decoding device in optical disc drive and related decoding method thereof
KR20020063510A (ko) 정보 재생 장치
JPH1021655A (ja) 再生装置および記録再生装置
JPH11297000A (ja) データ生成方法及びデータ生成装置
US6226236B1 (en) Information data transfer system
JP3774423B2 (ja) メモリ
KR20010100509A (ko) 고밀도 광 기록매체에서의 데이터 에러정정 코드생성방법과 이에 의한 에러 정정 방법, 그리고 그 장치
KR19990049147A (ko) 에러정정방법
JPH09330569A (ja) ディジタル信号再生方法及びディジタル信号再生装置
KR100207616B1 (ko) 에러플래그 처리방법 및 회로
JP3519684B2 (ja) 誤り訂正符号を用いたデータ処理装置
JPS63298776A (ja) エラ−訂正処理方式
JP2005209310A (ja) デインターリーブ方法、デインターリーブ回路、および情報再生装置
JP2005142812A (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: 20120531

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee