Informazione binaria: suoni, immagini, sequenze video Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin
Tipologie di codici Per la rappresentazione di: caratteri alfabetici e testi valori logici numeri naturali numeri interi relativi [val assoluto e segno, complemento a due] numeri reali [virgola fissa e virgola mobile] suoni, immagini e sequenze video Codici per la rilevazione e correzione di errori Codici di compressione (senza con perdita) Informatica e Programmazione Università di Brescia 2
La digitalizzazione Voce rappresentazione anche approssimata tramite sequenze di bit Suoni 0010010100 Immagini Nel calcolatore Filmati Informazione continua Codifica digitale Elementi di Informatica e Programmazione Università di Brescia 3
Un esempio semplice 5V L 3 11 L 2 L 1 10 01 Quantizzazione Sensore di temperatura (1 valore) 0V L 0 00 Ma in generale la grandezza varia anche in un dominio, p.es.: - suono: valori (di volume) nel tempo - immagine bidimensionale: valori (colori) nel piano Necessario campionamento Elementi di Informatica e Programmazione Università di Brescia 4
Note ai lucidi precedenti Problema: codificare in modo digitale una grandezza fisica (es. un suono) i cui valori sono (generalmente) infiniti e appartengono ad un intervallo continuo. Soluzione: processo di digitalizzazione, o conversione analogico-digitale. Comprende due attività: Campionamento: se la grandezza varia nel tempo (es. volume di un suono) o nello spazio (es. colore di un immagine) selezione di un insieme finito di valori, ad intervalli costanti (nel tempo o nello spazio) Quantizzazione: discretizzazione di ciascun valore campionato: approssimazione con uno dei valori previsti dalla codifica Elementi di Informatica e Programmazione Università di Brescia 5
CODIFICA DI SUONI Codifica digitale: 10 10 00 01 11 11 01 Elementi di Informatica e Programmazione Università di Brescia 6
Note al lucido precedente Nel caso del suono: - campionamento nel tempo - quantizzazione in ampiezza Parametro del campionamento: - Frequenza di campionamento (Hz): campioni al secondo Es: F C = 5 Hz significa acquisire 5 campioni al secondo - Periodo di campionamento: intervallo tra campioni successivi T C = 1/F C (nell esempio: T C =0.2 sec) Parametro della quantizzazione: numero di bit dedicati alla codifica di un campione Es: con 2 bit codifico 4 livelli (4 valori diversi) con 8 bit codifico 256 livelli (256 campioni) Elementi di Informatica e Programmazione Università di Brescia 7
Rappresentazione dei suoni nei CD audio Segnali audio: onde analogiche à campionamento + quantizzazioneà valori digitali Frequenza di campionamento fc = 44.1 khz (44.100 campioni) per i 2 canali (frequenze udibili dall orecchio umano fino a circa 22 khz) 16 bit/campione (2 byte per campione) à 65536 livelli di quantizzazione (65536 valori diversi per campione) Dimensione richieste N bit = F(durata, f c, bit/campione) Nello standard CDDA (CD Digital Audio) 70 minuti di registrazione richiedono: 70 x 60 x 44.100 x 2 x 2 byte 750 MByte Elementi di Informatica e Programmazione Università di Brescia 8
Dal mondo reale (analogico) al calcolatore (digitale) DIGITALIZZAZIONE (campionam. & quantizz.) scheda audio memorizzazione, eventuali elaborazioni Dal calcolatore (digitale) al mondo reale (analogico) 0010010100 Nel calcolatore CONVERSIONE DIGITALE-ANALOGICA scheda audio riceve i valori digitali e ricostruisce il segnale analogico Elementi di Informatica e Programmazione Università di Brescia 9
Alcuni formati audio WAVE:.wav, dimensioni elevate (corrisponde con un certo grado di approssimazione a quanto visto nei lucidi precedenti) MP3 (MPEG-1 Layer 3): grande diffusione su Internet. Utilizza tecniche di compressione per ridurre le dimensioni (vedi poi). MPEG nasce da un gruppo di lavoro di standardizzazione MIDI (Musical Instrument Digital Interface):.mid, i file memorizzano non suoni ma comandi (es. le note musicali di un particolare strumento) che vengono inviati ai dispositivi MIDI per riprodurre i suoni, occupano molto meno spazio dei.wav. Es: tastiera musicale + calcolatore permettono di suonare un brano su tastiera che viene automaticamente trascritto in notazione musicale in un file midi che può poi essere anche modificato Elementi di Informatica e Programmazione Università di Brescia 10
CODIFICA DI IMMAGINI Maggie Cheung dal film Hero di Zhang Yimou (2002) Elementi di Informatica e Programmazione Università di Brescia 11
Campionamento Elementi di Informatica e Programmazione Università di Brescia 12
Quantizzazione Per ogni pixel un certo numero di bit es. 3 byte (colori)
Codifica bitmap (raster) di immagini immagine bitmap (o raster): rappresentata come matrice di pixel Risoluzione: numero di pixel orizzontali X verticali Ad ogni pixel è riservato un certo numero di bit: - immagine in bianco e nero: 1 bit (bianco/nero) - immagine in scala di grigi: livello di grigio dal bianco al nero Es: 4 bit à 16 livelli di grigio 8 bit à 256 livelli di grigio - immagine a colori: ogni codifica corrisponde a un colore Es: 8 bit à 256 colori 24 bit à 2 24 = 16M colori (più di 16 milioni) Elementi di Informatica e Programmazione Università di Brescia 14
Codifica dei colori RGB Ogni colore è rappresentato da (un vettore di) 3 componenti: - quantità di: rosso (Red) / verde (Green) / blu (Blu) Con 3 byte per colore: la quantità di ogni colore primario è data da un valore tra 0 e 255 (rappresentato da una sequenza di bit a partire da 00000000 fino a 11111111) R=25, G=72, B=78 R=90, G=85, B=12 R=255, G=255, B=255 R=0, G=0, B=0 Elementi di Informatica e Programmazione Università di Brescia 15
ESERCIZIO Calcolare le dimensioni di memoria di un immagine a colori RGB di risoluzione 800*600. Elementi di Informatica e Programmazione Università di Brescia 16
ESERCIZIO Calcolare le dimensioni di memoria di un immagine a colori RGB di risoluzione 800*600. Soluzione 800* 600 * 3 bytes = 144 * 10000 bytes = = 1,44 * 10 6 bytes 1,4 MB [ 1,37 MB facendo i conti più precisi] Elementi di Informatica e Programmazione Università di Brescia 17
Immagini bitmap (o raster): ingrandimento e sgranatura Elementi di Informatica e Programmazione Università di Brescia 18
Codifica vettoriale di immagini Elementi di Informatica e Programmazione Università di Brescia 19
Note al lucido precedente Immagini rappresentate tramite un insieme di elementi grafici (linee, rettangoli, ellissi, archi e curve) Memorizzazione parametri (es. coordinate numeriche) che specificano forma e posizione: minore memoria (es. un cerchio solo centro e raggio, un segmento le coordinate degli estremi) Necessaria un operazione di rendering (rasterizzazione) che, a partire dalla descrizione matematica, produca l immagine raster Programmi di tipo draw (programmi di grafica vettoriale): es. Corel Draw, CAD, programmi di grafica tridimensionale Vantaggi: Controllo accurato di linee e colori Ingrandimento, riduzione, rotazione senza perdita Elementi di Informatica e Programmazione Università di Brescia 20
Formati di file bitmap BMP: formato standard per MS Windows, 24 bit per pixel,.bmp. TIFF (Tagged Image File Format): alta qualità (32 bit per pixel), 16 milioni di colori (24 bit) + ulteriori proprietà, dimensioni file molto grandi,.tif, adottato da scanner e macchine fotografiche Altri formati compressi (vedi poi): GIF (Graphic Interchange Format), JPEG (Joint Picture Experts Group), JPEG 2000 Formati di file vettoriali DXF, DWG (adottati da Autocad) WMF (Windows Metafile) CDR (Corel Draw), AI (Adobe Illustrator) Elementi di Informatica e Programmazione Università di Brescia 21
Formati misti Formati standardizzati orientati alla produzione di documenti destinati a stampa e visualizzazione: Documenti in formato PS (Postscript) l applicazione GSview (Ghostview) legge il formato postscript, di fatto un linguaggio di programmazione che include comandi grafici Documenti in formato PDF (Portable Document Format, formato di documento portabile) Permettono di rappresentare: - testo - immagini bitmap - immagini vettoriali Elementi di Informatica e Programmazione Università di Brescia 22
CODIFICA DI SEQUENZE VIDEO In teoria, una sequenza video è semplicemente una sequenza di fotogrammi (immagini): - campionamento nel tempo (successione di fotogrammi) - ciascun fotogramma rappresentato come immagine: campionamento nello spazio e quantizzazione In pratica, le dimensioni risulterebbero troppo elevate. Facendo un conto a spanne, se un immagine occupa 1 MB con 25 fotogrammi al secondo: - 25 MB al secondo - 25 x 60 MB al minuto = circa 1,5 GB al minuto! Tecniche di compressione specifiche per le sequenze video Elementi di Informatica e Programmazione Università di Brescia 23