Embedded Systeme sind bis auf Bauteilebene optimal auf ihre jeweiligen Anwendungen zugeschnitten. Sie sind so klein wie möglich und können flexibel in stationäre wie mobile Geräte und Komplettsysteme integriert werden. Zudem zeichnen sie sich durch perfekt angepasste Leistung und durch Kostenoptimierung für den Serieneinsatz aus. Um das zu erreichen, sollten verfügbare Funktionalitäten optimal ausgenutzt werden. Ein Beispiel dafür sind die beiden integrierten ISPs der i.MX 8M Plus Prozessoren von NXP.
Mehr Effizienz mit internen ISPs
Die ISPs sind perfekt auf das Zusammenspiel mit den weiteren Rechenkernen und Schnittstellen des Prozessors abgestimmt und machen das Embedded-Vision-Flaggschiff von NXP zur optimalen Wahl für rechenintensive Bildverarbeitungen. Werden die ISPs für die Aufbereitung und Korrektur der Sensordaten verwendet, können kompaktere, kostengünstigere Kameramodule ohne eigene Chips für die Bildaufbereitung eingesetzt werden. Gleichzeitig werden keine Ressourcen auf dem Anwendungsprozessor benötigt, um dort per Software Bildvorverarbeitungen durchzuführen – auch das ist eine gängige Alternative. Bei Nutzung der ISPs steht die Rechenleistung also vollumfänglich für die jeweilige Endapplikation des Embedded-Vision-Systems zur Verfügung. Funktionalitäten und Performance des Prozessors werden so effizient ausgenutzt, bei geringeren Kosten gegenüber einem separaten ISP.
Rohdaten passend aufbereiten
Wie eingangs beschrieben sind Embedded-Vision-Systeme perfekt auf eine spezielle Anwendung zugeschnitten. Das umfasst insbesondere auch die Aufbereitung der Kameradaten: ein Standard ist dabei das Demosaicing (Bayer-Konvertierung), bei dem aus den Daten eines Einchip-Farbsensors mit Bayer-Farbfiltermatrix vollständige Farbinformationen für jeden Pixel im RGB-Format errechnet werden (Bild 2). Daneben gibt es weitere Vorverarbeitungen, die allesamt im Funktionsumfang der ISPs des i.MX 8M Plus enthalten sind: Von der Black-Level-Kalibrierung über Rauschreduzierung und die Korrektur defekter Sensorpixel bis zu Belichtungssteuerung, Weißabgleich und Farbkalibrierung. Außerdem können die speziell für die Bildvorverarbeitung ausgelegten Prozessorkerne optische Abbildungsfehler wie Linsenverzerrungen und Randabschattungen korrigieren.