Abstract:
An encoding method for an optical recorder provides an optical recorder with an encoder for encoding data received from a computer. Additionally, the optical recorder includes a processor for controlling operations of the encoder. The encoding method includes receiving data of a next mode, which is different from a current mode, from the computer even when the encoder is still encoding data of the current mode.

Description:
BACKGROUND OF INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to an encoding method, and more particularly, to an encoding method for an optical recorder.  
           [0003]    2. Description of the Prior Art  
           [0004]    In recent years, the use of compact discs (CDs) as a storage medium has risen dramatically. As a result, optical recorders such as CD recordable (CD-R) and CD-rewritable (CD-RW) drives have entered the mainstream electronics market. Through the use of these optical recorders, information can be stored on a CD in different modes, which include audio and data. In addition, CDs can be created that include both audio and data on the same disc.  
           [0005]    Typically, data from a host computer is encoded by the optical recorder, and then stored on the CD. According to the Orange Book standard, a CD can be written to in several different formats: track at once (TAO), session at once (SAO), disc at once (DAO), and Packet write. Each track written using TAO can either be an audio track or a data track. On the other hand, SAO allows both data and audio to be written using a single session. Likewise, DAO also allows both data and audio to be written on the same disc. Packet write allows only data to be written.  
           [0006]    However, prior art optical recorders have a severe limitation when writing both audio and data modes to a CD when using either SAO or DAO formats. An encoder located in the optical recorder is not able to receive data from the computer in one mode while encoding data of another mode. To help illustrate this limitation, please refer to FIG. 1. FIG. 1 is a timing diagram showing tracks that will be written to a CD using different modes. The receiving process is begun at time t 0  when information represented in first audio track  12  is continuously sent from the computer to a buffer on the optical recorder. Then, the optical recorder encodes information of the first audio track  12 , and it will continue to record the information from the buffer to the disc.  
           [0007]    Immediately following the first audio track  12  is a first data track  14 . Since the first audio track  12  and the first data track  14  are not in the same mode, the optical recorder stops receiving and encoding information at time t 1 .  
           [0008]    After the encoding process for the first audio track  12  is completed, and the buffer starts to receive and encode the first data track  14  from the computer. At time t 2 , the entire first data track  14  has been received. Even so, since a second audio track  16  follows the first data track  14 , and the two modes are not identical, the encoder must finish encoding the first data track  14  before the second audio track  16  can be received.  
           [0009]    Whenever the receiving process is temporarily stopped, there exists a possibility of buffer under-run. That is, if the recording process is faster than the encoding process, buffer under-run occurs and the compact disc is potentially ruined. Referring again to FIG. 1, at times t 1  and t 2  a potential for buffer under-run exists since at that time the buffer contains no information for recording about the next track.  
         SUMMARY OF INVENTION  
         [0010]    It is therefore a primary objective of the claimed invention to provide an encoding method for an optical recorder for solving the above-mentioned problems.  
           [0011]    According to the claimed invention, an encoding method for an optical recorder provides an optical recorder with an encoder for encoding data received from a computer. Additionally, the optical recorder includes a processor for controlling operations of the encoder. The encoding method comprises receiving data of a next mode, which is different from a current mode, from the computer even when the encoder is still encoding data of the current mode.  
           [0012]    It is an advantage of the claimed invention that the optical recorder receives data of the next mode while encoding data of the current mode in order to reduce the occurrence of buffer under-run.  
           [0013]    These and other objectives of the claimed invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment, which is illustrated in the various figures and drawings. 
       
    
    
     BRIEF DESCRIPTION OF DRAWINGS  
       [0014]    [0014]FIG. 1 is a timing diagram showing tracks that will be written to a CD using different modes.  
         [0015]    [0015]FIG. 2 is a block diagram of an optical recorder according to the present invention.  
         [0016]    [0016]FIG. 3 is a block diagram of an encoder RAM arbiter (ERA) of the optical recorder.  
         [0017]    [0017]FIG. 4 is a block diagram of an encoder sector processor (ESP) of the optical recorder.  
         [0018]    [0018]FIG. 5 is a block diagram of a DRAM buffer of the optical recorder.  
         [0019]    [0019]FIG. 6 is a block diagram of the subcode generator of the optical recorder. 
     
    
     DETAILED DESCRIPTION  
       [0020]    Please refer to FIG. 2. FIG. 2 is a block diagram of an optical recorder  20  according to the present invention. The optical recorder  20  comprises an encoder  30  for encoding data received from a computer, and a processor  26  for controlling operations of the encoder  30 . Furthermore, the optical recorder  20  includes a DRAM buffer  22  for storing data transmitted from the computer. When the computer sends data to the encoder  30 , the data is first stored in the DRAM buffer  22  before being encoded. The data from the computer is sent to the encoder  30  through an Integrated Drive Electronics (IDE) bus  24 .  
         [0021]    The encoder  30  further comprises a host interface (HI)  32  electrically connected to the IDE bus  24  for receiving data from the computer. An encoder sector processor (ESP)  34  is used to encode data according to a mode of the data such as audio mode and data mode. An encoder RAM arbiter (ERA)  36  is connected to the HI  32 , the DRAM buffer  22 , and the ESP  34 . The ERA  36  is used to store data from the HI  32  into the DRAM buffer  22 , for transferring data in the DRAM buffer  22  to the ESP  34 , and for storing data encoded by the ESP  34  into the DRAM buffer  22 .  
         [0022]    Moreover, the encoder  30  also includes a subcode generator  38  connected to the ERA  36  for generating sub-channel data, and a cross interleave reed-solomon code (CIRC)  40  connected to the ERA  36  for generating main channel data. The encoder  30  uses an  8- to-14 modulator  42  connected to both the subcode generator  38  and the CIRC  40  for converting the sub-channel data and the main channel data in order to generate a serial data stream. Then, the serial data stream is converted into switch commands by a write controller (WC)  44  connected to the modulator  42 . These switch commands are used by the WC  44  to control write strategy of the encoder  30 . The encoder  30  receives absolute time information from an absolute time in pre-groove decoder (ATIP decoder)  46  connected to the WC  44 .  
         [0023]    The encoding method for the present invention optical recorder  20  involves a series of steps. First, The HI  32  is used to receive data from the computer. Then, the ERA  36  stores data from the HI  32  into the DRAM buffer  22 , and transfers data in the DRAM buffer  22  to the ESP  34 . The ESP  34  then encodes data transmitted from the ERA  36  according to modes of the data. These modes include data mode and audio mode, although other modes may be used as well. When the ESP  34  finishes encoding data, the ERA  36  overwrites data stored in the DRAM buffer  22  with data encoded by the ESP  34 . Next, the subcode generator  38  generates sub-channel data, and the CIRC  40  interleaves data, which was encoded by the ESP  34  and is stored in the DRAM buffer  22 , to generate main channel data. Finally, the modulator  42  converts the subchannel data and the main channel data into a serial data stream. The WC  44  then converts the serial data stream into switch commands of write strategy and outputs the switching commands with reference to the absolute time information provided by the ATIP decoder  46 .  
         [0024]    Please refer to FIG. 3. FIG. 3 is a block diagram of the ERA  36  of the optical recorder  20 . The ERA  36  comprises a trigger register  48  for generating initial triggers  52  and change mode triggers  50 . Specifically, the trigger register  48  outputs one change mode trigger  50  in order to latch last data that was stored in the DRAM buffer  22 . The change mode trigger  50  also notifies the ESP  34  and the subcode generator  38  that the last data and data following the last data need to be encoded with the next mode. Then, a mode type of the next mode is stored in a data mode field register  56 . When the change mode trigger  50  is received from the trigger register  48 , the data mode field register  56  is updated with the next mode. In addition, the ERA  36  further comprises a DRAM arbiter  54  that is used to access data stored in the DRAM buffer  22 .  
         [0025]    Please refer to FIG. 4. FIG. 4 is a block diagram of the ESP  34  of the optical recorder  20 . The ESP  34  comprises a sector processor  58  for encoding data transmitted from the ERA  36 , a first level encoder register  60  for storing a data format of the current mode, and a second level encoder register  62  for storing a data format of the next mode. During the encoding process, the ESP  34  is notified that the last data and data following the last data need to be encoded with the next mode when receiving the latched data from the ERA  36 . Then, the data format of the next mode is loaded from second level encoder register  62  into the first level encoder register  60 .  
         [0026]    Please refer to FIG. 5. FIG. 5 is a block diagram of the DRAM buffer  22  of the optical recorder  20 . The DRAM buffer  22  comprises a sector data area  64  for storing data transmitted from the HI  32  and data encoded by the ESP  34 , and a Q channel program page area  66  for storing program codes for the subcode generator  38 . During the encoding process, program codes of the current mode can be stored in a first storage space  68  in the Q channel program page area  66 . Likewise, program codes of the next mode can be stored in a second storage space  70  in the Q channel program page area  66 . Later, when the encoding mode of the optical recorder  20  changes, the next mode program codes stored in the second storage space  70  will be referred to as the current mode program codes. Similarly, the following mode program codes will be referred to as the next mode program codes, and will be stored in the first storage space  68 . In this way, the first storage space  68  and the second storage space  70  will alternatively hold the current mode and next mode program codes.  
         [0027]    Please refer to FIG. 6. FIG. 6 is a block diagram of the subcode generator  38  of the optical recorder  20 . The subcode generator  38  comprises a subcode source register  80  for selecting a source of the sub-channel data, a sub-channel auto generator  82  for generating sub-channel data, and a multiplexer  84  for outputting sub-channel data. The subcode source register  80  is used to select a source on the multiplexer  84  in order to receive program codes from the Q channel program page area  66  or to receive sub-channel data from the sector data area  64 . The sub-channel auto generator  82  is used to generate the sub-channel data according to the program codes if the Q-channel program page area  66  is selected. The multiplexer  84  is used to output the sub-channel data received from the sub-channel auto generator  82  if the Q-channel program page area  66  is selected, or to output the sub-channel data received from the sector data area  64  if the sector data area  64  is selected.  
         [0028]    Compared to the prior art, the present invention optical recorder  20  is capable of receiving data of the next mode while simultaneously encoding data of the current mode. By receiving the data of the next mode well before the next mode data is encoded, the optical recorder  20  significantly reduces the likelihood that buffer under-run will occur.  
         [0029]    Those skilled in the art will readily observe that numerous modifications and alterations of the device may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.