Die Multimedia-Engine

Während die Multimedia-Entwicklung im Umfeld von PC und Konsumelektronik mit neuen Formaten, leistungsfähigen Decodern, Geräte-Schnittstellen und Zugriffsprotokollen zügig voranschreitet, vollzieht sich die Übernahme dieser Techniken ins Fahrzeug eher schleppend. Dank einer optimierten Filtergraphen-Architektur erlaubt es die Multimedia-Engine (MME), komplexe Benutzerszenarien effizient auf eingebettete Infotainment-Systeme abzubilden.

Während die Multimedia-Entwicklung im Umfeld von PC und Konsumelektronik mit neuen Formaten, leistungsfähigen Decodern, Geräte-Schnittstellen und Zugriffsprotokollen zügig voranschreitet, vollzieht sich die Übernahme dieser Techniken ins Fahrzeug eher schleppend. Dank einer optimierten Filtergraphen-Architektur erlaubt es die Multimedia-Engine (MME), komplexe Benutzerszenarien effizient auf eingebettete Infotainment-Systeme abzubilden.

INHALT:
Anforderungen an Multimedia-Systeme
Neue Medienformate
Flexible Medienschnittstellen
Video und Mehrkanalton
Ent- und Verschlüsselung
Neue Benutzerszenarien
Medien-Datenbank und Metadaten
Parallele Medien-Ströme
Zwischen Applikation und Treiber: Middleware
Funktionen der Multimedia-Engine
Verarbeitung von Medien-Strömen
Architektur der Multimedia-Engin
Literatur
Autoren

Neben der traditionellen Fahrzeug-Navigation ist Multimedia in modernen Infotainment-Systemen aus Benutzersicht eine der zentralen Applikationen. Während die Navigationsfunktion inzwischen einen gewissen Reifegrad erreicht hat, so dass sich hier die Entwicklung auf Zusatzfunktionen konzentriert wie ausgefeilte 3D-Kartendarstellungen, gilt es im Multimedia-Bereich, die enormen Entwicklungsfortschritte aus der Welt der PCs und Konsumelektronik in geeigneter Weise für die speziellen Anforderungen im Fahrzeug-Umfeld anzupassen und dem Anwender im Fahrzeug zur Verfügung zu stellen. Die darauf angepasste Definition und effiziente Umsetzung dieser Anforderungen ermöglicht den Anbietern integrierter Infotainment-Lösungen eine überzeugende Antwort auf das stark wachsende Segment der mobilen PNDs (Personal Navigation Device). Diese bieten zwar inzwischen eine brauchbare Navigationsfunktion, weisen aber zumeist keine umfassenden und integrierten Multimedia-Lösungen auf.

Anforderungen an Multimedia-Systeme

In diesem Beitrag werden zunächst die wesentlichen Anforderungen an automotive-taugliche Multimedia-Systeme erläutert. Es wird die Multimedia-Engine als Middleware vorgestellt, welche diese Anforderungen umsetzt und eine einheitliche und durchgängige Software-Architektur bereitstellt, die als Grundlage für projektspezifische Multimedia-Applikationen dient.

Neue Medienformate

Wie aus Bild 1 hervorgeht, nimmt die Anzahl der zu verarbeitenden Medienformate stark zu, während die Innovationszyklen immer kürzer werden.

Die wachsende CPU-Leistung im PC-Bereich hat die Entwicklung komprimierter, digitaler Audio-Formate wie MP3, WMA oder AAC ermöglicht. Dabei ist die Entwicklung keineswegs abgeschlossen, sondern neue Formate wie MP3 Pro oder MP3 Surround versprechen einen erweiterten Anwendernutzen.

Sobald die Dauer der Lebenszyklen der zu verarbeitenden Medienformate die der Fahrzeuge erheblich unterschreitet, wird deutlich, dass der traditionelle, auf Hardware-Decoder basierende Lösungsansatz nicht zukunftweisend ist.

Stattdessen muss eine moderne Multimedia-Architektur sowohl hardwaregestützte als auch Software-Decoder effizient integrieren. Erst dies ermöglicht im Rahmen eines Software-Updates den Umstieg auf aktuelle Medienformate im Feld.

Die MME ist eingebettet zwischen der projektspezifischen Applikation und der hardwarenahen Treiberschicht. Sie erwartet POSIX-konforme APIs der Treiber-Module und stellt ein C-API mit synchronen und asynchronen Funktionsaufrufen sowie ein Event-Interface zur Verfügung. Sie ist in C unter dem Betriebssystem QNX implementiert und umfasst in der Ausführung für softwarebasierte Audio-Decoder etwa 1,5 Mbyte. Wie in Bild 3 dargestellt, besteht die MME intern aus drei Software-Schichten.

Die Basis bildet eine hardwarenahe Schicht für die Erkennung, den Zugriff und die Verarbeitung von Medien. Die Erkennung von Medien erfolgt durch Modle vom Typ Device-Detector. Diese Module überwachen das Einfügen und Entfernen mobiler Medien-Träger.

Wird ein neuer Medien-Träger erkannt, wird der dazu passende Mediastore-Synchronizer (MSS) gestartet, der den Medien-Träger nach geeigneten Medien-Inhalten durchsucht. Basierend auf den im System konfigurierten Decoder-Formaten und dem für das Medium geeigneten Zugriffsprotokoll wie MTP oder iAP (iPod Access Protocol) erfolgt ein erster Synchronisationsvorgang, bei dem Dateinamen mit der internen Medien-Datenbank abgeglichen werden. Dazu wird mit Hilfe einer eindeutigen Identifikation des Medien-Trägers geprüft, ob dieser bereits bekannt ist. Der zweite Synchronisationsvorgang wird vom Metadata-Synchronizer (MDS) durchgeführt. Um auf die Metadaten der auf dem Träger enthaltenen Medien zuzugreifen, muss jede Datei geöffnet und zumindest teilweise gelesen und analysiert werden. Für ein befriedigendes Systemverhalten wird die Synchronisation im Hintergrund durchgeführt, damit im Vordergrund bereits mit dem Abspielen der ersten Titel begonnen werden kann. Die Komplexität erhöht sich weiter dadurch, dass der Benutzer interaktiv im Verzeichnisbaum des Medien-Trägers navigieren kann, was bei der Reihenfolge der Synchronisation zu berücksichtigen ist.

Die eigentliche Verarbeitung der Medien-Ströme erfolgt im Multimedia-Framework (MFF). Das MFF stellt die Funktionen und Infrastruktur bereit, mit der Filtergraphen zur Laufzeit konstruiert, instanziiert, gestartet und gesteuert werden können. Abhängig vom aktuellen Benutzerszenario werden vordefinierte Filtergraphen gestartet. Dabei werden Playback-Graphen und Ripping-Graphen unterschieden. Playback-Graphen enthalten Decoder-Filter. Diese entarten bei unkomprimierten PCM-Strömen wie CD-Audio zu 1:1-Copy-Filtern. Ripping-Graphen enthalten Encoder-Filter, die bei bereits komprimierten Quellen zu 1:1-Copy-Filtern entarten, da eine Transcodierung, etwa von WMA in MP3, eine unnötige Ressourcenverschwendung darstellt. Das MFF stellt auch DSP-Link-Filter bereit, um externe Decoder effizient einbinden zu können. Als Kommunikationsprotokoll dient hierbei die MM-IPC.

Die zweite Software-Schicht kontrolliert diese Basis-Funktionen der MME. Hierbei geht es um die Verwaltung und Steuerung der Filtergraphen, was eine enge Kommunikation mit dem Audio- und Video-Management des Infotainment-Systems voraussetzt. Die Allokation von MOST-Kanälen und die Aktivierung von Video-Schichten im Grafik-Controller wird auch von anderen Applikationen gefordert und ist daher nicht Bestandteil der MME. Aufgrund von Kundenanforderungen sind diese Funktionen projektspezifisch.

In der dritten Software-Schicht der MME erfolgt die Kommunikation mit der Medien-Datenbank, das Medien-Management und die API-Abstraktion. Gesteuert von der Auswahl durch den Benutzer erfolgen Konstruktion und Parametrisierung vordefinierter SQL-Abfragen und ihrer Ausführung in der Datenbank-Engine. Das Ergebnis ist eine Liste von Titeln, die abzuspielen oder zu rippen sind. Über den Titel werden Metadaten zur Anzeige auf dem Display sowie Medien-Träger und die zugehörige Datei gefunden. Pfad und Datei werden dann dem geeigneten Filtergraph-Manager zur weiteren Verarbeitung übergeben. Neben benutzerdefinierten Titellisten werden vordefinierte Playlists in der Datenbank abgelegt, welche in gleicher Weise verarbeitet werden.

Dieser datenbankorientierte Ansatz wird erforderlich durch die Vielzahl gleichzeitig verfügbarer Medien-Träger im System und die unüberschaubare Anzahl von Titeln aufgrund komprimierter Formate und großer Datenträger. Darüber hinaus ermöglicht die Datenbank auch innovative Bedienkonzepte wie eine History-Funktion, bezogen auf Geräte und sogar Medien-Träger. Dies bedeutet, dass beim erneuten Einsetzen eines Medien-Trägers das Infotainment-System selbstständig an der zuletzt gespielten Position einsetzt. Ebenso lassen sich mit der MME sehr einfach Bedienoberflächen realisieren, die weitgehend gerätetransparent sind. Dies beinhaltet gleiches Playback-Verhalten der Trick-Modes oder auch geräteübergreifende Titellisten. sj