VIDEO SIGNAL CODING

Abstract: A method of coding a video signal representing a moving picture, the method comprising generating a first set of digital signals representing a first sequence of frames of the video signal and at least one further set of digital signals representing a further sequence of frames of the video signal, the further sequence being frames m+n, m+2n, m+3n, m+4n..... of the video signal, n being an integer not equal to 0 or 1. The or each further sequence of frames may be a subset of the first sequence. An interactive video system can access and transmit a set as requested by a consumer without further processing of the digital signals.

Description: VIDEO SIGNAL CODING This invention relates to the coding of video signals and in particular the coding of video signals for storage and subsequent transmission. Broadcast quality television signals require around 6 MHz of analogue bandwidth or in excess of 100 Mbit/s of information for a digital format obtained by sequentially sampling an analogue signal to produce a PCM digital signal. Such high bit rate signals are expensive to transmit and/or impracticable to transmit via limited bandwidth systems. Therefore it is desirable to reduce the amount of information required. This can be done by taking advantage of the correlation between neighbouring elements of a picture (pixels) and thus compromising between the reduction in information and the quality of the picture. Redundancy reduction techniques assume there is some correlation between neighbouring pixels, either in space and/or in time. For instance, in an area of a scene which is relatively uniform (for instance a wall of a room), the pixel values of neighbouring pixels within this area are likely to be fairly close. Similarly, in a fairly static scene, the pixels of one frame will correspond closely to the equivalent pixels of a previous frame. Hence pixels of a single frame can be coded with respect to their relationship to each other (intraframe coding) and/or with respect to their relationship with pixels of neighbouring frames (interframe coding). Intraframe coded frames (intrapictures) can clearly be decoded without reference to any other frame whilst interframe coded frames (interframes) require information relating to the frames used in the prediction. Differential coding techniques may also be used to compress video signals further. Since interframe differential coding may result in the irretrievable loss of some information owing to transmission errors, artefacts will occur in a decoded picture if only interframe differential coding is used. It is thus usual for a combination of intra- and inter-frame coding techniques to be used, the intrapictures restoring the integrity of the decoded signal. Other compression techniques can also be employed; for instance transform coding which seeks to exploit the correlation of pixel magnitudes within a frame by finding another set of coefficients, the magnitude of many of which will be relatively small. These coefficients can then be quantised coarsely or omitted altogether. The transform coefficients of a frame can thus be coded using less information. One popular form of transform coding uses the discrete cosine transform (DCT). Another form of interframe compression coding is motion compensation coding which involves the identification of areas in successive frames which appear to correspond. A motion vector is calculated for each such area which identifies the corresponding area in a reference frame and a predicted frame is then formed from the reference frame and the motion vectors. Errors between the predicted frame and the actual frame are then calculated and, together with the motion vectors, coded. This may result in less information to be transmitted than coding two frames without motion compensation. The compression of video signals is the subject of much standardisation work. One such standard is the ISO-IEC 1 1 172 standard "Coding of moving pictures and audio for digital storage media at up to about 1 .5 Mbit/s", known as MPEG-1 , which relates to the storage of video and associated audio on digital storage media such as CD-ROM, digital audio tape (DAT), tape drives, writable optical drives or for transmission over telecommunication channels such as an integrated services digital network (ISDN) and local area networks. Such coding techniques are attractive for the provision of audiovisual services over limited bandwidth systems. The time taken to access and retrieve a stored video signal can be prohibitive to the provision of interactive video services in which a consumer selects a particular service from a range of available services. The access time is increased dramatically if the stored video signal requires further processing before it can be output to a display device. A recent development in such services is the provision of home entertainment or shopping services in which a consumer selects a service from a range on offer and the relevant video signal is transmitted to the consumer's premises from a central server. In a video-on-demand environment, for example, a consumer uses a central video server in the manner of a remote video cassette player. Consumers therefore expect the same facilities as they would have on their own video cassette player e.g. the facility to play, pause, stop, fast forward and reverse. Various processors are available which provide these facilities. When a consumer requests play, the coded video signal stored at the remote server is transmitted to the consumer. A local decoder at the consumer's premises decodes the incoming signal to produce a video image on a television set. In the pause mode, a pause signal is sent to the server which, in response, sends a signal to the consumer's decoder indicating that the frame is unchanged. When fast forward or reverse is selected however, the coded signal must be processed further by the video server. When a consumer requests fast forward, a signal is sent to the server which then transmits every, say, fourth frame of the coded signal. If the video signal is in an uncompressed format, the server has to locate the beginning of every fourth frame in the video signal and transmit these to the consumer. This is very processor and time intensive and may result in a delay that would be unacceptable to consumers. Similarly, if compression coding techniques have been employed, the fifth frame of the picture may have been coded with reference to the fourth frame. If in the fast forward mode only the first, fifth, ninth etc. frames are to be sent, each frame to be sent must be recoded with respect to the preceding frame to be sent. This is very processor- and time-intensive. For video signals coded using intraframe coding, it is known to provide a fast forward mode by extracting the intraframe coded frames (intrapictures) from the encoded video signal and transmitting these frames in their original order. Similarly they could be sent in the reverse order for the fast reverse mode. Examples of such systems are described in Japanese patent application publication nos. 3-66272 and 3-85974. However, not only does the server, on receiving a fast forward request signal, have to search the coded signal for intrapictures but the bit rate of the resulting signal will be increased as compared to the play mode since the intrapictures include relatively little compression. The decoder at the consumer's premises therefore has to be able to manage excessive changes in the bit rate. In accordance with the invention a method of coding a video signal representing a moving picture, the method comprising generating a first set of digital signals representing a first sequence of frames of the video signal and at least one further set of digital signals representing a further sequence of frames of the video signal, the further sequence being frames m + n, m + 2n, m + 3n, m +4n of the video signal, n being an integer not equal to 0 or 1. Thus any combination of sets of digital signals representing play, reverse, fast forward and fast reverse can be generated. It will be appreciated that the generated sequences of digital signals will have an increased storage requirement compared to a single sequence representing a play mode. However, the coded sequences of data can be played back without any further processing of the data. Preferably the sequences are coded using the same coding technique, so that the average bit rate of the sequences is the same. A decoder for decoding the sequences can therefore be simplified as compared to known decoders since the decoder does not need to include means for managing excessive changes in bit rate. The sequences may be generated using any suitable coding techniques such as PCM or compression coding. A combination of intraframe, interframe, differential, DCT and motion compensation techniques may be used. Preferably a technique that conforms to ISO 1 1 172 or CCITT Recommendation H.261 is employed. The sequences preferably represent a play mode and any combination of a reverse play mode, a fast forward mode or a fast reverse mode, the further set of frames in the latter two cases being a subset of the frames of the play or reverse mode. Any suitable number of playback modes may be provided; for example two fast forward modes may be coded, one at three times the speed of the normal play mode and another at six times the speed of the play mode. The invention also provides a data carrier having recorded thereon a first set of digital signals being a coded representation of a first sequence of frames of a video signal and a second set of digital signals being a coded representation of a second different sequence of frames, each frame of said second sequence being the same as a frame in the first sequence and each frame of the second sequence (other than the last) being followed by a frame other than the one which followed it in the first sequence. Preferably in the first sequence, each frame k is followed by frame k + 1 and in the second sequence each frame m is followed by frame m + n, where n is a positive or negative integer other than 0 or 1 . The or each further sequence of frames may be a subset of the first sequence. The subset may represent a fast forward playback mode and/or a fast reverse playback mode. The sets of digital signals are preferably coded such that they may be decoded by the same decoding method. The data carrier may take any suitable form, for instance CD-ROM, DAT, tape drives or writable optical drives. For a typical fast forward or fast reverse sequence to run at 6 times the play speed, an extra storage capacity of 16% would be required compared to the storage capacity required for a sequence corresponding to the play mode only. There is. also provided according to the invention a video replay apparatus comprising switching means for switching between a first sequential file and a second sequential file of a record medium, a position counter for recording the current position on a sequential file being played and means, responsive to the position counter and to information stored on the record medium, to determine a corresponding position on the other sequential file. ~~ Preferably the determining means, responsive to information stored on the record medium relating to the lengths of the sequential files, calculates the proportion of the length of the file being played that is represented by the current position in said file and calculates the position in the said other file that corresponds to the same proportion of the length of the other file. Thus if the file being played represents a play mode of a moving picture and the current position is 25% through the sequential file, the corresponding position in a second sequential file representing a fast forward mode, is 25% through the second file. Similarly, if the first file represents a play mode of a moving picture and the second file represents a reverse mode, the corresponding position in the reverse mode can be determined by calculating the remaining proportion of the length of the file being played and calculating the position in the said other file that corresponds to the remaining proportion of the file being played. Hence if the player is 75% of the way through the first file, the corresponding position is 25% of the way through the second file. The video replay apparatus may be used in an interactive video system in which the record medium is accessed in response to a signal from a remote consumer and a relevant sequence is output for reception by a decoder at the consumer's premises. According to a further aspect of the invention a video coder comprises a pre-processor for selecting frames of a video signal, coding means for generating a first set of digital signals representing a first sequence of frames of the video signal and at least one further set of digital signals representing a further sequence of frames m, m + n, m, + 2n, m + 3n... of the video signal, n being an integer not equal to 0 or 1 , and means for writing the sequences onto a data carrier. The or each further sequence of frames may be a subset of the first sequence, so representing fast forward or fast reverse playback modes of the video signal. Preferably the first set of digital signals represents every frame of the video signal. Preferably the coding means includes interframe differential coding means. The invention will now be described further by way of example only with reference to the accompanying drawings in which: Figure 1 shows a coder according to the invention; Figure 2 is a schematic diagram indicating coded sequences produced by the coder of Figure 1 ; and Figure 3 shows an interactive video system according to the invention. Figure 1 shows a coder 2 for coding a digital video signal according to the MPEG-1 standard. This standard relates to the coding of video at bit rates around 1.5 Mbit/s. The MPEG-1 standard features intrapictures and predicted pictures, which may be coded with reference to a preceding intrapicture or a preceding predicted picture. The MPEG-1 standard also features interpolated pictures which are coded with reference to a past and/or a future intrapicture or predicted picture. The coder of Figure 1 is intended to generate coded sequences representing three playback modes of the input video signal: play, fast forward and fast reverse. To generate a fast forward or fast reverse sequence at n times normal play speed, every nth frame of the input video signal is coded. Hence a fast forward speed that is 3 times normal play speed corresponds to every third input frame after the first being coded and, similarly, the fast reverse speed corresponds to every third input frame, in the fast reverse order, being coded. A digital video signal (representing a moving picture) is input to a pre¬ processor 3 which selects the frames of the video signal which are to be coded. When the play sequence is to be generated, the pre-processor does not need to reorganise the input signal and thus the frames are passed directly to a current frame store 4. When a sequence other than the play or reverse sequence is to be generated, the pre-processor must select the frames to be coded. For instance, to generate a sequence representing a fast forward playback mode at three times the normal play mode, the pre-processor 3 outputs the first and every third frame thereafter to the current frame store 4. Similarly, when a fast reverse mode is to be coded, the pre-processor selects the relevant frames from the input video signal, when it-is played in reverse. The frames selected by the pre-processor 3 are input, frame by frame, to the current frame store 4 which stores a single input frame of the video signal. The first input frame k of the video signal is coded as an intrapicture and thus is the only input to a subtracter 5. The output of the subtracter 5 is input to a DCT transformer 6 which transforms the input data into DCT coefficients which are then quantised by a quantiser 8. The data then passes to a variable length coder (VLC) 10 which codes the data from the quantiser. The resulting coded data for the first frame k is then stored on a record medium 12. Data from the quantiser 8 also passes to an inverse quantiser 1 8 and an inverse DCT 20 to reproduce the current frame of the input signal. This frame is stored in a previous frame store 22. A second frame store 24 stores subsequent frames which, together with the frame stored in the previous frame store 22, can be used to code a frame using bidirectional coding techniques, as is required in the MPEG-1 standard. Following frames of the input signal are coded using forward prediction, bidirectional prediction or intraframe techniques. To generate a play sequence, every frame k, k + 1 , k + 2... input to the pre¬ processor is coded. For this purpose, as described above, the output of the inverse DCT 20 is stored in the previous frame store 22. On the input of a second frame k + 1 to the current frame store 4, the contents of the previous frame store 22 and the current frame store 4 are input to a motion estimator 26 which calculates the motion vectors for the current frame k + 1 . The motion vectors are input to a motion compensation predictor 28 together with the contents of the previous frame store 22 to produce a prediction of the current frame. This predicted frame is subtracted from the actual current frame of the input signal by the subtracter 5 and the resulting difference signal processed by the DCT 6 and the quantiser 8. The signal is then coded, as described above, by the VLC 10 which also multiplexes the coded difference signal with the motion vectors, quantisation parameters and inter/intra classification necessary for subsequent decoding. This coded data is then stored on the record medium 12. The processing of the input video signal continues on a frame by frame basis until the whole video signal is coded. The record medium 12 will then contain a sequence of coded data representing the play mode of the video signal. To generate a fast forward sequence at three times the normal play speed, every third frame m + 3, m + 6, m + 9.... of the video signal after the first frame m is coded. When the fourth frame of the video signal is input to the current frame store 4 from the pre-processor 3, the predicted frame calculated from the contents of the previous frame store 22 (i.e the first frame m) and the motion estimator 26 is subtracted by subtracter 5 from the actual fourth frame m + 3 stored in current frame store 4. The difference signal produced is then processed by the DCT 6, the quantiser 8 and the VLC 10 and stored on the record medium 12. This coding process continues for every third frame m + 6, m + 9... as schematically illustrated in Figure 2, the intervening frames being ignored. Similarly, to generate a fast reverse sequence, every third frame of the reversed video signal is coded. Thus for a first frame m, which is at the end of a video signal, frames m-3, m-6, m-9.... are coded. This coded sequence is also stored on the record medium 12. Hence three sequences of coded data are generated independently of each other: one representing the play mode, one representing the fast forward mode and one representing the fast reverse mode. All the sequences have the same constant average bit rate since they are encoded using the same coding technique. Figure 3 shows a system for supplying an interactive service, for example video-on-demand. A server 30, for instance a mainframe computer, is connected to a number of remote decoders 32 located at consumers' premises via telecommunication links 34. The server 30 receives signals from the consumers and accesses a record medium 12 on which are stored files of coded data generated as described above. On receipt of a signal from a consumer, the server accesses the relevant file and transmits the data to the consumer's decoder 32 via the link 34. The decoder 32 at the consumer's premises decodes the coded data and displays the resulting video signal on a television set. The server 30 is able to move from one file to the other without an unacceptable positioning error within the files owing to the constant average bit rate of the digital data stored in the files. Interpolation from one file to another can be achieved using a pointer to the position within the file and the lengths of the particular file. That is to say: Pθs fast rervvard = poS p i av x length fast torward / length P ι ay where: pos = position within the file, in any suitable dimension e.g. time, bits etc. length = length of file , in the same units as pos Thus, if a consumer has viewed 75% of a film and requests fast forward, the server calculates the corresponding position in the fast forward file as follows: POS fast f 0rW ard = 75 X length fast forward / 1 00 i.e. the server accesses the fast forward sequence three quarters of the way through the sequence. When the consumer requests play mode, the server calculates the position reached within the fast forward sequence and calculates the corresponding position within the play sequence, as described above. Similarly, the corresponding position within a fast reverse sequence can be calculated from the current position within the play sequence as follows: POS- everse = (length p i a y - pos play ) x length reverse /lengthpi av Whilst the above embodiment of the invention has been described with reference to a video-on-demand system, it should be appreciated that the invention may be employed in any other suitable interactive video system, for instance home shopping, entertainment, banking, education, training services etc.

