Größenvergleich png und jpg

Jojo_212

Member
Themenstarter
Registriert
26 Aug. 2012
Beiträge
191
Hi,
mir ist grad folgendes aufgefallen: Ich habe mit dem Snipping Tool von Windows 7 ein paar Screenshots gemacht. Nachdem viele der in .jpg gespeicherten Bilder vermutlich durch die Kompimierung nicht mehr wirklich ansehnlich waren, probierte ich .png, welches ja verlustfrei komprimiert. Die Ergebnisse waren viel besser. Was mich nun allerdings wundert, ist, dass die .png-Screenshots auch noch viel kleiner waren als ihre .jpg-Pendents. Kurze Recheche brachte kein Licht ins dunkle. Da steht meist, dass .jpg kleiner ist als .png. Bei mir ist aber das Gegenteil der Fall. Kann da vielleicht jemand Licht ins dunkle bringen? Ist jetzt nix dramatisches, ich frag einfach so aus neugier:-)

Viele Grüße

Jojo
 
JPEG speichert immer mit 8bit pro Kanal, also 24bit oder 16Mio Farben. png speichert zwar (normalerweise) unkomprimiert - benutzt aber eine eigene Palette und kann daher stellenweise massiv Speicher sparen - ein Schwarzweiß-Bild hat entsprechend eine Palette von 1bit - der Gesamtspeicherbedarf ist also deutlich geringer. Bei einem Screenshot mit hohem Weiß-Anteil oder wenigen Farbverläufen trifft dies entsprechend auch (wenn auch weniger extrem als bei Schwarzweiß) zu.
 
Danke, das erklärt einiges:-) Die Screenshots sind tatsächlich vorwiegend weiß mit ein paar dünnen bunten Linien drauf. Ohne Farbverläufen oder ähnliches.
 
Neben der minimierten Farbpalette kommt noch hinzu, dass PNG gleichfarbige Flächen (unabhängig von der Größe) extrem gut komprimieren kann (und das kommt in Screenshots ja häufig vor).

JPG hingegen teilt das Bild in Blöcke mit exakt 8x8 Pixeln auf. Nur, wenn der gesamte Block einfarbig ist, klappt die Kompression eingermaßen gut (aber halt immer noch ineffizienter wie bei PNG, weil jeder Block separat komprimiert wird).
Wenn dann sogar noch Farbwechsel vorhanden sind (und sei es nur ein einziges schwarzes Pixel in einem weißen Block), dann schlägt der Kompressionsalgorithmus von JPG zu. Statt der Information "Ein schwarzes Pixel in einem weißen Block" zu speichern, wird versucht den Block durch Aufsummieren der Folgenden "Schablonen" nachzubilden:
Dctjpeg.png

Dass das für das genannte Beispiel nur extrem ineffizient funktionieren kann ist denke ich direkt klar.
Noch schlimmer: Je nach Kompressionsfaktor wird nach einer gewissen Anzahl Schablonen die Summation einfach abgebrochen, was zu den bekannten JPG Kompressionsartefakten führt. Das Originalbild wird nur noch "genähert" abgespeichert, was die Qualität insbesondere bei Schrift oder anderen Linien/Kanten stark reduziert.

Für Details siehe https://de.wikipedia.org/wiki/Diskrete_Kosinustransformation

Für Fotografien und ähnliche Inhalte (die aus vielen Farben bestehen und keine harten Linien/Kanten enthalten) funktioniert das Verfahren hingegen sehr gut: Die genäherte Version des Bildes sieht fürs Menschliche Auge immer noch gut aus, obwohl ein großer Teil der ursprünglichen Bildinformation verloren gegangen ist.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben