H.264

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springenZur Suche springen

H.264/MPEG-4 AVC ist einH.-Standard zurVideokompression. Nachfolger sindH.265,VP9,AV1 undDaala. Er wurde zunächst von derITU (Study Group 16, Video Coding Experts Group) unter dem Namen H.26L entwickelt. Im Jahr 2001 schloss sich die ITU-Gruppe mitMPEG-Visual zusammen und führte die Entwicklung gemeinschaftlich im Joint Video Team (JVT) fort. Ziel des Projektes war es, ein Kompressionsverfahren zu entwerfen, das im Vergleich zu damaligen Standards sowohl für mobile Anwendungen als auch im TV- und HD-Bereich die benötigte Datenrate bei gleicher Qualität mindestens um die Hälfte reduziert. Mitglieder der Arbeitsgruppe stammen unter anderem vomFraunhofer-Institut für Nachrichtentechnik,Microsoft undCisco Systems.[1] Im Jahr 2003 wurde der Standard von beiden Organisationen mit identischem Wortlaut verabschiedet. Die ITU-Bezeichnung lautet dabei H.264. BeiISO/IEC MPEG läuft der Standard unter der BezeichnungMPEG-4/AVC (Advanced Video Coding) und ist der zehnte Teil desMPEG-4-Standards (MPEG-4/Part 10, ISO/IEC 14496-10). Der Standard sollte nicht mit demMPEG-4/ASP-Standard verwechselt werden (MPEG-4/Part 2, ISO/IEC 14496-2).

H.264 erreicht typischerweise eine etwa dreimal so hohe Codiereffizienz wie H.262 (MPEG-2) und ist wie auch H.262[2] für hoch aufgelöste Bilddaten (z. B.HDTV) ausgelegt. Das heißt, vergleichbare Qualität ist bei etwa einem Drittel der MPEG-2-Datenmenge zu erreichen. Allerdings ist der Rechenaufwand auch um den Faktor 2 bis 3 höher.

Die für den Standard benutztenFourCCs sind „AVC1“, „DAVC“, „H264“, „x264“ und „VSSH“. DieMatroska-Codec-ID lautet „V_MPEG4/ISO/AVC“.

Das standardisierteDateiformat/Containerformat istMP4.

Inhaltsverzeichnis

Einsatzgebiete

[Bearbeiten |Quelltext bearbeiten]

H.264 wurde nicht auf einen spezifischen Verwendungszweck zugeschnitten, sondern entfaltet seine Leistung in einem recht breiten Spektrum an Anwendungen. Daher sind die momentan aussichtsreichsten Einsatzgebiete auch von sehr verschiedener Gestalt:

HDTV
H.264 ist eines der obligatorischen Videokompressionsverfahren desBlu-ray-Standards und für die hochauflösende Fernsehübertragung mittelsDVB-S2 (z. B.HD-1 undSky HD, sowieProSieben HD bzw.RTL HD) verpflichtend. Auch der 2008 eingestellteHD-DVD-Standard sah Videokompression gemäß dem H.264-Verfahren vor.
Portable Video
Die konkurrierenden MobilfernsehstandardsDVB-H undDMB verwenden beide (unter anderem) H.264 für die Videokodierung für mobile Endgeräte, wieMobiltelefone oderPDAs. Auch diePlayStation Portable, die fünfte Generation desApple iPods, das iPhone und der nur in den USA erhältlicheZune-Player können H.264-Videos abspielen.
Multimedia
Apple liefert sein Multimedia-FrameworkQuickTime ab Version 7 mit einem H.264-Codec aus.
Videokonferenztechnik
Seit 2005 stehen Anwendern Videokonferenzendsysteme mit H.264-Codecs zur Verfügung. So sind beispielsweise iniChat AV 3.x erstmals Mehrfach-Videokonferenzen möglich.
Video-/Digicams
Eine Reihe vonDigitalkameras undVideokameras unterstützen H.264-Kompression für Videoaufzeichnung.

Verwandte Verfahren

[Bearbeiten |Quelltext bearbeiten]

