🗜️ Videokomprimierung
I/P/B-Frames, DCT, Quantisierung, Huffmann – die Grundlagen moderner Video-Codecs und deren Einsatz in der Übertragung.
- I-, P- und B-Frames unterscheiden und erklären
- GOP-Struktur verstehen
- DCT, Quantisierung und Huffmann-Algorithmus erläutern
- Intra-Codecs vs. Long-GOP-Codecs vergleichen
- NDI und NDI HX Codecs kennen
- Farbsubsampling (4:4:4, 4:2:2, 4:2:0) verstehen
Warum komprimieren?
Unkomprimiertes Full-HD-Video (1080i 25fps, 4:2:2) benötigt ca. 1,5 GBit/s. Durch moderne Komprimierungsverfahren lässt sich dies um Faktor 100–1000 reduzieren – bei akzeptablem Qualitätsverlust.
„Die Effizienz, mit der eine Ressource genutzt wird, tendiert dazu, deren Verbrauchsrate zu erhöhen (statt sie zu reduzieren)." – Bessere Codecs führten zu 4K/8K statt zur Bandbreiten-Einsparung.
Intra-Frame-Komprimierung (JPEG-Grundlage)
Basis jedes Video-Codecs ist die Intra-Frame-Komprimierung – einzelne Bilder werden unabhängig komprimiert (wie JPEG):
Pixel-Matrix
4:2:2 oder 4:2:0
8×8 Blöcke
Koeffizienten runden
Entropie-Coding
Farbsubsampling
| Format | Y (Luma) | Cb (Chroma) | Cr (Chroma) | Einsatz |
|---|---|---|---|---|
| 4:4:4 | voll | voll | voll | VFX, Post-Production |
| 4:2:2 | voll | halbiert | halbiert | Broadcast, Produktion |
| 4:2:0 | voll | viertel | viertel | YouTube, Streaming, H.264/H.265 |
DCT – Diskrete Kosinustransformation
Die DCT ist das Herzstück moderner Bildkomprimierung. Sie wandelt einen 8×8-Pixelblock aus dem Bildbereich (konkrete Helligkeitswerte) in den Frequenzbereich um – verlustfrei. Erst die anschließende Quantisierung ist verlustbehaftet.
Basisbilder – die Bausteine der DCT
Jeder 8×8-Block lässt sich als gewichtete Summe von 64 Basismustern darstellen. Diese entstehen als Produkt von horizontalen × vertikalen Kosinus-Schwingungen. Das DC-Koeffizient (oben links) ist der Mittelwert des Blocks, alle anderen sind AC-Koeffizienten:
Vertikale Frequenz steigt von oben nach unten. Oben links = DC (Gleichanteil). Interaktive Version: weitz.de/dct
Energiekonzentration – der Schlüssel zur Komprimierung
Bei natürlichen Bildern konzentriert sich fast die gesamte „Energie" (= bedeutsame Information) in den niedrigen Frequenzen oben links der Koeffizientenmatrix. Die meisten Koeffizienten rechts unten sind nahezu null.
Koeffizientenmatrix (4×4 vereinfacht): Energie konzentriert sich oben links (dunkelblau = hohe Werte).
Praktische Konsequenz:
- Bereits ~50 % der Basismuster reichen oft aus, um ein Bild nahezu verlustfrei darzustellen
- Koeffizienten nahe 0 → können auf 0 gesetzt werden (Quantisierung)
- Nach Quantisierung: viele Nullen → Run-Length-Coding sehr effizient
Zig-Zag-Scan & anschließende Entropiecodierung
Nach der Quantisierung werden die 64 Koeffizienten im Zig-Zag-Muster ausgelesen – von DC (oben links) bis zur höchsten Frequenz (unten rechts). So entstehen lange Folgen von Nullen am Ende, die Run-Length-Coding optimal ausnutzt. Danach folgt Huffmann-Codierung.
Huffmann-Algorithmus (Variable Length Coding)
Häufig vorkommende Symbole bekommen kurze Codes, seltenere bekommen längere Codes – ähnlich dem Morsealphabet (E = „." = 1 Bit, Q = „– – . –"). Verlustfrei.
Run-Length-Coding (RLC): Wiederholungen werden komprimiert: AAAAAAABBBCCCD → 7A 3B 3C 1D
Inter-Frame-Komprimierung (Long GOP)
Moderne Codecs nutzen temporale Redundanz zwischen aufeinanderfolgenden Frames – benachbarte Frames sind meist sehr ähnlich.
I-Frame
Intra Coded Picture – vollständiges Bild, keine Referenz auf andere Frames. Einstiegspunkt einer GOP. Entspricht einem JPEG-Bild.
Größtes Paket – höchste Qualität
P-Frame
Predictive Coded Picture – nutzt Informationen aus dem vorherigen I- oder P-Frame. Nur die Unterschiede werden gespeichert.
Mittelgroß – effizienter als I
B-Frame
Bidirectional Coded Picture – nutzt vorherige UND nachfolgende I/P-Frames als Referenz. Höchste Komprimierung.
Kleinstes Paket – höchste Komprimierung
GOP – Group of Pictures
Eine GOP (Group of Pictures) ist eine Sequenz von I, P und B-Frames, die mit einem I-Frame beginnt. Typische Struktur:
Typische GOP-Länge: 12–30 Frames (0,5–1,2 Sekunden bei 25 fps)
Intra-Codecs vs. Long-GOP-Codecs
| Intra-Codecs | Long-GOP-Codecs | |
|---|---|---|
| Beispiele | ProRes, DNxHD, XAVC-I | H.264, H.265, XAVC-L |
| Frame-Typen | Nur I-Frames | I, P, B-Frames |
| Dateigröße | Groß | Sehr klein |
| Schnittzugriff | Frame-genau sofort | Nur ab I-Frame möglich |
| Fehler-Recovery | Betrifft nur einen Frame | Gesamte GOP betroffen |
| Einsatz | Produktion, Post | Distribution, Streaming |
„Intra-Codecs sind zu bevorzugen" (Laut Vorlesungsfolien). Bei Produktionsumgebungen bevorzugt man Intra-Codecs wegen schnellem Schnitt und besserer Fehlertoleranz. Long-GOP für Distribution (Internet-Streaming).