Loading AI tools
H.-Standard zur Videokompression Aus Wikipedia, der freien Enzyklopädie
H.264/MPEG-4 AVC ist ein H.-Standard zur Videokompression. Nachfolger sind H.265, VP9, AV1 und Daala. Er wurde zunächst von der ITU (Study Group 16, Video Coding Experts Group) unter dem Namen H.26L entwickelt. Im Jahr 2001 schloss sich die ITU-Gruppe mit MPEG-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 vom Fraunhofer-Institut für Nachrichtentechnik, Microsoft und Cisco Systems.[1] Im Jahr 2003 wurde der Standard von beiden Organisationen mit identischem Wortlaut verabschiedet. Die ITU-Bezeichnung lautet dabei H.264. Bei ISO/IEC MPEG läuft der Standard unter der Bezeichnung MPEG-4/AVC (Advanced Video Coding) und ist der zehnte Teil des MPEG-4-Standards (MPEG-4/Part 10, ISO/IEC 14496-10). Der Standard sollte nicht mit dem MPEG-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 benutzten FourCCs sind „AVC1“, „DAVC“, „H264“, „x264“ und „VSSH“. Die Matroska-Codec-ID lautet „V_MPEG4/ISO/AVC“.
Das standardisierte Dateiformat/Containerformat ist MP4.
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:
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:
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]):
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.
Baseline | Extended | Main | High | High 10 | High 4:2:2 | High 4:4:4 | |
---|---|---|---|---|---|---|---|
I and P Slices | ja | ja | ja | ja | ja | ja | ja |
B Slices | nein | ja | ja | ja | ja | ja | ja |
SI and SP Slices | nein | ja | nein | nein | nein | nein | nein |
Multiple Reference Frames | ja | ja | ja | ja | ja | ja | ja |
In-Loop Deblocking Filter | ja | ja | ja | ja | ja | ja | ja |
CAVLC Entropy Coding | ja | ja | ja | ja | ja | ja | ja |
CABAC Entropy Coding | nein | nein | ja | ja | ja | ja | ja |
Flexible Macroblock Ordering (FMO) | ja | ja | nein | nein | nein | nein | nein |
Arbitrary Slice Ordering (ASO) | ja | ja | nein | nein | nein | nein | nein |
Redundant Slices (RS) | ja | ja | nein | nein | nein | nein | nein |
Data Partitioning | nein | ja | nein | nein | nein | nein | nein |
Interlaced Coding (PicAFF, MBAFF) | nein | ja | ja | ja | ja | ja | ja |
4:2:0 Chroma Format | ja | ja | ja | ja | ja | ja | ja |
4:2:2 Chroma Format | nein | nein | nein | nein | nein | ja | ja |
4:4:4 Chroma Format | nein | nein | nein | nein | nein | nein | ja |
8 Bit Sample Depth | ja | ja | ja | ja | ja | ja | ja |
9 and 10 Bit Sample Depth | nein | nein | nein | nein | ja | ja | ja |
11 and 12 Bit Sample Depth | nein | nein | nein | nein | nein | nein | ja |
8x8 vs. 4x4 Transform Adaptivity | nein | nein | nein | ja | ja | ja | ja |
Quantization Scaling Matrices | nein | nein | nein | ja | ja | ja | ja |
Separate Cb and Cr QP control | nein | nein | nein | ja | ja | ja | ja |
Monochrome Video Format | nein | nein | nein | ja | ja | ja | ja |
Residual Color Transform | nein | nein | nein | nein | nein | nein | ja |
Predictive Lossless Coding | nein | nein | nein | nein | nein | nein | ja |
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 pro | Beispiele für | Videobitrate (VCL) für Profiles | |||||
---|---|---|---|---|---|---|---|
Level | Frame | Sekunde | Auflösung/Bildrate dieses Levels |
Baseline Extended Main |
High | High 10 | High 4:2:2 High 4:4:4 |
1 | 99 | 1 485 | 128 × 96 / 30 176 × 144 / 15 |
64 kbit/s | 80 kbit/s | 192 kbit/s | 256 kbit/s |
1b | 128 kbit/s | 160 kbit/s | 384 kbit/s | 512 kbit/s | |||
1.1 | 396 | 3 000 | 176 × 144 / 30 320 × 240 / 10 352 × 288 / 7.5 |
192 kbit/s | 240 kbit/s | 576 kbit/s | 768 kbit/s |
1.2 | 6 000 | 176 × 144 / 60 320 × 240 / 20 352 × 288 / 15 |
384 kbit/s | 480 kbit/s | 1152 kbit/s | 1536 kbit/s | |
1.3 | 11 880 | 320 × 240 / 40 352 × 288 / 30 |
768 kbit/s | 960 kbit/s | 2304 kbit/s | 3072 kbit/s | |
2 | 2 Mbit/s | 2,5 Mbit/s | 6 Mbit/s | 8 Mbit/s | |||
2.1 | 792 | 19 800 | 352 × 288 / 50 352 × 576 / 25 |
4 Mbit/s | 5 Mbit/s | 12 Mbit/s | 16 Mbit/s |
2.2 | 1 620 | 20 250 | 352 × 288 / 50 720 × 480 / 15 |
4 Mbit/s | 5 Mbit/s | 12 Mbit/s | 16 Mbit/s |
3 | 40 500 | 720 × 480 / 30 720 × 576 / 25 |
10 Mbit/s | 12,5 Mbit/s | 30 Mbit/s | 40 Mbit/s | |
3.1 | 3 600 | 108 000 | 720 × 576 / 60 1280 × 720 / 30 |
14 Mbit/s | 17,5 Mbit/s | 42 Mbit/s | 56 Mbit/s |
3.2 | 5 120 | 216 000 | 1280 × 720 / 60 1280 × 1024 / 42,2 |
20 Mbit/s | 25 Mbit/s | 60 Mbit/s | 80 Mbit/s |
4 | 8 192 | 245 760 | 1280 × 720 / 68,3 1280 × 1024 / 48 1920 × 1080 / 30 |
20 Mbit/s | 25 Mbit/s | 60 Mbit/s | 80 Mbit/s |
4.1 | 50 Mbit/s | 62,5 Mbit/s | 150 Mbit/s | 200 Mbit/s | |||
4.2 | 8 704 | 522 240 | 1280 × 720 / 145 1920 × 1080 / 64 2048 × 1080 / 60 |
50 Mbit/s | 62,5 Mbit/s | 150 Mbit/s | 200 Mbit/s |
5 | 22 080 | 589 824 | 1920 × 1080 / 72,3 2048 × 1080 / 67,8 3672 × 1536 / 26,7 |
135 Mbit/s | 168,75 Mbit/s | 405 Mbit/s | 540 Mbit/s |
5.1 | 36 864 | 983 040 | 2048 × 1080 / 112,9 3840 × 2160 / 31,7 4096 × 2160 / 28,5 |
240 Mbit/s | 300 Mbit/s | 720 Mbit/s | 960 Mbit/s |
5.2 | 36 864 | 2 073 600 | 2048 × 1080 / 172 3840 × 2160 / 66,8 4096 × 2160 / 60 |
240 Mbit/s | 300 Mbit/s | 720 Mbit/s | 960 Mbit/s |
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]
Viele der Verfahren, welche in H.264 zur Anwendung kommen, sind durch Patente geschützt. Wie schon bei MPEG-2 wird auch bei MPEG-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 die MPEG-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 von Dolby Laboratories.
Die erste Lizenzperiode („Initial term of License“) – des Videocodecs „H.264/AVC“ von der MPEG 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]
Mit Hilfe von ffdshow lassen sich im H.264 kodierte Videos mit DirectShow-basierten Videoabspielprogrammen wie dem Windows Media Player oder dem Media Player Classic abspielen.
Eine Alternative zu DirectShow-basierten Playern ist z. B. mit dem MPlayer oder dem VLC 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 die libavcodec-Bibliothek zurück, welche benutzerdefinierte Quantisierungsmatrizen unterstützt.
Weiterhin ist Apples QuickTime ab Version 7 in der Lage, H.264 abzuspielen. QuickTime ist für aktuelle Versionen von macOS und Windows 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 Erweiterung Perian.
Der Apple iPod spielt H.264 in MP4- und .mov-Containern ab. Die Erstellung eines iPod-kompatiblen H.264-Videos kann hierzu entweder mit dem Quicktime-H.264-Encoder oder dem x264 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 als AVI-, Matroska- oder Ogg-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 der Haali 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 die CPU ist mit einer geeigneten Hardware, die in vielen Grafikkarten integriert ist, in Verbindung mit der darauf aufbauenden Dekoder-Software, möglich, z. B. mittels DXVA oder VDPAU.[22]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.