Hybrid predictive coders and decoders for digital video signals

Abstract: In a coder for digital video signals, the difference between the ditigal video signals and prediction signals is subject to a transform prior to quantisation. In particular, a transform applied to the values of a block of pixels to produce sets of coefficients in the spatial frequency domain. A quantiser (14) acts on the coefficients to product a coded output which is decoded at a local decoder (18) operative on the coded output. The coder further includes means (20) for adding the prediction signal to the output of the local decoder (18) and a framestore (22) which receives the output of the adding means (20). A multiplier (26) multiplies the output of the framestore (22) by a factor slightly less than unity to form the prediction signal.

Description: This invention relates to hybrid predictive coding and decoding of digital video signals, wherein the difference between the digital video signal and a prediction signal is subjected to a transform before effecting quantisation, namely a transform applied to the values of a block of pixels (which may in the simplest case be a row of pixels) to produce sets of coefficients in the spatial-frequency domain. It is known to utilise such a transform to produce de-correlated coefficients, and examples are the discrete cosine transform (DCT) and the slant transform which, together other possible transforms, are described in PRATT, W.K., Digital Image Processing, Wiley-Interscience, New York, 1978. In hybrid DCT coding systems - whether motion-compensated or not - it is likely that transmission errors will produce significant impairments in the decoded picture even with periodic resetting and concealment strategies. A paper by JAIN, J.R., and JAIN, A.K., published in IEEE Transactions on Communications, Vol. COM-29, No.12, December 1981, pages 1799 to 1808, entitled "Displacement Measurement and its Application in Interframe Image Coding" describes the use in a hybrid coder of an improved prediction method which involves introducing displacement measurement (i.e. movement compensation) into the predictor loop. They propose in relation to this to multiply the prediction by a temporal correlation factor α, in order to improve the accuracy of the prediction, as shown in Figure 9 of the paper. The factor α will be in the range 0 to 1. The use of predictor decay is also known in DPCM (differential phase code modulation) systems, but such systems operate essentially on a pixel-by-pixel basis. There is no block-based transform. Reference is also made to a paper by TAKEGAHARA, T., TANABE, H., and SUGANAMI, H., published in IEEE Transactions on Broadcasting, Vol.BC-33, No.4, December 1987, pages 188 to 196, entitled "Sound Transmission for HDTV". This is not concerned with image coding, but with coding a straightforward serial audio signal. It mentions in column 2 on page 188 that truncation errors formed in a near instantaneous companding operation can be adjusted for. In accordance with the present invention, which is defined in its various aspects in the appended claims, it is proposed to reduce the problem of impairments produced by transmission errors by multiplying the prediction signal in both the coder and decoder by a factor slightly less than unity to form a new prediction signal and, thereby, cause transmission errors to decay away, and also to truncate the new prediction signal; any bits discarded by the truncation of the prediction signal being added back into the prediction signal on a pixel-wise or substantially pixel-by-pixel basis. This reduces the problem of truncation errors arising when the prediction error is multiplied by a fraction to introduce predictor decay and the product is truncated. Truncation error feedback operating on a pixel-by-pixel basis would not be expected to be appropriate in coders and decoders using block-based transforms. Surprisingly, we have found that it is in fact a simple and satisfactory solution to the problem of truncation error which would, if uncorrected, destroy the advantage of using predictor decay. The feedback introduces a filter function which shapes the truncation noise frequency spectrum. The precise form of feedback may be modified to achieve a desired shaping, eg. two-pixel by two-pixel feedback, or a combination of feedback terms of this simple nature. The invention will now be explained in more detail, by way of example, with reference to the accompanying drawings, in which: Figure 1 is a block diagram of a hybrid predictive coder, and Figures 2 and 3 are block diagrams showing alternative circuits that can be used in the coder of Figure 1. Figure 1 shows a hybrid predictive coder based upon a known predictive coder loop comprising a subtractor 10 which subtracts a prediction signal P from an input video signal V to form a difference signal D=V-P. This is transformed to (V-P)* by a DCT transform unit 12 of known form operating on a block 8 x 1 pixels (from one video line) or a block of 8 x 8 pixels in eight adjacent lines, to give two of many possible examples. (V-P)* is a set of coefficients in the spatial-frequency domain. (V-P)* is fed to a quantiser 14 whose output is (V-P+E)* where E represents the quantizing error. This output is the coded information which is transmitted to the decoder. The output is also applied to a decoding loop. Block 18 operates inversely on (V-P+E)* with an inverse DCT which is the inverse of the DCT provided by unit 12 to form V-P+E, to which P is added in an adder 20 to provide V+E. V+E is stored in a frame store 22 whose output is the basic prediction signal, denoted P′. The prediction signal may optionally be processed to P″ by a known motion compensator 24 responsive to a motion vector M which may be provided pixel-by-pixel or on a block basis. The prediction signal P′ (or P″ if motion compensation is employed) is then multiplied by a decay factor in a multiplier 26, to which is fed a fixed decay factor F of a little less than unity. The output of the multiplier is P, which is applied to the subtractor 10 and is recirculated to the adder 20. A consequence of introducing predictor decay is to cause the effect of a transmission error to decay away within a number of frames. The decay time is determined by the decay factor. However, the amount of decay cannot be increased beyond a certain limit without impairing the performance of the predictor. Specifically, a predictor decay factor of 31/32 together with truncation-error feedback is suggested. The truncation-error feedback removes low-frequency noise which is introduced by the truncation of the predictor accuracy to 8 bits, as explained below. Increasing the decay reduces slightly the performance of the inter-frame predictor. As a consequence, the proportion of blocks coded in the intra-mode (spatial blocks) will be increased and the signal to noise ratio S/N will decrease. The influence of decay factor on S/N has been measured for a few values of decay using a selected video frame sequence of seven frames. The results are given below in Table 1, relating to codec (coder/decoder) performance at 17Mbits/sec. From these results it can be seen that a decay factor of 0.97 (=31/32) causes only a slight degradation in S/N performance. With this decay factor an error will decay by one half or more within about 20 frames. For comparison, the typical time between periodic intra-mode resets might be about 50 frames. It is probable that the decoding loop (frame stores, motion compensation stores and adders) of the complementary decoders will work to 8-bit accuracy for reasons of cost etc. In this case, as the effects of any transmission error decay away in the decoder, the truncation to 8 bits after multiplication by the decay factor adds a small random truncation-noise component into the decoder loop. Since the decoder loop has a gain given by: Gain of loop = 1/(1-decay factor), the noise is, in effect, multiplied by the gain of the loop which is 32 for the proposed decay factor of 31/32. This means that, in the absence of resetting, the effect of limited accuracy in the coder and decoder decoding loops is clearly visible, particularly as low-frequency noise on the decoded picture. We have appreciated that the visibility of this noise can be reduced by feeding back the truncation error in both the coder and decoder on a pixel-by-pixel basis. This is shown in Figures 2 and 3. The feedback removes any low-frequency component in the truncation error. The same feedback must be applied at both coder and decoder. The circuit of Figure 2 replaces the multiplier 26 in Figure 1. The multiplier 26 is incorporated in Figure 2 and its output is partitioned into a most significant 8 bits representing P and a least significant 7 bits representing a truncation error T. In Figure 2 the symbolism 8.7 (for example) indicates an 8-bit whole number portion with 7 fractional bits. An adder 30 adds the truncation error to P′ or P″ and the sum is buffered in a set of fifteen D-type latches forming a register 32 clocked at pixel rate. The register 32 provides the input to the multiplier 26. Figure 3 shows an alternative to the circuit of Figure 2, in which the adder and register are connected after the multiplier in the loop. As noted in the introduction above, the precise form of feedback may be modified to achieve a desired truncation noise frequency spectrum shaping, e.g. two-pixel by two-pixel feedback, or a combination of feedback terms of this simple nature. The effects of error decay can be demonstrated using a coder-only simulation by forcing to zero the input of the local decoder 18 and then observing the decay of the existing information in the local-decoder framestore 22. Without error feedback, the areas of positive feedback decay to zero, and the negative areas tend to decay to level -31 (assuming mid-grey is level zero). With error feedback all areas decay to level zero. Introduction of a predictor decay at 31/32 together with truncation error feedback on a pixel-wise basis improves the performance of the decoder in the presence of transmission errors without significantly changing the picture quality in the absence of errors. The decoder is not shown separately, but is simply outlined in chain-dotted lines on Figure 1. As is well known it will comprise blocks 18, 20, 22 and 26 of Figure 1 with the received signal (V-P+E)* applied to the input to block 18, the inverse transform. Block 26 is again replaced by either of the circuits shown in Figures 2 and 3. The same circuit must be chosen for use in both the coder and decoder.

