VisualApplets® 1.2

VisualApplets® ist ein graphisch orientiertes Werkzeug, das die Programmierung von Bildverarbeitungsaufgaben auf FPGA Hardware dramatisch vereinfacht.

VisualApplets® ist ein Hardware-Programmierungswerkzeug für FPGAs, basierend auf der Verwendung von graphischen Pipeline-Strukturen. Designs für Bildverarbeitungsaufgaben werden durch die Kombination von Operatorenmodulen, Filtermodulen und Transportverbinden zusammengestellt. Die ausgelieferten Bibliotheken umfassen an die 200 hardware-basierten Operatoren, die Standard- als auch erweiterte ud komplexe Bildverarbeitungsfunktionen umfassen.

IDe Bibliotheken beinhalten u.a. arithmetische und morphologische Operatoren zur Pixelmanipulation, logische Operatoren für Klassifikationsaufgaben, komplexe Module für die Farbverarbeitung, Operators für statistische Analysen und die Verarbeitung von Bildsequenzen. Zusätzliche Operatoren steuern Formatkonvertieungen, Komprimierungen oder Überführungen in Pixellisten. Zukünftige Funktionen sind u.a. geometrische Transformationen und Segmentation.

Alle Funktionen sind als Hardware-Operatoren implementiert und garantieren eine Bildverarbeitung in Echtzeit. Die Komplexität der Bildverarbeitungsdesigns wird hauptsächlich durch vorhandene Ressourcen in der FPGA Hardare begrenzt..

Es ist keine Konfiguration für die Synchronisation, das Zeitverhalten oder auftretende Seiteneffekte notwendig. Sowohl eine Synthese als auch eine High-Level Simulation wurden integriert und bieten volle Kontrolle über da visuelle Ergebnis des Designs zu jeder Zeit und jeden Punkt an.

Der komplette Prozess der Erstellung eines Deigns bis zum lauffähigen Hardware-Applet dauert durchschnittlich 10-15 Minuten. Das Hardware-Applet ist sofort einsatzfähig und das Ergebnis kann über das Vorschau- und Konfigurationsprogramm microDisplay angesehen und konfiguriert werden über das SDK in Anwendungen eingebunden werden. Ein, für alle erstellten Design automatisch generierter Beispielcode hilft hierbei .

Obwohl Kenntnisse in der Hardware-Programmierung von Verteil sind, ist die Softwarelösung VisualApplets® auch an Applikations-Ingenieure in der industriellen Bildverarbeitung adressiert worden. In erster Näherung verhält sich VisualApplets® hardware-unabhängig und wurde auch als ein hardware-unabhängiges Programmierungswerkzeuig konzipiert und entwicklet.

VisualApplets® läuft unter Windows 2000 und XP.

Neben zukünftigen Weiterentwicklungen neuer oder erweiterer Bildverarbeitungsbibliotheken, wird VisualApplets® auch für die Unterstützung für Hardwareplattformen von Drittherstellern, z.B. intelligenter Kameras, vorbereitet..

Feature-Liste von VisualApplets®
(Auswahl)

  • Graphisches Interface um FPGA Hardware zu programmieren
  • Abstraktes Arbeiten mit Bildverarbeitungsoperatoren
  • Module können parametrisiert werden, z.B. in der Funktion, im Verhalten oder im Datenformat
  • Integrierte Hilfefunktion für Operatoren und Operatorensuche
  • Bibliotheken mit Hardwaremodulen repräsentieren die Framegrabber-Plattform und Funktionen
  • Bildverarbeitungsdbibliotheken mit verschiedenen Filteroperatoren und Bildverarbeitungsmodulen
  • Verfügbarkeit von Visual Applets Bildverarbeitungsbibiliotheken mit sapeziellen Markt-, Branchen- oder Kundenfokus
  • Unterstützung von VHDL-Cores über Import von EDIF-Dateien (z.Zt. begleitendes Dienstleistungsangebot)
  • Hinzufügen von benutzer-spezifischen Bibliotheken
  • Neues Dateiformat ermöglicht die Verwendung von geschützen Modulen und Designs
  • Verwendung eines vorkompilierten Dateiformats
  • Integration der Synthese und einer High-Level Simulation in Software
  • Die Simulation zeigt die hardware-kompatible Bearbeitung jedes Prozessschrittes and jedem beliebigen Punkt des Designs
  • Der Benutzer behält die Kontrolle über das visuelle Resultat seiner Anwendung zu jeder Punkt
  • Der Benutzer behält den Überblick über die Verarbeitungsressourcen, Verbrauch an Ressourcen und die zu erwartende Übertragungsrate der Datenbandbreite
  • Es ist kein spezielles Wissen über Layout, Synchronisation, Zeitverhalten oder FPGA Programminerung notwendig
  • Es gibt keine Auseinandersetzung mit Seiteneffekten
  • Es wird kein VHDL Compiler benötigt
  • VisualApplets® ist adressiert von Hardwareentwickler bis zum Applikationsingenieur
  • Schließt die Lücke zwischen Standard- und kundenspezifischen Applets
  • Der komplette Prozeß der Erstellung eines Hardware-Designs dauerts durchschnittliche zwischen 10-15 Minuten
  • VisualApplets® Applets sind sofort lauffähig im SDK und unter microDisplay
  • VisualApplets® unterstützt microEnable III, microEnable IV und zukünftige Produktlinien
  • VisualApplets® unterstützt Dritthersteller-Hardware, z.B. intelligente Kameras
  • VisualApplets® kann als Programmierungsschnittstelle für OEM Produkte eingesetzt werden
  • VisualApplets® unterstützt Windows 2000 und XP



Visual Applets® wir mit typischen Bildverarbeitungsbibliotheken ausgeliefert, um Anforderungen aus der industriellen Bildverarbeitung zu lösen. Die Bibliotheken sind unterteilt in Module und Filteroperatoren, die parametrisiert und miteinander kombiniert werden können. Version 1.x enthält Basisbibliotheken aus den unterschiedlichen Bereichen mit arithmetischen, morphologischen und logischen Oeratoren, spezielle Bibliotheken mit Farbverarbeitungsmodulen, um statistische Informationen zu erhalten, um Bildverbesserungen durchzuführen oder hardware-abhängig Module einzubinden.

Die aktuelle Version von Visual Applets® (Stand 1.2) hat einen Umfang von ungefähr 200 Operatoren. Die Funktionalität wird ständig über zusätzliche Bibliotheken erweitert und soll auch für Drittanbieter geöffnet werden.

Verfügbare VisualApplets® Module und Filteroperatoren

  • Hardware-abhängig Operatoren
  • Operatoren zur Pixelmanipulation
  • Arithmetische Operatoren
  • Logische Operatoren
  • Filter für Bildvergleiche und morphologische Operatoren
  • Farbverarbeitungsoperatoren
  • Signalverarbeitungsoperatoren
  • Statistische Verarbeitungsoperatoren
  • Sybchronisationsoperatoren
  • Verschiedene Operatoren zur Bildmanipulation

Neue Features der VisualApplets® Modul- und Filteroperatoren

  • Programmierbares, modulares Triggersystem
  • Optimierte Trigger und Encoderfunktionalität
  • "Trigger zu Bild" Synchronization
  • Allgemeine Datenschnittstelle (General Purpose Input-Output)

  • Shading Korrekturen (1D und 2D)
  • Spatial Korrekturen
  • Hochwertige und erweiterte Operatoren zur Bayer-Konvertierung und Farbverarbeitung
  • Separation von Objekten
  • Statistische Operatoren
  • Ordnungsoperatoren (Rank operator)
  • Komprimierungsfunktionen, z.B. RLE und Pixellisten
  • Auswertung mehrfache ROI gleichzeitig und dynamische ROI
  • Histogramme
  • Knee Look-up Tabellen
  • 12bit Verarbeitung
  • Koeffizientenspeicher
  • Verarbeitung von Bildsequenzen
  • Operatoren für Lasertriangulation-Anwendungen

Zukünftige VisualApplets® Features

  • Verwendung einer Skriptsprache
  • Subroutinen für funktionale Erweiterungen
  • Unterstützung von virtuellen DMAs
  • Fixed point Arithmetik
  • Zusätzliche arithmetische Operatoren
  • Zusätzliche Formatkonvertierungsoperatoren
  • Neue Pixelmanipulationsoperatoren
  • Kompressionsfunktionen, z.B. JPEG und M-JPEG
  • Geometrische Transformationen
  • Sequenzverarbeitung
  • Segmentation

VisualApplets® ist ein graphisch orientiertes Werkezug, das die Programmierung von Bildverarbeitungsschritten auf einem FPGA drastisch vereinfacht

VisualApplets® ist ein Wwerkzeug für die Hardwareprogrammierung von FPGAs, basierend auf graphischen Pipeline-Strukturen für Bilddaten. Diese Pipeline-Modelle werden über die Kombination von Operatoren und Filtermodulen aus Bildverarbeitungsbibliotheken erstellt und in ein ladbares Hardwareapplet kompiliert.

Die Bibliotheken enthalten z.B. arithmetische und morphologische Operatoren zur Pixelmanipulation, logische Operatoren für Klassifikationsaufgaben und auch komplexe Module für die Farbverarbeitung und Kompression.

Es ist keine Konfiguration für die Synchronisation, das Zeitverhalten oder Berücksichtigung der Seiteneffektfreiheit erforderlich. Sowohl eine Synthese als auch eine High-level Simulation sind integriert und ermöglichen die volle Kontrolle über das finale visuelle Ergebnis der Anwendung zu jeder Zeit.

Der komplette Prozess der Erstellung eines Hardwaredesigns dauert durchschnittlich 10-15 Minuten. Die Hardwareapplet können sofort in der Konfigurationsoftware microDisplay eingesetzt werden oder über die Verwendung im SDK in eine Anwendung integriert werden.

Obwohl Kenntnisse in Hardwareprogrammierung von Vorteil sind, richtet sich die Softwarelösung VisualApplets® in erster Linie an Softwareprogrammierer in der industriellen Bildverarbeitung. In erster Näherung ist VisualApplets® hardware-unabhängig. Zum aktuellen Zeitpunkt unterstützt VisualApplets® die Hardwareplattform microEnable III/-XXL von SILICONSOFTWARE. VisualApplets® läuft unter Windows 2000 und XP.

Die Programmierung der FPGA-Hardware in VisualApplets® ist die Kombination und Parametrisierung von hardwarenahen Modulen und algorithmischen Elementen in eine Daten-Pipelinestruktur. Die Schnittstelle zum Framegrabber arbeitet hardwareabhängig, die Vorverarbeitung auf dem FPGA jedoch hardwareunabhängig.

Eine Basisbibliothek unterstützt die Bearbeitung von Pixelbereichen durch Extraktionsfunktionen. Aufsplitt-, Sample- und Synchronizationsfunktionen komplettieren den Umfang dieser Bibliothek. Die Bibliothek mit arithmetischen Operatoren unterstützt verschiedene Arten der Pixelmanipulation. Die "Filter Factory" bietet Manipulationsmöglichkeiten auf Pixel bereichbasis an, z.B. das Bestimmen der Minima und Maxima, des Medians oder weitere morphologische Operators. Die Bibliotheken mit komplexen Funktionen umfassen Farbverarbeitung und Farbrekonstruktionen, weitere enthalten Module zur Einbindung und Definition von Lookup und KNEE Lookup Tabellen, Schwellwertoperationen, Binarisierung und Zählerfunktionen. Zur Umsetzung von Klassifizierungsaufgaben wurden logische Operatoren integriert. So wurden Boolsche Operatoren ebenso wie Auswahloperatoren integriert.

Die Pipeline-Struktur wird danach in funktionsbezogene Blöcke zur Vorbereitung auf das FPGA Layout konvertiert. Dieser Vorgang wird ohne weitere Eingaben des Nutzers durchgeführt. Es sind keine weiteren Konfigurationsschritte für die Synchronization, das zeitliche Verhalten oder die Beachtung von Seiteneffekten notwendig. Der "Rule Check" wird ebenso automatisch durchgeführt.

