Informazione binaria - Informatica e Programmazione

Transcript

Informazione binaria - Informatica e Programmazione
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)
Docente: M. Giacomin
Informatica e Programmazione – Università di Brescia
2
La digitalizzazione
rappresentazione anche approssimata
tramite sequenze di bit
•  Voce
•  Suoni
0010010100
•  Immagini
Nel calcolatore
•  Filmati
Informazione
“continua”
Docente: M. Giacomin
Codifica digitale
Elementi di Informatica e Programmazione – Università di Brescia
3
Un esempio semplice
5V
Sensore di temperatura
(1 valore)
0V
L3
11
L2
10
L1
01
L0
00
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
Docente: M. Giacomin
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
Docente: M. Giacomin
Elementi di Informatica e Programmazione – Università di Brescia
5
CODIFICA DI SUONI
Codifica digitale: 10 10 00 01 11 11 01
Docente: M. Giacomin
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: 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)
Docente: M. Giacomin
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
Nbit = F(durata, fc, 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
Docente: M. Giacomin
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
Docente: M. Giacomin
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
Docente: M. Giacomin
Elementi di Informatica e Programmazione – Università di Brescia
10
CODIFICA DI IMMAGINI
Maggie Cheung dal film “Hero” di Zhang Yimou (2002)
Docente: M. Giacomin
Elementi di Informatica e Programmazione – Università di Brescia
11
Campionamento
Docente: M. Giacomin
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 à 224 = 16M colori (più di 16 milioni)
Docente: M. Giacomin
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
Docente: M. Giacomin
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.
Docente: M. Giacomin
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 * 106 bytes ≈ 1,4 MB
[ 1,37 MB facendo i conti più precisi]
Docente: M. Giacomin
Elementi di Informatica e Programmazione – Università di Brescia
17
Immagini bitmap (o raster): ingrandimento e “sgranatura”
Docente: M. Giacomin
Elementi di Informatica e Programmazione – Università di Brescia
18
Codifica vettoriale di immagini
Docente: M. Giacomin
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
Docente: M. Giacomin
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)
Docente: M. Giacomin
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
Docente: M. Giacomin
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
Docente: M. Giacomin
Elementi di Informatica e Programmazione – Università di Brescia
23