5.7.2. Multi-Time Aggregation Packets (MTAPs)
5.7.2. Multi-Time Aggregation Packets (MTAPs)
La charge utile NAL unit des MTAP est composée d'une base de numéro d'ordre de décodage (DONB) non signée sur 16 bits (dans l'ordre d'octets réseau) et d'une ou plusieurs unités d'agrégation multi-temps, comme illustré à la figure 9. DONB DOIT contenir la valeur de DON de la première NAL unit dans l'ordre de décodage des NAL units parmi les NAL units du MTAP.
Note informative : La première NAL unit dans l'ordre de décodage des NAL units n'est pas nécessairement la première NAL unit dans l'ordre dans lequel les NAL units sont encapsulées dans un MTAP.
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 |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 9. Format de charge utile NAL unit pour les MTAP
Deux unités d'agrégation multi-temps différentes sont définies dans cette spécification. Toutes deux se composent de 16 bits d'information de taille non signée de la NAL unit suivante (dans l'ordre d'octets réseau), d'une différence de numéro d'ordre de décodage non signée sur 8 bits (DOND), et de n bits (dans l'ordre d'octets réseau) de décalage d'horodatage (TS offset) pour cette NAL unit, où n peut être 16 ou 24. Le choix entre les types MTAP (MTAP16 et MTAP24) dépend de l'application : plus le décalage d'horodatage est grand, plus le MTAP est flexible, mais la surcharge est aussi plus élevée.
La structure des unités d'agrégation multi-temps pour MTAP16 et MTAP24 est présentée aux figures 10 et 11, respectivement. La position de début ou de fin d'une unité d'agrégation dans un paquet n'est pas requise sur une frontière de mot de 32 bits. La DON de la NAL unit contenue dans une unité d'agrégation multi-temps est égale à (DONB + DOND) % 65536, où % désigne l'opération modulo. Ce mémo ne spécifie pas comment les NAL units au sein d'un MTAP sont ordonnées, mais, dans la plupart des cas, l'ordre de décodage des NAL units DEVRAIT être utilisé.
Le champ de décalage d'horodatage DOIT être défini à une valeur égale à celle de la formule suivante : si le NALU-time est supérieur ou égal à l'horodatage RTP du paquet, alors le décalage d'horodatage est égal au (NALU-time de la NAL unit - l'horodatage RTP du paquet). Si le NALU-time est inférieur à l'horodatage RTP du paquet, alors le décalage d'horodatage est égal au NALU-time + (2^32 - l'horodatage RTP du paquet).
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 |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 10. Unité d'agrégation multi-temps pour 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 |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 11. Unité d'agrégation multi-temps pour MTAP24
Pour l'unité d'agrégation multi-temps « la plus précoce » dans un MTAP, le décalage d'horodatage DOIT être zéro. Par conséquent, l'horodatage RTP du MTAP lui-même est identique au NALU-time le plus précoce.
Note informative : L'unité d'agrégation multi-temps « la plus précoce » est celle qui aurait le plus petit horodatage RTP étendu parmi toutes les unités d'agrégation d'un MTAP si les NAL units contenues dans les unités d'agrégation étaient encapsulées dans des paquets NAL unit uniques. Un horodatage étendu compte plus de 32 bits et peut compter le retour à zéro du champ d'horodatage, permettant ainsi de déterminer la plus petite valeur si l'horodatage boucle. Une telle unité d'agrégation « la plus précoce » peut ne pas être la première dans l'ordre d'encapsulation des unités d'agrégation dans un MTAP. La NAL unit « la plus précoce » n'a pas non plus besoin d'être la même que la première NAL unit dans l'ordre de décodage des NAL units.
La figure 12 présente un exemple de paquet RTP contenant un paquet d'agrégation multi-temps de type MTAP16 avec deux unités d'agrégation multi-temps, é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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 12. Un paquet RTP incluant un paquet d'agrégation multi-temps de type MTAP16 contenant deux unités d'agrégation multi-temps
La figure 13 présente un exemple de paquet RTP contenant un paquet d'agrégation multi-temps de type MTAP24 avec deux unités d'agrégation multi-temps, é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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 13. Un paquet RTP incluant un paquet d'agrégation multi-temps de type MTAP24 contenant deux unités d'agrégation multi-temps