Zum Hauptinhalt springen

13.5 Remarks on Other Design Possibilities (Anmerkungen zu anderen Entwurfsmöglichkeiten)

13.5. Remarks on Other Design Possibilities (Anmerkungen zu anderen Entwurfsmöglichkeiten)

Die Slice-Header-Syntaxstruktur des H.264-Codierstandards enthält das Syntaxelement frame_num, das die Dekodierreihenfolge codierter Frames anzeigen kann. Die Verwendung von frame_num zur Wiederherstellung der Dekodierreihenfolge ist jedoch aus folgenden Gründen nicht praktikabel oder nicht erwünscht:

  • Der Empfänger muss mindestens einen Slice-Header pro codiertem Bild parsen (bevor die Daten an den Decoder gehen).

  • Codierte Slices aus mehreren codierten Videosequenzen können nicht interleaved werden, da das Frame-Nummer-Syntaxelement bei jedem IDR-Bild auf 0 zurückgesetzt wird.

  • Die codierten Felder eines komplementären Feldpaares teilen sich denselben Wert von frame_num. Die Dekodierreihenfolge der Felder eines komplementären Paares kann daher weder aus frame_num noch aus anderen Syntaxelementen der H.264-Codiersyntax gewonnen werden.

Das RTP-Payload-Format für MPEG-4-Elementarströme [25] erlaubt Interleaving von Access Units und mehrere Access Units in einem RTP-Paket. Ein Access Unit umfasst nach H.264 alle NAL Units, die zu einem primär codierten Bild gehören (Unterabschnitt 7.4.1.2 von [1]). Daher können Slices verschiedener Bilder nicht interleaved werden, und die Multi-Picture-Slice-Interleaving-Technik (Abschnitt 12.6) zur verbesserten Fehlerresilienz ist nicht anwendbar.