DE102004063902B4 - Computerprogramm mit einem Verfahren zum Verarbeiten einer Gruppe von Bildern und mit einem Verfahren zum Verarbeiten eines Basisbildes und eines oder mehrerer Erweiterungsbilder - Google Patents

Computerprogramm mit einem Verfahren zum Verarbeiten einer Gruppe von Bildern und mit einem Verfahren zum Verarbeiten eines Basisbildes und eines oder mehrerer Erweiterungsbilder Download PDF

Info

Publication number
DE102004063902B4
DE102004063902B4 DE102004063902A DE102004063902A DE102004063902B4 DE 102004063902 B4 DE102004063902 B4 DE 102004063902B4 DE 102004063902 A DE102004063902 A DE 102004063902A DE 102004063902 A DE102004063902 A DE 102004063902A DE 102004063902 B4 DE102004063902 B4 DE 102004063902B4
Authority
DE
Germany
Prior art keywords
image
block
images
values
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE102004063902A
Other languages
English (en)
Other versions
DE102004063902A1 (de
Inventor
Detlev Marpe
Heiko Schwarz
Thomas Wiegand
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to DE200410011422 priority Critical patent/DE102004011422B4/de
Priority claimed from DE200410011422 external-priority patent/DE102004011422B4/de
Publication of DE102004063902A1 publication Critical patent/DE102004063902A1/de
Application granted granted Critical
Publication of DE102004063902B4 publication Critical patent/DE102004063902B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Abstract

Computerprogramm mit einem Programmcode zum Durchführen eines Verfahrens zum Verarbeiten einer Gruppe von Bildern, die eine zeitliche Reihenfolge aufweisen, wenn das Computerprogramm auf einem Rechner abläuft, wobei das Verfahren folgende Schritte aufweist:
Bewegungs-kompensiertes Filtern (1102) der Gruppe von Bildern, um ein Basisbild und wenigstens ein Erweiterungsbild zu erhalten, wobei das Basisbild Tiefpassinformationen aus der Gruppe von Bildern aufweist, und wobei das Erweiterungsbild Hochpassinformationen aus der Gruppe von Bildern oder Tiefpassinformationen aus der Gruppe von Bildern aufweist;
Berechnen (1108) eines Nutzens einer Bewegungskompensation für einen Block von Werten eines Bildes der Gruppe von Bilder; und
Steuern (1104) des Schritts des Bewegungskompensierten Filterns, um für einen Block von Werten in dem Erweiterungsbild statt der Hochpassinformationen Tiefpassinformationen einzufügen.

Description

  • Die vorliegende Erfindung bezieht sich auf Videocodierer und insbesondere auf die Verarbeitung von zeitlich aufeinander folgenden Bildern zur Erlangung einer zeitliche Skalierbarkeit.
  • Der Standard H.264/AVC ist Ergebnis eines Videostandardisierungs-Projekts der ITU-T-Videocodier-Expertengruppe (VCEG) und der ISO/IEC-Bewegbild-Expertengruppe (MPEG). Die Hauptziele dieses Standardisierungsvorhabens bestehen darin, ein übersichtliches Videocodier-Konzept mit sehr gutem Kompressionsverhalten zu schaffen, und gleichzeitig eine Netzwerk-freundliche Videodarstellung zu erzeugen, die sowohl Anwendungen mit „Konversationscharakter", wie beispielsweise die Video-Telefonie, sowie Anwendungen ohne Konversationscharakter (Speichern, Rundfunk, Stream-Übertragung) umfassen.
  • Es existiert neben dem oben-zitierten Standard ISO/IEC 14496-10 auch eine Vielzahl von Publikationen die sich auf den Standard beziehen. Lediglich beispielhaft wird auf „The Emerging H.264-AVC Standard", Ralf Schäfer, Thomas Wiegand und Heiko Schwarz, EBU Technical Review, Januar 2003, verwiesen. Zudem umfasst die Fachveröffentlichung „Overview of the H.264/AVC Video Coding Standard", Thomas Wiegand, Gary J. Sullivan, Gesle Bjontegaard und Ajay Lothra, IEEE Tran sactions on Circuits and System for Video Technology, July 2003, sowie die Fachveröffentlichung „Context-based adaptive Binary Arithmethic Coding in the H.264/AVC Video Compression Standard", Detlev Marpe, Heiko Schwarz und Thomas Wiegand, IEEE Transactions on Circuits and Systems for Video Technology, September 2003, einen detaillierten Überblick verschiedener Aspekte des Video-Codier-Standards.
  • Zum bessren Verständnis wird jedoch nachfolgend anhand der 9 bis 11 ein Überblick über den Videocodierer/Decodierer-Algorithmus gegeben.
  • 9 zeigt einen kompletten Aufbau eines Videocodierers, welcher allgemein aus zwei unterschiedlichen Stufen besteht. Allgemein gesagt, erzeugt die erste Stufe, die prinzipiell Video-bezogen arbeitet, Ausgangsdaten, die schließlich von einer zweiten Stufe, die in 9 mit 80 bezeichnet ist, einer Entropy-Codierung (Entropy Coding) unterzogen werden. Die Daten sind Daten 81a, quantisierte Transformations-Koeffizienten 81b sowie Bewegungsdaten 81c, wobei diese Daten 81a, 81b, 81c dem Entropie-Codierer 80 zugeführt werden, um ein codiertes Videosignal am Ausgang des Entropie-Codierers 80 zu erzeugen.
  • Im Einzelnen wird das Eingangsvideosignal (Input Video Signal) in Makroblöcke aufgeteilt, bzw. gesplittet, wobei jeder Makroblock 16×16 Pixel hat. Dann wird die Zuordnung der Makroblöcke zu Slice-Gruppen und Slices (slice = Scheibe) ausgewählt, wonach jeder Makroblock jedes Slices durch das Netz von Betriebsblöcken, wie sie in 8 gezeigt sind, verarbeitet wird. Es sei darauf hingewiesen, dass eine effiziente Parallel-Verarbeitung von Makroblöcken möglich ist, wenn verschiedene Slices in einem Videobild sind.
  • Die Zuordnung der Makroblöcke zu Slice-Gruppen und Slices wird mittels eines Blocks Codiersteuerung (Coder Control) 82 in 8 durchgeführt. Es existieren verschiedene Slices, die folgendermaßen definiert sind:
    I-Slice: Der I-Slice ist ein Slice, in dem alle Makroblöcke des Slices unter Verwendung einer Intra-Prediction codiert werden.
    P-Slice: Zusätzlich zu dem Codiertypen des I-Slices können bestimmte Makroblöcke des P-Slices ebenfalls unter Verwendung einer Inter-Prädiktion mit zumindest einem Bewegungs-Kompensierten-Prädiktionssignal (Motion Compensated Prediction Signal) pro Prädiktionsblock codiert werden.
    B-Slice: Zusätzlich zu den Codiertypen, die im P-Slice verfügbar sind, können bestimmte Markoblöcke des B-Slices ebenfalls unter Verwendung einer Inter-Prädiktion mit zwei Bewegungs-Kompensierten-Prädiktionssignalen pro Prädiktionsblock codiert werden.
  • Die obigen drei Codiertypen sind sehr ähnlich zu denen in früheren Standards, jedoch mit der Ausnahme der Verwendung von Referenzbildern, wie es nachfolgend beschrieben wird. Die folgenden zwei Codiertypen für Slices sind im Standard H.264/AVC neu:
    SP-Slice: Es wird auch als Schalt-P-Slice bezeichnet, der so codiert wird, dass ein effizientes Umschalten zwischen unterschiedlichen vorkodierten Bildern möglich wird.
    SI-Slice: Der SI-Slice wird auch als Schalt-I-Slice bezeichnet, der eine genaue Anpassung des Makroblocks in ei nem SP-Slice für einen direkten beliebigen Zugriff und für Fehler-Wiederherstellungszwecke erlaubt.
  • Insgesamt sind Slices eine Sequenz von Makroblöcken, die in der Reihenfolge eines Raster-Scans verarbeitet werden, wenn nicht eine ebenfalls im Standard definierte Eigenschaft der flexiblen Makroblock-Anordnung FMO (FMO = Flexible Macro Block Ordering) verwendet wird. Ein Bild kann in einen oder mehrere Slices aufgeteilt werden, wie es in 11 dargestellt ist. Ein Bild ist daher eine Sammlung von einem oder mehreren Slices. Slices sind in dem Sinn selbstständig voneinander, da ihre Syntaxelemente aus dem Bitstrom analysiert (geparst) werden können, wobei die Werte der Abtastwerte in dem Bereich des Bildes, der durch den Slice dargestellt wird, korrekt decodiert werden können, ohne dass Daten von anderen Slices benötigt werden, vorausgesetzt, dass verwendete Referenzbilder sowohl im Codierer als auch im Decodierer identisch sind. Bestimmte Informationen von anderen Slices können jedoch nötig sein, um das Deblocking-Filter über Slice-Grenzen hinweg anzuwenden.
  • Die FMO-Eigenschaft modifiziert die Art und Weise, wie Bilder in Slices und Makroblöcke partitioniert werden, indem das Konzept der Slice-Gruppen verwendet wird. Jede Slice-Gruppe ist ein Satz von Makroblöcken, die durch eine Makroblock-zu-Slice-Gruppen-Abbildung definiert ist, die durch den Inhalt eines Bildparametersatzes und durch bestimmte Informationen von Slice-Headern spezifiziert ist. Diese Makroblock-zu-Slice-Gruppen-Abbildung besteht aus einer Slice-Gruppen-Identifikationszahl für jeden Makroblock in dem Bild, wobei spezifiziert wird, zu welcher Slice-Gruppe der zugeordnete Makroblock gehört. Jede Slice-Gruppe kann in eine oder mehrere Slices partitioniert werden, so dass ein Slice eine Sequenz von Makroblöcken innerhalb derselben Slice-Gruppe hat, die in der Reihenfolge einer Rasterabtastung innerhalb des Satzes von Makroblöcken einer speziellen Slice-Gruppe verarbeitet wird.
  • Jeder Makroblock kann in einem von mehreren Codiertypen abhängig von dem Slice-Codiertyp übertragen werden. In all den Slice-Codiertypen werden die folgenden Typen einer Intra-Codierung unterstützt, die als intra-4×4 oder intra_16×16 bezeichnet werden, wobei zusätzlich ein Chroma-Prädiktions-Modus und auch ein I-PCM Prädiktionsmodus unterstützt werden.
  • Der intra-4×4 Modus basiert auf der Prädiktion von jedem 4×4 Chroma-Block separat und ist gut geeignet zum Codieren von Teilen eines Bildes mit herausragenden Details. Der intra-16×16-Modus führt auf der anderen Seite eine Prädiktion des gesamten 16×16-Chroma-Blocks durch und ist mehr geeignet zum Codieren von „weichen" Bereichen eines Bildes.
  • Zusätzlich zu diesen zwei Chroma-Prädiktions-Typen wird eine getrennte Chroma-Prädiktion durchgeführt. Als Alternative für intra-4×4 und intra-16×16 erlaubt der I-4×4 Codiertyp, dass der Codierer einfach die Prädiktion sowie die Transformationscodierung überspringt und statt dessen die Werte de codierten Abtastwerte direkt überträgt. Der I-PCM-Modus dient den folgenden Zwecken: Er ermöglicht es dem Codierer, die Werte der Abtastwerte präzise darzustellen. ER liefert eine Art und Weise, um die Werte von sehr anormalem Bildinhalt ohne Datenvergrößerung genau darzustellen. Er ermöglicht es ferner, für die Anzahl von Bits eine harte Grenze vorzugeben, die ein Codierer für eine Makroblockhandhabung haben muss, ohne dass die Codiereffizienz leidet.
  • Im Gegensatz zu früheren Videocodierstandards (nämlich H.263 plus und MPEG-4 Visual), wo die Intra-Prädiktion im Transformationsbereich durchgeführt worden ist, wird die Intra-Prädiktion bei H.264/AVC immer im Raumbereich (Spatial Domain) durchgeführt, und zwar indem auf benachbarte Abtastwerte von vorher codierten Blöcken bezug genommen wird, die links bzw. oberhalb des zu prädizierenden Blocks liegen (10). Dies kann in bestimmten Umgebungen, bei denen Übertragungsfehler auftreten, eine Fehlerfortpflanzung mit sich bringen, wobei diese Fehlerfortpflanzung aufgrund der Bewegungskompensation (Motion Compensation) in intercodierten Makroblöcken stattfindet. Daher kann ein begrenzter Intra-Codiermodus signalisiert werden, der eine Prädiktion nur von intra-codierten benachbarten Makroblöcken ermöglicht.
  • Wenn der intra-4×4-Modus verwendet wird, wird jeder 4×4-Block aus räumlich benachbarten Abtastwerten vorhergesagt. Dei 16 Abtastwerte des 4×4-Blocks werden unter Verwendung von vorher decodierten Abtastwerten in benachbarten Blöcken vorhergesagt. Für jeden 4×4-Block kann einer von 9 Prädiktionsmodi verwendet werden. Zusätzlich zur „DC-Prädiktion (wo ein Wert verwendet wird, um den gesamten 4×4-Block vorher zu sagen), werden 8 Richtungs-Prädiktions-Modi spezifiziert. Diese Modi sind geeignet, um Richtungsstrukturen in einem Bild, wie beispielsweise Kanten bei verschiedenen Winkeln vorherzusagen.
  • Zusätzlich zu den Intra-Makroblock-Codiertypen werden verschiedene prädiktive oder bewegungs-kompensierte Codiertypen als P-Makroblocktypen spezifiziert. Jeder P-Makroblock-Typ entspricht einer spezifischen Aufteilung des Makro blocks in die Blockformen, die für eine bewegungskompensierte Prädiktion verwendet werden. Aufteilungen mit Luma-Blockgrössen von 16×16, 16×8, 8×8 Abtastwerten werden durch die Syntax unterstützt. Im Falle von Aufteilungen von 8×8 Abtastwerten wird ein zusätzliches Syntaxelement für jede 8×8-Aufteilung übertragen. Dieses Syntaxelement spezifiziert, ob die entsprechende 8×8-Aufteilung ferner in Aufteilungen von 8×4, 4×8 oder 4×4 Luma-Abtastwerten und entsprechenden Chroma-Abtastwerten weiter partitioniert wird.
  • Das Prädiktionssignal für jeden prädiktiv-codierten M×M-Lumablock wird erhalten, indem ein Bereich des entsprechenden Referenzbildes der durch einen Translations-Bewegungsvektor und einen Bildreferenzindex spezifiziert ist, verschoben wird. Wenn somit ein Makroblock unter Verwendung von vier 8×8-Aufteilungen codiert wird, und wenn jede 8×8-Aufteilung ferner in vier 4×4-Aufteilungen aufgeteilt wird, kann eine maximale Menge an 16 Bewegungsvektoren für einen einzigen P-Makroblock im Rahmen des sogenannten Bewegungsfelds bzw. Motion Field übertragen werden.
  • Der Quantisierungsparameter-Slice QP wird verwendet, um die Quantisierung der Transformationskoeffizienten bei H.264/AVC festzulegen. Der Parameter kann 52 Werte annehmen. Diese Werte sind so angeordnet, dass eine Zunahme von 1 im Hinblick auf den Quantisierungsparameter eine Erhöhung der Quantisierung schrittweise um etwa 12 % bedeutet. Dies bedeutet, dass eine Erhöhung des Quantisierungsparameters um 6 eine Zunahme der Quantisierer-Schrittweite um genau einen Faktor von 2 mit sich bringt. Es sei darauf hingewiesen, dass eine Änderung der Schrittgröße um etwa 12 % ebenfalls in etwa eine Reduktion der Bitrate um etwa 12 % bedeutet.
  • Die quantisierten Transformationskoeffizienten eines Blocks werden allgemein in einem Zick-Zack-Weg abgetastet und unter Verwendung von Entropie-Codierverfahren weiter verarbeitet. Die 2×2-DC-Koeffizienten der Chroma-Komponente werden in Raster-Scan-Reihenfolge abgetastet und alle Invers-Transformations-Operationen innerhalb H.264/AVC können unter Verwendung von nur Additionen und Shift-Operationen von 16-Bit-Ganzzahlwerten implementiert werden. Auf ähnliche Art und Weise werden nur 16-Bit-Speicherzugriffe für eine gute Implementierung der Vorwärtstransformationen und des Quantisierverfahrens im Codierer benötigt.
  • Bezugnehmend auf 9 wird das Eingangssignal zunächst Bild für Bild in einer Videosequenz, jeweils für jedes Bild gesehen, in die Makroblöcke mit 16×16 Pixeln aufteilt. Hierauf wird jedes Bild einem Subtrahierer 84 zugeführt, der das ursprüngliche Bild subtrahiert, das von einem Decodierer 85 geliefert wird. Der im Encodierer enthalten ist. Das Subtraktionsergebnis, also die Restsignale im Raum-Bereich (Spatial Domain), werden nunmehr transformiert, skaliert und quantisiert (Block 86), um die quantisierten Transformationskoeffizienten auf der Leitung 81b zu erhalten. Zur Erzeugung des Subtraktionssignals, das in den Subtrahierer 874 eingespeist wird, werden die quantisierten Transformationskoeffizienten zunächst wieder skaliert und invers transformiert (Block 87), um einem Addierer 88 zugeführt zu werden, dessen Ausgang das Deblocking-Filter 89 speist, wobei am Ausgang des Deblocking-Filters das Ausgangsvideosignal, wie es z. B. ein Decodierer decodieren wird, z. B. zu Kontrollzwecken überwacht werden kann (Ausgang 90).
  • Unter Verwendung des decodierten Ausgangssignals am Ausgang 90 wird dann eine Bewegungsschätzung (Motion Estimation) in einem Block 91 durchgeführt. Zur Bewegungsschätzung in Block 91 wird, wie es aus 9 ersichtlich ist, ein Bild des ursprünglichen Input-Videosignals zugeführt. Der Standard erlaubt zwei verschiedene Bewegungsschätzungen, nämlich eine Vorwärts-Bewegungs-Schätzung und eine Rückwärts-Bewegungs-Schätzung. Bei der Vorwärts-Bewegungs-Schätzung wird die Bewegung des aktuellen Bilds im Hinblick auf das vorhergehende Bild abgeschätzt. Dagegen wird bei der Rückwärts-Bewegungs-Schätzung die Bewegung des vergangenen Bilds unter Verwendung des aktuellen Bilds abgeschätzt. Die Ergebnisse der Bewegungsschätzung (Block 91) werden einem Bewegungskompensations-Block (Motion Compensation) 92 zugeführt, der insbesondere dann, wenn ein Schalter 93 auf den Inter-Prädiktions-Modus geschaltet ist, wie es in 9 der Fall ist, eine bewegungs-kompensierte Inter-Prädiktion durchgeführt. Steht der Schalter 93 dagegen auf Intra-Frame-Prädiktion, so wird eine Intra-Frame-Prädiktion unter Verwendung eines Blocks 490 durchgeführt. Hierzu werden die Bewegungsdaten nicht benötigt, da für eine Intra-Frame-Prädiktion keine Bewegungskompensation ausgeführt wird.
  • Der Bewegungsschätzungsblock 91 erzeugt Bewegungsdaten bzw. Bewegungsfelder, wobei Bewegungsdaten bzw. Bewegungsfelder, die aus Bewegungsvektoren (Motion Vectors) bestehen, vom Decodierer übertragen werden, damit eine entsprechende inverse Prädiktion, also Rekonstruktion unter Verwendung der Transformationskoeffizienten und der Bewegungsdaten durchgeführt werden kann. Es sei darauf hingewiesen, dass im Falle einer Vorwärts-Prädiktion der Bewegungsvektor aus dem unmittelbar vorhergehenden Bild bzw. auch aus mehreren vorhergehenden Bildern berechnet werden kann. Darüber hinaus sei darauf hingewiesen, dass im Falle einer Rückwärts-Prädiktion ein aktuelles Bild unter Verwendung des unmittelbar angrenzenden zukünftigen Bildes und natürlich auch unter Verwendung von weiteren zukünftigen Bildern berechnet werden kann.
  • Nachteilig an dem in 9 dargestellten Videocodierer-Konzept ist, dass es keine einfache Skalierbarkeitsmöglichkeit bietet. Wie es in der Technik bekannt ist, versteht man unter dem Ausdruck „Skalierbarkeit" ein Codierer/Decodier-Konzept, bei dem der Codierer einen skalierten Datenstrom liefert. Der skalierte Datenstrom umfasst eine Basis-Skalierungsschicht sowie eine oder mehrere Erweiterungs-Skalierungsschichten. Die Basis-Skalierungsschicht umfasst eine Darstellung des zu codierenden Signals allgemein gesagt mit geringerer Qualität, jedoch auch mit geringerer Datenrate. Die Erweiterungs-Skalierungsschicht enthält eine weitere Darstellung des Videosignals, die typischerweise zusammen mit der Darstellung des Videosignals in der Basis-Skalierungsschicht eine Darstellung mit verbesserter Qualität im Hinblick auf die Basis-Skalierungsschicht liefert. Dagegen hat die Erweiterungs-Skalierungsschicht selbstverständlich einen eigenen Bitbedarf, so dass die Anzahl der Bits zur Darstellung des zu codierenden Signals mit jeder Erweiterungsschicht zunimmt.
  • Ein Decodierer wird je nach Ausgestaltung bzw. nach Möglichkeit entweder nur die Basis-Skalierungsschicht decodieren, um eine vergleichsweise qualitativ schlechte Darstellung des durch das codierte Signal dargestellten Bildssignals zu liefern. Mit jeder „Hinzunahme" einer weiteren Skalierungsschicht kann der Decodierer jedoch schrittweise die Qualität des Signals (zu Lasten der Bitrate und der Verzögerung) verbessern.
  • Je nach Implementierung und nach Übertragungskanal von einem Codierer zu einem Decodierer wird immer wenigstens die Basis-Skalierungsschicht übertragen, da die Bitrate der Basis-Skalierungsschicht typischerweise so gering ist, dass auch ein bisher begrenzter Übertragungskanal ausreichend sein wird. Erlaubt der Übertragungskanal nicht mehr Bandbreite für die Anwendung, so wird nur die Basis-Skalierungsschicht, nicht aber eine Erweiterungs-Skalierungsschicht übertragen. Dies hat zur Folge, dass der Decodierer lediglich eine niederqualitative Darstellung des Bildsignals erzeugen kann. Im Vergleich zum unskalierten Fall, bei dem die Datenrate so hoch gewesen wäre, dass eine Übertragung das Übertragungssystem überhaupt nicht möglich gewesen wäre, ist die niederqualitative Darstellung von Vorteil. Erlaubt der Übertragungskanal die Übertragung von einer oder mehrerer Erweiterungsschichten, so wird der Codierer auch eine oder mehrere Erweiterungsschichten zum Decodierer übertragen, so dass dieser je nach Anforderung schrittweise die Qualität des ausgegebenen Videosignals erhöhen kann.
  • Im Hinblick auf die Codierung von Videosequenzen kann man zwei unterschiedliche Skalierungen unterscheiden. Die eine Skalierung ist die zeitliche Skalierung, dahingehend, dass z. B. nicht alle Video-Einzelbilder einer Videosequenz übertragen werden, sondern dass- zur Reduzierung der Datenrate – beispielsweise nur jedes zweite Bild, jedes dritte Bild, jedes vierte Bild, etc. übertragen wird.
  • Die andere Skalierung ist die SNR-Skalierbarkeit (SNR = Signal to Noise Ratio), bei der jede Skalierungsschicht, also sowohl die Basis-Skalierungsschicht als auch die erste, zweite, dritte... Erweiterungs-Skalierungsschicht sämtliche zeitlichen Information umfasst, jedoch mit einer unterschiedlichen Qualität. So hätte die Basis-Skalierungsschicht zwar eine niedrige Datenrate, jedoch ein geringes Signal/Rausch-Verhältnis, wobei dieses Signal/Rausch-Verhältnis dann, mit Hinzunahme jeweils einer Erweiterungs-Skalierungsschicht schrittweise verbessert werden kann.
  • Das in 9 dargestellte Codierer-Konzept ist dahingehend problematisch, dass es darauf basiert, dass lediglich Restwerte durch den Subtrahierer 84 erzeugt werden, und dann weiter verarbeitet werden. Diese Restwerte werden aufgrund von Prädiktionsalgorithmen berechnet, und zwar in der in 9 gezeigten Anordnung, die unter Verwendung der Blöcke 86, 87, 88, 89, 93, 94 und 84 eine geschlossene Schleife bildet, wobei in der geschlossenen Schleife ein Quantisierungs-Parameter eingeht, und zwar in den Blöcken 86, 87. Würde nunmehr eine einfache SNR-Skalierbarkeit dahingehend implementiert werden, dass z. B. jedes prädizierte Restsignal zunächst mit einer groben Quantisierer-Schrittweite quantisiert wird, und dann, schrittweise, unter Verwendung von Erweiterungsschichten mit feineren Quantisierungs-Schrittweiten quantisiert werden würde, so würde dies folgende Konsequenzen haben. Aufgrund der inversen Quantisierung und der Prädiktion insbesondere im Hinblick auf die Bewegungsschätzung (Block 91) und die Bewegungskompensation (Block 92), die unter Verwendung des ursprünglichen Bildes einerseits und des quantisierten Bildes andererseits stattfinden, ergibt sich ein „Auseinanderlaufen" der Quantisie rungs-Schrittweiten" sowohl im Encodierer als auch im Decodierer. Dies führt dazu, dass die Erzeugung der Erweiterungs-Skalierungsschichten auf Encoder-Seite sehr problematisch wird. Ferner wird die Verarbeitung der Erweiterungs-Skalierungsschichten auf der Decodiererseite zumindest im Hinblick auf die im Standard H.264/AVC definierten Elemente unmöglich. Grund hierfür ist die anhand von 9 dargestellte geschlossene Schleife im Video-Encodierer, in der die Quantisierung enthalten ist.
  • Im Standardisierungsdokument JVT-I 032 t1 mit dem Titel „SNR-Scalable Extension of H.264/AVC, Heiko Schwarz, Detlev Marpe und Thomas Wiegand, vorgestellt beim neunten JVT-Meeting vom 2. bis zum 5. Dezember 2003 in San Diego wird eine skalierbare Erweiterung zu H.264/AVC vorgestellt, die eine Skalierbarkeit sowohl hinsichtlich der Zeit als auch des Signal/Rausch-Verhältnisses (bei gleicher oder unterschiedlicher Zeitgenauigkeit) umfasst. Hierzu wird eine Lifting-Darstellung zeitlicher Subbandzerlegungen eingeführt, die die Verwendung bekannter Verfahren zur Bewegungskompensierten Prädiktion erlaubt.
  • Wavelet-basierte Videocodier-Algorithmen, bei denen Lifting-Implementierungen für die Wavelet-Analyse und für die Wavelet-Synthese eingesetzt werden, sind in J.-R. Ohm, „Complexity and delay analysis of MCTF interframe wavelet structures", ISO/IECJTC1/WG11 Doc.M8520, July 2002, beschrieben. Anmerkungen zur Skalierbarkeit finden sich auch in D. Taubman, „Successive refinement of video: fundamental issues, past efforts and new directions", Proc. of SPIE (VCIP' 03), vol. 5150, pp. 649-663, 2003, wobei hierfür jedoch erhebliche Änderungen an Codiererstrukturen nötig sind. Erfindungsgemäß wird dagegen ein Codierer/Decodierer- Konzept erreicht, das einerseits die Skalierbarkeitsmöglichkeit hat und das andererseits auf standardkonformen Elementen, insbesondere z. B. für die Bewegungskompensation, aufbauen kann.
  • Bevor detailliert auf einen Encoder/Docoder-Aufbau anhand von 3 eingegangen wird, sei zunächst anhand von 4 ein grundsätzliches Lifting-Schema auf Seiten des Codierers bzw. ein Invers-Lifting-Schema auf Seiten des Decodierers dargestellt. Detaillierte Ausführungen zu den Hintergründen der Kombination von Lifting-Schemen und Wavelet-Transformationen finden sich in W. Sweldens, „A custom design construction of biorthogonal wavelets", J. Appl. Comp. Harm. Anal., vol. 3 (no. 2), pp. 186-200, 1996 und I. Daubechies und W. Sweldens, „Factoring wavelet transforms into lifting Steps", J. Fourier Anal. Appl., vol. 4 (no.3), pp. 247-269, 1998. Im allgemeinen besteht das Lifting-Schema aus drei Schritten, dem Polyphasen-Zerlegungsschritt, dem Prädiktions-Schritt und dem Update-Schritt (Aktualisierungs-Schritt), wie es anhand des Codierers in 1a dargestellt ist. Der Polyphasen-Zerlegungsschritt wird durch einen ersten Bereich I dargestellt, der Prädiktions-Schritt wird durch einen zweiten Bereich II dargestellt, und der Aktualisierungs-Schritt wird durch einen dritten Bereich III dargestellt.
  • Der Zerlegungs-Schritt umfasst eine Aufteilung des eingangsseitigen Datenstroms in eine identische erste Kopie für einen unteren Zweig 40a sowie eine identische Kopie für einen oberen Zweig 40b. Ferner wird die identische Kopie des oberen Zweigs 40b um eine Zeitstufe (z-1) verzögert, so dass ein Abtastwert s2k+1 mit einem ungeradzahligen Index k zum gleichen Zeitpunkt wie ein Abtastwert mit einem geraden Index s2k durch einen jeweiligen Dezimierer bzw. Downsampler 42a, 42b läuft. Der Dezimierer 42a bzw. 42b reduziert die Anzahl der Samples im oberen bzw. im unteren Zweig 40b, 40a durch Eliminieren jedes jeweils zweiten Abtastwerts.
  • Der zweite Bereich II, der sich auf den Prädiktion-Schritt bezieht, umfasst einen Prädiktionsoperator 43 sowie einen Subtrahierer 44. Der dritte Bereich, also der Aktualisierungs-Schritt umfasst einen Aktualisierungs-Operator 45 sowie einen Addierer 46. Ausgangsseitig existieren noch zwei Normierer 47, 48, zum Normieren des Hochpass-Signals hk (Normierer 47) und zum Normieren des Tiefpass-Signals lk durch den Normierer 48.
  • Im einzelnen führt die Polyphasenzerlegung dazu, dass die geradzahligen und ungeradzahligen Abtastwerte einen gegebenen Signals s[k] getrennt werden. Da die Korrelationsstruktur typischerweise eine Lokalcharakteristik zeigt, sind die geraden und ungeraden Polyphasenkomponenten hochkorreliert. Daher wird in einem anschließenden Schritt eine Prädiktion (P) der ungeraden Abtastwerte unter Verwendung der geraden Abtastwerte durchgeführt. Der entsprechende Prädiktions-Operator (P) für jeden ungeraden Abtastwert sodd[k] = s[2k+1] ist eine lineare Kombination der benachbarten geraden Abtastwerte seven[k] = s[2k], d.h.
  • Figure 00150001
  • Als Ergebnis des Prädiktions-Schritts werden die ungeradzahligen Abtastwerte durch ihre entsprechenden Prädiktions-Restwerte
    Figure 00160001
    ersetzt. Es sei darauf hingewiesen, dass der Prädiktionsschritt äquivalent zum Durchführen eines Hochpass-Filters einer Zwei-Kanal-Filterbank ist, wie es in I. Daubechies und W. Sweldens, „Factoring wavelet transforms into lifting steps", J. Fourier Anal. Appl. vol 4 (no.3), pp. 247-269, 1998 dargelegt ist.
  • Im dritten Schritt des Lifting-Schemas wird eine Tiefpass-Filterung durchgeführt, indem die geraden Abtastwerte seven[k] durch eine lineare Kombination der Prädiktions-Restwerte h[k] ersetzt werden. Der entsprechende Aktualisierungs-Operator U ist gegeben durch
    Figure 00160002
  • Durch Ersetzen der geraden Abtastwerte mit l[k] = seven[k] + U(h)[k]kann das gegebene Signal s[k] schließlich durch l(k) und h(k) dargestellt werden, wobei jedes Signal jedoch die halbe Abtastrage hat. Da sowohl der Aktualisierungs-Schritt als auch der Prädiktions-Schritt vollständig invertierbar sind, kann die entsprechende Transformation als kritisch abgetastete Perfekt-Rekonstruktions-Filterbank interpretiert werden. In der Tat kann gezeigt werden, dass jegliche biorthogonale Familie von FIR-Filtern durch eine Sequenz von einem oder mehreren Prädiktions-Schritten und einem oder mehreren Aktualisierungs-Schritten realisiert werden kann. Für eine Normierung der Tiefpaß- und Hochpass-Komponenten werden, wie es ausgeführt worden ist, die Normierer 47 und 48 mit geeignet gewählten Skalierungsfaktoren Fl und Fh versorgt.
  • Das Invers-Lifting-Schema, das der Synthese-Filterbank entspricht, ist in 4, auf der rechten Seite, gezeigt. Es besteht einfach aus der Anwendung des Prädiktions- und Aktualisierungs-Operators in umgekehrter Reihenfolge und mit umgekehrten Vorzeichen, gefolgt von der Rekonstruktion unter Verwendung der geraden und ungeraden Polyphasenkomponenten. Im einzelnen umfasst der in 4 rechte gezeigte Decodierer somit wieder einen ersten Decodiererbereich I, einen zweiten Decodiererbereich II sowie einen dritten Decodiererbereich III. Der erste Decodiererbereich macht die Wirkung des Aktualisierungs-Operators 45 rückgängig. Dies geschieht dadurch, dass das durch einen weiteren Normierer 50 zurück-normierte Hochpass-Signal dem Aktualisierungs-Operator 45 zugeführt wird. Das Ausgangssignal des decodierseitigen Aktualisierungs-Operators 45 wird dann nun, im Gegensatz zum Addierer 46 in 4, einem Subtrahierer 52 zugeführt. Entsprechend wird mit dem Ausgangssignal des Prädiktors 43 vorgegangen, dessen Ausgangssignal nunmehr nicht, wie auf Codiererseite einem Subtrahierer zugeführt wird, sondern dessen Ausgangssignal nunmehr einem Addierer 53 zugeführt wird. Nunmehr findet ein Upsampling des Signals in jedem Zweig um den Faktor 2 statt (Blöcke 54a, 54b). Hierauf wird der obere Zweig um einen Abtastwert in die Zukunft geschoben, was äquivalent zum Verzögern des unteren Zweigs ist, um dann eine Addition der Datenströme auf dem oberen Zweig und dem unteren Zweig in einem Addierer 55 durchzuführen, um das rekonstruierte Signal sk am Ausgang der Synthese-Filterbank zu erhalten.
  • Durch den Prädiktor 43 bzw. den Aktualisierer 45 können verschiedene Wavelets implementiert werden. Falls das sogenannte Haar-Wavelet implementiert werden soll, sind der Prädiktions-Operator und der Aktualisierungs-Operator durch folgende Gleichung gegeben PHaar(seven)[k] = s[2k] und UHaar(h)[k] = ½h[k],derart, dass h[k] = s[2k+1] – s[2k] und l[k] = s[2k] + ½h[k] = ½(s[2k] + s[2k+1])dem nicht-normierten Hochpaß- bzw. Tiefpaß- (Analyse-) Ausgangssignal des Haar-Filters entsprechen.
  • Im Falle des 5/3-Biorthogonal-Spline-Wavelets haben das Tiefpaß- und das Hochpaß-Analyse-Filter dieses Wavelets 5 bzw. 3 Filtertaps, wobei die entsprechende Skalierungsfunktion ein B-Spline der Ordnung 2 ist. In Codieranwendungen für nicht-bewegte Bilder (Still-Images, wie beispielsweise JPEG 2000) wird dieses Wavelet für ein zeitliches Subband-Codierschema verwendet. In einer Lifting-Umgebung sind die entsprechenden Prädiktions- und Aktualisierungs-Operatoren der 5/3-Transformation folgendermaßen gegeben P5/3(seven)[k] = ½(s[2k] + s[2k+2]) und U5/3(h)[k] = ¼(h[k] + h[k-1]).
  • 3 zeigt ein Blockschaltbild einer erfindungsgemäßen Codierer/Decodierer-Struktur mit beispielhaften vier Fil terebenen sowohl auf Seiten des Codierers als auch auf Seiten des Decodierers. Aus 3 ist zu ersehen, dass die erste Filterebene, die zweite Filterebene, die dritte Filterebene und die vierte Filterebene bezogen auf den Codierer identisch sind. Die Filterebenen bezogen auf den Decodierer sind ebenfalls identisch. Auf Codiererseite umfasst jede Filterebene als zentrale Elemente einen Rückwärts-Prädiktor Mi0 sowie einen Vorwärts-Prädiktor Mi1 61. Der Rückwärts-Prädiktor 60 entspricht prinzipiell dem Prädiktor 43 von 4, während der Vorwärts-Prädiktor 61 dem Aktualisierer von 4 entspricht.
  • Im Unterschied zu 4 sei darauf hingewiesen, dass sich 4 auf einen Strom von Abtastwerten bezieht, bei denen ein Abtastwert einen ungeradzahligen Index 2k+1 hat, während ein anderer Abtastwert einen geradzahligen Index 2k hat. Die Notation in 3 bezieht sich jedoch, wie es bereits anhand von 1 dargelegt worden ist, auf eine Gruppe von Bildern anstatt auf eine Gruppe von Abtastwerten. Hat ein Bild beispielsweise eine Anzahl von Abtastwerten bzw. Pixeln, so wird dieses Bild insgesamt eingespeist. Dann wird das nächste Bild eingespeist etc. Es existieren somit nicht mehr ungeradzahlige und geradzahlige Abtastwerte, sondern ungeradzahlige und geradzahlige Bilder. Erfindungsgemäß wird das für ungeradzahlige und geradzahlige Abtastwerte beschriebene Lifting-Schema auf ungeradzahlige bzw. geradzahlige Bilder, von denen jedes eine Vielzahl von Abtastwerten hat, angewendet. Aus dem abtastwert-weisen Prädiktor 43 von 4 wird nunmehr die Rückwärts-Bewegungskompensations-Prädiktion 60, während aus dem abtastwert-weisen Aktualisierer 45 die Bildweise Vorwärts-Bewegungskompensations-Prädiktion 61 wird.
  • Es sei darauf hingewiesen, dass die Bewegungsfilter, die aus Bewegungsvektoren bestehen, und die Koeffizienten für die Blöcke 60 und 61 darstellen, jeweils für zwei aufeinander bezogene Bilder berechnet und als Seiteninformationen vom Codierer zum Decodierer übertragen werden. Von wesentlichem Vorteil beim erfindungsgemäßen Konzept ist jedoch die Tatsache, dass die Elemente 91, 92, wie sie anhand von 9 beschrieben sind und im Standard H.264/AVC standardisiert sind, ohne weiteres dazu verwendet werden können, um sowohl die Bewegungsfelder Mi0 als auch die Bewegungsfelder Mi1 zu berechnen. Für das erfindungsgemäße Konzept muss daher kein neuer Prädiktor/Aktualisierer eingesetzt werden, sondern es kann der bereits bestehende, untersuchte und auf Funktionalität und Effizienz überprüfte im Videostandard genannte Algorithmus für die Bewegungskompensation in Vorwärtsrichtung oder in Rückwärtsrichtung eingesetzt werden.
  • Insbesondere zeigt die in 3 dargestellte allgemeine Struktur der verwendeten Filterbank eine zeitliche Zerlegung des Videosignals mit einer Gruppe von 16 Bildern, die an einem Eingang 64 eingespeist werden. Die Zerlegung ist eine dyadische zeitliche Zerlegung des Videosignals, wobei bei dem in 3 gezeigten Ausführungsbeispiel mit 4 Ebenen 24=16 Bilder, also eine Gruppengröße von 16 Bildern benötigt wird, um auf der Darstellung mit der kleinsten zeitlichen Auflösung, also auf den Signalen am Ausgang 28a und am Ausgang 28b anzukommen. Werden daher 16 Bilder gruppiert, so führt dies zu einer Verzögerung von 16 Bildern, was das in 3 gezeigte Konzept mit vier Ebenen für interaktive Anwendungen eher problematisch macht. Wird daher auf interaktive Anwendungen abgezielt, so wird es bevorzugt, kleinere Gruppen von Bildern zu bilden, wie bei spielsweise vier oder acht Bilder zu gruppieren. Dann wird die Verzögerung entsprechend reduziert, so dass auch der Einsatz für interaktive Anwendungen möglich wird. In Fällen, in denen Interaktivität nicht benötigt wird, beispielsweise zu Speicherzwecken etc. kann die Anzahl der Bilder in einer Gruppe, also die Gruppengröße, entsprechend erhöht werden, beispielsweise auf 32, 64, etc. Bilder.
  • Erfindungsgemäß wird es bevorzugt, die interaktive Anwendung des Haar-basierten bewegungs-kompensierten Lifting-Schemas zu verwenden, das aus einer Rückwärts-Bewegungskompensations-Prädiktion (Mi0), wie in H.264/AVC besteht, und das ferner einen Aktualisierungs-Schritt umfasst, der eine Vorwärtsbewegungskompensation (Mi1) umfasst. Sowohl der Prädiktions-Schritt als auch der Aktualisierung-Schritt verwenden den Bewegungskompensationsprozess, wie er in H.264/AVC dargestellt it. Ferner wird es bevorzugt, nicht nur die Bewegungskompensation zu verwenden, sondern auch das in 9 mit dem Bezugszeichen 89 bezeichnet Deblocking-Filter 89 einzusetzen.
  • Die zweite Filterebene umfasst wieder Downsampler 66a, 66b, einen Subtrahierer 69, einen Rückwärts-Prädiktor 67, einen Vorwärts-Prädiktor 68 sowie einen Addierer 70 und, wie es bereits anhand von 1 dargestellt worden ist, die Weiterverarbeitungseinrichtung 18, um an einem Ausgang der Weiterverarbeitungseinrichtung 18, wie es bereits anhand von 1 dargestellt worden ist, das erste und das zweite Hochpass-Bild der zweiten Ebene auszugeben, während am Ausgang des Addierers 70 das erste und das zweite Tiefpass-Bild der zweiten Ebene ausgegeben werden.
  • Der erfindungsgemäße Codierer in 3 umfasst zusätzlich eine dritte Ebene sowie eine vierte Ebene, wobei in den Eingang 64 der vierten Ebene eine Gruppe von 16 Bildern eingespeist wird. An einem Hochpass-Ausgang 72 der vierten Ebene, der auch als HP4 bezeichnet ist, werden mit einem Quantisierungs-Parameter Q quantisierte und entsprechend weiterverarbeitete acht Hochpass-Bilder ausgegeben. Entsprechend werden an einem Tiefpass-Ausgang 73 der vierten Filterebene acht Tiefpass-Bilder ausgegeben, die in einem Eingang 74 der dritten Filterebene eingespeist wird. Die Ebene ist wiederum wirksam, um an einem Hochpass-Ausgang 75, der auch mit HP3 bezeichnet ist, vier Hochpass-Bilder zu erzeugen und um einem Tiefpass-Ausgang 76 vier Tiefpass-Bilder zu erzeugen, die in den Eingang 10 der zweiten Filterebene eingespeist werden und zerlegt werden, wie es anhand von 3 bzw. anhand von 1 dargelegt worden ist.
  • Es sei besonders darauf hinzuweisen, dass die durch eine Filterebene verarbeitete Gruppe von Bildern nicht unbedingt Videobilder sein müssen, die von einer ursprünglichen Videosequenz stammen, sondern auch Tiefpass-Bilder sein können, die von einer nächsthöheren Filterebene an einem Tiefpass-Ausgang der Filterebene ausgegeben worden sind.
  • Ferner sei darauf hingewiesen, dass das in 3 gezeigte Codierer-Konzept für sechszehn Bilder ohne weiteres auf acht Bilder reduziert werden kann, wenn einfach die vierte Filterebene weggelassen wird und die Gruppe von Bildern in den Eingang 74 eingespeist wird. Genauso kann das in 3 gezeigte Konzept auch ohne weiteres auf eine Gruppe von zweiunddreißig Bildern erweitert werden, indem eine fünfte Filterebene hinzugefügt wird, und indem die dann sechszehn Hochpass-Bilder an einem Hochpass-Ausgang der fünften Filterebene ausgegeben werden und die sechzehn Tiefpass-Bilder am Ausgang der fünften Filterebene in den Eingang 64 der vierten Filterebene eingespeist werden.
  • Auf Decodiererseite wird ebenfalls das baumartige Konzept der Codiererseite angewendet, jedoch nun nicht mehr, wie auf Codiererseite von der höheren Ebene zur niedrigeren Ebene, sondern nunmehr, auf der Decodiererseite, von der niedrigeren Ebene zur höheren Ebene. Hierzu wird von einem Übertragungsmedium, das schematisch als Network Abstraction Layer 100 bezeichnet ist, der Datenstrom empfangen und der empfangene Bitstrom wird zunächst einer Invers-Weiterverarbeitung unter Verwendung der Invers-Weiterverarbeitungseinrichtungen 30a, 30b unterzogen, um eine rekonstruierte Version des ersten Hochpass-Bildes der ersten Ebene am Ausgang der Einrichtung 30a und eine rekonstruierte Version des Tiefpass-Bildes der ersten Ebene am Ausgang des Blocks 30b von 3 zu erhalten. Dann wird, in Analogie zur rechten Hälfte von 4, zunächst die Vorwärts-Bewegungskompensations-Prädiktion mittels des Prädiktors 61 rückgängig gemacht, um dann das Ausgangssignal des Prädiktors 61 von der rekonstruierten Version des Tiefpass-Signals zu subtrahieren (Subtrahierer 101).
  • Das Ausgangssignal des Subtrahierers 101 wird in einen Rückwärts-Kompensations-Prädiktor 60 eingespeist, um ein Prädiktionsergebnis zu erzeugen, das in einem Addierer 102 zur rekonstruierten Version des Hochpass-Bildes addiert wird. Hierauf werden beide Signale, also die Signale im unteren Zweig 103a, 103b auf die doppelte Abtastrate gebracht, und zwar unter Verwendung der Upsampler 104a, 104b, wobei dann das Signal auf dem oberen Zweig je nach Imple mentierung verzögert bzw. „beschleunigt" wird. Es sei darauf hingewiesen, dass das Upsampling durch die Brücke 104a, 104b einfach durch Einfügen von einer Anzahl von Nullen, die gleich der Anzahl von Samples für ein Bild entspricht, durchgeführt wird. Die Verschiebung um die Verzögerung eines Bildes durch das mit z-1 gezeigte Element im oberen Zweig 103b gegenüber dem unteren Zweig 103a bewirkt, dass die Addition durch einen Addierer 106 dazu führt, dass ausgangsseitig bezüglich des Addierers 106 die beiden Tiefpass-Bilder der zweiten Ebene nacheinander vorliegen.
  • Die rekonstruierte Version des ersten und des zweiten Tiefpass-Bildes der zweiten Ebene werden dann in das decodiererseitige Invers-Filter der zweiten Ebene eingespeist und dort, zusammen mit den übertragenen Hochpaß-Bildern der zweiten Ebene wieder durch die identische Implementierung der Invers-Filterbank kombiniert, um an einem Ausgang 108 der zweiten Ebene eine Folge von vier Tiefpass-Bildern der dritten Ebene zu haben. Die vier Tiefpass-Bilder der dritten Ebene werden in einer Invers-Filterebene der dritten Ebene mit den übertragenen Hochpaß-Bildern der dritten Ebene kombiniert, um an einem Ausgang 110 des Invers-Filters der dritten Ebene acht Tiefpass-Bilder der vierten Ebene in aufeinanderfolgendem Format zu haben. Diese acht Tiefpass-Bilder der dritten Ebene werden dann, in einem Invers-Filter der vierten Ebene mit den acht Hochpaß-Bildern der vierten Ebene, die vom Übertragungsmedium 100 über den Eingang HP4 empfangen werden, wieder wie anhand der ersten Ebene besprochen, kombiniert, um an einem Ausgang 112 des Invers-Filters der vierten Ebene eine rekonstruierte Gruppe von 16 Bildern zu erhalten.
  • In jeder Stufe der Analyse-Filterbank werden somit zwei Bilder, also entweder ursprüngliche Bilder oder Bilder die Tiefpaß-Signale darstellen und in einer nächsthöheren Ebene erzeugt worden sind, in ein Tiefpass-Signal und in ein Hochpass-Signal zerlegt. Das Tiefpass-Signal kann als Darstellung der Gemeinsamkeiten der Eingangsbilder betrachtet werden, während das Hochpass-Signal als Darstellung der Unterschiede zwischen den Eingangsbildern betrachtet werden kann. In der entsprechenden Stufe der Synthese-Filterbank werden die beiden Eingangsbilder unter Verwendung des Tiefpass-Signals und des Hochpass-Signals wieder rekonstruiert. Da im Syntheseschritt die inversen Operationen des Analyseschritts durchgeführt werden, garantiert die Analyse/Synthese-Filterbank (ohne Quantisierung selbstverständlich) eine perfekte Rekonstruktion.
  • Die einzigen auftretenden Verluste kommen aufgrund der Quantisierung in den Weiterverarbeitungseinrichtungen z. B. 26a, 26b, 18 vor. Wird sehr fein quantisiert, so wird ein gutes Signal-Rausch-Verhältnis erreicht. Wird dagegen sehr grob quantisiert, so wird ein relativ schlechtes Signal-Rausch-Verhältnis, jedoch bei niedriger Bitrate, also bei niedrigem Bedarf, erreicht.
  • Ohne SNR-Skalierbarkeit könnte bereits mit dem in 3 dargestellten Konzept zumindest eine Zeit-Skalierungssteuerung implementiert werden. Hierzu wird bezugnehmend auf 5 eine Zeit-Skalierungs-Steuerung 120 eingesetzt, die ausgebildet ist, um eingangsseitig die Hochpaß- bzw. Tiefpass-Ausgänge bzw. die Ausgänge der Weiterverarbeitungseinrichtungen (26a, 26b, 18 ...) zu erhalten, um aus diesen Teildatenströmen TP1, HP1, HP2, HP3, HP4 einen skalierten Datenstrom zu erzeugen, der in einer Ba sis-Skalierungsschicht die weiterverarbeitende Version des ersten Tiefpass-Bildes und des ersten Hochpass-Bildes hat. In einer ersten Erweiterungs-Skalierungsschicht könnte dann die weiterverarbeitende Version der zweiten Hochpass-Bildes untergebracht sein. In einer zweiten Erweiterungs-Skalierungsschicht könnten dann die weiterverarbeiteten Versionen der Hochpass-Bilder dritter Ebene untergebracht sein, während in einer dritten Erweiterungs-Skalierungsschicht die weiterverarbeitenden Versionen der Hochpass-Bilder vierter Ebene eingebracht sind. Damit könnte ein Decodierer allein aufgrund der Basis-Skalierungsschicht bereits eine zeitlich gering qualitative Sequenz von Tiefpass-Bildern niedriger Ebene erzeugen, also pro Gruppe von Bildern, zwei Tiefpass-Bilder erste Ebene. Mit Hinzunahme jeder Erweiterungs-Skalierungsschicht kann die Anzahl der rekonstruierten Bilder pro Gruppe immer verdoppelt werden. Die Funktionalität des Decodierers wird typischerweise von einer Skalierungs-Steuerung gesteuert, die ausgebildet ist, um zu erkennen, wie viel Skalierungsschichten im Datenstrom enthalten sind bzw. wie viele Skalierungsschichten vom Decodierer beim Decodieren berücksichtigt werden sollen.
  • Das JVT-Dokument JVT-J 035, mit dem Titel „SNR-Scalable Extension of H.264/AVC" Heiko Schwarz, Detlev Marpe und Thomas Wiegand, vorgestellt beim zehnten JVT-Treffen in Waikoloa Hawaii, 8. bis 12. Dezember 2003, zeigt eine SNR-skalierbare Erweiterung des in den 3 und 4 dargestellten zeitlichen Zerlegungsschemas. Insbesondere wird eine zeitliche Skalierungsschicht in einzelne "SNR-Skalierungsunterschichten" aufgeteilt, wobei eine SNR-Basisschicht dahingehend erhalten wird, dass eine bestimmte zeitliche Skalierungsschicht mit einer ersten, gröberen Quantisiererschrittweite quantisiert wird, um die SNR-Basisschicht zu erhalten. Dann wird unter anderem eine inverse Quantisierung durchgeführt, und das Ergebnissignal aus der inversen Quantisierung wird von dem ursprünglichen Signal subtrahiert, um ein Differenzsignal zu erhalten, das dann mit einer feineren Quantisiererschrittweite quantisiert wird, um die zweite Skalierungsschicht zu erhalten. Die zweite Skalierungsschicht wird jedoch wieder unter anderem requantisiert mit der feineren Quantisiererschrittweite, um das nach der Requantisierung erhaltene Signal von dem ursprünglichen Signal zu subtrahieren, um ein weiteres Differenzsignal zu erhalten, das, wieder nach Quantisierung nun jedoch mit einer feineren Quantisiererschrittweite eine zweite SNR-Skalierungsschicht bzw. eine SNR-Enhancement-Layer darstellt.
  • Nachteilig an dem anhand von 3 beschriebenen Konzept ist, dass es Fälle gibt, bei denen die Bewegungskompensierte Prädiktion nicht optimal arbeitet. Diese Fälle sind dann gegeben, wenn Bilder vorliegen, die nicht gut durch eine Bewegungskompensation dargestellt werden können. Ein solcher Fall tritt beispielsweise dann auf, wenn von einem Bild zum nächsten Bild ein Bereich im Bild, der im einen Bild verdeckt war, im nächsten Bild nicht mehr verdeckt ist. Die Bewegungskompensation wird zwar sicherlich einen Bewegungsvektor für den Makroblock ausrechnen, in dem der vorher abgedeckte Bereich und der nachher aufgedeckte Bereich liegen. Dieser Bewegungsvektor wird jedoch im Sinne einer Datenkomprimierung nichts bringen, da er von vorneherein eine Bewegungskompensation für einen Block innerhalb eines Bildes ausführen möchte, dessen Inhalt nicht auf eine Bewegung eines Blocks im vorherigen Bild zurückgeht, sondern dessen Inhalt einfach neu entstanden ist.
  • Andererseits basiert das Konzept der Bewegungskompensierten zeitlichen Zerlegung, um Hochpassbilder, also Erweiterungsbilder einerseits und Tiefpassbilder, also Basisbilder andererseits zu erzeugen, gerade auf dem Konzept der Bewegungskompensation, zumal eine „Verrechnung" von zwei Bildern der Gruppe von Bildern, um ein Hochpassbild und ein Tiefpassbild zu erzeugen, ohne Bewegungskompensation keinen Sinn machen würde, da dann das Hochpassbild nicht nur die Unterschiede zwischen zwei Bildern umfassen würde, sondern zusätzlich noch auf eine Bewegung zurückgeführte Anteile
  • Eine zeitliche Zerlegung einer Gruppe von Bildern wird somit dann, wenn die Bewegungskompensation nicht effektiv arbeiten kann, weil etwas Bewegungs-kompensiert werden soll, das einer Bewegung nicht unterworfen war, zumindest für diese Bildausschnitte, also diese Blöcke, bzw. Makroblöcke, in denen solche problematischen Bilder und Teile aufzufinden sind, eine erhöhte Bitrate liefern. Dies liegt daran, dass mit dem Bewegungsvektor, den das Bewegungskompensationsmodul ohnehin liefert, prädiziert/aktualisiert wird, und dass dann die Werte in dem Makroblock des Erweiterungsbildes relativ große Werte annehmen, die ohne weiteres größer als die ursprünglichen Werte oder sogar die ursprünglichen Differenzen in dem Bild werden können.
  • Aufgrund der größeren Werte im Erweiterungsbild wird die nachfolgend typischerweise stattfindende Entropie-Codierung immer weniger effizient, da die Entropie-Codierung generell gesagt die Eigenschaft hat, dass kleinere Werte effizienter als größere Werte codiert werden können, da kleinere Werte typischerweise häufiger auftreten als größere Werte.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, ein Konzept zur Bildverarbeitung zu schaffen, das einerseits flexibel und andererseits dennoch effizient ist.
  • Diese Aufgabe wird durch ein Computerprogramm gemäß Patentanspruch 1 oder 16 gelöst.
  • Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass dann, wenn der Nutzen der Bewegungskompensation nicht gegeben ist, wenn also z. B. Bildbereiche vorliegen, die einer sehr schnellen Bewegung unterzogen worden sind, oder wenn Bildbereiche vorliegen, die in einem vorherigen Bild nicht-aufgedeckt waren, und die in einem nachfolgenden Bild aufgedeckt worden sind, die Bewegungskompensation deaktiviert wird. Damit jedoch im zeitlichen Zerlegungsschema geblieben werden kann, das ausgangsseitig Basisbilder und Erweiterungsbilder erzeugt, wird eine Tiefpassinformation aus dem entsprechenden Bild der Gruppe von zu zeitlich filternden Bildern in das Erweiterungsbild eingetragen. Erfindungsgemäß wird somit bei Blöcken innerhalb von Bildern, bei denen eine Bewegungskompensation nichts bringt, in die Hochpassbilder nicht Hochpassinformationen eingetragen, sondern für diesen Block Tiefpassinformationen, so dass ein erfindungsgemäß erzeugtes Erweiterungsbild im Unterschied zum Stand der Technik an bestimmten identifizierten Blöcken Tiefpassinformationen umfasst.
  • Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird die Bewegungs-kompensierte zeitliche Filterung durch ein Lifting-Schema durchgeführt, das aus drei Schritten besteht, nämlich der Polyphasenzerlegung, der Prädiktion und der Aktualisierung. Insbesondere wird das Hochpassbild dadurch erzeugt, dass – blockweise betrachtet – von einem Bild eine Bewegungs-kompensierte und prädizierte Version des anderen Bildes subtrahiert wird. Das Basisbild wird dadurch erzeugt, dass eine mit einem Aktualisierungsoperator beaufschlagte Version des Hochpassbildes, das ebenfalls einer Bewegungskompensation unterzogen worden ist, zu dem einen Bild hinzuaddiert wird.
  • Wenn erfindungsgemäß festgestellt worden ist, dass die Bewegungskompensation keinen Nutzen bringt, so wird der Prädiktionsoperator deaktiviert. Vorzugsweise wird gleichzeitig auch der Aktualisierungsoperator deaktiviert, so dass ein Makroblock eines Bildes direkt in den entsprechenden Block des Erweiterungsbildes geschrieben wird, wobei dieser Block mit Tiefpassinformationen, also vorzugsweise mit dem Ausschnitt des ursprünglichen Bildes von Blöcken mit Hochpassinformationen, also Bildinformationen, die aus den zwei zusammen verarbeiteten Bildern abgeleitet worden sind, umgeben sein kann.
  • Zur Entscheidung, ob für einen Block Tiefpassinformationen in das Erweiterungsbild geschrieben werden sollen, oder ob tatsächlich Hochpassinformationen in das Erweiterungsbild geschrieben werden sollen, ist erfindungsgemäß eine Einrichtung zur Berechnung eines Nutzens der Bewegungskompensation für einen Block von Werten vorgesehen, die mit einer Steuereinrichtung zum Steuern der Einrichtung zum Bewegungskompensierten Filtern zusammenarbeitet, um für einen Block von Werten in dem Erweiterungsbild statt der Hochpassinformationen Tiefpassinformationen einzufügen.
  • Decodiererseitig ist die erfindungsgemäße Vorrichtung ausgebildet, um aus einem empfangenen Datenstrom für jeden Block Steuerinformationen zu extrahieren, um zu erkennen, ob für einen Block im Erweiterungsbild Tiefpassinformationen stecken, um dann, wenn dies der Fall ist, die Prädiktionsoperation im Decodierer zu deaktivieren, so dass die Tiefpassinformationen im Erweiterungsbild wieder unmittelbar zurück in den entsprechenden Makroblock des entsprechenden Ausgabebildes geschrieben wird.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:
  • 1a eine Vorrichtung zum Verarbeiten einer Gruppe von Bildern, die ein einem Computerprogramm gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung zugrundeliegendes Verfahren darstellt;
  • 1b eine Vorrichtung zum Verarbeiten eines Basisbildes und eines oder mehrerer Erweiterungsbilder, die ein einem Computerprogramm gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung zugrundeliegendes Verfahren darstellt, auf Decodiererseite;
  • 2a eine schematische Darstellung eines bevorzugten Ausführungsbeispiels auf Codiererseite;
  • 2b eine bevorzugte Ausführungsform auf Decodiererseite.
  • 3 ein Blockschaltbild eines Decodierers mit vier Ebenen;
  • 4 ein Blockschaltbild zur Veranschaulichung der Lifting-Zerlegung einer zeitlichen Subband-Filterbank;
  • 5a eine Darstellung der Funktionalität des in 4 gezeigten Lifting-Schemas;
  • 5b eine Darstellung von zwei bevorzugten Lifting-Vorschriften mit unidirektionaler Prädiktion (Haar-Wavelet) und bidirektionaler Prädiktion (5/3-Transformation);
  • 5c eine bevorzugte Ausführungsform der Prädiktions- und Aktualisierungs-Operatoren mit Bewegungskompensation und Referenzindizes zur beliebigen Wahl der zwei durch das Liftung-Schema zu verarbeitenden Bilder;
  • 5d eine Darstellung des Intramodus, bei dem ursprüngliche Bildinformationen Makroblock-weise in Hochpassbilder eintragbar sind;
  • 6a eine bevorzugte Ausführungsform zum Verarbeiten der Bilder mit zeitlicher und Skalierungsschichtübergreifender Prädiktion;
  • 6b eine bevorzugte Ausführungsform einer Einrichtung zum inversen Weiterverarbeiten auf Decodiererseite;
  • 7 ein Übersichtsdiagramm zur Veranschaulichung der zeitlichen Verlegung einer Gruppe von beispielsweise 8 Bildern;
  • 8 eine bevorzugte zeitliche Plazierung von Tiefpass-Bildern für eine Gruppe von 16 Bildern;
  • 9 ein Übersichts-Blockschaltbild zur Veranschaulichung der grundsätzlichen Codierstruktur für einen Codierer gemäß dem Standard H.264/AVC für einen Makroblock;
  • 10 eine Kontext-Anordnung, die aus zwei benachbarten Pixelelementen A und B links bzw. oberhalb eines gegenwärtigen Syntaxelements C besteht; und
  • 11 eine Darstellung der Aufteilung eines Bildes in Slices;
  • 12 ein bevorzugtes Ausführungsbeispiel der zeitlichen Skalierbarkeit der Bilder für die zweite örtliche Skalierungsschicht;
  • 13 eine detailliertere Darstellung der Berechnung der zweiten örtlichen Skalierungsschicht mit Skalierungsschicht-übergreifender Prädiktion sowohl des Basisbildes als auch von Intra-Blöcken in den Erweiterungsbildern;
  • 14 eine Darstellung der Prädiktion von Basisbildern in zeitlicher Hinsicht innerhalb einer Skalierungsschicht;
  • 15 eine schematische Darstellung mehrerer Skalierungsschichten codierten Signals zur Veranschaulichung einer kombinierten Skalierbarkeit.
  • 16 eine schematische Darstellung des Erzeugens eines skalierten Datenstroms;
  • 17a eine schematische Darstellung des Erzeugens eines skalierten Datenstroms mit binär-gewichteten Auflösungen; und
  • 17b eine schematische Darstellung einer Vorrichtung zum inversen Verarbeiten eines örtlichen skalierten Datenstroms.
  • 1a zeigt eine erfindungsgemäße Vorrichtung zum Verarbeiten einer Gruppe von Bilder, die über einen Eingang 1100 der Vorrichtung zugeführt werden. Die Gruppe von Bildern wird einer Einrichtung 1102 zum Bewegungs-kompensierten Filtern der Gruppe von Bildern zugeführt. Die Einrichtung 1102 ist über ein Steuersignal von einer Steuereinrichtung 1104 steuerbar. Insbesondere ist die Einrichtung 1102 zum blockweisen Bewegungs-kompensierten Filtern ausgebildet, um ein Basisbild und wenigstens ein Erweiterungsbild zu erzeugen, wobei das Basisbild Tiefpassinformationen aus der Gruppe von Bildern aufweist, und wobei das Erweiterungsbild Hochpassinformationen aus der Gruppe von Bildern oder Tiefpassinformationen aus der Gruppe von Bildern aufweist. Die Erweiterungsbilder werden ebenso wie das oder die Basisbilder am Ausgang der Einrichtung 1102 erhalten. Die Gruppe von Bildern wird ebenso wie Bewegungskompensationsdaten 1106 einer Einrichtung 1108 zum Berechnen eines Nutzens einer Bewegungskompensation für einen Block von Werten zuge führt. Die Einrichtung 1108 ist wirksam, um über ein Nutzensignal auf einer Signalleitung 1110 die Steuereinrichtung 1104 zu aktivieren, damit sie der Einrichtung 1102 signalisiert, dass für einen bestimmten Block des Erweiterungsbildes mit Hochpassinformationen statt der normalerweise eingetragenen Hochpassinformationen ausnahmsweise Tiefpassinformationen einzutragen sind. Dies ist dann der Fall, wenn die Bewegungskompensation zu keinem Prädiktionsgewinn führt, da beispielsweise in dem Block Dinge vorhanden sind, die in einem Bild der Gruppe von Bildern verdeckt sind und im anderen Bild der Gruppe von Bildern nicht mehr verdeckt sind, derart, dass Veränderungen von einem Bild zum nächsten nicht aufgrund einer Bewegung vorhanden sind.
  • Nachfolgend wird Bezug nehmend auf 1b eine erfindungsgemäße Vorrichtung auf Decodiererseite dargestellt, die die in 1a gezeigte Verarbeitung wieder rückgängig macht.
  • An dieser Stelle sei darauf hingewiesen, dass die Erweiterungsbilder mit Hochpass- oder Tiefpassinformationen sowie die Basisbilder mit Tiefpassinformationen am Ausgang der Einrichtung 1102 in 1a typischerweise einer nachfolgenden Transformation/Skalierung/Quantisierung und Entropie-Codierung gemäß H.264/AVC unterzogen werden, um schließlich ausgangsseitig einen komplett codierten Datenstrom zu bilden, der neben den Erweiterungsbildern mit Hochpass- oder Tiefpassinformationen und den Basisbildern und den Bewegungskompensationsdaten auch eine Information darüber umfasst, in welchem Block eines Erweiterungsbildes Tiefpassinformationen stehen. Auf Decodiererseite wird dann dieser Datenstrom zunächst auseinandergefügt und einer Decodierung unterzogen einschließlich einer Requantisierung und Rücktransformation, um dann, gewissermaßen nach dieser „inneren" Decodiererstufe komplette Basisbilder oder Erweiterungsbilder oder aber wenigstens Blöcke von Basisbilder und Blöcke von Erweiterungsbildern, welche in H.264/AVC auch Makroblöcke genannt werden, zu erhalten.
  • Das erfindungsgemäße Konzept kann jedoch gewissermaßen um jeden beliebigen „Kerncodierer" herum gelegt werden, es wird jedoch besonders bevorzugt, die erprobten und standardisierten H.264/AVC-Algorithmen einzusetzen.
  • 1b zeigt einen Datenstromdemultiplexer 1130, dessen Funktionalität generell darin besteht, Basisbilder, Erweiterungsbilder und Steuerinformationen zu trennen. Diese Informationen werden einer Einrichtung 1132 zum Bewegungskompensierten inversen Filtern zugeführt. Die Einrichtung 1032 zum Bewegungs-kompensierten inversen Filtern ist ausgebildet, um aus den Basisbildern und den Erweiterungsbildern wieder die ursprünglichen in den Eingang 1100 von 1a gezeigten Bilder zu machen, die in 1b auch als Gruppe von Ausgangsbilder an einem Ausgang 1134 bezeichnet werden. Die Steuerinformationen, die von dem Block 1030 über eine Steuerleitung 1136 der Einrichtung 1132 zum Bewegungs-kompensierten inversen Filtern zugeführt werden, umfassen Informationen darüber, ob in einem Block eines Erweiterungsbildes Tiefpassinformationen oder Hochpassinformationen existieren. In dem Fall, in dem die Steuerinformationen anzeigen, dass in einem Block von Werten eines Erweiterungsbildes Tiefpassinformationen statt Hochpassinformationen enthalten sind, wird bewirkt, dass in der Einrichtung 1132 bei der Erzeugung eines Blocks von Werten eines Ausgabebildes am Ausgang 1134 eine Verwendung eines Blocks von Werten des Basisbildes, der dem Block in dem Erweiterungsbild zugeordnet ist, unterdrückt wird.
  • 2a zeigt ein bevorzugtes Ausführungsbeispiel der in 1a gezeigten codiererseitigen Vorrichtung zum Verarbeiten einer Gruppe von Bildern. Insbesondere zeigt 2a einen bevorzugten Aufbau der Einrichtung 1102 zum blockweisen Bewegungs-kompensierten Filtern, die prinzipiell dem in 3 oder 4 gezeigten Aufbau entspricht, die sich jedoch darin unterscheidet, dass der Prädiktoroperator P und vorzugsweise gleichzeitig auch der Aktualisierungsoperator U pro Block selektiv abgeschaltet werden, was unmittelbar darin resultiert, dass in ein Erweiterungsbild bzw. in einem Block eines Erweiterungsbildes hk Tiefpassinformationen geschrieben werden, also Informationen eines Bildes der ursprünglichen Gruppe von Bilder, ohne dass die Prädiktoroperation stattfindet, da dann das Signal am Ausgang des Prädiktoroperators P gleich Null ist.
  • Die Einrichtung 1102 umfasst insbesondere zunächst eine Prädiktionseinrichtung, die zum einen den Prädiktorblock P 43, sowie den Addierer 44 umfasst. Ferner ist die Einrichtung 1102 mit einer Aktualisierungseinrichtung versehen, die den Aktualisierungsoperatorblock 45 sowie den Addierer 46 umfasst. Die anderen Elemente entsprechen den in 4 gezeigten Elementen und haben die gleichen Funktionalitäten.
  • Bei dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird dem Prädiktoroperator 43, wie es nachfolgend noch ausgeführt wird, pro Block ein Bewegungsvektor m zugeführt, der von einer Bewegungsvektorermittlungseinrichtung pro Block, die in 2a mit 1140 bezeichnet ist, stammt. Prinzipiell hat eine Folge von „Bewegungsvektorinformationen" ein Aussehen, wie es in einer Tabelle 1142 in 2a dargestellt ist. Einem Blockindex i, j, k ist ein Signal mi, „Null", mk zugeordnet. Wird von dem Lifting-Schema 1102 gerade ein Block verarbeitet, für den herausgefunden worden ist, dass eine Bewegungskompensation einen Nutzen hat, wird also von der Nutzenberechnungseinrichtung 1108 signalisiert, dass die Bewegungskompensation in Ordnung ist, so erhält der Bewegungsvektor mi den berechneten Wert, und der Prädiktoroperator 43 führt eine entsprechende Prädiktion unter Verwendung der Bewegungsvektorinformationen, also eine Bewegungs-kompensierte Prädiktion durch. Wird dagegen für den Block mit dem Index j von der Nutzenberechnungseinrichtung eine Makroblockmodus-Flag über eine Flag-Leitung 1144 der Steuereinrichtung 1104 signalisiert, so ist diese wirksam, um statt des Bewegungsvektors m oder als Prädiktor-Information ein Null-Signal dem Block zuzuordnen. Dieses Null-Signal signalisiert dem Prädiktoroperator 43, dass er ausgangsseitig keine Werte bzw. Null-Werte ausgeben soll, so dass von dem Signal am oberen Eingang des Addierers 44 nichts subtrahiert wird. Damit wird der beobachtete Block unmittelbar von dem Eingang 1100 über den vorzugsweise vorgesehenen Multiplizierer 47 in den entsprechenden Block des Erweiterungsbildes eingetragen. Damit wird die Prädiktion unterdrückt, und es werden Tiefpassinformationen in einen Block des Erweiterungsbildes geschrieben, das normalerweise Hochpassinformationen habe würde.
  • Vorzugsweise wird keine separate Aktualisierungsoperator-Information für den Aktualisierungsoperator 45 erzeugt. Statt dessen wird der Aktualisierungsoperator, wie es in 2a durch eine gestrichelte Linie 1146 dargestellt ist, vom Prädiktionsoperator abgeleitet. In diesem Fall würde dann der Aktualisierungsoperator 45 ebenfalls ein Null-Signal erhalten, so dass der entsprechende Block des ande ren Bildes der beiden Bilder, die durch die Einrichtung 1102 zusammen verarbeitet werden, unverändert, also ohne Aktualisierung in das Basisbild eingetragen wird. Nachdem bei dem bevorzugten Ausführungsbeispiel der Aktualisierungsoperator unmittelbar aus dem Prädiktionsoperator abgeleitet wird, genügt es, nur einen zu-Null-gesetzten Prädiktionsoperator zu signalisieren, so dass automatisch mit einem Null-signalisierten Prädiktionsoperator auch der zugeordnete Aktualisierungsoperator für diesen Block zu Null gesetzt wird.
  • 2b zeigt das entsprechende Szenario auf Decodiererseite. Der von der Steuereinrichtung 1104 in 2a bei dem bevorzugten Ausführungsbeispiel ausgegebene Datenstrom wird entsprechend wieder dem Prädiktionsoperator 43 zugeführt, der wiederum dazu verwendet wird, um den entsprechenden Aktualisierungsoperator 45 abzuleiten, wie es durch eine gestrichelte Linie 1150 dargestellt ist. Erhält der Prädiktionsoperator 43 für den Block mit dem Blockindex i ein Bewegungsvektorsignal mi, so führt er zusammen mit dem Aktualisierungsoperator für diesen Block seine normale Operation durch. Wird dagegen für den Block mit dem Index j beispielsweise ein Null-Signal dem Prädiktionsoperator 43 zugeführt, so führt dies dazu, dass die Additionen durch die Addierer 52 und 53 wirkungslos sind, so dass bei einer Erzeugung eines Blocks von Werten eines Ausgabebildes eine Verwendung eines Blocks von Werten des Basisbildes lk unterdrückt wird, da im Erweiterungsbild hk bzw. in dem betrachteten Block des Erweiterungsbildes ohnehin schon Tiefpassinformationen stehen.
  • Wie es später noch dargelegt werden wird, zeigt 5a bis 5d verschiedene Ausgestaltungen der Prädiktionsopera toren, die, wie es insbesondere in Fig. c zu sehen ist, bei der Berechnung des Prädiktoroperators die Bewegungsvektoren m berücksichtigen. Es sei darauf hingewiesen, dass dann, wenn ein „Null-Wert" signalisiert wird, sowohl der Prädiktionsoperator P als auch der Aktualisierungsoperator U komplett zu Null gesetzt werden, wie es in 5d dargestellt ist.
  • Nachfolgend wird zunächst Bezug nehmend auf die 16, 17a und 17b eine bevorzugte Anwendung der vorliegenden Erfindung für ein System mit örtlicher Skalierbarkeit dargestellt. Insbesondere anhand der 6a und 6b wird auf ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung Bezug genommen, bei dem dann, wenn Tiefpassinformationen in einem Block des Erweiterungsbildes bestehen, wenn das Erweiterungsbild also Intra-Blöcke umfasst, zur weiteren Datenkomprimierung eine Prädiktion von einer niedrigeren Skalierungsschicht zu einer höheren Skalierungsschicht durchgeführt wird, so dass als Tiefpassinformation im Erweiterungsbild nicht genau der Bildausschnitt des ursprünglichen Bildes der Gruppe von Bildern übertragen wird, sondern lediglich ein Prädiktionsrestsignal, wie es später noch dargelegt wird.
  • 16 zeigt eine schematische Darstellung einer Vorrichtung zum Erzeugen eines skalierten Datenstroms aus einer Gruppe von zeitlich aufeinanderfolgenden Bildern, mit einer ersten Auflösung, die an einem Eingang 1000 anliegen. Die Gruppe von zeitlich aufeinanderfolgenden Bildern wird einer Einrichtung 1002 zum Umsetzen der Bilder in eine zweite Auflösung zugeführt. Die in die zweite Auflösung umgesetzten Bilder, wobei die zweite Auflösung kleiner als die erste Auflösung ist, werden einer Einrichtung 1004 zum Codie ren zugeführt, wobei die Einrichtung 1004 zum Codieren ausgebildet ist, um gemäß dem Standard H.264/AVC zu arbeiten, also eine Makroblock-weise Transformation, Skalierung und Quantisierung mit einer bestimmten Quantisiererschrittweite und eine nachfolgende Entropie-Codierung durchzuführen, so dass sich ausgangsseitig die erste Skalierungsschicht mit den Makroblock-weise transformierten Transformationskoeffizienten samt den entsprechenden Seiteninformationen ergibt.
  • Die erste Skalierungsschicht am Ausgang 1006 kann nunmehr einer Einrichtung 1008 zum Dekodieren zugeführt werden, wobei die Einrichtung 1008 ausgebildet ist, um eine zur Einrichtung 1004 inverse Verarbeitung durchzuführen. Es kann jedoch auch die mit der zweiten Auflösung vorliegende Gruppe von Bildern am Ausgang der Einrichtung 1002 einer Einrichtung 1010 zum Umsetzen der Bilder in eine dritte Auflösung zugeführt werden, wobei die Einrichtung 1010 eine Hilfsdarstellung der Bilder mit der dritten Auflösung liefert, wobei die dritte Auflösung größer als die zweite Auflösung und kleiner oder gleich der ersten Auflösung ist. Ist die Einrichtung 1010 ausgebildet, um die Bilder in eine dritte Auflösung umzusetzen, die nicht gleich der ersten Auflösung ist, so ist auch eine Einrichtung 1012 vorgesehen, um die ursprüngliche Gruppe von Bildern am Eingang 1000 in eine Version der Bilder mit der dritten Auflösung umzusetzen. Die Hilfsdarstellung am Ausgang der Einrichtung 1010 wird nicht unbedingt zur Erzeugung der 2. Skalierungsschicht benötigt. Dies ist der Fall, wenn die Einrichtung 1016 keine Prädiktion durchführt. Es wird jedoch bevorzugt, dass die Einrichtung 1016 eine Prädiktion der Tiefpassbilder und auch von Intra-Blöcken in Hochpassbildern vornimmt, so dass die Einrichtungen 1010 und ggf. 1008 benötigt werden.
  • Die Version mit der dritten Auflösung, die eine reduzierte örtliche Auflösung hat, wenn die dritte Auflösung kleiner als die erste Auflösung ist, oder die dieselbe Auflösung hat, wie die ursprüngliche Gruppe von Bildern, wenn die dritte Auflösung gleich der ersten Auflösung ist, wird einer Einrichtung 1014 zum Bewegungs-kompensierten zeitlichen Filtern zugeführt. Die Einrichtung 1014 zum Bewegungskompensierten zeitlichen Filtern der Gruppe von Bildern in der ersten Auflösung oder einer Gruppe von Bildern mit einer bezüglich der ersten Auflösung reduzierten dritten Auflösung liefert ein Basisbild und wenigstens ein Erweiterungsbild, wobei das Basisbild Tiefpassinformationen aus der Gruppe von Bildern aufweist, und wobei das Erweiterungsbild Hochpassinformationen aus der Gruppe von Bildern aufweist
  • Die Einrichtung 1014 liefert somit das "Rohmaterial" für die zweite Skalierungsschicht, wobei dieses Rohmaterial einer Einrichtung 1016 zum Verarbeiten zugeführt wird, um schließlich an einem Ausgang 1018 eine zweite Skalierungsschicht zu erhalten.
  • 17a zeigt eine schematische Darstellung der in 16 gezeigten Vorrichtung zum Erzeugen des skalierten Datenstroms für binär-gewichtete Auflösungen. Dabei ist die Einrichtung 1002 ausgebildet, um eine Dezimierung um den Faktor 4 durchzuführen. Die Einrichtung 1010 zum Umsetzen in die dritte Auflösung ist ausgebildet, um ein Upsampling vorzugsweise durch ein Interpolationsfilter um den Faktor 2 durchzuführen. Da die Auflösung der Bilder am Ausgang der Einrichtung 1010 halb so groß ist wie die ursprüngliche Auflösung der Bilder am Eingang 1000, liefert die Einrich tung 1012 ein Downsampling um den Faktor 2, so dass die zweite Skalierungsschicht am Ausgang des Codierers 1016 bereits eine Darstellung der Gruppe von Bildern mit der örtlichen Auflösung 1/2 liefert. Ferner sind in 17a optionale Decodierer 1005, 1015 gezeigt, die vorzugsweise dann verwendet werden, wenn in den Codierern 1004 und 1016 eine verlustbehaftete Codierung eingesetzt wird. Wird dagegen eine verlustlose Codierung eingesetzt, so müssen die Decodierer nicht unbedingt verwendet werden.
  • Eine dritte Skalierungsschicht wird – wenn im Codierer 1024 eine Layer-übergreifende Prädiktion eingesetzt wird, dadurch erreicht, dass das Eingangssignal in den Codierer 1016 wiederum in einem Upsampler 1020 um den Faktor 2 in der Auflösung heraufgesetzt wird, wieder beispielsweise durch Interpolation. Das Ausgangssignal der Einrichtung 1020 wird dann dem Codierer 1024 zu Prädiktionszwecken zugeführt. Aus der MCTF-Einrichtung 1022 erhält der Codierer 1024 nunmehr Basisbilder und Erweiterungsbilder, die aus der bewegungskompensierten zeitlichen Filterung der am Eingang 1000 anliegenden Bilder erhalten werden. Die dritte Skalierungsschicht hat (abgesehen von der vorzugsweise durchgeführten Layer-übergreifenden Prädiktion) sämtliche Informationen, um die volle 1/1-Auflösung zu erreichen. Aus diesem Grunde werden die zweite und die dritte Skalierungsschicht auch als Enhancement-Layers bezeichnet, während die erste Skalierungsschicht als Basis-Layer bezeichnet wird.
  • An dieser Stelle sei darauf hingewiesen, dass die erste Skalierungsschicht am Ausgang 1006 in 17a nicht unbedingt die Basisschicht sein muss, sondern z. B. eine Erweiterungsschicht eines übergeordneten zeitlichen Skalierungsschema oder natürlich auch die Basisschicht des übergeord neten zeitlichen Skalierungsschemas. Ein solches Szenario würde sich ergeben, wenn mehrere aufeinanderauffolgende Tiefpassbilder am Ausgang 28b des skalierbaren zeitlichen Codierers in 3 dem Eingang 1000 zugeführt würden. Selbstverständlich kann das in 16 und 17a dann gezeigte Konzept auch dazu verwendet werden, um z. B. eine Folge von zeitlich aufeinanderfolgenden Hochpassbildern beispielsweise der dritten Ebene am Ausgang 75 von 3 einer örtlichen Skalierung zu unterziehen.
  • Selbstverständlich könnte das erfindungsgemäße Konzept der örtlichen Skalierbarkeit auch mit einer übergeordneten SNR-Skalierungsschicht kombiniert werden, die sich von einer darunter- oder darüberliegenden SNR-Skalierungsschicht dahingehend unterscheiden würde, dass eine andere Quantisiererschrittweite eingestellt worden ist, als eine darunterliegende Skalierungsschicht (gröbere Quantisiererschrittweite) oder eine darüberliegende Skalierungsschicht (eine feinere Quantisiererschrittweite). Dieses bevorzugte Ausführungsbeispiel wird durch den weiteren Decodierer 1021, den Subtrahierer 1023 und den weiteren Codierer 1025 in 17a dargestellt. Der Codierer 1024 und der Codierer 1025 unterscheiden sich durch unterschiedlich grobe Quantisiererschrittweiten (QSW), wobei q1 eine grobe Schrittweite darstellt und wobei q2 eine feine Schrittweite darstellt. Die 4. SNR-Schicht hat also die gleich örtliche Auflösung wie die dritte Schicht, wurde aber gröber quantisiert. Ferner ist in der 4. Schicht im Gegensatz zu den anderen Schichten ein Differenzsignal (Element 1023) enthalten, das auf Decodiererseite durch Summation mit der decodierten Version der 3. Schicht addiert wird, um mit dem Ergebnis der Addition dann die inverse zeitliche Filterung durchzuführen.
  • Darüber hinaus sei darauf hingewiesen, dass die Umsetzung in verschiedene Auflösungen nicht unbedingt durch geradzahlige Faktoren oder Potenzen von 2 durchgeführt werden muss. Prinzipiell können beliebige Auflösungs-Umsetzungen erreicht werden, wenn entsprechende Dezimierungs/Interpolations-Filter eingesetzt werden.
  • Ferner sei darauf hingewiesen, dass es erfindungsgemäß bevorzugt wird, für das Downsampling eine Tiefpaßfilterung mit nachfolgender Unterabtastung zu verwenden.
  • Entsprechend wird es bevorzugt, das Upsampling durch Interpolation durchzuführen. Damit wird ein interpolierter Abtastwert aus einem oder mehreren benachbarten vorhandenen Abtastwerten berechnet. Daraus ist zu sehen, dass durch Dezimierung selbstverständlich Information verloren geht (und damit auch eine Skalierungsschicht mit geringerer Datenrate erzeugt wird), und dass durch das Rekonstruieren diese Information nicht wiedergewonnen werden kann, sondern nur irgendwie approximiert wird.
  • 17b zeigt ein schematisches Blockschaltbild eines Decodierers bzw. einer Vorrichtung zum inversen Verarbeiten eines skalierten Datenstroms mit mehreren Skalierungsschichten an Eingängen 1030, 1032, 1034 und 1035. Es sei darauf hingewiesen, das in normalen Anwendungen den Eingängen 1030, 1032, 1034, 1035 ein Bitstrom-Demultiplexer vorgeschaltet ist, der aus einem gemeinsamen skalierten Datenstrom die einzelnen Schichten extrahiert. War der Kanal nur so schmalbandig, dass nur z. B. die erste und die zweite Skalierungsschicht im Bitstrom enthalten sind, würde der dritte Eingang 1034 im Hinblick auf die Einspeisung von Bilddaten "leer" ausgehen.
  • Die erste Skalierungsschicht wird einem Decodierer DEC1 1036 zugeführt. Der Decodierer 1036 ist ausgebildet, um genauso wie ein Decodierer 1038 die entsprechende empfangene Skalierungsschicht zu decodieren, also die zu den Codierern 1004 und 1016 von 17a dann inversen Verarbeitungsschritte durchzuführen. Diese Schritte umfassen eine inverse Skalierung, eine Requantisierung und eine inverse Transformation.
  • Je nach Ausführungsform ist dem Decodierer 1038 und möglicherweise auch dem Decodierer 1036 eine Invers-Weiterverarbeitungseinrichtung (WV) 1040 nachgeschaltet, die abhängig von bestimmten Steuerinformationen CTRL, wie sie im Nachfolgenden noch erläutert werden, z. B. eine Intra-Prädiktion für Basisbilder oder ggf. Erweiterungsbilder rückgängig macht. Die Ausgangssignale der Weiterverarbeitungseinrichtung 1040 werden dann einer Einrichtung (1042) zum Bewegungs-kompensierten inversen Filtern des Basisbildes und des Erweiterungsbildes, um die Gruppe von Ausgangsbildern zu erhalten, zugeführt.
  • Der Umsetzer ist in 17b als einfacher Upsampler gezeigt und hat das Bezugszeichen 1044. Damit ergibt sich am Ausgang der Einrichtung 1042 eine Folge von Bildern mit halber Auflösung bei dem in 17b gezeigten Ausführungsbeispiel, während vom Ausgang des ersten Decodierers 1036 lediglich eine Folge der Bilder mit der viertelten Auflösung vorhanden ist.
  • Um schließlich die Bilder mit voller Auflösung wieder zu gewinnen, sind ein weiterer Decodierer 1046, ein weiterer ggf. vorgesehener Upsampler 1048 sowie eine weitere MCTF-1-Einrichtung 1050 und eine Weiterverarbeitungseinrichtung WV 1041 vorgesehen, wobei die Einrichtung 1050 ausgangsseitig die Bilder mit der vollen Auflösung wiedergibt. Es sei darauf hingewiesen, dass möglicherweise erforderliche Delays, damit die Prädiktoren synchron bezogen auf die Abtastwerte arbeiten, in 17b (sowie in 17a oder 16) aus Übersichtlichkeitsgründen nicht eingezeichnet sind.
  • Es sei darauf hingewiesen, dass die Weiterverarbeitungseinrichtungen 1040 und 1041 dann benötigt werden, wenn eine Prädiktion von Tiefpassbildern oder Intra-Blöcken in Hochpassbildern der 2. Skalierungsschicht unter Verwendung von Daten (Bildern) der ersten Skalierungsschicht verwendet werden soll.
  • 17b zeigt ferner die Wiedergewinnung der in 17a gezeigten 4. Skalierungsschicht, wobei hierfür der Addierer 1049 und die weitere MCTF-1-Einrichtung 1051 vorgesehen sind, und wobei die beim Encodieren verwendeten Quantisierer-Schrittweiten q1 und q2 in den Decodierern 1046 und 1047 benötigt werden.
  • Nachfolgend wird Bezug nehmend auf die 4 und die nachfolgenden 5a-5d auf die bevorzugte Ausführungsform des bewegungskompensierten Prädiktionsfilters eingegangen. Wie es bereits ausgeführt worden ist, besteht das bewegungskompensierte zeitliche Filter (MCTF; MCTF = motioncompensated temporal Filter) aus einem allgemeinen Liftingschema mit drei Schritten, nämlich der Polyphasenzerlegung, der Prädiktion und der Aktualisierung. In 4 ist die entsprechende Analyse/Synthese-Filterbankstruktur gezeigt. Auf der Analysesseite werden die ungeraden Abtastwerte eines gegebenen Signals durch eine lineare Kombination der geradzahligen Abtastwerte unter Verwendung des Prädiktionsoperators P und eines Hochpassignals H auf die Prädiktionsrestwerte gefiltert. Ein entsprechendes Tiefpassignal l wird durch Addieren einer Linearkombination der Prädiktionsrestwerte h mit den geradzahligen Abtastwerten des Eingangssignals s unter Verwendung des Aktualisierungsoperators gebildet. Der gleichungsmäßige Zusammenhang der in 4 gezeigten Größen h und l sowie der prinzipiellen Ausführungsformen der Operatoren P und U ist in 5a gezeigt.
  • Da sowohl der Prädiktionsschritt als auch der Aktualisierungsschritt vollständig invertierbar sind, kann die entsprechende Transformation als kritisch abgetastete Perfektrekonstruktionsfilterbank betrachtet werden. Die Synthesefilterbank umfasst die Anwendung des Prädiktionsoperators und des Aktualisierungsoperators in umgekehrter Reihenfolge mit den invertieren Vorzeichen im Summationsprozess, wobei die geraden und die ungeraden Polyphasenkomponenten verwendet werden. Für eine Normierung der Hochpass/Tiefpass-Komponenten werden entsprechende Skalierungsfaktoren Fl und Fh verwendet. Diese Skalierungsfaktoren müssen nicht unbedingt verwendet werden, sie können jedoch eingesetzt werden, wenn Quantisiererschrittgrößen während der Codierung ausgewählt werden.
  • Es zeigt f[x, k] ein Videosignal mit den Raumkoordinaten x = (x,y)T, wobei k die Zeitkoordinate ist. Der Prädiktionsoperator P und der Aktualisierungsoperator U für die zeitliche Zerlegung unter Verwendung der Liftingdarstellung des Haar- Wavelets ist gegeben, wie es links in 5b gezeigt ist. Für die 5/3-Transformation ergeben sich die entsprechenden Operatoren so, wie es rechts in 5b gezeigt ist. Die Erweiterung auf die bewegungskompensierte zeitliche Filterung wird durch Modifikation des Prädiktionsoperators und des Aktualisierungsoperators wie in 5c gezeigt, erreicht. Besonders sei auf die Referenzindizes r > 0 verwiesen, die eine allgemeine Bild-adaptive bewegungskompensierte Filterung erlauben. Durch diese Referenzindizes kann sichergestellt werden, dass bei dem in 4 dargestellten Szenario nicht immer lediglich zwei zeitlich unmittelbar aufeinanderfolgende Bilder in ein Hochpassbild und in ein Tiefpassbild zerlegt werden, sondern dass zum Beispiel ein erstes Bild mit einem dritten Bild einer Sequenz bewegungskompensiert gefiltert werden kann. Alternativ ermöglich die geeignete Wahl der Referenzindizes, dass z. B. auch ein und dasselbe Bild einer Folge von Sequenzen dazu verwendet werden kann, als Basis für den Bewegungsvektor zu dienen. Dies bedeutet, dass die Referenzindizes beispielsweise bei einer Folge von acht Bildern ermöglichen, dass alle Bewegungsvektoren z. B. auf das vierte Bild dieser Folge bezogen sind, so dass sich am Ende durch Verarbeitung dieser acht Bilder durch das Filterschema in 4 ein einziges Tiefpassbild ergibt, und dass sich sieben Hochpassbilder (Erweiterungsbilder) ergeben, und dass sämtliche Bewegungsvektoren, wo bei jedem Bewegungsvektor ein Erweiterungsbild zugeordnet ist, auf ein- und dasselbe Bild der ursprünglichen Sequenz beziehen.
  • Wenn somit ein- und dasselbe Bild einer Sequenz als Referenz für die Filterung mehrerer weiterer Bilder verwendet wird, führt dies zu einer nicht dem Faktor 2 gehorchenden zeitlichen Auflösungsskalierung, was für bestimmte Anwen dungen von Vorteil sein kann. Es wird in den unteren Zweig der Analyse-Filterbank in 4 immer dasselbe Bild, nämlich beispielsweise das vierte Bild der Folge aus acht Bildern, eingespeist. Das Tiefpassbild ist bei jeder Filterung dasselbe, nämlich das letztendlich erwünschte einzige Tiefpassbild der Folge von Bildern. Wenn der Aktualisierungsparameter Null ist, wird das Basisbild einfach durch den unteren Zweig gewissermaßen "durchgeschleust". Dagegen ist das Hochpassbild immer abhängig von dem entsprechenden anderen Bild der ursprünglichen Folge und dem Prädiktionsoperator, wobei der zu diesem Eingangsbild zugehörige Bewegungsvektor bei der Prädiktion verwendet wird. In diesem Fall kann man daher sagen, dass das letztendlich erhaltene Tiefpassbild einem bestimmten Bild der ursprünglichen Folge von Bildern zugeordnet ist, und dass auch jedes Hochpassbild einem Bild der ursprünglichen Folge zugeordnet ist, wobei genau die Abweichungen des ursprünglichen Bilds der Folge (einer Bewegungskompensation) von dem gewählten Basisbild der Folge (das in dem unteren Zweig der Analyse-Filterbank von 4 eingespeist wird) entspricht. Wenn jeder Aktualisierungsparameter M01 M11 M21 und M31 gleich Null ist, führt dies dazu, dass das in den unteren Zweig 73 der vierten Ebene eingespeiste Bild einfach nach unten „durchgeschleift" wird. Das Tiefpassbild TP1 wird gewissermaßen "wiederholt" in die Filterbank eingespeist, während die anderen Bilder – gesteuert durch die Referenzindizes – nach und nach in den Eingang 64 von 3 eingeführt werden.
  • Wie es aus den vorstehenden Gleichungen zu sehen ist, liefern die Prädiktions- bzw. Aktualisierungsoperatoren für die bewegungskompensierte Filterung für die zwei verschiedenen Wavelets unterschiedliche Prädiktionen. Wenn das Haar-Wavelet verwendet wird, wird eine unidirektionale bewegungskompensierte Prädiktion erreicht. Wird dagegen das 5/3-Spline-Wavelet eingesetzt, so spezifizieren die beiden Operatoren eine bidirektionale bewegungskompensierte Prädiktion.
  • Da die bidirektionale kompensierte Prädiktion allgemein die Energie des Prädiktionsrestwerts reduziert, jedoch die Bewegungsvektorrate im Vergleich zu einer unidirektionalen Prädiktion erhöht, ist es wünschenswert, dynamisch zwischen der unidirektionalen und der bidirektionalen Prädiktion hin- und herzuschalten, was bedeutet, dass zwischen einer Liftingdarstellung des Haar-Wavelets und des 5/3-Splin-Wavelets abhängig von einem bildabhängigen Steuersignal hin- und hergeschaltet werden kann. Das erfindungsgemäße Konzept, das keine geschlossene Rückkopplungsschleife zur zeitlichen Filterung verwendet, erlaubt ohne weiteres diese makroblockweise Hin- und Herschaltung zwischen zwei Wavelets, was wiederum der Flexibilität und insbesondere der Datenrateneinsparung dient, die optimal signalangepasst durchführbar ist.
  • Um die Bewegungsfelder oder allgemeiner gesagt die Prädiktionsdatenfelder MP und MU darzustellen, kann vorteilhafterweise auf die bestehende Syntax der B-Slices in H.264/AVC zurückgegriffen werden.
  • Ferner wird es bevorzugt, die Aktualisierungsoperatoren und die Prädiktionsoperatoren makroblockweise zu deaktivieren. Je nach Gestalt des Makroblocks, insbesondere eines Bildes (am Ausgang der Einrichtung 1014 in 16) ist bevorzugt, diese beiden Operatoren durch Null-Setzung zu deaktivieren, wie es in 5d gezeigt ist. Diese Betriebsweise wird das INTRA-Makroblock-Modus bezeichnet. Ein solcher Modus im Prädiktionsdatenarray MP spezifiziert, dass in dem entsprechenden Prädiktionsschritt auf Analyseseite die Makroblockabtastwerte des ursprünglichen Tiefpasssignals in das Hochpassbild platziert werden. Für den Aktualisierungsschritt zeigt der INTRA-Makroblock-Modus im Prädiktionsdatenarray MU an, dass auf die Aktualisierung des Tiefpasssignals verzichtet wird, und zwar für den entsprechenden signalisierten Makroblock. Es sei darauf hingewiesen, dass Bewegungsvektoren des Prädiktionsdatenarrays MU, die in den Aktualisierungsschritten verwendet werden, einen Bereich in Hochpassbildern (Erweiterungsbildern) referenzieren können, der teilweise oder vollständig einen INTRA-Makroblock umfasst. Da die INTRA-Makroblöcke in dem Hochpassbild nicht zum Aktualisieren der Tiefpassbilder verwendet werden sollten, werden alle Abtastwerte in den INTRA-Makroblöcken für die Verwendung im Aktualisierungsprozess auf Null gesetzt. Die Verwendung des INTRA-Makroblock-Modus erhöht die Codiereffizienz, besonders für Sequenzen mit starker lokaler Bewegung oder für Sequenzen, bei denen von einem Bild zum anderen bild ein Bildbereich aufgedeckt wird, der im vorherigen Bild verdeckt war.
  • Die Verwendung des INTRA-Makroblock-Modus erlaubt ferner, wie es noch bezugnehmend auf die 6a, 6b und insbesondere 13 erläutert wird, die Erweiterung der Prädiktion nicht nur auf Basisbilder (Tiefpassbilder) (L1), sondern auch auf INTRA-Makroblöcke in Hochpassbildern (Erweiterungsbildern), für die normalerweise keine Prädiktion Sinn machen würde.
  • Bei einem bevorzugten Ausführungsbeispiel wird die Bitrate reduziert, indem nur die Prädiktionsdatenarrays MP übertra gen werden, nicht jedoch die Prädiktionsdatenarrays MU, die in den Aktualisierungsschritten verwendet werden. Statt dessen werden sie von den Prädiktionsdatenarrays MP, die in den Prädiktionsschritten derselben Zerlegung/Zusammensetz-Stufe verwendet werden, abgeleitet.
  • Zur Verwendung des zeitlichen Zerlegungsschemas, das Bezug nehmend auf die 3 bis 5d erläutert worden ist, und das n Zerlegungsstufen hat, wird eine Gruppe von n0 Eingangsbildern in Nn > 0 Tiefpassbilder und N0-Nn Hochpassbilder zerlegt. Der Prädiktionsprozess für die Gruppe von Eingangsbildern wird durch N0-Nn Prädiktionsdatenfelder MP spezifiziert, die in den Prädiktionsschritten und für die Ableitung der Aktualisierungsdatenfelder MU für die Aktualisierungsschritte verwendet werden. Ferner werden mehrere Steuerparameter mit Blick auf die Tiefpasspartitionierung, die Unterdrückung des Aktualisierungsschritts und die Anzahl von aktiven Referenzindizes für jedes Prädiktionsdatenarray MP benötigt. Ferner werden neben den Steuerparametern, die als Teil innerhalb der Slice-Header codiert werden, die N0-Nn Prädiktionsdatenfelder MP und Approximierungen für die Nn Tiefpassbilder und die N0-Nn Hochpassbilder übertragen. Um diese Daten auf sogenannte NAL-Einheiten abzubilden, wird vorzugsweise auf die Slice-Layer-Syntax von H.264/AVC zurückgegriffen.
  • Im Blick auf die Hochpassbilder wird darauf hingewiesen, dass die Hochpassbilder oder Erweiterungsbilder INTRA-Makroblöcke und normale Residual-Makroblöcke umfassen, wobei die Position der INTRA-Makroblöcke auf das entsprechende Prädiktionsdatenfeld MP spezifiziert ist. Da die Residualmakroblöcke Prädiktionsfehler darstellen, wird die Restwertecodierung, wie sie im H.264/AVC Standard spezifiziert ist, einschließlich der Transformation, Skalierung und Quantisierung verwendet. Die INTRA-Makroblöcke stellen dagegen gewissermaßen ursprüngliche Abtastwerte dar, weshalb die INTRA-Codierung, wie sie in H.264/AVC spezifiziert ist, verwendet wird, einschließlich der INTRA-Prädiktion und Transformation, Skalierung und Quantisierung. Für die Codierung der INTRA-Makroblöcke werden alle INTRA-Makroblock-Modi, die in H.264/AVC spezifiziert sind. Da jedoch INTRA-Makroblöcke nicht aus benachbarten Residual-Makroblöcken prädiziert werden sollen, wird ein entsprechendes Flag gesetzt.
  • Tiefpassbilder können als Originalbilder interpretiert werden, und sie werden allgemein gesagt unter Verwendung der Syntax von H.264/AVC codiert. In der einfachsten Version werden alle Tiefpassbilder unabhängig als INTRA-Bilder unter Verwendung von lediglich I-Slices codiert. Allgemein kann auch nur das erste Tiefpassbild einer Gruppe von Bildern als INTRA-Bild codiert werden, und alle verbleibenden Tiefpassbilder innerhalb dieser Gruppe von Bildern werden als prädiktive Bilder unter Verwendung irgendeiner Kombination von I-, P- und B-Slices codiert, wobei vorhergehende Tiefpassbilder derselben Gruppe von Bildern als Referenz für die bewegungskompensierte Prädiktion verwendet werden können. Falls die Zerlegung einer Gruppe von Bildern derart durchgeführt wird, dass mehr als ein Tiefpassbild erhalten wird, wird eine erhöhte Codiereffizienz erreicht, wobei immer noch eine Zugriffsmöglichkeit auf Ebene der Gruppe von Bildern geschaffen wird, da ein beliebig wählbarer Zugriff nur für ein INTRA-Bild stattfinden kann.
  • Besonders für Sequenzen mit hohem örtlichen Detail und langsamer Bewegung kann die Codiereffizienz erhöht werden, wenn Korrelationen zwischen aufeinanderfolgenden Gruppen von Bildern ausgenutzt werden. Somit werden allgemein gesagt alle Tiefpassbilder als prädiktive Bilder (I-, P- oder B-Slices) codiert, wobei rekonstruierte Tiefpassbilder einschließlich der Tiefpassbilder der vorhergehenden Gruppe als Referenz verwendet werden. IDR-Bilder (INTRA-Bilder) werden in regelmäßigen Intervallen eingefügt, um direkt Zugriffspunkte zu liefern. Auf Decodiererseite werden Tiefpassbilder decodiert und rekonstruiert, wie es gemäß H.264/AVC spezifiziert ist, und zwar einschließlich der Deblocking-Filter-Operation.
  • Wie es bereits ausgeführt worden ist, liefert die zeitliche Zerlegung, die im Hinblick auf 3 und 4 dargestellt worden ist, eine zeitliche Skalierbarkeit. Wenn n Zerlegungsstufen (in 3 ist n gleich 4) verwendet werden, können bis zu n Ebenen einer zeitlichen Skalierbarkeit geschaffen werden.
  • Für Gruppen von N0 > 2 Bildern ist es im Allgemeinen vorteilhaft, eine Multikanalzerlegung anstatt einer Zweikanalzerlegung zu verwenden. Daher wird die dargestellte Zweikanalzerlegung iterativ auf den Satz von Tiefpassbildern angewendet, bis ein einziges Tiefpassbild erhalten wird, oder bis eine gegebene Anzahl von Zerlegungsstufen angewendet worden ist. Das Anwenden von n-Zerlegungsstufen kann bis zu n Ebenen einer zeitlichen Skalierbarkeit realisiert werden. Bei dem in 12 gezeigten Beispiel werden vier zeitliche Skalierbarkeitsebenen verwendet. Insbesondere wird eine zeitliche Zerlegung von einer Gruppe von zwölf Bildern zur Verwendung von drei Stufen erreicht, wobei die Basisschicht als Skalierbarkeitsstufe mitgezählt wird.
  • Wenn nur die Tiefpassbilder L3 verwendet werden, die nach der dritten (höchsten) Zerlegungsstufe ermittelt werden, hat die Bildsequenz aus lediglich den Bildern L3 für mehrere Gruppen 1/12 der zeitlichen Auflösung der Eingangssequenz. Diese Bildsequenz wird auch als zeitliche Basisschicht bezeichnet. Durch zusätzliches Übertragen der Hochpassbilder H3 und der entsprechenden Prädiktionsdatenfelder, die diesen Hochpassbildern (Erweiterungsbildern) zugeordnet sind, kann der Decodierer eine Approximation der Bildsequenz rekonstruieren, die ein Viertel der zeitlichen Auflösung der Eingangssequenz hat. Die Hochpassbilder und die entsprechenden Prädiktionsdatenarrays MP 3 werden auch als erste zeitliche Verbesserungsschicht bezeichnet.
  • Durch weiteres Hinzufügen der Hochpassbilder H2 und der Prädiktionsdatenarrays MP 2 kann eine Bildsequenz mit der halben zeitlichen Auflösung rekonstruiert werden. Schließlich, wenn auch die verbleibenden Hochpassbilder H1 und die Prädiktionsdatenarrays M1 übertragen werden, kann eine rekonstruierte Version der ursprünglichen Eingangssequenz mit der vollen zeitlichen Auflösung erhalten werden. Allgemein kann durch Verwendung von n Zerlegungsstufen die Zerlegungsstruktur derart entworfen werden, dass n Ebenen einer zeitlichen Skalierbarkeit geliefert werden, mit zeitlichen Auflösungs-Umwandlungsfaktoren von 1/m0, 1/(m0 m1), ..., 1/(m0 m1...mn-1), wobei mi irgend eine Ganzzahl größer als 0 darstellt. Daher kann eine Bildsequenz in Gruppen von N0 = (j m0 m1...mn-1) Bildern codiert werden, wobei j eine ganze Zahl größer als 0 ist. Es sei darauf hingewiesen, dass die Größe der Gruppe von Bildern innerhalb der Bildsequenz nicht unbedingt konstant sein muss.
  • Wenn die Abtastperiode zwischen aufeinander folgenden Bildern einer rekonstruierten Bildsequenz nicht konstant ist, ist auch eine zeitliche Skalierbarkeit mit mittleren zeitlichen Auflösungsumwandlungsfaktoren von k0/m0, (k0 k1)/(m0 m1), ...(k0 k1...kn-1)/m0 m1 ...mn-1) möglich, wobei ki irgendeine ganze Zahl größer als 0 darstellt, und wobei mi eine ganze Zahl größer als ki und kleiner als 2 ki darstellt. In dem oben beschriebenen Fall muss eine Bildsequenz in Gruppen von n0 = (j m0 m1 ... mn-1) Bildern codiert werden, wobei j eine ganze Zahl größer als 0 ist.
  • Die Struktur mit offener Schleife des oben dargestellten Subband-Lösungsansatzes zur zeitlichen Skalierbarkeit liefert auch die Möglichkeit, eine SNR-Skalierbarkeit effizient einzubauen. 14 zeigt den Fall verschiedener SNR-Skalierungsschichten und auch verschiedener örtlicher (spatial) Skalierungsschichten, bei dem sowohl in der Basisschicht als auch in den Erweiterungsschichten eine Prädiktion innerhalb der Skalierungsschichten der Basisbilder (Tiefpass-Bilder) durchgeführt werden kann. Besonders für Videosequenzen mit einem hohen örtlichen Detail und langsamer Bewegung dient die Prädiktion zur Verbesserung der Codiereffizienz, wenn nicht nur für die Basisschicht, sondern auch für die Erweiterungsschichten für die Tiefpass-Bilder eine bewegungs-kompensierte Prädiktion zugelassen wird.
  • Während die Erweiterungsschicht-Darstellungen der Hochpass-Bilder ausschließlich von der unteren Skalierungsschicht prädiziert werden, wie es durch die senkrechten gestrichelten Pfeile in 14 dargestellt ist, können Makroblöcke der Tiefpassbilder in den Erweiterungsschichten sowohl aus der darunter liegenden Skalierungsschicht als auch aus vorher rekonstruierten Tiefpass-Bildern derselben Skalierungs schicht prädiziert werden. Alternativ können auch die INTRA-Modi, die im Standard vorgesehen sind, verwendet werden. In 14 ist die Basisschicht-Prädiktion durch gestrichelte Pfeile dargestellt, während die durchgezogenen Pfeile eine Bewegungs-kompensierte Prädiktion darstellen, wobei die Prädiktion zwischen zeitlich aufeinander folgenden Basisbildern L durchgeführt werden kann, oder wobei auch eine Prädiktion zwischen zeitlich weiter voneinander beabstandeten Basisbildern durchgeführt werden kann, wie es durch den langen durchgezogenen Pfeil bei jeder Skalierungsschicht in 14 dargestellt ist. Es sei darauf hingewiesen, dass alternativ zu der in 14 dargestellten Ausführungsform, bei der eine Base-Layer-Prädiktion von Tiefpaß- und Hochpassbildern der nächsten örtlich feineren oder genauer quantisierten Skalierungsschicht aus entsprechenden Tiefpaß- und Hochpassbildern der niedrigeren Schicht durchgeführt wird, auch insbesondere für die örtliche Skalierungsschicht eine Rekonstruktion der niedrigeren Schicht durch inverse bewegungskompensierte Filterung durchgeführt werden kann, um dann mit den rekonstruierten Bildern das Tiefpassbild der höheren Schicht und Intra-Blöcke in den Erweiterungsbildern der höheren Schicht zu prädizieren.
  • Die erfindungsgemäße örtliche Skalierbarkeit wird nachfolgend bezugnehmend auf die in 13 gezeigte Darstellung erläutert. 13 zeigt eine örtliche Basisschicht als Form einer rekonstruierten Sequenz ganz oben in 13 und einer rekonstruierten und hochgetasteten Sequenz, wie sie am Ausgang der Einrichtung 1010 in 16 zum Beispiel vorliegt. Die Rekonstruktion der örtlichen Basisschicht hat beispielsweise unter Verwendung des Lifting-Schemas, wie es in 3 und 4 dargestellt worden ist, stattgefunden.
  • Alternativ hat die Codierung der örtlichen Basisschicht auch unter Verwendung der normalen Standard H.264/AVC-Codierung stattgefunden. Die rekonstruierten Bilder L0 der Basisschicht werden örtlich um den Faktor k/m abgetastet (k>m>1), so dass die rekonstruierten Bilder L0* mit derselben örtlichen Auflösung vorliegen wie die Bilder der nächsten örtlichen Erweiterungsschicht. Diese abgetasteten Bilder werden erfindungsgemäß nunmehr zum Prädizieren der INTRA-Makroblöcke in den Subband-Bildern der nächsten örtlichen Skalierungsschicht verwendet. Es sei darauf hingewiesen, dass dies erfindungsgemäß immer für die Makroblöcke der Tiefpass-Bilder durchgeführt wird, also zur Prädiktion von L1. Aufgrund des erfindungsgemäß ermöglichten INTRA-Modus, bei dem die Operatoren P und O deaktiviert werden können, können auch mehrere Makroblöcke innerhalb der Hochpass-Bilder im INTRA-Modus codiert werden. Diese INTRA-Makroblöcke sind in 13 als graue Rechtecke in den zeitlichen Subband-Bildern, also in den Erweiterungsbildern H1 gezeigt. Aus 13 ist auch die Zuordnung zwischen einem Hochpass-Bild und einem rekonstruierten und hochabgetasteten Bild der Basisschicht gezeigt, derart, dass ein INTRA-Makroblock in einem Hochpass-Bild aus dem entsprechenden Makroblock des Bilds der Basisschicht vorhergesagt werden kann.
  • Somit kann ein beliebiger Pegel an örtlicher Skalierbarkeit erreicht werden. Die INTRA-Makroblöcke verwenden die hochabgetastete örtliche Basisschicht als Prädiktions-Signal verwenden, wobei jedoch im Falle der örtlichen Skalierbarkeit das Basis-Layer-Signal unter Verwendung einer inversen bewegungskompensierten Filterung rekonstruiert und dann hoch-abgetastet wird, bevor es als Prädiktions-Signal für höhere Skalierungsschichten eingesetzt wird. Ferner sei noch einmal darauf hingewiesen, dass vorzugsweise die Positionen der INTRA-Makroblöcke in einem Hochpass-Bild durch das entsprechende Prädiktionsdaten-Array MP signalisiert werden. Ferner werden in den örtlichen Skalierungsschichten dann, wenn gleichzeitig eine Subband-Zerlegung angewendet worden ist, neben den Prädiktionsdaten-Arrays MP auch die Erweiterungsschicht-Darstellung der entsprechenden Subbandbilder übertragen.
  • Vorzugsweise werden die Tiefpass-Bilder der örtlichen Erweiterungsschicht unter Verwendung einer spezifizierten Syntax codiert. Ferner sei darauf hingewiesen, dass mit dem dargestellten Konzept die örtliche Auflösung von einer Schicht zur nächsten durch einen beliebigen Faktor k/m erhöht werden kann, wobei k>m>1 gilt. Es ist jedoch dann nötig, einen Satz von entsprechenden Interpolationsfiltern zu definieren und, wenn die Interpolationsfilter nicht zwischen Codierer und Decodierer fest vereinbart sind, zu übertragen. Im Falle eines örtlichen Auflösungs-Umwandlungsfaktors von 2 wird es bevorzugt, ein 6-Tap-Interpolationsfilter {1, - 5,20, 20 - 5,1} zu nehmen, das in H.264/AVC für die Halb-Abtastwert-Interpolation definiert ist.
  • Nachfolgend wird bezugnehmend auf 6a das anhand der 13 und 14 dargestellte Konzept noch einmal erläutert. Insbesondere stellt 6a eine Kopplung der MCTF-Einrichtung 1014 mit einer Prädiktorstufe 1016a in der Einrichtung 1016 zum Verarbeiten dar. Insbesondere ist die Einrichtung 1014, wie sie in 16 gezeigt ist, eine Einrichtung zur Bewegungs-kompensierten zeitlichen Filterung, wobei die Einrichtung ausgebildet ist, wie es anhand der
  • 3, 4 und der in 5a bis 5d gezeigten Gleichungen dargestellt ist. Insbesondere erhält die Einrichtung 1014 somit die Referenzindizes aus 5c, Prädiktor-Steuerungssignale und Aktualisierer-Steuerungssignale, um in bestimmten Makroblöcken einen INTRA-Modus zu aktivieren, derart, dass im Erweiterungsbild anstatt der eigentlich dort stehenden Hochpass-Informationen Tiefpass-Informations-Makroblöcke eingefügt werden. Ferner wird der Einrichtung 1014 ein Satz von Bewegungsfeldern für die Erweiterungsbilder, die die Hochpass-Informationen erhalten sollen, zugeführt. Diese Bewegungsfelder werden auch als Seiteninformationen zum Decodierer übertragen. Der Decodierer erhält ferner als Seiteninformationen auch P- oder U-Steuerungssignale, die wie es ausgeführt worden ist, vorzugsweise in den Bewegungsarrays MP enthalten sind. Ausgangsseitig liefert die Einrichtung 1014 Basisbilder mit Tiefpass-Informationen und Erweiterungsbilder mit Hochpass-Informationen, die, wie es ausgeführt worden ist, vorzugsweise auch INTRA-Blöcke umfassen. Diese Bilder werden einer nachgeschalteten Prädiktorstufe 1016a zugeführt, die sowohl einen Prädiktor für das bzw. die Basisbilder als auch einen Prädiktor für möglicherweise vorhandene INTRA-Blöcke in den Erweiterungsbildern umfasst, um die in 13 gezeichneten senkrechten gestrichelten Pfeile zu implementieren. Zur Berechnung des Prädiktions-Restsignals erhält der Prädiktor 1016a auch ein korrespondierendes Bild aus der ersten Skalierungsschicht, das in 13 jeweils durch die Pfeilspitze signalisiert ist. Um die Skalierungsschicht-interne Prädiktion zu implementieren, erhält der Prädiktor 1016a auch ein zeitlich früheres oder bei Nicht-Echtzeitanwendungen auch ein zeitlich späteres Bild aus der z. B. zweiten Skalierungsschicht, also aus derselben Skalie rungsschicht, für die die Einrichtung 1016a die Basisbilder und die Erweiterungsbilder erzeugt.
  • Ausgangsseitig wird die Einrichtung 1016a somit ebenfalls prädizierte Basisbilder und Erweiterungsbilder mit gegebenenfalls prädizierten INTRA-Blöcken liefern, die dann Makroblock-weise, wie es im Video-Standard H.264/AVC spezifiziert ist, transformiert, skaliert/quantisiert und schließlich Entropie-codiert werden, um die zweite Skalierungsschicht am Ausgang 1018 von 16 zu liefern.
  • 6b zeigt einen zu 6a inversen Schaltungsaufbau für den Decodierer. Im einzelnen ist in 6b somit eine spezielle Implementierung der Weiterverarbeitungseinrichtung 1040 gezeigt. Die Weiterverarbeitungseinrichtung 1040 umfasst wieder eine Prädiktionsstufe. Nachgeschaltet ist wieder die Filterstufe 1042. Die Prädiktorstufe erhält die decodierten Basisbilder sowie die decodierten Erweiterungsbilder, wobei im Falle einer Prädiktion korrespondierende Bilder aus der unteren Skalierungsschicht oder bereits rekonstruierte Bilder aus derselben Skalierungsschicht, die zur Prädiktion verwendet werden, zugeführt werden, um die Verwendung der bezüglich der Einrichtung 1040 eingangsseitig vorhandenen Restwerte die Prädiktion rückgängig zu machen. Dies gilt sowohl für die prädizierten Basisbilder als auch für die Erweiterungsbilder mit den prädizierten INTRA-Blöcken. Im Falle einer vorhandenen Prädiktion von INTRA-Blöcken in Erweiterungsbildern wird die Prädiktorstufe 1040 bei dem bevorzugten Ausführungsbeispiel auch Bewegungsfeld-Array-Informationen MP erhalten, da vorzugsweise in diesen Bewegungsfeldern die Position der INTRA-Blöcke in den Erweiterungsbildern spezifiziert ist.
  • Am Ausgang der Prädiktorstufe 1040 liegen somit wieder rekonstruierte Bilder vor, die jedoch Tiefpass-Bilder und Hochpass-Bilder sind. Um zu den rekonstruierten Bildern zu kommen, werden diese Bilder der Einrichtung 1042 zur Bewegungskompensierten inversen zeitlichen Filterung zugeführt, die vorzugsweise so ausgebildet ist, wie in 4 (Decodierer) und 3 (Decoder) dargestellt ist. Nach der Einrichtung 1042 liegen somit wieder rekonstruierte Bilder der entsprechenden Skalierungsschicht vor.
  • Nachfolgend wird zur Darstellung der Flexibilität der vorliegenden Erfindung ein Beispiel für eine kombinierte Skalierbarkeit gegeben. Die Konzepte der zeitlichen, Signal/Rausch- und örtlichen Skalierbarkeit können erfindungsgemäß kombiniert werden, um ein allgemeines skalierbares Codierschema zu schaffen, das eine große Menge an zeitlicher, SNR- und örtliche Skalierbarkeit hat. In 15 ist ein Beispiel für eine kombinierte Skalierbarkeit dargestellt. Bei diesem Beispiel ist die örtliche Basisschicht QCIF unter Verwendung des üblichen H.264/AVC-Codierschemas codiert, wobei jedes zweite Bild als Nicht-Referenz-Bild unter Verwendung der B-Slice-Syntax übertragen wird. Somit ergibt sich bereits für die örtliche Basisschicht eine zeitliche Skalierbarkeitsebene. Wenn nur die Basisbilder I, P übertragen und decodiert werden (Layer 0), kann eine rekonstruierte Sequenz mit einer Framerate (Bildrate) von 7,5 Hz erhalten werden. Diese hat jedoch eine erste geringe Auflösung in örtlicher Hinsicht. Durch zusätzliches Übertragen der Nicht-Referenz-Bilder B kann die Framerate der rekonstruierten Sequenz auf 15 Hz erhöht werden, jedoch ebenfalls noch mit der geringen örtlichen Auflösung. Es ist zu sehen, dass die gesamte Ebene an zeitlicher Skalierbarkeit erreicht werden kann, wenn die örtliche Basisschicht unter Verwendung des flexibleren MCTF-Codierschemas, das in den 3 und 4 dargestellt ist, codiert wird.
  • Zum Codieren der örtlichen Verbesserungsschicht mit einer CIF-Auflösung und einer maximalen Framerate von 30 Hz wird das MCTF-Codierschema mit n-Zerlegungsstufen verwendet. Zunächst wird eine Darstellung der dritten skalierbaren Schicht (Schicht 2) erhalten, und zwar durch örtliches Upsampeln, ggf. Prädizieren und zeitliches Zerlegen etc., wie es in 16 und 17a, 17b dargestellt ist. Zur Veranschaulichung der verbesserten örtlichen Auflösung sind die Bilder mit der besseren örtlichen Auflösung in 15 als größere Rauten gezeichnet. Ferner werden, wie es rechts in 15 gezeigt ist, die zu den Erweiterungsbildern gehörenden Bewegungs-Arrays MP übertragen. Für die nächste Verbesserungsschicht (Layer 3) werden verfeinerte Signale für die Tiefpass-Bilder und die Hochpass-Bilder hinzugefügt. Die Schicht 3 ist somit eine reine SNR-Skalierungsschicht, die dieselbe örtliche Auflösung und zeitliche Auflösung hat wie Schicht 2, wobei jedoch Schicht 3 eine feinere Quantisierer-Schrittweite als Schicht 2 hatte. Die vierte Schicht stellt die nächste zeitliche und SNR-Verbesserungsschicht dar, wobei weitere Verfeinerungen der Subband-Bilder und zusätzlich erste Approximationen für die Hochpass-Bilder codiert werden, und wobei natürlich die entsprechenden Prädiktions-Datenfelder MP benötigt werden. Für die letzte Verbesserungsschicht, die lediglich eine SNR-Verbesserungsschicht darstellt, werden Verfeinerungssignale aller Subband-Bilder übertragen.
  • Erfindungsgemäß werden die Verfahren zum Verarbeiten in Software implementiert. Die Implementierung kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computer-Programm-Produkt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des Verfahrens, wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In anderen Worten ausgedrückt ist die Erfindung somit ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens, wenn das Computer-Programm auf einem Computer abläuft.

Claims (21)

  1. Computerprogramm mit einem Programmcode zum Durchführen eines Verfahrens zum Verarbeiten einer Gruppe von Bildern, die eine zeitliche Reihenfolge aufweisen, wenn das Computerprogramm auf einem Rechner abläuft, wobei das Verfahren folgende Schritte aufweist: Bewegungs-kompensiertes Filtern (1102) der Gruppe von Bildern, um ein Basisbild und wenigstens ein Erweiterungsbild zu erhalten, wobei das Basisbild Tiefpassinformationen aus der Gruppe von Bildern aufweist, und wobei das Erweiterungsbild Hochpassinformationen aus der Gruppe von Bildern oder Tiefpassinformationen aus der Gruppe von Bildern aufweist; Berechnen (1108) eines Nutzens einer Bewegungskompensation für einen Block von Werten eines Bildes der Gruppe von Bilder; und Steuern (1104) des Schritts des Bewegungskompensierten Filterns, um für einen Block von Werten in dem Erweiterungsbild statt der Hochpassinformationen Tiefpassinformationen einzufügen.
  2. Computerprogramm nach Anspruch 1, bei dem der Schritt des Bewegungs-kompensierten Filterns (1102) folgende Schritte aufweist: Berechnen (43, 44), durch Prädiktion, eines Blocks von Werten des Erweiterungsbildes unter Verwendung eines Blocks von einer Bewegungskompensation unterzogenen Werten eines Bildes und eines Blocks von Werten eines anderen Bildes der Gruppe von Bildern; Berechnen (45, 46), durch Aktualisierung, eines Blocks von Werten des Basisbildes unter Verwendung eines Blocks von Werten des einen Bildes und unter Verwendung eines Blocks von einer Bewegungskompensation unterzogenen Werten des anderen Bildes, wobei die Schritte des Berechnens durch Prädiktion oder durch Aktualisierung durch den Schritt des Steuerns (1104) deaktiviert werden, so dass der Block von Werten des Erweiterungsbildes gleich dem Block von Werten des anderen Bildes ist, oder der Block von Werten des Basisbildes gleich dem Block von Werten des einen Bildes ist.
  3. Computerprogramm nach Anspruch 2, bei dem der Schritt des Berechnens durch Prädiktion folgende Schritte aufweist: Subtrahieren (44) des Blocks von einer Bewegungskompensation unterzogenen Werten des einen Bildes von einem Block von Werten des anderen Bildes; und Kombinieren des Blocks von Werten des einen Bildes mit einem Bewegungsvektor unter Verwendung eines Prädiktionsoperators.
  4. Computerprogramm nach Anspruch 2 oder 3, bei dem der Schritt des Berechnens durch Aktualisieren folgende Schritte aufweist: Addieren (46) eines Blocks von Werten des einen Bildes mit einem einer Prädiktion mit dem Block von Werten des einen Bildes unter Berücksichtigung einer Bewegungskompensation unterzogenen Block von Werten des anderen Bildes; und Kombinieren (45) des Blocks von prädizierten Werten des anderen Bildes mit dem Bewegungsvektor unter Verwendung eines Aktualisierungsoperators.
  5. Computerprogramm nach Anspruch 3, bei dem der Prädiktionsoperator P ausgebildet ist, um folgende Operation durchzuführen:
    Figure 00680001
    wobei s [x,k] ein Videosignal mit der Raumkoordinate x=x,y)T und der Zeitkoordinate k ist, wobei mP0 ein Bewegungsvektor für einen Block ist, und wobei rP0 ein Referenzindex für einen Block ist.
  6. Computerprogramm nach Anspruch 4, bei dem der Aktualisierungsoperator U (45) ausgebildet ist, um die folgende Operation durchzuführen:
    Figure 00680002
    wobei s [x,k] ein Videosignal mit der Raumkoordinate x=x,y)T und der Zeitkoordinate k ist, wobei mU0 ein Bewegungsvektor für einen Block ist, und wobei rU0 ein Referenzindex für einen Block ist.
  7. Computerprogramm nach Anspruch 3, bei dem der Prädiktionsoperator P ausgebildet ist, um folgende Operation durchzuführen P5,3(s[x,2k+1]) = ½(s[x+mP0, 2k – 2rP0] + s[x+mP1, 2k + 2 + 2rP1])wobei s [x,k] ein Videosignal mit der Raumkoordinate x=x,y)T und der Zeitkoordinate k ist, wobei mP0 und mP1 Bewegungsvektoren sind, und wobei rP0 und rP1 Referenzindizes sind.
  8. Computerprogramm nach Anspruch 4, bei dem der Aktualisierungsoperator ausgebildet ist, um folgende Operation durchzuführen: U5/3(s[x,2k]) = ¼(h[x + mU0, k + rU0] + h[x + mU1, k – 1 – rU1])wobei s [x,k] ein Videosignal mit der Raumkoordinate x=x,y)T und der Zeitkoordinate k ist, wobei mU0 und mU1 Bewegungsvektoren sind, und wobei rU0 und rU1 Referenzindizes sind.
  9. Computerprogramm nach Anspruch 3, 5 oder 7, bei dem der Schritt des Steuerns (1104) ausgebildet ist, um den Prädiktionsoperator zu Null zu setzen.
  10. Computerprogramm nach Anspruch 4, 6, 8, bei dem Schritt des Steuerns (1104) ausgebildet ist, um den Aktualisierungsoperator zu Null zu setzen.
  11. Computerprogramm nach einem der vorhergehenden Ansprüche, bei dem das Verfahren ausgebildet ist, um aus gangsseitig einen Bitstrom zu erzeugen, der das Basisbild und das Erweiterungsbild aufweist, und der ferner Seiteninformationen umfasst, die anzeigen, ob ein Block von Werten des Erweiterungsbildes Tiefpassinformationen umfasst.
  12. Computerprogramm nach einem der vorhergehenden Ansprüchen, bei dem im Schritt des Bewegungs-kompensierten Filterns (1102) als Tiefpassinformationen ein Block von Werten eines Bildes der Gruppe von Bildern als Block von Werten des Erweiterungsbildes verwendet wird.
  13. Computerprogramm nach einem der vorhergehenden Ansprüche, bei dem im Schritt des Berechnens (1108) des Nutzens eine Bewegungs-kompensierte Version eines Blocks von Werten eines Bildes mit einem Block von Werten des anderen Bildes verglichen wird, und bei dem im Schritt des Steuerns (1104) bei Überschreiten einer bestimmten Abweichung der Schritt des Bewegungskompensierten Filterns (1102) gesteuert wird.
  14. Computerprogramm nach Anspruch 13, bei dem der Schritt des Berechnens (1108) des Nutzens eine geschätzte Bitmenge, die zum Codieren einer Abweichung zwischen den beiden Blöcken von Werten benötigt wird, bei der Berechnung des Nutzens berücksichtigt.
  15. Computerprogramm nach einem der vorhergehenden Ansprüche, bei dem ein Bild in eine Vielzahl von Blöcken aufgeteilt ist, und bei dem die Schritte des Filterns (1102), des Berechnens (1108) des Nutzens und des Steuerns (1104) blockweise arbeiten.
  16. Computerprogramm mit einem Programmcode zum Durchführen eines Verfahrens zum Verarbeiten eines Basisbildes und eines oder mehrerer Erweiterungsbilder, um eine Gruppe von Ausgangsbildern zu erzeugen, die eine zeitliche Reihenfolge aufweisen, wobei das Basisbild Tiefpassinformationen aus der Gruppe von Bildern aufweist, und wobei das Erweiterungsbild Hochpassinformationen oder Tiefpassinformationen aus der Gruppe von Bildern aufweist, und wobei Steuerinformationen gegeben sind, die anzeigen, ob in einem Block von Werten des Erweiterungsbildes statt Hochpassinformationen Tiefpassinformationen vorhanden sind, wenn das Computerprogramm auf einem Rechner abläuft, wobei das Verfahren folgende Schritte aufweist: Bewegungs-kompensiertes inverses Filtern (1132) des Basisbildes und des Erweiterungsbildes, um die Gruppe von Ausgangsbildern zu erhalten, wobei in einem Fall, in dem die Steuerinformationen anzeigen, dass ein Block von Werten des Erweiterungsbildes Tiefpassinformationen statt Hochpassinformationen hat, bei einer Erzeugung eines Blocks von Werten eines Ausgabebildes eine Verwendung eines Blocks von Werten des Basisbildes unterdrückt wird.
  17. Computerprogramm nach Anspruch 16, bei dem der Schritt (1132) des Bewegungs-kompensierten Filterns einen Prädiktionsschritt (43, 53) zum Berechnen eines Blocks von Werten eines Ausgabebildes unter Verwendung eines Blocks von Werten des Erweiterungsbildes und eines Blocks von Werten des Basisbildes aufweist, und bei dem das Verfahren ferner einen Aktualisierungsschritt (45, 52) zum Berechnen eines Blocks des anderen Bildes unter Verwendung eines Blocks von Werten des Basisbildes und eines Blocks von Werten des Erweiterungsbildes aufweist.
  18. Computerprogramm nach Anspruch 17, bei dem der Prädiktionsschritt folgende Schritte aufweist: Durchführen (43) einer Prädiktion unter Verwendung eines aktualisierten Blocks des Basisbildes, um einen prädizierten Block des Basisbildes zu erhalten, unter Verwendung eines Prädiktionsoperators; und Addieren des prädizierten Blocks des Basisbildes zu einem Block des Erweiterungsbildes, um einen Block eines Ausgabebildes zu erhalten.
  19. Computerprogramm nach Anspruch 17, bei dem der Schritt des Aktualisierees folgende Schritte aufweist: Berechnen eines Blocks von Werten des Erweiterungsbildes unter Verwendung von Bewegungsinformationen, um einen aktualisierten Block des Erweiterungsbildes zu erhalten, unter Verwendung eines Aktualisierungsoperators; und Subtrahieren (52) des aktualisierten Blocks von Werten des Erweiterungsbildes von einem Block von Werten des Basisbildes, um einen Block eines anderen Ausgabebildes zu erhalten.
  20. Computerprogramm nach Anspruch 18 oder 19, bei dem der Prädiktionsoperator (43) oder der Aktualisierungsoperator (45) ausgebildet sind, um in einem Fall, in dem das Erweiterungsbild Tiefpassinformationen umfasst, Null-Ausgangswerte zu liefern.
  21. Computerprogramm nach einem der Ansprüche 16 bis 20, bei dem das Verfahren ferner folgende Schritte aufweist: Extrahieren (1130) der Steuerinformationen aus einem Datenstrom; und Steuern (1133) des Schritts (1132) des Bewegungskompensierten Filterns ansprechend auf die Steuerinformationen.
DE102004063902A 2004-03-09 2004-03-09 Computerprogramm mit einem Verfahren zum Verarbeiten einer Gruppe von Bildern und mit einem Verfahren zum Verarbeiten eines Basisbildes und eines oder mehrerer Erweiterungsbilder Expired - Lifetime DE102004063902B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200410011422 DE102004011422B4 (de) 2004-03-09 2004-03-09 Vorrichtung und Verfahren zum Verarbeiten einer Gruppe von Bildern und Vorrichtung und Verfahren zum Verarbeiten eines Basisbildes und eines oder mehrerer Erweiterungsbilder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200410011422 DE102004011422B4 (de) 2004-03-09 2004-03-09 Vorrichtung und Verfahren zum Verarbeiten einer Gruppe von Bildern und Vorrichtung und Verfahren zum Verarbeiten eines Basisbildes und eines oder mehrerer Erweiterungsbilder

Publications (2)

Publication Number Publication Date
DE102004063902A1 DE102004063902A1 (de) 2005-09-29
DE102004063902B4 true DE102004063902B4 (de) 2006-03-02

Family

ID=34895063

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004063902A Expired - Lifetime DE102004063902B4 (de) 2004-03-09 2004-03-09 Computerprogramm mit einem Verfahren zum Verarbeiten einer Gruppe von Bildern und mit einem Verfahren zum Verarbeiten eines Basisbildes und eines oder mehrerer Erweiterungsbilder

Country Status (2)

Country Link
DE (1) DE102004063902B4 (de)
WO (1) WO2005091641A1 (de)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1525749A1 (de) * 2002-07-17 2005-04-27 Koninklijke Philips Electronics N.V. Videocodierungsverfahren und einrichtung

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NICHTS ERMITTELT *

Also Published As

Publication number Publication date
WO2005091641A1 (de) 2005-09-29
DE102004063902A1 (de) 2005-09-29

Similar Documents

Publication Publication Date Title
DE102004059993B4 (de) Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Bewegungsdaten-Prädiktion sowie Computerprogramm und computerlesbares Medium
DE69633129T2 (de) Waveletbaum-bildcoder mit überlappenden bildblöcken
DE10190285B4 (de) Verfahren und System zur Verarbeitung von komprimierten Videosignalen
DE60027955T2 (de) Verfahren und Vorrichtung zur kontextbasierten Inter/Intra Kodierungsmodeauswahl
DE69735838T2 (de) Videokodierer mit Transformationskoeffizientenprädiktion
DE112017006638T5 (de) Verbesserte Videobitstromkodierung
DE202016008175U1 (de) Adaptive gerichtete Intra-Prädiktion mit Blockgröße
DE112016005457T5 (de) Effiziente, kompatible und skalierbare Intra-Video/Bild-Codierung unter Verwendung von Wavelets und HEVC-Codierung
DE60317670T2 (de) Verfahren und Vorrichtung zur 3D-Teilbandvideokodierung
DE112018005899T5 (de) System und Verfahren zum Konstruieren einer Ebene für planare Prädiktion
EP1774790B1 (de) Verfahren und vorrichtung zum codieren und decodieren
DE69915843T2 (de) Teilbandkodierung/-dekodierung
DE10343220B3 (de) Verfahren und Vorrichtung zur Transcodierung eines Datenstroms, der ein oder mehrere codierte digitalisierte Bilder umfasst
DE10204617B4 (de) Verfahren und Vorrichtungen zur Kompression und Dekompression eines Videodatenstroms
DE112015001531T5 (de) Datenkodierung und Dekodierung
WO2006042612A1 (de) Vorrichtung und verfahren zum erzeugen einer codierten videosequenz und zum decodieren einer codierten videosequenz unter verwendung einer zwischen-schicht-restwerte-praediktion
WO2006042611A1 (de) Vorrichtung und verfahren zum erzeugen einer codierten videosequenz unter verwendung einer zwischen-schicht-bewegungsdaten-prädiktion
DE10022520A1 (de) Verfahren zur örtlichen skalierbaren Bewegtbildcodierung
DE60210757T2 (de) Vorrichtung zur videokodierung und -aufzeichnung
DE102004063902B4 (de) Computerprogramm mit einem Verfahren zum Verarbeiten einer Gruppe von Bildern und mit einem Verfahren zum Verarbeiten eines Basisbildes und eines oder mehrerer Erweiterungsbilder
DE102004011422B4 (de) Vorrichtung und Verfahren zum Verarbeiten einer Gruppe von Bildern und Vorrichtung und Verfahren zum Verarbeiten eines Basisbildes und eines oder mehrerer Erweiterungsbilder
EP1285537B1 (de) Verfahren und eine anordnung zur codierung bzw. decodierung einer folge von bildern
DE102004011421B4 (de) Vorrichtung und Verfahren zum Erzeugen eines skalierten Datenstroms
DE10219640B4 (de) Verfahren zum Codieren und Decodieren von Videosequenzen und Computerprogrammprodukt
EP1869890B1 (de) Verfahren und vorrichtung zur reduktion eines quantisierungsfehlers

Legal Events

Date Code Title Description
AC Divided out of

Ref document number: 102004011422

Country of ref document: DE

Kind code of ref document: P

OP8 Request for examination as to paragraph 44 patent law
AC Divided out of

Ref document number: 102004011422

Country of ref document: DE

Kind code of ref document: P

AC Divided out of

Ref document number: 102004011422

Country of ref document: DE

Kind code of ref document: P

AC Divided out of

Ref document number: 102004011422

Country of ref document: DE

Kind code of ref document: P

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee
8370 Indication related to discontinuation of the patent is to be deleted
R071 Expiry of right