Videoschnitt am PC

Die Codec-Vielfalt entwirrt. Welche Kompressionsverfahren und Codecs existieren und welche davon eignen sich für welches Format am besten?

Videobearbeitung am PC verlangt nach hohen Bandbreiten und viel Plattenplatz: Ein einzelnes RGB-Bild, in der Fachsprache auch Frame genannt, benötigt in voller PAL-Fernsehauflösung (768 x 576 Bildpunkte) und 24 Bit Farbtiefe (je 8 Bit für Rot, Grün und Blau, auch Truecolor genannt) mehr als ein Megabyte an Speicher. Ein einfaches Rechenbeispiel: 768 x 576 x 24 ergibt 10616832 Bits und das sind umgerechnet etwa 1,3 Megabyte. Schnell wird es da auf der Platte eng!

Weil die europäischen Fernsehnormen PAL und Secam mit 25 Bildern pro Sekunde arbeiten, müsste ein Videobearbeitungssystem etwa 33 Megabyte pro Sekunde Durchsatz ermöglichen – auch moderne PCs sind da schnell überfordert. Grundsätzlich gibt es zwei Ansätze, um dieses Problem zu lösen: Zum einen kann man mit der Bandbreitenkeule zuschlagen, etwa bei der Datenübernahme in den PC mittels Aufnahme auf RAID-Systeme mit riesigen und schnellen Festplatten. Doch das Internet wird die erforderlichen Datenraten weder über die alten Telefon-Kupferleitungen noch über moderne Glasfaser-Leitungen für Millionen von Anwendern verkraften. Den anderen Lösungsansatz bietet die Datenkompression: Mit ihrer Hilfe lässt sich die vorhandene Bandbreite besser ausnutzen.

Datenkompression: Mutter Natur machts vor

Die Natur macht es uns vor: Menschliche Sinnesorgane nehmen riesige Datenmengen auf – viel mehr, als das Gehirn tatsächlich verarbeiten kann. Etwa 800 Megabyte visuelle Informationen erreichen das Auge in jeder Sekunde. Bevor sie das Gehirn erreichen, dämpfen intelligente Reduktionsverfahren die schiere Datenmasse etwa um den Faktor 100 ein, weniger wichtige Information bleiben einfach außen vor. Technisch genutzte Kompressionsalgorithmen für Bilddaten eifern ihrem natürlichen Vorbild nach – ohne allerdings dessen Effizienz derzeit zu erreichen. Gleiches gilt für akustische Signale: Nur ein Bruchteil der vom Trommelfell aufgenommen Informationen erreicht das Gehirn. So wird zum Beispiel von zwei Tönen, die eine ähnliche Tonhöhe haben und dicht beieinander liegen, nur der lautere Ton wahrgenommen.

Codec-Programmierer (Codierung/Decodierung) nutzen diesen Hang zum Minimalismus: Alle audiovisuellen Kompressionsverfahren orientieren sich an der maximalen Wahrnehmungsfähigkeit des Menschen. Sie filtern “überflüssige” Daten aus, und zwar so geschickt, dass wir subjektiv keine qualitative Beeinträchtigung der Sinneswahrnehmung empfinden. Die Algorithmen nehmen dem Gehirn praktisch Arbeit ab.

Kompression: So funktionierts

