30Aug

Είναι το PNG Format Lossless δεδομένου ότι έχει μια παράμετρο συμπίεσης;

how-is-the-png-format-lossless-από-έχει-μια-συμπίεση-παράμετρος-00

Η μορφή PNG υποτίθεται ότι είναι χωρίς απώλειες μορφή, αλλά όταν αποθηκεύετε μια εικόνα ως αρχείο PNG, σας ζητείται να επιλέξετε ένα επίπεδο συμπίεσης.Αυτό σημαίνει ότι το σχήμα PNG στην πραγματικότητα δεν είναι χωρίς απώλειες;Η σημερινή θέση SuperUser Q & A βοηθά στην εκκαθάριση της σύγχυσης για έναν περίεργο αναγνώστη.

Η σημερινή ερώτηση &Η συνάντηση απαντήσεων έρχεται με την ευγένεια του SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα-καθοδηγούμενη ομαδοποίηση Q & A ιστοσελίδες.

Η ερώτηση

SuperUser reader pkout θέλει να μάθει εάν η ποιότητα μιας εικόνας PNG επηρεάζεται από το επιλεγμένο επίπεδο συμπίεσης:

Όπως καταλαβαίνω, τα αρχεία PNG χρησιμοποιούν συμπίεση χωρίς απώλειες.Ωστόσο, όταν χρησιμοποιώ έναν επεξεργαστή εικόνας όπως το Gimp και προσπαθώ να αποθηκεύσω μια εικόνα ως αρχείο PNG, ζητά ένα επίπεδο συμπίεσης που κυμαίνεται μεταξύ 0 και 9.

Αν έχει μια παράμετρο συμπίεσης που επηρεάζει την οπτική ακρίβεια του συμπιεσμένουεικόνα, πώς είναι PNG χωρίς απώλειες τότε;Μπορεί κάποιος να μου το εξηγήσει αυτό;Μπορώ να πάρω lossless συμπεριφορά μόνο όταν έχω ρυθμίσει το επίπεδο συμπίεσης σε 9;

Υπάρχει διαφορά στην ποιότητα της εικόνας ανάλογα με το επίπεδο συμπίεσης που επιλέγετε;

Οι απαντήσεις

Συνεργάτες SuperUser LordNeckbeard και jjlin έχουν την απάντηση για εμάς.Πρώτα, LordNeckbeard: Το

PNG είναι συμπιεσμένο, αλλά χωρίς απώλειες

Το επίπεδο συμπίεσης είναι μια ανταλλαγή μεταξύ του μεγέθους του αρχείου και της ταχύτητας κωδικοποίησης / αποκωδικοποίησης.Για την υπερβολική γενίκευση, ακόμη και οι μη μορφές εικόνας, όπως το FLAC, έχουν παρόμοιες έννοιες.

Διαφορετικά επίπεδα συμπίεσης, ίδια αποκωδικοποιημένη έξοδος

Αν και τα μεγέθη αρχείων είναι διαφορετικά λόγω των διαφορετικών επιπέδων συμπίεσης, η πραγματική αποκωδικοποιημένη έξοδος θα είναι ίδια.Μπορείτε να συγκρίνετε τις μνήμες MD5 των αποκωδικοποιημένων εξόδων με ffmpeg χρησιμοποιώντας το MD5 muxer.Αυτό φαίνεται καλύτερα με μερικά παραδείγματα.

Δημιουργία αρχείων PNG

how-is-the-png-format-lossless-από-έχει-μια-συμπίεση-παράμετρος-01

  • Από προεπιλογή, το ffmpeg θα χρησιμοποιεί -compression_level 100 για την έξοδο PNG.
  • Μια γρήγορη, αδύναμη δοκιμή έδειξε ότι το 100( το υψηλότερο επίπεδο συμπίεσης) χρειάστηκε περίπου τρεις φορές περισσότερο για κωδικοποίηση και πέντε φορές περισσότερο για να αποκωδικοποιηθεί από το 0( το χαμηλότερο επίπεδο συμπίεσης) σε αυτό το παράδειγμα.

Συγκρίνετε το μέγεθος του αρχείου

how-is-the-png-format-lossless-since-it-έχει-μια-συμπίεση-παράμετρος-02

Αποκωδικοποιήστε τα αρχεία PNG και εμφάνιση των MD5 Hash

how-is-the-png-format-lossless-since-it-έχει-μια-συμπίεση-παράμετρος-03

Δεδομένου ότι και οι δύο hash είναι οι ίδιες, μπορείτε να είστε βέβαιοι ότι οι αποκωδικοποιημένες εξόδους( τα μη συμπιεσμένα ωμά αρχεία) είναι ακριβώς τα ίδια.

Ακολούθησε η απάντηση από το jjlin: Το

PNG είναι χωρίς απώλειες.Το GIMP πιθανότατα δεν χρησιμοποιεί την καλύτερη επιλογή διατύπωσης σε αυτή την περίπτωση.

Σκεφτείτε ως ποιότητα συμπίεσης ή επίπεδο συμπίεσης .Με χαμηλότερη συμπίεση, παίρνετε ένα μεγαλύτερο αρχείο, αλλά χρειάζεται λιγότερος χρόνος για να παραχθεί, ενώ με μεγαλύτερη συμπίεση, παίρνετε ένα μικρότερο αρχείο που χρειάζεται περισσότερο χρόνο για να παραχθεί.

Συνήθως λαμβάνετε μειούμενες αποδόσεις, δηλ. Όχι τόσο μεγάλη μείωση του μεγέθους σε σύγκριση με την αύξηση του χρόνου που χρειάζεται όταν ανεβείτε στα υψηλότερα επίπεδα συμπίεσης, αλλά εξαρτάται από εσάς.

Έχετε κάτι να προσθέσετε στην εξήγηση;Απενεργοποιήστε τα σχόλια.Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους χρήστες τεχνολογίας Stack Exchange;Δείτε το πλήρες νήμα συζήτησης εδώ.