Ein VHDL Compiler ist für die Erstellung des Hardware-Applets nicht erforderlich. Lediglich ein C-Compiler sollte auf dem Entwicklungsrechner vorinstalliert sein. Der Nutzer kann die Komplexität und das visuelle Ergebnis der Vorverarbeitungsschritte über die Ressourcenanzeigen, erwartete Bandbreitenberechnung und visuelle Ausgabe über SImulationsmodule kontrollieren. Der "Place & Route" Prozess konvertiert das Hardwaredesign in ein ausführbares FPGA-Layout. Hierfür ist eine zusätzliche Software des FPGA Herstellers notwendig. Ist dieses vorinstalliert, wird es von VisualApplets® erkannt und automatisch in die Softwareabläufe integriert, vorkonfiguriert und ausgeführt.

Nach diesem Prozess wird ein sogenanntes Hardwareapplet erzeugtm das in microDisplay aufgerufen werden kann oder über das SDK in eine Anwendung intergriert werden.

Feature list

  • Graphisch orientiertes Programmierwerkzeug für FPGA Hardware
  • Abstraktes Arbeiten mit Bildoperatoren
  • Bibliotheken mit Hardwaremodulen als repräsentierende Framegrabber Plattform
  • Bildverarbeitungsbibliotheken mit verschiedenen Filteroperatoren und Modulen
  • Schließt die Lücke zwischen Standard und ckundenspezifische Applets
  • Integrierte Synthese und einer softwarebasierten High-level Simulation
  • Richtet sich sowohl an Hardwareentwickler als auch an Softwareprogrammierer
  • Kein Vorwissen an Layoutplanung, Synchronisation, Zeitverhalten oder FPGA-Programmierung notwendig
  • Keine Auseinandersetzung mit Seiteneffekten erforderlich
  • Keine Einbindung eines externen VHDL Compiler erforderlich

  • Module können parametrisiert werden, z.B.in Funktion, Verhalten oder Datenformaten
  • Der Benutzer behält die visuelle Kontrolle über das Ergebnis und Zwischenschritte seiner Anwendung
  • Die Simulation zeigt die visuellen Änderungen an jedem beliebigen Punkt der Bearbeitungskette
  • Der Benutzer behält den Überblick über die Hardwareressourcen, und erwartete Datenbandbreite

  • Der komplette Erstellungsprozess eines Hardwaredesigns dauert durchschnnittlich 10-15 Minuten
  • In VisualApplets® erstellte Applets sind sofort im SDK oder unter microDisplay einsetzbar
  • VisualApplets® unterstützt microEnable III und zukünftige Produktlinien
  • VisualApplets® kann als Programmierschnittstelle für OEM Produkte angepasst werden
  • VisualApplets® unterstützt Windows 2000 und XP
  • VisualApplets® Bildvorverarbeitungsbibliotheken mit speziellen Markt-, Branchen- oder Kundenfokus werden zukünftig erhältlich sein

VisualApplets® Operatoren

Visual Applets® wird mit Operatoren aus Bibliotheken ausgeliefert, die typischerweise in Anwendungen der industriellen Bildverarbeitung verwendet werden. Die Bibliotheken sind in Module und Filteroperatoren unterteilt, die parametrisiert und miteinander kombiniert werden können. Visual Applets® beinhaltet Basisbibliotheken mit arithmetischen, morphologischen und logischen Operatoren, speziellen Bibliotheken mit Farbmodulen, statistischen Informationen, Bildverbesserungsoperatoren und auch hardware-abhängigen Modulen. Der Funktionsumfang wird mit überarbeiteten und zusätzlichen Bibliotheken ständig verbessert und erweitert werden.

