PatentDe  


Dokumentenidentifikation DE69837497T2 20.12.2007
EP-Veröffentlichungsnummer 0001076999
Titel VERFAHREN UND VORRICHTUNG ZUM KODIEREN EINES VIDEOSIGNALS
Anmelder Daewoo Electronics Corp., Seoul/Soul, KR
Erfinder KIM, Jin Hun Video Resear, Jung-gu, Seoul 100-095, KR
Vertreter Samson & Partner, Patentanwälte, 80538 München
DE-Aktenzeichen 69837497
Vertragsstaaten CH, DE, ES, FR, GB, IT, LI, NL, SE
Sprache des Dokument EN
EP-Anmeldetag 24.06.1998
EP-Aktenzeichen 989298906
WO-Anmeldetag 24.06.1998
PCT-Aktenzeichen PCT/KR98/00176
WO-Veröffentlichungsnummer 1999048300
WO-Veröffentlichungsdatum 23.09.1999
EP-Offenlegungsdatum 21.02.2001
EP date of grant 04.04.2007
Veröffentlichungstag im Patentblatt 20.12.2007
IPC-Hauptklasse H04N 7/30(2006.01)A, F, I, 20051017, B, H, EP

Beschreibung[de]
Technisches Gebiet

Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Kodieren eines Videosignals und im Spezielleren ein Verfahren und eine Vorrichtung für effektives Kodieren von Texturinformation des Videosignals auf der Grundlage umgeformter Forminformation gemäß dem zur Kodierung der Texturinformation gewählten Kodiertyp.

Hintergrundtechnik

Bei digitalen Videosystemen, wie Videotelefon und Telekonferenz-Systemen, wird eine große Menge digitaler Daten benötigt, um jedes digitales Videosignal zu definieren, da das Videosignal eine Sequenz digitaler Daten umfasst, die als Pixelwerte bezeichnet werden. Da jedoch die verfügbare Frequenzbandbreite eines konventionellen Übertragungskanals begrenzt ist, ist es nötig, um die bedeutsame Menge digitaler Daten über diesen zu übertragen, das Datenvolumen durch die Verwendung verschiedener Datenkomprimierungstechniken zu komprimieren oder zu reduzieren, besonders in dem Fall von solchen Videosignalkodierern mit geringen Bitraten, wie Videotelefon und Telekonferenz-Systemen.

Eine solcher Techniken zum Kodieren von Videosignalen für ein Kodierungssystem mit geringer Bitrate ist eine objektorientierte Analyse-Synthese-Kodiertechnik, wobei ein Eingangsvideobild in Objekte unterteilt wird und drei Gruppen von Parametern zur Definition der Bewegung, Kontur und Pixeldaten jedes Objekts durch verschiedene Kodierungskanäle verarbeitet werden.

Ein Beispiel solcher objektorientierter Kodierschemata ist das sogenannte MPEG (Moving Picture Experts Group) Phase 4 (MPEG-4), das dafür ausgelegt ist, für einen audio-visuellen Kodierungsstandard zu sorgen, um eine inhaltsbasierte Interaktivität, verbesserter Kodiereffizienz und/oder universellen Zugriff in solchen Anwendungen wie Kommunikation mit geringer Bitrate, interaktive Multimedien (z. B. Spiele, interaktives Fernsehen, usw.) und Umgebungsüberwachung zu ermöglichen (siehe Zum Beispiel MPEG-4 Video-Verification Model Version 7.0, International Organization for Standardization, Coding of Moving Pictures and Associated Audio Information, ISO/IEC JTC1/SC29/WG11 MPEG97/N1642, Bristol, April 1997).

