PatentDe  


Dokumentenidentifikation DE102004011421A1 10.11.2005
Titel Vorrichtung und Verfahren zum Erzeugen eines skalierten Datenstroms
Anmelder Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V., 80686 München, DE
Erfinder Marpe, Detlev, 12161 Berlin, DE;
Schwarz, Heiko, 13187 Berlin, DE;
Wiegand, Thomas, 10789 Berlin, DE
Vertreter Schoppe, Zimmermann, Stöckeler & Zinkler, 82049 Pullach
DE-Anmeldedatum 09.03.2004
DE-Aktenzeichen 102004011421
Offenlegungstag 10.11.2005
Veröffentlichungstag im Patentblatt 10.11.2005
IPC-Hauptklasse H04N 7/34
Zusammenfassung Die Vorrichtung zum Erzeugen eines skalierten Datenstroms aus einer Gruppe von zeitlich aufeinander folgenden Bildern mit einer ersten örtlichen Auflösung umfasst eine Einrichtung zum Umsetzen der Bilder von der ersten örtlichen Auflösung auf eine zweite örtliche Auflösung, die kleiner als die erste örtliche Auflösung ist. Die Bilder in der zweiten Auflösung werden codiert, um eine erste Skalierungsschicht zu erhalten. Ferner wird aus den Bildern, die in der zweiten Auflösung vorliegen, eine Hilfsdarstellung erzeugt, die mit einer dritten Auflösung gegeben ist, welche größer als die zweite Auflösung und kleiner oder gleich der ersten Auflösung ist. Die Hilfsdarstellung wird zur Prädiktion von Intra-Blöcken in der zweiten Skalierungsschicht eingesetzt. Eine Version der zeitlich aufeinander folgenden Bilder in der dritten Auflösung wird dann z. B. unter Verwendung einer zeitlichen Wavelet-Subband-Zerlegung gefiltert, prädiziert und dann codiert, um eine zweite Skalierungsschicht zu erhalten. Damit ist ein flexibles örtliches Skalierbarkeitskonzept gegeben, das eine Erweiterung des Standards H.264/AVC darstellt und insbesondere eine maximale Anzahl von standardisierten Modulen verwendet.

Beschreibung[de]

Die vorliegende Erfindung bezieht sich auf die Video-Codierung und insbesondere auf Videocodierer in Verbindung mit dem Videocodierstandard H.264/AVC.

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 Transactions 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 einem 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 Makroblocks 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 x 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 Quantisierungs-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 Bewegungs-kompensierten 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/IECJTCl/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.

Als Ergebnis des Prädiktions-Schritts werden die ungeradzahligen Abtastwerte durch ihre entsprechenden Prädiktions-Restwerte h[k] = sodd[k] – P(seven)[k]. 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

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

derart, dass
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

3 zeigt ein Blockschaltbild einer erfindungsgemäßen Codierer/Decodierer-Struktur mit beispielhaften vier Filterebenen 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 dargestellt 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 beispielsweise 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 Implementierung 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 Basis-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.

Obgleich die vorstehend beschriebenen Skalierbarkeitsschemen bereits eine hohe Flexibilität im Hinblick auf die zeitliche Skalierbarkeit und die SNR-Skalierbarkeit liefern, ist dennoch die Flexibilität dahingehend eingeschränkt, dass insbesondere dort, wo Bilder geringer Auflösung bereits ausreichend wären, jedoch eine höhere zeitliche Auflösung wünschenswert wäre, die Flexibilität eingeschränkt ist. Eine solche Situation ergibt sich beispielsweise dann, wenn schnelle Änderungen in Bildern vorhanden sind, wie beispielsweise bei Videos von Mannschaftssportarten, wo sich viele Personen zusätzlich zum Ball gleichzeitig bewegen.

Eine weitere Problematik existiert jedoch auch dort, wo der Übertragungskanal hinsichtlich seiner Kapazität sehr begrenzt ist, wie beispielsweise bei Freiraum-Übertragungskanälen. Solche Übertragungskanäle sind für Mobiltelefone gegeben. Insbesondere in jüngster Zeit verbreiten sich immer mehr Mobiltelefone mit Photofunktion, wobei insbesondere bei einer Übertragung mehrere aufeinanderfolgender Bilder Kanalkapazitäten problematisch sind. Andererseits haben viele Mobiltelefone, insbesondere Photo-Handys, ein Display, auf dem ohne weiteres auch Videosequenzen anzeigbar sind, da die Displays bereits eine beachtliche Auflösung und selbstverständlich die Fähigkeit zur Videodarstellung haben. Insbesondere existieren auch Situationen, bei denen ein Sender viele verschiedene Kanäle bedienen muss, wie beispielsweise einen sehr breitbandigen Kabelkanal einerseits und einen schmalbandigen Freiraumkanal andererseits.

Die Aufgabe der vorliegenden Erfindung besteht darin, ein Konzept zum flexiblen Codieren bzw. Decodieren oder allgemeiner ausgedrückt zum flexiblen Verarbeiten einer Gruppe von aufeinanderfolgenden Bildern bzw. zum inversen Verarbeiten eines Datenstroms mit einer solchen Gruppe von aufeinanderfolgenden Bildern zu schaffen.

Diese Aufgabe wird durch eine Vorrichtung zum Erzeugen eines skalierten Datenstroms nach Patentanspruch 1, eine Vorrichtung zum inversen Verarbeiten eines skalierten Datenstroms nach Patentanspruch 14, ein Verfahren zum Erzeugen eines skalierten Datenstroms nach Patentanspruch 17, ein Verfahren zum inversen Verarbeiten eines skalierten Datenstroms nach Patentanspruch 18 oder ein Computerprogramm nach Patentanspruch 19 gelöst.

Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass eine wirklich flexible Bearbeitungskapazität dann gegeben ist, wenn aus einer Gruppe von zeitlich aufeinanderfolgenden Bildern ein skalierter Datenstrom erzeugt wird, der mehrere Skalierungsschichten umfasst, die sich hinsichtlich ihrer örtlichen Auflösung unterscheiden. So liefert die örtliche Skalierbarkeit ein immens großes Dateneinsparungspotential, da z. B. eine Basisskalierungsschicht erzeugt werden kann, die durch bereits z. B. eine Halbierung der örtlichen Auflösung pro Bild der Gruppe von zeitlich aufeinanderfolgenden Bildern eine Datenratenreduzierung auf ein Viertel der Datenrate hat, die nötig wäre, um die Gruppe von zeitlich aufeinanderfolgenden Bildern in voller örtlicher Auflösung zu übertragen.

Zum Erzeugen eines skalierten Datenstroms wird erfindungsgemäß eine Umsetzung der Gruppe von Bildern von der ursprünglichen örtlichen Auflösung auf eine zweite kleinere örtliche Auflösung durchgeführt, um dann die Bilder mit der zweiten kleineren örtlichen Auflösung zu codieren, um die erste Skalierungsschicht zu erhalten. Hierauf wird bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung eine Hilfsdarstellung der Bilder erzeugt, die eine dritte Auflösung hat, die größer als die zweite Auflösung und kleiner oder gleich der ersten Auflösung ist. Dieser Rekonstruktions- oder Upsampling-Schritt liefert Referenzdaten für eine bevorzugte Prädiktion von Intra-Blöcken in Erweiterungsbildern und von Basisbildern in der zweiten Skalierungsschicht. Ist die dritte Auflösung gleich der ersten Auflösung, so können die ursprünglichen Bilder, die auf der ersten örtlichen Auflösung vorliegen, direkt genommen werden.

Das erfindungsgemäße Konzept ist besonders dahingehend vorteilhaft, dass es ohne weiteres in den H.264/AVC-Videocodierstandard integrierbar ist.

Erfindungsgemäß wird eine zeitliche Subbandzerlegung durchgeführt, so dass die zweite Skalierungsschicht Basisbilder und Erweiterungsbilder aufweist. Indem die Bilder für die zweite Skalierungsschicht mit einem Haar-Wavelet unidirektional gefiltert werden oder mit einem 5/3-Transformationsfilter gefiltert werden, das eine bidirektionale Prädiktion liefert, wird aus der Gruppe von ursprünglichen Bildern (in der ersten oder der dritten Auflösung) eines oder mehrere Basisbilder erzeugt, die Tiefpassinformationen haben, und wird ferner eine Anzahl von Erweiterungsbildern erzeugt, die Hochpassinformationen umfassen. Das Zerlegen der Folge von Bildern, aus denen schließlich die zweite örtliche Skalierungsschicht gebildet wird, in eines oder mehrere Basisbilder mit Tiefpassinformationen und mehrere Erweiterungsbilder mit Hochpassinformationen ermöglicht ohne weiteres eine optimale Kombination von örtlicher Skalierbarkeit einerseits und zusätzlich zeitlicher Skalierbarkeit in der Erweiterungsschicht.

Außerdem liefert die zweite Skalierungsschicht eine optimale Ausgangsschicht für eine SNR-Skalierbarkeit, also eine Skalierbarkeit mit gleicher örtlicher Auflösung aber feinerer Quantisierung von Schicht zu Schicht. Wäre die zweite Skalierungsschicht nicht zeitlich gefiltert worden, so wäre die SNR-Skalierbarkeit sehr ineffizient. Das erfindungsgemäße Konzept mit örtlicher Skalierbarkeit von der ersten zur zweiten Skalierungsschicht stellt somit eine optimale Ausgangsbasis dafür dar, auf die erfindungsgemäß gestaltete zweite Skalierungsschicht eine SNR-Skalierbarkeit folgen zu lassen.

Nachdem es das Wesen des Basisbildes ist, dass es aus Gemeinsamkeiten zweier Bilder gebildet ist, kann dieses Bild im Sinne einer weiteren Datenrateneinsparung für die Erweiterungsschicht günstig aus einem entsprechenden Bild in der ersten Skalierungsschicht prädiziert werden. Anders ausgedrückt kann das entsprechende Bild, das in der ersten Skalierungsschicht codiert ist, als Prädiktionssignal für das Basisbild der zeitlich gefilterten zweiten Skalierungsschicht verwendet werden, so dass als letztendlich zu codierendes Basisbild (Tiefpassbild) in der zweiten Skalierungsschicht nur noch Prädiktionsrestsignale codiert werden müssen. Diese Prädiktionsrestsignale sind typischerweise geringer als die eigentlichen Werte des Bildes und können somit noch günstiger Entropie-codiert werden, wie beispielsweise durch eine arithmetische Codierung, wie sie als CABAC im H.264/AVC-Videocodierstandard definiert ist.

Damit können die bereits aus dem H.264/AVC-Videocodierstandard bekannten getesteten und hinsichtlich ihrer Effizienz erprobten Bewegungskompensationswerkzeuge eingesetzt werden. Dies wird dadurch erreicht, dass der Prädiktionsoperator P und der Update-Operator ohne weiteres durch Bewegungsvektoren ergänzt werden können, so dass eine bewegungskompensierte zeitliche Filterung eingesetzt wird.

Damit kann die zeitliche Skalierbarkeit in die örtliche Skalierbarkeit integriert werden.

Alternativ ist das erfindungsgemäße Konzept jedoch auch dafür geeignet, die örtliche Skalierbarkeit in zeitliche Skalierungsschichten zu integrieren, indem bereits die erste Gruppe von Bildern, die die erste Skalierungsschicht bilden, als Basisbild und Erweiterungsbilder mit Tiefpass- bzw. Hochpassinformationen vorliegen, und indem die Bilder mit derselben oder einer reduzierten örtlichen Auflösung wieder mit einer bewegungskompensierten Prädiktionsfilterung bearbeitet werden, so dass in der ersten örtlichen Skalierungsschicht Basisbilder und dazugehörige Erweiterungsbilder samt Bewegungsvektoren für jedes Erweiterungsbild enthalten sind, und dass auch in der zweiten Skalierungsschicht wieder Basisbilder und Hochpassbilder zusammen mit den dazugehörigen Bewegungsvektoren enthalten sind, die jedoch eine im Vergleich zur ersten Skalierungsschicht höhere örtlichen Auflösung haben.