Hardware-abhängige Operatoren für microEnable III / -XXL

  • Kameraschnittstellen: BASE und MEDIUM in Kombination mit
  • Bildaufnahmemodule: Flächen- und Zeilenkamerabetrieb Module, Grauwert-, RGB- und Bayer-Farbmodus Module
  • Bildspeicherschnittstellen: Bildpuffer, Zeilen-FIFO
  • Digitale Schnittstellen: DigIO Port Module
  • Triggerschnittstelle: Flächentrigger-Port und Zeilentrigger.Port Module
  • Transferschnittstellen: DMA read und DMA write Module

Operatoren zur Pixelmanipulation

  • Bearbeitungsmodule: Erhöhung oder Verringerung der Parallelität
  • Extraktionsmodule: Parallelität, Komponenten, Pixel-Feld, Bit-Feld, Bild
  • Modulbeziehungen: Synchronizität, Aufsplitten
  • Auflösung: Erhöhung oder Verringerung der Sample-Rate
  • Farbmodus-Konverter: GRAY2RGB und GRAY2HSI Module
  • Bildoperatoren: Bildlöschvorgang
  • Definitionsoperatoren: Konstanter Wert

Arithmetische Operatoren

  • Typkonvertierungsoperator: Typ, Bit
  • Wertkonvertierungsoperator: Bit-Wertebereich
  • Mathematische Operatoren 1: Addition, Subtraktion, Multiplikation, Division, Skalierung, Shiften, Zufallszahlen, Absolute Werte, Summe
  • Mahematische Operatoren 2: Sinus, Cosinus, Tangens, Cotangens, Arcus Funktionen, Quadratwurzel

Logische Operatoren

  • Kausale Operatoren: IF, CASE, logisches NICHT, logisches UND und logisches ODER
  • Boolsche Operatoren 1: Vergleich zwischen zwei variablen Werten durch: A nicht gleich B, A größer als B, A kleiner als B, A ist größer oder gleich B, A kleiner oder gleich B, A nicht gleich B, A gleich B
  • Boolsche Operatoren 2: Vergleich zwischen einem variablen Wert und einem fixen Wert durch: nicht gleich, ist größer als, ist kleiner als, ist größer oder gleich, ist kleiner oder gleich, ist nicht gleich, ist gleich

Bildvergleichsfilter und morphologische Operatoren

  • Pixelfeld-Operatoren: Definition einer Pixelfeld Matrix, Bearbeitung einer Pixelfeld Matrix
  • Statistische Operatoren: Median, Minimum, Maximum
  • Morphologische Operatoren: Erode und Dilate

Verschiedene Operatoren zur Bildmanipulation

  • Lookup Tabellen Module: Standard Lookup Tabelle, KNEE Lookup Tabelle
  • Binarisierungsoperatoren: Schwellwert
  • Speicheroperatoren: Koeffizientenspeicher
  • Operatoren für Zähler: Zeilenzähler, Spaltenzähler

Operatoren für die Farbverarbeitung

  • Farb-Rekonstruktionsmodul: bilineare Bayer Konvertierung, LaPlace Bayer Konvertierung
  • Farbraummodule: RGB2YUV, RGB2HSI, HSI2RGB
  • Extraktionsoperatoren für Farbkanäle: HSI Kanal-Splitter, RGB Kanal-Splitter

Operatoren für die Signalverarbeitung

  • Konfigurierung des Triggers und der Datenschnittstelle
  • Volle Kontrolle über die Signalauswertung
  • Signalerzeugung über einen Generator
  • Statusanzeigen
  • Konfigurierbare Verzögerungen, Polarität, Eventsteuerung
  • Konfiguration des Shaft-Encoders

Operatoren zur Synchronisation

  • Synchronisation zu Bild und Zeile
  • Verschiedene Manipulationen des Bildflusses auf Bild, Zeile und Pixelbasis
  • Synchronisation vor mehreren Bildströmen

Operatoren für statistische Verarbeitung

  • Auswertung von Zeilen oder Spaltenminima, -maxima und -summen
  • Auswertung von Frameminima, -maxima und -summen
  • Histogramme
  • Zähler
  • Register und Zwischenspeicher auf Frame- und Zeilenbasis

Sprachwechsel Sprachwechsel Seitenanfang Sprung zum Seitenanfang

Suche