Corsi di Laurea in Biotecnologie
(primo anno interfacoltà)
Corso integrato di Matematica,
Informatica e Statistica
Informatica di base
Linea 1
Daniela Besozzi
Dipartimento di Informatica e Comunicazione
Università degli Studi di Milano
Sesta lezione:
Rappresentazione
dell’informazione multimediale
(Capitolo 9)
Informatica di base – Linea 1
2
Prima parte
Dove eravamo arrivati?
Informatica di base – Linea 1
3
Durante la scorsa lezione…
• Abbiamo visto cosa vuol dire rappresentare
l’informazione
• Alcuni esempi semplici:
– come si rappresenta in binario un numero in
base decimale (e viceversa)
– come si rappresentano i caratteri, i testi senza
formattazione, i testi con formattazione
• Esistono anche altri tipi di informazione:
immagini, audio, video, ecc.
Informatica di base – Linea 1
4
Seconda Parte
Codifica delle immagini
Informatica di base – Linea 1
5
Immagini digitali
• L’immagine digitale è una rappresentazione
di un’immagine bidimensionale tramite
un’opportuna serie di valori:
– immagine bitmap: i valori formano una matrice di
punti, ogni punto (=pixel) indica le caratteristiche
dell’immagine da rappresentare
• es. intensità del colore
– immagine vettoriale: insieme di punti uniti in linee
e curve, a loro volta unite in forme più complesse
Informatica di base – Linea 1
6
Cos’è un pixel?
• Lo schermo di un computer è suddiviso in una
griglia di punti chiamati pixel (=picture element)
– sul mio portatile: 1280 x 800 pixel
• Il computer visualizza ogni pixel nel colore
dell’immagine da rappresentare:
– maggiore è il numero di pixel in ogni riga e colonna,
maggiore risulta la risoluzione dell’immagine
Informatica di base – Linea 1
7
512x512
punti
256x256
punti
128x128
punti
64x64
punti
Informatica di base – Linea 1
8
Rappresentazione delle immagini
in BN
Informatica di base – Linea 1
9
Rappresentazione delle immagini
in BN
• Dividiamo l’immagine in pixel e numeriamo i
pixel:
1 2 3 4 5 6 7 8
9
• Usiamo il bit 0 per indicare il bianco, e il bit 1
per indicare il nero:
0000 0000 1101 1100 0111 0111 0000 0000
prima riga
seconda riga
terza riga
quarta riga
10
Rappresentazione delle immagini
in scala di grigio
Informatica di base – Linea 1
11
Rappresentazione delle immagini
in scala di grigio
1 2 3 4 5 6 7 8
9 ..
• Non basta più un singolo bit per rappresentare il colore
di ogni pixel!
• Quanti diversi tipi (intensità) di grigio vogliamo usare?
• Ad esempio, se vogliamo rappresentare 256 diversi tipi
di grigio, quanti bit ci servono?
Informatica di base – Linea 1
12
Scala di grigio
• Per rappresentare 256 intensità di grigio, ci
serve 1 byte per ogni pixel
– ricordati: con 1 bit si indicano 2 valori, con 2 bit 4
valori, con 8 bit 28=256 valori
• Il numero di bit necessari per rappresentare
un pixel viene chiamato profondità del colore
Informatica di base – Linea 1
13
Scala di grigio
• Per esempio, potremmo decidere che:
– 0000 0000 corrisponde al nero
– 0000 0001 è appena più chiaro del nero
– 0000 0010 è ancora un po’ più chiaro...
–…
– 1111 1111 corrisponde al bianco
Informatica di base – Linea 1
14
256 livelli
di grigio
64 livelli
di grigio
16 livelli
di grigio
8 livelli
di grigio
Informatica di base – Linea 1
15
E i colori?
• I metodi di codifica del colore sono basati
soprattutto sulla percezione umana:
– l’occhio umano distingue colori compresi tra 0.4 e
0.8 m di lunghezza d’onda
• Nella nostra percezione
del colore, un gran numero
di colori può essere
rappresentato come somma
di tre colori primari
Informatica di base – Linea 1
16
Digitalizzare i colori
• Per rappresentare i colori, si usano le
combinazioni di tre componenti:
RGB (Red Green Blue)
Informatica di base – Linea 1
17
Digitalizzare i colori
• Usando un byte per ogni componente:
– Rosso:
1111 1111 0000 0000 0000 0000
– Verde:
0000 0000 1111 1111 0000 0000
– Blu:
0000 0000 0000 0000 1111 1111
– Nero:
0000 0000 0000 0000 0000 0000
– Bianco:
1111 1111 1111 1111 1111 1111
– Giallo:
1111 1111 1111 1111 0000 0000
 l’intensità di ogni componente è rappresentata da un
numero compreso fra 0 e 255
Informatica di base – Linea 1
18
Quanto spazio occupano le
immagini?
• La dimensione di un’immagine è data dal
numero di pixel di cui l’immagine si compone,
moltiplicato per lo spazio necessario per
memorizzare ogni pixel
1. Es. BN: immagine di 32
pixel, 1 bit per pixel 
32 bit = 4 byte
2. Es. scala di grigi: immagine
di 32 pixel, 1 byte per pixel
 32 byte
