5.7.1. Single-Time Aggregation Packet (STAP)
5.7.1. Single-Time Aggregation Packet (STAP)
Un pacchetto di aggregazione a tempo singolo (single-time aggregation packet, STAP) DOVREBBE essere usato ogni volta che si aggregano NAL unit che condividono tutte lo stesso NALU-time. Il payload di uno STAP-A non include DON e consiste in almeno un'unità di aggregazione a tempo singolo, come presentato in Figura 4. Il payload di uno STAP-B consiste in un decoding order number (DON) senza segno a 16 bit (ordine dei byte di rete) seguito da almeno un'unità di aggregazione a tempo singolo, come presentato in Figura 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 |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 4. Formato del payload per 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 |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 5. Formato del payload per STAP-B
Il campo DON specifica il valore di DON per la prima NAL unit in uno STAP-B nell'ordine di trasmissione. Per ogni NAL unit successiva nell'ordine di comparsa in uno STAP-B, il valore di DON è uguale a (il valore di DON della NAL unit precedente nello STAP-B + 1) % 65536, dove «%» indica l'operazione modulo.
Un'unità di aggregazione a tempo singolo consiste in informazioni di dimensione senza segno a 16 bit (ordine dei byte di rete) che indicano la dimensione della NAL unit seguente in byte (esclusi questi due ottetti, ma incluso l'ottetto di tipo di NAL unit della NAL unit), seguita dalla NAL unit stessa, incluso il suo byte di tipo di NAL unit. Un'unità di aggregazione a tempo singolo è allineata al byte nel payload RTP, ma può non essere allineata a un confine di parola a 32 bit. La Figura 6 presenta la struttura dell'unità di aggregazione a tempo singolo.
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 |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 6. Struttura dell'unità di aggregazione a tempo singolo
La Figura 7 presenta un esempio di pacchetto RTP che contiene uno STAP-A. Lo STAP contiene due unità di aggregazione a tempo singolo, 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 7. Esempio di pacchetto RTP che include uno STAP-A con due unità di aggregazione a tempo singolo
La Figura 8 presenta un esempio di pacchetto RTP che contiene uno STAP-B. Lo STAP contiene due unità di aggregazione a tempo singolo, 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figura 8. Esempio di pacchetto RTP che include uno STAP-B con due unità di aggregazione a tempo singolo