METHOD AND DEVICE FOR DECODING PICTURE SIGNAL

Abstract: An error start code inserting section (12) inserts error start codes between each transferring unit of in-picture encoded data starting which are reproduced from a picture recording medium (10) by means of a reproducing section (11) and start with a start code and a decoder (14) decodes the in-picture encoded data based on the error start codes and start code.

Description: This invention relates to decoding picture signals recorded on recording media, e.g. magneto-optical disc or magnetic tape etc., to reproduce these recorded signals to display them on a display, etc., or in similar cases. As a moving picture encoding system directed to storage media, so called MPEG (Moving Picture Expert Group) 1 and MPEG (Moving Picture Expert Group) 2 (hereinafter encoding system including both systems will be referred to as MPEG) which are hybrid encoding of Discrete Cosine Transform (DCT) and motion-compensated prediction are known. In MPEG, respective pictures are compression-encoded as any one of picture types of I picture (Intra-coded picture), P picture (Predictive-coded picture) and B picture (Bidirectionally Predictive-coded picture). I picture uses only information confined solely within a single frame (picture) when encoded. Accordingly, at the time of decoding, it is possible to carry out reconstruction of picture only by information of I picture itself. In practice, an input picture (frame) is caused to undergo DCT without taking differences to allow it to be intra-frame coded (intra-coded) picture. P picture uses I picture or P picture positioned forward in point of time and already encoded as predictive picture, i.e., picture serving as reference in taking differences. In practice, it is possible to select, in macro block units, any higher efficiency method of a method of encoding differences between a current frame (picture) and a predictive picture which have undergone motion-compensation and a method of intra-frame coding (intra-coding) a current frame (picture) without taking differences. B picture uses, as predictive picture, three kinds of pictures of I picture or P picture positioned forward in point of time and already encoded, I picture or P picture positioned backward in point of time and already encoded, and interpolated picture prepared from the both pictures. It is possible to select, in macro block units, the highest efficiency coding of coding of differences of three kinds of pictures which have undergone motion-compensation and intra-frame coding (intra-coding). FIG. 1 shows data structure of respective pictures. As shown in FIG. 1, each picture (frame) is comprised of at least one slice or a plurality of slices. Moreover, each slice is comprised of one or plural macro blocks continuous in order of scanning of picture. Each macro block is composed of 6 blocks of four luminance blocks Y[1], Y[2], Y[3], Y[4] adjacent in left and right directions and in upper and lower directions, and color difference blocks Cb[5], Cr[6] corresponding to the same positions as those of luminance blocks Y[1], Y[2], Y[3], Y[4] on picture. A unique code which cannot be represented by combination of any other codes, that is called PSC (Picture Start Code) is added to the leading portion of picture data of such structure. Picture start code consists of 32 bits, wherein the first 24 bits are "0000 0000 0000 0000 0000 0001" and the remaining 8 bits have value of "00" in hexadecimal notation. Moreover, a unique code which cannot be represented by combination of any other codes, that is called SSC (Slice Start Code) is added to the leading portion of the above-described slice data. Slice start code consists of 32 bits, wherein the first 24 bits are "0000 0000 0000 0000 0000 0001" similarly to the above-mentioned picture start code, and 8 bits succeeding (subsequent) thereto are called slice vertical position, and indicate vertical position of the leading macro block within slice. As stated above, start codes consist of 32 bits, and serve as an identifier in which the first 24 bits indicate that those bits are start bit and the latter (remaining) 8 bits indicates kind of start code. Decoder can use such start codes for providing synchronization. Here, in the case where bit stream of MPEG is assumed to be recorded onto a recording medium, such as, for example, compact disc (CD), when reproduction is carried out at an ordinary speed, continuous picture data are sent to decoder as data of I picture as shown in FIG. 2(a). On the other hand, in the case where access to an arbitrary position on the recording medium is made by pick-up device, since data are read out with sectors determined synchronously with start code being as a unit, they are transferred to the decoder in the form including invalid data as shown in FIG. 2(b). If it is possible to decode valid intra-frame coded data in a synchronous manner by using start code from those data, fast feed reproduction or fast return (reverse) reproduction can be made. However, in such a case, invalid data of transfer units before and after which have no continuity are connected, resulting in the possibility that the same code as start code may appear. Thus, there is the possibility that synchronization of code may be out of order so that the state where correct decode operation cannot be conducted takes place. In addition, in order to ensure synchronization of code to permit decode operation to be conducted by decoder, it is required to transfer, from pick-up device, picture data starting from start code as shown in FIG. 2(c). For this reason, it was necessary to detect position of start code on recording medium by any means to provide an access to position of start code on recording medium by using pick-up device, or to impose such a restriction on the recording medium side to write bit stream in order that sector on the recording medium and start code are synchronized with each other. In view of problems of the prior art as described above, an object of this invention is to provide a picture signal decoding method and a picture signal decoding apparatus capable of decoding picture data in a block form from recording medium without imposing restrictions on the recording medium side, thus permitting fast feed/fast return reproduction of picture. Another object of this invention is to provide a picture signal decoding method and a picture signal decoding apparatus in which fast feed/fast return reproduction of frame unit and slice unit of picture can be made as fast feed/fast return reproduction of picture. According to a first aspect of this invention there is provided a picture signal decoding method for decoding a coded picture signal recorded on a recording medium to carry out fast feed or fast return reproduction, the method comprising: reproducing successive predetermined transfer units of the recorded signal, each transfer unit including a unique code and intra-frame coded data; detecting the unique code; and decoding the reproduced coded picture signal in synchronism with the detected unique code to generate a decoded picture; the method being characterised by: inserting a second unique code between the predetermined transfer units, the second unique code including both a common code that is included also in the first-mentioned unique code and a non-common code that is not included in the first-mentioned unique code; and discarding a portion of the reproduced coded picture signal between detecting the first-mentioned unique code and the second unique code. Preferably, in the picture signal decoding method according to this invention, for detecting the first-mentioned unique code, the common code included in the first and second unique codes is detected to discriminate between the unique codes on the basis of the non-common code. In the picture signal decoding method according to this invention, the first unique code may be a slice start code, and the predetermined transfer unit may include at least one slice code and intra-frame coded data of at least one slice. Further, in the picture signal decoding method according to this invention, the first unique code may be picture start code, and the predetermined transfer unit may include at least one picture start code and intra-frame coded data of at least one frame. According to a second aspect of the invention there is provided a picture signal decoding apparatus for decoding a coded picture signal recorded on a recording medium to carry out fast feed or fast return reproduction, the apparatus comprising: means for reproducing successive predetermined transfer units of the recorded signal, each transfer unit including a unique code and intra-frame coded data; means for detecting the unique code; and means for decoding the reproduced coded picture signal in synchronism with the detected unique code to generate a decoded picture; the apparatus being characterised by: means for inserting a second unique code between the predetermined transfer units, the second unique code including both a common code that is included also in the first-mentioned unique code and a non-common code that is not included in the first-mentioned unique code; and means for discarding a portion of the reproduced coded picture signal between detecting the first-mentioned unique code and the second unique code. 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 view showing structure of picture data in the MPEG system. FIG. 2 is a view for explaining picture data inputted to a conventional moving picture reproducing apparatus. FIG. 3 is a block diagram showing the configuration of a picture reproducing apparatus to which this invention is applied. FIG. 4 is a block diagram showing actual example of the configuration of decoder in the above-mentioned picture reproducing apparatus. FIG. 5 is a view for explaining picture data of transfer units using slice as reference handled in the above-mentioned picture reproducing apparatus. FIG. 6 is a flowchart showing the operation in the case where picture data of transfer units using slice as reference is reproduced by the above-mentioned picture reproducing apparatus. FIG. 7 is a view showing use state of frame memory in the case where picture data of transfer units using slice as reference is reproduced by the above-mentioned picture reproducing apparatus. FIG. 8 is a view for explaining picture data of transfer units using frame as reference handled in the above-mentioned picture reproducing apparatus. FIG. 9 is a flowchart showing the operation in the case where picture data of transfer units using frame as reference is reproduced by the above-mentioned picture reproducing apparatus. FIG. 10 is a view showing use state of frame memory in the case where picture data of transfer units using frame as reference is reproduced by the above-mentioned picture reproducing apparatus. Best Mode for Carrying Out the Invention A preferred embodiment of this invention will now be described in detail with reference to the attached drawings. A picture signal decoding method and a picture signal decoding apparatus according to this invention are carried out in a picture reproducing apparatus of a structure as shown in FIG. 3, for example. This picture reproducing apparatus is adapted to reproduce coded picture signals recorded on recording medium 10 by reproducing section 11 to decode the coded picture signals by decoder 14. Coded picture signal reproduced by reproducing section 11 is delivered to decoder 14 through receiving buffer 13 from error start code inserting section 12, and decode output of the decoder 14 is delivered to display unit 16 through frame memory 15. This picture reproducing apparatus includes reproduction control section 17 for controlling the reproducing section 11 and/or the error start code inserting section 12, and Central Processing Unit (labeled CPU in the figure) 18 for controlling the receiving buffer 13, the decoder 14 and the frame memory 15 in accordance with operation information from input operation section 19. Moreover, the decoder 14 comprises, as shown in FIG. 4, for example, error start code detector 41 for detecting error start code included in coded data from the receiving buffer 13, variable length decoding circuit 42 for implementing variable length decoding to coded data from the receiving buffer 13 to reproduce quantized data and motion vector, etc., inverse quantizing circuit 43 for inverse-quantizing quantized data from the variable length decoding circuit 42 to reproduce coefficient data, IDCT circuit 44 for implementing IDCT processing to coefficient data from the inverse quantizing circuit 43 to reproduce picture data or difference data, adding circuit 45 for adding difference data from the IDCT circuit 44 and predictive picture data to reproduce picture data, and motion compensating circuit 46 for reading out picture data from the frame memory 15 on the basis of motion vector, etc. from the variable length decoding circuit 42 to deliver the picture data thus read out to the adding circuit 45 as predictive picture data. Further, this decoder 14 includes address generating circuit 47 for generating write address of the frame memory 15 on the basis of slice No. from the variable length decoding circuit 42, and frame memory display control circuit 48 for generating address for reading out picture data from the frame memory 15 in order of display on the basis of slice No. from the variable length decoding circuit 42. Furthermore, the frame memory 15 is comprised of a semiconductor memory having memory capacity corresponding to, e.g., three frames (hereinafter memory corresponding to one frame will be called frame buffer) to carry out bank switching of frame buffers 15a, 15b, 15c on the basis of write address delivered from address generating circuit 47 to store, into, e.g., frame buffers 15a, 15b, picture data of I picture or P picture delivered from the adding circuit 45 as forward predictive picture data or backward predictive picture data, and stores picture data of B picture into frame buffer 15c. In addition, in this picture reproducing apparatus, transfer unit of picture data sent from reproducing section 11 is determined by operation by user with respect to input operation section 19 and/or kind of recording medium 10, etc. Initially, the case where transfer unit of picture data sent from reproducing section 11 is less than one frame, e.g., the case where such transfer unit is a unit using slice as reference as shown in FIG. 5, for example, will be described below. In this case, the picture reproducing apparatus operates in accordance with the flowchart shown in FIG. 6. First, at step S1, when fast feed or fast return reproduction is instructed from user through input operation section 19 to CPU 18 as operation information, CPU 18 sends out clear signal to receiving buffer 13. Moreover, CPU 18 sends a predetermined control signal indicating fast feed or fast return reproduction to reproduction control section 17 comprised of tracking servo circuit, etc. The reproduction control section 17 allows pick-up within reproducing section 11 to carry out repetitive operation of track jump and data read operation on the basis of the control signal. With respect to picture data sent from reproducing section 11, error start codes are inserted at error start code inserting section 12 between picture data of transfer units as shown in FIG. 3. This error start code is in the form of a unique code which cannot be represented even by combination of any other codes similarly to the above-mentioned slice start code and is a code to which kind for error is attached. As such error start code, sequence error code of MPEG may be used. This sequence error code consists of 32 bits. Moreover, slice start code consists of 32 bits, wherein the first 24 bits are "0000 0000 0000 0000 0000 0001" similarly to the above-mentioned picture start code, and 8 bits succeeding (subsequent) thereto have a value of "B4" in hexadecimal notation. Further, error start code is expressed as "0000 0000 0000 0000 0000 0001" and 8 bits succeeding (subsequent) thereto may be a code consisting of 32 bits of a value which can discriminate between those bits and any other start codes. This error start code is inserted for the purpose of preventing invalid data included in picture data of respective transfer units from constituting start code. Timing at which error start code is inserted is instructed from reproduction control section 17. At step S2, when clear signal is sent from CPU 18, receiving buffer 13 clears the remaining picture data. Then, processing operation proceeds to step S3. At the step S3, CPU 18 makes such a setting with respect to frame memory 15 to use the same memory as memory for storing reproduction data of the decoded result and memory for display. Namely, memory corresponding to one memory is used for fast feed and fast return. In the example of FIG. 7, frame memory A is used. In FIG. 7, abscissa indicates time and one block indicates one frame time. Ordinate indicates position in vertical direction of picture. Moreover, arrows of solid line indicates decode operation, and indicate write operation of reproduction data with respect to frame memory. Further, arrows of dotted lines indicate display operation. Display operation displays data corresponding to one frame within time of one frame. Display picture from frame memory is displayed on display unit 16. After such a setting, processing operation proceeds to step S4. At the step S4 and step S5, decoder 14 makes search for start code by processing start instruction from CPU 18 to continue reading of picture data until slice start code or error start code is detected. If slice start code or error start code is detected, the processing operation proceeds to step S6. At the step S6, decoder 14 judges whether or not the detected code is error start code. In the case where that detected code is error start code, the processing operation returns to step S4. In the case where that detected code is slice start code (which becomes code for synchronization of intra-frame coded data subsequently sent) that is not error start code, the processing operation proceeds to step S7. At the step S7, decoder 14 carries out decode operation. Namely, in decoder 14 of a structure as shown in FIG. 2, variable length decoding circuit 42 searches, at step S4, code of "0000 0000 0000 0000 0000 0001" from data obtained from receiving buffer 13. Thus, slice code or error start code is detected. Then, variable length decoding circuit 42 is operative so that when slice start code or error start code is detected at step S5, it delivers data of 8 bits succeeding (subsequent) to "0000 0000 0000 0000 0000 0001" to error start code detector 41. The error start code detector 41 judges, at step S6, from data of 8 bits delivered from variable length decoding circuit 42 whether that start code is slice start code or error start code. In the case where that start code is slice start code, error start code detector 41 instructs variable length decoding circuit 42 to start output of decode data. At step S7, decode operation of decoder 14 is started. Decode result by decoder 14 is recorded into area within frame memory 15 corresponding to slice No. included in picture data. At step S8, if there is processing stop (end) instruction from CPU 18, decoder 14 completes decode operation. In the case where the decode operation is not completed, the processing operation returns to step S5. By the operation up to now, error start codes and invalid data attached at the first portions of transfer units of inputted picture data are removed. In the case where error start code is found during decode operation, the last invalid data of transfer unit is not used as data unnecessary for decode operation. By the above-described operation, it is possible to decode picture data including invalid data sent from reproducing section 11. Thus, fast feed and fast return operations can be made as the picture signal reproducing apparatus. In this example, since transfer unit of picture data is less than one frame, arrows of solid line indicating decode operation are written by short lines less than one frame in FIG. 7. Difference in length indicates that data quantities of intra-frame coded data included in transfer units are different from each other. In accordance with this system, quantity of intra-frame coded data included in transfer unit may take arbitrary value, and is not therefore limited. The case where picture data of transfer unit sent from reproducing section 11 includes intra-frame coded data more than one frame will now be described. Picture data of transfer units sent from reproducing section 11 includes intra-frame coded data more than one frame as shown in FIG. 8. Error start codes are inserted between picture data of transfer units by error start code inserting section 12. This error start code is in the form of a unique code which cannot be represented even by combination of any other codes similarly to the above-mentioned picture start code, and is a code to which kind for error is attached. This error start code is inserted for the purpose of preventing invalid data included in picture data of respective transfer units from constituting picture start code. Timing at which error start code is inserted is instructed from reproduction control section 17. The picture signal reproducing apparatus which has received such picture data operates in accordance with the flowchart shown in FIG. 9. At step S10, when clear signal is sent from CPU 18, receiving buffer 13 clears the remaining picture data. Then, the processing operation proceeds to step S11. At the step S11, decoder 14 waits frame start delivered from CPU 18. This ensures that decoder 14 is caused to be operative in synchronism with display of display unit 16. CPU 18 outputs frame start in synchronism with synchronizing signal from display unit 16. Respective blocks of decoder 14 operate in synchronism with frame start. Then, the processing operation proceeds to step S12. At the step S12, CPU 18 makes such a setting with respect to frame memory 15 to respectively use different memories as memory for storing reproduction data of decoded result and memory for display. Namely, memories corresponding to 2 frames are used for fast feed and fast return. In the example of FIG. 10, frame memory A and frame memory B are alternately used. In FIG. 10, abscissa indicates time and one block is one frame time. Ordinate indicates position in vertical direction of picture. Moreover, arrows of solid line indicates decode operation, and indicate write operation of reproduction data with respect to frame memory. Further, arrows of dotted lines indicate display operation. Display operation displays data corresponding to one frame within time of one frame. Display picture from frame memory is displayed on display unit 16. After such a setting, the processing operation proceeds to step S13. At the step S13 and step S14, decoder 14 makes search for start code by processing start instruction from CPU 18 to continue reading of picture data until picture start code or error start code is detected. If picture start code or error start code is detected, the processing operation proceeds to step S15. At the step S15, in the case where the detected code was error start code, the processing operation returns to step S13. In the case where the detected code is picture start code (which becomes code for synchronization of intra-frame coded data subsequently sent) that is not error start code, the processing operation proceeds to step S16. At the step S16, decoder 14 carries out decode operation. Namely, in decoder 14 of a structure as shown in the FIG. 4 mentioned above, variable length decoding circuit 42 searches, at step S13, code of "0000 0000 0000 0000 0000 0001" from data obtained from receiving buffer 13. Thus, picture start code or error start code is detected. Then, variable length decoding circuit 42 is operative so that when slice code or error start code is detected at step S14, it delivers data of 8 bits succeeding (subsequent) to "0000 0000 0000 0000 0000 0001" to error start code detector 41. The error start code detector 41 judges, at step S15, from data of 8 bits delivered from variable length decoding circuit 42 whether that start code is picture start code or error start code. In the case where that start code is picture start code, error start code detector 41 instructs variable length decoding circuit 42 to start output of decode data. At step S16, decode operation of decoder 14 is started. Then, decode result by decoder 14 is recorded into area within frame memory 15 corresponding to slice No. included in picture data. By the operation up to now, error start codes and invalid data attached at the first portions of transfer units of inputted picture data are eliminated. At step S17, decoder 14 repeatedly returns to step S16 until decode of intra-frame coded data of one frame is completed. When such decode operation is completed, the processing operation proceeds to step S18. It should be noted that decoder 14 is instructed in advance from CPU 18 with respect to frame size. At the step S18, if there is stop (end) instruction from CPU 18, decoder 14 completes decode operation. In the case where such decode operation is not completed, the processing operation returns to step S11 to repeat the above-described operation. Then, the last invalid data of transfer units are removed in the process for seeking for picture start code. By the above-described operation, it is possible to decode picture data including invalid data sent from reproducing section 11. Thus, fast feed and fast return operations can be made as the picture signal reproducing apparatus. In this example, since transfer unit of picture data is more than one frame and decode operation is carried out with one frame being as a unit, arrows of solid line indicating decode operation are written by line corresponding to one frame in FIG. 10. While there is difference of one frame between decode operation and display operation in the example of FIG. 10, such difference may be more than one frame, or less than one frame. In this system, such a difference is not limited.

