Modul: Grafik
Modul: Grafik
Rastergrafiken
JPEG
JPEG ist ein üblicherweise verlustbehaftetes Rastergrafikformat, d.h. bei der Speicherung in diesem Format gehen Bildinformationen verloren.
Merke! JPEG ist daher nicht für die Langzeitspeicherung von Forschungsdaten geeignet. Dennoch besitzt es Bedeutung im Forschungsdatenmanagement, und zwar dann, wenn Bilddaten über das Web in kürzester Zeit verfügbar gemacht werden sollen, da es sehr gute Kompressionsmöglichkeiten bietet, sogar für Fotos. Je größer eine Datei ist, desto länger ist auch die Übertragungszeit im Netzwerk. Die verglichen mit unkomprimiertem TIFF viel kleineren JPEG-Dateien können schneller über das Web übertragen werden und eignen sich daher als Previews und für Webseiten allgemein.
Ein Preview befindet sich häufig auf der Landungsseite eines Forschungsdatensatzes im Repositorium. Große Bedeutung besitzt es beispielsweise bei digitalen Editionen. HTML-Seiten mit eingebauten JPEG-Bildern erleichtern Orientierung und Auswahl bei der Nachnutzung. Für die Detailforschung müssen die verlustfrei gespeicherten Bilddaten jedoch zusätzlich bereitgehalten werden, z.B. über eine Download-Möglichkeit.
JPEG eignet sich auch für die Visualisierung umfangreicher numerischer Daten, beispielsweise von Simulationsdaten. Einige Forschungsdatenrepositorien ermöglichen das durch Software, die die Daten auf dem Server einliest und daraus ein (möglicherweise relativ grobes) Bild erzeugt. Die Detailforschung findet dann meist wieder auf den lokalen Rechnern der Forschenden unter Verwendung der heruntergeladenen Forschungsdaten statt.
Erzeugung von JPEG
In einer JPEG-Datei sind die Bildinformationen auf völlig andere Weise gespeichert als in einer TIFF-Datei. Mehrere Einzelschritte werden benötigt, um aus den gerasterten Bilddaten JPEG-Daten zu berechnen:
- Zunächst wird die Farbinformation bearbeitet. Der wichtigste Teilschritt ist
die Fortlassung der Farbinformation an jedem zweiten Pixel sowohl in x-
und auch in y-Richtung. Insgesamt wird so 3/4 der Farbinformation
eingespart. Die Vorgehensweise wird Unterabtastung
genannt. Das menschliche Auge erkennt den Unterschied nicht, weil die
Farbsehschärfe geringer ist als Hell-Dunkel-Sehschärfe. Dies liegt
daran, dass die Stäbchenzellen, die für das Hell-Dunkel-Sehen
verantwortlich sind, viel häufiger in der Netzhaut vorkommen als die
Zapfen, die uns das Farbsehen ermöglichen.
- Das Graustufen-Rasterbild wird in Quadrate zerlegt, die alle eine Größe von 8x8 Pixeln besitzen.
- Innerhalb der Quadrate werden die Graustufen der 64 Pixel auf 64 Koeffizienten von 64 Basisbildern umgerechnet.
- Wie die Basisbilder
aussehen, zeigt die Grafik. Jeder der roten Kästen enthält ein
Basisbild. Die Basisbilder besitzen ebenfalls die Größe von 8x8 Pixeln
und sind aus den Cosinusfunktionen entstanden, die als blaue Kurven in
der oberen Zeile für die x-Richtung bzw. in der ersten Spalte für die
y-Richtung gezeigt sind. Da Rasterbilder nur pixelweise definiert sind,
werden die Cosinusfunktionen abschnittsweise über die Pixellänge
gemittelt. Es resultieren die Treppenfunktionen, die in Zeile 2 bzw.
Spalte 2 als Blockdiagramme dargestellt sind ("diskretisierte"
eindimensionale Funktion).
- Im zweidimensionalen Basisbild wurden die Grauwerte Pixel für Pixel durch Multiplikation der Werte der zugehörigen diskretisierten eindimensionalen Funktionen berechnet.
- Die zweidimensionalen Basisbilder sind in Grauwerten dargestellt. Hell bedeutet einen hohen, dunkel einen niedrigen (negativen) Wert. Null entspricht einem Mittelgrau.
- Wie werden nun die 64 Koeffizienten berechnet, die für die Speicherung
gebraucht werden?
Für jeden Koeffizienten werden drei Schritte benötigt:
- 8x8-Quadrat und Basisbild werden übereinandergelegt,
- die Grauwerte der übereinander liegenden Pixel multipliziert und
- alle diese Produkte aufsummiert.
- Eines der Basisbilder unterscheidet sich deutlich von den anderen 63, der
Gleichanteil links oben.
Es ist anders als die 63 Wechselanteile überall gleich hell. Multipliziert mit seinem Koeffizienten ist er die mittlere Helligkeit des Bildes.
- Die Wechselanteile ändern sich hingegen periodisch.
Sie besitzen Frequenzen in zwei Raumrichtungen, eine in x-Richtung, die andere in y-Richtung.
- Aus den 64 Koeffizienten kann das ursprüngliche 8x8-Pixelquadrat wieder
berechnet werden. Die Animation rechts zeigt am Beispiel des
Buchstaben H in der Vergrößerung, wie das geschieht.
Starten Sie die Animation, indem Sie die Maus in den Rahmen ziehen.
Wegziehen beendet die Animation.
Die Basisbilder in den roten Quadraten werden mit den zugehörigen Koeffizienten multipliziert. Die Teilsummen werden im mittleren Quadrat gezeigt. Die bereits verarbeiteten Basisbilder sind in der Übersicht darüber rot umrandet. Die Summe wird dem Bild vor der Kodierung immer ähnlicher. Basisbilder mit kleinen Koeffizienten tragen zum Gesamtbild jedoch nur wenig bei. Im animierten Beispiel ist die Hälfte der Koeffizienten sogar 0, da H spiegelsymmetrisch ist und deshalb nur aus spiegelsymmetrischen Basisbildern aufgebaut sein kann.
- Wie die Basisbilder
aussehen, zeigt die Grafik. Jeder der roten Kästen enthält ein
Basisbild. Die Basisbilder besitzen ebenfalls die Größe von 8x8 Pixeln
und sind aus den Cosinusfunktionen entstanden, die als blaue Kurven in
der oberen Zeile für die x-Richtung bzw. in der ersten Spalte für die
y-Richtung gezeigt sind. Da Rasterbilder nur pixelweise definiert sind,
werden die Cosinusfunktionen abschnittsweise über die Pixellänge
gemittelt. Es resultieren die Treppenfunktionen, die in Zeile 2 bzw.
Spalte 2 als Blockdiagramme dargestellt sind ("diskretisierte"
eindimensionale Funktion).
- JPEG erreicht eine besonders gute Kompression, indem ausgenutzt wird, dass die Wechselanteile mit hohen Frequenzen durch unseren Sehsinn weniger gut wahrgenommen werden können. Das gilt insbesondere für die Anteile mit hohen Frequenzen in beiden Raumrichtungen. "Kleinkariert" ist einer Wahrnehmung nicht nur im übertragenen Sinne nicht förderlich, sondern auch ganz direkt nicht. JPEG verringert den Speicherbedarf, indem die Koeffizienten quantisiert werden. Die Quantisierung ist ein denkbar einfaches Verfahren. Bei der Quantisierung wird der Koeffizient durch einen vorher willkürlich festgelegten Tabellenwert, den Q-Wert, dividiert und anschließend auf die nächste ganze Zahl gerundet. Der Q-Wert berücksichtigt die schlechtere Wahrnehmbarkeit der hochfrequenten Anteile. Der Q-Wert ist umso höher, je höher die Frequenzen in den beiden Raumrichtungen sind und je höher der Nutzer die Kompressionsrate eingestellt hat. Bei der Quantisierung werden die Koeffizienten vieler weniger bedeutender Wechselanteile auf null gerundet. Die vielen Nullen ermöglichen eine weitere erhebliche Platzersparnis.
- Durch Umsortierung der Basisbilder bzw. der zugehörigen Koeffizienten wird ein Vektor erzeugt. Die Abbildung zeigt, wie umsortiert wird.
Dabei finden sich die hochfrequenten Basisbilder hinten wieder. Das sind sehr häufig die weniger bedeutenden, so dass die Nullen nach der Umsortierung meist hinten stehen. Die Nullen am Ende müssen nicht abgespeichert werden, sondern nur die Werte bis zum letzten Wert ungleich null. Dahinter folgt nur noch die Blockende-Markierung. Auch die übrigen Werte werden platzsparend gespeichert.
Unterabtastung und Quantisierung führen zu Informationsverlusten. Selbst wenn diese für uns Menschen oft nicht sichtbar sind, wird die maschinelle Verarbeitbarkeit der Bilder durch die Verluste dennoch eingeschränkt. In der obigen Animation lassen sich beispielsweise in einiger Entfernung vom Buchstaben H auch dann noch graue Flecken ausmachen, wenn nur noch wenige Basisbilder bis zur vollständigen Aufsummierung fehlen.
Wenn die Kompression zu weit getrieben wird, werden auch für uns Menschen im Bild Artefakte sichtbar, insbesondere an harten Kontrasten. Das können Ränder, Schatten oder Blockartefakte sein, die hier am Beispiel eines übertrieben komprimierten Rechtecks gut zu erkennen sind.
Wenn mit den Default-Einstellungen von Grafikprogrammen und Formatkonvertierungs-Tools gearbeitet wird, sollten solche sichtbaren Artefakte aber nicht entstehen. Dennoch ist die Konvertierung zu JPEG immer mit einem Informationsverlust verbunden. Bildinformation geht vor allem bei der Unterabtastung und der Quantisierung verloren. Verlustfrei arbeitende JPEG-Varianten sind zwar zusammen mit den verlustbehafteten spezifiziert worden, sie haben sich aber nicht durchgesetzt und werden nicht genutzt.
Hinweis: Zur Erzeugung von JPEG wird es im Abschlussquiz keine Fragen geben.