File operating method for storing real time recording/reproduction information

Abstract: A recording medium for storing real time recording/reproduction information, a real time recording and reproducing method and apparatus, and a file operating method using the information, are provided. Real time recording/reproduction information for ensuring real time recording/reproduction is stored in a file control information area, in each real time file, or in a separate file, and real time recording/reproduction attributes are assigned to the file. Thus, real time recorded files can be continuously reproduced without interruption. Also, methods of creating a file to which real time recording/reproduction attributes are assigned, extending a data area, and recording and reproducing the file to which real time recording/reproduction attributes are assigned, are provided.

Description: The present invention relates to a file operating method using real time recording/reproduction information. In a computer or audio and/or video (A/V) apparatus constituted of a file system for an A/V file required to be recorded/reproduced in real time, control information representing that the A/V file is a real time recording/reproduction file is not recorded in file control information. Thus, it is impossible to reproduce in real time a file comprised of data blocks physically scattered on a recording medium even if they are logically successive. Here, a conventional file system, as shown in Figure 1, is comprised of file control information having the length of a file, information on the position of file data, information on the possibility or impossibility of reading/writing a file, etc., and file data stored in positions designated by the file control information. When a file on a disc is read, file control information is first read, and file data in the positions designated by the read file control information is then read and reproduced. Such a method of allocating a block of a fixed size used in the conventional file system cannot guarantee real time reproduction of a file. That is, recording/reproduction of the conventional file system is described by taking as an example the case in which two files occupy blocks on a disc as shown in Figure 2. Here, a file A, requiring real time reproduction, occupies blocks 0, 3, 5 and 6 of the disc, and a file B, a general file, occupies blocks 1, 2, 4 and 7 of the disc. The process for reproducing the file A is as follows. In the first step, block 0 is read. In the second step, block 3 is searched for. In the third step, block 3 is read and played back. In the fourth step, the block 5 is searched for. In the fifth step, blocks 5 and 6 are read and played back. In the conventional file system, since information associated with real time recording/reproduction is not recorded even when recording a file requiring real time recording/reproduction, a data arrangement for real time recording/reproduction is not considered. Thus, real time reproduction may not be achieved. That is, the file A (for example, a video file) of Figure 2 requires real time reproduction, but the conventional file system arranges data files without consideration of the requirement of real time reproduction, thus causing a screen to be interrupted during playback. In order to record/reproduce files in real time, the sum of a seek time and a read time must be smaller than a playback time, as shown in the following expression: seek time + read time < playback time In order to prevent a screen from being interrupted, a next block must be searched for during reading and reproducing a current block before the next block is read. However, in an apparatus for driving a disc such as a compact disc (CD) and a digital versatile disc (DVD), the seek time is significantly longer than the read time. Therefore, real time reproduction is impossible if the next block is not physically adjacent to the current block. EP 903744 (Matsushita) published after the priority date of the present invention, discloses an optical disk including a data area for recording a plurality of video segments and an index area for recording original type chain information and user defined type chain information. The original type chain information defines an original type chain including first ones of video segments by describing a reproduction order of the first video segments. The user defined type chain information defines a user defined type chain including second ones of the video segments by describing a reproduction order of the second video segments. The first video segments are positioned in the data area in the reproduction order of the first video segments whereas the second video segments are positioned in the data area independently of the reproduction order of the second video segments: With a view to solve or reduce the above problems, it is an aim to provide a file operating method of generating a file in which real time recording/reproduction information has been set, expanding data regions, recording and reproducing the file, and performing other file operations. According to the present invention there is provided a method of operating a file, as set forth in claim 1 appended hereto. Preferred features of the invention will be apparent from the dependent claims, and the description which follows. For a better understanding of the invention, and to show how embodiments of the same may be carried into effect, reference will now be made to the accompanying drawings, in which: Figure 1 is a view illustrating the one-dimensional structure of a recording medium, the structure showing the relationship between file control information and file data; Figure 2 is a view illustrating an example in which two conventional files occupy blocks on a disc; Figures 3A through 3D show examples of storage of real time recording/reproduction attribute information according to an embodiment of the present invention; Figure 4 is a view illustrating an example in which real time files according to the present invention, comprised of minimum contiguous storage blocks, occupy blocks on a disc; Figure 5 is a view illustrating the one-dimensional structure of a recording medium for recording real time AV data allocated into minimum contiguous storage blocks; Figures 6A and 6B are views illustrating examples of copying a file comprised of minimum contiguous storage blocks; Figure 7 is a flowchart illustrating a reproducing method using real time recording/reproduction information according to an embodiment of the present invention; Figure 8 is a schematic block diagram of a disc recording and reproducing apparatus applied to the present invention; Figure 9 is a view showing the flow of control for real time recording/reproduction for a real time rewritable system; Figure 10 is a block diagram showing the flow of data for real time recording/reproduction for a real time rewritable system; Figure 11 is a view illustrating an example of allocating an unrecorded/unallocated area in a real time recorded/reproduced file; Figures 12A through 12D are views illustrating examples of recording data of a real time recorded/reproduced file; Figures 13A through 13D are views illustrating file control information corresponding to when different bit rates are provided in different sections and when an identical bit rate is provided in the entire file data section; and Figures 14A through 14C are views illustrating partial deletion of real time recorded/reproduced file data. Preferred embodiments of a recording medium for storing real time recording/reproduction information, a real time recording and reproducing method and apparatus, and a file operating method using the real time recording/reproduction information will now be described referring to the attached drawings. Figures 3A through 3D show examples of storing real time recording/reproduction information (this can be called real time recording/reproduction attribute information) according to an embodiment of the present invention. As shown in Figure 3A, the real time recording/reproduction information can be provided as an attribute to each real time file. As an example, the real time recording/reproduction attribute information can be stored in an extended attribute field in a file entry or a stream directory ICB (information control block) field when a file system is a universal disk format (UDF) system. Alternatively, the real time recording/reproduction attribute information can be stored in a file identifier descriptor field, a file type field, or a flag field among an ICB TAG field in a file entry. The file entry can be called a file control information area or a file structure area. As shown in Figure 3B, real time recording/reproduction attribute information for each file can be stored in a predetermined area (information area) in each file. For example, in the case of a real time rewritable (RTRW) format, real time recording/reproduction attribute information can be stored in a data file named RTRW_TS.VOB. As shown in Figure 3C, real time recording/reproducing attribute information for each file can be stored in a separate file. As an example, real time recording/ reproduction attribute information can be stored in an information file having an RTRW format named RTRW_TS.IFO. As another example, when the file system is the UDF system, the real time recording/reproduction attribute information can be stored in a volume structure area separate from a file structure area, as shown in Figure 3D. Therefore, when real time recording/reproduction attribute information is stored in the volume structure area or file structure area in the UDF system, the real time recording/reproduction attribute information is first interpreted upon mounting a volume or opening a file, and data is then recorded/reproduced in real time according to the interpreted information. Real time recording/reproduction file indication information (e.g., identifier = "AV file") representing that a file requires real time recording/reproduction is included in the real time recording/reproduction attribute information. Among information on the size of the minimum contiguous storage block satisfying the condition of expression 1, reproduction time information for ensuring minimum contiguous storage, recording/reproduction bit rate information, and information on the contiguous recording/reproduction type, at least one can be stored in the real time recording/reproduction attribute information. Here, if there are three types of discs A, B and C, the contiguous recording/reproduction type information can be predetermined as follows: type A = 10.08 Mbps, type B = 1.4 Mbps, type C = 8 Mbps An attribute representing whether files are currently arranged so as to be recorded/reproduced in real time, i.e., an attribute representing the current real time recordable/reproducible state of files, is also included in the real time recording/reproduction attribute information. Real time recording/reproduction bit rate information is stored in the real time recording/reproduction attribute information. When the recording/reproduction bit rate is changed in each section, information associated with a plurality of bit rate values and sections (e.g., position information) can be stored in the real time recording/reproduction attribute information. The maximum allowable value of the real time recording/reproduction bit rate can be further stored in the real time recording/reproduction attribute information. Here, the control information of a spindle motor can be obtained by using the recording/reproduction bit rate information. In addition, file defect management information, file buffering information, file allocation information, etc. can be included in the real time recording/reproduction attribute information. That is, if file defect management information is stored in the real time recording/reproduction attribute information, replacement of a defective block with a spare area is not attempted when reading or writing fails, and further reading or writing of the defective block is not attempted. For example, file allocation information such as non-allocation of a defective block replaced by a spare area as a data block can be stored in the real time recording/reproduction attribute information. File buffering information associated with the amount of data to be initially read from a track buffer and the amount of data to be recorded in the track buffer at a time can also be stored as the real time recording/reproduction attribute information. Instead of individually storing many real time recording/reproduction attributes such as file defect management information, file allocation information, and file buffering information, the conditions for controlling real time files are classified into types, and the information of the classified types is recorded in a real time recording/reproduction file attribute information area. In this way, easy real time recording and reproduction can be achieved. For example, the following types of information can be provided: type A: a data bit rate of 10Mbps, impossibility of allocation of a data block to a defective block replaced by a spare area, and impossibility of reattempt of reading upon failure in reading; and type B: a data bit rate of 8Mbps, possibility of allocating a data block to a defective block replaced by a spare area, and impossibility of reattempting reading upon failure in reading. Meanwhile, referring to Figure 4 showing an example of real time files comprised of minimum contiguous storage blocks occupying blocks on a disc according to the present invention, a file A is a file requiring real time reproduction. If a minimum contiguous storage block satisfying the condition of expression 1 is comprised of four blocks, the file A is recorded in real time in units of four blocks. That is, the real time file A occupies blocks 0, 1, 2, 3, 5, 6, 7, 8, 11, 12, 13 and 14 on a disc. A general file B occupies blocks 4, 9, 10 and 15 on the disc. The general file B not requiring real time reproduction has a minimum contiguous storage block comprised of one block, and one or an arbitrary number of segments can be stored. This block generally corresponds to a sector of a disc. The file A operates for real time reproduction, as follows. In step 1, blocks 0, 1, 2 and 3 are read. In step 2, block 5 is searched for during playback of the blocks 0, 1, 2 and 3. In step 3, blocks 5, 6, 7 and 8 are read. In step 4, block 11 is searched for during playback of the blocks 5, 6, 7 and 8. In step 5, blocks 11, 12, 13 and 14 are read and played back. If no areas for contiguous blocks capable of satisfying the minimum contiguous storage block exist on a disc upon storage of a file requiring real time reproduction, recording of the file is not possible. However, if a warning message like "contiguous recording is not possible. Shall the minimum contiguous storage block be designated as one block and the file be stored in the designated block length ?" is sent to a user, and if the user requires storage, the file can be stored in the minimum contiguous storage blocks comprised of one block. In this case, the value of the initially-designated minimum contiguous storage block is stored in the information associated with the minimum contiguous storage block length included in the real time recording/reproduction attributes, but information indicating that the arrangement of currently stored files makes real time recording/reproduction impossible is stored in a current real time recordable/reproducible state attribute. This is done so that a file to be copied can be contiguously treated as a real time recording/reproduction file when the file is copied on different discs or the same disc. In embodiments of the present invention, a driving apparatus, such as a CD drive and a DVD drive, having a seek time (e.g., 150ms) significantly longer than a read time (e.g., 1.43ms), which is expressed by seek time » read time, can also realize real time reproduction if it satisfies the condition of expression 1: seek time + read time < playback time. Meanwhile, the minimum contiguous storage block limits the allocation of a free block on a disc to satisfy a predetermined purpose. Here, the free block means a non-used area having no defective blocks or a rewritable area among user areas that can be used by a user. If the minimum contiguous storage block is defined as 16 blocks arranged in an error correction code (ECC) block, the allocation of a data block is not possible for less than 16 contiguous free blocks. Also, the allocation of a data block is not possible for 16 contiguous free blocks ranging over two ECC blocks. Here, the minimum contiguous storage block has the purpose of recording and reproducing a DVD-RAM in an ECC unit. When all real time data is stored on physically-contiguous blocks on a disc, no seeking occurs, and thus recording/reproduction is prevented from being interrupted. However, since contiguous blocks do not infinitely exist, a minimum contiguous storage block is calculated and stored as the real time recording/reproduction attributes of a file, and real time data is recorded in the minimum contiguous storage block. In this way, the interruption of a screen can be prevented. If an MPEG playback bit rate (=Vb) of 8Mbps, a seek time of 150ms, a read bit rate (=Va) of 11Mbps, a block of 2048 bytes, and data having ECC blocks each comprised of 16 blocks is recorded in a recording medium such as a disc, the minimum contiguous storage block S can be obtained according to the condition of expression 1 as shown in the following expression 2: (1-Vb/Va) (2048 8) S > Vb seek time/1000 From this expression, the minimum contiguous storage block S is 261 blocks. When data is recorded in units of at least 261 blocks designated as the minimum contiguous storage block, real time reproduction is possible. However, 272 blocks corresponding to 17 contiguous ECC blocks can be designated as the minimum contiguous storage block. Here, the predetermined purpose is to ensure recording/ reproduction when the maximum seek time is 150ms. With one ECC block comprised of 16 blocks designated as the minimum contiguous storage block, and a limitation such as the seek time added as shown in expression 2, a free block allocation method for real time recording and reproduction is classified into steps, and the steps can be arranged as shown in Table 1: number of contiguous blocks purposes Third step 1088 blocks (ECC arrangement) ensuring real time recording/reproduction between blocks requiring a seek time of 600ms Second step 272 blocks (ECC arrangement) ensuring real time recording/reproduction between blocks requiring a seek time of 150ms First step 16 blocks (ECC arrangement) ensuring recording and reproduction in an ECC unit (_ all allocated blocks must satisfy the first step) A/V data is recorded and reproduced by arranging blocks satisfying a limitation on the minimum contiguous storage block whose number of blocks depends on each step, so that the blocks can be physically connected to each other, whereby real time recording and reproduction can be ensured. For example, when there are three groups of blocks of the minimum contiguous storage block: 16 blocks, 272 blocks and 1088 blocks, and the seek time is 150ms, the possibility of real time recording/reproduction depends on the method of connecting the blocks. That is, when 272 blocks, 1088 blocks, and 16 blocks are sequentially arranged, real time recording and reproduction is possible, and when 16 blocks, 272 blocks and 1088 blocks are sequentially arranged, real time recording and reproduction is not possible. Accordingly, the minimum contiguous storage block can be effectively recorded and reproduced in real time using the allocation of blocks by steps and the block connecting method. Meanwhile, if the end portion of a file is not filled with as much data as in a minimum contiguous storage block as shown in Figure 5, even when the file is recorded according to the condition of the minimum contiguous storage block, an attribute representing that data blocks for the unfilled area are allocated but not recorded is stored as real time recording/reproduction information, thus allowing real time playback upon additional recording. That is, referring to Figure 5 showing the one-dimensional structure of a recording medium in which real time AV data stored in the minimum contiguous storage block is placed, real time recording/reproduction attribute information in addition to the length of a file, information on the position of file data, information on the possibility or impossibility of reading/writing a file, etc. is further stored in file control information positioned at a disk block #1. Two minimum contiguous storage blocks each comprised of 272 data blocks are allocated to first file data placed at a disk block #m, 272 data blocks for the minimum contiguous storage block are allocated to second file data positioned at a disk block #n, and 200 data blocks and 72 allocated/unrecorded blocks are allocated to third file data positioned at a disk block #o. When a file for real time recording/reproduction is copied on the same disc or different discs, the data blocks of the file must be arranged on the disc using real time recording/reproduction attribute information so that the file can be played back in real time. If the arrangement of the data blocks is not possible, the data blocks are arranged on the same basis as the arrangement basis of general file blocks. Here, the real time recording/reproduction attribute information maintains the original attribute information, but the impossibility of real time recording/reproduction is set as a current real time recordable/reproducible state attribute. Also, when an operating system (OS) detects defective blocks on a disc upon copying of a file, data blocks to be copied must be arranged in consideration of the original real time recording/reproduction attribute information and medium defect management information recorded in a secondary defect list (SDL). For example, when the minimum contiguous storage block is 40 blocks as shown in Figure 6A, data blocks are arranged in consideration of a defective area of a disc to copy a file on, as shown in Figure 6B. On the other hand, when the OS does not detect defects recorded in the SDL, data is allocated to blocks other than the defective block area in an application program for copying and in consideration of real time recording/reproduction attribute information as shown in Figure 6B. Figure 7 is a flowchart illustrating a reproducing method using real time recording/reproduction information, according to an embodiment of the present invention. A disc is loaded on a player in step S101, and the player reads a volume area from the disc in step S102. A determination of whether real time recording/reproduction information exists on the volume area is made in step S103. If real time recording/reproduction information exists on the volume area, playback of files is set in consideration of the real time recording/reproduction information, in step S104. If it is determined in step S103 or after step S104 that no real time recording/reproduction information exists on the volume area, reading of the volume area is completed in step S105. Thereafter, a file is read in step S106. It is determined whether real time recording/reproduction information exists in the read file, in step S107. If the real time recording/reproduction information exists in the read file, playback of the file is set in consideration of the real time recording/reproduction information, in step S108. If it is determined in step S107 or after step S108 that no real time recording/reproduction information exists in the read file, the read file is played back in consideration of whether the real time recording/reproduction information has been set, in step S109. Here, when real time recording/reproduction information exists in the volume structure area, steps S107 and S108 may not be performed. Also, when real time recording/reproduction information exists in a file control information area, steps S103, S104 and S105 may not be performed. Figure 8 is a schematic block diagram of a disc recording and reproducing apparatus to be applied to the present invention. The function of the apparatus for recording and reproducing A/V data using a recordable and rewritable disc is divided into recording and reproduction. Upon recording, a codec 110 compresses and encodes an audio/video (A/V) signal from an external bitstream using a predetermined compression scheme, and writes data compressed according to a recording/reproduction bit rate (Vb) to a track buffer 120. An error correction encoder and decoder (ECC) 130 error-correct encodes the data written to the track buffer 120, reads the error-correction encoded data at a write/read bit rate Va, and applies the result to a pickup unit 140. Also, the ECC 130 applies real time recording/reproduction information generated under the control of a controller 170 to the pickup unit 140 so that the information can be recorded on a volume structure area or a file control information area. The pickup unit 140 converts the error-correction encoded data into a radio frequency (RF) signal and records the RF signal on a disc 150. Here, the recording rotating speed of a spindle motor 160 for driving the disc 150 is controlled according to a servo control signal from the controller 170. Upon reproduction, when real time recording/reproduction information is stored in the file control information area or the volume structure area, buffering information associated with the amount of data to be initially read from the track buffer, file allocation information, defect management information, recording/reproduction bit rate information, etc. are read in advance, and reading of file data is controlled on the basis of the read information. File data to be satisfied by the condition of the minimum contiguous storage block is read from the disc 150 at a write/read bit rate Va. The read file data is error-correction decoded by the ECC 130 via the pickup unit 140, and written to the track buffer 120. The codec 110 reads data written to the track buffer 120 at the recording/reproduction bit rate Vb, decodes the read data, and reproduces A/V data. When recording/reproducing bit rate information exists in the real time recording/reproduction information, the controller 170 obtains the control information of the spindle motor 160 from the recording/reproducing bit rate information provided from the pickup unit 140 and the ECC 130, and can drive not only the spindle motor but also a servo mechanism. Figure 9 is a view showing the flow of control for recording/reproducing data on a disc to which real time real time recording/reproduction attributes are provided, in a real time rewritable (RTRW) system. The RTRW system is comprised of an application layer 201 for producing a command associated with A/V data recording/reproduction, a Windows kernel 202 for interpreting the produced command, and a device driver 203 having a file system the same as the file system of a DVD-RAM device driver for requesting a corresponding function according to the command interpreted by the Windows kernel 202 by transmitting a driver command to a drive 204. Here, the Windows kernel 202 and the device driver 203 correspond to a file system layer, and the Windows kernel 202 can be called a kernel layer. Figure 10 is a block diagram showing the flow of real time recording/reproduction data for a computer system among RTRW systems. Upon recording, the following processes are performed in a multitasking manner: storing A/V data input to an A/V encoder 211 in a computer main memory 212 in real time; storing A/V data stored in the computer main memory 212 in a first-in first-out (FIFO) file of a hard disk drive (HDD) 213; and storing the A/V data from the FIFO file of the HDD 213 in a DVD-RAM disk 214. Here, when a sufficient main memory exists on a computer, the FIFO file may not exist in the HDD. Upon reproduction, a process for storing A/V data from the DVD-RAM disk 214 in a computer main memory 215 in real time and a process for reading the A/V data stored in the main memory 215 through an A/V decoder 216 are performed in a multitasking way. For example, the function of a RTRW system using a Windows kernel is divided into creation of a file to which real time recording/reproduction attributes are provided, allocation of a data area, data recording, data reproduction, data deletion, and file closing, and these divided functions will now be described referring to Figure 9. <method of creating a real time recording/reproduction file> In the first step, a Windows kernel API (application programming interface) called to create a real time recording/reproduction file is a create file. The application layer 201 assigns a file attribute as FILE_ATTRIBUTE_RTRW to a create file to create the real time recording/reproduction file, and calls the Windows kernel 202 as in the following example: example: FileHandle = CreateFile ("AVFILE.MPG",FILE_ATRIBUTE_RTRW,...) In the second step, the Windows kernel 202 orders the DVD-RAM device driver 203 to create a file. In the third step, the DVD-RAM device driver 203 designates a FILE_ATTRIBUTE_RTRW attribute when the file generation function is ordered. When the FILE_ATTRIBUTE_RTRW attribute is designated, file control information is stored in an extended attribute area of a file entry, a stream directory ICB (information control block) area, a file identifier descriptor area, or a file type area or flag area of an ICB TAG field in a file entry. Here, bit rate information can also be set when an A/V file is created. <method of allocating an allocated/unrecorded area of a real time recording/reproduction file> In the first step, a Windows kernel API called to allocate an allocated/unrecorded area of a real time recording/reproduction file is a set file pointer having a seek function. In order for the application layer 201 to pre-allocate a data area of a real time recording/reproduction file in advance as an allocated/unrecorded area as large as a minimum contiguous storage block, the set file pointer calls the Windows kernel 202 as in the following example: example: SetFilePointer (FileHandle,8_1024_1024,NULL,FILE_END) SetFileBitrate (FileHandle,bitrate) Alternatively, a data area necessary for real time recording/reproduction can be pre-allocated in advance as an allocated/unrecorded state using the SetFileBitrate (FileHandle,bitrate). Here, when the application layer knows a bit rate, and an API for converting the bit rate into the number of blocks exists in the file system layer, the number of blocks obtained by the API can be secured as the data area necessary for real time recording/reproduction in an allocated/unrecorded state using the SetFilePointer. In the second step, the Windows kernel 202 orders the DVD-RAM device driver 203 to seek for a file. In the third step, the DVD-RAM device driver 203 checks if real time recording/reproduction attributes are assigned to a file, upon ordering of the file seeking function, and secures an allocated/unrecorded data area as large as the length for seeking according to minimum contiguous storage conditions (for example, file defect management, file allocation, file buffering, the magnitude of a minimum contiguous storage block, and bit rate information) specified in the assigned real time recording/reproduction attributes, as shown in Figure 11. One pre-allocated area or a plurality of areas are arranged in an ECC unit and can be allocated. <method of recording data of a real time recording/reproduction file> In the first step, a Windows kernel API called to record the data of the real time recording/reproduction file is a write file. The application layer 201 calls a Windows kernel using a write file as in the following example, to store real time data: example: WriteFile (FileHandle,AV_Buffer,32_1024,NULL,NULL) In the second step, the Windows kernel 202 calls the file recording function of the DVD-RAM device driver 203. In the third step, the DVD-RAM device driver 203 checks if real time recording/reproduction attributes are assigned to a file, upon calling the file recording function. If the real time recording/reproduction attributes are assigned, A/V data to be recorded is recorded in an allocated/unrecorded area according to real time recording conditions. Upon recording, when no allocated/unrecorded area exist, the magnitude of recorded data is reported to the application layer 201. The application layer 201 pre-allocates an allocated/unrecorded area designated as the real time recording/reproduction attributes to record the left-over unrecorded data using a seek command SetFilePointer with reference to the amount of recorded data, and again records the left-over data. That is, as shown in Figure 12A, A/V data of 32_1024 bytes is recorded in an allocated/unrecorded area of 8_1024_1024 bytes shown in Figure 11, and the residual area is still allocated as the allocated/unrecorded area. As shown in Figure 12B, when the amount of data recorded in a variable written of the application layer 201 is reported since the allocated/unrecorded area is 32_1024 bytes short, the file system layer automatically pre-allocates an unallocated area using bit rate information designated through the SetFileBitrate. As shown in Figure 12C, the residual data is recorded in the ECC block unit. When a defective block is generated during recording and an error is thus generated, a block corresponding to the defective block is excluded from the allocated/unrecorded area as shown in Figure 12D. Here, when the bit rates for sections can be distinguished from each other, information associated with the bit rate for each section can be recorded in a file control information area. That is, Figures 13A and 13B show an example of a plurality of bit rate values (here, V 1 , V 2 and V 3 ) and information associated with sections stored as real time recording/reproduction information in a file control information area when different bit rates are provided in different sections. Figures 13C and 13D show an example of one bit rate value (here, V b ) stored as real time recording/reproduction information in a file control information area when an identical bit rate is provided in the entire file data section. <method of reproducing real time recording/reproduction file data> In the first step, a Windows kernel API called to reproduce the data of a real time recording/reproduction file is a read file. The application layer 201 calls a Windows kernel using the read file as in the following example, to reproduce real time data: example: ReadFile (FileHandle,AV_Buffer,32_1024,NULL,NULL) In the second step, the Windows kernel 202 orders the DVD-RAM device driver 203 to read a file. In the third step, the DVD-RAM device driver 203 checks if real time recording/reproduction attributes are assigned to the file, when the file reading function is ordered. If the real time recording/reproduction attributes are assigned, A/V data as long as the length for reproduction is reproduced from an A/V data area according to real time reproduction conditions. Here, when a defect is generated in a block to be reproduced, a read command indicating that allocated/unrecorded file attributes are assigned but not read is transmitted from the DVD-RAM device driver 203 to the drive 204. A real time recording command and a reproducing command provided by a command interface of the DVD-RAM device driver must be used upon real time recording/reproduction. <method of deleting part of real time recording/reproduction file data> In the first step, a "DeletePartOfFile" is called as the Windows kernel API to delete part of the data of a real time recording/reproduction file. In order to delete part of real time data, the application layer 201 calls a Windows kernel using the "DeletePartOfFile" as in the following example: example: DeletePartOfFile (FileHandle,Offset,Size) In the second step, the Windows kernel 202 orders the DVD-RAM device driver 203 to delete part of the file. In the third step, when partial deletion of the file is ordered, the DVD-RAM device driver 203 checks if real time recording/reproduction attributes are assigned to the file, and deletes data from an A/V data area according to real time conditions if the real time recording/reproduction attributes have been assigned. Upon partial deletion of a file, a file for managing a dummy file or an ECC padding space list is created under a root directory on a system file. Figure 14A shows an area to be deleted from a real time file in which A/V data is arranged in ECC units. The deletion area is allocated to a free area as shown in Figure 14B, and an A/V data section pertaining to the deletion area, among an ECC block ranging over the boundary of the deletion area, is called a padding space. A/V data in this padding space is managed as a separate file on the system file and stored in an allocation descriptor (AD) list in an ECC padding space list. A/V data not pertaining to the deletion area, in the ECC block, is stored in the AD list of a file entry. The ECC padding space list is again updated according to a function such as deletion or writing. When an application of the method according to the present invention is an UDF system, the ECC padding space list can be described by a short allocation descriptor. In Figure 14B, the A/V file space and the padding space of the ECC block ranging over the boundary of the deletion area have extent lengths. As shown in Figure 14C, the A/V file space of the ECC block ranging over the boundary of the deletion area has both an extent length and an information length, but the padding space is managed as an allocation descriptor having an extent length and an information length of "0" in the AD list in an A/V file entry. The an A/V file space not pertaining to the deletion area, in the ECC block, is also managed in the AD list in the AV file entry. In this case, the padding space can be defined as an extended allocation descriptor of UDF. <method of closing a real time recording/reproduction file> In the first step, a CloseHandle function is called as a Windows kernel API to close a real time file. In order to close a real time recording/reproduction file, the application layer 201 calls the window kernel 202 using the CloseHandle as in the following example: example: CloseHandle (FileHandle) In the second step, the window kernel 202 orders the DVD-RAM device driver 203 to seek for a file. In the third step, when the file closing function is ordered, the DVD-RAM device driver 203 updates file control information (file entry, etc.) and disk information (e.g., free area information, etc.). According to embodiments of the present invention as described above, real time recording/reproduction attributes are assigned to a file, and the file is recorded/reproduced in a different way from a general file. In this way, a real time recording/reproduction file can be recorded/reproduced in real time. Also, in the present invention, files are divided into real time files and general files, and defect management information, file allocation information, buffering information, and the magnitude information of a minimum contiguous storage block provided in each step are assigned as real time recording/reproduction information to the real time file upon recording/reproduction. Thus, real time recording/reproduction can be effectively performed. Furthermore, in embodiments of the present invention, the control information of a spindle motor is obtained from real time recording/reproduction information associated with a recording/reproduction bit rate, thus controlling the spindle motor.

