Socionext Bildverarbeitungs­prozessoren für Fahrerassistenzsysteme

Socionext

Fahrerassistenzsysteme sind mit die wichtigsten Komponenten der modernen Automobilindustrie. Sie versprechen, die Sicherheit sowohl der Fahrzeuginsassen als auch anderer Verkehrsteilnehmer deutlich zu erhöhen. Aber welcher Bildverarbeitungsprozessor für das Fahrerassistenzsystem ist der richtige?

Laut Statistiken sterben weltweit mehr als eine Million Menschen jährlich auf den Straßen in Verkehrsunfällen. Die Hauptursache sind menschliche Fehler. Die primäre Aufgabe sicherheitskritischer Fahrerassistenzsysteme ist es, diese Zahl zu senken und mehr Sicherheit im Straßenverkehr zu schaffen. Andere Systeme helfen dem Fahrer, in bestimmten Situationen das Auto besser zu steuern. Eines Tages, hoffentlich in naher Zukunft, werden Fahrerassistenzsysteme auch autonomes Fahren ermöglichen.

Heutige Fahrerassistenzsysteme basieren auf verschiedenen Sensoren: Ultraschall-, Kamera-, Radar- und Lidar-Sensoren. Ultraschall und Radar sind aktive Sensoren – sie strahlen ein eigenes Signal aus, das von Objekten reflektiert und wieder im Sensor empfangen wird. Solche Systeme haben den Vorteil, dass sie wenig von der Umgebung abhängig sind. Kameras, genauso wie unsere Augen, sind passive Sensoren – sie sind stark abhängig von der Umgebung. Starke Umgebungsabhängigkeit ist sicherlich ein Nachteil passiver Sensoren. Kameras haben aber einen großen Vorteil im Vergleich zu anderen Sensoren: Sie basieren auf dem gleichen Funktionsprinzip wie unsere Augen und sind in der Lage, viel mehr Informationen (die für uns relevant sind) wahrzunehmen als andere Sensoren. So ist es zum Beispiel mit anderen Sensoren nicht möglich, eine Verkehrszeichenerkennung zu realisieren.

Im SoC-Markt ist 2015 aus dem Zusammenschluss des LSI-Geschäfts von Panasonic und Fujitsu das neue Unternehmen Socionext entstanden. Dank der Bündelung der Kompetenzen konnte Socionext seine führende Position im Bereich von Radar und kamerabasierenden Assistenzsystemen weiter ausbauen.

Kamera-Sensoren für Automotive-Anwendungen sind überwiegend in CMOS-Technologie gefertigte Bayer-Sensoren. CMOS-Sensoren sind günstiger und stromsparender, verglichen mit CCD-Sensoren, und das bei vergleichbarer Bildqualität. Da die einzelnen Photodioden auf dem Sensor nur auf Helligkeitsänderungen reagieren, muss vor jedem Pixel noch ein Farbfilter angebracht werden. Somit ist die Helligkeitsänderung einer Photodiode nur von einer bestimmten Farbe (die vom Farbfilter nicht herausfiltriert wird) abhängig und kann so diese Farbinformation wahrnehmen. Die Farbinformation entspricht dabei dem Spannungswert der Photodiode, der für jedes Pixel mit einem A/D-Wandler digitalisiert wird. Ein Bayer-Sensor hat in der Regel 50% grüne, 25% rote und 25% blaue Farbfilter, ähnlich wie das menschliche Auge. Dies bedeutet, dass jedes Pixel nur eine Farbinformation beinhaltet (rot, grün oder blau) und dass die anderen zwei Farbwerte rekonstruiert (berechnet) werden müssen – typischerweise werden die Werte von benachbarten Pixeln interpoliert. Dieses Verfahren ist bekannt als Demosaicing (Demosaicing, De-bayering).

Um Demosaicing zu implementieren, ist ein Prozessor notwendig. Genauer gesagt: ein Bildverarbeitungsprozessor  (Image Signal Processor - ISP), der das durch den Image-Sensor generierte Signal verarbeitet. Demosaicing ist eine der wichtigsten Aufgaben für den ISP. Daneben gibt es noch eine ganze Reihe von verschiedenen Berechnungen, die ein ISP durchführen kann, wie Belichtungssteuerung, Rauschunterdrückung, Linearisierung, Weißabgleich, Tone Mapping, Color Space Conversion usw. Diese Berechnungen werden typischerweise für jedes Pixel des Bildes kaskadiert durchgeführt. Deswegen spricht man oft von einer so genannten ISP-Pipeline.

Je nach Anwendung sind manche ISPs einfach aufgebaut, andere sind sehr komplex. Je mehr Funktionen (längere ISP Pipeline) ein ISP ausführt, desto komplexer ist er. Die Länge der ISP-Pipeline zeigt aber nur, wie viele verschiedene Funktionen ein ISP durchführen kann – aber nicht, wie gut. Nur wenige Funktionen des ISPs sind mathematisch exakt definiert und somit identisch in jedem ISP – identisch in den Sinne, dass sie für die gleichen Inputs übereinstimmende Outputs erzeugen. Ein Beispiel für solch eine Funktion ist Color Space Conversion (Umwandlung zwischen RGB- und YUV-Farbmodell). Diese zwei Farbmodelle sind mithilfe mehrerer mathematischer Operationen ineinander überführbar. Viele andere wichtige Funktionen des ISPs sind in der Theorie viel komplexer, und es gibt unterschiedliche Methoden, wie man sie realisiert. Es gibt beispielsweise viele verschiedene Algorithmen für die Rauschunterdrückung (Denoising). Unterschiedliche Algorithmen ergeben unterschiedliche Ergebnisse, brauchen unterschiedliche Ressourcen des Prozessors. Das Demosaicing kann einfach durch bilineare Interpolation implementiert werden, liefert aber bei bestimmten Situationen schlechte Ergebnisse. In solchen Fällen muss man, je nach Anwendung, andere Algorithmen im ISP implementieren, die zum Beispiel bilaterale Filtrierung verwenden.