JPEG, PNG, WebP o AVIF: quale conservare?
Ho la stessa foto in quattro formati. Quale tengo e quali cancello?
Parti dall'immagine, non dal formato
La discussione sul formato è quasi sempre la discussione sbagliata da affrontare per prima. A decidere l'esito è il contenuto dell'immagine. Le fotografie sono fatte di sfumature morbide e rumorose, senza sequenze di pixel ripetute. Screenshot, loghi, diagrammi e pixel art sono fatti di aree piatte, bordi netti e un numero ristretto di colori esatti. Questi due tipi di immagine si comprimono con meccanismi del tutto diversi, e un formato eccellente con l'uno è di solito mediocre con l'altro.
Quindi la prima domanda non è «AVIF è meglio di JPEG». È «questa è una fotografia o una grafica, e serve la trasparenza». Una volta data la risposta, la rosa dei candidati è di solito lunga uno o due formati.
Cosa fa davvero ciascun formato
| Formato | Compressione | Trasparenza | Animazione | Impiego ideale |
|---|---|---|---|---|
| JPEG | Solo con perdita | No | No | Fotografie che devono aprirsi ovunque |
| PNG | Solo senza perdita | Sì, canale alfa a 8 bit | No (APNG è una funzione a parte) | Screenshot, loghi, grafica piatta, pixel esatti |
| WebP | Con o senza perdita | Sì, in entrambe le modalità | Sì | Un sostituto generico sia di JPEG sia di PNG |
| AVIF | Con o senza perdita | Sì, anche a 10 bit | Sì | Fotografie per cui il tempo di codifica è accettabile |
La tabella nasconde una cosa che vale la pena dire a voce alta: un PNG non si può rimpicciolire abbassando un cursore della qualità, perché non ha un cursore della qualità. Un ottimizzatore PNG riduce il file trovando un filtro di predizione migliore e una tavolozza migliore, non scartando dettaglio. Ecco perché una fotografia salvata in PNG resta enorme qualunque strumento ci passi sopra: nel formato non c'è niente che gli permetta di buttare via informazione.
Con perdita e senza perdita non sono voti di qualità
Viene la tentazione di leggere «senza perdita» come «buono» e «con perdita» come «cattivo». Non sono voti di qualità, sono lavori diversi. Senza perdita significa che i pixel decodificati sono identici bit per bit a quelli in ingresso: è la scelta giusta quando i pixel sono il punto, come nello screenshot di un'interfaccia da cui qualcuno leggerà del testo. Con perdita significa che l'encoder può scartare il dettaglio che l'occhio nota male, ed è l'unico motivo per cui una fotografia da dodici megapixel riesce a stare in qualche centinaio di kilobyte.
Una regola utile: se noteresti un singolo pixel sbagliato, usa un formato senza perdita. Se non lo noteresti, un formato con perdita a un'impostazione di qualità sensata produrrà un file molto più leggero e non riuscirai a vedere la differenza alla normale dimensione di visualizzazione.
Dove WebP e AVIF si guadagnano il posto
Entrambi i formati più recenti usano strumenti di predizione e di trasformata che JPEG, standardizzato nel 1992, non ha. In pratica questo significa che possono raggiungere una qualità visiva simile con un file più piccolo, e che entrambi gestiscono la trasparenza, cosa che JPEG non sa fare affatto. WebP è quello pragmatico: codifica in fretta e sostituisce sia JPEG sia PNG con un unico formato. AVIF è quello ambizioso: usa gli strumenti intra-frame del codec video AV1, supporta profondità di bit maggiori e in genere produce il file più piccolo dei quattro per il contenuto fotografico.
Il costo è il tempo di codifica. Codificare in AVIF è un problema di ricerca, e l'encoder ci spende tempo di CPU reale. In una scheda del browser, su un telefono, quel tempo è il tuo: per questo FileSlimmer mostra l'avanzamento file per file con AVIF, invece di far finta che l'attesa non ci sia. Se stai convertendo una sola immagine di apertura, lo scambio conviene senza discussioni. Se ne stai convertendo quattrocento, valuta WebP.
Convertire un vecchio file non annulla i danni vecchi
È la delusione più comune in assoluto. Se prendi un JPEG salvato a bassa qualità anni fa e lo converti in PNG o in WebP senza perdita, gli artefatti a blocchi e di ringing vengono copiati fedelmente nel nuovo file. Senza perdita significa «identico all'ingresso», e l'ingresso aveva già il danno cotto dentro i suoi pixel. Ottieni un file più grande che contiene esattamente gli stessi difetti.
Convertire un file con perdita in un altro formato con perdita è un secondo passaggio di compressione a sé stante, quindi può aggiungere i propri artefatti sopra i primi. Quando puoi scegliere, converti a partire dal file più originale che hai ancora — l'originale della fotocamera, l'esportazione dallo strumento di progettazione — piuttosto che da una copia già passata per un compressore.
Una rosa di scelte davvero utilizzabile
- Fotografia che deve aprirsi in qualsiasi cosa, software vecchio compreso: tieni il JPEG.
- Fotografia per il tuo sito o la tua app, con il controllo su cosa la legge: WebP, oppure AVIF se puoi permetterti il tempo di codifica.
- Screenshot, logo, diagramma, grafico o qualsiasi cosa con del testo nei pixel: PNG, oppure WebP senza perdita se il peso conta più della compatibilità universale.
- Qualsiasi cosa richieda uno sfondo trasparente: PNG, WebP o AVIF. Non JPEG.
- Una copia d'archivio che potresti voler rimettere in lavorazione più avanti: conserva il file originale, qualunque esso sia, e considera ogni versione compressa come usa e getta.
Cosa questo confronto non ti dice
Qui non c'è una classifica per dimensione, ed è una scelta voluta. I confronti pubblicati sono misurati su un particolare insieme di immagini, con particolari versioni e impostazioni degli encoder, e il risultato cambia appena cambia uno di questi elementi. La tua immagine è l'unico test che descrive la tua immagine. Converti la stessa sorgente una volta in ciascun candidato a un'impostazione di qualità che ritieni accettabile, poi confronta i due numeri e le due immagini affiancate.
Anche il supporto cambia nel tempo. Prima di convertire un'intera libreria a un formato più recente, controlla che cosa dovrà aprire quei file: un browser, la galleria di un telefono, una stampante, l'applicazione desktop di dieci anni fa di un cliente. Il formato migliore è il più piccolo fra quelli che tutto ciò che sta in quell'elenco riesce davvero a leggere.
Strumenti utili
Fonti
- ITU-T T.81 — the JPEG standard
- W3C — Portable Network Graphics (PNG) Specification (Third Edition)
- Google — WebP container and bitstream documentation
- Alliance for Open Media — AV1 Image File Format (AVIF)