Videotelefon auf einem Chip

Videotelefon auf einem DaVinci-Chip

Das DaVinci-SoC (System-on-a-Chip) integriert zwei Prozessorkerne sowie Speicher und Peripherie-Komponenten (Bild 2). Zu DaVinci gehört aber mehr als nur Hardware, Texas Instruments bietet auch optimierte Software und Unterstützung. Mit der Codec Engine (CE) steht ein Software-Framework zur Verfügung, mit dem Entwickler die Möglichkeiten des Prozessors voll ausreizen können. In ihrer einfachsten Form abstrahiert die CE die Komplexität des DSP für den ARM-Programmierer, der sich damit auf die ARM-seitige Linux-Applikationsentwicklung konzentrieren und dabei die Leistung des DSP nutzen kann. In ihrer komplexeren Form ist die CE ein Container für mehrere Software-Komponenten wie etwa DMA-Management, Speicherverwaltung und Inter-Prozessor-Kommunikation.

Der mit 300 MHz getaktete ARM9-Prozessor im SoC DM6446 eignet sich als Standard-Prozessor gut zur Übernahme von Aufgaben wie Systemwartung, Übertragungsprotokolle, GUI und sogar einfache Audiocodecs wie z.B. G.711. Auf dem ARM9-Prozessor läuft das Betriebssystem Monta Vista Linux oder WinCE 5.0 oder 6.0, das dem Benutzer eine Fülle von Open-Source-Anwendungen eröffnet, beispielsweise Netzwerkstacks (TCP IP), Multimedia-Anwendungen (mplayer, ffmpeg), Fenstersysteme (QTopia, X windows) und Browser (Java vss HTML). Alle Peripherie-Komponenten werden durch den ARM-Prozessor über Open-Source-Linux-Treiber angesprochen. Etablierte Linux-Treiber wie V4L2 (Video-Capture) oder FBDEV (Video-Darstellung) erlauben dem Benutzer direkten Zugriff auf das Video Processing Subsystem (VPSS). Das integrierte VPSS vereinfacht das Erfassen und Anzeigen von Video-Daten und entlastet gleichzeitig den DSP. Es bietet auch Unterstützung für gängige Verarbeitungsfunktionen eines Videotelefons, vom Skalieren über die Farbraumkonvertierung und statistische Berechnungen bis hin zum On-Screen-Display (OSD) mit Alpha-Blending. Das VPSS arbeitet parallel zum DSP und kann gleichzeitig zwei Videofenster (1 Vollbild, 1 Bild-im-Bild) und zwei zusätzliche Grafikfenster unterstützen. Das Bild-im-Bild-Verfahren ist eine gängige Funktion von Videotelefonen, da der Sprecher seine Position relativ zur Kamera überprüfen muss. Wahlweise kann auch eines der OSD-Fenster in die darunterliegenden Videofenster eingeblendet werden. Das VPSS erlaubt ferner die direkte Anbindung von CCD- und CMOS-Sensoren und kann auch Signale im Analog- oder Digitalformat ausgeben.

Durch die Auslagerung der beschriebenen Aufgaben an den ARM und das VPSS kann sich der mit 600 MHz getaktete DSP ganz auf seine eigentliche Domäne konzentrieren: das Codieren und Decodieren von Audio- und Video-Daten. Der DSP kann einen zusätzlichen Video-Beschleuniger nutzen, um z.B. einige der anspruchsvollsten Video-Codecs in Echtzeit auszuführen, beispielsweise H.264. Dieser neueste Videokonferenz-Standard erlaubt bei entsprechend hoher Prozessorleistung beste Komprimierungsraten. Bei Videokonferenz-Applikationen ist eine Verzögerung von mehr als 200 ms zwischen den Endpunkten vom Anwender wahrnehmbar, 300 ms werden bereits als störend empfunden, und alles über 600 ms ist unbrauchbar. Ohne spezialisierte Hardware und Video-Signalverarbeitung sind hohe Latenzzeiten unvermeidbar.

Die umfangreichen, im DM6446 integrierten Funktionsblöcke decken nahezu alle Funktionen ab, die moderne Videotelefone heute benötigen: USB, Ethernet, ATA, DDR2-Schnittstelle, Interface für SD/MMC-Karten, Speicherschnittstelle für NAND- oder NOR-Flash-Bausteine. Darüber hinaus bietet der DM6446 serielle Schnittstellen für Applikationen mit geringem Bandbreitebedarf oder für Steuerzwecke, wie z.B. für einen LCD-Touchscreen-Controller.

J. Brand/Harry Schubert, Elektronik