DE10223751A1 - System und Verfahren zum Kombinieren von Graphikformaten in einer digitalen Videopipeline - Google Patents
System und Verfahren zum Kombinieren von Graphikformaten in einer digitalen VideopipelineInfo
- Publication number
- DE10223751A1 DE10223751A1 DE10223751A DE10223751A DE10223751A1 DE 10223751 A1 DE10223751 A1 DE 10223751A1 DE 10223751 A DE10223751 A DE 10223751A DE 10223751 A DE10223751 A DE 10223751A DE 10223751 A1 DE10223751 A1 DE 10223751A1
- Authority
- DE
- Germany
- Prior art keywords
- image
- pipeline
- stages
- graphics
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000008569 process Effects 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims description 51
- 238000006243 chemical reaction Methods 0.000 claims description 31
- 238000012937 correction Methods 0.000 claims description 28
- 239000011159 matrix material Substances 0.000 claims description 10
- 239000002131 composite material Substances 0.000 claims description 3
- 238000011084 recovery Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000008929 regeneration Effects 0.000 claims 1
- 238000011069 regeneration method Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 3
- 239000003086 colorant Substances 0.000 description 10
- 238000013507 mapping Methods 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004040 coloring Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005067 remediation Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000007634 remodeling Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
Allgemein werden Graphiken auf einem Monitor angezeigt oder auf einer Ausgangsvorrichtung gedruckt, nachdem eine Serie von Schritten durchgeführt ist, die in dem Fall eines objektorientierten Graphikbildes üblicherweise in der Form einer Graphikpipeline implementiert sind. Ähnlich gelangt ein digitales Bild oder ein digitales Videobild durch eine Digitalpipeline für das digitale Bild oder die Bilder, die angezeigt, gedruckt oder anderweitig verarbeitet werden sollen. Die vorliegende Erfindung umfaßt ein System und ein Verfahren, bei denen die Stufen der Graphikpipeline mit den Stufen der Digitalpipeline verbunden sind, so daß eine einzelne, verbundene Pipeline verwendet werden kann, um objektorientierte Graphikbilder, Bittabellenbilder und/oder Bilder zu verarbeiten, die Graphik- und Bittabellenabschnitte enthalten. Diese verbundene Pipeline kann verwendet werden, um Bilder durch verschiedene Stufen der Graphikpipeline, gefolgt durch Stufen, die üblicherweise in der Digitalpipeline enthalten sind, oder umgekehrt, zu verarbeiten, um erwünschte Effekte zu erzeugen.
Description
- Die vorliegende Erfindung bezieht sich allgemein auf eine Bildverarbeitung und insbesondere auf eine Vorrichtung und ein Verfahren zum Kombinieren einer objektorientierten Graphik- und einer Rastergraphikverarbeitungspipeline.
- Bilder können üblicherweise unter Verwendung eines von zwei Typen von Abbildungsinformationen dargestellt und angezeigt werden: Rastergraphiken (oder Bittabellendaten) und Graphikobjekten. Üblicherweise werden digitale Bilder, die durch einen Computer erzeugt werden, unter Verwendung einer Farbtriade roter, grüner und blauer (RGB) phosphoreszierender Punkte auf eine Anzeigevorrichtung (Monitor) angezeigt. Eine Computeranzeige besteht aus Zeilen und Spalten von Pixeln. Jedes Pixel ist eine Triade phosphoreszierender Punkte (RGB). Die Intensitäten von Rot, Grün und Blau in jedem Pixel werden gesteuert, um verschiedene Farben auf der Computeranzeigevorrichtung zu simulieren. Ein digitales Bild wird auf einer Computeranzeigevorrichtung durch ein Adressieren jeder Triade dreier Punkte, die ein Pixel bilden, und ein Definieren der RGB-Intensitäten angezeigt.
- Die Pixelbeleuchtungsinformationen werden als Grobrasterdaten von dem Computer zu der Anzeige gesendet und bestehen aus Intensitäten der RGB-Pixel, üblicherweise beginnend mit dem oberen linken Pixel auf dem Computerbildschirm, gefolgt von Intensitätswerten für die roten, grünen und blauen Pixel in jeder der nachfolgenden Pixelgruppen in dieser ersten Zeile entlang des oberen Endes des Computerbildschirms. Sobald die obere Zeile abgeschlossen ist, fahren die Grobrasterdaten mit dem Pixel ganz links in der zweiten Zeile des Computerbildschirms fort, wobei ähnlich jede Gruppe von Pixeln, die in dem Computerbildschirm enthalten sind, mit einem Intensitätswert für jedes der Pixel in der Pixelgruppe von den Grobrasterdaten versorgt wird. Auf diese Weise erzeugt der Computer ein digitales Bild, das auf dem Computerbildschirm angezeigt wird, der für einen Betrachter wie ein Bild aussieht. Diese Struktur von Pixelbeleuchtungsinformationen wird üblicherweise als eine "Bittabelle" ("Bitmap") oder als ein "bitabgebildetes" ("bitmapped") Bild bezeichnet, wobei anders ausgedrückt jedes Pixel auf dem Bildschirm auf einen Wert abgebildet wird, der in einem zweidimensionalen Speicherarray gespeichert ist, das dem Pixelentwurf der Anzeige entspricht, wobei jedes Speicherelement einen entsprechenden Pixelleuchtdichtenwert von 0 bis 255 speichert.
- Eingangsvorrichtungen, wie z. B. Digitalkameras und Camcorder, können ein Bayer-Filter verwenden, das eine Bayer- Struktur von vier zusammengruppierten Farbsensoren implementiert, wobei der obere linke Sensor empfindlich gegenüber Grün ist, wobei der obere rechte Sensor empfindlich gegenüber Blau ist, wobei der untere linke Sensor empfindlich gegenüber Rot ist, und wobei der untere rechte Sensor empfindlich gegenüber Grün ist. Das Sensorelement wiederholt sich in einer bekannten Struktur. Die beschriebene Bayer-Struktur ist ein Standardeingangssensorfarbformat für die Ausrichtung der roten, grünen und blauen Pixel, wobei es für Fachleute offensichtlich ist, daß verschiede Permutationen dieser Struktur möglich sind und in der Computerindustrie verwendet werden.
- Der Computer kann eine Anzahl von Prozessen oder Schritten bezüglich des Rohbittabellenbildes durchführen, das von einem Sensor erfaßt wird, um den ästhetischen Wert des Gesamtbildes zu erhöhen. Die Farbe, die aus dem Feld von vier Sensor-Bayer-Gruppen (bestimmt durch die Intensitäten der Sensoren selbst) resultiert, kann mit der Farbe umgebender Sensoren verglichen werden, wobei die abgeleiteten RGB- Triade-Intensitätswerte festgelegt und eingestellt werden können, um sicherzustellen, daß eine allmähliche Veränderung der Farben z. B. bei der Farbgebung des Gesichts einer Person auftritt, wie dieses schließlich als ein digitales Bild angezeigt wird. Gemeinsam legen diese einzelnen Schritte beim Einstellen der Farbe, die aus Sensoren oder Pixelgruppen resultiert, durch ein Einstellen der Intensitäten der Farbelemente eine Bittabellenpipeline oder eine Grobrasterpipeline fest. Das Bittabellenbild, das das digitale Bild bildet, ist für den Computer eine Serie oder Folge von Farbintensitätswerten.
- Ein Computer kann typischerweise auch ein Graphikbild unter Verwendung objektorientierter Graphiken erzeugen, um eines oder mehrere Graphikgrundelemente zu erzeugen, wie z. B. Punkte, Linien, Vielecke, alphanumerische Zeichen, Spezialsymbole und Schriftarten, usw., und um diese zugrundeliegenden Graphikgrundelemente zu kombinieren, um das Gesamtbild darzustellen. Ein Quadrat z. B., das ein standardmäßiges Graphikgrundelement ist, würde als Daten dargestellt werden, die erforderlich sind, um ein derartiges Quadrat aufzubauen, wie z. B. Größe, Ort, Linien- und Füllfarbe, usw., um so ein graphisches Quadratbild zu bilden. Eine Person jedoch, die in einem Graphikbild enthalten ist, wäre aus einer Anzahl einzelner Graphikgrundelemente zusammengesetzt, die, wenn sie zusammengesetzt werden, wie eine Person oder ein anderes komplexes Objekt aussehen, das aus einer Mehrzahl von Grundelementen besteht. Heute gibt es Erkennungssoftware, die eine Bittabelle oder ein digitales Rastergraphikbild in eine objektorientierte Graphikdarstellung des digitalen Bildes umwandelt. Diese Algorithmen variieren in ihrer Fähigkeit, wobei die Graphikdarstellung des digitalen Bildes eine direkte Funktion der Fähigkeit des Algorithmus ist, der bei der Umwandlung verwendet wird. Wenn dieser Algorithmus z. B. bezüglich des digitalen Bildes einer Person verwendet wird, ist die Qualität des Aussehens des Graphikbildes der Person eine direkte Funktion der Qualität der Algorithmen, die das digitale Rasterbild der Person in eine objektorientierte Graphikdarstellung der Person umwandeln.
- Sobald ein digitales Bild in eine objektorientierte Graphikdarstellung umgewandelt ist, kann der Computer die Position und Ausrichtung der verschiedenen Grundelemente verändern, die das digitale Bild darstellen, um eine Bewegung der Graphikdarstellung zu simulieren. Wenn z. B. ein digitales Bild einer Person in eine Graphikdarstellung umgewandelt wird, kann die Ausrichtung der objektorientierten Graphikgrundelemente, die verwendet werden, um die Beine der Person darzustellen, variiert werden, um das Gehen einer Person zu simulieren. Mit einer Verbesserung der Komplexität der Graphikbilder und der simulierten Bewegung nähert sich die Qualität des Graphikgesamtbildes einem echten oder nichtkünstlichen Bild an.
- Die Graphikdaten, die auf einem Computerbildschirm angezeigt werden sollen, gelangen durch eine Anzahl von Stufen, um das Gesamtaussehen des Bildes zu verbessern. Anders ausgedrückt kann das Graphikbild durch eine Graphikpipeline geleitet werden, die das Aussehen des resultierenden Graphikgesamtbildes verbessert, verschiedene Korrekturen durchführt und Grundelemente und Bestandteilskomponenten in ein geeinigtes Bild zusammenführt.
- Wie bereits besprochen wurde, resultieren die Bilder, die auf einem Computerbildschirm angezeigt sind, normalerweise entweder von einem objektorientierten Graphikbild oder einem Bittabellen-(Rasterabtast-)Bild. Wenn Bittabellenbilder angezeigt werden, wird eine Bittabellen- oder Rasterpipeline verwendet, um die Farbintensitäten der Pixel einzustellen, bevor das Bild auf dem Computerbildschirm angezeigt wird. Wenn objektorientierte Graphikbilder angezeigt werden, werden die Graphikbilder durch eine Graphikpipeline geleitet, um die Grundelemente zur Betrachtung in ein zusammengesetztes Bild zusammenzubauen. Während frühere Systeme Abschnitte oder Fenster auf dem Bildschirm getrennt haben, in dem ein Bittabellenbild oder ein objektorientiertes Graphikbild angezeigt werden kann, ähnlich wie bei dem "Bild-in-Bild"-Merkmal moderner Fernsehgeräte, ist das Bild in einem Bereich oder Fenster des Bildschirms noch immer entweder ein Bittabellenbild oder ein objektorientiertes Graphikbild, da diese Bilder durch unterschiedliche Graphikleitungen kommen.
- Es existieren Probleme, wenn sowohl objektorientierte (d. h. Vektor-) als auch Bittabellen- (d. h. Raster-) Graphiken und -Bilder austauschbar effektiv und effizient verarbeitet werden sollen.
- Es ist die Aufgabe der vorliegenden Erfindung, einen Bildprozessor mit verbesserten Charakteristika oder ein verbessertes Verfahren zum Verarbeiten eines Bildes zu schaffen.
- Diese Aufgabe wird durch einen Bildprozessor gemäß Anspruch 1 oder 19 oder ein Verfahren zum Verarbeiten eines Bildes gemäß Anspruch 10 gelöst.
- Der Bedarf nach einer effektiven und effizienten Verarbeitung von sowohl objektorientierten als auch Bittabellengraphiken und -Bildern wird durch ein System und ein Verfahren zum Kombinieren einer objektorientierten (oder "Vektor"-) Graphik- und einer Rasterabtast- (oder "bitabgebildeten" oder "Bittabellen"-Bild-) Pipeline erzielt, so daß Bilddaten durch ausgewählte Stufen von einer und/oder beiden Pipelines verarbeitet werden können. Dies bedeutet, daß eine objektorientierte Graphikpipeline mehrere Verarbeitungsstufen umfassen kann, die konfiguriert sind, um sequentiell Graphikdaten zu verarbeiten, wobei die Graphikdaten Daten umfassen können, um eines oder mehrere Graphikgrundelemente, wie z. B. Punkte, Linien, Vielecke, alphanumerische Zeichen, Spezialsymbole und Schriftarten, usw., zu erzeugen. Beispiele möglicher Graphikverarbeitungsstufen bei der objektorientierten Graphikpipeline können eine Kombination oder Unterkombination einer Abtastumwandlung ("Scan Conversion"), eines Abschneidens ("Clipping"), einer Fensterung in einen Betrachtungsport ("Windowing to Viewport"), einer Projektion, eines Sortieren umfassen und/oder können andere oder Ersatzfunktionalitäten oder anderes umfassen. Ähnlich kann eine bitabgebildete oder Rasterabtastpipeline mehrere Verarbeitungsstufen umfassen, die konfiguriert sind, um aufeinanderfolgend bitabgebildete Daten zu verarbeiten, die ein Bild als eine Mehrzahl von Pixelleuchtdichtenwerten und/oder anderen Pixelcharakteristika darstellen. Diese bitabgebildeten oder Rasterabtastpipelineverarbeitungsstufen können eine Kombination oder Unterkombination von (i) Mosaikrückbildung, (ii) Farbkorrektur/Weißabgleich, (iii) Farbpalettenabbildung, (iv) Tonkorrektur, (v) Flimmerkorrektur, (vi) Farbumwandlung, (vii) Skalierung umfassen und/oder eine andere oder Ersatzfunktionalitäten oder anderes umfassen. Vorzugsweise sorgt der Prozessor für eine selektive Sequenzierung durch jede Pipeline und für ein "Überkreuzen" von Daten zwischen Stufen jeder Pipeline, was eine notwendige Datenumwandlung umfaßt (z. B. Vieleckerkennung und Umwandlung bitabgebildeter Bilder, um objektorientierte Graphikdaten zu bilden, und ähnliche Umwandlung von objektorientierten Graphikformatdaten in ein Bittabellendatenformat).
- Gemäß einem Aspekt der Erfindung kann ein Bildprozessor eine objektorientierte Graphikpipeline, die eine erste Mehrzahl von Stufen aufweist, die konfiguriert sind, um ein Graphikobjekt zu verarbeiten, und eine Bittabellenbildpipeline umfassen, die eine zweite Mehrzahl von Stufen aufweist, die konfiguriert sind, um ein Bittabellenbild zu verarbeiten. Eine Verbindung kann selektiv konfigurierbar sein, um einen Ausgang aus einer der Stufen einer der Pipelines (d. h. entweder der Graphik- oder der Bittabellenpipeline) zu einem Eingang einer nächsten ausgewählten oder Vorgabestufe (falls vorhanden) der gleichen Pipeline oder zu einer ausgewählten Stufe (oder Stufen) der anderen Pipeline zu liefern. Gemäß einem Merkmal der Erfindung kann jede der ersten Mehrzahl von Stufen (d. h. Stufen der Graphikpipeline) eine unterschiedliche Funktion durchführen, wobei die Funktionen eines oder mehrere Merkmale der Gruppe umfassen (jedoch nicht auf dieselben beschränkt sind), die eine Abtastumwandlung, ein Abschneiden, eine Fensterung in einen Betrachtungsport, eine Projektion und eine Sortierung umfaßt. Ähnlich kann gemäß einem weiteren Merkmal der Erfindung jede der zweiten Mehrzahl von Stufen (d. h. die Stufen der Bittabellenbildpipeline) eine unterschiedliche Funktion durchführen, wobei die Funktionen eines oder mehrere Merkmale der Gruppe umfassen (jedoch nicht auf dieselben beschränkt sind), die folgendes umfaßt: Mosaikrückbildung, Farbkorrektur/Weißabgleich, Farbpalettenabbildung, Tonkorrektur, Flimmerkorrektur, Farbumwandlung und Skalierung.
- Gemäß einem weiteren Merkmal der Erfindung kann eine Ausgangsstufe mit einem Ausgang von jeder der Pipelines (z. B. von einer ausgewählten Stufe sowohl der Graphik- als auch der Bittabellenbildpipeline) verbunden sein. Die Verbindung zwischen den Pipelines kann eine Schaltmatrix umfassen, die konfigurierbar ist, um Ausgänge von einer oder mehreren der ersten Mehrzahl von (Graphik-) Stufen zu einer bestimmten oder ausgewählten nächsten der ersten Mehrzahl von (Graphik-) Stufen und zu einer ausgewählten der zweiten Mehrzahl von (Bittabellenbild-) Stufen zu leiten. Ähnlich kann die Schaltmatrix konfiguriert sein, um Ausgänge von einer der zweiten Mehrzahl von (Bittabellenbild-) Stufen zu einer nächsten der zweiten Mehrzahl von (Bittabellenbild-) Stufen und zu einer ausgewählten der ersten Mehrzahl von (Graphik- Stufen zu leiten. Gemäß einem weiteren Merkmal der Erfindung ist die Graphikpipeline konfiguriert, um Graphikdaten zu empfangen, die Graphikidentifizierungs- und Lokalisierungsdaten umfassen, wobei die Bittabellenbildpipeline konfiguriert ist, um Rasterabtastbilddaten zu empfangen, die Pixelleuchtdichteninformationen darstellen. Ein Datenformatumwandler kann enthalten und konfiguriert sein, um zwischen einem objektorientierten Graphikdatenformat und einem Bittabellenbilddatenformat, d. h. unidirektional von einem oder bidirektional von einem der beiden Formate zu dem anderen, umzuwandeln.
- Gemäß einem weiteren Merkmal der Erfindung kann eine Bilderkennungsstufe konfiguriert sein, um objektorientierte Graphikbilder in dem bitabgebildeten Bild zu identifizieren und codieren. Die Erkennungsstufe kann z. B. Grundelemente und -Formen, die Vielecke, Polyeder, Linien, Ebenen, Kurven, Bögen, Punkte, Vektoren, Zeichen, Symbole und andere Grundelemente umfassen, und zusammengesetzte Graphikstrukturen in einer Bittabellen- oder rasterbasierten Darstellung erkennen und dieselben in eine geeignete objektorientierte Graphikdatendarstellung umwandeln. Die Umwandlung kann ein Löschen der umgewandelten Abschnitte von dem ursprünglichen Bittabellenbild umfassen, so daß ein verbleibender Abschnitt desselben geeignet verarbeitet werden kann, während die umgewandelten Objekte einer Graphikpipelineverarbeitung unterzogen werden. Ein gemeinsamer Instruktionsdecodierer kann enthalten sein, der wirksam ist, um die Verbindung (z. B. eine Schaltmatrix) zu steuern, um zumindest eines der Graphikobjekte und der bitabgebildeten Bildobjekte zwischen sowohl der Graphik- als auch der Bittabellenbildpipeline zu leiten.
- Gemäß einem weiteren Aspekt der Erfindung kann ein Verfahren zum Verarbeiten eines Bildes eine selektive Konfiguration einer oder mehrerer Stufen einer objektorientierten Graphikpipeline und einer oder mehrerer Stufen einer Bittabellenbildpipeline umfassen. Die resultierende Konfiguration kann bewirken, daß ein Ausgang von einer der Stufen einer der Pipelines zu einem Eingang einer der Stufen der anderen der Pipelines geliefert wird, und kann eine Verarbeitung eines Bildes durch eine Übertragung des Bildes durch zumindest eine der Stufen jeder Pipeline bewirken.
- Gemäß einem Merkmal der Erfindung kann sich ein Verarbeiten, das durch jede der Graphikpipelinestufen durchgeführt wird, von einer Verarbeitung unterscheiden, die durch die anderen Stufen dieser Pipeline durchgeführt wird, und kann aus der Verarbeitungsgruppe ausgewählt werden (ist jedoch nicht auf dieselbe beschränkt), die eine Abtastumwandlung, ein Abschneiden, eine Fensterung in einen Betrachtungsport, eine Projektion und ein Sortieren umfaßt. Ähnlich kann sich die Verarbeitung, die durch jede der Stufen der Bittabellenbildpipeline durchgeführt wird, von der Verarbeitung unterscheiden, die durch die anderen Stufen durchgeführt wird, und kann aus der Verarbeitungsgruppe ausgewählt werden (ist jedoch nicht auf dieselbe beschränkt), die eine Mosaikrückbildung, eine Farbkorrektur/Weißabgleich, eine Farbpalettenabbildung, eine Tonkorrektur, eine Flimmerkorrektur, eine Farbumwandlung und eine Skalierung umfaßt.
- Gemäß einem weiteren Merkmal der Erfindung kann ein Kombinationsschritt einen zusammengesetzten Ausgang aus Signalen oder Daten bilden, die durch Ausgänge beider Pipelines geliefert werden.
- Gemäß einem weiteren Merkmal der Erfindung kann der Schritt des selektiven Konfigurierens der Pipelines ein alternatives Leiten von Ausgängen von einer oder mehreren Stufen zu einer nächsten der Stufen oder zu einer ausgewählten der Stufen der anderen Pipeline umfassen. Objektorientierte Graphikdaten können durch die Graphikpipeline in einem Format weitergeleitet werden, das Graphikidentifizierungs- und Lokalisierungsdaten umfaßt, und/oder Rasterabtast- (oder Bittabellen-) Bilddaten, die einzelne Pixelcharakteristika (z. B. Leuchtdichte, Farbe oder andere Pixelanzeigeinformationen, usw.) darstellen, können durch die Bittabellenbildpipeline geleitet werden. Ein Umwandlungsschritt kann enthalten sein, um zwischen einem objektorientierten Graphikdatenformat und einem Bittabellenbilddatenformat umzuwandeln (d. h. eine Datenumwandlung in eine oder beide Richtungen durchführen). Ein Bilderkennungsschritt kann für eine Identifizierung und Codierung der Graphikbilder in dem Bittabellenbild sorgen. Gemäß einem weiteren Merkmal der Erfindung liefert ein Schritt des Steuerns einer Verbindung ein Leiten des Graphikobjekts oder des Bittabellenbildobjekts (oder beider) zwischen der Graphik- und der Bittabellenbildpipeline.
- Gemäß einem weiteren Aspekt der Erfindung kann ein Prozessor zwei Pipelineeinrichtungen umfassen, wobei eine erste Pipelineeinrichtung eine Mehrzahl von Graphikbildverarbeitungseinrichtungen zur Verarbeitung eines objektorientierten Graphikbildes umfassen kann, und wobei eine zweite Pipelineeinrichtung eine Mehrzahl von Bittabellenbildverarbeitungseinrichtungen zur Verarbeitung eines Bittabellenbildes umfassen kann. Eine Verbindungseinrichtung kann selektiv einen Ausgang von einer Verarbeitungseinrichtung einer der Pipelineeinrichtungen mit einem Eingang einer der Verarbeitungseinrichtungen der anderen der Pipelineeinrichtungen verbinden.
- Das Vorausgegangene hat relativ allgemein bestimmte Merkmale und technische Vorteile der vorliegenden Erfindung herausgestellt, so daß die detaillierte Beschreibung der Erfindung, die nun folgt, besser verständlich ist. Zusätzliche Merkmale und Vorteile der Erfindung werden im folgenden beschrieben, die den Gegenstand der Ansprüche der Erfindung bilden. Es ist für Fachleute offensichtlich, daß die Konzeption und das spezifische offenbarte Ausführungsbeispiel ohne weiteres als eine Basis zum Modifizieren oder Entwerfen anderer Strukturen zum Ausführen der gleichen Zwecke der vorliegenden Erfindung verwendet werden können. Es sollte für Fachleute ebenfalls ersichtlich sein, daß derartige gleichwertige Aufbauten nicht von dem Bereich und der Wesensart der vorliegenden Erfindung abweichen, wie diese in den beigefügten Ansprüchen dargelegt ist.
- Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegende Zeichnung näher erläutert.
- Die Figur zeigt ein Blockdiagramm einer kombinierten Pipeline gemäß einem Ausführungsbeispiel der Erfindung, bei dem Stufen einer Bittabellenpipeline mit Stufen einer Graphikpipeline verbunden sind.
- Eine digitale Bildverarbeitung erfordert ein Verarbeiten eines Bittabellenbildes unter Verwendung einer Bittabellen- oder Rasterpipeline, um ein anzeigbares Bild zu erhalten, das Rot-, Grün- und Blaupixelinformationen enthält. Die Bittabellenpipeline umfaßt eine Zahl von Schritten, in denen das resultierende Bild korrigiert oder manipuliert wird, um sicherzustellen, daß ein genaues, repräsentatives und angenehmes Bild angezeigt wird. Eine digitale Videoanzeige zeigt z. B. üblicherweise 30 Digitalbildrahmen pro Sekunde an, wobei jedes digitale Bild, wie unten beschrieben, durch die Rasterpipeline geleitet wird. Der Computer, der ein digitales Bild oder ein Voll- oder Teilbewegungsdigitalvideo anzeigt, interpretiert das digitale Bild oder die Bilder als eine Kombination von Intensitätswerten für die Pixel, die das digitale Bild bilden, das auf dem Computeranzeigemonitor angezeigt werden soll. Ohne eine zusätzliche Verarbeitung erkennt der Computer keine Objekte, die in dem digitalen Bild oder Video enthalten sind.
- Der Computer kann jedoch eingeschränkte Modifizierungen von digitalen Bittabellenbildern durchführen. Da der Computer das digitale Bild als eine Serie von Intensitätswerten interpretiert, kann der Computer Intensitätswerte erhöhen oder senken, um jeweilige angezeigte, resultierende Farben zu verdunkeln oder zu reduzieren.
- Die Figur zeigt eine kombinierte Pipeline, die die Verarbeitungsstufen von sowohl der Bittabellenpipeline als auch die Verarbeitungsstufen der objektorientierten Graphikpipeline gemäß einem Ausführungsbeispiel der Erfindung umfaßt. Verbindungen sind in der kombinierten Pipeline enthalten, die es ermöglichen, daß der Ausgang einer Stufe der Pipeline zu einer anderen Stufe der Pipeline zur weiteren Verarbeitung geleitet wird. Ein Bild in der Form eines Bayer- Struktur-Bittabellenbildes 101 ist z. B. gezeigt, das bei einer Mosaikrückbildungsstufe 102 eine herkömmliche Bittabellenpipeline 100 betritt. Die Mosaikrückbildungsstufe 102 wandelt die Bayer-Struktur-Eingangselemente von Rot-, Grün- und Blautriadenintensitäten für jedes Pixel um und gleicht Artefakte (den Einfluß vorher zugeführter Intensitätswerte) aus. Bei einer herkömmlichen Bittabellenpipeline würden die Ausgangsintensitätswerte der Mosaikrückbildungsstufe 102 in eine Farbkorrektur-und-Weißabgleich-Stufe 103 geleitet. In der Farbkorrektur-und-Weißabgleich-Stufe 103 prüft die Verarbeitungssoftware den Gesamtweißabgleich der Bittabellen, um sicherzustellen, daß die Farben, die jedes Pixel bilden und sich kombinieren sollen, um weiß zu erscheinen, die korrekten Intensitäten für die Kombination aufweisen, um tatsächlich weiß zu erscheinen. Zusätzlich werden die Intensitäten anderer Farben durch ein Einstellen der Intensitäten der roten, grünen und blauen Komponenten eingestellt, so daß die angezeigten Farben so weit wie möglich an die tatsächlichen, beabsichtigten Farben angepaßt sind.
- Unterschiedliche Vorrichtungen erzeugen spezifische Farben unterschiedlich, wobei eine Farbpalettenabbildungsstufe 104 Farbgebungsunterschiede zwischen verschiedenen Plattformen korrigiert. Dieser Ausgleich korrigiert Unterschiede zwischen verschiedenen Vorrichtungen, wie z. B. Computerbildschirmen, Druckern, Plottern oder einer anderen Vorrichtung, bei der das Bild angezeigt oder aufgenommen werden soll. Der Zweck der Farbpalettenabbildung 104 besteht darin, Unterschiede zu beseitigen, die von einem Farbraum zu einem anderen Farbraum auftreten können, so daß die resultierenden Farben in dem digitalen Bild genau erzeugt werden. Anders ausgedrückt sollte ein digitales Bild, das auf einem Computerbildschirm angezeigt wird, die gleiche Farbgebung wie eine gedruckte Kopie des digitalen Bildes aufweisen. Die Farbpalettenabbildungsstufe 104 soll eine getreue Bildwiedergabe verbessern.
- Eine Tonkorrekturstufe 105 ist auch in der Videopipeline enthalten, um Farbabweichungen von Pixel zu Pixel zu beseitigen oder zu reduzieren, wenn beide Pixel die gleiche Farbe darstellen. Wenn z. B. in der Mitte eines Diagramms ein quadratischer roter Kasten ist, wobei die Farbe des Kastens in sich konsistent ist, prüft die Tonkorrektur die Bestandteilspixelfarbkomponenten des quadratischen roten Kastens und stellt die Intensitäten der roten, grünen und blauen Komponenten ein, um identisch zu sein.
- Eine Flimmerkorrekturstufe 106 ist auch in der Rohbildpipeline enthalten, um die Effekte weißen Lichts bei dem ursprünglichen Bild zu steuern, sowie, wie das weiße Licht das resultierende Bild beeinflußt. Wenn z. B. ein Teil des quadratischen roten Kastens, der oben besprochen wurde, mit einem weißen Scheinwerfer beleuchtet wird, während ein weiterer Abschnitt des quadratischen roten Kastens außerhalb des Lichts von dem Scheinwerfer war, sollte das Vorliegen des weißen Scheinwerfers den Schatten der roten Farbe auf dem quadratförmigen roten Kasten nicht beeinflussen, sondern nur die Beleuchtung dieses Abschnitts des roten Kastens selbst. Die Flimmerkorrekturstufe 106 stellt die Intensitäten jeder Farbkomponente ein, so daß resultierende Farben proportional zwischen Pixeln bei anderen Beleuchtungsbedingungen korrekt bleiben.
- Eine Farbumwandlungsstufe 107 gleicht Veränderungen der Farbe bei einem einzelnen Objekt aus, wobei eine Skalierungsstufe 108 in der Videopipeline enthalten ist, um das digitale Bild für die erwünschte Anzeige- oder Ausgabevorrichtung zu skalieren. Es ist wichtig anzumerken, daß die Schritte, die in der Bittabellenpipeline 100 der kombinierten Pipeline enthalten sind, beispielhaft für eine mögliche Raster- oder Bittabellenbildverarbeitung gegeben sind, wobei die Unterteilung einer derartigen Verarbeitung in diskrete Stufen, wie dies verwendet werden könnte, um ein spezifisches digitales Bild zu verarbeiten, unter Umständen nicht während der Verarbeitung jedes einzelnen angezeigten Digitalbildes erforderlich ist. Zusätzlich ist die Bittabellenpipeline 100, die in der kombinierten Pipeline enthalten ist, nur eine Sequenz, in der die Verarbeitungsschritte auftreten können. Die Tonkorrekturstufe 105 kann z. B. vor der Farbpalettenabbildungsstufe 106 auftreten. Die Farbpalettenabbildung 106 benötigt Informationen über die beabsichtigten Ausgangsvorrichtungen. Die Farbpalettenabbildung kann bei einigen Fällen der letzte Schritt in der Bittabellenpipeline 100 sein. Die Sequenz von Stufen, und sogar die Zahl von Stufen, durch die ein spezifisches digitales Bild in der Bittabellenpipeline verarbeitet wird, ist flexibel. Gemäß einem Ausführungsbeispiel ist jede der erläuterten Stufen vorzugsweise in der Bittabellenpipeline enthalten, um eine erwünschte Korrektur zu liefern.
- Ebenfalls in der kombinierten Pipelinestruktur enthalten ist eine objektorientierte Graphikpipeline 109. Ein anfängliches objektorientiertes Graphikbild, wie z. B. eine Linie 110, die durch zwei Endpunkte x1, y1 und z1 und x2, y2 und z2 definiert ist, betritt die Graphikpipeline 109 bei einer Abtastumwandlungsstufe 111. Für eine Linie würde die Abtastumwandlungsstufe 111 algorithmisch eine imaginäre Linie ziehen, die alle Punkt entlang der Linie 110 darstellt. Sobald die Linie algorithmisch bestimmt ist, werden die Pixel, die das Bild der Linie aufbauen, identifiziert und wiedergegeben. Wiedergeben ist der Ausdruck, der verwendet wird, um die Erzeugung des Bildes unter Verwendung geometrischer Modelle und unter Verwendung einer Farbe und Schattierung zu beschreiben, um dem Bild ein realistisches Aussehen zu geben. Die Gesamtfunktion der Abtastumwandlungsstufe 111 kann auch das Verfahren des Umwandelns einer verbindungslosen geometrischen Beschreibung einer Form, wie z. B. eines Vielecks, umfassen, um ein Bild eines Vielecks wiederzugeben.
- Eine Abschneidstufe 112 tritt auf, wenn ein Bildfenster definiert ist und Abschnitte des wiedergegebenen Bildes, die außerhalb des spezifizierten Bildfensters liegen, aus dem wiedergegebenen Bild entfernt werden. Die Abschneidstufe umfaßt die Anwendung einer Zahl möglicher Algorithmen. Ein Abschneiden kann Fenster mit vom Benutzer definierter Größe und Formen verwenden, um intelligent Abschnitte des Bildes außerhalb des definierten Raums zu entfernen.
- In der Fensterung-in-einen-Betrachtungsport-Stufe 113 sind orthogonale Koordinaten definiert, üblicherweise u und v, um einen Raum zu definieren, der das Graphikbild umfaßt. Sobald der Raum definiert ist, wird der Raum genormt, indem ein Satz von Algorithmen angewendet wird, die eine geometrische Umwandlung bezüglich des definierten Raums durchführen. Der genormte Raum wird verwendet, um die Komplexität der Projektion, die in einer Projektionsstufe 114 durchgeführt wird, zu minimieren.
- Die Projektionsstufe 114 definiert verschiedene Projektionen oder Standpunkte zum Betrachten eines Graphikobjekts und des Abschnitts des Graphikobjekts, der von den verschiedenen Standpunkten betrachtet wird. Bei der Projektionsstufe 114 wird die genormte geometrische Form mit einer Mitte der Projektion gepaart, von der ein Strahl projiziert wird, wobei die Abschnitte der geometrischen Form identifiziert werden, die von dieser Mitte der Projektion sichtbar sind. Eine hintere Abschneidebene kann z. B. definiert sein, in der eine Projektion des Bildes erzeugt wird, die die Form des Bildes umfaßt, wie dieses von der Rückseite oder hinter dem Bild erscheinen würde. Ähnlich kann eine vordere Abschneidebene definiert sein, in der eine Projektion des Bildes erfaßt wird, wie dieses von der Vorderseite erscheinen würde. Diese Projektionen können von einem zweidimensionalen Standpunkt oder von einem dreidimensionalen Standpunkt sein. Üblicherweise wird eine Parallelprojektion verwendet, bei der die Mittelprojektion definiert ist, um unendlich zu sein. Die Parallelprojektion ermöglicht es, daß die Projektion des Objekts so erscheint, als ob der Standpunkt eine Ebene parallel zu der Oberfläche des Objekts wäre, und nicht von einem einzelnen Punkt im Raum. Die Mitte der Projektion kann vordefiniert oder durch den Benutzer bestimmt sein.
- Eine Sortierungsstufe 115 wird üblicherweise plaziert, nachdem ein Ansichtsreferenzpunkt definiert ist. Der Ansichtsreferenzpunkt definiert den Punkt, von dem die Projektion des Objekts auf dem Anzeigebildschirm angezeigt wird. Sobald der Ansichtsreferenzpunkt definiert ist, werden die Projektionen des Bildes, die durch die Projektionsstufen 114 erzeugt wurden, sortiert, um die korrekte Projektion von dem Ansichtsreferenzpunkt zu identifizieren. Einer der Algorithmen, die bei der Sortierungsstufe 115 verwendet werden, ist z. B. ein Rückflächenaussortierungsalgorithmus ("Backface Culling Algorithm"), der Oberflächen eliminiert, die von dem Referenzstandpunkt aus hinter dem Graphikobjekt liegen würden. Die Sortierungsstufe 115 stellt die Familie von Algorithmen dar, die die Abschnitte des Graphikbildes bestimmen, die zu sehen sein werden. Ein Tiefensortierungsalgorithmus ist üblicherweise ebenfalls enthalten, um verschiedene Tiefen des Graphikobjekts zu betrachten und geeignet anzuzeigen. Der Ansichtsreferenzpunkt kann vordefiniert oder durch den Benutzer bestimmt sein.
- Die Ausgänge der objektorientierten Graphikpipeline 109 und der Rasterpipeline 100 werden kombiniert, um einen zusammengeführten Ausgang 116 zu bilden. Der zusammengeführte Ausgang kann entweder aus der letzten Ausgangsstufe der Graphikpipeline 109 oder der Rasterpipeline 100 sein. Alternativ kann der zusammengeführte Ausgang Ausgänge von beiden Pipelines sein, die durch eine geeignete Einrichtung miteinander verbunden sind. Der zusammengeführte Ausgang 116 kann dann auf dem Computerbildschirm oder durch eine andere Vorrichtung angezeigt werden.
- Die kombinierte Pipeline umfaßt Querverbindungen 117 bis 139, die eine Leitmatrix 140 bilden und die sich zwischen den Stufen der Rasterpipeline und den Stufen der Graphikpipeline befinden. Die Leitmatrix 140 wird durch eine Steuerungslogik 141 gesteuert, die Konfigurationsregister 142 umfaßt, die verwendet werden, um Verbindungen zwischen und unter Pipelinestufen zu definieren, wie diese in der Leitmatrix 140 implementiert sind. Die Steuerungslogik 141 kann eine automatische Steuerung des Pfades umfassen, dem die spezifischen Bilddaten durch die kombinierte Pipeline folgen können. Dieser Pfad kann durch Anwendungssoftwareeinstellungen (vordefiniert oder vom Benutzer gesteuert), Betriebssystemeinstellungen (vordefiniert oder vom Benutzer gesteuert) oder basiert auf im vorhinein festgelegten Regeln abhängig von den Charakteristika der Bilddaten, der Eingangsvorrichtung und/oder der Ausgangsvorrichtung gesteuert werden.
- Diese Verbindungen ermöglichen es, daß die Bilddaten von jeder Pipeline in ein kombiniertes Bild umgewandelt und durch jede der Stufen verarbeitet werden, die in der kombinierten Pipeline enthalten sind. Sobald die Mosaikrückbildungsstufe 102 ihre Verarbeitung z. B. beendet hat, können die resultierenden Bittabellenbilddaten eine Sequenz von Farbintensitätswerten sein, die das digitale Bild darstellen. Diese Intensitätswerte können über den Pfad 117 zu der Abtastumwandlungsstufe 111 gesandt werden. Bei der Abtastumwandlungsstufe 111 wird das Bild, das aus einer Serie von RGB-Werten besteht, verarbeitet, daß die Software die objektorientierten Graphikobjekte erkennt, die in dem Bittabellenbild enthalten sind. Diese Objekterkennungssoftware befindet sich in der Stufe 143 und ist bidirektional mit dem Ausgang der Stufen verbunden, die in der Bittabellenpipeline 100 enthalten sind. Wenn z. B. das ursprüngliche digitale Bild das einer Person ist, werden zahlreiche Pixel 101 durch die Mosaikrückbildungsstufe 102 verarbeitet. Diese Folge von Pixeln kann nach der Verarbeitung des digitalen Bilds zu der Abtastumwandlungsstufe 111 gesandt werden, wobei das Bild der Person, die in dem digitalen Bild enthalten ist, in eine Serie von objektorientierten geometrischen Formen (d. h. Grundelementen) umgewandelt wird, die sich dem ursprünglichen Bittabellendigitalbild annähern. Sobald die Umwandlung durchgeführt wurde, wandelt die Abtastumwandlungsstufe 111 die geometrischen Objekte in eine dreidimensionale Darstellung der Person um, die in dem digitalen Bild enthalten ist. Die dreidimensionale Darstellung kann dann durch eine der verbleibenden Stufen der Graphikpipeline geeignet verarbeitet werden.
- Alternativ kann statt der Leitmatrix 140 ein Leiten von Daten zwischen und unter den verschiedenen Pipelinestufen erzielt werden, indem Leitinformationen enthalten sind, die an die zu verarbeitenden Bilddaten angehängt oder denselben anderweitig zugeordnet sind, wie z. B. ein Leitetikett, das einen Pfad durch die kombinierten Pipelines definiert.
- Umgekehrt ist, wenn ein Graphikgrundelement in der Form einer Linie 110 durch die Abtastumwandlungsstufe 111 empfangen wird, eine dreidimensionale Darstellung dieser Linie üblicherweise das Endergebnis der Abtastumwandlung. Wenn der Benutzer diese dreidimensionale Linie zu der Farbkorrektur/Weißabgleich-Stufe 103 senden möchte, würde die dreidimensionale Linie in eine Bittabellendarstellung umgewandelt werden, die die Linie in einem digitalen Format darstellt. Diese Umwandlung wird durch den Datenformatumwandler 144 durchgeführt, der bidirektional mit dem Ausgang jeder Stufe der objektorientierten Graphikpipeline 109 verbunden ist. Diese RGB-Vier-Pixel- Darstellung könnte dann zur Verbesserung durch jede der verbleibenden Stufen der Bittabellenpipeline 100 gesandt werden.
- Alternativ und vorzugsweise kann ein kombiniertes Format erzeugt werden, das die bevorzugten Attribute der beiden Verfahren zum Darstellen von Bildern, die Fähigkeit für den Computer, Objekte des objektorientierten Graphikformats zu erkennen und zu manipulieren, und die Fähigkeit, das Bild genau auf dem Computerbildschirm durch das Bittabellenbildformat darzustellen, enthält. Dieses kombinierte Format würde die Notwendigkeit beseitigen, das Bild jedesmal von einer Graphikdarstellung in eine RGB-Pixeldarstellung umzuwandeln, wenn der Benutzer das Bild zu einer Stufe leitet, die üblicherweise in der Bittabellenpipeline enthalten ist, und das Bild von einer RGB-Bittabellendarstellung in eine objektorientierte Graphik- (oder Vieleck-) Darstellung umzuwandeln, wenn Stufen von der Graphikpipeline verwendet werden. Dieses kombinierte Format ist vorzugsweise eine Abbildung zwischen dem RGB-Rasterraum und dem objektorientierten Graphikraum oder kann aus einem Supersatz der beiden Formate bestehen.
Claims (20)
1. Bildprozessor mit folgenden Merkmalen:
einer Graphikpipeline (109), die eine erste Mehrzahl von Stufen (111-115) umfaßt, die konfiguriert sind, um ein Graphikobjekt zu verarbeiten;
einer Bittabellenbildpipeline (100), die eine zweite Mehrzahl von Stufen (102-108) umfaßt, die konfiguriert sind, um ein Bittabellenbild zu verarbeiten; und
einer auswählbar konfigurierbaren Verbindungsmatrix (140), die einen Bildpfad definiert, zum Liefern ausgewählter Ausgangsdaten von einer oder mehreren der Stufen einer der Pipelines zu ausgewählten Eingängen einer oder mehrerer der Stufen der anderen der Pipelines.
einer Graphikpipeline (109), die eine erste Mehrzahl von Stufen (111-115) umfaßt, die konfiguriert sind, um ein Graphikobjekt zu verarbeiten;
einer Bittabellenbildpipeline (100), die eine zweite Mehrzahl von Stufen (102-108) umfaßt, die konfiguriert sind, um ein Bittabellenbild zu verarbeiten; und
einer auswählbar konfigurierbaren Verbindungsmatrix (140), die einen Bildpfad definiert, zum Liefern ausgewählter Ausgangsdaten von einer oder mehreren der Stufen einer der Pipelines zu ausgewählten Eingängen einer oder mehrerer der Stufen der anderen der Pipelines.
2. Bildprozessor gemäß Anspruch 1, bei dem jede der
ersten Mehrzahl von Stufen (111-115) sich von den
anderen unterscheidet und aus der Gruppe von Stufen
ausgewählt ist, die eine Abtastumwandlung (111), ein
Abschneiden (112), eine Fensterung in einen
Betrachtungsport (113), eine Projektion (114) und ein
Sortieren (115) umfassen.
3. Bildprozessor gemäß Anspruch 1 oder 2, bei dem jede
der zweiten Mehrzahl von Stufen (102-108) sich von
den anderen unterscheidet und aus der Gruppe von
Stufen ausgewählt ist, die eine Mosaikrückbildung (102),
eine Farbkorrektur/einen Weißabgleich (103), eine
Farbpalettenabbildung (104), eine Tonkorrektur (105),
eine Flimmerkorrektur (106), eine Farbumwandlung (107)
und eine Skalierung (108) umfassen.
4. Bildprozessor gemäß einem der Ansprüche 1 bis 3, der
ferner eine Ausgangsstufe (116) aufweist, die mit
einem Ausgang von jeder der Pipelines verbunden ist.
5. Bildprozessor gemäß einem der Ansprüche 1 bis 4, bei
dem die Verbindung eine Schaltmatrix aufweist, die
konfigurierbar ist, um folgende Schritte
durchzuführen:
Leiten von Ausgangsdaten von einer oder mehreren der ersten Mehrzahl von Stufen (111-115) zu einer nächsten der ersten Mehrzahl von Stufen oder zu einer ausgewählten der zweiten Mehrzahl von Stufen (102-108); und
Leiten von Ausgangsdaten von einer oder mehreren der zweiten Mehrzahl von Stufen zu einer nächsten der zweiten Mehrzahl von Stufen oder zu einer ausgewählten der ersten Mehrzahl von Stufen.
Leiten von Ausgangsdaten von einer oder mehreren der ersten Mehrzahl von Stufen (111-115) zu einer nächsten der ersten Mehrzahl von Stufen oder zu einer ausgewählten der zweiten Mehrzahl von Stufen (102-108); und
Leiten von Ausgangsdaten von einer oder mehreren der zweiten Mehrzahl von Stufen zu einer nächsten der zweiten Mehrzahl von Stufen oder zu einer ausgewählten der ersten Mehrzahl von Stufen.
6. Bildprozessor gemäß einem der Ansprüche 1 bis 5, bei
dem die Graphikpipeline (109) konfiguriert ist, um
Graphikdaten (110) zu empfangen, die
Graphikidentifizierungs- und Lokalisierungsdaten umfassen, und bei
dem die Bittabellenbildpipeline (100) konfiguriert
ist, um Rasterabtastbilddaten (101) zu empfangen, die
Pixelleuchtdichteninformationen darstellen.
7. Bildprozessor gemäß einem der Ansprüche 1 bis 6, der
ferner einen Datenformatumwandler (144) aufweist, der
konfiguriert ist, um zwischen einem Graphikdatenformat
und einem Bittabellenbilddatenformat umzuwandeln.
8. Bildprozessor gemäß einem der Ansprüche 1 bis 7, der
ferner eine Bilderkennungsstufe (143) aufweist, die
konfiguriert ist, um Graphikbilder in dem
Bittabellenbild zu identifizieren und zu codieren.
9. Bildprozessor gemäß einem der Ansprüche 1 bis 8, der
ferner einen gemeinsamen Instruktionsdecodierer
umfaßt, der betreibbar ist, um die Verbindung (117-139)
zu steuern, um zumindest entweder das
Graphikobjekt (110) oder das Bittabellenbildobjekt (101)
zwischen der Graphikpipeline (109) und der
Bittabellenbildpipeline (100) zu leiten.
10. Verfahren zum Verarbeiten eines Bildes, mit folgenden
Schritten:
selektives Konfigurieren einer Pipelineverbindungsmatrix (140), um einen Bildpfad durch eine oder mehrere Stufen (111-115) einer Graphikpipeline (109) und eine oder mehrere Stufen (102-108) einer Bittabellenbildpipeline (100) festzulegen; und
Verarbeiten eines Bildes durch eine Übertragung entlang des Bildpfades durch zumindest eine Stufe jeder Pipeline.
selektives Konfigurieren einer Pipelineverbindungsmatrix (140), um einen Bildpfad durch eine oder mehrere Stufen (111-115) einer Graphikpipeline (109) und eine oder mehrere Stufen (102-108) einer Bittabellenbildpipeline (100) festzulegen; und
Verarbeiten eines Bildes durch eine Übertragung entlang des Bildpfades durch zumindest eine Stufe jeder Pipeline.
11. Verfahren gemäß Anspruch 10, bei dem das Verarbeiten,
das durch jede der Stufen der Graphikpipeline (109)
durchgeführt wird, sich von einem Verarbeiten
unterscheidet, das durch die anderen durchgeführt wird, und
aus der Verarbeitungsgruppe ausgewählt wird, die eine
Abtastumwandlung (111), ein Abschneiden (112), eine
Fensterung in einen Betrachtungsport (113), eine
Projektion (114) und ein Sortieren (115) umfaßt.
12. Verfahren gemäß Anspruch 10 oder 11, bei dem das
Verarbeiten, das durch jede der Stufen der
Bittabellenbildpipeline (100) durchgeführt wird, sich von einem
Verarbeiten unterscheidet, das durch die anderen
Stufen durchgeführt wird, und aus der Verarbeitungsgruppe
ausgewählt wird, die eine Mosaikrückbildung (102),
eine Farbkorrektur/einen Weißabgleich (103), eine
Farbpalettenabbildung (104), eine Tonkorrektur (105), eine
Flimmerkorrektur (106), eine Farbumwandlung (107) und
eine Skalierung (108) umfaßt.
13. Verfahren gemäß einem der Ansprüche 10 bis 12, das
ferner einen Schritt des Kombinierens von
Ausgangsdaten von jeder der Pipelines in einen zusammengesetzten
Ausgang (116) umfaßt.
14. Verfahren gemäß einem der Ansprüche 10 bis 13, bei dem
der Schritt des selektiven Konfigurierens der
Pipelines einen der folgenden Schritte umfaßt:
alternatives Leiten von Ausgangsdaten von einer oder mehreren Stufen einer der Pipelines zu einer nächsten der Stufen oder zu einer ausgewählten der Stufen der anderen Pipeline.
alternatives Leiten von Ausgangsdaten von einer oder mehreren Stufen einer der Pipelines zu einer nächsten der Stufen oder zu einer ausgewählten der Stufen der anderen Pipeline.
15. Verfahren gemäß einem der Ansprüche 10 bis 14, das
ferner die Schritte des Weiterleitens von
Graphikdaten, die Graphikidentifizierungs- und
Lokalisierungsdaten umfassen, zu der Graphikpipeline (109) und des
Weiterleitens von Rasterabtastbilddaten, die
Pixelcharakteristikinformationen darstellen, zu der
Bittabellenbildpipeline (100) umfaßt.
16. Verfahren gemäß einem der Ansprüche 10 bis 15, das
ferner einen Schritt des Umwandelns zwischen einem
Graphikdatenformat und einem
Bittabellenbilddatenformat aufweist.
17. Verfahren gemäß einem der Ansprüche 10 bis 16, das
ferner einen Schritt der Bilderkennung aufweist, der
eine Identifizierung und Codierung der Graphikbilder
in dem Bittabellenbild umfaßt.
18. Verfahren gemäß einem der Ansprüche 10 bis 17, das
ferner einen Schritt des Steuerns einer Verbindung
(117-139) zum Leiten zumindest des Graphikobjekts
(110) oder des Bittabellenbildobjekts (101) zwischen
der Graphikpipeline (109) und der
Bittabellenbildpipeline (100) umfaßt.
19. Bildprozessor mit folgenden Merkmalen:
einer ersten Pipeline (109), die eine Mehrzahl von Graphikbildprozessoren zum Verarbeiten eines Graphikobjekts umfaßt;
einer zweiten Pipeline (100), die eine Mehrzahl von Bittabellenbildprozessoren zum Verarbeiten eines Bittabellenbildes umfaßt; und
einem Schalter zum selektiven Verbinden eines Ausgangs von einem der Prozessoren mit einem Eingang eines anderen der Prozessoren.
einer ersten Pipeline (109), die eine Mehrzahl von Graphikbildprozessoren zum Verarbeiten eines Graphikobjekts umfaßt;
einer zweiten Pipeline (100), die eine Mehrzahl von Bittabellenbildprozessoren zum Verarbeiten eines Bittabellenbildes umfaßt; und
einem Schalter zum selektiven Verbinden eines Ausgangs von einem der Prozessoren mit einem Eingang eines anderen der Prozessoren.
20. Bildprozessor gemäß Anspruch 19, bei dem:
eine Verarbeitungsfunktion, die durch jeden der Graphikprozessoren durchgeführt wird, sich von einer Verarbeitungsfunktion unterscheidet, die durch einen anderen Graphikprozessor durchgeführt wird, wobei zumindest eine der Verarbeitungsfunktionen aus der Gruppe von Prozessen ausgewählt wird, die eine Abtastumwandlung (111), ein Abschneiden (112), eine Fensterung in einen Betrachtungsport (113), eine Projektion (114) und ein Sortieren (115) umfassen; und
eine Verarbeitungsfunktion, die durch jeden der Bittabellenbildprozessoren durchgeführt wird, sich von einer Verarbeitungsfunktion unterscheidet, die durch einen anderen Bittabellenprozessor durchgeführt wird, wobei Verarbeitungsfunktionen aus der Gruppe von Prozessen ausgewählt werden, die eine Mosaikrückbildung (102), eine Farbkorrektur/einen Weißabgleich (103), eine Farbpalettenabbildung (104), eine Tonkorrektur (105), eine Flimmerkorrektur (106), eine Farbumwandlung (107) und eine Skalierung (108) umfassen.
eine Verarbeitungsfunktion, die durch jeden der Graphikprozessoren durchgeführt wird, sich von einer Verarbeitungsfunktion unterscheidet, die durch einen anderen Graphikprozessor durchgeführt wird, wobei zumindest eine der Verarbeitungsfunktionen aus der Gruppe von Prozessen ausgewählt wird, die eine Abtastumwandlung (111), ein Abschneiden (112), eine Fensterung in einen Betrachtungsport (113), eine Projektion (114) und ein Sortieren (115) umfassen; und
eine Verarbeitungsfunktion, die durch jeden der Bittabellenbildprozessoren durchgeführt wird, sich von einer Verarbeitungsfunktion unterscheidet, die durch einen anderen Bittabellenprozessor durchgeführt wird, wobei Verarbeitungsfunktionen aus der Gruppe von Prozessen ausgewählt werden, die eine Mosaikrückbildung (102), eine Farbkorrektur/einen Weißabgleich (103), eine Farbpalettenabbildung (104), eine Tonkorrektur (105), eine Flimmerkorrektur (106), eine Farbumwandlung (107) und eine Skalierung (108) umfassen.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/896,793 | 2001-06-28 | ||
US09/896,793 US6961064B2 (en) | 2001-06-28 | 2001-06-28 | System and method for combining graphics formats in a digital video pipeline |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10223751A1 true DE10223751A1 (de) | 2003-01-16 |
DE10223751B4 DE10223751B4 (de) | 2007-06-21 |
Family
ID=25406851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10223751A Expired - Fee Related DE10223751B4 (de) | 2001-06-28 | 2002-05-28 | System und Verfahren zum Kombinieren von Graphikformaten in einer digitalen Videopipeline |
Country Status (4)
Country | Link |
---|---|
US (1) | US6961064B2 (de) |
JP (1) | JP4116330B2 (de) |
DE (1) | DE10223751B4 (de) |
GB (1) | GB2378373B (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1814308A2 (de) | 2005-12-07 | 2007-08-01 | Olympus Soft Imaging Solutions GmbH | Verfahren zur Farbkorrekturberechnung |
DE102006043068B4 (de) * | 2006-09-14 | 2009-01-29 | Olympus Soft Imaging Solutions Gmbh | Verfahren zur Übertragung von mit Hilfe einer Aufnahmevorrichtung gewonnenen Farbdaten |
CN108139049A (zh) * | 2015-10-10 | 2018-06-08 | 戴姆勒股份公司 | 运行发光体的方法和发光体 |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7139004B2 (en) * | 2002-01-25 | 2006-11-21 | Xerox Corporation | Method and apparatus to convert bitmapped images for use in a structured text/graphics editor |
US7136082B2 (en) * | 2002-01-25 | 2006-11-14 | Xerox Corporation | Method and apparatus to convert digital ink images for use in a structured text/graphics editor |
US6765584B1 (en) * | 2002-03-14 | 2004-07-20 | Nvidia Corporation | System and method for creating a vector map in a hardware graphics pipeline |
US7454320B1 (en) * | 2002-03-14 | 2008-11-18 | Nvidia Corporation | System and method for calculating partial differential equations in a hardware graphics pipeline |
US7928997B2 (en) * | 2003-02-06 | 2011-04-19 | Nvidia Corporation | Digital image compositing using a programmable graphics processor |
US7383426B2 (en) * | 2003-06-11 | 2008-06-03 | University Of Washington | Processor employing loadable configuration parameters to reduce or eliminate setup and pipeline delays in a pipeline system |
EP1496475B1 (de) * | 2003-07-07 | 2013-06-26 | STMicroelectronics Srl | Geometrische Verarbeitungsstufe für einen pipelineförmiges, grafisches Anzeigesystem, Verfahren und Rechnerprogramm dafür |
JP2006053690A (ja) * | 2004-08-10 | 2006-02-23 | Ricoh Co Ltd | 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体 |
KR100732958B1 (ko) * | 2004-08-13 | 2007-06-27 | 경희대학교 산학협력단 | 20면체 파노라마 영상의 부호화 및 복호화를 위한 방법 및장치 |
US7742206B2 (en) * | 2005-02-08 | 2010-06-22 | Sharp Laboratories Of America, Inc. | Methods and systems for color gamut adjustment |
US9363481B2 (en) * | 2005-04-22 | 2016-06-07 | Microsoft Technology Licensing, Llc | Protected media pipeline |
JP4694268B2 (ja) * | 2005-06-03 | 2011-06-08 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP4619868B2 (ja) * | 2005-06-03 | 2011-01-26 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP4694270B2 (ja) * | 2005-06-03 | 2011-06-08 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP4694267B2 (ja) * | 2005-06-03 | 2011-06-08 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP4694269B2 (ja) * | 2005-06-03 | 2011-06-08 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP4694266B2 (ja) * | 2005-06-03 | 2011-06-08 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP4694265B2 (ja) * | 2005-06-03 | 2011-06-08 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP4694264B2 (ja) * | 2005-06-03 | 2011-06-08 | 富士ゼロックス株式会社 | 画像処理装置、方法及びプログラム |
JP2007122209A (ja) * | 2005-10-26 | 2007-05-17 | Nec System Technologies Ltd | 3次元グラフィックス描画装置、その方法及びプログラム |
JP2007287085A (ja) * | 2006-04-20 | 2007-11-01 | Fuji Xerox Co Ltd | 画像処理装置及びプログラム |
JP2007287084A (ja) * | 2006-04-20 | 2007-11-01 | Fuji Xerox Co Ltd | 画像処理装置及びプログラム |
JP4795138B2 (ja) * | 2006-06-29 | 2011-10-19 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
JP4979287B2 (ja) * | 2006-07-14 | 2012-07-18 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
US8922565B2 (en) | 2007-11-30 | 2014-12-30 | Qualcomm Incorporated | System and method for using a secondary processor in a graphics system |
US9124847B2 (en) * | 2008-04-10 | 2015-09-01 | Imagine Communications Corp. | Video multiviewer system for generating video data based upon multiple video inputs with added graphic content and related methods |
US8027070B2 (en) * | 2009-02-03 | 2011-09-27 | Sharp Laboratories Of America, Inc. | Methods and systems for hue adjustment |
US8358441B2 (en) * | 2009-04-01 | 2013-01-22 | Sharp Laboratories Of America, Inc. | Methods and systems for sampling and modeling of colorant-limited, multi-colorant color spaces |
JP5808171B2 (ja) * | 2010-07-16 | 2015-11-10 | 株式会社 資生堂 | 目元画像シミュレーション装置、目元画像生成方法、及び目元画像生成プログラム |
JP4756107B1 (ja) * | 2011-02-09 | 2011-08-24 | 株式会社ディジタルメディアプロフェッショナル | グラフィックス処理装置 |
US9183006B2 (en) * | 2011-08-31 | 2015-11-10 | Visan Industries | Systems and methods for layout of graphic objects for electronic display, print or other output |
JP5479519B2 (ja) * | 2012-03-30 | 2014-04-23 | 富士フイルム株式会社 | 画像処理装置、方法及びプログラム |
US11467845B2 (en) | 2020-10-20 | 2022-10-11 | Micron Technology, Inc. | Asynchronous pipeline merging using long vector arbitration |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5598525A (en) * | 1995-01-23 | 1997-01-28 | Cirrus Logic, Inc. | Apparatus, systems and methods for controlling graphics and video data in multimedia data processing and display systems |
US5977960A (en) | 1996-09-10 | 1999-11-02 | S3 Incorporated | Apparatus, systems and methods for controlling data overlay in multimedia data processing and display systems using mask techniques |
US5861893A (en) * | 1997-05-27 | 1999-01-19 | Intel Corporation | System and method for graphics data concurrency and coherency |
US5943064A (en) * | 1997-11-15 | 1999-08-24 | Trident Microsystems, Inc. | Apparatus for processing multiple types of graphics data for display |
-
2001
- 2001-06-28 US US09/896,793 patent/US6961064B2/en not_active Expired - Fee Related
-
2002
- 2002-05-28 DE DE10223751A patent/DE10223751B4/de not_active Expired - Fee Related
- 2002-05-29 JP JP2002155817A patent/JP4116330B2/ja not_active Expired - Fee Related
- 2002-06-19 GB GB0214136A patent/GB2378373B/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1814308A2 (de) | 2005-12-07 | 2007-08-01 | Olympus Soft Imaging Solutions GmbH | Verfahren zur Farbkorrekturberechnung |
US7777786B2 (en) | 2005-12-07 | 2010-08-17 | Olympus Soft Imaging Solutions Gmbh | Method for calculating color correction |
DE102006043068B4 (de) * | 2006-09-14 | 2009-01-29 | Olympus Soft Imaging Solutions Gmbh | Verfahren zur Übertragung von mit Hilfe einer Aufnahmevorrichtung gewonnenen Farbdaten |
CN108139049A (zh) * | 2015-10-10 | 2018-06-08 | 戴姆勒股份公司 | 运行发光体的方法和发光体 |
US10285234B2 (en) | 2015-10-10 | 2019-05-07 | Daimler Ag | Method for the operation of a light unit, and light unit |
Also Published As
Publication number | Publication date |
---|---|
DE10223751B4 (de) | 2007-06-21 |
JP2003067758A (ja) | 2003-03-07 |
JP4116330B2 (ja) | 2008-07-09 |
GB0214136D0 (en) | 2002-07-31 |
GB2378373A (en) | 2003-02-05 |
US20030001851A1 (en) | 2003-01-02 |
US6961064B2 (en) | 2005-11-01 |
GB2378373B (en) | 2005-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10223751B4 (de) | System und Verfahren zum Kombinieren von Graphikformaten in einer digitalen Videopipeline | |
DE69431329T2 (de) | Verfahren zur Erzeugung von Bilddaten | |
DE69132796T2 (de) | Verfahren und gerät zur darstellung von grafischen bildern | |
DE69331031T2 (de) | Vorrichtung zur parallelen Bilderzeugung | |
DE69130545T2 (de) | System zur Erzeugung einer texturierten Perspektivsicht | |
DE3750784T2 (de) | Generation eines intrapolierten charakteristischen Wertes zur Anzeige. | |
DE69610667T2 (de) | Verfahren und Einrichtung zur gleichzeitigen Darstellung von Grafik und Videosignalen auf einem Rechnerbildschirm | |
DE19825302B4 (de) | System zur Einrichtung einer dreidimensionalen Abfallmatte, welche eine vereinfachte Einstellung räumlicher Beziehungen zwischen realen und virtuellen Szeneelementen ermöglicht | |
DE69621778T2 (de) | Tiefenabhängige parallaktische pixelverschiebung | |
DE69221346T2 (de) | Vorrichtung und Verfahren zur Erstellung stereoskopischer Bilder | |
DE68928744T2 (de) | Verfahren zum senkrechten Filtern bei rasterabgetasteten Anzeigevorrichtungen | |
DE3853664T2 (de) | Farbzellentextur. | |
DE69130549T2 (de) | Vorrichtung zur Erzeugung eines Objektbewegungsweges | |
DE69601880T2 (de) | Verfahren und vorrichtung zur erstellung der lage einer fernsehkamera zur verwendung in einem virtuellen studio | |
DE69126611T2 (de) | Bilderzeugungsgerät | |
DE3873792T2 (de) | Elektronische bildverarbeitung. | |
DE69127650T2 (de) | Verfahren und Gerät zur Erzeugung von dreidimensionalen graphischen Symbolen | |
DE69216207T2 (de) | Farbeinstellung zur Glättung der Grenzen zwischen Farbbildern | |
DE69128548T2 (de) | Verbesserungen in Steuerdatenfeldern von Bildelementen | |
DE69331486T2 (de) | Bilddatenverarbeitung | |
DE69330578T2 (de) | Verfahren und Einrichtung zum Füllen eines Bildes | |
DE3854753T2 (de) | Einrichtung und Verfahren zur Farbbildverbesserung. | |
DE69029987T2 (de) | Verfahren und Gerät zur parallelen Wiedergabe von Polygonen und Pixeln | |
DE3306442A1 (de) | Verfahren zur farberfassung und farbmodifikation und einrichtung zur durchfuehrung des verfahrens | |
DE69321511T2 (de) | Farben Erzeug- und Mischvorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20121201 |