Zurück zur Startseite Forum Kontakt zum Team Impressum
 
Grundlagen
Empfang
Receiver / HTPC
TV-Karten
TV-Software
Linux
digital-Recording
Fernbedienung
Download-Center
Hilfe / Glossar
Links
Werbung / Banner
Literatur
Impressum
Suche


modVES.de

Partnershop: DVBShop.net

>> DVBmagic.de >> digital-Recording >> Grundlagen

Videocodecs

In diesem Teil meiner Arbeit möchte ich einige der bekanntesten Videocodecs vorstellen. Ganz besonders möchte ich den MPEG-2 Standard erläutern und dabei auf dessen Funktionsprinzip eingehen, da dies wohl der weitverbreiteste Codec in unserer heutigen Zeit ist. Für den Otto-Normal-Verbraucher spielt dieser Standard eine sehr große Rolle, seit dem er mit der DVD und dem digitalen Fernsehen (DVB-S ; DVB-C ; DVB-H ; DVB-T ) nahezu unser Leben "beherrscht" beziehungsweise unser Leben jeden Tag kreuzt.

Aber was ist eigentlich ein Codec?

Um diese Frage vorab zu klären folgt eine kleine Definition.

Das Wort "Codec" ist im eigentlichen Sinne ein zusammengesetztes Wort, welches aus den Wörtern "Coder" und "Decoder" besteht. Der Codec kann entweder in Hardware oder in Software realisiert werden. In der Multimedia-Welt ist der Codec meist eine Software, welcher bestimmte Video- und Audioformate komprimiert und später wieder dekomprimiert. Die wohl bekanntesten Video-Codecs sind MPEG-1, MPEG-2, MPEG-4, DivX, XviD, Quicktime oder zum Beispiel auch WMV. MP3, WMA, oder OggVorbis sind die Namen einiger bekannten Audiocodecs. Mit welchem Codec eine Video- oder Audiodatei encodiert wurde, kann man meist anhand der Dateiendung - welche nämlich dem Codecnamen enstpricht - erkennen.

MPEG - Die Motion Picture Experts Group

Die MPEG-Formate genießen die höchste Popularität unter allen anderen Videocodecs. Hinter der MPEG-Abkürzung steht die Motion Picture Experts Group. Der offizielle Name dieser Gruppe ist allerdings etwas komplexer, ISO/IEC JTC1 SC29 WG11 , und deswegen nicht so geläufig. Seit dem ersten Treffen im Jahre 1988, treffen sich zirka 360 Mitglieder viermal im Jahr für eine Woche. Dabei beschränkt sich die Aufgabe der Treffen, meist nur auf Koordinierung und Verteilung der Arbeit der einzelnen Arbeitsgruppen. Die Mitglieder stammen aus verschiedenen Firmen und aus verschiedenen Universitäten, wobei die Nationalität der Mitglieder spielt dabei keine Rolle, da es eine internationale Organisation ist. Die MPEG-Group verfolgt seit ihrem Gründungsjahr ein- und dasselbe Ziel, Videos auf eine beschränkte oder eine bestimmte Datenrate zu kodieren. Allerdings spezifisieren die MPEG-Standards nur ein Datenmodell zur Kompression von bewegten Bildern und Tonsignalen. Somit ist der MPEG-Standard relativ unabhängig und kann auch in fremde Container-Formate eingebunden werden. Das erste Projekt der Motion Picture Experts Group war der MPEG-1 Standard.
(IEC=International Electro-Technical Comission; JTC1=Joint Technical Comitee 1; SC29=Sub-Comitee 29; WG11=Work Group 11)

MPEG-1-Standard

