Compressione di immagini con perdita di dati e senza perdita di dati

Quando comprimiamo un file, lo facciamo perché lo vogliamo rendere temporaneamente più piccolo (per esempio, per inviarlo tramite la posta elettronica), oppure renderlo permanentemente più piccolo (per esempio, per mostrare delle immagini in Internet).

Le tecniche di compressione senza perdita di dati servono quando abbiamo la necessità di ridurre temporaneamente le informazioni. Come indica il nome, esse comprimono senza perdere informazione. Nel testo, l’uso di abbreviazioni è un buon esempio di tecnica di compressione senza perdita di dati. Ciascuno di noi sa che «ecc.» si espande in «eccetera», il che significa che è possibile dimezzare gli otto caratteri di «eccetera» nei quattro caratteri di «ecc.».

All’interno dei formati per le immagini un esempio di questa compressione è il colore «indicizzato», in cui creiamo un elenco di colori disponibili in un’immagine e poi assegniamo ad essi un singolo numero. Quando descriviamo i pixel, poi, scriviamo solo quel numero, in modo da non dover riscrivere più volte la definizione del colore.

Le tecniche di compressione con perdita di dati servono quando abbiamo la necessità di ridurre permanentemente la dimensione del file di un’immagine. Ciò è necessario per quei prodotti finali per cui è preferibile una dimensione piccola, tipo i siti web, ad esempio. Il fatto che l’immagine non debba essere poi più modificata consente di prendere in considerazione e utilizzare il contesto di un pixel durante la compressione, intendendo con questo il fatto che ci si può basare su stratagemmi psicologici e statistici.

Una delle operazioni primarie che, per esempio, JPEG fa è il sotto-campionamento cromatico, ossia dividere l’immagine in una scala di grigi e due versioni di colore (una che contiene tutto il contrasto rosso-verde e l’altra che contiene tutto il contrasto blu-giallo) e poi rendere più piccole queste ultime due versioni. Questa tecnica funziona perché gli essere umani sono molto più sensibili alle differenze di luminosità rispetto a quelle di tonalità e saturazione.

Un’altra operazione che esegue è utilizzare le cosinusoidi per descrivere i contrasti in un’immagine. Questo significa che JPEG e gli altri formati con perdita di dati che utilizzano questa funzione sono molto validi nella descrizione delle sfumature, ma meno validi nella descrizione dei contrasti accentuati.

Al contrario, le tecniche di compressione delle immagini senza perdita di dati sono molto valide per descrivere le immagini con pochi colori e contrasti accentuati, ma meno per comprimere immagini con molte sfumature.

Un’altra grande differenza tra le immagini con e senza perdita di dati è che i formati di file con perdita di dati degradano se li ricodifichi; cioè, se carichi un’immagine JPEG in Krita, la modifichi, salvi, poi la modifichi e salvi di nuovo, ogni salvataggio successivo farà perdere dei dati. Questa è una componente fondamentale della compressione delle immagini con perdita di dati e la ragione principale per la quale utilizziamo file di lavoro.

Vedi anche

Se sei interessato alle diverse tecniche di compressione, consulta le pagine di Wikipedia sull’argomento che sono fatte molto bene e non sono troppo tecniche (consigliamo di leggere anche le pagine in inglese, più articolate).