DE10219640A1 - Video coding and decoding method and computer program product - Google Patents

Video coding and decoding method and computer program product

Info

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
Application number
DE10219640A
Other languages
German (de)
Other versions
DE10219640B4 (en
Inventor
Peter Amon
Klaus Illgner-Fehns
Juergen Pandel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE10219640A priority Critical patent/DE10219640B4/en
Priority to AU2002333192A priority patent/AU2002333192A1/en
Priority to PCT/DE2002/003352 priority patent/WO2003026271A2/en
Publication of DE10219640A1 publication Critical patent/DE10219640A1/en
Application granted granted Critical
Publication of DE10219640B4 publication Critical patent/DE10219640B4/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, 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.
This object is achieved according to the invention by a method for coding video sequences with the following method steps:
  • - 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.
This object is further achieved according to the invention by a method for decoding video sequences with the following method steps:
  • - 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.
In general, the coding branch is first determined, the coding of which is optimized from the point of view of the rate distortion optimization. This coding branch is referred to below as the "master". For example, the following coding parameters are defined for this master:
  • - 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 encoder 1 shown in Fig. 1 is based on an encoder of the H.26L ITU standards. 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 × 16 pixels on the master and synchronized for all other slaves:
  • - 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).
For intra-coding additionally:
  • - 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.
For inter-coding additionally:
  • - 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
In Figs. 4 and 5 experimental results are shown. The following coding parameters were used for the simulation:
  • - 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)

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); - Quantisieren (11) und Codieren (12) der Prädiktionsfehlerdaten einer ersten Qualitätsstufe (5); - Berechnen von Differenzdaten durch Subtraktion (20) der Prädiktionsfehlerdaten der ersten Qualitätsstufe (5) von Prädiktionsfehlerdaten einer zweiten Qualitätsstufe (6); und - Quantisieren (21) und Codieren (22) der Differenzdaten. 1. Method for coding video sequences with the method steps: - Estimating ( 3 ) current image information from already transmitted image areas and determining transformed prediction error data of different quality levels in different coding branches ( 5 , 6 , 7 ); - quantizing ( 11 ) and coding ( 12 ) the prediction error data of a first quality level ( 5 ); - 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 - 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 its subtraction ( 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 ) which 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: - Empfang von Videodatenströmen, die verschiedenen Qualitätsstufen (5, 6, 7) zugeordnet sind; - Decodieren (41, 43, 45) der Videodatenströme und Durchführen einer inversen Quantisierung (42, 44, 46) 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. 5. Method for decoding a video sequence with the method steps: - Receiving video data streams that are assigned to different quality levels ( 5 , 6 , 7 ); - 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 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. 6. Computerprogrammprodukt, das Codes zur Ausführung einer der Verfahren 1 bis 5 enthält. 6. Computer program product that contains codes for performing one of the methods 1 to 5 .
DE10219640A 2001-09-14 2002-05-02 Method for coding and decoding video sequences and computer program product Expired - Fee Related DE10219640B4 (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (6)

* Cited by examiner, † Cited by third party
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