5.7.1. Single-Time Aggregation Packet (STAP)
5.7.1. Single-Time Aggregation Packet (STAP)
Ein Single-Time-Aggregation-Paket (STAP) SOLLTE verwendet werden, wenn NAL units aggregiert werden, die alle dieselbe NALU-Zeit teilen. Die Nutzlast eines STAP-A enthält kein DON und besteht aus mindestens einer Single-Time-Aggregationseinheit, wie in Abbildung 4 dargestellt. Die Nutzlast eines STAP-B besteht aus einer 16-Bit-unsigned-Dekodierreihenfolgenummer (DON) (in Netzwerk-Byte-Reihenfolge), gefolgt von mindestens einer Single-Time-Aggregationseinheit, wie in Abbildung 5 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
| single-time aggregation units |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Abbildung 4. Nutzdatenformat für STAP-A
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 (DON) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
| single-time aggregation units |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Abbildung 5. Nutzdatenformat für STAP-B
Das DON-Feld gibt den DON-Wert für die erste NAL unit in einem STAP-B in Übertragungsreihenfolge an. Für jede folgende NAL unit in Erscheinungsreihenfolge in einem STAP-B ist der DON-Wert gleich (DON-Wert der vorherigen NAL unit im STAP-B + 1) % 65536, wobei „%“ für die Modulo-Operation steht.
Eine Single-Time-Aggregationseinheit besteht aus 16-Bit-unsigned-Größeninformation (in Netzwerk-Byte-Reihenfolge), die die Größe der folgenden NAL unit in Byte angibt (ohne diese zwei Oktette, aber einschließlich des NAL-unit-Typ-Oktetts der NAL unit), gefolgt von der NAL unit selbst einschließlich ihres NAL-unit-Typ-Bytes. Eine Single-Time-Aggregationseinheit ist byteausgerichtet innerhalb der RTP-Nutzlast, muss aber nicht an einer 32-Bit-Wortgrenze ausgerichtet sein. Abbildung 6 zeigt die Struktur der Single-Time-Aggregationseinheit.
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 | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
| NAL unit |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Abbildung 6. Struktur der Single-Time-Aggregationseinheit
Abbildung 7 zeigt ein Beispiel eines RTP-Pakets, das ein STAP-A enthält. Das STAP enthält zwei Single-Time-Aggregationseinheiten, in der Abbildung als 1 und 2 bezeichnet.
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|STAP-A NAL HDR | NALU 1 Size | NALU 1 HDR |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 1 Data |
: :
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | NALU 2 Size | NALU 2 HDR |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 2 Data |
: :
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :...OPTIONAL RTP padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Abbildung 7. Beispiel eines RTP-Pakets mit STAP-A mit zwei Single-Time-Aggregationseinheiten
Abbildung 8 zeigt ein Beispiel eines RTP-Pakets, das ein STAP-B enthält. Das STAP enthält zwei Single-Time-Aggregationseinheiten, in der Abbildung als 1 und 2 bezeichnet.
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|STAP-B NAL HDR | DON | NALU 1 Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 1 Size | NALU 1 HDR | NALU 1 Data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
: :
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | NALU 2 Size | NALU 2 HDR |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 2 Data |
: :
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :...OPTIONAL RTP padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Abbildung 8. Beispiel eines RTP-Pakets mit STAP-B mit zwei Single-Time-Aggregationseinheiten