Articolo
Perché le immagini perdono qualità a ogni salvataggio
Una foto che sembrava nitida su un rullino esce a blocchi dopo essere stata inoltrata in un paio di chat di gruppo e ripubblicata un paio di volte. Nessuno l'ha modificata di proposito; è passata semplicemente attraverso diverse ricodifiche, e ognuna ha scartato un po' più di dettaglio. Questa si chiama perdita generazionale, una proprietà vecchia e ben compresa della compressione con perdita, e spiega perché le immagini condivise molte volte tendono a peggiorare progressivamente. Ecco cosa scarta davvero una ricodifica con perdita, perché si accumula, e come fermare un file dal degradarsi ulteriormente.
Cosa scarta davvero "con perdita"
Il JPEG, il formato dietro la maggior parte delle foto condivise online, ha perdita per progetto: lo standard dietro di esso, ITU-T T.81, funziona trasformando blocchi di pixel in dati di frequenza e poi arrotondando quei dati in modo più o meno aggressivo a seconda dell'impostazione di qualità, un passaggio chiamato quantizzazione. L'arrotondamento non può essere annullato esattamente; il dettaglio scartato è davvero sparito, non nascosto da qualche parte nel file. Un'impostazione di alta qualità arrotonda con delicatezza e la perdita è difficile da vedere, una bassa arrotonda in modo brusco e il file diventa visibilmente a blocchi, ma anche un singolo salvataggio JPEG scarta sempre qualcosa.
Ogni ricodifica è una nuova generazione
La prima volta che una foto viene salvata come JPEG, i dati dei pixel della fotocamera vengono quantizzati una volta. Riaprire quel JPEG e salvarlo di nuovo, anche senza alcuna modifica, decodifica i pixel già approssimati e li quantizza una seconda volta, sopra il primo arrotondamento, non al suo posto. Ogni salvataggio aggiuntivo è un'altra generazione, e ognuna si somma a qualsiasi effetto a blocchi e banding di colore già introdotto dalla generazione precedente. Un singolo passaggio a un'impostazione di qualità sensata è quasi invisibile; la stessa impostazione applicata cinque o sei volte di fila sullo stesso file degrada visibilmente una foto, perché gli errori di ogni generazione precedente sono ancora lì quando la successiva arrotonda di nuovo.

Perché le immagini condivise molto sembrano peggiori
Una foto che viaggia attraverso diverse chat, feed e nuovi upload guadagna una nuova generazione a quasi ogni passaggio: un'app di messaggistica la ricomprime per la chat, una piattaforma social la ricodifica di nuovo per la propria pipeline di distribuzione, qualcuno fa uno screenshot del risultato e lo ripubblica, il che è a sua volta un'altra ricodifica completa di un'immagine già degradata. Nessuno di questi passaggi deve essere trascurato o usare un'impostazione di qualità insolitamente bassa perché l'effetto si sommi; è cumulativo per natura, ed è esattamente per questo che un'immagine circolata a lungo e ampiamente mostra spesso visibilmente più effetto a blocchi e banding di colore di una copia fresca della stessa foto.
I formati senza perdita non hanno questo problema
Il PNG e il WebP senza perdita funzionano diversamente: comprimono trovando pattern nei dati esatti dei pixel e impacchettandoli in modo più efficiente, senza arrotondare via nulla, quindi decodificare e ricodificare lo stesso file senza perdita, senza modifiche, riproduce i pixel esattamente, generazione dopo generazione. Questa garanzia è il motivo per cui screenshot e grafica con bordi netti o testo vengono di solito salvati come PNG invece di JPEG. Ha un costo: un file senza perdita di una fotografia tipica è molto più grande di un JPEG a una qualità ragionevole, dato che non c'è alcun arrotondamento per rimpicciolirlo.

Tenere sotto controllo la qualità di un file
La catena di perdita generazionale si accumula solo quando ogni salvataggio parte dai pixel già degradati del salvataggio precedente. Conservare un master senza perdita, il file originale della fotocamera o un PNG, ed esportare un JPEG fresco da quel master ogni volta evita di accumulare nuovo arrotondamento sopra quello vecchio. Il nostro compressore di immagini ti permette di scegliere un'impostazione di qualità e vedere la dimensione del file risultante prima di inviare qualcosa, e il nostro strumento di confronto immagini mette l'originale e la copia compressa fianco a fianco con un cursore, così puoi individuare un'impostazione sbagliata prima di inoltrare il file e avviare un'altra generazione. Entrambi girano interamente nel tuo browser: la foto non lascia mai il tuo dispositivo per essere controllata.
Strumenti citati in questo articolo
Domande frequenti
Copiare o spostare un file JPEG lo degrada?
No. Copiare un file, allegarlo a un'email o spostarlo tra cartelle copia esattamente gli stessi byte; nulla viene decodificato o ricodificato, quindi nulla viene quantizzato di nuovo. La perdita generazionale avviene solo quando i pixel vengono effettivamente aperti e salvati di nuovo, non quando il file stesso viene spostato.
Posso annullare la perdita generazionale e recuperare il dettaglio perso?
No. La quantizzazione ha davvero perdita: i dati di frequenza arrotondati che un salvataggio precedente ha scartato non sono registrati da nessuna parte nel file, quindi nessun filtro o algoritmo può ricostruirli. Nitidire o ridurre il rumore di un JPEG degradato può rendere gli artefatti meno visibili, ma non ripristina il dettaglio originale.
Convertire un JPEG degradato in PNG ferma il problema?
Convertire dopo che il danno è fatto preserva quello che il JPEG già sembra a quel punto, pixel per pixel, senza aggiungere un nuovo passaggio di arrotondamento, ma non può ripristinare il dettaglio perso nei salvataggi precedenti. La soluzione è iniziare a conservare un master senza perdita prima che avvengano altre generazioni, non convertire una foto tardi nella catena.