DE60317670T2 - Verfahren und Vorrichtung zur 3D-Teilbandvideokodierung - Google Patents

Verfahren und Vorrichtung zur 3D-Teilbandvideokodierung Download PDF

Info

Publication number
DE60317670T2
DE60317670T2 DE60317670T DE60317670T DE60317670T2 DE 60317670 T2 DE60317670 T2 DE 60317670T2 DE 60317670 T DE60317670 T DE 60317670T DE 60317670 T DE60317670 T DE 60317670T DE 60317670 T2 DE60317670 T2 DE 60317670T2
Authority
DE
Germany
Prior art keywords
pixel
pixels
frame
value
separated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60317670T
Other languages
English (en)
Other versions
DE60317670D1 (de
Inventor
Jordi Bramley Caball
Leszek Guildford Surrey Cieplinski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE60317670D1 publication Critical patent/DE60317670D1/de
Application granted granted Critical
Publication of DE60317670T2 publication Critical patent/DE60317670T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Description

  • Die Erfindung betrifft ein Verfahren der Verschlüsselung und Entschlüsselung einer Bildsequenz. Die Erfindung betrifft insbesondere 3D-Subband-Codierung, die zeitliche Filterung, gefolgt von räumlicher Filterung, einschließt.
  • Die Dokumente „Three-Dimensional Subband Coding with Motion Compensation" von Jens-Rainer Ohm und „Motion-Compensated 3-D Subband Coding of Video" von Choi und Woods sind Referenzen des allgemeinen Standes der Technik und beschreiben 3D Subband-Codierung. Kurz gesagt, wird eine Bildsequenz, wie z. B. eine Bildgruppe (Group of Pictures, GOP), in einer Videosequenz durch bewegungskompensierte (motion compensated, MC) zeitliche Analyse gefolgt von einer räumlichen Wavelet-Transformation in räumlich-zeitliche Subbänder aufgeteilt. Die resultierenden Subbänder (Koeffizienten) werden zur Übertragung weiter verschlüsselt.
  • Ein Beispiel eines 3D Subband-Codierungssystems ist weiter unten unter Bezug auf 1 und 2 ausführlicher beschrieben.
  • 1 ist ein Blockschaltbild eines bewegungskompensierten eingebetteten Nullblock-Codierers (Motion Compensated Embedded Zeroblock Coder, MC-EZBC), der ein Beispiel eines 3D Subband-Codierers ist. Der Codierer beinhaltet ein Modul für zeitliche Bewegungskompensations-Filterung (Motion Compensation Temporal Filtering, MCTF-Modul) 10. Der Ausgang des MCTF-Moduls 10 ist mit einem Modul für räumliche Transformation 12 und einem Bewegungsabschätzungs-Modul 18 verbunden. Der Ausgang des Moduls für räumliche Transformation ist mit einem eingebetteten Nullblock-Modul (Embedded Zeroblock, (EZBC-Modul) 14 verbunden. Ein Ausgang des Bewegungsabschätzungs-Moduls 18 wird in das MCTF-Modul 10 eingegeben, und ein anderer Ausgang ist mit einem Bewegungsvektorcodierungs-Modul 20 verbunden. Die Ausgänge des EZBC-Moduls 14 und des Bewegungsvektorcodierungs-Moduls 20 sind beide mit einem Paketierungs-Modul 16 verbunden, das komprimierte, zu sendende Videodaten ausgibt.
  • Eine GOP (typischerweise 16 Frames) wird in das MCTF-Modul 10 eingegeben, wo MCTF vorgenommen wird. Zusammen mit dem Bewegungsabschätzungs-Modul 18 wird an den Frames eine Bewegungsabschätzung durchgeführt. In diesem Beispiel ist die Bewegungsabschätzung eine Rückwärts-Bewegungsabschätzung mithilfe hierarchischer Blockanpassung mit variabler Größe (Hierarchical Variable Size Block Matching, HVSBM). Bei diesem Schema erfolgt die Bewegungsabschätzung zuerst mit großen Blöcken (64×64 Pixel). Dann wird jeder Block in vier Subblöcke unterteilt. Bewegungsvektoren für Subblöcke werden durch Verfeinern des Bewegungsvektors des größeren Blocks erzeugt. Dies wird wiederholt, bis eine Mindest-Blockgröße (4×4 Pixel) erreicht ist. Nach Durchführung des Pruning-Prozesses in Rate-Distortion-Optimierung erhält man ein Raster variabler Blockgrößen, und die resultierenden Bewegungsvektoren werden allen Pixeln in den entsprechenden Blöcken zugeordnet.
  • Als Nächstes nimmt das MCTF-Modul 10 zeitliche Filterung mithilfe des Bewegungsvektors vor, der vom Bewegungsabschätzungs-Modul 18 eingegeben wird. In diesem Beispiel ist die zeitliche Filterung mithilfe einer zeitlichen Haar-Wavelet-Transformation (Anhebeschema) implementiert, die eine hierarchische zeitliche Dekomposition erzeugt, wie in 2 gezeigt.
  • Insbesondere wird Bezug nehmend auf 2 jedes aufeinanderfolgende Paar Frames A und B in der GOP unter Verwendung geeigneter Transformationen behandelt, um einen Tiefpassgefilterten Frame und einen Hochpass-gefilterten Frame zu erzeugen, um ein Subband erster Ebene zu erzeugen. Für die GOP erzeugt dies 8 Tiefpass-gefilterte (t-L) Frames und 8 Hochpass-gefilterte Frames (t-H).
  • Die Prozedur (Bewegungsabschätzung und Transformation) wird unter Verwendung der Tiefpass-gefilterten Frames wiederholt, um vier Tiefpass-gefilterte Frames (t-LL) und vier Hochpass-gefilterte Frames (t-LH) zu erzeugen. In ähnlicher Weise wird die Prozedur im unteren zeitlichen Subband rekursiv wiederholt, bis nur ein Frame des unteren zeitlichen Subbandes verbleibt. Wie in 2 gezeigt, resultiert dies in Vier-Ebenen-Dekomposition mit 1 t-LLLL-Frame, 1 t-LLLH-Frame, 2 t-LLH- und t-LLL-Frames, 4 t-LL- und t-LH-Frames und 8 t-H- und t-L-Frames.
  • Der zeitlichen Stufe folgt räumliche Dekomposition im Modul für räumliche Transformation 12. Insbesondere wird jeder Frame eines zeitlichen Subbandes, der in der Dekomposition hervorgehoben ist, die in 2 gezeigt ist, räumlicher Filterung und Dekomposition mithilfe einer Wavelet-Transformation unterzogen. Das Dokument „Embedded Image Coding using Zerotrees of Wavelets Coefficients" von J. M. Shapiro, Dezember 1993, beschreibt die Anwendung von Wavelet-Transformationen auf Bildframes. Kurz gesagt, resultiert räumliche Dekomposition in einer hierarchischen Dekomposition ähnlich der in 2 für die zeitliche Filterung gezeigten Struktur.
  • Insgesamt resultiert die räumlich-zeitliche Filterung in einer hierarchischen Anordnung gefilterter Frames, wobei jeder Frame aus Koeffizienten für jeden Pixelort besteht.
  • US 6,519,284 veranschaulicht und beschreibt hierarchische Subband-Verschlüsselung.
  • Die 3D Subband-Koeffizienten werden im EZBC-Modul 14 räumlich codiert. Alle räumlich-zeitlichen Subbänder werden getrennt codiert.
  • Die Bewegungsvektorfelder, die durch das Bewegungsabschätzungs-Modul 18 ausgegeben werden, werden durch das Bewe gungsvektorcodierungs-Modul 20 mithilfe verlustfreier Prädiktion und adaptiver arithmetischer Codierung verschlüsselt.
  • Das Paketierungs-Modul kombiniert die verschlüsselten Subband-Koeffizienten und die verschlüsselten Bewegungsvektorfelder. In Bitebenen-Abtastung zur Bildung des endgültigen Ausgangsbitstromes werden die räumlichen Subbänder aller Frames eines zeitlichen Subbandes einer GOP verschachtelt. Der Bewegungsvektor-Anteil des Bitstromes wird getrennt in nicht skalierbarer Weise gespeichert.
  • In den oben erwähnten Bewegungsabschätzungs-Schritten wird jedem Pixel des prädizierten/aktuellen Frames ein Bewegungsvektor zugeteilt (bei aufeinanderfolgenden Frames A und B und Rückwärts-Bewegungsabschätzung ist Frame B der prädizierte Frame, und Frame A ist der Referenzframe, wie in 3 gezeigt). Der Bewegungsvektor kann eine gute Übereinstimmung zwischen dem Pixel in Frame B und dem Pixel in Frame A repräsentieren oder auch nicht, basierend auf der Frameverschiebungsdifferenzen (Displaced Frame Difference, DFD), d. h. der Differenz der Pixelwerte für das Pixel in Frame B und das entsprechende Pixel in Frame A, identifiziert durch den Bewegungsvektor. Zeitliche Filterung mithilfe zwei schlecht übereinstimmender Pixel führt zu Problemen, unter anderem DFD mit Video minderwertiger visueller Qualität und geringerer Framerate und mit hoher Energie.
  • Das Hauptproblem bei Bewegungskompensation besteht darin, dass die Beziehung zwischen Frames nicht immer perfekt durch ein Bewegungsmodell beschrieben werden kann. Bei blockbasierten Modellen gilt dies immer dann, wenn die Bewegung nicht stückweise translatorisch ist, wie es zum Beispiel im Falle von Abdeckung, Kamerazoom oder Schwenk usw. auftreten kann. In solchen Gebieten können die Pixel als getrennt (nicht erfasst, Bewegungsvektor ungewiss) oder mehrfach verbunden (erfasst, mehrere Pixel in Frame B können Bewegungsvektoren aufweisen, die auf dasselbe Pixel in Frame A zeigen) klassifiziert werden. Es ist nicht zu erwarten, dass Bewegungskompensation in derartigen abgetrennten Regionen effizient ist.
  • Um Bewegungsfilterung zwischen schlecht übereinstimmenden Pixeln zu vermeiden, werden die DFDs zwischen entsprechenden Pixeln in Frame A und B mit einem vorgegebenen Schwellwert verglichen. Bei einem Pixel, bei dem der zugeteilte Bewegungsvektor in einer DFD oberhalb des Schwellwertes resultiert, wird der Bewegungsvektor als schlecht angesehen, und das Pixel wird als getrennt behandelt (Bewegungsvektor ungewiss). Beispielsweise werden Pixel mit größerem mittleren quadratischen DFD-Fehler (Mean Square Error, MSE) als ihre skalierten Varianzen als getrennt klassifiziert.
  • Bei mehrfach verbundenen Pixeln (Pixel in Frame A, die mehrere entsprechende Pixel im prädizierten Frame, Frame B aufweisen), wird der absolute DFD-Wert für jeden Bewegungsvektor berechnet, und der Bewegungsvektor und das zugeordnete Pixel in Frame B mit der minimalen zugeordneten DFD wird ausgewählt. Die anderen Pixel in Frame B, die auf dasselbe Pixel in Frame A zeigen, werden als getrennt behandelt.
  • In 3 sind Pixel b8 und a2 getrennt, Pixel a5 ist mehrfach verbunden, und die übrigen Pixel sind verbunden. Angenommen, die DFD für a5/b4 ist größer als die DFD für a5/b5, dann wird der Bewegungsvektor zwischen a5 und b5 behalten, und b4 wird als getrennt behandelt.
  • Das Problem mehrfach verbundener und getrennter Pixel wird in den oben erwähnten Dokumenten von Ohm und Choi und Woods sowie in WO02/085026 und US 6,381,276 diskutiert, welches auch erfasste/nicht erfasste Bildgebiete veranschaulicht.
  • Einzelheiten zur oben erwähnten zeitlichen Haar-Wavelet-Transformation sind weiter unten dargelegt.
  • Für zwei aufeinanderfolgende Frames A und B ist die Hochpassfilterung gegeben durch H(m, n) = (√2/2)·[B(m, n) – A(m – k, n – l)],wobei A (Referenzframe) und B (aktueller Frame) die ursprünglichen Frames sind und H der Hochpass-gefilterte Frame ist, m und n die Pixel indizieren und k und l die Bewegungsvektoren sind.
  • Die Tiefpassfilterung ist für verbundene Pixel, L(m, n) = H(m + k, n + l) + √2·A(m, n),und für getrennte (erfasste/nicht erfasste) Pixel ausgelegt L(m, n) = √2·A(m, n),
  • Im Decodierer wird durch Verwendung von L und H dieselbe Interpolation bei H durchgeführt, um A für verbundene Pixel exakt zu rekonstruieren als A(m, n) = (1/√2)·[L(m, n) – H(m + k, n + l)],und für getrennte (erfasste/nicht erfasste) Pixel als A(m, n) = (1/√2)·L(m, n)
  • Nachdem A verfügbar ist, kann dieselbe Interpolation bei A durchgeführt werden, um B exakt zu rekonstruieren als B(m, n) = √2·H(m, n) + A(m – k, n – l)
  • Um getrennte Blöcke zu verschlüsseln, nimmt der Algorithmus nach Stand der Technik eine Vorwärts-Bewegungsabschätzung mit den segmentierten getrennten Blöcken vor. Wenn dies für einen bestimmten Block in kleinerer DFD resultiert, wird vorwärts-bewegungskompensierte Prädiktion (Motion-Compensated Prediction, Vorwärts-MCP) verwendet. Anderenfalls wird die standardmäßige Rückwärts-MCP verwendet. Dies ergibt drei Codierungsmodi:
    • • DEFAULT (verbundene Blöcke)
    • • INTRA (getrennte Blöcke unter Verwendung von Rückwärts-MCP)
    • • REVERSE (getrennte Blöcke unter Verwendung von Vorwärts-MCP)
  • Die drei Fälle werden mithilfe eines dreisymboligen Huffman-Codes 0, 10 bzw. 11 repräsentiert, der als Overheadinformation zusammen mit den Bewegungsvektoren übertragen wird. Da für INTRA- und REVERSE-Blöcke MCP statt MCTF verwendet wird, werden die Blöcke im aktuellen Frame, die ursprünglich als INTRA- und REVERSE-Blöcke gewählt wurden, nicht zeitlich Tiefpass-gefiltert.
  • Zur Verschlüsselung von Bewegungsvektoren wird Codierung variabler Länge verwendet, da die Bewegungsvektoren nicht gleichförmig verteilt sind. Die Bewegungsvektoren werden durch adaptive arithmetische Codierung der Vektordifferenzen in Bitstrom umgewandelt.
  • Die 3D Subband-Koeffizienten werden mithilfe von EZBC codiert. EZBC ist ein eingebetteter Bildcodierungs-Algorithmus, der Nullblockcodierung und Kontextmodellierung von Subband-/Wavelet-Koeffizienten verwendet. Jeder Frame wird separat räumlich codiert, und der resultierende Bitstrom wird an das Paketierungs-Modul weitergegeben.
  • Alternative Techniken (MPEG-2, MPEG-4, H.263, H.264) zur Codierung von Bildsequenzen beinhalten Bewegungsabschätzung/-kompensation und räumliche Transformations-Codierung. Einige Frames (I-Frames) sind intracodiert ohne Verwendung von Bewegungsabschätzung. Andere Frames (B- und P-Frames) schließen Block-Bewegungskompensation und räumliche Verschlüsselung des resultierenden Differenzblocks ein. Block-Intracodierung kann auch in B- und P-Frames vorgenommen werden, in denen kein zweckentsprechender Bewegungsvektor in der Bewegungsabschätzung gefunden wurde. Um die Effizienz der Intracodierung zu steigern, kann räumliche Korrektur zwischen benachbarten Blöcken in einem gegebenen Frame ausgenutzt werden. Insbesondere im MPEG-4-AVC/H.264-Codec kann der interessierende Block aus den umgebenden Blöcken nach deren Richtungsinformationen prädiziert werden. Die Differenz zwischen dem tatsächlichen Block und seiner Prädiktion wird dann codiert, und für diesen Block braucht kein Bewegungsvektor codiert und übertragen zu werden.
  • Eines der Probleme von MC-EZBC und Interframe-Wavelet-Codierern im Allgemeinen ist die relativ schlechte Leistung bei niedrigeren Bitraten, die hauptsächlich durch Nicht-Skalierbarkeit von Bewegungsvektoren verursacht ist.
  • Auch werden beispielsweise im aktuellen Interframe-Wavelet-Videocodierungs-Ansatz schlechte Übereinstimmungen zwischen benachbarten Frames in derselben Weise zeitlich in die zeitlichen Hochpass-Frames gefiltert wie die guten Übereinstimmungen, wobei bewegungskompensierte Prädiktion verwendet wird, was zu schlechter Qualität jener Frames (oder Blöcke innerhalb von Frames) führt, da bei den schlechten Übereinstimmungen, bei denen Bewegungsabschätzung keine Entsprechungen zwischen benachbarten Frames finden konnte, die Blöcke, die als Prädiktion vom Referenzframe aus verwendet wurden, von den zu prädizierenden Blöcken deutlich verschieden sind.
  • US2002/0064231 betrifft ein Videoverschlüsselungsverfahren unter Verwendung einer Wavelet-Dekomposition. Nach Wavelet-Dekomposition hängt der Wert eines Pixels immer noch von jenen von umgebenden Pixeln ab, wie in der ursprünglichen Videosequenz.
  • Dies wird beim Senden und nachfolgenden Codieren der Koeffizienten im Rahmen universeller Codierung von Bounded-Memory-Tree-Quellen verwendet.
  • Aspekte der Erfindung sind in den beiliegenden Ansprüchen dargelegt.
  • Die Erfindung stellt ein Verfahren zur Verschlüsselung und Entschlüsselung einer Framesequenz mithilfe von 3D Subband-Dekomposition bereit, das zeitliche Filterung einschließt, dadurch gekennzeichnet, dass unter gewissen Bedingungen bei mindestens einem Pixel der Wert des Pixels mithilfe des Wertes eines oder mehrerer anderer Pixels in demselben Frame in der zeitlichen Dekomposition approximiert oder prädiziert wird. Die zeitliche Filterung schließt die Herleitung eines Bewegungsvektorfeldes für einen Frame ein und schließt mindestens zwei Frames in die zeitliche Filterung ein. Der approximierte Pixelwert kann verwendet werden, um das Pixel in entweder einem Hochpass- oder einem Tiefpass-Frame in der (zeitlichen) Subband-Dekomposition zu repräsentieren.
  • Vorzugsweise wird das Pixel mithilfe eines oder mehrerer angrenzender Pixel in demselben Frame oder einer Kombination davon approximiert. Bei einem gegebenen Pixel kann ein angrenzendes Pixel ein beliebiges der Pixel sein, die das Pixel unmittelbar umgeben. Alternativ kann bei einem Pixel in einem Block von Pixeln, beispielsweise einem 4×4-Block, wie z. B. einem Block, der zur Bestimmung von Bewegungsvektoren beispielsweise bei Anpassung variabler Blockgröße verwendet wird, oder einem Block oder einer Gruppe von Pixeln, in dem/der alle Pixels in der Gruppe oder dem Block denselben Bewegungsvektor aufweisen, oder einem/einer verbundenen oder segmentierten Block oder Gruppe von Pixeln, ein angrenzendes Pixel als ein Pixel angesehen werden, das an den Block oder die Gruppe von Pixeln angrenzt oder diese umgibt.
  • Diese „Intra"-Prädiktion kann beispielsweise für getrennte Pixel oder dann verwendet werden, wenn die DFD, die aus der Prädiktion unter Verwendung desselben Frames resultiert, kleiner ist als unter Verwendung von bewegungskompensierter Prädiktion. Ansonsten kann standardmäßige zeitliche Filterung verwendet werden.
  • In dieser Spezifikation wird der Begriff „Frame" verwendet, um eine Bildeinheit, einschließlich nach Filterung, zu beschreiben, der Begriff gilt aber auch für andere ähnliche Terminologie, wie z. B. Bild, Feld, Abbildung oder Untereinheiten oder Regionen eines Bildes, Frames usw. Die Begriffe Pixel und Blöcke oder Gruppen von Pixeln können ggf. synonym verwendet sein.
  • Eine Ausführungsform der Erfindung wird unter Bezug auf die zugehörigen Zeichnungen beschrieben, wobei
  • 1 ein Blockschaltbild eines Verschlüsselungssystems ist;
  • 2 eine Grafik ist, die zeitliche Dekomposition einer GOP darstellt;
  • 3 eine Repräsentation eines Framepaares und verbundener und getrennter Pixel ist;
  • 4 ein Diagramm einer Anordnung von Pixeln in einem Frame ist;
  • 5 eine Grafik ist, die Richtungen zur Auswahl von Prädiktionspixeln darstellt.
  • Die Erfindung kann mithilfe eines Systems ähnlich dem oben beschriebenen System nach Stand der Technik implementiert werden, das, wie unten beschrieben, Gegenstand von Modifikationen ist.
  • Dementsprechend sind die grundlegenden Komponenten des Codierungssystems gemäß der vorliegenden Ausführungsform so, wie in 1 gezeigt, und arbeiten so, wie oben in Bezug auf den Stand der Technik beschrieben, mit der Ausnahme, dass das MCTF-Modul in Bezug auf die Verarbeitung getrennter Pixel oder Blöcke von Pixeln modifiziert ist.
  • Wie oben erwähnt, erfolgt die Bewegungsabschätzung bis hinunter zu einer Blockgröße von 4×4 Pixeln, und jedem Pixel im Block wird derselbe Bewegungsvektor zugewiesen. Ein derartiger 4×4-Pixel-Block ist in 4 dargestellt, wobei c(m, n) die Pixel des Blocks unter Betrachtung repräsentiert. Angrenzende Pixel sind durch t(p, q) für Pixel in der Zeile oberhalb der obersten Zeile des 4×4-Blocks und durch 1(r, s) für Pixel in der Spalte links der linken Spalte des 4×4-Blocks repräsentiert.
  • Nach Bestimmung der Bewegungsvektoren werden die Bewegungsvektoren und die zugeordneten DFDs wie beim Stand der Technik verarbeitet, um zu bestimmen, welche Pixel als getrennt (wie oben definiert) behandelt werden müssen.
  • Bei jedwedem Pixel im Block, das getrennt ist, wird das Pixel zur weiteren Verarbeitung mithilfe eines nahe gelegenen Pixels in demselben Frame approximiert (oder prädiziert), im Folgenden als Intra-Prädiktion beschrieben. Dies kann in einer Reihe von Weisen implementiert sein.
  • In diesem Beispiel gibt es drei Intra-Modi: vertikaler Intra-Prädiktionsmodus, horizontaler Intra-Prädiktionsmodus und gemittelter horizontal-vertikaler Intra-Prädiktionsmodus.
  • Vertikaler Intra-Prädiktionsmodus:
    • • c(0, 0), c(0, 1), c(0, 2) und c(0, 3) werden durch t(0, –1) prädiziert
    • • c(1, 0), c(1, 1), c(1, 2) und c(1, 3) werden durch t(1, –1) prädiziert
    • • c(2, 0), c(2,1), c(2, 2) und c(2, 3) werden durch t(2, –1) prädiziert
    • • c(3, 0), c(3,1), c(3, 2) und c(3, 3) werden durch t(3, –1) prädiziert
  • Horizontaler Intra-Prädiktionsmodus:
    • • c(0, 0), c(1, 0), c(2, 0) und c(3, 0) werden durch l(–1, 0) prädiziert
    • • c(0, 1), c(1, 1), c(2, 1) und c(3, 1) werden durch l(–1, 1) prädiziert
    • • c (0, 2), c(1, 2), c(2, 2) und c(3, 2) werden durch l(–1, 2) prädiziert
    • • c(0, 3), c(1, 3), c(2, 3) und c(3, 3) werden durch l(–1, 3) prädiziert
  • Gemittelter horizontal-vertikaler Intra-Prädiktionsmodus:
    • • c(0, 0) wird durch (t(0, –1) + l(–1, 0))/2 prädiziert
    • • c(1, 0) wird durch (t(1, –1) + l(–1, 0))/2 prädiziert
    • • c(2, 0) wird durch (t(2, –1) + l(–1, 0))/2 prädiziert
    • • c(3, 0) wird durch (t(3, –1) + l(–1, 0))/2 prädiziert
    • • c(0, 1) wird durch (t(0, –1) + l(–1, 1))/2 prädiziert
    • • c(1, 1) wird durch (t(1, –1) + l(–1, 1))/2 prädiziert
    • • c(2, 1) wird durch (t(2, –1) + l(–1, 1))/2 prädiziert
    • • c(3, 1) wird durch (t(3, –1) + l(–1, 1))/2 prädiziert
    • • c(0, 2) wird durch (t(0, –1) + l(–1, 2))/2 prädiziert
    • • c(1, 2) wird durch (t(1, –1) + l(–1, 2))/2 prädiziert
    • • c(2, 2) wird durch (t(2, –1) + l(–1, 2))/2 prädiziert
    • • c(3, 2) wird durch (t(3, –1) + l(–1, 2))/2 prädiziert
    • • c(0, 3) wird durch (t(0, –1) + l(–1, 3))/2 prädiziert
    • • c(1, 3) wird durch (t(1, –1) + l(–1, 3))/2 prädiziert
    • • c(2, 3) wird durch (t(2, –1) + l(–1, 3))/2 prädiziert
    • • c(3, 3) wird durch (t(3, –1) + l(–1, 3))/2 prädiziert
  • Das System kann für den Prädiktionsmodus eingestellt werden, der bevorzugt wird. In jenem Fall kann, wenn der Prädiktionswert für den verwendeten Prädiktionsmodus nicht verfügbar ist (beispielsweise, wenn im vertikalen Intra-Prädiktionsmodus der relevante Wert t(p, q) nicht verfügbar ist) das System dann eingestellt werden, einen alternativen Prädiktionsmodus (beispielsweise den horizontalen Prädiktionsmodus) zu verwenden. Wenn der Prädiktionswert für den anderen Prädiktionsmodus nicht verfügbar ist, wird der Prädiktionswert 128 verwendet.
  • Wenn ein Intra-Prädiktionsmodus verwendet wird, wird die bewegungskompensierte zeitliche Filterung (MCTF) in der Anhebe-Implementierung für die entsprechenden Blöcke in zwei aufeinanderfolgenden Frames B (aktuell) und A (Referenz) geringfügig modifiziert. Die Hochpassfilterung H ist für getrennte Pixel ausgelegt durch H(m, n) = (√2/2)·[B(m, n) – B'(m, n)],wobei B'(m, n) die Prädiktionspixel im aktuellen Frame unter Verwendung von Intra-Prädiktion, wie oben erwähnt, sind. Die Hochpassfilterung für verbundene Pixel und die Tiefpassfilterung bleiben dieselben.
  • Dann wird der aktuelle Frame für getrennte Pixel rekonstruiert durch B(m, n) = √2·H(m, n) + B'(m, n), wobei B'(m, n) die vorherigen rekonstruierten Pixel sind. Die übrigen Rekonstruktionsgleichungen bleiben unverändert.
  • Durch Verwendung dieses Intra-Prädiktions-Ansatzes werden die zeitlichen Hochpass-Frames verbessert, da die verwendeten Prädiktionswerte dichter an den zu prädizierenden Pixelwerten sein können als bei Verwendung des Bewegungsabschätzungs-Prozesses. Um die besten Ergebnisse zu erzielen, werden die Intra-Prädiktionsmodi mit der MC-Prädiktion basierend auf dem Bewegungsabschätzungs-Prozess verglichen, und es wird der Modus (Intra-Prädiktion oder MC-Prädiktion) ausgewählt, der zum niedrigsten durchschnittlichen Verzerrungswert führt.
  • Insbesondere werden die Werte der mittleren absoluten Differenz (MAD) für alle Intra-Prädiktionsmodi (vertikal, horizontal und horizontal-vertikal) und für die MC-Prädiktionsmodi (rückwärts und vorwärts) berechnet. Der Modus mit dem niedrigsten MAD-Wert wird als bester Prädiktionsmodus ausgewählt.
  • In dieser Ausführungsform werden dieselben drei Intra-Prädiktionsmodi für alle Komponenten verwendet, d. h. für Luminanz (luma, Y) und Chrominanz (chroma, Cb und Cr) plus dem ursprünglichen MCP-Modus, abhängig vom Verzerrungslevel, den jeder Modus mit sich bringt.
  • Durch Verwendung eines variablen Gewichtungsparameters kann der Anteil an Pixeln/Blöcken variiert werden, die unterschiedliche Modi verwenden. Beispielsweise kann Setzen der Gewichtungsparameter auf O bedeuten, das alle getrennten Pixel/Blöcke mithilfe von Pixeln aus demselben Frame als Prädiktionswerte prädiziert werden, und Erhöhen des Gewichtungsparameters erhöht den Anteil an Pixeln/Blöcken, die mithilfe von Bewegungskompensations-Prädiktion prädiziert werden.
  • Die obigen Intra-Prädiktionsmodi verwenden nur vertikale, horizontale und gemittelte Prädiktion. Jedoch könnten verschiedene andere Intra-Prädiktionen verwendet werden. Beispielsweise können alle Modi verwendet werden, die für den MPEG-4-AVC-Codec definiert sind. Dies sind neun Intra-Prädiktionsmodi, die als vertikale (Modus 0), horizontale (Modus 1), DC-(Modus 2), abwärts-links-diagonale (Modus 3), abwärts-rechts-diagonale (Modus 4), rechts-vertikale (Modus 5), abwärts-horizontale (Modus 6), links-vertikale (Modus 7) bzw. aufwärts-horizontale (Modus 8) Prädiktionsmodi bezeichnet werden. Auch gibt es vier unterschiedliche Intra-Prädiktionsmodi, die für unterschiedliche Blockgrößen und unterschiedliche Farbkomponenten angewendet werden können.
  • Ein vollständiger Satz von Prädiktionsmodus-Richtungen, wie in 5 gezeigt, ist unten beschrieben,
    • • Modus 0: Vertikal Aufwärts
    • • Modus 1: Vertikal Aufwärts Rechts
    • • Modus 2: Diagonal Aufwärts Rechts
    • • Modus 3: Horizontal Aufwärts Rechts
    • • Modus 4: Horizontal Rechts
    • • Modus 5: Horizontal Abwärts Rechts
    • • Modus 6: Diagonal Abwärts Rechts
    • • Modus 7: Vertikal Abwärts Rechts
    • • Modus 8: Vertikal Abwärts
    • • Modus 9: Vertikal Abwärts Links
    • • Modus 10: Diagonal Abwärts Links
    • • Modus 11: Horizontal Abwärts Links
    • • Modus 12: Horizontal Links
    • • Modus 13: Horizontal Aufwärts Links
    • • Modus 14: Diagonal Aufwärts Links
    • • Modus 15: Vertikal Aufwärts Links
    • • Modus 16: DC
  • Bei der Bewegungsabschätzung basiert die Auswahl der Blockgröße auf Rate-Distortion-Optimierung. Gegenwärtig erfolgt der Intra-Prädiktionsprozess nach der Bewegungsabschätzung und ist daher nicht Rate-Distortion-optimiert. Die Intra-Prädiktionsmodus-Auswahl könnte in die Rate-Distortion-Optimierung einbezogen werden.
  • Ein ähnlicher Intra-Prädiktionsprozess könnte für die Tiefpass-gefilterten Frames eingeführt werden.
  • Andere Arten von 3D Dekomposition und Transformationen können verwendet werden. Beispielsweise könnte die Erfindung in einem Dekompositionsschema angewendet werden, in dem zuerst räumliche Filterung und danach zeitliche Filterung vorgenommen wird.
  • Die Erfindung kann beispielsweise in einem computerbasierten System oder unter Verwendung geeigneter Hardware und/oder Software implementiert werden. Ein Codierer ist in 1 gezeigt, und ein entsprechender Decodierer weist entsprechende Komponenten zur Durchführung der inversen Decodierungsoperationen auf.

Claims (10)

  1. Verfahren zur Verschlüsselung einer Framesequenz (A, B) mithilfe von 3D Subband-Dekomposition, wobei das Verfahren Folgendes umfasst: Durchführung von bewegungskompensierter zeitlicher Filterung und räumlicher Filterung der Framesequenz (A, B) zur Erzeugung von 3D Subband-Koeffizienten; und Verschlüsselung der 3D Subband-Koeffizienten für eine Übertragung, wobei die zeitliche Filterung Folgendes umfasst: Bestimmung von Bewegungsvektoren; Ermittlung getrennter Pixel; und dadurch gekennzeichnet, dass für mindestens ein getrenntes Pixel (c(m, n)) ein Näherungswerts basierend auf einem oder mehreren Pixelwerten (t(p, q), l(r, s)) in demselben Frame wie das getrennte Pixel berechnet wird.
  2. Verfahren nach Anspruch 1, wobei das getrennte Pixel (c(m, n)) basierend auf einem oder mehreren angrenzenden Pixelwerten (t(p, q), r(r, s)) in demselben Frame wie das getrennte Pixel angenähert wird.
  3. Verfahren nach Anspruch 2, wobei vertikal und horizontal angrenzende Pixel in demselben Frame wie das getrennte Pixel als Näherungswerte verwendet werden.
  4. Verfahren nach Anspruch 2 oder 3 umfassend: Berechnung mehrerer Näherungswerte für ein getrenntes Pixel, wobei jeder Näherungswert basierend auf einem anderen Satz aus einem oder mehreren Pixeln in demselben Frame wie das getrennte Pixel berechnet wird; Vergleich des Unterschieds zwischen jedem Näherungswert und dem tatsächlichen Wert des getrennten Pixels; und Auswahl des Näherungswerts, der dem tatsächlichen Wert des getrennten Pixels am nächsten kommt.
  5. Verfahren nach einem der vorherigen Ansprüche ferner umfassend die Approximation des getrennten Pixelwerts mithilfe von Bewegungskompensation und Werten in anderen Frames als das getrennte Pixel, den Vergleich der Ergebnisse für die Approximationen mithilfe von Pixeln in anderen Frames als das getrennte Pixel, wobei die Approximationen auf Pixeln in demselben Frame wie das getrennte Pixel basieren, und die Auswahl der besten Approximation.
  6. Verfahren nach einem der vorherigen Ansprüche, wobei die zeitliche Filterung die Verwendung des angenäherten Pixelwerts in einer Transformationsgleichung einschließt.
  7. Verfahren zur Entschlüsselung einer Sequenz von 3D Subband aufgeteilten Frames, die mithilfe eines Verfahrens nach einem der vorherigen Ansprüche verschlüsselt wurden, wobei das Verfahren die Rekonstruktion eines getrennten Pixelwerts in einem Frame basierend auf dem Wert mindestens eines anderen Pixels in demselben Frame wie das getrennte Pixel umfasst.
  8. Verschlüsselungs- und/oder Entschlüsselungsvorrichtung, die für die Implementierung des Verfahrens nach einem der vorherigen Ansprüche geeignet ist.
  9. Computerprogramm für die Ausführung des Verfahrens nach einem der Ansprüche 1 bis 7.
  10. Computerprogramm nach Anspruch 9, das auf einem Computer-lesbaren Medium enthalten ist.
DE60317670T 2003-09-09 2003-09-09 Verfahren und Vorrichtung zur 3D-Teilbandvideokodierung Expired - Lifetime DE60317670T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP03255624A EP1515561B1 (de) 2003-09-09 2003-09-09 Verfahren und Vorrichtung zur 3D-Teilbandvideokodierung

Publications (2)

Publication Number Publication Date
DE60317670D1 DE60317670D1 (de) 2008-01-03
DE60317670T2 true DE60317670T2 (de) 2008-10-30

Family

ID=34130348

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60317670T Expired - Lifetime DE60317670T2 (de) 2003-09-09 2003-09-09 Verfahren und Vorrichtung zur 3D-Teilbandvideokodierung

Country Status (5)

Country Link
US (1) US7881374B2 (de)
EP (1) EP1515561B1 (de)
JP (1) JP4794147B2 (de)
CN (1) CN100411441C (de)
DE (1) DE60317670T2 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI243615B (en) * 2004-10-11 2005-11-11 Ind Tech Res Inst System for enhancing compression ratio of scalable video coding and method thereof
CN101053259B (zh) * 2004-11-04 2015-03-04 汤姆森特许公司 一种用于编码可分成宏块的图像的视频数据的装置和方法
KR100703745B1 (ko) * 2005-01-21 2007-04-05 삼성전자주식회사 비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치
KR100995226B1 (ko) * 2005-07-22 2010-11-17 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법, 화상 부호화 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 화상 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR100873636B1 (ko) 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치
US9204149B2 (en) * 2006-11-21 2015-12-01 Vixs Systems, Inc. Motion refinement engine with shared memory for use in video encoding and methods for use therewith
US9031129B2 (en) * 2007-06-15 2015-05-12 Microsoft Technology Licensing, Llc Joint spatio-temporal prediction for video coding
US7991237B2 (en) * 2007-06-28 2011-08-02 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
US20090168871A1 (en) * 2007-12-31 2009-07-02 Ning Lu Video motion estimation
WO2009116815A2 (en) * 2008-03-20 2009-09-24 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding using bandwidth extension in portable terminal
JP5344238B2 (ja) 2009-07-31 2013-11-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
JP5645589B2 (ja) * 2010-10-18 2014-12-24 三菱電機株式会社 動画像符号化装置
US20120236936A1 (en) * 2011-03-14 2012-09-20 Segall Christopher A Video coding based on edge determination
US9398300B2 (en) 2011-10-07 2016-07-19 Texas Instruments Incorporated Method, system and apparatus for intra-prediction in video signal processing using combinable blocks
WO2014038330A1 (ja) * 2012-09-06 2014-03-13 ソニー株式会社 画像処理装置及び画像処理方法
CN103108187B (zh) * 2013-02-25 2016-09-28 清华大学 一种三维视频的编码方法、解码方法、编码器和解码器
BR112015029097A2 (pt) * 2013-05-23 2017-07-25 Thomson Licensing método para mapeamento de tons de uma sequência de vídeo
CN104202594B (zh) * 2014-07-25 2016-04-13 宁波大学 一种基于三维小波变换的视频质量评价方法
US11800056B2 (en) 2021-02-11 2023-10-24 Logitech Europe S.A. Smart webcam system
US11800048B2 (en) 2021-02-24 2023-10-24 Logitech Europe S.A. Image generating system with background replacement or modification capabilities

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69609702T2 (de) * 1995-10-25 2001-04-12 Koninkl Philips Electronics Nv Verfahren und system zur kodierung segmentierter bilder sowie entsprechendes dekodierungsverfahren und -system
US5841473A (en) * 1996-07-26 1998-11-24 Software For Image Compression, N.V. Image sequence compression and decompression
JP2003504987A (ja) 1999-07-20 2003-02-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオシーケンスを圧縮する符号化方法
KR20020026177A (ko) * 2000-04-11 2002-04-06 요트.게.아. 롤페즈 비디오 엔코딩 및 디코딩 방법
EP1300023A2 (de) 2000-06-30 2003-04-09 Koninklijke Philips Electronics N.V. Kodierungsverfahren zur kompression einer bildfolge
KR20020064786A (ko) * 2000-07-25 2002-08-09 코닌클리케 필립스 일렉트로닉스 엔.브이. 웨이블릿 분해를 사용하는 비디오 인코딩 방법
US7020335B1 (en) * 2000-11-21 2006-03-28 General Dynamics Decision Systems, Inc. Methods and apparatus for object recognition and compression
EP1380174A1 (de) * 2001-04-10 2004-01-14 Koninklijke Philips Electronics N.V. Verfahren der codierung bildsequenz
US7042946B2 (en) * 2002-04-29 2006-05-09 Koninklijke Philips Electronics N.V. Wavelet based coding using motion compensated filtering based on both single and multiple reference frames
US7023923B2 (en) * 2002-04-29 2006-04-04 Koninklijke Philips Electronics N.V. Motion compensated temporal filtering based on multiple reference frames for wavelet based coding
US7653133B2 (en) * 2003-06-10 2010-01-26 Rensselaer Polytechnic Institute (Rpi) Overlapped block motion compression for variable size blocks in the context of MCTF scalable video coders

Also Published As

Publication number Publication date
CN100411441C (zh) 2008-08-13
DE60317670D1 (de) 2008-01-03
EP1515561A1 (de) 2005-03-16
JP2005086834A (ja) 2005-03-31
CN1595986A (zh) 2005-03-16
US20050053132A1 (en) 2005-03-10
EP1515561B1 (de) 2007-11-21
US7881374B2 (en) 2011-02-01
JP4794147B2 (ja) 2011-10-19

Similar Documents

Publication Publication Date Title
DE60317670T2 (de) Verfahren und Vorrichtung zur 3D-Teilbandvideokodierung
DE102004059993B4 (de) Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Bewegungsdaten-Prädiktion sowie Computerprogramm und computerlesbares Medium
DE69633129T2 (de) Waveletbaum-bildcoder mit überlappenden bildblöcken
DE69837003T2 (de) Vorrichtung und verfahren zur optimierung der bitratensteurung in einem kodiersystem
DE60027955T2 (de) Verfahren und Vorrichtung zur kontextbasierten Inter/Intra Kodierungsmodeauswahl
Adami et al. State-of-the-art and trends in scalable video compression with wavelet-based approaches
DE202016008177U1 (de) Bewegungsvektoraufteilung des letzten Frames
DE69915843T2 (de) Teilbandkodierung/-dekodierung
EP1774790A1 (de) Verfahren und vorrichtung zum codieren und decodieren
EP0956539A1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes
WO2006042612A1 (de) Vorrichtung und verfahren zum erzeugen einer codierten videosequenz und zum decodieren einer codierten videosequenz unter verwendung einer zwischen-schicht-restwerte-praediktion
DE10022520A1 (de) Verfahren zur örtlichen skalierbaren Bewegtbildcodierung
EP1829378B1 (de) Bildencodierverfahren, sowie dazugehöriges bilddecodierverfahren, encodiervorrichtung und decodiervorrichtung
DE60310128T2 (de) Verfahren zur wavelet-bildcodierung und entsprechendes decodierungsverfahren
EP1285537B1 (de) Verfahren und eine anordnung zur codierung bzw. decodierung einer folge von bildern
DE10219640B4 (de) Verfahren zum Codieren und Decodieren von Videosequenzen und Computerprogrammprodukt
DE102004063902B4 (de) Computerprogramm mit einem Verfahren zum Verarbeiten einer Gruppe von Bildern und mit einem Verfahren zum Verarbeiten eines Basisbildes und eines oder mehrerer Erweiterungsbilder
DE102004011421B4 (de) Vorrichtung und Verfahren zum Erzeugen eines skalierten Datenstroms
DE102004011422B4 (de) Vorrichtung und Verfahren zum Verarbeiten einer Gruppe von Bildern und Vorrichtung und Verfahren zum Verarbeiten eines Basisbildes und eines oder mehrerer Erweiterungsbilder
DE102004031407A1 (de) Verfahren zur Bildencodierung einer Folge von Originalbildern, sowie dazugehöriges Bilddecodierverfahren, Encodiervorrichtung und Decodiervorrichtung
DE10340407A1 (de) Vorrichtung und Verfahren zum Codieren einer Gruppe von aufeinanderfolgenden Bildern und Vorrichtung und Verfahren zum Decodieren eines codierten Bildsignals
WO2000046998A1 (de) Verfahren und anordnung zur transformation eines bildbereichs
Wei A study of perceptually tuned, wavelet based, rate scalable image and video compression
Xu et al. Data compression of stereoscopic image pairs
WO2003026271A2 (de) Verfahren zum kodieren und dekodieren von videosequenzen und computerprogrammprodukt

Legal Events

Date Code Title Description
8364 No opposition during term of opposition