Dieser ende 1991 entstandene Codec ist einer der ersten Standards die von vielen Standalone-Playern beziehungsweise auf vielen verschiedensten Plattformen genutzt und verarbeitet werden. Bei Microsoft's Windows ermöglicht zum Beispiel der hauseigene Windows Media Player samt Mircosoft's MPEG1 - Codec das Dekodieren des MPEG1-Videos.
Bevor es jedoch soweit kam, musste der MPEG-1 Standard erst einmal entwickelt werden. Das damals gesetzte Ziel bestand darin, die analoge VHS-Kassette qualitätsmäßig durch eine digitale Speicherform zu ersetzten, in diesem Falle also MPEG-1 beziehungsweise die VideoCD (VCD). Aus dieser Forderung ergab sich die Auflösung von 352 x 288 Bildpunkten und eine Bildwiederholfrequenz von 25 Hertz (25 Bilder pro Sekunde). Ein ebenso bedeutendes Merkmal von MPEG-1-Videos ist die Anzahl von 16,7 Millionen Farben (TrueColor) die standardmäßig benutzt wird. Weiterhin ist es möglich unterschiedliche Bitraten, welche von 650 kbit/s bis 1150 kbit/s CBR (Constant Bitrate) reichen, zur Encodierung des Videos zu nutzen, wobei der Sound in Stereo und mit einer Bitrate von 96kbit/s bis 192kbit/s zu encodiert wird.

Der MPEG-1-Codec kodiert nach dem eben kennen gelernten Arten der Komprimierung von Informationen, einerseits die Redundanzreduktion und auf der anderen Seite die Irrelevanzreduktion. Bei Redundanzreduktion griffen die Entwickler von MPEG-1 auf die schon vorhandene JPEG-Komprimierung zurück und übertrugen dies auf bewegte Bilder. Da aber die alleinige Nutzung des JEPG -Algorithmus nicht die gewünschte Kompressionsstärke hätte, wurde ein einfacher aber zu gleich genialer "Trick" angewandt. Es wird immer nur das erste Bild (I-Frame) komplett kodiert und gespeichert, bei jedem weiteren Bild (P- und B-Frames) einer Bildfolge werden dann nur noch die Änderungen der Pixel kodiert. Dieser Vorgang wird dadurch möglich, dass die aufeinander folgenden Bilder eine relativ hohe Ähnlichkeit haben und sich bestimmte Teile des Bildes nicht oder nur minimal ändern. Das folgende Beispiel dürfte dies verdeutlichen.

Beispiel:

Bei einer Nachrichtensendung ist der Hintergrund meist konstant oder ändert sich nur minimal, wodurch diese Hintergrundinformationen nicht so häufig übertragen werden müssen. Weiterhin ändert der Nachrichtensprecher kaum seine Position im Bild und bewegt meist nur "kleine Teile" seines Körpers. So müssen also nach der Komprimierung des ersten Bildes (I-Frame) nur noch die Änderungen des Nachrichtensprechers, also z.B. dessen Mund-, Augen- und Armwegungen in den folgenden Bildern (P und B-Frames) gespeichert werden.

Da aber auch diese Vorgehensweise (Redundanzreduktion) nicht komplett die gute Kompression des MPEG-Codecs erklärt, möchte ich jetzt auf die schon erwähnte Irrelevanzreduktion zu sprechen kommen.

Im Verfahren der Irrelevanzreduktion werden die Bildinformationen weggelassen, welche der Mensch nicht wahrnehmen kann. Um diese Informationen auszurechnen, wird ein komplizierter und sehr komplexer DCT-Algorithmus angewandt. Außerdem wird die Farbdarstellung (Chrominanz) verringert, dies geschieht, in dem der Coder - oder auch Encoder genannt - die Farbinformation von jeweils 4 Pixel zusammenfasst und danach quasi einen Mittelwert davon bildet.
Wie gerade eben schon erwähnt, benutzt der MPEG-1 Standard verschiedene Bildtypen oder auch Frames genannt. Zum ersten wären das die I-Frames (Intra Frames), diese Frames entsprechen vereinfacht einem JPEG komprimierten Bild. Danach folgen die P-Frames (Predicted Frames), diese sind vorhergesagte Bilder, die mit Hilfe der Differenzrechung von den ursprünglichen I-Frames errechnet werden. Die B-Frames (Bidirectional Frames) sind errechnete "Mittelbilder" zwischen den I- und P-Frames. Der Abstand zwischen I- und P-Frames kann 10 bis 15 B-Frames entsprechen.

Frames


