WO2001049038A1 - Method, device and computer programme generation for prediction in encoding an image divided into image blocks - Google Patents

Method, device and computer programme generation for prediction in encoding an image divided into image blocks Download PDF

Info

Publication number
WO2001049038A1
WO2001049038A1 PCT/DE2000/004095 DE0004095W WO0149038A1 WO 2001049038 A1 WO2001049038 A1 WO 2001049038A1 DE 0004095 W DE0004095 W DE 0004095W WO 0149038 A1 WO0149038 A1 WO 0149038A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
block
prediction
image block
blocks
Prior art date
Application number
PCT/DE2000/004095
Other languages
German (de)
French (fr)
Inventor
Ralf Buschmann
Original Assignee
Siemens Aktiengesellschaft
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
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2001049038A1 publication Critical patent/WO2001049038A1/en

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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
    • 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

Definitions

  • the invention relates to a method, an arrangement and a computer program product for predicting the coding of an image divided into m image blocks.
  • a method for image compression with the associated arrangement is known from [1].
  • the known method serves as a coding method in the MPEG standard and is essentially based on the hybrid DCT (Discrete Cosine Transformation) with motion compensation.
  • DCT Discrete Cosine Transformation
  • the procedure is for video telephones with nx 64kb ⁇ t / s (CCITT recommendation H.261, H.263), for TV contribution (CCIR recommendation 723) with 34 or 45Mb ⁇ t / s and for multimedia applications with 1.2Mb ⁇ t / s (ISO-MPEG-1) is used.
  • the hybrid DCT consists of a temporal processing stage that takes advantage of the relationship between successive images and a local processing stage that uses the local correlation within an image.
  • Intra-frame coding essentially corresponds to classic DCT coding.
  • the image is broken down into m blocks of 8x8 pixels, each of which is transformed using DCT m the frequency range.
  • the result is a matrix of 8x8 coefficients, which approximately reflect the two-dimensional spatial frequencies in the transformed image block.
  • a coefficient with frequency 0 (DC component) represents an average gray value of the image block.
  • the coefficients are spectrally weighted, so that the amplitude accuracy of the high-frequency coefficients is reduced.
  • the properties of the human eye are used, which dissolve high spatial frequencies less accurately than low ones.
  • the data reduction takes the form of an adaptive one
  • Quantization by means of which the amplitude accuracy of the coefficients is further reduced or by which the small amplitudes are set to zero.
  • the degree of quantization depends on the fill level of the output buffer: when the buffer is empty, fine quantization takes place so that more data is generated, while when the buffer is full, it is coarser, which reduces the amount of data to be transferred.
  • variable-length coding VLC
  • EOB code End Of Block
  • the time differences are only small, even if the movements in the picture are small. If, on the other hand, the movements in the picture are large, large differences arise, which in turn are difficult to code. For this reason, the picture-to-picture movement is measured (movement estimation) and compensated before the difference is formed (movement compensation).
  • the motion information is transmitted with the image information, usually only one motion vector per macroblock (e.g. four 8x8 image blocks) is used.
  • the coder In the case of a motion-compensated hybrid or not the image signal itself is transformed, but the temporal difference signal after the motion compensation. For this reason, the coder also has a recursion time loop, because the predictor must
  • I-pictures No temporal prediction is used for the I-pictures, i.e. the picture values are directly transformed and encoded. I-pictures are used in order to be able to start the decoding process again without knowing the past, or to resynchronize
  • a temporal prediction is made on the basis of the P-pictures, the DCT is applied to the temporal prediction error.
  • the bidirectional prediction works basically adaptively, i.e. it will be one
  • a picture sequence is divided into so-called GOPs (Group Of Pictures), n pictures from one I picture to the next form a GOP.
  • GOPs Group Of Pictures
  • the distance between the P-pictures is denoted by, wherein there are m-1 B-pictures between the P-pictures.
  • [2] discloses a method for estimating motion in the context of a method for block-based image coding. It is assumed that a digitized image
  • an image block can also comprise several image blocks.
  • the image block for which a motion estimation is to be carried out is carried out in a temporally preceding image, starting from an image block which was located in the same relative position in the previous image
  • a value for an error measure is determined.
  • a sum is preferably determined via the magnitude of the differences between the coding information of the picture block and the previous picture block assigned to the picture elements.
  • Coding information here means brightness information (luminance value) and / or color information (chrominance value), each of which is assigned to a pixel. "In a search space of a predeterminable size and shape around the starting position in the previous image, a value of the error measure is determined for an area of the same size of the previous image block, shifted by one or half an image point.
  • Picture block is assumed that this previous picture block best matches the picture block of the picture to be encoded for which the motion estimation is to be performed.
  • the result of the movement estimation is a
  • Motion vector with which the displacement between the image block m the image to be encoded and the selected image block is described in the previous image.
  • Compression of the image data is achieved in that the motion vector and the error signal are encoded.
  • the motion estimation is carried out for each image block of an image.
  • An ect-based image compression method is based on a decomposition of the image into objects with any
  • Boundary The individual objects are encoded separately in different "Video Object Plans", transmitted and reassembled in a receiver (decoder). As described above, in conventional coding methods, the entire picture is divided into m square picture blocks. This principle is also adopted in object-based methods, in that the object to be coded is divided into m square blocks and a movement estimation with movement compensation is carried out separately for each block. The coding of edge blocks is problematic since the edge of the object generally does not match the block edges.
  • block matchmg method is used for block-based image compression methods. It is based on the fact that the picture block to be coded is compared with picture blocks of the same size of a reference picture. One of the reference picture blocks is in the same position as the picture block to be coded, the others
  • Reference image blocks are shifted in relation to this.
  • a large search area in the horizontal and vertical directions, there are numerous search positions, so that a correspondingly large number of block comparisons must be carried out when the search is complete.
  • a sum is generally used the absolute differences of the individual pixels.
  • Such a search procedure is also often associated with so-called rate boundary conditions according to [2] in order to make the motion vectors robust against incorrect estimates. This improves the picture quality.
  • the quality of the prediction determines the data rate for the transmission of the image and thus the image quality at the receiver (decoder).
  • the blocks within a block cell are usually processed from left to right and within an image from top to bottom and transmitted to the decoder. This processing creates a local neighborhood for an image block currently to be transmitted, which at best consists of three picture blocks adjacent above and a left picture block already transmitted.
  • the object of the invention is to carry out a prediction which delivers significantly improved results with regard to data rate and performance and thus enables either a lower data rate for the same image quality or a higher image quality for the same data rate. This object is achieved according to the features of the independent claims.
  • a method for predicting the coding of an image subdivided into image blocks is specified, in which at least one image block in the neighborhood is used for prediction for a current image block, the at least one image block in the neighborhood being determined by a m the image block following the display order.
  • the image data transmission that is to say the transmission of the digital image divided into m image blocks, preferably takes place from an encoder to the decoder.
  • the image data are transmitted as a data stream, the data stream being unpacked and, in particular, displayed on the decoder side.
  • Image compression with prediction is expediently carried out on the encoder.
  • the order of representation relates in particular to the order of the decoder, i.e. image blocks shown on the receiver after decoding.
  • Error correction compensates for errors associated with prediction (differences between image blocks).
  • the prediction is an intra-prediction.
  • Coding the image blocks of an image results in a display order from left to right (per line) to the picture is processed.
  • a prediction of a current image block (or a part thereof) based on an image block on the right-hand side fulfills the above-mentioned condition.
  • prediction is a motion-compensated prediction (inter-coding, movement estimation).
  • Image blocks in particular, are predicted using a previous image (and the image blocks contained therein) (motion estimation, explanations see above).
  • the current block is preferably buffered and the subsequent block is first coded.
  • the coding of the current image block is now carried out on the basis of the image block which has just been transmitted but which follows the display sequence.
  • a motion vector for the current image block is determined as part of the motion estimation.
  • the motion vector is based on the
  • Motion vectors of the blocks m of the local neighborhood are predicted, so that the smallest possible difference to the motion vectors from the neighborhood manifests itself in a low data transmission rate.
  • a large difference in the motion vector would lead to the fact that a corresponding amount of data had to be transmitted and thus the required data rate increased or the image quality decreased accordingly.
  • a further development consists in that in particular several picture blocks from the local neighborhood are used to predict the current picture block.
  • both image blocks following the display sequence for the current image block and previous image blocks can be used for the prediction of the current image block.
  • One embodiment consists in that the current image block is subdivided into m a first part and m a second part, different blocks of the local neighborhood including at least one of the m being used to predict the first and the second part
  • An example of an intra-prediction is that an edge divides the current image block m a left sub-block and m a right sub-block.
  • the edge in this case is a texture edge, i.e. the texture in the left sub-block can be better predicted from the predecessor block and the texture in the right sub-block can be better predicted from the successor block.
  • the edge is expediently an edge of a moving object. It is particularly important that the image areas on the left and right in the block are caused by different shifts in the image signal in the previous block, i.e. they each have different displacement vectors.
  • the first part is a left part of the current image block and the second part is a right part of the current image block.
  • the order of presentation refers to the prediction of the left part of the current image block, particularly to the previous left image block, whereas the right part of the current image block, among others. is decoded using the right image block.
  • the subdivision of the current image block is determined analytically. If, for example, an edge is involved, it is advantageous to describe this edge functionally. An approximate description of the course of the edge, for example as a straight line, saves a significant data rate.
  • edge or the subdivision of the current image block can also be described using a specific syntax selected for the coding.
  • coding patterns By means of certain coding patterns, the course of object edges within the current image block can be determined.
  • Such coding has the advantage that it can be extremely memory efficient.
  • Another embodiment consists in that a decoding of an image divided into m image blocks, which has been encoded according to the above method, is carried out, the current image block being predicted on the basis of at least one image block lying in the neighborhood.
  • the decoder can expediently be expanded to include a semantics of the coding by dividing the currently received image data block.
  • Such coding can be coupled with corresponding information for restoring the left sub-block and the right sub-block of the current image block. If different environments (contexts, expertise) are taken into account for the right or left sub-block, this can be communicated to the decoder by suitable coding on the side of the encoder.
  • Such coding as is customary in communication protocols, can be carried out by different masking of code words.
  • an arrangement for predicting the coding of an image divided into m image blocks in which a processor unit is provided which is set up in such a way that at least one image block in the neighborhood m is used for the prediction for a current image block, whereby the at least one of the
  • Neighboring image block is determined by an image block following in the display order.
  • a computer program product for predicting the coding of an image subdivided into image blocks is specified for solving the task
  • Execution of the following steps enables: for a current picture block, at least one picture block lying in the neighborhood is used for prediction, wherein the at least one picture block lying in the neighborhood can be determined by a picture block following the sequence of representation.
  • the arrangement and the computer program product are particularly suitable for carrying out the method according to the invention or one of its developments explained above.
  • Fig.l is a sketch showing a Cod ⁇ réelles- / representation order of picture blocks
  • FIG. 3 shows a sketch with an image encoder and an image decoder
  • Fig.l shows a sketch that illustrates a coding or presentation order of image blocks.
  • Fig.l two lines 111 and 112 are shown with image blocks 101 to 106.
  • Different block modes I to V for block 105 will be described below.
  • an edge 113 optionally runs through the image blocks 102 and 105, left partial blocks 107 and 109 and right partial blocks 108 and 110 being formed in each case.
  • block modes (combination modes):
  • Intra-prediction is understood to mean that a prediction is made only from the currently decoded image signal, ie the local environment of the current image is taken into account in the prediction. Inter-Praditation however, the (temporal) previous image signal (image) is also taken into account.
  • the image block 105 is not divided into two parts by an edge m, it is predicted from surrounding blocks (of the current image), in particular on the basis of the subsequent block 106.
  • the prediction takes place particularly in the signal range or in the DCT range.
  • the image block 105 is divided by the edge 113 m, the left sub-block 109 and the right sub-block 110.
  • Sub-blocks 109 and 110 are predicted individually: for sub-block 109, a prediction results from blocks or sub-blocks 101, 107 and 104.
  • For sub-block 110 a prediction results from blocks or sub-blocks 106, 108 and 103.
  • the edge describes a texture edge, for example a transition between the colors black and white.
  • An inter-prediction (without edge) is to be carried out for the image block 105.
  • a movement estimate is made for block 105, the resulting displacement vector (displacement vector) is determined on the basis of displacement vectors of the surrounding blocks 101, 102, 103, 104 and 106. If necessary, the residual error image is encoded. This results in a saving in terms of a bit rate necessary for the shift vector.
  • an inter-prediction is now made taking into account edge 113.
  • the edge is preferably an object edge of a moving one Object, ie the sub-blocks 109 and 110 have different displacements.
  • ⁇ the displacement vector for sub-block 109 from the image blocks or sub-blocks 101, 107 and 104 and ⁇ the displacement vector for sub-block 110 from the image blocks or sub-blocks 108, 103 and 106 are determined and encoded.
  • the displacement vector for sub-block 109 can be set equal to the displacement vector for block 104 and, accordingly, the displacement vector for sub-block 110 can be set equal to the displacement vector for block 106.
  • block mode II can be used for sub-block 109 and block mode III for sub-block 110.
  • FIG. 2 shows a sketch with a case distinction and the possibilities for combining the block modes explained in FIG.
  • step 201 a decision is made as to whether an edge (113 in FIG. 1) is present. If this is not the case, a branch is made to point 202 and a decision is made as to whether an inter-prediction 203 or an intra-prediction 204 should be carried out.
  • the edge 113 divides the image block into m a left sub-block 205 (see reference number 109 m FIG. 1) and m a right sub-block 206 (see reference number 110 m FIG. 1). Now the left sub-block 205 and the right sub-block 206 can either be m-predicted or m-predicted (cf. blocks 207 to 210).
  • FIG. 3 shows a sketch of an arrangement for carrying out a block-based image coding method.
  • a video data stream to be encoded with temporally successive digitized images is fed to an image coding unit 1201.
  • the digitized images are divided into macro blocks 1202, each macro block having 16x16 pixels.
  • the macro block 1202 comprises four picture blocks 1203, 1204, 1205 and 1206, each picture block containing 8x8 picture elements to which luminance values (brightness values) are assigned.
  • each macro block 1202 comprises two chrominance blocks 1207 and 1208 with the chrominance values assigned to the pixels (color information, color saturation).
  • the block of an image contains a luminance value
  • luminance value, first chrominance value and second chrominance value are referred to as color values.
  • the image blocks are fed to a transformation coding unit 1209.
  • a transformation coding unit 1209 In the case of differential image coding, values to be coded from image blocks of temporally preceding images are subtracted from the image blocks currently to be coded; only the difference formation information 1210 of the transformation coding unit (Discrete Cosine Transformation, DCT) 1209 is supplied. This is done via a Connection 1234 the current macroblock 1202 a motion estimation unit 1229 communicated.
  • spectral coefficients 1211 are formed for the picture blocks or difference picture blocks to be coded and fed to a quantization unit 1212.
  • Quantized spectral coefficients 1213 are fed to both a scan unit 1214 and an inverse quantization unit 1215 on a backward path.
  • entropy coding is carried out on the scanned spectral coefficient 1232 in an entropy coding unit 1216 provided for this purpose.
  • the entropy-coded spectral coefficients are transmitted as coded image data 1217 via a channel, preferably a line or a radio link, to a decoder.
  • inverse quantization unit 1215 there is an inverse quantization of the quantized spectral coefficients 1213.
  • Spectral coefficients 1218 obtained in this way are supplied to an inverse transformation coding unit 1219 (inverse discrete cosine transformation, IDCT).
  • Reconstructed coding values (also differential coding values) 1220 are supplied to an adder 1221 in the differential image mode.
  • the adder 1221 also receives coding values of an image block, which result from a temporally previous image after motion compensation has already been carried out.
  • Reconstructed image blocks 1222 are formed with the adder 1221 and stored in an image memory 1223.
  • Chrominance values 1224 of the reconstructed image blocks 1222 are supplied from the image memory 1223 to a motion compensation unit 1225.
  • a motion compensation unit 1225 For holiness values 1226 there is an interpolation m of an interpolation unit 1227 provided for this purpose. The interpolation is used to determine the number m of the respective image block contained brightness values preferably doubled. All brightness values 1228 are supplied to both the movement compensation unit 1225 and the movement estimation unit 1229.
  • the Movement Estimation Unit 1229 also receives the
  • Motion estimation taking into account the interpolated brightness values ("motion estimation on a half-pixel basis").
  • motion estimation on a half-pixel basis absolute differences of the individual brightness values are preferably determined in the macro block 1202 currently to be coded and the reconstructed macro block from the previous image.
  • the result of the motion estimation is a motion vector 1230, by means of which a local displacement of the selected macroblock from the temporally previous image to the macroblock 1202 to be coded is expressed.
  • Both brightness information and chrominance information relating to the macroblock determined by the motion estimation unit 1229 are shifted by the motion vector 1230 and subtracted from the coding values of the macroblock 1202 (see data path 1231).
  • the processor unit PRZE comprises a processor CPU, a memory MEM and an input / output interface IOS, which is used in different ways via an interface IFC: an output becomes visible on a monitor MON and / or on a printer via a graphics interface PRT issued. An entry is made using a mouse MAS or a keyboard TAST.
  • the processor unit PRZE also has a data bus BUS, which connects the memory MEM, the processor CPU and the input / output interface IOS guaranteed.
  • additional components can be connected to the data bus BUS, for example additional memory, data storage (hard disk) or scanner.

