Device for encoding a video signal

Abstract: A device comprising an MPEG encoder (2) is provided with a preanalyser (8) which encodes each picture with a fixed step size (Q₂). The preanalyser is coupled to a computing circuit (9) which computes, for each type of (I, P, B) picture, a target value (T) for the number of bits for encoding said picture, as well as a suitable distribution of the target value among the macroblocks of the picture. A proportionally integrating control circuit (7) controls the quantization step size (Q₁). Since the PI control circuit does not introduce any residual errors, the desired number of bits per picture or per group of pictures is achieved within narrow limits. The output signal is eminently suitable for recording and subsequent editing.

Description: The invention relates to a device for encoding a video signal. More particularly, the invention relates to a device for encoding groups of pictures, some pictures of which are subjected to independent encoding and other pictures are subjected to motion-compensated predictive encoding. A device of the type described in the opening paragraph is known by the name of MPEG encoder and is described, inter alia in "Coding of moving pictures and associated audio for digital storage media up to about 1.5 Mbit/s", ISO/IEC IS 11172 and, more particularly, in "MPEG 2 Test Model 5", ISO/IEC JTC1/SC29/WG11/N0400, April 1993. The known device for encoding video signals comprises means for dividing each picture into a plurality of sub-pictures, and an encoder comprising a picture transformer for transforming each sub-picture into coefficients, and a quantizer for quantizing the coefficients with an applied step size. Either individual pictures or motion-compensated differential pictures are applied to the encoder. At least one picture of a group of pictures (GOP) is intraframe ( i.e. independently) encoded. Such a picture is referred to as I picture. Other pictures are subjected to motion-compensated interframe ( i.e. predictive) encoding. In forward prediction the term P pictures is sometimes used, in bidirectional prediction the term B pictures is sometimes used. A frequently occurring division of a GOP is, for example the series "IBBPBBPBBPBB". Moreover, the device comprises control means for controlling the step size in conformity with a target value for the number of bits for encoding the applied picture. The control means have for their object to obtain a constant bitrate, in spite of the enormous spread in the number of bits produced for the separate pictures. In order to generate, on average, a constant number of bits per GOP, the document MPEG 2 Test Model 5 states that the known device computes a target value for the number of bits for each picture in dependence upon the complexity of this picture. Said complexity is fixed with reference to the encoding results of the previous picture of the same type (I, P, B). This previous picture may, however, be relatively old. For example, the previous I picture in the GOP "IBBPBBPBBPBB" is always situated 12 pictures back in time. The known device comprises slowly controlling control means for maintaining the average bitrate constant, in spite of the temporal changes to which the complexity of pictures is subject. This causes large fluctuations in the number of bits per GOP. The known device is not suitable for producing a bit stream for recording because editing of recorded signals and display at different speeds requires a constant number of bits per at least an integral number of pictures. It is an object of the invention to obviate the above-mentioned drawbacks. According to the invention, which is defined in appended claim 1, the device comprises an additional encoder for encoding the applied picture in response to a fixed step size, and computing means for computing the target value from the picture thus encoded in dependence upon the type of (I, P, B) picture. It is thereby achieved that the complexity of the current picture is now taken into account for computing the target value. This reduces the fluctuations of the number of bits per GOP to a considerable extent. It is to be noted that the use of an additional encoder having a fixed step size is known per se from "Hardware Implementation of the Framestore and Datarate Control for a Digital HDTV-VCR", a discourse held at the HDTV Symposium in Japan, November 1992. However, this publication relates to intraframe encoding of a signal, so that only I pictures are obtained. The additional encoder only determines the relative distribution of the number of bits in the I picture and is not coupled to computing means for computing the target value (with full intraframe encoding, the target value for all pictures is equal and known in advance). It is also to be noted that EP-A-0 541 302 discloses a variation of a quantization step size depending upon the type of picture (I, P or B), and that EP-A-0 540 961 is concerned with the optimum distribution of a target number of encoded bits to different types of pictures (I, P or B) within a group of pictures. The fixed step size which is applied to the additional encoder may be constituted by the average step size with which the previous P picture has been encoded. Particularly realistic target values for each type of picture are obtained if the fixed step size is constituted by the average step size with which a previous picture of the same type (I, P, B) has been encoded. In a favourable embodiment of the device, the computing means comprise a distribution circuit for distributing the computed target value among the sub-pictures of a picture in proportion to the number of bits generated for these sub-pictures by the additional encoder. The control means are adapted to control the step size in response to the local target value for each sub-picture. In this way a profile is obtained of the need of bits for the sub-pictures. For example, a picture comprising, from top to bottom, a clear blue sky, terrace houses and a very detailed flowerbed, can be optimally encoded because the distribution circuit "foresees" that more bits are spent on sub-pictures as they are more detailed and more difficult to encode. Thus, a uniform distribution of picture quality in a picture is obtained. The bit stream produced by the device not only comprises coefficient data but also quantization-independent information. The MPEG syntax comprises, inter alia , motion vectors of a block and control bits indicating whether a bit series is produced by intraframe or interframe encoding of the block. For some sub-pictures, the bits required for this "overhead" may constitute a considerable fraction of the number of bits with which this sub-picture is transmitted. To prevent the target value for a sub-picture from being spent to a considerable extent on overhead bits, the computing means comprise a distribution circuit for distributing the target value among the sub-pictures in proportion to the number of quantization-dependent bits generated for these sub-pictures by the additional encoder. In this way an even better distribution of picture quality in a picture is obtained. In a very favourable embodiment of the device, the control means are constituted by means for forming a control signal which is representative of the difference between the cumulative target values for each sub-picture and the number of bits produced by the encoder. The control signal thus formed is applied to a proportionally integrating control circuit. Such a circuit does not introduce any statistic errors, so that the number of bits per GOP is constant within narrow limits. A bit stream obtained by means of this embodiment is eminently suitable for recording and subsequent editing and display at different speeds. These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter. In the drawings Fig. 1 shows a device for encoding a video signal according to the invention. Figs. 2 and 3 show embodiments of a computing circuit shown in Fig. 1. Fig. 4 shows an embodiment of a control circuit shown in Fig. 1. Fig. 5 shows a diagram to explain the operation of the control circuit shown in Fig. 4. Fig. 6 shows an embodiment of a step size determining circuit shown in Fig. 1. Fig. 1 shows a device for encoding a video signal according to the invention. The device comprises a memory 1 in which each picture is split into blocks of, for example 8*8 pixels. A predetermined number of contiguous blocks, for example four blocks of 8*8 luminance samples and two blocks of 8*8 chrominance samples, constitute a sub-picture. In conformity with the conventional MPEG syntax, such a sub-picture will hereinafter also be referred to as macroblock. The blocks of 8*8 samples are applied to an encoder 2 via a picture delay 10. This encoder comprises a subtracter circuit 21, a picture transformer 22 for transforming each block into 8*8 coefficients, a quantizer 23 for quantizing the coefficients with a step size Q 1 and a variable-length encoder 24 for encoding the quantized coefficients into code words of variable length. The encoder further comprises a prediction loop for forming a motion-compensated prediction picture. This loop comprises an inverse quantizer 25, an inverse picture transformer 26, an adder circuit 27, a picture memory 28 and a motion estimator 29. It is to be noted that not every coefficient of a block is necessarily quantized with the same step size. The quantization step may also depend on the spatial frequency represented by a coefficient. In that case, the expression "step size" is understood to mean a parameter fixing the distinct quantization steps for a block of coefficients. The obtained series of code words of variable length constitutes a quantization-dependent bit stream q 1 of coefficient bits. This bit stream is combined in a multiplexer 3 with other information which is formed, inter alia by motion vectors produced by motion estimator 29. The other information will hereinafter be referred to as "overhead" and is denoted by v 1 in the Figure. The combined bit stream is applied to a buffer 4 from which it is read at a channel bitrate f ch . The device has hitherto constituted a known MPEG encoder as described in the afore-mentioned document "Coding of moving pictures and associated audio for digital storage media up to about 1.5 Mbit/s". The video signal is transmitted in the form of groups of pictures (GOPs). Each GOP comprises at least one intraframe-encoded picture (I picture), a number of predictively encoded pictures (P pictures) and a number of bidirectionally predictively encoded pictures (B pictures). When encoding I pictures, the subtracter 21 is not active and each block of pixels is encoded individually. For P and B pictures, the motion estimator 29 supplies a prediction block and a difference block is encoded. If there is insufficient conformity between a block of the supplied picture and its ambience in prediction picture memory 28 ( i.e. when there is too much motion), blocks of P and B pictures may also be subjected to intraframe encoding. Information with respect to the applied encoding mode of a block is also accommodated in the overhead information v 1 . In accordance with the invention, the device further comprises an additional encoder 8 and a computing circuit 9 coupled thereto for computing a "global target value" for the number of bits for encoding the picture. The additional encoder 8 will hereinafter also be referred to as preanalyser. It forms a quantization-dependent bit stream q 2 and overhead information v 2 . The preanalyser may have different forms. It will hereinafter be assumed to be an MPEG encoder without bitrate control. The preanalyser is then of the same type as encoder 2 and therefore it is not shown in greater detail. It receives a quantization step size Q 2 from a step size determining circuit 11 which will be described hereinafter. However, it should already be noted that the step size Q 2 is invariable during a picture but may be different from picture to picture. Fig. 2 shows diagrammatically an embodiment of the computing circuit 9. It comprises a multiplexer 91 for combining the coefficient bit stream q 2 and the overhead bit stream v 2 which is produced by the preanalyser. The combined bit stream is applied to a counter 92 which counts the number of bits B n generated by the preanalyser for sub-picture n of the picture. A further counter 93 counts the total number of bits S = ΣB n which is spent on the entire picture. S is multiplied by the step size Q 2 in a multiplier 94. The product is a complexity value X which is representative of the complexity of the applied picture. Said complexity value is separately determined for each type of picture (I, P, B). Expressed in a formula: X I = S I ×Q 2 I , X P = S P ×Q 2 P and X B = S B ×Q 2 B The complexity value is applied to the computing circuit 95 for computing the global target value T. The following considerations apply with respect to the computations performed by the computing circuit: (A) A total number of bits R is available for a GOP comprising N I pictures of the type I, N P pictures of the type P and N B pictures of the type B. The aim is to distribute the global target values T I , T P , T B for each type of picture in such a way that: R = N I . T I + N P . T P + N B . T B is satisfied. (B) It is assumed that the different encoding types (I, P, B) lead to an equal picture quality if the corresponding step sizes Q I , Q P and Q B are in a given ratio: Q P = k p . Q I and Q B = k b . Q I The relation between the number of bits S P , S B obtained in P and B encoding of a picture and the number of bits S I obtained in I encoding of this picture can be derived from (1) and (3): S P = X P k p . X I S I and S B = X B k b . X I S I (C) The same relation is assumed to be applicable to the global target values for the different types of pictures: T P = X P k p . X I T I and T B = X B k b . X I T I The following formula for the global target value T I for an I picture can be derived from (2) and (4): T I = R N I + N P . X P k p . X I + N B . X B k b . X I (D) After the global target value T I for the last (or only) I picture of the GOP is fixed and the picture is encoded as much as possible in conformity therewith, the target values for the other P and B pictures may be adapted, if desired, to the remaining number of bits available for the GOP. In that case, equation (2) changes to: R l = n P . T P + n B . T B in which n P and n B represent the number of P and B pictures still to be encoded in the GOP and R 1 represents the number of bits which is still available. The following formulas can now be derived for the target values T P and T B : T P = R I n P + n B . k p . X B k b . X P and T B = k p . X B . T P k b . X P The global target value of a picture is computed by the computing circuit 95 before the relevant picture is applied via a picture delay 10 to encoder 2 (see Fig. 1) for actual encoding. The computation is effected as follows: (I) During encoding of an I picture, the computing circuit receives the complexity value X I of this picture from multiplier 94. The target value T I is computed by means of equation (5). The complexity values X P and X B in this equation are formed by previously computed complexity values of the most recent previous P or B picture. These previously computed complexity values are denoted by X prev in Fig. 2. They are stored in a memory (not shown) upon encoding of the previous picture. (P) During encoding of a P picture, computing circuit 95 receives the complexity value X P of this picture from multiplier 94. The target value T P is computed by means of equation (4) or, if the GOP no longer comprises any further I pictures, by means of equation (6). The complexity values other than X P are again formed by the previously computed complexity values of the most recent previous picture of the relevant type. (B) During encoding of a B picture, computing circuit 95 receives the complexity value X B of this picture from multiplier 94. The target value T B is computed by means of equation (4) or (6). A distribution circuit 96 subsequently distributes the global target value T among the macroblocks of the picture. To this end, the distribution circuit computes a "local target value" T n for each macroblock n. In a simple embodiment, the distribution circuit distributes the target value T evenly among all N macroblocks of the picture. Expressed in a formula: T n = T N However, the local target value T n for each macroblock is preferably proportional to the number of bits B n produced for these macroblocks by the preanalyser. Expressed in a formula: T n = B n Σ B n × T The local target value for a macroblock is now in conformity with the relative complexity of this macroblock. Thus, it is, as it were, "foreseen" that more bits are spent on a sub-picture as this sub-picture is more detailed. This yields a uniform picture quality throughout the picture. Fig. 3 shows a further embodiment of the computing circuit 9. In this embodiment, the number of coefficient bits and the number of overhead bits of the preanalyser is separately counted for each macroblock n. To this end, the computing circuit comprises separate counters 92a and 92b for counting, macroblock by macroblock, the number of coefficient bits C n in the quantization-dependent bit stream q 2 and the number of bits O n in the overhead data v 2 . Further counters 93a and 93b count the number of bits ΣC n and ΣO n throughout the picture. An adder 97 sums both numbers so that the total number of bits S = ΣB n is obtained again, which is spent by the preanalyser on the entire picture. In the manner already described with reference to Fig. 2, multiplier 94 fixes the complexity value X of the applied picture and computing circuit 95 computes the global target value for the picture. The distribution circuit 96 now has a different structure than that in Fig. 2. It comprises a scaling circuit 961 fixing a scale factor F in conformity with the following formula: F = T -Σ O n Σ C n The local target value T n is subsequently obtained by multiplying, for each macroblock n the number of coefficient bits C n by the scale factor F (multiplier 962) and adding the number of overhead bits O n thereto (adder 963). In other words, in this embodiment, the local target value T n for each macroblock is determined by the formula: T n = F × C n + O n The target value in accordance with equation (8) is more suitable than that in accordance with equation (7) because it is then avoided that too many bits of a macroblock are spent on overhead data. This will be elucidated by way of an example. In this greatly simplified example, a picture comprises two macroblocks. The global target value for the complete picture is T = 250 bits. The preanalyser has produced 500 bits for the picture in the following way: In the embodiment of Fig. 2, the local target values T 1 = 200 and T 2 = 50 are obtained in conformity with equation (7). Based on the (real) assumption that the encoder produces as many overhead bits as the preanalyser, this results in: In the embodiment of Fig. 3, the local target values T 1 = 183 and T 2 = 67 are obtained in conformity with equation (8) (in which F = 0.33). The encoder now produces: The distribution of the global target value among the macroblocks in accordance with the embodiment shown in Fig. 3 thus yields a more uniform picture quality than the embodiment shown in Fig. 2. The target values T n are applied to the control circuit 7 (see Fig. 1). Fig. 4 shows a possible embodiment of this control circuit. It comprises a subtracter 71 which determines, for each macroblock, the difference between the local target value T n and a desired average value T av . T av has a fixed value which directly follows from the number of bits R per GOP, the number of pictures in a GOP and the number of macroblocks per picture. The obtained difference is accumulated by means of a counter 72. The output signal of the counter 72 forms, as it were a desired packing density b' (in number of bits) of the output buffer 4 (see Fig. 1) of the device. The control circuit further comprises a subtracter 73 in which the desired packing density b' is compared with the actual packing density b of the buffer. The difference between the two numbers of bits constitutes a control signal. Said control signal is multiplied by a first multiplier 74 by a control factor K p and by a second multiplier 75 by a control factor K i . The output of the second multiplier 75 is applied to an integrator 76. An adder 77 adds the outputs of multiplier 74 and integrator 76. The elements 74-77 of the control circuit shown in Fig. 4 constitute a proportionally integrating (PI) controller which controls the step size Q 1 for supply to encoder 2 (see Fig. 1) without producing a residue in the control signal. Tests have proved that the desired number of bits R for each GOP can be achieved with the device within an accuracy of 0.03%. The output signal of the device is therefore eminently suitable for storage, allowing the facility of later editing. The control factors K p and K i may be constants. An MPEG encoder may, however, be considered as a process having a non-constant gain. To explain this, Fig. 5 shows the relation between the number of coefficient bits C and the average step size Q for three different pictures of complexity X = C·Q. The derivative dC/dQ is a measure of the gain of the MPEG encoder. More particularly, the gain of an encoder can he defined as: G dC dQ = - X Q 2 = - C Q As is apparent from the Figure, the gain does not only depend on the complexity X (hence on the picture contents) but also on the step size Q. Constant control factors K p and K i are to be dimensioned in such a way that there is no instability of the control process, even for the most complicated signals. The control process is stable under all circumstances when variations in gain are compensated by inverse variations in the control factors, in other words, when the product of control factor and gain is constant. Hence, favourable control factors K p and K i are constituted by: K P = - c p G = c p . Q C and K i = - c i G = c i . Q C in which c p and c i are appropriate constants. The elements denoted by 78 and 79 in Fig. 4 are adapted to generate the control factors K p and K i , respectively, in conformity therewith. To this end, they receive the bit stream q 1 from the encoder (for deriving the number of produced bits therefrom) as well as the step size Q 1 . Fig. 6 shows a possible embodiment of the step size determining circuit 11 which generates the "fixed" step size Q 2 for the preanalyser 8 (see Fig. 1). It comprises a circuit 111 which determines the average step size Q I,av , Q P,av and Q B,av for each type of (I, P, B) picture, with which this picture is quantized by encoder 2. In a simple but useful embodiment of the device, the average step size Q P,av is applied for each picture to the preanalyser. Also after changes of scenes, this choice yields an adequate estimation of the complexity of the picture. In an alternative embodiment the preanalysis of an I, P and B picture is performed with the average step size Q I,av , Q P,av and Q B,av , respectively. To this end, the step size determining circuit comprises a selector 112 with which the relevant average step size is selected in response to a selection signal SL. After a change of scenes, however, the preanalysis of the next I picture is performed with the average step size Q P,av . In fact, changes of scenes are considered to have occurred if more than one predetermined number of macroblocks of a P picture insufficiently resembles the prediction picture. To this end, a scene change detector 113 receives the overhead bit stream v 1 , counts the number of intraframe-encoded macroblocks in P pictures and determines whether this number is more than, for example 50%. A control circuit 114 receives the detection signal as well as the picture type (I, P, B) and supplies the selection signal SL. The step size Q 2 is now dependent on picture type and change of scenes as follows: >50% type Q 2 0 I Q I,av 1 I Q P,av - P Q P,av - B Q B,av

