Bei der Speicherung von Bilddaten im Echtfarbmodus werden recht schnell sehr große Dateien erzeugt, deren Datenmenge durch eine verlustfreie Kompression nicht hinreichend genug verkleinert werden kann, um durch langsame Medien (etwa MODEM, Bildtelefon, ) genügend Bandbreite zu haben.
Man entscheidet sich folglich für ein Verfahren zur Datenreduktion, das dem menschlichen Sehempfinden am wenigsten Verluste abverlangt.
In diesem Sinne entstand die JPEG (Joint Photographic Expert Group). Sie wurde 1984 - 87 gegründet von der ISO (International Standardization Organization) und dem CCITT (Commité Consultatif International Télégraphique et Téléphonique). Das damalige Hauptziel war die Datenreduktion von Einzelbildern um den Faktor 10 ohne auffallende Qualitätsverluste.
Zunächst wird die Farbinformation vom R G B-Modell in das YCbCr-Modell umgerechnet, etwa nach folgender Formel (CCIR-601-Schema):
Dies ergibt bisher noch keine Verluste, aber auch keine Datenreduktion!
Allerdings werden nun die Werte für die Helligkeit (auch Luminanz) Y und die Chrominanzen Color Blueness (Cb) und Color Redness (Cr) im Verhältnis:
gesetzt (Subsampling), als Anpassung an das menschliche Auge (Helligkeitsempfinden ist dominat gegenüber dem Farbsehen). Es werden für ein Feld von 2 × 2 Bildpunkten nur jeweils ein Farbwert für Cb und Cr gespeichert. Diese Quantisierung erreicht eine erste Datenreduktion, da dann statt 12 Werten nur noch 6, nämlich 4 für die Helligkeit und 2 für die Farbe benötigt werden.
Als nächstes wird nun das Bild in Quadrate der Größe 8 × 8 aufgeteilt und für jede Komponente Y , Cb , Cr eine diskrete Cosinustransformation (DCT) durchgeführt. Diese passiert nach der Formel:
mit:
| ì | 1/Ö2 | k, l = 0 | ||
| C (k), C (l) = | í | |||
| î | 1 | sonst |
Dadurch wird eine Umrechnung des 8 × 8 Eingangsignales in 64 orthogonale Basis-Signale zerlegt. Jedes Basis-Signal enthält eine der 64 Frequenzen aus dem Spektrum des Eingangssignals. Die Ausgabe der DCT sind die 64 Amplitudenwerte dieser Frequenzen.
Die höheren Frequenzen haben in der Regel nur eine geringere Amplitude und tragen daher kaum zum Gesamtaussehen des Originalbildes bei. Wird noch eine Quantisierung der Amplitudenwerte durchgeführt, so sind die meisten Werte gleich Null. Diese Quantisierung bestimmt unter anderem den Kompressionsgrad.
Der Amplitudenwert für C (0, 0) wird als DC-Koeffizient (Direct Current; Gleichstromanteil) bezeichnet und ist der Mittelwert über alle 64 Eingangswerte. Die restlichen Amplitudenwerte werden als AC-Koeffizient (Alternative Current; Wechselstromanteil) bezeichnet. C (1, 0) gibt z.B. die Amplitude der niedrigsten Frequenz in horizontaler Richtung an, C (7, 7) enthält den Amplitudenwert der höchsten Frequenz in beiden Richtungen. Die meisten Amplitudenwerte sind Null oder fast Null, so daß es ausreicht, nur den DC-Wert und dessen umgebende AC-Werte für die weiteren Berechnungen zu berücksichtigen.
Die DC-Komponente enthält den Mittelwert über alle 64 Meßwerte. Die AC-Komponenten werden wie in nebenstehendem Zick-Zack-Muster aus dem 8 × 8 - Feld ausgelesen. Die Amplitudenwerte sind dadurch nach der zugehörigen Frequenz sortiert (tiefe Frequenzen zuerst). Aufeinanderfolgende Werte sind fast gleich, was eine bessere Lauflängen-Kodierung ermöglicht.
Auf Grund der starken Korrelation benachbarter 8 × 8 Blöcke wird nur für den ersten Block der DC-Anteil und bei nachfolgenden Blöcken nur der Unterschied zum verhergehenden übertragen. Der DC-Wert bzw. die Unterschiede werden mit dem Huffman-Kode komprimiert. Eine ausführliche Darstellung dieses Kompressionsverfahren wird im Seminar vorgestellt. Die AC-Komponenten werden lauflängenkodiert mit zwei Zeichen. Das erste Zeichen ist ein Byte (also 8 Bits), wovon die oberen 4 Bits als Kennzeichnung für eine Lauflängenkodierung Null sind, die unteren 4 Bits geben die Wiederholungen des nachfolgenden Amplitudenwertes an. Zur besseren Auflösung werden für den Amplitudenwert (zweites Zeichen) bis zu 12 Bits verwendet.
Der JPEG-Standard definiert die Reduktion von Bildern mit einer Auflösung bis zu 65 535 × 65 535 Bildpunkten. Alle Parameter über die Quantisierung, verwendete Auflösung usw. werden im JPEG-Header abgelegt.
Auf Grund von Untersuchungen an Testbildern kann man folgende Aussagen über die Qualität und den visuellen Eindruck von reduzierten Bildern machen:
Die Dekodierung eines nach dem JPEG-Verfahren kodierten Bildes geschieht analog mit der inversen diskreten Cosinus-Transformation:
mit:
| ì | 1/Ö2 | k, l = 0 | ||
| C (k), C (l) = | í | |||
| î | 1 | sonst |
Weiterführende Literatur:
Z.B. das Photo-CD-Format von Eastman Kodak Company:
Das Photo-CD-Format (.PCD) wurde von Kodak als ein Multi-Resolution-Format entwickelt: Es enthält in einer Grafik-Datei das Rasterbild in insgesamt 5 (bei der Amateur-) bzw. 6 (bei der Professional-Variante) verschiedenen Auflösungen im YCbCr-Farbsystem.
Bei den drei niedrigen Auflösungen sind die Daten ohne direkte Komprimierung gespeichert. Eine Reduzierung der Datenmenge wird in den höheren Auflösungen durch Auslassen der Cb und Cr-Werte erreicht (vgl. Subsampling). Die höheren Auflösungen werden zusätzlich durch eine Huffman-Kodierung komprimiert.
| Auflösung | Bezeichnung |
| 192 × 128 | BASE / 16 |
| 384 × 256 | BASE / 4 |
| 768 × 512 | BASE |
| 1536 × 1024 | BASE * 4 |
| 3072 × 2048 | BASE * 16 |
| 6144 × 4096 | BASE * 64 |
Durch den Fotohandel werden private Kleinbildnegative und Diapositive direkt an Kodak weitergeleitet. In hoher Auflösung werden sie gescannt und auf Photo-CD-Workstations in das PCD-Format transferiert, bevor sie auf eine CD gebrannt werden.
Auf eine Kodak-Photo-CD (Amateurversion) passen bis zu 100 Bilder.
Alle Bilder, gleichgültig ob Schwarzweiß- oder Farbvorlagen, werden stets in einer Farbtiefe von 24 Bit gespeichert. Beim Laden der Bilddateien werden die YCbCr-Informationen in R G B-Werte umgerechnet.
Mit den meisten Grafik-Programmen läßt sich das Photo-CD-Format per Importfilter einlesen. Die Lizenzbeschränkungen verhindern jedoch, daß Bildbearbeitungsprogramme auch im Kodak-Photo-CD-Format schreiben können.
| 61033 | Wavelet-Transformationen | W. Hackbusch | 2-std., Mo. 11-13: Math. Seminar, R 325 |
| 61127 | Übungen zu 61033 | W. Hackbusch, T. Probst | 2-std., Di. 17 s.t.-18.30: Ü 1 |
Basis: Analysis, Lineare Algebra, Praktische Analysis
Transformationen von Funktionen spielen bei vielen inner- wie außermathematischen Anwendungen ein zentrale Rolle. Ein bekanntes Beispiel ist die Transformation nach Fourier, z.B. die Fourier-Reihen zur Darstellung periodischer Funktionen. Die Fourier-Transformation stellt die Funktion f (x) , die von der Ortsvariablen x abhängt, mit Hilfe der Frequenzen dar. Die Umkehrtransformation wandelt von der Frequenzdarstellung in die Ortsdarstellung zurück.
Den wesentliche Nachteil der Fourier-Transformierten, daß sie nämlich keine örtliche Auflösung erlaubt, überwindet die Transformation mit Hilfe der Wavelets (= Wellchen). Dies ist eine neue Technik, die in den letzten Jahren interessante Erfolge verzeichnen konnte.
Die Vorlesung beginnt mit einer kurzen Charakterisierung der Fourier-Transformation. Danach werden die Wavelets mit Hilfe der Mehrskalenanalyse eingeführt.
Auf Anwendungen der Wavelets bei der Diskretisierung von Differentialgleichungen und Integralgleichungen wird eingegangen. Hier spielen zwei Effekte eine Rolle. Zum einen führt eine Basis von Wavelets zu gut-konditionierten Gleichungssystemen. Zum anderen bestehen die vollen Matrizen, die bei der Diskretisierung von Integralgleichungen entstehen, zum größten Teil aus derart kleinen Koeffizienten, daß diese durch Null ersetzt werden können (Matrixkompression).
Weitere Anwendungen in der Bild- und Signalverarbeitung werden in Vorlesungen des folgenden Sommersemesters angeboten werden.
Literatur:
A. Louis, P. Maaß, A. Rieder: Wavelets.
Teubner Stuttgart 1994.
Zurück zum Inhaltsverzeichnis
![]() |
Benutzerbetreuung Raum: Rechenzentrum, RZ 0.11 Tel.: (+49) 941/ 943- 4883 Fax: (+49) 941/ 943- 4857
EMail: Wolfgang.Ruhstorfer@rz.uni-regensburg.de |