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.

Schon auf der Landungsseite des Forschungsdatensatzes können sich Previews befinden, nicht jedoch die Forschungsdaten selbst. Die können aber über eine Download-Anforderung heruntergeladen werden Nutzer Landungsseite HTML Preview: JPEG Download-Anforderung Download Daten- satz Re po sitor i u m

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:

  1. 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.

  2. Das Graustufen-Rasterbild wird in Quadrate zerlegt, die alle eine Größe von 8x8 Pixeln besitzen.

  3. 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 64 Basisbilder. Beschreibung im Text x y
    • 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? In dieser Animation wird gezeigt, wie aus Koeffizienten und Basisbildern durch Aufsummieren das ursprüngliche Pixelbild zurückgewonnen wird. Das Verfahren heißt inverse diskrete Cosinustransformation. Je mehr Basisbilder schon abgearbeitet sind, desto mehr ähnelt die Summe dem fertigen H. vor der Kodierung zuletzt verarbeite- tes Basisbild A Koeffizient: 5 Koeffizient: -0.72589 Koeffizient: 0 Koeffizient: 2.0063 Koeffizient: 0 Koeffizient: 2.2304 Koeffizient: 0.5308 Koeffizient: 0 Koeffizient: 0.49843 Koeffizient: 0 Koeffizient: 2 Koeffizient: 0 Koeffizient: -1.7071 Koeffizient: 0 Koeffizient: 0 Koeffizient: 0.10558 Koeffizient: 0 Koeffizient: -0.58794 Koeffizient: 0 Koeffizient: 0.44999 Koeffizient: 0 Koeffizient: -2.9958 Koeffizient: 0 Koeffizient: -0.92388 Koeffizient: 0 Koeffizient: 0.38268 Koeffizient: 0 Koeffizient: 0.15851 Koeffizient: 1.0864 Koeffizient: 0 Koeffizient: 0.39285 Koeffizient: 0 Koeffizient: 0.2549 Koeffizient: 0 Koeffizient: -0.69352 Koeffizient: 0 Koeffizient: 0 Koeffizient: 1.7071 Koeffizient: 0 Koeffizient: -1 Koeffizient: 0 Koeffizient: -0.29289 Koeffizient: 0 Koeffizient: -1.1187 Koeffizient: 0 Koeffizient: -1.2815 Koeffizient: 0 Koeffizient: -0.032368 Koeffizient: 0 Koeffizient: 0 Koeffizient: 0.92388 Koeffizient: 0 Koeffizient: 0.38268 Koeffizient: 0 Koeffizient: 0.30067 Koeffizient: 0 Koeffizient: 1.2243 Koeffizient: 0 Koeffizient: 0 Koeffizient: -0.29289 Koeffizient: 0 Koeffizient: 0.13795 Koeffizient: 0 Koeffizient: 0 Summe Für jeden Koeffizienten werden drei Schritte benötigt:
      1. 8x8-Quadrat und Basisbild werden übereinandergelegt,
      2. die Grauwerte der übereinander liegenden Pixel multipliziert und
      3. alle diese Produkte aufsummiert.
      Das Verfahren wird als Faltung oder Skalarprodukt bezeichnet und stellt einen Vergleich von 8x8-Quadrat und Basisbild dar. Warum ist das ein brauchbarer Vergleich? Am meisten ähnelt das Basisbild sich selbst. Bei der Faltung eines Basisbildes mit sich selbst werden die Grauwerte quadriert und Quadrate sind stets positiv. Die Summe lauter positiver Zahlen ist nicht nur wieder positiv, sondern besonders groß, weil nirgendwo etwas abgezogen wird. Mit den Mitteln der Schulmathematik lässt sich außerdem nachrechnen, dass die Faltung eines Basisbildes mit einem anderen Basisbild stets 0 ergibt (Orthogonalität). Mit anderen Worten: Unähnlicher als zwei verschiedene Basisbilder können sich zwei 8x8-Pixelquadrate gar nicht sein (Ähnlichkeit 0).
    • 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.

  4. 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.

  5. Durch Umsortierung der Basisbilder bzw. der zugehörigen Koeffizienten wird ein Vektor erzeugt. Die Abbildung zeigt, wie umsortiert wird.

    Abbildung: Das zweidimensionale 8 mal 8 Pixelquadrat wird in einen eindimensionalen Vektor umindiziert unter Verwendung eines Zickzackwegs, der links oben beginnt und rechts unten endet. 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.

Sichtbare Artefakte bei zu groß gewählter JPEG-Kompression: Ränder, Schatten, Blockartefakt

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.