Gemäß MPEG-4 ist ein Eingangsvideobild in eine Mehrzahl von Videoobjektebenen (VOPs; engl.: video object planes) unterteilt, die Einheiten in einem Bitstrom entsprechen, auf die ein Nutzer zugreifen und die er bearbeiten kann. Eine VOP kann durch ein begrenzendes Rechteck wiedergeben sein, dessen Breite und Höhe die kleinsten Vielfachen von 16 Pixeln sein können (eine Makroblock-Größe), das jedes Objekt umgibt, so dass der Kodierer das Eingangsvideobild VOP-weise verarbeitet. Eine in MPEG-4 offenbarte VOP enthält Forminformation und Texturinformation für ein darin befindliches Objekt, die durch eine Mehrzahl von Makroblöcken auf der VOP repräsentiert sind, wobei jeder dieser Makroblöcke z. B. 16×16 Pixel aufweist. Jeder der Makroblöcke auf der VOP kann als einer von einem Hintergrund-, einem Begrenzungs- und einem Objektmakroblock klassifiziert werden. Der Hintergrundmakroblock enthält nur Hintergrundpixel, die außerhalb eines Objekts in der VOP angeordnet sind; der Begrenzungsmakroblock enthält zumindest ein Hintergrundpixel und zumindest ein Objektpixel, das innerhalb des Objekts angeordnet ist; und der Objektmakroblock enthält nur Objektpixel. Die Forminformation wird z. B. durch Verwendung einer kontextbasierten arithmetischen Kodiertechnik (CAE; engl.: context-based arithmetic encoding) auf Makroblockbasis kodiert, während die Texturinformation durch die Verwendung konventioneller Kodiertechniken, wie zum Beispiel DCT (diskrete Cosinustransformation), Quantisierung und statistische Kodierprozesse auf der Makroblockbasis, kodiert wird. Im Besonderen wird der DCT-Prozess zur Transformierung der Texturinformation auf DCT-Block-Basis durchgeführt, wobei ein Makroblock in 4 DCT-Blöcke zu 8×8 Pixel unterteilt wird.

Über die DCT und die Quantisierungsprozesse wird eine DC-Komponente und eine Vielzahl von AC-Komponenten für jeden DCT-Block erzeugt, wobei jede AC-Komponente viel mehr Information als die DC-Komponente aufweist, so dass sie viele Bits benötigt, um sich selbst anzugeben. Wenn jedoch die Texturinformation für einen DCT-Block als Konstante angegeben werden kann, gibt es keine korrespondierende AC-Komponente ungleich Null für den DCT-Block. Deshalb wurde eine CBPY-(kodierter Blockmustertyp)-Information vorgeschlagen, um anzugeben, ob ein DCT-Block mindestens eine korrespondierende AC-Komponente ungleich Null aufweist, genauer gesagt, wenn zumindest eine AC-Komponente ungleich Null existiert, die einem DCT-Block korrespondiert, enthält die CBPY-Information ein Bit von z. B. "1" und ansonsten ein Bit von z. B. "0". Entsprechend kann ein Dekodierelement die Existenz jeder AC-Komponente ungleich Null für einen korrespondierenden DCT-Block angeben, indem einfach die CBPY-Information ermittelt wird, die von diesem durch einen Übertragungskanal ohne weitere Information für den entsprechenden DCT-Block und, bevor kodierte Texturinformation für den entsprechenden DCT-Block dorthin übertragen wurde, gesendet wurde.

Herkömmlich wird die CBPY-Information nur auf der Grundlage der Forminformation jedes Makroblocks bestimmt. Zum Beispiel weist ein Hintergrundmakroblock keine Objektpixel auf, so dass keine CBPY-Information erzeugt wird. Auch weist die CBPY-Information eines Makroblocks 4-Bit-Daten auf, wobei jedes Bit einem der 4 DCT-Blöcke innerhalb des Makroblocks entspricht, da der Objektmakroblock 4 nicht transparente DCT-Blöcke aufweist, wobei ein nicht transparenter DCT-Block eine DCT-Blockgröße hat und zumindest ein Objektpixel enthält, das zu kodieren ist.

Zusätzlich kann ein Begrenzungsmakroblock zusammen sowohl einen transparenten DCT-Block als auch einen nicht transparenten DCT-Block aufweisen, wobei der transparente DCT-Block darin nur Hintergrundpixel aufweist und nicht kodiert werden muss, so dass die CBPY-Information, die dem Begrenzungsmakroblock entspricht, Daten mit i Bit aufweisen kann, wobei i ein positiver ganzzahliger Wert im Bereich von 1 bis 4 ist und den jeweiligen Bits den jeweiligen nicht transparenten DCT-Blöcken in dem Makroblock entsprechen. Bezug nehmend auf 3A weist jeder der 4 DCT-Blöcke des Begrenzungsmakroblocks P1 mindestens ein Objektpixel auf, so dass CBPY-Information mit 4 Bit erzeugt wird, wobei jedes der Quadrate ein Pixel repräsentiert; jedes schattierte Quadrat ist ein Objektpixel und jedes weiße ist ein Hintergrundpixel. In ähnlicher Weise, weisen in 3B und 3C nur 2 DCT-Blöcke des Begrenzungsmakroblocks P2 und P3 jeweils zumindest ein Objektpixel auf, so dass CBPY mit nur 2 Bit erzeugt wird.

