La compressione dei dati è un processo in cui la dimensione di un file viene ridotta ricodificando i dati del file per utilizzare meno bit di memoria del file originale. Una componente fondamentale della compressione dei dati è che il file originale può essere trasferito o immagazzinato, ricreato e poi usato in seguito (con un processo chiamato decompressione).
Una breve storia della compressione dei dati
Quando Internet emerse negli anni ’70, la relazione tra la dimensione dei file e la velocità di trasferimento divenne molto più evidente. I matematici di tutto il mondo hanno affrontato il problema per anni, ma non è stato fino a quando gli algoritmi di compressione universale senza perdita di dati Lempel-Ziv-Welch (LZW) sono entrati in scena a metà degli anni ’80 che sono stati realizzati benefici reali. La compressione LZW è stato il primo metodo di compressione dati ampiamente utilizzato e implementato sui computer ed è ancora usato oggi (in varie iterazioni): un grande file di testo inglese può essere tipicamente compresso a circa la metà della sua dimensione originale con LZW.
Il codice Morse, inventato nel 1838, è il primo esempio di compressione dati in quanto alle lettere più comuni della lingua inglese come “e” e “t” vengono dati codici Morse più brevi.
I comuni algoritmi di compressione dei dati includono:
- Zip
- bzip2
- 7-zip
- jpeg
- mpeg
Tipi di compressione dati
Oggi ci sono molti tipi diversi di algoritmi e implementazioni che permettono all’utente quotidiano di comprimere i file, ma alcuni sono più adatti a certe applicazioni. Per capire meglio la compressione dei dati in generale, è più facile dividere il processo in due gruppi principali: compressione con perdita e compressione senza perdita.
Compressione con perdita
La compressione con perdita riduce la dimensione del file rimuovendo i bit di informazione non necessari. Questo tipo di compressione è più comunemente usato su immagini, video e file audio, dove non è richiesta una perfetta rappresentazione del media di origine.
Per esempio, un file audio MP3 non contiene tutte le informazioni audio della registrazione originale. Invece, la compressione lossy MP3 rimuove i suoni che gli esseri umani non possono sentire. Poiché l’orecchio umano medio non noterebbe questa differenza, il risultato è un file più piccolo con un impatto minimo sull’utente.
Lo svantaggio? Più pesantemente un file è compresso con la compressione lossy, più evidente diventa la riduzione della qualità. Inoltre, la compressione lossy non funziona bene con i file dove tutti i dati sono cruciali (per esempio, la compressione di un foglio di calcolo darebbe risultati inutilizzabili).
Compressione lossless
La compressione lossless riduce la dimensione del file senza rimuovere alcun bit di informazione. Invece, questo formato funziona rimuovendo le ridondanze all’interno dei dati per ridurre la dimensione complessiva del file. Con lossless, è possibile ricostruire perfettamente il file originale.
Per esempio, il formato di compressione lossless più comune (ZIP) è spesso usato per i file di programma in Windows, poiché conserva tutte le informazioni originali. Decomprimere il file (decomprimere) produce un programma eseguibile che sarebbe altrimenti inutile con la compressione lossy.
I formati lossless più comuni includono PNG per le immagini, FLAC per l’audio, e ZIP. I formati lossless per i video sono rari, poiché i file di origine occuperebbero una quantità enorme di spazio.
Limitazioni della compressione dei dati
È importante notare che la compressione non è infinita. Comprimere un file in uno ZIP può ridurre la sua dimensione, ma è impossibile continuare a comprimere il file ulteriormente e ridurre la dimensione a zero.
Inoltre, è importante capire la relazione tra i due gruppi di compressione dati:
- Sì: convertire file senza perdita in file con perdita
- Sì: convertire un formato senza perdita in un altro formato senza perdita va bene
- No: Convertire file lossy in file lossless (i formati lossy eliminano i dati; è impossibile recuperare quei dati)
- No: Convertire un formato lossy in un altro formato lossy
Una parola finale sulla compressione dati
Come funziona la compressione dati da un punto di vista tecnico? Beh, gli algoritmi effettivi che decidono quali dati vengono buttati via (nei metodi lossy) e come memorizzare al meglio i dati ridondanti (nella compressione lossless) sono estremamente complicati. Questa panoramica sulla compressione dei dati ha lo scopo di servire come una panoramica di alto livello delle basi e fornire un contesto su come applicare queste pratiche in situazioni reali.
Continua a leggere
- SASE. Che cos’è. Cosa non è.
- I professionisti IT degli studi legali continuano a concentrarsi su risultati di business tangibili nel 2021
- Top 5 post del blog NetMotion del 2020
- 451 Ricerca su SASE, VPN, zero trust e il futuro della sicurezza della rete
- Voci di NetMotion: cosa significa per noi la diversità