SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung
Jan G. Wieners // jan.wieners@uni-koeln.de
Basisinformationstechnologie II
Sommersemester 2014
02. Juli 2014 – Video: Kompressionsverfahren
Video
 Container
 Matroska
 MP4
 Codecs
 DivX
 Xvid
 H.264
 Verfahren der Videokompression
 Intra-coding
 Vektorquantisierung
 Konturbasierte Codierung
 Inter-coding
 Differenzcodierung
 Bewegungskompensation
Themenüberblick
Video
Container und Codecs
Bildnachweis: „Kill Bill“ (2003)
Bildnachweis: „Kill Bill“ (2003)
Bitraten (37 sec.):
◦ 1 Mbps (~5 MB)
◦ 500 Kbps (~3 MB)
◦ 100 Kbps (~1,6 MB)
Konstante Bitrate (CBR)
vs.
Variable Bitrate (VBR)
 ~25 Bilder pro Sekunde  25 fps (frames per second)
 Auflösung
 Farbtiefe (Quantisierung) z.B. 24 Bit pro Pixel
 Rechenexempel unkomprimiertes Video:
 720 * 576 * 24 = 9.953.280 Bit pro Frame = ~1,2 MB / Frame
(9.953.280 / 8 / 1024)
 1,2 MB * 25 Frames = 30 MB/ sec.
 30 MB * 60 sec. = 1.800 MB / min.
 1,8 GB * 60 min. = 108 GB / std.
Speicherplatzbedarf von Videomaterial
DVD & Co.
Quelle: http://www.bluray-disc.de/faq/was-ist-der-unterschied-zwischen-blu-ray-und-der-dvd
Container
Codecs  Von den Begriffen Compressor und Decompressor
• Codecs: Mathematische Algorithmen, mit deren Hilfe Video- und Audiodaten reduziert werden.
• Hardware-Codecs: Hardwarebausteine, die die Kompression in Echtzeit durchführen.
• Software-Codecs
MKV: Matroska Media Container
http://matroska.org/technical/whatis/index.html
Matroska Media Container
Matroska
• Unterstützt Videocodecs:
• MPEG-1, MPEG-2, MPEG-4
• H.264
• RealVideo, WMV, Theora, Dirac
• …
• Unterstützt Audiocodecs:
• MP3
• AAC, AC3, DTS, WAV, Vorbis, FLAC
Container: mp4
Mp4
 Von der Moving Picture Expert Group (MPEG) (gegründet 1988) beschränkt auf
folgende Formate:
 Video: MPEG-4 (Part 2, Part 10 (AVC/H.264)), MPEG-2 und MPEG-1
 Audio: AAC, MP3, MP2, MP1, AC-3
 Bilder: JPEG, PNG
 Grafik und Text: BIFS (z. B. können Untertitel in dieses Format
umgewandelt werden)
 Dateiendungen:
 .m4v, .mp4v: Video (MPEG-4-Videoströme)
 .m4a: nur für Audio
 .m4b: (Audiobook): Hörbücher, in die Lesezeichen gesetzt werden können
 .m4p: (Protected): DRM-geschützte AAC-Audiodateien
 .m4r: (Ringtone): Klingeltöne für iPhone
MPEG: Standards
Codec: DivX
DivX
 <= DivX ;-) 3.11 (1999): Veränderter MS MPEG 4 Codec:
 u.a.: Erhöhung der maximalen Bitrate
 MS MPEG 4: 256 kbps
 DivX: bis 6 mbps
 Erzeugt kein ISO-konformes MPEG 4 Video
 > DivX ;-) 3.11: Neuentwicklung, patentierter Codec
 Unterstützt u.a.:
 Multipass Encoding (variable Bitrate)
 Komplexe Szenen erhalten eine höhere Bitrate zugewiesen, langsame Szenen eine