Claims: CLAIMS 1 . A method of coding a video signal representing a moving picture, the method comprising generating a first set of digital signals representing a first sequence of frames of the video signal and at least one further set of digital signals representing a further sequence of frames of the video signal, the further sequence being frames m + n, m + 2n, m + 3n, m +4n of the video signal, n being an integer not equal to 0 or 1 . 2. A method according to Claim 1 wherein the further sequence of frames is a subset of the frames represented by the first sequence. 3. A method according to Claim 1 or 2 wherein the first set of digital signals represent every frame of the video signal. 4. A method according to Claim 1 , 2 or 3 wherein each sequence is generated by the same coding technique. 5. A method of coding according to any preceding claim wherein the sequences are generated by employing interframe differential coding. 6. A video replay apparatus comprising switching means for switching between a first sequential file and a second sequential file of a record medium, a position counter for recording the current position on a sequential file being played and means, responsive to the position counter and to information stored on the record medium, to determine a corresponding position on the other sequential file. 7. A video replay apparatus according to claim 6 wherein the determining means, responsive to information stored on the record medium relating to the lengths of the sequential files, calculates the proportion of the length of the sequential file being played that is represented by the current position in said sequential file and calculates the position in the said other sequential file that corresponds to the same proportion of the length of the other sequential file. 8. A video replay apparatus according to claim 6 wherein the determining means, responsive to information stored on the record medium relating to the lengths of the sequential files, calculates the remaining proportion of the length of the sequential file being played that is represented by the current position in said sequential file and calculates the position in the said other sequential file that corresponds to the remaining proportion of the sequential file being played. 9. A video replay apparatus as claimed in any one of claims 6 to 8 including means for processing signals from at least one remote location and means, responsive to a- signal from a remote location, for accessing sequential files on the record medium and outputting a relevant sequential file for transmission to the remote location. 10. A data carrier having recorded thereon a first set of digital signals being a coded representation of a first sequence of frames of a video signal and a second set of digital signals being a coded representation of a second different sequence of frames, each frame of said second sequence being the same as a frame in the first sequence and each frame of the second sequence (other than the last) being followed by a frame other than the one which followed it in the first sequence. 1 1 . A data carrier according to Claim 10 wherein the second sequence of frames is a subset of the first sequence. 12. A data carrier according to claim 10 wherein, in the first sequence, each frame k is followed by frame k + 1 and in the second sequence each frame m is followed by frame m + n, where n is a positive or negative integer other than 0 or 1 . 1 3. A data carrier according to Claim 10, 1 1 or 12 wherein, in use, each set of digital signals is read from the data carrier according to the same decoding algorithm. 14. A video coder comprising a pre-processor for selecting frames of a video signal, coding means for generating a first set of digital signals representing a first sequence of frames of the video signal and at least one further set of digital signals representing a further sequence of frames m, m + n, m, + 2n, m + 3n... of the video signal, n being an integer not equal to 0 or 1 , and means for writing the sequences onto a data carrier. 1 5. A video coder according to Claim 14, wherein a further sequence of digital signals represents a sequence of frames that is a subset of the first sequence. 16. A video coder according to Claim 14 or 1 5, being operable to encode every frame of a video signal to generate the first sequence. 17. A video coder according to Claim 16, wherein the first sequence represents a play mode of the moving picture and a further sequence represents a fast forward mode. 18. A video coder according to any one of Claims 14 to 17, wherein the coding means includes interframe differential coding means.

Inventors: SEARBY STEPHEN, SEARBY, STEPHEN
Applicants: BRITISH TELECOMM, SEARBY STEPHEN, BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY, SEARBY, STEPHEN
Application year: 1995
Main classification: H04N7
IPC codes: G11B27, H04N5, H04N7, H04N9