Fachbeitrag «Bildkompression»

Verlustlose und verlustbehaftete Kompressionsverfahren bei Bild und Video

Man spricht von verlustfreier Kompression oder Redundanzreduktion, wenn aus den komprimierten Daten wieder alle Originaldaten gewonnen werden können. Das ist beispielsweise bei der Kompression ausführbarer Programmdateien notwendig. Sie finden Informationen zur verlustlosen Komprimierung von Daten in den Fachartikeln zu Informationstechnik unter Verlustlose Kompression.

Bei der verlustbehafteten Kompression werden irrelevante Informationen entfernt, man spricht auch von Irrelevanzreduktion. Dabei geht ein Teil der Information aus den Originaldaten verloren, sodass aus den komprimierten Daten nicht mehr das Original rekonstruiert werden kann. Verlustbehaftete Kompression findet meist in der Bild-, Video- und Audio-Übertragung Anwendung. Die menschliche Wahrnehmung ist dabei entscheidend, welcher Anteil der Information für den Empfänger entbehrlich ist. Ein populäres Beispiel ist das Audio-Format MP3, das Frequenzmuster entfernt, die der Mensch schlecht oder gar nicht hört. Ebenso bei der Bildwahrnehmung, wo das menschliche Auge für die Helligkeitswerte wesentlich empfindlicher ist, als für die Farbanteile.

1. Interframe Komprimierung

Darunter versteht man die Datenreduktion innerhalb einer Bildfolge unter Ausnutzung von Ähnlichkeiten in nacheinander folgenden Bildern (Differenzbilder). Wenig Bewegung bedeutet eine hohe Datenreduktion. Dies ist eigentlich eine verlustlose Komprimierung. Meist wird aber bei einer Interframekomprimierung noch zusätzlich eine verlustbehaftete Komprimierung durchgeführt.

2. Reduzierung der Auflösung

Die einfachste verlustbehaftete Datenreduktion erreicht man durch eine kleinere Bildauflösung. Es fragt sich aber, ob der visuelle Verlust noch tragbar ist. Wie viele Bit's können bei diesem S/W-Bild gespart werden, wenn die Auflösung von 100x100 Pixel auf 20x20 Pixel reduziert wird?

Eine weitere einfache, effiziente aber verlustbehaftete Datenreduktion erreicht man durch eine niedrigere Farbauflösung. Auch hier fragt sich aber, ob der visuelle Verlust noch tragbar ist. Wie viele Bit's können gespart werden, wenn die Farbauflösung dieses Farbbildes von TrueColor, d.h. RGB mit 8 Bit Auflösung pro Farbkanal, auf eine Farbauflösung von 4Bit pro Farbkanal reduziert wird?

3. Die Farbunterabtastung/Subsampling

Farbunterabtastung (Color Subsampling) bezeichnet bei der Bildaufnahme ein Verfahren, das der Reduzierung der benötigten Datenmenge dient (Reduktion von Speicherplatz bzw. Übertragungsbandbreite). Voraussetzung ist die Verwendung eines geeigneten Farbmodells, das Chrominanz (Farbinformation) und Luminanz (Helligkeitsinformation) getrennt beschreiben kann. Das Das YCbCr-FarbModell, dass die Farbinformation in die Grundhelligkeit Y und die zwei Farbkomponenten Cb (Blue-Yellow Chrominance) und Cr (Red-Green Chrominance) aufteilt, scheint da geeignet.

Die Chrominanz wird mit einer gegenüber der Luminanz reduzierten Abtastrate gespeichert. Der subjektive optische Qualitätsverlust ist gering, da das menschliche Auge Farbe mit geringerer Auflösung wahrnimmt als Helligkeit. Farbunterabtastungen findet man z.B. in der Videotechnik und bei JPEG.

Ohne Unterabtastung trägt jeder Kanal mit je 100% zum Gesamtvolumen (300%) bei. Mit einer Unterabtastung von 4:1:1 bedeutet dies ein Y-Anteil=100%, Cr-Anteil=25%, Cb-Anteil=25% und somit ein Gesamtvolumen von 150%. Der Speicherbedatf hat sich nun halbiert bzw. von 300% auf 150% gesenkt.

  • Subsampling 4:4:4 Keine Unterabtastung / Keine Reduktion in
    Farbkanälen / Studiobereich
  • Subsampling 4:2:2 Unterabtastung in beiden Farbkanälen / 2:1-
    Abtastverhältnis; Norm ITU-R BT.601 / Professionelle
    Videokameras
  • Subsampling 4:1:1 Unterabtastung in beiden Farbkanälen / Die
    Chrominanz-Bandbreite und damit die horizontale
    Farbauflösung ist gegenüber dem 601-Signal halbiert / Digitale
    Consumer Kameras in TV-NTSC
  • Subsampling 4:2:0 Unterabtastung in beiden Farbkanälen,
    alternierend / Reduktion der Farbauflösung in der Vertikalen,
    da Farbdifferenzsignale zeilenweise abwechselnd und nicht in
    jeder Zeile gleichzeitig Übertragen werden / Digitale
    Consumer Kameras in TV-PAL

