DE19603808C1 - Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern - Google Patents

Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern

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
English (en)
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/de
Priority to PCT/DE1996/002464 priority patent/WO1997028651A1/de
Priority to TW086100069A priority patent/TW346610B/zh
Application granted granted Critical
Publication of DE19603808C1 publication Critical patent/DE19603808C1/de
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)

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).
Eine in keinster Weise abschließend zu verstehende Aufzählung von blockbasierten Codierungsverfahren ist:
  • - MPEG 1, beschrieben in [1]
  • - MPEG 2, beschrieben in [2],
  • - H.261-Standard und
  • - JPEG, beschrieben 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.
Ü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.
Die nunmehr codierten Koeffizienten müssen zur Rekonstruktion des jeweils codierten Bildes den zu den vorigen Codierungs­ schritten inversen Verfahrensschritten unterzogen werden.
Dies bedeutet die Anwendung einer Variable Length Decodierung (VLD) auf die codierten Koeffizienten und einer anschließen­ den sogenannten Run Length Decodierung (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.
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.
Bilder, deren Bildinformation komplett codiert wird, werden als Stützbilder (I-Bilder) bezeichnet.
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.
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.
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.
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.
Je nach verwendetem blockbasierten Codierungsverfahren werden die uncodierten Makroblöcke unterschiedlich behandelt.
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.
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.
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.
Ein Nachteil in dieser Vorgehensweise ist darin zu sehen, daß diese unnötigen Additionen unnötige Verlustleistung kostet.
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.
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.
Das Problem wird durch die Anordnungen gemäß Patentanspruch 1 und Patentanspruch 2 sowie die Verfahren gemäß Patentanspruch 3 und Patentanspruch 4 gelöst.
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.
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.
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.
Weiterhin werden die zusätzlichen unnötigen Additionen ver­ mieden und eine erhebliche Einsparung benötigter Verlustlei­ stung zur Durchführung des Verfahrens erreicht.
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.
Diese Vorteile gelten ebenso für das Verfahren gemäß Patent­ anspruch 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.
Für die Anordnungen gemäß Patentanspruch 1 und gemäß Patent­ anspruch 2 gelten ebenfalls die oben beschriebenen Vorteile der Verfahren.
Vorteilhafte Weiterbildungen ergeben sich aus den abhängigen Ansprüchen.
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.
Zwei Ausführungsbeispiele darstellende Zeichnungen werden im folgenden näher erläutert.
Es zeigen
Fig. 1 eine Skizze, in der das bekannte Verfahren des Standes der Technik dargestellt ist;
Fig. 2 eine Skizze, in der das Prinzip der erfindungsge­ mäßen Verfahren beschrieben ist;
Fig. 3 eine Anordnung, die zur Durchführung der Verfahren eingesetzt wird;
Fig. 4 eine Skizze, in der detailliert Verfahrensschritte beschrieben sind, die in dem Kopiermodul durch­ geführt werden;
Fig. 5 eine Skizze, in der eine Anordnung beschrieben ist, die zur Durchführung des Verfahrens gemäß Patentan­ spruch 2 verwendet wird;
Fig. 6 ein Ablaufdiagramm, in dem die einzelnen Verfah­ rensschritte des Verfahrens gemäß Patentanspruch 1 dargestellt sind;
Fig. 7 ein Ablaufdiagramm, in dem die einzelnen Verfah­ rensschritte des Verfahrens gemäß Patentanspruch 2 dargestellt sind;
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. 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.
Anhand der Fig. 1 bis 9 werden die erfindungsgemäßen Ver­ fahren weiter erläutert.
In Fig. 1 ist anhand einer Skizze das bekannte Verfahren dargestellt.
Hierbei ist ein zu codierendes bzw. zu decodierendes Bild eingeteilt in Makroblöcke MB, die eine vorgebbare Anzahl Bildblöcke BB aufweisen.
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.
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.
Dies bedeutet eine unterschiedliche Aufteilung von Bildblöc­ ken BB innerhalb eines Makroblocks 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.
Dies schränkt jedoch die Allgemeingültigkeit in keinster Weise ein.
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.
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.
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.
Hieraus wird deutlich, daß die erfindungsgemäßen Verfahren sowohl in der Codiereinheit als auch in der Decodiereinheit eingesetzt werden kann.
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.
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.
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.
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.
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.
Die Verarbeitung ist jedoch abhängig von der Implementierung, die jedem Fachmann geläufig ist.
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.
Wartezeitschritte Wti sind in Fig. 1 für in der Einheit zur Durchführung der inversen Quantisierung IQ und inversen Co­ dierungstransformation IDCT dargestellt.
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. 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.
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).
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.
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.
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.
Anhand der decodierten Makroblöcke MB und der kopierten Ma­ kroblöcke wird in einem letzten Schritt 609 das zu decodie­ rende Bild rekonstruiert.
Diese im vorigen beschriebene Vorgehensweise ist in Fig. 4 für das MPEG 1 Verfahrens dargestellt.
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.
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.
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.
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.
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.
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.
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.
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.
Das detaillierte Vorgehen hierbei ist wiederum abhängig von dem verwendeten Codierungsverfahren und ist dem Fachmann aus dem jeweiligen bekannten Codierungsverfahren bekannt.
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.
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.
Ein zweites Ausführungsbeispiel ist in den Fig. 5 und 7 dargestellt.
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.
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.
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.
Der der seriellen Verarbeitung kann das Kopieren der Refe­ renzmakroblöcke RMB auch in dem Mittel zur Bewegungsschätzung MC durchgeführt werden.
Die restlichen Verfahrensschritte entsprechen den Schritten des ersten Ausführungsbeispiels.
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.
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.
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.
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.
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.
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.

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.
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.
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).
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).
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.
DE19603808A 1996-02-02 1996-02-02 Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern Expired - Fee Related DE19603808C1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE19603808A DE19603808C1 (de) 1996-02-02 1996-02-02 Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern
PCT/DE1996/002464 WO1997028651A1 (de) 1996-02-02 1996-12-19 Anordnung und verfahren zur codierung und decodierung von mit einem blockbasierten codierungsverfahren codierten bildern
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 (de) 1996-02-02 1996-02-02 Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern

Publications (1)

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

Family

ID=7784366

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19603808A Expired - Fee Related DE19603808C1 (de) 1996-02-02 1996-02-02 Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern

Country Status (3)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1306823C (zh) * 2004-07-30 2007-03-21 联合信源数字音视频技术(北京)有限公司 一种并行处理行程解码、反扫描和反量化的方法及装置

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 (fr) * 1986-05-29 1988-08-05 Guichard Jacques Procede de codage par transformation pour la transmission de signaux d'image.
EP0290085B1 (de) * 1987-05-06 1996-03-20 Philips Patentverwaltung GmbH System zur Übertragung von Videobildern
DE69133177T2 (de) * 1990-03-16 2003-04-17 Fujitsu Ltd Bilddatenbearbeitungssystem
EP0469855B1 (de) * 1990-07-31 1999-12-01 Fujitsu Limited Verfahren und Gerät zur Bilddatenverarbeitung
US5455629A (en) * 1991-02-27 1995-10-03 Rca Thomson Licensing Corporation Apparatus for concealing errors in a digital video processing system
JPH05268482A (ja) * 1991-10-15 1993-10-15 Internatl Business Mach Corp <Ibm> 画像情報を圧縮解除する方法およびその装置
JPH06153180A (ja) * 1992-09-16 1994-05-31 Fujitsu Ltd 画像データ符号化方法及び装置
ATE204691T1 (de) * 1993-03-24 2001-09-15 Sony Corp Verfahren und vorrichtung zur kodierung/dekodierung von bewegungsvektoren, und verfahren und vorrichtung zur kodierung/dekodierung von bildsignalen
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 (de) 1997-08-07

Similar Documents

Publication Publication Date Title
DE60220106T2 (de) Verfahren und Vorrichtung zur Reduzierung von Störungen in dekodierten Bildern mit Nachfilterung
DE69920429T2 (de) Bewegungsschätzungssystem und -verfahren
DE69031045T2 (de) Einrichtung zur adaptiven Zwischenbild-Prädiktionsdekodierung eines Videosignals
DE69738264T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
DE69830979T2 (de) Verfahren und vorrichtung zur videocodierung mit variabler bitrate
DE69824554T2 (de) Verfahren und anordnung zum erzeugen eines standbildes mit hoher auflösung
DE19704439C2 (de) Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien
DE19541457C1 (de) Verfahren zur Codierung eines Videodatenstroms einer aus Bildblöcken bestehenden Videosequenz
DE60029828T2 (de) Verfahren und vorrichtung zur dekodierung von videosignalen mittels eines multiprozessorsystems
EP0956539B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes
DE102016125604A1 (de) Intelligente Sortierung der rekursiven Blockaufteilung für die erweiterte Intra-Prädiktion bei der Videocodierung
EP0776574A1 (de) Verfahren zur decodierung komprimierter video-daten mit reduziertem speicherbedarf
EP0956703B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes
EP0836785B1 (de) Verfahren zur dekodierung und kodierung eines komprimierten videodatenstroms mit reduziertem speicherbedarf
DE19603808C1 (de) Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern
DE19524872C1 (de) Verfahren und Anordnung zur Codierung und Decodierung von einem Videodatenstrom für alle Bildelemente des Videodatenstroms
EP0821531A2 (de) Codierung und Decodierung von Trickfilmen
EP1110407B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors
DE102005051091A1 (de) Verfahren und Vorrichtungen zur Bestimmung und Rekonstruktion eines prädizierten Bildbereichs
EP0981910B1 (de) Verfahren und vorrichtung zur codierung eines digitalisierten bildes
WO2001080569A1 (de) Verfahren und vorrichtung zum speichern und bearbeiten von bildinformationen zeitlich aufeinanderfolgender bilder
EP0981909B1 (de) Verfahren und vorrichtung zur codierung und decodierung eines digitalisierten bildes
WO2001049038A1 (de) Verfahren, anordnung und computerprogrammerzeugnis zur prädiktion bei der codierung eines in bildblöcke unterteilten bildes
EP1121809B1 (de) Verfahren und anordnung zur codierung eines digitalisierten bildes, verfahren und anordnung zur decodierung eines digitalisierten bildes
DE10007171A1 (de) Verfahren und Anordnung zur Codierung bzw. zur Codierung und Decodierung einer Zahlenfolge

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