KR19990024450A - Data decoding device for digital video disk-ROM - Google Patents
Data decoding device for digital video disk-ROM Download PDFInfo
- Publication number
- KR19990024450A KR19990024450A KR1019970045552A KR19970045552A KR19990024450A KR 19990024450 A KR19990024450 A KR 19990024450A KR 1019970045552 A KR1019970045552 A KR 1019970045552A KR 19970045552 A KR19970045552 A KR 19970045552A KR 19990024450 A KR19990024450 A KR 19990024450A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- memory
- error correction
- correction
- block
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
- G11B2020/1853—Error 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2562—DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
불필요한 메모리를 제거하는 디지탈 비데오 디스크(DVD)-롬용 데이터 디코딩 장치에 관한 것으로서, 특히 DVD-롬에서 불필요한 VBR, DSI용 메모리를 제거함과 동시에 첫번째 블록에 대해서는 가로 방향으로 182 바이트 단위로 PI 정정된 데이터를 순서대로 저장한 후 1 블록의 PI 정정이 완료되면 세로 방향으로 208 바이트 단위(1 프레임)의 PO 정정을 수행하여 고쳐쓴 후 ATAPI로 출력함과 동시에 그 프레임이 빠져나간 자리에는 다음 블록의 PI 정정된 데이터를 저장하고, 다음 블록의 PI 정정이 완료되면 가로 방향으로 208 바이트 단위로 데이터를 읽어내어 PO 정정을 수행하여 고쳐쓴 후 ATAPI로 출력함과 동시에 그 프레임이 빠져나간 자리에는 다시 그 다음 블록의 PI 정정된 데이터를 저장하는 과정을 모든 블록에 대해 순차적으로 반복 수행함에 의해 한 프레임의 PO 에러정정 및 출력과 그 다음 블록의 PI 에러정정을 동시에 수행함으로써, ECC용 메모리의 사이즈를 2 블록분보다 작은 사이즈(예컨대 208×208 바이트)로 줄일 수 있어 메모리가 내장 가능함에 의해 원-칩화가 가능하면서 PC로의 데이터 전송 속도를 높인다.The present invention relates to a data decoding device for a digital video disk (DVD) -ROM that removes unnecessary memory. In particular, the DVD-ROM is PI-corrected by 182 bytes in the horizontal direction for the first block while removing unnecessary memory for VBR and DSI. Are stored in order, and when the PI correction of one block is completed, PO correction in 208 byte units (1 frame) is made in the vertical direction, rewritten, and then outputted to ATAPI. Save the corrected data, read the data in 208 byte units in the horizontal direction when PI correction of the next block is completed, perform PO correction, rewrite it, output it to ATAPI, and then return to the place where the frame is exited. The process of storing PI corrected data of a block is repeated for each block sequentially to By simultaneously performing PO error correction and output and PI error correction of the next block, the size of the ECC memory can be reduced to a size smaller than 2 blocks (for example, 208 x 208 bytes), and the memory can be built-in. It can also be used to speed up data transfer to a PC.
Description
본 발명은 디지탈 비데오 디스크(Digital Video Disc ; DVD) 시스템에 관한 것으로서, 특히 불필요한 메모리를 제거하여 원-칩화가 가능하도록 하는 DVD-롬용 데이터 디코딩 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital video disc (DVD) system, and more particularly, to a data decoding apparatus for DVD-ROM, which enables one-chip by removing unnecessary memory.
최근들어 고효율 코딩 기술을 이용하여 화상을 압축한 후 고밀도의 광 디스크에 또는 광 디스크로부터 동화상을 기록 및 재생하기 위한 시스템이 개발되고 있으며 그중 하나가 DVD 시스템이다.Recently, a system has been developed for recording and playing back moving images on or from a high density optical disk after compressing the image using a high efficiency coding technique, one of which is a DVD system.
상기 DVD 시스템은 복잡한 화상정보에 응답하여 발생된 코드량이 변화되는 가변 비트 레이트(Variable Bit Rate ; VBR) 코딩 기술과 고화질의 영상을 보장하기 위한 MPEG 2(Moving Picture Experts Group 2)에 유사한 시스템을 이용하고 있다.The DVD system uses a variable bit rate (VBR) coding technique in which the amount of code generated in response to complex image information is changed, and a system similar to a moving picture expert group 2 (MPEG 2) for ensuring a high quality image. Doing.
상기 DVD 종류로는 DVD-P(DVD-Player ; 재생 전용), DVD-ROM ; 재생 전용), DVD-R(DVD-Recordable ; 단 한번만 기록가능), DVD-RAM(여러번 재생/기록 가능)등이 있다.Examples of the DVD include DVD-P (DVD-Player; playback only), DVD-ROM; Playback only), DVD-R (DVD-Recordable; recording only once), DVD-RAM (playing / recording multiple times), and the like.
이러한 DVD 시스템에서의 에러정정은 리드-솔로몬(Reed-Solomon) 에러 정정 포맷으로 되어있어 통상 37856 바이트의 데이터를 가로로 182 바이트, 세로로 208 바이트 단위로 행하여진다. 이와같이 가로로 하는 정정을 PI(Parity Inner) 에러정정 그리고 세로로 하는 정정을 PO(Parity Outer) 에러정정이라 일컫는다.The error correction in such a DVD system is in a Reed-Solomon error correction format. Usually, 37856 bytes of data are performed in units of 182 bytes horizontally and 208 bytes vertically. This horizontal correction is called PI (Parity Inner) error correction and vertical correction is called PO (Parity Outer) error correction.
종래에는 퍼스널 컴퓨터(Personal Computer ; PC)에 장착되는 DVD-ROM의 데이터 디코딩을 위해서 도 1과 같은 DVD-RAM용 칩을 그대로 DVD-ROM에 적용하였다.Conventionally, in order to decode data of a DVD-ROM mounted in a personal computer (PC), the DVD-RAM chip as shown in FIG. 1 is applied to a DVD-ROM as it is.
도 1은 에러정정, VBR 제어, 및 데이터 서치 정보(Data Search Information ; DSI)를 위해 256K × 16 비트의 저장 용량을 갖는 다이내믹 랜덤 억세스 메모리(DRAM)(15)를 구비한다. 그리고, 메모리 제어부(12)는 상기 DRAM(15)의 데이터 배열을 제어하고 에러정정코드(Error Code Correction ; ECC)부(14)로 프레임 단위의 데이터를 입출력함으로써 에러정정을 행한다. 이때, PI 에러정정과 PO 에러정정을 순환구조로 하기위하여 2 프레임분의 스테이틱 랜덤 억세스 메모리(SRAM)(13)을 두고 제어한다.FIG. 1 includes a dynamic random access memory (DRAM) 15 having a storage capacity of 256K × 16 bits for error correction, VBR control, and Data Search Information (DSI). The memory controller 12 controls the data arrangement of the DRAM 15 and performs error correction by inputting / outputting data in units of frames to the error code correction (ECC) unit 14. At this time, in order to make the PI error correction and the PO error correction into a cyclic structure, control is performed with a static random access memory (SRAM) 13 for two frames.
여기서, 상기 DRAM(15)은 도 2에 도시된 바와같이, E1과 E2는 각각 1 블록분의 영역으로 에러정정을 위해 서로 순환하도록 되어 있다. 즉, E1에 대하여 PI 에러정정을 하고 있다면 E2에 대하여 PO 에러정정을 하고, E2에 대하여 PI 에러정정을 하고 있다면 E1에 대하여 PO 에러정정을 한다. 그리고, B1에서 B12 까지의 영역은 VBR 제어를 위해 순환하는 영역이다. 또한, DSI 영역은 DSI 데이터를 저장하기 위한 영역이다.Here, as shown in FIG. 2, the DRAMs 15 are arranged such that E1 and E2 circulate with each other for error correction in an area corresponding to one block. In other words, if PI error correction is performed for E1, PO error correction is performed for E2. If PI error correction is performed for E2, PO error correction is performed for E1. The area from B1 to B12 is an area circulating for VBR control. Also, the DSI area is an area for storing DSI data.
이와같이 구성된 도 1은 복조부(11)에서 복조된 데이터는 PI 에러정정 프레임 단위(여기서는 182 바이트)로 메모리 제어부(12)를 통해 SRAM(13)과 ECC부(14)로 출력된다.In FIG. 1 configured as described above, data demodulated by the demodulator 11 is output to the SRAM 13 and the ECC unit 14 through the memory controller 12 in PI error correction frame units (here, 182 bytes).
상기 ECC부(14)는 PI 에러정정을 수행하여 에러 값과 에러 위치를 구한 후 메모리 제어부(12)로 출력하고, 메모리 제어부(12)는 SRAM(13)에 저장된 원래의 데이터와 ECC부(14)에서 출력되는 에러 값과 에러 위치를 이용하여 에러정정을 수행한 후 DRAM(15)에 저장한다. PI 정정된 데이터가 DRAM(15)에 저장되면 메모리 제어부(12)는 다시 DRAM(15)으로부터 PI 정정된 데이터를 PO 에러정정 프레임 단위(여기서는 208 바이트)로 읽어와 SRAM(13)과 ECC부(14)로 출력한다.The ECC unit 14 performs PI error correction to obtain an error value and an error position and outputs the result to the memory control unit 12. The memory control unit 12 stores the original data and the ECC unit 14 stored in the SRAM 13. The error correction is performed using the error value and the error position output from the (), and then stored in the DRAM 15. When the PI-corrected data is stored in the DRAM 15, the memory controller 12 reads the PI-corrected data from the DRAM 15 again in PO error correction frame units (208 bytes in this example), and the SRAM 13 and ECC units ( 14)
상기 ECC부(14)는 PO 에러 정정을 수행하여 에러 값과 에러 위치를 구한 후 메모리 제어부(12)로 출력하고, 메모리 제어부(12)는 SRAM(13)에 저장된 원래의 데이터와 ECC부(14)에서 출력되는 에러 값과 에러 위치를 이용하여 에러정정을 수행한 후 DRAM(15)에 저장한다.The ECC unit 14 performs PO error correction to obtain an error value and an error position and outputs the result to the memory control unit 12. The memory control unit 12 stores the original data and the ECC unit 14 stored in the SRAM 13. The error correction is performed using the error value and the error position output from the (), and then stored in the DRAM 15.
상기 DRAM(15)에 PO 정정된 데이터가 저장되면 메모리 제어부(12)는 DRAM(15)으로부터 PO 정정된 데이터를 읽어와 MPEG 데이터, 시스템 데이터 및 DSI 데이터를 선별하여 시스템 버퍼(도시생략)에는 시스템 데이터를 그리고, 인터페이스 제어부(16)에는 MPEG 데이터 및 DSI 데이터를 출력한다. 상기 인터페이스 제어부(16)는 MPEG으로의 데이터 전송을 제어하는데, 16 섹터의 블록 단위의 데이터중 MPEG에서 요구하지 않는 데이터는 버리고 나머지 데이터는 트랙버퍼(도시생략)로 전송한다.When the PO-corrected data is stored in the DRAM 15, the memory controller 12 reads the PO-corrected data from the DRAM 15, selects MPEG data, system data, and DSI data, and stores the system in a system buffer (not shown). The data is drawn, and the interface control unit 16 outputs MPEG data and DSI data. The interface control unit 16 controls data transmission to MPEG. In block data of 16 sectors, data not required by MPEG is discarded, and the remaining data is transmitted to a track buffer (not shown).
이때, DVD-ROM을 위한 데이터 프로세서는 VBR 처리를 PC에서 프로그램에 의해 소프트웨어적으로 하므로 VBR 제어 및 DSI 처리가 필요없게 된다. 따라서, DRAM(15)에서 B1∼B12 까지의 VBR 제어를 위해 순환하는 영역과 DSI 데이터를 저장하기 위한 DSI 영역이 필요없게 된다.At this time, the data processor for the DVD-ROM performs VBR processing in software by a program in a PC, thereby eliminating the need for VBR control and DSI processing. Therefore, the area circulating for VBR control from B1 to B12 in the DRAM 15 and the DSI area for storing DSI data are unnecessary.
그러나, 종래에는 DVD-RAM용 DRAM(15)이 그대로 DVD-ROM에도 이용되므로 필요없는 VBR 영역 및 DSI 영역에 의해 DRAM의 저장 용량이 불필요하게 증가하게 된다. 이렇게 메모리 사이즈가 커지면 디코딩 칩에 내장할 수 없게되어 외자형 메모리의 형태로 외부에 장착해야 한다. 이는 원-칩(one-chip)화를 불가능하게 한다. 또한, 에러정정된 데이터는 DRAM(15)의 E1, E2 영역, 그리고 VBR 버퍼를 통해 PC로 전송되므로 PC에서 보면 데이터 억세스 타임이 늦어지는 문제점이 발생한다.However, since the DRAM 15 for DVD-RAM is conventionally used for the DVD-ROM, the storage capacity of the DRAM is unnecessarily increased by the VBR area and the DSI area that are not necessary. If the memory size increases, it cannot be embedded in the decoding chip and must be externally mounted in the form of external memory. This makes one-chipization impossible. In addition, since the error-corrected data is transmitted to the PC through the E1 and E2 regions of the DRAM 15 and the VBR buffer, the data access time is delayed when viewed from the PC.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 DVD-ROM에서 불필요한 VBR 영역과 DSI 영역을 없애 메모리 사이즈를 줄이는 DVD-롬용 데이터 디코딩 장치를 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to provide a data decoding apparatus for a DVD-ROM which reduces a memory size by eliminating unnecessary VBR and DSI regions in a DVD-ROM.
본 발명의 다른 목적은 PI 정정 및 PO 정정된 데이터의 저장 방향을 블록마다 바꿈으로써, ECC용 메모리의 사이즈를 줄이는 DVD-롬용 데이터 디코딩 장치를 제공함에 있다.Another object of the present invention is to provide a data decoding apparatus for DVD-ROM which reduces the size of the ECC memory by changing the storage direction of PI corrected and PO corrected data for each block.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 DVD-롬용 데이터 디코딩 장치의 특징은, 입력되는 데이터를 복조하는 복조부와, PI 정정된 데이터 및 PO 정정된 데이터를 블록마다 저장 방향을 바꾸어 저장하는 메모리와, 에러 정정 및 상기 메모리에 PI 정정 데이터와 PO 정정 데이터의 저장을 제어하는 메모리 제어부와, 상기 메모리 제어부의 제어에 의해 PO 정정시에는 상기 메모리로부터 PO 에러정정 프레임 단위로 데이터를 읽어오고 PI 정정시에는 PI 에러정정 프레임 단위로 복조된 데이터를 읽어와 현재 블록의 PO 정정과 다음 블록의 PI 정정을 동시에 수행하는 에러정정부와, PO 에러정정 프레임 단위로 PO 에러정정이 수행되어 상기 메모리에 저장되면 그 프레임의 데이타를 메모리 제어부를 통해 메모리로부터 읽어와 호스트로 출력하는 인터페이스부를 포함하여 구성되는데 있다.A feature of the data decoding apparatus for DVD-ROM according to the present invention for achieving the above object is a demodulation unit for demodulating the input data, and to store the PI-corrected data and PO-corrected data by changing the storage direction for each block A memory control unit that controls memory, error correction, and storage of PI correction data and PO correction data in the memory; and, when PO correction is controlled by the memory control unit, data is read from the memory in PO error correction frame units, and PI correction is performed. The error correction unit reads demodulated data in PI error correction frame units to perform PO correction of the current block and PI correction of the next block, and PO error correction is performed in PO error correction frame units and stored in the memory. Interface to read data of the frame from memory through memory controller and output to host It consists of including wealth.
도 1은 종래의 디지탈 비데오 디스크(DVD)-롬용 데이터 디코딩 장치의 구성 블록도1 is a block diagram of a conventional data decoding device for a digital video disk (DVD) -ROM
도 2는 도 1의 DRAM에 대한 분할 사용예를 도시한 도면FIG. 2 is a diagram illustrating an example of division of use for the DRAM of FIG. 1.
도 3은 본 발명에 따른 DVD-롬용 데이터 디코딩 장치의 구성 블록도3 is a block diagram of a data decoding apparatus for DVD-ROM according to the present invention;
도 4는 도 3의 메모리에 PI-PO 정정된 데이터의 저장 과정을 나타낸 도면4 is a view illustrating a process of storing PI-PO corrected data in the memory of FIG.
도 5는 본 발명에 따른 DVD-롬용 데이터 디코딩 장치를 위한 흐름도5 is a flowchart for a data decoding apparatus for DVD-ROM according to the present invention.
도면의 주요 부분에 대한 부호의 설명Explanation of symbols for the main parts of the drawings
31 : 복조부 32 : 메모리 제어부31: demodulation unit 32: memory control unit
33 : 메모리 34 : SRAM33: memory 34: SRAM
35 : ECC부 36 : 인터페이스부35: ECC unit 36: interface unit
이하, 본 발명의 바람직한 실시예를 첨부도면을 참조하여 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 3은 본 발명에 따른 DVD-롬용 데이터 디코딩 장치의 구성 블록도로서, 입력되는 데이터를 복조하는 복조부(31), PI 정정된 데이터 및 PO 정정된 데이터의 저장 방향을 블록마다 바꾸어 저장하는 ECC용 메모리(33), 에러 정정 및 상기 메모리(33)에의 데이터 저장과 읽기를 제어하는 메모리 제어부(32), PI 에러 정정 및 PO 에러 정정을 순환방식으로 행하기 위한 2 프레임분의 SRAM(34), 현재 블록의 PO 에러정정과 그 다음 블록의 PI 에러정정을 동시에 수행하는 ECC부(35), 및 PI 정정과 PO 정정이 완료된 데이터를 PC로 전송하기 위한 인터페이스부(36)를 포함하여 구성된다.FIG. 3 is a block diagram illustrating a data decoding apparatus for DVD-ROM according to the present invention, wherein the demodulation unit 31 for demodulating input data, the ECC for storing the PI-corrected data, and the PO-corrected data are changed for each block. The memory 33, the memory control unit 32 for controlling error correction and data storage and reading into the memory 33, and the SRAM 34 for two frames for performing PI error correction and PO error correction in a cyclic manner. And an ECC unit 35 for simultaneously performing PO error correction of the current block and PI error correction of the next block, and an interface unit 36 for transmitting PI-completed and PO-corrected data to the PC. .
여기서, 상기 메모리(33)는 ECC 전용 메모리로서, 저장 용량은 208×208 바이트 사이즈이면 충분하다. 이는 1 블록분을 조금 초과하는 사이즈이다. 상기 메모리(33)는 한 프레임의 PO 정정된 데이터의 저장 및 출력과 PI 정정된 데이터의 저장을 동시에 수행한다. 그리고, PI 에러정정된 데이터를 저장할 때 메모리 제어부(32)의 제어에 의해 PI 패리티는 저장하지 않는다. 즉, 상기 PI 패리티는 PI 에러정정시에 이용하기 위한 것으로서, PI 에러정정이 수행되면 더이상 필요없으므로 버림에 의해 메모리(33)의 사이즈를 PI 패리티만큼 더 줄일 수 있다.The memory 33 is an ECC dedicated memory, and a storage capacity of 208 x 208 bytes is sufficient. This is a size slightly over one block. The memory 33 simultaneously stores and outputs PO-corrected data of one frame and PI-corrected data. When storing PI error corrected data, the PI parity is not stored under the control of the memory controller 32. That is, the PI parity is used for PI error correction. When PI error correction is performed, the PI parity is no longer needed, thereby reducing the size of the memory 33 by PI parity.
그리고, 상기 인터페이스부(36)는 DVD-롬 데이터 디코딩 장치와 PC와의 인터페이스를 위해 통상 ATAPI(Advanced Technology Attached Packet Interface)를 사용한다. 즉, ATAPI란 CD나 DVD 드라이브와 PC와의 인터페이스 규격으로 드라이브에서 디코딩된 데이터를 PC의 호스트로 전송하기 위해 새로이 제안된 규격으로, 디코딩된 데이터를 PC에서 처리 가능한 데이터인 패킷 형태의 프로토콜로 변환하여 전송하는 역할을 한다.In addition, the interface unit 36 generally uses an advanced technology attached packet interface (ATAPI) for interfacing the DVD-ROM data decoding apparatus with a PC. In other words, ATAPI is an interface standard between a CD or DVD drive and a PC. It is a newly proposed standard for transferring decoded data from a drive to a host of a PC, and converts the decoded data into a packet type protocol that is data that can be processed by a PC. It serves to transmit.
이와같이 구성된 본 발명은 도 5의 흐름도를 참조하여 상세히 설명한다. 즉, DVD-ROM으로부터 데이터가 독출되면 복조부(31)에서 DVD 복조된 후 메모리 제어부(32)로 출력된다(단계 501).The present invention configured as described above will be described in detail with reference to the flowchart of FIG. 5. That is, when data is read from the DVD-ROM, the DVD is demodulated by the demodulator 31 and then output to the memory controller 32 (step 501).
상기 메모리 제어부(32)는 PI 에러정정 프레임 단위(여기서는 182 바이트)로 2 프레임분의 SRAM(34)과 ECC부(35)로 출력된다.The memory control unit 32 is output to the SRAM 34 and the ECC unit 35 for two frames in PI error correction frame units (here, 182 bytes).
상기 ECC부(35)는 PI 에러정정을 수행하여 에러 값과 에러 위치를 구한 후 메모리 제어부(32)로 출력하고, 메모리 제어부(32)는 SRAM(34)에 저장된 원래의 데이터와 ECC부(35)에서 출력되는 에러 값과 에러 위치를 이용하여 에러정정을 수행한 후(단계 502), 메모리(33)에 저장한다. 이때, PI 정정된 데이터는 182 바이트 단위로 최초에는 도 4의 a와 같이 가로 방향으로 순차적으로 저장된다(단계 503). 여기서, PI 패리티는 메모리 제어부(32)의 제어에 의해 메모리(33)에 저장되지 않는다. 그리고, PI 정정이 182 바이트씩 208 프레임 처리되면 첫번째 블록(E1)의 PI 에러 정정이 완료되는데, 이 시점에서 다시 세로 방향으로 도 4의 a와 같이 PO 에러정정을 한다(단계 504).The ECC unit 35 performs PI error correction to obtain an error value and an error position and outputs the result to the memory control unit 32. The memory control unit 32 stores the original data and the ECC unit 35 stored in the SRAM 34. After error correction is performed using the error value and the error position outputted at (step 502), it is stored in the memory 33. At this time, the PI-corrected data is first stored sequentially in the horizontal direction as shown in a of FIG. 4 in units of 182 bytes (step 503). Here, the PI parity is not stored in the memory 33 under the control of the memory control unit 32. When 208 frames of PI correction are processed by 182 bytes, PI error correction of the first block E1 is completed. At this point, PO error correction is performed in the vertical direction as shown in FIG. 4A (step 504).
즉, PO 에러정정을 수행하기 위하여 메모리 제어부(32)는 PI 에러정정된 후 메모리(33)에 저장되어 있는 데이터를 세로 방향으로 PO 에러정정 프레임 단위(여기서는 208 바이트)로 읽어와 SRAM(34)과 ECC부(35)로 출력한다.That is, in order to perform PO error correction, the memory control unit 32 reads the data stored in the memory 33 after the PI error correction in the PO error correction frame unit (here 208 bytes) in the vertical direction, and then the SRAM 34. And to the ECC unit 35.
상기 ECC부(35)는 PO 에러 정정을 수행하여 에러 값과 에러 위치를 구한 후 메모리 제어부(32)로 출력하고, 메모리 제어부(32)는 SRAM(34)에 저장된 원래의 데이터와 ECC부(35)에서 출력되는 에러 값과 에러 위치를 이용하여 에러정정을 수행한 후 다시 메모리(33)에 고쳐쓴다(단계 505).The ECC unit 35 performs PO error correction to obtain an error value and an error position, and outputs the result to the memory control unit 32. The memory control unit 32 stores the original data and the ECC unit 35 stored in the SRAM 34. The error correction is performed using the error value and the error position output from the multiplier), and then rewritten to the memory 33 (step 505).
이때, PO 에러정정이 끝난 프레임의 데이터는 도 4의 b와 같이 빗금친 부분으로서, PI-PO가 모두 끝난 데이터이므로 더이상 메모리(33)에 가지고 있을 필요가 없다. 그러므로, 메모리 제어부(32)는 메모리(33)에 저장되어 있는 세로 방향의 208 바이트 데이터(즉, 도 4의 b의 빗금친 영역)를 인터페이스부(36)로 출력시키고(단계 506), 프레임이 빠져나간 자리에는 그 사이에 처리된 새로운 블록(E2)의 PI 에러정정 데이터를 도 4의 c와 같이 써 넣는다(단계 507). 따라서, PI 정정된 데이터는 이전 블록과는 반대로 세로 방향으로 182 바이트 단위로 순차적으로 저장된다. 즉, ECC부(35)에서는 현재 블록의 PO 정정과 다음 블록의 PI 정정을 동시에 수행하여야 한다.At this time, the data of the PO error corrected frame is hatched as shown in b of FIG. 4, and since the PI-PO is all completed data, it is no longer necessary to have it in the memory 33. Therefore, the memory controller 32 outputs 208 bytes of data (ie, hatched areas in FIG. 4B) stored in the memory 33 to the interface unit 36 (step 506), and the frame is output. At the exit, the PI error correction data of the new block E2 processed therebetween is written as shown in c of FIG. 4 (step 507). Therefore, the PI corrected data is sequentially stored in units of 182 bytes in the vertical direction as opposed to the previous block. That is, the ECC unit 35 must simultaneously perform PO correction of the current block and PI correction of the next block.
이런식으로 한 프레임의 PO 에러 정정 및 인터페이스부(36)의 출력과 그 다음 블록의 PI 에러정정정이 동시에 이루어지게 되어 PO 에러정정이 208 바이트씩 182 프레임 끝나게 되면 도 4의 c와 같이 첫번째 블록(E1)에 대한 PI-PO 에러정정이 모두 완료됨과 동시에 그 다음 블록(E2)의 PI 에러정정도 거의 끝나게 된다. 따라서, 한 블록(E1)의 PO 에러정정이 완료되는 시점이면 그 다음 블록(E2)의 PI 에러정정도 완료되게 되어 1 블록 사이즈보다 약간 큰 사이즈의 메모리(33)만으로도 ECC 처리가 가능해진다.In this way, the PO error correction of one frame and the output of the interface unit 36 and the PI error correction of the next block are simultaneously performed. When the PO error correction ends 182 frames of 208 bytes, the first block (c) of FIG. All PI-PO error corrections for E1) are completed and the PI error correction of the next block (E2) is almost finished. Therefore, when the PO error correction of one block E1 is completed, the PI error correction of the next block E2 is completed, and ECC processing is possible only by the memory 33 of a size slightly larger than one block size.
그리고, 새로운 블록(E2)의 PI 정정된 데이터가 도 4의 d와 같이 메모리(33)에 세로 방향으로 저장되어 있으므로 새로운 블록(E2)의 PO 에러정정을 수행하기 위해서는 도 4의 d와 같이 가로 방향으로 데이터를 읽어내야 된다. 즉, 메모리 제어부(32)는 PO 정정을 위해 메모리(33)에 저장된 데이터를 가로방향으로 208 바이트 단위로 읽어와 SRAM(34)과 ECC부(35)로 출력한다(단계 508). 상기 ECC부(35)는 PO 에러 정정을 수행하여 에러 값과 에러 위치를 구한 후 메모리 제어부(32)로 출력하고, 메모리 제어부(32)는 SRAM(34)에 저장된 원래의 데이터와 ECC부(35)에서 출력되는 에러 값과 에러 위치를 이용하여 에러정정을 수행하여 다시 메모리(33)에 고쳐쓴 후(단계 509), 도 4의 e와 같이 바로 읽어내어 인터페이스부(36)로 출력한다(단계 510).In addition, since PI-corrected data of the new block E2 is stored in the memory 33 in the vertical direction as shown in d of FIG. 4, in order to perform PO error correction of the new block E2, horizontally as shown in d of FIG. 4. The data must be read in the direction. That is, the memory control unit 32 reads the data stored in the memory 33 in units of 208 bytes in the horizontal direction for PO correction, and outputs the data to the SRAM 34 and the ECC unit 35 (step 508). The ECC unit 35 performs PO error correction to obtain an error value and an error position, and outputs the result to the memory control unit 32. The memory control unit 32 stores the original data and the ECC unit 35 stored in the SRAM 34. Error correction is performed using the error value and the error position output from the multi-stage controller, rewritten to the memory 33 again (step 509), and immediately read and output to the interface unit 36 as shown in FIG. 510).
그리고, PO 정정된 데이터 프레임이 빠져나간 자리에는 역시 새로운 블록(E3)의 PI 에러정정된 데이터가 도 4의 f와 같이 저장되는데, 이때에는 다시 원래대로 가로 방향으로 데이터가 저장되므로, 1 블록의 PI 에러정정이 완료되면 다시 세로 방향으로 데이터를 읽어내어 PO 에러정정을 수행한다.In addition, the PI error corrected data of the new block E3 is stored as shown in f of FIG. 4 at the position where the PO-corrected data frame exits. After PI error correction is completed, read the data in the vertical direction and perform PO error correction.
이때, 2 블록의 PI-PO 정정이 수행된 후에 원래의 저장 방향으로 돌아가므로, 단계 511에서 읽어들이는 블록 번호를 2씩 증가시킨 후(n=n+2), 에러정정이 완료되지 않았으면(단계 512), 상기 단계 502로 되돌아가 다음 블록에 대해 상기와 같이 PI-PO 에러정정을 수행한다.At this time, since the block returns to the original storage direction after the PI-PO correction of two blocks is performed, if the block number read in step 511 is increased by two (n = n + 2), error correction is not completed. (Step 512), the flow returns to step 502 to perform PI-PO error correction on the next block as described above.
이와같이 상기 메모리(33)에 데이터를 쓰고 읽어내는 방향을 블록 단위로 바꿈에 의해 PI와 PO 정정을 수행함으로써, 작은 사이즈의 메모리로도 ECC가 가능해진다.As described above, PI and PO corrections are performed by changing the direction of writing and reading data into the memory 33 in units of blocks, thereby enabling ECC to be performed even with a small memory size.
한편, 상기 PI-PO 에러정정이 완료된 데이터가 인터페이스부(36)로 출력될 때의 데이터 배열은 ECC용 메모리(33)로 입력되는 원래의 데이터 순서와는 달라지므로 이를 재배열하는 과정이 필요한다. 이때, 상기 인터페이스부(36)의 ATAPI 장치 자체에 16 블록정도의 메모리를 가진 버퍼가 있으므로 별도의 메모리 추가없이 간단히 데이터 배열을 재조정할 수 있다.On the other hand, the data arrangement when the PI-PO error correction data is output to the interface unit 36 is different from the original data order input to the ECC memory 33, it is necessary to rearrange the process. . In this case, since there is a buffer having about 16 blocks of memory in the ATAPI device itself of the interface unit 36, the data array can be easily readjusted without additional memory.
즉, 최초에 메모리(33)에 저장되는 데이터의 순서는 하기와 같이 가로열로 차례로 저장된다. 그리고, PI 단위인 182 바이트씩 208 프레임에 대해 PI 에러정정된 후 다시 PO 에러정정을 208 바이트씩 에러정정하여 다시 고쳐쓰고 세로열 208 바이트 0 182 364 ... 37674로 이루어진 한 프레임, 다음에 1 183 365 ... 37675 순으로 이루어진 다음 프레임의 순서로 입력 순서와는 다르게 인터페이스부(36)로 출력되므로 호스트로 전송하기 전에 인터페이스부(36)는 이 순서를 원래의 시리얼한 순서대로 재배열한다. 예컨대, PI-PO 정정된 데이터가 메모리에 저장될 때 저장 방향이 매 블록마다 바뀌므로 메모리로부터 출력되는 PI-PO 정정된 데이터 배열을 원래의 시리얼한 순서로 재조정한다.That is, the order of data initially stored in the memory 33 is sequentially stored in a horizontal column as follows. Then, after PI error correction is performed on 208 frames of 182 bytes, which are PI units, the PO error correction is again corrected by error correction by 208 bytes, followed by one frame consisting of 208 bytes 0 182 364 ... 37674, followed by 1 183 365 ... 37675 The next frame sequence is output to the interface unit 36 differently from the input sequence, so the interface unit 36 rearranges the sequence in the original serial order before transmitting to the host. . For example, when the PI-PO corrected data is stored in the memory, the storage direction is changed every block so that the PI-PO corrected data array output from the memory is readjusted in the original serial order.
0 1 2 3 4 5 6 ... 1810 1 2 3 4 5 6 ... 181
182 183 184 185 186 187 188 ... 363182 183 184 185 186 187 188 ... 363
364 365 366 367 368 369 370 ... 545364 365 366 367 368 369 370 ... 545
. .. .
. .. .
. .. .
37674 37675 ..... 3785537674 37675 ..... 37855
이상에서와 같이 본 발명에 따른 DVD-롬용 데이터 디코딩 장치에 의하면, DVD-롬에서 불필요한 VBR, DSI용 메모리를 제거함과 동시에 첫번째 블록에 대해서는 가로 방향으로 182 바이트 단위로 PI 정정을 수행하여 순서대로 저장한 후 1 블록의 PI 정정이 완료되면 세로 방향으로 208 바이트 단위(1 프레임)의 PO 정정을 수행한 후 ATAPI로 출력함과 동시에 그 프레임이 빠져나간 자리에는 다음 블록의 PI 정정된 데이터를 세로 방향으로 저장하고, 다음 블록의 PI 정정이 완료되면 가로 방향으로 208 바이트 단위로 데이터를 읽어내어 PO 정정을 수행한 후 ATAPI로 출력함과 동시에 그 프레임이 빠져나간 자리에는 다시 그 다음 블록의 PI 정정된 데이터를 가로 방향으로 저장하는 과정을 모든 블록에 대해 순차적으로 반복 수행함에 의해 한 프레임의 PO 정정된 데이터의 저장 및 출력과 그 다음 블록의 PI 정정된 데이터의 저장을 동시에 수행함으로써, ECC용 메모리의 사이즈를 2 블록분보다 작은 사이즈(예컨대 208×208 바이트)로 줄일 수 있어 메모리가 내장 가능함에 의해 원-칩화가 가능하면서 PC로의 데이터 전송 속도를 높이는 효과가 있다.As described above, according to the data decoding apparatus for DVD-ROM according to the present invention, the unnecessary VBR and DSI memory are removed from the DVD-ROM, and the PI block is sequentially stored in the horizontal direction for 182 bytes for the first block. After the PI correction of one block is completed, PO correction is performed in 208 byte units (1 frame) in the vertical direction, and then outputted to the ATAPI. When the PI correction of the next block is completed, the data is read in 208 byte units in the horizontal direction, PO correction is performed, and then output to ATAPI. The process of storing data horizontally is repeated for all blocks in order to reduce the PO corrected data of one frame. By simultaneously storing the chapter and output and the PI-corrected data of the next block, the size of the ECC memory can be reduced to a size smaller than 2 blocks (for example, 208 x 208 bytes), and the memory can be built-in. It can be chipped and increases the data transfer speed to the PC.
또한, PI 에러정정 후 PI 패리티는 저장하지 않도록 함으로써, 메모리의 사이즈를 더욱 줄일 수 있다.In addition, since the PI parity is not stored after PI error correction, the size of the memory can be further reduced.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970045552A KR100257196B1 (en) | 1997-09-02 | 1997-09-02 | Data decoder for digital video disc-rom |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970045552A KR100257196B1 (en) | 1997-09-02 | 1997-09-02 | Data decoder for digital video disc-rom |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990024450A true KR19990024450A (en) | 1999-04-06 |
KR100257196B1 KR100257196B1 (en) | 2000-06-01 |
Family
ID=19520733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970045552A KR100257196B1 (en) | 1997-09-02 | 1997-09-02 | Data decoder for digital video disc-rom |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100257196B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100482939B1 (en) * | 2000-12-12 | 2005-04-15 | 가부시끼가이샤 도시바 | Data processing method using error-correcting code and an apparatus using the same method |
KR100620184B1 (en) * | 1999-02-04 | 2006-09-01 | 엘지전자 주식회사 | Method for correcting error in reproduced data |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100688574B1 (en) | 2005-09-16 | 2007-03-02 | 삼성전자주식회사 | Device and method for data processing in optical disk |
-
1997
- 1997-09-02 KR KR1019970045552A patent/KR100257196B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100620184B1 (en) * | 1999-02-04 | 2006-09-01 | 엘지전자 주식회사 | Method for correcting error in reproduced data |
KR100482939B1 (en) * | 2000-12-12 | 2005-04-15 | 가부시끼가이샤 도시바 | Data processing method using error-correcting code and an apparatus using the same method |
Also Published As
Publication number | Publication date |
---|---|
KR100257196B1 (en) | 2000-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7738325B2 (en) | Reading and writing methods and apparatus for Blu-Rays discs | |
EP1914752A1 (en) | High-speed error correcting apparatus with efficient data transfer | |
US7454691B2 (en) | Method and system for encoding digital data for optical recording system | |
US8254765B2 (en) | Optical disc player system and method of controlling a decoding unit in the optical disc player system to read encoded bitstream data from a buffer memory | |
US5886654A (en) | Apparatus and method for decoding data using flags to indicate decoding errors in data rows and columns | |
CN1140879A (en) | Playback method and apparatus for reproducing encoded data in reverse playback operation | |
US7007222B2 (en) | Apparatus for accessing data stored on an optical disc | |
US6687860B1 (en) | Data transfer device and data transfer method | |
US6079046A (en) | Dynamic data transfer bandwidth control | |
KR100257196B1 (en) | Data decoder for digital video disc-rom | |
JP2001126398A (en) | Data reproducing device and its method | |
US7702987B2 (en) | Apparatus and method for processing data of an optical disk | |
US7523376B2 (en) | Apparatus for accessing and transferring optical data | |
JP3093724B2 (en) | Moving image data reproducing apparatus and reverse reproducing method of moving image data | |
US7120849B2 (en) | Data storage medium having link zone and apparatus and method for recording/reproducing data on/from the data storage medium | |
KR19990060321A (en) | Processing Method of Defect Sector Data in Digital Video Disc-RAM System | |
US6697921B1 (en) | Signal processor providing an increased memory access rate | |
KR100272541B1 (en) | Data decoder for digital video disc-rom | |
JP3564910B2 (en) | Data reproducing apparatus and data reproducing method | |
JPH09265730A (en) | Data reproducing device and method therefor | |
KR100216026B1 (en) | Decoding device for digital video disc system | |
KR100205431B1 (en) | Error correction circuit and method for digital video disc system | |
US6529679B1 (en) | Information processing apparatus and method as well as providing medium | |
JP2000076802A (en) | Information recording and reproducing method | |
JP4304861B2 (en) | Recording / playback device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20070130 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |