03-Immagini e suoni - Dipartimento di Informatica
Transcript
03-Immagini e suoni - Dipartimento di Informatica
INFORMATICA GENERALE a.a. 2006/2007 COGNOMI A-L Informatica Generale 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 : [email protected] Pagina web : (programma, esami, date appelli…) http://www.di.unipi.it/~antonell/ 1 Testi di riferimento Informatica Generale – 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 Informatica Generale 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 Informatica Generale 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: Informatica Generale codifica simbolica di elementi grafici es.: circle polyline ….. applicabilità limitata al mondo geometrico (non fotografie) 5 Immagini raster Informatica Generale 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 Informatica Generale 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 Informatica Generale 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 Informatica Generale 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 Informatica Generale Esempio Ogni pixel è rappresentato da un bit 000000000000000000000000 000000000011111111000000 000000000010000010000000 000000000010000100000000 000000000010001000000000 000000000010010000000000 000000000010100000000000 000000000011000000000000 000000000010000000000000 10 Immagini raster Informatica Generale Ogni pixel è rappresentato da un bit 000000000000000000000000 000000000011111111000000 000000000010000010000000 000000000010000100000000 000000000010001000000000 000000000010010000000000 000000000010100000000000 000000000011000000000000 000000000010000000000000 Rappresentazione di un pixel 11 Immagini raster Informatica Generale 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 Informatica Generale 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 → milioni di colori 16 (24 bit/pixel: profondità) 13 Esempio Informatica Generale • Colore rappresentato con 3 byte, uno per colore • Ogni byte codifica un numero compreso tra 0 e 255=28 • 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 Informatica Generale 15 Immagini raster Informatica Generale 16 Informatica Generale 17 Immagini raster Informatica Generale 18 Immagini raster Informatica Generale 600 PIXEL x y 800 19 Immagini raster Informatica Generale 20 Immagini raster Informatica Generale 21 Formati vettoriali/bitmap Informatica Generale 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 Informatica Generale dal numero di pixel (definizione) dalla codifica del pixel Problema : scomposizione fitta elevato numero di bit -elevata qualità dell’immagine -elevata quantità di informazione -elevata occupazione di memoria tipo (esempio) imm. Televisiva (frame) foto (2 Mega Pixel) Film (25 frame/sec, 1h) risoluz 720x576 1600x1200 720x576 numero colori 256 16milioni 256 num. byte ~ 405 KB ~ 5,5 MB 45 GB!!!! 23 Compressione Informatica Generale 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 Informatica Generale 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 colore 1 colore 2 Codifica pixel ……… – 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 Informatica Generale 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‘abcdSC*20efghil’ con SC che denota il numero di * 26 Compressione Esempio Informatica Generale 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 Informatica Generale 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 Informatica Generale 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 Informatica Generale 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 Informatica Generale 615Kb bmp 64,5Kb gif In JPEG si può scegliere il rapporto di compressione 24 Kb jpg 29,4Kb jpg 3 Kb jpg 31 Esempio Informatica Generale 16,7Kb bmp 4.32Kb jpeg 4.92Kb gif 32 Immagini in movimento Informatica Generale 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 Informatica Generale 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! Informatica Generale zippati.zip Questa applicazione comprime (“zippa”) un file che rimane illeggibile fino a quando non si fa ‘operazione inversa. 35 Codifica dei suoni Informatica Generale 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 Codifica dei suoni Informatica Generale campionamento quantizzazione 37 Codifica dei suoni Informatica Generale 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 Informatica Generale 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 Informatica Generale 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