La compressione dati lossless è quella classe di algoritmi di compressione che non comportano perdite di dati, che consentano quindi di recuperare tutta l'informazione e ricostruire esattamente i dati originali partendo dai dati compressi.
Un esempio di questo tipo di compressione è dato dai formati zip, gzip, bzip2, rar, 7z. I file per cui non è accettabile una perdita di informazione, come i testi o i programmi, utilizzano questo metodo. Per le immagini fotografiche generalmente non si usano algoritmi lossless in quanto sarebbero veramente poco efficienti, ma per le immagini che contengono schemi o disegni realizzati al PC spesso la compressione lossless non solo è applicabile, ma anche conveniente (GIF, PNG, MNG, TIFF).
Si può notare che la differenza di dimensione è così elevata che non fa alcuna differenza se si considerano file di dimensione esattamente N come insieme dei file da comprimere: tale insieme è comunque di dimensioni maggiori (2N) dell'insieme dei file compressi.
Quindi, ogni algoritmo di compressioni dati che rende alcuni file più piccoli, deve necessariamente rendere altri file più grandi. I buoni algoritmi di compressione rendono la maggiorparte dei file usati comunemente più piccoli, anche quando teoricamente esistono molti più file che aumenterebbero di dimensione. In realtà, in molti formati lossless, è previsto che quando un insieme di dati aumenti di dimensione dopo la compressione esso viene memorizzato non compresso. Ovviamente, il flag che indica che questo gruppo di dati non va processato dall'algoritmo aumenta la dimensione effettiva necessaria a memorizzare il gruppo di dati, ma permette di evitare un ulteriore spreco di spazio e di tempo necessario alla compressione/decompressione.
Prendiamo ad esempio la seguente stringa di dati: 005555550055555500555555005555550055555500555555 La stringa richiede 48 caratteri, ma è immediatamente disponibile all'utilizzo. Un algoritmo di compressione lossless potrebbe essere "cifra-numero di ripetizioni". La stringa, utilizzando questo algoritmo, diviene quindi: 025602560256025602560256 È chiaro che per rendere disponibili i dati occorre svolgere un passaggio intermedio. È possibile migliorare l'algoritmo per ottenere una compressione più spinta. L'algoritmo "cifra-numero di ripetizioni-numero di ripetizioni" permette di ottenere una stringa equivalente di soli 5 caratteri, ma al "prezzo" di un ulteriore passaggio: 02566
Normalmente gli algoritmi di compressione vengono progettati per essere più veloci nella decodifica dell'informazione rispetto alla fase di codifica, in quanto quest'ultima è un'operazione effettuata di gran lunga più frequentemente.
Esistono diversi algoritmi di compressione. Tra i più famosi:
Datenkompression | Lossless data compression | 可逆圧縮 | Kompresja bezstratna | Icke-förstörande komprimering
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Compressione dati lossless".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world