# Compressione dell'immagine

La compressione dell'immagine, in elettronica, informatica e nelle telecomunicazioni, è il nome generico sotto il quale si raggruppano gli algoritmi e le tecniche di elaborazione digitale delle immagini appartenenti alle tecniche di compressione dati, che si utilizzano per ridurre le dimensioni in byte delle immagini digitali.

## Descrizione

Un'immagine è rappresentata in formato digitale come una serie di punti (pixel) disposti come una scacchiera o matrice (grafica raster o bitmap). Ogni punto può utilizzare uno o più bit per definire il colore del punto: maggiore è il numero di colori, maggiore sarà il numero di bit necessari per codificare tutti i colori dell'immagine. Le tecniche di compressione utilizzano le peculiarità delle immagini per ridurre l'entropia locale del file in modo da renderlo più piccolo.

### Senza perdita

Le prime tecniche di compressione erano molto semplici anche perché la potenza dei primi computer era limitata e quindi per ottenere tempi di decompressione accettabili queste dovevano essere necessariamente semplici. Una tecnica molto diffusa ma semplice era la Run-length encoding. Questa prevedeva la memorizzazione di zone di colore uniforme tramite stringhe speciali. Per esempio se in un'immagine si trovavano mille punti dello stesso colore il programma di compressione salvava il colore in un carattere speciale e in seguito memorizzava il numero di punti da colorare con lo stesso colore; le immagini di tipo IFF venivano salvate con questo metodo. Inizialmente le immagini avevano un numero limitato di colori e quindi si utilizzavano tecniche che si avvantaggiavano di questo. Molti formati utilizzavano tecniche di compressione a dizionario come la LZW. Questi algoritmi costruivano dei dizionari contenenti gruppi di punti che si ripetevano frequentemente e poi memorizzavano l'immagine utilizzando il dizionario creato. Il formato GIF utilizza questa tecnica. È da notare che queste tecniche di compressione sono tutte senza perdita di informazione.
Tra i formati lossless si ricordano:
* png (certe applicazioni permettono anche la scrittura di file png non compressi);
* tga;
* tiff (sebbene questo sia l'uso più comune, questo formato permette diversi tipi di compressione);
* gif (per immagini fino a 256 colori).

### Con perdita

Con il crescere della potenza di calcolo dei computer questi sono stati in grado di gestire immagini con migliaia o milioni di colori. Immagini con così tanti colori erano gestite male dai classici metodi di compressione dato che l'assunto del ridotto numero di colori falliva. Vennero sviluppate nuove tecniche di compressione, principalmente a perdita di informazione. Queste nuove tecniche permettevano compressioni anche del 50% con il mantenimento di una qualità accettabile.
Tra i vari metodi il più diffuso divenne il JPEG che utilizza varie tecniche di compressione combinandole tra loro per ottenere compressioni molto elevate. Tra le tecniche utilizzate quella responsabile della maggior compressione (e della perdita di qualità) è la trasformata discreta del coseno la quale converte i punti dello schermo nella loro equivalente rappresentazione nel dominio della frequenza. Il segnale risultante è formato da segnali a bassa frequenza e segnali ad alta frequenza: i segnali a bassa frequenza rappresentano le zone di colore uniformi dell'immagine mentre le componenti ad alta frequenza rappresentano i particolari dell'immagine e i disturbi di quantizzazione. La compressione JPEG provvede a salvare le componenti a bassa frequenza e una parte delle componenti ad alta frequenza. Più si incrementa la qualità più componenti vengono salvate e nel contempo più il file diventa grande.
Il successo dello standard JPEG spinse molte società e consorzi a sviluppare soluzioni basate sulla perdita di compressione, ma con fattori di compressione maggiore del JPEG a parità di qualità ottenuta. Questi formati fanno uso di tecniche matematiche molto avanzate come la compressione frattale o quella basata sulle trasformate Wavelet (JPEG 2000).
Tra i formati lossy si ricordano:
* jpeg;
* gif (per immagini con più di 256 colori si ottiene una compressione lossy poiché vengono eliminate la maggior parte delle sfumature di colore).