-
Die vorliegende Erfindung ist auf ein Verfahren zum Erzeugen eines zusammengefügten Bildes gerichtet, wobei ein erstes Bild abhängig von ersten Kameradaten erzeugt wird, die von einer ersten Kamera empfangen werden, und ein zweites Bild abhängig von zweiten Kameradaten erzeugt wird, die von einer zweiten Kamera empfangen werden, wobei ein erstes Sichtfeld der ersten Kamera und ein zweites Sichtfeld der zweiten Kamera teilweise überlappen. Die Erfindung betrifft weiterhin ein entsprechendes System zum Erzeugen eines zusammengefügten Bildes, ein Fahrzeug, welches ein derartiges System umfasst, sowie ein Computerprogrammprodukt.
-
Wenn eine Umgebung durch zwei oder mehr Kamerabilder dargestellt wird, die von jeweiligen Kameras mit überlappenden Sichtfeldern erzeugt werden, kann ein zusammengefügtes Bild basierend auf den zwei oder mehr Kamerabildern erzeugt werden. Das zusammengefügte Bild kann einem Nutzer angezeigt werden und/oder kann zur weiteren Verarbeitung, beispielsweise in Automobilanwendungen für Fahrerassistenzsysteme, ADAS, verwendet werden. Abhängig von der Anwendung und der Anordnung der Kameras, kann das zusammengefügte Bild zum Beispiel einem Draufsichtbild aus einer Perspektive senkrecht auf eine von dem Fahrzeug befahrene Fahrbahnoberfläche entsprechen, um eine umfassende Rundumsicht um das gesamte Fahrzeug bereitzustellen. Zu diesem Zweck können Kameras mit einem nach vorne gerichteten Sichtfeld, einem nach hinten gerichteten Sichtfeld, einem nach links gerichteten Sichtfeld und/oder einem nach rechts gerichteten Sichtfeld hinsichtlich des Fahrzeugs montiert sein. Eine weitere Anwendung ist die Erzeugung eines Panoramabildes als zusammengefügtes Bild.
-
Dokument
US 2014/0247352 A1 beschreibt ein dynamisches Mehrfachkamera-Draufsichtsystem für ein Fahrzeug. Es wird beschrieben, dass Bilder von mehreren Kameras mit zumindest teilweise überlappenden Sichtfeldern erfasst werden. Ein Prozessor bestimmt Charakteristika von Merkmalen oder Objekten, die in dem überlappenden Bereich vorhanden sind, und fügt die Bilder unter Berücksichtigung der Charakteristika der Merkmale oder Objekte zusammen.
-
Der Prozess des Zusammenfügens der Bilder, um ein gemeinsames Bild zu erzeugen, erfordert relativ umfangreiche Rechenressourcen. Im Falle begrenzter Rechenressourcen, insbesondere im Falle eingebetteter Systeme, wie sie beispielsweise im Automobilkontext benutzt werden, kann die Verwendung der Rechenressourcen zum Zusammenfügen der Bilder diese Ressourcen für andere Aufgaben blockieren, die auch sicherheitsrelevante Aufgaben einschließen können.
-
Es ist ein Aufgabe der vorliegenden Erfindung, ein verbessertes Konzept zum Erzeugen eines zusammengefügten Bildes aus Kameradaten von zwei oder mehr Kameras mit zumindest teilweise überlappenden Sichtfeldern bereitzustellen, welches die Rechenanforderungen zum Erzeugen des zusammengefügten Bildes reduziert.
-
Diese Aufgabe wird durch den jeweiligen Gegenstand der unabhängigen Ansprüche gelöst. Weitere Ausführungen und bevorzugte Ausführungsformen sind Gegenstand der abhängigen Ansprüche.
-
Das verbesserte Konzept beruht auf dem Gedanken, jeweilige Bilder, die von den Kameradaten von Kameras mit teilweise überlappenden Sichtfeldern stammen, auf unterschiedliche Hardwareschichten einer Anzeigeverarbeitungseinheit zu speichern und den Inhalt der Hardwareschichten zu kombinieren, um das zusammengefügte Bild zu erzeugen.
-
Gemäß dem verbesserten Konzept wird ein Verfahren zum Erzeugen eines zusammengefügten Bildes bereitgestellt. Dabei werden erste Kameradaten, insbesondere durch eine Recheneinheit, von einer ersten Kamera mit einem ersten Sichtfeld empfangen, und ein erstes Bild wird, insbesondere durch die Recheneinheit, abhängig von den ersten Kameradaten erzeugt. Zweite Kameradaten werden, insbesondere durch die Recheneinheit, von einer zweiten Kamera mit einem zweiten Sichtfeld empfangen, wobei das zweite Sichtfeld und das erste Sichtfeld teilweise überlappen. Ein zweites Bild wird, insbesondere durch die Recheneinheit, abhängig von den zweiten Kameradaten erzeugt. Das erste Bild wird auf eine erste Hardwareschicht von zwei oder mehr Hardwareschichten einer Anzeigeverarbeitungseinheit gespeichert, und das zweite Bild wird auf eine zweite Hardwareschicht der zwei oder mehr Hardwareschichten gespeichert. Das zusammengefügte Bild wird, insbesondere durch die Anzeigeverarbeitungseinheit, durch Kombinieren der zwei oder mehr Hardwareschichten erzeugt.
-
Die ersten und die zweiten Kameradaten können jeweiligen Kamerabildern oder initialen Kamerabildern entsprechen, die mittels der jeweiligen Kamera gemäß dem jeweiligen Sichtfeld erzeugt werden. Das erste und das zweite Bild können den Kameradaten entsprechen und daher identisch zu den jeweiligen Kamerabildern sein. Alternativ können die Kamerabilder verarbeitet werden, um das erste und das zweite Bild zu erzeugen. Zum Beispiel kann die Recheneinheit eine oder mehrere Abbildungen auf die Kameradaten anwenden, um das jeweilige Bild zu erzeugen. Zum Beispiel kann die Recheneinheit das erste und das zweite Bild als jeweilige Draufsichtbilder aus den jeweiligen Kameradaten erzeugen. In diesem Fall kann das zusammengefügte Bild zum Beispiel einem Draufsichtbild entsprechen, welches die Sichtfelder der ersten und der zweiten Kamera, sowie in einigen Ausführungen weiterer Kameras, kombiniert. In anderen Ausführungen kann das zusammengefügte Bild einem Panoramabild entsprechen, welches die Sichtfelder der ersten und der zweiten Kamera kombiniert.
-
Die erste und die zweite Kamera können zum Beispiel an einem Fahrzeug montiert sein. Zum Beispiel kann die erste Kamera einer nach vorne gerichteten Kamera oder einer nach hinten gerichteten Kamera des Fahrzeugs entsprechen und die zweite Kamera kann einer nach links oder rechts gerichteten Kamera des Fahrzeugs entsprechen. Es sind jedoch auch andere Anordnungen möglich. Das Fahrzeug kann zum Beispiel vier Kameras einschließlich der ersten und der zweiten Kamera aufweisen, die in vier unterschiedliche Richtungen gerichtet montiert sein können, zum Beispiel nach vorne gerichtet, nach hinten gerichtet, nach links gerichtet und nach rechts gerichtet.
-
Die Recheneinheit kann zum Beispiel als eine CPU ausgestaltet sein oder eine CPU umfassen. Im Falle einer Automobilanwendung kann die Recheneinheit und insbesondere die CPU von einer elektronischen Steuereinheit, ECU, des Fahrzeugs umfasst sein, an welcher die erste und die zweite Kamera montiert sind.
-
Die Anzeigeverarbeitungseinheit ist andererseits zum Beispiel als ein Hardwareanzeigeprozessor ausgestaltet, der dazu ausgelegt ist, Bilder zur Anzeige auf einem Anzeigegerät zu erzeugen. Insbesondere kann die Anzeigeverarbeitungseinheit als System-on-a-Chip, SoC, ausgestaltet sein oder ein solches umfassen. Die zwei oder mehr Hardwareschichten der Anzeigeverarbeitungseinheit entsprechen unterschiedlichen Speicherbereichen oder Speicherabschnitten der Anzeigeverarbeitungseinheit, zum Beispiel des SoC. Insbesondere kann die Kombination der zwei oder mehr Hardwareschichten hardwaregesteuert sein, ohne eine Software zu benötigen, und insbesondere, ohne Rechenressourcen der Recheneinheit beziehungsweise der CPU zu benötigen. Die Kombination der zwei oder mehr Hardwareschichten resultiert in einer vordefinierten oder konfigurierbaren Kombination des Inhalts der jeweiligen Hardwareschichten. Jede Hardwareschicht stellt die gleiche Anzahl von Pixeln an den gleichen Positionen dar. Der Inhalt kann durch Addieren der jeweiligen Pixelwerte, durch Addieren der Pixelwerte gemäß einer gewichteten Summe, durch Mitteln der Pixelwerte oder durch eine komplexere Schichtoperation, zum Beispiel mittels Alpha-Blending kombiniert werden. Insbesondere kann jede der Hardwareschichten mehrere Kanäle, zum Beispiel Farbkanäle, speichern und kann wahlweise einen Transparenzkanal oder Alphakanal speichern.
-
Entsprechend nutzt das verbesserte Konzept die Hardwarearchitektur der Anzeigeverarbeitungseinheit, um Operationen zum Kombinieren von Kameradaten von unterschiedlichen Kameras auszuführen. Auf diese Weise kann die Rechenlast anderer Rechen- oder Verarbeitungseinheiten neben der Anzeigeverarbeitungseinheit reduziert werden, insbesondere die Rechenlast der Recheneinheit oder gegebenenfalls der CPU oder ECU. Insbesondere wird durch Verwenden der zwei oder mehr Hardwareschichten der Anzeigeverarbeitungseinheit auf die beschriebene Weise ein hardwaregesteuertes Arbeitsprinzip implementiert, um das erste und das zweite Bild zusammenzufügen, ohne eine entsprechende Software zu benötigen.
-
Wie beschrieben, kann das erste und das zweite Bild durch die Recheneinheit erzeugt werden. In anderen Ausführungen können die entsprechenden Schritte durch eine Hardwarebeschleunigungseinheit der Anzeigeverarbeitungseinheit ausgeführt werden. Auf diese Weise kann die Rechenlast der weiteren Recheneinheiten oder Verarbeitungseinheiten weiter reduziert werden.
-
Gemäß einigen Ausführungen des Verfahrens zum Erzeugen eines zusammengefügten Bildes wird zum Kombinieren der zwei oder mehr Hardwareschichten jeweiliger Inhalt jeder der zwei oder mehr Hardwareschichten mit einer entsprechenden vordefinierten Transparenzmaske multipliziert, um jeweiligen maskierten Inhalt zu erzeugen. Der jeweilige maskierte Inhalt der zwei oder mehr Hardwareschichten wird auf einer gemeinsamen Ebene, insbesondere gemeinsamen Anzeigeebene, durch die Anzeigeverarbeitungseinheit kombiniert.
-
Mit anderen Worten wird der Inhalt der ersten Hardwareschicht mit einer ersten vordefinierten Transparenzmaske multipliziert und der Inhalt der zweiten Hardwareschicht wird mit einer vordefinierten zweiten Transparenzmaske multipliziert. Das gleiche gilt analog gegebenenfalls für alle weiteren Hardwareschichten der zwei oder mehr Hardwareschichten.
-
Dabei umfasst der Inhalt der ersten Hardwareschicht die Pixelwerte des ersten Bildes, insbesondere Farbwerte jeweiliger Farbkanäle für das erste Bild. Der Inhalt der zweiten Hardwareschicht umfasst die Pixelwerte des zweiten Bildes, insbesondere Farbwerte jeweiliger Farbkanäle für das zweite Bild. Des Weiteren kann der Inhalt der ersten und/oder zweiten Hardwareschicht zusätzliche Pixelwerte umfassen, insbesondere Farbwerte beispielsweise eines oder mehrerer weiterer Bilder.
-
Eine Transparenzmaske umfasst insbesondere einen Alphawert oder einen Transparenzwert für jedes der Pixel der jeweiligen Hardwareschicht. Die Alphawerte können auch als Alpha-Blending-Parameter bezeichnet werden und können zum Beispiel vorbestimmt und in der Anzeigeverarbeitungseinheit gespeichert sein. Ein Alphawert spezifiziert den relativen Beitrag des entsprechenden Pixels, wenn zwei oder mehr Hardwareschichten kombiniert werden. Zum Beispiel kann die Transparenzmaske auch als eine entsprechende Graustufen-Maske verstanden werden. Insbesondere können für ein gegebenes Pixel die Alphawerte aller Transparenzmasken derart gewählt werden, dass sie in der Summe einen vorbestimmten Wert, zum Beispiel 1, ergeben.
-
Auf diese Weise können die Alphawerte der Transparenzmasken für die erste und die zweite Hardwareschicht dazu ausgelegt sein, eine nahtlose und kontinuierliche Zusammenfügung oder Überlagerung der Bilder in den Bereichen überlappender Sichtfelder der ersten und der zweiten Kamera zu erreichen.
-
Zum Beispiel können für Bildbereiche der Hardwareschichten, in denen nur eine der Hardwareschichten entsprechende Bilddaten oder von null verschiedene Pixelwerte aufweist, die Alphawerte in den entsprechenden Bereichen gleich einem Höchstwert, zum Beispiel 1, sein, während die Alphawerte für die übrigen Hardwareschichten gleich einem Mindestwert, zum Beispiel Null, sein können. In überlappenden Bildbereichen können entsprechende Graustufen-Gradienten in den Transparenzmasken für die beitragenden Hardwareschichten implementiert sein. Insbesondere kann zum Kombinieren des maskierten Inhalts eine gewichtete Summe von Pixelwerten der ersten und der zweiten Hardwareschicht für jedes Pixel berechnet werden, wobei die Gewichtungen durch die entsprechenden Werte der jeweiligen Transparenzmasken gegeben sind.
-
Gemäß einigen Ausführungen werden dritte Kameradaten von einer dritten Kamera mit einem dritten Sichtfeld empfangen und ein drittes Bild, insbesondere durch die Recheneinheit, abhängig von den dritten Kameradaten erzeugt. Das dritte Sichtfeld überlappt nicht mit dem ersten Sichtfeld. Das dritte Bild wird auf die erste Hardwareschicht gespeichert.
-
Auf diese Weise können Bilder von mehr als einer Kamera durch die gleiche Hardwareschicht zur gleichen Zeit gehandhabt werden, falls diese Bilder keine überlappenden Bereiche haben. Folglich wird eine geringere Anzahl an Hardwareschichten der Anzeigeverarbeitungseinheit benötigt.
-
Das dritte Sichtfeld kann zum Beispiel mit dem zweiten Sichtfeld überlappen. Die entsprechenden Erläuterungen hinsichtlich des ersten Bildes und der Kombination der Hardwareschichten gelten analog für das dritte Bild und den entsprechenden Inhalt.
-
In einigen Ausführungen werden vierte Kameradaten von einer vierten Kamera empfangen und ein viertes Bild wird abhängig von den vierten Kameradaten erzeugt, wobei ein viertes Sichtfeld der vierten Kamera nicht mit dem zweiten Sichtfeld überlappt und teilweise mit dem ersten Sichtfeld überlappt. Das vierte Bild wird auf die zweite Hardwareschicht gespeichert.
-
Mit anderen Worten kann in einigen Ausführungen die erste Hardwareschicht das erste Bild und das dritte Bild speichern, die sich nicht überlappen, und die zweite Hardwareschicht kann das zweite Bild und das vierte Bild speichern, die sich auch nicht überlappen. Jedoch überlappen sich das erste Bild und das zweite Bild, überlappen sich das erste Bild und das vierte Bild, überlappen sich das dritte Bild und das zweite Bild und überlappen sich das dritte Bild und das vierte Bild.
-
Zum Beispiel kann die erste Kamera einer Frontkamera des Fahrzeugs entsprechen, die zweite Kamera kann einer nach links gerichteten Kamera des Fahrzeugs entsprechen, die dritte Kamera kann einer nach hinten gerichteten Kamera des Fahrzeugs entsprechen und die vierte Kamera kann einer nach rechts gerichteten Kamera des Fahrzeugs entsprechen.
-
Durch Kombinieren von zwei oder mehr Hardwareschichten, um das zusammengefügte Bild zu erzeugen, kann ein Rundumdraufsichtbild als zusammengefügtes Bild erzeugt werden. Insbesondere werden das erste Bild, das zweite Bild, das dritte Bild und das vierte Bild als Draufsichtbilder aus den ersten Kameradaten, den zweiten Kameradaten, den dritten Kameradaten und den vierten Kameradaten erzeugt.
-
Gemäß einigen Ausführungen entsprechen die ersten Kameradaten einem ersten initialen Bild, und die zweiten Kameradaten entsprechen einem zweiten initialen Bild. Das erste Bild wird durch Projizieren des ersten initialen Bildes auf eine Bodenebene, insbesondere durch die Recheneinheit, erzeugt, und das zweite Bild wird durch Projizieren des zweiten initialen Bildes auf die Bodenebene, insbesondere durch die Recheneinheit, erzeugt.
-
Die Bodenebene kann beispielsweise einer Ebene entsprechen, die parallel zu einer Fahrbahnoberfläche ist, auf der sich das Fahrzeug befindet. Folglich sind das erste und das zweite Bild Draufsichtbilder, die auch als Vogelperspektivbilder bezeichnet werden können.
-
Gemäß einigen Ausführungen entsprechen die dritten Kameradaten einem dritten initialen Bild und/oder die vierten Kameradaten entsprechen einem vierten initialen Bild. Das dritte Bild wird durch Projizieren des dritten initialen Bildes auf die Bodenebene erzeugt und/oder das vierte Bild wird durch Projizieren des vierten initialen Bildes auf die Bodenebene erzeugt.
-
Gemäß einigen Ausführungen ist zumindest eine vorab berechnete Look-Up-Tabelle auf einer Speichereinheit des Fahrzeugs, insbesondere der Recheneinheit, gespeichert. Das erste initiale Bild und das zweite initiale Bild werden durch Abbilden des ersten initialen Bildes beziehungsweise des zweiten initialen Bildes gemäß der zumindest einen vorab berechneten Look-Up-Tabelle auf die Bodenebene projiziert. Das gleiche gilt analog für das dritte initiale Bild und/oder gegebenenfalls für das vierte initiale Bild.
-
Zum Beispiel kann die zumindest eine vorab berechnete Look-Up-Tabelle eine jeweilige Look-Up-Tabelle für jedes des ersten initialen Bildes und des zweiten initialen Bildes und gegebenenfalls für das dritte und/oder das vierte initiale Bild umfassen. Jede Abbildung wird dann gemäß einer der jeweiligen Look-Up-Tabellen durchgeführt.
-
Die zumindest eine Look-Up-Tabelle ist vorab berechnet, insbesondere abhängig von den jeweiligen Posen der Kameras hinsichtlich der Bodenebene, die auch als externe Kameraparameter der jeweiligen Kamera bezeichnet werden können. Des Weiteren kann die zumindest eine Look-Up-Tabelle abhängig von den jeweiligen internen Kameraparametern der Kameras vorab berechnet sein. Die internen Kameraparameter entsprechen den kameraspezifischen Abbildungsparametern. Dies kann besonders vorteilhaft sein, falls die erste und die zweite Kamera als nicht-geradlinige Kameras, zum Beispiel als Fischaugenkameras, ausgestaltet sind. Das gleiche gilt gegebenenfalls analog für die dritte und die vierte Kamera.
-
Eine nicht-geradlinige Kamera kann als eine Kamera mit einer nicht-geradlinigen Linseneinheit verstanden werden. Eine nicht-geradlinige Linseneinheit kann als eine Linseneinheit, das heißt eine oder mehrere Linsen, verstanden werden, die eine nicht-geradlinige Abbildungsfunktion, auch als krummlinige Abbildungsfunktion bezeichnet, hat. Insbesondere stellen Fischaugenkameras nicht-geradlinige Kameras dar. Die Abbildungsfunktion der Linseneinheit kann als eine Funktion R(θ) verstanden werden, die einen Winkel θ von der optischen Achse der Linseneinheit auf eine radiale Verschiebung R aus der Bildmitte abbildet. Die Funktion hängt parametrisch von der Brennweite F der Linseneinheit ab. Mit anderen Worten definieren die intrinsischen Parameter die Funktion. Zum Beispiel hat eine geradlinige Linseneinheit eine gnomonische Abbildungsfunktion, insbesondere R(θ) = F*tan(θ). Mit anderen Worten bildet eine geradlinige Linseneinheit gerade Linien in der realen Welt auf gerade Linien im Bild ab, zumindest bis auf Linsenfehler. Eine nicht-geradlinige oder krummlinige Linseneinheit bildet im Allgemeinen gerade Linien nicht auf gerade Linien im Bild ab. Insbesondere kann die Abbildungsfunktion einer nicht-geradlinigen Kamera stereographisch, abstandsgleich oder raumwinkelgleich et cetera sein.
-
Gemäß einigen Ausführungen wird ein vordefiniertes Bitmapbild auf eine dritte Hardwareschicht der zwei oder mehr Hardwareschichten gespeichert, welche in diesem Fall drei oder mehr Hardwareschichten umfassen.
-
Das zusammengefügte Bild wird dann insbesondere durch Kombinieren der drei oder mehr Hardwareschichten erzeugt.
-
Im Gegensatz zum ersten und zweiten Bild wird das Bitmapbild im Allgemeinen nicht durch eine Kamera erzeugt. Das Bitmapbild kann zum Beispiel das Fahrzeug darstellen, insbesondere eine Draufsicht des Fahrzeugs oder eine schematische Darstellung des Fahrzeugs.
-
Zum Beispiel kann Inhalt der dritten Hardwareschicht mit einer entsprechenden vordefinierten Transparenzmaske multipliziert werden, um dritten maskierten Inhalt zu erzeugen. Der dritte maskierte Inhalt kann zusammen mit dem jeweiligen maskierten Inhalt der ersten und der zweiten Hardwareschichten auf der gemeinsamen Ebene kombiniert werden.
-
Gemäß einigen Ausführungen wird das zusammengefügte Bild auf einem Anzeigegerät, beispielsweise einem Anzeigegerät des Fahrzeugs, angezeigt.
-
Gemäß einigen Ausführungen sind die erste und die zweite Kamera an dem Fahrzeug montiert und eine Fahrerassistenzfunktion des Fahrzeugs wird zum Beispiel von einem Fahrerassistenzsystem, ADAS, des Fahrzeugs abhängig von dem zusammengefügten Bild ausgeführt.
-
Gemäß einigen Ausführungen wird das zusammengefügte Bild auf eine weitere Speichereinheit gespeichert, insbesondere eine weitere Speichereinheit der Anzeigeverarbeitungseinheit oder der Recheneinheit. Das zusammengefügte Bild wird als eine Texturabbildung zum Rendern eines perspektivischen Bildes auf einer vordefinierten virtuellen Render-Oberfläche, insbesondere durch die Recheneinheit oder durch eine Hardwarebeschleunigungseinheit der Anzeigeverarbeitungseinheit, gespeichert.
-
Gemäß einigen Ausführungen wird das perspektivische Bild auf eine erste Hardwareschicht von zwei oder mehr weiteren Hardwareschichten der Anzeigeverarbeitungseinheit gespeichert, und ein vordefiniertes Bitmapbild wird auf eine zweite weitere Hardwareschicht der zwei oder mehr weiteren Hardwareschichten gespeichert. Ein weiteres zusammengefügtes Bild wird durch Kombinieren der zwei oder mehr ersten Hardwareschichten, insbesondere durch die Anzeigeverarbeitungseinheit, erzeugt.
-
Die Erläuterungen hinsichtlich des Erzeugens des zusammengefügten Bildes können analog auf das weitere zusammengefügte Bild übertragen werden.
-
Gemäß einigen Ausführungen wird das weitere zusammengefügte Bild auf dem Anzeigegerät angezeigt. Alternativ oder zusätzlich wird die Fahrerassistenzfunktion oder eine weitere Fahrerassistenzfunktion des Fahrzeugs abhängig von dem weiteren zusammengefügten Bild ausgeführt.
-
Gemäß einigen Ausführungen wird eine weitere vorab berechnete Look-Up-Tabelle auf die weitere Speichereinheit gespeichert, und die Texturabbildung wird, insbesondere durch die Recheneinheit, gemäß der weiteren vorab berechneten Look-Up-Tabelle auf die virtuelle Render-Oberfläche abgebildet.
-
Gemäß dem verbesserten Konzept wird auch ein System zum Erzeugen eines zusammengefügten Bildes bereitgestellt. Das System umfasst eine erste Kamera, die dazu eingerichtet ist, erste Kameradaten zu erzeugen, und eine zweite Kamera, die dazu eingerichtet ist, zweite Kameradaten zu erzeugen, wobei ein erstes Sichtfeld der ersten Kamera und ein zweites Sichtfeld der zweiten Kamera teilweise überlappen. Das System umfasst eine Recheneinheit, die dazu eingerichtet ist, ein erstes Bild abhängig von den ersten Kameradaten zu erzeugen und ein zweites Bild abhängig von den zweiten Kameradaten zu erzeugen. Das System umfasst eine Anzeigenverarbeitungseinheit mit zwei oder mehr Hardwareschichten. Die Anzeigeverarbeitungseinheit ist dazu eingerichtet, das erste Bild auf eine erste Hardwareschicht der zwei oder mehr Hardwareschichten zu speichern und das zweite Bild auf eine zweite Hardwareschicht der zwei oder mehr Hardwareschichten zu speichern. Die Anzeigeverarbeitungseinheit ist dazu eingerichtet, das zusammengefügte Bild durch Kombinieren der zwei oder mehr Hardwareschichten zu erzeugen.
-
Zum Beispiel können die erste und die zweite Kamera derart zueinander angeordnet sein, dass das erste und das zweite Sichtfeld teilweise überlappen.
-
Die Recheneinheit des Systems kann zum Beispiel als eine CPU implementiert sein oder als eine Hardwarebeschleunigungseinheit der Anzeigeverarbeitungseinheit. Die Anzeigeverarbeitungseinheit ist zum Beispiel als SoC ausgestaltet.
-
Gemäß einigen Ausführungen sind die erste Kamera und die zweite Kamera als nicht-geradlinige Kameras ausgestaltet.
-
Weitere Ausführungen des Systems gemäß dem verbesserten Konzept ergeben sich unmittelbar aus den verschiedenen Ausführungen des Verfahrens gemäß dem verbesserten Konzept und umgekehrt. Insbesondere kann ein System gemäß dem verbesserten Konzept dazu eingerichtet sein, ein Verfahren gemäß dem verbesserten Konzept auszuführen oder das System führt ein solches Verfahren aus.
-
Gemäß dem verbesserten Konzept wird auch ein Fahrerassistenzsystem, ADAS, für ein Fahrzeug bereitgestellt. Das ADAS umfasst ein System zum Erzeugen eines zusammengefügten Bildes gemäß dem verbesserten Konzept. Das ADAS umfasst des Weiteren eine Steuereinheit, welche dazu eingerichtet ist, eine Fahrerassistenzfunktion auszuführen, um einem Fahrer des Fahrzeugs abhängig von dem zusammengefügten Bild zu unterstützen.
-
Gemäß dem verbesserten Konzept wird auch ein Fahrzeug bereitgestellt, welches ein System zum Erzeugen eines zusammengefügten Bildes gemäß dem verbesserten Konzept umfasst oder ein ADAS gemäß dem verbesserten Konzept umfasst. Dabei sind die erste Kamera und die zweite Kamera an dem Fahrzeug montiert.
-
Gemäß dem verbesserten Konzept wird auch ein Computerprogramm bereitgestellt, das Befehle beinhaltet. Wenn die Befehle von einem System zum Erzeugen eines zusammengefügten Bildes gemäß dem verbesserten Konzept ausgeführt werden, veranlassen die Befehle das System dazu, ein Verfahren gemäß dem verbesserten Konzept auszuführen.
-
Gemäß dem verbesserten Konzept wird auch ein computerlesbares Speichermedium bereitgestellt, welches ein Computerprogramm gemäß dem verbesserten Konzept speichert.
-
Das Computerprogramm und das computerlesbare Speichermedium können auch als jeweilige Computerprogrammprodukte, welche die Befehle beinhalten, betrachtet werden.
-
Weitere Merkmale der Erfindung ergeben sich aus den Ansprüchen, den Figuren und der Figurenbeschreibung. Die vorstehend in der Beschreibung genannten Merkmale und Merkmalskombinationen sowie die nachfolgend in der Figurenbeschreibung genannten und/oder in den Figuren alleine gezeigten Merkmale und Merkmalskombinationen können nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen von dem verbesserten Konzept umfasst sein. Es sind somit Ausführungen des verbesserten Konzepts umfasst und offenbart, die nicht explizit in den Figuren gezeigt oder erläutert sein können, jedoch durch separierte Merkmalskombinationen aus den erläuterten Ausführungen hervorgehen und erzeugbar sind. Es können auch Ausführungen und Merkmalskombinationen, die nicht alle Merkmale eines ursprünglich formulierten Anspruchs aufweisen, von dem verbesserten Konzept umfasst sein. Darüber hinaus können Ausführungen und Merkmalskombinationen, die über die in den Bezügen der Patentansprüche dargelegten Merkmalskombinationen hinausgehen oder von diesen abweichen, von dem verbesserten Konzept umfasst sein.
-
In den Zeichnungen zeigen:
- 1 schematisch ein Fahrzeug, welches eine beispielhafte Ausführungsform eines Systems zum Erzeugen eines zusammengefügten Bildes gemäß dem verbesserten Konzept aufweist;
- 2 eine schematische Darstellung von Schritten einer beispielhaften Ausführungsform eines Verfahrens gemäß dem verbesserten Konzept;
- 3 schematisch eine Darstellung weiterer Schritte einer weiteren beispielhaften Ausführungsform eines Verfahrens gemäß dem verbesserten Konzept;
- 4 schematisch Hardwareschichten einer Anzeigeverarbeitungseinheit;
- 5 schematisch eine Darstellung weiterer Schritte einer weiteren beispielhaften Ausführungsform eines Verfahrens gemäß dem verbesserten Konzept; und
- 6 schematisch ein Fahrzeug und eine virtuelle Oberfläche zum Rendern eines Bildes.
-
1 zeigt eine schematische Darstellung eines Fahrzeugs 1 mit einer beispielhaften Ausführungsform eines Systems 2 zum Erzeugen eines zusammengefügten Bildes. Das System 2 umfasst eine erste Kamera 3a, die an dem Fahrzeug 1 montiert ist, mit einem ersten Sichtfeld, das zum Beispiel in Vorwärtsrichtung des Fahrzeugs 1 gerichtet ist. Das System umfasst eine zweite Kamera 3b, die an dem Fahrzeug 1 montiert ist, mit einem zweiten Sichtfeld, welches zum Beispiel in die linke Richtung bezüglich des Fahrzeugs 1 gerichtet sein kann. Das System umfasst eine dritte Kamera 3c, die an dem Fahrzeug 1 montiert ist, mit einem dritten Sichtfeld, welches zum Beispiel in die Rückwärtsrichtung bezüglich des Fahrzeugs 1 gerichtet sein kann. Das System umfasst eine vierte Kamera 3d, die an dem Fahrzeug 1 montiert ist, mit einem vierten Sichtfeld, welches zum Beispiel in die rechte Richtung bezüglich des Fahrzeugs 1 gerichtet sein kann.
-
Das System 2 umfasst des Weiteren eine Recheneinheit 5, die zum Beispiel eine CPU eines elektronischen Steuergeräts, ECU, des Fahrzeugs 1 aufweisen kann. Das System 2 umfasst eine Anzeigeverarbeitungseinheit 6, die als SoC implementiert sein kann und in manchen Ausführungen ein Teil des ECU oder eines weiteren ECU des Fahrzeugs 1 sein kann. Zum Beispiel kann die Recheneinheit 5 Teil eines Kamera-ECU des Fahrzeugs 1 sein, und die Anzeigeverarbeitungseinheit kann Teil eines Infotainment-ECU oder eines Anzeigeeinheit-ECU des Fahrzeugs 1 sein.
-
Jede der Kameras 3a, 3b, 3c, 3d ist dazu eingerichtet, ein jeweiliges initiales Kamerabild 4a, 4b, 4c, 4d zu erzeugen. Wie in 1 angezeigt, können die Kameras 3a, 3b, 3c, 3d als Fischaugenkameras oder andere nicht-geradlinige Kameras ausgestaltet sein. Des Weiteren können die jeweiligen Sichtfelder der Kameras 3a, 3b, 3c, 3d teilweise überlappen. In dem Beispiel von 1 überlappt das Sichtfeld der ersten Kamera 3a teilweise mit den Sichtfeldern der zweiten Kamera 3b und der vierten Kamera 3d, aber nicht mit dem Sichtfeld der dritten Kamera 3c. Andererseits kann das Sichtfeld der dritten Kamera 3c auch mit den Sichtfeldern der zweiten Kamera 3b und der vierten Kamera 3d überlappen. Mit anderen Worten überlappt jedes der Sichtfelder mit den Sichtfeldern der zwei benachbarten Kameras, aber nicht mit dem Sichtfeld der übrigen vierten Kamera.
-
Das System 2 von 1 ist dazu eingerichtet, ein Verfahren zum Erzeugen eines zusammengefügten Bildes 7 gemäß dem verbesserten Konzept auszuführen. Die Funktionalität des Systems 2 wird hinsichtlich der jeweiligen Ausführungen eines Verfahrens gemäß dem verbesserten Konzept und insbesondere anhand von 2 bis 6 ausführlicher erläutert.
-
2 zeigt eine schematische Darstellung von Verfahrensschritten einer beispielhaften Ausführung eines Verfahrens gemäß dem verbesserten Konzept.
-
Wenn die Kameras 3a, 3b, 3c, 3d die initialen Kamerabilder 4a, 4b, 4c, 4d erzeugt haben, kann die Recheneinheit 5 zum Beispiel jedes der initialen Kamerabilder 4a, 4b, 4c, 4d auf eine gemeinsame Bodenebene projizieren und die initialen Kamerabilder 4a, 4b, 4c, 4d entzerren, um vier jeweilige Draufsichtbilder 8a, 8b, 8c, 8d mit überlappenden Bereichen gemäß den überlappenden Sichtfeldern wie oben beschrieben zu erzeugen. Zu diesem Zweck kann das System 2, insbesondere die Recheneinheit 5, eine jeweilige Look-Up-Tabelle 12 für jede der Kameras 3a, 3b, 3c, 3d oder eine gemeinsame Look-Up-Tabelle für alle der Kameras 3a, 3b, 3c, 3d speichern. Die jeweiligen Look-Up-Tabellen 12 sind unter Berücksichtigung externer und interner Kameraparameter jeder der Kameras 3a, 3b, 3c, 3d vorab berechnet worden, um die Projektion der initialen Kamerabilder 4a, 4b, 4c, 4d durchzuführen und die Draufsichtbilder 8a, 8b, 8c, 8d zu erhalten. Insbesondere kann jedes Pixel eines jeweiligen initialen Kamerabildes 4a, 4b, 4c, 4d gemäß der Look-Up-Tabellen 12 zu einem entsprechenden Pixel in dem Draufsichtbild 8a, 8b, 8c, 8d umgesetzt werden.
-
In 3 sind weitere Verfahrensschritte einer beispielhaften Ausführung eines Verfahrens gemäß dem verbesserten Konzept schematisch gezeigt. Insbesondere wird eine mehrschichtige Hardwarearchitektur der Anzeigeverarbeitungseinheit 6 verwendet, um die Draufsichtbilder 8a, 8b, 8c, 8d zusammenzufügen.
-
Eine beispielhafte mehrschichtige Hardwarearchitektur ist in 4 schematisch gezeigt. Dabei sind drei verschiedene Hardwareschichten 9a', 9b', 9c' schematisch gezeigt. Angenommen ein finales Bild 7' mehrerer Kreise soll angezeigt werden, so kann das finale Bild 7' konstruiert werden, indem unterschiedliche Kreise auf die unterschiedlichen Hardwareschichten 9a', 9b', 9c' gelegt werden. Die Hardware fügt dann die Kreise in allen Hardwareschichten 9a', 9b', 9c' in eine einzige Anzeigeebene zusammen. Das Ergebnis ist das finale Bild 7'.
-
Mit erneutem Bezug auf 3, können die Draufsichtbilder 8a, 8b, 8c, 8d auf ähnliche Weise gemäß dem Verfahren gemäß dem verbesserten Konzept gehandhabt werden. Insbesondere kann das erste Draufsichtbild 8a, das dem ersten initialen Bild 4a entspricht, sowie das nicht-überlappende dritte Draufsichtbild 8c, das dem dritten initialen Kamerabild 4c entspricht, auf eine erste Hardwareschicht 9a der Anzeigeverarbeitungseinheit 6 gespeichert werden. Analog kann das zweite Draufsichtbild 8b, das dem zweiten initialen Kamerabild 4b entspricht, sowie das nicht-überlappende vierte Draufsichtbild 8d, das dem vierten initialen Kamerabild 4d entspricht, auf eine zweite Hardwareschicht 9b der Anzeigeverarbeitungseinheit 6 gespeichert werden. Wahlweise kann ein Bitmap 13 auf eine dritte Hardwareschicht 9c der Anzeigeverarbeitungseinheit 6 gespeichert werden.
-
Wenn die Bilder 8a, 8b, 8c, 8d und das Bitmap 13 durch Zusammenfügen der Hardwareschichten 9a, 9b, 9c kombiniert werden, können Alpha-Blending-Parameter in der Anzeigehardware der Anzeigeverarbeitungseinheit 6 dazu benutzt werden, den Anteil jedes Pixels in jeder der Hardwareschichten 9a, 9b, 9c zu spezifizieren, den es zu dem finalen zusammengefügten Bild 7 beiträgt. Die Alpha-Blending-Parameter für jede der Hardwareschichten 9a, 9b, 9c können zum Beispiel als jeweilige Graustufenmasken 11a, 11b, 11c, wie in 3 gezeigt, verstanden werden.
-
Jede Hardwareschicht 9a, 9b, 9c kann mit ihrer entsprechenden Alpha-Blending-Maske oder Graustufenmaske 11a, 11b, 11c multipliziert werden, um den Anteil jedes jeweiligen Pixels in jeder der Hardwareschichten 9a, 9b, 9c anzuzeigen, den es zu dem zusammengefügten Bild 7 beiträgt. Die Alpha-Blending-Parameter in den überlappenden Bereichen von zwei Draufsichtbilder 8a, 8b, 8c, 8d steuern den Zusammenfügungsanteil von jedem Bild 8a, 8b, 8c, 8d, um ein nahtloses Zusammenfügen zu erreichen. Alpha-Blending-Parameter in nicht-überlappenden Bereichen können den Höchstanteil, zum Beispiel 1, annehmen. Der maskierte Inhalt der Hardwareschichten 9a, 9b, 9c wird dann hinzugefügt, um das zusammengefügte Bild 7 zu erzeugen.
-
5 zeigt Verfahrensschritte einer weiteren beispielhaften Ausführung eines Verfahrens gemäß dem verbesserten Konzept. Das Verfahren basiert auf dem Verfahren, das hinsichtlich 2 bis 4 beschrieben wurde. Insbesondere wird das zusammengefügte Bild 7 wie oben beschrieben erzeugt, wobei das Bitmap 13 nicht verwendet wird. Mit anderen Worten werden nur die erste und die zweite Hardwareschicht 9a, 9b kombiniert, um das zusammengefügte Bild 7 zu erzeugen.
-
Das zusammengefügte Bild 7 kann weiter verwendet werden, um eine 3D-Perspektivansichtsdarstellung zu implementieren. Dies kann erreicht werden, indem das zusammengefügte Bild 7 als eine Texturabbildung zum 3D-Rendern verwendet wird. Zu diesem Zweck kann das zusammengefügte Bild 7 als Texturabbildung gemäß einer vordefinierten Sichtperspektive 19 auf eine virtuelle Render-Oberfläche 20 abgebildet werden, wie schematisch in 6 dargestellt. Zum Beispiel kann die virtuelle Oberfläche 20 eine Schalenform um das Fahrzeug 1 aufweisen.
-
Das zusammengefügte Bild 7 kann auf einen Speicherpuffer 14 zurückgeschrieben werden, und die Recheneinheit 5 oder eine Hardwarebeschleunigungseinheit der Anzeigenverarbeitungseinheit 6 kann eine oder mehrere weitere Look-Up-Tabellen 15 benutzen, um die dreidimensionalen Punkte auf der virtuellen Oberfläche 20 auf eine zweidimensionale Ebene 18 für das Rendern umzusetzen. Auf diese Weise wird ein Perspektivansichtsbild 16 erzeugt, welches auf eine weitere Hardwareschicht 10a der Anzeigeverarbeitungseinheit 6 gespeichert werden kann. Ein weiteres Bitmapbild 13', welches das Fahrzeug 1 in einer Perspektivansicht darstellen kann, kann auf eine weitere Hardwareschicht 10b der Anzeigeverarbeitungseinheit 6 gespeichert werden. Zum Beispiel können jeweilige Graustufenmasken 21a, 21b für weitere Hardwareschichten 10a, 10b mit dem Perspektivansichtsbild 16 beziehungsweise dem weiteren Bitmapbild 13', wie oben für die Hardwareschichten 9a, 9b beschrieben, kombiniert werden, um ein weiteres zusammengefügtes Bild 17 zu erzeugen.
-
Wie insbesondere anhand der Figuren beschrieben, nutzt das verbesserte Konzept eine Architektur mit mehreren Hardwareschichten einer Anzeigeverarbeitungseinheit zum Zusammenfügen von Kamerabildern oder vorverarbeiteten Kamerabildern, die teilweise überlappen. Auf diese Weise kann die CPU-Last reduziert werden. Durch Verwenden der Architektur mit mehreren Hardwareschichten können auch Anforderungen hinsichtlich der Verarbeitungsgeschwindigkeit reduziert werden und können beispielsweise nur durch die Bildrate der Kamera begrenzt werden. Folglich kann mittels des verbesserten Konzepts die CPU-Last für Bildzusammenfügungsoperationen reduziert werden. Des Weiteren können Frame-Drop-Probleme aufgrund von CPU-Überlastung vermieden werden. Die reduzierten Rechenanforderungen können auch Bauteilkosten reduzieren.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 2014/0247352 A1 [0003]