DE19603808C1 - Block-based compression image decoder - Google Patents

Block-based compression image decoder

Info

Publication number
DE19603808C1
DE19603808C1 DE19603808A DE19603808A DE19603808C1 DE 19603808 C1 DE19603808 C1 DE 19603808C1 DE 19603808 A DE19603808 A DE 19603808A DE 19603808 A DE19603808 A DE 19603808A DE 19603808 C1 DE19603808 C1 DE 19603808C1
Authority
DE
Germany
Prior art keywords
macroblock
uncoded
image
block
carried out
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.)
Expired - Fee Related
Application number
DE19603808A
Other languages
German (de)
Inventor
Heribert Dr Ing Geib
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 DE19603808A priority Critical patent/DE19603808C1/en
Priority to PCT/DE1996/002464 priority patent/WO1997028651A1/en
Priority to TW086100069A priority patent/TW346610B/en
Application granted granted Critical
Publication of DE19603808C1 publication Critical patent/DE19603808C1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

In the method proposed, the steps for decoding uncoded macroblocks (UMB) are carried out in parallel with the decoding of encoded macroblocks (MB). This enables considerable savings in time to be achieved during decoding.

Description

Die Erfindung betrifft ein Verfahren, das im Rahmen der Bewe­ gungskompensation bei blockbasierten Codierungsverfahren ein­ gesetzt wird. Bei diesen Verfahren der Bildverarbeitung wird ein Bild in Makroblöcke aufgeteilt, die eine vorgebbare An­ zahl von Bildblöcken aufweist. Bei der Codierung werden die Bildbereiche der Makroblöcke bzw. Bildblöcke üblicherweise einer Codierungstransformation, beispielsweise einer Diskre­ ten Cosinus Transformation (DCT) unterzogen. Die dadurch ge­ bildeten Transformationskoeffizienten werden anschließend in einer Quantisierungsstufe quantisiert und einem Scan Verfah­ ren unterzogen, beispielsweise dem sogenannten Zig-Zag-Scan- Verfahren oder auch dem sogenannten Alternate Scan-Verfahren. Weiterhin wird nach dem Scan-Verfahren eine Run Length Codie­ rung (RLC) durchgeführt und anschließend eine Variable Length Codierung (VLC).The invention relates to a method within the scope of the Bewe compensation in block-based coding methods is set. With these methods of image processing An image is divided into macro blocks that have a predefinable type number of image blocks. When coding, the Image areas of the macro blocks or image blocks usually an encoding transformation, for example a disc subjected to ten cosine transformation (DCT). The ge transformation coefficients formed are then in a quantization level and a scan procedure subjected, for example, to the so-called Zig-Zag scan Process or the so-called alternate scan process. Furthermore, a run length code is created after the scanning process tion (RLC) and then a variable length Coding (VLC).

Eine in keinster Weise abschließend zu verstehende Aufzählung von blockbasierten Codierungsverfahren ist:An enumeration that is in no way definitive of block-based coding methods is:

  • - MPEG 1, beschrieben in [1]- MPEG 1, described in [1]
  • - MPEG 2, beschrieben in [2],- MPEG 2, described in [2],
  • - H.261-Standard und- H.261 standard and
  • - JPEG, beschrieben in [3].- JPEG, described in [3].

Ein System zur Videodatenkompression mit einer Vorverarbei­ tungsstufe, einem Encoder und einer Nachverarbeitungsstufe ist z. B. aus dem Dokument US 5 367 629 bekannt.A pre-processing video data compression system processing level, an encoder and a post-processing level e.g. B. from document US 5 367 629 known.

Üblicherweise werden bei der Codierung ein es Bildes Bild­ blöcke vorgesehen, die sowohl Luminanzinformation (Luminanzblöcke) als auch Chrominanzinformation (Chrominanzblöcke) über den codierten Bildbereich aufweisen.Usually, when coding an image it becomes an image blocks provided that contain both luminance information (Luminance blocks) as well as chrominance information (Chrominance blocks) over the encoded image area.

Die nunmehr codierten Koeffizienten müssen zur Rekonstruktion des jeweils codierten Bildes den zu den vorigen Codierungs­ schritten inversen Verfahrensschritten unterzogen werden. The now coded coefficients have to be reconstructed of the respective coded picture to the previous coding steps are subjected to inverse procedural steps.  

Dies bedeutet die Anwendung einer Variable Length Decodierung (VLD) auf die codierten Koeffizienten und einer anschließen­ den sogenannten Run Length Decodierung (RLD).This means the use of a variable length decoding (VLD) to the coded coefficients and one the so-called run length decoding (RLD).

Nach der Durchführung eines zu dem zur Codierung verwendeten Scan-Verfahren inversen Scan-Verfahren (15) wird eine zu der zur Codierung verwendeten Quantisierung inverse Quantisierung sowie eine inverse Codierungstransformation (IDCT) durchge­ führt.After carrying out a scan method ( 15 ) which is inverse to the scanning method used for coding, a quantization inverse to the quantization used for coding and an inverse coding transformation (IDCT) is carried out.

Um eine Einsparung benötigter Übertragungskapazität zu errei­ chen, wird bei den oben genannten Verfahren das Prinzip der Prädiktion und eine sogenannte Bewegungskompensation und Be­ wegungsschätzung angewendet. Hierbei wird bei der Codierung eines Bildes nicht immer die gesamte Bildinformation codiert, sondern teilweise nur noch die Differenzinformation.In order to save the transmission capacity required Chen, the principle of Prediction and a so-called motion compensation and Be motion estimation applied. This is when coding of a picture does not always encode the entire picture information, but sometimes only the difference information.

Bilder, deren Bildinformation komplett codiert wird, werden als Stützbilder (I-Bilder) bezeichnet.Images whose image information is completely encoded are referred to as support pictures (I-pictures).

Zwischen solchen I-Bildern werden sogenannte Prädiktionsbil­ der (P-Bilder) codiert, wobei jeweils nur die Differenzinfor­ mation zu dem zeitlich vorangegangenen codierten Bild codiert wird, welches in der Codiereinheit rekonstruiert wird.So-called prediction bil between these I-pictures the (P-pictures) coded, whereby only the difference information mation coded to the previous coded picture which is reconstructed in the coding unit.

Weiterhin werden auch sogenannte Interpolationsbilder (B- Bilder), die bidirektional aus zeitlich vorangegangenen Bil­ dern und zeitlich folgenden Bildern prädiziert werden, bei diesen Verfahren codiert.So-called interpolation images (B- Images) that are bidirectional from previous images and the following images are predicted, at encoded this method.

Das Verfahren ist in seiner Anwendung in keinster Weise auf eine bestimmte Codierungstransformation, beispielsweise der Diskreten Cosinus Transformation (DCT), oder auf bestimmte spezielle Verfahren in den weiteren oberen beschriebenen Ver­ fahrensschritten, beschränkt. The method is in no way based on its application a certain coding transformation, for example the Discrete Cosine Transformation (DCT), or on certain special procedures in the other Ver described above driving steps, limited.  

Bei der Codierung kommt es vor, daß ganze Makroblöcke, denen jeweils eine Adresse zugeordnet wird, an der sich der Makkro­ block innerhalb des codierten Bildes befindet, oder auch nur einzelne Bildblöcke nicht codiert werden. Diese uncodierten Makroblöcke (skipped macroblocks) erkennt die Decodiereinheit üblicherweise, indem sie die Differenz der Adresse des aktu­ ellen Makroblocks und dem vorangegangenen Makroblock ermit­ telt. Ist diese Differenz größer als Null, so liegt eine der Differenz entsprechende Anzahl uncodierter Makroblöcke zwi­ schen dem aktuellen Makroblock und dem vorangegangenen Makro­ block.When coding, it happens that whole macroblocks, which an address is assigned to each of which the macro block is located within the encoded image, or just individual picture blocks are not encoded. These uncoded The decoding unit recognizes macroblocks (skipped macroblocks) usually by taking the difference of the address of the current or macro block and the previous macro block telt. If this difference is greater than zero, then one of the Difference corresponding number of uncoded macroblocks between between the current macroblock and the previous macro block.

Je nach verwendetem blockbasierten Codierungsverfahren werden die uncodierten Makroblöcke unterschiedlich behandelt.Depending on the block-based coding method used the uncoded macroblocks are treated differently.