Anwendung findet dieser Codec bei der VideoCD (VCD), die dank des MPEG-1-Standards 75 Minuten Video mit einer Bitrate von 1150 kbit/s auf eine 700 MegaByte große CD fassen kann. Die Qualität einer VCD war mit der Qualität eines VHS-Systems gleich zusetzen und wurde somit ein großer Erfolg, vor allem auf dem asiatischen Kontinent (zum Beispiel Japan). Ebenso gewannen die erwähnten Audiokodierungsverfahren des MPEG-1-Standards an großer Popularität. Insgesamt gibt es drei verschiedene Layer, aber der bekannteste ist wohl der MPEG-1-Audio Layer 3 oder kurz MP3. Aber später mehr dazu.

MPEG-2-Standard

Kurze Zeit nachdem der MPEG-1-Standard fertig gestellt wurde, merkte das Gremium, dass der MPEG1-Standard einen großen Nachteil, nämlich die konstante Bitrate. Somit konnte man kein digitales Video in "Studioqualität" bieten, welches aber nun dringend benötigt wurde. Daraufhin entwickelte die Arbeitsgruppe ein noch komplexeres und umfassenderes Kodiersystem als es bei MPEG-1 benutzt wurde.
MPEG-2 wurde für ein komplett neues Umfeld entwickelt, welches nun nicht mehr die VideoCD, sondern überwiegend der Einsatz im Fernsehfunk ist. Anhand der MPEG-2 Kodierung wurde es möglich, dass der Verbraucher ein Bild empfängt, welches mit der originalen "Studioqualität" vergleichbar ist. Somit ist der Einsatzbereich es Codecs eigentlich klar. Die "verlustfreie" und hochqualitative Übertragung von Filmen im TV, ebenso wie das Medium DVD, wessen Grundlage ebenfalls der MPEG-2-Standard ist. Neben der verbesserten Qualität ist ein weiterer Grund für den Einsatz von MPEG2 die Verringerung der Kosten bei Satellitenübertragungen. Da durch diese Technik anstatt eines analogen TV-Kanals zirka 5 bis 7 digitale Fernsehkanäle auf einem Satellitenkanal (Transponder) Platz finden. HDTV (High Definition TV), das Fernsehformat der Zukunft, wurde ebenfalls zum Beispiel von ProsiebenSat1Media AG und Astra mit dem MPEG2-Videocodec populär gemacht, wird jedoch in der Zukunft mit dem Nachfolger MPEG-4 seinen Durchbruch feiern.

Aber was steckt eigentlich hinter, dem so oft erwähnten Codec, MPEG-2?

Dieser Codec der Motion Picture Experts Group ist seit dem Jahr 1994 ein Standard. Dieser umfasst eine komplexe Audio- und Videokodierung, dabei kann ein Qualitätsspektrum von MPEG-1-Qualität bis HDTV-Qualität erlangt werden. Um dies zu ermöglichen kann nun bei MPEG2 - Video eine variable Datenrate von nur wenigen Mbit bis zu enorm hohen Datenraten von bis zu zirka 80 MegaByte pro Sekunde genutzt werden. Auch in der Audiokodierung gab es jede Menge Innovationen, so unterstützt der Standard ein mehrkanaliges Audioformat wie zum Beispiel AC3 . Bei der DVD häufig vorkommende Untertitel sind ebenfalls eine Neuentwicklung, sowie die Möglichkeit einen Videostream von mehreren Blinkwinkeln (Angels) aus zusehen oder gar eine von mehreren Tonspuren auszuwählen. Kaum weg zudenken sind bei den DVD's, die meist aufwendig gestalteten animierten und interaktiven Menüs, auch das haben wir den Entwicklern von MPEG-2 zu verdanken.
Profiles and Levels, Scalability sowie Security - so lauten die Schlagworte des MPEG-2-Standards. Die Profiles und Levels haben die Funktion verschiedene zur Verfügung stehende Parameter der Kodierung einzuschränken, somit sind verschiedene vordefinierte Profiles und Levels entstanden. Die verschiedenen Profiles und Levels sind für die unterschiedlichsten Anwendungen des MPEG-2-Standards gedacht (siehe Tabelle 1).

