| |
MPEG-4-Video Standard
Seite 47 von 103
Technische Informatik
10.10.2003
//Beispiel für eine Sync_Layer-Syntax
Class SLConfigDescriptor extends BaseDescriptor : bit(8)
tag=SLConfigDescrTag {
bit(8) predefined;
if (predefined==0) {
bit(1) useAccessUnitStartFlag;
bit(1) useAccessUnitEndFlag;
bit(1) useRandomAccessPointFlag;
bit(1) useRandomAccessUnitsOnlyFlag;
bit(1) usePaddingFlag;
bit(1) useTimeStampsFlag;
bit(1) useIdleFlag;
bit(1) durationFlag;
bit(32) timeStampResolution;
bit(32) OCRResolution;
bit(8) timeStampLength;
//must be <= 64
bit(8) OCRLength;
//must be <= 64
bit(8) AU_Length;
//must be <= 32
bit(8) instantBitrateLength;
bit(4) degradationPriorityLength;
bit(5) AU_seqNumLength;
//must be <= 16
bit(5) packetSeqNumLength;
//must be <= 16
bit(2) reserved=0b11;
}
if (durationFlag) {
bit(32) timeScale;
bit(16) accessUnitDuration;
bit(16) compositionUnitDuration;
}
if (!useTimeStampsFlag) {
bit(timeStampsLength) startDecodingTimeStamp;
bit(timeStampsLength) startCompositionTimeStamp;
}
}
Die zahlreichen Optionen, die über das predefined-Feld definiert werden, müssen
ISO-konform oder einem anderen Standard entsprechen. Der SL bietet zahlreiche
Mechanismen, darunter das Erkennen von Paketverlusten über packetSequence-
Number oder die Unterstützung von beiden Decoder-Modi (randomAccess-
PointerFlag und AU_sequenceNumber) des BIFS-Karussellalgorithmus.
Die Beförderung SL-verpackter Ströme liegt einem Transportprotokoll-Stack zugrunde
um über unterschiedliche Transport-Protokolle versenden werden zu können. Dennoch
sind hierfür oft zusätzliche Modifikationen nötig, die formalisiert sein müssen.
4.3.2 Timing-Elemente
Inhalte von verschiedenen Autoren können zu einer Präsentation vereinigt werden.
Hierfür ist wie gezeigt, ein einheitlicher Namensspielraum nötig. Nun kommt noch die
Bedingung einer einheitlichen Zeitlinie hinzu, die eine zeitliche Drift zwischen den
unterschiedlichen Inhalten verhindern soll (Abb.22).
. . . .
AU 1
T=1
AU 2
T=2
AU 3
T=3
AU 4
T=4
AU 5
T=5
AU 6
T=6
AU 7
T=7
. . . .
AU 1
T=1
AU 2
T=2
AU 3
T=3
AU 4
T=4
AU 5
T=5
AU 6
T=6
AU 7
T=7
Abb.22 Zeitliches Auseinanderdriften zweier Zeitlinien
|  |
|
| |
|
|