KR20050078231A - Digital video disc decoding device and error correction method - Google Patents

Digital video disc decoding device and error correction method Download PDF

Info

Publication number
KR20050078231A
KR20050078231A KR1020050007986A KR20050007986A KR20050078231A KR 20050078231 A KR20050078231 A KR 20050078231A KR 1020050007986 A KR1020050007986 A KR 1020050007986A KR 20050007986 A KR20050007986 A KR 20050007986A KR 20050078231 A KR20050078231 A KR 20050078231A
Authority
KR
South Korea
Prior art keywords
syndrome
data
corrected
error correction
correction
Prior art date
Application number
KR1020050007986A
Other languages
Korean (ko)
Other versions
KR100604934B1 (en
Inventor
정승재
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/948,219 external-priority patent/US7543218B2/en
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20050078231A publication Critical patent/KR20050078231A/en
Application granted granted Critical
Publication of KR100604934B1 publication Critical patent/KR100604934B1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/58Indexing scheme relating to groups G06F7/58 - G06F7/588
    • G06F2207/581Generating an LFSR sequence, e.g. an m-sequence; sequence may be generated without LFSR, e.g. using Galois Field arithmetic
    • 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/1853Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a product code which has inner and outer parity symbols
    • 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/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Error Detection And Correction (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

디지털 비디오 디스크 디코딩 장치 및 에러 보정 방법이 개시된다. 본 발명의 실시예에 따른 디지털 비디오 디스크 디코딩 장치는 데이터에 대하여 PI(Parity Inner) 에러 보정 및 PO(Parity Outer) 에러 보정을 수행하여 호스트로 출력하는 디지털 비디오 디스크 디코딩 장치에 있어서 에러 보정 코드 엔진, 라인 버퍼부, PO 신드롬 발생부 및 메모리부를 구비한다. 에러 보정 코드(Error Correction Code) 엔진은 상기 데이터에 대하여 PI 에러 보정을 수행하고 PO 테스트 신드롬(Syndrome)들을 수신하여 PO 에러 보정을 수행한다. 라인 버퍼부는 상기 PI 에러 보정이 수행된 PI 보정 데이터를 저장한다. PO 신드롬 발생부는 상기 라인 버퍼부에서 출력되는 상기 PI 보정 데이터에 대하여 칼럼(column) 방향으로 PO 신드롬 연산을 수행하여 상기 PO 신드롬들을 출력한다. 메모리부는 상기 PO 신드롬들을 저장하고 상기 PO 신드롬들 중 0이 아닌 PO 신드롬들을 상기 PO 테스트 신드롬들로서 출력한다. 본 발명에 따른 디지털 비디오 디스크 디코딩 장치 및 에러 보정 방법은 에러 보정을 위한 엔진을 1개만을 사용하고 내부 메모리의 크기를 줄임으로써 디지털 비디오 디스크 디코딩 장치의 크기를 줄일 수 있는 장점이 있다.Disclosed are a digital video disc decoding apparatus and an error correction method. An apparatus for decoding a digital video disc according to an embodiment of the present invention includes an error correction code engine in a digital video disc decoding apparatus for performing PI (parity inner) error correction and parity outer error (PO) error correction on data and outputting the same to a host. And a line buffer section, a PO syndrome generating section, and a memory section. The Error Correction Code engine performs PI error correction on the data and receives PO test syndromes to perform PO error correction. The line buffer unit stores PI correction data on which the PI error correction is performed. The PO syndrome generator outputs the PO syndromes by performing a PO syndrome operation in a column direction on the PI correction data output from the line buffer unit. The memory unit stores the PO syndromes and outputs non-zero PO syndromes of the PO syndromes as the PO test syndromes. The digital video disc decoding apparatus and the error correction method according to the present invention have the advantage of reducing the size of the digital video disc decoding apparatus by using only one engine for error correction and reducing the size of the internal memory.

Description

디지털 비디오 디스크 디코딩 장치 및 에러 보정 방법{Digital video disc decoding device and error correction method}Digital video disc decoding device and error correction method

본 발명은 디지털 비디오 디스크 디코딩 장치 및 에러 보정 방법에 관한 것으로서, 특히 내부 메모리의 크기를 줄이고 클럭 속도를 느리게 할 수 있는 디지털 비디오 디스크 디코딩 장치 및 에러 보정 방법에 관한 것이다. 일반적으로 디지털 비디오 디스크 디코딩 장치는 재생 전용과 재생 및 기록이 가능한 두 가지 종류로 크게 구분된다. The present invention relates to a digital video disk decoding apparatus and an error correction method, and more particularly, to a digital video disk decoding apparatus and an error correction method capable of reducing the size of an internal memory and slowing down a clock speed. Generally, a digital video disc decoding apparatus is classified into two types, which can be read only and can be played back and recorded.

재생 전용의 광 디스크에 정보를 기록하는 방법은 광 디스크에 피트(pit)라고 불리는 홈을 새기고 피트가 있는 부분을 0 에 대응시키고 피트가 없는 부분(랜드)을 1 에 대응시킨다.In a method of recording information on a reproduction-only optical disc, grooves, called pits, are engrave on the optical disc, and portions with pits correspond to zero, and portions without pits (land) correspond to one.

광 디스크의 정보를 재생하는 방법은 광 디스크의 트랙을 따라 빛을 조사한 후 빛의 반사량의 차이로 1 과 0 을 판단하는 방법을 이용한다.The method of reproducing the information of the optical disc uses a method of judging 1 and 0 by the difference in the amount of reflection of light after irradiating light along the track of the optical disc.

재생 및 기록이 가능한 상 변화 광 디스크의 기록 방법은 레이저의 열에 의하여 광 디스크의 기록 막을 결정(crystalline)과 비정질(amorphous)의 2가지 상태로 변화시켜 각각 1 과 0 에 대응시키는 방법을 이용한다. 상 변화 광 디스크의 재생 방법은 재생 전용 광 디스크와 동일하게 빛의 반사량의 차이로 정보를 판단한다. 결정 상태의 반사량이 비정질 상태의 반사량보다 크다.The recording method of a phase change optical disk capable of reproducing and recording uses a method in which the recording film of the optical disk is changed into two states, crystalline and amorphous, by the heat of the laser and corresponds to 1 and 0, respectively. The reproduction method of the phase change optical disc determines information based on the difference in the amount of reflection of light, similarly to the reproduction exclusive optical disc. The amount of reflection in the crystalline state is greater than the amount of reflection in the amorphous state.

디지털 비디오 디스크 장치에서 발생되는 에러는 모든 채널에서 발생하는 랜덤 오류와 먼지나 지문 등에 의한 단연집 오류(short burst error)와 긁힘(scratch)에 의한 장연집 오류(long burst error)가 있다. 대부분의 디지털 비디오 디스크 장치에는 에러를 보완하기 위해 순방향 에러 보정 코드(Forward Error Correction Code)가 적용된다. 에러 보정 코드(Error Correction Code)중 가장 널리 알려져 있는 것이 리드 솔로몬(Reed Solomon) 코드이다.Errors occurring in a digital video disk device include random errors occurring in all channels, short burst errors caused by dust or fingerprints, and long burst errors caused by scratches. Most digital video disc devices have a Forward Error Correction Code applied to compensate for errors. The most widely known error correction code is the Reed Solomon code.

리드 솔로몬 코드는 현재 시중에 있는 CD(compact disk)나 디지털 비디오 디스크(DVD) 장치 같은 광 저장(Optical Storage) 또는 광 재생(Optical Player) 제품에 적용되고 있다. Reed Solomon codes are currently being applied to optical storage or optical player products such as compact disks (CDs) and digital video disk (DVD) devices on the market.

모든 디지털 비디오 디스크 장치의 재생을 수행하는 칩은 리드 솔로몬 코드를 디코딩 하는 회로를 가지고 있으며 이 회로의 성능과 크기는 각 회사마다 칩의 경쟁력으로 간주되고 있다. The chip that plays all the digital video disc devices has a circuit that decodes the Reed Solomon code, and the performance and size of the circuit is regarded as the chip's competitiveness.

일반적으로 디지털 비디오 디스크(DVD) 관련 제품에서 에러 보정 코드를 동작시키는 에러 보정 코드 엔진의 성능을 평가하는 방식은 다음과 같다. 첫 번째는 DVD 고배속 에러 보정을 수행할 수 있느냐의 여부이다.두 번째는 에러 보정이 반복적으로 수행되도록 할 수 있느냐의 여부이다.In general, the method of evaluating the performance of an error correction code engine that operates an error correction code in a digital video disc (DVD) related product is as follows. The first is whether or not DVD high speed error correction can be performed. The second is whether error correction can be performed repeatedly.

세 번째는 고배속 에러 보정을 수행하기 위하여 필요한 내부 메모리 크기가 얼마만큼 작은가 이다. 칩의 크기는 가능하면 작아야 한다. 왜냐하면 칩의 경쟁력은 칩의 크기와 밀접하게 관련되기 때문이다. Third, how small the internal memory size is required to perform high-speed error correction. Chip size should be as small as possible. This is because the competitiveness of the chip is closely related to the size of the chip.

네 번째는 에러 보정 수행시의 클럭 속도이고, 다섯 번째는 에러 보정 수행시의 전력소비 문제 등이다. 도 1은 디지털 비디오 디스크 장치의 일반적인 에러 보정 블록을 나타내는 도면이다.The fourth is the clock speed at the time of performing error correction, and the fifth is the power consumption problem at the time of performing the error correction. 1 is a diagram illustrating a general error correction block of a digital video disk device.

도 1을 참조하면, 에러 보정 블록은 192X172 바이트 크기의 데이터 블록과 가로 방향으로 10 바이트의 PI(Parity In) 및 세로 방향으로 16 바이트의 PO(Parity Out)를 구비한다. Referring to FIG. 1, an error correction block includes a data block having a size of 192 × 172 bytes, a parity in (PI) of 10 bytes in a horizontal direction, and a parity out (PO) of 16 bytes in a vertical direction.

도 1의 에러 보정 블록 단위로 데이터의 에러 보정이 수행된다. 에러 보정 블록에 대하여 가로 방향으로 수행되는 보정을 PI 에러 보정이라고 하고 세로 방향으로 수행되는 보정을 PO 에러 보정이라고 한다. Error correction of data is performed in units of the error correction block of FIG. 1. The correction performed in the horizontal direction with respect to the error correction block is called PI error correction and the correction performed in the vertical direction is called PO error correction.

도 2는 종래의 디지털 비디오 디스크 디코딩 장치를 설명하는 블록도이다. 2 is a block diagram illustrating a conventional digital video disc decoding apparatus.

도 2를 참조하면, 종래의 디지털 비디오 디스크 디코딩 장치(200)는 데이터(DATA)를 복조하고 복조 된 데이터(DATA)를 출력하는 복조부(210), PI 에러 보정과 PO 에러 보정을 수행하는 ECC 엔진(220) 및 SRAM(230)을 구비한다. Referring to FIG. 2, the conventional digital video disc decoding apparatus 200 demodulates data DATA and demodulator 210 for outputting demodulated data DATA, ECC for performing PI error correction and PO error correction. An engine 220 and an SRAM 230 are provided.

디지털 비디오 디스크 디코딩 장치(200)는 외부의 SDRAM(240)을 이용하여 에러 보정을 수행한다. 복조부(210)에서 처리된 데이터(DATA)를 SDRAM(240)에 저장한다(1). 그리고 ECC 엔진(220)은 SDRAM(240)으로부터 데이터(DATA)를 수신하여 PI 에러 보정을 수행하고 SRAM(230)에 저장한다.(2)The digital video disc decoding apparatus 200 performs error correction using an external SDRAM 240. The data DATA processed by the demodulator 210 is stored in the SDRAM 240 (1). The ECC engine 220 receives data DATA from the SDRAM 240, performs PI error correction, and stores the data DATA in the SRAM 230.

ECC 엔진(220)은 SRAM(230)에 저장된 PI 에러 보정이 수행된 PI 보정 데이터를 수신하여 PI 에러 보정과 PO 에러 보정을 수행한 후 다시 SRAM(230)에 저장한다.(3) The ECC engine 220 receives the PI correction data on which the PI error correction stored in the SRAM 230 is performed, performs the PI error correction and the PO error correction, and stores the PI correction data in the SRAM 230 again.

그리고, ECC 엔진(220)은 SRAM(230)에 저장된 PI 에러 보정 및 PO 에러 보정이 수행된 데이터를 외부의 SDRAM(240)에 저장한다.(4)The ECC engine 220 stores data in which the PI error correction and the PO error correction are stored in the SRAM 230 in the external SDRAM 240.

SDRAM(240)에 저장된 데이터(DATA)는 호스트로 전송된다. 도 2의 디지털 비디오 디스크 디코딩 장치(200)의 SRAM(S30)은 PI 보정 데이터와 PO 보정 데이터를 모두 저장해야하므로 약 38KB 정도의 크기를 가진다. 이와 같이 큰 사이즈의 SRAM(230)은 디지털 비디오 디스크 디코딩 장치(200)의 크기를 커지게 하는 문제가 있다. 또한 디지털 비디오 디스크 디코딩 장치(200)의 가격도 증가시키는 문제가 있다. Data DATA stored in the SDRAM 240 is transmitted to the host. The SRAM S30 of the digital video disk decoding apparatus 200 of FIG. 2 has a size of about 38 KB since both the PI correction data and the PO correction data need to be stored. The large sized SRAM 230 has a problem of increasing the size of the digital video disk decoding apparatus 200. In addition, there is a problem of increasing the price of the digital video disk decoding apparatus 200.

이런 문제점을 해결하기 위한 또 다른 디지털 비디오 디스크 디코딩 장치의 구조가 도 3에 개시된다.The structure of another digital video disc decoding apparatus for solving this problem is disclosed in FIG.

도 3은 종래의 다른 디지털 비디오 디스크 디코딩 장치를 설명하는 블록도이다. 3 is a block diagram illustrating another conventional digital video disc decoding apparatus.

도 3을 참조하면, 디지털 비디오 디스크 재생 장치(300)는 복조부(310), PI ECC 엔진(320), PO 신드롬 발생부(340), PO ECC 엔진(350) 및 SRAM(360)을 구비한다. 디지털 비디오 디스크 디코딩 장치(300)는 외부의 SDRAM(370)을 이용하여 에러 보정을 수행한다. Referring to FIG. 3, the digital video disc reproducing apparatus 300 includes a demodulator 310, a PI ECC engine 320, a PO syndrome generator 340, a PO ECC engine 350, and an SRAM 360. . The digital video disc decoding apparatus 300 performs error correction using an external SDRAM 370.

도 3의 디지털 비디오 디스크 디코딩 장치(300)는 복조부(310)에서 오는 데이터를 SDRAM(370)에 저장하지 않고 On-the-Fly 방식을 이용하여 에러 보정을 수행한다. The digital video disc decoding apparatus 300 of FIG. 3 performs error correction using an on-the-fly method without storing data from the demodulator 310 in the SDRAM 370.

즉, PI ECC 엔진(320)은 내부에 라인 버퍼(미도시)를 구비하며 복조부(310)에서 출력되는 데이터(DATA)를 라인 버퍼(미도시)에 저장한 후 저장된 데이터(DATA)에 대하여 On-the-Fly방식을 이용하여 PI 에러 보정을 수행한다.(1) PI 에러 보정이 수행된 PI 보정 데이터는 PI ECC 엔진(320) 내부의 라인 버퍼에 저장된다. 즉, PI ECC 엔진(320)은 복조부(310)에서 들어오는 데이터(DATA)를 저장하는 라인버퍼(미도시), 저장된 데이터(DATA)를 On-the-Fly방식을 이용하여 PI 에러 보정 하는 라인버퍼(미도시), 보정된 데이터(DATA)를 저장하는 라인버퍼(미도시)를 구비한다.That is, the PI ECC engine 320 has a line buffer (not shown) therein and stores the data DATA output from the demodulator 310 in the line buffer (not shown) and then stores the data DATA. PI error correction is performed using the on-the-fly method. (1) PI correction data on which PI error correction is performed is stored in a line buffer inside the PI ECC engine 320. That is, the PI ECC engine 320 is a line buffer (not shown) for storing data DATA coming from the demodulator 310, and a line for correcting PI error using the on-the-fly method. A buffer (not shown) and a line buffer (not shown) for storing the corrected data DATA are provided.

라인 버퍼에 저장된 OI에러 보정이 수행된 PI 보정 데이터는 외부의 SDRAM(370)과 PO 신드롬 발생부(340)로 동시에 인가된다.( 2)  The PI correction data on which the OI error correction stored in the line buffer is performed is simultaneously applied to the external SDRAM 370 and the PO syndrome generator 340. (2)

PO 신드롬 발생부(340)는 PI 보정 데이터에 대하여 소정의 알고리즘에 따른 연산을 수행하여 PO 신드롬들을 출력하여 SRAM(360)으로 인가한다.( 3) PO 신드롬들을 발생하기 위한 소정의 연산은 PI ECC 엔진(320)에서 수행되는 PI 에러 보정과 동시에 수행된다. 즉, PI 에러 보정이 수행되는 동안 이미 PI 에러 보정이 수행된 이전 프레임의 PI 보정 데이터에 대하여 PO 신드롬들을 구하는 연산이 수행되는 것이다. The PO syndrome generator 340 performs calculation according to a predetermined algorithm on the PI correction data, and outputs the PO syndromes to the SRAM 360. (3) The predetermined operation for generating PO syndromes is PI ECC. It is performed simultaneously with the PI error correction performed in the engine 320. That is, while PI error correction is performed, an operation for obtaining PO syndromes is performed on PI correction data of a previous frame in which PI error correction has already been performed.

또한 이때 PO ECC 엔진(350)은 이미 이 전 프레임에서 발생된 PO 신드롬들에 대하여 PO 에러 보정을 수행한다.(4) At this time, the PO ECC engine 350 performs PO error correction on PO syndromes generated in the previous frame.

PI ECC 엔진(320)에서의 PI 에러 보정 동작과 PO 신드롬 발생부(340)에서의 PO 신드롬들을 구하기 위한 연산 동작 및 SRAM(360)에 저장된 이전 프레임의 PO 신드롬들에 대한 PO 에러 보정 동작은 동시에 수행된다.The PI error correction operation in the PI ECC engine 320 and the operation operation for obtaining the PO syndromes in the PO syndrome generator 340 and the PO error correction operation for the PO syndromes of the previous frame stored in the SRAM 360 are simultaneously performed. Is performed.

PO ECC 엔진(350)에서 얻어진 PO 보정 데이터는 SDRAM(370)으로 저장되고( 5) PO 보정 데이터는 외부의 호스트로 출력된다.PO correction data obtained from the PO ECC engine 350 is stored in the SDRAM 370 (5) and the PO correction data is output to an external host.

도 3의 디지털 비디오 디스크 재생 장치(300)의 SRAM(360)은 PO 신드롬 발생부(340)에서 발생되는 PO 신드롬들을 저장하기 위하여 필요한 2.7KB 와 PO ECC 엔진(350)에서 PO 에러 보정을 수행하기 위한 이전 프레임의 PO 신드롬들을 저장하기 위하여 필요한 2.7KB, 또 디지털 비디오 디스크의 특성상 인터리브(Interleave) 된 데이터를 저장하기 위하여 필요한 2.7KB를 모두 구비하여야 한다.The SRAM 360 of the digital video disc reproducing apparatus 300 of FIG. 3 performs PO error correction in the PO ECC engine 350 and 2.7 KB required for storing PO syndromes generated by the PO syndrome generator 340. 2.7 KB necessary for storing PO syndromes of the previous frame, and 2.7 KB necessary for storing interleaved data due to the characteristics of a digital video disc.

그러므로 도 3의 디지털 비디오 디스크 재생 장치(300)의 SRAM(360)은 약 8KB의 저장 공간이 필요하다. 도 3의 디지털 비디오 디스크 재생 장치(300)는 두 개의 ECC 엔진, 즉 PI ECC 엔진(320)과 PO ECC 엔진(350)을 별도로 구비하는 문제가 있다. 또한, 도 2의 디지털 비디오 디스크 재생 장치(200)와 달리 복조부(310)에서 출력되는 데이터(DATA)에 대하여 직접 PI 에러 보정이 수행되므로 반복적인 보정이 어려우며 에러가 존재하건 존재하지 아니하건 모든 PO 신드롬들에 대하여 PO 에러 보정이 수행되므로 큰 전력 소비와 클럭 속도도 빨라야 하는 문제가 있다. Therefore, the SRAM 360 of the digital video disc reproducing apparatus 300 of FIG. 3 needs about 8 KB of storage space. The digital video disc reproducing apparatus 300 of FIG. 3 has two ECC engines, that is, a PI ECC engine 320 and a PO ECC engine 350 separately. In addition, unlike the digital video disc reproducing apparatus 200 of FIG. 2, since PI error correction is directly performed on the data DATA output from the demodulator 310, iterative correction is difficult and all errors exist or not exist. Since PO error correction is performed on the PO syndromes, a large power consumption and a clock speed also need to be fast.

본 발명이 이루고자하는 기술적 과제는 내부의 메모리 사이즈 및 소비 전력을 줄일 수 있는 디지털 비디오 디스크 재생 장치를 제공하는데 있다.SUMMARY OF THE INVENTION The present invention has been made in an effort to provide a digital video disc reproducing apparatus capable of reducing internal memory size and power consumption.

본 발명이 이루고자하는 다른 기술적 과제는 내부의 메모리 사이즈 및 소비 전력을 줄일 수 있는 디지털 비디오 디스크 재생 장치의 에러 보정 방법을 제공하는데 있다. Another object of the present invention is to provide an error correction method of a digital video disc reproducing apparatus that can reduce internal memory size and power consumption.

상기 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 디지털 비디오 디스크 디코딩 장치는 데이터에 대하여 PI(Parity Inner) 에러 보정 및 PO(Parity Outer) 에러 보정을 수행하여 호스트로 출력하는 디지털 비디오 디스크 디코딩 장치에 있어서 에러 보정 코드 엔진, PO 신드롬 발생부 및 메모리부를 구비한다. The digital video disk decoding apparatus according to the embodiment of the present invention for achieving the above technical problem is a digital video disk decoding apparatus that outputs to the host by performing a PI (Parity Inner) error correction and Parity Outer (PO) error correction on the data An error correction code engine, a PO syndrome generating unit and a memory unit are provided.

에러 보정 코드(Error Correction Code) 엔진은 상기 데이터에 대하여 PI 에러 보정을 수행하고 PO 테스트 신드롬(Syndrome)들을 수신하여 PO 에러 보정을 수행한다. The Error Correction Code engine performs PI error correction on the data and receives PO test syndromes to perform PO error correction.

PO 신드롬 발생부는 상기 에러 보정 코드 엔진에서 출력되는 상기 PI 보정 데이터에 대하여 칼럼(column) 방향으로 PO 신드롬 연산을 수행하여 상기 PO 신드롬들을 출력한다. The PO syndrome generator outputs the PO syndromes by performing a PO syndrome operation in a column direction on the PI correction data output from the error correction code engine.

메모리부는 상기 PO 신드롬들을 저장하고 상기 PO 신드롬들 중 0이 아닌 PO 신드롬들을 상기 PO 테스트 신드롬들로서 출력한다. The memory unit stores the PO syndromes and outputs non-zero PO syndromes of the PO syndromes as the PO test syndromes.

상기 메모리부는 제 1 메모리, 검출부 및 어드레스 발생부를 구비한다.제 1 메모리는 상기 PO 신드롬들을 저장하고 PO 신드롬 어드레스에 대응되는 PO 신드롬들을 상기 PO 테스트 신드롬들로서 상기 에러 보정 코드 엔진으로 출력한다. The memory unit includes a first memory, a detector, and an address generator. The first memory stores the PO syndromes and outputs PO syndromes corresponding to the PO syndrome address as the PO test syndromes to the error correction code engine.

검출부는 상기 제 1 메모리의 각각의 어드레스에 대응되는 상기 PO 신드롬들 중 하나라도 0 이 아닌 PO 신드롬이 존재하면 검출 신호를 제 1 레벨로 발생하고 그렇지 아니하면 상기 검출 신호를 제 2 레벨로 발생한다. The detection unit generates a detection signal at a first level if any one of the PO syndromes corresponding to each address of the first memory exists, and if not, generates the detection signal at a second level. .

어드레스 발생부는 제 1 레벨로 발생되는 상기 검출 신호에 대응되는 상기 제 1 메모리의 어드레스를 상기 PO 신드롬 어드레스로서 출력한다. The address generator outputs the address of the first memory corresponding to the detection signal generated at the first level as the PO syndrome address.

상기 제 1 메모리는 상기 에러 보정 코드 엔진으로 입력되는 상기 데이터의 가로 방향의 바이트 수에 대응되는 수의 상기 어드레스를 구비하고, 상기 각각의 어드레스는 16 바이트 크기를 가지며, 상기 PI 보정 데이터의 동일한 칼럼에 대하여 얻어진 상기 PO 신드롬들을 저장한다. The first memory has the addresses corresponding to the number of bytes in the horizontal direction of the data input to the error correction code engine, each address having a size of 16 bytes, and the same column of the PI correction data. Store the PO syndromes obtained for.

검출 로직은 상기 제 1 메모리의 상기 어드레스에 대응되는 상기 PO 신드롬들에 응답하여 상기 검출 신호를 발생한다. 182 비트의 플립플롭은 상기 검출 신호를 저장한다. The detection logic generates the detection signal in response to the PO syndromes corresponding to the address of the first memory. A flip-flop of 182 bits stores the detection signal.

디지털 비디오 디스크 디코딩 장치는 외부에서 입력되는 상기 데이터 또는 상기 PI 보정 데이터를 상기 에러 보정 코드 엔진으로 인가하고, 상기 에러 보정 코드 엔진으로부터 상기 PI 보정 데이터 또는 상기 PO 에러 보정이 수행된 PO 보정 데이터를 수신하여 저장하며 상기 외부 호스트로 상기 PO 보정 데이터를 출력하는 외부 메모리를 더 구비한다. The digital video disc decoding apparatus applies the externally input data or the PI correction data to the error correction code engine, and receives the PI correction data or the PO correction data on which the PO error correction is performed from the error correction code engine. And an external memory for storing and outputting the PO correction data to the external host.

상기 다른 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 디지털 비디오 디스크 디코딩 장치의 에러 보정 방법은 데이터에 대하여 PI(Parity Inner) 에러 보정 및 PO(Parity Outer) 에러 보정을 수행하여 호스트로 출력하는 디지털 비디오 디스크 디코딩 장치의 에러 보정 방법에 있어서, 상기 데이터에 대하여 PI 에러 보정을 수행하는 단계, 상기 PI 에러 보정이 수행된 PI 보정 데이터에 대하여 칼럼(column) 방향으로 PO 신드롬 연산을 수행하여 PO 신드롬들을 출력하는 단계, 상기 PO 신드롬들 중 0이 아닌 PO 신드롬들을 판단하는 단계, 상기 0이 아닌 PO 신드롬들에 대하여 PO 에러 보정을 수행하는 단계 및 상기 PO 에러 보정이 수행된 PO 보정 데이터를 상기 호스트로 출력하는 단계를 구비한다. According to another aspect of the present invention, there is provided an error correction method of a digital video disk decoding apparatus, which performs a PI (Parity Inner) error correction and a PO (Parity Outer) error correction on data and outputs the result to a host. An error correction method of a digital video disc decoding apparatus, the method comprising: performing a PI error correction on the data, performing a PO syndrome operation in a column direction on the PI correction data on which the PI error correction has been performed; Outputting the data, determining non-zero PO syndromes among the PO syndromes, performing PO error correction on the non-zero PO syndromes, and performing the PO correction data on which the PO error correction is performed. And outputting to.

상기 0이 아닌 PO 신드롬들을 판단하는 단계는 상기 PI 보정 데이터의 동일한 칼럼에 대하여 상기 PO 신드롬 연산을 수행하여 얻어진 상기 PO 신드롬들을 각각의 어드레스에 대응시키는 단계, 각각의 어드레스에 대응되는 상기 PO 신드롬들 중 하나라도 0 이 아닌 PO 신드롬이 존재하면 검출 신호를 제 1 레벨로 발생하고 그렇지 아니하면 상기 검출 신호를 제 2 레벨로 발생하는 단계, 제 1 레벨로 발생되는 상기 검출 신호에 대응되는 상기 어드레스를 PO 신드롬 어드레스로서 출력하는 단계 및 상기 PO 신드롬 어드레스에 대응되는 상기 어드레스의 PO 신드롬들을 출력하는 단계를 구비한다. 상기 어드레스의 개수는 상기 데이터의 가로 방향의 바이트 수에 대응되는 수이고, 상기 각각의 어드레스는 16 바이트 크기를 가진다. 상기 PI 에러 보정을 수행하는 단계 및 PO 신드롬들을 출력하는 단계는 파이프라인(pipeline) 방식에 의하여 수행된다. The determining of the non-zero PO syndromes may include: mapping the PO syndromes obtained by performing the PO syndrome operation on the same column of the PI correction data to each address, and the PO syndromes corresponding to each address. If any one of the non-zero PO syndromes is present, generating a detection signal at a first level; otherwise, generating the detection signal at a second level, and detecting the address corresponding to the detection signal generated at the first level. Outputting as a PO syndrome address and outputting PO syndromes of the address corresponding to the PO syndrome address. The number of addresses corresponds to the number of bytes in the horizontal direction of the data, and each address has a size of 16 bytes. Performing the PI error correction and outputting the PO syndromes are performed by a pipeline method.

상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 DVD-포맷 데이터 디코딩 방법은 DVD(digital versatile disk)-포맷 데이터의 복조된 에러 보정 코드(error correction code: ECC) 블록을 수신하는 단계, 상기 복조된 ECC 블록을 선택적으로 패리티 내부 코드 보정(parity-of-inner-code-correcting: PI-보정)하는 단계, 패리티 외부 코드 보정(parity-of-outer-code-correcting: PO-보정)되는 상기 PI-보정된 블록 내의 임의의 잘못된 칼럼을 식별하는 단계 및 상기 잘못된 PI-보정된 칼럼들만을 선택적으로 PO-보정하여 ECC 블록의 디코딩된 버전을 획득하는 단계를 구비한다. According to another aspect of the present invention, there is provided a DVD-format data decoding method comprising: receiving a demodulated error correction code (ECC) block of digital versatile disk (DVD) -formatted data; Selectively parity-of-inner-code-correcting (PI-correction) the demodulated ECC block, parity-of-outer-code-correcting (PO-correction) Identifying any false columns in the PI-corrected block and selectively PO-correcting only the wrong PI-corrected columns to obtain a decoded version of an ECC block.

상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 DVD-포맷 데이터 디코딩 장치는 DVD-포맷 데이터의 복조된 ECC 블록이 저장된 외부 메모리, 상기 복조된 ECC 블록을 선택적으로 PI-보정하는 ECC 엔진 및 PO-보정을 받아야하는 상기 PI-보정된 블록 내의 임의의 잘못된 칼럼을 식별하고, ECC 블록의 디코딩된 버전을 획득하기 위해서 상기 ECC 엔진이 상기 잘못된 PI-보정된 칼럼들만을 선택적으로 PO-보정하도록 하는 PO 결정(PO-decision) 로직을 구비한다. According to another aspect of the present invention, there is provided a DVD-format data decoding apparatus including an external memory in which a demodulated ECC block of DVD-format data is stored, and an ECC engine for selectively PI-correcting the demodulated ECC block. And selectively identify only the invalid PI-corrected columns by the ECC engine to identify any invalid columns in the PI-corrected block that are subject to PO-correction, and to obtain a decoded version of an ECC block. PO-decision logic to enable

상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 DVD-포맷 데이터 디코딩 장치는DVD-포맷 데이터의 ECC 블록을 수신하는 수단, 상기 복조된 ECC 블록을 선택적으로 PI-보정하는 수단, PO-보정을 받아야하는 상기 PI-보정된 블록 내의 임의의 잘못된 칼럼을 식별하는 수단 및 상기 잘못된 PI-보정된 칼럼들만을 선택적으로 PO-보정하여 ECC 블록의 디코딩된 버전을 획득하는 수단을 구비한다. According to another aspect of the present invention, there is provided a DVD-format data decoding apparatus, comprising: means for receiving an ECC block of DVD-format data, means for selectively PI-correcting the demodulated ECC block, and PO- Means for identifying any invalid columns in the PI-corrected block to be corrected and means for selectively PO-correcting only the invalid PI-corrected columns to obtain a decoded version of an ECC block.

상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 DVD-포맷 데이터 디코딩 방법은 DVD-포맷 데이터의 복조된 ECC 블록을 수신하는 단계, 상기 복조된 ECC 블록을 선택적으로 PI-보정하기 위해서 ECC 엔진을 사용하는 단계 및 모든 상기 PI-보정된 블록 미만으로 선택적으로 PO-보정하기 위해서 상기 ECC 엔진을 사용하는 단계를 구비한다. According to another aspect of the present invention, there is provided a method for decoding a DVD-format data, the method comprising: receiving a demodulated ECC block of DVD-format data, and selectively performing PI-correction on the demodulated ECC block. Using the engine and using the ECC engine to selectively PO-correct to less than all of the PI-corrected blocks.

상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 DVD-포맷 데이터 디코딩 장치는 DVD-포맷 데이터의 복조된 ECC 블록을 저장하는 외부 메모리, 상기 복조된 ECC 블록을 선택적으로 PI-보정하도록 동작 가능한 ECC엔진 및 상기 ECC 엔진이 상기 PI-보정된 모든 블록 미만으로 선택적으로 PO-보정하도록 하는 PO 결정 로직을 구비한다. According to another aspect of the present invention, there is provided an apparatus for decoding a DVD-formatted data, including: an external memory storing a demodulated ECC block of DVD-formatted data, and selectively PI-correcting the demodulated ECC block. Possible ECC engines and PO decision logic to allow the ECC engine to selectively PO-correct to less than all of the PI-corrected blocks.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.DETAILED DESCRIPTION In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings which illustrate preferred embodiments of the present invention and the contents described in the drawings.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.

도 4는 본 발명의 실시예에 따른 디지털 비디오 디스크 디코딩 장치의 구조를 설명하는 블록도이다.4 is a block diagram illustrating a structure of a digital video disc decoding apparatus according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 실시예에 따른 디지털 비디오 디스크 디코딩 장치(400)는 에러 보정 코드 엔진(410), PO 신드롬 발생부(430) 및 메모리부(440)를 구비한다. Referring to FIG. 4, the digital video disc decoding apparatus 400 according to an embodiment of the present invention includes an error correction code engine 410, a PO syndrome generator 430, and a memory 440.

에러 보정 코드(Error Correction Code) 엔진(410)은 내부의 라인 버퍼(미도시)에 저장된 데이터(DATA)에 대하여 PI 에러 보정을 수행하고 PO 테스트 신드롬(Syndrome)들(PO_ST)을 수신하여 PO 에러 보정을 수행한다. The error correction code engine 410 performs PI error correction on data DATA stored in an internal line buffer (not shown) and receives PO test syndromes (PO_ST) to receive a PO error. Perform the calibration.

신드롬은 매트릭스 곱으로, 참인 데이터를 나타내는 데이터들 중에서 몇몇 잠재적으로-노이즈-오류가 발생될(potentially-noise-corrupted) 후보(candidate) 데이터들을 식별하는데 이용된다. 좀 더 상세하게, 신드롬은 패리티 체크 매트릭스와 후보 데이터 벡터와의 곱이다.Syndrome is a matrix product that is used to identify some potentially-noise-corrupted candidate data among data representing true data. More specifically, the syndrome is the product of the parity check matrix and the candidate data vector.

PO 신드롬 발생부(430)는 에러 보정 코드 엔진(410)에서 출력되는 PI 보정 데이터(PI_D)에 대하여 칼럼(column) 방향으로 PO 신드롬 연산을 수행하여 PO 신드롬들(PO_S)을 출력한다. 즉 PO 신드롬 발생부(430)는 하나의 프레임(Frame) 내에서 하나의 데이터(DATA) 라인이 입력되면 이전 데이터(DATA) 라인의 PO 신드롬들(PO_S)과 칼럼(Column)방향으로 PO신드롬 연산을 다시 수행하여 새로운 PO 신드롬들(PO_S)의 값을 메모리부(440)로 전송한다.The PO syndrome generator 430 outputs PO syndromes PO_S by performing a PO syndrome operation in a column direction on the PI correction data PI_D output from the error correction code engine 410. That is, when one data line is input in one frame, the PO syndrome generator 430 calculates a PO syndrome in the direction of the PO syndromes PO_S and the columns of the previous data line. Next, the values of the new PO syndromes PO_S are transmitted to the memory unit 440.

메모리부(440)는 PO 신드롬들(PO_S)을 저장하고 PO 신드롬들(PO_S) 중 0이 아닌 PO 신드롬들을 PO 테스트 신드롬들(PO_ST)로서 출력한다. 에러 보정 코드 엔진(410)은 PI 에러 보정과 PO 에러 보정을 동시에 수행하지 아니한다. The memory unit 440 stores the PO syndromes PO_S and outputs non-zero PO syndromes among the PO syndromes PO_S as PO test syndromes PO_ST. The error correction code engine 410 does not perform PI error correction and PO error correction at the same time.

도 5는 도 4의 메모리부의 구조를 설명하는 블록도이다.FIG. 5 is a block diagram illustrating a structure of the memory unit of FIG. 4.

도 5의 메모리부의 구조 및 동작에 대한 설명은 후술된다. The structure and operation of the memory of FIG. 5 will be described later.

도 6은 본 발명의 다른 실시예에 따른 디지털 비디오 디스크 디코딩 장치의 에러 보정 방법을 설명하는 플로우 차트이다.6 is a flowchart illustrating an error correction method of a digital video disc decoding apparatus according to another embodiment of the present invention.

도 6을 참조하면, 디지털 비디오 디스크 디코딩 장치의 에러 보정 방법(600)은 상기 데이터에 대하여 PI 에러 보정을 수행하는 610 단계, 상기 PI 에러 보정이 수행된 PI 보정 데이터에 대하여 칼럼(column) 방향으로 PO 신드롬 연산을 수행하여 PO 신드롬들을 출력하는 620 단계, 상기 PO 신드롬들 중 0이 아닌 PO 신드롬들을 판단하는 630 단계, 상기 0이 아닌 PO 신드롬들에 대하여 PO 에러 보정을 수행하는 640 단계 및 상기 PO 에러 보정이 수행된 PO 보정 데이터를 상기 호스트로 출력하는 650 단계를 구비한다. 도 7은 도 6의 630 단계의 동작을 설명하는 플로우 차트이다.Referring to FIG. 6, in step 610, an error correction method 600 of a digital video disc decoding apparatus performs PI error correction on the data, in a column direction with respect to PI correction data on which the PI error correction has been performed. Step 620 of outputting PO syndromes by performing a PO syndrome operation, step 630 of determining non-zero PO syndromes among the PO syndromes, step 640 of performing PO error correction on the non-zero PO syndromes, and the PO And 650 outputting PO correction data on which error correction is performed to the host. 7 is a flowchart illustrating an operation of step 630 of FIG. 6.

이하, 도 4 내지 도 7을 참조하여 본 발명의 실시예에 따른 디지털 비디오 디스크 디코딩 장치의 동작 및 그 에러 보정 방법이 상세히 설명된다. Hereinafter, an operation of an apparatus for decoding a digital video disc according to an embodiment of the present invention and an error correction method thereof will be described in detail with reference to FIGS. 4 to 7.

도 4의 디지털 비디오 디스크 디코딩 장치(400)는 종래 기술의 문제점인 내부 메모리의 사이즈를 줄이고 소비 전력을 감소시키며 동작을 위한 클럭 속도를 떨어뜨릴 수 있다. The digital video disc decoding apparatus 400 of FIG. 4 may reduce the size of the internal memory, reduce power consumption, and reduce a clock speed for operation, which is a problem of the prior art.

먼저, 데이터(DATA)에 대하여 PI 에러 보정을 수행한다.(610 단계) 610 단계는 에러 보정 코드 엔진(410)에서 수행된다. PI 에러 보정이 수행되기 전에 복조부(450)는 복조 된 데이터(DATA)를 외부 메모리(460)로 인가한다. First, PI error correction is performed on the data DATA (step 610). Step 610 is performed by the error correction code engine 410. Before the PI error correction is performed, the demodulator 450 applies the demodulated data DATA to the external memory 460.

외부 메모리(460)는 복조부(450)에서 입력되는 데이터(DATA) 또는 PI 보정 데이터(PI_D)를 에러 보정 코드 엔진(410)으로 인가하고, 에러 보정 코드 엔진(410)으로부터 PI 보정 데이터(PI_D) 또는 PO 에러 보정이 수행된 PO 보정 데이터(PO_D)를 수신하여 저장한다.또한, 외부 메모리(460)는 외부 호스트로 PO 보정 데이터(PO_D)를 출력한다. 외부 메모리(460)는 SDRAM(Synchronous Dynamic Random Access Memory) 이다. The external memory 460 applies the data DATA or PI correction data PI_D input from the demodulator 450 to the error correction code engine 410, and the PI correction data PI_D from the error correction code engine 410. Or the PO correction data PO_D on which the PO error correction is performed, and stores the received PO correction data PO_D. The external memory 460 also outputs the PO correction data PO_D to the external host. The external memory 460 is a synchronous dynamic random access memory (SDRAM).

에러 보정 코드 엔진(410)은 외부 메모리(460)로부터 복조된 데이터(DATA)를 수신하고 데이터(DATA)에 대하여 PI 에러 보정을 수행한다. 그리고 PI 에러 보정에 의하여 발생된 PI 보정 데이터(PI_D)를 PO 신드롬 발생부(430)와 외부 메모리(460)로 동시에 인가한다.The error correction code engine 410 receives demodulated data DATA from the external memory 460 and performs PI error correction on the data DATA. The PI correction data PI_D generated by the PI error correction is simultaneously applied to the PO syndrome generator 430 and the external memory 460.

외부 메모리(460)에 저장된 PI 보정 데이터(PI_D)는 후에 PO 에러 보정 수행시 이용된다.The PI correction data PI_D stored in the external memory 460 is used later when performing the PO error correction.

에러 보정 코드엔진(410) 내부의 라인 버퍼(미도시)는 에러 보정 코드 엔진(410)에서 출력되는 PI 보정 데이터(PI_D)를 저장함과 동시에 이미 저장되어 있던 이전 프레임의 PI 보정 데이터(PI_D)를 PO 신드롬 발생부(430)로 인가한다. The line buffer (not shown) inside the error correction code engine 410 stores PI correction data PI_D output from the error correction code engine 410 and simultaneously stores the PI correction data PI_D of the previous frame. Applies to the PO syndrome generator 430.

PI 보정 데이터(PI_D)에 대하여 칼럼(column) 방향으로 PO 신드롬 연산을 수행하여 PO 신드롬들을 출력한다.(620 단계) 620 단계는 PO 신드롬 발생부(430)에서 수행된다. PO syndromes are output on the PI correction data PI_D in a column direction (step 620). Step 620 is performed by the PO syndrome generator 430.

PO 신드롬 연산은 에러 보정 코드 엔진(410)에서 수행되는 PI 에러 보정과 동시에 수행된다. PI 신드롬 연산에 대하여 좀 더 설명된다.The PO syndrome operation is performed simultaneously with the PI error correction performed by the error correction code engine 410. More details on the PI syndrome operation are given.

데이터(DATA)가 도 1과 같이 로우(row) 방향으로 172 바이트의 데이터와 10 바이트의 PI를 구비하고, 칼럼(column) 방향으로 192 바이트의 데이터와 16 바이트의 PO를 구비한다고 가정한다. PI 보정 데이터(PI_D)는 10 바이트의 PI를 이용하여 로우 방향으로 에러 보정이 수행된 후의 데이터이다. It is assumed that the data DATA has 172 bytes of data and 10 bytes of PI in the row direction and 192 bytes of data and 16 bytes of PO in the column direction as shown in FIG. 1. The PI correction data PI_D is data after error correction is performed in the row direction using a 10-byte PI.

PO 에러 보정은 PI 보정 데이터(PI_D)에 칼럼 방향으로 에러 보정을 수행하는 동작이다. 그러나 본 발명에서는 PI 보정 데이터(PI_D)에 대하여 PO 에러 보정을 수행하기 전에 PO 신드롬 연산을 수행한다.PO 신드롬 연산은 PI 보정 데이터(PI_D)의 하나의 로우(row)의 각각의 데이터와 이전 로우(row)의 각각의 데이터에 대하여 얻어진 PO 신드롬들을 가지고 소정의 알고리즘에 따른 연산을 수행하는 것이다. The PO error correction is an operation of performing error correction in the column direction on the PI correction data PI_D. However, in the present invention, the PO syndrome operation is performed before the PO error correction is performed on the PI correction data PI_D. The PO syndrome operation is performed on each data of one row of the PI correction data PI_D and the previous row. An operation according to a predetermined algorithm is performed with the PO syndromes obtained for each data of (row).

이러한 PO 신드롬 연산을 데이터(DATA)의 첫 번째 로우부터 208번째 로우까지 수행하여 최종 PO 신드롬들(PO_S)이 얻어지고 PO 신드롬들(PO_S)은 메모리부(440)에 저장된다. The PO syndrome operation is performed from the first row to the 208th row of data DATA to obtain final PO syndromes PO_S, and the PO syndromes PO_S are stored in the memory unit 440.

PO 신드롬들(PO_S) 중 0이 아닌 PO 신드롬들을 판단한다.(630 단계) 630 단계의 동작은 메모리부(440)에서 수행된다. 메모리부(440)는 PO 신드롬들(PO_S)을 저장하고 PO 신드롬들(PO_S) 중 0이 아닌 PO 신드롬들을 PO 테스트 신드롬들(PO_ST)로서 에러 보정 코드 엔진(410)으로 출력한다. 메모리부(440)는 제 1 메모리(510), 검출부(515) 및 어드레스 발생부(540)를 구비한다.The non-zero PO syndromes are determined among the PO syndromes PO_S (operation 630). The operation of operation 630 is performed by the memory unit 440. The memory unit 440 stores the PO syndromes PO_S and outputs non-zero PO syndromes among the PO syndromes PO_S to the error correction code engine 410 as PO test syndromes PO_ST. The memory unit 440 includes a first memory 510, a detector 515, and an address generator 540.

제 1 메모리(510)는 PO 신드롬들(PO_S)을 저장하고 PO 신드롬 어드레스(PO_SADD)에 대응되는 PO 신드롬들을 PO 테스트 신드롬들(PO_ST)로서 에러 보정 코드 엔진(410)으로 출력한다. 제 1 메모리(510)는 SRAM(Synchronous Random Access Memory)이다. The first memory 510 stores the PO syndromes PO_S and outputs the PO syndromes corresponding to the PO syndrome address PO_SADD to the error correction code engine 410 as PO test syndromes PO_ST. The first memory 510 is a synchronous random access memory (SRAM).

좀 더 설명하면, 제 1 메모리(510)는 에러 보정 코드 엔진(410)으로 입력되는 데이터(DATA)의 가로 방향의 바이트 수에 대응되는 수의 어드레스를 구비한다. 도 1에서 데이터(DATA)는 로우(row) 방향으로 182 바이트이므로 제 1 메모리(510)는 182 개의 어드레스를 가진다. 제 1 메모리(510)의 182 개의 어드레스는 각각 16 바이트의 저장 공간을 가진다. PI 보정 데이터(PI_D)의 동일한 칼럼에 대하여 얻어진 PO 신드롬들(PO_S)이 대응되는 어드레스의 16 바이트 공간에 저장된다. In more detail, the first memory 510 has an address corresponding to the number of bytes in the horizontal direction of the data DATA input to the error correction code engine 410. In FIG. 1, since the data DATA is 182 bytes in a row direction, the first memory 510 has 182 addresses. Each of the 182 addresses of the first memory 510 has a storage space of 16 bytes. PO syndromes PO_S obtained for the same column of PI correction data PI_D are stored in a 16-byte space of the corresponding address.

208 개의 로우(row) 방향 데이터의 첫 번째 바이트들에 대하여 수행된 PO 신드롬 연산의 결과인 PO 신드롬이 제 1 메모리(510)의 1번 어드레스의 16 바이트 공간에 저장된다. The PO syndrome, which is the result of the PO syndrome operation performed on the first bytes of 208 row direction data, is stored in a 16 byte space of address 1 of the first memory 510.

208 개의 로우(row) 방향 데이터의 두 번째 바이트들에 대하여 수행된 PO 신드롬 연산의 결과인 PO 신드롬이 제 1 메모리(510)의 2번 어드레스의 16 바이트 공간에 저장된다. The PO syndrome, which is the result of the PO syndrome operation performed on the second bytes of 208 row direction data, is stored in a 16 byte space of address 2 of the first memory 510.

마찬가지로 208 개의 로우(row) 방향 데이터의 182 번째 바이트들에 대하여 수행된 PO 신드롬 연산의 결과인 PO 신드롬이 제 1 메모리(510)의 182번 어드레스의 16 바이트 공간에 저장된다. PO 신드롬 발생부(430)에서 수행되는 PO 신드롬 연산은 PI 에러 보정과 동시에 수행된다. 종래에는 PI 에러 보정과 PO 신드롬 연산과 PO 에러 보정이 동시에 수행된다. 그러나 종래와 달리 본 발명의 실시예에서는 PI 에러 보정과 PO 에러 보정은 동시에 수행되지 아니한다.Similarly, the PO syndrome, which is a result of the PO syndrome operation performed on the 182 th bytes of the 208 row direction data, is stored in the 16 byte space of the address 182 of the first memory 510. The PO syndrome operation performed by the PO syndrome generator 430 is performed simultaneously with the PI error correction. Conventionally, PI error correction, PO syndrome calculation, and PO error correction are simultaneously performed. However, unlike the related art, PI error correction and PO error correction are not performed simultaneously in the embodiment of the present invention.

즉, PO 에러 보정은 PI 에러 보정과 PO 신드롬 연산이 끝난 후에 수행된다. 에러 보정 코드 엔진(410)이 제 1 메모리(510)에서 출력되는 PO 테스트 신드롬들(PO_ST)을 수신하여 PO 에러 보정을 수행한다. 도 3의 종래의 디지털 비디오 디스크 디코딩 장치(300)의 SRAM(360)의 크기는 약 8KB 이었으나 본 발명의 제 1 메모리(510)의 크기는 PO 신드롬 발생부(430)에서 출력되는 PO 신드롬들(PO_S)만 저장하면 되므로 약 3KB 정도이다. That is, PO error correction is performed after the PI error correction and the PO syndrome operation are completed. The error correction code engine 410 receives PO test syndromes PO_ST output from the first memory 510 to perform PO error correction. The size of the SRAM 360 of the conventional digital video disk decoding apparatus 300 of FIG. 3 was about 8 KB, but the size of the first memory 510 of the present invention is the PO syndromes output from the PO syndrome generator 430. Since only PO_S) needs to be stored, it is about 3KB.

이와 같이 본 발명의 실시예에 따른 디지털 비디오 디스크 디코딩 장치(400)는 내부에 저장되는 메모리의 사이즈를 줄일 수 있다. As such, the digital video disc decoding apparatus 400 according to the embodiment of the present invention can reduce the size of a memory stored therein.

검출부(515)는 제 1 메모리(510)의 각각의 어드레스에 대응되는 PO 신드롬들(PO_S) 중 하나라도 0 이 아닌 PO 신드롬이 존재하면 검출 신호(DS)를 제 1 레벨로 발생하고 그렇지 아니하면 검출 신호(DS)를 제 2 레벨로 발생한다. 여기서, 제 1 레벨은 1 이고 상기 제 2 레벨은 0 이다. 그러나 제 1 레벨과 제 2 레벨의 논리 값이 반대일 수 있다는 것은 당업자라면 이해할 수 있을 것이다. The detection unit 515 generates the detection signal DS to the first level if any one of the PO syndromes PO_S corresponding to each address of the first memory 510 has a non-zero PO syndrome. The detection signal DS is generated at the second level. Here, the first level is 1 and the second level is 0. However, it will be understood by those skilled in the art that the logic values of the first and second levels may be reversed.

검출부(515)는 검출 로직(520) 및 182 비트의 플립플롭(530)을 구비한다. 검출 로직(520)은 제 1 메모리(510)의 어드레스에 대응되는 상기 PO 신드롬들에 응답하여 검출 신호(DS)를 발생한다. The detector 515 includes a detection logic 520 and a flip-flop 530 of 182 bits. The detection logic 520 generates a detection signal DS in response to the PO syndromes corresponding to the address of the first memory 510.

제 1 메모리(510)의 1 번 어드레스의 16 바이트 공간에 저장된 PO 신드롬들이 검출 로직(520)으로 인가되면 검출 로직(520)은 수신된 PO 신드롬들(PO_S) 중 0 이 아닌 PO 신드롬이 존재하는 지를 검토한다. When PO syndromes stored in the 16-byte space of address 1 of the first memory 510 are applied to the detection logic 520, the detection logic 520 may have a non-zero PO syndrome among the received PO syndromes PO_S. Review the magazine.

그리고 0 이 아닌 PO 신드롬이 하나라도 존재하면 검출 신호(DS)를 제 1 레벨로 출력하고 그렇지 아니하면 검출 신호(DS)를 제 2 레벨로 출력한다. If there is at least one non-zero PO syndrome, the detection signal DS is output at the first level, otherwise the detection signal DS is output at the second level.

마찬가지로, 제 1 메모리(510)의 182 번 어드레스의 16 바이트 공간에 저장된 PO 신드롬들이 검출 로직(520)으로 인가되면 검출 로직(520)은 수신된 PO 신드롬들(PO_S) 중 0 이 아닌 PO 신드롬이 존재하는 지를 검토한다. Similarly, when PO syndromes stored in the 16-byte space of address 182 of the first memory 510 are applied to the detection logic 520, the detection logic 520 may determine that a non-zero PO syndrome among the received PO syndromes PO_S is generated. Review if it exists.

그리고 0 이 아닌 PO 신드롬이 하나라도 존재하면 검출 신호(DS)를 제 1 레벨로 출력하고 그렇지 아니하면 검출 신호(DS)를 제 2 레벨로 출력한다. If there is at least one non-zero PO syndrome, the detection signal DS is output at the first level, otherwise the detection signal DS is output at the second level.

검출 로직(520)은 논리 게이트들을 이용하여 구성할 수 있으며 당업자라면 검출 로직(520)의 구조를 이해할 수 있으므로 구조에 관한 상세한 설명을 생략한다. The detection logic 520 may be configured using logic gates and a person skilled in the art may understand the structure of the detection logic 520, and thus a detailed description of the structure is omitted.

검출 로직(520)에서 출력된 검출 신호(DS)는 순차적으로 182 비트의 플립플롭(530)에 저장된다. 검출 로직(520)은 제 1 메모리(510)의 182 개의 어드레스에 대응되는 검출 신호(DS)를 출력하므로 플립플롭(530)은 182 비트의 저장 공간을 구비한다. The detection signal DS output from the detection logic 520 is sequentially stored in the flip-flop 530 of 182 bits. Since the detection logic 520 outputs detection signals DS corresponding to 182 addresses of the first memory 510, the flip-flop 530 has 182 bits of storage space.

만일 플립플롭(530)의 3번째 비트에 저장된 검출 신호(DS)의 논리 레벨이 제 1 레벨이면 제 1 메모리(510)의 3번 어드레스의 16바이트 저장 공간에 저장된 PO 신드롬들(PO_S)은 0 이 아닌 PO 신드롬을 적어도 하나 이상 가지고 있다는 것을 의미한다. If the logic level of the detection signal DS stored in the third bit of the flip-flop 530 is the first level, the PO syndromes PO_S stored in the 16-byte storage space of address 3 of the first memory 510 are zero. This means that you have at least one PO syndrome.

어드레스 발생부(540)는 플립플롭(530)으로부터 제 1 레벨로 발생되는 검출 신호(DS)에 대응되는 제 1 메모리(510)의 어드레스를 PO 신드롬 어드레스(PO_SADD)로서 출력한다. 앞의 예에서 어드레스 발생부(540)는 플립플롭(530)의 3번째 비트에서 출력되는 검출 신호(DS)의 논리 레벨이 제 1 레벨인 것을 인식하고 제 1 메모리(510)의 3번 어드레스를 PO 신드롬 어드레스(PO_SADD)로서 제 1 메모리(510)로 인가한다. The address generator 540 outputs the address of the first memory 510 corresponding to the detection signal DS generated at the first level from the flip-flop 530 as a PO syndrome address PO_SADD. In the above example, the address generator 540 recognizes that the logic level of the detection signal DS output from the third bit of the flip-flop 530 is the first level and recognizes address 3 of the first memory 510. It is applied to the first memory 510 as the PO syndrome address PO_SADD.

그러면, 제 1 메모리(510)는 PO 신드롬 어드레스(PO_SADD)에 응답하여 제 1 메모리(510)의 3번 어드레스에 저장된 PO 신드롬들을 PO 테스트 신드롬들(PO_ST)로서 에러 보정 코드 엔진(410)으로 인가한다. Then, the first memory 510 applies the PO syndromes stored at address 3 of the first memory 510 to the error correction code engine 410 as PO test syndromes PO_ST in response to the PO syndrome address PO_SADD. do.

0이 아닌 PO 신드롬들에 대하여 PO 에러 보정을 수행한다.(640 단계) 640 단계는 에러 보정 코드 엔진(410)에서 수행된다. PO error correction is performed on non-zero PO syndromes (step 640). Step 640 is performed by the error correction code engine 410.

에러 보정 코드 엔진(410)은 메모리부(440)에서 출력되는 PO 테스트 신드롬들(PO_ST)에 대하여 PO 에러 보정을 수행한다. 에러 보정 코드 엔진(410)은 외부 메모리(460)로부터 PI 보정 데이터(PI_D)를 수신하고 PO 에러 보정에 의하여 얻어진 에러 값과 에러 위치를 이용하여 PI 보정 데이터(PI_D)를 보정한다. The error correction code engine 410 performs PO error correction on the PO test syndromes PO_ST output from the memory unit 440. The error correction code engine 410 receives the PI correction data PI_D from the external memory 460 and corrects the PI correction data PI_D using the error value and the error position obtained by the PO error correction.

이와 같은 방법에 의하여 얻어진 PO 보정 데이터(PO_D)를 에러 보정 코드 엔진(410)은 외부 메모리(460)로 저장한다. 그러면 외부 메모리(460)는 PO 보정 데이터(PO_D)를 외부의 호스트로 출력한다.(650 단계)The error correction code engine 410 stores the PO correction data PO_D obtained by the above method in the external memory 460. The external memory 460 then outputs the PO correction data PO_D to an external host (step 650).

이와 같이 PO 에러 보정은 PI 에러 보정이 끝난 후에 진행된다. 그리고, 도 3의 디지털 비디오 디스크 디코딩 장치(300)와 달리 도 4의 본 발명의 실시예에 따른 디지털 비디오 디스크 디코딩 장치(400)는 PI 에러 보정과 PO 에러 보정을 수행하는 하나의 엔진만을 구비한다. 디지털 비디오 디스크 디코딩 장치(400)는 3KB 사이즈의 내부 메모리를 이용하고 PI 에러 보정과 PO 에러 보정 두 가지 모두 수행할 수 있는 하나의 엔진만 구비하므로 그 크기를 줄일 수 있다. In this way, the PO error correction is performed after the PI error correction is completed. And, unlike the digital video disk decoding apparatus 300 of FIG. 3, the digital video disk decoding apparatus 400 according to the embodiment of the present invention of FIG. 4 includes only one engine for performing PI error correction and PO error correction. . The digital video disk decoding apparatus 400 may reduce the size of the digital video disk decoding apparatus 400 by using only one engine capable of using both a 3KB sized internal memory and performing both PI error correction and PO error correction.

또한 0이 아닌 PO 신드롬들에 대해서만 PO 에러 보정을 수행하므로 에러 보정 시간을 단축시킬 수 있다. 만일 제 1 메모리(510)의 182 개의 어드레스에 대응되는 PO 신드롬들 중 5개의 어드레스에 대응되는 PO 신드롬들이 0이 아닌 PO 신드롬을 구비하는 것으로 나타난 경우, 5개의 어드레스에 대응되는 PO 신드롬들에 대해서만 PO 에러 보정을 수행함으로써 보정 시간을 5/182 = 2.74% 만 소모하게 되므로 97%의 시간을 절약할 수 있다. Also, since PO error correction is performed only for non-zero PO syndromes, error correction time can be shortened. If the PO syndromes corresponding to five addresses among the PO syndromes corresponding to the 182 addresses of the first memory 510 are shown to have non-zero PO syndromes, only PO syndromes corresponding to the five addresses may be used. By performing the PO error correction, only 5/182 = 2.74% of the calibration time is consumed, saving 97% of the time.

이것은 결국 디지털 비디오 디스크 디코딩 장치(400)를 동작시키는 클럭의 속도를 떨어뜨리고 해당되는 PO 신드롬들에 대해서만 PO 에러 보정이 수행됨으로써 전체적인 전력 소비량도 줄일 수 있다. 또한 에러 보정 코드 엔진(410)이 외부 메모리(460)로부터 데이터(DATA)를 수신함으로써 반복 보정 역시 가능하다. This, in turn, slows down the clock for operating the digital video disc decoding apparatus 400 and reduces the overall power consumption by performing PO error correction only on the corresponding PO syndromes. In addition, since the error correction code engine 410 receives data DATA from the external memory 460, iterative correction is also possible.

도 8은 본 발명의 다른 실시예에 따른 디지털 비디오 디스크 디코딩 장치의 PO 에러 보정 방법을 설명하는 플로우 차트이다. 8 is a flowchart illustrating a PO error correction method of a digital video disc decoding apparatus according to another embodiment of the present invention.

도 9는 도 8의 820 단계의 동작을 설명하는 플로우 차트이다.9 is a flowchart illustrating an operation of step 820 of FIG. 8.

본 발명의 또 다른 실시예에 따른 PO 에러 보정을 수행하는 방법(800)은 데이터에 대하여 PO 신드롬 연산을 수행하여 얻어진 PO 신드롬을 이용하여 PO(Parity Outer) 에러 보정을 수행하는 방법에 관한 것이다. The method 800 for performing PO error correction according to another embodiment of the present invention relates to a method for performing PO (Parity Outer) error correction using a PO syndrome obtained by performing a PO syndrome operation on data.

PO 에러 보정을 수행하는 방법(800)은 데이터의 칼럼 방향으로 PO 신드롬 연산을 수행하여 PO 신드롬들을 출력하는 810 단계, 상기 PO 신드롬들 중 0이 아닌 PO 신드롬들을 판단하는 820 단계 및 상기 0이 아닌 PO 신드롬들에 대하여 PO 에러 보정을 수행하는 830 단계를 구비한다. The method 800 of performing PO error correction may include outputting PO syndromes by performing a PO syndrome operation in a column direction of data, step 820 of determining non-zero PO syndromes among the PO syndromes, and non-zero. Step 830 is performed to perform PO error correction on the PO syndromes.

상기 0이 아닌 PO 신드롬들을 판단하는 820 단계는 상기 PO 신드롬들을 각각의 어드레스에 대응시키는 910 단계, 각각의 어드레스에 대응되는 상기 PO 신드롬들 중 하나라도 0 이 아닌 PO 신드롬이 존재하면 검출 신호를 제 1 레벨로 발생하고 그렇지 아니하면 상기 검출 신호를 제 2 레벨로 발생하는 920 단계, 제 1 레벨로 발생되는 상기 검출 신호에 대응되는 상기 어드레스를 PO 신드롬 어드레스로서 출력하는 930 단계 및 상기 PO 신드롬 어드레스에 대응되는 상기 어드레스의 PO 신드롬들을 출력하는 940 단계를 구비한다. 여기서, 데이터는 PI 에러 보정이 수행된 PI 보정 데이터이다. 도 8의 PO 에러 보정 방법(800)은 도 4의 PO 신드롬 발생부(430), 메모리부(440) 및 에러 보정 코드 엔진(410)에서 수행되는 PO 신드롬들(PO_S)을 이용한 PO 에러 보정 방법에 관한 것이다. In step 820, the non-zero PO syndromes are determined. In operation 910, the PO syndromes correspond to respective addresses, and if any one of the PO syndromes corresponding to each address is present, a non-zero PO syndrome is detected. Step 920 for generating the detection signal at the second level, otherwise outputting the address corresponding to the detection signal generated at the first level as a PO syndrome address, and at the PO syndrome address; And outputting PO syndromes of the corresponding address. Here, the data is PI correction data on which PI error correction is performed. The PO error correction method 800 of FIG. 8 is a PO error correction method using PO syndromes PO_S performed by the PO syndrome generator 430, the memory unit 440, and the error correction code engine 410 of FIG. 4. It is about.

도 4의 PO 신드롬 발생부(430), 메모리부(440) 및 에러 보정 코드 엔진(410)이 PI 보정 데이터(PI_D)에 대하여 PO 신드롬들(PO_S)을 구하고 0이 아닌 PO 신드롬을 적어도 하나이상 구비하는 PO 신드롬들에 대하여 PO 에러 보정을 수행하는 동작은 도 4를 이용하여 앞서 설명된바 있으므로 상세한 설명을 생략한다. The PO syndrome generator 430, the memory unit 440, and the error correction code engine 410 of FIG. 4 obtain the PO syndromes PO_S with respect to the PI correction data PI_D and at least one non-zero PO syndrome. The operation of performing PO error correction on the PO syndromes included in the above description is omitted since it has been described above with reference to FIG. 4.

도 10은 본 발명의 다른 실시예에 따른 DVD-장치의 블록도이다.10 is a block diagram of a DVD-device according to another embodiment of the present invention.

DVD-장치(1002)는 ECC 디코더(1004), 및 ECC 디코더(1004) 외부의 메모리(1006), 예를 들어 SDRAM을 구비한다. 이하, 메모리(1006)는 외부 메모리(1006)라 한다. ECC 디코더(1004) 복조부(1008), ECC 엔진(1010) 및 메모리(1012)(ECC 디코더(1004) 내부에 있으므로 이하 내부 메모리(1012)라 함), 예를 들어 SRAM을 구비한다. The DVD-device 1002 has an ECC decoder 1004 and a memory 1006, for example SDRAM, external to the ECC decoder 1004. Hereinafter, the memory 1006 is referred to as an external memory 1006. ECC decoder 1004 includes a demodulator 1008, an ECC engine 1010, and a memory 1012 (hereinafter referred to as internal memory 1012 because it is inside the ECC decoder 1004), for example, an SRAM.

ECC 엔진(1010)은 PI-신드롬(여기서, 또한 PI는 패리티 내부(parity inner)라는 용어의 두문자이다) 발생부(1014), PO-신드롬 발생부(1016)(여기서, 또한 PO는 패리티 외부(parity outer)라는 용어의 두문자이다), 및 PO-결정 로직(1018)을 구비한다. The ECC engine 1010 includes a PI-syndrome (where PI is also an acronym for the term parity inner) generator 1014, a PO-syndrome generator 1016 (where PO is also a parity external ( parity outer), and PO-determination logic 1018.

ECC 엔진(1010)은 PO-보정을 수행하기 전에 PI-보정을 수행한다. 양 유형의 보정은 각각 PI-신드롬 및 PO-신드롬의 계산을 경유하여 진행된다. 또한, 신드롬은 매트릭스 곱으로, 참인 데이터를 나타내는 데이터들 중에서 몇몇 잠재적으로-노이즈-오류가 발생될(potentially-noise-corrupted) 후보(candidate) 데이터들을 식별하는데 이용된다. 좀 더 상세하게, 신드롬은 패리티 체크 매트릭스와 후보 데이터 벡터와의 곱이다. The ECC engine 1010 performs PI-correction before performing PO-correction. Both types of calibration proceed through the calculation of PI-syndrome and PO-syndrome, respectively. Syndrome is also used to identify some potentially-noise-corrupted candidate data among the data representing true data in matrix multiplication. More specifically, the syndrome is the product of the parity check matrix and the candidate data vector.

PO-결정 로직(1018)은 PI-보정된 블록 내의 칼럼들 중 어떤 칼럼들이 잘못되었으며 PO-보정을 수신해야 하는지 ECC 엔진(1010)에 나타내기 위해 PO-신드롬을 동작할 수 있다. 그 후, ECC 엔진(1010)은 잘못된 PI-보정된 칼럼들에 대해서만 선택적으로 PO-보정을 수행하여 ECC화 블록의 디코딩된 버전을 획득할 수 있다. The PO-determination logic 1018 may operate the PO-syndrome to indicate to the ECC engine 1010 which of the columns in the PI-corrected block are wrong and should receive the PO-correction. Thereafter, the ECC engine 1010 may selectively perform PO-correction only on erroneous PI-corrected columns to obtain a decoded version of the ECCized block.

도 11은 도 10의 DVD 장치의 동작을 좀 더 상세하게 설명한 도면이다.FIG. 11 is a diagram illustrating the operation of the DVD device of FIG. 10 in more detail.

도 11은 도 10의 블록 다이어그램의 변형으로, 도 10에 비해 어느 면에서는 단순화되었으며 도 10에 비해 어느 면에서는 더욱 상세화 되었다. 그 자체로도, 도 11은 본 발명의 적어도 일 실시예에 따른 DVD-장치(1002)의 블록 다이어그램이다. FIG. 11 is a variation of the block diagram of FIG. 10, which is simplified in some aspects compared to FIG. 10 and more detailed in some aspects than FIG. 10. As such, FIG. 11 is a block diagram of a DVD-device 1002 according to at least one embodiment of the present invention.

DVD 데이터를 디코딩하는 중간 포인트에서, ECC 엔진(1010)의 출력은 복조부(1008)에 의해 복조된 ECC 블록이 외부 메모리(1006)에 저장된 후 ECC 엔진(1010)으로 입력되어 PI-보정된 블록이다. 그러나 이하에서 더욱 상세하게 기재되는 바와 같이, ECC 엔진(1010)은 로우-바이-로우 베이시스(row-by-row basis)에 근거하여 PI-보정된 블록(1024)을 생성한다. At the intermediate point of decoding the DVD data, the output of the ECC engine 1010 is a PI-corrected block which is input to the ECC engine 1010 after the ECC block demodulated by the demodulator 1008 is stored in the external memory 1006. to be. However, as described in more detail below, the ECC engine 1010 generates a PI-corrected block 1024 based on a row-by-row basis.

그러나, 설명을 단순화하기 위한 목적으로, ECC 엔진(1010)의 출력은 도 11에서 어레이 형태로 PI-보정된 블록(1024)으로 도시된다. ECC 엔진(1010)이 PI-보정된 블록(1024)을 생성하도록 동작하는 로우-바이-로우 방식은 로우(i) 다음의 브래킷을 경유하여 도시된다. However, for the sake of simplicity, the output of the ECC engine 1010 is shown in FIG. 11 as a PI-corrected block 1024 in the form of an array. The low-by-low manner in which the ECC engine 1010 operates to produce a PI-corrected block 1024 is shown via the bracket following row i.

또한, 도 11은 N 로우들과 M 칼럼들, 예를 들어, N=16 및 M=182를 가진 어레이로 취급되는 PO-신드롬 데이터(1022)(내부 메모리(1012) 내)를 도시한다. 이하에서 더 상세히 논의되는 바와 같이, ECC 엔진(1010)에 의해 생성된 PI-보정된 블록(1024)의 각각의 로우(i)에 대해, PO-신드롬 발생부(1016)는 PO-신드롬 데이터의 모든 N-로우들을 반복하여 발생한다.FIG. 11 also shows PO-syndrome data 1022 (in internal memory 1012) treated as an array with N rows and M columns, eg, N = 16 and M = 182. As will be discussed in more detail below, for each row i of the PI-corrected block 1024 generated by the ECC engine 1010, the PO-syndrome generator 1016 is configured to store the PO-syndrome data. Occurs repeatedly for all N-rows.

따라서, 이러한 각각의 반복에 대해서, PO-신드롬 발생부(1016)는 PI-보정된 블록(1024)의 한 로우와 PO-신드롬 데이터(1022)의 이전에 반복되어 발생된 모든 N-로우들을 수신한다(이 또한 이하에서 더욱 상세히 논의된다).Thus, for each such iteration, the PO-syndrome generator 1016 receives one row of the PI-corrected block 1024 and all N-rows that have been generated previously repeated of the PO-syndrome data 1022. (This is also discussed in more detail below).

도 12는 본 발명의 적어도 일 실시에에 따른 PO-신드롬 발생부(1016)의 더욱 상세한 블록 다이어그램이다. 도 12는 도 11과 비교하여 어떤 면에서 단순화되었으며, 어떤 면에서는 더욱 상세화되었다. 12 is a more detailed block diagram of a PO-syndrome generator 1016 in accordance with at least one embodiment of the present invention. FIG. 12 is simplified in some respects and more detailed in some respects compared to FIG.

도 12에서, PO-신드롬 발생부(1016)는, 곱셈부들의 뱅크(401), 시프트 레지스터들의 뱅트(403), 및 덧셈부들의 뱅트(405)를 구비하는 것으로 도시된다. In FIG. 12, the PO-syndrome generator 1016 is shown with a bank 401 of multipliers, a bank 403 of shift registers, and a bank 405 of adders.

뱅크(401)는, 일련의 계수들을 갖는 PI-보정된 블록(1024)의 로우(i)를 곱하는, 예를 들어 PI-보정된 블록(1024)의 로우(i)에 대해 갈로아(Galois) 필드 곱셈을 수행하는 곱셈부들(402g1, 402g2, 402g3, ㅇ, 402g(N))을 구비한다. 각각의 곱셈부(402g(j))는 PI-보정된 블록(1024)의 로우(i)와 계수 g(j), 예를 들어 갈로아 필드 계수를 수신한다. Bank 401 is Galois for row i of PI-corrected block 1024, for example multiplied by row i of PI-corrected block 1024 with a series of coefficients. And multiplication units 402g1, 402g2, 402g3, o, 402g (N) for performing field multiplication. Each multiplier 402g (j) receives the row i of the PI-corrected block 1024 and the coefficient g (j), e.

뱅크(403)는, PO-신드롬 데이터(1022)의 다음 버전(k)이 순환적으로 계산되는 동안 PO-신드롬 데이터(1022)의 이전 버전(k-1)을 유지하는 시프트 레지스터들(404r1, 404r2, 404r3, ㅇ, 404r(N))을 구비한다. 이러한 순환적 계산은 덧셈부들(406r1, 406r2, 406r3, ㅇ, 406r(N))의 뱅크(405)에 의해 수행될 수 있다. The bank 403 stores shift registers 404r1 that hold the previous version k-1 of the PO-syndrome data 1022 while the next version k of the PO-syndrome data 1022 is cyclically calculated. 404r2, 404r3, o, 404r (N)). This recursive calculation may be performed by bank 405 of adders 406r1, 406r2, 406r3, o, 406r (N).

더욱 상세하게, 덧셈부(406r(j))는 곱셈부(402g(j))에 의해 생성된 곱과 시프트 레지스터(404r(j))로부터의 row_(j)(k-1)를 수신하고, 그들을 합하여(또는, 즉, 그들을 축적하여) row_(j)(k)를 생성한다. More specifically, the adder 406r (j) receives the product generated by the multiplier 402g (j) and row_ (j) (k-1) from the shift register 404r (j), Combine them (or accumulate them) to produce row_ (j) (k).

도 13은 본 발명의 적어도 일 실시예에 따른 도 10의 구성요소들 간의 예시적인 상호작용의 형식으로 DVD-포맷 데이터를 디코딩하는 방법을 도시한 UML-타입 시퀀스 다이어그램이다. FIG. 13 is a UML-type sequence diagram illustrating a method of decoding DVD-formatted data in the form of an exemplary interaction between the components of FIG. 10 in accordance with at least one embodiment of the present invention.

메시지(1300)에서, 복조부(1008)은 DVD 장치(1000)로부터의 ECC 데이터의 블록을 판독하고 복조하고, 재배열한 후 복조된 ECC 블록을 외부 메모리 (1006)에 저장한다. 그 후, 루프(1301)로 들어간다. 복조된 ECC 블록이 로우들과 칼럼들의 어레이로 취급되는 것을 상기하면, 외부 메모리(1006) 내의 복조된 ECC블록의 row(i)는 ECC 엔진(1010)에 의해 판독된다.(메시지 (1302)) In the message 1300, the demodulator 1008 reads, demodulates, rearranges, and stores the demodulated ECC blocks in the external memory 1006 after reading and demodulating the blocks of ECC data from the DVD apparatus 1000. After that, it enters the loop 1301. Recall that the demodulated ECC block is treated as an array of rows and columns, the row (i) of the demodulated ECC block in external memory 1006 is read by the ECC engine 1010 (message 1302).

셀프-메시지(1304)에서, ECC 블록(PI-신드롬 발생부(1014)를 경유)은, 필요하다면, 복조된 ECC 블록의 로우(i)를 PI-보정한다. PI-에러들은 복조된 ECC 블록 내에서 제 1 레벨이다. 반면에, PO-에러들은 제 2 레벨이며 보정할 수 없는 에러들은 제 3 레벨이다. In self-message 1304, the ECC block (via PI-syndrome generator 1014), PI-corrects row i of the demodulated ECC block, if necessary. PI-errors are at the first level in the demodulated ECC block. On the other hand, PO-errors are second level and errors that cannot be corrected are third level.

메시지(1304)에서 PI-보정이 필요할 가능성이 높다. 따라서, PI-보정이 필요하지 않은 하나 이상의 로우들이 있을 수 있음에도 불구하고, 도 11의 블록(1024)는 PI-보정된 데이터라고 레이블링된다. In message 1304, it is likely that PI-correction is needed. Thus, although there may be one or more rows for which PI-correction is not needed, block 1024 of FIG. 11 is labeled PI-corrected data.

ECC 엔진(1010)의 라이프 라인(1011) 상의 각각의 메시지의 시점을 연결하는 점선(1307)에 의해 지시되는 바와 같이, 두 개의 메시지들(1306A, 1306B)은 실질적으로 동시에 발생할 수 있다. As indicated by the dashed line 1307 connecting the starting point of each message on the lifeline 1011 of the ECC engine 1010, two messages 1306A and 1306B may occur substantially simultaneously.

메시지(1306A)에서, ECC 엔진은 PI-보정된 로우(i)를 PO-신드롬 발생부(1016)에 제공한다. 로우(i)의 PI-보정이 수행되었다면, 로우(i) ECC 엔진 (1010)은 보정되지 않은 로우(i)를 PI-보정된 로우(i)로 외부 메모리(1006)에서 실질적으로 동시에 중복 기입한다.(메시지(1306B))In message 1306A, the ECC engine provides the PI-corrected row i to the PO-syndrome generator 1016. If PI-correction of row i was performed, row i ECC engine 1010 writes uncorrected row i to PI-corrected row i substantially simultaneously in external memory 1006. (Message 1306B)

도 4에 도시된 바와 같이, 셀프-메시지(1308)에서 PO-신드롬 발생부(1016)는 순환적 갈로아 필드 곱셈과 축적(accumulation)을 수행한다. 메시지(1310)에서, PO-신드롬 발생부(1016)(덧셈부들(406r(j))의 뱅크(405) 경유)는 PO-신드롬 데이터(1022)의 버전(k-1)의 모든 N 로우들을 PO-신드롬 데이터(1022)의 버전(k)으로 중복 기입한다. As shown in FIG. 4, in the self-message 1308, the PO-syndrome generator 1016 performs cyclic Galloa field multiplication and accumulation. In message 1310, the PO-syndrome generator 1016 (via bank 405 of adders 406r (j)) receives all N rows of version k-1 of PO-syndrome data 1022. Overwrite with version k of PO-syndrome data 1022.

셀프-메시지(1312)에서, PO-신드롬 발생부(1016)는 카운터 i를 증가시키는데, 예를 들어 i=1+1이다. 만약, i=N+1이면, 루프 (1301)는 빠져나온다. 즉, 루프(1301)는 PO-신드롬 데이터가 발생되는 것에 의해 순환적 계산을 표현한다. In the self-message 1312, the PO-syndrome generator 1016 increments the counter i, for example i = 1 + 1. If i = N + 1, loop 1301 exits. That is, loop 1301 represents a cyclic calculation by which PO-syndrome data is generated.

메시지(1314)에서, PO-결정 로직(1018)은 내부 메모리(1012)로부터 PO-신드롬 데이터(1022)의 버전(k=N)을 판독한다. 셀프 메시지(1316)에서, PO-결정 로직(1018)은 PO-신드롬 데이터(1022)에 영향을 미쳐서 PI-보정된 블록(1024) 내에 남아있는 에러들을 판단한다. In message 1314, PO-determination logic 1018 reads a version (k = N) of PO-syndrome data 1022 from internal memory 1012. In self message 1316, PO-determination logic 1018 affects PO-syndrome data 1022 to determine errors remaining in PI-corrected block 1024.

PO-신드롬 데이터(1022)를 다시 로우들과 칼럼들의 어레이로 취급함으로써, PO-결정 로직(1018)은 PO-신드롬 데이터(1022)의 컬럼 방향 검토(column-wise inspection)를 수행할 수 있다. 만약 임의의 칼럼이 0이 아닌 수치를 가진다면, PI-보정된 블록(1024)의 해당 칼럼 내의 하나 이상의 에러의 존재를 나타낸다. 그러한 인스펙션은 칼럼 내의 수치들의 단순한 논리합일 수 있으며, 여기서 0이 아닌 결과는 잘못된 칼럼을 나타낸다. By treating the PO-syndrome data 1022 again as an array of rows and columns, the PO-determination logic 1018 may perform column-wise inspection of the PO-syndrome data 1022. If any column has a nonzero value, it indicates the presence of one or more errors in that column of the PI-corrected block 1024. Such an inspection may be a simple logical sum of the numbers in the column, where a nonzero result indicates an invalid column.

메시지(1318)에서, PO-결정 로직(1018)은 ECC 엔진(1010)에 PO-신드롬 데이터(1022) 내의 에러를 나타내는 칼럼들의 인디케이션을 제공한다. 그러한 인디케이션은 1×N 매트릭스 또는 N 비트 워드일 수 있고, 여기서 각각의 매트릭스의 엘리먼트나 워드의 비트는 PI-보정된 블록(1024)의 칼럼을 나타낸다. 매트릭스 또는 워드 내의 0이 아닌 엘리먼트 또는 비트는 PI-보정된 블록(1024) 내의 잘못된 칼럼을 나타낼 수 있다. In message 1318, PO-determination logic 1018 provides an indication of columns indicative of an error in PO-syndrome data 1022 to ECC engine 1010. Such indication may be a 1 × N matrix or N bit word, where the bits of the element or word of each matrix represent a column of the PI-corrected block 1024. Nonzero elements or bits in the matrix or word may indicate invalid columns in the PI-corrected block 1024.

메시지(1320)에서, ECC 엔진(1010)은 내부 메모리 (1012)에 PO-신드롬 데이터 (1022)의 잘못된 칼럼들을 판독하도록 요청한다. 메시지(1322)에서, 내부 메모리(1012)는 요청된 PO-신드롬 칼럼 데이터를 ECC 엔진(1010)에 공급한다. In message 1320, the ECC engine 1010 requests internal memory 1012 to read erroneous columns of PO-syndrome data 1022. In message 1322, internal memory 1012 supplies the requested PO-syndrome column data to ECC engine 1010.

셀프-메시지(1324)에서, ECC 엔진(1010)은 선택된 PO-신드롬 칼럼 데이터에 영향을 끼쳐서 PI-보정된 블록 내의 해당하는 잘못된 칼럼들을 식별한다. 더욱 상세하게는, ECC 엔진(1010)은 PI-보정된 블록(1024) 내의, 보정 가능한 에러들의 위치, 및 보정 수치들에 대한 차이들의 크기를 결정한다. In self-message 1324, ECC engine 1010 affects the selected PO-syndrome column data to identify corresponding false columns in the PI-corrected block. More specifically, the ECC engine 1010 determines the location of correctable errors in PI-corrected block 1024 and the magnitude of the differences with respect to the correction values.

메시지(1326)에서, ECC 엔진(1010)은 외부 메모리(1006)에 셀프-메시지(1324)를 경유하여 식별된 PI-보정된 블록(1024) 내의 위치들을 판독하도록 요청한다. 메시지(1328)에서, 외부 메모리(1006)는 요청된 보정 가능한 데이터를 ECC 엔진(1010)에 제공한다. In message 1326, the ECC engine 1010 requests external memory 1006 to read the locations in the identified PI-corrected block 1024 via self-message 1324. In message 1328, external memory 1006 provides the requested correctable data to ECC engine 1010.

셀프-메시지(1330)에서, ECC 엔진(1010)은 보정 가능한 데이터를 PO-보정한다. 다시 말해서, 셀프-메시지(1330)에서, ECC 엔진(1010)은 메시지(1300)에서 얻어진 복조된 ECC 블록의 디코딩된 버전을 얻기 위하여 잘못된 PI-보정된 칼럼들만을 선택적으로 보정한다. 그 결과, PI-보정된 블록(1024) 내의 모든 칼럼들보다 적은 수의 칼럼들에 PO-보정이 수행된다. In self-message 1330, ECC engine 1010 PO-corrects correctable data. In other words, in self-message 1330, ECC engine 1010 selectively corrects only the wrong PI-corrected columns to obtain a decoded version of the demodulated ECC block obtained in message 1300. As a result, PO-correction is performed on fewer columns than all columns in PI-corrected block 1024.

메시지(1332)에서, ECC 엔진은 PI-보정된 블록(1024) 내의 보정 가능한 데이터를 대응되는 PO-보정된 데이터로 중복기재한다. 메시지(1332) 이후, 외부 메모리(1006)는 메시지(1300)에서 획득된 복조된 ECC 블록의 디코딩된 버전을 저장한다. In message 1332, the ECC engine overwrites the correctable data in PI-corrected block 1024 with corresponding PO-corrected data. After message 1332, external memory 1006 stores a decoded version of the demodulated ECC block obtained in message 1300.

종래 기술에 따른 ECC 엔진 디코더는 PO-신드롬 발생과 PO-보정을 병렬적으로(2 블록/사이클의 속도로) 수행하는 것으로 기술될 수 있는 한편, DVD-장치(1002)가 PO-보정을 연속하여 수행하는 것으로(1 블록/사이클의 속도로) 기술될 수 있다(적어도, 하나의 ECC 엔진의 사용으로 주어지는). The ECC engine decoder according to the prior art can be described as performing the PO-syndrome generation and PO-correction in parallel (at a rate of 2 blocks / cycle), while the DVD-device 1002 continues the PO-correction. Can be described (at the rate of one block / cycle) (at least given the use of one ECC engine).

ECC 디코더(1004)의 디코딩 속도는 보정될 필요가 있는 PO-에러들의 수에 의존한다. 따라서, 0 만큼 적은 PO-에러들이 존재하거나 또는 182 만큼이나 많이 존재할 수 있다. The decoding speed of the ECC decoder 1004 depends on the number of PO-errors that need to be corrected. Thus, there may be as few as 0 PO-errors or as many as 182.

통상적으로 존재하는 PO-에러들의 수는 종래기술에 따른 이중 ECC 엔진 디코더 보다 대략 10% 느린 디코딩 속도를 의미한다. ECC 디코더(1004)의 면적의 절약은 종래기술에 따른 이중 ECC 엔진 디코더와 비교하여 상당한 이점이며, 이러한 이점은 10% 느린 디코딩 속도에 의해 단지 약간 감소된다. The number of PO-errors typically present means a decoding rate that is approximately 10% slower than the dual ECC engine decoder according to the prior art. The saving of the area of the ECC decoder 1004 is a significant advantage compared to the dual ECC engine decoder according to the prior art, which is only slightly reduced by the 10% slow decoding speed.

하나 적은 ECC 엔진을 필요로 하는 것 이외에도, PO-결정 로직(1018)의 사용은 종래기술에 따른 이중 ECC 엔진 디코더에 따른 내부 메모리 사이즈(예를 들어, 6k 바이트)와 비교하여 ECC 디코더(1004)가 감소된 내부 메모리(1012) 사이즈(예를 들어, 3k 바이트)와 함께 동작되는 것이 가능하도록 한다. In addition to requiring one less ECC engine, the use of the PO-determination logic 1018 is an ECC decoder 1004 compared to the internal memory size (eg, 6k bytes) according to a dual ECC engine decoder according to the prior art. Makes it possible to operate with reduced internal memory 1012 size (e.g., 3k bytes).

이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. As described above, optimal embodiments have been disclosed in the drawings and the specification. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not intended to limit the scope of the invention as defined in the claims or the claims.

그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

상술한 바와 같이 본 발명에 따른 디지털 비디오 디스크 디코딩 장치 및 에러 보정 방법은 에러 보정을 위한 엔진을 1개만을 사용하고 내부 메모리의 크기를 줄임으로써 디지털 비디오 디스크 디코딩 장치의 크기를 줄일 수 있는 장점이 있다. 또한 에러에 대응되는 라인만 PO 에러 보정을 수행함으로써 전력 소비도 줄일 수 있는 장점이 있다. As described above, the digital video disk decoding apparatus and the error correction method according to the present invention have the advantage of reducing the size of the digital video disk decoding apparatus by using only one engine for error correction and reducing the size of the internal memory. . In addition, power consumption can be reduced by performing PO error correction only on a line corresponding to an error.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.BRIEF DESCRIPTION OF THE DRAWINGS In order to better understand the drawings cited in the detailed description of the invention, a brief description of each drawing is provided.

도 1은 디지털 비디오 디스크 장치의 일반적인 에러 보정 블록을 나타내는 도면이다.1 is a diagram illustrating a general error correction block of a digital video disk device.

도 2는 종래의 디지털 비디오 디스크 디코딩 장치를 설명하는 블록도이다. 2 is a block diagram illustrating a conventional digital video disc decoding apparatus.

도 3은 종래의 다른 디지털 비디오 디스크 디코딩 장치를 설명하는 블록도이다. 도 4는 본 발명의 실시예에 따른 디지털 비디오 디스크 디코딩 장치의 구조를 설명하는 블록도이다.3 is a block diagram illustrating another conventional digital video disc decoding apparatus. 4 is a block diagram illustrating a structure of a digital video disc decoding apparatus according to an embodiment of the present invention.

도 5는 도 4의 메모리부의 구조를 설명하는 블록도이다.FIG. 5 is a block diagram illustrating a structure of the memory unit of FIG. 4.

도 6은 본 발명의 다른 실시예에 따른 디지털 비디오 디스크 디코딩 장치의 에러 보정 방법을 설명하는 플로우 차트이다.6 is a flowchart illustrating an error correction method of a digital video disc decoding apparatus according to another embodiment of the present invention.

도 7은 도 6의 630 단계의 동작을 설명하는 플로우 차트이다.7 is a flowchart illustrating an operation of step 630 of FIG. 6.

도 8은 본 발명의 다른 실시예에 따른 디지털 비디오 디스크 디코딩 장치의 PO 에러 보정 방법을 설명하는 플로우 차트이다.8 is a flowchart illustrating a PO error correction method of a digital video disc decoding apparatus according to another embodiment of the present invention.

도 9는 도 8의 820 단계의 동작을 설명하는 플로우 차트이다.9 is a flowchart illustrating an operation of step 820 of FIG. 8.

도 10은 본 발명의 다른 실시예에 따른 DVD-장치의 블록도이다.10 is a block diagram of a DVD-device according to another embodiment of the present invention.

도 11은 도 10의 DVD 장치의 동작을 좀 더 상세하게 설명한 도면이다.FIG. 11 is a diagram illustrating the operation of the DVD device of FIG. 10 in more detail.

도 12는 본 발명의 적어도 일 실시에에 따른 PO-신드롬 발생부의 더욱 상세한 블록도이다. 12 is a more detailed block diagram of a PO-syndrome generator according to at least one embodiment of the present invention.

도 13은 본 발명의 적어도 일 실시예에 따른 도 10의 구성요소들 간의 예시적인 상호작용의 형식으로 DVD-포맷 데이터를 디코딩하는 방법을 도시한 UML-타입 시퀀스 다이어그램이다. FIG. 13 is a UML-type sequence diagram illustrating a method of decoding DVD-formatted data in the form of an exemplary interaction between the components of FIG. 10 in accordance with at least one embodiment of the present invention.

Claims (43)

데이터에 대하여 PI(Parity Inner) 에러 보정 및 PO(Parity Outer) 에러 보정을 수행하여 호스트로 출력하는 디지털 비디오 디스크 디코딩 장치에 있어서,A digital video disc decoding apparatus for performing PI (parity inner) error correction and parity outer error (PO) error correction on data to output to a host, 상기 데이터에 대하여 PI 에러 보정을 수행하고 PO 테스트 신드롬 (Syndrome)들을 수신하여 PO 에러 보정을 수행하는 에러 보정 코드(Error Correction Code) 엔진 ;An error correction code engine for performing PI error correction on the data and receiving PO test syndromes to perform PO error correction; 상기 에러 보정 코드 엔진에서 출력되는 상기 PI 보정 데이터에 대하여 칼럼(column) 방향으로 PO 신드롬 연산을 수행하여 상기 PO 신드롬들을 출력하는 PO 신드롬 발생부 ; 및A PO syndrome generator for outputting the PO syndromes by performing a PO syndrome operation in a column direction on the PI correction data output from the error correction code engine; And 상기 PO 신드롬들을 저장하고 상기 PO 신드롬들 중 0이 아닌 PO 신드롬들을 상기 PO 테스트 신드롬들로서 출력하는 메모리부를 구비하는 것을 특징으로 하는 디지털 비디오 디스크 디코딩 장치.And a memory unit for storing the PO syndromes and outputting non-zero PO syndromes among the PO syndromes as the PO test syndromes. 제 1항에 있어서, 상기 메모리부는,The method of claim 1, wherein the memory unit, 상기 PO 신드롬들을 저장하고 PO 신드롬 어드레스에 대응되는 PO 신드롬들을 상기 PO 테스트 신드롬들로서 상기 에러 보정 코드 엔진으로 출력하는 제 1 메모리 ;A first memory for storing the PO syndromes and outputting PO syndromes corresponding to a PO syndrome address to the error correction code engine as the PO test syndromes; 상기 제 1 메모리의 각각의 어드레스에 대응되는 상기 PO 신드롬들 중 하나라도 0 이 아닌 PO 신드롬이 존재하면 검출 신호를 제 1 레벨로 발생하고 그렇지 아니하면 상기 검출 신호를 제 2 레벨로 발생하는 검출부 ; 및 A detector configured to generate a detection signal at a first level if any of the PO syndromes corresponding to each address of the first memory is non-zero, and generate the detection signal at a second level; And 제 1 레벨로 발생되는 상기 검출 신호에 대응되는 상기 제 1 메모리의 어드레스를 상기 PO 신드롬 어드레스로서 출력하는 어드레스 발생부를 구비하는 것을 특징으로 하는 디지털 비디오 디스크 디코딩 장치.And an address generator for outputting the address of the first memory corresponding to the detection signal generated at the first level as the PO syndrome address. 제 2항에 있어서, 상기 검출부는,The method of claim 2, wherein the detection unit, 상기 제 1 메모리의 상기 어드레스에 대응되는 상기 PO 신드롬들에 응답하여 상기 검출 신호를 발생하는 검출 로직 ; 및Detection logic to generate the detection signal in response to the PO syndromes corresponding to the address of the first memory; And 상기 검출 신호를 저장하는 182 비트의 플립플롭을 구비하는 것을 특징으로 하는 디지털 비디오 디스크 디코딩 장치.And a 182-bit flip-flop for storing said detection signal. 제 3항에 있어서, The method of claim 3, wherein 외부에서 입력되는 상기 데이터 또는 상기 PI 보정 데이터를 상기 에러 보정 코드 엔진으로 인가하고, 상기 에러 보정 코드 엔진으로부터 상기 PI 보정 데이터 또는 상기 PO 에러 보정이 수행된 PO 보정 데이터를 수신하여 저장하며 상기 외부 호스트로 상기 PO 보정 데이터를 출력하는 외부 메모리를 더 구비하는 것을 특징으로 하는 디지털 비디오 디스크 디코딩 장치. Applying the externally input data or the PI correction data to the error correction code engine, receiving and storing the PI correction data or the PO correction data on which the PO error correction has been performed from the error correction code engine, and storing the external host. And an external memory for outputting the PO correction data. 데이터에 대하여 PI(Parity Inner) 에러 보정 및 PO(Parity Outer) 에러 보정을 수행하여 호스트로 출력하는 디지털 비디오 디스크 디코딩 장치의 에러 보정 방법에 있어서,In the error correction method of a digital video disc decoding apparatus for performing a PI (Parity Inner) error correction and Parity Outer (PO) error correction on the data to output to the host, 상기 데이터에 대하여 PI 에러 보정을 수행하는 단계 ;Performing PI error correction on the data; 상기 PI 에러 보정이 수행된 PI 보정 데이터에 대하여 칼럼(column) 방향으로 PO 신드롬 연산을 수행하여 PO 신드롬들을 출력하는 단계 ;Outputting PO syndromes by performing a PO syndrome operation in a column direction on the PI correction data on which the PI error correction has been performed; 상기 PO 신드롬들 중 0이 아닌 PO 신드롬들을 판단하는 단계 ;Determining non-zero PO syndromes among the PO syndromes; 상기 0이 아닌 PO 신드롬들에 대하여 PO 에러 보정을 수행하는 단계 ; 및 Performing PO error correction on the non-zero PO syndromes; And 상기 PO 에러 보정이 수행된 PO 보정 데이터를 상기 호스트로 출력하는 단계를 구비하는 것을 특징으로 하는 디지털 비디오 디스크 디코딩 장치의 에러 보정 방법.And outputting the PO correction data on which the PO error correction has been performed, to the host. 제 5항에 있어서, 상기 0이 아닌 PO 신드롬들을 판단하는 단계는, The method of claim 5, wherein determining the non-zero PO syndromes, 상기 PI 보정 데이터의 동일한 칼럼에 대하여 상기 PO 신드롬 연산을 수행하여 얻어진 상기 PO 신드롬들을 각각의 어드레스에 대응시키는 단계 ;Mapping the PO syndromes obtained by performing the PO syndrome operation on the same column of the PI correction data to respective addresses; 각각의 어드레스에 대응되는 상기 PO 신드롬들 중 하나라도 0 이 아닌 PO 신드롬이 존재하면 검출 신호를 제 1 레벨로 발생하고 그렇지 아니하면 상기 검출 신호를 제 2 레벨로 발생하는 단계 ;Generating a detection signal at a first level if any of the PO syndromes corresponding to each address has a non-zero PO syndrome; otherwise, generating the detection signal at a second level; 제 1 레벨로 발생되는 상기 검출 신호에 대응되는 상기 어드레스를 PO 신드롬 어드레스로서 출력하는 단계 ; 및 Outputting the address corresponding to the detection signal generated at the first level as a PO syndrome address; And 상기 PO 신드롬 어드레스에 대응되는 상기 어드레스의 PO 신드롬들을 출력하는 단계를 구비하는 것을 특징으로 하는 디지털 비디오 디스크 디코딩 장치의 에러 보정 방법.And outputting PO syndromes of the address corresponding to the PO syndrome address. 제 6항에 있어서, 상기 PI 에러 보정을 수행하는 단계 및 PO 신드롬들을 출력하는 단계는 파이프라인(pipeline) 방식에 의하여 수행되는 것을 특징으로 하는 디지털 비디오 디스크 디코딩 장치의 에러 보정 방법. 7. The method of claim 6, wherein performing the PI error correction and outputting the PO syndromes are performed by a pipeline method. DVD-포맷 데이터의 복조된 ECC 블록을 수신하는 단계; Receiving a demodulated ECC block of DVD-formatted data; 상기 복조된 ECC 블록을 선택적으로 PI-보정하기 위해서 ECC 엔진을 사용하는 단계; 및 Using an ECC engine to selectively PI-correct the demodulated ECC block; And 모든 상기 PI-보정된 블록 미만으로 선택적으로 PO-보정하기 위해서 상기 ECC 엔진을 사용하는 단계를 구비하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. Using the ECC engine to selectively PO-correct to less than all of the PI-corrected blocks. 제 8 항에 있어서, 상기 PO-보정하는 단계는, The method of claim 8, wherein the PO-correction step, 하나 이상의 에러를 나타내는 상기 PI-보정된 블록 내의 칼럼들만을 PO-보정하는 단계를 구비하는 것을 특징으로 하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. And PO-correcting only the columns in the PI-corrected block that indicate one or more errors. 제 8 항에 있어서, 상기 PO-보정하기 위해서 ECC 엔진을 사용하는 단계는, The method of claim 8, wherein using an ECC engine to PO-correct, 상기 PI-보정된 블록에 기초하여 PO 신드롬을 생성하는 단계, 및 Generating a PO syndrome based on the PI-corrected block, and 상기 PO 신드롬에 기초하여 상기 PI-보정된 블록 내의 임의의 잘못된 칼럼을 식별하는 단계를 구비하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. Identifying any false column in the PI-corrected block based on the PO syndrome. 제 10 항에 있어서, The method of claim 10, 상기 PI-보정하기 위해서 ECC 엔진을 사용하는 단계는, Using an ECC engine to PI-calibrate, 상기 PI-보정된 블록을 로우들과 칼럼들의 어레이로서 취급하는 단계; Treating the PI-corrected block as an array of rows and columns; 로우-바이-로우 베이시스에 근거하여 선택적으로 PI-보정하는 단계; 및 Selectively PI-correcting based on low-by-low basis; And PI-보정을 필요로 하는 전체 복조된 ECC 블록의 부분들을 PI-보정하기 위해서 상기 PI-보정 단계를 반복하는 단계를 구비하고, Repeating the PI-correction step to PI-correct portions of the entire demodulated ECC block requiring PI-correction, 상기 PO-보정하기 위해서 ECC 엔진을 사용하는 단계는, Using an ECC engine to PO-calibrate, 상기 복조된 ECC 블록에서의 PI-보정이 필요없다면, 생성된 PI-보정된 데이터의 각각의 로우 또는 상기 복조된 ECC 블록의 해당 로우에 대한 상기 PO-신드롬을 연속적으로 수정하기 위해서 상기 PO-신드롬을 생성하는 단계를 반복하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. If no PI-correction in the demodulated ECC block is needed, the PO-syndrome to continuously modify the PO-syndrome for each row of generated PI-corrected data or for that row of the demodulated ECC block. Repeating the step of generating a DVD-formatted data decoding method. DVD-포맷 데이터의 복조된 ECC 블록을 저장하는 외부 메모리; An external memory for storing demodulated ECC blocks of DVD-formatted data; 상기 복조된 ECC 블록을 선택적으로 PI-보정하도록 동작 가능한 ECC엔진 ; 및 An ECC engine operable to selectively PI-correct the demodulated ECC block; And 상기 ECC 엔진이 상기 PI-보정된 모든 블록 미만으로 선택적으로 PO-보정하도록 하는 PO 결정 로직을 구비하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. And PO determination logic to cause the ECC engine to selectively PO-correct to less than all of the PI-corrected blocks. 제 12 항에 있어서, The method of claim 12, 상기 PO 결정 로직은 하나 이상의 에러를 나타내는 상기 PI-보정된 블록 내의 칼럼들만을 선택적으로 PO-보정하도록 추가로 동작 가능한 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. And the PO determination logic is further operable to selectively PO-correct only those columns in the PI-corrected block that exhibit one or more errors. 제 12 항에 있어서, 상기 PO 결정 로직은, The method of claim 12, wherein the PO determination logic, 상기 PI-보정된 블록에 기초하여 PO 신드롬을 생성하며, Generate a PO syndrome based on the PI-corrected block, 상기 PO 신드롬에 기초하여 상기 PI-보정된 블록 내의 임의의 잘못된 칼럼을 식별하도록 추가로 동작 가능한 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. And further operable to identify any invalid column in the PI-corrected block based on the PO syndrome. 제 14 항에 있어서, The method of claim 14, 상기 ECC 엔진인 로우-바이-로우 베이시스에 근거하여 선택적으로 PI-보정하도록 더 동작 가능하며, Is further operable to selectively PI-correct based on the ECC engine low-by-low basis, 상기 PO 결정 로직은 상기 복조된 ECC 블록에서의 PI-보정이 필요없다면 상기 ECC 엔진에 의해 생성된 PI-보정된 데이터의 각각의 로우 또는 상기 복조된 ECC 블록의 해당 로우에 대해서 연속적으로 PO-신드롬을 수정하도록 반복적으로 PO-신드롬을 생성하도록 더 동작 가능한 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. The PO determination logic is a continuous PO-syndrome for each row of PI-corrected data generated by the ECC engine or a corresponding row of the demodulated ECC block if no PI-correction is needed in the demodulated ECC block. And further operable to generate the PO-syndrome repeatedly to correct the error. DVD(digital versatile disk)-포맷 데이터의 복조된 에러 보정 코드(error correction code: ECC) 블록을 수신하는 단계 ; Receiving a demodulated error correction code (ECC) block of digital versatile disk (DVD) -formatted data; 상기 복조된 ECC 블록을 선택적으로 패리티 내부 코드 보정(parity-of-inner-code-correcting: PI-보정)하는 단계; Selectively parity-of-inner-code-correcting (PI-correction) the demodulated ECC block; 패리티 외부 코드 보정(parity-of-outer-code-correcting: PO-보정)되는 상기 PI-보정된 블록 내의 임의의 잘못된 칼럼을 식별하는 단계; 및 Identifying any faulty columns in the PI-corrected block that are parity-of-outer-code-correcting (PO-correction); And 상기 잘못된 PI-보정된 칼럼들만을 선택적으로 PO-보정하여 ECC 블록의 디코딩된 버전을 획득하는 단계를 구비하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. Selectively PO-correcting only the wrong PI-corrected columns to obtain a decoded version of an ECC block. 제 16항에 있어서, 상기 선택적으로 PO-보정하는 단계는, The method of claim 16, wherein the selectively PO-correcting comprises: 모든 PI-보정된 블록 미만으로 PO-보정되는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. DVD-formatted data decoding method characterized by being PO-corrected to less than all PI-corrected blocks. 제 16항에 있어서, 상기 PI-보정하는 단계는, The method of claim 16, wherein the PI-calibrating is: 로우-바이-로우 베이시스(row-by-row basis)에 근거하여 선택적으로 보정하며, Selective correction based on a row-by-row basis, 상기 복조된 ECC 블록을 로우들과 칼럼들의 어레이로서 취급하는 단계; 및 Treating the demodulated ECC block as an array of rows and columns; And PI-보정을 필요로 하는 전체 복조된 ECC 블록의 부분들을 PI-보정하기 위해서 상기 PI-보정 단계를 반복하는 단계를 더 구비하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. And repeating the PI-correction step to PI-correct portions of the entire demodulated ECC block requiring PI-correction. 제 18 항에 있어서, The method of claim 18, PI-보정된 로우가 생성되면, 상기 복조된 ECC 블록의 해당 데이터를 상기 PI-보정된 로우의 데이터로 중복기입(overwrite)하는 단계를 더 구비하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. And if a PI-corrected row is generated, overwriting corresponding data of the demodulated ECC block with data of the PI-corrected row. 제 16 항에 있어서, 상기 임의의 잘못된 칼럼을 식별하는 단계는, 17. The method of claim 16, wherein identifying any invalid column is 상기 PI-보정된 블록을 로우들과 칼럼들의 어레이로 취급하는 단계; Treating the PI-corrected block as an array of rows and columns; 상기 PI-보정된 블록에 기초하여 PO-신드롬을 생성하는 단계; 및 Generating a PO-syndrome based on the PI-corrected block; And 상기 PO-신드롬에 기초하여 상기 PI-보정된 블록 내의 임의의 잘못된 칼럼을 식별하는 단계를 구비하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. Identifying any erroneous columns in the PI-corrected block based on the PO-syndrome. 제 20 항에 있어서, 상기 PI-보정 단계는, The method of claim 20, wherein the PI-correction step, 로우-바이-로우 베이시스에 근거하여 선택적 보정을 하며, Selective correction based on low-by-low basis, 상기 복조된 ECC 블록을 로우들과 칼럼들의 어레이로써 취급하는 단계; Treating the demodulated ECC block as an array of rows and columns; PI-보정을 필요로 하는 전체 복조된 ECC 블록의 부분들을 PI-보정하기 위해서 상기 PI-보정하는 단계를 반복하는 단계; 및 Repeating the PI-correction step to PI-correct portions of the entire demodulated ECC block requiring PI-correction; And 상기 복조된 ECC 블록에서의 PI-보정이 필요없다면, 생성된 PI-보정된 데이터의 각각의 로우 또는 상기 복조된 ECC 블록의 해당 로우에 대한 상기 PO-신드롬을 연속적으로 수정하기 위해서 상기 PO-신드롬을 생성하는 단계를 반복하는 단계를 더 구비하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. If no PI-correction in the demodulated ECC block is needed, the PO-syndrome to continuously modify the PO-syndrome for each row of generated PI-corrected data or for that row of the demodulated ECC block. Repeating the step of generating a DVD-format data decoding method. 제 21 항에 있어서, The method of claim 21, PI-보정된 로우가 생성되면, 상기 복조된 ECC 블록의 해당 데이터를 상기 PI-보정된 로우의 상기 데이터로 중복기입하는 단계를 더 구비하며, If a PI-corrected row is generated, overwriting the corresponding data of the demodulated ECC block with the data of the PI-corrected row; 상기 PO-신드롬을 생성하는 단계는 상기 중복기입이 발생하는 것과 실질적으로 동시에 반복되는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. Generating the PO-syndrome is repeated substantially simultaneously with the occurrence of redundancy. 제 20항에 있어서, The method of claim 20, 상기 복조된 ECC 블록을 로우들과 칼럼들의 어레이로써 취급하는 단계; 및 Treating the demodulated ECC block as an array of rows and columns; And PO 신드롬의 버전(v(0))의 값들을 초기화하는 단계를 더 구비하고, Initializing the values of the version (v (0)) of the PO syndrome, 상기 PI-보정하는 단계와 상기 PO-신드롬을 생성하는 단계는, The PI-correcting and generating the PO-syndrome, i=1부터 i=N에 대해 로우 바이 로우 베이시스에 따라서 반복적으로 수행함으로써 동시에 수행되며, is performed concurrently by performing repetitively according to the low by low basis for i = 1 to i = N, 상기 PI-보정하는 단계와 상기 PO-신드롬을 생성하는 단계는, The PI-correcting and generating the PO-syndrome, 보정된 PI 데이터(PI_CORR_row(i))를 생성하기 위해서 상기 복조된 ECC 블록의 로우(row(i))를 PI-보정하는 단계; 및 PI-correcting row (i) of the demodulated ECC block to produce corrected PI data (PI_CORR_row (i)); And PI 보정된 라인(PI_CORR_line(i))과 PO-신드롬의 이전 버전(PO_신드롬_v(k-1))의 함수로서 PO-신드롬의 k번째 버전(PO_syndrome_v(k))를 형성하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. Characterized by forming a k-th version of the PO-syndrome (PO_syndrome_v (k)) as a function of the PI corrected line (PI_CORR_line (i)) and the previous version of the PO-syndrome (PO_syndrome_v (k-1)). DVD-format data decoding method. 제 20 항에 있어서, 상기 PO-신드롬을 생성하는 단계를 k번째 반복하는 단계는, The method of claim 20, wherein the step of generating the PO-syndrome by the k-th iteration, 상기 PI-보정된 블록의 i번째 로우와 일련의 계수들을 곱하여 곱을 생성하는 단계; 및 Multiplying the i-th row of the PI-corrected block by a series of coefficients to produce a product; And 상기 곱을 PO-신드롬(PO-syndrome_v(k-1))에 더하여 순환적으로 PO-신드롬(PO-syndrome_v(k))를 형성하는 단계를 구비하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. And adding the product to PO-syndrome_v (k-1) to cyclically form PO-syndrome (PO-syndrome_v (k)). 제 24 항에 있어서, The method of claim 24, 상기 일련의 계수들은 갈로아-필드 계수들(Galois-field coefficients)이고 상기 곱은 갈로아-필드 곱인 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. Wherein said series of coefficients is Galois-field coefficients and said product is a Galois-field product. 제 20항에 있어서, The method of claim 20, 상기 PI-보정된 데이터의 어레이 내의 각각의 로우에 대해서 상기 PO-신드롬을 연속적으로 수정하기 위해서 상기 PO-신드롬을 생성하는 단계를 반복하는 단계를 더 구비하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. Repeating the step of generating the PO-syndrome for successively modifying the PO-syndrome for each row in the array of PI-corrected data. . 제 20 항에 있어서, 상기 PO-신드롬을 생성하는 단계를 i번째 반복하는 단계는, The method of claim 20, wherein the iterating the i-th step of generating the PO-syndrome comprises: 상기 PI-보정된 블록의 i번째 로우와 일련의 계수들을 곱하여 곱을 생성하는 단계; 및 Multiplying the i-th row of the PI-corrected block by a series of coefficients to produce a product; And 상기 곱을 상기 PO-신드롬의 이전 버전(v(k-1))에 더하여 순환적으로 PO-신드롬의 버전(v(k))을 형성하는 단계를 구비하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. Adding the product to the previous version of the PO-syndrome (v (k-1)) to cyclically form a version of the PO-syndrome (v (k)). . 제 27 항에 있어서, The method of claim 27, 상기 일련의 계수들은 갈로아-필드 계수들(Galois-field coefficients)이고 상기 곱은 갈로아-필드 곱인 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. Wherein said series of coefficients is Galois-field coefficients and said product is a Galois-field product. 제 20 항에 있어서, The method of claim 20, 상기 PO-신드롬을 로우들과 칼럼들의 어레이로써 취급하는 단계를 더 구비하고, Treating the PO-syndrome as an array of rows and columns, 상기 식별하는 단계는, The identifying step, 상기 PO-신드롬 내에 임의의 0이 아닌 칼럼들이 있는지 여부를 판단하는 단계로서, 상기 0이 아닌 칼럼은 하나 이상의 0이 아닌 엔트리들을 가지는 단계; 및 Determining whether there are any non-zero columns in the PO-syndrome, wherein the non-zero column has one or more non-zero entries; And 상기 PO-신드롬 내의 0이 아닌 칼럼에 대응하는 상기 PI-보정된 블록 내의 임의의 칼럼으로 잘못된 칼럼으로 취급하는 단계를 구비하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 방법. Treating any column in the PI-corrected block corresponding to a non-zero column in the PO-syndrome as an invalid column. DVD-포맷 데이터의 복조된 ECC 블록이 저장된 외부 메모리; An external memory in which a demodulated ECC block of DVD-formatted data is stored; 상기 복조된 ECC 블록을 선택적으로 PI-보정하는 ECC 엔진; 및 An ECC engine for selectively PI-correcting the demodulated ECC block; And PO-보정을 받아야하는 상기 PI-보정된 블록 내의 임의의 잘못된 칼럼을 식별하고, ECC 블록의 디코딩된 버전을 획득하기 위해서 상기 ECC 엔진이 상기 잘못된 PI-보정된 칼럼들만을 선택적으로 PO-보정하도록 하는 PO 결정(PO-decision) 로직을 구비하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. To identify any invalid columns in the PI-corrected block that are subject to PO-correction, and to allow the ECC engine to selectively PO-correct only the invalid PI-corrected columns to obtain a decoded version of an ECC block. And a PO-decision logic. 제 30 항에 있어서, 상기 PO 결정 로직은, The method of claim 30, wherein the PO determination logic, 상기 모든 PI-보정된 블록 미만으로 PO-보정되도록 더 동작 가능한 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. And further operable to PO-correct to less than all of the PI-corrected blocks. 제 30 항에 있어서, The method of claim 30, 상기 복조된 ECC 블록은 로우들과 칼럼들의 어레이로써 취급되며, The demodulated ECC block is treated as an array of rows and columns, 상기 ECC 엔진은 로우-바이-로우 베이시스에 근거하여 반복적으로 선택적 PI-보정을 하도록 더 동작 가능한 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. And the ECC engine is further operable to repeatedly perform selective PI-correction based on low-by-low basis. 제 32 항에 있어서, The method of claim 32, PI-보정된 로우가 생성된다면 상기 복조된 ECC 블록의 해당 데이터를 상기 PI-보정된 로우의 상기 데이터로 중복 기입하도록 더 동작 가능한 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. And operable to overwrite the corresponding data of the demodulated ECC block with the data of the PI-corrected row if a PI-corrected row is generated. 제 30 항에 있어서, The method of claim 30, 내부 메모리를 더 구비하며, Further equipped with internal memory, 상기 ECC 엔진은 상기 PI-보정된 블록에 기초하여 PO-신드롬을 생성하고 상기 PO-신드롬을 상기 내부 메모리 내에 저장하도록 동작 가능한 PO-신드롬 발생부를 구비하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. And the ECC engine has a PO-syndrome generator operable to generate a PO-syndrome based on the PI-corrected block and to store the PO-syndrome in the internal memory. 제 34 항에 있어서, The method of claim 34, wherein 상기 ECC 엔진은 로우-바이-로우 베이시스에 근거하여 선택적으로 PI-보정하도록 더 동작 가능하며, The ECC engine is further operable to selectively PI-correct based on low-by-low basis, 상기 PO 신드롬 발생기는 상기 복조된 ECC 블록에서의 PI-보정이 필요없다면 상기 ECC 엔진에 의해 생성된 PI-보정된 데이터의 각각의 로우에 대해서 또는 상기 복조된 ECC 블록의 해당 로우에 대해서 상기 PO-신드롬을 연속적으로 보정하기 위해서 상기 PO-신드롬을 반복적으로 생성하도록 더 작동 가능한 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. The PO syndrome generator generates the PO- for each row of PI-corrected data generated by the ECC engine if the PI-correction in the demodulated ECC block is not required or for the corresponding row of the demodulated ECC block. And further operable to generate the PO-syndrome repeatedly to continuously correct the syndrome. 제 35 항에 있어서, 36. The method of claim 35 wherein 상기 ECC 엔진은 PI-보정된 로우가 생성된다면 상기 복조된 ECC 블록의 해당 데이터를 상기 PI-보정된 로우의 데이터로 중복기입하도록 더 동작 가능하며, The ECC engine is further operable to overwrite the corresponding data of the demodulated ECC block with the data of the PI-corrected row if a PI-corrected row is generated, 상기 PO 신드롬 발생기는 상기 중복기입이 발생하는 것과 실질적으로 동시에 상기 PO 신드롬의 발생을 반복하도록 더 동작 가능한 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. And the PO syndrome generator is further operable to repeat the generation of the PO syndrome substantially simultaneously with the occurrence of redundancy. 제 34항에 있어서, The method of claim 34, 상기 복조된 ECC 블록은 로우들과 칼럼들의 배열로써 취급되고, The demodulated ECC block is treated as an array of rows and columns, 상기 PO 신드롬 발생부는 PO 신드롬의 버전(v(0))의 값들을 초기화하도록 더 동작 가능하며, The PO syndrome generator is further operable to initialize values of the version (v (0)) of the PO syndrome, 상기 ECC 엔진과 상기 PO 신드롬 발생부가 i=1부터 I=N에 대해 로우 바이 로우 베이시스에 따라서 반복적으로 수행하도록 더 협력하여 동작 가능하고(여기서, N은 상기 복조된 ECC 블록의 개수이다), The ECC engine and the PO syndrome generator are further cooperatively operable to perform repetitively according to low by low basis for i = N to I = N (where N is the number of demodulated ECC blocks), 상기 ECC 엔진은 상기 복조된 ECC 블록의 로우(row(i))를 PI-보정하여 보정된 PI 데이터(PI_CORR_row(i))를 선택적으로 생성하고, The ECC engine selectively generates corrected PI data PI_CORR_row (i) by PI-correcting row (i) of the demodulated ECC block, 상기 PO 신드롬 발생부는 PO 신드롬(PO-syndrome_v(k-1)) 및 PI 보정된 라인(PI_CORR_line(i)), 또는 상기 복조된 ECC 블록에서의 PI-보정이 필요없다면 상기 복조된 ECC 블록의 해당 로우의 함수로써 k번째 PO-신드롬(PO_syndrome_v(k))을 형성하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. The PO syndrome generating unit corresponds to a PO syndrome (PO-syndrome_v (k-1)) and a PI corrected line (PI_CORR_line (i)), or PI-correction in the demodulated ECC block, if it is not necessary. And a k-th PO-syndrome (PO_syndrome_v (k)) as a function of a row. 제 37 항에 있어서, The method of claim 37, i번째 반복에 대해서, 상기 신드롬 발생부는 상기 PI-보정된 블록의 i번째 로우를 일련의 계수들과 곱하여 곱을 생성하고, For the i th iteration, the syndrome generator generates a product by multiplying the i th row of the PI-corrected block with a series of coefficients, 상기 곱을 PO-신드롬의 이전 버전(v(k-1))에 더함으로써 상기 PO-신드롬의 버전(v(k))를 반복적으로 형성하도록 더 동작 가능한 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. And further operable to iteratively form the version of the PO-syndrome (v (k)) by adding the product to the previous version of the PO-syndrome (v (k-1)). 제 38 항에 있어서, The method of claim 38, 상기 일련의 계수들은 갈로이스-필드 계수들이며 상기 곱은 갈로이스-필드 곱인 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. And wherein said series of coefficients is gallois-field coefficients and said product is a gallois-field product. 제 34 항에 있어서, 상기 PO-신드롬 발생부는, The method of claim 34, wherein the PO-syndrome generating unit, i번째 반복이 상기 PI-보정된 블록의 i번째 로우를 일련의 계수들과 곱하여 곱을 생성하고, 상기 곱을 상기 PO-신드롬의 이전 버전(v(k-1))에 더함으로써 상기 PO-신드롬의 버전(v(k))를 반복적으로 형성하도록 함으로써, an iterative iteration multiplies the i-th row of the PI-corrected block with a series of coefficients to produce a product, and adds the product to the previous version of the PO-syndrome (v (k-1)) By repeatedly forming the version v (k), 반복적으로 동작 가능한 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. DVD-format data decoding apparatus, characterized in that it is repeatedly operable. 제 40 항에 있어서, The method of claim 40, 상기 일련의 계수들은 갈로이스-필드 계수들이며 상기 곱은 갈로이스-필드 곱인 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. And wherein said series of coefficients is gallois-field coefficients and said product is a gallois-field product. 제 34 항에 있어서, The method of claim 34, wherein 상기 PO-신드롬은 로우들과 칼럼들의 어레이로써 취급되며, The PO-syndrome is treated as an array of rows and columns, 상기 PO-결정 로직은 상기 PO-신드롬 내에 임의의 하나 이상이 0이 아닌 엔트리들을 갖는 0이 아닌 칼럼들이 존재하는지 여부를 판단하고, 상기 PO-신드롬 내의 0이 아닌 칼럼에 대응하는 상기 PI-보정된 블록 내의 임의의 잘못된 칼럼으로 취급하도록 더 동작 가능한 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. The PO-determination logic determines whether there are nonzero columns with any one or more nonzero entries in the PO-syndrome, and the PI-correction corresponding to the nonzero columns in the PO-syndrome. DVD-format data decoding apparatus, characterized in that it is further operable to treat any erroneous columns in the blocks. DVD-포맷 데이터의 ECC 블록을 수신하는 수단; Means for receiving an ECC block of DVD-formatted data; 상기 복조된 ECC 블록을 선택적으로 PI-보정하는 수단; Means for selectively PI-correcting the demodulated ECC block; PO-보정을 받아야하는 상기 PI-보정된 블록 내의 임의의 잘못된 칼럼을 식별하는 수단; 및 Means for identifying any invalid columns in the PI-corrected block that are subject to PO-correction; And 상기 잘못된 PI-보정된 칼럼들만을 선택적으로 PO-보정하여 ECC 블록의 디코딩된 버전을 획득하는 수단을 구비하는 것을 특징으로 하는 DVD-포맷 데이터 디코딩 장치. And means for selectively PO-correcting only the erroneous PI-corrected columns to obtain a decoded version of an ECC block.
KR1020050007986A 2004-01-31 2005-01-28 Digital video disc decoding device and error correction method KR100604934B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20040006466 2004-01-31
KR1020040006466 2004-01-31
US10/948,219 2004-09-24
US10/948,219 US7543218B2 (en) 2004-01-31 2004-09-24 DVD decoding method and apparatus using selective po-correction

Publications (2)

Publication Number Publication Date
KR20050078231A true KR20050078231A (en) 2005-08-04
KR100604934B1 KR100604934B1 (en) 2006-07-28

Family

ID=34889487

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050007986A KR100604934B1 (en) 2004-01-31 2005-01-28 Digital video disc decoding device and error correction method

Country Status (3)

Country Link
JP (1) JP2005216477A (en)
KR (1) KR100604934B1 (en)
CN (1) CN1649019A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160050961A (en) * 2014-10-31 2016-05-11 에스케이하이닉스 주식회사 Memory device which corrects error and method of correcting error

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009277298A (en) * 2008-05-15 2009-11-26 Renesas Technology Corp Apparatus and method for digital signal reproducing and apparatus and method for digital signal recording
US8438455B2 (en) * 2008-12-31 2013-05-07 Intel Corporation Error correction in a solid state disk

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3239863B2 (en) 1998-11-27 2001-12-17 日本電気株式会社 Data decoding processing apparatus and method
KR100589814B1 (en) * 1999-12-09 2006-06-14 엘지전자 주식회사 Method for correcting errors of digital data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160050961A (en) * 2014-10-31 2016-05-11 에스케이하이닉스 주식회사 Memory device which corrects error and method of correcting error

Also Published As

Publication number Publication date
JP2005216477A (en) 2005-08-11
KR100604934B1 (en) 2006-07-28
CN1649019A (en) 2005-08-03

Similar Documents

Publication Publication Date Title
KR100370239B1 (en) Memory device for applying to high speed block pipelined reed-solomon decoder and method of memory access and reed-solomon decoder having the memory device
US6115837A (en) Dual-column syndrome generation for DVD error correction using an embedded DRAM
US5659557A (en) Reed-Solomon code system employing k-bit serial techniques for encoding and burst error trapping
US7392456B2 (en) Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory
US8069389B2 (en) Error correction circuit and method, and semiconductor memory device including the circuit
US6363511B1 (en) Device and method for decoding data streams from storage media
TWI308321B (en)
US6279135B1 (en) On-the-fly row-syndrome generation for DVD controller ECC
US6041431A (en) Method and apparatus for performing error correction code operations
CN1779838B (en) Digital signal processing method and apparatus performing variable number of error correction repetitions
KR19990044904A (en) An ECC system using a data buffer for storing codeword data and a syndrome buffer for storing error syndromes
US7624330B2 (en) Unified memory architecture for recording applications
US20080250306A1 (en) Coding circuit for recording data on dvd disk
US20080016434A1 (en) Semiconductor integrated circuit device
US20070050663A1 (en) Error correction apparatus for performing consecutive reading of multiple code words
US8181075B2 (en) Error correction device and recording and reproducing device
KR100604934B1 (en) Digital video disc decoding device and error correction method
KR100566162B1 (en) Semiconductor memory device inputting/outputting data and parity data in burst operation
US6128760A (en) Method and apparatus for calculating a CRC remainder
JP3941305B2 (en) Optical disc apparatus and data reproducing method
US7823045B2 (en) Error correction apparatus and method thereof
JP4386615B2 (en) Data processing device
KR100361947B1 (en) Error detection circuit applied to disk reproducing apparatus
US6694473B1 (en) Parallel signal decoding method
KR100215807B1 (en) Error correcting apparatus and method for digital signal

Legal Events

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

Payment date: 20130701

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140630

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee