WO2006042612A1 - Vorrichtung und verfahren zum erzeugen einer codierten videosequenz und zum decodieren einer codierten videosequenz unter verwendung einer zwischen-schicht-restwerte-praediktion - Google Patents

Vorrichtung und verfahren zum erzeugen einer codierten videosequenz und zum decodieren einer codierten videosequenz unter verwendung einer zwischen-schicht-restwerte-praediktion Download PDF

Info

Publication number
WO2006042612A1
WO2006042612A1 PCT/EP2005/010227 EP2005010227W WO2006042612A1 WO 2006042612 A1 WO2006042612 A1 WO 2006042612A1 EP 2005010227 W EP2005010227 W EP 2005010227W WO 2006042612 A1 WO2006042612 A1 WO 2006042612A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion
images
sequence
basic
residual error
Prior art date
Application number
PCT/EP2005/010227
Other languages
English (en)
French (fr)
Inventor
Heiko Schwarz
Detlev Marpe
Thomas Wiegand
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DE102004059978A external-priority patent/DE102004059978B4/de
Application filed by Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Priority to MX2007004408A priority Critical patent/MX2007004408A/es
Priority to EP05784915A priority patent/EP1800488A1/de
Priority to JP2007536022A priority patent/JP5122288B2/ja
Priority to BRPI0516348A priority patent/BRPI0516348B1/pt
Priority to BR122018016188A priority patent/BR122018016188B1/pt
Publication of WO2006042612A1 publication Critical patent/WO2006042612A1/de

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Definitions

  • the present invention relates to video coding systems and, more particularly, to scalable video coding systems which can be used in conjunction with the video coding standard H.264 / AVC or with new MPEG video coding systems.
  • the H.264 / AVC standard is the result of a video standardization project of the ITÜ-T Video Coding Expert Group (VCEG) and the ISO / IEC Motion Picture Expert Group (MPEG).
  • VCEG Video Coding Expert Group
  • MPEG Motion Picture Expert Group
  • the main objectives of this standardization project are to create a clear video coding concept with very good compression behavior, and at the same time to generate a network-friendly video presentation, which uses applications with a "conversation character", such as video telephony, for example. and non-conversational applications (storage, broadcasting, streaming).
  • Fig. 9 shows a complete structure of a video encoder, which generally consists of two different stages.
  • the first stage which operates in a video-based manner in principle, generates output data which is finally subjected to entropy coding (entropy coding) by a second stage, which is denoted 80 in FIG. 9 be gene.
  • the data are data 81a, quantized transformation coefficients 81b and motion data 81c, where these data 81a, 81b, 81c are fed to the entropy coder 80 in order to generate a coded video signal at the output of the entropy coder 80 ,
  • the input video signal (input video signal) is divided into macroblocks or split, with each macroblock having 16 ⁇ 16 pixels. Then, the assignment of the macroblocks to slice groups and slices (slice) is selected, whereafter each macroblock of each slice is processed by the network of operation blocks as shown in FIG. It should be noted that efficient parallel processing of macroblocks is possible if different slices are in one video picture.
  • the assignment of the macroblocks to slice groups and slices is performed by means of a block Coding Control (Coder Control) 82 in FIG. There are different slices, which are defined as follows:
  • the I-slice is a slice in which all macroblocks of the slice are coded using an intra-prediction.
  • certain macroblocks of the P-slice can also be coded per prediction block using an inter-prediction with at least one motion-compensated prediction signal.
  • certain mark blocks of the B slice may also be encoded using an inter prediction with two motion compensated prediction signals per prediction block.
  • SP slice It is also referred to as a switch P slice, which is coded to allow efficient switching between different precoded images.
  • the SI-slice is also called a switching-I-slice, which describes an exact adaptation of the M.acroblock in a an SP slice for direct access and error recovery purposes.
  • slices are a sequence of macroblocks that are processed in the order of a raster scan, unless a standard macro flexible array block (FMO) feature is also used.
  • An image may be split into one or more slices, as shown in FIG.
  • An image is therefore a collection of one or more slices.
  • Slices are independent of one another in the sense that their syntax elements can be analyzed (parsed) from the bit stream, whereby the values of the sample values in the area of the image represented by the slice are correctly decoded can be used without the need for data from other slices, provided that reference images used are identical both in the encoder and in the decoder. However, certain information from other slices may be needed to apply the deblocking filter across slice boundaries.
  • the FMO property modifies the way in which images are partitioned into slices and macroblocks by using the concept of slice groups.
  • Each slice group is a set of macroblocks defined by a macro-block-to-slice group map specified by the content of an image parameter set and by specific information of slice headers.
  • This macroblock-to-slice group map consists of a slice group identification number for each macroblock in the image, specifying to which slice group the associated macroblock belongs.
  • Each slice group can be partitioned into one or more slices, so that a slice has a sequence of macroblocks within the same slice group that is processed in the order of a raster scan within the set of macroblocks of a particular slice group.
  • Each macroblock may be transmitted in one of several types of codecs depending on the slice coding type.
  • the following types of intra-coding are supported, which are referred to as intra- 4X4 or intra-i 6x- i 6 , wherein additionally a chroma prediction mode and also an I- PCM prediction mode are supported.
  • the intra 4X4 mode is based on the prediction of each 4x4 chroma block separately and is well suited for encoding parts of an image with outstanding detail.
  • the intra_ i6 x i 6 mode performs a prediction of the entire l ⁇ xl ⁇ chroma block and is more suitable for encoding "soft" areas of an image.
  • the I_4 X 4 coding type allows the encoder to simply skip the prediction as well as the transform coding and instead directly transmit the values of coded samples.
  • the I-pc M mode serves the following purposes: It allows the encoder to accurately represent the values of the samples. ER provides a way to accurately represent the values of very abnormal image content without data magnification. It also makes it possible to specify a hard limit for the number of bits that a macroblock handling coder must have without suffering the coding efficiency.
  • intra-prediction in H.264 / AVC is always performed in the spatial domain by referring to adjacent sample values of previously coded blocks which are to the left or above the block to be predicted (FIG. 10). This can cause error propagation in certain environments where transmission errors occur, and this error propagation occurs due to motion compensation in inter-coded macroblocks. Therefore, a limited intra-coding mode can be signaled, which makes possible a prediction only of intra-coded neighboring macroblocks.
  • each 4x4 block is predicted from spatially neighboring samples. Sixteen samples of the 4x4 block are predicted using previously decoded samples in adjacent blocks. One of 9 prediction modes can be used for each 4x4 block. In addition to the DC prediction (where a value is used to predict the entire 4x4 block), 8 directional prediction modes are specified. These modes are suitable for predicting directional structures in an image, such as edges at different angles.
  • P-macroblock types In addition to the intra-macroblock coding types, various predictive or motion-compensated coding types are specified as P-macroblock types. Each type of P-macroblock corresponds to a specific breakdown of the ' macro ' blocks into the block shapes used for motion-compensated prediction. Divisions with luma block sizes of 16x16, 16x8, 8x8 or 8x16 samples are supported by the syntax. In the case of divisions of 8 ⁇ 8 samples, an additional syntax element is transmitted for each 8 ⁇ 8 division. This syntax element specifies whether the corresponding 8x8 division is further partitioned into partitions of 8x4, 4x8 or 4x4 luma samples and corresponding chroma samples.
  • the prediction signal for each predictive-coded MxM luma block is obtained by shifting a region of the corresponding reference image specified by a translation motion vector and an image reference index.
  • a macroblock is encoded using four 8x8 divisions and if each 8x8 division is further divided into four 4x4 divisions, a maximum amount of 16 motion vectors for a single P-macroblock in the frame may of the so-called motion field or motion field.
  • the quantization parameter slice QP is used to determine the quantization of the transform coefficients at H.264 / AVC.
  • the parameter can take on 52 values. These values are arranged so that an increase of 1 with respect to the quantization parameter means an increment of the quantization by about 12%. This means that an increase of the quantization parameter by 6 results in an increase of the quantizer step size by exactly a factor of 2. It should be noted that a change in the step size by about 12% is also if approximately a reduction of the bit rate by about 12% be ⁇ indicates.
  • the quantized transform coefficients of a block are generally sampled in a zigzag path and further processed using entropy coding methods.
  • the 2x2 DC coefficients of the chroma component are sampled in raster-scan order, and all inverse transform operations within H.264 / AVC can be performed using only 16-bit addition and shift operations. Integer values are implemented.
  • the input signal is first divided frame by frame in a video sequence, each time for each frame, into which 16x16 pixel macroblocks are divided. Thereafter, each image is applied to a subtractor 84 which subtracts the original image provided by a decoder 85. Which is included in the encoder.
  • the subtraction result that is to say the residual signals in the spatial domain, are now transformed, scaled and quantized (block 86) in order to obtain the quantized transformation coefficients on the line 81b.
  • the quantized transform coefficients are first rescaled and inverse transformed (block 87) to be fed to an adder 88 whose output feeds the deblocking filter 89, wherein at the output of the deblocking filter Aus ⁇ the output video signal how it will decode a decoder, for example, can be monitored for control purposes (output 90).
  • a motion estimation is then performed in a block 91.
  • an image of the original input video signal is supplied.
  • the standard allows two different motion estimates, namely a forward motion estimate and a backward motion estimate.
  • the motion of the current picture with respect to the previous picture is estimated.
  • the motion of the current picture is estimated using the future picture.
  • the results of the motion estimation (block 91) are fed to a motion compensation block 92 which, in particular when a switch 93 is switched to the inter-prediction mode, as shown in FIG the case is a motion-compensated inter-prediction performed.
  • the switch 93 is based on intraframe prediction, an intraframe prediction is performed using a block 490. For this purpose, the motion data is not needed, since no motion compensation is performed for an intra-frame prediction.
  • the motion estimation block 91 generates motion data or motion fields, wherein motion data or motion fields, which consist of motion vectors (motion vectors), are transmitted to the decoder, so that a corresponding inverse prediction, ie reconstruction, is performed using the transform coefficients and the motion data can.
  • motion vectors motion vectors
  • a current image can be calculated using the immediately adjacent future image and of course also using further future images.
  • a disadvantage of the video coder concept shown in FIG. 9 is that it does not offer a simple scalability option.
  • the term "scalability" is understood to mean a coder / decoder concept in which the coder provides a scaled data stream.
  • the scaled data stream includes a base scaling layer and one or more expansion layers.
  • the basic scaling layer comprises a representation of the signal to be coded generally with lower quality, but also with a lower data rate
  • the enhancement scaling layer contains a further representation of the video signal, which is typically together with the representation
  • the extension scaling layer of course, has its own bit requirement, so that the number of bits for representing the signal to be coded with each one is equal to the bit rate of the video signal in the base scaling layer Expansion layer increases.
  • a decoder will either decode only the basic scaling layer in order to provide a comparatively poor representation of the picture signal represented by the coded signal.
  • the decoder can gradually improve the quality of the signal (at the expense of the bit rate).
  • at least the base scaling layer is always transmitted, since the bit rate of the base scaling layer is typically so low that even a previously limited transmission channel will be sufficient. If the transmission channel no longer allows bandwidth for the application, then only the base scaling layer, but not an extension scaling layer, is transmitted. As a result, the decoder can only produce a low-quality representation of the image signal.
  • the low-quality representation is an advantage. If the transmission channel permits the transmission of one or more extension layers, then the coder also transmits one or more extension layers to the decoder, so that the latter can gradually increase the quality of the output video signal as required.
  • the one scaling is the time scaling, in that e.g. not all video frames of a video sequence are über ⁇ wear, but that- to reduce the data rate - for example, only every other image, every third image, every fourth image, etc. is transmitted.
  • the other scaling is SNR (Signal to Noise Ratio) scalability, where each scaling layer, both the base scaling layer and the first te, second, third ... expansion scaling layer comprises all temporal information, but with a different quality.
  • SNR Signal to Noise Ratio
  • the base scaling layer would have a low data rate but a low signal-to-noise ratio, this signal-to-noise ratio can then be improved step by step with the addition of an extension scaling layer.
  • the coder concept illustrated in FIG. 9 is problematic in that it is based on the fact that only residual values are generated by the subtractor 84, and then further processed. These residual values are calculated on the basis of prediction algorithms, in the arrangement shown in FIG. 9, which forms a closed loop using blocks 86, 87, 88, 89, 93, 94, and 84, with a quantization in the closed loop. Now, a simple SNR scalability would be implemented such that, for example, each predicted residual signal is first quantized with a coarse quantizer step size, and then, stepwise, using Extension layers with finer quantization step sizes would be quantized, this would have the following consequences.
  • Wavelet-based video coding algorithms using rendering implementations for wavelet analysis and wavelet synthesis are described in J.-R. Ohm, "Complexity and delay analysis of MCTF interframe wavelet structures", ISO / IECJTC1 / WG11 Doc.M8520, June 2002. Scalability notes can also be found in D. Taubman, “Successful refinement of video: fundamental issues, past efforts and new directions ", Proc. of SPIE (VCIP '03), vol. 5150, pp. 649-663, 2003, although significant changes to coder structures are necessary for this.
  • an encoder / decoder concept is achieved which, on the one hand, has the scalability possibility and, on the other hand, which can be based on standard-compliant elements, in particular, for example, for motion compensation, can build.
  • the decomposition step comprises a division of the input-side data stream into an identical first copy for a lower branch 40a and an identical copy for an upper branch 40b. Further, the identical copy of the upper branch 40b is delayed by one time step (z "1 ) such that a sample S 2k + i having an odd index k at the same time as a sample having a even index S 2k by a respective decimator and down, respectively.
  • the decimator 42a or 42b reduces the number of samples in the upper and lower branches 40b, 40a by eliminating each second sample value.
  • the second area II which relates to the prediction step, comprises a prediction operator 43 and a subtracter 44.
  • the third area that is to say the updating step, comprises an update operator 45 and an adder 46.
  • On the output side there still exist two normalizers 47, 48 for normalizing the high-pass signal h k (normalizer 47) and for normalizing the low-pass signal l k by the normalizer 48.
  • the polyphase decomposition results in the even and odd samples being separated by a given signal s [k]. Since the correlation structure typically exhibits a local characteristic, the even and odd polyphase components are highly correlated. Therefore, in a subsequent step, a prediction
  • the prediction step is equivalent to carrying out a high-pass filter of a two-channel filter bank, as described in FIG. Bechies and W. Sweldens, "Factoring wavelet transforms into lifting steps", J. Fourier Anal. Appl.vol 4 (no.3), pp. 247-269, 1998.
  • the given signal s [k] can be represented by l (k) and h (k), but each signal has the half sample rate. Since both the update step and the prediction step are completely invertible, the corresponding transformation can be interpreted as a critically sampled perfect reconstruction filter bank. In fact, it can be shown that any biorthogonal family of wavelet filters can be realized by a sequence of one or more prediction steps and one or more update steps.
  • the normers 47 and 48 are supplied with suitably chosen scaling factors Fi and Fj 1 .
  • the inverse-lifting scheme which corresponds to the synthesis filter bank, is shown in FIG. 4, on the right-hand side.
  • the decoder shown on the right in FIG. 4 thus again comprises a first decoder area I, a second decoder area II and a third decoder area III.
  • the first decoder area undoes the effect of the update operator 45. This happens because the high-pass signal back normalized by a further normalizer 50 is supplied to the update operator 45.
  • the output signal of the decoding-side update operator 45 is then now, in. Contrary to the adder 46 in FIG. 4, a subtractor 52 is supplied.
  • the output signal of the predictor 43 is used, the output signal of which is now not fed to a subtractor, as on the coder side, but whose output signal is now supplied to an adder 53.
  • an upsampling of the signal takes place in each branch by a factor of 2 (blocks 54a, 54b).
  • the upper branch is shifted one sample ahead, which is equivalent to delaying the lower branch, and then performing addition of the data streams on the upper and lower branches in an adder 55 to produce the reconstructed signal S k to get at the output of the synthesis filter bank.
  • the low-pass filter and the high-pass analysis filter of this wavelet have 5 and 3 filter taps respectively, the corresponding scaling function being a B-spline of order 2.
  • this wavelet is used for a temporal subband coding scheme.
  • the corresponding prediction and update operators of the 5/3 transform are given as follows
  • Fig. 3 shows a block diagram of an encoder / decoder structure with exemplary four filter levels both on the encoder side and on the decoder side. From Fig. 3 it can be seen that the first filter plane, the second filter plane, the third filter plane and the fourth filter plane are identical with respect to the encoder. The Filter levels relative to the decoder are also identical.
  • each filter plane comprises as central elements a backwards predictor Mio and a forward predictor Mn 61.
  • the backward predictor 60 corresponds in principle to the predictor 43 of FIG. 4, while the forward predictor 61 corresponds to the updater of F_ig. 4 ent speaks.
  • FIG. 4 relates to a stream of samples in which one sample has an odd-numbered index 2k + 1, while another sample has an even-numbered index 2k.
  • the notation in FIG. 3 relates, as has already been explained with reference to FIG. 1, to a group of images instead of to a group of samples. If an image has, for example, a number of samplings or Pixels, so this image is fed in total. Then the next image is fed in, etc. Thus, there are no longer odd and even samples, but odd and even images.
  • the lifting scheme described for odd-numbered and even-numbered scanning values is applied to odd-numbered or even-numbered pictures, each of which has a plurality of scanning values. From the sample value-wise predictor 43 of FIG. 4, the backward motion compensation prediction 60 now becomes, while from the sample-value updater 45 the imagewise forward motion compensation prediction 61 becomes.
  • the motion filters which consist of motion vectors and represent the coefficients for the blocks 60 and 61, are calculated in each case for two images related to one another and as side information from the encoder to the decoder.
  • a significant advantage in the concept according to the invention is the fact that the elements 91, 92, as described with reference to FIG. 9 and standardized in the standard H.264 / AVC, can be used without further ado calculate both the motion fields Mio and the motion-neutral Mn.
  • no new predictor / updater must be used, but the already existing, under-examined and tested for functionality and efficiency in the Video ⁇ standard algorithm for theuploadssungskomperxsation in the forward direction or in the reverse direction can be used.
  • the general structure of the filter bank used shown in FIG. 3 shows a temporal decomposition of the video signal with a group of 16 images, which are fed in at an input 64.
  • the delay is reduced accordingly, so that the use for interactive applications is possible.
  • the group size can be increased accordingly, for example, 32, 64, etc. images.
  • an interactive application of the hair-based motion-compensated lifting scheme which consists of a backward motion compensation prediction (Mio), as in H.264 / AVC, and which further comprises an updating step comprising a forward motion compensation (Mii).
  • a backward motion compensation prediction Mio
  • an updating step comprising a forward motion compensation (Mii).
  • Both the prediction step and the update step use the motion compensation process as shown in H.264 / AVC.
  • the deblocking filter 89 designated by reference numeral 89 in FIG.
  • the second filter plane again comprises downsamplers 66a, 66b, a subtracter 69, a backward predictor 67, a forward predictor 68, and an adder 70 and a further processing device in order to connect the first and the second high-order means to an output of the further processing device.
  • the coder in FIG. 3 additionally comprises a third plane and a fourth plane, wherein a group of 16 images is fed into the input 64 of the fourth plane.
  • a high-pass output 72 of the fourth level which is also designated HP4
  • quantized and correspondingly further processed eight high-pass images are output with a quantization parameter Q.
  • a low-pass output 73 of the fourth filter level eight Low-pass images output, which is fed to an input 74 of the third filter level.
  • the plane is again operative to generate four high-pass images at a high-pass output 75, also designated HP3, and to generate one low-pass output 76 four low-pass images which are input to the second Filter level are fed and disassembled.
  • the group of images processed by a filter plane does not necessarily have to be video images that originate from an original video sequence, but may also be low-pass images that pass from a next higher filter level at a low pass Output of the filter level have been output.
  • the encoder concept shown in FIG. 3 can be easily reduced to eight images for sixteen images if the fourth filter plane is simply omitted and the group of images is fed into the input 74.
  • the concept shown in FIG. 3 can easily be extended to a group of thirty-two images by adding a fifth filter plane, and then by adding sixteen high-pass images to a high-pass output of the fifth filter outputted terebene and the sixteen low-pass images are fed at the output of the fifth filter level in the input 64 of the fourth filter level.
  • the output of the subtractor 101 is fed to a backward compensation predictor 60 to produce a prediction result which is added in an adder 102 to the reconstructed version of the highpass picture. Then both signals, that is to say the signals in the lower branch 103a, 103b, are brought to twice the sampling rate, namely using the upsampler 104a, 104b, in which case the signal on the upper branch is delayed, depending on the implementation.
  • the suppression by the bridge 104a, 104b is performed simply by inserting a number of zeros equal to the number of samples for an image
  • An image caused by the element shown in the upper branch 103b with z "1 relative to the lower branch 103a causes the addition by an adder 106 to lead, on the output side with respect to the adder 106, the two low-pass images of the second plane present in succession.
  • the reconstructed version of the first and second low pass second level images are then fed to the second level decoder inverse filter and there, along with the transmitted second level high pass images, again through the identical implementation of the inverse Filter bank to have at a second level output 108 a sequence of four third level low pass images.
  • the four low-pass images of the third level are combined in an inverse filter plane of the third level with the transmitted high-pass images of the third level to produce eight low-pass images of the fourth at an output 110 of the third-level inverse filter Level in consecutive format. These eight low-level images of the third level are then reproduced in an inverse filter of the fourth level with the eight high-pass images of the fourth level received by the transmission medium 100 via the input HP4, as on the basis of the first plane in order to obtain a reconstructed group of 16 images at an output 112 of the fourth-level inverse filter.
  • each stage of the analysis filter bank two images, that is, either original images or images representing low-pass signals and generated at a next higher level, are thus decomposed into a low-pass signal and a high-pass signal.
  • the low-pass signal can be regarded as representing the similarities of the input images
  • the high-pass signal can be regarded as representing the differences between the input images.
  • the two input images are reconstructed using the low-pass signal and the high-pass signal. Since the inverse operations of the analysis step are carried out in the synthesis step, the analysis / synthesis filter bank (without quantization, of course) guarantees a perfect reconstruction.
  • a time-scaling controller 120 is used which is designed to receive on the input side the high-pass or low-pass outputs or the outputs of the further processing devices (26a, 26b, 18). In order to flow from these partial data TPl, HPl, HP2, HP3, HP4 to produce a scaled data stream having the wei ⁇ terver usedde version of the first low-pass image and the first high-pass image in a base scaling layer. In a first expansion scaling layer, the further processing version of the second high-pass image could then be accommodated.
  • the further processed versions of the high-pass images on the third level could then be accommodated in a second extension scaling layer, while the further processing versions of the high-pass images of the fourth level are introduced in a third expansion scaling layer.
  • the functionality of the decoder is typically controlled by a scaling controller, which is designed to detect how many scaling layers are contained in the data stream or how many scaling layers are to be taken into account by the decoder during decoding.
  • JVT-J 035 entitled "SNR-Scalable Extension of H.264 / AVC" Heiko Schwarz, Detlev Marpe and Thomas Wiegand, presented at the tenth JVT * meeting in Waikigo Hawaii, 8-12 December 2003, shows an SNR-scalable extension of the temporal decomposition scheme illustrated in Figures 3 and 4.
  • a temporal scaling layer is split into individual "SNR scaling sublayers" to obtain a SNR base layer in that a certain time scaling layer is quantized with a first, coarser quantizer step size to obtain the SNR base layer, then inter alia an inverse quantization is performed, and the result signal from the inverse quantization is subtracted from the original signal to be a
  • the second signal is then obtained with a finer quantizer step size to obtain the second scaling layer
  • the distribution layer is again requantized with the finer quantizer step width in order to subtract the signal obtained after requantization from the original signal in order to obtain a further difference signal which, after quantization again but now with a finer quantizer step size represents a second SNR scaling layer or an SNR Erahancement- layer.
  • the scalability concept should provide a high degree of flexibility for all scalability types, ie a high degree of flexibility both in terms of time as well as in terms of space and in terms of SNR.
  • the high flexibility is particularly important where low resolution images are sufficient, but a higher temporal resolution would be desirable. Such a situation arises, for example, when there are rapid changes in pictures, such as For example, in videos of team sports, where many people move in addition to the ball at the same time.
  • the object of the present invention is to provide a flexible coding / decoding concept which, in spite of the fact that it is a scalable concept, provides the lowest possible bit rate.
  • a device for generating a coded video sequence according to patent claim 1 a method for generating a coded video sequence according to claim 15, a device for decoding a coded video sequence according to patent claim 16, a method for decoding a video clip encoded video sequence according to patent claim 26, a computer program according to claim 27 or a computer-readable medium according to claim 28.
  • the present invention is based on the finding that bit rate reductions can not only be achieved with a motion-compensated prediction carried out within a scaling layer, but that further bit rate reductions are obtained with constant image quality by virtue of an intermediate scaling layer prediction of the residual images after the motion-compensated prediction from a lower layer, for example the base layer, to a higher layer, such as the extension layer, Maschinen ⁇ is performed.
  • the residual values of the individual scaling layers considered here after the motion-compensated prediction which are preferably in the case of are scaled to the resolution or in terms of signal-to-noise ratio (SNR), even between the residual values have correlations.
  • these correlations are advantageously utilized by providing an interlayer predictor on the coder side for the extension scaling layer which corresponds to an interlayer combiner on the decoder side.
  • this interlayer predictor is adaptively designed, for example, to decide for each macroblock whether an interlayer prediction is worthwhile, or whether the prediction would rather lead to a bitrate increase.
  • a prediction of the movement data of the extension layer is also carried out.
  • the motion fields in different scaling layers also have correlations with one another which, according to the invention, advantageously reduce the bit rate by providing a motion data predictor be exploited.
  • the prediction can be carried out in such a way that no own movement data is calculated for the enhancement layer but, if appropriate, the movement data of the base layer are accepted after an up-sampling. This can lead to that the motion-coincidence residual signal in the extension layer becomes greater than in the case in which motion data for the extension layer is calculated extra.
  • this disadvantage is not significant if the saving due to the movement data saved for the expansion layer during the transmission is greater than the increase in bit rate caused by possibly greater residual values.
  • a separate motion field can also be calculated for the enhancement layer, with the motion field of the base layer being integrated into the calculation or being used as a predictor to transmit only motion field residual values.
  • This implementation has the advantage that the motion data correlation of the two scaling layers is fully utilized and that the residual values of the motion data after the motion data prediction are as small as possible.
  • a disadvantage of this concept is the fact that additional residual motion data must be transmitted.
  • an additional SNR scalability is used. This means that quantization is carried out in the base layer with a coarser quantization parameter than in the enhancement layer.
  • the residual values of the basic motion prediction which are quantized with the coarser quantizer step size and reconstructed again are used here as prediction signals for the interlayer predictor.
  • different quantization parameters also result in different motion fields if a calculation of the motion data into which the quantization parameter is received is used.
  • a spatial scalability ie if the base scaling layer has a coarser spatial resolution than the extension scaling layer, then it is preferable to interpolate the residual values of the basis motion prediction, that is, from the low spatial resolution to the implement higher spatial resolution of the enhancement scaling layer and then feed it to the interlayer predictor.
  • a motion data prediction is performed which, in turn, can consist either in the complete adoption of the motion data of the lower scaling layer (after scaling), or which may consist of using the highly sampled motion vectors of the lower scaling layer for the prediction of the motion vectors of the higher scaling layer in order then to transmit only the motion data residual values which will require a lower data rate than non-predicted motion data.
  • a motion data prediction is performed which, in turn, can consist either in the complete adoption of the motion data of the lower scaling layer (after scaling), or which may consist of using the highly sampled motion vectors of the lower scaling layer for the prediction of the motion vectors of the higher scaling layer in order then to transmit only the motion data residual values which will require a lower data rate than non-predicted motion data.
  • a combined scalability is used, in that the base scaling layer and the extension scaling layer differ both in spatial resolution and in the quantization parameter used, that is to say the quantizer step size used , In this case, starting z.
  • the quantization parameter used that is to say the quantizer step size used , In this case, starting z.
  • a combination of quantization parameters for the base layer, distortion and bit requirement for the motion data for the base layer is calculated from a predefined quantization parameter for the base scaling layer on the basis of a Lagrangian optimization.
  • the residual values obtained after a motion-compensated prediction and the base movement data used here are then used for the prediction of the corresponding data of a higher scaling layer, in turn starting from a finer scaling parameter for the higher scaling layer an optimum combination of bit requirement for the motion data, quantization parameters and distortion expansion motion data can be calculated.
  • Fig. Ia a preferred embodiment of an encoder according to the invention.
  • FIG. 1b is a more detailed illustration of a basic picture coder of FIG. 1a;
  • FIG. 1 c shows an explanation of the functionality of an interlayer prediction flag;
  • Fig. Id is a description of a motion data flag
  • Fig. Ie shows a preferred implementation of the expansion motion compensator 1014 of Fig. 1a;
  • Fig. 2 shows a preferred implementation of the expansion motion data determiner 1078 of Fig. 2;
  • Fig. Ig is an overview of three preferred
  • Fig. 2 shows a preferred embodiment of a decoder according to the invention
  • Fig. 3 is a block diagram of a four-level decoder
  • Fig. 4 is a block diagram illustrating the lifting decomposition of a temporal subband filter bank
  • Fig. 5a is an illustration of the functionality of the lifting scheme shown in Fig. 4;
  • 5b shows a representation of two preferred lifting rules with unidirectional prediction (Haar wavelet) and bidirectional prediction (5/3 transformation);
  • 5c shows a preferred embodiment of the prediction and update operators with motion compensation and reference indices for arbitrary selection of the two images to be processed by the lift-up scheme
  • 5d shows a representation of the intramode in which original image information can be entered into high-pass images in macroblock-wise fashion
  • 6a shows a schematic representation for signaling a macroblock mode
  • 6b shows a schematic representation of the up-sampling of motion data at a spatial scalability in accordance with a preferred embodiment of the present invention
  • Fig. 6c is a schematic representation of the data stream syntax for motion vector differences
  • FIG. 6 d is a schematic representation of a residual value syntax extension according to a preferred embodiment of the present invention.
  • FIG. 7 shows an overview diagram to illustrate the time shift of a group of, for example, 8 images
  • FIG. 8 shows a preferred temporal placement of low-pass images for a group of 16 images
  • FIG. 8 shows a preferred temporal placement of low-pass images for a group of 16 images
  • FIG. 9 shows an overview block diagram for illustrating the basic coding structure for a coder according to the standard H.264 / AVC for a macroblock
  • Fig. 10 is a context arrangement consisting of two adjacent pixel elements A and B to the left and above, respectively, of a current syntax element C;
  • FIG 11 is an illustration of the division of an image into slices.
  • Figure 1a shows a preferred embodiment of an apparatus for generating a coded video sequence having a base scaling layer and an extension scaling layer.
  • An original video sequence with a group of 8, 16 or other number of pictures is fed via an input 1000.
  • the coded video sequence contains the base scaling layer 1002 and the extension scaling layer 1004.
  • the extension scaling layer 1004 and the base scaling layer 1002 can a bit stream multiplexer are supplied to the output side begets a single scalable bitstream er ⁇ .
  • FIG. 1a shows an encoder for generating two scaling layers, ie the base scaling layer and an expansion scaling layer.
  • extension scaling layer In order to obtain an encoder which If necessary, one or more further extension layers are generated, the functionality of the extension scaling layer is to be repeated, whereby a higher extension scaling layer is always supplied with data by the next lower extension scaling layer, as in FIG. 1 the extensions shown Scaling layer 1004 is supplied by the base scaling layer 1002 with data.
  • the encoder includes a basic motion compensator or base motion estimator 1006 for computing basic motion data indicating how a macroblock in a current image is related to another image in a group of images representing the basic motion Compensator 1006 input side receives, has moved.
  • a basic motion compensator or base motion estimator 1006 for computing basic motion data indicating how a macroblock in a current image is related to another image in a group of images representing the basic motion Compensator 1006 input side receives, has moved.
  • the motion compensation calculation is used, as standardized in the video coding standard H.264 / AVC.
  • a macroblock of a later image is considered and it is determined how the macroblock has "moved" in comparison to an earlier image.
  • This movement (dLn xy direction) is indicated by a two-dimensional motion vector, which is derived from block 1006 for each macroblock: is calculated and supplied to a basic image coder 1010 via a motion data line 1008.
  • a basic image coder 1010 is calculated and supplied to a basic image coder 1010 via a motion data line 1008.
  • the next image calculates how a macroblock has moved from the previous image to the next image.
  • this new motion vector which to a certain extent indicates the movement from the second to the third image, can be transmitted again as a two-dimensional vector.
  • it is preferred to transmit only one motion vector difference ie the difference between the motion vector of a macroblock from the second to the third image and the motion vector of the macroblock from the first to the second image.
  • Alternative refer- ences or motion vector differences to images not immediately preceding one another but to further preceding images can also be used.
  • the motion data computed by block 1006 is then fed to a base motion predictor 1012 configured to compute a base sequence of residual error images for use of the motion data and the group of images.
  • the basic motion predictor thus performs the motion compensation that has been certainly prepared by the motion compensator or motion estimator.
  • This basic sequence of residual error images is then supplied to the basic image coder.
  • the basic image coder is configured to provide the base scaling layer 1002 at its output.
  • the encoder according to the invention further comprises an expansion-motion compensator or expansion-motion estimator 1014 for determining extension motion data.
  • This extension movement data is then supplied to an expansion movement predictor 1016, which has on the output side an extension sequence of residual error codes. images and fed to a downstream interlayer predictor 1018.
  • the expansion motion predictor thus performs the motion compensation that has been somewhat prepared by the motion compensator or motion estimator.
  • the interlayer predictor is designed to calculate extension prediction residual error images on the output side.
  • the interlayer predictor uses the basic sequence of residual error images as provided by block 1012 via dashed detour 1020 , Alternatively, however, block 1018 may also use an interpolated sequence of residual error images provided at the output of block 1012 and interpolated by an interpolator 1022. Again alternatively, the interlayer predictor may also provide a reconstructed basic sequence of residual error images as provided at an output 1024 from the basic image coder 1010. As can be seen from FIG.
  • this reconstructed basic sequence of residual error images can be interpolated 1022 or not interpolated 1020.
  • the interlayer predictor thus operates using the basic sequence of residual error images wherein the information at the interlayer predictor input 1026 is e.g. B. derived by reconstruction or interpolation of the basic sequence of residual error images at the output of the block 1012.
  • an expansion image coder 1028 configured to encode the enhancement prediction residual error images to receive the encoded extension scaling layer 1004.
  • the interlayer predictor is configured to macroblock by macroblock and frame by frame the signal at its input 1026 from the corresponding signal, the interlayer predictor 1018 from the expansion motion predictor 1016 gets to subtract.
  • the result signal obtained in this subtraction then represents a macroblock of an image of the extension prediction residual error images.
  • the interlayer predictor is adaptively designed.
  • an interlayer prediction flag 1030 is provided, which indicates to the interlayer predictor that it is to perform a prediction, or that indicates in its other state that no prediction is to be performed, but that the a corresponding macroblock at the output of the expansion motion predictor 1016 is to be supplied to the expansion image coder 1028 without further prediction.
  • This adaptive implementation has the advantage that an interlayer prediction is carried out only where it is meaningful, ie where the prediction residual signal leads to a lower output image rate, in comparison with the case in which no interlayer prediction has been performed, but in which the output data of the expansion-movement predictor 1016 has been directly coded.
  • a decimator 1032 is provided between the extension scaling layer and the base scaling layer, which is formed to convert the video sequence at its input, which has a certain spatial resolution, to a video sequence at its output which has a lower Auf ⁇ solution. If pure SNR scalability is provided, ie if the basic image coders 1010 and 1028 work with different quantization parameters 1034 and 1036 for the two scaling layers, the decimator 1032 is not provided. This is schematically represented in FIG. 1a by the detour line 1038.
  • the interpolator 1022 In the case of spatial scalability, the interpolator 1022 must furthermore be provided. In contrast, in the case of a pure SNR scalability, the interpolator 1022 is not provided. Instead, the ummwegtechnisch 1020 is taken instead, as shown in Fig. Ia.
  • the expansion motion compensator 1014 is configured to completely calculate its own motion field, or directly to the motion field calculated by the base motion compensator 1006 (detour line 1040) or after a key up through an up key 1042 use.
  • the high-speed scanner 1042 must be provided in order to scan up a motion vector of the basic motion data to the higher resolution, ie to scale, for example.
  • a macroblock (16x16 luminance samples) in the enhancement layer covers an image area which corresponds to a sub-macroblock (8x8 luminance samples) Base layer corresponds.
  • the base motion vector is therefore doubled in its x-component and its y-component, ie scaled by a factor of 2. However, this will be described below with reference to FIG. 6b.
  • the motion field is the same for all scaling layers. It therefore only has to be calculated once and can be used by each higher scaling layer directly as it has been calculated by the lower scaling layer.
  • both the signal at the output of the basic motion predictor 1012 can be used.
  • the reconstructed signal on line 1024 may also be used. The selection of which of these two signals to use for prediction is made by a switch 1044.
  • the signal on line 1024 differs from the signal at the output of block 1012 in that it already has a quantization. This means that the signal on line 1024 has a quantization error compared to the signal at the output of block 1012.
  • the alternative of using the signal on line 1024 for interlayer prediction is particularly advantageous if SNR scalability is used either alone or in conjunction with spatial scalability, since then the signal provided by the basic image coder 1010 the quantization error is to a certain extent taken into the higher scaling layer, since the output signal at the block 1018 then quantizes the quantization error made by the first scaling layer, which is then quantized by the enhancement picture coder with a typically finer quantizer step size or quantization parameter 2 at the input 1036 and into the extension scaling layer 1004 is written.
  • a motion data flag 1048 is also fed into the image coder so that corresponding information is contained in the enhancement scaling layer 1004 for the purpose of being decoded by the decoder, with reference to FIG 2 is used to be used.
  • the output signal of the basic motion predictor 1012 ie the basic sequence of residual error images, can also be used.
  • control of this switch can be performed manually or on the basis of a prediction utility function.
  • an extension sequence of residual error images is already a sequence of images in which in extreme cases only a single block of a single "residual error image” has motion prediction residual values, while in all other blocks of this picture and even in all other "residual defect images” there are actually no residual errors, since for all these images / blocks the motion composition pensêt prediction and possibly the motion compensated Ak ⁇ tualmaschine have been disabled.
  • the interlayer predictor which calculates extension prediction residual error images.
  • the extension prediction residual error images will be present in a sequence.
  • the interlayer predictor is preferably designed to be adaptive. If z.
  • a residual data prediction from the base layer to the extension layer was only meaningful for a single block of a single "residual error image", while for all other blocks of this image and possibly even for all other images of the sequence of
  • this sequence will still be referred to as extension-prediction-residual-error-pictures, in which context it should be noted that the interlayer predictor only contains residual data can predicate if motion compensation residual values have already been calculated in a corresponding block of a residual error image in the base layer, and if for a block corresponding to this block (eg at the same x, y position) in a residual error image the extension sequence also provided a motion-
  • the interlayer predictor preferably become active to provide a block of residual error values in an image of the base layer as a predictor for a block of To use residual error values in an image of the expansion layer and then to transfer only the residual values of this prediction, al ⁇ so extension prediction residual error data in this block of the considered image to the extension image coder.
  • the image coder receives the group of residual error images and supplies them in macroblock fashion to a transformation 1050.
  • the transformed macroblocks are then scaled in a block 1052 and quantized using a quantization parameter 1034, 1036,....
  • the quantization parameter used that is to say the quantization step size used for a macroblock, and quantization indices for the spectral values of the macroblock are then output. This information is then fed to an entropy coding stage, not shown in FIG.
  • the output of device 1052 is also applied to a block 1054 which performs inverse scaling and requantization to convert the quantization indices, along with the quantization parameter, back to numerical values which are then fed to an inverse transform in block 1056 to obtain a reconstructed group of residual image errors which, compared to the original group of residual error images at the input of the transformation block 1050, now has a quantization error which depends on the quantization parameters or the quantization parameters. depending on the increment.
  • either the one signal or the other signal is now supplied to the interpolator 1022 or already to the interlayer predictor 1018 in order to carry out the residual value prediction according to the invention.
  • a simple implementation of the interlayer prediction flag 1030 is shown. If the interlayer prediction flag is set, the interlayer predictor 1018 is activated. If, on the other hand, the flag is not set, then the interlayer predictor is deactivated so that a simulcast operation is executed for this macroblock or a sub-macroblock subordinate to this macroblock. The reason for this could be that the coding gain due to the prediction is actually a coding loss, ie that a transmission of the corresponding macroblock at the output of the block 1016 yields a better coding gain in the subsequent entropy coding than if prediction residual values are used would become.
  • motion data flag 1048 A simple implementation of the motion data flag 1048 is shown in FIG. If the flag is set, motion data of the enhancement layer are derived from the up-sampled motion data of the base layer. In the case of SNR scalability, the 1053 up button is not necessary.
  • the motion data of ⁇ expansion layer directly be led ab ⁇ from the basic transaction data. It should be pointed out that this motion data "derivative" can consist of the direct assumption of the motion data or, in a true prediction, in the block 1014 the motion vectors of the base Scliicht held by corresponding from the block For example, subtracted 1014 calculated motion vectors for the expansion xgs scaling layer to obtain motion data prediction values.
  • the motion data of the enhancement layer (if no prediction of any kind has been made) or the residual values of the prediction (if a true prediction has been made) are supplied to the expansion-picture coder 1028 via an output shown in FIG they are included in the expansion scaling layer bit stream 1004 at the end. If, on the other hand, a complete transfer of the movement data from the base scaling layer with or without scaling is undertaken, then no expansion movement data must be written to the extension scaling layer bit stream 1004. It suffices to signal this fact by the motion data flag 1048 in the expansion scale layer bitstream.
  • FIG. 2 shows an apparatus for decoding a coded video sequence comprising the base scaling layer 1002 and the extension scaling layer 1004.
  • the expansion scaling layer 1004 and the base scaling layer 1002 may be from a bitstream demultiplexer that demultiplexes a scalable bitstream with both scaling layers to include both the base scaling layer 1002 and the expansion scaling layer 1004 of FIG extract common bitstream.
  • the base scaling layer L 002 is applied to a basic image decoder 1060 which is configured to decode the base scaling layer to form a decoded basic sequence of residual error images and. to obtain basic motion data applied to an output port 1062.
  • the output signals on line L062 are then applied to a base-motion combiner 1064.
  • the decoder of the present invention further includes an expansion image decoder 1066 for decoding the enhancement scaling layer 1004 to obtain extension prediction residual error images on an output line 1068.
  • the output line 1068 further includes motion data infomations, such as the motion data flag 1070 or, if augmentation movement data or augmentation movement data residuals were actually in the extender scaling layer 1004, this augmentation movement data.
  • the decoded basic sequence on the line 1062 is now either interpolated by an interpolator 1070 or supplied unmodified (line 1072) to an inter-layer combiner 1074 to match that made by the interlayer predictor 1018 of FIG Reversing interlayer prediction.
  • the inter-layer combiner is thus designed to combine the extension prediction residual error images with information about the decoded basic sequence on the line 1062, be they interpolated (1070) or not (1072), an extension Sequence of residual error images, which is finally fed to an expansion motion combiner 1076, which, like the basic motion combiner 1064, also makes the motion compensation also carried out in the extension layer recede.
  • the expansion motion combiner 1076 is coupled to a motion data determiner 1078 to provide the motion data for the motion combination in block 1076.
  • the motion data may actually be supplied to the expansion layer by the expansion image decoder at the output 1068 for full extension motion data be.
  • the extension movement data may also be movement data residual values.
  • the corresponding data is supplied via an extension motion data line 1080 to the motion data determiner 1078. If, however, the movement data flag 1070 indicates that no additional extension movement data has been transmitted for the extension layer, then necessary movement data are fetched via a line 1082 from the base layer, depending on the scalability used, either directly (line 1084) or after a high key by a 1087 push-button.
  • a corresponding connection is further provided on the decoder side between the expansion-motion combiner 1076 and the basic motion combiner 1064, which depending on the spatial ⁇ scalability has an interpolator 1090 or a detour line, if only one SNR Skalierbark: eit has been set.
  • the extension layer is only transmitted a prediction residual signal for this intra-macroblock, which is disclosed by appropriate signaling information in the bit stream.
  • the expansion-motion compressor will also carry out a sum formation for this one macroblock, ie a combination between the macroblock residual values and the macroblock values from the lower partition layer then supplying the obtained macroblock to the actual inverse motion compensation processing.
  • a preferred embodiment of the basic motion predictor 1012 or the expansion motion predictor 1016 or the inverse element, that is, the expansion motion combiner 1076 or the base motion compensator 1064 will be described received.
  • any motion compensation prediction algorithm may be used, including the motion compensation algorithm shown at 92 in FIG.
  • the conventional motion compensation algorithm also obeys the scheme shown in FIG. 1, however, the update operator U, which is represented by the reference numeral 45 in FIG. 4, is deactivated. As a result, a group of images is converted into an original image and, to a certain extent, dependent residual images or prediction residual signals or residual error images.
  • an extension is implemented such that the update operator as shown in FIG. 4 is active, and e.g. is calculated as shown with reference to FIGS. 5a to 5d, the normal motion compensation prediction calculation becomes the so-called MCTF processing, which is also referred to as motion-compensated temporal filtering.
  • the update operation from the normal image or INTRA image of the conventional motion compensation becomes a low-pass image, since the original image is combined by the prediction residual signal weighted by the update operator.
  • motion-compensated temporal filter consists of a general three-step lifting scheme, namely, polyphase decomposition, prediction, and update.
  • Fig. 4 shows the corresponding analysis / synthesis filter bank structure.
  • the odd samples of a given signal are filtered by a linear combination of the even samples using the prediction operator P and a high pass signal H to the prediction residual values.
  • a corresponding low-pass signal 1 is formed by adding a linear combination of the prediction residual values h with the even-numbered sampled values of the input signal s using the updating operator.
  • the equational relationship between the variables h and 1 shown in FIG. 4 and the basic embodiments of the operators P and U is shown in FIG. 5a.
  • the synthesis filter bank includes the application of the prediction operator and the update operator in reverse order with the inverse sign in the summation process, wherein the even and the odd polyphase components are verwen ⁇ det.
  • corresponding scaling factors F 1 and F h are used for normalization of the high-pass / low-pass components. These scaling factors do not necessarily have to be used, but they can be used if quantizer step sizes are selected during encoding.
  • not only two temporally successive images are decomposed into a high-pass image and a low-pass image, but that, for example, a first image with a third image of a sequence motion compensated can be filtered.
  • the appropriate choice of reference indices allows for e.g. For example, one and the same image of a sequence of sequences can be used to serve as the basis for the motion vector. This means that the reference indices, for example in a sequence of eight images, allow all motion vectors to be detected. gates z.
  • the final result of processing these eight images by the filter scheme in FIG. 4 is a single low-pass image, resulting in seven high-pass images (enhancement images), and all the motion vectors. where an extension image is associated with each motion vector, refer to the same image of the original sequence.
  • the same picture namely, for example, the fourth picture of the sequence from eight pictures
  • the low-pass image is the same for each filtering, namely the ultimately desired single low-pass image of the sequence of images. If the update parameter is zero, the base image is simply "passed through" by the lower branch.
  • the high-pass image is always dependent on the corresponding other image of the original sequence and the prediction operator, the motion vector associated with this input image being used in the prediction.
  • the low-pass image finally obtained is associated with a specific image of the original sequence of images, and that each high-pass image is also associated with an image of the original sequence, whereby exactly the deviations of the original image of the sequence (a Motion compensation) from the selected basic picture of the sequence (which is fed in the lower branch of the analysis filter bank of FIG. 4). If each updating parameter Moi, Mn, M 2 i and M 3x equals zero, this causes the image fed into the bottom fourth-level branch 73 to be simply "looped down.”
  • the low-pass image TP 1 is somewhat “repeated”. fed into the filter bank, while the other images - controlled by the reference indices - gradually introduced into the input 64 of Fig. 3 was ⁇ .
  • the prediction and update operators for the motion-compensated filtering provide different predictions for the two different wavelets.
  • the Haar wavelet unidirectional motion compensated prediction is achieved.
  • the 5/3 spline wavelet is used, the two operators specify a bidirectional motion-compensated prediction.
  • bi-directional compensated prediction generally reduces the energy of the prediction residual, but increases the motion vector rate compared to unidirectional prediction
  • it is desirable to dynamically switch between unidirectional and bidirectional prediction which means that between a lifting representation of the Haar wavelets and the 5/3 Spline wavelet depending on a picture-dependent control signal can be switched back and forth.
  • the concept according to the invention which does not use a closed feedback loop for temporal filtering, readily allows this macroblock switching back and forth between two Wave ⁇ lets, which in turn the flexibility and in particular the Data rate saving is used, which is optimally customizable feasible.
  • FIG. 7 shows the high-pass image HPl of the first level at the output 22 of the first-level filter and the low-pass image of the first level at the output 24 of the first-level filter.
  • the two low-pass images TP2 at the output 16 of the second-level filter and the two high-pass images obtained from the second plane are shown in FIG. 7 as second-level images.
  • D-Le low-pass images of third planes are present at the output 76 of the third-level filter, while the high-pass images of the third level are present at the output 75 in further processed form.
  • the group of eight images could originally comprise video images, in which case the decoder of FIG. 3 would be used without a fourth filter level.
  • the MCTF decomposition according to the invention can be used as basic motion predictor, extension motion predictor, or Basic motion combiner or expansion motion combiner. Generally speaking, this decomposition thus transmits a group of 2 n images, (2 n + 1 -2) motion field descriptions, (2 "-1 ) residual images, and a single low-pass (or INTRA) image.
  • Both the basic motion compensator and the expansion motion compensator are preferably controlled by a base control parameter or an extension control parameter, respectively, in order to determine an optimum combination of a quantization parameter (1034) which is dependent on a specific rate or 1036) and motion information. This is done according to the following methodology in order to obtain an optimal ratio with respect to a certain maximum bit rate.
  • pictures A and B which are either original pictures or pictures representing low-pass signals. len generated in a previous analysis stage. Further, the respective arrays of luma samples a [] and b [] are provided.
  • the motion description Mio is estimated in a macroblock fashion as follows:
  • ITi 1 [m x , m y ] ⁇
  • S specifies the motion vector search area within the reference picture A.
  • P is the area which is swept by the subject macroblock division or sub-macroblock division.
  • R (i, m) specifies the number of bits needed to transmit all the components of the motion vector m, where ⁇ is a fixed Lagrangian multiplier.
  • the motion search initially proceeds via all integer sample-accurate motion vectors in the given search area S. Then, using the., Best integer Motion vector, the 8 surrounding half-sample accurate motion vectors are tested. Finally, using the best half-sample-accurate motion vector, the 8 surrounding quarter-sample-accurate motion vectors are tested. For the half- and quarter-sample-accurate motion vector enhancement, the term
  • the mode decision for the macroblock mode and the sub-macroblock mode basically follows the same solution approach. From a given set of possible macroblock or sub-macroblock modes S mOde , the mode pi which minimizes the following Lagrange functional is selected:
  • D SAD (UP) ⁇ ⁇ b [x, y] -a [xm x [p, x, y], y - m y [p, x, y]] ⁇
  • P specifies the macroblock or sub-macroblock area
  • m [p, x, y] is the motion vector, the macroblock or sub-macroblock mode p, and the pitch o- of the sub-macroblock pitch associated with the luma position (x, y).
  • the rate term R (i, p) represents the number of bits associated with the choice of the coding mode p.
  • R (i, p) represents the number of bits associated with the choice of the coding mode p.
  • the motion-compensated coding modes it includes the bits for the macroblock mode (if applicable), the sub-macroblock mode (s) (if applicable) and the motion vector (s).
  • the intra mode it includes the bits for the macroblock mode and the arrays of quantized luma and chroma-transform coefficient levels.
  • the set of possible sub-macroblock modes is through
  • the INTRA mode is only used if a motion field description Mio used for the predictive step is estimated.
  • the Lagrangian multiplier ⁇ is set in accordance with the base-layer quantization parameter for the high-pass image (s) QP Hi of the decomposition stage for which the motion field is estimated, according to the following equation:
  • the decomposition scheme shown in FIG. 8 is used, from which it is assumed that a reasonable compromise between temporal scalability and coding efficiency is possible.
  • the sequence of the original images is treated as a sequence of input images A, B, A, B, A, B... A, B.
  • this scheme provides a stage with optimal temporal scalability (equal stood between the lowpass images).
  • the sequence of low-pass pictures used as the input signal in all subsequent decomposition stages are treated as sequences of input pictures B, A, A, B, B, A... A, B, thereby representing the distances between the low-pass images, which are decomposed in the following two-channel analysis scheme, are kept small, as can be seen in FIG.
  • motion data interlayer prediction and the residual data interlayer prediction will be discussed.
  • motion data and texture data from a lower scaling layer are used for prediction purposes for a higher scaling layer.
  • an up-sampling or an upsampling of the motion data will be necessary before they can be used as a prediction for the decoding of spatial enhancement layers.
  • the motion prediction data of a base-layer representation is transmitted by AVC using a subset of the existing B-slice syntax.
  • two additional macroblock modes are preferably introduced.
  • the first macroblock mode is "Base__Layer_Mode” and the second mode is the "Qpel_Refinement_Mode”.
  • two flags namely the BLFlag and QrefFlag, are added to the macroblock layer syntax, before the syntax element mb_mode, as shown in FIG.
  • the first flag BLFlag 1098 signals the base-layer mode, while the other Flag 1100 symbolizes the Qpel Refinement mode. If such a flag is set, it has the value 1, and the data stream is as shown in Fig. 6a. Thus, if the flag 1098 has the value 1, the flag 1100 and the macroblock mode 1102 syntax element play no further role.
  • the base layer mode is used and no further information is used for the corresponding macroblock.
  • This macroblock mode indicates that the motion prediction information, including the macroblock partitioning of the corresponding macroblock of the base layer, is used directly for the extension layer.
  • the term "base layer” is intended to represent a next lower layer with respect to the layer currently being considered, ie the extension layer, if the base layer represents a layer with half the spatial resolution the motion vector field, ie the field of motion vectors including the macroblock partitioning, is scaled accordingly, as shown in Fig. 6b, in which case the current macroblock comprises the same region as an 8x8 sub macroblock of the base frame.
  • the same reference indices are used as for the corresponding macroblock / sub-macroblock partitionings of the base layer block.
  • the associated motion vectors are multiplied by a factor of 2. This factor applies to the situation shown in FIG. 6b, in which a base layer 1102 comprises half the area or number in pixels as the enhancement layer 1104. If the ratio of the spatial resolution of the base layer to the spatial resolution of the enhancement layer is not equal to 1 / 2, corresponding scaling factors are used for the motion vectors.
  • the macroblock mode Qpel_Refinement_Mode is signaled.
  • the flag 1100 is preferably present only if the base layer represents a layer with half the spatial resolution of the current layer. Otherwise, the macroblock mode (Qpel_Refinement_Mode) is not included in the set of possible macroblock modes.
  • This macroblock mode is similar to the base layer mode.
  • the macroblock partitioning as well as the reference indices and the motion vectors are derived as in the base layer mode. However, there is one for each motion vector additional quarter sample motion vector refinement -1.0 or +1 for each motion vector component which is additionally transmitted and added to the derived motion vector.
  • the macroblock mode and the corresponding reference indices and motion vector differences are specified as usual. This means that the complete set of movement data for the extension layer is transmitted in the same way as for the base layer. According to the invention, however, it is also possible here to use the base-layer motion vector as a predictor for the current extension-layer motion vector (instead of the spatial motion vector predictor). So should the list X
  • the base layer macroblock comprising the current macroblock / sub-macroblock partitions is not encoded in an INTRA macroblock mode
  • the base-layer macroblock / sub-macroblock partitioning covering the upper left sample of the present macroblock / sub-macroblock partitioning uses the List X or a bi-prediction;
  • the L ⁇ X reference index of the base layer macroblood / sub-macroblock partitioning, which includes the upper left sample of the current macroblock / sub-macroblock partitioning, is equal to the list X reference index of the current macro - block / suto macroblock partitioning.
  • the flags 1098, 1100 and 1106 thus together represent a possibility of implementing the movement data flag 1048 shown generally in FIG. 1 a or, in general, a movement data control signal 1048.
  • a movement data control signal 1048 a movement data control signal
  • different other possibilities of signaling exist for this purpose, although, of course, a fixed agreement between the transmitter and the receiver can also be used which permits a reduction in signaling information.
  • the expansion motion compensator 1014 has to do two things in principle. Thus, he first has to calculate the extension movement data, that is to say typically the entire motion vectors, and to supply them to the expansion movement predictor 1016, so that he can use these vectors in an uncoded form so as to obtain the extension sequence of residual error images. in the state of the art typically adaptive and block-by-block to perform. Another matter, however, is the expansion-motion data processing, ie how the motion data used for motion-compensated prediction are now compressed as much as possible and written in a bit stream. To do this, in order for something to be written in the bit stream, corresponding data must be provided to the expansion image coder 1028, as illustrated with reference to Figure Ie.
  • the expansion movement data processing means 1014b thus has the task of reducing as much as possible the redundancy with respect to the base layer contained in the expansion movement data which the expansion movement data calculation means 1014a has detected.
  • the basic movement data or the up-sampled basic movement data can be used both by the extension movement data calculation device 1014a to calculate the extension movement data actually to be used, or can also only be used for extension movement data processing, ie Extension motion data compression while they do not play any role in the calculation of the expansion movement data.
  • the two possibilities 1.) and 2.) of FIG. 1 g show exemplary embodiments in which the base movement data or the up-sampled base movement data are already used in the expansion movement data calculation, the embodiment 3) of FIG Ib a case in which information about the basic motion data is not used to calculate the expansion motion data but only for coding or obtaining residual data.
  • FIG. 5F shows the decoder-side implementation of the expansion motion data determination means 1078 having a block-by-block control module 1078a containing the signaling information from the bitstream and expansion-picture decoder 1066, respectively.
  • the extension motion data determiner 1078 includes an extension motion data reconstruction device 1078b, either alone using de ⁇ : decoded base motion data or decoded up-sampled base motion data, or by a combination of information about the decoded base motion data and remainder data extracted from the enhancement-scale layer 1004 by the enhancement-picture decoder 1066 actually detects the motion-motion data field motion vectors that can then be used by the enhancement-motion combiner 1076, which may be a conventional combiner; in order to undo the encoder-side motion-compensated prediction.
  • the BLFlag 1098 signals a complete transfer of the scaled-up basic movement data for the expansion-movement prediction.
  • the device 1014a is designed to take over the basic movement data completely or, in the case of different resolutions of the different layers, to take over the basic movement data in an upscaled form and transmit them to the device 1016.
  • the augmentation image coder does not communicate information about motion vectors or motion vectors. Instead, a separate flag 1098 is transmitted only for each block, be it a macroblock or a sub-macroblock.
  • the basic motion vector is integrated into the expansion motion data calculation performed by the device 1014a.
  • the motion data computation or computation of the motion vectors m takes place in that the minimum of the expression (D + ⁇ R)
  • Distortion term D is the difference between a block of a current image B and a block of a preceding and / or later image shifted by a certain potential motion vector.
  • the quantization parameter of the expansion-picture coder which is denoted by 1036 in FIG. 1a, enters into the factor ⁇ .
  • the expression R provides information about the number of bits used to encode a potential motion vector.
  • a search is now made among different potential motion vectors, with the distortion term D calculated for each new motion vector, and the rate term R calculated, and with the expansion quantization parameter 1036 being preferably fixed, however may vary.
  • the sum term described is evaluated for different potential motion vectors, after which the motion vector is taken, which yields the minimum result of the sum.
  • the base motion vector of the corresponding block from the base layer is now also integrated into this iterative search. If it fulfills the search criterion, then again only the flag 1100 must be transmitted, but no residual values or anything else must be transmitted for this block.
  • the device 1014a uses this base motion vector to generate it Facility 1016 to transmit. However, only the flag HOO is transmitted to the extension image coder.
  • Component of the motion vector are independently increased or decreased by one increment, or left equal.
  • This increment may represent a particular granularity of a motion vector, e.g. A dissolution step, a half-resolution step, or a quarter-resolution step. If such a modified basic motion vector fulfills the search criterion, then in addition to the flag 1100, the change, that is to say the increment, ie +1, 0 or -1, is to a certain extent transmitted as "residual data".
  • a decoder activated by the FLag 1100, will then search for the increment in the data stream and further recover the base motion vector or the upsampled base motion vector and combine it with the corresponding base motion vector in block 1078b of the increment then obtain the motion vector for the corresponding block in the enhancement layer.
  • the determination of the motion vectors can in principle be arbitrary.
  • the device 1014a may include the expansion motion data, e.g. B. in accordance with the minimization task mentioned in connection with the sau ⁇ embodiment.
  • the determined motion vector is then used for the encoder-side motion-compensated prediction, without taking into account information from the base layer.
  • the enhancement motion data processing- 1014a is, however, formed in this case in the Be ⁇ wegungsvektor processing for redundancy reduction, that is before the actual ⁇ arithmetic coding, involve the basic motion vectors.
  • a transmission of motion vector differences is undertaken, differences between nearby blocks within a picture being determined.
  • the difference between different nearby blocks may be formed to select the smallest difference.
  • the basic motion vector for the corresponding block is now included in an image. If it meets the criterion that it supplies the smallest residual error value as the predictor, this is signaled by flag 1106 and only the residual error value is transferred to block 1028. If the base motion vector does not satisfy this criterion, flag 1106 is not set and a spatial motion vector difference computation is made.
  • the basic motion vector or a highly sampled version of the same can always be used as the predictor, or for adaptively determined blocks.
  • an interlayer prediction of residual data is also performed. This will be explained below. If the motion information is changed from one layer to the next, it may be convenient or not convenient to predict residual information or, in the case of MCTF decomposition, high-pass information of the enhancement layer from the base layer. If the motion vectors for a block of the current layer are similar to the motion vectors of the corresponding base layer or macroblockwise corresponding motion vectors of the corresponding base layer, it is likely that the coding efficiency can be increased if the co
  • the base-layer residual signal (high-pass signal) is used as a prediction for the extension-residual signal (extension-high-pass signal), whereby only the difference between the extension residual signal and the base-layer reconstruction (line 1024 of FIG.
  • Ia is coded.
  • This adaptive approach that is, whether the interlayer predictor 1018 is active or not, may be accomplished by actually computing the benefit based on the difference signal or may be performed based on an estimation of how different a motion vector of a base scaling layer is for a macroblock to a corresponding macroblock in the extension scaling layer. If the difference is smaller than a specific threshold value, then the inter-layer predictor is activated via the control line 1030. On the other hand, if the difference is greater than a specific threshold value, then the inter-layer predictor for this macroblock is deactivated.
  • the residual signal is upsampled using an interpolation filter before the upsampled residual signal of the base layer is used as the prediction signal.
  • This filter is an interpolation filter with six taps, such that values from the environment are used to interpolate a value of the high spatial resolution of the enhancement layer, which was not present in the base layer due to the low resolution, in order to achieve the best possible To obtain interpolation result.
  • the interpolation filter would therefore become Using the interpolation values of another transformation block, it is preferable not to do exactly that, but to synthesize the values of the interpolation filter outside the considered block so that there is an interpolation with as few artifacts as possible.
  • the method according to the invention can be implemented in hardware or in software.
  • the implementation can take place on a digital storage medium, in particular a floppy disk or CD with electronically readable control signals, which can cooperate with a programmable computer system such that the method is carried out.
  • the invention thus also exists in a computer program product with a program code stored on a machine-readable carrier for carrying out the method according to the invention, when the computer program product runs on a computer.
  • the invention can thus be realized as a computer program with a program code for carrying out the method when the computer program runs on a computer.
  • the present invention further relates to a computer readable medium on which a scalable data stream with a first scaling layer and a second scaling layer are stored together with the associated control characters for the various decoder-side devices.
  • the computer-readable medium may be a volume, or the Internet on which a data stream is transmitted from a provider to a recipient.

Abstract

Ein Videocodierer führt eine Bewegungs-kompensierte Prädiktion (1906, 1012, 1014, 1016) sowohl in der Basisschicht (1002) als auch in einer Erweiterungsschicht (1004) durch, um dann Bewegungsdaten der Erweiterungsschicht unter Verwendung der Bewegungsdaten aus der Basisschicht zu ermitteln, und/oder um Folgen von Restfehlerbildern nach der Bewegungs-kompensierten Prädiktion in der Erweiterungsschicht unter Verwendung von Folgen von Restfehlerbildern aus der Basisschicht mittels eines Zwischen-Schicht-Prädiktors (1018) zu prädizieren. Auf Decodiererseite wird zur Rückgängigmachung dieser Zwischen-Schicht-Prädiktion ein Zwischen-Schicht-Kombinierer eingesetzt. Damit wird die Datenrate im Vergleich zu Skalierbarkeitsschemen ohne Zwischen-Schicht-Prädiktion bei gleicher Bildqualität verbessert.

Description

Vorrichtung und Verfahren zum Erzeugen einer codierten
Videosequenz und zum Decodieren einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-
Restwerte-Prädiktion
Beschreibung
Die vorliegende Erfindung bezieht sich auf Videocodiersys- teme und insbesondere auf skalierbare Videocodiersysteme, die in Verbindung mit dem Videocodierstandard H.264/AVC o- der mit neuen MPEG-Videocodiersystemen einsetzbar sind.
Der Standard H.264/AVC ist Ergebnis eines Videostandardi- sierungs-Projekts der ITÜ-T-Videocodier-Expertengruppe (VCEG) und der ISO/IEC-Bewegbild-Expertengruppe (MPEG) . Die Hauptziele dieses Standardisierungsvorhabens bestehen dar¬ in, ein übersichtliches Videocodier-Konzept mit sehr gutem Kompressionsverhalten zu schaffen, und gleichzeitig eine Netzwerk-freundliche Videodarstellung zu erzeugen, die so¬ wohl Anwendungen mit „Konversationscharakter", wie bei¬ spielsweise die Video-Telefonie, sowie Anwendungen ohne Konversationscharakter (Speichern, Rundfunk, Stream- Übertragung) umfassen.
Es existiert neben dem oben-zitierten Standard ISO/IEC 14496-10 auch eine Vielzahl von Publikationen die sich auf den Standard beziehen. Lediglich beispielhaft wird auf „The Emerging H.264-AVC Standard", Ralf Schäfer, Thomas Wiegand und Heiko Schwarz, EBU Technical Review, Januar 2003, ver¬ wiesen. Zudem umfasst die Fachveröffentlichung „Overview of the H.264/AVC Video Coding Standard", Thomas Wiegand, Gary J. Sullivan, Gesle Bjontegaard und Ajay Lothra, IEEE Tran- sactions on Circuits and System for Video Technology, JuIy 2003, sowie die Fachveröffentlichung „Context-based adapti¬ ve Binary Arithmethic Coding in the H.264/AVC Video Compression Standard", Detlev Marpe, Heiko Schwarz und Tho- mas Wiegand, IEEE Transactions on Circuits and Systems for Video Technology, September 2003, einen detaillierten Über¬ blick verschiedener Aspekte des Video-Codier-Standards .
Zum bessren Verständnis wird jedoch nachfolgend anhand der Figuren 9 bis 11 ein Überblick über den Videocodie- rer/Decodierer-Algorithmus gegeben.
Fig. 9 zeigt einen kompletten Aufbau eines Videocodierers, welcher allgemein aus zwei unterschiedlichen Stufen be- steht. Allgemein gesagt, erzeugt die erste Stufe, die prin¬ zipiell Video-bezogen arbeitet, Ausgangsdaten, die schlie߬ lich von einer zweiten Stufe, die in Fig. 9 mit 80 bezeich¬ net ist, einer Entropy-Codierung (Entropy Coding) unterzo¬ gen werden. Die Daten sind Daten 81a, quantisierte Trans- formations-Koeffizienten 81b sowie Bewegungsdaten 81c, wo¬ bei diese Daten 81a, 81b, 81c dem Entropie-Codierer 80 zu¬ geführt werden, um ein codiertes Videosignal am Ausgang des Entropie-Codierers 80 zu erzeugen.
Im Einzelnen wird das Eingangsvideosignal (Input Video Sig¬ nal) in Makroblöcke aufgeteilt, bzw. gesplittet, wobei je¬ der Makroblock 16 X 16 Pixel hat. Dann wird die Zuordnung der Makroblöcke zu Slice-Gruppen und Slices (slice = Schei¬ be) ausgewählt, wonach jeder Makroblock jedes Slices durch das Netz von Betriebsblöcken, wie sie in Fig. 8 gezeigt sind, verarbeitet wird. Es sei darauf hingewiesen, dass ei¬ ne effiziente Parallel-Verarbeitung von Makroblöcken mög¬ lich ist, wenn verschiedene Slices in einem Videobild sind. Die Zuordnung der Makroblöcke zu Slice-Gruppen und Slices wird mittels eines Blocks Codiersteuerung (Coder Control) 82 in Fig. 8 durchgeführt. Es existieren verschiedene Sli¬ ces, die folgendermaßen definiert sind:
I-Slice: Der I-Slice ist ein Slice, in dem alle Makroblöcke des Slices unter Verwendung einer Intra-Prediction codiert werden.
P-Slice: Zusätzlich zu dem Codiertypen des I-Slices können bestimmte Makroblöcke des P-Slices ebenfalls unter Verwen¬ dung einer Inter-Prädiktion mit zumindest einem Bewegungs- Kompensierten-Prädiktionssignal (Motion Compensated Predic- tion Signal) pro Prädiktionsblock codiert werden.
B-Slice: Zusätzlich zu den Codiertypen, die im P-Slice ver¬ fügbar sind, können bestimmte Markoblöcke des B-Slices e- benfalls unter Verwendung einer Inter-Prädiktion mit zwei Bewegungs-Kompensierten-Prädiktionssignalen pro Prädikti- onsblock codiert werden.
Die obigen drei Codiertypen sind sehr ähnlich zu denen in früheren Standards, jedoch mit der Ausnahme der Verwendung von Referenzbildern, wie es nachfolgend beschrieben wird. Die folgenden zwei Codiertypen für Slices sind im Standard H.264/AVC neu:
SP-Slice: Es wird auch als Schalt-P-Slice bezeichnet, der so codiert wird, dass ein effizientes Umschalten zwischen unterschiedlichen vorkodierten Bildern möglich wird.
Sl-Slice: Der SI-Slice wird auch als Schalt-I-Slice be¬ zeichnet, der eine genaue Anpassung des M.akroblocks in ei- nem SP-Slice für einen direkten beliebigen Zugriff und für Fehler-Wiederherstellungszwecke erlaubt.
Insgesamt sind Slices eine Sequenz von Makroblöcken, die in der Reihenfolge eines Raster-Scans verarbeitet werden, wenn nicht eine ebenfalls im Standard definierte Eigenschaft der flexiblen Makroblock-Anordnung FMO (FMO = Flexible Macro Block Ordering) verwendet wird. Ein Bild kann in einen oder mehrere Slices aufgeteilt werden, wie es in Fig. 11 darge- stellt ist. Ein Bild ist daher eine Sammlung von einem oder mehreren Slices. Slices sind in dem Sinn selbstständig von¬ einander, da ihre Syntaxelemente aus dem Bitstrom analy¬ siert (geparst) werden können, wobei die Werte der Abtast¬ werte in dem Bereich des Bildes, der durch den Slice darge- stellt wird, korrekt decodiert werden können, ohne dass Da¬ ten von anderen Slices benötigt werden, vorausgesetzt, dass verwendete Referenzbilder sowohl im Codierer als auch im Decodierer identisch sind. Bestimmte Informationen von an¬ deren Slices können jedoch nötig sein, um das Deblocking- Filter über Slice-Grenzen hinweg anzuwenden.
Die FMO-Eigenschaft modifiziert die Art und Weise, wie Bil¬ der in Slices und Makroblöcke partitioniert werden, indem das Konzept der Slice-Gruppen verwendet wird. Jede Slice- Gruppe ist ein Satz von Makroblöcken, die durch eine Makro- block-zu-Slice-Gruppen-Abbildung definiert ist, die durch den Inhalt eines Bildparametersatzes und durch bestimmte Informationen von Slice-Headern spezifiziert ist. Diese Makroblock-zu-Slice-Gruppen-Abbildung besteht aus einer Slice-Gruppen-Identifikationszahl für jeden Makroblock in dem Bild, wobei spezifiziert wird, zu welcher Slice-Gruppe der zugeordnete Makroblock gehört. Jede Slice-Gruppe kann in eine oder mehrere Slices partitioniert werden, so dass ein Slice eine Sequenz von Makroblöcken innerhalb derselben Slice-Gruppe hat, die in der Reihenfolge einer Rasterabtas¬ tung innerhalb des Satzes von Makroblöcken einer speziellen Slice-Gruppe verarbeitet wird.
Jeder Makroblock kann in einem von mehreren Codie.rtypen ab¬ hängig von dem Slice-Codiertyp übertragen werden. In all den Slice-Codiertypen werden die folgenden Typen einer Intra-Codierung unterstützt, die als intra-4X4 oder intra_ i6xi6 bezeichnet werden, wobei zusätzlich ein Chroma- Prädiktions-Modus und auch ein I-PCM Prädiktionsmodus unter¬ stützt werden.
Der intra-4X4 Modus basiert auf der Prädiktion von jedem 4x4 Chroma-Block separat und ist gut geeignet zum Codieren von Teilen eines Bildes mit herausragenden Details. Der intra_ i6xi6 -Modus führt auf der anderen Seite eine Prädiktion des gesamten lβxlδ-Chroma-Blocks durch und ist mehr geeignet zum Codieren von „weichen" Bereichen eines Bildes.
Zusätzlich zu diesen zwei Chroma-Prädiktions-Typen wird ei¬ ne getrennte Chroma-Prädiktion durchgeführt. Als Alternati¬ ve für intra-4X4 und intra-iβxie erlaubt der I_4X4 Codiertyp, dass der Codierer einfach die Prädiktion sowie die Trans- formationscodierung überspringt und statt dessen die Werte de codierten Abtastwerte direkt überträgt. Der I-pcM-Modus dient den folgenden Zwecken: Er ermöglicht es dem Codierer, die Werte der Abtastwerte präzise darzustellen. ER liefert eine Art und Weise, um die Werte von sehr anormalem Bildin- halt ohne Datenvergrößerung genau darzustellen. Er ermög¬ licht es ferner, für die Anzahl von Bits eine harte Grenze vorzugeben, die ein Codierer für eine Makroblockhandhabung haben muss, ohne dass die Codiereffizienz .leidet. Im Gegensatz zu früheren Videocodierstandards (nämlich H.263 plus und MPEG-4 Visual), wo die Intra-Prädiktion im Transformationsbereich durchgeführt worden ist, wird die Intra-Prädiktion bei H.264/AVC immer im Raumbereich (Spati- al Domain) durchgeführt, und zwar indem auf benachbarte Ab¬ tastwerte von vorher codierten Blöcken bezug genommen wird, die links bzw. oberhalb des zu prädizierenden Blocks liegen (Fig. 10). Dies kann in bestimmten Umgebungen, bei denen Übertragungsfehler auftreten, eine Fehlerfortpflanzung mit sich bringen, wobei diese Fehlerfortpflanzung aufgrund der Bewegungskompensation (Motion Compensation) in intercodier- ten Makroblöcken stattfindet. Daher kann ein begrenzter Intra-Codiermodus signalisiert werden, der eine Prädiktion nur von intra-codierten benachbarten Makroblöcken ermög¬ licht.
Wenn der intra_4X4-Modus verwendet wird, wird jeder 4x4- Block aus räumlich benachbarten Abtastwerten vorhergesagt. Dei 16 Abtastwerte des 4x4-Blocks werden unter Verwendung von vorher decodierten Abtastwerten in benachbarten Blöcken vorhergesagt. Für jeden 4x4-Block kann einer von 9 Prädik¬ tionsmodi verwendet werden. Zusätzlich zur „DC-Prädiktion (wo ein Wert verwendet wird, um den gesamten 4x4-Block vor- her zu sagen) , werden 8 Richtungs-Prädiktions-Modi spezifi¬ ziert. Diese Modi sind geeignet, um Richtungsstrukturen in einem Bild, wie beispielsweise Kanten bei verschiedenen Winkeln vorherzusagen.
Zusätzlich zu den Intra-Makroblock-Codiertypen werden ver¬ schiedene prädiktive oder bewegungs-kompensierte Codierty¬ pen als P-Makroblocktypen spezifiziert. Jeder P-Makroblock- Typ entspricht einer spezifischen Aufteilung des ' Makro- blocks in die Blockformen, die für eine bewegungs- kompensierte Prädiktion verwendet werden. Aufteilungen mit Luma-Blockgrössen von 16x16, 16x8, 8x8 oder 8x16 Abtastwer¬ ten werden durch die Syntax unterstützt. Im Falle von Auf- teilungen von 8x8 Abtastwerten wird ein zusätzliches Syn¬ taxelement für jede 8x8-Aufteilung übertragen. Dieses Syn¬ taxelement spezifiziert, ob die entsprechende 8x8- Aufteilung ferner in Aufteilungen von 8x4, 4x8 oder 4x4 Lu- ma-Abtastwerten und entsprechenden Chroma-Abtastwerten wei- ter partitioniert wird.
Das Prädiktionssignal für jeden prädiktiv-codierten MxM- Lumablock wird erhalten, indem ein Bereich des entsprechen¬ den Referenzbildes, der durch einen Translations- Bewegungsvektor und einen Bildreferenzindex spezifiziert ist, verschoben wird. Wenn somit ein Makroblock unter Ver¬ wendung von vier 8x8-Aufteilungen codiert wird, und wenn jede 8x8-Aufteilung ferner in vier 4x4-Aufteilungen aufge¬ teilt wird, kann eine maximale Menge an 16 Bewegungsvekto- ren für einen einzigen P-Makroblock im Rahmen des sogenann¬ ten Bewegungsfelds bzw. Motion Field übertragen werden.
Der Quantisierungsparameter-Slice QP wird verwendet, um die Quantisierung der Transformationskoeffizienten bei H.264/AVC festzulegen. Der Parameter kann 52 Werte anneh¬ men. Diese Werte sind so angeordnet, dass eine Zunahme von 1 im Hinblick auf den Quantisierungsparameter eine Erhöhung der Quantisierung schrittweise um etwa 12 % bedeutet. Dies bedeutet, dass eine Erhöhung des Quantisierungsparameters um 6 eine Zunahme der Quantisierer-Schrittweite um genau einen Faktor von 2 mit sich bringt. Es sei darauf hingewie¬ sen, dass eine Änderung der Schrittgröße um etwa 12 % eben- falls in etwa eine Reduktion der Bitrate um etwa 12 % be¬ deutet.
Die quantisierten Transformationskoeffizienten eines Blocks werden allgemein in einem Zick-Zack-Weg abgetastet und un¬ ter Verwendung von Entropie-Codierverfahren weiter verar¬ beitet. Die 2x2-DC-Koeffizienten der Chroma-Komponente wer¬ den in Raster-Scan-Reihenfolge abgetastet und alle Invers- Transformations-Operationen innerhalb H.264/AVC können un- ter Verwendung von nur Additionen und Shift-Operationen von 16-Bit-Ganzzahlwerten implementiert werden.
Bezugnehmend auf Fig. 9 wird das Eingangssignal zunächst Bild für Bild in einer Videosequenz, jeweils für jedes Bild gesehen, in die Makroblöcke mit 16x16 Pixeln aufteilt. Hierauf wird jedes Bild einem Subtrahierer 84 zugeführt, der das ursprüngliche Bild subtrahiert, das von einem Deco- dierer 85 geliefert wird. Der im Encodierer enthalten ist. Das Subtraktionsergebnis, also die Restsignale im Raum- Bereich (Spatial Domain) , werden nunmehr transformiert, skaliert und quantisiert (Block 86) , um die quantisierten Transformationskoeffizienten auf der Leitung 81b zu erhal¬ ten. Zur Erzeugung des Subtraktionssignals, das in den Sub¬ trahierer 874 eingespeist wird, werden die quantisierten Transformationskoeffizienten zunächst wieder skaliert und invers transformiert (Block 87), um einem Addierer 88 zuge¬ führt zu werden, dessen Ausgang das Deblocking-Filter 89 speist, wobei am Ausgang des Deblocking-Filters das Aus¬ gangsvideosignal, wie es z.B. ein Decodierer decodieren wird, z.B. zu Kontrollzwecken überwacht werden kann (Aus¬ gang 90) . Unter Verwendung des decodierten Ausgangssignals am Ausgang 90 wird dann eine Bewegungsschätzung (Motion Estimation) in einem Block 91 durchgeführt. Zur Bewegungsschätzung in Block 91 wird, wie es aus Fig. 9 ersichtlich ist, ein Bild des ursprünglichen Input-Videosignals zugeführt. Der Stan¬ dard erlaubt zwei verschiedene Bewegungsschätzungen, näm¬ lich eine Vorwärts-Bewegungs-Schätzung und eine Rückwärts- Bewegungs-Schätzung. Bei der Vorwärts-Bewegungs-Schätzung wird die Bewegung des aktuellen Bilds im Hinblick auf das vorhergehende Bild abgeschätzt. Dagegen wird bei der Rück- wärts-Bewegungs-Schätzung die Bewegung des aktuellen Bilds unter Verwendung des zukünftigen Bilds abgeschätzt. Die Er¬ gebnisse der Bewegungsschätzung (Block 91) werden einem Be- wegungskompensations-Block (Motion Compensation) 92 zuge- führt, der insbesondere dann, wenn ein Schalter 93 auf den Inter-Prädiktions-Modus geschaltet ist, wie es in Fig. 9 der Fall ist, eine bewegungs-kompensierte Inter-Prädiktion durchgeführt. Steht der Schalter 93 dagegen auf Intra¬ Frame-Prädiktion, so wird eine Intra-Frame-Prädiktion unter Verwendung eines Blocks 490 durchgeführt. Hierzu werden die Bewegungsdaten nicht benötigt, da für eine Intra-Frame- Prädiktion keine Bewegungskompensation ausgeführt wird.
Der Bewegungsschätzungsblock 91 erzeugt Bewegungsdaten bzw. Bewegungsfelder, wobei Bewegungsdaten bzw. Bewegungsfelder, die aus Bewegungsvektoren (Motion Vectors) bestehen, zum Decodierer übertragen werden, damit eine entsprechende in- verse Prädiktion, also Rekonstruktion unter Verwendung der Transformationskoeffizienten und der Bewegungsdaten durch- geführt werden kann. Es sei darauf hingewiesen, dass im Falle einer Vorwärts-Prädiktion der Bewegungsvektor aus dem unmittelbar vorhergehenden Bild bzw. auch aus mehreren vor¬ hergehenden Bildern berechnet werden kann. Darüber hinaus sei darauf hingewiesen, dass im Falle einer Rückwärts- Prädiktion ein aktuelles Bild unter Verwendung des unmit¬ telbar angrenzenden zukünftigen Bildes und natürlich auch unter Verwendung von weiteren zukünftigen Bildern berechnet werden kann.
Nachteilig an dem in Fig. 9 dargestellten Videocodierer- Konzept ist dass es keine einfache Skalierbarkeitsmöglich- keit bietet. Wie es in der Technik bekannt ist, versteht man unter dem Ausdruck „Skalierbarkeit" ein Codie- rer/Decodier-Konzept, bei dem der Codierer einen skalierten Datenstrom liefert. Der skalierte Datenstrom umfasst eine Basis-Skalierungsschicht sowie eine oder mehrere Erweite- rungs-Skalierungsschichten. Die Basis-Skalierungsschicht umfasst eine Darstellung des zu codierenden Signals allge¬ mein gesagt mit geringerer Qualität, jedoch auch mit gerin¬ gerer Datenrate. Die Erweiterungs-Skalierungsschicht ent¬ hält eine weitere Darstellung des Videosignals, die typi¬ scherweise zusammen mit der Darstellung des Videosignals in der Basis-Skalierungsschicht eine Darstellung mit verbes¬ serter Qualität im Hinblick auf die Basis- Skalierungsschicht liefert. Dagegen hat die Erweiterungs- Skalierungsschicht selbstverständlich einen eigenen Bitbe¬ darf, so dass die Anzahl der Bits zur Darstellung des zu codierenden Signals mit jeder Erweiterungsschicht zunimmt.
Ein Decodierer wird je nach Ausgestaltung bzw. nach Mög¬ lichkeit entweder nur die Basis-Skalierungsschicht decodie¬ ren, um eine vergleichsweise qualitativ schlechte Darstel- lung des durch das codierte Signal dargestellten Bildssig¬ nals zu liefern. Mit jeder „Hinzunahme" einer weiteren Ska¬ lierungsschicht kann der Decodierer jedoch schrittweise die Qualität des Signals (zu Lasten der Bitrate) verbessern. Je nach Implementierung und nach Übertragungskanal von ei¬ nem Codierer zu einem Decodierer wird immer wenigstens die Basis-Skalierungsschicht übertragen, da die Bitrate der Ba- sis-Skalierungsschicht typischerweise so gering ist, dass auch ein bisher begrenzter Übertragungskanal ausreichend sein wird. Erlaubt der Übertragungskanal nicht mehr Band¬ breite für die Anwendung, so wird nur die Basis- Skalierungsschicht, nicht aber eine Erweiterungs- Skalierungsschicht übertragen. Dies hat zur Folge, dass der Decodierer lediglich eine niederqualitative Darstellung des Bildsignals erzeugen kann. Im Vergleich zum unskalierten Fall, bei dem die Datenrate so hoch gewesen wäre, dass eine Übertragung das Übertragungssystem überhaupt nicht möglich gewesen wäre, ist die niederqualitative Darstellung von Vorteil. Erlaubt der Übertragungskanal die Übertragung von einer oder mehrerer Erweiterungsschichten, so wird der Co¬ dierer auch eine oder mehrere Erweiterungsschichten zum De¬ codierer übertragen, so dass dieser je nach Anforderung schrittweise die Qualität des ausgegebenen Videosignals er¬ höhen kann.
Im Hinblick auf die Codierung von Videosequenzen kann man zwei unterschiedliche Skalierungen unterscheiden. Die eine Skalierung ist die zeitliche Skalierung, dahingehend, dass z.B. nicht alle Video-Einzelbilder einer Videosequenz über¬ tragen werden, sondern dass- zur Reduzierung der Datenrate - beispielsweise nur jedes zweite Bild, jedes dritte Bild, jedes vierte Bild, etc. übertragen wird.
Die andere Skalierung ist die SNR-Skalierbarkeit (SNR = Signal to Noise Ratio), bei der jede Skalierungsschicht, also sowohl die Basis-Skalierungsschicht als auch die ers- te, zweite, dritte... Erweiterungs-Skalierungsschicht sämt¬ liche zeitlichen Information umfasst, jedoch mit einer un¬ terschiedlichen Qualität. So hätte die Basis- Skalierungsschicht zwar eine niedrige Datenrate, jedoch ein geringes Signal/Rausch-Verhältnis, wobei dieses Sig¬ nal/Rausch-Verhältnis dann, mit Hinzunahme jeweils einer Erweiterungs-Skalierungsschicht schrittweise verbessert werden kann.
Das in Fig. 9 dargestellte Codierer-Konzept ist dahingehend problematisch, dass es darauf basiert, dass lediglich Rest¬ werte durch den Subtrahierer 84 erzeugt werden, und dann weiter verarbeitet werden. Diese Restwerte werden aufgrund von Prädiktionsalgorithmen berechnet, und zwar in der in Fig. 9 gezeigten Anordnung, die unter Verwendung der Blöcke 86, 87, 88, 89, 93, 94 und 84 eine geschlossene Schleife bildet, wobei in der geschlossenen Schleife ein Quantisie- rungs-Parameter eingeht, und zwar in den Blöcken 86, 87. Würde nunmehr eine einfache SNR-Skalierbarkeit dahingehend implementiert werden, dass z.B. jedes prädizierte Restsig¬ nal zunächst mit einer groben Quantisierer-Schrittweite quantisiert wird, und dann, schrittweise, unter Verwendung von Erweiterungsschichten mit feineren Quantisierungs- Schrittweiten quantisiert werden würde, so würde dies fol- gende Konsequenzen haben. Aufgrund der inversen Quantisie¬ rung und der Prädiktion insbesondere im Hinblick auf die Bewegungsschätzung (Block 91) und die Bewegungskompensation (Block 92), die unter Verwendung des ursprünglichen Bildes einerseits und des quantisierten Bildes andererseits statt- finden, ergibt sich ein „Auseinanderlaufen" der Quantisie¬ rungs-Schrittweiten" sowohl im Encodierer als auch im Deco- dierer. Dies führt dazu, dass die Erzeugung der Erweite- rungs-Skalierungsschichten auf Encoder-Seite sehr problema- tisch wird. Ferner wird die Verarbeitung der Erweiterungs- Skalierungsschichten auf der Decodiererseite zumindest im Hinblick auf die im Standard H.264/AVC definierten Elemente unmöglich. Grund hierfür ist die anhand von Fig. 9 darge- stellte geschlossene Schleife im Video-Encodierer, in der die Quantisierung enthalten ist.
Im Standardisierungsdokument JVT-I 032 tl mit dem Titel „SNR-Scalable Extension of H.264/AVC, Heiko Schwarz, Detlev Marpe und Thomas Wiegand, vorgestellt beim neunten JVT- Meeting vom 2. bis zum 5. Dezember 2003 in San Diego wird eine skalierbare Erweiterung zu H.264/AVC vorgestellt, die eine Skalierbarkeit sowohl hinsichtlich der Zeit als auch des Signal/Rausch-Verhältnisses (bei gleicher oder unter- schiedlicher Zeitgenauigkeit) umfasst. Hierzu wird eine Lifting-Darstellung zeitlicher Subbandzerlegungen einge¬ führt, die die Verwendung bekannter Verfahren zur Bewe- gungs-kompensierten Prädiktion erlaubt.
Wavelet-basierte Videocodier-Algorithmen, bei denen Lif- ting-Implementierungen für die Wavelet-Analyse und für die Wavelet-Synthese eingesetzt werden, sind in J.-R. Ohm, „Complexity and delay analysis of MCTF interframe wavelet structures", ISO/IECJTC1/WG11 Doc.M8520, JuIy 2002, be- schrieben. Anmerkungen zur Skalierbarkeit finden sich auch in D. Taubman, „Successive refinement of video: fundamental issues, past efforts and new directions", Proc. of SPIE (VCIP' 03), vol. 5150, pp. 649-663, 2003, wobei hierfür je¬ doch erhebliche Änderungen an Codiererstrukturen nötig sind. Erfindungsgemäß wird dagegen ein Codierer/Decodierer- Konzept erreicht, das einerseits die Skalierbarkeitsmög- lichkeit hat und das andererseits auf standardkonformen E- lementen, insbesondere z.B. für die Bewegungskompensation, aufbauen kann.
Bevor detailliert auf einen Encoder/Docoder-Aufbau anhand von Fig. 3 eingegangen wird, sei zunächst anhand von Fig. 4 ein grundsätzliches Lifting-Schema auf Seiten des. Codierers bzw. ein Invers-Lifting-Schema auf Seiten des Decodierers dargestellt. Detaillierte Ausführungen zu den Hintergründen der Kombination von Lifting-Schemen und Wavelet- Transformationen finden sich in W. Sweldens, „A custom de- sign construction of biorthogonal wavelets", J. Appl. Comp. Harm. Anal., vol. 3 (no. 2), pp. 186-200, 1996 und I. Daubechies und W. Sweldens, „Factoring wavelet transforms into lifting Steps", J. Fourier Anal. Appl., vol. 4 (no.3), pp. 247-269, 1998. Im allgemeinen besteht das Lifting- Schema aus drei Schritten, dem Polyphasen- Zerlegungsschritt, dem Prädiktions-Schritt und dem Update- Schritt (Aktualisierungs-Schritt) .
Der Zerlegungs-Schritt umfasst eine Aufteilung des ein- gangsseitigen Datenstroms in eine identische erste Kopie für einen unteren Zweig 40a sowie eine identische Kopie für einen oberen Zweig 40b. Ferner wird die identische Kopie des oberen Zweigs 40b um eine Zeitstufe (z"1) verzögert, so dass ein Abtastwert S2k+i mit einem ungeradzahligen Index k zum gleichen Zeitpunkt wie ein Abtastwert mit einem geraden Index S2k durch einen jeweiligen Dezimierer bzw. Down- sampler 42a, 42b läuft. Der Dezimierer 42a bzw. 42b redu¬ ziert die Anzahl der Samples im oberen bzw. im unteren Zweig 40b, 40a durch Eliminieren jedes jeweils zweiten Ab¬ tastwerts. Der zweite Bereich II, der sich auf den Prädiktion-Schritt bezieht, umfasst einen Prädiktionsoperator 43 sowie einen Subtrahierer 44. Der dritte Bereich, also der Aktualisie¬ rungs-Schritt umfasst einen Aktualisierungs-Operator 45 so- wie einen Addierer 46. Ausgangsseitig existieren noch zwei Normierer 47, 48, zum Normieren des Hochpass-Signals hk (Normierer 47) und zum Normieren des Tiefpass-Signals lk durch den Normierer 48.
Im einzelnen führt die Polyphasenzerlegung dazu, dass die geradzahligen und ungeradzahligen Abtastwerte einen gegebe¬ nen Signals s[k] getrennt werden. Da die Korrelationsstruk¬ tur typischerweise eine Lokalcharakteristik zeigt, sind die geraden und ungeraden Polyphasenkomponenten hochkorreliert. Daher wird in einem anschließenden Schritt eine Prädiktion
(P) der ungeraden Abtastwerte unter Verwendung der geraden
Abtastwerte durchgeführt. Der entsprechende Prädiktions-
Operator (P) für jeden ungeraden Abtastwert ,sodd[k]=s[2k+1] ist eine lineare Kombination der benachbarten geraden Ab- tastwerte
Figure imgf000017_0001
d.h.
Figure imgf000017_0002
Als Ergebnis des Prädiktions-Schritts werden die ungerad- zahligen Abtastwerte durch ihre entsprechenden Prädiktions- Restwerte
Figure imgf000017_0003
ersetzt. Es sei darauf hingewiesen, dass der Prädikti¬ onsschritt äquivalent zum Durchführen eines Hochpass- Filters einer Zwei-Kanal-Filterbank ist, wie es in I. Dau- bechies und W. Sweldens, „Factoring wavelet transforms into lifting steps", J. Fourier Anal. Appl. vol 4 (no.3), pp. 247-269, 1998 dargelegt ist.
Im dritten Schritt des Lifting-Schemas wird eine Tiefpass- Filterung durchgeführt, indem die geraden Abtastwerte -?even[&] durch eine lineare Kombination der Prädiktions-Restwerte h[k] ersetzt werden. Der entsprechende Aktualisierungs- Operator U ist gegeben durch
Durch Ersetzen der geraden Abtastwerte mit
l[k]=sevea[k]+V(h)[k]
kann das gegebene Signal s[k] schließlich durch l(k) und h(k) dargestellt werden, wobei jedes Signal jedoch die hal¬ be Abtastrate hat. Da sowohl der Aktualisierungs-Schritt als auch der Prädiktions-Schritt vollständig invertierbar sind, kann die entsprechende Transformation als kritisch abgetastete Perfekt-Rekonstruktions-Filterbank interpre¬ tiert werden. In der Tat kann gezeigt werden, dass jegliche biorthogonale Familie von Wavelet-Filtern durch eine Se- quenz von einem oder mehreren Prädiktions-Schritten und ei¬ nem oder mehreren Aktualisierungs-Schritten realisiert wer¬ den kann. Für eine Normierung der Tiefpaß- und Hochpass- Komponenten werden, wie es ausgeführt worden ist, die Nor¬ mierer 47 und 48 mit geeignet gewählten Skalierungsfaktoren Fi und Fj1 versorgt. Das Invers-Lifting-Schema, das der Synthese-Filterbank ent¬ spricht, ist in Fig. 4, auf der rechten Seite, gezeigt. Es besteht einfach aus der Anwendung des Prädiktions- und Ak¬ tualisierungs-Operators in umgekehrter Reihenfolge und mit umgekehrten Vorzeichen, gefolgt von der Rekonstruktion un¬ ter Verwendung der geraden und ungeraden Polyphasenkompo¬ nenten. Im einzelnen umfasst der in Fig. 4 rechte gezeigte Decodierer somit wieder einen ersten Decodiererbereich I, einen zweiten Decodiererbereich II sowie einen dritten De- codiererbereich III. Der erste Decodiererbereich macht die Wirkung des Aktualisierungs-Operators 45 rückgängig. Dies geschieht dadurch, dass das durch einen weiteren Normierer 50 zurück-normierte Hochpass-Signal dem Aktualisierungs- Operator 45 zugeführt wird. Das Ausgangssignal des deco- dierseitigen Aktualisierungs-Operators 45 wird dann nun, im. Gegensatz zum Addierer 46 in Fig. 4, einem Subtrahierer 52 zugeführt. Entsprechend wird mit dem Ausgangssignal des Prädiktors 43 vorgegangen, dessen Ausgangssignal nunmehr nicht, wie auf Codiererseite einem Subtrahierer zugeführt wird, sondern dessen Ausgangssignal nunmehr einem Addierer 53 zugeführt wird. Nunmehr findet ein Upsampling des Sig¬ nals in jedem Zweig um den Faktor 2 statt (Blöcke 54a, 54b) . Hierauf wird der obere Zweig um einen Abtastwert in die Zukunft geschoben, was äquivalent zum Verzögern des un- teren Zweigs ist, um dann eine Addition der Datenströme auf dem oberen Zweig und dem unteren Zweig in einem Addierer 55 durchzuführen, um das rekonstruierte Signal Sk am Ausgang der Synthese-Filterbank zu erhalten.
Durch den Prädiktor 43 bzw. den Aktualisierer 45 können verschiedene Wavelets implementiert werden. Falls das soge¬ nannte Haar-Wavelet implementiert werden soll, sind der Prädiktions-Operator und der Aktualisierungs-Operator durch folgende Gleichung gegeben
PHa>even)M
Figure imgf000020_0001
derart , dass
h[k]=s[2k + l]-s[2k] und l[k]=s[2k]+^h[k] = i{s[2k] + s[2k + l])
dem nicht-normierten Hochpaß- bzw. Tiefpaß- (Analyse-) Aus¬ gangssignal des Haar-Filters entsprechen.
Im Falle des 5/3-Biorthogonal-Spline-Wavelets haben das Tiefpaß- und das Hochpaß-Analyse-Filter dieses Wavelets 5 bzw. 3 Filtertaps, wobei die entsprechende Skalierungsfunk¬ tion ein B-Spline der Ordnung 2 ist. In Codieranwendungen für nicht-bewegte Bilder (Still-Images, wie beispielsweise JPEG 2000) wird dieses Wavelet für ein zeitliches Subband- Codierschema verwendet. In einer Lifting-Umgebung sind die entsprechenden Prädiktions- und Aktualisierungs-Operatoren der 5/3-Transformation folgendermaßen gegeben
Figure imgf000020_0002
Fig. 3 zeigt ein Blockschaltbild einer Codierer/Decodierer- Struktur mit beispielhaften vier Filterebenen sowohl auf Seiten des Codierers als auch auf Seiten des Decodierers. Aus Fig. 3 ist zu ersehen, dass die erste Filterebene, die zweite Filterebene, die dritte Filterebene und die vierte Filterebene bezogen auf den Codierer identisch sind. Die Filterebenen bezogen auf den Decodierer sind ebenfalls i- dentisch. Auf Codiererseite umfasst jede Filterebene als zentrale Elemente einen Rückwärts-Prädiktor Mio sowie einen Vorwärts-Prädiktor Mn 61. Der Rückwärts-Prädiktor 60 ent- spricht prinzipiell dem Prädiktor 43 von Fig. 4, während der Vorwärts-Prädiktor 61 dem Aktualisierer von F_ig. 4 ent¬ spricht.
Im Unterschied zu Fig. 4 sei darauf hingewiesen, dass sich Fig. 4 auf einen Strom von Abtastwerten bezieht, bei denen ein Abtastwert einen ungeradzahligen Index 2k+l hat, wäh¬ rend ein anderer Abtastwert einen geradzahligen Index 2k hat. Die Notation in Fig. 3 bezieht sich jedoch, wie es be¬ reits anhand von Fig. 1 dargelegt worden ist, auf eine Gruppe von Bildern anstatt auf eine Gruppe von Abtastwer¬ ten. Hat ein Bild beispielsweise eine Anzahl von Abtastwer¬ ten bzw. Pixeln, so wird dieses Bild insgesamt eingespeist. Dann wird das nächste Bild eingespeist etc. Es existieren somit nicht mehr ungeradzahlige und geradzahlige Abtastwer- te, sondern ungeradzahlige und geradzahlige Bilder. Erfin¬ dungsgemäß wird das für ungeradzahlige und geradzahlige Ab¬ tastwerte beschriebene Lifting-Schema auf ungeradzahlige bzw. geradzahlige Bilder, von denen jedes eine Vielzahl von Abtastwerten hat, angewendet. Aus dem abtastwert-weisen Prädiktor 43 von Fig. 4 wird nunmehr die Rückwärts- Bewegungskompensations-Prädiktion 60, während aus dem ab¬ tastwert-weisen Aktualisierer 45 die Bildweise Vorwärts- Bewegungskompensations-Prädiktion 61 wird.
Es sei darauf hingewiesen, dass die Bewegungsfilter, die aus Bewegungsvektoren bestehen, und die Koeffizienten für die Blöcke 60 und 61 darstellen, jeweils für zwei aufeinan¬ der bezogene Bilder berechnet und als Seiteninformationen vom Codierer zum Decodierer übertragen werden. Von wesent¬ lichem Vorteil beim erfindungsgemäßen Konzept ist jedoch die Tatsache, dass die Elemente 91, 92, wie sie anhand von Fig. 9 beschrieben sind und im Standard H.264/AVC standar- disiert sind, ohne weiteres dazu verwendet werden kiönnen, um sowohl die Bewegungsfelder Mio als auch die _Bewegungs- feider Mn zu berechnen. Für das erfindungsgemäße Konzept muss daher kein neuer Prädiktor/Aktualisierer eingjesetzt werden, sondern es kann der bereits bestehende, unterrsuchte und auf Funktionalität und Effizienz überprüfte im Video¬ standard genannte Algorithmus für die Bewegungskomperxsation in Vorwärtsrichtung oder in Rückwärtsrichtung eingesetzt werden.
Insbesondere zeigt die in Fig. 3 dargestellt allg-emeine Struktur der verwendeten Filterbank eine zeitliche Zerle¬ gung des Videosignals mit einer Gruppe von 16 Bildern, die an einem Eingang 64 eingespeist werden. Die Zerlegung ist eine dyadische zeitliche Zerlegung des Videosignals, wobei bei dem in Figur 3 gezeigten Ausführungsbeispiel mit 4 Ebe¬ nen 24=16 Bilder, also eine Gruppengröße von 16 Bildexn be¬ nötigt wird, um auf der Darstellung mit der kleinsten zeit¬ lichen Auflösung, also auf den Signalen am Ausgang 28a und am Ausgang 28b anzukommen. Werden daher 16 Bilder grup- piert, so führt dies zu einer Verzögerung von 16 BiJ_dern, was das in Fig. 3 gezeigte Konzept mit vier Ebenen für in¬ teraktive Anwendungen eher problematisch macht. Wird daher auf interaktive Anwendungen abgezielt, so wird es -bevor¬ zugt, kleinere Gruppen von Bildern zu bilden, wie bei- spielsweise vier oder acht Bilder zu gruppieren. Dann wird die Verzögerung entsprechend reduziert, so dass auch der Einsatz für interaktive Anwendungen möglich wird. In Fäl¬ len, in denen Interaktivität nicht benötigt wird, bei- spielsweise zu Speicherzwecken etc. kann die Anzahl der Bilder in einer Gruppe, also die Gruppengröße, entsprechend erhöht werden, beispielsweise auf 32, 64, etc. Bilder.
So wird eine interaktive Anwendung des Haar-basierten bewe- gungs-kompensierten Lifting-Schemas verwendet, das aus ei¬ ner Rückwärts-Bewegungskompensations-Prädiktion (Mio) , wie in H.264/AVC besteht, und das ferner einen Aktualisierungs- Schritt umfasst, der eine Vorwärtsbewegungskompensation (Mii) umfasst. Sowohl der Prädiktions-Schritt als auch der Aktualisierung-Schritt verwenden den Bewegungskompensati- onsprozess, wie er in H.264/AVC dargestellt it. Ferner wird nicht nur die Bewegungskompensation verwendet, sondern auch das in Fig. 9 mit dem Bezugszeichen 89 bezeichnet Deblo- cking-Filter 89.
Die zweite Filterebene umfasst wieder Downsampler 66a, 66b, einen Subtrahierer 69, einen Rückwärts-Prädiktor 67, einen Vorwärts-Prädiktor 68 sowie einen Addierer 70 und eine Wei- terverarbeitungseinrichtung, um an einem Ausgang der Wei¬ terverarbeitungseinrichtung das erste und das zweite Hoch- pass-Bild der zweiten Ebene auszugeben, während am Ausgang des Addierers 70 das erste und das zweite Tiefpass-Bild der zweiten Ebene ausgegeben werden.
Der Codierer in Fig. 3 umfasst zusätzlich eine dritte Ebene sowie eine vierte Ebene, wobei in den Eingang 64 der vier¬ ten Ebene eine Gruppe von 16 Bildern eingespeist wird. An einem Hochpass-Ausgang 72 der vierten Ebene, der auch als HP4 bezeichnet ist, werden mit einem Quantisierungs- Parameter Q quantisierte und entsprechend weiterverarbeite¬ te acht Hochpass-Bilder ausgegeben. Entsprechend werden an einem Tiefpass-Ausgang 73 der vierten .Filterebene acht Tiefpass-Bilder ausgegeben, die in einem Eingang 74 der dritten Filterebene eingespeist wird. Die Ebene ist wieder¬ um wirksam, um an einem Hochpass-Ausgang 75, der auch mit HP3 bezeichnet ist, vier Hochpass-Bilder zu erzeugen und um einem Tiefpass-Ausgang 76 vier Tiefpass-Bilder zu erzeugen, die in den Eingang 10 der zweiten Filterebene eingespeist werden und zerlegt werden.
Es sei besonders darauf hinzuweisen, dass die durch eine Filterebene verarbeitete Gruppe von Bildern nicht unbedingt Videobilder sein müssen, die von einer ursprünglichen Vi¬ deosequenz stammen, sondern auch Tiefpass-Bilder sein kön¬ nen, die von einer nächsthöheren Filterebene an einem Tief¬ pass-Ausgang der Filterebene ausgegeben worden sind.
Ferner sei darauf hingewiesen, dass das in Fig. 3 gezeigte Codierer-Konzept für sechzehn Bilder ohne weiteres auf acht Bilder reduziert werden kann, wenn einfach die vierte Fil¬ terebene weggelassen wird und die Gruppe von Bildern in den Eingang 74 eingespeist wird. Genauso kann das in Fig. 3 ge¬ zeigte Konzept auch ohne weiteres auf eine Gruppe von zwei¬ unddreißig Bildern erweitert werden, indem eine fünfte Fil¬ terebene hinzugefügt wird, und indem die dann sechzehn Hochpass-Bilder an einem Hochpass-Ausgang der fünften FiI- terebene ausgegeben werden und die sechzehn Tiefpass-Bilder am Ausgang der fünften Filterebene in den Eingang 64 der vierten Filterebene eingespeist werden.
Auf Decodiererseite wird ebenfalls das baumartige Konzept der Codiererseite angewendet, jedoch nun nicht mehr, wie auf Codiererseite von der höheren Ebene zur niedrigeren E- bene, sondern nunmehr, auf der Decodiererseite, von der niedrigeren Ebene zur höheren Ebene. Hierzu wird' von einem Übertragungsmedium, das schematisch als Network Abstraction Layer 100 bezeichnet ist, der Datenstrom empfangen und der empfangene Bitstrom wird zunächst einer Invers- Weiterverarbeitung unter Verwendung der Invers- Weiterverarbeitungseinrichtungen unterzogen, um eine rekon¬ struierte Version des ersten Hochpass-Bildes der ersten E- bene am Ausgang der Einrichtung 30a und eine rekonstruierte Version des Tiefpass-Bildes der ersten Ebene am Ausgang des Blocks 30b von Fig. 3 zu erhalten. Dann wird, in Analogie zur rechten Hälfte von Fig. 4, zunächst die Vorwärts- Bewegungskompensations-Prädiktion mittels des Prädiktors 61 rückgängig gemacht, um dann das Ausgangssignal des Prädik¬ tors 61 von der rekonstruierten Version des Tiefpass- Signals zu subtrahieren (Subtrahierer 101) .
Das Ausgangssignal des Subtrahierers 101 wird in einen Rückwärts-Kompensations-Prädiktor 60 eingespeist, um ein Prädiktionsergebnis zu erzeugen, das in einem Addierer 102 zur rekonstruierten Version des Hochpass-Bildes addiert wird. Hierauf werden beide Signale, also die Signale im un¬ teren Zweig 103a, 103b auf die doppelte Abtastrate ge¬ bracht, und zwar unter Verwendung der Upsampler 104a, 104b, wobei dann das Signal auf dem oberen Zweig je nach Imple¬ mentierung verzögert bzw. „beschleunigt" wird. Es sei dar- auf hingewiesen, dass das üpsampling durch die Brücke 104a, 104b einfach durch Einfügen von einer Anzahl von Nullen, die gleich der Anzahl von Samples für ein Bild entspricht, durchgeführt wird. Die Verschiebung um die Verzögerung ei¬ nes Bildes durch das mit z"1 gezeigte Element im oberen Zweig 103b gegenüber dem unteren Zweig 103a bewirkt, dass die Addition durch einen Addierer 106 dazu führt, dass aus- gangsseitig bezüglich des Addierers 106 die beiden Tief- pass-Bilder der zweiten Ebene nacheinander vorliegen. Die rekonstruierte Version des ersten und des zweiten Tief- pass-Bildes der zweiten Ebene werden dann in das decodie- rerseitige Invers-Filter der zweiten Ebene eingespeist und dort, zusammen mit den übertragenen Hochpaß-Bildern der zweiten Ebene wieder durch die identische Implementierung der Invers-Filterbank kombiniert, um an einem Ausgang 108 der zweiten Ebene eine Folge von vier Tiefpass-Bildern der dritten Ebene zu haben. Die vier Tiefpass-Bilder der drit- ten Ebene werden in einer Invers-Filterebene der dritten Ebene mit den übertragenen Hochpaß-Bildern der dritten Ebe¬ ne kombiniert, um an einem Ausgang 110 des Invers-Filters der dritten Ebene acht Tiefpass-Bilder der vierten Ebene in aufeinanderfolgendem Format zu haben. Diese acht Tiefpass- Bilder der dritten Ebene werden dann, in einem Invers- Filter der vierten Ebene mit den acht Hochpaß-Bildern der vierten Ebene, die vom Übertragungsmedium 100 über den Ein¬ gang HP4 empfangen werden, wieder wie anhand der ersten E- bene besprochen, kombiniert, um an einem Ausgang 112 des Invers-Filters der vierten Ebene eine rekonstruierte Gruppe von 16 Bildern zu erhalten.
In jeder Stufe der Analyse-Filterbank werden somit zwei Bilder, also entweder ursprüngliche Bilder oder Bilder die Tiefpaß-Signale darstellen und in einer nächsthöheren Ebene erzeugt worden sind, in ein Tiefpass-Signal und in ein Hochpass-Signal zerlegt. Das Tiefpass-Signal kann als Dar¬ stellung der Gemeinsamkeiten der Eingangsbilder betrachtet werden, während das Hochpass-Signal als Darstellung der Un- terschiede zwischen den Eingangsbildern betrachtet werden kann. In der entsprechenden Stufe der Synthese-Filterbank werden die beiden Eingangsbilder unter Verwendung des Tief- pass-Signals und des Hochpass-Signals wieder rekonstruiert. Da im Syntheseschritt die inversen Operationen des Analyse¬ schritts durchgeführt werden, garantiert die Analy¬ se/Synthese-Filterbank (ohne Quantisierung selbstverständ¬ lich) eine perfekte Rekonstruktion.
Die einzigen auftretenden Verluste kommen aufgrund der Quantisierung in den Weiterverarbeitungseinrichtungen z.B. 2βa, 26b, 18 vor. Wird sehr fein quantisiert, so wird ein gutes Signal-Rausch-Verhältnis erreicht. Wird dagegen sehr grob quantisiert, so wird ein relativ schlechtes Signal- Rausch-Verhältnis, jedoch bei niedriger Bitrate, also bei niedrigem Bedarf, erreicht.
Ohne SNR-Skalierbarkeit könnte bereits mit dem in Fig. 3 dargestellten Konzept zumindest eine Zeit- Skalierungssteuerung implementiert werden. Hierzu wird eine Zeit-Skalierungs-Steuerung 120 eingesetzt, die ausgebildet ist, um eingangsseitig die Hochpaß- bzw. Tiefpass-Ausgänge bzw. die Ausgänge der Weiterverarbeitungseinrichtungen (26a, 26b, 18 ...) zu erhalten, um aus diesen Teildaten¬ strömen TPl, HPl, HP2, HP3, HP4 einen skalierten Datenstrom zu erzeugen, der in einer Basis-Skalierungsschicht die wei¬ terverarbeitende Version des ersten Tiefpass-Bildes und des ersten Hochpass-Bildes hat. In einer ersten Erweiterungs- Skalierungsschicht könnte dann die weiterverarbeitende Ver¬ sion der zweiten Hochpass-Bildes untergebracht sein. In ei¬ ner zweiten Erweiterungs-Skalierungsschicht könnten dann die weiterverarbeiteten Versionen der Hochpass-Bilder drit¬ ter Ebene untergebracht sein, während in einer dritten Er- weiterungs-Skalierungsschicht die weiterverarbeitenden Ver¬ sionen der Hochpass-Bilder vierter Ebene eingebracht sind. Damit könnte ein Decodierer allein aufgrund der Basis- Skalierungsschicht bereits eine zeitlich gering qualitative Sequenz von Tiefpass-Bildern niedriger Ebene erzeugen, also pro Gruppe von Bildern, zwei Tiefpass-Bilder erste Ebene. Mit Hinzunahme jeder Erweiterungs-Skalieαrungsschicht kann die Anzahl der rekonstruierten Bilder pro Gruppe immer ver- doppelt werden. Die Funktionalität des Decodierers wird ty¬ pischerweise von einer Skalierungs-Steuerung gesteuert, die ausgebildet ist, um zu erkennen, wie viel Skalierungs¬ schichten im Datenstrom enthalten sind bzw. wie viele Ska¬ lierungsschichten vom Decodierer beim Decodieren berück- sichtigt werden sollen.
Das JVT-Dokument JVT-J 035, mit dem Titel „SNR-Scalable Ex¬ tension of H.264/AVC" Heiko Schwarz, Detlev Marpe und Tho¬ mas Wiegand, vorgestellt beim zehnten JVT-*Treffen in Waiko- loa Hawaii, 8. bis 12. Dezember 2003, zeigt eine SNR- skalierbare Erweiterung des in den Fig. 3 υnd 4 dargestell¬ ten zeitlichen Zerlegungsschemas. Insbesondere wird eine zeitliche Skalierungsschicht in einzelne "SNR- Skalierungsunterschichten" aufgeteilt, wobei eine SNR- Basisschicht dahingehend erhalten wird, dass eine bestimmte zeitliche Skalierungsschicht mit einer ersten, gröberen Quantisiererschrittweite quantisiert wird, um die SNR- Basisschicht zu erhalten. Dann wird unter anderem eine in- verse Quantisierung durchgeführt, und das Ergebnissignal aus der inversen Quantisierung wird von dem ursprünglichen Signal subtrahiert, um ein Differenzsignal zu erhalten, das dann mit einer feineren Quantisiererschrittweite quanti¬ siert wird, um die zweite Skalierungsschicht zu erhalten. Die zweite Skalierungsschicht wird jedoch wieder unter an- derem requantisiert mit der feineren Quantisiererschritt¬ weite, um das nach der Requantisierung erhaltene Signal von dem ursprünglichen Signal zu subtrahieren, um ein weiteres Differenzsignal zu erhalten, das, wieder nach Quantisierung nun jedoch mit einer feineren Quantisiererschrittweite eine zweite SNR-Skalierungsschicht bzw. eine SNR-Erahancement- Layer darstellt.
So hat sich herausgestellt, dass die vorstehend beschriebe¬ nen Skalierbarkeitsschemata, die auf der Bewegungs- kompensierten zeitlichen Filterung (MCTF; MCTF = Motion Compensated Temporal Filtering) basieren, bereits eine hohe Flexibilität im Hinblick auf die zeitliche SkaLierbarkeit und auch die SNR-Skalierbarkeit liefern. Allerdings exis¬ tiert noch eine Problematik dahingehend, dass die Bitrate mehrerer Skalierungsschichten zusammengenommen immer noch deutlich über der Bitrate liegt, die erreichbar ist, wenn Bilder mit der höchsten Qualität ohne Skalierbarkeit co- diert werden würden. Wegen der Seiteninformationen für die verschiedenen Skalierungsschichten mag von skalierbaren Co¬ dierern die Bitrate des nicht-skalierten Falls nie erreicht werden. Allerdings sollte die Bitrate eines Dateixstroms mit mehreren Skalierungsschichten wenigstens so nahe wie mög- lieh an die Bitrate des nicht-skalierten Falls herankommen können.
Des weiteren sollte das Skalierbarkeitskonzept eine hohe Flexibilität für alle Skalierbarkeitsarten liefern, also eine hohe Flexibilität sowohl in zeitlicher Hinsicht als auch in räumlicher Hinsicht als auch in SNR-Hinsicht.
Die hohe Flexibilität ist besonders dort wichti-g, wo be¬ reits Bilder geringer Auflösung ausreichend wären, jedoch eine höhere zeitliche Auflösung wünschenswert wäre. Eine solche Situation ergibt sich beispielsweise dann, wenn schnelle Änderungen in Bildern vorhanden sind, wie bei- spielsweise bei Videos von Mannschaftssportarten, wo sich viele Personen zusätzlich zum Ball gleichzeitig bewegen.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein Konzept zum flexiblen Codieren/Decodieren zu schaffen, das trotz der Tatsache, dass es ein skalierbares Konzept ist, eine möglichst geringe Bitrate liefert.
Diese Aufgabe wird durch eine Vorrichtung zum Erzeugen ei- ner codierten Videosequenz nach Patentanspruch 1, ein Ver¬ fahren zum Erzeugen einer codierten Videosequenz nach Pa¬ tentanspruch 15, eine Vorrichtung zum Decodieren einer co¬ dierten Videosequenz nach Patentanspruch 16, ein Verfahren zum Decodieren einer codierten Videosequenz nach Patentan- spruch 26, ein Computerprogramm nach Patentanspruch 27 oder ein Computer-lesbares Medium nach Patentanspruch 28 gelöst.
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass Bitraten-Reduzierungen nicht nur mit einer innerhalb einer Skalierungsschicht durchgeführten Bewegungs- kompensierten Prädiktion erreicht werden können, sondern dass weitere Bitraten-Reduktionen bei gleichbleibender Bildqualität dadurch erhalten werden, dass eine Zwischen- Skalierungsschicht-Prädiktion der Restbilder nach der Bewe- gungs-kompensierten Prädiktion von einer niedrigeren Schicht, beispielsweise der Basisschicht, zu einer höheren Schicht, wie beispielsweise der Erweiterungsschicht, durch¬ geführt wird.
Es wurde herausgefunden, dass innerhalb derselben zeitli¬ chen Skalierungsschicht die Restwerte der einzelnen hier betrachteten anderen Skalierungsschichten nach der Bewe- gungs-kompensierten Prädiktion, die vorzugsweise im Hin- blick auf die Auflösung oder im Hinblick auf das Signal- Rausch-Verhältnis (SNR) skaliert sind, auch zwischen den Restwerten Korrelationen haben. Erfindungsgemäß werden die¬ se Korrelationen dadurch vorteilhaft ausgenutzt, dass auf Codiererseite für die Erweiterungs-Skalierungsschicht ein Zwischen-Schicht-Prädiktor vorgesehen wird, der _mit einem Zwischen-Schicht-Kombinierer auf Decodiererseite korrespon¬ diert. Vorzugsweise ist dieser Zwischen-Schicht-Prädiktor adaptiv ausgelegt, um z.B. für jeden Makroblock zu ent- scheiden, ob sich eine Zwischen-Schicht-Prädiktion lohnt, oder ob die Prädiktion eher zu einem Bitratenanstieg führen würde. Das letztere ist der Fall, wenn im Hinblick auf ei¬ nen nachfolgenden Entropie-Codierer das Prädiktions- Restignal größer als das ursprüngliche Bewegungs- Kompensations-Restsignal der Erweiterungsschicht wird. Die¬ se Situation wird jedoch in vielen Fällen nicht auftreten, so dass der Zwischen-Schicht-Prädiktor aktiviert ist und zu einer deutlichen Bitraten-Reduktion führt.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird ferner ebenfalls eine Prädiktion der Bewe¬ gungsdaten der Erweiterungsschicht vorgenommen. So hat sich ferner herausgestellt, dass innerhalb verschiedener Quali- täts-Skalierungsschichten, z.B. im Hinblick auf SNR oder Auflösung, auch die Bewegungsfelder in verschiedenen Ska¬ lierungsschichten Korrelationen miteinander haben, die er¬ findungsgemäß durch Bereitstellen eines Bewegungsdaten- Prädiktors vorteilhaft zur Bitraten-Reduktion ausgenutzt werden. In der Implementierung kann die Prädiktion dahinge- hend durchgeführt werden, dass für die Erweiterungsschicht keine eigenen Bewegungsdaten berechnet werden, sondern die Bewegungsdaten der Basisschicht gegebenenfalls nach einer Hochtastung übernommen werden. Dies kann .zwar dazu führen, dass das Bewegungs-Koinpensations-Restsignal in der Erweite¬ rungsschicht größer wird als in dem Fall, in dem Bewegungs¬ daten für die Erweiterungsschicht extra berechnet werden. Dieser Nachteil fällt jedoch dann nicht ins Gewicht, wenn die Einsparung aufgrund der für die Erweitungsschicht bei der Übertragung eingesparten Bewegungsdaten größer ist als der durch möglicherweise größere Restwerte bedingte Bitra¬ tenanstieg.
In der Implementierung kann jedoch auch für die Erweiterungsschicht ein eigenes Bewegungsfeld berechnet werden, wobei das Bewegungsfeld der Basisschicht in die Berechnung integriert wird oder als Prädiktor verwendet wird, um nur Bewegungsfeld-Restwerte zu übertragen. Diese Implementierung hat den Vorteil, dass die Bewegungsdaten- Korrelation der beiden Skalierungsschichten voll ausgenutzt wird und dass auch die Restwerte der Bewegungsdaten nach der Bewegungsdaten-Prädiktion so klein wie möglich sind. Nachteilig an diesem Konzept ist jedoch die Tatsache, dass zusätzliche Bewegungsdaten-Restwerte übertragen werden müssen.
In dem bevorzugten Ausführungsbeispiel der vorliegenden Er¬ findung wird zusätzlich eine SNR-Skalierbarkeit eingesetzt. Dies bedeutet, dass in der Basisschicht mit einem gröberen Quantisierungs-Parameter quantisiert wird als in der Erwei¬ terungsschicht. Die mit der gröberen Quantisierer- Schrittweite quantisierten und wieder rekonstruierten Rest¬ werte der Basis-Bewegungs-Prädiktion werden hierbei als Prädiktionssignale für den Zwischen-Schicht-Prädiktor ver- wendet. Im Fall einer reinen SNR-Skalierbarkeit kann es ge¬ nügen, für alle Skalierungsschichten auf Encodiererseite ein einziges Bewegungsfeld zu berechnen. Bezogen auf die Bewegungsdaten der Erweiterungsschicht bedeutet dies wie- derum, dass keine weiteren Erweiterungs-Bewegungsdaten ü- bertragen werden müssen, sondern dass die Erweiterungs- Bewegungsdaten aus der Basisschicht voll und ganz auf die Codiererseite zur inversen Bewegungskompensation für die Erweiterungsschicht eingesetzt werden können. Allerdings ergeben unterschiedliche Quantisierungsparameter auch un¬ terschiedliche Bewegungsfelder, wenn eine Berechnung der Bewegungsdaten eingesetzt wird, in die der Quantisie¬ rungsparameter eingeht.
Wird eine räumliche Skalierbarkeit eingesetzt, also hat die Basis-Skalierungsschicht eine gröbere räumliche Auflösung als die Erweiterungs-Skalierungsschicht, so wird es bevor¬ zugt, die Restwerte der Basis-Bewegungs-Prädiktion zu in- terpolieren, also von der niedrigen räumlichen Auflösung auf die höhere räumliche Auflösung der Erweiterungs- Skalierungsschicht umzusetzen und dann dem Zwischen- Schicht-Prädiktor zuzuführen.
Ferner wird es bevorzugt, für jede Skalierungsschicht eine eigene Berechnung der Bewegungsinformationen durchzuführen. Zur Datenraten-Reduktion wird in diesem Fall jedoch bei ei¬ nem bevorzugten Ausführungsbeispiel der vorliegenden Erfin¬ dung eine Bewegungsdaten-Prädiktion vorgenommen, die wie- derum entweder in der kompletten Übernahme der Bewegungsda¬ ten der niedrigeren Skalierungsschicht bestehen kann (nach einer Skalierung) , oder die darin bestehen kann, die hoch¬ getasteten Bewegungsvektoren der niedrigeren Skalierungs¬ schicht zur Prädiktion der Bewegungsvektoren der höheren Skalierungsschicht zu verwenden, um dann nur die Bewegungs¬ daten-Restwerte zu übertragen, die eine geringere Datenrate benötigen werden als nicht-prädizierte Bewegungsdaten. In diesem Fall wird es bevorzugt, sowohl den Zwischen-Schicht- Prädiktor als auch einen Erweiterungs-Bewegungsdaten- Prädiktor adaptiv auszulegen.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird eine kombinierte Skalierbarkeit eingesetzt, dahingehend, dass sich die Basis-Skalierungsschicht und die Erweiterungs-Skalierungsschicht sowohl in räumlicher Auflö¬ sung als auch in dem verwendeten Quantisierungs-Parameter, also der verwendeten Quantisierer-Schrittweite unterschei- den. In diesem Fall wird ausgehend z. B. von einem vorgege¬ benen Quantisierungsparameter für die Basis- Skalierungsschicht aufgrund einer Lagrange-Optimierung eine Kombination aus Quantisierungs-Parameter für die Basis¬ schicht, Verzerrung und Bitbedarf für die Bewegungsdaten für die Basisschicht berechnet. Die nach einer bewegungs- kompensierten Prädiktion erhaltenen Restwerte und die hier¬ bei verwendeten Basis-Bewegungsdaten werden dann zur Prä¬ diktion der entsprechenden Daten einer höheren Skalierungs¬ schicht verwendet, in der wiederum ausgehend von einem fei- neren Skalierungsparameter für die höhere Skalierungs¬ schicht eine optimale Kombination aus Bitbedarf für die Be¬ wegungsdaten, Quantisierungs-Parameter und Verzerrung Er- weiterungs-Bewegungsdaten berechnet werden können.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeich¬ nungen detailliert erläutert. Es zeigen:
Fig. Ia ein bevorzugtes Ausführungsbeispiel eines erfindungsgemäßen Encodierers;
Fig. Ib eine detailliertere Darstellung eines Basis- Bildcodierers von Fig. Ia; Fig. Ic eine Erläuterung der Funktionalität einer Zwi- schen-Schicht-Prädiktions-Flag;
Fig. Id eine Beschreibung einer Bewegungsdaten-Flag;
Fig. Ie eine bevorzugte Implementierung des Erweiterungs- Bewegungskompensierers 1014 von Fig. Ia;
Fig. If eine bevorzugte Implementierung des Erweiterungs- Bewegungsdatenermittlers 1078 von Fig. 2;
Fig. Ig eine Übersichtsdarstellung von drei bevorzugten
Ausführungsformen zur Berechnung der Erweite- rungs-Bewegungsdaten und zur Erweiterungs-
Bewegungsdaten-Verarbeitung zu Zwecken der Signa¬ lisierung und ggf. Restdatenübertragung;
Fig. 2 ein bevorzugtes Ausführungsbeispiel eines erfindungsgemäßen Decodierers;
Fig. 3 ein Blockschaltbild eines Decodierers mit vier Ebenen;
Fig. 4 ein Blockschaltbild zur Veranschaulichung der Lifting-Zerlegung einer zeitlichen Subband- Filterbank;
Fig. 5a eine Darstellung der Funktionalität des in Fig. 4 gezeigten Lifting-Schemas;
Fig. 5b eine Darstellung von zwei bevorzugten Lifting- Vorschriften mit unidirektionaler Prädiktion (Haar-Wavelet) und bidirektionaler Prädiktion (5/3-Transformation) ;
Fig. 5c eine bevorzugte Ausführungsform der Prädiktions- und Aktualisierungs-Operatoren mit Bewegungskom¬ pensation und Referenzindizes zur beliebigen Wahl der zwei durch das Liftung-Schema zu verarbeiten¬ den Bilder;
Fig. 5d eine Darstellung des Intramodus, bei dem ur¬ sprüngliche Bildinformationen Makroblock-weise in Hochpassbilder eintragbar sind;
Fig. 6a eine schematische Darstellung zur Signalisierung eines Makroblock-Modus;
Fig. 6b eine schematische Darstellung zur Hochtastung von Bewegungsdaten bei einer räumlichen Skalierbar¬ keit gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 6c eine schematische Darstellung der Datenstrom- Syntax für Bewegungsvektor-Differenzen;
Fig. 6d eine schematische Darstellung einer Restwerte- Syntax-Erweiterung gemäß einem bevorzugten Aus¬ führungsbeispiel der vorliegenden Erfindung;
Fig. 7 ein Übersichtsdiagramm zur Veranschaulichung der zeitlichen Verlegung einer Gruppe von beispiels¬ weise 8 Bildern; Fig. 8 eine bevorzugte zeitliche Plazierung von Tief- pass-Bildern für eine Gruppe von 16 Bildern;
Fig. 9 ein Übersichts-Blockschaltbild zur Veranschauli- chung der grundsätzlichen Codierstruktur für ei¬ nen Codierer gemäß dem Standard H.264/AVC für ei¬ nen Makroblock;
Fig. 10 eine Kontext-Anordnung, die aus zwei benachbarten Pixelelementen A und B links bzw. oberhalb eines gegenwärtigen Syntaxelements C besteht; und
Fig. 11 eine Darstellung der Aufteilung eines Bildes in Slices.
Fig. Ia zeigt ein bevorzugtes Ausführungsbeispiel einer Vorrichtung zum Erzeugen einer codierten Videosequenz, die eine Basis-Skalierungsschicht und eine Erweiterungs- Skalierungsschicht aufweist. Eine ursprüngliche Videose- quenz mit einer Gruppe von 8, 16 oder einer anderen Anzahl von Bildern wird über einen Eingang 1000 eingespeist. Aus- gangsseitig enthält die codierte Videosequenz die Basis- Skalierungsschicht 1002 und die Erweiterungs- Skalierungsschicht 1004. ' Die Erweiterungs- Skalierungsschicht 1004 und die Basis-Skalierungsschicht 1002 können einem Bitstrom-Multiplexer zugeführt werden, der ausgangsseitig einen einzigen skalierbaren Bitstrom er¬ zeugt. Eine getrennte Übertragung der beiden Skalierungs¬ schichten ist jedoch je nach Implementierung ebenfalls mög- lieh und in bestimmten Fällen sinnvoll. Fig. Ia zeigt einen Codierer zum Erzeugen von zwei Skalierungsschichten, also der Basis-Skalierungsschicht und einer Erweiterungs- Skalierungsschicht. Um einen Codierer zu erhalten, der ge- gebenenfalls eine oder mehrere weitere Erweiterungsschich¬ ten erzeugt, ist die Funktionalität der- Erweiterungs- Skalierungsschicht zu wiederholen, wobei- eine höhere Erweiterungs-Skalierungsschicht immer von der nächstniedrigeren Erweiterungs-Skalierungss chicht so mit Daten versorgt wird, wie in Fig. 1 die gezeigte Erweiterungs-Skalierungsschicht 1004 von der Basis- Skalierungsschicht 1002 mit Daten versorgt wird.
Bevor auf verschiedene Skalierungsarten speziell eingegan¬ gen wird, wie beispielsweise eine SNR-SkaldLerbarkeit oder eine räumliche Skalierbarkeit oder eine kombinierte Ska¬ lierbarkeit aus räumlicher und SNR-Skalierbarkeit, sei zu¬ nächst das allgemeine Prinzip der vorliegenden Erfindung dargestellt. Zunächst umfasst der Encodierer einen Basis- Bewegungs-Kompensierer oder Basis-Bewegungs-Schätzer 1006 zum Berechnen von Basis-Bewegungsdaten, die angeben, wie sich ein Makroblock in einem aktuellen Bild bezüglich eines anderen Bilds in einer Gruppe von Bildern, die der Basis- Bewegungs-Kompensierer 1006 eingangsseitig erhält, bewegt hat. Techniken zum Berechnen von Bewegungsdsten, insbeson¬ dere zum Berechnen eines Bewegungsvektors für einen Makro¬ block, der prinzipiell ein Bereich von Pixeln in einem di¬ gitalen Videobild ist, sind bekannt. Vorzugsweise wird die Bewegungs-Kompensationsberechnung eingesetzt, wie sie im Video-Codierstandard H.264/AVC standardisieret ist. Hierbei wird ein Makroblock eines späteren Bildes betrachtet und ermittelt, wie sich der Makroblock im Verg-leich zu einem früheren Bild „bewegt" hat. Diese Bewegung (dLn xy-Richtung) wird durch einen zweidimensionalen Bewegungsvektor angege¬ ben, der vom Block 1006 für jeden Makroblock: berechnet und über eine Bewegungsdaten-Leitung 1008 einem Basis- Bildcodierer 1010 zugeführt wird. Hierauf wird für das nächste Bild berechnet, wie sich ein Makroblock vom vorhe¬ rigen Bild zum nächsten Bild bewegt hat.
In einer Implementierung kann man diesen neuen Bewegungs- vektor, der gewissermaßen die Bewegung vom zweiten zum dritten Bild angibt, wieder als zweidimensionalen Vektor übertragen. Aus Effizienzgründen wird es jedoch bevorzugt, nur eine Bewegungsvektor-Differenz zu übertragen, also die Differenz aus dem Bewegungsvektor eines Makroblocks vom zweiten zum dritten Bild und dem Bewegungsvektor des Makro¬ blocks vom ersten zum zweiten Bild. Alternative Referenzie- rungen bzw. Bewegungsvektor-Differenzen zu nicht unmittel¬ bar vorausgehenden Bildern, sondern zu weiteren vorausge¬ henden Bildern sind ebenfalls verwendbar.
Die Bewegungsdaten, die vom Block 1006 berechnet worden sind, werden dann einem Basis-Bewegungs-Prädiktor 1012 zu¬ geführt, der ausgebildet ist, um eine Basis-Folge von Rest¬ fehlerbildern zur Verwendung der Bewegungsdaten und der Gruppe von Bildern zu berechnen. Der Basis-Bewegungs- Prädiktor führt somit die Bewegungskompensation durch, die vom Bewegungskompensierer bzw. Bewegungs-Schätzer gewisser¬ maßen vorbereitet worden ist. Diese Basis-Folge von Rest¬ fehlerbildern wird dann dem Basis-Bildcodierer zugeführt. Der Basis-Bildcodierer ist ausgebildet, um die Basis- Skalierungsschicht 1002 an seinem Ausgang zu liefern.
Der erfindungsgemäße Encodierer umfasst ferner einen Erwei- terungs-Bewegungs-Kompensierer oder Erweiterungs-Bewegungs- Schätzer 1014 zum Ermitteln von Erweiterungs- Bewegungsdaten. Diese Erweiterungs-Bewegungsdaten werden dann einem Erweiterungs-Bewegungs-Prädiktor 1016 zugeführt, der ausgangsseitig eine Erweiterungsfolge von Restfehler- bildern erzeugt und einem nachgeschalteten Zwischen- Schicht-Prädiktor 1018 zuführt. Der Erweiterungs-Bewegungs- Prädiktor führt somit die Bewegungskompensation durch, die vom Bewegungskompensierer bzw. Bewegungs-Schätzer gewisser- maßen vorbereitet worden ist.
Der Zwischen-Schicht-Prädiktor ist ausgebildet, um aus- gangsseitig Erweiterungs-Prädiktions-Restfehlerbilder zu berechnen. Je nach Implementierung verwendet der Zwischen- Schicht-Prädiktor zusätzlich zu den Daten, die er vom Block 1016 erhält, also zusätzlich zu der Erweiterungs-Folge von Restfehlerbildern die Basis-Folge von Restfehlerbildern, wie sie vom Block 1012 über eine gestrichelte Umwegleitung 1020 geliefert wird. Alternativ kann der Block 1018 jedoch auch eine interpolierte Folge von Restfehlerbildern, die am Ausgang des Blocks 1012 geliefert und durch einen Interpo- lator 1022 interpoliert wird, verwenden. Wieder alternativ kann der Zwischen-Schicht-Prädiktor auch eine rekonstruier¬ te Basis-Folge von Restfehlerbildern liefern, wie sie an einem Ausgang 1024 vom Basis-Bildcodierer 1010 geliefert wird. Wie es aus Fig. Ia zu sehen ist, kann diese rekon¬ struierte Basis-Folge von Restfehlerbildern interpoliert sein 1022 oder nicht-interpoliert sein 1020. Allgemein ge¬ sagt arbeitet der Zwischen-Schicht-Prädiktor somit unter Verwendung der Basis-Folge von Restfehlerbildern, wobei die Informationen an dem Zwischen-Schicht-Prädiktor-Eingang 1026 z. B. durch Rekonstruktion oder Interpolation von der Basis-Folge von Restfehlerbildern am Ausgang des Blocks 1012 abgeleitet sind.
Dem Zwischen-Schicht-Prädiktor 1018 nachgeschaltet ist ein Erweiterungs-Bildcodierer 1028, der ausgebildet ist, um die Erweiterungs-Prädiktions-Restfehlerbilder zu codieren, um die codierte Erweiterungs-Skalierungsschicht 1004 zu erhal¬ ten.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung ist der Zwischen-Schicht-Prädiktor ausgebildet, um Makroblock für Makroblock und Bild für Bild das Signal an seinem Eingang 1026 von dem entsprechenden Signal, das der Zwischen-Schicht-Prädiktor 1018 von dem Erweiterungs- Bewegungs-Prädiktor 1016 erhält, zu subtrahieren. Das bei dieser Subtraktion erhaltene Ergebnissignal stellt dann ei¬ nen Makroblock eines Bildes der Erweiterungs-Prädiktions- Restfehlerbilder dar.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung ist der Zwischen-Schicht-Prädiktor adaptiv ausge¬ bildet. Für jeden Makroblock wird eine Zwischen-Schicht- Prädiktions-Flag 1030 bereitgestellt, die dem Zwischen- Schicht-Prädiktor anzeigt, dass er eine Prädiktion durchzu¬ führen hat, oder die in ihrem anderen Zustand anzeigt, dass keine Prädiktion durchzuführen ist, sondern dass der ent¬ sprechende Makroblock am Ausgang des Erweiterungs- Bewegungs-Prädiktors 1016 ohne weitere Prädiktion dem Er- weiterungs-Bildcodierer 1028 zuzuführen ist. Diese adaptive Implementierung hat den Vorteil, dass eine Zwischen- Schicht-Prädiktion nur dort durchgeführt wird, wo sie sinn¬ voll ist, wo also das Prädiktions-Restsignal zu einem nied¬ rigeren Ausgangsbildrate führt, und zwar im Vergleich zu dem Fall, bei dem keine Zwischen-Schicht-Prädiktion durch¬ geführt worden ist, sondern bei dem unmittelbar die Aus- gangsdaten des Erweiterungs-Bewegungs-Prädiktors 1016 co¬ diert worden sind. Im Falle einer räumlichen Skalierbarkeit ist zwischen der Erweiterungs-Skalierungsschicht und der Basis- Skalierungsschicht ein Dezimator 1032 vorgesehen, der aus¬ gebildet ist, um die Videosequenz an seinem Eingang, die eine bestimmte räumliche Auflösung hat, auf eine Videose¬ quenz an seinem Ausgang umzusetzen, die eine geringere Auf¬ lösung hat. Falls eine reine SNR-Skalierbarkeit vorgesehen ist, falls also die Basis-Bildcodierer 1010 und 1028 für die beiden Skalierungsschichten mit unterschiedlichen Quan- tisierungs-Parametern 1034 bzw. 1036 arbeiten, ist der De¬ zimator 1032 nicht vorgesehen. Dies wird in Fig. Ia durch die Umwegleitung 1038 schematisch dargestellt.
Im Fall der räumlichen Skalierbarkeit muss ferner der In- terpolator 1022 vorgesehen sein. Im Fall einer reinen SNR- Skalierbarkeit ist der Interpolator 1022 dagegen nicht vor¬ gesehen. An seiner Stelle wird stattdessen die ümwegleitung 1020 genommen, wie es in Fig. Ia dargestellt ist.
In einer Implementierung ist der Erweiterungs-Bewegungs- Kompensierer 1014 ausgebildet, um komplett ein eigenes Be¬ wegungsfeld zu berechnen, oder um das durch den Basis- Bewegungs-Kompensierer 1006 berechnete Bewegungsfeld direkt (Umwegleitung 1040) oder nach einer Hochtastung durch einen Hochtaster 1042 zu verwenden. Im Fall einer räumlichen Ska¬ lierbarkeit muss der Hochtaster 1042 vorgesehen sein, um einen Bewegungsvektor der Basis-Bewegungsdaten auf die hö¬ here Auflösung hochzutasten, also z.B. zu skalieren. Wenn beispielsweise die Erweiterungs-Auflösung doppelt so hoch und breit wie die Basis-Auflösung ist, überdeckt ein Makro¬ block (16x16 Luminanz-Abtastwerte) in der Erweiterungs¬ schicht einen Bildbereich, welcher einem Sub-Makroblock (8x8 Luminanz-Abtastwerte) in der Basisschicht entspricht. Um den Basis-Bewegungsvektor für den Makroblock der Erwei- terungs-Skalierungsschicht verwenden zu können, wird der Basis-Bewegungsvektor daher in seiner x-Komponente und sei- ner y-Komponente verdoppelt, also mit dem Faktor 2 ska¬ liert. Hierauf wird jedoch noch bezugnehmend auf Fig. 6b näher eingegangen.
Liegt dagegen lediglich eine SNR-Skalierbarkeit vor, so ist das Bewegungsfeld für alle Skalierungsschichten dasselbe. Es muss also nur ein einziges Mal berechnet werden und kann von jeder höheren Skalierungsschicht unmittelbar so verwen¬ det werden, wie es von der niedrigeren Skalierungsschicht berechnet worden ist.
Zur Zwischen-Schicht-Prädiktion kann sowohl das Signal am Ausgang des Basis-Bewegungs-Prädiktors 1012 verwendet wer¬ den. Alternativ kann jedoch auch das rekonstruierte Signal auf der Leitung 1024 verwendet werden. Die Auswahl, welches dieser beiden Signale zur Prädiktion verwendet wird, wird durch einen Schalter 1044 vorgenommen. Das Signal auf der Leitung 1024 unterscheidet sich vom Signal am Ausgang des Blocks 1012 dadurch, dass es bereits eine Quantisierung er¬ lebt hat. Dies bedeutet, dass das Signal auf der Leitung 1024 im Vergleich zum Signal am Ausgang des Blocks 1012 ei¬ nen Quantisierungsfehler hat. Die Alternative der Verwen¬ dung des Signals auf der Leitung 1024 zur Zwischen-Schicht- Prädiktion ist insbesondere dann von Vorteil, wenn eine SNR-Skalierbarkeit entweder allein oder in Verbindung mit einer räumlichen Skalierbarkeit eingesetzt wird, da dann der durch den Basis-Bildcodierer 1010 vorgenommene Quanti¬ sierungsfehler gewissermaßen in die höhere Skalierungs¬ schicht „mitgenommen" wird, da das Ausgangssignal am Block 1018 dann den von der ersten Skalierungsschicht gemachten Quantisierungsfehler enthält, der dann durch den Erweite- rungs-Bildcodierer mit einer typischerweise feineren Quan- tisierer-Schrittweite bzw. einem veränderten Quantisie- rungs-Parameter 2 am Eingang 1036 quantisiert und in die Erweiterungs-Skalierungsschicht 1004 geschrieben wird.
Analog zur Zwischen-Schicht-Prädiktions-Flag 1030 wird auch eine Bewegungsdaten-Flag 1048 in den Bild-Codierer einge- speist, damit eine entsprechende Information hierüber in der Erweiterungs-Skalierungsschicht 1004 enthalten ist, um dann vom Decodierer, auf den bezugnehmend auf Fig. 2 einge¬ gangen wird, verwendet zu werden.
Wird eine reine räumliche Skalierbarkeit verwendet, so kann statt des Signals auf der Leitung 1024, also statt der re¬ konstruierten Folge von Basis-Restfehlerbildern auch das Ausgangssignal des Basis-Bewegungs-Prädiktors 1012, also die Basis-Folge von Restfehlerbildern eingesetzt werden.
Die Steuerung dieses Schalters kann je nach Implementierung manuell oder aufgrund einer Prädiktions-Nutzenfunktion er¬ folgen.
An dieser Stelle sei darauf hingewiesen, dass vorzugsweise sämtliche Prädiktionen, also die Bewegungs-Prädiktion, die Erweiterungs-Bewegungsdaten-Prädiktion und die Zwischen- Schicht-Restwerteprädiktion adaptiv ausgeführt sind. Dies bedeutet, dass nicht unbedingt für jeden Makroblock oder Sub-Makroblock in einem Bild der Basis-Folge von Restfeh¬ lerbildern beispielsweise tatsächlich auch Bewegungsdaten- Prädiktions-Restwerte vorhanden sein müssen. So kann ein Bild der Basis-Folge von Restfehlerbildern trotz der Tatsa- che, dass es als „Restfehlerbild" bezeichnet wird, auch nicht-prädizierte Makroblöcke bzw. Sub-Makroblöcke enthal¬ ten. Diese Situation wird dann auftreten, wenn sich heraus¬ gestellt hat, dass in einem Bild z. B. ein neues Objekt auftritt. Hier würde eine bewegungskompensierte Prädiktion keinen Sinn machen, da das Prädiktions-Restsignal größer werden würde als das ursprüngliche Signal im Bild. Bei der Erweiterungs-Bewegungs-Prädiktion im Block 1016 würde in einem solchen Fall somit sowohl der Prädiktionsoperator als auch ggf. der Aktualisierungsoperator für diesen Block (z. B. Makroblock oder Sub-Makroblock) deaktiviert sein.
Dennoch wird aus Übersichtlichkeitsgründen z. B. von einer Basis-Folge von Restfehlerbildern gesprochen, obgleich vielleicht nur ein einziges Restfehlerbild der Basis-Folge von Restfehlerbildern einen einzigen Block aufweist, in dem tatsächlich Bewegungs-Prädiktions-Restsignale enthalten sind. In typischen Anwendungsfällen wird jedoch jedes Rest¬ fehlerbild tatsächlich eine hohe Anzahl von Blöcken mit Be- wegungs-Prädiktions-Restdaten haben.
Im Sinne der vorliegenden Erfindung trifft dies auch für die Erweiterungs-Folge von Restfehlerbildern zu. So wird diese Situation in der Erweiterungs-Schicht ähnlich zur Si- tuation in der Basis-Schicht sein. Im Sinne der vorliegen¬ den Erfindung ist daher eine Erweiterungs-Folge von Rest¬ fehlerbildern bereits eine Folge von Bildern, in denen im Extremfall nur ein einziger Block eines einzigen „Restfeh¬ lerbildes" Bewegungs-Prädiktions-Restwerte hat, während in allen anderen Blöcken dieses Bildes und sogar in allen an¬ deren „Restfehlerbildern" eigentlich gar keine Restfehler stehen, da für alle diese Bilder/Blöcke die bewegungskom- pensierte Prädiktion und ggf. die bewegungskompensierte Ak¬ tualisierung deaktiviert worden sind.
Im Sinne der vorliegenden Erfindung gilt dies auch für den Zwischen-Schicht-Prädiktor, der Erweiterungs-Prädiktions- Restfehlerbilder berechnet. Typischerweise werden die Er- weiterungs-Prädiktions-Restfehlerbilder in einer Folge vor¬ liegen. Jedoch ist auch der Zwischen-Schicht-Prädiktor vor¬ zugsweise adaptiv ausgestaltet. Wenn sich z. B. herausge- stellt hat, dass nur für einen einzigen Block eines einzi¬ gen „Restfehlerbildes" eine Restdaten-Prädiktion von der Basisschicht zur Erweiterungsschicht sinnvoll war, während für alle anderen Blöcke dieses Bildes und ggf. sogar für alle anderen Bilder der Folge von Erweiterungs-Prädiktions- Restfehlerbildern die Zwischen-Schicht-Restdatenprädiktion deaktiviert worden ist, wird aus Übersichtlichkeitsgründen im vorliegenden Kontext diese Folge dennoch als Erweite- rungs-Prädiktions-restfehlerbilder bezeichnet. In diesem Zusammenhang sei darauf hingewiesen, dass der Zwischen- Schicht-Prädiktor nur Restdaten prädizieren kann, wenn in einem entsprechenden Block eines Restfehlerbildes in der Basisschicht bereits Bewegungskompensations-Restwerte be¬ rechnet worden sind, und wenn für einen diesem Block ent¬ sprechenden Block (z. B. an der gleichen x, y-Position) in einem Restfehlerbild der Erweiterungs-Folge ebenfalls eine bewegungskompensierte Prädiktion vorgenommen worden ist, so dass in diesem Block Restfehlerwerte aufgrund einer bewe¬ gungskompensierten Prädiktion in der Erweiterungsschicht stehen. Nur dann, wenn in beiden zu betrachtenden Blöcken tatsächliche Bewegungskompensations-Prädiktions-Restwerte bestehen, wird der Zwischen-Schicht-Prädiktor vorzugsweise aktiv werden, um einen Block von Restfehlerwerten in einem Bild der Basisschicht als Prädiktor für einen Block von Restfehlerwerten in einem Bild der Errweiterungsschicht zu verwenden und dann nur die Restwerte dieser Prädiktion, al¬ so Erweiterungs-Prädiktions-Restfehlerdaten in diesem Block des betrachteten Bildes zum Erweiteruingsbildcodierer zu ü- bertragen.
Nachfolgend wird bezugnehmend auf Fig. Ib auf eine detail¬ liertere Darstellung des Basis-Bildcodierers 1010 oder des Erweiterungs-Bildcodierers 1028 bzw. eines beliebigen BiId- codierers eingegangen. Eingangsseitiςj empfängt der Bildco- dierer die Gruppe von Restfehlerbildern und führt sie mak- roblockweise einer Transformation 1O50 zu. Die transfor¬ mierten Makroblöcke werden dann in einem Block 1052 ska¬ liert und unter Verwendung eines Qmantisierungsparameters 1034, 1036, ... quantisiert. Am Ausgang des Blocks 1052 werden dann der verwendete Quantisierungs-Parameter, also die verwendete Quantisierungs-Schrittweite für einen Makro¬ block sowie Quantisierungs-Indizes für die Spektralwerte des Makroblocks ausgegeben. Diese Infformationen werden dann einer in Fig. Ib nicht gezeigten Entrropie-Codierstufe zuge¬ führt, die einen Huffman-Codierer oder vorzugsweise einen arithmetischen Codierer umfasst, derr gemäß H.264/AVC nach dem bekannten CABAC-Konzept arbeitet. Das Ausgangssignal der Einrichtung 1052 wird jedoch ebenfalls einem Block 1054 zugeführt, der eine inverse Skalierung und Requantisierung durchführt, um die Quantisierungs-Indizes zusammen mit dem Quantisierungs-Parameter wieder in Zahlenwerte umzurechnen, die dann einer inversen Transformation in einem Block 1056 zugeführt werden, um eine rekonstruierte Gruppe von Rest- fehlerbildern zu erhalten, die nunmeh.r im Vergleich zur ur¬ sprünglichen Gruppe von Restfehlerbildern am Eingang des Transformationsblocks 1050 einen Quantisierungsfehler hat, der von den Quantisierungs-Parameterrn bzw. der Quantisie- rungs-Schrittweite abhängt. Je nach Steuerung des Schalters 1044 wird nunmehr entweder das eine Signal oder <das andere Signal dem Interpolator 1022 oder bereits dem Zwischen- Schicht-Prädiktor 1018 zugeführt, um die erfindτ_ingsgemäße Restwert-Prädiktion durchzuführen.
In Fig. Ic ist eine einfache Implementierung der Zwischen- Schicht-Prädiktions-Flag 1030 dargestellt. Ist die Zwi- schen-Schicht-Prädiktions-Flag gesetzt, so ist der Zwi- schen-Schicht-Prädiktor 1018 aktiviert. Ist die Flag dage¬ gen nicht gesetzt, so ist der Zwischen-Schicht—Prädiktor deaktiviert, so dass ein Simulcast-Betrieb für diesen Mak¬ roblock oder einen diesem Makroblock untergeordneten Sub- Makroblock ausgeführt wird. Grund hierfür könnte sein, dass der Codiergewinn durch die Prädiktion eigentlich ein Co¬ dierverlust ist, dass also eine Übertragung des entspre¬ chenden Makroblocks am Ausgang des Blocks 1016 einen besse¬ ren Codiergewinn bei der nachfolgenden Entropie—Codierung liefert als wenn Prädiktions-Restwerte verwendet werden würden.
Eine einfache Implementierung der Bewegungsdaten—Flag 1048 ist in Fig. Id gezeigt. Ist die Flag gesetzt, so werden Be¬ wegungsdaten der Erweiterungsschicht aus hochgetasteten Be- wegungsdaten der Basisschicht abgeleitet. Im Fall einer SNR-Skalierbarkeit ist der Hochtaster 1042 nicht nötig. Hier können bei gesetzter Flag 1048 die Bewegungs daten der Erweiterungsschicht direkt aus den Basis-Bewegungsdaten ab¬ geleitet werden. Es sei darauf hingewiesen, dass diese Be- wegungsdaten-„Ableitung" in der direkten Übernahme der Be¬ wegungsdaten bestehen kann, oder aber in einer echten Prä¬ diktion, bei der Block 1014 die von der Basis-Scliicht er¬ haltenen Bewegungsvektoren von entsprechenden von dem Block 1014 berechneten Bewegungsvektoren für die Erweiterurxgs- Skalierungsschicht z.B. subtrahiert, um Bewegungsdaten- Prädiktionswerte zu erhalten. Die Bewegungsdaten der Ervvrei- terungs-Schicht (falls keine Prädiktion irgendwelcher Art vorgenommen worden ist), oder die Restwerte der Prädiktion (falls eine echte Prädiktion vorgenommen worden ist) werrden über einen in Fig. Ia gezeigten Ausgang zum Erweiterungs- Bildcodierer 1028 geliefert, damit sie am Ende in dem Er- weiterungs-Skalierungsschicht-Bitstrom 1004 enthalten sind. Wird dagegen eine komplette Übernahme der Bewegungsda.ten von der Basis-Skalierungsschicht mit oder ohne Skalierung vorgenommen, so müssen keine Erweiterungs-Bewegungsdaterx in den Erweiterungs-Skalierungsschicht-Bitstrom 1004 geschrrie- ben werden. Es genügt lediglich, diese Tatsache durch die Bewegungsdaten-Flag 1048 im Erweiterungs- Skalierungsschicht-Bitstrom zu signalisieren.
Fig. 2 zeigt eine Vorrichtung zum Decodieren einer codier¬ ten Videosequenz, die die Basis-Skalierungsschicht 1002 und die Erweiterungs-Skalierungsschicht 1004 umfasst. Die Er- weiterungs-Skalierungsschicht 1004 und die Basis- Skalierungsschicht 1002 können von einem Bitstrrom- Demultiplexer stammen, der einen skalierbaren Bitstrom mit beiden Skalierungsschichten entsprechend demultiplext, um sowohl die Basis-Skalierungsschicht 1002, als auch die Er- weiterungs-Skalierungsschicht 1004 aus dem gemeinsamen Bit¬ strom zu extrahieren. Die Basis-Skalierungsschicht L 002 wird einem Basis-Bild-Decodierer 1060 zugeführt, der ausge¬ bildet ist, um die Basis-Skalierungsschicht zu decodierren, um eine decodierte Basis-Folge von Restfehlerbildern und. um Basis-Bewegungsdaten zu erhalten, die an einer Ausgangs]-ei- tung 1062 anliegen. Die Ausgangssignale an der Leitung L062 werden dann einem Basis-Bewegungs-Kombinierer 1064 zutge- führt, der die im Encodierer in dem Block 1012 eingeführte Basis-Bewegungsprädiktion wieder rückgängig macht, um aus- gangsseitig decodierte Bilder der ersten Skalierungsschicht auszugeben. Der erfindungsgemäße Decodierer umfasst ferner einen Erweiterungs-Bild-Decodierer 1066 zum Decodieren der Erweiterungs-Skalierungsschicht 1004, um Erweiterungs- Prädiktions-Restfehlerbilder an einer Ausgangsleitung 1068 zu erhalten. Die Ausgangsleitung 1068 umfasst ferner Bewe- gungsdaten-Infomationen, wie beispielsweise die Bewegungs- daten-Flag 1070 oder, falls tatsächlich Erweiterungs- Bewegungsdaten oder Erweiterungs-Bewegungsdaten-Restwerte in der Erweiterungs-Skalierungsschicht 1004 waren, diese Erweiterungs-Bewegungsdaten. Die decodierte Basis-Folge auf der Leitung 1062 wird nunmehr entweder durch einen Interpo- lator 1070 interpoliert oder unverändert (Leitung 1072) ei¬ nem Zwischen-Schicht-Kombinierer 1074 zugeführt, um die vom Zwischen-Schicht-Prädiktor 1018 von Fig. Ia vorgenommene Zwischen-Schicht-Prädiktion wieder rückgängig zu machen. Der Zwischen-Schicht-Kombinierer ist also ausgebildet, um die Erweiterungs-Prädiktions-Restfehlerbilder mit Informa¬ tionen über die decodierte Basis-Folge auf der Leitung 1062, seien sie interpoliert (1070) oder nicht (1072), zu kombinieren, um eine Erweiterungs-Folge von Restfehlerbil¬ dern zu erhalten, die schließlich einem Erweiterungs- Bewegungs-Kombinierer 1076 zugeführt wird, der ebenso wie der Basis-Bewegungs-Kombinierer 1064 die auch -in der Erwei¬ terungsschicht vorgenommene Bewegungs-Kompensation rückgän¬ gig macht. Der Erweiterungs-Bewegungs-Kombinierer 1076 ist mit einem Bewegungsdatenermittler 1078 gekoppelt, um für die Bewegungs-Kombination im Block 1076 die Bewegungsdaten zu liefern. Die Bewegungsdaten können tatsächlich vom Er¬ weiterungs-Bild-Decodierer am Ausgang 1068 gelieferte volle Erweiterungs-Bewegungsdaten für die Erweiterungsschicht sein. Alternativ können die Erweiterungs-Bewegungsdaten auch Bewegungsdaten-Restwerte sein. In beiden Fällen werden die entsprechenden Daten über eine Erweiterungs- Bewegungsdaten-Leitung 1080 dem Bewegungsdaten-Ermittler 1078 zugeführt. Signalisiert die Bewegungsdaten-Flag 1070 jedoch, dass für die Erweiterungs-Schicht keine eigenen Er¬ weiterungs-Bewegungsdaten übertragen worden sind,, so werden notwendige Bewegungsdaten über eine Leitung 1082 von der Basis-Schicht geholt, und zwar je nach verwendeter Skalier- barkeit, entweder direkt (Leitung 1084) oder nach einer Hochtastung durch einen Hochtaster 1086.
Im Fall einer Zwischen-Schicht-Prädiktion von INTRA- Blöcken, also keinen Bewegungsdaten-Restwerten, ist auf De- codiererseite ferner eine entsprechende Verbindung zwischen dem Erweiterungs-Bewegungs-Kombinierer 1076 und dem Basis- Bewegungs-Kombinierer 1064 vorgesehen, die je nach räumli¬ cher Skalierbarkeit einen Interpolator 1090 aufweist oder eine Umweg-Leitung, wenn nur eine SNR-Skalierbark:eit einge- setzt worden ist. Im Fall einer optionalen Intrablock- Prädiktion zwischen zwei Schichten wird der Erweiterungs¬ schicht für diesen Intra-Makroblock lediglich ein Prädikti- ons-Restsignal übertragen, was durch entsprechende Signali- sierungsinformationen im Bitström bekannt gegeben wird. In diesem Fall wird der Erweiterungs-Bewegungs-Komprimierer zusätzlich zu der nachfolgend noch dargelegten Funktionali¬ tät auch für diesen einen Makroblock eine Summenbildung, also eine Kombination zwischen den Makroblock—Restwerten und den Makroblock-Werten aus der niedrigeren Sk:alierungs- schicht durchführen und dann den erhaltenen Makrroblock der eigentlichen inversen Bewegungs-Kompensations-Verarbeitung zuzuführen. Nachfolgend wird bezugnehmend auf die Figuren 3 bis 5d auf eine bevorzugte Ausführungsform des Basis-Bewegungs- Prädiktors 1012 oder des Erweiterungs-Bewegungs-Prädiktors 1016 bzw. des inversen Elements, also des Erweiterungs- Bewegungs-Kombinierers 1076 oder des Basis-Bewegungs- Kompensierers 1064 eingegangen.
Prinzipiell kann jeder Bewegungs-Kompensations-Pradiktions- Algorithmus eingesetzt werden, also auch der Bewegungs- Kompensations-Algorithmus, der bei 92 in Fig. 9 dargestellt worden ist. So gehorcht der konventionelle Bewegungs- Kompensations-Algorithmus ebenfalls der in Fig. gezeigten Systematik, wobei jedoch der Aktualisierungs-Operator U, der in Fig. 4 mit dem Bezugszeichen 45 dargestellt ist, de- aktiviert ist. Dies führt dazu, dass eine Gruppe von Bil¬ dern in ein ürsprungsbild und davon gewissermaßen abhängige Restbilder bzw. Prädiktions-Restsignale oder Restfehlerbil¬ der umgewandelt wird. Wird jedoch in dem bekannten Bewe- gungs-Kompensationsschema eine Erweiterung dahingehend imp- lementiert, dass der Aktualisierungs-Operator, wie es in Fig. 4 dargestellt ist, aktiv ist und z.B. so berechnet wird, wie es anhand der Figuren 5a bis 5d dargestellt ist, so wird aus der normalen Bewegungs-Kompensations- Prädiktions-Berechnung die sogenannte MCTF-Verarbeitung, die auch als Bewegungs-kompensiertes zeitliches Filtern be¬ zeichnet wird. Hierbei wird durch die Aktualisierungs- Operation aus dem normalen Bild bzw. INTRA-BiId der konven¬ tionellen Bewegungskompensation ein Tiefpass-Bild, da das ursprüngliche Bild durch das mit dem Aktualisierungs- Operator gewichtete Prädiktions-Restsignal kombiniert wird.
Bei dem bevorzugten Ausführungsbeispiels der vorliegenden Erfindung wird, wie es bereits anhand der Figuren Ia und 2 beschrieben worden ist, eine solche MTCF-Verarbeitung für jede Skalierungsschicht durchgeführt, wobei die MCTF- Verarbeitung vorzugsweise derart stattfindet, wie es anhand der Figuren 3 bis 5d und 7 bis 8 beschrieben ist.
Nachfolgend wird Bezug nehmend auf die Fig. 4 und die nach¬ folgenden Figuren 5a-5d auf die bevorzugte Ausführungsform des bewegungskompensierten Prädiktionsfilters eingegangen. Wie es bereits ausgeführt worden ist, besteht das bewe- gungskompensierte zeitliche Filter (MCTF; MCTF = motion- compensated temporal Filter) aus einem allgemeinen Lifting- schema mit drei Schritten, nämlich der Polyphasenzerlegung, der Prädiktion und der Aktualisierung. In Fig. 4 ist die entsprechende Analyse/Synthese-Filterbankstruktur gezeigt. Auf der Analysesseite werden die ungeraden Abtastwerte ei¬ nes gegebenen Signals durch eine lineare Kombination der geradzahligen Abtastwerte unter Verwendung des Prädiktion¬ soperators P und eines Hochpassignals H auf die Prädikti- onsrestwerte gefiltert. Ein entsprechendes Tiefpassignal 1 wird durch Addieren einer Linearkombination der Prädikti- onsrestwerte h mit den geradzahligen Abtastwerten des Ein¬ gangssignals s unter Verwendung des Aktualisierungsopera¬ tors gebildet. Der gleichungsmäßige Zusammenhang der in Fig. 4 gezeigten Größen h und 1 sowie der prinzipiellen Ausführungsformen der Operatoren P und U ist in Fig. 5a ge¬ zeigt.
Da sowohl der Prädiktionsschritt als auch der Aktualisie¬ rungsschritt vollständig invertierbar sind, kann die ent- sprechende Transformation als kritisch abgetastete Perfekt- rekonstruktionsfilterbank betrachtet werden. Die Synthese¬ filterbank umfasst die Anwendung des Prädiktionsoperators und des Aktualisierungsoperators in umgekehrter Reihenfolge mit den invertieren Vorzeichen im Summationsprozess, wobei die geraden und die ungeraden Polyphasenkomponenten verwen¬ det werden. Für eine Normierung der Hochpass/Tiefpass- Komponenten werden entsprechende Skalierungsfaktoren F1 und Fh verwendet. Diese Skalierungsfaktoren müssen nicht unbe¬ dingt verwendet werden, sie können jedoch eingesetzt wer¬ den, wenn Quantisiererschrittgrößen während der Codierung ausgewählt werden.
Es zeigt f[x, k] ein Videosignal mit den Raumkoordinaten x = (x,y)τ, wobei k die Zeitkoordinate ist. Der Prädiktionsope¬ rator P und der Aktualisierungsoperator U für die zeitliche Zerlegung unter Verwendung der Liftingdarstellung des Haar- Wavelets ist gegeben, wie es links in Fig. 5b gezeigt ist. Für die 5/3-Transformation ergeben sich die entsprechenden Operatoren so, wie es rechts in Fig. 5b gezeigt ist. Die Erweiterung auf die bewegungskompensierte zeitliche Filte¬ rung wird durch Modifikation des Prädiktionsoperators und des Aktualisierungsoperators wie in Fig. 5c gezeigt, er- reicht. Besonders sei auf die Referenzindizes r > 0 verwie¬ sen, die eine allgemeine Bild-adaptive bewegungskompensier¬ te Filterung erlauben. Durch diese Referenzindizes kann si¬ chergestellt werden,- dass bei dem in Fig. 4 dargestellten Szenario nicht immer lediglich zwei zeitlich unmittelbar aufeinanderfolgende Bilder in ein Hochpassbild und in ein Tiefpassbild zerlegt werden, sondern dass zum Beispiel ein erstes Bild mit einem dritten Bild einer Sequenz bewegungs- kompensiert gefiltert werden kann. Alternativ ermöglich die geeignete Wahl der Referenzindizes, dass z. B. auch ein und dasselbe Bild einer Folge von Sequenzen dazu verwendet wer¬ den kann, als Basis für den Bewegungsvektor zu dienen. Dies bedeutet, dass die Referenzindizes beispielsweise bei einer Folge von acht Bildern ermöglichen, dass alle Bewegungsvek- toren z. B. auf das vierte Bild dieser Folge bezogen sind, so dass sich am Ende durch Verarbeitung dieser acht Bilder durch das Filterschema in Fig. 4 ein einziges Tiefpassbild ergibt, und dass sich sieben Hochpassbilder (Erweiterungs- bilder) ergeben, und dass sämtliche Bewegungsvektoren, wo bei jedem Bewegungsvektor ein Erweiterungsbild zugeordnet ist, auf ein- und dasselbe Bild der ursprünglichen Sequenz beziehen.
Wenn somit ein- und dasselbe Bild einer Sequenz als Refe¬ renz für die Filterung mehrerer weiterer Bilder verwendet wird, führt dies zu einer nicht dem Faktor 2 gehorchenden zeitlichen Auflösungsskalierung, was für bestimmte Anwen¬ dungen von Vorteil sein kann. Es wird in den unteren Zweig der Analyse-Filterbank in Fig. 4 immer dasselbe Bild, näm¬ lich beispielsweise das vierte Bild der Folge aus acht Bil¬ dern, eingespeist. Das Tiefpassbild ist bei jeder Filterung dasselbe, nämlich das letztendlich erwünschte einzige Tief¬ passbild der Folge von Bildern. Wenn der Aktualisierungspa- rameter Null ist, wird das Basisbild einfach durch den un¬ teren Zweig gewissermaßen "durchgeschleust". Dagegen ist das Hochpassbild immer abhängig von dem entsprechenden an¬ deren Bild der ursprünglichen Folge und dem Prädiktionsope¬ rator, wobei der zu diesem Eingangsbild zugehörige Bewe- gungsvektor bei der Prädiktion verwendet wird. In diesem Fall kann man daher sagen, dass das letztendlich erhaltene Tiefpassbild einem bestimmten Bild der ursprünglichen Folge von Bildern zugeordnet ist, und dass auch jedes Hochpass¬ bild einem Bild der ursprünglichen Folge zugeordnet ist, wobei genau die Abweichungen des ursprünglichen Bilds der Folge (einer Bewegungskompensation) von dem gewählten Ba¬ sisbild der Folge (das in dem unteren Zweig der Analyse- Filterbank von Fig. 4 eingespeist wird) entspricht. Wenn jeder Aktualisierungsparameter Moi, Mn, M2i und M3x gleich Null ist, führt dies dazu, dass das in den unteren Zweig 73 der vierten Ebene eingespeiste Bild einfach nach unten „durchgeschleift" wird. Das Tiefpassbild TPl wird gewisser- maßen "wiederholt" in die Filterbank eingespeist, während die anderen Bilder - gesteuert durch die Referenzindizes - nach und nach in den Eingang 64 von Fig. 3 eingeführt wer¬ den.
Wie es aus den vorstehenden Gleichungen zu sehen ist, lie¬ fern die Prädiktions- bzw. Aktualisierungsoperatoren für die bewegungskompensierte Filterung für die zwei verschie¬ denen Wavelets unterschiedliche Prädiktionen. Wenn das Haar-Wavelet verwendet wird, wird eine unidirektionale be- wegungskompensierte Prädiktion erreicht. Wird dagegen das 5/3-Spline-Wavelet eingesetzt, so spezifizieren die beiden Operatoren eine bidirektionale bewegungskompensierte Prä¬ diktion.
Da die bidirektionale kompensierte Prädiktion allgemein die Energie des Prädiktionsrestwerts reduziert, jedoch die Be¬ wegungsvektorrate im Vergleich zu einer unidirektionalen Prädiktion erhöht, ist es wünschenswert, dynamisch zwischen der unidirektionalen und der bidirektionalen Prädiktion hin- und herzuschalten, was bedeutet, dass zwischen einer Liftingdarstellung des Haar-Wavelets und des 5/3-Splin- Wavelets abhängig von einem bildabhängigen Steuersignal hin- und hergeschaltet werden kann. Das erfindungsgemäße Konzept, das keine geschlossene Rückkopplungsschleife zur zeitlichen Filterung verwendet, erlaubt ohne weiteres diese makroblockweise Hin- und Herschaltung zwischen zwei Wave¬ lets, was wiederum der Flexibilität und insbesondere der Datenrateneinsparung dient, die optimal signalangepasst durchführbar ist.
Um die Bewegungsfelder oder allgemeiner gesagt die Prädik- tionsdatenfelder MP und M0 darzustellen, kann vorteilhaft¬ erweise auf die bestehende Santax der B-Slices in H.264/AVC zurückgegriffen werden.
Durch Kaskadieren der paarweisen Bildzerlegungsstufen wird eine dyadische Baumstruktur erhalten, die eine Gruppe von 2n-Bildern in 2n~1-Restbilde;r und ein einziges Tiefpass- (oder Intra-)Bild zerlegt, w±e es anhand von Fig. 7 für ei¬ ne Gruppe von acht Bildern dargestellt ist. Insbesondere zeigt Fig. 7 das Hochpass-Bild HPl der ersten Ebene am Aus¬ gang 22 des Filters erster Ebene sowie das Tiefpass-Bild erster Ebene am Ausgang 24 des Filters erster Ebene. Die beiden Tiefpass-Bilder TP2 am Ausgang 16 des Filters zwei¬ ter Ebene sowie die beiden Hochpass-Bilder, die aus der zweiten Ebene erhalten werden, sind in Fig. 7 als Bilder der zweiten Ebene gezeigt. D-Le Tiefpass-Bilder dritter Ebe¬ ne liegen am Ausgang 76 des Filters dritter Ebene an, wäh¬ rend die Hochpass-Bilder dritter Ebene am Ausgang 75 in weiterverarbeiteter Form vorliegen. Die Gruppe von acht Bildern könnte ursprünglich seht Videobilder umfassen, wo¬ bei dann der Decodierer von Fig. 3 ohne vierte Filterebene eingesetzt werden würde. Ist die Gruppe von acht Bildern dagegen eine Gruppe von acht Tiefpass-Bildern, wie sie am Ausgang 73 des Filters vierter Ebene eingesetzt werden, so kann die erfindungsgemäße MCTF-Zerlegung als Basis- Bewegungs-Prädiktor, Erweiterrungs-Bewegungs-Prädiktor, bzw. als Basis-Bewegungs-Kombinierer oder Erweiterungs- Bewegungs-Kombinierer eingesetzt werden. Allgemein gesagt werden bei dieser Zerlegung somit eine Gruppe von 2n Bildern, (2n+1~2) Bewegungsfeldbeschreibungen, (2""1) Restbilder sowie ein einziges Tiefpass- (oder INTRA-) Bild übertragen.
Sowohl der Basis-Bewegungs-Kompensierer als auch der Erweiterungs-Bewegungs-Kompensierer werden vorzugsweise durch einen Basis-Steuerparameter bzw. einen Erweiterungs- Steuerparameter gesteuert, um eine abhängig von einer be¬ stimmten Rate festgelegte optimale Kombinati_on eines Quan¬ tisierungs-Parameters (1034 oder 1036) und Bewegungsinfor¬ mationen zu berechnen. Hierbei wird gemäß nachfolgender Me¬ thodik vorgegangen, um ein optimales VerhäLtnis bezüglich einer bestimmten maximalen Bitrate zu erhalten. So hat sich herausgestellt, dass für niedrige Bitraten, also für rela¬ tiv grobe Quantisierungs-Parameter die Bewegungsvektoren stärker ins Gewicht fallen als für höhere Skalierungs¬ schichten, bei denen relativ feine Quantisierrungs-Parameter genommen werden. Daher werden für Fälle grober Quantisie¬ rung und damit niedriger Bitrate eher weniger Bewegungsda¬ ten berechnet als für höhere Skalierungsschichten. So wird es bei höheren Skalierungsschichten bevorzugt, in Sub- Makroblock-Modi zu gehen, um für eine gute Qualität und für eine optimale Situation bei der hohen Bitrate eher viele Bewegungsdaten zu berechnen als im Fall einer niedrigen Bitrate, bei der die Bewegungsdaten prozentual stärker ins Gewicht fallen im Hinblick auf die Restdaten als im Fall einer höheren Skalierungsschicht. Dies wirrd nachfolgend dargelegt.
Die Bilder A und B seien gegeben, die entweder ursprüngli¬ che Bilder sind, oder Bilder, die Tiefpaß-Signale darstel- len, die in einer vorherigen Analyse-Stufe erzeugt werden. Ferner werden die entsprechenden Arrays von Luma— Abtastwerten a[] und b[] bereitgestellt. Die Bewegungsbe— Schreibung Mio wird in einer Makroblock-weisen Art und Wei— se folgendermaßen geschätzt:
Für alle möglichen Makroblock- und Sub-Makroblock-Teilungen. eines Makroblocks i innerhalb des Bildes B werden die zuge¬ ordneten Bewegungsvektoren
ITi1 = [mx, my]τ
durch Minimieren des Lagrange-Funktionals m,.=argmin{DSAD(i,m)+λ■R(i,m)}
bestimmt,
wobei der Verzerrungsterm folgendermaßen gegeben ist:
D3^(Um)= 2 \b[x,y]-a[x-mx,y-my]\
(x,y)eP
Hierbei spezifiziert S den Bewegungsvektor-Suchbereich in¬ nerhalb des Referenzbildes A. P ist der Bereich, der durch die betrachtete Makroblock-Teilung oder Sub-Makroblock- Teilung überstrichen wird. R(i,m) spezifiziert die Anzahl von Bits, die benötigt werden, um alle Komponenten des Be¬ wegungsvektors m zu übertragen, wobei λ ein fester Lagran- ge-Multiplizierer ist.
Die Bewegungssuche schreitet zunächst über alle Ganzzahl- Abtastwert-genauen Bewegungsvektoren in dem gegebenen Such¬ bereich S fort. Dann, unter Verwendung des., besten Ganzzahl- Bewegungsvektors werden die 8 umgebenden Halb-Abtastwert- genauen Bewegungsvektoren getestet. Schließlich wird unter Verwendung des besten Halb-Abtastwert-genauen Bewegungsvek¬ tors die 8 umgebenden Viertel-Abtastwert-genauen Bewegungs- vektoren getestet. Für die Halb- und die Viertel- Abtast¬ wert-genaue Bewegungsvektor-Verbesserung wird der Term
a[x-mx,y-my]
als Interpolationsoperator interpretiert.
Die Modus-Entscheidung für den Makroblock-Modus und den Sub-Makroblock-Modus folgt grundsätzlich demselben Lösungs¬ ansatz. Von einem gegebenen Satz von möglichen Makroblock- oder Sub-Makroblock-Modi SmOde, wird der Modus pi der das folgende Lagrange-Funktional minimiert, ausgewählt:
P1=arg min {DSAD(i,p)+λ-R(i,p) }
Der Verzerrungsterm ist folgendermaßen gegeben :
D SAD (UP) = ∑ \ b[x,y]-a[x-mx[p,x,y],y - my[p,x,y]] \
(χ.y)εP
wobei P den Makroblock oder Sub-Makroblock-Bereich spezifi- ziert, und wobei m[p,x,y] der Bewegungsvektor ist, der dem Makroblock- oder Sub-Makroblock-Modus p und der Teilung o- der Sub-Makroblock-Teilung zugeordnet ist, die die Luma- Position (x,y) umfasst.
Der Ratenterm R(i,p) stellt die Anzahl von Bits dar, die der Wahl des Codiermodus p zugeordnet sind. Für die Bewe- gungs-kompensierten Codiermodi umfasst derselbe die Bits für den Makroblock-Modus (falls zutreffend), den bzw. die Sub-Makroblock-Modi (falls zutreffend) und den bzw. die Be¬ wegungsvektoren. Für den Intra-Modus umfasst derselbe die Bits für den Makroblock-Modus und die Arrays von quanti- sierten Luma- und Chroma-Transformation-Koeffizienten- Pegeln.
Der Satz von möglichen Sub-Makroblock-Modi wird durch
{P_8x8, P_8x4, P_4x8, P_4x4}
gegeben. Der Satz von möglichen Makroblock-Modi wird durch
{P_16xl6, P_16x8, P_8xl6, P_8x8, INTRA}
gegeben, wobei der INTRA-Modus nur verwendet wird, wenn ei¬ ne Bewegungsfeldbeschreibung Mio, die für den Prädikti¬ onsschritt verwendet wird, geschätzt wird.
Der Lagrange-Multiplizierer λ wird abhängig von dem Basis¬ schicht-Quantisierungs-Parameter für das bzw. die Hochpass- Bilder QPHi der Zerlegungsstufe, für die das Bewegungsfeld geschätzt wird, gemäß folgender Gleichung gesetzt:
Λ=0.33-2Λ(ßPffi/3-4)
Erfindungsgemäß wird das in Fig. 8 gezeigte Zerlegungssche¬ ma verwendet, von dem ausgegangen wird, dass es einen ver¬ nünftigen Kompromiss zwischen zeitlicher Skalierbarkeit und Codier-Wirkungsgrad ermöglicht. Die Sequenz der ursprüngli¬ chen Bilder wird als Sequenz von Eingangsbildern A, B, A, B, A, B... A, B behandelt. Somit liefert dieses Schema eine Stufe mit optimaler zeitlicher Skalierbarkeit (gleicher Ab- stand zwischen den Tiefpass-Bildern) . Die Sequenz von Tief- pass-Bildern, die als Eingangs-Signal in alle folgenden Zerlegungsstufen verwendet werden, werden als Sequenzen von Eingangsbildern B, A, A, B, B, A ... A, B behandelt, wo- durch die Abstände zwischen den Tiefpass-Bildern, die zer¬ legt werden in dem folgenden Zwei-Kanal-Analyse-Schema, klein gehalten werden, wie es in Fig. 8 zu sehen ist.
Nachfolgend wird bezugnehmend auf die Figuren 6a bis 6d auf bevorzugte Implementierungen sowohl der Bewegungsdaten- Zwischen-Schicht-Prädiktion als auch der Restdaten- Zwischen-Schicht-Prädiktion eingegangen. Um eine räumliche bzw. eine SNR-Skalierbarkeit zu erreichen, werden also prinzipiell Bewegungsdaten und Texturdaten aus einer nied- rigeren Skalierungsschicht zu Prädiktionszwecken für eine höheren Skalierungsschicht verwendet. Hierbei wird insbe¬ sondere bei der räumlichen Skalierbarkeit eine Hochtastung bzw. ein Upsampling der Bewegungsdaten nötig sein, bevor sie als Prädiktion für die Decodierung von räumlichen Er- Weiterungsschichten eingesetzt werden können. Die Bewe- gungs-Prädiktionsdaten einer Basis-Schicht-Darstellung wer¬ den unter Verwendung eines Teilsatzes der existierenden B- Slice-Syntax von AVC übertragen. Zum Codieren des Bewe¬ gungsfeldes einer Erweiterungsschicht werden vorzugsweise zwei zusätzliche Makroblock-Modi eingeführt.
Der erste Makroblock-Modus ist „Base__Layer_Mode" und der zweite Modus ist der „Qpel_Refinement_Mode". Zum Signali¬ sieren dieser zwei zusätzlichen Makroblock-Modi werden zwei Flags, nämlich die BLFlag und QrefFlag, zur Makroblock- Schicht-Syntax hinzugeführt, und zwar vor dem Syntaxelement mb_mode, wie es in Fig. 1 gezeigt ist. So signalisiert die erste Flag BLFlag 1098 den Base-Layer-Modus, während die andere Flag 1100 den Qpel-Refinement-Modus symbolisiert. Ist eine solche Flag gesetzt, so hat sie den Wert 1, und der Datenstrom ist derart, wie es in Fig. 6a gezeigt ist. Wenn also die Flag 1098 den Wert 1 hat, spielen die Flag 1100 und das Syntaxelement Makroblock-Modus 1102 keine wei¬ tere Rolle. Hat dagegen die Flag 1098 den Wert null, so ist sie nicht gesetzt, und es kommt die Flag 1100 zum Tragen, die, wenn sie gesetzt ist, wieder das Element 1102 über¬ brückt. Haben dagegen beide Flags 1098 und 1100 einen Wert null, also sind sie beide nicht gesetzt, so wird der Makro¬ block-Modus im Syntaxelement 1102 ausgewertet.
Wenn also BLFlag = 1 ist, so wird der Basis-Layer-Modus verwendet, und für den entsprechenden Makroblock wird keine weitere Information verwendet. Dieser Makroblock-Modus zeigt an, dass die Bewegungs-Prädiktions-Informationen ein¬ schließlich der Makroblock-Partitionierung des entsprechen¬ den Makroblocks der Basisschicht direkt so für die Erweite¬ rungsschicht verwendet wird. Es sei darauf hingewiesen, dass hier und in der gesamten Anmeldung der Term „Basis- Schicht" eine nächstniedrigere Schicht bezüglich der gegen¬ wärtig betrachteten Schicht, also der Erweiterungsschicht, darstellen soll. Wenn die Basisschicht eine Schicht mit der halben räumlichen Auflösung darstellt, wird das Bewegungs- vektor-Feld, also das Feld von Bewegungsvektoren ein¬ schließlich der Makroblock-Partitionierung entsprechend skaliert, wie es in Fig. 6b dargestellt ist. In diesem Fall umfasst der gegenwärtige Makroblock dieselbe Region wie ein 8x8-Sub-Makroblock des Basis-Layer-Bewegungsfeld. Wenn so- mit der entsprechende Basis-Layer-Makroblock in einem Di- rect-, 16x16-, 16x8- oder 8xl6-Modus codiert ist, oder wenn der entsprechende Basis-Layer-Sub-Makroblock in dem 8x8- Modus oder in dem Direct-8x8-Modus codiert ist, dann wird der 16xl6-Modus für den gegenwärtigen Makroblock verwendet. Wenn andernfalls der Basis-Schicht-Sub-Makroblock im 8x4-, 4x8- oder 4x4-Modus codiert ist, ist der Makroblock-Modus für den gegenwärtigen Makroblock = 16x8, 8x16 oder 8x8 (mit allen Sub-Makroblock-Modi = 8x8) . Wenn der Basis-Schicht- Makroblock einen INTRA-Makroblock darstellt, wird der ge¬ genwärtige Makroblock auf INTRA_BASE gesetzt, was bedeutet, dass es sich um einen Makroblock mit einer Prädiktion von der Basisschicht handelt. Für die Makroblock- Partitionierungen des gegenwärtigen Makroblocks werden die¬ selben Referenzindizes wie für die entsprechenden Makro- block/Sub-Makroblock-Partitionierungen des Basis-Schicht- Blocks verwendet. Die zugeordneten Bewegungsvektoren werden mit einem Faktor von 2 multipliziert. Dieser Faktor gilt für die in Fig. 6b gezeigte Situation, bei der eine Basis¬ schicht 1102 die halbe Fläche bzw. Anzahl in Pixel umfasst als die Erweiterungsschicht 1104. Ist das Verhältnis der räumlichen Auflösung der Basisschicht zur räumlichen Auflö¬ sung der Erweiterungsschicht ungleich 1/2, so werden auch entsprechende Skalierungsfaktoren für die Bewegungsvektoren verwendet.
Ist dagegen die Flag 1098 gleich null und die Flag 1100 gleich 1, wird der Makroblock-Modus Qpel_Refinement_Mode signalisiert. Die Flag 1100 ist vorzugsweise nur vorhanden, wenn die Basisschicht eine Schicht mit der halben räumli¬ chen Auflösung der gegenwärtigen Schicht darstellt. Andern¬ falls ist der Makroblock-Modus (Qpel_Refinement_Mode) nicht in dem Satz von möglichen Makroblock-Modi enthalten. Dieser Makroblock-Modus ist ähnlich dem Basis-Layer-Modus. Die Makroblock-Partitionierung sowie die Referenzindizes und die Bewegungsvektoren werden wie beim Basis-Layer-Modus ab¬ geleitet. Für jeden Bewegungsvektor gibt es jedoch einen zusätzliche Viertel-Abtastwert-Bewegungsvektor-Verfeinerung -1,0 oder +1 für jede Bewegungsvektor-Komponente, die zu¬ sätzlich übertragen und dem abgeleiteten Bewegungsvektor hinzugefügt wird.
Wenn die Flag 1098 = null ist und die Flag 1100 = null ist, oder wenn die Flag 1100 nicht vorhanden ist, werden der Makroblock-Modus sowie die entsprechenden Referenzindizes und Bewegungsvektor-Differenzen wie üblich spezifiziert. Dies bedeutet, dass der komplette Satz von Bewegungsdaten für die Erweiterungsschicht genauso wie für die Basis¬ schicht übertragen wird. Erfindungsgemäß wird jedoch auch hier die Möglichkeit vorgesehen, den Basis-Schicht- Bewegungsvektor als Prädiktor für den aktuellen Erweite- rungs-Schicht-Bewegungsvektor (anstatt des räumlichen Bewe- gungsvektor-Prädiktors) zu verwenden. So soll die Liste X
(wobei X zwischen 0 und 1 ist) die Referenzindex-Liste des betrachteten Bewegungsvektors spezifizieren. Wenn alle nachfolgenden Bedingungen wahr sind, wird, wie es in Fig. 6c gezeigt ist, eine Flag MvPrdFlag übertragen, und zwar für jede Bewegungsvektor-Differenz:
der Basis-Schicht-Makroblock, der die gegenwärtigen Makroblock/Sub-Makroblock-Partitionen umfasst, ist nicht in einem INTRA-Makroblock-Modus codiert;
die Basis-Schicht-Makroblock/Sub-Makroblock-Partitio- nierung, die den oberen linken Abtastwert der gegen¬ wärtigen Makroblock/Sub-Makroblock-Partitionierung überdeckt, verwendet die List X oder eine Bi- Prädiktion; der L±sten-X-Referenzindex der Basis-Schicht- Makroblook/Sub-Makroblock-Partitionierung, der das o- bere linke Sample der gegenwärtigen Makroblock/Sub- Makroblock-Partitionierung umfasst, ist gleich dem Listen-X—Referenzindex der gegenwärtige Makro- block/Suto-Makroblock-Partitionierung.
Wenn die Flag 1106 von Fig. 6c nicht vorhanden ist, oder wenn diese Flag 1106 = null ist, wird der räumliche Bewe- gungsvektor-Pjträdiktor so spezifiziert, wie es im Standard AVC der Fall ist. Andernfalls, wenn die Flag 1106 vorhanden und = 1 ist, wird der entsprechende Basis-Schichtvektor als Bewegungsvektor-Prädiktor verwendet. In diesem Fall wird der Listen-X-Bewegungsvektor (wobei X=O oder 1 ist) der ge- genwärtigen Makroblock/Sub-Makroblock-Partitionierung durch Hinzufügen cäer übertragenen Listen-X-Bewegungsvektor- Differenz zu dem möglicherweise skalierten Listen-X- Bewegungsvektor der Basis-Schicht-Makroblock/Sub- Makroblock-Pazrtitionierung erhalten.
Die Flags 1098, 1100 und 1106 stellen somit zusammen eine Möglichkeit dar, die allgemein in Fig. Ia gezeigte Bewe- gungsdaten-Flag 1048 bzw. allgemein ein Bewegungsdaten- Steuersignal 1048 zu implementieren. Selbstverständlich e- xistieren hierfür verschiedene andere Möglichkeiten der Signalisierung, wobei natürlich auch eine feste Vereinba¬ rung zwischen dem Sender und dem Empfänger verwendet werden kann, die eine Reduktion an Signalisierungsinformationen erlaubt.
Zusammenfassend wird anhand der Figuren Ie, If und Ig eine detaillierte Implementierung des Erweiterungs- Bewegungskompensierers 1014 von Fig. Ia bzw. des Erweite- rungs-Bewegungsdaten-Ermittlers 1078 von Fig. 2 näher dar¬ gelegt.
Bezug nehmend auf Fig. Ie ist zu sehen, dass der Erweite- rungs-Bewegungskompensierer 1014 prinzipiell zwei Dinge tun muss. So muss er zunächst die Erweiterungs-Bewegungsdaten, also typischerweise die gesamten Bewegungsvektoren berech¬ nen und dem Erweiterungs-Bewegungs-Prädiktor 1016 zuführen, damit er diese Vektoren gewissermaßen in uncodierter Form verwenden kann, um die Erweiterungs-Folge von Restfehler¬ bildern zu erhalten, die im Stand der Technik typischerwei¬ se adaptiv und Block-für-Block durchführen zu können. Eine andere Sache ist jedoch die Erweiterungs-Bewegungsdaten- Verarbeitung, also wie die zur bewegungskompensierten Prä- diktion verwendeten Bewegungsdaten nunmehr so stark als möglich komprimiert werden und in einem Bitstrom geschrie¬ ben werden. Hierzu, damit etwas in dem Bitstrom geschrieben werden kann, müssen entsprechende Daten zum Erweiterungs- Bildcodierer 1028 gebracht werden, wie es anhand von Fig. Ie dargestellt ist. Der Erweiterungs-Bewegungsdaten- Verarbeitungseinrichtung 1014b kommt also die Aufgabe zu, die in den Erweiterungs-Bewegungsdaten, die die Erweite- rungs-Bewegungsdaten-Berechnungseinrichtung 1014a ermittelt hat, enthaltene Redundanz im Bezug auf die Basisschicht so stark als möglich zu reduzieren.
Die Basis-Bewegungsdaten oder die hochgetasteten Basis- Bewegungsdaten können erfindungsgemäß sowohl von der Erwei- terungs-Bewegungsdaten-Berechnungseinrichtung 1014a zur Be- rechnung der tatsächlich zu verwendeten Erweiterungs- Bewegungsdaten eingesetzt werden, oder können auch nur zur Erweiterungs-Bewegungsdaten-Verarbeitung, also zur Erweite- rungs-Bewegungsdaten-Kompression verwendet werden, während sie für die Berechnung der Erweiterungs-Bewegungsdaten kei¬ ne Rolle spielen. Während die beiden MögLichkeiten 1.) und 2.) von Fig. Ig Ausführungsbeispiele zeicjen, bei denen die Basis-Bewegungsdaten bzw. die hochgetasteten Basis- Bewegungsdaten bereits bei der Erweiterungs-Bewegungsdaten- Berechnung eingesetzt werden, zeigt das Ausfürarungsbeispiel 3.) von Fig. Ib einen Fall, bei dem Informationen über die Basis-Bewegungsdaten nicht zur Berechnung der Erweiterungs- Bewegungsdaten, sondern lediglich zur Codierurxg bzw. Gewin- nung von Restdaten eingesetzt werden.
Fig. If zeigt die decodiererseitige Implementierung der Er- weiterungs-Bewegungsdaten-Ermittlungseinrichtung 1078, die ein Steuermodul 1078a zur blockweisen Steuerung aufweist, welches die Signalisierungsinformationen vom Bitstrom bzw. vom Erweiterungs-Bild-Decodierer 1066 enthält . Ferner um- fasst der Erweiterungs-Bewegungsdaten-Ermittler 1078 eine Erweiterungs-Bewegungsdaten-Rekonstruktionseinirichtung 1078b, die entweder allein unter Verwendung deα: decodierten Basis-Bewegungsdaten oder decodierten hochgetasteten Basis- Bewegungsdaten oder aber durch Kombination aus Informatio¬ nen über die decodierten Basis-Bewegungsdaten und von dem Erweiterungs-Bild-Decodierer 1066 aus der Erweiterungs- Skalierungsschicht 1004 extrahierten Restdaten tatsächlich die Bewegungsvektoren des Erweiterungs-Bewegungsdaten- Feldes ermittelt, die dann von dem Erweiteruncjs-Bewegungs- Kombinierer 1076 verwendet werden können, der als üblicher Kombinierer ausgebildet sein kann, um die encociiererseitige bewegungskompensierte Prädiktion wieder rückgängig zu ma- chen.
Nachfolgend wird auf die verschiedenen Ausfühzrungsbeispie- Ie, wie sie in Fig. Ig zur Übersicht dargestellt sind, ein- gegangen. Wie es bereits anhand von Fig. 6a dargelegt wor¬ den ist, signalisiert die BLFlag 1098 eine komplette Über¬ nahme der hochskalierten Basis-Bewegungsdaten für die Er- weiterungs-Bewegungs-Prädiktion. In diesem Fall ist die Einrichtung 1014a ausgebildet, um die Basis-Bewegungsdaten komplett zu übernehmen bzw. im Falle von unterschiedlichen Auflösungen der verschiedenen Schichten die Basis- Bewegungsdaten in hochskalierter Form zu übernehmen und zur Einrichtung 1016 zu übermitteln. Zum Erweiterurags- Bildcodierer wird jedoch keine Information über Bewegurags- feider oder Bewegungsvektoren übermittelt. Stattdessen wird lediglich für jeden Block, sei es ein Makroblock oder ein Sub-Makroblock, eine eigene Flag 1098 übertragen.
Auf Decodiererseite bedeutet dies, dass die Einrichtung 1078a von Fig. If für einen Block die Flag 1098 decodiert und dann, wenn sie aktiv war, d±e aus der Basisschicht vor¬ handenen decodierten Basis-Bewegungsdaten oder die deco¬ dierten hochgetasteten Basis-Bewegungsdaten verwendet, um daraus die Erweiterungs-Bewegungsdaten zu berechnen, die dann zum Block 1076 geliefert werden. Bewegungsvektor- Restdaten benötigt die Einrichtung 1078 in diesem Fall nicht.
Bei dem zweiten Ausführungsbeispiel der vorliegenden Erfin¬ dung, das durch die Flag QrefFlag 1100 signalisiert ist^ wird der Basis-Bewegungsvektor in die Erweiterungs- Bewegungsdatenberechnung, die durch die Einrichtung 1014a ausgeführt wird, integriert. Wie es in Fig. Ig im Abschnitt 2.) dargestellt ist und vorstehend beschrieben worden ist, findet die Bewegungsdatenberechnung bzw. die Berechnung der Bewegungsvektoren m dadurch statt, dass das Minimum des Ausdrucks ( D + λ R)
gesucht wird. In den Verzerrzungsterm D geht der Unter- schied zwischen einem Block eines aktuellen Bildes B und einem durch einen bestimmten potentiellen Bewegungsvektor verschobenen Block eines vorausgehenden und/oder späteren Bildes ein. In den Faktor λ geht der Quantisierungsparame¬ ter des Erweiterungs-Bild-Codierers, der in Fig. Ia mit 1036 bezeichnet ist, ein. Der Ausdruck R liefert Informati¬ onen über die Anzahl von Bits, die zur Codierung eines po¬ tentiellen Bewegungsvektors verwendet wird.
Üblicherweise wird jetzt eine Suche unter verschiedenen po- tentiellen Bewegungsvektoren durchgeführt, wobei für jeden neuen Bewegungsvektor der Verzerrungsterm D berechnet wird, und der Ratenterm R berechnet wird, und wobei der Erweite- rungs-Quantisierungs-Parameter 1036, der vorzugsweise fest ist, jedoch ebenfalls variieren könnte, berücksichtigt wird. Der beschriebene Summenterm wird für verschiedene po¬ tentielle Bewegungsvektoren ausgewertet, wonach der Bewe¬ gungsvektor genommen wird, der das minimale Ergebnis der Summe liefert.
Erfindungsgemäß wird nunmehr der Basis-Bewegungsvektor des entsprechenden Blocks aus der Basisschicht ebenfalls in diese iterative Suche integriert. Sollte er das Suchkrite¬ rium erfüllen, so muss wieder lediglich die Flag 1100 über¬ tragen werden, es müssen jedoch keine Restwerte oder etwas anderes für diesen Block übertragen werden. Die Einrichtung 1014a verwendet somit dann, wenn der Basis-Bewegungsvektor das Kriterium (Minimum des vorstehenden Ausdrucks) für ei¬ nen Block erfüllt, diesen Basis-Bewegungsvektor, um ihn zur Einrichtung 1016 zu übermitteln. Zum Erweiterumgs- Bildcodierer wird jedoch lediglich die Flag HOO übermit¬ telt.
Auf Decodiererseite bedeutet dies, dass die Einrichtung 1078a, wenn sie die Flag 1100 decodiert, die Einrichtung 1078b ansteuert, um für diesen Block den Bewegungsvektor aus den Basis-Bewegungsdaten zu ermitteln, da der Erweite- rungs-Bild-Decodierer keine Restdaten übermittelt hatte.
Bei einer Variation der zweiten Ausführungsform wird in die iterative Suche nicht nur der Basis-Bewegungsvek±or, son¬ dern eine Vielzahl von von dem Basis-Bewegungsvektor abge¬ leiteten (leicht) veränderten Basis-Bewegungsvelctoren in die Suche integriert. Je nach Implementierung kann jede
Komponente des Bewegungsvektors unabhängig voneinander um ein Inkrement erhöht oder erniedrigt werden, oder gleich gelassen werden. Dieses Inkrement kann eine bestimmte Gra- nularität eines Bewegungsvektors darstellen, z. B. einen Auflösungsschritt, einen Halb-Auflösungsschritt oder einen Viertel-Auflösungsschritt. Erfüllt ein solcher veränderter Basis-Bewegungsvektor das Suchkriterium, so wird zusätzlich zur Flag 1100 auch gewissermaßen als „Restdaten^ die Verän¬ derung, also das Inkrement, also +1, 0 oder -1 übertragen.
Ein Decodierer wird dann, aktiviert durch die FLag 1100, im Datenstrom nach dem Inkrement suchen und ferner den Basis- Bewegungsvektor oder den hochgetasteten Basis- Bewegungsvektor wieder gewinnen und im Block 1078b des In- krement mit dem entsprechenden Basis-Bewegungsvektor kombi¬ nieren, um dann den Bewegungsvektor für den entsprechenden Block in der Erweiterungsschicht zu erhalten. Bei der dritten Ausführungsform, die durch die Flag 1106 signalisiert wird, kann die Ermittlung der Bewegungsvekto¬ ren prinzipiell beliebig erfolgen. Im Hinblick auf volle Flexibilität kann die Einrichtung 1014a die Erweiterungs- Bewegungsdaten z. B. gemäß der in Verbindung mit dem zwei¬ ten Ausführungsbeispiel genannten Minimierungsaufgabe er¬ mitteln. Der ermittelte Bewegungsvektor wird dann zur enco- diererseitigen bewegungskompensierten Prädiktion verwendet, ohne dass auf Informationen aus der Basisschicht Rücksicht genommen wird. Die Erweiterungs-Bewegungsdaten-Verarbeitung- 1014a ist in diesem Fall jedoch ausgebildet, um in die Be¬ wegungsvektor-Verarbeitung zur Redundanzreduktion, also vor¬ der eigentlichen arithmetischen Codierung, die Basis- Bewegungsvektoren miteinzubeziehen.
So wird gemäß dem Standard H.264/AVC eine Übertragung von Bewegungsvektordifferenzen vorgenommen, wobei Differenzen zwischen in der Nähe liegenden Blöcken innerhalb eines Bil¬ des bestimmt werden. In der Implementierung kann die Diffe— renz zwischen verschiedenen in der Nähe liegenden Blöcken gebildet werden, um dann die kleinste Differenz auszuwäh¬ len. Erfindungsgemäß wird nunmehr in diese Suche nach dem günstigsten Prädiktor für die Bewegungsvektordifferenz der Basis-Bewegungsvektor für den entsprechenden Block in einein Bild mit einbezogen. Erfüllt er das Kriterium, dass er als Prädiktor den kleinsten Restfehlerwert liefert, so wird dies durch die Flag 1106 signalisiert und es wird lediglichi der Restfehlerwert zum Block 1028 übertragen. Erfüllt der Basis-Bewegungsvektor dieses Kriterium nicht, so wird die Flag 1106 nicht gesetzt, und es wird eine räumliche Bewe- gungsvektordifferenzberechnung vorgenommen. Für einfachere Codiererimplementierungen kann jedoch auch statt der iterativen Suche einfach immer bzw. für adaptiv bestimmte Blöcke der Basis-Bewegungsvektor bzw. eine hoch¬ getastete Version desselben als Prädiktor dienen.
Erfindungsgemäß wird auch eine Zwischen-Schicht-Prädiktion von Restdaten vorgenommen. Hierauf wird nachfolgend einge¬ gangen. Wenn die Bewegungsinformationen von einer Schicht zur nächsten verändert werden, kann es günstig oder nicht günstig sein, Restinformationen bzw. im Falle einer MCTF- Zerlegung, Hochpass-Informationen der Erweiterungsschicht aus der Basisschicht zu prädizieren. Wenn die Bewegungsvek¬ toren für einen Block der aktuellen Schicht zu den Bewe¬ gungsvektoren der entsprechenden Basisschicht bzw. makro- blockweise zu entsprechenden Bewegungsvektoren der entspre¬ chenden Basisschicht ähnlich sind, ist es wahrscheinlich, dass die Codiereffizienz erhöht werden kann, wenn das co¬ dierte Basis-Schicht-Restsignal (Hochpass-Signal) als Prä¬ diktion für das Erweiterungs-Restsignal (Erweiterungs- Hochpass-Signal) verwendet wird, wodurch nur die Differenz zwischen dem Erweiterungs-Restsignal und der Basisschicht- Rekonstruktion (Leitung 1024 von Fig. Ia) codiert wird. Wenn die Bewegungsvektoren jedoch unähnlich sind, ist es sehr unwahrscheinlich, dass eine Prädiktion des Restsignals die Codiereffizienz verbessern wird. Folglich wird ein a- daptiver Lösungsansatz für die Prädiktion des Restsignals bzw. Hochpass-Signals eingesetzt. Dieser adaptive Lösungs¬ ansatz, also ob der Zwischen-Schicht-Prädiktor 1018 aktiv ist oder nicht, kann durch eine tatsächliche Berechnung des Nutzens auf der Basis des Differenzsignals erfolgen oder kann aufgrund einer Abschätzung durchgeführt werden, wie unterschiedlich ein Bewegungsvektor einer Basis- Skalierungsschicht für einen Makroblock zu einem entspre- chenden Makroblock in der Erweiterungs-Skalierungsschicht ist. Ist der Unterschied kleiner als ein bestimmter Schwel¬ lenwert, so wird der Zwischen-Schicht-Prädiktor über die Steuerleitung 1030 aktiviert. Ist der Unterschied dagegen größer als ein bestimmter Schwellwert, so wird der Zwi¬ schen-Schicht-Prädiktor für diesen Makroblock deaktiviert.
Es wird eine Flag ResPrdFlag 1108 übertragen. Wenn diese Flag 1108 = 1 ist, wird das rekonstruierte Restsignal der Basisschicht als Prädiktion für das Restsignal des gegen¬ wärtigen Makroblocks der Erweiterungsschicht verwendet, wo¬ bei nur eine Approximation des Unterschieds zwischen dem gegenwärtigen Restsignal der Erweiterungsschicht und seiner Basisschicht-Rekonstruktion codiert wird. Andernfalls ist die Flag 1108 nicht vorhanden oder gleich null. Hierbei wird das Restsignal des gegenwärtigen Makroblocks in der Erweiterungsschicht dann ohne Prädiktion aus der Basis¬ schicht codiert.
Wenn die Basisschicht eine Schicht mit der Hälfte der räum¬ lichen Auflösung der Erweiterungs-Schicht darstellt, wird das Restsignal unter Verwendung eines Interpolationsfilters hochgetastet, bevor das hochgetastete Restsignal der Basis¬ schicht als Prädiktionssignal verwendet wird. Dieses Filter ist ein Interpolations-Filter mit sechs Taps, derart, dass zur Interpolation eines Wertes der hohen räumlichen Auflö¬ sung der Erweiterungsschicht, der aufgrund der niedrigen Auflösung in der Basisschicht nicht vorhanden war, Werte aus der Umgebung verwendet werden, um ein möglichst gutes Interpolationsergebnis zu erhalten.
Interpoliert man jedoch Werte am Rand eines Transformati¬ onsblocks, und würde das Interpolations-Filter daher zur Interpolation Werte eines anderen Transformationsblocks verwenden, so wird es bevorzugt, genau dies nicht zu tun, sondern die Werte des Interpolations-Filters außerhalb des betrachteten Blocks zu synthetisieren, damit eine Interpo- lation mit möglichst wenig Artefakten stattfindet.
Anhand eines sogenannten Core-Experiments wurde herausge¬ funden, dass die Zwischen-Schicht-Prädiktion von Bewegungs¬ und Restwerten die Codiereffizienz des AVC-basierten MCTF- Ansatzes deutlich verbessert. Für bestimmte Testpunkte wur¬ den PSNR-Gewinne von mehr als IdB erhalten. Insbesondere bei sehr niedrigen Bitraten für jede räumliche Auflösung (mit Ausnahme der Basisschicht) war die Verbesserung der Rekonstruktionsqualität deutlich sichtbar.
Abhängig von der Gegebenheit, kann das erfindungsgemäße Verfahren in Hardware oder in Software implementiert wer¬ den. Die Implementierung kann auf einem digitalen Speicher¬ medium, insbesondere einer Diskette oder CD mit elektro- nisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das Verfahren ausgeführt wird. Allgemein besteht die Erfin¬ dung somit auch in einem Computer-Programm-Produkt mit ei¬ nem auf einem maschinenlesbaren Träger gespeicherten Pro- grammcode zur Durchführung des erfindungsgemäßen Verfah¬ rens, wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In anderen Worten ausgedrückt, kann die Erfindung somit als ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computer-Programm auf einem Computer abläuft.
Die vorliegende Erfindung betrifft ferner ein Computer¬ lesbares Medium, auf dem ein skalierbarer Datenstrom mit einer ersten Skalierungsschicht und einer zweiten Skalie¬ rungsschicht samt der zugehörigen Steuerzeichen für die verschiedenen Decodierer-seitigen Einrichtungen gespeichert sind. So kann das Computer-lesbare Medium ein Datenträger sein, oder aber das Internet, auf dem ein Datenstrom von einem Anbieter zu einem Empfänger übertragen wird.

Claims

Patentansprüche
1. Vorrichtung zum Erzeugen einer codierten Videosequenz, die eine Basis-Skalierungsschicht (1002) und eine Er- weiterungs-Skalierungsschicht (1004) aufweist, mit folgenden Merkmalen:
einem Basis-Bewegungs-Kompensierer (1006) zum Berech¬ nen von Basis-Beweguncjsdaten, die angeben, wie sich ein Makroblock in einem aktuellen Bild bezüglich eines anderen Bildes in einer Gruppe von Bildern bewegt hat;
einem Basis-Bewegungs-Prädiktor (1012) zum Berechnen einer Basis-Folge von Restfehlerbildern unter Verwen- düng der Basis-Beweguncjsdaten;
einem Basis-Bildcodierer (1010) , der ausgebildet ist, um die codierte Basis-Skalierungsschicht (1002) aus der Basis-Folge von Restfehlerbildern zu berechnen;
einem Erweiterungs-Bewegungs-Kompensierer (1014) zum Ermitteln von Erweiterumgs-Bewegungsdaten;
einem Erweiterungs-Bewegungs-Prädiktor (1016) zum Be- rechnen einer Erweitexungs-Folge von Restfehlerbil¬ dern;
einem Zwischen-Schicht—Prädiktor (1018) zum Berechnen von Erweiterungs-Prädi-ktions-Restfehlerbildern unter Verwendung der Erweiterungs-Folge von Restfehlerbil¬ dern und unter Verwendung von Informationen (1026) ü- ber die Basis-Folge von Restfehlerbildern; und einem Erweiterungs-Bildcodierer (1028) zum Codieren der Erweiterungs-Prädiktions-Restfehlerbilder, um die codierte Erweiterungs-Skalierungsschicht (1004) zu er¬ halten.
2. Vorrichtung nach Anspruch 1,
bei der der Basis-Bildcodierer (ILOlO) ausgebildet ist, um eine Quantisierung mit einem Basis-Quantisierungs- Parameter (1034) durchzuführen,
bei der der Erweiterungs-Bildcodierer (1028) ausgebil¬ det ist, um eine Quantisierung mit einem Erweiterungs- Quantisierungs-Parameter (1036) durchzuführen, wobei der Erweiterungs-Quantisierungs- Parameter (1036) eine feinere Quantisierung als der Basis-Quantisierungs- Parameter (1034) zur Folge haben kann,
bei der der Basis-Bildcodierer (1010) ausgebildet ist, um die mit dem ersten Quantisieirungsparameter quanti- sierte Basis-Folge von Restfehlerbildern zu rekon¬ struierten, um eine rekonstruierte Basis-Folge zu er¬ halten und
bei der der Zwischen-Schicht-Prsdiktor (1026) ausge¬ bildet ist, um die Erweiterungs-Prädiktions- Restfehlerbilder unter Verwendung der Erweiterungs- Folge von Restfehlerbildern und der rekonstruierten Basis-Folge von Restfehlerbildern als die Informatio- nen über die Basis-Folge von Restfehlerbildern zu be¬ rechnen.
3. Vorrichtung nach Anspruch 1 oder 2, die ferner folgen¬ de Merkmale aufweist:
einen Dezimierer (1032) zum Dezimieren einer Auflösung der Gruppe von Bildern, wobei der Dezimierer (1032) ausgebildet ist, um dem Basis-Bewegungs-Kompensierer (1006) eine Gruppe von Bildern mit einer Basis- Auflösung bereitzustellen, die kleiner ist al s eine Erweiterungs-Auflösung einer Gruppe von Bildeirn, die dem Erweiterungs-Bewegungs-Kompensierer (1014 ) zur Verfügung gestellt wird; und
einem Interpolierer (1022) zum räumlichen Interrpolie- ren der Basis-Folge von Restfehlerbildern oder- einer rekonstruierten Basis-Folge von Restfehlerbild&rn, um eine interpolierte Basis-Folge von Restfehlerbildern zu erhalten, die dem Zwischen-Schicht-Prädiktor (1018) als Informationen (1026) über die Basis-Folge von Restfehlerbildern zuführbar ist.
4. Vorrichtung nach Anspruch 3, die ferner einen Bewe¬ gungsdaten-Hochtaster (1042) aufweist, um die Basis- Bewegungsdaten an die Erweiterungs-Auflösung anzupas¬ sen.
5. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der der Basis-Bewegungs-Kompensierer (1006) ausge¬ bildet ist, um für einen Makroblock einen zweidimensi¬ onalen Bewegungsvektor zu berechnen.
6. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der der Basis-Bewegungs-Prädiktor (1012) ausgebil¬ det ist, um einen unter Verwendung der Basis- Bewegungsdaten-prädizierten Makroblock von einem aktu¬ ellen Makroblock zu subtrahieren, um einen Makroblock eines Restfehlerbildes der Basis-Folge von Restfehler¬ bildern zu erhalten.
7. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der der Zwischen-Schicht-Prädiktor (1018) ausge¬ bildet ist, um adaptiv für Blöcke zu entscheiden, ob ein Codiergewinn durch Anwenden einer Prädiktion im Vergleich zu einer Verwendung eines Blocks aus der Er¬ weiterungs-Folge von Restfehlerbildern steigerbar ist.
8. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der der Zwischen-Schicht-Prädiktor (1018) ausge- bildet ist, um einen unter Verwendung eines Makro¬ blocks aus der Basis-Folge von Restfehlerbildern oder der rekonstruierten Basis-Folge von Restfehlerbildern oder der interpolierten Basis-Folge von Restfehlerbil¬ dern oder der rekonstruierten und interpolierten Ba- sis-Folge von Restfehlerbildern prädizierten Makro¬ block von einem aktuellen Makroblock der Erweiterungs¬ folge von Restfehlerbildern zu subtrahieren, um einen Makroblock eines Erweiterungs-Prädiktions- Restfehlerbilder zu erhalten.
9. Vorrichtung nach Anspruch 2, bei der der Basis- Bewegungs-Kompensierer (1006) ausgebildet ist, um die Basis-Bewegungsdaten abhängig von dem Basis- Quantisierungs-Parameter (1034), einem Verzerrungsterm und einer Datenrate zur Übertragung der Basis- Bewegungsdaten zu berechnen.
10. Vorrichtung nach Anspruch 2 oder 9, bei der der Erweiterungs-Bewegungs-Kompensierer (1006) ausgebildet ist, um die Erweiterungs-Bewegungsdaten abhängig von dem Erweiterungs-Quantisierungs-Parameter (1036) , einem Verzerrungsterm und einer Datenrate zur Übertra¬ gung der Erweiterungs-Bewegungsdaten zu berechnen.
11. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der der Erweiterungs-Bewegungs-Kompensierer (1006) ausgebildet ist, um abhängig von einem Modus- Steuersignal die Basis-Bewegungsdaten oder skalierte Basis-Bewegungsdaten zu verwenden.
12. Vorrichtung nach einem er vorhergehenden Ansprüche, bei der die Basis-Skalierungsschicht (1002) eine nied¬ rigere Auflösung als die Erweiterungs- Skalierungsschicht (1004) aufweist, und bei der der Erweiterungs-Bewegungs-Kompensierer (1014) ausgebildet ist, um abhängig von einem Steuersignal (1048) Rest- Bewegungsdaten zu ermitteln, und wobei der Erweite- rungs-Bildcodierer (1028) ausgebildet ist, um die
Rest-Bewegungsdaten in die Erweiterungs- Skalierungsschicht (1004) zu codieren.
13. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der der Basis-Bewegungs-Prädiktor (1012) und der Erweiterungs-Bewegungs-Prädiktor (1016) ausgebildet sind, um eine Bewegungs-kompensierte Prädiktions- Operation durchzuführen.
14. Vorrichtung nach einem der Ansprüche 1 bis 12, bei der der Basis-Bewegungs-Prädiktor (1012) und der Erweite- rungs-Bewegungs-Prädiktor ausgebildet sind, um neben der Bewegungs-kompensierten Prädiktions-Operation auch eine Bewegungs-kompensierte Aktualisierungs-Operation durchzuführen, um eine Bewegungs-kompensierte zeitli¬ che Zerlegung in wenigstens ein Tiefpass- und mehrere Hochpass-Bilder zu erhalten.
15. Verfahren zum Erzeugen einer codierten Videosequenz, die eine Basis-Skalierungsschicht (1002) und eine Er- weiterungs-Skalierungsschicht (1004) aufweist, mit folgenden Schritten:
Berechnen (1006) von Basis-Bewegungsdaten, die ange¬ ben, wie sich ein Makroblock in einem aktuellen Bild bezüglich eines anderen Bildes in einer Gruppe von Bildern bewegt hat;
Berechnen (1012) einer Basis-Folge von Restfehlerbil¬ dern unter Verwendung der Basis-Bewegungsdaten;
Codieren (1010) von Informationen über die Basis-Folge von Restfehlerbildern, um die codierte Basis- Skalierungsschicht (1002) aus der Basis-Folge von Restfehlerbildern zu berechnen;
Ermitteln (1014) von Erweiterungs-Bewegungsdaten;
Berechnen (1016) einer Erweiterungs-Folge von Restfeh¬ lerbildern;
Berechnen (1018) von Erweiterungs-Prädiktions- Restfehlerbildern unter Verwendung der Erweiterungs- Folge von Restfehlerbildern und unter Verwendung von Informationen (1026) über die Basis-Folge von Restfeh¬ lerbildern; und
Codieren (1028) der Erweiterungs-Prädiktions- Restfehlerbilder, um die codierte Erweiterungs- Skalierungsschicht (1004) zu erhalten.
16. Vorrichtung zum Decodieren einer codierten Videose¬ quenz mit einer Basis-Skalierungsschicht (1002) und einer Erweiterungs-Skalierungsschicht (1004), mit fol¬ genden Merkmalen:
einem Basis-Bild-Decodierer (1060) zum Decodieren der Basis-Skalierungsschicht, um eine decodierte Basis- Folge von Restfehlerbildern und Basis-Bewegungsdaten zu erhalten;
einem Basis-Bewegungs-Kombinierer (1064), um unter Verwendung der Basis-Bewegungsdaten und der decodier- ten Folge von Restfehlerbildern eine Folge von Bildern der Basis-Skalierungsschicht zu erhalten;
einem Erweiterungs-Bild-Decodierer (1066) zum Decodie¬ ren der Erweiterungs-Skalierungsschicht, um Erweite- rungs-Prädiktions-Restfehlerbilder zu erhalten;
einem Zwischen-Schicht-Kombinierer (1074) zum Kombi¬ nieren der decodierten Basis-Folge von Restfehlerbil¬ dern oder einer interpolierten Basis-Folge von Rest- fehlerbildern mit den Erweiterungs-Prädiktions- Restfehlerbildern, um eine Erweiterungs-Folge von Restfehlerbildern zu erhalten; einem Erweiterungs-Bewegungs-Kombinierer (1076), der ausgebildet ist, um unter Verwendung der Erweiterungs- Folge von Restfehlerbildern und von Erweiterungs- Bewegungsdaten eine Folge von Bildern der Erweite- rungs-Skalierungsschicht zu erhalten.
17. Vorrichtung nach Anspruch 16, bei der der Basis-Bild- Decodierer (1060) ausgebildet ist, um unter Verwendung eines Basis-Quantisierungs-Parameters zu dequantisie- ren, der größer als ein Erweiterungs-Quantisierungs- Parameter ist, und
bei der der Zwischen-Schicht-Kombinierer (1074) ausge¬ bildet ist, um die decodierte Basis-Folge von Restfeh- lerbildern oder eine interpolierte Version derselben zu verwenden.
18. Vorrichtung nach einem der Ansprüche 16 oder 17, bei der die Bilder der Basis-Skalierungsschicht (1002) ei- ne niedrigere Auflösung als die Bilder der Erweite- rungs-Skalierungsschicht (1004) haben können, und
die ferner einen Restwerte-Interpolator (1070) auf¬ weist, um die decodierte Basis-Folge von Restfehler- bildern auf die höhere Auflösung zu interpolieren.
19. Vorrichtung nach einem der Ansprüche 16 bis 18, bei der die Bilder der Basis-Skalierungsschicht eine nied¬ rigere Auflösung als die Bilder der Erweiterungs- Skalierungsschicht haben, und
die ferner einen Bewegungsdaten-Hochtaster (1086) auf¬ weist, um die Basis-Bewegungsdaten auf die Erweite- rungs-Auflösung umzusetzen, um die Erweiterungs- Bewegungsdaten oder eine Prädiktion der Erweiterungs- Bewegungsdaten zu erhalten.
20. Vorrichtung nach Anspruch 19, bei der die codierte Vi¬ deosequenz Rest-Bewegungsdaten aufweist, und
die einen Bewegungsdaten-Ermittler (1078) aufweist, um die Rest-Bewegungsdaten mit der Prädiktion der Erwei- terungs-Bewegungsdaten zu kombinieren, um die Erweite- rungs-Bewegungsdaten zu ermitteln.
21. Vorrichtung nach einem der Ansprüche 16 bis 20, bei der der Basis-Bewegungs-Kombinierer (1064) und der Er- weiterungs-Bewegungs-Kombinierer ausgebildet sind, um nur eine inverse Prädiktions-Operation oder eine in- verse Prädiktions-Operation und eine inverse Aktuali¬ sierungs-Operation durchzuführen.
22. Vorrichtung nach einem der Ansprüche 18 bis 20, bei der der Interpolator (1070) ausgebildet ist, um ein Interpolations-Filter zu verwenden, das unter Verwen¬ dung einer Mehrzahl von Pixeln in einer Umgebung des zu interpolierenden Pixels arbeitet.
23. Vorrichtung nach Anspruch 22, bei der das Interpolati¬ onsfilter ausgebildet ist, um dann, wenn in der Nähe des zu interpolierenden Pixels ein Pixel eines anderen Transformationsblocks vorhanden ist, anstatt des Pi- xels des anderen Transformationsblocks einen syntheti¬ sierten Wert zu verwenden.
24. Vorrichtung nach einem der Ansprüche 16 bis 23, bei der die codierte Videosequenz Erweiterungs- Bewegungsdaten für Makroblöcke aufweist, wobei den Er- weiterungs-Bewegungsdaten ein Bewegungsdaten- Steuersignal (1070) zugeordnet ist, das anzeigt, ob den Erweiterungs-Bewegungsdaten ein Prädiktionssignal zugrunde liegt, das aus einem skalierten Bewegungsvek¬ tor der Basis-Bewegungsdaten abgeleitet ist, oder ob den Erweiterungs-Bewegungsdaten ein Prädiktionssignal zugrunde liegt, das nicht von den Basis-Bewegungsdaten abgeleitet ist, und wobei die Vorrichtung ausgebildet ist, um das Bewegungsdaten-Steuersignal (1070) zu le¬ sen und abhängig von dem Steuersignal die Erweite¬ rungs-Bewegungsdaten unter Verwendung der skalierten Version der Basis-Bewegungsdaten zu berechnen.
25. Vorrichtung nach einem der Ansprüche 16 bis 24, bei der die codierte Videosequenz für Makroblöcke in der Erweiterungs-Skalierungsschicht jeweils ein Zwischen- Schicht-Prädiktions-Steuersignal (1030) aufweist, das anzeigt, ob ein Makroblock aufgrund einer Zwischen- Schicht-Prädiktion erzeugt worden ist, oder ohne eine Zwischen-Schicht-Prädiktion erzeugt worden ist, und
bei der die Vorrichtung ferner ausgebildet ist, um den Zwischen-Schicht-Kombinierer (1074) nur dann zu akti¬ vieren, wenn das Zwischen-Schicht-Prädiktions- Steuersignal (1030) eine Zwischen-Schicht Prädiktion für einen betrachteten Makroblock anzeigt.
26. Verfahren zum Decodieren einer codierten Videosequenz mit einer Basis-Skalierungsschicht (1002) und einer Erweiterungs-Skalierungsschicht (1004), mit folgenden Schritten:
Decodieren (1060) der Basis-Skalierungsschicht, um ei- ne decodierte Basis-Folge von Restfehlerbildern und Basis-Bewegungsdaten zu erhalten;
Durchführen einer Basis-Bewegungs-Kombination (1064), um unter Verwendung der Basis-Bewegungsdaten und der decodierten Folge von Restfehlerbildern, eine Folge von Bildern der Basis-Skalierungsschicht zu erhalten;
Decodieren (1066) der Erweiterungs-Skalierungsschicht, um Erweiterungs-Prädiktions-Restfehlerbilder zu erhal- ten;
Kombinieren (1074) der decodierten Basis-Folge von Restfehlerbildern oder einer interpolierten Basis- Folge von Restfehlerbildern mit den Erweiterungs- Prädiktions-Restfehlerbildern, um eine Erweiterungs- Folge von Restfehlerbildern zu erhalten;
Durchführen einer Erweiterungs-Bewegungs-Kombination (1076), um unter Verwendung der Erweiterungs-Folge von Restfehlerbildern und von Erweiterungs-Bewegungsdaten eine Folge von Bildern der Erweiterungs- Skalierungsschicht zu erhalten.
27. Computerprogramm zum Ausführen eines Verfahrens gemäß Patentanspruch 15 oder 26, wenn das Verfahren auf ei¬ nem Computer läuft.
28. Computer-lesbares Medium mit einer codierten Videose¬ quenz, die eine Basis-Skalierungsschicht (1002) und eine Erweiterungs-Skalierungsschicht (1004) aufweist, wobei die codierte Videosequenz derart ausgebildet ist, dass sie dann, wenn sie in einer Vorrichtung zum Decodieren gemäß Patentanspruch 16 decodiert wird, in einer decodierten ersten Skalierungsschicht und einer decodierten zweiten Skalierungsschicht resultiert.
PCT/EP2005/010227 2004-10-15 2005-09-21 Vorrichtung und verfahren zum erzeugen einer codierten videosequenz und zum decodieren einer codierten videosequenz unter verwendung einer zwischen-schicht-restwerte-praediktion WO2006042612A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
MX2007004408A MX2007004408A (es) 2004-10-15 2005-09-21 Metodo y aparato para generar una secuencia de video codificada y para descodificar una secuencia de video codificada al usar prediccion de valor residual de capa intermedia.
EP05784915A EP1800488A1 (de) 2004-10-15 2005-09-21 Vorrichtung und verfahren zum erzeugen einer codierten videosequenz und zum decodieren einer codierten videosequenz unter verwendung einer zwischen-schicht-restwerte-praediktion
JP2007536022A JP5122288B2 (ja) 2004-10-15 2005-09-21 中間レイヤ残余値予測を用いて符号化されたビデオシーケンスを生成および符号化されたビデオシーケンスを復号化するための装置および方法
BRPI0516348A BRPI0516348B1 (pt) 2004-10-15 2005-09-21 equipamento e método para a geração de uma seqüência de vídeo codificado e para decodificação de uma seqüência de vídeo codificado usando uma predição de valor residual de camada intermediária
BR122018016188A BR122018016188B1 (pt) 2004-10-15 2005-09-21 equipamento e método para a geração de uma seqüência de vídeo codificado e para decodificação de uma seqüência de vídeo codificado usando uma predição de valor residual de camada intermediária

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US61945704P 2004-10-15 2004-10-15
US60/619,457 2004-10-15
DE102004059978.5 2004-12-13
DE102004059978A DE102004059978B4 (de) 2004-10-15 2004-12-13 Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz und zum Decodieren einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Restwerte-Prädiktion sowie ein Computerprogramm und ein computerlesbares Medium

Publications (1)

Publication Number Publication Date
WO2006042612A1 true WO2006042612A1 (de) 2006-04-27

Family

ID=35431439

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/010227 WO2006042612A1 (de) 2004-10-15 2005-09-21 Vorrichtung und verfahren zum erzeugen einer codierten videosequenz und zum decodieren einer codierten videosequenz unter verwendung einer zwischen-schicht-restwerte-praediktion

Country Status (3)

Country Link
EP (1) EP1800488A1 (de)
JP (1) JP5122288B2 (de)
WO (1) WO2006042612A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006075240A1 (en) * 2005-01-12 2006-07-20 Nokia Corporation Method and system for inter-layer prediction mode coding in scalable video coding
WO2006129184A1 (en) * 2005-06-03 2006-12-07 Nokia Corporation Residual prediction mode in scalable video coding
WO2008138546A2 (de) * 2007-05-16 2008-11-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Qualitätsskalierbares videosignal, verfahren zu dessen erzeugung, codierer und decodierer
US10764604B2 (en) 2011-09-22 2020-09-01 Sun Patent Trust Moving picture encoding method, moving picture encoding apparatus, moving picture decoding method, and moving picture decoding apparatus

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2524515B1 (de) 2010-01-11 2018-05-30 Telefonaktiebolaget LM Ericsson (publ) Verfahren zur videoqualitätsschätzung
RU2621621C2 (ru) * 2012-07-18 2017-06-06 Сони Корпорейшн Способ и устройство обработки изображения

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0753970A2 (de) * 1995-07-14 1997-01-15 Sharp Kabushiki Kaisha Hierarchischer Bildkodierer und -dekodierer
DE10121259A1 (de) * 2001-01-08 2002-07-18 Siemens Ag Optimale SNR-skalierbare Videocodierung
US20030165274A1 (en) * 1997-07-08 2003-09-04 Haskell Barin Geoffry Generalized scalability for video coder based on video objects

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL9200499A (nl) * 1992-03-17 1993-10-18 Nederland Ptt Systeem omvattende ten minste een encoder voor het coderen van een digitaal signaal en ten minste een decoder voor het decoderen van een gecodeerd digitaal signaal, alsmede encoder en decoder voor toepassing in het systeem.
JP3263807B2 (ja) * 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0753970A2 (de) * 1995-07-14 1997-01-15 Sharp Kabushiki Kaisha Hierarchischer Bildkodierer und -dekodierer
US20030165274A1 (en) * 1997-07-08 2003-09-04 Haskell Barin Geoffry Generalized scalability for video coder based on video objects
DE10121259A1 (de) * 2001-01-08 2002-07-18 Siemens Ag Optimale SNR-skalierbare Videocodierung

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
FENG WU ET AL: "DCT-prediction based progressive fine granularity scalable coding", IMAGE PROCESSING, 2000. PROCEEDINGS. 2000 INTERNATIONAL CONFERENCE ON SEPTEMBER 10-13, 2000, PISCATAWAY, NJ, USA,IEEE, vol. 3, 10 September 2000 (2000-09-10), pages 556 - 559, XP010529527, ISBN: 0-7803-6297-7 *
LILIENFIELD G ET AL: "Scalable high-definition video coding", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING. (ICIP). WASHINGTON, OCT. 23 - 26, 1995, LOS ALAMITOS, IEEE COMP. SOC. PRESS, US, vol. VOL. 3, 23 October 1995 (1995-10-23), pages 567 - 570, XP010197032, ISBN: 0-7803-3122-2 *
SANGEUN HAN ET AL: "Robust and efficient scalable video coding with leaky prediction", PROCEEDINGS 2002 INTERNATIONAL CONFERENCE ON IMAGE PROCESSING. ICIP 2002. ROCHESTER, NY, SEPT. 22 - 25, 2002, INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, NEW YORK, NY : IEEE, US, vol. VOL. 2 OF 3, 22 September 2002 (2002-09-22), pages 41 - 44, XP010607903, ISBN: 0-7803-7622-6 *
SCHWARZ H; MARPE D; WIEGAND T: "SVC Core Experiment 2.1: Inter-layer prediction of motion and residual data", INTERNATIONAL ORGANISATION FOR STANDARDISATION ISO/IEC JTC 1/SC 29/WG 11 CODING OF MOVING PICTURES AND AUDIO, no. M11043, 23 July 2004 (2004-07-23), Redmond, Washington US, pages 1 - 6, XP002360488 *
WOODS J W ET AL: "A RESOLUTION AND FRAME-RATE SCALABLE SUBBAND/WAVELET VIDEO CODER", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 11, no. 9, September 2001 (2001-09-01), pages 1035 - 1044, XP001082208, ISSN: 1051-8215 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006075240A1 (en) * 2005-01-12 2006-07-20 Nokia Corporation Method and system for inter-layer prediction mode coding in scalable video coding
WO2006129184A1 (en) * 2005-06-03 2006-12-07 Nokia Corporation Residual prediction mode in scalable video coding
WO2008138546A2 (de) * 2007-05-16 2008-11-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Qualitätsskalierbares videosignal, verfahren zu dessen erzeugung, codierer und decodierer
WO2008138546A3 (de) * 2007-05-16 2009-06-04 Fraunhofer Ges Forschung Qualitätsskalierbares videosignal, verfahren zu dessen erzeugung, codierer und decodierer
US10764604B2 (en) 2011-09-22 2020-09-01 Sun Patent Trust Moving picture encoding method, moving picture encoding apparatus, moving picture decoding method, and moving picture decoding apparatus

