Video-Datenströme verarbeiten und leiten Embedded Video-Signalverarbeitung – Teil 1

Dieser Beitrag betrachtet Video-Datenflüsse aus der Sicht eines Prozessors mit Schwerpunkt auf Strukturen und Leistungsmerkmalen zur effizienten Datenmanipulation und Datentransport. In Teil 2 des Artikels werden dann die wesentlichen Funktionsblöcke einer Embedded-Video-Applikation betrachtet.

Video-Datenströme verarbeiten und leiten

Dieser Beitrag betrachtet Video-Datenflüsse aus der Sicht eines Prozessors mit Schwerpunkt auf Strukturen und Leistungsmerkmalen zur effizienten Datenmanipulation und Datentransport. In Teil 2 des Artikels werden dann die wesentlichen Funktionsblöcke einer Embedded-Video-Applikation betrachtet.

Für den Umgang mit Video-Datenströmen benötigen Prozessoren eine geeignete Schnittstelle, über die sich Daten konstant und mit hoher Geschwindigkeit in beide Richtungen übertragen lassen. Einige Prozessoren nutzen dazu ein FPGA und/ oder FIFO, das an die externe Speicherschnittstelle angeschlossen ist. Im Normalfall „verhandelt“ dieses Bauteil zwischen dem konstanten, relativ langsamen Video-Datenstrom – ca. 27 Mbyte/s für NTSC-Video – in und aus dem Prozessor und dem sporadischen Burst-Verhalten des externen Memory-Controllers – ca. 133 MWorte/ s oder 266 Mbyte/s.

Dies bringt allerdings Probleme mit sich. So sind zum Beispiel FPGAs und FIFOs teuer und kosten oft soviel wie der eigentliche Video-Prozessor. Hinzu kommt, dass bei der Nutzung der externen Speicherschnittstelle für Video-Übertragungen ein Teil der Bandbreite benötigt wird, der dann für andere Aufgaben im System nicht mehr zur Verfügung steht. In diesem Fall werden Video-Pufferdaten zwischen dem Prozessorkern und dem externen Speicher hin und her bewegt. Deshalb ist für Systeme, die Multimedia-Informationen verarbeiten, ein spezielles Video-Interface empfehlenswert. Bei Blackfin-Prozessoren ist dies zum Beispiel das Parallel Peripheral Interface (PPI). Das PPI ist eine parallele Multifunktions-Schnittstelle, die für 8 bit bis 16 bit konfiguriert werden kann. Unterstützt wird ein bidirektionaler Datenfluss, wobei das PPI drei Synchronisationsleitungen und eine Taktleitung zum Anschluss eines externen Taktsignals enthält. Das PPI kann ohne Verbindungslogik ITU-R-BT.656-Daten decodieren und lässt sich auch an ITU-R-BT.601-Video-Quellen und Displays sowie an TFT-LCD-Panels anschließen. Es kann als Verbindung für High-Speed-A/D- und -D/A-Umsetzer verwendet werden. Außerdem kann es auch ein Host-Interface für einen externen Prozessor emulieren.

Dieser Befehl berechnet beide Pixel-Durchschnitte in einem einzigen Zyklus. Dabei wird angenommen, dass die x1(N,S,E,W)-Information in den Registern R1 und R0 gespeichert ist und die x2(N,S,E,W)-Daten aus R3 und R2 stammen.