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