In diesem Fall können nicht nur die Tiefpassbilder aus der ersten Skalierungsschicht als Prädiktionssignal für die Tiefpassbilder der zweiten Skalierungsschicht verwendet werden, sondern es können auch die Hochpassbilder aus der ersten Skalierungsschicht als Prädiktionssignale für die Hochpassbilder aus der zweiten Skalierungsschicht verwendet werden.

Die zeitliche Skalierbarkeit kann dahingehend ausgenutzt werden, dass für einen Band-begrenzten Kanal nur eine Subschicht der ersten Skalierungsschicht übertragen wird, die z.B. die Basisbilder ausschließlich umfasst und dass in der ersten Erweiterungsschicht lediglich nur die Subschicht übertragen wird, die die Basisbilder der zweiten Skalierungsschicht umfasst, welche jedoch unter Verwendung der Basisbilder der ersten Skalierungsschicht prädiziert werden können, so dass eine außerordentlich kompakte Datenrate erreicht wird, die dennoch bereits zwei örtliche Skalierungsschichten umfasst, jedoch noch eine begrenzte zeitliche Auflösung hat. Die begrenzte zeitliche Auflösung kann jedoch durch Hinzunahme von Hochpassbildern sowohl aus der ersten Skalierungsschicht als auch aus der zweiten Skalierungsschicht schrittweise verbessert werden, so dass eine flexible Skalierbarkeit sowohl in zeitlicher als auch in örtlicher Richtung erreicht wird, dahingehend dass für jegliche Benutzerbedürfnisse und jegliche Kanalanforderungen die beste Lösung systeminhärent eingestellt werden kann.

Bei einem weiteren bevorzugten Ausführungsbeispiel ist das bewegungskompensierte Prädiktionsfilter derart ausgestaltet, dass die Aktualisierungs- und die Prädiktions-Parameter selektiv deaktiviert werden können. Dies führt dazu, dass in die Erweiterungsbilder der zweiten Skalierungsschicht Makroblock-weise, also z.B. in Blöcken von 16 × 16 Pixeln, statt der sonst in den Hochpassbildern enthaltenen Hochpassinformationen Tiefpassinformationen aus den Bildern geschrieben werden. Dieser selektiv einstellbare sog. Intra-Modus ermöglicht es, dann, wenn z. B. die Pegel der Differenzbilder innerhalb eines solchen kleinen Makroblocks größer als die Pegel des ursprünglichen Bildes sind, statt des Differenzbetriebs eines sogenannten Simulcast-Betrieb zu fahren. Dieser Modus ermöglicht es zum einen, selektiv unangenehme Fälle der Skalierbarkeit zu vermeiden. Er ermöglicht jedoch auch ein anderes vorteilhaftes Merkmal. Nachdem in einzelnen kleinen Blöcken in einem Erweiterungsbild der zweiten Skalierungsschicht Tiefpassinformationen stehen, kann ein entsprechendes Bild aus der ersten Skalierungsschicht bzw. der dort an entsprechender Stelle angeordnete Makroblock wiederum als Prädiktionssignal für den Makroblock im Erweiterungsbild der zweiten Skalierungsschicht verwendet werden, so dass wieder Datenrate dahingehend eingespart wird, dass die in der Erweiterungsschicht zu übertragende Informationsmenge immer mehr auf das allernötigste begrenzt wird.

Bei einem weiteren bevorzugten Ausführungsbeispiel wird nicht nur eine Prädiktion von einer Skalierungsschicht in die nächste Skalierungsschicht gewissermaßen für den gleichen Zeitpunkt durchgeführt, sondern wird auch nicht nur in der 1. Skalierungsschicht, also z. B. der Basisschicht eine Prädiktion in zeitlicher Richtung durchgeführt, sondern wird auch in der ersten Erweiterungsschicht eine zeitliche Prädiktion durchgeführt. Diese Prädiktion in der Erweiterungsschicht eignet sich besonders dann, wenn die Bilder mit einer bewegungskompensierten Prädiktionsfilterung verarbeitet worden sind. Dann können zeitlich aufeinanderfolgende Basisbilder (Tiefpassbilder), die durch eines oder je nach Implementierung mehrere Hochpassbilder voneinander getrennt sind, prädiktiv verarbeitet werden. Dies bedeutet, dass ein zeitlich früheres Basisbild als Prädiktionssignal für ein zeitlich späteres Basisbild eingesetzt wird. Diese Prädiktion findet somit nicht mehr zwischen zwei aufeinanderfolgenden Bildern einer Bildsequenz statt, sondern zwischen zwei zeitlich zwar aufeinanderfolgenden, jedoch durch mehrere Erweiterungsbilder voneinander beabstandete Basisbilder statt, die durch die bewegungskompensierte zeitliche Prädiktionsfilterung erhalten werden, die für die vorliegende Erfindung bevorzugt wird.