Level Auflösung max. Bitrate Qualität
Low 352x288 Pixel 4 MBit/s VHS
Main 720x576 15MBit/s TV in Studioqualität
High 1440 1440x1152 60MB/s HDTV
High 1920x1080 80MB/s Produktionsqualität
Tabelle 1


Mit dieser Variation an verschiedenen Eigenschaften ist MPEG-2 auf alle Eventualitäten in der digitalen Video-, Übertragungs- und Fernsehtechnik vorbereitet.
Scalability liefert eine Möglichkeit von unterschiedlicher Endnutzung, aus ein- und derselben Quelle oder besser aus ein- und derselben feststehenden Kodierung. Dabei kann der Endnutzer entscheiden, welche Teile einer Übertragung er konsumieren möchte.

Zitat von Leonardo Chiariglione (Mitglied der MPEG-Gruppe):
Scalability ist die Möglichkeit des Dekoders, Teile eines Datenstromes zu ignorieren und doch sinnvolle und angepasste Video- und Audioausgaben zu erzeugen.

Dieses Zitat beschreibt die Scalability treffend und sagt aus, dass sich der Vorgang der Scalability auf die Dekodierung beziehungsweise auf die daraus folgende Wiedergabe einer MPEG-2-Datei beschränkt. Vereinfacht bedeutet das, dass sich der Player (zum Beispiel Windows Media Player) nur die Informationen einer Datei holt, die er auch für die Wiedergabe braucht. Welche Informationen er braucht, legt jedoch der Benutzer fest (zum Beispiel Untertitel an oder aus, deutsche- oder englische Tonspur).
Das Stichwort der Security (Sicherheit) wurde erstmals mit dem MPEG-2-Codec in einem Videocodec konzepiert. Zur Sicherheit einer MPEG-2-Datei trägt bei, dass der Codec relativ robust gegenüber Bitfehlern und Zellenverlusten ist. Außerdem sind die Informationen mit einem Chiffrier-Algorithmus verschlüsselt. Diese Verschlüsselung wird speziell bei der Satellitenübertragung genutzt, wenn zum Beispiel Filme von einem Produktionsstudio zum anderen Studio geschickt werden. Pay-TV-Kanäle nutzen die MPEG-2 Verschlüsselung ebenso, wie zum Beispiel der deutsche Pay-TV-Sender Premiere.
Von den etlichen Merkmalen des MPEG-2-Standards möchte ich nun direkt auf die Funktionsweise, also die Komprimierung, des Standards eingehen. Wie zu erwarten ist, ähnelt er den Funktionsprinzipien des MPEG-1-Standards. Der einzigen Unterschiede sind die Effizienz und die variable Bitrate gegenüber dem Vorgänger. Im Teil der Redundanzreduktion gibt es keine wesentlichen Unterschiede, es werden ebenso die wiederholenden Bildinformationen nur einmal gespeichert, beziehungsweise kodiert. Im Kompressionsansatz der Irrelevanzreduktion gibt es schon eine große Entwicklung. Der DCT-Algorithmus rationalisiert zwar, wie bei MPEG-1, zuerst die für den Menschen überflüssigen Bildinformationen weg. Dabei werden ebenfalls die Einzelbilder (I-,P- und B-Frames) mit einer temporären Anhängigkeit kodiert, aber MPEG-2 kennt nicht nur die Frames einer Videosequenz, sondern auch sieben Hierarschiestufen.

MPEG2 Aufbau
(zum Vergrößern anklicken)


