5.3. NAL Unit Header Usage (Uso dell'intestazione NAL unit)
5.3. NAL Unit Header Usage (Uso dell'intestazione NAL unit)
La struttura e la semantica dell'intestazione della NAL unit sono state introdotte nella Sezione 1.3. Per comodità, il formato dell'intestazione della NAL unit è riportato di seguito.
+---------------+
|0|1|2|3|4|5|6|7|
+-+-+-+-+-+-+-+-+
|F|NRI| Type |
+---------------+
Questa sezione specifica la semantica di F e NRI secondo questa specifica.
F: 1 bit
forbidden_zero_bit. Un valore 0 indica che l'ottetto di tipo di NAL unit e il payload non devono contenere errori di bit o altre violazioni sintattiche. Un valore 1 indica che l'ottetto di tipo di NAL unit e il payload possono contenere errori di bit o altre violazioni sintattiche.
Le MANE DOVREBBERO impostare il bit F per indicare errori di bit rilevati nella NAL unit. La specifica H.264 richiede che il bit F sia uguale a 0. Quando il bit F è impostato, il decodificatore è avvisato che nel payload o nell'ottetto di tipo di NAL unit possono essere presenti errori di bit o altre violazioni sintattiche. La reazione più semplice del decodificatore a una NAL unit in cui il bit F è uguale a 1 è scartare tale NAL unit e nascondere i dati persi nella NAL unit scartata.
NRI: 2 bit
nal_ref_idc. La semantica del valore 00 e di un valore diverso da zero resta invariata rispetto alla specifica H.264. In altre parole, un valore 00 indica che il contenuto della NAL unit non è usato per ricostruire immagini di riferimento per la predizione inter immagine. Tali NAL unit possono essere scartate senza compromettere l'integrità delle immagini di riferimento. Valori maggiori di 00 indicano che la decodifica della NAL unit è necessaria per mantenere l'integrità delle immagini di riferimento.
Oltre alla specifica sopra, secondo questa specifica di payload RTP i valori di NRI indicano la priorità di trasporto relativa, come determinata dall'encoder. Le MANE possono usare questa informazione per proteggere meglio le NAL unit più importanti rispetto a quelle meno importanti. La priorità di trasporto più alta è 11, seguita da 10 e poi da 01; infine, 00 è la più bassa.
Nota informativa: Qualsiasi valore non nullo di NRI è gestito in modo identico nei decodificatori H.264. Pertanto, i ricevitori non devono manipolare il valore di NRI quando passano le NAL unit al decodificatore.
Un encoder H.264 DEVE impostare il valore di NRI secondo la specifica H.264 (Sottoclausola 7.4.1) quando il valore di nal_unit_type è nell'intervallo da 1 a 12 inclusi. In particolare, la specifica H.264 richiede che il valore di NRI sia uguale a 0 per tutte le NAL unit con nal_unit_type uguale a 6, 9, 10, 11 o 12.
Per le NAL unit con nal_unit_type uguale a 7 o 8 (che indicano rispettivamente un sequence parameter set o un picture parameter set), un encoder H.264 DOVREBBE impostare il valore di NRI a 11 (formato binario). Per le NAL unit di slice codificata di un'immagine codificata primaria con nal_unit_type uguale a 5 (slice codificata appartenente a un'immagine IDR), un encoder H.264 DOVREBBE impostare il valore di NRI a 11 (formato binario).
Per una mappatura dei nal_unit_types rimanenti ai valori di NRI, si PUÒ usare il seguente esempio, che si è dimostrato efficiente in un certo ambiente [14]. Altre mappature POSSONO essere desiderabili a seconda dell'applicazione e del profilo H.264 in uso.
Nota informativa: Il data partitioning non è disponibile in certi profili, ad es. nei profili Main o Baseline. Di conseguenza, i tipi di NAL unit 2, 3 e 4 possono verificarsi solo se il flusso video è conforme a un profilo in cui il data partitioning è consentito, e non nei flussi conformi ai profili Main o Baseline.
Tabella 2. Esempio di valori di NRI per slice codificate e partizioni di dati di slice codificate di immagini codificate di riferimento primarie
| NAL Unit Type | Content of NAL Unit | NRI (binary) |
|---|---|---|
| 1 | non-IDR coded slice | 10 |
| 2 | Coded slice data partition A | 10 |
| 3 | Coded slice data partition B | 01 |
| 4 | Coded slice data partition C | 01 |
Nota informativa: Come già detto, il valore di NRI delle immagini non di riferimento è 00 come imposto da H.264.
Un encoder H.264 DOVREBBE impostare il valore di NRI per le NAL unit di slice codificata e di partizione dati di slice codificate di immagini codificate di riferimento ridondanti uguale a 01 (formato binario).
Le definizioni dei valori di NRI per i tipi di NAL unit da 24 a 29 inclusi sono date nelle Sezioni 5.7 e 5.8 di questo memo.
Non viene data alcuna raccomandazione per il valore di NRI per le NAL unit con nal_unit_type nell'intervallo da 13 a 23 inclusi, perché questi valori sono riservati a ITU-T e ISO/IEC. Non viene data alcuna raccomandazione per il valore di NRI per le NAL unit con nal_unit_type uguale a 0 o nell'intervallo da 30 a 31 inclusi, poiché la semantica di questi valori non è specificata in questo memo.