Das erfindungsgemäße Konzept zum Erzeugen eines örtlich skalierten Datenstroms zeichnet sich somit durch eine hohe Skalierbarkeit, vorzugsweise mit einer Prädiktion vom rekonstruierten und hochgetasteten Base-Layer im Rahmen der zeitlichen Teilbandcodierung aus, die vorzugsweise um die Prädiktion für die Tiefpassbilder und die sogenannten Intra-Makroblöcke in Hochpassbildern ergänzt wird.

Darüber hinaus wird vorzugsweise eine zeitliche Prädiktion zwischen Tiefpassbildern eines oder mehrerer Bildgruppen in den örtlichen Erweiterungs-Skalierungsschichten durchgeführt, um die Datenrate in den Erweiterungsschichten weiter zu reduzieren.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Figuren detaillierter erläutert. Es zeigen:

1 eine schematische Darstellung einer erfindungsgemäßen Vorrichtung zum Erzeugen eines skalierten Datenstroms;

2a eine schematische Darstellung einer Vorrichtung zum Erzeugen eines skalierten Datenstroms mit binär-gewichteten Auflösungen;

2b eine schematische Darstellung einer Vorrichtung zum inversen Verarbeiten eines örtlichen skalierten Datenstroms;

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; und

15 eine schematische Darstellung mehrerer Skalierungsschichten codierten Signals zur Veranschaulichung einer kombinierten Skalierbarkeit.

1 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 Codieren 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 100b 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 Bewegungs-kompensierten 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.

2a zeigt eine schematische Darstellung der in 1 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 Einrichtung 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 2a 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 2a nicht unbedingt die Basisschicht sein muss, sondern z.B. eine Erweiterungsschicht eines übergeordneten zeitlichen Skalierungsschema oder natürlich auch die Basisschicht des übergeordneten 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 1 und 2a 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 2a 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.

2b 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 2a dann inversen Verarbeitungsschritte durchzuführen. Diese Schritte umfassen eine inverse Skalierung, eine Requantisierunq 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 2b 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 2b 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 2b (sowie in 2a oder 1) 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.

2b zeigt ferner die Wiedergewinnung der in 2a 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 5a5d auf die bevorzugte Ausführungsform des bewegungskompensierten Prädiktionsfilters eingegangen. Wie es bereits ausgeführt worden ist, besteht das bewegungskompensierte zeitliche Filter (MCTF; MCTF = motion-compensated 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 1 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 1 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 Anwendungen 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 1) 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 übertragen 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 MP3 werden auch als erste zeitliche Verbesserungsschicht bezeichnet.

Durch weiteres Hinzufügen der Hochpassbilder H2 und der Prädiktionsdatenarrays MP2 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 Skalierungsschicht 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 1 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 0 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 hoch-abgetasteten 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 1 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 Skalierungsschichtinterne 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 Skalierungsschicht, 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 1 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 Bewegungs-kompensierten 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 1 und 2a, 2b 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.

Abhängig von den Gegebenheiten kann ein erfindungsgemäßes Verfahren, wie es in 1 dargestellt ist, in Hardware oder in Software implementiert werden. 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 kann die Erfindung somit als ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computer-Programm auf einem Computer abläuft.


