5.3. NAL Unit Header Usage (Verwendung des NAL-Unit-Headers)
5.3. NAL Unit Header Usage (Verwendung des NAL-Unit-Headers)
Struktur und Semantik des NAL-unit-Headers wurden in Abschnitt 1.3 eingeführt. Der Einfachheit halber ist das Format des NAL-unit-Headers unten abgedruckt.
+---------------+
|0|1|2|3|4|5|6|7|
+-+-+-+-+-+-+-+-+
|F|NRI| Type |
+---------------+
Dieser Abschnitt spezifiziert die Semantik von F und NRI gemäß dieser Spezifikation.
F: 1 Bit
forbidden_zero_bit. Ein Wert von 0 bedeutet, dass das NAL-unit-Typ-Oktett und die Nutzlast keine Bitfehler oder anderen Syntaxverletzungen enthalten sollten. Ein Wert von 1 bedeutet, dass das NAL-unit-Typ-Oktett und die Nutzlast Bitfehler oder andere Syntaxverletzungen enthalten können.
MANEs SOLLTEN das F-Bit setzen, um erkannte Bitfehler in der NAL unit anzuzeigen. Die H.264-Spezifikation verlangt, dass das F-Bit gleich 0 ist. Wenn das F-Bit gesetzt ist, wird dem Decoder mitgeteilt, dass Bitfehler oder andere Syntaxverletzungen in der Nutzlast oder im NAL-unit-Typ-Oktett vorliegen können. Die einfachste Decoder-Reaktion auf eine NAL unit, in der das F-Bit gleich 1 ist, besteht darin, solche NAL units zu verwerfen und die verlorenen Daten in der verworfenen NAL unit zu verbergen.
NRI: 2 Bits
nal_ref_idc. Die Semantik des Wertes 00 und eines von null verschiedenen Wertes bleibt unverändert gegenüber der H.264-Spezifikation. Mit anderen Worten bedeutet ein Wert von 00, dass der Inhalt der NAL unit nicht zur Rekonstruktion von Referenzbildern für die Inter-Bildvorhersage verwendet wird. Solche NAL units können verworfen werden, ohne die Integrität der Referenzbilder zu gefährden. Werte größer als 00 bedeuten, dass die Dekodierung der NAL unit erforderlich ist, um die Integrität der Referenzbilder zu erhalten.
Zusätzlich zu der obigen Spezifikation geben Werte von NRI gemäß dieser RTP-Nutzdatenspezifikation die relative Transportpriorität an, wie vom Encoder festgelegt. MANE können diese Information nutzen, um wichtigere NAL units besser zu schützen als weniger wichtige. Die höchste Transportpriorität ist 11, gefolgt von 10 und dann 01; schließlich ist 00 die niedrigste.
Hinweis (informativ): Jeder von null verschiedene Wert von NRI wird in H.264-Decodern identisch behandelt. Daher müssen Empfänger den Wert von NRI nicht manipulieren, wenn NAL units an den Decoder weitergegeben werden.
Ein H.264-Encoder MUSS den Wert von NRI gemäß der H.264-Spezifikation (Unterabschnitt 7.4.1) setzen, wenn der Wert von nal_unit_type im Bereich 1 bis 12 einschließlich liegt. Insbesondere verlangt die H.264-Spezifikation, dass der Wert von NRI für alle NAL units mit nal_unit_type gleich 6, 9, 10, 11 oder 12 gleich 0 sein SOLL.
Für NAL units mit nal_unit_type gleich 7 oder 8 (Sequence Parameter Set bzw. Picture Parameter Set) SOLLTE ein H.264-Encoder den Wert von NRI auf 11 (binär) setzen. Für codierte Slice-NAL units eines primär codierten Bildes mit nal_unit_type gleich 5 (codierter Slice einer IDR-Bild) SOLLTE ein H.264-Encoder den Wert von NRI auf 11 (binär) setzen.
Für eine Zuordnung der übrigen nal_unit_types zu NRI-Werten KANN das folgende Beispiel verwendet werden; es hat sich in einer bestimmten Umgebung als effizient erwiesen [14]. Andere Zuordnungen KÖNNEN je nach Anwendung und verwendetem H.264-Profil ebenfalls sinnvoll sein.
Hinweis (informativ): Datenpartitionierung ist in bestimmten Profilen nicht verfügbar, z. B. in den Main- oder Baseline-Profilen. Folglich können die NAL-unit-Typen 2, 3 und 4 nur auftreten, wenn der Videobitstrom einem Profil entspricht, in dem Datenpartitionierung erlaubt ist, und nicht in Strömen, die den Main- oder Baseline-Profilen entsprechen.
Tabelle 2. Beispiel für NRI-Werte für codierte Slices und codierte Slice-Datenpartitionen primärer codierter Referenzbilder
| 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 |
Hinweis (informativ): Wie zuvor erwähnt, ist der NRI-Wert von Nicht-Referenzbildern gemäß H.264 00.
Ein H.264-Encoder SOLLTE den Wert von NRI für codierte Slice- und codierte Slice-Datenpartitions-NAL units redundanter codierter Referenzbilder auf 01 (binär) setzen.
Definitionen der Werte von NRI für NAL-unit-Typen 24 bis 29 einschließlich sind in den Abschnitten 5.7 und 5.8 dieses Memos angegeben.
Für NAL units mit nal_unit_type im Bereich 13 bis 23 einschließlich wird keine Empfehlung für den Wert von NRI gegeben, da diese Werte für ITU-T und ISO/IEC reserviert sind. Für NAL units mit nal_unit_type gleich 0 oder im Bereich 30 bis 31 einschließlich wird keine Empfehlung für den Wert von NRI gegeben, da die Semantik dieser Werte in diesem Memo nicht spezifiziert ist.