Progressive JPEG-Qualität im Vergleich zu normalem JPEG?


10

Ich versuche, einige BMP-Dateien mit höchster Qualität (Q = 100) in das JPEG-Format zu konvertieren, bis mir klar wird, dass es hier eine "Progressive" -Option gibt.

Eine meiner BMP-Dateien ist 2,9 MB groß. Nach der Konvertierung in das JPEG-Format ohne Progressive beträgt die neue Dateigröße 338,2 KB, und mit Progressive wird die neue Dateigröße nur auf 283,2 KB reduziert.

Ich habe einen Wikipedia-Artikel darüber gelesen, wofür dieses progressive JPEG gedacht ist, aber mein Anliegen ist es, im Vergleich zu normalem JPEG die Qualität des progressiven JPEG zu verschlechtern oder sie werden gleich sein?


Ich bezweifle, dass die Qualitätseffizienz ein Problem darstellt, aber lassen Sie mich das Problem beim Laden des Webs hinzufügen: Während Progressive für winzige Bilder, die Teil des Designs sind, wie verschiedene Skins, Frames und Hintergründe, in Ordnung ist, ist es für Payload-Bilder wie z als große Fotos. Es gibt eine Möglichkeit, die Benutzererfahrung durch standardmäßiges Laden von oben nach unten zu optimieren, indem die Tatsache genutzt wird, dass sich die Miniaturansichten bereits im Cache des Browsers befinden: Das Website-Design streckt die zwischengespeicherte Miniaturansicht hinter dem zu ladenden Bild. Dies ist viel schneller und schöner als das gezackte Ergebnis des progressiven JPEG.
Zdenek

Antworten:


9

Es gibt ein paar nette Beiträge hier , die zu beschreiben scheinen , warum Progressive Kompression besser sein können , und es scheint die Tatsache zu kommen , dass in Progressive JPEG die komprimierten Daten effizienter bestellt wird und dass blocky Bilddaten und Rauschen getrennt bekommen getrennt und komprimiert .

Ich habe die wichtigen Stücke unten hervorgehoben, sie beschreiben es besser als ich es jemals könnte.

Infolgedessen würde ich erwarten, dass progressives JPEG eine bessere Komprimierung ist, aber keine signifikante Änderung der Bildqualität.

Progressive JPEG verfügt über zwei verschiedene Codierungsfunktionen:

  1. Spektrale Auswahl
  2. Sukzessive Approximation

Was Sie beschreiben, ist nur das erste Merkmal (zuerst DC, dann AC-Bänder). Es ist jedoch das zweite Merkmal, das der Hauptgrund für die unterschiedliche Codierungseffizienz von Progressive JPEG ist. Bei der sukzessiven Approximation speichern Sie zuerst die höheren Bits der Koeffizienten (niedrige Genauigkeit, grobes Bild) und dann die niedrigeren Bits (hohe Genauigkeit, detailliertes Bild). In üblichen Bildern ist das Rauschen in den unteren Bits konzentriert. Daher kann der Huffman-Codierer bei der Symbolcodierung in dem höheren Bitbereich, in dem weniger Rauschen auftritt, effizienter sein. Die sukzessive Approximationscodierung trennt somit das Rauschen vom Bild, und dies ist der Grund für eine bessere Codierungseffizienz (Rauschen ist kaum komprimierbar).

Je mehr Rauschen (Detail) das Bild aufweist, desto besser ist die Codierungseffizienz von Progressive JPEG. Je weniger Rauschen (Unschärfe) das Bild aufweist, desto besser ist die Codierungseffizienz von sequentiellem (nicht progressivem) JPEG.

Beachten Sie, dass die meisten progressiven JPEG-Codierer eine Mischung aus Spektralauswahlcodierung und sukzessiver Approximationscodierung verwenden. Für eine bessere Codierungseffizienz ist hauptsächlich die sukzessive Approximation relevant, und Sie können versuchen, optimale Parameter für die sukzessive Approximation (der Punkt, an dem die Genauigkeit - Ah / Al im JPEG-Standard getrennt werden muss) für Ihre Bildklasse zu finden. Zum Beispiel habe ich manchmal einen optimalen Punkt Al = 4 für meine Bilder gefunden (4 untere Bits separat codiert).


2

Der Vorteil von progressivem JPEG besteht darin, dass, wenn ein Bild während der Übertragung im laufenden Betrieb betrachtet wird, sehr schnell eine Annäherung an das gesamte Bild erkennbar ist und sich die Qualität allmählich verbessert, wenn man länger wartet. Dies ist viel schöner als eine langsame Anzeige des Bildes von oben nach unten. Der Nachteil besteht darin, dass für jeden Scan ungefähr derselbe Rechenaufwand erforderlich ist, der für die Anzeige einer gesamten JPEG-Basisdatei erforderlich ist.

Das Bild sollte genau gleich sein, die Anzeige erfordert nur mehr Verarbeitung.

Quelle

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.