|
Die Einleitung
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.
Die Datenkompession
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, dampfen 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.
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 (Molekül-freier Raum), deren Verzicht sich nicht oder nur
wenig auf die Bild- oder Tonqualität auswirken. Die nutzbaren Bits (Moleküle)
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 machen 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. Bereits analoge Videos verwenden dieses Verfahren.
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 heißt 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.
 |