In der obersten Stufe steht hier eine beliebige Videosequenz. Diese kann man, wie bekannt, in verschiedene Frames unterteilen, allerdings mit einer immer gleichen Abfolge der verschiedenen Frames (I-,P- und B-Frames). Zusammengefasst sind diese Frames eine sogenannte Groups of Pictures. Ein beliebiger Frame dieser Gruppe unterteilt sich wiederum in Slice. Slice sind horizontale Aneinanderreihungen von n Makroblöcken. Makroblöcke sind wiederum Blöcke aus 16 x 16 Pixel. Dieses 256 Pixel große Quadrat wird nochmals in 4 Blöcke zu je 8 x 8 Pixel unterteilt. Das sind die sieben Hierarschiestufen einer MPEG-2-Videosequenz.
Die Kodierung der I-, P- und B-Frames ist ebenfalls fast identisch mit der Kodierung der Frames des MPEG-1 Formates.
Die I-Frames werden mit der Transformationskodierung komprimiert (JPEG-Kodierung). Ihr Auftreten in regelmäßigen Abstanden ist notwendig, da sich alle anderen Frames von diesen Frame ableiten beziehungsweise errechnen. Der Komprimierungsgrad ist bei diesem Frame noch nicht enorm groß, da er wie gesagt mit der JPEG-Kodierung komprimiert wird und alle Informationen enthält. Die Kodierung der Predicted-Frames (P-Frames) benutzt die vorangegangen I-Frames sowie P-Frames für eine Bewegungsschätzung - oder auch Bewegungsvorhersage genannt. Dies bedeutet, dass der P-Frame auch als Referenz für eine Bewegungsvorhersage dient, welche aus Bewegungsvektoren und Differenzblöcken errechnet wird. Die P-Frames sind deutlich höher komprimiert wie die I-Frames, da räumlich und zeitlich redundante Informationen bei der Kodierung berücksichtig wurden.
Wie schon im vorherigen Kapitel erwähnt, hängen die B-Frames von den den I- und P-Frames ab. Jeder Block eines B-Frames kann vorwärts-, rückwärtsorientiert sowie bidirektional geschätzt werden. Somit besitzt der B-Frame eine Bewegungsvorhersage in beide Richtungen, wo hingegen der P-Frame nur in eine Richtung geschätzt werden kann (vorwärts). Das bedeutet, der B-Frame kann sich sowohl Bildinformationen von einem vor sich befindenden Frame holen, als auch von einem Frame der sich zeitlich gesehen hinter ihm befindet. Anhand dieser abstrakten Verdeutlichung wird klar, dass der B-Frame die höchste Komprimierungsrate der 3 Framearten besitzt. Dies fordert dem Prozessor beim vor allem Encoding eine enorm hohe Rechenleistung ab. Beim Decoding ist jedoch die Systembelastung nicht so hoch, wodurch der MPEG2-Codec zu asymmetrisches Algorithmen beziehungsweise Verfahren zählt.

MPEG-4-Standard

Die erste Version dieses Standards wurde 1998/1999 veröffentlicht, im folgendem Jahr wurde auch schon die zweite Version des MPEG-4-Codecs publiziert, seit 2001 ist die letzte und dritte Version auf dem Markt.
MPEG-4 ist ein sehr komplexes, an Quicktime orientiertes, Containerformat, welches an der offiziellen Endung MP4 zu erkennen ist. Die Zielsetzung des neuen Codecs bestand nicht darin, die vorherigen Standards abzulösen, sondern diese nur zu ergänzen.
Ursprünglich war dieses Format für Low-Bitrate-Anwendungen gedacht, sprich für Videotelefonie oder für Internetanwendungen, speziell für die große Masse der Schmalband-Nutzer (zum Beispiel ISDN). Da diesen Anwendungsbereich bereits der H.263-Standard komplett abdeckte, verschob sich der Fokus neben der Videokodierung ebenfalls auf interaktive Objekte, 3D Welten sowie Sprachsynthesen.
Die MPEG-4-Komprimierung ist zu vielen anderen Video-Codecs kompatibel, somit implementieren viele Programmierer MPEG-4 in ihre Codecs, wie zum Beispiel DivX.

DivX