niedrigere Bitrate
 2000: Gründung der Firma DivXNetworks
  Open Source Projekt OpenDivX, basierend auf der MPEG-4 Referenzimplementierung des EU-
Projektes „MoMuSys“ (Mobile Multimedia Systems)
 Nach Veröffentlichung von DivX 4.0 (August 2001): Fokus auf kommerzielle Interessen, die
Entwicklungsarbeiten an OpenDivX werden eingestellt
 Kodiereffizienz schlechter als bei DivX ;-)
 DivX 5: Erstes kommerzielles Produkt
 …DivX 9.1.2 (2013-05)
Linktipp: http://www.heise.de/ct/artikel/DivX-im-Griff-288448.html
Coded: Xvid
Xvid
 Freie MPEG-4 Implementierung (GNU General
Public License), basierend auf OpenDivX
Quelltext
 Techniken:
 B-Frames
 Quarter Pixel Compensation
 …
Codec: H.264
H.264
• 2003 als Standard verabschiedet: MPEG-4 Part 10
oder auch AVC (Advanced Video Coding)
 Zehnter Teil des MPEG-4 Standards (MPEG-
4/Part 10, ISO/IEC 14496-10)
• Datei-/Containerformat: mp4
• Verwendung:
• HDTV / Blu-Ray
• Freier, quelloffener Encoder: x264
(http://www.videolan.org/developers/x264.html)
H.264
Variable block-size motion compensation (VBSMC) with block sizes as large as 16×16 a
as small as 4×4, enabling precise segmentation of moving regions.
Videokompression: Möglichkeiten in der Beseitigung von Redundanzen
Videokompression
?
?
?
Wie ließe sich diese Videosequenz komprimieren?
http://skateboarding.ru/gallery/data/media/81/sequence_mini.jpg
Videokompression: Möglichkeiten in der Beseitigung von Redundanzen
Videokompression
Bild- bzw. Framedimensionen (Höhe und Breite)
- Eigenschaften der Pixel (Helligkeit, Farbe)
- Eigenschaften des jeweils betrachteten Frames
Zeitliche Dimension
Welche der beiden Videosequenzen lässt sich besser /
stärker komprimieren? Warum?
http://skateboarding.ru/gallery/data/media/81/sequence_mini.jpg / http://mamboaustralia.com/isfucked/wp-content/uploads/2011/05/CHEADLE_CULBURRA_SEQUENCE1.jpg
Unterscheidung:
 Intra-coding (auch: spatial coding): Redundanz aus
einem Frame entfernen (räumliche Redundanz),
Kompression teilweise analog zu JPEG
 Vektorquantisierung
 Konturbasierte Codierung
vs.
 Inter-coding (auch: temporal coding): Redundanz
zwischen Frames entfernen (temporale Redundanz)
 Differenzkodierung (frame differencing)
 Bewegungskompensation
Videokompression
Idee und Verfahrensweise:
 Aufteilung des Frames in Blöcke (4x4, 8x8, etc.)
 Suche nach ähnlichen Blöcken
 Ähnliche Blöcke im Bild ersetzen durch „Durchschnittsblock“
 Zwei Schritte:
 Training: Erstellung der Tabelle (Codebuch) mit häufig vorkommenden Blöcken 
Häufig verwendet: Linde–Buzo–Gray Algorithmus
 Berücksichtigung der Ähnlichkeit der notierten Blöcke
Dekoder muss über das gleiche Codebuch verfügen
Vorteile:
 Schnelle Decodierung
 Gute Kompression bei vielen ähnlichen Blöcken
Nachteile:
 Codierung aufwändig, da ähnliche Blöcke gesucht werden müssen
Praxis: Verwendung in Codecs: Indeo, Cinepak
Intra-Coding: Vektorquantisierung
Idee und Verfahrensweise:
 Trennung in Textur und Kontur
 Konturen beschreiben (z.B.) durch Bézier-Kurven
 Texturen kodieren (z.B. mit DCT)
Praxis: Verwendung ansatzweise in MPEG-4
Knackpunkt: Objekterkennung
Intra-Coding: Konturbasierte Codierung
Inter-coding
Bildnachweis: http://www.ipway.rs/h264/Doc/wp_h264_31669_en_0803_lo.pdf
t = 1 t = 2 t = 3
…Kompression…?
t = 1
Frame vollständig gespeichert
 I-Frame
t = 2
Aus dem vorhergehenden
Frame berechnetes Frame
 P-Frame
…Kompression!
t = 3
Aus dem vorhergehenden
Frame berechnetes Frame
 P-Frame
Bildnachweis: http://www.ipway.rs/h264/Doc/wp_h264_31669_en_0803_lo.pdf
Speichern der Differenzen zwischen Start- und
Folgeframe, z.B. pixelweise
Differenzcodierung
Bildnachweis: Malaka, Butz, Hußmann: Medieninformatik. München: Pearson Studium, 2009. S. 180.
Intra- vs. Predicted- vs. Bidirectional Frames:
 Das Intra-Frame (I-Frame, auch: Key Frame / Schlüsselbild)
wird nur unter Berücksichtigung der eigenen Bildinformation
kodiert
 Predicted Frames (P-Frames) werden aus den
vorhergehenden I-Frames berechnet.
 Bidirectional Frames beziehen sich sowohl
 auf die vorhergehenden I- und P-Frames
als auch
 auf die folgenden I- und P-Frames.
Praxis
 MPEG-1 / -2: Ein I-Frame pro ½ Sek.
 MPEG-4: Ein I-Frame ~ alle 10 Sek.
Unterscheidung I: Frame-Typen (in MPEG)
Verfahrensweise
 Startframe und spätere I-Frames intracodiert
übertragen
 Unterschiede zum Folgeframe bestimmen, als Bild
interpretieren und dieses Bild komprimieren
Differenzcodierung
Bildnachweis: Malaka, Butz, Hußmann: Medieninformatik. München: Pearson Studium, 2009. S. 180.
Verfahrensweise:
 Objektbewegungen zwischen Frames identifizieren
 Speicherung der Veränderungen als Bewegungsvektoren
(motion vector)
 Zu übertragen:
 Differenzbild
 Bewegungsvektoren
Bewegungskompensation (Motion Compensation)
Bildnachweis: Malaka, Butz, Hußmann: Medieninformatik. München: Pearson Studium, 2009. S. 182.
Blockbasierte Bewegungskompensation
 Verwendung u.a. im MPEG-2 Standard
Grob:
 Jedes Frame des Videomaterials wird in n*m große
Pixelblöcke unterteilt
 Um die Bewegungskompensation zu leisten, werden
die Pixelblöcke von Frame zu Frame miteinander
verglichen
 Ähneln sich die Pixelblöcke (z.B. Kreuzkorrelation), so
wird nur der Verschiebungsvektor gespeichert, um
den sich der Block verschiebt
Bewegungskompensation
/

Weitere ähnliche Inhalte

Andere mochten auch

Jugando Con Los Adverbios
Jugando Con Los AdverbiosJugando Con Los Adverbios
Jugando Con Los AdverbiosMaru Domenech
 
"Conociendo nuestra regiòn"
"Conociendo nuestra regiòn""Conociendo nuestra regiòn"
"Conociendo nuestra regiòn"Miriam De Jesús
 
Presentación de Neurotic
Presentación de NeuroticPresentación de Neurotic
Presentación de NeuroticSEAT, S.A.
 
Studentische Crossmedia-Analyse: Vattenfall Cyclassics in Hamburg
Studentische Crossmedia-Analyse: Vattenfall Cyclassics in HamburgStudentische Crossmedia-Analyse: Vattenfall Cyclassics in Hamburg
Studentische Crossmedia-Analyse: Vattenfall Cyclassics in HamburgC H
 
Sistemas de Etiquetado
Sistemas de EtiquetadoSistemas de Etiquetado
Sistemas de EtiquetadoOmar Sosa-Tzec
 
Noticias Sabado 10 De Enero De 2009
Noticias Sabado 10 De Enero De 2009Noticias Sabado 10 De Enero De 2009
Noticias Sabado 10 De Enero De 2009robertocarlos2009
 
Glenn Walters Designs
Glenn Walters DesignsGlenn Walters Designs
Glenn Walters Designsaimee_mulanax
 

Andere mochten auch (12)

Jugando Con Los Adverbios
Jugando Con Los AdverbiosJugando Con Los Adverbios
Jugando Con Los Adverbios
 
"Conociendo nuestra regiòn"
"Conociendo nuestra regiòn""Conociendo nuestra regiòn"
"Conociendo nuestra regiòn"
 
Presentación de Neurotic
Presentación de NeuroticPresentación de Neurotic
Presentación de Neurotic
 
Tarjetas Navidad
Tarjetas NavidadTarjetas Navidad
Tarjetas Navidad
 
Studentische Crossmedia-Analyse: Vattenfall Cyclassics in Hamburg
Studentische Crossmedia-Analyse: Vattenfall Cyclassics in HamburgStudentische Crossmedia-Analyse: Vattenfall Cyclassics in Hamburg
Studentische Crossmedia-Analyse: Vattenfall Cyclassics in Hamburg
 
Sistemas de Etiquetado
Sistemas de EtiquetadoSistemas de Etiquetado
Sistemas de Etiquetado
 
Noticias Sabado 10 De Enero De 2009
Noticias Sabado 10 De Enero De 2009Noticias Sabado 10 De Enero De 2009
Noticias Sabado 10 De Enero De 2009
 
Morning Haze
Morning HazeMorning Haze
Morning Haze
 
Internetrecherche
InternetrechercheInternetrecherche
Internetrecherche
 
WiSe 2013 | Programmierpraktikum C++ - 01_Basics
WiSe 2013 | Programmierpraktikum C++ - 01_BasicsWiSe 2013 | Programmierpraktikum C++ - 01_Basics
WiSe 2013 | Programmierpraktikum C++ - 01_Basics
 
Glenn Walters Designs
Glenn Walters DesignsGlenn Walters Designs
Glenn Walters Designs
 
Psicópatas y asesinos múltiples
Psicópatas y asesinos múltiplesPsicópatas y asesinos múltiples
Psicópatas y asesinos múltiples
 

Ähnlich wie Bit SoSem 2014 | Basisinformationstechnologie II - 09: Video - Kompression

Videokompression
VideokompressionVideokompression
Videokompressionhcycon
 
IMAI HD Video 2011 - Excerpt
IMAI HD Video 2011 - ExcerptIMAI HD Video 2011 - Excerpt
IMAI HD Video 2011 - ExcerptJürgen Enge
 
Begriffe aus der Videotranskodierung erklärt
Begriffe aus der Videotranskodierung erklärtBegriffe aus der Videotranskodierung erklärt
Begriffe aus der Videotranskodierung erklärtnerodude
 
Nano dvr bedienungsanleitung
Nano dvr bedienungsanleitungNano dvr bedienungsanleitung
Nano dvr bedienungsanleitunghanknumb
 
The Dirac Video CoDec
The Dirac Video CoDecThe Dirac Video CoDec
The Dirac Video CoDecMarc Seeger
 
State of TV - Stand der Vortragsaufzeichnung 11/2017
State of TV - Stand der Vortragsaufzeichnung 11/2017State of TV - Stand der Vortragsaufzeichnung 11/2017
State of TV - Stand der Vortragsaufzeichnung 11/2017frankstaude
 
20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridge20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridgeWerner Fischer
 
Barco NRC & ClickShare: Live Demo
Barco NRC & ClickShare: Live DemoBarco NRC & ClickShare: Live Demo
Barco NRC & ClickShare: Live DemorAVe [PUBS]
 
Vorträge aufzeichnen ohne Nachbearbeitung
Vorträge aufzeichnen ohne NachbearbeitungVorträge aufzeichnen ohne Nachbearbeitung
Vorträge aufzeichnen ohne Nachbearbeitungfrankstaude
 
M2 ts konverter
M2 ts konverterM2 ts konverter
M2 ts konverterAmeliaAna
 

Ähnlich wie Bit SoSem 2014 | Basisinformationstechnologie II - 09: Video - Kompression (15)

Videokompression
VideokompressionVideokompression
Videokompression
 
IMAI HD Video 2011 - Excerpt
IMAI HD Video 2011 - ExcerptIMAI HD Video 2011 - Excerpt
IMAI HD Video 2011 - Excerpt
 
Begriffe aus der Videotranskodierung erklärt
Begriffe aus der Videotranskodierung erklärtBegriffe aus der Videotranskodierung erklärt
Begriffe aus der Videotranskodierung erklärt
 
Nano dvr bedienungsanleitung
Nano dvr bedienungsanleitungNano dvr bedienungsanleitung
Nano dvr bedienungsanleitung
 
The Dirac Video CoDec
The Dirac Video CoDecThe Dirac Video CoDec
The Dirac Video CoDec
 
Mpeg7 und Mpeg21
Mpeg7 und Mpeg21Mpeg7 und Mpeg21
Mpeg7 und Mpeg21
 
State of TV - Stand der Vortragsaufzeichnung 11/2017
State of TV - Stand der Vortragsaufzeichnung 11/2017State of TV - Stand der Vortragsaufzeichnung 11/2017
State of TV - Stand der Vortragsaufzeichnung 11/2017
 
20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridge20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridge
 
Barco NRC & ClickShare: Live Demo
Barco NRC & ClickShare: Live DemoBarco NRC & ClickShare: Live Demo
Barco NRC & ClickShare: Live Demo
 
Lexikon Der Videoformate
Lexikon Der VideoformateLexikon Der Videoformate
Lexikon Der Videoformate
 
Vorträge aufzeichnen ohne Nachbearbeitung
Vorträge aufzeichnen ohne NachbearbeitungVorträge aufzeichnen ohne Nachbearbeitung
Vorträge aufzeichnen ohne Nachbearbeitung
 
Digitaler bilderrahmen7
Digitaler bilderrahmen7Digitaler bilderrahmen7
Digitaler bilderrahmen7
 
test
testtest
test
 
CamCube Produktfamilie 2015
CamCube Produktfamilie 2015CamCube Produktfamilie 2015
CamCube Produktfamilie 2015
 
M2 ts konverter
M2 ts konverterM2 ts konverter
M2 ts konverter
 

Mehr von Institute for Digital Humanities, University of Cologne

Mehr von Institute for Digital Humanities, University of Cologne (20)

Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
 
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
 
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
 
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
 
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
 
Bit sosem 2016-wieners-sitzung-13_ki-in-games
Bit sosem 2016-wieners-sitzung-13_ki-in-gamesBit sosem 2016-wieners-sitzung-13_ki-in-games
Bit sosem 2016-wieners-sitzung-13_ki-in-games
 
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-visionBit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
 
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
Bit sosem 2016-wieners-sitzung-11_bild-iii-filterBit sosem 2016-wieners-sitzung-11_bild-iii-filter
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
 
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationenBit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
 
Bit sosem 2016-wieners-sitzung-09_bild-i-kompression
Bit sosem 2016-wieners-sitzung-09_bild-i-kompressionBit sosem 2016-wieners-sitzung-09_bild-i-kompression
Bit sosem 2016-wieners-sitzung-09_bild-i-kompression
 
Bit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-webBit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-web
 
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-iiBit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
 
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikationBit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
 
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conwayBit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
 
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatikBit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
 
Bit sosem 2016-wieners-sitzung-03_algorithmen
Bit sosem 2016-wieners-sitzung-03_algorithmenBit sosem 2016-wieners-sitzung-03_algorithmen
Bit sosem 2016-wieners-sitzung-03_algorithmen
 
Bit sosem 2016-wieners-sitzung-02_datenstrukturen
Bit sosem 2016-wieners-sitzung-02_datenstrukturenBit sosem 2016-wieners-sitzung-02_datenstrukturen
Bit sosem 2016-wieners-sitzung-02_datenstrukturen
 
Bit sosem 2016-wieners-sitzung-01_auffrischung
Bit sosem 2016-wieners-sitzung-01_auffrischungBit sosem 2016-wieners-sitzung-01_auffrischung
Bit sosem 2016-wieners-sitzung-01_auffrischung
 
Bit sosem 2016-wieners-sitzung-00_themenueberblick
Bit sosem 2016-wieners-sitzung-00_themenueberblickBit sosem 2016-wieners-sitzung-00_themenueberblick
Bit sosem 2016-wieners-sitzung-00_themenueberblick
 
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung IIBit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
 

Bit SoSem 2014 | Basisinformationstechnologie II - 09: Video - Kompression

  • 1. Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners // jan.wieners@uni-koeln.de Basisinformationstechnologie II Sommersemester 2014 02. Juli 2014 – Video: Kompressionsverfahren
  • 2. Video  Container  Matroska  MP4  Codecs  DivX  Xvid  H.264  Verfahren der Videokompression  Intra-coding  Vektorquantisierung  Konturbasierte Codierung  Inter-coding  Differenzcodierung  Bewegungskompensation Themenüberblick
  • 5. Bildnachweis: „Kill Bill“ (2003) Bitraten (37 sec.): ◦ 1 Mbps (~5 MB) ◦ 500 Kbps (~3 MB) ◦ 100 Kbps (~1,6 MB) Konstante Bitrate (CBR) vs. Variable Bitrate (VBR)
  • 6.  ~25 Bilder pro Sekunde  25 fps (frames per second)  Auflösung  Farbtiefe (Quantisierung) z.B. 24 Bit pro Pixel  Rechenexempel unkomprimiertes Video:  720 * 576 * 24 = 9.953.280 Bit pro Frame = ~1,2 MB / Frame (9.953.280 / 8 / 1024)  1,2 MB * 25 Frames = 30 MB/ sec.  30 MB * 60 sec. = 1.800 MB / min.  1,8 GB * 60 min. = 108 GB / std. Speicherplatzbedarf von Videomaterial
  • 7. DVD & Co. Quelle: http://www.bluray-disc.de/faq/was-ist-der-unterschied-zwischen-blu-ray-und-der-dvd
  • 8.
  • 9. Container Codecs  Von den Begriffen Compressor und Decompressor • Codecs: Mathematische Algorithmen, mit deren Hilfe Video- und Audiodaten reduziert werden. • Hardware-Codecs: Hardwarebausteine, die die Kompression in Echtzeit durchführen. • Software-Codecs
  • 10. MKV: Matroska Media Container http://matroska.org/technical/whatis/index.html
  • 11. Matroska Media Container Matroska • Unterstützt Videocodecs: • MPEG-1, MPEG-2, MPEG-4 • H.264 • RealVideo, WMV, Theora, Dirac • … • Unterstützt Audiocodecs: • MP3 • AAC, AC3, DTS, WAV, Vorbis, FLAC
  • 12. Container: mp4 Mp4  Von der Moving Picture Expert Group (MPEG) (gegründet 1988) beschränkt auf folgende Formate:  Video: MPEG-4 (Part 2, Part 10 (AVC/H.264)), MPEG-2 und MPEG-1  Audio: AAC, MP3, MP2, MP1, AC-3  Bilder: JPEG, PNG  Grafik und Text: BIFS (z. B. können Untertitel in dieses Format umgewandelt werden)  Dateiendungen:  .m4v, .mp4v: Video (MPEG-4-Videoströme)  .m4a: nur für Audio  .m4b: (Audiobook): Hörbücher, in die Lesezeichen gesetzt werden können  .m4p: (Protected): DRM-geschützte AAC-Audiodateien  .m4r: (Ringtone): Klingeltöne für iPhone
  • 14.
  • 15. Codec: DivX DivX  <= DivX ;-) 3.11 (1999): Veränderter MS MPEG 4 Codec:  u.a.: Erhöhung der maximalen Bitrate  MS MPEG 4: 256 kbps  DivX: bis 6 mbps  Erzeugt kein ISO-konformes MPEG 4 Video  > DivX ;-) 3.11: Neuentwicklung, patentierter Codec  Unterstützt u.a.:  Multipass Encoding (variable Bitrate)  Komplexe Szenen erhalten eine höhere Bitrate zugewiesen, langsame Szenen eine niedrigere Bitrate  2000: Gründung der Firma DivXNetworks   Open Source Projekt OpenDivX, basierend auf der MPEG-4 Referenzimplementierung des EU- Projektes „MoMuSys“ (Mobile Multimedia Systems)  Nach Veröffentlichung von DivX 4.0 (August 2001): Fokus auf kommerzielle Interessen, die Entwicklungsarbeiten an OpenDivX werden eingestellt  Kodiereffizienz schlechter als bei DivX ;-)  DivX 5: Erstes kommerzielles Produkt  …DivX 9.1.2 (2013-05) Linktipp: http://www.heise.de/ct/artikel/DivX-im-Griff-288448.html
  • 16. Coded: Xvid Xvid  Freie MPEG-4 Implementierung (GNU General Public License), basierend auf OpenDivX Quelltext  Techniken:  B-Frames  Quarter Pixel Compensation  …
  • 17. Codec: H.264 H.264 • 2003 als Standard verabschiedet: MPEG-4 Part 10 oder auch AVC (Advanced Video Coding)  Zehnter Teil des MPEG-4 Standards (MPEG- 4/Part 10, ISO/IEC 14496-10) • Datei-/Containerformat: mp4 • Verwendung: • HDTV / Blu-Ray • Freier, quelloffener Encoder: x264 (http://www.videolan.org/developers/x264.html)
  • 18. H.264 Variable block-size motion compensation (VBSMC) with block sizes as large as 16×16 a as small as 4×4, enabling precise segmentation of moving regions.
  • 19. Videokompression: Möglichkeiten in der Beseitigung von Redundanzen Videokompression ? ? ?
  • 20. Wie ließe sich diese Videosequenz komprimieren? http://skateboarding.ru/gallery/data/media/81/sequence_mini.jpg
  • 21. Videokompression: Möglichkeiten in der Beseitigung von Redundanzen Videokompression Bild- bzw. Framedimensionen (Höhe und Breite) - Eigenschaften der Pixel (Helligkeit, Farbe) - Eigenschaften des jeweils betrachteten Frames Zeitliche Dimension
  • 22. Welche der beiden Videosequenzen lässt sich besser / stärker komprimieren? Warum? http://skateboarding.ru/gallery/data/media/81/sequence_mini.jpg / http://mamboaustralia.com/isfucked/wp-content/uploads/2011/05/CHEADLE_CULBURRA_SEQUENCE1.jpg
  • 23. Unterscheidung:  Intra-coding (auch: spatial coding): Redundanz aus einem Frame entfernen (räumliche Redundanz), Kompression teilweise analog zu JPEG  Vektorquantisierung  Konturbasierte Codierung vs.  Inter-coding (auch: temporal coding): Redundanz zwischen Frames entfernen (temporale Redundanz)  Differenzkodierung (frame differencing)  Bewegungskompensation Videokompression
  • 24. Idee und Verfahrensweise:  Aufteilung des Frames in Blöcke (4x4, 8x8, etc.)  Suche nach ähnlichen Blöcken  Ähnliche Blöcke im Bild ersetzen durch „Durchschnittsblock“  Zwei Schritte:  Training: Erstellung der Tabelle (Codebuch) mit häufig vorkommenden Blöcken  Häufig verwendet: Linde–Buzo–Gray Algorithmus  Berücksichtigung der Ähnlichkeit der notierten Blöcke Dekoder muss über das gleiche Codebuch verfügen Vorteile:  Schnelle Decodierung  Gute Kompression bei vielen ähnlichen Blöcken Nachteile:  Codierung aufwändig, da ähnliche Blöcke gesucht werden müssen Praxis: Verwendung in Codecs: Indeo, Cinepak Intra-Coding: Vektorquantisierung
  • 25.
  • 26. Idee und Verfahrensweise:  Trennung in Textur und Kontur  Konturen beschreiben (z.B.) durch Bézier-Kurven  Texturen kodieren (z.B. mit DCT) Praxis: Verwendung ansatzweise in MPEG-4 Knackpunkt: Objekterkennung Intra-Coding: Konturbasierte Codierung
  • 29. t = 1 Frame vollständig gespeichert  I-Frame t = 2 Aus dem vorhergehenden Frame berechnetes Frame  P-Frame …Kompression! t = 3 Aus dem vorhergehenden Frame berechnetes Frame  P-Frame Bildnachweis: http://www.ipway.rs/h264/Doc/wp_h264_31669_en_0803_lo.pdf
  • 30. Speichern der Differenzen zwischen Start- und Folgeframe, z.B. pixelweise Differenzcodierung Bildnachweis: Malaka, Butz, Hußmann: Medieninformatik. München: Pearson Studium, 2009. S. 180.
  • 31. Intra- vs. Predicted- vs. Bidirectional Frames:  Das Intra-Frame (I-Frame, auch: Key Frame / Schlüsselbild) wird nur unter Berücksichtigung der eigenen Bildinformation kodiert  Predicted Frames (P-Frames) werden aus den vorhergehenden I-Frames berechnet.  Bidirectional Frames beziehen sich sowohl  auf die vorhergehenden I- und P-Frames als auch  auf die folgenden I- und P-Frames. Praxis  MPEG-1 / -2: Ein I-Frame pro ½ Sek.  MPEG-4: Ein I-Frame ~ alle 10 Sek. Unterscheidung I: Frame-Typen (in MPEG)
  • 32. Verfahrensweise  Startframe und spätere I-Frames intracodiert übertragen  Unterschiede zum Folgeframe bestimmen, als Bild interpretieren und dieses Bild komprimieren Differenzcodierung Bildnachweis: Malaka, Butz, Hußmann: Medieninformatik. München: Pearson Studium, 2009. S. 180.
  • 33. Verfahrensweise:  Objektbewegungen zwischen Frames identifizieren  Speicherung der Veränderungen als Bewegungsvektoren (motion vector)  Zu übertragen:  Differenzbild  Bewegungsvektoren Bewegungskompensation (Motion Compensation) Bildnachweis: Malaka, Butz, Hußmann: Medieninformatik. München: Pearson Studium, 2009. S. 182.
  • 34.
  • 35. Blockbasierte Bewegungskompensation  Verwendung u.a. im MPEG-2 Standard Grob:  Jedes Frame des Videomaterials wird in n*m große Pixelblöcke unterteilt  Um die Bewegungskompensation zu leisten, werden die Pixelblöcke von Frame zu Frame miteinander verglichen  Ähneln sich die Pixelblöcke (z.B. Kreuzkorrelation), so wird nur der Verschiebungsvektor gespeichert, um den sich der Block verschiebt Bewegungskompensation
  • 36. /