
Il formato PNG dovrebbe essere un formato lossless, ma quando si salva un'immagine come file PNG, viene richiesto di scegli un livello di compressione. Questo significa che il formato PNG in realtà non è senza perdita, dopo tutto? Il post di Q & A di SuperUser di oggi aiuta a chiarire la confusione per un lettore curioso.
La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di Q & A basato su community.
Il lettore SuperUser pkout vuole sapere se la qualità di un'immagine PNG è influenzata dal livello di compressione scelto:
A quanto ho capito, i file PNG usano la compressione senza perdita di dati. Tuttavia, quando sto usando un editor di immagini come Gimp e provo a salvare un'immagine come un file PNG, richiede un livello di compressione compreso tra 0 e 9.
Se ha un parametro di compressione che influenza la precisione visiva di l'immagine compressa, come è quindi PNG lossless? Qualcuno può spiegarmelo per favore? Ricevo un comportamento senza perdite solo quando imposto il livello di compressione su 9?
C'è una differenza nella qualità dell'immagine a seconda del livello di compressione che scegli?
I contributori SuperUser LordNeckbeard e jjlin hanno la risposta per noi. Innanzitutto, LordNeckbeard:
PNG è compresso, ma Lossless
Il livello di compressione è un compromesso tra la dimensione del file e la velocità di codifica / decodifica. Per generalizzare eccessivamente, anche i formati non immagine come FLAC hanno concetti simili.
Livelli di compressione diversi, stessa uscita decodificata
Anche se le dimensioni dei file sono diverse a causa dei diversi livelli di compressione, l'output effettivo decodificato sarà identico. È possibile confrontare gli hash MD5 delle uscite decodificate con ffmpeg usando il muxer MD5. Questo è meglio mostrato con alcuni esempi.
Crea file PNG
- Per impostazione predefinita, ffmpeg userà -compression_level 100 per l'output PNG.
- Un test rapido e sciatto ha dimostrato che 100 (il più alto livello di compressione) ha richiesto circa tre tempi più lunghi da codificare e cinque volte più lunghi da decodificare rispetto a 0 (il livello di compressione più basso) in questo esempio.
Confronta dimensioni file
Decodifica file PNG e Mostra hash MD5
Poiché entrambi gli hash sono uguali, può essere certo che le uscite decodificate (i file raw non compressi) sono esattamente le stesse.
Seguito dalla risposta di jjlin:
PNG è senza perdite. Probabilmente GIMP non utilizza la migliore scelta di testo in questo caso.
Consideralo come livello di compressione o livello di compressione . Con una compressione inferiore, si ottiene un file più grande, ma richiede meno tempo per produrre, mentre con una compressione più alta, si ottiene un file più piccolo che richiede più tempo per produrre.
In genere si ottengono rendimenti decrescenti, vale a dire non tanto diminuzione delle dimensioni rispetto all'aumento del tempo necessario quando si sale ai livelli di compressione più elevati, ma dipende da voi.
Avete qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla il thread completo di discussione qui.
Come spostare il cursore del mouse senza mouse
Recentemente ho scritto un articolo su come fare clic con il tasto destro del mouse usando la tastiera e molte persone lo hanno trovato utile. Tuttavia, ho continuato a ricevere altre domande chiedendomi come potevano controllare il cursore del mouse usando la tastiera. Se il tuo touchpad muore sul tuo laptop o il tuo mouse smette di funzionare sul tuo desktop, vale la pena sapere come spostare il cursore del mouse finché non riesci a riportare il tuo sistema alla normalità.
Come impedire ad alcune persone di sapere che hai letto iMessage
Per impostazione predefinita, iMessage invia una conferma di lettura al mittente, in modo che possano vedere quando hai letto il loro messaggio. È possibile disattivare completamente questa funzione, ma cosa succede se si desidera inviare le conferme di lettura ad alcune persone ma non ad altre? CORRELATO: Come impedire alle persone di sapere di aver letto il loro iMessage In iOS 10 , ora puoi disattivare le conferme di lettura all'interno di ogni conversazione separatamente.