It is a common practice to transfer a program recorded on a first storage medium onto a second storage medium. This process is generally called dubbing. Dubbing may be conducted by reproducing the program recorded on the first storage medium, which may be a DVD disk, to generate a reproduction signal, and then storing the reproduction signal onto the second storage medium, which may be a hard disk.
In general, dubbing usually includes transcoding, reformatting, reforming, or transforming of a program from one storage medium to another storage medium. The program is usually an audio file, a video file, an audio/video file, or a multimedia file. The two most common dubbing methods utilized in current digital recording are fast copy dubbing and transcode dubbing.
Fast copy dubbing directly dubs a program from a source storage medium to a destination storage medium, generates program information and stores the information in the destination storage medium. Fast copy dubbing can fast dub one long program in a short time. For example, dubbing a 100-hour program with low quality may require only 1 hour. Thus, fast copy dubbing is usually adopted when dubbing a long program is necessary. However, since fast copy dubbing directly dubs a program without decoding or encoding, the duplicate possesses the same characteristics as the original program. Some of the characteristics are video quality, compression method, aspect ratio, bit-rate, video size, and TV system. Therefore, if the size of the program is larger than the capacity of the destination storage medium, it is necessary to separate the program into several pieces to fit the destination storage medium capacity. For example, when dubbing a 100-hour program of high quality from a hard disk to a DVD disk, a total amount of 100 DVD disks may be required.
Please refer to
A transcoding dubbing process fully or partially decodes or encodes the original program in a source storage medium, and then writes the decoded or encoded program to a destination storage medium. Transcode dubbing also generates program information and stores the information in the destination storage medium. Since transcode dubbing fully or partially decodes or encodes the original program in a source storage medium, the characteristics of the duplicate in the destination storage medium may be different from the characteristics of the original program. Some of the characteristics are video quality, compression method, aspect ratio, bit-rate, video size, and TV system. For example, transcode dubbing transcodes a program from high quality to low quality, making the program fit the capacity of a DVD disk, or transcodes a program of 720×480 picture size to a program of 352×288 picture size, making the transcoded program able to be viewed on portable video players. However, because transcode dubbing fully or partially decodes or encodes the original program, transcode dubbing usually takes a long time to complete the dubbing process. For example, a 100-hour program may take 100 hours to finish the dubbing process.
Please refer to
For a combo recorder comprising a hard disk and a DVD device, according to the types of source storage medium and destination storage medium, dubbing can be categorized into two types: from a hard disk to a DVD disk and from a DVD disk to a hard disk. In the case of dubbing from a hard disk to a DVD disk, because the size of the original program in the hard disk is usually larger than the capacity of one DVD disk, it is necessary to divide the original program into several pieces to fit the capacity of one DVD disk during fast copy dubbing, or to re-encode the original program to a lower quality during transcode dubbing such that the size of the re-encoded program fits the capacity of one DVD disk. On the other hand, in the case of dubbing from a DVD disk to a hard disk, most of the time there is no difficulty dubbing one original program from a DVD disk to a hard disk. Users can usually utilize the transcode dubbing to first copy the original program to a hard disk, edit the original program (e.g. decoding or encoding or both), and then dub the edited program back to another DVD disk.
Please refer to
Some error conditions and user operations may interrupt the dubbing process, such as power failure, power off, writing failure, or temporary stop by a user. After dubbing is interrupted, if the user wants to dub again, the dubbing process must be re-started from the very beginning, causing waste of time or waste of DVD disk space. Therefore, various methods are proposed to overcome these drawbacks.
One objective of the claimed embodiments is to provide a program transferring method and apparatus thereof to solve the above problem.
According to an embodiment, a program transferring method is disclosed. The method includes: selecting a program in a first storage medium; transferring the program from the first storage medium to a second storage medium; and generating a label for identifying the transferring status of the program.
According to another embodiment, a program transferring method is disclosed. The method includes: retrieving a recovery information from a program, the recovery information being used for resuming a transferring process; and transferring the program from a first storage medium to a second storage medium according to the recovery information.
According to another embodiment, an apparatus for transferring a program is disclosed. The apparatus includes a first storage medium, a second storage medium, and a controller. The first storage medium is utilized to store a program, and the controller is coupled to the first storage medium and the second storage medium. The controller transfers the program from the first storage medium to the second storage medium and generates a label for identifying the transferring status of the program.
According to still another embodiment, an apparatus for transferring a program is disclosed. The apparatus includes a first storage medium, a second storage medium, and a controller. The first storage medium is utilized to store a program, and the controller is coupled to the first storage medium and the second storage medium. The controller retrieves recovery information from the program and transfers the program from a first storage medium to a second storage medium according to the recovery information, wherein the recovery information is utilized for resuming a transferring process.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
Please refer to
A recovery method of a dubbing system is provided and illustrated in
Initially, the controller 410/510 determines which program in the source storage medium 420/520 is selected by a user (S610). Next, the controller 410/510 checks if the label for the selected program exists (S612). If the label for the selected program exists, the controller 410/510 checks if the user wants to start the dubbing process from a point indicated by the label (S614); if not, the controller 410/510 will start to transfer the program. If the user wants to start the dubbing process from a point indicated by the label, the controller 410/510 determines the start point of the dubbing process by referring to the label (S616); if not, the controller 410/510 will start to transfer the program. The controller 410 skips the decoding and encoding steps (S620 and S630) and directly checks if a writing error occurs in the destination storage medium (S640); on the other hand, the controller 510 decodes and encodes the program (S620 and S630) if necessary, and then also checks if a writing error occurs in the destination storage medium (S640).
When the dubbing process is in progress, the controller 410/510 checks if a writing error occurs in the destination storage medium (S640) and checks if the user wants to stop the dubbing process (S650) as well. If a writing error occurs or the user stops the dubbing process, the controller 410/510 stops reading the program from the source storage medium 420/520, generates a label to identify the transferring status of the program (S660), and then ends the dubbing process (S665). The label can be stored in the source storage medium 420/520, the destination storage medium 430/530, or the memory 440/540. The memory 440/540 can be a non-volatile memory, such as an EEPROM or a flash memory. The label can indicate time information, physical information, or logic position information of the program. As mentioned above, the program can be an audio file, a video file, an audio/video file, or a multimedia file. When these kinds of files are utilized during a playback process, a time axis is usually utilized to indicate at what time the file is now playing. When the label indicates the time information of the program, it indicates a time point when the dubbing process is interrupted (e.g. 18 minutes 32 seconds or 2 hours 3 minutes). The physical information of the program indicates the physical position of the source storage medium or the destination storage medium. For example, the physical position can be a certain head of a hard disk. The logic position information indicates the logic position of the program where the program is interrupted. For example, the logic position can indicate the relative position of the interrupted point with respect to the initial point of the program. Moreover, if the source storage medium 420/520 is a removable storage medium, the label further comprises information to identify the source storage medium that contains the program. Similarly, if the destination storage medium 430/530 is a removable storage medium, the label further comprises information to identify the destination storage medium that contains the program. In this case, the controller 410/510 can identify if the source storage medium 420/520 or the destination storage medium 430/530 contains the program by directly checking the label.
During the dubbing process, the controller 410/510 also checks if the destination storage medium is full (S670). If the destination storage medium is full, the controller 410/510 checks if it is required to change the destination storage medium (S675); if not, the controller 410/510 checks if the dubbing process is completed (S695). If it is required to change the destination storage medium, the controller 410/510 pauses the playback of the program, waits for the user to change the destination storage medium, and generates the label (S680); if not, the controller 410/510 stops reading the program from the source storage medium, generates a label to identify the transferring status of the program (S660), and then ends the dubbing process (S665). After a new destination storage medium is connected, the controller 410/510 resumes reading the program from the source storage medium (S690) to continue the dubbing process. Finally, if the program is completely transferred, the controller 410/510 stops the dubbing process (S665). In some cases where the destination storage medium 430/530 is not a removable storage medium such as a hard disk, the controller 410/510 stops the dubbing process when the destination storage medium 430 or 530 is full. In such cases, the dubbing flow goes directly from step S670 to step S660.
As to the transcode dubbing system 500, the controller 510 utilizes the encoder 516 and the decoder 518 to optionally encode and decode the program. The controller 510 can utilize the decoder 518 to directly decode the program in the source storage medium 520 to generate a decoded program, and then store the decoded program in the destination storage medium 530. Alternatively, the controller 510 can utilize the encoder 516 to directly encode the program in the source storage medium 520 to generate an encoded program, and then store the encoded program in the destination storage medium 530. In addition, the controller 510 can utilize the decoder 518 and the encoder 516 together to first decode the program in the source storage medium 520 to generate a decoded program, and then encode the decoded program into an encoded program. The controller 510 further stores the encoded program in the destination storage medium 530. However, please note that the first decoded and then encoded program has either a different coding scheme or coding rate, or both, from that of the original program.
A second recovery method of a dubbing system is provided and illustrated in
When the dubbing process is in progress, the controller 410/510 checks if a writing error occurs in the destination storage medium (S740) and checks if the user wants to stop the dubbing process (S750) as well. If a writing error occurs or the user stops the dubbing process, the controller 410/510 stops reading the program from the source storage medium 420/520 (S760), and then ends the dubbing process (S765).
During the dubbing process, the controller 410/510 also checks if the destination storage medium is full (S770). If the destination storage medium is full, the controller 410/510 checks if it is required to change the destination storage medium (S775); if not, the controller 410/510 checks if the dubbing process is completed (S795). If it is required to change the destination storage medium, the controller 410/510 pauses the playback of the program and waits for the user to change the destination storage medium (S780); if not, the controller 410/510 stops reading the program from the source storage medium (S760), and then ends the dubbing process (S765). After a new destination storage medium is connected, the controller 410/510 resumes reading the program from the source storage medium (S790) to continue the dubbing process. Finally, if the program is completely transferred, the controller 410/510 clears the label (S796) and then stops the dubbing process (S765). In some cases where the destination storage medium 430/530 is not a removable storage medium such as a hard disk, the controller 410/510 stops the dubbing process when the destination storage medium 430/530 is full. In such cases, the dubbing flow goes directly from step S770 to step S760.
A third recovery method of a dubbing system is provided and illustrated in
If performing a recovery method is necessary, the controller 410/510 performs the title recovery method on the destination storage medium 430/530 and generates the recovery method (S812). The controller 410/510 then checks if the recovered title failed in the previous dubbing process (S813). If the recovered title did not fail in the previous dubbing process, the dubbing process ends (S818), otherwise, the controller 410/510 checks if the source program related to the recovered title exists in the source storage medium 420/520 (S814). If the source program does not exist, the dubbing process ends (S818), otherwise, the controller 410/510 checks if the user wants to perform the dubbing process (S815). If the user does not want to perform the dubbing process, the dubbing process ends (S818), otherwise, the controller 410/510 checks if the user wants to perform the dubbing process from a start point indicated by the recovery information (S816). If the user does not want to perform the dubbing process from the start point, the controller 510 decodes and encodes the program (S820 and S830) if necessary; however the controller 410 skips these two steps. If the user wants to perform the dubbing process from a start point, the controller 410/510 determines the start point of the dubbing process by referring to the recovery information (S817).
During the dubbing process, the controller 410/510 stores not only the program but also the recovery information into the destination storage medium 430/530 (S835). The controller 410/510 checks if a writing error occurs in the destination storage medium (S840) and checks if the user wants to stop the dubbing process (S850) as well. If a writing error occurs or the user stops the dubbing process, the controller 410/510 stops reading the program from the source storage medium 420/520 (S860), and then ends the dubbing process (S865).
During the dubbing process, the controller 410/510 also checks if the destination storage medium is full (S870). If the destination storage medium is full, the controller 410/510 checks if it is required to change the destination storage medium (S875); if not, the controller 410/510 checks if the dubbing process is completed (S895). If it is required to change the destination storage medium, the controller 410/510 pauses the playback of the program and waits for the user to change the destination storage medium (S880); if not, the controller 410/510 stops reading the program from the source storage medium (S860), and then ends the dubbing process (S865). After a new destination storage medium is connected, the controller 410/510 resumes reading the program from the source storage medium (S890) to continue the dubbing process. Finally, if the program is completely transferred, the controller 410/510 stores information in the destination storage medium 430/530 to indicate that the dubbing process is completed (S896) and then stops the dubbing process (S865). In some cases where the destination storage medium 430/530 is not a removable storage medium such as a hard disk, the controller 410/510 stops the dubbing process when the destination storage medium 430/530 is full. In such cases, the dubbing flow goes directly from step S870 to step S860.
Three recovery methods are disclosed in the embodiments to facilitate the dubbing process. The first method generates a label to indicate the dubbing status when the dubbing process is interrupted due to a writing error or by the user. The second recovery method generates a label to indicate the dubbing status every predetermined time interval, every predetermined data length of recording or any interval that determined by any method. After the dubbing process is completed, the label is cleared. The third recovery method performs a recovery method to retrieve recovery information stored in the destination storage medium by checking the destination storage medium. By referring to the label or the recovery information, the dubbing process can be resumed from the last stop point where the dubbing process is interrupted instead of from the very beginning of the program.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method 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.