H.264 ist ein Standard zur Videokompression, der im Ansatz mit MPEG vergleichbar ist. Er wurde zunächst von der ITU (Study Group 16, Videocoding Experts Group) unter dem Namen H.26L entwickelt. Im Jahre 2001 schloss sich die ITU-Gruppe mit MPEG-Visual zusammen, da MPEG durch subjektive Tests herausgefunden hatte, dass H.26L im Vergleich zu H.263 (MPEG-4/ASP) etwa doppelt so effizient komprimierte. Im JVT (Joint Video Team) wurde der Standard gemeinsam zu Ende entwickelt. Dabei wurden speziell Erweiterungen für TV- und HD-Anwendungen mit hoher bis extrem hoher Qualität ergänzt. Im Jahr 2003 wurde der Standard endgültig verabschiedet. Die ITU-Bezeichnung lautet dabei H.264. Bei ISO-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).
MPEG-4/AVC unterscheidet sich deutlich von MPEG-4/ASP und seinen Derivaten DivX und XviD. H.264 erreicht typischerweise eine etwa dreimal so hohe Codiereffizienz wie H.262 (MPEG-2) und ist auch für hoch aufgelöste Bilddaten (z. B. HDTV) ausgelegt. Das heißt, vergleichbare Qualität ist etwa bei einem Drittel der MPEG-2-Datenmenge zu erreichen. Allerdings ist der Rechenaufwand auch um den Faktor 2 bis 3 höher.
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 Entwicklung von H.264 spalteten sich zwei kommerzielle Entwicklungen ab, die mehr oder weniger direkt auf H.264 aufsetzen:
Die Variante VC-1 (vormals VC-9 nach WMV9) ist ebenfalls einer der obligatorischen Codecs für die HD-DVD und BD-DVD.
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:
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 | |||||||
| B Slices | |||||||
| SI and SP Slices | |||||||
| Multiple Reference Frames | |||||||
| In-Loop Deblocking Filter | |||||||
| CAVLC Entropy Coding | |||||||
| CABAC Entropy Coding | |||||||
| Flexible Macroblock Ordering (FMO) | |||||||
| Arbitrary Slice Ordering (ASO) | |||||||
| Redundant Slices (RS) | |||||||
| Data Partitioning | |||||||
| Interlaced Coding (PicAFF, MBAFF) | |||||||
| 4:2:0 Chroma Format | |||||||
| 4:2:2 Chroma Format | |||||||
| 4:4:4 Chroma Format | |||||||
| 8 Bit Sample Depth | |||||||
| 9 and 10 Bit Sample Depth | |||||||
| 11 and 12 Bit Sample Depth | |||||||
| 8x8 vs. 4x4 Transform Adaptivity | |||||||
| Quantization Scaling Matrices | |||||||
| Separate Cb and Cr QP control | |||||||
| Monochrome Video Format | |||||||
| Residual Color Transform | |||||||
| Predictive Lossless Coding | |||||||
| Baseline | Extended | Main | High | High 10 | High 4:2:2 | High 4:4:4 |
Wie schon in Mpeg-2 definiert H.264 verschiedene Level. Dieser ist umso höher, je größer die Bitrate des Videos ist.
| Level | Max Macroblöcke / Sekunde | Max Bildgröße (in Macroblöcken) | Max Videobitrate (VCL) für Baseline, Extended und Main Profile | Max Videobitrate (VCL) für High Profile | Max Videobitrate (VCL) für High 10 Profile | Max Videobitrate (VCL) für High 4:2:2 und High 4:4:4 Profile | Beispiele für Hohe Auflösung / Bildrate in diesem Profil |
|---|---|---|---|---|---|---|---|
| 1 | 1485 | 99 | 64 kbit/s | 80 kbit/s | 192 kbit/s | 256 kbit/s | 128x96/30.9 176x144/15.0 |
| 1b | 1485 | 99 | 128 kbit/s | 160 kbit/s | 384 kbit/s | 512 kbit/s | 128x96/30.9 176x144/15.0 |
| 1.1 | 3000 | 396 | 192 kbit/s | 240 kbit/s | 576 kbit/s | 768 kbit/s | 176x144/30.3 320x240/10.0 |
| 1.2 | 6000 | 396 | 384 kbit/s | 480 kbit/s | 1152 kbit/s | 1536 kbit/s | 176x144/60.6 320x240/20.0 352x288/15.2 |
| 1.3 | 11880 | 396 | 768 kbit/s | 960 kbit/s | 2304 kbit/s | 3072 kbit/s | 352x288/30.0 |
| 2 | 11880 | 396 | 2 Mbit/s | 2.5 Mbit/s | 6 Mbit/s | 8 Mbit/s | 352x288/30.0 |
| 2.1 | 19800 | 792 | 4 Mbit/s | 5 Mbit/s | 12 Mbit/s | 16 Mbit/s | 352x480/30.0 352x576/25.0 |
| 2.2 | 20250 | 1620 | 4 Mbit/s | 5 Mbit/s | 12 Mbit/s | 16 Mbit/s | 720x480/15.0 352x576/25.6 |
| 3 | 40500 | 1620 | 10 Mbit/s | 12.5 Mbit/s | 30 Mbit/s | 40 Mbit/s | 720x480/30.0 720x576/25.0 |
| 3.1 | 108000 | 3600 | 14 Mbit/s | 17.5 Mbit/s | 42 Mbit/s | 56 Mbit/s | 1280x720/30.0 720x576/66.7 |
| 3.2 | 216000 | 5120 | 20 Mbit/s | 25 Mbit/s | 60 Mbit/s | 80 Mbit/s | 1280x720/60.0 |
| 4 | 245760 | 8192 | 20 Mbit/s | 25 Mbit/s | 60 Mbit/s | 80 Mbit/s | 1920x1088/30.1 2048x1024/30.0 |
| 4.1 | 245760 | 8192 | 50 Mbit/s | 62.5 Mbit/s | 150 Mbit/s | 200 Mbit/s | 1920x1088/30.1 2048x1024/30.0 |
| 4.2 | 522240 | 8704 | 50 Mbit/s | 62.5 Mbit/s | 150 Mbit/s | 200 Mbit/s | 1920x1088/64.0 2048x1088/60.0 |
| 5 | 589824 | 22080 | 135 Mbit/s | 168.75 Mbit/s | 405 Mbit/s | 540 Mbit/s | 1920x1088/72.3 2560x1920/30.7 |
| 5.1 | 983040 | 36864 | 240 Mbit/s | 300 Mbit/s | 720 Mbit/s | 960 Mbit/s | 1920x1088/120.5 4096x2048/30.0 |
| Level | Max Macroblöcke / Sekunde | Max Bildgröße (in Macroblöcken) | Max Videobitrate (VCL) für Baseline, Extended und Main Profile | Max Videobitrate (VCL) für High Profile | Max Videobitrate (VCL) für High 10 Profile | Max Videobitrate (VCL) für High 4:2:2 und High 4:4:4 Profile | Beispiele für Hohe Auflösung / Bildrate in diesem Profil |
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 Serviceanbietern, welche diesen Standard einsetzen wollen, ein 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, welcher 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, dem sich auch nicht alle Patenthalter angeschlossen haben. Diese Rechtslage hat zu einigen Unsicherheiten bei der Adoption von H.264 geführt und wird vielleicht zur Entwicklung von weiteren alternativen Verfahren führen.
Videokompression | ITU-Empfehlung
H.264/MPEG-4 AVC | H.264/MPEG-4 AVC | H.264 | H.264 | H.264 | H.264 | H.264 | H.264/AVC | H.264 | AVC | H.264 | H.264/MPEG-4 AVC