Hi, I'm Christoph, the developer of compress-or-die.com.
I hereby ask you to accept the cookies
of the self-hosted Matomo Tracking software which I use to analyze the traffic to this website.
You can revoke your consent at any time on the following page: Privacy policy.
Verstehe den technischen Hintergrund von Online-Bild-Kompressions-Tools und erfahre, welchen Compressor du ab jetzt verwenden solltest.
Autor: Christoph Erdmann (@McSodbrenner) Letztes Update: 2018-03-27 18 Min. Lesezeit English version | Deutsche Version
Im Netz tummeln sich haufenweise Artikel über Online-Bild-Kompressions-Tools, die in der großen Mehrzahl leider nur sehr oberflächlich auf die Tools eingehen.
Meist bleibt es bei einem simplen: "Das macht kleinere Bilder, also muss es besser sein."
Leider werden solche Aussagen unabhängig davon getroffen, welche Einstellungen gemacht wurden, und ohne die Konsequenzen für die jeweilige Zielgruppe (Fotograf, Web-Entwickler, Ad-Entwickler etc.) oder den jeweiligen Anwendungszweck (Archivierung, Website-Präsentation, Druck etc.) zu beachten.
Grundsätzlich gibt es nicht DAS Tool, sondern nur das optimale Tool für einen bestimmten Anwendungszweck.
Ich werde also die Funktionen der einzelnen Tools vergleichen und schauen, wo diese ihre Stärken und Schwächen haben.
Und natürlich werde ich testen, wie es denn um die tatsächlichen JPG-Kompressions-Fähigkeiten bestellt ist und wie die Tools im Vergleich zu Compress-Or-Die darstehen.
Wie beurteilt man eigentlich die Ergebnisse der Tools? Wie vergleicht man die Qualität zweier Bilder? Ab welcher Qualitätstufe sehen sie ausreichend gut aus? Und ab wann stören Kompressions-Artefakte?
Je nach Anwendungszweck und Person werden die Antworten hier recht unterschiedlich ausfallen.
Ein paar schlaue Köpfe haben sich Gedanken dazu gemacht und den SSIM-Algorithmus entwickelt, der die Wahrnehmung unseres Auges simulieren soll.
Dieser versucht einen absoluten Wert zu erzeugen, der den wahrgenommenen Unterschied zwischen zwei Bildern wiedergibt.
Mit diesem Algorithmus werde ich im Folgenden die Ergebnisse der Tools vergleichen, indem ich das jeweils produzierte JPG mit dem Original-Bild vergleiche.
Für eine bessere Lesbarkeit und Verständlichkeit multipliziere ich den entstehenden Wert mit 1000 und subtrahiere ihn von 1000, so dass ich effektiv einen Wert für den visuellen Abstand zweier Bilder bekomme.
Basierend auf meiner ganz individuellen Wahrnehmung habe ich daraus folgende Beurteilungstabelle für das JPG-Format erstellt:
Die Tools wirken scheinbar ein wenig Magie und geben euch ein JPG zurück, welches bei wesentlich kleinerer Dateigröße immer noch identisch zum Original aussieht.
Wie schaffen das die Kompressions-Tools eigentlich?
Im Normalfall werden eure Bilder neu komprimiert, da mit Maßnahmen, die die Bilddaten nicht verändern (z.B. Entfernen der Meta-Daten, Baseline-zu-Progressive-Umbau, Optimierung der Huffman-Tabellen), normalerweise nicht viel aus einem Bild herausgeholt werden kann.
Bei der Neu-Kompression sind zwei Dinge entscheidend: Zum ersten der verwendete JPG-Encoder für einstellbare Features wie z.B. Chroma subsampling, und zum zweiten die gewählte Qualitätsstufe.
Die verfügbaren JPG-Encoder sind mittlerweile recht weit ausgereizt.
Ich gehe davon aus, dass die meisten Tools, so wie ich auch, den Platzhirschen MozJPEG gewählt haben, der derzeit am ausgereiftesten wirkt.
Betreut wird das von Mozilla Research ins Leben gerufene mozJPEG derzeit von Kornel, der sich schon mit pngquant einen hervorragenden Namen im Bereich der PNG-Kompression gemacht hat.
Viel interessanter ist aber die Qualitätsstufe (eigentlich das Anpassen der Werte für die Quantisierungstabellen, siehe JPG endlich verstehen).
Da in jedem Tool die Quantisierungstabellen über verschieden skalierte Qualitäts-Regler (z.B. Adobe Photoshop: 1-12) eingestellt werden, hier der Hinweis, dass ich das System verwenden werde, welches am gebräuchlichsten ist und auch von mozJPEG verwendet wird: Die Qualitäts-Skala von 1-100.
Um zu verstehen, wie die Tools den zur Neu-Kompression nötigen Qualitätsfaktor festlegen, sollten wir uns zuerst mal die folgenden zwei Diagramme anschauen, die ich aus dem Beispielbild generiert habe.
Das erste ist der typische Verlauf von Dateigröße zu eingestellter Qualitätsstufe eines JPGs:
Anhand dieser beiden Bilder kann man sehr gut sehen, dass die Dateigröße ab dem JPG-Qualitätswert von ca. 75 exponentiell ansteigt, während sich die wahrgenommene Qualität nur noch sehr wenig verbessert.
Der Wert um ca. 75 ist daher der Sweet Spot und hat das beste Qualitäts-/Dateigrößenverhältnis.
Der Wert aber, ab dem die meisten User absolut keinen Unterschied mehr zwischen dem Original und dem neu erzeugten Bild feststellen können, liegt nach meinen Erfahrungswerten je nach Bild oberhalb von etwa 85.
Die Tools wählen also einen Wert oberhalb der 85, welcher ihrer Meinung nach so gerade ausreicht, dass der User keinen Unterschied mehr zum Original-Bild feststellen kann.
Da die Dateigröße in dem Bereich aber exponentiell ansteigt, macht es einen enormen Dateigrößen-Unterschied, ob ein Tool einen Wert von 87 oder 88 wählt.
Dass die Dateigrößenersparnis bei den Tools jetzt so enorm ist, liegt in den meisten Fällen daran, dass Bilder aus Digitalkameras oder Smartphones verkleinert werden sollen, welche ab Werk einen extrem hohen JPG-Qualitätswert eingestellt haben.
Und wie wir in der Grafik gesehen haben, steigt bei sehr hohen Qualitätsstufen wie 90 und mehr die Dateigröße ins Extreme.
Diese hohe Einstellung der Kameras hat aber durchaus seine Berechtigung: Ein Fotograf ist für jedes Quentchen Qualität dankbar, welches Bild-Fehler nach seiner Bearbeitung verhindert.
Für den Otto-Normal-Verbraucher jedoch ist solch eine hohe Qualitätsstufe meistens unsinnig.
Einfach mal kurz eingeworfen: Macht es nicht evtl. Sinn, kaum sichtbare Artefakte in Kauf zu nehmen und dabei 30% an Dateigröße einzusparen?
Das Ergebnis lässt sich nur leider nicht so gut an den User verkaufen wie die Aussage "Wir reduzieren ihre Bilder ohne Qualitätsverlust".
Da die Entwickler der Tools für diese Aussage gerade stehen müssen, sind die Ergebnisse vieler Optimierungstools größer als sie sein müssten.
Kommen wir jetzt zur Einzelvorstellung, in der ich vorstellen werde, was mir bei den Tools so aufgefallen ist.
Da ich der Entwickler von Compress-Or-Die bin, werde ich sie natürlich damit vergleichen.
tinyJPG ist der kleinere Bruder des relativ bekannten PNG-Kompressions-Tools tinyPNG.
Durch dessen Erfolg bestätigt, veröffentlichte der niederländische Betreiber voormedia schließlich im November 2014 dieses Pendant.
Positiv hervorzuheben ist hier die große Anzahl an Versionen, die dem User zur Verfügung gestellt werden.
Es gibt ein Webinterface, ein Photoshop-Plugin (50$), ein Wordpress-Plugin, ein Magento-Plugin und eine API, welche im Hintergrund von den Plugins genutzt wird, aber auch selbst genutzt werden kann.
Solange man nicht mehr als 500 Bilder im Monat konvertieren möchte, ist dies auch kostenlos möglich.
Das Upload-Limit mit max. 5 MB pro Bild ist nicht sonderlich hoch, aber hier zeigt sich auch deutlich, dass tinyJPG eher die Web-Entwickler und Hobby-Fotografen als die Profi-Fotografen ansprechen möchte.
Es ist möglich, bis zu 20 JPG-Bilder auf einmal über eine verschlüsselte Verbindung hochzuladen, was wohl gleichzeitig der Grund ist, warum es keine Preview-Funktion gibt.
Da es aber keine Einstellungsmöglichkeiten gibt und tinyJPG verspricht, dass es keine sichtbaren Änderungen im Bild gibt, ist diese Entscheidung nachvollziehbar.
Meta-Daten wie Exif, IPTC und XMP werden entfernt, was für nahezu alle User der Zielgruppe in Ordnung sein sollte, solange sie nicht in einer Bildagentur arbeiten oder professionelle Fotografen sind.
tinyJPG behält das Chroma subsampling des Eingangs-JPGs bei.
Ich persönlich halte das im Hinblick auf die Zielgruppe für eine unglückliche Lösung, da die meisten User nicht in der Lage sein werden, diese Einstellung für ihr Ursprungsbild festzulegen.
Und da ein 4:2:0-Subsampling in fast allen Fällen genug sein sollte, wird hier im Falle eines 4:4:4-Eingangsbildes durchaus eine Menge Einspar-Potential in der Größenordnung von rund 20% verschenkt.
Positiv hervorzuheben ist die Farbraum-Konvertierung zu sRGB, die sonst nur Compress-Or-Die bietet.
Und die Auto-Rotation anhand der im JPG eingebetteten Exif-Daten, die noch von Compress-Or-Die und Optimizilla angeboten werden.
tinyJPG wählt eine relativ hohe Qualitätsstufe, welche ich mit Compress-Or-Die jeweils bei leicht geringerer Dateigröße und besserer Qualität unterbieten konnte:
Das Tool von Stephane Lyver besticht eher durch seine Einfachheit als durch seine Features, was ebenfalls eine bestimmte Zielgruppe anspricht.
Es kann jeweils nur ein JPG-Bild über eine verschlüsselte Verbindung hochgeladen werden, wobei einem das Upload-Limit von 10 MB aber viel Platz lässt und man mit einer Preview belohnt wird.
Meta-Daten wie Exif, IPTC und XMP werden auch hier entfernt. Das Chroma subsampling wird grundsätzlich auf 4:2:0 gestellt.
Durch die von compressor.io moderat gewählte Qualitätsstufe, die sich etwa an der Grenze zu sichtbaren Artefakten befindet, haben wir es hier mit einem Tool für Webworker zu tun, die nicht auf eingebildete Qualitätsvorteile beharren.
Den festgelegten Wert für die Kompression finde ich persönlich besser als bei den anderen Tools. Leider enthält es nur wenige Features.
Die Ergebnisse konnte ich mit Compress-Or-Die bei leicht geringerer Dateigröße und besserer Qualität unterbieten:
compressor.io unterstützt zusätzlich eine Option für eine Lossless-Kompression. Für JPGs, die zuvor mit Compress-Or-Die komprimiert wurde, konnte aber keine Verbesserung erzielt werden.
Ich vermute, dass bei dieser Einstellung Meta-Daten entfernt, Huffman-Tables optimiert und die Struktur von Baseline auf Progressive umgebaut werden, was üblicherweise das Standard-Vorgehen bei Lossless-Optimierung ist und natürlich auch von Compress-Or-Die so durchgeführt wird.
Optimizilla war eine kleine Überraschung im Test.
Eigentlich wollte ich auch noch compressjpeg.com testen, bis mir auffiel, dass beide Tools von der Mediafox Marketing s.r.o. aus Tschechien kommen.
Genauso wie compresspng.com und gifcompressor.com. Leider wirkten alle Seiten ein wenig überladen mit Werbung, so dass der erste Eindruck etwas getrübt war.
Es können wie bei tinyJPG bis zu 20 JPG-Bilder gleichzeitig hochgeladen werden. Über ein Upload-Limit habe ich leider nichts gefunden und die Verbindung ist zudem unverschlüsselt.
Dafür wird man trotz der Massen-Upload-Funktion mit einer Preview belohnt.
Meta-Daten wie Exif, IPTC und XMP werden auch hier entfernt. Das Chroma subsampling wird grundsätzlich auf 4:2:0 gestellt.
Optimizilla wählt eine extrem hohe Qualitätsstufe, welche ich mit Compress-Or-Die jeweils bei leicht geringerer Dateigröße und besserer Qualität unterbieten konnte:
Optimizilla ist neben Compress-Or-Die übrigens das einzige der hier im Test vorgestellten Tools, welches es erlaubt, eine Qualitätsstufe für die JPGs anzugeben.
JPEGmini des israelischen Herstellers Beamr Imaging Ltd. weist, wie auch tinyJPG, eine Vielzahl von zur Verfügung stehenden Versionen auf.
Neben dem obligatorischen Webinterface gibt es ein Adobe-Photoshop-Plugin, ein Adobe-Lightroom-Plugin, eine Desktop-Software (Windows, Mac, 29$) und eine installierbare Server-Version.
Für die Server-Version habe ich allerdings keinen Preis gefunden, und für die Trial-Version ist eine Anmeldung nötig. Deshalb gehe ich davon aus, dass diese etwas teurer ist.
Außergewöhnlich: Es kann ein Bild mit bis zu 128 Megapixeln hochgeladen werden, was eigentlich heißt, dass so ziemlich jedes JPG-Bild hochgeladen werden kann.
Leider nur über eine unverschlüsselte Verbindung.
Das Chroma subsampling des Originalbildes wird beibehalten, genauso wie die Meta-Daten.
Außerdem wählt JPEGmini eine sehr hohe Qualitätsstufe, welche ich mit Compress-Or-Die jeweils bei leicht geringerer Dateigröße und besserer Qualität unterbieten konnte:
Aufgrund der Tatsache, dass JPEGmini die Meta-Daten und das Chroma subsampling beibehält, der möglichen Dateigröße beim Upload und des Vorhandenseins des Lightroom-Plugins, gehe ich davon aus, dass JPEGmini eindeutig Fotografen anspricht.
kraken.io von der Nekkra UG aus Deutschland scheint auf den ersten Blick das Gegenstück zu JPEGmini zu sein.
Das Upload-Limit liegt bei nur einem MB, womit sich wohl der Versuch eines Foto-Uploads erübrigt und wir den inoffiziellen Beweis haben, dass dieses Tool für Webworker gedacht ist.
Features wie Massen-Upload, Einstellen des Chroma-Subsamplings und die Möglichkeit, Meta-Daten zu behalten oder auch zu entfernen, wissen zu gefallen.
Daüber hinaus lässt sich die Qualitätstufe noch händisch einstellen.
Hier darf man nur nicht den Fehler machen, den Regler auf "Lossy" stehen zu lassen und kraken das Optimieren zu überlassen.
Die gewählte Qualitätsstufe ist in diesem Fall absurd hoch und resultiert in der in diesem Test größten Dateigröße.
Da man aber die Qualitätsstufe einstellen kann, wollen wir da mal ein Auge zu drücken. Allerdings wäre es für diesen Fall auch schön gewesen, eine Preview-Funktion zu haben.
Die Dateigröße ist mit Abstand die größte im Test. Auch diese konnte mit Compress-Or-Die jeweils bei leicht geringerer Dateigröße und besserer Qualität unterboten werden:
Auch bei kraken.io hat man die Möglichkeit, einen Lossless-Modus auszuwählen, der aber aus von Compress-Or-Die erstellten Bildern nichts mehr herausholen konnte.
Compress-Or-Die.com versucht, all die Probleme der anderen Tools auszumerzen.
Entstanden ist es als Nebenprodukt eines vom Bund geförderten Forschungsprojekts im Bereich der Digital-Werbemittel-Kompression.
Das Upload-Limit liegt bei 16 MB und sollte damit auch für hochauflösende Fotos reichen. Zudem ist die Verbindung per SSL/TLS abgesichert.
Es gibt allerdings keinen Massen-Upload, was daran liegt, dass Compress-Or-Die etwas anders arbeitet als die anderen Tools.
Hier wird nicht versucht, möglichst schnell und ohne Arbeit zu einem Ergebnis zu kommen, sondern es wird eine Vielzahl von Einstellmöglichkeiten angeboten, die es einem erlauben, das Maximum aus jedem Bild herauszuholen.
Das Ergebnis jeder Änderung kann jederzeit durch die Bild-Vorschau überprüft werden.
Im Gegensatz zu anderen Tools erlaubt Compress-Or-Die auch den Upload von verlustfreien Formaten wie z.B. PNG.
Das erlaubt, die Original-Daten des Bildes hochladen zu können, was in besserer Qualität resultiert.
Das Chroma subsampling kann frei gewählt werden, es gibt getrennte Qualitäts-Regler für Luminanz- und Chroma-Kanäle, der Farbraum wird automatisch zu sRGB konvertiert und Bilder werden automatisch anhand der im JPG eingebetteten EXIF-Daten richtig gedreht.
Darüber hinaus gibt es einzigartige Features wie z.B. die von Adobe Fireworks bekannte "Selective Quality", welche es erlaubt, vom User festgelegte Bild-Regionen mit einer anderen Qualitätsstufe zu komprimieren.
Oder auch die Möglichkeit transparente JPGs zu erzeugen, solange das Bild später in einem Browser aufgerufen wird.
Compress-Or-Die wendet sich also an alle User, die ihre Bilder digital darstellen wollen/müssen.
Nicht gerade überraschend ist es so, dass Tools, die eine höhere Dateigröße zurückgegeben haben, auch gleichzeitig eine auf dem Papier bessere Qualität vorweisen können.
Da die manuell eingestellten Ergebnisse von Compress-Or-Die.com immer nur knapp besser sind als bei den anderen Tools, sieht man schon, dass es nicht so sehr auf den verwendeten Encoder ankommt, sondern auf die verwendete Qualitätsstufe.
Wer ist jetzt also qualitativ der Gewinner aus dem Vergleich?
Das kann eigentlich nur das Tool sein, was es erlaubt, den Qualitätsfaktor selbst einzustellen, also Compress-Or-Die.
Denn welche Qualitätstufe für einen selbst die richtige ist, hängt vom eigenen subjektiven Empfinden, der eigenen Toleranz-Grenze und dem geplanten Anwendungsgebiet des Bildes ab.
Darüberhinaus lässt Compress-Or-Die eine breite Palette an Einstellungsmöglichkeiten zu, die absolut notwendig sind, um überhaupt die Chance zu haben, das bestmögliche JPG zu erzeugen.
Erlaubt ein Tool z.B. nicht, ein Graustufen-Bild zu erzeugen, kann der Encoder noch so gut, aber das erzeugte Bild wird bei gleicher Qualität immer größer sein als das Graustufen-JPG.
Geht es anderseits darum, sehr viele Bilder zu einer nicht notwendigerweise optimalen Dateigröße zu verkleinern, ist der Einsatz von JPEGmini nicht verkehrt.
Im Druck-Bereich ist es oft nicht wichtig, ob man ein paar kB spart. Hier geht es um enorm viel Bild-Daten, die man dank des außergewöhnlichen Upload-Limits auch problemlos hochladen kann.
Auch der Massen-Upload und das Lightroom-Plugin sind da natürlich sehr hilfreich.
Allen Usern, die für die Anzeige auf dem Bildschirm arbeiten und keine Lust haben, sich mit jedem Bild einzeln zu beschäftigen, bietet sich ein Versuch mit tinyJPG an, weil es das erste Tool mit einer Massen-Upload-Funktion unter den kleinen Dateigrößen ist.
Außerdem bietet es eine API, um die Bild-Verkleinerung in einen automatisierten Workflow zu integrieren.
Falls ihr noch Fragen, Anregungen, Wünsche o.ä. haben solltet, immer her damit.
If you always wanted to know how the JPEG compression works under the hood I want to recommend this article to you. It was important to me to write an article that is reasonable for every level of understanding.
Furthermore it contains 7 valuable tricks to reduce the file size of your JPEGs by exploiting the technical functionality of the JPEG compression algorithm.
Ever wondered why some of your PNGs are of large file size while similar PNGs are so small?
Since this question comes up so often, I have written a follow-up to my article "Understanding JPEG" to explain the bare necessities of the PNG compression algorithm in layman's terms.
At the end you will also get 7 tips on how to get your PNGs to a REALLY small file size.
You don't like ads? Support Compress-Or-Die and become a patron who does not see ads. Your upload limit gets doubled too!
News
Image compression with AI
2023-06-25
Wow! Google researchers have now proposed a new method that combines a standard autoencoder with a diffusion process to recover and add fine details discarded by the autoencoder. Interesting to see the possibilities AI opens up when compressing images.
A year ago, generating realistic images with AI was a dream. We were impressed by seeing generated faces that resemble real ones, despite the majority of outputs having three eyes, two noses, etc. However, things changed quite rapidly with the release of diffusion models. Nowadays, it is difficult to distinguish an AI-generated image from a […]
Check out our Reddit channel if you want to comment on the news.