Der Kern dieser Systeme ist ein leistungsfähiges FPGA.
Die Videoverarbeitung in Echtzeit beinhaltet eine Reihe von Herausforderungen. Die heutigen hoch auflösenden Videoformate mit darüber hinaus hohen Aktualisierungsfrequenzen müssen mit minimaler Verzögerung empfangen, zwischengespeichert und weitergeleitet werden. Der Einsatz mehrerer Aufnahmequellen für Videos und der Verarbeitungsgrad stellen hohe Anforderungen an die Bandbreite, insbesondere wenn die Algorithmen für die Videoverarbeitung von der Art sind, bei denen keine Kompressionstechniken verwendet werden können.
Das FPGA ist der Kern des Systems Die heutigen FPGAs sind für diese Applikationen die richtige Entscheidung. Früher waren dedizierte DSP-Chips eine Alternative, doch selbst mit hohen internen Clock-Frequenzen, hoher I/O-Kapazität und modernsten Grafikbeschleunigern sind sie zu langsam, weil sie auf eine bestimmte Anzahl von Operationen pro Clock-Freqenz beschränkt sind. Dedizierte Grafikprozessoren haben eine höhere Leistung und sind stärker spezialisiert, leiden jedoch an derselben Einschränkung.
Bei den FPGAs von heute gibt es diese Einschränkungen nicht. Die Kapazität steigt stark an, alle neueren High-Speed-Interfaces, auch bezüglich Speicherbausteinen, werden vollständig unterstützt und die Anzahl an parallelen Operationen ist lediglich durch die Gesamtkapazität des FPGAs begrenzt. Selbst mit niedrigeren internen Clock-Frequenzen im Vergleich zu CPUs wird dies durch den hohen erreichbaren Parallelisierungsgrad kompensiert. Toppmoderne FPGAs mit dedizierten DSP-Blocks eignen sich für diese Art von Projekten und dienen als Kern der Applikation.
Implementierung erfordert Spitzenkompetenz Die allermeisten derzeitigen DSP-Algorithmen für Videoverarbeitung bestehen aus der Basisoperation Multiply-and-Accumulate, die der gewünschten Auflösung entsprechend in beiden Dimensionen ausgeführt werden. Die DSP-Blöcke implementieren die MAC-Einheiten direkt mit den gewünschten Wortbreiten und hoher Clock-Frequenz.
Für Applikationen mit gleich bleibender Videoverarbeitung werden die separaten Verarbeitungseinheiten in einer Streaming-Architektur zusammengeschlossen, in der die Verarbeitungszeit für alle Einheiten in der Verarbeitungskette gleich ist und die Zwischenresultate intern im FPGA zwischengespeichert werden können.
Für Applikationen mit variabler Videoverarbeitung werden die Verarbeitungseinheiten als autonome Geräte zusammengeschlossen, die sich eine bestehende interne und externe Bandbreite teilen. FPGAs haben relativ geringe interne Speicherkapazitäten, so dass breite parallele Speicherschnittstellen von den Videoverarbeitungseinheiten angesteuert werden müssen. Indem man einen Prozessorkern für die übergeordnete Applikation hinzufügt, erhält man ein komplettes Mikrosystem.
Einzigartige Erfahrung und fundiertes Wissen Data Respons war in den letzten Jahren an mehreren komplexen Entwicklungsprojekten für Echtzeit-Videoverarbeitung für sehr unterschiedliche Kundenapplikationen beteiligt. Der Kern dieser Systeme besteht immer aus einem starken FPGA für die benötigten Rechenoperationen, einem internen oder externen Prozessor zur Steuerung, und aus der erforderlichen Menge paralleler Speicherschnittstellen und Video I/O-Chips.
Beispiele für implementierte Algorithmen sind: Skalierungsfilter mit auswechselbaren Filterkernen, die elektronische Bildstabilisierung basierend auf Fourier-Transformationen, Bildoptimierung basierend auf Luminanzhistogrammen oder Wavelet-Transformationen und das Mischen von mehreren Kameraquellen.
Unsere Entwicklungsphilosophie bei diesen Projekten beginnt immer mit sorgfältigen Bandbreitenberechnungen um die tatsächlichen Anforderungen an die Verarbeitung zu klären, gefolgt von der Vorstudie, in der in Frage kommende Implementierungen bewertet und verfügbare FPGA-Technologien ohne technologische Präferenzen untersucht werden. Die Implementierung wird immer gegen SW-Modelle verifiziert und Echtzeit-Systemtests mit realen Videoquellen und Applikations-SW unterzogen. Wir streben bei jeglichem Code nach Portierbarkeit, um die Applikation, wenn neue Anforderungen hinzukommen, einfacher anpassen zu können, oder für das Upgrade zur nächsten FPGA-Generation, wenn dies erforderlich wird.
Unsere einzigartige Erfahrung in der HW-, SW- und FPGA-Entwicklung versetzt uns in die Lage für unsere Kunden die beste integrierte Embedded Systemlösung zu wählen und macht uns zum optimalen Partner für Ihre modernen Videoverarbeitungsapplikationen.