Data recording methods and apparatus, data recording media and data reproducing methods and apparatus

Abstract: In a data recording technique, a file for a computer system is arranged on a recording medium between TOC and video or audio data, thereby enabling the video or audio data to be read out at a high speed and reproduced either by the computer system or by a relatively inexpensive reproducing apparatus (e.g. CD or video CD player). Digital moving picture data and audio data are formed into packets and recorded as time division multiplexed bit streams, the bit streams being split in a self-complete manner, and with the split bit stream representing one program being recorded in a respective one of plural areas. Start access entry points of the programs also are recorded to establish self-complete positions of those programs.

Description: This invention relates to the recording and reproduction of data, and to data recording media. A preferred form of implementation of the invention described below provides a technique for recording and reproducing compressed, time division multiplexed video and audio data on, for example, optical disc. Disc-shaped recording media have come into widespread use for recording speech, video information and computer data. For example, the CD-ROM is used to record speech data, video data and other computer-usable data for use in a computer system. Files that are used for accessing the recording medium exhibit an advanced file classification storage function, such as the tree structure shown in Fig. 27 for re-writing or erasing part of the stored data. A directory record which identifies the file position is placed at an arbitrary position on the recording medium, as shown in Fig. 28 and as a result, a file may be recorded in a split form. In a CD or in a video CD, a table-of-contents (TOC) area is provided at the leading end, or beginning portion, of the recording medium, and file position information is collectively recorded therein. Since audio data and video data are recorded continuously, normal and special reproduction (e.g., reverse play, fast play, etc.) likewise may be continuous. Such CDs and video CDs do not require a computer to recover data thereon, and thus, a dedicated reproducing apparatus, less expensive than a computer has been put to practical utilization. Nevertheless, as the processing ability of computers advances and as the cost of computing decreases, thereby making it feasible for a computer to handle audio data and video data, the usefulness of reproducing data recorded on a digital recording medium, such as a CD or a video CD, has been increasing. However, when conventional computer techniques are used to reproduce data from a digital recording medium, such as a CD or a video CD, a dedicated program or file system must be recorded for the computer to recognize in order to reproduce the CD or the video CD, and a separate file needed for the file system, or a special computer program, must be disposed outside the area in which the continuous audio and picture data are recorded. As a result, the optical pickup for the recording medium is moved frequently to the separate computer program or file system, thus generally lowering the access speed of the optical disc drive. Conversely, with a dedicated reproducing apparatus (i.e., not a computer or PC) for a medium in which data is recorded continuously, such as a CD player or a video CD player, it is difficult to operate with a recording medium on which the data has been recorded in a computer-compatible file system and thus possibly has been recorded discontinuously. International Patent Application Publication Number WO 94 07332 A describes a digital video signal processing apparatus and method according to.which video and audio data are recorded in units of packets onto a disk. Each unit comprises a plurality of packets. When a packet of video data is present, if the picture at the top of the video packet is an I-picture, then an entry pack is disposed immediately prior to the video packet. The entry packet comprises information on the relative positions of the three preceding and three following entry packets. Respective different aspects of the invention are set out in claims 1, 8, 15, 22 and 30 hereof. According to a first aspect the invention provides a method of recording moving picture data and audio data presented as a time division multiplexed bit stream comprising a plurality of packets, said bit stream being split to form self-complete programs which are recorded on a recording medium, said method comprising the steps of: defining a plurality of start access entry points for said bit stream representing start entry points of said programs at which said programs are accessible; recording said programs and said start access entry points on said recording medium wherein each program is recorded in a respective area containing plural tracks; and recording program linkage information comprising address data specifying absolute positions on said recording medium pertaining to a start position of a leading track (A), a start position of a last track (B), a last start access entry point of the last track (C) and an end position of the last track (D) for each of said programs in a predetermined area containing plural tracks on said recording medium. The invention provides, according to a further aspect, a data recording medium on which is recorded the aforementioned multiplexed packets of digital moving picture data and audio data. As another aspect, the invention provides a technique for reproducing the multiplexed packets of digital moving picture data and audio data as one program from each area of the data recording medium. According to yet another aspect of the invention, a file for a computer system is arranged between TOC and video or audio data so that readout from a computer system may be made at a high speed and yet reproduction of the video or audio data may be readily attained by an inexpensive reproducing apparatus. By designing part of the data in the program in self-complete form, re-utilization of various portions becomes feasible. In addition, program-based addition, deletion or editing of plural programs may be carried out easily. Plural programs may be handled easily and speedily even with inexpensive reproducing apparatus. A preferred form of implementation of the invention described hereinbelow provides: a technique which arrays a file on a recording medium that can be used with a computer system, the file being located between a TOC and picture and audio data, thereby permitting high speed data readout from the computer system while facilitating continuous data readout using an inexpensive reproducing apparatus; a technique in which part of program data is self-complete and may be reutilized; a technique in which program-based addition, deletion and editing of plural programs may be made easily; and a data recording technique and a recording medium in which plural programs may be manipulated easily and speedily even with an inexpensive reproducing apparatus. The invention will now be further described, by way of illustrative and non-limiting example, with reference to the accompanying drawings, in which: Fig. 1 schematically shows the data structure of a recording medium embodying the invention. Fig. 2 shows the contents of basic descriptors recorded in a basic descriptor recording area of the data recording medium. Fig. 3 shows the contents of the disc TOC information recorded in the disc TOC area of the data recording medium. Fig. 4 shows the contents of album information recorded in the disc TOC area of the data recording medium. Fig. 5 shows the contents of catalog information recorded in the disc TOC area of the data recording medium. Fig. 6 shows the contents of program linkage information recorded in the disc TOC area of the data recording medium. Fig. 7 shows the contents of disc track linkage information recorded in the disc TOC area of the data recording medium. Fig. 8 shows the contents of time information recorded in the disc TOC area of the data recording medium. Fig. 9 shows the contents of a program TOC pointer recorded in the disc TOC area of the data recording medium. Fig. 10 shows the contents of the overall disc reproducing time recorded in the disc TOC area of the data recording medium. Fig. 11 shows the contents of disc name information recorded in the disc TOC area of the data recording medium. Fig. 12 shows the contents of character set field information recorded in the disc TOC area of the data recording medium. Fig. 13 shows the contents of disc data information recorded in the disc TOC area of the data recorded medium. Fig. 14 shows the contents of date information recorded in the disc TOC area of the data recording medium. Fig. 15 shows the contents of program TOC information recorded in the disc TOC area of the data recording medium. Fig. 16 shows the contents of program track information recorded in the program TOC information. Fig. 17 shows the contents of the overall program reproducing time information recorded in the program TOC information. Fig. 18 shows the contents of disc program name information recorded in the program TOC information. Fig. 19 shows the contents of track name information recorded in the program TOC information. Fig. 20 shows the contents of program data information recorded in the program TOC information. Fig. 21 shows the contents of track data information recorded in the program TOC information. Fig. 22 schematically shows the contents of plural programs recorded according to an embodiment of the invention. Fig. 23 schematically shows other contents of plural programs recorded according to an embodiment of the invention. Fig. 24 is a block diagram of data recording apparatus which embodies the invention. Fig. 25 is a block diagram of a multiplexer of the data recording apparatus which embodies the invention. Fig. 26 is a block diagram of data reproducing apparatus which embodies the invention. Fig. 27 shows the tree structure of a conventional file system. Fig. 28 shows the status of a directory record in which the file position is recorded on a recording medium in the conventional file system. Fig. 29 schematically shows the contents recorded on a conventional CD or video CD. Referring to the drawings, preferred embodiments of the invention will be explained in detail. A data recording medium embodying the invention is provided with a basic descriptor recording area PVD, a disc table of contents recording area DTOC, a plurality of program table of contents information recording areas PTOC1, PTOC2, PTOC3, ...PTOCN and a plurality of program information recording areas PRG1, PRG2, PRG3, ...PRGN, as shown in Fig. 1. In the basic descriptor recording area PVD (identified in Fig. 1 as the primary volume descriptor) are recorded the contents of a basic descriptor (Disc Volume Descriptor) consistent with the IS09660 standard as shown in Fig. 2. In the disc TOC recording area DTOC, the disc table of contents information (Disc TOC) is defined, representing the recording contents of the data recording medium. The syntax Disc TOC( ) is as shown in Fig. 3. The disc TOC information (Disc TOC), recorded in the disc TOC information area DTOC, includes "dvd_signature" which defines a digital video disc and is an 8-byte string as prescribed in the ISO646 standard. The "dvd_version" identifies the digital video disc version and is a 4-byte string as prescribed in ISO646. "Length" specifies the total number of sectors in the disc TOC recording area DTOC, "toc_type" defines the TOC type and has the value of "1" to represent DTOC (as opposed, for example, to PTOC). "Album ()" is a table which indicates that this disc is one of a set of discs and has the syntax shown in Fig. 4. "Catalogue ()" is a string of bits which specifies the product number that identifies the disc as a catalog disc, "number of programs (NOP)" specifies the total number of programs on the disc, "program_linkage_offset" is an offset specifying the number of bytes from the DTOC start position to the start position of the "program_linkage" section, "disc_track_offset" is an offset specifying the number of bytes from the DTOC start position to the start position of the "disc_ tracks" section, "program_toc_pointers offset" is an offset specifying the number of bytes from the DTOC start position to the start position of the "program_toc_pointers" section, "disc_ play_time_offset" is an offset specifying the number of bytes from the DTOC start position to the start position of the "disc_ play_time" section, "disc_name_offset" is an offset specifying the number of bytes from the DTOC start position to the start position of the "disc_name" section, "disc_date_offset" is an offset specifying the number of bytes from the DTOC start position to the start position of the "disc_date" section, "disc_ copyright_offset" is an offset specifying the number of bytes from the DTOC start position to the start position of the "disc_ copyright" section, and "disc_publisher_offset" is an offset specifying the number of bytes from the DTOC start position to the start position of the "disc_publisher" section. "Album ()" in the disc TOC information (Disc_toc ()) has the syntax shown in Fig. 4 in which "id_string" defines an album and is a 16-byte string as prescribed in ISO646, "discs_in_ album" specifies the total number of discs of the album and "disc_number" is the number of this particular disc in the album. "Catalogue ()" in the disc TOC information has the syntax shown in Fig. 5 wherein "catalogue_string" is a 16-byte string as prescribed in ISO646 defining its disc. "Program linkage ()" recorded in the disc TOC recording area contains linkage information between programs and has the syntax shown in Fig. 6. Here, "first_track_number" specifies the absolute track number of the leading track of the P'th program, "last_track_number" specifies the absolute track number of the last track of the P'th program, "first_track_lsa" specifies the logical sector address of the start position of the first track of the P'th program, "last_track_lsa" specifies the logical sector address of the beginning of the last track of the P'th program, "last_es_lsa" specifies the logical sector address of the last entry sector of the last track of the Path program, "last_program_las" specifies the logical sector address of the end position of the last track of the P'th program, and "program_ start_tc" is the start time code of the P'th program. The absolute track number is a track number unique to the track on the recording medium and corresponds to the serial track number for all programs, that is, from the beginning of the disc to the end. On the other hand, the relative track number begins with 1 in each program and is a track number unique only to that program. In the present embodiment, the contents of "program_ linkage ()" is not changed from path to path. However, in an alternative embodiment, the contents of "program linkage ()" may change from path to path, in which case it suffices if the number specified by "program_linkage ()" and the number specified by "program_linkage_offset" are set so as to be equal to the number of paths. As used herein, "path" means one of plural reproducing sequences of plural program portions. "Disc_tracks ()" recorded in the disc TOC recording area represents the information on each track for the programs in each of the tracks or paths on the disc, and has the syntax shown in Fig. 7. The "number_of_tracks" denotes the total number of tracks on the disc that are used in this path, "program_number" is the number of the program which contains this track, "track_ number" is an absolute track number of the track, "start_lsa" is the logical sector address of the start sector of the track, "last_lsa" is the logical sector address of the last sector of the track, "last_es_lsa" is the logical sector address of the last entry sector of the track and "track_playing_time" is the normal playing time of the track. Preferably, time information recorded in the disc TOC information area exhibits the syntax of Fig. 8, wherein hours, minutes and seconds are represented as: Hours = "tc_hours_1" and 10 + "tc_hours_2" Minutes = "tc_minutes_1" and 10 + "tc_minutes_2" Seconds = "tc_seconds_1" and 10 + "tc_seconds_2" "Program_toc pointers ()" is recorded in the disc TOC recording area DTOC to identify the leading logical sector address of each program TOC information recording area PTOC and exhibits the syntax of Fig. 9. "Program_toc_lsa" is the logical sector address of the leading sector of each program TOC information recording area PTOC. "Disc_play_times ()" recorded in the disc TOC information area DTOC represents the overall playing time for the entry disc and has the syntax of Fig. 10 "Disc_playing_time ()" is the total disc play time required in the path. "Disc_name ()" recorded in the disc TOC recording area DTOC, represents the name of the disc and has the syntax of Fig. 11. "Number_of_languages" denotes the number of languages in which the disc name is represented, "original_language_number" is the language number of the original language in which the disc is recorded, "language_code" is a three-letter character as prescribed in the ISO639-2 standard and "character_set_code" is an identification number of the character set used to represent the disc name. The "character_set_code" is shown in Fig. 12. "Disc_name_string_offset" in Fig. 11 specifies the number of bytes from the start position of "disc_name" to the first character of "disc_name_string ()", and "disc_name_string" is the data which actually specifies the disc name. "Disc_date ()" recorded in the disc TOC recording area DTOC specifies the date on which the disc was recorded and has the syntax of Fig. 13. "Disc_recording_date ()" identifies the recording date of the disc by "date ()" having the syntax shown in Fig. 14. "Disc_copyright ()" and "disc_publisher ()" are recorded in the DTOC area to provide copyright information and publisher information of the disc, and may be freely set as desired by the copyright owner and by the publisher for the particular recording contents on the disc. In the program TOC information recording areas PTOC1, PTOC2, PTOC3, ... PTOCN on the recording medium shown in Fig. 1, the program TOC information (Program TOC 1, Program TOC 2, Program TOC 3, ... Program TOC N) specifies the content of the respective program information recording areas PRG1, PRG2, PRG3, ...PRGN and is recorded in each respective program TOC area as "Program_toc ()" with the syntax shown in Fig. 15. In the syntax of Fig. 15, "dvd_signature" defines a digital video disc and is an 8-byte string as prescribed in the ISO646 standard. "Dvd_version" specifies the version of the digital video disc and is a 4-byte string as prescribed in ISO646. "Length" specifies the total number of sectors in the program TOC information recording area PTOC, "toc_type" defines the TOC type and for the program type TOC (i.e., PTOC) has a value of "2". "Number_of_tracks" represents the total number of tracks of the program, "program_start_lsa" identifies the logical sector address of the program start position, "program_tracks_ offset" is an offset specifying the number of bytes from the start position of "Program_toc ()" up to "program_tracks ()" of a path i. "Elementary stream_info_offset" is an offset specifying the number of bytes from the start position of "Program_toc ()" up to "elementary_stream info ()", "program_play_times_offset" is an offset specifying the number of bytes from the start position of "Program_toc()" up to "program_play_times ()", "program_name_offset" is an offset specifying the number of bytes from the start position of "Program_toc ()" up to "program_name ()", "track_names_offset" is an offset specifying the number of bytes from the start position of "Program toc ()" up to "track_ names ()", "track_dates_offset" is an offset specifying the number of bytes from the start position of "Program_toc ()" up to "track_dates ()", "program_copyright_offset" is an offset specifying the number of bytes from the start position of "Program_toc ()" up to "program_copyright ()," and "program_ publisher_offset" is an offset specifying the number of bytes from the start position of "Program_toc ()" up to "program_ publisher ()". The program TOC information includes a "program purpose" area shown in Fig. 15 as "for (i=0; i <8; i++)" and this program purpose area includes areas in which a variety of information data are defined, as shown by the syntax of Fig. 16. Here, "number_of_path_tracks" denotes the total number of tracks employed in the path i, "start_rsa" is a relative sector address of the start position of the track, "last_rsa" is the relative sector address of the last sector of the track, "last_es_rsa" is a relative sector address of the last entry sector of the track and "track_playing_time ()" is the normal playing time of the track. The relative sector address means the sector address as found with the leading sector of the program set to zero, that is with the leading sector as the starting point. The syntax of "track_playing_time ()" is as shown in "time ()", Fig. 8. The program purpose area of Fig. 15 also includes "entry_points ()" which identifies the relative sector address of the entry point in the reproducing sequence of the program in each path. 4 bytes are used for each entry point. "Program_play_times" specify the total reproducing time of the program in a given path and exhibits the syntax shown in Fig. 17. "Program name ()" has the contents shown by the syntax of Fig. 18. Here, "number_of_languages" is the number of languages in which the program name is represented, "original_ language_number" is the language number of the original language of the program, "language_code" is a three-letter character as prescribed in the ISO639-2 standard, "character_set_code" is an identification number of the character set used to represent the disc name, and "program_name_string ()" is the program name. Returning to the program TOC information ("program_TOC ( )") shown in Fig. 15, "track_name" represents the name of each track in the program, as shown by the syntax of Fig. 19. The "track_name" syntax includes "number_of_languages" to specify the number of languages in which the track name is stated, "original_ language_number" identifies the language number of the original language of the track, "language_code" is a three-letter character as prescribed in IS0639-2, "character_set_code" is an identification number of the character set used for representing the track name; "track_name_string_offset" is an offset specifying the number of bytes from the start position of the "track_names ()" table up to the first character of "track_name_ string ()", wherein the track name is specified. The program TOC information additionally includes "program_date ( )" which represents the disc recording dates by "program_recording_date ()", as shown by the syntax of Fig. 20. The program TOC information also includes "track_dates" which represent the track recording dates by "track_recording_ date()", as shown by the syntax of Fig. 21. If, in "track_names ()" and "track_dates ()", there exist plural reproducing sequences (paths), only one "track_ names ()" and only one "track_dates ()" are used in a program without regard to the different paths that may be used. However, if the track names or the recording dates differ in each pass, a number of "track_names ()" and "track_dates ()" equal to the number of the paths are recorded. The program TOC information recording area PTOC further includes "program_copyright ()" and "program_publisher ()" which represent information relating to the copyright and the publisher of the respective programs. The specific recording contents may be selected by the copyright owner and the publisher as desired and at their discretion. If three programs PGM1, PGM2 and PGM3 are recorded in an embodiment of the invention, as shown for example in Fig.22, the digital moving picture data and the audio data of the respective programs PGM1, PGM2 and PGM3 are divided into packets with each packet being thought of as a unit. Plural entry points at which accessing may begin are set in the bit stream which is then time-division multiplexed in a self-completed fashion. The digital moving picture and audio data packets of one program are recorded as the time division multiplexed bit stream in an area on the recording medium. In "program_linkage ()" shown in Fig.6, the logical sector address A of the start position of the leading track of each program is the "first_track_lsa", the logical sector address B of the start position of the last track of each program is the "last_track_lsa", the logical sector address C of the last entry sector of the last track of each program is the "last_es_lsa", and the logical sector address D of the end position of the last track of each program is the "last _program_ lsa" as shown in Fig.22. Thus, the position information data A to D are recorded on the disc TOC recording area DTOC. By recording the start position information A and the end position information D of the programs PGM1, PGM2 and PGM3 as well as the position information A, C of the first and last entry points of each program, the reproducing system with which the disc is used can perform normal reproduction and fast forward reproduction using the position information data A and D as jump points of the respective programs PGM1, PGM2 and PGM3. For example, and as shown in Fig.22, forward reproduction is started at the logical sector address A at the start position of the leading track of the program PGM1 and continues to the logical sector address D of the end position of the last track of the program PGM1. Then by jumping to the logical sector address A of the start position of the leading track of the program PGM2, which is to be reproduced next, the program PGM2 then may be reproduced in the forward direction until the logical sector address D which is the end position of the last track of the program PGM2. Thereafter, by jumping to the logical sector address A of the start position of the leading track of the program PGM3 which is to be reproduced next, the program PGM3 is reproduced in the forward direction. In this manner, the programs PGM1, PGM2 and PGM3 may be reproduced consecutively. Fast-feed reproduction in the reverse direction may also be performed using the position information data A and C as the jump points of the programs PGM1 to PGM3. That is, reverse reproduction is started at the logical sector address C of the last track of the program PGM3 and continues to the logical sector address A of the leading track of the program PGM3. Then, by jumping to the logical sector address C of the last entry sector of the last track of the program PGM2 which is to be reproduced next, the program PGM2 is reproduced in the reverse direction, up until the logical sector address A at the leading position of the leading track of the program PGM2. Then, by jumping from the logical sector address A of program PGM2 to the logical sector address C of the last entry section of the last track of the program PGM1 which is to be reproduced next, the programs PGM3, PGM2 and PGM1 may be reproduced in the reverse direction. For forward track search, the leading ends of the tracks of the program PGM1 are sequentially searched for accessing the logical sector address A at the start position of the leading track of the program PGM2. Similarly, the leading ends of the tracks of the program PGM2 are sequentially searched for accessing the logical sector address A at the start position of the leading track of the program PGM3. Hence, the programs PGM1, PGM2 and PGM3 are searched consecutively in the forward direction. For reverse track search, the leading ends of the tracks of the program PGM3 are sequentially searched in the reverse direction for accessing the logical sector address B which contains the start position of the last track of the program PGM2. Similarly, the leading ends of the track of the program PGM2 are sequentially searched in the reverse direction for accessing the logical sector address B which contains the start position of the last track of the program PGM1; and the tracks of the program PGM1 are sequentially searched in the reverse direction. Thus, the programs PGM1, PGM2 and PGM3 are searched consecutively in the reverse direction. If a program has plural reproducing sequences (paths), it is advantageous to identify the same positions of the first and last entry sectors and the same position of the last sector in the program for all paths in that program, as shown in Fig.23. In this case, the programs PGM1 and PGM2 may be consecutively reproduced by path 1 as well as by path 2 simply by recording one set of the three position identifying addresses A, B and C for each program. By specifying that a given program has only one logical sector address B which contains the start position of the last track of that program without regard to the paths, the programs PGM1, PGM2 and PGM3 may be reproduced consecutively. Entry point sector identification is particularly useful in accessing entry points of video pictures that are recorded in compressed form in accordance with the MPEG standard. Briefly, in MPEG video, moving pictures are processed as a unit consisting of a group-of-pictures (GOPs). The GOP is made up of a plurality of intra-coded pictures (or I-pictures) and intercoded pictures (or P- or B-pictures). Since the first picture in each GOP is necessarily an I-picture, only the I-pictures are decoded and reproduced for fast search. In the MPEG standard, the number of pictures contained in a GOP can be varied. On the other hand, if the number of pictures in the GOP is fixed, the beginning of the GOP becomes random if the moving pictures are recorded at a variable rate on the recording medium. To account for this, an entry packet is provided directly before the packet in which the first I-picture of the GOP is present, and a flag is set in this entry packet to properly identify it. The distance or position with respect to three forward and backward entry points is recorded in this entry packet. For searching, only the I-pictures are decoded, and I-pictures are recovered, by accessing the next entry point which follows the current entry point and then decoding only the I-pictures therefrom. For fast searching, only every n-th entry point is accessed. Although entry points may be represented by entry packets, entry points can be defined by adding suitable identification codes to the usual data packets. In the present embodiment,Program System Directory (PSD) and Program Stream Map (PSM), as defined in the MPEG System (ISO(3818-1)), are used, and a sector (entry point) recorded in both the PSD and the PSM is termed an entry sector. Data recording apparatus which embodies the present invention now will be explained in conjunction with Fig.24. Here, video data and speech data are separately packetized and time-division multiplexed for recording by, for example, a cutting machine 54 on a disc 60. Video signals supplied from an external source are encoded by a video encoder 1. Similarly, audio signals supplied from an external source are encoded by an audio encoder 2. Outputs of the video encoder 1 and the audio encoder 2 are supplied to a multiplexer 13 whose output terminal is connected to a digital storage medium (DSM) 10 for temporarily storing the encoded video and audio data. An output of the DSM 10 is supplied to a table-of-contents (TOC) appending circuit 50 whereby TOC data is appended to the leading portion of the data stream. The TOC appending circuit has its output connected to a sector header appending circuit 51 whose output is, in turn, coupled to an ECC encoder 52 which supplies ECC encoded data to a modulation circuit 53, from which the modulated data is coupled to cutting machine 54 for cutting the optical disc 60. The TOC appending circuit 50 is supplied with TOC data from a TOC generating circuit 56, the TOC data being a function of the output of an entry point storage device 35 provided in multiplexer 13, as shown in Fig.25. Compression-encoded video signals are supplied via an entry point detection circuit 23 to a code buffer 25 in multiplexer 13. Compression encoded audio signals are supplied directly to a code buffer 26. Code buffer 24 has its output terminal connected to an input terminal E1 of switching circuit 27, and code buffer 26 has its output terminal connected to an input terminal E2 of the switching circuit. Switching circuit 27 has its output terminal F connected to an input terminal of a header appending circuit 28, the output of which is coupled to digital storage medium (DSM) 10. The DSM may be a magnetooptical disc, a magnetic disc, or the like. A controller 30 is responsive to system clock signals supplied by a multiplexing system clock generating circuit 31 to connect output terminal F of switching circuit 27 to input terminals E1 and E2 thereof at pre-set periods and thereby time-division multiplex the video and audio data from the code buffers 24, 26. The resulting multiplexed data is output to the header appending circuit 28. The controller controls the switching circuit and the header appending circuit for generating an MPEG bit stream. An entry point generating circuit 32 is responsive to a control input from controller 30 to transmit entry point data to an input terminal E3 of switching circuit 27. The controller controls header appending circuit 28 to append a video packet header to video data read out from the code buffer 24 and to append an audio packet header to audio data read out from the code buffer 26. The controller responds to an entry point generating signal generated at I-picture timing by the video encoder 1, or to the detection of an entry point by entry point detection circuit 23 to control entry point generating circuit 32 to insert the PSD and the PSM into pre-set positions in the video data bit stream, for example, at a position which directly precedes the video entry point. That is, on reception of the entry point generating signal, controller 30 causes the entry point generating circuit to generate the PSD and PSM and causes the switching circuit 27 to connect output terminal F to input terminal E3 for routing the PSD and PSM to header appending circuit 28. As a result, the PSD and PSM are multiplexed with video data and audio data from the code buffers 24, 26. In the PSD of each entry point, the positions of the third forward, second forward, directly forward, directly backward, second backward and third backward entry points are recorded in three offsets prev_directory and three offsets next_ directory offset. The positions of the previous forward entry points, specifically the third forward, second forward and directly forward entry points, may be stored in an entry point storage device 35 so that these entry point positions are known at the time of recording the current entry point positions. These positions may be supplied to the DSM for recording on the disc. However, the positions of the backward or future entry points are not known at the current time points of the program being recorded. Preferably, therefore, the controller causes all of the entry point positions to be stored in entry point storage device 35. After the end of the multiplexing operation, that is after recording the bit stream of the video data and the audio data in their entirety, controller 30 causes the positions of the third forward, second forward, directly forward, directly backward, second backward and third backward entry points to be read out from entry point storage device 35 to DSM 10 for post-recording these entry point positions on the disc. A rating addition circuit 33 transmits information specifying the reproducing sequence in a particular path of reproducing the entry points and this information is recorded in the PSM. The reproducing sequences of entry points in accordance with the respective paths are programmed in the rating addition circuit 33 by a contents producer, that is by a copyright owner or a publisher, in a manner not shown. When the inputs to video encoder 1 and audio encoder 2 have ceased, position data are recorded at the entry point positions which have already been recorded on the disc. That is, controller 30 reads out the positions of the entry points from entry point storage device 35 and writes the three forward entry points and the three backward entry points at those entry points in DSM 10. A TOC data generating circuit 56 arranges the entry point data supplied from entry point storage device 35 in the correct order as TOC data. The TOC data identifies entry point positions, each entry point being represented by, for example, a four-byte sector address. The TOC data, thus prepared by TOC data generating circuit 56, is transmitted to TOC appending circuit 50 (Fig.24) and outputted to sector header appending circuit 51 to temporally precede the multiplexed data read out from DSM 10. The multiplexed data is read out from DSM 10 via TOC appending circuit 50 to sector header appending circuit 51 temporally after the TOC data. Valid data in each sector comprises 2048 bytes, and the sector header is formed of 16 bytes. The sector header identifies the number of the sector. The sector header appending circuit divides the input data supplied thereto into units of 2048 bytes and appends a 16-byte sector header to each 2048-byte unit. The sector number is recorded at this time into a predetermined portion of the sector header. The output of sector header appending circuit 51 is supplied to ECC encoder 52 which appends a pre-set amount of error correction codes (parity) to the data supplied thereto and outputs the ECC-encoded data to modulator 53. for recording on optical disc 60.. The recording of TOC data, video data and audio data preferably is carried out as explained. However, if the recording medium on which this data is recorded is accessed by and useable with a computer system, files related to the computer program, such as a computer data file or a file system, may be recorded in addition to the TOC data, video data and audio data. The recording positions of these files may be enumerated at positions ahead of PVD, between PVD and DTOC, between PTOCs, between PTOC and PGM, between PGMs or by positions at the back of the PGM. Since the starting positions of the DTOC, PTOC and PGM are variable, the recording positions may be varied depending on the size of the file of the computer system. Data reproducing apparatus which embodies the present invention now will be explained in conjunction with Fig.26. When optical disc 60 is inserted in the data reproducing apparatus, a controller 67 issues a command to a driving controller 69 for reading out the leading sector, and controller 69 drives a pickup 61 by a tracking servo control circuit 70 to begin reproduction from the leading sector on the disc. Pickup 61 projects a laser light beam onto optical disc 60 to reproduce data recorded thereon which is recovered from the reflected beam. The playback signal outputted by the pickup is coupled to a demodulation circuit 62 and the demodulated data string is supplied to an ECC circuit 63 for data error detection and correction. The error-corrected data is applied to a demultiplexer 64 which includes a header separation circuit 64A and a switching circuit 64B. As discussed above, the leading sector contains the TOC information, which is separated by the header separation circuit 64A and fed to controller 67. The controller 67 causes the TOC information to be stored in a TOC storage device 68 for display to the user via a display unit, not shown. In response to user commands, controller 67 issues suitable commands to driving controller 69 for initiating playback operations. The driving controller drives pickup 61 via tracking servo circuit 70 to commence reproduction from a position on the disc 60 selected by the user. The controller also issues commands to a video decoder 65 and to an audio decoder 66 for readying the decoding of reproduced data. Header separation circuit 64A also separates the pack header, packet header, PSD and PSM from the data supplied by ECC circuit 63 and couples the separated data to controller 67. The time-division multiplexed data is supplied through the header separation circuit to the input terminal G of switching circuit 64B. The switching circuit has output terminals H1 and H2 connected to input terminals of video decoder 65 and audio decoder 66, respectively. Controller 67 senses the entry point information from data supplied thereto by demultiplexer 64 and writes such entry point information into an entry point storage device 71. The controller is supplied with information representing the current readout position by drive controller 69, and hence is capable of storing the positions of the entry points. The controller sequentially couples the input terminal G to the output terminals H1, H2 of switching circuit 64B in accordance with "stream_id" of the packet header supplied from header separator 64A for correctly separating the time-division multiplexed data and thereby supply the video data and the audio data to video decoder 65 and audio decoder 66, respectively. The manner in which the data reproducing apparatus reproduces the recording medium, having stored therein plural paths, is now explained. Controller 67 monitors the header separator 64A of demultiplexer 64, and if program stream map "Program_stream_map" detected, the controller checks whether the "Program_stream_map" specifies the reproducing sequence of the entry points in respective paths, and issues an accessing command to drive control circuit 69 to reproduce the recorded programs in the specified reproducing sequence. Sequential reproduction (i.e. consecutive reproduction) of programs, continuous fast forward reproduction (FF) of programs, consecutive forward reproduction (FR) of programs and consecutive forward and reverse track search of programs, are carried out as explained above in conjunction with Fig. 22. That is, controller 67 senses from "Disc_toc ()" stored in TOC storage device 68, the first entry point position, the last sector position the last entry point position and the last track position of each program stored in "program_linkage ()", and compares this position information to the current position information supplied from drive control circuit 69 to detect when the boundary of each program is reached. The controller senses the position of the first entry point of each program to be accessed and issues respective accessing commands to the driving control circuit to access the first entry point position, the last sector position, the last entry point position and the last track position of each program to be accessed next in each reproducing mode. Thus, sequential reproduction (consecutive reproduction), also known as normal reproduction between programs, continuous fast forward reproduction (FF) of programs, consecutive forward reproduction (FR) of programs and consecutive forward and reverse track search of programs may be carried out as desired by the user. Since normal reproduction, special reproduction (FF, FR) and track accessing may be carried out as described above, the reproducing apparatus shown in Fig. 26 is able to skip files otherwise needed to constitute a computer program file, computer data file or a file system in order to gain access to the picture and video data (program) and even though such files are recorded between PVD, DTOC, each PTOC and each PGM and before and after PVD, DTOC, each PTOC and each PGM, thereby expediting the accessing operation. Therefore, consecutive reproduction operations may be effected without the user becoming conscious of the program-to-program boundary. Also, program accessing may be expedited since the files of the computer system may be arranged at optimum positions on the recording medium. Although it has been stated above that the files of the computer system may be freely positioned between, before or after each PVD, DTOC, each PTOC and each PGM, this may not be necessary. That is, sufficiently expedited accessing from the computer system is expected if the files simply are allocated between or before or after each PVD, each DTOC and each PTOC, so long as data other than video and audio data (program) are not disposed between the respective PGMs. This reduces the jump distance between programs employing "program_linkage ()", that is jumps can be completed in a shorter time. In the present embodiment, information concerning each program, for example, each track start position or each entry point position in the program, is recorded as a relative sector address from the leading end of the program. The absolute track number unique for the disc is recorded only in Disc_ toc(), while the track numbers recorded in Program_ toc() are relative track numbers which begin at the first program start position. The linking information between programs is recorded in Disc_ toc() without being placed in the program or in Program_toc(). By designing the program and Program toc() in a self-complete manner, that is, by avoiding dependency on the absolute position on the recording medium and by providing a structure not affected by the presence, position or attributes of other programs on the recording medium, program-based re-utilization, program-based addition or deletion and an inter-program reproducing sequence can be performed easily. For example, data previously prepared as a program may be copied on a new recording medium in an arbitrary sequence in conformity to the purpose of using or playing that program, and only Disc toc () and program_start_lsa field of each program_toc need be newly prepared for completing the new recording medium. In addition, the program reproducing sequence may be modified simply by changing program_linkage () or disc_tracks () of Disc toc () of a previously formed recording medium without modifying the program or Program_toc.

