La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Tecniche di compressione dei dati Presentazione 9.1 Informatica Generale (Prof. Luca A. Ludovico)

Presentazioni simili


Presentazione sul tema: "Tecniche di compressione dei dati Presentazione 9.1 Informatica Generale (Prof. Luca A. Ludovico)"— Transcript della presentazione:

1 Tecniche di compressione dei dati Presentazione 9.1 Informatica Generale (Prof. Luca A. Ludovico)

2 Informatica Generale (Prof. Luca A. Ludovico) Presentazione 9.1 Obiettivi Riduzione delle informazioni mantenendo il contenuto informativo Obiettivi di memorizzazione e trasferimento Due categorie: –Tecniche con perdita (lossy) –Tecniche senza perdita (lossless)

3 Osservazioni La percentuale di compressione ottenibile dipende: 1.dallalgoritmo utilizzato 2.dalla propensione dei dati a essere compressi Esempio: adottiamo la compressione con algoritmo LZW (formato ZIP). A parità di algoritmo di compressione, ad esempio: –4 immagini JPG: da 282 KB a 276 KB (98% delloriginale) –4 documenti XML: da 1,96 MB a 126 KB (6,28% delloriginale)

4 Tecniche lossless vs lossy Lossless Senza perdita di informazione Si riduce la ridondanza Si comprime mediamente fino al 50% delle dimensioni originali Ottimale quando non si può tollerare modifiche nei contenuti (ad es. testi, multimedialità professionale,etc.) Lossy Con perdita di informazione Si riduce lirrilevanza (presunta) Si comprime mediamente fino al 10% delle dimensioni originali Ottimale quando si possono tollerare piccoli errori o modifiche (immagini e audio non professionali) Informatica Generale (Prof. Luca A. Ludovico) Presentazione 9.1

5 Il messaggio M deve essere trasmesso tra il mittente A e il destinatario B ABCanale trasmissivo MM compressionedecompressione MM*

6 Codifica run-length (lossless) RLE = run length encoding Si sostituiscono le sequenze di bit con un codice che indica il valore ripetuto e quante volte si ripete nella sequenza. Funziona bene quando i dati da comprimere sono scomponibili in lunghe sequenze di valori identici ripetuti. E un codice a lunghezza fissa. Informatica Generale (Prof. Luca A. Ludovico) Presentazione 9.1

7 Esempio di codifica RLE Sia M (messaggio da comprimere) una configurazione di bit costituita da: –253 bit posti a 1, –seguiti da 118 bit posti a 0, –seguiti da 87 bit posti a 1 E più compatto rappresentare in binario 253 x 1, 118 x 0, 87 x ad esempio dedicando 8 bit alla cardinalità e 1 bit al simbolo per ciascun blocco rispetto ad elencare i 458 bit. Informatica Generale (Prof. Luca A. Ludovico) Presentazione 9.1

8 Controesempi RLE Cosa succede quando i bit dedicati alla cardinalità non sono sufficienti per coprire il numero di ripetizioni di un dato simbolo Cosa succede se i blocchi di valori ripetuti sono estremamente brevi. Esempio: M = MRLE =

9 Codifica dipendente dalla frequenza (lossless) La lunghezza della configurazione di bit usata per rappresentare un elemento è inversamente proporzionale alla frequenza di utilizzo dellelemento stesso. E un codice a lunghezza variabile (gli elementi sono rappresentati da configurazioni di lunghezze diverse) Un noto algoritmo per generare questi codici è stato scoperto da David Huffman. Molti codici dipendenti dalla frequenza oggi usati sono codici di Huffman. Informatica Generale (Prof. Luca A. Ludovico) Presentazione 9.1

10 Esempio di codice di Huffman per i testi Informatica Generale (Prof. Luca A. Ludovico) Presentazione 9.1 In lingua inglese, le lettere e, t, i sono molto più frequenti delle lettere z, q e x. Per codificare testi in lingua inglese, si risparmia spazio usando configurazioni di bit brevi per le lettere più frequenti e lunghe per le meno frequenti. Ad esempio, in un testo codificato in ASCII esteso, ogni carattere occupa 8 bit. Quindi ogni volta che occorre un carattere frequente la cui codifica compressa occupa meno di 8 bit, ho un risparmio.

11 Codifica relativa o differenziale Informatica Generale (Prof. Luca A. Ludovico) Presentazione 9.1 In alcuni casi, le informazioni sono costituite da blocchi, ognuno dei quali differisce leggermente dal precedente. Esempio: i fotogrammi consecutivi di unimmagine in movimento. Tecnica: codificare solo le differenze rispetto al blocco precedente. Può essere con o senza perdita

12 Codifica basata sul dizionario (lossless) Informatica Generale (Prof. Luca A. Ludovico) Presentazione 9.1 Dizionario = insieme di blocchi sui quali è costruito il messaggio da comprimere, noto a priori. Il messaggio è codificato non più come una sequenza di blocchi bensì come una sequenza di riferimenti al dizionario. Variante: codifica adattiva (o dinamica) basata su dizionario, in cui il dizionario può cambiare durante il processo di codifica.

13 Esempio Informatica Generale (Prof. Luca A. Ludovico) Presentazione 9.1 Dizionario = insieme di blocchi sui quali è costruito il messaggio da comprimere, noto a priori. Il messaggio è codificato non più come una sequenza di blocchi bensì come una sequenza di riferimenti al dizionario. Variante: codifica adattiva (o dinamica) basata su dizionario, in cui il dizionario può cambiare durante il processo di codifica.

14 Codifica basata sul dizionario Informatica Generale (Prof. Luca A. Ludovico) Presentazione 9.1 Tecnica molto usata nei Word Processor, che già contengono al proprio interno dizionari di parole (tipicamente voci) a scopi di controllo ortografico. Unintera parola viene codificata come un riferimento al dizionario anziché come una sequenza di caratteri ASCII o Unicode. Valutazione delle prestazioni: per una parola da 6 lettere, la codifica a caratteri singoli ASCII richiede 6 x 8 = 48 bit (ASCII) mentre solo 15 come riferimento. Con n = 15 possiamo rappresentare 2^15 differenti voci nel dizionario.

15 Codifica LZW (Lempel-Ziv-Welsh) Informatica Generale (Prof. Luca A. Ludovico) Presentazione 9.1 E un esempio di codifica adattiva basata su dizionario. Si parte da un dizionario che contiene i soli elementi base del messaggio. Poi il dizionario viene via via costruito in modo incrementale durante la fase di compressione. Al termine del processo di compressione, il dizionario può essere grande; ma non è necessario avere questultimo per decodificare il messaggio.

16 Esempio di codifica LZW Informatica Generale (Prof. Luca A. Ludovico) Presentazione 9.1 Messaggio iniziale M: xyx xyx xyx xyx Dizionario iniziale: x >> 1 y >> 2 >> 3 Messaggio compresso (non adattivo): Messaggio compresso (adattivo): in quanto al dizionario si aggiunge xyx >> 4


Scaricare ppt "Tecniche di compressione dei dati Presentazione 9.1 Informatica Generale (Prof. Luca A. Ludovico)"

Presentazioni simili


Annunci Google