5.7. Aggregation Packets (Aggregationspakete)
5.7. Aggregation Packets (Aggregationspakete)
Aggregationspakete sind das NAL-unit-Aggregationsschema dieser Nutzlastspezifikation. Das Schema spiegelt die stark unterschiedlichen MTU-Größen zweier zentraler Zielnetze wider: drahtgebundene IP-Netze (mit einer MTU-Größe, die oft durch die Ethernet-MTU von etwa 1500 Byte begrenzt ist) und IP-basierte oder nicht-IP-basierte (z. B. ITU-T H.324/M) drahtlose Kommunikationssysteme mit bevorzugten Übertragungseinheitsgrößen von 254 Byte oder weniger. Um Medientranskodierung zwischen den beiden Welten und unerwünschte Paketierungsoverhead zu vermeiden, wird ein NAL-unit-Aggregationsschema eingeführt.
Diese Spezifikation definiert zwei Arten von Aggregationspaketen:
- Single-time aggregation packet (STAP): aggregiert NAL units mit identischen NALU-Zeiten. Es werden zwei STAP-Typen definiert, einer ohne DON (STAP-A) und einer mit DON (STAP-B).
- Multi-time aggregation packet (MTAP): aggregiert NAL units mit möglicherweise unterschiedlichen NALU-Zeiten. Es werden zwei verschiedene MTAP definiert, die sich in der Länge des NAL-unit-Zeitstempel-Offsets unterscheiden.
Jede in einem Aggregationspaket zu transportierende NAL unit wird in einer Aggregationseinheit gekapselt. Unten sind die vier verschiedenen Aggregationseinheiten und ihre Eigenschaften beschrieben.
Die Struktur des RTP-Nutzdatenformats für Aggregationspakete ist in Abbildung 3 dargestellt.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|F|NRI| Type | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
| one or more aggregation units |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :...OPTIONAL RTP padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Abbildung 3. RTP-Nutzdatenformat für Aggregationspakete
MTAPs und STAPs teilen sich die folgenden Paketierungsregeln:
- Der RTP-Zeitstempel MUSS auf den frühesten der NALU-Zeiten aller zu aggregierenden NAL units gesetzt werden.
- Das Typfeld des NAL-unit-Typ-Oktetts MUSS auf den in Tabelle 4 angegebenen passenden Wert gesetzt werden.
- Das F-Bit MUSS gelöscht werden, wenn alle F-Bits der aggregierten NAL units null sind; andernfalls MUSS es gesetzt werden.
- Der Wert von NRI MUSS das Maximum aller in dem Aggregationspaket transportierten NAL units sein.
Tabelle 4. Typfeld für STAPs und MTAPs
| Type | Packet | Timestamp offset field length (in bits) | DON-related fields (DON, DONB, DOND) present |
|---|---|---|---|
| 24 | STAP-A | 0 | no |
| 25 | STAP-B | 0 | yes |
| 26 | MTAP16 | 16 | yes |
| 27 | MTAP24 | 24 | yes |
Das Marker-Bit im RTP-Header wird auf den Wert gesetzt, den das Marker-Bit der letzten NAL unit des aggregierten Pakets gehabt hätte, wäre sie in einem eigenen RTP-Paket transportiert worden.
Die Nutzlast eines Aggregationspakets besteht aus einer oder mehreren Aggregationseinheiten. Siehe die Abschnitte 5.7.1 und 5.7.2 für die vier verschiedenen Aggregationseinheitentypen. Ein Aggregationspaket kann beliebig viele Aggregationseinheiten tragen; die Gesamtdatenmenge in einem Aggregationspaket MUSS jedoch offensichtlich in ein IP-Paket passen, und die Größe SOLLTE so gewählt werden, dass das resultierende IP-Paket kleiner als die MTU-Größe ist. Ein Aggregationspaket DARF keine Fragmentierungseinheiten enthalten, wie in Abschnitt 5.8 spezifiziert. Aggregationspakete DÜRFEN nicht verschachtelt sein; das heißt, ein Aggregationspaket DARF kein weiteres Aggregationspaket enthalten.