Beispielsweise werden bei dem MPEG 1 Verfahren sowie dem MPEG 2 Verfahren in P-Bildern den Bewegungsvektoren, die den uncodierten Makroblöcken zugeordnet werden, der Wert Null zu­ gewiesen. Bei dem H.261-Standard wird jedoch dem Bewegungs­ vektor des dem uncodierten Makroblock vorangegangenen Makro­ blocks der Wert Null zugewiesen und darauf aufbauend wird die Prädiktion durchgeführt.For example, the MPEG 1 method and the MPEG 2 method in P-pictures the motion vectors that the uncoded macroblocks are assigned the value zero pointed. With the H.261 standard, however, the movement vector of the macro preceding the uncoded macroblock blocks is assigned the value zero and the Prediction performed.

Bei B-Bildern wird bei dem MPEG 1 Verfahren sowie dem MPEG 2 Verfahren die Art der Prädiktion von dem vorangegangenen Ma­ kroblock übernommen. Dabei wird bei dem MPEG 1 Verfahren der sogenannte Differenzbewegungsvektor auf den Wert Null ge­ setzt. Bei dem MPEG 2 Verfahren wird der Wert des Bewegungs­ vektors aus dem Wert eines Parameters "predictor", der den Bewegungsvektorwert des letzten codierten Makroblock, prädi­ ziert.In the case of B pictures, the MPEG 1 process and the MPEG 2 Procedure the type of prediction from the previous Ma Kroblock taken over. The MPEG 1 process uses the so-called differential motion vector to zero ge puts. With the MPEG 2 method, the value of the movement vector from the value of a parameter "predictor" that matches the Motion vector value of the last encoded macroblock, predi graces.

Bei den bekannten Verfahren werden bei der Rekonstruktion der Bilder, also bei der Decodierung eine Folge von Makroblöcken der Variable Length Decodierung (VLD) zugeführt. Existieren in der Folge keine uncodierten Makroblöcke, so wird sowohl die inverse Quantisierung (IQ) und die inverse Codie­ rungstransformation (IDCT) als auch die Bewegungskompensation (MC) der Reihe nach verarbeitet. Weist die Folge jedoch einen uncodierten Makroblock auf, so wird bei der Bewegungskompen­ sation der uncodierte Makroblock wie codierte Makroblöcke verarbeitet. Dies bedeutet, daß ein Null-Block zu dem Refe­ renzblock hinzuaddiert wird.In the known methods, the Images, i.e. a sequence of macro blocks during decoding the variable length decoding (VLD) fed. Exist subsequently no uncoded macroblocks, so both inverse quantization (IQ) and inverse coding  tion transformation (IDCT) as well as motion compensation (MC) processed in sequence. However, the episode has one uncoded macroblock, so the motion comp sation the uncoded macroblock like coded macroblocks processed. This means that a zero block is added to the Refe renzblock is added.

Ein Nachteil in dieser Vorgehensweise ist darin zu sehen, daß diese unnötigen Additionen unnötige Verlustleistung kostet.A disadvantage of this procedure is that these unnecessary additions cost unnecessary power dissipation.

Ein weiterer Nachteil liegt darin, daß diese Vorgehensweise erheblich längere Zeit dauert als das erfindungsgemäße Ver­ fahren, wie im weiteren noch beschrieben wird.Another disadvantage is that this approach takes considerably longer than the Ver invention drive as described below.

Der Erfindung liegt das Problem zugrunde, eine Anordnung und ein Verfahren zur Codierung und Decodierung bei einem block­ basierten Codierungsverfahren anzugeben, das die im vorigen beschriebenen Nachteile des bekannten Verfahrens vermeidet.The invention is based on the problem of an arrangement and a method for coding and decoding a block based coding method that the in the previous described disadvantages of the known method avoided.

Das Problem wird durch die Anordnungen gemäß Patentanspruch 1 und Patentanspruch 2 sowie die Verfahren gemäß Patentanspruch 3 und Patentanspruch 4 gelöst.The problem is solved by the arrangements according to claim 1 and claim 2 and the method according to claim 3 and claim 4 solved.

Bei dem Verfahren gemäß Patentanspruch 3 wird geprüft, ob der aktuelle Makroblock codiert oder uncodiert ist. Ist er co­ diert, so wird die übliche Vorgehensweise zur Rekonstruktion des Makroblocks durchgeführt. Ist der Makroblock jedoch unco­ diert, wird bin Referenzmakroblock, darunter ist der entspre­ chende Makroblock des zeitlich vorangegangenen Bildes zu ver­ stehen, einfach als aktueller Makroblock übernommen, indem der Referenzmakroblock an die entsprechende Stelle des vorge­ sehenen Bildspeichers kopiert wird. Dies kann parallel zu der Bearbeitung codierter Makroblöcke erfolgen, womit eine erheb­ liche Zeiteinsparung gegenüber dem bekannten Verfahren er­ reicht wird. In the method according to claim 3 it is checked whether the current macroblock is encoded or uncoded. Is he co the usual procedure for reconstruction of the macro block. However, if the macroblock is unco dated, it becomes a reference macroblock, including the corresponding one appropriate macroblock of the previous image , simply adopted as the current macroblock by the reference macroblock to the corresponding position of the pre seen image memory is copied. This can be parallel to that Coded macroblocks are processed, which means a considerable amount Liche time saving compared to the known method is enough.  

Diese Zeiteinsparung bei der Decodierung ist von besonderer Bedeutung, da für die Decodierung eines Bildes zur Gewährlei­ stung bestimmter Echtzeitbedingungen nur eine vorgegebene Zeit zur Verfügung steht.This time saving in decoding is special Significance, since it guarantees the decoding of an image certain real-time conditions only a predetermined one Time is available.

Für den Fall, daß am Anfang eines Bildes einige Makroblöcke verarbeitet werden und dann eine Reihe von Makroblöcken, die zur Decodierung der Makroblöcke erhöhten Aufwand benötigen, bleibt möglicherweise bei dem bekannten Verfahren, der se­ quentiellen Verarbeitung alle Makroblöcke, nicht mehr genü­ gend Zeit zur Decodierung der für die Bildrekonstruktion we­ sentlichen Makroblöcke. Dies führt zu einem erheblichen In­ formationsverlust, der durch das bekannte Verfahren verur­ sacht wird. Zur Vermeidung dieses Problems wäre eine erheb­ lich teurere und aufwendigere Hardware nötig, um die Echt­ zeitbedingung zu gewährleisten, daß kein Informationsverlust auftritt. Durch das neue Verfahren bzw. die neue Anordnung wird das Problem des Timings bei der Decodierung der Bilder entschärft.In the event that there are some macro blocks at the beginning of a picture processed and then a series of macroblocks that need increased effort to decode the macroblocks, may remain with the known method, se quantitative processing of all macroblocks, no longer enough enough time to decode the image reconstruction major macroblocks. This leads to a significant in loss of formation caused by the known method gently. To avoid this problem, one would be significant Lich more expensive and complex hardware necessary to get the real thing time condition to ensure that no loss of information occurs. Through the new process or the new arrangement will solve the problem of timing when decoding the images defused.

Weiterhin werden die zusätzlichen unnötigen Additionen ver­ mieden und eine erhebliche Einsparung benötigter Verlustlei­ stung zur Durchführung des Verfahrens erreicht.Furthermore, the additional unnecessary additions are ver avoided and a considerable saving in loss loss stung to carry out the procedure.

Weiterhin wird die Dimensionierung der Decodiereinheit bzw. der Codiereinheit wesentlich verbessert. Die Decodiereinheit bzw. die Codiereinheit kann beispielsweise auf die Verarbei­ tung einer Makroblockzeile dimensioniert werden oder auch auf die Verarbeitung eines ganzen Bildes oder eines Halbbildes. Eine Dimensionierung der Decodiereinheit bzw. der Codierein­ heit auf die Verarbeitung eines ganzen Bildes hat einen ge­ ringeren Designaufwand für die Decodiereinheit bzw. die Co­ diereinheit zur Folge. Dadurch werden auch die Kosten für die zur Durchführung des Verfahrens benötigte Decodiereinheit bzw. Codiereinheit reduziert. Dies wird erreicht durch die durch das erfindungsgemäße Verfahren erzielte Zeiteinsparung und die dadurch geringeren Anforderungen, die an die Hardware der Decodiereinheit bzw. der Codiereinheit gestellt werden.Furthermore, the dimensioning of the decoding unit or the coding unit significantly improved. The decoding unit or the coding unit can, for example, the processing direction of a macro block line can be dimensioned or on the processing of an entire image or a field. Dimensioning of the decoding unit or coding The processing of an entire image has a certain effect less design effort for the decoding unit or the Co the unit. This will also reduce the cost of Decoding unit required to carry out the method or coding unit reduced. This is achieved through the time saved by the inventive method  and the resulting lower demands on the hardware the decoding unit or the coding unit.