Abstract

A method for prediction in encoding an image, divided into image blocks, is disclosed, in which at least one image block, in the vicinity of a current image block, is used for prediction, whereby the at least one image block in the vicinity is fixed by a subsequent image block, which follows in the display sequence.

Description

Beschreibungdescription
Verfahren, Anordnung und Computerprogrammerzeugnis zur Pradiktion bei der Codierung eines in Bildblocke unterteilten BildesMethod, arrangement and computer program product for predicting the coding of an image divided into image blocks
Die Erfindung betrifft ein Verfahren, eine Anordnung und ein Computerprogrammerzeugnis zur Pradiktion bei der Codierung eines m Bildblocke unterteilten Bildes.The invention relates to a method, an arrangement and a computer program product for predicting the coding of an image divided into m image blocks.
Ein Verfahren zur Bildkomprimierung mit dazugehöriger Anordnung ist bekannt aus [1] . Das bekannte Verfahren dient im MPEG-Standard als Codierverfahren und basiert im wesentlichen auf der hybriden DCT (Diskreten Cosinus Transformation) mit Bewegungskompensation. Ein ahnlichesA method for image compression with the associated arrangement is known from [1]. The known method serves as a coding method in the MPEG standard and is essentially based on the hybrid DCT (Discrete Cosine Transformation) with motion compensation. A similar
Verfahren wird für die Bildtelefome mit n x 64kbιt/s (CCITT- Empfehlung H.261, H.263), für die TV-Kontribution (CCIR- Empfehlung 723) mit 34 bzw. 45Mbιt/s und für Multimedia- Applikationen mit l,2Mbιt/s (ISO-MPEG-1) verwendet. Die hybride DCT besteht aus einer zeitlichen Verarbeitungsstufe, die die Verwandtschaftsbeziehungen aufeinanderfolgender Bilder ausnutzt, und einer ortlichen Verarbeitungsstufe, die die örtliche Korrelation innerhalb eines Bildes ausnutzt.The procedure is for video telephones with nx 64kbιt / s (CCITT recommendation H.261, H.263), for TV contribution (CCIR recommendation 723) with 34 or 45Mbιt / s and for multimedia applications with 1.2Mbιt / s (ISO-MPEG-1) is used. The hybrid DCT consists of a temporal processing stage that takes advantage of the relationship between successive images and a local processing stage that uses the local correlation within an image.
Die ortliche Verarbeitung ( Intraframe-Codierung) entspricht im wesentlichen der klassischen DCT-Codierung . Das Bild wird m Blocke von 8x8 Bildpunkten zerlegt, die jeweils mittels DCT m den Frequenzbereich transformiert werden. Das Ergebnis ist eine Matrix von 8x8 Koeffizienten, die naherungsweise die zweidimensionalen Ortsfrequenzen im transformierten Bildblock widerspiegeln. Ein Koeffizient mit Frequenz 0 (Gleichanteil ) stellt einen mittleren Grauwert des Bildblocks dar.Local processing (intra-frame coding) essentially corresponds to classic DCT coding. The image is broken down into m blocks of 8x8 pixels, each of which is transformed using DCT m the frequency range. The result is a matrix of 8x8 coefficients, which approximately reflect the two-dimensional spatial frequencies in the transformed image block. A coefficient with frequency 0 (DC component) represents an average gray value of the image block.
Nach der Transformation findet eine Datenexpansion statt. Allerdings wird m natürlichen Bildvorlagen eineAfter the transformation, data expansion takes place. However, natural image templates become one
Konzentration der Energie um den Gleichanteil (DC-Wert) stattfinden, wahrend die hochstfrequenten Koeffizienten meist nahezu Null sind.Concentration of energy around the DC component (DC value) take place while the high-frequency coefficients are usually almost zero.
In einem nächsten Schritt erfolgt eine spektrale Gewichtung der Koeffizienten, so daß die Amplitudengenauigkeit der hochfrequenten Koeffizienten verringert wird. Hierbei nutzt man die Eigenschaften des menschlichen Auges aus, das hohe Ortsfrequenzen weniger genau auflost als niedrige.In a next step, the coefficients are spectrally weighted, so that the amplitude accuracy of the high-frequency coefficients is reduced. Here, the properties of the human eye are used, which dissolve high spatial frequencies less accurately than low ones.
Die Datenreduktion erfolgt in Form einer adaptivenThe data reduction takes the form of an adaptive one
Quantisierung, durch die die Amplitudengenauigkeit der Koeffizienten weiter verringert wird bzw. durch die die kleinen Amplituden zu Null gesetzt werden. Das Maß der Quantisierung hangt dabei vom Füllstand des Ausgangspuffers ab: Bei leerem Puffer erfolgt eine feine Quantisierung, so daß mehr Daten erzeugt werden, wahrend bei vollem Puffer grober quantisiert wird, wodurch sich die zu übertragende Datenmenge reduziert.Quantization, by means of which the amplitude accuracy of the coefficients is further reduced or by which the small amplitudes are set to zero. The degree of quantization depends on the fill level of the output buffer: when the buffer is empty, fine quantization takes place so that more data is generated, while when the buffer is full, it is coarser, which reduces the amount of data to be transferred.
Nach der Quantisierung wird der Block diagonal abgetastet ( "zιgzag"-Scannmg) , anschließend erfolgt eine Entropiecodierung, die eine weitere Datenreduktion bewirkt. Hierfür werden zwei Effekte ausgenutzt:After the quantization, the block is scanned diagonally ("zιgzag" scanning), followed by entropy coding, which brings about a further reduction in data. Two effects are used for this:
1.) Die Statistik der Amplitudenwerte (hohe Amplitudenwerte treten seltener auf als kleine, so daß den seltenen Ereignissen lange und den häufigen Ereignissen kurze Codeworter zugeordnet werden (Variable-Length-Codierung, VLC) . Auf diese Weise ergibt sich im Mittel eine geringere Datenrate als bei einer Codierung mit fester Wortlange. Die variable Rate der VLC wird anschließend im Pufferspeicher geglättet.1.) The statistics of the amplitude values (high amplitude values occur less frequently than small ones), so that long codewords are assigned to the rare events and short codewords to the frequent events (variable-length coding, VLC). This results in a lower data rate on average than with a fixed word length coding. The variable rate of the VLC is then smoothed in the buffer memory.
2.) Man nutzt die Tatsache aus, daß von einem bestimmten Wert an m den meisten Fallen nur noch Nullen folgen.2.) Take advantage of the fact that most cases are followed by zeros from a certain value on m.
Statt aller dieser Nullen übertragt man lediglich einen EOB-Code (End Of Block) , was zu einem signifikanten Codiergewinn bei der Kompression der Bilddaten fuhrt. Statt der Ausgangsrate von bspw. 512bιt sind dann nur 46bιt für diesen Block zu übertragen, was einem Kompressionsfaktor von über 11 entspricht.Instead of all of these zeros, only an EOB code (End Of Block) is transmitted, which results in a significant one Coding gain in the compression of the image data leads. Instead of the output rate of, for example, 512bιt, only 46bιt are then to be transmitted for this block, which corresponds to a compression factor of over 11.
Einen weiteren Kompressionsgewinn erhalt man durch die zeitliche Pradiktion ( Interframe-Codierung) . Zur Codierung von Differenzbildern wird weniger Datenrate benotigt als für die Origmalbilder, denn die Amplitudenwerte sind weitaus geringer.Another compression gain is obtained by the temporal prediction (interframe coding). A lower data rate is required for coding differential images than for the original images, because the amplitude values are much lower.
Allerdings sind die zeitlichen Differenzen nur klein, wenn auch die Bewegungen im Bild gering sind. Sind hingegen die Bewegungen im Bild groß, so entstehen große Differenzen, die wiederum schwer zu codieren sind. Aus diesem Grund wird die Bild-zu-Bild-Bewegung gemessen (Bewegungsschatzung) und vor der Differenzbildung kompensiert (Bewegungskompensation) . Dabei wird die Bewegungsinformation mit der Bildmformation übertragen, wobei üblicherweise nur ein Bewegungsvektor pro Makroblock (z.B. vier 8x8-Bιldblocke) verwendet wird.However, the time differences are only small, even if the movements in the picture are small. If, on the other hand, the movements in the picture are large, large differences arise, which in turn are difficult to code. For this reason, the picture-to-picture movement is measured (movement estimation) and compensated before the difference is formed (movement compensation). The motion information is transmitted with the image information, usually only one motion vector per macroblock (e.g. four 8x8 image blocks) is used.
Noch kleinere Amplitudenwerte der Differenzbilder werden erhalten, wenn statt der verwendeten Pradiktion eine bewegungskompensierte bidirektionale Pradiktion benutzt wird.Even smaller amplitude values of the difference images are obtained if a motion-compensated bidirectional prediction is used instead of the prediction used.
Bei einem bewegungskompensierten Hybrideoder wird nicht das Bildsignal selbst transformiert, sondern das zeitliche Differenzsignal nach der Bewegungskompensation. Aus diesem Grund verfugt der Coder auch über eine zeitliche Rekursionsschleife, denn der Pradiktor muß denIn the case of a motion-compensated hybrid or not the image signal itself is transformed, but the temporal difference signal after the motion compensation. For this reason, the coder also has a recursion time loop, because the predictor must
Pradiktionswert aus den Werten der bereits übertragenen (codierten) Bilder berechnen. Eine identische zeitliche Rekursionsschleife befindet sich im Decoder, so daß Coder und Decoder völlig synchronisiert sind. Im MPEG-2-Codιerverfcιhren gibt es hauptsächlich drei verschiedene Methoden, mit denen Bilder verarbeitet werden können:Calculate prediction value from the values of the already transmitted (coded) images. An identical time recursion loop is in the decoder, so that the encoder and decoder are completely synchronized. There are three main methods in which MPEG-2 code processing can be used to process images:
I-Bilder: Bei den I-Bildern wird keine zeitliche Pradiktion verwendet, d.h., die Bildwerte werden direkt transformiert und codiert. I-Bilder werden verwendet, um den Decodiervorgang ohne Kenntnis der zeitlichen Vergangenheit neu beginnen zu können, bzw. um eine Resynchromsation beiI-pictures: No temporal prediction is used for the I-pictures, i.e. the picture values are directly transformed and encoded. I-pictures are used in order to be able to start the decoding process again without knowing the past, or to resynchronize
Ubertragungsfehlern zu erreichen.To achieve transmission errors.
P-Bilder: Anhand der P-Bilder wird eine zeitliche Pradiktion vorgenommen, die DCT wird auf den zeitlichen Pradiktionsfehler angewandt.P-pictures: A temporal prediction is made on the basis of the P-pictures, the DCT is applied to the temporal prediction error.
B-Bilder: Bei den B-Bildern wird der zeitliche bidirektionale Pradiktionsfehler berechnet und anschließend transformiert. Die bidirektionale Pradiktion arbeitet grundsätzlich adaptiv, d.h. es wird eineB-pictures: With the B-pictures, the temporal bidirectional prediction error is calculated and then transformed. The bidirectional prediction works basically adaptively, i.e. it will be one
Vorwartspradiktion, eine Ruckwartspradiktion oder eine Interpolation zugelassen.Forward prediction, backward prediction or interpolation permitted.
Ein Bildsequenz wird bei der MPEG-2-Codιerung m sog. GOPs (Group Of Pictures) eingeteilt, n Bilder von einem I-Bild zum nächsten bilden eine GOP. Der Abstand zwischen den P-Bildern wird mit bezeichnet, wobei sich jeweils m-1 B-Bilder zwischen den P-Bildern befinden. Die MPEG-Syntax überlaßt es jedoch dem Anwender, wie m und n gewählt werden. m=l bedeutet, daß keine B-Bilder verwendet werden, und n=l bedeutet, daß nur I-Bilder codiert werden.In MPEG-2 coding, a picture sequence is divided into so-called GOPs (Group Of Pictures), n pictures from one I picture to the next form a GOP. The distance between the P-pictures is denoted by, wherein there are m-1 B-pictures between the P-pictures. The MPEG syntax, however, leaves it up to the user to choose m and n. m = 1 means that no B-pictures are used, and n = 1 means that only I-pictures are encoded.
Aus [2] ist ein Verfahren zur Bewegungsschatzung im Rahmen eines Verfahrens zur blockbasierten Bildcodierung bekannt. Dabei wird vorausgesetzt, daß ein digitalisiertes Bild[2] discloses a method for estimating motion in the context of a method for block-based image coding. It is assumed that a digitized image
Bildpunkte aufweist, die m Bildblocken von insbesondere 8x8 Bildpunkten oder 16x16 Bildpunkten zusammengefaßt sind. Gegebenenfalls kann ein Bildblock auch mehrere Bildblocke umfassen.Has pixels which are combined in blocks of 8x8 pixels or 16x16 pixels. If necessary, an image block can also comprise several image blocks.
Bei einer Folge von Bildern wird für ein zu codierendes Bild unter Berücksichtigung der Bildblocke dieses Bildes wie folgt verfahren:In the case of a sequence of images, the following is done for an image to be encoded, taking into account the image blocks of this image:
■ Es wird für den Bildblock, für den eine Bewegungsschatzung durchgeführt werden soll, in einem zeitlich vorhergehenden Bild, ausgehend von einem Bildblock, der sich m der gleichen relativen Position m dem vorhergehenden Bild befandThe image block for which a motion estimation is to be carried out is carried out in a temporally preceding image, starting from an image block which was located in the same relative position in the previous image
(= vorangegangener Bildblock) , ein Wert für ein Fehlermaß bestimmt. Dazu wird bevorzugt eine Summe über die Betrage der Differenzen von den Bildpunkten zugeordneter Codierungsinformation des Bildblocks und des vorangegangenen Bildblocks bestimmt.(= previous image block), a value for an error measure is determined. For this purpose, a sum is preferably determined via the magnitude of the differences between the coding information of the picture block and the previous picture block assigned to the picture elements.
Unter Codierungsinformation ist hierbei eine Helligkeitsinformation (Lummanzwert ) und/oder eine Farbinformation (Chrominanzwert) zu verstehen, welche jeweils einem Bildpunkt zugeordnet ist. " In einem Suchraum vorgebbarer Große und Form um die Ausgangsposition m dem zeitlich vorhergehenden Bild wird jeweils für ein Gebiet derselben Große des vorangegangenen Bildblocks, verschoben um einen oder einen halben Bildpunkt, ein Wert des Fehlermaßes bestimmt.Coding information here means brightness information (luminance value) and / or color information (chrominance value), each of which is assigned to a pixel. "In a search space of a predeterminable size and shape around the starting position in the previous image, a value of the error measure is determined for an area of the same size of the previous image block, shifted by one or half an image point.
In einem Suchraum der Große nxn-Bildpunkte ergeben result in a search space of the Great n × n pixels
2 sich n (Fehler-) Werte . Es wird derjenige verschobene vorangegangene Bildblock m dem zeitlich vorhergehenden Bild ermittelt, für den das Fehlermaß einen minimalen Fehlerwert ergibt. Für diesen2 there are n (error) values. The shifted previous image block in the temporally preceding image is determined for which the error measure gives a minimum error value. For this
Bildblock wird angenommen, daß dieser vorangegangene Bildblock mit dem Bildblock des zu codierenden Bildes, für den die Bewegungsschatzung durchgeführt werden soll, am besten übereinstimmt. Das Ergebnis der Bewegungsschatzung ist einPicture block is assumed that this previous picture block best matches the picture block of the picture to be encoded for which the motion estimation is to be performed. The result of the movement estimation is a
Bewegungsvektor, mit dem die Verschiebung zwischen dem Bildblock m dem zu codierenden Bild und dem ausgewählten Bildblock m dem zeitlich vorhergehenden Bild beschrieben wird.Motion vector with which the displacement between the image block m the image to be encoded and the selected image block is described in the previous image.
■ Eine Kompression der Bilddaten wird dadurch erreicht, daß der Bewegungsvektor und das Fehlersignal codiert werden.Compression of the image data is achieved in that the motion vector and the error signal are encoded.
■ Insbesondere wird die Bewegungsschatzung für jeden Bildblock eines Bildes durchgeführt.■ In particular, the motion estimation is carried out for each image block of an image.
Ein ob ektbasiertes Bildkompressionsverfahren basiert auf einer Zerlegung des Bildes m Objekte mit beliebigerAn ect-based image compression method is based on a decomposition of the image into objects with any
Berandung. Die einzelnen Objekte werden m verschiedenen "Video Object Plans" getrennt voneinander codiert, übertragen und m einem Empfanger (Decoder) wieder zusammengesetzt. Wie oben beschrieben, wird bei herkömmlichen Codierverfahren das gesamte Bild m quadratische Bildblocke unterteilt. Dieses Prinzip wird auch bei objektbasierten Verfahren übernommen, indem das zu codierende Objekt m quadratische Blocke unterteilt und für jeden Block separat eine Bewegungsschatzung mit einer Bewegungskompensation durchgeführt wird. Problematisch ist dabei die Codierung von Randblocken, da m der Regel der Rand des Objektes nicht mit den Blockrandern übereinstimmt.Boundary. The individual objects are encoded separately in different "Video Object Plans", transmitted and reassembled in a receiver (decoder). As described above, in conventional coding methods, the entire picture is divided into m square picture blocks. This principle is also adopted in object-based methods, in that the object to be coded is divided into m square blocks and a movement estimation with movement compensation is carried out separately for each block. The coding of edge blocks is problematic since the edge of the object generally does not match the block edges.
Für die Bewegungsschatzung gibt es unterschiedliche Suchstrategien. Für blockbasierte Bildkompressionsverfahren wird ein sogenanntes "Block-Matchmg-Verfahren" eingesetzt. Es beruht darauf, daß der zu codierende Bildblock mit gleich großen Bildblocken eines Referenzbildes verglichen wird. Einer der Referenzbildblocke befindet sich auf der gleichen Position wie der zu codierende Bildblock, die anderenThere are different search strategies for the movement estimation. A so-called "block matchmg method" is used for block-based image compression methods. It is based on the fact that the picture block to be coded is compared with picture blocks of the same size of a reference picture. One of the reference picture blocks is in the same position as the picture block to be coded, the others
Referenzbildblocke sind gegenüber diesem örtlich verschoben. Bei einem großen Suchbereich m horizontaler und vertikaler Richtung ergeben sich zahlreiche Suchpositionen, so daß bei vollständiger Suche eine entsprechend große Anzahl von Blockvergleichen durchgeführt werden muß. Als ein Kriterium für eine Gute der Übereinstimmung zwischen dem zu codierenden Block und dem Referenzblock wird im allgemeinen eine Summe der absoluten Differenzen der einzelnen Bildpunkte verwendet. Solch ein Suchverfahren wird auch gerne mit sogenannten Ratenrandbedingungen gemäß [2] verknüpft, um die Bewegungsvektoren robust gegen ber Fehlschatzungen zu machen. Dadurch verbessert sich die Bildqualitat.Reference image blocks are shifted in relation to this. With a large search area in the horizontal and vertical directions, there are numerous search positions, so that a correspondingly large number of block comparisons must be carried out when the search is complete. As a criterion for a good match between the block to be encoded and the reference block, a sum is generally used the absolute differences of the individual pixels. Such a search procedure is also often associated with so-called rate boundary conditions according to [2] in order to make the motion vectors robust against incorrect estimates. This improves the picture quality.
Somit ergibt sich bei allen bisher standardisierten Videocodierverfahren H.261, H.263, MPEG-1, MPEG-2 und MPEG-4 eine zeitliche PradiKtion des aktuell zu codierenden Bildes mit Hilfe von Displacement-Informationen blockweiseWith all previously standardized video coding methods H.261, H.263, MPEG-1, MPEG-2 and MPEG-4, this results in a temporal prediction of the image to be currently coded in blocks with the aid of displacement information
(Blockgroße 16x16 oder 8x8 Bildpunkte) aus dem zeitlich vorangegangenen Bild (Displacement = Bewegungsschatzung; Displacementvektor = Bewegungsvektor) .(Block size 16x16 or 8x8 pixels) from the previous image (displacement = movement estimate; displacement vector = movement vector).
Die Qualltat der Pradiktion bestimmt die Datenrate für die Übertragung des Bildes und somit die Bildqualitat beim Empfanger (Decoder) . Üblicherweise werden die Blocke innerhalb einer Blockzelle von links nach rechts und innerhalb eines Bildes von oben nach unten abgearbeitet und zum Decoder übertragen. Durch dieses Abarbeiten entsteht f r einen aktuell zu übertragenden Bildblock eine lokale Nachbarschaft, die bestenfalls aus drei oben angrenzenden Bildblocken und einem linken bereits übertragenen Bildblock besteht .The quality of the prediction determines the data rate for the transmission of the image and thus the image quality at the receiver (decoder). The blocks within a block cell are usually processed from left to right and within an image from top to bottom and transmitted to the decoder. This processing creates a local neighborhood for an image block currently to be transmitted, which at best consists of three picture blocks adjacent above and a left picture block already transmitted.
Hierbei ist es von Nachteil, daß durch die beschriebene Nachbarschaft lediglich eine unzureichende Information für den aktuellen Bildblock berücksichtigt wird. Hieraus ergeben sich große Fehler, die entsprechend korrigiert werden müssen, was sich m hoher Datenrate bzw. verminderter Bildqualitat äußert .It is disadvantageous here that only insufficient information is taken into account for the current image block due to the neighborhood described. This results in large errors, which must be corrected accordingly, which manifests itself in the high data rate or reduced image quality.
Die Aufgabe der Erfindung besteht darin, eine Pradiktion durchzufuhren, die im Hinblick auf Datenrate und Performanz deutlich verbesserte Ergebnisse liefert und somit entweder eine niedrigere Datenrate für die gleiche Bildqualitat oder bei gleicher Datenrate eine höhere Bildqualitat ermöglicht. Diese Aufgabe wird gemäß den Merkmalen der unabhängigen Patentansprüche gelost.The object of the invention is to carry out a prediction which delivers significantly improved results with regard to data rate and performance and thus enables either a lower data rate for the same image quality or a higher image quality for the same data rate. This object is achieved according to the features of the independent claims.
Zur Losung der Aufgabe wird ein Verfahren zur Pradiktion bei der Codierung eines in Bildblocke unterteilten Bildes angegeben, bei dem für einen aktuellen Bildblock mindestens ein m der Nachbarschaft liegender Bildblock zur Pradiktion herangezogen wird, wobei der mindestens eine m der Nachbarschaft liegende Bildblock bestimmt ist durch einen m der Darstellungsreihenfolge nachfolgenden Bildblock.To solve the problem, a method for predicting the coding of an image subdivided into image blocks is specified, in which at least one image block in the neighborhood is used for prediction for a current image block, the at least one image block in the neighborhood being determined by a m the image block following the display order.
Vorzugsweise erfolgt die Bilddatenubertragung, also die Übertragung des m Bildblocke unterteilten digitalen Bildes, von einem Encoder zu dem Decoder. Dabei werden die Bilddaten als ein Datenstrom übermittelt, wobei auf der Seite des Decoders der Datenstrom entpackt und insbesondere dargestellt wird. Bildkompression mit Pradiktion erfolgt zweckmäßig auf dem Encoder.The image data transmission, that is to say the transmission of the digital image divided into m image blocks, preferably takes place from an encoder to the decoder. The image data are transmitted as a data stream, the data stream being unpacked and, in particular, displayed on the decoder side. Image compression with prediction is expediently carried out on the encoder.
Die Darstellungsreihenfolge bezieht sich dabei insbesondere auf die Reihenfolge der auf dem Decoder, d.h. auf dem Empfanger nach der Decodierung, dargestellten Bildblocke.The order of representation relates in particular to the order of the decoder, i.e. image blocks shown on the receiver after decoding.
Hierbei sei angemerkt, daß die Pradiktion mit oder ohne anschließende Fehlerkorrektur erfolgen kann. Mit der Fehlerkorrektur ( Fehlerkompensation) werden mit der Pradiktion verbundene Fehler (Unterschiede zwischen Bildblocken) ausgeglichen.It should be noted here that the prediction can take place with or without subsequent error correction. Error correction (error compensation) compensates for errors associated with prediction (differences between image blocks).
Eine Weiterbildung besteht darin, daß die Pradiktion eine Intra-Pradiktion ist. Das bedeutet, daß die Pradiktion anhand einer kausalen Nachbarschaft (Intra-Pradiktion) durchgeführt wird, d.h. mittels m der Darstellungsreihenfolge nachfolgender Bildblocke. Bei der bspw. zellenweisenA further development is that the prediction is an intra-prediction. This means that the prediction is carried out based on a causal neighborhood (intra-prediction), i.e. by means of m the display sequence of subsequent image blocks. For example, cell by cell
Codierung der Bildblocke eines Bildes ergibt sich eine Darstellungsreihenfolge von links nach rechts (pro Zeile) bis das Bild abgearbeitet ist. Eine Pradiktion eines aktuellen Bildblocks (bzw. eines Teils davon) anhand eines (m demselben Bild) rechtsseitigen Bildblocks erfüllt die oben genannte Bedingung.Coding the image blocks of an image results in a display order from left to right (per line) to the picture is processed. A prediction of a current image block (or a part thereof) based on an image block on the right-hand side fulfills the above-mentioned condition.
Eine andere Weiterbildung besteht darin, daß die Pradiktion eine bewegungskompensierte Pradiktion ( Inter-Codierung, Bewegungsschatzung) ist. Dabei werden insbesondere Bildblocke anhand eines zeitlich vorangegangenen Bildes (und der darin enthaltenen Bildblocke) pradiziert (Bewegungsschatzung, Erläuterungen siehe oben) .Another development is that prediction is a motion-compensated prediction (inter-coding, movement estimation). Image blocks, in particular, are predicted using a previous image (and the image blocks contained therein) (motion estimation, explanations see above).
Somit ist es möglich, den aktuellen Bildblock im Kontext mindestens eines m der Darstellungsreihenfolge nachfolgenden Bildblockes zu codieren, das heißt insbesondere dieIt is thus possible to code the current image block in the context of at least one image block following the display sequence, in particular that
Pradiktion durchzufuhren. Vorzugsweise wird dazu der aktuelle Block zwischengespeichert und zunächst der nachfolgende Block codiert. Die Codierung des aktuellen Bildblockes erfolgt jetzt anhand des soeben übertragenen aber m der Darstellungsreihenfolge nachfolgenden Bildblocks.To carry out prediction. For this purpose, the current block is preferably buffered and the subsequent block is first coded. The coding of the current image block is now carried out on the basis of the image block which has just been transmitted but which follows the display sequence.
Bei der Berücksichtigung der Nachbarschaft bzw. des Kontextes für den aktuellen Bildblock wird im Rahmen der Bewegungsschatzung ein Bewegungsvektor f r den aktuellen Bildblock bestimmt. Der Bewegungsvektor wird anhand derWhen considering the neighborhood or the context for the current image block, a motion vector for the current image block is determined as part of the motion estimation. The motion vector is based on the
Bewegungsvektoren der Blocke m der lokalen Nachbarschaft pradiziert, so daß ein möglichst geringer Unterschied zu den Bewegungsvektoren aus der Nachbarschaft sich m einer niedrigen Datenübertragungsrate äußert. Ein großer Unterschied des Bewegungsvektors wurde dazu fuhren, daß entsprechend viele Daten übertragen werden müssen und somit die benotigte Datenrate zunimmt oder aber entsprechend die Bildqualitat abnimmt.Motion vectors of the blocks m of the local neighborhood are predicted, so that the smallest possible difference to the motion vectors from the neighborhood manifests itself in a low data transmission rate. A large difference in the motion vector would lead to the fact that a corresponding amount of data had to be transmitted and thus the required data rate increased or the image quality decreased accordingly.
Eine Weiterbildung besteht darin, daß insbesondere mehrere Bildblocke aus der lokalen Nachbarschaft zur Pradiktion des aktuellen Bildblocks eingesetzt werden. Somit können sowohl m der Darstellungsreihenfolge zu dem aktuellen Bildblock nachfolgende Bildblocke als auch vorangegangene Bildblocke für die Pradiktion des aktuellen Bildblocks herangezogen werden.A further development consists in that in particular several picture blocks from the local neighborhood are used to predict the current picture block. Thus, both image blocks following the display sequence for the current image block and previous image blocks can be used for the prediction of the current image block.
Eine Ausgestaltung besteht darin, daß der aktuelle Bildblock unterteilt wird m einen ersten Teil und m einen zweiten Teil, wobei zur Pradiktion des ersten und des zweiten Teils unterschiedliche Blocke der lokalen Nachbarschaft einschließlich mindestens eines m derOne embodiment consists in that the current image block is subdivided into m a first part and m a second part, different blocks of the local neighborhood including at least one of the m being used to predict the first and the second part
Darstellungsreihenfolge nachfolgenden Bildblocks herangezogen werden können.The order of representation of the following image blocks can be used.
Ein Beispiel für eine Intra-Pradiktion besteht darin, daß eine Kante den aktuellen Bildblock m einen linken Teilblock und m einen rechten Teilblock unterteilt. Die Kante ist in diesem Fall eine Texturkante, d.h. die Textur im linken Teilblock kann besser aus dem Vorganger Block pradiziert werden und die Textur im rechten Teilblock kann besser aus dem Nachfolgerblock pradiziert werden.An example of an intra-prediction is that an edge divides the current image block m a left sub-block and m a right sub-block. The edge in this case is a texture edge, i.e. the texture in the left sub-block can be better predicted from the predecessor block and the texture in the right sub-block can be better predicted from the successor block.
Bei der zeitlichen Pradiktion aus dem vorangegangenen Bild ist die Kante zweckmäßig ein Rand eines bewegten Objekts. Dabei ist es insbesondere von Bedeutung, daß die Bildbereiche links und rechts im Block durch unterschiedliche Verschiebungen des Bildsignals im zeitlich vorangegangenen Block entstanden sind, d.h. sie weisen jeweils unterschiedliche Displacementvektoren auf.In the temporal prediction from the previous picture, the edge is expediently an edge of a moving object. It is particularly important that the image areas on the left and right in the block are caused by different shifts in the image signal in the previous block, i.e. they each have different displacement vectors.
Damit ergibt sich, daß zur Erstellung des Datenstromes eine bestimmte Reihenfolge einzuhalten ist, insbesondere werden die Bilddaten zeilenweise, jeweils von links nach rechts, blockweise abgearbeitet.This means that a certain sequence must be followed for the creation of the data stream, in particular the image data are processed in rows, from left to right, in blocks.
Somit ist es vorteilhaft, daß der erste Teil ein linker Teil des aktuellen Bildblocks und der zweite Teil ein rechter Teil des aktuellen Bildblocks ist. In dieserIt is therefore advantageous that the first part is a left part of the current image block and the second part is a right part of the current image block. In this
Darstellungsreihenfolge bezieht sich die Pradiktion des linken Teils des aktuellen Bildblocks insbesondere auf den seitlich vorangegangenen linken Bildblock, wohingegen der rechte Teil des aktuellen Bildblocks u.a. anhand des rechten Bildblocks decodiert wird.The order of presentation refers to the prediction of the left part of the current image block, particularly to the previous left image block, whereas the right part of the current image block, among others. is decoded using the right image block.
Auch ist es eine Ausgestaltung, daß die Unterteilung des aktuellen Bildblocks analytisch bestimmt wird. Handelt es sich beispielsweise um eine Kante, so ist es vorteilhaft, diese Kante funktional zu beschreiben. Eine angenäherte Beschreibung des Verlaufs der Kante, beispielsweise als Gerade, spart signifikant Datenrate.It is also an embodiment that the subdivision of the current image block is determined analytically. If, for example, an edge is involved, it is advantageous to describe this edge functionally. An approximate description of the course of the edge, for example as a straight line, saves a significant data rate.
Hierbei sei angemerkt, daß die analytische Beschreibung der Kante bzw. der Unterteilung des aktuellen Bildblocks auch anhand einer spezifischen für die Codierung gewählten Syntax beschrieben werden kann. So können durch bestimmte Codierungsmuster Verlaufe von Objektkanten innerhalb des aktuellen Bildblocks bestimmt werden. Eine solche Codierung hat den Vorteil, daß sie m höchstem Maße speichereffizient sein kann.It should be noted here that the analytical description of the edge or the subdivision of the current image block can also be described using a specific syntax selected for the coding. By means of certain coding patterns, the course of object edges within the current image block can be determined. Such coding has the advantage that it can be extremely memory efficient.
Eine andere Ausgestaltung besteht darin, daß eine Decodierurg eines m Bildblocke unterteilten Bildes, das gemäß dem obigen Verfahren codiert wurde, durchgeführt wird, wobei der aktuelle Bildblock anhand mindestens einen in der Nachbarschaft liegenden Bildblocks pradiziert wird.Another embodiment consists in that a decoding of an image divided into m image blocks, which has been encoded according to the above method, is carried out, the current image block being predicted on the basis of at least one image block lying in the neighborhood.
Auch ist es eine Weiterbildung, daß die Information über diese Unterteilung, im obigen Beispiel die Kante, auf der Decoderseite geeignet umsetzbar ist, das heißt, entsprechend richtig erkannt wird. Zweckmäßig kann dazu der Decoder erweitert werden um eine Semantik der Codierung über die Unterteilung des aktuell empfangenen Bilddatenblocks. Eine solche Codierung kann gekoppelt sein mit einer entsprechenden Information zur Wiederherstellung des linken Teilblocks und des rechten Teilblocks des aktuellen Bildblocks. Werden für den rechten bzw. den linken Teilblock unterschiedliche Umgebungen (Kontexte, Fachbarschaft) berücksichtigt, so kann dies durch geeignete Codierung auf der Seite des Encoders dem Decoder mitgeteilt werden. Eine solche Codierung kann, wie bei Kommumkationsprotokollen üblich, durch verschiedene Maskierungen von Codewortern erfolgen.It is also a further development that the information about this subdivision, in the above example the edge, can be suitably implemented on the decoder side, that is to say is correctly recognized accordingly. For this purpose, the decoder can expediently be expanded to include a semantics of the coding by dividing the currently received image data block. Such coding can be coupled with corresponding information for restoring the left sub-block and the right sub-block of the current image block. If different environments (contexts, expertise) are taken into account for the right or left sub-block, this can be communicated to the decoder by suitable coding on the side of the encoder. Such coding, as is customary in communication protocols, can be carried out by different masking of code words.
Auch wird zur Losung der Aufgabe eine Anordnung zur Pradiktion bei der Codierung eines m Bildblocke unterteilten Bildes angegeben, bei der eine Prozessoreinheit vorgesehen ist, die derart eingerichtet ist, daß für einen aktuellen Bildblock mindestens ein m der Nachbarschaft liegender Bildblock zur Pradiktion herangezogen wird, wobei der mindestens eine m derAlso to solve the problem, an arrangement for predicting the coding of an image divided into m image blocks is provided, in which a processor unit is provided which is set up in such a way that at least one image block in the neighborhood m is used for the prediction for a current image block, whereby the at least one of the
Nachbarschaft liegende Bildblock bestimmt ist durch einen in der Darstellungsreihenfolge nachfolgenden Bildblock.Neighboring image block is determined by an image block following in the display order.
Weiterhin wird zur Losung der Aufgabe ein Computerprogrammerzeugnis zur Pradiktion bei der Codierung eines in Bildblocke unterteilten Bildes angegeben, das beiFurthermore, a computer program product for predicting the coding of an image subdivided into image blocks is specified for solving the task
Laden m einen Programmspeicher einer Prozessoreinheit eineLoad a program memory of a processor unit
Ausführung der folgenden Schritte ermöglicht: für einen aktuellen Bildblock wird mindestens ein in der Nachbarschaft liegender Bildblock zur Pradiktion herangezogen, wobei der mindestens eine in der Nachbarschaft liegende Bildblock bestimmbar ist durch einen m der Darstellungsreihenfolge nachfolgenden Bildblock.Execution of the following steps enables: for a current picture block, at least one picture block lying in the neighborhood is used for prediction, wherein the at least one picture block lying in the neighborhood can be determined by a picture block following the sequence of representation.
Die Anordnung sowie das Computerprogrammerzeugnis sind insbesondere geeignet zur Durchfuhrung des erfmdungsgemaßen Verfahrens oder einer seiner vorstehend erläuterten Weiterbildungen .The arrangement and the computer program product are particularly suitable for carrying out the method according to the invention or one of its developments explained above.
Ausfuhrungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnungen dargestellt und erläutert. Es zeigenExemplary embodiments of the invention are illustrated and explained below with the aid of the drawings. Show it
Fig.l eine Skizze, die eine Codιerungs-/Darstellungs- reihenfolge von Bildblocken darstellt;Fig.l is a sketch showing a Codιerungs- / representation order of picture blocks;
Fig.2 eine Fallunterscheidung m unterschiedliche Blockmodi;2 shows a case distinction in m different block modes;
Fig.3 eine Skizze mit einem Bildcoder und einem Bilddecoder;3 shows a sketch with an image encoder and an image decoder;
Fig.4 eine Prozessoreinheit.4 shows a processor unit.
Fig.l zeigt eine Skizze, die eine Codierungs- bzw. Darstellungsreihenfolge von Bildblocken veranschaulicht.Fig.l shows a sketch that illustrates a coding or presentation order of image blocks.
In Fig.l sind zwei Zeilen 111 und 112 mit Bildblocken 101 bis 106 dargestellt. Nachfolgend sollen unterschiedliche Blockmodi I bis V für den Block 105 beschrieben werden. Hierbei lauft optional eine Kante 113 durch die Bildblocke 102 und 105, wobei jeweils linke Teilblocke 107 und 109 und rechte Teilblocke 108 und 110 entstehen. Es ergeben sich die folgenden Möglichkeiten an Blockmodi (Kombinationsmodi):In Fig.l two lines 111 and 112 are shown with image blocks 101 to 106. Different block modes I to V for block 105 will be described below. In this case, an edge 113 optionally runs through the image blocks 102 and 105, left partial blocks 107 and 109 and right partial blocks 108 and 110 being formed in each case. There are the following options for block modes (combination modes):
Figure imgf000014_0001
Figure imgf000014_0001
Unter Intra-Pradiktion wird dabei verstanden, daß eine Pradiktion nur aus dem aktuell decodierten Bildsignal erfolgt, d.h. bei der Pradiktion die lokale Umgebung des aktuellen Bildes berücksichtigt wird. Inter-Pradiktion hingegen berücksichtigt auch das (zeitlich) vorangegangene Bildsignal (Bild) .Intra-prediction is understood to mean that a prediction is made only from the currently decoded image signal, ie the local environment of the current image is taken into account in the prediction. Inter-Pradiktion however, the (temporal) previous image signal (image) is also taken into account.
Blockmodus I:Block mode I:
Der Bildblock 105 wird nicht durch eine Kante m zwei Teile unterteilt, er wird aus umliegenden Blocken (des aktuellen Bildes) , insbesondere anhand des nachfolgenden Blocks 106, pradiziert. Die Pradiktion erfolgt insbesondere im Signalbereich oder im DCT-Bereich.The image block 105 is not divided into two parts by an edge m, it is predicted from surrounding blocks (of the current image), in particular on the basis of the subsequent block 106. The prediction takes place particularly in the signal range or in the DCT range.
Biockmodus II:Biock mode II:
Der Bildblock 105 ist durch die Kante 113 m den linken Teilblock 109 und den rechten Teilblock 110 unterteilt. Es werden die Teilblocke 109 und 110 einzeln pradiziert: Für Teilblock 109 ergibt sich eine Pradiktion aus den Blocken bzw. Teilblocken 101, 107 und 104. Für den Teilblock 110 ergibt sich eine Pradiktion aus den Blocken bzw. Teilblocken 106, 108 und 103. In diesem Fall beschreibt die Kante eine Texturkante, bspw. einen Übergang zwischen den Farben schwarz und weiß.The image block 105 is divided by the edge 113 m, the left sub-block 109 and the right sub-block 110. Sub-blocks 109 and 110 are predicted individually: for sub-block 109, a prediction results from blocks or sub-blocks 101, 107 and 104. For sub-block 110, a prediction results from blocks or sub-blocks 106, 108 and 103. In In this case, the edge describes a texture edge, for example a transition between the colors black and white.
Blockmodus III:Block mode III:
Für den Bildblock 105 soll eine Inter-Pradiktion (ohne Kante) durchgeführt werden. Dazu erfolgt eine Bewegungsschatzung für den Block 105, der sich ergebende Verschiebungsvektor (Displacementvektor) wird anhand von Verschiebungsvektoren der umliegenden Blocke 101, 102, 103, 104 und 106 bestimmt. Bei Bedarf erfolgt noch eine Codierung des Restfehlerbildes. Es ergibt sich somit eine Einsparung hinsichtlich einer für den Verschiebungsvektor notwendigen Bitrate.An inter-prediction (without edge) is to be carried out for the image block 105. For this purpose, a movement estimate is made for block 105, the resulting displacement vector (displacement vector) is determined on the basis of displacement vectors of the surrounding blocks 101, 102, 103, 104 and 106. If necessary, the residual error image is encoded. This results in a saving in terms of a bit rate necessary for the shift vector.
Blockmodus IV:Block mode IV:
Analog zu Blockmodus II erfolgt jetzt eine Inter- Pradiktion mit Berücksichtigung der Kante 113. Die Kante ist dabei bevorzugt eine Objektkante eines bewegten Objekts, d.h. die Teilblöcke 109 und 110 haben unterschiedliche Verschiebungen. Demnach werden ■ der Verschiebungsvektor für den Teilblock 109 aus den Bildblöcken bzw. Teilblöcken 101, 107 und 104 und ■ der Verschiebungsvektor für den Teilblock 110 aus den Bildblöcken bzw. Teilblöcken 108, 103 und 106 ermittelt und codiert. Bevorzugt können der Verschiebungsvektor für den Teilblock 109 gleich dem Verschiebungsvektor für den Block 104 und entsprechend der Verschiebungsvektor für den Teilblock 110 gleich dem Verschiebungsvektor für den Block 106 gesetzt werden. Der Vorteil bei diesem Blockmodus besteht vor allem m der Einsparung an Datenrate durch einen geringeren Restfehler.Analog to block mode II, an inter-prediction is now made taking into account edge 113. The edge is preferably an object edge of a moving one Object, ie the sub-blocks 109 and 110 have different displacements. Accordingly, ■ the displacement vector for sub-block 109 from the image blocks or sub-blocks 101, 107 and 104 and ■ the displacement vector for sub-block 110 from the image blocks or sub-blocks 108, 103 and 106 are determined and encoded. Preferably, the displacement vector for sub-block 109 can be set equal to the displacement vector for block 104 and, accordingly, the displacement vector for sub-block 110 can be set equal to the displacement vector for block 106. The advantage of this block mode is above all the saving in data rate due to a lower residual error.
Blockmodus V:Block mode V:
Es sind auch Kombinationen von Intra-Pradiktion und Inter-Pradiktion bezogen auf die einzelnen Teilblocke möglich. So können bspw. für den Teilblock 109 der Blockmodus II und für den Teilblock 110 der Blockmodus III eingesetzt werden.Combinations of intra-prediction and inter-prediction based on the individual sub-blocks are also possible. For example, block mode II can be used for sub-block 109 and block mode III for sub-block 110.
Hierbei sei angemerkt, daß die Blockmodi II, IV und V die größten Einsparungen an Datenrate erwarten lassen.It should be noted here that the block modes II, IV and V are expected to offer the greatest savings in data rate.
Fig.2 zeigt eine Skizze mit einer Fallunterscheidung und den Möglichkeiten zur Kombination der in Fig.l erläuterten Blockmodi .2 shows a sketch with a case distinction and the possibilities for combining the block modes explained in FIG.
In Schritt 201 wird eine Entscheidung getroffen, ob eine Kante (113 in Fig.l) vorhanden ist. Ist dies nicht der Fall, so wird zu Punkt 202 verzweigt und eine Entscheidung getroffen, ob eine Inter-Pradiktion 203 oder eine Intra- Pradiktion 204 durchgeführt werden soll. Durch die Kante 113 ergibt sich eine Unterteilung des Bildblocks m einen linken Teilblock 205 (siehe Bezugszeichen 109 m Fig.l) und m einen rechten Teilblock 206 (siehe Bezugszeichen 110 m Fig.l). Nun können jeweils der linke Teilblock 205 und der rechte Teilblock 206 entweder mter- pradiziert oder mtra-pradiziert werden (vgl. Blocke 207 bis 210) .In step 201, a decision is made as to whether an edge (113 in FIG. 1) is present. If this is not the case, a branch is made to point 202 and a decision is made as to whether an inter-prediction 203 or an intra-prediction 204 should be carried out. The edge 113 divides the image block into m a left sub-block 205 (see reference number 109 m FIG. 1) and m a right sub-block 206 (see reference number 110 m FIG. 1). Now the left sub-block 205 and the right sub-block 206 can either be m-predicted or m-predicted (cf. blocks 207 to 210).
Fig.3 zeigt eine Skizze einer Anordnung zur Durchfuhrung eines blockbasierten Bildcodierverfahrens .3 shows a sketch of an arrangement for carrying out a block-based image coding method.
Ein zu codierender Videodatenstrom mit zeitlich aufeinanderfolgenden digitalisierten Bildern wird einer Bildcodierungsemheit 1201 zugeführt. Die digitalisierten Bilder sind unterteilt in Makroblocke 1202, wobei jeder Makroblock 16x16 Bildpunkte hat. Der Makroblock 1202 umfaßt vier Bildblocke 1203, 1204, 1205 und 1206, wobei jeder Bildblock 8x8 Bildpunkte, denen Lummanzwerte (Helligkeitswerte) zugeordnet sind, enthalt. Weiterhin umfaßt jeder Makroblock 1202 zwei Chrominanzblocke 1207 und 1208 mit den Bildpunkten zugeordneten Chrominanzwerten (Farbinformation, Farbsattigung) .A video data stream to be encoded with temporally successive digitized images is fed to an image coding unit 1201. The digitized images are divided into macro blocks 1202, each macro block having 16x16 pixels. The macro block 1202 comprises four picture blocks 1203, 1204, 1205 and 1206, each picture block containing 8x8 picture elements to which luminance values (brightness values) are assigned. Furthermore, each macro block 1202 comprises two chrominance blocks 1207 and 1208 with the chrominance values assigned to the pixels (color information, color saturation).
Der Block eines Bildes enthalt einen LummanzwertThe block of an image contains a luminance value
(=Hellιgkeιt) , einen ersten Chrominanzwert (=Farbton) und einen zweiten Chrominanzwert (=Farbsattιgung) . Dabei werden Lummanzwert, erster Chrominanzwert und zweiter Chrominanzwert als Farbwerte bezeichnet.(= Hellιgkeιt), a first chrominance value (= color) and a second chrominance value (= color saturation). The luminance value, first chrominance value and second chrominance value are referred to as color values.
Die Bildblocke werden einer Transformationscodierungsemheit 1209 zugeführt. Bei einer Differenzbildcodierung werden zu codierende Werte von Bildblocken zeitlich vorangegangener Bilder von den aktuell zu codierenden Bildblocken abgezogen, es wird nur die Differenzbildungsmformation 1210 der Transformationscodierungse heit (Diskrete Cosinus Transformation, DCT) 1209 zugeführt. Dazu wird über eine Verbindung 1234 der aktuelle Makroblock 1202 einer Bewegungsschatzungse heit 1229 mitgeteilt. In der Transformationscodierungsemheit 1209 werden für die zu codierenden Bildblocke bzw. Differenzbildblocke Spektralkoeffizienten 1211 gebildet und einer Quantisierungseinheit 1212 zugeführt.The image blocks are fed to a transformation coding unit 1209. In the case of differential image coding, values to be coded from image blocks of temporally preceding images are subtracted from the image blocks currently to be coded; only the difference formation information 1210 of the transformation coding unit (Discrete Cosine Transformation, DCT) 1209 is supplied. This is done via a Connection 1234 the current macroblock 1202 a motion estimation unit 1229 communicated. In the transform coding unit 1209, spectral coefficients 1211 are formed for the picture blocks or difference picture blocks to be coded and fed to a quantization unit 1212.
Quantisierte Spektralkoefflzienten 1213 werden sowohl einer Scaneinheit 1214 als auch einer mversen Quantisierungseinheit 1215 einem Ruckwartspfad zugeführt. Nach einem Scanverfahren, z.B. einem "zιgzag"-Scanverfahren, wird auf den gescannten Spektralkoeffizienten 1232 eine Entropiecodierung m einer dafür vorgesehenen Entropiecodierungseinheit 1216 durchgeführt. Die entropiecodierten Spektralkoeffizienten werden als codierte Bilddaten 1217 über einen Kanal, vorzugsweise eine Leitung oder eine Funkstrecke, zu einem Decoder übertragen.Quantized spectral coefficients 1213 are fed to both a scan unit 1214 and an inverse quantization unit 1215 on a backward path. After a scanning process, e.g. a "zιgzag" scanning method, entropy coding is carried out on the scanned spectral coefficient 1232 in an entropy coding unit 1216 provided for this purpose. The entropy-coded spectral coefficients are transmitted as coded image data 1217 via a channel, preferably a line or a radio link, to a decoder.
In der mversen Quantisierungseinheit 1215 erfolgt eine mverse Quantisierung der quantisierten Spektralkoeffizienten 1213. So gewonnene Spektralkoeffizienten 1218 werden einer mversen Transformationscodierungsemheit 1219 (Inverse Diskrete Cosinus Transformation, IDCT) zugeführt. Rekonstruierte Codierungswerte (auch Differenzcodierungswerte) 1220 werden im Differenzbildmodus einen Addierer 1221 zugeführt. Der Addierer 1221 erhalt ferner Codierungswerte eines Bildblocks, die sich aus einem zeitlich vorangegangenen Bild nach einer bereits durchgeführten Bewegungskompensation ergeben. Mit dem Addierer 1221 werden rekonstruierte Bildblocke 1222 gebildet und m einem Bildspeicher 1223 abgespeichert.In the inverse quantization unit 1215 there is an inverse quantization of the quantized spectral coefficients 1213. Spectral coefficients 1218 obtained in this way are supplied to an inverse transformation coding unit 1219 (inverse discrete cosine transformation, IDCT). Reconstructed coding values (also differential coding values) 1220 are supplied to an adder 1221 in the differential image mode. The adder 1221 also receives coding values of an image block, which result from a temporally previous image after motion compensation has already been carried out. Reconstructed image blocks 1222 are formed with the adder 1221 and stored in an image memory 1223.
Chrominanzwerte 1224 der rekonstruierten Bildblocke 1222 werden aus dem Bildspeicher 1223 einer Bewegungskompensationsemheit 1225 zugeführt. Für Heiligkeitswerte 1226 erfolgt eine Interpolation m einer dafür vorgesehenen Interpolationsemheit 1227. Anhand der Interpolation wird die Anzahl m dem jeweiligen Bildblock enthaltener Helligkeitswerte vorzugsweise verdoppelt. Alle Helligkeitswerte 1228 werden sowohl der Bewegungskompensationsemheit 1225 als auch der Bewegungsschatzungsemheit 1229 zugeführt. Die Bewegungsschatzungsemheit 1229 erhalt außerdem dieChrominance values 1224 of the reconstructed image blocks 1222 are supplied from the image memory 1223 to a motion compensation unit 1225. For holiness values 1226 there is an interpolation m of an interpolation unit 1227 provided for this purpose. The interpolation is used to determine the number m of the respective image block contained brightness values preferably doubled. All brightness values 1228 are supplied to both the movement compensation unit 1225 and the movement estimation unit 1229. The Movement Estimation Unit 1229 also receives the
Bildblocke des jeweils zu codierenden Makroblocks (16x16 Bildpunkte) über die Verbindung 1234. In der Bewegungsschatzungsemheit 1229 erfolgt diePicture blocks of the macro block to be coded in each case (16x16 picture elements) via the connection 1234. This is done in the movement estimation unit 1229
Bewegungsschatzung unter Berücksichtigung der interpolierten Helligkeitswerte ("Bewegungsschatzung auf Halbpixelbasis"). Vorzugsweise werden bei der Bewegungsschatzung absolute Differenzen der einzelnen Helligkeitswerte m dem aktuell zu codierenden Makroblock 1202 und dem rekonstruierten Makroblock aus dem zeitlich vorangegangenen Bild ermittelt.Motion estimation taking into account the interpolated brightness values ("motion estimation on a half-pixel basis"). When estimating the movement, absolute differences of the individual brightness values are preferably determined in the macro block 1202 currently to be coded and the reconstructed macro block from the previous image.
Das Ergebnis der Bewegungsschatzung ist ein Bewegungsvektor 1230, durch den eine örtliche Verschiebung des ausgewählten Makroblocks aus dem zeitlich vorangegangenen Bild zu dem zu codierenden Makroblock 1202 zum Ausdruck kommt.The result of the motion estimation is a motion vector 1230, by means of which a local displacement of the selected macroblock from the temporally previous image to the macroblock 1202 to be coded is expressed.
Sowohl Helligkeitsinformation als auch Chrominanzinformation bezogen auf den durch die Bewegungsschatzungsemheit 1229 ermittelten Makroblock werden um den Bewegungsvektor 1230 verschoben und von den Codierungswerten des Makroblocks 1202 subtrahiert (siehe Datenpfad 1231).Both brightness information and chrominance information relating to the macroblock determined by the motion estimation unit 1229 are shifted by the motion vector 1230 and subtracted from the coding values of the macroblock 1202 (see data path 1231).
In Fig.4 ist eine Prozessoreinheit PRZE dargestellt. Die Prozessoreinheit PRZE umfaßt einen Prozessor CPU, einen Speicher MEM und eine Input/Output-Schnittstelle IOS, die ber ein Interface IFC auf unterschiedliche Art und Weise genutzt wird: Über eine Graflkschnittstelle wird eine Ausgabe auf einem Monitor MON sichtbar und/oder auf einem Drucker PRT ausgegeben. Eine Eingabe erfolgt über eine Maus MAS oder eine Tastatur TAST. Auch verfugt die Prozessoreinheit PRZE über einen Datenbus BUS, der die Verbindung von einem Speicher MEM, dem Prozessor CPU und der Input/Output-Schnittstelle IOS gewährleistet. Weiterhin sind an den Datenbus BUS zusätzliche Komponenten anschließbar, z.B. zusätzlicher Speicher, Datenspeicher (Festplatte) oder Scanner. A processor unit PRZE is shown in FIG. The processor unit PRZE comprises a processor CPU, a memory MEM and an input / output interface IOS, which is used in different ways via an interface IFC: an output becomes visible on a monitor MON and / or on a printer via a graphics interface PRT issued. An entry is made using a mouse MAS or a keyboard TAST. The processor unit PRZE also has a data bus BUS, which connects the memory MEM, the processor CPU and the input / output interface IOS guaranteed. Furthermore, additional components can be connected to the data bus BUS, for example additional memory, data storage (hard disk) or scanner.
Literaturverzeichnis :Bibliography :
[1] J. De Lameillieure, R. Schafer: "MPEG-2-Bιldcodιerung für das digitale Fernsehen", Fernseh- und Kmo-Technik, 48. Jahrgang, Nr.3/1994, Seiten 99-107.[1] J. De Lameillieure, R. Schafer: "MPEG-2 image coding for digital television", television and kmo technology, 48th year, No. 3/1994, pages 99-107.
[2] M. Bierlmg: "Displacement Estimation by Hierarchical[2] M. Bierlmg: "Displacement Estimation by Hierarchical
Blockmatchmg", SPIE, Vol.1001, Visual Communications and Image Processing '88, S.942-951, 1988. Block Matching ", SPIE, Vol.1001, Visual Communications and Image Processing '88, S.942-951, 1988.

