Privacy Policy Cookie Policy Terms and Conditions H.264 - Wikipedia

H.264

aus Wikipedia, der freien Enzyklopädie

H.264/MPEG-4 AVC ist ein hocheffizienter Standard zur 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 in beiden Organisationen im identischen 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).

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.

Inhaltsverzeichnis

[Bearbeiten] 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 der HD-DVD und Blu-ray Disc-Standards, sowie für die hochauflösende Fernsehübertragung (z. B. mittels DVB-S2 bei Pro7 HD, Sat.1 HD und Premiere HD) verpflichtend.
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 und die 5. Generation des iPods können H.264-Videos abspielen. Auch der seit mitte November in Amerika erhältliche iPod-Konkurent, Zune von Microsoft gibt H.264 wieder.
Multimedia
Apple liefert sein Multimedia-Framework QuickTime ab Version 7 mit einem H.264-Codec aus. So sind beispielsweise in iChat AV erstmalig Mehrfach-Videokonferenzen möglich.
Videokonferenztechnik
Seit 2005 stehen Anwendern Videokonferenzendsysteme mit H.264-Codecs zur Verfügung.

[Bearbeiten] Verwandte Verfahren

Während der Entwicklung von H.264 spalteten sich zwei kommerzielle Entwicklungen ab, die mehr oder weniger direkt auf H.264 aufsetzen:

  • Sorenson Video 3, ein im Umfeld von QuickTime sehr verbreiteter Codec, der nur in Details von H.264 abweicht.
  • Microsoft Windows Media Video 9 (WMV9) ist ein proprietärer Videocodec der Firma Microsoft mit H.264-Technologie.

Die Variante VC-1 (vormals VC-9 nach WMV9) ist ebenfalls einer der obligatorischen Codecs für die HD-DVD und BD-DVD.

[Bearbeiten] 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) auf 8 × 8 Pixel großen Blöcken wird eine von der DCT abgeleitete Integertransformation auf 4 × 4-Pixel-Blöcken verwendet. Die Berechnung dieser Transformation kommt lediglich mit Additionen, Subtraktionen und binären Verschiebeoperationen aus, was eine Hardwareimplementation deutlich vereinfacht. Durch die geringere Blockgröße werden außerdem Ringing-Artefakte reduziert.
  • 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 (CABAC, Context Adaptive Binary Arithmetic Coding).
  • 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). Dabei wird zur Generierung der Zwischenpixel nicht mehr eine einfache bilineare Filterung eingesetzt, sondern es wird ein FIR-Filter verwendet, das die Bildschärfe besser erhält.
  • 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 JPEG2000.
  • Long-Term Prediction: P- und B-Frames können nicht nur Referenzen auf den jeweils letzten I- oder P-Frame enthalten, sondern auch zu theoretisch beliebig vielen vorhergehenden, um eine effizientere Kodierung von periodischen Bewegungen zu ermöglichen. In den Profiles und Levels ist die Anzahl von Referenzbildern allerdings auf maximal fünf begrenzt.
  • Weighted Prediction: Werden Bildinhalte aus mehreren Referenz-Frames gemischt, können die Quellen beliebig gewichtet in die Mischung eingehen. So lassen sich "Fades" 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). 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.

Siehe auch: Prädiktive Kodierung

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

[Bearbeiten] Level

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

[Bearbeiten] Implementierungen

[Bearbeiten] 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 Serviceanbietern, welche 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, 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.

[Bearbeiten] Weblinks

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu