Aller au contenu principal

5.7.1. Single-Time Aggregation Packet (STAP)

5.7.1. Single-Time Aggregation Packet (STAP)

Un paquet d'agrégation à temps unique (single-time aggregation packet, STAP) DEVRAIT être utilisé chaque fois que des NAL units partageant le même NALU-time sont agrégées. La charge utile d'un STAP-A n'inclut pas DON et consiste en au moins une unité d'agrégation à temps unique, comme présenté à la figure 4. La charge utile d'un STAP-B consiste en un numéro d'ordre de décodage (decoding order number, DON) non signé sur 16 bits (ordre des octets réseau) suivi d'au moins une unité d'agrégation à temps unique, comme présenté à la figure 5.

 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 |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 4. Format de charge utile pour 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 |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 5. Format de charge utile pour STAP-B

Le champ DON spécifie la valeur de DON pour le premier NAL unit dans un STAP-B dans l'ordre de transmission. Pour chaque NAL unit successif dans l'ordre d'apparition dans un STAP-B, la valeur de DON est égale à (la valeur de DON du NAL unit précédent dans le STAP-B + 1) % 65536, où « % » désigne l'opération modulo.

Une unité d'agrégation à temps unique consiste en une information de taille non signée sur 16 bits (ordre des octets réseau) indiquant la taille du NAL unit suivant en octets (hors ces deux octets, mais incluant l'octet de type de NAL unit du NAL unit), suivi du NAL unit lui-même, y compris son octet de type de NAL unit. Une unité d'agrégation à temps unique est alignée sur octet dans la charge utile RTP, mais peut ne pas être alignée sur une frontière de mot de 32 bits. La figure 6 présente la structure de l'unité d'agrégation à temps unique.

 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 |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 6. Structure de l'unité d'agrégation à temps unique

La figure 7 présente un exemple de paquet RTP contenant un STAP-A. Le STAP contient deux unités d'agrégation à temps unique, étiquetées 1 et 2 sur la figure.

 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 7. Exemple de paquet RTP incluant un STAP-A contenant deux unités d'agrégation à temps unique

La figure 8 présente un exemple de paquet RTP contenant un STAP-B. Le STAP contient deux unités d'agrégation à temps unique, étiquetées 1 et 2 sur la figure.

 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 8. Exemple de paquet RTP incluant un STAP-B contenant deux unités d'agrégation à temps unique