Apparatus and method for encoding digital video data

Abstract: Digital video data encoder and decoder operate to enable the low and high speed reproduction of variable rate encoded digital video data by reproducing and decoding intraframe encoded frames that are identified by previously reproduced intraframe encoded frames. In the encoder, digital video data is riable rate encoded (1), for example, intraframe and interframe encoded, entry points (i.e., beginning positions) of selected encoded video data are identified and which represent video frames that occur at predetermined intervals of time (e.g., 1, 2 and 4 seconds) in the video picture. Entry point data that identify these positions are generated (31, 8, 33) and added (32, 6) to the encoded video data before the video data is recorded on the record medium (DSM). When the encoded data is reproduced from the record medium, the entry point data is extracted therefrom and stored, and a successive intraframe encoded frame identified by the extracted entry point data is reproduced and decoded. The invention further provides for a record medium having thereon the encoded digital video data, and also provides for an encoder and corresponding decoder which encode and decode, respectively, digital still image and audio data in which entry points refer to each of the still images and also to particular intervals of time of the audio data.

Description: The present invention relates to a method and apparatus for encoding audio data including still image data. WO 94/07332 discloses a method and apparatus for encoding video data representing moving images and audio data. Video data and audio data are recorded in units of a pack onto a disk. A pack is constituted from 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 packet is disposed immediately prior to the video packet. In the entry packet, the positions of three prior and following packets are recorded. The position of the I-picture is detected from the data of the entry packet. This makes it possible to locate the access point rapidly to achieve searching. According to one aspect of the present invention, there is provided an apparatus for encoding a plurality of digital still images and audio data, comprising: means for variable rate encoding the plurality of digital still image data and audio data to produce variable rate encoded data; means for identifying entry points representing locations of the still images in said encoded data; means for generating entry point data identifying positions of the identified entry points in said encoded data; means for adding the generated entry point data to said encoded data; and means for recording the encoded data having the generated entry point data added thereto on a record medium, wherein the entry point data comprises a plurality of entry packets (B) which are recorded with the encoded data at predetermined temporal intervals of audio data, each one of the plurality of entry packets (B) identifying the position of a directly previous still image and a next following still image. According to another aspect of the present invention, there is provided a method of encoding a plurality of digital still image and audio data, comprising the steps of: variable rate encoding the plurality of digital still images and audio data to produce variable rate encoded data; identifying entry points representing locations of the still images in the encoded data; generating entry point data identifying positions of the identified entry points in the encoded data; adding the generated entry point data to the encoded data; and recording the encoded data having the generated entry point data added thereto on a record medium, wherein the entry point data comprises a plurality of entry packets (B) which are recorded with the encoded data at predetermined temporal intervals of audio data, each one of the plurality of entry packets (B) identifying the position of a directly previous still image and a next following still image. The following detailed description, given by way of example and not intended to limit the present invention solely thereto, will best be appreciated in conjunction with the accompanying drawings, wherein like reference numerals denote like elements and part, in which: Fig. 1 is a block diagram of illustrative apparatus for encoding digital video data; Fig. 2 illustrates the data structure of a data pack; Fig. 3 illustrates the data structure of an entry packet; Fig. 4 is a schematic illustration of the location of I-frames and selected entry points thereof in the data stream temporally occurring at various intervals of time; Fig. 5 is a flowchart of an illustrative method for detecting and recording the position of selected identified frames; Fig. 6 illustrates another data structure of a data pack; Fig. 7 is a table of the program stream directory of an entry sector; Fig. 8 is a table of the program stream map of an entry sector; Fig. 9 is a block diagram of another illustrative apparatus for encoding digital video data; Fig. 10 is a block diagram of illustrative apparatus for decoding digital video data; Fig. 11 illustrates the data structure of entry point data; Fig. 12 is a block diagram of illustrative apparatus for decoding digital video data reproduced from an illustrative record medium; Fig. 13 is a schematic illustration showing the locations in a data stream of still image and audio data identified by entry point in accordance with illustrative embodiments of the present invention; and Fig. 14 is another schematic illustration showing the locations of audio data identified by entry point data. Referring to the drawings, and particularly to Fig. 1 thereof, a block diagram of illustrative apparatus for encoding digital video data (hereinafter encoding apparatus) is shown. The encoding apparatus is shown as comprising a video encoder 1, and audio encoder 2, a multiplexing circuit 3 and a digital storage memory (DSM) 10. A digital video signal supplied to a video input terminal is supplied to video encoder 1 which compression encodes (i.e., intraframe and interframe encodes) the video signal in a manner well known in the art and which supplies the encoded video data to a video entry point detection circuit included in multiplexer 3. An digital audio signal supplied to an audio input terminal is supplied to audio encoder 2 which encodes the audio data therein in a manner well known in the art to produce packets of audio data and which supplies the packets of audio data to a code buffer 5 included in multiplexer 3. Video encoder 1 supplies to a controller 8 an entry point ID signal at each output from the video encoder of an I-frame (intracoded frame) of video data. Multiplexer 3 is comprised of code buffers 4 and 5, a switching circuit 6, a header appending circuit 7, controller 8, a multiplex system clock generator 9, video entry point detection circuit 31 (hereinafter entry point detector 31), an entry sector generating circuit 32 and an entry point storage memory 33. Entry point detector 31 detects the occurrence of an I-frame in the bit stream supplied thereto and supplies to controller 8 another entry point ID signal which indicates the occurrence of an I-frame. Although the entry point ID signals supplied to controller 8 from both video encoder 1 and entry point detector 31 are redundant signals, under certain circumstances, video encoder 1 will not generate the entry point ID signal, for example, as when pre-encoded video data is supplied thereto. Alternatively, video encoder 1 does not supplies the entry point ID signal to control 8. In either case, the occurrence of each I-frame in the bit stream output from entry point detector 31 and which is supplied to code buffer 4 is known. Code buffer 4 stores the bit stream data supplied thereto and outputs the stored data to a terminal E1 of switch 6. Similarly, code buffer 5 stores the packets of audio data therein and supplies the stored audio data to a terminal E2 of switch 6. Controller 8 functions to control switch 6 to switch between terminals E1 and E2 so as to time-divisionally multiplex packets of video and audio data. In addition, and in response to the occurrence of an I-frame as indicated by an entry point ID signal from either circuit 1 or 31, controller 8 controls entry sector generating circuit 32 to generate entry packet data (to be discussed) and controls switch 6 to switch to terminal E3 so as to effectively insert the generated entry packet data in the bit stream immediately prior to the I-frame. System clock generator 9 generates a system clock signal which is supplied to controller 8 which utilizes the supplied signal for purposes of controlling switch 6 to switch between its input terminals E1 - E3. Switch 6 supplies the time-divisionally multiplex data to header appending circuit 7 which, in response to a control signal from controller 8, adds a video packet header to the beginning of each packet of video data, adds an audio packet header to the beginning of each packet of audio data, and adds a pack header to each data pack. Header appending circuit 7 further appends a back header to each data pack so that each data pack is 2048 bytes long and supplies the resultant signal to digital storage memory DSM which stores the digital data therein. Entry point storage memory 33 stores therein position data relating to the detected entry points, that is, positions of selected I-frames output from code buffer 4. Entry point storage memory 33 is further discussed below. Fig. 2 illustrates the data structure of a data pack stored in DSM 10. As shown, the data pack includes a pack header followed by a video packet header, video data, an entry packet, another video packet header, video data, an audio packet header and audio data. The pack header includes various information including a pack start code, SCR data, multiplexing rate data, etc. The first video packet header and video data immediately following the pack header represent a packet of video data that does not include an I-frame therein since an entry packet has not been inserted before the first video packet header. However, an entry packet (also called entry data packet herein) precedes the next video packet header and, thus, the ensuing video data includes an I-frame. The data structure of an entry packet is shown in Fig. 3. The entry packet includes a packet start code prefix followed by the stream ID data of 0xhf (hexadecimal), length data which identifies the length (i.e., data amount) of the successive packet, "****" ID data (default is FFh) which indicates that the entry packet is specific for a particular person, "****" packet type which indicates the type of classification if the entry packet is specific for a particular person, "current# data streams" data which identifies the number of data sectors that occur before the next entry sector, "current# video streams" data which identifies the number of video sectors that occur before the next entry sector, and "current# audio streams" data which identifies the number of audio sectors that occur before the next entry sector. The entry packet further includes "-3", "-2", "-1", "+1", "+2" and "+3" entry packet data which identify the locations of 6 different "entry points" corresponding to the beginning positions of 6 different I-frames in the data stream. Referring to Fig. 4, a schematic illustration of successive I-frames in the encoded bit stream is shown (the P-frames and B-frames are not shown for convenience) wherein the entry packet stored with (i.e., immediately prior to) each I-frame identifies the locations of 6 different I-frames. The "-3", "-2" and "-1" entry packet data identify the beginning locations of 3 I-frames that occur at 3 different predetermined intervals of time prior to the I-frame in which the entry packet is stored. In addition, the "+1", "+2" and "+3" entry packet data identify the beginning locations of 3 I-frames that occur at the 3 different predetermined intervals of time after the I-frame in which the entry packet is stored. If the 3 different predetermined intervals of time are, for example, 1 second, 2 seconds and 4 seconds, respectively, then the entry packet stored with I-frame 109 identifies the relative locations (relative to I-frame 109) of I-frames 100, 103, 106, 112, 114 and 117, as shown in Fig. 4. As seen, frame 100 occurs 4 seconds before I-frame 109, frame 103 occurs 2 seconds before I-frame 109, frame 106 occurs 1 second before I-frame 109, I-frame 112 occurs 1 second after I-frame 109, I-frame 114 occurs 2 seconds after I-frame 109, and I-frame 117 occurs 4 seconds after I-frame 109. Similarly, the entry packet stored with I-frame 110 identify I-frames 108, 105 and 101 which occur 1, 2 and 4 seconds, respectively, before I-frame 110, and also identify I-frames 113, 116 and 119 which occur 1, 2 and 4 seconds, respectively, after I-frame 110. Each of the entry packet data "-3", "-2", ..., "+3" identifies the number of sectors between the current I-frame and the entry point (see Fig. 2) of the respective identified I-frame. The predetermined different intervals of time may be different from that shown in Fig. 4. For example, the intervals of time of 1, 3 and 9 seconds may be used. Further, the intervals of time may be varied depending on various properties of the video picture and may vary within the video picture itself. For example, time intervals may be relatively short for a group of images in which the motion therein is large and may be relatively large for a group of images if the motion therein is small. It is seen that by identifying entry points representing I-frames located at 3 different intervals of time from a given I-frame (both before and after), both low-speed searching and high-speed searching (and mid-speed searching) can be accomplished, as will be discussed. In addition, as the reproducing speed exponentially increases, for example, from a 10x to a 100x reproducing speed, it is preferable to use entry points (i.e., I-frames) that are located at exponentially increasing temporal distances from a given I-frame. For example, in a 100x reproducing mode, a predetermined time interval of approximately 4 seconds is chosen. At a 30 frame/second frame rate, there are 120 frames in 4 seconds, which is close enough to the desired 100x reproducing speed. However, a 3.3 second time interval can be used if greater precision is required. On the other hand, for very low reproducing search speeds, for example, in a 2x reproducing mode, sequential decoding of I-frames should suffice and, thus, use of entry points may not be necessary. Referring back to Fig. 1, an entry sector (i.e., entry packet), which includes the data shown in Fig. 3, is generated by entry sector generator 32 in response to the occurrence of an I-frame (i.e., current I-frame), as previously discussed. At the time the entry packet is generated, the entry packet data -3, -2 and -1 can be generated since the positions of I-frames that precede the current frame are known (i.e., they have already occurred in the bit stream). Entry point storage memory 33 stores the absolute positions of each entry point (i.e., the beginning of each I-frame) in the bit stream, and entry sector generator 32 is operable to generate relative position data identifying the 3 I-frames that occur before the current frame by using the absolute position of those I-frames stored in memory 33 and the known position of the current frame. However, the position of entry points corresponding to the beginning locations of I-frames that occur after the current frame are not known at the time the current frame is supplied to switch 6 (i.e., when it occurs in the bit stream). Thus, dummy data is established as entry packet data +1, +2 and +3 in entry sector generator 32 and the bit stream including the video and audio data and each of the entry packets (having the dummy data therein) is stored in DSM 10. At the end of the bit stream (i.e., after all of the video, audio and entry packets are stored in DSM 10), controller 8 ascertains the values of entry packet data +1, +2 and +3 for every one of the entry packets using the positions of each of the entry points (i.e., I-frames) stored in memory 33, and stores the entry packet data +1, +2 and +3 of every entry packet in the appropriate location of DSM 10. As previously mentioned, the digital video data may be variable-bit encoded (e.g., the frame pattern of a GOP is variable). In this case, an I-frame may not occur at constant intervals in the bit stream and, thus, if a desired interval of time is, for example, 1 second, the encoding apparatus cannot assume that the same number of frames (I, P and B-frames) occur between I-frames that are approximately 1 second apart from one another. It is therefore necessary to ensure that each I-frame to which entry packet data of a current frame refers is as close to the desired time interval as possible. Fig. 5 is a flowchart of an operation of controller 8 for identifying the appropriate I-frame to which each entry packet data refers. It is noted that controller 8 operates to execute the flowchart of Fig. 5 twice, once when the bit stream is being output from video encoder 1 and subsequently stored in DSM 10 to ascertain the positions of the entry points of I-frames that precede the current frame, and a second time after the bit stream is fully stored in DSM 10 so as to ascertain the positions of the entry points of I-frames that follow each current frame. A description of the first time execution of the flowchart of Fig. 5 will be provided. At the occurrence of an I-frame (i.e., current frame), the position (PCT) of a selected frame that precedes the current frame by 30 frames, which corresponds to a frame that occurs 1 second before the current frame, is ascertained at instruction S101. Since entry points should refer only to I-frames, inquiry S102 determines whether the selected frame is an I-frame. If the selected frame is an I-frame, the beginning position (i.e., the entry point) of the selected frame relative to the current frame is stored as the entry packet data -1 of the entry packet that is stored with (i.e., immediately preceding) the current frame at instruction S104. However, if the selected frame is not an I-frame, the position of a frame that is adjacent to (either before or after) the selected frame in the bit stream is selected as the new selected frame at instruction S103, and then it is determined if the new selected frame is an I-frame at inquiry S102. The result of steps of S102 and S103 is a selection of an I-frame that is closest in time to the desired 1 second time interval from the current frame. Next, the position (PCT) of a selected second frame that precedes the current frame by 60 frames, which corresponds to a frame that occurs 2 seconds before the current frame, is ascertained at instruction S105. Similar to inquiry S102 and instruction S103, inquiry S106 determines whether the selected second frame is an I-frame, and the position of a frame that is adjacent to the selected second frame in the bit stream is selected as the new selected second frame at instruction S107. When the selected second frame is an I-frame, the beginning position of the selected second frame relative to the current frame is stored as the entry packet data -2 of the entry packet of the current frame at instruction S108. Steps 109 through 112 operate in a similar fashion to both sets of steps S101 to S104 and steps S105 to S108, except that an I-frame that precedes the current frame by 120 frames initially is selected, which corresponds to a frame that occurs approximately 4 seconds before the current frame. The beginning position of the selected third frame relative to the current frame then is stored as the entry packet data -3 of the entry packet of the current frame at instruction S112. The operation of the flowchart of Fig. S is repeated after the entire bit stream is stored in DSM 10 to ascertain the positions of the entry points of I-frames that occur after the current frames. Although the flowchart of Fig. 5 provides for the re-selecting of a frame, in inquiries S103, S107 and S111, if an I-frame has not yet been selected, it is contemplated that the ultimate selection of an I-frame that occurs at a time interval from a current frame that is considerably different from a desired time interval may be undesirable. Therefore, for example I-frames that occur before or after the current I-frame by an amount of time that is different from the desired time interval by more than 10% are not referred to by the entry point data of the current I-frame. For example, for the desired time intervals of 1, 3 and 9 seconds, I-frames that occur at times less than 900 milliseconds (ms), 2700 ms and 9000 ms from the current I-frame are not referred to in entry packet data of the current frame. If the next entry point is the first I-picture of a GOP, the beginning of the GOP is detected by the group start code included in the GOP. An I-frame which appears first becomes the next entry point. Fig. 6 illustrates the data structure of the entry sector, that is, a data pack in which an I-frame is included. As shown, the entry sector includes a pack header which includes therein a pack start code, SCR data and MUX rate data. The pack header is followed by a program stream directory, a program stream map, a pack other than a video pack, a video packet header, video data including an I-frame, an audio packet header, and audio data. The data occurs in a pre-set sequence from the beginning of the sector, thus facilitating data handling. The program stream directory has a data structure defined by the MPEG standard and is used to specify an accessible position in the data stream. The program stream directory is shown in Fig. 7. A loop "A" in the stream is traversed seven times to record three "forward" and three "backward" I-frames as well as the entry points to the "backward" I-frames. "Forward" and "backward" I-frames herein refer to the I-frames that are identified in the data pack of a current frame. The program stream map is shown in Fig. 8 and, as shown, loops B and C therein include descriptors "()" for accommodating a variety of information data. Information data are included in the descriptors, for example, the number of streams or the information on elementary streams. Fig. 9 is a block diagram of another apparatus for encoding digital video data wherein a map information storage device 35 is included in multiplexer 3 which receives information from an external entry device (not shown). All elements of the apparatus of Fig. 9, except device 35, are included in the encoding apparatus of Fig. 1 and, therefore, description thereof is omitted herein. Information stored in device 35 is read therefrom and stored as an entry sector each time it constitutes an entry sector. If the information utilizes a future entry sector position, the entry sector position is read from device 33 after the entire bit stream is stored in DSM 10. Fig. 10 is a block diagram of illustrative apparatus for decoding digital video data. The decoding apparatus of Fig. 10 decodes data stored in DSM 10 having the data structure shown in Fig. 2. The decoding apparatus is comprised of a separation device 21, a video decoder 25 and an audio decoder 26. In response to control signals supplied from a controller 24, the encoded digital data is read from DSM 10 and supplied to a header separation circuit 22 which separates each pack header, each packet header and each entry packet from the read out data and supplies the separated data to controller 24. Header separation circuit 22 also supplies the time-divisionally multiplexed data to an input terminal G of a switching circuit 23 which demultiplexes the data (in response to a control signal from controller 24) by supplying video data therein to a terminal H1 and supplying audio data therein to a terminal H2. The video data is supplied to video decoder 25 and the audio data is supplied to audio decoder 26 which decode the respective data in manners well known in the art. Controller 24 supplies the entry packet data to entry point storage device 24 which stores the supplied data therein. DSM 10 supplies to controller 24 readout position information identifying the position in the bit stream of that data supplied to header separation circuit 24. The operation of the decoding apparatus of Fig. 10 operating in a search mode will now be described. A main controller (not shown) supplies appropriate control signals to controller 24, video decoder 25 and audio decoder 26 so that they operate in a particular search mode. Upon reproduction in the search mode, controller 24 controls DSM 10 to read out the closest I-frame identified by the data stored in device 41, if available. All of the entry points may be pre-stored (e.g., upon power-up) in device 41 (by reproducing the entire bit stream) prior to reproducing in the search mode. As previously discussed, an entry packet is located immediately before each I-frame and, thus, an I-frame is readably obtained. DSM 10 reads out the I-frame including the entry packet that is stored immediately therebefore. Separation device 21 along with video decoder 25 operate to decode the I-frame and supply the decoded image data at the video output terminal. While the decoding apparatus is in the search mode, the output of audio decoder 26 is muted. While decoding the read out I-frame, controller 24 ascertains the position in DSM 10 of the next I-frame to be read out. As previously discussed, the entry packet includes therein the positions of 6 different I-frames relative to the position of the currently read out I-frame, and depending on which search mode is selected, the position of one of those 6 different I-frames is ascertained in controller 24. In a low speed forward search mode, the position of the next I-frame to be reproduced is stored in entry packet data +1. In a high speed forward search mode, the position of the next I-frame to be reproduced is stored in entry packet data +3. In addition, low, medium and high reverse search speeds can be accomplished since the position of the next I-frame to be reproduced is stored in entry packet data -1, -2, and -3 respectively. Fig. 11 illustrates the data structure of an entry packet reproduced from DSM 10. Referring next to Fig. 12, a block diagram of another illustrative apparatus for decoding digital video data reproduced from an optical disk is shown. Digital data is picked up from an optical disk 60 by pickup device 61 in response to a control signal supplied from a tracking servo device 70. A controller 67 supplies a control command to a drive control circuit 69 which produces a drive signal and which supplies the drive signal to tracking servo device 70. A data pack is read from the optical disk and supplied to demodulation circuit 62 which demodulates the signal and supplies a demodulated signal to ECC circuit 63 which detects and corrects errors in the supplied signal. The signal then is supplied to demultiplexer 64 which supplies video data therein to a video decoder 65, supplies audio data therein to an audio decoder 66 and supplies TOC information to controller 67. TOC information generally is stored in the first reproduced sector. Controller 67 supplies the TOC information to TOC storage device 68 which stores the TOC information therein. Further, controller 67 causes a display (not shown) to indicate to a user that the TOC data is loaded. When the reproducing device shown in Fig. 12 begins reproducing video data (in response to an appropriate control signal), drive controller 69 drives via tracking servo circuit 70 the pickup device 61 to reproduce data from disk 60 at a position indicated by the user. At the same time, controller 67 controls video decoder 65 and audio decoder 66 to prepare for decoding. Data is reproduced from disk 60 in a manner well known in the art and the reproduced data is demodulated in circuit 62 and supplied to ECC circuit 63 which corrects errors therein. The error corrected data is supplied to demultiplexer 64 which, as previously stated, demultiplexes the data and supplies the video and audio data therein to video and audio decoders 65 and 66 which decode and output the respectively supplied data. In addition, demodulation circuit 62 supplies the demodulated reproduced data to an entry point detection circuit 90 which extracts entry point data (e.g., an entry packet) therefrom and supplies the extracted data to subcode CRC circuit 91 which corrects errors therein. The positions of the entry points of the I-frames identified in the entry point data are stored in entry point buffer 92. Controller 67 reads out the data of the next entry point from the entry point buffer 92 and supplies the read-out information to an entry point storage device 93 which stores the data therein. Controller 92 is supplied with the information on the current read-out position from drive controller 69 and, thus, the position and contents of the next entry points can be associatively stored in device 93. The operation of the reproducing and decoding apparatus of Fig. 12 operating in a search mode will now be described. Controller 67 controls video decoder 65 and audio decoder 66 so that they operate in a particular search mode. Upon reproduction in the search mode, controller 67 controls drive control 69 to cause pickup device 61 to read out the entry point that is located near the current read out position, as identified in device 93. Pickup device 61 reproduces data from the entry point and supplies via the various circuits the reproduced data to demultiplexer 64. Demultiplexer 64 supplies the video data to 'video decoder 65 which decodes and outputs the supplied data. While the reproducing and decoding apparatus of fig. 12 is in the search mode, the output of audio decoder 66 is muted. The entry point portions are separated from the data by entry point detection circuit 90 and stored in the entry point buffer 92 for retrieval by controller 67. As previously mentioned, since reproduction begins at the entry point, the ensuing video data is an I-frame which is quickly decoded and output. As previously discussed, the entry packet includes therein the positions of 6 different I-frames relative to the position of the currently read out frame, and depending on the search mode, the position of one of the 6 I-frames is ascertained in controller 24. This operation is similar to that described above with reference to Fig. 10. As discussed above, both motion video and audio data are included in the bit stream. The present invention involves a bit stream including still image and audio data. Fig. 13 is a schematic illustration showing the locations in a data stream of still image and audio data identified by entry point data in accordance with the present invention. Two different entry points A and B identify the locations of the beginning of still image data and audio data, respectively. An entry packet (A) is stored immediately prior to each still image, whereas an entry packet (B) is stored before predetermined temporal intervals of audio data in the bit stream. For example, entry sectors B are inserted in the bit stream representing audio intervals of time of 450 to 550ms. Alternatively, if entry sectors A are present at an interval equal to the interval of entry sectors B, entry sectors B may be omitted. Entry sector A has program stream directory data composed of three entries which specify an immediately previous still image, an immediately succeeding still image and the next succeeding still image, respectively. If the immediately previous still image and the next following still image are not present, zeros are recorded in the program stream directory data. The immediately succeeding still image cannot be absent, so that an offset is necessarily recorded. On the other hand, the entry sector B has program stream directory data made up of two entries which denote the directly previous still image and the next following still image. The above-discussed embodiment, wherein still image and audio data are transmitted in a bit stream, may be encoded by the encoding apparatus shown in Fig. 1, previously discussed. However, each still image in this embodiment is treated as an I-frame in the apparatus of Fig. 1. Referring back to Fig. 1, controller 8 receives an entry point generating signal from video encoder 1 or from video entry point detection circuit 31 and causes an entry sector A of the type corresponding to the still image to be generated and stored directly ahead of-the still image in the bit stream. If 450 to 550 milliseconds have elapsed without the generation of an entry point by entry sector generating circuit 32, an entry sector B that is not associated with a still image is generated and multiplexed onto the bit stream. The number of entries contained in the program stream directory data at this time becomes different. Entry sector A includes therein the positions of three entry sectors immediately preceding data of 3 still images, respectively. The positions correspond to a preceding still image to the current image and the two succeeding still images. However, entry sector B of the type not corresponding to the still image include the positions of two entry sectors that precede 2 still images, one still image being before the current image and one still image being after the current image. This data is stored as the program stream directory data. Similar to the positions of I-frames, previously discussed, the position of preceding entry sector positions are known and, thus, can be stored in storage device 33. However, the following entry sector positions are unknown. Thus, all entry point positions are stored in storage device 33 and after the entire bit stream is stored in DSM 10, the positions of the entry sectors of the next entry points directly previous and directly subsequent to each entry sector are read out and supplied to the DSM 10 for recording thereon. Since relatively few still images are recorded on a record medium, it is necessary for a reproducing apparatus to be able to readily identify the locations at which the images are recorded. For example, if reproduction begins at position P2 of Fig. 13, and the associated image for the audio data stored at P2 is at position P1, it is necessary for the reproducing apparatus to access position P1 so as to read out the still image data and then return to position P2 to reproduce the audio data. At this time, the reproducing apparatus is operated in such a manner that it searches the closest entry sector from a position designated for starting the reproduction. The entry sector begins with a pack header followed directly by program stream directory data, as shown in Fig. 6. The reproducing apparatus inspects the data contents from the position designated for reproduction and when a coincidence of the entry sector features is noticed, it causes the contents of the entry sector to be read out. The reproducing apparatus then comes to a halt. If there are three PSD entries, there is a still image directly at back, so that reproduction is continued. If there are two PSD entries, the associated still image is present in the past, so that it is necessary to read and decode the associated still image. The reproducing apparatus accesses using the directly previous still image from the read-out PSD. In the example of Fig. 13, the reproducing apparatus jumps from position P2 to position P1. The reproducing apparatus reads out, decodes and stores the corresponding still image before reverting back to the position P2 for starting the audio decoding. In this manner, correctly associated reproduction may be achieved in a stream containing both still image and audio data. Special reproduction on the still image is accomplished by utilizing the positions of previous still images and subsequent still images recorded in each entry sector. That is, in a special forward reproduction mode, the reproducing apparatus jumps to the position of the directly succeeding still image identified as the PSD data that is recorded in each entry sector. In a special reverse reproduction mode, the apparatus jumps to the position of the directly previous still image. Fig. 14 schematically illustrates a bit stream including only audio data. Audio entry sectors B are stored at intervals of 450 to 550 milliseconds in the audio data stream. The entry sector includes program stream directory data, but no video data is specified therein. Thus, the presence of program stream directory data specifies only the fact that the sector is an entry sector. Playback start enabling points are present substantially every sector. Thus, there is no meaning in recording the entry points and, hence, there is no PSD entry. However, the information of program stream map data is required for comprehending the stream status. Therefore, reproduction begins in general at an entry sector and reproduction begins after acquiring the information on program stream map data. While the present invention has been particularly shown and described in conjunction with preferred illustrative embodiments thereof, it will be readily appreciated by those of ordinary skill in the art that various changes may be made without departing from the spirit and scope of the invention. Therefore, it is intended that the appended claims be interpreted as including the embodiments described herein, the alternatives mentioned above, and all equivalents thereto.