Claims: A picture signal decoding method for decoding a coded picture signal recorded on a recording medium (10) to carry out fast feed or fast return reproduction, the method comprising: reproducing successive predetermined transfer units of the recorded signal, each transfer unit including a unique code and intra-frame coded data; detecting (S5; S14) the unique code; and decoding (14) the reproduced coded picture signal in synchronism with the detected unique code to generate a decoded picture; the method being characterised by: inserting (12) a second unique code between the predetermined transfer units, the second unique code including both a common code that is included also in the first-mentioned unique code and a non-common code that is not included in the first-mentioned unique code; and discarding a portion of the reproduced coded picture signal between detecting the first-mentioned unique code and the second unique code. A method according to claim 1, wherein the detection of the first-mentioned unique code comprises detecting the common code and discriminating between the first-mentioned and second unique codes on the basis of presence or absence of the non-common code. A method according to claim 1 or claim 2, wherein the first-mentioned unique code is a slice start code that indicates the start of a plurality of slices into which a frame is divided, and each predetermined transfer unit includes at least one slice start code and intra-frame data of at least one slice. A method according to claim 1 or claim 2, wherein the first-mentioned unique code is a picture start code that indicates the start of a frame, and each predetermined transfer unit includes at least one picture start code and intra-frame data of at least one frame. A picture signal decoding apparatus for decoding a coded picture signal recorded on a recording medium (10) to carry out fast feed or fast return reproduction, the apparatus comprising: means (11, 17) for reproducing successive predetermined transfer units of the recorded signal, each transfer unit including a unique code and intra-frame coded data; means for detecting (S5; S14) the unique code; and means (14) for decoding the reproduced coded picture signal in synchronism with the detected unique code to generate a decoded picture; the apparatus being characterised by: means (12) for inserting a second unique code between the predetermined transfer units, the second unique code including both a common code that is included also in the first-mentioned unique code and a non-common code that is not included in the first-mentioned unique code; and means for discarding a portion of the reproduced coded picture signal between detecting the first-mentioned unique code and the second unique code. Apparatus according to claim 5, wherein the means for detecting the first-mentioned unique code is operative to detect the common code and discriminate between the first-mentioned and second unique codes on the basis of presence or absence of the non-common code. Apparatus according to claim 5 or claim 6, wherein the first-mentioned unique code is a slice start code that indicates the start of a plurality of slices into which a frame is divided, and each predetermined transfer unit includes at least one slice start code and intra-frame data of at least one slice. Apparatus according to claim 5 or claim 6, wherein the first-mentioned unique code is a picture start code that indicates the start of a frame, and each predetermined transfer unit includes at least one picture start code and intra-frame data of at least one frame.

Inventors: WADA TOHRU, WADA, TOHRU
Applicants: SONY CORP, SONY CORPORATION
Application year: 1994
Main classification: H04N5
IPC codes: H04N7, G11B20, H04N9, H04N5