News & PublikationenForschung & EntwicklungTechnologien & DienstleistungenPartner & ReferenzenOrganisation & JobsDE/EN


Performance Primitives for Embedded Vision

DSP-High Performance-Bibliothek und Entwicklungs-Framework für Embedded Bildverarbeitung

Software rondo Prozess

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.

PfeRtdxHost

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:

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:

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 
  • Library Framework mit definierter Codestruktur und unterstützenden Berechnungsmodellen
  • grundlegende Performance-optimierte Modelle bereits vorhanden
  • auf kundenspezifische Bedürfnisse erweiterbar
PfeLib Framework 
  • gut definierte, einheitliche API
  • Tests, Verifizierung und Optimierung mit PfeRtdxHost
  • verschiedene Plattform-spezifische Optimierungen gleichzeitig möglich
  • Region-of-Interest-(ROI) Fähigkeit
  • ROS-DMA Doppelpufferung
  • Unterstützung von Performance Timing
PfeRtdxHost 
  • Win32 GUI Applikation
  • Übertragung der Bilddaten über TI RTDX Channel auf DSP
  • Empfang und Visualisierung der Ergebnisbilder für funktionelle Verifizierung
  • Laden / Speichern verschiedener Bilddatenformate wie bmp, jpg, png, tiff…
  • Unterstützung von 8, 16 und 32(!) Bit-Graustufen- und 24-Bit-RGB-Bildern
  • differentieller Visualisierungsmodus zum Vergleich von Ergebnis- mit Referenzbildern
ROS-DMA 
  • ROS-DMA – Implementierung von DMA Doppelpufferung mit Resource Optimized Slicing für TI C6x DSP-Plattformen
  • keine Verwendung des L2-Cache
  • Verbesserung des Problems beschränkten On-Chip-Speichers auf DSPs
  • bis zu sechsfach schnellere Verarbeitung im Vergleich zu einem L2-Cache