-
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 schat tierte 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 3C sind
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 korre spondierende 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 Texturinforma tion,
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.