| |
MPEG-4-Video Standard
Seite 64 von 103
Technische Informatik
10.10.2003
Abb.30 Kommunikation über DMIF
Sind das DAI und das DNI definiert, beginnt in der Regel das Mapping auf ein konkretes
Signalisierungs-Protokoll. Diese Aufgabe wurde für eine Reihe von Protokollen, wie
ATM Q.2913, ITU-T H.245 und RTSP erfolgreich vorgenommen.
Um technische Schwierigkeiten bei der Integration bestehender Protokolle zu umgehen
und um jeder MPEG-4-Anwendunge bestmögliche Unterstützung zu bieten, definierte
DMIF sein eigenes Default Signaling Protocol. Dieses basiert auf der DNI-Semantik und
soll vor allem IP- und ATM-Netzwerke unterstützen.
5.1.3 FlexMux
Das FlexMux-Tool (Flexible Multiplex) ist ein simples optionales Programm, das viele
ESs zu einem großen Bitstrom zusammenfasst, so wie es jeder Multiplexer tut. FlexMux
kann hierbei aber flexibler auf die unterschiedlichen Ströme der vielen Kompressions-
Tools eingehen. So verlangt MPEG-4 von einem Multiplexer zum Beispiel minimalen
Overhead, geringe zeitliche Verzögerung und die Unterstützung von variablen
Paketgrößen (für unterschiedliche Access Units).
Der FlexMux-Strom wird in eine TransMux-Instanz umgewandelt und über beliebige
Medien übertragen. Zur einfachen und präzisen Beschreibung der binären Paket-Syntax
wird die Syntactic Description Language (SDL 4.1.1), eine C++-Erweiterung, genutzt:
// FlexMux Paket-Syntax
Class FlexMuxPacket (MuxCodeTableEntry mct[], FlexMuxTimingDescriptor FM) {
Unsigned int(8) index;
bit(8) length;
if (index<238) {
SL_Packet sPayload;
} else if (index == 238) {
bit(FM.FCR_Length) fmxClockReference;
bit(FM.fmxRateLength) fmxRate;
} else if (index == 239) {
bit(8) stuffing[length];
} else {
bit(4) version;
const bit(4) reserved=0b1111;
multiple_SL_Packet mPayload(mct[index-240]);
}
}
Payload
. . .
Payload
Header
Header
FlexMux Simple Mode
MuxCode Mode
Abb.31 FlexMux-Paketmodes
index identifiziert hierbei das Paket und beschreibt dessen Semantik. length gibt die
Länge mit maximal 8 Bit an. Erlaubt sind Pakete bis zu 255 Bytes.
|  |
|
| |
|
|