Bereich der Erfindung
Die vorliegende Erfindung bezieht sich auf den Bereich der Videoverarbeitung
und insbesondere auf den Bereich der Kompression, Codierung und Decodierung von
Videobildern.
Hintergrund der Erfindung
Videobilder werden codiert und komprimiert um die Größe
der Datensätze zu reduzieren, erforderlich um diese Bilder zu kommunizieren.
Die Größe der komprimierten Codierung eines Bildes kann mehrere Aspekte
der Leistung eines Videosystems beeinträchtigen. Speicheranforderungen, Bandbreitenanforderungen
und Übertragungsratenanforderungen sind alle unmittelbar mit der Größe
des codierten Bildes korreliert. Die Größe der komprimierten Codierung
kann auch einen Effekt auf die Bildqualität haben. MPEG beispielsweise ist
eine verlustbehaftete Codierung: wenn die Codierung eine Raum- oder Zeitbegrenzung
übersteigt, die durch einen MPEG-Standard auferlegt worden ist, wird die Codierung
gestutzt, damit sie in den verfügbaren Raum passt. Das heißt, wenn eine
Codierung zu komplex ist, dies in Termen des Betrags an Information, die in der
zur Übertragung verfügbaren Zeit übertragen werden muss, tritt ein
Qualitätsverlust auf. Auf gleiche Weise erfordert die Übertragung von
Bildern über Kanäle mit einer relativ niedrigen Bitrate eine Reduktion
des Betrags zu übertragender Daten, was meistens durch Reduktion der Auflösung
und der Qualität des übertragenen Bildes effektuiert wird.
Im Allgemeinen ist die Größe der komprimierten Codierung
eines Bildes von dem Inhalt des Bildes und von den zum Codieren des Bildes angewandten
Techniken abhängig. Herkömmlicherweise benutzen der Bereich der Videoverarbeitung
und der graphischen Bildverarbeitung verschiedene Prozesse und Techniken um Bilder
zu etwaigen Zuschauern zu transportieren. Videobildverarbeitung ist primär
rasterbasiert. Ein Bild wird unter Verwendung eines vorbestimmten Musters abgetastet
um eine Modulation eines Signals zu erzeugen, das Signal wird einem Empfänger
zugeführt und der Empfänger führt die Modulation einer Wiedergabeanordnung
zu um das Bild neu zu erzeugen. Es werden mehrere Techniken angewandt um die Codierung
des Rasterbildes zu komprimieren zur Optimierung der Übertragungseffizienz
und der Geschwindigkeit, einschließlich MPEG und anderer Codierungen.
Graphische Bildverarbeitung ist andererseits primär objektbasiert.
Ein Bild wird aus einer Vielzahl von Objekten zusammengestellt, wobei jedes Objekt
ein bestimmtes Gebiet des graphischen Bildes belegt. Die Objekte können unmittelbar
mit wirklichen Objekten in dem Bild übereinstimmen, wie mit Boxen und Kreisen,
oder sie können mit geschaffenen Objekten übereinstimmen, wie einer Vielzahl
von dreieckförmigen Segmenten von Gebieten des Bildes mit ähnlichen Charakteristiken.
Die graphische Codierung eine Bildes umfasst die Identifikation des Typs des Objektes,
wie Linie, Kreis, Dreieck, usw., und die Stelle in dem Bild, wo das Objekt erscheint.
Mit jedem Objekt sind auch assoziiert Parameter, die beschreiben, wie das Objekt
an der spezifizierten Stelle gerendert werden soll, wie die Farbe des Objektes,
die Größe, die Struktur, den Schatten, die Transparenz, usw. Diese Parameter
können in die Identifikation des Typs des Objektes eingeschlossen sein (beispielsweise
ein roter Kreis), oder in die Spezifikation der Stelle des Objektes in dem Bild
(ein Kreis auf (x, y), Farbe = Rot).
In der graphischen sowie Rastercodierung werden große Gebiete
einheitlicher Charakteristiken auf effiziente Art und Weise codiert. Ein großes
blaues Quadrat in einem Bild wird in einer graphischen Codierung als ein Quadrat
einer bestimmten Größe mit einer Farbe Blau auf einer bestimmten Koordinate
in dem Bildraum liegend codiert. Die Rasterabtastung eines monochromen Gebietes,
wie eines großen blauen Quadrats, erzeugt Bänder einer relativ konstanten
Modulation; diese konstanten Modulationen werden während des diskreten Kosinustransformationsprozesses
(DCT), der Kompressionsverfahren wie MPEG gemein ist, auf effiziente Weise komprimiert.
Andererseits werden strukturierte Gebiete nicht unbedingt durch eine
DCT Transformation auf effiziente Weise codiert, weil die Modulation nicht konstant
ist. Eine Backsteinmauer, die rote Backsteine und graue Zement zwischen den Steinen
aufweist, wird verschiedene Modulationen erzeugen wenn die Rasterabtastung während
des Abtastprozesses über jedes rote Gebiet und jedes graue Gebiet geht. Auf
gleiche Weise wird eine marmorierte Fläche, die aus beliebigen Körnungsstreifen
verschiedener Farben, worunter grauweiße Wolken unterschiedlicher Intensität
besteht, ein nicht einheitliches Modulationsmuster erzeugen. Derartige Gebiete können
aber auf effiziente Weise als graphische Objekte mit bestimmten Strukturcharakteristiken
codiert werden (beispielsweise Backsteinmauer auf (x.y), Farben = Rot, Grau). Im
Gegensatz dazu können Bilder mit einigermaßen beliebig platzierten Objekten
auf effizientere Art und Weise als komprimierte Rastercodierung codiert werden.
Eine Außenszene kann beispielsweise auf effiziente Weise durch eine DCT Transformation
komprimiert werden, kann aber nicht auf effiziente Weise als graphische Codierung
jedes Objektes, das das Bild formt, wie jedes Blatt an einem Baum in der Szene,
codiert werden.
Herkömmliche Videoverarbeitung eines Bildes
erzeugt eine Codierung des Bildes, das unabhängig von der Wiedergabeanordnung
ist, die verwendet wird um das Bild wiederzugeben. Im Allgemeinen wird das Bild
mit einer vorbestimmten horizontalen und vertikalen Frequenz und Auflösung
rasterabgetastet und codiert um möglichst viel Bildinformation zu bekommen.
Die detaillierte Bildinformation wird einer 3'' tragbaren Wiedergabeanordnung oder
einer 36'' Wand-Wiedergabeanordnung zugeführt, ungeachtet der Fähigkeiten
der Wiedergabeanordnung zum Wiedergeben dieser Information. Innerhalb derselben
Wiedergabeanordnung wird auch dieselbe detaillierte Bildinformation verarbeitet,
ungeachtet ob das Bild als Vollschirmbild oder an einem Teil des Schirms wiedergegeben
wird, wie in einem BiB-Fenster. Nebst der inhärenten Ineffizienz dieser Informationsübertragung
erfordert die Umwandlung hochauflösender Bildinformation zur Wiedergabe an
einer Wiedergabeanordnung mit niedriger Auflösung, oder einem kleinen Gebiet
einer hochauflösenden Wiedergabeanordnung auch die Anwendung von Anti-Treppeneffekt
Filtertechniken zum Entfernen der übermäßigen Information vor der
Wiedergabe. In dem oben stehenden Beispiel der roten Backsteinmauer mit grauem Zement
wird eine Wiedergabeanordnung mit niedriger Auflösung mit einem geeigneten
Anti-Treppeneffekt die Mauer als einheitliches Gebiet einer schlechten roten Farbe
wiedergeben. Ein Versuch, die Einzelheiten des grauen Zements wiederzugeben, ohne
den Anti-Treppeneffekt, wird typischerweise zu der Wiedergabe einer roten Mauer
mit beliebigen grau-moire Mustern führen.
EP0706166 beschreibt dass ein Videosignal
in eine glatte Komponente, eine Konturkomponente und eine Strukturinformation mit
allen anderen Komponenten zerlegt. Die glatte Komponente wird in Koeffizienten codiert.
Die Konturkomponente wird durch Änderung der Koordinaten und Amplituden von
Pixeln in einer Kette codiert. Nicht detektierte Konturen werden als die Strukturinformation
extrahiert, die mit einer hohen Kompressionsrate komprimiert wird.
Auf diese Weise stellt es sich heraus, dass weder herkömmliche
Videoverarbeitung noch herkömmliche Bildverarbeitung eine hervorragende Leistung
und Effizienz schafft, dies im vergleich zu den anderen unter allen Umständen.
Es ist ebenfalls ersichtlich, dass herkömmliche Videoverarbeitung kein Codierungsverfahren
schafft, das für verschiedene Wiedergabeanordnungen optimal ist.
Deswegen gibt es das Bedürfnis nach einer Codierungstechnik,
welche die Vorteile von Videoverarbeitung und Bildverarbeitung schafft. Insbesondere
gibt es ein bedürfnis nach einer Bildcodierungstechnik, die eine minimal bemessene
Codierung eines Bildes ermöglicht, ohne Qualitäts- oder Auflösungsverlust,
der herkömmlich auftritt, wenn Videocodierungen in Größe reduziert
werden. Es gibt ebenfalls ein Bedürfnis nach einer Bildcodierungstechnik, die
einen Decodierungsprozess ermöglicht, der von der Charakteristik der Wiedergabeanordnung
abhängig ist, die zum Rendern des decodierten Bildes verwendet wird.
Es ist nun u. a. eine Aufgabe der vorliegenden Erfindung diese Bedürfnisse
zu befriedigen. Dazu schafft ein erster Aspekt der vorliegenden Erfindung ein Verfahren
nach Anspruch 1. Ein zweiter Aspekt der vorliegenden Erfindung schafft ein Verfahren
nach Anspruch 7. Ein dritter Aspekt der vorliegenden Erfindung schafft einen Codierer
nach Anspruch 12. Ein vierter Aspekt schafft einen Decoder nach Anspruch 15.
Vorteilhafte Ausführungsformen sind in den Unteransprüchen
definiert.
1 zeigt einige Blockschaltbilder eines Bildcodierers
und eines Bilddecoders nach der vorliegenden Erfindung.
2 zeigt ein Beispiel eines Flussdiagramms zur Codierung
eines Bildes nach der vorliegenden Erfindung.
3 zeigt ein Beispiel eines Flussdiagramms zur Decodierung
eines Bildes nach der vorliegenden Erfindung.
Detaillierte Beschreibung der bevorzugten Ausführungsform
Im Allgemeinen schafft die vorliegende Erfindung ein Verfahren und
eine Anordnung zur Codierung eines Bildes durch Codierung von Gebieten des Bildes,
die definierbare Parameter haben und durch Codierung der restlichen Gebiete des
Bildes. Die vorliegende Erfindung eignet sich durchaus zur Codierung eines Bildes,
das Gebiete hat, die derart beschrieben werden können, als Gebiete mit einer
bestimmten Struktur. Jedes Gebiet des Bildes und der nachfolgenden Gebiete, welche
die spezielle Struktur haben, wird mit einem Identifizierer zu der Strukturcharakteristik
codiert, statt mit den Einzelheiten der Struktur selber. Regelmäßige Strukturmustertypen,
wie Backsteine, Marmor, Holzmaserung, Satin, Velours usw. sind mit Gebieten des
Bildes assoziiert und die Codierung dieser Gebiete enthalten vorwiegend eine Identifikation
des Mustertyps. Gebiete des Bildes, die keine regelmäßigen Strukturmustertypen
haben, werden wie herkömmliche rasterabgetastete Gebiete des Bildes codiert.
Eine Decodieranordnung nach der vorliegenden Erfindung verarbeitet die herkömmliche
rasterabgetastete Codierung, verarbeitet danach die Codierung der strukturierten
gebiete und füllt die mit jedem identifizierten Strukturmustertyp assoziierten
Einzelheiten auf. In einer bevorzugten Ausführungsform ist der von der Decodierungsanordnung
geschaffene Einzelheitspegel von den Charakteristiken der Wiedergabeanordnung abhängig.
Es dürfte dem Fachmann einleuchten, dass obschon die vorliegende
Erfindung sich insbesondere für herkömmliche Oberflächenstrukturierung
eignet. Jedes charakteristische Merkmal, das mit einem Gebiet assoziiert werden
kann, codiert werden kann, und zwar unter Anwendung der hier präsentierten
Grundlagen. Der Einfachheit der Präsentation und des Verständnisses halber
werden hier die Terme Struktur und Strukturgebiet benutzt zum Definieren eines charakteristischen
Merkmals oder Parameters und des Gebietes, das diese charakteristisches Merkmal
bzw. den Parameter aufweist.
1 zeigt Blockschaltbilder eines Bildcodierers
100 und eines Bilddecoders 200 nach der vorliegenden Erfindung.
Der Bildcodierer 100 codiert Bilder 101 aus einer Bildquelle
10 zum Bilden codierter Bilder 155. Der Bilddecoder
200 decodiert die codierten Bilder 155 zum Erzeugen decodierter
Bilder 201 zum Rendern an einer Wiedergabeanordnung 20. Im Allgemeinen
codiert der Codierer 100 und decodiert der Decoder 200 eine Sequenz
von Bildern 101. Die nachfolgende Beschreibung betrifft die Codierung und
Decodierung eines einzigen Bildes nach der vorliegenden Erfindung. Techniken sind
in dem betreffenden technischen Bereich zum Codieren einer Sequenz von Bildern als
eine Sequenz von Änderungen von einem Bezugsbild üblich, und die Anwendung
dieser Techniken auf die hier präsentierten Grundlagen dürfte dem Fachmann
einleuchten.
Der Codierer 100 umfasst einen Strukturgebietsidentifizierer
110, einen Strukturgebietsquantisierer 120, einen Strukturgebietscodierer
130 und einen Bildcodierer 140. Der Strukturgebietscodierer
130 und der Bildcodierer 140 schaffen je eine codierte Komponente
135 bzw. 145 zu dem codierten Bild 155. Der Strukturgebietsidentifizierer
110 verarbeitet das Bild 101 zum Identifizieren von Gebieten innerhalb
des Bildes, das ein charakteristisches Muster zu haben scheint, wie dies für
ein strukturiertes Oberflächengebiet üblich ist. Strukturerkennungstechniken
sind dem Fachmann bekannt. Beispielsweise strukturierte oder sich wiederholende
Muster erzeugen im Allgemeinen charakteristische "Signaturen" in der Frequenzdomäne.
Gebiete innerhalb des Bildes die Frequenzcharakteristiken aufweisen, die einer eines
Satzes vordefinierter Signaturen entspricht, werden als Strukturgebiete identifiziert.
Auch Gebiete, die eine bestimmte Charakteristik zeigen, wie ein sich wiederholendes
Muster, werden identifiziert, sogar wenn das bestimmte sich wiederholende Muster
sich nicht in dem Satz vordefinierter Signaturen befindet. In einer bevorzugten
Ausführungsform ist dem Strukturgebietsidentifizierer 110 ein Parameter
minimaler Größe zugeordnet, so dass nur charakteristische Gebiete erkannt
werden, die gröber sind als die minimale Größe. Diese minimale Größe
kann absolut oder relativ sein, wie ein minimaler Prozentsatz des Bildgebietes.
Auf gleiche Weise können Abstraktionstechniken angewandt werden, die in dem
technischen Bereich der Mustererkennung üblich sind, um die Identifikation
von Gebieten mit einem charakteristischen Muster zu erleichtern. Der Strukturquantisierer
120 ist der Deutlichkeit halber als separater Block des Strukturgebietsidentifizierers
110 dargestellt.
Der Strukturquantisierer 120 ermittelt, welches der verschiedenen
diskreten Muster oder Strukturtypen 125 in jedem Gebiet vorhanden ist,
das der Strukturgebietsidentifizierer 110 identifiziert. In einer unkomplizierten
Implementierung der vorliegenden Erfindung sind der Strukturgebietsidentifizierer
110 und der Strukturquantisierer 120 eng aneinander gekoppelt;
der Strukturgebietsidentifizierer 110 benutzt die Strukturtypen
125 zum Orten nur derjenigen Gebiete, die einen der vorbestimmten Strukturtypen
125 haben. In einer alternativen Ausführungsform erkennt der Strukturgebietsidentifizierer
jedes charakteristische Muster in dem Bild 101. Der Strukturquantisierer
120 fingt in dieser alternativen Ausführungsform das charakteristische
Muster den Strukturtypen 125 zu, wenn keiner der Strukturtypen
125 dem charakteristischen Muster entspricht. Der Strukturquantisierer
120 schafft zwei Ausgänge 122, 124. Der erste Ausgang
122 ist eine Identifikation jedes Gebietes in dem Bild 101, das
mit einem bestimmten Strukturgebiet 125 identifiziert werden kann, Der
andere Ausgang 124 schafft die Einzelheiten des betreffenden Strukturtyps
125, beispielsweise eine Beschreibung einer Wiederholung von Rechtecken
und Kanälen zwischen denselben, entsprechend einem Strukturtyp "Backsteine".
Der Strukturgebietscodierer 130 codiert jedes Gebiet
122 mit einem assoziierten Strukturtyp. In einer bevorzugten Ausführungsform
codiert der Strukturgebietscodierer 130 jedes Gebiet 122 als ein
Polygon mit de, assoziierten Strukturtyp. Wie oben erwähnt, sind andere Charakteristiken
oder Parameter, die das Äußere des Gebiets definieren, wie Farbe, Schatten,
Durchsichtigkeit usw. in den mit dem Polygon assoziierten Strukturtyp eingeschlossen.
Der Strukturgebietscodierer 130 codiert das Polygon entsprechend dem Gebiet
als eine Sequenz von Koordinaten, die das Strukturgebiet begrenzen. Die Codierung
jedes Strukturgebietspolygons und assoziierten Strukturtyps bildet eine Komponente
135 des gesamten codierten Bildes 155. Wenn die Einzelheiten
124 der Struktur, die durch den Strukturtyp 125 definiert ist,
noch nicht dem Decoder 200 zugeführt worden sind, werden diese Einzelheiten
124 in das codierte Bild 155 eingeschlossen, über den Strukturgebietscodierer
130, oder den Bildcodierer 140. Die Einzelheiten 124
könne jede beliebige geeignete Form haben. Wenn die Einzelheiten eine algorithmische
Beschreibung sind, wie das Muster geschaffen werden soll, das dem
Strukturtyp entspricht, schließt der Strukturgebietscodierer 130 diese
Beschreibung als Teil der Komponente 135 des codierten Bildes
155 ein. Wenn die Einzelheiten ein Abtastwert des Musters selber sind,
codiert der Bildcodierer 140 den Abtastwert unter Anwendung herkömmlicher
Videocodierungs- und Kompressionstechniken und schließt die Codierung als Teil
der Komponente 145 des codierten Bildes 155 ein.
Aufeinander folgende Bilder brauchen nicht die Einzelheiten von Strukturen
einzuschließen, die während der Verarbeitung vorhergehender Bilder zugeführt
wurden. Auf diese Weise kann eine wesentliche Reduktion der Größe eines
codierten Videostroms erreicht werden, weil erwartet werden kann, dass Bilder aus
einem Videostrom Wiederholungen strukturierter Objekte enthalten. So kann erwartet
werden, dass beispielsweise in einem Film, der eine Kulisse eines Büros mit
Möbeln mit einer Holzmaserung aufweist, Gebiete mit einem Holzmaserungsstrukturtyp
in jeder Szene des Büros vorhanden sind. Das erste Mal, das ein Möbelstück
mit Holzmaserung in ein Bild erscheint, werden die Einzelheiten des Holzmaserungstyps
codiert und jede nachfolgende Erscheinung von Möbeln mit Holzmaserung brauchen
nur die Codierung eines Bezugswertes auf den Holzmaserungstyp, statt der Einzelheiten
der Holzmaserung selber.
Der Bildcodierer 140 ist ein modifizierter herkömmlicher
Videocodierer und Kompressor, wie ein MPEG Codierer. Die Modifikation umfasst die
Entfernung der Einzelheiten der Strukturgebiete 122, die in der Komponente
135 des Bildes 101 codiert sind, bevor das Bild 101 codiert
wird. Die Strukturgebiete 122 werden als ein Gebiet von Leercharakteristiken
codiert, wie die Codierung eines monochromen Gebietes. Wie in dem Hintergrund der
vorliegenden Erfindung beschrieben wurde, kann die Codierung eines monochromen Gebietes
auf effiziente Art und Weise unter Anwendung herkömmlicher Kompressionstechniken
komprimiert werden. Auf diese Weise kann die herkömmliche Videocodierung der
strukturierten Gebiete wesentlich reduziert werden, durch Ersatz von Einzelheiten
der Struktur in dem Gebiet durch eine auf effiziente Weise komprimierbare Charakteristik.
Diese Videocodierung reduzierter Größe bildet die zweite Komponente
145 des codierten Bildes 155. Wenn das Bild derart ist, dass das
ganze Bild aus strukturierten Gebieten besteht, gibt es keine zweite Komponente
145 für das codierte Bild 155. Das heißt, ein Bild,
das völlig als strukturierte Gebiete codiert werden kann, wird derart codiert;
dagegen wird ein Bild, das keine strukturierten Gebiete hat, unter Anwendung herkömmlicher
Codierungs- und Kompressionstechniken codiert.
Auf diese Weise werden nach der vorliegenden Erfindung Gebiete mit
sich wiederholenden oder sonst charakterisierbaren Merkmalen auf effiziente Art
und Weise als strukturierte Gebiete codiert, und die restlichen, sich nicht wiederholenden
oder nicht charakteristischen Gebiete werden unter Anwendung herkömmlicher
Videocodierungstechniken, wie MPEG, codiert. Auf diese Weise kann die Effizienz
graphischer Bildverarbeitung und Videobildverarbeitung angewandt werden zum Minimieren
der resultierender Größe des codierten Bildes, wodurch das Bild mit einer
niedrigeren Geschwindigkeit oder mit einer geringeren Bandbreite übertragen
werden kann.
In 1 ist ein optischer Struktureditor
180 dargestellt. Der Struktureditor 180 ermöglicht die Modifikation
der Charakteristiken oder Parameter, die mit jedem Strukturgebiet assoziiert sind.
Durch die Verwendung des Struktureditors 180 kann ein Benutzer den einen
Strukturtyp gegen einen anderen austauschen, oder die mit dem Strukturtyp assoziierten
Parameter ändern. So kann beispielsweise ein Schreibtisch in einem Bild einen
assoziierten Strukturtyp und eine Charakteristik entsprechend einer Eichenholzmaserung
haben. Mit Hilfe des Struktureditors 180 kann ein Benutzer die assoziierten
Charakteristiken ändern, so dass diese einer Walnussmaserung entsprechen. Auf
gleiche Weise kann eine Codierung eines Teppichbodens derart modifiziert werden,
dass er den Effekt eines mit Marmorfließen bedeckter Fußboden gibt, wenn
die Codierung 155 von dem Decoder 200 decodiert wird.
Der Decoder 200 decodiert das codierte Bild 155
zum Erzeugen eines decodierten Bildes 201 entsprechend dem ursprünglichen
Bild 101. Der Decoder 200 enthält einen Bilddecoder
240, einen Strukturgebietsdecoder 230, einen Strukturgebietsgenerator
220 und einen Kombinierer 210. Der Bilddecoder 240 decodiert
die Komponente des codierten Bildes 155 entsprechend der von dem Bilddecoder
140 erzeugten Komponente 145. Der decodierte Ausgang
145 des Bilddecoders 240 ist das ursprüngliche Bild
101 minus der Einzelheiten der strukturierten Gebiete 122. Das
heißt, der decodierte Ausgang 245 schafft einen Kontext, in dem die
Einzelheiten der strukturierten Gebiete gerendert werden.
Der Strukturgebietsdecoder 230 verarbeitet die restliche
Komponente 235 des codierten Bildes 155, die der von dem Strukturgebietscodierer
130 erzeugten Komponente 135 entspricht. Der Strukturgebietsdecoder
230 decodiert die Codierung 155 der Strukturgebiete des Bildes
101 und schafft die geeigneten Parameter für den Strukturgebietsgenerator
220, damit der Strukturgebietsgenerator 220 die Einzelheiten
222 erzeugt, die mit jedem Strukturgebiet assoziiert sind. Das heißt,
der Strukturgebietsdecoder 230 liefert die Stelle des Strukturgebietes
und den Strukturtyp, der mit dem Strukturgebiet assoziiert ist, zu dem Strukturgebietsgenerator
220. Wenn die Einzelheiten 124 des Strukturtyps in der restlichen Komponente
235 enthalten sind, liefert der Strukturgebietsdecoder 230 diese
Einzelheit 124 an den Strukturgebietsgenerator 220. Auf alternative
Weise liefert, wenn die Einzelheiten 124 der Struktur in der Komponente
entsprechend der Komponenten 145 codiert sind, der Bilddecoder
240 die Einzelheiten 124 an den Strukturgebietsgenerator
220, und zwar über 245.
Nach einem anderen Aspekt der vorliegenden Erfindung enthält
der Decoder 200 eine Strukturbibliothek 225. Die Strukturbibliothek
225 liefert die Einzelheiten 226 vordefinierter Strukturtypen.
Der Strukturgebietesgenerator 220 liefert einen Strukturtypidentifizierer
224 an die Strukturbibliothek 225, die ihrerseits die Einzelheiten
226, die mit dem Strukturtypidentifizierer 224 assoziiert sind,
weiterleitet. Der Strukturtypidentifizierer 224 enthält einen bezugswert
auf einen bestimmten Strukturtyp, wie Marmor, Holz, Backsteine und dergleichen,
sowie andere Parameter, wie einen Skalierungsfaktor, der für die Strukturbibliothek
225 erforderlich sein kann, um die Einzelheiten 226 zu ermitteln,
die notwendig sind um die identifizierte Struktur zu rendern. Die Strukturbibliothek
225 kann statisch oder dynamisch sein. In einer statischen Strukturbibliothek
sind eine vorbestimmte Anzahl Strukturtypen definiert, und die Charakteristiken
jedes Strukturtyps ist in der Bibliothek 225 gespeichert. Eine dynamische
Strukturbibliothek ermöglicht die Hinzufügung von Strukturtypen durch
Hinzufügung der Einzelheiten 124 des Strukturtyps, die in dem codierten
Bild 155 vorhanden sind, wie oben beschrieben. Diese Einzelheiten
124 werden von dem Strukturgebietsgenerator 220 über
224 der Strukturbibliothek 225 zugeführt, und zwar für
jeden bislang undefinierten Strukturtyp. In einer bevorzugten Ausführungsform
ist die Strukturbibliothek 225 für die verwendete Wiedergabeanordnung
20 zugeschnitten. Eine für eine Wiedergabeanordnung mit niedriger
Auflösung zugeschnittene Strukturbibliothek 225 wird beispielsweise
Einzelheiten mit geringer Auflösung für den Strukturtyp liefern um durch
Treppeneffekt verursachte Verzerrung zu vermeiden. Der niedrigere Pegel der Einzelheiten
kann auch weniger Verarbeitungs- oder Speichermittel erfordern, wodurch die Kosten
und die Komplexität von Anordnung mit niedriger Auflösung reduziert werden.
Die Strukturbibliothek 225 ermöglicht auch eine Größenreduktion
in dem codierten Bild 155. Wenn unter Codierern 100 und Decodern
200 eine Norm festgestellt wird, welche die Definition üblicher Strukturtypen
enthält, wie Holzmaserung, Backsteine, Marmor, usw. und jeder Decoder
200 enthält ein Mittel zum Erzeugen der Einzelheiten derartiger Typen,
wie eine Strukturbibliothek 225, braucht der Codierer 100 nicht
die Einzelheiten dieser Strukturtypen in dem codierten Bild 155 zu enthalten.
Wie oben beschrieben können die Einzelheiten 124, die
mit einem Strukturtyp assoziiert sind, eine Algorithmusbeschreibung enthalten, wie
das Muster erzeugt werden soll, das dem Strukturtyp entspricht. Techniken zum algorithmischen
Erzeugen eines Bildes mit Struktur sind in dem betreffenden technischen Bereich
durchaus bekannt. So werden beispielsweise Fraktale üblicherweise verwendet
zum Erzeugen der Erscheinungsform von Blättern an einem Baum, von Sand am Strand,
oder der variierenden Abstufungen von Blau am Himmel. Beliebige "Rausch" Muster
werden auch üblicherweise verwendet um Strukturen zu erzeugen, wie die Struktur
von Fleisch, Tierhaut und vielen Kleidungs- und Faserprodukten. Die Einzelheiten
124 können Parameter für vordefinierte Funktionen, wie Fraktale
und Rauschgeneratoren, in dem Strukturgenerator 220, oder jede beliebige
herkömmliche Form zum Effektuieren der Renderung sein, einschließlich
einer Kombination von Algorithmusparametern und diskreten Abtastwerten der charakteristischen
Struktur.
So können beispielsweise die Einzelheiten 124 ein Musterbild
eines Backsteins mit Zement enthalten und Parameter in Bezug auf die Replikation
und Bemessung des Musters gegenüber der Größe des Strukturgebietes.
Der Strukturgenerator 220 füllt jedes Strukturgebiet
mit den Einzelheiten des Strukturtyps, der mit jedem Strukturgebiet assoziiert ist.
Der Text "Texture and Modeling: A Procedural Approach", von Ebert, D; Musgrave,
K; Peachy, P; Perlin, K; und Worley, S, 1994, "Arbeitsplatzgerät Professional",
(ISBN 0-12-228760-6) beschreibt das Modellieren und Rendern von Strukturgebieten.
In einer bevorzugten Ausführungsform ist der Strukturgenerator 220
zu der Wiedergabeanordnung 20 zugeschnitten und zu den Parametern, welche
die Renderung des decodierten Bildes 201 an der Wiedergabeanordnung
20 beeinflussen. Wenn beispielsweise das das decodierte Bild
201 als ein PIP-Bild in einem kleinen Gebiet der Wiedergabeanordnung
20 gerendert werden soll, füllt der Strukturgenerator 220
jedes Strukturgebiet mit minimalen Einzelheiten, wenn überhaupt. Auch rendert
in einer bevorzugten Ausführungsform der Strukturgenerator 220 die
Einzelheiten des Strukturgebietes in Abhängigkeit von der relativen Skala des
gerenderten Gebietes. So wird beispielsweise die Holzmaserungsstruktur eines Schreibtisches
anders gerendert, und zwar abhängig von dem relativen Abstand des Schreibtisches
von dem Gesichtspunkt. Die Größe der einzelnen Holzfasern werden beispielsweise
kleiner gerendert, je nachdem der Abstand von dem Schreibtisch zunimmt. Die Renderungsparameter,
wie die relative Skalierung, die mit jedem Strukturgebiet assoziiert ist, werden
dem Decoder 200 über die Komponente 135 des codierten Bildes
155 zugeführt, wie oben anhand des Strukturgebietscodierers
130 und des Inhaltes der etwaigen Strukturbibliothek 225 beschrieben.
Der Strukturgenerator 220 umfasst die oben genannten Funktionsgeneratoren,
wie beliebige Rauschgeneratoren und Fraktalgeneratoren, zum Schaffen der Renderungseinzelheit
jedes Strukturgebietes, unter Verwendung der Parameter in den Einzelheiten
126. Der Ausgang 222 des Strukturgenerators 220 ist ein
detailliertes Bild jedes der Strukturgebiete und deren Lage in dem ursprünglichen
Bild 101. Der Kombinierer 210 kombiniert die Komponente
245 des Bildes, das Null Charakteristiken hat, die mit jedem Strukturgebiet
assoziiert sind, mit der Komponente 222 des Bildes, das die Einzelheiten
jedes Strukturgebietes hat. Das von dem Kombinierer 210 erzeugte decodierte
Bild 201 enthält die Einzelheiten der Strukturgebiete sowie die Einzelheiten
der Nicht-Strukturgebiete, und wird folglich im Wesentlichen dem ursprünglichen
Bild 101 entsprechen.
2 zeigt ein Flussdiagramm zur Codierung eines Bildes
nach der vorliegenden Erfindung. Bei 310 werden Gebiete des Bildes mit
charakteristischen Mustern identifiziert. Jedes Gebiet wird in der Schleife
320-340 verarbeitet. Bei 322 wird das charakteristische
Muster des Gebietes mit den aktuell ermittelten Strukturtypen verglichen. Wenn das
charakteristische Muster einem der Strukturtypen entspricht, wird der Strukturtyp
diesem Gebiet 328 zugeordnet. Wenn das charakteristische Muster nicht als
einer der aktuell ermittelten Strukturtypen erkannt wird, wird das Muster der Liste
der ermittelten Strukturtypen bei 324 zugefügt. Die Einzelheiten jedes
neu hinzugefügten Strukturtyps werden zur Zuführung zu dem Decoder bei
326 codiert. Wenn es einen Standard unter den Codierern 100 und
den Decodern 200 für vordefinierte Strukturtypen gibt, werden diese
vordefinierten Strukturtypen in die Liste der aktuelle ermittelten Strukturtypen
bei Initialisierung aufgenommen und folglich werden die Einzelheiten dieser vordefinierten
Strukturtypen nicht zur Kommunikation zu dem Decoder bei 326 codiert. Initialisierung
der Liste aktuell ermittelter Strukturtypen zu einer Null-Liste wird andererseits
eine Codierung der Einzelheiten jedes Strukturgebietes schaffen zur Kommunikation
zu dem Decoder bei 326. Wie oben erwähnt, braucht, wenn die Einzelheiten
eines neuen Strukturtyps einmal dem Decoder zugeführt worden sind, nachfolgende
Gebiete dieses Typs, ob in demselben Bild oder in nachfolgenden Bildern, nur auf
den Strukturtyp verwiesen zu werden.
Die Beschreibung des Strukturgebietes wird codiert, bei
330, und zwar unter Anwendung beispielsweise von Koordinaten eines Polygons,
das das Strukturgebiet begrenzt. Alternative Techniken zum Definieren und zur effizienten
Codierung der Grenzen eines Gebietes sind in dem betreffenden technischen Bereich
bekannt: wenn beispielsweise das Strukturgebiet hauptsächlich gekrümmt
ist, können die Koordinaten von Keilsegmenten, die jede Krümmung bilden,
codiert werden. Mit der codierten Beschreibung jedes Strukturgebietes ist der Strukturtyp
assoziiert, der dem Muster oder den Charakteristiken innerhalb des Strukturgebietes
entspricht. Wenn jedes Gebiet codiert ist, wird das Bild, oder die Kopie des Bildes,
bei 332 modifiziert um die Einzelheiten zu entfernen, die mit dem Gebiet
aus dem Bild assoziiert sind. In einer bevorzugten Ausführungsform wird jedes
Strukturgebiet mit einer Null-Charakteristik gefüllt, die einer massiven schwarzen
Farbe entspricht. Jedes Gebiet wird auf gleiche Weise verarbeitet, und zwar über
die Schleife 320–340.
Wenn das restliche Bild ein Gebiet enthält, das nicht als ein
Strukturgebiet codiert worden ist, wird es unter Anwendung herkömmlicher Videocodierungstechniken
bei 350 codiert. In einer bevorzugten Ausführungsform wird ein begrenzendes
Dreieck bestimmt, das alle Gebiete umfasst, die nicht codiert sind, und die Videocodierung
wird auf das Gebiet innerhalb des begrenzenden Dreiecks angewandt. Weil jedes strukturierte
Gebiet mit einer Null-Charakteristik gefüllt ist, lässt sich erwarten,
dass die Codierung des restlichen Bildes, ggf. eine sehr effiziente Codierung ergibt
unter Anwendung von Codierungs- und Kompressionstechniken, die in dem betreffenden
technischen Bereich üblich sind.
3 zeigt ein Beispiel eines Flussdiagramms zur Decodierung
eines codierten Bildes nach der vorliegenden Erfindung. Das codierte Bild wird bei
400 erhalten. Wie oben beschrieben, kann das codierte Bild codierte Beschreibungen
135 von Strukturgebieten oder strukturierten Mustern enthalten, oder komprimierte
rasterabgetastete Daten 145 entsprechend Einzelheiten bestimmter Strukturtypen
der Gebiete des Bildes, die nach Entfernung jedes strukturierten Gebietes zurückbleiben.
Wenn das codierte Bild komprimierte Videodaten enthält, bei 410, werden
die etwaigen Strukturmuster decodiert und gespeichert, bei 412, und die
Gebiete des Bildes, die nach Entfernung jedes strukturierten Gebietes zurückbleiben,
werden decodiert und gespeichert, bei 414. Wenn ein Strukturmuster ausdrücklich
in dem codierten Bild enthalten ist, wie eine Algorithmusbeschreibung des Musters,
wird es bei 420 gespeichert.
Wenn es bei 430 Strukturgebiete innerhalb des codierten Bildes
gibt, werden sie über die Schleife 440–450 verarbeitet.
Die Beschreibung jedes Gebietes und des mit jedem Gebiet assoziierten Strukturtyps
wird bei 442 decodiert. Ein mit den mit dem entsprechenden Strukturtyp
assoziierten Struktureinzelheiten gefülltes Gebiet wird bei 444 erzeugt
und zu dem gespeicherten Bild, Bild A, hinzugefügt. Die Strukturierungseinzelheiten
werden durch den assoziierten Strukturtyp und die mit dem Strukturtyp assoziierten
Muster bestimmt, die in einer vordefinierten Bibliothek gespeichert sind, oder über
die oben genannten Schritte 412 und 420 gespeichert. Wie oben
beschrieben, können die Einzelheiten von den Charakteristiken der Wiedergabeanordnung,
sowie von den mit dem Strukturgebiet assoziierten Parameter abhängig
sein. Die Einzelheiten der Struktur, die dem Decoder zugeführt werden oder
die darin vordefiniert werden, können vorwiegend skaliert und repliziert werden,
oder die Einzelheiten der Struktur können über eine Algorithmusbeschreibung
des Gebietes berechnet werden, auf geeignete Art und Weise zu den Parameter des
gerenderten Gebietes skaliert. Das gespeicherte Bild, Bild A, ist das bisher über
die Codierung komprimierter Videokomponenten oder Strukturgebietskomponenten des
codierten Bildes geschaffene Bild. Nachdem jedes Strukturgebiet verarbeitet worden
ist, über die Schleife 440–450, enthält das gespeicherte
Bild, Bild A, im Wesentlichen das ursprüngliche Bild mit entsprechenden Einzelheiten
jedes strukturierten Gebietes. Das gespeicherte Bild, Bild A, wird zur Wiedergabe
bei 460 gerendert.
Obenstehendes illustriert vorwiegend die Grundlagen der vorliegenden
Erfindung. Es dürfte deswegen einleuchten, dass der Fachmann imstande sein
wird, mehrere Anordnungen abzuwandeln, die obschon an dieser Stelle nicht explizit
beschrieben oder dargestellt, die Grundlagen der vorliegenden Erfindung verkörpern
und folglich im Geiste und im Rahmen der vorliegenden Erfindung sind. Beispielsweise
jedes strukturierte Gebiet in dem Bild ist bisher als ein diskretes nicht überlappendes
Gebiet des Bildes dargestellt. Es ist allgemein üblich, dass Bildes aus überlappenden
Gebieten zusammengestellt werden können, wobei jedes Gebiet einen z-Achse (Sichtbarkeit)
Parameter aufweist, der bestimmt, welches Gebiet über anderen Gebieten liegt.
Unter Anwendung dieser Technik kann beispielsweise der Hintergrund eines Bildes
als ein Strukturgebiet codiert werden und die anderen gebiete in dem Bild können
als Strukturgebiete oben auf diesem Hintergrundstrukturgebiet codiert werden. So
können auch die Einzelheiten des Bildes, die nicht als Strukturgebiete codiert
sind, durch eine derartige Codierung ersetzt werden, wodurch eine effiziente Codierung
des Bildes für diejenigen Applikationen geschaffen wird, die kein hohe Auflösung
erfordern. Diese und andere spezielle Bild- und Graphikcodierungstechniken sind
dem Fachmann einleuchtend und liegen im Rahmen der vorliegenden Erfindung.