Claims: A device for encoding a video signal, comprising: means (1) for dividing each picture into a plurality of sub-pictures; an encoder (2) for selectively encoding pictures as independent pictures, ie. I pictures, and motion-compensated differential pictures, ie. P or B pictures, the encoder comprising a picture transformer (22) for transforming each sub-picture into coefficients, and a quantizer (23) for quantizing the coefficients with an applied step size (Q 1 ); control means (7) for controlling the step size in conformity with a target value (T) for the number of bits for encoding the applied picture, characterized in that the device comprises an additional encoder (8), of substantially the same type as said former encoder, for encoding the applied picture in response to a fixed step size (Q 2 ), and computing means (9) for computing the target value from the picture thus encoded in dependence upon the type of picture being one of I, P, or B. A device as claimed in Claim 1, characterized in that the fixed step size (Q 2 ) is constituted by the average step size with which a previous P picture has been encoded. A device as claimed in Claim 1, characterized in that the fixed step size (Q 2 ) is constituted by the average step size with which a previous picture of the same type (I, P, B) has been encoded. A device as claimed in Claim 3, characterized in that the fixed step size (Q 2 ) for the first I picture following a change of scenes is constituted by the average step size with which a previous P picture has been encoded. A device as claimed in any one of Claims 1-4, characterized in that the computing means (9) comprise a distribution circuit (96) for distributing the target value (T) among the sub-pictures of a picture in proportion to the number of bits generated for said sub-pictures by the additional encoder, the control means (7) being adapted to control the step size in response to a local target value (T n ) for each sub-picture. A device as claimed in Claim 5, in which a series of quantization-dependent and a series of quantization-independent bits are formed for each sub-picture, characterized in that the distribution circuit (961-963) is adapted to distribute the target value (T) among the sub-pictures in proportion to the number of quantization-dependent bits generated for said sub-pictures by the additional encoder. A device as claimed in Claim 5 or 6, characterized in that the control means (7) are constituted by means (71-73) for forming a control signal which is representative of the difference between the cumulative local target values (T n ) for each sub-picture and the number of bits produced by the encoder, and a proportionally integrating control circuit (74-77) to which said control signal is applied.

Inventors: KEESMAN GERRIT JOHAN, KLEIN GUNNEWIEK REINIER BERNAR, SHAH IMRAN ALI, KEESMAN, GERRIT JOHAN, KLEIN GUNNEWIEK, REINIER BERNARDUS MARIA, SHAH, IMRAN ALI
Applicants: PHILIPS ELECTRONICS NV, PHILIPS ELECTRONICS N.V.
Application year: 1994
Main classification: H04N7
IPC codes: G06T9, H03M7, H04N7, H04B14