Claims: A method of operating a file for a system for writing and rewriting real time files to which real time recording/reproduction attribute information is assigned, the method comprising the step of operating the real time files in correspondence with any one process among a real time file creation process, an area allocation process, a recording process, a reproduction process, a deletion process, and a closing process, using the real time recording/reproduction attribute information the method being characterised in that the real time recording/reproduction attribute information includes information on minimum contiguous storage blocks satisfying a condition in which a playback time of a current data block is greater than a sum of the seek time and a read time of a data block to be played back next, and information on a playback time for ensuring minimum contiguous storage. The method as claimed in claim 1, wherein the real time recording/reproduction attribute information includes file indication information indicating that a file requires real time recording/reproduction. The method as claimed in claim 1, wherein the real time recording/reproduction information is stored in a file type field in an information control block (ICB) TAG field of a file entry for a universal disk format (UDF) system. The method of claim 1, wherein the real time recording/reproduction attribute information includes recording/reproduction bit rate information. The method as claimed in claim 1, wherein the selected process is the creation process, and the method further comprises the steps of: having an application layer call a kernel layer using a file creation command; having the kernel layer call a file creation function from a device driver by the kernel layer; and having the device driver create one of the real time files by designating real time recording/reproduction attributes, in response to the file creation function being called, wherein the application layer is a layer for producing a command associated with A/V data recording/reproduction, the kernel layer is a layer for interpreting the produced command, and the device driver has a file system the same as the file system of a DVD-RAM device driver for requesting a corresponding function according to the command interpreted by the Kernel layer by transmitting a driver command to a drive. The method as claimed in claim 1, wherein the selected process is the area allocation process, and the method further comprises the steps of: having an application layer call a kernel layer using a seek command; having the kernel layer call a file seek function from a device driver; and having the device driver check if real time recording/reproduction attributes have been set, in response to the file creation function being called, and pre-allocating an allocated/unrecorded data area having a length for seeking according to a minimum contiguous storage condition specified in the real time recording/reproduction attribute information, wherein the application layer is a layer for producing a command associated with A/V data recording/reproduction, the kernel layer is a layer for interpreting the produced command, and the device driver has a file system the same as the file system of a DVD-RAM device driver for requesting a corresponding function according to the command interpreted by the Kernel layer by transmitting a driver command to a drive. The method as claimed in claim 1, wherein the selected process is the recording process, and the method further comprises the steps of: having an application layer call a kernel layer using a record command; having the kernel layer call a file recording function from a device driver; and having a device driver check if real time recording/reproduction attributes have been set, in response to the file recording function being called, and recording data in an allocated/unrecorded area of the disc according to a real time recording condition, wherein the application layer is a layer for producing a command associated with A/V data recording/reproduction, the kernel layer is a layer for interpreting the produced command, and the device driver has a file system the same as the file system of a DVD-RAM device driver for requesting a corresponding function according to the command interpreted by the Kernel layer by transmitting a driver command to a drive. The method as claimed in claim 7, further comprising the steps of: reporting a magnitude of recorded data to the application layer in response to an allocated/unrecorded allocation area being deficient in the recording step; having the application layer pre-allocate the allocated/unrecorded area using the area allocation process with reference to the magnitude of the recorded data; and recording residual data in the pre-allocated area. The method as claimed in claim 8, wherein the step of pre-allocating the allocated/unrecorded area comprises the step of automatically pre-allocating the allocated/unrecorded area according to bit rate information set by a file system layer. The method as claimed in claim 8, wherein in response to a defective block being generated during the recording of the data in the allocated/unrecorded area in the recording step, excluding the defective block from the allocated/unrecorded area. The method as claimed in claim 1, wherein the selected process is the reproduction process, and the method further comprises the steps of: having an application layer call a kernel layer using a reproduction command; having the kernel layer call a file reproduction function from a device driver; and having the device driver check if real time recording/reproduction attributes have been set, in response to the file reproduction function being called, and reproducing data from the disc according to a real time reproduction condition, wherein the application layer is a layer for producing a command associated with A/V data recording/reproduction, the kernel layer is a layer for interpreting the produced command, and the device driver has a file system the same as the file system of a DVD-RAM device driver for requesting a corresponding function according to the command interpreted by the Kernel layer by transmitting a driver command to a drive. The method as claimed in 1, wherein the selected process is the deletion process, and the method further comprises the steps of: having an application layer call a kernel layer using a deletion command; having the kernel layer call a file deletion function from a device driver; and having the device driver check if real time recording/reproduction attributes have been set, in response to the file deletion function being called, and deleting data from the disc according to a real time condition, wherein the application layer is a layer for producing a command associated with A/V data recording/reproduction, the kernel layer is a layer for interpreting the produced command, and the device driver has a file system the same as the file system of a DVD-RAM device driver for requesting a corresponding function according to the command interpreted by the Kernel layer by transmitting a driver command to a drive. The method as claimed in claim 12, further comprising the steps of allocating the deletion area to a free area, and managing data in a padding space of an A/V data section pertaining to the deletion area among an error correction code (ECC) block ranging over a boundary of the deletion area as a separate file on a system file of the disc. The method as claimed in claim 13, further comprising storing and managing the data from the padding space in an allocation descriptor list in an ECC padding entry, wherein the padding space pertaining to the deletion area in an ECC block ranging over the boundary of the deletion area and an A/V file space not pertaining to the deletion area have extent length. The method as claimed in claim 1, wherein the selected process is the closing process, and the method comprises the steps of: having an application layer call a kernel layer using a close command; having the kernel layer call a file closing function from a device driver; and having the device driver update file control information and disc information in response to the file closing function being called, wherein the application layer is a layer for producing a command associated with A/V data recording/reproduction, the kernel layer is a layer for interpreting the produced command, and the device driver has a file system the same as the file system of a DVD-RAM device driver for requesting a corresponding function according to the command interpreted by the Kernel layer by transmitting a driver command to a drive.

Inventors: CHUNG HYUN-KWON, KIM BYUNG-JUN, KIM YOUNG-YOON, KO JUNG-WAN, LEE DO-NAM, CHUNG, HYUN-KWON, KIM, BYUNG-JUN, KIM, YOUNG-YOON, KO, JUNG-WAN, LEE, DO-NAM
Applicants: SAMSUNG ELECTRONICS CO LTD, SAMSUNG ELECTRONICS CO., LTD.
Application year: 1999
Main classification: G11B20
IPC codes: G11B27, G11B20, H04N5, G11B7, G06F12