Claims

Patentansprüche claims
1. Verfahren zur Pradiktion bei der Codierung eines m Bildblocke unterteilten Bildes, bei dem für einen aktuellen Bildblock mindestens ein in der Nachbarschaft liegender Bildblock zur Pradiktion herangezogen wird, wobei der mindestens eine m der Nachbarschaft liegende Bildblock bestimmt ist durch einen m der Darstellungsreihenfolge nachfolgenden Bildblock.1. A method for prediction in the coding of an image subdivided into m image blocks, in which at least one image block lying in the neighborhood is used for prediction for a current image block, the at least one image block lying in the neighborhood being determined by an image block following the display sequence ,
2. Verfahren nach Anspruch 1, bei dem die Pradiktion eine Intra-Pradiktion ist.2. The method of claim 1, wherein the prediction is an intra-prediction.
3. Verfahren nach Anspruch 1, bei dem die Pradiktion eine bewegungskompensierte Pradiktion ist.3. The method of claim 1, wherein the prediction is a motion-compensated prediction.
4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der aktuelle Bildblock unterteilt wird einen ersten Teil und m einen zweiten Teil, wobei für den ersten Teil die Pradiktion anhand mindestens eines in der Darstellungsreihenfolge vorangegangenen Bildblocks und für den zweiten Teil die Pradiktion zusatzlich anhand des nachfolgenden Bildblocks durchgeführt wird.4. The method according to any one of the preceding claims, wherein the current image block is subdivided into a first part and m a second part, wherein for the first part the prediction based on at least one image block preceding in the display order and for the second part the prediction additionally based on the subsequent image blocks is carried out.
Verfahren nach Anspruch 4, bei dem der erste Teil ein linker Teil des aktuellen Bildblocks und der zweite Teil em rechter Teil des aktuellen Bildblocks ist.The method of claim 4, wherein the first part is a left part of the current image block and the second part is a right part of the current image block.
Verfahren nach Anspruch 4 oder 5, bei dem die Unterteilung des aktuellen Bildblocks durch eine Kante vorgegeben wird.Method according to Claim 4 or 5, in which the division of the current image block is predetermined by an edge.
7. Verfahren nach Anspruch 6, bei dem die Kante analytisch bestimmbar ist. 7. The method according to claim 6, wherein the edge can be determined analytically.
8. Verfahren zur Pradiktion bei der Decodierung eines m Bildblocke unterteilten Bildes, das nach einem der Ansprüche 1 bis 7 codiert wurde, bei dem der aktuelle Bildblock anhand des mindestens einen m der Nachbarschaft liegenden Bildblocks pradiziert wird.8. A method for prediction in the decoding of an image divided into m image blocks, which was encoded according to one of claims 1 to 7, in which the current image block is predicted on the basis of the at least one image block lying in the neighborhood.
9. Verfahren zur Pradiktion bei der Decodierung eines m Bildblocke unterteilten Bildes, das nach einem der Ansprüche 4 bis 7 codiert wurde, bei dem der erste Teil des aktuellen Bildblocks aus dem vorhergehenden Bildblock pradiziert wird und bei dem der zweite Teil des aktuellen Bildblocks anhand des nachfolgenden Bildblocks pradiziert wird.9. A method for prediction in the decoding of an image divided into m image blocks, which was encoded according to one of claims 4 to 7, in which the first part of the current image block is predicted from the previous image block and in which the second part of the current image block is based on the subsequent image blocks is predicted.
10. Verfahren nach Anspruch 9, bei dem eine Information über die Unterteilung des aktuellen Bildblocks bei dem Decoder ausgewertet und m den aktuellen Bildblock eingetragen wird.10. The method according to claim 9, wherein information about the subdivision of the current picture block is evaluated at the decoder and m the current picture block is entered.
11. Anordnung zur Pradiktion bei der Codierung eines m Bildblocke unterteilten Bildes, bei der eine Prozessoreinheit vorgesehen ist, die derart eingerichtet ist, daß für einen aktuellen Bildblock mindestens em m der Nachbarschaft liegender Bildblock zur Pradiktion herangezogen wird, wobei der mindestens eine in der Nachbarschaft liegende Bildblock bestimmt ist durch einen m der Darstellungsreihenfolge nachfolgenden Bildblock.11. Arrangement for prediction in the coding of an image divided into m image blocks, in which a processor unit is provided which is set up in such a way that for a current image block at least em m the neighborhood image block is used for prediction, the at least one in the neighborhood lying picture block is determined by a picture block following the order of representation.
12. Computerprogrammerzeugnis zur Pradiktion bei der Codierung eines m Bildblocke unterteilten Bildes, das bei Laden m einen Programmspeicher einer Prozessoreinheit eine Ausfuhrung der folgenden Schritte ermöglicht: für einen aktuellen Bildblock wird mindestens em der Nachbarschaft liegender Bildblock zur Pradiktion herangezogen, wobei der mindestens eine in der Nachbarschaft liegende Bildblock bestimmbar ist durch einen in der Darstellungsreihenfolge nachfolgenden Bildblock. 12. Computer program product for predicting the coding of an image subdivided into m image blocks, which, when loaded into a program memory of a processor unit, enables the following steps to be carried out: for a current image block, at least one image block lying in the neighborhood becomes a prediction used, the at least one image block lying in the neighborhood being determinable by an image block following in the display sequence.
PCT/DE2000/004095 1999-12-23 2000-11-21 Method, device and computer programme generation for prediction in encoding an image divided into image blocks WO2001049038A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19962627.8 1999-12-23
DE19962627 1999-12-23

