| Performance Primitives for Embedded Vision |
DSP-High Performance-Bibliothek und Entwicklungs-Framework für Embedded Bildverarbeitung

PfeLib beschleunigt und erleichtert die Implementierung von High Performance-Algorithmen für eingebettete Bildverarbeitungs-Applikationen auf Echtzeit-Plattformen. Entwickler von eingebetteten Computer Vision-Applikationen benötigen oft Funktionen, die in Bibliotheken externer Anbieter nicht zur Verfügung stehen. Daher bietet PfeLib ein weiterführendes Konzept, das über die reine Archivierung von High-Performance-Berechnungsmodellen zur Bildverarbeitung noch hinausgeht.
Wir bieten Software-Lizenzen für PfeLib ebenso an wie individuelle Entwicklung und Dienstleistungen rund um dieses Programm.
Zielplattform für PfeLib
- TI C6000 DSP Plattformen (C64x, C67x, DM64x)
- Generische Plattform für Tests und Validierung
- X86 Plattform (Übertrag auf Intel Performance-Stammfunktionen)
Merkmale
- Vordefiniertes und bewährtes Framework für Cross- und Multiplattform-Entwicklungen
- PfeRtdxHost: Entwicklungstool, das die Verifizierung und Performance-Optimierung direkt über die Embedded-Plattform ermöglicht.
- ROS-DMA: Systematischer Ansatz zur Bewältigung beschränkter Speicherressourcen bei eingebetteten Systemen.
- Bietet eine Auswahl hoch optimierter Algorithmen e.g. Linearfilter, arithmetische Modelle, Warping, ...
PfeRtdxHost:Übertragung von Bilddaten zwischen Entwicklungshost und DSP-Zielplattform.

Die obenstehenden Abbildungen zeigen Bilder, die über RTDX Channel an die DSP-Zielplattform übermittelt werden. Das Bild links enthält Kamerarohdaten, die als Input für eine Bayer-Demosaicing-Funktion dienen, die auf einem C6416 DSP läuft. Das mittlere Bild zeigt die Berechnungsergebnisse der DSP-Plattform. Das Bild rechts zeigt die Abweichungen des Ergebnisbildes von einem Referenzbild im differentiellen Visualisierungsmodus. Dieser Screenshot demonstriert auch die Region-of-Interest (ROI)-Fähigkeiten von PfeDxHost und PfeLib.
DMA-Doppelpufferung mit Resource Optimized Slicing:

Leistungsdiagramm einer Bayer-Demosaicing-Funktion auf einem C6416 DSP: Die benötigten CPU-Zyklen pro Pixel werden für Bilder verschiedener Größe dargestellt (je weniger Zyklen desto rascher die Ausführung). Jede Darstellung zeigt eine Speicherkonfiguration.
IRAM:Alle Bilddaten befinden sich auf dem On-Chip-Speicher. Optimale Performance, aber in der Praxis häufig nicht machbar.
L2CACHE:Bilddaten in externem SDRAM, Verwendung eines 64 kB L2-Cache. Performance wesentlich eingeschränkt.
ROS-DMA:Bilddaten in externem SDRAM, jedoch wird anstelle des L2-Cache die ROS-DMA Doppelpufferung von PfeLib eingesetzt.
Systematische Performance-Optimierung über die DSP-Plattform:

Auf einer TI C6416 DSP-Plattform können beim Start mit einem gewöhnlichen ANSI-C Code enorme Performance-Steigerungen erzielt werden. Das Diagramm zeigt die Auswirkungen verschiedener Performance-Optimierungen eines PfeLib-Berechnungsmodells. PfeLib bietet ein effektives Framework, um diese Optimierungen zu unterstützen. Überwachung der Performance und visuelle Verifizierung im Vergleich zum nicht optimierten Funktionsverhaltenscode, voller Support für die Entwicklung auf DSP-Simulatoren. PfeLib unterstützt die Erstellung, Entwicklung, Optimierung und das Testen von benutzerspezifischen Funktionen innerhalb derselben Umgebung, die auch für die integrierten PfeLib- Funktionen verwendet wird.
| Fakten |
| Allgemein |
| |
| PfeLib Framework |
| |
| PfeRtdxHost |
| |
| ROS-DMA |
|



wilfried.kubinger@ait.ac.at