Connect with us

Wie man

Ist das PNG-Format verlustfrei, da es einen Komprimierungsparameter hat?

Ist das PNG-Format verlustfrei, da es einen Komprimierungsparameter hat?

Das PNG-Format soll ein verlustfreies Format sein, aber wenn Sie ein Bild als PNG-Datei speichern, werden Sie aufgefordert, eine Komprimierungsstufe auszuwählen. Heißt das, dass das PNG-Format eigentlich doch nicht verlustfrei ist? Der heutige SuperUser Q&A-Post hilft einem neugierigen Leser, die Verwirrung zu beseitigen.

Die Frage

SuperUser reader pkout möchte wissen, ob die Qualität eines PNG-Bildes durch die gewählte Komprimierungsstufe beeinflusst wird:

Soweit ich weiß, verwenden PNG-Dateien eine verlustfreie Komprimierung. Wenn ich jedoch einen Bildeditor wie Gimp verwende und versuche, ein Bild als PNG-Datei zu speichern, wird eine Komprimierungsstufe zwischen 0 und 9 angefordert.

Wenn es einen Komprimierungsparameter hat, der die visuelle Präzision des komprimierten Bildes beeinflusst, wie ist PNG dann verlustfrei? Kann mir das bitte jemand erklären? Erhalte ich nur dann verlustfreies Verhalten, wenn ich die Komprimierungsstufe auf 9 stelle?

Gibt es einen Unterschied in der Bildqualität je nach gewählter Komprimierungsstufe?

Die Antwort

Die SuperUser-Mitwirkenden LordNeckbeard und jjlin haben die Antwort für uns. Zuerst, LordNeckbeard:

PNG ist komprimiert, aber verlustfrei

Die Komprimierungsstufe ist ein Kompromiss zwischen Dateigröße und Codierungs-/Decodierungsgeschwindigkeit. Um es zu verallgemeinern, haben sogar Nicht-Bildformate wie FLAC ähnliche Konzepte.

Verschiedene Komprimierungsstufen, gleiche dekodierte Ausgabe

Obwohl die Dateigrößen aufgrund der unterschiedlichen Komprimierungsstufen unterschiedlich sind, ist die tatsächliche decodierte Ausgabe identisch. Sie können vergleichen MD5-Hashes der dekodierten Ausgänge mit ffmpeg unter Verwendung der MD5-Muxer. Dies lässt sich am besten an einigen Beispielen zeigen.

PNG-Dateien erstellen

  • Standardmäßig verwendet ffmpeg -compression_level 100 für die PNG-Ausgabe.
  • Ein schneller, schlampiger Test zeigte, dass 100 (die höchste Komprimierungsstufe) in diesem Beispiel ungefähr dreimal länger zum Kodieren und fünfmal länger zum Dekodieren dauerte als 0 (die niedrigste Komprimierungsstufe).

Dateigröße vergleichen

Entschlüsseln Sie die PNG-Dateien und zeigen Sie MD5-Hashes an

Da beide Hashes gleich sind, können Sie sicher sein, dass die dekodierten Ausgaben (die unkomprimierten Rohdateien) genau gleich sind.

Gefolgt von der Antwort von jjlin:

PNG ist verlustfrei. GIMP verwendet in diesem Fall höchstwahrscheinlich nicht die beste Wortwahl.

Betrachten Sie es als oder. Bei einer niedrigeren Komprimierung erhalten Sie eine größere Datei, deren Erstellung jedoch weniger Zeit in Anspruch nimmt, während Sie bei einer höheren Komprimierung eine kleinere Datei erhalten, deren Erstellung länger dauert.

Typischerweise erhalten Sie abnehmende Renditen, dh nicht so viel Verringerung der Größe im Vergleich zur Erhöhung der Zeit, die beim Erhöhen der höchsten Kompressionsstufen benötigt wird, aber es liegt an Ihnen.

Möchten Sie der Erklärung noch etwas hinzufügen? Ton aus in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Sehen Sie sich hier den vollständigen Diskussionsthread an.

Continue Reading
Click to comment

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Tendencia