Infos zum Codec H.264

 

Geschichte vom Codec H.264 / AVC

Noch im Jahre 2005 war der Codec in der Entwicklungsphase. Er entstammt dem VSS264-Codec, den es inzwischen jedoch nicht mehr gibt. Geschrieben wurde er von der ITU-T Video Coding Experts Group (VCEG) in Zusammenarbeit mit der MPEG. Der Namensteil H.264 rührt dabei von der VCEG- Codecreihe H.26x und AVC von der Moving Picture Experts Group her. Seit Juli 2008 gibt es die offizielle Ergänzung zum H.264 Codec, das sogenannte Multiview Video Coding (MVC), so dass nun auf stereoskopische Videoaufnahmen von zwei simultan laufenden Kameras in ein und demselben Videocodec gespeichert werden können.

Grundsätzliche Informationen zum Codec H.264 / AVC

Der Codec baut auf seinen Vorgängern, MPEG1, MPEG2, MPEG4, sowie H.261 auf und trägt daher auch die Namen MPEG4 part 10 oder einfach nur AVC. Er stellt einen der Standards für Blu-ray Medien dar. Des Weiteren ist er aufgrund seiner hervorragenden Bildqualität bei sehr geringen Dateigrößen einer der wichtigesten Codecs für Medienanwendungen, gleich welcher Art. Gerade im Internet spielt er deshalb eine sehr große Rolle. Der Codec befindet sich in unterschiedlichen Containerformaten, wobei sein Standardcontainer *.mp4 ist. Im Matroska-Container kann man H.264/AVC jedoch aufgrund der Vielfalt von Matroska ausgiebig nutzen, z. B. um interaktive Menüs oder Untertitel zu speichern. Dies funktioniert bei anderen Containern nicht.

Technische Daten zum Codec H.264 / AVC

H.264 verwendet keine 8x8 Pixel-Blöcke umfassende DCT, sondern eine von der DCT abgeleiteten 4x4 Pixel-Blöcke Integertransformation. Diese Art der Transformation arbeitet nur mit Addition und Subtraktion, sowie binären Verschiebeoperationen. Dadurch kann man H.264 einfacher in Hardware einpassen. Des Weiteren wurde die Entropiecodierung an die Inegertransformation angepasst. Neben der huffmannartigen CLV-Codierung (CAVLC) gibt es eine erweiterte arithmetische Codierung (CABAC).

Makroblöcke, die eine Größe von 16x16 Pixeln haben, können bei H.264 auf 4x4 Pixel große Blöcke heruntergerechnet werden. Jeder dieser Blöcke erhält dabei einen eigenen Bewegungsvektor. So ist es möglich, selbst komplexe Bewegungen sehr gut zu codieren. Die Bewegungskompensation ist grundsätzlich auf 1/4 Pixel genau.

Innerhalb eines I-Frames kann H.264 ebenfalls Bildanteile vorhersagen. So werden Pixelblöcke mit umliegenden Pixelblöcken verglichen und nur Veränderungen gespeichert. Wenn man das System auf die GOP zurückführt, dann kann man sagen, dass es I-Pixelblöcke, B- und P-Pixelblöcke gibt.

B- und P-Frames können sich bei H.264 nicht nur auf die jeweils vorhergehenden Frames beziehen, sondern theoretisch auf weit davor und weit danach liegende Frames. So kann man, zumindest dateigrößentechnisch, noch effektiver komprimieren. Nutzt man jedoch Profile und Level, so ist diese Option auf maximal 5 vorhergehende bzw. nachfolgende Bilder begrenzt. Aus- und Überblendungen lassen sich sehr gut codieren, da H.264 Bildinhalte von verschiedenen Referenzframes mischen kann und ihnen eine Wertigkeit zuordnen kann.

Die Flexible Makroblock Ordnung erlaubt es, dass Pixelblöcke in einem Frame frei angegeben werden können. Bei Kanalverlusten (also Mobilfunkvideos) kann man somit Informationsverluste kompensieren.

H.264 bietet immense Möglichkeiten und wird dadurch leicht unüberschaubar. Aus diesem Grunde gibt es verschiedene Profile und Level, um das Zusammenspiel vom Codec mit Endgeräten zu vereinfachen. Folgende Standardprofile wurden für H.264/AVC definiert:

- Baseline Profile (BP): Videokonferenzen und Mobilfunk

- Main Profile (MP): Archivierungsprofil, abgelöst durch HiP

- Extended Profile (XP): Streaming

- High Profile (HiP): Blu-ray, DVD und Archivierung

- High 10 Profile (Hi10P): wie HiP, nur mit 10 bit

- High 4:2:2 Profile (Hi422P): wie Hi10P, nur mit 4:2:2-Sampling

- High 4:4:4 Profile (Hi444P): wie Hi10P, nur mit 4:4:4-Sampling

Anwendungsgebiete des Codecs H.264 / AVC

H.264/AVC bietet eine breite Palette an Anwendungsmöglichkeiten. Als AVCHD wird er bei Consumer-Videokameras als Aufzeichnungscodec eingesetzt. Er kann als Standard für die Erstellung von Blu-ray Discs herangezogen werden und wird bei der digitalen HD-Fernsehübertragung mittels DVB-S2 angewendet.

Doch auch bei SD und noch kleineren Formaten spielt H.264 eine entscheidende Rolle. Die Mobilfernsehstandards DMB und DVB-H verwenden H.264-Codes. Die Play-Station Portable von Sony, iPods ab Generation 5, das Apple iPhone und der Zune Player arbeiten mit H.264. Des Weiteren werden seit 2005 Videokonferenzsysteme auf H.264-Basis verwendet. Seit im Jahre 2008 MVC als Ergänzung hinzukam, wird H.264 auch beim 3D-Fernsehen, sowie bei 3D-Trickfilmen, die mit Shutterbrillen angeschaut werden, verwendet.

4CCs des Codecs H.264 / AVC

AVC1, H264, DAVC, X264, VSSH

Download von Beispielen

Laden Sie hier ein Ausgangsvideo, sowie unterschiedlich codierte Videos herunter, um an den einzelnen Beispielen zu sehen, wo Schwachstellen des Codecs liegen (Blockartefakte, Schärfeverluste, Chroma- und Lumaverluste, etc.)

PSNR DATEN VERFÜGBAR - HIER HERUNTERLADEN.