Wie funktioniert JPG (oder JPEG)?

Wie das JPG-Format funktioniert, ist eher Hintergrundwissen, Sie können direkt zu den Beispielbildern springen, wenn Sie nur an praktischen Ergebnissen interessiert sind.

Das Verfahren der JPG-Codierung ist mathematisch kompliziert, es enthält unter anderem:

  • Eine Farbraumkonvertierung wandelt die Darstellung der Bildpunkte aus der üblichen Form dreier Werte von 0 bis 255 für die Rot-, Grün- und Blauanteile (RGB-Farbraum) in eine Darstellung um, die einen Wert für die Helligkeit (genauer: Luminanz) und zwei für die Farbe (genauer: Chrominanz) verwendet (YCrCv-Farbraum) – ein Verfahren, das übrigens auch bei Videosignalen verwendet wird.
    Da das menschliche Auge Helligkeitsunterschiede empfindlicher wahrnimmt als Farbunterschiede, können die Farbsignale in geringerer Auflösung gespeichert werden, was zu einer Reduzierung der Datenmenge führt.
    Manche Bildbearbeitungsprogramme bieten hierzu eine Einstellung „Sub-Sampling“ an. Praktisch bedeutet dies, dass zwei oder sogar vier benachbarten Pixeln die gleiche Farbe zugewiesen wird – aber nicht die gleiche Helligkeit, die ja in voller Auflösung separat gespeichert wird.
  • Eine Teilung in Blöcke von 8×8 Pixel, bevor die eigentliche Komprimierung stattfindet – aus diesem Grund erscheinen in JPG-Bildern schlechter Qualität kleine quadratische Unregelmäßigkeiten.
  • Die eigentliche Komprimierung, die die Bilddaten in eine kleinere Menge Daten umrechnet und nur näherungsweise wieder rückgängig gemacht werden kann. Der Grad der Komprimierung kann verändert werden.
    Diese Verluste tauchen bei jeder Komprimierung und Dekomprimierung auf, verstärken sich also, wenn Sie eine Datei mehrfach speichern, erneut öffnen und wieder speichern; auch wenn Sie die Datei unverändert wieder speichern.

Hier liegt der mathematisch anspruchsvollste Teil – eine sog. diskrete Kosinus-Transformation, eine Variante der Fourier-Transformation. Man muss schon Mathematik studieren, um das dafür erforderliche Hintergrundwissen zu durchdringen.