The present invention relates to a recording apparatus for uniformizing the numbers of times that data are rewritten in respective recording areas of a rewritable recording medium.
Randomly accessible recording mediums such as optical disks, for example, are finding growing use in many fields including broadcasting applications as the recording density of those recording mediums becomes higher and higher.
The number of times that data can be rewritten on optical disks is about 1000 at maximum. Therefore, if data are repeatedly rewritten in a certain local area on an optical disk, then the number of times that data have been recorded in that local area soon reaches its upper limit, preventing subsequent data from being recorded in that local area. The failure to record data in the local area on the optical disk means that it is difficult to have a large continuous recording area available on the optical disk, resulting in limitations on the recording and reproducing process, such as an increased seeking time, for example.
Conventional recording apparatus using optical disks or the like as recording mediums are arranged to update information (hereinafter referred to as “empty area data”) as to the locations and sizes of empty areas on the recording medium which is used, depending on the recording or deletion of data, and to record the updated information back on the recording medium. However, the conventional recording apparatus are not arranged to uniformize the numbers of times that data can be recorded in respective recording areas of the recording medium, based on the empty area data.
It is therefore an object of the present invention to provide a recording apparatus, a recording method, and a program which are capable of uniformizing the numbers of times that data can be recorded in respective recording areas of a randomly accessible recording medium.
According to the present invention, there is provided a recording apparatus including determining means for determining a sequence to record input data in empty areas among recording areas of the recording medium for substantially uniformizing recording counts in respective recording areas, and recording means for recording the input data in the empty areas according to the sequence determined by the determining means.
According to the present invention, there is also provided a recording method including the steps of determining a sequence to record input data in empty areas among recording areas of the recording medium for substantially uniformizing recording counts in respective recording areas, and recording the input data in the empty areas according to the sequence determined by the determining step.
According to the present invention, there is further provided a program for enabling a computer to carry out a recording method, the method including the steps of controlling determination of a sequence to record input data in empty areas among recording areas of a recording medium for substantially uniformizing recording counts in respective recording areas, and controlling recording of the input data in the empty areas according to the sequence determined by the determination controlling step.
The above and other objects, features, and advantages of the present invention will become more apparent from the following description when taken in conjunction with the accompanying drawings in which preferred embodiments of the present invention are shown by way of illustrative example.
As shown in
The recording apparatus 1 comprises an input data processor 11, a memory 12, a console 13, a display 14, a drive 15, and a controller 16.
The input data processor 11 comprises a video/audio interface, an encoder, and a buffer memory. The input data processor 11 encodes and processes an image signal inputted from an imaging device (not shown) and an audio signal inputted from a microphone (not shown), and supplies the encoded and processed data through the controller 16 to the drive 15.
The memory 12 stores data required in the editing process that is performed by the controller 16, and supplies the stored data to the controller 16.
The console 13 is operated by the user for entering various commands into the controller 16. The display 14 displays messages and images in response to data supplied from the controller 16.
The drive 15 records input data supplied from the input data processor 11 through the controller 16 on the optical disk 2, and deletes data recorded on the optical disk 2.
The controller 16 controls the components of the recording apparatus 1.
The editing process performed by the recording apparatus 1 will be described below with reference to
In step S1, the controller 16 activates the recording apparatus 1 when its power supply is turned on, for example. The startup process in step S1 will be described in detail later on with reference to
In step S2, the controller 16 determines whether a request for data recording is inputted from the console 13 or not. If a request for data recording is inputted, then control goes to step S3 in which the controller 16 controls the drive 15 to record data inputted from the input data processor 11 on the optical disk 2. The data recording process in step S3 will be described in detail later on with reference to
If a request for data recording is not inputted in step S2, or after data has been recorded in step S3, control goes to step S4 in which the controller 16 determines whether a request for data deletion is inputted from the console 13 or not. If a request for data deletion is inputted, then control goes to step S5 in which the controller 16 deletes data. The data deleting process in step S5 will be described in detail later on with reference to
If a request for data deletion is not inputted in step S4, or after data has been deleted in step S5, control goes to step S6 in which the controller 16 determines whether a command for ending the editing process is inputted from the console 13 or not. If a command for ending the editing process is inputted, then control goes to step S7. For example, if the optical disk 2 is removed, then the controller 16 judges that a command for ending the editing process is inputted, and control goes to step S7.
In step S7, the controller 16 controls the drive 15 to record empty area rewriting management data generated in steps S1, S3, S5, as well as empty area data, i.e., information as to the locations and sizes of empty areas on the optical disk 2, on the optical disk 2.
The processing in step S7 may be effected when the optical disk 2 is removed or the power supply is turned off.
Thereafter, the editing process is put to an end.
The startup process in step S1 shown in
In step S11, the controller 16 generates a current queue 101, a next queue 102, a recording count column 103, and a recording start position column 104 in the memory 12. When the current queue 101, the next queue 102, the recording count column 103, and the recording start position column 104 are generated, they are empty.
In step S12, the controller 16 determines whether empty area rewriting management data is recorded on the optical disk 2 or not. If it is judged empty area rewriting management data is not recorded on the optical disk 2, then control goes to step S13. Since empty area rewriting management data is not recorded on an optical disk 2 if no data has been recorded on or deleted from the optical disk 2, i.e., no editing process has been performed on the optical disk 2, by the recording apparatus 1, i.e., if no empty area rewriting management data is not recorded on the optical disk 2 in step S7 shown in
In step S13, the controller 16 determines whether empty area data is recorded on the optical disk 2 or not. If it is judged that no empty area data is recorded on the optical disk 2, then control goes to step S14. Since no empty area data is recorded on an optical disk 2 if the optical disk 2 is blank as it is shipped and no data has been recorded on or deleted from the optical disk 2 by the recording apparatus 1 or a conventional recording apparatus, when such an optical disk 2 is inserted, control goes to step S14.
In step S14, the controller 16 sets area information of all empty areas that are present on the optical disk 2 when it is inserted (the area information may represent the start positions and sizes of the empty areas) in the current queue 101 generated in the memory 12 according to the sequence of the positions in terms of the addresses of the empty areas.
For example, as shown in
Setting area information will hereinafter also be referred to as registering empty areas.
In step S15, the controller 16 initializes the recording count column 103 generated in the memory 12 to 1, as shown in
If it is judged that empty area data is recorded in step S13, then control goes to step S17 in which the controller 16 registers area information of empty areas represented by the empty area data in the current queue 101 in the memory 12 according to the sequence of the positions in terms of the addresses of the empty areas. Thereafter, control proceeds to step S15.
If it is judged that empty area rewriting management data is recorded in step S12, then control goes to step S18. The empty area rewriting management data refers to all data set respectively in the current queue 101, the next queue 102, the recording count column 103, and the recording start position column 104 as shown in
In step S18, the controller 16 registers empty areas registered in the current queue 101 which are contained in the empty area rewriting management data, in the current queue 101 generated in the memory 12, and also registers empty areas registered in the next queue 101 which are contained in the empty area rewriting management data, in the next queue 102 generated in the memory 12. In step S19, the controller 16 sets the writing count column 103 generated in the memory 12 to the value set in the writing count column 103 which is contained in the empty area rewriting management data. In step S20, the controller 16 sets the recording start position column 104 generated in the memory 12 to the position set in the recording start position column 104 which is contained in the empty area rewriting management data.
According to the processing in steps S18 through S20, the empty area rewriting management data on the optical disk 2 is read into the memory 12.
After the recording start position column 104 is set to the given position in step S16 or S20, then control returns to step S2 shown in
The data recording process in step S3 will be described in detail below with reference to
First, the data recording process in step S3 will be described below with reference to the flowchart of
In step S33, the controller 16 controls the drive 15 to record data inputted from the input data processor 11 in the empty area determined in step S32 on the optical disk 2.
In step S34, the controller 16 changes the area information of the empty area where the data has been recorded, depending on the amount of the recorded data. Specifically, the area start position and size of that empty area are changed to those representing the empty area which are generated after the data has been recorded therein.
In step S35, the controller 16 determines whether all the data to be recorded has been recorded on the optical disk 2 or not. If certain data remains to be recorded, then control goes back to step S31 and the processing from step S31 will be performed.
If it is judged that all the data to be recorded has been recorded on the optical disk 2 in step S35, then control proceeds to step S36 in which the controller 16 changes the recording start position in the recording start position column 104 in the memory 12 to a data recording end position, i.e., the position where the last data has been recorded in step S33.
If it is judged that no empty areas are recorded in the current queue 101 in step 531, then control goes to step S37 in which the controller 16 increments the recording count in the recording count column 103 by 1. In step S38, the controller 16 resets the recording start position in the recording start position column 104 to the leading position (position 00000) on the optical disk 2.
In step S39, the controller 16 moves the empty areas registered in the next queue 102 to the current queue 101. As a result, the next queue 102 becomes empty.
In step S40, the controller 16 determines whether empty areas are recorded in the current queue 101 or not. If it is judged that empty areas are recorded in the current queue 101, then control returns to step S32 and the processing from step S32 will be performed.
If it is judged that no empty areas are recorded in the current queue 101 in step S40, then control goes to step S41 in which the controller 16 controls the display 14 to display an error message representing a recording failure.
After the recording start position in the recording start position column 104 is changed in step S36 or the error message is displayed in step S41, control returns to step S4 shown in
The data deleting process in step S5 will be described below with reference to the flowchart of
In step S51, the controller 16 controls the drive 15 to delete data, which is indicated by the console 13 operated by the user, for example, from the optical disk 2.
Deleting data may refer to actually deleting data or handling data as if deleted.
In step S52, the controller 16 determines whether the area from which the data has been deleted in step S51, i.e., the area which has become empty or the area which is regarded as having the data deleted therefrom, is positioned forward of the recording start position in the recording start position column 104 or not. If it is judged that the area is positioned forward of the recording start position in the recording start position column 104, then control goes to step S53 in which the controller 16 registers the area from which the data has been deleted, i.e., the empty area, in the next queue 102. The area information of the empty areas that are set in the next queue 102 at this time is sorted according to the sequence of the area leading positions.
In step S54, the controller 16 determines whether adjacent empty areas, i.e., successive empty areas, are registered in the next queue 102 or not. If it is judged that such adjacent empty areas are registered in the next queue 102, then control goes to step S55 in which the controller 16 combines area information of those adjacent empty areas.
If it is judged that no adjacent empty areas are registered in the next queue 102 in step S54 or after the area information of the registered adjacent empty areas is combined in step S55, control returns to step S6 shown in
If it is judged that the area from which the data has been deleted is positioned not forward of, i.e., is positioned rearward of, the recording start position in the recording start position column 104 in step S52, then control goes to step S56 in which the controller 16 registers the area from which the data has been deleted, i.e., the empty area, in the current queue 101. The area information of the empty areas that are set in the current queue 101 at this time is sorted according to the sequence of the area leading positions.
In step S57, the controller 16 determines whether adjacent empty areas, i.e., successive empty areas, are registered in the current queue 101 or not. If it is judged that such adjacent empty areas are registered in the current queue 101, then control goes to step S58 in which the controller 16 combines area information of those adjacent empty areas.
If it is judged that no adjacent empty areas are registered in the current queue 101 in step S57 or after the area information of the registered adjacent empty areas is combined in step S58, control returns to step S6 shown in
The data recording process (step S3 shown in
It is assumed that data having a size 4000 will be recorded on the optical disk 2 having empty areas as shown in
Since the memory 12 stores the current queue 101, the next queue 102, the recording count column 103, and the recording start position column 104 as shown in
Since the data having the size of 4000 has all been recorded in the empty area A, the answer to step S35 is YES, and control goes to step S36. In step S36, the recording start position in the recording start position column 104 is changed to the position 05000. Thereafter, control returns to step S4 shown in
It is assumed that data having a size of 7000 will then be recorded. Since the empty area A′, B, C, D have been recorded in the current queue 101 (see
In step S35, it is judged that data remains to be recorded, i.e., data having a size of 4000 remains to be recorded. Control then goes back through step S31 to step S32.
In step S32, the empty area B (see
In step S35, it is judged that all the data having the size of 7000 has been recorded. Control then goes to step S36 in which the recording start position in the recording start position column 104 is changed to the position 14000 as shown in
It is assumed that data having a size of 2000 will now be deleted from the position 26000 on the optical disk 2 on which the data has been recorded as shown in
In step S51 shown in
In step S56, the empty area E is registered in the current queue 101 as shown in
Inasmuch as the empty area C and the empty area E are now positioned adjacent each other in the current queue 101, the answer to step S57 is YES, and control goes to step S58 in which the area information of the empty area C and the area information of the empty area E are combined into area information of the empty area F as shown in
It is assumed that data having a size 4000 will then be deleted from the position 01000. After the data is deleted in step S51 as shown in
Because no adjacent empty areas are now registered in the next queue 102, the answer to step S54 is NO, after which control returns to step S6 shown in
It is assumed that data having a size 2000 will then be deleted from the position 12000. After the data is deleted in step S51 as shown in
In step S53, the empty area H is registered in the next queue 102 as shown in
As the empty area G and the empty area H that are registered in the next queue 102 are not adjacent to each other, the answer to step S54 is NO, and control returns to step S6 shown in
It is now assumed that data is repeatedly recorded on the optical disk 2 on which the data has been recorded as shown in
At this time, the memory 12 stores the current queue 101, the next queue 102, the recording count column 103, and the recording start position column 104 as shown in
When the current queue 101 becomes empty, the answer to step S31 shown in
In step S39, the area information of the empty areas G, H registered in the next queue 102 (
In step S32, the empty area G is determined to be an area for recording data therein. In step S33, data is recorded in the empty area G.
Data is further recorded, and when the current queue 101 becomes empty again (when data is recorded on the optical disk 2 as shown in
Since no empty area is registered in the current queue 101, the answer to step S31 is NO, and control goes to step S37 in which the recording count in the recording count column 103 is incremented by 1 and reaches 3 as shown in
In step S39, empty areas registered in the next queue 102 are moved to the current queue 101. At this time, however, since the next queue 102 is empty as shown in
The data recording and the data deletion are controlled as described above. When the data in the area from the position 12000 through the position 14000 in
The rewriting counts in respective sectors of the optical disk 2 may be uniformized by individually managing the rewriting counts in the respective sectors of the optical disk 2. However, if the rewriting counts in one million sectors, for example, are counted by 2 bytes, then a storage capacity of about 2 MB will be necessary. Determining rewriting locations based on the counted rewriting counts requires complex calculations and is time-consuming. Therefore, it is not practical to uniformize the rewriting counts in respective sectors of the optical disk 2.
According to the embodiment of the present invention, data to be stored are only data in the current queue 101, the next queue 102, the recording count column 103, and the recording start position column 104, and no complex calculations are required because rewriting locations are determined based on the positions of empty areas that are registered in the current queue 101.
In the startup process, if empty area rewriting management data is recorded in step S12 shown in
A startup process according to such a modification will be described below with reference to
In step S61 shown in
In step S62, the controller 16 determines whether a recording start position is recorded as empty area rewriting management data on the optical disk 2 or not. If it is judged that a recording start position is recorded, then control goes to step S68 in which the controller 16 reads the recording start position, registers those empty areas positions rearward of the read recording start position, among the empty areas that are present on the optical disk 2 at the time it is inserted, in the current queue 101, and registers those empty areas positioned forward of the read recording start position in the next queue 102.
In step 569, the controller 16 initializes the recording count column 103 to 1. In step S70, the controller 70 sets the recording start position column 104 to the recording start position read in step S68.
In steps S63 through S67, the controller 16 performs the same processing as in steps S13 through S17 shown in
In the above embodiment, an area for recording data therein is determined based on the positions of empty areas. However, an area for recording data therein may be determined based on the sizes of empty areas. The startup process in step S1 shown in
First, the startup process will be described below with reference to
In step S81 shown in
In steps S82, S83, the controller 16 performs the same processing as in steps S12, S13 shown in
If it is judged that no empty area data is recorded on the optical disk 2 in step S83, then the controller 16 registers area information of all empty areas that are present on the optical disk 2 when it is inserted (the area information may represent the start positions and sizes of the empty areas) in the current queue 101 generated in the memory 12 according to the sequence of the sizes of the empty areas in step S84.
For example, as shown in
In step S85, the controller 16 initializes the recording count column 103 generated in the memory 12 to 1, as shown in
If it is judged that empty area data is recorded in step S83, then control goes to step S86 in which the controller 16 registers area information of empty areas represented by the empty area data in the current queue 101 in the memory 12 according to the sequence of the sizes. Thereafter, control proceeds to step S85.
If it is judged that empty area rewriting management data is recorded in step S82, then control goes to step S87. The empty area rewriting management data refers to all data set respectively in the current queue 101, the next queue 102, and the recording count column 103 as shown in
In step S87, the controller 16 registers empty areas (their area information) registered in the current queue 101 which are contained in the empty area rewriting management data, in the current queue 101 generated in the memory 12, and also registers empty areas registered in the next queue 102 which are contained in the empty area rewriting management data, in the next queue 102 generated in the memory 12. In step S88, the controller 16 sets the writing count column 103 generated in the memory 12 to the value set in the writing count column 103 which is contained in the empty area rewriting management data.
After the recording count column 103 is set to the given value in step S85 or S88, then control returns to step S2 shown in
The data recording process (step S3 shown in
In step S91 shown in
In step S93, the controller 16 controls the drive 15 to record data inputted from the input data processor 11 in the empty area determined in step S92 on the optical disk 2.
In step S94, the controller 16 changes the area information of the empty area where the data has been recorded, depending on the amount of the recorded data.
In step S95, the controller 16 determines whether all the data to be recorded has been recorded on the optical disk 2 or not. If certain data remains to be recorded, then control goes back to step S91 and the processing from step S91 will be performed.
If it is judged that no empty areas are recorded in the current queue 101 in step S91, then control goes to step S96 in which the controller 16 increments the recording count in the recording count column 103 by 1.
In step S97, the controller 16 moves the empty areas registered in the next queue 102 to the current queue 101. As a result, the next queue 102 becomes empty.
In step S98, the controller 16 determines whether empty areas are recorded in the current queue 101 or not. If it is judged that empty areas are recorded in the current queue 101, then control returns to step S92 and the processing from step S92 will be performed.
If it is judged that no empty areas are recorded in the current queue 101 in step S98, then control goes to step S99 in which the controller 16 controls the display 14 to display an error message representing a recording failure.
After it is judged that all the data to be recorded has been recorded in step S95 or the error message is displayed in step S99, control returns to step S4 shown in
The data deleting process (step S5 shown in
In step S101, the controller 16 controls the drive 15 to delete data, which is indicated by the console 13 operated by the user, for example, from the optical disk 2.
In step S102, the controller 16 registers the area from which the data has been deleted in step S101, i.e., the empty area, in the next queue 102.
In step S103, the controller 16 determines whether adjacent empty areas, i.e., successive empty areas, are registered in the next queue 102 or not. If it is judged that such adjacent empty areas are registered in the next queue 102, then control goes to step S104 in which the controller 16 combines area information of those adjacent empty areas.
If it is judged that no adjacent empty areas are registered in the next queue 102 in step S103 or after the area information of the registered adjacent empty areas is combined in step S104, control returns to step S6 shown in
The data recording process (
It is assumed that data having a size 4000 will be recorded on the optical disk 2 having empty areas as shown in
Since the memory 12 stores the current queue 101, the next queue 102, and the recording count column 103 as shown in
Since the data having the size of 4000, which is to be recorded, has all been recorded in the empty area B, the answer to step S95 is YES, and control returns to step S4 shown in
It is assumed that data having a size of 9000 will then be recorded. As empty areas D, A, C, B″ have been recorded in the current queue 101 (
Since the data having the size of 9000, which is to be recorded, has all been recorded in the empty area D, the answer to step S95 is YES, and control returns to step S4 shown in
It is assumed that the data having the size of 9000 (
When the data is deleted in step S101 shown in
Since no adjacent empty areas are now registered in the next queue 102, the answer to step S103 is NO, and control returns to step S6 shown in
The data recording and the data deletion are controlled as described above. When the data in the area from the position 30000 through the position 39000 in
While the processing sequences described above may be implemented by hardware, they may also be implemented by software. If the processing sequences are implemented by software, then a computer program representing the processing sequences is installed in a computer. When the installed computer program is run by the computer, the processing sequences are carried out as functions of the recording apparatus 1.
In the above description, the steps that are descriptive of the program provided by the recording medium cover not only processes that are carried out chronologically according to the sequence in which they are described, but also processes that are carried out concurrently or individually, rather than chronologically.
Although certain preferred embodiments of the present invention have been shown and described in detail, it should be understood that various changes and modifications may be made therein without departing from the scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
P2002-313781 | Oct 2002 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
6256453 | Takano | Jul 2001 | B1 |
20040013059 | Sasaki et al. | Jan 2004 | A1 |
Number | Date | Country |
---|---|---|
63-249974 | Oct 1988 | JP |
05-151712 | Jun 1993 | JP |
Number | Date | Country | |
---|---|---|---|
20040085864 A1 | May 2004 | US |