Informatica Generale Alessandra Di Pierro email dipierrodi unipi

  • Slides: 18
Download presentation
Informatica Generale Alessandra Di Pierro email: dipierro@di. unipi. it Ricevimento: Giovedì ore 14. 30

Informatica Generale Alessandra Di Pierro email: dipierro@di. unipi. it Ricevimento: Giovedì ore 14. 30 -17. 30 presso Dipartimento di Informatica, Via Buonarroti, 2 stanza 362 DE Tel. 050. 2212. 772 o per posta elettronica Pagina web del corso: http: //www. di. unipi. it/~dipierro/IG 03. html 1

Codifica e Rappresentazione dell’informazione • Cosa abbiamo visto : Rappresentazione binaria Codifica dei numeri

Codifica e Rappresentazione dell’informazione • Cosa abbiamo visto : Rappresentazione binaria Codifica dei numeri (interi positivi, interi con segno, razionali …. ). Codifica dei caratteri , Codifica delle immagini • Cosa vedremo oggi: Compressione dei dati Codifica dei suoni 2

Rappresentazione di immagini • Le immagini sono un ‘continuo’ e non sono formate da

Rappresentazione di immagini • Le immagini sono un ‘continuo’ e non sono formate da sequenze di oggetti ben definiti come i numeri e le stringhe • Bisogna quindi prima ‘discretizzarle’ ovvero trasformarle in un insieme di parti distinte che possono essere codificate separatamente con sequenze di bit • Consideriamo prima immagini fisse (foto etc …) 3

Rappresentazione di immagini (2) • Immagini ‘bitmap’ : 1. l’immagina viene scomposta in una

Rappresentazione di immagini (2) • Immagini ‘bitmap’ : 1. l’immagina viene scomposta in una griglia di elementi detti pixel (da picture element) 00000000000011110000001000000010000000010000000001001000001010000001100000010000000 codifica immagine 4

Rappresentazione di immagini (3) • Immagini ‘bitmap’ : 2. Ogni pixel è rappresentato da

Rappresentazione di immagini (3) • Immagini ‘bitmap’ : 2. Ogni pixel è rappresentato da uno o più bit Rappresentazione di un pixel 00000000000011110000001000000010000000010000000001001000001010000001100000010000000 5

Rappresentazione di immagini (4) • Rappresentazioni dei pixel : – la rappresentazione in ‘toni

Rappresentazione di immagini (4) • Rappresentazioni dei pixel : – la rappresentazione in ‘toni di grigio’ : un byte per pixel, con 256 gradazioni di grigio per ogni punto (immagini bianco e nero), o più byte per pixel, per avere più gradazioni possibili – rappresentazione a colori RGB (red, green, blu) : comunemente 3 byte per pixel che definiscono l’intensità di ciascun colore base. In questo modo ho circa 16 milioni di colori diversi definibili 6

Rappresentazione di immagini (5) • Problema : – la rappresentazione accurata di una immagine

Rappresentazione di immagini (5) • Problema : – la rappresentazione accurata di una immagine dipende • dal numero di pixel (definizione) • dalla codifica del pixel – … e richiede generalmente molta memoria, ad esempio : tipo imm. televisiva SVGA foto defin numero colori 720 x 625 256 1024 x 768 65536 15000 x 10000 16 milioni num. byte 440 KB 1. 5 MB 430 MB 7

Rappresentazione di immagini (6) • Quindi si cerca di ‘risparmiare’ memoria : – con

Rappresentazione di immagini (6) • Quindi si cerca di ‘risparmiare’ memoria : – con l’uso di una ‘tavolozza’ (palette) che contiene il sottoinsieme dei colori rappresentabili che compare in una foto • ogni pixel codifica un indice all’interno della tavolozza – con tecniche di compressione che non codificano ogni pixel in modo autonomo ma cercano di raggruppare i le aree che hanno caratteristiche comuni • Formati più usati : TIFF (tagged image file format), GIF (graphics interchange format), JPEG (Joint photographers expert group) 8

Compressione di dati • Algoritmi lossless (senza perdita di informazione) : operano un cambiamento