Publications (1)

Publication Number Publication Date
WO2001049038A1 true WO2001049038A1 (en) 2001-07-05

Family

ID=7934244

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2000/004095 WO2001049038A1 (en) 1999-12-23 2000-11-21 Method, device and computer programme generation for prediction in encoding an image divided into image blocks

Country Status (1)

Country Link
WO (1) WO2001049038A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1878260A1 (en) * 2005-04-15 2008-01-16 Lg Electronics Inc. Method for scalably encoding and decoding video signal
WO2009080132A1 (en) * 2007-12-21 2009-07-02 Telefonaktiebolaget L M Ericsson (Publ) Improved pixel prediction for video coding
WO2010001045A1 (en) * 2008-07-01 2010-01-07 France Telecom Method and device for encoding images using improved prediction, and corresponding decoding method and device, signal and computer software
EP1429564A4 (en) * 2001-08-28 2012-07-25 Ntt Docomo Inc Moving picture encoding/transmission system, moving picture encoding/transmission method, and encoding apparatus, decoding apparatus, encoding method, decoding method, and program usable for the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159448A (en) * 1990-11-20 1992-10-27 Sony Corporation Highly efficient coding apparatus
EP0833520A2 (en) * 1996-09-30 1998-04-01 Hyundai Electronics Industries Co., Ltd. Video predictive coding apparatus and method
EP0895424A2 (en) * 1997-07-31 1999-02-03 Victor Company of Japan, Ltd. Predictive digital video signal encoding and decoding method using block interpolation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159448A (en) * 1990-11-20 1992-10-27 Sony Corporation Highly efficient coding apparatus
EP0833520A2 (en) * 1996-09-30 1998-04-01 Hyundai Electronics Industries Co., Ltd. Video predictive coding apparatus and method
EP0895424A2 (en) * 1997-07-31 1999-02-03 Victor Company of Japan, Ltd. Predictive digital video signal encoding and decoding method using block interpolation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BIERLING M: "Displacement estimation by hierarchical blockmatching", VISUAL COMMUNICATIONS AND IMAGE PROCESSING '88, CAMBRIDGE, MA, USA, 9-11 NOV. 1988, vol. 1001, pt.2, Proceedings of the SPIE - The International Society for Optical Engineering, 1988, USA, pages 942 - 951, XP000863657, ISSN: 0277-786X *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1429564A4 (en) * 2001-08-28 2012-07-25 Ntt Docomo Inc Moving picture encoding/transmission system, moving picture encoding/transmission method, and encoding apparatus, decoding apparatus, encoding method, decoding method, and program usable for the same
EP1878260A1 (en) * 2005-04-15 2008-01-16 Lg Electronics Inc. Method for scalably encoding and decoding video signal
EP1878260A4 (en) * 2005-04-15 2014-12-10 Lg Electronics Inc Method for scalably encoding and decoding video signal
WO2009080132A1 (en) * 2007-12-21 2009-07-02 Telefonaktiebolaget L M Ericsson (Publ) Improved pixel prediction for video coding
US9049457B2 (en) 2007-12-21 2015-06-02 Telefonaktiebolaget L M Ericsson (Publ) Pixel prediction for video coding
WO2010001045A1 (en) * 2008-07-01 2010-01-07 France Telecom Method and device for encoding images using improved prediction, and corresponding decoding method and device, signal and computer software
CN102084658A (en) * 2008-07-01 2011-06-01 法国电信公司 Method and device for encoding images using improved prediction, and corresponding decoding method and device, signal and computer software
US8320692B2 (en) 2008-07-01 2012-11-27 France Telecom Image encoding method and device implementing an improved prediction, corresponding decoding method and device, signal and computer programs
CN102084658B (en) * 2008-07-01 2013-06-05 法国电信公司 Method and device for encoding images using improved prediction, and corresponding decoding method and device, signal and computer software