Während der Spezifizierung von H.264 spalteten sich mehrere kommerzielle Entwicklungspfade ab, die zwar mehr oder weniger direkt auf H.264 aufsetzen, jedoch letztlich eine teilweise inkompatible Einheit darstellen:

  • Sorenson Video 3, ein im Umfeld von QuickTime und im Kontext des *.mov-Dateiformat sehr verbreiteter Codec, der nur in Details von H.264 abweicht.
  • Microsoft Windows Media Video 9 (*.wmv, FourCC: WMV9/wvc1) ist ein Videocodec der Firma Microsoft, welcher auch LoopFiltering einsetzt. Die VarianteVC-1 (FourCC: wvc1) (vormals VC-9 nach WMV9) ist ebenfalls einer der Codecs, die inHD DVD undBlu-ray Disc Verwendung finden.
  • VP8, ist ein von der Google-Firma On2 Technologies entwickelter Videocodec. Er baut auf der EntwicklungsreiheTrueMotion auf.

Weiterentwicklungen

[Bearbeiten |Quelltext bearbeiten]

Technische Details

[Bearbeiten |Quelltext bearbeiten]

H.264 baut weitestgehend auf seinen Vorgängern MPEG-1, MPEG-2, MPEG-4 und der H.261-Familie auf, weist jedoch deutliche Veränderungen und Erweiterungen auf (siehe auch[3]):

  • Anstelle einerDiskreten Kosinustransformation (DCT) mit 8×8 Pixel großen Blöcken wird eine Integertransformation auf 4×4 Pixel (im High-Profile zusätzlich wählbar bis 8×8 Pixel) großen Blöcken verwendet.
  • DieEntropiekodierung wurde an die veränderte Transformation angepasst. H.264 unterstützt dabei neben den herkömmlichenHuffman-artigen VLC-Codes (CAVLC,Context Adaptive Variable Length Coding) auch eine leistungsfähigerearithmetische Kodierung (Context-Adaptive Binary Arithmetic Coding (CABAC)).
  • Macroblock Partitioning: Die Makroblöcke von der Größe 16 × 16 Pixel können in Unterblöcke bis hinunter zu einer Größe von 4 × 4 Pixeln unterteilt werden. Da für jeden Block ein eigenerBewegungsvektor gespeichert wird, können somit räumlich scharf abgegrenzte und vor allem komplexe Bewegungen besser kodiert werden.
  • DieBewegungskompensation ist immer auf ¼ Pixel genau (beiH.263, d. h. MPEG-4/ASP, war dies eine Option). Die Bewegungskompensation für halbe Pixel wird nicht mehr mit einem Filter mit zwei Koeffizienten (Mittelwertbildung: +1/2, +1/2), sondern mit einem komplexeren Filter mit sechs Koeffizienten (+1/32, -5/32, +20/32, +20/32, -5/32, +1/32) durchgeführt. Viertelpixel werden aus den Halbpixeldaten durch eine weitere Mittelwertbildung berechnet.
  • Intra Prediction: Auch innerhalb vonI-Frames kommt eine Form der Bildvorhersage (prediction) zum Einsatz. Dabei werden die Pixelwerte eines Blocks aus den umliegenden, bereits dekodierten Pixeln abgeschätzt und dann lediglich die Differenz zum tatsächlichen Bildinhalt kodiert. Bei kleineren Bildformaten ist diese Methode im Allgemeinen effizienter alsJPEG 2000.
  • Long-Term Prediction:P- undB-Frames können nicht nur Referenzen auf den jeweils letztenI- oder P-Frame enthalten, sondern auch zu maximal 16 vorhergehenden, theoretisch beliebig weit zurückliegenden, beliebigen Frames, um eine effizientere Kodierung von periodischen Bewegungen zu ermöglichen.
  • Weighted Prediction: Werden Bildinhalte aus mehreren Referenz-Frames gemischt, können die Quellen beliebig gewichtet in die Mischung eingehen. So lassen sich Aus- und Überblendungen sehr effizient kodieren.
  • Deblocking-Filter: Während sich die bisherigen MPEG-Codecs ausschließlich auf eine optionale, externe Nachbearbeitung/Filterung (englischpostprocessing) verlassen, ist ein Deblocking-Filter integraler Bestandteil von H.264 (wie auch schon bei H.263 im Anhang J). Referenzen auf bereits dekodierte Frames beziehen sich ebenfalls auf die bereits gefilterten Bilder. Damit erreicht man eine sehr hohe wahrgenommene Bildqualität. Besonders im Zusammenwirken mit der verkleinerten Transformationsgröße von 4 × 4 ergeben sich große subjektive (und in geringerem Maße auch objektive) Verbesserungen.
  • Switching Slices: ermöglichen den nahtlosen Übergang zwischen verschiedenen Videoströmen, ohne dabei „teure“ (weil große) I-Frames einsetzen zu müssen.
  • Flexible Macroblock Ordering: Die Makroblöcke innerhalb eines Frames bzw. Slices können in relativ freier Reihenfolge angegeben werden. Dies lässt sich z. B. zur Fehlerverdeckung bei Kanalverlusten (Mobil-Video) einsetzen. FMO wird allerdings von den meisten Encodern und Decodern nicht unterstützt, es ist auch kein Teil der ProfileMain undHigh.