Compressione di dati • Algoritmi lossless (senza perdita di informazione) : operano un cambiamento di codifica dei dati che permette di diminuire il numero di bit necessari alla rappresentazione – esempio : sequenza di 1 milione di caratteri, A=00, B=01, C=10, D=11, totale 2 milioni di bit di codifica – se A compare il 90% delle volte posso ‘comprimere’ la codifica nel seguente modo A=0, B=100, C=110, D=111 ottenendo una lunghezza di : 900 000 * 1 + 100 000 * 3 = 1 200 000 bit 9

Compressione di dati (2) • Algoritmi lossy (che perdono informazione) – generalmente sono specifici

Compressione di dati (2) • Algoritmi lossy (che perdono informazione) – generalmente sono specifici di un certo campo e sfruttano le caratteristiche degli oggetti da rappresentare per ‘buttare via’ informazione poco importanti – gli algoritmi di compressione usati nei formati GIF e JPEG per immagini fisse sfruttano la caratteristica dell’occhio umano di essere poco sensibile a lievi cambiamenti di colore in punti contigui, e quindi eliminano questi lievi cambiamenti appiattendo il colore dell’immagine – generalmente è possibile specificare quanto siamo disposti a perdere attraverso alcuni parametri 10

Rappresentazione di immagini (7) • Immagini in movimento (video …) – il movimento è

Rappresentazione di immagini (7) • Immagini in movimento (video …) – il movimento è rappresentato già in modo discreto nei media : con un numero abbastanza alto di fotogrammi fissi (24 -30 al secondo) l’occhio umano percepisce il movimento come un continuo – potrei in principio codificare separatamente ogni fotogramma come immagine fissa, ma lo spazio di memoria richiesto sarebbe enorme (650 MB, un intero CD per un minuto di proiezione …) – sono stati quindi sviluppati metodi di codifica che economizzano, codificando solo le ‘differenze’ fra un fotogramma e l’altro (MPEG) 11

Rappresentazione di suoni • Caratteristiche dell’audio (e dei segnali analogici) tempo 12

Rappresentazione di suoni • Caratteristiche dell’audio (e dei segnali analogici) tempo 12

Rappresentazione di suoni (2) • Campionamento dell’audio ad intervalli di tempo fissi tempo 13

Rappresentazione di suoni (2) • Campionamento dell’audio ad intervalli di tempo fissi tempo 13

Rappresentazione di suoni (3) • Campionamento dell’audio ad intervalli di tempo fissi tempo Ogni

Rappresentazione di suoni (3) • Campionamento dell’audio ad intervalli di tempo fissi tempo Ogni campione viene rappresentato con un numero finito di bit (quantizzazione) 14

Rappresentazione di suoni (4) • L’accuratezza della ricostruzione dipende : – da quanto sono

Rappresentazione di suoni (4) • L’accuratezza della ricostruzione dipende : – da quanto sono piccoli gli intervalli di campionamento – da quanti bit uso per descrivere il suono in ogni campione nella fase di quantizzazione – al solito … maggiore accuratezza significa maggior quantità di memoria occupata! • Anche per i suoni si possono utilizzare tecniche di compressione per migliorare l’occupazione di memoria della sequenza di campioni 15

Rappresentazione di suoni (5) • Algoritmi lossy per suoni : sfruttano il fatto che

Rappresentazione di suoni (5) • Algoritmi lossy per suoni : sfruttano il fatto che per l’orecchio umano suoni a basso volume sovrapposti ad altri di volume maggiore sono poco udibili e possono essere eliminati – è quello che accade nello standard MPEG Layer 3 , detto anche MP 3 16

Lo standard MIME • MIME (Multipurpose Internet Mail Extension) è uno standard che permette

Lo standard MIME • MIME (Multipurpose Internet Mail Extension) è uno standard che permette riconoscere correttamente la codifica di dati di natura diversa (testo, immagini, suoni etc. ) • Una codifica MIME comprende – un preambolo, in cui viene specificato in modo standard il tipo del dato che stiamo codificando (text/plain, image/jpeg, image/gif) – un corpo (body), che contiene la codifica vera e propria 17

Lo standard MIME (2) • MIME è utilizzato ad esempio per – messaggi di

Lo standard MIME (2) • MIME è utilizzato ad esempio per – messaggi di posta elettronica – decodifica corretta di pagine web • In entrambi i casi l’applicazione che legge la posta (outlook, eudora) o l’applicazione che naviga su Web (explorer, netscape, galeon) utilizza il preambolo per decodificare e presentare i dati in modo corretto 18