INFORMATICA GENERALE a.a. 2006/2007 COGNOMI A-L Silvano Antonelli -Ricevimento : durante il corso: Martedì ore 15.30 presso Dipartimento di Informatica, Largo Pontecorvo 2 Stanza 394 negli altri periodi: su appuntamento posta elettronica : s.antonelli@humnet.unipi.it Pagina web : (programma, esami, date appelli ) http://www.di.unipi.it/~antonell/ 1
Testi di riferimento Dennis P. Curtin, Kim Floley, Hunal Sen, Cathleen Morin Informatica di base 3/ed, McGraw-Hill,2005 M.R. Laganà, M- Righi, F. Romani " INFORMATICA Concetti e sperimentazioni", Apogeo,2003 L. Console, M. Ribaudo, U. Avalle" Introduzione all'informatica", UTET Libreria, Torino,2004 D. Sciuto, G. Buonanno, W. Fornaciari, L. Mari " Introduzione ai sistemi informatici", McGraw-Hill,1997 P. Tosoratti, G. Collinasi "Introduzione all'informatica", Seconda Edizione, Casa Editrice Ambrosiana, Milano 2
Rappresentazione di immagini Le immagini sono un continuo e non sono quindi 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. 3
Immagini: Tipologia Immagini scalari o raster es. foto Immagini vettoriali es. un disegno geometrico Immagini miste (raster e scalari) Immagini fisse Immagini in movimento 4
Immagini vettoriali: Immagini vettoriali codifica simbolica di elementi grafici es.: circle polyline.. applicabilità limitata al mondo geometrico (non fotografie) 5
Immagini raster Le immagini sono un continuo e quindi occorre discretizzarle ovvero trasformarle in un insieme di parti distinte che possono essere codificate separatamente con sequenze di bit Azioni da fare: - Discretizzazione :scomposizione dell immagine in un reticolo di punti (pixel, picture element) - Quantizzazione :codifica di ogni pixel con una sequenza di bit 6
Immagini raster Rappresentare il disco seguente Si sovrappone al disco una griglia a maglie Il disco viene scomposto in una griglia di quadratini (in azzurro) Pixel (da picture element) 7
Immagini raster Definizione : numero dei pixel DPI, dot per inches (pollice) :numero di pixel per unità di lunghezza Risoluzione : dimensione della griglia es. 640x480 La griglia nella realtà è molto più fitta (adeguato passo di campionamento) Aumentando il numero dei pixel, e quindi diminuendo la dimensione dei quadratini, la rappresentazione approssima meglio l immagine originaria 8
Immagini raster Quantizzazione: rappresentazione di ogni pixel con una sequenza di bit La rappresentazione ottenuta è nota come codifica bitmap Immagine in bianco e nero senza sfumature Sono sufficienti due soli bit: - 0 per rappresentare i quadratini più bianchi - 1 per rappresentare i quadratini più neri scomposizione fitta elevato numero di bit -elevata qualità dell immagine -elevata quantità di informazione 9
Immagini raster Esempio Ogni pixel è rappresentato da un bit 000000000000000000000000 000000000011111111000000 000000000010000010000000 000000000010000100000000 000000000010001000000000 000000000010010000000000 000000000010100000000000 000000000011000000000000 000000000010000000000000 10
Immagini raster Ogni pixel è rappresentato da un bit 000000000000000000000000 000000000011111111000000 000000000010000010000000 000000000010000100000000 000000000010001000000000 000000000010010000000000 000000000010100000000000 000000000011000000000000 000000000010000000000000 Rappresentazione di un pixel 11
Immagini raster Immagini in bianco e nero con sfumature la rappresentazione in toni di grigio : un byte per pixel, con 256 gradazioni di grigio per ogni punto nero, o più byte per pixel, per avere più gradazioni possibili Immagini a colori rappresentazione del colore secondo il modello RGB (red, green,blu): sintesi additiva dei tre colori primari red, green, blu, ognuno con la propria codifica. 12
Immagini raster Codifica di ogni pixel con una sequenza di bit profondità del colore Ogni colore è la combinazione di tre colori fondamentali: rosso, verde, blu (codifica RGB, Red Green Blue) R, G, B: 8 bit ogni colore: 24 bit 16 milioni di colori (24 bit/pixel: profondità) 13
Esempio Colore rappresentato con 3 byte, uno per colore Ogni byte codifica un numero compreso tra 0 e 255=2 8 Valore di ognuno dei tre colori primari: RED 255 Codifica : 11111111 GREEN 149 Codifica : 10010101 BLU 20 Codifica : 00010100 Possibile codifica di un pixel (profondità): 11111111 10010101 00010100 Codifica ottale:377 225 24 Codifica esadecimale:ff 95 14 14
Immagini raster 15
Immagini raster 16
17
Immagini raster 18
Immagini raster 600 PIXEL x y 800 19
Immagini raster 20
Immagini raster 21
Formati vettoriali/bitmap Formati di file misti: PostScript (Adobe): misto bitmap-vettoriale, compress. con e senza perdita EPS (Encapsulated PostScript): derivato da PostScript PDF (Portable Document Format): derivato da PostScript 22
Immagini raster La rappresentazione accurata di una immagine dipende Problema : dal numero di pixel (definizione) dalla codifica del pixel scomposizione fitta elevato numero di bit -elevata qualità dell immagine -elevata quantità di informazione -elevata occupazione di memoria tipo (esempio) risoluz numero colori num. byte imm. Televisiva (frame) 720x576 256 ~ 405 KB foto (2 Mega Pixel) 1600x1200 16milioni ~ 5,5 MB Film (25 frame/sec, 1h) 720x576 256 45 GB!!!! 23
Compressione Occupazione di memoria Velocità di trasmissione In fase di codifica: necessità di adottare tecniche di compressione per ottimizzare: occupazione di spazio di memoria velocità di trasmissione In fase di decodifica: decompressione 24
Compressione Quindi si cerca di risparmiare sulla dimensione : 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 Codifica pixel colore 1 colore 2 con tecniche (programmi) di compressione che non codificano ogni pixel in modo autonomo ma cercano di raggruppare le aree che hanno caratteristiche comuni 25
Compressione Algoritmi lossless (senza perdita di informazione) : operano un cambiamento di codifica dei dati che permette di diminuire il numero di bit necessari alla rappresentazione. Questa codifica è applicabile a qualsiasi tipo di dato (reversibile senza perdita di informazione). Esempio Codifica basata sulla compressione della ridondanza dell informazione -RLE (Run Length Encoding): algoritmo di codifica che compatta sequenze di byte uguali es.: abcd********************efghil codificata come abcds C *20efghil con S C che denota il numero di * 26
Compressione Esempio Sequenza di 1 milione di caratteri, A=00, B=10, C=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=10, C=11 ottenendo una lunghezza di : 900 000 * 1 + 100 000 * 2 = 1 100 000 bit 27
Compressione 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 28
Compressione Tecniche di compressione con perdita: non completamente reversibili: perdita di informazione, ma poco percepibile fattore di compr. tra 30:1 e 50:1 (anche 100:1) non applicabili ai testi JPEG (Joint Photographers Experts Group): scelta del fattore di compr. in funzione della perdita di qualità accettabile 29
Compressione Formati dei file con immagini bitmap: TIFF (Tagged Image File Format): uso di tag (etichette) descrittivi, 24 bit/pixel, compress. senza perdita GIF (Graphics Interchange Format, Compuserve): più immagini nello stesso file BMP (BitMaP, Microsoft e IBM): 1, 4, 8, 24 bit/pixel, compress. senza perdita (RLE) JFIF (Jpeg File Interchange Format): compress. JPEG (anche chiamato formato JPEG) 30
Esempio 615Kb bmp 64,5Kb gif In JPEG si può scegliere il rapporto di compressione 29,4Kb jpg 24 Kb jpg 3 Kb jpg 31
Esempio 16,7Kb bmp 4.32Kb jpeg 4.92Kb gif 32
Immagini in movimento video :successione di immagini fisse (o frame) trasmesse con velocità sufficientemente elevata il movimento è rappresentato già in modo discreto nei media : con un numero abbastanza alto di fotogrammi fissi (PAL: 25 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 (circa 650 MB, un intero CD per un minuto di proiezione ) 33
Immagini in movimento Sono stati quindi sviluppati metodi di codifica che economizzano, codificando solo le differenze fra un fotogramma e l altro. MPEG (Moving Picture Experts Group): codifica JPEG di ogni frame separatamente codifica dei suoni tecnica di compressione specifica per video: codifica della variazione tra un fotogramma e il successivo AVI (Audio Video, Microsoft) 34
Avvertenza! zippati.zip Questa applicazione comprime ( zippa ) un file che rimane illeggibile fino a quando non si fa operazione inversa. 35
Codifica dei suoni Onde sonore: segnali continui campionamento: scelta di istanti in cui considerare il valore del segnale quantizzazione: codifica dei campioni con un numero predefinito di bit ampiezza del segnale tempo 36
campionamento Codifica dei suoni quantizzazione 37
Codifica dei suoni 100 011 010 001 Il segnale può ora essere codificato in forma numerica mediante una sequenza di bit (nell esempio con tre bit). Compressione della sequenza di bit ottenuta con tecniche specifiche per l audio. 38
Codifica dei suoni 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 39
Codifica dei suoni 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 MP3 40