Was ist Videodecodierung?
Videodecodierung rekonstruiert darstellbare Frames aus einem komprimierten Videobitstream. Sie analysiert die Codec-Syntax, kehrt Prädiktion und Transformationen um und kann in Software oder auf dedizierter Hardware ausgeführt werden.
Wie Videodecodierung funktioniert
Nachdem ein Demuxer einen elementaren Videostream aus seinem Container extrahiert hat, analysiert der Decoder die codierten Einheiten des Streams, rekonstruiert Prädiktionsreferenzen und gibt Frames in Präsentationsreihenfolge aus. Da die Codierreihenfolge von der Anzeigereihenfolge abweichen kann, gehören Zeitstempel und Umsortierpuffer zum Vorgang. Hardwareblöcke können unterstützte Codec-Profile beschleunigen, während Softwarepfade bei höherem Rechenaufwand mehr Flexibilität bieten. Die Decodierung erfolgt nach dem Abruf und Demuxing, aber vor Farbkonvertierung, Compositing und Anzeige.
Wichtige Fakten
- Ein Decoder benötigt die Codec-Konfiguration, etwa Parametersätze oder einen Initialisierungsdatensatz, vor den davon abhängigen Samples; fehlende oder unpassende Konfigurationsdaten können jedes Segment unlesbar machen.
- Hardwareunterstützung hängt vom Codec-Profil, Level, der Bittiefe und dem Chroma-Format ab. Die Erkennung der Codec-Familie allein garantiert daher keine beschleunigte Wiedergabe.
- Prädizierte Bilder können in einer anderen Reihenfolge gespeichert sein, als sie angezeigt werden. Werden Decodier- und Präsentationszeitstempel verwechselt, führt dies zu sichtbar vertauschten Frames und einer Drift zwischen Bild und Ton.
Wann Videodecodierung wichtig ist
Prüfen Sie Verfügbarkeit und Leistung der Decoder, bevor Sie einen Codec zur Auslieferung an Zielgeräte auswählen. Ein Software-Fallback kann CPU-Auslastung und Akkuverbrauch erhöhen, während nicht unterstützte Profile die Wiedergabe vollständig verhindern können.