Codecs verwenden verlustfreie und die verlustbehaftete Kompressions- und Dekompressionstechniken. Man kann die verlustfreie Kompression mit dem Prinzip einer Luftpumpe vergleichen: Nach der Luftverdichtung sind nach wie vor noch alle Luftmoleküle vorhanden, nur nehmen sie nun ein deutlich geringeres Volumen ein. Ähnlich ergeht es auch den digitalen Video- und Audiosignalen: Sie enthalten überflüssige Informationen, deren Verzicht sich nicht oder nur wenig auf die Bild- oder Tonqualität auswirken. Die nutzbaren Bits rücken einfach enger zusammen. So wird keine Information zerstört und trotzdem ein Kompressionsfaktor von 2:1 bis 3:1 erreicht. Die verlustbehaftete Kompression hingegen entfernt Informationen aus dem Signal, die für die Wahrnehmung irrelevant oder wenig wichtig ist. Der Vorteil, die hohe Kompressionsrate, geht mit einem Nachteil einher: Diese Informationen gehen unwiederbringlich verloren. Außerdem ist die Entscheidung schwierig, welche Daten wichtig sind für eine ungestörte Wahrnehmung und welche nicht. Diese Frage entscheidet der Codec-Programmierer abhängig von der Anwendung. Er kann Einzelbilder komprimieren (Intraframe), Bildfolgen (Interframe) oder auch beide Verfahren gemeinsam anwenden. Die zeitliche Komprimierung bringt nur dann einigermaßen brauchbare Ergebnisse, wenn ein Video wenig Bewegung enthält. In diesem Fall gibt es von Bild zu Bild viele Wiederholungen. Es genügt dann, nur die Differenz von Keyframe zu Keyframe zu speichern. Das führt aber oft zu Pixelhaufen und Farbblöcken, die man auch als Artefakte bezeichnet.

Filter sorgen für gehörigen Druck

Codecs leisten in kurzer Zeit beachtliches. Um hohe Bearbeitungsgeschwindigkeiten zu erreichen, arbeitet ein Codec mit verschiedenen Stufen. Sein erstes Werkzeug versucht erst gar nicht, das Video direkt zu komprimieren, sondern macht es durch Filterverfahren »komprimierbarer«. Filter eliminieren scharfe Kanten, die gleichzusetzen sind mit hohen Frequenzen, und verringern so die Datenrate. Ein Filter sorgt für die Umrechnung benachbarter Pixel, indem er einen Mittelwert bildet: Aus einer dünnen schwarzen Linie neben einer weißen Linie entsteht zum Beispiel eine breite graue Linie. Bereits diese Vorfilterung entscheidet maßgeblich über die bei der Komprimierung erreichbare Videoqualität: Je aufwändiger der Filter, desto besser die Bildqualität nach der Reduktion. Als nächstes ist die Konvertierung des sogenannten Farbraums an der Reihe (Color Space Conversion). Wieder gibt das menschliche Auge zu diesem Schachzug die Anregung. Es nimmt Farben (Chrominanz, »U« und »V«) viel schlechter wahr als Helligkeit (Luminanz, »Y«).

Das Fernsehen arbeitet deswegen im RGB- statt im YUV-Farbmodell: Einer Luminanz-Bandbreite von 4,5 MHz steht eine Farb-Bandbreite von nur 1,5 MHz gegenüber. Allein die Umwandlung von RGB in YUV kann die Datenmenge eines Signals etwa um die Hälfte reduzieren. Ein wichtiges Kriterium für Videoberabeitung am PC ist die Art der Digitalisierung. Das sogenannte Sampling misst die Spannung eines analogen Signals in bestimmten Abständen und speichert sie als digitalen Zahlenwert. Wegen der Sehschwäche des menschlichen Auges werden im YUV-Farbraum die Farbsignale nur halb so oft gesampelt wie die Helligkeit. Vier Messungen von Y pro Zeiteinheit stehen nur je zwei Messungen von U und V gegenüber (4:2:2-Modell). Von den 24 Bit pro Pixel des RGB-Signals wird auf 16 Bit pro Pixel YUV reduziert, der Faktor liegt bei 2:1. Gut für den Anwender: Das Signal hat immer noch volle Studioqualität.

Datenreduzierung durch Skalierungs-Routinen

