DE10219640A1 - Video coding and decoding method and computer program product - Google Patents
Video coding and decoding method and computer program productInfo
- Publication number
- DE10219640A1 DE10219640A1 DE10219640A DE10219640A DE10219640A1 DE 10219640 A1 DE10219640 A1 DE 10219640A1 DE 10219640 A DE10219640 A DE 10219640A DE 10219640 A DE10219640 A DE 10219640A DE 10219640 A1 DE10219640 A1 DE 10219640A1
- Authority
- DE
- Germany
- Prior art keywords
- coding
- prediction error
- error data
- data
- prediction
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
Abstract
Für die effiziente Codierung mehrerer Qualitätsstufen wird vorgeschlagen, in einem Encoder (1) eine Bewegungsschätzeinheit (3) vorzusehen, die drei Codierzweige (5, 6, 7) beaufschlagt. Die in den Codierzweigen (5, 6, 7) errechneten Prädiktionsfehlerdaten werden differentiell codiert.For the efficient coding of several quality levels, it is proposed to provide a motion estimation unit (3) in an encoder (1) which acts on three coding branches (5, 6, 7). The prediction error data calculated in the coding branches (5, 6, 7) are coded differentially.
Description
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 containing program codes for performing the methods.
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.26L, entwickelt worden, mit denen sich Videosequenzen effektiv komprimieren lassen. Die standardisierten Verfahren arbeiten mit der bewegungskompensierenden Hybrid-Codierung, einer Kombination aus verlustloser Redundanzreduktion und verlustbehafteter Irrelevanzreduktion. Methods for coding video sequences are mainly used to effectively compress video sequences. Because video streams can only be packaged Data networks are transported when necessary Data rate below that in the packet-oriented data networks available bandwidth. They are therefore standardized Methods such as MPEG-1, MPEG-2 and H.26L, have been developed with which video sequences can be effectively let it compress. The standardized procedures work with motion-compensating hybrid coding, one Combination of lossless redundancy reduction and lossy irrelevance reduction.
Am meisten trägt zur Kompression die sogenannte bewegungskompensierende 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 rechteckige 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. The so-called compression contributes the most to compression motion compensating prediction. The motion compensating Prediction or prediction uses the similarity consecutive pictures by the currently encoded Predicts image from already encoded images. Because mostly only move certain parts of successive images when encoding the image currently to be encoded into rectangular Macroblocks disassembled. When coding for each of these Macro blocks from the images already transferred Macroblocks selected and their shift to the Macroblocks of the currently encoded image are calculated. The Movements of the macro blocks are determined by motion vectors described, which code using code tables to let.
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 kommenden 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ädiktionsbild. Because the image currently to be encoded is not in every case the shifting of macroblocks of already encoded images can be constructed, for example when new in the picture coming objects, the prediction error or Prediction errors are transmitted. This prediction error results from the difference between the actual currently encoded picture and by moving the Macroblocks constructed from already encoded images Prediction.
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 kämmen dabei verschiedene Transformationsverfahren zur Anwendung. Möglich sind beispielsweise die diskrete Wavelet-Transformation (DWT), die diskrete Cosinus-Transformation (DCT) oder die diskrete Integer-Transformation. Durch diese Transformation werden die Makroblöcke in Prädiktionsfehlermatrizen transformiert, die mit einer Vielzahl von Spektralkoeffizienten besetzt sind. Diese Prädiktionsfehlermatrizen bilden zusammen die transformierten Prädiktionsfehlerdaten. Because the prediction errors of neighboring pixels in not or correlate areas that are difficult to predict to further reduce redundancy, transform the Prediction error carried out. Depending on the compression method comb different transformation processes Application. For example, the discrete ones are possible Wavelet transformation (DWT), the discrete cosine transformation (DCT) or the discrete integer transformation. Through this Will transform the macroblocks into Prediction error matrices transformed with a Variety of spectral coefficients are occupied. This Prediction error matrices together form the transformed ones Prediction error.
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. To the necessary for the transmission of the video sequence To further reduce data rate, the transformed Prediction error data quantized before further coding. To many spectral coefficients are equal to quantization Zero. The transformed and quantized Prediction error data can then be effectively encoded by entropy be compressed.
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 encoded video data stream finally settles from the entropy-coded prediction error data and the entropy-encoded motion information of the macroblocks together. The video data stream can also contain information contain various coding parameters. By decoding this video data stream in a decoder can original video sequence can be reconstructed.
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 Benutzer 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 Eintrittsschwelle für den Benutzer gesenkt werden. Um Videosequenzen nach Qualitätsstufen gestaffelt über die paketorientierten Datennetze zu vertreiben, sind effektive Codier- und Decodierverfahren notwendig, die die Videodatenströme möglichst effektiv komprimieren. Currently, the packet-oriented data networks accessible video data streams are usually offered free of charge. However, since the operators are not entirely commercial The video sequences want to do without use only coded in a low quality level. To the To get users of the Internet accustomed to fee-based services efforts are underway, users alongside free Low quality video sequences against payment To offer video sequences of higher quality levels. Through the The quality of the video sequences should be staggered Entry threshold can be lowered for the user. To video sequences graded according to quality levels via the package-oriented Selling data networks are effective coding and Decoding procedures necessary that the video data streams as possible compress effectively.
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. The invention is based on this prior art based on the task of effective coding and coding methods Decode video sequences to create with that Have video sequences coded according to quality levels.
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren zum
Codieren von Videosequenzen mit den folgenden
Verfahrensschritten gelöst:
- - Schätzen einer aktuellen Bildinformation aus bereits übertragenen Bildbereichen und Bestimmen von Prädiktionsfehlerdaten verschiedener Qualitätsstufen in verschiedenen Codierzweigen;
- - Quantisieren und Codieren der Prädiktionsfehlerdaten einer ersten Qualitätsstufe;
- - Berechnen von Differenzdaten durch Subtraktion der Prädiktionsfehlerdaten der ersten Qualitätsstufe von Prädiktionsfehlerdaten einer zweiten Qualitätsstufe; und
- - Quantisieren und Codieren der Differenzdaten.
- - Estimating current image information from already transmitted image areas and determining prediction error data of different quality levels in different coding branches;
- - 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
Verfahrensschritten gelöst:
- - Empfang von Videodatenströmen, die verschiedenen Qualitätsstufen zugeordnet sind;
- - Decodieren der Videodatenströme und Durchführen einer inversen Quantisierung zur Rekonstruktion von transformierten Prädiktionsfehlerdaten;
- - Addition der rekonstruierten transformierten Prädiktionsfehlerdaten;
- - Durchführen einer inversen Transformation zur Rekonstruktion von Prädiktionsfehlerdaten und Addition der Prädiktionsfehlerdaten auf ein übermitteltes Prädiktionsbild.
- - Receiving video data streams that are assigned to different quality levels;
- Decoding the video data streams and performing an inverse quantization to reconstruct transformed prediction error data;
- - addition of the reconstructed transformed prediction error data;
- - Carrying out an inverse transformation for the reconstruction of prediction error data and addition of the prediction error data to a transmitted prediction picture.
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. 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. In the method for coding a video sequence, the Video sequence first in separate coding branches in different quality levels. The generated however, transformed prediction error data is not fully transferred. Rather be exclusive Prediction error data of a first quality level complete transmitted. This first prediction error data is from the prediction error data of the next quality level subtracted and the differences calculated in this way are transferred. The prediction error data of a quality level becomes analog from the prediction error data, the next one in each case Subtracted quality level and transferred these differences. It It has been shown that these differences are often zero are, so the additional quality levels are little need 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 among those from the motion vectors formed movement information are to be understood on the Basis of coding parameters determined 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 the formation can the movement information can be significantly reduced because the Movement information cannot be calculated multiple times have to.
Bei einer bevorzugten Ausführungsform werden die transformierten 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 Vorkommastellen 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 quantized by the prediction error data with a Multiplier multiplied in a shift register by one fixed number of digits and moved to the Pre-decimal places are rounded. The multipliers of the different quality levels are in one 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 approach, those in quantization used grid to cover each other. The means that the grid of a quantization process with small grid size itself with a grid of one Quantization process with a large grid size covers.
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 drift apart.
Weitere Einzelheiten sind Gegenstand der abhängigen Ansprüche. Further details are the subject of the dependent Expectations.
Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand der beigefügten Zeichnung erläutert. Es zeigen: An exemplary embodiment of the invention is described below the attached drawing explained. Show it:
Fig. 1 ein Blockdiagramm eines Codierverfahrens mit mehreren Qualitätsstufen; Fig. 1 is a block diagram of a coding method with a plurality of quality levels;
Fig. 2 ein Blockdiagramm eines Decodierverfahrens für mehrere Videodatenströme verschiedener Qualitätsstufen; Fig. 2 is a block diagram of a decoding method for a plurality of video data streams of different quality levels;
Fig. 3 ein Diagramm, in dem verschiedene für die Quantisierung verwendbare Raster veranschaulicht sind; Figure 3 is a diagram illustrating various rasters that can be used for quantization;
Fig. 4 ein Diagramm, in dem die Abhängigkeit des Bildrauschens von der Datenrate für verschiedene Codierverfahren dargestellt ist; und Fig. 4 is a diagram showing the dependence of image noise is displayed on the data rate for different coding methods; and
Fig. 5 ein Diagramm, in dem die Abhängigkeit des Bildrauschens von der Datenrate für weitere Codierverfahren gezeigt ist. Fig. 5 is a diagram showing the dependence of the image noise is shown on the data rate for further encoding.
In Fig. 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. An encoder 1 is shown in FIG. 1. The coding process that takes 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 Videodaten 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 × 8 oder 16 × 16 Bildpunkte groß sind. Für jeden dieser Makroblöcke 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 coded into rectangular macroblocks, which are usually 8 × 8 or 16 × 16 pixels in size. For each of these macroblocks, the motion estimation unit 3 looks for suitable macroblocks 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 ersten 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 dieses 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 is assigned to a basic level 5 and a first and second advanced level 6 and 7 . 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 . To the reconstructed by the inverse quantizer and inverse transformer 14 prediction error, the prediction image generated by the motion compensator 8 is added in an adder 15 °. 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ädiktionsbild 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 transformierten 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. The first development stage 6 also has a motion compensator 17 which calculates a prediction image from already transmitted images, 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. With the transformed prediction error subtractor 20 is applied, the 6 which withdraws from these transformed prediction error data of the first construction stage from inverse quantizer 13 of the basic 5 reconstructed transformed prediction error. The difference data calculated in the subtractor arrive at a quantizer 21 , which quantizes them and forwards them to an entropy encoder 22 .
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 Bildspeicher 27 abgelegt. The transformed prediction error data calculated by the transformer 19 also arrive at a quantizer 23 with an inverse quantizer 24 and an inverse transformer 25 connected downstream. The prediction error data thus reconstructed are added in an adder 26 to the prediction image 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 Transformator 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 to be currently 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 is 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 arrive at a quantizer 34 with an inverse quantizer 35 and an inverse transformer 36 connected downstream. The prediction error data reconstructed by the inverse quantizer 35 and the inverse transformer 36 are finally added in an adder 37 to the prediction image generated by the motion compensator 28 and the result is stored in an image memory 38 .
In Fig. 2 ist das Blockdiagramm eines Decoders 39 dargestellt. Dem Fachmann ist klar, dass das in Fig. 2 dargestellte Blockdiagramm auch als Blockdiagramm eines Decodierverfahrens aufgefasst werden kann. In Fig. 2 is a block diagram of a decoder 39 is shown. 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 ersten 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. The decoder 39 comprises an entropy decoder 40 for decoding the motion vectors supplied by the encoder 1 . Furthermore, 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 , each comprises an entropy decoder 41 and an inverse quantizer 42 . The decoding branch assigned to the first configuration stage 6 also 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 and 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. 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.
Allgemein wird zunächst derjenige Codierzweig bestimmt,
dessen Codierung unter dem Gesichtspunkt der
Rate-Distortion-Optimierung optimiert ist. Dieser Codierzweig wird nachfolgend
als "Master" bezeichnet. Für diesen Master werden zum
Beispiel folgende Codierparameter festgelegt:
- - die Entscheidung zwischen Intra- und Inter-Codierung einzelner Bilder oder Bildteile;
- - der Modus der Intra- oder Inter-Prädiktion;
- - die Blockgrößen für die Intra- oder Inter-Prädiktion;
- - die Nummer des Referenzbildes für die Inter-Prädiktion; und
- - die Bewegungsvektoren.
- - the decision between intra and inter coding of individual pictures or parts of pictures;
- - the mode of intra or inter prediction;
- - the block sizes for intra or inter prediction;
- - the number of the reference image for the inter-prediction; and
- - 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 transformierten 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 gesamten 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 Aufbaustufen 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 Codierzweigen 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 data rate increases, which is required to transmit the entire video data stream supplied by the entropy encoders 12 , 22 and 33 , increases with the connection of the first advanced stage 6 and the second advanced stage 7 as well as any further existing advanced stages, the selection of a coding branch as master also determines the data rate for which 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 carry out a coding process 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 Fig. 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 × 16 Bildpunkten
folgendes beim Master bestimmt und bei allen anderen Slaves
synchronisiert:
- - 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 neighboring 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:
- - die Entscheidung zwischen Codierung auf Makroblockgröße (16 × 16 Bildpunkte oder auf einer Blockgröße von 4 × 4 Bildpunkten, und
- - die Entscheidung zwischen den verschiedenen Intra-Codierungs-Modi für die örtliche Prädiktion (horizontal, vertikal, diagonal).
- - the decision between coding on macro block size (16 × 16 pixels or on a block size of 4 × 4 pixels, and
- - the decision between the different intra-coding modes for the local prediction (horizontal, vertical, diagonal).
Für Inter-Codierung zusätzlich:
- - das Referenzbild (1 bis 5), von dem aus prädiziert wird;
- - die Blockgröße (16 × 16, 16 × 8, 8 × 16, 8 × 8, 8 × 4, 4 × 8, 4 × 4), auf die sich die Bewegungsvektoren beziehen; und
- - die Bewegungsvektoren für die einzelnen Blöcke.
- - the reference image ( 1 to 5 ) from which the prediction is made;
- - the block size (16 × 16, 16 × 8, 8 × 16, 8 × 8, 8 × 4, 4 × 8, 4 × 4) to which the motion vectors relate; 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 abgestimmt werden. Gemäß dem im Standard H.26L 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. In accordance with the quantization method used in the H.26L standard, the spectral coefficients of the transformed prediction error matrices to be quantized are multiplied by a factor from a quantization table, shifted in a shift register by a fixed number of digits and thereby 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 Fig. 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 Quantisierungsschritt des Rasters 54 der ersten Aufbaustufe in zwei Quantisierungsschritte. 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 the raster 53 , 54 and 55 shown in FIG. 3 are used for the quantizers 11 , 21 , 23 , 32 and 34 and the inverse quantizers 13 , 24 and 35 , which are brought into register with one another. Accordingly, the grid 54 of the first construction stage 6 divides with its quantization levels 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 raster 55 of the second stage of development divides a quantization step of the raster 54 of the first stage of development 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:
A(QPi)/A(QPi-1) = B(QPi-1)/B(QPi) = ni
wobei ni eine natürliche Zahl ist und i der Index der
Qualitätsstufe ist. In der Praxis wurde ni = 2 für alle
aufeinanderfolgenden Qualitätsstufen verwendet. Die Abstufung der
Quantisierungsschritte wird sowohl für die die Luminanz als
auch die die Chrominanz betreffenden Prädiktionsfehlerdaten
verwendet.
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 (QP i ) / A (QP i-1 ) = B (QP i-1 ) / B (QP i ) = n i
where n i is a natural number and i is the index of the quality level. In practice, n i = 2 was used for all successive quality levels. The gradation of the quantization steps is used for both the prediction error data relating to the luminance and the chrominance.
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 der Quantisierung durchgeführte Rundung, wenn gemäß dem Standard H.26L quantisiert wird. 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 the rounding carried out during the quantization if quantization is carried out in accordance with the H.26L standard.
Es lässt sich zeigen, dass nur unter diesen beiden Voraussetzungen, kein Auseinanderdriften auftritt. It can be shown that only among these two Prerequisites, no drifting apart occurs.
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 dequantisierten Prädiktionsfehlerdaten, zum Beispiel vor dem inversen Transformator 14. Another important prerequisite for the feasibility of difference formation relates to the relationship between the transformed prediction error data, for example after the transformer 10 , and the dequantized prediction error data, for example before 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:
A(QP).B(QP) = 220.
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:
A (QP) .B (QP) = 2 20 .
Unter der Berücksichtigung dieser Bedingungen wurde die im
Standard H.26L vorgesehene Quantisierungstabelle modifiziert.
Die Tabelle beginnt mit einem niedrigsten Wert A(QP31) = 17,
wie beim Stand der Technik. Die aufeinanderfolgenden
Quantisierungsparameter nehmen jeweils um 12% zu, wobei nach
jeweils sechs Quantisierungsparametern die Schrittweite
verdoppelt wird. Nachfolgend ist eine vollständige
Quantisierungstabelle 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 31 ) = 17, as in the prior art. The successive quantization parameters each increase by 12%, the step size being doubled after every six quantization parameters. A complete quantization table is shown below.
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. 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 Fig. 4 und 5 sind experimentelle Ergebnisse
dargestellt. Für die Simulation wurden folgende Codierparameter
verwendet:
- - Sequence foreman;
- - Size: QCIF;
- - Bildfrequenz: 10 fps;
- - Länge: 10 s;
- - Anzahl der Referenzbilder: 2;
- - Inter-Codierung: 16 × 16, 16 × 8, 8 × 16, 8 × 8, 8 × 4, 4 × 8, 4 × 4;
- - Suchraum für die Bewegungsvektoren: 32 × 32;
- - Auflösung der Bewegungsvektoren: 1/8 pel;
- - Rate-distortion: Optimierung: off;
- - Hadamard-Transformation: Verwendet;
- - Entropie-Codierung: CABAC
- - Sequence foreman;
- - Size: QCIF;
- - Frame rate: 10 fps;
- - length: 10 s;
- - Number of reference images: 2;
- - Inter-coding: 16 × 16, 16 × 8, 8 × 16, 8 × 8, 8 × 4, 4 × 8, 4 × 4;
- - Search space for the motion vectors: 32 × 32;
- - Resolution of the motion vectors: 1/8 pel;
- - Rate-distortion: optimization: off;
- - Hadamard transformation: used;
- - Entropy coding: CABAC
In Fig. 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, 56, a curve the image quality as a function of the data rate for a conventional encoder according to the standard H.26L. The image quality is signal-to-noise ratio quantified by means of the Y component (luminance). According to curve 56 , the image quality increases with increasing data rate.
Eine weitere in Fig. 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 Fig. 4 ist erkennbar, dass mit Hilfe der differentiellen Codierung 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 differentielle 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 stage and a first advanced stage. A curve 58 represents the relationship between image quality and data rate for an encoder with two independent coding branches without differential coding. From FIG. 4 it can be seen that with the aid of differential coding, an image quality is achieved at 195 kilobits / s, which is without differential coding is only achieved at a data rate of 235 kilobits / s. 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 development stage.
Fig. 5 zeigt ein weiteres Diagramm, in dem die Kurve 56 am Beispiel des Signal-zu-Rauschen-Verhältnisses der Y-Komponente die Abhängigkeit der Bildqualität von der Bitrate für ein herkömmliches Codierverfahren darstellt. FIG. 5 shows a further diagram, in which the curve 56 uses the example of the signal-to-noise ratio of the Y component to show 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 Fig. 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 differentiellen 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, in 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 differential coding according to curve 59 means that the second and third quality levels are achieved 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. The differential parallel coding allows Comparison to parallel non-differential coding a higher one even with a lower data rate Reach quality level. It also forms the parallel differential coding the advantage that the computational effort for the implementation of the coding process is significantly reduced is because in particular the search of the motion vectors only needs to be done once.
Claims (6)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10219640A DE10219640B4 (en) | 2001-09-14 | 2002-05-02 | Method for coding and decoding video sequences and computer program product |
AU2002333192A AU2002333192A1 (en) | 2001-09-14 | 2002-09-10 | Method for coding and/or decoding video sequences and computer program product |
PCT/DE2002/003352 WO2003026271A2 (en) | 2001-09-14 | 2002-09-10 | Method for coding and/or decoding video sequences and computer program product |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10145376.0 | 2001-09-14 | ||
DE10145376 | 2001-09-14 | ||
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 |
---|---|
DE10219640A1 true DE10219640A1 (en) | 2003-04-24 |
DE10219640B4 DE10219640B4 (en) | 2012-05-24 |
Family
ID=7699058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10219640A Expired - Fee Related DE10219640B4 (en) | 2001-09-14 | 2002-05-02 | Method for coding and decoding video sequences and computer program product |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU2002333192A1 (en) |
DE (1) | DE10219640B4 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006056529A1 (en) * | 2004-11-23 | 2006-06-01 | Siemens Aktiengesellschaft | Encoding and decoding method and encoding and decoding device |
DE102006012449A1 (en) * | 2006-03-17 | 2007-09-20 | Benq Mobile Gmbh & Co. Ohg | Method of decoding a data stream and receiver |
DE102006032021A1 (en) * | 2006-07-10 | 2008-01-17 | Nokia Siemens Networks Gmbh & Co.Kg | A method and encoding device for encoding an image area of an image of an image sequence in at least two quality levels, and a method and decoding device for decoding a first encoded data stream and a second encoded data stream |
US8270470B2 (en) | 2004-11-23 | 2012-09-18 | Siemens Aktiengesellschaft | Transcoding method and device |
US8290058B2 (en) | 2004-08-27 | 2012-10-16 | Siemens Aktiengesellschaft | Method and device for coding and decoding |
-
2002
- 2002-05-02 DE DE10219640A patent/DE10219640B4/en not_active Expired - Fee Related
- 2002-09-10 AU AU2002333192A patent/AU2002333192A1/en not_active Abandoned
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8290058B2 (en) | 2004-08-27 | 2012-10-16 | Siemens Aktiengesellschaft | Method and device for coding and decoding |
WO2006056529A1 (en) * | 2004-11-23 | 2006-06-01 | Siemens Aktiengesellschaft | Encoding and decoding method and encoding and decoding device |
US8270470B2 (en) | 2004-11-23 | 2012-09-18 | Siemens Aktiengesellschaft | Transcoding method and device |
US9462284B2 (en) | 2004-11-23 | 2016-10-04 | Siemens Aktiengesellschaft | Encoding and decoding method and encoding and decoding device |
DE102006012449A1 (en) * | 2006-03-17 | 2007-09-20 | Benq Mobile Gmbh & Co. Ohg | Method of decoding a data stream and receiver |
DE102006032021A1 (en) * | 2006-07-10 | 2008-01-17 | Nokia Siemens Networks Gmbh & Co.Kg | A method and encoding device for encoding an image area of an image of an image sequence in at least two quality levels, and a method and decoding device for decoding a first encoded data stream and a second encoded data stream |
Also Published As
Publication number | Publication date |
---|---|
DE10219640B4 (en) | 2012-05-24 |
AU2002333192A1 (en) | 2003-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0309669B1 (en) | Method for scenery model aided image data reduction for digital television signals | |
DE69633129T2 (en) | WAVELET TREE BILDCODER WITH OVERLAPPING PICTURE BLOCKS | |
DE69233411T2 (en) | Method and apparatus for compressing moving video images with adaptive bit allocation and quantization | |
DE10190285B4 (en) | Method and system for processing compressed video signals | |
DE60015566T2 (en) | METHOD AND DEVICE FOR COMPRESSING A MOTION VECTOR FIELD | |
DE19825042C2 (en) | Motion vector coding method in MPEG-4 | |
DE19704439C2 (en) | Method and device for motion estimation in a digital video encoder using trajectories | |
DE60309375T2 (en) | PARAMETERIZATION FOR COURSE COMPENSATION | |
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 | |
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 | |
DE69824983T2 (en) | Method and apparatus for encoding by luminance estimation | |
EP1285537B1 (en) | Method and an arrangement for the coding and decoding of a series of images | |
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 | |
WO2001049038A1 (en) | Method, device and computer programme generation for prediction in encoding an image divided into image blocks | |
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 | |
DE19702728A1 (en) | Construction method for picture coded in two directions from two reference pictures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |
Effective date: 20120825 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04N0007260000 Ipc: H04N0019000000 |