Siehe auch:Prädiktive Kodierung

Profile

[Bearbeiten |Quelltext bearbeiten]

Profile und Level sollen die Zusammenarbeit der verschiedenen Implementierungen der Hersteller unterstützen. Die Profile fassen bestimmte Merkmale zusammen, die unterstützt werden müssen. Ein Level setzt Beschränkungen auf die Variablen eines Datenstroms, wie etwa die maximale Auflösung oder Bitrate.

BaselineExtendedMainHighHigh 10High 4:2:2High 4:4:4
I and P Slicesjajajajajajaja
B Slicesneinjajajajajaja
SI and SP Slicesneinjaneinneinneinneinnein
Multiple Reference Framesjajajajajajaja
In-Loop Deblocking Filterjajajajajajaja
CAVLC Entropy Codingjajajajajajaja
CABAC Entropy Codingneinneinjajajajaja
Flexible Macroblock Ordering (FMO)jajaneinneinneinneinnein
Arbitrary Slice Ordering (ASO)jajaneinneinneinneinnein
Redundant Slices (RS)jajaneinneinneinneinnein
Data Partitioningneinjaneinneinneinneinnein
Interlaced Coding (PicAFF, MBAFF)neinjajajajajaja
4:2:0 Chroma Formatjajajajajajaja
4:2:2 Chroma Formatneinneinneinneinneinjaja
4:4:4 Chroma Formatneinneinneinneinneinneinja
8 Bit Sample Depthjajajajajajaja
9 and 10 Bit Sample Depthneinneinneinneinjajaja
11 and 12 Bit Sample Depthneinneinneinneinneinneinja
8x8 vs. 4x4 Transform Adaptivityneinneinneinjajajaja
Quantization Scaling Matricesneinneinneinjajajaja
Separate Cb and Cr QP controlneinneinneinjajajaja
Monochrome Video Formatneinneinneinjajajaja
Residual Color Transformneinneinneinneinneinneinja
Predictive Lossless Codingneinneinneinneinneinneinja

Level

[Bearbeiten |Quelltext bearbeiten]

H.264 definiert wie schon in MPEG-2 verschiedene Level. Diese sind umso höher, je größer die Bitrate des Videos ist.

In der folgenden Tabelle sind die zulässigen Grenzwerte der einzelnen Profile angegeben:[4]

