Abstract:
An optical disc player for playback of a multimedia file stored in an optical disc is disclosed. The optical disc player includes a front-end loader and a back-end playback engine. The front-end loader, including a first data buffer, reads data from the optical disc and stores the read data in the first data buffer when the amount of data stored in the first data buffer is less than a first threshold. The back-end playback engine receives the data from the first data buffer and plays a multimedia segment corresponding to the received data. The front-end loader increases the first threshold of the first data buffer before a time-consuming servo behavior occurs.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The invention relates to an optical disc player, and more particularly to optical disc players capable of buffer control in response to some time-consuming servo behaviors to smoothly play back multimedia files. 
         [0003]    2. Description of the Related Art 
         [0004]    Optical discs are widely known as having the capability to have optical recorded media information recorded or played back onto or from thereof For example, discs based on various standards, such as compact disc (CD), digital versatile disc (DVD), high-definition (HD) DVD, and Blu-Ray disc, have been developed. Information is recorded on or played back from optical disks by irradiating an optical disc with tiny light beams, wherein light beams are generated from a semiconductor laser or the like as a light source. As is publicly known, in order to keep the laser light focused on a recording layer of an optical disc, a focus servo operation is executed. 
         [0005]    In recent years, optical discs having multiple recording layers have been developed to improve storage capacity. For such multilayered optical discs, in order to move from a recording/playback operation for one recording layer to another recording layer, layer change is performed. Because relatively much time is required for the laser head to read from one recording layer to another, the layer change behavior may result in unexpected pausing, when a video file, recorded in the optical disk, is playing. Therefore, a need exists in the art to address the aforementioned deficiencies and inadequacies. 
       BRIEF SUMMARY OF THE INVENTION 
       [0006]    The invention provides an optical disc player for playback of a multimedia file stored in an optical disc. The optical disc player comprises a front-end loader and a back-end playback engine. The front-end loader, comprising a first data buffer, reads data from the optical disc and stores the read data in the first data buffer when the amount of data stored in the first data buffer is less than a first threshold. The back-end playback engine receives the data from the first data buffer and plays a multimedia segment corresponding to the received data. The front-end loader increases the first threshold of the first data buffer before a time-consuming servo behavior occurs. 
         [0007]    The invention also provides an optical disc player for playback of a multimedia file stored in an optical disc. The optical disc player comprises a front-end loader and a back-end playback engine. The front-end loader, comprising a first memory which comprises a first data buffer, reads data from the optical disc and stores the data in the first data buffer. The back-end playback engine receives data from the first data buffer and plays a multimedia segment corresponding to the received data. The front-end loader enlarges the size of the first data buffer before a time-consuming servo behavior occurs. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]    The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein: 
           [0009]      FIG. 1  is an embodiment of an optical disc player according an embodiment to the invention; 
           [0010]      FIG. 2  shows an example of a buffer strategy using a buffer threshold in a data buffer; 
           [0011]      FIG. 3  shows an example of a re-buffer behavior between an optical disk and a laser head; 
           [0012]      FIG. 4  shows an example of two time-consuming servo behaviors; and 
           [0013]      FIG. 5  shows an example of memory allocation for data buffer enlargement. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0014]      FIG. 1  is an embodiment of an optical disc player according an embodiment of to the invention. The optical disc player  102  may comprise a front-end loader  106  to read data from an optical disc  104  and a back-end playback engine  108  to play back the data. The optical disc  104  may have multiple layers storing a multimedia file such as a movie file, and may be a DVD, HD-DVD, or Blu-Ray disc. The front-end loader  106  may comprise a laser head  110 , a first control unit  112 , and a first data buffer  114 . The first data buffer  114  may be implemented in a first memory (not shown) of the front-end loader  106 , and the first memory may be a volatile memory such as static random access memory (SRAM) or dynamic random access memory (DRAM). The back-end playback engine  108  may comprise a display unit  116 , a second control unit  118 , and a second data buffer  120 . The second data buffer  120  may be implemented in a second memory (not shown) of the back-end playback engine  108 , and the second memory may be a volatile memory such as SRAM or DRAM. The laser head  110  can sense a light beam reflected by the optical disc  104  to read the data stored at a position of the optical disc  104 . The first control unit  112  may receive the data from the laser head  110  and store the data in the first data buffer  114 . The second control unit  118  may request the first control unit  112  to acquire the data stored in the first control buffer  114 , and then store the acquired data in the second data buffer  120 . Next, the data stored in the second control buffer  120  would be forwarded to the display unit  116  to play a multimedia segment (e.g., a movie segment) of the data. 
         [0015]    In one embodiment, the optical disc player  102  may change buffer strategies in response to the occurrence of some time-consuming servo behaviors. For example, buffer thresholds may be used to control the amount of data stored in the first data buffer  114  or in the second data buffer  120 .  FIG. 2  shows an example of a buffer strategy using a buffer threshold in a data buffer. Referring to  FIG. 2 , a buffer gauge  202  represents the size of the data buffer, a dark area  204  in the buffer gauge  202  represents the amount of data stored in the data buffer, and a threshold  206  represents one buffer strategy of the data buffer. When the data is removed out from the data buffer (e.g., the second control unit  118  informs the first control unit  112  to acquire the data stored in the first data buffer  114 , or the display unit  116  prepares to process the data stored in the second data buffer  120 ), the dark area  204  would be reduced from right to left in the buffer gauge  202 . Suppose that the threshold  206  is used as the buffer threshold for the data buffer, no data would be further stored into the data buffer because the amount of the data stored in the data buffer is larger than the threshold  206  (i.e. the dark area  204  exceeds the threshold  206 ). However, if the amount of data stored in the data buffer is reduced to less than the threshold  206 , the data buffer would be required to store more data until the data buffer is full (i.e. buffer gauge  202  is filled up with the dark area  204 ). The buffer strategy keeps the amount of data stored in the data buffer to be larger than the buffer threshold, allowing the buffer threshold to be increased when required, for example, before a time-consuming servo behavior is anticipated to occur, thereby increasing the amount of data stored in the data buffer to ensure that the data stored in the data buffer will not run out when the time-consuming servo behavior takes place. It is noted that increasing the buffer threshold of the data buffer will also increase the re-buffer frequency.  FIG. 3  shows an example of re-buffer behavior between an optical disk and a laser head. An optical disc  300  may comprise multiple layers, but only one layer  302  is depicted in  FIG. 3  for brevity. The optical disc  300  may be clockwise rotated along the axis of the optical disc  300 . A trajectory  304  represents the relative movement between the laser head (not shown) and the optical disc  300 . P 1 , P 2 , and P 3  are different positions of the trajectory  304  on the optical disc  300 . First, the laser head is focused on P 1  of the optical disc  300 . Once the amount of data stored in the data buffer (not shown) is reduced to less than the buffer threshold, the laser head reads data along the trajectory  304  until the data buffer is full. The data buffer will be full when the laser head reaches P 2 , whereafter the laser head is moved to P 3  along the trajectory  304  but not P 2  because of the rotating inertia of the optical disc  300 . As the laser head is required to re-buffer data when the amount of data is reduced to less than the buffer threshold, the laser head is then refocused on P 2 . Note that the frequency of the re-buffer behavior will increase if the buffer threshold is increased, because the amount of data stored in the data buffer reduced to less than the increased buffer threshold would more often occur. 
         [0016]    Referring back to  FIG. 1 , the front-end loader  106  may start reading data from the optical disc  104  and store the read data in the first data buffer  114  when the amount of data stored in the first data buffer  114  is less than a first threshold, and the front-end loader  106  may increase the first threshold of the first data buffer  114  to store more data in the first data buffer  114  before a time-consuming servo behavior occurs. The first control unit  112  may anticipate the occurrence of the time-consuming servo behavior according to the position of the optical disc  104  on which the laser head  110  is focused and a moving direction of the laser head  110 , and increase the first threshold of the first data buffer  114  when the occurrence of the time-consuming servo behavior is anticipated to occur. The first control unit  112  may anticipates the occurrence of a time-consuming servo behavior when the position is close to the outer rim of the optical disc  104  and the moving direction of the laser head  110  is directed to the outer rim. Similarly, another buffer threshold may be used to control the amount of data stored in the second data buffer  120 . The second control unit  118  may start receiving data from the first data buffer  114  and store the received data in the second data buffer  120  when the amount of the data stored in the second data buffer  120  is less than a second threshold. Also, the buffer strategies of the second data buffer  120  may be changed in response to the occurrence of the time-consuming servo behaviors. For example, the first control unit  112  may send a signal that informs the second control unit  118  to increase the second threshold of the second data buffer  120  when the first control unit  112  anticipates the occurrence of the time-consuming servo behavior. Also, the second control unit  118  may anticipate the occurrence of the time-consuming servo behavior by examining file system information of the optical disc  104  or examining the data that the display unit  116  is preparing to process. The second control unit  118  may send a signal to inform the first control unit  112  to increase the first threshold of the first data buffer  114  when the second control unit  118  anticipates the occurrence of the time-consuming servo behavior. It is noted that increasing first threshold of the first data buffer  114  or increasing the second threshold of the second data buffer  120  will also increase the re-buffer frequency. 
         [0017]    The time-consuming servo behavior may be a layer change between two layers of the optical disc, or a long-distance seek between two positions of the optical disc.  FIG. 4  shows an example of the two time-consuming servo behaviors. An optical disc  400  comprises a first layer  402  and a second layer  404 . P 1  and P 2  are two positions located on the first layer  402  with long distances, and P 3  is a position located on the second layer  404 . Note that P 2  is very close to the outer rim of the first layer  402 . The long-distance seek, for example, occurs when the laser head is required to read the data stored in P 2  immediately after reading the data stored in P 1 . The long-distance seek may be anticipated by examining file system information of the optical disc  400  because the file system information may indicate which data is stored in which position on the optical disc  400 , or by examining the data prepared to be processed to play back because the data may comprise information about the next position required to be read. The layer change, for example, occurs when the laser head is required to read the data stored in P 3  after reading the data stored in P 2 . The layer change can be anticipated by determining whether the position on which the laser head is focusing is close to the outer rim  406  and the moving direction of the laser head is also directed to the outer rim  406 . The layer change can also be anticipated by examining file system information of the optical disc  400  or the data which is prepared to be processed to play back. 
         [0018]    In another embodiment, the optical disc player  102  may enlarge the buffer size of the data buffer in response to the occurrence of some time-consuming servo behaviors.  FIG. 5  shows an example of memory allocation for data buffer enlargement. A volatile memory  500 , such as SRAM and DRAM, may be partitioned into several sections. For example, a section  502  of the volatile memory  500  may be allocated for the storage of system program, and another section  504  of the volatile memory  500  may be allocated as the data buffer. When the time-consuming servo behavior is anticipated to occur, an automatic memory management (e.g., garbage collection) may be executed to collect a temporarily unused area  506  in the section  502  of the system program, thereby allowing the unused area  506  to be reallocated to the data buffer  504  to temporarily enlarge the size of the data buffer  504 . Enlarging the size of the data buffer when the time-consuming servo behavior is anticipated to occur can ensure that the data stored in the data buffer will not run out when the time-consuming servo behavior takes place. 
         [0019]    Referring back to  FIG. 1 , the first control unit  112  may enlarge the size of the first data buffer  114  by performing a garbage collection to acquire an unused memory area of the first memory (not shown) and adding the unused memory area to the first data buffer  114  before a time-consuming servo behavior occurs. Also, the first control unit  112  may anticipate the occurrence of the time-consuming servo behavior according to the position on which the laser head  110  is focusing and a moving direction of the laser head  110 , and enlarge the size of the first data buffer  114  when the time-consuming servo behavior is anticipated to occur. The occurrence of the time-consuming servo behavior (e.g., layer change) may be anticipated by the first control unit  112  when the position is close to the outer rim of the optical disc  104  and the moving direction of the laser head  110  is directed to the outer rim. Moreover, the first control unit  112  may further send a signal to inform the second control unit  118  to enlarge the size of the second data buffer  120 . The second control unit  118  may perform a garbage collection to acquire an unused memory area of the second memory (not shown) and add the unused memory area to the second data buffer  120  when receiving the signal sent from the first control unit  112 . The second control unit  118  may further anticipate the occurrence of the time-consuming servo behavior (e.g., layer change and long-distance seek) by examining file system information of the optical disc  104  or examining the data prepared to be processed by the display unit  116 . Also, the second control unit  118  may send a signal to inform the first control unit  112  to enlarge the size of the first data buffer  114  when the time-consuming servo behavior is anticipated to occur. 
         [0020]    While the invention has been described by way of examples and in terms of preferred embodiments, it is to be understood that the invention is not limited thereto. Any variation or modification can be made by those skilled in art without departing from the spirit or scope of the invention. Therefore, the scope of the appended claims should be accorded the broadest interpretation to encompass all such modifications and similar arrangements.