Diese Vorteile gelten ebenso für das Verfahren gemäß Patent­ anspruch 4.These advantages also apply to the method according to the patent claim 4.

Hierbei wird wiederum geprüft, ob der aktuelle Makroblock co­ diert oder uncodiert ist. Ist er codiert, so wird die übliche Vorgehensweise zur Rekonstruktion des Makroblocks durchge­ führt. Ist der Makroblock jedoch uncodiert, so wird der Ma­ kroblock als uncodiert gekennzeichnet. Die eigentliche Verar­ beitung, also das Kopieren des Referenzblocks in den Bildspeicher erfolgt erst nach der Bearbeitung einer vorgeb­ baren Anzahl von Makroblöcken.Here it is again checked whether the current macroblock co dated or uncoded. If it is coded, the usual one Procedure for the reconstruction of the macro block leads. However, if the macroblock is uncoded, the Ma Kroblock marked as uncoded. The real verar processing, i.e. copying the reference block into the Image storage takes place only after the processing of a specified number of macroblocks.

Für die Anordnungen gemäß Patentanspruch 1 und gemäß Patent­ anspruch 2 gelten ebenfalls die oben beschriebenen Vorteile der Verfahren.For the arrangements according to claim 1 and according to the patent Claim 2 also apply the advantages described above of procedures.

Vorteilhafte Weiterbildungen ergeben sich aus den abhängigen Ansprüchen.Advantageous further developments result from the dependent ones Claims.

Weitere Zeiteinsparung sowie Einsparung benötigter Verlust­ leistung wird durch die Weiterbildung des Verfahrens er­ reicht, bei der auch innerhalb jedes Makroblocks für jeden Bildblock des Makroblocks geprüft wird, ob der Bildblock co­ diert oder uncodiert ist. Für einen uncodierten Bildblock wird eine Kopie des Referenzbildblocks des uncodierten Bild­ blocks in dem Bildspeicher abgelegt.Further time saving as well as saving the loss required performance is achieved through further training of the process enough for everyone within each macroblock Image block of the macro block is checked whether the image block co dated or uncoded. For an uncoded picture block becomes a copy of the reference picture block of the uncoded picture blocks stored in the image memory.

Zwei Ausführungsbeispiele darstellende Zeichnungen werden im folgenden näher erläutert.Two exemplary embodiments are shown in the drawings following explained in more detail.

Es zeigenShow it

Fig. 1 eine Skizze, in der das bekannte Verfahren des Standes der Technik dargestellt ist; Fig. 1 is a sketch showing the known method of the prior art;

Fig. 2 eine Skizze, in der das Prinzip der erfindungsge­ mäßen Verfahren beschrieben ist; Fig. 2 is a sketch describing the principle of the method according to the invention;

Fig. 3 eine Anordnung, die zur Durchführung der Verfahren eingesetzt wird; Fig. 3 shows an arrangement which is used for carrying out the method;

Fig. 4 eine Skizze, in der detailliert Verfahrensschritte beschrieben sind, die in dem Kopiermodul durch­ geführt werden; Fig. 4 is a sketch in which method steps are described in detail, which are performed in the copying module;

Fig. 5 eine Skizze, in der eine Anordnung beschrieben ist, die zur Durchführung des Verfahrens gemäß Patentan­ spruch 2 verwendet wird; Fig. 5 is a sketch in which an arrangement is described, which is used for performing the method according to claim 2;

Fig. 6 ein Ablaufdiagramm, in dem die einzelnen Verfah­ rensschritte des Verfahrens gemäß Patentanspruch 1 dargestellt sind; Fig. 6 is a flowchart showing the individual procedural steps of the method according to claim 1;

Fig. 7 ein Ablaufdiagramm, in dem die einzelnen Verfah­ rensschritte des Verfahrens gemäß Patentanspruch 2 dargestellt sind; Fig. 7 is a flowchart showing the individual procedural steps of the method according to claim 2;

Fig. 8 ein Ablaufdiagramm, in dem die Weiterbildung der Verfahren beschrieben ist, bei dem zusätzlich geprüft wird, ob die Bildblöcke des aktuellen Makroblocks codiert oder uncodiert sind; Fig. 8 is a flowchart in which the further development of the method is described is also checked in which whether the image blocks of the current macro block is coded or uncoded;

Fig. 9 eine Skizze, in der zwei Rechner dargestellt sind, wobei in einem ersten Rechner Bilder codiert werden und zu einem zweiten Rechner übertragen werden, wo sie decodiert werden. Fig. 9 is a sketch showing two computers, wherein images are encoded in a first computer and transmitted to a second computer, where they are decoded.

Anhand der Fig. 1 bis 9 werden die erfindungsgemäßen Ver­ fahren weiter erläutert. Referring to Figs. 1 to 9 according to the invention are further illustrated Ver drive.

In Fig. 1 ist anhand einer Skizze das bekannte Verfahren dargestellt.In Fig. 1, the known method is shown with a sketch.

Hierbei ist ein zu codierendes bzw. zu decodierendes Bild eingeteilt in Makroblöcke MB, die eine vorgebbare Anzahl Bildblöcke BB aufweisen.Here is an image to be encoded or decoded divided into macro blocks MB, which have a predeterminable number Have image blocks BB.

Die erfindungsgemäßen Verfahren werden notwendigerweise von einem Rechner oder einer speziellen Hardware durchgeführt, mit der eine Codiereinheit bzw. eine Decodiereinheit reali­ siert werden.The inventive methods are necessarily from a computer or special hardware, with which a coding unit or a decoding unit reali be settled.

In den zwei Ausführungsbeispielen werden zwei Arten von Bild­ blöcken unterschieden, Luminanzbildblöcke Yn m und Chrominanz­ bildblöcke Cr m, Cb m. Hierbei bezeichnet eine Makroblockkenn­ zeichnung m, die eine natürliche Zahl ist, jeden Makroblock MB einer Folge von Makroblöcken MB eindeutig. Es werden ab­ hängig von dem verwendeten blockbasierten Verfahren unter­ schiedliche Formate verwendet. Eine natürliche Zahl n kenn­ zeichnet jeden Luminanzbildblock Yn m innerhalb eines Makro­ blocks eindeutig.In the two exemplary embodiments, two types of image blocks are distinguished, luminance image blocks Y n m and chrominance image blocks C r m , C b m . Here, a macro block identifier m, which is a natural number, uniquely designates each macro block MB of a sequence of macro blocks MB. Depending on the block-based method used, different formats are used. A natural number n uniquely identifies each luminance image block Y n m within a macro block.

Dies bedeutet eine unterschiedliche Aufteilung von Bildblöc­ ken BB innerhalb eines Makroblocks MB.This means a different division of image blocks ken BB within a macroblock MB.

In den Ausführungsbeispielen wird zur einfacheren Darstellung von einer Folge von drei Makroblöcken MB ausgegangen, einem ersten Makroblock, einem zweiten Makroblock und einem dritten Makroblock.In the exemplary embodiments, for easier illustration assumed a sequence of three macroblocks MB, one first macroblock, a second macroblock and a third Macroblock.

Dies schränkt jedoch die Allgemeingültigkeit in keinster Weise ein.However, this in no way limits the generality Way.

In einer Codiereinheit werden Bildbereiche der zu codierenden Bilder zu Bildblöcken und mehrere Bildblöcke zu Makroblöcken zusammengefaßt. Die Bildblöcke weisen mehrere Bildpunkte des Bildes auf, deren Information, beispielsweise Luminanzinfor­ mation oder Farbinformation (Chrominanzinformation), codiert wird. Ein Bildblock weist beispielsweise eine Größe von 8 × 8 oder 16×16 Bildpunkten auf.In a coding unit, image areas of the to be coded Images to image blocks and several image blocks to macro blocks summarized. The image blocks have several pixels of the Image whose information, for example luminance information  mation or color information (chrominance information), coded becomes. For example, an image block has a size of 8 × 8 or 16 × 16 pixels.

Auf die einzelnen Makroblöcke MB wird eine Codierungstrans­ formation DCT angewendet, beispielsweise eine Diskrete Cosi­ nus Transformation (DCT). Die daraus resultierenden Transfor­ mationskoeffizienten werden in einer Quantisierungsstufe Q quantisiert. Die quantisierten Transformationskoeffizienten werden einem Scan-Verfahren SV unterzogen, beispielsweise dem sogenannten Zig-Zag-Scan-Verfahren oder dem sogenannten Al­ ternate Scan-Verfahren. Anschließend wird auf die gescannten Transformationskoeffizienten eine Run Length Codierung und eine Variable Length Codierung durchgeführt.A coding transfer is made to the individual macroblocks MB formation DCT applied, for example a Discrete Cosi nus transformation (DCT). The resulting transfor Mation coefficients are in a quantization stage Q quantized. The quantized transformation coefficients are subjected to a scanning process SV, for example the the so-called Zig-Zag scan method or the so-called Al ternate scan method. Then the scanned Transform coefficients a run length coding and a variable length coding was carried out.

Die codierten Transformationskoeffizienten und somit die co­ dierten Bildblöcke BB bzw. Makroblöcke MB werden zu einer De­ codiereinheit über einen Kanal übertragen, wo die Makroblöcke decodiert werden und das codierte Bild rekonstruiert wird. Es ist aber auch eine Rekonstruktion in der Codiereinheit selbst vorgesehen, da nur Differenzinformation codiert wird. Hierzu ist es notwendig, auch in der Codiereinheit das codierte Bild zu rekonstruieren.The coded transformation coefficients and thus the co dated image blocks BB or macro blocks MB become a De coding unit transmitted over a channel where the macro blocks be decoded and the encoded image is reconstructed. It is also a reconstruction in the coding unit itself provided since only differential information is encoded. For this it is necessary also in the coding unit the coded picture to reconstruct.

Hieraus wird deutlich, daß die erfindungsgemäßen Verfahren sowohl in der Codiereinheit als auch in der Decodiereinheit eingesetzt werden kann.From this it is clear that the method according to the invention both in the coding unit and in the decoding unit can be used.

Es werden bei der Decodierung die Luminanzbildblöcke Yn m so­ wie die Chrominanzbildblöcke Cr m, Cb m der Decodiereinheit zugeführt. In der Decodiereinheit werden nun Verfahrensschritte durchgeführt, die zu den Verfahrensschritten der Codierung invers sind.During the decoding, the luminance picture blocks Y n m as well as the chrominance picture blocks C r m , C b m are fed to the decoding unit. Method steps are now carried out in the decoding unit which are inverse to the method steps of the coding.

Es wird bei der Decodierung eine Variable Length Decodierung VLD, eine Run Length Decodierung RLD, ein inverses Scan- Verfahren IS, eine inverse Quantisierung IQ und eine inverse Codierungstransformation IDCT durchgeführt. Weiterhin wird zur Rekonstruktion des codierten Bildes eine Bewegungskompen­ sation MC unter Verwendung eines Bildspeichers FM durchge­ führt.The decoding is a variable length decoding VLD, a run length decoding RLD, an inverse scan IS method, an inverse quantization IQ and an inverse  Coding transformation IDCT performed. Will continue a movement component to reconstruct the encoded image sation MC using an image memory FM leads.

Bei der Rekonstruktion der codierten Bilder in einem Rück­ wärtspfad in der Codiereinheit werden ebenfalls die im vori­ gen beschriebenen Verfahrensschritte zur Decodierung durchge­ führt, bis auf die Variable Length Decodierung VLD und die Run Length Decodierung RLD.When reconstructing the coded images in one back upward path in the coding unit are also those in the previous Gen described process steps for decoding leads to the variable length decoding VLD and the Run length decoding RLD.

Die Luminanzbildblöcke Yn m sowie die Chrominanzbildblöcke Cr m, Cb m werden bei dem bekannten Verfahren sequentiell bearbeitet. Dies hat zur Folge, daß für den Fall, daß die Folge von Makroblöcken MB einen uncodierten Makroblock UMB oder auch einen uncodierten Bildblock UBB aufweist, die codierten Ma­ kroblöcke in der inversen Codierungstransformation IDCT be­ reits bearbeitet werden, obwohl bei der Bewegungskompensation MC zunächst noch die uncodierten Makroblöcke UMB bearbeitet werden. Diese Beschränkung bedeutet, daß die inverse Codie­ rungstransformation IDCT erst mit der Verarbeitung eines dem uncodierten Makroblock UMB folgenden codierten Makroblocks begonnen wird, wenn bei der Bewegungskompensation MC die je­ weils aktuellen Daten aus der inversen Codierungstransforma­ tion IDCT auch verarbeitet werden können. Infolgedessen wird bei Auftreten eines uncodierten Makroblocks UMB oder einem uncodierten Bildblock UBB die inverse Codierungstransformati­ on IDCT unterbrochen, damit die Bewegungskompensation MC für den uncodierten Makroblock UMB oder den uncodierten Bildblock UBB durchgeführt werden kann.The luminance image blocks Y n m and the chrominance image blocks C r m , C b m are processed sequentially in the known method. This has the result that in the event that the sequence of macroblocks MB has an uncoded macroblock UMB or an uncoded image block UBB, the encoded macroblocks in the inverse coding transformation IDCT are already being processed, although initially with the motion compensation MC UMC uncoded macro blocks can be processed. This restriction means that the inverse coding transformation IDCT is only started with the processing of an uncoded macro block UMB following the coded macro block if the respective current data from the inverse coding transformation IDCT can also be processed with the motion compensation MC. As a result, when an uncoded macro block UMB or an uncoded image block UBB occurs, the inverse coding transformation IDCT is interrupted so that the motion compensation MC can be carried out for the uncoded macro block UMB or the uncoded image block UBB.

In jedem senkrechten Zeitschlitz ti wird jeweils ein Bild­ block BB einem in Fig. 1 dargestellten Mittel zur Durchfüh­ rung der im vorigen beschriebenen Verfahrensschritte zuge­ führt sowie ebenso ein Bildblock BB abgeführt. Während jedes Zeitschlitzes ti wird jeweils in diesem Ausführungsbeispiel in der Einheit zur Durchführung der Variable Length Decodie­ rung maximal ein Bildblock BB, in der Einheit zur Durchfüh­ rung der inversen Quantisierung IQ und inversen Codie­ rungstransformation IDCT zwei Bildblöcke BB und in der Ein­ heit zur Durchführung der Bewegungskompensation MC sechs Bildblöcke BB verarbeitet.In each vertical time slot t i , an image block BB is fed to a means shown in FIG. 1 for carrying out the method steps described above, and an image block BB is also removed. During each time slot t i , in this exemplary embodiment in the unit for performing the variable length decoding, a maximum of one image block BB, in the unit for performing the inverse quantization IQ and inverse coding transformation IDCT, two image blocks BB and in the unit for performing the motion compensation MC processes six image blocks BB.

Die Verarbeitung ist jedoch abhängig von der Implementierung, die jedem Fachmann geläufig ist.However, processing depends on the implementation, which every specialist is familiar with.

In dem Ausführungsbeispiel wird angenommen, daß der zweite Makroblock uncodiert UMB ist und daß ein zweiter Luminanz­ block Y₁³ ein uncodierter Bildblock UBB ist.In the embodiment, it is assumed that the second Macroblock is UMB uncoded and that a second luminance block Y₁³ is an uncoded picture block UBB.

Wartezeitschritte Wti sind in Fig. 1 für in der Einheit zur Durchführung der inversen Quantisierung IQ und inversen Co­ dierungstransformation IDCT dargestellt.Waiting time steps Wt i are shown in FIG. 1 for in the unit for carrying out the inverse quantization IQ and inverse coding transformation IDCT.

In Fig. 2 ist das Lösungsprinzip der erfindungsgemäßen Ver­ fahren skizziert. Hierbei ist ein zusätzliches Kopiermodul KM vorgesehen. Mit Hilfe des Kopiermoduls KM werden bei unco­ dierten Makroblöcken UMB bzw. uncodierten Bildblöcken UBB einfach Referenzmakroblöcke RMB bzw. Referenzbildblöcke RBB aus dem zeitlich vorangegangenen Bild, die in dem Bildspei­ cher FM gespeichert sind, kopiert. Durch dieses Kopieren und somit das Weglassen der expliziten Berechnung der "neuen" Bildblöcke BB, das parallel zur Decodierung codierter Makro­ blöcke MB bzw. Bildblöcke BB durchgeführt wird, werden die Wartezeitschritte Wti, die in Fig. 1 dargestellt sind, ver­ mieden.In Fig. 2, the solution principle of the United method according to the invention is outlined. Here, an additional copy module KM is provided. With the help of the copying module KM, in the case of uncoated macro blocks UMB or uncoded picture blocks UBB, simply reference macro blocks RMB or reference picture blocks RBB are copied from the temporally previous picture, which are stored in the picture memory FM. By copying and thus omitting the explicit calculation of the "new" picture blocks BB, which is carried out in parallel with the decoding of encoded macro blocks MB or picture blocks BB, the waiting time steps Wt i , which are shown in FIG. 1, are avoided.

In Fig. 3 ist dargestellt, anhand welcher Information über­ prüft wird, ob ein Makroblock MB codiert oder uncodiert ist sowie anhand welcher Information die Bildblöcke BB rekonstru­ iert werden. Diese Parameter P sind für jeden Bildblock BB bzw. Makroblock MB enthalten und werden mit diesem zusammen übertragen. Somit können diese Parameter P direkt bei der De­ codierung verwertet werden. Die Parameter P sind beispiels­ weise ein sogenannter Coded_Block_Pattern CBP, eine Makro­ blockadresse ADR, ein Bildtyp TYP, sowie Bewegungsinformation MI. Mit dem Coded_Block_Pattern CBP wird angegeben ob der je­ weilige Bildblock BB bzw. Makroblock MB codiert oder unco­ diert ist. Die Makroblockadresse ADR gibt die Adresse des Ma­ kroblocks MB innerhalb des Bildes an. Mit dem Bildtyp TYP wird angegeben, ob es sich bei dem codierten Bild um ein I- Bild, ein P-Bild oder ein B-Bild handelt. FIG. 3 shows what information is used to check whether a macroblock MB is encoded or not, and what information is used to reconstruct the image blocks BB. These parameters P are contained for each picture block BB or macro block MB and are transmitted together with this. These parameters P can thus be used directly in the decoding. The parameters P are, for example, a so-called Coded_Block_Pattern CBP, a macro block address ADR, an image type TYP, and movement information MI. The Coded_Block_Pattern CBP indicates whether the respective image block BB or macro block MB is coded or uncoded. The macro block address ADR indicates the address of the macro block MB within the image. The TYPE picture type indicates whether the coded picture is an I picture, a P picture or a B picture.

Nachdem die Makroblöcke MB also empfangen wurden (bei Verwen­ dung der Verfahren in der Decodiereinheit) bzw. direkt nach­ dem sie der Variable Length Codierung VLC unterzogen wurden 600, werden die Makroblöcke MB der Variable Length Decodie­ rung VLD zugeführt 601 (vgl. Fig. 6).After the macroblocks MB have been received (using the methods in the decoding unit) or immediately after they have been subjected to the variable length coding VLC 600, the macroblocks MB are fed 601 to the variable length decoding VLD (see FIG. 6 ).

Anschließend wird beispielsweise anhand einer Adressendiffe­ renz, die gebildet wird zwischen den Makroblockadressen zwei­ er aufeinanderfolgenden codierten Makroblöcken MB oder auch anhand des Coded_Block_Pattern CBP oder anhand eines anderen Parameters P mit ähnlichem Informationsgehalt, je nach verwen­ deten Verfahren, überprüft, ob es sich bei dem Makroblock MB um einen uncodierten Makroblock UMB oder um einen codierten Makroblock handelt 602.Then, for example, based on an address difference limit that is formed between the macroblock addresses two he successive coded macro blocks MB or also based on the Coded_Block_Pattern CBP or on another Parameters P with similar information content, depending on the use procedures, checks whether the macroblock MB an uncoded macroblock UMB or an encoded one Macroblock acts 602.

Ist der Makroblock MB codiert, so wird der Makroblock MB den im vorigen beschriebenen Verfahrensschritten zur Decodierung des Makroblocks MB unterzogen: der Run Length Decodierung RLD 603, dem inversen Scan-Verfahren IS 604, der inversen Quanti­ sierung IQ 605, der inversen Codierungstransformation IDCT 606 und der Bewegungskompensation MC 607.If the macroblock MB is encoded, the macroblock MB becomes the in the method steps described above for decoding of the macroblock MB: the run length decoding RLD 603, the inverse scan method IS 604, the inverse quanti IQ 605, the inverse coding transformation IDCT 606 and the motion compensation MC 607.

Ist der Makroblock MB jedoch uncodiert, so wird die benötigte Adresseninformation des Referenzmakroblocks RMB des vorange­ gangenen Bildes dem Kopiermodul KM zugeführt 608, in dem der Referenzmakroblock RMB aus dem Bildspeicher FM kopiert wird wiederum in den Bildspeicher RMB, diesmal jedoch als der ak­ tuelle Makroblock MB. Dies kann parallel zu der Bearbeitung der codierten Makroblöcke erfolgen.However, if the macroblock MB is uncoded, the required one is used Address information of the reference macroblock RMB of the previous 608 to the copying module KM, in which the Reference macroblock RMB is copied from the image memory FM again in the image memory RMB, but this time as the ak  current macroblock MB. This can be done in parallel with the editing of the encoded macroblocks.

Anhand der decodierten Makroblöcke MB und der kopierten Ma­ kroblöcke wird in einem letzten Schritt 609 das zu decodie­ rende Bild rekonstruiert.Using the decoded macro blocks MB and the copied Ma In a final step 609, kroblock will decode that reconstructed picture.

Diese im vorigen beschriebene Vorgehensweise ist in Fig. 4 für das MPEG 1 Verfahrens dargestellt.This procedure described in the previous is shown in Fig. 4 for the MPEG 1 method.

Bei dem MPEG 1 Verfahren ist jedem Makroblock MB ein Bewe­ gungsvektor MV zugewiesen, der in dem Kopf (Header) des je­ weiligen Makroblocks MB angegeben ist.In the MPEG 1 process, each macroblock MB has a move Assignment vector MV assigned in the header of each macro block MB is specified.

Einem uncodierten Makroblock UMB wird dem Bewegungsvektor MV der Wert Null zugewiesen. Es werden daher für den uncodierten Makroblock UMB keine Codierungstransformationskoeffizienten gebildet und übertragen. Die Anzahl direkt aufeinanderfolgen­ der uncodierter Makroblöcke UMB wird durch die Differenz in den Adressen zweier aufeinanderfolgender codierter Makroblöcke festgelegt.The motion vector MV becomes an uncoded macro block UMB assigned the value zero. It is therefore for the uncoded Macroblock UMB no coding transformation coefficients formed and transferred. The number in a row the uncoded macro blocks UMB is determined by the difference in the addresses of two successive encoded macroblocks fixed.

In einer Kopfauswertung HA wird der Bewegungsvektor MV für den aktuellen Makroblock MB ermittelt. Dies erfolgt auf eine für den Fachmann bekannte Weise.In a head evaluation HA, the motion vector MV for determines the current macroblock MB. This is done on a for those skilled in the art.

Der Wert des Bewegungsvektors MV wird beispielsweise in einem Vektor-FIFO-Speicher MVS abgespeichert. Dem Wert des Bewe­ gungsvektors MV wird in einem Adreß-FIFO-Speicher AS die Adresse des Makroblocks MB gespeichert, die innerhalb des Bildes die Nummer des aktuellen Makroblocks MB angibt. Die Adresse des jeweiligen Makroblocks MB und der Wert des Bewe­ gungsvektors MV werden eindeutig einander zugeordnet.The value of the motion vector MV is, for example, in one Vector FIFO memory MVS stored. The value of the movement supply vector MV is in an address FIFO memory AS Address of the macroblock MB stored within the Picture indicates the number of the current macroblock MB. The Address of the respective macro block MB and the value of the move Delivery vectors MV are clearly assigned to one another.

Anhand einer Adressenliste AL der Makroblöcke MB wird in ei­ nem Adressen-Generator AG die physikalische Adresse des Ma­ kroblocks MB in dem Bildspeicher FM gebildet, abhängig vom Bild-Typ, also abhängig davon, ob es sich bei dem zu decodie­ renden Bild um ein I-Bild, ein P-Bild oder ein B-Bild handelt.Using an address list AL of the macro blocks MB is in ei nem Adress-Generator AG the physical address of the Ma kroblocks MB formed in the image memory FM, depending on  Image type, depending on whether it is the decode image is an I-picture, a P-picture or a B-picture.

Handelt es sich um ein I-Bild, so ermittelt der Adressen- Generator AG die Adresse des Makroblocks MB in dem neuen (aktuellen) Bild, da bei diesem Bild-Typ die gesamte Bildin­ formation codiert wurde.If it is an I-picture, the address Generator AG the address of the macroblock MB in the new one (current) picture, because with this picture type the entire picture formation was encoded.

Handelt es sich um ein P-Bild, so ermittelt der Adressen- Generator AG die Adresse des Makroblocks MB des Referenzma­ kroblocks RMB in dem zeitlich vorangegangenen Bild, da bei diesem Bild-Typ die Differenzinformation übertragen wird.If it is a P-picture, the address Generator AG the address of the macro block MB of the reference ma kroblocks RMB in the previous picture, because at this image type the difference information is transmitted.

Handelt es sich um ein B-Bild, so wird in einer Zwischenstufe ZS abhängig von den Werten der Bewegungsvektoren MV der ent­ sprechenden Referenzblöcke RMB zweier aufeinanderfolgender I- Bilder bzw. P-Bilder, die zur Rekonstruktion des B-Bildes verwendet werden, der Bewegungsvektor des Makroblocks MB des B-Bildes durch Interpolation bestimmt. Weiterhin wird die Pi­ xelinformation (Luminanz und Chrominanz des jeweiligen Pi­ xels) ebenso interpoliert.If it is a B-picture, it is in an intermediate stage ZS depending on the values of the motion vectors MV of the ent speaking reference blocks RMB of two successive I- Images or P-images that are used to reconstruct the B-image are used, the motion vector of the macro block MB des B-image determined by interpolation. Furthermore, the Pi xelinformation (luminance and chrominance of the respective Pi xels) also interpolated.

Das detaillierte Vorgehen hierbei ist wiederum abhängig von dem verwendeten Codierungsverfahren und ist dem Fachmann aus dem jeweiligen bekannten Codierungsverfahren bekannt.The detailed procedure here again depends on the coding method used and is known to the expert the known coding method known.

Für die Fälle, daß entweder ein P-Bild oder ein B-Bild deco­ diert wird, werden die Referenzmakroblöcke RMB, die unter der ermittelten Adresse in dem Bildspeicher FM gespeichert sind, in einen Zwischenspeicher kopiert und eventuell einer Halb- Pixel-Filterung unterzogen. Anschließend werden die nun er­ mittelten Daten des aktuellen Makroblocks MB in dem Bildspei­ cher FM gespeichert an der Adresse des aktuellen Makroblocks MB. In the event that either a P-picture or a B-picture deco the reference macro blocks RMB, which are under the determined address are stored in the image memory FM, copied into a buffer and possibly a half Subjected to pixel filtering. Then he will now averaged data of the current macroblock MB in the image memory cher FM stored at the address of the current macro block MB.  

Dies ist für ein I-Bild nicht notwendig, da in diesem Fall die von dem Adressen-Generator AG ermittelte Adresse schon die Adresse des aktuellen Makroblocks MB darstellt.This is not necessary for an I-picture, because in this case the address determined by the address generator AG already represents the address of the current macroblock MB.

Ein zweites Ausführungsbeispiel ist in den Fig. 5 und 7 dargestellt.A second embodiment is shown in FIGS. 5 and 7.

Hierbei werden die Kopieraktionen nicht parallel zur Decodie­ rung der codierten Makroblöcke MB durchgeführt. Die uncodier­ ten Makroblöcke UMB werden markiert 701 und Rekonstruktions­ daten der uncodierten Makroblöcke UMB werden in einem Rekon­ struktionsspeicher RS gespeichert.Here the copy actions are not parallel to the decoding tion of the encoded macroblocks MB performed. The uncoded th macro blocks UMB are marked 701 and reconstruction data of the uncoded macro blocks UMB are in a recon structure memory RS saved.

Hierbei wird der Wert des Bewegungsvektors MV beispielsweise in dem Vektor-FIFO-Speicher MVS abgespeichert. Dies erfolgt jedoch nur bei zu decodierenden B-Bildern. Dem Wert des Bewe­ gungsvektors MV wird in einem Adreß-FIFO-Speicher AS die Adresse des Makroblocks MB gespeichert, die innerhalb des Bildes die Nummer des aktuellen Makroblocks MB angibt. Die Adresse des jeweiligen Makroblocks MB und der Wert des Bewe­ gungsvektors MV werden bei B-Bildern eindeutig einander zuge­ ordnet.Here, the value of the motion vector MV is, for example stored in the vector FIFO memory MVS. this happens however only for B-pictures to be decoded. The value of the movement supply vector MV is in an address FIFO memory AS Address of the macroblock MB stored within the Picture indicates the number of the current macroblock MB. The Address of the respective macro block MB and the value of the move supply vectors MV are clearly drawn towards each other in B-pictures arranges.

Erst nachdem die codierten Makroblöcke MB decodiert wurden, werden die als nicht codiert gekennzeichneten Makroblöcke UMB bearbeitet. Die Bearbeitung selbst erfolgt wiederum in dem Kopiermodul KM 608 auf die im vorigen beschriebene Weise.Only after the encoded macroblocks MB have been decoded the macro blocks UMB marked as not coded processed. The processing itself takes place in the Copy module KM 608 in the manner described above.

Der der seriellen Verarbeitung kann das Kopieren der Refe­ renzmakroblöcke RMB auch in dem Mittel zur Bewegungsschätzung MC durchgeführt werden.The serial processing can copy the Refe reference macroblocks RMB also in the means for motion estimation MC can be performed.

Die restlichen Verfahrensschritte entsprechen den Schritten des ersten Ausführungsbeispiels.The remaining process steps correspond to the steps of the first embodiment.

Mischformen zwischen diesen zwei "Extremfällen" der paralle­ len Bearbeitung und der streng getrennten Bearbeitung der co­ dierten Makroblöcke MB und der uncodierten Makroblöcke UMB sind in Varianten des erfindungsgemäßen Verfahrens vorgese­ hen.Hybrid forms between these two "extreme cases" of the parallel len processing and the strictly separate processing of co  dated macro blocks MB and the uncoded macro blocks UMB are vorese in variants of the inventive method hen.

Eine Weiterbildung der Verfahren ist in Fig. 8 am Beispiel des ersten Ausführungsbeipiels dargestellt. Dabei wird in ei­ nem weiteren Schritt für codierte Makroblöcke MB überprüft, ob einzelne Bildblöcke des aktuellen Makroblocks MB nicht co­ diert sind 801. Existieren uncodierte Bildblöcke UBB, so wer­ den die Bildblöcke für die uncodierten Bildblöcke UBB ebenso wie im vorigen die uncodierten Makroblöcke UMB in dem Kopier­ modul KM aus dem entsprechenden Referenzbildblock RBB des vorangegangenen Bildes gebildet.A further development of the method is shown in FIG. 8 using the example of the first exemplary embodiment. In a further step, it is checked for encoded macroblocks MB whether individual image blocks of the current macroblock MB are not coded 801. If uncoded image blocks UBB exist, the image blocks for the uncoded image blocks UBB as well as the uncoded macroblocks UMB in in the previous one the copying module KM formed from the corresponding reference image block RBB of the previous image.

In Fig. 9 ist eine Anordnung dargestellt, in der die Verfah­ ren eingesetzt werden. In einem ersten Rechner R1, der Co­ diereinheit, wird ein Bild auf die im vorigen beschriebene Weise codiert. Das Bild wird beispielsweise von einer Kamera K aufgenommen.In Fig. 9, an arrangement is shown in which the proced ren are used. In a first computer R1, the coding unit, an image is encoded in the manner described above. The image is recorded, for example, by a camera K.

Der erste Rechner R1 ist mit einem zweiten Rechner R2 gekop­ pelt. Der erste Rechner R1 überträgt das codierte Bild an den zweiten Rechner R2, wo das Bild decodiert wird. Das decodier­ te Bild wird nun beispielsweise auf einem Bildschirm BS2 des zweiten Rechners R2 einem zweiten Betrachter B2 dargestellt.The first computer R1 is coupled to a second computer R2 pelt. The first computer R1 transmits the encoded picture to the second computer R2, where the picture is decoded. The decoder te picture is now, for example, on a screen BS2 second computer R2 to a second viewer B2.

Es ist ebenso vorgesehen, daß das codierte Bild nicht nur übertragene sondern auch in dem ersten Rechner R1 decodiert wird, was bei den blockbasierten Verfahren ohnehin nötig ist zur Ermittlung der eigentlich übertragenen Differenzinforma­ tion, und auf einem Bildschirm BS1 des ersten Rechners R1 ei­ nem ersten Betrachter dargestellt wird. It is also contemplated that the encoded picture will not only transmitted but also decoded in the first computer R1 becomes what is necessary anyway with the block-based methods to determine the difference information actually transmitted tion, and on a screen BS1 of the first computer R1 egg is shown to the first viewer.  

In diesem Dokument wurden folgende Veröffentlichungen zi­ tiert:
[1] D. Le Gall, MPEG:A Video Compression Standard for Multime­ dia Applications, Communications of the ACM, Vol. 34, No. 4, S. 47-58, April 1991, 1991);
[2] Ming Liou, Overview of the px64 kbit/s Video Coding Standard, Communications of the ACM, Vol. 34, No. 4, S. 60-63, April 1991, 1991;
[3] G. K. Wallace, The JPEG Still Picture Compression Standard, Communications of the ACM, Vol. 34, No. 4, S. 31-44, April 1991, 1991.
The following publications have been cited in this document:
[1] D. Le Gall, MPEG: A Video Compression Standard for Multimedia Applications, Communications of the ACM, vol. 34, no. 4, pp. 47-58, April 1991, 1991);
[2] Ming Liou, Overview of the px64 kbit / s Video Coding Standard, Communications of the ACM, Vol. 34, No. 4, pp. 60-63, April 1991, 1991;
[3] GK Wallace, The JPEG Still Picture Compression Standard, Communications of the ACM, vol. 34, no. 4, pp. 31-44, April 1991, 1991.

Claims (5)

1. Decodierer zur Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern,
  • - bei dem ein erstes Mittel vorgesehen ist zur Durchführung einer Variable Length Decodierung (VLD) eines Makroblocks (MB) eines Bildes (600), der eine vorgebbare Anzahl von Bild­ blöcken (BB) aufweist,
  • - bei dem ein Steuermittel (HA) vorgesehen ist zur Prüfung, ob der Makroblock (MB) uncodiert (UMB) ist,
  • - bei dem ein Kopiermodul (KM) vorgesehen ist,
  • - bei dem ein zweites Mittel vorgesehen ist zur Durchführung einer Run Length Decodierung (RLD),
  • - bei dem ein drittes Mittel vorgesehen ist zur Durchführung eines inversen Scan-Verfahrens (IS),
  • - bei dem ein viertes Mittel vorgesehen ist zur Durchführung einer inversen Quantisierung (IQ),
  • - bei dem ein fünftes Mittel vorgesehen ist zur Durchführung einer inversen Codierungstransformation (IDCT),
  • - bei dem ein sechstes Mittel vorgesehen ist zur Durchführung einer Bewegungskompensation (MC), und
  • - bei dem ein Bildspeicher (FM) vorgesehen ist.
1. decoder for decoding images coded using a block-based coding method,
  • a first means is provided for carrying out a variable length decoding (VLD) of a macroblock (MB) of an image (600) which has a predeterminable number of image blocks (BB),
  • a control means (HA) is provided for checking whether the macroblock (MB) is uncoded (UMB),
  • - in which a copy module (KM) is provided,
  • a second means is provided for performing run length decoding (RLD),
  • in which a third means is provided for carrying out an inverse scanning method (IS),
  • a fourth means is provided for performing an inverse quantization (IQ),
  • a fifth means is provided for carrying out an inverse coding transformation (IDCT),
  • - In which a sixth means is provided for performing motion compensation (MC), and
  • - In which an image memory (FM) is provided.
2. Codierer zur Decodierung von mit einem blockbasierten Co­ dierungsverfahren codierten Bildern,
  • - bei dem eine Transformationseinheit vorgesehen ist zur Durchführung einer Codierungstransformation (DCT),
  • - bei dem eine Quantisierungseinheit vorgesehen ist zur Durchführung einer Quantisierung (Q),
  • - bei dem eine Scaneinheit vorgesehen ist zur Durchführung eines Scan-Verfahrens (SV),
  • - bei dem ein Steuermittel (HA) vorgesehen ist zur Prüfung, ob der Makroblock (MB) uncodiert (UMB) ist,
  • - bei dem ein Kopiermodul (KM) vorgesehen ist,
  • - bei dem ein Mittel vorgesehen ist zur Durchführung eines inversen Scan-Verfahrens (IS),
  • - bei dem ein Mittel vorgesehen ist zur Durchführung einer inversen Quantisierung (IQ),
  • - bei dem ein Mittel vorgesehen ist zur Durchführung einer inversen Codierungstransformation (IDCT),
  • - bei dem ein Mittel vorgesehen ist zur Durchführung einer Bewegungskompensation (MC), und
  • - bei dem ein Bildspeicher (FM) vorgesehen ist.
2. encoder for decoding images coded with a block-based coding method,
  • in which a transformation unit is provided for performing a coding transformation (DCT),
  • in which a quantization unit is provided for carrying out a quantization (Q),
  • in which a scanning unit is provided for carrying out a scanning method (SV),
  • a control means (HA) is provided for checking whether the macroblock (MB) is uncoded (UMB),
  • - in which a copy module (KM) is provided,
  • in which a means is provided for carrying out an inverse scanning method (IS),
  • - in which a means is provided for performing an inverse quantization (IQ),
  • in which a means is provided for carrying out an inverse coding transformation (IDCT),
  • - In which a means is provided for performing motion compensation (MC), and
  • - In which an image memory (FM) is provided.
3. Verfahren zur Decodierung von mit einem blockbasierten Co­ dierungsverfahren codierten Bildern,
  • - bei dem für einen Makroblock (MB) eines Bildes (600), der eine vorgebbare Anzahl von Bildblöcken (BB) aufweist, eine Variable Length Decodierung durchgeführt (VLD) (601) wird,
  • - bei dem geprüft wird, ob der Makroblock (MB) uncodiert (SMB) ist (602)
  • - bei dem für den Fall, daß der Makroblock (MB) codiert ist, folgende Schritte vorgesehen werden:
    • - für den Makroblock (MB) wird eine Run Length Decodierung (RLD) durchgeführt (603),
    • - für den Makroblock (MB) wird ein inverses Scan-Verfahren (IS) durchgeführt (604),
    • - für den Makroblock (MB) wird eine inverse Quantisierung (IQ) durchgeführt (605),
    • - für den Makroblock (MB) wird eine inverse Codierungstrans­ formation (IDCT) durchgeführt (606),
    • - für den Makroblock (MB) wird eine Bewegungskompensation (MC) durchgeführt (607),
    • - bei dem der Makroblock (MB) gespeichert wird, und
  • - bei dem für den Fall, daß der Makroblock (MB) uncodiert ist, eine Kopie eines Referenzmakroblocks (RM) des uncodier­ ten Makroblocks (MB) in einem Bildspeicher (FM) gespeichert wird (608), und
  • - bei dem der decodierte Makroblock (MB) oder die Kopie des Referenzmakroblocks (RM) einen rekonstruierten Makroblock (RMB) darstellen (609).
3. Method for decoding images coded with a block-based coding method,
  • variable length decoding (VLD) (601) is carried out for a macroblock (MB) of an image (600) which has a predeterminable number of image blocks (BB),
  • - which checks whether the macroblock (MB) is uncoded (SMB) (602)
  • - In the event that the macroblock (MB) is coded, the following steps are provided:
    • a run length decoding (RLD) is carried out for the macroblock (MB) (603),
    • an inverse scanning process (IS) is carried out for the macroblock (MB) (604),
    • - an inverse quantization (IQ) is carried out for the macroblock (MB) (605),
    • an inverse coding transformation (IDCT) is carried out for the macroblock (MB) (606),
    • motion compensation (MC) is carried out for the macroblock (MB) (607),
    • - in which the macroblock (MB) is saved, and
  • - In the event that the macroblock (MB) is uncoded, a copy of a reference macroblock (RM) of the uncoded th macroblock (MB) is stored in an image memory (FM) (608), and
  • - in which the decoded macroblock (MB) or the copy of the reference macroblock (RM) represent a reconstructed macroblock (RMB) (609).
4. Verfahren zur Decodierung von mit einem blockbasierten Co­ dierungsverfahren codierten Bildern,
  • - bei dem für einen Makroblock (MB) eines Bildes (600), der eine vorgebbare Anzahl von Bildblöcken (BB) aufweist, eine Variable Length Decodierung durchgeführt (VLD) (601) wird,
  • - bei dem geprüft wird, ob der Makroblock (MB) uncodiert (SMB) ist (602),
  • - bei dem für den Fall, daß der Makroblock (MB) codiert ist, folgende Schritte vorgesehen werden:
    • - für den Makroblock (MB) wird eine Run Length Decodierung (RLD) durchgeführt (603),
    • - für den Makroblock (MB) wird ein inverses Scan-Verfahren (IS) durchgeführt (604),
    • - für den Makroblock (MB) wird eine inverse Quantisierung (IQ) durchgeführt (605),
    • - für den Makroblock (MB) wird eine inverse Codierungstrans­ formation (IDCT) durchgeführt (606),
    • - für den Makroblock (MB) wird eine Bewegungskompensation (MC) durchgeführt (607),
    • - bei dem der Makroblock (MB) gespeichert wird, und
  • - bei dem für den Fall, daß der Makroblock (MB) uncodiert ist, der Makroblock (MB) als uncodiert gekennzeichnet wird (701) f
  • - bei dem nach der Decodierung einer vorgebbaren Anzahl von Makroblöcken (MB) für die als uncodiert gekennzeichneten Ma­ kroblöcke, (MB) jeweils eine Kopie eines Referenzmakroblocks (RM) des jeweiligen uncodierten Makroblocks (MB) in einem Bildspeicher (FM) gespeichert wird (608), und
  • - bei dem der decodierte Makroblock (MB) oder die Kopie des Referenzmakroblocks (RM) einen rekonstruierten Makroblock (RMB) darstellen (609).
4. Method for decoding images coded with a block-based coding method,
  • variable length decoding (VLD) (601) is carried out for a macroblock (MB) of an image (600) which has a predeterminable number of image blocks (BB),
  • - which checks whether the macroblock (MB) is uncoded (SMB) (602),
  • - In the event that the macroblock (MB) is coded, the following steps are provided:
    • a run length decoding (RLD) is carried out for the macroblock (MB) (603),
    • an inverse scanning process (IS) is carried out for the macroblock (MB) (604),
    • - an inverse quantization (IQ) is carried out for the macroblock (MB) (605),
    • an inverse coding transformation (IDCT) is carried out for the macroblock (MB) (606),
    • motion compensation (MC) is carried out for the macroblock (MB) (607),
    • - in which the macroblock (MB) is saved, and
  • - In the event that the macroblock (MB) is uncoded, the macroblock (MB) is marked as uncoded (701) f
  • - In which, after the decoding of a predeterminable number of macroblocks (MB) for the macroblocks marked as uncoded, (MB) a copy of a reference macroblock (RM) of the respective uncoded macroblock (MB) is stored in an image memory (FM) (608 ), and
  • - in which the decoded macroblock (MB) or the copy of the reference macroblock (RM) represent a reconstructed macroblock (RMB) (609).
5. Verfahren nach Anspruch 3 oder 4,
  • - bei dem für jeden Bildblock (BB) des Makroblocks (MB) ge­ prüft wird, ob ein Bildblock (BB) uncodiert ist, und
  • - bei dem für den Fall, daß der Bildblock (BB) uncodiert ist, eine Kopie eines Referenzbildblocks (RB) des uncodierten Bildblocks (BB) in dem Bildspeicher (FM) gespeichert wird.
5. The method according to claim 3 or 4,
  • - In which for each picture block (BB) of the macro block (MB) ge is checked whether an image block (BB) is uncoded, and
  • - In which, in the event that the picture block (BB) is uncoded, a copy of a reference picture block (RB) of the uncoded picture block (BB) is stored in the picture memory (FM).
DE19603808A 1996-02-02 1996-02-02 Block-based compression image decoder Expired - Fee Related DE19603808C1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE19603808A DE19603808C1 (en) 1996-02-02 1996-02-02 Block-based compression image decoder
PCT/DE1996/002464 WO1997028651A1 (en) 1996-02-02 1996-12-19 Device and method for encoding and decoding images encoded using a block-based coding procedure
TW086100069A TW346610B (en) 1996-02-02 1997-01-06 Arrangement and method for coding and decoding pictures which have been coded using a block-based coding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19603808A DE19603808C1 (en) 1996-02-02 1996-02-02 Block-based compression image decoder

Publications (1)

Publication Number Publication Date
DE19603808C1 true DE19603808C1 (en) 1997-04-17

Family

ID=7784366

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19603808A Expired - Fee Related DE19603808C1 (en) 1996-02-02 1996-02-02 Block-based compression image decoder

Country Status (3)

Country Link
DE (1) DE19603808C1 (en)
TW (1) TW346610B (en)
WO (1) WO1997028651A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1306823C (en) * 2004-07-30 2007-03-21 联合信源数字音视频技术(北京)有限公司 Method and device for concurrent processing run-length coding, inverse scanning inverse quantization

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367629A (en) * 1992-12-18 1994-11-22 Sharevision Technology, Inc. Digital video compression system utilizing vector adaptive transform

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2599577B1 (en) * 1986-05-29 1988-08-05 Guichard Jacques TRANSFORMATION CODING METHOD FOR TRANSMITTING IMAGE SIGNALS.
EP0290085B1 (en) * 1987-05-06 1996-03-20 Philips Patentverwaltung GmbH System for the transmission of video pictures
DE69133401T2 (en) * 1990-03-16 2005-01-13 Fujitsu Ltd., Kawasaki System for processing image data
DE69131808T2 (en) * 1990-07-31 2000-03-16 Fujitsu Ltd Process and device for image data processing
US5455629A (en) * 1991-02-27 1995-10-03 Rca Thomson Licensing Corporation Apparatus for concealing errors in a digital video processing system
JPH05268482A (en) * 1991-10-15 1993-10-15 Internatl Business Mach Corp <Ibm> Method and device releasing compression of image information
JPH06153180A (en) * 1992-09-16 1994-05-31 Fujitsu Ltd Picture data coding method and device
ES2430060T3 (en) * 1993-03-24 2013-11-18 Sony Corporation Motion vector encoding and decoding method and associated device and image signal coding and decoding method and associated device
US5442400A (en) * 1993-04-29 1995-08-15 Rca Thomson Licensing Corporation Error concealment apparatus for MPEG-like video data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367629A (en) * 1992-12-18 1994-11-22 Sharevision Technology, Inc. Digital video compression system utilizing vector adaptive transform

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Communications of the ACM, Vol. 34, No. 4, S. 31-44, 47-58, 60-63, April 1991 *

Also Published As

Publication number Publication date
TW346610B (en) 1998-12-01
WO1997028651A1 (en) 1997-08-07

Similar Documents

Publication Publication Date Title
DE60220106T2 (en) Method and device for reducing interference in decoded images with postfiltering
DE69920429T2 (en) MOTION ESTIMATION SYSTEM AND METHOD
DE69834959T2 (en) Predictive image decoding method
DE19704439C2 (en) Method and device for motion estimation in a digital video encoder using trajectories
DE19541457C1 (en) Method for coding a video data stream of a video sequence consisting of picture blocks
DE60029828T2 (en) METHOD AND DEVICE FOR DECODING VIDEO SIGNALS BY MEANS OF A MULTIPROCESSOR SYSTEM
EP0956539B1 (en) Method and device for coding and decoding a digitized image
DE102016125604A1 (en) Intelligent sorting of recursive block partitioning for advanced intra-prediction in video coding
EP0776574A1 (en) Method, requiring reduced memory capacity, for decoding compressed video data
EP0956703B1 (en) Method and device for coding and decoding a digitized image
DE19524688C1 (en) Method for decoding and encoding a compressed video data stream with reduced memory requirements
DE19603808C1 (en) Block-based compression image decoder
DE19524872C1 (en) Method and arrangement for coding and decoding a video data stream for all picture elements of the video data stream
EP0821531A2 (en) Encoding and decoding of trick films
EP1110407B1 (en) Method and array for coding and decoding a digitized image using an overall motion vector
DE102005051091A1 (en) Methods and apparatus for determining and reconstructing a predicted image area
EP0981910B1 (en) Method and device for coding a digitized image
EP1279291A1 (en) Method and device for storing and processing image information of temporally successive images
EP0981909B1 (en) Method and device for coding and decoding a digitized image
WO2001049038A1 (en) Method, device and computer programme generation for prediction in encoding an image divided into image blocks
EP1121809B1 (en) Method and device for coding a digitized image and method for decoding a digitized image
DE10007171A1 (en) Method and arrangement for coding or for coding and decoding a sequence of numbers
DE19944300C2 (en) Method, arrangement and computer program product for motion estimation when encoding an image object in an image
DE19717453A1 (en) Picture section inlay method for video picture
DE19701942C1 (en) Image data coding method

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
D1 Grant (no unexamined application published) patent law 81
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee