H.264

H.264

H.264/MPEG-4 AVC ist ein H.-Standard zur hocheffizienten Videokompression. Er wurde zunächst von der ITU (Study Group 16, Video Coding Experts Group) unter dem Namen H.26L entwickelt. Im Jahre 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 bisherigen 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. 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 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.

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.

Inhaltsverzeichnis

Einsatzgebiete

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 des Blu-ray-Standards und für die hochauflösende Fernsehübertragung mittels DVB-S2 (z. B. HD-1 und Sky HD, sowie ProSieben HD bzw. RTL HD) verpflichtend. Auch der 2008 eingestellte HD-DVD-Standard sah Videokompression gemäß dem H.264-Verfahren vor.
Portable Video
Die konkurrierenden Mobilfernsehstandards DVB-H und DMB verwenden beide (unter anderem) H.264 für die Videokodierung für mobile Endgeräte, wie Mobiltelefone oder PDAs. Auch die PlayStation Portable, die fünfte Generation des Apple iPods, das iPhone und der nur in den USA erhältliche Zune-Player können H.264-Videos abspielen.
Multimedia
Apple liefert sein Multimedia-Framework QuickTime 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 in iChat AV 3.x erstmalig Mehrfach-Videokonferenzen möglich.
Video-/Digicams
Eine Reihe von Digitalkameras und Videokameras unterstützen H.264-Kompression für Videoaufzeichnung.

Verwandte Verfahren

Während der Spezifizierung von H.264 spalteten sich mehrere kommerzielle Entwicklungspfade ab, die zwar mehr oder weniger direkt auf H.264 aufsetzen, jedoch schlussendlich 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 Variante VC-1 (FourCC: wvc1) (vormals VC-9 nach WMV9) ist ebenfalls einer der Codecs, die in HD DVD und Blu-ray Disc Verwendung finden.

Weiterentwicklungen

Technische Details

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:

  • Anstelle einer Diskreten 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.
  • Die Entropiekodierung wurde an die veränderte Transformation angepasst. H.264 unterstützt dabei neben den herkömmlichen Huffman-artigen VLC-Codes (CAVLC, Context Adaptive Variable Length Coding) auch eine leistungsfähigere arithmetische 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 eigener Bewegungsvektor gespeichert wird, können somit räumlich scharf abgegrenzte und vor allem komplexe Bewegungen besser kodiert werden.
  • Die Bewegungskompensation ist immer auf ¼ Pixel genau (bei H.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 von I-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 als JPEG 2000.
  • Long-Term Prediction: P- und B-Frames können nicht nur Referenzen auf den jeweils letzten I- 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 (engl. postprocessing) 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 Profile Main und High.

Profile

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 Ja Ja Ja Ja Ja Ja Ja
B Slices Nein Nein Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
SI and SP Slices Nein Nein Ja Ja Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein
Multiple Reference Frames Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
In-Loop Deblocking Filter Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
CAVLC Entropy Coding Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
CABAC Entropy Coding Nein Nein Nein Nein Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
Flexible Macroblock Ordering (FMO) Ja Ja Ja Ja Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein
Arbitrary Slice Ordering (ASO) Ja Ja Ja Ja Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein
Redundant Slices (RS) Ja Ja Ja Ja Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein
Data Partitioning Nein Nein Ja Ja Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein
Interlaced Coding (PicAFF, MBAFF) Nein Nein Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
4:2:0 Chroma Format Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
4:2:2 Chroma Format Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein Ja Ja Ja Ja
4:4:4 Chroma Format Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein Ja Ja
8 Bit Sample Depth Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
9 and 10 Bit Sample Depth Nein Nein Nein Nein Nein Nein Nein Nein Ja Ja Ja Ja Ja Ja
11 and 12 Bit Sample Depth Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein Ja Ja
8x8 vs. 4x4 Transform Adaptivity Nein Nein Nein Nein Nein Nein Ja Ja Ja Ja Ja Ja Ja Ja
Quantization Scaling Matrices Nein Nein Nein Nein Nein Nein Ja Ja Ja Ja Ja Ja Ja Ja
Separate Cb and Cr QP control Nein Nein Nein Nein Nein Nein Ja Ja Ja Ja Ja Ja Ja Ja
Monochrome Video Format Nein Nein Nein Nein Nein Nein Ja Ja Ja Ja Ja Ja Ja Ja
Residual Color Transform Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein Ja Ja
Predictive Lossless Coding Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein Nein Ja Ja
Baseline Extended Main High High 10 High 4:2:2 High 4:4:4

Level

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

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

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 176 × 144 / 15
128 × 96 / 30
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 352 × 288 / 7.5
320 × 240 / 10
176 × 144 / 30
192 kbit/s 240 kbit/s 576 kbit/s 768 kbit/s
1.2 6 000 352 × 288 / 15
320 × 240 / 20
176 × 144 / 60
384 kbit/s 480 kbit/s 1152 kbit/s 1536 kbit/s
1.3 11 880 352 × 288 / 30
320 × 240 / 40
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 × 576 / 25
352 × 288 / 50
4 Mbit/s 5 Mbit/s 12 Mbit/s 16 Mbit/s
2.2 1 620 20 250 720 × 480 / 15
352 × 288 / 50
4 Mbit/s 5 Mbit/s 12 Mbit/s 16 Mbit/s
3 40 500 720 × 576 / 25
720 × 480 / 30
10 Mbit/s 12,5 Mbit/s 30 Mbit/s 40 Mbit/s
3.1 3 600 108 000 1280 × 720 / 30
720 × 576 / 60
14 Mbit/s 17,5 Mbit/s 42 Mbit/s 56 Mbit/s
3.2 5 120 216 000 1280 × 1024 / 40
1280 × 720 / 60
20 Mbit/s 25 Mbit/s 60 Mbit/s 80 Mbit/s
4 8 192 245 760 1920 × 1080 / 30
1280 × 720 / 60
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 2048 × 1080 / 60 50 Mbit/s 62,5 Mbit/s 150 Mbit/s 200 Mbit/s
5 22 080 589 824 3072 × 1620 / 30
2048 × 1080 / 60
135 Mbit/s 168,75 Mbit/s 405 Mbit/s 540 Mbit/s
5.1 36 864 983 040 4096 × 2304 / 25
2048 × 1080 / 100
240 Mbit/s 300 Mbit/s 720 Mbit/s 960 Mbit/s
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

Implementierungen

  • AVCHD Multimediastandard für hochauflösende, digitale Consumer- und Prosumer-Videokameras.
  • AVC-Intra Implementierung von Panasonic für professionelle Videoproduktionen
  • JM-Referenzsoftware des Joint-Video-Team[1]
  • x264 ist ein unter der GPL lizenzierter H.264-Kodierer.
  • Die freie, LGPL-lizenzierte Bibliothek libavcodec beinhaltet einen H.264-Decoder.
  • Apple hat H.264 in Mac OS X ab Version 10.4 (Tiger), und in QuickTime Version 7 integriert.
  • Nero Digital, beinhaltet einen von der Nero AG und Ateme entwickelten H.264-Kodierer.
  • Sorenson bietet eine Implementierung von H.264 an.
  • Main Concept bietet einen H.264-Kodierer an.
  • Lead Technologies hat einen H.264-Videocodec.
  • CoreAVC ist ein Software-H.264-Decoder
  • Pixeltools Expert-H264
  • Flash Player 9 Update 3
  • nanocosmos bietet H.264 – Codecs für Windows und MacOS an

Patente

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“),[2] 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 Video-Codecs „H.264/AVC“ von der MPEG LA – lief bis zum 31. Dezember 2010.[3]

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.[4] Die MPEG LA hat mittlerweile angekündigt, für die Nutzung von kostenfreien Streamingangeboten dauerhaft keine Lizenzgebühren zu verlangen.[5][6]

