Zum Hauptinhalt springen

5.7.2. Multi-Time Aggregation Packets (MTAPs) (Pakete mit Mehrzeit-Aggregation)

5.7.2. Multi-Time Aggregation Packets (MTAPs) (Pakete mit Mehrzeit-Aggregation)

Die NAL-unit-Nutzlast von MTAPs besteht aus einer 16-Bit-unsigned Decoding-Order-Number-Basis (DONB) (in Netzwerk-Byte-Reihenfolge) und einer oder mehreren Multi-Time-Aggregation-Units, wie in Abbildung 9 dargestellt. DONB MUSS den Wert von DON für die erste NAL unit in der NAL-unit-Dekodierreihenfolge unter den NAL units des MTAP enthalten.

Hinweis (informativ): Die erste NAL unit in der NAL-unit-Dekodierreihenfolge ist nicht notwendigerweise die erste NAL unit in der Reihenfolge, in der die NAL units in einem MTAP gekapselt sind.

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: decoding order number base | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
| multi-time aggregation units |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Abbildung 9. NAL-unit-Nutzlastformat für MTAPs

In dieser Spezifikation werden zwei verschiedene Multi-Time-Aggregation-Units definiert. Beide bestehen aus 16 Bit unsigned Größeninformation der folgenden NAL unit (in Netzwerk-Byte-Reihenfolge), einer 8-Bit-unsigned Decoding-Order-Number-Differenz (DOND) und n Bits (in Netzwerk-Byte-Reihenfolge) Zeitstempel-Offset (TS offset) für diese NAL unit, wobei n 16 oder 24 sein kann. Die Wahl zwischen den MTAP-Typen (MTAP16 und MTAP24) ist anwendungsabhängig: Je größer der Zeitstempel-Offset, desto flexibler der MTAP, aber auch desto höher der Overhead.

Die Struktur der Multi-Time-Aggregation-Units für MTAP16 und MTAP24 ist in den Abbildungen 10 bzw. 11 dargestellt. Die Start- oder Endposition einer Aggregation-Unit innerhalb eines Pakets muss nicht auf einer 32-Bit-Wortgrenze liegen. Die DON der in einer Multi-Time-Aggregation-Unit enthaltenen NAL unit ist gleich (DONB + DOND) % 65536, wobei % die Modulo-Operation bezeichnet. Dieses Memo legt nicht fest, wie die NAL units innerhalb eines MTAPs geordnet sind; in den meisten Fällen SOLLTE jedoch die NAL-unit-Dekodierreihenfolge verwendet werden.

Das Zeitstempel-Offset-Feld MUSS auf einen Wert gesetzt werden, der dem folgenden Ausdruck entspricht: Ist der NALU-time größer oder gleich dem RTP-Zeitstempel des Pakets, so ist der Zeitstempel-Offset gleich (NALU-time der NAL unit - RTP-Zeitstempel des Pakets). Ist der NALU-time kleiner als der RTP-Zeitstempel des Pakets, so ist der Zeitstempel-Offset gleich NALU-time + (2^32 - RTP-Zeitstempel des Pakets).

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: NAL unit size | DOND | TS offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TS offset | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ NAL unit |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Abbildung 10. Multi-Time-Aggregation-Unit für MTAP16

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: NAL unit size | DOND | TS offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TS offset | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| NAL unit |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Abbildung 11. Multi-Time-Aggregation-Unit für MTAP24

Für die „früheste“ Multi-Time-Aggregation-Unit in einem MTAP MUSS der Zeitstempel-Offset null sein. Daher ist der RTP-Zeitstempel des MTAP selbst identisch mit dem frühesten NALU-time.

Hinweis (informativ): Die „früheste“ Multi-Time-Aggregation-Unit ist diejenige, die unter allen Aggregation-Units eines MTAPs den kleinsten erweiterten RTP-Zeitstempel hätte, wenn die in den Aggregation-Units enthaltenen NAL units in Single-NAL-unit-Paketen gekapselt wären. Ein erweiterter Zeitstempel hat mehr als 32 Bits und kann den Überlauf des Zeitstempelfeldes mitzählen, sodass man bei Überlauf den kleinsten Wert bestimmen kann. Eine solche „früheste“ Aggregation-Unit muss nicht die erste in der Kapselungsreihenfolge der Aggregation-Units im MTAP sein. Die „früheste“ NAL unit muss auch nicht mit der ersten NAL unit in der NAL-unit-Dekodierreihenfolge übereinstimmen.

Abbildung 12 zeigt ein Beispiel eines RTP-Pakets, das ein Multi-Time-Aggregation-Paket vom Typ MTAP16 mit zwei Multi-Time-Aggregation-Units (in der Abbildung als 1 und 2 bezeichnet) enthält.

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RTP Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MTAP16 NAL HDR | decoding order number base | NALU 1 Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 1 Size | NALU 1 DOND | NALU 1 TS offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 1 HDR | NALU 1 DATA |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
: :
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | NALU 2 SIZE | NALU 2 DOND |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 2 TS offset | NALU 2 HDR | NALU 2 DATA |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
: :
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :...OPTIONAL RTP padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Abbildung 12. Ein RTP-Paket mit einem Multi-Time-Aggregation-Paket vom Typ MTAP16, das zwei Multi-Time-Aggregation-Units enthält

Abbildung 13 zeigt ein Beispiel eines RTP-Pakets mit einem Multi-Time-Aggregation-Paket vom Typ MTAP24 mit zwei Multi-Time-Aggregation-Units (1 und 2).

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RTP Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MTAP24 NAL HDR | decoding order number base | NALU 1 Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 1 Size | NALU 1 DOND | NALU 1 TS offs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|NALU 1 TS offs | NALU 1 HDR | NALU 1 DATA |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
: :
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | NALU 2 SIZE | NALU 2 DOND |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 2 TS offset | NALU 2 HDR |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 2 DATA |
: :
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :...OPTIONAL RTP padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Abbildung 13. Ein RTP-Paket mit einem Multi-Time-Aggregation-Paket vom Typ MTAP24, das zwei Multi-Time-Aggregation-Units enthält