Besser sehen

Besser sehen

SoC-Entwicklungsplattform für intelligente Kameras

Zur Entwicklungsunterstützung von ´sehenden´ Applikationen hat Dream Chip in Zusammenarbeit mit EBV eine Entwicklungsplattform für smarte Kameras, basierend auf dem SoCrates-FPGA-Board entwickelt. Die Plattform vereint Pixel-Vorverarbeitung mit weiterführenden Verarbeitungsmöglichkeiten. Durch Alteras SoC-Baustein als Kernkomponente des Boards lässt sich dabei eine optimale Systempartitionierung erreichen.
Durch das flexible Aufteilen von Algorithmen in Hardware und Software lässt sich somit die richtige Balance zwischen Performance, Leistungsaufnahmen und Resourcenbedarf finden. Dabei ist die Hardware-Beschleunigung nicht nur über den klassischen VHDL- oder Verilog-Ansatz möglich, sondern auch durch die Verwendung von OpenCL, einer auf C aufbauenden Programmiersprache, die speziell Software-Entwicklern einen einfachen Zugang erlaubt. Der Python 1300 CMOS von On Semiconductor liefert hierfür eine Videoauflösung von 720p60, die direkt auf dem am Board angeschlossenen TFT-Display angezeigt wird. Ein Framegrabber ermöglicht es, Bilder mit voller Auflösung von 1,3MP auf einem PC zu speichern und zu analysieren. Die Entwicklungsplattform reserviert 52k LEs des Cyclone V SoC-FPGA für OpenCL-Anwendungen oder kundenspezifischen HDL-Code. Dies ermöglicht Anwendern, ihre eigenen QSYS-Komponenten auf der Plattform zu verifizieren und weiterzuentwickeln. Das Prozessor-Subsystem (HPS) bietet mit seinen zwei ARM-Cortex-A9-Prozessoren genügend Performance für die Softwareentwicklung oder Verwendung von OpenCV-Bibliotheken. Die direkte Sensor-Bildverarbeitung ist in HDL implementiert. Nur die automatische Belichtung und der automatische Weißabgleich benötigen ein MIPS/Bild an Rechenleistung des HPS. Für Auto-Fokus-Anwendungen steht ein weiterer IP-Block zur Verfügung.

Pixel-Vorverarbeitung

Die Pixel-Vorverarbeitung bietet neben De-Bayering, einem vorgeschalteten Rauschfilter auf RAW-Ebene auch Funktionen wie Schärfe- und Verwischungskontrolle. Eine Gamma-Korrektur und eine Schwarzwert-Kompensation runden die Leistungsmerkmale der Plattform ab. Somit wurde eine kleine und kostengünstige Bildverarbeitung realisiert, die beliebig um weitere Funktionen wie z.B. eine Tote-Pixel-Korrektur erweiterbar ist. Für Anwender, die andere Image-Sensoren einsetzen, hat Dream Chip Technologies ein weiteres Sensor-Interface im IP-Portfolio. Es ist ein flexibler Datenformat-Wandler, der die seriell zu parallel gewandelten Pixeldaten verschiedenster CMOS-Sensoren unterstützt. Die Formatkonvertierung betrifft neben der Reihenfolge der Pixel und der Zuweisung der Sensordatenkanäle auch die Erkennung und Auswertung der Bildrahmeninformationen von s/w- oder Farbsensoren. Die Bildrahmeninformationen können über einen zusätzlichen Datenkanal oder eingebettet zwischen den normalen Bilddaten erkannt werden. Neben dem HiSPi-Standard, der mehrere verschiedene Übertragungsprotokolle (z.B. Packetized-SP Mode) beschreibt, werden auch Sensor-eigene Protokolle unterstützt. Sämtliche Syntaxelemente wie z.B. Bild- oder Zeilenbeginn sind individuell programmierbar. Über einen Barrel Shifter werden die empfangenen Pixeldaten bündig ausgerichtet. Das Synchronisieren kann an unterschiedlichen Syntaxelementen mit variabler Wortlänge sofort nach Erkennen oder über eine Wiederholungssequenz erfolgen. Es werden Einzelbilder sowie Videos unterstützt. Zur Entkopplung der Daten zwischen dem Pixeltakt und dem Bildprozessortakt kommt ein Datenspeicher zum Einsatz. Dieser kann je nach Bildgröße bis zu zehn Bildzeilen zwischenspeichern. Die Übergabe der Bilddaten an den Prozessor erfolgt mittels Handshake-Betrieb.

Fixed-Pattern-Korrekturen

CMOS-Sensoren haben einen unschönen Effekt, der von Sensor zu Sensor unterschiedlich ausgeprägt sein kann: das Fixed-Pattern-Noise (FPN). Das FPN-Modul zur Reduktion von sogenannten Fixed-Pattern minimiert die Störsignalanteile der Sensoren, die zeitlich und örtlich quasistatisch auftauchen. Normale örtliche Rauschfilter sind hierzu kaum geeignet, zeitliche Filter sogar wirkungslos. Bei den CMOS sind aufgrund der Technologie bestimmte Anteile der Fixed-Pattern besonders störend. Dazu zählen insbesondere das Vertical-Fixed-Pattern, desssen Ursache in den leicht unterschiedlichen Kennlinien der Linenverstärker liegt. Weitere Störanteile sind das Horizontal-Fixed- und das Pixel-Fixed-Pattern. Für das Vertical-Fixed-Pattern werden im FP-Modul für jede Spalte separate Korrekturwerte als Offset-Kurve generiert. Die Kurve besteht aus bis zu 16 Stützstellen, zwischen denen linear interpoliert wird. Die Stützstellen werden in einem lokalen SRAM gespeichert. Um Unterschiede zwischen den Farbkanälen zu berücksichtigen, werden RG- und GB-Linien separat korrigiert. Eine optionale Korrektur der Horizontal-Fixed-Pattern erfordert ein Auslesen der Optical-Black-Pixel jeder Zeile. Die OPT-Werte sind zu mitteln und von den Pixelwerten der jeweiligen Zeile abzuziehen. Zur Korrektur der Random-Fixed-Pattern ist die Subtraktion eines Black-Frames erforderlich. Diese Operation erfordert einen Frame Buffer und ist ebenfalls als Option im FPN-Modul integriert. Bild 2 zeigt die Wirkung des FPN-Moduls an einer Aufnahme aus dem Labor. Nach der Pixelverarbeitung steht das korrekte Bild in der Entwicklungsplattform zur Verfügung. Bei Anwendungen, die höhere Bildraten oder schnellere Auswertungen erfordern, können Teile der Algorithmen z.B. über OpenCL hardwarebeschleunigt werden. Damit sind leistungsfähige smarte Kameras und Embedded-Systeme möglich, für die bisher externe Industrie-PCs nötig waren.

Dream Chip Technologies GmbH

Das könnte Sie auch Interessieren