de.phhsnews.com


de.phhsnews.com / 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 Wählen Sie eine Komprimierungsstufe. Bedeutet das, dass das PNG-Format überhaupt nicht verlustfrei ist? Der heutige SuperUser F & A Beitrag hilft, die Verwirrung für einen neugierigen Leser zu klären.

Die heutige Question & Answer Session kommt dank SuperUser - einer Unterteilung von Stack Exchange, einer Community-gesteuerten Gruppierung von Q & A-Websites - zustande.

Die Frage

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

Wie ich es verstehe, verwenden PNG-Dateien verlustfreie Komprimierung. Wenn ich jedoch einen Bildbearbeitungsprogramm wie Gimp verwende und versuche, ein Bild als PNG-Datei zu speichern, wird nach einer Komprimierungsstufe zwischen 0 und 9 gefragt.

Wenn es einen Komprimierungsparameter hat, der die visuelle Genauigkeit beeinflusst das komprimierte Bild, wie ist PNG dann verlustfrei? Kann mir bitte jemand das erklären? Bekomme ich verlustfreies Verhalten nur, wenn ich den Komprimierungsgrad auf 9 festlege?

Gibt es einen Unterschied in der Qualität des Bildes, abhängig von der gewählten Komprimierungsstufe?

Die Antwort

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

PNG ist komprimiert, aber verlustfrei

Der Komprimierungsgrad ist ein Kompromiss zwischen Dateigröße und Codier- / Decodiergeschwindigkeit. Zur übermäßigen Verallgemeinerung haben auch Nicht-Bildformate wie FLAC ähnliche Konzepte.

Unterschiedliche Komprimierungsstufen, gleiche dekodierte Ausgabe

Obwohl die Dateigrößen aufgrund der unterschiedlichen Komprimierungsstufen unterschiedlich sind, ist die tatsächliche dekodierte Ausgabe identisch. Sie können die MD5-Hashes der dekodierten Ausgaben mit ffmpeg mit dem MD5-Muxer vergleichen. Dies wird am besten anhand einiger Beispiele gezeigt.

PNG-Dateien erstellen

  • Standardmäßig verwendet ffmpeg -compression_level 100 für die PNG-Ausgabe.
  • Ein kurzer, schlampiger Test zeigte, dass 100 (die höchste Komprimierungsstufe) ungefähr drei benötigte mal länger zu kodieren und fünf mal länger zu dekodieren als 0 (die niedrigste Komprimierungsstufe) in diesem Beispiel

Dateigröße vergleichen

PNG-Dateien entschlüsseln und MD5-Hashes anzeigen

Da beide Hashes gleich sind, du kann sichergestellt werden, dass die dekodierten Ausgaben (die unkomprimierten Raw-Dateien) genau gleich sind.

Gefolgt von der Antwort von jjlin:

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

Stellen Sie es sich als Komprimierungsqualität oder Komprimierungsstufe vor. Mit geringerer Komprimierung erhalten Sie eine größere Datei, aber es dauert weniger Zeit zu produzieren, während mit höherer Komprimierung, erhalten Sie eine kleinere Datei, die länger dauert.

Normalerweise erhalten Sie abnehmende Renditen, dh nicht so viel Größe verglichen mit der Zunahme der Zeit, die es braucht, wenn man die höchsten Komprimierungsstufen erreicht, aber es liegt an Ihnen.


Haben Sie etwas zur Erklärung hinzuzufügen? Ton in den Kommentaren ab. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange Benutzern lesen? Sehen Sie sich den vollständigen Diskussionsfaden hier an.


Schneller Zugriff auf Entwürfe in der iOS Mail App mit einem langen Tastendruck

Schneller Zugriff auf Entwürfe in der iOS Mail App mit einem langen Tastendruck

Vielleicht haben Sie Entwürfe von alten Nachrichten, die Sie nicht fertigstellen konnten, oder vielleicht verwenden Sie Entwurfsnachrichten als Vorlagen Sie müssen nicht immer und immer wieder tippen. Wenn Sie Entwürfe verwenden, können Sie in der iOS Mail-App schneller darauf zugreifen, statt den Ordner Entwürfe zu durchsuchen.

(how-to)

So verwenden Sie programmierbare NFC-Tags mit Ihrem Android-Telefon

So verwenden Sie programmierbare NFC-Tags mit Ihrem Android-Telefon

Die NFC-Hardware Ihres Android-Telefons dient nicht nur dazu, Inhalte zu übertragen und mobile Zahlungen zu verwenden. Sie können günstige, programmierbare NFC-Tags kaufen und Ihr Telefon automatisch Aktionen ausführen lassen, wenn Sie sie berühren. Sie könnten beispielsweise NFC-Tags auf Ihrem Nachttisch, in der Nähe Ihrer Haustür, in Ihrem Auto und auf Ihrem Schreibtisch unterbringen Arbeit.

(how-to)