Informatica di base – Linea 1
1 2 3 4 5 6 7 8
9
19
Una foto digitale
• In genere una fotografia digitale ha qualche
milione di pixel (assumiamo 5 milioni)
• Per ogni pixel, servono almeno 3 byte
• Dimensione:
5 x 106 x 3 byte = 15 milioni di byte = 15MB
“Mmm, ma le foto che ho sul mio computer
non occupano così tanto spazio!”
Informatica di base – Linea 1
20
La compressione: idea
• In molte immagini, capita spesso di avere pixel
vicini dello stesso colore
• Al posto che scrivere “bianco, bianco,..., bianco,”
si può scrivere “8 volte bianco”
1 2 3 4 5 6 7 8
9 ..
Informatica di base – Linea 1
21
Compressione dell’informazione
• E’ possibile modificare l’informazione in modo
che occupi meno spazio:
– viene cambiata la rappresentazione in modo da
utilizzare un numero inferiore di bit
• Due tipologie di compressione:
– compressione lossless (= “senza perdita”)
– compressione lossy (= “con perdita”)
Informatica di base – Linea 1
22
Compressione lossless
• Dall’informazione compressa si può tornare
all’originale senza perdita di dati:
– adatta per la compressione di programmi,
documenti di testo, ecc.
• che non ammettono neanche piccoli errori di
decompressione
– la tecnica tipo quella dell’esempio “8 volte bianco”
è lossless e prende il nome di “run-length”
Informatica di base – Linea 1
23
Compressione lossy
• Per alcuni formati è accettabile che il file
compresso abbia meno informazioni di quello
originale:
– immagini, video, musica
• Esempio:
– lossless: “1 bianco, 1 grigio chiarissimo, 1 bianco”
– lossy: “3 volte bianco”
• L’informazione viene compressa maggiormente:
– ma non è possibile riottenere l’originale
Informatica di base – Linea 1
24
Il formato JPEG
• I file JPEG (estensione “jpg”) sono immagini
compresse in modo lossy
• Diversi programmi di disegno permettono di
impostare il fattore di compressione:
– maggiore fattore
di compressione
 minore
dimensione
e minore qualità
dell’immagine
25
Prova a casa
• Esistono diversi programmi che effettuano
compressioni lossless
• Prendi un file di testo (possibilmente lungo):
– usa il programma di compressione di Windows (o similare)
per compattarlo (“Invia a”  “Cartella compressa”)
– confronta la dimensione originale con quella del file
compattato
• Prendi un’immagine JPG o un file MP3 e prova a
compattarli:
– non dovresti ottenere nessun miglioramento relativo alle
dimensioni, i file sono già compattati in modo lossy
Informatica di base – Linea 1
26
Le immagini, un’altra prospettiva
• Se dovessimo rappresentare un disegno
geometrico, conviene usare una
rappresentazione di tipo bitmap?
• Non potremmo memorizzare informazioni del
tipo:
– “c’è un triangolo con i vertici in queste posizioni
[...], i cui lati sono spessi [...], dentro è bianco, i lati
sono neri”
Informatica di base – Linea 1
27
Il formato vettoriale
• Diagrammi, planimetrie, disegni tecnici in
generale vengono memorizzati in formato
vettoriale
– Vantaggi:
• se il disegno è semplice, occupano molto meno spazio
• si può ingrandire una parte del disegno, mantenendo la
stessa qualità dell’immagine
– Svantaggio:
• non si adattano a rappresentare immagini generiche,
come le fotografie
Informatica di base – Linea 1
28
Ingrandimento di immagine bitmap
Informatica di base – Linea 1
29
Ingrandimento di immagine vettoriale
Informatica di base – Linea 1
30
Terza Parte
Codifica del suono
Informatica di base – Linea 1
31
Principio generale
• Il primo passaggio nell’operazione di
digitalizzazione consiste nell’individuare come
rendere discreta una fonte che in realtà è
continua
• Le immagini (es. una foto stampata fatta con
una macchina analogica) in realtà non sono
divise in pixel:
– dividiamo in pixel perché i computer non possono
trattare informazione continua
Informatica di base – Linea 1
32
Continuo e discreto, in matematica
• In matematica un insieme totalmente
ordinato è continuo se tra due elementi ne
esiste sempre uno compreso
– R è un insieme continuo
• Un insieme che non è continuo si dice discreto
– N è un insieme discreto
Informatica di base – Linea 1
33
Continuo e discreto in informatica
• In informatica è molto difficile (se non
impossibile) trattare insiemi continui
• Si approssimano gli insiemi continui ad insiemi
discreti  discretizzazione
– come abbiamo fatto con le immagini dividendole
in pixel
Vai a vedere qua:
http://it.wikipedia.org/wiki/Discreto#La_discretizzazione
Informatica di base – Linea 1
34
Come codifichiamo il suono?
periodo
ampiezza
• Oscillazione = variazione di pressione (vibrazione di un oggetto
trasmessa nell’aria)
• Frequenza = numero di oscillazioni al secondo
– maggiore è la frequenza, più acuto (alto) risulta il suono
• Intensità/forza della pressione = ampiezza dell’oscillazione
Informatica di base – Linea 1
35
Digitalizzazione del suono
• Convertitore analogico-digitale (ADC): campiona l’onda a
intervalli regolari e la passa alla memoria sotto forma di
numeri binari
• Convertitore digitale-analogico (DAC): ricrea l’onda elettrica
più semplice che “passa” per tutti i punti rappresentati dal
valore dei campioni Informatica di base – Linea 1
36
Il campionamento
• Si prendono le misure a intervalli regolari
• La frequenza di campionamento corrisponde al
numero di misurazioni al secondo:
– maggiore è la frequenza, più accurata sarà la registrazione
Informatica di base – Linea 1
37
Il campionamento
• Due problemi principali:
– quanto frequente deve essere la campionatura?
• di solito nell’ordine dei 40.000 Hz (Hz=1/sec=sec-1)
– quanti bit vogliamo usare per ogni campione?
• nei CD audio, 2 byte
• Che dimensione occupa un file audio?
– il numero di campioni moltiplicato per il numero
di bit di ogni campione
• Quanti sono i campioni?
– la durata dell’audio (in secondi) per la frequenza
Informatica di base – Linea 1
38
Troppo spazio?
• La dimensione di un file audio digitale:
– durata: 60 secondi
– per ogni secondo, 44.100 campioni da 16 bit
ciascuno (moltiplicato per 2 canali stereo)
 60 (sec) x 44.100 (1/sec) x 16 (bit) x 2 =