In der Zwischenzeit wurde, um die Texturinformation für die VOP zu kodieren, die Texturinformation für jeden der Makroblöcke verarbeitet, indem eine progressive und eine verschachtelte Kodiertechnik adaptive verwendet werden, um dadurch die Kodiereffizienz zu verbessern. Daher wurde DCT_Typ-Information, die eine Kodierbedingung, d. h. ein DCT_Typ, der Texturinformation repräsentiert, zum Einsatz gebracht, wobei der DCT_Typ auf der Makroblock-Basis unter Verwendung der Texturinformation bestimmt wurde. Zum Beispiel werden ein Form- und ein Feldkorrelationskoeffizient berechnet, wobei der Formkorrelationskoeffizient eine Summe von absoluten ersten Differenzen ist, wobei jede erste Differenz ein Fehler zwischen einem Linienpaar mit einer geraden Linie und einer daneben liegenden ungeraden Linie des Makroblocks ist; und der Feldkorrelationskoeffizient eine Summe von absoluten zweiten Differenzen und absoluten dritten Differenzen ist, wobei jede zweite Differenz und jede dritte Differenz Fehler zwischen einem aufeinander folgenden geraden Linienpaar bzw. einem aufeinander folgenden ungeraden Linienpaar des Makroblocks ist; und dann wird der DCT_Typ bestimmt, indem der Formkorrelationskoeffizient mit dem Feldkorrelationskoeffizient verglichen wird. Bei einer anderen bevorzugten Ausführungsform kann jede absolute Differenz durch einen quadratischen Fehler ersetzt werden (siehe MPEG-4 Video Verification Model Version 7.0, supra, S. 54). Je kleiner der Korrelationskoeffizient ist, um so größer ist der Grad der Korrelation. Wenn die Formkorrelation gleich oder größer der Feldkorrelation ist, so dass festgestellt wird, dass die progressive Kodiertechnik effektiver ist, weist die DCT_Typ-Information des Makroblocks z. B. ein Bit von "0" und ansonsten z. B. ein Bit von "1" auf.

Allerdings hängt die Bitanzahl der CBPY-Information in dem Begrenzungsmakroblock von dessem DCT_Typ ab. In 3B und 3Csind die Anzahlen der nicht transparenten DCT-Blöcke innerhalb eines progressiven und eines verschachtelten Makroblocktyps in Abhängigkeit von ihren DCT-Typen voneinander verschieden. Folglich wird die Bitanzahl der CBPY-Information auch entsprechend dem DCT_Typ geändert. Um genauer zu sein, wenn der Makroblock P2 mittels der progressiven Kodiertechnik kodiert wird, wird CBPY-Information mit 2 Bit erzeugt, und ansonsten wird CBPY-Information mit 4 Bit erzeugt. In der Zwischenzeit, wenn der Makroblock P3 mittels der progressiven Kodiertechnik kodiert wird, wird CBPY-Information mit 2 Bit erzeugt, und ansonsten wird CBPY-Information mit 1 Bit erzeugt.

Wie oben festgestellt werden kann, sollte, wenn ein Makroblock, der verarbeitet werden soll, ein Begrenzungsmakroblock ist, die Bitanzahl der CBPY-Information, d. h. die Anzahl der nicht transparenten DCT-Blöcke darin, in Abhängigkeit von dessen DCT_Typ ermittelt werden.

Da darüber hinaus ein zu dem Dekodierelement zu übertragender Datenstrom eine Sequenz von CBPY-Information und DCT_Typ-Information aufweist, ist es möglich, dass das Dekodierelement die Bitanzahl der CBPY-Information, d. h. die Anzahl der nicht transparenten DCT-Blöcke innerhalb des verarbeiteten Makroblocks, nicht korrekt vorhersagt und als Konsequenz möglicherweise die CBPY-Information nicht genau wiederherstellen kann.

"Core Experiment on MPEG-4 Shape Coding", ISO-IEC-JTC1-SC29-WG11, NR. N1994, offenbart die Schritte (a), (b) und (f) des Verfahrens gemäß der wie unten dargestellten vorliegenden Erfindung.

Offenbarung der Erfindung

Es ist deshalb eine hauptsächliche Aufgabe der Erfindung, ein Verfahren und eine Vorrichtung zur Verwendung in einem Videosignalkodierer zu liefern, um effektiv Texturinformation eines Videosignals zu kodieren, indem CBPY-Information basierend auf einem Kodiertyp, der durch die Texturinformation bestimmt wird, erzeugt wird.

In Übereinstimmung mit der vorliegenden Erfindung ist gemäß Anspruch 1 ein Verfahren zur Verwendung in einem Videosignalkodierer zum Kodieren von Texturinformation eines Videosignals vorgesehen, das die Texturinformation und Forminformation von jedem von Makroblöcken aufweist, wobei jeder Makroblock M×M Pixel aufweist und in eine Anzahl von P gleich großen Teilblöcken teilbar ist, wobei M und P jeweils positive ganze Zahlen sind, die Schritte umfassend:

  • (a) Ermittlung eines Kodiertyps eines Zielmakroblocks auf der Grundlage räumlicher Korrelation von dessen Texturinformation, wobei der Kodiertyp eine wirksamere Kodiertechnik von einer progressiven und einer verschachtelten Kodiertechnik zum Kodieren von Textinformation derselben angibt;
  • (b) Umformen der Texturinformation über den Zielmakroblock in Antwort auf den Kodiertyp, um umgeformte umgeformte Texturinformation desselben zu erzeugen;
  • (c) Detektieren der Forminformation, um zu ermitteln, welcher Unterblock des Zielmakroblocks ein transparenter Unterblock oder ein nicht transparenter Unterblock ist;
  • (d) Transformieren der umgeformten Texturinformation des Zielmakroblocks in eine Gruppe von Transformationskoeffizienten für jeden nicht transparenten Unterblock und Quantisieren der Gruppe von Transformationskoeffizienten, um dadurch eine Gruppe quantisierter Transformationskoeffizienten zu erzeugen, wenn wenigstens ein Unterblock des Zielmakroblocks ein nicht transparenter Unterblock ist;
  • (e) Detektieren der Gruppe quantisierter Transformationskoeffizienten für jeden nicht transparenten Unterblock, um CBPY-Information für den Zielmakroblock zu erzeugen, wobei die CBPY-Information angibt, ob die Gruppe quantisierter Transformationskoeffizienten für jeden nicht transparenten Unterblock wenigstens eine Komponente ungleich Null darin enthält oder nicht; und
  • (f) Multiplexen des Kodiertyps und der CBPY-Information für den Zielmakroblock, um einen Bitstrom zu erzeugen.

Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen definiert.

Kurze Erläuterung der Zeichungen

Die obigen und weitere Aufgaben und Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung bevorzugter Ausführungsformen in Verbindung mit den beigefügten Zeichnungen ersichtlich, in denen:

1 ein Blockdiagramm eines Videosignalkodierers gemäß der vorliegenden Erfindung angibt;

2A und 2B ein Flussdiagramm bereitstellen, das den Kodieralgorithmus eines Videosignals gemäß der vorliegenden Erfindung betrifft.

3A und 3C Beispiele für Begrenzungsmakroblöcke beschreiben, die in zwei verschiedene Typen klassifiziert werden; und

4 eine Folge eines Datenstroms zeigt, der zu einem Dekodierelement übertragen werden soll.

Weise, die Erfindung auszuführen

Ein Videosignal umfasst Forminformation und Texturinformation über eine Mehrzahl von Makroblöcken darin und die Texturinformation wird gemäß Ausführungsformen der vorliegenden Erfindung adaptiv auf Makroblockbasis entweder durch die Verwendung einer progressiven oder einer verschachtelten Kodiertechnik kodiert. Jeder der Makroblöcke hat M×M, z. B. 16×16, Pixel und kann in 4 DCT-Blöcke unterteilt werden, die dieselbe Anzahl Pixel haben, z. B. 8×8 Pixel, wobei M ein positiver ganzzahliger Wert ist.

Bezug nehmend auf 1 ist dort ein Blockdiagramm eines Videosignalkodierers 10 in Übereinstimmung mit der vorliegenden Erfindung bereitgestellt.

Texturinformation über einen zu verarbeitenden Makroblock wird in eine DCT-Typ-Entscheidungseinheit 110 und in eine Texturumformungseinheit 117 parallel eingegeben und seine korrespondierende Forminformation wird in einen Formkodierer 150 eingekoppelt.

Der Formkodierer 150 kodiert die Forminformation unter Verwendung eines bekannten Formkodierverfahrens, z. B. die CAE-Technik, die in MPEG-4 oben, offenbart ist, um dadurch kodierte Forminformation zu erzeugen und die kodierte Forminformation einem Multiplexer (MUX) 190 über eine Leitung L11 zu liefern. Der Formkodierer 150 liefert auch rekonstruierte Forminformation über den zu verarbeitenden Makroblock, der durch Dekodierung der kodierten Forminformation erzeugt wird, an eine Formumformungseinheit 113 über eine Leitung L10.

