Videoschnitt am PCDie 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 8x8 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 4x1 und 3x2); 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.
|