Claims: A method of recording moving picture data and audio data presented as a time division multiplexed bit stream comprising a plurality of packets, said bit stream being split to form self-complete programs which are recorded on a recording medium, said method comprising the steps of: defining a plurality of start access entry points for said bit stream representing start entry points of said programs at which said programs are accessible; recording said programs and said start access entry points on said recording medium wherein each program is recorded in a respective area containing plural tracks; and recording program linkage information comprising address data specifying absolute positions on said recording medium pertaining to a start position of a leading track (A), a start position of a last track (B), a last start access entry point of the last track (C) and an end position of the last track (D) for each of said programs in a predetermined area containing plural tracks on said recording medium. The method of claim 1, wherein said program linkage information comprises a start time code for each of said programs. The method of claim 1, comprising the step of recording program contents information which includes relative sector addresses for predetermined positions in each of said programs measured from the leading end of the respective program in a predetermined area on said recording medium. The method according to claim 1, wherein said program linkage information is recorded on a separate area on said recording medium from the area on which said programs are recorded. The method according to claim 3 or claim 4, wherein said program linkage information is recorded in a separate area on said recording medium from the area on which said program contents information is recorded. The method according to any one of the above claims, wherein only audio or video data is recorded on said recording medium between respective programs. The method according to any one of the above claims, comprising the step of recording information corresponding to a computer program file, computer data file or a file system on an area of said recording medium outside the area on which any one of said programs is recorded and the area on which said program linkage information is recorded. An apparatus (24) for recording programs formed of moving picture data and audio data presented as a time division multiplexed bit stream comprising a plurality of packets, said bit stream being split to form self-complete programs which are recorded on a recording medium, said apparatus comprising: means (13) for dividing said picture data and said audio data to form said packets; entry point generating means (32) for generating a plurality of start access entry points for said bit stream representing start entry points of said programs at which said programs are accessible; means (54) for recording the bit stream of each of said self-complete programs in a respective area on said recording medium containing plural tracks; means (50, 54, 56) for recording program linkage information comprising address data specifying absolute positions on said recording medium pertaining to a start position of a leading track (A), a start position of a last track (B), a last start access entry point of the last track (C) and an end position of the last track (D) for each of said programs in a predetermined area on said recording medium, containing plural tracks; means (10, 30, 35, 54) for recording start access entry points on said recording medium. The apparatus of claim 8, wherein said program linkage information includes a start time for each of said programs and wherein said recording means is operable to record a start time code for each of said programs in said predetermined area on said recording medium. The apparatus according to claim 8 or claim 9, comprising means for recording program contents information comprising relative sector addresses for predetermined positions in each of said programs measured from the leading end of the respective program in a predetermined area on said recording medium. The apparatus according to any one of claims 8 to 10, wherein said program linkage information is recorded in a separate area on said recording medium from the area on which said programs are recorded. The apparatus according to claim 10 or claim 11, wherein said program linkage information is recorded in a separate area on said recording medium from the area on which said program contents information is recorded. The apparatus according to any one of the claims 8 to 12 wherein only audio or video data is recorded on said recording medium between respective programs. The apparatus according to any one of claims 8 to 13 comprising the step of recording information corresponding to a computer program file, computer data file or a file system, on an area of said recording medium outside the area on which any one of said programs is recorded and the area on which said program linkage information is recorded. A data recording medium having recorded thereon moving picture data and audio data in the form of a time division multiplexed bit stream, comprising a plurality of packets, said bit stream being split to form self-complete programs, said data recording medium further having recorded thereon: a plurality of start access entry points for each of said programs at which the respective program is accessible, each said program being recorded in a respective area containing plural tracks; and program linkage information comprising address data specifying absolute positions on said recording medium pertaining to a start position of a leading track (A), a start position of a last track (B), a last start access entry point of the last track (C) and an end position of the last track (D) for each of said programs. The data recording medium according to claim 15, wherein said program linkage information comprises a start time code for each of said programs. The data recording medium according to claim 15 or claim 16, wherein program contents information comprising relative sector addresses for predetermined positions in each of said programs measured from the leading end of the respective program is recorded in a predetermined area on said recording medium. The data recording medium according to any one of claims 15 to 17, wherein said program linkage information is recorded on a separate area on said recording medium from the area on which said programs are recorded. The data recording medium according to claim 17 or claim 18, wherein said program linkage information is recorded in a separate area on said recording medium from the area on which said program contents information is recorded. The data recording medium according to any one of claims 15 to 19, wherein only audio or video data is recorded on said recording medium between respective programs. The data recording medium according to any one of claims 15 to 20, wherein recording information corresponding to a computer program file, computer data file or a file system is recorded on an area of said recording medium outside the area on which any one of said programs is recorded and the area on which said program linkage information is recorded. A method of reproducing programs from a recording medium, each program having moving picture data and audio data recorded in the form of a time division multiplexed bit stream comprising a plurality of packets, said bit stream being split to form self-complete programs and the recording medium having recorded thereon a plurality of start access entry points for each of said programs at which the respective program is accessible and program linkage information comprising address data specifying absolute positions on said recording medium pertaining to a start position of a leading track (A), a start position of a last track (B), a last start access entry point of the last track (C) and an end position of the last track (D) for each of said programs in a predetermined area on said recording medium containing plural tracks, said method comprising the steps of: generating an access command for accessing said access entry points of said program linkage information according to reproducing sequences; reading the time division multiplexed bit stream from an access point on the recording medium determined by said access command; separating the moving picture packets and the audio packets from the read bit stream; and decoding said moving picture data and audio data from the separated moving picture and audio packets, respectively. The method according to claim 22, wherein said recording medium includes at least one area thereon on which is recorded a start time code of a respective program and further comprising the steps of reading a start time code from said area and reproducing a program corresponding to the read start time code. The method according to claim 22 or claim 23, wherein said step of reading the time division multiplexed bit stream from an access point comprises reading said program linkage information data from said predetermined area on said recording medium and reproducing a program recorded between said leading track and said last track. The method according to any one of claims 22 to 24, wherein said programs are reproduced using program contents information recorded in a predetermined area on said recording medium, said program contents information comprising relative sector addresses for predetermined positions in each of said programs, said predetermined positions being measured from the leading end of the respective program. The method according to any one of claims 22 to 25, wherein said program. linkage information is recorded on a separate area on said recording medium from the area on which said programs are recorded. The method according to claim 25 or claim 26, wherein said program linkage information is recorded in a separate area on said recording medium from the area on which said program contents information is recorded. The method according to any one of claims 22 to 27, wherein only audio or video data is recorded on said recording medium between respective programs. The method according to any one of claims 22 to 28 wherein, information corresponding to a computer program file, computer data file or a file system is recorded on an area of said recording medium outside the area on which any one of said programs is recorded and the area on which said program linkage information is recorded. An apparatus (64) for reproducing programs from a recording medium, each program having moving picture data and audio data recorded in the form of a time division multiplexed bit stream comprising a plurality of packets, said bit stream being split to form self-complete programs and the recording medium having recorded thereon a plurality of start access entry points for each of said programs at which the respective program is accessible and program linkage information comprising address data specifying absolute positions on said recording medium pertaining to a start position of a leading track (A), a start position of a last track (B), a last start access entry point of the last track (C) and an end position of the last track (D) for each of said programs in a predetermined area containing plural tracks on said recording medium, said apparatus comprising: access command generating means (67) for generating an access command to access said access entry points of said program linkage information according to reproducing sequences; read-out means (61, 69, 70) for reading the time division multiplexed bit stream from an access point on the recording medium determined by said access command; separating means (64A, 64B) for separating the moving picture packets and the audio packets from the read-out bit stream; and decoding means (65, 66) for decoding said moving picture data and said audio data from the separated moving picture and audio packets, respectively. The reproducing apparatus according to claim 30, wherein said recording medium includes at least one area thereon on which is recorded a start time code of a respective program and further comprising the steps of reading a start time code from said area and reproducing a program corresponding to the read start time code. The reproducing apparatus according to claim 30 or claim 31, wherein said read-out means reads said program linkage information data from said predetermined area on said recording medium and reproduces a program recorded between said leading track and said last track. The reproducing apparatus according to any one of claims 30 to 32, wherein said programs are reproduced using program contents information comprising relative sector addresses for predetermined positions in each of said programs, measured from the leading end of the respective program, and said program contents information is recorded in a predetermined area on said recording medium. The reproducing apparatus according to any one of claims 30 to 33, wherein said program linkage information is recorded on a separate area on said recording medium from the area on which said programs are recorded. The reproducing apparatus according to claim 33 or claim 34, wherein said program linkage information is recorded in a separate area on said recording medium from the area on which said program contents information is recorded. The reproducing apparatus according to any one of claims 30 to 35, wherein only audio or video data is recorded on said recording medium between respective programs. The method according to any one of claims 30 to 36, wherein information corresponding to a computer program file, computer data file or a file system is recorded on an area of said recording medium outside the area on which any one of said programs is recorded and the area on which said program linkage information is recorded.

Inventors: FUJINAMI YASUSHI, KAWAMURA MAKOTO, FUJINAMI, YASUSHI, KAWAMURA, MAKOTO, Fujinami, Yasushi, c/o Sony Corporation, Kawamura, Makoto, c/o Sony Corporation
Applicants: SONY CORP, SONY CORPORATION
Application year: 1996
Main classification: G11B27
IPC codes: G11B27, H04N5, G11B20