Codecs

Platz sparen

Schublade, aus der Zeitungsauschnitte quillen

Ohne Codecs wären Filme heute nicht in diversen Medien oder auf Leinwand verbreitbar

Wann immer analoge Videosignale digitalisiert werden, explodieren die Datenmengen. Wenn man normales Standard-Definition PAL-Fernsehen digitalisiert, 25 Bilder in der Sekunde und eine Farbtiefe von 4:4:4, so kommt man auf eine Datenmenge von ca. 31 MB/Sekunde. Dies war insbesondere in der Frühzeit der Digitalisierung entschieden zu viel. Die einzige Lösung, Filme für Consumerzwecke, aber auch im Profibereich platzsparend aufzuzeichnen, besteht deshalb darin, die Datenmenge zu reduzieren.

 

Normierung

Hierfür verwendet man Videokodierungstechniken, von denen MPEG wohl die bekannteste ist. Sie kommt als MPEG-2 beispielsweise bei der DVD oder als MPEG-4 bei der BluRay zur Anwendung und ist damit zu einem weitverbreiteten Standard geworden. Dieser wurde zum Ende der 80er Jahre von einem Gremium, welches sich "Moving Picture Experts Group" nannte, festgelegt und 1993 verbindlich verabschiedet. Darin festgelegt sowohl die Video-, als auch die Audio-Komprimierung sowie Synchronisation und Verknüpfung (Multiplexing) der Video- und Audio-Daten. Heute kennen wir die Standarts MPEG-1, MPEG-2, MPEG-4 sowie MPEG-7. Zum Wandeln von einem Codec in den anderen gibt es freie Software im Internet.

 

Arbeitsweise

Daten zu reduzieren, ohne auf wichtige Informationen zu verzichten, ist ein komplexes Unterfangen. Dabei werden Wahrnehmungspsychologische Besonderheiten des Menschen und Wahrnehmungsfehler sehr gezielt genutzt, um zum gewünschten Ergebnis zu gelangen. Zunächst einmal werden alle Informationen, die das menschliche Auge ohnehin nicht wahrnehmen kann, entfernt. Ferner macht man sich die Besonderheit zu Nutze, dass unser Auge Helligkeitsunterschiede besser erkennen kann, als Farbunterschiede. Deshalb werden die Helligkeitsinformationen mit anderen Kompressionen bearbeitet als die Farbinformationen.

 

Intraframe

Im folgenden werden wichtige Abläufe der Datenreduktion und Kompression beschrieben, die sich auf die einzelnen Filmbilder beziehen, also Vorgänge, wie sie auch bei einzelnen Bildern, etwa im JPEG-Verfahren, zur Anwendung kommen. Dabei werden verschiedene Verfahren miteinander kombiniert. Im Unterschied zu JPEG, bei dem Sie in den einschlägigen Bildbearbeitungsprogrammen mit einem Schieberegler stufenlos die Kompression einstellen können, arbeiten MPEG-1 und -2 mit festen Quantisierungs- und Huffmann-Tabellen. Dies ist zwingend, um auch die Fernsehseite bedienen zu können. Nachteil ist, dass damit nicht immer optimal auf die jeweiligen Bildinhalte optimiert werden kann. Die Bildgröße selbst ist bei MPEG-1 in 16 Stufen variierbar, die höchste Auflösung beträgt horizontal 720 Pixel und vertikal 576 Pixel und entspricht damit dem PAL-Standard der sichtbaren Zeilen.

 

Datenreduktion, RLC

Die einzige Datenreduktion, die kaum die Signalqualität beeinflusst, vergleicht sich wiederholende Bildinformationen und geht davon aus, dass die gleiche Bildinformation (Pixel) über eine bestimmte Länge (in einer Zeile) hinweg übertragen wird. Man übermittelt dann nur einmal die Pixelinformation und dazu die Dauer (Run Length Coding RLC), über welche sie in der betreffenden Zeile wiederholt werden muss. Doch auf diese Weise kann man die Datenmenge höchstens halbieren (Faktor 2). Im Falle des unteren Bildbeispiels würde das Grün eines Blattes einmal festgehalten sowie die Information, wie oft in der betreffenden Zeile sich dieses Grün noch wiederholt, bevor ein anderer Farbton benötigt wird.

 

Discrete Cosinus Transformation (DCT)

Diese Art der Datenreduktion ist weitgehend verlustfrei und erlaubt es, die komprimierten Informationen auch wieder zurückzurechnen in den Urzustand. DCT unterteilt das zu komprimierende Gesamtbild in Blöcke mit jeweils 8x8 Bildpunkten. Sie bereitet Bilddaten so auf, dass sie anschließend gut komprimiert werden können. Dazu verwandelt sie jeden Block von Bildpunkten in eine Beschreibungsweise um, welche die verschiedenen Werte in Form von Frequenzen und Amplituden definiert. Große, gleichmäßige Flächen im Bild erhalten dabei niedrige Frequenzwerte, detaillierte Strukturen hohe Frequenzwerte. Der Wert, der ganz oben links im 8x8 er Block steht, der sogenannte DC-Koeffizient (DC), beschreibt die durchschnittliche Farbintensität im ganzen Block. Die übrigen Werte, AC-Koeffizienten (AC) genannt, reflektieren Abweichungen von diesem Grundton. Benachbarte Bildpunkte, die gleich sind, erhalten Werte von beinahe 0 oder genau 0.

 

Quantisierung

War die bisherige DCT-Matrix noch weitgehend verlustfrei, so greifen jetzt bei der Quantisierung Formeln auf die Matrix zu, die eindeutig zu Verlusten führen und die man auch nie wieder rückgängig machen kann. Auffällig ist, dass in der linken oberen Ecke der höchste Wert zu finden ist, der sogenannte DC-Koeffizient. Nach rechts unten hin folgen dann zunächst die niedriger frequenten AC-Koeffizienten und dann die höher frequenten AC-Koeffizienten. Bei der Quantisierung werden wahrnehmungspsychologische Besonderheiten des Menschen genutzt. Etwa der Umstand, dass unser Auge Bildanteile mit hohen Frequenzanteilen viel schlechter erkennt als niederfrequente. In der DCT-Matrix nehmen diese Werte, die sich am weitesten von dem Durchschnittswert oben links entfernt befinden, also in der rechten unteren Ecke, zu. Hierbei wird jeder einzelne Wert gerundet, vorzugsweise abgerundet um weitere 0-Werte zu erzielen. Genau bei diesem Vorgang entstehen leicht Quantisierungsfehler, die berüchtigten Blöcke in MPEG-Filmen, sowie Kantenfehler, die besonders bei Diagonalen und Kurven sichtbar werden. Dieser Vorgang hat irreparable Informationsverluste zur Folge. Theoretisch könnte man auch größere Matrixsysteme verwenden, etwa 16x16, doch die Rechenzeit würde sich damit vervielfachen und auch die Qualität würde mit dem Ansteigen der Kompressionsrate sichtbar darunter leiden.

 

Kodierung

DCT und die Quantisierung waren die Voraussetzung für die Kodierung. Bei dieser wird davon ausgegangen, dass die Unterschiede von einem Grundton zu den benachbarten Punkten oft gering sind. Wenn an an einen durchgehend blauen Sommerhimmel denkt, ist das auch durchaus einleuchtend. Deshalb werden in der Wertekette der digitalen Information neben dem Grundton vor allem die Abweichungen vom Grundton festgehalten. Man speichert deshalb den sogenannten DC-Koeffizienten des ersten Blocks (links oben) und die anderen Blöcke als Differenz. Dabei wird so ein 8x8-Pixel-Block nicht zeilenweise, sondern im Zickzack abgetastet. Wenn sich viele einzelne Werte nicht von dem ersten unterscheiden, dann sind diese (Differenz-)Werte 0. Bei der Kodierung werden Ketten von 0-Werten nicht einzeln aufgeführt, sondern die Anzahl der Nullen festgehalten. So spart man Daten.

 

Huffmann-Algorithmus

Eine weitere Reduzierung der Daten wird durch den Huffmann-Algorithmus erreicht, benannt nach seinem Entwickler. Dieser Algorithmus ist so etwas Ähnliches wie ein Übersetzungsprogramm. Es vergibt für die Werte, die am häufigsten vorkommen, den kürzesten Binärcode und für jene, die ganz selten vorkommen, den längsten Code. Diese Übersetzungslisten müssen im Encoder, also dort wo der Film kodiert wird, sowie beim Decoder, also dort wo der Film abgespielt wird, etwa auf ihrem Computer, hinterlegt sein. Beim Abspielen werden die richtigen Werte dann wieder zugeordnet und dargestellt.

 

Bis zu dieser Stelle haben wir die Mechanismen der Datenreduktion und Komprimierung innerhalb der einzelnen Bilder besprochen. Im 2. Teil werden die weiteren Schritte zwischen den einzelnen Bildern als Sequenzen erläutert.

 

 

HD-Codecs ]