Videoformate -& kompression Flashcards
analoge Filmtechnik
- aneinandergereihte Fotos
- Filmrolle wird verschoben
- 24 Fotos pro Sekunde
analoge Videosignale (Interlacing)
- 2 Halbbilder werden nacheinander angezeigt
- Eindruck vollständigen Bildes entsteht
analoge Videosignale (Farbmodelle)
- YUV-Farbmodell
- Y: Luminanz
- UV: Chrominanz -> U=Rot, V=Blau
analoge Videosignale (NTSC)
-National Television System Comittee
- 525 Zeilen (486 sichtbar)
- 30 Hz Bildwiederholungsfrequenz
- YIQ -> YUV -> PAL
analoge Videosignale (PAL)
- Phase Alternating Line
- 625 Zeilen
- 25 Hz Bildwiederholungsfrequenz
- Kodierung erfolgt im YUV
digitales Video (Farbe)
- Y= Helligkeit -> Schwarz-Weiß-Bild
- Cb= Farbdifferenzkomponente Blau
- Cr = Farbdifferenzkomponente Rot
digitales Video (Farbunterabtastung)
- wie JPEG
- Auge nimmt Helligkeit mit höherer Auflösung war
digitales Video (Seitenverhältnisse)
- Display Aspect Ratio DAR
- analoges Fernsehen: 1,33:1
- HD Video: 1,78: 1
- Kino: 1,85:1 2,39:1
Videokompression (Motion JPEG)
- jedes Einzelbild wird als JPEG-Bild komprimiert
- mehr Speicherplatz & Bandbreite nötige
- gut für Szenen mit schneller Bewegung
- Kompressionsrate: 1:5, 1:20
Videokompression (spatiale Redundanz)
- benachbarte Elemente sind ähnlich
- Datenmenge wird verringert durch ausnutzen der Redundanz
-> Intraframe-Kodierung
Videokompression (temporale Redundanz)
- Ähnlichkeit aufeinanderfolgende Bilder
- Informationen von vorherigen Frames werden verwendet
-> Interframe-Kodierung
Prinzipien der Videokompression (Redundanzreduktion)
- entfernen überflüssiger Informationen
-z.B. spatiale & temporale Redundanz - verlustfrei: Entropiekodierung, Differenzkodierung
Prinzipien der Videokompression (Irrelevanzreduktion)
- weglassen nicht wahrgenommene Informationen
- z.B. Farbunterabtastung
- Informationsverlust -> verlustbehaftet
Prinzipien der Videokompression (Group of Pictures)
- Gruppe von aufeinanderfolgenden Frames
- besteht aus I-, P- & B-Frames
- Anordnung Frames abhängig Methode
- Frames werden unabhängig voneinander kodiert -> schneller zugriff auf einzelnde
Prinzipien der Videokompression (Dekodierreihenfolge)
- erst I- & P-Frames dekodieren dann B-Frames
- Frames werden in Decoding Order gespeichert
-> danach umsortiert in Display Order
Prinzipien der Videokompression (Macroblock)
- Einheit für Codierung von Videoframes
- 16*16 Pixel
- Pixel werden zusammengefasst im Block codiert
- kann Chrominanz und Luminanz Informationen enthalten
Prinzipien der Videokompression (Motion Estimate)
- analysiert Bewegung von Objekten von aufeinanderfolgenden Frames
Prinzipien der Videokompression (Motion vector)
- Verschiebung von Objekten zwischen Frames
- Voraussage für aktuelles Bild kann getroffen werden
- verlustfrei kodiert
Block-Matching-Algorithmen (TDL)
- zur Bewegungsschätzung
-> erweitert TSS (Three-Step-Search) um Diamond- & Logarithmic search
Block-Matching-Algorithmen (TSS)
- zur Bewegungsschätzung
- versucht besten Matching-Block zu finden für aktuellen Block im Frame
- versucht nur begrenzte Anzahl von Schritten zu nehmen
Block-Matching-Algorithmen (OSA)
- zur Bewegungsschätzung
- verwendet nur einen Schritt
- grobe Bewegungsschätzung
Block-Matching-Algorithmen (OTS)
- zur Bewegungsschätzung
-Suche wird in eine Richtung fortgesetzt bis Ähnlichkeit sich wieder verschlechtert
Block-Matching-Algorithmen (CSA)
- zur Bewegungsschätzung
- wie logarithmische Suche
CODEC
- COder-DEcoder
- Algorithmenpaar, das Daten digital codiert & decodiert
- Audio: mp3, flac, wav…
- Video: mpeg1, mpeg2,h264…
Containerformate
- AVI, ASF, WMV, mov, mkv
- mehrere Datenströme in einer Datei
- beliebige Stream-Kombinationen möglich
Deinterlacing
- moderne Bildschirme können Zeilensprungverfahren nicht mehr umsetzen -> deinterlacing (falls Bildmaterial nicht bereits progressiv)
- Deinterlacing-Algorithmen: Spatial, Temporal, Spatiotemporal
Streaming
-Transport Videosignale über lange Distanzen
- Konsequenzen: Netzwerkprotokoll definiert Paketformat, Übertragungsfehler
- Metadaten werden regelmäßig wiederholt, können sich ändern
MPEG-1
- erster Video- & Audiokompressionsstandard
- Blockbasierte Bewegungskompensation -> DCT -> Entropiecodierung -> I-, B- & P-Frames -> Bildpyramide
- CD, Fernsehen, Streaming, Multimedianwendung
MPEG-2
- Basis DVD & DVB (digital video broadcasting)
- mp3 etc.
MPEG-4
- Verbesserung MPEG-1/2
- verbesserte Kompressionsrate
H.264/MPEG-4 AVC
- am weitesten verbreiteter Videocodec-Standard
- Basis Blue-Ray, YT
- 2 Layers: Network Access Layer (NAL), Video Coding Layer (VCL)
Network Access Layer (H.264)
- Formatierung & Fragmentierung H.264-Datenströme
- Zerlegung Bitstrom in NAL-Units (mit Header)
- Fragmentierung Videodaten in kleiner NALUS bessere Übertragung
- NAL besitze Startcode
- Netzwerkübertragung in Netzwerkpaketen
Video Coding Layer (H.264)
- eigentlicher Videokompressionsstandard
- Reduzierung Datenmenge
Slices (H.264)
- Gruppen von Macroblocks
- Slices Teil eine Frames -> enthält Infos zu Codierung & Übertragung
- jedes Slices unabhängig
- wichtigere Bildteile mehr Qualität
- verschiedene Slice-Typen
Inter-Frame Prediction (H.264)
- Bewegungskompensation: wird angenommen das sich Bildinhalte zwischen Frames nur geringfügig/gar nicht ändern -> Verschiebung wird analysiert -> erstellen Vorhersage
Entropy Coding (H.264)
- letzter Schritt
- verlustfreie Kompression
- Context-adaptiv variable-length coding (CAVLC)
- oder Context-adaptiv binary arithmetic coding (CABAC)
Deblocking-Filter (H.264)
-Verbesserung visuelle Qualität der komprimierten Daten
- Blockartefakte (auftreten durch blockbasierte Komprimierung) werden reduziert
-> weicher Kanten
Profiles (H.264)
- bestimmen welche Features genutzt werden dürfen
-> z.B. welche Algorithmen im decoder etc. - z.B. Constrained Baseline, High (HP) für Blue-Ray
Levels (H.264)
- bestimmen quantitative Fähigkeiten und notwendige Rechenleistung des Decoders
H.265/ MPEG-H Part 2/ HEVC
-HEVC = High Efficiency Video Coding
- standardisiert 2013
- Macroblocks werden Coding Tree Units
- verbessert: Intra Prediction, Motion Vector Prediction, Qualität, Parallelverarbeitung im Decoder, CABAC-Komprimierung
CTUs (H.265)
- Einheiten Codierung des Videos
- Quadtree Datenstruktur
- variable Blockgröße (neu)
- adaptive Codierung
= präzise Anpassung an Bildeinheiten
VP6
- 16*16 Pixel Macroblocks
- 8*8 Sample DCT
- YCbCr
- Entropiecodierung: Huffman/ Arithmetic
-> verbessertes MPEG-2
VP8
- variable Macroblocks
-4*4 Sample DCT - Deblocking Filter
- Arithmetic
-Intra Prediction ähnlich H-264
-> ähnlich H.264 weniger flexible/effizient
VP9
- units bis 64*64
- Quadtree
- YCbrCr
-Intra Prediction ähnlich H-264 - verbessert Deblocking Filter
-> ähnlich H.265
Encoderparameter
- mehrer konkurrierende Ziele: Datenrate/größe, Bildqualität, Kodiergeschwindigkeit, Dekodiergeschwindigkeit, Latenz, Sonderanfoderungen
Bitrate
- Constant Bitrate (CBR): konstante Bitrate, Qualität der Bilder variiert -> Verwendung Streaming
- Variable Bitrate (VBR): Qualität bleibt gleich, Bilder benötigen unterschiedlich viel Platz
2-Pass Encoding
- Komprimierungsvorgang in 2 Vorgängen
- Pass 1: Analyse Videomaterial, Bildkomplexität schätzen, allozieren Bandbreite
- Pass 2: Bild wird nach allozierter Bandbreite kodiert
-> verbesserte Qualität, funktioniert nicht bei Streaming
Latenz
- Verzögerung zwischen Aufnahme und Anzeige beim Streaming
- entsteht bei: Aufnahme, Encodierung, Transfer, Decodierung
- Anforderung je nach Situation