4. Farbtabellen

Eine weitere Möglichkeit die Datenmenge eines Originalbildes zu reduzieren, besteht in der Verwendung einer individuell zusammengestellten Farbtabelle.

Beim GIF-Format ist es übrigens möglich, eine Farbe als Transparenzfarbe zu definieren. Ausserdem lässt sich bei Verwendung einer Bildsequenz ein animiertes GIF erstellen. Das GIF-Format kann seit Web-Urzeiten von jedem Webbrowser in jeder Browserversion verarbeitet bzw. dargestellt werden.

5. DCT - Discrete Cosine Transformation

Die diskrete Kosinustransformation DCT (Discrete Cosine Transformation) ist eine Transformation der numerischen Mathematik. Sie wird unter anderem für die verlustbehaftete Kompression von Audio- und Bilddaten verwendet. (JPG-Bildformat, AAC-Audioformat)

Die eigentliche Datenreduktion wird durch ein RLC und VLC bewirkt. DCT ist eigentlich nur dafür da, die Pixelwerte auf eine effektive Datenreduktion vorzubereiten:

  • 1. Schritt: Als vorbereitenden Schritt wird das RGB-Bild in seinen Luminanzanteil und den beiden Crominanzanteile umgewandelt. Danach wird die Auflösung in den beiden Chrominanzkanälen reduziert. (Siehe Farbmodelle und Unterabtastung)
  • 2. Schritt: Das Bild (Luminanz- bzw. Chrominanzkanäle) wird nun in 8x8 Pixelblöcke aufgeteilt. Jeder dieser Pixelblöcke wird separat weiterverarbeitet. (Siehe Bild: Originalwerte im 8x8 Block - Die Zahlen entsprechen den Helligkeitswerten des Pixelblocks)
  • 3. Schritt: Diskrete Kosinus Transformation (Siehe Bild: DCT-transformierte Werte). Die 8x8 Wertematrix wird nun vom Bildbereich in den sogenannten Frequenzbereich transformiert. Im Bildbereich prägen Unterschiede in den Helligkeitswerten die Wertematrix, wohingegen im Frequenzbereich die Schnelligkeit der Helligkeitsänderungen entscheidend sind. (Etwas vereinfacht ausgedrückt: Scharfe Bilder ergeben schnelle Helligkeitsänderungen und damit viele hohe und unterschiedliche DCT-Werte, unscharfe langsamere und somit tiefere und weniger unterschiedliche DCT-Werte.)
  • 4. Schritt: Die DCT-transformierten Werte werden nun quantisiert. Unter Quantisierung ist etwa dasselbe zu verstehen, wie das Notenrunden bei Schulprüfungen: Wenn die Schulnote mit einer Genauigkeit von 1/10 festgehalten wird, hat man mehr mögliche Notenwerte als wenn die Note auf 0.5 gerundet wird. Allerdings verliert man mit der gröberen, weil ungenaueren 0.5-er Notenskala auch an Aussagekraft. Dasselbe gilt für die quantisierten DCT-Werte (Siehe Bild: Quantisierte Werte). Bis jetzt hat man allerdings noch keine eigentliche Datenreduktion erreicht.
  • Wie geht's weiter: Abhängig von der Stärke der Quantisierung der DCT-Werte (im Extremfall werden die meisten Werte 0) erhält die 8x8-Matrix eine geeignete Form, für eine anschliesend effiziente RL-Codierung (RLC) und zusaätzlich VL-Codierung (VLC). (RLC und VLC werden übrigens in den Fachartikeln zu Informationstechnik unter Verlustlose Kompression erklärt.)

Noch eine Bemerkung zur diskrete Kosinus Transformation: Im Extremfall, wenn ein 8x8-Pixelblock nur aus einer einzigen Farbe besteht, wird nach der DC-Transformation nur die erste DCT-Koeffiziente links oben einen Wert enthalten und alle anderen 255 Werte werden 0 sein. RLC ist dann besonders wirksam. Im Umkehrschluss: Wenn die Quantisierung sehr stark ausfällt, wird ein 8x8 Pixelblock bei der Rücktransformation nur noch wenige, gleichartige Farbwerte aufweisen. Man nent das Blocking-Effekt.

Weitere Datenreduktionsverfahren im Bild, Video und Tonbereich entnehme man der entsprechenden Fachiteratur.