Macroblocks proBeispiele fürVideobitrate (VCL) für Profiles
LevelFrameSekundeAuflösung/Bildrate
dieses Levels
Baseline
Extended
Main
HighHigh 10High 4:2:2
High 4:4:4
1991 485128 × 96 / 30
176 × 144 / 15
64 kbit/s80 kbit/s192 kbit/s256 kbit/s
1b128 kbit/s160 kbit/s384 kbit/s512 kbit/s
1.13963 000176 × 144 / 30
320 × 240 / 10
352 × 288 / 7.5
192 kbit/s240 kbit/s576 kbit/s768 kbit/s
1.26 000176 × 144 / 60
320 × 240 / 20
352 × 288 / 15
384 kbit/s480 kbit/s1152 kbit/s1536 kbit/s
1.311 880320 × 240 / 40
352 × 288 / 30
768 kbit/s960 kbit/s2304 kbit/s3072 kbit/s
22 Mbit/s2,5 Mbit/s6 Mbit/s8 Mbit/s
2.179219 800352 × 288 / 50
352 × 576 / 25
4 Mbit/s5 Mbit/s12 Mbit/s16 Mbit/s
2.21 62020 250352 × 288 / 50
720 × 480 / 15
4 Mbit/s5 Mbit/s12 Mbit/s16 Mbit/s
340 500720 × 480 / 30
720 × 576 / 25
10 Mbit/s12,5 Mbit/s30 Mbit/s40 Mbit/s
3.13 600108 000720 × 576 / 60
1280 × 720 / 30
14 Mbit/s17,5 Mbit/s42 Mbit/s56 Mbit/s
3.25 120216 0001280 × 720 / 60
1280 × 1024 / 42,2
20 Mbit/s25 Mbit/s60 Mbit/s80 Mbit/s
48 192245 7601280 × 720 / 68,3
1280 × 1024 / 48
1920 × 1080 / 30
20 Mbit/s25 Mbit/s60 Mbit/s80 Mbit/s
4.150 Mbit/s62,5 Mbit/s150 Mbit/s200 Mbit/s
4.28 704522 2401280 × 720 / 145
1920 × 1080 / 64
2048 × 1080 / 60
50 Mbit/s62,5 Mbit/s150 Mbit/s200 Mbit/s
522 080589 8241920 × 1080 / 72,3
2048 × 1080 / 67,8
3672 × 1536 / 26,7
135 Mbit/s168,75 Mbit/s405 Mbit/s540 Mbit/s
5.136 864983 0402048 × 1080 / 112,9
3840 × 2160 / 31,7
4096 × 2160 / 28,5
240 Mbit/s300 Mbit/s720 Mbit/s960 Mbit/s
5.236 8642 073 6002048 × 1080 / 172
3840 × 2160 / 66,8
4096 × 2160 / 60
240 Mbit/s300 Mbit/s720 Mbit/s960 Mbit/s

Implementierungen

[Bearbeiten |Quelltext bearbeiten]
  • AVCHD Multimediastandard für hochauflösende, digitale Consumer- undProsumer-Videokameras.
  • AVC-Intra Implementierung von Panasonic für professionelle Videoproduktionen
  • JM-Referenzsoftware des Joint-Video-Team[5]
  • x264 ist ein unter derGPL lizenzierter H.264-Kodierer.
  • Die freie,LGPL-lizenzierte Bibliotheklibavcodec beinhaltet einen H.264-Decoder und Encoder.
  • Apple hat H.264 inmacOS ab Version 10.4 (Tiger), und inQuickTime Version 7 integriert.
  • Nero Digital, beinhaltet einen von derNero AG undAteme entwickelten H.264-Kodierer.
  • Sorenson bietet eine Implementierung von H.264 an.
  • Main Concept bietet einen H.264-Kodierer als Software, OpenCL und CUDA-Encoder an.
  • Elecard H.264
  • Lead Technologies hat einen H.264-Videocodec.
  • CoreAVC ist ein Software-H.264-Decoder
  • Pixeltools Expert-H264
  • AdobeFlash Player 9+
  • DivX H.264
  • IntelIvy Bridge QuickSync (GPU encoder)
  • DiscretePhoton
  • nanocosmos bietet H.264 – Codecs für Windows und MacOS an
  • Citrix nutzt das Kompressionsverfahren für sein HDX-Protokoll (ehemals ICA) in den Produkten XenApp 6.5 und XenDesktop 7 zur Übertragung von bewegten Bildern.[6]

Tests

[Bearbeiten |Quelltext bearbeiten]

In einigen Tests der MSU Graphics & Media Lab (Video Group) hat sich der Codec x264 als führender etabliert.[7][8][9][10][11][12][13] Gegenüber DivX benötigt er nur 2/3 des Datenstroms für das gleiche Ergebnis.[14] Durch die kontinuierliche Weiterentwicklung wurde der Codec stark verbessert in den letzten Jahren für geringeren Datenstrom bei gewünschter Bildqualität. Dies ist sehr wichtig besonders zum Beispiel für Satelliten- und Internetübertragungen mit limitierter Kapazität.

Der Bruder-Codec x265 hat im Vergleich H.265 zu H.264 einen 20 % geringeren Datenstrom bei gleicher Bildqualität und ist damit 25 % besser.[15]

