Abraham Lemlel e Jakob Ziv sono i creatori del compressore
LZ77, inventato nel 1977 (da qui il suo nome). Questo compressore era allora utilizzato per archiviare (i formati
ZIP, ARJ e LHA lo usano).
La compressione LZW
Nel 1978 Lemel e Ziv crearono il compressore LZ78 specializzato nella
compressione di immagini (o tutti i tipi di file
binari). Nel 1984, Terry Welch della società
Unisys lo modificò per usarlo con dei controller di dischi rigidi, e la sua iniziale venne aggiunta all'abbreviazione LZ dando così LZW.
LZW è un algoritmo molto rapido tanto in
compressione quanto in
decompressione, basato sulla molteplicità delle occorrenze di sequenze di caratteri nella stringa da codificare. Il suo principio consiste nel sostituire dei motivi con un codice di affettazione (indice) costruendo man mano un dizionario.
Inoltre, esso lavora su dei bit e non su dei byte, senza dipendere quindi dal modo in cui il
processore codifica le informazioni. Esso è uno degli algoritmi più famosi, utilizzato soprattutto nei formati
TIFF e GIF. Dato che Il metodo di compressione LZW è stato brevettato dalla società Unisys, si usa l'algoritmo LZ77, libero da diritti, per le immagini PNG.
Costruzione del dizionario
Il dizionario è inizializzato con i 256 valori della tabella
ASCII. Il file da comprimere è scomposto in stringhe di byte (quindi per delle immagini monocrome - codificate ad 1 bit - questa compressione è poco efficace), ciascuna delle quali è paragonata al dizionario ed è aggiunga nel caso non sia presente.
Compressione
L'algoritmo percorre il flusso di informazioni codificandole; se una stringa è più piccola rispetto alla parola più grande del dizionario, allora è trasmessa.
Decompressione
Durante la decompressione, l'algoritmo ricostruisce il dizionario nel senso inverso, quest'ultimo non ha quindi bisogno di essere immagazzinato.
Foto: © Pixabay.Potrebbe anche interessarti