Die größte Datenreduzierung erreicht die sogenannte Skalierung; die Verringerung der drei Parameter Auflösung, Farbtiefe und Bildwiederholfrequenz. Manche Software-Codecs verzichten ganz einfach auf drei von vier Pixeln der ursprünglichen Auflösung (kodieren also nur 1/16 der Bildpunkte), wiederholen nur 10 Bilder pro Sekunde (2,5:1) und arbeiten mit einer Farbtiefe von 8 Bit statt 24 Bit (3:1). Der Komprimierungsfaktor: 16 x 2,5 x 3 ergibt 120:1, also ein stark “gestauchtes” Videobild. Stehen diese drei wichtigen Parameter vor der Komprimierung fest, so lassen sich Datenmenge und benötigte Rechenzeit stark verringern, indem das Video zuvor auf diese niedrigere Auflösung, Farbtiefe und Bildwiederholfrequenz heruntergerechnet wird. Ein weiteres wichtiges Werkzeug ist die Transformation, die bei Codecs wie JPEG, MJPEG, MPEG und Px64 Verwendung findet. Sie benutzen die sogenannte DCT (Diskrete Cosinus-Transformation): Bildinformationen zerlegt sie in Blöcke von 8×8 Pixeln und teilt sie in niedrige und hohe Frequenzbereiche auf.

Das Zauberwort Quantisierung

Der nächste Schritt der Komprimierung ist die Quantisierung: Sie reduziert oder entfernt hohe Frequenzen (zum Beispiel scharfe Kanten). Das Ergebnis ist ein Bild mit weicheren Konturen, die man aber wegen der Datenreduktion in Kauf nimmt. Bei der Quantisierung dienen wenige Bits als »Platzhalter« für die Gesamtmenge. Bei leistungsfähigen Codecs reichen bei manchen Bildern lediglich 2 Bits (4 Farben) aus, um das Bild adäquat zu beschreiben (statt 8 Farbbits pro Pixel im RGB-Modell). Die Datenmenge lässt sich auf diese Weise noch einmal dritteln.

Zum Schluss packen viele Codecs die Daten noch einmal verlustfrei zusammen – ähnlich den Verfahren LHA, PKZIP etc., die man zum Komprimieren von herkömmlichen Dateien verwendet. In der RLE-Methode (Run-Length Encoding) ersetzt identische Bits durch Art und Anzahl (zum Beispiel 1111222 durch 4132, also 4×1 und 3×2); das Huffman Coding ersetzt identische, häufig auftauchende Bitfolgen durch Abkürzungen (wie beim Morsen). Die Komprimierung der Einzelbilder ist damit abgeschlossen. Eine Kombination der sieben Intraframe-Verfahren lässt von dem ein Megabyte großen Originalbildes nur noch 24 Kilobyte übrig. Manche Codecs lassen es dabei bewenden, andere legen jetzt erst richtig los. Denn bei Digitalvideos liegt die größte Datenredundanz nicht innerhalb der Einzelbilder, sondern dazwischen. Viele Pixel verändern sich von Bild zu Bild entweder gar nicht oder nur wenig, zum Beispiel Hintergründe.

Jetzt setzen Interframe-Codecs wie MPEG den Kompressionshebel an: Sie sagen sozusagen die Pixelveränderungen über mehrere Bilder hinweg voraus und speichern nur noch die Bildunterschiede ab, nicht aber die Einzelbilder. Das spart viel Platz: MPEG 4 beispielsweise benötigt für eine Videodatei in der Größe 320 x 240 Pixeln bei vergleichbarer Qualität nur ein Viertel des Platzes, den Cinepak trotz Komprimierung braucht. Predictive Coding legt ein komprimiertes Referenzbild fest (I-Frame oder Key-Frame – wie bei Animationsberechnungen). Von diesem aus wird ein weiteres, P-Frame genanntes Bild vorhergesagt – bei MPEG das nächste, übernächste oder vierte. Aus beiden – dem I- und dem P-Frame – können dazwischenliegende Bilder errechnet werden (B-Frames). So »mogelt« sich der Codec durch das Movie, bis das nächste I-Frame wieder gesicherte Daten liefert.