Claims: Apparatus for encoding a bit stream of a plurality of digital still images and audio data, comprising: means (1,2) for variable rate encoding the bit stream of the plurality of digital still images and the audio data to produce variable rate encoded data; means (31) for identifying entry points representing locations of the still images in said encoded data; means (8,32) for generating entry point data identifying positions of the identified entry points in said encoded data; means (6,7) for adding the generated entry point data to said encoded data; and means for recording the encoded data having the generated entry point data added thereto on a record medium (10), wherein the entry point data comprises a plurality of entry packets (B) which are recorded with the encoded data at predetermined temporal intervals of audio data, each one of the plurality of entry packets (B) identifying the position of a directly previous still image and a next following still image. Apparatus according to claim 1, wherein the encoding means comprises: means (1) for encoding the digital still images; and means (2) for variable rate encoding the audio data. Apparatus according to claim 1 or 2, wherein the entry point data comprises entry packets (B) inserted in the encoded bit stream at predetermined temporal intervals of the audio data. Apparatus according to claim 3, wherein the entry point data comprises entry packets (A), where an entry packet (A) is inserted in the encoded bit stream immediately prior to each still image. Method of encoding a bit stream of a plurality of digital still images and audio data, comprising the steps of: variable rate encoding (1,2) the bit stream of the plurality of digital still images and audio data to produce variable rate encoded data; identifying (31) entry points representing locations of the still images in the encoded data; generating (8,32) entry point data identifying positions of the identified entry points in the encoded data; adding (6,7) the generated entry point data to the encoded data; and recording the encoded data having the generated entry point data added thereto on a record medium (10), wherein the entry point data comprises a plurality of entry packets (B) which are recorded with the encoded data at predetermined temporal intervals of audio data, each one of the plurality of entry packets (B) identifying the position of a directly previous still image and a next following still image. A method according to claim 5, wherein the encoding step comprises encoding (1) the digital still images; and variable rate (2) encoding the audio data. A method according to claim 5 or 6, wherein the entry point data comprises entry packets (B) inserted in the encoded bit stream at predetermined temporal intervals of the audio data. A method according to claim 7, wherein the entry point data comprises entry packets (A), where an entry packet (A) is inserted in the encoded bit stream immediately prior to each still image.

Inventors: FUJINAMI YASUSHI, KAWAMURA MAKOTO, YAGASAKI YOICHI, YONEMITSU JUN, FUJINAMI, YASUSHI, KAWAMURA, MAKOTO, YAGASAKI, YOICHI, YONEMITSU, JUN, Fujinami, Yasushi, c/o Sony Corporation, Kawamura, Makoto c/o Sony Corporation, Yagasaki, Yoichi c/o Sony Corporation, YONEMITSU, JUN, C/O SONY CORPORATION
Applicants: SONY CORP, SONY CORPORATION
Application year: 1996
Main classification: H04N7
IPC codes: H04N7, G06T9