(Quelle: kentoh/Shutterstock.com)
Die Videoverarbeitung ist eine Schlüsseltechnologie der modernen Welt. Mit ihrer Hilfe können elektronische Systeme die in Videos enthaltenen Daten erfassen, verarbeiten und extrahieren. Aus diesem Grund ist die Videoverarbeitung eine Basistechnologie für zahlreiche Anwendungen, vom intelligenten Verkehrsmanagement in Städten bis hin zum Fernsehen.
All diese Anwendungen erfordern die Fähigkeit, hochauflösende Bilder zu verarbeiten – beispielsweise 4K- oder 8K-Auflösung mit einer Bildrate von 60 Bildern pro Sekunde oder mehr. Dies entspricht der Verarbeitung von 500 Millionen Pixeln pro Sekunde bei 4K-Auflösung oder 1990 Millionen Pixeln pro Sekunde bei 8K-Auflösung. Dies sind anspruchsvolle Leistungswerte für eine einfache Videoerfassungs- und -anzeigepipeline, die lediglich das empfangene Video anzeigt. Wenn zusätzliche Verarbeitungsschritte erforderlich sind, beispielsweise zur Erkennung und Klassifizierung eines Objekts oder zur Transkodierung, steigen die Anforderungen an die Verarbeitungsleistung, um die Bildrate zu erreichen, erheblich. Dies gilt insbesondere, wenn die Videoanalyse sehr zeitnah erfolgen muss, wie beispielsweise bei der Verkehrsüberwachung in intelligenten Städten, wo fortschrittliche Algorithmen den Verkehrsfluss mithilfe von künstlicher Intelligenz und maschinellem Lernen vorhersagen und glätten. Bei der Ausführung dieser Algorithmen kann es leicht zu anwendungsbedingten Bottlenecks kommen, die sich erheblich auf die Leistung auswirken, insbesondere wenn für die Verarbeitung mehrere Operationen an einem Pixel oder Pixelarrays erforderlich sind.
Bei der Entwicklung komplexer Videoverarbeitungssysteme geht es nicht nur um die reine Verarbeitungsleistung, sondern auch um eine hohe Anzahl von I/Os für die Anbindung an eine Vielzahl externer Sensoren, Kameras und Aktoren. Für ein intelligentes städtisches Verkehrsmanagementsystem kann diese Anbindung bedeuten, dass mehrere Videosensoren unterstützt werden, während gleichzeitig eine leistungsstarke Netzwerkanbindung und eine lokale Speicherung/Aufzeichnung kritischer Ereignisse mit JPEG XS bereitgestellt wird. Ein weiteres Beispiel ist ein medizinisch-chirurgisches Robotersystem, das auf Videoverarbeitung basiert. Dieses System muss Schnittstellen zu Sensoren bereitstellen, gleichzeitig die Beleuchtung steuern und eine Reihe von Motoren und Aktuatoren hochpräzise steuern. Für beide Anwendungsbereiche können die Anforderungen an solche Schnittstellen sehr hoch sein. In der Industrie besteht eine hohe Nachfrage nach Geräten, die mehrere Hochgeschwindigkeitssensoren unterstützen und die erforderlichen Schnittstellenfunktionen für die Kommunikation mit einer Vielzahl von Netzwerk- und Industrieschnittstellen bieten.
FPGAs in der Videoverarbeitung
Eine der führenden Technologien, die von Systementwicklern zur Bewältigung dieser Leistungs- und Schnittstellenherausforderungen eingesetzt wird, sind Field Programmable Gate Arrays (FPGAs). FPGAs bieten dem Entwickler Logik-Ressourcen, die zur Implementierung hochparalleler Pipeline-Verarbeitungsstrukturen eingesetzt werden können. Entsprechend der Flexibilität der internen Struktur sind auch die E/A-Strukturen von FPGAs sehr flexibel, so dass sowohl High-Speed- als auch Low-Speed-Schnittstellen eingebunden werden können. Durch diese Flexibilität können FPGAs mehrere Hochleistungs-Videosensoren und Netzwerkschnittstellen unterstützen und gleichzeitig Industrie-, ältere und kundenspezifische Schnittstellen mit geringer Bandbreite unterstützen, die zur Steuerung von Aktoren, Sensoren, Motoren und anderen externen Geräten verwendet werden.
Durch die Implementierung von Videoverarbeitungsalgorithmen in eine Logik lassen sich stark parallelisierte Implementierungen erstellen. Diese parallelen Implementierungen erhöhen den Determinismus und reduzieren die Latenzen, da die Bottlenecks im Verarbeitungssystem beseitigt werden können.
Auswahl des FPGAs
Natürlich hängt die Wahl des FPGA von der jeweiligen Anwendung ab und muss die effektivste Lösung gewährleisten. Entwickler wählen Bauelemente auf der Grundlage von Logikkapazität und -leistung, Schnittstellenfähigkeiten und speziellen Hardmakros aus. So werden beispielsweise Bauelemente aus der Intel® Arria® 10-Serie häufig für Anwendungen in der Medizintechnik und der professionellen A/V-Videoverarbeitung ausgewählt, während Bauelemente aus der Stratix® 10-Serie gut für Broadcast-Lösungen geeignet sind. Neben der Hochleistungslogik bietet die Arria® 10-Serie den Entwicklern mit den GT- und GX-Modellen eine Reihe von Verbindungslösungen mit hoher Bandbreite, während die SX-Modelle mit Arm® A9-Prozessoren ausgestattet sind, mit denen sich sequenzielle Verarbeitungen wie Mensch-Maschine-Schnittstellen (HMI), grafische Benutzeroberflächen, Kommunikationsprotokolle usw. umsetzen lassen.
Die Intel® Stratix® 10-Serien bieten einen deutlichen Leistungssprung: eingebettete Arm® A53-Cores in den SX-Modellen, Hochleistungs-Gleitkomma- und Datendurchsatzlösungen in den GX-Modellen und Unterstützung für KI/ML in den NX-Modellen. Dank dieser großen Auswahl an Bauelementen kann der Entwickler das am besten geeignete FPGA für die jeweilige Anwendung auswählen.
Unabhängig vom gewählten Bauelement benötigen Entwickler Zugang zu umfangreicher produktionsreifer IP und den damit verbundenen Softwarelösungen, um die immer anspruchsvolleren Projektzeitpläne einhalten zu können.
Mit der Intel® Quartus® Prime Design Software können Entwickler auf Intels umfassende Video- und Bildverarbeitungssuite zurückgreifen. Diese Suite enthält mehr als zwanzig hochoptimierte, produktionsfertige IP-Blöcke, die die notwendigen Kernfunktionen zur Implementierung von Video- und Bildverarbeitungspipelines bieten. Um eine hochleistungsfähige Integration und Verbindung zwischen den Kernen der VIP-Suite zu ermöglichen, werden die IP-Blöcke über Intels Avalon® Streaming-Schnittstelle verbunden. Dadurch wird ein Mix-and-Match-Ansatz für die Verwendung der Video-IP-Blöcke ermöglicht, wobei die Blöcke je nach Bedarf in die Videoverarbeitungspipeline eingefügt werden können. Die Video-IP bietet dem Design-Ingenieur eine Reihe von Möglichkeiten, wie beispielsweise:
Die Video- und Bildverarbeitungssuite ist zwar umfangreich, aber es können auch andere spezielle IP-Funktionen erforderlich sein. In diesem Fall kann der Entwickler ein breites Spektrum an Partner-Ökosystem-IP nutzen. Zu diesen IP-Partnern zählen IntoPIX, die eine Reihe von Komprimierungs-IP einschließlich JPEG-XS anbieten, Rambus (früher Northwest Logic), die MIPI-Schnittstellenlösungen bereitstellen, und Macnica, die eine Reihe von Video-over-IP-Lösungen anbieten.
Mit diesem breiten Angebot an IP von Intel® und seinen Partnern können Entwickler schnell und einfach eine kundenspezifische Videoverarbeitungsanwendung entwickeln. Für benutzerdefinierte Algorithmus-Implementierungen kann der Entwickler den HLS-Compiler von Intel nutzen. Mit Hilfe des HLS-Compilers können Entwickler den Algorithmus in einer höheren Sprache definieren, was die Design- und Verifizierungszeit im Vergleich zu einer Register Transfer Level Implementation weiter reduziert.
Fazit
Für die Entwicklung moderner Videoverarbeitungsanwendungen, die 4K- und 8K-Auflösungen unterstützen, sind sowohl umfangreiche Verarbeitungs- als auch Schnittstellenfunktionen erforderlich. Mit der breiten Palette an Videoverarbeitungs- und Konnektivitäts-IP von Intel und seinen Partnern können Entwickler die gewünschte Funktionalität auswählen, wobei sich die leistungsstarke FPGA-Struktur ideal für die Verarbeitung hochauflösender Videoströme eignet. In Verbindung mit einem robusten Software-Design-Flow ermöglichen diese Eigenschaften eine schnelle Entwicklung von intelligenten Videoanwendungen der nächsten Generation.
Mouser Electronics ist ein hundertprozentiges Tochterunternehmen von Berkshire Hathaway Inc. und gehört weltweit zu den am schnellsten wachsenden Katalog- und Online-Distributoren für Halbleiter und elektronische Komponenten. Ziel von Mouser ist es, Entwickler und Einkäufer mit den neuesten Produkten und Spitzentechnologien zu versorgen, und zwar dabei stets einen erstklassigen Service und weltweiten Support zu bieten. Mouser richtet seinen Fokus auf Entwickler und Einkäufer, die stets die modernsten Produkte benötigen, und definiert damit den kundenorientierten Vertrieb neu.