Date post: | 01-May-2015 |
Category: |
Documents |
Upload: | elma-villani |
View: | 214 times |
Download: | 0 times |
Significato, vantaggi e svantaggi
Marchesin Sara
Soligo Alessandra
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Tecnica utilizzata in ambito informatico, per ridurre le dimensioni di un file e quindi lo spazio necessario per la sua memorizzazione.
Primo esempio di compressione dei dati con tecniche probabilistiche risale alla prima metà dell’800 con Samuel Morse,in Inghilterra.
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Riduce la quantità di bit necessari alla
rappresentazione digitale di un’informazione, eliminando la parte ridondante senza precludere la comprensibilità del messaggio.
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
PERSOSTE*ERELESAM*DISISTEMIDIE*ABORAZIONEDELLE*NFORMAZIONIB*SOGNAST*DIAREEFR*QUENTAR*ILCORSO
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
La frase precedente mostra una
rudimentale forma di compressione dati che sfrutta il fatto che la lingua italiana, come tutti i linguaggi naturali, è ridondante.
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Si dividono in due categorie:
Compressione dati lossy; Compressione dati lossless.
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Comprime i dati attraverso un processo con perdita d’informazione che sfrutta le ridondanze nell’utilizzo dei dati:
Grandi risparmi di risorse; svantaggio qualità audio-video.
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Comprime i dati attraverso un processo senza perdita d’informazioni che sfrutta le ridondanze nella codifica del dato:
preservano le informazioni; “Zip” è il formato più conosciuto; solitamente utilizzato per immagini non
fotografiche.
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Risparmio della spazio quando si memorizzano i file;
Risparmio di tempo all’invio del file.
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Tempo impiegato per comprimere e decomprimere un file;il file compresso non è usabile direttamente, per usarlo si deve decomprimere;il file compresso è più “fragile”. Alcuni errori di trasmissione possono alterarne il contenuto.
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Zip Gzip Bzip2 Rar 7z
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
WinZip è il più diffuso programma per la compressione e decompressione dei file e"ZIP" è il nome di un particolare formato di compressione associato a questo.
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
quanta memoria può richiedere un’enciclopedia multimediale?
500.000 pagine di testo (2 KB per pagina): 1GB
3.000 immagini a colori (in media 640x480x24 bit = 1MB): 3 GB
500 mappe (in media 640x480x16 bit = 0.6 MB): 0.3 GB
60 minuti di suono stereo (176KB/sec.): 0.6 GB
30 animazioni di durata media di 2 minuti (640x320x16 bit x 16 frame /sec = 6.5 MB/sec): 23.4 GB
50 video, di durata media di 1 minuto (640x480x24 bit x 30 frame/sec = 27.6 MB/sec): 82.8 GB
Per un totale di: 111.1 GB
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Si applicano allora algoritmi di compressione ai diversi tipi di media usati e si assume di ottenere mediamente i seguenti rapporti di compressione:
Testo 2:1 0.5 GB
Immagini a colori 15:1 0.2 GB
Mappe 10:1 0.03 GB
Suono stereo 6:1 0.1 GB
Animazioni 50:1 0.47 GB
Video 50:1 1.66 GB
Si passa quindi da 111.11 GB a 2,96 GB
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Nei computer i caratteri vengono codificati usando il
codice ASCII "American Standard Code for Information Interchange", cioè "Standard americano per lo scambio di informazioni":
codice di 8 bit per ogni simbolo
ad esempio:
01100001 in binario rappresenta la lettera a.
Un file di 100 caratteri quindi occuperà sempre 800 bit
(8 bit * 100 caratteri = 800) sia esso composto da 100 caratteri differenti piuttosto che da 100 identici.
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Visto che in tutti i file testo alcuni caratteri appaiono con una frequenza maggiore di altri non avrebbe senso assegnare a questi un codice composto da un numero inferiore di bit in modo da risparmiare spazio nella codifica ??
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Vogliamo comprimere un file testo contenente la stringa: CIAO_MAMMA
In un normale file testo, ogni lettera è rappresentata
da 8 bit codificati rispettando il codice ASCII.
Il nostro file salvato sarà composto così da 80 bits, ovvero 10 lettere * 8 bit:
c01000011 i01001001 a01000001 o01001111 _00100000 m01001101 a01000001 m01001101 m01001101 a01000001
Codifica di Huffman
È un algoritmo di usato per la compressione dei dati, basato sul principio di trovare il sistema ottimale per codificare stringhe a seconda della frequenza relativa di ciascun carattere.
Essa è stata sviluppata nel 1952 da David A. Huffman, mentre stava svolgendo il dottorato e pubblicata su “Method for the Construction of Minimum-Redundancy Codes” (Un Metodo per la Costruzione di Codici a Ridondanza Minima).
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
È stato dimostrato che la codifica di Huffman è il più efficiente sistema di compressione di questo tipo: nessun'altra mappatura di simboli in stringhe binarie può produrre un risultato più breve nel caso in cui le frequenze di simboli effettive corrispondono a quelle usate per creare il codice.
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Applicando l'algoritmo di Huffman per calcolare dei nuovi codici da assegnare alle lettere dell'esempio si deve costruire un albero in cui le lettere più frequenti siano posizionate più vicino alla radice rispetto a quelle con minore frequenza.
Per prima cosa è necessario contare la frequenza di ogni lettera nella nostra stringa:C(1) I(1) A(3) M(3) O(1) _(1)
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Una volta creato l'albero, bisogna associare ad ogni nodo un bit. E' possibile associare lo 0 a tutti i nodi di sinistra e 1 a tutti quelli di destra. E' possibile anche fare il contrario senza compromettere il risultato finale. Nel nostro caso scegliamo lo 0 a sinistra e l'1 a destra ed ecco il risultato finale:
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Volendo scrivere a questo punto il nostro CIAO_MAMMA con i nuovi codici otterremo la seguente sequenza di bit:
000001100100111110111110
Solamente 24 bit invece degli 80 usati in precedenza con il codice ASCII !
E solamente su una stringa di 10 caratteri.
Immaginiamo lo stesso algoritmo applicato ad un file testo di migliaia di parole per capirne la vera potenza.
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
E' importante sottolineare che il codice ottenuto non è univoco, nel senso che può essere creato un codice altrettanto valido ma differente dal nostro che può dipendere ad esempio dalle lettere con minor frequenza scelte all'inizio oppure dal modo in cui decidiamo di impostare gli 0 e gli 1 sui rami dell'albero.
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
Una caratteristica particolare di questo algoritmo è che il codice ottenuto per ogni singola lettera NON è un prefisso di un’altra lettera.
Nel nostro esempio, la A ha il codice 10 e nessuna altra lettera ha una codifica che comincia con 10.
In questo modo leggendo la stringa di 24 bit che abbiamo ottenuto in precedenza, possiamo riconoscere le singole lettere senza bisogno di un separatore tra loro.
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
JPEG è l'acronimo di Joint Photographic Experts Group, un comitato ISO/CCIT che ha definito il primo standard internazionale di compressione per immagini a tono continuo, sia a livelli di grigio che a colori.
1.è un formato aperto e ad implementazione gratuita.
2.attualmente JPEG è lo standard di compressione delle immagini fotografiche più utilizzato
3.l'estensione più comune per questo formato è .jpg, ma sono anche usate .jpeg, .jfif, .JPG, .JPE.
4.è una compressione di tipo lossyuniversità ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
JPEG qualità 10% - 3,2 Kb
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
JPEG qualità 50% - 6,7 Kb
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
JPEG qualità 90% - 30,2 Kb
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni
JPEG qualità 100% - 87,7 Kb
www.wikipedia.it www.tutorialpc.it/winzip.asp www.winzip.com Varie riviste e dispense trovate in internet.
università ca'foscari di Venezia - corso di sistemi di elaborazione delle informazioni