1. Field of the Invention
The present invention relates to a circuit and a method for encoding data, and a data recorder. In particular, the present invention is suitably used when error correction codes are added by product encoding of row (PI) and column (PO) directions.
2. Description of the Related Art
When data is recorded on a digital versatile disk (DVD), an error correction code is added for each ECC block. This error correction is carried out by using product codes. Error correction codes of row (PI) and column (PO) directions are added to data of one ECC block spread in the memory.
The PO code corresponding to each column of a PI code area is stored in an overlapped portion of the PI and PO code areas. This is a case where processing of the PO direction is executed after processing of the PI direction. Conversely, however, even when the processing of the PI direction is executed after the processing of the PO direction, because of product code characteristics, the overlapped portion of the PI and PO code areas exhibits the same error correction operation.
In the conventional error correction encoding circuit 100 shown in
Then, data are read line by line from the memory 101 to the PI arithmetic operation circuit 104, and a PI code is calculated for each line. The obtained PI code is added to its corresponding data to be written in the memory 101 (
Accordingly, after the ECC block has been constituted, data is read for each line, and output to a modulation circuit 200 (
Incidentally, in the error correction encoding circuit 100 shown in
On the other hand, a relation with a DVD standard requires 11.08 Mbps as user data transfer rate during recording when data is recorded at a speed multiplied by 1. This is expressed to be 0.6925 Mword/S by a word (16 bits) unit.
In the error correction encoding circuit 100 shown in
CL1=6.5×0.6925=4.5 MHz (1)
This clock frequency is in the case of recording at a speed multiplied by 1. When the speed is multiplied by 16, a clock frequency CL16 is represented by the following equation.
CL16=4.5×16=72 MHz (2)
Further, when an overhead of memory access is estimated to be about 1.3 to 1.5, a clock frequency is represented by the following equation.
CL16=94 to 108 MHz (3)
In reality, memory access in addition to the process (1) to (8) is required. Accordingly, an operation clock of the memory must be much higher.
However, the memory of such a high clock frequency is expensive. Thus, a cost problem occurs when the memory is mounted on a DVD recorder or the like. Additionally, the high operation clock frequency of the memory brings about a problem with an increase in power consumption of the memory. On the other hand, if the operation clock frequency of the memory is reduced, encoding is not finished in time, causing a fear of losing real-timeness of the recording operation.
JP-2001-298371 A describes a technology of reducing the number of times of accessing a memory by simultaneously performing PI and PO arithmetic operations.
The present invention has been made to solve the problems, and an object of the present invention is to secure real-timeness of a recording operation even with a memory of a low operation clock frequency by reducing the number of times of accessing the memory, and to simultaneously allow reduction in power consumption and in memory costs.
According to a first aspect of the present invention, there is provided a data encoding circuit, including: an EDC arithmetic operation unit for adding an error detection code to data; a scrambling arithmetic operation unit for scrambling the data to which the error detection code has been added by the EDC arithmetic operation unit; a PI arithmetic operation unit for adding an error correction code of a PI direction to the data scrambled by the scrambling arithmetic operation unit; a PO arithmetic operation unit for adding an error correction code of a PO direction to the data scrambled by the scrambling arithmetic operation unit; and a memory for writing/reading data in accordance with an operation clock, in which data from a host is input to the EDC arithmetic operation unit and the scrambling arithmetic operation unit to be processed before writing of the data in the memory, the processed data is written in the memory, one of the PI arithmetic operation unit and the PO arithmetic operation unit executes processing first on the data in a direction different from a data reading direction for outputting data from the memory to a processing circuit of a subsequent stage to write in the memory the error correction code, and the other one of the PI arithmetic operation unit and the PO arithmetic operation unit executes processing next on the data while reading the data from the memory in the data reading direction to add the error correction code thereto and sequentially output the data to the processing circuit of the subsequent stage.
According to a second aspect of the present invention, there is provided a method of encoding data, including: an EDC arithmetic operation step of adding an error detection code to data; a scrambling arithmetic operation step of scrambling the data to which the error detection code has been added in the EDC arithmetic operation step; a PI arithmetic operation step of adding an error correction code of a PI direction to the data scrambled in the scrambling arithmetic operation step; and a PO arithmetic operation step of adding an error correction code of a PO direction to the data scrambled in the scrambling arithmetic operation step, in which data from a host is processed in the EDC arithmetic operation step and the scrambling arithmetic operation step to be written in a memory, one of the PI arithmetic operation step and the PO arithmetic operation step includes executing processing first on the data in a direction different from a data reading direction for outputting data from the memory to a processing circuit of a subsequent stage to write in the memory the error correction code, and the other one of the PI arithmetic operation step and the PO arithmetic operation step includes executing processing next on the data while reading the data from the memory in the data reading direction to add the error correction code thereto and sequentially output the data to the processing circuit of the subsequent stage.
According to a third aspect of the present invention, there is provided a data recorder equipped with a data encoding circuit for adding an error correction code to recorded data, the data encoding circuit including: an EDC arithmetic operation unit for adding an error detection code to data; a scrambling arithmetic operation unit for scrambling the data to which the error detection code has been added by the EDC arithmetic operation unit; a PI arithmetic operation unit for adding an error correction code of a PI direction to the data scrambled by the scrambling arithmetic operation unit; a PO arithmetic operation unit for adding an error correction code of a PO direction to the data scrambled by the scrambling arithmetic operation unit; and a memory for writing/reading data in accordance with an operation clock, in which data from a host is input to the EDC arithmetic operation unit and the scrambling arithmetic operation unit to be processed before writing of the data in the memory, the processed data is written in the memory, one of the PI arithmetic operation unit and the PO arithmetic operation unit executes processing first on the data in a direction different from a data reading direction for outputting data from the memory to a processing circuit of a subsequent stage to write in the memory the error correction code, and the other one of the PI arithmetic operation unit and the PO arithmetic operation unit executes processing next on the data while reading the data from the memory in the data reading direction to add the error correction code thereto and sequentially output the data to the processing circuit of the subsequent stage.
According to each aspect of this invention, the data from the host is input to the EDC arithmetic operation unit and the scrambling unit to be processed prior to its writing in the memory, and then the data is written from the scrambling unit in the memory. Thus, it is possible to omit memory access when the data is written from the host in the memory and memory access when the data is read from the memory to the EDC arithmetic operation unit. Moreover, the error correction codes of a PI or PO direction are added while the data is read in the PI or PO direction from the memory, and these codes are sequentially output to the processing unit or the like of the subsequent stage. Thus, it is possible to omit memory access when the data is read from the memory to the processing unit or the like of the subsequent stage and memory access when the error correction code is added from the PI arithmetic operation unit or the PO arithmetic operation unit and written in the memory.
Thus, according to this invention, as compared with the conventional technology, the number of times of accessing the memory can be considerably reduced, making it possible to conspicuously reduce the operation clock frequency of the memory.
For example, when this invention is applied to a DVD recorder, the number of times of accessing a memory can be reduced from 6.5 (conventional technology) to 3.3 (this invention). Thus, in accordance with the equations (1) to (3), the operation clock frequency of the memory is represented as follows in the case of a speed multiplied by 1.
CL1=3.3×0.6925=2.29 MHz
In the case of a speed multiplied by 16, the operation clock frequency is represented as follows.
CL16=2.29×16=36.6 MHz
Further, when a memory access overhead of 1.3 to 1.5 is expected, the operation clock frequency is represented as follows.
CL16=48 to 55 MHz
In addition, according to this invention, error correction codes of the PI or PO direction are not written in the memory. Thus, the memory capacity that would be required for the error correction codes can be saved. Alternatively, a free memory area created due to the fact that PI codes or PO codes are not written in the memory can be used as a work area for another process.
The above, other objects and novel features of the present invention will become more completely apparent upon reading the following embodiments in conjunction with the accompanying drawings, wherein:
The embodiment of the present invention will be described with reference to the accompanying drawings. This embodiment shows a configuration example when the present invention is applied to a DVD recorder.
A memory 101 includes an SDRAM or the like. A PO arithmetic operation circuit 105 calculates and adds an error correction code of a PO direction (column direction) to scrambled data. An EDC arithmetic operation circuit 110 calculates and adds an error detection code to data input from a host. A scrambling arithmetic operation circuit 111 scrambles the data to which the error correction code has been added. API arithmetic operation circuit 112 adds a PI code to the data input from the memory 101, and then outputs the data to a modulation circuit 200. The modulation circuit 200 executes predetermined modulation on the input data to generate a recording signal. An optical pickup 300 emits a laser beam in accordance with the recording signal input from the modulation circuit 200 to write data in an optical disk.
According to this embodiment, recorded data is input from a host to the EDC arithmetic operation circuit 110. Each time data of one ECC block is input, the EDC arithmetic operation circuit 110 calculates and adds an error detection code to the data and outputs this data to the scrambling arithmetic operation circuit 111. The scrambling arithmetic operation circuit 111 executes scrambling on the data of one ECC block input from the EDC arithmetic operation circuit 110, and sequentially writes the data in the memory 101.
Furthermore, according to this embodiment, prior to error correction encoding of a PI direction, error correction encoding of a PO direction is executed at the PO arithmetic operation circuit 105, and an obtained PO code is added to corresponding data to be written in the memory 101. Subsequently, the data are read in the PI direction line by line from the memory 101 to the PI arithmetic operation circuit 112. A PI code is added to the data, and the data is output directly to the modulation circuit 200.
When data of one sector (sector data) is input from the host to the EDC arithmetic operation circuit 110 (S101), a header containing a sector ID or the like is added to the sector data, followed by error detection code calculation (S102). The EDC code calculated here is added to the sector data and input to the scrambling arithmetic operation circuit 111 (S103). The scrambling arithmetic operation circuit 111 executes scrambling on the input sector data (S104). Then, the scrambled sector data is written in the memory 101 (S105). The process of steps S101 to S105 is repeated until the data of one ECC block has been written in the memory 101 (S106).
Thus, after the data of one ECC block has been written in the memory 101, then data of one column is read from the memory 101 to the PO arithmetic operation circuit 105 (S107), and then at the PO arithmetic operation circuit 105, error correction code calculation (PO code calculation) on the data is executed. An obtained PO code is added to the data and written in the memory 101 (S108). This process is repeated until completion for data of all the columns (S109).
Then, data of one line is read from the memory 101 to the PI arithmetic operation circuit 112 (S110), and the PI arithmetic operation circuit 112 executes error correction code calculation (PI code calculation) on the data. An obtained PI code is added to the data and output to the modulation circuit 200 (S111). This process is repeated until completion for data of all the lines (S112).
According to this embodiment, prior to writing of the data from the host in the memory 101, the data is input to the EDC arithmetic operation circuit 110 and the scrambling arithmetic operation circuit 111 and processed, and the processed data is written in the memory 101. Thus, it is possible to omit memory access when the data is written from the host in the memory and memory access when the data is read from the memory to the EDC arithmetic operation circuit.
The PI arithmetic operation is carried out while the data is read in the PI direction from the memory 101. Thus, it is possible to omit memory access when the data is read from the memory 101 to the modulation circuit 200 and memory access when the error correction code of the PI direction is added from the PI arithmetic operation circuit to be written in the memory.
Thus, according to this embodiment, the number of times of accessing the memory can be considerably reduced, making it possible to conspicuously reduce the operation clock frequency of the memory. As a result, it is possible to greatly reduce costs of the memory 101, realizing low costs of the data recorder.
In addition, since PI codes are not written in the memory, the memory capacity that would be required for the PI codes can be saved. Alternatively, a free memory area created due to the fact that the PI codes are not written in the memory can be used as a work area for another process. In an ECC block including data of the rows and columns whose numbers are shown in
Hereinabove, description has been made of the present invention with reference to the embodiments. However, the present invention is not limited to the above-mentioned embodiments.
It should be noted that in the above-mentioned embodiments, since the PI direction is set as the direction for reading data from the memory when outputting data from the memory to the modulation circuit, the processing in the PO direction is executed first, and the PI encoding and output of the data to the modulation circuit 200 are executed next while the data are read in the PI direction. However, if the PO direction is set as the direction for reading data from the memory when outputting data from the memory to the modulation circuit, the processing in the PI direction is executed first, and the PO encoding and output of the data to the modulation circuit 200 are executed next while the data are read in the PO direction.
The present invention can be modified variously as appropriate within the technical thoughts described in the scope of the claims appended hereto.
Number | Date | Country | Kind |
---|---|---|---|
2004-152516 (P) | May 2004 | JP | national |