Claims: A method of transmitting an input digital video signal, the method comprising, at a coder: forming a difference signal representing the difference between an input video signal and a prediction signal; transform coding successive blocks of pixels in the difference signal to produce sets of coefficients in the spatial-frequency domain; quantising the coefficients to produce a coded output signal for transmission; and decoding the coded output signal to generate the prediction signal; and at a decoder: receiving the coded transmitted signal; and decoding the coded transmitted signal to generate a prediction signal as a decoded output signal; and in which each decoding step comprises: inverse transform coding successive blocks of the respective coded signal using a transform function which is the inverse of the transform function used in the transform coding in the coder, to provide an inverse transformed signal; combining the inverse transformed signal with the prediction signal in an adder to produce a recirculating prediction signal; and multiplying the recirculating prediction signal by a factor slightly less than unity to produce said prediction signal; characterized by truncating the multiplied signal and adding any bits discarded by the truncation back into the recirculating signal on a pixel-wise basis. A method according to claim 1, in which the said factor is a fixed factor. A method according to claim 1 or 2, in which the said factor is greater than 0.9. A method according to claim 3, in which the said factor is 31/32. A method according to any preceding claim, including the step of motion compensating the recirculating signal between the combining and multiplying steps. A method according to any preceding claim including the step of storing a frame of the recirculating signal. A method according to any preceding claim, in which the transform is a discrete cosine transform. A method according to any preceding claim, in which the discarded bits are added back to the recirculating input to the multiplication. A method according to any preceding claim, in which the discarded bits are added back on a pixel-by-pixel basis, on a two-pixel by two-pixel basis, or on the basis of a simple combination of pixels. A coding method for use in the method of claim 1, comprising: forming a difference signal representing the difference between an input video signal and a prediction signal; transform coding successive blocks of pixels in the difference signal to produce sets of coefficients in the spatial-frequency domain; quantising the coefficients to produce a coded output signal for transmission; inverse transform coding successive blocks of the coded output signal using a transform function which is the inverse of the transform function used in the transform coding to provide an inverse transformed signal; combining the inverse transformed signal with the prediction signal in an adder to produce a recirculating prediction signal; and multiplying the recirculating prediction signal by a factor slightly less than unity to produce said prediction signal; characterized by truncating the multiplied signal and adding any bits discarded by the truncation back into the recirculating signal on a pixel-wise basis. A decoding method for use in the method of claim 1, comprising: receiving a coded transmitted signal; inverse transform coding successive blocks of the coded transmitted signal to provide an inverse transformed signal; combining the inverse transformed signal with the prediction signal in an adder to produce a recirculating prediction signal; and multiplying the recirculating prediction signal by a factor slightly less than unity to produce said prediction signal; characterized by truncating the multiplied signal and adding any bits discarded by the truncation back into the recirculating signal on a pixel-wise basis. Coding apparatus for use in the method of claim 1, comprising: a subtractor (10) for forming a difference signal (V-P) representing the difference between an input video signal (V) and a prediction signal (P); a transform coder (12) operative on successive blocks of pixels in the difference signal to produce sets of coefficients in the spatial-frequency domain; a quantiser (14) for quantising the coefficients to produce a coded output for transmission; an inverse transform coder (18) operative on successive blocks of pixels in the coded signal and using a transform which is the inverse of that used in the transform coder, to provide an inverse transformed signal; and a recirculating loop comprising combining means (20) for combining the inverse transformed signal with the prediction signal, and a multiplier (26) for multiplying the recirculating prediction signal by a factor slightly less than unity; characterized in that the multiplied signal is truncated, and by means (30) for adding any bits discarded by the truncation back into the recirculating signal on a pixel-wise basis. Decoding apparatus for use in the method of claim 1, comprising: means for receiving a coded transmitted signal; an inverse transform coder (18) operative on successive blocks of pixels in the coded signal to provide an inverse transformed signal; and a recirculating loop comprising combining means (20) for combining the inverse transformed signal with the prediction signal, and a multiplier (26) for multiplying the recirculating prediction signal by a factor slightly less than unity; characterized in that the multiplied signal is truncated, and by means (30) for adding any bits discarded by the truncation back into the recirculating signal a pixel-wise basis. Apparatus according to claim 12 or 13, in which the said factor is a fixed factor. Apparatus according to claim 12, 13 or 14, in which the said factor is greater than 0.9. Apparatus according to claim 14, in which the said factor is 31/32. Apparatus according to any of claims 12 to 16, including a motion compensator (24) for motion compensating the recirculating signal between the combining means (20) and the multiplier (26). Apparatus according to any of claims 12 to 17, including a frame store (22) between the combining means (20) and the multiplier (26). Apparatus according to use in any of claims 12 to 18, in which the inverse transform coder (18) is an inverse discrete cosine transform coder. Apparatus according to any of claims 12 to 19, in which the adding means (30) is located at the recirculating input to the multiplier. Apparatus according to any of claims 12 to 20, in which the adding means adds the discarded bits back on a pixel-by-pixel basis, on a two-pixel by two-pixel basis, or on the basis of a simple combination of pixels.

Inventors: WELLS NICHOLAS DOMINIC, WELLS, NICHOLAS DOMINIC
Applicants: BRITISH BROADCASTING CORP, BRITISH BROADCASTING CORPORATION
Application year: 1990
Main classification: H04N7
IPC codes: H04N7, G06T9