Patente

[Bearbeiten |Quelltext bearbeiten]

Viele der Verfahren, welche in H.264 zur Anwendung kommen, sind durchPatente geschützt. Wie schon beiMPEG-2 wird auch beiMPEG-4 von den Herstellern und Dienstanbietern, die diesen Standard einsetzen wollen, eine Gebühr verlangt. Damit man nicht bei jedem Patentinhaber einzeln um die Erlaubnis bitten muss, geben diese ihre Patente normalerweise einem Patent-Pool zur Verwaltung, der sich um die Aufschlüsselung der einzelnen Einnahmen kümmert. Da dies jedoch eine freiwillige Maßnahme ist, haben sich bei H.264 zwei Patentpools gebildet, denen sich noch nicht alle Patenthalter angeschlossen haben. Zum einen ist dies dieMPEG-Lizenz-Verwaltung („MPEG Licensing Administration“, kurz „MPEG LA“),[16] die bereits die Patent-Pools für MPEG-2 verwaltet, und zum anderen ein Patent-Pool der Via Licensing, einer Tochterfirma vonDolby Laboratories.

Die erste Lizenzperiode („Initial term of License“) – desVideocodecs „H.264/AVC“ von derMPEG LA – lief bis zum 31. Dezember 2010.[17]

Er kann laut einer Mitteilung der MPEG LA von Entwicklern noch weitere fünf Jahre darüber hinaus (in der zweiten Lizenzperiode vom 1. Januar 2011 bis 31. Dezember 2015) kostenlos genutzt werden, solange das Videostreaming für die Anwender kostenfrei bleibt.[18] Die MPEG LA hat mittlerweile angekündigt, für die Nutzung von kostenfreien Streamingangeboten dauerhaft keine Lizenzgebühren zu verlangen.[19][20]

Aktuell sind bis Herbst 2022 ca. 20 % der Patente ausgelaufen.[21]

Wiedergabe am PC

[Bearbeiten |Quelltext bearbeiten]

Mit Hilfe vonffdshow lassen sich im H.264 kodierte Videos mit DirectShow-basierten Videoabspielprogrammen wie demWindows Media Player oder demMedia Player Classic abspielen.

Eine Alternative zu DirectShow-basierten Playern ist z. B. mit demMPlayer oder demVLC media player gegeben. Beide beherrschen die Decodierung von H.264 und können alle relevanten Container lesen. Zudem sind beide Programme frei und gratis verfügbar. Der ffdshow-Filter, MPlayer und der VLC-Player greifen zur Decodierung von H.264 auf dielibavcodec-Bibliothek zurück, welche benutzerdefinierteQuantisierungsmatrizen unterstützt.

Weiterhin istApplesQuickTime ab Version 7 in der Lage, H.264 abzuspielen. QuickTime ist für aktuelle Versionen vonmacOS undWindows verfügbar. Allerdings spielt QuickTime 7 keinen Inhalt, der durch den ffdshow H.264-Kodierer produziert wird, sondern zeigt ein schwarzes Bild. Hilfe bietet hierbei die ErweiterungPerian.

DerApple iPod spielt H.264 inMP4- und .mov-Containern ab. Die Erstellung eines iPod-kompatiblen H.264-Videos kann hierzu entweder mit dem Quicktime-H.264-Encoder oder demx264 erfolgen. Technisch bedingt, sind den qualitativen Möglichkeiten des Encoders zwar beim iPod engere Grenzen gesetzt, als der Standard H.264 zuließe. In Generation 6 unterstützt der iPod jedoch mit einer Auflösung von bis zu 640 × 480 Pixeln bei 30 Bildern pro Sekunde und einer maximalen Datenrate von 2,5 Mbit/s immerhin eine Low-Complexity-Version des H.264-Baseline-Profils bis zu Level 3.0.

Da H.264 nicht an ein bestimmtes Containerformat gebunden ist, können die Videos als MP4-, aber auch alsAVI-,Matroska- oderOgg-Media-Datei vorliegen. Es ist sogar möglich, H.264-Videos als Roh-Daten zu speichern (.264). Solche Rohdaten können dann z. B. mit MP4Box (GPAC) oder mkvmerge in einen geeigneten Container gemultiplext werden. Benötigt werden neben einem Decoder also auch ein Splitter (Demuxer), der das jeweils benutzte Containerformat unterstützt. Unter Windows ist dafür derHaali Media Splitter geeignet, ein Quellenfilter für DirectShow, der nahezu alle relevanten Containerformate beherrscht.