Similar Documents

Publication Publication Date Title
DE69738264T2 (en) Video encoding and video decoding device
DE60220106T2 (en) Method and device for reducing interference in decoded images with postfiltering
DE69831961T2 (en) IMAGE OBJECT PROCESSING FOR OBJECT-BASED CODING SYSTEMS USING MASKS AND ROUNDED MEDIUM VALUES
DE19704439C2 (en) Method and device for motion estimation in a digital video encoder using trajectories
EP1025708B1 (en) Method and device for processing a digitized image
DE4442643B4 (en) Method for estimating motion in a moving image
EP1941744B1 (en) Methods and devices for the determination and reconstruction of a predicted image area
EP1101196B1 (en) Method and device for estimating motion in a digitized image with pixels
EP0985317B1 (en) Method for coding and decoding a digitalized image
EP1110407B1 (en) Method and array for coding and decoding a digitized image using an overall motion vector
EP1116184B1 (en) Method and array for processing a digitized image with image points
EP1285537B1 (en) Method and an arrangement for the coding and decoding of a series of images
DE69909880T2 (en) Decoding a compressed digital picture signal
WO2001049038A1 (en) Method, device and computer programme generation for prediction in encoding an image divided into image blocks
DE19944300C2 (en) Method, arrangement and computer program product for motion estimation when encoding an image object in an image
WO2001062009A1 (en) Method and device for coding or coding and decoding a sequence of numbers
WO2000046998A1 (en) Method and arrangement for transforming an image area
WO2001028252A1 (en) Progressive fault-tolerant encoding or decoding of a sequence of images
WO2000049525A1 (en) Method and system for storing at least one image and its associated relational information
EP0981909A1 (en) Method and device for coding and decoding a digitized image
DE19702728A1 (en) Construction method for picture coded in two directions from two reference pictures
WO2001041450A1 (en) Method and device for coding or decoding a series of numbers
WO1997028651A1 (en) Device and method for encoding and decoding images encoded using a block-based coding procedure
WO2000018125A1 (en) Method and arrangement for coding a digitized image and method and arrangement for decoding an encoded digitized image
DE102006050066A1 (en) Digitized video image coding method for coding and decoding system, involves determining set of moving vectors, executing coding for image in resolution level by using moving vectors, and obtaining coding signal

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase