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.