DivX ist ein MPEG-4-kompatibler Videocodec, welcher von DivXNetworks Inc. entwickelt wurde. Durch seine bahnbrechende Videoqualität im Verhältnis zu der Größe der kodierten Datei, gewann dieser Codec an Popularität.
Der Codec enstand früher, bis zur Version 3.11, indem man den MPEG-4-Codec gehackt hat. Dies gelang dem französischem Hacker Jerome ‚Gej' Rota, als er mit Hilfe einer Betaversion des Windows Media Player's eine MPEG-4-Datei extrahierte. Gej modifizierte den Codec darauf folgend, um das komprimierte Video nicht nur, wie von Microsoft geplant, im ASF-Format zu speichern, sondern auch als AVI-Datei.
Später gründete Gej eine Firma namens DivXNetworks Inc., um seinen Codec vermarkten zu können. Allerdings musste er ihn komplett neu programmieren, da er sonst Ärger mit dem amerikanischen Patentamt bekommen hätte, im Bezug auf den patentierten MPEG-4-Standard. Als er seinen Codec vollendet hatte, ließ er diesen ebenfalls patentieren. Somit war klar, dass dies kein OpenSoure-Codec mehr sein wird. Aus diesem Grund gründete die DivX Networks Inc. im Jahr 2000 ein Projekt namens OpenDivX. Anhand dieses Projektes wollten sich die Mitarbeiter Anregungen für ihren kommerziellen Codec holen, das Projekt wurde aber schon nach kurzer Zeit wieder geschlossen.
Dennoch ist der DivX-Codec ein weit verbreiteter Codec, vor allem liegt das an der sehr intensiven Komprimierung. So kann man zum Beispiel eine DVD, welche eine durchschnittliche Größe von sechs bis acht GigaByte besitzt, auf einer einzigen 700MB großen CD Rom sichern. Trotz dieser hohen Differenz zwischen den zwei Speicherkapazitäten, ist die Qualität der DivX-Datei relativ hoch, allerdings bilden sich in schnellen Szenen Kompressionsartefakte. Aus diesem Grund ist es sehr ratsam, einen zweistündigen Film, auf zwei 700MB große DivX-Dateien zu enkodieren.
Die MPEG-4-Advanced-Profiles machen es möglich mit Hilfe des DivX-Codecs, eine herkömmliche DVD auf ein fünftel ihrer Gesamtgröße zu komprimieren, ohne wesentliche Qualitätsverluste in Kauf nehmen zu müssen. Die Anwendungen NeroDigital und der PowerEncoder , von Cyberlink entwickelt, können dies heute schon nahezu perfekt realisieren.
Auf Grund dieser guten Argumente, die für den DivX-Codec sprechen, gibt es seit zirka drei Jahren die ersten Standalone-DVD-Player, die DivX-Videos wiedergeben können.

XviD

Die Basis für diesen OpenSource-MPEG-4-Codec XviD gab der OpenDivX-Quellcode, welcher im Jahr 2000 unter dem gleichnamigen Projekt von DivXNetworks Inc. veröffentlich wurde. Nachdem das OpenDivX-Projekt geschlossen wurde, gründeten mehrere freiwillige Programmiere das XviD-Projekt. Der Name ist eine kleine Anspielung auf das DivX-Projekt, rückwärts geschrieben ergibt dieser XviD. Nach dem Release der ersten stabilen Version des Codecs, stoß er auf eine große Nachfrage in den dementsprechenden Fachkreisen. Nach mehrmaligen Weiterentwicklungen, wie zum Beispiel die Kompatibilität mit den MPEG-4-Advanced-Profiles, zählt der OpenSource-Codec XviD heute zu den bekanntesten MPEG-4-Encodern, neben DivX und HDX4.

HDX4

Der HDX4-Codec ist der MPEG-4-Codec der deutschen Firma Jomigo. In Fachkreisen wird dieser Codec als der schnellste MPEG-4-Encoder, der heutigen Zeit, gehandelt. Der Haken an dieser Sache ist, dass er dadurch relativ uneffizient kodiert. Das wiederum bedeutet, dass die Ausgabedatei mehr Speicherbedarf benötigt, als vergleichbare Videos im DivX- oder XviD-Format. Ebenfalls unterstützt dieser Codec der deutschen Entwickler die MPEG-4-Advanced- sowie MPEG-4-Simple-Profiles.

Seite drucken    DVBmagic News als RSS Feed    DVBmagic News als ATOM Feed







www.dvbmagic.de   (0.0933s) Copyright 2001 - 2011 by Stefan Pratsch und Andreas Erbe


DVB und MHP sind eingetragene Marken der DVB Project