suoni, immagini, sequenze video – -...

23
Informazione binaria: – suoni, immagini, sequenze video – Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin

Transcript of suoni, immagini, sequenze video – -...

Page 1: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

Informazione binaria: – suoni, immagini, sequenze video –

Ingegneria Meccanica e dei Materiali

Università degli Studi di Brescia

Prof. Massimiliano Giacomin

Page 2: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

Tipologie di codici

Informatica e Programmazione – Università di Brescia 2 Docente: M. Giacomin

•  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)

Page 3: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

La digitalizzazione •  Voce

•  Suoni

•  Immagini

•  Filmati

0010010100

rappresentazione anche approssimata tramite sequenze di bit

Informazione “continua”

Codifica digitale

Nel calcolatore

Elementi di Informatica e Programmazione – Università di Brescia 3 Docente: M. Giacomin

Page 4: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

Un esempio semplice

Elementi di Informatica e Programmazione – Università di Brescia 4 Docente: M. Giacomin

Sensore di temperatura (1 valore)

0V

5V

L0

L1

L2

L3

00

01

10

11

Quantizzazione

•  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

Page 5: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

•  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

Note ai lucidi precedenti

Elementi di Informatica e Programmazione – Università di Brescia 5 Docente: M. Giacomin

Page 6: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

CODIFICA DI SUONI

Elementi di Informatica e Programmazione – Università di Brescia 6 Docente: M. Giacomin

Codifica digitale: 10 10 00 01 11 11 01

Page 7: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

Elementi di Informatica e Programmazione – Università di Brescia 7 Docente: M. Giacomin

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: FC = 5 Hz significa acquisire 5 campioni al secondo - Periodo di campionamento: intervallo tra campioni successivi TC = 1/FC (nell’esempio: TC=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)

Page 8: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

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)

Nbit = F(durata, fc, bit/campione)

•  Dimensione richieste

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 Docente: M. Giacomin

Page 9: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

Dal mondo reale (analogico) al calcolatore (digitale)

CONVERSIONE ANALOGICO-DIGITALE (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 Docente: M. Giacomin

Page 10: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

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 Docente: M. Giacomin

Page 11: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

Maggie Cheung dal film “Hero” di Zhang Yimou (2002)

Elementi di Informatica e Programmazione – Università di Brescia 11 Docente: M. Giacomin

CODIFICA DI IMMAGINI

Page 12: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

Campionamento

Elementi di Informatica e Programmazione – Università di Brescia 12 Docente: M. Giacomin

Page 13: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

Quantizzazione

Per ogni pixel un certo numero di bit es. 3 byte (colori)

Page 14: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

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 à 224 = 16M colori (più di 16 milioni)

Elementi di Informatica e Programmazione – Università di Brescia 14 Docente: M. Giacomin

Page 15: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

•  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)

Codifica dei colori RGB

R=25, G=72, B=78

R=90, G=85, B=12

R=0, G=0, B=0 R=255, G=255, B=255

Elementi di Informatica e Programmazione – Università di Brescia 15 Docente: M. Giacomin

Page 16: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

ESERCIZIO

Elementi di Informatica e Programmazione – Università di Brescia 16 Docente: M. Giacomin

Calcolare le dimensioni di memoria di un’immagine a colori RGB di risoluzione 800*600.

Page 17: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

ESERCIZIO

Elementi di Informatica e Programmazione – Università di Brescia 17 Docente: M. Giacomin

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 * 106 bytes ≈ 1,4 MB

[ 1,37 MB facendo i conti più precisi]

Page 18: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

Immagini bitmap (o raster): ingrandimento e “sgranatura”

Elementi di Informatica e Programmazione – Università di Brescia 18 Docente: M. Giacomin

Page 19: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

Elementi di Informatica e Programmazione – Università di Brescia 19 Docente: M. Giacomin

Codifica vettoriale di immagini

Page 20: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

•  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 Docente: M. Giacomin

Note al lucido precedente

Page 21: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

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

Elementi di Informatica e Programmazione – Università di Brescia 21 Docente: M. Giacomin

Formati di file vettoriali

•  DXF, DWG (adottati da Autocad)

•  WMF (Windows Metafile)

•  CDR (Corel Draw), AI (Adobe Illustrator)

Page 22: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

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 Docente: M. Giacomin

Page 23: suoni, immagini, sequenze video – - fimec.altervista.orgfimec.altervista.org/Informatica_&_Programmazione/Lucidi_Lezioni_ed... · • Necessaria un’operazione di rendering (rasterizzazione)

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 Docente: M. Giacomin