In der Zwischenzeit entscheidet die DCT-Typ-Entscheidungseinheit 110 über einen DCT-Typ des zu verarbeitenden Makroblocks, indem ein bekanntes DCT-Typbestimmungsverfahren basierend auf der Texturinformation verwendet wird, und liefert dann DCT-Typinformation an den MUX 190, die Texturumformungseinheit 117 und die Formumformungseinheit 113 über eine Leitung L1, wobei die DCT-Typinformation angibt, ob festgestellt wurde, dass die progressive Kodiertechnik für den zu verarbeitenden Makroblock effektiver als die verschachtelte Kodiertechnik ist, oder nicht.

Zuerst einmal, wenn die DCT-Typinformation, die den progressiven Kodiertyp angibt, in die Formumformungseinheit 113 über die Leitung L1 eingekoppelt wird, überträgt die Formumformungseinheit 113 die rekonstruierte Forminformation, die vom Formkodierer 150 geliefert wird, direkt als die progressive Forminformation zu einer Bitanzahl-Auswahleinheit 120 für den kodierten Blockmustertyp (CBPY) und einer DCT- und Q-Einheit 130. Auf der anderen Seite liefert die Formumformungseinheit 113 umgeformte Forminformation, d. h. verschachtelte Forminformation, die durch Mischung der rekonstruierten Forminformation entsprechend der verschachtelten Kodiertechnik erzeugt wurde, an die CBPY-Bitanzahl-Auswahleinheit 120 und die DCT- und Q-Einheit 130, wenn die DCT-Typinformation, die den verschachtelten Kodiertyp angibt, dort eingegeben wird.

Ähnlich, wenn die DCT-Typinformation, die den progressiven Kodiertyp angibt, in die Texturumformungseinheit 117 über die Leitung L1 eingekoppelt wird, liefert die Texturumformungseinheit 117 direkt die dort eingekoppelte Texturinformation als progressive Texturinformation an die DCT- und Q-Einheit 130. Auf der anderen Seite liefert die Texturumformungseinheit 117 umgeformte Texturinformation, d. h, verschachtelte Texturinformation, die durch das Mischen der Texturinformation entsprechend der verschachtelten Kodiertechnik, erzeugt wird, an die DCT- und Q-Einheit 130, wenn die DCT-Typinformation, die den verschachtelten Kodiertyp angibt, dort eingegeben wird.

In der Zwischenzeit ermittelt die CBPY-Bitanzahl-Auswahleinheit 120 die umgeformte Forminformation, d. h. die progressive Forminformation oder die verschachtelte Forminformation, die von der Formumformungseinheit 113 eingespeist wurde, um so unter den DCT-Blöcken in der umgeformten Forminformation nicht transparente DCT-Blöcke zu finden, falls es solche gibt, wobei jeder nicht transparente DCT-Block eine DCT-Blockgröße hat und wenigstens ein Objektpixel enthält und wobei die Anzahl nicht transparenter DCT-Blöcke des zu verarbeitenden Makroblocks als eine CBPY-Bitanzahl ermittelt wird. Im Besonderen erfordert ein nicht transparenter DCT-Block CBPY mit einem Bit. Die CBPY-Bitanzahl wird in die DCT- und Q-Einheit 130 und die CBPY-Kodiereinheit 180 eingekoppelt. Wenn die CBPY-Bitanzahl Null ist, d. h. der zu verarbeitende Makroblock ist ein Hintergrund-Makroblock, wird seine Texturinformation nicht in der DCT- und Q-Einheit 130 und die CBPY-Kodiereinheit 180 kodiert und deshalb werden seine unten beschriebene CBPY-Information und kodierte Texturinformation nicht erzeugt.

Bezug nehmend auf 3A bis 3C sind verschiedene Beispiele von Begrenzungsmakroblöcken bereitgestellt, die in zwei verschiedene Typen klassifiziert werden, d. h. ein progressiver und ein verschachtelter Makroblocktyp. Die Makroblöcke P1 bis P3, die jeweils progressive Makroblocktypen darstellen, werden umgeformt zu verschachtelten Makroblocktypen I1 bis I3, mit DCT-Blöcken IT1 und IB1 bis IT3 und IB3 im oberen Feld und unteren Feld. Zum Beispiel ist in 3A die Anzahl nicht transparenter DCT-Blöcke bei den progressiven und den verschachtelten Makroblocktypen P1 und I1 identisch z. B. 4. In 3B ist die Anzahl nicht transparenter DCT-Blöcke bei dem progressiven Makroblocktyp P2 gleich 2, während bei dem verschachtelten Makroblocktyp I2 diese gleich 4 ist. In 3C ist die Anzahl nicht transparenter DCT-Blöcke beim progressiven Makroblocktyp P3 gleich 2, während sie beim verschachtelten Makroblocktyp I3 gleich 1 ist.

Wenn die CBPY-Bitanzahl ungleich Null ist, so dass der zu verarbeitende Makroblock als Begrenzungsmakroblock, der mindestens ein Objektpixel hat, oder als Objektmakroblock klassifiziert wird, der nur Objektpixel hat, konvertiert die DCT- und Q-Einheit 130 die umgeformte Texturinformation, die jedem der nicht transparenten DCT-Blöcke entspricht, in eine Gruppe von DCT-Koeffizienten und quantisiert die Gruppe von DCT-Koeffizienten, um eine Gruppe von quantisierten DCT-Koeffizienten einer statistischen Kodiereinheit 140 und einer AC-Komponentendetektionseinheit 160 bereitzustellen. Insbesonders, wenn die CBPY-Bitanzahl ungleich Null ist und die progressive Kodiertechnik für die Kodierung des zu verarbeitenden Blocks gewählt wird, wird die progressive Texturinformation für zumindest einen nicht transparenten DCT-Block, der auf der Grundlage der progressiven Forminformation ermittelt wird, in DCT-Koeffizienten auf DCT-Block-Basis transformiert. Auf der anderen Seite, wenn die CBPY-Bitanzahl ungleich Null ist, während die verschachtelte Kodiertechnik gewählt wird, wird die verschachtelte Texturinformation für wenigstens einen nicht transparenten DCT-Block, der auf Basis der verschachtelten Forminformation ermittelt wird, basierend auf der DCT-Blockbasis in DCT-Koeffizienten konvertiert.

In 3A wird, da die progressiven und die verschachtelten Makroblocktypen P1 und I1 jeweils nur nicht transparente DCT-Blöcke haben, die Texturinformation des zu verarbeitenden Makroblocks in der DCT- und Q-Einheit 130 in 4 Gruppen von quantisierten DCT-Koeffizienten konvertiert. Auf der anderen Seite wird, da P2 und P3 zwei nicht transparente DCT-Blöcke haben, die Texturinformation, die jedem der zwei nicht transparenten DCT-Blöcke entspricht, in eine Gruppe von quantisierten DCT-Koeffizienten konvertiert, wobei, da die verschachtelten Makroblocktypen I2 und I3 4 bzw. 1 nicht transparenten DCT-Block haben, die Texturinformation des verschachtelten Makroblocktyps I2 und von I3 in 4 bzw. 1 Gruppe von quantisierten DCT-Koeffizienten konvertiert wird.

Die statistische Kodiereinheit 140 erzeugt kodierte Texturinformation durch Komprimieren der Gruppe von quantisierten DCT-Koeffizienten, die von der DCT- und Q-Einheit 130 durch die Verwendung von z. B. einer Kodiertechnik variabler Länge erlangt wurden, und liefert die kodierte Texturinformation an den MUX 190.

Die AC-Komponentendetektionseinheit 160 prüft, ob zumindest eine AC-Komponente ungleich Null in der Gruppe der quantisierten DCT-Koeffizienten existiert und liefert einer CBPY-Erzeugungseinheit 170 das Prüfergebnis.

Wenn das Ergebnis der Prüfung angibt, dass die Gruppe der quantisierten DCT-Koeffizienten zumindest eine AC-Komponente ungleich Null darin enthält, erzeugt die CBPY-Erzeugungseinheit 170 ein CBPY-Bit, z. B. "1", für die Gruppe und ansonsten ein CBPY-Bit, z. B. "0". Wenn CBPY-Bits für alle Gruppen von DCT-Koeffizienten, d. h. alle der nicht transparenten DCT-Blöcke, die dem zu verarbeitenden Makroblock entsprechen, durch den obigen Prozess bestimmt wurden, liefert die CBPY-Erzeugungseinheit 170 die CBPY-Bits als CBPY-Information an eine CBPY-Kodiereinheit 180.

Die CBPY-Kodiereinheit 180 nimmt eine VLC-Tabelle auf der CBPY-Bitanzahl basiert, die von der CBPY-Bitanzahl-Auswahleinheit 120 zugeführt wurde, detektiert einen Kode variabler Länge (VLC) für die CBPY-Information in der VLC-Tabelle und liefert den detektierten VLC an den MUX 190 als kodierte CBPY-Information.