84.672.000 bit = 10.584.000 byte = 10,5 MB
Un’ora di musica: 635 MB!
Informatica di base – Linea 1
39
Compressione lossy
• Anche i file audio possono essere compressi
• Formato CD audio:
– circa 600 MB per un’ora di musica
• Formato compresso (tipo MP3, WMA, ecc.):
– circa 60 MB per un’ora di musica
Informatica di base – Linea 1
40
Filmati
• L’idea è la stessa dei cartoni animati:
– immagini vengono visualizzate in rapida sequenza
• ogni immagine prende il nome di frame
– nell’ordine di qualche decina al secondo
• Compressione lossy:
– non si memorizzano i singoli fotogrammi, ma le
differenze rispetto al fotogramma precedente
Informatica di base – Linea 1
41
Quarta parte
Tiriamo le somme
Informatica di base – Linea 1
42
Codifica dell’informazione
• Qualunque informazione può essere
rappresentata attraverso una sequenza di bit:
– a patto che sia discreta (e finita)
– il modo in cui viene rappresentata l’informazione
influenza:
• lo spazio che occupa l’informazione quando viene
memorizzata
• l’efficienza degli algoritmi che trattano l’informazione
Informatica di base – Linea 1
43
Codifica dell’informazione
Informatica di base – Linea 1
44
Compressione
• In molti casi è possibile comprimere
l’informazione
• La compressione permette di rappresentare
l’informazione occupando meno spazio:
– ma spesso si rende necessaria la decompressione
prima di poter trattare l’informazione
– quindi si peggiorano i tempi necessari per
elaborare l’informazione
Informatica di base – Linea 1
45
E se volessimo rappresentare un
tipo diverso di informazione?
• Abbiamo trattato solo alcuni esempi di
informazione
– ce ne sono molti altri!
• Esempio: come possiamo rappresentare una
una sequenza di DNA?
Informatica di base – Linea 1
46
Rappresentazione del DNA:
prima soluzione
• Usiamo un carattere per ogni base azotata:
– A: adenina, G: guanina, C: citosina, T: timina
• Quanto spazio è necessario per rappresentare
in questo modo ogni base di una molecola di
DNA?
– per rappresentare un carattere (ASCII esteso)
serve 1 byte
Informatica di base – Linea 1
47
Rappresentazione del DNA:
facciamoci furbi!
• Quanti valori differenti può assumere ogni
base?
– quattro!
• Quindi, quanti bit sono necessari per
rappresentare ogni base azotata?
– solo 2
• Rappresentiamo ogni base con 2 bit. Esempio:
– Adenina: 00; Guanina: 01; Citosina: 10; Timina: 11
Informatica di base – Linea 1
48
Esercizi
• “Fatevi delle domande e datevi
delle risposte”
1. considerate delle immagini con un certo numero
di pixel e una certa profondità di colore: quanto
spazio occupa quell’immagine se non viene
compressa?
2. considerate un suono di una certa durata,
campionato ad una certa frequenza con
campioni di una certa dimensione: quanto
spazio occupa quel suono se non viene
compresso?
Informatica di base – Linea 1
49
Esercizi
• Considerate un video senza audio con un certo
numero di frame per secondo, in cui ogni
frame abbia un certo numero di pixel e una
certa profondità del colore. Quanto spazio
occupa questo video?
– E se ci fosse anche l’audio?
Informatica di base – Linea 1
50
Scarica

Slide 1 - Università degli Studi di Milano