Anwendungen in den Bereichen intelligente Videoüberwachungssysteme (IVS), Überwachungs- und Erkennungsgeräte (ISR) oder automobile Fahrerassistenzsysteme (ADAS) sind durch hohen Datendurchsatz gekennzeichnet, wo Video-Eingänge mit einigen Megapixeln mit Video-Frame-Rate oder auch noch schneller analysiert werden müssen, um präzise und zuverlässige Ergebnisse zu liefern. Außerdem können die Verarbeitungsanforderungen abhängig von der spezifischen Anwendung stark variieren, so dass neue Silizium-Architekturen und entsprechende Algorithmen erforderlich sind. Hier bieten Strom-sparende FPGAs mit skalierbaren und portierbaren IP-Funktionen sowie flexibler und hoher Verarbeitungsleistung Vorteile gegenüber DSP-Lösungen.
Die wachsende Nachfrage bei Anwendungen mit eng gekoppelter Erfassung und Auswertung wie in statischen Plattformen (zum Beispiel IP-Kameras in Video-Überwachungs-Netzwerken) oder auch in mobilen Geräten (beispielsweise unbemannten Flugkörpern) erfordert eine effiziente Video-Analyse (Bild 1). Diese ist oft eine Kombination aus einer Bildsensor-Pipeline (Front-End) und entsprechender Bild-Kompression (Back-End). Angesichts des ständig steigenden Datendurchsatzes stehen Entwickler großen Design-Herausforderungen gegenüber, um die bestmögliche Single-Chip-Lösung auf bestehenden Hardware-Plattformen zu realisieren, bei minimiertem Platzbedarf, Gewicht, Leistungsaufnahme und Kosten einerseits und bester Video-Qualität andererseits.
IVS-, ISR- und ADAS-Systeme
Verschiedene Applikations-Szenarien stellen ganz unterschiedliche Anforderungen an die Videoanalyse-Architektur und -Algorithmen. Es lassen sich drei Grundtypen definieren: IVS (Intelligent Video Surveillance ): Das typische Format ist hier 1080p/60 fps (120 Megapixel/s). Eine statische Video-Analyse-Plattform bei der Verkehrsüberwachung weist zudem mindestens zehn komplexe Erfassungs-Regeln (beispielsweise bei der Missachtung von Rotlicht, Erfassung des Kennzeichens, und so weiter) auf. Dafür ist die Verfolgung von mehreren Objekten, Merkmal-, Signatur- und Hintergrundanalyse erforderlich. Die Latenzzeit liegt bei typisch zwei bis vier Frames.
ISR (Intelligence, Surveillance and Reconnaissance). Hierbei handelt es sich um mobile Videoanalyse-Plattformen mit typisch 1024 x 1024, 1000 fps (1 Gigapixel/s). Typisch sind mindestens fünf verschiedene Erfassungskriterien (zum Beispiel die Erfassung und Verfolgung von Personen in unterschiedlichen Umgebungen oder die Identifizierung von spezifischen Objekten beim Überflug in geringer Höhe). Für diese Applikation ist ebenfalls die Verfolgung von mehreren Objekten, Merkmal-, Signatur- und Hintergrundanalyse erforderlich, allerdings mit Latenzzeiten von maximal 1 Frame.
ADAS (Advanced Automotive Driver Assistance): Hier sind die typischen Kennzahlen 1280 x 720 / 30 fps x 4 Kamera-Streams (110 Megapixel/s). Diese mobilen Videoanalyse-Plattformen (Bild 2) müssen ebenfalls mindestens fünf verschiedene Erfassungskriterien können (zum Beispiel die Erfassung von Fußgängern, Fahrzeugen, Fahrrädern, Verkehrszeichen…). Das bedingt die gleichzeitige Verfolgung mehrerer Objekte, Merkmal-, Signatur-, Hintergrund- und Bewegungs-Analyse, mit Latenzzeiten von 1 bis 2 Frames.
Reine Software-Lösungen auf DSP-Basis haben Einschränkungen
Es ist sehr schwierig, will man alle drei genannten Beispiele mit einer feststehenden Hardware-Plattform zufriedenstellend lösen. Noch mehr, wenn der Markt eine kostengünstige, flexible Single-Chip-Lösung für verschiedene Umgebungen fordert. Das IVS-Beispiel weist einen moderaten Durchsatz (120 MPixel/s) bei Video-Frame-Raten auf. Andererseits ist eine komplexe und variable Analyse mit einer relativ hohen Anzahl verschiedener Erkennungsregeln (>10) erforderlich, die parallel mit einer moderaten Latenzzeit (30 bis 120 ms) verarbeitet werden müssen. Das legt eine Bereitstellung der entsprechenden Hardware-Ressourcen mit Fokus auf die Verarbeitungsaspekte nahe. Das ISR-Beispiel zeigt dagegen einen sehr hohen Durchsatz (1 GPixel/s) und nur moderate Analyseaufgaben. Allerdings ist eine Bewegungsanalyse mit sehr geringer Latenzzeit (1 ms) erforderlich. Diese Charakteristika sprechen für eine sorgfältige Zuordnung der Ressourcen für den Durchsatz und die Verarbeitungsleistung. Das ADAS-Beispiel schließlich ist durch einen moderaten Durchsatz (110 MPixel/s) gekennzeichnet. Allerdings erhöhen die verschiedenen Kameraeingänge, die parallele Erfassung von mehreren Ereignissen und der Abgleich mit der unterschiedlichen Autogeschwindigkeit die Komplexität.
Darüber hinaus lassen sich schnell mindestens ein Dutzend andere Applikationen benennen, die irgendwo zwischen diesen drei genannten Basis-Beispielen liegen. Das legt nahe, dass das komplette Spektrum an Videoanalyse-Problemstellungen nicht mit einer reinen Software-Lösung auf herkömmlichen DSP/ASIC-Plattformen ohne rekonfigurierbare Hardware adressiert werden kann. Entweder muss man Abstriche beim Durchsatz oder bei der Verarbeitungs-Genauigkeit machen.
Vor diesem Hintergrund wird klar, dass für die anspruchsvolle Videoanalyse eine innovative Architektur/Algorithmus-Lösung erforderlich ist. Dazu gehören mehrere Verarbeitungs-Layer, eine durchdachte Kommunikations-Architektur mit Bottom-up- und Bottom-down-Verarbeitung und genau ausgewählte, skalierbare Hardware-Beschleuniger (Coprozessoren), die für die jeweilige Merkmal- und Signatur-Erfassung rekonfiguriert werden können. All diese Anforderungen lassen sich nur mit komplexen, rekonfigurierbaren FPGAs umsetzen. Damit sind flexible Hardware-Software-Codesigns möglich, während gleichzeitig Design-Komplexität, -Kosten und -Leistungsaufnahme gesenkt werden können.
Innovative Hardware-Architektur für effiziente Verarbeitung
Serielle Hardware/Software-Architekturen sind für anspruchsvolle Videoanalysen nicht geeignet, da der Ressourcen-Bedarf mit zunehmendem Durchsatz beziehungsweise zunehmender Verarbeitungsleistung exponenziell steigt. Optimierte Hardware-Software-Pipeline-Architekturen können serielle Architekturen effizient ersetzen, wenn die Videoanalyse relativ einfach ist und in ein Verarbeitungs-Framework implementiert werden kann, das nur eine lokale Verarbeitung erfordert. Das heißt, wenn das zu erfassende Objekt ein gut definiertes lokales Raster hat und sich gut vom Hintergrund abhebt. Anspruchsvollere Videoanalyse-Aufgaben können nur durch verschiedene Verarbeitungs-Layer adressiert werden. Dies beinhaltet eine Kombination aus lokaler und globaler Verarbeitung sowie Processing-Module, die in einer Kommunikations-Architektur mit verschiedenen Feedback-Mechanismen organisiert sind. Dieser Ansatz erfordert eine flexible Ressourcen-Zuordnung und dynamische Rekonfigurierung. Die Steuerung und die Verarbeitungsqualität (meist angegeben in PoD, Type 1- oder Type 2-Fehlern) müssen mit der Ressourcen-Nutzung und der Layer/Modul-Komplexität abgestimmt sein. Um eine Lösung für unterschiedliche System-Konfigurationen zur Verfügung zu stellen, muss die verfügbare Gesamtbandbreite für einen einzigen Video-Kanal auch für mehrere Kanäle mit geringerer Bandbreite rekonfigurierbar sein.
Vorteile einer FPGA-Lösung
Nur FPGA-Plattformen bieten die Design-Freiheit und die Flexibilität für das beschriebene Architektur/Algorithmus-Codesign. Ein modulares, rekonfigurierbares Design mit Layern sollte für die extremen Durchsatz-, Latenz- und Verarbeitungs-Anforderungen ausgelegt sein und dabei die verfügbaren Resssourcen optimal nutzen.
Eine flexible Rekonfigurierung ermöglicht die Abdeckung eines weiten Applikationsspektrums. So können relativ einfach neue Funktionalitäten hinzugefügt oder Adaptierungen für neue Standards vorgenommen werden. Beispielsweise kann einkanalige 1-2-5 MPix HD-Verarbeitung und SD-Video-Verarbeitung mit vier, acht oder 16 Kanälen auf einem Chip realisiert werden. Mittels teilweiser oder vollständiger Hardware-Rekonfigurierung können mehrere Coprozessoren in sich verändernden Applikations-Szenarios eingesetzt werden, für eine verbesserte Erfassung. Mit der Update-Möglichkeit der FPGA-Firmware – entweder lokal im Feld oder per Fernwartung – kann die jeweilige Konfiguration auch nach erfolgter Implementierung optimiert werden.
Mit FPGAs kann die jeweilige Lösung auf Bausteine mit geringerer Komplexität skaliert werden. Werden die jeweiligen Qualitäts-, Durchsatz- und Latenz-Anforderungen erfüllt, dann kann der kleinste und damit kostengünstigste Baustein für die Volumenfertigung gewählt werden. FPGA-Bausteine können bei gleichem Footprint skaliert werden, so dass der Kunde kein neues Board-Design benötigt, sollte die Komplexität erhöht oder reduziert werden.
Mit dynamischer Rekonfigurierung können einfach eine höhere Auflösung und höhere Frame-Raten realisiert werden. Eine höhere Auflösung ermöglicht eine bessere räumliche Empfindlichkeit und Genauigkeit, während höhere Frame-Raten die Erfassung von schnelleren relativen Bewegungen (zwischen Plattform und Objekt) erlauben. Innerhalb bestimmter Grenzen kann die räumliche und zeitliche Genauigkeit gegeneinander abgewogen werden, um die bestmöglichste Erfassungsgenauigkeit für die jeweiligen spezifischen Ereignisse zu erhalten.
Die neueste FPGA-Generation wird in 28-nm-Technologie gefertigt. Vergleichsweise basieren DSPs, ASICs und ASSPs noch auf 45-nm-Prozessen. Damit profitieren die FPGAs von einer Reduzierung der statischen und dynamischen Leistungsaufnahme. So lässt sich beispielsweise eine 1080p/60fps Videoanalyse (Bild 3) in einer IP-Kamera mit weniger als 1,5 W Verlustleistung realisieren. Andererseits sind auch sehr hohe Durchsatzraten (zum Beispiel 5 MPixel mit weniger als 100 fps) möglich, wie sie mit derzeitigen DSP/ASIC/ASSP-Produkten nicht erreicht werden können.
Cyclone V-FPGAs in 28-nm-Technologie
Altera hat beispielsweise auf Basis der Cyclone IV-FPGAs eine Videoanalyse-Lösung präsentiert, die die erforderliche Rechenleistung für eine HD 1080p/30fps-Echzeit-Videoverarbeitung liefern kann. Mit dieser hohen Performance kann der Nutzer außerdem Dutzende von anwenderdefinierbaren Regeln verfolgen. So ist er in der Lage, Regeln zu definieren, Alarmmeldungen zu konfigurieren oder die Regeln per Fernwartung für bestimmte Ereignisse zu ändern, wenn zum Beispiel eine Person unberechtigt einen Raum betritt. Mit dieser Videoanalyse kann der Überwachungsprozess automatisiert werden. Mittlerweile stehen mit der Cyclone V-Familie (Bild 4) 28-nm-FPGAs zur Verfügung, die eine noch leistungsfähigere Alternative für die Implementierung anspruchsvoller Videoanalyse darstellen. Dafür nutzen sie den 28LP (Low Power)-Prozess von TSMC mit einer um bis zu 40 Prozent geringeren Gesamt-Leistungsaufnahme und bis zu 30 Prozent geringere statische Leistungsaufnahme als die Vorgänger-Generation. Die Cyclone V-FPGAs bieten zudem Strom-sparende serielle Transceiver mit nur 88 mW je Kanal bei 5 Gbit/s und liefern eine Performance von mehr als 4000 MIPS bei unter 1,8 W. Darüber hinaus sind vielfältige Hard-IP-Blöcke integriert, wie Speicher-Controller für 400-MHz-DDR3 oder Hard-IP für PCI Express Gen2. Die Familie besteht aus sechs Varianten, je nach Design-Anforderungen: E für reine Logik, GX mit 3,125-Gbit/s-Transceivern, GT mit 5-Gbit/s-Transceivern sowie den entsprechenden Varianten SE, SX und ST mit integriertem Dual-Core-ARM-HPS (Hard- Processor-System). Das komplette 28-nm-FPGA-Portfolio von Altera bietet klar differenzierte Lösungen mit den Arria V-, Cyclone V- und Stratix V-FPGAs sowie den Hard Copy V-ASICs.
Für anspruchsvolle Videoanalysen
Für anspruchsvolle Videoanalysen ist eine innovative Architektur-/Algorithmus-Lösung erforderlich. Nur FPGA-Plattformen bieten die Design-Freiheit und die Flexibilität, die dafür erforderlich sind. Die Videoanalyse-Lösung von Altera auf Basis der Cyclone IV-FPGAs liefert die benötigte Rechenleistung für eine HD 1080p/30fps-Echzeit-Videoverarbeitung. Mittlerweile stehen mit der Cyclone V-Familie 28-nm-FPGAs zur Verfügung, und damit eine noch leistungsfähigere Alternative für die Implementierung anspruchsvoller Videoanalyse.
Csaba Rekeczky
Gusztav Bartfai
Bob Siller
(ah)