Der MUX 190 multiplext die DCT-Typinformation, die kodierte Texturinformation, die kodierte CBPY-Information und die kodierte Forminformation, die zugeführt wurden, und liefert einen Datenstrom für den zu verarbeitenden Makroblock in einer Sequenz der kodierten Forminformation, der DCT-Typinformation, der kodierten CBPY-Information und der kodierten Texturinformation, wie in 4 beschrieben, an einen Sender (nicht gezeigt) für die Übertragung derselben.

Bezug nehmend auf 2A und 2B ist dort ein Flussdiagramm bereitgestellt, das den Kodieralgorithmus eines Videosignals in Übereinstimmung mit der vorliegenden Erfindung betrifft.

Bei Schritt S21 wird die Texturinformation und ihre entsprechende rekonstruierte Forminformation für einen zu verarbeitenden Makroblock empfangen, und bei Schritt S22 wird ein Kodiertyp, d. h. ein DCT-Typ des zu verarbeiteten Makroblocks basierend auf dessen Texturinformation ermittelt, wobei der Kodiertyp angibt, ob die progressive Kodiertechnik der verschachtelten Kodiertechnik vorzuziehen ist oder nicht.

Wenn die progressive Kodiertechnik vorzuziehen ist, werden die Textur- und ihre rekonstruierte Forminformation als die umgeformte Textur- bzw. Forminformation erhalten und es geht weiter bei Schritt S24; und, wenn dies nicht der Fall ist, werden bei Schritt S23 die Textur- und ihre rekonstruierte Forminformation getrennt gemischt, so dass die gemischte Textur- und rekonstruierte Forminformation, d. h. die verschachtelte Textur- und Forminformation, den Platz der umgeformten Textur- und Forminformation einnehmen, und es geht weiter bei Schritt S24.

Bei Schritt S24 wird die umgeformte Forminformation des zu verarbeitenden Makroblocks auf DCT-Block-Basis detektiert; es wird bestimmt, ob jeder DCT-Block einem nicht transparenten DCT-Block entspricht, wobei der nicht transparente DCT-Block mindestens ein Objektpixel enthält, und die CBPY-Bitanzahl, die Anzahl der nicht transparenten DCT-Blöcke in dem zu verarbeitenden Makroblock, wird berechnet. Das bedeutet, die CBPY-Bitanzahl wird basierend auf der umgeformten Forminformation entsprechend dem DCT-Typ erzeugt.

Wenn die CPBY-Bitanzahl ungleich Null ist, d. h. der zu verarbeitende Makroblock entspricht nicht einem Hintergrundmakroblock, wird bei Schritt S25 die umgeformte Texturinformation von der umgeformten Forminformation ausmaskiert, so dass die umgeformte Texturinformation nur für die nicht transparenten DCT-Blöcke gewählt wird; die nicht transparenten DCT-Blöcke werden auf DCT-Block-Basis in eine Gruppe von DCT-Koeffizienten transformiert; und die Gruppe der DCT-Koeffizienten wird in eine Gruppe von quantisierten DCT-Koeffizienten quantisiert.

Bei Schritt S27 wird detektiert, ob die Gruppe quantisierter DCT-Koeffizienten mindestens eine AC-Komponente ungleich Null enthält oder nicht, wobei die Gruppe der quantisierten DCT-Koeffizienten eine DC-Komponente und eine Mehrzahl von AC-Koeffizienten hat.

Bei Schritt S28 wird, wenn die Gruppe der quantisierten DCT-Koeffizienten für einen nicht transparenten DCT-Block mindestens eine AC-Komponente ungleich Null darin enthält, eine CBPY-Bitanzahl, z. B. "1" dieser zugewiesen und, falls dies nicht der Fall ist, wird ein CBPY-Bit, z. B. "0", zugewiesen. So entsprechen alle CBPY's des zu verarbeitenden Makroblocks der CBPY-Information, und es wird bei Schritt S29 die CBPY-Information basierend auf der CBPY-Bitanzahl kodiert, um CBPY-Information des zu verarbeitenden Makroblocks zu kodieren.

Die DCT-Typinformation und die kodierte CBPY-Information werden in dieser Reihenfolge bei Schritt S30 gemultiplext.

