5.7.2. Multi-Time Aggregation Packets (MTAPs) (Pacchetti di aggregazione multi-tempo)
5.7.2. Multi-Time Aggregation Packets (MTAPs) (Pacchetti di aggregazione multi-tempo)
Il payload NAL unit degli MTAP consiste in una base del numero d'ordine di decodifica (DONB) senza segno a 16 bit (in ordine di byte di rete) e una o più unità di aggregazione multi-tempo, come mostrato in Figura 9. DONB DEVE contenere il valore di DON per la prima NAL unit nell'ordine di decodifica delle NAL unit tra le NAL unit dell'MTAP.
Nota informativa: La prima NAL unit nell'ordine di decodifica delle NAL unit non è necessariamente la prima NAL unit nell'ordine in cui le NAL unit sono incapsulate in 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 |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 9. Formato del payload NAL unit per gli MTAP
In questa specifica sono definite due diverse unità di aggregazione multi-tempo. Entrambe consistono in 16 bit di informazione sulla dimensione senza segno della NAL unit successiva (in ordine di byte di rete), una differenza del numero d'ordine di decodifica senza segno a 8 bit (DOND) e n bit (in ordine di byte di rete) di offset di timestamp (TS offset) per questa NAL unit, dove n può essere 16 o 24. La scelta tra i tipi MTAP (MTAP16 e MTAP24) dipende dall'applicazione: maggiore è l'offset di timestamp, maggiore è la flessibilità dell'MTAP, ma anche l'overhead.
La struttura delle unità di aggregazione multi-tempo per MTAP16 e MTAP24 è presentata rispettivamente nelle Figure 10 e 11. La posizione iniziale o finale di un'unità di aggregazione all'interno di un pacchetto non è richiesta su un confine di parola a 32 bit. La DON della NAL unit contenuta in un'unità di aggregazione multi-tempo è uguale a (DONB + DOND) % 65536, dove % denota l'operazione modulo. Questo memo non specifica come le NAL unit all'interno di un MTAP sono ordinate; nella maggior parte dei casi DOVREBBE essere usato l'ordine di decodifica delle NAL unit.
Il campo di offset di timestamp DEVE essere impostato a un valore uguale al seguente: se il NALU-time è maggiore o uguale al timestamp RTP del pacchetto, l'offset di timestamp è uguale al (NALU-time della NAL unit - il timestamp RTP del pacchetto). Se il NALU-time è minore del timestamp RTP del pacchetto, l'offset di timestamp è uguale al NALU-time + (2^32 - il timestamp RTP del pacchetto).
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 |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 10. Unità di aggregazione multi-tempo per 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 |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 11. Unità di aggregazione multi-tempo per MTAP24
Per l'unità di aggregazione multi-tempo «più anticipata» in un MTAP, l'offset di timestamp DEVE essere zero. Pertanto il timestamp RTP dell'MTAP stesso è identico al NALU-time più anticipato.
Nota informativa: L'unità di aggregazione multi-tempo «più anticipata» è quella che avrebbe il timestamp RTP esteso più piccolo tra tutte le unità di aggregazione di un MTAP se le NAL unit contenute nelle unità di aggregazione fossero incapsulate in pacchetti a singola NAL unit. Un timestamp esteso ha più di 32 bit ed è in grado di contare il riavvolgimento del campo timestamp, consentendo così di determinare il valore minimo se il timestamp si avvolge. Tale unità di aggregazione «più anticipata» può non essere la prima nell'ordine in cui le unità di aggregazione sono incapsulate in un MTAP. La NAL unit «più anticipata» non deve necessariamente coincidere con la prima NAL unit nell'ordine di decodifica delle NAL unit.
La Figura 12 presenta un esempio di pacchetto RTP che contiene un pacchetto di aggregazione multi-tempo di tipo MTAP16 con due unità di aggregazione multi-tempo, etichettate come 1 e 2 nella figura.
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 12. Un pacchetto RTP che include un pacchetto di aggregazione multi-tempo di tipo MTAP16 contenente due unità di aggregazione multi-tempo
La Figura 13 presenta un esempio di pacchetto RTP che contiene un pacchetto di aggregazione multi-tempo di tipo MTAP24 con due unità di aggregazione multi-tempo, etichettate come 1 e 2 nella figura.
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 13. Un pacchetto RTP che include un pacchetto di aggregazione multi-tempo di tipo MTAP24 contenente due unità di aggregazione multi-tempo