WO2003026271A2 - Method for coding and/or decoding video sequences and computer program product - Google Patents

Method for coding and/or decoding video sequences and computer program product Download PDF

Info

Publication number
WO2003026271A2
WO2003026271A2 PCT/DE2002/003352 DE0203352W WO03026271A2 WO 2003026271 A2 WO2003026271 A2 WO 2003026271A2 DE 0203352 W DE0203352 W DE 0203352W WO 03026271 A2 WO03026271 A2 WO 03026271A2
Authority
WO
WIPO (PCT)
Prior art keywords
coding
prediction error
error data
data
prediction
Prior art date
Application number
PCT/DE2002/003352
Other languages
German (de)
French (fr)
Other versions
WO2003026271A3 (en
Inventor
Peter Amon
Jürgen PANDEL
Klaus Illgner-Fehns
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
Priority claimed from DE10219640A external-priority patent/DE10219640B4/en
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to AU2002333192A priority Critical patent/AU2002333192A1/en
Publication of WO2003026271A2 publication Critical patent/WO2003026271A2/en
Publication of WO2003026271A3 publication Critical patent/WO2003026271A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding

Definitions

  • Video coding and decoding method and computer program product
  • the invention relates to a method for coding video sequences and a method for decoding the video sequences.
  • the invention further relates to a computer program product which contains program codes for executing the method.
  • Methods for coding video sequences are primarily used to effectively compress video sequences. This is because video streams can only be transported over packet-oriented data networks if the data rate required for this is below the bandwidth available in the packet-oriented data networks. Standardized methods, such as MPEG-1, MPEG-2 and H.26, have therefore been developed with which video sequences can be compressed effectively. The standardized methods work with the motion-compensating hybrid coding, one
  • the so-called motion-compensating prediction contributes the most to compression.
  • the motion-compensating prediction or prediction takes advantage of the similarity of successive pictures by predicting the picture currently to be coded from pictures already coded. Since usually only certain parts of consecutive pictures move, the picture currently to be coded becomes rectangular when encoded
  • Macroblocks disassembled When coding, suitable macroblocks are selected for each of these macroblocks from the images already transmitted and their shift to the macroblocks of the image currently to be coded is calculated. The shifts in the macroblocks are described by motion vectors that can be coded using code tables. Since the image currently to be encoded cannot always be constructed by shifting macroblocks of already encoded images, for example in the case of new objects entering the image, the prediction error or prediction error must also be transmitted. This prediction error results from the difference between the actual picture currently to be coded and the prediction picture constructed by shifting the macroblocks from pictures already coded.
  • DWT discrete avelet transformation
  • DCT discrete cosine transformation
  • DCT discrete integer transformation
  • Prediction error matrices transformed, which are populated with a variety of spectral coefficients. These prediction error matrices together form the transformed prediction error data.
  • the transformed prediction error data are quantized before the further coding. After quantization, many spectral coefficients are zero. The transformed and quantized prediction error data can then be effectively compressed by entropy coding.
  • the finally coded video data stream is finally composed of the entropy-coded prediction error data and the entropy-coded movement information of the macroblocks.
  • the video data stream can also contain information contain various coding parameters.
  • the original video sequence can be reconstructed by decoding this video data stream in a decoder.
  • the video data streams that can be called up via the packet-oriented data networks are usually offered free of charge.
  • the video sequences are only encoded in a low quality level.
  • the entry threshold for the user is to be lowered by staggering the quality of the video sequences.
  • effective coding and decoding methods are necessary which compress the video data streams as effectively as possible.
  • the object of the invention is to create effective methods for coding and decoding video sequences with which video sequences can be coded according to quality levels
  • the video sequence is first coded in separate coding branches in different quality levels.
  • the transformed prediction error data generated in this way is not completely transmitted. Rather, exclusive prediction error data of a first quality level are completely transmitted. This first prediction error data is subtracted from the prediction error data of the next quality level and the differences calculated in this way are transmitted.
  • the prediction error data of one quality level is subtracted from the prediction error data of the next quality level and these differences are transferred. It has been shown that these differences are often zero, so that the additional quality levels require little additional bandwidth for transmission.
  • the image information which is to be understood as the motion information formed by the motion vectors, is determined on the basis of coding parameters which are relevant for one of the Coding branches are optimized. This movement information can then also be adopted by the other coding branches.
  • the transformed prediction error data and the differences of the transformed prediction error data in each coding branch are quantized by multiplying the prediction error data by a multiplier, shifting them in a shift register by a fixed number of digits and rounding them to the parts before the decimal point.
  • the multipliers of the different quality levels are in an integer relationship to each other.
  • the rasters used in the quantization are brought into register with one another. This means that the grid of a quantization process with a small grid size coincides with a grid of a quantization process with a large grid size.
  • the coordination of the quantizers prevents the decoder and the encoder from drifting apart.
  • FIG. 1 shows a block diagram of a coding method with several quality levels
  • FIG. 2 shows a block diagram of a decoding method for a plurality of video data streams of different quality levels
  • FIG. 3 is a diagram in which different for the
  • Quantization usable rasters are illustrated;
  • FIG. 4 shows a diagram in which the dependence of the image noise on the data rate is shown for different coding methods.
  • FIG. 5 shows a diagram in which the dependence of the image noise on the data rate is shown for further coding methods.
  • an encoder 1 is shown.
  • the coding process taking place within the encoder is illustrated using the individual components of the encoder 1. It is clear to the person skilled in the art that the components of the encoder described here are synonymous with corresponding method steps of the coding method.
  • the encoder 1 has an input 2, into which the video data of the video sequence are fed.
  • a movement estimation unit 3 is connected downstream of the input 2.
  • the motion estimation unit 3 segments an image of the video sequence that is currently to be encoded into rectangular macroblocks, which are usually 8 x 8 or 16 x 16 pixels. For each of these macro blocks, the motion estimation unit 3 looks for suitable macro blocks from already transmitted images and calculates their motion vectors.
  • the motion vectors calculated by the motion estimation unit are encoded using an entropy encoder 4 and then transmitted.
  • the encoder 1 comprises three coding branches, each of which comprises a basic level 5 and an most and second level 6 and 7 are assigned.
  • the basic stage 5 has a motion compensator 8, which calculates a prediction image on the basis of the motion vectors calculated by the motion estimation unit 3 and feeds it to a subtractor 9.
  • the subtractor 9 the prediction picture is subtracted from the picture currently to be coded.
  • prediction error data are generated, which are then fed to a transformer 10 with a subsequent quantizer 11.
  • the transformer 10 carries out, for example, a discrete cosine transformation or discrete integer transformation.
  • the transformed and quantized prediction error data are finally encoded by an entropy encoder 12.
  • the quantized prediction error data are fed to an inverse quantizer 13, which is followed by an inverse transformer 14.
  • the prediction image generated by the motion compensator 8 is added.
  • the image stored in an image memory 16 therefore corresponds to the image generated by an assigned decoder.
  • the first development stage 6 also has a motion compensator 17 which calculates a prediction image from images already transmitted, which is subtracted in a subtractor 18 from the image currently to be coded.
  • a subtractor 18 is followed by a transformer 19 which transforms the prediction error data calculated by the subtractor.
  • the transformed prediction error data is applied to a subtractor 20, which is transformed by it
  • the difference data calculated in the subtractor reach a quantizer 21, which quantizes them and forwards them to an entropy encoder 22.
  • the transformed prediction error data calculated by the transformer 19 also reach a quantizer 23 with a subsequent inverse quantizer 24 and inverse transformer 25.
  • the prediction error data thus reconstructed are added in an adder 26 to the prediction picture generated by the motion compensator 17.
  • the image of the first construction stage 6 thus reconstructed is stored in an image memory 27.
  • the second development stage 7 also has a motion compensator 28, which calculates a prediction image from already transmitted images, which is subtracted from a picture currently to be coded in a subtractor 29.
  • the prediction error data generated in the process are transformed in a transformer 30 and fed to a subtractor 31.
  • the transformed prediction error data reconstructed by the inverse quantizer 24 of the first development stage 6 are subtracted from the transformed prediction error data of the second construction stage 7.
  • the difference data calculated in this way is fed to a quantizer 32 with subsequent entropy encoder 33.
  • the transformed prediction error data supplied by the transformer 30 of the second construction stage 7 also reach a quantizer 34 with a subsequent inverse quantizer 35 and inverse transformer 36.
  • the prediction error data reconstructed by the inverse quantizer 35 and the inverse transformer 36 are finally added to this in an adder 37
  • Prediction image generated by the motion compensator 28 is added and the result is stored in an image memory 38.
  • FIG. 2 The block diagram of a decoder 39 is shown in FIG. It is clear to the person skilled in the art that the block diagram shown in FIG. 2 can also be understood as a block diagram of a decoding method.
  • the decoder 39 comprises an entropy decoder 40 for decoding the motion vectors supplied by the encoder 1. Further the decoder 39 comprises three decoding branches, each of which is assigned to the basic stage 5, the first advanced stage 6 and the second advanced stage 7. The decoding branch, which is assigned to the basic stage 5, in each case comprises an entropy decoder 41 and an inverse quantizer 42. That of the first, too
  • Decoder branch assigned to configuration stage 6 has an entropy encoder 43 and an inverse quantizer 44.
  • the prediction error data reconstructed by the inverse quantizers 42, 44 and 46 are combined by adders 47 and 48 and fed to an inverse transformer 49.
  • the prediction error data generated by the inverse transformer 49 are added in an adder 50 to the prediction image generated by a motion compensator 51 and stored in an image memory 52.
  • the images stored in the image memory 52 are output at an output 53 to a display device (not shown).
  • synchronization is understood to mean the use of the same coding parameters in basic level 5 and in first and second advanced levels 6 and 7.
  • the encoder 1 can also have two or more than three coding branches.
  • the coding branch is first determined, the coding of which is optimized from the point of view of rate distortion optimization.
  • This coding branch is referred to below as the "master”.
  • the following coding parameters are defined for this master:
  • the other coding branches which are also called slaves, adapt to the master during encoding. This means that the slaves always use the coding parameters to code a specific part of the picture that the master also selected. As a result, the coding parameters need only be transmitted to the decoder 39 once. In addition, this type of synchronization only makes differential coding of the transformed prediction error data possible.
  • the data rate required to transmit the entire video data stream supplied by the entropy encoders 12, 22 and 33 also increases.
  • the selection of a coding branch becomes the master also specified for which data rate the coding is optimized. If there are more than two coding branches, it is advisable to optimize a middle coding branch to which an average data rate is assigned. As a result, the remaining coding branches use a coding method that deviates only slightly from the optimum. As a result, coding losses due to the synchronization of the coding branches are also minimized.
  • the encoder 1 shown in FIG. 1 is based on an encoder of the ITU standard H.26L.
  • the coding branch of the first level forms the master.
  • encoder 1 the following is determined for each macro block from 16 x 16 pixels on the master and synchronized for all other slaves:
  • the parameters used in the quantizers 11, 13, 21, 23, 24, 32, 34 and 35 must be coordinated with one another.
  • the spectral coefficients to be quantized are the transformed ones Prediction error matrices multiplied by a factor from a quantization table, shifted by a fixed number of digits in a shift register and thus rounded off.
  • the quantization parameters must be adapted to one another.
  • the grid 54 of the first construction stage 6 divides with its quantization stages each quantization stage of the grid 53 of the basic stage 1 into two halves.
  • the grid 54 of the first level therefore has half the step size as the grid 53 of the basic level.
  • the grid 55 of the second construction stage divides a quantization step of the grid 54 of the first construction stage into two quantization steps.
  • the step size of the grid 55 is therefore only a quarter of the step size of the grid 53.
  • the quantization levels are defined by a quantization parameter in tables A (QP) and B (QP).
  • QP quantization parameter
  • B QP
  • ni is a natural number and i is the index of the quality level.
  • r 2 was used for all successive quality levels.
  • the gradation of the quantization steps is used for the prediction error data relating to the luance as well as the chrominance. It should be pointed out that the formation of differences on the basis of the transformed prediction error data must take place in such a way that the encoder 1 and decoder 39 are prevented from drifting apart. Such a possibility is implemented in encoder 1. The reason for this is at
  • Prediction error data for example in front of the inverse transformer 14.
  • the quantization table provided in the H.26L standard was modified.
  • the successive quantization parameters each increase by 12%, the step size doubling after every six quantization parameters. pelt is.
  • a complete quantization table is shown below.
  • the basic level 5 is operated with the quantization parameter 152 in the thirteenth line and the second configuration level 7 with the parameter 608 in the first line.
  • a curve 56 represents the image quality as a function of the data rate for a conventional encoder according to the H.26L standard.
  • the image quality is quantified using the signal-to-noise ratio of the Y component (luminance). According to curve 56, the image quality increases with an increasing data rate.
  • Another curve 57 shown in FIG. 4 shows the relationship between image quality and data rate when using an encoder with a basic level and a first advanced level.
  • a curve 58 represents the relationship between image quality and data rate for an encoder with two independent coding branches without differential coding. It can be seen from FIG. 4 that with the aid of the differential code image quality is already achieved at 195 kilobit / s, which can only be achieved at a data rate of 235 kilobit / s without differential coding. Due to the optimization of the coding on the basic level, the image quality above 195 kilobit / s is somewhat worse than without differential coding. However, it is also entirely possible to optimize the differential coding for the first stage of development.
  • Figure 5 shows a further diagram in which the curve 56 on
  • An example of the signal-to-noise ratio of the Y component represents the dependence of the image quality on the bit rate for a conventional coding method.
  • Curves 59 and 60 each show the dependency of the image quality on the data rate for coding methods in which the video sequence is coded in parallel in three quality levels.
  • Curve 59 relates to a method in which the prediction error data are coded differentially.
  • the quality levels are coded independently of one another. It can be seen from FIG. 5 that the second and third quality levels are achieved by the differential coding according to curve 59 even at lower data rates. Since the differential coding according to curve 59 has been optimized with regard to the first configuration level, the image quality of the second configuration level is somewhat poorer than with independent coding in several quality levels.
  • the parallel differential coding Due to the differential parallel coding, a higher quality level can be achieved with a lower data rate compared to the parallel non-differential coding.
  • the parallel differential coding has the advantage that the computational effort for performing the coding method is significantly reduced, since in particular the search for the motion vectors only has to be carried out once.

Abstract

The invention relates to a method for coding and/or decoding video sequences. According to the invention, an encoder (1) is provided with a motion estimator (3) that impinges on three coding branches (5, 6, 7). The predicted error data calculated in said coding branches (5, 6, 7) are encoded differentially, thereby allowing an efficient coding of a plurality of quality levels.

Description

Beschreibungdescription
Verfahren zum Codieren und Decodieren von Videosequenzen und ComputerprogrammproduktVideo coding and decoding method and computer program product
Die Erfindung betrifft ein Verfahren zum Codieren von Videosequenzen sowie ein Verfahren zum Decodieren der Videosequenzen. Die Erfindung betrifft ferner ein Computerprogrammprodukt, das Programmcodes zur Ausführung der Verfahren enthält.The invention relates to a method for coding video sequences and a method for decoding the video sequences. The invention further relates to a computer program product which contains program codes for executing the method.
Verfahren zum Codieren von Videosequenzen werden vor allem dazu verwendet, um Videosequenzen effektiv zu komprimieren. Denn Videoströme können nur dann über paketorientierte Datennetze transportiert werden, wenn die dazu notwendige Datenrate unterhalb der in den paketorientierten Datennetzen verfügbaren Bandbreite liegt. Es sind daher standardisierte Verfahren, wie beispielsweise MPEG-1, MPEG-2 und H.26 , entwickelt worden, mit denen sich Videosequenzen effektiv komprimieren lassen. Die standardisierten Verfahren arbeiten mit der bewegungskompensierenden Hybrid-Codierung, einerMethods for coding video sequences are primarily used to effectively compress video sequences. This is because video streams can only be transported over packet-oriented data networks if the data rate required for this is below the bandwidth available in the packet-oriented data networks. Standardized methods, such as MPEG-1, MPEG-2 and H.26, have therefore been developed with which video sequences can be compressed effectively. The standardized methods work with the motion-compensating hybrid coding, one
Kombination aus verlustloser Redundanzreduktion und verlustbehafteter Irrelevanzreduktion.Combination of lossless redundancy reduction and lossy irrelevance reduction.
Am meisten trägt zur Kompression die sogenannte bewegungskom- pensierende Prädiktion bei. Die bewegungskompensierende Vorhersage oder auch Prädiktion nutzt die Ähnlichkeit aufeinanderfolgender Bilder aus, indem sie das aktuell zu codierende Bild aus bereits codierten Bildern vorhersagt. Da sich meist nur bestimmte Teile aufeinanderfolgender Bilder bewegen, wird beim Codieren das aktuell zu codierende Bild in rechteckigeThe so-called motion-compensating prediction contributes the most to compression. The motion-compensating prediction or prediction takes advantage of the similarity of successive pictures by predicting the picture currently to be coded from pictures already coded. Since usually only certain parts of consecutive pictures move, the picture currently to be coded becomes rectangular when encoded
Makroblöcke zerlegt. Beim Codieren werden für jeden dieser Makroblöcke aus den bereits übertragenen Bildern passende Makroblöcke herausgesucht und deren Verschiebung zu den Makroblöcken des aktuell zu codierenden Bildes berechnet. Die Verschiebungen der Makroblöcke werden durch Bewegungsvektoren beschrieben, die sich anhand von Codetabellen codieren lassen. Da das aktuell zu codierende Bild nicht in jedem Fall durch die Verschiebung von Makroblöcken bereits codierter Bilder konstruiert werden kann, beispielsweise bei neu ins Bild kom- menden Objekten, muss auch der Vorhersagefehler oder Prädiktionsfehler übertragen werden. Dieser Prädiktionsfehler ergibt sich aus der Differenz zwischen dem tatsächlichen aktuell zu codierenden Bild und dem durch Verschieben der Makroblöcke aus bereits codierten Bildern konstruiertem Prädikti- onsbild.Macroblocks disassembled. When coding, suitable macroblocks are selected for each of these macroblocks from the images already transmitted and their shift to the macroblocks of the image currently to be coded is calculated. The shifts in the macroblocks are described by motion vectors that can be coded using code tables. Since the image currently to be encoded cannot always be constructed by shifting macroblocks of already encoded images, for example in the case of new objects entering the image, the prediction error or prediction error must also be transmitted. This prediction error results from the difference between the actual picture currently to be coded and the prediction picture constructed by shifting the macroblocks from pictures already coded.
Da die Prädiktionsfehler benachbarter Bildpunkte in nicht oder nur schlecht prädizierbaren Bereichen korrelieren, wird zur weiteren Redundanzreduktion eine Transformation der Prä- diktionsfehler durchgeführt. Je nach Kompressionsverfahren kommen dabei verschiedene Transformationsverfahren zur Anwendung. Möglich sind beispielsweise die diskrete avelet-Transformation (DWT) , die diskrete Cosinus-Transformation (DCT) oder die diskrete Integer-Transformation. Durch diese Transformation werden die Makroblöcke inSince the prediction errors of neighboring pixels correlate in areas that are difficult or impossible to predict, a transformation of the prediction errors is carried out to further reduce the redundancy. Depending on the compression process, different transformation processes are used. For example, the discrete avelet transformation (DWT), the discrete cosine transformation (DCT) or the discrete integer transformation are possible. This transformation turns the macroblocks into
Prädiktionsfehlermatrizen transformiert, die mit einer Vielzahl von Spektralkoeffizienten besetzt sind. Diese Prädiktionsfehlermatrizen bilden zusammen die transformierten Prädiktionsfehlerdaten.Prediction error matrices transformed, which are populated with a variety of spectral coefficients. These prediction error matrices together form the transformed prediction error data.
Um die zur Übertragung der Videosequenz erforderliche Datenrate weiter zu verringern, werden die transformierten Prädiktionsfehlerdaten vor der weiteren Codierung quantisiert. Nach der Quantisierung sind viele Spektralkoeffizienten gleich Null. Die transformierten und quantisierten Prädiktionsfehlerdaten können dann durch Entropiecodieren effektiv komprimiert werden.In order to further reduce the data rate required for the transmission of the video sequence, the transformed prediction error data are quantized before the further coding. After quantization, many spectral coefficients are zero. The transformed and quantized prediction error data can then be effectively compressed by entropy coding.
Der fertig codierte Videodatenstrom setzt sich schließlich aus den entropiecodierten Prädiktionsfehlerdaten und den entropiecodierten Bewegungsinformationen der Makroblöcke zusammen. Außerdem kann der Videodatenstrom noch Informationen über verschiedene Codierparameter enthalten. Durch Decodieren dieses Videodatenstroms in einem Decoder kann die ursprüngliche Videosequenz rekonstruiert werden.The finally coded video data stream is finally composed of the entropy-coded prediction error data and the entropy-coded movement information of the macroblocks. The video data stream can also contain information contain various coding parameters. The original video sequence can be reconstructed by decoding this video data stream in a decoder.
Derzeit werden die über die paketorientierten Datennetze abrufbaren Videodatenströme üblicherweise kostenlos angeboten. Da die Betreiber jedoch nicht völlig auf eine kommerzielle Nutzung verzichten wollen, werden die Videosequenzen lediglich in einer niedrigen Qualitätsstufe codiert. Um die Benut- zer des Internets an gebührenpflichtige Dienste zu gewöhnen, sind Bestrebungen im Gange, den Benutzern neben kostenlosen Videosequenzen niedriger Qualität gegen Bezahlung Videosequenzen höherer Qualitätsstufen anzubieten. Durch die Staffelung der Qualität der Videosequenzen soll die Eintritts- schwelle für den Benutzer gesenkt werden. Um Videosequenzen nach Qualitätsstufen gestaffelt über die paketorientierten Datennetze zu vertreiben, sind effektive Codier- und Deco- dierverfahren notwendig, die die Videodatenströme möglichst effektiv komprimieren.At present, the video data streams that can be called up via the packet-oriented data networks are usually offered free of charge. However, since the operators do not want to completely forego commercial use, the video sequences are only encoded in a low quality level. In order to get the Internet users used to fee-based services, efforts are being made to offer video sequences of higher quality levels in addition to free video sequences of low quality for a fee. The entry threshold for the user is to be lowered by staggering the quality of the video sequences. In order to distribute video sequences staggered according to quality levels over the packet-oriented data networks, effective coding and decoding methods are necessary which compress the video data streams as effectively as possible.
Ausgehend von diesem Stand der Technik liegt der Erfindung die Aufgabe zugrunde, effektive Verfahren zum Codieren und Decodieren von Videosequenzen zu schaffen, mit denen sich Videosequenzen nach Qualitätsstufen gestaffelt codieren lassen,Proceeding from this prior art, the object of the invention is to create effective methods for coding and decoding video sequences with which video sequences can be coded according to quality levels,
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren zum Codieren von Videosequenzen mit den folgenden Verfahrensschritten gelöst:This object is achieved according to the invention by a method for coding video sequences with the following method steps:
- Schätzen einer aktuellen Bildinformation aus bereits über- tragenen Bildbereichen und Bestimmen von Prädiktionsfehlerda- ten verschiedener Qualitätsstufen in verschiedenen Codierzweigen;- Estimating current image information from already transmitted image areas and determining prediction error data of different quality levels in different coding branches;
- Quantisieren und Codieren der Prädiktionsfehlerdaten einer ersten Qualitätsstufe; - Berechnen von Differenzdaten durch Subtraktion der Prädik- tionsfehlerdaten der ersten Qualitätsstufe von Prädiktions- fehlerdaten einer zweiten Qualitätsstufe; und - Quantisieren und Codieren der Differenzdaten.- quantizing and coding the prediction error data of a first quality level; - Calculating difference data by subtracting the prediction error data of the first quality level from prediction error data of a second quality level; and - Quantize and encode the difference data.
Diese Aufgabe wird ferner erfindungsgemäß durch ein Verfahren zum Decodieren von Videosequenzen mit den folgenden Verfah- rensschritten gelöst:This object is further achieved according to the invention by a method for decoding video sequences with the following method steps:
- Empfang von Videodatenströmen, die verschiedenen Qualitätsstufen zugeordnet sind;- Receiving video data streams that are assigned to different quality levels;
- Decodieren der Videodatenströme und Durchführen einer in- versen Quantisierung zur Rekonstruktion von transformierten Prädiktionsfehlerdaten;Decoding the video data streams and performing an inverse quantization for the reconstruction of transformed prediction error data;
- Addition der rekonstruierten transformierten Prädiktionsfehlerdaten;- addition of the reconstructed transformed prediction error data;
- Durchführen einer inversen Transformation zur Rekonstruktion von Prädiktionsfehlerdaten und Addition der Prädiktions- fehlerdaten auf ein übermitteltes Prädiktionsbild.- Carrying out an inverse transformation for the reconstruction of prediction error data and adding the prediction error data to a transmitted prediction image.
Bei dem Verfahren zum Codieren einer Videosequenz wird die Videosequenz zunächst in getrennten Codierzweigen in verschiedenen Qualitätsstufen codiert. Die dabei erzeugten transformierten Prädiktionsfehlerdaten werden jedoch nicht vollständig übertragen. Vielmehr werden ausschließliche Prädiktionsfehlerdaten einer ersten Qualitätsstufe vollständig übermittelt. Diese ersten Prädiktionsfehlerdaten werden von den Prädiktionsfehlerdaten der nächsten Qualitätsstufe abgezogen und die so berechneten Differenzen übertragen.In the method for coding a video sequence, the video sequence is first coded in separate coding branches in different quality levels. However, the transformed prediction error data generated in this way is not completely transmitted. Rather, exclusive prediction error data of a first quality level are completely transmitted. This first prediction error data is subtracted from the prediction error data of the next quality level and the differences calculated in this way are transmitted.
Analog werden die Prädiktionsfehlerdaten einer Qualitätsstufe von den Prädiktionsfehlerdaten, der jeweils nächsten Qualitätsstufe abgezogen und diese Differenzen übertragen. Es hat sich gezeigt, dass diese Differenzen häufig gleich Null sind, so dass die zusätzlichen Qualitätsstufen nur wenig zusätzliche Bandbreite zur Übertragung benötigen.Similarly, the prediction error data of one quality level is subtracted from the prediction error data of the next quality level and these differences are transferred. It has been shown that these differences are often zero, so that the additional quality levels require little additional bandwidth for transmission.
Bei einer bevorzugten Ausführungsform werden die Bildinformationen unter denen die von den Bewegungsvektoren gebildeten Bewegungsinformationen zu verstehen sind, auf der Grundlage von Codierparametern bestimmt, die für einen der Codierzweige optimiert sind. Diese Bewegungsinformation kann dann auch von den anderen Codierzweigen übernommen werden.In a preferred embodiment, the image information, which is to be understood as the motion information formed by the motion vectors, is determined on the basis of coding parameters which are relevant for one of the Coding branches are optimized. This movement information can then also be adopted by the other coding branches.
Durch diese Gestaltung kann der Rechenaufwand für das Bilden der Bewegungsinformation wesentlich verringert werden, da die Bewegungsinformationen nicht mehrmals berechnet werden müssen.With this design, the computing effort for forming the movement information can be significantly reduced, since the movement information does not have to be calculated repeatedly.
Bei einer bevorzugten Ausführungsform werden die transfor- mierten Prädiktionsfehlerdaten und die Differenzen der transformierten Prädiktionsfehlerdaten in jedem Codierzweig quantisiert, indem die Prädiktionsfehlerdaten mit einem Multiplikator multipliziert, in einem Schieberegister um eine festgelegte Zahl von Stellen verschoben und auf die Vorkommasteilen gerundet werden. Die Multiplikatoren der verschiedenen Qualitätsstufen stehen dabei in einem ganzzahligen Verhältnis zueinander.In a preferred embodiment, the transformed prediction error data and the differences of the transformed prediction error data in each coding branch are quantized by multiplying the prediction error data by a multiplier, shifting them in a shift register by a fixed number of digits and rounding them to the parts before the decimal point. The multipliers of the different quality levels are in an integer relationship to each other.
Mit dieser Vorgehensweise werden die bei der Quantisierung verwendeten Raster zueinander zur Deckung gebracht. Das bedeutet, dass das Raster eines Quantisierungsvorgangs mit kleiner Rastergröße sich mit einem Raster eines Quantisierungsvorgangs mit großer Rastergröße deckt.With this procedure, the rasters used in the quantization are brought into register with one another. This means that the grid of a quantization process with a small grid size coincides with a grid of a quantization process with a large grid size.
Durch die Abstimmung der Quantisierer wird verhindert, dass der Decoder und der Encoder auseinanderdriften.The coordination of the quantizers prevents the decoder and the encoder from drifting apart.
Weitere Einzelheiten sind Gegenstand der abhängigen Ansprüche.Further details are the subject of the dependent claims.
Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand der beigefügten Zeichnung erläutert. Es zeigen:An exemplary embodiment of the invention is explained below with reference to the accompanying drawing. Show it:
Figur 1 ein Blockdiagramm eines Codierverfahrens mit mehre- ren Qualitätsstufen; Figur 2 ein Blockdiagramm eines Decodierverfahrens für mehrere Videodatenströme verschiedener Qualitätsstufen;FIG. 1 shows a block diagram of a coding method with several quality levels; FIG. 2 shows a block diagram of a decoding method for a plurality of video data streams of different quality levels;
Figur 3 ein Diagramm, in dem verschiedene für dieFigure 3 is a diagram in which different for the
Quantisierung verwendbare Raster veranschaulicht sind;Quantization usable rasters are illustrated;
Figur 4 ein Diagramm, in dem die Abhängigkeit des Bildrau- schens von der Datenrate für verschiedene Codierverfahren dargestellt ist; undFIG. 4 shows a diagram in which the dependence of the image noise on the data rate is shown for different coding methods; and
Figur 5 ein Diagramm, in dem die Abhängigkeit des Bildrauschens von der Datenrate für weitere Codierverfah- ren gezeigt ist.FIG. 5 shows a diagram in which the dependence of the image noise on the data rate is shown for further coding methods.
In Figur 1 ist ein Encoder 1 dargestellt. Das innerhalb des Encoders ablaufende Codierverfahren wird anhand der einzelnen Komponenten des Encoders 1 dargestellt. Es ist dem Fachmann klar, dass die hier beschriebenen Komponenten des Encoders gleichbedeutend mit entsprechenden Verfahrensschritten des Codierverfahrens sind.In Figure 1, an encoder 1 is shown. The coding process taking place within the encoder is illustrated using the individual components of the encoder 1. It is clear to the person skilled in the art that the components of the encoder described here are synonymous with corresponding method steps of the coding method.
Der Encoder 1 weist einen Eingang 2 auf, in dem die Videoda- ten der Videosequenz eingespeist werden. Dem Eingang 2 ist eine Bewegungsschätzeinheit 3 nachgeschaltet. Die Bewegungsschätzeinheit 3 segmentiert ein aktuell zu codierendes Bild der Videosequenz in rechteckige Makroblöcke, die meist 8 x 8 oder 16 x 16 Bildpunkte groß sind. Für jeden dieser Makro- blocke sucht die Bewegungsschätzeinheit 3 aus bereits übertragenen Bildern passende Makroblöcke heraus und berechnet deren Bewegungsvektoren. Die von der Bewegungsschätzeinheit berechneten Bewegungsvektoren werden mit Hilfe eines Entropiecodierers 4 codiert und anschließend übertragen.The encoder 1 has an input 2, into which the video data of the video sequence are fed. A movement estimation unit 3 is connected downstream of the input 2. The motion estimation unit 3 segments an image of the video sequence that is currently to be encoded into rectangular macroblocks, which are usually 8 x 8 or 16 x 16 pixels. For each of these macro blocks, the motion estimation unit 3 looks for suitable macro blocks from already transmitted images and calculates their motion vectors. The motion vectors calculated by the motion estimation unit are encoded using an entropy encoder 4 and then transmitted.
Neben der Bewegungsschätzeinheit 3 umfasst der Encoder 1 drei Codierzweige, die jeweils einer Grundstufe 5 sowie einer er- sten und zweiten Aufbaustufe 6 und 7 zugeordnet sind. Die Grundstufe 5 weist einen Bewegungskompensator 8 auf, der auf der Grundlage der von der Bewegungsschätzeinheit 3 berechneten Bewegungsvektoren ein Prädiktionsbild errechnet und die- ses einem Subtrahierer 9 zuführt. Im Subtrahierer 9 wird das Prädiktionsbild vom aktuell zu codierenden Bild abgezogen. Auf diese Weise werden Prädiktionsfehlerdaten erzeugt, die anschließend einem Transformator 10 mit nachfolgendem Quantisierer 11 zugeführt werden. Der Transformator 10 führt beispielsweise eine diskrete Cosinus-Transformation oder diskrete Integer-Transformation aus. Die transformierten und quantisierten Prädiktionsfehlerdaten werden schließlich durch einen Entropiecodierer 12 codiert. Außerdem werden die quantisierten Prädiktionsfehlerdaten einem inversen Quantisierer 13 zugeführt, dem ein inverser Transformator 14 nachgeschaltet ist. Zu den durch den inversen Quantisierer und den inversen Transformator 14 rekonstruierten Prädiktionsfehlerdaten wird in einem Addierer 15 das vom Bewegungskompensator 8 erzeugte Prädiktionsbild hinzuaddiert. Das in einem Bildspeicher 16 abgelegte Bild entspricht daher dem von einem zugeordneten Decodierer erzeugten Bild.In addition to the motion estimation unit 3, the encoder 1 comprises three coding branches, each of which comprises a basic level 5 and an most and second level 6 and 7 are assigned. The basic stage 5 has a motion compensator 8, which calculates a prediction image on the basis of the motion vectors calculated by the motion estimation unit 3 and feeds it to a subtractor 9. In the subtractor 9, the prediction picture is subtracted from the picture currently to be coded. In this way, prediction error data are generated, which are then fed to a transformer 10 with a subsequent quantizer 11. The transformer 10 carries out, for example, a discrete cosine transformation or discrete integer transformation. The transformed and quantized prediction error data are finally encoded by an entropy encoder 12. In addition, the quantized prediction error data are fed to an inverse quantizer 13, which is followed by an inverse transformer 14. In addition to the prediction error data reconstructed by the inverse quantizer and the inverse transformer 14, the prediction image generated by the motion compensator 8 is added. The image stored in an image memory 16 therefore corresponds to the image generated by an assigned decoder.
Auch die erste Aufbaustufe 6 verfügt über einen Bewegungskompensator 17, der aus bereits übertragenen Bildern ein Prädik- tionsbild errechnet, das in einem Subtrahierer 18 vom aktuell zu codierenden Bild subtrahiert wird. Dem Subtrahierer 18 ist ein Transformator 19 nachgeschaltet, der die vom Subtrahierer errechneten Prädiktionsfehlerdaten transformiert. Mit den transformierten Prädiktionsfehlerdaten wird ein Subtrahierer 20 beaufschlagt, der von diesen transformiertenThe first development stage 6 also has a motion compensator 17 which calculates a prediction image from images already transmitted, which is subtracted in a subtractor 18 from the image currently to be coded. A subtractor 18 is followed by a transformer 19 which transforms the prediction error data calculated by the subtractor. The transformed prediction error data is applied to a subtractor 20, which is transformed by it
Prädiktionsfehlerdaten der ersten Aufbaustufe 6 die vom inversen Quantisierer 13 der Grundstufe 5 rekonstruierten transformierten Prädiktionsfehlerdaten abzieht. Die im Subtrahierer errechneten Differenzdaten gelangen zu einem Quantisierer 21, der diese quantisiert und an einen Entropiecodierer 22 weiterleitet. Die vom Transformator 19 berechneten transformierten Prädiktionsfehlerdaten gelangen auch zu einem Quantisierer 23 mit nachgeschaltetem inversem Quantisierer 24 und inversem Transformator 25. Die so rekonstruierten Prädiktionsfehlerdaten werden in einem Addierer 26 zu dem vom Bewegungskompensator 17 erzeugten Prädiktionsbild hinzuaddiert. Das so rekonstruierte Bild der ersten Aufbaustufe 6 wird in einem Bildspei- cher 27 abgelegt.Subtracts prediction error data of the first construction stage 6, which transforms the prediction error data reconstructed by the inverse quantizer 13 of the basic stage 5. The difference data calculated in the subtractor reach a quantizer 21, which quantizes them and forwards them to an entropy encoder 22. The transformed prediction error data calculated by the transformer 19 also reach a quantizer 23 with a subsequent inverse quantizer 24 and inverse transformer 25. The prediction error data thus reconstructed are added in an adder 26 to the prediction picture generated by the motion compensator 17. The image of the first construction stage 6 thus reconstructed is stored in an image memory 27.
Auch die zweite Aufbaustufe 7 verfügt über einen Bewegungskompensator 28, der aus bereits übertragenen Bildern ein Prädiktionsbild errechnet, das in einem Subtrahierer 29 von einem aktuell zu codierenden Bild abgezogen wird. Die dabei erzeugten Prädiktionsfehlerdaten werden in einem Transformator 30 transformiert und einem Subtrahierer 31 zugeführt. Im Subtrahierer 31 werden die vom inversen Quantisierer 24 der ersten Aufbaustufe 6 rekonstruierten transformierten Prädiktionsfehlerdaten von den transformierten Prädiktionsfehlerdaten der zweiten Aufbaustufe 7 subtrahiert. Die dabei errechneten Differenzdaten werden einem Quantisierer 32 mit nachfolgenden Entropiecodierer 33 zugeführt. Die vom Transformator 30 der zweiten Aufbaustufe 7 gelieferten transformierten Prädiktionsfehlerdaten gelangen auch zu einem Quantisierer 34 mit nachgeschaltetem inversem Quantisierer 35 und inversem Trans- formator 36. Die durch den inversen Quantisierer 35 und den inversen Transformator 36 rekonstruierten Prädiktionsfehlerdaten werden schließlich in einem Addierer 37 zu dem vom Bewegungskompensator 28 erzeugten Prädiktionsbild hinzuaddiert und das Ergebnis in einem Bildspeicher 38 abgespeichert.The second development stage 7 also has a motion compensator 28, which calculates a prediction image from already transmitted images, which is subtracted from a picture currently to be coded in a subtractor 29. The prediction error data generated in the process are transformed in a transformer 30 and fed to a subtractor 31. In the subtractor 31, the transformed prediction error data reconstructed by the inverse quantizer 24 of the first development stage 6 are subtracted from the transformed prediction error data of the second construction stage 7. The difference data calculated in this way is fed to a quantizer 32 with subsequent entropy encoder 33. The transformed prediction error data supplied by the transformer 30 of the second construction stage 7 also reach a quantizer 34 with a subsequent inverse quantizer 35 and inverse transformer 36. The prediction error data reconstructed by the inverse quantizer 35 and the inverse transformer 36 are finally added to this in an adder 37 Prediction image generated by the motion compensator 28 is added and the result is stored in an image memory 38.
In Figur 2 ist das Blockdiagramm eines Decoders 39 dargestellt. Dem Fachmann ist klar, dass das in Figur 2 dargestellte Blockdiagramm auch als Blockdiagramm eines Decodierverfahrens aufgefasst werden kann.The block diagram of a decoder 39 is shown in FIG. It is clear to the person skilled in the art that the block diagram shown in FIG. 2 can also be understood as a block diagram of a decoding method.
Der Decoder 39 umfasst einen Entropiedecoder 40 zum Decodieren der vom Encoder 1 gelieferten Bewegungsvektoren. Ferner umfasst der Decoder 39 drei Decodierzweige, die jeweils der Grundstufe 5, der ersten Aufbaustufe 6 und der zweiten Aufbaustufe 7 zugeordnet sind. Der Decodierzweig, der der Grundstufe 5 zugeordnet ist, umfasst jeweils einen Entropiedecoder 41 und einen inversen Quantisierer 42. Auch der der erstenThe decoder 39 comprises an entropy decoder 40 for decoding the motion vectors supplied by the encoder 1. Further the decoder 39 comprises three decoding branches, each of which is assigned to the basic stage 5, the first advanced stage 6 and the second advanced stage 7. The decoding branch, which is assigned to the basic stage 5, in each case comprises an entropy decoder 41 and an inverse quantizer 42. That of the first, too
Aufbaustufe 6 zugeordnete Decodierzweig weist einen Entropiecodierer 43 und einen inversen Quantisierer 44 auf. Gleiches gilt für den der zweiten Aufbaustufe 7 zugeordneten Decodierzweig, der mit einem Entropiedecoder 45 mit nachgeschaltetem inversem Quantisierer 46 ausgestattet ist. Die von den inversen Quantisierern 42, 44 und 46 rekonstruierten Prädiktionsfehlerdaten werden durch Addierer 47 und 48 zusammengefasst und einem inversen Transformator 49 zugeführt. Die vom inversen Transformator 49 erzeugten Prädiktionsfehlerdaten werden in einem Addierer 50 dem von einem Bewegungskompensator 51 erzeugten Prädiktionsbild hinzugefügt und in einem Bildspeicher 52 abgespeichert. Außerdem werden die im Bildspeicher 52 abgespeicherten Bilder an einem Ausgang 53 an ein nicht dargestelltes Wiedergabegerät ausgegeben.Decoder branch assigned to configuration stage 6 has an entropy encoder 43 and an inverse quantizer 44. The same applies to the decoding branch assigned to the second configuration stage 7, which is equipped with an entropy decoder 45 with an inverse quantizer 46 connected downstream. The prediction error data reconstructed by the inverse quantizers 42, 44 and 46 are combined by adders 47 and 48 and fed to an inverse transformer 49. The prediction error data generated by the inverse transformer 49 are added in an adder 50 to the prediction image generated by a motion compensator 51 and stored in an image memory 52. In addition, the images stored in the image memory 52 are output at an output 53 to a display device (not shown).
Bei dem hier vorgestellten Encoder 1 werden nur die transformierten und quantisierten Prädiktionsfehlerdaten der Grundstufe 5 vollständig übertragen. In der ersten Aufbaustufe 6 und der zweiten Aufbaustufe 7 werden dagegen jeweils nur die Differenzen zu der jeweils darunterliegenden Grundstufe 5 oder ersten Aufbaustufe 6 übertragen. Um eine effiziente Differenzbildung zu ermöglichen, müssen die Grundstufe 5 sowie die erste und zweite Aufbaustufe 6 und 7 synchronisiert werden.In the case of the encoder 1 presented here, only the transformed and quantized prediction error data of the basic level 5 are completely transmitted. In contrast, in the first advanced level 6 and the second advanced level 7 only the differences to the underlying basic level 5 or first advanced level 6 are transmitted. In order to enable efficient difference formation, the basic level 5 as well as the first and second advanced levels 6 and 7 must be synchronized.
Unter Synchronisieren wird in diesem Zusammenhang die Verwendung gleicher Codierparameter in der Grundstufe 5 sowie der ersten und zweiten Aufbaustufe 6 und 7 verstanden. Dabei kann der Encoder 1 auch zwei oder mehr als drei Codierzweige aufweisen. Allgemein wird zunächst derjenige Codierzweig bestimmt, dessen Codierung unter dem Gesichtspunkt der Rate-Distortion-Op- timierung optimiert ist. Dieser Codierzweig wird nachfolgend als "Master" bezeichnet. Für diesen Master werden zum Beispiel folgende Codierparameter festgelegt:In this context, synchronization is understood to mean the use of the same coding parameters in basic level 5 and in first and second advanced levels 6 and 7. The encoder 1 can also have two or more than three coding branches. In general, the coding branch is first determined, the coding of which is optimized from the point of view of rate distortion optimization. This coding branch is referred to below as the "master". For example, the following coding parameters are defined for this master:
- die Entscheidung zwischen Intra- und Inter-Codierung einzelner Bilder oder Bildteile;- the decision between intra and inter coding of individual pictures or parts of pictures;
- der Modus der Intra- oder Inter-Prädiktion;- the mode of intra or inter prediction;
- die Blockgrößen für die Intra- oder Inter-Prädiktion; - die Nummer des Referenzbildes für die Inter-Prädiktion; und- the block sizes for intra or inter prediction; - the number of the reference image for the inter-prediction; and
- die Bewegungsvektoren.- the motion vectors.
Die übrigen Codierzweige, die auch Slaves genannt werden, passen sich bei der Encodierung dem Master an. Das bedeutet, dass die Slaves immer die Codierparameter zum Codieren eines bestimmten Bildteils verwenden, den auch der Master gewählt hat. Dadurch müssen die Codierparameter nur einmal an den Decoder 39 übertragen werden. Außerdem wird durch diese Art der Synchronisation erst die differentielle Codierung der trans- formierten Prädiktionsfehlerdaten möglich.The other coding branches, which are also called slaves, adapt to the master during encoding. This means that the slaves always use the coding parameters to code a specific part of the picture that the master also selected. As a result, the coding parameters need only be transmitted to the decoder 39 once. In addition, this type of synchronization only makes differential coding of the transformed prediction error data possible.
Mit dem Zuschalten der ersten Aufbaustufe 6 und der zweiten Aufbaustufe 7 sowie weiterer eventuell vorhandener Aufbaustufen nimmt auch die Datenrate zu, die zum Übertragen des ge- samten von den Entropiecodierern 12, 22 und 33 gelieferten Videodatenstroms erforderlich ist.With the connection of the first advanced stage 6 and the second advanced stage 7 as well as further possibly existing advanced stages, the data rate required to transmit the entire video data stream supplied by the entropy encoders 12, 22 and 33 also increases.
Da mit dem Zuschalten der ersten Aufbaustufe 6 und der zweiten Aufbaustufe 7 sowie weiterer eventuell vorhandener Auf- baustufen die Datenrate zunimmt, die zum Übertragen des gesamten von den Entropiecodierern 12, 22 und 33 gelieferten Videodatenstroms erforderlich ist, wird durch die Auswahl eines Codierzweiges als Master auch festgelegt, für welche Datenrate die Codierung optimiert ist. Bei mehr als zwei Co- dierzweigen bietet es sich an, einen mittleren Codierzweig, dem eine mittlere Datenrate zugeordnet ist, zu optimieren. Dadurch führen die übrigen Codierzweige ein Codierverfahren aus, das nur wenig vom Optimum abweicht. Folglich werden auch die Codierverluste durch die Synchronisation der Codierzweige minimiert .Since the connection of the first construction stage 6 and the second construction stage 7 as well as further possibly existing construction stages increases the data rate which is necessary for transmitting the entire video data stream supplied by the entropy encoders 12, 22 and 33, the selection of a coding branch becomes the master also specified for which data rate the coding is optimized. If there are more than two coding branches, it is advisable to optimize a middle coding branch to which an average data rate is assigned. As a result, the remaining coding branches use a coding method that deviates only slightly from the optimum. As a result, coding losses due to the synchronization of the coding branches are also minimized.
Der in Figur 1 dargestellte Encoder 1 baut auf einem Codierer des ITU-Standards H.26L auf. Beim Encoder 1 bildet der Codierzweig der ersten Aufbaustufe den Master. Bei dem Encoder 1 wird für jeden Makroblock aus 16 x 16 Bildpunkten folgendes beim Master bestimmt und bei allen anderen Slaves synchronisiert:The encoder 1 shown in FIG. 1 is based on an encoder of the ITU standard H.26L. With encoder 1, the coding branch of the first level forms the master. With encoder 1, the following is determined for each macro block from 16 x 16 pixels on the master and synchronized for all other slaves:
- die Entscheidung zwischen Intra-Codierung (Prädiktion aus benachbarten und bereits codierten Blöcken des gleichen Bildes) und Inter-Codierung (Prädiktion aus Blöcken vorheriger Bilder, maximal fünf) , - die Interpolations- und Deblocking-Filter für die Prädiktion,- the decision between intra-coding (prediction from adjacent and already coded blocks of the same picture) and inter-coding (prediction from blocks of previous pictures, maximum five), - the interpolation and deblocking filters for the prediction,
Für Intra-Codierung zusätzlich:For intra-coding additionally:
- die Entscheidung zwischen Codierung auf Makroblockgröße (16 x 16 Bildpunkte oder auf einer Blockgröße von 4 x 4 Bildpunkten, und- the decision between coding on macro block size (16 x 16 pixels or on a block size of 4 x 4 pixels, and
- die Entscheidung zwischen den verschiedenen Intra-Codie- rungs-Modi für die örtliche Prädiktion (horizontal, vertikal, diagonal) ,- the decision between the different intra-coding modes for the local prediction (horizontal, vertical, diagonal),
Für Inter-Codierung zusätzlich:For inter-coding additionally:
- das Referenzbild (1 bis 5), von dem aus prädiziert wird;- the reference image (1 to 5) from which the prediction is made;
- die Blockgröße (16 x 16, 16 x 8, 8 x 16, 8 x 8, 8 x 4, 4 x 8, 4 x 4), auf die sich die Bewegungsvektoren beziehen; und - die Bewegungsvektoren für die einzelnen Blöcke.- the block size (16 x 16, 16 x 8, 8 x 16, 8 x 8, 8 x 4, 4 x 8, 4 x 4) to which the motion vectors refer; and - the motion vectors for the individual blocks.
Um zu verhindern, dass der Encoder 1 und der Decoder 39 auseinanderlaufen, müssen die in den Quantisierern 11, 13, 21, 23, 24, 32, 34 und 35 verwendeten Parameter aufeinander abge- stimmt werden. Gemäß dem im Standard H.26 verwendeten Quantisierungsverfahren werden die zu quantisierenden Spektralkoeffizienten der transformierten Prädiktionsfehlermatrizen mit einem Faktor aus einer Quantisierungstabelle multipliziert, in einem Schieberegister um eine festgelegte Zahl von Stellen verschoben und dadurch abgerundet .In order to prevent the encoder 1 and the decoder 39 from running apart, the parameters used in the quantizers 11, 13, 21, 23, 24, 32, 34 and 35 must be coordinated with one another. According to the quantization method used in the H.26 standard, the spectral coefficients to be quantized are the transformed ones Prediction error matrices multiplied by a factor from a quantization table, shifted by a fixed number of digits in a shift register and thus rounded off.
Um ein Auseinanderdriften von Encoder 1 und Decoder 39 zu verhindern, müssen die Quantisierungsparameter aneinander angepasst werden. Insbesondere ist erforderlich, dass für die Quantisierer 11, 21, 23, 32 und 34 sowie die inversen Quantisierer 13, 24 und 35 jeweils die in Figur 3 dargestellten Raster 53, 54 und 55 verwendet werden, die aufeinander zur Deckung gebracht werden. Dementsprechend teilt das Raster 54 der ersten Aufbaustufe 6 mit seinen Quantisierungsstufen jede Quantisierungsstufe des Rasters 53 der Grundstufe 1 in jeweils zwei Hälften. Das Raster 54 der ersten Aufbaustufe weist daher die halbe Schrittgröße wie das Raster 53 der Grundstufe auf. Das Raster 55 der zweiten Aufbaustufe schließlich unterteilt jeweils einen Quantisierungs- schritt des Rasters 54 der ersten Aufbaustufe in zwei Quanti- sierungsschritte . Die Schrittweite des Rasters 55 beträgt daher nur ein Viertel der Schrittweite des Rasters 53.In order to prevent encoder 1 and decoder 39 from drifting apart, the quantization parameters must be adapted to one another. In particular, it is necessary that for the quantizers 11, 21, 23, 32 and 34 and the inverse quantizers 13, 24 and 35 the grids 53, 54 and 55 shown in FIG. 3 are used, which are brought into register with one another. Accordingly, the grid 54 of the first construction stage 6 divides with its quantization stages each quantization stage of the grid 53 of the basic stage 1 into two halves. The grid 54 of the first level therefore has half the step size as the grid 53 of the basic level. Finally, the grid 55 of the second construction stage divides a quantization step of the grid 54 of the first construction stage into two quantization steps. The step size of the grid 55 is therefore only a quarter of the step size of the grid 53.
Im Falle eines Encoders 1, der auf den Standardcodierer H.26L aufsetzt, sind die Quantisierungsstufen durch einen Quantisierungsparameter in Tabellen A(QP) und B(QP) festgelegt. Damit die Raster 53, 54 und 55 aufeinander zur Deckung gebracht werden, muss gelten:In the case of an encoder 1, which is based on the standard encoder H.26L, the quantization levels are defined by a quantization parameter in tables A (QP) and B (QP). In order for grids 53, 54 and 55 to be aligned, the following must apply:
A(QPi)/A(QPi_ι) = B(QPi-ι)/B(QPi) = mA (QPi) / A (QPi_ι) = B (QPi-ι) / B (QPi) = m
wobei ni eine natürliche Zahl ist und i der Index der Qualitätsstufe ist. In der Praxis wurde r = 2 für alle aufeinanderfolgenden Qualitätsstufen verwendet. Die Abstufung der Quantisierungsschritte wird sowohl für die die Lu inanz als auch die die Chrominanz betreffenden Prädiktionsfehlerdaten verwendet . Es sei darauf hingewiesen, dass die Differenzenbildung auf der Grundlage der transformierten Prädiktionsfehlerdaten so erfolgen muss, dass ein Auseinanderdriften von Encoder 1 und Decoder 39 verhindert wird. Eine derartige Möglichkeit ist im Encoder 1 realisiert. Grund dafür ist die bei derwhere ni is a natural number and i is the index of the quality level. In practice, r = 2 was used for all successive quality levels. The gradation of the quantization steps is used for the prediction error data relating to the luance as well as the chrominance. It should be pointed out that the formation of differences on the basis of the transformed prediction error data must take place in such a way that the encoder 1 and decoder 39 are prevented from drifting apart. Such a possibility is implemented in encoder 1. The reason for this is at
Quantisierung durchgeführte Rundung, wenn gemäß dem Standard H.26L quantisiert wird.Rounding performed when quantizing according to the H.26L standard.
Es lässt sich zeigen, dass nur unter diesen beiden Voraussetzungen, kein Auseinanderdriften auftritt.It can be shown that only under these two conditions does not drift apart.
Eine weitere wichtige Voraussetzung für die Durchführbarkeit der Differenzenbildung betrifft das Verhältnis zwischen den transformierten Prädiktionsfehlerdaten, zum Beispiel nach dem Transformator 10, und den dequantisiertenAnother important prerequisite for the feasibility of the difference formation relates to the relationship between the transformed prediction error data, for example after the transformer 10, and the dequantized ones
Prädiktionsfehlerdaten, zum Beispiel vor dem inversen Transformator 14.Prediction error data, for example in front of the inverse transformer 14.
Bei dem im Standardcodierer gemäß H.26L vorgesehenen Algorithmus besteht zwischen einem transformierten Spektralkoeffizienten K der transformierten Produktionsfehlerdaten und einem dequantisierten Spektralkoeffizienten K' ein Verhältnis von s = K/K' = 220/6762. Für ein differentielles Codieren der Prä- diktionsfehlerdaten ist ein Skalierungsfaktor s = 1 erforderlich. Daher muss die Beziehung zwischen den Quantisierungsparametern A und B jeweils lauten:Wherein in Standardcodierer according to H.26L provided algorithm exists between a transformed spectral coefficients K of the transformed production error data and a dequantized spectral coefficients K 'is a ratio of S = K / K' = 2 20/676. 2 A scaling factor s = 1 is required for differential coding of the prediction error data. Therefore, the relationship between quantization parameters A and B must be:
Figure imgf000015_0001
Figure imgf000015_0001
Unter der Berücksichtigung dieser Bedingungen wurde die im Standard H.26L vorgesehene Quantisierungstabelle modifiziert Die Tabelle beginnt mit einem niedrigsten Wert A(QP3i) = 17, wie beim Stand der Technik. Die aufeinanderfolgenden Quanti- sierungsparameter nehmen jeweils um 12 % zu, wobei nach jeweils sechs Quantisierungsparametern die Schrittweite verdop- pelt wird. Nachfolgend ist eine vollständige Quantisierungs- tabelle wiedergegeben. Taking these conditions into account, the quantization table provided in the H.26L standard was modified. The table begins with a lowest value A (QP 3i ) = 17, as in the prior art. The successive quantization parameters each increase by 12%, the step size doubling after every six quantization parameters. pelt is. A complete quantization table is shown below.
const int JQ[32] [2]const int JQ [32] [2]
{{
{608, 1725 },{608, 1725},
{544, 1928 }{544, 1928}
{496, 2114 }{496, 2114}
{432, 2427 }{432, 2427}
{384, 2731 }{384, 2731}
{352, 2979 }{352, 2979}
10 {304, 3450 }10 {304, 3450}
{272, 3856 }{272, 3856}
{248, 4228 }{248, 4228}
{216, 4854 }{216, 4854}
{192, 5462 }{192, 5462}
15 {176, 5958 }15 {176, 5958}
{152, 6900 }{152,6900}
{136, 7712 }{136, 7712}
{124, 8456 }{124, 8456}
{108, 9708 }{108, 9708}
20 { 96, 10924 }20 {96, 10924}
{ 88, 11916 }{88, 11916}
{ 76, 13800 }{76, 13800}
{ 68, 15424 }{68, 15424}
{ 62, 16912 }{62, 16912}
25 { 54, 19416 }25 {54, 19416}
{ 48, 21848 }{48, 21848}
{ 44, 23832 }{44, 23832}
{ 38, 27600 }{38, 27600}
{ 34, 30848 },{34, 30848},
30 { 31, 33824 },30 {31, 33824},
{ 27, 38832 },{27, 38832},
{ 24, 43696 },{24, 43696},
{ 22, 47664 },{22, 47664},
{ 19, 55200 },{19, 55200},
35 { 17, 61696 }, }; Falls im vorliegenden Beispiel die erste Aufbaustufe 6 den Quantisierungsparameter 304 in der siebten Zeile der Quantisierungstabelle wählt, wird die Grundstufe 5 mit dem Quantisierungsparameter 152 in der dreizehnten Zeile und die zweite Aufbaustufe 7 mit dem Parameter 608 in der ersten Zeile betrieben.35 {17, 61696}, } ; If, in the present example, the first configuration level 6 selects the quantization parameter 304 in the seventh line of the quantization table, the basic level 5 is operated with the quantization parameter 152 in the thirteenth line and the second configuration level 7 with the parameter 608 in the first line.
In den Figuren 4 und 5 sind experimentelle Ergebnisse dargestellt. Für die Simulation wurden folgende Codierparameter verwendet:Experimental results are shown in FIGS. 4 and 5. The following coding parameters were used for the simulation:
- Sequence foreman;- Sequence foreman;
- Size: QCIF;- Size: QCIF;
- Bildfrequenz: 10 fps;- Frame rate: 10 fps;
- Länge : 10 s ; - Anzahl der Referenzbilder: 2;- length: 10 s; - Number of reference images: 2;
- Inter-Codierung: 16 x 16, 16 x 8, 8 x 16, 8 x 8, 8 x 4, 4 x 8, 4 x 4;- Inter-coding: 16 x 16, 16 x 8, 8 x 16, 8 x 8, 8 x 4, 4 x 8, 4 x 4;
- Suchraum für die Bewegungsvektoren: 32 x 32;- Search space for the motion vectors: 32 x 32;
- Auflösung der Bewegungsvektoren: 1/8 pel; - Rate-distortion: Optimierung: off;- Resolution of the motion vectors: 1/8 pel; - Rate distortion: Optimization: off;
- Hadamard-Transformation: Verwendet;- Hadamard transformation: used;
- Entropie-Codierung: CABAC- Entropy coding: CABAC
In Figur 4 stellt eine Kurve 56 die Bildqualität in Abhängigkeit von der Datenrate für einen herkömmlichen Encoder gemäß dem Standard H.26L dar. Die Bildqualität ist dabei mit Hilfe des Signal-zu-Rauschen-Verhältnis der Y- Komponente (Luminanz) quantifiziert. Gemäß der Kurve 56 nimmt die Bildqualität mit zunehmender Datenrate zu.In FIG. 4, a curve 56 represents the image quality as a function of the data rate for a conventional encoder according to the H.26L standard. The image quality is quantified using the signal-to-noise ratio of the Y component (luminance). According to curve 56, the image quality increases with an increasing data rate.
Eine weitere in Figur 4 dargestellte Kurve 57 zeigt den Zusammenhang zwischen Bildqualität und Datenrate bei Anwendung eines Encoders mit einer Grundstufe und einer ersten Aufbaustufe. Eine Kurve 58 stellt den Zusammenhang zwischen Bildqualität und Datenrate für einen Encoder mit zwei unabhängigen Codierzweigen ohne differentielle Codierung dar. Aus Figur 4 ist erkennbar, dass mit Hilfe der differentiellen Co- dierung bereits bei 195 Kilobit/s eine Bildqualität erreicht wird, die ohne differentielle Codierung erst bei einer Datenrate von 235 Kilobit/s erreicht wird. Aufgrund der Optimierung der Codierung auf der Grundstufe ist die Bildqualität oberhalb von 195 Kilobit/s etwas schlechter als ohne diffe- rentielle Codierung. Es ist aber auch durchaus möglich, die differentielle Codierung auf die erste Aufbaustufe hin zu optimieren.Another curve 57 shown in FIG. 4 shows the relationship between image quality and data rate when using an encoder with a basic level and a first advanced level. A curve 58 represents the relationship between image quality and data rate for an encoder with two independent coding branches without differential coding. It can be seen from FIG. 4 that with the aid of the differential code image quality is already achieved at 195 kilobit / s, which can only be achieved at a data rate of 235 kilobit / s without differential coding. Due to the optimization of the coding on the basic level, the image quality above 195 kilobit / s is somewhat worse than without differential coding. However, it is also entirely possible to optimize the differential coding for the first stage of development.
Figur 5 zeigt ein weiteres Diagramm, in dem die Kurve 56 amFigure 5 shows a further diagram in which the curve 56 on
Beispiel des Signal-zu-Rauschen-Verhältnisses der Y-Komponen- te die Abhängigkeit der Bildqualität von der Bitrate für ein herkömmliches Codierverfahren darstellt.An example of the signal-to-noise ratio of the Y component represents the dependence of the image quality on the bit rate for a conventional coding method.
Die Kurven 59 und 60 geben jeweils die Abhängigkeit der Bildqualität von der Datenrate für Codierverfahren wieder, bei denen die Videosequenz parallel in drei Qualitätsstufen codiert wird. Die Kurve 59 bezieht sich dabei auf ein Verfahren, bei dem die Prädiktionsfehlerdaten differentiell codiert werden. Bei dem Codierverfahren gemäß Kurve 60 werden dagegen die Qualitätsstufen unabhängig voneinander codiert. Aus Figur 5 ist erkennbar, dass durch die differentielle Codierung gemäß Kurve 59 bereits bei kleineren Datenraten die zweite und dritte Qualitätsstufe erreicht wird. Da bei der differentiel- len Codierung gemäß Kurve 59 die Optimierung hinsichtlich der ersten Aufbaustufe erfolgt ist, ist die Bildqualität der zweiten Aufbaustufe etwas schlechter als bei einer unabhängigen Codierung in mehreren Qualitätsstufen.Curves 59 and 60 each show the dependency of the image quality on the data rate for coding methods in which the video sequence is coded in parallel in three quality levels. Curve 59 relates to a method in which the prediction error data are coded differentially. In contrast, with the coding method according to curve 60, the quality levels are coded independently of one another. It can be seen from FIG. 5 that the second and third quality levels are achieved by the differential coding according to curve 59 even at lower data rates. Since the differential coding according to curve 59 has been optimized with regard to the first configuration level, the image quality of the second configuration level is somewhat poorer than with independent coding in several quality levels.
Durch die differentielle parallele Codierung lässt sich im Vergleich zur parallelen nicht-differentiellen Codierung bereits bei einer geringeren Datenrate eine höhere Qualitätsstufe erreichen. Darüber hinaus bildet die parallele differentielle Codierung den Vorteil, dass der Rechenaufwand für die Durchführung des Codierverfahrens wesentlich verringert ist, da insbesondere die Suche der Bewegungsvektoren nur einmal durchgeführt werden muss. Due to the differential parallel coding, a higher quality level can be achieved with a lower data rate compared to the parallel non-differential coding. In addition, the parallel differential coding has the advantage that the computational effort for performing the coding method is significantly reduced, since in particular the search for the motion vectors only has to be carried out once.

Claims

Patentansprüche claims
1. Verfahren zum Codieren von Videosequenzen mit den Verfahrensschritten : - Schätzen (3) einer aktuellen Bildinformation aus bereits übertragenen Bildbereichen und Bestimmen von transformierten Prädiktionsfehlerdaten verschiedener Qualitätsstufen in verschiedenen Codierzweigen (5, 6, 7);1. Method for coding video sequences with the method steps: - Estimating (3) current picture information from picture areas already transmitted and determining transformed prediction error data of different quality levels in different coding branches (5, 6, 7);
- Quantisieren (11) und Codieren (12) der Prädiktionsfehlerdaten einer ersten Qualitätsstufe (5);- quantizing (11) and coding (12) the prediction error data of a first quality level (5);
- Berechnen von Differenzdaten durch Subtraktion (20) der Prädiktionsfehlerdaten der ersten Qualitätsstufe (5) von Prädiktionsfehlerdaten einer zweiten Qualitätsstufe (6); und- Calculating difference data by subtracting (20) the prediction error data of the first quality level (5) from prediction error data of a second quality level (6); and
- Quantisieren (21) und Codieren (22) der Differenzdaten.- Quantize (21) and encode (22) the difference data.
2. Verfahren nach Anspruch 1, bei dem die aktuellen Bildinformationen anhand von Bildbereichen geschätzt werden, die in einem der Codierzweige (6) gespeichert (27) sind, und bei dem die geschätzte Bildinformation an die übrigen Codierzweige (5, 7) übermittelt wird.2. The method as claimed in claim 1, in which the current image information is estimated on the basis of image areas which are stored (27) in one of the coding branches (6), and in which the estimated image information is transmitted to the other coding branches (5, 7).
3. Verfahren nach Anspruch 2, bei dem die aktuelle Bildinformation auf der Grundlage von Verfahrensparametern bestimmt wird, die für jeweils einen Codierzweig (6) optimiert sind.3. The method according to claim 2, wherein the current image information is determined on the basis of method parameters that are optimized for each coding branch (6).
4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem mit Hilfe der geschätzten Bildinformation in jedem Codierzweig (5, 6, 7) ein Prädiktionsbild (8, 17, 28) erzeugt wird, und durch dessen Subtraktion (9, 18, 29) vom aktuellen Bild Prädiktionsfehlerdaten erzeugt werden, die nachfolgend transformiert (10, 19, 30) und quantisiert (11, 23, 34) werden, wobei im Verlauf der Quantisierung (11, 23, 34) die Prädiktionsfehlerdaten mit Multiplikatoren multipliziert werden, die von Codierzweig (5, 6, 7) zu Codierzweig (5, 6, 7) jeweils in einem ganzzahligen Verhältnis stehen. 4. The method according to any one of claims 1 to 3, in which a prediction picture (8, 17, 28) is generated with the aid of the estimated picture information in each coding branch (5, 6, 7), and by subtracting it (9, 18, 29 ) prediction error data are generated from the current image, which are subsequently transformed (10, 19, 30) and quantized (11, 23, 34), the prediction error data being multiplied by multipliers in the course of the quantization (11, 23, 34) that are calculated by Coding branch (5, 6, 7) to coding branch (5, 6, 7) each have an integer ratio.
5. Verfahren zum Decodieren einer Videosequenz mit den Verfahrensschritten :5. Method for decoding a video sequence with the method steps:
- Empfang von Videodatenströmen, die verschiedenen Qualitäts- stufen (5, 6, 7) zugeordnet sind;- Receiving video data streams that are assigned to different quality levels (5, 6, 7);
- Decodieren (41, 43, 45) der Videodatenströme und Durchführen einer inversen Quantisierung (42, 44, 46) zur Rekonstruktion von transformierten Prädiktionsfehlerdaten;Decoding (41, 43, 45) the video data streams and performing an inverse quantization (42, 44, 46) for the reconstruction of transformed prediction error data;
- Addition der rekonstruierten transformierten Prädikti- onsfehlerdaten;- addition of the reconstructed transformed prediction error data;
- Durchführen einer inversen Transformation zur Rekonstruktion von Prädiktionsfehlerdaten und Addition der Prädiktionsfehlerdaten auf ein übermitteltes Prädiktionsbild.- Performing an inverse transformation for the reconstruction of prediction error data and adding the prediction error data to a transmitted prediction picture.
6. Computerprogrammprodukt, das Codes zur Ausführung einer der Verfahren 1 bis 5 enthält, 6. Computer program product which contains codes for executing one of the methods 1 to 5.
PCT/DE2002/003352 2001-09-14 2002-09-10 Method for coding and/or decoding video sequences and computer program product WO2003026271A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002333192A AU2002333192A1 (en) 2001-09-14 2002-09-10 Method for coding and/or decoding video sequences and computer program product

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE10145376.0 2001-09-14
DE10145376 2001-09-14
DE10219640.0 2002-05-02
DE10219640A DE10219640B4 (en) 2001-09-14 2002-05-02 Method for coding and decoding video sequences and computer program product

Publications (2)

Publication Number Publication Date
WO2003026271A2 true WO2003026271A2 (en) 2003-03-27
WO2003026271A3 WO2003026271A3 (en) 2003-08-14

Family

ID=26010139

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2002/003352 WO2003026271A2 (en) 2001-09-14 2002-09-10 Method for coding and/or decoding video sequences and computer program product

Country Status (1)

Country Link
WO (1) WO2003026271A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9462284B2 (en) 2004-11-23 2016-10-04 Siemens Aktiengesellschaft Encoding and decoding method and encoding and decoding device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001062010A1 (en) * 2000-02-15 2001-08-23 Microsoft Corporation System and method with advance predicted bit-plane coding for progressive fine-granularity scalable (pfgs) video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001062010A1 (en) * 2000-02-15 2001-08-23 Microsoft Corporation System and method with advance predicted bit-plane coding for progressive fine-granularity scalable (pfgs) video coding

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LI W: "OVERVIEW OF FINE GRANULARITY SCALABILITY IN MPEG-4 VIDEO STANDARD" IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE INC. NEW YORK, US, Bd. 11, Nr. 3, M{rz 2001 (2001-03), Seiten 301-317, XP000994715 ISSN: 1051-8215 *
NAKAMURA M ET AL: "Scalable coding schemes based on DCT and MC prediction" PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING. (ICIP). WASHINGTON, OCT. 23 - 26, 1995, LOS ALAMITOS, IEEE COMP. SOC. PRESS, US, Bd. 3, 23. Oktober 1995 (1995-10-23), Seiten 575-578, XP010197034 ISBN: 0-7803-3122-2 *
WU F ET AL: "DCT-prediction based progressive fine granularity scalable coding" PROCEEDINGS. INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, XX, XX, 10. September 2000 (2000-09-10), Seiten 556-559, XP002165186 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9462284B2 (en) 2004-11-23 2016-10-04 Siemens Aktiengesellschaft Encoding and decoding method and encoding and decoding device

Also Published As

Publication number Publication date
WO2003026271A3 (en) 2003-08-14

Similar Documents

Publication Publication Date Title
EP0309669B1 (en) Method for scenery model aided image data reduction for digital television signals
DE19829468C2 (en) Method for eliminating blocking artifacts in a system for encoding moving pictures at low bit rate
DE69822607T2 (en) NONLINEAR QUANTIZER FOR VIDEO CODING
DE69233411T2 (en) Method and apparatus for compressing moving video images with adaptive bit allocation and quantization
DE19704439C2 (en) Method and device for motion estimation in a digital video encoder using trajectories
DE19541457C1 (en) Method for coding a video data stream of a video sequence consisting of picture blocks
DE202016008177U1 (en) Motion vector distribution of the last frame
DE602004001993T2 (en) TRANSFORMATION BASED REMAINING FRAME MOVEMENT OVERCOMPLETE BASIC CODING PROCESS AND ASSOCIATED VIDEO COMPRESSION DEVICE
DE69932429T2 (en) METHOD AND DEVICE FOR INVERSE QUANTIZATION OF MPEG-4 VIDEO
EP2614647A1 (en) Compression and decompression of reference images in a video coding device
DE4442643B4 (en) Method for estimating motion in a moving image
EP1665805B1 (en) Method for transcoding a data stream comprising one or more coded, digitised images using intra-prediction modes
DE10204617B4 (en) Methods and apparatus for compressing and decompressing a video data stream
DE112015001531T5 (en) Data encoding and decoding
DE10218541A1 (en) Context-adaptive binary arithmetic video coding, e.g. for prediction error matrix spectral coefficients, uses specifically matched context sets based on previously encoded level values
DE10219640B4 (en) Method for coding and decoding video sequences and computer program product
EP1285537B1 (en) Method and an arrangement for the coding and decoding of a series of images
DE19643907B4 (en) Method and apparatus for moving picture coding
EP1829378A1 (en) Image encoding method and associated image decoding method, encoding device, and decoding device
WO2003026271A2 (en) Method for coding and/or decoding video sequences and computer program product
WO2001062009A1 (en) Method and device for coding or coding and decoding a sequence of numbers
WO1998051085A1 (en) Method and device for coding and decoding a digitized image
EP1157557A1 (en) Method and arrangement for transforming an image area
DE102004063902B4 (en) Computer program comprising a method for processing a group of images and a method for processing a base image and one or more extension images
DE102004011421B4 (en) Apparatus and method for generating a scaled data stream

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AU BR CN KR

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FR GB GR IE IT LU MC NL PT SE SK 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