Anspruch[de]
  1. Vorrichtung zum Erzeugen eines skalierten Datenstroms aus einer Gruppe von zeitlich aufeinander folgenden Bildern mit einer ersten örtlichen Auflösung, mit folgenden Merkmalen:

    einer Einrichtung (1002) zum Umsetzen der Bilder von der ersten örtlichen Auflösung auf eine zweite örtliche Auflösung, die kleiner als die erste örtliche Auflösung ist;

    einer Einrichtung (1004) zum Codieren der Bilder in der zweiten Auflösung, um eine erste Skalierungsschicht zu erhalten;

    einer Einrichtung (1014) zum Bewegungs-kompensierten 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, 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 aufweist;

    einer Einrichtung (1016) zum Verarbeiten des Basisbildes und des wenigstens einen Erweiterungsbildes, um eine zweite Skalierungsschicht zu erhalten.
  2. Vorrichtung nach Anspruch 1, bei der die Einrichtung (1002) zum Umsetzen ausgebildet ist, um eine Tiefpaßfilterung mit anschließender Unterabtastung durchzuführen.
  3. Vorrichtung nach Anspruch 1 oder 2, bei der die Einrichtung (1010) zum Umsetzen ausgebildet ist, um eine Interpolation mit einem Interpolationsfilter durchzuführen.
  4. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Einrichtung (1016) zum Verarbeiten ausgebildet ist, um bei der Verarbeitung des Basisbildes und der Erweiterungsbilder Informationen bezüglich der ersten Skalierungsschicht zu verwenden, und die ferner folgendes Merkmal aufweist:

    eine Einrichtung (1010) zum Erzeugen einer Hilfs-Darstellung der Bilder mit einer dritten Auflösung, die größer als die zweite Auflösung und kleiner oder gleich der ersten Auflösung ist, aus den Bildern mit der zweiten Auflösung.
  5. Vorrichtung nach Anspruch 4, bei der die Einrichtung (1010) zum Erzeugen der Hilfsdarstellung ausgebildet ist, um in der zweiten Auflösung codierte Bilder zunächst zu decodieren (1008) und dann zu interpolieren.
  6. Vorrichtung nach einem der vorhergehenden Ansprüche,

    bei der die Einrichtung (1014) zum Bewegungskompensierten zeitlichen Filtern ausgebildet ist, um ein Bewegungsfeld für jedes Erweiterungsbild zu verwenden,

    wobei ein Bewegungsfeld eine Bewegung eines Objekts in dem Basisbild zu einem Bild der Gruppe von Bildern darstellt, aus dem ein Erweiterungsbild ermittelt wird, und

    wobei die Einrichtung (1016) zum Verarbeiten ausgebildet ist, um das Basisbild und die Erweiterungsbilder zu codieren, um die zweite Skalierungsschicht zu erzeugen.
  7. Vorrichtung nach Anspruch 4, 5 oder 6, bei der das Basisbild einem Bild der Hilfsdarstellung zugeordnet ist, und

    bei der die Einrichtung (1016) zum Verarbeiten eine Prädiktorstufe (1016a) aufweist, um eine Prädiktions-Verarbeitung mit dem zugeordneten Bild der Hilfsdarstellung durchzuführen, so dass ein Prädiktions-Restsignal erhalten wird,

    wobei die Einrichtung (1016) zum Verarbeiten ausgebildet ist, um als Basisbild das Prädiktions-Restsignal für das Basisbild zu codieren.
  8. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Einrichtung (1014) zum Bewegungskompensierten zeitlichen Filtern folgende Merkmale aufweist:

    eine Einrichtung zum Berechnen des Basisbildes l(k) durch Addition eines Eingangsbildes mit einem Ergebnis eines Aktualisierungsschritts, in dem ein Aktualisierungs-Operator (U) verwendet wird; und

    eine Einrichtung zum Berechnen eines Erweiterungsbildes h(k) durch Subtraktion des Ergebnisses eines Prädiktionsschritts unter Verwendung eines Prädiktionsoperators (P).
  9. Vorrichtung nach Anspruch 8, bei der der Prädiktionsoperator und der Aktualisierungs-Operator gemäß einer Lifting-Darstellung eines Haar-Wavelets mit unidirektionaler Prädiktion oder gemäß einer Lifting-Darstellung eines 5/3-Spline-Wavelets für eine bidirektionale Prädiktion gegeben sind.
  10. Vorrichtung nach einem der Ansprüche 1 bis 9, bei der die Einrichtung (1016) zum Verarbeiten ausgebildet ist, um eine Block-basierte Verarbeitung durchzuführen, wobei ein Block eine Anzahl von Pixeln eines Bilds der Gruppe von Bildern umfasst, die kleiner ist als eine gesamt Anzahl von Pixeln des Bilds der Hilfs-Darstellung.
  11. Vorrichtung nach Anspruch 10, bei der die Einrichtung (1014) zur Bewegungs-kompensierten zeitlichen Filterung ausgebildet ist, um eine selektive Block-basierte Verarbeitung durchzuführen, und um für einen speziellen Block einen INTRA-Modus zu signalisieren, so dass ein Erweiterungsbild, das den speziellen Block enthält, in dem Block Tiefpass-Informationen statt Hochpass-Informationen umfasst.
  12. Vorrichtung nach Anspruch 11, bei der die Einrichtung (1016) zum Verarbeiten eine Prädiktorstufe (1016a) umfasst, um für einen INTRA-Block in einem Erweiterungsbild eine Prädiktion mit einem zugeordneten Bild einer im Hinblick auf eine örtliche Auflösung gleichen Hilfsdarstellung einer niedrigeren Skalierungsschicht, das diesem Erweiterungsbild zugeordnet ist, durchzuführen, um für den INTRA-Block in dem Erweiterungsbild ein Prädiktions-Restsignal zu erzeugen, wobei die Einrichtung (1016) zum Verarbeiten ausgebildet ist, um in dem INTRA-Block des Erweiterungsbildes das Prädiktionssignal zu codieren.
  13. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Einrichtung (1014) zum Bewegungskompensierten zeitlichen Filtern ausgebildet ist, um mehrere zeitlich aufeinander folgende Basisbilder mit Tiefpass-Informationen zu erzeugen, wobei die Einrichtung (1016) zum Verarbeiten eine Prädiktorstufe (1016a) aufweist, um ein früheres Basisbild als Prädiktionssignal für ein späteres Basisbild zu verwenden, um für das spätere Basisbild ein Prädiktions-Restsignal zu berechnen, und wobei die Einrichtung (1016) zum Verarbeiten ausgebildet ist, um das Prädiktions-Restsignal für das spätere Basisbild zu codieren.
  14. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Gruppe von zeitlich aufeinander folgenden Bildern mehrere Basisbilder mit Tiefpass-Informationen und mehrere Erweiterungsbilder mit Hochpass-Informationen aufweist.
  15. Vorrichtung zum inversen Verarbeiten eines skalierten Datenstroms, der in einer ersten Skalierungsschicht, Bilder in einer zweiten örtlichen Auflösung umfasst, und der eine zweiten Skalierungsschicht umfasst, die ein verarbeitetes Basisbild und wenigstens ein Erweiterungsbild aufweist, wobei das Basisbild Tiefpassinformationen aus der Gruppe von Bildern aufweist, und wobei das Erweiterungsbild Hochpassinformationen aus der Gruppe von Bildern aufweist, wobei die Bilder der zweiten Skalierungsschicht in einer dritten örtlichen Auflösung vorliegen, wobei die dritte Auflösung größer als die zweite Auflösung ist, wobei die Bilder ursprünglich in einer ersten örtlichen Auflösung vorgegeben waren, wobei die dritte örtliche Auflösung kleiner oder gleich der ersten örtlichen Auflösung ist, mit folgenden Merkmalen:

    einer Einrichtung (1036, 1038) zum Decodieren der ersten und der zweiten Skalierungsschicht, um für die erste Skalierungsschicht die Bilder in der örtlichen zweiten Auflösung und für die zweite Skalierungsschicht das Basisbild und das eine oder die mehreren Erweiterungsbilder in der dritten örtlichen Auflösung zu erhalten; und

    einer Einrichtung (1042) zum Bewegungs-kompensierten inversen zeitlichen Filtern des Basisbildes und des einen oder der mehreren Erweiterungsbilder, um eine Version der Gruppe von Bildern in der dritten örtlichen Auflösung zu erhalten.
  16. Vorrichtung nach Anspruch 15, bei der zwischen der Einrichtung zum Decodieren (1038) der zweiten Skalierungsschicht und der Einrichtung (1042) zum Bewegungs-kompensierten inversen Filtern eine Weiterverarbeitungseinrichtung (1040) geschaltet ist, die ausgebildet ist, um Informationen bezüglich der ersten Skalierungsschicht zu verwenden, wobei die Vorrichtung ferner folgende Merkmale aufweist:

    einer Einrichtung (1044) zum Umsetzen einer decodierten Version der ersten Skalierungsschicht von der zweiten Auflösung in die dritte Auflösung, um die Informationen aus der ersten Skalierungsschicht zu erhalten.
  17. Vorrichtung nach Anspruch 16, bei der die Weiterverarbeitungseinrichtung eine Prädiktorstufe (1040a) aufweist, um eine Prädiktion eines Basisbildes aus einem korrespondierenden Bild der ersten Skalierungsschicht rückgängig zu machen, oder um eine Prädiktion eines INTRA-Blocks in einem Erweiterungsbild unter Verwendung eines korrespondierenden Bildes der ersten Skalierungsschicht rückgängig zu machen, oder um eine Prädiktion eines Basisbildes unter Verwendung eines rekonstruierten zeitlich vorausgehenden Basisbildes aus derselben Skalierungsschicht rückgängig zu machen.
  18. Verfahren zum Erzeugen zum Erzeugen eines skalierten Datenstroms aus einer Gruppe von zeitlich aufeinander folgenden Bildern mit einer ersten örtlichen Auflösung, mit folgenden Schritten:

    Umsetzen (1002) der Bilder von der ersten örtlichen Auflösung auf eine zweite örtliche Auflösung, die kleiner als die erste örtliche Auflösung ist;

    Codieren (1004) der Bilder in der zweiten Auflösung, um eine erste Skalierungsschicht zu erhalten;

    Bewegungs-kompensiertes zeitliches Filtern (1014) 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, 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 aufweist;

    Verarbeiten (1016) des Basisbildes und des wenigstens einen Erweiterungsbildes, um eine zweite Skalierungsschicht zu erhalten.
  19. Verfahren zum inversen Verarbeiten eines skalierten Datenstroms, der in einer ersten Skalierungsschicht, Bilder in einer zweiten örtlichen Auflösung umfasst, und der eine zweiten Skalierungsschicht umfasst, die ein verarbeitetes Basisbild und wenigstens ein Erweiterungsbild aufweist, wobei das Basisbild Tiefpassinformationen aus der Gruppe von Bildern aufweist, und wobei das Erweiterungsbild Hochpassinformationen aus der Gruppe von Bildern aufweist, wobei die Bilder der zweiten Skalierungsschicht in einer dritten örtlichen Auflösung vorliegen, wobei die dritte Auflösung größer als die zweite Auflösung ist, wobei die Bilder ursprünglich in einer ersten örtlichen Auflösung vorgegeben waren, wobei die dritte örtliche Auflösung kleiner oder gleich der ersten örtlichen Auflösung ist, mit folgenden Schritten:

    Decodieren (1036, 1038) der ersten und der zweiten Skalierungsschicht, um für die erste Skalierungsschicht die Bilder in der örtlichen zweiten Auflösung und für die zweite Skalierungsschicht das Basisbild und das eine oder die mehreren Erweiterungsbilder in der dritten örtlichen Auflösung zu erhalten;

    Bewegungs-kompensiertes inverses zeitliches Filtern (1042) des Basisbildes und des einen oder der mehreren Erweiterungsbilder, um eine Version der Gruppe von Bildern in der dritten örtlichen Auflösung zu erhalten.
  20. Computerprogramm mit einem Programmcode zum Durchführen des Verfahrens zum Erzeugen eins skalierten Datenstroms nach Patentanspruch 18 oder des Verfahrens zum inversen Verarbeiten eines skalierten Datenstroms nach Patentanspruch 19, wenn das Programm auf einem Computer abläuft.
Es folgen 13 Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com