Was ist ein IDR-Frame?
Ein IDR-Frame (Instantaneous Decoding Refresh) ist ein intracodiertes Bild in Videos mit H.264 oder H.265. Bilder, die danach decodiert werden, dürfen auf kein davor liegendes Bild verweisen. Dadurch entsteht ein eindeutiger Punkt zum Zurücksetzen des Decoders.
So funktionieren IDR-Frames
Ein IDR-Bild ist ein codierter Einstiegspunkt, der die bildübergreifende Referenzhistorie für die anschließende Decodierung von H.264 oder HEVC zurücksetzt. Seine Slices verwenden Intraprädiktion, und nachfolgende Bilder in der codierten Sequenz dürfen nicht von Bildern vor diesem Zurücksetzen abhängen. Das geht über das bloße Einfügen eines intracodierten Bildes hinaus. Encoder platzieren IDR-Bilder dort, wo ein unabhängiger Start, Segmentgrenzen, Kanalwechsel oder eine deterministische Fehlerbehebung erforderlich sind.
Wichtige Fakten
- Jedes IDR-Bild ist intracodiert, aber ein gewöhnliches I-Bild muss den Referenzpuffer nicht leeren. Beim Springen zu einem I-Bild ohne IDR können spätere Frames deshalb weiterhin von einer nicht verfügbaren Historie abhängen.
- Ein IDR-Bild beginnt normalerweise eine neue codierte Videosequenz für den wahlfreien Zugriff. Container und Manifeste müssen diesen Einstiegspunkt jedoch korrekt ausweisen, sonst können Player dennoch bei einem nicht decodierbaren Sample starten.
- Das Erzwingen häufiger IDR-Bilder unterbricht die zeitliche Prädiktion über längere Abschnitte und fügt große Intrabilder hinzu. Dadurch steigt die Bitrate oder sinkt bei fester Bitrate die Qualität, obwohl sich Zugriff und Fehlerbehebung verbessern.
Wann IDR-Frames relevant sind
Platzieren Sie IDR-Frames an Segmentgrenzen, wenn Zuschauer ohne frühere Bilddaten mit der Decodierung beginnen oder die Qualitätsstufe wechseln müssen. Häufigere IDR-Frames verbessern das Springen und die Fehlerbehebung, verringern aber im Allgemeinen die Kompressionseffizienz.