Die Wiedergabe über Software-Dekodierung benötigte zum Zeitpunkt des Erscheinens viel CPU-Leistung. Entlastung für dieCPU ist mit einer geeigneten Hardware, die in vielen Grafikkarten integriert ist, in Verbindung mit der darauf aufbauenden Dekoder-Software, möglich, z. B. mittelsDXVA oderVDPAU.[22]

Weblinks

[Bearbeiten |Quelltext bearbeiten]

Einzelnachweise

[Bearbeiten |Quelltext bearbeiten]
  1. Referat für Presse und Information: Erneut Preis für Videocodierung. Prof. Dr. Thomas Wiegand erhält in Las Vegas denIEEE Masaru Ibuka Consumer Electronics Award. Technische Universität Berlin, 16. Januar 2012, abgerufen am 18. Januar 2012: „Geehrt wird Thomas Wiegand gemeinsam mit Dr. Gisle Bjontegaard von der Firma Cisco und Dr. Gary Sullivan von der Firma Microsoft für die Entwicklung und Etablierung des internationalen Videocodierstandards H.264/MPEG4-AVC.“ 
  2. HDTV wurde mit MPEG-2 eingeführt (1920x1080 @30), der Sender Euro1080 sendete bis 6. Januar 2007 in MPEG-2. Das erste HDTV war übrigens analog und erfolgreich (Japan,MUSE, Regelbetrieb 1991–2007 mit sichtbar 1035/gesamt 1125 Zeilen)
  3. Strutz: Bilddatenkompression. SpringerVieweg, 2009
  4. ITU-T publication page: H.264: Advanced video coding for generic audiovisual services ITU-T, Jan 2012.
  5. H.264/AVC JM Reference Software – Seite beimHHI; Stand: 22. April 2010
  6. Archivierte Kopie (Memento desOriginals vom 23. Oktober 2013 imInternet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäßAnleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/blogs.citrix.com
  7. 1-st MPEG4-AVC/H.264 Comparison. Abgerufen am 22. April 2016. 
  8. 2-nd MPEG4-AVC/H.264 Comparison. Abgerufen am 22. April 2016. 
  9. 3-rd MPEG4-AVC/H.264 Comparison. Abgerufen am 22. April 2016. 
  10. 4-th MPEG-4 AVC/H.264 Video Codecs Comparison. Abgerufen am 22. April 2016. 
  11. 5-th MPEG-4 AVC/H.264 Video Codecs Comparison. Abgerufen am 22. April 2016. 
  12. 6-th MPEG-4 AVC/H.264 Video Codecs Comparison. Abgerufen am 22. April 2016. 
  13. 7-th MPEG-4 AVC/H.264 Video Codecs Comparison. Abgerufen am 22. April 2016. 
  14. 8-th MPEG-4 AVC/H.264 Video Codecs Comparison. Abgerufen am 22. April 2016. 
  15. HEVC Codec Comparison - 2015! Abgerufen am 22. April 2016. 
  16. MPEG LA (englisch) – offizielle Webseite; Stand: 28. August 2009
  17. Lizenzbedingungen für Videocodec H.264/AVC veröffentlicht – Artikel beiheise online, vom 18. November 2003.
  18. Media (englisch) – Seite bei derMPEG LA; Stand: 5. Februar 2010.
  19. MPEG LA’s AVC License Will Not Charge Royalties for Internet Video That Is Free to End Users Through Life of License (englisch) – Artikel beiBusiness Wire, vom 26. August 2010.
  20. MPEG LA: Dauerhaft keine Lizenzkosten für freies Internet-Streaming von MPEG-4 AVC (H.264) – Artikel beiheise online, vom 26. August 2010.
  21. https://www.mpegla.com/wp-content/uploads/avc-att1.pdf
  22. Fit für High Definition.
Abgerufen von „https://de.wikipedia.org/w/index.php?title=H.264&oldid=251539527
Kategorien:
Versteckte Kategorie: