-
Die
Erfindung betrifft eine integrierte Schaltung zur elektronischen
Manipulation von Bildern und ein System zur elektronischen Manipulation
von Bildern umfassend eine integrierte Schaltung.
-
Zur
elektronischen Manipulation von Bildern werden in der Regel Computer
eingesetzt. Die Ausgabe der Bildinformationen erfolgt meistens über eine
Grafikkarte, welche einen Grafikchip umfasst, der über ein
Bussystem mit einer Hauptprozessoreinheit (CPU) und dem Arbeitsspeicher
des Computers oder einem eigens für die Grafikkarte vorgesehenen Arbeitsspeicher
kommuniziert. Neben einer Vielzahl anderer Verfahren zur elektronischen
Manipulation von Bildern ist das Warping von Bildern bekannt. Beim
Warping wird ein gegebenes Bild durch Veränderung der Position der einzelnen
Bildpunkte verzerrt oder ein verzerrtes Bild entsprechend entzerrt
und damit korrigiert. Zunächst
muss dazu ein optisches Bild in ein elektronisches Bild umgewandelt
werden. Ausgehend beispielsweise von den elektronischen Signalen
einer Videokamera oder digitalen Fotokamera, welche die Quellbilder
in eine festgelegte Anzahl von Bildpunkten, den so genannten Pixeln,
unterteilen, wird jedem Bildpunkt des Quellbildes eine genaue Bildschirmposition
(x, y) zugeordnet. Die Bildschirmposition der einzelnen Bildpunkte
werden in einem Bildspeicherbereich eines Speichers gespeichert.
Beim Warping wird jetzt jeder Bildpunkt des Quellbildes gemäß einer
genau definierten Transformationsvorschrift an eine neue Bildposition (x', y') im Zielbild verschoben.
Meistens wird das resultierende Zielbild in einem zweiten Speicherbereich abgespeichert
und/oder über
eine Grafikkarte auf einem Bildschirm dargestellt. Um die neuen
Bildpositionen der Bildpunkte zu berechnen, werden typischerweise
folgende Verfahren angewendet:
- 1. Verwendung
einer zweidimensionalen (2D) oder einer 3D auf 2D projizierenden
polynomialen Transformationsfunktion zur Berechnung des resultierenden
Zielbildpunktes (x',
y') für jeden Quellbildpunkt
(x, y), wobei die Transformationsfunktion abhängig von der Bildposition des
Quellbildpunktes (x, y) ist.
- 2. Verwendung einer gespeicherten Lookup-Matrix, welche eine
beliebige Transformationsvorschrift zu jedem Quellbildpunkt (x,
y) als Matrix-eintrag enthält.
- 3. Verwendung eines Netzes aus Dreiecken, welches durch Abbilden
von kleinen dreieckförmigen Quellbildpunktbereichen
auf transformierte dreieckige Zielbildpunktbereiche die Abbildungsvorschrift
der Quellbildpunkte (x, y) auf die Zielbildpunkte (x', y') beschreibt.
-
Pro
Bild wird zusätzlich
zu den drei oben genannten Verfahren zur Verbesserung der Qualität der manipulierten
Bilder ein Filterverfahren angewendet, welches einerseits das Überlappen
von Bildpunkten bei verkleinerten Bildbereichen berücksichtigt
und andererseits durch Interpolation zwischen Zielbildpunkten, welche
in expandierten Bereichen nicht mehr benachbart sind, neue Bildpunkte
berechnet.
-
Als
Ergebnis des Warpings können
Bilder, welche durch Linsen- oder Spiegeleffekte verzerrt worden
sind, wieder korrigiert werden. Es ist aber auch möglich Bilder
bewusst zu verzerren, um diese bei Projektion auf unebenen Flächen wieder "gerade" bzw. unverzerrt
erscheinen zu lassen. Eine mögliche Anwendung
dieses Prinzips stellt ein "Headup-Display" in einem Kraftfahrzeug
dar, bei welchem beispielsweise die Instrumententafel des Kraftfahrzeuges über einen
Projektor auf die Windschutzscheibe des Kraftfahrzeuges projiziert
wird. Damit ein Betrachter, beispielsweise der Fahrer des Kraftfahrzeuges,
die Instrumententafel durch die gekrümmte Windschutzscheibe nicht
verzerrt wahrnimmt, wird das elektronisch erzeugte Bild der Instrumententafel vorher
so verzerrt, dass es bei Reflektion von der Windschutzscheibe unverzerrt
erscheint. In der Warping-Funktion, d. h. in der Abbildungsfunktion
der Bildpunkte (x, y) auf die Zielbildpunktposition (x', y') muss also die Krümmung der
Windschutzscheibe berücksichtigt
werden. Problematisch bei einer derartigen Anwendung ist, dass es
von dem Blickwinkel oder der Position eines Betrachters der projizierten Instrumententafel
abhängig
ist, ob das Bild vollständig
entzerrt erscheint bzw. ob eine vollständige Entzerrung des Bildes
berechnet wurde.
-
Es
wurden Untersuchungen mit konventionellen 3D-beschleunigten Grafikkarten mit Standard PC-Ausstattung durchgeführt, welche
ein Netz aus Dreiecken zur Definition einer zeitlich konstanten Transformationsvorschrift
beim Warping verwenden. Diese Systeme erzielten trotz hohen Aufwandes
hinsichtlich der Hardware und der Leistungscharakteristik der Hardware
nur relativ schlechte Leistungsergebnisse hinsichtlich eines Warpings
von Echtzeitbildern.
-
Aufgrund
des enormen Rechenaufwandes beim Warping wurden daher Versuche mit
einem "Field Programmable
Gate Array" (FPGA)
durchgeführt.
Ein FPGA weist eine Vielzahl frei programmierbarer, nicht spezialisierter
Logikschaltkreise auf. FPGAs bieten die Möglichkeit, durch Programmierung der
einzelnen Logikschaltkreise Funktionen im FPGA abzubilden und Informationen
massiv parallel zu verarbeiten. FPGAs können damit bei relativ niedrigen Taktfrequenzen
bereits gute Rechenleistung erzielen. Mit den FPGAs konnten zwar
gute Resultate hinsichtlich des Warpings von Echtzeitbildern unter
Verwendung von zeitlich konstanten Transformationsvorschriften erzielt
werden, nachteilig bei den FPGAs sind jedoch deren hoher Flächenbedarf
und der damit einhergehende Bedarf an Halbleitersubstrat. Hieraus
resultiert ein relativ hoher Stückkostenpreis der
FPGAs, der auch bei einer Massenproduktion nicht gesenkt werden
kann. Die Verwendung von derart komplexen FPGAs in einem Massenprodukt
des Consumer-Bereichs ist daher nicht vorteilhaft. Darüber hinaus
konnten die aus den Anwendungen bekannten und beispielsweise aus
einem veränderlichen
Blickwinkel resultierende Probleme nicht zufrieden stellend gelöst werden.
-
Von
dem zuvor beschriebenen Stand der Technik ausgehend, liegt der Erfindung
damit die Aufgabe zugrunde, eine integrierte Schaltung zur elektronischen
Manipulation von Bildern sowie ein System zur elektronischen Manipulation
von Bildern umfassend eine integrierte Schaltung zur Verfügung zu stellen,
welche bzw. welches eine hohe Rechenleistung hinsichtlich eines
Warpings von Echtzeitbildern gewährleistet
und gleichzeitig geringe Stückkosten für die Hardware
ermöglicht.
Darüber
hinaus liegt der Erfindung die Aufgabe zugrunde, eine entsprechende
Verwendung einer erfindungsgemäßen, integrierten
Schaltung und ein Verfahren zur elektronischen Manipulation von
Bildern mittels Warping, mit welchem die bisherigen Nachteile der
bekannten Anwendungen beseitigt werden, vorzuschlagen.
-
Gemäß einer
ersten Lehre der vorliegenden Erfindung wird die oben aufgezeigte
Aufgabe durch eine integrierte Schaltung dadurch gelöst, dass
die integrierte Schaltung eine Hauptprozessoreinheit, eine Speicherzugriff-Kontrolleinheit,
eine Grafikausgang-Kontrolleinheit und eine Warping-Berechnungseinheit
aufweist.
-
Überraschenderweise
konnte durch die Integration der verschiedenen Bearbeitungseinheiten
der integrierten Schaltung ein enormer Leistungsgewinn bei gleichzeitig
geringem Flächenbedarf
an Halbleitersubstrat und damit geringen Herstellkosten erzielt werden.
Die Hauptprozessoreinheit kann beispielsweise das Quellbild unabhängig von
der Warping-Berechnungseinheit berechnen und dieses in einem Speicher
ablegen. Hierzu dient die Speicherzugriff-Kontrolleinheit, welche
den Zugriff auf den Speicherbereich mindestens eines internen oder externen
Speichers gewährleistet.
In der Regel greifen Speicherzugriff-Kontrolleinheiten auf Speicher
zu, welcher durch RAM(Random Access Memory)-Speichermodule zur Verfügung gestellt
wird. Diese sind häufig
extern angeordnet. Der Speicher kann aber auch in die integrierte
Schaltung integriert sein, wodurch die Leistung der integrierten
Schaltung weiter gesteigert werden kann. Durch die Integration mindestens
einer Speicherzugriff-Kontrolleinheit wird zudem der Zugriff der
einzelnen Einheiten der integrierten Schaltung auf den benötigten Speicherbereich vereinheitlicht
und entsprechend beschleunigt. Ist nur eine Speicherzugriff-Kontrolleinheit vorgesehen, kann
das Layout der integrierten Schaltung einfach gehalten werden. Sind
dagegen eine Mehrzahl an Speicherzugriff-Kontrolleinheiten vorgesehen, ist es möglich, den
Speicherzugriff zu parallelisieren und zu beschleunigen.
-
Die
Warping-Berechnungseinheit berechnet dann entsprechend den Transformationsvorschriften die
Position der Zielbildpunkte und greift bei der Berechnung beispielsweise
auf von der Hauptprozessoreinheit berechnete Bilder zurück. Die
von der Warping-Berechnungseinheit
berechneten Zielbilder werden von der Grafikausgang-Kontrolleinheit
an ein Display zur Darstellung oder an andere bildbearbeitende Vorrichtungen
zur weiteren Bearbeitung übergeben.
Aufgrund der parallelen und unabhängigen Berechnung der Quell-
und Zielbilder sowie der kurzen Signalwege in der erfindungsgemäßen, integrierten
Schaltung wird eine sehr hohe Rechenleistung erzielt, welche prinzipiell
ermöglicht
auch die Transformationsvorschriften des Warpings zeitabhängig, also
dynamisch zu berechnen. Da der Flächenbedarf der einzelnen Einheiten
optimal an die Aufgaben angepasst und optimiert werden kann, bleibt
der Flächenbedarf
der integrierten Schaltung insgesamt gering. Damit ist die erfindungsgemäße Schaltung
sehr gut für
die Massenproduktion geeignet.
-
Gemäß einer
weiteren vorteilhaften Ausgestaltung ist die integrierte Schaltung
als eine kundenspezifische Integrierte Schaltung (ASIC) oder als
ein applikationsspezifisches Standardprodukt (ASSP) ausgebildet.
Ein ASIC weist eine fest vorgegebene, anwendungsspezifische Funktionalität auf und
ist im Allgemeinen für
eine Anwendung ausgelegt. Ein ASSP ist dagegen eine integrierte
Schaltung, welche auf die Herstellung in großen Stückzahlen optimiert ist und
in verschiedenen Anwendungen verwendet werden kann. Sowohl ein ASIC
als auch ein ASSP zeichnet sich durch einen optimierten Flächenbedarf und
einer Optimierung hinsichtlich der Prozesssicherheit bei der Herstellung
aus.
-
Bereits
langjährig
erprobte Herstellungsprozesse mit einer hohen Ausbeute an Gutteilen
können,
gemäß einer
nächsten
vorteilhaften Ausführungsform
der erfindungsgemäßen, integrierten Schaltung,
dadurch verwendet werden, dass das Halbleitersubstrat zumindest
teilweise aus Silizium besteht. Vorstellbar ist jedoch, dass die
erfindungsgemäße integrierte
Schaltung auch auf einem anderen Halbleitersubstrat, beispielsweise
einem III-V-Mischungshalbleitersubstrat, hergestellt wird.
-
Ist
eine 32bit- und/oder 64bit-Befehle verarbeitende Hauptprozessoreinheit
vorgesehen, kann auf bestehende Layouts für Hauptprozessoreinheiten zurückgegriffen
werden, so dass die Herstellkosten der integrierten Schaltung weiter
verringert werden. Eine 64bit-Befehle verarbeitende Hauptprozessoreinheit
hat dabei gegenüber
einer 32bit-Befehle verarbeitende Hauptprozessoreinheit den Vorteil,
dass innerhalb eines 64bit-Befehls eine höhere Anzahl von Instruktionen
bzw. komplexere Instruktionen an die Hauptprozessoreinheit übergeben
werden können
und ein größerer Adressraum
adressierbar ist.
-
Beim
Warping wird die Leistungscharakteristik, gemäß einer nächsten weitergebildeten Ausführungsform
der erfindungsgemäßen, integrierten Schaltung,
dadurch verbessert, dass eine Grafikeingang-Kontrolleinheit vorgesehen
ist. Durch die Integration der Grafikeingang-Kontrolleinheit können elektronische Bilder direkt
an die erfindungsgemäße integrierte
Schaltung übergeben
werden. Dadurch, dass die Berechnung der Bilder durch die Hauptprozessoreinheit
im Wesentlichen entfällt,
kann die Verarbeitungsgeschwindigkeit der integrierten Schaltung weiter
erhöht
werden.
-
Ist
als Grafikeingang-Kontrolleinheit eine Video-Framegrabber-Einheit vorgesehen, wird
auf einfache Weise die Verarbeitung von Echtzeit-Bildern durch die
integrierte Schaltung ermöglicht,
in dem ein eingehender Datenstrom an Videobildern in einzelne Bilder
durch die Video-Framegrabber-Einheit "zerlegt" und der Speicherzugriff-Kontrolleinheit übergeben
wird. Andererseits wird aufgrund der Hardwareintegration der Video-Framegrabber-Einheit
bei der Bereitstellung der Quellbilder für die Warping-Berechnungseinheit
ein Performancegewinn erzielt.
-
Eine
weitere Verbesserung der Rechenleistung im Hinblick auf die Durchführung des
Warpings von Echtzeitbildern wird, gemäß einer nächsten Ausführungsform der integrierten
Schaltung, dadurch erreicht, dass eine Lookup-Matrix basierte Warping-Berechnungseinheit
vorgesehen ist. Die Verwendung einer Lookup-Matrix basierten Warping-Berechnungseinheit
ergibt insbesondere im Vergleich zu den übrigen Warping-Verfahren einen
Geschwindigkeitsvorteil in Verbindung mit der erfindungsgemäßen, integrierten
Schaltung. Wie bereits ausgeführt, sind
die Transformationsvorschriften in einer Matrix, der Lookup-Matrix,
gespeichert. Die einzelnen Einträge
werden sukzessive von der Warping-Berechnungseinheit ausgelesen und verwendet.
Eine gleichzeitige, parallele und unabhängige Neuberechnung der gleichen
oder einer weiteren Lookup-Matrix wird durch die Hauptprozessoreinheit
ermöglicht.
-
Ist
zumindest eine für
die drei Grundfarben, Blau, Grün
und Rot, jeweils eine Lookup-Matrix verwendende Warping-Berechnungseinheit
vorgesehen, ist es möglich,
die Verschiebung der Zielbildpunkte für jede Farbe einzeln zu berechnen.
Damit kann beispielsweise die Wellenlängenabhängigkeit der Dispersion optischer
Linsen berücksichtigt
werden und eine entsprechend exakte Korrektur oder Verzerrung des
berechneten Bildes erzielt werden.
-
Ermöglicht die
Speicherzugriff-Kontrolleinheit einen direkten Speicherzugriff zumindest
der Hauptprozessoreinheit und der Warping-Berechnungseinheit auf
einen Speicherbereich mindestens eines internen oder externen Speichers,
kann eine sehr schnelle Berechnung des Warpings gewährleistet
werden. Die Warping-Berechnungseinheit
kommuniziert in dem Fall ohne Umwege, d. h. ohne Zugriff auf die
Hauptprozessoreinheit, mit dem Speicher. Weiter beschleunigt wird
die Berechnungsgeschwindigkeit der integrierten Schaltung, wenn
zusätzlich
die Grafikeingang-Kontrolleinheit und/oder die Grafikausgang-Kontrolleinheit
die Speicherbereiche direkt adressieren können. Greifen zumindest die
Hauptprozessoreinheit und die Warping-Berechnungseinheit auf einen
Speicherbereich eines gemeinsamen Hauptspeicher nach dem Unified-Memory-Architecture(UMA)-Prinzip
zu, wird einerseits eine weitere Verbesserung der Leistung der integrierten Schaltung
erzielt. Andererseits wird aufgrund des "Unified-Memory-Architecture"(UMA)-Prinzips das Schaltungslayout
vereinfacht und die Anzahl der externen oder internen Speichereinheiten
minimiert und damit die Herstellkosten reduziert.
-
Besonders
kurze Zugriffszeiten werden dadurch erzielt, dass über die
Speicherzugriff-Kontrolleinheit in mindestens einem Speicher ein
Eingangsbildspeicherbereich, ein Lookup-Matrix-Speicherbereich, ein Ausgangsbildspeicherbereich
und/oder ein Arbeitsspeicherbereich der Hauptprozessoreinheit adressierbar
ist.
-
Gemäß einer
weiteren, vorteilhaften Ausführungsform
der erfindungsgemäßen, integrierten Schaltung
wird die Berechnungsgeschwindigkeit zusätzlich dadurch gesteigert, dass
eine einen simultanen oder quasi-simultanen Zugriff auf den Eingangsbildspeicherbereich,
den Ausgangsbildspeicherbereich und/oder den Lookup-Matrixspeicherbereich
ermöglichende
Warping-Berechnungseinheit
vorgesehen ist. Beim simultanen Zugriff werden die verschiedenen
Speicherbereiche parallel angesprochen. Der quasi-simultane Zugriff
erfolgt zwar auf der Speicherebene tatsächlich sequentiell. Allerdings
ist der Zugriff hinsichtlich der Latenzzeiten so optimiert, dass die
Daten in den einzelnen Bearbeitungseinheiten annähernd parallel verarbeitet
werden. Eine derartige Warping-Berechnungseinheit
gewährleistet,
dass gleichzeitig bzw. nahezu gleichzeitig die Bildposition des
neuen Quellbildpunktes aus dem Eingangsbildspeicherbereich sowie
die entsprechende Warping-Funktion aus der Lookup-Matrix eingelesen werden
und der zuvor berechnete Zielbildpunkt im Ausgangsbildspeicherbereich
abgespeichert werden kann. Durch diese Maßnahme werden die Schritte zur
Generierung des Zielbildes weiter parallelisiert.
-
Vorzugsweise
ist mindestens eine Filtereinheit zum Filtern der Grafikausgabe
vorgesehen, um beispielsweise das Überlappen von Bildpunkten im Falle
von schrumpfenden Bildbereichen aber auch die Berechnung von neuen
Bildpunkten durch Interpolation zwischen Zielbildpunkten, welche
bei expandierten Bildbereichen nach der Transformation nicht mehr
benachbart sind, zu berücksichtigen.
Eine Integration der Filtereinheit in die integrierte Schaltung sorgt
für eine
zusätzliche
Steigerung der Rechenleistung.
-
Um
eine dynamische Modifikation der Filterparameter durch die integrierte
Hauptprozessoreinheit zu ermöglichen,
ist vorzugsweise die Filtereinheit als Bildpunkt-Filtereinheit ausgebildet, wobei die
Filterparameter in einem programmierbaren Speicher, insbesondere
einem RAM-Speicher,
abgespeichert sind. Hierdurch wird ein einfacher Zugriff durch die Hauptprozessoreinheit
zur Berechnung geänderter Filterparameter
ermöglicht.
-
Die
Geschwindigkeit der Berechnungen der Hauptprozessoreinheit kann,
gemäß einer
weiteren Ausführungsform
der erfindungsgemäßen, integrierten
Schaltung, dadurch gesteigert werden, dass die Hauptprozessoreinheit
eine Gleitkomma-Berechnungseinheit aufweist. Hierdurch ergeben sich
insbesondere im Zusammenhang mit einer dynamischen Berechnung der
Transformationsvorschriften des Warpings zusätzliche Geschwindigkeitsvorteile.
-
Die
erfindungsgemäße integrierte
Schaltung ermöglicht,
dass bei einem Verfahren zur Manipulation von Bildern mittels Warping,
bei welchem Bildpunkte eines Quellbildes den Bildpunkten eines Zielbildes
unter Verwendung von Transformationsvorschriften zugeordnet werden,
die Transformationsvorschriften für die Abbildung der Quellbildpunkte
auf die Zielbildpunkte dynamisch berechnet werden. Durch die dynamische
Berechnung der Transformationsvorschriften werden diese zeitlich
veränderlich, so
dass beim Warping diese zeitlichen Änderungen der Transformationsvorschriften
in die elektronische Bildent- oder verzerrung eingebracht werden
und damit eine dynamische Bildent- bzw. -verzerrung ermöglicht wird.
Damit können
prinzipiell Kopfbewegungen eines Betrachters des zuvor beschriebenen "Headup-Displays" berücksichtigt
werden. Dies wird auch als dynamisches Warping bezeichnet.
-
Erfolgt
die dynamische Berechnung der Transformationsvorschriften zumindest
abhängig von
mindestens einem externen Ereignis, welches über Messmittel detektiert wird,
kann beispielsweise die Manipulation Bilder in Abhängigkeit
der Position des Betrachters geschehen. Beispielsweise ist es denkbar,
dynamische Veränderungen
der Projektionsfläche,
auf welche ein Zielbild projiziert wird, zu erkennen und die Transformationsvorschriften
do anzupassen, dass das Bild durch die sich verändernde Projektionsfläche nicht
beeinflusst wird und unverzerrt dargestellt wird.
-
Vorzugsweise
wird alternativ oder kumulativ über
Messmittel der Blickwinkel und/oder die Position mindestens eines
Betrachters des Zielbildes ermittelt und zumindest abhängig von
dem gemessenen Blickwinkel und/oder von der gemessenen Position des
Betrachters die Transformationsvorschriften dynamisch berechnet.
Bei einem "Headup-Dipslay" kann dann die Kopfposition
des Kraftfahrers bestimmt und die Transformationsvorschriften des
Warpings abhängig
von der Kopfposition des Kraftfahrers immer wieder neu berechnet
werden. Vorteilhafterweise geschieht dies in Echtzeit, so dass für einen Betrachter
eine Neuberechnung der Transformationsvorschriften des Warpings
nicht spürbar
ist.
-
Besonders
vorteilhaft ist es, wenn die elektronische Manipulation der Bilder
mittels Warping basierend auf einer Lookup-Matrix erfolgt und die Lookup-Matrix
dynamisch berechnet wird. Bei Echtzeitbildern muss die Lookup-Matrix,
welche die Transformationsvorschriften enthält, mindestens ein- bis zweimal
pro Sekunde neu berechnet werden, um Bewegungen des Betrachters
ausreichend zu berücksichtigen.
Es ist aber auch eine häufigere
Berechnung denkbar. Eine entsprechend schnelle Berechnung wird beispielsweise
mit der erfindungsgemäßen, integrierten
Schaltung ermöglicht.
-
Wird
während
der Berechnung des Zielbildes basierend auf einer ersten Lookup-Matrix
eine zweite Lookup-Matrix berechnet, kann die Geschwindigkeit des
dynamischen Warpings weiter gesteigert werden, da ein Warten auf
die Neuberechnung der Lookup-Matrix entfällt. Direkt nach Beendigung
der Berechnung des Zielbildes kann die neu berechnete und eventuell
zuvor im Speicher abgelegte zweite Lookup-Matrix für das Warping
verwendet werden.
-
Gemäß einer
zweiten Lehre der Erfindung wird die oben hergeleitete Aufgabe durch
ein System zur elektronischen Manipulation von Bildern umfassend
eine erfindungsgemäße integrierte
Schaltung, Mittel zur Umwandlung von optischen Bildern in elektrische
Signale zur Übergabe
an die integrierte Schaltung und Mittel zur Darstellung eines von
der Grafikausgang-Kontrolleinheit zur Verfügung gestellten Bildes, gelöst.
-
Eine
besonders vorteilhafte Ausgestaltung des Systems wird dadurch erzielt,
dass das System als Head-Up-Display oder als Rearview-Kameradisplay
ausgebildet ist.
-
Das
System, insbesondere wenn es als Head-Up-Disply oder Rearview-Kameradiplay
mit einer Windschutzscheibe als Displayfläche ausgebildet ist, kann dadurch
vorteilhaft weitergebildet werden, dass Messmittel zur Erfassung
des Blickwinkels oder der Position eines Betrachters des Zielbildes
vorgesehen sind und das Zielbild zumindest abhängig von dem gemessenen Blickwinkel
und/oder Position mindestens eines Betrachters berechenbar ist.
Beispielsweise kann durch einen so genannten Head-Track-Sensor die Position
des Kopfes des Betrachters genau bestimmt und verfolgt werden und die
Transformationsvorschriften des Warpings dynamisch an die jeweilige
Kopfposition mindestens eines Betrachters angepasst werden.
-
Die
erfindungsgemäße integrierte
Schaltung wird vorzugsweise in einer Vorrichtung zur Durchführung eines
Warpings, insbesondere eines dynamischen Warpings von Bildern in
Echtzeit verwendet.
-
Durch
die Verwendung der integrierten Schaltung in Fahrzeugen bzw. Kraftfahrzeugen
können
zusätzliche
Sichthilfen für
den Kraftfahrer eines Fahrzeuges, beispielsweise ein Head-Up-Display oder
ein Rearview-Kameradisplay
auf wirtschaftliche Weise zur Verfügung gestellt werden. Beim
Einsatz im Kraftfahrzeug sorgt insbesondere die ernorme Rechenleistung
der integrierten Schaltung dafür,
dass auch bei schnellen Bildwechseln oder Veränderungen der Kopfposition
der Fahrer keinerlei Verzögerungen
im Bildaufbau der Anwendungen wahrnimmt.
-
Es
gibt nun eine Vielzahl von Möglichkeiten, die
erfindungsgemäße integrierte
Schaltung auszugestalten und weiterzubilden. Hierzu wird verwiesen einerseits
auf die den unabhängigen
Schutzansprüchen
1 und 14 nachgeordneten Schutzansprüchen, andererseits auf die
Beschreibung eines Ausführungsbeispiels
in Verbindung mit der Zeichnung. Die Zeichnung zeigt in
-
1 schematisch
die Auswirkung des Warpings an einem Gitternetz,
-
2 eine
schematische Darstellung der Architektur eines Ausführungsbeispiels
der erfindungsgemäßen, integrierten
Schaltung und
-
3 ein
schematisches Datenflussdiagramm des Ausführungsbeispiels aus 2 der
erfindungsgemäßen, integrierten
Schaltung.
-
In 1 sind
schematisch die Auswirkungen des Warpings an einem Gitternetz dargestellt. 1a stellt das unverzerrte Quellbild dar,
während 1b das Zielbild in der Form eines verzerrten
Gitternetzes nach dem Warping zeigt. Das Quellbild in 1a besteht aus mehreren, ein Gitternetz
bildenden Geraden, wobei an jedem Kreuzungspunkt von zwei Geraden
sich ein Bildpunkt 1 befindet. Dem Bildpunkt 1 ist
eine genaue Bildposition durch ein Koordinatenpaar (x, y) zugeordnet,
wodurch die Bildposition des Bildpunktes genau festgelegt ist. Wird
das Quellbild der 1a unter Verwendung
des Warping-Verfahrens
verzerrt, so werden jedem Bildpunkt 1 des Quellbildes mit
den Koordinaten (x, y) ein neuer Bildpunkt 1' mit den Koordinaten (x', y') des Zielbildes zugeordnet.
Dies erfolgt für
alle Bildpunkte des Quellbildes, wobei für die einzelnen Bildpunkte
z. T. unterschiedliche Berechnungsvorschriften zur Bestimmung der
neuen Bildposition des Bildpunktes gelten, wie 1 zeigt.
Durch Anwendung des Warpings auf ein Quellbild können nicht nur unverzerrte
Bilder verzerrt werden, insbesondere kann das Warping dazu verwendet
werden, nicht-lineare Verzerrungen eines Bildes, wie sie typischerweise
bei Verwendung von optischen Linsen auftreten, zu korrigieren. Wie
in der Beschreibungseinleitung bereits ausgeführt, gibt es prinzipiell verschiedene
Möglichkeiten
das Warping durchzuführen.
Im Weiteren wird ein Ausführungsbeispiel
der erfindungsgemäßen, integrierten
Schaltung beschrieben, welches, stellvertretend für die übrigen Warping-Verfahren,
ein dynamisches Warping unter Verwendung einer Lookup-Matrix verwendet.
-
2 zeigt
schematisch die Architektur eines Ausführungsbeispiels der erfindungsgemäßen, integrierten
Schaltung, welche auf einem Halbleitersubstrat 2 realisiert
ist. Auf dem Halbleitersubstrat 2 ist erfindungsgemäß eine Hauptprozessoreinheit 3, eine
Grafikeingang-Kontrolleinheit 4, eine Grafikausgang-Kontrolleinheit 5 sowie
eine Warping-Berechnungseinheit 6 vorgesehen. Die Grafikeingang-Kontrolleinheit 4,
ist in dem Ausführungsbeispiel
als Video-Framegrabber-Einheit ausgebildet. Die Video-Framegrabber-Einheit 4 verarbeitet
die von einem Bildsensor oder einer Kamera 7 gelieferten
Bilder. Liefert der Bildsensor 7 einen Datenstrom an Videobildern,
zerlegt die Video-Framegrabber-Einheit 4 den
gelieferten Bildstrom in einzelne Bilder und legt diese im Speicher 10 ab.
Die einzelnen Bilder aus dem Speicher 10 werden dann von
der Warping-Berechnungseinheit 6 neu berechnet und an die Grafikausgang-Kontrolleinheit 5 weitergeleitet
oder wieder im Speicher 10 zur weiteren Verarbeitung abgelegt. Die
Weiterverarbeitung kann beispielsweise durch die Hauptprozessoreinheit 3 geschehen.
Die Grafikausgang-Kontrolleinheit 5 steht
beispielsweise mit dem Bildeingang 8 eines Displays in
Verbindung und übergibt
die von der Warping-Berechnungseinheit 6 berechneten Bilder
an den Bildeingang 8 eines Displays. Vorstellbar ist jedoch
auch, dass an Stelle des Bildeingangs 8 eines Displays
eine weitere Vorrichtung zur grafischen Aufbereitung der überarbeiteten Bilder
an dieser Stelle vorgesehen ist, welche die Bilder dann weiterverarbeitet.
-
Die
Warping-Berechnungseinheit 6 greift in dem Ausführungsbeispiel
der erfindungsgemäßen, integrierten
Schaltung zur Durchführung
des Warpings auf eine in 2 nicht dargestellte Lookup-Matrix
im Speicher 10 zurück,
welche die Berechnungsvorschriften zur Berechnung der neuen Bildpositionen
der einzelnen Bildpunkte des von der Video-Framegrabber-Einheit 4 gelieferten
Quellbildes in Matritzenform enthält.
-
Zur
Durchführung
des dynamischen Warpings, beispielsweise, um die aktuelle Kopfposition eines
Betrachters zu berücksichtigen,
müssen
die Werte in der Lookup-Matrix mindestens ein bis zweimal pro Sekunde
neu berechnet werden. Die erforderliche Rechenleistung kann dadurch
erreicht werden, dass die Hauptprozessoreinheit 3, unabhängig von
der grafischen Überarbeitung
der Quellbilder, eine Neuberechnung der Lookup-Matrix-Werte im Speicher 10 durchführen kann,
ohne dass die Warping-Berechnungseinheit 6 behindert
wird. Vorzugsweise umfasst die Hauptprozessoreinheit 3 zusätzlich eine
in 2 nicht dargestellte Gleitkomma-Berechnungseinheit,
welche die Rechenleistung der Hauptprozessoreinheit 3 insbesondere
für grafische Verzerrungsberechnungen
steigert.
-
Wie
die 2 weiter zeigt, ist auf dem Halbleitersubstrat 2 eine
Speicherzugriff-Kontrolleinheit 9 vorgesehen, welche die
Speicherzugriffe auf einen Speicher 10 der einzelnen Bearbeitungseinheiten
der integrierten Schaltung (3 bis 6) koordiniert.
Zur Verbesserung der Performance der integrierten Schaltung auf
dem Halbleitersubstrat 2 greifen zumindest die Warping-Berechnungseinheit 6 und
die Hauptprozessoreinheit 3 auf einen gemeinsamen Hauptspeicher 10 nach
dem Unified-Memory-Architecture(UMA)-Prinzip
zu. Eine weitere Steigerung des Datendurchsatzes ergibt sich daraus,
dass die Speicherzugriff-Kontrolleinheit 9 einen direkten
Zugriff durch die einzelnen Prozesseinheiten der integrierten Schaltung
(3 bis 6) auf den Speicher 10 ermöglicht.
In dem vorliegenden Ausführungsbeispiel
sind hierzu die Prozesseinheiten über vier Busse 3a, 4a, 5a, 6a an
die Speicherzugriff-Kontrolleinheit 9 angebunden. Die Speicherzugriff-Kontrolleinheit 9 kommuniziert
in diesem Ausführungsbeispiel
nur über
einen Bus mit dem gemeinsamen Speicher 10.
-
Daneben
ist auch eine direkte Verbindung der einzelnen Einheiten der integrierten
Schaltung denkbar, sofern eine Speicherung der Daten im Speicher 10 nicht
notwendig ist.
-
Der
Speicher 10 ist im Allgemeinen als Random-Access-Modul(RAM)-Speicher
ausgebildet. Denkbar ist aber such, dass der Speicher 10 in
der integrierten Schaltung integriert ist. Die Rechenleistung der
integrierten Schaltung kann damit nochmals gesteigert werden.
-
Der
Datenfluss zwischen dem Ausführungsbeispiel
der integrierten Schaltung auf dem Halbleitersubstrat 2 und
dem Speicher 10 ist in 3 schematisch
in einem Datenflussdiagramm dargestellt. Das Datenflussdiagramm
der 3 zeigt den Speicher 10, welcher in unterschiedliche
Speicherbereiche 12, 13, 14, 15 unterteilt
ist. Die über
den Eingang 11 der Video-Framegrabber-Einheit 4 erhaltenen
Bilder werden in einem Eingangsbildspeicherbereich 12 des
Speichers 10 zwischengespeichert. Die für das Warping benötigte Lookup-Matrix
ist in einem Lookup-Matrix-Speicherbereich 13 des Speichers 10 abgelegt.
Des Weiteren werden in einem Ausgangsbildspeicherbereich 14 die
von der Warping-Berechnungseinheit 6 berechneten
Bilder abgespeichert. Vorzugsweise greift die Warping-Berechnungseinheit 6 simultan
oder quasi-simultan auf alle drei Speicherbereiche zu, um die Schritte
zur Berechnung des Zielbildes zu parallelisieren.
-
Die
Grafikausgang-Kontrolleinheit 5 liest nun die im Ausgangsbildspeicherbereich 14 abgelegten Bilder
aus und leitet diese beispielsweise an ein Display weiter. Zur Erzeugung
eines störungsfreien
bzw. ruckfreien Bildes müssen
ca. 20 bis 30 Bilder pro Sekunde durch die Warping-Berechnungseinheit 6 berechnet
und von der Grafikausgang-Kontrolleinheit 5 beispielsweise
an den Grafikeingang 8 eines Displays übergeben werden.
-
Kumulativ
kann vor der Ausgabe der manipulierten Bilder über die Grafikausgang-Kontrolleinheit 5 eine
Filterung der Bilder durch eine in 2 nicht dargestellte
Filtereinheit, vorzugsweise Bildpunkt-Filtereinheit, erfolgen, wobei
die Filtereinheit vorzugsweise in der erfindungsgemäßen, integrierten
Schaltung integriert sein kann. Als mögliche Filtereinheiten können beispielsweise
bilineare, bikubisch oder anisotrop arbeitende Filtereinheiten vorgesehen
sein, wobei ein bilineares Filtern die geringste Rechenleistung
benötigt
und anisotropes Filtern die höchste
Rechenleistung.
-
Der
im Speicher 10 zusätzlich
vorgesehene Arbeitsspeicherbereich 15 der Hauptprozessoreinheit 3 wird
verwendet, um dort die für
die dynamische Berechnung der Lookup-Matrix notwendigen Programme
und Daten zwischenzuspeichern. Die Hauptprozessoreinheit 3 berechnet
abhängig
von den in dem Arbeitsspeicherbereich 15 vorhandenen Daten
die Lookup-Matrix unabhängig
von der Berechnung der Warping-Berechnungseinheit 6.
-
Durch
die parallele dynamische Konfigurierung der Lookup-Matrix kann mit der
vorgeschlagenen integrierten Schaltung eine besonders hohe Performance
hinsichtlich des Warpings von Echzeitbildern erzielt werden.