Also Published As

Publication number Publication date
JP2008517499A (ja) 2008-05-22
JP5122288B2 (ja) 2013-01-16
EP1800488A1 (de) 2007-06-27

Similar Documents

Publication Publication Date Title
DE102004059993B4 (de) Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Bewegungsdaten-Prädiktion sowie Computerprogramm und computerlesbares Medium
DE60031230T2 (de) Skalierbares videokodierungssystem und verfahren
DE60027955T2 (de) Verfahren und Vorrichtung zur kontextbasierten Inter/Intra Kodierungsmodeauswahl
DE69633129T2 (de) Waveletbaum-bildcoder mit überlappenden bildblöcken
CN1926876B (zh) 空间和时间可扩展编码的图像序列的编码和解码方法
WO2006056531A1 (de) Verfahren zur transcodierung sowie transcodiervorrichtung
DE60317670T2 (de) Verfahren und Vorrichtung zur 3D-Teilbandvideokodierung
DE69915843T2 (de) Teilbandkodierung/-dekodierung
WO2006042612A1 (de) Vorrichtung und verfahren zum erzeugen einer codierten videosequenz und zum decodieren einer codierten videosequenz unter verwendung einer zwischen-schicht-restwerte-praediktion
EP1800490A1 (de) Vorrichtung und verfahren zum erzeugen einer codierten videosequenz unter verwendung einer zwischen-schicht-bewegungsdaten-prädiktion
DE10022520A1 (de) Verfahren zur örtlichen skalierbaren Bewegtbildcodierung
EP1737240A2 (de) Verfahren zur skalierbaren Bildcodierung oder -decodierung
DE102004063902B4 (de) Computerprogramm mit einem Verfahren zum Verarbeiten einer Gruppe von Bildern und mit einem Verfahren zum Verarbeiten eines Basisbildes und eines oder mehrerer Erweiterungsbilder
DE102004011422B4 (de) Vorrichtung und Verfahren zum Verarbeiten einer Gruppe von Bildern und Vorrichtung und Verfahren zum Verarbeiten eines Basisbildes und eines oder mehrerer Erweiterungsbilder
DE102004011421B4 (de) Vorrichtung und Verfahren zum Erzeugen eines skalierten Datenstroms
DE10340407A1 (de) Vorrichtung und Verfahren zum Codieren einer Gruppe von aufeinanderfolgenden Bildern und Vorrichtung und Verfahren zum Decodieren eines codierten Bildsignals
DE10121259C2 (de) Optimale SNR-skalierbare Videocodierung
Sawada et al. Subband-based scalable coding schemes with motion-compensated prediction
Shahid et al. An adaptive scan of high frequency subbands for dyadic intra frame in MPEG4-AVC/H. 264 scalable video coding
EP1157557A1 (de) Verfahren und anordnung zur transformation eines bildbereichs
GANGULY et al. FAST MODE DECISION ALGORITHM FOR INTRA ONLY SCALABLE VIDEO CODING USING COMBINED SUBBAND/DCT CODING
WO2008006806A2 (de) Skalierbare videokodierung
DE10243568A1 (de) Verfahren zur skalierbaren Videocodierung eines Videobildsignals sowie ein zugehöriger Codec

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005784915

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1265/KOLNP/2007

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: MX/a/2007/004408

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 2007536022

Country of ref document: JP

Ref document number: 200580035281.3

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2005784915

Country of ref document: EP

ENP Entry into the national phase

Ref document number: PI0516348

Country of ref document: BR