Wiedergabe am PC

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 mit dem MPlayer und dem VLC media player gegeben. Beide beherrschen optional die Decodierung von H.264 und können alle relevanten Container lesen. Zudem sind beide Programme frei 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 Mac OS X 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 kann sehr viel CPU-Leistung benötigen, sodass bei Full HD sogar moderne Rechner an ihre Grenzen geführt werden. 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.[7]

Weblinks

Einzelnachweise

  1. H.264/AVC JM Reference Software – Seite beim HHI; Stand: 22. April 2010
  2. MPEG LA (englisch) – offizielle Webseite; Stand: 28. August 2009
  3. Lizenzbedingungen für Videocodec H.264/AVC veröffentlicht – Artikel bei heise online, vom 18. November 2003
  4. Media (englisch) – Seite bei der MPEG LA; Stand: 5. Februar 2010
  5. MPEG LA’s AVC License Will Not Charge Royalties for Internet Video That Is Free to End Users Through Life of License (englisch) – Artikel bei Business Wire, vom 26. August 2010
  6. MPEG LA: Dauerhaft keine Lizenzkosten für freies Internet-Streaming von MPEG-4 AVC (H.264) – Artikel bei heise online, vom 26. August 2010
  7. Fit für High Definition

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР
Synonyme:

Schlagen Sie auch in anderen Wörterbüchern nach:

  • 264 (число) — 264 двести шестьдесят четыре 261 · 262 · 263 · 264 · 265 · 266 · 267 Факторизация: 2×2×2×3×11 Римская запись: CCLXIV Двоичное: 100001000 Восьмеричное: 408 Шестнадцатеричное: 108 …   Википедия

  • 264-я пехотная дивизия (Германия) — 264 я пехотная дивизия Годы существования ноябрь 1943 декабрь 1944 Страна …   Википедия

  • (264) Либусса — Открытие Первооткрыватель К. Г. Ф. Петерс Место обнаружения Клинтон Дата обнаружения 22 декабря 1886 Эпоним Либусса Категория Главное кольцо …   Википедия

  • (264) libussa — 264 Libussa pas de photo Caractéristiques orbitales Époque 18 août 2005 (JJ 2453600.5) Demi grand axe 418,762×106 km (2,799 ua) Aphélie …   Wikipédia en Français

  • 264 Libussa — (264) Libussa 264 Libussa pas de photo Caractéristiques orbitales Époque 18 août 2005 (JJ 2453600.5) Demi grand axe 418,762×106 km (2,799 ua) Aphélie …   Wikipédia en Français

  • 264 av. J.-C. — 264 Années : 267 266 265   264  263 262 261 Décennies : 290 280 270   260  250 240 230 Siècles : IVe siècle …   Wikipédia en Français

  • .264 Winchester Magnum — Allgemeine Information Kaliber …   Deutsch Wikipedia

  • (264) Libussa — 264 Libussa Caractéristiques orbitales Époque 18 août 2005 (JJ 2453600.5) Demi grand axe 418,762×106 km (2,799 ua) Aphélie 475,310×106 km (3,177 ua) Périhélie …   Wikipédia en Français

  • .264 Winchester Magnum — Infobox Firearm Cartridge name= .264 Winchester Magnum caption= .264 Winchester Magnum origin= United States type= Rifle service= used by= wars= designer= Winchester design date=1959 manufacturer= Winchester production date= number= variants= is… …   Wikipedia

  • 264-я стрелковая дивизия (1-го формирования) — 264 я стрелковая дивизия Войска: сухопутные …   Википедия

  • 264 год до н. э. — Годы 268 до н. э. · 267 до н. э. · 266 до н. э. · 265 до н. э. 264 до н. э. 263 до н. э. · 262 до н. э. · 261 до н. э. · 260 до н. э. Десятилетия 280 е… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”