Signal processing and reproduction

Abstract: Data of a recording medium in a storage device (4) is read out for every sector and is stored in a ring buffer (7) under the control of a CPU (1) which can vary the speed of readout from the buffer as the load on the system varies. Data stored in the ring buffer (7) is read out for every frame and is outputted to an output device (5). When data read out from the recording medium is to be reproduced in real time, the data can be reproduced substantially at a speed corresponding to a reading speed of the data from the recording medium, with a minimum of data loss and enhanced temporal quality.

Description: This invention relates generally to signal processing and reproduction. More particularly, but not exclusively, the invention relates to reading out recording data in a recording medium and reproducing such read-out data with enhanced efficiency. Conventionally, a computer device is connected with an external storage device for recording therein information which has been processed within the computer device. The storage device may be a magnetic tape unit, a magnetic disk unit, a magnetic drum unit or the like. To read out data from this storage device, data is read out from a recording medium provided in the storage device. In this case, a data structure referred to as a file system is provided in the recording medium, so that data is read out as one file from the recording medium. To read out an extraordinarily large volume of data from the external storage device, it is common practice to partially read out the large volume of data and then to process the read-out data. In such a method for reading part of the data as one series of data, that is, as a file, the temporal rate for reading out the data is not usually adequate for satisfactory reproduction. In this regard, data written into the system in essentially real time cannot be processed rapidly enough as throughput to provide uninterrupted real-time output. Consequently, data pile up and annoying output glitches can detract substantially from ideal performance. Moreover, in this same method for reading out data as a file, although reading of data is started for every instance of partial processing, the time from the start of reading of the data until the time that the data is actually read out varies in accordance with the position on the recording medium at which the data is recorded and the state of the computer device at the start of reading. More, particularly, when a disc-shaped recording medium is used as the recording medium to read/write data therefrom/thereto, a seek operation is first performed wherein a head for writing or reading information to or from the disc-shaped recording medium is physically moved to a position on the disc-shaped recording medium where desired data is recorded. Since the seek operation is performed by driving a motor on which the head is mounted, reading of consecutive data is time-consuming, thus deteriorating the data reading efficiency. Accordingly, there has been a long existing need for enhanced efficiencies in writing in and the reading out of data to overcome the aforementioned problems. Embodiments of the invention described hereinbelow seek at least partially to fulfil one or more of these needs. Respective aspects of the invention are set forth in the respective independent claims hereof. A preferred form of implementation of the invention described hereinbelow provides a signal reproducing method and apparatus whereby the time for reading out data can be effectively varied whenever a particular series of data recorded on the recording medium is written into the system tc facilitate enhanced efficiency and greater compatibility between the process of writing in and of reading out data, whereby data loss is minimized. Four types of data are typically used. The first two types of data, e.g., compression data to be decompressed (hereinafter "MDEC data") and audio data, i.e., sound and music, are input, i.e., written into the system and preferably processed in real-time. The other two types of data, e.g., polygon data and special effects data, need not be processed in real-time. The real-time data is read from the recording medium and written into the system in real-time. However, as the load on the system increases, the variable reading speed of the CPU may not be able to fetch and process the input data rapidly enough to keep up with the input If this occurs, some of the real-time data will be improperly discarded resulting in substantial undesirable glitches in the output. US 5 285 275 discloses a signal reproducing apparatus and method overcoming this problem. Data is read from a recording medium and is written into a ring buffer while data is read from the ring buffer for reproduction in order to achieve a constant, predetermined reproduction rate. Data is only read to the buffer when no overflow on the basis of complete frames occurs. When there is not enough empty space in the buffer for a complete new frame, the frame read out from the medium is not stored and the following complete frame is written to the buffer, provided that enough space has been freed in the meantime. Thus, data reproduced from the ring buffer can be correctly decoded . The apparatus according to EP 0 522 853 does not throw away any read data upon overflow of the ring-buffer, but instead rereads the data from the disk by executing a track jump when enough memory space has been freed. The present invention aims at providing an alternative solution to this problem and provides a signal reproducing apparatus comprising: a ring-buffer memory for storing frame data read out in sectors from a recording medium, each sector having a sector header indicating the sector number (SN) and the total number of sectors (HS) of data in that frame; and a data control apparatus for sequentially reading sectors of frame data from said recording medium and writing the read data in said ring-buffer memory, and, separately thereform, reading the data stored in said ring-buffer memory; whereby when, for a sector data read from the recording medium, there is no free memory in the ring-buffer memory for writing said sector of data read out from said recording medium, the frame data read for the frame to which that sector belongs is abandoned, with frame data from the following frame being written into the ring-buffer memory after the data relating to the preceding frame. A second aspect of the present invention provides a signal reproducing method comprising the steps of: reading out frame data in sectors from a recording medium, each sector having a sector header indicating the sector number (SN) and the total number of sectors (HS) of data in that frame; using writing means to write the read sector data to a ring-buffer memory; reading the written data stored in said ring-buffer memory; and controlling the writing means such that when, for a sector of data read from the recording medium there is no available memory in the ring-buffer memory for writing said sector of data, the frame data to which that sector belongs is abandoned and frame data from the following frame is written into the ring-buffer memory after the data relating to the preceding frame. In accordance with a preferred embodiment of the invention, a ring buffer or other suitable intermediate storage means is used to store the real-time data as it is input to the system. In this way, the ring buffer minimizes the loss of any real-time data. The ring buffer accomplishes this function by providing a constant write rate, i.e., input from a CD-ROM or the like to the system, but by varying its read rate, i.e., the output to the CPU. The read rate varies in response to the load on the CPU and, therefore, the read rate can be increased during periods of high system throughput of data and this feature, together with the buffer storage feature, combine to effectively minimize data loss. Accordingly, when writing of data overtakes reading of data, writing is stopped until reading catches up; then one or two frames are typically jumped or abandoned to restore a match between writing in and reading out. Frames are repeated at the output once or twice to compensate for such missing data, but such occurrences are brief, infrequent and virtually unnoticeable. Hence, while it is possible for a frame of data adjacent to a processed frame to be abandoned, the ring buffer reduces, if not eliminates, the need to discard such data. In accordance with yet another aspect of the present invention, by way of example, and not necessarily by way of limitation, there is provided a signal reproducing system for performing reproduction by reading data recorded on a recording medium, the system including a recording medium having data sequentially stored thereon for every frame as a data processing unit composed of one or more sectors as physical read-out units of data, ring-shaped storage means or the like for storing the data read out from the recording medium, data control means for sequentially reading frame data from the recording medium for every sector and storing the frame data in the ring-shaped storage means, and separately therefrom, reading the data stored in advance in the ring-shaped storage means for every frame, whereby when sector data read out from the recording medium cannot be written into the ring-shaped storage means, frame data next to data of a frame including the read-out sector is stored following frame data preceding to the frame including the read-out sector in the ring-shaped storage means. The ring-shaped storage means may be a so-called ring buffer. However, any suitable intermediate storage means may be utilized without departing from the scope of the present invention. The sector may be composed of an additional information area having a data format of a frame in which this sector is included, a sector number indicating the sequence of sectors constituting the frame and the total number of sectors indicating the number of sectors constituting the frame, and a data area. The data control means is this case may use the sector number and the total number of sectors in the sector to detect a final sector of the frame including the sector. In accordance with yet a further aspect of the present invention, there is also provided a signal reproducing method associated with the aforedescribed system, wherein the method includes a data reading step for reading frame data for every sector from a recording medium which has data sequentially stored therein for every frame as a data processing unit composed of one or plural sectors as physical read-out units of data and, storing the frame data in ring-shaped storage means, and a frame data processing step for reading data stored in advance in the ring-shaped storage means for every frame, separately from the data reading step, whereby when sector data read out from the recording medium cannot be written into the ring-shaped storage means, frame data next to data of a frame including the read-out sector is stored following frame data preceding to the frame including the read-out sector in the ring-shaped storage means. In addition, in accordance with a preferred feature of the invention, where only sectors up to an intermediate sector of the sectors constituting the frame can be stored in the ring-shaped storage means when frame data recorded in the recording medium is to be read out for every sector and stored in the ring-shaped storage means, frame data which is next to the frame data having only the sectors up to an intermediate sector stored, is stored following frame data correctly stored in the ring-shaped storage means, and the frame data having only the sectors up to an intermediate sector stored is abandoned. Thus, the frame data read out from the recording medium and written into the system is reproduced at a speed corresponding to the reading speed, which can be varied by the CPU in the system. The sector may include an additional information area having a data format of a frame in which this sector is included, a sector number indicating the sequence of sectors constituting the frame and the total number of sectors indicating the number of sectors constituting the frame, and a data area. Therefore, when the sector data is to be read out from the recording medium, positional information and data information in the frame can be sequentially detected. In addition, as the final sector is detected using the sector number and the total number of sectors, a location in-between frames, that is, a cut point of frame data, can be detected. Hence, the preferred form of implementation of the invention satisfies a long felt need for enhanced efficiencies in writing in and the reading out of data. 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 is a diagrammatic view showing the structure of a signal reproducing apparatus or system embodying the invention; Fig. 2 illustrates frame data for use by the system; Fig. 3 illustrates sectors for use by the system; Fig. 4 is illustrates the structure of a sector header area for use by the system; Figs. 5A and 5B illustrate data read-out processing; Fig. 6 illustrates frame data processing; and Fig. 7 is a block diagram showing the structure of the overall system arrangement of a home game unit. Referring now to the drawings, like reference numerals denote like or corresponding parts throughout the drawing figures. As previously indicated, in a preferred system embodying the invention, four types of data are typically used. The first two types of data, e.g., compression data to be decompressed (hereinafter "MDEC data") and audio data, i.e., sound and music, are input, i.e., written into the system and preferably processed in real-time. The other two types of data, e.g., polygon data and special effects data, need not be processed in real-time. The real-time data is read from the recording medium and written into the system in real-time. However, as the load on the system increases, the variable reading speed of the CPU may not be able to fetch and process the input data rapidly enough to keep up with the input. If this occurs, some of the real-time data will be improperly discarded resulting in substantial undesirable glitches in the output. A ring buffer or other suitable intermediate storage means is used to store the real-time data as it is input to the system. In this way, the ring buffer minimizes the loss of any real-time data. The ring buffer accomplishes this function by providing a constant write rate, i.e., input from a CD-ROM or the like to the system, but by varying its read rate, i.e., the output to the CPU. The read rate varies in response to the load on the CPU and,therefore, the read rate can be increased during periods of high system throughput of data and this feature, together with the buffer storage feature, combine to effectively minimize data loss. Accordingly, when writing of data overtakes reading of data, writing is stopped until reading catches up; then one or two frames are typically jumped or abandoned to restore a match between writing in and reading out. Frames are repeated at the output once or twice to compensate for such missing data, but such occurrences are brief, infrequent and virtually unnoticeable. Hence, while it is possible for a frame of data adjacent to a processed frame to be abandoned, the ring buffer reduces, if not eliminates, the need to discard such data. Referring now to the figures and, more particularly, to Fig. 1, a central processing unit (CPU) 1 composed of a microprocessor and the like, is connected to a bus 6. A memory 2, a data transfer device 3, a storage device 4 and an output device 5 are also interconnected via the bus 6. A suitable recording medium is provided in the storage device 4, such as a CD-ROM using a compact disc (CD), which is a disc-shaped recording medium and is a read-only optical disc used for optically recording and reproducing data. The storage device 4 may be provided inside of the signal reproducing apparatus, or connected to the bus 6 from outside of the signal reproducing apparatus. The output device 5 includes plural output devices, such as, a display device like a cathode ray tube (CRT) display device for picture output and a speaker device for audio output. The recording data on the CD-ROM in the storage device 4 is next described. Fig. 2 shows frame data recorded on the CD-ROM. The frame data represents the processing unit of data in file data. As shown in Fig. 2, frame data FD 1 , FD 2 , FD 3 , FD 4 , FD 5 , ... are sequentially recorded to form one unit of file data. The frame data FD 1 to FD 5 may differ in size. The internal structure of the frame data is shown in Fig. 3. The frame data FD includes sectors as smaller blocks. Fig. 3 illustrates the case where one unit of frame data FD three sectors SC 1 to SC 3 . The sector SC is the physical reading unit of data from the CD-ROM in the storage device 4, and has a fixed data size. Each of the sectors SC 1 to SC 3 includes a sector head area SH which is an additional information area of the sector SC and a sector data area SD composed of picture and audio data. Each of the sector header areas SH 1 to SH 3 is for storing contents of the sector in which the sector header area is included and data for indicating the position in the entire frame data FD. The picture and audio data in the frame data are tightly stored sequentially from the sector data area SD 1 in the leading sector SC 1 to the sector data SD 2 to SD 3 without having a spacing between the areas. In this case, when the size of the frame is smaller than the total capacity of the plural sector data areas SD in the frame data FD, invalid data is stored in a residual portion of the sector data area SD. More particularly, as shown in Fig. 3, since the size of the data included in the frame data FD is smaller than the total capacity of the three sector data areas SD 1 to SD 3 , an invalid data area NL having invalid data stored therein is present following the final sector data area SD 3 . The sector header area SH includes, from the leading portion, a frame data format identifier FID for specifying a data format of the frame data FD, a sector number SN indicating the serial number from the leading sector in the frame data FD of the sector having the sector header area SH, the total number of sectors HS indicating the total number of sectors of the frame data FD including this sector header SH, a frame number FN indicating the serial number from the leading frame of the frame data in the file data, and a frame data size FS indicating the size of data stored in the sector data area SD in the frame data FD, all as shown in Fig. 4. Data within one unit of frame data FD are of the same format. Therefore, when plural sectors SC are present in the frame data FD, the frame data format identifiers FID of the sector header areas SH in the sectors SC have the same value. Furthermore, the frame data sizes FS in the sector header areas SH have the same value when plural sector header areas SH are present in the frame data FD to which the sector header area SH including the frame data size FS belongs. Referring now again to Fig. 1, the CPU 1 transmits a control signal for reading out data through the bus 6 to the storage device 4 having a CD-ROM as a storage medium. From the storage device 4, data at a desired position on the CD-ROM is read out for every sector in response to the control signal fed to it. The read-out sector data is transmitted to and stored in a ring buffer 7 in the memory 2 by the data transfer device 3. The ring buffer 7 may be realized either with software or hardware. Of course, those of ordinary skill in the art will appreciate that variations in the design of this configuration for buffering, writing, and reading data may be made without departing from the scope of the invention. The data transfer device 3, which is to perform control of direct memory access transfer (DMA), is controlled by the control signal from the CPU 1. The data transfer device 3 transfers the data read out from the storage device 4 to the ring buffer 7 at a high speed, where the data is stored. Separately from the operation to store the sector data in the ring buffer 7, the control signal is fed from the CPU 1 to the memory 2. On the basis of this control signal, the data stored in the ring buffer 7 is read out for every frame. The contents of the frame data read out from the ring buffer 7 are discriminated by the CPU 1, and processing based on the result of discrimination is carried out. The processed frame data is fed to one of the output devices in the output device 5. Thus, an information signal is outputted from the output device to which the data has been fed. Since the data processing in the signal reproducing apparatus in this embodiment is not related to the contents of data to be processed, data of various formats can be entered in the sector data area SD. For example, by entering picture data in the sector data area SD, it is possible to reproduce sequentially changing still pictures, that is, motion pictures. By entering audio data, it is possible to sequentially reproduce audio data. In addition, by entering data of an arbitrary format in the sector data area SD, it is possible to realize sequential processing in accordance with temporal changes of the data. As described above, frame data is composed of data of a single format. However, plural frame data may be composed of data of different data formats, and these data may be included simultaneously in one data series. The signal reproducing method in this embodiment is next described. In the signal reproducing apparatus shown in Fig. 1, frame data is transferred for every sector between the CD-ROM in the storage device 4 and the ring buffer 7 in the memory 2 under the control of the CPU 1. In this regard, the frame data is read out for every sector from the CD-ROM in the storage device 4. Data read-out processing for transferring the read-out sector data stored in the ring buffer 7 in the memory 2 using the data transfer device 3 and storing the data therein, and frame data processing for reading out data stored in the ring buffer 7 for every frame and transferring the processed data to the output device, are carried out. These two data processing operations are separately carried out under the control of CPU 1, and are essentially synchronized by the ring buffer 7. The data read-out processing is next described. Fig. 5A illustrates serially the data area of the CD-ROM, in which frame data FD 1 to FD 8 are recorded. To indicate the sector in the frame data to be read out from the CD-ROM, a recording medium reading position RP is employed. In the CD-ROM of Fig. 5A, the data is read out for every sector from the leading sector of the frame data FD 4 in which the recording medium reading position RP is present, and data is written into the ring buffer 7 by the data transfer device 3 every time data of one sector is read out. The recording medium reading position RP is moved to a next sector every time data of one sector is read out. Fig. 5B shows the data area of the ring buffer 7. The ring buffer 7 has a structure in which plural sector data storage areas are serially arrayed with each of the sector data storage areas having a capacity of one-sector of data. The ring buffer 7 can be freely accessed in both the data read-out processing and the frame data processing. In the ring buffer 7 which has 13 sector data storage areas BF from a sector data storage area BF 1 indicated by a ring buffer start position SB to a sector data storage area BF 13 indicated by a ring buffer end position EB, as shown in Fig. 5B, sector data is written in the sector data storage areas BF 3 to BF 8 , and the position where sector data is written next is denoted by a data writing position WDT. The data writing position WDT is moved to a next sector data storage area every time one-sector of data is written in the sector data storage area BF. However, when the data writing position WDT is at the same position as the ring buffer end position EB, that is, the sector data storage area BF 13 , with one-sector data written in the sector data storage area BF 13 , the data writing position WDT is moved to the same position as the ring buffer start position SB, that is, the sector data storage area BF 1 . The data read-out processing for reading out the frame data FD 4 in which the recording medium reading position RP of Fig. 5A is present and storing the data in the ring buffer 7 is next described. The frame data FD4 consists of three sectors. The leading sector data is read out to be written in the sector data storage area BF 9 in which the data writing position WDT is present. Then, the recording medium reading position RP moves to the second sector of the frame data FD4, and the data writing position WDT also moves to the sector data storage area BF 10 . Next, the second sector data of the frame data FD 4 is read out to be stored in the sector data storage area BF 10 . Similarly, the final sector data of the frame data FD 4 is stored in the sector data storage area BF 11 . Fig. 5B shows the ring buffer 7 in a state in which data is stored in six sector data storage areas BF and is not stored in the remaining seven sector data storage areas BF. When data of frame data consisting of eight or more sectors is read out from the ring buffer 7, data is sequentially written for every sector by the foregoing method. However, when data is written in all the sector data storage areas of the ring buffer 7 with the data writing position WDT coinciding with the data reading position RDT, writing of data to the ring buffer 7 is halted. The data writing position WDT of the ring buffer 7 is returned to the position of a sector data storage area next to a sector data storage area in which the final sector data of the frame data preceding to the frame data of the currently halted writing and stored in the ring buffer 7 is correctly stored. That is, data of one frame currently being read out from the CD-ROM is abandoned. In this case, the recording medium reading position RP in the CD-ROM of Fig. 5A is moved to the leading sector of the frame data next to the frame data of the halted writing. Then, the writing of data to the ring buffer 7 is resumed at the leading sector of the frame data next to the abandoned frame data. When the data reading position and the data writing position in the ring buffer 7 for storing data for every sector read out from the CD-ROM are present in the sector data storage area at the same position in carrying out reading of recording data on the CD-ROM and reproduction of the recording data in real time, data of one frame recorded in the recording medium is cancelled from the ring buffer 7, and the data of one frame being read out from the CD-ROM is not reproduced. Thus, the read-out data can be reproduced in real time at a speed corresponding to the reading speed (writing input to the system) of the frame data from the CD-ROM, with a minimum of data loss. To detect a cut point between frame data, the sector number SN and the total number of sectors HS in the sector header area SH, as shown in Fig. 4, are utilized. When a sector of a cut point, that is, the final sector of frame data composed of 15 sectors is to be detected, whether or not the value of the total number of sectors HS and the value of the sector number SN of the sector header area SH are the same value, that is 15, is detected with respect to each of sectors constituting the frame data. Thus, the sector of the cut point between the frame data can be detected. The frame data processing is next described. If frame data is stored in the ring buffer 7, data of one frame from the data reading position RDT is used as target frame data. More specifically, frame data having a leading sector in which the data reading position is present is used as target frame data IFD, as shown in Fig. 6. The CPU 1 identifies the data format included in the frame data from the contents of the frame data format identifier FID of the sector header area SH in the sector of the target frame data IFD. In addition, the CPU 1 performs predetermined processing for the identified data format, and transfers the data as information signals, such as picture signals or audio signals, to the output device 5. The transferred information signals are outputted from a display device or a speaker device corresponding to the information signals in the output device 5. To identify whether frame data is included in the ring buffer 7 or not, it is necessary to detect whether or not the frame data includes a sector having a sector header area SH in which the data reading position RDT and the data writing position WDT differ and in which the total number of sectors HS and the sector number SN shown in Fig. 4 have the same value. When the frame data is picture data, the predetermined processing is specifically signal processing for displaying the picture data as picture output signals on the screen of the display device. When the frame data is audio data, the predetermined processing is signal processing for transmitting the audio data as audio signals to a terminal of the speaker device. The signal reproducing method employed for the signal reproducing device is preferably adapted for home game units and the like. Fig. 7 illustrates the structure of an embodiment of a home game unit using this signal reproducing method. The home game unit in Fig. 7 includes a bus 31 which is connected to plural processors and devices for realizing various functions in a main system including a CPU 11 and a peripheral device 12, a graphics system, a sound system, a CD-ROM system and a communications system. The CPU 11 of the main system is a 32-bit reduced instruction set computer (RISC) CPU. The peripheral device 12 includes plural controllers, such as, DMA, timer and interrupt. A main memory 13 with a capacity of 2 MBytes, a ROM 14 having a capacity of 512 KBytes with an operating system (OS) program stored therein for controlling the operation of the CPU 11 and the peripheral device 12 to control the home game unit, a PIO 29 as an input/output (I/O) part of parallel communications, and an SIO 30 as an input/output (I/O) part of serial communications are also connected to the bus 31. When the power of the home game unit is turned on, the CPU 11 executes the operating system (OS) in the ROM 14 to initialize the entire device. At a control command by the CPU 11, an application program, that is, a game program or picture or audio data loaded in a CD-ROM drive 25 of the CD-ROM system is read out from the CD-ROM. In this regard, the picture data recorded in the CD-ROM includes picture data of a motion picture or a still picture which has been orthogonally transformed by discrete cosine transform (DCT) and compressed, and picture data of a texture picture for modifying a polygon. As the picture data of a motion picture or a still picture, data compressed on the basis of the standard of Joint Photographic Experts Group (JPEG) as an international standard for compression of still picture data, and data compressed only by intra-frame encoding on the basis of the standard of Moving Picture Image Coding Experts Group (MPEG) as an international standard for compression of motion pictures, are employed. The game program from the CD-ROM includes a polygon drawing command for drawing a minute polygonal area or a polygon. The audio data recorded in the CD-ROM includes 16-bit PCM data based on the CD-DA standard for audio data in music CDs, and adaptive differential PCM (so-called ADPCM) data based on the CD-ROM XA standard for CD-ROM picture and audio data. The data read out from the CD-ROM is stored in the CD-ROM buffer 24, and is then decoded by a CD-ROM decoder 23. The resulting data is fed to the main system, the graphics system or the sound system in accordance with the contents of the data. The graphics system includes a geometry transfer engine (GTE) 15 as a graphics data generating processor, a graphics processing unit (GPU) 16 as a graphics drawing processor, a frame buffer 17 with a capacity of 1 MBytes used for generating a picture by the GPU 16, a motion decoder (MDEC) 19 as a picture data expanding engine, and a video output unit 18, such as, a CRT display unit or a liquid crystal display (LCD) unit. The GTE 15, used as a co-processor of the CPU 11, carries out, at a high speed, coordinate conversion or light source calculation for a polygon expressing a three-dimensional object in a picture, for example, calculation of a matrix or a vector in the fixed decimal mode, with a parallel processing mechanism when the CPU 11 generates the drawing command or the control command. The GPU 16, operative in accordance with the polygon drawing command from the CPU 11, draws a polygon in the frame buffer 17 mapped in a two-dimensional address space independent of the CPU 11. The GPU 16 performs flat shading in which a polygon is drawn in the same color, Gouraud shading in which an arbitrary color is designated for each vertex of the polygon to find the color within the polygon, and texture mapping in which a texture as two-dimensional picture data is applied to the polygon. Specifically, when the flat shading is carried out in which a polygon of triangle is drawn in the same color, the GTE 15 can perform coordinate calculation at a maximum rate of approximately 1.5 million polygons per second. When the Gouraud shading or the texture mapping is carried out, the GTE 15 can perform coordinate calculation of approximately 5 hundred thousand polygons per second at the maximum. Therefore, it is possible to reduce the load on the CPU 11 and to carry out high-speed coordinate calculation. The frame buffer 17 includes a so-called dual port RAM of 16 bits, which is a rectangular area of 512 vertical pixels and 1024 horizontal pixels. The frame buffer 17 is used for drawing of pictures by the GPU 16 and enclosure of data transferred from the main memory 13. The drawing by the GPU 16 or the data transfer from the main memory 13, and reading of picture data are carried out simultaneously. In the frame buffer 17, a texture area in which a texture pattern is stored and a CLUT area in which a color lookup table (CLUT) used as a color pallet is stored are provided. The texture pattern and the CLUT data are read out from the CD-ROM drive 25 under the control by the CPU 11, then transferred via the GPU 16 to the frame buffer 17, and stored therein. The CLUT data may also be generated by the GPU 16. Accordingly, the GPU 16 draws the polygon using the coordinate and color information found by the GTE 15, and applies the texture to the polygon so as to produce a three-dimensional (3D) picture. The resulting picture data is outputted as a picture signal to the video output unit 18, so that the three-dimensional (3D) picture is displayed. When a motion picture is to be displayed, two rectangular areas are provided on the frame buffer 17, and the two rectangular areas are used alternately for drawing and for picture display so that a frame picture is drawn in one of the rectangular areas with data of a frame picture drawn in advance in the other rectangular area being outputted to the video output unit 18 to display the picture. Thus, a state of picture rewriting is prevented from being displayed on the video output unit 18. The MDEC 19, used for reproducing picture data read out from the CD-ROM 25, carries out parallel operation using the main memory 13 in common with the CPU 11. The data for motion pictures read out from the CD-ROM drive 25 is error-corrected by the CD-ROM decoder 23 and is fed to the MDEC 19. The MDEC 19 decodes the data fed thereto. The decoded data is then fed as motion picture data to the main memory 13. The motion picture data fed to the main memory 13 is stored in the frame buffer 17 via the GPU 16, and is then outputted as a picture signal to the video output unit 18 so that the motion picture is displayed. The sound system includes a sound processing unit or so-called SPU 20 as a sound reproducing processor, a sound buffer 21 of 512 KBytes used for the SPU 20 to reproduce sound signals, and a sound output unit 22, such as, a speaker unit. The SPU 20 has an ADPCM decoding function to reproduce audio data produced by performing ADPCM of 16-bit audio data to a 4-bit differential signal, a reproducing function to reproduce sound source data stored in the sound buffer 21 to generate sound effects, and a modulating function to modulate the sound source data for reproduction. Audio data used for background music (BGM) and sound source data used for generating sound effects are recorded in the CD-ROM. These data are read out from the CD-ROM drive 25 and error-corrected by the CD-ROM decoder 23 under the control of the CPU 11. The audio data used for BGM is fed from the CD-ROM decoder 23 to the SPU 20 under the control of the CPU 11, and is outputted as musical tunes from the sound output unit 22 by the SPU 20. The sound source data used for sound effects is stored in the sound buffer 21 under the control of the CPU 11. The SPU 20 generates musical sounds and sound effects based on the sound source data stored in the sound buffer 21. Thus, the SPU 20 is a so-called sampling sound source. The communications system includes a controller 27 as an input device or an input pad, a memory card 28 of 1 MBytes, and a communications device 26 as a synchronization serial port. The controller 27 has a key for entering an instruction for controlling the proceedings of a game and the motion of an object displayed in the game. The operation information entered from the controller 27 is fed to the communications device 26. The information fed to the communications device 26 is read out by the CPU 11 approximately every 1/60 second. The CPU 11 sends the control command for controlling the operations of the peripheral device 12, the main memory 13, the graphics system, the sound system, and the CD-ROM system, to control the operations of these systems. Thus, pictures corresponding to the entered operation information is displayed and sounds are outputted. The memory card 28 includes a non-volatile memory, such as a flash memory, and is used for storing and holding the setting, states of proceedings and results of plural games. Since the memory card 28 is separated from the bus 31, the memory card 28 can be attached or detached with the power on. Thus, it is possible to attach and detach plural memory cards during the operation of the home game unit so as to store data. The game unit may be connected to the peripheral device via the PIO port 29. The game unit may also have communications with other game units via the SIO port 30. In the home game unit, it is necessary to transfer a large amount of picture data at a high speed between the main memory 13, the GPU 16, the MDEC 19 and the CD-ROM decoder 23 when reading of the game program, display of the picture data or drawing of the picture data is to be carried out. In this case, so-called DMA transfer is carried out in which the picture data is directly transferred under the control of the peripheral device 12, not via the CPU 11. Thus, the load on the CPU 11 due to data transfer is reduced, and high-speed data transfer is carried out. As is clear from the above description, the signal reproducing apparatus for performing reproduction by reading data recorded on a recording medium, embodying the present invention, includes a recording medium having data sequentially stored therein for every frame as a data processing unit composed of one or plural sectors as physical read-out units of data, or ring-shaped storage means for storing the data read out from the recording medium, data control means for sequentially reading frame data from the recording medium for every sector and storing the frame data in the ring-shaped storage means, and separately therefrom, reading the data stored in advance in the ring-shaped storage means for every frame, whereby when sector data read out from the recording medium cannot be written in the ring-shaped storage means, frame data next to data of a frame including the read-out sector is stored following frame data preceding to the frame including the read-out sector in the ring-shaped storage means. Thus, when the frame data read out from the recording medium is to be reproduced in real time, the data can be reproduced at a speed corresponding to the reading speed of the data from the recording medium. Also, since data for every frame as the unit for data processing can be rapidly and reliably outputted, failure or lack of data in the frame is minimized. In addition, as the data for every frame is read out from the recording medium and is stored, data of various formats can be processed regardless of the type of data involved. The sector is composed of an additional information area having a data format of a frame in which this sector is included, a sector number indicating the sequence of sectors constituting the frame and the total number of sectors indicating the number of sectors constituting the frame, and a data area. The data control means uses the sector number and the total number of sectors in the sector to detect a final sector of the frame including the sector. Thus, positional information and data information in the frame can be sequentially detected every time data is read out for every sector, so that the cut point of the frame data can be quickly detected. The signal reproducing method embodying the present invention includes a data reading step for reading frame data for every sector from a recording medium which has data sequentially stored therein for every frame as a data processing unit composed of one or plural sectors as physical read-out units of data, and storing the frame data in ring-shaped storage means, and a frame data processing step for reading data stored in advance in the ring-shaped storage means for every frame, separately from the data reading step, whereby when sector data read out from the recording medium cannot be written in the ring- shaped storage means, frame data next to data of a frame including the read-out sector is stored following frame data preceding to the frame including the read-out sector in the ring-shaped storage means. Thus, when the frame data read out from the recording medium is to be reproduced in real time, the data can be reproduced essentially at a speed corresponding to the reading speed of the data from the recording medium. Moreover, since data for every frame, as the unit for data processing in the system can be rapidly and reliably outputted, data omissions are minimized. In addition, since the data for every frame is read out from the recording medium and is then stored, data of a variety of different formats can be processed regardless of the type of data included. The sector is composed of an additional information area having a data format of a frame in which this sector is included, a sector number indicating the sequence of sectors constituting the frame and the total number of sectors indicating the number of sectors constituting the frame, and a data area. The data control means uses the sector number and the total number of sectors in the sector to detect a final sector of the frame including the sector. Thus, positional information and data information in the frame can be sequentially detected every time data is read out for every sector, so that the cut point of the frame data can be quickly detected. Hence, the above-described preferred form of implementation of the invention satisfies a long felt need for enhanced efficiencies in writing in and the reading out of data. It will be apparent from the foregoing that, while particular embodiments of the invention have been illustrated and described, various modifications can be made without departing from the scope of the invention. Accordingly, it is not intended that the invention be limited, except as by the appended claims.

Claims: A signal reproducing apparatus, the apparatus comprising: a ring-buffer memory (7) for storing frame data read out in sectors from a recording medium (4), each sector having a sector header indicating the sector number (SN) and the total number of sectors (HS) of data in that frame; and a data control apparatus for sequentially reading sectors of frame data from said recording medium and writing the read data in said ring-buffer memory, and, separately therefrom, reading the data stored in said ring-buffer memory; whereby when, for a sector of data read from the recording medium (4), there is no free memory in the ring-buffer memory for writing said sector of data read out from said recording medium, the frame data read for the frame to which that sector belongs is abandoned, with frame data from the following frame being written into the ring-buffer memory (7) after the data relating to the preceding frame. A signal reproducing apparatus as set forth in claim 1, wherein each sector of data includes an information area having a data format (FID) of the frame in which the sector is included, a sector number (SN) indicating the sequence of sectors constituting the frame and the total number of sectors (HS) constituting the frame, and a data area, whereby said data control apparatus uses the sector number and the total number of sectors in the frame to detect the final sector of that frame. A signal reproducing apparatus according to claim 1 or 2, further comprising: a recording medium (4) having data sequentially stored therein for every frame as a data processing unit composed of at least one sector as a physical read-out unit of data. A signal reproducing apparatus according to any preceding claim wherein the data control apparatus comprises reading means for sequentially reading sectors of frame data from a recording medium. A signal reproducing apparatus according to any preceding claim, wherein the data control apparatus comprises writing means for writing sector data read from the recording medium (4) into a ring buffer memory (7). A signal reproducing apparatus according to any preceding claim, wherein the data control apparatus comprises reading means for reading written data from said ring buffer memory (7). A signal reproducing apparatus, according to any preceding claim, further comprising: means for storing a data writing position (WDT) indicating a free writing address of the ring buffer memory, and a data reading position (RDT) indicating an address in the buffer to be read next; writing means for writing sector data read from the recording medium into a memory location of the ring buffer memory in accordance with the stored data writing position; means for updating the stored data writing position (WDT) to indicate the next free writing address of the ring buffer memory; reading means for reading out written data from a memory location of the ring buffer memory in accordance with the stored data read position (RDT); means for updating the stored data read position to indicate the address of the buffer to be read next; and control means for controlling the writing means, such that, if the next free writing address coincides with the next free reading address, writing of the data to the ring buffer memory is stopped, and the data writing position is reset to a predetermined address. A signal reproducing method comprising the steps of: reading out frame data in sectors from a recording medium (4), each sector having a sector header indicating the sector number (SN) and the total number of sectors (HS) of data in that frame; using writing means to write the read sector data to a ring-buffer memory (7); and reading the written data stored in said ring-buffer memory (7); and controlling the writing means such that when, for a sector of data read from the recording medium there is no available memory in the ring-buffer memory for writing said sector of data, the frame data to which'that sector belongs is abandoned and frame data from the following frame is written into the ring buffer memory after the data relating to the preceding frame. A signal reproducing method according to claim 8, further comprising the steps of: storing a data writing position (WDT) indicating a free writing address of the ring buffer memory, and a data reading position (RDT) indicating an address in the buffer to be read next; writing sector data read from the recording medium into a memory location of the ring buffer memory in accordance with the stored data writing position, and updating the stored data writing position (WDT) to indicate the next free writing address of the ring buffer memory; reading out written data from a memory location of the ring buffer memory in accordance with the stored data reading position (RDT), and updating the stored data reading position to indicate the address of the buffer to be read next; controlling the writing of data to the ring buffer memory such that, if the next free writing address coincides with the next reading address, writing of the data to the ring buffer memory is stopped, and the data writing position is reset to a predetermined address. A method according to claim 9, wherein the data writing position is reset to the address of the ring buffer memory following the address where the final sector data of the last correctly written frame was written. A method according to any of claims 8 to 10, wherein the speed of said writing is constant during writing. A method according to any of claims 8 to 11, wherein the speed of reading data from the ring buffer memory (7) is variable. A method according to claims 11 and 12, wherein the speed of said writing is at a high constant rate during writing, and the speed of reading from the ring buffer memory (7) is varied in accordance with the data processing load. A method according to any preceding claims further comprising the steps of: reading a recording medium reading position (RP) indicating the address of the recording medium to be read next; and then reading out frame data in sectors from the recording medium in accordance with the value of the read recording medium reading position (RP).

Inventors: SUZUOKI MASAKAZU, UMEMURA KOJIRO, YUTAKA TEIJI, SUZUOKI, MASAKAZU, UMEMURA, KOJIRO, YUTAKA, TEIJI, Suzuoki, Masakazu, Sony Corporation, Umemura, Kojiro, Sony Corporation, Yutaka, Teiji, Sony Corporation
Applicants: SONY COMP ENTERTAINMENT INC, SONY COMPUTER ENTERTAINMENT INC.
Application year: 1995
Main classification: G11B20
IPC codes: G11B7, G06F3, G11B20