Bild: Socionext
6 Bewertungen

Entwicklungsplattform für Kameras Kameras schneller und einfacher integrieren

15.06.2018

Kameras kommen in immer mehr Geräten zum Einsatz. Embedded Vision ist zurzeit einer der großen Trends. Die Integration von Kamerasystemen ist allerdings meist schwieriger als es den Anschein hat. Um dennoch die Time-to-Market kurz zu halten, bietet sich der Einsatz von Kameraentwicklungsplattformen an.

Die Bildverarbeitung ist ein stark wachsender Markt. Zahlreiche Anwendungen für kompakte Kamerasysteme sind in den letzten Jahren im Consumer- und Industriebereich entstanden. Leistungsfähige und günstige Kameramodule zu entwickeln, war bisher eine Domäne für Spezialisten. Aufgrund vielschichtiger Schwierigkeiten in der Optik, Sensorik und der digitalen Bildverarbeitung stehen Entwickler oft vor großen Herausforderungen. Unternehmen, die in diesem Bereich Fuß fassen wollen, können fast ausschließlich auf fertige Kameramodule zurückgreifen, die aber nicht immer den spezifischen Anforderungen entsprechen. Als Lösungsansatz hat Socionext eine Kameraplattform entworfen, die Systementwicklern auch für anspruchsvolle Anwendungen ein umfangreiche Funktionen zur Verfügung stellt.

Sie beruht auf den kompakten Image-Signal-Prozessoren (ISPs) der Milbeaut-Familie von Socionext. Bei ISPs handelt es sich um leistungsfähige Ein-Chip-Systeme, die neben dem Objektiv und dem Bildsensor die wichtigste Komponente eines Kamerasystems darstellen. Ein ISP liest die Daten des Bildsensors ein und bereitet dank der implementierten Algorithmen das Bild gemäß den Anforderungen an die Anwendung entsprechend auf. Diese Signalverarbeitungskette enthält zahlreiche Funktionen, die direkten Einfluss auf die Bildqualität haben. Nachfolgend werden die wichtigsten Funktionen kurz dargestellt.

1. Sensordaten

Linearisierung: Der Zusammenhang zwischen Belichtung und ausgelesenem Pixelwert ist nicht linear. Die im ISP eingesetzten Algorithmen benötigen das aber als eine Grundvoraussetzung für ihre Funktion. Unter Kenntnis des eingesetzten Sensors kann das ausgelesene Signal entsprechend aufbereitet werden.

Maskierung defekter Pixel: Auch bei qualitativ sehr hochwertigen Sensoren funktionieren nicht alle Pixel einwandfrei. Es kommen hauptsächlich zwei Fehlerarten vor. Einerseits gibt es Pixel, die erheblich dunkler als erwartet sind, sogenannte Dead Pixel. Andererseits existieren Pixel, die wesentlich heller als erwartet sind, bezeichnet als Hot Pixel. Bei Sensoren mit vielen Millionen Pixeln sind oft ein paar tausend abweichend. Die Korrektur erfolgt in beiden Fällen anhand der benachbarten Pixel. Es wird zwischen statischer und dynamischer Korrektur unterschieden. Im statischen Fall ist die Position des fehlerhaften Pixels schon bei der Produktion bekannt und kann daher in einer Tabelle hinterlegt werden. Bei der dynamischen Korrektur wird das Bild statistisch untersucht, um unplausible Werte zu erkennen. Dadurch lassen sich auch Fehler korrigieren, die erst im Laufe der Nutzung auftreten.

Wiederherstellung des Schwarzwertes: Um herstellungsbedingte Toleranzen zu kompensieren und die negative Amplitude des Rauschens nicht zu verlieren, wird den Helligkeitswerten der Pixel im Sensor vor der Analog-Digitalwandlung ein gewisser Wert hinzugefügt. Nach der Übertragung in den ISP und den ersten Verarbeitungsschritten wird dieser Wert wieder entfernt. Der Wert variiert je nach Position des Pixels in der Matrix und der Temperatur des Sensors.

Entrasterung: Farbsensoren können pro Pixel nur eine Farb-
information, also entweder Rot, Gelb oder Blau (RGB), ermitteln. Für die weitere Verarbeitung werden aber alle drei Farbinformationen für jedes Pixel benötigt. Die fehlenden Informationen werden deswegen aus den Werten der Nachbarpixel interpoliert. Bei einfacheren Algorithmen kommt es allerdings an Helligkeitskanten zu unerwünschten Farbsäumen. Die Qualität dieses Arbeitsschrittes ist deshalb entscheidend für die erreichbare Schärfe des Bildes.

Rauschunterdrückung: Der Bildsensor hat eine Vielzahl von Rauschquellen. Viele von ihnen sind temperaturabhängig. Um eine gute Rauschunterdrückung zu erzielen, müssen die Eigenschaften der Rauschquellen genau bekannt sein. Es werden zwei Arten von Rauschunterdrückung unterschieden: Die 2D-Variante betrachtet nur die Nachbarn des zu korrigierenden Pixels, 3D-Variante betrachtet zusätzlich die Historie der Pixel.

Farbkorrektur: Die Farbkorrektur errechnet unter Berücksichtigung der spektralen Empfindlichkeiten der drei Sensorkanäle, des Beleuchtungsspektrums und der Charakteristik des Ausgabemediums die für die korrekte Farbwiedergabe nötigen RGB-Werte aus den entrasterten Sensordaten.

2. Optik

Ausgleich geometrischer Verzeichnung: In einer perfekten Optik ist die Objektgröße unabhängig von der Position im Bildfeld. Praktisch alle Optiken weisen jedoch eine gewisse Verzeichnung auf. Das heißt ein Objekt hat dadurch eine von der Position im Bildfeld abhängige Größe. Diese ist besonders bei Weitwinkelsystemen ausgeprägt. Dieser Abbildungsfehler beeinträchtigt beispielsweise die elektronische Bildstabilisierung.

Kompensation der Vignettierung: Bei praktisch allen Optiken sind die Randbereiche dunkler als die Bildmitte.

Kompensation von Beugung und Schärfung: Bei Optiken begrenzen Beugungseffekte die maximale Auflösung. Die Beugung ist von der Blendengröße abhängig. Die Abmessungen von Pixeln in der Größenordnung von wenigen µm lassen diese Effekte sehr deutlich werden. Bilder ohne der Beugung angepasste Schärfung wirken deutlich verwaschen.

3. Steuerung

Belichtungssteuerung: Sie sorgt für ein maximales Signal-zu-Rauschen-Verhältnis ohne die hellsten Stellen des Bildes zu sättigen. Besonders bei Bewegtbildern sind die Ansprüche an die dynamische Regelcharakteristik hoch.

Weißabgleich: Er ermöglicht konstante Farben bei unterschiedlicher Farbtemperatur der Beleuchtung, ermittelt die Eigenschaften der Beleuchtung aus dem Bild und übermittelt diese an die Farbkorrektur.

Bildstabilisierung: Kleine zufällige Richtungsänderungen der Kamera werden vom Betrachter als störend empfunden. Die Bildstabilisierung verschiebt den ausgelesenen Bereich des Sensors entgegengesetzt der Richtungsänderung. Für die Ermittlung der Richtungsänderung der Kamera kommen Winkelsensoren zum Einsatz.

Voraussetzungen für die ISP-Parametrierung

Zusätzlich zu den erwähnten Funktionen ist insbesondere der Parametersatz für die Anpassung an den Sensor eine entscheidende Voraussetzung zum erfolgreichen Einsatz eines ISPs. Bildsensoren sind komplexe Systeme, deren Eigenschaften in den Datenblättern nur summarisch beschrieben werden. Die Datenblätter geben genug Informationen zur Auswahl eines für eine bestimmte Aufgabe geeigneten Sensors. Die Informationen sind aber unzureichend für die Parametrierung eines ISPs.

Eine große Rolle spielt außerdem die verwendete Software. Die Software bei ISPs lässt sich grob in zwei Teilbereiche untergliedern. Erstens die Echtzeitsoftware zur Steuerung der oben genannten ISP-Funktionen. Diese Software muss die vielen Arbeitsschritte für die Pipeline-Bearbeitung koordinieren. Bei Verarbeitung von diesen Daten werden sehr hohe Anforderungen an die Echtzeitfähigkeit gestellt. Aufgrund der großen Komplexität der Aufgabe stellen Modifikationen bei diesem Teil der Software eine erhebliche Hürde dar. Weiterhin gibt es den Software-Bereich zur Systemsteuerung. Diese Software bildet den anwendungsspezifischen Teil des Systems ab. Es besteht keine oder nur eine geringe Anforderung an Echtzeitfähigkeit. Dafür kommen sowohl Schnittstellen-Interaktionen als auch Speichermedien und eventuell sogar ein graphisches User-Interface als Aufgaben hinzu. Oft wird dafür Linux verwendet. Bei Neuentwicklungen im ISP-Bereich stehen Software-Entwickler also vor der Aufgabe, diese beiden elementaren Software-Bereiche nicht nur funktional zu entwickeln, sondern auch deren gemeinsame Interaktion zu gewährleisten, was insbesondere bei Multi-OS-Systemen keine triviale Aufgabe ist.

Zweigeteilte Softwareanforderungen

Genau das bietet das Socionext-M10V-Smart-Kit. Der Anwender kann mit gegebener Hardware und mitgelieferten Beispielen ohne Vorkenntnisse Kameras bis zu 4K in sehr kurzer Zeit umsetzen. Dafür stehen Beispielanwendungen und umfangreiche Software-Bibliotheken zur Verfügung sowie Tools zum Image-Tuning und die kompletten Hardware-Daten zum einfachen Nachbau und zur Modifikation der modularen Smart-Kit-Hardware. Die Software ist dabei möglichst generisch ausgelegt, um Standards zu unterstützen. Damit sind zahlreiche Standard-Anwendungen ohne die sonst üblichen Entwicklungsaufwände möglich, und der Anwender kann sich nach sehr kurzer Einarbeitung auf die individuellen Spezialfunktionen seines Kameraproduktes konzentrieren.

Bildergalerie

  • Das Blockdiagramm des Socionext SC2000 zeigt die typischen Funktionen eines ISPs.

    Bild: Socionext

  • Das Socionext-Smart-Kit besteht aus drei Board-Komponenten.

    Bild: Socionext

Firmen zu diesem Artikel
Verwandte Artikel