Da als Ergebnis der DCT-Typ der Texturinformation nicht nur die Kodierungsbedingung davon, sondern auch einen Mischungszustand der Forminformation wiedergeben kann, wird die CBPY-Bitanzahl an dem Dekodierelement auf Basis der gemischten Forminformation auf einfache Weise abgeschätzt, und deshalb wird die Existenz von AC-Komponenten ungleich Null für jeden DCT-Block auf einfache Weise ermittelt, indem nur die CBPY-Information detektiert wird, bevor die kodierte Texturinformation für den DCT-Block empfangen wird.

Auch wenn die vorliegende Erfindung nur unter Bezugnahme auf bestimmte bevorzugte Ausführungsformen beschrieben wurde, können weitere Modifikationen und Variationen vorgenommen werden, ohne sich dabei vom Umfang der vorliegenden Erfindung, wie in den nachfolgenden Ansprüchen dargelegt, zu entfernen.


Anspruch[de]
Verfahren zur Verwendung in einem Videosignalkodierer zum Kodieren von Texturinformation eines Videosignals, das die Texturinformation enthält, und von Forminformation über jeden von Makroblöcken, wobei jeder Makroblock M×M Pixel aufweist und in eine Anzahl von P gleich großen Teilblöcken unterteilbar ist, wobei M und P jeweils positive ganze Zahlen sind, die Schritte umfassend:

(a) Ermitteln eines Kodiertyps eines Zielmakroblocks auf der Grundlage räumlicher Korrelation von dessen Texturinformation, wobei der Kodiertyp eine wirksamerere Kodiertechnik von einer progressiven und einer verschachtelten Kodiertechnik zum Kodieren der Textinformation desselben angibt;

(b) Umformen der Texturinformation über den Zielmakroblock in Antwort auf den Kodiertyp, um umgeformte umgeformte Texturinformation desselben zu erzeugen;

(c) Detektieren der Forminformation, um zu ermitteln, welcher Unterblock des Zielmakroblocks ein transparenter Unterblock oder ein nicht transparenter Unterblock ist;

(d) Transformieren der umgeformten Texturinformation des Zielmakroblocks in eine Gruppe von Transformationskoeffizienten für jeden nicht transparenten Unterblock und Quantisieren der Gruppe von Transformationskoeffizienten, um dadurch eine Gruppe quantisierter Transformationskoeffizienten zu erzeugen, wenn wenigstens ein Unterblock des Zielmakroblocks ein nicht transparenter Unterblock ist;

(e) Detektieren der Gruppe quantisierter Transformationskoeffizienten für jeden nicht transparenten Unterblock, um CBPY-Information für den Zielmakroblock zu erzeugen, wobei die CBPY-Information angibt, ob die Gruppe quantisierter Transformationskoeffizienten für jeden nicht transparenten Unterblock wenigstens eine Komponente ungleich Null darin enthält oder nicht; und

(f) Multiplexen des Kodiertyps und der CBPY-Information für den Zielmakroblock um einen Bitstrom zu erzeugen.
Verfahren nach Anspruch 1, bei dem der Bitstrom in Folge des Kodiertyps und der CBPY-Information vorliegt. Verfahren nach Anspruch 2, bei dem die Gruppe quantisierter Transformationskoeffizienten eine DC-Komponente und eine Mehrzahl von AC-Komponenten enthält und die CBPY-Information angibt, ob die Gruppe quantisierter Transformationskoeffizienten für jeden nicht transparenten Unterblock wenigstens eine AC-Komponente ungleich Null darin enthält oder nicht. Verfahren nach Anspruch 3, bei dem der Schritt (e) die Schritte aufweist:

(e1) Ermitteln, ob die Gruppe quantisierter Transformationskoeffizienten für jeden nicht transparenten Unterblock wenigstens eine AC-Komponente ungleich Null darin enthält oder nicht, um dadurch ein Bit CBPY für jeden nicht transparenten Unterblock zu erzeugen;

(e2) Anfertigen einer statistischen Kodiertabelle für den Zielmakroblock entsprechend der CBPY-Bitanzahl; und

(e3) Kodieren aller CBPY's für den Zielmakroblock auf der Grundlage der statistischen Kodiertabelle, um die CBPY-Information zu erzeugen.
Verfahren nach Anspruch 4, bei dem der Schritt (b) die Schritte aufweist:

(b1) Beibehalten der Forminformation und der Texturinformation, wenn der Kodiertyp des Zielmakroblocks als die progressive Kodiertechnik festgelegt wurde; und

(b2) Mischen der Forminformation und der Texturinformation, um die verschachtelte Forminformation bzw. die verschachtelte Texturinformation zu erzeugen, wenn der Kodiertyp des Zielmakroblocks als die verschachtelte Kodiertechnik festgelegt wurde.






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