Compressione di dati

Settembre 2015

Perché comprimere i dati?

Ai nostri giorni, la potenza dei processori aumenta più velocemente che la capacità di immagazzinamento, e ancora più velocemente rispetto alla larghezza di banda delle reti, dato che quest'ultima richiede dei grossi cambiamenti a livello delle infrastrutture di telecomunicazione.Così, per rimediare a questa mancanza, spesso si riduce la dimensione dei dati sfruttando la potenza dei processori invece di aumentare le capacità di stoccaggio e di trasmissione dei dati.

Che cos'è la compressione dei dati?

La compressione consiste nel ridurre la dimensione fisica dei blocchi di informazioni. Un compressore utilizza un algoritmo che serve ad ottimizzare i dati utilizzando delle considerazioni proprie al tipo di dato da comprimere; sarà quindi necessario un decompressore per ricostruire i dati originali grazie all'algoritmo contrario a quello usato per la compressione.

Il metodo di compressione dipende intrinsecamente dal tipo di dato da comprimere: non si comprimerà nello stesso modo un'immagine o un file audio...

Caratterizzazione della compressione

La compressione può definirsi come il quoziente di compressione, cioè il quoziente del numero di bit nell'immagine compressa per il numero di bit nell'immagine originale.

Il tasso di compressione, spesso utilizzato, è il contrario del quoziente di compressione, abitualmente espresso in percentuale. Infine, il guadagno di compressione, anch'esso espresso in percentuale, è il complemento a 1 del tasso di compressione :

Tipi di compressione e di metodi

Compressione fisica e logica

La compressione fisica agisce direttamente sui dati, si tratta quindi di memorizzare i dati ridondanti da una sequenza di bit a un altro.
La compressione logica invece si effettua con un ragionamento logico sostituendo un'informazione con un'informazione equivalente.

Compressione simmetrica e asimmetrica

In caso di compressione simmetrica, si usa lo stesso metodo per comprimere e decomprimere l'informazione, c'è quindi la stessa quantità di lavoro per ciascuna operazione. È questo tipo di compressione che si usa normalmente nella trasmissione dei dati.


La compressione asimmetrica richiede più lavoro per una delle due operazioni, si cercano spesso degli algoritmi per cui la compressione sia più lenta rispetto alla decompressione. Possono essere necessari degli algoritmi più rapidi in compressione che in decompressione quando si archiviano dei dati ai quali non si accede spesso (per ragioni di sicurezza ad esempio), dato che così si creano dei file compatti.

Compressione con perdite

La compressione con perdite (in inglese lossy compression), in opposizione alla compressione senza perdite (lossless compression), permette di eliminare qualche informazione per avere il miglior tasso di compressione possibile, sempre mantenendo un risultato che sia il più vicino possibile all'originale. È il caso ad esempio di alcune compressioni di immagini o di musica, come l'MP3 o il formato Ogg Vorbis.

Dato che questo tipo di compressione elimina delle informazioni contenute dei dati da comprimere, si parla generalmente di metodo di compressione irreversibile.

I file eseguibili non possono ad esempio essere compressi con questo metodo dato che hanno soprattutto bisogno di conservare la loro integrità per funzionare. In effetti, non è pensabile ricostruire approssimativamente un programma omettendo dei bit e aggiungendone altri.

D'altra parte, i dati multimediali (audio, video) possono tollerare un certo livello di degradazione senza che i sensori sensoriali (occhio, timpano, ecc.) percepiscano un peggioramento significativo.

Decodifica adattativa, semi adattativa e non adattativa

Alcuni algoritmi di compressione sono basati su dizionari specifici ad un tipo di dati: sono dei decoder non adattativi. La ripetitività delle lettere in un file di testo dipendono ad esempio dalla lingua in cui questo è scritto.
Un decoder adattativo si adatta ai dati che deve comprimere, non parte con un dizionario già pronto per un tipo di dato.
Invece un decoder semi-adattativo costruirà il proprio in funzione dei dati da comprimere: costruisce il dizionario percorrendo il file e poi comprimendolo.
Per poter consultare questo documento offline, ne potete scaricare gratuitamente una versione in formato PDF:
Compressione-di-dati .pdf

Vedi anche


Data compression
Data compression
La compresión de datos
La compresión de datos
Datenkomprimierung
Datenkomprimierung
Compression de données
Compression de données
Compressão de dados
Compressão de dados
Il documento intitolato « Compressione di dati » da CCM (it.ccm.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.