it.phhsnews.com


it.phhsnews.com / PNG Format Lossless Poiché ha un parametro di compressione?

PNG Format Lossless Poiché ha un parametro di compressione?


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.

The Question

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?

La risposta

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 condividere o salvare una segreteria su un iPhone

Come condividere o salvare una segreteria su un iPhone

Nelle versioni di iOS precedenti alla 9.0, il salvataggio di un messaggio di posta vocale implicava l'utilizzo di un'app di terze parti e il superamento di diversi cicli o, peggio, collegare un dispositivo di registrazione esterno. iOS 9 lo rende un compito semplice includendo un foglio di condivisione nell'interfaccia di voicemail.

(how-to)

I rischi per la sicurezza di sbloccare il Bootloader del tuo Android

I rischi per la sicurezza di sbloccare il Bootloader del tuo Android

I fanatici di Android spesso sbloccano i loro bootloader per fare il root dei loro dispositivi e installare ROM personalizzate. Ma c'è un motivo per cui i dispositivi sono dotati di bootloader bloccati: lo sblocco del bootloader crea rischi per la sicurezza. Non ci sconsigliamo di usare rooting e ROM personalizzate se è davvero quello che vuoi fare, ma devi essere consapevole dei rischi.

(how-to)